jhleem / egov star

임종호 임종호 2022-02-07 @7


            
Index: base3.10/.settings/org.eclipse.wst.common.project.facet.core.xml =================================================================== --- base3.10/.settings/org.eclipse.wst.common.project.facet.core.xml (nonexistent) +++ base3.10/.settings/org.eclipse.wst.common.project.facet.core.xml (revision 7) @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<faceted-project> + <runtime name="Apache Tomcat v8.0"/> + <fixed facet="wst.jsdt.web"/> + <installed facet="jst.jsf" version="2.2"/> + <installed facet="jst.jaxrs" version="2.0"/> + <installed facet="wst.jsdt.web" version="1.0"/> + <installed facet="jst.web" version="3.1"/> + <installed facet="java" version="1.8"/> +</faceted-project> Property changes on: base3.10/.settings/org.eclipse.wst.common.project.facet.core.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/.settings/org.eclipse.wst.jsdt.ui.superType.name =================================================================== --- base3.10/.settings/org.eclipse.wst.jsdt.ui.superType.name (nonexistent) +++ base3.10/.settings/org.eclipse.wst.jsdt.ui.superType.name (revision 7) @@ -0,0 +1 @@ +Window \ No newline at end of file Index: base3.10/.settings/org.eclipse.wst.common.component =================================================================== --- base3.10/.settings/org.eclipse.wst.common.component (nonexistent) +++ base3.10/.settings/org.eclipse.wst.common.component (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0"> + <wb-module deploy-name="egovframework-all-in-one"> + <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/> + <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/> + <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/> + <property name="java-output-path" value="/allinone/build/classes"/> + <property name="context-root" value="/"/> + </wb-module> +</project-modules> Index: base3.10/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml =================================================================== --- base3.10/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml (nonexistent) +++ base3.10/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml (revision 7) @@ -0,0 +1,12 @@ +<root> + <facet id="jst.jsf"> + <node name="libprov"> + <attribute name="provider-id" value="jsf-no-op-library-provider"/> + </node> + </facet> + <facet id="jst.jaxrs"> + <node name="libprov"> + <attribute name="provider-id" value="jaxrs-no-op-library-provider"/> + </node> + </facet> +</root> Property changes on: base3.10/.settings/org.eclipse.wst.common.project.facet.core.prefs.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/.settings/org.eclipse.wst.validation.prefs =================================================================== --- base3.10/.settings/org.eclipse.wst.validation.prefs (nonexistent) +++ base3.10/.settings/org.eclipse.wst.validation.prefs (revision 7) @@ -0,0 +1,2 @@ +disabled=06target +eclipse.preferences.version=1 Property changes on: base3.10/.settings/org.eclipse.wst.validation.prefs ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/.settings/org.eclipse.jdt.core.prefs =================================================================== --- base3.10/.settings/org.eclipse.jdt.core.prefs (nonexistent) +++ base3.10/.settings/org.eclipse.jdt.core.prefs (revision 7) @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 Property changes on: base3.10/.settings/org.eclipse.jdt.core.prefs ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/.settings/org.eclipse.core.resources.prefs =================================================================== --- base3.10/.settings/org.eclipse.core.resources.prefs (nonexistent) +++ base3.10/.settings/org.eclipse.core.resources.prefs (revision 7) @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/test/java=UTF-8 Property changes on: base3.10/.settings/org.eclipse.core.resources.prefs ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/.settings/org.eclipse.wst.jsdt.ui.superType.container =================================================================== --- base3.10/.settings/org.eclipse.wst.jsdt.ui.superType.container (nonexistent) +++ base3.10/.settings/org.eclipse.wst.jsdt.ui.superType.container (revision 7) @@ -0,0 +1 @@ +org.eclipse.wst.jsdt.launching.baseBrowserLibrary \ No newline at end of file Index: base3.10/.settings/.jsdtscope =================================================================== --- base3.10/.settings/.jsdtscope (nonexistent) +++ base3.10/.settings/.jsdtscope (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry excluding="**/bower_components/*|**/node_modules/*|**/*.min.js" kind="src" path="src/main/webapp"/> + <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/> + <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject"> + <attributes> + <attribute name="hide" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/> + <classpathentry kind="output" path=""/> +</classpath> Index: base3.10/src/test/java/allinone/EgovEnvCryptoAlgorithmCreateTest.java =================================================================== --- base3.10/src/test/java/allinone/EgovEnvCryptoAlgorithmCreateTest.java (nonexistent) +++ base3.10/src/test/java/allinone/EgovEnvCryptoAlgorithmCreateTest.java (revision 7) @@ -0,0 +1,33 @@ +package allinone; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import egovframework.rte.fdl.cryptography.EgovPasswordEncoder; + +public class EgovEnvCryptoAlgorithmCreateTest { + private static final Logger LOGGER = LoggerFactory.getLogger(EgovEnvCryptoAlgorithmCreateTest.class); + + // 계정암호화키 키 + public String algorithmKey = "egovframe"; + + // 계정암호화 알고리즘(MD5, SHA-1, SHA-256) + public String algorithm = "SHA-256"; + + // 계정암호화키 블럭사이즈 + public int algorithmBlockSize = 1024; + + public static void main(String[] args) { + EgovEnvCryptoAlgorithmCreateTest cryptoTest = new EgovEnvCryptoAlgorithmCreateTest(); + + EgovPasswordEncoder egovPasswordEncoder = new EgovPasswordEncoder(); + egovPasswordEncoder.setAlgorithm(cryptoTest.algorithm); + + LOGGER.info("------------------------------------------------------"); + LOGGER.info("알고리즘(algorithm) : " + cryptoTest.algorithm); + LOGGER.info("알고리즘 키(algorithmKey) : " + cryptoTest.algorithmKey); + LOGGER.info("알고리즘 키 Hash(algorithmKeyHash) : " + egovPasswordEncoder.encryptPassword(cryptoTest.algorithmKey)); + LOGGER.info("알고리즘 블럭사이즈(algorithmBlockSize) :" + cryptoTest.algorithmBlockSize); + + } +} Property changes on: base3.10/src/test/java/allinone/EgovEnvCryptoAlgorithmCreateTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/test/java/allinone/EgovEnvCryptoUserTest.java =================================================================== --- base3.10/src/test/java/allinone/EgovEnvCryptoUserTest.java (nonexistent) +++ base3.10/src/test/java/allinone/EgovEnvCryptoUserTest.java (revision 7) @@ -0,0 +1,49 @@ +package allinone; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +import egovframework.rte.fdl.cryptography.EgovEnvCryptoService; +import egovframework.rte.fdl.cryptography.impl.EgovEnvCryptoServiceImpl; + +public class EgovEnvCryptoUserTest { + private static final Logger LOGGER = LoggerFactory.getLogger(EgovEnvCryptoUserTest.class); + + public static void main(String[] args) { + + String[] arrCryptoString = { "allinone", // 데이터베이스 접속 계정 설정 + "knit#1234", // 데이터베이스 접속 패드워드 설정 + "jdbc:postgresql://127.0.0.1:15432/allinone", // 데이터베이스 접속 주소 설정 + "org.postgresql.Driver" // 데이터베이스 드라이버 + }; + + LOGGER.info("------------------------------------------------------"); + ApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "classpath:/egovframework/spring/com/test-context-crypto.xml" }); + EgovEnvCryptoService cryptoService = context.getBean(EgovEnvCryptoServiceImpl.class); + LOGGER.info("------------------------------------------------------"); + + String label = ""; + try { + for (int i = 0; i < arrCryptoString.length; i++) { + if (i == 0) + label = "사용자 아이디"; + if (i == 1) + label = "사용자 비밀번호"; + if (i == 2) + label = "접속 주소"; + if (i == 3) + label = "데이터 베이스 드라이버"; + LOGGER.info(label + " 원본(orignal):" + arrCryptoString[i]); + LOGGER.info(label + " 인코딩(encrypted):" + cryptoService.encrypt(arrCryptoString[i])); + LOGGER.info("------------------------------------------------------"); + } + } catch (IllegalArgumentException e) { + LOGGER.error("[" + e.getClass() + "] IllegalArgumentException : " + e.getMessage()); + } catch (Exception e) { + LOGGER.error("[" + e.getClass() + "] Exception : " + e.getMessage()); + } + + } +} Property changes on: base3.10/src/test/java/allinone/EgovEnvCryptoUserTest.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/s3/S3Config.java =================================================================== --- base3.10/src/main/java/froala/editor/s3/S3Config.java (nonexistent) +++ base3.10/src/main/java/froala/editor/s3/S3Config.java (revision 7) @@ -0,0 +1,16 @@ +package froala.editor.s3; + +/** + * Amazon S3 config string. JSON like class + * + * @author florin@froala.com + */ +public class S3Config { + + public String bucket; + public String region; + public String keyStart; + public String acl; + public String accessKey; + public String secretKey; +} Property changes on: base3.10/src/main/java/froala/editor/s3/S3Config.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/utils/FileUtil.java =================================================================== --- base3.10/src/main/java/froala/editor/utils/FileUtil.java (nonexistent) +++ base3.10/src/main/java/froala/editor/utils/FileUtil.java (revision 7) @@ -0,0 +1,271 @@ +package froala.editor.utils; + +import java.awt.Graphics2D; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.imageio.ImageIO; + +import org.apache.pdfbox.rendering.ImageType; +import org.apache.pdfbox.rendering.PDFRenderer; +import org.apache.tika.Tika; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.FileCopyUtils; +import org.springframework.web.multipart.MultipartFile; + +import com.mortennobel.imagescaling.AdvancedResizeOp; +import com.mortennobel.imagescaling.MultiStepRescaleOp; + +import egovframework.com.cmm.util.EgovResourceCloseHelper; +import egovframework.rte.fdl.cmmn.exception.EgovBizException; +import froala.editor.Utils; +import net.coobird.thumbnailator.Thumbnails; + +public class FileUtil { + private static final Logger LOGGER = LoggerFactory.getLogger(FileUtil.class); + + /** + * 첨부파일을 서버에 저장한다. + * + * @param files + * @param uploadDir + * @return + * @throws EgovBizException + */ + public static List<Map<String, Object>> writeUploadFile(List<MultipartFile> files, String uploadDir) + throws EgovBizException { + + File saveFolder = new File(uploadDir); + saveFolder.setExecutable(true); + saveFolder.setReadable(true); + saveFolder.setWritable(true); + if (!saveFolder.exists() || saveFolder.isFile()) { + saveFolder.mkdirs(); + } + + List<Map<String, Object>> resultfiles = new ArrayList<Map<String, Object>>(); + for (MultipartFile file : files) { + if (file.isEmpty()) + continue; + String origin_file_nm = file.getOriginalFilename(); + + String mime = ""; + Tika tika = new Tika(); + try { + mime = tika.detect(file.getInputStream()); + } catch (IOException e) { + LOGGER.error("fail to process FileUtil writeUploadFile : {}", e); + } + + int index = origin_file_nm.lastIndexOf("."); + String file_extsn = file.getOriginalFilename().substring(index + 1); + Long file_size = file.getSize(); + String sys_file_nm; + try { + sys_file_nm = Utils.generateUniqueString() + "." + file_extsn; + } catch (NoSuchAlgorithmException e) { + throw new EgovBizException("NoSuchAlgorithmException!"); + } + FileOutputStream fos = null; + try { + fos = new FileOutputStream(uploadDir + sys_file_nm); + FileCopyUtils.copy(file.getInputStream(), fos); + } catch (IOException e) { + LOGGER.error("fail to process FileUtil writeUploadFile : {}", e); + } finally { + try { + if (fos != null) + fos.close(); + } catch (IOException e) { + LOGGER.error("fail to process FileUtil writeUploadFile : {}", e); + } + } + + // 이미지 파일일 경우 썸네일 저장 + String thumb_nm = null; + if (ImageCheck(mime)) { + thumb_nm = "thumb_" + sys_file_nm; + try { + Thumbnails.of(file.getInputStream()).size(147, 108).toFile(uploadDir + thumb_nm); + } catch (IOException e) { + LOGGER.error("fail to process FileUtil writeUploadFile : {}", e); + thumb_nm = sys_file_nm; + } + } + + Map<String, Object> map = new HashMap<String, Object>(); + map.put("file_extsn", file_extsn); + map.put("origin_file_nm", origin_file_nm); + map.put("sys_file_nm", sys_file_nm); + map.put("uploadDir", uploadDir); + map.put("file_size", file_size); + map.put("mime", mime); + if (thumb_nm != null) { + map.put("thumb_nm", thumb_nm); + } + resultfiles.add(map); + } + return resultfiles; + }; + + public File convert(MultipartFile file) throws EgovBizException { + File convFile = null; + FileOutputStream fos = null; + + try { + convFile = new File(file.getOriginalFilename()); + fos = new FileOutputStream(convFile); + convFile.createNewFile(); + fos.write(file.getBytes()); + } catch (IOException e) { + LOGGER.error("fail to process FileUtil convert : {}", e); + } finally { + EgovResourceCloseHelper.close(fos); + } + + return convFile; + } + + public File multipartToFile(MultipartFile multipart) throws IllegalStateException, IOException { + File convFile = new File(multipart.getOriginalFilename()); + multipart.transferTo(convFile); + return convFile; + } + + public static String deleteFile(String filePath) { + File file = new File(filePath); + + // 이미지 파일일 경우 썸네일 삭제 + String mime = ""; + Tika tika = new Tika(); + try { + mime = tika.detect(file); + } catch (IOException e) { + LOGGER.error("fail to process FileUtil multipartToFile : {}", e); + } + String thumb_nm = null; + if (ImageCheck(mime)) { + String[] arr = filePath.split("/"); + arr[arr.length - 1] = "thumb_" + arr[arr.length - 1]; + thumb_nm = CommonUtil.arrayJoin("/", arr); + File thumb_file = new File(thumb_nm); + thumb_file.delete(); + } + + file.delete(); + + return filePath; + } + + public static boolean ImageCheck(String mime) { + if (mime.equals("image/jpeg") || mime.equals("image/x-ms-bmp") || mime.equals("image/png") + || mime.equals("image/gif")) { + return true; + } else { + return false; + } + } + + /** + * 이미지 변환(회전) + * + * @Author : 임종호 + * @Date : 2020. 6. 15. + * @Method Name : transRotate + * @return : String + */ + public static String transRotate(Integer rotate, BufferedImage oldImage, String path) { + BufferedImage newImage = null; + + int oldType = oldImage.getType() == 0 ? BufferedImage.TYPE_INT_ARGB : oldImage.getType(); + + if (180 == rotate) { + newImage = new BufferedImage(oldImage.getWidth(), oldImage.getHeight(), oldType); + } else { + newImage = new BufferedImage(oldImage.getHeight(), oldImage.getWidth(), oldType); + } + + Graphics2D graphics = (Graphics2D) newImage.getGraphics(); + + graphics.rotate(Math.toRadians(rotate), newImage.getWidth() / 2, newImage.getHeight() / 2); + + if (180 != rotate) { + graphics.translate((newImage.getWidth() - oldImage.getWidth()) / 2, + (newImage.getHeight() - oldImage.getHeight()) / 2); // 90, 270도일때만 사용 + } + + graphics.drawImage(oldImage, 0, 0, oldImage.getWidth(), oldImage.getHeight(), null); + + FileOutputStream fos = null; + + try { + fos = new FileOutputStream(new java.io.File(path + "_" + rotate)); + ImageIO.write(newImage, "png", fos); + } catch (IOException e) { + LOGGER.error("fail to process FileUtil transRotate : {}", e); + } finally { + if (fos != null) + try { + fos.close(); + } catch (IOException e) { + LOGGER.error(e.getCause().getMessage()); + } + } + + return path + "_" + rotate; + } + + /** + * 이미지 리사이즈 + * + * @Author : 임종호 + * @Date : 2020. 9. 17. + * @Method Name : ImageResize + * @return : BufferedImage + */ + public static BufferedImage ImageResize(BufferedImage image, float stdrSize) { + int width = image.getWidth(); + int height = image.getHeight(); + float rate = (float) (Math.round(width / stdrSize * 1000) / 1000.0); + // 최소, 최대 비율 지정 + if (rate < 1) { + rate = 1.0f; + } else if (rate > 4) { + rate = 4.0f; + } + // 이미지 리사이즈 + MultiStepRescaleOp rescale = new MultiStepRescaleOp(Math.round(width / rate), Math.round(height / rate)); + rescale.setUnsharpenMask(AdvancedResizeOp.UnsharpenMask.Soft); + return rescale.filter(image, null); + } + + /** + * PDF 파일을 읽어 이미지를 생성한다. + * + * @Author : 임종호 + * @Date : 2020. 9. 18. + * @Method Name : imageWrite + * @return : void + */ + public static void pdfImageWrite(PDFRenderer pdfRenderer, int i, String imgFileName) { + try { + BufferedImage image; + image = pdfRenderer.renderImageWithDPI(i, 300, ImageType.RGB); + ImageIO.write(FileUtil.ImageResize(image, 5000.0f), "png", new java.io.File(imgFileName)); + } catch (IOException e) { + LOGGER.error("fail to process FileUtil pdfImageWrite : {}", e); + java.io.File file = new java.io.File(imgFileName); + if (file.exists()) { + file.delete(); + } + } + } +} Property changes on: base3.10/src/main/java/froala/editor/utils/FileUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/utils/CommonUtil.java =================================================================== --- base3.10/src/main/java/froala/editor/utils/CommonUtil.java (nonexistent) +++ base3.10/src/main/java/froala/editor/utils/CommonUtil.java (revision 7) @@ -0,0 +1,429 @@ +package froala.editor.utils; + +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.Key; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.Date; +import java.util.Enumeration; +import java.util.Map; + +import javax.crypto.BadPaddingException; +import javax.crypto.Cipher; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.NoSuchPaddingException; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.codec.binary.Base64; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import egovframework.com.cmm.service.EgovProperties; +import froala.editor.file.FileOptions; +import froala.editor.image.ImageOptions; + +public class CommonUtil { + private static Logger logger = LoggerFactory.getLogger(CommonUtil.class); + + /** + * 배열을 문자열로 바꿈 + * + * @param glue 구분자 + * @param array 배열 + * @return + */ + public static String arrayJoin(String glue, String array[]) { + String result = ""; + for (int i = 0; i < array.length; i++) { + result += array[i]; + if (i < array.length - 1) + result += glue; + } + return result; + } + + /** + * 파라메터 확인용 + * + * @param request + */ + public static void viewRequestParams(HttpServletRequest request) { + Enumeration<String> e = request.getParameterNames(); + String name = ""; + while (e.hasMoreElements()) { + name = e.nextElement(); + logger.info("{} : {}", name, request.getParameter(name)); + } + } + + /** + * 시간유틸 + * + * @author simplys + * + */ + private static class TIME_MAXIMUM { + public static final int SEC = 60; + public static final int MIN = 60; + public static final int HOUR = 24; + public static final int DAY = 30; + public static final int MONTH = 12; + } + + public static String formatTimeString(Date tempDate) { + if (tempDate != null) { + long curTime = System.currentTimeMillis(); + long regTime = tempDate.getTime(); + long diffTime = (curTime - regTime) / 1000; + + String msg = null; + if (diffTime < TIME_MAXIMUM.SEC) { + // sec + msg = "방금 전"; + } else if ((diffTime /= TIME_MAXIMUM.SEC) < TIME_MAXIMUM.MIN) { + // min + msg = diffTime + "분 전"; + } else if ((diffTime /= TIME_MAXIMUM.MIN) < TIME_MAXIMUM.HOUR) { + // hour + msg = (diffTime) + "시간 전"; + } else if ((diffTime /= TIME_MAXIMUM.HOUR) < TIME_MAXIMUM.DAY) { + // day + msg = (diffTime) + "일 전"; + } else if ((diffTime /= TIME_MAXIMUM.DAY) < TIME_MAXIMUM.MONTH) { + // day + msg = (diffTime) + "달 전"; + } else { + msg = (diffTime) + "년 전"; + } + + return msg; + } else { + return null; + } + } + + private static String makeLink(String url, Integer p, Map<String, Object> param) { + StringBuffer ret = new StringBuffer(); + if (url.startsWith("/")) { + ret.append(url + "?page=" + p); + if (param != null) + for (String key : param.keySet()) + ret.append("&" + key + "=" + (param.get(key) == null ? "" : param.get(key))); + } else { + ret.append(String.format("javascript:%s(%d", url, p)); + if (param != null) + for (String key : param.keySet()) + if (param.get(key) instanceof Integer) + ret.append(", " + param.get(key)); + else + ret.append(", '" + param.get(key) + "'"); + ret.append(")"); + } + return ret.toString(); + } + + /** + * 페이징 생성 + * + * @param page 페이지 번호 + * @param limit 한 페이지에 보여줄 목록 수 + * @param pagelimit 한 줄에 보여줄 페이지 갯수 + * @param allRowCount 전체 검색 레코드 갯수 + * @param url 한 페이지에 걸릴 url 링크 + * @param param URL 뒤에 queryString + * @return + */ + public static String pagePopupList(Integer page, Integer limit, Integer pagelimit, Integer allRowCount, String url, + Map<String, Object> param) { + StringBuffer sb = new StringBuffer(); + Integer lastpage = (int) Math.ceil((allRowCount * 1.0) / (limit * 1.0)); + + sb.append(" <div class='aC'>"); + sb.append(" <div class='pagination'>"); + sb.append(" <ul>"); + if ((page - 1) / pagelimit * pagelimit + 1 > pagelimit) { + // sb.append(" <li><a href='"+makeLink(url, 1, param)+"'>시작</a></li>"); + } else { + // sb.append(" <li><a href='#'>시작</a></li>"); + } + + if ((page - 1) / pagelimit * pagelimit + 1 > pagelimit) { + sb.append(" <li><a href='" + makeLink(url, ((page - 1) / pagelimit * pagelimit), param) + + "'>이전</a></li>"); + } else { + sb.append(" <li><a href='#'>이전</a></li>"); + } + + if (lastpage == 0) { + sb.append(" <li class='active'><span>1</span></li> \n"); + } + + for (int i = (page - 1) / pagelimit * pagelimit + 1, j = 0; i <= lastpage && j < pagelimit; i++, j++) { + if (i == page) { + sb.append(" <li class='active'><span>" + i + "</span></li> \n"); + } else { + sb.append(" <li><a href=\"").append(makeLink(url, i, param)).append("\">").append(i) + .append("</a></li> \n"); + } + } + + if ((int) ((page - 1) / pagelimit) < (int) (allRowCount / limit) / pagelimit) { + sb.append(" <li class='next'><a href='" + + makeLink(url, (((page - 1) / pagelimit + 1) * pagelimit + 1), param) + "'>다음</a></li> \n"); + } else { + sb.append(" <li class='next'><a href='#'>다음</a></li> \n"); + } + + if (page < (int) Math.ceil((lastpage * 1.0) / (pagelimit * 1.0)) * pagelimit - (pagelimit - 1)) { + // sb.append(" <li><a href='"+makeLink(url, lastpage, param)+"'>끝</a></li> \n"); + } else { + // sb.append(" <li><a href='#'>끝</a></li> \n"); + } + + sb.append(" </ul> \n").append(" </div> \n").append(" </div> \n"); + + return sb.toString(); + } + + /** + * 페이징 생성 + * + * @param page 페이지 번호 + * @param limit 한 페이지에 보여줄 목록 수 + * @param pagelimit 한 줄에 보여줄 페이지 갯수 + * @param allRowCount 전체 검색 레코드 갯수 + * @param url 한 페이지에 걸릴 url 링크 + * @param param URL 뒤에 queryString + * @return + */ + public static String pageList(Integer page, Integer limit, Integer pagelimit, Integer allRowCount, String url, + Map<String, Object> param) { + StringBuffer sb = new StringBuffer(); + Integer lastpage = (int) Math.ceil((allRowCount * 1.0) / (limit * 1.0)); + + sb.append(" <div class='pagination pagination-large pagination-centered'>"); + sb.append(" <ul>"); + if ((page - 1) / pagelimit * pagelimit + 1 > pagelimit) { + // sb.append(" <li><a href='"+makeLink(url, 1, param)+"'>시작</a></li>"); + } else { + // sb.append(" <li><a href='#'>시작</a></li>"); + } + + if ((page - 1) / pagelimit * pagelimit + 1 > pagelimit) { + sb.append(" <li><a href='" + makeLink(url, ((page - 1) / pagelimit * pagelimit), param) + + "'>이전</a></li>"); + } else { + sb.append(" <li><a href='#'>이전</a></li>"); + } + + if (lastpage == 0) { + sb.append(" <li class='active'><a href='#'>1</a></li> \n"); + } + + for (int i = (page - 1) / pagelimit * pagelimit + 1, j = 0; i <= lastpage && j < pagelimit; i++, j++) { + if (i == page) { + sb.append(" <li class='active'><a href='#'>" + i + "</a></li> \n"); + } else { + sb.append(" <li><a href=\"").append(makeLink(url, i, param)).append("\">").append(i) + .append("</a></li> \n"); + } + } + + if ((int) ((page - 1) / pagelimit) < (int) (allRowCount / limit) / pagelimit) { + sb.append(" <li class='next'><a href='" + + makeLink(url, (((page - 1) / pagelimit + 1) * pagelimit + 1), param) + "'>다음</a></li> \n"); + } else { + sb.append(" <li class='next'><a href='#'>다음</a></li> \n"); + } + + if (page < (int) Math.ceil((lastpage * 1.0) / (pagelimit * 1.0)) * pagelimit - (pagelimit - 1)) { + // sb.append(" <li><a href='"+makeLink(url, lastpage, param)+"'>끝</a></li> \n"); + } else { + // sb.append(" <li><a href='#'>끝</a></li> \n"); + } + sb.append(" </ul> \n").append(" </div> \n"); + + return sb.toString(); + } + + public static String getURL(HttpServletRequest request) { + Enumeration<?> param = request.getParameterNames(); + + StringBuffer strParam = new StringBuffer(); + StringBuffer strURL = new StringBuffer(); + + if (param.hasMoreElements()) { + strParam.append("?"); + } + + while (param.hasMoreElements()) { + String name = (String) param.nextElement(); + String value = request.getParameter(name); + + strParam.append(name + "=" + value); + + if (param.hasMoreElements()) { + strParam.append("&"); + } + } + + strURL.append(request.getRequestURI()); + strURL.append(strParam); + + return strURL.toString(); + } + + public static Boolean setTimeout(int delayTime) { + long now = System.currentTimeMillis(); + long currentTime = 0; + + while (currentTime - now < delayTime) { + currentTime = System.currentTimeMillis(); + } + return true; + } + + public static String arrayToString(String[] str, String argDelimiter) { + String rString = ""; + if (str == null) + return ""; + int cntArray = str.length; + for (int i = 0; i < cntArray; i++) { + if (i > 0 && i < cntArray) + rString += argDelimiter; + rString += str[i]; + } + return rString; + } + + public static String hashSHA256(String str) { + String SHA = ""; + try { + MessageDigest sh = MessageDigest.getInstance("SHA-256"); + sh.update(str.getBytes()); + byte byteData[] = sh.digest(); + StringBuffer sb = new StringBuffer(); + for (int i = 0; i < byteData.length; i++) { + sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1)); + } + SHA = sb.toString(); + } catch (NoSuchAlgorithmException e) { + logger.error("fail to process hashSHA256 {}", e); + SHA = null; + } + return SHA; + } + + /** + * 에디터 내용 변경(contextpath) + * + * @Author : 임종호 + * @Date : 2021. 11. 3. + * @Method Name : convertEditorCn + * @return : String + */ + public static String convertEditorCn(String cn, HttpServletRequest request) { + String contextPath = request.getContextPath(); + String convertCn = cn + .replace("src=\"" + ImageOptions.downloadDefault, "src=\"" + contextPath + ImageOptions.downloadDefault) + .replace("src=\"/vtsp" + ImageOptions.downloadDefault, + "src=\"" + contextPath + ImageOptions.downloadDefault) + .replace("href=\"" + FileOptions.downloadDefault, "href=\"" + contextPath + FileOptions.downloadDefault) + .replace("href=\"/vtsp" + FileOptions.downloadDefault, + "href=\"" + contextPath + FileOptions.downloadDefault); + return convertCn; + } + + /** + * 모바일 체크 + * + * @Author : 임종호 + * @Date : 2021. 11. 8. + * @Method Name : isMobile + * @return : boolean + */ + public static boolean isMobile(HttpServletRequest request) { + String userAgent = request.getHeader("user-agent"); + boolean mobile1 = userAgent.matches( + ".*(iPhone|iPod|Android|Windows CE|BlackBerry|Symbian|Windows Phone|webOS|Opera Mini|Opera Mobi|POLARIS|IEMobile|lgtelecom|nokia|SonyEricsson).*"); + boolean mobile2 = userAgent.matches(".*(LG|SAMSUNG|Samsung).*"); + if (mobile1 || mobile2) { + return true; + } else { + return false; + } + } + + /** + * AES256 암호화 - URL 인코딩 + * @Author : 임종호 + * @Date : 2021. 11. 16. + * @Method Name : encryptAES256 + * @return : String + */ + public static String encryptAES256(String str) { + if (StringUtils.isBlank(str)) { + return ""; + } + String enStr = ""; + + String keyStr = EgovProperties.getProperty("ctm.egovfilescrty.key").trim(); + String ivStr = EgovProperties.getProperty("ctm.egovfilescrty.iv").trim(); + + Key key = new SecretKeySpec(keyStr.getBytes(), "AES"); + IvParameterSpec iv = new IvParameterSpec(ivStr.getBytes()); + Cipher c; + try { + c = Cipher.getInstance("AES/CBC/PKCS5Padding"); + c.init(Cipher.ENCRYPT_MODE, key, iv); + byte[] encrypted; + encrypted = c.doFinal(str.getBytes("UTF-8")); + enStr = new String(Base64.encodeBase64(encrypted)); + enStr = URLEncoder.encode(enStr, "UTF-8"); + } catch (NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException | UnsupportedEncodingException + | InvalidAlgorithmParameterException | IllegalBlockSizeException | BadPaddingException e) { + logger.error(e.getCause().getMessage()); + return ""; + } + return enStr; + } + + /** + * AES256 복호화 - URL 인코딩 + * @Author : 임종호 + * @Date : 2021. 11. 16. + * @Method Name : decryptAES256 + * @return : String + */ + public static String decryptAES256(String str) { + if (StringUtils.isBlank(str)) { + return ""; + } + String deStr = ""; + String keyStr = EgovProperties.getProperty("ctm.egovfilescrty.key").trim(); + String ivStr = EgovProperties.getProperty("ctm.egovfilescrty.iv").trim(); + + Key key = new SecretKeySpec(keyStr.getBytes(), "AES"); + IvParameterSpec iv = new IvParameterSpec(ivStr.getBytes()); + Cipher c; + + try { + c = Cipher.getInstance("AES/CBC/PKCS5Padding"); + c.init(Cipher.DECRYPT_MODE, key, iv); + byte[] decrypted = Base64.decodeBase64(str); + deStr = new String(c.doFinal(decrypted), "UTF-8"); + } catch (NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException | UnsupportedEncodingException + | InvalidAlgorithmParameterException | IllegalBlockSizeException | BadPaddingException e) { + logger.error(e.getCause().getMessage()); + return ""; + } + + return deStr; + } +} Property changes on: base3.10/src/main/java/froala/editor/utils/CommonUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/utils/view/ImageView.java =================================================================== --- base3.10/src/main/java/froala/editor/utils/view/ImageView.java (nonexistent) +++ base3.10/src/main/java/froala/editor/utils/view/ImageView.java (revision 7) @@ -0,0 +1,107 @@ +package froala.editor.utils.view; + +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.view.AbstractView; + +import egovframework.com.cmm.util.EgovResourceCloseHelper; + +@Component +public class ImageView extends AbstractView{ + private static final Logger LOGGER = LoggerFactory.getLogger(ImageView.class); + + @Override + protected void renderMergedOutputModel(Map<String, Object> model, + HttpServletRequest request, HttpServletResponse response) throws IOException { + String path = (String) model.get("path"); + + Path source = Paths.get(path); + + // 응답의 타입이 이미지임을 알려줍니다. + response.setContentType(Files.probeContentType(source)); + + // 한글 파일명일 경우를 위해 파일명 인코딩 + String filename = (String) model.get("origin_file_nm"); + if (StringUtils.isBlank(filename)) { + filename = source.getFileName().toString(); + } +// String filename = source.getFileName().toString(); + String userAgent = request.getHeader("User-Agent"); + String conVstr = null; + + if (userAgent.contains("MSIE")) { + conVstr = URLEncoder.encode(filename,"UTF-8"); + } else if (userAgent.contains("Trident")) { + conVstr = URLEncoder.encode(filename,"UTF-8"); + } else if(userAgent.contains("Chrome")) { + conVstr = new String(filename.getBytes("UTF-8"), "ISO-8859-1"); + } else if(userAgent.contains("Opera")) { + conVstr = new String(filename.getBytes("UTF-8"), "ISO-8859-1"); + } else if (userAgent.contains("Mozilla")){ + conVstr = new String(filename.getBytes("UTF-8"), "ISO-8859-1"); + } else { + conVstr = new String(filename.getBytes("UTF-8"), "ISO-8859-1"); + } + + // 웹브라우저 상에서 이미지 저장시 파일명을 지정합니다. + response.setHeader("Content-Disposition", "attachment; filename=" + conVstr + ";"); + + // 파일로부터 byte를 읽음 + byte[] bytes = readFile(path); + if (bytes != null) { + write(response, bytes); + } + } + + /** + * 파일로부터 byte 배열 읽어오기 + */ + private byte[] readFile(String path) throws IOException { + BufferedInputStream bis = null; + byte[] bytes = null; + FileInputStream fis = null; + try { + File file = new File(path); + if (Boolean.FALSE.equals(file.exists())) { + return null; + } + fis = new FileInputStream(path); + bis = new BufferedInputStream(fis); + int length = bis.available(); + bytes = new byte[length]; + bis.read(bytes); + } + catch(IOException e){ + LOGGER.error("fail to process imageView readFile {}", e); + } finally { + EgovResourceCloseHelper.close(fis, bis); + } + + return bytes; + } + + /** + * 응답 OutputStream에 파일 내용 쓰기 + */ + private void write(HttpServletResponse response, byte[] bytes) throws IOException { + OutputStream output = response.getOutputStream(); + output.write(bytes); + output.flush(); + } +} Property changes on: base3.10/src/main/java/froala/editor/utils/view/ImageView.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/utils/view/VideoView.java =================================================================== --- base3.10/src/main/java/froala/editor/utils/view/VideoView.java (nonexistent) +++ base3.10/src/main/java/froala/editor/utils/view/VideoView.java (revision 7) @@ -0,0 +1,52 @@ +package froala.editor.utils.view; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.OutputStream; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.view.AbstractView; + +import egovframework.rte.fdl.cmmn.exception.EgovBizException; +import froala.editor.video.StreamingUtil; + +/** + * 동영상 View + * @since 2021. 6. 18. + * @author 임종호 + * <PRE> + * ----------------------- + * 개정이력 + * 2021. 6. 18. 임종호 : 최초작성 + * </PRE> + */ +@Component +public class VideoView extends AbstractView { + private final static Logger LOGGER = LoggerFactory.getLogger(VideoView.class); + + @Override + protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, + HttpServletResponse response) throws EgovBizException, IOException { + String path = (String) request.getAttribute("path"); + path = path.replaceAll("\\.", "").replaceAll("/", "").replaceAll("\\\\", ""); + if (StringUtils.isEmpty(path)) { + throw new EgovBizException("파일 경로가 올바르지 않습니다."); + } + + File file = new File(path); + if (!file.exists()) { + throw new FileNotFoundException(); + } + StreamingUtil su = new StreamingUtil(); + OutputStream out = response.getOutputStream(); + su.streaming(file, request, response, out); + } +} Property changes on: base3.10/src/main/java/froala/editor/utils/view/VideoView.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/utils/view/DownloadView.java =================================================================== --- base3.10/src/main/java/froala/editor/utils/view/DownloadView.java (nonexistent) +++ base3.10/src/main/java/froala/editor/utils/view/DownloadView.java (revision 7) @@ -0,0 +1,83 @@ +package froala.editor.utils.view; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.tika.Tika; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; +import org.springframework.util.FileCopyUtils; +import org.springframework.web.servlet.view.AbstractView; + +import egovframework.com.cmm.util.EgovResourceCloseHelper; +import egovframework.rte.fdl.cmmn.exception.EgovBizException; + +@Component +public class DownloadView extends AbstractView { + private final static Logger LOGGER = LoggerFactory.getLogger(DownloadView.class); + + @Override + protected void renderMergedOutputModel(Map<String, Object> model, + HttpServletRequest request, HttpServletResponse response) throws EgovBizException, IOException { + String path = (String) model.get("path"); + String mime = (String) model.get("mime"); + + File file = new File(path); + + response.setContentLength((int)file.length()); + + String filename = (String) model.get("origin_file_nm"); + String userAgent = request.getHeader("User-Agent"); + String conVstr = null; + + if (userAgent.contains("MSIE")) { + conVstr = URLEncoder.encode(filename,"UTF-8"); + } else if (userAgent.contains("Trident")) { + conVstr = URLEncoder.encode(filename,"UTF-8"); + } else if(userAgent.contains("Chrome")) { + conVstr = new String(filename.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1); + } else if(userAgent.contains("Opera")) { + conVstr = new String(filename.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1); + } else if (userAgent.contains("Mozilla")){ + conVstr = new String(filename.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1); + } else { + conVstr = new String(filename.getBytes(StandardCharsets.UTF_8), StandardCharsets.ISO_8859_1); + } + + // PDF 파일일 경우 바로 열기 + Tika tika = new Tika(); + mime = mime == null ? tika.detect(file) : mime; + switch (mime) { + // pdf로 다운로드 받도록 하기 위해 주석 +// case "application/pdf": +// response.setContentType("application/pdf"); +// break; + + default: + response.setHeader("Content-Disposition", "attachment; fileName=\"" + conVstr + "\";"); + response.setContentType("application/octet-stream;charset=UTF-8"); + break; + } + response.setHeader("Content-Transfer-Encoding", "binary"); + + OutputStream out = response.getOutputStream(); + FileInputStream fis = null; + + try{ + fis = new FileInputStream(file); + FileCopyUtils.copy(fis, out); + } finally { + EgovResourceCloseHelper.close(fis); + } + out.flush(); + } +} Property changes on: base3.10/src/main/java/froala/editor/utils/view/DownloadView.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/File.java =================================================================== --- base3.10/src/main/java/froala/editor/File.java (nonexistent) +++ base3.10/src/main/java/froala/editor/File.java (revision 7) @@ -0,0 +1,570 @@ +package froala.editor; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; + +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.compress.archivers.zip.ZipArchiveEntry; +import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream; +import org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream; +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.FilenameUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; + +import egovframework.com.cmm.util.EgovResourceCloseHelper; +import egovframework.rte.fdl.cmmn.exception.EgovBizException; +import froala.editor.file.FileOptions; +import froala.editor.image.ImageOptions; +import net.coobird.thumbnailator.Thumbnails; +import net.coobird.thumbnailator.Thumbnails.Builder; + +/** + * File functionality. + * + * @author florin@froala.com + */ +@Component +public final class File { + private static final Logger LOGGER = LoggerFactory.getLogger(File.class); + /** + * Content type string used in http multipart. + */ + public static final String multipartContentType = "multipart/form-data"; + + /** + * Private constructor. + */ + private File() { + + } + + /** + * File default options. + */ + public static final FileOptions defaultOptions = new FileOptions(); + + /** + * Uploads a file to disk. + * + * @param req + * Servlet HTTP request. + * @param fileRoute + * Route Server route where the file will be uploaded. This route + * must be public to be accesed by the editor. + * @return Object with link. + * @throws EgovBizException + */ + public static EditorFileVO upload(HttpServletRequest req, String fileRoute) throws EgovBizException { + return upload(req, fileRoute, defaultOptions); + } + + /** + * Uploads a file to disk. + * + * @param req + * Servlet HTTP request. + * @param fileRoute + * Server route where the file will be uploaded. This route must + * be public to be accesed by the editor. + * @param options + * File options. Defaults to {@link #defaultOptions} which has + * </br> + * Fieldname: "file" </br> + * Validation: + * <ul> + * <li>Extensions: "txt", "pdf", "doc"</li> + * <li>Mime Types: "text/plain", "application/msword", + * "application/x-pdf", "application/pdf"</li> + * </ul> + * @return Object with link. + * @throws EgovBizException + */ + public static EditorFileVO upload(HttpServletRequest req, String fileRoute, FileOptions options) throws EgovBizException { + + if (options == null) { + options = defaultOptions; + } + + if (req.getContentType() == null || req.getContentType().toLowerCase().indexOf(multipartContentType) == -1) { + throw new EgovBizException("Invalid contentType. It must be " + multipartContentType); + } + + MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest)req; + MultipartFile file = multipartHttpServletRequest.getFile(options.getFieldname()); + + // servlet 3.0 + //Part filePart = req.getPart(options.getFieldname()); + + if (file == null) { + throw new EgovBizException("Fieldname is not correct. It must be: " + options.getFieldname()); + } + + // Generate random name. + String file_extsn = FilenameUtils.getExtension(Utils.getFileName(file)).toLowerCase(); + String extension = file_extsn; + extension = (extension != null && extension != "") ? "." + extension : extension; + String name; + try { + name = Utils.generateUniqueString() + extension; + } catch (NoSuchAlgorithmException e) { + // return null; + throw new EgovBizException("NoSuchAlgorithmException!"); + } + + String fullPath = fileRoute + name; + + InputStream fileContent; + try { + fileContent = file.getInputStream(); + } catch (IOException e) { + throw new EgovBizException("IOException!"); + } + String absoluteServerPath = getAbsoluteServerPath(req, fullPath); +// String absoluteServerPath = linkName; + java.io.File targetFile = null; + if (absoluteServerPath != null && !absoluteServerPath.equals("")) { + targetFile = new java.io.File(absoluteServerPath); + } else { + return null; + } + + // Resize image. + if (options instanceof ImageOptions && ((ImageOptions) options).getResizeOptions() != null) { + + ImageOptions.ResizeOptions imageOptions = ((ImageOptions) options).getResizeOptions(); + + Builder<? extends InputStream> thumbnailsBuilder = Thumbnails.of(fileContent); + + // Check aspect ratio. + int newWidth = imageOptions.getNewWidth(); + int newHeight = imageOptions.getNewHeight(); + if (imageOptions.getKeepAspectRatio()) { + thumbnailsBuilder = thumbnailsBuilder.size(newWidth, newHeight); + } else { + thumbnailsBuilder = thumbnailsBuilder.forceSize(newWidth, newHeight); + } + + try { + thumbnailsBuilder.toFile(targetFile); + } catch (IOException e) { + LOGGER.error(e.getCause().getMessage()); + } + } else { + try { + FileUtils.copyInputStreamToFile(fileContent, targetFile); + } catch (IOException e) { + LOGGER.error(e.getCause().getMessage()); + } + } + + if (options.getValidation() != null + && !options.getValidation().check(absoluteServerPath, file.getContentType())) { + + delete(req, fullPath); + throw new EgovBizException("File does not meet the validation."); + } + + // 정보 셋팅 + EditorFileVO fileVO = new EditorFileVO(); + fileVO.setLink(options.getDownloadUrl()); + fileVO.setFullPath(fullPath); + fileVO.setFileExtsn(file_extsn); + fileVO.setOriginFileNm(file.getOriginalFilename()); + fileVO.setSysFileNm(name); + fileVO.setUploadDir(fileRoute); + fileVO.setFileSize(file.getSize()); + fileVO.setMime(file.getContentType()); + return fileVO; + } + + /** + * Get absolute server path. + * + * @param req + * Used to get the servlet context. + * @param relativePath + * Relative path. + * @return Absolute path. + */ + public static String getAbsoluteServerPath(HttpServletRequest req, String relativePath) { +// return req.getServletContext().getRealPath(relativePath); + return relativePath; + } + + /** + * Delete a file from disk. + * + * @param req + * Used to get the servlet context. + * @param src + * Server file path. + */ + public static void delete(HttpServletRequest req, String src) { + String filePath = getAbsoluteServerPath(req, src); + + java.io.File file = new java.io.File(filePath); + if (file.exists()) { + file.delete(); + } + } + + /** + * 압축파일(zip) 파일 업로드 - 압축해제 후 저장 + * @param req + * @param fileRoute + * @param options + * @return + * @throws EgovBizException + * @throws NoSuchAlgorithmException + */ + public static List<EditorFileVO> zipUpload(HttpServletRequest req, String fileRoute, FileOptions options) + throws EgovBizException, NoSuchAlgorithmException { + + if (options == null) { + options = defaultOptions; + } + + if (req.getContentType() == null || req.getContentType().toLowerCase().indexOf(multipartContentType) == -1) { + throw new EgovBizException("Invalid contentType. It must be " + multipartContentType); + } + + MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) req; + MultipartFile file = multipartHttpServletRequest.getFile(options.getFieldname()); + + if (file == null) { + throw new EgovBizException("Fieldname is not correct. It must be: " + options.getFieldname()); + } + + List<EditorFileVO> fileMap = new ArrayList<>(); + + ZipArchiveInputStream zin = null; + ZipArchiveEntry entry = null; + try { + zin = new ZipArchiveInputStream(file.getInputStream(), "EUC-KR", false); + + java.io.File dir = new java.io.File(fileRoute); + dir.setExecutable(true); + dir.setReadable(true); + dir.setWritable(true); + if (!dir.exists()) { + + boolean result = false; + try{ + dir.mkdirs(); + result = true; + } + catch(SecurityException se){ + LOGGER.error("fail to process create Dir {}", se); + } + + if(result) { + LOGGER.info("Dir created"); + } + } + + try { + while ((entry = zin.getNextZipEntry()) != null) { + // Generate random name. + String file_extsn = FilenameUtils.getExtension(entry.getName()); + String extension = file_extsn; + extension = (extension != null && extension != "") ? "." + extension : extension; + String sysFileNm = Utils.generateUniqueString() + extension; + String fullPath = fileRoute + sysFileNm; + Path source = Paths.get(fullPath); + OutputStream zout = null; + + try { + zout = new FileOutputStream(source.toFile()); + + //버퍼 + byte[] buf = new byte[1024]; + int len; + while ((len = zin.read(buf)) > 0) { + zout.write(buf, 0, len); + } + + // 정보 셋팅 + EditorFileVO fileVO = new EditorFileVO(); + fileVO.setLink(options.getDownloadUrl()); + fileVO.setFullPath(fullPath); + fileVO.setFileExtsn(file_extsn); + fileVO.setOriginFileNm(entry.getName()); + fileVO.setSysFileNm(sysFileNm); + fileVO.setUploadDir(fileRoute); + fileVO.setFileSize(entry.getSize()); + fileVO.setMime(Files.probeContentType(source)); + + fileMap.add(fileVO); + } catch (IOException e) { + LOGGER.error("fail to process zipUpload File {}", e); + } finally { + EgovResourceCloseHelper.close(zout); + } + } + } catch (IOException e) { + LOGGER.error("fail to process zipUpload File {}", e); + } finally { + EgovResourceCloseHelper.close(zin); + } + } catch (IOException e) { + LOGGER.error("fail to process zipUpload File {}", e); + } + + return fileMap; + } + + /** + * 디렉토리 하위파일 및 디렉토리 삭제 + * @param path + */ + public static void deleteDirFileFn(String path) { + java.io.File file = new java.io.File(path); // 매개변수로 받은 경로를 파일객체선언 (/home/nation909/test 경로의 폴더를 지정함) + java.io.File[] files = file.listFiles(); // 해당 폴더 안의 파일들을 files 변수에 담음 + if(files.length > 0) { // 파일, 폴더가 1개라도 있을경우 실행 + for (int i=0; i<files.length; i++) { // 개수만큼 루프 + if(files[i].isFile()) { // 파일일경우 해당파일 삭제 + files[i].delete(); + } + else { // 폴더일경우 재귀함수로 해당폴더의 경로를 전달함 + deleteDirFileFn(files[i].getPath()); // 재귀함수 + } + files[i].delete(); // 폴더일경우 재귀함수가 다돌고나서, 즉 폴더안의 파일이 다지워지고 나서 해당폴더를 삭제함 + } + file.delete(); + } + } + + /** + * 파일을 복사하여 복사한 파일 정보를 리턴 + * @param tempFile + * - 복사할 파일 VO 정보 + * @param copyPath + * - 복사할 디렉토리 위치 정보 + * @param options + * - 파일 옵션 + * @return + * @throws IOException + */ + public static EditorFileVO fileCopy(EditorFileVO tempFile, String copyPath, FileOptions options) throws IOException { + java.io.File file = new java.io.File(tempFile.getFullPath()); + java.io.File mfile = null; + String copyFullPath = ""; + if(file.exists()) { + java.io.File directory = new java.io.File(copyPath); + directory.setExecutable(true); + directory.setReadable(true); + directory.setWritable(true); + if (!directory.exists()) { + + boolean result = false; + try{ + directory.mkdirs(); + result = true; + } + catch(SecurityException se){ + LOGGER.error("fail to process fileCopy create Dir {}", se); + } + + if(result) { + LOGGER.info("Dir created"); + } + } + + copyFullPath = copyPath + tempFile.getSysFileNm(); + mfile = new java.io.File(copyFullPath); + } + + InputStream inStream = null; + OutputStream outStream = null; + EditorFileVO vo = null; + try{ + inStream = new FileInputStream(file); //원본파일 + outStream = new FileOutputStream(mfile); //이동시킬 위치 + + byte[] buffer = new byte[1024]; + int length; + + while ((length = inStream.read(buffer)) > 0){ + outStream.write(buffer, 0, length); + } + + vo = new EditorFileVO(); + vo.setLink(options.getDownloadUrl()); + vo.setFullPath(copyFullPath); + vo.setFileExtsn(tempFile.getFileExtsn()); + vo.setOriginFileNm(tempFile.getOriginFileNm()); + vo.setSysFileNm(tempFile.getSysFileNm()); + vo.setUploadDir(copyPath); + vo.setFileSize(tempFile.getFileSize()); + vo.setMime(tempFile.getMime()); + } catch(IOException e) { + LOGGER.error("fail to process fileCopy {}", e); + } finally { + EgovResourceCloseHelper.close(inStream, outStream); + } + + return vo; + } + + /** + * List 파일객체를 받아 다수의 파일을 압축파일로 압축 후 다운로드 + * @param req + * - HttpServletRequest + * @param res + * - HttpServletResponse + * @param fileList + * - 파일 정보를 담은 객체 + * @param fileRoute + * - 파일을 저장할 경로 + * @throws EgovBizException + */ + public static void zipDown(HttpServletRequest req + , HttpServletResponse res + , List<EditorFileVO> fileList + , String fileRoute) throws EgovBizException { + //추가 temp 경로 생성 + String zipFilePath = Utils.getAddTempRoute(fileRoute); + // 파일명 생성 시 날짜 + Calendar cal = Calendar.getInstance(); + //현재 년도, 월, 일 + int year = cal.get(Calendar.YEAR); + int month = cal.get(Calendar.MONTH) + 1; + int date = cal.get(Calendar.DATE); + String downloadFileName = year + "_" + month + "_" + date; + String zipFileNm = downloadFileName + ".zip"; + String fullPath = zipFilePath + zipFileNm; + java.io.File file = new java.io.File(fullPath); + + try { + //디렉토리 가져오기 + java.io.File dir = new java.io.File(zipFilePath); + dir.setExecutable(true); + dir.setReadable(true); + dir.setWritable(true); + if (!dir.exists()) { + + boolean result = false; + try{ + dir.mkdirs(); + result = true; + } + catch(SecurityException se){ + LOGGER.error("fail to process create Dir {}", se); + } + + if(result) { + LOGGER.info("Dir created"); + } + } + + // ZipOutputStream을 FileOutputStream 으로 감쌈 + FileOutputStream fout = null; + ZipArchiveOutputStream zout = null; + FileInputStream fin = null; + + try { + fout = new FileOutputStream(file); + zout = new ZipArchiveOutputStream(fout); + + for (EditorFileVO vo : fileList) { + try { + //본래 파일명 유지 + ZipArchiveEntry zipEntry = new ZipArchiveEntry(vo.getOriginFileNm()); + zout.putArchiveEntry(zipEntry); + + //경로포함 압축 + //zout.putNextEntry(new ZipEntry(sourceFiles.get(i))); + + java.io.File voFile = new java.io.File(vo.getFullPath()); + fin = new FileInputStream(voFile); + byte[] buf = new byte[1024]; + int len; + + // input file을 1024바이트로 읽음, zip stream에 읽은 바이트를 씀 + while((len = fin.read(buf)) > 0) { + zout.write(buf, 0, len); + } + } catch (IOException e) { + LOGGER.error("fail to process zipDown file {}", e); +// throw new Exception(e.getMessage()); + } finally { + EgovResourceCloseHelper.close(fin, zout); + } + } + } catch (IOException e) { + LOGGER.error("fail to process zipDown file {}", e); + } finally { + EgovResourceCloseHelper.close(zout); + } + + String userAgent = req.getHeader("User-Agent"); + String conVstr = null; + + if (userAgent.contains("MSIE")) { + conVstr = URLEncoder.encode(zipFileNm,"UTF-8"); + } else if (userAgent.contains("Trident")) { + conVstr = URLEncoder.encode(zipFileNm,"UTF-8"); + } else if(userAgent.contains("Chrome")) { + conVstr = new String(zipFileNm.getBytes("UTF-8"), "ISO-8859-1"); + } else if(userAgent.contains("Opera")) { + conVstr = new String(zipFileNm.getBytes("UTF-8"), "ISO-8859-1"); + } else if (userAgent.contains("Mozilla")){ + conVstr = new String(zipFileNm.getBytes("UTF-8"), "ISO-8859-1"); + } else { + conVstr = new String(zipFileNm.getBytes("UTF-8"), "ISO-8859-1"); + } + + res.setHeader("Content-Disposition", "attachment; fileName=\"" + conVstr + "\";"); + res.setContentType("application/octet-stream;charset=UTF-8"); + res.setHeader("Content-Transfer-Encoding", "binary"); + + FileInputStream fis = null; + BufferedInputStream bis = null; + ServletOutputStream so = null; + BufferedOutputStream bos = null; + + try { + fis = new FileInputStream(file); + bis = new BufferedInputStream(fis); + so = res.getOutputStream(); + bos = new BufferedOutputStream(so); + + byte[] data = new byte[2048]; + int input=0; + + while((input=bis.read(data))!=-1){ + bos.write(data,0,input); + bos.flush(); + } + } catch (IOException e) { + LOGGER.error("fail to process zipDown file {}", e); + } finally { + EgovResourceCloseHelper.close(fis, bis, so, bos); + } + } catch (IOException e) { + LOGGER.error("fail to process zipDown file {}", e); + } finally { + File.deleteDirFileFn(zipFilePath); + } + } +} Property changes on: base3.10/src/main/java/froala/editor/File.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/web/EditorController.java =================================================================== --- base3.10/src/main/java/froala/editor/web/EditorController.java (nonexistent) +++ base3.10/src/main/java/froala/editor/web/EditorController.java (revision 7) @@ -0,0 +1,409 @@ +package froala.editor.web; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.security.NoSuchAlgorithmException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.lang3.StringUtils; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.poi.openxml4j.exceptions.InvalidFormatException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; + +import com.google.gson.Gson; + +import egovframework.com.cmm.AjaxWrapper; +import egovframework.com.cmm.service.EgovProperties; +import egovframework.rte.fdl.cmmn.exception.EgovBizException; +import egovframework.rte.fdl.property.EgovPropertyService; +import froala.editor.EditorFileVO; +import froala.editor.File; +import froala.editor.Image; +import froala.editor.Utils; +import froala.editor.Video; +import froala.editor.file.FileOptions; +import froala.editor.image.ImageOptions; +import froala.editor.service.EditorService; +import froala.editor.utils.CommonUtil; +import froala.editor.video.VideoOptions; + +/** + * froala editor Controller + */ +@Controller +public class EditorController { + private static final Logger logger = LoggerFactory.getLogger(EditorController.class); + + private static final String FILE_ROUTE = EgovProperties.getProperty("editor.fileRoute"); + private static final String TEMP_FILE_ROUTE = EgovProperties.getProperty("editor.fileTempRoute"); + + /** EgovSampleService */ + @Resource(name = "editorService") + private EditorService editorService; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** + * 에디터용 파일 업로드 + * + * @param request + * @return + * @throws EgovBizException + */ + @RequestMapping(value = "/editor/uploadFile.do", produces = "application/json; charset=utf8") + @ResponseBody + public String editorUploadFile(HttpServletRequest request) { + + FileOptions options = new FileOptions(); + options.setValidation(null); + + EditorFileVO fileVO = new EditorFileVO(); + try { + fileVO = File.upload(request, Utils.getAddDateRoute(FILE_ROUTE), options); + + // DB부분 + String fileId = editorService.insertEditorFile(fileVO); + + fileVO.setFileId(fileId); + fileVO.setFullPath(null); + fileVO.setUploadDir(null); + fileVO.setSysFileNm(null); + String contextPath = request.getContextPath(); + fileVO.setLink(contextPath + fileVO.getLink()); + } catch (EgovBizException e) { + logger.error("fail to process EditorController upload_file {}", e); + Map<String, Object> responseData = new HashMap<>(); + responseData.put("error", "fail to process Editor 파일업로드"); + } + Gson gson = new Gson(); + return gson.toJson(fileVO); + } + + /** + * 에디터용 이미지 업로드 + * + * @param request + * @return + * @throws EgovBizException + * @throws UnsupportedEncodingException + */ + @RequestMapping(value = "/editor/uploadImage.do", produces = "application/json; charset=utf8") + @ResponseBody + public String uploadImage(HttpServletRequest request) throws EgovBizException, UnsupportedEncodingException { + ImageOptions options = new ImageOptions(); + options.setValidation(null); + + EditorFileVO fileVO = new EditorFileVO(); + try { + fileVO = Image.upload(request, Utils.getAddDateRoute(FILE_ROUTE), options); + + // DB부분 + String fileId = editorService.insertEditorFile(fileVO); + + fileVO.setFileId(null); + fileVO.setFullPath(null); + fileVO.setUploadDir(null); + fileVO.setSysFileNm(null); + String contextPath = request.getContextPath(); + fileVO.setLink(contextPath + fileVO.getLink()); + } catch (EgovBizException e) { + logger.error("fail to process EditorController upload_image {}", e); + Map<Object, Object> responseData = new HashMap<>(); + responseData.put("error", "fail to process Editor 이미지 업로드"); + } + Gson gson = new Gson(); + return gson.toJson(fileVO); + } + + /** + * 에디터 파일 삭제 DB, 파일 삭제 하지 않음(다른 두개의 게시물에 파일 링크를 넣고 어느 한쪽에서 지우면 다른 한쪽의 파일이 없어지는 + * 문제) + * + * @param request + * @return + * @throws IOException + * @throws EgovBizException + */ + @RequestMapping(value = "/editor/deleteFile.do", produces = "application/json; charset=utf8") + @ResponseBody + public String deleteFile(HttpServletRequest request, HttpServletResponse response) + throws EgovBizException, IOException { + FileOptions options = new FileOptions(); + + String src = request.getParameter("src"); + String contextPath = request.getContextPath(); + src = src.replace(contextPath, ""); + String fileId = src.replace(options.getDownloadUrl(), ""); + fileId = URLDecoder.decode(fileId, "UTF-8"); + fileId = CommonUtil.decryptAES256(fileId); + + EditorFileVO fileVO = new EditorFileVO(); + try { + // DB부분 + fileVO = editorService.selectEditorFile(fileId); +// editorService.deleteEditorFile(fileId); + + // 파일 삭제하지 않음 +// File.delete(request, fileVO.getFullPath()); + } catch (EgovBizException e) { + logger.error("fail to process EditorController delete_file {}", e); + response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); + } + + Gson gson = new Gson(); + return gson.toJson(fileVO); + } + + /** + * 에디터 이미지 삭제 파일 삭제와 같은 문제로 실제 DB, 파일은 삭제하지 않음 + * + * @param request + * @return + * @throws IOException + * @throws EgovBizException + */ + @RequestMapping(value = "/editor/deleteImage.do", produces = "application/json; charset=utf8") + @ResponseBody + public String deleteImage(HttpServletRequest request, HttpServletResponse response) throws IOException { + ImageOptions options = new ImageOptions(); + + String src = request.getParameter("src"); + if (src.startsWith("blob:")) { + return null; + } + String fileId = src.replace(options.getDownloadUrl(), ""); + + EditorFileVO fileVO = new EditorFileVO(); + try { + // DB부분 + fileVO = editorService.selectEditorFile(fileId); +// editorService.deleteEditorFile(fileId); + + // 파일 삭제하지 않음 +// File.delete(request, fileVO.getFullPath()); + } catch (EgovBizException e) { + logger.error("fail to process EditorController deleteImage {}", e); + response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); + } + Gson gson = new Gson(); + return gson.toJson(fileVO); + } + + /** + * 첨부파일 목록 정보 + * + * @param fileVO fileId형식 : EFI_0000~~,EFI_0000~~ + * @return + * @throws EgovBizException + */ + @RequestMapping(value = "/editor/fileList.do", produces = "application/json; charset=utf8") + @ResponseBody + public String fileList(@ModelAttribute EditorFileVO fileVO, HttpServletRequest request) throws EgovBizException { + String fileId = fileVO.getFileId(); + List<EditorFileVO> list = new ArrayList<>(); + if (StringUtils.isNotBlank(fileId)) { + String contextPath = request.getContextPath(); + for (String tmp : fileId.split(",")) { + EditorFileVO vo = editorService.selectEditorFile(tmp); + vo.setLink(contextPath + vo.getLink()); + list.add(vo); + } + } + Gson gson = new Gson(); + return gson.toJson(list); + } + + /** + * pdf, tiff, tif 해당 파일에 대한 전체 페이지 수를 가져온다 + * + * @param fileVO + * @return + * @throws EgovBizException + */ + @RequestMapping(value = "/editor/fileMaxSizeInfo.do", produces = "application/json; charset=utf8") + @ResponseBody + public String fileMaxSizeInfo(@ModelAttribute EditorFileVO fileVO) throws EgovBizException { + fileVO = editorService.selectEditorFile(fileVO.getFileId()); + String fileExtSn = fileVO.getFileExtsn(); + int pageCount = 1; + if ("pdf".indexOf(fileExtSn) > -1) { + if (fileExtSn.equals("pdf")) { + try { + java.io.File file = new java.io.File(fileVO.getFullPath()); + PDDocument pdfDoc = PDDocument.load(file); // Document 생성 + pageCount = pdfDoc.getPages().getCount(); + } catch (IOException e) { + logger.error("fail to process EditorController fileMaxSizeInfo {}", e); + } + } + } + + Gson gson = new Gson(); + return gson.toJson(pageCount); + } + + /** + * 에디터용 동영상 업로드 + * + * @param request + * @return + * @throws EgovBizException + */ + @RequestMapping(value = "/editor/uploadVideo.do", produces = "application/json; charset=utf8") + @ResponseBody + public String uploadVideo(HttpServletRequest request) { + + VideoOptions options = new VideoOptions(); + // options.setValidation(new VideoValidation ()); + + EditorFileVO fileVO = new EditorFileVO(); + try { + fileVO = Video.upload(request, FILE_ROUTE, options); + // DB부분 + String fileId = editorService.insertEditorFile(fileVO); + fileVO.setFileId(fileId); + } catch (EgovBizException | NoSuchAlgorithmException | IOException e) { + logger.error("fail to process EditorController upload_video {}", e); + Map<String, Object> responseData = new HashMap<>(); + responseData.put("error", "fail to process Edtior 동영상 업로드"); + } + // fileVO 전체를 리턴하면 불필요한 데이터가 노출되어 link만 리턴 + EditorFileVO resultVO = new EditorFileVO(); + resultVO.setLink(fileVO.getLink()); + Gson gson = new Gson(); + return gson.toJson(resultVO); + } + + /** + * 첨부파일 목록 import용 + * + * @param fileVO + * @param displayType simple: 간단히, detail: 상세 + * @param title + * @param divId + * @param model + * @return + * @throws EgovBizException + */ + @RequestMapping(value = "/editor/fileListView.do") + public String fileListView(@ModelAttribute EditorFileVO fileVO, @RequestParam(required = false) String viewType, + @RequestParam("authorType") String authorType, Model model, HttpServletRequest request) throws EgovBizException { + String fileId = fileVO.getFileId(); + List<EditorFileVO> list = new ArrayList<>(); + if (StringUtils.isNotBlank(fileId)) { + String contextPath = request.getContextPath(); + for (String tmp : fileId.split(",")) { + EditorFileVO vo = editorService.selectEditorFile(tmp); + vo.setLink(contextPath + vo.getLink()); + list.add(vo); + } + } + model.addAttribute("resultList", list); + model.addAttribute("authorType", authorType); + if (viewType != null && viewType.equals("image")) { + return "egovframework/com/cmm/fms/EgovImgFileList"; + } else { + return "egovframework/com/cmm/fms/EgovFileList"; + } + } + + /** + * 파일 업로드 + * + * @param request + * @return + * @throws EgovBizException + */ + @RequestMapping(value = "/uploadFile.do", produces = "application/json; charset=utf8") + @ResponseBody + public String uploadFile(HttpServletRequest request) { + + FileOptions options = new FileOptions(); + options.setValidation(null); + + EditorFileVO fileVO = new EditorFileVO(); + AjaxWrapper aw; + try { + fileVO = File.upload(request, Utils.getAddDateRoute(FILE_ROUTE), options); + // DB부분 + String fileId = editorService.insertEditorFile(fileVO); + fileVO.setFileId(fileId); + + fileVO.setFullPath(null); + fileVO.setUploadDir(null); + fileVO.setSysFileNm(null); + aw = new AjaxWrapper(AjaxWrapper.SUCCESS, fileVO); + } catch (EgovBizException e) { + aw = new AjaxWrapper(AjaxWrapper.FAIL, e.getCause().getMessage()); + } + Gson gson = new Gson(); + return gson.toJson(aw); + } + + /** + * 첨부파일 목록 정보 + * + * @param fileVO fileId형식 : EFI_0000~~,EFI_0000~~ + * @return + * @throws EgovBizException + */ + @RequestMapping(value = "/fileList/selectJson.do", produces = "application/json; charset=utf8") + @ResponseBody + public String selectFileListJson(@ModelAttribute EditorFileVO fileVO) { + AjaxWrapper aw; + String fileId = fileVO.getFileId(); + List<EditorFileVO> list = new ArrayList<>(); + if (StringUtils.isNotBlank(fileId)) { + try { + for (String tmp : fileId.split(",")) { + EditorFileVO vo = editorService.selectEditorFile(tmp); + + // 불필요 파일 null 처리 + vo.setFullPath(null); + vo.setUploadDir(null); + vo.setSysFileNm(null); + list.add(vo); + } + aw = new AjaxWrapper(AjaxWrapper.SUCCESS, list); + } catch (EgovBizException e) { + aw = new AjaxWrapper(AjaxWrapper.FAIL, e.getCause().getMessage()); + } + } else { + aw = new AjaxWrapper(); + } + + Gson gson = new Gson(); + return gson.toJson(aw); + } + + /** + * 파일 업로드 팝업 + * + * @Author : 임종호 + * @Date : 2021. 8. 11. + * @Method Name : uploadFilePopup + * @return : String + */ + @RequestMapping(value = "/uploadFile/popup.do") + public String uploadFilePopup(@ModelAttribute EditorFileVO fileVO, Model model) throws EgovBizException { + return "ctm/cmm/file/uploadFilePopup"; + } + +} Property changes on: base3.10/src/main/java/froala/editor/web/EditorController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/web/ViewController.java =================================================================== --- base3.10/src/main/java/froala/editor/web/ViewController.java (nonexistent) +++ base3.10/src/main/java/froala/editor/web/ViewController.java (revision 7) @@ -0,0 +1,265 @@ +package froala.editor.web; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.rendering.PDFRenderer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; + +import egovframework.com.cmm.service.EgovProperties; +import egovframework.rte.fdl.cmmn.exception.EgovBizException; +import froala.editor.EditorFileVO; +import froala.editor.File; +import froala.editor.service.EditorService; +import froala.editor.service.ParallelExcutorService; +import froala.editor.utils.CommonUtil; +import froala.editor.utils.FileUtil; +import froala.editor.utils.view.DownloadView; +import froala.editor.utils.view.ImageView; +import froala.editor.utils.view.VideoView; + +/** + * 각종 뷰 컨트롤러 + */ +@Controller +public class ViewController { + + private static final Logger logger = LoggerFactory.getLogger(ViewController.class); + + private static final String tempFileRoute = EgovProperties.getProperty("editor.fileTempRoute"); + + /** EgovSampleService */ + @Resource(name = "editorService") + private EditorService editorService; + + /** + * 이미지를 호출한다. + * + * @param request + * @param path + * @param model + * @return + */ + @RequestMapping(value = "/imageview.do", method = RequestMethod.GET) + public ImageView imageView(HttpServletRequest request, @RequestParam String fileId, Model model) throws EgovBizException { + String deStr = CommonUtil.decryptAES256(fileId); + EditorFileVO fileVO = editorService.selectEditorFile(deStr); + + model.addAttribute("path", fileVO.getFullPath()); + model.addAttribute("origin_file_nm", fileVO.getOriginFileNm()); + return new ImageView(); + } + + /** + * 파일을 다운로드 한다. + * + * @param request + * @param path + * @param origin_file_nm + * @param model + * @return + */ + @RequestMapping(value = "/download.do", method = RequestMethod.GET) + public DownloadView fileDownload(HttpServletRequest request, @RequestParam String fileId, Model model) throws EgovBizException { + // CommonUtil.viewRequestParams(request); + String deStr = CommonUtil.decryptAES256(fileId); + EditorFileVO fileVO = editorService.selectEditorFile(deStr); + + model.addAttribute("path", fileVO.getFullPath()); + model.addAttribute("origin_file_nm", fileVO.getOriginFileNm()); + return new DownloadView(); + } + + /** + * 멀티 파일을 zip으로 압축 후 다운로드 한다. + * + * @Author : 임종호 + * @Date : 2020. 8. 18. + * @Method Name : multiDownload + * @return : void + */ + @RequestMapping(value = "/multiDownload.do", method = RequestMethod.GET) + public void multiDownload(@RequestParam String fileId, HttpServletRequest request, HttpServletResponse response) throws EgovBizException { + List<EditorFileVO> list = new ArrayList<>(); + if (fileId != null && fileId != "") { + for (String tmp : fileId.split(",")) { + EditorFileVO fileVO = editorService.selectEditorFile(tmp); + if (fileVO != null) { + list.add(fileVO); + } + } + ; + } + // 압축파일 생성 후 다운로드 + // fileTempRoute - 임시파일 경로 + File.zipDown(request, response, list, tempFileRoute); + } + + /** + * pdf, tiff, tif에 대한 이미지를 렌더링 하여 호출한다. + * + * @param request + * @param fileId + * @param pageSn + * @param model + * @return + * @throws EgovBizException + */ + @RequestMapping(value = "/multiImageview.do", method = RequestMethod.GET) + public ImageView tmpImageView(HttpServletRequest request, @RequestParam String fileId, @RequestParam Integer pageSn, @RequestParam(required = false) Boolean print, Model model) throws EgovBizException { + EditorFileVO fileVO = editorService.selectEditorFile(fileId); + String fileExtSn = fileVO.getFileExtsn(); + if ("pdf".indexOf(fileExtSn) > -1) { + if (fileExtSn.equals("pdf")) { + try { + String returnFileRoute = tempFileRoute + fileVO.getSysFileNm(); + String returnFilePath = returnFileRoute + "/" + fileVO.getSysFileNm() + '_' + pageSn + ".png"; + // 기존파일생성 확인 + java.io.File existCheck = new java.io.File(returnFilePath); + + // 기존파일이 없을 시 PDF를 PNG로 변환한다. + if (!existCheck.exists()) { + Files.createDirectories(Paths.get(returnFileRoute)); // PDF 2 Img에서는 경로가 없는 경우 이미지 파일이 생성이 안되기 때문에 디렉토리를 만들어준다. + + java.io.File file = new java.io.File(fileVO.getFullPath()); + PDDocument pdfDoc = PDDocument.load(file); // Document 생성 + int pageCount = pdfDoc.getNumberOfPages(); + + PDFRenderer pdfRenderer = new PDFRenderer(pdfDoc); + + // 첫페이지 생성, 이미지 리사이즈 이후 저장 + FileUtil.pdfImageWrite(pdfRenderer, pageSn - 1, returnFilePath); + + // 쓰레드 각 service마다 3개씩 처리 + ParallelExcutorService service = new ParallelExcutorService(); + service.pdfSubmit("job1", pageSn, 3, pageCount, pdfRenderer, returnFileRoute + "/" + fileVO.getSysFileNm()); + service.pdfSubmit("job2", pageSn + 1, 3, pageCount, pdfRenderer, returnFileRoute + "/" + fileVO.getSysFileNm()); + service.pdfSubmit("job3", pageSn + 2, 3, pageCount, pdfRenderer, returnFileRoute + "/" + fileVO.getSysFileNm()); + service.close(); + // pdfDoc.close(); // 모두 사용한 PDF 문서는 닫는다. + } + model.addAttribute("path", returnFilePath); + } catch (IOException e) { + logger.error("fail to process PDF Render {}", e); + } + } + } else { + String imgFileName = fileVO.getFullPath(); + // BufferedImage image = ImageIO.read(new java.io.File(fileVO.getFullPath())); + // int width = image.getWidth(); + // int height = image.getHeight(); + // if (print != null && print && width > height) { + // // 프린트용 이미지 크기가 세로보다 가로가 클 경우 회전 + // imgFileName = FileUtil.transRotate(90, image, imgFileName); + // } + model.addAttribute("path", imgFileName); + } + return new ImageView(); + } + + /** + * 임시파일을 다운로드 한다. + * + * @param request + * @param fileId + * @param model + * @return + * @throws EgovBizException + */ + @RequestMapping(value = "/tempDownload.do", method = RequestMethod.GET) + public DownloadView tempFileDownload(HttpServletRequest request, @RequestParam String fileId, Model model) throws EgovBizException { + // CommonUtil.viewRequestParams(request); + String deStr = CommonUtil.decryptAES256(fileId); + EditorFileVO fileVO = editorService.selectTmpFile(deStr); + + model.addAttribute("path", fileVO.getFullPath()); + model.addAttribute("origin_file_nm", fileVO.getOriginFileNm()); + model.addAttribute("mime", "application/octet-stream"); + return new DownloadView(); + } + + /** + * 동영상 스트리밍 + * + * @param fileId + * @param model + * @return + * @throws EgovBizException + */ + @RequestMapping(value = "/streaming.do", method = RequestMethod.GET) + public VideoView streaming(@RequestParam("fileId") String fileId, Model model, HttpServletRequest request, HttpServletResponse response) throws EgovBizException { + String deStr = CommonUtil.decryptAES256(fileId); + EditorFileVO fileVO = editorService.selectEditorFile(deStr); + request.setAttribute("path", fileVO.getFullPath()); + request.setAttribute("originFileNm", fileVO.getOriginFileNm()); + return new VideoView(); + } + + /** + * 이미지파일 인쇄 + * + * @Author : 임종호 + * @Date : 2020. 6. 15. + * @Method Name : print + * @return : String + * @throws IOException + */ + @RequestMapping(value = "/imagePrint/{paperSize}.do") + public String imagePrint(ModelMap model, @PathVariable("paperSize") String paperSize, @RequestParam(value = "fileId", required = false) String fileId, @ModelAttribute EditorFileVO editorFileVO) throws EgovBizException, IOException { + // 리턴 메시지 + String resultMsg = ""; + + // 파일 데이터 세팅 + List<EditorFileVO> list = new ArrayList<EditorFileVO>(); + for (EditorFileVO tmp : editorFileVO.getFileList()) { + EditorFileVO resultVO = editorService.selectEditorFile(tmp.getFileId()); + String fileExtSn = resultVO.getFileExtsn().toLowerCase(); + if ("pdf,png,jpg,jpeg".indexOf(fileExtSn) > -1) { + // 페이지수(pdf,tif,tiff) + if (fileExtSn.equals("pdf")) { + java.io.File file = new java.io.File(resultVO.getFullPath()); + PDDocument pdfDoc = PDDocument.load(file); // Document 생성 + resultVO.setPageCnt(pdfDoc.getPages().getCount()); + } else { + resultVO.setPageCnt(1); + } + list.add(resultVO); + } else { + resultMsg += resultVO.getOriginFileNm() + " "; + } + } + ; + + if (!resultMsg.equals("")) { + resultMsg += "파일은 인쇄 할 수 없습니다."; + } + model.addAttribute("resultMsg", resultMsg); + model.addAttribute("resultList", list); + + Map<String, Object> SizeVO = new HashMap<>(); + SizeVO.put("paperSize", paperSize); + + // 용지 크기 세팅 + model.addAttribute("SizeVO", SizeVO); + return "egovframework/custom/com/print"; + } +} Property changes on: base3.10/src/main/java/froala/editor/web/ViewController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/Image.java =================================================================== --- base3.10/src/main/java/froala/editor/Image.java (nonexistent) +++ base3.10/src/main/java/froala/editor/Image.java (revision 7) @@ -0,0 +1,163 @@ +package froala.editor; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.lang.ArrayUtils; + +import egovframework.rte.fdl.cmmn.exception.EgovBizException; +import froala.editor.image.ImageOptions; +import froala.editor.image.ImageValidation; + +/** + * Image functionality. + * + * @author florin@froala.com + */ +public final class Image { + + /** + * Private constructor. + */ + private Image() { + + } + + /** + * File default options. + */ + public static final ImageOptions defaultOptions = new ImageOptions(); + + /** + * Uploads an image to disk. + * + * @param req + * Servlet HTTP request. + * @param fileRoute + * Route Server route where the file will be uploaded. This route + * must be public to be accesed by the editor. + * @return Object with link. + * @throws EgovBizException + */ + public static EditorFileVO upload(HttpServletRequest req, String fileRoute) throws EgovBizException { + + return upload(req, fileRoute, defaultOptions); + } + + /** + * Uploads an image to disk. + * + * @param req + * Servlet HTTP request. + * @param fileRoute + * Server route where the file will be uploaded. This route must + * be public to be accesed by the editor. + * @param options + * Image options. Defaults to {@link #defaultOptions} which has + * </br> + * Fieldname: "file" </br> + * Validation: + * <ul> + * <li>Extensions: "gif", "jpeg", "jpg", "png", "svg", + * "blob"</li> + * <li>Mime Types: "image/gif", "image/jpeg", "image/pjpeg", + * "image/x-png", "image/png", "image/svg+xml"</li> + * </ul> + * + * @return Object with link. + * @throws EgovBizException + */ + public static EditorFileVO upload(HttpServletRequest req, String fileRoute, ImageOptions options) + throws EgovBizException { + + if (options == null) { + options = defaultOptions; + } + + return File.upload(req, fileRoute, options); + } + + /** + * Delete an image from disk. + * + * @param req + * Used to get the servlet context. + * @param src + * Server file path. + */ + public static void delete(HttpServletRequest req, String src) { + + File.delete(req, src); + } + + /** + * List images from disk. + * + * @param req + * Used to get the servlet context. + * @param folderPath + * Server folder path. + * @return Array of image objects. + * @throws EgovBizException + */ + public static ArrayList<Object> list(HttpServletRequest req, String folderPath) throws EgovBizException { + return list(req, folderPath, folderPath); + } + + /** + * List images from disk. + * + * @param req + * Used to get the servlet context. + * @param folderPath + * Server folder path. + * @param thumbPath + * Optional. Server thumb path. + * @return Array of image objects. + * @throws EgovBizException + */ + public static ArrayList<Object> list(HttpServletRequest req, String folderPath, String thumbPath) throws EgovBizException { + + // Use thumbPath as folderPath. + if (thumbPath == null) { + thumbPath = folderPath; + } + + // Array of image objects to return. + ArrayList<Object> response = new ArrayList<Object>(); + + String absolutePath = File.getAbsoluteServerPath(req, folderPath); + + String[] imageMimetypes = ImageValidation.allowedImageMimeTypesDefault; + + java.io.File folder = new java.io.File(absolutePath); + + // Add images. +// for (java.io.File fileEntry : folder.listFiles()) { +// if (fileEntry.isFile()) { +// +// String filename = fileEntry.getName(); +// +// String mimeType = req.getServletContext().getMimeType(folderPath + filename); +// if (mimeType == null) { +// continue; +// } +// +// if (ArrayUtils.contains(imageMimetypes, mimeType)) { +// +// Map<Object, Object> imageObj = new HashMap<Object, Object>(); +// imageObj.put("url", folderPath + filename); +// imageObj.put("thumb", thumbPath + filename); +// imageObj.put("name", filename); +// response.add(imageObj); +// } +// } +// } + + return response; + } + +} Property changes on: base3.10/src/main/java/froala/editor/Image.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/Video.java =================================================================== --- base3.10/src/main/java/froala/editor/Video.java (nonexistent) +++ base3.10/src/main/java/froala/editor/Video.java (revision 7) @@ -0,0 +1,161 @@ +package froala.editor; + +import java.io.IOException; +import java.io.InputStream; +import java.security.NoSuchAlgorithmException; + +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.FilenameUtils; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; + +import egovframework.rte.fdl.cmmn.exception.EgovBizException; +import froala.editor.video.VideoOptions; + +/** + * Video functionality. + * + * @author florin@froala.com + */ +public final class Video { + public static final String multipartContentType = "multipart/form-data"; + + /** + * Private constructor. + */ + private Video() { + + } + + /** + * File default options. + */ + public static final VideoOptions defaultOptions = new VideoOptions (); + + /** + * Uploads a video to disk. + * + * @param req + * Servlet HTTP request. + * @param fileRoute + * Route Server route where the file will be uploaded. This route + * must be public to be accesed by the editor. + * @return Object with link. + * @throws EgovBizException + * @throws IOException + * @throws NoSuchAlgorithmException + */ + public static EditorFileVO upload (HttpServletRequest req, String fileRoute) throws EgovBizException, NoSuchAlgorithmException, IOException { + return upload (req, fileRoute, defaultOptions); + } + + /** + * Uploads a video to disk. + * + * @param req + * Servlet HTTP request. + * @param fileRoute + * Server route where the file will be uploaded. This route must be + * public to be accesed by the editor. + * @param options + * Video options. Defaults to {@link #defaultOptions} which has + * </br> + * Fieldname: "file" </br> + * Validation: + * <ul> + * <li>Extensions: ".mp4", ".webm", ".ogg"</li> + * <li>Mime Types: "video/mp4", "video/webm", "video/ogg"</li> + * </ul> + * @return Object with link. + * @throws NoSuchAlgorithmException + * @throws EgovBizException + * @throws IOException + */ + public static EditorFileVO upload (HttpServletRequest req, String fileRoute, VideoOptions options) throws EgovBizException, NoSuchAlgorithmException, IOException { + + if (options == null) { + options = defaultOptions; + } + + if (req.getContentType () == null || req.getContentType ().toLowerCase ().indexOf (multipartContentType) == -1) { + + throw new EgovBizException ("Invalid contentType. It must be " + multipartContentType); + } + + MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) req; + MultipartFile file = multipartHttpServletRequest.getFile (options.getFieldname ()); + + // servlet 3.0 + //Part filePart = req.getPart(options.getFieldname()); + + if (file == null) { + throw new EgovBizException ("Fieldname is not correct. It must be: " + options.getFieldname ()); + } + + // Generate random name. + String file_extsn = FilenameUtils.getExtension (Utils.getFileName (file)); + String extension = file_extsn; + extension = (extension != null && extension != "") ? "." + extension : extension; + String name = Utils.generateUniqueString () + extension; + + String linkName = fileRoute + name; + + InputStream fileContent = file.getInputStream (); + String absoluteServerPath = getAbsoluteServerPath (req, linkName); + // String absoluteServerPath = linkName; + java.io.File targetFile = null; + if (absoluteServerPath != null && !absoluteServerPath.equals("")) { + targetFile = new java.io.File(absoluteServerPath); + FileUtils.copyInputStreamToFile (fileContent, targetFile); + } else { + return null; + } + + if (options.getValidation () != null && !options.getValidation ().check (absoluteServerPath, file.getContentType ())) { + + delete (req, linkName); + throw new EgovBizException ("File does not meet the validation."); + } + + // 정보 셋팅 + EditorFileVO fileVO = new EditorFileVO (); + fileVO.setLink (options.getStreamingUrl ()); + fileVO.setFullPath (linkName); + fileVO.setFileExtsn (file_extsn); + fileVO.setOriginFileNm (file.getOriginalFilename ()); + fileVO.setSysFileNm (name); + fileVO.setUploadDir (fileRoute); + fileVO.setFileSize (file.getSize ()); + fileVO.setMime (file.getContentType ()); + return fileVO; + } + + /** + * Get absolute server path. + * + * @param req + * Used to get the servlet context. + * @param relativePath + * Relative path. + * @return Absolute path. + */ + public static String getAbsoluteServerPath (HttpServletRequest req, String relativePath) { + // return req.getServletContext().getRealPath(relativePath); + return relativePath; + } + + /** + * Delete a video from disk. + * + * @param req + * Used to get the servlet context. + * @param src + * Server file path. + */ + public static void delete (HttpServletRequest req, String src) { + File.delete (req, src); + } + +} Property changes on: base3.10/src/main/java/froala/editor/Video.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/service/impl/EditorServiceImpl.java =================================================================== --- base3.10/src/main/java/froala/editor/service/impl/EditorServiceImpl.java (nonexistent) +++ base3.10/src/main/java/froala/editor/service/impl/EditorServiceImpl.java (revision 7) @@ -0,0 +1,97 @@ +/* + * Copyright 2008-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package froala.editor.service.impl; + +import javax.annotation.Resource; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.cmmn.exception.EgovBizException; +import egovframework.rte.fdl.cmmn.exception.FdlException; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import froala.editor.EditorFileVO; +import froala.editor.service.EditorService; +import froala.editor.utils.CommonUtil; + +/** + * 파일 ServiceImpl + * @author 임종호 + * + */ +@Service("editorService") +public class EditorServiceImpl extends EgovAbstractServiceImpl implements EditorService { + + private static final Logger LOGGER = LoggerFactory.getLogger(EditorServiceImpl.class); + + @Resource(name = "EditorDAO") + private EditorDAO editorDao; + + /** ID Generation */ + @Resource(name = "editorFileIdGnrService") + private EgovIdGnrService egovIdGnrService; + + + @Override + public String insertEditorFile(EditorFileVO paramVO) throws EgovBizException { + try { + paramVO.setFileId(egovIdGnrService.getNextStringId()); + } catch (FdlException e) { + LOGGER.error("insertEditorFile egovIdGnrService.getNextStringId() ERROR!"); + return null; + } + String link = paramVO.getLink(); + String fileId = paramVO.getFileId(); + String enStr = CommonUtil.encryptAES256(fileId); + paramVO.setLink(link.concat(enStr)); + + editorDao.insertEditorFile(paramVO); + return paramVO.getFileId(); + } + + @Override + public EditorFileVO selectEditorFile(String fileId) throws EgovBizException { + return editorDao.selectEditorFile(fileId); + } + + @Override + public void deleteEditorFile(String fileId) throws EgovBizException { + editorDao.deleteEditorFile(fileId); + } + + @Override + public String insertTmpFile(EditorFileVO paramVO) throws EgovBizException { + editorDao.insertTmpFile(paramVO); + + String link = paramVO.getLink(); + String fileId = paramVO.getFileId(); + paramVO.setLink(link.concat(fileId)); + editorDao.updateTmpFile(paramVO); + return paramVO.getFileId(); + } + + @Override + public EditorFileVO selectTmpFile(String fileId) throws EgovBizException { + return editorDao.selectTmpFile(fileId); + } + + @Override + public void deleteTmpFile(String fileId) throws EgovBizException { + editorDao.deleteTmpFile(fileId); + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/froala/editor/service/impl/EditorServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/service/impl/EditorDAO.java =================================================================== --- base3.10/src/main/java/froala/editor/service/impl/EditorDAO.java (nonexistent) +++ base3.10/src/main/java/froala/editor/service/impl/EditorDAO.java (revision 7) @@ -0,0 +1,105 @@ +/* + * Copyright 2008-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package froala.editor.service.impl; + +import org.springframework.dao.DataAccessException; +import org.springframework.stereotype.Repository; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import froala.editor.EditorFileVO; + +/** + * 파일 DAO + * @author 임종호 + * + */ +@Repository("EditorDAO") +public class EditorDAO extends EgovComAbstractDAO { + + /** + * 에디터파일 정보를 등록한다. + * @param paramVO + * @throws DataAccessException + */ + public void insertEditorFile(EditorFileVO paramVO) throws DataAccessException { + insert("Editor.insertEditorFile", paramVO); + } + + /** + * 에디터파일 정보를 조회한다. + * @param fileId + * @return EditorFileVO 에디터파일 정보 + * @throws DataAccessException + */ + public EditorFileVO selectEditorFile(String fileId) throws DataAccessException { + return (EditorFileVO) selectOne("Editor.selectEditorFile", fileId); + } + + /** + * 에디터파일 정보를 수정한다. + * @param paramVO + * @throws DataAccessException + */ + public void updateEditorFile(EditorFileVO paramVO) throws DataAccessException { + update("Editor.updateEditorFile", paramVO); + } + + /** + * 에디터파일 정보를 삭제한다. + * @param fileId + * @throws DataAccessException + */ + public void deleteEditorFile(String fileId) throws DataAccessException { + delete("Editor.deleteEditorFile", fileId); + } + + /** + * 임시파일 정보를 등록한다. + * @param paramVO + * @throws DataAccessException + */ + public void insertTmpFile(EditorFileVO paramVO) throws DataAccessException { + insert("Editor.insertTmpFile", paramVO); + } + + /** + * 임시파일 정보를 조회한다. + * @param fileId + * @return TmpFileVO 임시파일 정보 + * @throws DataAccessException + */ + public EditorFileVO selectTmpFile(String fileId) throws DataAccessException { + return (EditorFileVO) selectOne("Editor.selectTmpFile", fileId); + } + + /** + * 임시파일 정보를 수정한다. + * @param paramVO + * @throws DataAccessException + */ + public void updateTmpFile(EditorFileVO paramVO) throws DataAccessException { + update("Editor.updateTmpFile", paramVO); + } + + /** + * 임시파일 정보를 삭제한다. + * @param fileId + * @throws DataAccessException + */ + public void deleteTmpFile(String fileId) throws DataAccessException { + delete("Editor.deleteTmpFile", fileId); + } +} Property changes on: base3.10/src/main/java/froala/editor/service/impl/EditorDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/service/ParallelExcutorService.java =================================================================== --- base3.10/src/main/java/froala/editor/service/ParallelExcutorService.java (nonexistent) +++ base3.10/src/main/java/froala/editor/service/ParallelExcutorService.java (revision 7) @@ -0,0 +1,87 @@ +package froala.editor.service; + +import java.util.List; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +import org.apache.pdfbox.rendering.PDFRenderer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import froala.editor.utils.FileUtil; + +/** + * 다중 쓰레드 파일 업로드 + * + * @since 2020. 8. 29. + * @author 임종호 + * + * <PRE> + * ----------------------- + * 개정이력 + * 2020. 8. 29. 임종호 : 최초작성 + * </PRE> + */ +public class ParallelExcutorService { + + private static final Logger LOGGER = LoggerFactory.getLogger(ParallelExcutorService.class); +// private final int maxCore = Runtime.getRuntime().availableProcessors(); +// private final ExecutorService executor = Executors.newFixedThreadPool(maxCore); + private final ExecutorService executor = Executors.newCachedThreadPool(); + private final BlockingQueue<String> queue = new ArrayBlockingQueue<>(10); + + public ParallelExcutorService() { + } + + /** + * start : 시작번호, repeat : 반복횟수, max : pdf파일 최대번호, pdfRenderer : PDFBox 객체, + * returnFileRoute : 이미지 파일저장경로 + * + * @Author : 임종호 + * @Date : 2020. 8. 29. + * @Method Name : submit + * @return : void + */ + public void pdfSubmit(String job, int start, int repeat, int max, PDFRenderer pdfRenderer, String returnFileRoute) { + executor.submit(() -> { + for (int i = start; i < repeat * 3 + start;) { + int fileIndex = i + 1; + if (max < fileIndex) { + break; + } + String imgFileName = returnFileRoute + '_' + fileIndex + ".png"; + java.io.File existCheck2 = new java.io.File(imgFileName); + if (!existCheck2.exists()) { + // 순회하며 이미지로 변환 처리 + FileUtil.pdfImageWrite(pdfRenderer, i, imgFileName); + } + i += repeat; + } + String threadName = Thread.currentThread().getName(); + String result = job + ", " + threadName; + try { + queue.put(result); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + }); + } + + public String take() { + try { + return queue.take(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new IllegalStateException(e); + } + } + + public void close() { + List<Runnable> unfinishedTasks = executor.shutdownNow(); + if (!unfinishedTasks.isEmpty()) { + LOGGER.error("Not all tasks finished before calling close: " + unfinishedTasks.size()); + } + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/froala/editor/service/ParallelExcutorService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/service/EditorService.java =================================================================== --- base3.10/src/main/java/froala/editor/service/EditorService.java (nonexistent) +++ base3.10/src/main/java/froala/editor/service/EditorService.java (revision 7) @@ -0,0 +1,38 @@ +/* + * Copyright 2008-2009 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package froala.editor.service; + +import egovframework.rte.fdl.cmmn.exception.EgovBizException; +import froala.editor.EditorFileVO; + +/** + * 파일 Service + * @author 임종호 + * + */ +public interface EditorService { + String insertEditorFile(EditorFileVO paramVO) throws EgovBizException; + + EditorFileVO selectEditorFile(String fileId) throws EgovBizException; + + void deleteEditorFile(String fileId) throws EgovBizException; + + String insertTmpFile(EditorFileVO paramVO) throws EgovBizException; + + EditorFileVO selectTmpFile(String fileId) throws EgovBizException; + + void deleteTmpFile(String fileId) throws EgovBizException; +} \ No newline at end of file Property changes on: base3.10/src/main/java/froala/editor/service/EditorService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/CustomValidation.java =================================================================== --- base3.10/src/main/java/froala/editor/CustomValidation.java (nonexistent) +++ base3.10/src/main/java/froala/editor/CustomValidation.java (revision 7) @@ -0,0 +1,11 @@ +package froala.editor; + +/** + * Provides custom validation. + * + * @author florin@froala.com + */ +public interface CustomValidation { + + boolean validate(String filePath, String mimeType); +} Property changes on: base3.10/src/main/java/froala/editor/CustomValidation.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/EditorVO.java =================================================================== --- base3.10/src/main/java/froala/editor/EditorVO.java (nonexistent) +++ base3.10/src/main/java/froala/editor/EditorVO.java (revision 7) @@ -0,0 +1,36 @@ +package froala.editor; + +import java.util.HashMap; +import java.util.Map; + +import org.apache.commons.lang.StringEscapeUtils; + +/** + * 에디터 VO + * @author 임종호 + * + */ +public class EditorVO { + private Long id; + private String contents; + + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + public String getContents() { + return StringEscapeUtils.unescapeHtml(contents); + } + public void setContents(String contents) { + this.contents = contents; + } + + public Map<String, Object> convertMap() { + Map<String, Object> rMap = new HashMap<>(); + rMap.put("id", id); + rMap.put("contents", contents); + return rMap; + } +} Property changes on: base3.10/src/main/java/froala/editor/EditorVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/image/ImageValidation.java =================================================================== --- base3.10/src/main/java/froala/editor/image/ImageValidation.java (nonexistent) +++ base3.10/src/main/java/froala/editor/image/ImageValidation.java (revision 7) @@ -0,0 +1,65 @@ +package froala.editor.image; + +import froala.editor.CustomValidation; +import froala.editor.file.FileValidation; + +/** + * Image Validation. + * + * @author florin@froala.com + */ +public class ImageValidation extends FileValidation { + + /** + * Allowed image validation default extensions. + */ + public static final String[] allowedImageExtsDefault = new String[] { "gif", "jpeg", "jpg", "png", "svg", "blob", "tif", "tiff" }; + + /** + * Allowed image validation default mimetypes. + */ + public static final String[] allowedImageMimeTypesDefault = new String[] { "image/gif", "image/jpeg", "image/pjpeg", + "image/x-png", "image/png", "image/svg+xml", "image/tiff" }; + + /** + * Init default image validation settings. + */ + @Override + protected void initDefault() { + + allowedExts = allowedImageExtsDefault; + allowedMimeTypes = allowedImageMimeTypesDefault; + } + + /** + * Constructor. Validates default images with: - allowed file extensions: + * "gif", "jpeg", "jpg", "png", "svg", "blob" - allowed mime types: + * "image/gif", "image/jpeg", "image/pjpeg", "image/x-png", "image/png", + * "image/svg+xml" + */ + public ImageValidation() { + super(); + } + + /** + * Constructor. + * + * @param allowedExts + * Allowed validation image extensions. + * @param allowedMimeTypes + * Allowed validation image mimetypes. + */ + public ImageValidation(String[] allowedExts, String[] allowedMimeTypes) { + super(allowedExts, allowedMimeTypes); + } + + /** + * Constructor. + * + * @param customValidation + * Custom validation. + */ + public ImageValidation(CustomValidation customValidation) { + super(customValidation); + } +} Property changes on: base3.10/src/main/java/froala/editor/image/ImageValidation.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/image/ImageOptions.java =================================================================== --- base3.10/src/main/java/froala/editor/image/ImageOptions.java (nonexistent) +++ base3.10/src/main/java/froala/editor/image/ImageOptions.java (revision 7) @@ -0,0 +1,108 @@ +package froala.editor.image; + +import egovframework.com.cmm.service.EgovProperties; +import froala.editor.file.FileOptions; + +/** + * Image Options used for uploading. + * + * @author florin@froala.com + */ +public class ImageOptions extends FileOptions { + + public static final String downloadDefault = "/imageview.do?fileId="; + /** + * Init default image upload settings. + */ + @Override + protected void initDefault() { + setValidation(new ImageValidation()); + setDownloadUrl(downloadDefault); + } + + /** + * Image resize options. + * + * @author florin@froala.com + * + */ + public class ResizeOptions { + + private int newWidth; + + public int getNewWidth() { + return newWidth; + } + + public void setNewWidth(int newWidth) { + this.newWidth = newWidth; + } + + private int newHeight; + + public int getNewHeight() { + return newHeight; + } + + public void setNewHeight(int newHeight) { + this.newHeight = newHeight; + } + + private boolean keepAspectRatio; + + public boolean getKeepAspectRatio() { + return keepAspectRatio; + } + + public void setKeepAspectRatio(boolean keepAspectRatio) { + this.keepAspectRatio = keepAspectRatio; + } + } + + /** + * Options for resizing an image. + */ + private ResizeOptions resizeOptions; + + /** + * Get the options for resizing an image. + * + * @return + */ + public ResizeOptions getResizeOptions() { + return resizeOptions; + } + + /** + * Set the options for resizing an image. + * + * @param resizeOptions + */ + public void setResizeOptions(ResizeOptions resizeOptions) { + this.resizeOptions = resizeOptions; + } + + /** + * Set the options for resizing an image. + * + * @param newWidth + * @param newHeight + * @param keepAspectRatio + */ + public void setResize(int newWidth, int newHeight, boolean keepAspectRatio) { + + this.resizeOptions = new ResizeOptions(); + resizeOptions.setNewWidth(newWidth); + resizeOptions.setNewHeight(newHeight); + resizeOptions.setKeepAspectRatio(keepAspectRatio); + } + + /** + * Constructor. Uses default options: - fieldname "file" - validation + * default ImageValidation. To change them, use getters and setters. + */ + public ImageOptions() { + super(); + } + +} Property changes on: base3.10/src/main/java/froala/editor/image/ImageOptions.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/video/Range.java =================================================================== --- base3.10/src/main/java/froala/editor/video/Range.java (nonexistent) +++ base3.10/src/main/java/froala/editor/video/Range.java (revision 7) @@ -0,0 +1,72 @@ +package froala.editor.video; + +/** + * 부분 전송 VO + * @since 2021. 6. 18. + * @author 임종호 + * <PRE> + * ----------------------- + * 개정이력 + * 2021. 6. 18. 임종호 : 최초작성 + * </PRE> + */ +public class Range { + private long start; + private long end; + private long total; + private long partSize; + private boolean isPart = false; + + public Range(Long start, Long end, Long total) { + super(); + this.start = start; + this.end = end; + this.total = total; + } + + public Range(Long start, Long end) { + super(); + this.start = start; + this.end = end; + } + + public long getStart() { + return start; + } + + public void setStart(long start) { + this.start = start; + } + + public long getEnd() { + return end; + } + + public void setEnd(long end) { + this.end = end; + } + + public long getTotal() { + return total; + } + + public void setTotal(long total) { + this.total = total; + } + + public long getPartSize() { + return partSize; + } + + public void setPartSize(long partSize) { + this.partSize = partSize; + } + + public boolean isPart() { + return isPart; + } + + public void setPart(boolean isPart) { + this.isPart = isPart; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/froala/editor/video/Range.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/video/StreamingUtil.java =================================================================== --- base3.10/src/main/java/froala/editor/video/StreamingUtil.java (nonexistent) +++ base3.10/src/main/java/froala/editor/video/StreamingUtil.java (revision 7) @@ -0,0 +1,63 @@ +package froala.editor.video; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.OutputStream; +import java.io.RandomAccessFile; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.io.IOUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import froala.editor.utils.view.VideoView; + +/** + * 동영상 스트리밍 유틸 + * @since 2021. 6. 18. + * @author 임종호 + * <PRE> + * ----------------------- + * 개정이력 + * 2021. 6. 18. 임종호 : 최초작성 + * </PRE> + */ +public class StreamingUtil { + private final static Logger LOGGER = LoggerFactory.getLogger(VideoView.class); + + public void streaming(File file, HttpServletRequest request, HttpServletResponse response, OutputStream out) + throws IOException { + StreamingResponse streamingResponse = new StreamingResponse(); + Range range = streamingResponse.write(file, request, response); + copyStreaming(file, out, range); + } + + private void copyStreaming(File file, OutputStream output, Range range) { + RandomAccessFile randomFile = null; + long partSize = range.getPartSize(); + try { + randomFile = new RandomAccessFile(file, "r"); + randomFile.seek(range.getStart()); + byte[] buf = new byte[StreamingResponse.DEFAULT_BUFFER_SIZE]; + do { + int block = 0; + if (partSize > StreamingResponse.DEFAULT_BUFFER_SIZE) { + block = StreamingResponse.DEFAULT_BUFFER_SIZE; + } else { + block = (int) partSize; + } + int len = randomFile.read(buf, 0, block); + output.write(buf, 0, len); + output.flush(); + partSize -= block; + } while (partSize > 0); + } catch (IOException e) { + LOGGER.error("User canceled streaming request {}", e.getCause().getMessage()); + } finally { + IOUtils.closeQuietly(randomFile); + } + } +} Property changes on: base3.10/src/main/java/froala/editor/video/StreamingUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/video/VideoValidation.java =================================================================== --- base3.10/src/main/java/froala/editor/video/VideoValidation.java (nonexistent) +++ base3.10/src/main/java/froala/editor/video/VideoValidation.java (revision 7) @@ -0,0 +1,53 @@ +package froala.editor.video; + +import froala.editor.file.FileValidation; + +/** + * Video Validation. + * + * @author florin@froala.com + */ +public class VideoValidation extends FileValidation { + + /** + * Allowed video validation default extensions. + */ + public static final String[] allowedVideoExtsDefault = new String[] { "mp4", "webm", "ogg" }; + + /** + * Allowed video validation default mimetypes. + */ + public static final String[] allowedVideoMimeTypesDefault = new String[] { "video/mp4", "video/webm", "video/ogg" }; + + /** + * Init default video validation settings. + */ + @Override + protected void initDefault() { + + allowedExts = allowedVideoExtsDefault; + allowedMimeTypes = allowedVideoMimeTypesDefault; + } + + /** + * Constructor. Validates default videos with: - allowed file extensions: + * ".mp4", ".webm", ".ogg" - allowed mime types: + * "video/mp4", "video/webm", "video/ogg" + */ + public VideoValidation() { + super(); + } + + /** + * Constructor. + * + * @param allowedExts + * Allowed validation video extensions. + * @param allowedMimeTypes + * Allowed validation video mimetypes. + */ + public VideoValidation(String[] allowedExts, String[] allowedMimeTypes) { + super(allowedExts, allowedMimeTypes); + } + +} Property changes on: base3.10/src/main/java/froala/editor/video/VideoValidation.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/video/StreamingResponse.java =================================================================== --- base3.10/src/main/java/froala/editor/video/StreamingResponse.java (nonexistent) +++ base3.10/src/main/java/froala/editor/video/StreamingResponse.java (revision 7) @@ -0,0 +1,76 @@ +package froala.editor.video; + +import java.io.File; +import java.io.IOException; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.tika.Tika; + +/** + * 동영상 스트리밍 전송 + * @since 2021. 6. 18. + * @author 임종호 + * <PRE> + * ----------------------- + * 개정이력 + * 2021. 6. 18. 임종호 : 최초작성 + * </PRE> + */ +public class StreamingResponse { + public static final int DEFAULT_BUFFER_SIZE = 204800; + + private static final long DEFAULT_EXPIRE_TIME = 604800000L; + + public Range write(File file, HttpServletRequest request, HttpServletResponse response) throws IOException { + Range range = null; + String fileName = (String) request.getAttribute("originFileNm"); + String rangeStr = request.getHeader("range"); + + if (rangeStr != null) { + if (rangeStr.endsWith("-")) { + rangeStr = rangeStr + (file.length() - 1); + } + + int idxm = rangeStr.trim().indexOf("-"); + range = new Range(Long.parseLong(rangeStr.substring(6, idxm)), Long.parseLong(rangeStr.substring(idxm + 1)), file.length()); + long partSize = 0; + if (range.getStart() > 0) { + range.setPart(true); + } + range.setPartSize(partSize); + } else { + range = new Range(0L, file.length() - 1, file.length()); + } + range.setPartSize(range.getEnd() - range.getStart() + 1); + if (range.getEnd() == 0) { + range.setEnd(range.getStart() + DEFAULT_BUFFER_SIZE - 1); + } + + if (range.getEnd() > range.getTotal() - 1) { + range.setEnd(range.getTotal() - 1); + } + + String eTag = file.getName() + "_" + file.lastModified(); + + // mime type 지정 + Tika tika = new Tika(); + String mime = tika.detect(file); + response.setContentType(mime); + + response.reset(); + response.setStatus(range.isPart() ? HttpServletResponse.SC_PARTIAL_CONTENT : HttpServletResponse.SC_OK); + response.setHeader("Content-Range", "bytes " + range.getStart() + "-" + range.getEnd() + "/" + range.getTotal()); + response.setHeader("Accept-Ranges", "bytes"); + response.setHeader("Content-Length", "" + range.getPartSize()); + response.setBufferSize(DEFAULT_BUFFER_SIZE); + response.setHeader("Content-Disposition", "inline;filename=\"" + fileName + "\""); + response.setHeader("ETag", eTag); + response.setDateHeader("Last-Modified", file.lastModified()); + response.setDateHeader("Expires", System.currentTimeMillis() + DEFAULT_EXPIRE_TIME); + + return range; + + } +} Property changes on: base3.10/src/main/java/froala/editor/video/StreamingResponse.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/video/VideoOptions.java =================================================================== --- base3.10/src/main/java/froala/editor/video/VideoOptions.java (nonexistent) +++ base3.10/src/main/java/froala/editor/video/VideoOptions.java (revision 7) @@ -0,0 +1,42 @@ +package froala.editor.video; + +import egovframework.com.cmm.service.EgovProperties; +import froala.editor.file.FileOptions; + +/** + * Video Options used for uploading. + * + * @author florin@froala.com + */ +public class VideoOptions extends FileOptions { + public static final String streamingDefault = "/streaming.do?fileId="; + + private String streamingUrl; + + public String getStreamingUrl () { + return streamingUrl; + } + + public void setStreamingUrl (String streamingUrl) { + this.streamingUrl = streamingUrl; + } + + /** + * Init default video upload settings. + */ + @Override + protected void initDefault () { + setValidation (new VideoValidation ()); + } + + /** + * Constructor. Uses default options: - fieldname "file" - validation default + * VideoValidation. To change them, use getters and setters. + */ + public VideoOptions() { + // super (); + setStreamingUrl (streamingDefault); + initDefault (); + } + +} Property changes on: base3.10/src/main/java/froala/editor/video/VideoOptions.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/file/FileValidation.java =================================================================== --- base3.10/src/main/java/froala/editor/file/FileValidation.java (nonexistent) +++ base3.10/src/main/java/froala/editor/file/FileValidation.java (revision 7) @@ -0,0 +1,120 @@ +package froala.editor.file; + +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.lang.ArrayUtils; + +import froala.editor.CustomValidation; + +/** + * File validation. + * + * @author florin@froala.com + */ +public class FileValidation { + + /** + * Allowed file validation default extensions. + */ + public static final String[] allowedFileExtsDefault = new String[] { "txt", "pdf", "doc", "hwp" }; + + /** + * Allowed file validation default mimetypes. + */ + public static final String[] allowedFileMimeTypesDefault = new String[] { "text/plain", "application/msword", + "application/x-pdf", "application/pdf", "application/haansofthwp" }; + + /** + * Allowed validation extensions. + */ + protected String[] allowedExts; + + /** + * Allowed validation mimetypes. + */ + protected String[] allowedMimeTypes; + + /** + * Custom file validation. + */ + protected CustomValidation customValidation; + + /** + * Init default file validation settings. + */ + protected void initDefault() { + + allowedExts = allowedFileExtsDefault; + allowedMimeTypes = allowedFileMimeTypesDefault; + } + + /** + * Constructor. Validates default files with: - allowed file extensions: + * "txt", "pdf", "doc" - allowed mime types: "text/plain", + * "application/msword", "application/x-pdf", "application/pdf" + */ + public FileValidation() { + + initDefault(); + } + + /** + * Constructor. + * + * @param allowedExts + * Allowed validation file extensions. + * @param allowedMimeTypes + * Allowed validation file mimetypes. + */ + public FileValidation(String[] allowedExts, String[] allowedMimeTypes) { + + initDefault(); + + if (allowedExts != null) { + int cnt = allowedExts.length; + this.allowedExts = new String[cnt]; + for (int i = 0; i < cnt; i++) { + this.allowedExts[i] = allowedExts[i]; + } + } + + if (allowedMimeTypes != null) { + int cnt = allowedMimeTypes.length; + this.allowedMimeTypes = new String[cnt]; + for (int i = 0; i < cnt; i++) { + this.allowedMimeTypes[i] = allowedMimeTypes[i]; + } + } + } + + /** + * Constructor. + * + * @param customValidation + * Custom validation. + */ + public FileValidation(CustomValidation customValidation) { + + initDefault(); + this.customValidation = customValidation; + } + + /** + * Check if file is valid. Use only the custom function if provided. Else + * check if the file has an allowed extension and mimetype. + * + * @param filePath + * File path. + * @param mimeType + * File mimetype + * @return + */ + public boolean check(String filePath, String mimeType) { + + if (customValidation != null) { + return customValidation.validate(filePath, mimeType); + } + + return ArrayUtils.contains(allowedExts, FilenameUtils.getExtension(filePath).toLowerCase()) + && ArrayUtils.contains(allowedMimeTypes, mimeType.toLowerCase()); + } +} Property changes on: base3.10/src/main/java/froala/editor/file/FileValidation.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/file/FileOptions.java =================================================================== --- base3.10/src/main/java/froala/editor/file/FileOptions.java (nonexistent) +++ base3.10/src/main/java/froala/editor/file/FileOptions.java (revision 7) @@ -0,0 +1,89 @@ +package froala.editor.file; + +import egovframework.com.cmm.service.EgovProperties; + +/** + * File Options used for uploading. + * + * @author florin@froala.com + */ +public class FileOptions { + + // Download Url + public String downloadUrl; + + public String getDownloadUrl() { + return downloadUrl; + } + + public void setDownloadUrl(String downloadUrl) { + this.downloadUrl = downloadUrl; + } + + public static final String downloadDefault = "/download.do?fileId="; + /** + * Default Froala Editor tag name that points to the file. + */ + public static final String fieldnameDefault = "file"; + + /** + * Tag name that points to the file. + */ + private String fieldname; + + /** + * Get tag name that points to the file. + */ + public String getFieldname() { + return fieldname; + } + + /** + * Set tag name that points to the file. + */ + public void setFieldname(String fieldname) { + this.fieldname = fieldname; + } + + /** + * File validation. + */ + private FileValidation validation; + + /** + * Get file validation. + */ + public FileValidation getValidation() { + return validation; + } + + /** + * Set file validation. + */ + public void setValidation(FileValidation validation) { + this.validation = validation; + } + + /** + * Init default file upload settings. + */ + protected void initDefault() { + setValidation(new FileValidation()); + } + + /** + * Constructor. Uses default options: - fieldname "file" - validation + * default FileValidation. To change them, use getters and setters. + */ + public FileOptions() { + + // Set default fieldname. + setFieldname(fieldnameDefault); + + // Set default filetype; + setDownloadUrl(downloadDefault); + + // Init default settings. + initDefault(); + } +} Property changes on: base3.10/src/main/java/froala/editor/file/FileOptions.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/EditorFileVO.java =================================================================== --- base3.10/src/main/java/froala/editor/EditorFileVO.java (nonexistent) +++ base3.10/src/main/java/froala/editor/EditorFileVO.java (revision 7) @@ -0,0 +1,136 @@ +package froala.editor; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * 에디터파일 VO + * @author 임종호 + * + */ +@SuppressWarnings("serial") +public class EditorFileVO implements Serializable{ + // 파일ID + private String fileId; + //링크 + private String link; + // 총경로 + private String fullPath; + // 파일확장자 + private String fileExtsn; + // 원본파일명 + private String originFileNm; + // 저장파일명 + private String sysFileNm; + // 업로드경로 + private String uploadDir; + // 파일크기 + private Long fileSize; + // 파일확장자 + private String mime; + // 등록자 + private String registerId; + // 등록일시 + private String registPnttm; + // 페이지수(pdf,tif,tiff) + private Integer pageCnt; + + private List<EditorFileVO> fileList; + + public String getFileId() { + return fileId; + } + public void setFileId(String fileId) { + this.fileId = fileId; + } + public String getLink() { + return link; + } + public void setLink(String link) { + this.link = link; + } + public String getFullPath() { + return fullPath; + } + public void setFullPath(String fullPath) { + this.fullPath = fullPath; + } + public String getFileExtsn() { + return fileExtsn; + } + public void setFileExtsn(String fileExtsn) { + this.fileExtsn = fileExtsn; + } + public String getOriginFileNm() { + return originFileNm; + } + public void setOriginFileNm(String originFileNm) { + this.originFileNm = originFileNm; + } + public String getSysFileNm() { + return sysFileNm; + } + public void setSysFileNm(String sysFileNm) { + this.sysFileNm = sysFileNm; + } + public String getUploadDir() { + return uploadDir; + } + public void setUploadDir(String uploadDir) { + this.uploadDir = uploadDir; + } + public Long getFileSize() { + return fileSize; + } + public void setFileSize(Long fileSize) { + this.fileSize = fileSize; + } + public String getMime() { + return mime; + } + public void setMime(String mime) { + this.mime = mime; + } + public EditorFileVO(String link) { + super(); + this.link = link; + } + public String getRegisterId() { + return registerId; + } + public void setRegisterId(String registerId) { + this.registerId = registerId; + } + public String getRegistPnttm() { + return registPnttm; + } + public void setRegistPnttm(String registPnttm) { + this.registPnttm = registPnttm; + } + public Integer getPageCnt() { + return pageCnt; + } + public void setPageCnt(Integer pageCnt) { + this.pageCnt = pageCnt; + } + public List<EditorFileVO> getFileList() { + if (this.fileList == null) { + return null; + } else { + List<EditorFileVO> list = this.fileList; + return list; + } + } + public void setFileList(List<EditorFileVO> fileList) { + if (fileList != null) { + this.fileList = new ArrayList<EditorFileVO>(); + for (EditorFileVO vo : fileList) { + this.fileList.add(vo); + } + } + } + public EditorFileVO() { + super(); + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/froala/editor/EditorFileVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/froala/editor/Utils.java =================================================================== --- base3.10/src/main/java/froala/editor/Utils.java (nonexistent) +++ base3.10/src/main/java/froala/editor/Utils.java (revision 7) @@ -0,0 +1,114 @@ +package froala.editor; + +import java.io.UnsupportedEncodingException; +import java.security.InvalidKeyException; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.util.Calendar; + +import javax.crypto.Mac; +import javax.crypto.spec.SecretKeySpec; + +import org.apache.commons.codec.binary.Hex; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.multipart.MultipartFile; + +import egovframework.rte.fdl.cmmn.exception.EgovBizException; + +/** + * Basic utils. + * + * @author florin@froala.com + * + */ +public final class Utils { + + private static final Logger LOGGER = LoggerFactory.getLogger(Utils.class); + + /** + * Private constructor. + */ + private Utils() { + + } + + public static String generateUniqueString() throws NoSuchAlgorithmException { + + String miliseconds = System.currentTimeMillis() + ""; + MessageDigest d = null; + d = java.security.MessageDigest.getInstance("SHA-256"); + d.reset(); + d.update(miliseconds.getBytes()); + return bytesToHex(d.digest()); + } + + public static String bytesToHex(byte[] in) { + StringBuilder builder = new StringBuilder(); + for (byte b : in) { + builder.append(String.format("%02x", b)); + } + return builder.toString(); + } + +// public static String getFileName(Part part) { +// for (String cd : part.getHeader("content-disposition").split(";")) { +// if (cd.trim().startsWith("filename")) { +// return cd.substring(cd.indexOf('=') + 1).trim().replace("\"", ""); +// } +// } +// return null; +// } + + public static String getFileName(MultipartFile file) { + if( !file.isEmpty() ) { + return file.getOriginalFilename(); + }; + return null; + } + + public static byte[] hmac(byte[] key, String data) { + Mac sha256_HMAC; + byte[] result = null; + try { + sha256_HMAC = Mac.getInstance("HmacSHA256"); + SecretKeySpec secret_key = new SecretKeySpec(key, "HmacSHA256"); + sha256_HMAC.init(secret_key); + result = sha256_HMAC.doFinal(data.getBytes("UTF-8")); + } catch (NoSuchAlgorithmException | InvalidKeyException | IllegalStateException | UnsupportedEncodingException e) { + return null; + } + return result; + } + + public static String hmac_hex(byte[] key, String data) throws EgovBizException { + return new String(Hex.encodeHex(hmac(key, data))); + } + + public static String getAddDateRoute(String route) { + if( route == null ) return ""; + + // 파일 저장 경로에 날짜 추가 + Calendar cal = Calendar.getInstance(); + //현재 년도, 월, 일 + int year = cal.get(Calendar.YEAR); + int month = cal.get(Calendar.MONTH) + 1; + int date = cal.get(Calendar.DATE); + return route + year + "/" + month + "/" + date + "/"; + } + + public static String getAddTempRoute(String route) { + if( route == null ) return ""; + + // 파일 저장 경로에 임시경로 추가 + String directory = null; + try { + directory = Utils.generateUniqueString(); + } catch (NoSuchAlgorithmException e) { + LOGGER.error("NoSuchAlgorithmException! {}", e); + directory = ""; + } + + return route + directory + "/"; + } +} Property changes on: base3.10/src/main/java/froala/editor/Utils.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/security/filter/EgovSpringSecurityLoginFilter.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/security/filter/EgovSpringSecurityLoginFilter.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/security/filter/EgovSpringSecurityLoginFilter.java (revision 7) @@ -0,0 +1,304 @@ +package egovframework.com.sec.security.filter; + +import java.io.IOException; +import java.util.Map; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.RequestDispatcher; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletRequestWrapper; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.ApplicationContext; +import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; +import org.springframework.security.web.util.matcher.AntPathRequestMatcher; +import org.springframework.web.context.support.WebApplicationContextUtils; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.config.EgovLoginConfig; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.uat.uia.service.EgovLoginService; +import egovframework.rte.psl.dataaccess.util.EgovMap; + +/** + * + * @author 공통서비스 개발팀 서준식 + * @since 2011. 8. 29. + * @version 1.0 + * @see + * + * <pre> + * 개정이력(Modification Information) + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2011.08.29 서준식 최초생성 + * 2011.12.12 유지보수 사용자 로그인 정보 간섭 가능성 문제(멤버 변수 EgovUserDetails userDetails를 로컬변수로 변경) + * 2014.03.07 유지보수 로그인된 상태에서 다시 로그인 시 미처리 되는 문제 수정 (로그인 처리 URL 파라미터화) + * 2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + * 2017.07.10 장동한 실행환경 v3.7(Spring Security 4.0.3 적용) + * 2017.07.21 장동한 로그인인증제한 작업 + * 2020.06.25 신용호 로그인 메시지 처리 수정 + * + * </pre> + */ + +public class EgovSpringSecurityLoginFilter implements Filter { + + private FilterConfig config; + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovSpringSecurityLoginFilter.class); + + public void destroy() { + } + + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { + + LOGGER.info("EgovSpringSecurityLoginFilter called..."); + + // 로그인 URL + String loginURL = config.getInitParameter("loginURL"); + loginURL = loginURL.replaceAll("\r", "").replaceAll("\n", ""); + + String loginProcessURL = config.getInitParameter("loginProcessURL"); + loginProcessURL = loginProcessURL.replaceAll("\r", "").replaceAll("\n", ""); + + ApplicationContext act = WebApplicationContextUtils.getRequiredWebApplicationContext(config.getServletContext()); + EgovLoginService loginService = (EgovLoginService) act.getBean("loginService"); + EgovLoginConfig egovLoginConfig = (EgovLoginConfig) act.getBean("egovLoginConfig"); + + EgovMessageSource egovMessageSource = (EgovMessageSource) act.getBean("egovMessageSource"); + + HttpServletRequest httpRequest = (HttpServletRequest) request; + HttpServletResponse httpResponse = (HttpServletResponse) response; + HttpSession session = httpRequest.getSession(); + //String isLocallyAuthenticated = (String)session.getAttribute("isLocallyAuthenticated"); + String isRemotelyAuthenticated = (String) session.getAttribute("isRemotelyAuthenticated"); + + String requestURL = ((HttpServletRequest) request).getRequestURI(); + + //스프링 시큐리티 인증이 처리 되었는지 EgovUserDetailsHelper.getAuthenticatedUser() 메서드를 통해 확인한다. + //context-common.xml 빈 설정에 egovUserDetailsSecurityService를 등록 해서 사용해야 정상적으로 동작한다. + if (EgovUserDetailsHelper.getAuthenticatedUser() == null || requestURL.contains(loginProcessURL)) { + + if (isRemotelyAuthenticated != null && isRemotelyAuthenticated.equals("true")) { + try { + //세션 토큰 정보를 가지고 DB로부터 사용자 정보를 가져옴 + LoginVO loginVO = (LoginVO) session.getAttribute("loginVOForDBAuthentication"); + loginVO = loginService.actionLoginByEsntlId(loginVO); + + if (loginVO != null && loginVO.getId() != null && !loginVO.getId().equals("")) { + //세션 로그인 + session.setAttribute("loginVO", loginVO); + + //로컬 인증결과 세션에 저장 + session.setAttribute("isLocallyAuthenticated", "true"); + + //스프링 시큐리티 로그인 + //httpResponse.sendRedirect(httpRequest.getContextPath() + "/j_spring_security_check?j_username=" + loginVO.getUserSe() + loginVO.getId() + "&j_password=" + loginVO.getUniqId()); + + UsernamePasswordAuthenticationFilter springSecurity = null; + + Map<String, UsernamePasswordAuthenticationFilter> beans = act.getBeansOfType(UsernamePasswordAuthenticationFilter.class); + if (beans.size() > 0) { + springSecurity = (UsernamePasswordAuthenticationFilter) beans.values().toArray()[0]; + springSecurity.setUsernameParameter("egov_security_username"); + springSecurity.setPasswordParameter("egov_security_password"); + springSecurity.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher(request.getServletContext().getContextPath() +"/egov_security_login", "POST")); + } else { + LOGGER.error("No AuthenticationProcessingFilter"); + throw new IllegalStateException("No AuthenticationProcessingFilter"); + } + //springSecurity.setContinueChainBeforeSuccessfulAuthentication(false); // false 이면 chain 처리 되지 않음.. (filter가 아닌 경우 false로...) + + LOGGER.debug("before security filter call...."); + springSecurity.doFilter(new RequestWrapperForSecurity(httpRequest, loginVO.getUserSe() + loginVO.getId(), loginVO.getUniqId()), httpResponse, chain); + LOGGER.debug("after security filter call...."); + + } + //2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + } catch(IllegalArgumentException e) { + LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); + } catch(Exception e) { + LOGGER.error("["+e.getClass()+"] Try/Catch...Exception : " + e.getMessage()); + } + + } else if (isRemotelyAuthenticated == null) { + if (requestURL.contains(loginProcessURL)) { + + String password = httpRequest.getParameter("password"); + String id = httpRequest.getParameter("id"); + + // 보안점검 후속 조치(Password 검증) + if ((id == null || "".equals(id)) && (password == null || "".equals(password))) { + RequestDispatcher dispatcher = httpRequest.getRequestDispatcher(loginURL); + httpRequest.setAttribute("loginMessage", ""); + dispatcher.forward(httpRequest, httpResponse); + //chain.doFilter(request, response); + return; + } + else if (password == null || password.equals("") || password.length() < 8 || password.length() > 20) { + httpRequest.setAttribute("loginMessage", egovMessageSource.getMessage("fail.common.login.password",request.getLocale())); + RequestDispatcher dispatcher = httpRequest.getRequestDispatcher(loginURL); + + dispatcher.forward(httpRequest, httpResponse); + //chain.doFilter(request, response); + return; + } + + LoginVO loginVO = new LoginVO(); + + loginVO.setId(httpRequest.getParameter("id")); + loginVO.setPassword(password); + loginVO.setUserSe(httpRequest.getParameter("userSe")); + + //------------------------------------------------------------------ + // 로그인시 로그인인증제한 활성화 처리 + //------------------------------------------------------------------ + if(egovLoginConfig.isLock()){ + try{ + Map<?,?> mapLockUserInfo = (EgovMap)loginService.selectLoginIncorrect(loginVO); + if(mapLockUserInfo != null){ + //로그인인증제한 처리 + String sLoginIncorrectCode = loginService.processLoginIncorrect(loginVO, mapLockUserInfo); + if(!sLoginIncorrectCode.equals("E")){ + if(sLoginIncorrectCode.equals("L")){ + request.setAttribute("loginMessage", egovMessageSource.getMessageArgs("fail.common.loginIncorrect", new Object[] {egovLoginConfig.getLockCount(),request.getLocale()})); + }else if(sLoginIncorrectCode.equals("C")){ + request.setAttribute("loginMessage", egovMessageSource.getMessage("fail.common.login",request.getLocale())); + } + httpRequest.getRequestDispatcher(loginURL).forward(request, response); + return; + } + }else{ + request.setAttribute("loginMessage", egovMessageSource.getMessage("fail.common.login",request.getLocale())); + httpRequest.getRequestDispatcher(loginURL).forward(request, response); + return; + } + } catch(IllegalArgumentException e) { + LOGGER.error("[IllegalArgumentException] : "+ e.getMessage()); + } catch(Exception ex) { + LOGGER.error("Login Exception : {}", ex.getCause(), ex); + httpRequest.setAttribute("loginMessage", egovMessageSource.getMessage("fail.common.login",request.getLocale())); + RequestDispatcher dispatcher = httpRequest.getRequestDispatcher(loginURL); + dispatcher.forward(httpRequest, httpResponse); + } + } + + //------------------------------------------------------------------ + // 사용자 로그인 처리 + //------------------------------------------------------------------ + try { + //사용자 입력 id, password로 DB 인증을 실행함 + loginVO = loginService.actionLogin(loginVO); + //사용자 IP 기록 + loginVO.setIp(request.getRemoteAddr()); + if (loginVO != null && loginVO.getId() != null && !loginVO.getId().equals("")) { + //세션 로그인 + session.setAttribute("loginVO", loginVO); + + //로컬 인증결과 세션에 저장 + session.setAttribute("isLocallyAuthenticated", "true"); + + //스프링 시큐리티 로그인 + //httpResponse.sendRedirect(httpRequest.getContextPath() + "/j_spring_security_check?j_username=" + loginVO.getUserSe() + loginVO.getId() + "&j_password=" + loginVO.getUniqId()); + + UsernamePasswordAuthenticationFilter springSecurity = null; + + Map<String, UsernamePasswordAuthenticationFilter> beans = act.getBeansOfType(UsernamePasswordAuthenticationFilter.class); + if (beans.size() > 0) { + springSecurity = (UsernamePasswordAuthenticationFilter) beans.values().toArray()[0]; + springSecurity.setUsernameParameter("egov_security_username"); + springSecurity.setPasswordParameter("egov_security_password"); + springSecurity.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher(request.getServletContext().getContextPath() +"/egov_security_login", "POST")); + } else { + LOGGER.error("No AuthenticationProcessingFilter"); + throw new IllegalStateException("No AuthenticationProcessingFilter"); + } + //springSecurity.setContinueChainBeforeSuccessfulAuthentication(false); // false 이면 chain 처리 되지 않음.. (filter가 아닌 경우 false로...) + + LOGGER.debug("before security filter call...."); + springSecurity.doFilter(new RequestWrapperForSecurity(httpRequest, loginVO.getUserSe() + loginVO.getId(), loginVO.getUniqId()), httpResponse, chain); + LOGGER.debug("after security filter call...."); + + } else { + //사용자 정보가 없는 경우 로그인 화면으로 redirect 시킴 + httpRequest.setAttribute("loginMessage", egovMessageSource.getMessage("fail.common.login",request.getLocale())); + RequestDispatcher dispatcher = httpRequest.getRequestDispatcher(loginURL); + dispatcher.forward(httpRequest, httpResponse); + + //chain.doFilter(request, response); + + return; + + } + } catch(IllegalArgumentException e) { + LOGGER.error("[IllegalArgumentException] : "+ e.getMessage()); + } catch (Exception ex) { + //DB인증 예외가 발생할 경우 로그인 화면으로 redirect 시킴 + LOGGER.error("Login Exception : {}", ex.getCause(), ex); + httpRequest.setAttribute("loginMessage", egovMessageSource.getMessage("fail.common.login",request.getLocale())); + RequestDispatcher dispatcher = httpRequest.getRequestDispatcher(loginURL); + dispatcher.forward(httpRequest, httpResponse); + //chain.doFilter(request, response); + + return; + + } + return; + } + + } + } + + chain.doFilter(request, response); + } + + public void init(FilterConfig filterConfig) throws ServletException { + this.config = filterConfig; + } +} + +class RequestWrapperForSecurity extends HttpServletRequestWrapper { + private String username = null; + private String password = null; + + public RequestWrapperForSecurity(HttpServletRequest request, String username, String password) { + super(request); + + this.username = username; + this.password = password; + } + + @Override + public String getServletPath() { + return ((HttpServletRequest) super.getRequest()).getContextPath() + "/egov_security_login"; + } + + @Override + public String getRequestURI() { + return ((HttpServletRequest) super.getRequest()).getContextPath() + "/egov_security_login"; + } + + @Override + public String getParameter(String name) { + if (name.equals("egov_security_username")) { + return username; + } + + if (name.equals("egov_security_password")) { + return password; + } + + return super.getParameter(name); + } +} Property changes on: base3.10/src/main/java/egovframework/com/sec/security/filter/EgovSpringSecurityLoginFilter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/security/filter/EgovSpringSecurityLogoutFilter.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/security/filter/EgovSpringSecurityLogoutFilter.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/security/filter/EgovSpringSecurityLogoutFilter.java (revision 7) @@ -0,0 +1,62 @@ +package egovframework.com.sec.security.filter; + +import java.io.IOException; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + +/** + * + * @author 공통서비스 개발팀 서준식 + * @since 2011. 8. 29. + * @version 1.0 + * @see + * + * <pre> + * 개정이력(Modification Information) + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2011. 8. 29. 서준식 최초생성 + * 2017.07.10 장동한 실행환경 v3.7(Spring Security 4.0.3 적용) + * + * </pre> + */ + +public class EgovSpringSecurityLogoutFilter implements Filter{ + + @SuppressWarnings("unused") + private FilterConfig config; + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovSpringSecurityLogoutFilter.class); + + public void destroy() {} + + + public void doFilter(ServletRequest request, ServletResponse response, + FilterChain chain) throws IOException, ServletException { + + String requestURL = ((HttpServletRequest)request).getRequestURI(); + LOGGER.debug(requestURL); + + ((HttpServletRequest)request).getSession().setAttribute("loginVO", null); + ((HttpServletResponse)response).sendRedirect(((HttpServletRequest)request).getContextPath() + "/egov_security_logout"); + + } + + public void init(FilterConfig filterConfig) throws ServletException { + + this.config = filterConfig; + + } +} Property changes on: base3.10/src/main/java/egovframework/com/sec/security/filter/EgovSpringSecurityLogoutFilter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/security/common/EgovSessionMapping.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/security/common/EgovSessionMapping.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/security/common/EgovSessionMapping.java (revision 7) @@ -0,0 +1,82 @@ +package egovframework.com.sec.security.common; + +import java.sql.ResultSet; +import java.sql.SQLException; + +import egovframework.com.cmm.LoginVO; + +import egovframework.rte.fdl.security.userdetails.EgovUserDetails; +import egovframework.rte.fdl.security.userdetails.jdbc.EgovUsersByUsernameMapping; + +import javax.sql.DataSource; + +/** + * mapRow 결과를 사용자 EgovUserDetails Object 에 정의한다. + * + * @author ByungHun Woo + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- ------------- ---------------------- + * 2009.03.10 ByungHun Woo 최초 생성 + * 2009.03.20 이문준 UPDATE + * + * </pre> + */ + +public class EgovSessionMapping extends EgovUsersByUsernameMapping { + + /** + * 사용자정보를 테이블에서 조회하여 EgovUsersByUsernameMapping 에 매핑한다. + * @param ds DataSource + * @param usersByUsernameQuery String + */ + public EgovSessionMapping(DataSource ds, String usersByUsernameQuery) { + super(ds, usersByUsernameQuery); + } + + /** + * mapRow Override + * @param rs ResultSet 결과 + * @param rownum row num + * @return Object EgovUserDetails + * @exception SQLException + */ + @Override + protected EgovUserDetails mapRow(ResultSet rs, int rownum) throws SQLException { + logger.debug("## EgovUsersByUsernameMapping mapRow ##"); + + String strUserId = rs.getString("user_id"); + String strPassWord = rs.getString("password"); + boolean strEnabled = rs.getBoolean("enabled"); + + String strUserNm = rs.getString("user_nm"); + String strUserSe = rs.getString("user_se"); + String strUserEmail = rs.getString("user_email"); + String strOrgnztId = rs.getString("orgnzt_id"); + String strUniqId = rs.getString("esntl_id"); + /**2010.06.30 *이용 *조직명 추가 */ + String strOrgnztNm = rs.getString("orgnzt_nm"); + + + + // 세션 항목 설정 + LoginVO loginVO = new LoginVO(); + loginVO.setId(strUserId); + loginVO.setPassword(strPassWord); + loginVO.setName(strUserNm); + loginVO.setUserSe(strUserSe); + loginVO.setEmail(strUserEmail); + loginVO.setOrgnztId(strOrgnztId); + loginVO.setUniqId(strUniqId); + /**2010.06.30 *이용 *조직명 추가 */ + loginVO.setOrgnztNm(strOrgnztNm); + + return new EgovUserDetails(strUserId, strPassWord, strEnabled, loginVO); + } +} Property changes on: base3.10/src/main/java/egovframework/com/sec/security/common/EgovSessionMapping.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/rgm/web/EgovAuthorGroupController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/rgm/web/EgovAuthorGroupController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/rgm/web/EgovAuthorGroupController.java (revision 7) @@ -0,0 +1,168 @@ +package egovframework.com.sec.rgm.web; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.SessionVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.sec.ram.service.AuthorManageVO; +import egovframework.com.sec.ram.service.EgovAuthorManageService; +import egovframework.com.sec.rgm.service.AuthorGroup; +import egovframework.com.sec.rgm.service.AuthorGroupVO; +import egovframework.com.sec.rgm.service.EgovAuthorGroupService; + +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.SessionAttributes; +/** + * 권한그룹에 관한 controller 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * 2011.08.04 서준식 mberTyCodes 구분자 부분 추가 + * 2011.8.26 정진오 IncludedInfo annotation 추가 + * </pre> + */ + + +@Controller +@SessionAttributes(types=SessionVO.class) +public class EgovAuthorGroupController { + + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + @Resource(name = "egovAuthorGroupService") + private EgovAuthorGroupService egovAuthorGroupService; + + @Resource(name = "egovAuthorManageService") + private EgovAuthorManageService egovAuthorManageService; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** + * 권한 목록화면 이동 + * @return String + * @exception Exception + */ + @RequestMapping("/sec/rgm/EgovAuthorGroupListView.do") + public String selectAuthorGroupListView() throws Exception { + + return "egovframework/com/sec/rgm/EgovAuthorGroupManage"; + } + + /** + * 그룹별 할당된 권한 목록 조회 + * @param authorGroupVO AuthorGroupVO + * @param authorManageVO AuthorManageVO + * @return String + * @exception Exception + */ + @IncludedInfo(name="권한그룹관리", listUrl="/sec/rgm/EgovAuthorGroupList.do", order = 70,gid = 20) + @RequestMapping(value="/sec/rgm/EgovAuthorGroupList.do") + public String selectAuthorGroupList(@ModelAttribute("authorGroupVO") AuthorGroupVO authorGroupVO, + @ModelAttribute("authorManageVO") AuthorManageVO authorManageVO, + ModelMap model) throws Exception { + + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(authorGroupVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(authorGroupVO.getPageUnit()); + paginationInfo.setPageSize(authorGroupVO.getPageSize()); + + authorGroupVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + authorGroupVO.setLastIndex(paginationInfo.getLastRecordIndex()); + authorGroupVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + authorGroupVO.setAuthorGroupList(egovAuthorGroupService.selectAuthorGroupList(authorGroupVO)); + model.addAttribute("authorGroupList", authorGroupVO.getAuthorGroupList()); + + int totCnt = egovAuthorGroupService.selectAuthorGroupListTotCnt(authorGroupVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorAllList(authorManageVO)); + model.addAttribute("authorManageList", authorManageVO.getAuthorManageList()); + + model.addAttribute("message", egovMessageSource.getMessage("success.common.select")); + + return "egovframework/com/sec/rgm/EgovAuthorGroupManage"; + } + + /** + * 그룹에 권한정보를 할당하여 데이터베이스에 등록 + * @param userIds String + * @param authorCodes String + * @param regYns String + * @param authorGroup AuthorGroup + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/rgm/EgovAuthorGroupInsert.do") + public String insertAuthorGroup(@RequestParam("userIds") String userIds, + @RequestParam("authorCodes") String authorCodes, + @RequestParam("regYns") String regYns, + @RequestParam("mberTyCodes") String mberTyCodes,// 2011.08.04 수정 부분 + @ModelAttribute("authorGroup") AuthorGroup authorGroup, + ModelMap model) throws Exception { + + String [] strUserIds = userIds.split(";"); + String [] strAuthorCodes = authorCodes.split(";"); + String [] strRegYns = regYns.split(";"); + String [] strMberTyCodes = mberTyCodes.split(";");// 2011.08.04 수정 부분 + + for(int i=0; i<strUserIds.length;i++) { + authorGroup.setUniqId(strUserIds[i]); + authorGroup.setAuthorCode(strAuthorCodes[i]); + authorGroup.setMberTyCode(strMberTyCodes[i]);// 2011.08.04 수정 부분 + if(strRegYns[i].equals("N")) + egovAuthorGroupService.insertAuthorGroup(authorGroup); + else + egovAuthorGroupService.updateAuthorGroup(authorGroup); + } + + model.addAttribute("message", egovMessageSource.getMessage("success.common.insert")); + return "forward:/sec/rgm/EgovAuthorGroupList.do"; + } + + /** + * 그룹별 할당된 시스템 메뉴 접근권한을 삭제 + * @param userIds String + * @param authorGroup AuthorGroup + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/rgm/EgovAuthorGroupDelete.do") + public String deleteAuthorGroup(@RequestParam("userIds") String userIds, + @ModelAttribute("authorGroup") AuthorGroup authorGroup, + ModelMap model) throws Exception { + + String [] strUserIds = userIds.split(";"); + for(int i=0; i<strUserIds.length;i++) { + authorGroup.setUniqId(strUserIds[i]); + egovAuthorGroupService.deleteAuthorGroup(authorGroup); + } + + model.addAttribute("message", egovMessageSource.getMessage("success.common.delete")); + return "forward:/sec/rgm/EgovAuthorGroupList.do"; + } + + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/rgm/web/EgovAuthorGroupController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/rgm/service/impl/AuthorGroupDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/rgm/service/impl/AuthorGroupDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/rgm/service/impl/AuthorGroupDAO.java (revision 7) @@ -0,0 +1,78 @@ +package egovframework.com.sec.rgm.service.impl; + +import java.util.List; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sec.rgm.service.AuthorGroup; +import egovframework.com.sec.rgm.service.AuthorGroupVO; + +import org.springframework.stereotype.Repository; + +/** + * 권한그룹에 대한 DAO 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * + * </pre> + */ + +@Repository("authorGroupDAO") +public class AuthorGroupDAO extends EgovComAbstractDAO { + + /** + * 그룹별 할당된 권한 목록 조회 + * @param authorGroupVO AuthorGroupVO + * @return List<AuthorGroupVO> + * @exception Exception + */ + @SuppressWarnings("unchecked") + public List<AuthorGroupVO> selectAuthorGroupList(AuthorGroupVO authorGroupVO) throws Exception { + return (List<AuthorGroupVO>) list("authorGroupDAO.selectAuthorGroupList", authorGroupVO); + } + + /** + * 그룹에 권한정보를 할당하여 데이터베이스에 등록 + * @param authorGroup AuthorGroup + * @exception Exception + */ + public void insertAuthorGroup(AuthorGroup authorGroup) throws Exception { + insert("authorGroupDAO.insertAuthorGroup", authorGroup); + } + + /** + * 화면에 조회된 그룹권한정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param authorGroup AuthorGroup + * @exception Exception + */ + public void updateAuthorGroup(AuthorGroup authorGroup) throws Exception { + update("authorGroupDAO.updateAuthorGroup", authorGroup); + } + + /** + * 그룹별 할당된 시스템 메뉴 접근권한을 삭제 + * @param authorGroup AuthorGroup + * @exception Exception + */ + public void deleteAuthorGroup(AuthorGroup authorGroup) throws Exception { + delete("authorGroupDAO.deleteAuthorGroup", authorGroup); + } + + /** + * 그룹권한목록 총 갯수를 조회한다. + * @param authorGroupVO AuthorGroupVO + * @return int + * @exception Exception + */ + public int selectAuthorGroupListTotCnt(AuthorGroupVO authorGroupVO) throws Exception { + return (Integer)selectOne("authorGroupDAO.selectAuthorGroupListTotCnt", authorGroupVO); + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/rgm/service/impl/AuthorGroupDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/rgm/service/impl/EgovAuthorGroupServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/rgm/service/impl/EgovAuthorGroupServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/rgm/service/impl/EgovAuthorGroupServiceImpl.java (revision 7) @@ -0,0 +1,85 @@ +package egovframework.com.sec.rgm.service.impl; + +import java.util.List; + +import egovframework.com.sec.rgm.service.AuthorGroup; +import egovframework.com.sec.rgm.service.AuthorGroupVO; +import egovframework.com.sec.rgm.service.EgovAuthorGroupService; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * 권한그룹에 관한 ServiceImpl 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * + * </pre> + */ + +@Service("egovAuthorGroupService") +public class EgovAuthorGroupServiceImpl extends EgovAbstractServiceImpl implements EgovAuthorGroupService { + + @Resource(name="authorGroupDAO") + private AuthorGroupDAO authorGroupDAO; + + /** + * 그룹별 할당된 권한 목록 조회 + * @param authorGroupVO AuthorGroupVO + * @return List<AuthorGroupVO> + * @exception Exception + */ + public List<AuthorGroupVO> selectAuthorGroupList(AuthorGroupVO authorGroupVO) throws Exception{ + return authorGroupDAO.selectAuthorGroupList(authorGroupVO); + } + + /** + * 그룹에 권한정보를 할당하여 데이터베이스에 등록 + * @param authorGroup AuthorGroup + * @exception Exception + */ + public void insertAuthorGroup(AuthorGroup authorGroup) throws Exception{ + authorGroupDAO.insertAuthorGroup(authorGroup); + } + + /** + * 화면에 조회된 그룹권한정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param authorGroup AuthorGroup + * @exception Exception + */ + public void updateAuthorGroup(AuthorGroup authorGroup) throws Exception{ + authorGroupDAO.updateAuthorGroup(authorGroup); + } + + /** + * 그룹별 할당된 시스템 메뉴 접근권한을 삭제 + * @param authorGroup AuthorGroup + * @exception Exception + */ + public void deleteAuthorGroup(AuthorGroup authorGroup) throws Exception { + authorGroupDAO.deleteAuthorGroup(authorGroup); + } + + /** + * 목록조회 카운트를 반환한다 + * @param authorGroupVO AuthorGroupVO + * @return int + * @exception Exception + */ + public int selectAuthorGroupListTotCnt(AuthorGroupVO authorGroupVO) throws Exception { + return authorGroupDAO.selectAuthorGroupListTotCnt(authorGroupVO); + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/rgm/service/impl/EgovAuthorGroupServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/rgm/service/AuthorGroupVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/rgm/service/AuthorGroupVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/rgm/service/AuthorGroupVO.java (revision 7) @@ -0,0 +1,44 @@ +package egovframework.com.sec.rgm.service; + +import java.util.List; + +/** + * 권한그룹에 대한 Vo 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * + * </pre> + */ + +public class AuthorGroupVO extends AuthorGroup { + + private static final long serialVersionUID = 1L; + + List <AuthorGroupVO> authorGroupList; + + /** + * authorGroupList attribute 를 리턴한다. + * @return List<AuthorGroupVO> + */ + public List<AuthorGroupVO> getAuthorGroupList() { + return authorGroupList; + } + /** + * authorGroupList attribute 값을 설정한다. + * @param authorGroupList List<AuthorGroupVO> + */ + public void setAuthorGroupList(List<AuthorGroupVO> authorGroupList) { + this.authorGroupList = authorGroupList; + } + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/rgm/service/AuthorGroupVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/rgm/service/EgovAuthorGroupService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/rgm/service/EgovAuthorGroupService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/rgm/service/EgovAuthorGroupService.java (revision 7) @@ -0,0 +1,62 @@ +package egovframework.com.sec.rgm.service; + +import java.util.List; + + +/** + * 권한그룹에 관한 서비스 인터페이스 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * + * </pre> + */ + +public interface EgovAuthorGroupService { + + /** + * 그룹별 할당된 시스템 메뉴 접근권한을 삭제 + * @param authorGroup AuthorGroup + * @exception Exception + */ + public void deleteAuthorGroup(AuthorGroup authorGroup) throws Exception; + + /** + * 그룹에 권한정보를 할당하여 데이터베이스에 등록 + * @param authorGroup AuthorGroup + * @exception Exception + */ + public void insertAuthorGroup(AuthorGroup authorGroup) throws Exception; + + /** + * 그룹별 할당된 권한 목록 조회 + * @param authorGroupVO AuthorGroupVO + * @return List<AuthorGroupVO> + * @exception Exception + */ + public List<AuthorGroupVO> selectAuthorGroupList(AuthorGroupVO authorGroupVO) throws Exception; + + /** + * 화면에 조회된 그룹권한정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param authorGroup AuthorGroup + * @exception Exception + */ + public void updateAuthorGroup(AuthorGroup authorGroup) throws Exception; + + /** + * 목록조회 카운트를 반환한다 + * @param authorGroupVO AuthorGroupVO + * @return int + * @exception Exception + */ + public int selectAuthorGroupListTotCnt(AuthorGroupVO authorGroupVO) throws Exception; + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/rgm/service/EgovAuthorGroupService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/rgm/service/AuthorGroup.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/rgm/service/AuthorGroup.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/rgm/service/AuthorGroup.java (revision 7) @@ -0,0 +1,195 @@ +package egovframework.com.sec.rgm.service; + +import egovframework.com.cmm.ComDefaultVO; + + +/** + * 권한그룹에 대한 model 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * + * </pre> + */ + +public class AuthorGroup extends ComDefaultVO { + /** + * serialVersionUID + */ + private static final long serialVersionUID = 1L; + /** + * 권한그룹관리 + */ + private AuthorGroup authorGroup; + /** + * 설정대상 사용자 ID + */ + private String userId; + /** + * 설정대상 사용자 명 + */ + private String userNm; + /** + * 설정대상 그룹 ID + */ + private String groupId; + /** + * 설정대상 사용자 유형 코드 + */ + private String mberTyCode; + /** + * 설정대상 사용자 유형 명 + */ + private String mberTyNm; + /** + * 권한코드 + */ + private String authorCode; + /** + * 등록 여부 + */ + private String regYn; + /** + * Uniq ID + */ + private String uniqId; + + /** + * authorGroup attribute 를 리턴한다. + * @return AuthorGroup + */ + public AuthorGroup getAuthorGroup() { + return authorGroup; + } + /** + * authorGroup attribute 값을 설정한다. + * @param authorGroup AuthorGroup + */ + public void setAuthorGroup(AuthorGroup authorGroup) { + this.authorGroup = authorGroup; + } + /** + * userId attribute 를 리턴한다. + * @return String + */ + public String getUserId() { + return userId; + } + /** + * userId attribute 값을 설정한다. + * @param userId String + */ + public void setUserId(String userId) { + this.userId = userId; + } + /** + * userNm attribute 를 리턴한다. + * @return String + */ + public String getUserNm() { + return userNm; + } + /** + * userNm attribute 값을 설정한다. + * @param userNm String + */ + public void setUserNm(String userNm) { + this.userNm = userNm; + } + /** + * groupId attribute 를 리턴한다. + * @return String + */ + public String getGroupId() { + return groupId; + } + /** + * groupId attribute 값을 설정한다. + * @param groupId String + */ + public void setGroupId(String groupId) { + this.groupId = groupId; + } + /** + * mberTyCode attribute 를 리턴한다. + * @return String + */ + public String getMberTyCode() { + return mberTyCode; + } + /** + * mberTyCode attribute 값을 설정한다. + * @param mberTyCode String + */ + public void setMberTyCode(String mberTyCode) { + this.mberTyCode = mberTyCode; + } + /** + * mberTyNm attribute 를 리턴한다. + * @return String + */ + public String getMberTyNm() { + return mberTyNm; + } + /** + * mberTyNm attribute 값을 설정한다. + * @param mberTyNm String + */ + public void setMberTyNm(String mberTyNm) { + this.mberTyNm = mberTyNm; + } + /** + * authorCode attribute 를 리턴한다. + * @return String + */ + public String getAuthorCode() { + return authorCode; + } + /** + * authorCode attribute 값을 설정한다. + * @param authorCode String + */ + public void setAuthorCode(String authorCode) { + this.authorCode = authorCode; + } + /** + * regYn attribute 를 리턴한다. + * @return String + */ + public String getRegYn() { + return regYn; + } + /** + * regYn attribute 값을 설정한다. + * @param regYn String + */ + public void setRegYn(String regYn) { + this.regYn = regYn; + } + /** + * uniqId attribute 를 리턴한다. + * @return String + */ + public String getUniqId() { + return uniqId; + } + /** + * uniqId attribute 값을 설정한다. + * @param uniqId String + */ + public void setUniqId(String uniqId) { + this.uniqId = uniqId; + } + + + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/rgm/service/AuthorGroup.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/rmt/web/EgovRoleManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/rmt/web/EgovRoleManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/rmt/web/EgovRoleManageController.java (revision 7) @@ -0,0 +1,273 @@ +package egovframework.com.sec.rmt.web; + +import java.util.List; + +import egovframework.com.cmm.ComDefaultCodeVO; +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.SessionVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.service.EgovCmmUseService; +import egovframework.com.sec.ram.service.AuthorManageVO; +import egovframework.com.sec.ram.service.EgovAuthorManageService; +import egovframework.com.sec.rmt.service.EgovRoleManageService; +import egovframework.com.sec.rmt.service.RoleManage; +import egovframework.com.sec.rmt.service.RoleManageVO; + +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.SessionAttributes; +import org.springmodules.validation.commons.DefaultBeanValidator; + +/** + * 롤관리에 관한 controller 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * 2011.8.26 정진오 IncludedInfo annotation 추가 + * + * </pre> + */ + + +@Controller +@SessionAttributes(types=SessionVO.class) +public class EgovRoleManageController { + + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + @Resource(name = "egovRoleManageService") + private EgovRoleManageService egovRoleManageService; + + @Resource(name = "EgovCmmUseService") + EgovCmmUseService egovCmmUseService; + + @Resource(name = "egovAuthorManageService") + private EgovAuthorManageService egovAuthorManageService; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** Message ID Generation */ + @Resource(name="egovRoleIdGnrService") + private EgovIdGnrService egovRoleIdGnrService; + + @Autowired + private DefaultBeanValidator beanValidator; + + /** + * 롤 목록화면 이동 + * @return String + * @exception Exception + */ + @RequestMapping("/sec/rmt/EgovRoleListView.do") + public String selectRoleListView() + throws Exception { + return "egovframework/com/sec/rmt/EgovRoleManage"; + } + + /** + * 등록된 롤 정보 목록 조회 + * @param roleManageVO RoleManageVO + * @return String + * @exception Exception + */ + @IncludedInfo(name="롤관리", listUrl="/sec/rmt/EgovRoleList.do", order = 90,gid = 20) + @RequestMapping(value="/sec/rmt/EgovRoleList.do") + public String selectRoleList(@ModelAttribute("roleManageVO") RoleManageVO roleManageVO, + ModelMap model) throws Exception { + + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(roleManageVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(roleManageVO.getPageUnit()); + paginationInfo.setPageSize(roleManageVO.getPageSize()); + + roleManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + roleManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); + roleManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + roleManageVO.setRoleManageList(egovRoleManageService.selectRoleList(roleManageVO)); + model.addAttribute("roleList", roleManageVO.getRoleManageList()); + + int totCnt = egovRoleManageService.selectRoleListTotCnt(roleManageVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("message", egovMessageSource.getMessage("success.common.select")); + + return "egovframework/com/sec/rmt/EgovRoleManage"; + } + + /** + * 등록된 롤 정보 조회 + * @param roleCode String + * @param roleManageVO RoleManageVO + * @param authorManageVO AuthorManageVO + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/rmt/EgovRole.do") + public String selectRole(@RequestParam("roleCode") String roleCode, + @ModelAttribute("roleManageVO") RoleManageVO roleManageVO, + @ModelAttribute("authorManageVO") AuthorManageVO authorManageVO, + ModelMap model) throws Exception { + + roleManageVO.setRoleCode(roleCode); + + authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorAllList(authorManageVO)); + + model.addAttribute("roleManage", egovRoleManageService.selectRole(roleManageVO)); + model.addAttribute("authorManageList", authorManageVO.getAuthorManageList()); + model.addAttribute("cmmCodeDetailList", getCmmCodeDetailList(new ComDefaultCodeVO(),"COM029")); + + return "egovframework/com/sec/rmt/EgovRoleUpdate"; + } + + /** + * 롤 등록화면 이동 + * @param authorManageVO AuthorManageVO + * @return String + * @exception Exception + */ + @RequestMapping("/sec/rmt/EgovRoleInsertView.do") + public String insertRoleView(@ModelAttribute("authorManageVO") AuthorManageVO authorManageVO, + @ModelAttribute("roleManage") RoleManage roleManage, + ModelMap model) throws Exception { + + authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorAllList(authorManageVO)); + model.addAttribute("authorManageList", authorManageVO.getAuthorManageList()); + model.addAttribute("cmmCodeDetailList", getCmmCodeDetailList(new ComDefaultCodeVO(),"COM029")); + + return "egovframework/com/sec/rmt/EgovRoleInsert"; + } + + /** + * 공통코드 호출 + * @param comDefaultCodeVO ComDefaultCodeVO + * @param codeId String + * @return List + * @exception Exception + */ + public List<?> getCmmCodeDetailList(ComDefaultCodeVO comDefaultCodeVO, String codeId) throws Exception { + comDefaultCodeVO.setCodeId(codeId); + return egovCmmUseService.selectCmmCodeDetail(comDefaultCodeVO); + } + + /** + * 시스템 메뉴에 따른 접근권한, 데이터 입력, 수정, 삭제의 권한 롤을 등록 + * @param roleManage RoleManage + * @param roleManageVO RoleManageVO + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/rmt/EgovRoleInsert.do") + public String insertRole(@ModelAttribute("roleManage") RoleManage roleManage, + @ModelAttribute("roleManageVO") RoleManageVO roleManageVO, + BindingResult bindingResult, + ModelMap model) throws Exception { + + beanValidator.validate(roleManage, bindingResult); //validation 수행 + + if (bindingResult.hasErrors()) { + return "egovframework/com/sec/rmt/EgovRoleInsert"; + } else { + String roleTyp = roleManage.getRoleTyp(); + if("method".equals(roleTyp))//KISA 보안약점 조치 (2018-10-29, 윤창원) + roleTyp = "mtd"; + else if("pointcut".equals(roleTyp))//KISA 보안약점 조치 (2018-10-29, 윤창원) + roleTyp = "pct"; + else roleTyp = "web"; + + roleManage.setRoleCode(roleTyp.concat("-").concat(egovRoleIdGnrService.getNextStringId())); + roleManageVO.setRoleCode(roleManage.getRoleCode()); + + model.addAttribute("cmmCodeDetailList", getCmmCodeDetailList(new ComDefaultCodeVO(),"COM029")); + model.addAttribute("message", egovMessageSource.getMessage("success.common.insert")); + model.addAttribute("roleManage", egovRoleManageService.insertRole(roleManage, roleManageVO)); + + //return "egovframework/com/sec/rmt/EgovRoleUpdate"; + return "forward:/sec/rmt/EgovRoleList.do"; + } + } + + /** + * 시스템 메뉴에 따른 접근권한, 데이터 입력, 수정, 삭제의 권한 롤을 수정 + * @param roleManage RoleManage + * @param bindingResult BindingResult + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/rmt/EgovRoleUpdate.do") + public String updateRole(@ModelAttribute("roleManage") RoleManage roleManage, + BindingResult bindingResult, + ModelMap model) throws Exception { + + beanValidator.validate(roleManage, bindingResult); //validation 수행 + if (bindingResult.hasErrors()) { + return "egovframework/com/sec/rmt/EgovRoleUpdate"; + } else { + egovRoleManageService.updateRole(roleManage); + model.addAttribute("message", egovMessageSource.getMessage("success.common.update")); + //return "forward:/sec/rmt/EgovRole.do"; + return "forward:/sec/rmt/EgovRoleList.do"; + } + } + + /** + * 불필요한 롤정보를 화면에 조회하여 데이터베이스에서 삭제 + * @param roleManage RoleManage + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/rmt/EgovRoleDelete.do") + public String deleteRole(@ModelAttribute("roleManage") RoleManage roleManage, + ModelMap model) throws Exception { + egovRoleManageService.deleteRole(roleManage); + model.addAttribute("message", egovMessageSource.getMessage("success.common.delete")); + return "forward:/sec/rmt/EgovRoleList.do"; + + } + + /** + * 불필요한 그룹정보 목록을 화면에 조회하여 데이터베이스에서 삭제 + * @param roleCodes String + * @param roleManage RoleManage + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/rmt/EgovRoleListDelete.do") + public String deleteRoleList(@RequestParam("roleCodes") String roleCodes, + @ModelAttribute("roleManage") RoleManage roleManage, + Model model) throws Exception { + String [] strRoleCodes = roleCodes.split(";"); + for(int i=0; i<strRoleCodes.length;i++) { + roleManage.setRoleCode(strRoleCodes[i]); + egovRoleManageService.deleteRole(roleManage); + } + + model.addAttribute("message", egovMessageSource.getMessage("success.common.delete")); + return "forward:/sec/rmt/EgovRoleList.do"; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/rmt/web/EgovRoleManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/rmt/service/impl/RoleManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/rmt/service/impl/RoleManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/rmt/service/impl/RoleManageDAO.java (revision 7) @@ -0,0 +1,98 @@ +package egovframework.com.sec.rmt.service.impl; + +import java.util.List; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sec.rmt.service.RoleManage; +import egovframework.com.sec.rmt.service.RoleManageVO; + +import org.springframework.stereotype.Repository; + +/** + * 롤관리에 대한 DAO 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * + * </pre> + */ + +@Repository("roleManageDAO") +public class RoleManageDAO extends EgovComAbstractDAO { + + /** + * 등록된 롤 정보 조회 + * @param roleManageVO RoleManageVO + * @return RoleManageVO + * @exception Exception + */ + public RoleManageVO selectRole(RoleManageVO roleManageVO) throws Exception { + return (RoleManageVO) selectOne("roleManageDAO.selectRole", roleManageVO); + } + + /** + * 등록된 롤 정보 목록 조회 + * @param roleManageVO RoleManageVO + * @return List<RoleManageVO> + * @exception Exception + */ + @SuppressWarnings("unchecked") + public List<RoleManageVO> selectRoleList(RoleManageVO roleManageVO) throws Exception { + return (List<RoleManageVO>) list("roleManageDAO.selectRoleList", roleManageVO); + } + + /** + * 시스템 메뉴에 따른 접근권한, 데이터 입력, 수정, 삭제의 권한 롤을 등록 + * @param roleManage RoleManage + * @exception Exception + */ + public void insertRole(RoleManage roleManage) throws Exception { + insert("roleManageDAO.insertRole", roleManage); + } + /** + * 시스템 메뉴에 따른 접근권한, 데이터 입력, 수정, 삭제의 권한 롤을 수정 + * @param roleManage RoleManage + * @exception Exception + */ + public void updateRole(RoleManage roleManage) throws Exception { + update("roleManageDAO.updateRole", roleManage); + } + /** + * 불필요한 롤정보를 화면에 조회하여 데이터베이스에서 삭제 + * @param roleManage RoleManage + * @exception Exception + */ + public void deleteRole(RoleManage roleManage) throws Exception { + delete("roleManageDAO.deleteRole", roleManage); + } + + /** + * 롤목록 총 갯수를 조회한다. + * @param roleManageVO RoleManageVO + * @return int + * @exception Exception + */ + public int selectRoleListTotCnt(RoleManageVO roleManageVO) throws Exception { + return (Integer)selectOne("roleManageDAO.selectAuthorListTotCnt", roleManageVO); + } + + /** + * 등록된 모든 롤 정보 목록 조회 + * @param roleManageVO RoleManageVO + * @return List<RoleManageVO> + * @exception Exception + */ + @SuppressWarnings("unchecked") + public List<RoleManageVO> selectRoleAllList(RoleManageVO roleManageVO) throws Exception { + return (List<RoleManageVO>) list("roleManageDAO.selectRoleAllList", roleManageVO); + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/rmt/service/impl/RoleManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/rmt/service/impl/EgovRoleManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/rmt/service/impl/EgovRoleManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/rmt/service/impl/EgovRoleManageServiceImpl.java (revision 7) @@ -0,0 +1,109 @@ +package egovframework.com.sec.rmt.service.impl; + +import java.util.List; + +import egovframework.com.sec.rmt.service.EgovRoleManageService; +import egovframework.com.sec.rmt.service.RoleManage; +import egovframework.com.sec.rmt.service.RoleManageVO; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * 롤관리에 관한 ServiceImpl 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * + * </pre> + */ + +@Service("egovRoleManageService") +public class EgovRoleManageServiceImpl extends EgovAbstractServiceImpl implements EgovRoleManageService { + + @Resource(name="roleManageDAO") + public RoleManageDAO roleManageDAO; + + /** + * 등록된 롤 정보 조회 + * @param roleManageVO RoleManageVO + * @return RoleManageVO + * @exception Exception + */ + public RoleManageVO selectRole(RoleManageVO roleManageVO) throws Exception { + return roleManageDAO.selectRole(roleManageVO); + } + + /** + * 등록된 롤 정보 목록 조회 + * @param roleManageVO RoleManageVO + * @return List<RoleManageVO> + * @exception Exception + */ + public List<RoleManageVO> selectRoleList(RoleManageVO roleManageVO) throws Exception { + return roleManageDAO.selectRoleList(roleManageVO); + } + + /** + * 불필요한 롤정보를 화면에 조회하여 데이터베이스에서 삭제 + * @param roleManage RoleManage + * @exception Exception + */ + public void deleteRole(RoleManage roleManage) throws Exception { + roleManageDAO.deleteRole(roleManage); + } + + /** + * 시스템 메뉴에 따른 접근권한, 데이터 입력, 수정, 삭제의 권한 롤을 수정 + * @param roleManage RoleManage + * @exception Exception + */ + public void updateRole(RoleManage roleManage) throws Exception { + roleManageDAO.updateRole(roleManage); + } + + /** + * 시스템 메뉴에 따른 접근권한, 데이터 입력, 수정, 삭제의 권한 롤을 등록 + * @param roleManage RoleManage + * @param roleManageVO RoleManageVO + * @return RoleManageVO + * @exception Exception + */ + public RoleManageVO insertRole(RoleManage roleManage, RoleManageVO roleManageVO) throws Exception { + roleManageDAO.insertRole(roleManage); + roleManageVO.setRoleCode(roleManage.getRoleCode()); + return roleManageDAO.selectRole(roleManageVO); + } + + /** + * 목록조회 카운트를 반환한다 + * @param roleManageVO RoleManageVO + * @return int + * @exception Exception + */ + public int selectRoleListTotCnt(RoleManageVO roleManageVO) throws Exception { + return roleManageDAO.selectRoleListTotCnt(roleManageVO); + } + + /** + * 등록된 모든 롤 정보 목록 조회 + * @param roleManageVO - 등록할 정보가 담긴 RoleManageVO + * @return List + * @exception Exception + */ + public List<RoleManageVO> selectRoleAllList(RoleManageVO roleManageVO) throws Exception { + return roleManageDAO.selectRoleAllList(roleManageVO); + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/rmt/service/impl/EgovRoleManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/rmt/service/RoleManage.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/rmt/service/RoleManage.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/rmt/service/RoleManage.java (revision 7) @@ -0,0 +1,192 @@ +package egovframework.com.sec.rmt.service; + +import egovframework.com.cmm.ComDefaultVO; + +/** + * 롤관리에 대한 model 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * + * </pre> + */ + +public class RoleManage extends ComDefaultVO { + /** + * serialVersionUID + */ + private static final long serialVersionUID = 1L; + /** + * 롤 관리 + */ + private RoleManage roleManage; + /** + * 롤코드 + */ + private String roleCode; + /** + * 롤명 + */ + private String roleNm; + /** + * 롤패턴 + */ + private String rolePtn; + /** + * 롤 설명 + */ + private String roleDc; + /** + * 롤 타입 + */ + private String roleTyp; + /** + * 롤 Sort + */ + private String roleSort; + /** + * 롤 등록일시 + */ + private String roleCreatDe; + /** + * 권한 코드 + */ + private String authorCode; + + /** + * roleManage attribute 를 리턴한다. + * @return RoleManage + */ + public RoleManage getRoleManage() { + return roleManage; + } + /** + * roleManage attribute 값을 설정한다. + * @param roleManage RoleManage + */ + public void setRoleManage(RoleManage roleManage) { + this.roleManage = roleManage; + } + /** + * roleCode attribute 를 리턴한다. + * @return String + */ + public String getRoleCode() { + return roleCode; + } + /** + * roleCode attribute 값을 설정한다. + * @param roleCode String + */ + public void setRoleCode(String roleCode) { + this.roleCode = roleCode; + } + /** + * roleNm attribute 를 리턴한다. + * @return String + */ + public String getRoleNm() { + return roleNm; + } + /** + * roleNm attribute 값을 설정한다. + * @param roleNm String + */ + public void setRoleNm(String roleNm) { + this.roleNm = roleNm; + } + /** + * rolePtn attribute 를 리턴한다. + * @return String + */ + public String getRolePtn() { + return rolePtn; + } + /** + * rolePtn attribute 값을 설정한다. + * @param rolePtn String + */ + public void setRolePtn(String rolePtn) { + this.rolePtn = rolePtn; + } + /** + * roleDc attribute 를 리턴한다. + * @return String + */ + public String getRoleDc() { + return roleDc; + } + /** + * roleDc attribute 값을 설정한다. + * @param roleDc String + */ + public void setRoleDc(String roleDc) { + this.roleDc = roleDc; + } + /** + * roleTyp attribute 를 리턴한다. + * @return String + */ + public String getRoleTyp() { + return roleTyp; + } + /** + * roleTyp attribute 값을 설정한다. + * @param roleTyp String + */ + public void setRoleTyp(String roleTyp) { + this.roleTyp = roleTyp; + } + /** + * roleSort attribute 를 리턴한다. + * @return String + */ + public String getRoleSort() { + return roleSort; + } + /** + * roleSort attribute 값을 설정한다. + * @param roleSort String + */ + public void setRoleSort(String roleSort) { + this.roleSort = roleSort; + } + /** + * roleCreatDe attribute 를 리턴한다. + * @return String + */ + public String getRoleCreatDe() { + return roleCreatDe; + } + /** + * roleCreatDe attribute 값을 설정한다. + * @param roleCreatDe String + */ + public void setRoleCreatDe(String roleCreatDe) { + this.roleCreatDe = roleCreatDe; + } + /** + * authorCode attribute 를 리턴한다. + * @return String + */ + public String getAuthorCode() { + return authorCode; + } + /** + * authorCode attribute 값을 설정한다. + * @param authorCode String + */ + public void setAuthorCode(String authorCode) { + this.authorCode = authorCode; + } + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/rmt/service/RoleManage.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/rmt/service/RoleManageVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/rmt/service/RoleManageVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/rmt/service/RoleManageVO.java (revision 7) @@ -0,0 +1,66 @@ +package egovframework.com.sec.rmt.service; + +import java.util.List; + +/** + * 롤관리에 대한 Vo 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * + * </pre> + */ + +public class RoleManageVO extends RoleManage { + /** + * serialVersionUID + */ + private static final long serialVersionUID = 1L; + /** + * 롤 목록 + */ + List <RoleManageVO> roleManageList; + /** + * 삭제대상 목록 + */ + String[] delYn; + + /** + * roleManageList attribute 를 리턴한다. + * @return List<RoleManageVO> + */ + public List<RoleManageVO> getRoleManageList() { + return roleManageList; + } + /** + * roleManageList attribute 값을 설정한다. + * @param roleManageList List<RoleManageVO> + */ + public void setRoleManageList(List<RoleManageVO> roleManageList) { + this.roleManageList = roleManageList; + } + /** + * delYn attribute 를 리턴한다. + * @return String[] + */ + public String[] getDelYn() { + return delYn; + } + /** + * delYn attribute 값을 설정한다. + * @param delYn String[] + */ + public void setDelYn(String[] delYn) { + this.delYn = delYn; + } + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/rmt/service/RoleManageVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/rmt/service/EgovRoleManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/rmt/service/EgovRoleManageService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/rmt/service/EgovRoleManageService.java (revision 7) @@ -0,0 +1,81 @@ +package egovframework.com.sec.rmt.service; + +import java.util.List; + + +/** + * 롤관리에 관한 서비스 인터페이스 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * + * </pre> + */ + +public interface EgovRoleManageService { + + /** + * 등록된 롤 정보 조회 + * @param roleManageVO RoleManageVO + * @return RoleManageVO + * @exception Exception + */ + public RoleManageVO selectRole(RoleManageVO roleManageVO) throws Exception; + + /** + * 등록된 롤 정보 목록 조회 + * @param roleManageVO RoleManageVO + * @return List<RoleManageVO> + * @exception Exception + */ + public List<RoleManageVO> selectRoleList(RoleManageVO roleManageVO) throws Exception; + + /** + * 불필요한 롤정보를 화면에 조회하여 데이터베이스에서 삭제 + * @param roleManage RoleManage + * @exception Exception + */ + public void deleteRole(RoleManage roleManage) throws Exception; + + /** + * 시스템 메뉴에 따른 접근권한, 데이터 입력, 수정, 삭제의 권한 롤을 수정 + * @param roleManage RoleManage + * @exception Exception + */ + public void updateRole(RoleManage roleManage) throws Exception; + + /** + * 시스템 메뉴에 따른 접근권한, 데이터 입력, 수정, 삭제의 권한 롤을 등록 + * @param roleManage RoleManage + * @param roleManageVO RoleManageVO + * @return RoleManageVO + * @exception Exception + */ + public RoleManageVO insertRole(RoleManage roleManage, RoleManageVO roleManageVO) throws Exception; + + /** + * 목록조회 카운트를 반환한다 + * @param roleManageVO RoleManageVO + * @return int + * @exception Exception + */ + public int selectRoleListTotCnt(RoleManageVO roleManageVO) throws Exception; + + /** + * 등록된 모든 롤 정보 목록 조회 + * @param roleManageVO RoleManageVO + * @return List<RoleManageVO> + * @exception Exception + */ + public List<RoleManageVO> selectRoleAllList(RoleManageVO roleManageVO) throws Exception; + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/rmt/service/EgovRoleManageService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/gmt/web/EgovGroupManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/gmt/web/EgovGroupManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/gmt/web/EgovGroupManageController.java (revision 7) @@ -0,0 +1,259 @@ +package egovframework.com.sec.gmt.web; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.SessionVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.sec.gmt.service.EgovGroupManageService; +import egovframework.com.sec.gmt.service.GroupManage; +import egovframework.com.sec.gmt.service.GroupManageVO; + +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.SessionAttributes; +import org.springmodules.validation.commons.DefaultBeanValidator; + +/** + * 그룹관리에 관한 controller 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * 2011.8.26 정진오 IncludedInfo annotation 추가 + * + * </pre> + */ + + +@Controller +@SessionAttributes(types=SessionVO.class) +public class EgovGroupManageController { + + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + @Resource(name = "egovGroupManageService") + private EgovGroupManageService egovGroupManageService; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** Message ID Generation */ + @Resource(name="egovGroupIdGnrService") + private EgovIdGnrService egovGroupIdGnrService; + + @Autowired + private DefaultBeanValidator beanValidator; + + /** + * 그룹 목록화면 이동 + * @return String + * @exception Exception + */ + @RequestMapping("/sec/gmt/EgovGroupListView.do") + public String selectGroupListView() + throws Exception { + return "egovframework/com/sec/gmt/EgovGroupManage"; + } + + /** + * 시스템사용 목적별 그룹 목록 조회 + * @param groupManageVO GroupManageVO + * @return String + * @exception Exception + */ + @IncludedInfo(name="그룹관리", listUrl="/sec/gmt/EgovGroupList.do", order = 80,gid = 20) + @RequestMapping(value="/sec/gmt/EgovGroupList.do") + public String selectGroupList(@ModelAttribute("groupManageVO") GroupManageVO groupManageVO, + ModelMap model) throws Exception { + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(groupManageVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(groupManageVO.getPageUnit()); + paginationInfo.setPageSize(groupManageVO.getPageSize()); + + groupManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + groupManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); + groupManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + groupManageVO.setGroupManageList(egovGroupManageService.selectGroupList(groupManageVO)); + model.addAttribute("groupList", groupManageVO.getGroupManageList()); + + int totCnt = egovGroupManageService.selectGroupListTotCnt(groupManageVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("message", egovMessageSource.getMessage("success.common.select")); + + return "egovframework/com/sec/gmt/EgovGroupManage"; + } + + /** + * 검색조건에 따른 그룹정보를 조회 + * @param groupManageVO GroupManageVO + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/gmt/EgovGroup.do") + public String selectGroup(@ModelAttribute("groupManageVO") GroupManageVO groupManageVO, + @ModelAttribute("groupManage") GroupManage groupManage, + ModelMap model) throws Exception { + + model.addAttribute("groupManage", egovGroupManageService.selectGroup(groupManageVO)); + return "egovframework/com/sec/gmt/EgovGroupUpdate"; + } + + /** + * 그룹 등록화면 이동 + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/gmt/EgovGroupInsertView.do") + public String insertGroupView(@ModelAttribute("groupManage") GroupManage groupManage) + throws Exception { + return "egovframework/com/sec/gmt/EgovGroupInsert"; + } + + /** + * 그룹 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장 + * @param groupManage GroupManage + * @param groupManageVO GroupManageVO + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/gmt/EgovGroupInsert.do") + public String insertGroup(@ModelAttribute("groupManage") GroupManage groupManage, + @ModelAttribute("groupManageVO") GroupManageVO groupManageVO, + BindingResult bindingResult, + ModelMap model) throws Exception { + + beanValidator.validate(groupManage, bindingResult); //validation 수행 + + if (bindingResult.hasErrors()) { + return "egovframework/com/sec/gmt/EgovGroupInsert"; + } else { + groupManage.setGroupId(egovGroupIdGnrService.getNextStringId()); + groupManageVO.setGroupId(groupManage.getGroupId()); + + model.addAttribute("message", egovMessageSource.getMessage("success.common.insert")); + model.addAttribute("groupManage", egovGroupManageService.insertGroup(groupManage, groupManageVO)); + return "forward:/sec/gmt/EgovGroupList.do"; + } + } + + /** + * 화면에 조회된 그룹의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param groupManage GroupManage + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/gmt/EgovGroupUpdate.do") + public String updateGroup(@ModelAttribute("groupManage") GroupManage groupManage, + BindingResult bindingResult, + Model model) throws Exception { + + beanValidator.validate(groupManage, bindingResult); //validation 수행 + + if (bindingResult.hasErrors()) { + return "egovframework/com/sec/gmt/EgovGroupUpdate"; + } else { + egovGroupManageService.updateGroup(groupManage); + model.addAttribute("message", egovMessageSource.getMessage("success.common.update")); + return "forward:/sec/gmt/EgovGroupList.do"; + } + } + + /** + * 불필요한 그룹정보를 화면에 조회하여 데이터베이스에서 삭제 + * @param groupManage GroupManage + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/gmt/EgovGroupDelete.do") + public String deleteGroup(@ModelAttribute("groupManage") GroupManage groupManage, + Model model) throws Exception { + egovGroupManageService.deleteGroup(groupManage); + model.addAttribute("message", egovMessageSource.getMessage("success.common.delete")); + return "forward:/sec/gmt/EgovGroupList.do"; + } + + /** + * 불필요한 그룹정보 목록을 화면에 조회하여 데이터베이스에서 삭제 + * @param groupIds String + * @param groupManage GroupManage + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/gmt/EgovGroupListDelete.do") + public String deleteGroupList(@RequestParam("groupIds") String groupIds, + @ModelAttribute("groupManage") GroupManage groupManage, + Model model) throws Exception { + String [] strGroupIds = groupIds.split(";"); + for(int i=0; i<strGroupIds.length;i++) { + groupManage.setGroupId(strGroupIds[i]); + egovGroupManageService.deleteGroup(groupManage); + } + + model.addAttribute("message", egovMessageSource.getMessage("success.common.delete")); + return "forward:/sec/gmt/EgovGroupList.do"; + } + + /** + * 그룹팝업 화면 이동 + * @return String + * @exception Exception + */ + @RequestMapping("/sec/gmt/EgovGroupSearchView.do") + public String selectGroupSearchView() + throws Exception { + return "egovframework/com/sec/gmt/EgovGroupSearch"; + } + + /** + * 시스템사용 목적별 그룹 목록 조회 + * @param groupManageVO GroupManageVO + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/gmt/EgovGroupSearchList.do") + public String selectGroupSearchList(@ModelAttribute("groupManageVO") GroupManageVO groupManageVO, + ModelMap model) throws Exception { + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(groupManageVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(groupManageVO.getPageUnit()); + paginationInfo.setPageSize(groupManageVO.getPageSize()); + + groupManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + groupManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); + groupManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + groupManageVO.setGroupManageList(egovGroupManageService.selectGroupList(groupManageVO)); + model.addAttribute("groupList", groupManageVO.getGroupManageList()); + + int totCnt = egovGroupManageService.selectGroupListTotCnt(groupManageVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("message", egovMessageSource.getMessage("success.common.select")); + + return "egovframework/com/sec/gmt/EgovGroupSearch"; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/gmt/web/EgovGroupManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/gmt/service/impl/GroupManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/gmt/service/impl/GroupManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/gmt/service/impl/GroupManageDAO.java (revision 7) @@ -0,0 +1,88 @@ +package egovframework.com.sec.gmt.service.impl; + +import java.util.List; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sec.gmt.service.GroupManage; +import egovframework.com.sec.gmt.service.GroupManageVO; + +import org.springframework.stereotype.Repository; + +/** + * 그룹관리에 대한 DAO 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * + * </pre> + */ + +@Repository("groupManageDAO") +public class GroupManageDAO extends EgovComAbstractDAO { + + /** + * 검색조건에 따른 그룹정보를 조회 + * @param groupManageVO GroupManageVO + * @return GroupManageVO + * @exception Exception + */ + public GroupManageVO selectGroup(GroupManageVO groupManageVO) throws Exception { + return (GroupManageVO) selectOne("groupManageDAO.selectGroup", groupManageVO); + } + + /** + * 시스템사용 목적별 그룹 목록 조회 + * @param groupManageVO GroupManageVO + * @return GroupManageVO + * @exception Exception + */ + @SuppressWarnings("unchecked") + public List<GroupManageVO> selectGroupList(GroupManageVO groupManageVO) throws Exception { + return (List<GroupManageVO>) list("groupManageDAO.selectGroupList", groupManageVO); + } + + /** + * 그룹 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장 + * @param groupManage GroupManage + * @exception Exception + */ + public void insertGroup(GroupManage groupManage) throws Exception { + insert("groupManageDAO.insertGroup", groupManage); + } + + /** + * 화면에 조회된 그룹의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param groupManage GroupManage + * @exception Exception + */ + public void updateGroup(GroupManage groupManage) throws Exception { + update("groupManageDAO.updateGroup", groupManage); + } + + /** + * 불필요한 그룹정보를 화면에 조회하여 데이터베이스에서 삭제 + * @param groupManage GroupManage + * @exception Exception + */ + public void deleteGroup(GroupManage groupManage) throws Exception { + delete("groupManageDAO.deleteGroup", groupManage); + } + + /** + * 롤목록 총 갯수를 조회한다. + * @param groupManageVO GroupManageVO + * @return int + * @exception Exception + */ + public int selectGroupListTotCnt(GroupManageVO groupManageVO) throws Exception { + return (Integer)selectOne("groupManageDAO.selectGroupListTotCnt", groupManageVO); + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/gmt/service/impl/GroupManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/gmt/service/impl/EgovGroupManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/gmt/service/impl/EgovGroupManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/gmt/service/impl/EgovGroupManageServiceImpl.java (revision 7) @@ -0,0 +1,98 @@ +package egovframework.com.sec.gmt.service.impl; + +import java.util.List; + +import egovframework.com.sec.gmt.service.EgovGroupManageService; +import egovframework.com.sec.gmt.service.GroupManage; +import egovframework.com.sec.gmt.service.GroupManageVO; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * 그룹관리에 관한 ServiceImpl 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * + * </pre> + */ + +@Service("egovGroupManageService") +public class EgovGroupManageServiceImpl extends EgovAbstractServiceImpl implements EgovGroupManageService { + + @Resource(name="groupManageDAO") + private GroupManageDAO groupManageDAO; + + /** + * 시스템사용 목적별 그룹 목록 조회 + * @param groupManageVO GroupManageVO + * @return List<GroupManageVO> + * @exception Exception + */ + public List<GroupManageVO> selectGroupList(GroupManageVO groupManageVO) throws Exception { + return groupManageDAO.selectGroupList(groupManageVO); + } + + /** + * 검색조건에 따른 그룹정보를 조회 + * @param groupManageVO GroupManageVO + * @return GroupManageVO + * @exception Exception + */ + public GroupManageVO selectGroup(GroupManageVO groupManageVO) throws Exception { + return groupManageDAO.selectGroup(groupManageVO); + } + + /** + * 그룹 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장 + * @param groupManage GroupManage + * @param groupManageVO GroupManageVO + * @return GroupManageVO + * @exception Exception + */ + public GroupManageVO insertGroup(GroupManage groupManage, GroupManageVO groupManageVO) throws Exception { + groupManageDAO.insertGroup(groupManage); + groupManageVO.setGroupId(groupManage.getGroupId()); + return groupManageDAO.selectGroup(groupManageVO); + } + + /** + * 화면에 조회된 그룹의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param groupManage GroupManage + * @exception Exception + */ + public void updateGroup(GroupManage groupManage) throws Exception { + groupManageDAO.updateGroup(groupManage); + } + + /** + * 불필요한 그룹정보를 화면에 조회하여 데이터베이스에서 삭제 + * @param groupManage GroupManage + * @exception Exception + */ + public void deleteGroup(GroupManage groupManage) throws Exception { + groupManageDAO.deleteGroup(groupManage); + } + + /** + * 목록조회 카운트를 반환한다 + * @param groupManageVO GroupManageVO + * @return int + * @exception Exception + */ + public int selectGroupListTotCnt(GroupManageVO groupManageVO) throws Exception { + return groupManageDAO.selectGroupListTotCnt(groupManageVO); + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/gmt/service/impl/EgovGroupManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/gmt/service/GroupManageVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/gmt/service/GroupManageVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/gmt/service/GroupManageVO.java (revision 7) @@ -0,0 +1,71 @@ +package egovframework.com.sec.gmt.service; + +import java.util.List; + + + +/** + * 그룹관리에 대한 Vo 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * + * </pre> + */ + +public class GroupManageVO extends GroupManage { + + /** + * serialVersionUID + */ + private static final long serialVersionUID = 1L; + /** + * 그룹 목록 + */ + List <GroupManageVO> groupManageList; + /** + * 삭제대상 목록 + */ + String[] delYn; + + /** + * groupManageList attribute 를 리턴한다. + * @return List<GroupManageVO> + */ + public List<GroupManageVO> getGroupManageList() { + return groupManageList; + } + + /** + * groupManageList attribute 값을 설정한다. + * @param groupManageList List<GroupManageVO> + */ + public void setGroupManageList(List<GroupManageVO> groupManageList) { + this.groupManageList = groupManageList; + } + + /** + * delYn attribute 를 리턴한다. + * @return String[] + */ + public String[] getDelYn() { + return delYn; + } + + /** + * delYn attribute 값을 설정한다. + * @param delYn String[] + */ + public void setDelYn(String[] delYn) { + this.delYn = delYn; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/gmt/service/GroupManageVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/gmt/service/EgovGroupManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/gmt/service/EgovGroupManageService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/gmt/service/EgovGroupManageService.java (revision 7) @@ -0,0 +1,69 @@ +package egovframework.com.sec.gmt.service; + +import java.util.List; + +/** + * 그룹관리에 관한 서비스 인터페이스 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * + * </pre> + */ + +public interface EgovGroupManageService { + + /** + * 검색조건에 따른 그룹정보를 조회 + * @param groupManageVO GroupManageVO + * @return GroupManageVO + * @exception Exception + */ + public GroupManageVO selectGroup(GroupManageVO groupManageVO) throws Exception; + + /** + * 시스템사용 목적별 그룹 목록 조회 + * @param groupManageVO GroupManageVO + * @return List<GroupManageVO> + * @exception Exception + */ + public List<GroupManageVO> selectGroupList(GroupManageVO groupManageVO) throws Exception; + + /** + * 그룹 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장 + * @param groupManage GroupManage + * @param groupManageVO GroupManageVO + * @return GroupManageVO + * @exception Exception + */ + public GroupManageVO insertGroup(GroupManage groupManage, GroupManageVO groupManageVO) throws Exception; + /** + * 화면에 조회된 그룹의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param groupManage GroupManage + * @exception Exception + */ + public void updateGroup(GroupManage groupManage) throws Exception; + + /** + * 불필요한 그룹정보를 화면에 조회하여 데이터베이스에서 삭제 + * @param groupManage GroupManage + * @exception Exception + */ + public void deleteGroup(GroupManage groupManage) throws Exception; + + /** + * 목록조회 카운트를 반환한다 + * @param groupManageVO GroupManageVO + * @return int + * @exception Exception + */ + public int selectGroupListTotCnt(GroupManageVO groupManageVO) throws Exception; +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/gmt/service/EgovGroupManageService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/gmt/service/GroupManage.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/gmt/service/GroupManage.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/gmt/service/GroupManage.java (revision 7) @@ -0,0 +1,121 @@ +package egovframework.com.sec.gmt.service; + +import egovframework.com.cmm.ComDefaultVO; + +/** + * 그룹관리에 대한 model 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * + * </pre> + */ + +public class GroupManage extends ComDefaultVO { + /** + * serialVersionUID + */ + private static final long serialVersionUID = 1L; + /** + * 그룹 관리 + */ + private GroupManage groupManage; + /** + * 그룹 ID + */ + private String groupId; + /** + * 그룹명 + */ + private String groupNm; + /** + * 그룹등록일시 + */ + private String groupCreatDe; + /** + * 그룹설명 + */ + private String groupDc; + + /** + * groupManage attribute 를 리턴한다. + * @return GroupManage + */ + public GroupManage getGroupManage() { + return groupManage; + } + /** + * groupManage attribute 값을 설정한다. + * @param groupManage GroupManage + */ + public void setGroupManage(GroupManage groupManage) { + this.groupManage = groupManage; + } + /** + * groupId attribute 를 리턴한다. + * @return String + */ + public String getGroupId() { + return groupId; + } + /** + * groupId attribute 값을 설정한다. + * @param groupId String + */ + public void setGroupId(String groupId) { + this.groupId = groupId; + } + /** + * groupNm attribute 를 리턴한다. + * @return String + */ + public String getGroupNm() { + return groupNm; + } + /** + * groupNm attribute 값을 설정한다. + * @param groupNm String + */ + public void setGroupNm(String groupNm) { + this.groupNm = groupNm; + } + /** + * groupCreatDe attribute 를 리턴한다. + * @return String + */ + public String getGroupCreatDe() { + return groupCreatDe; + } + /** + * groupCreatDe attribute 값을 설정한다. + * @param groupCreatDe String + */ + public void setGroupCreatDe(String groupCreatDe) { + this.groupCreatDe = groupCreatDe; + } + /** + * groupDc attribute 를 리턴한다. + * @return String + */ + public String getGroupDc() { + return groupDc; + } + /** + * groupDc attribute 값을 설정한다. + * @param groupDc String + */ + public void setGroupDc(String groupDc) { + this.groupDc = groupDc; + } + + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/gmt/service/GroupManage.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/pki/web/EgovCryptoController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/pki/web/EgovCryptoController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/pki/web/EgovCryptoController.java (revision 7) @@ -0,0 +1,124 @@ +package egovframework.com.sec.pki.web; + +import java.util.Map; + +import javax.annotation.Resource; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.rte.fdl.cryptography.EgovEnvCryptoService; +import egovframework.rte.fdl.cryptography.EgovPasswordEncoder; + +/** + * 암호화/복호화 관한 controller 클래스를 정의한다. + * @author 공통서비스 개발팀 신용호 + * @since 2018.12.03 + * @version 3.8 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2018.12.03 신용호 최초 생성 + * </pre> + */ + +@Controller +public class EgovCryptoController { + + /** 로그설정 */ + private static final Logger LOGGER = LoggerFactory.getLogger(EgovCryptoController.class); + + /** 암호화서비스 */ + @Resource(name = "egovEnvCryptoService") + EgovEnvCryptoService cryptoService; + + @Resource(name = "egovEnvPasswordEncoderService") + EgovPasswordEncoder egovPasswordEncoder; + + /** EgovMessageSource */ + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + /** + * 암호화/복호화 입력 및 요청 페이지를 호출한다. + * + * @return + */ + @IncludedInfo(name="암호화/복호화", listUrl="/sec/pki/EgovCryptoInfo.do", order = 2200 ,gid = 90) + @RequestMapping(value="/sec/pki/EgovCryptoInfo.do") + public String displayCryptoInfo( @RequestParam Map<?, ?> commandMap, + ModelMap model) throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + String plainText = (String)commandMap.get("plainText"); + + if ( plainText != null ) { + + int plainTextLen = plainText.length(); + String cryptText = encrypt(plainText); + String decryptText = decrypt(cryptText); + int decryptTextLen = decryptText.length(); + + model.addAttribute("plainText", plainText); + model.addAttribute("plainTextLen", plainTextLen); + model.addAttribute("cryptText", cryptText); + model.addAttribute("decryptText", decryptText); + model.addAttribute("decryptTextLen", decryptTextLen); + } + + return "egovframework/com/sec/pki/EgovCryptoInfo"; + } + + /** + * 암호화 + * + * @param encrypt + */ + private String encrypt(String encrypt) { + + try { + //return cryptoService.encrypt(encrypt); // Handles URLEncoding. + return cryptoService.encryptNone(encrypt); // Does not handle URLEncoding. + } catch(IllegalArgumentException e) { + LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); + } catch (Exception e) { + LOGGER.error("[" + e.getClass() +"] :" + e.getMessage()); + } + return encrypt; + } + + /** + * 복호화 + * + * @param decrypt + */ + private String decrypt(String decrypt){ + + try { + //return cryptoService.decrypt(decrypt); // Handles URLDecoding. + return cryptoService.decryptNone(decrypt); // Does not handle URLDecoding. + } catch(IllegalArgumentException e) { + LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); + } catch (Exception e) { + LOGGER.error("[" + e.getClass() +"] :" + e.getMessage()); + } + return decrypt; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/pki/web/EgovCryptoController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/ram/web/EgovAuthorRoleController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/ram/web/EgovAuthorRoleController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/ram/web/EgovAuthorRoleController.java (revision 7) @@ -0,0 +1,134 @@ +package egovframework.com.sec.ram.web; + +import java.util.Map; + +import javax.annotation.Resource; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.sec.ram.service.AuthorRoleManage; +import egovframework.com.sec.ram.service.AuthorRoleManageVO; +import egovframework.com.sec.ram.service.EgovAuthorRoleManageService; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +/** + * 권한별 롤관리에 관한 controller 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * 2011.09.07 서준식 롤 등록시 이미 등록된 경우 데이터 중복 에러 발생 문제 수정 + * </pre> + */ +@Controller +public class EgovAuthorRoleController { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovAuthorRoleController.class); + + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + @Resource(name = "egovAuthorRoleManageService") + private EgovAuthorRoleManageService egovAuthorRoleManageService; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** + * 권한 롤 관계 화면 이동 + * @return "egovframework/com/sec/ram/EgovDeptAuthorList" + * @exception Exception + */ + @RequestMapping("/sec/ram/EgovAuthorRoleListView.do") + public String selectAuthorRoleListView() throws Exception { + + return "egovframework/com/sec/ram/EgovAuthorRoleManage"; + } + + /** + * 권한별 할당된 롤 목록 조회 + * + * @param authorRoleManageVO AuthorRoleManageVO + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/ram/EgovAuthorRoleList.do") + public String selectAuthorRoleList(@ModelAttribute("authorRoleManageVO") AuthorRoleManageVO authorRoleManageVO, + ModelMap model) throws Exception { + + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(authorRoleManageVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(authorRoleManageVO.getPageUnit()); + paginationInfo.setPageSize(authorRoleManageVO.getPageSize()); + + authorRoleManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + authorRoleManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); + authorRoleManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + authorRoleManageVO.setAuthorRoleList(egovAuthorRoleManageService.selectAuthorRoleList(authorRoleManageVO)); + model.addAttribute("authorRoleList", authorRoleManageVO.getAuthorRoleList()); + model.addAttribute("searchVO", authorRoleManageVO); + + int totCnt = egovAuthorRoleManageService.selectAuthorRoleListTotCnt(authorRoleManageVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + model.addAttribute("message", egovMessageSource.getMessage("success.common.select")); + + return "egovframework/com/sec/ram/EgovAuthorRoleManage"; + } + + /** + * 권한정보에 롤을 할당하여 데이터베이스에 등록 + * @param authorCode String + * @param roleCodes String + * @param regYns String + * @param authorRoleManage AuthorRoleManage + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/ram/EgovAuthorRoleInsert.do") + public String insertAuthorRole(@RequestParam("authorCode") String authorCode, + @RequestParam("roleCodes") String roleCodes, + @RequestParam("regYns") String regYns, + @RequestParam Map<?, ?> commandMap, + @ModelAttribute("authorRoleManage") AuthorRoleManage authorRoleManage, + ModelMap model) throws Exception { + + String [] strRoleCodes = roleCodes.split(";"); + String [] strRegYns = regYns.split(";"); + + authorRoleManage.setRoleCode(authorCode); + + for(int i=0; i<strRoleCodes.length;i++) { + + authorRoleManage.setRoleCode(strRoleCodes[i]); + authorRoleManage.setRegYn(strRegYns[i]); + if(strRegYns[i].equals("Y")){ + egovAuthorRoleManageService.deleteAuthorRole(authorRoleManage);//2011.09.07 + egovAuthorRoleManageService.insertAuthorRole(authorRoleManage); + }else { + egovAuthorRoleManageService.deleteAuthorRole(authorRoleManage); + } + } + + return "redirect:/sec/ram/EgovAuthorRoleList.do?searchKeyword="+authorCode; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/ram/web/EgovAuthorRoleController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/ram/web/EgovAuthorManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/ram/web/EgovAuthorManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/ram/web/EgovAuthorManageController.java (revision 7) @@ -0,0 +1,232 @@ +package egovframework.com.sec.ram.web; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.SessionVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.sec.ram.service.AuthorManage; +import egovframework.com.sec.ram.service.AuthorManageVO; +import egovframework.com.sec.ram.service.EgovAuthorManageService; + +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.SessionAttributes; +import org.springmodules.validation.commons.DefaultBeanValidator; + +/** + * 권한관리에 관한 controller 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * 2011.8.26 정진오 IncludedInfo annotation 추가s + * + * </pre> + */ + + +@Controller +@SessionAttributes(types=SessionVO.class) +public class EgovAuthorManageController { + + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + @Resource(name = "egovAuthorManageService") + private EgovAuthorManageService egovAuthorManageService; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + @Autowired + private DefaultBeanValidator beanValidator; + + /** + * 권한 목록화면 이동 + * @return String + * @exception Exception + */ + @RequestMapping("/sec/ram/EgovAuthorListView.do") + public String selectAuthorListView() + throws Exception { + return "egovframework/com/sec/ram/EgovAuthorManage"; + } + + /** + * 권한 목록을 조회한다 + * @param authorManageVO AuthorManageVO + * @return String + * @exception Exception + */ + @IncludedInfo(name="권한관리", listUrl="/sec/ram/EgovAuthorList.do", order = 60,gid = 20) + @RequestMapping(value="/sec/ram/EgovAuthorList.do") + public String selectAuthorList(@ModelAttribute("authorManageVO") AuthorManageVO authorManageVO, + ModelMap model) + throws Exception { + + /** EgovPropertyService.sample */ + //authorManageVO.setPageUnit(propertiesService.getInt("pageUnit")); + //authorManageVO.setPageSize(propertiesService.getInt("pageSize")); + + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(authorManageVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(authorManageVO.getPageUnit()); + paginationInfo.setPageSize(authorManageVO.getPageSize()); + + authorManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + authorManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); + authorManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorList(authorManageVO)); + model.addAttribute("authorList", authorManageVO.getAuthorManageList()); + + int totCnt = egovAuthorManageService.selectAuthorListTotCnt(authorManageVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("message", egovMessageSource.getMessage("success.common.select")); + + return "egovframework/com/sec/ram/EgovAuthorManage"; + } + + /** + * 권한 세부정보를 조회한다. + * @param authorCode String + * @param authorManageVO AuthorManageVO + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/ram/EgovAuthor.do") + public String selectAuthor(@RequestParam("authorCode") String authorCode, + @ModelAttribute("authorManageVO") AuthorManageVO authorManageVO, + ModelMap model) throws Exception { + + authorManageVO.setAuthorCode(authorCode); + + model.addAttribute("authorManage", egovAuthorManageService.selectAuthor(authorManageVO)); + model.addAttribute("message", egovMessageSource.getMessage("success.common.select")); + return "egovframework/com/sec/ram/EgovAuthorUpdate"; + } + + /** + * 권한 등록화면 이동 + * @return String + * @exception Exception + */ + @RequestMapping("/sec/ram/EgovAuthorInsertView.do") + public String insertAuthorView(@ModelAttribute("authorManage") AuthorManage authorManage) + throws Exception { + return "egovframework/com/sec/ram/EgovAuthorInsert"; + } + + /** + * 권한 세부정보를 등록한다. + * @param authorManage AuthorManage + * @param bindingResult BindingResult + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/ram/EgovAuthorInsert.do") + public String insertAuthor(@ModelAttribute("authorManage") AuthorManage authorManage, + BindingResult bindingResult, + ModelMap model) throws Exception { + + beanValidator.validate(authorManage, bindingResult); //validation 수행 + + if (bindingResult.hasErrors()) { + return "egovframework/com/sec/ram/EgovAuthorInsert"; + } else { + egovAuthorManageService.insertAuthor(authorManage); + model.addAttribute("message", egovMessageSource.getMessage("success.common.insert")); + return "forward:/sec/ram/EgovAuthorList.do"; + } + } + + /** + * 권한 세부정보를 수정한다. + * @param authorManage AuthorManage + * @param bindingResult BindingResult + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/ram/EgovAuthorUpdate.do") + public String updateAuthor(@ModelAttribute("authorManage") AuthorManage authorManage, + BindingResult bindingResult, + Model model) throws Exception { + + beanValidator.validate(authorManage, bindingResult); //validation 수행 + + if (bindingResult.hasErrors()) { + return "egovframework/com/sec/ram/EgovAuthorUpdate"; + } else { + egovAuthorManageService.updateAuthor(authorManage); + model.addAttribute("message", egovMessageSource.getMessage("success.common.update")); + return "forward:/sec/ram/EgovAuthorList.do"; + } + } + + /** + * 권한 세부정보를 삭제한다. + * @param authorManage AuthorManage + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/ram/EgovAuthorDelete.do") + public String deleteAuthor(@ModelAttribute("authorManage") AuthorManage authorManage, + Model model) throws Exception { + + egovAuthorManageService.deleteAuthor(authorManage); + model.addAttribute("message", egovMessageSource.getMessage("success.common.delete")); + return "forward:/sec/ram/EgovAuthorList.do"; + } + + /** + * 권한목록을 삭제한다. + * @param authorCodes String + * @param authorManage AuthorManage + * @return String + * @exception Exception + */ + @RequestMapping(value="/sec/ram/EgovAuthorListDelete.do") + public String deleteAuthorList(@RequestParam("authorCodes") String authorCodes, + @ModelAttribute("authorManage") AuthorManage authorManage, + Model model) throws Exception { + + String [] strAuthorCodes = authorCodes.split(";"); + for(int i=0; i<strAuthorCodes.length;i++) { + authorManage.setAuthorCode(strAuthorCodes[i]); + egovAuthorManageService.deleteAuthor(authorManage); + } + model.addAttribute("message", egovMessageSource.getMessage("success.common.delete")); + return "forward:/sec/ram/EgovAuthorList.do"; + } + + /** + * 권한제한 화면 이동 + * @return String + * @exception Exception + */ + @RequestMapping("/sec/ram/accessDenied.do") + public String accessDenied() + throws Exception { + return "egovframework/com/sec/accessDenied"; + } +} Property changes on: base3.10/src/main/java/egovframework/com/sec/ram/web/EgovAuthorManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorManage.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorManage.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorManage.java (revision 7) @@ -0,0 +1,124 @@ +package egovframework.com.sec.ram.service; + +import egovframework.com.cmm.ComDefaultVO; + +/** + * 권한관리에 대한 model 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * + * </pre> + */ + +public class AuthorManage extends ComDefaultVO { + + /** + * serialVersionUID + */ + private static final long serialVersionUID = 1L; + /** + * 권한관리 + */ + private AuthorManage authorManage; + /** + * 권한코드 + */ + private String authorCode; + /** + * 권한등록일자 + */ + private String authorCreatDe; + /** + * 권한코드설명 + */ + private String authorDc; + /** + * 권한 명 + */ + private String authorNm; + + /** + * authorManage attribute 를 리턴한다. + * @return AuthorManage + */ + public AuthorManage getAuthorManage() { + return authorManage; + } + /** + * authorManage attribute 값을 설정한다. + * @param authorManage AuthorManage + */ + public void setAuthorManage(AuthorManage authorManage) { + this.authorManage = authorManage; + } + /** + * authorCode attribute 를 리턴한다. + * @return String + */ + public String getAuthorCode() { + return authorCode; + } + /** + * authorCode attribute 값을 설정한다. + * @param authorCode String + */ + public void setAuthorCode(String authorCode) { + this.authorCode = authorCode; + } + /** + * authorCreatDe attribute 를 리턴한다. + * @return String + */ + public String getAuthorCreatDe() { + return authorCreatDe; + } + /** + * authorCreatDe attribute 값을 설정한다. + * @param authorCreatDe String + */ + public void setAuthorCreatDe(String authorCreatDe) { + this.authorCreatDe = authorCreatDe; + } + /** + * authorDc attribute 를 리턴한다. + * @return String + */ + public String getAuthorDc() { + return authorDc; + } + /** + * authorDc attribute 값을 설정한다. + * @param authorDc String + */ + public void setAuthorDc(String authorDc) { + this.authorDc = authorDc; + } + /** + * authorNm attribute 를 리턴한다. + * @return String + */ + public String getAuthorNm() { + return authorNm; + } + /** + * authorNm attribute 값을 설정한다. + * @param authorNm String + */ + public void setAuthorNm(String authorNm) { + this.authorNm = authorNm; + } + + + + + +} Property changes on: base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorManage.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/ram/service/impl/AuthorRoleManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/ram/service/impl/AuthorRoleManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/ram/service/impl/AuthorRoleManageDAO.java (revision 7) @@ -0,0 +1,71 @@ +package egovframework.com.sec.ram.service.impl; + +import java.util.List; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sec.ram.service.AuthorRoleManage; +import egovframework.com.sec.ram.service.AuthorRoleManageVO; + +import org.springframework.stereotype.Repository; + +/** + * 권한별 롤관리에 대한 DAO 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ---------- --------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * 2021.02-09 신용호 updateAuthorRole 삭제 + * + * </pre> + */ + +@Repository("authorRoleManageDAO") +public class AuthorRoleManageDAO extends EgovComAbstractDAO { + + /** + * 권한 롤 관계정보 목록 조회 + * @param authorRoleManageVO AuthorRoleManageVO + * @return List<AuthorRoleManageVO> + * @exception Exception + */ + @SuppressWarnings("unchecked") + public List<AuthorRoleManageVO> selectAuthorRoleList(AuthorRoleManageVO authorRoleManageVO) throws Exception { + return (List<AuthorRoleManageVO>) list("authorRoleManageDAO.selectAuthorRoleList", authorRoleManageVO); + } + + /** + * 권한 롤 관계정보를 화면에서 입력하여 입력항목의 정합성을 체크하고 데이터베이스에 저장 + * @param authorRoleManage AuthorRoleManage + * @exception Exception + */ + public void insertAuthorRole(AuthorRoleManage authorRoleManage) throws Exception { + insert("authorRoleManageDAO.insertAuthorRole", authorRoleManage); + } + + /** + * 권한 롤 관계정보를 화면에 조회하여 데이터베이스에서 삭제 + * @param authorRoleManage AuthorRoleManage + * @exception Exception + */ + public void deleteAuthorRole(AuthorRoleManage authorRoleManage) throws Exception { + delete("authorRoleManageDAO.deleteAuthorRole", authorRoleManage); + } + + /** + * 목록조회 카운트를 반환한다 + * @param authorRoleManageVO AuthorRoleManageVO + * @return int + * @exception Exception + */ + public int selectAuthorRoleListTotCnt(AuthorRoleManageVO authorRoleManageVO) throws Exception { + return (Integer)selectOne("authorRoleManageDAO.selectAuthorRoleListTotCnt", authorRoleManageVO); + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/ram/service/impl/AuthorRoleManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/ram/service/impl/EgovAuthorManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/ram/service/impl/EgovAuthorManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/ram/service/impl/EgovAuthorManageServiceImpl.java (revision 7) @@ -0,0 +1,107 @@ +package egovframework.com.sec.ram.service.impl; + +import java.util.List; + +import egovframework.com.sec.ram.service.AuthorManage; +import egovframework.com.sec.ram.service.AuthorManageVO; +import egovframework.com.sec.ram.service.EgovAuthorManageService; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * 권한관리에 관한 ServiceImpl 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * + * </pre> + */ + +@Service("egovAuthorManageService") +public class EgovAuthorManageServiceImpl extends EgovAbstractServiceImpl implements EgovAuthorManageService { + + @Resource(name="authorManageDAO") + private AuthorManageDAO authorManageDAO; + + /** + * 권한 목록을 조회한다. + * @param authorManageVO AuthorManageVO + * @return List<AuthorManageVO> + * @exception Exception + */ + public List<AuthorManageVO> selectAuthorList(AuthorManageVO authorManageVO) throws Exception { + return authorManageDAO.selectAuthorList(authorManageVO); + } + + /** + * 권한을 등록한다. + * @param authorManage AuthorManage + * @exception Exception + */ + public void insertAuthor(AuthorManage authorManage) throws Exception { + authorManageDAO.insertAuthor(authorManage); + } + + /** + * 권한을 수정한다. + * @param authorManage AuthorManage + * @exception Exception + */ + public void updateAuthor(AuthorManage authorManage) throws Exception { + authorManageDAO.updateAuthor(authorManage); + } + + /** + * 권한을 삭제한다. + * @param authorManage AuthorManage + * @exception Exception + */ + public void deleteAuthor(AuthorManage authorManage) throws Exception { + authorManageDAO.deleteAuthor(authorManage); + } + + /** + * 권한을 조회한다. + * @param authorManageVO AuthorManageVO + * @return AuthorManageVO + * @exception Exception + */ + public AuthorManageVO selectAuthor(AuthorManageVO authorManageVO) throws Exception { + AuthorManageVO resultVO = authorManageDAO.selectAuthor(authorManageVO); + if (resultVO == null) + throw processException("info.nodata.msg"); + return resultVO; + } + + /** + * 권한 목록 카운트를 조회한다. + * @param authorManageVO AuthorManageVO + * @return int + * @exception Exception + */ + public int selectAuthorListTotCnt(AuthorManageVO authorManageVO) throws Exception { + return authorManageDAO.selectAuthorListTotCnt(authorManageVO); + } + + /** + * 모든 권한목록을 조회한다. + * @param authorManageVO AuthorManageVO + * @return List<AuthorManageVO> + * @exception Exception + */ + public List<AuthorManageVO> selectAuthorAllList(AuthorManageVO authorManageVO) throws Exception { + return authorManageDAO.selectAuthorAllList(authorManageVO); + } +} Property changes on: base3.10/src/main/java/egovframework/com/sec/ram/service/impl/EgovAuthorManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/ram/service/impl/EgovUserDetailsSecurityServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/ram/service/impl/EgovUserDetailsSecurityServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/ram/service/impl/EgovUserDetailsSecurityServiceImpl.java (revision 7) @@ -0,0 +1,65 @@ +package egovframework.com.sec.ram.service.impl; + +import java.util.List; + +import egovframework.com.cmm.service.EgovUserDetailsService; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; + +/** + *권한관리 인증에 대한 ServiceImpl 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * + * </pre> + */ + +public class EgovUserDetailsSecurityServiceImpl extends EgovAbstractServiceImpl implements EgovUserDetailsService { + + + /** + * 인증된 사용자객체를 VO형식으로 가져온다. + * @return Object - 사용자 ValueObject + */ + public Object getAuthenticatedUser() { + + // 이 메소드의 경우 인증이 되지 않더라고 null을 리턴하지 않기 때문에 + // 명시적으로 인증되지 않은 경우 null을 리턴하도록 수정함 + + if (EgovUserDetailsHelper.isAuthenticated()) { + return EgovUserDetailsHelper.getAuthenticatedUser(); + } + + return null; + } + + + /** + * 인증된 사용자의 권한 정보를 가져온다. + * 예) [ROLE_ADMIN, ROLE_USER, ROLE_A, ROLE_B, ROLE_RESTRICTED, IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED, IS_AUTHENTICATED_ANONYMOUSLY] + * @return List - 사용자 권한정보 목록 + */ + public List<String> getAuthorities() { + return EgovUserDetailsHelper.getAuthorities(); + } + + /** + * 인증된 사용자 여부를 체크한다. + * @return Boolean - 인증된 사용자 여부(TRUE / FALSE) + */ + + public Boolean isAuthenticated() { + return EgovUserDetailsHelper.isAuthenticated(); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sec/ram/service/impl/EgovUserDetailsSecurityServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/ram/service/impl/EgovAuthorRoleManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/ram/service/impl/EgovAuthorRoleManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/ram/service/impl/EgovAuthorRoleManageServiceImpl.java (revision 7) @@ -0,0 +1,76 @@ +package egovframework.com.sec.ram.service.impl; + +import java.util.List; + +import egovframework.com.sec.ram.service.AuthorRoleManage; +import egovframework.com.sec.ram.service.AuthorRoleManageVO; +import egovframework.com.sec.ram.service.EgovAuthorRoleManageService; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * 권한별 롤관리에 대한 DAO 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ---------- --------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * 2021.02-09 신용호 updateAuthorRole 삭제 + * + * </pre> + */ + +@Service("egovAuthorRoleManageService") +public class EgovAuthorRoleManageServiceImpl extends EgovAbstractServiceImpl implements EgovAuthorRoleManageService { + + @Resource(name="authorRoleManageDAO") + private AuthorRoleManageDAO authorRoleManageDAO; + + /** + * 권한 롤 관계정보 목록 조회 + * @param authorRoleManageVO AuthorRoleManageVO + * @return List<AuthorRoleManageVO> + * @exception Exception + */ + public List<AuthorRoleManageVO> selectAuthorRoleList(AuthorRoleManageVO authorRoleManageVO) throws Exception { + return authorRoleManageDAO.selectAuthorRoleList(authorRoleManageVO); + } + + /** + * 권한 롤 관계정보를 화면에서 입력하여 입력항목의 정합성을 체크하고 데이터베이스에 저장 + * @param authorRoleManage AuthorRoleManage + * @exception Exception + */ + public void insertAuthorRole(AuthorRoleManage authorRoleManage) throws Exception { + authorRoleManageDAO.insertAuthorRole(authorRoleManage); + } + + /** + * 권한 롤 관계정보를 화면에 조회하여 데이터베이스에서 삭제 + * @param authorRoleManage AuthorRoleManage + * @exception Exception + */ + public void deleteAuthorRole(AuthorRoleManage authorRoleManage) throws Exception { + authorRoleManageDAO.deleteAuthorRole(authorRoleManage); + } + + /** + * 목록조회 카운트를 반환한다 + * @param authorRoleManageVO AuthorRoleManageVO + * @return int + * @exception Exception + */ + public int selectAuthorRoleListTotCnt(AuthorRoleManageVO authorRoleManageVO) throws Exception { + return authorRoleManageDAO.selectAuthorRoleListTotCnt(authorRoleManageVO); + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/ram/service/impl/EgovAuthorRoleManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/ram/service/impl/AuthorManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/ram/service/impl/AuthorManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/ram/service/impl/AuthorManageDAO.java (revision 7) @@ -0,0 +1,99 @@ +package egovframework.com.sec.ram.service.impl; + +import java.util.List; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sec.ram.service.AuthorManage; +import egovframework.com.sec.ram.service.AuthorManageVO; + +import org.springframework.stereotype.Repository; + +/** + * 권한관리에 대한 DAO 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * + * </pre> + */ + +@Repository("authorManageDAO") +public class AuthorManageDAO extends EgovComAbstractDAO { + + /** + * 권한목록을 조회한다. + * @param authorManageVO AuthorManageVO + * @return List<AuthorManageVO> + * @exception Exception + */ + @SuppressWarnings("unchecked") + public List<AuthorManageVO> selectAuthorList(AuthorManageVO authorManageVO) throws Exception { + return (List<AuthorManageVO>) list("authorManageDAO.selectAuthorList", authorManageVO); + } + + /** + * 권한을 등록한다. + * @param authorManage AuthorManage + * @exception Exception + */ + public void insertAuthor(AuthorManage authorManage) throws Exception { + insert("authorManageDAO.insertAuthor", authorManage); + } + + /** + * 권한을 수정한다. + * @param authorManage AuthorManage + * @exception Exception + */ + public void updateAuthor(AuthorManage authorManage) throws Exception { + update("authorManageDAO.updateAuthor", authorManage); + } + + /** + * 권한을 삭제한다. + * @param authorManage AuthorManage + * @exception Exception + */ + public void deleteAuthor(AuthorManage authorManage) throws Exception { + delete("authorManageDAO.deleteAuthor", authorManage); + } + + /** + * 권한을 조회한다. + * @param authorManageVO AuthorManageVO + * @return AuthorManageVO + * @exception Exception + */ + public AuthorManageVO selectAuthor(AuthorManageVO authorManageVO) throws Exception { + return (AuthorManageVO) selectOne("authorManageDAO.selectAuthor", authorManageVO); + } + + /** + * 권한목록 총 갯수를 조회한다. + * @param authorManageVO AuthorManageVO + * @return int + * @exception Exception + */ + public int selectAuthorListTotCnt(AuthorManageVO authorManageVO) throws Exception { + return (Integer)selectOne("authorManageDAO.selectAuthorListTotCnt", authorManageVO); + } + + /** + * 모든 권한목록을 조회한다. + * @param authorManageVO AuthorManageVO + * @return List<AuthorManageVO> + * @exception Exception + */ + @SuppressWarnings("unchecked") + public List<AuthorManageVO> selectAuthorAllList(AuthorManageVO authorManageVO) throws Exception { + return (List<AuthorManageVO>) list("authorManageDAO.selectAuthorAllList", authorManageVO); + } +} Property changes on: base3.10/src/main/java/egovframework/com/sec/ram/service/impl/AuthorManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorRoleManageVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorRoleManageVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorRoleManageVO.java (revision 7) @@ -0,0 +1,46 @@ +package egovframework.com.sec.ram.service; + +import java.util.List; + +/** + * 권한별 롤 관리에 대한 Vo 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * + * </pre> + */ + +public class AuthorRoleManageVO extends AuthorRoleManage { + + private static final long serialVersionUID = 1L; + + List <AuthorRoleManageVO> authorRoleList; + + /** + * authorRoleList attribute 를 리턴한다. + * @return List<AuthorRoleManageVO> + */ + public List<AuthorRoleManageVO> getAuthorRoleList() { + return authorRoleList; + } + + /** + * authorRoleList attribute 값을 설정한다. + * @param authorRoleList List<AuthorRoleManageVO> + */ + public void setAuthorRoleList(List<AuthorRoleManageVO> authorRoleList) { + this.authorRoleList = authorRoleList; + } + + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorRoleManageVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/ram/service/EgovAuthorManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/ram/service/EgovAuthorManageService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/ram/service/EgovAuthorManageService.java (revision 7) @@ -0,0 +1,75 @@ +package egovframework.com.sec.ram.service; + +import java.util.List; + +/** + * 권한관리에 관한 서비스 인터페이스 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * + * </pre> + */ + +public interface EgovAuthorManageService { + /** + * 모든 권한목록을 조회한다. + * @param authorManageVO AuthorManageVO + * @return List<AuthorManageVO> + * @exception Exception + */ + public List<AuthorManageVO> selectAuthorAllList(AuthorManageVO authorManageVO) throws Exception; + + /** + * 시스템 사용자중 불필요한 시스템권한정보를 화면에 조회하여 데이터베이스에서 삭제 + * @param authorManage AuthorManage + * @exception Exception + */ + public void deleteAuthor(AuthorManage authorManage) throws Exception; + + /** + * 사용자의 시스테접근권한를 화면에서 입력하여 입력항목의 정합성을 체크하고 데이터베이스에 저장 + * @param authorManage AuthorManage + * @exception Exception + */ + public void insertAuthor(AuthorManage authorManage) throws Exception; + + /** + * 개별사용자에게 할당된 권한 조회 + * @param authorManageVO AuthorManageVO + * @exception Exception + */ + public AuthorManageVO selectAuthor(AuthorManageVO authorManageVO) throws Exception; + + /** + * 개별사용자에게 할당된 권한리스트 조회 + * @param authorManageVO AuthorManageVO + * @return List<AuthorManageVO> + * @exception Exception + */ + public List<AuthorManageVO> selectAuthorList(AuthorManageVO authorManageVO) throws Exception; + + /** + * 화면에 조회된 사용자권한정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param authorManage AuthorManage + * @exception Exception + */ + public void updateAuthor(AuthorManage authorManage) throws Exception; + + /** + * 목록조회 카운트를 반환한다 + * @param authorManageVO AuthorManageVO + * @return int + * @exception Exception + */ + public int selectAuthorListTotCnt(AuthorManageVO authorManageVO) throws Exception; + +} Property changes on: base3.10/src/main/java/egovframework/com/sec/ram/service/EgovAuthorManageService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorManageVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorManageVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorManageVO.java (revision 7) @@ -0,0 +1,47 @@ +package egovframework.com.sec.ram.service; + +import java.util.List; + +/** + * 권한관리에 대한 Vo 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * + * </pre> + */ + +public class AuthorManageVO extends AuthorManage { + + private static final long serialVersionUID = 1L; + + List <AuthorManageVO> authorManageList; + + + /** + * authorManageList attribute 를 리턴한다. + * @return List<AuthorManageVO> + */ + public List<AuthorManageVO> getAuthorManageList() { + return authorManageList; + } + + /** + * authorManageList attribute 값을 설정한다. + * @param authorManageList List<AuthorManageVO> + */ + public void setAuthorManageList(List<AuthorManageVO> authorManageList) { + this.authorManageList = authorManageList; + } + + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorManageVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorRoleManage.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorRoleManage.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorRoleManage.java (revision 7) @@ -0,0 +1,210 @@ +package egovframework.com.sec.ram.service; + +import egovframework.com.cmm.ComDefaultVO; + +/** + * 권한별 롤 관리에 대한 model 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * + * </pre> + */ + +public class AuthorRoleManage extends ComDefaultVO { + + /** + * serialVersionUID + */ + private static final long serialVersionUID = 1L; + /** + * 권한 롤 관리 + */ + private AuthorRoleManage authorRole; + /** + * 권한코드 + */ + private String authorCode; + /** + * 롤코드 + */ + private String roleCode; + /** + * 롤명 + */ + private String roleNm; + /** + * 롤 패턴 + */ + private String rolePtn; + /** + * 롤 설명 + */ + private String roleDc; + /** + * 롤 타입 + */ + private String roleTyp; + /** + * 롤 순서정렬 + */ + private String roleSort; + /** + * 롤 등록여부 + */ + private String regYn; + /** + * 등록일자 + */ + private String creatDt; + /** + * authorRole attribute 를 리턴한다. + * @return AuthorRoleManage + */ + public AuthorRoleManage getAuthorRole() { + return authorRole; + } + /** + * authorRole attribute 값을 설정한다. + * @param authorRole AuthorRoleManage + */ + public void setAuthorRole(AuthorRoleManage authorRole) { + this.authorRole = authorRole; + } + /** + * authorCode attribute 를 리턴한다. + * @return String + */ + public String getAuthorCode() { + return authorCode; + } + /** + * authorCode attribute 값을 설정한다. + * @param authorCode String + */ + public void setAuthorCode(String authorCode) { + this.authorCode = authorCode; + } + /** + * roleCode attribute 를 리턴한다. + * @return String + */ + public String getRoleCode() { + return roleCode; + } + /** + * roleCode attribute 값을 설정한다. + * @param roleCode String + */ + public void setRoleCode(String roleCode) { + this.roleCode = roleCode; + } + /** + * roleNm attribute 를 리턴한다. + * @return String + */ + public String getRoleNm() { + return roleNm; + } + /** + * roleNm attribute 값을 설정한다. + * @param roleNm String + */ + public void setRoleNm(String roleNm) { + this.roleNm = roleNm; + } + /** + * rolePtn attribute 를 리턴한다. + * @return String + */ + public String getRolePtn() { + return rolePtn; + } + /** + * rolePtn attribute 값을 설정한다. + * @param rolePtn String + */ + public void setRolePtn(String rolePtn) { + this.rolePtn = rolePtn; + } + /** + * roleDc attribute 를 리턴한다. + * @return String + */ + public String getRoleDc() { + return roleDc; + } + /** + * roleDc attribute 값을 설정한다. + * @param roleDc String + */ + public void setRoleDc(String roleDc) { + this.roleDc = roleDc; + } + /** + * roleTyp attribute 를 리턴한다. + * @return String + */ + public String getRoleTyp() { + return roleTyp; + } + /** + * roleTyp attribute 값을 설정한다. + * @param roleTyp String + */ + public void setRoleTyp(String roleTyp) { + this.roleTyp = roleTyp; + } + /** + * roleSort attribute 를 리턴한다. + * @return String + */ + public String getRoleSort() { + return roleSort; + } + /** + * roleSort attribute 값을 설정한다. + * @param roleSort String + */ + public void setRoleSort(String roleSort) { + this.roleSort = roleSort; + } + /** + * regYn attribute 를 리턴한다. + * @return String + */ + public String getRegYn() { + return regYn; + } + /** + * regYn attribute 값을 설정한다. + * @param regYn String + */ + public void setRegYn(String regYn) { + this.regYn = regYn; + } + /** + * creatDt attribute 를 리턴한다. + * @return String + */ + public String getCreatDt() { + return creatDt; + } + /** + * creatDt attribute 값을 설정한다. + * @param creatDt String + */ + public void setCreatDt(String creatDt) { + this.creatDt = creatDt; + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/sec/ram/service/AuthorRoleManage.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sec/ram/service/EgovAuthorRoleManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sec/ram/service/EgovAuthorRoleManageService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sec/ram/service/EgovAuthorRoleManageService.java (revision 7) @@ -0,0 +1,55 @@ +package egovframework.com.sec.ram.service; + +import java.util.List; + +/** + * 권한별 롤 관리에 관한 서비스 인터페이스 클래스를 정의한다. + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ---------- --------- --------------------------- + * 2009.03.20 이문준 최초 생성 + * 2021.02-09 신용호 updateAuthorRole 삭제 + * + * </pre> + */ + +public interface EgovAuthorRoleManageService { + + /** + * 권한 롤 관계정보 목록 조회 + * @param authorRoleManageVO AuthorRoleManageVO + * @return List<AuthorRoleManageVO> + * @exception Exception + */ + public List<AuthorRoleManageVO> selectAuthorRoleList(AuthorRoleManageVO authorRoleManageVO) throws Exception; + + /** + * 권한 롤 관계정보를 화면에서 입력하여 입력항목의 정합성을 체크하고 데이터베이스에 저장 + * @param authorRoleManage AuthorRoleManage + * @exception Exception + */ + public void insertAuthorRole(AuthorRoleManage authorRoleManage) throws Exception; + + /** + * 권한 롤 관계정보를 화면에 조회하여 데이터베이스에서 삭제 + * @param authorRoleManage AuthorRoleManage + * @exception Exception + */ + public void deleteAuthorRole(AuthorRoleManage authorRoleManage) throws Exception; + + /** + * 목록조회 카운트를 반환한다 + * @param authorRoleManageVO AuthorRoleManageVO + * @return int + * @exception Exception + */ + public int selectAuthorRoleListTotCnt(AuthorRoleManageVO authorRoleManageVO) throws Exception; + +} Property changes on: base3.10/src/main/java/egovframework/com/sec/ram/service/EgovAuthorRoleManageService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/config/EgovWebApplicationInitializer.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/config/EgovWebApplicationInitializer.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/config/EgovWebApplicationInitializer.java (revision 7) @@ -0,0 +1,181 @@ +package egovframework.com.cmm.config; + +import javax.servlet.FilterRegistration; +import javax.servlet.ServletContext; +import javax.servlet.ServletException; +import javax.servlet.ServletRegistration; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.WebApplicationInitializer; +import org.springframework.web.context.ContextLoaderListener; +import org.springframework.web.context.support.XmlWebApplicationContext; +import org.springframework.web.filter.DelegatingFilterProxy; +import org.springframework.web.filter.HiddenHttpMethodFilter; +import org.springframework.web.multipart.support.MultipartFilter; +import org.springframework.web.servlet.DispatcherServlet; + +import egovframework.com.cmm.filter.HTMLTagFilter; +import egovframework.com.cmm.filter.SessionTimeoutCookieFilter; +import egovframework.com.cmm.service.EgovProperties; +import egovframework.com.sec.security.filter.EgovSpringSecurityLoginFilter; +import egovframework.com.sec.security.filter.EgovSpringSecurityLogoutFilter; +import egovframework.com.uat.uap.filter.EgovLoginPolicyFilter; + + +/** + * EgovWebApplicationInitializer 클래스 + * <Notice> + * 사용자 인증 권한처리를 분리(session, spring security) 하기 위해서 web.xml의 기능을 + * Servlet3.x WebApplicationInitializer 기능으로 처리 + * <Disclaimer> + * N/A + * + * @author 장동한 + * @since 2016.06.23 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- ------------- ---------------------- + * 2016.06.23 장동한 최초 생성 + * 2018.10.02 신용호 Facebook 관련 HiddenHttpMethodFilter 추가 + * 2018.10.26 신용호 EgovLoginPolicyFilter 추가 (IP접근처리) + * 2018.12.03 신용호 springMultipartFilter,HTMLTagFilter 추가 (XSS방지처리) + * </pre> + */ + + +public class EgovWebApplicationInitializer implements WebApplicationInitializer { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovWebApplicationInitializer.class); + @Override + public void onStartup(ServletContext servletContext) throws ServletException { + LOGGER.debug("EgovWebApplicationInitializer START-============================================"); + + //------------------------------------------------------------- + // Egov Web ServletContextListener 설정 + //------------------------------------------------------------- + servletContext.addListener(new egovframework.com.cmm.context.EgovWebServletContextListener()); + + //------------------------------------------------------------- + // Spring CharacterEncodingFilter 설정 + //------------------------------------------------------------- + FilterRegistration.Dynamic characterEncoding = servletContext.addFilter("encodingFilter", new org.springframework.web.filter.CharacterEncodingFilter()); + characterEncoding.setInitParameter("encoding", "UTF-8"); + characterEncoding.setInitParameter("forceEncoding", "true"); + characterEncoding.addMappingForUrlPatterns(null, false, "*.do"); + //characterEncoding.addMappingForUrlPatterns(EnumSet.of(DispatcherType.REQUEST), true, "*.do"); + + //------------------------------------------------------------- + // Lucy-xss-servlet-filter(XssEscapeServletFilter) 설정 + //------------------------------------------------------------- + FilterRegistration.Dynamic xssEscape = servletContext.addFilter("xssEscapeServletFilter", new com.navercorp.lucy.security.xss.servletfilter.XssEscapeServletFilter()); + xssEscape.addMappingForUrlPatterns(null, false, "/*"); + + //------------------------------------------------------------- + // Spring ServletContextListener 설정 + //------------------------------------------------------------- + XmlWebApplicationContext rootContext = new XmlWebApplicationContext(); + rootContext.setConfigLocations(new String[] { "classpath*:egovframework/spring/com/**/context-*.xml" }); + //rootContext.setConfigLocations(new String[] { "classpath*:egovframework/spring/com/context-*.xml","classpath*:egovframework/spring/com/*/context-*.xml" }); + rootContext.refresh(); + rootContext.start(); + + servletContext.addListener(new ContextLoaderListener(rootContext)); + + //------------------------------------------------------------- + // Spring ServletContextListener 설정 + //------------------------------------------------------------- + XmlWebApplicationContext xmlWebApplicationContext = new XmlWebApplicationContext(); + xmlWebApplicationContext.setConfigLocation("/WEB-INF/config/egovframework/springmvc/egov-com-*.xml"); + ServletRegistration.Dynamic dispatcher = servletContext.addServlet("dispatcher", new DispatcherServlet(xmlWebApplicationContext)); + dispatcher.addMapping("*.do"); +// dispatcher.addMapping("/"); // Facebook OAuth 사용시 변경 + dispatcher.setLoadOnStartup(1); + + if("security".equals(EgovProperties.getProperty("Globals.Auth").trim())) { + + //------------------------------------------------------------- + // springSecurityFilterChain 설정 + //------------------------------------------------------------- + FilterRegistration.Dynamic springSecurityFilterChain = servletContext.addFilter("springSecurityFilterChain", new DelegatingFilterProxy()); + springSecurityFilterChain.addMappingForUrlPatterns(null, false, "*"); + //servletContext.addFilter("springSecurityFilterChain", new DelegatingFilterProxy("springSecurityFilterChain")).addMappingForUrlPatterns(null, false, "/*"); + + //------------------------------------------------------------- + // HttpSessionEventPublisher 설정 + //------------------------------------------------------------- + servletContext.addListener(new org.springframework.security.web.session.HttpSessionEventPublisher()); + + //------------------------------------------------------------- + // EgovSpringSecurityLoginFilter 설정 + //------------------------------------------------------------- + FilterRegistration.Dynamic egovSpringSecurityLoginFilter = servletContext.addFilter("egovSpringSecurityLoginFilter", new EgovSpringSecurityLoginFilter()); + //로그인 실패시 반활 될 URL설정 + egovSpringSecurityLoginFilter.setInitParameter("loginURL", "/uat/uia/egovLoginUsr.do"); + //로그인 처리 URL설정 + egovSpringSecurityLoginFilter.setInitParameter("loginProcessURL", "/uat/uia/actionLogin.do"); + //처리 Url Pattern + egovSpringSecurityLoginFilter.addMappingForUrlPatterns(null, false, "*.do"); + + //------------------------------------------------------------- + // EgovSpringSecurityLogoutFilter 설정 + //------------------------------------------------------------- + FilterRegistration.Dynamic egovSpringSecurityLogoutFilter = servletContext.addFilter("egovSpringSecurityLogoutFilter", new EgovSpringSecurityLogoutFilter()); + egovSpringSecurityLogoutFilter.addMappingForUrlPatterns(null, false, "/uat/uia/actionLogout.do"); + + } else if("session".equals(EgovProperties.getProperty("Globals.Auth").trim())) { + //------------------------------------------------------------- + // EgovLoginPolicyFilter 설정 + //------------------------------------------------------------- + FilterRegistration.Dynamic egovLoginPolicyFilter = servletContext.addFilter("LoginPolicyFilter", new EgovLoginPolicyFilter()); + egovLoginPolicyFilter.addMappingForUrlPatterns(null, false, "/uat/uia/actionLogin.do"); + + } + + //------------------------------------------------------------- + // HiddenHttpMethodFilter 설정 (Facebook OAuth 사용시 설정) + //------------------------------------------------------------- +// FilterRegistration.Dynamic hiddenHttpMethodFilter = servletContext.addFilter("hiddenHttpMethodFilter", new HiddenHttpMethodFilter()); +// hiddenHttpMethodFilter.addMappingForUrlPatterns(null, false, "/*"); + + //------------------------------------------------------------- + // Tomcat의 경우 allowCasualMultipartParsing="true" 추가 + // <Context docBase="" path="/" reloadable="true" allowCasualMultipartParsing="true"> + //------------------------------------------------------------- + MultipartFilter springMultipartFilter = new MultipartFilter(); + springMultipartFilter.setMultipartResolverBeanName("multipartResolver"); + FilterRegistration.Dynamic multipartFilter = servletContext.addFilter("springMultipartFilter", springMultipartFilter); + multipartFilter.addMappingForUrlPatterns(null, false, "*.do"); + + //------------------------------------------------------------- + // HTMLTagFilter의 경우는 파라미터에 대하여 XSS 오류 방지를 위한 변환을 처리합니다. + //------------------------------------------------------------- + // HTMLTagFIlter의 경우는 JSP의 <c:out /> 등을 사용하지 못하는 특수한 상황에서 사용하시면 됩니다. + // (<c:out />의 경우 뷰단에서 데이터 출력시 XSS 방지 처리가 됨) + // Ajax 파일 미 대응으로 lucy 필터 사용 +// FilterRegistration.Dynamic htmlTagFilter = servletContext.addFilter("htmlTagFilter", new HTMLTagFilter()); +// htmlTagFilter.addMappingForUrlPatterns(null, false, "*.do"); + + //------------------------------------------------------------- + // SessionTimeoutCookieFilter는 쿠키에 타임아웃 시간을 기록한다. + //------------------------------------------------------------- + // latestServerTime - 서버 최근 시간 + // expireSessionTime - 세션이 만료되는 시간 + FilterRegistration.Dynamic sessionTimeoutFilter = servletContext.addFilter("sessionTimeoutFilter", new SessionTimeoutCookieFilter()); + sessionTimeoutFilter.addMappingForUrlPatterns(null, false, "*.do"); + + //------------------------------------------------------------- + // Spring RequestContextListener 설정 + //------------------------------------------------------------- + servletContext.addListener(new org.springframework.web.context.request.RequestContextListener()); + + LOGGER.debug("EgovWebApplicationInitializer END-============================================"); + + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/config/EgovWebApplicationInitializer.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/config/EgovLoginConfig.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/config/EgovLoginConfig.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/config/EgovLoginConfig.java (revision 7) @@ -0,0 +1,46 @@ +package egovframework.com.cmm.config; + +/** + * EgovLoginConfig 클래스 + * <Notice> + * 사용자 인증수행제한에 대한 설정을 관리하는 클래스 + * <Disclaimer> + * N/A + * + * @author 장동한 + * @since 2017.07.17 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- ------------- ---------------------- + * 2016.07.17 장동한 최초 생성 + * </pre> + */ + + +public class EgovLoginConfig { + //로그인 인증 제한 여부 + boolean lock = false; + //로그인 인증 제한 횟수 + int lockCount = 0; + + public boolean isLock() { + return lock; + } + + public void setLock(boolean lock) { + this.lock = lock; + } + + public int getLockCount() { + return lockCount; + } + + public void setLockCount(int lockCount) { + this.lockCount = lockCount; + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/config/EgovLoginConfig.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/util/EgovDoubleSubmitHelper.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/util/EgovDoubleSubmitHelper.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/util/EgovDoubleSubmitHelper.java (revision 7) @@ -0,0 +1,80 @@ +package egovframework.com.cmm.util; + +import java.util.Map; +import java.util.UUID; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +/** + * Utility class to support to double submit preventer + * @author Vincent Han + * @since 2014.08.07 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2014.08.07 표준프레임워크센터 최초 생성 + * + * </pre> + */ +public class EgovDoubleSubmitHelper { + private static final Logger LOGGER = LoggerFactory.getLogger(EgovDoubleSubmitHelper.class); + + public final static String SESSION_TOKEN_KEY = "egovframework.double.submit.preventer.session.key"; + + public final static String PARAMETER_NAME = "egovframework.double.submit.preventer.parameter.name"; + + public final static String DEFAULT_TOKEN_KEY = "DEFAULT"; + + public static String getNewUUID() { + return UUID.randomUUID().toString().toUpperCase(); + } + + public static boolean checkAndSaveToken() { + return checkAndSaveToken(DEFAULT_TOKEN_KEY); + } + + public static boolean checkAndSaveToken(String tokenKey) { + + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + HttpSession session = request.getSession(); + + // check session... + if (session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY) == null) { + throw new RuntimeException("Double Submit Preventer TagLig isn't set. Check JSP."); + } + + String parameter = request.getParameter(EgovDoubleSubmitHelper.PARAMETER_NAME); + + // check parameter + if (parameter == null) { + throw new RuntimeException("Double Submit Preventer parameter isn't set. Check JSP."); + } + + @SuppressWarnings("unchecked") + Map<String, String> map = (Map<String, String>) session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY); + + if (parameter.equals(map.get(tokenKey))) { + + LOGGER.debug("[Double Submit] session token ({}) equals to parameter token.", tokenKey); + + map.put(tokenKey, getNewUUID()); + + return true; + } + + LOGGER.debug("[Double Submit] session token ({}) isn't equal to parameter token.", tokenKey); + + return false; + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/util/EgovDoubleSubmitHelper.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/util/EgovResourceCloseHelper.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/util/EgovResourceCloseHelper.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/util/EgovResourceCloseHelper.java (revision 7) @@ -0,0 +1,146 @@ +package egovframework.com.cmm.util; + +import java.io.Closeable; +import java.io.IOException; +import java.net.ServerSocket; +import java.net.Socket; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.sql.Wrapper; + +/** + * Utility class to support to close resources + * @author Vincent Han + * @since 2014.09.18 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2014.09.18 표준프레임워크센터 최초 생성 + * + * </pre> + */ +public class EgovResourceCloseHelper { + /** + * Resource close 처리. + * @param resources + */ + public static void close(Closeable ... resources) { + for (Closeable resource : resources) { + if (resource != null) { + try { + resource.close(); + } catch (IOException ignore) {//KISA 보안약점 조치 (2018-10-29, 윤창원) + EgovBasicLogger.ignore("Occurred IOException to close resource is ingored!!"); + } catch (Exception ignore) { + EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!"); + } + } + } + } + + /** + * JDBC 관련 resource 객체 close 처리 + * @param objects + */ + public static void closeDBObjects(Wrapper ... objects) { + for (Object object : objects) { + if (object != null) { + if (object instanceof ResultSet) { + try { + ((ResultSet)object).close(); + } catch (SQLException ignore) {//KISA 보안약점 조치 (2018-10-29, 윤창원) + EgovBasicLogger.ignore("Occurred SQLException to close resource is ingored!!"); + } catch (Exception ignore) { + EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!"); + } + } else if (object instanceof Statement) { + try { + ((Statement)object).close(); + } catch (SQLException ignore) {//KISA 보안약점 조치 (2018-10-29, 윤창원) + EgovBasicLogger.ignore("Occurred SQLException to close resource is ingored!!"); + } catch (Exception ignore) { + EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!"); + } + } else if (object instanceof Connection) { + try { + ((Connection)object).close(); + } catch (SQLException ignore) { + EgovBasicLogger.ignore("Occurred SQLException to close resource is ingored!!"); + } catch (Exception ignore) { + EgovBasicLogger.ignore("Occurred Exception to close resource is ingored!!"); + } + } else { + throw new IllegalArgumentException("Wrapper type is not found : " + object.toString()); + } + } + } + } + + /** + * Socket 관련 resource 객체 close 처리 + * @param objects + */ + public static void closeSocketObjects(Socket socket, ServerSocket server) { + if (socket != null) { + try { + socket.shutdownOutput(); + } catch (IOException ignore) { + EgovBasicLogger.ignore("Occurred IOException to close resource is ingored!!"); + } catch (Exception ignore) { + EgovBasicLogger.ignore("Occurred Exception to shutdown ouput is ignored!!"); + } + + try { + socket.close(); + } catch (IOException ignore) { + EgovBasicLogger.ignore("Occurred IOException to close resource is ingored!!"); + } catch (Exception ignore) { + EgovBasicLogger.ignore("Occurred Exception to close resource is ignored!!"); + } + } + + if (server != null) { + try { + server.close(); + } catch (IOException ignore) { + EgovBasicLogger.ignore("Occurred IOException to close resource is ingored!!"); + } catch (Exception ignore) { + EgovBasicLogger.ignore("Occurred Exception to close resource is ignored!!"); + } + } + } + + /** + * Socket 관련 resource 객체 close 처리 + * + * @param sockets + */ + public static void closeSockets(Socket ... sockets) { + for (Socket socket : sockets) { + if (socket != null) { + try { + socket.shutdownOutput(); + } catch (IOException ignore) { + EgovBasicLogger.ignore("Occurred IOException to close resource is ingored!!"); + } catch (Exception ignore) { + EgovBasicLogger.ignore("Occurred Exception to shutdown ouput is ignored!!"); + } + + try { + socket.close(); + } catch (IOException ignore) { + EgovBasicLogger.ignore("Occurred IOException to close resource is ingored!!"); + } catch (Exception ignore) { + EgovBasicLogger.ignore("Occurred Exception to close resource is ignored!!"); + } + } + } + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/cmm/util/EgovResourceCloseHelper.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/util/Authory.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/util/Authory.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/util/Authory.java (revision 7) @@ -0,0 +1,25 @@ +package egovframework.com.cmm.util; + +/** + * 권한 + * @since 2022. 1. 27. + * @author 임종호 + * <PRE> + * ----------------------- + * 개정이력 + * 2022. 1. 27. 임종호 : 최초작성 + * </PRE> + */ +public class Authory { + + private Authory() { + throw new IllegalStateException("Authory class"); + } + + /** 익명 */ + public static final String ROLE_ANONYMOUS = "ROLE_ANONYMOUS"; + /** 관리자 */ + public static final String ROLE_ADMIN = "ROLE_ADMIN"; + /** 일반사용자 */ + public static final String ROLE_USER = "ROLE_USER"; +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/util/Authory.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/util/EgovUrlRewriteFilter.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/util/EgovUrlRewriteFilter.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/util/EgovUrlRewriteFilter.java (revision 7) @@ -0,0 +1,112 @@ +package egovframework.com.cmm.util; + +import java.io.IOException; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.util.AntPathMatcher; + +import egovframework.com.cmm.EgovWebUtil; + +/** + * @Class Name : UrlRewriteFilter.java + * @Description : UrlRewriteFilter Class + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- --------- ------------------------------- + * @ 2014.09.30 최초생성 + * @ 2020.11.02 신용호 KISA 보안약점 조치 (CRLF 제거 조치) + * + * @author 전자정부 표준프레임워크 유지보수 + * @since 2014. 09.30 + * @version 1.0 + * @see + * + * Copyright (C) by MOPAS All right reserved. + */ +public class EgovUrlRewriteFilter implements Filter { + + @SuppressWarnings("unused") + private FilterConfig config; + + private String targetURI; + private String httpsPort; + private String httpPort; + + private String[] uriPatterns; + + @Override + public void init(FilterConfig config) throws ServletException { + + String delimiter = ","; + this.config = config; + + this.targetURI = config.getInitParameter("targetURI"); + this.httpsPort = config.getInitParameter("httpsPort"); + this.httpPort = config.getInitParameter("httpPort"); + + this.uriPatterns = targetURI.split(delimiter); + + } + + @Override + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException { + + HttpServletRequest req = (HttpServletRequest) request; + HttpServletResponse res = (HttpServletResponse) response; + + String uri = req.getRequestURI(); + String getProtocol = req.getScheme(); + String getDomain = req.getServerName(); + + AntPathMatcher pm = new AntPathMatcher(); + + for (String uriPattern : uriPatterns) { + + if (pm.match(uriPattern.trim(), uri)) { + + if (getProtocol.toLowerCase().equals("http")) { + + response.setContentType("text/html"); + + String httpsPath = "https" + "://" + getDomain + ":" + httpsPort + uri; + String site = new String(httpsPath); + res.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY); + res.setHeader("Location", EgovWebUtil.removeCRLF(site)); + + } + + }else if(getProtocol.toLowerCase().equals("https")){ + + response.setContentType("text/html"); + + String httpPath = "http" + "://" + getDomain + ":" + httpPort + uri; + + String site = new String(httpPath); + res.setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY); + res.setHeader("Location", EgovWebUtil.removeCRLF(site)); + + } + } + + chain.doFilter(req, res); + + } + + @Override + public void destroy() { + this.targetURI = null; + this.httpsPort = null; + this.httpPort = null; + this.uriPatterns = null; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/util/EgovUrlRewriteFilter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/util/EgovHttpRequestHelper.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/util/EgovHttpRequestHelper.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/util/EgovHttpRequestHelper.java (revision 7) @@ -0,0 +1,56 @@ +package egovframework.com.cmm.util; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; + +/** + * @Class Name : EgovHttpRequestHelper.java + * @Description : HTTP Request 정보 취득 Helper 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2014.09.11 표준프레임워크 최초생성 +* @author Vincent Han + * @since 2014.09.11 + * @version 3.5 + * @see <pre> + * web.xml 상에 다음과 같은 Listener 등록 필요 + * &lt;listener&gt; + * &lt;listener-class&gt;org.springframework.web.context.request.RequestContextListener&lt;/listener-class&gt; + * &lt;/listener&gt; + * </pre> + */ +public class EgovHttpRequestHelper { + + public static boolean isInHttpRequest() { + try { + getCurrentRequest(); + } catch (IllegalStateException ise) { + return false; + } + + return true; + } + + public static HttpServletRequest getCurrentRequest() { + ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes(); + + return sra.getRequest(); + } + + public static String getRequestIp() { + return getCurrentRequest().getRemoteAddr(); + } + + public static String getRequestURI() { + return getCurrentRequest().getRequestURI(); + } + + public static HttpSession getCurrentSession() { + return getCurrentRequest().getSession(); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/util/EgovHttpRequestHelper.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/util/EgovUserDetailsHelper.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/util/EgovUserDetailsHelper.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/util/EgovUserDetailsHelper.java (revision 7) @@ -0,0 +1,158 @@ +package egovframework.com.cmm.util; + +import java.util.List; + +import org.apache.commons.lang3.StringUtils; + +import egovframework.com.cmm.service.EgovUserDetailsService; + +/** + * EgovUserDetails Helper 클래스 + * + * @author sjyoon + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- ------------- ---------------------- + * 2009.03.10 sjyoon 최초 생성 + * 2011.07.01 서준식 interface 생성후 상세 로직의 분리 + * </pre> + */ + +public class EgovUserDetailsHelper { + + private static final String LOGIN_URL = "redirect:/uat/uia/egovLoginUsr.do"; + private static final String INDEX_URL = "redirect:/index.do"; + private static final String ADMIN_URL = "redirect:/admin/index.do"; + private static final String LOGIN_ADMIN_URL = "redirect:/EpLogin.do"; + + static EgovUserDetailsService egovUserDetailsService; + + public EgovUserDetailsService getEgovUserDetailsService() { + return egovUserDetailsService; + } + + public void setEgovUserDetailsService(EgovUserDetailsService egovUserDetailsService) { + EgovUserDetailsHelper.egovUserDetailsService = egovUserDetailsService; + } + + /** + * 인증된 사용자객체를 VO형식으로 가져온다. + * @return Object - 사용자 ValueObject + */ + public static Object getAuthenticatedUser() { + return egovUserDetailsService.getAuthenticatedUser(); + } + + /** + * 인증된 사용자의 권한 정보를 가져온다. + * + * @return List - 사용자 권한정보 목록 + */ + public static List<String> getAuthorities() { + return egovUserDetailsService.getAuthorities(); + } + + /** + * 인증된 사용자 여부를 체크한다. + * @return Boolean - 인증된 사용자 여부(TRUE / FALSE) + */ + public static Boolean isAuthenticated() { + return egovUserDetailsService.isAuthenticated(); + } + + /** + * 특정 권한 여부를 체크한다. + * @Author : 임종호 + * @Date : 2021. 7. 5. + * @Method Name : isRole + * @return : Boolean - 특정 권한 여부 (true / false) + */ + public static Boolean isRole(final String strAutho) { + if (StringUtils.isBlank(strAutho)) { + return false; + } + List<String> authorList = getAuthorities (); + if (authorList != null) { + for (String s : authorList) { + if (s.indexOf (strAutho) != -1) { + return true; + } + } + } + return false; + } + + /** + * 특정 권한 배열 여부를 체크한다. + * @Author : 임종호 + * @Date : 2021. 7. 5. + * @Method Name : isRole + * @return : Boolean - 특정 권한 여부 (true / false) + */ + public static Boolean isRole(final String[] arrAutho) { + if (arrAutho.length == 0) { + return false; + } + List<String> authorList = getAuthorities (); + if (authorList != null) { + for (String s : authorList) { + for (String a : arrAutho) { + if (s.indexOf (a) != -1) { + return true; + } + } + } + } + return false; + } + + /** + * 로그인 페이지 이동 + * @Author : 임종호 + * @Date : 2021. 7. 5. + * @Method Name : getLoginPage + * @return : String + */ + public static String getLoginPage() { + return LOGIN_URL; + } + + /** + * Index 페이지 이동 + * @Author : 임종호 + * @Date : 2021. 9. 27. + * @Method Name : getIndexPage + * @return : String + */ + public static String getIndexPage() { + return INDEX_URL; + } + + /** + * 관리자 페이지 이동 + * @Author : 임종호 + * @Date : 2021. 9. 27. + * @Method Name : getAdminPage + * @return : String + */ + public static String getAdminPage() { + return ADMIN_URL; + } + + /** + * 관리자 로그인 이동 + * @Author : 임종호 + * @Date : 2021. 9. 27. + * @Method Name : getAdminLogin + * @return : String + */ + public static String getAdminLogin() { + return LOGIN_ADMIN_URL; + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/util/EgovUserDetailsHelper.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/util/EgovWildcardReloadableResourceBundleMessageSource.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/util/EgovWildcardReloadableResourceBundleMessageSource.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/util/EgovWildcardReloadableResourceBundleMessageSource.java (revision 7) @@ -0,0 +1,96 @@ +package egovframework.com.cmm.util; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.commons.lang.StringUtils; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.FileSystemResource; +import org.springframework.core.io.Resource; +import org.springframework.core.io.UrlResource; +import org.springframework.core.io.support.PathMatchingResourcePatternResolver; +import org.springframework.core.io.support.ResourcePatternResolver; + +/** + * @Class Name : EgovWildcardReloadableResourceBundleMessageSource + * @Description : 다국어 properties 파일을 팩키지 구조의 폴더로 읽어드리는 MessageSource + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2016.06.10 장동한 최초 생성 + * + * @author 2016 표준프레임워크 유지보수 장동한 + * @since 2016.06.10 + * @version 1.0 + * @see + * + */ + +public class EgovWildcardReloadableResourceBundleMessageSource extends + org.springframework.context.support.ReloadableResourceBundleMessageSource { + private ResourcePatternResolver resourcePatternResolver = new PathMatchingResourcePatternResolver(); + + public void setEgovBasenames(String... basenames) { + if (basenames != null) { + List<String> baseNames = new ArrayList<String>(); + for (int i = 0; i < basenames.length; i++) { + + String basename = StringUtils.trimToEmpty(basenames[i]); + if(basename.indexOf("classpath:/") > -1 ){ + baseNames.add(basename); + }else if(StringUtils.isNotBlank(basename)) { + try { + + Resource[] resources = resourcePatternResolver.getResources(basename); + + for (int j = 0; j < resources.length; j++) { + Resource resource = resources[j]; + String uri = resource.getURI().toString(); + String baseName = null; + + if(uri.indexOf(".properties") == -1){continue;} + + if (resource instanceof FileSystemResource) { + baseName = "classpath:" + StringUtils.substringBetween(uri, "/classes/", ".properties"); + baseName = baseName.substring(0,baseName.indexOf("_")); + baseName = baseName.replaceAll("classpath:", "classpath:/"); + if(baseNames.indexOf(baseName) > -1){continue;}; + + } else if (resource instanceof ClassPathResource) { + baseName = StringUtils.substringBefore(uri, ".properties"); + baseName = baseName.substring(0,baseName.indexOf("_")); + baseName = baseName.replaceAll("classpath:", "classpath:/"); + } else if (resource instanceof UrlResource) { + baseName = "classpath:" + StringUtils.substringBetween(uri, ".jar!/", ".properties"); + baseName = baseName.substring(0,baseName.indexOf("_")); + baseName = baseName.replaceAll("classpath:", "classpath:/"); + } + if (baseName != null) { + String fullName = processBasename(baseName); + baseNames.add(fullName); + } + } + } catch (IOException e) { + logger.debug("No message source files found for basename " + basename + "."); + } + } + + + } + + logger.debug("EgovWildcardReloadableResourceBundleMessageSource>>basenames>["+baseNames+"}"); + setBasenames(baseNames.toArray(new String[baseNames.size()])); + } + } + + String processBasename(String baseName) { + String prefix = StringUtils.substringBeforeLast(baseName, "/"); + String name = StringUtils.substringAfterLast(baseName, "/"); + do { + name = StringUtils.substringBeforeLast(name, "_"); + } while (name.contains("_")); + return prefix + "/" + name; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/cmm/util/EgovWildcardReloadableResourceBundleMessageSource.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/util/EgovMybaitsUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/util/EgovMybaitsUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/util/EgovMybaitsUtil.java (revision 7) @@ -0,0 +1,135 @@ +package egovframework.com.cmm.util; + +import java.lang.reflect.Array; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * EgovMybaitsUtil 클래스 + * + * @author 장동한 + * @since 2016.06.07 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- ------------- ---------------------- + * 2016.06.07 장동한 최초 생성 + * 2017.03.03 조성원 시큐어코딩(ES)-오류 메시지를 통한 정보노출[CWE-209] + * 2017.07.21 장동한 isEquals에서 String Character 비교 가능하도록 + * + * </pre> + */ + + +public class EgovMybaitsUtil { + + private static final Logger logger = LoggerFactory.getLogger(EgovMybaitsUtil.class); + + /** + * Empty 여부를 확인한다. + * @param o Object + * @return boolean + * @exception IllegalArgumentException + */ + public static boolean isEmpty(Object o) throws IllegalArgumentException { + try { + if(o == null) return true; + + if(o instanceof String) { + if(((String)o).length() == 0){ + return true; + } + } else if(o instanceof Collection) { + if(((Collection)o).isEmpty()){ + return true; + } + } else if(o.getClass().isArray()) { + if(Array.getLength(o) == 0){ + return true; + } + } else if(o instanceof Map) { + if(((Map)o).isEmpty()){ + return true; + } + }else { + return false; + } + + return false; + //2017.03.03 조성원 시큐어코딩(ES)-오류 메시지를 통한 정보노출[CWE-209] + } catch(IllegalArgumentException e) { + logger.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); + } catch(Exception e) { + logger.error("["+e.getClass()+"] Try/Catch...Exception : " + e.getMessage()); + } + return false; + } + + /** + * Not Empty 여부를 확인한다. + * @param o Object + * @return boolean + * @exception IllegalArgumentException + */ + public static boolean isNotEmpty(Object o) { + return !isEmpty(o); + } + + /** + * Equal 여부를 확인한다. + * @param obj Object, obj Object + * @return boolean + */ + + public static boolean isEquals(Object obj, Object obj2){ + if(isEmpty(obj)) return false; + + if(obj instanceof String && obj2 instanceof String) { + if( (String.valueOf(obj)).equals( String.valueOf(obj2) )){ + return true; + } + }else if(obj instanceof String && obj2 instanceof Character) { + if( (String.valueOf(obj) ).equals( String.valueOf(obj2) )){ + return true; + } + }else if(obj instanceof String && obj2 instanceof Integer) { + if( (String.valueOf(obj)).equals( String.valueOf((Integer)obj2) )){ + return true; + } + + }else if(obj instanceof Integer && obj2 instanceof String) { + if( (String.valueOf(obj2)).equals( String.valueOf((Integer)obj) )){ + return true; + } + } else if(obj instanceof Integer && obj instanceof Integer) { + if((Integer)obj == (Integer)obj2){ + return true; + } + } + + return false; + } + + /** + * String의 Equal 여부를 확인한다. + * @param obj Object, obj Object + * @return boolean + */ + public static boolean isEqualsStr(Object obj, String s){ + if(isEmpty(obj)) return false; + + if(s.equals(String.valueOf(obj))){ + return true; + } + return false; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/util/EgovMybaitsUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/util/EgovXssChecker.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/util/EgovXssChecker.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/util/EgovXssChecker.java (revision 7) @@ -0,0 +1,78 @@ +package egovframework.com.cmm.util; + +import javax.servlet.http.HttpServletRequest; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.exception.EgovXssException; +import egovframework.com.utl.fcc.service.EgovStringUtil; + +/** + * EgovXssChecker 클래스 + * + * @author 장동한 + * @since 2016.10.27 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- ------------- ---------------------- + * 2016.10.17 장동한 최초 생성 + * 2017.03.03 조성원 시큐어코딩(ES)-오류 메시지를 통한 정보노출[CWE-209] + * </pre> + */ + + +public class EgovXssChecker { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovXssChecker.class); + + /** + * 사용자에 대한 크로스사이트스크립트(Xss) 확인한다. + * 수정, 상세조회, 삭제시 사용 + * @param uniqId Stirng + * @return boolean + * @exception IllegalArgumentException + */ + public static boolean checkerUserXss(HttpServletRequest request, String sUniqId) throws Exception { + + boolean bLog = false; + + try { + //@ 공통모듈을 이용한 권한체크 + LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + if(bLog){ + LOGGER.debug("@Step1. XSS Check uniqId : {}", sUniqId); + LOGGER.debug("Step2. XSS Session uniqId : {}", loginVO.getId()); + LOGGER.debug("Step3. XSS Session getUniqId : {}", loginVO.getUniqId()); + LOGGER.debug("Step4. XSS Session getAuthorities : {}", EgovUserDetailsHelper.getAuthorities()); + } + + //체크 값에 대한 무결성 체크 + if(sUniqId == null || (loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getUniqId())) == null){ + throw new EgovXssException("XSS00001", "errors.xss.checkerUser"); + } else if (loginVO.getUniqId().equals("")) { // KISA 보안약점 조치 (2018-12-11, 신용호) + throw new EgovXssException("XSS00001", "errors.xss.checkerUser"); + } + + //사용자에에 대한 Xss 체크 + if(!sUniqId.equals(loginVO.getUniqId())){ + throw new EgovXssException("XSS00002", "errors.xss.checkerUser"); + } + //2017.03.03 조성원 시큐어코딩(ES)-오류 메시지를 통한 정보노출[CWE-209] + } catch(IllegalArgumentException e) { + LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); + } catch(Exception e) { + LOGGER.error("["+e.getClass()+"] Try/Catch...Exception : " + e.getMessage()); + } + return true; + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/util/EgovXssChecker.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/util/EgovBasicLogger.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/util/EgovBasicLogger.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/util/EgovBasicLogger.java (revision 7) @@ -0,0 +1,83 @@ +package egovframework.com.cmm.util; + +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * Utility class to support to logging information + * @author Vincent Han + * @since 2014.09.18 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2014.09.18 표준프레임워크센터 최초 생성 + * + * </pre> + */ +public class EgovBasicLogger { + private static final Level IGNORE_INFO_LEVEL = Level.OFF; + private static final Level DEBUG_INFO_LEVEL = Level.FINEST; + private static final Level INFO_INFO_LEVEL = Level.INFO; + + private static final Logger ignoreLogger = Logger.getLogger("ignore"); + private static final Logger debugLogger = Logger.getLogger("debug"); + private static final Logger infoLogger = Logger.getLogger("info"); + + /** + * 기록이나 처리가 불필요한 경우 사용. + * @param message + * @param exception + */ + public static void ignore(String message, Exception exception) { + if (exception == null) { + ignoreLogger.log(IGNORE_INFO_LEVEL, message); + } else { + ignoreLogger.log(IGNORE_INFO_LEVEL, message, exception); + } + } + + /** + * 기록이나 처리가 불필요한 경우 사용. + * @param message + * @param exception + */ + public static void ignore(String message) { + ignore(message, null); + } + + /** + * 디버그 정보를 기록하는 경우 사용. + * @param message + * @param exception + */ + public static void debug(String message, Exception exception) { + if (exception == null) { + debugLogger.log(DEBUG_INFO_LEVEL, message); + } else { + debugLogger.log(DEBUG_INFO_LEVEL, message, exception); + } + } + + /** + * 디버그 정보를 기록하는 경우 사용. + * @param message + * @param exception + */ + public static void debug(String message) { + debug(message, null); + } + + /** + * 일반적이 정보를 기록하는 경우 사용. + * @param message + * @param exception + */ + public static void info(String message) { + infoLogger.log(INFO_INFO_LEVEL, message); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/util/EgovBasicLogger.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/SessionVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/SessionVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/SessionVO.java (revision 7) @@ -0,0 +1,120 @@ +package egovframework.com.cmm; + +import java.io.Serializable; + +/** + * 세션 VO 클래스 + * @author 공통서비스 개발팀 박지욱 + * @since 2009.03.06 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.06 박지욱 최초 생성 + * + * </pre> + */ +@SuppressWarnings("serial") +public class SessionVO implements Serializable { + + /** 아이디 */ + private String sUserId; + /** 이름 */ + private String sUserNm; + /** 이메일 */ + private String sEmail; + /** 사용자구분 */ + private String sUserSe; + /** 조직(부서)ID */ + private String orgnztId; + /** 고유아이디 */ + private String uniqId; + /** + * sUserId attribute 를 리턴한다. + * @return String + */ + public String getSUserId() { + return sUserId; + } + /** + * sUserId attribute 값을 설정한다. + * @param sUserId String + */ + public void setSUserId(String userId) { + sUserId = userId; + } + /** + * sUserNm attribute 를 리턴한다. + * @return String + */ + public String getSUserNm() { + return sUserNm; + } + /** + * sUserNm attribute 값을 설정한다. + * @param sUserNm String + */ + public void setSUserNm(String userNm) { + sUserNm = userNm; + } + /** + * sEmail attribute 를 리턴한다. + * @return String + */ + public String getSEmail() { + return sEmail; + } + /** + * sEmail attribute 값을 설정한다. + * @param sEmail String + */ + public void setSEmail(String email) { + sEmail = email; + } + /** + * sUserSe attribute 를 리턴한다. + * @return String + */ + public String getSUserSe() { + return sUserSe; + } + /** + * sUserSe attribute 값을 설정한다. + * @param sUserSe String + */ + public void setSUserSe(String userSe) { + sUserSe = userSe; + } + /** + * orgnztId attribute 를 리턴한다. + * @return String + */ + public String getOrgnztId() { + return orgnztId; + } + /** + * orgnztId attribute 값을 설정한다. + * @param orgnztId String + */ + public void setOrgnztId(String orgnztId) { + this.orgnztId = orgnztId; + } + /** + * uniqId attribute 를 리턴한다. + * @return String + */ + public String getUniqId() { + return uniqId; + } + /** + * uniqId attribute 값을 설정한다. + * @param uniqId String + */ + public void setUniqId(String uniqId) { + this.uniqId = uniqId; + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/SessionVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/LoginVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/LoginVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/LoginVO.java (revision 7) @@ -0,0 +1,250 @@ +package egovframework.com.cmm; + +import java.io.Serializable; + +/** + * @Class Name : LoginVO.java + * @Description : Login VO class + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.03 박지욱 최초 생성 + * + * @author 공통서비스 개발팀 박지욱 + * @since 2009.03.03 + * @version 1.0 + * @see + * + */ +public class LoginVO implements Serializable{ + + /** + * + */ + private static final long serialVersionUID = -8274004534207618049L; + + /** 아이디 */ + private String id; + /** 이름 */ + private String name; + /** 주민등록번호 */ + private String ihidNum; + /** 이메일주소 */ + private String email; + /** 비밀번호 */ + private String password; + /** 비밀번호 힌트 */ + private String passwordHint; + /** 비밀번호 정답 */ + private String passwordCnsr; + /** 사용자구분 */ + private String userSe; + /** 조직(부서)ID */ + private String orgnztId; + /** 조직(부서)명 */ + private String orgnztNm; + /** 고유아이디 */ + private String uniqId; + /** 로그인 후 이동할 페이지 */ + private String url; + /** 사용자 IP정보 */ + private String ip; + /** GPKI인증 DN */ + private String dn; + /** + * id attribute 를 리턴한다. + * @return String + */ + public String getId() { + return id; + } + /** + * id attribute 값을 설정한다. + * @param id String + */ + public void setId(String id) { + this.id = id; + } + /** + * name attribute 를 리턴한다. + * @return String + */ + public String getName() { + return name; + } + /** + * name attribute 값을 설정한다. + * @param name String + */ + public void setName(String name) { + this.name = name; + } + /** + * ihidNum attribute 를 리턴한다. + * @return String + */ + public String getIhidNum() { + return ihidNum; + } + /** + * ihidNum attribute 값을 설정한다. + * @param ihidNum String + */ + public void setIhidNum(String ihidNum) { + this.ihidNum = ihidNum; + } + /** + * email attribute 를 리턴한다. + * @return String + */ + public String getEmail() { + return email; + } + /** + * email attribute 값을 설정한다. + * @param email String + */ + public void setEmail(String email) { + this.email = email; + } + /** + * password attribute 를 리턴한다. + * @return String + */ + public String getPassword() { + return password; + } + /** + * password attribute 값을 설정한다. + * @param password String + */ + public void setPassword(String password) { + this.password = password; + } + /** + * passwordHint attribute 를 리턴한다. + * @return String + */ + public String getPasswordHint() { + return passwordHint; + } + /** + * passwordHint attribute 값을 설정한다. + * @param passwordHint String + */ + public void setPasswordHint(String passwordHint) { + this.passwordHint = passwordHint; + } + /** + * passwordCnsr attribute 를 리턴한다. + * @return String + */ + public String getPasswordCnsr() { + return passwordCnsr; + } + /** + * passwordCnsr attribute 값을 설정한다. + * @param passwordCnsr String + */ + public void setPasswordCnsr(String passwordCnsr) { + this.passwordCnsr = passwordCnsr; + } + /** + * userSe attribute 를 리턴한다. + * @return String + */ + public String getUserSe() { + return userSe; + } + /** + * userSe attribute 값을 설정한다. + * @param userSe String + */ + public void setUserSe(String userSe) { + this.userSe = userSe; + } + /** + * orgnztId attribute 를 리턴한다. + * @return String + */ + public String getOrgnztId() { + return orgnztId; + } + /** + * orgnztId attribute 값을 설정한다. + * @param orgnztId String + */ + public void setOrgnztId(String orgnztId) { + this.orgnztId = orgnztId; + } + /** + * uniqId attribute 를 리턴한다. + * @return String + */ + public String getUniqId() { + return uniqId; + } + /** + * uniqId attribute 값을 설정한다. + * @param uniqId String + */ + public void setUniqId(String uniqId) { + this.uniqId = uniqId; + } + /** + * url attribute 를 리턴한다. + * @return String + */ + public String getUrl() { + return url; + } + /** + * url attribute 값을 설정한다. + * @param url String + */ + public void setUrl(String url) { + this.url = url; + } + /** + * ip attribute 를 리턴한다. + * @return String + */ + public String getIp() { + return ip; + } + /** + * ip attribute 값을 설정한다. + * @param ip String + */ + public void setIp(String ip) { + this.ip = ip; + } + /** + * dn attribute 를 리턴한다. + * @return String + */ + public String getDn() { + return dn; + } + /** + * dn attribute 값을 설정한다. + * @param dn String + */ + public void setDn(String dn) { + this.dn = dn; + } + /** + * @return the orgnztNm + */ + public String getOrgnztNm() { + return orgnztNm; + } + /** + * @param orgnztNm the orgnztNm to set + */ + public void setOrgnztNm(String orgnztNm) { + this.orgnztNm = orgnztNm; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/LoginVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/CustomDefaultVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/CustomDefaultVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/CustomDefaultVO.java (revision 7) @@ -0,0 +1,257 @@ +package egovframework.com.cmm; + +import java.io.Serializable; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; + +/** + * 기본 VO + * + * @since 2020. 6. 17. + * @author 손희문 + * + * <PRE> + * ----------------------- + * 개정이력 + * 2020. 6. 17. 손희문 : 최초작성 + * </PRE> + */ +public class CustomDefaultVO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** 등록자 */ + String registerId; + + /** 등록일시 */ + String registPnttm; + + /** 수정자 */ + String updusrId; + + /** 수정일시 */ + String updtPnttm; + + /** 검색조건 */ + private String searchCondition = ""; + + /** 검색Keyword */ + private String searchKeyword = ""; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 검색시작날짜 */ + private String searchBgnPnttm; + + /** 검색종료날짜 */ + private String searchEndPnttm; + + /** 페이징 사용 유무 */ + private boolean pagingAt = true; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 한 페이지 갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** firstIndex */ + private int firstIndex = 1; + + /** lastIndex */ + private int lastIndex = 1; + + /** recordCountPerPage */ + private int recordCountPerPage = 10; + + /** 검색KeywordFrom */ + private String searchKeywordFrom = ""; + + /** 검색KeywordTo */ + private String searchKeywordTo = ""; + + /** + * 리다이렉트 시 검색 조건 get으로 붙이기 + * + * @Author : 손희문 + * @Date : 2021. 5. 31. + * @Method Name : searchParam + * @return : String + * @throws UnsupportedEncodingException + */ + public String searchParam(int i) { + String search = ""; + try { + switch (i) { + case 1: + search += "pageIndex=" + this.getPageIndex(); + break; + case 2: + search += "pageIndex=" + this.getPageIndex(); + + search += "&searchKeyword=" + URLEncoder.encode(this.getSearchKeyword(), StandardCharsets.UTF_8.name()); + break; + case 3: + search += "pageIndex=" + this.getPageIndex(); + search += "&searchKeyword=" + URLEncoder.encode(this.getSearchKeyword(), StandardCharsets.UTF_8.name()); + search += "&searchCondition=" + URLEncoder.encode(this.getSearchCondition(), StandardCharsets.UTF_8.name()); + break; + default: + break; + } + } catch (UnsupportedEncodingException e) { + e.getCause().getMessage(); + } + return search; + } + + public String getRegisterId() { + return registerId; + } + + public void setRegisterId(String registerId) { + this.registerId = registerId; + } + + public String getRegistPnttm() { + return registPnttm; + } + + public void setRegistPnttm(String registPnttm) { + this.registPnttm = registPnttm; + } + + public String getUpdusrId() { + return updusrId; + } + + public void setUpdusrId(String updusrId) { + this.updusrId = updusrId; + } + + public String getUpdtPnttm() { + return updtPnttm; + } + + public void setUpdtPnttm(String updtPnttm) { + this.updtPnttm = updtPnttm; + } + + public String getSearchCondition() { + return searchCondition; + } + + public void setSearchCondition(String searchCondition) { + this.searchCondition = searchCondition; + } + + public String getSearchKeyword() { + return searchKeyword; + } + + public void setSearchKeyword(String searchKeyword) { + this.searchKeyword = searchKeyword; + } + + public String getSearchUseYn() { + return searchUseYn; + } + + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + public boolean isPagingAt() { + return pagingAt; + } + + public void setPagingAt(boolean pagingAt) { + this.pagingAt = pagingAt; + } + + public int getPageIndex() { + return pageIndex; + } + + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + public int getPageUnit() { + return pageUnit; + } + + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public int getFirstIndex() { + return firstIndex; + } + + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + public int getLastIndex() { + return lastIndex; + } + + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + + public String getSearchKeywordFrom() { + return searchKeywordFrom; + } + + public void setSearchKeywordFrom(String searchKeywordFrom) { + this.searchKeywordFrom = searchKeywordFrom; + } + + public String getSearchKeywordTo() { + return searchKeywordTo; + } + + public void setSearchKeywordTo(String searchKeywordTo) { + this.searchKeywordTo = searchKeywordTo; + } + + public String getSearchBgnPnttm() { + return searchBgnPnttm; + } + + public void setSearchBgnPnttm(String searchBgnPnttm) { + this.searchBgnPnttm = searchBgnPnttm; + } + + public String getSearchEndPnttm() { + return searchEndPnttm; + } + + public void setSearchEndPnttm(String searchEndPnttm) { + this.searchEndPnttm = searchEndPnttm; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/cmm/CustomDefaultVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/EgovBrowserUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/EgovBrowserUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/EgovBrowserUtil.java (revision 7) @@ -0,0 +1,184 @@ +package egovframework.com.cmm; + +import java.net.URLEncoder; +import java.util.HashMap; +import javax.servlet.http.HttpServletRequest; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * 웹브라우저 종류및 버전 파악하기 ( IE및 Edge, Safari, Chrome, Firefox, Opera ) + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ----------- -------- --------------------------- + * 2018.08.27 신용호 최초 생성 + * + * </pre> + */ + +public class EgovBrowserUtil { + + public static final String FIREFOX = "Firefox"; + public static final String SAFARI = "Safari"; + public static final String CHROME = "Chrome"; + public static final String OPERA = "Opera"; + public static final String MSIE = "MSIE"; + public static final String EDGE = "Edge"; + public static final String OTHER = "Other"; + + public static final String TYPEKEY = "type"; + public static final String VERSIONKEY = "version"; + + public static HashMap<String,String> getBrowser(String userAgent) { + + HashMap<String,String> result = new HashMap<String,String>(); + Pattern pattern = null; + Matcher matcher = null; + //System.out.println("=====>>>>> userAgent = "+userAgent); + + pattern = Pattern.compile("MSIE ([0-9]{1,2}.[0-9])"); + matcher = pattern.matcher(userAgent); + if (matcher.find()) + { + result.put(TYPEKEY,MSIE); + result.put(VERSIONKEY,matcher.group(1)); + return result; + } + + if (userAgent.indexOf("Trident/7.0") > -1) { + result.put(TYPEKEY,MSIE); + result.put(VERSIONKEY,"11.0"); + return result; + } + + pattern = Pattern.compile("Edge/([0-9]{1,3}.[0-9]{1,5})"); + matcher = pattern.matcher(userAgent); + if (matcher.find()) + { + result.put(TYPEKEY,EDGE); + result.put(VERSIONKEY,matcher.group(1)); + return result; + } + + pattern = Pattern.compile("Firefox/([0-9]{1,3}.[0-9]{1,3})"); + matcher = pattern.matcher(userAgent); + if (matcher.find()) + { + result.put(TYPEKEY,FIREFOX); + result.put(VERSIONKEY,matcher.group(1)); + return result; + } + + pattern = Pattern.compile("OPR/([0-9]{1,3}.[0-9]{1,3})"); + matcher = pattern.matcher(userAgent); + if (matcher.find()) + { + result.put(TYPEKEY,OPERA); + result.put(VERSIONKEY,matcher.group(1)); + return result; + } + + pattern = Pattern.compile("Chrome/([0-9]{1,3}.[0-9]{1,3})"); + matcher = pattern.matcher(userAgent); + if (matcher.find()) + { + result.put(TYPEKEY,CHROME); + result.put(VERSIONKEY,matcher.group(1)); + return result; + } + + pattern = Pattern.compile("Version/([0-9]{1,2}.[0-9]{1,3})"); + matcher = pattern.matcher(userAgent); + if (matcher.find()) + { + result.put(TYPEKEY,SAFARI); + result.put(VERSIONKEY,matcher.group(1)); + return result; + } + + result.put(TYPEKEY,OTHER); + result.put(VERSIONKEY,"0.0"); + return result; + } + + public static String getDisposition(String filename, String userAgent, String charSet) throws Exception { + + String encodedFilename = null; + HashMap<String,String> result = EgovBrowserUtil.getBrowser(userAgent); + float version = Float.parseFloat(result.get(EgovBrowserUtil.VERSIONKEY)); + //System.out.println("=====>>>>> browser type = "+result.get(TYPEKEY)); + //System.out.println("=====>>>>> browser version = "+result.get(VERSIONKEY)); + //System.out.println("=====>>>>> filename = "+filename); + + if ( EgovBrowserUtil.MSIE.equals(result.get(EgovBrowserUtil.TYPEKEY)) && version <= 8.0f ) { + encodedFilename = "Content-Disposition: attachment; filename="+URLEncoder.encode(filename, charSet).replaceAll("\\+", "%20"); + } else if ( EgovBrowserUtil.OTHER.equals(result.get(EgovBrowserUtil.TYPEKEY)) ) { + throw new RuntimeException("Not supported browser"); + } else { + encodedFilename = "attachment; filename*="+charSet+"''"+URLEncoder.encode(filename, charSet); + } + + return encodedFilename; + } + + //KISA 보안약점 조치 (2018-10-29, 윤창원) +/* public static void main(String[] args) { + // TODO Auto-generated method stub + String testUserAgent[] = { + // IE 7.0 + "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)" + ,"Mozilla/4.0 (Mozilla/4.0; MSIE 7.0; Windows NT 5.1; FDM; SV1; .NET CLR 3.0.04506.30)" + // IE 8.0 + ,"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)" + // IE 9.0 + ,"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" + // IE 10.0 + ,"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)" + // IE 11.0 + ,"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko" + // Chrome 68.0.3440.106 + ,"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36" + // Edge 17.17134 + ,"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" + // Opera 55.0.2994.44 + ,"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36 OPR/55.0.2994.44" + ,"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60" + // Firefox 61.0 + ,"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:61.0) Gecko/20100101 Firefox/61.0" + // Safari 11.1.2 + ,"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1.2 Safari/605.1.15" + // iPhone 11.0 + ,"Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1" + // iPad 9.0 + ,"Mozilla/5.0 (iPad; CPU OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13G36 Safari/601.1" + // Window Pohone 10 + ,"Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Nokia; Lumia 520) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Mobile Safari/537.36 Edge/12.0" + // Window Pohone 8.1 + ,"Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 520) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537" + // Window Pohone 8 + ,"Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch)" + // Window Pohone 7 + ,"Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)" + // XBOX One + ,"Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0; Xbox; Xbox One)" + // XBOX 360 + ,"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; Xbox)" + }; + + HashMap<String,String> result = null; + for (int i = 0; i < testUserAgent.length; i++) { + result = getBrowser(testUserAgent[i]); + System.out.println("1. User Agent : "+testUserAgent[i]); + System.out.println("2. Browser Type : "+result.get(TYPEKEY)); + System.out.println("2. Browser Version : "+result.get(VERSIONKEY)); + //System.out.println("2. Browser Version convert: "+Float.parseFloat(result.get(VERSIONKEY))); + System.out.println(""); + } + + }*/ + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/EgovBrowserUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/EgovComExcepHndlr.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/EgovComExcepHndlr.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/EgovComExcepHndlr.java (revision 7) @@ -0,0 +1,48 @@ +package egovframework.com.cmm; + +import egovframework.rte.fdl.cmmn.exception.handler.ExceptionHandler; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @Class Name : EgovComExcepHndlr.java + * @Description : 공통서비스의 exception 처리 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 13. 이삼섭 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 13. + * @version + * @see + * + */ +public class EgovComExcepHndlr implements ExceptionHandler { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovComExcepHndlr.class); + + /* + @Resource(name = "otherSSLMailSender") + private SimpleSSLMail mailSender; + */ + /** + * 발생된 Exception을 처리한다. + */ + public void occur(Exception ex, String packageName) { + //log.debug(" EgovServiceExceptionHandler run..............."); + + /* + try { + mailSender. send(ex, packageName); + log.debug(" sending a alert mail is completed "); + } catch (Exception e) { + LOGGER.error(packageName, ex); + } + */ + + LOGGER.error(packageName, ex); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/EgovComExcepHndlr.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/exception/EgovXssException.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/exception/EgovXssException.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/exception/EgovXssException.java (revision 7) @@ -0,0 +1,39 @@ +package egovframework.com.cmm.exception; + +import egovframework.rte.fdl.cmmn.exception.BaseRuntimeException; + +/** + * EgovXssException 클래스 + * + * @author 장동한 + * @since 2016.10.27 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- ------------- ---------------------- + * 2016.10.17 장동한 최초 생성 + * </pre> + */ + +public class EgovXssException extends BaseRuntimeException { + + private static final long serialVersionUID = 1L; + + /** + * EgovXssException 생성자. + * + * @param defaultMessage 메세지 지정 + * @param wrappedException 원인 Exception + */ + public EgovXssException(String message, String messageKey) { + this.messageKey = messageKey; + this.messageParameters = null; + this.message = message; + this.wrappedException = null; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/exception/EgovXssException.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/RegacyPaginationRenderer.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/RegacyPaginationRenderer.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/RegacyPaginationRenderer.java (revision 7) @@ -0,0 +1,48 @@ +package egovframework.com.cmm; + +import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer; + +import javax.servlet.ServletContext; + +import org.springframework.web.context.ServletContextAware; +/** + * ImagePaginationRenderer.java 클래스 + * + * @author 서준식 + * @since 2011. 9. 16. + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- ------------- ---------------------- + * 2011. 9. 16. 서준식 이미지 경로에 ContextPath추가 + * 2016. 6. 17. 장동한 표준프레임워크 v3.6 리뉴얼 + * </pre> + */ +public class RegacyPaginationRenderer extends AbstractPaginationRenderer implements ServletContextAware{ + + private ServletContext servletContext; + + public RegacyPaginationRenderer() { + + } + + public void initVariables(){ + + firstPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_prevend.gif\" alt=\"처음\" border=\"0\"/></a>&#160;"; + previousPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_prev.gif\" alt=\"이전\" border=\"0\"/></a>&#160;"; + currentPageLabel = "<strong>{0}</strong>&#160;"; + otherPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">{2}</a>&#160;"; + nextPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_next.gif\" alt=\"다음\" border=\"0\"/></a>&#160;"; + lastPageLabel = "<a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \"><img src=\"" + servletContext.getContextPath() + "/images/egovframework/com/cmm/icon/icon_nextend.gif\" alt=\"마지막\" border=\"0\"/></a>&#160;"; + } + + public void setServletContext(ServletContext servletContext) { + this.servletContext = servletContext; + initVariables(); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/RegacyPaginationRenderer.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/web/EgovFileMngController.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/web/EgovFileMngController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/web/EgovFileMngController.java (revision 7) @@ -0,0 +1,165 @@ +package egovframework.com.cmm.web; + +import java.util.List; +import java.util.Map; + +import egovframework.com.cmm.service.EgovFileMngService; +import egovframework.com.cmm.service.FileVO; +import egovframework.com.cmm.util.EgovUserDetailsHelper; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * 파일 조회, 삭제, 다운로드 처리를 위한 컨트롤러 클래스 + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.3.25 이삼섭 최초 생성 + * 2016.10.13 장동한 deleteFileInf 메소드 return 방식 수정 + * + * </pre> + */ +@Controller +public class EgovFileMngController { + + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + /** + * 첨부파일에 대한 목록을 조회한다. + * + * @param fileVO + * @param atchFileId + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cmm/fms/selectFileInfs.do") + public String selectFileInfs(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception { + String atchFileId = (String)commandMap.get("param_atchFileId"); + + fileVO.setAtchFileId(atchFileId); + List<FileVO> result = fileService.selectFileInfs(fileVO); + + model.addAttribute("fileList", result); + model.addAttribute("updateFlag", "N"); + model.addAttribute("fileListCnt", result.size()); + model.addAttribute("atchFileId", atchFileId); + + return "egovframework/com/cmm/fms/EgovFileList"; + } + + /** + * 첨부파일 변경을 위한 수정페이지로 이동한다. + * + * @param fileVO + * @param atchFileId + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cmm/fms/selectFileInfsForUpdate.do") + public String selectFileInfsForUpdate(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap, + //SessionVO sessionVO, + ModelMap model) throws Exception { + + String atchFileId = (String)commandMap.get("param_atchFileId"); + + fileVO.setAtchFileId(atchFileId); + + List<FileVO> result = fileService.selectFileInfs(fileVO); + + model.addAttribute("fileList", result); + model.addAttribute("updateFlag", "Y"); + model.addAttribute("fileListCnt", result.size()); + model.addAttribute("atchFileId", atchFileId); + + return "egovframework/com/cmm/fms/EgovFileList"; + } + + /** + * 첨부파일에 대한 삭제를 처리한다. + * + * @param fileVO + * @param returnUrl + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cmm/fms/deleteFileInfs.do") + public String deleteFileInf(@ModelAttribute("searchVO") FileVO fileVO, + //SessionVO sessionVO, + HttpServletRequest request, + ModelMap model) throws Exception { + + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if (isAuthenticated) { + fileService.deleteFileInf(fileVO); + } + + return "blank"; + + //-------------------------------------------- + // contextRoot가 있는 경우 제외 시켜야 함 + //-------------------------------------------- + ////return "forward:/cmm/fms/selectFileInfs.do"; + //return "forward:" + returnUrl; + /* ******************************************************* + * modify by jdh + ******************************************************* + if ("".equals(request.getContextPath()) || "/".equals(request.getContextPath())) { + return "forward:" + returnUrl; + } + + if (returnUrl.startsWith(request.getContextPath())) { + return "forward:" + returnUrl.substring(returnUrl.indexOf("/", 1)); + } else { + return "forward:" + returnUrl; + } + */ + ////------------------------------------------ + } + + /** + * 이미지 첨부파일에 대한 목록을 조회한다. + * + * @param fileVO + * @param atchFileId + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cmm/fms/selectImageFileInfs.do") + public String selectImageFileInfs(@ModelAttribute("searchVO") FileVO fileVO, @RequestParam Map<String, Object> commandMap, + //SessionVO sessionVO, + ModelMap model) throws Exception { + + String atchFileId = (String)commandMap.get("atchFileId"); + + fileVO.setAtchFileId(atchFileId); + List<FileVO> result = fileService.selectImageFileList(fileVO); + + model.addAttribute("fileList", result); + + return "egovframework/com/cmm/fms/EgovImgFileList"; + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/web/EgovFileMngController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/web/EgovFileDownloadController.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/web/EgovFileDownloadController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/web/EgovFileDownloadController.java (revision 7) @@ -0,0 +1,154 @@ +package egovframework.com.cmm.web; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.PrintWriter; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.Map; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.stereotype.Controller; +import org.springframework.util.FileCopyUtils; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import egovframework.com.cmm.EgovBrowserUtil; +import egovframework.com.cmm.service.EgovFileMngService; +import egovframework.com.cmm.service.FileVO; +import egovframework.com.cmm.util.EgovBasicLogger; +import egovframework.com.cmm.util.EgovResourceCloseHelper; +import egovframework.com.cmm.util.EgovUserDetailsHelper; + +/** + * 파일 다운로드를 위한 컨트롤러 클래스 + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------------ -------- --------------------------- + * 2009.03.25 이삼섭 최초 생성 + * 2014.02.24 이기하 IE11 브라우저 한글 파일 다운로드시 에러 수정 + * 2018.08.28 신용호 Safari, Chrome, Firefox, Opera 한글파일 다운로드 처리 수정 (macOS에서 확장자 exe붙는 문제 처리) + * + * Copyright (C) 2009 by MOPAS All right reserved. + * </pre> + */ +@Controller +public class EgovFileDownloadController { + + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + /** + * 브라우저 구분 얻기. + * + * @param request + * @return + */ + private String getBrowser(HttpServletRequest request) { + String header = request.getHeader("User-Agent"); + if (header.indexOf("MSIE") > -1) { + return "MSIE"; + } else if (header.indexOf("Trident") > -1) { // IE11 문자열 깨짐 방지 + return "Trident"; + } else if (header.indexOf("Chrome") > -1) { + return "Chrome"; + } else if (header.indexOf("Opera") > -1) { + return "Opera"; + } + return "Firefox"; + } + + /** + * 첨부파일로 등록된 파일에 대하여 다운로드를 제공한다. + * + * @param commandMap + * @param response + * @throws Exception + */ + @RequestMapping(value = "/cmm/fms/FileDown.do") + public void cvplFileDownload(@RequestParam Map<String, Object> commandMap, HttpServletRequest request, HttpServletResponse response) throws Exception { + + String atchFileId = (String) commandMap.get("atchFileId"); + String fileSn = (String) commandMap.get("fileSn"); + + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if (isAuthenticated) { + + FileVO fileVO = new FileVO(); + fileVO.setAtchFileId(atchFileId); + fileVO.setFileSn(fileSn); + FileVO fvo = fileService.selectFileInf(fileVO); + + File uFile = new File(fvo.getFileStreCours(), fvo.getStreFileNm()); + long fSize = uFile.length(); + + if (fSize > 0) { + String mimetype = "application/x-msdownload"; + + String userAgent = request.getHeader("User-Agent"); + HashMap<String,String> result = EgovBrowserUtil.getBrowser(userAgent); + if ( !EgovBrowserUtil.MSIE.equals(result.get(EgovBrowserUtil.TYPEKEY)) ) { + mimetype = "application/x-stuff"; + } + + String contentDisposition = EgovBrowserUtil.getDisposition(fvo.getOrignlFileNm(),userAgent,"UTF-8"); + //response.setBufferSize(fSize); // OutOfMemeory 발생 + response.setContentType(mimetype); + //response.setHeader("Content-Disposition", "attachment; filename=\"" + contentDisposition + "\""); + response.setHeader("Content-Disposition", contentDisposition); + response.setContentLengthLong(fSize); + + /* + * FileCopyUtils.copy(in, response.getOutputStream()); + * in.close(); + * response.getOutputStream().flush(); + * response.getOutputStream().close(); + */ + BufferedInputStream in = null; + BufferedOutputStream out = null; + + try { + in = new BufferedInputStream(new FileInputStream(uFile)); + out = new BufferedOutputStream(response.getOutputStream()); + + FileCopyUtils.copy(in, out); + out.flush(); + } catch (IOException ex) { + // 다음 Exception 무시 처리 + // Connection reset by peer: socket write error + EgovBasicLogger.ignore("IO Exception", ex); + } finally { + EgovResourceCloseHelper.close(in, out); + } + + } else { + response.setContentType("application/x-msdownload"); + + PrintWriter printwriter = response.getWriter(); + + printwriter.println("<html>"); + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + fvo.getOrignlFileNm() + "</h2>"); + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); + printwriter.println("<br><br><br>&copy; webAccess"); + printwriter.println("</html>"); + + printwriter.flush(); + printwriter.close(); + } + } + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/web/EgovFileDownloadController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/web/EgovImageProcessController.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/web/EgovImageProcessController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/web/EgovImageProcessController.java (revision 7) @@ -0,0 +1,134 @@ +package egovframework.com.cmm.web; + +import java.io.BufferedInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.util.Map; + +import egovframework.com.cmm.EgovWebUtil; +import egovframework.com.cmm.SessionVO; +import egovframework.com.cmm.service.EgovFileMngService; +import egovframework.com.cmm.service.FileVO; +import egovframework.com.cmm.util.EgovResourceCloseHelper; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletResponse; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + + +/** + * @Class Name : EgovImageProcessController.java + * @Description : + * @Modification Information + * + * 수정일 수정자 수정내용 + * ---------- --------- ------------------- + * 2009.04.02 이삼섭 최초생성 + * 2014.03.31 유지보수 fileSn 오류수정 + * 2018.08.31 이정은 MimeType 중복설정 제거 + * 2019.11.29 신용호 KISA 보안약점 조치 : HTTP응답분할(HTTP_Response_Splitting,CRLF)취약점 조치 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 4. 2. + * @version + * @see + * + */ +@SuppressWarnings("serial") +@Controller +public class EgovImageProcessController extends HttpServlet { + + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovImageProcessController.class); + + /** + * 첨부된 이미지에 대한 미리보기 기능을 제공한다. + * + * @param atchFileId + * @param fileSn + * @param sessionVO + * @param model + * @param response + * @throws Exception + */ + @RequestMapping("/cmm/fms/getImage.do") + public void getImageInf(SessionVO sessionVO, ModelMap model, @RequestParam Map<String, Object> commandMap, HttpServletResponse response) throws Exception { + + //@RequestParam("atchFileId") String atchFileId, + //@RequestParam("fileSn") String fileSn, + String atchFileId = (String)commandMap.get("atchFileId"); + String fileSn = (String)commandMap.get("fileSn"); + + FileVO vo = new FileVO(); + + vo.setAtchFileId(atchFileId); + vo.setFileSn(fileSn); + + //------------------------------------------------------------ + // fileSn이 없는 경우 마지막 파일 참조 + //------------------------------------------------------------ + if (fileSn == null || fileSn.equals("")) { + int newMaxFileSN = fileService.getMaxFileSN(vo); + vo.setFileSn(Integer.toString(newMaxFileSN - 1)); + } + //------------------------------------------------------------ + + FileVO fvo = fileService.selectFileInf(vo); + + //String fileLoaction = fvo.getFileStreCours() + fvo.getStreFileNm(); + + File file = null; + FileInputStream fis = null; + + BufferedInputStream in = null; + ByteArrayOutputStream bStream = null; + + try { + file = new File(fvo.getFileStreCours(), fvo.getStreFileNm()); + fis = new FileInputStream(file); + + in = new BufferedInputStream(fis); + bStream = new ByteArrayOutputStream(); + + int imgByte; + while ((imgByte = in.read()) != -1) { + bStream.write(imgByte); + } + + String type = ""; + + if (fvo.getFileExtsn() != null && !"".equals(fvo.getFileExtsn())) { + if ("jpg".equals(fvo.getFileExtsn().toLowerCase())) { + type = "image/jpeg"; + } else { + type = "image/" + fvo.getFileExtsn().toLowerCase(); + } + /*type = "image/" + fvo.getFileExtsn().toLowerCase();*/ + + } else { + LOGGER.debug("Image fileType is null."); + } + + response.setHeader("Content-Type", EgovWebUtil.removeCRLF(type)); + response.setContentLength(bStream.size()); + + bStream.writeTo(response.getOutputStream()); + + response.getOutputStream().flush(); + response.getOutputStream().close(); + + } finally { + EgovResourceCloseHelper.close(bStream, in, fis); + } + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/web/EgovImageProcessController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/web/EgovMultipartResolver.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/web/EgovMultipartResolver.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/web/EgovMultipartResolver.java (revision 7) @@ -0,0 +1,149 @@ +package egovframework.com.cmm.web; + +/* + * Copyright 2001-2006 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the ";License&quot;); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS"; BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import javax.servlet.ServletContext; + +import org.apache.commons.fileupload.FileItem; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.util.StringUtils; +import org.springframework.web.multipart.MultipartException; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartFile; +import org.springframework.web.multipart.commons.CommonsMultipartResolver; + +import egovframework.com.cmm.service.EgovProperties; +import egovframework.com.utl.fcc.service.EgovFileUploadUtil; + +/** + * 실행환경의 파일업로드 처리를 위한 기능 클래스 + * + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.03.25 이삼섭 최초 생성 + * 2011.06.11 서준식 스프링 3.0 업그레이드 API변경으로인한 수정 + * 2020.10.27 신용호 예외처리 수정 + * 2020.10.29 신용호 허용되지 않는 확장자 업로드 제한 (globals.properties > Globals.fileUpload.Extensions) + * + * </pre> + */ +public class EgovMultipartResolver extends CommonsMultipartResolver { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovMultipartResolver.class); + + public EgovMultipartResolver() { + } + + /** + * 첨부파일 처리를 위한 multipart resolver를 생성한다. + * + * @param servletContext + */ + public EgovMultipartResolver(ServletContext servletContext) { + super(servletContext); + } + + /** + * multipart에 대한 parsing을 처리한다. + */ + @Override + protected MultipartParsingResult parseFileItems(List<FileItem> fileItems, String encoding) { + + // 스프링 3.0변경으로 수정한 부분 + MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<String, MultipartFile>(); + Map<String, String[]> multipartParameters = new HashMap<String, String[]>(); + String whiteListFileUploadExtensions = EgovProperties.getProperty("Globals.fileUpload.Extensions"); + + // Extract multipart files and multipart parameters. + for (Iterator<FileItem> it = fileItems.iterator(); it.hasNext();) { + FileItem fileItem = it.next(); + + if (fileItem.isFormField()) { + + String value = null; + if (encoding != null) { + try { + value = fileItem.getString(encoding); + } catch (UnsupportedEncodingException ex) { + LOGGER.warn("Could not decode multipart item '{}' with encoding '{}': using platform default", + fileItem.getFieldName(), encoding); + value = fileItem.getString(); + } + } else { + value = fileItem.getString(); + } + String[] curParam = (String[]) multipartParameters.get(fileItem.getFieldName()); + if (curParam == null) { + // simple form field + multipartParameters.put(fileItem.getFieldName(), new String[] { value }); + } else { + // array of simple form fields + String[] newParam = StringUtils.addStringToArray(curParam, value); + multipartParameters.put(fileItem.getFieldName(), newParam); + } + } else { + + CommonsMultipartFile file = createMultipartFile(fileItem); + multipartFiles.add(file.getName(), file); + + LOGGER.debug("Found multipart file [{" + file.getName() + "}] of size {" + file.getSize() + + "} bytes with original filename [{" + file.getOriginalFilename() + "}], stored {" + + file.getStorageDescription() + "}"); + + String fileName = file.getOriginalFilename(); + String fileExtension = EgovFileUploadUtil.getFileExtension(fileName); + LOGGER.debug("Found File Extension = "+fileExtension); + if (whiteListFileUploadExtensions == null || "".equals(whiteListFileUploadExtensions)) { + LOGGER.debug("The file extension whitelist has not been set."); + } else { + if (fileName == null || "".equals(fileName)) { + LOGGER.debug("No file name."); + } else { + if ("".equals(fileExtension)) { // 확장자 없는 경우 처리 불가 + throw new SecurityException("[No file extension] File extension not allowed."); + } + if ((whiteListFileUploadExtensions+".").contains("."+fileExtension.toLowerCase()+".")) { + LOGGER.debug("File extension allowed."); + } else { + throw new SecurityException("["+fileExtension+"] File extension not allowed."); + } + } + } + + } + } + + return new MultipartParsingResult(multipartFiles, multipartParameters, null); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/web/EgovMultipartResolver.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/web/EgovBindingInitializer.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/web/EgovBindingInitializer.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/web/EgovBindingInitializer.java (revision 7) @@ -0,0 +1,22 @@ +package egovframework.com.cmm.web; + +import java.text.SimpleDateFormat; +import java.util.Date; + +import org.springframework.beans.propertyeditors.CustomDateEditor; +import org.springframework.beans.propertyeditors.StringTrimmerEditor; +import org.springframework.web.bind.WebDataBinder; +import org.springframework.web.bind.support.WebBindingInitializer; +import org.springframework.web.context.request.WebRequest; + +public class EgovBindingInitializer implements WebBindingInitializer { + + + public void initBinder(WebDataBinder binder, WebRequest request) { + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + dateFormat.setLenient(false); + binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, false)); + binder.registerCustomEditor(String.class, new StringTrimmerEditor(false)); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/web/EgovBindingInitializer.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/web/EgovComIndexController.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/web/EgovComIndexController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/web/EgovComIndexController.java (revision 7) @@ -0,0 +1,208 @@ +package egovframework.com.cmm.web; + +/** + * 컴포넌트 설치 후 설치된 컴포넌트들을 IncludedInfo annotation을 통해 찾아낸 후 + * 화면에 표시할 정보를 처리하는 Controller 클래스 + * <Notice> + * 개발시 메뉴 구조가 잡히기 전에 배포파일들에 포함된 공통 컴포넌트들의 목록성 화면에 + * URL을 제공하여 개발자가 편하게 활용하도록 하기 위해 작성된 것으로, + * 실제 운영되는 시스템에서는 적용해서는 안 됨 + * 실 운영 시에는 삭제해서 배포해도 좋음 + * <Disclaimer> + * 운영시에 본 컨트롤을 사용하여 메뉴를 구성하는 경우 성능 문제를 일으키거나 + * 사용자별 메뉴 구성에 오류를 발생할 수 있음 + * @author 공통컴포넌트 정진오 + * @since 2011.08.26 + * @version 2.0.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2011.08.26 정진오 최초 생성 + * 2011.09.16 서준식 컨텐츠 페이지 생성 + * 2011.09.26 이기하 header, footer 페이지 생성 + * 2019.12.04 신용호 KISA 보안코드 점검 : Map<Integer, IncludedCompInfoVO> map를 지역변수로 수정 + * 2020.07.08 신용호 비밀번호를 수정한후 경과한 날짜 조회 + * 2020.08.28 정진호 표준프레임워크 v3.10 개선 + * </pre> + */ + +import java.lang.reflect.Method; +import java.util.Map; +import java.util.TreeMap; + +import javax.annotation.Resource; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.RequestMapping; + +import egovframework.com.cmm.IncludedCompInfoVO; +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.service.EgovProperties; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.uat.uia.service.EgovLoginService; + +@Controller +public class EgovComIndexController implements ApplicationContextAware, InitializingBean { + + private ApplicationContext applicationContext; + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovComIndexController.class); + + public void afterPropertiesSet() throws Exception {} + + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { + this.applicationContext = applicationContext; + + LOGGER.info("EgovComIndexController setApplicationContext method has called!"); + } + + /** EgovLoginService */ + @Resource(name = "loginService") + private EgovLoginService loginService; + + @RequestMapping("/index.do") + public String index(ModelMap model) { + return "egovframework/com/cmm/EgovUnitMain"; + } + + @RequestMapping("/EgovTop.do") + public String top() { + return "egovframework/com/cmm/EgovUnitTop"; + } + + @RequestMapping("/EgovBottom.do") + public String bottom() { + return "egovframework/com/cmm/EgovUnitBottom"; + } + + @RequestMapping("/EgovContent.do") + public String setContent(ModelMap model) throws Exception { + + // 설정된 비밀번호 유효기간을 가져온다. ex) 180이면 비밀번호 변경후 만료일이 앞으로 180일 + String propertyExpirePwdDay = EgovProperties.getProperty("Globals.ExpirePwdDay"); + int expirePwdDay = 0 ; + try { + expirePwdDay = Integer.parseInt(propertyExpirePwdDay); + } catch (Exception e) { + LOGGER.debug("convert expirePwdDay Err : "+e.getMessage()); + } + + model.addAttribute("expirePwdDay", expirePwdDay); + + // 비밀번호 설정일로부터 몇일이 지났는지 확인한다. ex) 3이면 비빌번호 설정후 3일 경과 + LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + model.addAttribute("loginVO", loginVO); + int passedDayChangePWD = 0; + if ( loginVO != null ) { + LOGGER.debug("===>>> loginVO.getId() = "+loginVO.getId()); + LOGGER.debug("===>>> loginVO.getUniqId() = "+loginVO.getUniqId()); + LOGGER.debug("===>>> loginVO.getUserSe() = "+loginVO.getUserSe()); + // 비밀번호 변경후 경과한 일수 + passedDayChangePWD = loginService.selectPassedDayChangePWD(loginVO); + LOGGER.debug("===>>> passedDayChangePWD = "+passedDayChangePWD); + model.addAttribute("passedDay", passedDayChangePWD); + } + + // 만료일자로부터 경과한 일수 => ex)1이면 만료일에서 1일 경과 + model.addAttribute("elapsedTimeExpiration", passedDayChangePWD - expirePwdDay); + + return "egovframework/com/cmm/EgovUnitContent"; + } + + @RequestMapping("/EgovLeft.do") + public String setLeftMenu(ModelMap model) { + + Map<Integer, IncludedCompInfoVO> map = new TreeMap<Integer, IncludedCompInfoVO>(); + RequestMapping rmAnnotation; + IncludedInfo annotation; + IncludedCompInfoVO zooVO; + + /* + * EgovLoginController가 AOP Proxy되는 바람에 클래스를 reflection으로 가져올 수 없음 + */ + try { + Class<?> loginController = Class.forName("egovframework.com.uat.uia.web.EgovLoginController"); + Method[] methods = loginController.getMethods(); + for (int i = 0; i < methods.length; i++) { + annotation = methods[i].getAnnotation(IncludedInfo.class); + + if (annotation != null) { + LOGGER.debug("Found @IncludedInfo Method : {}", methods[i]); + zooVO = new IncludedCompInfoVO(); + zooVO.setName(annotation.name()); + zooVO.setOrder(annotation.order()); + zooVO.setGid(annotation.gid()); + + rmAnnotation = methods[i].getAnnotation(RequestMapping.class); + if ("".equals(annotation.listUrl()) && rmAnnotation != null) { + zooVO.setListUrl(rmAnnotation.value()[0]); + } else { + zooVO.setListUrl(annotation.listUrl()); + } + map.put(zooVO.getOrder(), zooVO); + } + } + } catch (ClassNotFoundException e) { + LOGGER.error("No egovframework.com.uat.uia.web.EgovLoginController!!"); + } + /* 여기까지 AOP Proxy로 인한 코드 */ + + /*@Controller Annotation 처리된 클래스를 모두 찾는다.*/ + Map<String, Object> myZoos = applicationContext.getBeansWithAnnotation(Controller.class); + LOGGER.debug("How many Controllers : ", myZoos.size()); + for (final Object myZoo : myZoos.values()) { + Class<? extends Object> zooClass = myZoo.getClass(); + + Method[] methods = zooClass.getMethods(); + LOGGER.debug("Controller Detected {}", zooClass); + for (int i = 0; i < methods.length; i++) { + annotation = methods[i].getAnnotation(IncludedInfo.class); + + if (annotation != null) { + //LOG.debug("Found @IncludedInfo Method : " + methods[i] ); + zooVO = new IncludedCompInfoVO(); + zooVO.setName(annotation.name()); + zooVO.setOrder(annotation.order()); + zooVO.setGid(annotation.gid()); + /* + * 목록형 조회를 위한 url 매핑은 @IncludedInfo나 @RequestMapping에서 가져온다 + */ + rmAnnotation = methods[i].getAnnotation(RequestMapping.class); + if ("".equals(annotation.listUrl())) { + zooVO.setListUrl(rmAnnotation.value()[0]); + } else { + zooVO.setListUrl(annotation.listUrl()); + } + + map.put(zooVO.getOrder(), zooVO); + } + } + } + + model.addAttribute("resultList", map.values()); + + LOGGER.debug("EgovComIndexController index is called "); + + return "egovframework/com/cmm/EgovUnitLeft"; + } + + // context-security.xml 설정 + // csrf="true"인 경우 csrf Token이 없는경우 이동하는 페이지 + // csrfAccessDeniedUrl="/egovCSRFAccessDenied.do" + @RequestMapping("/egovCSRFAccessDenied.do") + public String egovCSRFAccessDenied() { + return "egovframework/com/cmm/error/csrfAccessDenied"; + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/web/EgovComIndexController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/web/EgovComUtlController.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/web/EgovComUtlController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/web/EgovComUtlController.java (revision 7) @@ -0,0 +1,93 @@ +package egovframework.com.cmm.web; + +import java.util.List; + +import javax.annotation.Resource; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import egovframework.com.cmm.EgovWebUtil; +import egovframework.rte.fdl.property.EgovPropertyService; + +/** + * @Class Name : EgovComUtlController.java + * @Description : 공통유틸리티성 작업을 위한 Controller + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * 2009.03.02 조재영 최초 생성 + * 2011.10.07 이기하 .action -> .do로 변경하면서 동일 매핑이 되어 삭제처리 + * 2015.11.12 김연호 한국인터넷진흥원 웹 취약점 개선 + * 2019.04.25 신용호 moveToPage() 화이트리스트 처리 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.03.02 + * @version 1.0 + * @see + * + */ +@Controller +public class EgovComUtlController { + + //@Resource(name = "egovUserManageService") + //private EgovUserManageService egovUserManageService; + private static final Logger LOGGER = LoggerFactory.getLogger(EgovComUtlController.class); + + @Resource(name = "egovPageLinkWhitelist") + protected List<String> egovWhitelist; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** + * JSP 호출작업만 처리하는 공통 함수 + */ + @RequestMapping(value="/EgovPageLink.do") + public String moveToPage(@RequestParam("link") String linkPage){ + String link = linkPage; + link = link.replace(";", ""); + link = link.replace(".", ""); + + // service 사용하여 리턴할 결과값 처리하는 부분은 생략하고 단순 페이지 링크만 처리함 + if (linkPage==null || linkPage.equals("")){ + link="egovframework/com/cmm/egovError"; + } + + // 화이트 리스트 처리 + // whitelist목록에 있는 경우 결과가 true, 결과가 false인경우 FAIL처리 + if (egovWhitelist.contains(linkPage) == false) { + LOGGER.debug("Page Link WhiteList Error! Please check whitelist!"); + link="egovframework/com/cmm/egovError"; + } + + // 안전한 경로 문자열로 조치 + link = EgovWebUtil.filePathBlackList(link); + + return link; + } + + /** + * 모달조회 + * @return String + * @exception Exception + */ + @RequestMapping(value="/EgovModal.do") + public String selectUtlJsonInquire() throws Exception { + return "egovframework/com/cmm/EgovModal"; + } + + /** + * validato rule dynamic Javascript + */ + @RequestMapping("/validator.do") + public String validate(){ + return "egovframework/com/cmm/validator"; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/cmm/web/EgovComUtlController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/AltibaseClobStringTypeHandler.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/AltibaseClobStringTypeHandler.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/AltibaseClobStringTypeHandler.java (revision 7) @@ -0,0 +1,121 @@ +package egovframework.com.cmm; +/* + * Copyright 2002-2005 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import java.io.IOException; +import java.io.Reader; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.jdbc.support.lob.LobCreator; +import org.springframework.jdbc.support.lob.LobHandler; + +import egovframework.rte.psl.orm.ibatis.support.AbstractLobTypeHandler; + +/** + * iBATIS TypeHandler implementation for Strings that get mapped to CLOBs. + * Retrieves the LobHandler to use from SqlMapClientFactoryBean at config time. + * + * <p>Particularly useful for storing Strings with more than 4000 characters in an + * Oracle database (only possible via CLOBs), in combination with OracleLobHandler. + * + * <p>Can also be defined in generic iBATIS mappings, as DefaultLobCreator will + * work with most JDBC-compliant database drivers. In this case, the field type + * does not have to be BLOB: For databases like MySQL and MS SQL Server, any + * large enough binary type will work. + * + * @author Juergen Hoeller + * @since 1.1.5 + * @see org.springframework.orm.ibatis.SqlMapClientFactoryBean#setLobHandler + * + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + * + * + */ +@SuppressWarnings("deprecation") +public class AltibaseClobStringTypeHandler extends AbstractLobTypeHandler { + + private static final Logger LOGGER = LoggerFactory.getLogger(AltibaseClobStringTypeHandler.class); + + /** + * Constructor used by iBATIS: fetches config-time LobHandler from + * SqlMapClientFactoryBean. + * @see org.springframework.orm.ibatis.SqlMapClientFactoryBean#getConfigTimeLobHandler + */ + public AltibaseClobStringTypeHandler() { + super(); + } + + /** + * Constructor used for testing: takes an explicit LobHandler. + */ + protected AltibaseClobStringTypeHandler(LobHandler lobHandler) { + super(lobHandler); + } + + protected void setParameterInternal( + PreparedStatement ps, int index, Object value, String jdbcType, LobCreator lobCreator) + throws SQLException { + lobCreator.setClobAsString(ps, index, (String) value); + } + + + protected Object getResultInternal(ResultSet rs, int index, LobHandler lobHandler) + throws SQLException { + + StringBuffer read_data = new StringBuffer(""); + int read_length; + + char [] buf = new char[1024]; + + Reader rd = lobHandler.getClobAsCharacterStream(rs, index); + try { + while( (read_length=rd.read(buf)) != -1) { + read_data.append(buf, 0, read_length); + } + } catch (IOException ie) { + SQLException sqle = new SQLException(ie.getMessage()); + throw sqle; + // 2011.10.10 보안점검 후속조치 + } finally { + if (rd != null) { + try { + rd.close(); + //2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + } catch (IOException ignore) { + LOGGER.error("[IOException] : Connection Close"); + } catch (Exception ignore) { + LOGGER.error("["+ ignore.getClass() +"] Connection Close : " + ignore.getMessage()); + } + } + } + + return read_data.toString(); + + //return lobHandler.getClobAsString(rs, index); + } + + public Object valueOf(String s) { + return s; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/AltibaseClobStringTypeHandler.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/ComDefaultVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/ComDefaultVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/ComDefaultVO.java (revision 7) @@ -0,0 +1,166 @@ +package egovframework.com.cmm; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * @Class Name : ComDefaultVO.java + * @Description : ComDefaultVO class + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 조재영 최초 생성 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +@SuppressWarnings("serial") +public class ComDefaultVO implements Serializable { + + /** 검색조건 */ + private String searchCondition = ""; + + /** 검색Keyword */ + private String searchKeyword = ""; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** firstIndex */ + private int firstIndex = 1; + + /** lastIndex */ + private int lastIndex = 1; + + /** recordCountPerPage */ + private int recordCountPerPage = 10; + + /** 검색KeywordFrom */ + private String searchKeywordFrom = ""; + + /** 검색KeywordTo */ + private String searchKeywordTo = ""; + + public int getFirstIndex() { + return firstIndex; + } + + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + public int getLastIndex() { + return lastIndex; + } + + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + + public String getSearchCondition() { + return searchCondition; + } + + public void setSearchCondition(String searchCondition) { + this.searchCondition = searchCondition; + } + + public String getSearchKeyword() { + return searchKeyword; + } + + public void setSearchKeyword(String searchKeyword) { + this.searchKeyword = searchKeyword; + } + + public String getSearchUseYn() { + return searchUseYn; + } + + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + public int getPageIndex() { + return pageIndex; + } + + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + public int getPageUnit() { + return pageUnit; + } + + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public String toString() { + return ToStringBuilder.reflectionToString(this); + } + + + /** + * searchKeywordFrom attribute를 리턴한다. + * @return String + */ + public String getSearchKeywordFrom() { + return searchKeywordFrom; + } + + /** + * searchKeywordFrom attribute 값을 설정한다. + * @param searchKeywordFrom String + */ + public void setSearchKeywordFrom(String searchKeywordFrom) { + this.searchKeywordFrom = searchKeywordFrom; + } + + /** + * searchKeywordTo attribute를 리턴한다. + * @return String + */ + public String getSearchKeywordTo() { + return searchKeywordTo; + } + + /** + * searchKeywordTo attribute 값을 설정한다. + * @param searchKeywordTo String + */ + public void setSearchKeywordTo(String searchKeywordTo) { + this.searchKeywordTo = searchKeywordTo; + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/ComDefaultVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/EgovMessageSource.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/EgovMessageSource.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/EgovMessageSource.java (revision 7) @@ -0,0 +1,87 @@ +package egovframework.com.cmm; + +import java.util.Locale; + +import org.springframework.context.MessageSource; +import org.springframework.context.support.ReloadableResourceBundleMessageSource; + +/** + * 메시지 리소스 사용을 위한 MessageSource 인터페이스 및 ReloadableResourceBundleMessageSource 클래스의 구현체 + * @author 공통서비스 개발팀 이문준 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.11 이문준 최초 생성 + * 2017.07.21 장동한 args, locale 설정 + * + * </pre> + */ + +public class EgovMessageSource extends ReloadableResourceBundleMessageSource implements MessageSource { + + private ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource; + + /** + * getReloadableResourceBundleMessageSource() + * @param reloadableResourceBundleMessageSource - resource MessageSource + * @return ReloadableResourceBundleMessageSource + */ + public void setReloadableResourceBundleMessageSource(ReloadableResourceBundleMessageSource reloadableResourceBundleMessageSource) { + this.reloadableResourceBundleMessageSource = reloadableResourceBundleMessageSource; + } + + /** + * getReloadableResourceBundleMessageSource() + * @return ReloadableResourceBundleMessageSource + */ + public ReloadableResourceBundleMessageSource getReloadableResourceBundleMessageSource() { + return reloadableResourceBundleMessageSource; + } + + /** + * 정의된 메세지 조회 + * @param code - 메세지 코드 + * @return String + */ + public String getMessage(String code) { + return getReloadableResourceBundleMessageSource().getMessage(code, null, Locale.getDefault()); + } + + /** + * 정의된 메세지 조회 + * @param code - 메세지 코드 + * @param locale - 로케일 + * @return String + */ + public String getMessage(String code, Locale locale) { + return getReloadableResourceBundleMessageSource().getMessage(code, null, locale); + } + + /** + * 정의된 메세지 조회 + * @param code - 메세지 코드 + * @param args - 매개변수 + * @return String + */ + public String getMessageArgs(String code, Object[] args) { + return getReloadableResourceBundleMessageSource().getMessage(code, args, Locale.getDefault()); + } + + /** + * 정의된 메세지 조회 + * @param code - 메세지 코드 + * @param args - 매개변수 + * @param locale - 로케일 + * @return String + */ + public String getMessageArgsLocale(String code, Object[] args, Locale locale) { + return getReloadableResourceBundleMessageSource().getMessage(code, args, locale); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/EgovMessageSource.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/taglibs/DoubleSubmitTag.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/taglibs/DoubleSubmitTag.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/taglibs/DoubleSubmitTag.java (revision 7) @@ -0,0 +1,88 @@ +package egovframework.com.cmm.taglibs; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +import egovframework.com.cmm.util.EgovDoubleSubmitHelper; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; +import javax.servlet.jsp.JspException; +import javax.servlet.jsp.JspTagException; +import javax.servlet.jsp.tagext.TagSupport; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * TagSupport to support to double submit preventer + * @author Vincent Han + * @since 2014.08.07 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2014.08.07 표준프레임워크센터 최초 생성 + * + * </pre> + */ +public class DoubleSubmitTag extends TagSupport { + private static final Logger LOGGER = LoggerFactory.getLogger(DoubleSubmitTag.class); + + /** + * Generated Serial Version UID + */ + private static final long serialVersionUID = 5242217605452312594L; + + private String tokenKey = EgovDoubleSubmitHelper.DEFAULT_TOKEN_KEY; + + public String getTokenKey() { + return tokenKey; + } + + public void setTokenKey(String tokenKey) { + this.tokenKey = tokenKey; + } + + @SuppressWarnings("unchecked") + public int doStartTag() throws JspException { + StringBuilder buffer = new StringBuilder(); + + HttpServletRequest request = (HttpServletRequest)pageContext.getRequest(); + HttpSession session = request.getSession(); + + Map<String, String> map = null; + + if (session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY) == null) { + map = new HashMap<String, String>(); + + session.setAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY, map); + } else { + map = (Map<String, String>) session.getAttribute(EgovDoubleSubmitHelper.SESSION_TOKEN_KEY); + } + + // First call (check session) + if (map.get(tokenKey) == null) { + + map.put(tokenKey, EgovDoubleSubmitHelper.getNewUUID()); + + LOGGER.debug("[Double Submit] session token created({}) : {}", tokenKey, map.get(tokenKey)); + } + + buffer.append("<input type='hidden' name='").append(EgovDoubleSubmitHelper.PARAMETER_NAME).append("' value='").append(map.get(tokenKey)).append("'/>"); + + try { + pageContext.getOut().print(buffer.toString()); + } catch (IOException e) { + throw new JspTagException("Error: IOException while writing to the user"); + } + + return SKIP_BODY; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/taglibs/DoubleSubmitTag.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/ComDefaultCodeVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/ComDefaultCodeVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/ComDefaultCodeVO.java (revision 7) @@ -0,0 +1,185 @@ +package egovframework.com.cmm; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * 클래스 + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.3.11 이삼섭 최초 생성 + * + * </pre> + */ +@SuppressWarnings("serial") +public class ComDefaultCodeVO implements Serializable { + /** 코드 ID */ + private String codeId = ""; + + /** 상세코드 */ + private String code = ""; + + /** 코드명 */ + private String codeNm = ""; + + /** 코드설명 */ + private String codeDc = ""; + + /** 특정테이블명 */ + private String tableNm = ""; //특정테이블에서 코드정보를추출시 사용 + + /** 상세 조건 여부 */ + private String haveDetailCondition = "N"; + + /** 상세 조건 */ + private String detailCondition = ""; + + /** + * codeId attribute를 리턴한다. + * + * @return the codeId + */ + public String getCodeId() { + return codeId; + } + + /** + * codeId attribute 값을 설정한다. + * + * @param codeId + * the codeId to set + */ + public void setCodeId(String codeId) { + this.codeId = codeId; + } + + /** + * code attribute를 리턴한다. + * + * @return the code + */ + public String getCode() { + return code; + } + + /** + * code attribute 값을 설정한다. + * + * @param code + * the code to set + */ + public void setCode(String code) { + this.code = code; + } + + /** + * codeNm attribute를 리턴한다. + * + * @return the codeNm + */ + public String getCodeNm() { + return codeNm; + } + + /** + * codeNm attribute 값을 설정한다. + * + * @param codeNm + * the codeNm to set + */ + public void setCodeNm(String codeNm) { + this.codeNm = codeNm; + } + + /** + * codeDc attribute를 리턴한다. + * + * @return the codeDc + */ + public String getCodeDc() { + return codeDc; + } + + /** + * codeDc attribute 값을 설정한다. + * + * @param codeDc + * the codeDc to set + */ + public void setCodeDc(String codeDc) { + this.codeDc = codeDc; + } + + /** + * tableNm attribute를 리턴한다. + * + * @return the tableNm + */ + public String getTableNm() { + return tableNm; + } + + /** + * tableNm attribute 값을 설정한다. + * + * @param tableNm + * the tableNm to set + */ + public void setTableNm(String tableNm) { + this.tableNm = tableNm; + } + + /** + * haveDetailCondition attribute를 리턴한다. + * + * @return the haveDetailCondition + */ + public String getHaveDetailCondition() { + return haveDetailCondition; + } + + /** + * haveDetailCondition attribute 값을 설정한다. + * + * @param haveDetailCondition + * the haveDetailCondition to set + */ + public void setHaveDetailCondition(String haveDetailCondition) { + this.haveDetailCondition = haveDetailCondition; + } + + /** + * detailCondition attribute를 리턴한다. + * + * @return the detailCondition + */ + public String getDetailCondition() { + return detailCondition; + } + + /** + * detailCondition attribute 값을 설정한다. + * + * @param detailCondition + * the detailCondition to set + */ + public void setDetailCondition(String detailCondition) { + this.detailCondition = detailCondition; + } + + /** + * toString 메소드를 대치한다. + */ + public String toString() { + return ToStringBuilder.reflectionToString(this); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/ComDefaultCodeVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/EgovWebUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/EgovWebUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/EgovWebUtil.java (revision 7) @@ -0,0 +1,125 @@ +package egovframework.com.cmm; + +import java.util.regex.Pattern; + +/** + * 교차접속 스크립트 공격 취약성 방지(파라미터 문자열 교체) + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ----------- -------- --------------------------- + * 2011.10.10 한성곤 최초 생성 + * 2017-02-07 이정은 시큐어코딩(ES) - 시큐어코딩 경로 조작 및 자원 삽입[CWE-22, CWE-23, CWE-95, CWE-99] + * 2018.08.17 신용호 filePathBlackList 수정 + * 2018.10.10 신용호 . => \\.으로 수정 + * </pre> + */ + +public class EgovWebUtil { + public static String clearXSSMinimum(String value) { + if (value == null || value.trim().equals("")) { + return ""; + } + + String returnValue = value; + + returnValue = returnValue.replaceAll("&", "&amp;"); + returnValue = returnValue.replaceAll("<", "&lt;"); + returnValue = returnValue.replaceAll(">", "&gt;"); + returnValue = returnValue.replaceAll("\"", "&#34;"); + returnValue = returnValue.replaceAll("\'", "&#39;"); + returnValue = returnValue.replaceAll("\\.", "&#46;"); + returnValue = returnValue.replaceAll("%2E", "&#46;"); + returnValue = returnValue.replaceAll("%2F", "&#47;"); + return returnValue; + } + + public static String clearXSSMaximum(String value) { + String returnValue = value; + returnValue = clearXSSMinimum(returnValue); + + returnValue = returnValue.replaceAll("%00", null); + + returnValue = returnValue.replaceAll("%", "&#37;"); + + // \\. => . + + returnValue = returnValue.replaceAll("\\.\\./", ""); // ../ + returnValue = returnValue.replaceAll("\\.\\.\\\\", ""); // ..\ + returnValue = returnValue.replaceAll("\\./", ""); // ./ + returnValue = returnValue.replaceAll("%2F", ""); + + return returnValue; + } + + public static String filePathBlackList(String value) { + String returnValue = value; + if (returnValue == null || returnValue.trim().equals("")) { + return ""; + } + + returnValue = returnValue.replaceAll("\\.\\.", ""); + + return returnValue; + } + + /** + * 행안부 보안취약점 점검 조치 방안. + * + * @param value + * @return + */ + public static String filePathReplaceAll(String value) { + String returnValue = value; + if (returnValue == null || returnValue.trim().equals("")) { + return ""; + } + + returnValue = returnValue.replaceAll("/", ""); + returnValue = returnValue.replaceAll("\\", ""); + returnValue = returnValue.replaceAll("\\.\\.", ""); // .. + returnValue = returnValue.replaceAll("&", ""); + + return returnValue; + } + + public static String fileInjectPathReplaceAll(String value) { + String returnValue = value; + if (returnValue == null || returnValue.trim().equals("")) { + return ""; + } + + + returnValue = returnValue.replaceAll("/", ""); + returnValue = returnValue.replaceAll("\\..", ""); // .. + returnValue = returnValue.replaceAll("\\\\", "");// \ + returnValue = returnValue.replaceAll("&", ""); + + return returnValue; + } + + public static String filePathWhiteList(String value) { + return value; + } + + public static boolean isIPAddress(String str) { + Pattern ipPattern = Pattern.compile("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"); + + return ipPattern.matcher(str).matches(); + } + + public static String removeCRLF(String parameter) { + return parameter.replaceAll("\r", "").replaceAll("\n", ""); + } + + public static String removeSQLInjectionRisk(String parameter) { + return parameter.replaceAll("\\p{Space}", "").replaceAll("\\*", "").replaceAll("%", "").replaceAll(";", "").replaceAll("-", "").replaceAll("\\+", "").replaceAll(",", ""); + } + + public static String removeOSCmdRisk(String parameter) { + return parameter.replaceAll("\\p{Space}", "").replaceAll("\\*", "").replaceAll("|", "").replaceAll(";", ""); + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/cmm/EgovWebUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/EgovComOthersExcepHndlr.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/EgovComOthersExcepHndlr.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/EgovComOthersExcepHndlr.java (revision 7) @@ -0,0 +1,16 @@ +package egovframework.com.cmm; + +import egovframework.rte.fdl.cmmn.exception.handler.ExceptionHandler; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class EgovComOthersExcepHndlr implements ExceptionHandler { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovComOthersExcepHndlr.class); + + public void occur(Exception exception, String packageName) { + //log.debug(" EgovServiceExceptionHandler run..............."); + LOGGER.error(packageName, exception); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/EgovComOthersExcepHndlr.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/interceptor/IpObtainInterceptor.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/interceptor/IpObtainInterceptor.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/interceptor/IpObtainInterceptor.java (revision 7) @@ -0,0 +1,42 @@ +package egovframework.com.cmm.interceptor; + +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.util.EgovUserDetailsHelper; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; + +/** + * 사용자IP 체크 인터셉터 + * @author 유지보수팀 이기하 + * @since 2013.03.28 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2013.03.28 이기하 최초 생성 + * </pre> + */ + +public class IpObtainInterceptor extends HandlerInterceptorAdapter { + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + + String clientIp = request.getRemoteAddr(); + + LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + + if (loginVO != null) { + loginVO.setIp(clientIp); + } + + return true; + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/interceptor/IpObtainInterceptor.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/interceptor/AuthenticInterceptor.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/interceptor/AuthenticInterceptor.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/interceptor/AuthenticInterceptor.java (revision 7) @@ -0,0 +1,91 @@ +package egovframework.com.cmm.interceptor; + +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.Environment; +import org.springframework.security.web.util.matcher.AntPathRequestMatcher; +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.ModelAndViewDefiningException; +import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; + +import egovframework.com.cmm.util.EgovUserDetailsHelper; + +/** + * 인증여부 체크 인터셉터 + * @author 공통서비스 개발팀 서준식 + * @since 2011.07.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2011.07.01 서준식 최초 생성 + * 2011.09.07 서준식 인증이 필요없는 URL을 패스하는 로직 추가 + * 2017.08.31 장동한 인증된 사용자 체크로직 변경 및 관리자 권한 체크 로직 추가 + * </pre> + */ + + +public class AuthenticInterceptor extends HandlerInterceptorAdapter { + + @Autowired + private Environment environment; + + /** log */ + private static final Logger LOGGER = LoggerFactory.getLogger(AuthenticInterceptor.class); + + /** 관리자 접근 권한 패턴 목록 */ + private List<String> adminAuthPatternList; + + public List<String> getAdminAuthPatternList() { + return adminAuthPatternList; + } + + public void setAdminAuthPatternList(List<String> adminAuthPatternList) { + this.adminAuthPatternList = adminAuthPatternList; + } + + /** + * 인증된 사용자 여부로 인증 여부를 체크한다. + * 관리자 권한에 따라 접근 페이지 권한을 체크한다. + */ + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + //인증된사용자 여부 + boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + //미민증사용자 체크 + if(!isAuthenticated) { + ModelAndView modelAndView = new ModelAndView("redirect:/uat/uia/egovLoginUsr.do"); + throw new ModelAndViewDefiningException(modelAndView); + } + //인증된 권한 목록 + List<String> authList = (List<String>)EgovUserDetailsHelper.getAuthorities(); + //관리자인증여부 + boolean adminAuthUrlPatternMatcher = false; + //AntPathRequestMatcher + AntPathRequestMatcher antPathRequestMatcher = null; + //관리자가 아닐때 체크함 + for(String adminAuthPattern : adminAuthPatternList){ + antPathRequestMatcher = new AntPathRequestMatcher(adminAuthPattern); + if(antPathRequestMatcher.matches(request)){ + adminAuthUrlPatternMatcher = true; + } + } + //관리자 권한 체크 + if(adminAuthUrlPatternMatcher && !authList.contains("ADMIN")){ + ModelAndView modelAndView = new ModelAndView("redirect:/uat/uia/egovLoginUsr.do?auth_error=1"); + throw new ModelAndViewDefiningException(modelAndView); + } + return true; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/interceptor/AuthenticInterceptor.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/EgovComponentChecker.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/EgovComponentChecker.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/EgovComponentChecker.java (revision 7) @@ -0,0 +1,65 @@ +package egovframework.com.cmm; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.NoSuchBeanDefinitionException; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.stereotype.Service; + + +/** + * EgovComUtil 클래스 + * + * @author 서준식 + * @since 2011.09.15 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- ------------- ---------------------- + * 2011.09.15 서준식 최초 생성 + * </pre> + */ + +@Service("egovUtil") +public class EgovComponentChecker extends EgovAbstractServiceImpl implements ApplicationContextAware{ + + + public static ApplicationContext context; + + @SuppressWarnings("static-access") + public void setApplicationContext(ApplicationContext context) + throws BeansException { + + this.context = context; + } + + + /** + * Spring MVC에서 설정한 빈이 아닌 서비스 빈(컴포넌트)만을 검색할 수 있음 + * + */ + public static boolean hasComponent(String componentName){ + + try{ + Object component = context.getBean(componentName); + + if(component == null){ + return false; + }else{ + return true; + } + + }catch(NoSuchBeanDefinitionException ex){// 해당 컴포넌트를 찾을 수없을 경우 false반환 + return false; + } + } + + + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/EgovComponentChecker.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/annotation/IncludedInfo.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/annotation/IncludedInfo.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/annotation/IncludedInfo.java (revision 7) @@ -0,0 +1,33 @@ +package egovframework.com.cmm.annotation; + +/** + * 컴포넌트의 포함 정보 표현을 위한 annotation 클래스 + * 기본적으로 Controller 클래스에 annotation을 부여하되, + * 하나의 Controller에 여러 개의 목록성 url mapping이 제공되는 경우에는 + * 메소드에 annotation을 부여한다. + * @author 공통컴포넌트 정진오 + * @since 2011.08.26 + * @version 2.0.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2011.08.26 정진오 최초 생성 + * + * </pre> + */ + + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; + +@Retention(RetentionPolicy.RUNTIME) +public @interface IncludedInfo { + String name() default ""; // 컴포넌트의 한글 이름 + String listUrl() default ""; // 컴포넌트의 목록정보조회를 위한 URL + int order() default 0; // 자동 생성되는 메뉴 목록에 표시되는 순서 + int gid() default 0; // 컴포넌트의 Group ID(대분류 구분) +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/annotation/IncludedInfo.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/context/EgovWebServletContextListener.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/context/EgovWebServletContextListener.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/context/EgovWebServletContextListener.java (revision 7) @@ -0,0 +1,66 @@ +package egovframework.com.cmm.context; + +import egovframework.com.cmm.service.EgovProperties; + +import javax.servlet.ServletContextEvent; +import javax.servlet.ServletContextListener; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * EgovWebServletContextListener 클래스 + * <Notice> + * 데이터베이스 설정을 spring.profiles.active 방식으로 처리 + * (공통컴포넌트 특성상 데이터베이스별 분리/개발,검증,운영서버로 분리 가능) + * <Disclaimer> + * N/A + * + * @author 장동한 + * @since 2016.06.23 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- ------------- ---------------------- + * 2016.06.23 장동한 최초 생성 + * 2017.03.03 조성원 시큐어코딩(ES)-오류 메시지를 통한 정보노출[CWE-209] + * </pre> + */ + +public class EgovWebServletContextListener implements ServletContextListener { + private static final Logger LOGGER = LoggerFactory.getLogger(EgovWebServletContextListener.class); + + public EgovWebServletContextListener(){ + setEgovProfileSetting(); + } + + public void contextInitialized(ServletContextEvent event){ + if(System.getProperty("spring.profiles.active") == null){ + setEgovProfileSetting(); + } + } + + public void contextDestroyed(ServletContextEvent event) { + if(System.getProperty("spring.profiles.active") != null){ + System.setProperty("spring.profiles.active", null); + } + } + + public void setEgovProfileSetting(){ + try { + LOGGER.debug("===========================Start EgovServletContextLoad START ==========="); + System.setProperty("spring.profiles.active", EgovProperties.getProperty("Globals.DbType")+","+EgovProperties.getProperty("Globals.Auth")); + LOGGER.debug("Setting spring.profiles.active>"+System.getProperty("spring.profiles.active")); + LOGGER.debug("===========================END EgovServletContextLoad END ==========="); + //2017.03.03 조성원 시큐어코딩(ES)-오류 메시지를 통한 정보노출[CWE-209] + } catch(IllegalArgumentException e) { + LOGGER.error("[IllegalArgumentException] Try/Catch...usingParameters Runing : "+ e.getMessage()); + } catch (Exception e) { + LOGGER.error("[" + e.getClass() +"] search fail : " + e.getMessage()); + } + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/context/EgovWebServletContextListener.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/ImagePaginationRenderer.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/ImagePaginationRenderer.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/ImagePaginationRenderer.java (revision 7) @@ -0,0 +1,53 @@ +package egovframework.com.cmm; + +import egovframework.rte.ptl.mvc.tags.ui.pagination.AbstractPaginationRenderer; + +import javax.servlet.ServletContext; + +import org.springframework.web.context.ServletContextAware; +/** + * ImagePaginationRenderer.java 클래스 + * + * @author 서준식 + * @since 2011. 9. 16. + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- ------------- ---------------------- + * 2011. 9. 16. 서준식 이미지 경로에 ContextPath추가 + * 2016. 6. 17. 장동한 표준프레임워크 v3.6 리뉴얼 + * </pre> + */ +public class ImagePaginationRenderer extends AbstractPaginationRenderer implements ServletContextAware{ + + private ServletContext servletContext; + + public ImagePaginationRenderer() { + + } + + public void initVariables(){ + + firstPageLabel = "<li class=\"first\"><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">첫 페이지</a></li>"; + previousPageLabel = "<li class=\"prev\"><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">이전 페이지</a></li>"; + + currentPageLabel = "<li class=\"current\"><a onClick=\"return false;\">{0}</a></li>"; + otherPageLabel = "<li><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">{2}</a></li>"; + + nextPageLabel = "<li class=\"next\"><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">다음 페이지</a></li>"; + lastPageLabel = "<li class=\"last\"><a href=\"?pageIndex={1}\" onclick=\"{0}({1});return false; \">끝 페이지</a></li>"; + + } + + + + public void setServletContext(ServletContext servletContext) { + this.servletContext = servletContext; + initVariables(); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/ImagePaginationRenderer.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/filter/HTMLTagFilterRequestWrapper.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/filter/HTMLTagFilterRequestWrapper.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/filter/HTMLTagFilterRequestWrapper.java (revision 7) @@ -0,0 +1,187 @@ +/* + * Copyright 2008-2009 MOPAS(MINISTRY OF SECURITY AND PUBLIC ADMINISTRATION). + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package egovframework.com.cmm.filter; + +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletRequestWrapper; + +/** +* +* HTMLTagFilterRequestWrapper +* @author 공통컴포넌트 팀 신용호 +* @since 2018.03.21 +* @version 1.0 +* @see +* +* <pre> +* << 개정이력(Modification Information) >> +* +* 수정일 수정자 수정내용 +* ------- -------- --------------------------- +* 2018.03.21 신용호 getParameterMap()구현 추가 +* 2019.01.31 신용호 whiteList 태그 추가 +* +*/ + +public class HTMLTagFilterRequestWrapper extends HttpServletRequestWrapper { + + // Tag 화이트 리스트 ( 허용할 태그 등록 ) + static private String[] whiteListTag = { "<p>","</p>","<br />" }; + + public HTMLTagFilterRequestWrapper(HttpServletRequest request) { + super(request); + } + + public String[] getParameterValues(String parameter) { + + String[] values = super.getParameterValues(parameter); + + if(values==null){ + return null; + } + + for (int i = 0; i < values.length; i++) { + if (values[i] != null) { + values[i] = getSafeParamData(values[i]); + //System.out.println( "[HTMLTagFilter getParameterValues] "+ parameter + "===>>>"+values[i] ); + } else { + values[i] = null; + } + } + + return values; + } + + public String getParameter(String parameter) { + + String value = super.getParameter(parameter); + + if(value==null){ + return null; + } + + value = getSafeParamData(value); + //System.out.println( "[HTMLTagFilter getParameter] "+ parameter + "===>>>"+value ); + return value; + } + + /** + * Map으로 바인딩된 경우를 처리한다. + * + * @return Map - String Type Key / String배열타입 값 + */ + public Map<String, String[]> getParameterMap() { + Map<String, String[]> valueMap = super.getParameterMap(); + + String[] values; + for( String key : valueMap.keySet() ){ + values = valueMap.get(key); + + for (int i = 0; i < values.length; i++) { + if (values[i] != null) { + values[i] = getSafeParamData(values[i]); + //System.out.println( "[HTMLTagFilter getParameterMap] "+ key + "===>>>"+values[i] ); + } else { + values[i] = null; + } + } + + //System.out.println( String.format("키 : %s, 값 : %s", key, valueMap.get(key)) ); + } + + return valueMap; + } + + private String getSafeParamData(String value) { + StringBuffer strBuff = new StringBuffer(); + + for (int i = 0; i < value.length(); i++) { + char c = value.charAt(i); + switch (c) { + case '<': + if ( checkNextWhiteListTag(i, value) == false ) + strBuff.append("&lt;"); + else + strBuff.append(c); + //System.out.println("checkNextWhiteListTag = "+checkNextWhiteListTag(i, value)); + break; + case '>': + if ( checkPrevWhiteListTag(i, value) == false ) + strBuff.append("&gt;"); + else + strBuff.append(c); + //System.out.println("checkPrevWhiteListTag = "+checkPrevWhiteListTag(i, value)); + break; + //case '&': + // strBuff.append("&amp;"); + // break; + case '"': + strBuff.append("&quot;"); + break; + case '\'': + strBuff.append("&apos;"); + break; + default: + strBuff.append(c); + break; + } + } + + value = strBuff.toString(); + return value; + } + + private boolean checkNextWhiteListTag(int index, String data) { + String extractData = ""; + //int beginIndex = 0; + int endIndex = 0; + for(String whiteListData: whiteListTag) { + //System.out.println("===>>> whiteListData="+whiteListData); + endIndex = index+whiteListData.length(); + if ( data.length() > endIndex ) + extractData = data.substring(index, endIndex); + else + extractData = ""; + //System.out.println("extractData="+extractData); + if ( whiteListData.equals(extractData) ) return true; // whiteList 대상으로 판정 + } + + return false; + } + + private boolean checkPrevWhiteListTag(int index, String data) { + String extractData = ""; + int beginIndex = 0; + int endIndex = 0; + for(String whiteListData: whiteListTag) { + //System.out.println("===>>> whiteListData="+whiteListData); + beginIndex = index-whiteListData.length()+1; + endIndex = index+1; + //System.out.println(" range ["+beginIndex+" ~ "+endIndex+"]"); + if ( beginIndex >= 0 ) + extractData = data.substring(beginIndex, endIndex); + else + extractData = ""; + //System.out.println("extractData="+extractData); + if ( whiteListData.equals(extractData) ) return true; // whiteList 대상으로 판정 + } + + return false; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/cmm/filter/HTMLTagFilterRequestWrapper.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/filter/HTMLTagFilter.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/filter/HTMLTagFilter.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/filter/HTMLTagFilter.java (revision 7) @@ -0,0 +1,46 @@ +/* + * Copyright 2008-2009 MOPAS(MINISTRY OF SECURITY AND PUBLIC ADMINISTRATION). + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package egovframework.com.cmm.filter; + +import java.io.IOException; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; + +public class HTMLTagFilter implements Filter{ + + @SuppressWarnings("unused") + private FilterConfig config; + + public void doFilter(ServletRequest request, ServletResponse response, + FilterChain chain) throws IOException, ServletException { + + chain.doFilter(new HTMLTagFilterRequestWrapper((HttpServletRequest)request), response); + } + + public void init(FilterConfig config) throws ServletException { + this.config = config; + } + + public void destroy() { + + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/filter/HTMLTagFilter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/filter/SessionTimeoutCookieFilter.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/filter/SessionTimeoutCookieFilter.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/filter/SessionTimeoutCookieFilter.java (revision 7) @@ -0,0 +1,90 @@ +/* + * Copyright 2008-2009 MOPAS(MINISTRY OF SECURITY AND PUBLIC ADMINISTRATION). + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package egovframework.com.cmm.filter; + +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.Date; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** +* +* SessionTimeoutCookieFilter +* @author 공통컴포넌트 팀 신용호 +* @since 2020.06.17 +* @version 1.0 +* @see +* +* <pre> +* << 개정이력(Modification Information) >> +* +* 수정일 수정자 수정내용 +* ---------- -------- --------------------------- +* 2020.06.17 신용호 최초 생성 +* +*/ + +public class SessionTimeoutCookieFilter implements Filter{ + + @SuppressWarnings("unused") + private FilterConfig config; + + public void doFilter(ServletRequest request, ServletResponse response, + FilterChain chain) throws IOException, ServletException { + HttpServletResponse httpResponse = (HttpServletResponse) response; + HttpServletRequest httpRequest = (HttpServletRequest) request; + long serverTime = System.currentTimeMillis(); + long sessionExpireTime = serverTime + httpRequest.getSession().getMaxInactiveInterval() * 1000; + Cookie cookie = new Cookie("egovLatestServerTime", "" + serverTime); + //cookie.setSecure(true); + cookie.setPath("/"); + httpResponse.addCookie(cookie); + cookie = new Cookie("egovExpireSessionTime", "" + sessionExpireTime); + cookie.setPath("/"); + + Date dateServer = new Date(serverTime); + Date dateExpiry = new Date(sessionExpireTime); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + String serverYMD = format.format(dateServer); + String expiryYMD = format.format(dateExpiry); + //System.out.println("=====>>> serverYMD = "+serverYMD); + //System.out.println("=====>>> expiryYMD = "+expiryYMD); + //System.out.println("=====>>> server TimeStamp = "+serverTime); + //System.out.println("=====>>> expire TimeStamp = "+sessionExpireTime); + + httpResponse.addCookie(cookie); + + chain.doFilter(request, response); + } + + public void init(FilterConfig config) throws ServletException { + this.config = config; + } + + public void destroy() { + + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/filter/SessionTimeoutCookieFilter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/EgovComCrossSiteHndlr.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/EgovComCrossSiteHndlr.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/EgovComCrossSiteHndlr.java (revision 7) @@ -0,0 +1,405 @@ +package egovframework.com.cmm; + +import java.io.IOException; +import java.io.Reader; + +import javax.servlet.jsp.JspException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.PageContext; +import javax.servlet.jsp.tagext.BodyTagSupport; + +import org.apache.taglibs.standard.tag.common.core.Util; + +/** + * Cross-Site Scripting 체크하여 값을 되돌려 받는 핸들러 JSP TLD, 자바에서 사용가능 + * + * @author 공통서비스 장동한 + * @since 2010.11.09 + * @version 1.0 + * @see <pre> + * &lt;&lt; 개정이력(Modification Information) &gt;&gt; + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2010.11.09 장동한 최초 생성 + * + * </pre> + */ +@SuppressWarnings("serial") +public class EgovComCrossSiteHndlr extends BodyTagSupport { + + /* + * (One almost wishes XML and JSP could support "anonymous tags," given the + * amount of trouble we had naming this one!) :-) - sb + */ + + // ********************************************************************* + // Internal state + + protected Object value; // tag attribute + protected String def; // tag attribute + protected boolean escapeXml; // tag attribute + private boolean needBody; // non-space body needed? + + // ********************************************************************* + // Construction and initialization + + private final String m_sDiffChar ="()[]{}\"',:;= \t\r\n%!+-"; + //private String m_sDiffChar ="()[]{}\"',:;=%!+-"; + private final String m_sArrDiffChar [] = { + "&#40;","&#41;", + "&#91;","&#93;", + "&#123;","&#125;", + "&#34;","&#39;", + "&#44;","&#58;", + "&#59;","&#61;", + " ","\t", //" ","\t", + "\r","\n", //"\r","\n", + "&#37;","&#33;", + "&#43;","&#45;" + }; + + /** + * Constructs a new handler. As with TagSupport, subclasses should not + * provide other constructors and are expected to call the superclass + * constructor. + */ + public EgovComCrossSiteHndlr() { + super(); + init(); + } + + // resets local state + private void init() { + value = def = null; + escapeXml = true; + needBody = false; + } + + // Releases any resources we may have (or inherit) + public void release() { + super.release(); + init(); + } + + // ********************************************************************* + // Tag logic + + // evaluates 'value' and determines if the body should be evaluted + public int doStartTag() throws JspException { + + needBody = false; // reset state related to 'default' + this.bodyContent = null; // clean-up body (just in case container is + // pooling tag handlers) + + JspWriter out = pageContext.getOut(); + //System.out.println("EgovComCrossSiteFilter> ============================"); + try { + // print value if available; otherwise, try 'default' + if (value != null) { + //System.out.println("EgovComCrossSiteFilter> =value"); + String sWriteEscapedXml = getWriteEscapedXml(); + //System.out.println("EgovComCrossSiteFilter sWriteEscapedXml>" + sWriteEscapedXml); + out.print(sWriteEscapedXml); + return SKIP_BODY; + } else { + // if we don't have a 'default' attribute, just go to the body + if (def == null) { + needBody = true; + return EVAL_BODY_BUFFERED; + } + + //System.out.println("EgovComCrossSiteFilter def> ="+def); + + // if we do have 'default', print it + if (def != null) { + // good 'default' + out(pageContext, escapeXml, def); + //System.out.println("EgovComCrossSiteFilter> ="+def); + } + return SKIP_BODY; + } + } catch (IOException ex) { + throw new JspException(ex.toString(), ex); + } + } + + // prints the body if necessary; reports errors + public int doEndTag() throws JspException { + try { + //System.out.println("EgovComCrossSiteFilter ==== doEndTag"); + if (!needBody){ + return EVAL_PAGE; // nothing more to do + } + + // trim and print out the body + if (bodyContent != null && bodyContent.getString() != null){ + //String sWriteEscapedXml = getWriteEscapedXml(); + //out2(pageContext, escapeXml, sWriteEscapedXml.toString()); + //System.out.println("EgovComCrossSiteFilter> end"); + //System.out.println("EgovComCrossSiteFilter sWriteEscapedXml > sWriteEscapedXml"); + out(pageContext, escapeXml, bodyContent.getString().trim()); + + } + return EVAL_PAGE; + } catch (IOException ex) { + throw new JspException(ex.toString(), ex); + } + } + + // ********************************************************************* + // Public utility methods + + /** + * Outputs <tt>text</tt> to <tt>pageContext</tt>'s current JspWriter. If + * <tt>escapeXml</tt> is true, performs the following substring replacements + * (to facilitate output to XML/HTML pages): + * + * & -> &amp; < -> &lt; > -> &gt; " -> &#034; ' -> &#039; + * + * See also Util.escapeXml(). + */ + public static void out(PageContext pageContext, boolean escapeXml, + Object obj) throws IOException { + JspWriter w = pageContext.getOut(); + + if (!escapeXml) { + // write chars as is + if (obj instanceof Reader) { + Reader reader = (Reader) obj; + char[] buf = new char[4096]; + int count; + while ((count = reader.read(buf, 0, 4096)) != -1) { + w.write(buf, 0, count); + } + } else { + w.write(obj.toString()); + } + } else { + // escape XML chars + if (obj instanceof Reader) { + Reader reader = (Reader) obj; + char[] buf = new char[4096]; + int count; + while ((count = reader.read(buf, 0, 4096)) != -1) { + writeEscapedXml(buf, count, w); + } + } else { + String text = obj.toString(); + writeEscapedXml(text.toCharArray(), text.length(), w); + } + } + + } + public static void out2(PageContext pageContext, boolean escapeXml, + Object obj) throws IOException { + JspWriter w = pageContext.getOut(); + + w.write(obj.toString()); + + } + + /** + * + * Optimized to create no extra objects and write directly to the JspWriter + * using blocks of escaped and unescaped characters + * + */ + private static void writeEscapedXml(char[] buffer, int length, JspWriter w) + throws IOException { + int start = 0; + + for (int i = 0; i < length; i++) { + char c = buffer[i]; + if (c <= Util.HIGHEST_SPECIAL) { + char[] escaped = Util.specialCharactersRepresentation[c]; + if (escaped != null) { + // add unescaped portion + if (start < i) { + w.write(buffer, start, i - start); + } + // add escaped xml + w.write(escaped); + start = i + 1; + } + } + } + // add rest of unescaped portion + if (start < length) { + w.write(buffer, start, length - start); + } + } + + /** + * + * Optimized to create no extra objects and write directly to the JspWriter + * using blocks of escaped and unescaped characters + * + */ + @SuppressWarnings("unused") + private String getWriteEscapedXml() throws IOException { + String sRtn = ""; + + Object obj = this.value; + + int start = 0; + String text = obj.toString(); + + int length = text.length(); + char[] buffer = text.toCharArray(); + boolean booleanDiff = false; + //String sDiffChar + //String sArrDiffChar + char[] cDiffChar = this.m_sDiffChar.toCharArray(); + + for(int i = 0; i < length; i++) { + char c = buffer[i]; + + booleanDiff = false; + + for(int k = 0; k < cDiffChar.length; k++){ + if(c == cDiffChar[k]){ + sRtn = sRtn + m_sArrDiffChar[k]; + booleanDiff = true; + continue; + } + } + + if(booleanDiff) continue; + + if (c <= Util.HIGHEST_SPECIAL) { + char[] escaped = Util.specialCharactersRepresentation[c]; + if (escaped != null) { + // add unescaped portion + //if (start < i) { + // sRtn = sRtn + text.substring(start, i - start); + //} + // add escaped xml + //sRtn = sRtn + escaped; + //System.out.println(buffer[i]+" :: " + escaped); + for (int j = 0; j < escaped.length; j++) { + //System.out.println(buffer[i]+" :>: " + escaped[j]); + sRtn = sRtn + escaped[j]; + } + //sRtn = sRtn+ escaped.toString(); + //sRtn = sRtn + String.valueOf(buffer[i]); + start = i + 1; + }else{ + sRtn = sRtn + c; + } + }else{ + sRtn = sRtn + c; + } + } + + return sRtn; + } + + /** + * + * Optimized to create no extra objects and write directly to the JspWriter + * using blocks of escaped and unescaped characters + * + */ + @SuppressWarnings("unused") + private String getWriteEscapedXml(String sWriteString) throws IOException { + + String sRtn = ""; + + Object obj = sWriteString; + + int start = 0; + String text = obj.toString(); + + int length = text.length(); + char[] buffer = text.toCharArray(); + boolean booleanDiff = false; + //String sDiffChar + //String sArrDiffChar + char[] cDiffChar = this.m_sDiffChar.toCharArray(); + + for(int i = 0; i < length; i++) { + char c = buffer[i]; + + booleanDiff = false; + + for(int k = 0; k < cDiffChar.length; k++){ + if(c == cDiffChar[k]){ + sRtn = sRtn + m_sArrDiffChar[k]; + booleanDiff = true; + continue; + } + } + + if(booleanDiff) continue; + + if (c <= Util.HIGHEST_SPECIAL) { + char[] escaped = Util.specialCharactersRepresentation[c]; + if (escaped != null) { + // add unescaped portion + //if (start < i) { + // sRtn = sRtn + text.substring(start, i - start); + //} + // add escaped xml + //sRtn = sRtn + escaped; + //System.out.println(buffer[i]+" :: " + escaped); + for (int j = 0; j < escaped.length; j++) { + //System.out.println(buffer[i]+" :>: " + escaped[j]); + sRtn = sRtn + escaped[j]; + } + //sRtn = sRtn+ escaped.toString(); + //sRtn = sRtn + String.valueOf(buffer[i]); + start = i + 1; + }else{ + sRtn = sRtn + c; + } + }else{ + sRtn = sRtn + c; + } + } + + return sRtn; + } + + // for tag attribute + public void setValue(Object value) { + this.value = value; + } + + // for tag attribute + public void setDefault(String def) { + this.def = def; + } + + // for tag attribute + public void setEscapeXml(boolean escapeXml) { + this.escapeXml = escapeXml; + } + + /** 2011.10.10 cmd 라인상에서 편의제공을 위해 제공, 필요없을시 삭제하여도 무방함 + public static void main(String[] args) throws IOException + { + + EgovComCrossSiteHndlr egovComCrossSiteHndlr = new EgovComCrossSiteHndlr(); + + egovComCrossSiteHndlr.value = "TRNSMIT"; + + String sCrossSiteHndlr = egovComCrossSiteHndlr.getWriteEscapedXml(); + //System.out.println("writeEscapedXml " + egovComCrossSiteHndlr.getWriteEscapedXml()); + /* + System.out.println("sCrossSiteHndlr|"+ sCrossSiteHndlr + "|"); + + try{ + System.out.println("TRY TEST 1"); + throw new Exception(); + }catch(Exception e){ + System.out.println("TRY TEST 2"); + }finally{ + System.out.println("TRY TEST 3"); + + } + } + */ + } + + Property changes on: base3.10/src/main/java/egovframework/com/cmm/EgovComCrossSiteHndlr.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/IncludedCompInfoVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/IncludedCompInfoVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/IncludedCompInfoVO.java (revision 7) @@ -0,0 +1,50 @@ +package egovframework.com.cmm; + +/** + * IncludedInfo annotation을 바탕으로 화면에 표시할 정보를 구성하기 위한 VO 클래스 + * @author 공통컴포넌트 정진오 + * @since 2011.08.26 + * @version 2.0.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2011.08.26 정진오 최초 생성 + * + * </pre> + */ +public class IncludedCompInfoVO { + + private String name; + private String listUrl; + private int order; + private int gid; + + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getListUrl() { + return listUrl; + } + public void setListUrl(String listUrl) { + this.listUrl = listUrl; + } + public int getOrder() { + return order; + } + public void setOrder(int order) { + this.order = order; + } + public int getGid() { + return gid; + } + public void setGid(int gid) { + this.gid = gid; + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/IncludedCompInfoVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/Globals.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/Globals.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/service/Globals.java (revision 7) @@ -0,0 +1,59 @@ +package egovframework.com.cmm.service; + +/** + * Class Name : Globals.java + * Description : 시스템 구동 시 프로퍼티를 통해 사용될 전역변수를 정의한다. + * Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.01.19 박지욱 최초 생성 + * + * @author 공통 서비스 개발팀 박지욱 + * @since 2009. 01. 19 + * @version 1.0 + * @see + * + */ + +public class Globals { + //OS 유형 + public static final String OS_TYPE = EgovProperties.getProperty("Globals.OsType"); + //DB 유형 + public static final String DB_TYPE = EgovProperties.getProperty("Globals.DbType"); + //메인 페이지 + public static final String MAIN_PAGE = EgovProperties.getProperty("Globals.MainPage"); + //ShellFile 경로 + public static final String SHELL_FILE_PATH = EgovProperties.getPathProperty("Globals.ShellFilePath"); + //퍼로퍼티 파일 위치 + public static final String CONF_PATH = EgovProperties.getPathProperty("Globals.ConfPath"); + //Server정보 프로퍼티 위치 + public static final String SERVER_CONF_PATH = EgovProperties.getPathProperty("Globals.ServerConfPath"); + //Client정보 프로퍼티 위치 + public static final String CLIENT_CONF_PATH = EgovProperties.getPathProperty("Globals.ClientConfPath"); + //파일포맷 정보 프로퍼티 위치 + public static final String FILE_FORMAT_PATH = EgovProperties.getPathProperty("Globals.FileFormatPath"); + + //파일 업로드 원 파일명 + public static final String ORIGIN_FILE_NM = "originalFileName"; + //파일 확장자 + public static final String FILE_EXT = "fileExtension"; + //파일크기 + public static final String FILE_SIZE = "fileSize"; + //업로드된 파일명 + public static final String UPLOAD_FILE_NM = "uploadFileName"; + //파일경로 + public static final String FILE_PATH = "filePath"; + + //메일발송요청 XML파일경로 + public static final String MAIL_REQUEST_PATH = EgovProperties.getPathProperty("Globals.MailRequestPath"); + //메일발송응답 XML파일경로 + public static final String MAIL_RESPONSE_PATH = EgovProperties.getPathProperty("Globals.MailRResponsePath"); + + // G4C 연결용 IP (localhost) + public static final String LOCAL_IP = EgovProperties.getProperty("Globals.LocalIp"); + + //SMS 정보 프로퍼티 위치 + public static final String SMSDB_CONF_PATH = EgovProperties.getPathProperty("Globals.SmsDbConfPath"); + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/service/Globals.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/impl/CmmUseDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/impl/CmmUseDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/service/impl/CmmUseDAO.java (revision 7) @@ -0,0 +1,62 @@ +package egovframework.com.cmm.service.impl; + +import java.util.List; + +import egovframework.com.cmm.ComDefaultCodeVO; +import egovframework.com.cmm.service.CmmnDetailCode; + +import org.springframework.stereotype.Repository; + +/** + * @Class Name : CmmUseDAO.java + * @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 데이터 접근 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +@Repository("cmmUseDAO") +public class CmmUseDAO extends EgovComAbstractDAO { + + /** + * 주어진 조건에 따른 공통코드를 불러온다. + * + * @param vo + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception { + return (List<CmmnDetailCode>) list("CmmUseDAO.selectCmmCodeDetail", vo); + } + + /** + * 공통코드로 사용할 조직정보를 를 불러온다. + * + * @param vo + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception { + return (List<CmmnDetailCode>) list("CmmUseDAO.selectOgrnztIdDetail", vo); + } + + /** + * 공통코드로 사용할그룹정보를 를 불러온다. + * @param vo + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception { + return (List<CmmnDetailCode>) list("CmmUseDAO.selectGroupIdDetail", vo); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/service/impl/CmmUseDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovUserDetailsSessionServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovUserDetailsSessionServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovUserDetailsSessionServiceImpl.java (revision 7) @@ -0,0 +1,54 @@ +package egovframework.com.cmm.service.impl; + +import java.util.ArrayList; +import java.util.List; + +import egovframework.com.cmm.service.EgovUserDetailsService; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.access.service.EgovUserDetailsHelper; + +import org.springframework.web.context.request.RequestAttributes; +import org.springframework.web.context.request.RequestContextHolder; + +/** + * + * @author 공통서비스 개발팀 서준식 + * @since 2011. 6. 25. + * @version 1.0 + * @see + * + * <pre> + * 개정이력(Modification Information) + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2011. 8. 12. 서준식 최초생성 + * + * </pre> + */ + +public class EgovUserDetailsSessionServiceImpl extends EgovAbstractServiceImpl implements EgovUserDetailsService { + + /** + * 인증된 사용자객체를 VO형식으로 가져온다. + * @return Object - 사용자 ValueObject + */ + public Object getAuthenticatedUser() { + if (EgovUserDetailsHelper.isAuthenticated()) { + return EgovUserDetailsHelper.getAuthenticatedUser(); + } + return null; + } + + public List<String> getAuthorities() { + // 권한 설정을 리턴한다. + return EgovUserDetailsHelper.getAuthorities(); + } + + public Boolean isAuthenticated() { + // 인증된 유저인지 확인한다. + return EgovUserDetailsHelper.isAuthenticated(); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovUserDetailsSessionServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/impl/EgoDummyUserDetailsServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/impl/EgoDummyUserDetailsServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/service/impl/EgoDummyUserDetailsServiceImpl.java (revision 7) @@ -0,0 +1,70 @@ +package egovframework.com.cmm.service.impl; + +import java.util.ArrayList; +import java.util.List; + +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.service.EgovUserDetailsService; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +/** + * + * @author 공통서비스 개발팀 서준식 + * @since 2011. 8. 12. + * @version 1.0 + * @see + * + * <pre> + * 개정이력(Modification Information) + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2011. 8. 12. 서준식 최초생성 + * 2017. 9. 04. 장동한 클래스 이름 변경(EgovTestUserDetailsServiceImpl > EgovUserDetailsService) + * + * + * </pre> + */ + +public class EgoDummyUserDetailsServiceImpl extends EgovAbstractServiceImpl implements + EgovUserDetailsService { + + //로그인 객체 + LoginVO loginVO = new LoginVO(); + //권한목록 객체 + List<String> listAuth = new ArrayList<String>(); + + @Override + public Object getAuthenticatedUser() { + loginVO.setId("TEST1"); + loginVO.setPassword("raHLBnHFcunwNzcDcfad4PhD11hHgXSUr7fc1Jk9uoQ="); + loginVO.setUserSe("USR"); + loginVO.setEmail("egovframe@nia.or.kr"); + loginVO.setIhidNum(""); + loginVO.setName("더미사용자"); + loginVO.setOrgnztId("ORGNZT_0000000000000"); + loginVO.setUniqId("USRCNFRM_00000000000"); + return loginVO; + } + + @Override + public List<String> getAuthorities() { + // 권한 설정을 리턴한다. + listAuth.add("IS_AUTHENTICATED_ANONYMOUSLY"); + listAuth.add("IS_AUTHENTICATED_FULLY"); + listAuth.add("IS_AUTHENTICATED_REMEMBERED"); + listAuth.add("ROLE_ADMIN"); + listAuth.add("ROLE_ANONYMOUS"); + listAuth.add("ROLE_RESTRICTED"); + listAuth.add("ROLE_USER"); + return listAuth; + } + + @Override + public Boolean isAuthenticated() { + // 인증된 유저인지 확인한다. + return true; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/service/impl/EgoDummyUserDetailsServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovCmmUseServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovCmmUseServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovCmmUseServiceImpl.java (revision 7) @@ -0,0 +1,91 @@ +package egovframework.com.cmm.service.impl; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import egovframework.com.cmm.ComDefaultCodeVO; +import egovframework.com.cmm.service.CmmnDetailCode; +import egovframework.com.cmm.service.EgovCmmUseService; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * @Class Name : EgovCmmUseServiceImpl.java + * @Description : 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기위한 서비스 구현 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +@Service("EgovCmmUseService") +public class EgovCmmUseServiceImpl extends EgovAbstractServiceImpl implements EgovCmmUseService { + + @Resource(name = "cmmUseDAO") + private CmmUseDAO cmmUseDAO; + + /** + * 공통코드를 조회한다. + * + * @param vo + * @return + * @throws Exception + */ + public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception { + return cmmUseDAO.selectCmmCodeDetail(vo); + } + + /** + * ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다. + * + * @param voList + * @return + * @throws Exception + */ + public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List<?> voList) throws Exception { + ComDefaultCodeVO vo; + Map<String, List<CmmnDetailCode>> map = new HashMap<String, List<CmmnDetailCode>>(); + + Iterator<?> iter = voList.iterator(); + while (iter.hasNext()) { + vo = (ComDefaultCodeVO)iter.next(); + map.put(vo.getCodeId(), cmmUseDAO.selectCmmCodeDetail(vo)); + } + + return map; + } + + /** + * 조직정보를 코드형태로 리턴한다. + * + * @param 조회조건정보 vo + * @return 조직정보 List + * @throws Exception + */ + public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception { + return cmmUseDAO.selectOgrnztIdDetail(vo); + } + + /** + * 그룹정보를 코드형태로 리턴한다. + * + * @param 조회조건정보 vo + * @return 그룹정보 List + * @throws Exception + */ + public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception { + return cmmUseDAO.selectGroupIdDetail(vo); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovCmmUseServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovComAbstractDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovComAbstractDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovComAbstractDAO.java (revision 7) @@ -0,0 +1,306 @@ +/** + * + */ +package egovframework.com.cmm.service.impl; + +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; +import org.apache.ibatis.session.ResultHandler; +import org.apache.ibatis.session.RowBounds; +import org.apache.ibatis.session.SqlSessionFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import egovframework.rte.psl.dataaccess.EgovAbstractMapper; +/** + * EgovComAbstractDAO.java 클래스 + * + * @author 서준식 + * @since 2011. 9. 23. + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- ------------- ---------------------- + * 2011. 9. 23. 서준식 최초 생성 + * 2016. 5. 11. 장동한 myBatis 방식 적용 + * </pre> + */ +public abstract class EgovComAbstractDAO extends EgovAbstractMapper{ + + private final Logger LOGGER = LoggerFactory.getLogger(this.getClass()); + + @Resource(name="egov.sqlSession") + public void setSqlSessionFactory(SqlSessionFactory sqlSession) { + super.setSqlSessionFactory(sqlSession); + } + + /** + * 입력 처리 SQL mapping 을 실행한다. + * + * @param queryId - 입력 처리 SQL mapping 쿼리 ID + * + * @return DBMS가 지원하는 경우 insert 적용 결과 count + */ + @Override + public int insert(String queryId) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().insert(queryId); + } + + /** + * 입력 처리 SQL mapping 을 실행한다. + * + * @param queryId - 입력 처리 SQL mapping 쿼리 ID + * @param parameterObject - 입력 처리 SQL mapping 입력 데이터를 세팅한 파라메터 객체(보통 VO 또는 Map) + * + * @return DBMS가 지원하는 경우 insert 적용 결과 count + */ + @Override + public int insert(String queryId, Object parameterObject) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().insert(queryId, parameterObject); + } + + /** + * 수정 처리 SQL mapping 을 실행한다. + * + * @param queryId - 수정 처리 SQL mapping 쿼리 ID + * + * @return DBMS가 지원하는 경우 update 적용 결과 count + */ + @Override + public int update(String queryId) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().update(queryId); + } + + /** + * 수정 처리 SQL mapping 을 실행한다. + * + * @param queryId - 수정 처리 SQL mapping 쿼리 ID + * @param parameterObject - 수정 처리 SQL mapping 입력 데이터(key 조건 및 변경 데이터)를 세팅한 파라메터 객체(보통 VO 또는 Map) + * + * @return DBMS가 지원하는 경우 update 적용 결과 count + */ + @Override + public int update(String queryId, Object parameterObject) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().update(queryId, parameterObject); + } + + /** + * 삭제 처리 SQL mapping 을 실행한다. + * + * @param queryId - 삭제 처리 SQL mapping 쿼리 ID + * + * @return DBMS가 지원하는 경우 delete 적용 결과 count + */ + @Override + public int delete(String queryId) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().delete(queryId); + } + + /** + * 삭제 처리 SQL mapping 을 실행한다. + * + * @param queryId - 삭제 처리 SQL mapping 쿼리 ID + * @param parameterObject - 삭제 처리 SQL mapping 입력 데이터(일반적으로 key 조건)를 세팅한 파라메터 객체(보통 VO 또는 Map) + * + * @return DBMS가 지원하는 경우 delete 적용 결과 count + */ + @Override + public int delete(String queryId, Object parameterObject) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().delete(queryId, parameterObject); + } + + //CHECKSTYLE:OFF + /** + * 명명규칙에 맞춰 selectOne()로 변경한다. + * @deprecated select() 메소드로 대체 + * + * @see EgovAbstractMapper.selectOne() + */ + //CHECKSTYLE:ON + @Deprecated + public Object selectByPk(String queryId, Object parameterObject) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().selectOne(queryId, parameterObject); + } + + /** + * 단건조회 처리 SQL mapping 을 실행한다. + * + * @param queryId - 단건 조회 처리 SQL mapping 쿼리 ID + * + * @return 결과 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 에 의한 단일 결과 객체(보통 VO 또는 Map) + */ + @Override + public <T> T selectOne(String queryId) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().selectOne(queryId); + } + + /** + * 단건조회 처리 SQL mapping 을 실행한다. + * + * @param queryId - 단건 조회 처리 SQL mapping 쿼리 ID + * @param parameterObject - 단건 조회 처리 SQL mapping 입력 데이터(key)를 세팅한 파라메터 객체(보통 VO 또는 Map) + * + * @return 결과 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 에 의한 단일 결과 객체(보통 VO 또는 Map) + */ + @Override + public <T> T selectOne(String queryId, Object parameterObject) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().selectOne(queryId, parameterObject); + } + + /** + * 결과 목록을 Map 을 변환한다. + * 모든 구문이 파라미터를 필요로 하지는 않기 때문에, 파라미터 객체를 요구하지 않는 형태로 오버로드되었다. + * + * @param queryId - 단건 조회 처리 SQL mapping 쿼리 ID + * @param mapKey - 결과 객체의 프로퍼티 중 하나를 키로 사용 + * + * @return 결과 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 에 의한 단일 결과 객체(보통 VO 또는 Map)의 Map + */ + @Override + public <K, V> Map<K, V> selectMap(String queryId, String mapKey) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().selectMap(queryId, mapKey); + } + + /** + * 결과 목록을 Map 을 변환한다. + * 모든 구문이 파라미터를 필요로 하지는 않기 때문에, 파라미터 객체를 요구하지 않는 형태로 오버로드되었다. + * + * @param queryId - 단건 조회 처리 SQL mapping 쿼리 ID + * @param parameterObject - 맵 조회 처리 SQL mapping 입력 데이터(조회 조건)를 세팅한 파라메터 객체(보통 VO 또는 Map) + * @param mapKey - 결과 객체의 프로퍼티 중 하나를 키로 사용 + * + * @return 결과 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 에 의한 단일 결과 객체(보통 VO 또는 Map)의 Map + */ + @Override + public <K, V> Map<K, V> selectMap(String queryId, Object parameterObject, String mapKey) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().selectMap(queryId, parameterObject, mapKey); + } + + /** + * 결과 목록을 Map 을 변환한다. + * 모든 구문이 파라미터를 필요로 하지는 않기 때문에, 파라미터 객체를 요구하지 않는 형태로 오버로드되었다. + * + * @param queryId - 단건 조회 처리 SQL mapping 쿼리 ID + * @param parameterObject - 맵 조회 처리 SQL mapping 입력 데이터(조회 조건)를 세팅한 파라메터 객체(보통 VO 또는 Map) + * @param mapKey - 결과 객체의 프로퍼티 중 하나를 키로 사용 + * @param rowBounds - 특정 개수 만큼의 레코드를 건너띄게 함 + * + * @return 결과 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 에 의한 단일 결과 객체(보통 VO 또는 Map)의 Map + */ + @Override + public <K, V> Map<K, V> selectMap(String queryId, Object parameterObject, String mapKey, RowBounds rowBounds) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().selectMap(queryId, parameterObject, mapKey, rowBounds); + } + + //CHECKSTYLE:OFF + /** + * 명명규칙에 맞춰 selectList()로 변경한다. + * + * @see EgovAbstractMapper.selectList() + * @deprecated List<?> 메소드로 대체 + */ + //CHECKSTYLE:ON + @Deprecated + public List<?> list(String queryId, Object parameterObject) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().selectList(queryId, parameterObject); + } + + /** + * 리스트 조회 처리 SQL mapping 을 실행한다. + * + * @param queryId - 리스트 조회 처리 SQL mapping 쿼리 ID + * + * @return 결과 List 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 에 의한 결과 객체(보통 VO 또는 Map)의 List + */ + @Override + public <E> List<E> selectList(String queryId) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().selectList(queryId); + } + + /** + * 리스트 조회 처리 SQL mapping 을 실행한다. + * + * @param queryId - 리스트 조회 처리 SQL mapping 쿼리 ID + * @param parameterObject - 리스트 조회 처리 SQL mapping 입력 데이터(조회 조건)를 세팅한 파라메터 객체(보통 VO 또는 Map) + * + * @return 결과 List 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 에 의한 결과 객체(보통 VO 또는 Map)의 List + */ + @Override + public <E> List<E> selectList(String queryId, Object parameterObject) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().selectList(queryId, parameterObject); + } + + /** + * 리스트 조회 처리 SQL mapping 을 실행한다. + * + * @param queryId - 리스트 조회 처리 SQL mapping 쿼리 ID + * @param parameterObject - 리스트 조회 처리 SQL mapping 입력 데이터(조회 조건)를 세팅한 파라메터 객체(보통 VO 또는 Map) + * @param rowBounds - 특정 개수 만큼의 레코드를 건너띄게 함 + * + * @return 결과 List 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 에 의한 결과 객체(보통 VO 또는 Map)의 List + */ + @Override + public <E> List<E> selectList(String queryId, Object parameterObject, RowBounds rowBounds) { + LOGGER.debug("queryId = "+queryId); + return getSqlSession().selectList(queryId, parameterObject, rowBounds); + } + + /** + * 부분 범위 리스트 조회 처리 SQL mapping 을 실행한다. + * (부분 범위 - pageIndex 와 pageSize 기반으로 현재 부분 범위 조회를 위한 skipResults, maxResults 를 계산하여 ibatis 호출) + * + * @param queryId - 리스트 조회 처리 SQL mapping 쿼리 ID + * @param parameterObject - 리스트 조회 처리 SQL mapping 입력 데이터(조회 조건)를 세팅한 파라메터 객체(보통 VO 또는 Map) + * @param pageIndex - 현재 페이지 번호 + * @param pageSize - 한 페이지 조회 수(pageSize) + * + * @return 부분 범위 결과 List 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 에 의한 부분 범위 결과 객체(보통 VO 또는 Map) List + */ + @Override + public List<?> listWithPaging(String queryId, Object parameterObject, int pageIndex, int pageSize) { + LOGGER.debug("queryId = "+queryId); + int skipResults = pageIndex * pageSize; + //int maxResults = (pageIndex * pageSize) + pageSize; + + RowBounds rowBounds = new RowBounds(skipResults, pageSize); + + return getSqlSession().selectList(queryId, parameterObject, rowBounds); + } + + /** + * SQL 조회 결과를 ResultHandler를 이용해서 출력한다. + * ResultHandler를 상속해 구현한 커스텀 핸들러의 handleResult() 메서드에 따라 실행된다. + * + * @param queryId - 리스트 조회 처리 SQL mapping 쿼리 ID + * @param handler - 조회 결과를 제어하기 위해 구현한 ResultHandler + * @return + * + * @return 결과 List 객체 - SQL mapping 파일에서 지정한 resultType/resultMap 에 의한 결과 객체(보통 VO 또는 Map)의 List + */ + @Override + public void listToOutUsingResultHandler(String queryId, ResultHandler handler) { + LOGGER.debug("queryId = "+queryId); + getSqlSession().select(queryId, handler); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovComAbstractDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovFileMngServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovFileMngServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovFileMngServiceImpl.java (revision 7) @@ -0,0 +1,156 @@ +package egovframework.com.cmm.service.impl; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import egovframework.com.cmm.service.EgovFileMngService; +import egovframework.com.cmm.service.FileVO; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * @Class Name : EgovFileMngServiceImpl.java + * @Description : 파일정보의 관리를 위한 구현 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 25. 이삼섭 최초생성 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 25. + * @version + * @see + * + */ +@Service("EgovFileMngService") +public class EgovFileMngServiceImpl extends EgovAbstractServiceImpl implements EgovFileMngService { + + @Resource(name = "FileManageDAO") + private FileManageDAO fileMngDAO; + + /** + * 여러 개의 파일을 삭제한다. + * + * @see egovframework.com.cmm.service.EgovFileMngService#deleteFileInfs(java.util.List) + */ + public void deleteFileInfs(List<?> fvoList) throws Exception { + fileMngDAO.deleteFileInfs(fvoList); + } + + /** + * 하나의 파일에 대한 정보(속성 및 상세)를 등록한다. + * + * @see egovframework.com.cmm.service.EgovFileMngService#insertFileInf(egovframework.com.cmm.service.FileVO) + */ + public String insertFileInf(FileVO fvo) throws Exception { + String atchFileId = fvo.getAtchFileId(); + + fileMngDAO.insertFileInf(fvo); + + return atchFileId; + } + + /** + * 여러 개의 파일에 대한 정보(속성 및 상세)를 등록한다. + * + * @see egovframework.com.cmm.service.EgovFileMngService#insertFileInfs(java.util.List) + */ + public String insertFileInfs(List<?> fvoList) throws Exception { + String atchFileId = ""; + + if (fvoList.size() != 0) { + atchFileId = fileMngDAO.insertFileInfs(fvoList); + } + if (atchFileId == "") { + atchFileId = null; + } + return atchFileId; + } + + /** + * 파일에 대한 목록을 조회한다. + * + * @see egovframework.com.cmm.service.EgovFileMngService#selectFileInfs(egovframework.com.cmm.service.FileVO) + */ + public List<FileVO> selectFileInfs(FileVO fvo) throws Exception { + return fileMngDAO.selectFileInfs(fvo); + } + + /** + * 여러 개의 파일에 대한 정보(속성 및 상세)를 수정한다. + * + * @see egovframework.com.cmm.service.EgovFileMngService#updateFileInfs(java.util.List) + */ + public void updateFileInfs(List<?> fvoList) throws Exception { + //Delete & Insert + fileMngDAO.updateFileInfs(fvoList); + } + + /** + * 하나의 파일을 삭제한다. + * + * @see egovframework.com.cmm.service.EgovFileMngService#deleteFileInf(egovframework.com.cmm.service.FileVO) + */ + public void deleteFileInf(FileVO fvo) throws Exception { + fileMngDAO.deleteFileInf(fvo); + } + + /** + * 파일에 대한 상세정보를 조회한다. + * + * @see egovframework.com.cmm.service.EgovFileMngService#selectFileInf(egovframework.com.cmm.service.FileVO) + */ + public FileVO selectFileInf(FileVO fvo) throws Exception { + return fileMngDAO.selectFileInf(fvo); + } + + /** + * 파일 구분자에 대한 최대값을 구한다. + * + * @see egovframework.com.cmm.service.EgovFileMngService#getMaxFileSN(egovframework.com.cmm.service.FileVO) + */ + public int getMaxFileSN(FileVO fvo) throws Exception { + return fileMngDAO.getMaxFileSN(fvo); + } + + /** + * 전체 파일을 삭제한다. + * + * @see egovframework.com.cmm.service.EgovFileMngService#deleteAllFileInf(egovframework.com.cmm.service.FileVO) + */ + public void deleteAllFileInf(FileVO fvo) throws Exception { + fileMngDAO.deleteAllFileInf(fvo); + } + + /** + * 파일명 검색에 대한 목록을 조회한다. + * + * @see egovframework.com.cmm.service.EgovFileMngService#selectFileListByFileNm(egovframework.com.cmm.service.FileVO) + */ + public Map<String, Object> selectFileListByFileNm(FileVO fvo) throws Exception { + List<FileVO> result = fileMngDAO.selectFileListByFileNm(fvo); + int cnt = fileMngDAO.selectFileListCntByFileNm(fvo); + + Map<String, Object> map = new HashMap<String, Object>(); + + map.put("resultList", result); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + } + + /** + * 이미지 파일에 대한 목록을 조회한다. + * + * @see egovframework.com.cmm.service.EgovFileMngService#selectImageFileList(egovframework.com.cmm.service.FileVO) + */ + public List<FileVO> selectImageFileList(FileVO vo) throws Exception { + return fileMngDAO.selectImageFileList(vo); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/service/impl/EgovFileMngServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/impl/FileManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/impl/FileManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/service/impl/FileManageDAO.java (revision 7) @@ -0,0 +1,181 @@ +package egovframework.com.cmm.service.impl; + +import java.util.Iterator; +import java.util.List; + +import egovframework.com.cmm.service.FileVO; + +import org.springframework.stereotype.Repository; + +/** + * @Class Name : EgovFileMngDAO.java + * @Description : 파일정보 관리를 위한 데이터 처리 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 25. 이삼섭 최초생성 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 25. + * @version + * @see + * + */ +@Repository("FileManageDAO") +public class FileManageDAO extends EgovComAbstractDAO { + + /** + * 여러 개의 파일에 대한 정보(속성 및 상세)를 등록한다. + * + * @param fileList + * @return + * @throws Exception + */ + public String insertFileInfs(List<?> fileList) throws Exception { + FileVO vo = (FileVO) fileList.get(0); + String atchFileId = vo.getAtchFileId(); + + insert("FileManageDAO.insertFileMaster", vo); + + Iterator<?> iter = fileList.iterator(); + while (iter.hasNext()) { + vo = (FileVO) iter.next(); + + insert("FileManageDAO.insertFileDetail", vo); + } + + return atchFileId; + } + + /** + * 하나의 파일에 대한 정보(속성 및 상세)를 등록한다. + * + * @param vo + * @throws Exception + */ + public void insertFileInf(FileVO vo) throws Exception { + insert("FileManageDAO.insertFileMaster", vo); + insert("FileManageDAO.insertFileDetail", vo); + } + + /** + * 여러 개의 파일에 대한 정보(속성 및 상세)를 수정한다. + * + * @param fileList + * @throws Exception + */ + public void updateFileInfs(List<?> fileList) throws Exception { + FileVO vo; + Iterator<?> iter = fileList.iterator(); + while (iter.hasNext()) { + vo = (FileVO) iter.next(); + insert("FileManageDAO.insertFileDetail", vo); + } + } + + /** + * 여러 개의 파일을 삭제한다. + * + * @param fileList + * @throws Exception + */ + public void deleteFileInfs(List<?> fileList) throws Exception { + Iterator<?> iter = fileList.iterator(); + FileVO vo; + while (iter.hasNext()) { + vo = (FileVO) iter.next(); + + delete("FileManageDAO.deleteFileDetail", vo); + } + } + + /** + * 하나의 파일을 삭제한다. + * + * @param fvo + * @throws Exception + */ + public void deleteFileInf(FileVO fvo) throws Exception { + delete("FileManageDAO.deleteFileDetail", fvo); + } + + /** + * 파일에 대한 목록을 조회한다. + * + * @param vo + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<FileVO> selectFileInfs(FileVO vo) throws Exception { + return (List<FileVO>) list("FileManageDAO.selectFileList", vo); + } + + /** + * 파일 구분자에 대한 최대값을 구한다. + * + * @param fvo + * @return + * @throws Exception + */ + public int getMaxFileSN(FileVO fvo) throws Exception { + return (Integer) selectOne("FileManageDAO.getMaxFileSN", fvo); + } + + /** + * 파일에 대한 상세정보를 조회한다. + * + * @param fvo + * @return + * @throws Exception + */ + public FileVO selectFileInf(FileVO fvo) throws Exception { + return (FileVO) selectOne("FileManageDAO.selectFileInf", fvo); + } + + /** + * 전체 파일을 삭제한다. + * + * @param fvo + * @throws Exception + */ + public void deleteAllFileInf(FileVO fvo) throws Exception { + update("FileManageDAO.deleteCOMTNFILE", fvo); + } + + /** + * 파일명 검색에 대한 목록을 조회한다. + * + * @param vo + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<FileVO> selectFileListByFileNm(FileVO fvo) throws Exception { + return (List<FileVO>) list("FileManageDAO.selectFileListByFileNm", fvo); + } + + /** + * 파일명 검색에 대한 목록 전체 건수를 조회한다. + * + * @param fvo + * @return + * @throws Exception + */ + public int selectFileListCntByFileNm(FileVO fvo) throws Exception { + return (Integer) selectOne("FileManageDAO.selectFileListCntByFileNm", fvo); + } + + /** + * 이미지 파일에 대한 목록을 조회한다. + * + * @param vo + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<FileVO> selectImageFileList(FileVO vo) throws Exception { + return (List<FileVO>) list("FileManageDAO.selectImageFileList", vo); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/service/impl/FileManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/EgovProperties.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/EgovProperties.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/service/EgovProperties.java (revision 7) @@ -0,0 +1,223 @@ +package egovframework.com.cmm.service; + +import java.io.BufferedInputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; + +import egovframework.com.cmm.EgovWebUtil; +import egovframework.com.cmm.util.EgovResourceCloseHelper; +import egovframework.com.utl.fcc.service.EgovStringUtil; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Class Name : EgovProperties.java + * Description : properties값들을 파일로부터 읽어와 Globals클래스의 정적변수로 로드시켜주는 클래스로 + * 문자열 정보 기준으로 사용할 전역변수를 시스템 재시작으로 반영할 수 있도록 한다. + * Modification Information + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.01.19 박지욱 최초 생성 + * 2011.07.20 서준식 Globals파일의 상대경로를 읽은 메서드 추가 + * 2014.10.13 이기하 Globals.properties 값이 null일 경우 오류처리 + * 2019.04.26 신용호 RELATIVE_PATH_PREFIX Path 적용 방식 개선 + * @author 공통 서비스 개발팀 박지욱 + * @since 2009. 01. 19 + * @version 1.0 + * @see + * + */ + +public class EgovProperties { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovProperties.class); + + //파일구분자 + final static String FILE_SEPARATOR = System.getProperty("file.separator"); + + //프로퍼티 파일의 물리적 위치 + //public static final String GLOBALS_PROPERTIES_FILE = System.getProperty("user.home") + FILE_SEPARATOR + "egovProps" +FILE_SEPARATOR + "globals.properties"; + + public static final String RELATIVE_PATH_PREFIX = EgovProperties.class.getResource("") == null ? "" : EgovProperties.class.getResource("").getPath().substring(0, EgovProperties.class.getResource("").getPath().lastIndexOf("com")); + //public static final String RELATIVE_PATH_PREFIX = EgovProperties.class.getProtectionDomain().getCodeSource().getLocation().getPath().substring(0,EgovProperties.class.getProtectionDomain().getCodeSource().getLocation().getPath().indexOf("WEB-INF/classes/")+"WEB-INF/classes/".length())+"egovframework/"; + + public static final String GLOBALS_PROPERTIES_FILE = RELATIVE_PATH_PREFIX + "egovProps" + FILE_SEPARATOR + "globals.properties"; + + /** + * 인자로 주어진 문자열을 Key값으로 하는 상대경로 프로퍼티 값을 절대경로로 반환한다(Globals.java 전용) + * @param keyName String + * @return String + */ + public static String getPathProperty(String keyName) { + String value = ""; + + LOGGER.debug("getPathProperty : {} = {}", GLOBALS_PROPERTIES_FILE, keyName); + + FileInputStream fis = null; + try { + Properties props = new Properties(); + + fis = new FileInputStream(EgovWebUtil.filePathBlackList(GLOBALS_PROPERTIES_FILE)); + props.load(new BufferedInputStream(fis)); + + value = props.getProperty(keyName); + value = (value == null) ? "" : value.trim();//KISA 보안약점 조치 (2018-10-29, 윤창원) + value = RELATIVE_PATH_PREFIX + "egovProps" + System.getProperty("file.separator") + value; + } catch (FileNotFoundException fne) { + LOGGER.debug("Property file not found.", fne); + throw new RuntimeException("Property file not found", fne); + } catch (IOException ioe) { + LOGGER.debug("Property file IO exception", ioe); + throw new RuntimeException("Property file IO exception", ioe); + } finally { + EgovResourceCloseHelper.close(fis); + } + + return value; + } + + /** + * 인자로 주어진 문자열을 Key값으로 하는 프로퍼티 값을 반환한다(Globals.java 전용) + * @param keyName String + * @return String + */ + public static String getProperty(String keyName) { + String value = ""; + + LOGGER.debug("===>>> getProperty"+EgovProperties.class.getProtectionDomain().getCodeSource() == null ? "" : EgovStringUtil.isNullToString(EgovProperties.class.getProtectionDomain().getCodeSource().getLocation().getPath())); + LOGGER.debug("getProperty : {} = {}", GLOBALS_PROPERTIES_FILE, keyName); + + FileInputStream fis = null; + try { + Properties props = new Properties(); + + fis = new FileInputStream(EgovWebUtil.filePathBlackList(GLOBALS_PROPERTIES_FILE)); + + props.load(new BufferedInputStream(fis)); + if (props.getProperty(keyName) == null) { + return ""; + } + value = props.getProperty(keyName).trim(); + } catch (FileNotFoundException fne) { + LOGGER.debug("Property file not found.", fne); + throw new RuntimeException("Property file not found", fne); + } catch (IOException ioe) { + LOGGER.debug("Property file IO exception", ioe); + throw new RuntimeException("Property file IO exception", ioe); + } finally { + EgovResourceCloseHelper.close(fis); + } + + return value; + } + + /** + * 주어진 파일에서 인자로 주어진 문자열을 Key값으로 하는 프로퍼티 상대 경로값을 절대 경로값으로 반환한다 + * @param fileName String + * @param key String + * @return String + */ + public static String getPathProperty(String fileName, String key) { + FileInputStream fis = null; + try { + Properties props = new Properties(); + + fis = new FileInputStream(EgovWebUtil.filePathBlackList(fileName)); + props.load(new BufferedInputStream(fis)); + fis.close(); + + String value = props.getProperty(key); + value = RELATIVE_PATH_PREFIX + "egovProps" + System.getProperty("file.separator") + value; + + return value; + } catch (FileNotFoundException fne) { + LOGGER.debug("Property file not found.", fne); + throw new RuntimeException("Property file not found", fne); + } catch (IOException ioe) { + LOGGER.debug("Property file IO exception", ioe); + throw new RuntimeException("Property file IO exception", ioe); + } finally { + EgovResourceCloseHelper.close(fis); + } + } + + /** + * 주어진 파일에서 인자로 주어진 문자열을 Key값으로 하는 프로퍼티 값을 반환한다 + * @param fileName String + * @param key String + * @return String + */ + public static String getProperty(String fileName, String key) { + FileInputStream fis = null; + try { + Properties props = new Properties(); + + fis = new FileInputStream(EgovWebUtil.filePathBlackList(fileName)); + props.load(new BufferedInputStream(fis)); + fis.close(); + + String value = props.getProperty(key); + + return value; + } catch (FileNotFoundException fne) { + LOGGER.debug("Property file not found.", fne); + throw new RuntimeException("Property file not found", fne); + } catch (IOException ioe) { + LOGGER.debug("Property file IO exception", ioe); + throw new RuntimeException("Property file IO exception", ioe); + } finally { + EgovResourceCloseHelper.close(fis); + } + } + + /** + * 주어진 프로파일의 내용을 파싱하여 (key-value) 형태의 구조체 배열을 반환한다. + * @param property String + * @return ArrayList + */ + public static ArrayList<Map<String, String>> loadPropertyFile(String property) { + + // key - value 형태로 된 배열 결과 + ArrayList<Map<String, String>> keyList = new ArrayList<Map<String, String>>(); + + String src = property.replace('\\', File.separatorChar).replace('/', File.separatorChar); + FileInputStream fis = null; + try { + + File srcFile = new File(EgovWebUtil.filePathBlackList(src)); + if (srcFile.exists()) { + + Properties props = new Properties(); + fis = new FileInputStream(src); + props.load(new BufferedInputStream(fis)); + fis.close(); + + Enumeration<?> plist = props.propertyNames(); + if (plist != null) { + while (plist.hasMoreElements()) { + Map<String, String> map = new HashMap<String, String>(); + String key = (String) plist.nextElement(); + map.put(key, props.getProperty(key)); + keyList.add(map); + } + } + } + } catch (IOException ex) { + LOGGER.debug("IO Exception", ex); + throw new RuntimeException(ex); + } finally { + EgovResourceCloseHelper.close(fis); + } + + return keyList; + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/service/EgovProperties.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/CmmnDetailCode.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/CmmnDetailCode.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/service/CmmnDetailCode.java (revision 7) @@ -0,0 +1,217 @@ +package egovframework.com.cmm.service; + +import java.io.Serializable; + +/** + * 공통상세코드 모델 클래스 + * @author 공통서비스 개발팀 이중호 + * @since 2009.04.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.01 이중호 최초 생성 + * 2017.09.07 이정은 표준프레임워크 v3.7 개선(clCode 추가) + * + * </pre> + */ +public class CmmnDetailCode implements Serializable { + + private static final long serialVersionUID = 1L; + + /* + * 분류코드 + */ + private String clCode = ""; + + /* + * 코드ID + */ + private String codeId = ""; + + /* + * 코드ID명 + */ + private String codeIdNm = ""; + + /* + * 상세코드 + */ + private String code = ""; + + /* + * 상세코드명 + */ + private String codeNm = ""; + + /* + * 상세코드설명 + */ + private String codeDc = ""; + + /* + * 사용여부 + */ + private String useAt = ""; + + /* + * 최초등록자ID + */ + private String frstRegisterId = ""; + + /* + * 최종수정자ID + */ + private String lastUpdusrId = ""; + + + /** + * clCode attribute 를 리턴한다. + * @return String + */ + public String getClCode() { + return clCode; + } + + /** + * clCode attribute 값을 설정한다. + * @param clCode String + */ + public void setClCode(String clCode) { + this.clCode = clCode; + } + + /** + * codeId attribute 를 리턴한다. + * @return String + */ + public String getCodeId() { + return codeId; + } + + /** + * codeId attribute 값을 설정한다. + * @param codeId String + */ + public void setCodeId(String codeId) { + this.codeId = codeId; + } + + /** + * codeIdNm attribute 를 리턴한다. + * @return String + */ + public String getCodeIdNm() { + return codeIdNm; + } + + /** + * codeIdNm attribute 값을 설정한다. + * @param codeIdNm String + */ + public void setCodeIdNm(String codeIdNm) { + this.codeIdNm = codeIdNm; + } + + /** + * code attribute 를 리턴한다. + * @return String + */ + public String getCode() { + return code; + } + + /** + * code attribute 값을 설정한다. + * @param code String + */ + public void setCode(String code) { + this.code = code; + } + + /** + * codeNm attribute 를 리턴한다. + * @return String + */ + public String getCodeNm() { + return codeNm; + } + + /** + * codeNm attribute 값을 설정한다. + * @param codeNm String + */ + public void setCodeNm(String codeNm) { + this.codeNm = codeNm; + } + + /** + * codeDc attribute 를 리턴한다. + * @return String + */ + public String getCodeDc() { + return codeDc; + } + + /** + * codeDc attribute 값을 설정한다. + * @param codeDc String + */ + public void setCodeDc(String codeDc) { + this.codeDc = codeDc; + } + + /** + * useAt attribute 를 리턴한다. + * @return String + */ + public String getUseAt() { + return useAt; + } + + /** + * useAt attribute 값을 설정한다. + * @param useAt String + */ + public void setUseAt(String useAt) { + this.useAt = useAt; + } + + /** + * frstRegisterId attribute 를 리턴한다. + * @return String + */ + public String getFrstRegisterId() { + return frstRegisterId; + } + + /** + * frstRegisterId attribute 값을 설정한다. + * @param frstRegisterId String + */ + public void setFrstRegisterId(String frstRegisterId) { + this.frstRegisterId = frstRegisterId; + } + + /** + * lastUpdusrId attribute 를 리턴한다. + * @return String + */ + public String getLastUpdusrId() { + return lastUpdusrId; + } + + /** + * lastUpdusrId attribute 값을 설정한다. + * @param lastUpdusrId String + */ + public void setLastUpdusrId(String lastUpdusrId) { + this.lastUpdusrId = lastUpdusrId; + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/service/CmmnDetailCode.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/EgovCmmUseService.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/EgovCmmUseService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/service/EgovCmmUseService.java (revision 7) @@ -0,0 +1,64 @@ +package egovframework.com.cmm.service; + +import java.util.List; +import java.util.Map; + +import egovframework.com.cmm.ComDefaultCodeVO; + + + +/** + * + * 공통코드등 전체 업무에서 공용해서 사용해야 하는 서비스를 정의하기 위한 서비스 인터페이스 + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.11 이삼섭 최초 생성 + * + * </pre> + */ +public interface EgovCmmUseService { + + /** + * 공통코드를 조회한다. + * + * @param vo + * @return List(코드) + * @throws Exception + */ + public List<CmmnDetailCode> selectCmmCodeDetail(ComDefaultCodeVO vo) throws Exception; + + /** + * ComDefaultCodeVO의 리스트를 받아서 여러개의 코드 리스트를 맵에 담아서 리턴한다. + * + * @param voList + * @return Map(코드) + * @throws Exception + */ + public Map<String, List<CmmnDetailCode>> selectCmmCodeDetails(List<?> voList) throws Exception; + + /** + * 조직정보를 코드형태로 리턴한다. + * + * @param 조회조건정보 vo + * @return 조직정보 List + * @throws Exception + */ + public List<CmmnDetailCode> selectOgrnztIdDetail(ComDefaultCodeVO vo) throws Exception; + + /** + * 그룹정보를 코드형태로 리턴한다. + * + * @param 조회조건정보 vo + * @return 그룹정보 List + * @throws Exception + */ + public List<CmmnDetailCode> selectGroupIdDetail(ComDefaultCodeVO vo) throws Exception; +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/service/EgovCmmUseService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/EgovUserDetailsService.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/EgovUserDetailsService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/service/EgovUserDetailsService.java (revision 7) @@ -0,0 +1,26 @@ +package egovframework.com.cmm.service; + +import java.util.List; + +public interface EgovUserDetailsService { + + /** + * 인증된 사용자객체를 VO형식으로 가져온다. + * @return Object - 사용자 ValueObject + */ + public Object getAuthenticatedUser(); + + /** + * 인증된 사용자의 권한 정보를 가져온다. + * 예) [ROLE_ADMIN, ROLE_USER, ROLE_A, ROLE_B, ROLE_RESTRICTED, IS_AUTHENTICATED_FULLY, IS_AUTHENTICATED_REMEMBERED, IS_AUTHENTICATED_ANONYMOUSLY] + * @return List - 사용자 권한정보 목록 + */ + public List<String> getAuthorities(); + + /** + * 인증된 사용자 여부를 체크한다. + * @return Boolean - 인증된 사용자 여부(TRUE / FALSE) + */ + public Boolean isAuthenticated(); + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/service/EgovUserDetailsService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/FileVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/FileVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/service/FileVO.java (revision 7) @@ -0,0 +1,240 @@ +package egovframework.com.cmm.service; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * @Class Name : FileVO.java + * @Description : 파일정보 처리를 위한 VO 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 25. 이삼섭 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 25. + * @version + * @see + * + */ +@SuppressWarnings("serial") +public class FileVO implements Serializable { + + /** + * 첨부파일 아이디 + */ + public String atchFileId = ""; + /** + * 생성일자 + */ + public String creatDt = ""; + /** + * 파일내용 + */ + public String fileCn = ""; + /** + * 파일확장자 + */ + public String fileExtsn = ""; + /** + * 파일크기 + */ + public String fileMg = ""; + /** + * 파일연번 + */ + public String fileSn = ""; + /** + * 파일저장경로 + */ + public String fileStreCours = ""; + /** + * 원파일명 + */ + public String orignlFileNm = ""; + /** + * 저장파일명 + */ + public String streFileNm = ""; + + /** + * atchFileId attribute를 리턴한다. + * + * @return the atchFileId + */ + public String getAtchFileId() { + return atchFileId; + } + + /** + * atchFileId attribute 값을 설정한다. + * + * @param atchFileId + * the atchFileId to set + */ + public void setAtchFileId(String atchFileId) { + this.atchFileId = atchFileId; + } + + /** + * creatDt attribute를 리턴한다. + * + * @return the creatDt + */ + public String getCreatDt() { + return creatDt; + } + + /** + * creatDt attribute 값을 설정한다. + * + * @param creatDt + * the creatDt to set + */ + public void setCreatDt(String creatDt) { + this.creatDt = creatDt; + } + + /** + * fileCn attribute를 리턴한다. + * + * @return the fileCn + */ + public String getFileCn() { + return fileCn; + } + + /** + * fileCn attribute 값을 설정한다. + * + * @param fileCn + * the fileCn to set + */ + public void setFileCn(String fileCn) { + this.fileCn = fileCn; + } + + /** + * fileExtsn attribute를 리턴한다. + * + * @return the fileExtsn + */ + public String getFileExtsn() { + return fileExtsn; + } + + /** + * fileExtsn attribute 값을 설정한다. + * + * @param fileExtsn + * the fileExtsn to set + */ + public void setFileExtsn(String fileExtsn) { + this.fileExtsn = fileExtsn; + } + + /** + * fileMg attribute를 리턴한다. + * + * @return the fileMg + */ + public String getFileMg() { + return fileMg; + } + + /** + * fileMg attribute 값을 설정한다. + * + * @param fileMg + * the fileMg to set + */ + public void setFileMg(String fileMg) { + this.fileMg = fileMg; + } + + /** + * fileSn attribute를 리턴한다. + * + * @return the fileSn + */ + public String getFileSn() { + return fileSn; + } + + /** + * fileSn attribute 값을 설정한다. + * + * @param fileSn + * the fileSn to set + */ + public void setFileSn(String fileSn) { + this.fileSn = fileSn; + } + + /** + * fileStreCours attribute를 리턴한다. + * + * @return the fileStreCours + */ + public String getFileStreCours() { + return fileStreCours; + } + + /** + * fileStreCours attribute 값을 설정한다. + * + * @param fileStreCours + * the fileStreCours to set + */ + public void setFileStreCours(String fileStreCours) { + this.fileStreCours = fileStreCours; + } + + /** + * orignlFileNm attribute를 리턴한다. + * + * @return the orignlFileNm + */ + public String getOrignlFileNm() { + return orignlFileNm; + } + + /** + * orignlFileNm attribute 값을 설정한다. + * + * @param orignlFileNm + * the orignlFileNm to set + */ + public void setOrignlFileNm(String orignlFileNm) { + this.orignlFileNm = orignlFileNm; + } + + /** + * streFileNm attribute를 리턴한다. + * + * @return the streFileNm + */ + public String getStreFileNm() { + return streFileNm; + } + + /** + * streFileNm attribute 값을 설정한다. + * + * @param streFileNm + * the streFileNm to set + */ + public void setStreFileNm(String streFileNm) { + this.streFileNm = streFileNm; + } + + /** + * toString 메소드를 대치한다. + */ + public String toString() { + return ToStringBuilder.reflectionToString(this); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/service/FileVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/EgovFileMngService.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/EgovFileMngService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/service/EgovFileMngService.java (revision 7) @@ -0,0 +1,115 @@ +package egovframework.com.cmm.service; + +import java.util.List; +import java.util.Map; + +/** + * @Class Name : EgovFileMngService.java + * @Description : 파일정보의 관리를 위한 서비스 인터페이스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 25. 이삼섭 최초생성 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 25. + * @version + * @see + * + */ +public interface EgovFileMngService { + + /** + * 파일에 대한 목록을 조회한다. + * + * @param fvo + * @return + * @throws Exception + */ + public List<FileVO> selectFileInfs(FileVO fvo) throws Exception; + + /** + * 하나의 파일에 대한 정보(속성 및 상세)를 등록한다. + * + * @param fvo + * @throws Exception + */ + public String insertFileInf(FileVO fvo) throws Exception; + + /** + * 여러 개의 파일에 대한 정보(속성 및 상세)를 등록한다. + * + * @param fvoList + * @throws Exception + */ + public String insertFileInfs(List<?> fvoList) throws Exception; + + /** + * 여러 개의 파일에 대한 정보(속성 및 상세)를 수정한다. + * + * @param fvoList + * @throws Exception + */ + public void updateFileInfs(List<?> fvoList) throws Exception; + + /** + * 여러 개의 파일을 삭제한다. + * + * @param fvoList + * @throws Exception + */ + public void deleteFileInfs(List<?> fvoList) throws Exception; + + /** + * 하나의 파일을 삭제한다. + * + * @param fvo + * @throws Exception + */ + public void deleteFileInf(FileVO fvo) throws Exception; + + /** + * 파일에 대한 상세정보를 조회한다. + * + * @param fvo + * @return + * @throws Exception + */ + public FileVO selectFileInf(FileVO fvo) throws Exception; + + /** + * 파일 구분자에 대한 최대값을 구한다. + * + * @param fvo + * @return + * @throws Exception + */ + public int getMaxFileSN(FileVO fvo) throws Exception; + + /** + * 전체 파일을 삭제한다. + * + * @param fvo + * @throws Exception + */ + public void deleteAllFileInf(FileVO fvo) throws Exception; + + /** + * 파일명 검색에 대한 목록을 조회한다. + * + * @param fvo + * @return + * @throws Exception + */ + public Map<String, Object> selectFileListByFileNm(FileVO fvo) throws Exception; + + /** + * 이미지 파일에 대한 목록을 조회한다. + * + * @param vo + * @return + * @throws Exception + */ + public List<FileVO> selectImageFileList(FileVO vo) throws Exception; +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/service/EgovFileMngService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/service/EgovFileMngUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/service/EgovFileMngUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/service/EgovFileMngUtil.java (revision 7) @@ -0,0 +1,519 @@ +package egovframework.com.cmm.service; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.sql.Timestamp; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Map.Entry; + +import egovframework.com.cmm.EgovWebUtil; +import egovframework.com.cmm.util.EgovResourceCloseHelper; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; +import org.springframework.util.FileCopyUtils; +import org.springframework.web.multipart.MultipartFile; + +/** + * @Class Name : EgovFileMngUtil.java + * @Description : 메시지 처리 관련 유틸리티 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.02.13 이삼섭 최초 생성 + * 2011.08.09 서준식 utl.fcc패키지와 Dependency제거를 위해 getTimeStamp()메서드 추가 + * 2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + * 2020.10.26 신용호 parseFileInf(List<MultipartFile> files ...) 추가 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 02. 13 + * @version 1.0 + * @see + * + */ +@Component("EgovFileMngUtil") +public class EgovFileMngUtil { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileMngUtil.class); + + public static final int BUFF_SIZE = 2048; + + @Resource(name = "egovFileIdGnrService") + private EgovIdGnrService idgenService; + + /** + * 첨부파일에 대한 목록 정보를 취득한다. + * + * @param files + * @return + * @throws Exception + */ + public List<FileVO> parseFileInf(Map<String, MultipartFile> files, String KeyStr, int fileKeyParam, String atchFileId, String storePath) throws Exception { + int fileKey = fileKeyParam; + + String storePathString = ""; + String atchFileIdString = ""; + + if ("".equals(storePath) || storePath == null) { + storePathString = EgovProperties.getProperty("Globals.fileStorePath"); + } else { + storePathString = EgovProperties.getProperty(storePath); + } + + if ("".equals(atchFileId) || atchFileId == null) { + atchFileIdString = idgenService.getNextStringId(); + } else { + atchFileIdString = atchFileId; + } + + File saveFolder = new File(EgovWebUtil.filePathBlackList(storePathString)); + + if (!saveFolder.exists() || saveFolder.isFile()) { + //2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + if (saveFolder.mkdirs()){ + LOGGER.debug("[file.mkdirs] saveFolder : Creation Success "); + }else{ + LOGGER.error("[file.mkdirs] saveFolder : Creation Fail "); + } + } + + Iterator<Entry<String, MultipartFile>> itr = files.entrySet().iterator(); + MultipartFile file; + String filePath = ""; + List<FileVO> result = new ArrayList<FileVO>(); + FileVO fvo; + + while (itr.hasNext()) { + Entry<String, MultipartFile> entry = itr.next(); + + file = entry.getValue(); + String orginFileName = file.getOriginalFilename(); + + //-------------------------------------- + // 원 파일명이 없는 경우 처리 + // (첨부가 되지 않은 input file type) + //-------------------------------------- + if ("".equals(orginFileName)) { + continue; + } + ////------------------------------------ + + int index = orginFileName.lastIndexOf("."); + //String fileName = orginFileName.substring(0, index); + String fileExt = orginFileName.substring(index + 1); + String newName = KeyStr + getTimeStamp() + fileKey; + long size = file.getSize(); + + if (!"".equals(orginFileName)) { + filePath = storePathString + File.separator + newName; + file.transferTo(new File(EgovWebUtil.filePathBlackList(filePath))); + } + + fvo = new FileVO(); + fvo.setFileExtsn(fileExt); + fvo.setFileStreCours(storePathString); + fvo.setFileMg(Long.toString(size)); + fvo.setOrignlFileNm(orginFileName); + fvo.setStreFileNm(newName); + fvo.setAtchFileId(atchFileIdString); + fvo.setFileSn(String.valueOf(fileKey)); + + result.add(fvo); + + fileKey++; + } + + return result; + } + + /** + * 첨부파일에 대한 목록 정보를 취득한다. + * + * @param files + * @return + * @throws Exception + */ + public List<FileVO> parseFileInf(List<MultipartFile> files, String KeyStr, int fileKeyParam, String atchFileId, String storePath) throws Exception { + int fileKey = fileKeyParam; + + String storePathString = ""; + String atchFileIdString = ""; + + if ("".equals(storePath) || storePath == null) { + storePathString = EgovProperties.getProperty("Globals.fileStorePath"); + } else { + storePathString = EgovProperties.getProperty(storePath); + } + + if ("".equals(atchFileId) || atchFileId == null) { + atchFileIdString = idgenService.getNextStringId(); + } else { + atchFileIdString = atchFileId; + } + + File saveFolder = new File(EgovWebUtil.filePathBlackList(storePathString)); + + if (!saveFolder.exists() || saveFolder.isFile()) { + //2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + if (saveFolder.mkdirs()){ + LOGGER.debug("[file.mkdirs] saveFolder : Creation Success "); + }else{ + LOGGER.error("[file.mkdirs] saveFolder : Creation Fail "); + } + } + + String filePath = ""; + List<FileVO> result = new ArrayList<FileVO>(); + FileVO fvo; + + for (MultipartFile file : files ) { + + String orginFileName = file.getOriginalFilename(); + + //-------------------------------------- + // 원 파일명이 없는 경우 처리 + // (첨부가 되지 않은 input file type) + //-------------------------------------- + if ("".equals(orginFileName)) { + continue; + } + ////------------------------------------ + + int index = orginFileName.lastIndexOf("."); + //String fileName = orginFileName.substring(0, index); + String fileExt = orginFileName.substring(index + 1); + String newName = KeyStr + getTimeStamp() + fileKey; + long size = file.getSize(); + + if (!"".equals(orginFileName)) { + filePath = storePathString + File.separator + newName; + file.transferTo(new File(EgovWebUtil.filePathBlackList(filePath))); + } + + fvo = new FileVO(); + fvo.setFileExtsn(fileExt); + fvo.setFileStreCours(storePathString); + fvo.setFileMg(Long.toString(size)); + fvo.setOrignlFileNm(orginFileName); + fvo.setStreFileNm(newName); + fvo.setAtchFileId(atchFileIdString); + fvo.setFileSn(String.valueOf(fileKey)); + + result.add(fvo); + + fileKey++; + } + + return result; + } + + /** + * 첨부파일을 서버에 저장한다. + * + * @param file + * @param newName + * @param stordFilePath + * @throws Exception + */ + protected void writeUploadedFile(MultipartFile file, String newName, String stordFilePath) throws Exception { + InputStream stream = null; + OutputStream bos = null; + + try { + stream = file.getInputStream(); + File cFile = new File(stordFilePath); + + if (!cFile.isDirectory()) { + boolean _flag = cFile.mkdir(); + if (!_flag) { + throw new IOException("Directory creation Failed "); + } + } + + bos = new FileOutputStream(stordFilePath + File.separator + newName); + + int bytesRead = 0; + byte[] buffer = new byte[BUFF_SIZE]; + + while ((bytesRead = stream.read(buffer, 0, BUFF_SIZE)) != -1) { + bos.write(buffer, 0, bytesRead); + } + } finally { + EgovResourceCloseHelper.close(bos, stream); + } + } + + /** + * 서버의 파일을 다운로드한다. + * + * @param request + * @param response + * @throws Exception + */ + public static void downFile(HttpServletRequest request, HttpServletResponse response) throws Exception { + + String downFileName = ""; + String orgFileName = ""; + + if ((String) request.getAttribute("downFile") == null) { + downFileName = ""; + } else { + downFileName = (String) request.getAttribute("downFile"); + } + + if ((String) request.getAttribute("orgFileName") == null) { + orgFileName = ""; + } else { + orgFileName = (String) request.getAttribute("orginFile"); + } + + orgFileName = orgFileName.replaceAll("\r", "").replaceAll("\n", ""); + + File file = new File(EgovWebUtil.filePathBlackList(downFileName)); + + if (!file.exists()) { + throw new FileNotFoundException(downFileName); + } + + if (!file.isFile()) { + throw new FileNotFoundException(downFileName); + } + + byte[] buffer = new byte[BUFF_SIZE]; //buffer size 2K. + + response.setContentType("application/x-msdownload"); + response.setHeader("Content-Disposition:", "attachment; filename=" + new String(orgFileName.getBytes(), "UTF-8")); + response.setHeader("Content-Transfer-Encoding", "binary"); + response.setHeader("Pragma", "no-cache"); + response.setHeader("Expires", "0"); + + BufferedInputStream fin = null; + BufferedOutputStream outs = null; + + try { + fin = new BufferedInputStream(new FileInputStream(file)); + outs = new BufferedOutputStream(response.getOutputStream()); + int read = 0; + + while ((read = fin.read(buffer)) != -1) { + outs.write(buffer, 0, read); + } + } finally { + EgovResourceCloseHelper.close(outs, fin); + } + } + + /** + * 첨부로 등록된 파일을 서버에 업로드한다. + * + * @param file + * @return + * @throws Exception + */ + public static HashMap<String, String> uploadFile(MultipartFile file) throws Exception { + + HashMap<String, String> map = new HashMap<String, String>(); + //Write File 이후 Move File???? + String newName = ""; + String stordFilePath = EgovProperties.getProperty("Globals.fileStorePath"); + String orginFileName = file.getOriginalFilename(); + + int index = orginFileName.lastIndexOf("."); + //String fileName = orginFileName.substring(0, _index); + String fileExt = orginFileName.substring(index + 1); + long size = file.getSize(); + + //newName 은 Naming Convention에 의해서 생성 + newName = getTimeStamp(); // 2012.11 KISA 보안조치 + writeFile(file, newName, stordFilePath); + //storedFilePath는 지정 + map.put(Globals.ORIGIN_FILE_NM, orginFileName); + map.put(Globals.UPLOAD_FILE_NM, newName); + map.put(Globals.FILE_EXT, fileExt); + map.put(Globals.FILE_PATH, stordFilePath); + map.put(Globals.FILE_SIZE, String.valueOf(size)); + + return map; + } + + /** + * 파일을 실제 물리적인 경로에 생성한다. + * + * @param file + * @param newName + * @param stordFilePath + * @throws Exception + */ + protected static void writeFile(MultipartFile file, String newName, String stordFilePath) throws Exception { + InputStream stream = null; + OutputStream bos = null; + + try { + stream = file.getInputStream(); + File cFile = new File(EgovWebUtil.filePathBlackList(stordFilePath)); + + if (!cFile.isDirectory()){ + //2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + if (cFile.mkdirs()){ + LOGGER.debug("[file.mkdirs] saveFolder : Creation Success "); + }else{ + LOGGER.error("[file.mkdirs] saveFolder : Creation Fail "); + } + } + + bos = new FileOutputStream(EgovWebUtil.filePathBlackList(stordFilePath + File.separator + newName)); + + int bytesRead = 0; + byte[] buffer = new byte[BUFF_SIZE]; + + while ((bytesRead = stream.read(buffer, 0, BUFF_SIZE)) != -1) { + bos.write(buffer, 0, bytesRead); + } + } finally { + EgovResourceCloseHelper.close(bos, stream); + } + } + + /** + * 서버 파일에 대하여 다운로드를 처리한다. + * + * @param response + * @param streFileNm 파일저장 경로가 포함된 형태 + * @param orignFileNm + * @throws Exception + */ + public void downFile(HttpServletResponse response, String streFileNm, String orignFileNm) throws Exception { + String downFileName = streFileNm; + String orgFileName = orignFileNm; + + File file = new File(downFileName); + + if (!file.exists()) { + throw new FileNotFoundException(downFileName); + } + + if (!file.isFile()) { + throw new FileNotFoundException(downFileName); + } + + int fSize = (int) file.length(); + if (fSize > 0) { + BufferedInputStream in = null; + + try { + in = new BufferedInputStream(new FileInputStream(file)); + + String mimetype = "application/x-msdownload"; + + //response.setBufferSize(fSize); + response.setContentType(mimetype); + response.setHeader("Content-Disposition:", "attachment; filename=" + orgFileName); + response.setContentLength(fSize); + //response.setHeader("Content-Transfer-Encoding","binary"); + //response.setHeader("Pragma","no-cache"); + //response.setHeader("Expires","0"); + FileCopyUtils.copy(in, response.getOutputStream()); + } finally { + EgovResourceCloseHelper.close(in); + } + response.getOutputStream().flush(); + response.getOutputStream().close(); + } + + /* + String uploadPath = propertiesService.getString("fileDir"); + + File uFile = new File(uploadPath, requestedFile); + int fSize = (int) uFile.length(); + + if (fSize > 0) { + BufferedInputStream in = new BufferedInputStream(new FileInputStream(uFile)); + + String mimetype = "text/html"; + + //response.setBufferSize(fSize); + response.setContentType(mimetype); + response.setHeader("Content-Disposition", "attachment; filename=\"" + requestedFile + "\""); + response.setContentLength(fSize); + + FileCopyUtils.copy(in, response.getOutputStream()); + in.close(); + response.getOutputStream().flush(); + response.getOutputStream().close(); + } else { + response.setContentType("text/html"); + PrintWriter printwriter = response.getWriter(); + printwriter.println("<html>"); + printwriter.println("<br><br><br><h2>Could not get file name:<br>" + requestedFile + "</h2>"); + printwriter.println("<br><br><br><center><h3><a href='javascript: history.go(-1)'>Back</a></h3></center>"); + printwriter.println("<br><br><br>&copy; webAccess"); + printwriter.println("</html>"); + printwriter.flush(); + printwriter.close(); + } + //*/ + + /* + response.setContentType("application/x-msdownload"); + response.setHeader("Content-Disposition:", "attachment; filename=" + new String(orgFileName.getBytes(),"UTF-8" )); + response.setHeader("Content-Transfer-Encoding","binary"); + response.setHeader("Pragma","no-cache"); + response.setHeader("Expires","0"); + + BufferedInputStream fin = new BufferedInputStream(new FileInputStream(file)); + BufferedOutputStream outs = new BufferedOutputStream(response.getOutputStream()); + int read = 0; + + while ((read = fin.read(b)) != -1) { + outs.write(b,0,read); + } + log.debug(this.getClass().getName()+" BufferedOutputStream Write Complete!!! "); + + outs.close(); + fin.close(); + //*/ + } + + /** + * 공통 컴포넌트 utl.fcc 패키지와 Dependency제거를 위해 내부 메서드로 추가 정의함 + * 응용어플리케이션에서 고유값을 사용하기 위해 시스템에서17자리의TIMESTAMP값을 구하는 기능 + * + * @param + * @return Timestamp 값 + * @see + */ + private static String getTimeStamp() { + + String rtnStr = null; + + // 문자열로 변환하기 위한 패턴 설정(년도-월-일 시:분:초:초(자정이후 초)) + String pattern = "yyyyMMddhhmmssSSS"; + + SimpleDateFormat sdfCurrent = new SimpleDateFormat(pattern, Locale.KOREA); + Timestamp ts = new Timestamp(System.currentTimeMillis()); + + rtnStr = sdfCurrent.format(ts.getTime()); + + return rtnStr; + } +} Property changes on: base3.10/src/main/java/egovframework/com/cmm/service/EgovFileMngUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cmm/AjaxWrapper.java =================================================================== --- base3.10/src/main/java/egovframework/com/cmm/AjaxWrapper.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cmm/AjaxWrapper.java (revision 7) @@ -0,0 +1,38 @@ +package egovframework.com.cmm; + +public class AjaxWrapper { + + public static final String SUCCESS = "success"; + public static final String DUPLICATION = "duplication"; + public static final String FAIL = "fail"; + + private String sttus; + private Object result; + + public AjaxWrapper() {} + + public AjaxWrapper(String sttus) { + this.sttus = sttus; + } + + public AjaxWrapper(String sttus, Object result) { + this.sttus = sttus; + this.result = result; + } + + public String getSttus() { + return sttus; + } + + public void setSttus(String sttus) { + this.sttus = sttus; + } + + public Object getResult() { + return result; + } + + public void setResult(Object result) { + this.result = result; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/cmm/AjaxWrapper.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/com/web/EgovCopViewController.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/com/web/EgovCopViewController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/com/web/EgovCopViewController.java (revision 7) @@ -0,0 +1,67 @@ +package egovframework.com.cop.com.web; + +import java.util.Map; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * 협업 비로그인 유저용 컨트롤러 클래스 + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.4.10 이삼섭 최초 생성 + * + * </pre> + */ +@Controller +public class EgovCopViewController { + + /** + * 팝업 페이지를 호출한다. + * + * @param userVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/com/openPopup.do") + public String openPopupWindow(@RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception { + + String requestUrl = (String) commandMap.get("requestUrl"); + String trgetId = (String) commandMap.get("trgetId"); + String width = (String) commandMap.get("width"); + String height = (String) commandMap.get("height"); + String typeFlag = (String) commandMap.get("typeFlag"); + + if (trgetId != null && trgetId != "") { + if (typeFlag != null && typeFlag != "") { + model.addAttribute("requestUrl", requestUrl + "?trgetId=" + trgetId + "&PopFlag=Y&typeFlag=" + typeFlag); + } else { + model.addAttribute("requestUrl", requestUrl + "?trgetId=" + trgetId + "&PopFlag=Y"); + } + } else { + if (typeFlag != null && typeFlag != "") { + model.addAttribute("requestUrl", requestUrl + "?PopFlag=Y&typeFlag=" + typeFlag); + } else { + model.addAttribute("requestUrl", requestUrl + "?PopFlag=Y"); + } + + } + + model.addAttribute("width", width); + model.addAttribute("height", height); + + return "egovframework/com/cop/com/EgovModalPopupFrame"; + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/com/web/EgovCopViewController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/com/web/EgovCopUserInfController.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/com/web/EgovCopUserInfController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/com/web/EgovCopUserInfController.java (revision 7) @@ -0,0 +1,90 @@ +package egovframework.com.cop.com.web; + +import java.util.Map; + +import egovframework.com.cop.com.service.EgovUserInfManageService; +import egovframework.com.cop.com.service.UserInfVO; + +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * 협업기능에서 활용하는 사용자 정보 조회용 컨트롤러 클래스 + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.4.6 이삼섭 최초 생성 + * 2011.07.21 안민정 커뮤니티 관련 메소드 분리 (->EgovCmyUserInfController) + * + * </pre> + */ +@Controller +public class EgovCopUserInfController { + + @Resource(name = "EgovUserInfManageService") + private EgovUserInfManageService userInfService; + + @Resource(name = "propertiesService") + protected EgovPropertyService propertyService; + + /** + * 사용자 정보에 대한 목록을 조회한다. + * + * @param userVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/com/selectUserList.do") + public String selectUserList(@ModelAttribute("searchVO") UserInfVO userVO, @RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception { + String popFlag = (String) commandMap.get("PopFlag"); + String returnUrl = "egovframework/com/cop/com/EgovUserList"; + + if ("Y".equals(popFlag)) { + returnUrl = "egovframework/com/cop/com/EgovUserListPop"; + } + + userVO.setPageUnit(propertyService.getInt("pageUnit")); + userVO.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + + paginationInfo.setCurrentPageNo(userVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(userVO.getPageUnit()); + paginationInfo.setPageSize(userVO.getPageSize()); + + userVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + userVO.setLastIndex(paginationInfo.getLastRecordIndex()); + userVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + Map<String, Object> map = userInfService.selectUserList(userVO); + int totCnt = Integer.parseInt((String) map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", map.get("resultCnt")); + model.addAttribute("targetMethod", "selectUserList"); + model.addAttribute("trgetId", ""); + model.addAttribute("paginationInfo", paginationInfo); + + return returnUrl; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cop/com/web/EgovCopUserInfController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/com/service/impl/EgovUserInfManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/com/service/impl/EgovUserInfManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/com/service/impl/EgovUserInfManageDAO.java (revision 7) @@ -0,0 +1,167 @@ +package egovframework.com.cop.com.service.impl; + +import java.util.List; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.cop.com.service.UserInfVO; + +import org.springframework.stereotype.Repository; + +/** + * 협업 활용 사용자 정보 조회를 위한 데이터 접근 클래스 + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.4.6 이삼섭 최초 생성 + * + * </pre> + */ +@Repository("EgovUserInfManageDAO") +public class EgovUserInfManageDAO extends EgovComAbstractDAO { + + /** + * 사용자 정보에 대한 목록을 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<UserInfVO> selectUserList(UserInfVO userVO) throws Exception { + return selectList("EgovUserInfManageDAO.selectUserList", userVO); + } + + /** + * 사용자 정보에 대한 목록 전체 건수를 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + public int selectUserListCnt(UserInfVO userVO) throws Exception { + return (Integer) selectOne("EgovUserInfManageDAO.selectUserListCnt", userVO); + } + + /** + * 커뮤니티 사용자 목록을 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<UserInfVO> selectCmmntyUserList(UserInfVO userVO) throws Exception { + return selectList("EgovUserInfManageDAO.selectCmmntyUserList", userVO); + } + + /** + * 커뮤니티 사용자 목록에 대한 전체 건수를 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + public int selectCmmntyUserListCnt(UserInfVO userVO) throws Exception { + return (Integer) selectOne("EgovUserInfManageDAO.selectCmmntyUserListCnt", userVO); + } + + /** + * 커뮤니티 관리자 목록을 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<UserInfVO> selectCmmntyMngrList(UserInfVO userVO) throws Exception { + return selectList("EgovUserInfManageDAO.selectCmmntyMngrList", userVO); + } + + /** + * 커뮤니티 관리자 목록에 대한 전체 건수를 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + public int selectCmmntyMngrListCnt(UserInfVO userVO) throws Exception { + return (Integer) selectOne("EgovUserInfManageDAO.selectCmmntyMngrListCnt", userVO); + } + + /** + * 동호회 사용자 목록을 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<UserInfVO> selectClubUserList(UserInfVO userVO) throws Exception { + return selectList("EgovUserInfManageDAO.selectClubUserList", userVO); + } + + /** + * 동호회 사용자 목록에 대한 전체 건수를 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + public int selectClubUserListCnt(UserInfVO userVO) throws Exception { + return (Integer) selectOne("EgovUserInfManageDAO.selectClubUserListCnt", userVO); + } + + /** + * 동호회 운영자 목록을 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<UserInfVO> selectClubOprtrList(UserInfVO userVO) throws Exception { + return selectList("EgovUserInfManageDAO.selectClubOprtrList", userVO); + } + + /** + * 동호회 운영자 목록에 대한 전체 건수를 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + public int selectClubOprtrListCnt(UserInfVO userVO) throws Exception { + return (Integer) selectOne("EgovUserInfManageDAO.selectClubOprtrListCnt", userVO); + } + + /** + * 동호회에 대한 모든 사용자 목록을 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<UserInfVO> selectAllClubUser(UserInfVO userVO) throws Exception { + return selectList("EgovUserInfManageDAO.selectAllClubUser", userVO); + } + + /** + * 커뮤니티에 대한 모든 사용자 목록을 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<UserInfVO> selectAllCmmntyUser(UserInfVO userVO) throws Exception { + return selectList("EgovUserInfManageDAO.selectAllCmmntyUser", userVO); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/com/service/impl/EgovUserInfManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/com/service/impl/EgovUserInfManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/com/service/impl/EgovUserInfManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/com/service/impl/EgovUserInfManageServiceImpl.java (revision 7) @@ -0,0 +1,147 @@ +package egovframework.com.cop.com.service.impl; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import egovframework.com.cop.com.service.EgovUserInfManageService; +import egovframework.com.cop.com.service.UserInfVO; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * 협업에서 사용할 사용자 조회 서비스 기능 구현 클래스 + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.4.6 이삼섭 최초 생성 + * + * </pre> + */ +@Service("EgovUserInfManageService") +public class EgovUserInfManageServiceImpl extends EgovAbstractServiceImpl implements EgovUserInfManageService { + + @Resource(name = "EgovUserInfManageDAO") + private EgovUserInfManageDAO userInfDAO; + + /** + * 동호회 운영자 목록을 조회한다. + * + * @see egovframework.com.cop.com.service.EgovUserInfManageService#selectClubOprtrList(egovframework.com.cop.com.service.UserInfVO) + */ + @Override + public Map<String, Object> selectClubOprtrList(UserInfVO userVO) throws Exception { + List<UserInfVO> result = userInfDAO.selectClubOprtrList(userVO); + int cnt = userInfDAO.selectClubOprtrListCnt(userVO); + + Map<String, Object> map = new HashMap<String, Object>(); + + map.put("resultList", result); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + } + + /** + * 동호회 사용자 목록을 조회한다. + * + * @see egovframework.com.cop.com.service.EgovUserInfManageService#selectClubUserList(egovframework.com.cop.com.service.UserInfVO) + */ + @Override + public Map<String, Object> selectClubUserList(UserInfVO userVO) throws Exception { + List<UserInfVO> result = userInfDAO.selectClubUserList(userVO); + int cnt = userInfDAO.selectClubUserListCnt(userVO); + + Map<String, Object> map = new HashMap<String, Object>(); + + map.put("resultList", result); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + } + + /** + * 커뮤니티 관리자 목록을 조회한다. + * + * @see egovframework.com.cop.com.service.EgovUserInfManageService#selectCmmntyMngrList(egovframework.com.cop.com.service.UserInfVO) + */ + @Override + public Map<String, Object> selectCmmntyMngrList(UserInfVO userVO) throws Exception { + List<UserInfVO> result = userInfDAO.selectCmmntyMngrList(userVO); + int cnt = userInfDAO.selectCmmntyMngrListCnt(userVO); + + Map<String, Object> map = new HashMap<String, Object>(); + + map.put("resultList", result); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + } + + /** + * 커뮤니티 사용자 목록을 조회한다. + * + * @see egovframework.com.cop.com.service.EgovUserInfManageService#selectCmmntyUserList(egovframework.com.cop.com.service.UserInfVO) + */ + @Override + public Map<String, Object> selectCmmntyUserList(UserInfVO userVO) throws Exception { + List<UserInfVO> result = userInfDAO.selectCmmntyUserList(userVO); + int cnt = userInfDAO.selectCmmntyUserListCnt(userVO); + + Map<String, Object> map = new HashMap<String, Object>(); + + map.put("resultList", result); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + } + + /** + * 사용자 정보에 대한 목록을 조회한다. + * + * @see egovframework.com.cop.com.service.EgovUserInfManageService#selectUserList(egovframework.com.cop.com.service.UserInfVO) + */ + @Override + public Map<String, Object> selectUserList(UserInfVO userVO) throws Exception { + List<UserInfVO> result = userInfDAO.selectUserList(userVO); + int cnt = userInfDAO.selectUserListCnt(userVO); + + Map<String, Object> map = new HashMap<String, Object>(); + + map.put("resultList", result); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + } + + /** + * 동호회에 대한 모든 사용자 목록을 조회한다. + * + * @see egovframework.com.cop.com.service.EgovUserInfManageService#selectAllClubUser(egovframework.com.cop.com.service.UserInfVO) + */ + @Override + public List<UserInfVO> selectAllClubUser(UserInfVO userVO) throws Exception { + return userInfDAO.selectAllClubUser(userVO); + } + + /** + * 커뮤니티에 대한 모든 사용자 목록을 조회한다. + * + * @see egovframework.com.cop.com.service.EgovUserInfManageService#selectAllCmmntyUser(egovframework.com.cop.com.service.UserInfVO) + */ + @Override + public List<UserInfVO> selectAllCmmntyUser(UserInfVO userVO) throws Exception { + return userInfDAO.selectAllCmmntyUser(userVO); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/com/service/impl/EgovUserInfManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/com/service/UserInfVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/com/service/UserInfVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/com/service/UserInfVO.java (revision 7) @@ -0,0 +1,561 @@ +package egovframework.com.cop.com.service; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * 사용자 정보 조회를 위한 VO 클래스 + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.4.6 이삼섭 최초 생성 + * + * </pre> + */ +@SuppressWarnings("serial") +public class UserInfVO implements Serializable { + + /** 유일 아이디 */ + private String uniqId = ""; + + /** 사용자 아이디 */ + private String userId = ""; + + /** 사용자 명 */ + private String userNm = ""; + + /** 사용자 우편번호 */ + private String userZip = ""; + + /** 사용자 주소 */ + private String userAdres = ""; + + /** 사용자 이메일 */ + private String userEmail = ""; + + /** 검색시작일 */ + private String searchBgnDe = ""; + + /** 검색조건 */ + private String searchCnd = ""; + + /** 검색종료일 */ + private String searchEndDe = ""; + + /** 검색단어 */ + private String searchWrd = ""; + + /** 정렬순서(DESC,ASC) */ + private String sortOrdr = ""; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** 첫페이지 인덱스 */ + private int firstIndex = 1; + + /** 마지막페이지 인덱스 */ + private int lastIndex = 1; + + /** 페이지당 레코드 개수 */ + private int recordCountPerPage = 10; + + /** 레코드 번호 */ + private int rowNo = 0; + + /** 대상 아이디 */ + private String trgetId = ""; + + /** 사용여부 */ + private String useAt = "Y"; + + /** 커뮤니티 아이디 */ + private String cmmntyId = ""; + + /** 동호회 아이디 */ + private String clubId = ""; + + /** 대상 중지 여부 (커뮤니티 또는 동호회) */ + private String deletedAt = "N"; + + /** + * uniqId attribute를 리턴한다. + * + * @return the uniqId + */ + public String getUniqId() { + return uniqId; + } + + /** + * uniqId attribute 값을 설정한다. + * + * @param uniqId + * the uniqId to set + */ + public void setUniqId(String uniqId) { + this.uniqId = uniqId; + } + + /** + * userId attribute를 리턴한다. + * + * @return the userId + */ + public String getUserId() { + return userId; + } + + /** + * userId attribute 값을 설정한다. + * + * @param userId + * the userId to set + */ + public void setUserId(String userId) { + this.userId = userId; + } + + /** + * userNm attribute를 리턴한다. + * + * @return the userNm + */ + public String getUserNm() { + return userNm; + } + + /** + * userNm attribute 값을 설정한다. + * + * @param userNm + * the userNm to set + */ + public void setUserNm(String userNm) { + this.userNm = userNm; + } + + /** + * userZip attribute를 리턴한다. + * + * @return the userZip + */ + public String getUserZip() { + return userZip; + } + + /** + * userZip attribute 값을 설정한다. + * + * @param userZip + * the userZip to set + */ + public void setUserZip(String userZip) { + this.userZip = userZip; + } + + /** + * userAdres attribute를 리턴한다. + * + * @return the userAdres + */ + public String getUserAdres() { + return userAdres; + } + + /** + * userAdres attribute 값을 설정한다. + * + * @param userAdres + * the userAdres to set + */ + public void setUserAdres(String userAdres) { + this.userAdres = userAdres; + } + + /** + * userEmail attribute를 리턴한다. + * + * @return the userEmail + */ + public String getUserEmail() { + return userEmail; + } + + /** + * userEmail attribute 값을 설정한다. + * + * @param userEmail + * the userEmail to set + */ + public void setUserEmail(String userEmail) { + this.userEmail = userEmail; + } + + /** + * searchBgnDe attribute를 리턴한다. + * + * @return the searchBgnDe + */ + public String getSearchBgnDe() { + return searchBgnDe; + } + + /** + * searchBgnDe attribute 값을 설정한다. + * + * @param searchBgnDe + * the searchBgnDe to set + */ + public void setSearchBgnDe(String searchBgnDe) { + this.searchBgnDe = searchBgnDe; + } + + /** + * searchCnd attribute를 리턴한다. + * + * @return the searchCnd + */ + public String getSearchCnd() { + return searchCnd; + } + + /** + * searchCnd attribute 값을 설정한다. + * + * @param searchCnd + * the searchCnd to set + */ + public void setSearchCnd(String searchCnd) { + this.searchCnd = searchCnd; + } + + /** + * searchEndDe attribute를 리턴한다. + * + * @return the searchEndDe + */ + public String getSearchEndDe() { + return searchEndDe; + } + + /** + * searchEndDe attribute 값을 설정한다. + * + * @param searchEndDe + * the searchEndDe to set + */ + public void setSearchEndDe(String searchEndDe) { + this.searchEndDe = searchEndDe; + } + + /** + * searchWrd attribute를 리턴한다. + * + * @return the searchWrd + */ + public String getSearchWrd() { + return searchWrd; + } + + /** + * searchWrd attribute 값을 설정한다. + * + * @param searchWrd + * the searchWrd to set + */ + public void setSearchWrd(String searchWrd) { + this.searchWrd = searchWrd; + } + + /** + * sortOrdr attribute를 리턴한다. + * + * @return the sortOrdr + */ + public String getSortOrdr() { + return sortOrdr; + } + + /** + * sortOrdr attribute 값을 설정한다. + * + * @param sortOrdr + * the sortOrdr to set + */ + public void setSortOrdr(String sortOrdr) { + this.sortOrdr = sortOrdr; + } + + /** + * searchUseYn attribute를 리턴한다. + * + * @return the searchUseYn + */ + public String getSearchUseYn() { + return searchUseYn; + } + + /** + * searchUseYn attribute 값을 설정한다. + * + * @param searchUseYn + * the searchUseYn to set + */ + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + /** + * pageIndex attribute를 리턴한다. + * + * @return the pageIndex + */ + public int getPageIndex() { + return pageIndex; + } + + /** + * pageIndex attribute 값을 설정한다. + * + * @param pageIndex + * the pageIndex to set + */ + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + /** + * pageUnit attribute를 리턴한다. + * + * @return the pageUnit + */ + public int getPageUnit() { + return pageUnit; + } + + /** + * pageUnit attribute 값을 설정한다. + * + * @param pageUnit + * the pageUnit to set + */ + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + /** + * pageSize attribute를 리턴한다. + * + * @return the pageSize + */ + public int getPageSize() { + return pageSize; + } + + /** + * pageSize attribute 값을 설정한다. + * + * @param pageSize + * the pageSize to set + */ + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + /** + * firstIndex attribute를 리턴한다. + * + * @return the firstIndex + */ + public int getFirstIndex() { + return firstIndex; + } + + /** + * firstIndex attribute 값을 설정한다. + * + * @param firstIndex + * the firstIndex to set + */ + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + /** + * lastIndex attribute를 리턴한다. + * + * @return the lastIndex + */ + public int getLastIndex() { + return lastIndex; + } + + /** + * lastIndex attribute 값을 설정한다. + * + * @param lastIndex + * the lastIndex to set + */ + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + /** + * recordCountPerPage attribute를 리턴한다. + * + * @return the recordCountPerPage + */ + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + /** + * recordCountPerPage attribute 값을 설정한다. + * + * @param recordCountPerPage + * the recordCountPerPage to set + */ + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + + /** + * rowNo attribute를 리턴한다. + * + * @return the rowNo + */ + public int getRowNo() { + return rowNo; + } + + /** + * rowNo attribute 값을 설정한다. + * + * @param rowNo + * the rowNo to set + */ + public void setRowNo(int rowNo) { + this.rowNo = rowNo; + } + + /** + * trgetId attribute를 리턴한다. + * + * @return the trgetId + */ + public String getTrgetId() { + return trgetId; + } + + /** + * trgetId attribute 값을 설정한다. + * + * @param trgetId + * the trgetId to set + */ + public void setTrgetId(String trgetId) { + this.trgetId = trgetId; + } + + /** + * useAt attribute를 리턴한다. + * + * @return the useAt + */ + public String getUseAt() { + return useAt; + } + + /** + * useAt attribute 값을 설정한다. + * + * @param useAt + * the useAt to set + */ + public void setUseAt(String useAt) { + this.useAt = useAt; + } + + /** + * cmmntyId attribute를 리턴한다. + * + * @return the cmmntyId + */ + public String getCmmntyId() { + return cmmntyId; + } + + /** + * cmmntyId attribute 값을 설정한다. + * + * @param cmmntyId + * the cmmntyId to set + */ + public void setCmmntyId(String cmmntyId) { + this.cmmntyId = cmmntyId; + } + + /** + * clubId attribute를 리턴한다. + * + * @return the clubId + */ + public String getClubId() { + return clubId; + } + + /** + * clubId attribute 값을 설정한다. + * + * @param clubId + * the clubId to set + */ + public void setClubId(String clubId) { + this.clubId = clubId; + } + + /** + * deletedAt attribute를 리턴한다. + * + * @return the deletedAt + */ + public String getDeletedAt() { + return deletedAt; + } + + /** + * deletedAt attribute 값을 설정한다. + * + * @param deletedAt + * the deletedAt to set + */ + public void setDeletedAt(String deletedAt) { + this.deletedAt = deletedAt; + } + + /** + * toString 메소드를 대치한다. + */ + @Override + public String toString() { + return ToStringBuilder.reflectionToString(this); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/com/service/UserInfVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/com/service/EgovUserInfManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/com/service/EgovUserInfManageService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/com/service/EgovUserInfManageService.java (revision 7) @@ -0,0 +1,86 @@ +package egovframework.com.cop.com.service; + +import java.util.List; +import java.util.Map; + +/** + * 협업 기능에서 사용자 정보를 관리하기 위한 서비스 인터페이스 클래스 + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.4.6 이삼섭 최초 생성 + * + * </pre> + */ +public interface EgovUserInfManageService { + + /** + * 사용자 정보에 대한 목록을 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + public Map<String, Object> selectUserList(UserInfVO userVO) throws Exception; + + /** + * 커뮤니티 사용자 목록을 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + public Map<String, Object> selectCmmntyUserList(UserInfVO userVO) throws Exception; + + /** + * 커뮤니티 관리자 목록을 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + public Map<String, Object> selectCmmntyMngrList(UserInfVO userVO) throws Exception; + + /** + * 동호회 사용자 목록을 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + public Map<String, Object> selectClubUserList(UserInfVO userVO) throws Exception; + + /** + * 동호회 운영자 목록을 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + public Map<String, Object> selectClubOprtrList(UserInfVO userVO) throws Exception; + + /** + * 동호회에 대한 모든 사용자 목록을 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + public List<UserInfVO> selectAllClubUser(UserInfVO userVO) throws Exception; + + /** + * 커뮤니티에 대한 모든 사용자 목록을 조회한다. + * + * @param userVO + * @return + * @throws Exception + */ + public List<UserInfVO> selectAllCmmntyUser(UserInfVO userVO) throws Exception; +} Property changes on: base3.10/src/main/java/egovframework/com/cop/com/service/EgovUserInfManageService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/web/EgovArticleManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/web/EgovArticleManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/web/EgovArticleManageController.java (revision 7) @@ -0,0 +1,629 @@ +package egovframework.com.cop.bbs.web; + +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.mvc.support.RedirectAttributes; +import org.springmodules.validation.commons.DefaultBeanValidator; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.service.EgovFileMngService; +import egovframework.com.cmm.service.EgovFileMngUtil; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.cmm.util.EgovXssChecker; +import egovframework.com.cop.bbs.service.Board; +import egovframework.com.cop.bbs.service.BoardMaster; +import egovframework.com.cop.bbs.service.BoardMasterVO; +import egovframework.com.cop.bbs.service.BoardVO; +import egovframework.com.cop.bbs.service.EgovArticleService; +import egovframework.com.cop.bbs.service.EgovBBSMasterService; +import egovframework.com.cop.cmt.service.EgovArticleCommentService; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.rte.fdl.cmmn.exception.EgovBizException; +import egovframework.rte.fdl.cmmn.exception.FdlException; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; +import froala.editor.file.FileOptions; +import froala.editor.image.ImageOptions; +import froala.editor.utils.CommonUtil; + +/** + * + * @since 2021. 5. 7. + * @author 임종호 + * <PRE> + * ----------------------- + * 개정이력 + * 2021. 5. 7. 임종호 : 최초작성 + * </PRE> + */ + +@Controller +public class EgovArticleManageController { +private static final Logger LOGGER = LoggerFactory.getLogger(EgovArticleManageController.class); + + @Resource(name = "EgovArticleService") + private EgovArticleService egovArticleService; + + @Resource(name = "EgovBBSMasterService") + private EgovBBSMasterService egovBBSMasterService; + + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileMngService; + + @Resource(name = "EgovFileMngUtil") + private EgovFileMngUtil fileUtil; + + @Resource(name = "propertiesService") + protected EgovPropertyService propertyService; + + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + @Resource(name = "EgovArticleCommentService") + protected EgovArticleCommentService egovArticleCommentService; + + @Autowired + private DefaultBeanValidator beanValidator; + + //protected Logger log = Logger.getLogger(this.getClass()); + + /** + * XSS 방지 처리. + * + * @param data + * @return + */ + protected String unscript(String data) { + if (data == null || data.trim().equals("")) { + return ""; + } + + String ret = data; + + ret = ret.replaceAll("<(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)", "&lt;script"); + ret = ret.replaceAll("</(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)", "&lt;/script"); + + ret = ret.replaceAll("<(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)", "&lt;object"); + ret = ret.replaceAll("</(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)", "&lt;/object"); + + ret = ret.replaceAll("<(A|a)(P|p)(P|p)(L|l)(E|e)(T|t)", "&lt;applet"); + ret = ret.replaceAll("</(A|a)(P|p)(P|p)(L|l)(E|e)(T|t)", "&lt;/applet"); + + ret = ret.replaceAll("<(E|e)(M|m)(B|b)(E|e)(D|d)", "&lt;embed"); + ret = ret.replaceAll("</(E|e)(M|m)(B|b)(E|e)(D|d)", "&lt;embed"); + + ret = ret.replaceAll("<(F|f)(O|o)(R|r)(M|m)", "&lt;form"); + ret = ret.replaceAll("</(F|f)(O|o)(R|r)(M|m)", "&lt;form"); + + return ret; + } + + /** + * 게시물에 대한 목록을 조회한다. + * + * @param boardVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/manage/{bbsId}/selectArticleList.do") + public String selectArticleList(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, @PathVariable String bbsId) throws Exception { + boardVO.setBbsId("BBSMSTR_".concat(bbsId)); + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); //KISA 보안취약점 조치 (2018-12-10, 이정은) + + if(!isAuthenticated) { + return EgovUserDetailsHelper.getLoginPage(); + } + + BoardMasterVO vo = new BoardMasterVO(); + + vo.setBbsId(boardVO.getBbsId()); + vo.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + BoardMasterVO master = egovBBSMasterService.selectBBSMasterInf(vo); + + boardVO.setPageUnit(propertyService.getInt("pageUnit")); + boardVO.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + + paginationInfo.setCurrentPageNo(boardVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(boardVO.getPageUnit()); + paginationInfo.setPageSize(boardVO.getPageSize()); + + boardVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + boardVO.setLastIndex(paginationInfo.getLastRecordIndex()); + boardVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + Map<String, Object> map = egovArticleService.selectArticleList(boardVO); + int totCnt = Integer.parseInt((String)map.get("resultCnt")); + + //공지사항 추출 + List<BoardVO> noticeList = egovArticleService.selectNoticeArticleList(boardVO); + + paginationInfo.setTotalRecordCount(totCnt); + + if(user != null) { + model.addAttribute("sessionUniqId", user.getUniqId()); + } + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", totCnt); + model.addAttribute("articleVO", boardVO); + model.addAttribute("boardMasterVO", master); + model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("noticeList", noticeList); + return ".adminLayout/게시물목록/com/cop/bbs/EgovArticleManageList"; + } + + + + /** + * 게시물에 대한 상세 정보를 조회한다. + * + * @param boardVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/manage/{bbsId}/selectArticleDetail.do") + public String selectArticleDetail(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, @PathVariable String bbsId, HttpServletRequest request) throws Exception { + boardVO.setBbsId("BBSMSTR_".concat(bbsId)); + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); //KISA 보안취약점 조치 (2018-12-10, 이정은) + + if(!isAuthenticated) { + return EgovUserDetailsHelper.getLoginPage(); + } + + boardVO.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + BoardVO vo = egovArticleService.selectArticleDetail(boardVO); + + // 에디터 내용 이미지, 파일다운로드 대응(contextpath) + vo.setNttCn(CommonUtil.convertEditorCn(vo.getNttCn(), request)); + + model.addAttribute("result", vo); + model.addAttribute("sessionUniqId", (user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + BoardMasterVO master = new BoardMasterVO(); + + master.setBbsId(boardVO.getBbsId()); + master.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + BoardMasterVO masterVo = egovBBSMasterService.selectBBSMasterInf(master); + + + //---------------------------- + // 2009.06.29 : 2단계 기능 추가 + // 2011.07.01 : 댓글, 만족도 조사 기능의 종속성 제거 + //---------------------------- + if (egovArticleCommentService != null){ + if (egovArticleCommentService.canUseComment(boardVO.getBbsId())) { + model.addAttribute("useComment", "true"); + } + } + ////-------------------------- + + // 에디터 내용 이미지, 파일다운로드 대응(contextpath) +// masterVo.setBbsForm(CommonUtil.convertEditorCn(masterVo.getBbsForm(), request)); + model.addAttribute("boardMasterVO", masterVo); + + return ".adminLayout/게시글상세/com/cop/bbs/EgovArticleManageDetail"; + } + + /** + * 게시물 등록을 위한 등록페이지로 이동한다. + * + * @param boardVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/manage/{bbsId}/insertArticleView.do") + public String insertArticleView(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, @PathVariable String bbsId + , HttpServletRequest request) throws Exception { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + BoardMasterVO bdMstr = new BoardMasterVO(); + if (isAuthenticated) { + boardVO.setBbsId("BBSMSTR_".concat(bbsId)); + + BoardMasterVO vo = new BoardMasterVO(); + vo.setBbsId(boardVO.getBbsId()); + vo.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + bdMstr = egovBBSMasterService.selectBBSMasterInf(vo); + } + + // 기본양식 지정 +// if(!StringUtils.isEmpty(bdMstr.getBbsForm())) { +// +// // 에디터 내용 이미지, 파일다운로드 대응(contextpath) +// boardVO.setNttCn(CommonUtil.convertEditorCn(bdMstr.getBbsForm(), request)); +// //boardVO.setNttCn(bdMstr.getBbsForm()); +// } + + model.addAttribute("articleVO", boardVO); + model.addAttribute("boardMasterVO", bdMstr); + + return ".adminLayout/게시글등록/com/cop/bbs/EgovArticleManageRegist"; + } + + /** + * 게시물을 등록한다. + * + * @param boardVO + * @param board + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/manage/{bbsId}/insertArticle.do") + public String insertArticle(@ModelAttribute("searchVO") BoardVO boardVO, @PathVariable String bbsId, + @ModelAttribute("bdMstr") BoardMaster bdMstr, @ModelAttribute("board") BoardVO board, BindingResult bindingResult, + ModelMap model) throws Exception { + + boardVO.setBbsId("BBSMSTR_".concat(bbsId)); + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { //KISA 보안취약점 조치 (2018-12-10, 이정은) + return EgovUserDetailsHelper.getLoginPage(); + } + + beanValidator.validate(board, bindingResult); + if (bindingResult.hasErrors()) { + + BoardMasterVO master = new BoardMasterVO(); + + master.setBbsId(boardVO.getBbsId()); + master.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + master = egovBBSMasterService.selectBBSMasterInf(master); + model.addAttribute("boardMasterVO", master); + + return ".adminLayout/게시글등록/com/cop/bbs/EgovArticleRegist"; + } + + if (isAuthenticated) { + board.setAtchFileId(boardVO.getAtchFileId()); + board.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + board.setBbsId(boardVO.getBbsId()); + board.setBlogId(boardVO.getBlogId()); + + + //익명등록 처리 + if(board.getAnonymousAt() != null && board.getAnonymousAt().equals("Y")){ + board.setNtcrId("anonymous"); //게시물 통계 집계를 위해 등록자 ID 저장 + board.setNtcrNm("익명"); //게시물 통계 집계를 위해 등록자 Name 저장 + board.setFrstRegisterId("anonymous"); + + } else { + board.setNtcrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); //게시물 통계 집계를 위해 등록자 ID 저장 + board.setNtcrNm((user == null || user.getName() == null) ? "" : user.getName()); //게시물 통계 집계를 위해 등록자 Name 저장 + + } + + board.setNttCn(unscript(board.getNttCn())); // XSS 방지 + egovArticleService.insertArticle(board); + } + return "redirect:/cop/bbs/manage/"+bbsId+"/selectArticleList.do?"+boardVO.searchParam(3); + } + + /** + * 엑셀 다운로드 + * @Author : 이다솜 + * @Date : 2021. 10. 6. + * @Method Name : selectCopBbsManageDownloadExcel + * @return : String + * @throws Exception + */ + @RequestMapping("/cop/bbs/manage/{bbsId}/downloadExcel.do") + public String selectCopBbsManageDownloadExcel(@PathVariable String bbsId, @ModelAttribute("searchVO") BoardVO boardVO + , Model model, HttpServletRequest request, RedirectAttributes attributes) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + BoardMasterVO vo = new BoardMasterVO(); + vo.setBbsId(boardVO.getBbsId()); + vo.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + BoardMasterVO master = egovBBSMasterService.selectBBSMasterInf(vo); + + model.addAttribute("fileName", master.getBbsNm() + " 정보현황"); +// model.addAttribute("excel", egovArticleService.selectCopBbsManageDownloadExcel(boardVO)); + + return "excelDownloadView"; + } + /** + * 게시물에 대한 답변 등록을 위한 등록페이지로 이동한다. + * + * @param boardVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/manage/{bbsId}/replyArticleView.do") + public String addReplyBoardArticle(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model, @PathVariable String bbsId) throws Exception { + boardVO.setBbsId("BBSMSTR_".concat(bbsId)); + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();//KISA 보안취약점 조치 (2018-12-10, 이정은) + + if(!isAuthenticated) { + return EgovUserDetailsHelper.getLoginPage(); + } + + BoardMasterVO master = new BoardMasterVO(); + BoardVO articleVO = new BoardVO(); + master.setBbsId("BBSMSTR_".concat(bbsId)); + master.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + master = egovBBSMasterService.selectBBSMasterInf(master); + boardVO = egovArticleService.selectArticleDetail(boardVO); + + // 기본양식 지정 +// if(!StringUtils.isEmpty(master.getBbsForm())) { +// boardVO.setNttCn(master.getBbsForm()); +// } + + model.addAttribute("boardMasterVO", master); + model.addAttribute("result", boardVO); + + model.addAttribute("articleVO", articleVO); + + return ".adminLayout/게시글답글/com/cop/bbs/EgovArticleManageReply"; + } + + /** + * 게시물에 대한 답변을 등록한다. + * + * @param boardVO + * @param board + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/manage/{bbsId}/replyArticle.do") + public String replyBoardArticle(@ModelAttribute("searchVO") BoardVO boardVO, + @ModelAttribute("bdMstr") BoardMaster bdMstr, @ModelAttribute("board") BoardVO board, BindingResult bindingResult, ModelMap model + , @PathVariable String bbsId) throws Exception { + boardVO.setBbsId("BBSMSTR_".concat(bbsId)); + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { //KISA 보안취약점 조치 (2018-12-10, 이정은) + return EgovUserDetailsHelper.getLoginPage(); + } + + beanValidator.validate(board, bindingResult); + if (bindingResult.hasErrors()) { + BoardMasterVO master = new BoardMasterVO(); + + master.setBbsId(boardVO.getBbsId()); + master.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + master = egovBBSMasterService.selectBBSMasterInf(master); + + + model.addAttribute("articleVO", boardVO); + model.addAttribute("boardMasterVO", master); + ////----------------------------- + + return ".adminLayout/게시글답글/com/cop/bbs/EgovArticleReply"; + } + + if (isAuthenticated) { + board.setAtchFileId(boardVO.getAtchFileId()); + board.setReplyAt("Y"); + board.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + board.setBbsId(board.getBbsId()); + board.setParnts(Long.toString(boardVO.getNttId())); + board.setSortOrdr(boardVO.getSortOrdr()); + board.setReplyLc(Integer.toString(Integer.parseInt(boardVO.getReplyLc()) + 1)); + + //익명등록 처리 + if(board.getAnonymousAt() != null && board.getAnonymousAt().equals("Y")){ + board.setNtcrId("anonymous"); //게시물 통계 집계를 위해 등록자 ID 저장 + board.setNtcrNm("익명"); //게시물 통계 집계를 위해 등록자 Name 저장 + board.setFrstRegisterId("anonymous"); + + } else { + board.setNtcrId((user == null || user.getId() == null) ? "" : user.getId()); //게시물 통계 집계를 위해 등록자 ID 저장 + board.setNtcrNm((user == null || user.getName() == null) ? "" : user.getName()); //게시물 통계 집계를 위해 등록자 Name 저장 + + } + board.setNttCn(unscript(board.getNttCn())); // XSS 방지 + + egovArticleService.insertArticle(board); + } + return "redirect:/cop/bbs/manage/"+bbsId+"/selectArticleList.do?"+boardVO.searchParam(3); + } + + /** + * 게시물 수정을 위한 수정페이지로 이동한다. + * + * @param boardVO + * @param vo + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/manage/{bbsId}/updateArticleView.do") + public String updateArticleView(@ModelAttribute("searchVO") BoardVO boardVO, @ModelAttribute("board") BoardVO vo, ModelMap model, @PathVariable String bbsId + , HttpServletRequest request ) + throws Exception { + boardVO.setBbsId("BBSMSTR_".concat(bbsId)); + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + boardVO.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + BoardMasterVO bmvo = new BoardMasterVO(); + BoardVO bdvo = new BoardVO(); + + vo.setBbsId(boardVO.getBbsId()); + + bmvo.setBbsId(boardVO.getBbsId()); + bmvo.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + if (isAuthenticated) { + bmvo = egovBBSMasterService.selectBBSMasterInf(bmvo); + bdvo = egovArticleService.selectArticleDetail(boardVO); + } + + //익명 등록글인 경우 수정 불가 + if(bdvo.getNtcrId().equals("anonymous")){ + model.addAttribute("result", bdvo); + model.addAttribute("boardMasterVO", bmvo); + return ".adminLayout/게시글상세/com/cop/bbs/EgovArticleDetail"; + } + + // 에디터 내용 이미지, 파일다운로드 대응(contextpath) + bdvo.setNttCn(CommonUtil.convertEditorCn(bdvo.getNttCn(), request)); +// bmvo.setBbsForm(CommonUtil.convertEditorCn(bmvo.getBbsForm(), request)); + + model.addAttribute("articleVO", bdvo); + model.addAttribute("boardMasterVO", bmvo); + + return ".adminLayout/게시글수정/com/cop/bbs/EgovArticleManageUpdt"; + + } + + /** + * 게시물에 대한 내용을 수정한다. + * + * @param boardVO + * @param board + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/manage/{bbsId}/updateArticle.do") + public String updateBoardArticle(HttpServletRequest request, @ModelAttribute("searchVO") BoardVO boardVO, + @ModelAttribute("bdMstr") BoardMaster bdMstr, @ModelAttribute("board") Board board, BindingResult bindingResult, ModelMap model, @PathVariable String bbsId) + throws Exception { + boardVO.setBbsId("BBSMSTR_".concat(bbsId)); + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { //KISA 보안취약점 조치 (2018-12-10, 이정은) + return EgovUserDetailsHelper.getLoginPage(); + } + + //-------------------------------------------------------------------------------------------- + // @ XSS 대응 권한체크 체크 START + // param1 : 사용자고유ID(uniqId,esntlId) + //-------------------------------------------------------- + LOGGER.debug("@ XSS 권한체크 START ----------------------------------------------"); + //step1 DB에서 해당 게시물의 uniqId 조회 + BoardVO vo = egovArticleService.selectArticleDetail(boardVO); + + //step2 EgovXssChecker 공통모듈을 이용한 권한체크 + EgovXssChecker.checkerUserXss(request, vo.getFrstRegisterId()); + LOGGER.debug("@ XSS 권한체크 END ------------------------------------------------"); + //-------------------------------------------------------- + // @ XSS 대응 권한체크 체크 END + //-------------------------------------------------------------------------------------------- + + beanValidator.validate(board, bindingResult); + if (bindingResult.hasErrors()) { + + boardVO.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + BoardMasterVO bmvo = new BoardMasterVO(); + BoardVO bdvo = new BoardVO(); + + bmvo.setBbsId(boardVO.getBbsId()); + bmvo.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + bmvo = egovBBSMasterService.selectBBSMasterInf(bmvo); + bdvo = egovArticleService.selectArticleDetail(boardVO); + + model.addAttribute("articleVO", bdvo); + model.addAttribute("boardMasterVO", bmvo); + + return ".adminLayout/게시글수정/com/cop/bbs/EgovArticleManageUpdt"; + } + + if (isAuthenticated) { + + board.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + board.setNtcrNm(""); // dummy 오류 수정 (익명이 아닌 경우 validator 처리를 위해 dummy로 지정됨) + board.setPassword(""); // dummy 오류 수정 (익명이 아닌 경우 validator 처리를 위해 dummy로 지정됨) + + board.setNttCn(unscript(board.getNttCn())); // XSS 방지 + + egovArticleService.updateArticle(board); + } + + return "redirect:/cop/bbs/manage/"+bbsId+"/selectArticleList.do?"+boardVO.searchParam(3); + } + + /** + * 게시물에 대한 내용을 삭제한다. + * + * @param boardVO + * @param board + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/manage/{bbsId}/deleteArticle.do") + public String deleteBoardArticle(HttpServletRequest request, @ModelAttribute("searchVO") BoardVO boardVO, @ModelAttribute("board") Board board, + @ModelAttribute("bdMstr") BoardMaster bdMstr, ModelMap model, @PathVariable String bbsId) throws Exception { + boardVO.setBbsId("BBSMSTR_".concat(bbsId)); + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + //-------------------------------------------------------------------------------------------- + // @ XSS 대응 권한체크 체크 START + // param1 : 사용자고유ID(uniqId,esntlId) + //-------------------------------------------------------- + LOGGER.debug("@ XSS 권한체크 START ----------------------------------------------"); + //step1 DB에서 해당 게시물의 uniqId 조회 + BoardVO vo = egovArticleService.selectArticleDetail(boardVO); + + //step2 EgovXssChecker 공통모듈을 이용한 권한체크 + EgovXssChecker.checkerUserXss(request, vo.getFrstRegisterId()); + LOGGER.debug("@ XSS 권한체크 END ------------------------------------------------"); + //-------------------------------------------------------- + // @ XSS 대응 권한체크 체크 END + //-------------------------------------------------------------------------------------------- + + BoardVO bdvo = egovArticleService.selectArticleDetail(boardVO); + //익명 등록글인 경우 수정 불가 + if(bdvo.getNtcrId().equals("anonymous")){ + model.addAttribute("result", bdvo); + model.addAttribute("boardMasterVO", bdMstr); + return ".adminLayout/게시물상세/com/cop/bbs/EgovArticleDetail"; + } + + if (isAuthenticated) { + board.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + egovArticleService.deleteArticle(board); + } + + return "redirect:/cop/bbs/manage/"+bbsId+"/selectArticleList.do?"+boardVO.searchParam(3); + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/web/EgovArticleManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/web/EgovArticleController.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/web/EgovArticleController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/web/EgovArticleController.java (revision 7) @@ -0,0 +1,1368 @@ +package egovframework.com.cop.bbs.web; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; +import org.springmodules.validation.commons.DefaultBeanValidator; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.EgovWebUtil; +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.service.EgovFileMngService; +import egovframework.com.cmm.service.EgovFileMngUtil; +import egovframework.com.cmm.service.FileVO; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.cmm.util.EgovXssChecker; +import egovframework.com.cop.bbs.service.BlogVO; +import egovframework.com.cop.bbs.service.Board; +import egovframework.com.cop.bbs.service.BoardMaster; +import egovframework.com.cop.bbs.service.BoardMasterVO; +import egovframework.com.cop.bbs.service.BoardVO; +import egovframework.com.cop.bbs.service.EgovArticleService; +import egovframework.com.cop.bbs.service.EgovBBSMasterService; +import egovframework.com.cop.cmt.service.CommentVO; +import egovframework.com.cop.cmt.service.EgovArticleCommentService; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +/** + * 게시물 관리를 위한 컨트롤러 클래스 + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ---------- ------- --------------------------- + * 2009.03.19 이삼섭 최초 생성 + * 2009.06.29 한성곤 2단계 기능 추가 (댓글관리, 만족도조사) + * 2011.07.01 안민정 댓글, 스크랩, 만족도 조사 기능의 종속성 제거 + * 2011.08.26 정진오 IncludedInfo annotation 추가 + * 2011.09.07 서준식 유효 게시판 게시일 지나도 게시물이 조회되던 오류 수정 + * 2016.06.13 김연호 표준프레임워크 3.6 개선 + * 2019.05.17 신용호 KISA 취약점 조치 및 보완 + * 2020.10.27 신용호 파일 업로드 수정 (multiRequest.getFiles) + * + * </pre> + */ + +@Controller +public class EgovArticleController { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovArticleController.class); + + @Resource(name = "EgovArticleService") + private EgovArticleService egovArticleService; + + @Resource(name = "EgovBBSMasterService") + private EgovBBSMasterService egovBBSMasterService; + + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileMngService; + + @Resource(name = "EgovFileMngUtil") + private EgovFileMngUtil fileUtil; + + @Resource(name = "propertiesService") + protected EgovPropertyService propertyService; + + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + @Resource(name = "EgovArticleCommentService") + protected EgovArticleCommentService egovArticleCommentService; + + @Autowired + private DefaultBeanValidator beanValidator; + + //protected Logger log = Logger.getLogger(this.getClass()); + + /** + * XSS 방지 처리. + * + * @param data + * @return + */ + protected String unscript(String data) { + if (data == null || data.trim().equals("")) { + return ""; + } + + String ret = data; + + ret = ret.replaceAll("<(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)", "&lt;script"); + ret = ret.replaceAll("</(S|s)(C|c)(R|r)(I|i)(P|p)(T|t)", "&lt;/script"); + + ret = ret.replaceAll("<(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)", "&lt;object"); + ret = ret.replaceAll("</(O|o)(B|b)(J|j)(E|e)(C|c)(T|t)", "&lt;/object"); + + ret = ret.replaceAll("<(A|a)(P|p)(P|p)(L|l)(E|e)(T|t)", "&lt;applet"); + ret = ret.replaceAll("</(A|a)(P|p)(P|p)(L|l)(E|e)(T|t)", "&lt;/applet"); + + ret = ret.replaceAll("<(E|e)(M|m)(B|b)(E|e)(D|d)", "&lt;embed"); + ret = ret.replaceAll("</(E|e)(M|m)(B|b)(E|e)(D|d)", "&lt;embed"); + + ret = ret.replaceAll("<(F|f)(O|o)(R|r)(M|m)", "&lt;form"); + ret = ret.replaceAll("</(F|f)(O|o)(R|r)(M|m)", "&lt;form"); + + return ret; + } + + /** + * 게시물에 대한 목록을 조회한다. + * + * @param boardVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/selectArticleList.do") + public String selectArticleList(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model) throws Exception { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); //KISA 보안취약점 조치 (2018-12-10, 이정은) + + if(!isAuthenticated) { + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + BoardMasterVO vo = new BoardMasterVO(); + + vo.setBbsId(boardVO.getBbsId()); + vo.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + BoardMasterVO master = egovBBSMasterService.selectBBSMasterInf(vo); + + //방명록은 방명록 게시판으로 이동 + if(master.getBbsTyCode().equals("BBST03")){ + return "forward:/cop/bbs/selectGuestArticleList.do"; + } + + + boardVO.setPageUnit(propertyService.getInt("pageUnit")); + boardVO.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + + paginationInfo.setCurrentPageNo(boardVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(boardVO.getPageUnit()); + paginationInfo.setPageSize(boardVO.getPageSize()); + + boardVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + boardVO.setLastIndex(paginationInfo.getLastRecordIndex()); + boardVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + Map<String, Object> map = egovArticleService.selectArticleList(boardVO); + int totCnt = Integer.parseInt((String)map.get("resultCnt")); + + //공지사항 추출 + List<BoardVO> noticeList = egovArticleService.selectNoticeArticleList(boardVO); + + paginationInfo.setTotalRecordCount(totCnt); + + //------------------------------- + // 기본 BBS template 지정 + //------------------------------- + if (master.getTmplatCours() == null || master.getTmplatCours().equals("")) { + master.setTmplatCours("/css/egovframework/com/cop/tpl/egovBaseTemplate.css"); + } + ////----------------------------- + + if(user != null) { + model.addAttribute("sessionUniqId", user.getUniqId()); + } + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", map.get("resultCnt")); + model.addAttribute("articleVO", boardVO); + model.addAttribute("boardMasterVO", master); + model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("noticeList", noticeList); + return "egovframework/com/cop/bbs/EgovArticleList"; + } + + + + /** + * 게시물에 대한 상세 정보를 조회한다. + * + * @param boardVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/selectArticleDetail.do") + public String selectArticleDetail(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model) throws Exception { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); //KISA 보안취약점 조치 (2018-12-10, 이정은) + + if(!isAuthenticated) { + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + + boardVO.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + BoardVO vo = egovArticleService.selectArticleDetail(boardVO); + + model.addAttribute("result", vo); + model.addAttribute("sessionUniqId", (user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + //비밀글은 작성자만 볼수 있음 + if(!EgovStringUtil.isEmpty(vo.getSecretAt()) && vo.getSecretAt().equals("Y") && !((user == null || user.getUniqId() == null) ? "" : user.getUniqId()).equals(vo.getFrstRegisterId())) + return"forward:/cop/bbs/selectArticleList.do"; + + //---------------------------- + // template 처리 (기본 BBS template 지정 포함) + //---------------------------- + BoardMasterVO master = new BoardMasterVO(); + + master.setBbsId(boardVO.getBbsId()); + master.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + BoardMasterVO masterVo = egovBBSMasterService.selectBBSMasterInf(master); + + if (masterVo.getTmplatCours() == null || masterVo.getTmplatCours().equals("")) { + masterVo.setTmplatCours("/css/egovframework/com/cop/tpl/egovBaseTemplate.css"); + } + + ////----------------------------- + + //---------------------------- + // 2009.06.29 : 2단계 기능 추가 + // 2011.07.01 : 댓글, 만족도 조사 기능의 종속성 제거 + //---------------------------- + if (egovArticleCommentService != null){ + if (egovArticleCommentService.canUseComment(boardVO.getBbsId())) { + model.addAttribute("useComment", "true"); + } + } + ////-------------------------- + + model.addAttribute("boardMasterVO", masterVo); + + return "egovframework/com/cop/bbs/EgovArticleDetail"; + } + + /** + * 게시물 등록을 위한 등록페이지로 이동한다. + * + * @param boardVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/insertArticleView.do") + public String insertArticleView(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model) throws Exception { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + BoardMasterVO bdMstr = new BoardMasterVO(); + BoardVO board = new BoardVO(); + if (isAuthenticated) { + + BoardMasterVO vo = new BoardMasterVO(); + vo.setBbsId(boardVO.getBbsId()); + vo.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + bdMstr = egovBBSMasterService.selectBBSMasterInf(vo); + } + + //---------------------------- + // 기본 BBS template 지정 + //---------------------------- + if (bdMstr.getTmplatCours() == null || bdMstr.getTmplatCours().equals("")) { + bdMstr.setTmplatCours("/css/egovframework/com/cop/tpl/egovBaseTemplate.css"); + } + + model.addAttribute("articleVO", boardVO); + model.addAttribute("boardMasterVO", bdMstr); + ////----------------------------- + + return "egovframework/com/cop/bbs/EgovArticleRegist"; + } + + /** + * 게시물을 등록한다. + * + * @param boardVO + * @param board + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/insertArticle.do") + public String insertArticle(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BoardVO boardVO, + @ModelAttribute("bdMstr") BoardMaster bdMstr, @ModelAttribute("board") BoardVO board, BindingResult bindingResult, + ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { //KISA 보안취약점 조치 (2018-12-10, 이정은) + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + beanValidator.validate(board, bindingResult); + if (bindingResult.hasErrors()) { + + BoardMasterVO master = new BoardMasterVO(); + + master.setBbsId(boardVO.getBbsId()); + master.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + master = egovBBSMasterService.selectBBSMasterInf(master); + + + //---------------------------- + // 기본 BBS template 지정 + //---------------------------- + if (master.getTmplatCours() == null || master.getTmplatCours().equals("")) { + master.setTmplatCours("css/egovframework/com/cop/tpl/egovBaseTemplate.css"); + } + + model.addAttribute("boardMasterVO", master); + ////----------------------------- + + return "egovframework/com/cop/bbs/EgovArticleRegist"; + } + + if (isAuthenticated) { + List<FileVO> result = null; + String atchFileId = ""; + + //final Map<String, MultipartFile> files = multiRequest.getFileMap(); + final List<MultipartFile> files = multiRequest.getFiles("file_1"); + if (!files.isEmpty()) { + result = fileUtil.parseFileInf(files, "BBS_", 0, "", ""); + atchFileId = fileMngService.insertFileInfs(result); + } + board.setAtchFileId(atchFileId); + board.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + board.setBbsId(boardVO.getBbsId()); + board.setBlogId(boardVO.getBlogId()); + + + //익명등록 처리 + if(board.getAnonymousAt() != null && board.getAnonymousAt().equals("Y")){ + board.setNtcrId("anonymous"); //게시물 통계 집계를 위해 등록자 ID 저장 + board.setNtcrNm("익명"); //게시물 통계 집계를 위해 등록자 Name 저장 + board.setFrstRegisterId("anonymous"); + + } else { + board.setNtcrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); //게시물 통계 집계를 위해 등록자 ID 저장 + board.setNtcrNm((user == null || user.getName() == null) ? "" : user.getName()); //게시물 통계 집계를 위해 등록자 Name 저장 + + } + + board.setNttCn(unscript(board.getNttCn())); // XSS 방지 + egovArticleService.insertArticle(board); + } + //status.setComplete(); + if(boardVO.getBlogAt().equals("Y")){ + return "forward:/cop/bbs/selectArticleBlogList.do"; + }else{ + return "forward:/cop/bbs/selectArticleList.do"; + } + + } + + /** + * 게시물에 대한 답변 등록을 위한 등록페이지로 이동한다. + * + * @param boardVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/replyArticleView.do") + public String addReplyBoardArticle(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model) throws Exception { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();//KISA 보안취약점 조치 (2018-12-10, 이정은) + + if(!isAuthenticated) { + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + BoardMasterVO master = new BoardMasterVO(); + BoardVO articleVO = new BoardVO(); + master.setBbsId(boardVO.getBbsId()); + master.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + master = egovBBSMasterService.selectBBSMasterInf(master); + boardVO = egovArticleService.selectArticleDetail(boardVO); + + //---------------------------- + // 기본 BBS template 지정 + //---------------------------- + if (master.getTmplatCours() == null || master.getTmplatCours().equals("")) { + master.setTmplatCours("/css/egovframework/com/cop/tpl/egovBaseTemplate.css"); + } + + model.addAttribute("boardMasterVO", master); + model.addAttribute("result", boardVO); + + model.addAttribute("articleVO", articleVO); + + if(boardVO.getBlogAt().equals("chkBlog")){ + return "egovframework/com/cop/bbs/EgovArticleBlogReply"; + }else{ + return "egovframework/com/cop/bbs/EgovArticleReply"; + } + } + + /** + * 게시물에 대한 답변을 등록한다. + * + * @param boardVO + * @param board + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/replyArticle.do") + public String replyBoardArticle(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BoardVO boardVO, + @ModelAttribute("bdMstr") BoardMaster bdMstr, @ModelAttribute("board") BoardVO board, BindingResult bindingResult, ModelMap model + ) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { //KISA 보안취약점 조치 (2018-12-10, 이정은) + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + beanValidator.validate(board, bindingResult); + if (bindingResult.hasErrors()) { + BoardMasterVO master = new BoardMasterVO(); + + master.setBbsId(boardVO.getBbsId()); + master.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + master = egovBBSMasterService.selectBBSMasterInf(master); + + + //---------------------------- + // 기본 BBS template 지정 + //---------------------------- + if (master.getTmplatCours() == null || master.getTmplatCours().equals("")) { + master.setTmplatCours("/css/egovframework/com/cop/tpl/egovBaseTemplate.css"); + } + + model.addAttribute("articleVO", boardVO); + model.addAttribute("boardMasterVO", master); + ////----------------------------- + + return "egovframework/com/cop/bbs/EgovArticleReply"; + } + + if (isAuthenticated) { + //final Map<String, MultipartFile> files = multiRequest.getFileMap(); + final List<MultipartFile> files = multiRequest.getFiles("file_1"); + String atchFileId = ""; + + if (!files.isEmpty()) { + List<FileVO> result = fileUtil.parseFileInf(files, "BBS_", 0, "", ""); + atchFileId = fileMngService.insertFileInfs(result); + } + + board.setAtchFileId(atchFileId); + board.setReplyAt("Y"); + board.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + board.setBbsId(board.getBbsId()); + board.setParnts(Long.toString(boardVO.getNttId())); + board.setSortOrdr(boardVO.getSortOrdr()); + board.setReplyLc(Integer.toString(Integer.parseInt(boardVO.getReplyLc()) + 1)); + + //익명등록 처리 + if(board.getAnonymousAt() != null && board.getAnonymousAt().equals("Y")){ + board.setNtcrId("anonymous"); //게시물 통계 집계를 위해 등록자 ID 저장 + board.setNtcrNm("익명"); //게시물 통계 집계를 위해 등록자 Name 저장 + board.setFrstRegisterId("anonymous"); + + } else { + board.setNtcrId((user == null || user.getId() == null) ? "" : user.getId()); //게시물 통계 집계를 위해 등록자 ID 저장 + board.setNtcrNm((user == null || user.getName() == null) ? "" : user.getName()); //게시물 통계 집계를 위해 등록자 Name 저장 + + } + board.setNttCn(unscript(board.getNttCn())); // XSS 방지 + + egovArticleService.insertArticle(board); + } + + return "forward:/cop/bbs/selectArticleList.do"; + } + + /** + * 게시물 수정을 위한 수정페이지로 이동한다. + * + * @param boardVO + * @param vo + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/updateArticleView.do") + public String updateArticleView(@ModelAttribute("searchVO") BoardVO boardVO, @ModelAttribute("board") BoardVO vo, ModelMap model) + throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + boardVO.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + BoardMasterVO bmvo = new BoardMasterVO(); + BoardVO bdvo = new BoardVO(); + + vo.setBbsId(boardVO.getBbsId()); + + bmvo.setBbsId(boardVO.getBbsId()); + bmvo.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + if (isAuthenticated) { + bmvo = egovBBSMasterService.selectBBSMasterInf(bmvo); + bdvo = egovArticleService.selectArticleDetail(boardVO); + } + + //---------------------------- + // 기본 BBS template 지정 + //---------------------------- + if (bmvo.getTmplatCours() == null || bmvo.getTmplatCours().equals("")) { + bmvo.setTmplatCours("/css/egovframework/com/cop/tpl/egovBaseTemplate.css"); + } + + //익명 등록글인 경우 수정 불가 + if(bdvo.getNtcrId().equals("anonymous")){ + model.addAttribute("result", bdvo); + model.addAttribute("boardMasterVO", bmvo); + return "egovframework/com/cop/bbs/EgovArticleDetail"; + } + + model.addAttribute("articleVO", bdvo); + model.addAttribute("boardMasterVO", bmvo); + + if(boardVO.getBlogAt().equals("chkBlog")){ + return "egovframework/com/cop/bbs/EgovArticleBlogUpdt"; + }else{ + return "egovframework/com/cop/bbs/EgovArticleUpdt"; + } + + } + + /** + * 게시물에 대한 내용을 수정한다. + * + * @param boardVO + * @param board + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/updateArticle.do") + public String updateBoardArticle(final MultipartHttpServletRequest multiRequest, @ModelAttribute("searchVO") BoardVO boardVO, + @ModelAttribute("bdMstr") BoardMaster bdMstr, @ModelAttribute("board") Board board, BindingResult bindingResult, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { //KISA 보안취약점 조치 (2018-12-10, 이정은) + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + //-------------------------------------------------------------------------------------------- + // @ XSS 대응 권한체크 체크 START + // param1 : 사용자고유ID(uniqId,esntlId) + //-------------------------------------------------------- + LOGGER.debug("@ XSS 권한체크 START ----------------------------------------------"); + //step1 DB에서 해당 게시물의 uniqId 조회 + BoardVO vo = egovArticleService.selectArticleDetail(boardVO); + + //step2 EgovXssChecker 공통모듈을 이용한 권한체크 + EgovXssChecker.checkerUserXss(multiRequest, vo.getFrstRegisterId()); + LOGGER.debug("@ XSS 권한체크 END ------------------------------------------------"); + //-------------------------------------------------------- + // @ XSS 대응 권한체크 체크 END + //-------------------------------------------------------------------------------------------- + + String atchFileId = boardVO.getAtchFileId(); + + beanValidator.validate(board, bindingResult); + if (bindingResult.hasErrors()) { + + boardVO.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + BoardMasterVO bmvo = new BoardMasterVO(); + BoardVO bdvo = new BoardVO(); + + bmvo.setBbsId(boardVO.getBbsId()); + bmvo.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + bmvo = egovBBSMasterService.selectBBSMasterInf(bmvo); + bdvo = egovArticleService.selectArticleDetail(boardVO); + + model.addAttribute("articleVO", bdvo); + model.addAttribute("boardMasterVO", bmvo); + + return "egovframework/com/cop/bbs/EgovArticleUpdt"; + } + + if (isAuthenticated) { + + //final Map<String, MultipartFile> files = multiRequest.getFileMap(); + final List<MultipartFile> files = multiRequest.getFiles("file_1"); + if (!files.isEmpty()) { + if (atchFileId == null || "".equals(atchFileId)) { + List<FileVO> result = fileUtil.parseFileInf(files, "BBS_", 0, atchFileId, ""); + atchFileId = fileMngService.insertFileInfs(result); + board.setAtchFileId(atchFileId); + } else { + FileVO fvo = new FileVO(); + fvo.setAtchFileId(atchFileId); + int cnt = fileMngService.getMaxFileSN(fvo); + List<FileVO> _result = fileUtil.parseFileInf(files, "BBS_", cnt, atchFileId, ""); + fileMngService.updateFileInfs(_result); + } + } + + board.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + board.setNtcrNm(""); // dummy 오류 수정 (익명이 아닌 경우 validator 처리를 위해 dummy로 지정됨) + board.setPassword(""); // dummy 오류 수정 (익명이 아닌 경우 validator 처리를 위해 dummy로 지정됨) + + board.setNttCn(unscript(board.getNttCn())); // XSS 방지 + + egovArticleService.updateArticle(board); + } + + return "forward:/cop/bbs/selectArticleList.do"; + } + + /** + * 게시물에 대한 내용을 삭제한다. + * + * @param boardVO + * @param board + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/deleteArticle.do") + public String deleteBoardArticle(HttpServletRequest request, @ModelAttribute("searchVO") BoardVO boardVO, @ModelAttribute("board") Board board, + @ModelAttribute("bdMstr") BoardMaster bdMstr, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + //-------------------------------------------------------------------------------------------- + // @ XSS 대응 권한체크 체크 START + // param1 : 사용자고유ID(uniqId,esntlId) + //-------------------------------------------------------- + LOGGER.debug("@ XSS 권한체크 START ----------------------------------------------"); + //step1 DB에서 해당 게시물의 uniqId 조회 + BoardVO vo = egovArticleService.selectArticleDetail(boardVO); + + //step2 EgovXssChecker 공통모듈을 이용한 권한체크 + EgovXssChecker.checkerUserXss(request, vo.getFrstRegisterId()); + LOGGER.debug("@ XSS 권한체크 END ------------------------------------------------"); + //-------------------------------------------------------- + // @ XSS 대응 권한체크 체크 END + //-------------------------------------------------------------------------------------------- + + BoardVO bdvo = egovArticleService.selectArticleDetail(boardVO); + //익명 등록글인 경우 수정 불가 + if(bdvo.getNtcrId().equals("anonymous")){ + model.addAttribute("result", bdvo); + model.addAttribute("boardMasterVO", bdMstr); + return "egovframework/com/cop/bbs/EgovArticleDetail"; + } + + if (isAuthenticated) { + board.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + egovArticleService.deleteArticle(board); + } + + if(boardVO.getBlogAt().equals("chkBlog")){ + return "forward:/cop/bbs/selectArticleBlogList.do"; + }else{ + return "forward:/cop/bbs/selectArticleList.do"; + } + } + + /** + * 방명록에 대한 목록을 조회한다. + * + * @param boardVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/selectGuestArticleList.do") + public String selectGuestArticleList(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { //KISA 보안취약점 조치 (2018-12-10, 이정은) + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + // 수정 및 삭제 기능 제어를 위한 처리 + model.addAttribute("sessionUniqId", (user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + BoardVO vo = new BoardVO(); + + vo.setBbsId(boardVO.getBbsId()); + vo.setBbsNm(boardVO.getBbsNm()); + vo.setNtcrNm((user == null || user.getName() == null) ? "" : user.getName()); + vo.setNtcrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + BoardMasterVO masterVo = new BoardMasterVO(); + + masterVo.setBbsId(vo.getBbsId()); + masterVo.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + BoardMasterVO mstrVO = egovBBSMasterService.selectBBSMasterInf(masterVo); + + vo.setPageIndex(boardVO.getPageIndex()); + vo.setPageUnit(propertyService.getInt("pageUnit")); + vo.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(vo.getPageIndex()); + paginationInfo.setRecordCountPerPage(vo.getPageUnit()); + paginationInfo.setPageSize(vo.getPageSize()); + + vo.setFirstIndex(paginationInfo.getFirstRecordIndex()); + vo.setLastIndex(paginationInfo.getLastRecordIndex()); + vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + Map<String, Object> map = egovArticleService.selectGuestArticleList(vo); + int totCnt = Integer.parseInt((String)map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("user", user); + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", map.get("resultCnt")); + model.addAttribute("boardMasterVO", mstrVO); + model.addAttribute("articleVO", vo); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/cop/bbs/EgovGuestArticleList"; + } + + + /** + * 방명록에 대한 내용을 등록한다. + * + * @param boardVO + * @param board + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/insertGuestArticle.do") + public String insertGuestList(@ModelAttribute("searchVO") BoardVO boardVO, @ModelAttribute("Board") Board board, BindingResult bindingResult, + ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { //KISA 보안취약점 조치 (2018-12-10, 이정은) + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + beanValidator.validate(board, bindingResult); + if (bindingResult.hasErrors()) { + + BoardVO vo = new BoardVO(); + + vo.setBbsId(boardVO.getBbsId()); + vo.setBbsNm(boardVO.getBbsNm()); + vo.setNtcrNm(user == null ? "" : EgovStringUtil.isNullToString(user.getName())); + vo.setNtcrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + BoardMasterVO masterVo = new BoardMasterVO(); + + masterVo.setBbsId(vo.getBbsId()); + masterVo.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + BoardMasterVO mstrVO = egovBBSMasterService.selectBBSMasterInf(masterVo); + + vo.setPageUnit(propertyService.getInt("pageUnit")); + vo.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(vo.getPageIndex()); + paginationInfo.setRecordCountPerPage(vo.getPageUnit()); + paginationInfo.setPageSize(vo.getPageSize()); + + vo.setFirstIndex(paginationInfo.getFirstRecordIndex()); + vo.setLastIndex(paginationInfo.getLastRecordIndex()); + vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + Map<String, Object> map = egovArticleService.selectGuestArticleList(vo); + int totCnt = Integer.parseInt((String)map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", map.get("resultCnt")); + model.addAttribute("boardMasterVO", mstrVO); + model.addAttribute("articleVO", vo); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/cop/bbs/EgovGuestArticleList"; + + } + + if (isAuthenticated) { + board.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + egovArticleService.insertArticle(board); + + boardVO.setNttCn(""); + boardVO.setPassword(""); + boardVO.setNtcrId(""); + boardVO.setNttId(0); + } + + return "forward:/cop/bbs/selectGuestArticleList.do"; + } + + /** + * 방명록에 대한 내용을 삭제한다. + * + * @param boardVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/deleteGuestArticle.do") + public String deleteGuestList(@ModelAttribute("searchVO") BoardVO boardVO, @ModelAttribute("articleVO") Board board, ModelMap model) throws Exception { + @SuppressWarnings("unused") + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if (isAuthenticated) { + egovArticleService.deleteArticle(boardVO); + } + + return "forward:/cop/bbs/selectGuestArticleList.do"; + } + + /** + * 방명록 수정을 위한 특정 내용을 조회한다. + * + * @param boardVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/updateGuestArticleView.do") + public String updateGuestArticleView(@ModelAttribute("searchVO") BoardVO boardVO, @ModelAttribute("boardMasterVO") BoardMasterVO brdMstrVO, + ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { //KISA 보안취약점 조치 (2018-12-10, 이정은) + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + // 수정 및 삭제 기능 제어를 위한 처리 + model.addAttribute("sessionUniqId", (user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + BoardVO vo = egovArticleService.selectArticleDetail(boardVO); + + boardVO.setBbsId(boardVO.getBbsId()); + boardVO.setBbsNm(boardVO.getBbsNm()); + boardVO.setNtcrNm((user == null || user.getName() == null) ? "" : user.getName()); + + boardVO.setPageUnit(propertyService.getInt("pageUnit")); + boardVO.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(boardVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(boardVO.getPageUnit()); + paginationInfo.setPageSize(boardVO.getPageSize()); + + boardVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + boardVO.setLastIndex(paginationInfo.getLastRecordIndex()); + boardVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + Map<String, Object> map = egovArticleService.selectGuestArticleList(boardVO); + int totCnt = Integer.parseInt((String)map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", map.get("resultCnt")); + model.addAttribute("articleVO", vo); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/cop/bbs/EgovGuestArticleList"; + } + + /** + * 방명록을 수정하고 게시판 메인페이지를 조회한다. + * + * @param boardVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/updateGuestArticle.do") + public String updateGuestArticle(@ModelAttribute("searchVO") BoardVO boardVO, @ModelAttribute Board board, BindingResult bindingResult, + ModelMap model) throws Exception { + + //BBST02, BBST04 + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { //KISA 보안취약점 조치 (2018-12-10, 이정은) + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + beanValidator.validate(board, bindingResult); + if (bindingResult.hasErrors()) { + + BoardVO vo = new BoardVO(); + + vo.setBbsId(boardVO.getBbsId()); + vo.setBbsNm(boardVO.getBbsNm()); + vo.setNtcrNm((user == null || user.getName() == null) ? "" : user.getName()); + vo.setNtcrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + BoardMasterVO masterVo = new BoardMasterVO(); + + masterVo.setBbsId(vo.getBbsId()); + masterVo.setUniqId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + BoardMasterVO mstrVO = egovBBSMasterService.selectBBSMasterInf(masterVo); + + vo.setPageUnit(propertyService.getInt("pageUnit")); + vo.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(vo.getPageIndex()); + paginationInfo.setRecordCountPerPage(vo.getPageUnit()); + paginationInfo.setPageSize(vo.getPageSize()); + + vo.setFirstIndex(paginationInfo.getFirstRecordIndex()); + vo.setLastIndex(paginationInfo.getLastRecordIndex()); + vo.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + Map<String, Object> map = egovArticleService.selectGuestArticleList(vo); + int totCnt = Integer.parseInt((String)map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", map.get("resultCnt")); + model.addAttribute("boardMasterVO", mstrVO); + model.addAttribute("articleVO", vo); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/cop/bbs/EgovGuestArticleList"; + } + + if (isAuthenticated) { + egovArticleService.updateArticle(board); + boardVO.setNttCn(""); + boardVO.setPassword(""); + boardVO.setNtcrId(""); + boardVO.setNttId(0); + } + + return "forward:/cop/bbs/selectGuestArticleList.do"; + } + + /********************* + * 블로그관련 + * ********************/ + + /** + * 블로그 게시판에 대한 목록을 조회한다. + * + * @param boardVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/selectArticleBlogList.do") + public String selectArticleBlogList(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); //KISA 보안취약점 조치 (2018-12-10, 이정은) + + if(!isAuthenticated) { + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + BlogVO blogVo = new BlogVO(); + blogVo.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + blogVo.setBbsId(boardVO.getBbsId()); + blogVo.setBlogId(boardVO.getBlogId()); + BlogVO master = egovBBSMasterService.selectBlogDetail(blogVo); + + boardVO.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + //블로그 카테고리관리 권한(로그인 한 사용자만 가능) + int loginUserCnt = egovArticleService.selectLoginUser(boardVO); + + //블로그 게시판 제목 추출 + List<BoardVO> blogNameList = egovArticleService.selectBlogNmList(boardVO); + + if(user != null) { + model.addAttribute("sessionUniqId", (user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + } + + model.addAttribute("articleVO", boardVO); + model.addAttribute("boardMasterVO", master); + model.addAttribute("blogNameList", blogNameList); + model.addAttribute("loginUserCnt", loginUserCnt); + + return "egovframework/com/cop/bbs/EgovArticleBlogList"; + } + + /** + * 블로그 게시물에 대한 상세 타이틀을 조회한다. + * + * @param boardVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/selectArticleBlogDetail.do") + public ModelAndView selectArticleBlogDetail(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model) throws Exception { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); //KISA 보안취약점 조치 (2018-12-10, 이정은) + + if(!isAuthenticated) { + throw new IllegalAccessException("Login Required!"); + } + + BoardVO vo = new BoardVO(); + + boardVO.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + boardVO.setPageUnit(propertyService.getInt("pageUnit")); + boardVO.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + + paginationInfo.setCurrentPageNo(boardVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(boardVO.getPageUnit()); + paginationInfo.setPageSize(boardVO.getPageSize()); + + boardVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + boardVO.setLastIndex(paginationInfo.getLastRecordIndex()); + boardVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List<BoardVO> blogSubJectList = egovArticleService.selectArticleDetailDefault(boardVO); + vo = egovArticleService.selectArticleCnOne(boardVO); + + int totCnt = egovArticleService.selectArticleDetailDefaultCnt(boardVO); + paginationInfo.setTotalRecordCount(totCnt); + + ModelAndView mav = new ModelAndView("jsonView"); + mav.addObject("blogSubJectList", blogSubJectList); + mav.addObject("paginationInfo", paginationInfo); + + if(vo.getNttCn() != null){ + mav.addObject("blogCnOne", vo); + } + + //비밀글은 작성자만 볼수 있음 + if(!EgovStringUtil.isEmpty(vo.getSecretAt()) && vo.getSecretAt().equals("Y") && !((user == null || user.getUniqId() == null) ? "" : user.getUniqId()).equals(vo.getFrstRegisterId())) + mav.setViewName("forward:/cop/bbs/selectArticleList.do"); + return mav; + } + + /** + * 블로그 게시물에 대한 상세 내용을 조회한다. + * + * @param boardVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/selectArticleBlogDetailCn.do") + public ModelAndView selectArticleBlogDetailCn(@ModelAttribute("searchVO") BoardVO boardVO, @ModelAttribute("commentVO") CommentVO commentVO, ModelMap model) throws Exception { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + boardVO.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); //KISA 보안취약점 조치 (2018-12-10, 이정은) + + if(!isAuthenticated) { + throw new IllegalAccessException("Login Required!"); + } + + BoardVO vo = egovArticleService.selectArticleDetail(boardVO); + + //---------------------------- + // 댓글 처리 + //---------------------------- + CommentVO articleCommentVO = new CommentVO(); + commentVO.setWrterNm((user == null || user.getName() == null) ? "" : user.getName()); + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(commentVO.getSubPageIndex()); + paginationInfo.setRecordCountPerPage(commentVO.getSubPageUnit()); + paginationInfo.setPageSize(commentVO.getSubPageSize()); + + commentVO.setSubFirstIndex(paginationInfo.getFirstRecordIndex()); + commentVO.setSubLastIndex(paginationInfo.getLastRecordIndex()); + commentVO.setSubRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + Map<String, Object> map = egovArticleCommentService.selectArticleCommentList(commentVO); + int totCnt = Integer.parseInt((String)map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + + //댓글 처리 END + //---------------------------- + + List<BoardVO> blogCnList = egovArticleService.selectArticleDetailCn(boardVO); + ModelAndView mav = new ModelAndView("jsonView"); + + // 수정 처리된 후 댓글 등록 화면으로 처리되기 위한 구현 + if (commentVO.isModified()) { + commentVO.setCommentNo(""); + commentVO.setCommentCn(""); + } + + // 수정을 위한 처리 + if (!commentVO.getCommentNo().equals("")) { + mav.setViewName ("forward:/cop/cmt/updateArticleCommentView.do"); + } + + mav.addObject("blogCnList", blogCnList); + mav.addObject("resultUnder", vo); + mav.addObject("paginationInfo", paginationInfo); + mav.addObject("resultList", map.get("resultList")); + mav.addObject("resultCnt", map.get("resultCnt")); + mav.addObject("articleCommentVO", articleCommentVO); // validator 용도 + + commentVO.setCommentCn(""); // 등록 후 댓글 내용 처리 + + //비밀글은 작성자만 볼수 있음 + if(!EgovStringUtil.isEmpty(vo.getSecretAt()) && vo.getSecretAt().equals("Y") && !((user == null || user.getUniqId() == null) ? "" : user.getUniqId()).equals(vo.getFrstRegisterId())) + mav.setViewName("forward:/cop/bbs/selectArticleList.do"); + return mav; + + } + + /** + * 개인블로그 관리 + * + * @param boardVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/selectBlogListManager.do") + public String selectBlogMasterList(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + + boardVO.setPageUnit(propertyService.getInt("pageUnit")); + boardVO.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + + paginationInfo.setCurrentPageNo(boardVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(boardVO.getPageUnit()); + paginationInfo.setPageSize(boardVO.getPageSize()); + + boardVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + boardVO.setLastIndex(paginationInfo.getLastRecordIndex()); + boardVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + boardVO.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + Map<String, Object> map = egovArticleService.selectBlogListManager(boardVO); + int totCnt = Integer.parseInt((String)map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", map.get("resultCnt")); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/cop/bbs/EgovBlogListManager"; + } + + /** + * 템플릿에 대한 미리보기용 게시물 목록을 조회한다. + * + * @param boardVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/previewBoardList.do") + public String previewBoardArticles(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model) throws Exception { + //LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + String template = boardVO.getSearchWrd(); // 템플릿 URL + + BoardMasterVO master = new BoardMasterVO(); + + master.setBbsNm("미리보기 게시판"); + + boardVO.setPageUnit(propertyService.getInt("pageUnit")); + boardVO.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + + paginationInfo.setCurrentPageNo(boardVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(boardVO.getPageUnit()); + paginationInfo.setPageSize(boardVO.getPageSize()); + + boardVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + boardVO.setLastIndex(paginationInfo.getLastRecordIndex()); + boardVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + BoardVO target = null; + List<BoardVO> list = new ArrayList<BoardVO>(); + + target = new BoardVO(); + target.setNttSj("게시판 기능 설명"); + target.setFrstRegisterId("ID"); + target.setFrstRegisterNm("관리자"); + target.setFrstRegisterPnttm("2019-01-01"); + target.setInqireCo(7); + target.setParnts("0"); + target.setReplyAt("N"); + target.setReplyLc("0"); + target.setUseAt("Y"); + + list.add(target); + + target = new BoardVO(); + target.setNttSj("게시판 부가 기능 설명"); + target.setFrstRegisterId("ID"); + target.setFrstRegisterNm("관리자"); + target.setFrstRegisterPnttm("2019-01-01"); + target.setInqireCo(7); + target.setParnts("0"); + target.setReplyAt("N"); + target.setReplyLc("0"); + target.setUseAt("Y"); + + list.add(target); + + boardVO.setSearchWrd(""); + + int totCnt = list.size(); + + //공지사항 추출 + List<BoardVO> noticeList = egovArticleService.selectNoticeArticleList(boardVO); + + paginationInfo.setTotalRecordCount(totCnt); + + master.setTmplatCours(template); + + model.addAttribute("resultList", list); + model.addAttribute("resultCnt", Integer.toString(totCnt)); + model.addAttribute("articleVO", boardVO); + model.addAttribute("boardMasterVO", master); + model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("noticeList", noticeList); + + model.addAttribute("preview", "true"); + + return "egovframework/com/cop/bbs/EgovArticleList"; + } + + /** + * 미리보기 커뮤니티 메인페이지를 조회한다. + * + * @param cmmntyVO + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/previewBlogMainPage.do") + public String previewBlogMainPage(@ModelAttribute("searchVO") BoardVO boardVO, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); //KISA 보안취약점 조치 (2018-12-10, 이정은) + + String tmplatCours = boardVO.getSearchWrd(); + + BlogVO master = new BlogVO(); + master.setBlogNm("미리보기 블로그"); + master.setBlogIntrcn("미리보기를 위한 블로그입니다."); + master.setUseAt("Y"); + master.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + boardVO.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + + //블로그 카테고리관리 권한(로그인 한 사용자만 가능) + int loginUserCnt = egovArticleService.selectLoginUser(boardVO); + + //블로그 게시판 제목 추출 + List<BoardVO> blogNameList = new ArrayList<BoardVO>(); + + BoardVO target = null; + target = new BoardVO(); + target.setBbsNm("블로그게시판#1"); + + blogNameList.add(target); + + + if(user != null) { + model.addAttribute("sessionUniqId", user.getUniqId()); + } + + model.addAttribute("articleVO", boardVO); + model.addAttribute("boardMasterVO", master); + model.addAttribute("blogNameList", blogNameList); + model.addAttribute("loginUserCnt", 1); + + model.addAttribute("preview", "true"); + + return "egovframework/com/cmm/egovError"; + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/web/EgovArticleController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/web/EgovBBSMasterController.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/web/EgovBBSMasterController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/web/EgovBBSMasterController.java (revision 7) @@ -0,0 +1,509 @@ +package egovframework.com.cop.bbs.web; + +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.servlet.ModelAndView; +import org.springmodules.validation.commons.DefaultBeanValidator; + +import egovframework.com.cmm.ComDefaultCodeVO; +import egovframework.com.cmm.EgovComponentChecker; +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.service.EgovCmmUseService; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.cop.bbs.service.Blog; +import egovframework.com.cop.bbs.service.BlogUserVO; +import egovframework.com.cop.bbs.service.BlogVO; +import egovframework.com.cop.bbs.service.BoardMaster; +import egovframework.com.cop.bbs.service.BoardMasterVO; +import egovframework.com.cop.bbs.service.EgovBBSMasterService; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + + +/** + * 게시판 속성관리를 위한 컨트롤러 클래스 + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.3.12 이삼섭 최초 생성 + * 2009.06.26 한성곤 2단계 기능 추가 (댓글관리, 만족도조사) + * 2011.07.21 안민정 커뮤니티 관련 메소드 분리 (->EgovBBSAttributeManageController) + * 2011.8.26 정진오 IncludedInfo annotation 추가 + * 2011.09.15 서준식 2단계 기능 추가 (댓글관리, 만족도조사) 적용방법 변경 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * </pre> + */ + +@Controller +public class EgovBBSMasterController { + + @Resource(name = "EgovBBSMasterService") + private EgovBBSMasterService egovBBSMasterService; + + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService cmmUseService; + + @Resource(name = "propertiesService") + protected EgovPropertyService propertyService; + + @Resource(name = "egovBBSMstrIdGnrService") + private EgovIdGnrService idgenServiceBbs; + + @Resource(name = "egovBlogIdGnrService") + private EgovIdGnrService idgenServiceBlog; + + /** EgovMessageSource */ + @Resource(name = "egovMessageSource") + EgovMessageSource egovMessageSource; + + + + @Autowired + private DefaultBeanValidator beanValidator; + + //Logger log = Logger.getLogger(this.getClass()); + + /** + * 신규 게시판 마스터 등록을 위한 등록페이지로 이동한다. + * + * @param boardMasterVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/insertBBSMasterView.do") + public String insertBBSMasterView(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, ModelMap model) throws Exception { + BoardMasterVO boardMaster = new BoardMasterVO(); + //공통코드(게시판유형) + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + vo.setCodeId("COM101"); + List<?> codeResult = cmmUseService.selectCmmCodeDetail(vo); + model.addAttribute("bbsTyCode", codeResult); + model.addAttribute("boardMasterVO", boardMaster); + + + //--------------------------------- + // 2011.09.15 : 2단계 기능 추가 반영 방법 변경 + //--------------------------------- + + + if(EgovComponentChecker.hasComponent("EgovArticleCommentService")){ + model.addAttribute("useComment", "true"); + } + + return "egovframework/com/cop/bbs/EgovBBSMasterRegist"; + } + + /** + * 신규 게시판 마스터 정보를 등록한다. + * + * @param boardMasterVO + * @param boardMaster + * @param status + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/insertBBSMaster.do") + public String insertBBSMaster(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMaster boardMaster, + BindingResult bindingResult, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + beanValidator.validate(boardMaster, bindingResult); + if (bindingResult.hasErrors()) { + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + + //게시판유형코드 + vo.setCodeId("COM101"); + List<?> codeResult = cmmUseService.selectCmmCodeDetail(vo); + model.addAttribute("bbsTyCode", codeResult); + + return "egovframework/com/cop/bbs/EgovBBSMasterRegist"; + } + + if (isAuthenticated) { + boardMaster.setFrstRegisterId(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + if((boardMasterVO == null ? "" : EgovStringUtil.isNullToString(boardMasterVO.getBlogAt())).equals("Y")){ + boardMaster.setBlogAt("Y"); + }else{ + boardMaster.setBlogAt("N"); + } + egovBBSMasterService.insertBBSMasterInf(boardMaster); + } + if(boardMaster.getBlogAt().equals("Y")){ + return "forward:/cop/bbs/selectArticleBlogList.do"; + }else{ + return "forward:/cop/bbs/selectBBSMasterInfs.do"; + } + + } + + /** + * 게시판 마스터 목록을 조회한다. + * + * @param boardMasterVO + * @param model + * @return + * @throws Exception + */ + @IncludedInfo(name="게시판관리",order = 180 ,gid = 40) + @RequestMapping("/cop/bbs/selectBBSMasterInfs.do") + public String selectBBSMasterInfs(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, ModelMap model) throws Exception { + boardMasterVO.setPageUnit(propertyService.getInt("pageUnit")); + boardMasterVO.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + + paginationInfo.setCurrentPageNo(boardMasterVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(boardMasterVO.getPageUnit()); + paginationInfo.setPageSize(boardMasterVO.getPageSize()); + + boardMasterVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + boardMasterVO.setLastIndex(paginationInfo.getLastRecordIndex()); + boardMasterVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + Map<String, Object> map = egovBBSMasterService.selectBBSMasterInfs(boardMasterVO); + int totCnt = Integer.parseInt((String)map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", map.get("resultCnt")); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/cop/bbs/EgovBBSMasterList"; + } + + /** + * 블로그에 대한 목록을 조회한다. + * + * @param blogVO + * @param model + * @return + * @throws Exception + */ + @IncludedInfo(name="블로그관리", order = 170 ,gid = 40) + @RequestMapping("/cop/bbs/selectBlogList.do") + public String selectBlogMasterList(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + //KISA 보안취약점 조치 (2018-12-10, 신용호) + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + boardMasterVO.setPageUnit(propertyService.getInt("pageUnit")); + boardMasterVO.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + + paginationInfo.setCurrentPageNo(boardMasterVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(boardMasterVO.getPageUnit()); + paginationInfo.setPageSize(boardMasterVO.getPageSize()); + + boardMasterVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + boardMasterVO.setLastIndex(paginationInfo.getLastRecordIndex()); + boardMasterVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + boardMasterVO.setFrstRegisterId(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + + Map<String, Object> map = egovBBSMasterService.selectBlogMasterInfs(boardMasterVO); + int totCnt = Integer.parseInt((String)map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", map.get("resultCnt")); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/cop/bbs/EgovBlogList"; + } + + /** + * 블로그 등록을 위한 등록페이지로 이동한다. + * + * @param blogVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/insertBlogMasterView.do") + public String insertBlogMasterView(@ModelAttribute("searchVO") BlogVO blogVO, ModelMap model) throws Exception { + model.addAttribute("blogMasterVO", new BlogVO()); + return "egovframework/com/cop/bbs/EgovBlogRegist"; + } + + /** + * 블로그 생성 유무를 판단한다. + * + * @param blogVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/selectChkBloguser.do") + public ModelAndView chkBlogUser(@ModelAttribute("searchVO") BlogVO blogVO, ModelMap model) throws Exception { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + // KISA 보안취약점 조치 (2018-12-10, 신용호) + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { + throw new IllegalAccessException("Login Required!"); + } + + model.addAttribute("blogMasterVO", new BlogVO()); + + String userVal=""; + blogVO.setFrstRegisterId(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + userVal = egovBBSMasterService.checkBlogUser(blogVO); + + ModelAndView mav = new ModelAndView("jsonView"); + mav.addObject("userChk", userVal); + return mav; + } + + /** + * 블로그 정보를 등록한다. + * + * @param blogVO + * @param blog + * @param status + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/insertBlogMaster.do") + public String insertBlogMaster(@ModelAttribute("searchVO") BlogVO blogVO, @ModelAttribute("blogMaster") Blog blog, + BindingResult bindingResult, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { //KISA 보안약점 조치 (2018-12-10, 신용호) + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + blogVO.setFrstRegisterId(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + BlogVO vo = egovBBSMasterService.checkBlogUser2(blogVO); + + if(vo != null) { + model.addAttribute("blogMasterVO", new BlogVO()); + model.addAttribute("message", egovMessageSource.getMessage("comCopBlog.validate.blogUserCheck")); + return "egovframework/com/cop/bbs/EgovBlogRegist"; + } + + beanValidator.validate(blog, bindingResult); + + if (bindingResult.hasErrors()) { + return "egovframework/com/cop/bbs/EgovBlogRegist"; + } + + String blogId = idgenServiceBlog.getNextStringId(); //블로그 아이디 채번 + String bbsId = idgenServiceBbs.getNextStringId(); //게시판 아이디 채번 + + blog.setRegistSeCode("REGC02"); + blog.setFrstRegisterId(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + blog.setBbsId(bbsId); + blog.setBlogId(blogId); + blog.setBlogAt("Y"); + egovBBSMasterService.insertBlogMaster(blog); + + if (isAuthenticated) { + //블로그 개설자의 정보를 등록한다. + BlogUserVO blogUserVO = new BlogUserVO(); + blogUserVO.setBlogId(blogId); + blogUserVO.setEmplyrId(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + blogUserVO.setMngrAt("Y"); + blogUserVO.setMberSttus("P"); + blogUserVO.setUseAt("Y"); + blogUserVO.setFrstRegisterId(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + + egovBBSMasterService.insertBoardBlogUserRqst(blogUserVO); + } + return "forward:/cop/bbs/selectBlogList.do"; + } + + /** + * 게시판 마스터 상세내용을 조회한다. + * + * @param boardMasterVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/selectBBSMasterDetail.do") + public String selectBBSMasterDetail(@ModelAttribute("searchVO") BoardMasterVO searchVO, ModelMap model) throws Exception { + BoardMasterVO vo = egovBBSMasterService.selectBBSMasterInf(searchVO); + model.addAttribute("result", vo); + + //--------------------------------- + // 2011.09.15 : 2단계 기능 추가 반영 방법 변경 + //--------------------------------- + + if(EgovComponentChecker.hasComponent("EgovArticleCommentService")){ + model.addAttribute("useComment", "true"); + } + + return "egovframework/com/cop/bbs/EgovBBSMasterDetail"; + } + + /** + * 게시판 마스터정보를 수정하기 위한 전 처리 + * @param bbsId + * @param searchVO + * @param model + * @throws Exception + */ + @RequestMapping("/cop/bbs/updateBBSMasterView.do") + public String updateBBSMasterView(@RequestParam("bbsId") String bbsId , + @ModelAttribute("searchVO") BoardMaster searchVO, ModelMap model) + throws Exception { + + + BoardMasterVO boardMasterVO = new BoardMasterVO(); + + + //게시판유형코드 + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + vo.setCodeId("COM101"); + List<?> codeResult = cmmUseService.selectCmmCodeDetail(vo); + model.addAttribute("bbsTyCode", codeResult); + + // Primary Key 값 세팅 + boardMasterVO.setBbsId(bbsId); + + model.addAttribute("boardMasterVO", egovBBSMasterService.selectBBSMasterInf(boardMasterVO)); + + //--------------------------------- + // 2011.09.15 : 2단계 기능 추가 반영 방법 변경 + //--------------------------------- + + if(EgovComponentChecker.hasComponent("EgovArticleCommentService")){ + model.addAttribute("useComment", "true"); + } + + return "egovframework/com/cop/bbs/EgovBBSMasterUpdt"; + } + + + /** + * 게시판 마스터 정보를 수정한다. + * + * @param boardMasterVO + * @param boardMaster + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/updateBBSMaster.do") + public String updateBBSMaster(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMaster boardMaster, + BindingResult bindingResult, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + beanValidator.validate(boardMaster, bindingResult); + if (bindingResult.hasErrors()) { + BoardMasterVO vo = egovBBSMasterService.selectBBSMasterInf(boardMasterVO); + + model.addAttribute("result", vo); + + ComDefaultCodeVO comVo = new ComDefaultCodeVO(); + comVo.setCodeId("COM101"); + List<?> codeResult = cmmUseService.selectCmmCodeDetail(comVo); + model.addAttribute("bbsTyCode", codeResult); + + return "egovframework/com/cop/bbs/EgovBBSMasterUpdt"; + } + + if (isAuthenticated) { + boardMaster.setLastUpdusrId(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + egovBBSMasterService.updateBBSMasterInf(boardMaster); + } + + return "forward:/cop/bbs/selectBBSMasterInfs.do"; + } + + /** + * 게시판 마스터 정보를 삭제한다. + * + * @param boardMasterVO + * @param boardMaster + * @param status + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/deleteBBSMaster.do") + public String deleteBBSMaster(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, @ModelAttribute("boardMaster") BoardMaster boardMaster + ) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if (isAuthenticated) { + boardMaster.setLastUpdusrId(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + egovBBSMasterService.deleteBBSMasterInf(boardMaster); + } + // status.setComplete(); + return "forward:/cop/bbs/selectBBSMasterInfs.do"; + } + + /** + * 포트릿을 위한 블로그 목록 정보를 조회한다. + * + * @param blogVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/selectBlogListPortlet.do") + public String selectBlogListPortlet(@ModelAttribute("searchVO") BlogVO blogVO, ModelMap model) throws Exception { + List<BlogVO> result = egovBBSMasterService.selectBlogListPortlet(blogVO); + + model.addAttribute("resultList", result); + + return "egovframework/com/cop/bbs/EgovBlogListPortlet"; + } + + /** + * 포트릿을 위한 게시판 목록 정보를 조회한다. + * + * @param blogVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/bbs/selectBBSListPortlet.do") + public String selectBBSListPortlet(@ModelAttribute("searchVO") BoardMasterVO boardMasterVO, ModelMap model) throws Exception { + List<BoardMasterVO> result = egovBBSMasterService.selectBBSListPortlet(boardMasterVO); + + model.addAttribute("resultList", result); + + return "egovframework/com/cop/bbs/EgovBBSListPortlet"; + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/web/EgovBBSMasterController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSMasterServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSMasterServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSMasterServiceImpl.java (revision 7) @@ -0,0 +1,173 @@ +package egovframework.com.cop.bbs.service.impl; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import egovframework.com.cop.bbs.service.BoardMaster; +import egovframework.com.cop.bbs.service.BoardMasterVO; +import egovframework.com.cop.bbs.service.EgovBBSMasterService; +import egovframework.com.cmm.EgovComponentChecker; +import egovframework.com.cop.bbs.service.Blog; +import egovframework.com.cop.bbs.service.BlogUser; +import egovframework.com.cop.bbs.service.BlogVO; +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.cmmn.exception.FdlException; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; + +@Service("EgovBBSMasterService") +public class EgovBBSMasterServiceImpl extends EgovAbstractServiceImpl implements EgovBBSMasterService { + + @Resource(name = "EgovBBSMasterDAO") + private EgovBBSMasterDAO egovBBSMasterDao; + + @Resource(name = "egovBBSMstrIdGnrService") + private EgovIdGnrService idgenService; + + //--------------------------------- + // 2009.06.26 : 2단계 기능 추가 + //--------------------------------- + @Resource(name = "BBSAddedOptionsDAO") + private BBSAddedOptionsDAO addedOptionsDAO; + ////------------------------------- + + @Override + public Map<String, Object> selectNotUsedBdMstrList(BoardMasterVO boardMasterVO) { + // TODO Auto-generated method stub + return null; + } + + @Override + public void deleteBBSMasterInf(BoardMaster boardMaster) { + egovBBSMasterDao.deleteBBSMaster(boardMaster); + } + + @Override + public void updateBBSMasterInf(BoardMaster boardMaster) throws Exception { + egovBBSMasterDao.updateBBSMaster(boardMaster); + + //--------------------------------- + // 2009.06.26 : 2단계 기능 추가 + //--------------------------------- + if (boardMaster.getOption().equals("comment") || boardMaster.getOption().equals("stsfdg")) { + addedOptionsDAO.insertAddedOptionsInf(boardMaster); + } + + } + + @Override + public BoardMasterVO selectBBSMasterInf(BoardMasterVO boardMasterVO) throws Exception { + BoardMasterVO resultVO = egovBBSMasterDao.selectBBSMasterDetail(boardMasterVO); + if (resultVO == null) + throw processException("info.nodata.msg"); + + if(EgovComponentChecker.hasComponent("EgovBBSCommentService")){//2011.09.15 + BoardMasterVO options = addedOptionsDAO.selectAddedOptionsInf(boardMasterVO); + + if (options != null) { + if (options.getCommentAt().equals("Y")) { + resultVO.setOption("comment"); + } + } else { + resultVO.setOption("na"); // 미지정 상태로 수정 가능 (이미 지정된 경우는 수정 불가로 처리) + } + } + + return resultVO; + } + + @Override + public Map<String, Object> selectBBSMasterInfs(BoardMasterVO boardMasterVO) { + List<?> result = egovBBSMasterDao.selectBBSMasterInfs(boardMasterVO); + int cnt = egovBBSMasterDao.selectBBSMasterInfsCnt(boardMasterVO); + + Map<String, Object> map = new HashMap<String, Object>(); + + map.put("resultList", result); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + } + + @Override + public Map<String, Object> selectBlogMasterInfs(BoardMasterVO boardMasterVO) { + List<?> result = egovBBSMasterDao.selectBlogMasterInfs(boardMasterVO); + int cnt = egovBBSMasterDao.selectBlogMasterInfsCnt(boardMasterVO); + + Map<String, Object> map = new HashMap<String, Object>(); + + map.put("resultList", result); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + } + + @Override + public void insertBBSMasterInf(BoardMaster boardMaster) throws Exception { + + //게시판 ID 채번 + String bbsId = idgenService.getNextStringId(); + boardMaster.setBbsId(bbsId); + + egovBBSMasterDao.insertBBSMasterInf(boardMaster); + + //--------------------------------- + // 2009.06.26 : 2단계 기능 추가 + //--------------------------------- + if (boardMaster.getOption().equals("comment") || boardMaster.getOption().equals("stsfdg")) { + addedOptionsDAO.insertAddedOptionsInf(boardMaster); + } + + } + + @Override + public String checkBlogUser(BlogVO blogVO) { + + int userCnt = egovBBSMasterDao.checkExistUser(blogVO); + + if (userCnt == 0) { + return ""; + } else { + return "EXIST"; + } + } + + @Override + public BlogVO checkBlogUser2(BlogVO blogVO) { + BlogVO userBlog = egovBBSMasterDao.checkExistUser2(blogVO); + return userBlog; + } + + @Override + public void insertBoardBlogUserRqst(BlogUser blogUser) { + egovBBSMasterDao.insertBoardBlogUserRqst(blogUser); + } + + @Override + public void insertBlogMaster(Blog blog) throws FdlException { + egovBBSMasterDao.insertBlogMaster(blog); + } + + @Override + public BlogVO selectBlogDetail(BlogVO blogVO) throws Exception { + BlogVO resultVO = egovBBSMasterDao.selectBlogDetail(blogVO); + if (resultVO == null) + throw processException("info.nodata.msg"); + return resultVO; + } + + @Override + public List<BlogVO> selectBlogListPortlet(BlogVO blogVO) throws Exception{ + return egovBBSMasterDao.selectBlogListPortlet(blogVO); + } + + @Override + public List<BoardMasterVO> selectBBSListPortlet(BoardMasterVO boardMasterVO) throws Exception { + return egovBBSMasterDao.selectBBSListPortlet(boardMasterVO); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSMasterServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovArticleServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovArticleServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovArticleServiceImpl.java (revision 7) @@ -0,0 +1,166 @@ +package egovframework.com.cop.bbs.service.impl; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import egovframework.com.cmm.service.EgovFileMngService; +import egovframework.com.cmm.service.FileVO; +import egovframework.com.cop.bbs.service.Board; +import egovframework.com.cop.bbs.service.BoardVO; +import egovframework.com.cop.bbs.service.EgovArticleService; +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.cmmn.exception.FdlException; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.fdl.property.EgovPropertyService; + +@Service("EgovArticleService") +public class EgovArticleServiceImpl extends EgovAbstractServiceImpl implements EgovArticleService { + + @Resource(name = "EgovArticleDAO") + private EgovArticleDAO egovArticleDao; + + @Resource(name = "EgovFileMngService") + private EgovFileMngService fileService; + + @Resource(name = "propertiesService") + protected EgovPropertyService propertyService; + + @Resource(name = "egovNttIdGnrService") + private EgovIdGnrService nttIdgenService; + + @Override + public Map<String, Object> selectArticleList(BoardVO boardVO) { + List<?> list = egovArticleDao.selectArticleList(boardVO); + + + int cnt = egovArticleDao.selectArticleListCnt(boardVO); + + Map<String, Object> map = new HashMap<String, Object>(); + + map.put("resultList", list); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + } + + @Override + public BoardVO selectArticleDetail(BoardVO boardVO) { + int iniqireCo = egovArticleDao.selectMaxInqireCo(boardVO); + + boardVO.setInqireCo(iniqireCo); + egovArticleDao.updateInqireCo(boardVO); + + return egovArticleDao.selectArticleDetail(boardVO); + } + + @Override + public BoardVO selectArticleCnOne(BoardVO boardVO) { + return egovArticleDao.selectArticleCnOne(boardVO); + } + + @Override + public List<BoardVO> selectArticleDetailDefault(BoardVO boardVO) { + return egovArticleDao.selectArticleDetailDefault(boardVO); + } + + @Override + public int selectArticleDetailDefaultCnt(BoardVO boardVO){ + return egovArticleDao.selectArticleDetailDefaultCnt(boardVO); + } + + @Override + public List<BoardVO> selectArticleDetailCn(BoardVO boardVO) { + return egovArticleDao.selectArticleDetailCn(boardVO); + } + + @Override + public void insertArticle(Board board) throws FdlException { + + if ("Y".equals(board.getReplyAt())) { + // 답글인 경우 1. Parnts를 세팅, 2.Parnts의 sortOrdr을 현재글의 sortOrdr로 가져오도록, 3.nttNo는 현재 게시판의 순서대로 + // replyLc는 부모글의 ReplyLc + 1 + + board.setNttId(nttIdgenService.getNextIntegerId()); // 답글에 대한 nttId 생성 + egovArticleDao.replyArticle(board); + + } else { + // 답글이 아닌경우 Parnts = 0, replyLc는 = 0, sortOrdr = nttNo(Query에서 처리) + board.setParnts("0"); + board.setReplyLc("0"); + board.setReplyAt("N"); + board.setNttId(nttIdgenService.getNextIntegerId());//2011.09.22 + + egovArticleDao.insertArticle(board); + } + } + + @Override + public void updateArticle(Board board) { + egovArticleDao.updateArticle(board); + } + + @Override + public void deleteArticle(Board board) throws Exception { + FileVO fvo = new FileVO(); + + fvo.setAtchFileId(board.getAtchFileId()); + + board.setNttSj("이 글은 작성자에 의해서 삭제되었습니다."); + + egovArticleDao.deleteArticle(board); + + if (!"".equals(fvo.getAtchFileId()) || fvo.getAtchFileId() != null) { + fileService.deleteAllFileInf(fvo); + } + + } + + @Override + public List<BoardVO> selectNoticeArticleList(BoardVO boardVO) { + return egovArticleDao.selectNoticeArticleList(boardVO); + } + + @Override + public List<BoardVO> selectBlogNmList(BoardVO boardVO) { + return egovArticleDao.selectBlogNmList(boardVO); + } + + @Override + public Map<String, Object> selectGuestArticleList(BoardVO vo) { + List<?> list = egovArticleDao.selectGuestArticleList(vo); + + + int cnt = egovArticleDao.selectGuestArticleListCnt(vo); + + Map<String, Object> map = new HashMap<String, Object>(); + + map.put("resultList", list); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + } + + @Override + public int selectLoginUser(BoardVO boardVO){ + return egovArticleDao.selectLoginUser(boardVO); + } + + @Override + public Map<String, Object> selectBlogListManager(BoardVO vo) { + List<?> result = egovArticleDao.selectBlogListManager(vo); + int cnt = egovArticleDao.selectBlogListManagerCnt(vo); + + Map<String, Object> map = new HashMap<String, Object>(); + + map.put("resultList", result); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovArticleServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSMasterDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSMasterDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSMasterDAO.java (revision 7) @@ -0,0 +1,79 @@ +package egovframework.com.cop.bbs.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Repository; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.cop.bbs.service.BoardMaster; +import egovframework.com.cop.bbs.service.BoardMasterVO; +import egovframework.com.cop.bbs.service.BlogVO; +import egovframework.com.cop.bbs.service.Blog; +import egovframework.com.cop.bbs.service.BlogUser; + +@Repository("EgovBBSMasterDAO") +public class EgovBBSMasterDAO extends EgovComAbstractDAO { + + public List<?> selectBBSMasterInfs(BoardMasterVO boardMasterVO) { + return list("BBSMaster.selectBBSMasterList", boardMasterVO); + } + + public int selectBBSMasterInfsCnt(BoardMasterVO boardMasterVO) { + return (Integer)selectOne("BBSMaster.selectBBSMasterListTotCnt", boardMasterVO); + } + + public BoardMasterVO selectBBSMasterDetail(BoardMasterVO boardMasterVO) { + return (BoardMasterVO) selectOne("BBSMaster.selectBBSMasterDetail", boardMasterVO); + } + + public void insertBBSMasterInf(BoardMaster boardMaster) { + insert("BBSMaster.insertBBSMaster", boardMaster); + } + + public void updateBBSMaster(BoardMaster boardMaster) { + update("BBSMaster.updateBBSMaster", boardMaster); + } + + public void deleteBBSMaster(BoardMaster boardMaster) { + update("BBSMaster.deleteBBSMaster", boardMaster); + } + + /* + * 블로그 관련 + */ + public List<?> selectBlogMasterInfs(BoardMasterVO boardMasterVO) { + return list("BBSMaster.selectBlogMasterList", boardMasterVO); + } + + public int selectBlogMasterInfsCnt(BoardMasterVO boardMasterVO) { + return (Integer)selectOne("BBSMaster.selectBlogMasterListTotCnt", boardMasterVO); + } + + public int checkExistUser(BlogVO blogVO) { + return (Integer)selectOne("BBSMaster.checkExistUser", blogVO); + } + + public BlogVO checkExistUser2(BlogVO blogVO) { + return (BlogVO) selectOne("BBSMaster.checkExistUser2", blogVO); + } + + public void insertBoardBlogUserRqst(BlogUser blogUser) { + insert("BBSMaster.insertBoardBlogUserRqst", blogUser); + } + + public void insertBlogMaster(Blog blog) { + insert("BBSMaster.insertBlogMaster", blog); + } + + public BlogVO selectBlogDetail(BlogVO blogVO) { + return (BlogVO) selectOne("BBSMaster.selectBlogDetail", blogVO); + } + + public List<BlogVO> selectBlogListPortlet(BlogVO blogVO) throws Exception{ + return (List<BlogVO>) list("BBSMaster.selectBlogListPortlet", blogVO); + } + + public List<BoardMasterVO> selectBBSListPortlet(BoardMasterVO boardMasterVO) { + return (List<BoardMasterVO>) list("BBSMaster.selectBBSListPortlet", boardMasterVO); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovBBSMasterDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovArticleDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovArticleDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovArticleDAO.java (revision 7) @@ -0,0 +1,100 @@ +package egovframework.com.cop.bbs.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Repository; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.cop.bbs.service.Board; +import egovframework.com.cop.bbs.service.BoardMasterVO; +import egovframework.com.cop.bbs.service.BoardVO; + +@Repository("EgovArticleDAO") +public class EgovArticleDAO extends EgovComAbstractDAO { + + public List<?> selectArticleList(BoardVO boardVO) { + return list("BBSArticle.selectArticleList", boardVO); + } + + public int selectArticleListCnt(BoardVO boardVO) { + return (Integer)selectOne("BBSArticle.selectArticleListCnt", boardVO); + } + + public int selectMaxInqireCo(BoardVO boardVO) { + return (Integer)selectOne("BBSArticle.selectMaxInqireCo", boardVO); + } + + public void updateInqireCo(BoardVO boardVO) { + update("BBSArticle.updateInqireCo", boardVO); + } + + public BoardVO selectArticleDetail(BoardVO boardVO) { + return (BoardVO) selectOne("BBSArticle.selectArticleDetail", boardVO); + } + + public void replyArticle(Board board) { + insert("BBSArticle.replyArticle", board); + } + + public void insertArticle(Board board) { + insert("BBSArticle.insertArticle", board); + } + + public void updateArticle(Board board) { + update("BBSArticle.updateArticle", board); + } + + public void deleteArticle(Board board) { + update("BBSArticle.deleteArticle", board); + + } + + public List<BoardVO> selectNoticeArticleList(BoardVO boardVO) { + return (List<BoardVO>) list("BBSArticle.selectNoticeArticleList", boardVO); + } + + public List<?> selectGuestArticleList(BoardVO vo) { + return list("BBSArticle.selectGuestArticleList", vo); + } + + public int selectGuestArticleListCnt(BoardVO vo) { + return (Integer)selectOne("BBSArticle.selectGuestArticleListCnt", vo); + } + + /* + * 블로그 관련 + */ + public BoardVO selectArticleCnOne(BoardVO boardVO) { + return (BoardVO) selectOne("BBSArticle.selectArticleCnOne", boardVO); + } + + public List<BoardVO> selectBlogNmList(BoardVO boardVO) { + return (List<BoardVO>) list("BBSArticle.selectBlogNmList", boardVO); + } + + public List<?> selectBlogListManager(BoardVO vo) { + return list("BBSArticle.selectBlogListManager", vo); + } + + public int selectBlogListManagerCnt(BoardVO vo) { + return (Integer)selectOne("BBSArticle.selectBlogListManagerCnt", vo); + } + + public List<BoardVO> selectArticleDetailDefault(BoardVO boardVO) { + return (List<BoardVO>) list("BBSArticle.selectArticleDetailDefault", boardVO); + } + + public int selectArticleDetailDefaultCnt(BoardVO boardVO) { + return (Integer)selectOne("BBSArticle.selectArticleDetailDefaultCnt", boardVO); + } + + public List<BoardVO> selectArticleDetailCn(BoardVO boardVO) { + return (List<BoardVO>) list("BBSArticle.selectArticleDetailCn", boardVO); + } + + public int selectLoginUser(BoardVO boardVO) { + return (Integer)selectOne("BBSArticle.selectLoginUser", boardVO); + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/EgovArticleDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/BBSAddedOptionsDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/BBSAddedOptionsDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/BBSAddedOptionsDAO.java (revision 7) @@ -0,0 +1,54 @@ +package egovframework.com.cop.bbs.service.impl; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.cop.bbs.service.BoardMaster; +import egovframework.com.cop.bbs.service.BoardMasterVO; + +import org.springframework.stereotype.Repository; + +/** + * 2단계 기능 추가 (댓글관리, 만족도조사) 관리를 위한 데이터 접근 클래스 + * @author 공통컴포넌트개발팀 한성곤 + * @since 2009.06.26 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.06.26 한성곤 최초 생성 + * + * </pre> + */ +@Repository("BBSAddedOptionsDAO") +public class BBSAddedOptionsDAO extends EgovComAbstractDAO { + + /** + * 신규 게시판 추가기능 정보를 등록한다. + * + * @param BoardMaster + */ + public String insertAddedOptionsInf(BoardMaster boardMaster) throws Exception { + return Integer.toString(insert("BBSAddedOptions.insertAddedOptionsInf", boardMaster)); + } + + /** + * 게시판 추가기능 정보 한 건을 상세조회 한다. + * + * @param BoardMasterVO + */ + public BoardMasterVO selectAddedOptionsInf(BoardMaster vo) throws Exception { + return (BoardMasterVO)selectOne("BBSAddedOptions.selectAddedOptionsInf", vo); + } + + /** + * 게시판 추가기능 정보를 수정한다. + * + * @param BoardMaster + */ + public void updateAddedOptionsInf(BoardMaster boardMaster) throws Exception { + update("BBSAddedOptions.updateAddedOptionsInf", boardMaster); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/impl/BBSAddedOptionsDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/BoardVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/BoardVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/BoardVO.java (revision 7) @@ -0,0 +1,675 @@ +package egovframework.com.cop.bbs.service; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * 게시물 관리를 위한 VO 클래스 + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.3.19 이삼섭 최초 생성 + * 2009.06.29 한성곤 2단계 기능 추가 (댓글관리, 만족도조사) + * + * </pre> + */ +@SuppressWarnings("serial") +public class BoardVO extends Board implements Serializable { + + /** 검색시작일 */ + private String searchBgnDe = ""; + + /** 검색조건 */ + private String searchCnd = ""; + + /** 검색종료일 */ + private String searchEndDe = ""; + + /** 검색단어 */ + private String searchWrd = ""; + + /** 정렬순서(DESC,ASC) */ + private long sortOrdr = 0L; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** 첫페이지 인덱스 */ + private int firstIndex = 1; + + /** 마지막페이지 인덱스 */ + private int lastIndex = 1; + + /** 페이지당 레코드 개수 */ + private int recordCountPerPage = 10; + + /** 레코드 번호 */ + private int rowNo = 0; + + /** 최초 등록자명 */ + private String frstRegisterNm = ""; + + /** 최종 수정자명 */ + private String lastUpdusrNm = ""; + + /** 유효여부 */ + private String isExpired = "N"; + + /** 상위 정렬 순서 */ + private String parntsSortOrdr = ""; + + /** 상위 답변 위치 */ + private String parntsReplyLc = ""; + + /** 게시판 유형코드 */ + private String bbsTyCode = ""; + + /** 게시판 속성코드 */ + private String bbsAttrbCode = ""; + + /** 게시판 명 */ + private String bbsNm = ""; + + /** 파일첨부가능여부 */ + private String fileAtchPosblAt = ""; + + /** 첨부가능파일숫자 */ + private int posblAtchFileNumber = 0; + + /** 답장가능여부 */ + private String replyPosblAt = ""; + + /** 조회 수 증가 여부 */ + private boolean plusCount = false; + + /** 익명등록 여부 */ + private String anonymousAt = ""; + + /** 하위 페이지 인덱스 (댓글 및 만족도 조사 여부 확인용) */ + private String subPageIndex = ""; + + /** 게시글 댓글갯수 */ + private String commentCo = ""; + + /** 볼드체 여부 */ + private String sjBoldAt; + + /** 공지 여부 */ + private String noticeAt; + + /** 비밀글 여부 */ + private String secretAt; + + /** + * searchBgnDe attribute를 리턴한다. + * + * @return the searchBgnDe + */ + public String getSearchBgnDe() { + return searchBgnDe; + } + + /** + * searchBgnDe attribute 값을 설정한다. + * + * @param searchBgnDe + * the searchBgnDe to set + */ + public void setSearchBgnDe(String searchBgnDe) { + this.searchBgnDe = searchBgnDe; + } + + /** + * searchCnd attribute를 리턴한다. + * + * @return the searchCnd + */ + public String getSearchCnd() { + return searchCnd; + } + + /** + * searchCnd attribute 값을 설정한다. + * + * @param searchCnd + * the searchCnd to set + */ + public void setSearchCnd(String searchCnd) { + this.searchCnd = searchCnd; + } + + /** + * searchEndDe attribute를 리턴한다. + * + * @return the searchEndDe + */ + public String getSearchEndDe() { + return searchEndDe; + } + + /** + * searchEndDe attribute 값을 설정한다. + * + * @param searchEndDe + * the searchEndDe to set + */ + public void setSearchEndDe(String searchEndDe) { + this.searchEndDe = searchEndDe; + } + + /** + * searchWrd attribute를 리턴한다. + * + * @return the searchWrd + */ + public String getSearchWrd() { + return searchWrd; + } + + /** + * searchWrd attribute 값을 설정한다. + * + * @param searchWrd + * the searchWrd to set + */ + public void setSearchWrd(String searchWrd) { + this.searchWrd = searchWrd; + } + + /** + * sortOrdr attribute를 리턴한다. + * + * @return the sortOrdr + */ + public long getSortOrdr() { + return sortOrdr; + } + + /** + * sortOrdr attribute 값을 설정한다. + * + * @param sortOrdr + * the sortOrdr to set + */ + public void setSortOrdr(long sortOrdr) { + this.sortOrdr = sortOrdr; + } + + /** + * searchUseYn attribute를 리턴한다. + * + * @return the searchUseYn + */ + public String getSearchUseYn() { + return searchUseYn; + } + + /** + * searchUseYn attribute 값을 설정한다. + * + * @param searchUseYn + * the searchUseYn to set + */ + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + /** + * pageIndex attribute를 리턴한다. + * + * @return the pageIndex + */ + public int getPageIndex() { + return pageIndex; + } + + /** + * pageIndex attribute 값을 설정한다. + * + * @param pageIndex + * the pageIndex to set + */ + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + /** + * pageUnit attribute를 리턴한다. + * + * @return the pageUnit + */ + public int getPageUnit() { + return pageUnit; + } + + /** + * pageUnit attribute 값을 설정한다. + * + * @param pageUnit + * the pageUnit to set + */ + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + /** + * pageSize attribute를 리턴한다. + * + * @return the pageSize + */ + public int getPageSize() { + return pageSize; + } + + /** + * pageSize attribute 값을 설정한다. + * + * @param pageSize + * the pageSize to set + */ + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + /** + * firstIndex attribute를 리턴한다. + * + * @return the firstIndex + */ + public int getFirstIndex() { + return firstIndex; + } + + /** + * firstIndex attribute 값을 설정한다. + * + * @param firstIndex + * the firstIndex to set + */ + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + /** + * lastIndex attribute를 리턴한다. + * + * @return the lastIndex + */ + public int getLastIndex() { + return lastIndex; + } + + /** + * lastIndex attribute 값을 설정한다. + * + * @param lastIndex + * the lastIndex to set + */ + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + /** + * recordCountPerPage attribute를 리턴한다. + * + * @return the recordCountPerPage + */ + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + /** + * recordCountPerPage attribute 값을 설정한다. + * + * @param recordCountPerPage + * the recordCountPerPage to set + */ + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + + /** + * rowNo attribute를 리턴한다. + * + * @return the rowNo + */ + public int getRowNo() { + return rowNo; + } + + /** + * rowNo attribute 값을 설정한다. + * + * @param rowNo + * the rowNo to set + */ + public void setRowNo(int rowNo) { + this.rowNo = rowNo; + } + + /** + * frstRegisterNm attribute를 리턴한다. + * + * @return the frstRegisterNm + */ + public String getFrstRegisterNm() { + return frstRegisterNm; + } + + /** + * frstRegisterNm attribute 값을 설정한다. + * + * @param frstRegisterNm + * the frstRegisterNm to set + */ + public void setFrstRegisterNm(String frstRegisterNm) { + this.frstRegisterNm = frstRegisterNm; + } + + /** + * lastUpdusrNm attribute를 리턴한다. + * + * @return the lastUpdusrNm + */ + public String getLastUpdusrNm() { + return lastUpdusrNm; + } + + /** + * lastUpdusrNm attribute 값을 설정한다. + * + * @param lastUpdusrNm + * the lastUpdusrNm to set + */ + public void setLastUpdusrNm(String lastUpdusrNm) { + this.lastUpdusrNm = lastUpdusrNm; + } + + /** + * isExpired attribute를 리턴한다. + * + * @return the isExpired + */ + public String getIsExpired() { + return isExpired; + } + + /** + * isExpired attribute 값을 설정한다. + * + * @param isExpired + * the isExpired to set + */ + public void setIsExpired(String isExpired) { + this.isExpired = isExpired; + } + + /** + * parntsSortOrdr attribute를 리턴한다. + * + * @return the parntsSortOrdr + */ + public String getParntsSortOrdr() { + return parntsSortOrdr; + } + + /** + * parntsSortOrdr attribute 값을 설정한다. + * + * @param parntsSortOrdr + * the parntsSortOrdr to set + */ + public void setParntsSortOrdr(String parntsSortOrdr) { + this.parntsSortOrdr = parntsSortOrdr; + } + + /** + * parntsReplyLc attribute를 리턴한다. + * + * @return the parntsReplyLc + */ + public String getParntsReplyLc() { + return parntsReplyLc; + } + + /** + * parntsReplyLc attribute 값을 설정한다. + * + * @param parntsReplyLc + * the parntsReplyLc to set + */ + public void setParntsReplyLc(String parntsReplyLc) { + this.parntsReplyLc = parntsReplyLc; + } + + /** + * bbsTyCode attribute를 리턴한다. + * + * @return the bbsTyCode + */ + public String getBbsTyCode() { + return bbsTyCode; + } + + /** + * bbsTyCode attribute 값을 설정한다. + * + * @param bbsTyCode + * the bbsTyCode to set + */ + public void setBbsTyCode(String bbsTyCode) { + this.bbsTyCode = bbsTyCode; + } + + /** + * bbsAttrbCode attribute를 리턴한다. + * + * @return the bbsAttrbCode + */ + public String getBbsAttrbCode() { + return bbsAttrbCode; + } + + /** + * bbsAttrbCode attribute 값을 설정한다. + * + * @param bbsAttrbCode + * the bbsAttrbCode to set + */ + public void setBbsAttrbCode(String bbsAttrbCode) { + this.bbsAttrbCode = bbsAttrbCode; + } + + /** + * bbsNm attribute를 리턴한다. + * + * @return the bbsNm + */ + public String getBbsNm() { + return bbsNm; + } + + /** + * bbsNm attribute 값을 설정한다. + * + * @param bbsNm + * the bbsNm to set + */ + public void setBbsNm(String bbsNm) { + this.bbsNm = bbsNm; + } + + /** + * fileAtchPosblAt attribute를 리턴한다. + * + * @return the fileAtchPosblAt + */ + public String getFileAtchPosblAt() { + return fileAtchPosblAt; + } + + /** + * fileAtchPosblAt attribute 값을 설정한다. + * + * @param fileAtchPosblAt + * the fileAtchPosblAt to set + */ + public void setFileAtchPosblAt(String fileAtchPosblAt) { + this.fileAtchPosblAt = fileAtchPosblAt; + } + + /** + * posblAtchFileNumber attribute를 리턴한다. + * + * @return the posblAtchFileNumber + */ + public int getPosblAtchFileNumber() { + return posblAtchFileNumber; + } + + /** + * posblAtchFileNumber attribute 값을 설정한다. + * + * @param posblAtchFileNumber + * the posblAtchFileNumber to set + */ + public void setPosblAtchFileNumber(int posblAtchFileNumber) { + this.posblAtchFileNumber = posblAtchFileNumber; + } + + /** + * replyPosblAt attribute를 리턴한다. + * + * @return the replyPosblAt + */ + public String getReplyPosblAt() { + return replyPosblAt; + } + + /** + * replyPosblAt attribute 값을 설정한다. + * + * @param replyPosblAt + * the replyPosblAt to set + */ + public void setReplyPosblAt(String replyPosblAt) { + this.replyPosblAt = replyPosblAt; + } + + /** + * plusCount attribute를 리턴한다. + * @return the plusCount + */ + public boolean isPlusCount() { + return plusCount; + } + + /** + * plusCount attribute 값을 설정한다. + * @param plusCount the plusCount to set + */ + public void setPlusCount(boolean plusCount) { + this.plusCount = plusCount; + } + + /** + * subPageIndex attribute를 리턴한다. + * @return the subPageIndex + */ + public String getSubPageIndex() { + return subPageIndex; + } + + /** + * subPageIndex attribute 값을 설정한다. + * @param subPageIndex the subPageIndex to set + */ + public void setSubPageIndex(String subPageIndex) { + this.subPageIndex = subPageIndex; + } + + /** + * anonymousAt attribute를 리턴한다. + * @return the anonymousAt + */ + public String getAnonymousAt() { + return anonymousAt; + } + + /** + * anonymousAt attribute 값을 설정한다. + * @param anonymousAt the anonymousAt to set + */ + public void setAnonymousAt(String anonymousAt) { + this.anonymousAt = anonymousAt; + } + + /** + * toString 메소드를 대치한다. + */ + public String toString() { + return ToStringBuilder.reflectionToString(this); + } + + /** + * commentCo attribute를 리턴한다. + * @return the commentCo + */ + public String getCommentCo() { + return commentCo; + } + + + /** + * commentCo attribute 값을 설정한다. + * @param commentCo the commentCo to set + */ + + public void setCommentCo(String commentCo) { + this.commentCo = commentCo; + } + + public String getSjBoldAt() { + return sjBoldAt; + } + + public void setSjBoldAt(String sjBoldAt) { + this.sjBoldAt = sjBoldAt; + } + + public String getNoticeAt() { + return noticeAt; + } + + public void setNoticeAt(String noticeAt) { + this.noticeAt = noticeAt; + } + + public String getSecretAt() { + return secretAt; + } + + public void setSecretAt(String secretAt) { + this.secretAt = secretAt; + } + + + +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/BoardVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/BlogUser.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/BlogUser.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/BlogUser.java (revision 7) @@ -0,0 +1,362 @@ +package egovframework.com.cop.bbs.service; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * 블로그게시판 관리를 위한 모델 클래스 + * @author 공통서비스개발팀 양희훈 + * @since 2017.09.12 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ----------- -------- --------------------------- + * 2017.09.12 양희훈 최초 생성 + * + * </pre> + */ +@SuppressWarnings("serial") +public class BlogUser implements Serializable { + + /** 블로그아이디 */ + private String blogId = ""; + + /** 최초등록자 아이디 */ + private String frstRegisterId = ""; + + /** 최초등록시점 */ + private String frstRegisterPnttm = ""; + + /** 최종수정자 아이디 */ + private String lastUpdusrId = ""; + + /** 최종수정시점 */ + private String lastUpdusrPnttm = ""; + + /** 관리자여부 */ + private String mngrAt = ""; + + /** 탈퇴일 */ + private String secsnDe = ""; + + /** 가입일 */ + private String sbscrbDe = ""; + + /** 사용여부 */ + private String useAt = ""; + + /** 사용자 아이디 */ + private String emplyrId = ""; + + /** 사용자명 */ + private String emplyrNm = ""; + + /** 회원 ID */ + private String userId = ""; + + /** 회원 이메일 */ + private String userEmail = ""; + + /** 회원 상태 */ + private String mberSttus = ""; + + /** 회원 상태 코드명 */ + private String mberSttusNm = ""; + + /** + * blogId attribute를 리턴한다. + * + * @return the blogId + */ + public String getBlogId() { + return blogId; + } + + /** + * blogId attribute 값을 설정한다. + * + * @param blogId + * the blogId to set + */ + public void setBlogId(String blogId) { + this.blogId = blogId; + } + + /** + * frstRegisterId attribute를 리턴한다. + * + * @return the frstRegisterId + */ + public String getFrstRegisterId() { + return frstRegisterId; + } + + /** + * frstRegisterId attribute 값을 설정한다. + * + * @param frstRegisterId + * the frstRegisterId to set + */ + public void setFrstRegisterId(String frstRegisterId) { + this.frstRegisterId = frstRegisterId; + } + + /** + * frstRegisterPnttm attribute를 리턴한다. + * + * @return the frstRegisterPnttm + */ + public String getFrstRegisterPnttm() { + return frstRegisterPnttm; + } + + /** + * frstRegisterPnttm attribute 값을 설정한다. + * + * @param frstRegisterPnttm + * the frstRegisterPnttm to set + */ + public void setFrstRegisterPnttm(String frstRegisterPnttm) { + this.frstRegisterPnttm = frstRegisterPnttm; + } + + /** + * lastUpdusrId attribute를 리턴한다. + * + * @return the lastUpdusrId + */ + public String getLastUpdusrId() { + return lastUpdusrId; + } + + /** + * lastUpdusrId attribute 값을 설정한다. + * + * @param lastUpdusrId + * the lastUpdusrId to set + */ + public void setLastUpdusrId(String lastUpdusrId) { + this.lastUpdusrId = lastUpdusrId; + } + + /** + * lastUpdusrPnttm attribute를 리턴한다. + * + * @return the lastUpdusrPnttm + */ + public String getLastUpdusrPnttm() { + return lastUpdusrPnttm; + } + + /** + * lastUpdusrPnttm attribute 값을 설정한다. + * + * @param lastUpdusrPnttm + * the lastUpdusrPnttm to set + */ + public void setLastUpdusrPnttm(String lastUpdusrPnttm) { + this.lastUpdusrPnttm = lastUpdusrPnttm; + } + + /** + * mngrAt attribute를 리턴한다. + * + * @return the mngrAt + */ + public String getMngrAt() { + return mngrAt; + } + + /** + * mngrAt attribute 값을 설정한다. + * + * @param mngrAt + * the mngrAt to set + */ + public void setMngrAt(String mngrAt) { + this.mngrAt = mngrAt; + } + + /** + * secsnDe attribute를 리턴한다. + * + * @return the secsnDe + */ + public String getSecsnDe() { + return secsnDe; + } + + /** + * secsnDe attribute 값을 설정한다. + * + * @param secsnDe + * the secsnDe to set + */ + public void setSecsnDe(String secsnDe) { + this.secsnDe = secsnDe; + } + + /** + * sbscrbDe attribute를 리턴한다. + * + * @return the sbscrbDe + */ + public String getSbscrbDe() { + return sbscrbDe; + } + + /** + * sbscrbDe attribute 값을 설정한다. + * + * @param sbscrbDe + * the sbscrbDe to set + */ + public void setSbscrbDe(String sbscrbDe) { + this.sbscrbDe = sbscrbDe; + } + + /** + * useAt attribute를 리턴한다. + * + * @return the useAt + */ + public String getUseAt() { + return useAt; + } + + /** + * useAt attribute 값을 설정한다. + * + * @param useAt + * the useAt to set + */ + public void setUseAt(String useAt) { + this.useAt = useAt; + } + + /** + * emplyrId attribute를 리턴한다. + * + * @return the emplyrId + */ + public String getEmplyrId() { + return emplyrId; + } + + /** + * emplyrId attribute 값을 설정한다. + * + * @param emplyrId + * the emplyrId to set + */ + public void setEmplyrId(String emplyrId) { + this.emplyrId = emplyrId; + } + + /** + * emplyrNm attribute를 리턴한다. + * + * @return the emplyrNm + */ + public String getEmplyrNm() { + return emplyrNm; + } + + /** + * emplyrNm attribute 값을 설정한다. + * + * @param emplyrNm + * the emplyrNm to set + */ + public void setEmplyrNm(String emplyrNm) { + this.emplyrNm = emplyrNm; + } + + /** + * userId attribute를 리턴한다. + * + * @return the userId + */ + public String getUserId() { + return userId; + } + + /** + * userId attribute 값을 설정한다. + * + * @param userId + * the userId to set + */ + public void setUserId(String userId) { + this.userId = userId; + } + + /** + * userEmail attribute를 리턴한다. + * + * @return the userEmail + */ + public String getUserEmail() { + return userEmail; + } + + /** + * userEmail attribute 값을 설정한다. + * + * @param userEmail + * the userEmail to set + */ + public void setUserEmail(String userEmail) { + this.userEmail = userEmail; + } + + /** + * mberSttus attribute를 리턴한다. + * + * @return the mberSttus + */ + public String getMberSttus() { + return mberSttus; + } + + /** + * mberSttus attribute 값을 설정한다. + * + * @param mberSttus + * the mberSttus to set + */ + public void setMberSttus(String mberSttus) { + this.mberSttus = mberSttus; + } + + /** + * mberSttusNm attribute를 리턴한다. + * + * @return the mberSttusNm + */ + public String getMberSttusNm() { + return mberSttusNm; + } + + /** + * mberSttusNm attribute 값을 설정한다. + * + * @param mberSttusNm + * the mberSttusNm to set + */ + public void setMberSttusNm(String mberSttusNm) { + this.mberSttusNm = mberSttusNm; + } + + /** + * toString 메소드를 대치한다. + */ + public String toString() { + return ToStringBuilder.reflectionToString(this); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/BlogUser.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/Satisfaction.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/Satisfaction.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/Satisfaction.java (revision 7) @@ -0,0 +1,316 @@ +package egovframework.com.cop.bbs.service; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * 만족도조사 서비스 데이터 처리 모델 + * @author 공통컴포넌트개발팀 한성곤 + * @since 2009.06.29 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.06.29 한성곤 최초 생성 + * + * </pre> + */ +@SuppressWarnings("serial") +public class Satisfaction implements Serializable { + /** 만족도 번호 */ + private String stsfdgNo = ""; + + /** 게시판 ID */ + private String bbsId = ""; + + /** 게시물 번호 */ + private long nttId = 0L; + + /** 작성자 ID */ + private String wrterId = ""; + + /** 작성자명 */ + private String wrterNm = ""; + + /** 패스워드 */ + private String stsfdgPassword = ""; + + /** 만족도 내용 */ + private String stsfdgCn = ""; + + /** 만족도 */ + private int stsfdg = 0; + + /** 사용 여부 */ + private String useAt = ""; + + /** 최초등록자 아이디 */ + private String frstRegisterId = ""; + + /** 최초 등록자명 */ + private String frstRegisterNm = ""; + + /** 최초등록시점 */ + private String frstRegisterPnttm = ""; + + /** 최종수정자 아이디 */ + private String lastUpdusrId = ""; + + /** 최종수정시점 */ + private String lastUpdusrPnttm = ""; + + /** 확인 패스워드 */ + private String confirmPassword = ""; + + /** + * stsfdgNo attribute를 리턴한다. + * @return the stsfdgNo + */ + public String getStsfdgNo() { + return stsfdgNo; + } + + /** + * stsfdgNo attribute 값을 설정한다. + * @param stsfdgNo the stsfdgNo to set + */ + public void setStsfdgNo(String stsfdgNo) { + this.stsfdgNo = stsfdgNo; + } + + /** + * bbsId attribute를 리턴한다. + * @return the bbsId + */ + public String getBbsId() { + return bbsId; + } + + /** + * bbsId attribute 값을 설정한다. + * @param bbsId the bbsId to set + */ + public void setBbsId(String bbsId) { + this.bbsId = bbsId; + } + + /** + * nttId attribute를 리턴한다. + * @return the nttId + */ + public long getNttId() { + return nttId; + } + + /** + * nttId attribute 값을 설정한다. + * @param nttId the nttId to set + */ + public void setNttId(long nttId) { + this.nttId = nttId; + } + + /** + * wrterId attribute를 리턴한다. + * @return the wrterId + */ + public String getWrterId() { + return wrterId; + } + + /** + * wrterId attribute 값을 설정한다. + * @param wrterId the wrterId to set + */ + public void setWrterId(String wrterId) { + this.wrterId = wrterId; + } + + /** + * wrterNm attribute를 리턴한다. + * @return the wrterNm + */ + public String getWrterNm() { + return wrterNm; + } + + /** + * wrterNm attribute 값을 설정한다. + * @param wrterNm the wrterNm to set + */ + public void setWrterNm(String wrterNm) { + this.wrterNm = wrterNm; + } + + /** + * stsfdgPassword attribute를 리턴한다. + * @return the stsfdgPassword + */ + public String getStsfdgPassword() { + return stsfdgPassword; + } + + /** + * stsfdgPassword attribute 값을 설정한다. + * @param stsfdgPassword the stsfdgPassword to set + */ + public void setStsfdgPassword(String stsfdgPassword) { + this.stsfdgPassword = stsfdgPassword; + } + + /** + * stsfdgCn attribute를 리턴한다. + * @return the stsfdgCn + */ + public String getStsfdgCn() { + return stsfdgCn; + } + + /** + * stsfdgCn attribute 값을 설정한다. + * @param stsfdgCn the stsfdgCn to set + */ + public void setStsfdgCn(String stsfdgCn) { + this.stsfdgCn = stsfdgCn; + } + + /** + * stsfdg attribute를 리턴한다. + * @return the stsfdg + */ + public int getStsfdg() { + return stsfdg; + } + + /** + * stsfdg attribute 값을 설정한다. + * @param stsfdg the stsfdg to set + */ + public void setStsfdg(int stsfdg) { + this.stsfdg = stsfdg; + } + + /** + * useAt attribute를 리턴한다. + * @return the useAt + */ + public String getUseAt() { + return useAt; + } + + /** + * useAt attribute 값을 설정한다. + * @param useAt the useAt to set + */ + public void setUseAt(String useAt) { + this.useAt = useAt; + } + + /** + * frstRegisterId attribute를 리턴한다. + * @return the frstRegisterId + */ + public String getFrstRegisterId() { + return frstRegisterId; + } + + /** + * frstRegisterId attribute 값을 설정한다. + * @param frstRegisterId the frstRegisterId to set + */ + public void setFrstRegisterId(String frstRegisterId) { + this.frstRegisterId = frstRegisterId; + } + + /** + * frstRegisterNm attribute를 리턴한다. + * @return the frstRegisterNm + */ + public String getFrstRegisterNm() { + return frstRegisterNm; + } + + /** + * frstRegisterNm attribute 값을 설정한다. + * @param frstRegisterNm the frstRegisterNm to set + */ + public void setFrstRegisterNm(String frstRegisterNm) { + this.frstRegisterNm = frstRegisterNm; + } + + /** + * frstRegisterPnttm attribute를 리턴한다. + * @return the frstRegisterPnttm + */ + public String getFrstRegisterPnttm() { + return frstRegisterPnttm; + } + + /** + * frstRegisterPnttm attribute 값을 설정한다. + * @param frstRegisterPnttm the frstRegisterPnttm to set + */ + public void setFrstRegisterPnttm(String frstRegisterPnttm) { + this.frstRegisterPnttm = frstRegisterPnttm; + } + + /** + * lastUpdusrId attribute를 리턴한다. + * @return the lastUpdusrId + */ + public String getLastUpdusrId() { + return lastUpdusrId; + } + + /** + * lastUpdusrId attribute 값을 설정한다. + * @param lastUpdusrId the lastUpdusrId to set + */ + public void setLastUpdusrId(String lastUpdusrId) { + this.lastUpdusrId = lastUpdusrId; + } + + /** + * lastUpdusrPnttm attribute를 리턴한다. + * @return the lastUpdusrPnttm + */ + public String getLastUpdusrPnttm() { + return lastUpdusrPnttm; + } + + /** + * lastUpdusrPnttm attribute 값을 설정한다. + * @param lastUpdusrPnttm the lastUpdusrPnttm to set + */ + public void setLastUpdusrPnttm(String lastUpdusrPnttm) { + this.lastUpdusrPnttm = lastUpdusrPnttm; + } + + /** + * confirmPassword attribute를 리턴한다. + * @return the confirmPassword + */ + public String getConfirmPassword() { + return confirmPassword; + } + + /** + * confirmPassword attribute 값을 설정한다. + * @param confirmPassword the confirmPassword to set + */ + public void setConfirmPassword(String confirmPassword) { + this.confirmPassword = confirmPassword; + } + + /** + * toString 메소드를 대치한다. + */ + public String toString() { + return ToStringBuilder.reflectionToString(this); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/Satisfaction.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/BlogVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/BlogVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/BlogVO.java (revision 7) @@ -0,0 +1,443 @@ +package egovframework.com.cop.bbs.service; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * 커뮤니티 관리를 위한 VO 클래스 + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.4.2 이삼섭 최초 생성 + * + * </pre> + */ +@SuppressWarnings("serial") +public class BlogVO extends Blog implements Serializable { + + /** 검색시작일 */ + private String searchBgnDe = ""; + + /** 검색조건 */ + private String searchCnd = ""; + + /** 검색종료일 */ + private String searchEndDe = ""; + + /** 검색단어 */ + private String searchWrd = ""; + + /** 정렬순서(DESC,ASC) */ + private long sortOrdr = 0L; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** 첫페이지 인덱스 */ + private int firstIndex = 1; + + /** 마지막페이지 인덱스 */ + private int lastIndex = 1; + + /** 페이지당 레코드 개수 */ + private int recordCountPerPage = 10; + + /** 레코드 번호 */ + private int rowNo = 0; + + /** 등록구분 코드명 */ + private String registSeCodeNm = ""; + + /** 최초 등록자명 */ + private String frstRegisterNm = ""; + + /** 게시판 아이드 */ + private String bbsId = ""; + + /** 게시판 이름 */ + private String bbsNm = ""; + + /** 제공 URL */ + private String provdUrl = ""; + + private String blogId = ""; + + + /** + * searchBgnDe attribute를 리턴한다. + * + * @return the searchBgnDe + */ + public String getSearchBgnDe() { + return searchBgnDe; + } + + /** + * searchBgnDe attribute 값을 설정한다. + * + * @param searchBgnDe + * the searchBgnDe to set + */ + public void setSearchBgnDe(String searchBgnDe) { + this.searchBgnDe = searchBgnDe; + } + + /** + * searchCnd attribute를 리턴한다. + * + * @return the searchCnd + */ + public String getSearchCnd() { + return searchCnd; + } + + /** + * searchCnd attribute 값을 설정한다. + * + * @param searchCnd + * the searchCnd to set + */ + public void setSearchCnd(String searchCnd) { + this.searchCnd = searchCnd; + } + + /** + * searchEndDe attribute를 리턴한다. + * + * @return the searchEndDe + */ + public String getSearchEndDe() { + return searchEndDe; + } + + /** + * searchEndDe attribute 값을 설정한다. + * + * @param searchEndDe + * the searchEndDe to set + */ + public void setSearchEndDe(String searchEndDe) { + this.searchEndDe = searchEndDe; + } + + /** + * searchWrd attribute를 리턴한다. + * + * @return the searchWrd + */ + public String getSearchWrd() { + return searchWrd; + } + + /** + * searchWrd attribute 값을 설정한다. + * + * @param searchWrd + * the searchWrd to set + */ + public void setSearchWrd(String searchWrd) { + this.searchWrd = searchWrd; + } + + /** + * sortOrdr attribute를 리턴한다. + * + * @return the sortOrdr + */ + public long getSortOrdr() { + return sortOrdr; + } + + /** + * sortOrdr attribute 값을 설정한다. + * + * @param sortOrdr + * the sortOrdr to set + */ + public void setSortOrdr(long sortOrdr) { + this.sortOrdr = sortOrdr; + } + + /** + * searchUseYn attribute를 리턴한다. + * + * @return the searchUseYn + */ + public String getSearchUseYn() { + return searchUseYn; + } + + /** + * searchUseYn attribute 값을 설정한다. + * + * @param searchUseYn + * the searchUseYn to set + */ + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + /** + * pageIndex attribute를 리턴한다. + * + * @return the pageIndex + */ + public int getPageIndex() { + return pageIndex; + } + + /** + * pageIndex attribute 값을 설정한다. + * + * @param pageIndex + * the pageIndex to set + */ + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + /** + * pageUnit attribute를 리턴한다. + * + * @return the pageUnit + */ + public int getPageUnit() { + return pageUnit; + } + + /** + * pageUnit attribute 값을 설정한다. + * + * @param pageUnit + * the pageUnit to set + */ + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + /** + * pageSize attribute를 리턴한다. + * + * @return the pageSize + */ + public int getPageSize() { + return pageSize; + } + + /** + * pageSize attribute 값을 설정한다. + * + * @param pageSize + * the pageSize to set + */ + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + /** + * firstIndex attribute를 리턴한다. + * + * @return the firstIndex + */ + public int getFirstIndex() { + return firstIndex; + } + + /** + * firstIndex attribute 값을 설정한다. + * + * @param firstIndex + * the firstIndex to set + */ + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + /** + * lastIndex attribute를 리턴한다. + * + * @return the lastIndex + */ + public int getLastIndex() { + return lastIndex; + } + + /** + * lastIndex attribute 값을 설정한다. + * + * @param lastIndex + * the lastIndex to set + */ + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + /** + * recordCountPerPage attribute를 리턴한다. + * + * @return the recordCountPerPage + */ + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + /** + * recordCountPerPage attribute 값을 설정한다. + * + * @param recordCountPerPage + * the recordCountPerPage to set + */ + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + + /** + * rowNo attribute를 리턴한다. + * + * @return the rowNo + */ + public int getRowNo() { + return rowNo; + } + + /** + * rowNo attribute 값을 설정한다. + * + * @param rowNo + * the rowNo to set + */ + public void setRowNo(int rowNo) { + this.rowNo = rowNo; + } + + /** + * registSeCodeNm attribute를 리턴한다. + * + * @return the registSeCodeNm + */ + public String getRegistSeCodeNm() { + return registSeCodeNm; + } + + /** + * registSeCodeNm attribute 값을 설정한다. + * + * @param registSeCodeNm + * the registSeCodeNm to set + */ + public void setRegistSeCodeNm(String registSeCodeNm) { + this.registSeCodeNm = registSeCodeNm; + } + + /** + * frstRegisterNm attribute를 리턴한다. + * + * @return the frstRegisterNm + */ + public String getFrstRegisterNm() { + return frstRegisterNm; + } + + /** + * frstRegisterNm attribute 값을 설정한다. + * + * @param frstRegisterNm + * the frstRegisterNm to set + */ + public void setFrstRegisterNm(String frstRegisterNm) { + this.frstRegisterNm = frstRegisterNm; + } + + /** + * bbsId attribute를 리턴한다. + * + * @return the bbsId + */ + public String getBbsId() { + return bbsId; + } + + /** + * bbsId attribute 값을 설정한다. + * + * @param bbsId + * the bbsId to set + */ + public void setBbsId(String bbsId) { + this.bbsId = bbsId; + } + + + public String getBlogId() { + return blogId; + } + + /** + * bbsId attribute 값을 설정한다. + * + * @param bbsId + * the bbsId to set + */ + public void setBlogId(String blogId) { + this.blogId = blogId; + } + + /** + * bbsNm attribute를 리턴한다. + * + * @return the bbsNm + */ + public String getBbsNm() { + return bbsNm; + } + + /** + * bbsNm attribute 값을 설정한다. + * + * @param bbsNm + * the bbsNm to set + */ + public void setBbsNm(String bbsNm) { + this.bbsNm = bbsNm; + } + + /** + * provdUrl attribute를 리턴한다. + * @return the provdUrl + */ + public String getProvdUrl() { + return provdUrl; + } + + /** + * provdUrl attribute 값을 설정한다. + * @param provdUrl the provdUrl to set + */ + public void setProvdUrl(String provdUrl) { + this.provdUrl = provdUrl; + } + + /** + * toString 메소드를 대치한다. + */ + public String toString() { + return ToStringBuilder.reflectionToString(this); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/BlogVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/EgovBBSMasterService.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/EgovBBSMasterService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/EgovBBSMasterService.java (revision 7) @@ -0,0 +1,44 @@ +package egovframework.com.cop.bbs.service; + +import java.util.List; +import java.util.Map; + +import egovframework.com.cop.bbs.service.BlogUser; +import egovframework.com.cop.bbs.service.BlogVO; +import egovframework.com.cop.bbs.service.Blog; +import egovframework.rte.fdl.cmmn.exception.FdlException; + +public interface EgovBBSMasterService { + + Map<String, Object> selectNotUsedBdMstrList(BoardMasterVO boardMasterVO); + + void deleteBBSMasterInf(BoardMaster boardMaster); + + void updateBBSMasterInf(BoardMaster boardMaster) throws Exception; + + BoardMasterVO selectBBSMasterInf(BoardMasterVO boardMasterVO) throws Exception; + + Map<String, Object> selectBBSMasterInfs(BoardMasterVO boardMasterVO); + + void insertBBSMasterInf(BoardMaster boardMaster) throws Exception; + + /* + * 블로그 관련 + */ + Map<String, Object> selectBlogMasterInfs(BoardMasterVO boardMasterVO); + + String checkBlogUser(BlogVO blogVO); + + BlogVO checkBlogUser2(BlogVO blogVO); + + void insertBoardBlogUserRqst(BlogUser blogUser); + + void insertBlogMaster(Blog blog) throws FdlException; + + BlogVO selectBlogDetail(BlogVO blogVO) throws Exception; + + List<BlogVO> selectBlogListPortlet(BlogVO blogVO) throws Exception; + + List<BoardMasterVO> selectBBSListPortlet(BoardMasterVO boardMasterVO) throws Exception; + +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/EgovBBSMasterService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/BoardMaster.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/BoardMaster.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/BoardMaster.java (revision 7) @@ -0,0 +1,531 @@ +package egovframework.com.cop.bbs.service; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * 게시판 속성정보를 담기위한 엔티티 클래스 + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.12 이삼섭 최초 생성 + * 2009.06.26 한성곤 2단계 기능 추가 (댓글관리, 만족도조사) + * + * </pre> + */ +@SuppressWarnings("serial") +public class BoardMaster implements Serializable { + + /** 게시판 아이디 */ + private String bbsId = ""; + + /** 게시판 소개 */ + private String bbsIntrcn = ""; + + /** 게시판 명 */ + private String bbsNm = ""; + + /** 게시판 유형코드 */ + private String bbsTyCode = ""; + + /** 파일첨부가능여부 */ + private String fileAtchPosblAt = ""; + + /** 최초등록자 아이디 */ + private String frstRegisterId = ""; + + /** 최초등록시점 */ + private String frstRegisterPnttm = ""; + + /** 최종수정자 아이디 */ + public String lastUpdusrId = ""; + + /** 최종수정시점 */ + private String lastUpdusrPnttm = ""; + + /** 첨부가능파일숫자 */ + private int atchPosblFileNumber = 0; + + /** 첨부가능파일사이즈 */ + private String atchPosblFileSize = ""; + + /** 답장가능여부 */ + private String replyPosblAt = ""; + + /** 사용여부 */ + private String useAt = ""; + + /** 사용플래그 */ + private String bbsUseFlag = ""; + + /** 대상 아이디 */ + private String trgetId = ""; + + /** 등록구분코드 */ + private String registSeCode = ""; + + /** 유일 아이디 */ + private String uniqId = ""; + + /** 템플릿 명 */ + private String tmplatNm = ""; + + /** 커뮤니티 ID */ + private String cmmntyId; + + /** 블로그 ID */ + private String blogId; + + /** 블로그 사용 유무 */ + private String blogAt; + + //--------------------------------- + // 2009.06.26 : 2단계 기능 추가 + //--------------------------------- + /** 추가 option (댓글-comment, 만족도조사-stsfdg) */ + private String option = ""; + + /** 댓글 여부 */ + private String commentAt = ""; + + /** 만족도조사 */ + private String stsfdgAt = ""; + ////------------------------------- + + /** + * bbsId attribute를 리턴한다. + * + * @return the bbsId + */ + public String getBbsId() { + return bbsId; + } + + /** + * bbsId attribute 값을 설정한다. + * + * @param bbsId + * the bbsId to set + */ + public void setBbsId(String bbsId) { + this.bbsId = bbsId; + } + + /** + * bbsIntrcn attribute를 리턴한다. + * + * @return the bbsIntrcn + */ + public String getBbsIntrcn() { + return bbsIntrcn; + } + + /** + * bbsIntrcn attribute 값을 설정한다. + * + * @param bbsIntrcn + * the bbsIntrcn to set + */ + public void setBbsIntrcn(String bbsIntrcn) { + this.bbsIntrcn = bbsIntrcn; + } + + /** + * bbsNm attribute를 리턴한다. + * + * @return the bbsNm + */ + public String getBbsNm() { + return bbsNm; + } + + /** + * bbsNm attribute 값을 설정한다. + * + * @param bbsNm + * the bbsNm to set + */ + public void setBbsNm(String bbsNm) { + this.bbsNm = bbsNm; + } + + /** + * bbsTyCode attribute를 리턴한다. + * + * @return the bbsTyCode + */ + public String getBbsTyCode() { + return bbsTyCode; + } + + /** + * bbsTyCode attribute 값을 설정한다. + * + * @param bbsTyCode + * the bbsTyCode to set + */ + public void setBbsTyCode(String bbsTyCode) { + this.bbsTyCode = bbsTyCode; + } + + /** + * fileAtchPosblAt attribute를 리턴한다. + * + * @return the fileAtchPosblAt + */ + public String getFileAtchPosblAt() { + return fileAtchPosblAt; + } + + /** + * fileAtchPosblAt attribute 값을 설정한다. + * + * @param fileAtchPosblAt + * the fileAtchPosblAt to set + */ + public void setFileAtchPosblAt(String fileAtchPosblAt) { + this.fileAtchPosblAt = fileAtchPosblAt; + } + + /** + * frstRegisterId attribute를 리턴한다. + * + * @return the frstRegisterId + */ + public String getFrstRegisterId() { + return frstRegisterId; + } + + /** + * frstRegisterId attribute 값을 설정한다. + * + * @param frstRegisterId + * the frstRegisterId to set + */ + public void setFrstRegisterId(String frstRegisterId) { + this.frstRegisterId = frstRegisterId; + } + + /** + * frstRegisterPnttm attribute를 리턴한다. + * + * @return the frstRegisterPnttm + */ + public String getFrstRegisterPnttm() { + return frstRegisterPnttm; + } + + /** + * frstRegisterPnttm attribute 값을 설정한다. + * + * @param frstRegisterPnttm + * the frstRegisterPnttm to set + */ + public void setFrstRegisterPnttm(String frstRegisterPnttm) { + this.frstRegisterPnttm = frstRegisterPnttm; + } + + /** + * lastUpdusrId attribute를 리턴한다. + * + * @return the lastUpdusrId + */ + public String getLastUpdusrId() { + return lastUpdusrId; + } + + /** + * lastUpdusrId attribute 값을 설정한다. + * + * @param lastUpdusrId + * the lastUpdusrId to set + */ + public void setLastUpdusrId(String lastUpdusrId) { + this.lastUpdusrId = lastUpdusrId; + } + + /** + * lastUpdusrPnttm attribute를 리턴한다. + * + * @return the lastUpdusrPnttm + */ + public String getLastUpdusrPnttm() { + return lastUpdusrPnttm; + } + + /** + * lastUpdusrPnttm attribute 값을 설정한다. + * + * @param lastUpdusrPnttm + * the lastUpdusrPnttm to set + */ + public void setLastUpdusrPnttm(String lastUpdusrPnttm) { + this.lastUpdusrPnttm = lastUpdusrPnttm; + } + + /** + * atchPosblFileNumber attribute를 리턴한다. + * + * @return the atchPosblFileNumber + */ + public int getAtchPosblFileNumber() { + return atchPosblFileNumber; + } + + /** + * atchPosblFileNumber attribute 값을 설정한다. + * + * @param atchPosblFileNumber + * the atchPosblFileNumber to set + */ + public void setAtchPosblFileNumber(int atchPosblFileNumber) { + this.atchPosblFileNumber = atchPosblFileNumber; + } + + /** + * atchPosblFileSize attribute를 리턴한다. + * + * @return the atchPosblFileSize + */ + public String getAtchPosblFileSize() { + return atchPosblFileSize; + } + + /** + * atchPosblFileSize attribute 값을 설정한다. + * + * @param atchPosblFileSize + * the atchPosblFileSize to set + */ + public void setAtchPosblFileSize(String atchPosblFileSize) { + this.atchPosblFileSize = atchPosblFileSize; + } + + /** + * replyPosblAt attribute를 리턴한다. + * + * @return the replyPosblAt + */ + public String getReplyPosblAt() { + return replyPosblAt; + } + + /** + * replyPosblAt attribute 값을 설정한다. + * + * @param replyPosblAt + * the replyPosblAt to set + */ + public void setReplyPosblAt(String replyPosblAt) { + this.replyPosblAt = replyPosblAt; + } + + /** + * useAt attribute를 리턴한다. + * + * @return the useAt + */ + public String getUseAt() { + return useAt; + } + + /** + * useAt attribute 값을 설정한다. + * + * @param useAt + * the useAt to set + */ + public void setUseAt(String useAt) { + this.useAt = useAt; + } + + /** + * bbsUseFlag attribute를 리턴한다. + * + * @return the bbsUseFlag + */ + public String getBbsUseFlag() { + return bbsUseFlag; + } + + /** + * bbsUseFlag attribute 값을 설정한다. + * + * @param bbsUseFlag + * the bbsUseFlag to set + */ + public void setBbsUseFlag(String bbsUseFlag) { + this.bbsUseFlag = bbsUseFlag; + } + + /** + * trgetId attribute를 리턴한다. + * + * @return the trgetId + */ + public String getTrgetId() { + return trgetId; + } + + /** + * trgetId attribute 값을 설정한다. + * + * @param trgetId + * the trgetId to set + */ + public void setTrgetId(String trgetId) { + this.trgetId = trgetId; + } + + /** + * registSeCode attribute를 리턴한다. + * + * @return the registSeCode + */ + public String getRegistSeCode() { + return registSeCode; + } + + /** + * registSeCode attribute 값을 설정한다. + * + * @param registSeCode + * the registSeCode to set + */ + public void setRegistSeCode(String registSeCode) { + this.registSeCode = registSeCode; + } + + /** + * uniqId attribute를 리턴한다. + * + * @return the uniqId + */ + public String getUniqId() { + return uniqId; + } + + /** + * uniqId attribute 값을 설정한다. + * + * @param uniqId + * the uniqId to set + */ + public void setUniqId(String uniqId) { + this.uniqId = uniqId; + } + + /** + * tmplatNm attribute를 리턴한다. + * + * @return the tmplatNm + */ + public String getTmplatNm() { + return tmplatNm; + } + + /** + * tmplatNm attribute 값을 설정한다. + * + * @param tmplatNm + * the tmplatNm to set + */ + public void setTmplatNm(String tmplatNm) { + this.tmplatNm = tmplatNm; + } + + /** + * option attribute를 리턴한다. + * @return the option + */ + public String getOption() { + return option; + } + + /** + * option attribute 값을 설정한다. + * @param option the option to set + */ + public void setOption(String option) { + this.option = option; + } + + /** + * commentAt attribute를 리턴한다. + * @return the commentAt + */ + public String getCommentAt() { + return commentAt; + } + + /** + * commentAt attribute 값을 설정한다. + * @param commentAt the commentAt to set + */ + public void setCommentAt(String commentAt) { + this.commentAt = commentAt; + } + + /** + * stsfdgAt attribute를 리턴한다. + * @return the stsfdgAt + */ + public String getStsfdgAt() { + return stsfdgAt; + } + + /** + * stsfdg attribute 값을 설정한다. + * @param stsfdgAt the stsfdgAt to set + */ + public void setStsfdgAt(String stsfdgAt) { + this.stsfdgAt = stsfdgAt; + } + + /** + * cmmntyId attribute를 리턴한다. + * @return the cmmntyId + */ + public String getCmmntyId() { + return cmmntyId; + } + + /** + * cmmntyId attribute 값을 설정한다. + * @param cmmntyId the cmmntyId to set + */ + public void setCmmntyId(String cmmntyId) { + this.cmmntyId = cmmntyId; + } + + public String getBlogId() { + return blogId; + } + + public void setBlogId(String blogId) { + this.blogId = blogId; + } + + public String getBlogAt() { + return blogAt; + } + + public void setBlogAt(String blogAt) { + this.blogAt = blogAt; + } + + /** + * toString 메소드를 대치한다. + */ + public String toString() { + return ToStringBuilder.reflectionToString(this); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/BoardMaster.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/EgovArticleService.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/EgovArticleService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/EgovArticleService.java (revision 7) @@ -0,0 +1,40 @@ +package egovframework.com.cop.bbs.service; + +import java.util.List; +import java.util.Map; + +import egovframework.rte.fdl.cmmn.exception.FdlException; + +public interface EgovArticleService { + + Map<String, Object> selectArticleList(BoardVO boardVO); + + BoardVO selectArticleDetail(BoardVO boardVO); + + void insertArticle(Board board) throws FdlException; + + void updateArticle(Board board); + + void deleteArticle(Board board) throws Exception; + + List<BoardVO> selectNoticeArticleList(BoardVO boardVO); + + Map<String, Object> selectGuestArticleList(BoardVO vo); + + /* + * 블로그 관련 + */ + BoardVO selectArticleCnOne(BoardVO boardVO); + + List<BoardVO> selectBlogNmList(BoardVO boardVO); + + Map<String, Object> selectBlogListManager(BoardVO boardVO); + + List<BoardVO> selectArticleDetailDefault(BoardVO boardVO); + + int selectArticleDetailDefaultCnt(BoardVO boardVO); + + List<BoardVO> selectArticleDetailCn(BoardVO boardVO); + + int selectLoginUser(BoardVO boardVO); +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/EgovArticleService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/BlogUserVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/BlogUserVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/BlogUserVO.java (revision 7) @@ -0,0 +1,319 @@ +package egovframework.com.cop.bbs.service; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + + +/** + * 블로그게시판 관리를 위한 VO 클래스 + * @author 공통서비스개발팀 양희훈 + * @since 2017.09.12 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ----------- -------- --------------------------- + * 2017.09.12 양희훈 최초 생성 + * + * </pre> + */ +@SuppressWarnings("serial") +public class BlogUserVO extends BlogUser implements Serializable { + + /** 검색시작일 */ + private String searchBgnDe = ""; + + /** 검색조건 */ + private String searchCnd = ""; + + /** 검색종료일 */ + private String searchEndDe = ""; + + /** 검색단어 */ + private String searchWrd = ""; + + /** 정렬순서(DESC,ASC) */ + private long sortOrdr = 0L; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** 첫페이지 인덱스 */ + private int firstIndex = 1; + + /** 마지막페이지 인덱스 */ + private int lastIndex = 1; + + /** 페이지당 레코드 개수 */ + private int recordCountPerPage = 10; + + /** 레코드 번호 */ + private int rowNo = 0; + + /** + * searchBgnDe attribute를 리턴한다. + * + * @return the searchBgnDe + */ + public String getSearchBgnDe() { + return searchBgnDe; + } + + /** + * searchBgnDe attribute 값을 설정한다. + * + * @param searchBgnDe + * the searchBgnDe to set + */ + public void setSearchBgnDe(String searchBgnDe) { + this.searchBgnDe = searchBgnDe; + } + + /** + * searchCnd attribute를 리턴한다. + * + * @return the searchCnd + */ + public String getSearchCnd() { + return searchCnd; + } + + /** + * searchCnd attribute 값을 설정한다. + * + * @param searchCnd + * the searchCnd to set + */ + public void setSearchCnd(String searchCnd) { + this.searchCnd = searchCnd; + } + + /** + * searchEndDe attribute를 리턴한다. + * + * @return the searchEndDe + */ + public String getSearchEndDe() { + return searchEndDe; + } + + /** + * searchEndDe attribute 값을 설정한다. + * + * @param searchEndDe + * the searchEndDe to set + */ + public void setSearchEndDe(String searchEndDe) { + this.searchEndDe = searchEndDe; + } + + /** + * searchWrd attribute를 리턴한다. + * + * @return the searchWrd + */ + public String getSearchWrd() { + return searchWrd; + } + + /** + * searchWrd attribute 값을 설정한다. + * + * @param searchWrd + * the searchWrd to set + */ + public void setSearchWrd(String searchWrd) { + this.searchWrd = searchWrd; + } + + /** + * sortOrdr attribute를 리턴한다. + * + * @return the sortOrdr + */ + public long getSortOrdr() { + return sortOrdr; + } + + /** + * sortOrdr attribute 값을 설정한다. + * + * @param sortOrdr + * the sortOrdr to set + */ + public void setSortOrdr(long sortOrdr) { + this.sortOrdr = sortOrdr; + } + + /** + * searchUseYn attribute를 리턴한다. + * + * @return the searchUseYn + */ + public String getSearchUseYn() { + return searchUseYn; + } + + /** + * searchUseYn attribute 값을 설정한다. + * + * @param searchUseYn + * the searchUseYn to set + */ + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + /** + * pageIndex attribute를 리턴한다. + * + * @return the pageIndex + */ + public int getPageIndex() { + return pageIndex; + } + + /** + * pageIndex attribute 값을 설정한다. + * + * @param pageIndex + * the pageIndex to set + */ + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + /** + * pageUnit attribute를 리턴한다. + * + * @return the pageUnit + */ + public int getPageUnit() { + return pageUnit; + } + + /** + * pageUnit attribute 값을 설정한다. + * + * @param pageUnit + * the pageUnit to set + */ + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + /** + * pageSize attribute를 리턴한다. + * + * @return the pageSize + */ + public int getPageSize() { + return pageSize; + } + + /** + * pageSize attribute 값을 설정한다. + * + * @param pageSize + * the pageSize to set + */ + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + /** + * firstIndex attribute를 리턴한다. + * + * @return the firstIndex + */ + public int getFirstIndex() { + return firstIndex; + } + + /** + * firstIndex attribute 값을 설정한다. + * + * @param firstIndex + * the firstIndex to set + */ + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + /** + * lastIndex attribute를 리턴한다. + * + * @return the lastIndex + */ + public int getLastIndex() { + return lastIndex; + } + + /** + * lastIndex attribute 값을 설정한다. + * + * @param lastIndex + * the lastIndex to set + */ + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + /** + * recordCountPerPage attribute를 리턴한다. + * + * @return the recordCountPerPage + */ + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + /** + * recordCountPerPage attribute 값을 설정한다. + * + * @param recordCountPerPage + * the recordCountPerPage to set + */ + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + + /** + * rowNo attribute를 리턴한다. + * + * @return the rowNo + */ + public int getRowNo() { + return rowNo; + } + + /** + * rowNo attribute 값을 설정한다. + * + * @param rowNo + * the rowNo to set + */ + public void setRowNo(int rowNo) { + this.rowNo = rowNo; + } + + /** + * toString 메소드를 대치한다. + */ + public String toString() { + return ToStringBuilder.reflectionToString(this); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/BlogUserVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/Board.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/Board.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/Board.java (revision 7) @@ -0,0 +1,575 @@ +package egovframework.com.cop.bbs.service; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +import egovframework.com.cmm.CustomDefaultVO; + +/** + * @Class Name : Board.java + * @Description : 게시물에 대한 데이터 처리 모델 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.06 이삼섭 최초 생성 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 02. 13 + * @version 1.0 + * @see + * + */ +@SuppressWarnings("serial") +public class Board extends CustomDefaultVO implements Serializable { + + /** + * 게시물 첨부파일 아이디 + */ + private String atchFileId = ""; + /** + * 게시판 아이디 + */ + private String bbsId = ""; + /** + * 최초등록자 아이디 + */ + private String frstRegisterId = ""; + /** + * 최초등록시점 + */ + private String frstRegisterPnttm = ""; + /** + * 최종수정자 아이디 + */ + private String lastUpdusrId = ""; + /** + * 최종수정시점 + */ + private String lastUpdusrPnttm = ""; + /** + * 게시시작일 + */ + private String ntceBgnde = ""; + /** + * 게시종료일 + */ + private String ntceEndde = ""; + /** + * 게시자 아이디 + */ + private String ntcrId = ""; + /** + * 게시자명 + */ + private String ntcrNm = ""; + /** + * 게시물 내용 + */ + private String nttCn = ""; + /** + * 게시물 아이디 + */ + private long nttId = 0L; + /** + * 게시물 번호 + */ + private long nttNo = 0L; + /** + * 게시물 제목 + */ + private String nttSj = ""; + /** + * 부모글번호 + */ + private String parnts = "0"; + /** + * 패스워드 + */ + private String password = ""; + /** + * 조회수 + */ + private int inqireCo = 0; + /** + * 답장여부 + */ + private String replyAt = ""; + /** + * 답장위치 + */ + private String replyLc = "0"; + /** + * 정렬순서 + */ + private long sortOrdr = 0L; + /** + * 사용여부 + */ + private String useAt = ""; + /** + * 게시 종료일 + */ + private String ntceEnddeView = ""; + /** + * 게시 시작일 + */ + private String ntceBgndeView = ""; + /** + * 공지사항 여부 + */ + private String noticeAt = ""; + /** + * 비밀글 여부 + */ + private String secretAt = ""; + /** + * 제목 Bold 여부 + */ + private String sjBoldAt = ""; + /** + * 블로그 게시판 여부 + */ + private String blogAt = ""; + /** 블로그 ID */ + private String blogId = ""; + /** + * atchFileId attribute를 리턴한다. + * @return the atchFileId + */ + public String getAtchFileId() { + return atchFileId; + } + + /** + * atchFileId attribute 값을 설정한다. + * @param atchFileId the atchFileId to set + */ + public void setAtchFileId(String atchFileId) { + this.atchFileId = atchFileId; + } + + /** + * bbsId attribute를 리턴한다. + * @return the bbsId + */ + public String getBbsId() { + return bbsId; + } + + /** + * bbsId attribute 값을 설정한다. + * @param bbsId the bbsId to set + */ + public void setBbsId(String bbsId) { + this.bbsId = bbsId; + } + + /** + * frstRegisterId attribute를 리턴한다. + * @return the frstRegisterId + */ + public String getFrstRegisterId() { + return frstRegisterId; + } + + /** + * frstRegisterId attribute 값을 설정한다. + * @param frstRegisterId the frstRegisterId to set + */ + public void setFrstRegisterId(String frstRegisterId) { + this.frstRegisterId = frstRegisterId; + } + + /** + * frstRegisterPnttm attribute를 리턴한다. + * @return the frstRegisterPnttm + */ + public String getFrstRegisterPnttm() { + return frstRegisterPnttm; + } + + /** + * frstRegisterPnttm attribute 값을 설정한다. + * @param frstRegisterPnttm the frstRegisterPnttm to set + */ + public void setFrstRegisterPnttm(String frstRegisterPnttm) { + this.frstRegisterPnttm = frstRegisterPnttm; + } + + /** + * lastUpdusrId attribute를 리턴한다. + * @return the lastUpdusrId + */ + public String getLastUpdusrId() { + return lastUpdusrId; + } + + /** + * lastUpdusrId attribute 값을 설정한다. + * @param lastUpdusrId the lastUpdusrId to set + */ + public void setLastUpdusrId(String lastUpdusrId) { + this.lastUpdusrId = lastUpdusrId; + } + + /** + * lastUpdusrPnttm attribute를 리턴한다. + * @return the lastUpdusrPnttm + */ + public String getLastUpdusrPnttm() { + return lastUpdusrPnttm; + } + + /** + * lastUpdusrPnttm attribute 값을 설정한다. + * @param lastUpdusrPnttm the lastUpdusrPnttm to set + */ + public void setLastUpdusrPnttm(String lastUpdusrPnttm) { + this.lastUpdusrPnttm = lastUpdusrPnttm; + } + + /** + * ntceBgnde attribute를 리턴한다. + * @return the ntceBgnde + */ + public String getNtceBgnde() { + return ntceBgnde; + } + + /** + * ntceBgnde attribute 값을 설정한다. + * @param ntceBgnde the ntceBgnde to set + */ + public void setNtceBgnde(String ntceBgnde) { + this.ntceBgnde = ntceBgnde; + } + + /** + * ntceEndde attribute를 리턴한다. + * @return the ntceEndde + */ + public String getNtceEndde() { + return ntceEndde; + } + + /** + * ntceEndde attribute 값을 설정한다. + * @param ntceEndde the ntceEndde to set + */ + public void setNtceEndde(String ntceEndde) { + this.ntceEndde = ntceEndde; + } + + /** + * ntcrId attribute를 리턴한다. + * @return the ntcrId + */ + public String getNtcrId() { + return ntcrId; + } + + /** + * ntcrId attribute 값을 설정한다. + * @param ntcrId the ntcrId to set + */ + public void setNtcrId(String ntcrId) { + this.ntcrId = ntcrId; + } + + /** + * ntcrNm attribute를 리턴한다. + * @return the ntcrNm + */ + public String getNtcrNm() { + return ntcrNm; + } + + /** + * ntcrNm attribute 값을 설정한다. + * @param ntcrNm the ntcrNm to set + */ + public void setNtcrNm(String ntcrNm) { + this.ntcrNm = ntcrNm; + } + + /** + * nttCn attribute를 리턴한다. + * @return the nttCn + */ + public String getNttCn() { + return nttCn; + } + + /** + * nttCn attribute 값을 설정한다. + * @param nttCn the nttCn to set + */ + public void setNttCn(String nttCn) { + this.nttCn = nttCn; + } + + /** + * nttId attribute를 리턴한다. + * @return the nttId + */ + public long getNttId() { + return nttId; + } + + /** + * nttId attribute 값을 설정한다. + * @param nttId the nttId to set + */ + public void setNttId(long nttId) { + this.nttId = nttId; + } + + /** + * nttNo attribute를 리턴한다. + * @return the nttNo + */ + public long getNttNo() { + return nttNo; + } + + /** + * nttNo attribute 값을 설정한다. + * @param nttNo the nttNo to set + */ + public void setNttNo(long nttNo) { + this.nttNo = nttNo; + } + + /** + * nttSj attribute를 리턴한다. + * @return the nttSj + */ + public String getNttSj() { + return nttSj; + } + + /** + * nttSj attribute 값을 설정한다. + * @param nttSj the nttSj to set + */ + public void setNttSj(String nttSj) { + this.nttSj = nttSj; + } + + /** + * parnts attribute를 리턴한다. + * @return the parnts + */ + public String getParnts() { + return parnts; + } + + /** + * parnts attribute 값을 설정한다. + * @param parnts the parnts to set + */ + public void setParnts(String parnts) { + this.parnts = parnts; + } + + /** + * password attribute를 리턴한다. + * @return the password + */ + public String getPassword() { + return password; + } + + /** + * password attribute 값을 설정한다. + * @param password the password to set + */ + public void setPassword(String password) { + this.password = password; + } + + /** + * inqireCo attribute를 리턴한다. + * @return the inqireCo + */ + public int getInqireCo() { + return inqireCo; + } + + /** + * inqireCo attribute 값을 설정한다. + * @param inqireCo the inqireCo to set + */ + public void setInqireCo(int inqireCo) { + this.inqireCo = inqireCo; + } + + /** + * replyAt attribute를 리턴한다. + * @return the replyAt + */ + public String getReplyAt() { + return replyAt; + } + + /** + * replyAt attribute 값을 설정한다. + * @param replyAt the replyAt to set + */ + public void setReplyAt(String replyAt) { + this.replyAt = replyAt; + } + + /** + * replyLc attribute를 리턴한다. + * @return the replyLc + */ + public String getReplyLc() { + return replyLc; + } + + /** + * replyLc attribute 값을 설정한다. + * @param replyLc the replyLc to set + */ + public void setReplyLc(String replyLc) { + this.replyLc = replyLc; + } + + /** + * sortOrdr attribute를 리턴한다. + * @return the sortOrdr + */ + public long getSortOrdr() { + return sortOrdr; + } + + /** + * sortOrdr attribute 값을 설정한다. + * @param sortOrdr the sortOrdr to set + */ + public void setSortOrdr(long sortOrdr) { + this.sortOrdr = sortOrdr; + } + + /** + * useAt attribute를 리턴한다. + * @return the useAt + */ + public String getUseAt() { + return useAt; + } + + /** + * useAt attribute 값을 설정한다. + * @param useAt the useAt to set + */ + public void setUseAt(String useAt) { + this.useAt = useAt; + } + + /** + * ntceEnddeView attribute를 리턴한다. + * @return the ntceEnddeView + */ + public String getNtceEnddeView() { + return ntceEnddeView; + } + + /** + * ntceEnddeView attribute 값을 설정한다. + * @param ntceEnddeView the ntceEnddeView to set + */ + public void setNtceEnddeView(String ntceEnddeView) { + this.ntceEnddeView = ntceEnddeView; + } + + /** + * ntceBgndeView attribute를 리턴한다. + * @return the ntceBgndeView + */ + public String getNtceBgndeView() { + return ntceBgndeView; + } + + /** + * ntceBgndeView attribute 값을 설정한다. + * @param ntceBgndeView the ntceBgndeView to set + */ + public void setNtceBgndeView(String ntceBgndeView) { + this.ntceBgndeView = ntceBgndeView; + } + + /** + * noticeAt attribute를 리턴한다. + * @return the noticeAt + */ + public String getNoticeAt() { + return noticeAt; + } + + /** + * noticeAt attribute 값을 설정한다. + * @param noticeAt the noticeAt to set + */ + public void setNoticeAt(String noticeAt) { + this.noticeAt = noticeAt; + } + + /** + * secretAt attribute를 리턴한다. + * @return the secretAt + */ + public String getSecretAt() { + return secretAt; + } + + /** + * secretAt attribute 값을 설정한다. + * @param secretAt the secretAt to set + */ + public void setSecretAt(String secretAt) { + this.secretAt = secretAt; + } + + /** + * sjBoldAt attribute를 리턴한다. + * @return the sjBoldAt + */ + public String getSjBoldAt() { + return sjBoldAt; + } + + /** + * sjBoldAt attribute 값을 설정한다. + * @param sjBoldAt the sjBoldAt to set + */ + public void setSjBoldAt(String sjBoldAt) { + this.sjBoldAt = sjBoldAt; + } + + public String getBlogAt() { + return blogAt; + } + + public void setBlogAt(String blogAt) { + this.blogAt = blogAt; + } + + public String getBlogId() { + return blogId; + } + + public void setBlogId(String blogId) { + this.blogId = blogId; + } + + /** + * toString 메소드를 대치한다. + */ + public String toString(){ + return ToStringBuilder.reflectionToString(this); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/Board.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/SatisfactionVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/SatisfactionVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/SatisfactionVO.java (revision 7) @@ -0,0 +1,219 @@ +package egovframework.com.cop.bbs.service; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * 만족도조사 서비스를 위한 VO 클래스 + * @author 공통컴포넌트개발팀 한성곤 + * @since 2009.06.29 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.06.29 한성곤 최초 생성 + * + * </pre> + */ +@SuppressWarnings("serial") +public class SatisfactionVO extends Satisfaction { + /** 정렬순서(DESC,ASC) */ + private long sortOrdr = 0L; + + /** 현재페이지 */ + private int subPageIndex = 1; + + /** 페이지갯수 */ + private int subPageUnit = 10; + + /** 페이지사이즈 */ + private int subPageSize = 10; + + /** 첫페이지 인덱스 */ + private int subFirstIndex = 1; + + /** 마지막페이지 인덱스 */ + private int subLastIndex = 1; + + /** 페이지당 레코드 개수 */ + private int subRecordCountPerPage = 10; + + /** 레코드 번호 */ + private int subRowNo = 0; + + /** 호출 TYPE (head or body)*/ + private String type = ""; + + /** 수정 처리 여부 */ + private boolean isModified = false; + + /** + * sortOrdr attribute를 리턴한다. + * @return the sortOrdr + */ + public long getSortOrdr() { + return sortOrdr; + } + + /** + * sortOrdr attribute 값을 설정한다. + * @param sortOrdr the sortOrdr to set + */ + public void setSortOrdr(long sortOrdr) { + this.sortOrdr = sortOrdr; + } + + /** + * subPageIndex attribute를 리턴한다. + * @return the subPageIndex + */ + public int getSubPageIndex() { + return subPageIndex; + } + + /** + * subPageIndex attribute 값을 설정한다. + * @param subPageIndex the subPageIndex to set + */ + public void setSubPageIndex(int subPageIndex) { + this.subPageIndex = subPageIndex; + } + + /** + * subPageUnit attribute를 리턴한다. + * @return the subPageUnit + */ + public int getSubPageUnit() { + return subPageUnit; + } + + /** + * subPageUnit attribute 값을 설정한다. + * @param subPageUnit the subPageUnit to set + */ + public void setSubPageUnit(int subPageUnit) { + this.subPageUnit = subPageUnit; + } + + /** + * subPageSize attribute를 리턴한다. + * @return the subPageSize + */ + public int getSubPageSize() { + return subPageSize; + } + + /** + * subPageSize attribute 값을 설정한다. + * @param subPageSize the subPageSize to set + */ + public void setSubPageSize(int subPageSize) { + this.subPageSize = subPageSize; + } + + /** + * subFirstIndex attribute를 리턴한다. + * @return the subFirstIndex + */ + public int getSubFirstIndex() { + return subFirstIndex; + } + + /** + * subFirstIndex attribute 값을 설정한다. + * @param subFirstIndex the subFirstIndex to set + */ + public void setSubFirstIndex(int subFirstIndex) { + this.subFirstIndex = subFirstIndex; + } + + /** + * subLastIndex attribute를 리턴한다. + * @return the subLastIndex + */ + public int getSubLastIndex() { + return subLastIndex; + } + + /** + * subLastIndex attribute 값을 설정한다. + * @param subLastIndex the subLastIndex to set + */ + public void setSubLastIndex(int subLastIndex) { + this.subLastIndex = subLastIndex; + } + + /** + * subRecordCountPerPage attribute를 리턴한다. + * @return the subRecordCountPerPage + */ + public int getSubRecordCountPerPage() { + return subRecordCountPerPage; + } + + /** + * subRecordCountPerPage attribute 값을 설정한다. + * @param subRecordCountPerPage the subRecordCountPerPage to set + */ + public void setSubRecordCountPerPage(int subRecordCountPerPage) { + this.subRecordCountPerPage = subRecordCountPerPage; + } + + /** + * subRowNo attribute를 리턴한다. + * @return the subRowNo + */ + public int getSubRowNo() { + return subRowNo; + } + + /** + * subRowNo attribute 값을 설정한다. + * @param subRowNo the subRowNo to set + */ + public void setSubRowNo(int subRowNo) { + this.subRowNo = subRowNo; + } + + /** + * type attribute를 리턴한다. + * @return the type + */ + public String getType() { + return type; + } + + /** + * type attribute 값을 설정한다. + * @param type the type to set + */ + public void setType(String type) { + this.type = type; + } + + /** + * isModified attribute를 리턴한다. + * @return the isModified + */ + public boolean isModified() { + return isModified; + } + + /** + * isModified attribute 값을 설정한다. + * @param isModified the isModified to set + */ + public void setModified(boolean isModified) { + this.isModified = isModified; + } + + /** + * toString 메소드를 대치한다. + */ + public String toString() { + return ToStringBuilder.reflectionToString(this); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/SatisfactionVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/Blog.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/Blog.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/Blog.java (revision 7) @@ -0,0 +1,341 @@ +package egovframework.com.cop.bbs.service; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * 블로그게시판 관리를 위한 모델 클래스 + * @author 공통서비스개발팀 양희훈 + * @since 2017.09.12 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ----------- -------- --------------------------- + * 2017.09.12 양희훈 최초 생성 + * + * </pre> + */ +@SuppressWarnings("serial") +public class Blog implements Serializable { + + /** 블로그 아이디 */ + private String blogId = ""; + + /** 게시판 아이디 */ + private String bbsId = ""; + + /** 블로그 소개 */ + private String blogIntrcn = ""; + + /** 블로그 명 */ + private String blogNm = ""; + + /** 최초등록자 아이디 */ + private String frstRegisterId = ""; + + /** 최초등록시점 */ + private String frstRegisterPnttm = ""; + + /** 최종수정자 아이디 */ + private String lastUpdusrId = ""; + + /** 최종수정시점 */ + private String lastUpdusrPnttm = ""; + + /** 등록구분코드 */ + private String registSeCode = ""; + + /** 템플릿 아이디 */ + private String tmplatId = ""; + + /** 템플릿 아이디 */ + private String useAt = ""; + + /** 사용자 아이디 */ + private String emplyrId = ""; + + /** 사용자명 */ + private String userNm = ""; + + /** 템플릿 명 */ + private String tmplatNm = ""; + + /** 블로그 게시판 여부 */ + private String blogAt = ""; + + /** + * blogId attribute를 리턴한다. + * + * @return the blogId + */ + public String getBlogId() { + return blogId; + } + + /** + * blogId attribute 값을 설정한다. + * + * @param blogId + * the blogId to set + */ + public void setBlogId(String blogId) { + this.blogId = blogId; + } + + public String getBbsId() { + return bbsId; + } + + public void setBbsId(String bbsId) { + this.bbsId = bbsId; + } + + /** + * blogIntrcn attribute를 리턴한다. + * + * @return the blogIntrcn + */ + public String getBlogIntrcn() { + return blogIntrcn; + } + + /** + * blogIntrcn attribute 값을 설정한다. + * + * @param blogIntrcn + * the blogIntrcn to set + */ + public void setBlogIntrcn(String blogIntrcn) { + this.blogIntrcn = blogIntrcn; + } + + /** + * blogNm attribute를 리턴한다. + * + * @return the blogNm + */ + public String getBlogNm() { + return blogNm; + } + + /** + * blogNm attribute 값을 설정한다. + * + * @param blogNm + * the blogNm to set + */ + public void setBlogNm(String blogNm) { + this.blogNm = blogNm; + } + + /** + * frstRegisterId attribute를 리턴한다. + * + * @return the frstRegisterId + */ + public String getFrstRegisterId() { + return frstRegisterId; + } + + /** + * frstRegisterId attribute 값을 설정한다. + * + * @param frstRegisterId + * the frstRegisterId to set + */ + public void setFrstRegisterId(String frstRegisterId) { + this.frstRegisterId = frstRegisterId; + } + + /** + * frstRegisterPnttm attribute를 리턴한다. + * + * @return the frstRegisterPnttm + */ + public String getFrstRegisterPnttm() { + return frstRegisterPnttm; + } + + /** + * frstRegisterPnttm attribute 값을 설정한다. + * + * @param frstRegisterPnttm + * the frstRegisterPnttm to set + */ + public void setFrstRegisterPnttm(String frstRegisterPnttm) { + this.frstRegisterPnttm = frstRegisterPnttm; + } + + /** + * lastUpdusrId attribute를 리턴한다. + * + * @return the lastUpdusrId + */ + public String getLastUpdusrId() { + return lastUpdusrId; + } + + /** + * lastUpdusrId attribute 값을 설정한다. + * + * @param lastUpdusrId + * the lastUpdusrId to set + */ + public void setLastUpdusrId(String lastUpdusrId) { + this.lastUpdusrId = lastUpdusrId; + } + + /** + * lastUpdusrPnttm attribute를 리턴한다. + * + * @return the lastUpdusrPnttm + */ + public String getLastUpdusrPnttm() { + return lastUpdusrPnttm; + } + + /** + * lastUpdusrPnttm attribute 값을 설정한다. + * + * @param lastUpdusrPnttm + * the lastUpdusrPnttm to set + */ + public void setLastUpdusrPnttm(String lastUpdusrPnttm) { + this.lastUpdusrPnttm = lastUpdusrPnttm; + } + + /** + * registSeCode attribute를 리턴한다. + * + * @return the registSeCode + */ + public String getRegistSeCode() { + return registSeCode; + } + + /** + * registSeCode attribute 값을 설정한다. + * + * @param registSeCode + * the registSeCode to set + */ + public void setRegistSeCode(String registSeCode) { + this.registSeCode = registSeCode; + } + + /** + * tmplatId attribute를 리턴한다. + * + * @return the tmplatId + */ + public String getTmplatId() { + return tmplatId; + } + + /** + * tmplatId attribute 값을 설정한다. + * + * @param tmplatId + * the tmplatId to set + */ + public void setTmplatId(String tmplatId) { + this.tmplatId = tmplatId; + } + + /** + * useAt attribute를 리턴한다. + * + * @return the useAt + */ + public String getUseAt() { + return useAt; + } + + /** + * useAt attribute 값을 설정한다. + * + * @param useAt + * the useAt to set + */ + public void setUseAt(String useAt) { + this.useAt = useAt; + } + + /** + * emplyrId attribute를 리턴한다. + * + * @return the emplyrId + */ + public String getEmplyrId() { + return emplyrId; + } + + /** + * emplyrId attribute 값을 설정한다. + * + * @param emplyrId + * the emplyrId to set + */ + public void setEmplyrId(String emplyrId) { + this.emplyrId = emplyrId; + } + + /** + * userNm attribute를 리턴한다. + * + * @return the userNm + */ + public String getUserNm() { + return userNm; + } + + /** + * userNm attribute 값을 설정한다. + * + * @param userNm + * the userNm to set + */ + public void setUserNm(String userNm) { + this.userNm = userNm; + } + + /** + * tmplatNm attribute를 리턴한다. + * + * @return the tmplatNm + */ + public String getTmplatNm() { + return tmplatNm; + } + + /** + * tmplatNm attribute 값을 설정한다. + * + * @param tmplatNm + * the tmplatNm to set + */ + public void setTmplatNm(String tmplatNm) { + this.tmplatNm = tmplatNm; + } + + public String getBlogAt() { + return blogAt; + } + + public void setBlogAt(String blogAt) { + this.blogAt = blogAt; + } + + /** + * toString 메소드를 대치한다. + */ + public String toString() { + return ToStringBuilder.reflectionToString(this); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/Blog.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/bbs/service/BoardMasterVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/bbs/service/BoardMasterVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/bbs/service/BoardMasterVO.java (revision 7) @@ -0,0 +1,450 @@ +package egovframework.com.cop.bbs.service; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * 게시판 속성 정보를 관리하기 위한 VO 클래스 + * @author 공통서비스개발팀 이삼섭 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.3.12 이삼섭 최초 생성 + * + * </pre> + */ +@SuppressWarnings("serial") +public class BoardMasterVO extends BoardMaster implements Serializable { + + /** 검색시작일 */ + private String searchBgnDe = ""; + + /** 검색조건 */ + private String searchCnd = ""; + + /** 검색종료일 */ + private String searchEndDe = ""; + + /** 검색단어 */ + private String searchWrd = ""; + + /** 정렬순서(DESC,ASC) */ + private String sortOrdr = ""; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** firstIndex */ + private int firstIndex = 1; + + /** lastIndex */ + private int lastIndex = 1; + + /** recordCountPerPage */ + private int recordCountPerPage = 10; + + /** rowNo */ + private int rowNo = 0; + + /** 최초 등록자명 */ + private String frstRegisterNm = ""; + + /** 게시판유형 코드명 */ + private String bbsTyCodeNm = ""; + + /** 템플릿 명 */ + private String tmplatNm = ""; + + /** 최종 수정자명 */ + private String lastUpdusrNm = ""; + + /** 권한지정 여부 */ + private String authFlag = ""; + + /** 템플릿경로 */ + private String tmplatCours = ""; + + /** + * searchBgnDe attribute를 리턴한다. + * + * @return the searchBgnDe + */ + public String getSearchBgnDe() { + return searchBgnDe; + } + + /** + * searchBgnDe attribute 값을 설정한다. + * + * @param searchBgnDe + * the searchBgnDe to set + */ + public void setSearchBgnDe(String searchBgnDe) { + this.searchBgnDe = searchBgnDe; + } + + /** + * searchCnd attribute를 리턴한다. + * + * @return the searchCnd + */ + public String getSearchCnd() { + return searchCnd; + } + + /** + * searchCnd attribute 값을 설정한다. + * + * @param searchCnd + * the searchCnd to set + */ + public void setSearchCnd(String searchCnd) { + this.searchCnd = searchCnd; + } + + /** + * searchEndDe attribute를 리턴한다. + * + * @return the searchEndDe + */ + public String getSearchEndDe() { + return searchEndDe; + } + + /** + * searchEndDe attribute 값을 설정한다. + * + * @param searchEndDe + * the searchEndDe to set + */ + public void setSearchEndDe(String searchEndDe) { + this.searchEndDe = searchEndDe; + } + + /** + * searchWrd attribute를 리턴한다. + * + * @return the searchWrd + */ + public String getSearchWrd() { + return searchWrd; + } + + /** + * searchWrd attribute 값을 설정한다. + * + * @param searchWrd + * the searchWrd to set + */ + public void setSearchWrd(String searchWrd) { + this.searchWrd = searchWrd; + } + + /** + * sortOrdr attribute를 리턴한다. + * + * @return the sortOrdr + */ + public String getSortOrdr() { + return sortOrdr; + } + + /** + * sortOrdr attribute 값을 설정한다. + * + * @param sortOrdr + * the sortOrdr to set + */ + public void setSortOrdr(String sortOrdr) { + this.sortOrdr = sortOrdr; + } + + /** + * searchUseYn attribute를 리턴한다. + * + * @return the searchUseYn + */ + public String getSearchUseYn() { + return searchUseYn; + } + + /** + * searchUseYn attribute 값을 설정한다. + * + * @param searchUseYn + * the searchUseYn to set + */ + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + /** + * pageIndex attribute를 리턴한다. + * + * @return the pageIndex + */ + public int getPageIndex() { + return pageIndex; + } + + /** + * pageIndex attribute 값을 설정한다. + * + * @param pageIndex + * the pageIndex to set + */ + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + /** + * pageUnit attribute를 리턴한다. + * + * @return the pageUnit + */ + public int getPageUnit() { + return pageUnit; + } + + /** + * pageUnit attribute 값을 설정한다. + * + * @param pageUnit + * the pageUnit to set + */ + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + /** + * pageSize attribute를 리턴한다. + * + * @return the pageSize + */ + public int getPageSize() { + return pageSize; + } + + /** + * pageSize attribute 값을 설정한다. + * + * @param pageSize + * the pageSize to set + */ + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + /** + * firstIndex attribute를 리턴한다. + * + * @return the firstIndex + */ + public int getFirstIndex() { + return firstIndex; + } + + /** + * firstIndex attribute 값을 설정한다. + * + * @param firstIndex + * the firstIndex to set + */ + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + /** + * lastIndex attribute를 리턴한다. + * + * @return the lastIndex + */ + public int getLastIndex() { + return lastIndex; + } + + /** + * lastIndex attribute 값을 설정한다. + * + * @param lastIndex + * the lastIndex to set + */ + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + /** + * recordCountPerPage attribute를 리턴한다. + * + * @return the recordCountPerPage + */ + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + /** + * recordCountPerPage attribute 값을 설정한다. + * + * @param recordCountPerPage + * the recordCountPerPage to set + */ + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + + /** + * rowNo attribute를 리턴한다. + * + * @return the rowNo + */ + public int getRowNo() { + return rowNo; + } + + /** + * rowNo attribute 값을 설정한다. + * + * @param rowNo + * the rowNo to set + */ + public void setRowNo(int rowNo) { + this.rowNo = rowNo; + } + + /** + * frstRegisterNm attribute를 리턴한다. + * + * @return the frstRegisterNm + */ + public String getFrstRegisterNm() { + return frstRegisterNm; + } + + /** + * frstRegisterNm attribute 값을 설정한다. + * + * @param frstRegisterNm + * the frstRegisterNm to set + */ + public void setFrstRegisterNm(String frstRegisterNm) { + this.frstRegisterNm = frstRegisterNm; + } + + /** + * bbsTyCodeNm attribute를 리턴한다. + * + * @return the bbsTyCodeNm + */ + public String getBbsTyCodeNm() { + return bbsTyCodeNm; + } + + /** + * bbsTyCodeNm attribute 값을 설정한다. + * + * @param bbsTyCodeNm + * the bbsTyCodeNm to set + */ + public void setBbsTyCodeNm(String bbsTyCodeNm) { + this.bbsTyCodeNm = bbsTyCodeNm; + } + + /** + * tmplatNm attribute를 리턴한다. + * + * @return the tmplatNm + */ + public String getTmplatNm() { + return tmplatNm; + } + + /** + * tmplatNm attribute 값을 설정한다. + * + * @param tmplatNm + * the tmplatNm to set + */ + public void setTmplatNm(String tmplatNm) { + this.tmplatNm = tmplatNm; + } + + /** + * lastUpdusrNm attribute를 리턴한다. + * + * @return the lastUpdusrNm + */ + public String getLastUpdusrNm() { + return lastUpdusrNm; + } + + /** + * lastUpdusrNm attribute 값을 설정한다. + * + * @param lastUpdusrNm + * the lastUpdusrNm to set + */ + public void setLastUpdusrNm(String lastUpdusrNm) { + this.lastUpdusrNm = lastUpdusrNm; + } + + /** + * authFlag attribute를 리턴한다. + * + * @return the authFlag + */ + public String getAuthFlag() { + return authFlag; + } + + /** + * authFlag attribute 값을 설정한다. + * + * @param authFlag + * the authFlag to set + */ + public void setAuthFlag(String authFlag) { + this.authFlag = authFlag; + } + + /** + * tmplatCours attribute를 리턴한다. + * + * @return the tmplatCours + */ + public String getTmplatCours() { + return tmplatCours; + } + + /** + * tmplatCours attribute 값을 설정한다. + * + * @param tmplatCours + * the tmplatCours to set + */ + public void setTmplatCours(String tmplatCours) { + this.tmplatCours = tmplatCours; + } + + /** + * toString 메소드를 대치한다. + */ + public String toString() { + return ToStringBuilder.reflectionToString(this); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/bbs/service/BoardMasterVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/cmt/web/EgovArticleCommentController.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/cmt/web/EgovArticleCommentController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/cmt/web/EgovArticleCommentController.java (revision 7) @@ -0,0 +1,298 @@ +package egovframework.com.cop.cmt.web; + +import java.util.HashMap; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springmodules.validation.commons.DefaultBeanValidator; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.cop.cmt.service.Comment; +import egovframework.com.cop.cmt.service.CommentVO; +import egovframework.com.cop.cmt.service.EgovArticleCommentService; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +/** + * 댓글 관리를 위한 컨트롤러 클래스 + * @author 공통서비스개발팀 신용호 + * @since 2016.07.22 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2016.07.22 신용호 최초 생성 + * 2018.06.27 신용호 댓글 등록후 처리 예외 수정 + * </pre> + */ + +@Controller +public class EgovArticleCommentController { + + @Resource(name = "EgovArticleCommentService") + protected EgovArticleCommentService egovArticleCommentService; + + @Resource(name="propertiesService") + protected EgovPropertyService propertyService; + + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + @Autowired + private DefaultBeanValidator beanValidator; + + //protected Logger log = Logger.getLogger(this.getClass()); + + /** + * 댓글관리 목록 조회를 제공한다. + * + * @param boardVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/cmt/selectArticleCommentList.do") + public String selectArticleCommentList(@ModelAttribute("searchVO") CommentVO commentVO, ModelMap model) throws Exception { + + CommentVO articleCommentVO = new CommentVO(); + + // 수정 처리된 후 댓글 등록 화면으로 처리되기 위한 구현 + if (commentVO.isModified()) { + commentVO.setCommentNo(""); + commentVO.setCommentCn(""); + } + + // 수정을 위한 처리 + if (!commentVO.getCommentNo().equals("")) { + return "forward:/cop/cmt/updateArticleCommentView.do"; + } + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + // KISA 보안취약점 조치 (2018-12-10, 신용호) + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + model.addAttribute("sessionUniqId", user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + + commentVO.setWrterNm(user == null ? "" : EgovStringUtil.isNullToString(user.getName())); + +// commentVO.setSubPageUnit(propertyService.getInt("pageUnit")); +// commentVO.setSubPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(commentVO.getSubPageIndex()); + paginationInfo.setRecordCountPerPage(commentVO.getSubPageUnit()); + paginationInfo.setPageSize(commentVO.getSubPageSize()); + + commentVO.setSubFirstIndex(paginationInfo.getFirstRecordIndex()); + commentVO.setSubLastIndex(paginationInfo.getLastRecordIndex()); + commentVO.setSubRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + Map<String, Object> map = egovArticleCommentService.selectArticleCommentList(commentVO); + int totCnt = Integer.parseInt((String)map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", map.get("resultCnt")); + model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("type", "body"); // 댓글 페이지 body import용 + + model.addAttribute("articleCommentVO", articleCommentVO); // validator 용도 + + commentVO.setCommentCn(""); // 등록 후 댓글 내용 처리 + + return "egovframework/com/cop/cmt/EgovArticleCommentList"; + } + + + /** + * 댓글을 등록한다. + * + * @param commentVO + * @param comment + * @param bindingResult + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/cmt/insertArticleComment.do") + public String insertArticleComment(@ModelAttribute("searchVO") CommentVO commentVO, @ModelAttribute("comment") Comment comment, + BindingResult bindingResult, ModelMap model, @RequestParam HashMap<String, String> map) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + beanValidator.validate(comment, bindingResult); + if (bindingResult.hasErrors()) { + model.addAttribute("msg", "댓글내용은 필수 입력값입니다."); + + return "forward:/cop/bbs/selectArticleDetail.do"; + } + + if (isAuthenticated) { + comment.setFrstRegisterId(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + comment.setWrterId(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + comment.setWrterNm(user == null ? "" : EgovStringUtil.isNullToString(user.getName())); + + + egovArticleCommentService.insertArticleComment(comment); + + commentVO.setCommentCn(""); + commentVO.setCommentNo(""); + } + + String chkBlog = map.get("blogAt"); + + if("Y".equals(chkBlog)){ + return "forward:/cop/bbs/selectArticleBlogList.do"; + }else{ + return "forward:/cop/bbs/selectArticleDetail.do"; + } + + } + + + /** + * 댓글을 삭제한다. + * + * @param commentVO + * @param comment + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/cmt/deleteArticleComment.do") + public String deleteArticleComment(@ModelAttribute("searchVO") CommentVO commentVO, @ModelAttribute("comment") Comment comment, + ModelMap model, @RequestParam HashMap<String, String> map) throws Exception { + @SuppressWarnings("unused") + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if (isAuthenticated) { + egovArticleCommentService.deleteArticleComment(commentVO); + } + + commentVO.setCommentCn(""); + commentVO.setCommentNo(""); + + String chkBlog = map.get("blogAt"); + + if("Y".equals(chkBlog)){ + return "forward:/cop/bbs/selectArticleBlogList.do"; + }else{ + return "forward:/cop/bbs/selectArticleDetail.do"; + } + } + + + /** + * 댓글 수정 페이지로 이동한다. + * + * @param commentVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/cmt/updateArticleCommentView.do") + public String updateArticleCommentView(@ModelAttribute("searchVO") CommentVO commentVO, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + //KISA 보안취약점 조치 (2018-12-10, 신용호) + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + CommentVO articleCommentVO = new CommentVO(); + + commentVO.setWrterNm(user == null ? "" : EgovStringUtil.isNullToString(user.getName())); + + commentVO.setSubPageUnit(propertyService.getInt("pageUnit")); + commentVO.setSubPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(commentVO.getSubPageIndex()); + paginationInfo.setRecordCountPerPage(commentVO.getSubPageUnit()); + paginationInfo.setPageSize(commentVO.getSubPageSize()); + + commentVO.setSubFirstIndex(paginationInfo.getFirstRecordIndex()); + commentVO.setSubLastIndex(paginationInfo.getLastRecordIndex()); + commentVO.setSubRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + Map<String, Object> map = egovArticleCommentService.selectArticleCommentList(commentVO); + int totCnt = Integer.parseInt((String)map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", map.get("resultCnt")); + model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("type", "body"); // body import + + articleCommentVO = egovArticleCommentService.selectArticleCommentDetail(commentVO); + + model.addAttribute("articleCommentVO", articleCommentVO); + + + return "egovframework/com/cop/cmt/EgovArticleCommentList"; + } + + + /** + * 댓글을 수정한다. + * + * @param commentVO + * @param comment + * @param bindingResult + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/cop/cmt/updateArticleComment.do") + public String updateArticleComment(@ModelAttribute("searchVO") CommentVO commentVO, @ModelAttribute("comment") Comment comment, + BindingResult bindingResult, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + beanValidator.validate(comment, bindingResult); + if (bindingResult.hasErrors()) { + model.addAttribute("msg", "내용은 필수 입력 값입니다."); + + return "forward:/cop/bbs/selectArticleDetail.do"; + } + + if (isAuthenticated) { + comment.setLastUpdusrId(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + + egovArticleCommentService.updateArticleComment(comment); + + commentVO.setCommentCn(""); + commentVO.setCommentNo(""); + } + + return "forward:/cop/bbs/selectArticleDetail.do"; + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/cop/cmt/web/EgovArticleCommentController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/cmt/service/impl/EgovArticleCommentDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/cmt/service/impl/EgovArticleCommentDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/cmt/service/impl/EgovArticleCommentDAO.java (revision 7) @@ -0,0 +1,38 @@ +package egovframework.com.cop.cmt.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Repository; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.cop.cmt.service.Comment; +import egovframework.com.cop.cmt.service.CommentVO; + +@Repository("EgovArticleCommentDAO") +public class EgovArticleCommentDAO extends EgovComAbstractDAO{ + + public List<?> selectArticleCommentList(CommentVO commentVO) { + return list("ArticleComment.selectArticleCommentList", commentVO); + } + + public int selectArticleCommentListCnt(CommentVO commentVO) { + return (Integer)selectOne("ArticleComment.selectArticleCommentListCnt", commentVO); + } + + public void insertArticleComment(Comment comment) { + insert("ArticleComment.insertArticleComment", comment); + } + + public void deleteArticleComment(CommentVO commentVO) { + update("ArticleComment.deleteArticleComment", commentVO); + } + + public CommentVO selectArticleCommentDetail(CommentVO commentVO) { + return (CommentVO) selectOne("ArticleComment.selectArticleCommentDetail", commentVO); + } + + public void updateArticleComment(Comment comment) { + update("ArticleComment.updateArticleComment", comment); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cop/cmt/service/impl/EgovArticleCommentDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/cmt/service/impl/EgovArticleCommentServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/cmt/service/impl/EgovArticleCommentServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/cmt/service/impl/EgovArticleCommentServiceImpl.java (revision 7) @@ -0,0 +1,95 @@ +package egovframework.com.cop.cmt.service.impl; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import egovframework.com.cop.bbs.service.BoardMaster; +import egovframework.com.cop.bbs.service.BoardMasterVO; +import egovframework.com.cop.bbs.service.impl.BBSAddedOptionsDAO; +import egovframework.com.cop.cmt.service.Comment; +import egovframework.com.cop.cmt.service.CommentVO; +import egovframework.com.cop.cmt.service.EgovArticleCommentService; +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.cmmn.exception.FdlException; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; + +@Service("EgovArticleCommentService") +public class EgovArticleCommentServiceImpl extends EgovAbstractServiceImpl implements EgovArticleCommentService { + + @Resource(name = "BBSAddedOptionsDAO") + private BBSAddedOptionsDAO addedOptionsDAO; + + @Resource(name = "EgovArticleCommentDAO") + private EgovArticleCommentDAO egovArticleCommentDao; + + @Resource(name = "egovAnswerNoGnrService") + private EgovIdGnrService egovAnswerNoGnrService; + + /** + * 댓글 사용 가능 여부를 확인한다. + */ + public boolean canUseComment(String bbsId) throws Exception { + //String flag = EgovProperties.getProperty("Globals.addedOptions"); + //if (flag != null && flag.trim().equalsIgnoreCase("true")) {//2011.09.15 + BoardMaster vo = new BoardMaster(); + + vo.setBbsId(bbsId); + + BoardMasterVO options = addedOptionsDAO.selectAddedOptionsInf(vo); + + if (options == null) { + return false; + } + + if (options.getCommentAt().equals("Y")) { + return true; + } + //} + + return false; + } + + @Override + public Map<String, Object> selectArticleCommentList(CommentVO commentVO) { + List<?> result = egovArticleCommentDao.selectArticleCommentList(commentVO); + int cnt = egovArticleCommentDao.selectArticleCommentListCnt(commentVO); + + Map<String, Object> map = new HashMap<String, Object>(); + + map.put("resultList", result); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + } + + + @Override + public void insertArticleComment(Comment comment) throws FdlException { + comment.setCommentNo(egovAnswerNoGnrService.getNextLongId() + "");//2011.10.18 + egovArticleCommentDao.insertArticleComment(comment); + } + + + @Override + public void deleteArticleComment(CommentVO commentVO) { + egovArticleCommentDao.deleteArticleComment(commentVO); + } + + + @Override + public CommentVO selectArticleCommentDetail(CommentVO commentVO) { + return egovArticleCommentDao.selectArticleCommentDetail(commentVO); + } + + + @Override + public void updateArticleComment(Comment comment) { + egovArticleCommentDao.updateArticleComment(comment); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/cop/cmt/service/impl/EgovArticleCommentServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/cmt/service/Comment.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/cmt/service/Comment.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/cmt/service/Comment.java (revision 7) @@ -0,0 +1,297 @@ +package egovframework.com.cop.cmt.service; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * 댓글관리 서비스 데이터 처리 모델 + * @author 공통컴포넌트개발팀 한성곤 + * @since 2009.06.29 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.06.29 한성곤 최초 생성 + * + * </pre> + */ +@SuppressWarnings("serial") +public class Comment implements Serializable { + /** 댓글번호 */ + private String commentNo = ""; + + /** 게시판 ID */ + private String bbsId = ""; + + /** 게시물 번호 */ + private long nttId = 0L; + + /** 작성자 ID */ + private String wrterId = ""; + + /** 작성자명 */ + private String wrterNm = ""; + + /** 패스워드 */ + private String commentPassword = ""; + + /** 댓글 내용 */ + private String commentCn = ""; + + /** 사용 여부 */ + private String useAt = ""; + + /** 최초등록자 아이디 */ + private String frstRegisterId = ""; + + /** 최초 등록자명 */ + private String frstRegisterNm = ""; + + /** 최초등록시점 */ + private String frstRegisterPnttm = ""; + + /** 최종수정자 아이디 */ + private String lastUpdusrId = ""; + + /** 최종수정시점 */ + private String lastUpdusrPnttm = ""; + + /** 확인 패스워드 */ + private String confirmPassword = ""; + + /** + * commentNo attribute를 리턴한다. + * @return the commentNo + */ + public String getCommentNo() { + return commentNo; + } + + /** + * commentNo attribute 값을 설정한다. + * @param commentNo the commentNo to set + */ + public void setCommentNo(String commentNo) { + this.commentNo = commentNo; + } + + /** + * bbsId attribute를 리턴한다. + * @return the bbsId + */ + public String getBbsId() { + return bbsId; + } + + /** + * bbsId attribute 값을 설정한다. + * @param bbsId the bbsId to set + */ + public void setBbsId(String bbsId) { + this.bbsId = bbsId; + } + + /** + * nttId attribute를 리턴한다. + * @return the nttId + */ + public long getNttId() { + return nttId; + } + + /** + * nttId attribute 값을 설정한다. + * @param nttId the nttId to set + */ + public void setNttId(long nttId) { + this.nttId = nttId; + } + + /** + * wrterId attribute를 리턴한다. + * @return the wrterId + */ + public String getWrterId() { + return wrterId; + } + + /** + * wrterId attribute 값을 설정한다. + * @param wrterId the wrterId to set + */ + public void setWrterId(String wrterId) { + this.wrterId = wrterId; + } + + /** + * wrterNm attribute를 리턴한다. + * @return the wrterNm + */ + public String getWrterNm() { + return wrterNm; + } + + /** + * wrterNm attribute 값을 설정한다. + * @param wrterNm the wrterNm to set + */ + public void setWrterNm(String wrterNm) { + this.wrterNm = wrterNm; + } + + /** + * commentPassword attribute를 리턴한다. + * @return the commentPassword + */ + public String getCommentPassword() { + return commentPassword; + } + + /** + * commentPassword attribute 값을 설정한다. + * @param commentPassword the commentPassword to set + */ + public void setCommentPassword(String commentPassword) { + this.commentPassword = commentPassword; + } + + /** + * commentCn attribute를 리턴한다. + * @return the commentCn + */ + public String getCommentCn() { + return commentCn; + } + + /** + * commentCn attribute 값을 설정한다. + * @param commentCn the commentCn to set + */ + public void setCommentCn(String commentCn) { + this.commentCn = commentCn; + } + + /** + * useAt attribute를 리턴한다. + * @return the useAt + */ + public String getUseAt() { + return useAt; + } + + /** + * useAt attribute 값을 설정한다. + * @param useAt the useAt to set + */ + public void setUseAt(String useAt) { + this.useAt = useAt; + } + + /** + * frstRegisterId attribute를 리턴한다. + * @return the frstRegisterId + */ + public String getFrstRegisterId() { + return frstRegisterId; + } + + /** + * frstRegisterId attribute 값을 설정한다. + * @param frstRegisterId the frstRegisterId to set + */ + public void setFrstRegisterId(String frstRegisterId) { + this.frstRegisterId = frstRegisterId; + } + + /** + * frstRegisterPnttm attribute를 리턴한다. + * @return the frstRegisterPnttm + */ + public String getFrstRegisterPnttm() { + return frstRegisterPnttm; + } + + /** + * frstRegisterPnttm attribute 값을 설정한다. + * @param frstRegisterPnttm the frstRegisterPnttm to set + */ + public void setFrstRegisterPnttm(String frstRegisterPnttm) { + this.frstRegisterPnttm = frstRegisterPnttm; + } + + /** + * lastUpdusrId attribute를 리턴한다. + * @return the lastUpdusrId + */ + public String getLastUpdusrId() { + return lastUpdusrId; + } + + /** + * lastUpdusrId attribute 값을 설정한다. + * @param lastUpdusrId the lastUpdusrId to set + */ + public void setLastUpdusrId(String lastUpdusrId) { + this.lastUpdusrId = lastUpdusrId; + } + + /** + * lastUpdusrPnttm attribute를 리턴한다. + * @return the lastUpdusrPnttm + */ + public String getLastUpdusrPnttm() { + return lastUpdusrPnttm; + } + + /** + * lastUpdusrPnttm attribute 값을 설정한다. + * @param lastUpdusrPnttm the lastUpdusrPnttm to set + */ + public void setLastUpdusrPnttm(String lastUpdusrPnttm) { + this.lastUpdusrPnttm = lastUpdusrPnttm; + } + + /** + * frstRegisterNm attribute를 리턴한다. + * @return the frstRegisterNm + */ + public String getFrstRegisterNm() { + return frstRegisterNm; + } + + /** + * frstRegisterNm attribute 값을 설정한다. + * @param frstRegisterNm the frstRegisterNm to set + */ + public void setFrstRegisterNm(String frstRegisterNm) { + this.frstRegisterNm = frstRegisterNm; + } + + /** + * confirmPassword attribute를 리턴한다. + * @return the confirmPassword + */ + public String getConfirmPassword() { + return confirmPassword; + } + + /** + * confirmPassword attribute 값을 설정한다. + * @param confirmPassword the confirmPassword to set + */ + public void setConfirmPassword(String confirmPassword) { + this.confirmPassword = confirmPassword; + } + + /** + * toString 메소드를 대치한다. + */ + public String toString() { + return ToStringBuilder.reflectionToString(this); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/cmt/service/Comment.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/cmt/service/CommentVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/cmt/service/CommentVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/cmt/service/CommentVO.java (revision 7) @@ -0,0 +1,219 @@ +package egovframework.com.cop.cmt.service; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * 댓글관리 서비스를 위한 VO 클래스 + * @author 공통컴포넌트개발팀 한성곤 + * @since 2009.06.29 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.06.29 한성곤 최초 생성 + * + * </pre> + */ +@SuppressWarnings("serial") +public class CommentVO extends Comment { + /** 정렬순서(DESC,ASC) */ + private long sortOrdr = 0L; + + /** 현재페이지 */ + private int subPageIndex = 1; + + /** 페이지갯수 */ + private int subPageUnit = 5; + + /** 페이지사이즈 */ + private int subPageSize = 5; + + /** 첫페이지 인덱스 */ + private int subFirstIndex = 1; + + /** 마지막페이지 인덱스 */ + private int subLastIndex = 1; + + /** 페이지당 레코드 개수 */ + private int subRecordCountPerPage = 5; + + /** 레코드 번호 */ + private int subRowNo = 0; + + /** 호출 TYPE (head or body)*/ + private String type = ""; + + /** 수정 처리 여부 */ + private boolean isModified = false; + + /** + * sortOrdr attribute를 리턴한다. + * @return the sortOrdr + */ + public long getSortOrdr() { + return sortOrdr; + } + + /** + * sortOrdr attribute 값을 설정한다. + * @param sortOrdr the sortOrdr to set + */ + public void setSortOrdr(long sortOrdr) { + this.sortOrdr = sortOrdr; + } + + /** + * subPageIndex attribute를 리턴한다. + * @return the subPageIndex + */ + public int getSubPageIndex() { + return subPageIndex; + } + + /** + * subPageIndex attribute 값을 설정한다. + * @param subPageIndex the subPageIndex to set + */ + public void setSubPageIndex(int subPageIndex) { + this.subPageIndex = subPageIndex; + } + + /** + * subPageUnit attribute를 리턴한다. + * @return the subPageUnit + */ + public int getSubPageUnit() { + return subPageUnit; + } + + /** + * subPageUnit attribute 값을 설정한다. + * @param subPageUnit the subPageUnit to set + */ + public void setSubPageUnit(int subPageUnit) { + this.subPageUnit = subPageUnit; + } + + /** + * subPageSize attribute를 리턴한다. + * @return the subPageSize + */ + public int getSubPageSize() { + return subPageSize; + } + + /** + * subPageSize attribute 값을 설정한다. + * @param subPageSize the subPageSize to set + */ + public void setSubPageSize(int subPageSize) { + this.subPageSize = subPageSize; + } + + /** + * subFirstIndex attribute를 리턴한다. + * @return the subFirstIndex + */ + public int getSubFirstIndex() { + return subFirstIndex; + } + + /** + * subFirstIndex attribute 값을 설정한다. + * @param subFirstIndex the subFirstIndex to set + */ + public void setSubFirstIndex(int subFirstIndex) { + this.subFirstIndex = subFirstIndex; + } + + /** + * subLastIndex attribute를 리턴한다. + * @return the subLastIndex + */ + public int getSubLastIndex() { + return subLastIndex; + } + + /** + * subLastIndex attribute 값을 설정한다. + * @param subLastIndex the subLastIndex to set + */ + public void setSubLastIndex(int subLastIndex) { + this.subLastIndex = subLastIndex; + } + + /** + * subRecordCountPerPage attribute를 리턴한다. + * @return the subRecordCountPerPage + */ + public int getSubRecordCountPerPage() { + return subRecordCountPerPage; + } + + /** + * subRecordCountPerPage attribute 값을 설정한다. + * @param subRecordCountPerPage the subRecordCountPerPage to set + */ + public void setSubRecordCountPerPage(int subRecordCountPerPage) { + this.subRecordCountPerPage = subRecordCountPerPage; + } + + /** + * subRowNo attribute를 리턴한다. + * @return the subRowNo + */ + public int getSubRowNo() { + return subRowNo; + } + + /** + * subRowNo attribute 값을 설정한다. + * @param subRowNo the subRowNo to set + */ + public void setSubRowNo(int subRowNo) { + this.subRowNo = subRowNo; + } + + /** + * type attribute를 리턴한다. + * @return the type + */ + public String getType() { + return type; + } + + /** + * type attribute 값을 설정한다. + * @param type the type to set + */ + public void setType(String type) { + this.type = type; + } + + /** + * isModified attribute를 리턴한다. + * @return the isModified + */ + public boolean isModified() { + return isModified; + } + + /** + * isModified attribute 값을 설정한다. + * @param isModified the isModified to set + */ + public void setModified(boolean isModified) { + this.isModified = isModified; + } + + /** + * toString 메소드를 대치한다. + */ + public String toString() { + return ToStringBuilder.reflectionToString(this); + } +} Property changes on: base3.10/src/main/java/egovframework/com/cop/cmt/service/CommentVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/cop/cmt/service/EgovArticleCommentService.java =================================================================== --- base3.10/src/main/java/egovframework/com/cop/cmt/service/EgovArticleCommentService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/cop/cmt/service/EgovArticleCommentService.java (revision 7) @@ -0,0 +1,21 @@ +package egovframework.com.cop.cmt.service; + +import java.util.Map; + +import egovframework.rte.fdl.cmmn.exception.FdlException; + +public interface EgovArticleCommentService { + + public boolean canUseComment(String bbsId) throws Exception; + + Map<String, Object> selectArticleCommentList(CommentVO commentVO); + + void insertArticleComment(Comment comment) throws FdlException; + + void deleteArticleComment(CommentVO commentVO); + + CommentVO selectArticleCommentDetail(CommentVO commentVO); + + void updateArticleComment(Comment comment); + +} Property changes on: base3.10/src/main/java/egovframework/com/cop/cmt/service/EgovArticleCommentService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/web/EgovDeptManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/web/EgovDeptManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/web/EgovDeptManageController.java (revision 7) @@ -0,0 +1,199 @@ +package egovframework.com.uss.umt.web; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.uss.umt.service.DeptManageVO; +import egovframework.com.uss.umt.service.EgovDeptManageService; + +import egovframework.rte.fdl.idgnr.EgovIdGnrService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springmodules.validation.commons.DefaultBeanValidator; + +/** + * 부서관련 처리를 비지니스 클래스로 전달하고 처리된결과를 해당 웹 화면으로 전달하는 Controller를 정의한다 + * @author 공통서비스 개발팀 조재영 + * @since 2009.00.00 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.02.01 lee.m.j 최초 생성 + * 2015.06.16 조정국 서비스 화면 접근시 조회결과를 표시하도록 수정 + * </pre> + */ + +@Controller +public class EgovDeptManageController { + + @Resource(name = "egovMessageSource") + EgovMessageSource egovMessageSource; + + @Resource(name = "egovDeptManageService") + private EgovDeptManageService egovDeptManageService; + + /** Message ID Generation */ + @Resource(name = "egovDeptManageIdGnrService") + private EgovIdGnrService egovDeptManageIdGnrService; + + @Autowired + private DefaultBeanValidator beanValidator; + + /** + * 부서 목록화면 이동 + * @return String + * @exception Exception + */ + @IncludedInfo(name = "부서관리", order = 461, gid = 50) + @RequestMapping("/uss/umt/dpt/selectDeptManageListView.do") + public String selectDeptManageListView() throws Exception { + + return "forward:/uss/umt/dpt/selectDeptManageList.do"; +// return "egovframework/com/uss/umt/EgovDeptManageList"; + } + + /** + * 부서를 관리하기 위해 등록된 부서목록을 조회한다. + * @param bannerVO - 배너 VO + * @return String - 리턴 URL + * @throws Exception + */ + + @RequestMapping(value = "/uss/umt/dpt/selectDeptManageList.do") + public String selectDeptManageList(@ModelAttribute("deptManageVO") DeptManageVO deptManageVO, ModelMap model) throws Exception { + + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(deptManageVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(deptManageVO.getPageUnit()); + paginationInfo.setPageSize(deptManageVO.getPageSize()); + + deptManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + deptManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); + deptManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + model.addAttribute("deptManageList", egovDeptManageService.selectDeptManageList(deptManageVO)); + + int totCnt = egovDeptManageService.selectDeptManageListTotCnt(deptManageVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("message", egovMessageSource.getMessage("success.common.select")); + return "egovframework/com/uss/umt/EgovDeptManageList"; + } + + /** + * 등록된 부서의 상세정보를 조회한다. + * @param bannerVO - 부서 Vo + * @return String - 리턴 Url + */ + + @RequestMapping(value = "/uss/umt/dpt/getDeptManage.do") + public String selectDeptManage(@RequestParam("orgnztId") String orgnztId, @ModelAttribute("deptManageVO") DeptManageVO deptManageVO, ModelMap model) throws Exception { + + deptManageVO.setOrgnztId(orgnztId); + + model.addAttribute("deptManage", egovDeptManageService.selectDeptManage(deptManageVO)); + model.addAttribute("message", egovMessageSource.getMessage("success.common.select")); + return "egovframework/com/uss/umt/EgovDeptManageUpdt"; + } + + /** + * 부서등록 화면으로 이동한다. + * @param banner - 부서 model + * @return String - 리턴 Url + */ + @RequestMapping(value = "/uss/umt/dpt/addViewDeptManage.do") + public String insertViewDeptManage(@ModelAttribute("deptManageVO") DeptManageVO deptManageVO, ModelMap model) throws Exception { + + model.addAttribute("deptManage", deptManageVO); + return "egovframework/com/uss/umt/EgovDeptManageInsert"; + } + + /** + * 부서정보를 신규로 등록한다. + * @param banner - 부서 model + * @return String - 리턴 Url + */ + @RequestMapping(value = "/uss/umt/dpt/addDeptManage.do") + public String insertDeptManage(@ModelAttribute("deptManageVO") DeptManageVO deptManageVO, BindingResult bindingResult, ModelMap model) throws Exception { + + beanValidator.validate(deptManageVO, bindingResult); //validation 수행 + + deptManageVO.setOrgnztId(egovDeptManageIdGnrService.getNextStringId()); + + if (bindingResult.hasErrors()) { + return "egovframework/com/uss/umt/EgovDeptManageInsert"; + } else { + egovDeptManageService.insertDeptManage(deptManageVO); + model.addAttribute("message", egovMessageSource.getMessage("success.common.insert")); + return "forward:/uss/umt/dpt/selectDeptManageList.do"; + } + } + + /** + * 기 등록된 부서정보를 수정한다. + * @param banner - 부서 model + * @return String - 리턴 Url + */ + @RequestMapping(value = "/uss/umt/dpt/updtDeptManage.do") + public String updateDeptManage(@ModelAttribute("deptManageVO") DeptManageVO deptManageVO, BindingResult bindingResult, ModelMap model) throws Exception { + beanValidator.validate(deptManageVO, bindingResult); //validation 수행 + + if (bindingResult.hasErrors()) { + return "egovframework/com/uss/umt/EgovDeptManageUpdt"; + } else { + egovDeptManageService.updateDeptManage(deptManageVO); + model.addAttribute("message", egovMessageSource.getMessage("success.common.insert")); + return "forward:/uss/umt/dpt/selectDeptManageList.do"; + } + } + + /** + * 기 등록된 부서정보를 삭제한다. + * @param banner Banner + * @return String + * @exception Exception + */ + @RequestMapping(value = "/uss/umt/dpt/removeDeptManage.do") + public String deleteDeptManage(@ModelAttribute("deptManageVO") DeptManageVO deptManageVO, Model model) throws Exception { + + egovDeptManageService.deleteDeptManage(deptManageVO); + model.addAttribute("message", egovMessageSource.getMessage("success.common.delete")); + return "forward:/uss/umt/dpt/selectDeptManageList.do"; + } + + /** + * 기 등록된 부서정보목록을 일괄 삭제한다. + * @param banners String + * @param banner Banner + * @return String + * @exception Exception + */ + @RequestMapping(value = "/uss/umt/dpt/removeDeptManageList.do") + public String deleteDeptManageList(@RequestParam("deptManages") String deptManages, @ModelAttribute("deptManageVO") DeptManageVO deptManageVO, ModelMap model) throws Exception { + + String[] strDeptManages = deptManages.split(";"); + for (int i = 0; i < strDeptManages.length; i++) { + deptManageVO.setOrgnztId(strDeptManages[i]); + egovDeptManageService.deleteDeptManage(deptManageVO); + } + + model.addAttribute("message", egovMessageSource.getMessage("success.common.delete")); + return "forward:/uss/umt/dpt/selectDeptManageList.do"; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/web/EgovDeptManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/web/EgovMberManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/web/EgovMberManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/web/EgovMberManageController.java (revision 7) @@ -0,0 +1,528 @@ +package egovframework.com.uss.umt.web; + +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springmodules.validation.commons.DefaultBeanValidator; + +import egovframework.com.cmm.ComDefaultCodeVO; +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.service.EgovCmmUseService; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.uss.umt.service.EgovMberManageService; +import egovframework.com.uss.umt.service.MberManageVO; +import egovframework.com.uss.umt.service.UserDefaultVO; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.com.utl.sim.service.EgovFileScrty; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +/** + * 일반회원관련 요청을 비지니스 클래스로 전달하고 처리된결과를 해당 웹 화면으로 전달하는 Controller를 정의한다 + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * 2011.08.26 정진오 IncludedInfo annotation 추가 + * 2014.12.08 이기하 암호화방식 변경(EgovFileScrty.encryptPassword) + * 2015.06.16 조정국 수정시 유효성체크 후 에러발생 시 목록으로 이동하여 에러메시지 표시 + * 2015.06.19 조정국 미인증 사용자에 대한 보안처리 기준 수정 (!isAuthenticated) + * 2017.07.21 장동한 로그인인증제한 작업 + * + * </pre> + */ + +@Controller +public class EgovMberManageController { + + /** mberManageService */ + @Resource(name = "mberManageService") + private EgovMberManageService mberManageService; + + /** cmmUseService */ + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService cmmUseService; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** DefaultBeanValidator beanValidator */ + @Autowired + private DefaultBeanValidator beanValidator; + + /** + * 일반회원목록을 조회한다. (pageing) + * @param userSearchVO 검색조건정보 + * @param model 화면모델 + * @return uss/umt/EgovMberManage + * @throws Exception + */ + @IncludedInfo(name = "일반회원관리", order = 470, gid = 50) + @RequestMapping(value = "/uss/umt/EgovMberManage.do") + public String selectMberList(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO, ModelMap model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { +// return "redirect:/egovDevIndex.jsp"; +// return "/EgovContent.do"; + return "index"; + } + + /** EgovPropertyService */ + userSearchVO.setPageUnit(propertiesService.getInt("pageUnit")); + userSearchVO.setPageSize(propertiesService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(userSearchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(userSearchVO.getPageUnit()); + paginationInfo.setPageSize(userSearchVO.getPageSize()); + + userSearchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + userSearchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + userSearchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List<?> mberList = mberManageService.selectMberList(userSearchVO); + model.addAttribute("resultList", mberList); + + int totCnt = mberManageService.selectMberListTotCnt(userSearchVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + //일반회원 상태코드를 코드정보로부터 조회 + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + vo.setCodeId("COM013"); + List<?> mberSttus_result = cmmUseService.selectCmmCodeDetail(vo); + model.addAttribute("entrprsMberSttus_result", mberSttus_result);//기업회원상태코드목록 + + return "egovframework/com/uss/umt/EgovMberManage"; + } + + /** + * 일반회원등록화면으로 이동한다. + * @param userSearchVO 검색조건정보 + * @param mberManageVO 일반회원초기화정보 + * @param model 화면모델 + * @return uss/umt/EgovMberInsert + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovMberInsertView.do") + public String insertMberView(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO, @ModelAttribute("mberManageVO") MberManageVO mberManageVO, Model model) + throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + + //패스워드힌트목록을 코드정보로부터 조회 + vo.setCodeId("COM022"); + List<?> passwordHint_result = cmmUseService.selectCmmCodeDetail(vo); + //성별구분코드를 코드정보로부터 조회 + vo.setCodeId("COM014"); + List<?> sexdstnCode_result = cmmUseService.selectCmmCodeDetail(vo); + //사용자상태코드를 코드정보로부터 조회 + vo.setCodeId("COM013"); + List<?> mberSttus_result = cmmUseService.selectCmmCodeDetail(vo); + //그룹정보를 조회 - GROUP_ID정보 + vo.setTableNm("COMTNORGNZTINFO"); + List<?> groupId_result = cmmUseService.selectGroupIdDetail(vo); + + model.addAttribute("passwordHint_result", passwordHint_result); //패스워트힌트목록 + model.addAttribute("sexdstnCode_result", sexdstnCode_result); //성별구분코드목록 + model.addAttribute("mberSttus_result", mberSttus_result); //사용자상태코드목록 + model.addAttribute("groupId_result", groupId_result); //그룹정보 목록 + + return "egovframework/com/uss/umt/EgovMberInsert"; + } + + /** + * 일반회원등록처리후 목록화면으로 이동한다. + * @param mberManageVO 일반회원등록정보 + * @param bindingResult 입력값검증용 bindingResult + * @param model 화면모델 + * @return forward:/uss/umt/EgovMberManage.do + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovMberInsert.do") + public String insertMber(@ModelAttribute("mberManageVO") MberManageVO mberManageVO, BindingResult bindingResult, Model model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + beanValidator.validate(mberManageVO, bindingResult); + if (bindingResult.hasErrors()) { + + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + + //패스워드힌트목록을 코드정보로부터 조회 + vo.setCodeId("COM022"); + List<?> passwordHint_result = cmmUseService.selectCmmCodeDetail(vo); + //성별구분코드를 코드정보로부터 조회 + vo.setCodeId("COM014"); + List<?> sexdstnCode_result = cmmUseService.selectCmmCodeDetail(vo); + //사용자상태코드를 코드정보로부터 조회 + vo.setCodeId("COM013"); + List<?> mberSttus_result = cmmUseService.selectCmmCodeDetail(vo); + //그룹정보를 조회 - GROUP_ID정보 + vo.setTableNm("COMTNORGNZTINFO"); + List<?> groupId_result = cmmUseService.selectGroupIdDetail(vo); + + model.addAttribute("passwordHint_result", passwordHint_result); //패스워트힌트목록 + model.addAttribute("sexdstnCode_result", sexdstnCode_result); //성별구분코드목록 + model.addAttribute("mberSttus_result", mberSttus_result); //사용자상태코드목록 + model.addAttribute("groupId_result", groupId_result); //그룹정보 목록 + + return "egovframework/com/uss/umt/EgovMberInsert"; + } else { + if ("".equals(mberManageVO.getGroupId())) {//KISA 보안약점 조치 (2018-10-29, 윤창원) + mberManageVO.setGroupId(null); + } + mberManageService.insertMber(mberManageVO); + //Exception 없이 진행시 등록 성공메시지 + model.addAttribute("resultMsg", "success.common.insert"); + } + return "forward:/uss/umt/EgovMberManage.do"; + } + + /** + * 일반회원정보 수정을 위해 일반회원정보를 상세조회한다. + * @param mberId 상세조회대상 일반회원아이디 + * @param userSearchVO 검색조건 + * @param model 화면모델 + * @return uss/umt/EgovMberSelectUpdt + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovMberSelectUpdtView.do") + public String updateMberView(@RequestParam("selectedId") String mberId, @ModelAttribute("searchVO") UserDefaultVO userSearchVO, Model model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + + //패스워드힌트목록을 코드정보로부터 조회 + vo.setCodeId("COM022"); + List<?> passwordHint_result = cmmUseService.selectCmmCodeDetail(vo); + + //성별구분코드를 코드정보로부터 조회 + vo.setCodeId("COM014"); + List<?> sexdstnCode_result = cmmUseService.selectCmmCodeDetail(vo); + + //사용자상태코드를 코드정보로부터 조회 + vo.setCodeId("COM013"); + List<?> mberSttus_result = cmmUseService.selectCmmCodeDetail(vo); + + //그룹정보를 조회 - GROUP_ID정보 + vo.setTableNm("COMTNORGNZTINFO"); + List<?> groupId_result = cmmUseService.selectGroupIdDetail(vo); + + model.addAttribute("passwordHint_result", passwordHint_result); //패스워트힌트목록 + model.addAttribute("sexdstnCode_result", sexdstnCode_result); //성별구분코드목록 + model.addAttribute("mberSttus_result", mberSttus_result); //사용자상태코드목록 + model.addAttribute("groupId_result", groupId_result); //그룹정보 목록 + + MberManageVO mberManageVO = mberManageService.selectMber(mberId); + model.addAttribute("mberManageVO", mberManageVO); + model.addAttribute("userSearchVO", userSearchVO); + + return "egovframework/com/uss/umt/EgovMberSelectUpdt"; + } + + /** + * 로그인인증제한 해제 + * @param mberManageVO 일반회원등록정보 + * @param model 화면모델 + * @return uss/umt/EgovMberSelectUpdtView.do + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovMberLockIncorrect.do") + public String updateLockIncorrect(MberManageVO mberManageVO, Model model) throws Exception { + + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + mberManageService.updateLockIncorrect(mberManageVO); + + return "forward:/uss/umt/EgovMberSelectUpdtView.do"; + } + + /** + * 일반회원정보 수정후 목록조회 화면으로 이동한다. + * @param mberManageVO 일반회원수정정보 + * @param bindingResult 입력값검증용 bindingResult + * @param model 화면모델 + * @return forward:/uss/umt/EgovMberManage.do + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovMberSelectUpdt.do") + public String updateMber(@ModelAttribute("mberManageVO") MberManageVO mberManageVO, BindingResult bindingResult, Model model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + beanValidator.validate(mberManageVO, bindingResult); + if (bindingResult.hasErrors()) { + model.addAttribute("resultMsg", bindingResult.getAllErrors().get(0).getDefaultMessage()); + return "forward:/uss/umt/EgovMberManage.do"; + } else { + if ("".equals(mberManageVO.getGroupId())) {//KISA 보안약점 조치 (2018-10-29, 윤창원) + mberManageVO.setGroupId(null); + } + mberManageService.updateMber(mberManageVO); + //Exception 없이 진행시 수정성공메시지 + model.addAttribute("resultMsg", "success.common.update"); + return "forward:/uss/umt/EgovMberManage.do"; + } + } + + /** + * 일반회원정보삭제후 목록조회 화면으로 이동한다. + * @param checkedIdForDel 삭제대상 아이디 정보 + * @param userSearchVO 검색조건정보 + * @param model 화면모델 + * @return forward:/uss/umt/EgovMberManage.do + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovMberDelete.do") + public String deleteMber(@RequestParam("checkedIdForDel") String checkedIdForDel, @ModelAttribute("searchVO") UserDefaultVO userSearchVO, Model model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + mberManageService.deleteMber(checkedIdForDel); + //Exception 없이 진행시 삭제성공메시지 + model.addAttribute("resultMsg", "success.common.delete"); + return "forward:/uss/umt/EgovMberManage.do"; + } + + // 탈퇴 처리 기능에 대한 예시 + @RequestMapping("/uss/umt/EgovMberWithdraw.do") + public String withdrawMber(Model model) throws Exception { + LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + String returnPage = "/"; // 탈퇴 처리 후 화면 지정 + + if (!isAuthenticated) { + model.addAttribute("resultMsg", "fail.common.delete"); + + return "redirect:" + returnPage; + } + + mberManageService.deleteMber(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + //Exception 없이 진행시 삭제성공메시지 + model.addAttribute("resultMsg", "success.common.delete"); + + return "redirect:" + returnPage; + } + + /** + * 일반회원가입신청 등록화면으로 이동한다. + * @param userSearchVO 검색조건 + * @param mberManageVO 일반회원가입신청정보 + * @param commandMap 파라메터전달용 commandMap + * @param model 화면모델 + * @return uss/umt/EgovMberSbscrb + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovMberSbscrbView.do") + public String sbscrbMberView(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO, @ModelAttribute("mberManageVO") MberManageVO mberManageVO, + @RequestParam Map<String, Object> commandMap, Model model) throws Exception { + + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + + //패스워드힌트목록을 코드정보로부터 조회 + vo.setCodeId("COM022"); + List<?> passwordHint_result = cmmUseService.selectCmmCodeDetail(vo); + //성별구분코드를 코드정보로부터 조회 + vo.setCodeId("COM014"); + List<?> sexdstnCode_result = cmmUseService.selectCmmCodeDetail(vo); + + model.addAttribute("passwordHint_result", passwordHint_result); //패스워트힌트목록 + model.addAttribute("sexdstnCode_result", sexdstnCode_result); //성별구분코드목록 + if (!"".equals(commandMap.get("realname"))) { + model.addAttribute("mberNm", commandMap.get("realname")); //실명인증된 이름 - 주민번호 인증 + model.addAttribute("ihidnum", commandMap.get("ihidnum")); //실명인증된 주민등록번호 - 주민번호 인증 + } + if (!"".equals(commandMap.get("realName"))) { + model.addAttribute("mberNm", commandMap.get("realName")); //실명인증된 이름 - ipin인증 + } + + mberManageVO.setMberSttus("DEFAULT"); + + return "egovframework/com/uss/umt/EgovMberSbscrb"; + } + + /** + * 일반회원가입신청등록처리후로그인화면으로 이동한다. + * @param mberManageVO 일반회원가입신청정보 + * @return forward:/uat/uia/egovLoginUsr.do + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovMberSbscrb.do") + public String sbscrbMber(@ModelAttribute("mberManageVO") MberManageVO mberManageVO) throws Exception { + + //가입상태 초기화 + mberManageVO.setMberSttus("A"); + //그룹정보 초기화 + //mberManageVO.setGroupId("1"); + //일반회원가입신청 등록시 일반회원등록기능을 사용하여 등록한다. + mberManageService.insertMber(mberManageVO); + return "forward:/uat/uia/egovLoginUsr.do"; + } + + /** + * 일반회원 약관확인 + * @param model 화면모델 + * @return uss/umt/EgovStplatCnfirm + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovStplatCnfirmMber.do") + public String sbscrbEntrprsMber(Model model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + //Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + //if (!isAuthenticated) { + // return "index"; + //} + + //일반회원용 약관 아이디 설정 + String stplatId = "STPLAT_0000000000001"; + //회원가입유형 설정-일반회원 + String sbscrbTy = "USR01"; + //약관정보 조회 + List<?> stplatList = mberManageService.selectStplat(stplatId); + model.addAttribute("stplatList", stplatList); //약관정보 포함 + model.addAttribute("sbscrbTy", sbscrbTy); //회원가입유형 포함 + + return "egovframework/com/uss/umt/EgovStplatCnfirm"; + } + + /** + * @param model 화면모델 + * @param commandMap 파라메터전달용 commandMap + * @param userSearchVO 검색조건 + * @param mberManageVO 일반회원수정정보(비밀번호) + * @return uss/umt/EgovMberPasswordUpdt + * @throws Exception + */ + @RequestMapping(value = "/uss/umt/EgovMberPasswordUpdt.do") + public String updatePassword(ModelMap model, @RequestParam Map<String, Object> commandMap, @ModelAttribute("searchVO") UserDefaultVO userSearchVO, + @ModelAttribute("mberManageVO") MberManageVO mberManageVO) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + String oldPassword = (String) commandMap.get("oldPassword"); + String newPassword = (String) commandMap.get("newPassword"); + String newPassword2 = (String) commandMap.get("newPassword2"); + String uniqId = (String) commandMap.get("uniqId"); + + boolean isCorrectPassword = false; + MberManageVO resultVO = new MberManageVO(); + mberManageVO.setPassword(newPassword); + mberManageVO.setOldPassword(oldPassword); + mberManageVO.setUniqId(uniqId); + + String resultMsg = ""; + resultVO = mberManageService.selectPassword(mberManageVO); + //패스워드 암호화 + String encryptPass = EgovFileScrty.encryptPassword(oldPassword, mberManageVO.getMberId()); + if (encryptPass.equals(resultVO.getPassword())) { + if (newPassword.equals(newPassword2)) { + isCorrectPassword = true; + } else { + isCorrectPassword = false; + resultMsg = "fail.user.passwordUpdate2"; + } + } else { + isCorrectPassword = false; + resultMsg = "fail.user.passwordUpdate1"; + } + + if (isCorrectPassword) { + mberManageVO.setPassword(EgovFileScrty.encryptPassword(newPassword, mberManageVO.getMberId())); + mberManageService.updatePassword(mberManageVO); + model.addAttribute("mberManageVO", mberManageVO); + resultMsg = "success.common.update"; + } else { + model.addAttribute("mberManageVO", mberManageVO); + } + model.addAttribute("userSearchVO", userSearchVO); + model.addAttribute("resultMsg", resultMsg); + + return "egovframework/com/uss/umt/EgovMberPasswordUpdt"; + } + + /** + * 일반회원 암호 수정 화면 이동 + * @param model 화면모델 + * @param commandMap 파라메터전달용 commandMap + * @param userSearchVO 검색조건 + * @param mberManageVO 일반회원수정정보(비밀번호) + * @return uss/umt/EgovMberPasswordUpdt + * @throws Exception + */ + @RequestMapping(value = "/uss/umt/EgovMberPasswordUpdtView.do") + public String updatePasswordView(ModelMap model, @RequestParam Map<String, Object> commandMap, @ModelAttribute("searchVO") UserDefaultVO userSearchVO, + @ModelAttribute("mberManageVO") MberManageVO mberManageVO) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + String userTyForPassword = (String) commandMap.get("userTyForPassword"); + mberManageVO.setUserTy(userTyForPassword); + + model.addAttribute("userSearchVO", userSearchVO); + model.addAttribute("mberManageVO", mberManageVO); + + return "egovframework/com/uss/umt/EgovMberPasswordUpdt"; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/web/EgovMberManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/web/EgovUserManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/web/EgovUserManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/web/EgovUserManageController.java (revision 7) @@ -0,0 +1,496 @@ +package egovframework.com.uss.umt.web; + +import java.util.List; +import java.util.Map; + +import egovframework.com.cmm.ComDefaultCodeVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.service.EgovCmmUseService; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.uss.umt.service.EgovUserManageService; +import egovframework.com.uss.umt.service.UserDefaultVO; +import egovframework.com.uss.umt.service.UserManageVO; +import egovframework.com.utl.sim.service.EgovFileScrty; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.servlet.ModelAndView; +import org.springmodules.validation.commons.DefaultBeanValidator; + +/** + * 업무사용자관련 요청을 비지니스 클래스로 전달하고 처리된결과를 해당 웹 화면으로 전달하는 Controller를 정의한다 + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * 2011.08.26 정진오 IncludedInfo annotation 추가 + * 2014.12.08 이기하 암호화방식 변경(EgovFileScrty.encryptPassword) + * 2015.06.16 조정국 수정시 유효성체크 후 에러발생 시 목록으로 이동하여 에러메시지 표시 + * 2015.06.19 조정국 미인증 사용자에 대한 보안처리 기준 수정 (!isAuthenticated) + * 2017.07.21 장동한 로그인인증제한 작업 + * + * </pre> + */ + +@Controller +public class EgovUserManageController { + + /** userManageService */ + @Resource(name = "userManageService") + private EgovUserManageService userManageService; + + /** cmmUseService */ + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService cmmUseService; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** DefaultBeanValidator beanValidator */ + @Autowired + private DefaultBeanValidator beanValidator; + + /** + * 사용자목록을 조회한다. (pageing) + * @param userSearchVO 검색조건정보 + * @param model 화면모델 + * @return cmm/uss/umt/EgovUserManage + * @throws Exception + */ + @IncludedInfo(name = "업무사용자관리", order = 460, gid = 50) + @RequestMapping(value = "/uss/umt/EgovUserManage.do") + public String selectUserList(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO, ModelMap model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + /** EgovPropertyService */ + userSearchVO.setPageUnit(propertiesService.getInt("pageUnit")); + userSearchVO.setPageSize(propertiesService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(userSearchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(userSearchVO.getPageUnit()); + paginationInfo.setPageSize(userSearchVO.getPageSize()); + + userSearchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + userSearchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + userSearchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List<?> userList = userManageService.selectUserList(userSearchVO); + model.addAttribute("resultList", userList); + + int totCnt = userManageService.selectUserListTotCnt(userSearchVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + //사용자상태코드를 코드정보로부터 조회 + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + vo.setCodeId("COM013"); + List<?> emplyrSttusCode_result = cmmUseService.selectCmmCodeDetail(vo); + model.addAttribute("emplyrSttusCode_result", emplyrSttusCode_result);//사용자상태코드목록 + + return "egovframework/com/uss/umt/EgovUserManage"; + } + + /** + * 사용자등록화면으로 이동한다. + * @param userSearchVO 검색조건정보 + * @param userManageVO 사용자초기화정보 + * @param model 화면모델 + * @return cmm/uss/umt/EgovUserInsert + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovUserInsertView.do") + public String insertUserView(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO, @ModelAttribute("userManageVO") UserManageVO userManageVO, Model model) + throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + + //패스워드힌트목록을 코드정보로부터 조회 + vo.setCodeId("COM022"); + List<?> passwordHint_result = cmmUseService.selectCmmCodeDetail(vo); + //성별구분코드를 코드정보로부터 조회 + vo.setCodeId("COM014"); + List<?> sexdstnCode_result = cmmUseService.selectCmmCodeDetail(vo); + //사용자상태코드를 코드정보로부터 조회 + vo.setCodeId("COM013"); + List<?> emplyrSttusCode_result = cmmUseService.selectCmmCodeDetail(vo); + //소속기관코드를 코드정보로부터 조회 - COM025 + vo.setCodeId("COM025"); + List<?> insttCode_result = cmmUseService.selectCmmCodeDetail(vo); + //조직정보를 조회 - ORGNZT_ID정보 + vo.setTableNm("COMTNORGNZTINFO"); + List<?> orgnztId_result = cmmUseService.selectOgrnztIdDetail(vo); + //그룹정보를 조회 - GROUP_ID정보 + vo.setTableNm("COMTNORGNZTINFO"); + List<?> groupId_result = cmmUseService.selectGroupIdDetail(vo); + + model.addAttribute("passwordHint_result", passwordHint_result); //패스워트힌트목록 + model.addAttribute("sexdstnCode_result", sexdstnCode_result); //성별구분코드목록 + model.addAttribute("emplyrSttusCode_result", emplyrSttusCode_result);//사용자상태코드목록 + model.addAttribute("insttCode_result", insttCode_result); //소속기관코드목록 + model.addAttribute("orgnztId_result", orgnztId_result); //조직정보 목록 + model.addAttribute("groupId_result", groupId_result); //그룹정보 목록 + + return "egovframework/com/uss/umt/EgovUserInsert"; + } + + /** + * 사용자등록처리후 목록화면으로 이동한다. + * @param userManageVO 사용자등록정보 + * @param bindingResult 입력값검증용 bindingResult + * @param model 화면모델 + * @return forward:/uss/umt/EgovUserManage.do + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovUserInsert.do") + public String insertUser(@ModelAttribute("userManageVO") UserManageVO userManageVO, BindingResult bindingResult, Model model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + beanValidator.validate(userManageVO, bindingResult); + if (bindingResult.hasErrors()) { + return "egovframework/com/uss/umt/EgovUserInsert"; + } else { + if ("".equals(userManageVO.getOrgnztId())) {//KISA 보안약점 조치 (2018-10-29, 윤창원) + userManageVO.setOrgnztId(null); + } + if ("".equals(userManageVO.getGroupId())) {//KISA 보안약점 조치 (2018-10-29, 윤창원) + userManageVO.setGroupId(null); + } + userManageService.insertUser(userManageVO); + //Exception 없이 진행시 등록성공메시지 + model.addAttribute("resultMsg", "success.common.insert"); + } + return "forward:/uss/umt/EgovUserManage.do"; + } + + /** + * 사용자정보 수정을 위해 사용자정보를 상세조회한다. + * @param uniqId 상세조회대상 사용자아이디 + * @param userSearchVO 검색조건 + * @param model 화면모델 + * @return uss/umt/EgovUserSelectUpdt + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovUserSelectUpdtView.do") + public String updateUserView(@RequestParam("selectedId") String uniqId, @ModelAttribute("searchVO") UserDefaultVO userSearchVO, Model model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + + //패스워드힌트목록을 코드정보로부터 조회 + vo.setCodeId("COM022"); + List<?> passwordHint_result = cmmUseService.selectCmmCodeDetail(vo); + //성별구분코드를 코드정보로부터 조회 + vo.setCodeId("COM014"); + List<?> sexdstnCode_result = cmmUseService.selectCmmCodeDetail(vo); + //사용자상태코드를 코드정보로부터 조회 + vo.setCodeId("COM013"); + List<?> emplyrSttusCode_result = cmmUseService.selectCmmCodeDetail(vo); + //소속기관코드를 코드정보로부터 조회 - COM025 + vo.setCodeId("COM025"); + List<?> insttCode_result = cmmUseService.selectCmmCodeDetail(vo); + //조직정보를 조회 - ORGNZT_ID정보 + vo.setTableNm("COMTNORGNZTINFO"); + List<?> orgnztId_result = cmmUseService.selectOgrnztIdDetail(vo); + //그룹정보를 조회 - GROUP_ID정보 + vo.setTableNm("COMTNORGNZTINFO"); + List<?> groupId_result = cmmUseService.selectGroupIdDetail(vo); + + model.addAttribute("passwordHint_result", passwordHint_result); //패스워트힌트목록 + model.addAttribute("sexdstnCode_result", sexdstnCode_result); //성별구분코드목록 + model.addAttribute("emplyrSttusCode_result", emplyrSttusCode_result);//사용자상태코드목록 + model.addAttribute("insttCode_result", insttCode_result); //소속기관코드목록 + model.addAttribute("orgnztId_result", orgnztId_result); //조직정보 목록 + model.addAttribute("groupId_result", groupId_result); //그룹정보 목록 + + UserManageVO userManageVO = new UserManageVO(); + userManageVO = userManageService.selectUser(uniqId); + model.addAttribute("userSearchVO", userSearchVO); + model.addAttribute("userManageVO", userManageVO); + + return "egovframework/com/uss/umt/EgovUserSelectUpdt"; + } + + /** + * 로그인인증제한 해제 + * @param userManageVO 사용자정보 + * @param model 화면모델 + * @return uss/umt/EgovUserSelectUpdtView.do + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovUserLockIncorrect.do") + public String updateLockIncorrect(UserManageVO userManageVO, Model model) + throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + userManageService.updateLockIncorrect(userManageVO); + + return "forward:/uss/umt/EgovUserSelectUpdtView.do"; + } + + /** + * 사용자정보 수정후 목록조회 화면으로 이동한다. + * @param userManageVO 사용자수정정보 + * @param bindingResult 입력값검증용 bindingResult + * @param model 화면모델 + * @return forward:/uss/umt/EgovUserManage.do + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovUserSelectUpdt.do") + public String updateUser(@ModelAttribute("userManageVO") UserManageVO userManageVO, BindingResult bindingResult, Model model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + beanValidator.validate(userManageVO, bindingResult); + if (bindingResult.hasErrors()) { + model.addAttribute("resultMsg", bindingResult.getAllErrors().get(0).getDefaultMessage()); + return "forward:/uss/umt/EgovUserManage.do"; + } else { + //업무사용자 수정시 히스토리 정보를 등록한다. + userManageService.insertUserHistory(userManageVO); + if ("".equals(userManageVO.getOrgnztId())) {//KISA 보안약점 조치 (2018-10-29, 윤창원) + userManageVO.setOrgnztId(null); + } + if ("".equals(userManageVO.getGroupId())) {//KISA 보안약점 조치 (2018-10-29, 윤창원) + userManageVO.setGroupId(null); + } + userManageService.updateUser(userManageVO); + //Exception 없이 진행시 수정성공메시지 + model.addAttribute("resultMsg", "success.common.update"); + return "forward:/uss/umt/EgovUserManage.do"; + } + } + + /** + * 사용자정보삭제후 목록조회 화면으로 이동한다. + * @param checkedIdForDel 삭제대상아이디 정보 + * @param userSearchVO 검색조건 + * @param model 화면모델 + * @return forward:/uss/umt/EgovUserManage.do + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovUserDelete.do") + public String deleteUser(@RequestParam("checkedIdForDel") String checkedIdForDel, @ModelAttribute("searchVO") UserDefaultVO userSearchVO, Model model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + userManageService.deleteUser(checkedIdForDel); + //Exception 없이 진행시 등록성공메시지 + model.addAttribute("resultMsg", "success.common.delete"); + return "forward:/uss/umt/EgovUserManage.do"; + } + + /** + * 입력한 사용자아이디의 중복확인화면 이동 + * @param model 화면모델 + * @return uss/umt/EgovIdDplctCnfirm + * @throws Exception + */ + @RequestMapping(value = "/uss/umt/EgovIdDplctCnfirmView.do") + public String checkIdDplct(ModelMap model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + model.addAttribute("checkId", ""); + model.addAttribute("usedCnt", "-1"); + return "egovframework/com/uss/umt/EgovIdDplctCnfirm"; + } + + /** + * 입력한 사용자아이디의 중복여부를 체크하여 사용가능여부를 확인 + * @param commandMap 파라메터전달용 commandMap + * @param model 화면모델 + * @return uss/umt/EgovIdDplctCnfirm + * @throws Exception + */ + @RequestMapping(value = "/uss/umt/EgovIdDplctCnfirm.do") + public String checkIdDplct(@RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + String checkId = (String) commandMap.get("checkId"); + checkId = new String(checkId.getBytes("ISO-8859-1"), "UTF-8"); + + if (checkId == null || checkId.equals("")) + return "forward:/uss/umt/EgovIdDplctCnfirmView.do"; + + int usedCnt = userManageService.checkIdDplct(checkId); + model.addAttribute("usedCnt", usedCnt); + model.addAttribute("checkId", checkId); + + return "egovframework/com/uss/umt/EgovIdDplctCnfirm"; + } + + + /** + * 입력한 사용자아이디의 중복여부를 체크하여 사용가능여부를 확인 + * @param commandMap 파라메터전달용 commandMap + * @param model 화면모델 + * @return uss/umt/EgovIdDplctCnfirm + * @throws Exception + */ + @RequestMapping(value = "/uss/umt/EgovIdDplctCnfirmAjax.do") + public ModelAndView checkIdDplctAjax(@RequestParam Map<String, Object> commandMap) throws Exception { + + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + String checkId = (String) commandMap.get("checkId"); + //checkId = new String(checkId.getBytes("ISO-8859-1"), "UTF-8"); + + int usedCnt = userManageService.checkIdDplct(checkId); + modelAndView.addObject("usedCnt", usedCnt); + modelAndView.addObject("checkId", checkId); + + return modelAndView; + } + + /** + * 업무사용자 암호 수정처리 후 화면 이동 + * @param model 화면모델 + * @param commandMap 파라메터전달용 commandMap + * @param userSearchVO 검색조 건 + * @param userManageVO 사용자수정정보(비밀번호) + * @return uss/umt/EgovUserPasswordUpdt + * @throws Exception + */ + @RequestMapping(value = "/uss/umt/EgovUserPasswordUpdt.do") + public String updatePassword(ModelMap model, @RequestParam Map<String, Object> commandMap, @ModelAttribute("searchVO") UserDefaultVO userSearchVO, + @ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + String oldPassword = (String) commandMap.get("oldPassword"); + String newPassword = (String) commandMap.get("newPassword"); + String newPassword2 = (String) commandMap.get("newPassword2"); + String uniqId = (String) commandMap.get("uniqId"); + + boolean isCorrectPassword = false; + UserManageVO resultVO = new UserManageVO(); + userManageVO.setPassword(newPassword); + userManageVO.setOldPassword(oldPassword); + userManageVO.setUniqId(uniqId); + + String resultMsg = ""; + resultVO = userManageService.selectPassword(userManageVO); + //패스워드 암호화 + String encryptPass = EgovFileScrty.encryptPassword(oldPassword, userManageVO.getEmplyrId()); + if (encryptPass.equals(resultVO.getPassword())) { + if (newPassword.equals(newPassword2)) { + isCorrectPassword = true; + } else { + isCorrectPassword = false; + resultMsg = "fail.user.passwordUpdate2"; + } + } else { + isCorrectPassword = false; + resultMsg = "fail.user.passwordUpdate1"; + } + + if (isCorrectPassword) { + userManageVO.setPassword(EgovFileScrty.encryptPassword(newPassword, userManageVO.getEmplyrId())); + userManageService.updatePassword(userManageVO); + model.addAttribute("userManageVO", userManageVO); + resultMsg = "success.common.update"; + } else { + model.addAttribute("userManageVO", userManageVO); + } + model.addAttribute("userSearchVO", userSearchVO); + model.addAttribute("resultMsg", resultMsg); + + return "egovframework/com/uss/umt/EgovUserPasswordUpdt"; + } + + /** + * 업무사용자 암호 수정 화면 이동 + * @param model 화면모델 + * @param commandMap 파라메터전달용 commandMap + * @param userSearchVO 검색조건 + * @param userManageVO 사용자수정정보(비밀번호) + * @return uss/umt/EgovUserPasswordUpdt + * @throws Exception + */ + @RequestMapping(value = "/uss/umt/EgovUserPasswordUpdtView.do") + public String updatePasswordView(ModelMap model, @RequestParam Map<String, Object> commandMap, @ModelAttribute("searchVO") UserDefaultVO userSearchVO, + @ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + String userTyForPassword = (String) commandMap.get("userTyForPassword"); + userManageVO.setUserTy(userTyForPassword); + + model.addAttribute("userManageVO", userManageVO); + model.addAttribute("userSearchVO", userSearchVO); + return "egovframework/com/uss/umt/EgovUserPasswordUpdt"; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/web/EgovUserManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/web/EgovEntrprsManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/web/EgovEntrprsManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/web/EgovEntrprsManageController.java (revision 7) @@ -0,0 +1,541 @@ +package egovframework.com.uss.umt.web; + +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springmodules.validation.commons.DefaultBeanValidator; + +import egovframework.com.cmm.ComDefaultCodeVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.service.EgovCmmUseService; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.uss.umt.service.EgovEntrprsManageService; +import egovframework.com.uss.umt.service.EntrprsManageVO; +import egovframework.com.uss.umt.service.UserDefaultVO; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.com.utl.sim.service.EgovFileScrty; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +/** + * 기업회원관련 요청을 비지니스 클래스로 전달하고 처리된결과를 해당 웹 화면으로 전달하는 Controller를 정의한다 + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * 2011.08.26 정진오 IncludedInfo annotation 추가 + * 2014.12.08 이기하 암호화방식 변경(EgovFileScrty.encryptPassword) + * 2015.06.16 조정국 수정시 유효성체크 후 에러발생 시 목록으로 이동하여 에러메시지 표시 + * 2015.06.19 조정국 미인증 사용자에 대한 보안처리 기준 수정 (!isAuthenticated) + * 2017.07.21 장동한 로그인인증제한 작업 + * 2020.07.18 윤주호 암호 설정 규칙 강화 및 버그 수정 + * </pre> + */ + +@Controller +public class EgovEntrprsManageController { + + /** entrprsManageService */ + @Resource(name = "entrprsManageService") + private EgovEntrprsManageService entrprsManageService; + + /** cmmUseService */ + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService cmmUseService; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** DefaultBeanValidator beanValidator */ + @Autowired + private DefaultBeanValidator beanValidator; + + /** 비밀번호 힌트 조회 목록*/ + @ModelAttribute("passwordHint_result") + private List<?> getPasswordHintResult(ComDefaultCodeVO vo) throws Exception{ + vo.setCodeId("COM022"); + return cmmUseService.selectCmmCodeDetail(vo); + } + + /** 성별 조회 목록 */ + @ModelAttribute("sexdstnCode_result") + private List<?> getSexdstnCode_result(ComDefaultCodeVO vo) throws Exception{ + vo.setCodeId("COM014"); + return cmmUseService.selectCmmCodeDetail(vo); + } + + /** 사용자 상태 조회 목록 */ + @ModelAttribute("entrprsMberSttus_result") + private List<?> getEntrprsMberSttus_result(ComDefaultCodeVO vo) throws Exception{ + vo.setCodeId("COM013"); + return cmmUseService.selectCmmCodeDetail(vo); + } + + /** 그룹 정보 조회 목록 */ + @ModelAttribute("groupId_result") + private List<?> getGroupId_result(ComDefaultCodeVO vo) throws Exception{ + vo.setTableNm("COMTNORGNZTINFO"); + return cmmUseService.selectGroupIdDetail(vo); + } + + /** 기업 구분 조회 목록 */ + @ModelAttribute("entrprsSeCode_result") + private List<?> getEntrprsSeCode_result(ComDefaultCodeVO vo) throws Exception{ + vo.setCodeId("COM026"); + return cmmUseService.selectCmmCodeDetail(vo); + } + + /** 업종 구분 조회 목록 */ + @ModelAttribute("indutyCode_result") + private List<?> getIndutyCode_result(ComDefaultCodeVO vo) throws Exception{ + vo.setCodeId("COM027"); + return cmmUseService.selectCmmCodeDetail(vo); + } + + + /** + * 기업회원 등록화면으로 이동한다. + * @param userSearchVO 검색조건정보 + * @param entrprsManageVO 기업회원 초기화정보 + * @param model 화면모델 + * @return uss/umt/EgovEntrprsMberInsert + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovEntrprsMberInsertView.do") + public String insertEntrprsMberView(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO, @ModelAttribute("entrprsManageVO") EntrprsManageVO entrprsManageVO, Model model) + throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + + //패스워드힌트목록을 코드정보로부터 조회 +// vo.setCodeId("COM022"); +// List<?> passwordHint_result = cmmUseService.selectCmmCodeDetail(vo); + //성별구분코드를 코드정보로부터 조회 +// vo.setCodeId("COM014"); +// List<?> sexdstnCode_result = cmmUseService.selectCmmCodeDetail(vo); + //사용자상태코드를 코드정보로부터 조회 +// vo.setCodeId("COM013"); +// List<?> entrprsMberSttus_result = cmmUseService.selectCmmCodeDetail(vo); + //그룹정보를 조회 - GROUP_ID정보 +// vo.setTableNm("COMTNORGNZTINFO"); +// List<?> groupId_result = cmmUseService.selectGroupIdDetail(vo); + //기업구분코드를 코드정보로부터 조회 - COM026 +// vo.setCodeId("COM026"); +// List<?> entrprsSeCode_result = cmmUseService.selectCmmCodeDetail(vo); + //업종코드를 코드정보로부터 조회 - COM027 +// vo.setCodeId("COM027"); +// List<?> indutyCode_result = cmmUseService.selectCmmCodeDetail(vo); + +// model.addAttribute("passwordHint_result", passwordHint_result); //패스워트힌트목록 +// model.addAttribute("sexdstnCode_result", sexdstnCode_result); //성별구분코드목록 +// model.addAttribute("entrprsMberSttus_result", entrprsMberSttus_result);//사용자상태코드목록 +// model.addAttribute("groupId_result", groupId_result); //그룹정보 목록 +// model.addAttribute("entrprsSeCode_result", entrprsSeCode_result); //기업구분코드 목록 +// model.addAttribute("indutyCode_result", indutyCode_result); //업종코드목록 + + return "egovframework/com/uss/umt/EgovEntrprsMberInsert"; + } + + /** + * 기업회원등록처리후 목록화면으로 이동한다. + * @param entrprsManageVO 신규기업회원정보 + * @param bindingResult 입력값검증용 bindingResult + * @param model 화면모델 + * @return forward:/uss/umt/EgovEntrprsMberManage.do + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovEntrprsMberInsert.do") + public String insertEntrprsMber(@ModelAttribute("entrprsManageVO") EntrprsManageVO entrprsManageVO, BindingResult bindingResult, Model model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + beanValidator.validate(entrprsManageVO, bindingResult); + if (bindingResult.hasErrors()) { + return "egovframework/com/uss/umt/EgovEntrprsMberInsert"; + } else { + if ((entrprsManageVO == null ? "" : EgovStringUtil.isNullToString(entrprsManageVO.getGroupId())).equals("")) { + entrprsManageVO.setGroupId(null); + } + entrprsManageService.insertEntrprsmber(entrprsManageVO); + //Exception 없이 진행시 등록성공메시지 + model.addAttribute("resultMsg", "success.common.insert"); + } + return "forward:/uss/umt/EgovEntrprsMberManage.do"; + + } + + /** + * 기업회원정보 수정을 위해기업회원정보를 상세조회한다. + * @param entrprsmberId 상세조회 대상 기업회원아이디 + * @param userSearchVO 조회조건정보 + * @param model 화면모델 + * @return uss/umt/EgovEntrprsMberSelectUpdt + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovEntrprsMberSelectUpdtView.do") + public String updateEntrprsMberView(@RequestParam("selectedId") String entrprsmberId, @ModelAttribute("searchVO") UserDefaultVO userSearchVO, Model model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + EntrprsManageVO entrprsManageVO = new EntrprsManageVO(); + entrprsManageVO = entrprsManageService.selectEntrprsmber(entrprsmberId); + model.addAttribute("entrprsManageVO", entrprsManageVO); + model.addAttribute("userSearchVO", userSearchVO); + + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + //패스워드힌트목록을 코드정보로부터 조회 +// vo.setCodeId("COM022"); +// List<?> passwordHint_result = cmmUseService.selectCmmCodeDetail(vo); +// //성별구분코드를 코드정보로부터 조회 +// vo.setCodeId("COM014"); +// List<?> sexdstnCode_result = cmmUseService.selectCmmCodeDetail(vo); +// //사용자상태코드를 코드정보로부터 조회 +// vo.setCodeId("COM013"); +// List<?> entrprsMberSttus_result = cmmUseService.selectCmmCodeDetail(vo); +// //그룹정보를 조회 - GROUP_ID정보 +// vo.setTableNm("COMTNORGNZTINFO"); +// List<?> groupId_result = cmmUseService.selectGroupIdDetail(vo); +// //기업구분코드를 코드정보로부터 조회 - COM026 +// vo.setCodeId("COM026"); +// List<?> entrprsSeCode_result = cmmUseService.selectCmmCodeDetail(vo); +// //업종코드를 코드정보로부터 조회 - COM027 +// vo.setCodeId("COM027"); +// List<?> indutyCode_result = cmmUseService.selectCmmCodeDetail(vo); + +// model.addAttribute("passwordHint_result", passwordHint_result); //패스워트힌트목록 +// model.addAttribute("sexdstnCode_result", sexdstnCode_result); //성별구분코드목록 +// model.addAttribute("entrprsMberSttus_result", entrprsMberSttus_result);//사용자상태코드목록 +// model.addAttribute("groupId_result", groupId_result); //그룹정보 목록 +// model.addAttribute("entrprsSeCode_result", entrprsSeCode_result); //기업구분코드 목록 +// model.addAttribute("indutyCode_result", indutyCode_result); //업종코드목록 + + return "egovframework/com/uss/umt/EgovEntrprsMberSelectUpdt"; + } + + /** + * 로그인인증제한 해제 + * @param entrprsManageVO 기업회원정보 + * @param model 화면모델 + * @return uss/umt/EgovEntrprsMberSelectUpdtView.do + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovEntrprsMberLockIncorrect.do") + public String updateLockIncorrect(EntrprsManageVO entrprsManageVO, Model model) throws Exception { + + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + entrprsManageService.updateLockIncorrect(entrprsManageVO); + + return "forward:/uss/umt/EgovEntrprsMberSelectUpdtView.do"; + } + + /** + * 기업회원정보 수정후 목록조회 화면으로 이동한다. + * @param entrprsManageVO 수정할 기업회원정보 + * @param bindingResult 입력값 검증용 bindingResult + * @param model 화면모델 + * @return forward:/uss/umt/EgovEntrprsMberManage.do + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovEntrprsMberSelectUpdt.do") + public String updateEntrprsMber(@ModelAttribute("entrprsManageVO") EntrprsManageVO entrprsManageVO, BindingResult bindingResult, Model model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + beanValidator.validate(entrprsManageVO, bindingResult); + if (bindingResult.hasErrors()) { + model.addAttribute("resultMsg", bindingResult.getAllErrors().get(0).getDefaultMessage()); + return "forward:/uss/umt/EgovEntrprsMberSelectUpdtView.do"; + } else { + if ("".equals(entrprsManageVO.getGroupId())) { + entrprsManageVO.setGroupId(null); + } + entrprsManageService.updateEntrprsmber(entrprsManageVO); + //Exception 없이 진행시 수정성공메시지 + model.addAttribute("resultMsg", "success.common.update"); + return "forward:/uss/umt/EgovEntrprsMberManage.do"; + } + } + + /** + * 기업회원정보삭제후 목록조회 화면으로 이동한다. + * @param checkedIdForDel 삭제대상아이디 정보 + * @param userSearchVO 조회조건정보 + * @param model 화면모델 + * @return "forward:/uss/umt/EgovUserManage.do" + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovEntrprsMberDelete.do") + public String deleteEntrprsMber(@RequestParam("checkedIdForDel") String checkedIdForDel, @ModelAttribute("searchVO") UserDefaultVO userSearchVO, Model model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + entrprsManageService.deleteEntrprsmber(checkedIdForDel); + //Exception 없이 진행시 삭제성공메시지 + model.addAttribute("resultMsg", "success.common.delete"); + return "forward:/uss/umt/EgovEntrprsMberManage.do"; + } + + /** + * 기업회원목록을 조회한다. (pageing) + * @param userSearchVO 검색조건정보 + * @param model 화면모델 + * @return uss/umt/EgovEntrprsMberManage + * @throws Exception + */ + @IncludedInfo(name = "기업회원관리", order = 450, gid = 50) + @RequestMapping(value = "/uss/umt/EgovEntrprsMberManage.do") + public String selectEntrprsMberList(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO, ModelMap model) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + /** EgovPropertyService.sample */ + userSearchVO.setPageUnit(propertiesService.getInt("pageUnit")); + userSearchVO.setPageSize(propertiesService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(userSearchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(userSearchVO.getPageUnit()); + paginationInfo.setPageSize(userSearchVO.getPageSize()); + + userSearchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + userSearchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + userSearchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List<?> entrprsList = entrprsManageService.selectEntrprsMberList(userSearchVO); + model.addAttribute("resultList", entrprsList); + + int totCnt = entrprsManageService.selectEntrprsMberListTotCnt(userSearchVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + //사용자상태코드를 코드정보로부터 조회 +// ComDefaultCodeVO vo = new ComDefaultCodeVO(); +// vo.setCodeId("COM013"); +// List<?> entrprsMberSttus_result = cmmUseService.selectCmmCodeDetail(vo); +// model.addAttribute("entrprsMberSttus_result", entrprsMberSttus_result);//기업회원상태코드목록 + + return "egovframework/com/uss/umt/EgovEntrprsMberManage"; + } + + /** + * 기업회원가입신청 등록화면으로 이동한다. + * @param userSearchVO 검색조건정보 + * @param entrprsManageVO 기업회원초기화정보 + * @param commandMap 파라메터전송 commandMap + * @param model 화면모델 + * @return uss/umt/EgovEntrprsMberSbscrb + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovEntrprsMberSbscrbView.do") + public String sbscrbEntrprsMberView(@ModelAttribute("userSearchVO") UserDefaultVO userSearchVO, @ModelAttribute("entrprsManageVO") EntrprsManageVO entrprsManageVO, + @RequestParam Map<String, Object> commandMap, Model model) throws Exception { + + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + +// //패스워드힌트목록을 코드정보로부터 조회 +// vo.setCodeId("COM022"); +// List<?> passwordHint_result = cmmUseService.selectCmmCodeDetail(vo); +// //성별구분코드를 코드정보로부터 조회 +// vo.setCodeId("COM014"); +// List<?> sexdstnCode_result = cmmUseService.selectCmmCodeDetail(vo); +// //기업구분코드를 코드정보로부터 조회 - COM026 +// vo.setCodeId("COM026"); +// List<?> entrprsSeCode_result = cmmUseService.selectCmmCodeDetail(vo); +// //업종코드를 코드정보로부터 조회 - COM027 +// vo.setCodeId("COM027"); +// List<?> indutyCode_result = cmmUseService.selectCmmCodeDetail(vo); + +// model.addAttribute("passwordHint_result", passwordHint_result); //패스워트힌트목록 +// model.addAttribute("sexdstnCode_result", sexdstnCode_result); //성별구분코드목록 +// model.addAttribute("entrprsSeCode_result", entrprsSeCode_result); //기업구분코드 목록 +// model.addAttribute("indutyCode_result", indutyCode_result); //업종코드목록 + if (!"".equals(commandMap.get("realname"))) { + model.addAttribute("applcntNm", commandMap.get("realname")); //실명인증된 이름 - 주민번호인증 + model.addAttribute("applcntIhidnum", commandMap.get("ihidnum")); //실명인증된 주민등록번호 - 주민번호 인증 + } + if (!"".equals(commandMap.get("realName"))) { + model.addAttribute("applcntNm", commandMap.get("realName")); //실명인증된 이름 - ipin인증 + } + entrprsManageVO.setEntrprsMberSttus("DEFAULT"); + + return "egovframework/com/uss/umt/EgovEntrprsMberSbscrb"; + } + + /** + * 기업회원가입신청 등록처리후 로그인화면으로 이동한다. + * @param entrprsManageVO 기업회원가입신청정보 + * @return forward:/uat/uia/egovLoginUsr.do + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovEntrprsMberSbscrb.do") + public String sbscrbEntrprsMber(@ModelAttribute("entrprsManageVO") EntrprsManageVO entrprsManageVO) throws Exception { + + //가입상태 초기화 + entrprsManageVO.setEntrprsMberSttus("A"); + //그룹정보 초기화 + //entrprsManageVO.setGroupId("1"); + //기업회원가입신청 등록시 기업회원등록기능을 사용하여 등록한다. + entrprsManageService.insertEntrprsmber(entrprsManageVO); + return "forward:/uat/uia/egovLoginUsr.do"; + } + + /** + * 기업회원 약관확인 화면을 조회한다. + * @param model 화면모델 + * @return uss/umt/EgovStplatCnfirm + * @throws Exception + */ + @RequestMapping("/uss/umt/EgovStplatCnfirmEntrprs.do") + public String sbscrbEntrprsMber(Model model) throws Exception { + + //기업회원용 약관 아이디 설정 + String stplatId = "STPLAT_0000000000002"; + //회원가입유형 설정-기업회원 + String sbscrbTy = "USR02"; + //약관정보 조회 + List<?> stplatList = entrprsManageService.selectStplat(stplatId); + model.addAttribute("stplatList", stplatList); //약관정보포함 + model.addAttribute("sbscrbTy", sbscrbTy); //회원가입유형포함 + + return "egovframework/com/uss/umt/EgovStplatCnfirm"; + } + + /** + * 기업회원 암호 수정처리 후 화면 이동한다. + * @param model 화면모델 + * @param commandMap 파라메터전달용 commandMap + * @param userSearchVO 검색조건정보 + * @param entrprsManageVO 기업회원수정정보 + * @return uss/umt/EgovEntrprsPasswordUpdt + * @throws Exception + */ + @RequestMapping(value = "/uss/umt/EgovEntrprsPasswordUpdt.do") + public String updatePassword(ModelMap model, @RequestParam Map<String, Object> commandMap, @ModelAttribute("searchVO") UserDefaultVO userSearchVO, + @ModelAttribute("entrprsManageVO") EntrprsManageVO entrprsManageVO) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + String oldPassword = (String) commandMap.get("oldPassword"); + String newPassword = (String) commandMap.get("newPassword"); + String newPassword2 = (String) commandMap.get("newPassword2"); + String uniqId = (String) commandMap.get("uniqId"); + + boolean isCorrectPassword = false; + EntrprsManageVO resultVO = new EntrprsManageVO(); + entrprsManageVO.setEntrprsMberPassword(newPassword); + entrprsManageVO.setOldPassword(oldPassword); + entrprsManageVO.setUniqId(uniqId); + + String resultMsg = ""; + resultVO = entrprsManageService.selectPassword(entrprsManageVO); + //패스워드 암호화 + String encryptPass = EgovFileScrty.encryptPassword(oldPassword, entrprsManageVO.getEntrprsmberId()); + if (encryptPass.equals(resultVO.getEntrprsMberPassword())) { + if (newPassword.equals(newPassword2)) { + isCorrectPassword = true; + } else { + isCorrectPassword = false; + resultMsg = "fail.user.passwordUpdate2"; + } + } else { + isCorrectPassword = false; + resultMsg = "fail.user.passwordUpdate1"; + } + + if (isCorrectPassword) { + entrprsManageVO.setEntrprsMberPassword(EgovFileScrty.encryptPassword(newPassword, entrprsManageVO.getEntrprsmberId())); + entrprsManageService.updatePassword(entrprsManageVO); + model.addAttribute("entrprsManageVO", entrprsManageVO); + resultMsg = "success.common.update"; + } else { + model.addAttribute("entrprsManageVO", entrprsManageVO); + } + model.addAttribute("userSearchVO", userSearchVO); + model.addAttribute("resultMsg", resultMsg); + + return "egovframework/com/uss/umt/EgovEntrprsPasswordUpdt"; + } + + /** + * 기업회원암호 수정 화면 이동 + * @param model 화면모델 + * @param commandMap 파라메터전송용 commandMap + * @param userSearchVO 검색조건정보 + * @param entrprsManageVO 기업회원수정정보 + * @return uss/umt/EgovEntrprsPasswordUpdt + * @throws Exception + */ + @RequestMapping(value = "/uss/umt/EgovEntrprsPasswordUpdtView.do") + public String updatePasswordView(ModelMap model, @RequestParam Map<String, Object> commandMap, @ModelAttribute("searchVO") UserDefaultVO userSearchVO, + @ModelAttribute("entrprsManageVO") EntrprsManageVO entrprsManageVO) throws Exception { + + // 미인증 사용자에 대한 보안처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + return "index"; + } + + String userTyForPassword = (String) commandMap.get("userTyForPassword"); + entrprsManageVO.setUserTy(userTyForPassword); + + model.addAttribute("userSearchVO", userSearchVO); + model.addAttribute("entrprsManageVO", entrprsManageVO); + return "egovframework/com/uss/umt/EgovEntrprsPasswordUpdt"; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/web/EgovEntrprsManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/MberManageVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/MberManageVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/MberManageVO.java (revision 7) @@ -0,0 +1,425 @@ +package egovframework.com.uss.umt.service; + +/** + * 일반회원VO클래스로서 일반회원관리 비지니스로직 처리용 항목을 구성한다. + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * 2017.07.21 장동한 로그인인증제한 작업 + * + * </pre> + */ +public class MberManageVO extends UserDefaultVO{ + + private static final long serialVersionUID = -4255594107023139972L; + + /** 이전비밀번호 - 비밀번호 변경시 사용*/ + private String oldPassword = ""; + + /** + * 사용자고유아이디 + */ + private String uniqId=""; + /** + * 사용자 유형 + */ + private String userTy; + /** + * 주소 + */ + private String adres; + /** + * 상세주소 + */ + private String detailAdres; + /** + * 끝전화번호 + */ + private String endTelno; + /** + * 팩스번호 + */ + private String mberFxnum; + /** + * 그룹 ID + */ + private String groupId; + /** + * 주민등록번호 + */ + private String ihidnum; + /** + * 성별코드 + */ + private String sexdstnCode; + /** + * 회원 ID + */ + private String mberId; + /** + * 회원명 + */ + private String mberNm; + /** + * 회원상태 + */ + private String mberSttus; + /** + * 지역번호 + */ + private String areaNo; + /** + * 중간전화번호 + */ + private String middleTelno; + /** + * 핸드폰번호 + */ + private String moblphonNo; + /** + * 비밀번호 + */ + private String password; + /** + * 비밀번호 정답 + */ + private String passwordCnsr; + /** + * 비밀번호 힌트 + */ + private String passwordHint; + /** + * 가입 일자 + */ + private String sbscrbDe; + /** + * 우편번호 + */ + private String zip; + /** + * 이메일주소 + */ + private String mberEmailAdres; + + private String lockAt; + public String getLockAt() {return lockAt;} + public void setLockAt(String lockAt) {this.lockAt = lockAt;} + + /** + * oldPassword attribute 값을 리턴한다. + * @return String + */ + public String getOldPassword() { + return oldPassword; + } + /** + * oldPassword attribute 값을 설정한다. + * @param oldPassword String + */ + public void setOldPassword(String oldPassword) { + this.oldPassword = oldPassword; + } + /** + * uniqId attribute 값을 리턴한다. + * @return String + */ + public String getUniqId() { + return uniqId; + } + /** + * uniqId attribute 값을 설정한다. + * @param uniqId String + */ + public void setUniqId(String uniqId) { + this.uniqId = uniqId; + } + /** + * userTy attribute 값을 리턴한다. + * @return String + */ + public String getUserTy() { + return userTy; + } + /** + * userTy attribute 값을 설정한다. + * @param userTy String + */ + public void setUserTy(String userTy) { + this.userTy = userTy; + } + /** + * adres attribute 값을 리턴한다. + * @return String + */ + public String getAdres() { + return adres; + } + /** + * adres attribute 값을 설정한다. + * @param adres String + */ + public void setAdres(String adres) { + this.adres = adres; + } + /** + * detailAdres attribute 값을 리턴한다. + * @return String + */ + public String getDetailAdres() { + return detailAdres; + } + /** + * detailAdres attribute 값을 설정한다. + * @param detailAdres String + */ + public void setDetailAdres(String detailAdres) { + this.detailAdres = detailAdres; + } + /** + * endTelno attribute 값을 리턴한다. + * @return String + */ + public String getEndTelno() { + return endTelno; + } + /** + * endTelno attribute 값을 설정한다. + * @param endTelno String + */ + public void setEndTelno(String endTelno) { + this.endTelno = endTelno; + } + /** + * mberFxnum attribute 값을 리턴한다. + * @return String + */ + public String getMberFxnum() { + return mberFxnum; + } + /** + * mberFxnum attribute 값을 설정한다. + * @param mberFxnum String + */ + public void setMberFxnum(String mberFxnum) { + this.mberFxnum = mberFxnum; + } + /** + * groupId attribute 값을 리턴한다. + * @return String + */ + public String getGroupId() { + return groupId; + } + /** + * groupId attribute 값을 설정한다. + * @param groupId String + */ + public void setGroupId(String groupId) { + this.groupId = groupId; + } + /** + * ihidnum attribute 값을 리턴한다. + * @return String + */ + public String getIhidnum() { + return ihidnum; + } + /** + * ihidnum attribute 값을 설정한다. + * @param ihidnum String + */ + public void setIhidnum(String ihidnum) { + this.ihidnum = ihidnum; + } + /** + * sexdstnCode attribute 값을 리턴한다. + * @return String + */ + public String getSexdstnCode() { + return sexdstnCode; + } + /** + * sexdstnCode attribute 값을 설정한다. + * @param sexdstnCode String + */ + public void setSexdstnCode(String sexdstnCode) { + this.sexdstnCode = sexdstnCode; + } + /** + * mberId attribute 값을 리턴한다. + * @return String + */ + public String getMberId() { + return mberId; + } + /** + * mberId attribute 값을 설정한다. + * @param mberId String + */ + public void setMberId(String mberId) { + this.mberId = mberId; + } + /** + * mberNm attribute 값을 리턴한다. + * @return String + */ + public String getMberNm() { + return mberNm; + } + /** + * mberNm attribute 값을 설정한다. + * @param mberNm String + */ + public void setMberNm(String mberNm) { + this.mberNm = mberNm; + } + /** + * mberSttus attribute 값을 리턴한다. + * @return String + */ + public String getMberSttus() { + return mberSttus; + } + /** + * mberSttus attribute 값을 설정한다. + * @param mberSttus String + */ + public void setMberSttus(String mberSttus) { + this.mberSttus = mberSttus; + } + /** + * areaNo attribute 값을 리턴한다. + * @return String + */ + public String getAreaNo() { + return areaNo; + } + /** + * areaNo attribute 값을 설정한다. + * @param areaNo String + */ + public void setAreaNo(String areaNo) { + this.areaNo = areaNo; + } + /** + * middleTelno attribute 값을 리턴한다. + * @return String + */ + public String getMiddleTelno() { + return middleTelno; + } + /** + * middleTelno attribute 값을 설정한다. + * @param middleTelno String + */ + public void setMiddleTelno(String middleTelno) { + this.middleTelno = middleTelno; + } + /** + * moblphonNo attribute 값을 리턴한다. + * @return String + */ + public String getMoblphonNo() { + return moblphonNo; + } + /** + * moblphonNo attribute 값을 설정한다. + * @param moblphonNo String + */ + public void setMoblphonNo(String moblphonNo) { + this.moblphonNo = moblphonNo; + } + /** + * password attribute 값을 리턴한다. + * @return String + */ + public String getPassword() { + return password; + } + /** + * password attribute 값을 설정한다. + * @param password String + */ + public void setPassword(String password) { + this.password = password; + } + /** + * passwordCnsr attribute 값을 리턴한다. + * @return String + */ + public String getPasswordCnsr() { + return passwordCnsr; + } + /** + * passwordCnsr attribute 값을 설정한다. + * @param passwordCnsr String + */ + public void setPasswordCnsr(String passwordCnsr) { + this.passwordCnsr = passwordCnsr; + } + /** + * passwordHint attribute 값을 리턴한다. + * @return String + */ + public String getPasswordHint() { + return passwordHint; + } + /** + * passwordHint attribute 값을 설정한다. + * @param passwordHint String + */ + public void setPasswordHint(String passwordHint) { + this.passwordHint = passwordHint; + } + /** + * sbscrbDe attribute 값을 리턴한다. + * @return String + */ + public String getSbscrbDe() { + return sbscrbDe; + } + /** + * sbscrbDe attribute 값을 설정한다. + * @param sbscrbDe String + */ + public void setSbscrbDe(String sbscrbDe) { + this.sbscrbDe = sbscrbDe; + } + /** + * zip attribute 값을 리턴한다. + * @return String + */ + public String getZip() { + return zip; + } + /** + * zip attribute 값을 설정한다. + * @param zip String + */ + public void setZip(String zip) { + this.zip = zip; + } + /** + * mberEmailAdres attribute 값을 리턴한다. + * @return String + */ + public String getMberEmailAdres() { + return mberEmailAdres; + } + /** + * mberEmailAdres attribute 값을 설정한다. + * @param mberEmailAdres String + */ + public void setMberEmailAdres(String mberEmailAdres) { + this.mberEmailAdres = mberEmailAdres; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/MberManageVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovEntrprsManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovEntrprsManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovEntrprsManageServiceImpl.java (revision 7) @@ -0,0 +1,192 @@ +package egovframework.com.uss.umt.service.impl; + +import java.util.List; + +import egovframework.com.uss.umt.service.EgovEntrprsManageService; +import egovframework.com.uss.umt.service.EntrprsManageVO; +import egovframework.com.uss.umt.service.UserDefaultVO; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.com.utl.sim.service.EgovFileScrty; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * 기업회원관리에 관한 비지니스클래스를 정의한다. + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * 2014.12.08 이기하 암호화방식 변경(EgovFileScrty.encryptPassword) + * 2017.07.21 장동한 로그인인증제한 작업 + * + * </pre> + */ +@Service("entrprsManageService") +public class EgovEntrprsManageServiceImpl extends EgovAbstractServiceImpl implements EgovEntrprsManageService { + + /** userManageDAO */ + @Resource(name="userManageDAO") + private UserManageDAO userManageDAO; + + /** mberManageDAO */ + @Resource(name="mberManageDAO") + private MberManageDAO mberManageDAO; + + /** entrprsManageDAO */ + @Resource(name="entrprsManageDAO") + private EntrprsManageDAO entrprsManageDAO; + + /** egovUsrCnfrmIdGnrService */ + @Resource(name="egovUsrCnfrmIdGnrService") + private EgovIdGnrService idgenService; + + /** + * 기업회원의 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장 + * @param entrprsManageVO 기업회원등록정보 + * @return result 등록결과 + * @throws Exception + */ + @Override + public String insertEntrprsmber(EntrprsManageVO entrprsManageVO) throws Exception { + //고유아이디 셋팅 + String uniqId = idgenService.getNextStringId(); + entrprsManageVO.setUniqId(uniqId); + //패스워드 암호화 + String pass = EgovFileScrty.encryptPassword(entrprsManageVO.getEntrprsMberPassword(), EgovStringUtil.isNullToString(entrprsManageVO.getEntrprsmberId()));//KISA 보안약점 조치 (2018-10-29, 윤창원) + entrprsManageVO.setEntrprsMberPassword(pass); + + String result = entrprsManageDAO.insertEntrprsmber(entrprsManageVO); + return result; + } + + /** + * 기 등록된 사용자 중 검색조건에 맞는기업회원의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param uniqId 조회대상 기업회원아이디 + * @return entrprsManageVO 기업회원정보 + * @throws Exception + */ + @Override + public EntrprsManageVO selectEntrprsmber(String uniqId) { + EntrprsManageVO entrprsManageVO = entrprsManageDAO.selectEntrprsmber(uniqId); + return entrprsManageVO; + } + + /** + * 화면에 조회된 기업회원의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param entrprsManageVO 기업회원수정정보 + * @throws Exception + */ + @Override + public void updateEntrprsmber(EntrprsManageVO entrprsManageVO) throws Exception { + //패스워드 암호화 + String pass = EgovFileScrty.encryptPassword(entrprsManageVO.getEntrprsMberPassword(), EgovStringUtil.isNullToString(entrprsManageVO.getEntrprsmberId()));//KISA 보안약점 조치 (2018-10-29, 윤창원) + entrprsManageVO.setEntrprsMberPassword(pass); + entrprsManageDAO.updateEntrprsmber(entrprsManageVO); + } + + /** + * 화면에 조회된 기업회원의 정보를 데이터베이스에서 삭제 + * @param checkedIdForDel 삭제대상기업회원아이디 + * @throws Exception + */ + @Override + public void deleteEntrprsmber(String checkedIdForDel) { + //log.debug("jjyser_delete-->"+checkedIdForDel); + String [] delId = checkedIdForDel.split(","); + for (int i=0; i<delId.length ; i++){ + String [] id = delId[i].split(":"); + //log.debug("id[0]:"+id[0]); + if (id[0].equals("USR03")){ + //업무사용자(직원)삭제 + userManageDAO.deleteUser(id[1]); + }else if(id[0].equals("USR01")){ + //일반회원삭제 + mberManageDAO.deleteMber(id[1]); + }else if(id[0].equals("USR02")){ + //기업회원삭제 + entrprsManageDAO.deleteEntrprsmber(id[1]); + } + } + } + + /** + * 기업회원용 약관정보 조회 + * @param stplatId 기업회원약관아이디 + * @return stplatList 기업회원약관정보 + * @throws Exception + */ + @Override + public List<?> selectStplat(String stplatId) { + List<?> stplatList = entrprsManageDAO.selectStplat(stplatId); + return stplatList; + } + + /** + * 기업회원 암호 수정 + * @param passVO 기업회원수정정보(비밀번호) + * @throws Exception + */ + @Override + public void updatePassword(EntrprsManageVO passVO) { + entrprsManageDAO.updatePassword(passVO); + } + + /** + * 기업회원이 비밀번호를 기억하지 못할 때 비밀번호를 찾을 수 있도록 함 + * @param passVO 기업회원암호 조회조건정보 + * @return entrprsManageVO 기업회원암호정보 + * @throws Exception + */ + @Override + public EntrprsManageVO selectPassword(EntrprsManageVO passVO) { + EntrprsManageVO entrprsManageVO = entrprsManageDAO.selectPassword(passVO); + return entrprsManageVO; + } + + /** + * 기 등록된기업 회원 중 검색조건에 맞는 회원들의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param userSearchVO 검색조건 + * @return List<EntrprsManageVO> 기업회원목록정보 + * @throws Exception + */ + @Override + public List<EntrprsManageVO> selectEntrprsMberList(UserDefaultVO userSearchVO) { + return entrprsManageDAO.selectEntrprsMberList(userSearchVO); + } + + /** + * 기업회원 총 갯수를 조회한다. + * @param userSearchVO 검색조건 + * @return 사용자 총 갯수(int) + * @throws Exception + */ + @Override + public int selectEntrprsMberListTotCnt(UserDefaultVO userSearchVO) { + return entrprsManageDAO.selectEntrprsMberListTotCnt(userSearchVO); + } + + /** + * 로그인인증제한 해제 + * @param entrprsManageVO 기업회원정보 + * @return void + * @throws Exception + */ + @Override + public void updateLockIncorrect(EntrprsManageVO entrprsManageVO) throws Exception { + entrprsManageDAO.updateLockIncorrect(entrprsManageVO); + } + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovEntrprsManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovUserManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovUserManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovUserManageServiceImpl.java (revision 7) @@ -0,0 +1,202 @@ +package egovframework.com.uss.umt.service.impl; + +import java.util.List; + +import egovframework.com.uss.umt.service.EgovUserManageService; +import egovframework.com.uss.umt.service.UserDefaultVO; +import egovframework.com.uss.umt.service.UserManageVO; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.com.utl.sim.service.EgovFileScrty; +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * 사용자관리에 관한 비지니스 클래스를 정의한다. + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * 2014.12.08 이기하 암호화방식 변경(EgovFileScrty.encryptPassword) + * 2017.07.21 장동한 로그인인증제한 작업 + * + * </pre> + */ +@Service("userManageService") +public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implements EgovUserManageService { + + /** userManageDAO */ + @Resource(name="userManageDAO") + private UserManageDAO userManageDAO; + + /** mberManageDAO */ + @Resource(name="mberManageDAO") + private MberManageDAO mberManageDAO; + + /** entrprsManageDAO */ + @Resource(name="entrprsManageDAO") + private EntrprsManageDAO entrprsManageDAO; + + /** egovUsrCnfrmIdGnrService */ + @Resource(name="egovUsrCnfrmIdGnrService") + private EgovIdGnrService idgenService; + + /** + * 입력한 사용자아이디의 중복여부를 체크하여 사용가능여부를 확인 + * @param checkId 중복여부 확인대상 아이디 + * @return 사용가능여부(아이디 사용회수 int) + * @throws Exception + */ + @Override + public int checkIdDplct(String checkId) { + return userManageDAO.checkIdDplct(checkId); + } + + /** + * 화면에 조회된 사용자의 정보를 데이터베이스에서 삭제 + * @param checkedIdForDel 삭제대상 업무사용자아이디 + * @throws Exception + */ + @Override + public void deleteUser(String checkedIdForDel) { + //KISA 보안약점 조치 (2018-10-29, 윤창원) + String [] delId = EgovStringUtil.isNullToString(checkedIdForDel).split(","); + for (int i=0; i<delId.length ; i++){ + String [] id = delId[i].split(":"); + if (id[0].equals("USR03")){ + //업무사용자(직원)삭제 + userManageDAO.deleteUser(id[1]); + }else if(id[0].equals("USR01")){ + //일반회원삭제 + mberManageDAO.deleteMber(id[1]); + }else if(id[0].equals("USR02")){ + //기업회원삭제 + entrprsManageDAO.deleteEntrprsmber(id[1]); + } + } + } + + /** + * @param userManageVO 업무사용자 등록정보 + * @return result 등록결과 + * @throws Exception + */ + @Override + public String insertUser(UserManageVO userManageVO) throws Exception { + //고유아이디 셋팅 + String uniqId = idgenService.getNextStringId(); + userManageVO.setUniqId(uniqId); + //패스워드 암호화 + String pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), EgovStringUtil.isNullToString(userManageVO.getEmplyrId()));//KISA 보안약점 조치 (2018-10-29, 윤창원) + userManageVO.setPassword(pass); + String result = userManageDAO.insertUser(userManageVO); + return result; + } + + /** + * 기 등록된 사용자 중 검색조건에 맞는 사용자의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param uniqId 상세조회대상 업무사용자 아이디 + * @return userManageVO 업무사용자 상세정보 + * @throws Exception + */ + @Override + public UserManageVO selectUser(String uniqId) { + UserManageVO userManageVO = userManageDAO.selectUser(uniqId); + return userManageVO; + } + + /** + * 기 등록된 특정 사용자의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param userSearchVO 검색조건 + * @return List<UserManageVO> 업무사용자 목록정보 + * @throws Exception + */ + @Override + public List<?> selectUserList(UserDefaultVO userSearchVO) { + List<?> result = userManageDAO.selectUserList(userSearchVO); + return result; + } + + /** + * 기 등록된 특정 사용자목록의 전체수를 확인 + * @param userSearchVO 검색조건 + * @return 총사용자갯수(int) + * @throws Exception + */ + @Override + public int selectUserListTotCnt(UserDefaultVO userSearchVO) { + return userManageDAO.selectUserListTotCnt(userSearchVO); + } + + /** + * 화면에 조회된 사용자의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param userManageVO 업무사용자 수정정보 + * @throws Exception + */ + @Override + public void updateUser(UserManageVO userManageVO) throws Exception { + //패스워드 암호화 + String pass = EgovFileScrty.encryptPassword(userManageVO.getPassword(), EgovStringUtil.isNullToString(userManageVO.getEmplyrId()));//KISA 보안약점 조치 (2018-10-29, 윤창원) + userManageVO.setPassword(pass); + + userManageDAO.updateUser(userManageVO); + } + + /** + * 사용자정보 수정시 히스토리 정보를 추가 + * @param userManageVO 업무사용자 수정정보 + * @return result 등록결과 + * @throws Exception + */ + @Override + public String insertUserHistory(UserManageVO userManageVO) { + return userManageDAO.insertUserHistory(userManageVO); + } + + /** + * 업무사용자 암호 수정 + * @param userManageVO 업무사용자 수정정보(비밀번호) + * @throws Exception + */ + @Override + public void updatePassword(UserManageVO userManageVO) { + userManageDAO.updatePassword(userManageVO); + } + + /** + * 사용자가 비밀번호를 기억하지 못할 때 비밀번호를 찾을 수 있도록 함 + * @param passVO 업무사용자 암호 조회조건정보 + * @return userManageVO 업무사용자 암호정보 + * @throws Exception + */ + @Override + public UserManageVO selectPassword(UserManageVO passVO) { + UserManageVO userManageVO = userManageDAO.selectPassword(passVO); + return userManageVO; + } + + + /** + * 로그인인증제한 해제 + * @param userManageVO 업무사용자 수정정보 + * @return void + * @throws Exception + */ + @Override + public void updateLockIncorrect(UserManageVO userManageVO) throws Exception { + userManageDAO.updateLockIncorrect(userManageVO); + } + + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovUserManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/MberManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/impl/MberManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/impl/MberManageDAO.java (revision 7) @@ -0,0 +1,119 @@ +package egovframework.com.uss.umt.service.impl; + +import java.util.List; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.uss.umt.service.MberManageVO; +import egovframework.com.uss.umt.service.UserDefaultVO; + +import org.springframework.stereotype.Repository; + +/** + * 일반회원관리에 관한 데이터 접근 클래스를 정의한다. + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * 2017.07.21 장동한 로그인인증제한 작업 + * + * </pre> + */ +@Repository("mberManageDAO") +public class MberManageDAO extends EgovComAbstractDAO{ + + /** + * 기 등록된 특정 일반회원의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param userSearchVO 검색조건 + * @return List<MberManageVO> 기업회원 목록정보 + */ + @SuppressWarnings("unchecked") + public List<MberManageVO> selectMberList(UserDefaultVO userSearchVO){ + return (List<MberManageVO>) list("mberManageDAO.selectMberList", userSearchVO); + } + + /** + * 일반회원 총 갯수를 조회한다. + * @param userSearchVO 검색조건 + * @return int 일반회원총갯수 + */ + public int selectMberListTotCnt(UserDefaultVO userSearchVO) { + return (Integer)selectOne("mberManageDAO.selectMberListTotCnt", userSearchVO); + } + + /** + * 화면에 조회된 일반회원의 정보를 데이터베이스에서 삭제 + * @param delId 삭제 대상 일반회원아이디 + */ + public void deleteMber(String delId){ + delete("mberManageDAO.deleteMber_S", delId); + } + + /** + * 일반회원의 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장 + * @param mberManageVO 일반회원 등록정보 + * @return String 등록결과 + */ + public String insertMber(MberManageVO mberManageVO){ + return String.valueOf((int)insert("mberManageDAO.insertMber_S", mberManageVO)); + } + + /** + * 기 등록된 사용자 중 검색조건에 맞는일반회원의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param mberId 상세조회대상 일반회원아이디 + * @return MberManageVO 일반회원 상세정보 + */ + public MberManageVO selectMber(String mberId){ + return (MberManageVO) selectOne("mberManageDAO.selectMber_S", mberId); + } + + /** + * 화면에 조회된일반회원의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param mberManageVO 일반회원수정정보 + */ + public void updateMber(MberManageVO mberManageVO){ + update("mberManageDAO.updateMber_S",mberManageVO); + } + + /** + * 일반회원 약관확인 + * @param stplatId 일반회원약관아이디 + * @return List 일반회원약관정보 + */ + public List<?> selectStplat(String stplatId){ + return list("mberManageDAO.selectStplat_S", stplatId); + } + + /** + * 일반회원 암호수정 + * @param passVO 기업회원수정정보(비밀번호) + */ + public void updatePassword(MberManageVO passVO) { + update("mberManageDAO.updatePassword_S", passVO); + } + + /** + * 일반회원이 비밀번호를 기억하지 못할 때 비밀번호를 찾을 수 있도록 함 + * @param mberManageVO 일반회원암호 조회조건정보 + * @return MberManageVO 일반회원 암호정보 + */ + public MberManageVO selectPassword(MberManageVO mberManageVO){ + return (MberManageVO) selectOne("mberManageDAO.selectPassword_S", mberManageVO); + } + + + /** + * 로그인인증제한 해제 + * @param mberManageVO 일반회원정보 + */ + public void updateLockIncorrect(MberManageVO mberManageVO) { + update("mberManageDAO.updateLockIncorrect", mberManageVO); + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/MberManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/DeptManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/impl/DeptManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/impl/DeptManageDAO.java (revision 7) @@ -0,0 +1,70 @@ +package egovframework.com.uss.umt.service.impl; + +import java.util.List; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.uss.umt.service.DeptManageVO; + +import org.springframework.stereotype.Repository; + +@Repository("deptManageDAO") +public class DeptManageDAO extends EgovComAbstractDAO { + + /** + * 부서를 관리하기 위해 등록된 부서목록을 조회한다. + * @param deptManageVO - 부서 Vo + * @return List - 부서 목록 + * @exception Exception + */ + public List<DeptManageVO> selectDeptManageList(DeptManageVO deptManageVO) throws Exception { + return selectList("deptManageDAO.selectDeptManageList", deptManageVO); + } + + /** + * 부서목록 총 갯수를 조회한다. + * @param deptManageVO - 부서 Vo + * @return int - 부서 카운트 수 + * @exception Exception + */ + public int selectDeptManageListTotCnt(DeptManageVO deptManageVO) throws Exception { + return (Integer)selectOne("deptManageDAO.selectDeptManageListTotCnt", deptManageVO); + } + + /** + * 등록된 부서의 상세정보를 조회한다. + * @param deptManageVO - 부서 Vo + * @return deptManageVO - 부서 Vo + * + * @param bannerVO + */ + public DeptManageVO selectDeptManage(DeptManageVO deptManageVO) throws Exception { + return (DeptManageVO) selectOne("deptManageDAO.selectDeptManage", deptManageVO); + } + + /** + * 부서정보를 신규로 등록한다. + * @param deptManageVO - 부서 model + */ + public void insertDeptManage(DeptManageVO deptManageVO) throws Exception { + insert("deptManageDAO.insertDeptManage", deptManageVO); + } + + /** + * 기 등록된 부서정보를 수정한다. + * @param deptManageVO - 부서 model + */ + public void updateDeptManage(DeptManageVO deptManageVO) throws Exception { + update("deptManageDAO.updateDeptManage", deptManageVO); + } + + /** + * 기 등록된 부서정보를 삭제한다. + * @param deptManageVO - 부서 model + * + * @param banner + */ + public void deleteDeptManage(DeptManageVO deptManageVO) throws Exception { + delete("deptManageDAO.deleteDeptManage", deptManageVO); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/DeptManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovMberManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovMberManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovMberManageServiceImpl.java (revision 7) @@ -0,0 +1,187 @@ +package egovframework.com.uss.umt.service.impl; + +import java.util.List; + +import egovframework.com.uss.umt.service.EgovMberManageService; +import egovframework.com.uss.umt.service.MberManageVO; +import egovframework.com.uss.umt.service.UserDefaultVO; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.com.utl.sim.service.EgovFileScrty; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * 일반회원관리에 관한비지니스클래스를 정의한다. + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * 2014.12.08 이기하 암호화방식 변경(EgovFileScrty.encryptPassword) + * 2017.07.21 장동한 로그인인증제한 작업 + * + * </pre> + */ +@Service("mberManageService") +public class EgovMberManageServiceImpl extends EgovAbstractServiceImpl implements EgovMberManageService { + + /** userManageDAO */ + @Resource(name="userManageDAO") + private UserManageDAO userManageDAO; + + /** mberManageDAO */ + @Resource(name="mberManageDAO") + private MberManageDAO mberManageDAO; + + /** entrprsManageDAO */ + @Resource(name="entrprsManageDAO") + private EntrprsManageDAO entrprsManageDAO; + + /** egovUsrCnfrmIdGnrService */ + @Resource(name="egovUsrCnfrmIdGnrService") + private EgovIdGnrService idgenService; + + /** + * 사용자의 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장 + * @param mberManageVO 일반회원 등록정보 + * @return result 등록결과 + * @throws Exception + */ + @Override + public String insertMber(MberManageVO mberManageVO) throws Exception { + //고유아이디 셋팅 + String uniqId = idgenService.getNextStringId(); + mberManageVO.setUniqId(uniqId); + //패스워드 암호화 + String pass = EgovFileScrty.encryptPassword(mberManageVO.getPassword(), EgovStringUtil.isNullToString(mberManageVO.getMberId()));//KISA 보안약점 조치 (2018-10-29, 윤창원) + mberManageVO.setPassword(pass); + + String result = mberManageDAO.insertMber(mberManageVO); + return result; + } + + /** + * 기 등록된 사용자 중 검색조건에 맞는 일반회원의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param uniqId 상세조회대상 일반회원아이디 + * @return mberManageVO 일반회원상세정보 + * @throws Exception + */ + @Override + public MberManageVO selectMber(String uniqId) { + MberManageVO mberManageVO = mberManageDAO.selectMber(uniqId); + return mberManageVO; + } + + /** + * 기 등록된 회원 중 검색조건에 맞는 회원들의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param userSearchVO 검색조건 + * @return List<MberManageVO> 일반회원목록정보 + */ + @Override + public List<MberManageVO> selectMberList(UserDefaultVO userSearchVO) { + return mberManageDAO.selectMberList(userSearchVO); + } + + /** + * 일반회원 총 갯수를 조회한다. + * @param userSearchVO 검색조건 + * @return 일반회원총갯수(int) + */ + @Override + public int selectMberListTotCnt(UserDefaultVO userSearchVO) { + return mberManageDAO.selectMberListTotCnt(userSearchVO); + } + + /** + * 화면에 조회된 일반회원의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param mberManageVO 일반회원수정정보 + * @throws Exception + */ + @Override + public void updateMber(MberManageVO mberManageVO) throws Exception { + //패스워드 암호화 + String pass = EgovFileScrty.encryptPassword(mberManageVO.getPassword(), EgovStringUtil.isNullToString(mberManageVO.getMberId()));//KISA 보안약점 조치 (2018-10-29, 윤창원) + mberManageVO.setPassword(pass); + mberManageDAO.updateMber(mberManageVO); + } + + /** + * 화면에 조회된 사용자의 정보를 데이터베이스에서 삭제 + * @param checkedIdForDel 삭제대상 일반회원아이디 + * @throws Exception + */ + @Override + public void deleteMber(String checkedIdForDel) { + String [] delId = checkedIdForDel.split(","); + for (int i=0; i<delId.length ; i++){ + String [] id = delId[i].split(":"); + if (id[0].equals("USR03")){ + //업무사용자(직원)삭제 + userManageDAO.deleteUser(id[1]); + }else if(id[0].equals("USR01")){ + //일반회원삭제 + mberManageDAO.deleteMber(id[1]); + }else if(id[0].equals("USR02")){ + //기업회원삭제 + entrprsManageDAO.deleteEntrprsmber(id[1]); + } + } + } + + /** + * 일반회원 약관확인 + * @param stplatId 일반회원약관아이디 + * @return 일반회원약관정보(List) + * @throws Exception + */ + @Override + public List<?> selectStplat(String stplatId) { + return mberManageDAO.selectStplat(stplatId); + } + + /** + * 일반회원암호수정 + * @param mberManageVO 일반회원수정정보(비밀번호) + * @throws Exception + */ + @Override + public void updatePassword(MberManageVO mberManageVO) { + mberManageDAO.updatePassword(mberManageVO); + } + + /** + * 일반회원이 비밀번호를 기억하지 못할 때 비밀번호를 찾을 수 있도록 함 + * @param passVO 일반회원암호 조회조건정보 + * @return mberManageVO 일반회원암호정보 + * @throws Exception + */ + @Override + public MberManageVO selectPassword(MberManageVO passVO) { + MberManageVO mberManageVO = mberManageDAO.selectPassword(passVO); + return mberManageVO; + } + + + /** + * 로그인인증제한 해제 + * @param mberManageVO 일반회원정보 + * @return void + * @throws Exception + */ + @Override + public void updateLockIncorrect(MberManageVO mberManageVO) throws Exception { + mberManageDAO.updateLockIncorrect(mberManageVO); + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovMberManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EntrprsManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EntrprsManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EntrprsManageDAO.java (revision 7) @@ -0,0 +1,117 @@ +package egovframework.com.uss.umt.service.impl; + +import java.util.List; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.uss.umt.service.EntrprsManageVO; +import egovframework.com.uss.umt.service.UserDefaultVO; + +import org.springframework.stereotype.Repository; + +/** + * 기업회원관리에 관한 데이터 접근 클래스를 정의한다. + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * 2017.07.21 장동한 로그인인증제한 작업 + * + * </pre> + */ +@Repository("entrprsManageDAO") +public class EntrprsManageDAO extends EgovComAbstractDAO{ + + /** + * 화면에 조회된 기업회원의 정보를 데이터베이스에서 삭제 + * @param delId + */ + public void deleteEntrprsmber(String delId){ + delete("entrprsManageDAO.deleteEntrprs_S", delId); + } + + /** + * 기업회원의 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장 + * @param entrprsManageVO 기업회원 등록정보 + * @return String 등록결과 + */ + public String insertEntrprsmber(EntrprsManageVO entrprsManageVO){ + return String.valueOf((int)insert("entrprsManageDAO.insertEntrprs_S", entrprsManageVO)); + } + + /** + * 기 등록된 사용자 중 검색조건에 맞는 기업회원의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param entrprsmberId 상세조회대상 기업회원아이디 + * @return EntrprsManageVO 기업회원 상세정보 + */ + public EntrprsManageVO selectEntrprsmber(String entrprsmberId){ + return (EntrprsManageVO) selectOne("entrprsManageDAO.selectEntrprs_S", entrprsmberId); + } + + /** + * 화면에 조회된 사용자의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param entrprsManageVO 기업회원 수정정보 + */ + public void updateEntrprsmber(EntrprsManageVO entrprsManageVO){ + update("entrprsManageDAO.updateEntrprs_S",entrprsManageVO); + } + + /** + * 약관정보를 조회 + * @param stplatId 기업회원 약관아이디 + * @return List 기업회원약관정보 + */ + public List<?> selectStplat(String stplatId) { + return list("entrprsManageDAO.selectStplat_S", stplatId); + } + + /** + * 기업회원 암호수정 + * @param passVO 기업회원수정정보(비밀번호) + */ + public void updatePassword(EntrprsManageVO passVO) { + update("entrprsManageDAO.updatePassword_S", passVO); + } + + /** + * 기업회원이 비밀번호를 기억하지 못할 때 비밀번호를 찾을 수 있도록 함 + * @param entrprsManageVO 기업회원암호 조회조건정보 + * @return EntrprsManageVO 기업회원암호정보 + */ + public EntrprsManageVO selectPassword(EntrprsManageVO entrprsManageVO){ + return (EntrprsManageVO) selectOne("entrprsManageDAO.selectPassword_S", entrprsManageVO); + } + + /** + * 기 등록된 특정 기업회원의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param userSearchVO 검색조건 + * @return List<EntrprsManageVO> + */ + @SuppressWarnings("unchecked") + public List<EntrprsManageVO> selectEntrprsMberList(UserDefaultVO userSearchVO){ + return (List<EntrprsManageVO>) list("entrprsManageDAO.selectEntrprsMberList", userSearchVO); + } + /** + * 기업회원 총 갯수를 조회한다. + * @param userSearchVO 검색조건 + * @return int 기업회원총갯수 + */ + public int selectEntrprsMberListTotCnt(UserDefaultVO userSearchVO) { + return (Integer)selectOne("entrprsManageDAO.selectEntrprsMberListTotCnt", userSearchVO); + } + + + /** + * 로그인인증제한 해제 + * @param entrprsManageVO 기업회원정보 + */ + public void updateLockIncorrect(EntrprsManageVO entrprsManageVO) { + update("entrprsManageDAO.updateLockIncorrect", entrprsManageVO); + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EntrprsManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovDeptManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovDeptManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovDeptManageServiceImpl.java (revision 7) @@ -0,0 +1,82 @@ +package egovframework.com.uss.umt.service.impl; + +import java.util.List; + +import egovframework.com.uss.umt.service.DeptManageVO; +import egovframework.com.uss.umt.service.EgovDeptManageService; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +@Service("egovDeptManageService") +public class EgovDeptManageServiceImpl extends EgovAbstractServiceImpl implements EgovDeptManageService { + + @Resource(name="deptManageDAO") + private DeptManageDAO deptManageDAO; + + /** + * 부서를 관리하기 위해 등록된 부서목록을 조회한다. + * @param deptManageVO - 부서 Vo + * @return List - 부서 목록 + * + * @param deptManageVO + */ + public List<DeptManageVO> selectDeptManageList(DeptManageVO deptManageVO) throws Exception { + return deptManageDAO.selectDeptManageList(deptManageVO); + } + + /** + * 부서목록 총 갯수를 조회한다. + * @param deptManageVO - 부서 Vo + * @return int - 부서 카운트 수 + * + * @param deptManageVO + */ + public int selectDeptManageListTotCnt(DeptManageVO deptManageVO) throws Exception { + return deptManageDAO.selectDeptManageListTotCnt(deptManageVO); + } + + /** + * 등록된 부서의 상세정보를 조회한다. + * @param deptManageVO - 부서 Vo + * @return deptManageVO - 부서 Vo + * + * @param deptManageVO + */ + public DeptManageVO selectDeptManage(DeptManageVO deptManageVO) throws Exception { + return deptManageDAO.selectDeptManage(deptManageVO); + } + + /** + * 부서정보를 신규로 등록한다. + * @param deptManageVO - 부서 model + * + * @param deptManageVO + */ + public void insertDeptManage(DeptManageVO deptManageVO) throws Exception { + deptManageDAO.insertDeptManage(deptManageVO); + } + + /** + * 기 등록된 부서정보를 수정한다. + * @param deptManageVO - 부서 model + * + * @param deptManageVO + */ + public void updateDeptManage(DeptManageVO deptManageVO) throws Exception { + deptManageDAO.updateDeptManage(deptManageVO); + } + + /** + * 기 등록된 부서정보를 삭제한다. + * @param deptManageVO - 부서 model + * + * @param deptManageVO + */ + public void deleteDeptManage(DeptManageVO deptManageVO) throws Exception { + deptManageDAO.deleteDeptManage(deptManageVO); + } +} Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/EgovDeptManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/UserManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/impl/UserManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/impl/UserManageDAO.java (revision 7) @@ -0,0 +1,128 @@ +package egovframework.com.uss.umt.service.impl; + +import java.util.List; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.uss.umt.service.UserDefaultVO; +import egovframework.com.uss.umt.service.UserManageVO; + +import org.springframework.stereotype.Repository; + +/** + * 사용자관리에 관한 데이터 접근 클래스를 정의한다. + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * 2017.07.21 장동한 로그인인증제한 작업 + * + * </pre> + */ +@Repository("userManageDAO") +public class UserManageDAO extends EgovComAbstractDAO{ + + /** + * 입력한 사용자아이디의 중복여부를 체크하여 사용가능여부를 확인 + * @param checkId 중복체크대상 아이디 + * @return int 사용가능여부(아이디 사용회수 ) + */ + public int checkIdDplct(String checkId){ + return (Integer)selectOne("userManageDAO.checkIdDplct_S", checkId); + } + + /** + * 화면에 조회된 사용자의 정보를 데이터베이스에서 삭제 + * @param delId 삭제대상 업무사용자 아이디 + */ + public void deleteUser(String delId){ + delete("userManageDAO.deleteUser_S", delId); + } + + + /** + * 사용자의 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장 + * @param userManageVO 업무사용자 등록정보 + * @return String result 등록결과 + */ + public String insertUser(UserManageVO userManageVO){ + return String.valueOf((int)insert("userManageDAO.insertUser_S", userManageVO)); + } + + /** + * 기 등록된 사용자 중 검색조건에 맞는 사용자들의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param uniqId 상세조회대상 업무사용자아이디 + * @return UserManageVO 업무사용자 상세정보 + */ + public UserManageVO selectUser(String uniqId){ + return (UserManageVO) selectOne("userManageDAO.selectUser_S", uniqId); + } + + /** + * 기 등록된 특정 사용자의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param userSearchVO 검색조건 + * @return List 업무사용자 목록정보 + */ + public List<?> selectUserList(UserDefaultVO userSearchVO){ + return list("userManageDAO.selectUserList_S", userSearchVO); + } + + /** + * 사용자총 갯수를 조회한다. + * @param userSearchVO 검색조건 + * @return int 업무사용자 총갯수 + */ + public int selectUserListTotCnt(UserDefaultVO userSearchVO) { + return (Integer)selectOne("userManageDAO.selectUserListTotCnt_S", userSearchVO); + } + + /** + * 화면에 조회된 사용자의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param userManageVO 업무사용자 수정정보 + */ + public void updateUser(UserManageVO userManageVO){ + update("userManageDAO.updateUser_S",userManageVO); + } + + /** + * 사용자정보 수정시 히스토리 정보를 추가 + * @param userManageVO 업무사용자 히스토리 정보 + * @return String 히스토리 등록결과 + */ + public String insertUserHistory(UserManageVO userManageVO){ + return String.valueOf((int)insert("userManageDAO.insertUserHistory_S", userManageVO)); + } + + /** + * 업무사용자 암호수정 + * @param passVO 업무사용자수정정보(비밀번호) + */ + public void updatePassword(UserManageVO passVO) { + update("userManageDAO.updatePassword_S", passVO); + } + + /** + * 업무사용자가 비밀번호를 기억하지 못할 때 비밀번호를 찾을 수 있도록 함 + * @param userManageVO 업무 사용자암호 조회조건정보 + * @return UserManageVO 업무사용자 암호정보 + */ + public UserManageVO selectPassword(UserManageVO userManageVO){ + return (UserManageVO) selectOne("userManageDAO.selectPassword_S", userManageVO); + } + + + /** + * 로그인인증제한 해제 + * @param passVO 업무사용자 + */ + public void updateLockIncorrect(UserManageVO userManageVO) { + update("userManageDAO.updateLockIncorrect", userManageVO); + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/impl/UserManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/EgovEntrprsManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/EgovEntrprsManageService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/EgovEntrprsManageService.java (revision 7) @@ -0,0 +1,101 @@ +package egovframework.com.uss.umt.service; + +import java.util.List; + +/** + * 기업회원관리에 관한 인터페이스클래스를 정의한다. + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * 2017.07.21 장동한 로그인인증제한 작업 + * + * </pre> + */ +public interface EgovEntrprsManageService { + + /** + * 기업회원의 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장 + * @param entrprsManageVO 기업회원등록정보 + * @return result 등록결과 + * @throws Exception + */ + public String insertEntrprsmber(EntrprsManageVO entrprsManageVO) throws Exception; + + /** + * 기 등록된 사용자 중 검색조건에 맞는기업회원의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param entrprsmberId 조회대상 기업회원아이디 + * @return entrprsManageVO 기업회원정보 + * @throws Exception + */ + public EntrprsManageVO selectEntrprsmber(String entrprsmberId) throws Exception; + + /** + * 화면에 조회된 기업회원의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param entrprsManageVO 기업회원수정정보 + * @throws Exception + */ + public void updateEntrprsmber(EntrprsManageVO entrprsManageVO) throws Exception; + + /** + * 화면에 조회된 기업회원의 정보를 데이터베이스에서 삭제 + * @param checkedIdForDel 삭제대상기업회원아이디 + * @throws Exception + */ + public void deleteEntrprsmber(String checkedIdForDel) throws Exception; + + /** + * 기업회원용 약관정보 조회 + * @param stplatId 기업회원약관아이디 + * @return stplatList 기업회원약관정보 + * @throws Exception + */ + public List<?> selectStplat(String stplatId) throws Exception; + + /** + * 기업회원암호수정 + * @param entrprsManageVO 기업회원수정정보(비밀번호) + * @throws Exception + */ + public void updatePassword(EntrprsManageVO entrprsManageVO) throws Exception; + + /** + * 기업회원이 비밀번호를 기억하지 못할 때 비밀번호를 찾을 수 있도록 함 + * @param passVO 기업회원암호 조회조건정보 + * @return entrprsManageVO 기업회원암호정보 + * @throws Exception + */ + public EntrprsManageVO selectPassword(EntrprsManageVO passVO) throws Exception; + + /** + * 기 등록된기업 회원 중 검색조건에 맞는 회원들의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param userSearchVO 검색조건 + * @return List<EntrprsManageVO> 기업회원목록정보 + * @throws Exception + */ + public List<EntrprsManageVO> selectEntrprsMberList(UserDefaultVO userSearchVO) throws Exception; + + /** + * 기업회원 총 갯수를 조회한다. + * @param userSearchVO 검색조건 + * @return 사용자 총 갯수(int) + * @throws Exception + */ + public int selectEntrprsMberListTotCnt(UserDefaultVO userSearchVO) throws Exception; + + + /** + * 로그인인증제한 해제 + * @param entrprsManageVO 기업회원정보 + * @return void + * @throws Exception + */ + public void updateLockIncorrect(EntrprsManageVO entrprsManageVO) throws Exception; +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/EgovEntrprsManageService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/UserDefaultVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/UserDefaultVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/UserDefaultVO.java (revision 7) @@ -0,0 +1,217 @@ +package egovframework.com.uss.umt.service; + +import java.io.Serializable; + +/** + * 사용자정보 VO클래스로서일반회원, 기업회원, 업무사용자의 비지니스로직 처리시 기타조건성 항을 구성한다. + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * + * </pre> + */ +public class UserDefaultVO implements Serializable { + + private static final long serialVersionUID = 4829684178121022508L; + + /** 검색조건-회원상태 (0, A, D, P)*/ + private String sbscrbSttus = "0"; + + /** 검색조건 */ + private String searchCondition = ""; + + /** 검색Keyword */ + private String searchKeyword = ""; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** firstIndex */ + private int firstIndex = 1; + + /** lastIndex */ + private int lastIndex = 1; + + /** recordCountPerPage */ + private int recordCountPerPage = 10; + + /** + * sbscrbSttus attribute 값을 리턴한다. + * @return String + */ + public String getSbscrbSttus() { + return sbscrbSttus; + } + + /** + * sbscrbSttus attribute 값을 설정한다. + * @param sbscrbSttus String + */ + public void setSbscrbSttus(String sbscrbSttus) { + this.sbscrbSttus = sbscrbSttus; + } + + /** + * searchCondition attribute 값을 리턴한다. + * @return String + */ + public String getSearchCondition() { + return searchCondition; + } + + /** + * searchCondition attribute 값을 설정한다. + * @param searchCondition String + */ + public void setSearchCondition(String searchCondition) { + this.searchCondition = searchCondition; + } + + /** + * searchKeyword attribute 값을 리턴한다. + * @return String + */ + public String getSearchKeyword() { + return searchKeyword; + } + + /** + * searchKeyword attribute 값을 설정한다. + * @param searchKeyword String + */ + public void setSearchKeyword(String searchKeyword) { + this.searchKeyword = searchKeyword; + } + + /** + * searchUseYn attribute 값을 리턴한다. + * @return String + */ + public String getSearchUseYn() { + return searchUseYn; + } + + /** + * searchUseYn attribute 값을 설정한다. + * @param searchUseYn String + */ + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + /** + * pageIndex attribute 값을 리턴한다. + * @return int + */ + public int getPageIndex() { + return pageIndex; + } + + /** + * pageIndex attribute 값을 설정한다. + * @param pageIndex int + */ + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + /** + * pageUnit attribute 값을 리턴한다. + * @return int + */ + public int getPageUnit() { + return pageUnit; + } + + /** + * pageUnit attribute 값을 설정한다. + * @param pageUnit int + */ + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + /** + * pageSize attribute 값을 리턴한다. + * @return int + */ + public int getPageSize() { + return pageSize; + } + + /** + * pageSize attribute 값을 설정한다. + * @param pageSize int + */ + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + /** + * firstIndex attribute 값을 리턴한다. + * @return int + */ + public int getFirstIndex() { + return firstIndex; + } + + /** + * firstIndex attribute 값을 설정한다. + * @param firstIndex int + */ + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + /** + * lastIndex attribute 값을 리턴한다. + * @return int + */ + public int getLastIndex() { + return lastIndex; + } + + /** + * lastIndex attribute 값을 설정한다. + * @param lastIndex int + */ + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + /** + * recordCountPerPage attribute 값을 리턴한다. + * @return int + */ + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + /** + * recordCountPerPage attribute 값을 설정한다. + * @param recordCountPerPage int + */ + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + + + +} Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/UserDefaultVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/EgovUserManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/EgovUserManageService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/EgovUserManageService.java (revision 7) @@ -0,0 +1,109 @@ +package egovframework.com.uss.umt.service; +import java.util.List; + +/** + * 사용자관리에 관한 인터페이스클래스를 정의한다. + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * 2017.07.21 장동한 로그인인증제한 작업 + * + * </pre> + */ +public interface EgovUserManageService { + + /** + * 입력한 사용자아이디의 중복여부를 체크하여 사용가능여부를 확인 + * @param checkId 중복여부 확인대상 아이디 + * @return 사용가능여부(아이디 사용회수 int) + * @throws Exception + */ + public int checkIdDplct(String checkId) throws Exception; + + /** + * 화면에 조회된 사용자의 정보를 데이터베이스에서 삭제 + * @param checkedIdForDel 삭제대상 업무사용자아이디 + * @throws Exception + */ + public void deleteUser(String checkedIdForDel) throws Exception; + + /** + * @param userManageVO 업무사용자 등록정보 + * @return result 등록결과 + * @throws Exception + */ + public String insertUser(UserManageVO userManageVO) throws Exception; + + /** + * 기 등록된 사용자 중 검색조건에 맞는 사용자의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param emplyrId 상세조회대상 업무사용자 아이디 + * @return userManageVO 업무사용자 상세정보 + * @throws Exception + */ + public UserManageVO selectUser(String emplyrId) throws Exception; + + /** + * 기 등록된 특정 사용자의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param userSearchVO 검색조건 + * @return List<UserManageVO> 업무사용자 목록정보 + * @throws Exception + */ + public List<?> selectUserList(UserDefaultVO userSearchVO) throws Exception; + + /** + * 기 등록된 특정 사용자목록의 전체수를 확인 + * @param userSearchVO 검색조건 + * @return 총사용자갯수(int) + * @throws Exception + */ + public int selectUserListTotCnt(UserDefaultVO userSearchVO) throws Exception; + + /** + * 화면에 조회된 사용자의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param userManageVO 업무사용자 수정정보 + * @throws Exception + */ + public void updateUser(UserManageVO userManageVO) throws Exception; + + /** + * 사용자정보 수정시 히스토리 정보를 추가 + * @param userManageVO 업무사용자 수정정보 + * @return result 등록결과 + * @throws Exception + */ + public String insertUserHistory(UserManageVO userManageVO) throws Exception; + + /** + * 업무사용자 암호 수정 + * @param userManageVO 업무사용자 수정정보(비밀번호) + * @throws Exception + */ + public void updatePassword(UserManageVO userManageVO) throws Exception; + + /** + * 사용자가 비밀번호를 기억하지 못할 때 비밀번호를 찾을 수 있도록 함 + * @param passVO 업무사용자 암호 조회조건정보 + * @return userManageVO 업무사용자 암호정보 + * @throws Exception + */ + public UserManageVO selectPassword(UserManageVO passVO) throws Exception; + + + /** + * 로그인인증제한 해제 + * @param userManageVO 업무사용자 수정정보 + * @return void + * @throws Exception + */ + public void updateLockIncorrect(UserManageVO userManageVO) throws Exception; + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/EgovUserManageService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/StplatVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/StplatVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/StplatVO.java (revision 7) @@ -0,0 +1,82 @@ +package egovframework.com.uss.umt.service; + +import java.io.Serializable; + +/** + * 가입약관VO클래스로서가입약관확인시 비지니스로직 처리용 항목을 구성한다. + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * + * </pre> + */ +public class StplatVO implements Serializable { + + private static final long serialVersionUID = 3744005602026645L; + + /** 약관아이디*/ + private String useStplatId; + + /** 사용약관안내*/ + private String useStplatCn; + + /** 정보동의안내*/ + private String infoProvdAgeCn; + + /** + * useStplatId attribute 값을 리턴한다. + * @return String + */ + public String getUseStplatId() { + return useStplatId; + } + + /** + * useStplatId attribute 값을 설정한다. + * @param useStplatId String + */ + public void setUseStplatId(String useStplatId) { + this.useStplatId = useStplatId; + } + + /** + * useStplatCn attribute 값을 리턴한다. + * @return String + */ + public String getUseStplatCn() { + return useStplatCn; + } + + /** + * useStplatCn attribute 값을 설정한다. + * @param useStplatCn String + */ + public void setUseStplatCn(String useStplatCn) { + this.useStplatCn = useStplatCn; + } + + /** + * infoProvdAgeCn attribute 값을 리턴한다. + * @return String + */ + public String getInfoProvdAgeCn() { + return infoProvdAgeCn; + } + + /** + * infoProvdAgeCn attribute 값을 설정한다. + * @param infoProvdAgeCn String + */ + public void setInfoProvdAgeCn(String infoProvdAgeCn) { + this.infoProvdAgeCn = infoProvdAgeCn; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/StplatVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/UserManageVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/UserManageVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/UserManageVO.java (revision 7) @@ -0,0 +1,605 @@ +package egovframework.com.uss.umt.service; + +/** + * 업무사용자VO클래스로서 업무사용자관리 비지니스로직 처리용 항목을 구성한다. + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * 2017.07.21 장동한 로그인인증제한 작업 + * + * </pre> + */ +public class UserManageVO extends UserDefaultVO{ + + private static final long serialVersionUID = 3640820362821490939L; + + /** 이전비밀번호 - 비밀번호 변경시 사용*/ + private String oldPassword = ""; + + /** + * 가입일 + */ + private String sbscrbDe; + /** + * 사용자고유아이디 + */ + private String uniqId=""; + /** + * 사용자 유형 + */ + private String userTy; + /** + * 지역번호 + */ + private String areaNo; + /** + * 생일 + */ + private String brth; + /** + * 상세주소 + */ + private String detailAdres; + /** + * 이메일주소 + */ + private String emailAdres; + /** + * 사원번호 + */ + private String emplNo; + /** + * 사용자 ID + */ + private String emplyrId; + /** + * 사용자 명 + */ + private String emplyrNm; + /** + * 사용자 상태 + */ + private String emplyrSttusCode; + /** + * 팩스번호 + */ + private String fxnum; + /** + * 그룹 ID + */ + private String groupId; + /** + * 집 주소 + */ + private String homeadres; + /** + * 집끝전화번호 + */ + private String homeendTelno; + /** + * 집중간전화번호 + */ + private String homemiddleTelno; + /** + * 주민등록번호 + */ + private String ihidnum; + /** + * 소속기관코드 + */ + private String insttCode; + /** + * 검색조건 회원타입 + */ + private String mberTy; + /** + * 핸드폰번호 + */ + private String moblphonNo; + /** + * 직위명 + */ + private String ofcpsNm; + /** + * 사무실전화번호 + */ + private String offmTelno; + /** + * 조직 ID + */ + private String orgnztId; + /** + * 비밀번호 + */ + private String password; + /** + * 비밀번호 정답 + */ + private String passwordCnsr; + /** + * 비밀번호 힌트 + */ + private String passwordHint; + /** + * 검색조건 가입일자 시작일 + */ + private String sbscrbDeBegin; + /** + * 검색조건 가입일자 종료일 + */ + private String sbscrbDeEnd; + /** + * 성별코드 + */ + private String sexdstnCode; + /** + * 우편번호 + */ + private String zip; + /** + * DN 값 + */ + private String subDn; + + private String lockAt; + public String getLockAt() {return lockAt;} + public void setLockAt(String lockAt) {this.lockAt = lockAt;} + + /** + * oldPassword attribute 값을 리턴한다. + * @return String + */ + public String getOldPassword() { + return oldPassword; + } + /** + * oldPassword attribute 값을 설정한다. + * @param oldPassword String + */ + public void setOldPassword(String oldPassword) { + this.oldPassword = oldPassword; + } + /** + * sbscrbDe attribute 값을 리턴한다. + * @return String + */ + public String getSbscrbDe() { + return sbscrbDe; + } + /** + * sbscrbDe attribute 값을 설정한다. + * @param sbscrbDe String + */ + public void setSbscrbDe(String sbscrbDe) { + this.sbscrbDe = sbscrbDe; + } + /** + * uniqId attribute 값을 리턴한다. + * @return String + */ + public String getUniqId() { + return uniqId; + } + /** + * uniqId attribute 값을 설정한다. + * @param uniqId String + */ + public void setUniqId(String uniqId) { + this.uniqId = uniqId; + } + /** + * userTy attribute 값을 리턴한다. + * @return String + */ + public String getUserTy() { + return userTy; + } + /** + * userTy attribute 값을 설정한다. + * @param userTy String + */ + public void setUserTy(String userTy) { + this.userTy = userTy; + } + /** + * areaNo attribute 값을 리턴한다. + * @return String + */ + public String getAreaNo() { + return areaNo; + } + /** + * areaNo attribute 값을 설정한다. + * @param areaNo String + */ + public void setAreaNo(String areaNo) { + this.areaNo = areaNo; + } + /** + * brth attribute 값을 리턴한다. + * @return String + */ + public String getBrth() { + return brth; + } + /** + * brth attribute 값을 설정한다. + * @param brth String + */ + public void setBrth(String brth) { + this.brth = brth; + } + /** + * detailAdres attribute 값을 리턴한다. + * @return String + */ + public String getDetailAdres() { + return detailAdres; + } + /** + * detailAdres attribute 값을 설정한다. + * @param detailAdres String + */ + public void setDetailAdres(String detailAdres) { + this.detailAdres = detailAdres; + } + /** + * emailAdres attribute 값을 리턴한다. + * @return String + */ + public String getEmailAdres() { + return emailAdres; + } + /** + * emailAdres attribute 값을 설정한다. + * @param emailAdres String + */ + public void setEmailAdres(String emailAdres) { + this.emailAdres = emailAdres; + } + /** + * emplNo attribute 값을 리턴한다. + * @return String + */ + public String getEmplNo() { + return emplNo; + } + /** + * emplNo attribute 값을 설정한다. + * @param emplNo String + */ + public void setEmplNo(String emplNo) { + this.emplNo = emplNo; + } + /** + * emplyrId attribute 값을 리턴한다. + * @return String + */ + public String getEmplyrId() { + return emplyrId; + } + /** + * emplyrId attribute 값을 설정한다. + * @param emplyrId String + */ + public void setEmplyrId(String emplyrId) { + this.emplyrId = emplyrId; + } + /** + * emplyrNm attribute 값을 리턴한다. + * @return String + */ + public String getEmplyrNm() { + return emplyrNm; + } + /** + * emplyrNm attribute 값을 설정한다. + * @param emplyrNm String + */ + public void setEmplyrNm(String emplyrNm) { + this.emplyrNm = emplyrNm; + } + /** + * emplyrSttusCode attribute 값을 리턴한다. + * @return String + */ + public String getEmplyrSttusCode() { + return emplyrSttusCode; + } + /** + * emplyrSttusCode attribute 값을 설정한다. + * @param emplyrSttusCode String + */ + public void setEmplyrSttusCode(String emplyrSttusCode) { + this.emplyrSttusCode = emplyrSttusCode; + } + /** + * fxnum attribute 값을 리턴한다. + * @return String + */ + public String getFxnum() { + return fxnum; + } + /** + * fxnum attribute 값을 설정한다. + * @param fxnum String + */ + public void setFxnum(String fxnum) { + this.fxnum = fxnum; + } + /** + * groupId attribute 값을 리턴한다. + * @return String + */ + public String getGroupId() { + return groupId; + } + /** + * groupId attribute 값을 설정한다. + * @param groupId String + */ + public void setGroupId(String groupId) { + this.groupId = groupId; + } + /** + * homeadres attribute 값을 리턴한다. + * @return String + */ + public String getHomeadres() { + return homeadres; + } + /** + * homeadres attribute 값을 설정한다. + * @param homeadres String + */ + public void setHomeadres(String homeadres) { + this.homeadres = homeadres; + } + /** + * homeendTelno attribute 값을 리턴한다. + * @return String + */ + public String getHomeendTelno() { + return homeendTelno; + } + /** + * homeendTelno attribute 값을 설정한다. + * @param homeendTelno String + */ + public void setHomeendTelno(String homeendTelno) { + this.homeendTelno = homeendTelno; + } + /** + * homemiddleTelno attribute 값을 리턴한다. + * @return String + */ + public String getHomemiddleTelno() { + return homemiddleTelno; + } + /** + * homemiddleTelno attribute 값을 설정한다. + * @param homemiddleTelno String + */ + public void setHomemiddleTelno(String homemiddleTelno) { + this.homemiddleTelno = homemiddleTelno; + } + /** + * ihidnum attribute 값을 리턴한다. + * @return String + */ + public String getIhidnum() { + return ihidnum; + } + /** + * ihidnum attribute 값을 설정한다. + * @param ihidnum String + */ + public void setIhidnum(String ihidnum) { + this.ihidnum = ihidnum; + } + /** + * insttCode attribute 값을 리턴한다. + * @return String + */ + public String getInsttCode() { + return insttCode; + } + /** + * insttCode attribute 값을 설정한다. + * @param insttCode String + */ + public void setInsttCode(String insttCode) { + this.insttCode = insttCode; + } + /** + * mberTy attribute 값을 리턴한다. + * @return String + */ + public String getMberTy() { + return mberTy; + } + /** + * mberTy attribute 값을 설정한다. + * @param mberTy String + */ + public void setMberTy(String mberTy) { + this.mberTy = mberTy; + } + /** + * moblphonNo attribute 값을 리턴한다. + * @return String + */ + public String getMoblphonNo() { + return moblphonNo; + } + /** + * moblphonNo attribute 값을 설정한다. + * @param moblphonNo String + */ + public void setMoblphonNo(String moblphonNo) { + this.moblphonNo = moblphonNo; + } + /** + * ofcpsNm attribute 값을 리턴한다. + * @return String + */ + public String getOfcpsNm() { + return ofcpsNm; + } + /** + * ofcpsNm attribute 값을 설정한다. + * @param ofcpsNm String + */ + public void setOfcpsNm(String ofcpsNm) { + this.ofcpsNm = ofcpsNm; + } + /** + * offmTelno attribute 값을 리턴한다. + * @return String + */ + public String getOffmTelno() { + return offmTelno; + } + /** + * offmTelno attribute 값을 설정한다. + * @param offmTelno String + */ + public void setOffmTelno(String offmTelno) { + this.offmTelno = offmTelno; + } + /** + * orgnztId attribute 값을 리턴한다. + * @return String + */ + public String getOrgnztId() { + return orgnztId; + } + /** + * orgnztId attribute 값을 설정한다. + * @param orgnztId String + */ + public void setOrgnztId(String orgnztId) { + this.orgnztId = orgnztId; + } + /** + * password attribute 값을 리턴한다. + * @return String + */ + public String getPassword() { + return password; + } + /** + * password attribute 값을 설정한다. + * @param password String + */ + public void setPassword(String password) { + this.password = password; + } + /** + * passwordCnsr attribute 값을 리턴한다. + * @return String + */ + public String getPasswordCnsr() { + return passwordCnsr; + } + /** + * passwordCnsr attribute 값을 설정한다. + * @param passwordCnsr String + */ + public void setPasswordCnsr(String passwordCnsr) { + this.passwordCnsr = passwordCnsr; + } + /** + * passwordHint attribute 값을 리턴한다. + * @return String + */ + public String getPasswordHint() { + return passwordHint; + } + /** + * passwordHint attribute 값을 설정한다. + * @param passwordHint String + */ + public void setPasswordHint(String passwordHint) { + this.passwordHint = passwordHint; + } + /** + * sbscrbDeBegin attribute 값을 리턴한다. + * @return String + */ + public String getSbscrbDeBegin() { + return sbscrbDeBegin; + } + /** + * sbscrbDeBegin attribute 값을 설정한다. + * @param sbscrbDeBegin String + */ + public void setSbscrbDeBegin(String sbscrbDeBegin) { + this.sbscrbDeBegin = sbscrbDeBegin; + } + /** + * sbscrbDeEnd attribute 값을 리턴한다. + * @return String + */ + public String getSbscrbDeEnd() { + return sbscrbDeEnd; + } + /** + * sbscrbDeEnd attribute 값을 설정한다. + * @param sbscrbDeEnd String + */ + public void setSbscrbDeEnd(String sbscrbDeEnd) { + this.sbscrbDeEnd = sbscrbDeEnd; + } + /** + * sexdstnCode attribute 값을 리턴한다. + * @return String + */ + public String getSexdstnCode() { + return sexdstnCode; + } + /** + * sexdstnCode attribute 값을 설정한다. + * @param sexdstnCode String + */ + public void setSexdstnCode(String sexdstnCode) { + this.sexdstnCode = sexdstnCode; + } + /** + * zip attribute 값을 리턴한다. + * @return String + */ + public String getZip() { + return zip; + } + /** + * zip attribute 값을 설정한다. + * @param zip String + */ + public void setZip(String zip) { + this.zip = zip; + } + /** + * subDn attribute 값을 리턴한다. + * @return String + */ + public String getSubDn() { + return subDn; + } + /** + * subDn attribute 값을 설정한다. + * @param subDn String + */ + public void setSubDn(String subDn) { + this.subDn = subDn; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/UserManageVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/EntrprsManageVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/EntrprsManageVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/EntrprsManageVO.java (revision 7) @@ -0,0 +1,498 @@ +package egovframework.com.uss.umt.service; + +/** + * 기업회원VO클래스로서 기업회원관리 비지니스로직 처리용 항목을 구성한다. + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * 2017.07.21 장동한 로그인인증제한 작업 + * + * </pre> + */ +public class EntrprsManageVO extends UserDefaultVO{ + + private static final long serialVersionUID = -6532736688851136256L; + + /** 이전비밀번호 - 비밀번호 변경시 사용*/ + private String oldPassword = ""; + + /** + * 사용자고유아이디 + */ + private String uniqId=""; + /** + * 사용자 유형 + */ + private String userTy; + /** + * 주소 + */ + private String adres; + /** + * 상세주소 + */ + private String detailAdres; + /** + * 신청자 주민등록번호 + */ + private String applcntIhidnum; + /** + * 신청자 명 + */ + private String applcntNm; + /** + * 사업자번호 + */ + private String bizrno; + /** + * 회사명 + */ + private String cmpnyNm; + /** + * 대표이사 + */ + private String cxfc; + /** + * 기업 회원 ID + */ + private String entrprsmberId; + /** + * 기업 회원 비밀번호 + */ + private String entrprsMberPassword; + /** + * 기업 회원 비밀번호 정답 + */ + private String entrprsMberPasswordCnsr; + /** + * 기업 회원 비밀번호 힌트 + */ + private String entrprsMberPasswordHint; + /** + * 기업 회원 상태 + */ + private String entrprsMberSttus; + /** + * 기업구분코드 + */ + private String entrprsSeCode; + /** + * 팩스번호 + */ + private String fxnum; + /** + * 그룹 ID + */ + private String groupId; + /** + * 업종코드 + */ + private String indutyCode; + /** + * 법인등록번호 + */ + private String jurirno; + /** + * 지역번호 + */ + private String areaNo; + /** + * 회사끝전화번호 + */ + private String entrprsEndTelno; + /** + * 회사중간전화번호 + */ + private String entrprsMiddleTelno; + /** + * 가입 일자 + */ + private String sbscrbDe; + /** + * 우편번호 + */ + private String zip; + /** + * 신청자 이메일주소 + */ + private String applcntEmailAdres; + + private String lockAt; + public String getLockAt() {return lockAt;} + public void setLockAt(String lockAt) {this.lockAt = lockAt;} + + /** + * oldPassword attribute 값을 리턴한다. + * @return String + */ + public String getOldPassword() { + return oldPassword; + } + /** + * oldPassword attribute 값을 설정한다. + * @param oldPassword String + */ + public void setOldPassword(String oldPassword) { + this.oldPassword = oldPassword; + } + /** + * uniqId attribute 값을 리턴한다. + * @return String + */ + public String getUniqId() { + return uniqId; + } + /** + * uniqId attribute 값을 설정한다. + * @param uniqId String + */ + public void setUniqId(String uniqId) { + this.uniqId = uniqId; + } + /** + * userTy attribute 값을 리턴한다. + * @return String + */ + public String getUserTy() { + return userTy; + } + /** + * userTy attribute 값을 설정한다. + * @param userTy String + */ + public void setUserTy(String userTy) { + this.userTy = userTy; + } + /** + * adres attribute 값을 리턴한다. + * @return String + */ + public String getAdres() { + return adres; + } + /** + * adres attribute 값을 설정한다. + * @param adres String + */ + public void setAdres(String adres) { + this.adres = adres; + } + /** + * detailAdres attribute 값을 리턴한다. + * @return String + */ + public String getDetailAdres() { + return detailAdres; + } + /** + * detailAdres attribute 값을 설정한다. + * @param detailAdres String + */ + public void setDetailAdres(String detailAdres) { + this.detailAdres = detailAdres; + } + /** + * applcntIhidnum attribute 값을 리턴한다. + * @return String + */ + public String getApplcntIhidnum() { + return applcntIhidnum; + } + /** + * applcntIhidnum attribute 값을 설정한다. + * @param applcntIhidnum String + */ + public void setApplcntIhidnum(String applcntIhidnum) { + this.applcntIhidnum = applcntIhidnum; + } + /** + * applcntNm attribute 값을 리턴한다. + * @return String + */ + public String getApplcntNm() { + return applcntNm; + } + /** + * applcntNm attribute 값을 설정한다. + * @param applcntNm String + */ + public void setApplcntNm(String applcntNm) { + this.applcntNm = applcntNm; + } + /** + * bizrno attribute 값을 리턴한다. + * @return String + */ + public String getBizrno() { + return bizrno; + } + /** + * bizrno attribute 값을 설정한다. + * @param bizrno String + */ + public void setBizrno(String bizrno) { + this.bizrno = bizrno; + } + /** + * cmpnyNm attribute 값을 리턴한다. + * @return String + */ + public String getCmpnyNm() { + return cmpnyNm; + } + /** + * cmpnyNm attribute 값을 설정한다. + * @param cmpnyNm String + */ + public void setCmpnyNm(String cmpnyNm) { + this.cmpnyNm = cmpnyNm; + } + /** + * cxfc attribute 값을 리턴한다. + * @return String + */ + public String getCxfc() { + return cxfc; + } + /** + * cxfc attribute 값을 설정한다. + * @param cxfc String + */ + public void setCxfc(String cxfc) { + this.cxfc = cxfc; + } + /** + * entrprsmberId attribute 값을 리턴한다. + * @return String + */ + public String getEntrprsmberId() { + return entrprsmberId; + } + /** + * entrprsmberId attribute 값을 설정한다. + * @param entrprsmberId String + */ + public void setEntrprsmberId(String entrprsmberId) { + this.entrprsmberId = entrprsmberId; + } + /** + * entrprsMberPassword attribute 값을 리턴한다. + * @return String + */ + public String getEntrprsMberPassword() { + return entrprsMberPassword; + } + /** + * entrprsMberPassword attribute 값을 설정한다. + * @param entrprsMberPassword String + */ + public void setEntrprsMberPassword(String entrprsMberPassword) { + this.entrprsMberPassword = entrprsMberPassword; + } + /** + * entrprsMberPasswordCnsr attribute 값을 리턴한다. + * @return String + */ + public String getEntrprsMberPasswordCnsr() { + return entrprsMberPasswordCnsr; + } + /** + * entrprsMberPasswordCnsr attribute 값을 설정한다. + * @param entrprsMberPasswordCnsr String + */ + public void setEntrprsMberPasswordCnsr(String entrprsMberPasswordCnsr) { + this.entrprsMberPasswordCnsr = entrprsMberPasswordCnsr; + } + /** + * entrprsMberPasswordHint attribute 값을 리턴한다. + * @return String + */ + public String getEntrprsMberPasswordHint() { + return entrprsMberPasswordHint; + } + /** + * entrprsMberPasswordHint attribute 값을 설정한다. + * @param entrprsMberPasswordHint String + */ + public void setEntrprsMberPasswordHint(String entrprsMberPasswordHint) { + this.entrprsMberPasswordHint = entrprsMberPasswordHint; + } + /** + * entrprsMberSttus attribute 값을 리턴한다. + * @return String + */ + public String getEntrprsMberSttus() { + return entrprsMberSttus; + } + /** + * entrprsMberSttus attribute 값을 설정한다. + * @param entrprsMberSttus String + */ + public void setEntrprsMberSttus(String entrprsMberSttus) { + this.entrprsMberSttus = entrprsMberSttus; + } + /** + * entrprsSeCode attribute 값을 리턴한다. + * @return String + */ + public String getEntrprsSeCode() { + return entrprsSeCode; + } + /** + * entrprsSeCode attribute 값을 설정한다. + * @param entrprsSeCode String + */ + public void setEntrprsSeCode(String entrprsSeCode) { + this.entrprsSeCode = entrprsSeCode; + } + /** + * fxnum attribute 값을 리턴한다. + * @return String + */ + public String getFxnum() { + return fxnum; + } + /** + * fxnum attribute 값을 설정한다. + * @param fxnum String + */ + public void setFxnum(String fxnum) { + this.fxnum = fxnum; + } + /** + * groupId attribute 값을 리턴한다. + * @return String + */ + public String getGroupId() { + return groupId; + } + /** + * groupId attribute 값을 설정한다. + * @param groupId String + */ + public void setGroupId(String groupId) { + this.groupId = groupId; + } + /** + * indutyCode attribute 값을 리턴한다. + * @return String + */ + public String getIndutyCode() { + return indutyCode; + } + /** + * indutyCode attribute 값을 설정한다. + * @param indutyCode String + */ + public void setIndutyCode(String indutyCode) { + this.indutyCode = indutyCode; + } + /** + * jurirno attribute 값을 리턴한다. + * @return String + */ + public String getJurirno() { + return jurirno; + } + /** + * jurirno attribute 값을 설정한다. + * @param jurirno String + */ + public void setJurirno(String jurirno) { + this.jurirno = jurirno; + } + /** + * areaNo attribute 값을 리턴한다. + * @return String + */ + public String getAreaNo() { + return areaNo; + } + /** + * areaNo attribute 값을 설정한다. + * @param areaNo String + */ + public void setAreaNo(String areaNo) { + this.areaNo = areaNo; + } + /** + * entrprsEndTelno attribute 값을 리턴한다. + * @return String + */ + public String getEntrprsEndTelno() { + return entrprsEndTelno; + } + /** + * entrprsEndTelno attribute 값을 설정한다. + * @param entrprsEndTelno String + */ + public void setEntrprsEndTelno(String entrprsEndTelno) { + this.entrprsEndTelno = entrprsEndTelno; + } + /** + * entrprsMiddleTelno attribute 값을 리턴한다. + * @return String + */ + public String getEntrprsMiddleTelno() { + return entrprsMiddleTelno; + } + /** + * entrprsMiddleTelno attribute 값을 설정한다. + * @param entrprsMiddleTelno String + */ + public void setEntrprsMiddleTelno(String entrprsMiddleTelno) { + this.entrprsMiddleTelno = entrprsMiddleTelno; + } + /** + * sbscrbDe attribute 값을 리턴한다. + * @return String + */ + public String getSbscrbDe() { + return sbscrbDe; + } + /** + * sbscrbDe attribute 값을 설정한다. + * @param sbscrbDe String + */ + public void setSbscrbDe(String sbscrbDe) { + this.sbscrbDe = sbscrbDe; + } + /** + * zip attribute 값을 리턴한다. + * @return String + */ + public String getZip() { + return zip; + } + /** + * zip attribute 값을 설정한다. + * @param zip String + */ + public void setZip(String zip) { + this.zip = zip; + } + /** + * applcntEmailAdres attribute 값을 리턴한다. + * @return String + */ + public String getApplcntEmailAdres() { + return applcntEmailAdres; + } + /** + * applcntEmailAdres attribute 값을 설정한다. + * @param applcntEmailAdres String + */ + public void setApplcntEmailAdres(String applcntEmailAdres) { + this.applcntEmailAdres = applcntEmailAdres; + } + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/EntrprsManageVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/EgovMberManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/EgovMberManageService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/EgovMberManageService.java (revision 7) @@ -0,0 +1,101 @@ +package egovframework.com.uss.umt.service; + +import java.util.List; + +/** + * 일반회원관리에 관한 인터페이스클래스를 정의한다. + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.10 조재영 최초 생성 + * 2017.07.21 장동한 로그인인증제한 작업 + * + * </pre> + */ +public interface EgovMberManageService { + + /** + * 사용자의 기본정보를 화면에서 입력하여 항목의 정합성을 체크하고 데이터베이스에 저장 + * @param mberManageVO 일반회원 등록정보 + * @return 등록결과 + * @throws Exception + */ + public String insertMber(MberManageVO mberManageVO) throws Exception; + + /** + * 기 등록된 사용자 중 검색조건에 맞는 일반회원의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param mberId 상세조회대상 일반회원아이디 + * @return mberManageVO 일반회원상세정보 + * @throws Exception + */ + public MberManageVO selectMber(String mberId) throws Exception; + + /** + * 기 등록된 회원 중 검색조건에 맞는 회원들의 정보를 데이터베이스에서 읽어와 화면에 출력 + * @param userSearchVO 검색조건 + * @return List<MberManageVO> 일반회원목록정보 + * @throws Exception + */ + public List<MberManageVO> selectMberList(UserDefaultVO userSearchVO) throws Exception; + + /** + * 일반회원 총 갯수를 조회한다. + * @param userSearchVO 검색조건 + * @return 일반회원총갯수(int) + * @throws Exception + */ + public int selectMberListTotCnt(UserDefaultVO userSearchVO) throws Exception; + + /** + * 화면에 조회된 일반회원의 기본정보를 수정하여 항목의 정합성을 체크하고 수정된 데이터를 데이터베이스에 반영 + * @param mberManageVO 일반회원수정정보 + * @throws Exception + */ + public void updateMber(MberManageVO mberManageVO) throws Exception; + + /** + * 화면에 조회된 사용자의 정보를 데이터베이스에서 삭제 + * @param checkedIdForDel 삭제대상 일반회원아이디 + * @throws Exception + */ + public void deleteMber(String checkedIdForDel) throws Exception; + + /** + * 일반회원 약관확인 + * @param stplatId 일반회원약관아이디 + * @return 일반회원약관정보(List) + * @throws Exception + */ + public List<?> selectStplat(String stplatId) throws Exception; + + /** + * 일반회원암호수정 + * @param mberManageVO 일반회원수정정보(비밀번호) + * @throws Exception + */ + public void updatePassword(MberManageVO mberManageVO) throws Exception; + + /** + * 일반회원이 비밀번호를 기억하지 못할 때 비밀번호를 찾을 수 있도록 함 + * @param passVO 일반회원암호 조회조건정보 + * @return mberManageVO 일반회원암호정보 + * @throws Exception + */ + public MberManageVO selectPassword(MberManageVO passVO) throws Exception; + + /** + * 로그인인증제한 해제 + * @param mberManageVO 일반회원정보 + * @return void + * @throws Exception + */ + public void updateLockIncorrect(MberManageVO mberManageVO) throws Exception; + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/EgovMberManageService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/DeptManageVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/DeptManageVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/DeptManageVO.java (revision 7) @@ -0,0 +1,50 @@ +package egovframework.com.uss.umt.service; + +import egovframework.com.cmm.ComDefaultVO; + +public class DeptManageVO extends ComDefaultVO { + + private static final long serialVersionUID = 1L; + private String orgnztId; + private String orgnztNm; + private String orgnztDc; + + /** + * @return the orgnztId + */ + public String getOrgnztId() { + return orgnztId; + } + /** + * @param orgnztId the orgnztId to set + */ + public void setOrgnztId(String orgnztId) { + this.orgnztId = orgnztId; + } + /** + * @return the orgnztNm + */ + public String getOrgnztNm() { + return orgnztNm; + } + /** + * @param orgnztNm the orgnztNm to set + */ + public void setOrgnztNm(String orgnztNm) { + this.orgnztNm = orgnztNm; + } + /** + * @return the orgnztDc + */ + public String getOrgnztDc() { + return orgnztDc; + } + /** + * @param orgnztDc the orgnztDc to set + */ + public void setOrgnztDc(String orgnztDc) { + this.orgnztDc = orgnztDc; + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/DeptManageVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uss/umt/service/EgovDeptManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/uss/umt/service/EgovDeptManageService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uss/umt/service/EgovDeptManageService.java (revision 7) @@ -0,0 +1,57 @@ +package egovframework.com.uss.umt.service; + +import java.util.List; + +public interface EgovDeptManageService { + + /** + * 부서를 관리하기 위해 등록된 부서목록을 조회한다. + * @param deptManageVO - 부서 Vo + * @return List - 부서 목록 + * + * @param deptManageVO + */ + public List<DeptManageVO> selectDeptManageList(DeptManageVO deptManageVO) throws Exception; + + /** + * 부서목록 총 갯수를 조회한다. + * @param deptManageVO - 부서 Vo + * @return int - 부서 카운트 수 + * + * @param deptManageVO + */ + public int selectDeptManageListTotCnt(DeptManageVO deptManageVO) throws Exception; + + /** + * 등록된 부서의 상세정보를 조회한다. + * @param deptManageVO - 부서 Vo + * @return deptManageVO - 부서 Vo + * + * @param deptManageVO + */ + public DeptManageVO selectDeptManage(DeptManageVO deptManageVO) throws Exception; + + /** + * 부서정보를 신규로 등록한다. + * @param deptManageVO - 부서 model + * + * @param deptManageVO + */ + public void insertDeptManage(DeptManageVO deptManageVO) throws Exception; + + /** + * 기 등록된 부서정보를 수정한다. + * @param deptManageVO - 부서 model + * + * @param deptManageVO + */ + public void updateDeptManage(DeptManageVO deptManageVO) throws Exception; + + /** + * 기 등록된 부서정보를 삭제한다. + * @param deptManageVO - 부서 model + * + * @param deptManageVO + */ + public void deleteDeptManage(DeptManageVO deptManageVO) throws Exception; +} Property changes on: base3.10/src/main/java/egovframework/com/uss/umt/service/EgovDeptManageService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/ulg/web/EgovUserLogController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/ulg/web/EgovUserLogController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/ulg/web/EgovUserLogController.java (revision 7) @@ -0,0 +1,112 @@ +package egovframework.com.sym.log.ulg.web; + +import java.util.HashMap; + +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.sym.log.ulg.service.EgovUserLogService; +import egovframework.com.sym.log.ulg.service.UserLog; + +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * @Class Name : EgovUserLogController.java + * @Description : 사용로그정보를 관리하기 위한 컨트롤러 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.ulg) + * 2011.8.26 정진오 IncludedInfo annotation 추가 + * 2017.09.14 이정은 표준프레임워크 v3.7 개선 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ + +@Controller +public class EgovUserLogController { + + @Resource(name="EgovUserLogService") + private EgovUserLogService userLogService; + + @Resource(name="propertiesService") + protected EgovPropertyService propertyService; + + /** + * 사용자 로그 목록 조회 + * + * @param UserLog + * @return sym/log/ulg/EgovUserLogList + * @throws Exception + */ + @IncludedInfo(name="사용로그관리", listUrl= "/sym/log/ulg/SelectUserLogList.do", order = 1040 ,gid = 60) + @RequestMapping(value="/sym/log/ulg/SelectUserLogList.do") + public String selectUserLogInf(@ModelAttribute("searchVO") UserLog userLog, + ModelMap model) throws Exception{ + + /** EgovPropertyService.sample */ + userLog.setPageUnit(propertyService.getInt("pageUnit")); + userLog.setPageSize(propertyService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(userLog.getPageIndex()); + paginationInfo.setRecordCountPerPage(userLog.getPageUnit()); + paginationInfo.setPageSize(userLog.getPageSize()); + + userLog.setFirstIndex(paginationInfo.getFirstRecordIndex()); + userLog.setLastIndex(paginationInfo.getLastRecordIndex()); + userLog.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + HashMap<?, ?> _map = (HashMap<?, ?>)userLogService.selectUserLogInf(userLog); + int totCnt = Integer.parseInt((String)_map.get("resultCnt")); + + model.addAttribute("resultList", _map.get("resultList")); + model.addAttribute("resultCnt", _map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/log/ulg/EgovUserLogList"; + } + + /** + * 사용자 로그 상세 조회 + * + * @param userLog + * @param model + * @return sym/log/ulg/EgovUserLogInqire + * @throws Exception + */ + @RequestMapping(value="/sym/log/ulg/SelectUserLogDetail.do") + public String selectUserLog(@ModelAttribute("searchVO") UserLog userLog, + @RequestParam("occrrncDe") String occrrncDe, + @RequestParam("rqesterId") String rqesterId, + @RequestParam("srvcNm") String srvcNm, + @RequestParam("methodNm") String methodNm, + ModelMap model) throws Exception{ + + userLog.setOccrrncDe(occrrncDe.trim()); + userLog.setRqesterId(rqesterId.trim()); + userLog.setSrvcNm(srvcNm.trim()); + userLog.setMethodNm(methodNm.trim()); + + UserLog vo = userLogService.selectUserLog(userLog); + model.addAttribute("result", vo); + return "egovframework/com/sym/log/ulg/EgovUserLogDetail"; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/ulg/web/EgovUserLogController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/ulg/service/impl/UserLogDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/ulg/service/impl/UserLogDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/ulg/service/impl/UserLogDAO.java (revision 7) @@ -0,0 +1,74 @@ +package egovframework.com.sym.log.ulg.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Repository; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sym.log.ulg.service.UserLog; + +/** + * @Class Name : UserLogDAO.java + * @Description : 사용로그 관리를 위한 데이터 접근 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.ulg) + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +@Repository("userLogDAO") +public class UserLogDAO extends EgovComAbstractDAO { + + /** + * 사용자 로그정보를 생성한다. + * + * @param + * @return + * @throws Exception + */ + public void logInsertUserLog() throws Exception{ + insert("UserLog.logInsertUserLog", null); + } + + /** + * 사용자 로그정보 상세정보를 조회한다. + * + * @param userLog + * @return userLog + * @throws Exception + */ + public UserLog selectUserLog(UserLog userLog) throws Exception{ + + return (UserLog) selectOne("UserLog.selectUserLog", userLog); + } + + /** + * 사용자 로그정보 목록을 조회한다. + * + * @param UserLog + * @return + * @throws Exception + */ + public List<?> selectUserLogInf(UserLog userLog) throws Exception{ + return list("UserLog.selectUserLogInf", userLog); + } + + /** + * 사용자 로그정보 목록의 숫자를 조회한다. + * @param UserLog + * @return + * @throws Exception + */ + public int selectUserLogInfCnt(UserLog userLog) throws Exception{ + + return (Integer)selectOne("UserLog.selectUserLogInfCnt", userLog); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/ulg/service/impl/UserLogDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/ulg/service/impl/EgovUserLogServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/ulg/service/impl/EgovUserLogServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/ulg/service/impl/EgovUserLogServiceImpl.java (revision 7) @@ -0,0 +1,79 @@ +package egovframework.com.sym.log.ulg.service.impl; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import egovframework.com.sym.log.ulg.service.EgovUserLogService; +import egovframework.com.sym.log.ulg.service.UserLog; +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +/** + * @Class Name : EgovUserLogServiceImpl.java + * @Description : 사용로그 관리를 위한 서비스 구현 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.ulg) + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +@Service("EgovUserLogService") +public class EgovUserLogServiceImpl extends EgovAbstractServiceImpl implements + EgovUserLogService { + + @Resource(name="userLogDAO") + private UserLogDAO userLogDAO; + + /** + * 사용자 로그정보를 생성한다. + * + * @param + */ + @Override + public void logInsertUserLog() throws Exception { + + userLogDAO.logInsertUserLog(); + } + + /** + * 사용자 로그정보 상제정보를 조회한다. + * + * @param userLog + * @return userLog + * @throws Exception + */ + @Override + public UserLog selectUserLog(UserLog userLog) throws Exception{ + + return userLogDAO.selectUserLog(userLog); + } + + /** + * 사용자 로그정보 목록을 조회한다. + * + * @param UserLog + */ + @Override + public Map<?, ?> selectUserLogInf(UserLog userLog) throws Exception { + List<?> _result = userLogDAO.selectUserLogInf(userLog); + int _cnt = userLogDAO.selectUserLogInfCnt(userLog); + + Map<String, Object> _map = new HashMap<String, Object>(); + _map.put("resultList", _result); + _map.put("resultCnt", Integer.toString(_cnt)); + + return _map; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/ulg/service/impl/EgovUserLogServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/ulg/service/UserLog.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/ulg/service/UserLog.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/ulg/service/UserLog.java (revision 7) @@ -0,0 +1,335 @@ +package egovframework.com.sym.log.ulg.service; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * @Class Name : UserLog.java + * @Description : 사용자 로그 관리를 위한 VO 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.ulg) + * 2011.09.14 서준식 화면에 검색일자를 표시하기위한 멤버변수 추가. + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +public class UserLog implements Serializable { + + private static final long serialVersionUID = -3030641254553776910L; + /** + * 발생일자 + */ + private String occrrncDe = ""; + /** + * 요청자아이디 + */ + private String rqesterId = ""; + /** + * 요청자 이름 + */ + private String rqsterNm = ""; + /** + * 메서드명 + */ + private String methodNm = ""; + /** + * 서비스명 + */ + private String srvcNm = ""; + /** + * 생성횟수 + */ + private String creatCo = ""; + /** + * 수정횟수 + */ + private String updtCo = ""; + /** + * 조회횟수 + */ + private String rdCnt = ""; + /** + * 삭제횟수 + */ + private String deleteCo = ""; + /** + * 출력횟수 + */ + private String outptCo = ""; + /** + * 에러횟수 + */ + private String errorCo = ""; + /** + * 검색시작일 + */ + private String searchBgnDe = ""; + /** + * 검색조건 + */ + private String searchCnd = ""; + /** + * 검색종료일 + */ + private String searchEndDe = ""; + /** + * 검색단어 + */ + private String searchWrd = ""; + /** + * 정렬순서(DESC,ASC) + */ + private String sortOrdr = ""; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** firstIndex */ + private int firstIndex = 1; + + /** lastIndex */ + private int lastIndex = 1; + + /** recordCountPerPage */ + private int recordCountPerPage = 10; + + /** rowNo */ + private int rowNo = 0; + + /** + * 검색시작일_화면용 + */ + private String searchBgnDeView = "";//2011.09.14 + + /** + * 검색종료일_화면용 + */ + private String searchEndDeView = "";//2011.09.14 + + public String getSearchEndDeView() { + return searchEndDeView; + } + public void setSearchEndDeView(String searchEndDeView) { + this.searchEndDeView = searchEndDeView; + } + public String getSearchBgnDeView() { + return searchBgnDeView; + } + public void setSearchBgnDeView(String searchBgnDeView) { + this.searchBgnDeView = searchBgnDeView; + } + + @Override + public String toString(){ + return ToStringBuilder.reflectionToString(this); + } + + public String getOccrrncDe() { + return occrrncDe; + } + + public void setOccrrncDe(String occrrncDe) { + this.occrrncDe = occrrncDe; + } + + public String getRqesterId() { + return rqesterId; + } + + public void setRqesterId(String rqesterId) { + this.rqesterId = rqesterId; + } + + public String getRqsterNm() { + return rqsterNm; + } + + public void setRqsterNm(String rqsterNm) { + this.rqsterNm = rqsterNm; + } + + public String getMethodNm() { + return methodNm; + } + + public void setMethodNm(String methodNm) { + this.methodNm = methodNm; + } + + public String getSrvcNm() { + return srvcNm; + } + + public void setSrvcNm(String srvcNm) { + this.srvcNm = srvcNm; + } + + public String getCreatCo() { + return creatCo; + } + + public void setCreatCo(String creatCo) { + this.creatCo = creatCo; + } + + public String getUpdtCo() { + return updtCo; + } + + public void setUpdtCo(String updtCo) { + this.updtCo = updtCo; + } + + public String getRdCnt() { + return rdCnt; + } + + public void setRdCnt(String rdCnt) { + this.rdCnt = rdCnt; + } + + public String getDeleteCo() { + return deleteCo; + } + + public void setDeleteCo(String deleteCo) { + this.deleteCo = deleteCo; + } + + public String getOutptCo() { + return outptCo; + } + + public void setOutptCo(String outptCo) { + this.outptCo = outptCo; + } + + public String getErrorCo() { + return errorCo; + } + + public void setErrorCo(String errorCo) { + this.errorCo = errorCo; + } + + public String getSearchBgnDe() { + return searchBgnDe; + } + + public void setSearchBgnDe(String searchBgnDe) { + this.searchBgnDe = searchBgnDe; + } + + public String getSearchCnd() { + return searchCnd; + } + + public void setSearchCnd(String searchCnd) { + this.searchCnd = searchCnd; + } + + public String getSearchEndDe() { + return searchEndDe; + } + + public void setSearchEndDe(String searchEndDe) { + this.searchEndDe = searchEndDe; + } + + public String getSearchWrd() { + return searchWrd; + } + + public void setSearchWrd(String searchWrd) { + this.searchWrd = searchWrd; + } + + public String getSortOrdr() { + return sortOrdr; + } + + public void setSortOrdr(String sortOrdr) { + this.sortOrdr = sortOrdr; + } + + public String getSearchUseYn() { + return searchUseYn; + } + + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + public int getPageIndex() { + return pageIndex; + } + + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + public int getPageUnit() { + return pageUnit; + } + + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public int getFirstIndex() { + return firstIndex; + } + + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + public int getLastIndex() { + return lastIndex; + } + + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + + public int getRowNo() { + return rowNo; + } + + public void setRowNo(int rowNo) { + this.rowNo = rowNo; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/ulg/service/UserLog.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/ulg/service/EgovUserLogService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/ulg/service/EgovUserLogService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/ulg/service/EgovUserLogService.java (revision 7) @@ -0,0 +1,46 @@ +package egovframework.com.sym.log.ulg.service; + +import java.util.Map; + +/** + * @Class Name : EgovUserLogService.java + * @Description : 사용로그 관리를 위한 서비스 인터페이스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.ulg) + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +public interface EgovUserLogService { + + /** + * 사용자 로그정보를 생성한다. + * + * @param + */ + public void logInsertUserLog() throws Exception; + + /** + * 사용자로그 상세정보를 조회한다. + * + * @param userLog + * @return userLog + * @throws Exception + */ + public UserLog selectUserLog(UserLog userLog) throws Exception; + + /** + * 사용자 로그정보 목록을 조회한다. + * + * @param UserLog + */ + public Map<?, ?> selectUserLogInf(UserLog userLog) throws Exception; + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/ulg/service/EgovUserLogService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/ulg/service/EgovUserLogScheduling.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/ulg/service/EgovUserLogScheduling.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/ulg/service/EgovUserLogScheduling.java (revision 7) @@ -0,0 +1,42 @@ +package egovframework.com.sym.log.ulg.service; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * @Class Name : EgovUserLogScheduling.java + * @Description : 사용로그 요약을 위한 스케쥴링 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.ulg) + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +@Service("egovUserLogScheduling") +public class EgovUserLogScheduling extends EgovAbstractServiceImpl { + + @Resource(name="EgovUserLogService") + private EgovUserLogService userLogService; + + /** + * 사용자 로그정보를 생성한다. + * + * @param + * @return + * @throws Exception + */ + public void userLogInsert() throws Exception { + userLogService.logInsertUserLog(); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/ulg/service/EgovUserLogScheduling.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/lgm/web/EgovSysLogController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/lgm/web/EgovSysLogController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/lgm/web/EgovSysLogController.java (revision 7) @@ -0,0 +1,106 @@ +package egovframework.com.sym.log.lgm.web; + +import java.util.HashMap; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.sym.log.lgm.service.EgovSysLogService; +import egovframework.com.sym.log.lgm.service.SysLog; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +/** + * @Class Name : EgovSysLogController.java + * @Description : 시스템 로그정보를 관리하기 위한 컨트롤러 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.lgm) + * 2011.8.26 정진오 IncludedInfo annotation 추가 + * 2017.09.14 이정은 표준프레임워크 v3.7 개선 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ + +@Controller +public class EgovSysLogController { + + @Resource(name="EgovSysLogService") + private EgovSysLogService sysLogService; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** + * 시스템 로그 목록 조회 + * + * @param sysLog + * @return sym/log/lgm/EgovSysLogList + * @throws Exception + */ + @IncludedInfo(name="로그관리", listUrl="/sym/log/lgm/SelectSysLogList.do", order = 1030 ,gid = 60) + @RequestMapping(value="/sym/log/lgm/SelectSysLogList.do") + public String selectSysLogInf(@ModelAttribute("searchVO") SysLog sysLog, + ModelMap model) throws Exception{ + + /** EgovPropertyService.sample */ + sysLog.setPageUnit(propertiesService.getInt("pageUnit")); + sysLog.setPageSize(propertiesService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(sysLog.getPageIndex()); + paginationInfo.setRecordCountPerPage(sysLog.getPageUnit()); + paginationInfo.setPageSize(sysLog.getPageSize()); + + sysLog.setFirstIndex(paginationInfo.getFirstRecordIndex()); + sysLog.setLastIndex(paginationInfo.getLastRecordIndex()); + sysLog.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + HashMap<?, ?> _map = (HashMap<?, ?>)sysLogService.selectSysLogInf(sysLog); + int totCnt = Integer.parseInt((String)_map.get("resultCnt")); + + model.addAttribute("resultList", _map.get("resultList")); + model.addAttribute("resultCnt", _map.get("resultCnt")); + model.addAttribute("frm", sysLog); + + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/log/lgm/EgovSysLogList"; + + } + /** + * 시스템 로그 상세 조회 + * + * @param sysLog + * @param model + * @return sym/log/lgm/EgovSysLogInqire + * @throws Exception + */ + @RequestMapping(value="/sym/log/lgm/SelectSysLogDetail.do") + public String selectSysLog(@ModelAttribute("searchVO") SysLog sysLog, + @RequestParam("requstId") String requstId, + ModelMap model) throws Exception{ + + sysLog.setRequstId(requstId.trim()); + + SysLog vo = sysLogService.selectSysLog(sysLog); + model.addAttribute("result", vo); + return "egovframework/com/sym/log/lgm/EgovSysLogDetail"; + } +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/lgm/web/EgovSysLogController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/lgm/service/impl/SysLogDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/lgm/service/impl/SysLogDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/lgm/service/impl/SysLogDAO.java (revision 7) @@ -0,0 +1,85 @@ +package egovframework.com.sym.log.lgm.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Repository; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sym.log.lgm.service.SysLog; + +/** +* @Class Name : SysLogDAO.java +* @Description : 로그관리(시스템)를 위한 데이터 접근 클래스 +* @Modification Information +* +* 수정일 수정자 수정내용 +* ------- ------- ------------------- +* 2009. 3. 11. 이삼섭 최초생성 +* 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.lgm) +* +* @author 공통 서비스 개발팀 이삼섭 +* @since 2009. 3. 11. +* @version +* @see +* +*/ +@Repository("SysLogDAO") +public class SysLogDAO extends EgovComAbstractDAO{ + + /** + * 시스템 로그정보를 생성한다. + * + * @param SysLog + * @return + * @throws Exception + */ + public void logInsertSysLog(SysLog sysLog) { + insert("SysLog.logInsertSysLog", sysLog); + + } + + /** + * 시스템 로그정보를 요약한다. + * + * @param + * @return + * @throws Exception + */ + public void logInsertSysLogSummary() { + insert("SysLog.logInsertSysLogSummary", null); + delete("SysLog.logDeleteSysLogSummary", null); + + } + + /** + * 시스템 로그목록을 조회한다. + * + * @param sysLog + * @return sysLog + * @throws Exception + */ + public List<?> selectSysLogInf(SysLog sysLog) { + return list("SysLog.selectSysLogInf", sysLog); + } + + /** + * 시스템 로그정보 목록의 숫자를 조회한다. + * @param sysLog + * @return + * @throws Exception + */ + public int selectSysLogInfCnt(SysLog sysLog) { + return (Integer)selectOne("SysLog.selectSysLogInfCnt", sysLog); + } + + /** + * 시스템 로그 상세정보를 조회한다. + * + * @param sysLog + * @return sysLog + * @throws Exception + */ + public SysLog selectSysLog(SysLog sysLog) { + return (SysLog) selectOne("SysLog.selectSysLog", sysLog); + } +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/lgm/service/impl/SysLogDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/lgm/service/impl/EgovSysLogServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/lgm/service/impl/EgovSysLogServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/lgm/service/impl/EgovSysLogServiceImpl.java (revision 7) @@ -0,0 +1,95 @@ +package egovframework.com.sym.log.lgm.service.impl; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import egovframework.com.sym.log.lgm.service.EgovSysLogService; +import egovframework.com.sym.log.lgm.service.SysLog; +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; + +/** + * @Class Name : EgovSysLogServiceImpl.java + * @Description : 로그관리(시스템)를 위한 서비스 구현 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +@Service("EgovSysLogService") +public class EgovSysLogServiceImpl extends EgovAbstractServiceImpl implements EgovSysLogService{ + @Resource(name="SysLogDAO") + private SysLogDAO sysLogDAO; + + /** ID Generation */ + @Resource(name="egovSysLogIdGnrService") + private EgovIdGnrService egovSysLogIdGnrService; + + /** + * 시스템 로그정보를 생성한다. + * + * @param SysLog + */ + @Override + public void logInsertSysLog(SysLog sysLog) throws Exception { + String requstId = egovSysLogIdGnrService.getNextStringId(); + sysLog.setRequstId(requstId); + + sysLogDAO.logInsertSysLog(sysLog); + + } + + /** + * 시스템 로그정보를 요약한다. + * + * @param + */ + @Override + public void logInsertSysLogSummary() throws Exception { + sysLogDAO.logInsertSysLogSummary(); + + } + + /** + * 시스템 로그정보 목록을 조회한다. + * + * @param SysLog + */ + @Override + public Map<?, ?> selectSysLogInf(SysLog sysLog) throws Exception { + + List<?> _result = sysLogDAO.selectSysLogInf(sysLog); + int _cnt = sysLogDAO.selectSysLogInfCnt(sysLog); + + Map<String, Object> _map = new HashMap<String, Object>(); + _map.put("resultList", _result); + _map.put("resultCnt", Integer.toString(_cnt)); + + return _map; + } + + /** + * 시스템 로그 상세정보를 조회한다. + * + * @param sysLog + * @return sysLog + * @throws Exception + */ + @Override + public SysLog selectSysLog(SysLog sysLog) throws Exception { + return sysLogDAO.selectSysLog(sysLog); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/lgm/service/impl/EgovSysLogServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/lgm/service/EgovSysLogAspect.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/lgm/service/EgovSysLogAspect.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/lgm/service/EgovSysLogAspect.java (revision 7) @@ -0,0 +1,236 @@ +package egovframework.com.sym.log.lgm.service; + +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.util.EgovUserDetailsHelper; + +import javax.annotation.Resource; + +import org.aspectj.lang.ProceedingJoinPoint; +import org.springframework.util.StopWatch; + +/** + * @Class Name : EgovSysLogAspect.java + * @Description : 시스템 로그 생성을 위한 ASPECT 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.lgm) + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +public class EgovSysLogAspect { + + @Resource(name="EgovSysLogService") + private EgovSysLogService sysLogService; + + /** + * 시스템 로그정보를 생성한다. + * sevice Class의 insert로 시작되는 Method + * + * @param ProceedingJoinPoint + * @return Object + * @throws Exception + */ + public Object logInsert(ProceedingJoinPoint joinPoint) throws Throwable { + + StopWatch stopWatch = new StopWatch(); + + try { + stopWatch.start(); + + Object retValue = joinPoint.proceed(); + return retValue; + } catch (Throwable e) { + throw e; + } finally { + stopWatch.stop(); + + SysLog sysLog = new SysLog(); + String className = joinPoint.getTarget().getClass().getName(); + String methodName = joinPoint.getSignature().getName(); + String processSeCode = "C"; + String processTime = Long.toString(stopWatch.getTotalTimeMillis()); + String uniqId = ""; + String ip = ""; + + /* Authenticated */ + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(isAuthenticated.booleanValue()) { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + uniqId = (user == null || user.getUniqId() == null) ? "" : user.getUniqId(); + ip = (user == null || user.getIp() == null) ? "" : user.getIp(); + } + + sysLog.setSrvcNm(className); + sysLog.setMethodNm(methodName); + sysLog.setProcessSeCode(processSeCode); + sysLog.setProcessTime(processTime); + sysLog.setRqesterId(uniqId); + sysLog.setRqesterIp(ip); + + sysLogService.logInsertSysLog(sysLog); + + } + + } + + /** + * 시스템 로그정보를 생성한다. + * sevice Class의 update로 시작되는 Method + * + * @param ProceedingJoinPoint + * @return Object + * @throws Exception + */ + public Object logUpdate(ProceedingJoinPoint joinPoint) throws Throwable { + + StopWatch stopWatch = new StopWatch(); + + try { + stopWatch.start(); + + Object retValue = joinPoint.proceed(); + return retValue; + } catch (Throwable e) { + throw e; + } finally { + stopWatch.stop(); + + SysLog sysLog = new SysLog(); + String className = joinPoint.getTarget().getClass().getName(); + String methodName = joinPoint.getSignature().getName(); + String processSeCode = "U"; + String processTime = Long.toString(stopWatch.getTotalTimeMillis()); + String uniqId = ""; + String ip = ""; + + /* Authenticated */ + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(isAuthenticated.booleanValue()) { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + uniqId = (user == null || user.getUniqId() == null) ? "" : user.getUniqId(); + ip = (user == null || user.getIp() == null) ? "" : user.getIp(); + } + + sysLog.setSrvcNm(className); + sysLog.setMethodNm(methodName); + sysLog.setProcessSeCode(processSeCode); + sysLog.setProcessTime(processTime); + sysLog.setRqesterId(uniqId); + sysLog.setRqesterIp(ip); + + sysLogService.logInsertSysLog(sysLog); + + } + + } + + /** + * 시스템 로그정보를 생성한다. + * sevice Class의 delete로 시작되는 Method + * + * @param ProceedingJoinPoint + * @return Object + * @throws Exception + */ + public Object logDelete(ProceedingJoinPoint joinPoint) throws Throwable { + + StopWatch stopWatch = new StopWatch(); + + try { + stopWatch.start(); + + Object retValue = joinPoint.proceed(); + return retValue; + } catch (Throwable e) { + throw e; + } finally { + stopWatch.stop(); + + SysLog sysLog = new SysLog(); + String className = joinPoint.getTarget().getClass().getName(); + String methodName = joinPoint.getSignature().getName(); + String processSeCode = "D"; + String processTime = Long.toString(stopWatch.getTotalTimeMillis()); + String uniqId = ""; + String ip = ""; + + /* Authenticated */ + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(isAuthenticated.booleanValue()) { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + uniqId = (user == null || user.getUniqId() == null) ? "" : user.getUniqId(); + ip = (user == null || user.getIp() == null) ? "" : user.getIp(); + } + + sysLog.setSrvcNm(className); + sysLog.setMethodNm(methodName); + sysLog.setProcessSeCode(processSeCode); + sysLog.setProcessTime(processTime); + sysLog.setRqesterId(uniqId); + sysLog.setRqesterIp(ip); + + sysLogService.logInsertSysLog(sysLog); + + } + + } + + /** + * 시스템 로그정보를 생성한다. + * sevice Class의 select로 시작되는 Method + * + * @param ProceedingJoinPoint + * @return Object + * @throws Exception + */ + public Object logSelect(ProceedingJoinPoint joinPoint) throws Throwable { + + StopWatch stopWatch = new StopWatch(); + + try { + stopWatch.start(); + + Object retValue = joinPoint.proceed(); + return retValue; + } catch (Throwable e) { + throw e; + } finally { + stopWatch.stop(); + + SysLog sysLog = new SysLog(); + String className = joinPoint.getTarget().getClass().getName(); + String methodName = joinPoint.getSignature().getName(); + String processSeCode = "R"; + String processTime = Long.toString(stopWatch.getTotalTimeMillis()); + String uniqId = ""; + String ip = ""; + + /* Authenticated */ + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(isAuthenticated.booleanValue()) { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + uniqId = (user == null || user.getUniqId() == null) ? "" : user.getUniqId(); + ip = (user == null || user.getIp() == null) ? "" : user.getIp(); + } + + sysLog.setSrvcNm(className); + sysLog.setMethodNm(methodName); + sysLog.setProcessSeCode(processSeCode); + sysLog.setProcessTime(processTime); + sysLog.setRqesterId(uniqId); + sysLog.setRqesterIp(ip); + + sysLogService.logInsertSysLog(sysLog); + + } + + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/lgm/service/EgovSysLogAspect.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/lgm/service/SysLog.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/lgm/service/SysLog.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/lgm/service/SysLog.java (revision 7) @@ -0,0 +1,597 @@ +package egovframework.com.sym.log.lgm.service; + +import java.io.Serializable; + +import org.apache.commons.lang3.builder.ToStringBuilder; + +/** + * @Class Name : SysLog.java + * @Description : 로그관리(시스템)를 위한 VO 클래스를 정의한다. + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.lgm) + * 2011.09.14 서준식 화면에 검색일자를 표시하기위한 멤버변수 추가. + * 2017.09.19 이정은 검색시작일_화면용, 검색종료일_화면용 삭제 + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ + +public class SysLog implements Serializable{ + + + private static final long serialVersionUID = 540569951549295059L; + + /** + * 에러횟수 + */ + private int errorCo = 0; + /** + * 에러코드 + */ + private String errorCode = ""; + /** + * 에러코드 명 + */ + private String errorCodeNm = ""; + /** + * 에러구분 + */ + private String errorSe = ""; + /** + * 기관코드 + */ + private String insttCode = ""; + /** + * 기관코드 명 + */ + private String insttCodeNm = ""; + /** + * 업무구분코드 + */ + private String jobSeCode = ""; + + /** + * 업무구분코드명 + */ + private String jobSeCodeNm = ""; + /** + * 메서드명 + */ + private String methodNm = ""; + /** + * 발생일자 + */ + private String occrrncDe = ""; + /** + * 처리횟수 + */ + private int processCo = 0; + /** + * 처리구분코드 + */ + private String processSeCode = ""; + /** + * 처리구분코드명 + */ + private String processSeCodeNm = ""; + /** + * 처리시간 + */ + private String processTime = ""; + /** + * 요청아이디 + */ + private String requstId = ""; + /** + * 요청자아이디 + */ + private String rqesterId = ""; + /** + * 요청자 이름 + */ + private String rqsterNm = ""; + /** + * 요청아이피 + */ + private String rqesterIp = ""; + /** + * 응답코드 + */ + private String rspnsCode = ""; + /** + * 응답코드 명 + */ + private String rspnsCodeNm = ""; + /** + * 서비스명 + */ + private String srvcNm = ""; + /** + * 대상메뉴명 + */ + private String trgetMenuNm = ""; + /** + * 검색시작일 + */ + private String searchBgnDe = ""; + /** + * 검색조건 + */ + private String searchCnd = ""; + /** + * 검색종료일 + */ + private String searchEndDe = ""; + /** + * 검색단어 + */ + private String searchWrd = ""; + /** + * 정렬순서(DESC,ASC) + */ + private String sortOrdr = ""; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** firstIndex */ + private int firstIndex = 1; + + /** lastIndex */ + private int lastIndex = 1; + + /** recordCountPerPage */ + private int recordCountPerPage = 10; + + /** rowNo */ + private int rowNo = 0; + + + + + /** + * @return the errorCo + */ + public int getErrorCo() { + return errorCo; + } + /** + * @param errorCo the errorCo to set + */ + public void setErrorCo(int errorCo) { + this.errorCo = errorCo; + } + /** + * @return the errorCode + */ + public String getErrorCode() { + return errorCode; + } + /** + * @param errorCode the errorCode to set + */ + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + /** + * @return the errorCodeNm + */ + public String getErrorCodeNm() { + return errorCodeNm; + } + /** + * @param errorCodeNm the errorCodeNm to set + */ + public void setErrorCodeNm(String errorCodeNm) { + this.errorCodeNm = errorCodeNm; + } + /** + * @return the errorSe + */ + public String getErrorSe() { + return errorSe; + } + /** + * @param errorSe the errorSe to set + */ + public void setErrorSe(String errorSe) { + this.errorSe = errorSe; + } + /** + * @return the insttCode + */ + public String getInsttCode() { + return insttCode; + } + /** + * @param insttCode the insttCode to set + */ + public void setInsttCode(String insttCode) { + this.insttCode = insttCode; + } + /** + * @return the insttCodeNm + */ + public String getInsttCodeNm() { + return insttCodeNm; + } + /** + * @param insttCodeNm the insttCodeNm to set + */ + public void setInsttCodeNm(String insttCodeNm) { + this.insttCodeNm = insttCodeNm; + } + /** + * @return the jobSeCode + */ + public String getJobSeCode() { + return jobSeCode; + } + /** + * @param jobSeCode the jobSeCode to set + */ + public void setJobSeCode(String jobSeCode) { + this.jobSeCode = jobSeCode; + } + /** + * @return the jobSeCodeNm + */ + public String getJobSeCodeNm() { + return jobSeCodeNm; + } + /** + * @param jobSeCodeNm the jobSeCodeNm to set + */ + public void setJobSeCodeNm(String jobSeCodeNm) { + this.jobSeCodeNm = jobSeCodeNm; + } + /** + * @return the methodNm + */ + public String getMethodNm() { + return methodNm; + } + /** + * @param methodNm the methodNm to set + */ + public void setMethodNm(String methodNm) { + this.methodNm = methodNm; + } + /** + * @return the occrrncDe + */ + public String getOccrrncDe() { + return occrrncDe; + } + /** + * @param occrrncDe the occrrncDe to set + */ + public void setOccrrncDe(String occrrncDe) { + this.occrrncDe = occrrncDe; + } + /** + * @return the processCo + */ + public int getProcessCo() { + return processCo; + } + /** + * @param processCo the processCo to set + */ + public void setProcessCo(int processCo) { + this.processCo = processCo; + } + /** + * @return the processSeCode + */ + public String getProcessSeCode() { + return processSeCode; + } + /** + * @param processSeCode the processSeCode to set + */ + public void setProcessSeCode(String processSeCode) { + this.processSeCode = processSeCode; + } + /** + * @return the processSeCodeNm + */ + public String getProcessSeCodeNm() { + return processSeCodeNm; + } + /** + * @param processSeCodeNm the processSeCodeNm to set + */ + public void setProcessSeCodeNm(String processSeCodeNm) { + this.processSeCodeNm = processSeCodeNm; + } + /** + * @return the processTime + */ + public String getProcessTime() { + return processTime; + } + /** + * @param processTime the processTime to set + */ + public void setProcessTime(String processTime) { + this.processTime = processTime; + } + /** + * @return the requstId + */ + public String getRequstId() { + return requstId; + } + /** + * @param requstId the requstId to set + */ + public void setRequstId(String requstId) { + this.requstId = requstId; + } + /** + * @return the rqesterId + */ + public String getRqesterId() { + return rqesterId; + } + /** + * @param rqesterId the rqesterId to set + */ + public void setRqesterId(String rqesterId) { + this.rqesterId = rqesterId; + } + /** + * @return the rqsterNm + */ + public String getRqsterNm() { + return rqsterNm; + } + /** + * @param rqsterNm the rqsterNm to set + */ + public void setRqsterNm(String rqsterNm) { + this.rqsterNm = rqsterNm; + } + /** + * @return the rqesterIp + */ + public String getRqesterIp() { + return rqesterIp; + } + /** + * @param rqesterIp the rqesterIp to set + */ + public void setRqesterIp(String rqesterIp) { + this.rqesterIp = rqesterIp; + } + /** + * @return the rspnsCode + */ + public String getRspnsCode() { + return rspnsCode; + } + /** + * @param rspnsCode the rspnsCode to set + */ + public void setRspnsCode(String rspnsCode) { + this.rspnsCode = rspnsCode; + } + /** + * @return the rspnsCodeNm + */ + public String getRspnsCodeNm() { + return rspnsCodeNm; + } + /** + * @param rspnsCodeNm the rspnsCodeNm to set + */ + public void setRspnsCodeNm(String rspnsCodeNm) { + this.rspnsCodeNm = rspnsCodeNm; + } + /** + * @return the srvcNm + */ + public String getSrvcNm() { + return srvcNm; + } + /** + * @param srvcNm the srvcNm to set + */ + public void setSrvcNm(String srvcNm) { + this.srvcNm = srvcNm; + } + /** + * @return the trgetMenuNm + */ + public String getTrgetMenuNm() { + return trgetMenuNm; + } + /** + * @param trgetMenuNm the trgetMenuNm to set + */ + public void setTrgetMenuNm(String trgetMenuNm) { + this.trgetMenuNm = trgetMenuNm; + } + + /** + * @return the searchBgnDe + */ + public String getSearchBgnDe() { + return searchBgnDe; + } + /** + * @param searchBgnDe the searchBgnDe to set + */ + public void setSearchBgnDe(String searchBgnDe) { + this.searchBgnDe = searchBgnDe; + } + /** + * @return the searchCnd + */ + public String getSearchCnd() { + return searchCnd; + } + /** + * @param searchCnd the searchCnd to set + */ + public void setSearchCnd(String searchCnd) { + this.searchCnd = searchCnd; + } + /** + * @return the searchEndDe + */ + public String getSearchEndDe() { + return searchEndDe; + } + /** + * @param searchEndDe the searchEndDe to set + */ + public void setSearchEndDe(String searchEndDe) { + this.searchEndDe = searchEndDe; + } + /** + * @return the searchWrd + */ + public String getSearchWrd() { + return searchWrd; + } + /** + * @param searchWrd the searchWrd to set + */ + public void setSearchWrd(String searchWrd) { + this.searchWrd = searchWrd; + } + /** + * @return the sortOrdr + */ + public String getSortOrdr() { + return sortOrdr; + } + /** + * @param sortOrdr the sortOrdr to set + */ + public void setSortOrdr(String sortOrdr) { + this.sortOrdr = sortOrdr; + } + /** + * @return the searchUseYn + */ + public String getSearchUseYn() { + return searchUseYn; + } + /** + * @param searchUseYn the searchUseYn to set + */ + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + /** + * @return the pageIndex + */ + public int getPageIndex() { + return pageIndex; + } + /** + * @param pageIndex the pageIndex to set + */ + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + /** + * @return the pageUnit + */ + public int getPageUnit() { + return pageUnit; + } + /** + * @param pageUnit the pageUnit to set + */ + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + /** + * @return the pageSize + */ + public int getPageSize() { + return pageSize; + } + /** + * @param pageSize the pageSize to set + */ + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + /** + * @return the firstIndex + */ + public int getFirstIndex() { + return firstIndex; + } + /** + * @param firstIndex the firstIndex to set + */ + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + /** + * @return the lastIndex + */ + public int getLastIndex() { + return lastIndex; + } + /** + * @param lastIndex the lastIndex to set + */ + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + /** + * @return the recordCountPerPage + */ + public int getRecordCountPerPage() { + return recordCountPerPage; + } + /** + * @param recordCountPerPage the recordCountPerPage to set + */ + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + /** + * @return the rowNo + */ + public int getRowNo() { + return rowNo; + } + /** + * @param rowNo the rowNo to set + */ + public void setRowNo(int rowNo) { + this.rowNo = rowNo; + } + /** + * + */ + @Override + public String toString(){ + return ToStringBuilder.reflectionToString(this); + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/lgm/service/SysLog.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/lgm/service/EgovSysLogService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/lgm/service/EgovSysLogService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/lgm/service/EgovSysLogService.java (revision 7) @@ -0,0 +1,54 @@ +package egovframework.com.sym.log.lgm.service; + +import java.util.Map; + +/** + * @Class Name : EgovSysLogService.java + * @Description : 로그관리(시스템)를 위한 서비스 인터페이스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.lgm) + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ + +public interface EgovSysLogService { + + /** + * 시스템 로그정보를 생성한다. + * + * @param SysLog + */ + public void logInsertSysLog(SysLog sysLog) throws Exception; + + /** + * 시스템 로그정보를 요약한다. + * + * @param + */ + public void logInsertSysLogSummary() throws Exception; + + /** + * 시스템 로그정보 목록을 조회한다. + * + * @param SysLog + */ + public Map<?, ?> selectSysLogInf(SysLog sysLog) throws Exception; + + /** + * 시스템로그 상세정보를 조회한다. + * + * @param sysLog + * @return sysLog + * @throws Exception + */ + public SysLog selectSysLog(SysLog sysLog) throws Exception; + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/lgm/service/EgovSysLogService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/lgm/service/EgovSysLogScheduling.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/lgm/service/EgovSysLogScheduling.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/lgm/service/EgovSysLogScheduling.java (revision 7) @@ -0,0 +1,42 @@ +package egovframework.com.sym.log.lgm.service; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * @Class Name : EgovSysLogScheduling.java + * @Description : 시스템 로그 요약을 위한 스케쥴링 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +@Service("egovSysLogScheduling") +public class EgovSysLogScheduling extends EgovAbstractServiceImpl { + + @Resource(name="EgovSysLogService") + private EgovSysLogService sysLogService; + + /** + * 시스템 로그정보를 요약한다. + * 전날의 로그를 요약하여 입력하고, 6개월전의 로그를 삭제한다. + * + * @param + * @return + * @throws Exception + */ + public void sysLogSummary() throws Exception { + sysLogService.logInsertSysLogSummary(); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/lgm/service/EgovSysLogScheduling.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/wlg/web/EgovWebLogInterceptor.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/wlg/web/EgovWebLogInterceptor.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/wlg/web/EgovWebLogInterceptor.java (revision 7) @@ -0,0 +1,65 @@ +package egovframework.com.sym.log.wlg.web; + +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.sym.log.wlg.service.EgovWebLogService; +import egovframework.com.sym.log.wlg.service.WebLog; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.web.servlet.ModelAndView; +import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; + +/** + * @Class Name : EgovWebLogInterceptor.java + * @Description : 웹로그 생성을 위한 인터셉터 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 9. 이삼섭 최초생성 + * 2011. 7. 1. 이기하 패키지 분리(sym.log -> sym.log.wlg) + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 9. + * @version + * @see + * + */ +public class EgovWebLogInterceptor extends HandlerInterceptorAdapter { + + @Resource(name="EgovWebLogService") + private EgovWebLogService webLogService; + + /** + * 웹 로그정보를 생성한다. + * + * @param HttpServletRequest request, HttpServletResponse response, Object handler + * @return + * @throws Exception + */ + @Override + public void postHandle(HttpServletRequest request, + HttpServletResponse response, Object handler, ModelAndView modeAndView) throws Exception { + + WebLog webLog = new WebLog(); + String reqURL = request.getRequestURI(); + String uniqId = ""; + + /* Authenticated */ + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(isAuthenticated.booleanValue()) { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + uniqId = (user == null || user.getUniqId() == null) ? "" : user.getUniqId(); + } + + webLog.setUrl(reqURL); + webLog.setRqesterId(uniqId); + webLog.setRqesterIp(request.getRemoteAddr()); + + webLogService.logInsertWebLog(webLog); + + } +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/wlg/web/EgovWebLogInterceptor.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/wlg/web/EgovWebLogController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/wlg/web/EgovWebLogController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/wlg/web/EgovWebLogController.java (revision 7) @@ -0,0 +1,103 @@ +package egovframework.com.sym.log.wlg.web; + +import java.util.HashMap; + +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.sym.log.wlg.service.EgovWebLogService; +import egovframework.com.sym.log.wlg.service.WebLog; + +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * @Class Name : EgovWebLogController.java + * @Description : 시스템 로그정보를 관리하기 위한 컨트롤러 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.wlg) + * 2011.8.26 정진오 IncludedInfo annotation 추가 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ + +@Controller +public class EgovWebLogController { + + @Resource(name="EgovWebLogService") + private EgovWebLogService webLogService; + + @Resource(name="propertiesService") + protected EgovPropertyService propertyService; + + /** + * 웹 로그 목록 조회 + * + * @param webLog + * @return sym/log/wlg/EgovWebLogList + * @throws Exception + */ + @IncludedInfo(name="웹로그관리", listUrl="/sym/log/wlg/SelectWebLogList.do", order = 1070 ,gid = 60) + @RequestMapping(value="/sym/log/wlg/SelectWebLogList.do") + public String selectWebLogInf(@ModelAttribute("searchVO") WebLog webLog, + ModelMap model) throws Exception{ + + webLog.setPageUnit(propertyService.getInt("pageUnit")); + webLog.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(webLog.getPageIndex()); + paginationInfo.setRecordCountPerPage(webLog.getPageUnit()); + paginationInfo.setPageSize(webLog.getPageSize()); + + webLog.setFirstIndex(paginationInfo.getFirstRecordIndex()); + webLog.setLastIndex(paginationInfo.getLastRecordIndex()); + webLog.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + HashMap<?, ?> _map = (HashMap<?, ?>)webLogService.selectWebLogInf(webLog); + int totCnt = Integer.parseInt((String)_map.get("resultCnt")); + + model.addAttribute("resultList", _map.get("resultList")); + model.addAttribute("resultCnt", _map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/log/wlg/EgovWebLogList"; + } + + /** + * 웹 로그 상세 조회 + * + * @param webLog + * @param model + * @return sym/log/wlg/EgovWebLogInqire + * @throws Exception + */ + @RequestMapping(value="/sym/log/wlg/SelectWebLogDetail.do") + public String selectWebLog(@ModelAttribute("searchVO") WebLog webLog, + @RequestParam("requstId") String requstId, + ModelMap model) throws Exception{ + + webLog.setRequstId(requstId.trim()); + + WebLog vo = webLogService.selectWebLog(webLog); + model.addAttribute("result", vo); + return "egovframework/com/sym/log/wlg/EgovWebLogDetail"; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/wlg/web/EgovWebLogController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/wlg/service/WebLog.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/wlg/service/WebLog.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/wlg/service/WebLog.java (revision 7) @@ -0,0 +1,280 @@ +package egovframework.com.sym.log.wlg.service; + +import java.io.Serializable; + +/** + * @Class Name : WebLog.java + * @Description : 웹 로그 관리를 위한 VO 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.wlg) + * 2011.09.14 서준식 화면에 검색일자를 표시하기위한 멤버변수 추가. + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +public class WebLog implements Serializable { + + private static final long serialVersionUID = -7768865822788140496L; + + /** + * 요청아이디 + */ + private String requstId = ""; + + /** + * 발생일자 + */ + private String occrrncDe = ""; + + /** + * URL + */ + private String url = ""; + + /** + * 요청자아이디 + */ + private String rqesterId = ""; + + /** + * 요청자 이름 + */ + private String rqsterNm = ""; + + /** + * 요청아이피 + */ + private String rqesterIp = ""; + + /** + * 검색시작일 + */ + private String searchBgnDe = ""; + + /** + * 검색조건 + */ + private String searchCnd = ""; + + /** + * 검색종료일 + */ + private String searchEndDe = ""; + + /** + * 검색단어 + */ + private String searchWrd = ""; + + /** + * 정렬순서(DESC,ASC) + */ + private String sortOrdr = ""; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** firstIndex */ + private int firstIndex = 1; + + /** lastIndex */ + private int lastIndex = 1; + + /** recordCountPerPage */ + private int recordCountPerPage = 10; + + /** rowNo */ + private int rowNo = 0; + + /** + * 검색시작일_화면용 + */ + private String searchBgnDeView = "";//2011.09.14 + + /** + * 검색종료일_화면용 + */ + private String searchEndDeView = "";//2011.09.14 + + public String getSearchEndDeView() { + return searchEndDeView; + } + public void setSearchEndDeView(String searchEndDeView) { + this.searchEndDeView = searchEndDeView; + } + public String getSearchBgnDeView() { + return searchBgnDeView; + } + public void setSearchBgnDeView(String searchBgnDeView) { + this.searchBgnDeView = searchBgnDeView; + } + + public String getRequstId() { + return requstId; + } + + public void setRequstId(String requstId) { + this.requstId = requstId; + } + + public String getOccrrncDe() { + return occrrncDe; + } + + public void setOccrrncDe(String occrrncDe) { + this.occrrncDe = occrrncDe; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getRqesterId() { + return rqesterId; + } + + public void setRqesterId(String rqesterId) { + this.rqesterId = rqesterId; + } + + public String getRqsterNm() { + return rqsterNm; + } + + public void setRqsterNm(String rqsterNm) { + this.rqsterNm = rqsterNm; + } + + public String getRqesterIp() { + return rqesterIp; + } + + public void setRqesterIp(String rqesterIp) { + this.rqesterIp = rqesterIp; + } + + public String getSearchBgnDe() { + return searchBgnDe; + } + + public void setSearchBgnDe(String searchBgnDe) { + this.searchBgnDe = searchBgnDe; + } + + public String getSearchCnd() { + return searchCnd; + } + + public void setSearchCnd(String searchCnd) { + this.searchCnd = searchCnd; + } + + public String getSearchEndDe() { + return searchEndDe; + } + + public void setSearchEndDe(String searchEndDe) { + this.searchEndDe = searchEndDe; + } + + public String getSearchWrd() { + return searchWrd; + } + + public void setSearchWrd(String searchWrd) { + this.searchWrd = searchWrd; + } + + public String getSortOrdr() { + return sortOrdr; + } + + public void setSortOrdr(String sortOrdr) { + this.sortOrdr = sortOrdr; + } + + public String getSearchUseYn() { + return searchUseYn; + } + + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + public int getPageIndex() { + return pageIndex; + } + + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + public int getPageUnit() { + return pageUnit; + } + + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public int getFirstIndex() { + return firstIndex; + } + + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + public int getLastIndex() { + return lastIndex; + } + + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + + public int getRowNo() { + return rowNo; + } + + public void setRowNo(int rowNo) { + this.rowNo = rowNo; + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/wlg/service/WebLog.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/wlg/service/impl/EgovWebLogServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/wlg/service/impl/EgovWebLogServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/wlg/service/impl/EgovWebLogServiceImpl.java (revision 7) @@ -0,0 +1,98 @@ +package egovframework.com.sym.log.wlg.service.impl; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import egovframework.com.sym.log.wlg.service.EgovWebLogService; +import egovframework.com.sym.log.wlg.service.WebLog; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * @Class Name : EgovWebLogServiceImpl.java + * @Description : 웹로그 관리를 위한 서비스 구현 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.wlg) + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +@Service("EgovWebLogService") +public class EgovWebLogServiceImpl extends EgovAbstractServiceImpl implements + EgovWebLogService { + + @Resource(name="webLogDAO") + private WebLogDAO webLogDAO; + + /** ID Generation */ + @Resource(name="egovWebLogIdGnrService") + private EgovIdGnrService egovWebLogIdGnrService; + + /** + * 웹 로그를 기록한다. + * + * @param WebLog + */ + @Override + public void logInsertWebLog(WebLog webLog) throws Exception { + String requstId = egovWebLogIdGnrService.getNextStringId(); + webLog.setRequstId(requstId); + + webLogDAO.logInsertWebLog(webLog); + } + + /** + * 웹 로그정보를 요약한다. + * + * @param + */ + @Override + public void logInsertWebLogSummary() throws Exception { + + webLogDAO.logInsertWebLogSummary(); + } + + /** + * 웹 로그정보 상제정보를 조회한다. + * + * @param webLog + * @return webLog + * @throws Exception + */ + @Override + public WebLog selectWebLog(WebLog webLog) throws Exception{ + + return webLogDAO.selectWebLog(webLog); + } + + /** + * 웹 로그정보 목록을 조회한다. + * + * @param WebLog + */ + @Override + public Map<String, Object> selectWebLogInf(WebLog webLog) throws Exception { + List<?> _result = webLogDAO.selectWebLogInf(webLog); + int _cnt = webLogDAO.selectWebLogInfCnt(webLog); + + Map<String, Object> _map = new HashMap<String, Object>(); + _map.put("resultList", _result); + _map.put("resultCnt", Integer.toString(_cnt)); + + return _map; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/wlg/service/impl/EgovWebLogServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/wlg/service/impl/WebLogDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/wlg/service/impl/WebLogDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/wlg/service/impl/WebLogDAO.java (revision 7) @@ -0,0 +1,86 @@ +package egovframework.com.sym.log.wlg.service.impl; + +import java.util.List; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sym.log.wlg.service.WebLog; + +import org.springframework.stereotype.Repository; + +/** + * @Class Name : WebLogDAO.java + * @Description : 웹로그 관리를 위한 데이터 접근 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.wlg) + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +@Repository("webLogDAO") +public class WebLogDAO extends EgovComAbstractDAO { + + /** + * 웹 로그를 기록한다. + * + * @param WebLog + * @return + * @throws Exception + */ + public void logInsertWebLog(WebLog webLog) throws Exception{ + insert("WebLog.logInsertWebLog", webLog); + } + + /** + * 웹 로그정보를 요약한다. + * + * @param + * @return + * @throws Exception + */ + public void logInsertWebLogSummary() throws Exception{ + insert("WebLog.logInsertWebLogSummary", null); + delete("WebLog.logDeleteWebLogSummary", null); + } + + /** + * 웹 로그정보 상세정보를 조회한다. + * + * @param webLog + * @return webLog + * @throws Exception + */ + public WebLog selectWebLog(WebLog webLog) throws Exception{ + + return (WebLog) selectOne("WebLog.selectWebLog", webLog); + } + + /** + * 웹 로그정보 목록을 조회한다. + * + * @param webLog + * @return + * @throws Exception + */ + public List<?> selectWebLogInf(WebLog webLog) throws Exception{ + return list("WebLog.selectWebLogInf", webLog); + } + + /** + * 웹 로그정보 목록의 숫자를 조회한다. + * @param webLog + * @return + * @throws Exception + */ + public int selectWebLogInfCnt(WebLog webLog) throws Exception{ + + return (Integer)selectOne("WebLog.selectWebLogInfCnt", webLog); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/wlg/service/impl/WebLogDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/wlg/service/EgovWebLogScheduling.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/wlg/service/EgovWebLogScheduling.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/wlg/service/EgovWebLogScheduling.java (revision 7) @@ -0,0 +1,44 @@ +package egovframework.com.sym.log.wlg.service; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * @Class Name : EgovWebLogScheduling.java + * @Description : 웹로그 요약을 위한 스케쥴링 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.wlg) + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ + +@Service("egovWebLogScheduling") +public class EgovWebLogScheduling extends EgovAbstractServiceImpl { + + @Resource(name="EgovWebLogService") + private EgovWebLogService webLogService; + + /** + * 웹 로그정보를 요약한다. + * 전날의 로그를 요약하여 입력하고, 6개월전의 로그를 삭제한다. + * + * @param + * @return + * @throws Exception + */ + public void webLogSummary() throws Exception { + webLogService.logInsertWebLogSummary(); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/wlg/service/EgovWebLogScheduling.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/wlg/service/EgovWebLogService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/wlg/service/EgovWebLogService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/wlg/service/EgovWebLogService.java (revision 7) @@ -0,0 +1,54 @@ +package egovframework.com.sym.log.wlg.service; + +import java.util.Map; + +/** + * @Class Name : EgovWebLogService.java + * @Description : 웹로그 관리를 위한 서비스 인터페이스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.wlg) + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ + +public interface EgovWebLogService { + + /** + * 웹 로그를 기록한다. + * + * @param WebLog + */ + public void logInsertWebLog(WebLog webLog) throws Exception; + + /** + * 웹 로그정보를 요약한다. + * + * @param + */ + public void logInsertWebLogSummary() throws Exception; + + /** + * 웹로그 상세정보를 조회한다. + * + * @param webLog + * @return webLog + * @throws Exception + */ + public WebLog selectWebLog(WebLog webLog) throws Exception; + + /** + * 웹 로그정보 목록을 조회한다. + * + * @param WebLog + */ + public Map<?, ?> selectWebLogInf(WebLog webLog) throws Exception; + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/wlg/service/EgovWebLogService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/clg/web/EgovLoginLogController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/clg/web/EgovLoginLogController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/clg/web/EgovLoginLogController.java (revision 7) @@ -0,0 +1,104 @@ +package egovframework.com.sym.log.clg.web; + +import java.util.HashMap; + +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.sym.log.clg.service.EgovLoginLogService; +import egovframework.com.sym.log.clg.service.LoginLog; + +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * @Class Name : EgovLoginLogController.java + * @Description : 접속로그정보를 관리하기 위한 컨트롤러 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.clg) + * 2011.8.26 정진오 IncludedInfo annotation 추가 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ + +@Controller +public class EgovLoginLogController { + + @Resource(name="EgovLoginLogService") + private EgovLoginLogService loginLogService; + + @Resource(name="propertiesService") + protected EgovPropertyService propertyService; + + /** + * 로그인 로그 목록 조회 + * + * @param loginLog + * @return sym/log/clg/EgovLoginLogList + * @throws Exception + */ + @IncludedInfo(name="접속로그관리", order = 1080 ,gid = 60) + @RequestMapping(value="/sym/log/clg/SelectLoginLogList.do") + public String selectLoginLogInf(@ModelAttribute("searchVO") LoginLog loginLog, + ModelMap model) throws Exception{ + + loginLog.setPageUnit(propertyService.getInt("pageUnit")); + loginLog.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(loginLog.getPageIndex()); + paginationInfo.setRecordCountPerPage(loginLog.getPageUnit()); + paginationInfo.setPageSize(loginLog.getPageSize()); + + loginLog.setFirstIndex(paginationInfo.getFirstRecordIndex()); + loginLog.setLastIndex(paginationInfo.getLastRecordIndex()); + loginLog.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + HashMap<?, ?> _map = (HashMap<?, ?>)loginLogService.selectLoginLogInf(loginLog); + int totCnt = Integer.parseInt((String)_map.get("resultCnt")); + + model.addAttribute("resultList", _map.get("resultList")); + model.addAttribute("resultCnt", _map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/log/clg/EgovLoginLogList"; + } + + /** + * 로그인 로그 상세 조회 + * + * @param loginLog + * @param model + * @return sym/log/clg/EgovLoginLogInqire + * @throws Exception + */ + @RequestMapping(value="/sym/log/clg/SelectLoginLogDetail.do") + public String selectLoginLog(@ModelAttribute("searchVO") LoginLog loginLog, + @RequestParam("logId") String logId, + ModelMap model) throws Exception{ + + + loginLog.setLogId(logId.trim()); + + LoginLog vo = loginLogService.selectLoginLog(loginLog); + model.addAttribute("result", vo); + return "egovframework/com/sym/log/clg/EgovLoginLogDetail"; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/clg/web/EgovLoginLogController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/clg/service/impl/LoginLogDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/clg/service/impl/LoginLogDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/clg/service/impl/LoginLogDAO.java (revision 7) @@ -0,0 +1,74 @@ +package egovframework.com.sym.log.clg.service.impl; + +import java.util.List; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sym.log.clg.service.LoginLog; + +import org.springframework.stereotype.Repository; + +/** + * @Class Name : LoginLogDAO.java + * @Description : 시스템 로그 관리를 위한 데이터 접근 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.clg) + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +@Repository("loginLogDAO") +public class LoginLogDAO extends EgovComAbstractDAO { + + /** + * 접속로그를 기록한다. + * + * @param LoginLog + * @return + * @throws Exception + */ + public void logInsertLoginLog(LoginLog loginLog) throws Exception{ + insert("LoginLog.logInsertLoginLog", loginLog); + } + + /** + * 접속로그 상세보기를 조회한다. + * + * @param loginLog + * @return loginLog + * @throws Exception + */ + public LoginLog selectLoginLog(LoginLog loginLog) throws Exception{ + + return (LoginLog) selectOne("LoginLog.selectLoginLog", loginLog); + } + + /** + * 접속로그를 목록을 조회한다. + * + * @param loginLog + * @return + * @throws Exception + */ + public List<?> selectLoginLogInf(LoginLog loginLog) throws Exception{ + return list("LoginLog.selectLoginLogInf", loginLog); + } + + /** + * 접속로그 목록의 숫자를 조회한다. + * @param loginLog + * @return + * @throws Exception + */ + public int selectLoginLogInfCnt(LoginLog loginLog) throws Exception{ + + return (Integer)selectOne("LoginLog.selectLoginLogInfCnt", loginLog); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/clg/service/impl/LoginLogDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java (revision 7) @@ -0,0 +1,88 @@ +package egovframework.com.sym.log.clg.service.impl; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import egovframework.com.sym.log.clg.service.EgovLoginLogService; +import egovframework.com.sym.log.clg.service.LoginLog; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.idgnr.EgovIdGnrService; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * @Class Name : EgovLoginLogServiceImpl.java + * @Description : 접속로그 관리를 위한 서비스 구현 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(stm.log -> sym.log.clg) + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +@Service("EgovLoginLogService") +public class EgovLoginLogServiceImpl extends EgovAbstractServiceImpl implements + EgovLoginLogService { + + @Resource(name="loginLogDAO") + private LoginLogDAO loginLogDAO; + + /** ID Generation */ + @Resource(name="egovLoginLogIdGnrService") + private EgovIdGnrService egovLoginLogIdGnrService; + + /** + * 접속로그를 기록한다. + * + * @param LoginLog + */ + @Override + public void logInsertLoginLog(LoginLog loinLog) throws Exception { + String logId = egovLoginLogIdGnrService.getNextStringId(); + loinLog.setLogId(logId); + + loginLogDAO.logInsertLoginLog(loinLog); + } + + /** + * 접속로그를 조회한다. + * + * @param loginLog + * @return loginLog + * @throws Exception + */ + @Override + public LoginLog selectLoginLog(LoginLog loginLog) throws Exception{ + + return loginLogDAO.selectLoginLog(loginLog); + } + + /** + * 접속로그 목록을 조회한다. + * + * @param LoginLog + */ + @SuppressWarnings({ "rawtypes", "unchecked" }) + @Override + public Map<?, ?> selectLoginLogInf(LoginLog loinLog) throws Exception { + List<?> _result = loginLogDAO.selectLoginLogInf(loinLog); + int _cnt = loginLogDAO.selectLoginLogInfCnt(loinLog); + + Map<String, Object> _map = new HashMap(); + _map.put("resultList", _result); + _map.put("resultCnt", Integer.toString(_cnt)); + + return _map; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/clg/service/impl/EgovLoginLogServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/clg/service/EgovLoginLogAspect.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/clg/service/EgovLoginLogAspect.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/clg/service/EgovLoginLogAspect.java (revision 7) @@ -0,0 +1,90 @@ +package egovframework.com.sym.log.clg.service; + +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.util.EgovUserDetailsHelper; + +import javax.annotation.Resource; + +/** + * @Class Name : EgovLoginLogAspect.java + * @Description : 시스템 로그 생성을 위한 ASPECT 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.clg) + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +public class EgovLoginLogAspect { + + @Resource(name="EgovLoginLogService") + private EgovLoginLogService loginLogService; + + /** + * 로그인 로그정보를 생성한다. + * EgovLoginController.actionMain Method + * + * @param + * @return void + * @throws Exception + */ + public void logLogin() throws Throwable { + + String uniqId = ""; + String ip = ""; + + /* Authenticated */ + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(isAuthenticated.booleanValue()) { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + uniqId = (user == null || user.getUniqId() == null) ? "" : user.getUniqId(); + ip = (user == null || user.getIp() == null) ? "" : user.getIp(); + } + + LoginLog loginLog = new LoginLog(); + loginLog.setLoginId(uniqId); + loginLog.setLoginIp(ip); + loginLog.setLoginMthd("I"); // 로그인:I, 로그아웃:O + loginLog.setErrOccrrAt("N"); + loginLog.setErrorCode(""); + loginLogService.logInsertLoginLog(loginLog); + + } + + /** + * 로그아웃 로그정보를 생성한다. + * EgovLoginController.actionLogout Method + * + * @param + * @return void + * @throws Exception + */ + public void logLogout() throws Throwable { + + String uniqId = ""; + String ip = ""; + + /* Authenticated */ + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(isAuthenticated.booleanValue()) { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + uniqId = (user == null || user.getUniqId() == null) ? "" : user.getUniqId(); + ip = (user == null || user.getIp() == null) ? "" : user.getIp(); + } + + LoginLog loginLog = new LoginLog(); + loginLog.setLoginId(uniqId); + loginLog.setLoginIp(ip); + loginLog.setLoginMthd("O"); // 로그인:I, 로그아웃:O + loginLog.setErrOccrrAt("N"); + loginLog.setErrorCode(""); + loginLogService.logInsertLoginLog(loginLog); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/clg/service/EgovLoginLogAspect.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/clg/service/LoginLog.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/clg/service/LoginLog.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/clg/service/LoginLog.java (revision 7) @@ -0,0 +1,287 @@ +package egovframework.com.sym.log.clg.service; + +import java.io.Serializable; + +/** + * @Class Name : LoginLog.java + * @Description : 접속 로그 관리를 위한 VO 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.clg) + * 2011.09.14 서준식 화면에 검색일자를 표시하기위한 멤버변수 추가. + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +public class LoginLog implements Serializable { + + private static final long serialVersionUID = 3492444929272088373L; + + /** 로그ID */ + private String logId; + + /** 사용자ID */ + private String loginId; + + /** 사용자명 */ + private String loginNm; + + /** 접속IP */ + private String loginIp; + + /** 로그유형 */ + private String loginMthd; + + /** 에러발생여부 */ + private String errOccrrAt; + + /** 에러코드 */ + private String errorCode; + + /** 생성일시 */ + private String creatDt; + + /** + * 검색시작일 + */ + private String searchBgnDe = ""; + /** + * 검색조건 + */ + private String searchCnd = ""; + /** + * 검색종료일 + */ + private String searchEndDe = ""; + /** + * 검색단어 + */ + private String searchWrd = ""; + /** + * 정렬순서(DESC,ASC) + */ + private String sortOrdr = ""; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** firstIndex */ + private int firstIndex = 1; + + /** lastIndex */ + private int lastIndex = 1; + + /** recordCountPerPage */ + private int recordCountPerPage = 10; + + /** rowNo */ + private int rowNo = 0; + + /** + * 검색시작일_화면용 + */ + private String searchBgnDeView = "";//2011.09.14 + + /** + * 검색종료일_화면용 + */ + private String searchEndDeView = "";//2011.09.14 + + public String getSearchEndDeView() { + return searchEndDeView; + } + public void setSearchEndDeView(String searchEndDeView) { + this.searchEndDeView = searchEndDeView; + } + public String getSearchBgnDeView() { + return searchBgnDeView; + } + public void setSearchBgnDeView(String searchBgnDeView) { + this.searchBgnDeView = searchBgnDeView; + } + + public String getLogId() { + return logId; + } + + public void setLogId(String logId) { + this.logId = logId; + } + + public String getLoginId() { + return loginId; + } + + public void setLoginId(String loginId) { + this.loginId = loginId; + } + + public String getLoginIp() { + return loginIp; + } + + public void setLoginIp(String loginIp) { + this.loginIp = loginIp; + } + + public String getLoginMthd() { + return loginMthd; + } + + public void setLoginMthd(String loginMthd) { + this.loginMthd = loginMthd; + } + + public String getErrOccrrAt() { + return errOccrrAt; + } + + public void setErrOccrrAt(String errOccrrAt) { + this.errOccrrAt = errOccrrAt; + } + + public String getErrorCode() { + return errorCode; + } + + public void setErrorCode(String errorCode) { + this.errorCode = errorCode; + } + + public String getCreatDt() { + return creatDt; + } + + public void setCreatDt(String creatDt) { + this.creatDt = creatDt; + } + + public String getSearchBgnDe() { + return searchBgnDe; + } + + public void setSearchBgnDe(String searchBgnDe) { + this.searchBgnDe = searchBgnDe; + } + + public String getSearchCnd() { + return searchCnd; + } + + public void setSearchCnd(String searchCnd) { + this.searchCnd = searchCnd; + } + + public String getSearchEndDe() { + return searchEndDe; + } + + public void setSearchEndDe(String searchEndDe) { + this.searchEndDe = searchEndDe; + } + + public String getSearchWrd() { + return searchWrd; + } + + public void setSearchWrd(String searchWrd) { + this.searchWrd = searchWrd; + } + + public String getSortOrdr() { + return sortOrdr; + } + + public void setSortOrdr(String sortOrdr) { + this.sortOrdr = sortOrdr; + } + + public String getSearchUseYn() { + return searchUseYn; + } + + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + public int getPageIndex() { + return pageIndex; + } + + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + public int getPageUnit() { + return pageUnit; + } + + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + public int getPageSize() { + return pageSize; + } + + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + public int getFirstIndex() { + return firstIndex; + } + + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + public int getLastIndex() { + return lastIndex; + } + + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + + public int getRowNo() { + return rowNo; + } + + public void setRowNo(int rowNo) { + this.rowNo = rowNo; + } + + public String getLoginNm() { + return loginNm; + } + + public void setLoginNm(String loginNm) { + this.loginNm = loginNm; + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/clg/service/LoginLog.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/log/clg/service/EgovLoginLogService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/log/clg/service/EgovLoginLogService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/log/clg/service/EgovLoginLogService.java (revision 7) @@ -0,0 +1,47 @@ +package egovframework.com.sym.log.clg.service; + +import java.util.Map; + + +/** + * @Class Name : EgovLoginLogService.java + * @Description : 시스템 로그 관리를 위한 서비스 인터페이스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 3. 11. 이삼섭 최초생성 + * 2011. 7. 01. 이기하 패키지 분리(sym.log -> sym.log.clg) + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 3. 11. + * @version + * @see + * + */ +public interface EgovLoginLogService { + + /** + * 접속로그를 기록한다. + * + * @param LoginLog + */ + public void logInsertLoginLog(LoginLog loinLog) throws Exception; + + /** + * 접속로그를 조회한다. + * + * @param loginLog + * @return loginLog + * @throws Exception + */ + public LoginLog selectLoginLog(LoginLog loginLog) throws Exception; + + /** + * 접속로그 목록을 조회한다. + * + * @param LoginLog + */ + public Map<?, ?> selectLoginLogInf(LoginLog loinLog) throws Exception; + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/log/clg/service/EgovLoginLogService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/bmm/web/EgovBkmkMenuManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/bmm/web/EgovBkmkMenuManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/bmm/web/EgovBkmkMenuManageController.java (revision 7) @@ -0,0 +1,300 @@ +package egovframework.com.sym.mnu.bmm.web; + +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.support.SessionStatus; +import org.springmodules.validation.commons.DefaultBeanValidator; + +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.sym.mnu.bmm.service.BkmkMenuManage; +import egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO; +import egovframework.com.sym.mnu.bmm.service.EgovBkmkMenuManageservice; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +/** + * 바로가기메뉴관리 정보를 관리하기 위한 컨트롤러 클래스 + * @author 공통컴포넌트팀 윤성록 + * @since 2009.09.25 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.9.25 윤성록 최초 생성 + * 2011.8.26 정진오 IncludedInfo annotation 추가 + * + * </pre> + */ + +@Controller +public class EgovBkmkMenuManageController { + + @Resource(name = "bkmkMenuManageservice") + private EgovBkmkMenuManageservice bkmkMenuManageService; + + @Resource(name = "propertiesService") + protected EgovPropertyService propertyService; + + @Autowired + private DefaultBeanValidator beanValidator; + + /** + * 바로가기메뉴관리 정보에 대한 목록을 조회한다. + * + * @param BkmkMenuManageVO + * @param status + * @param model + * @return + * @throws Exception + */ + @IncludedInfo(name="바로가기메뉴관리", order = 1110 ,gid = 60) + @RequestMapping("/sym/mnu/bmm/selectBkmkMenuManageList.do") + public String selectBkmkMenuManageList(@ModelAttribute("searchVO") BkmkMenuManageVO bkmkMenuManageVO, SessionStatus status, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + bkmkMenuManageVO.setPageUnit(propertyService.getInt("pageUnit")); + bkmkMenuManageVO.setPageSize(propertyService.getInt("pageSize")); + bkmkMenuManageVO.setUserId(user == null ? "" : EgovStringUtil.isNullToString(user.getId())); + + PaginationInfo paginationInfo = new PaginationInfo(); + + paginationInfo.setCurrentPageNo(bkmkMenuManageVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(bkmkMenuManageVO.getPageUnit()); + paginationInfo.setPageSize(bkmkMenuManageVO.getPageSize()); + + bkmkMenuManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + bkmkMenuManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); + bkmkMenuManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + bkmkMenuManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + bkmkMenuManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); + bkmkMenuManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + Map<String, Object> map = bkmkMenuManageService.selectBkmkMenuManageList(bkmkMenuManageVO); + + int totCnt = Integer.parseInt((String)map.get("resultCnt")); + + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", map.get("resultCnt")); + model.addAttribute("uniqId", user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/mnu/bmm/EgovBkmkMenuManageList"; + + } + + /** + * 바로가기메뉴관리 정보를 삭제한다. + * + * @param checkMenuIds + * @param bkmkMenuManageVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/sym/mnu/bmm/EgovBkmkMenuManageDelete.do") + public String deleteMenuManageList( + @RequestParam("checkMenuIds") String checkMenuIds , + @ModelAttribute("bkmkMenuManageVO") BkmkMenuManageVO bkmkMenuManageVO, + ModelMap model) + throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { + // model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + String [] temp = checkMenuIds.split(","); + + for(int i =0; i < temp.length; i++){ + BkmkMenuManage bkmk = new BkmkMenuManage(); + bkmk.setMenuId(temp[i]); + bkmk.setUserId(user == null ? "" : EgovStringUtil.isNullToString(user.getId())); + bkmkMenuManageService.deleteBkmkMenuManage(bkmk); + } + + return "forward:/sym/mnu/bmm/selectBkmkMenuManageList.do"; + } + + /** + * 바로가기메뉴관리 등록화면으로 이동한다. + * + * @param BkmkMenuManage + * @param status + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/sym/mnu/bmm/addBkmkInf.do") + public String addBkmkMenuManage( @ModelAttribute("bkmkMenuManage") BkmkMenuManage bkmkMenuManage, SessionStatus status, ModelMap model) throws Exception { + + if(!bkmkMenuManage.getMenuId().equals("")){ + + bkmkMenuManage.setProgrmStrePath(bkmkMenuManageService.selectUrl(bkmkMenuManage)); + } + + return "egovframework/com/sym/mnu/bmm/EgovBkmkMenuManageRegist"; + } + + /** + * 메뉴정보 목록팝업 화면으로 이동한다. + * + * @param commandMap + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/sym/mnu/bmm/openPopup.do") + public String openPopupWindow(@RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception { + + String requestUrl = (String)commandMap.get("requestUrl"); + requestUrl = requestUrl.replaceAll("&", "&amp;"); + String width = (String)commandMap.get("width"); + String height = (String)commandMap.get("height"); + model.addAttribute("requestUrl", requestUrl + "?" + "&amp;PopFlag=Y"); + model.addAttribute("width", width); + model.addAttribute("height", height); + + return "egovframework/com/sym/mnu/bmm/EgovModalPopupFrame"; + } + + /** + * 메뉴정보 목록을 조회한다. + * + * @param BkmkMenuManageVO + * @param commandMap + * @param model + * @return + * @throws Exception + */ + @SuppressWarnings("unused") + @RequestMapping("/sym/mnu/bmm/selectMenuList.do") + public String selectMenuList(@ModelAttribute("bkmkMenuManageVO") BkmkMenuManageVO bkmkMenuManageVO, @RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception { + String popFlag = (String)commandMap.get("PopFlag"); + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + bkmkMenuManageVO.setPageUnit(propertyService.getInt("pageUnit")); + bkmkMenuManageVO.setPageSize(propertyService.getInt("pageSize")); + + PaginationInfo paginationInfo = new PaginationInfo(); + + paginationInfo.setCurrentPageNo(bkmkMenuManageVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(bkmkMenuManageVO.getPageUnit()); + paginationInfo.setPageSize(bkmkMenuManageVO.getPageSize()); + + + bkmkMenuManageVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + bkmkMenuManageVO.setLastIndex(paginationInfo.getLastRecordIndex()); + bkmkMenuManageVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + bkmkMenuManageVO.setUserId(user == null ? "" : EgovStringUtil.isNullToString(user.getId())); + + Map<String, Object> map = bkmkMenuManageService.selectMenuList(bkmkMenuManageVO); + + int totCnt = Integer.parseInt((String)map.get("resultCnt")); + paginationInfo.setTotalRecordCount(totCnt); + + model.addAttribute("resultList", map.get("resultList")); + model.addAttribute("resultCnt", map.get("resultCnt")); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/mnu/bmm/EgovBkmkMenuPopup"; + } + + /** + * 바로가기메뉴관리 정보를 등록한다. + * + * @param BkmkMenuManage + * @param bindingResult + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/sym/mnu/bmm/registBkmkInf.do") + public String registBkmkInf(@ModelAttribute("bkmkMenuManage") BkmkMenuManage bkmkMenuManage, + BindingResult bindingResult, SessionStatus status, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + beanValidator.validate(bkmkMenuManage, bindingResult); + if (bindingResult.hasErrors()) { + return "egovframework/com/sym/mnu/bmm/EgovBkmkMenuManageRegist"; + } + + bkmkMenuManage.setUserId(user == null ? "" : EgovStringUtil.isNullToString(user.getId())); + if (isAuthenticated) { + bkmkMenuManageService.insertBkmkMenuManage(bkmkMenuManage); + } + + return "forward:/sym/mnu/bmm/selectBkmkMenuManageList.do"; + } + + /** + * 바로가기메뉴관리 미리보기 화면으로 이동한다. + * + * @param BkmkMenuManageVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping(value="/sym/mnu/bmm/previewBkmkInf.do") + public String previewBkmkInf(@ModelAttribute("searchVO") BkmkMenuManageVO bkmkMenuManageVO,ModelMap model) + throws Exception { + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + + if(!isAuthenticated) { + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + bkmkMenuManageVO.setFirstIndex(0); + bkmkMenuManageVO.setLastIndex(10); + bkmkMenuManageVO.setRecordCountPerPage(10); + + bkmkMenuManageVO.setUserId(user == null ? "" : EgovStringUtil.isNullToString(user.getId())); + + Map<String, Object> map = bkmkMenuManageService.selectBkmkMenuManageList(bkmkMenuManageVO); + + model.addAttribute("list_menulist", map.get("resultList")); + model.addAttribute("resultMsg", resultMsg); + + return "egovframework/com/sym/mnu/bmm/EgovBookMarkMenuPopup"; + } +} Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/bmm/web/EgovBkmkMenuManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/impl/BkmkMenuManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/impl/BkmkMenuManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/impl/BkmkMenuManageDAO.java (revision 7) @@ -0,0 +1,139 @@ +package egovframework.com.sym.mnu.bmm.service.impl; + +import java.util.List; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sym.mnu.bmm.service.BkmkMenuManage; +import egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO; +import egovframework.com.sym.mnu.mpm.service.MenuManageVO; + +import org.springframework.stereotype.Repository; + + +/** + * @Class Name : BkmkMenuManageDAO.java + * @Description : 바로가기메뉴를 관리하는 서비스를 정의하기위한 데이터 접근 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 9. 25. 윤성록 + * + * @author 공통 컴포넌트 개발팀 윤성록 + * @since 2009. 9. 25. + * @version + * @see + * + */ +@Repository("bkmkMenuManageDAO") +public class BkmkMenuManageDAO extends EgovComAbstractDAO{ + + /** + * 바로가기메뉴관리 정보를 삭제한다. + * + * @param BkmkMenuManage + * @return + * @throws Exception + */ + public void deleteBkmkMenuManage(BkmkMenuManage bkmkMenuManage) throws Exception { + delete("BkmkMenuManageDAO.deleteBkmkMenuManage", bkmkMenuManage); + } + + /** + * 바로가기메뉴관리 정보를 등록한다. + * + * @param BkmkMenuManage + * @return + * @throws Exception + */ + public void insertBkmkMenuManage(BkmkMenuManage bkmkMenuManage) throws Exception { + insert("BkmkMenuManageDAO.insertBkmkMenuManage", bkmkMenuManage); + } + + /** + * 바로가기메뉴관리 정보를 조회한다. + * + * @param BkmkMenuManageVO + * @return + * @throws Exception + */ + public BkmkMenuManageVO selectBkmkMenuManageResult(BkmkMenuManageVO bkmkMenuManageVO) + throws Exception { + BkmkMenuManageVO vo = new BkmkMenuManageVO(); + vo = (BkmkMenuManageVO)selectOne("BkmkMenuManageDAO.selectBkmkMenuManage", bkmkMenuManageVO); + return vo; + } + + /** + * 조건에 맞는 바로가기메뉴관리 정보 목록을 조회한다. + * + * @param BkmkMenuManageVO + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<BkmkMenuManageVO> selectBkmkMenuManageList(BkmkMenuManageVO bkmkMenuManageVO) + throws Exception { + return selectList("BkmkMenuManageDAO.selectBkmkMenuManageList", bkmkMenuManageVO); + } + + /** + * 조건에 맞는 바로가기메뉴관리 정보 목록의 건수를 조회한다. + * + * @param BkmkMenuManageVO + * @return + * @throws Exception + */ + public int selectBkmkMenuManageListCnt(BkmkMenuManageVO bkmkMenuManageVO) throws Exception { + return (Integer)selectOne("BkmkMenuManageDAO.selectBkmkMenuManageListCnt", bkmkMenuManageVO); + } + + /** + * 등록할 메뉴정보 목록을 조회한다. + * + * @param BkmkMenuManageVO + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<BkmkMenuManageVO> selectBkmkMenuList(BkmkMenuManageVO bkmkMenuManageVO) + throws Exception { + return selectList("BkmkMenuManageDAO.selectBkmkMenuList", bkmkMenuManageVO); + } + + /** + * 등록할 메뉴정보 목록의 건수를 조회한다. + * + * @param BkmkMenuManageVO + * @return + * @throws Exception + */ + public int selectBkmkMenuListCnt(BkmkMenuManageVO bkmkMenuManageVO) throws Exception { + return (Integer)selectOne("BkmkMenuManageDAO.selectBkmkMenuListCnt", bkmkMenuManageVO); + } + + /** + * 미리보기를 할 바로가기메뉴관리의 목록을 조회한다. + * + * @param BkmkMenuManageVO + * @return + * @throws Exception + */ + @SuppressWarnings("unchecked") + public List<MenuManageVO> selectBkmkPreview(BkmkMenuManageVO bkmkMenuManageVO) + throws Exception { + return selectList("BkmkMenuManageDAO.selectBkmkPreview", bkmkMenuManageVO); + } + + /** + * 선택된 메뉴의 URL 을 조회한다. + * + * @param bkmkMenuManage + * @return + * @throws Exception + */ + public String selectUrl(BkmkMenuManage bkmkMenuManage) throws Exception { + return (String)selectOne("BkmkMenuManageDAO.selectUrl", bkmkMenuManage); + } +} + Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/impl/BkmkMenuManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/impl/EgovBkmkMenuManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/impl/EgovBkmkMenuManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/impl/EgovBkmkMenuManageServiceImpl.java (revision 7) @@ -0,0 +1,142 @@ +package egovframework.com.sym.mnu.bmm.service.impl; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import egovframework.com.sym.mnu.bmm.service.BkmkMenuManage; +import egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO; +import egovframework.com.sym.mnu.bmm.service.EgovBkmkMenuManageservice; +import egovframework.com.sym.mnu.mpm.service.MenuManageVO; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * @Class Name : EgovBkmkMenuManageServiceImpl.java + * @Description : 바로가기메뉴를 관리하는 서비스 구현 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2009. 9. 25. 윤성록 + * + * @author 공통 컴포넌트 개발팀 윤성록 + * @since 2009. 9. 25. + * @version + * @see + * + */ +@Service("bkmkMenuManageservice") +public class EgovBkmkMenuManageServiceImpl extends EgovAbstractServiceImpl implements EgovBkmkMenuManageservice{ + + + @Resource(name = "bkmkMenuManageDAO") + private BkmkMenuManageDAO bkmkMenuManageDAO; + + /** + * 바로가기메뉴관리 정보를 삭제한다. + * @param BkmkMenuManage + * @return + * @exception Exception + */ + public void deleteBkmkMenuManage(BkmkMenuManage bkmkMenuManage) throws Exception { + bkmkMenuManageDAO.deleteBkmkMenuManage(bkmkMenuManage); + } + + /** + * 바로가기메뉴관리 정보를 등록한다. + * @param BkmkMenuManage + * @return + * @exception Exception + */ + public void insertBkmkMenuManage(BkmkMenuManage bkmkMenuManage) throws Exception { + bkmkMenuManageDAO.insertBkmkMenuManage(bkmkMenuManage); + } + + /** + * 바로가기메뉴관리 정보의 전체목록을 조회한다. + * @param BkmkMenuManage + * @return Map<String, Object> + * @exception Exception + */ + public Map<String, Object> selectBkmkMenuManageList( + BkmkMenuManageVO bkmkMenuManageVO) throws Exception{ + + List<BkmkMenuManageVO> result = bkmkMenuManageDAO.selectBkmkMenuManageList(bkmkMenuManageVO); + + int cnt = bkmkMenuManageDAO.selectBkmkMenuManageListCnt(bkmkMenuManageVO); + + Map<String, Object> map = new HashMap<String, Object>(); + + map.put("resultList", result); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + } + + /** + * 바로가기메뉴관리 정보를 조회한다. + * @param BkmkMenuManageVO + * @return BkmkMenuManageVO + * @exception Exception + */ + public BkmkMenuManageVO selectBkmkMenuManageResult( + BkmkMenuManageVO bkmkMenuManageVO) throws Exception { + + return bkmkMenuManageDAO.selectBkmkMenuManageResult(bkmkMenuManageVO); + } + + /** + * 등록할 메뉴정보 목록을 조회한다. + * @param BkmkMenuManageVO + * @return Map<String, Object> + * @exception Exception + */ + public Map<String, Object> selectMenuList(BkmkMenuManageVO bkmkMenuManageVO) + throws Exception { + + List<BkmkMenuManageVO> result = bkmkMenuManageDAO.selectBkmkMenuList(bkmkMenuManageVO); + + int cnt = bkmkMenuManageDAO.selectBkmkMenuListCnt(bkmkMenuManageVO); + + Map<String, Object> map = new HashMap<String, Object>(); + + map.put("resultList", result); + map.put("resultCnt", Integer.toString(cnt)); + + return map; + + } + + /** + * 미리보기를 할 바로가기메뉴관리의 목록을 조회한다. + * + * @param BkmkMenuManageVO + * @return List<MenuManageVO> + * @throws Exception + */ + public List<MenuManageVO> selectBkmkPreviewList(BkmkMenuManageVO bkmkMenuManageVO) + throws Exception { + + + List<MenuManageVO> result = bkmkMenuManageDAO.selectBkmkPreview(bkmkMenuManageVO); + + return result; + } + + /** + * 선택된 메뉴의 URL 을 조회한다. + * + * @param bkmkMenuManage + * @return + * @throws Exception + */ + public String selectUrl(BkmkMenuManage bkmkMenuManage) throws Exception { + + return bkmkMenuManageDAO.selectUrl(bkmkMenuManage); + } +} Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/impl/EgovBkmkMenuManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/BkmkMenuManage.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/BkmkMenuManage.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/BkmkMenuManage.java (revision 7) @@ -0,0 +1,112 @@ +package egovframework.com.sym.mnu.bmm.service; + +import java.io.Serializable; + +/** + * 바로가기메뉴관리를 위한 모델 클래스 + * @author 공통컴포넌트개발팀 윤성록 + * @since 2009.09.25 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.9.25 윤성록 최초 생성 + * + * </pre> + */ +@SuppressWarnings("serial") +public class BkmkMenuManage implements Serializable{ + + /** 메뉴 아이디 */ + String menuId = ""; + + /** 메뉴명 */ + String menuNm = ""; + + /** 메뉴 URL */ + String progrmStrePath = ""; + + /** 등록자 아이디 */ + String userId = ""; + + /** + * menuId attribute를 리턴한다. + * + * @return the menuId + */ + public String getMenuId() { + return menuId; + } + + /** + * menuId attribute 값을 설정한다. + * + * @param menuId + * the menuId to set + */ + public void setMenuId(String menuId) { + this.menuId = menuId; + } + + /** + * menuNm attribute를 리턴한다. + * + * @return the menuNm + */ + public String getMenuNm() { + return menuNm; + } + + /** + * menuNm attribute 값을 설정한다. + * + * @param menuNm + * the menuNm to set + */ + public void setMenuNm(String menuNm) { + this.menuNm = menuNm; + } + + /** + * progrmStrePath attribute를 리턴한다. + * + * @return the progrmStrePath + */ + public String getProgrmStrePath() { + return progrmStrePath; + } + + + /** + * progrmStrePath attribute 값을 설정한다. + * + * @param progrmStrePath + * the progrmStrePath to set + */ + public void setProgrmStrePath(String progrmStrePath) { + this.progrmStrePath = progrmStrePath; + } + + /** + * userId attribute를 리턴한다. + * + * @return the userId + */ + public String getUserId() { + return userId; + } + + /** + * userId attribute 값을 설정한다. + * + * @param userId + * the userId to set + */ + public void setUserId(String userId) { + this.userId = userId; + } +} Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/BkmkMenuManage.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/BkmkMenuManageVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/BkmkMenuManageVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/BkmkMenuManageVO.java (revision 7) @@ -0,0 +1,375 @@ +package egovframework.com.sym.mnu.bmm.service; + +/** + * 바로가기메뉴관리를 위한 VO 모델 클래스 + * @author 공통컴포넌트개발팀 윤성록 + * @since 2009.09.25 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.9.25 윤성록 최초 생성 + * + * </pre> + */ +public class BkmkMenuManageVO extends BkmkMenuManage{ + + private static final long serialVersionUID = 7602193410939256848L; + + /** 검색시작일 */ + private String searchBgnDe = ""; + + /** 검색조건 */ + private String searchCnd = ""; + + /** 검색종료일 */ + private String searchEndDe = ""; + + /** 검색단어 */ + private String searchWrd = ""; + + /** 정렬순서(DESC,ASC) */ + private long sortOrdr = 0L; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** 첫페이지 인덱스 */ + private int firstIndex = 1; + + /** 마지막페이지 인덱스 */ + private int lastIndex = 1; + + /** 페이지당 레코드 개수 */ + private int recordCountPerPage = 10; + + /** 레코드 번호 */ + private int rowNo = 0; + + /** 최초 등록자명 */ + private String frstRegisterNm = ""; + + /** 최종 수정자명 */ + private String lastUpdusrNm = ""; + + /** 메뉴 설명*/ + String menuDc = ""; + + + /** + * searchBgnDe attribute를 리턴한다. + * + * @return the searchBgnDe + */ + public String getSearchBgnDe() { + return searchBgnDe; + } + + /** + * searchBgnDe attribute 값을 설정한다. + * + * @param searchBgnDe + * the searchBgnDe to set + */ + public void setSearchBgnDe(String searchBgnDe) { + this.searchBgnDe = searchBgnDe; + } + + /** + * searchCnd attribute를 리턴한다. + * + * @return the searchCnd + */ + public String getSearchCnd() { + return searchCnd; + } + + /** + * searchCnd attribute 값을 설정한다. + * + * @param searchCnd + * the searchCnd to set + */ + public void setSearchCnd(String searchCnd) { + this.searchCnd = searchCnd; + } + + /** + * searchEndDe attribute를 리턴한다. + * + * @return the searchEndDe + */ + public String getSearchEndDe() { + return searchEndDe; + } + + /** + * searchEndDe attribute 값을 설정한다. + * + * @param searchEndDe + * the searchEndDe to set + */ + public void setSearchEndDe(String searchEndDe) { + this.searchEndDe = searchEndDe; + } + + /** + * searchWrd attribute를 리턴한다. + * + * @return the searchWrd + */ + public String getSearchWrd() { + return searchWrd; + } + + /** + * searchWrd attribute 값을 설정한다. + * + * @param searchWrd + * the searchWrd to set + */ + public void setSearchWrd(String searchWrd) { + this.searchWrd = searchWrd; + } + + /** + * sortOrdr attribute를 리턴한다. + * + * @return the sortOrdr + */ + public long getSortOrdr() { + return sortOrdr; + } + + /** + * sortOrdr attribute 값을 설정한다. + * + * @param sortOrdr + * the sortOrdr to set + */ + public void setSortOrdr(long sortOrdr) { + this.sortOrdr = sortOrdr; + } + + /** + * searchUseYn attribute를 리턴한다. + * + * @return the searchUseYn + */ + public String getSearchUseYn() { + return searchUseYn; + } + + /** + * searchUseYn attribute 값을 설정한다. + * + * @param searchUseYn + * the searchUseYn to set + */ + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + /** + * pageIndex attribute를 리턴한다. + * + * @return the pageIndex + */ + public int getPageIndex() { + return pageIndex; + } + + /** + * pageIndex attribute 값을 설정한다. + * + * @param pageIndex + * the pageIndex to set + */ + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + /** + * pageUnit attribute를 리턴한다. + * + * @return the pageUnit + */ + public int getPageUnit() { + return pageUnit; + } + + /** + * pageUnit attribute 값을 설정한다. + * + * @param pageUnit + * the pageUnit to set + */ + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + /** + * pageSize attribute를 리턴한다. + * + * @return the pageSize + */ + public int getPageSize() { + return pageSize; + } + + /** + * pageSize attribute 값을 설정한다. + * + * @param pageSize + * the pageSize to set + */ + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + /** + * firstIndex attribute를 리턴한다. + * + * @return the firstIndex + */ + public int getFirstIndex() { + return firstIndex; + } + + /** + * firstIndex attribute 값을 설정한다. + * + * @param firstIndex + * the firstIndex to set + */ + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + /** + * lastIndex attribute를 리턴한다. + * + * @return the lastIndex + */ + public int getLastIndex() { + return lastIndex; + } + + /** + * lastIndex attribute 값을 설정한다. + * + * @param lastIndex + * the lastIndex to set + */ + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + /** + * recordCountPerPage attribute를 리턴한다. + * + * @return the recordCountPerPage + */ + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + /** + * recordCountPerPage attribute 값을 설정한다. + * + * @param recordCountPerPage + * the recordCountPerPage to set + */ + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + + /** + * getRowNo attribute를 리턴한다. + * + * @return the getRowNo + */ + public int getRowNo() { + return rowNo; + } + + /** + * getRowNo attribute 값을 설정한다. + * + * @param getRowNo + * the getRowNo to set + */ + public void setRowNo(int rowNo) { + this.rowNo = rowNo; + } + + /** + * frstRegisterNm attribute를 리턴한다. + * + * @return the frstRegisterNm + */ + public String getFrstRegisterNm() { + return frstRegisterNm; + } + + /** + * frstRegisterNm attribute 값을 설정한다. + * + * @param frstRegisterNm + * the frstRegisterNm to set + */ + public void setFrstRegisterNm(String frstRegisterNm) { + this.frstRegisterNm = frstRegisterNm; + } + + /** + * lastUpdusrNm attribute를 리턴한다. + * + * @return the lastUpdusrNm + */ + public String getLastUpdusrNm() { + return lastUpdusrNm; + } + + /** + * lastUpdusrNm attribute 값을 설정한다. + * + * @param lastUpdusrNm + * the lastUpdusrNm to set + */ + public void setLastUpdusrNm(String lastUpdusrNm) { + this.lastUpdusrNm = lastUpdusrNm; + } + + /** + * menuDc attribute를 리턴한다. + * + * @return the menuDc + */ + public String getMenuDc() { + return menuDc; + } + + /** + * menuDc attribute 값을 설정한다. + * + * @param menuDc + * the menuDc to set + */ + public void setMenuDc(String menuDc) { + this.menuDc = menuDc; + } +} Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/BkmkMenuManageVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/EgovBkmkMenuManageservice.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/EgovBkmkMenuManageservice.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/EgovBkmkMenuManageservice.java (revision 7) @@ -0,0 +1,84 @@ +package egovframework.com.sym.mnu.bmm.service; + +import java.util.List; +import java.util.Map; + + +/** + * 바로가기메뉴관리 정보를 관리하기 위한 서비스 인터페이스 클래스 + * @author 공통컴포넌트팀 윤성록 + * @since 2009.09.25 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.9.25 윤성록 최초 생성 + * + * </pre> + */ +public interface EgovBkmkMenuManageservice { + + /** + * 바로가기메뉴관리 정보를 삭제한다. + * @param BkmkMenuManage + * @return + * @exception Exception + */ + public void deleteBkmkMenuManage(BkmkMenuManage BkmkMenuManage) throws Exception ; + + /** + * 바로가기메뉴관리 정보를 등록한다. + * @param BkmkMenuManage + * @return + * @exception Exception + */ + public void insertBkmkMenuManage(BkmkMenuManage bkmkMenuManage)throws Exception ; + + /** + * 바로가기메뉴관리 정보의 전체목록을 조회한다. + * @param BkmkMenuManage + * @return Map<String, Object> + * @exception Exception + */ + public Map<String, Object> selectBkmkMenuManageList(BkmkMenuManageVO bkmkMenuManageVO) throws Exception ; + + /** + * 바로가기메뉴관리 정보를 조회한다. + * @param BkmkMenuManageVO + * @return BkmkMenuManageVO + * @exception Exception + */ + public BkmkMenuManageVO selectBkmkMenuManageResult(BkmkMenuManageVO bkmkMenuManageVO) throws Exception ; + + /** + * 등록할 메뉴정보 목록을 조회한다. + * @param BkmkMenuManageVO + * @return Map<String, Object> + * @exception Exception + */ + public Map<String, Object> selectMenuList(BkmkMenuManageVO bkmkMenuManageVO) throws Exception; + + /** + * 미리보기를 할 바로가기메뉴관리의 목록을 조회한다. + * + * @param BkmkMenuManageVO + * @return List<MenuManageVO> + * @throws Exception + */ + public List<?> selectBkmkPreviewList(BkmkMenuManageVO bkmkMenuManageVO) throws Exception; + + /** + * 선택된 메뉴의 URL 을 조회한다. + * + * @param bkmkMenuManage + * @return + * @throws Exception + */ + public String selectUrl(BkmkMenuManage bkmkMenuManage) throws Exception; + + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/bmm/service/EgovBkmkMenuManageservice.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/web/EgovMenuCreateManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/mcm/web/EgovMenuCreateManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/mcm/web/EgovMenuCreateManageController.java (revision 7) @@ -0,0 +1,294 @@ +package egovframework.com.sym.mnu.mcm.web; + +import java.util.List; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springmodules.validation.commons.DefaultBeanValidator; + +import egovframework.com.cmm.ComDefaultVO; +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.sym.mnu.mcm.service.EgovMenuCreateManageService; +import egovframework.com.sym.mnu.mcm.service.MenuCreatVO; +import egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +/** + * 메뉴목록 관리및 메뉴생성, 사이트맵 생성을 처리하는 비즈니스 구현 클래스 + * + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see <pre> + * &lt;&lt; 개정이력(Modification Information) &gt;&gt; + * + * 수정일 수정자 수정내용 + * ------------ -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * 2011.07.29 서준식 사이트맵 저장경로 수정 + * 2011.08.26 정진오 IncludedInfo annotation 추가 + * 2013.06.17 이기하 사이트맵 생성시 경로 오류 수정 + * 2018.08.09 신용호 X-XSS 관련 크롬에서 오탐되는 부분 수정 + * 2018.09.10 신용호 selectMenuCreatManagList 불필요한 로직 제거 + * </pre> + */ + +@Controller +public class EgovMenuCreateManageController { + + /* Validator */ + @Autowired + private DefaultBeanValidator beanValidator; + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** EgovMenuManageService */ + @Resource(name = "meunCreateManageService") + private EgovMenuCreateManageService menuCreateManageService; + + /** EgovMessageSource */ + @Resource(name = "egovMessageSource") + EgovMessageSource egovMessageSource; + + /*********** 메뉴 생성 관리 ***************/ + + /** + * *메뉴생성목록을 조회한다. + * + * @param searchVO + * ComDefaultVO + * @return 출력페이지정보 "sym/mnu/mcm/EgovMenuCreatManage" + * @exception Exception + */ + @IncludedInfo(name = "메뉴생성관리", order = 1100, gid = 60) + @RequestMapping(value = "/sym/mnu/mcm/EgovMenuCreatManageSelect.do") + public String selectMenuCreatManagList(@ModelAttribute("searchVO") ComDefaultVO searchVO, ModelMap model) throws Exception { + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + // 내역 조회 + /** EgovPropertyService.sample */ + searchVO.setPageUnit(propertiesService.getInt("pageUnit")); + searchVO.setPageSize(propertiesService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(searchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(searchVO.getPageUnit()); + paginationInfo.setPageSize(searchVO.getPageSize()); + + searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + searchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + /* + if (searchVO.getSearchKeyword() != null && !searchVO.getSearchKeyword().equals("")) { + + int IDcnt = menuCreateManageService.selectUsrByPk(searchVO); + if (IDcnt == 0) { + resultMsg = egovMessageSource.getMessage("info.nodata.msg"); + } else { + // AuthorCode 검색 + MenuCreatVO vo = new MenuCreatVO(); + vo = menuCreateManageService.selectAuthorByUsr(searchVO); + searchVO.setSearchKeyword(vo.getAuthorCode()); + } + } + */ + List<?> list_menumanage = menuCreateManageService.selectMenuCreatManagList(searchVO); + if ( list_menumanage.size() == 0 ) + resultMsg = egovMessageSource.getMessage("info.nodata.msg"); + model.addAttribute("list_menumanage", list_menumanage); + + int totCnt = menuCreateManageService.selectMenuCreatManagTotCnt(searchVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("resultMsg", resultMsg); + return "egovframework/com/sym/mnu/mcm/EgovMenuCreatManage"; + } + + /* 메뉴생성 세부조회 */ + /** + * 메뉴생성 세부화면을 조회한다. + * + * @param menuCreatVO + * MenuCreatVO + * @return 출력페이지정보 "sym/mnu/mcm/EgovMenuCreat" + * @exception Exception + */ + @RequestMapping(value = "/sym/mnu/mcm/EgovMenuCreatSelect.do") + public String selectMenuCreatList(@ModelAttribute("menuCreatVO") MenuCreatVO menuCreatVO, ModelMap model) throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + List<?> list_menulist = menuCreateManageService.selectMenuCreatList(menuCreatVO); + model.addAttribute("list_menulist", list_menulist); + model.addAttribute("resultVO", menuCreatVO); + + return "egovframework/com/sym/mnu/mcm/EgovMenuCreat"; + } + + /** + * 메뉴생성처리 및 메뉴생성내역을 등록한다. + * + * @param checkedAuthorForInsert + * String + * @param checkedMenuNoForInsert + * String + * @return 출력페이지정보 등록처리시 "forward:/sym/mnu/mcm/EgovMenuCreatSelect.do" + * @exception Exception + */ + @RequestMapping("/sym/mnu/mcm/EgovMenuCreatInsert.do") + public String insertMenuCreatList(@RequestParam("checkedAuthorForInsert") String checkedAuthorForInsert, @RequestParam("checkedMenuNoForInsert") String checkedMenuNoForInsert, + @ModelAttribute("menuCreatVO") MenuCreatVO menuCreatVO, ModelMap model) throws Exception { + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + String[] insertMenuNo = checkedMenuNoForInsert.split(","); + if (insertMenuNo == null || (insertMenuNo.length == 0)) { + resultMsg = egovMessageSource.getMessage("fail.common.insert"); + } else { + menuCreateManageService.insertMenuCreatList(checkedAuthorForInsert, checkedMenuNoForInsert); + resultMsg = egovMessageSource.getMessage("success.common.insert"); + } + model.addAttribute("resultMsg", resultMsg); + return "forward:/sym/mnu/mcm/EgovMenuCreatSelect.do"; + } + + /* 메뉴사이트맵 생성조회 */ + /** + * 메뉴사이트맵을 생성할 내용을 조회한다. + * + * @param menuSiteMapVO + * MenuSiteMapVO + * @return 출력페이지정보 등록처리시 "sym/mnu/mcm/EgovMenuCreatSiteMap" + * @exception Exception + */ + @RequestMapping(value = "/sym/mnu/mcm/EgovMenuCreatSiteMapSelect.do") + public String selectMenuCreatSiteMap(@ModelAttribute("menuSiteMapVO") MenuSiteMapVO menuSiteMapVO, ModelMap model) throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + List<?> list_menulist = menuCreateManageService.selectMenuCreatSiteMapList(menuSiteMapVO); + model.addAttribute("list_menulist", list_menulist); + LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + menuSiteMapVO.setCreatPersonId(user == null ? "" : EgovStringUtil.isNullToString(user.getId())); + model.addAttribute("resultVO", menuSiteMapVO); + return "egovframework/com/sym/mnu/mcm/EgovMenuCreatSiteMap"; + } + + /** + * 메뉴사이트맵 생성처리 및 사이트맵을 등록한다. + * + * @param menuSiteMapVO + * MenuSiteMapVO + * @param valueHtml + * String + * @return 출력페이지정보 "sym/mnu/mcm/EgovMenuCreatSiteMap" + * @exception Exception + */ + @RequestMapping(value = "/sym/mnu/mcm/EgovMenuCreatSiteMapInsert.do") + public String selectMenuCreatSiteMapInsert(@ModelAttribute("menuSiteMapVO") MenuSiteMapVO menuSiteMapVO, @RequestParam("valueHtml") String valueHtml, ModelMap model + ,HttpServletResponse response) + throws Exception { + boolean chkCreat = false; + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + /*menuSiteMapVO.setTmpRootPath(EgovProperties.RELATIVE_PATH_PREFIX + + ".." + System.getProperty("file.separator") + ".." + + System.getProperty("file.separator") + "..");*/ + + /* 사이트맵 파일 생성 위치 지정 */ + //String currentPath = EgovMenuCreateManageController.class.getResource("").getPath(); + String currentPath = EgovMenuCreateManageController.class.getProtectionDomain().getCodeSource() == null ? "" : EgovStringUtil.isNullToString(EgovMenuCreateManageController.class.getProtectionDomain().getCodeSource().getLocation().getPath()); + //System.out.println("===>>> currentPath = "+currentPath); + String path = currentPath.substring(0, currentPath.lastIndexOf("WEB-INF")); + menuSiteMapVO.setTmpRootPath(path); + menuSiteMapVO.setBndeFilePath("/html/egovframework/com/sym/mnu/mcm/"); + //System.out.println("===>>> path = "+path); + //System.out.println("===>>> menuSiteMapVO.getMapCreatId() = "+menuSiteMapVO.getMapCreatId()); + + /* + * 사이트맵 파일 생성 위치 지정 if ("WINDOWS".equals(Globals.OS_TYPE)) { + * menuSiteMapVO + * .setTmp_rootPath("D:/egovframework/workspace/egovcmm/src/main/webapp" + * ); }else{menuSiteMapVO.setTmp_rootPath( + * "/product/jeus/webhome/was_com/egovframework-com-1_0/egovframework-com-1_0_war___" + * ); } + */ + chkCreat = menuCreateManageService.creatSiteMap(menuSiteMapVO, valueHtml); + if (!chkCreat) { + resultMsg = egovMessageSource.getMessage("fail.common.insert"); + } else { + resultMsg = egovMessageSource.getMessage("success.common.insert"); + } + List<?> list_menulist = menuCreateManageService.selectMenuCreatSiteMapList(menuSiteMapVO); + + model.addAttribute("list_menulist", list_menulist); + model.addAttribute("resultVO", menuSiteMapVO); + model.addAttribute("resultMsg", resultMsg); + + return "egovframework/com/sym/mnu/mcm/EgovMenuCreatSiteMap"; + } + + /* 메뉴사이트맵 생성조회 */ + /** + * 메뉴사이트맵을 생성할 내용을 조회한다. + * + * @param menuSiteMapVO + * MenuSiteMapVO + * @return 출력페이지정보 등록처리시 "sym/mnu/mcm/EgovMenuCreatSiteMap" + * @exception Exception + */ + @RequestMapping(value = "/sym/mnu/mcm/EgovSiteMap.do") + public String selectSiteMap(@ModelAttribute("menuCreatVO") MenuSiteMapVO menuSiteMapVO, ModelMap model) throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + menuSiteMapVO.setCreatPersonId(user == null ? "" : EgovStringUtil.isNullToString(user.getId())); + + List<?> list_menulist = menuCreateManageService.selectSiteMapByUser(menuSiteMapVO); + model.addAttribute("list_menulist", list_menulist); + + model.addAttribute("resultVO", menuSiteMapVO); + return "egovframework/com/sym/mnu/mcm/EgovSiteMap"; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/web/EgovMenuCreateManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/impl/EgovMenuCreateManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/impl/EgovMenuCreateManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/impl/EgovMenuCreateManageServiceImpl.java (revision 7) @@ -0,0 +1,216 @@ +package egovframework.com.sym.mnu.mcm.service.impl; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.List; + +import egovframework.com.cmm.ComDefaultVO; +import egovframework.com.cmm.EgovWebUtil; +import egovframework.com.cmm.util.EgovResourceCloseHelper; +import egovframework.com.sym.mnu.mcm.service.EgovMenuCreateManageService; +import egovframework.com.sym.mnu.mcm.service.MenuCreatVO; +import egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +/** + * 메뉴목록, 사이트맵 생성을 처리하는 비즈니스 구현 클래스를 정의한다. + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * 2011.07.01 서준식 EgovMenuManageServiceImpl에서 메뉴 생성 관련 부분 분리 + * 2011.10.07 이기하 finally문을 추가하여 에러시 자원반환할 수 있도록 추가 + * 2011.10.12 이기하 사이트맵 생성시 특수문자 치환 + * + * + * </pre> + */ +@Service("meunCreateManageService") +public class EgovMenuCreateManageServiceImpl extends EgovAbstractServiceImpl implements EgovMenuCreateManageService { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovMenuCreateManageServiceImpl.class); + + @Resource(name = "menuCreateManageDAO") + private MenuCreateManageDAO menuCreateManageDAO; + + /** + * ID 존재여부를 조회 + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + public int selectUsrByPk(ComDefaultVO vo) throws Exception { + return menuCreateManageDAO.selectUsrByPk(vo); + } + + /** + * 메뉴생성 내역을 조회 + * @param vo MenuCreatVO + * @return List + * @exception Exception + */ + public List<?> selectMenuCreatList(MenuCreatVO vo) throws Exception { + return menuCreateManageDAO.selectMenuCreatList(vo); + } + + /** + * 화면에 조회된 메뉴정보로 메뉴생성내역 데이터베이스에서 입력 + * @param checkedAuthorForInsert String + * @param checkedMenuNoForInsert String + * @exception Exception + */ + public void insertMenuCreatList(String checkedAuthorForInsert, String checkedMenuNoForInsert) throws Exception { + MenuCreatVO menuCreatVO = null; + int AuthorCnt = 0; + String[] insertMenuNo = checkedMenuNoForInsert.split(","); + + String insertAuthor = checkedAuthorForInsert; + menuCreatVO = new MenuCreatVO(); + menuCreatVO.setAuthorCode(insertAuthor); + AuthorCnt = menuCreateManageDAO.selectMenuCreatCnt(menuCreatVO); + + // 이전에 존재하는 권한코드에 대한 메뉴설정내역 삭제 + if (AuthorCnt > 0) { + menuCreateManageDAO.deleteMenuCreat(menuCreatVO); + } + for (int i = 0; i < insertMenuNo.length; i++) { + menuCreatVO.setAuthorCode(insertAuthor); + menuCreatVO.setMenuNo(Integer.parseInt(insertMenuNo[i])); + menuCreateManageDAO.insertMenuCreat(menuCreatVO); + } + } + + /** + * 메뉴생성관리 목록을 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + public List<?> selectMenuCreatManagList(ComDefaultVO vo) throws Exception { + return menuCreateManageDAO.selectMenuCreatManagList(vo); + } + + /** + * ID에 대한 권한코드를 조회 + * @param vo ComDefaultVO + * @return MenuCreatVO + * @exception Exception + */ + public MenuCreatVO selectAuthorByUsr(ComDefaultVO vo) throws Exception { + return menuCreateManageDAO.selectAuthorByUsr(vo); + } + + /** + * 메뉴생성관리 총건수를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + public int selectMenuCreatManagTotCnt(ComDefaultVO vo) throws Exception { + return menuCreateManageDAO.selectMenuCreatManagTotCnt(vo); + } + + /** + * 메뉴생성 사이트맵 내용 조회 + * @param vo MenuSiteMapVO + * @return List + * @exception Exception + */ + public List<?> selectMenuCreatSiteMapList(MenuSiteMapVO vo) throws Exception { + return menuCreateManageDAO.selectMenuCreatSiteMapList(vo); + } + + /** + * 사용자 권한별 사이트맵 내용 조회 + * @param vo MenuSiteMapVO + * @return List + * @exception Exception + */ + public List<?> selectSiteMapByUser(MenuSiteMapVO vo) throws Exception { + return menuCreateManageDAO.selectSiteMapByUser(vo); + } + + /** + * 사이트맵 등록 + * @param menuSiteMapvo MenuSiteMapVO + * @param vHtmlValue String + * @return boolean + * @exception Exception + */ + public boolean creatSiteMap(MenuSiteMapVO menuSiteMapvo, String vHtmlValue) throws Exception { + boolean chkCreat = false; + String vSiteMapName = null; + int SiteMapCnt = 0; + //String newMapCreatId = null; + MenuCreatVO menuCreatVO = new MenuCreatVO(); + + menuCreatVO.setMenuNo(menuSiteMapvo.getMenuNo()); + menuCreatVO.setAuthorCode(menuSiteMapvo.getAuthorCode()); + //vSiteMapName = menuSiteMapvo.getTmp_rootPath()+"/"+menuSiteMapvo.getBndeFileNm(); + vSiteMapName = menuSiteMapvo.getTmpRootPath() + menuSiteMapvo.getBndeFilePath() + menuSiteMapvo.getBndeFileNm(); + chkCreat = siteMapCreat(vSiteMapName, vHtmlValue); + if (chkCreat) { + SiteMapCnt = menuCreateManageDAO.selectSiteMapCnt(menuSiteMapvo); + if (SiteMapCnt > 0) { + menuCreatVO.setMapCreatId(menuSiteMapvo.getMapCreatId() + Integer.toString(SiteMapCnt)); + menuSiteMapvo.setMapCreatId(menuSiteMapvo.getMapCreatId() + Integer.toString(SiteMapCnt)); + } else { + menuCreatVO.setMapCreatId(menuSiteMapvo.getMapCreatId()); + } + menuCreateManageDAO.creatSiteMap(menuSiteMapvo); + menuCreateManageDAO.updateMenuCreat(menuCreatVO); + + } + return chkCreat; + } + + /** + * 메뉴생성 사이트맵 Html 파일 생성 + * @param vSiteMapName String + * @param vHtmlValue String + * @return boolean + * @exception Exception + */ + private boolean siteMapCreat(String vSiteMapName, String vHtmlValue) throws Exception { + boolean success = false; + String FileName = null; + char FILE_SEPARATOR = File.separatorChar; + BufferedWriter out = null; + try { + FileName = vSiteMapName.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File file = new File(EgovWebUtil.filePathBlackList(FileName)); + out = new BufferedWriter(new FileWriter(file)); + + // 사이트맵 생성시 특수문자 치환 + vHtmlValue = vHtmlValue.replaceAll("&lt;", "<"); + vHtmlValue = vHtmlValue.replaceAll("&gt;", ">"); + vHtmlValue = vHtmlValue.replaceAll("&quot;", "\""); + vHtmlValue = vHtmlValue.replaceAll("&apos;", "'"); + + out.write(vHtmlValue); + success = true; + } catch (IOException e) { + LOGGER.error("IOException", e); + } finally { + EgovResourceCloseHelper.close(out); + } + + return success; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/impl/EgovMenuCreateManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/impl/MenuCreateManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/impl/MenuCreateManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/impl/MenuCreateManageDAO.java (revision 7) @@ -0,0 +1,166 @@ +package egovframework.com.sym.mnu.mcm.service.impl; + +import java.util.List; + +import egovframework.com.cmm.ComDefaultVO; +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sym.mnu.mcm.service.MenuCreatVO; +import egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO; + +import org.springframework.stereotype.Repository; + +/** + * 메뉴생성, 사이트맵 생성에 대한 DAO 클래스를 정의한다. * + * @author 공통컴포넌트 개발팀 서준식 + * @since 2011.06.30 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2011.06.30 서 준 식 최초 생성(MenuManageDAO 클래스로 부터 분리 + * 메소드들을 MenuManageDAO 클래스에서 분리해옮) + * + * </pre> + */ + +@Repository("menuCreateManageDAO") +public class MenuCreateManageDAO extends EgovComAbstractDAO{ + + + + /** + * ID 존재여부를 조회 + * @param vo MenuManageVO + * @return int + * @exception Exception + */ + public int selectUsrByPk(ComDefaultVO vo) throws Exception{ + return (Integer)selectOne("menuManageDAO.selectUsrByPk", vo); + } + + /** + * ID에 대한 권한코드를 조회 + * @param vo MenuCreatVO + * @return int + * @exception Exception + */ + public MenuCreatVO selectAuthorByUsr(ComDefaultVO vo) throws Exception{ + return (MenuCreatVO)selectOne("menuManageDAO.selectAuthorByUsr", vo); + } + + /** + * 메뉴생성관리 내역을 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + public List<?> selectMenuCreatManagList(ComDefaultVO vo) throws Exception{ + return selectList("menuManageDAO.selectMenuCreatManageList_D", vo); + } + + /** + * 메뉴생성관리 총건수를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + public int selectMenuCreatManagTotCnt(ComDefaultVO vo) { + return (Integer)selectOne("menuManageDAO.selectMenuCreatManageTotCnt_S", vo); + } + + /*********** 메뉴 생성 관리 ***************/ + /** + * 메뉴생성 내역을 조회 + * @param vo MenuCreatVO + * @return List + * @exception Exception + */ + public List<?> selectMenuCreatList(MenuCreatVO vo) throws Exception{ + return selectList("menuManageDAO.selectMenuCreatList_D", vo); + } + + /** + * 메뉴생성내역 등록 + * @param vo MenuCreatVO + * @exception Exception + */ + public void insertMenuCreat(MenuCreatVO vo){ + insert("menuManageDAO.insertMenuCreat_S", vo); + } + + /** + * 메뉴생성 사이트맵 내용 조회 + * @param vo MenuSiteMapVO + * @return List + * @exception Exception + */ + public List<?> selectMenuCreatSiteMapList(MenuSiteMapVO vo) throws Exception{ + return selectList("menuManageDAO.selectMenuCreatSiteMapList_D", vo); + } + + + + /** + * 사이트맵 등록 + * @param vo MenuSiteMapVO + * @exception Exception + */ + public void creatSiteMap(MenuSiteMapVO vo){ + insert("menuManageDAO.insertSiteMap_S", vo); + } + + /** + * 사용자 권한별 사이트맵 내용 조회 + * @param vo MenuSiteMapVO + * @return List + * @exception Exception + */ + public List<?> selectSiteMapByUser(MenuSiteMapVO vo) throws Exception{ + return selectList("menuManageDAO.selectSiteMapByUser", vo); + } + + /** + * 메뉴생성내역 존재여부 조회한다. + * @param vo MenuCreatVO + * @return int + * @exception Exception + */ + public int selectMenuCreatCnt(MenuCreatVO vo) { + return (Integer)selectOne("menuManageDAO.selectMenuCreatCnt_S", vo); + } + + + /** + * 메뉴생성내역 수정 + * @param vo MenuCreatVO + * @exception Exception + */ + public void updateMenuCreat(MenuCreatVO vo){ + update("menuManageDAO.updateMenuCreat_S", vo); + } + + + /** + * 메뉴생성내역 삭제 + * @param vo MenuCreatVO + * @exception Exception + */ + public void deleteMenuCreat(MenuCreatVO vo){ + delete("menuManageDAO.deleteMenuCreat_S", vo); + } + + /** + * 사이트맵 존재여부 조회한다. + * @param vo MenuSiteMapVO + * @return int + * @exception Exception + */ + public int selectSiteMapCnt(MenuSiteMapVO vo) { + return (Integer)selectOne("menuManageDAO.selectSiteMapCnt_S", vo); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/impl/MenuCreateManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuSiteMapVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuSiteMapVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuSiteMapVO.java (revision 7) @@ -0,0 +1,321 @@ +package egovframework.com.sym.mnu.mcm.service; +/** + * 사이트맵/메인메뉴 처리를 위한 VO 클래스르를 정의한다 + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * + * </pre> + */ + +public class MenuSiteMapVO{ + + /** 메뉴번호 */ + private int menuNo; + + /* 사이트맵 */ + /** 생성자ID **/ + private String creatPersonId; + /** 맵생성ID */ + private String mapCreatId; + /** 맵파일명 */ + private String bndeFileNm; + /** 맵파일경로 */ + private String bndeFilePath; + + /* 권한정보설정 */ + /** 권한코드 */ + private String authorCode; + /** 권한명 */ + private String authorNm; + /** 권한설명 */ + private String authorDc; + /** 권한생성일자 */ + private String authorCreatDe; + + /* 기타VO변수 */ + /** rootPath Temp */ + private String tmpRootPath; + +/* Login 메뉴관련 VO변수 */ + /** tmp_Id */ + private String tmpId; + /** tmp_Password */ + private String tmpPassword; + /** tmp_Name */ + private String tmpName; + /** tmp_UserSe */ + private String tmpUserSe; + /** tmp_Email */ + private String tmpEmail; + /** tmp_OrgnztId */ + private String tmpOrgnztId; + /** tmp_UniqId */ + private String tmpUniqId; + /** tmp_Cmd */ + private String tmpCmd; + + /** + * menuNo attribute를 리턴한다. + * @return int + */ + public int getMenuNo() { + return menuNo; + } + /** + * menuNo attribute 값을 설정한다. + * @param menuNo int + */ + public void setMenuNo(int menuNo) { + this.menuNo = menuNo; + } + /** + * creatPersonId attribute를 리턴한다. + * @return String + */ + public String getCreatPersonId() { + return creatPersonId; + } + /** + * creatPersonId attribute 값을 설정한다. + * @param creatPersonId String + */ + public void setCreatPersonId(String creatPersonId) { + this.creatPersonId = creatPersonId; + } + /** + * mapCreatId attribute를 리턴한다. + * @return String + */ + public String getMapCreatId() { + return mapCreatId; + } + /** + * mapCreatId attribute 값을 설정한다. + * @param mapCreatId String + */ + public void setMapCreatId(String mapCreatId) { + this.mapCreatId = mapCreatId; + } + /** + * bndeFileNm attribute를 리턴한다. + * @return String + */ + public String getBndeFileNm() { + return bndeFileNm; + } + /** + * bndeFileNm attribute 값을 설정한다. + * @param bndeFileNm String + */ + public void setBndeFileNm(String bndeFileNm) { + this.bndeFileNm = bndeFileNm; + } + /** + * bndeFilePath attribute를 리턴한다. + * @return String + */ + public String getBndeFilePath() { + return bndeFilePath; + } + /** + * bndeFilePath attribute 값을 설정한다. + * @param bndeFilePath String + */ + public void setBndeFilePath(String bndeFilePath) { + this.bndeFilePath = bndeFilePath; + } + /** + * authorCode attribute를 리턴한다. + * @return String + */ + public String getAuthorCode() { + return authorCode; + } + /** + * authorCode attribute 값을 설정한다. + * @param authorCode String + */ + public void setAuthorCode(String authorCode) { + this.authorCode = authorCode; + } + /** + * authorNm attribute를 리턴한다. + * @return String + */ + public String getAuthorNm() { + return authorNm; + } + /** + * authorNm attribute 값을 설정한다. + * @param authorNm String + */ + public void setAuthorNm(String authorNm) { + this.authorNm = authorNm; + } + /** + * authorDc attribute를 리턴한다. + * @return String + */ + public String getAuthorDc() { + return authorDc; + } + /** + * authorDc attribute 값을 설정한다. + * @param authorDc String + */ + public void setAuthorDc(String authorDc) { + this.authorDc = authorDc; + } + /** + * authorCreatDe attribute를 리턴한다. + * @return String + */ + public String getAuthorCreatDe() { + return authorCreatDe; + } + /** + * authorCreatDe attribute 값을 설정한다. + * @param authorCreatDe String + */ + public void setAuthorCreatDe(String authorCreatDe) { + this.authorCreatDe = authorCreatDe; + } + + /** + * tmp_Id attribute를 리턴한다. + * @return String + */ + public String getTmpId() { + return tmpId; + } + /** + * tmp_Id attribute 값을 설정한다. + * @param tmp_Id String + */ + public void setTmpId(String tmp_Id) { + this.tmpId = tmp_Id; + } + /** + * tmp_Password attribute를 리턴한다. + * @return String + */ + public String getTmpPassword() { + return tmpPassword; + } + /** + * tmp_Password attribute 값을 설정한다. + * @param tmp_Password String + */ + public void setTmpPassword(String tmp_Password) { + this.tmpPassword = tmp_Password; + } + /** + * tmp_Name attribute를 리턴한다. + * @return String + */ + public String getTmpName() { + return tmpName; + } + /** + * tmp_Name attribute 값을 설정한다. + * @param tmp_Name String + */ + public void setTmpName(String tmp_Name) { + this.tmpName = tmp_Name; + } + /** + * tmp_UserSe attribute를 리턴한다. + * @return String + */ + public String getTmpUserSe() { + return tmpUserSe; + } + /** + * tmp_UserSe attribute 값을 설정한다. + * @param tmp_UserSe String + */ + public void setTmpUserSe(String tmp_UserSe) { + this.tmpUserSe = tmp_UserSe; + } + /** + * tmp_Email attribute를 리턴한다. + * @return String + */ + public String getTmpEmail() { + return tmpEmail; + } + /** + * tmp_Email attribute 값을 설정한다. + * @param tmp_Email String + */ + public void setTmpEmail(String tmp_Email) { + this.tmpEmail = tmp_Email; + } + /** + * tmp_OrgnztId attribute를 리턴한다. + * @return String + */ + public String getTmpOrgnztId() { + return tmpOrgnztId; + } + /** + * tmp_OrgnztId attribute 값을 설정한다. + * @param tmp_OrgnztId String + */ + public void setTmpOrgnztId(String tmp_OrgnztId) { + this.tmpOrgnztId = tmp_OrgnztId; + } + /** + * tmp_UniqId attribute를 리턴한다. + * @return String + */ + public String getTmpUniqId() { + return tmpUniqId; + } + /** + * tmp_UniqId attribute 값을 설정한다. + * @param tmp_UniqId String + */ + public void setTmpUniqId(String tmp_UniqId) { + this.tmpUniqId = tmp_UniqId; + } + /** + * tmp_Cmd attribute를 리턴한다. + * @return String + */ + public String getTmpCmd() { + return tmpCmd; + } + /** + * tmp_Cmd attribute 값을 설정한다. + * @param tmp_Cmd String + */ + public void setTmpCmd(String tmp_Cmd) { + this.tmpCmd = tmp_Cmd; + } + + /** + * tmp_rootPath attribute를 리턴한다. + * @return String + */ + public String getTmpRootPath() { + return tmpRootPath; + } + /** + * tmp_rootPath attribute 값을 설정한다. + * @param tmp_rootPath String + */ + public void setTmpRootPath(String tmp_rootPath) { + this.tmpRootPath = tmp_rootPath; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuSiteMapVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/EgovMenuCreateManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/EgovMenuCreateManageService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/EgovMenuCreateManageService.java (revision 7) @@ -0,0 +1,100 @@ +package egovframework.com.sym.mnu.mcm.service; + +import java.util.List; + +import egovframework.com.cmm.ComDefaultVO; + + +/** + * 메뉴관리에 관한 서비스 인터페이스 클래스를 정의한다. + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * + * </pre> + */ +public interface EgovMenuCreateManageService { + + /** + * ID 존재여부를 조회 + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + int selectUsrByPk(ComDefaultVO vo) throws Exception; + + /** + * ID에 대한 권한코드를 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + MenuCreatVO selectAuthorByUsr(ComDefaultVO vo) throws Exception; + + + /** + * 메뉴생성관리 목록을 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + List<?> selectMenuCreatManagList(ComDefaultVO vo) throws Exception; + + /** + * 메뉴생성관리 총건수를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + int selectMenuCreatManagTotCnt(ComDefaultVO vo) throws Exception; + + /** + * 메뉴생성 내역을 조회 + * @param vo MenuCreatVO + * @return List + * @exception Exception + */ + List<?> selectMenuCreatList(MenuCreatVO vo) throws Exception; + + + /** + * 화면에 조회된 메뉴정보로 메뉴생성내역 데이터베이스에서 입력 + * @param checkedScrtyForInsert String + * @param checkedMenuNoForInsert String + * @exception Exception + */ + void insertMenuCreatList(String checkedScrtyForInsert, String checkedMenuNoForInsert) throws Exception; + + /** + * 메뉴생성 사이트맵 내용 조회 + * @param vo MenuSiteMapVO + * @return List + * @exception Exception + */ + List<?> selectMenuCreatSiteMapList(MenuSiteMapVO vo) throws Exception; + + /** + * 사용자 권한별 사이트맵 내용 조회 + * @param vo MenuSiteMapVO + * @return List + * @exception Exception + */ + List<?> selectSiteMapByUser(MenuSiteMapVO vo) throws Exception; + + /** + * 사이트맵 등록 + * @param vo MenuSiteMapVO + * @param vHtmlValue String + * @return boolean + * @exception Exception + */ + boolean creatSiteMap(MenuSiteMapVO vo, String vHtmlValue) throws Exception; +} Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/EgovMenuCreateManageService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuCreat.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuCreat.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuCreat.java (revision 7) @@ -0,0 +1,44 @@ +package egovframework.com.sym.mnu.mcm.service; + +/** + * 메뉴생성 생성을 위한 모델 클래스를 정의한다. + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * + * </pre> + */ +public class MenuCreat{ + /** 메뉴번호 */ + private int menuNo; + /** 맵생성ID */ + private String mapCreatId; + /** 권한코드 */ + private String authorCode; + public int getMenuNo() { + return menuNo; + } + public void setMenuNo(int menuNo) { + this.menuNo = menuNo; + } + public String getMapCreatId() { + return mapCreatId; + } + public void setMapCreatId(String mapCreatId) { + this.mapCreatId = mapCreatId; + } + public String getAuthorCode() { + return authorCode; + } + public void setAuthorCode(String authorCode) { + this.authorCode = authorCode; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuCreat.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuSiteMap.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuSiteMap.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuSiteMap.java (revision 7) @@ -0,0 +1,53 @@ +package egovframework.com.sym.mnu.mcm.service; + +/** + * 사이트맵 생성을 위한 클래스를 정의한다 + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * + * </pre> + */ +public class MenuSiteMap{ + public String getCreatPersonId() { + return creatPersonId; + } + public void setCreatPersonId(String creatPersonId) { + this.creatPersonId = creatPersonId; + } + public String getMapCreatId() { + return mapCreatId; + } + public void setMapCreatId(String mapCreatId) { + this.mapCreatId = mapCreatId; + } + public String getBndeFileNm() { + return bndeFileNm; + } + public void setBndeFileNm(String bndeFileNm) { + this.bndeFileNm = bndeFileNm; + } + public String getBndeFilePath() { + return bndeFilePath; + } + public void setBndeFilePath(String bndeFilePath) { + this.bndeFilePath = bndeFilePath; + } + /** 사이트맵 */ + /** 생성자ID **/ + private String creatPersonId; + /** 맵생성ID */ + private String mapCreatId; + /** 맵파일명 */ + private String bndeFileNm; + /** 맵파일경로 */ + private String bndeFilePath; +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuSiteMap.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuCreatVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuCreatVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuCreatVO.java (revision 7) @@ -0,0 +1,142 @@ +package egovframework.com.sym.mnu.mcm.service; + +/** + * 메뉴생성 처리를 위한 VO 클래스르를 정의한다 + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * + * </pre> + */ +public class MenuCreatVO{ + + + /** 메뉴번호 */ + private int menuNo; + /** 맵생성ID */ + private String mapCreatId; + /** 권한코드 */ + private String authorCode; + + /** 권한정보설정 */ + /** 권한명 */ + private String authorNm; + /** 권한설명 */ + private String authorDc; + /** 권한생성일자 */ + private String authorCreatDe; + + /** 기타VO변수 */ + /** 생성자ID **/ + private String creatPersonId; + + + /** + * menuNo attribute를 리턴한다. + * @return int + */ + public int getMenuNo() { + return menuNo; + } + /** + * menuNo attribute 값을 설정한다. + * @param menuNo int + */ + public void setMenuNo(int menuNo) { + this.menuNo = menuNo; + } + /** + * mapCreatId attribute를 리턴한다. + * @return String + */ + public String getMapCreatId() { + return mapCreatId; + } + /** + * mapCreatId attribute 값을 설정한다. + * @param mapCreatId String + */ + public void setMapCreatId(String mapCreatId) { + this.mapCreatId = mapCreatId; + } + /** + * authorCode attribute를 리턴한다. + * @return String + */ + public String getAuthorCode() { + return authorCode; + } + /** + * authorCode attribute 값을 설정한다. + * @param authorCode String + */ + public void setAuthorCode(String authorCode) { + this.authorCode = authorCode; + } + /** + * authorNm attribute를 리턴한다. + * @return String + */ + public String getAuthorNm() { + return authorNm; + } + /** + * authorNm attribute 값을 설정한다. + * @param authorNm String + */ + public void setAuthorNm(String authorNm) { + this.authorNm = authorNm; + } + /** + * authorDc attribute를 리턴한다. + * @return String + */ + public String getAuthorDc() { + return authorDc; + } + /** + * authorDc attribute 값을 설정한다. + * @param authorDc String + */ + public void setAuthorDc(String authorDc) { + this.authorDc = authorDc; + } + /** + * authorCreatDe attribute를 리턴한다. + * @return String + */ + public String getAuthorCreatDe() { + return authorCreatDe; + } + /** + * authorCreatDe attribute 값을 설정한다. + * @param authorCreatDe String + */ + public void setAuthorCreatDe(String authorCreatDe) { + this.authorCreatDe = authorCreatDe; + } + /** + * creatPersonId attribute를 리턴한다. + * @return String + */ + public String getCreatPersonId() { + return creatPersonId; + } + /** + * creatPersonId attribute 값을 설정한다. + * @param creatPersonId String + */ + public void setCreatPersonId(String creatPersonId) { + this.creatPersonId = creatPersonId; + } + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/mcm/service/MenuCreatVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/mpm/web/EgovMenuManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/mpm/web/EgovMenuManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/mpm/web/EgovMenuManageController.java (revision 7) @@ -0,0 +1,625 @@ +package egovframework.com.sym.mnu.mpm.web; + +import java.io.IOException; +import java.io.InputStream; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.util.WebUtils; +import org.springmodules.validation.commons.DefaultBeanValidator; + +import egovframework.com.cmm.ComDefaultVO; +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.sym.mnu.mpm.service.EgovMenuManageService; +import egovframework.com.sym.mnu.mpm.service.MenuManageVO; +import egovframework.com.sym.prm.service.EgovProgrmManageService; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +/** + * 메뉴목록 관리및 메뉴생성, 사이트맵 생성을 처리하는 비즈니스 구현 클래스 + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * 2011.07.01 서준식 메뉴정보 삭제시 참조되고 있는 하위 메뉴가 있는지 체크하는 로직 추가 + * 2011.07.27 서준식 deleteMenuManageList() 메서드에서 메뉴 멀티 삭제 버그 수정 + * 2011.08.26 정진오 IncludedInfo annotation 추가 + * 2011.10.07 이기하 보안취약점 수정(파일 업로드시 엑셀파일만 가능하도록 추가) + * 2015.05.28 조정국 메뉴리스트관리 선택시 "정상적으로 조회되었습니다"라는 alert창이 제일 먼저 뜨는것 수정 : 출력메시지 주석처리 + * 2020.11.02 신용호 KISA 보안약점 조치 - 자원해제 + * 2021.02.16 신용호 WebUtils.getNativeRequest(request,MultipartHttpServletRequest.class); + * </pre> + */ + +@Controller +public class EgovMenuManageController { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovMenuManageController.class); + + /* Validator */ + @Autowired + private DefaultBeanValidator beanValidator; + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** EgovMenuManageService */ + @Resource(name = "meunManageService") + private EgovMenuManageService menuManageService; + + /** EgovMenuManageService */ + @Resource(name = "progrmManageService") + private EgovProgrmManageService progrmManageService; + + /** EgovFileMngService */ +// @Resource(name="EgovFileMngService") +// private EgovFileMngService fileMngService; + + /** EgovFileMngUtil */ +// @Resource(name="EgovFileMngUtil") +// private EgovFileMngUtil fileUtil; + +// @Resource(name = "excelZipService") +// private EgovExcelService excelZipService; + + /** EgovMessageSource */ + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + + /** + * 메뉴정보목록을 상세화면 호출 및 상세조회한다. + * @param req_menuNo String + * @return 출력페이지정보 "sym/mnu/mpm/EgovMenuDetailSelectUpdt" + * @exception Exception + */ + @RequestMapping(value="/sym/mnu/mpm/EgovMenuManageListDetailSelect.do") + public String selectMenuManage( + @RequestParam("req_menuNo") String req_menuNo , + @ModelAttribute("searchVO") ComDefaultVO searchVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + searchVO.setSearchKeyword(req_menuNo); + + MenuManageVO resultVO = menuManageService.selectMenuManage(searchVO); + model.addAttribute("menuManageVO", resultVO); + + return "egovframework/com/sym/mnu/mpm/EgovMenuDetailSelectUpdt"; + } + + /** + * 메뉴목록 리스트조회한다. + * @param searchVO ComDefaultVO + * @return 출력페이지정보 "sym/mnu/mpm/EgovMenuManage" + * @exception Exception + */ + @IncludedInfo(name="메뉴관리리스트", order = 1091 ,gid = 60) + @RequestMapping(value="/sym/mnu/mpm/EgovMenuManageSelect.do") + public String selectMenuManageList( + @ModelAttribute("searchVO") ComDefaultVO searchVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + // 내역 조회 + /** EgovPropertyService.sample */ + searchVO.setPageUnit(propertiesService.getInt("pageUnit")); + searchVO.setPageSize(propertiesService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(searchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(searchVO.getPageUnit()); + paginationInfo.setPageSize(searchVO.getPageSize()); + + searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + searchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List<?> list_menumanage = menuManageService.selectMenuManageList(searchVO); + model.addAttribute("list_menumanage", list_menumanage); + + int totCnt = menuManageService.selectMenuManageListTotCnt(searchVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/mnu/mpm/EgovMenuManage"; + } + + /** + * 메뉴목록 멀티 삭제한다. + * @param checkedMenuNoForDel String + * @return 출력페이지정보 "forward:/sym/mnu/mpm/EgovMenuManageSelect.do" + * @exception Exception + */ + @RequestMapping("/sym/mnu/mpm/EgovMenuManageListDelete.do") + public String deleteMenuManageList( + @RequestParam("checkedMenuNoForDel") String checkedMenuNoForDel , + @ModelAttribute("menuManageVO") MenuManageVO menuManageVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + String sLocationUrl = null; + String resultMsg = ""; + + String [] delMenuNo = checkedMenuNoForDel.split(","); + menuManageVO.setMenuNo(Integer.parseInt(delMenuNo[0])); + + if (menuManageService.selectUpperMenuNoByPk(menuManageVO) != 0){ + resultMsg = egovMessageSource.getMessage("fail.common.delete.upperMenuExist"); + sLocationUrl = "forward:/sym/mnu/mpm/EgovMenuManageSelect.do"; + }else if (delMenuNo == null || (delMenuNo.length ==0)){ + resultMsg = egovMessageSource.getMessage("fail.common.delete"); + sLocationUrl = "forward:/sym/mnu/mpm/EgovMenuManageSelect.do"; + }else{ + menuManageService.deleteMenuManageList(checkedMenuNoForDel); + resultMsg = egovMessageSource.getMessage("success.common.delete"); + sLocationUrl ="forward:/sym/mnu/mpm/EgovMenuManageSelect.do"; + } + model.addAttribute("resultMsg", resultMsg); + return sLocationUrl; + } + + /** + * 메뉴정보를 등록화면으로 이동 및 등록 한다. + * @param menuManageVO MenuManageVO + * @param commandMap Map + * @return 출력페이지정보 등록화면 호출시 "sym/mnu/mpm/EgovMenuRegist", + * 출력페이지정보 등록처리시 "forward:/sym/mnu/mpm/EgovMenuManageSelect.do" + * @exception Exception + */ + @RequestMapping(value="/sym/mnu/mpm/EgovMenuRegistInsert.do") + public String insertMenuManage( + @RequestParam Map<?, ?> commandMap, + @ModelAttribute("menuManageVO") MenuManageVO menuManageVO, + BindingResult bindingResult, + ModelMap model) + throws Exception { + String sLocationUrl = null; + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + String sCmd = commandMap.get("cmd") == null ? "" : (String)commandMap.get("cmd"); + if(sCmd.equals("insert")){ + beanValidator.validate(menuManageVO, bindingResult); + if (bindingResult.hasErrors()){ + sLocationUrl = "egovframework/com/sym/mnu/mpm/EgovMenuRegist"; + return sLocationUrl; + } + if(menuManageService.selectMenuNoByPk(menuManageVO) == 0){ + ComDefaultVO searchVO = new ComDefaultVO(); + searchVO.setSearchKeyword(menuManageVO.getProgrmFileNm()); + if(progrmManageService.selectProgrmNMTotCnt(searchVO)==0){ + resultMsg = egovMessageSource.getMessage("fail.common.insert"); + sLocationUrl = "egovframework/com/sym/mnu/mpm/EgovMenuRegist"; + }else{ + menuManageService.insertMenuManage(menuManageVO); + resultMsg = egovMessageSource.getMessage("success.common.insert"); + sLocationUrl = "forward:/sym/mnu/mpm/EgovMenuManageSelect.do"; + } + }else{ + resultMsg = egovMessageSource.getMessage("common.isExist.msg"); + sLocationUrl = "egovframework/com/sym/mnu/mpm/EgovMenuRegist"; + } + model.addAttribute("resultMsg", resultMsg); + }else{ + sLocationUrl = "egovframework/com/sym/mnu/mpm/EgovMenuRegist"; + } + return sLocationUrl; + } + + /** + * 메뉴정보를 수정 한다. + * @param menuManageVO MenuManageVO + * @return 출력페이지정보 "forward:/sym/mnu/mpm/EgovMenuManageSelect.do" + * @exception Exception + */ + @RequestMapping(value="/sym/mnu/mpm/EgovMenuDetailSelectUpdt.do") + public String updateMenuManage( + @ModelAttribute("menuManageVO") MenuManageVO menuManageVO, + BindingResult bindingResult, + ModelMap model) + throws Exception { + String sLocationUrl = null; + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + beanValidator.validate(menuManageVO, bindingResult); + if (bindingResult.hasErrors()){ + sLocationUrl = "forward:/sym/mnu/mpm/EgovMenuManageListDetailSelect.do"; + return sLocationUrl; + } + ComDefaultVO searchVO = new ComDefaultVO(); + searchVO.setSearchKeyword(menuManageVO.getProgrmFileNm()); + if(progrmManageService.selectProgrmNMTotCnt(searchVO)==0){ + resultMsg = egovMessageSource.getMessage("fail.common.update"); + sLocationUrl = "forward:/sym/mnu/mpm/EgovMenuManageListDetailSelect.do"; + }else{ + menuManageService.updateMenuManage(menuManageVO); + resultMsg = egovMessageSource.getMessage("success.common.update"); + sLocationUrl = "forward:/sym/mnu/mpm/EgovMenuManageSelect.do"; + } + model.addAttribute("resultMsg", resultMsg); + return sLocationUrl; + } + + /** + * 메뉴정보를 삭제 한다. + * @param menuManageVO MenuManageVO + * @return 출력페이지정보 "forward:/sym/mnu/mpm/EgovMenuManageSelect.do" + * @exception Exception + */ + @RequestMapping(value="/sym/mnu/mpm/EgovMenuManageDelete.do") + public String deleteMenuManage( + @ModelAttribute("menuManageVO") MenuManageVO menuManageVO, + ModelMap model) + throws Exception { + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + if (menuManageService.selectUpperMenuNoByPk(menuManageVO) != 0){ + resultMsg = egovMessageSource.getMessage("fail.common.delete.upperMenuExist"); + model.addAttribute("resultMsg", resultMsg); + return "forward:/sym/mnu/mpm/EgovMenuManageSelect.do"; + } + + menuManageService.deleteMenuManage(menuManageVO); + resultMsg = egovMessageSource.getMessage("success.common.delete"); + String _MenuNm = "%"; + menuManageVO.setMenuNm(_MenuNm); + model.addAttribute("resultMsg", resultMsg); + return "forward:/sym/mnu/mpm/EgovMenuManageSelect.do"; + } + + /** + * 메뉴리스트를 조회한다. + * @param searchVO ComDefaultVO + * @return 출력페이지정보 "sym/mnu/mpm/EgovMenuList" + * @exception Exception + */ + @IncludedInfo(name="메뉴리스트관리", order = 1090 ,gid = 60) + @RequestMapping(value="/sym/mnu/mpm/EgovMenuListSelect.do") + public String selectMenuList( + @ModelAttribute("searchVO") ComDefaultVO searchVO, + ModelMap model) + throws Exception { + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + List<?> list_menulist = menuManageService.selectMenuList(); + resultMsg = egovMessageSource.getMessage("success.common.select"); + model.addAttribute("list_menulist", list_menulist); +// model.addAttribute("resultMsg", resultMsg); + return "egovframework/com/sym/mnu/mpm/EgovMenuList"; + } + + /** + * 메뉴리스트의 메뉴정보를 등록한다. + * @param menuManageVO MenuManageVO + * @return 출력페이지정보 "sym/mnu/mpm/EgovMenuList" + * @exception Exception + */ + @RequestMapping(value="/sym/mnu/mpm/EgovMenuListInsert.do") + public String insertMenuList( + @ModelAttribute("menuManageVO") MenuManageVO menuManageVO, + BindingResult bindingResult, + ModelMap model) + throws Exception { + String sLocationUrl = null; + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + beanValidator.validate(menuManageVO, bindingResult); + if (bindingResult.hasErrors()){ + sLocationUrl = "egovframework/com/sym/mnu/mpm/EgovMenuList"; + return sLocationUrl; + } + + if(menuManageService.selectMenuNoByPk(menuManageVO) == 0){ + ComDefaultVO searchVO = new ComDefaultVO(); + searchVO.setSearchKeyword(menuManageVO.getProgrmFileNm()); + if(progrmManageService.selectProgrmNMTotCnt(searchVO)==0){ + resultMsg = egovMessageSource.getMessage("fail.common.insert"); + sLocationUrl = "forward:/sym/mnu/mpm/EgovMenuListSelect.do"; + }else{ + menuManageService.insertMenuManage(menuManageVO); + resultMsg = egovMessageSource.getMessage("success.common.insert"); + sLocationUrl = "forward:/sym/mnu/mpm/EgovMenuListSelect.do"; + } + }else{ + resultMsg = egovMessageSource.getMessage("common.isExist.msg"); + sLocationUrl = "forward:/sym/mnu/mpm/EgovMenuListSelect.do"; + } + model.addAttribute("resultMsg", resultMsg); + return sLocationUrl; + } + + /** + * 메뉴리스트의 메뉴정보를 수정한다. + * @param menuManageVO MenuManageVO + * @return 출력페이지정보 "sym/mnu/mpm/EgovMenuList" + * @exception Exception + */ + @RequestMapping(value="/sym/mnu/mpm/EgovMenuListUpdt.do") + public String updateMenuList( + @ModelAttribute("menuManageVO") MenuManageVO menuManageVO, + BindingResult bindingResult, + ModelMap model) + throws Exception { + String sLocationUrl = null; + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + beanValidator.validate(menuManageVO, bindingResult); + if (bindingResult.hasErrors()){ + sLocationUrl = "forward:/sym/mnu/mpm/EgovMenuListSelect.do"; + return sLocationUrl; + } + ComDefaultVO searchVO = new ComDefaultVO(); + searchVO.setSearchKeyword(menuManageVO.getProgrmFileNm()); + if(progrmManageService.selectProgrmNMTotCnt(searchVO)==0){ + resultMsg = egovMessageSource.getMessage("fail.common.update"); + sLocationUrl = "forward:/sym/mnu/mpm/EgovMenuListSelect.do"; + }else{ + menuManageService.updateMenuManage(menuManageVO); + resultMsg = egovMessageSource.getMessage("success.common.update"); + sLocationUrl = "forward:/sym/mnu/mpm/EgovMenuListSelect.do"; + } + model.addAttribute("resultMsg", resultMsg); + return sLocationUrl; + } + + /** + * 메뉴리스트의 메뉴정보를 삭제한다. + * @param menuManageVO MenuManageVO + * @return 출력페이지정보 "sym/mnu/mpm/EgovMenuList" + * @exception Exception + */ + @RequestMapping(value="/sym/mnu/mpm/EgovMenuListDelete.do") + public String deleteMenuList( + @ModelAttribute("menuManageVO") MenuManageVO menuManageVO, + BindingResult bindingResult, + ModelMap model) + throws Exception { + String sLocationUrl = null; + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + beanValidator.validate(menuManageVO, bindingResult); + if (bindingResult.hasErrors()){ + sLocationUrl = "egovframework/com/sym/mnu/mpm/EgovMenuList"; + return sLocationUrl; + } + menuManageService.deleteMenuManage(menuManageVO); + resultMsg = egovMessageSource.getMessage("success.common.delete"); + sLocationUrl = "forward:/sym/mnu/mpm/EgovMenuListSelect.do"; + model.addAttribute("resultMsg", resultMsg); + return sLocationUrl; + } + + /** + * 메뉴리스트의 메뉴정보를 이동 메뉴목록을 조회한다. + * @param searchVO ComDefaultVO + * @return 출력페이지정보 "sym/mnu/mpm/EgovMenuMvmn" + * @exception Exception + */ + @RequestMapping(value="/sym/mnu/mpm/EgovMenuListSelectMvmn.do") + public String selectMenuListMvmn( + @ModelAttribute("searchVO") ComDefaultVO searchVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + List<?> list_menulist = menuManageService.selectMenuList(); + model.addAttribute("list_menulist", list_menulist); + return "egovframework/com/sym/mnu/mpm/EgovMenuMvmn"; + } + + /** + * 메뉴리스트의 메뉴정보를 이동 메뉴목록을 조회한다. (New) + * @param searchVO ComDefaultVO + * @return 출력페이지정보 "sym/mnu/mpm/EgovMenuMvmn" + * @exception Exception + */ + @RequestMapping(value="/sym/mnu/mpm/EgovMenuListSelectMvmnNew.do") + public String selectMenuListMvmnNew( + @ModelAttribute("searchVO") ComDefaultVO searchVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + List<?> list_menulist = menuManageService.selectMenuList(); + model.addAttribute("list_menulist", list_menulist); + return "egovframework/com/sym/mnu/mpm/EgovMenuMvmnNew"; + } + + + /*### 일괄처리 프로세스 ###*/ + + /** + * 메뉴생성 일괄삭제프로세스 + * @param menuManageVO MenuManageVO + * @return 출력페이지정보 "sym/mnu/mpm/EgovMenuBndeRegist" + * @exception Exception + */ + @RequestMapping(value="/sym/mnu/mpm/EgovMenuBndeAllDelete.do") + public String menuBndeAllDelete( + @ModelAttribute("menuManageVO") MenuManageVO menuManageVO, + ModelMap model) + throws Exception { + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + menuManageService.menuBndeAllDelete(); + resultMsg = egovMessageSource.getMessage("success.common.delete"); + model.addAttribute("resultMsg", resultMsg); + return "egovframework/com/sym/mnu/mpm/EgovMenuBndeRegist"; + } + + + /** + * 메뉴일괄등록화면 호출 및 메뉴일괄등록처리 프로세스 + * @param commandMap Map + * @param menuManageVO MenuManageVO + * @param request HttpServletRequest + * @return 출력페이지정보 "sym/mnu/mpm/EgovMenuBndeRegist" + * @exception Exception + */ + @RequestMapping(value="/sym/mnu/mpm/EgovMenuBndeRegist.do") + public String menuBndeRegist( + @RequestParam Map<?, ?> commandMap, + final HttpServletRequest request, + @ModelAttribute("menuManageVO") MenuManageVO menuManageVO, + ModelMap model) + throws Exception { + String sLocationUrl = null; + String resultMsg = ""; + String sMessage = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + String sCmd = commandMap.get("cmd") == null ? "" : (String)commandMap.get("cmd"); + if(sCmd.equals("bndeInsert")){ + //final MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; + final MultipartHttpServletRequest multiRequest = WebUtils.getNativeRequest(request,MultipartHttpServletRequest.class); + final Map<String, MultipartFile> files = multiRequest.getFileMap(); + Iterator<Entry<String, MultipartFile>> itr = files.entrySet().iterator(); + MultipartFile file; + while (itr.hasNext()) { + Entry<String, MultipartFile> entry = itr.next(); + file = entry.getValue(); + if (!"".equals(file.getOriginalFilename())) { + // 2011.10.07 업로드 파일에 대한 확장자를 체크 + if (file.getOriginalFilename().endsWith(".xls") + || file.getOriginalFilename().endsWith(".xlsx") + || file.getOriginalFilename().endsWith(".XLS") + || file.getOriginalFilename().endsWith(".XLSX")) { + + if(menuManageService.menuBndeAllDelete()){ + // KISA 보안약점 조치 - 자원해제 + InputStream is = null; + try { + is = file.getInputStream(); + sMessage = menuManageService.menuBndeRegist(menuManageVO, is); + } catch (IOException e) { + throw new IOException(e); + } finally { + is.close(); + } + resultMsg = sMessage; + + }else{ + resultMsg = egovMessageSource.getMessage("fail.common.msg"); + menuManageVO.setTmpCmd("EgovMenuBndeRegist Error!!"); + model.addAttribute("resultVO", menuManageVO); + } + }else{ + LOGGER.info("xls, xlsx 파일 타입만 등록이 가능합니다."); + resultMsg = egovMessageSource.getMessage("fail.common.msg"); + model.addAttribute("resultMsg", resultMsg); + return "egovframework/com/sym/mnu/mpm/EgovMenuBndeRegist"; + } + // *********** 끝 *********** + + }else{ + resultMsg = egovMessageSource.getMessage("fail.common.msg"); + } + file = null; + } + sLocationUrl = "egovframework/com/sym/mnu/mpm/EgovMenuBndeRegist"; + model.addAttribute("resultMsg", resultMsg); + }else{ + sLocationUrl = "egovframework/com/sym/mnu/mpm/EgovMenuBndeRegist"; + } + return sLocationUrl; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/mpm/web/EgovMenuManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/mpm/web/EgovMainMenuManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/mpm/web/EgovMainMenuManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/mpm/web/EgovMainMenuManageController.java (revision 7) @@ -0,0 +1,258 @@ +package egovframework.com.sym.mnu.mpm.web; + +import java.util.List; + +import javax.annotation.Resource; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.sym.mnu.mpm.service.EgovMenuManageService; +import egovframework.com.sym.mnu.mpm.service.MenuManageVO; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.rte.fdl.property.EgovPropertyService; + +/** + * 메인메뉴 해당링크 처리를 하는 비즈니스 구현 클래스 + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * 2011.09.07 서준식 사용자 구분 오류 수정 + * 2015.06.19 조정국 미인증사용자에 대한 보안처리 + * 2018.10.12 이정은 메인페이지 통합(업무, 기업, 일반) + * </pre> + */ + +@Controller +public class EgovMainMenuManageController { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovMainMenuManageController.class); + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** EgovMenuManageService */ + @Resource(name = "meunManageService") + private EgovMenuManageService menuManageService; + + /** EgovFileMngService */ + //@Resource(name="EgovFileMngService") + //private EgovFileMngService fileMngService; + + /** EgovFileMngUtil */ + //@Resource(name="EgovFileMngUtil") + //private EgovFileMngUtil fileUtil; + + /*### 메인작업 ###*/ + /*Main Index 조회*/ + /** + * Main메뉴의 Index를 조회한다. + * @param menuNo String + * @param chkURL String + * @return 출력페이지정보 "menu_index" + * @exception Exception + */ + @RequestMapping(value="/sym/mnu/mpm/EgovMainMenuIndex.do") + public String selectMainMenuIndex( + @ModelAttribute("menuManageVO") MenuManageVO menuManageVO, + @RequestParam("menuNo") String menuNo, + @RequestParam("chkURL") String chkURL, + ModelMap model) + throws Exception { + + int iMenuNo = Integer.parseInt(menuNo); + menuManageVO.setMenuNo(iMenuNo); + //menuManageVO.setTempValue(chkURL); + model.addAttribute("resultVO", menuManageVO); + + return "egovframework/com/menu_index"; + } + + /** + * Head메뉴를 조회한다. + * @param menuManageVO MenuManageVO + * @return 출력페이지정보 "head" + * @exception Exception + */ + @RequestMapping(value="/sym/mnu/mpm/EgovMainMenu.do") + public String selectMainMenu( + @ModelAttribute("menuManageVO") MenuManageVO menuManageVO, + ModelMap model) + throws Exception { + + LoginVO user = + (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + menuManageVO.setTmpId(user == null ? "" : EgovStringUtil.isNullToString(user.getId())); + menuManageVO.setTmpPassword(user == null ? "" : EgovStringUtil.isNullToString(user.getPassword())); + menuManageVO.setTmpUserSe(user == null ? "" : EgovStringUtil.isNullToString(user.getUserSe())); + menuManageVO.setTmpName(user == null ? "" : EgovStringUtil.isNullToString(user.getName())); + menuManageVO.setTmpEmail(user == null ? "" : EgovStringUtil.isNullToString(user.getEmail())); + menuManageVO.setTmpOrgnztId(user == null ? "" : EgovStringUtil.isNullToString(user.getOrgnztId())); + menuManageVO.setTmpUniqId(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + + List<?> list_headmenu = menuManageService.selectMainMenuHead(menuManageVO); + model.addAttribute("list_headmenu", list_headmenu); + if (!(user == null ? "" : EgovStringUtil.isNullToString(user.getId())).equals("")) { + // 메인 페이지 이동 + return "egovframework/com/EgovMainView"; + } else { + // 오류 페이지 이동 + return "egovframework/com/cmm/error/egovError"; + } + } + + /** + * Head메뉴를 조회한다. + * @param menuManageVO MenuManageVO + * @return 출력페이지정보 "main_head" + * @exception Exception + */ + @RequestMapping(value="/sym/mnu/mpm/EgovMainMenuHead.do") + public String selectMainMenuHead( + @ModelAttribute("menuManageVO") MenuManageVO menuManageVO, + ModelMap model) + throws Exception { + + LoginVO user = + (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + menuManageVO.setTmpId(user == null ? "" : EgovStringUtil.isNullToString(user.getId())); + menuManageVO.setTmpPassword(user == null ? "" : EgovStringUtil.isNullToString(user.getPassword())); + menuManageVO.setTmpUserSe(user == null ? "" : EgovStringUtil.isNullToString(user.getUserSe())); + menuManageVO.setTmpName(user == null ? "" : EgovStringUtil.isNullToString(user.getName())); + menuManageVO.setTmpEmail(user == null ? "" : EgovStringUtil.isNullToString(user.getEmail())); + menuManageVO.setTmpOrgnztId(user == null ? "" : EgovStringUtil.isNullToString(user.getOrgnztId())); + menuManageVO.setTmpUniqId(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + + List<?> list_headmenu = menuManageService.selectMainMenuHead(menuManageVO); + model.addAttribute("list_headmenu", list_headmenu); + if (!(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())).equals("")) { + // 메인 페이지 이동 + return "egovframework/com/main_head"; + } else { + // 오류 페이지 이동 + return "egovframework/com/cmm/error/egovError"; + } + } + + + /** + * 좌측메뉴를 조회한다. + * @param menuManageVO MenuManageVO + * @param vStartP String + * @return 출력페이지정보 "main_left" + * @exception Exception + */ + @RequestMapping(value="/sym/mnu/mpm/EgovMainMenuLeft.do") + public String selectMainMenuLeft( + @ModelAttribute("menuManageVO") MenuManageVO menuManageVO, + @RequestParam("vStartP") String vStartP, + ModelMap model) + throws Exception { + int iMenuNo = Integer.parseInt(vStartP); + menuManageVO.setTempInt(iMenuNo); + model.addAttribute("resultVO", menuManageVO); + + LoginVO user = + (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + menuManageVO.setTmpId(user == null ? "" : EgovStringUtil.isNullToString(user.getId())); + menuManageVO.setTmpPassword(user == null ? "" : EgovStringUtil.isNullToString(user.getPassword())); + menuManageVO.setTmpUserSe(user == null ? "" : EgovStringUtil.isNullToString(user.getUserSe())); + menuManageVO.setTmpName(user == null ? "" : EgovStringUtil.isNullToString(user.getName())); + menuManageVO.setTmpEmail(user == null ? "" : EgovStringUtil.isNullToString(user.getEmail())); + menuManageVO.setTmpOrgnztId(user == null ? "" : EgovStringUtil.isNullToString(user.getOrgnztId())); + menuManageVO.setTmpUniqId(user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + + List<?> list_menulist = menuManageService.selectMainMenuLeft(menuManageVO); + model.addAttribute("list_menulist", list_menulist); + return "egovframework/com/main_left"; + } + + /** + * 우측화면을 조회한다. + * @param menuManageVO MenuManageVO + * @param vStartP String + * @return 출력페이지정보 해당URL + * @exception Exception + */ + /*Right Menu 조회*/ + @RequestMapping(value="/sym/mnu/mpm/EgovMainMenuRight.do") + public String selectMainMenuRight( + @ModelAttribute("menuManageVO") MenuManageVO menuManageVO, + @RequestParam("vStartP") String vStartP, + ModelMap model) + throws Exception { + int iMenuNo = Integer.parseInt(vStartP); + LoginVO user = + (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + String forwardURL = null; + forwardURL = menuManageService.selectLastMenuURL(iMenuNo, user == null ? "" : EgovStringUtil.isNullToString(user.getUniqId())); + return "forward:"+forwardURL; + } + + /** + * HOME 메인화면 조회한다. + * @param menuManageVO MenuManageVO + * @return 출력페이지정보 "EgovMainView" + * @exception Exception + */ + @IncludedInfo(name="포털(예제) 메인화면", order = 1, gid = 0) + @RequestMapping(value="/sym/mnu/mpm/EgovMainMenuHome.do") + public String selectMainMenuHome( + @ModelAttribute("menuManageVO") MenuManageVO menuManageVO, + ModelMap model) + throws Exception { + + LoginVO user = + (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + // 미인증 사용자에 대한 보안처리 + if(user == null) { + return "index"; + } + + menuManageVO.setTmpId(user.getId()); + menuManageVO.setTmpPassword(user.getPassword()); + menuManageVO.setTmpUserSe(user.getUserSe()); + menuManageVO.setTmpName(user.getName()); + menuManageVO.setTmpEmail(user.getEmail()); + menuManageVO.setTmpOrgnztId(user.getOrgnztId()); + menuManageVO.setTmpUniqId(user.getUniqId()); + + List<?> list_headmenu = menuManageService.selectMainMenuHead(menuManageVO); + model.addAttribute("list_headmenu", list_headmenu); + + LOGGER.debug("## selectMainMenuHome ## getSUserSe 1: {}", user.getUserSe()); + LOGGER.debug("## selectMainMenuHome ## getSUserId 2: {}", user.getId()); + LOGGER.debug("## selectMainMenuHome ## getUniqId 2: {}", user.getUniqId()); + + if (!user.getId().equals("")) { + // 메인 페이지 이동 + return "egovframework/com/EgovMainView"; + + } else { + // 오류 페이지 이동 + return "egovframework/com/cmm/error/egovError"; + } + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/mpm/web/EgovMainMenuManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/impl/MenuManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/impl/MenuManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/impl/MenuManageDAO.java (revision 7) @@ -0,0 +1,195 @@ +package egovframework.com.sym.mnu.mpm.service.impl; + +import java.util.List; + +import egovframework.com.cmm.ComDefaultVO; +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sym.mnu.mpm.service.MenuManageVO; + +import org.springframework.stereotype.Repository; +/** + * 메뉴관리, 메뉴생성, 사이트맵 생성에 대한 DAO 클래스를 정의한다. + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * 2011.07.01 서준식 자기 메뉴 정보를 상위메뉴 정보로 참조하는 메뉴정보가 있는지 조회하는 + * selectUpperMenuNoByPk() 메서드 추가 + * + * </pre> + */ + +@Repository("menuManageDAO") +public class MenuManageDAO extends EgovComAbstractDAO{ + + /** + * 메뉴목록을 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + public List<?> selectMenuManageList(ComDefaultVO vo) throws Exception{ + return selectList("menuManageDAO.selectMenuManageList_D", vo); + } + + /** + * 메뉴목록관리 총건수를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + public int selectMenuManageListTotCnt(ComDefaultVO vo) { + return (Integer)selectOne("menuManageDAO.selectMenuManageListTotCnt_S", vo); + } + + /** + * 메뉴목록관리 기본정보를 조회 + * @param vo ComDefaultVO + * @return MenuManageVO + * @exception Exception + */ + public MenuManageVO selectMenuManage(ComDefaultVO vo)throws Exception{ + return (MenuManageVO)selectOne("menuManageDAO.selectMenuManage_D", vo); + } + + /** + * 메뉴목록 기본정보를 등록 + * @param vo MenuManageVO + * @exception Exception + */ + public void insertMenuManage(MenuManageVO vo){ + insert("menuManageDAO.insertMenuManage_S", vo); + } + + /** + * 메뉴목록 기본정보를 수정 + * @param vo MenuManageVO + * @exception Exception + */ + public void updateMenuManage(MenuManageVO vo){ + update("menuManageDAO.updateMenuManage_S", vo); + } + + /** + * 메뉴목록 기본정보를 삭제 + * @param vo MenuManageVO + * @exception Exception + */ + public void deleteMenuManage(MenuManageVO vo){ + delete("menuManageDAO.deleteMenuManage_S", vo); + } + + /** + * 메뉴 전체목록을 조회 + * @return list + * @exception Exception + */ + public List<?> selectMenuList() throws Exception{ + ComDefaultVO vo = new ComDefaultVO(); + return selectList("menuManageDAO.selectMenuListT_D", vo); + } + + + /** + * 메뉴번호 존재여부를 조회 + * @param vo MenuManageVO + * @return int + * @exception Exception + */ + public int selectMenuNoByPk(MenuManageVO vo) throws Exception{ + return (Integer)selectOne("menuManageDAO.selectMenuNoByPk", vo); + } + + + + /** + * 메뉴번호를 상위메뉴로 참조하고 있는 메뉴 존재여부를 조회 + * @param vo MenuManageVO + * @return int + * @exception Exception + */ + public int selectUpperMenuNoByPk(MenuManageVO vo) throws Exception{ + return (Integer)selectOne("menuManageDAO.selectUpperMenuNoByPk", vo); + } + + + /** + * 메뉴정보 전체삭제 초기화 + * @return boolean + * @exception Exception + */ + public boolean deleteAllMenuList(){ + MenuManageVO vo = new MenuManageVO(); + insert("menuManageDAO.deleteAllMenuList", vo); + return true; + } + + /** + * 메뉴정보 존재여부 조회한다. + * @return int + * @exception Exception + */ + public int selectMenuListTotCnt() { + MenuManageVO vo = new MenuManageVO(); + return (Integer)selectOne("menuManageDAO.selectMenuListTotCnt", vo); + } + + + /*### 메뉴관련 프로세스 ###*/ + /** + * MainMenu Head Menu 조회 + * @param vo MenuManageVO + * @return List + * @exception Exception + */ + public List<?> selectMainMenuHead(MenuManageVO vo) throws Exception{ + return selectList("menuManageDAO.selectMainMenuHead", vo); + } + + /** + * MainMenu Left Menu 조회 + * @param vo MenuManageVO + * @return List + * @exception Exception + */ + public List<?> selectMainMenuLeft(MenuManageVO vo) throws Exception{ + return selectList("menuManageDAO.selectMainMenuLeft", vo); + } + + /** + * MainMenu Head MenuURL 조회 + * @param vo MenuManageVO + * @return String + * @exception Exception + */ + public String selectLastMenuURL(MenuManageVO vo) throws Exception{ + return (String)selectOne("menuManageDAO.selectLastMenuURL", vo); + } + + /** + * MainMenu Left Menu 조회 + * @param vo MenuManageVO + * @return int + * @exception Exception + */ + public int selectLastMenuNo(MenuManageVO vo) throws Exception{ + return (Integer)selectOne("menuManageDAO.selectLastMenuNo", vo); + } + + /** + * MainMenu Left Menu 조회 + * @param vo MenuManageVO + * @return int + * @exception Exception + */ + public int selectLastMenuNoCnt(MenuManageVO vo) throws Exception{ + return (Integer)selectOne("menuManageDAO.selectLastMenuNoCnt", vo); + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/impl/MenuManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/impl/EgovMenuManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/impl/EgovMenuManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/impl/EgovMenuManageServiceImpl.java (revision 7) @@ -0,0 +1,584 @@ +package egovframework.com.sym.mnu.mpm.service.impl; + +import java.io.InputStream; +import java.sql.SQLException; +import java.util.List; + +import javax.annotation.Resource; + +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.commons.CommonsMultipartResolver; + +import egovframework.com.cmm.ComDefaultVO; +import egovframework.com.sym.mnu.mpm.service.EgovMenuManageService; +import egovframework.com.sym.mnu.mpm.service.MenuManageVO; +import egovframework.com.sym.prm.service.ProgrmManageVO; +import egovframework.com.sym.prm.service.impl.ProgrmManageDAO; +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.fdl.cmmn.exception.BaseException; +import egovframework.rte.fdl.excel.EgovExcelService; + +/** + * 메뉴목록관리, 생성, 사이트맵을 처리하는 비즈니스 구현 클래스를 정의한다. + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * 2011.07.01 서준식 자기 메뉴 정보를 상위메뉴 정보로 참조하는 메뉴정보가 있는지 조회하는 + * selectUpperMenuNoByPk() 메서드 추가 + * 2017-02-13 이정은 시큐어코딩(ES) - 시큐어코딩 부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + * 2019-12-06 신용호 KISA 보안약점 조치 (부적절한 예외처리) + * + * </pre> + */ + +@Service("meunManageService") +public class EgovMenuManageServiceImpl extends EgovAbstractServiceImpl implements EgovMenuManageService { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovMenuManageServiceImpl.class); + + @Resource(name = "menuManageDAO") + private MenuManageDAO menuManageDAO; + @Resource(name = "progrmManageDAO") + private ProgrmManageDAO progrmManageDAO; + @Resource(name = "excelZipService") + private EgovExcelService excelZipService; + + @Resource(name = "multipartResolver") + CommonsMultipartResolver mailmultipartResolver; + + /** + * 메뉴 상세정보를 조회 + * @param vo ComDefaultVO + * @return MenuManageVO + * @exception Exception + */ + public MenuManageVO selectMenuManage(ComDefaultVO vo) throws Exception { + return menuManageDAO.selectMenuManage(vo); + } + + /** + * 메뉴 목록을 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + public List<?> selectMenuManageList(ComDefaultVO vo) throws Exception { + return menuManageDAO.selectMenuManageList(vo); + } + + /** + * 메뉴목록 총건수를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + public int selectMenuManageListTotCnt(ComDefaultVO vo) throws Exception { + return menuManageDAO.selectMenuManageListTotCnt(vo); + } + + /** + * 메뉴번호를 상위메뉴로 참조하고 있는 메뉴 존재여부를 조회 + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + public int selectUpperMenuNoByPk(MenuManageVO vo) throws Exception { + return menuManageDAO.selectUpperMenuNoByPk(vo); + } + + /** + * 메뉴번호 존재 여부를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + public int selectMenuNoByPk(MenuManageVO vo) throws Exception { + return menuManageDAO.selectMenuNoByPk(vo); + } + + /** + * 메뉴 정보를 등록 + * @param vo MenuManageVO + * @exception Exception + */ + public void insertMenuManage(MenuManageVO vo) throws Exception { + menuManageDAO.insertMenuManage(vo); + } + + /** + * 메뉴 정보를 수정 + * @param vo MenuManageVO + * @exception Exception + */ + public void updateMenuManage(MenuManageVO vo) throws Exception { + menuManageDAO.updateMenuManage(vo); + } + + /** + * 메뉴 정보를 삭제 + * @param vo MenuManageVO + * @exception Exception + */ + public void deleteMenuManage(MenuManageVO vo) throws Exception { + menuManageDAO.deleteMenuManage(vo); + } + + /** + * 화면에 조회된 메뉴 목록 정보를 데이터베이스에서 삭제 + * @param checkedMenuNoForDel String + * @exception Exception + */ + public void deleteMenuManageList(String checkedMenuNoForDel) throws Exception { + MenuManageVO vo = null; + + String[] delMenuNo = checkedMenuNoForDel.split(","); + + if (delMenuNo == null || (delMenuNo.length == 0)) { + throw new java.lang.Exception("String Split Error!"); + } + for (int i = 0; i < delMenuNo.length; i++) { + vo = new MenuManageVO(); + vo.setMenuNo(Integer.parseInt(delMenuNo[i])); + menuManageDAO.deleteMenuManage(vo); + } + } + + /* 메뉴 생성 관리 */ + + /** + * 메뉴 목록을 조회 + * @return List + * @exception Exception + */ + public List<?> selectMenuList() throws Exception { + return menuManageDAO.selectMenuList(); + } + + /*### 메뉴관련 프로세스 ###*/ + /** + * MainMenu Head Menu 조회 + * @param vo MenuManageVO + * @return List + * @exception Exception + */ + public List<?> selectMainMenuHead(MenuManageVO vo) throws Exception { + return menuManageDAO.selectMainMenuHead(vo); + } + + /** + * MainMenu Head Left 조회 + * @param vo MenuManageVO + * @return List + * @exception Exception + */ + public List<?> selectMainMenuLeft(MenuManageVO vo) throws Exception { + return menuManageDAO.selectMainMenuLeft(vo); + } + + /** + * MainMenu Head MenuURL 조회 + * @param iMenuNo int + * @param sUniqId String + * @return String + * @exception Exception + */ + public String selectLastMenuURL(int iMenuNo, String sUniqId) throws Exception { + MenuManageVO vo = new MenuManageVO(); + vo.setMenuNo(selectLastMenuNo(iMenuNo, sUniqId)); + return menuManageDAO.selectLastMenuURL(vo); + } + + /** + * MainMenu Head Menu MenuNo 조회 + * @param iMenuNo int + * @param sUniqId String + * @return String + * @exception Exception + */ + private int selectLastMenuNo(int iMenuNo, String sUniqId) throws Exception { + int chkMenuNo = iMenuNo; + int cntMenuNo = 0; + for (; chkMenuNo > -1;) { + chkMenuNo = selectLastMenuNoChk(chkMenuNo, sUniqId); + if (chkMenuNo > 0) { + cntMenuNo = chkMenuNo; + } + } + return cntMenuNo; + } + + /** + * MainMenu Head Menu Last MenuNo 조회 + * @param iMenuNo int + * @param sUniqId String + * @return String + * @exception Exception + */ + private int selectLastMenuNoChk(int iMenuNo, String sUniqId) throws Exception { + MenuManageVO vo = new MenuManageVO(); + vo.setMenuNo(iMenuNo); + vo.setTempValue(sUniqId); + int chkMenuNo = 0; + int cntMenuNo = 0; + cntMenuNo = menuManageDAO.selectLastMenuNoCnt(vo); + if (cntMenuNo > 0) { + chkMenuNo = menuManageDAO.selectLastMenuNo(vo); + } else { + chkMenuNo = -1; + } + return chkMenuNo; + } + + /*### 일괄처리 프로세스 ###*/ + /** + * 메뉴일괄초기화 프로세스 메뉴목록테이블, 프로그램 목록테이블 전체 삭제 + * @return boolean + * @exception Exception + */ + public boolean menuBndeAllDelete() throws Exception { + if (!deleteAllProgrmDtls()) { + return false; + } // 프로그램변경요청 테이블 + if (!deleteAllMenuList()) { + return false; + } // 메뉴정보 테이블 + if (!deleteAllProgrm()) { + return false; + } // 프로그램목록 테이블 + return true; + } + + /** + * 메뉴일괄등록 프로세스 + * @param vo MenuManageVO + * @param inputStream InputStream + * @exception Exception + */ + public String menuBndeRegist(MenuManageVO vo, InputStream inputStream) throws Exception { + + String message = bndeRegist(inputStream); + String sMessage = null; + + switch (Integer.parseInt(message)) { + case 99: + LOGGER.debug("프로그램목록/메뉴정보테이블 데이타 존재오류 - 초기화 하신 후 다시 처리하세요."); + sMessage = "프로그램목록/메뉴정보테이블 데이타 존재오류 - 초기화 하신 후 다시 처리하세요."; + break; + case 90: + LOGGER.debug("파일존재하지 않음."); + sMessage = "파일존재하지 않음."; + break; + case 91: + LOGGER.debug("프로그램시트의 cell 갯수 오류."); + sMessage = "프로그램시트의 cell 갯수 오류."; + break; + case 92: + LOGGER.debug("메뉴정보시트의 cell 갯수 오류."); + sMessage = "메뉴정보시트의 cell 갯수 오류."; + break; + case 93: + LOGGER.debug("엑셀 시트갯수 오류."); + sMessage = "엑셀 시트갯수 오류."; + break; + case 95: + LOGGER.debug("메뉴정보 입력시 에러."); + sMessage = "메뉴정보 입력시 에러."; + break; + case 96: + LOGGER.debug("프로그램목록입력시 에러."); + sMessage = "프로그램목록입력시 에러."; + break; + default: + LOGGER.debug("일괄배치처리 완료."); + sMessage = "일괄배치처리 완료."; + break; + } + LOGGER.debug(message); + return sMessage; + } + + /** + * 메뉴목록_프로그램목록 일괄생성 + * @param inputStream InputStream + * @return String + * @exception Exception + */ + private String bndeRegist(InputStream inputStream) throws Exception { + boolean success = false; + String requestValue = null; + int progrmSheetRowCnt = 0; + int menuSheetRowCnt = 0; + //String xlsFile = null; + try { + /* + 오류 메세지 정보 + message = "99"; //프로그램목록테이블 데이타 존재오류. + message = "99"; //메뉴정보테이블 데이타 존재오류. + message = "90"; //파일존재하지 않음. + message = "91"; //프로그램시트의 cell 갯수 오류 + message = "92"; //메뉴정보시트의 cell 갯수 오류 + message = "93"; //엑셀 시트갯수 오류 + message = "95"; //메뉴정보 입력시 에러 + message = "96"; //프로그램목록입력시 에러 + message = "0"; //일괄배치처리 완료 + */ + + if (progrmManageDAO.selectProgrmListTotCnt() > 0) { + return requestValue = "99"; + } //프로그램목록테이블 데이타 존재오류. + if (menuManageDAO.selectMenuListTotCnt() > 0) { + return requestValue = "99"; + } //메뉴정보테이블 데이타 존재오류. + + HSSFWorkbook hssfWB = (HSSFWorkbook) excelZipService.loadWorkbook(inputStream); + // 엑셀 파일 시트 갯수 확인 sheet = 2 첫번째시트 = 프로그램목록 두번째시트 = 메뉴목록 + if (hssfWB.getNumberOfSheets() == 2) { + HSSFSheet progrmSheet = hssfWB.getSheetAt(0); //프로그램목록 시트 가져오기 + HSSFSheet menuSheet = hssfWB.getSheetAt(1); //메뉴정보 시트 가져오기 + HSSFRow progrmRow = progrmSheet.getRow(1); //프로그램 row 가져오기 + HSSFRow menuRow = menuSheet.getRow(1); //메뉴정보 row 가져오기 + progrmSheetRowCnt = progrmRow.getPhysicalNumberOfCells(); //프로그램 cell Cnt + menuSheetRowCnt = menuRow.getPhysicalNumberOfCells(); //메뉴정보 cell Cnt + + // 프로그램 시트 파일 데이타 검증 cell = 5개 + if (progrmSheetRowCnt != 5) { + return requestValue = "91"; //프로그램시트의 cell 갯수 오류 + } + + // 메뉴목록 시트 파일 데이타 검증 cell = 8개 + if (menuSheetRowCnt != 8) { + return requestValue = "92"; //메뉴정보시트의 cell 갯수 오류 + } + + /* sheet1번 = 프로그램목록 , sheet2번 = 메뉴정보 */ + success = progrmRegist(progrmSheet); + if (success) { + success = menuRegist(menuSheet); + if (success) { + return requestValue = "0"; // 일괄배치처리 완료 + } else { + deleteAllProgrmDtls(); + deleteAllProgrm(); + deleteAllMenuList(); + return requestValue = "95"; // 메뉴정보 입력시 에러 + } + } else { + deleteAllProgrmDtls(); + deleteAllProgrm(); + return requestValue = "96"; // 프로그램목록입력시 에러 + } + } else { + return requestValue = "93"; // 엑셀 시트갯수 오류 + } + } catch (BaseException e) { + LOGGER.error("["+ e.getClass() +"] : ", e.getMessage()); + requestValue = "99"; + + } catch (Exception e) { + //2017.02.13 이정은 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + LOGGER.error("["+ e.getClass() +"] : ", e.getMessage()); + requestValue = "99"; + } + return requestValue; + } + + /** + * 프로그램목록 일괄등록 + * @param progrmSheet HSSFSheet + * @return boolean + * @exception Exception + */ + private boolean progrmRegist(HSSFSheet progrmSheet) { + int count = 0; + boolean success = false; + try { + int rows = progrmSheet.getPhysicalNumberOfRows(); //행 갯수 가져오기 + for (int j = 1; j < rows; j++) { //row 루프 + ProgrmManageVO vo = new ProgrmManageVO(); + HSSFRow row = progrmSheet.getRow(j); //row 가져오기 + if (row != null) { + //int cells = row.getPhysicalNumberOfCells(); //cell 갯수 가져오기 + + HSSFCell cell = null; + cell = row.getCell(0); //프로그램명 + if (cell != null) { + vo.setProgrmFileNm("" + cell.getStringCellValue()); + } + cell = row.getCell(1); //프로그램한글명 + if (cell != null) { + vo.setProgrmKoreanNm("" + cell.getStringCellValue()); + } + cell = row.getCell(2); //프로그램저장경로 + if (cell != null) { + vo.setProgrmStrePath("" + cell.getStringCellValue()); + } + cell = row.getCell(3); //프로그램 URL + if (cell != null) { + vo.setURL("" + cell.getStringCellValue()); + } + cell = row.getCell(4); //프로그램설명 + if (cell != null) { + vo.setProgrmDc("" + cell.getStringCellValue()); + } + } + if (insertProgrm(vo)) { + count++; + } + } + if (count == rows - 1) { + success = true; + } else { + success = false; + } + } catch (SQLException e) { + LOGGER.error("["+ e.getClass() +"] : ", e.getMessage()); + success = false; + + } catch (Exception e) { + //2017.02.13 이정은 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + LOGGER.error("["+ e.getClass() +"] : ", e.getMessage()); + success = false; + } + return success; + } + + /** + * 메뉴정보 일괄등록 + * @param menuSheet HSSFSheet + * @return boolean + * @exception Exception + */ + private boolean menuRegist(HSSFSheet menuSheet) throws Exception { + boolean success = false; + int count = 0; + try { + int rows = menuSheet.getPhysicalNumberOfRows(); //행 갯수 가져오기 + for (int j = 1; j < rows; j++) { //row 루프 + MenuManageVO vo = new MenuManageVO(); + HSSFRow row = menuSheet.getRow(j); //row 가져오기 + if (row != null) { + //int cells = row.getPhysicalNumberOfCells(); //cell 갯수 가져오기 + HSSFCell cell = null; + cell = row.getCell(0); //메뉴번호 + if (cell != null) { + Double doubleCell = new Double(cell.getNumericCellValue()); + vo.setMenuNo(Integer.parseInt("" + doubleCell.longValue())); + } + cell = row.getCell(1); //메뉴순서 + if (cell != null) { + Double doubleCell = new Double(cell.getNumericCellValue()); + vo.setMenuOrdr(Integer.parseInt("" + doubleCell.longValue())); + } + cell = row.getCell(2); //메뉴명 + if (cell != null) { + vo.setMenuNm("" + cell.getStringCellValue()); + } + cell = row.getCell(3); //상위메뉴번호 + if (cell != null) { + Double doubleCell = new Double(cell.getNumericCellValue()); + vo.setUpperMenuId(Integer.parseInt("" + doubleCell.longValue())); + } + cell = row.getCell(4); //메뉴설명 + if (cell != null) { + vo.setMenuDc("" + cell.getStringCellValue()); + } + cell = row.getCell(5); //관련이미지경로 + if (cell != null) { + vo.setRelateImagePath("" + cell.getStringCellValue()); + } + cell = row.getCell(6); //관련이미지명 + if (cell != null) { + vo.setRelateImageNm("" + cell.getStringCellValue()); + } + cell = row.getCell(7); //프로그램파일명 + if (cell != null) { + vo.setProgrmFileNm("" + cell.getStringCellValue()); + } + } + if (insertMenuManageBind(vo)) { + count++; + } + } + if (count == rows - 1) { + success = true; + } else { + success = false; + } + } catch (SQLException e) { + LOGGER.error("["+ e.getClass() +"] : ", e.getMessage()); + success = false; + + } catch (Exception e) { + //2017.02.13 이정은 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + LOGGER.error("["+ e.getClass() +"] : ", e.getMessage()); + success = false; + } + + return success; + } + + /** + * 메뉴정보 전체데이타 초기화 + * @return boolean + * @exception Exception + */ + private boolean deleteAllMenuList() throws Exception { + return menuManageDAO.deleteAllMenuList(); + } + + /** + * 프로그램 정보를 등록 + * @param vo ProgrmManageVO + * @return boolean + * @exception Exception + */ + private boolean insertProgrm(ProgrmManageVO vo) throws Exception { + progrmManageDAO.insertProgrm(vo); + return true; + } + + /** + * 메뉴정보를 일괄 등록 + * @param vo MenuManageVO + * @return boolean + * @exception Exception + */ + private boolean insertMenuManageBind(MenuManageVO vo) throws Exception { + menuManageDAO.insertMenuManage(vo); + return true; + } + + /** + * 프로그램 정보 전체데이타 초기화 + * @return boolean + * @exception Exception + */ + private boolean deleteAllProgrm() throws Exception { + progrmManageDAO.deleteAllProgrm(); + return true; + } + + /** + * 프로그램변경내역 정보 전체데이타 초기화 + * @return boolean + * @exception Exception + */ + private boolean deleteAllProgrmDtls() throws Exception { + progrmManageDAO.deleteAllProgrmDtls(); + return true; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/impl/EgovMenuManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/MenuManageVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/MenuManageVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/MenuManageVO.java (revision 7) @@ -0,0 +1,353 @@ +package egovframework.com.sym.mnu.mpm.service; + +/** + * 메뉴목록관리 처리를 위한 VO 클래스르를 정의한다 + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * + * </pre> + */ + +public class MenuManageVO{ + + /** 메뉴정보 */ + /** 메뉴번호 */ + private int menuNo; + /** 메뉴순서 */ + private int menuOrdr; + /** 메뉴명 */ + private String menuNm; + /** 상위메뉴번호 */ + private int upperMenuId; + /** 메뉴설명 */ + private String menuDc; + /** 관련이미지경로 */ + private String relateImagePath; + /** 관련이미지명 */ + private String relateImageNm; + /** 프로그램파일명 */ + private String progrmFileNm; + + /** 사이트맵 */ + /** 생성자ID **/ + private String creatPersonId; + + /** 권한정보설정 */ + /** 권한코드 */ + private String authorCode; + + /** 기타VO변수 */ + private String tempValue; + private int tempInt; + + + /** Login 메뉴관련 VO변수 */ + /** tmp_Id */ + private String tmpId; + /** tmp_Password */ + private String tmpPassword; + /** tmp_Name */ + private String tmpName; + /** tmp_UserSe */ + private String tmpUserSe; + /** tmp_Email */ + private String tmpEmail; + /** tmp_OrgnztId */ + private String tmpOrgnztId; + /** tmp_UniqId */ + private String tmpUniqId; + /** tmp_Cmd */ + private String tmpCmd; + + /** + * menuNo attribute를 리턴한다. + * @return int + */ + public int getMenuNo() { + return menuNo; + } + /** + * menuNo attribute 값을 설정한다. + * @param menuNo int + */ + public void setMenuNo(int menuNo) { + this.menuNo = menuNo; + } + /** + * menuOrdr attribute를 리턴한다. + * @return int + */ + public int getMenuOrdr() { + return menuOrdr; + } + /** + * menuOrdr attribute 값을 설정한다. + * @param menuOrdr int + */ + public void setMenuOrdr(int menuOrdr) { + this.menuOrdr = menuOrdr; + } + /** + * menuNm attribute를 리턴한다. + * @return String + */ + public String getMenuNm() { + return menuNm; + } + /** + * menuNm attribute 값을 설정한다. + * @param menuNm String + */ + public void setMenuNm(String menuNm) { + this.menuNm = menuNm; + } + /** + * upperMenuId attribute를 리턴한다. + * @return int + */ + public int getUpperMenuId() { + return upperMenuId; + } + /** + * upperMenuId attribute 값을 설정한다. + * @param upperMenuId int + */ + public void setUpperMenuId(int upperMenuId) { + this.upperMenuId = upperMenuId; + } + /** + * menuDc attribute를 리턴한다. + * @return String + */ + public String getMenuDc() { + return menuDc; + } + /** + * menuDc attribute 값을 설정한다. + * @param menuDc String + */ + public void setMenuDc(String menuDc) { + this.menuDc = menuDc; + } + /** + * relateImagePath attribute를 리턴한다. + * @return String + */ + public String getRelateImagePath() { + return relateImagePath; + } + /** + * relateImagePath attribute 값을 설정한다. + * @param relateImagePath String + */ + public void setRelateImagePath(String relateImagePath) { + this.relateImagePath = relateImagePath; + } + /** + * relateImageNm attribute를 리턴한다. + * @return String + */ + public String getRelateImageNm() { + return relateImageNm; + } + /** + * relateImageNm attribute 값을 설정한다. + * @param relateImageNm String + */ + public void setRelateImageNm(String relateImageNm) { + this.relateImageNm = relateImageNm; + } + /** + * progrmFileNm attribute를 리턴한다. + * @return String + */ + public String getProgrmFileNm() { + return progrmFileNm; + } + /** + * progrmFileNm attribute 값을 설정한다. + * @param progrmFileNm String + */ + public void setProgrmFileNm(String progrmFileNm) { + this.progrmFileNm = progrmFileNm; + } + /** + * creatPersonId attribute를 리턴한다. + * @return String + */ + public String getCreatPersonId() { + return creatPersonId; + } + /** + * creatPersonId attribute 값을 설정한다. + * @param creatPersonId String + */ + public void setCreatPersonId(String creatPersonId) { + this.creatPersonId = creatPersonId; + } + /** + * authorCode attribute를 리턴한다. + * @return String + */ + public String getAuthorCode() { + return authorCode; + } + /** + * authorCode attribute 값을 설정한다. + * @param authorCode String + */ + public void setAuthorCode(String authorCode) { + this.authorCode = authorCode; + } + + /** + * tmp_Id attribute를 리턴한다. + * @return String + */ + public String getTmpId() { + return tmpId; + } + /** + * tmp_Id attribute 값을 설정한다. + * @param tmp_Id String + */ + public void setTmpId(String tmp_Id) { + this.tmpId = tmp_Id; + } + /** + * tmp_Password attribute를 리턴한다. + * @return String + */ + public String getTmpPassword() { + return tmpPassword; + } + /** + * tmp_Password attribute 값을 설정한다. + * @param tmp_Password String + */ + public void setTmpPassword(String tmp_Password) { + this.tmpPassword = tmp_Password; + } + /** + * tmp_Name attribute를 리턴한다. + * @return String + */ + public String getTmpName() { + return tmpName; + } + /** + * tmp_Name attribute 값을 설정한다. + * @param tmp_Name String + */ + public void setTmpName(String tmp_Name) { + this.tmpName = tmp_Name; + } + /** + * tmp_UserSe attribute를 리턴한다. + * @return String + */ + public String getTmpUserSe() { + return tmpUserSe; + } + /** + * tmp_UserSe attribute 값을 설정한다. + * @param tmp_UserSe String + */ + public void setTmpUserSe(String tmp_UserSe) { + this.tmpUserSe = tmp_UserSe; + } + /** + * tmp_Email attribute를 리턴한다. + * @return String + */ + public String getTmpEmail() { + return tmpEmail; + } + /** + * tmp_Email attribute 값을 설정한다. + * @param tmp_Email String + */ + public void setTmpEmail(String tmp_Email) { + this.tmpEmail = tmp_Email; + } + /** + * tmp_OrgnztId attribute를 리턴한다. + * @return String + */ + public String getTmpOrgnztId() { + return tmpOrgnztId; + } + /** + * tmp_OrgnztId attribute 값을 설정한다. + * @param tmp_OrgnztId String + */ + public void setTmpOrgnztId(String tmp_OrgnztId) { + this.tmpOrgnztId = tmp_OrgnztId; + } + /** + * tmp_UniqId attribute를 리턴한다. + * @return String + */ + public String getTmpUniqId() { + return tmpUniqId; + } + /** + * tmp_UniqId attribute 값을 설정한다. + * @param tmp_UniqId String + */ + public void setTmpUniqId(String tmpUniqId) { + this.tmpUniqId = tmpUniqId; + } + /** + * tmp_Cmd attribute를 리턴한다. + * @return String + */ + public String getTmpCmd() { + return tmpCmd; + } + /** + * tmp_Cmd attribute 값을 설정한다. + * @param tmp_Cmd String + */ + public void setTmpCmd(String tmp_Cmd) { + this.tmpCmd = tmp_Cmd; + } + + /** + * tempValue attribute를 리턴한다. + * @return String + */ + public String getTempValue() { + return tempValue; + } + /** + * tempValue attribute 값을 설정한다. + * @param tempValue String + */ + public void setTempValue(String tempValue) { + this.tempValue = tempValue; + } + /** + * tempInt attribute를 리턴한다. + * @return int + */ + public int getTempInt() { + return tempInt; + } + /** + * tempInt attribute 값을 설정한다. + * @param tempInt int + */ + public void setTempInt(int tempInt) { + this.tempInt = tempInt; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/MenuManageVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/EgovMenuManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/EgovMenuManageService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/EgovMenuManageService.java (revision 7) @@ -0,0 +1,142 @@ +package egovframework.com.sym.mnu.mpm.service; + +import java.io.InputStream; +import java.util.List; + +import egovframework.com.cmm.ComDefaultVO; + +/** + * 메뉴관리에 관한 서비스 인터페이스 클래스를 정의한다. + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * 2011.07.01 서준식 자기 메뉴 정보를 상위메뉴 정보로 참조하는 메뉴정보가 있는지 조회하는 + * selectUpperMenuNoByPk() 메서드 추가 + * + * </pre> + */ + +public interface EgovMenuManageService { + + /** + * 메뉴 상세정보를 조회 + * @param vo ComDefaultVO + * @return MenuManageVO + * @exception Exception + */ + MenuManageVO selectMenuManage(ComDefaultVO vo) throws Exception; + + /** + * 메뉴 목록을 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + List<?> selectMenuManageList(ComDefaultVO vo) throws Exception; + + /** + * 메뉴목록 총건수를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + int selectMenuManageListTotCnt(ComDefaultVO vo) throws Exception; + + /** + * 메뉴번호 존재 여부를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + int selectMenuNoByPk(MenuManageVO vo) throws Exception; + + int selectUpperMenuNoByPk(MenuManageVO vo) throws Exception; + + /** + * 메뉴 정보를 등록 + * @param vo MenuManageVO + * @exception Exception + */ + void insertMenuManage(MenuManageVO vo) throws Exception; + + /** + * 메뉴 정보를 수정 + * @param vo MenuManageVO + * @exception Exception + */ + void updateMenuManage(MenuManageVO vo) throws Exception; + + /** + * 메뉴 정보를 삭제 + * @param vo MenuManageVO + * @exception Exception + */ + void deleteMenuManage(MenuManageVO vo) throws Exception; + + /** + * 화면에 조회된 메뉴 목록 정보를 데이터베이스에서 삭제 + * @param checkedMenuNoForDel String + * @exception Exception + */ + void deleteMenuManageList(String checkedMenuNoForDel) throws Exception; + + /* 메뉴 생성 관리 */ + + /** + * 메뉴 목록을 조회 + * @return List + * @exception Exception + */ + List<?> selectMenuList() throws Exception; + + /*### 메뉴관련 프로세스 ###*/ + /** + * MainMenu Head Menu 조회 + * @param vo MenuManageVO + * @return List + * @exception Exception + */ + List<?> selectMainMenuHead(MenuManageVO vo) throws Exception; + + /** + * MainMenu Head Left 조회 + * @param vo MenuManageVO + * @return List + * @exception Exception + */ + List<?> selectMainMenuLeft(MenuManageVO vo) throws Exception; + + /** + * MainMenu Head MenuURL 조회 + * @param iMenuNo int + * @param sUniqId String + * @return String + * @exception Exception + */ + String selectLastMenuURL(int iMenuNo, String sUniqId) throws Exception; + + /* 일괄처리 프로세스 */ + + /** + * 메뉴일괄초기화 프로세스 메뉴목록테이블, 프로그램 목록테이블 전체 삭제 + * @return boolean + */ + boolean menuBndeAllDelete() throws Exception; + + /** + * 메뉴일괄등록 프로세스 + * @param vo MenuManageVO + * @param inputStream InputStream + * @exception Exception + */ + String menuBndeRegist(MenuManageVO vo, InputStream inputStream) throws Exception; + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/EgovMenuManageService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/MenuManage.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/MenuManage.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/MenuManage.java (revision 7) @@ -0,0 +1,102 @@ +package egovframework.com.sym.mnu.mpm.service; + +/** + * 메뉴관리, 메뉴 생성을 위한 모델 클래스를 정의한다. + * @author 공통서비스 개발팀 이 용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이용 최초 생성 + * + * </pre> + */ + +public class MenuManage { + + /** + * 메뉴설명 + */ + private String menuDc; + public String getMenuDc() { + return menuDc; + } + public void setMenuDc(String menuDc) { + this.menuDc = menuDc; + } + public String getMenuNm() { + return menuNm; + } + public void setMenuNm(String menuNm) { + this.menuNm = menuNm; + } + public int getMenuNo() { + return menuNo; + } + public void setMenuNo(int menuNo) { + this.menuNo = menuNo; + } + public int getMenuOrdr() { + return menuOrdr; + } + public void setMenuOrdr(int menuOrdr) { + this.menuOrdr = menuOrdr; + } + public String getProgrmFileNm() { + return progrmFileNm; + } + public void setProgrmFileNm(String progrmFileNm) { + this.progrmFileNm = progrmFileNm; + } + public String getRelateImageNm() { + return relateImageNm; + } + public void setRelateImageNm(String relateImageNm) { + this.relateImageNm = relateImageNm; + } + public String getRelateImagePath() { + return relateImagePath; + } + public void setRelateImagePath(String relateImagePath) { + this.relateImagePath = relateImagePath; + } + public int getUpperMenuId() { + return upperMenuId; + } + public void setUpperMenuId(int upperMenuId) { + this.upperMenuId = upperMenuId; + } + /** + * 메뉴명 + */ + private String menuNm; + /** + * 메뉴번호 + */ + private int menuNo; + /** + * 메뉴순서 + */ + private int menuOrdr; + /** + * 프로그램파일명 + */ + private String progrmFileNm; + /** + * 관련이미지명 + */ + private String relateImageNm; + /** + * 관련이미지경로 + */ + private String relateImagePath; + /** + * 상위메뉴번호 + */ + private int upperMenuId; +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/mpm/service/MenuManage.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/stm/web/EgovSiteMapngController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/stm/web/EgovSiteMapngController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/stm/web/EgovSiteMapngController.java (revision 7) @@ -0,0 +1,82 @@ +package egovframework.com.sym.mnu.stm.web; + +import egovframework.com.cmm.ComDefaultVO; +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.sym.mnu.stm.service.EgovSiteMapngService; +import egovframework.com.sym.mnu.stm.service.SiteMapngVO; + +import egovframework.rte.fdl.property.EgovPropertyService; + +import javax.annotation.Resource; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +/** + * 사이트맵 조회 처리를 하는 비즈니스 구현 클래스 + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * 2011.07.29 서준식 사이트 맵 생성 안했을 때 발생하는 오류 수정 + * 2011.8.26 정진오 IncludedInfo annotation 추가 + * </pre> + */ + +@Controller +public class EgovSiteMapngController { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovSiteMapngController.class); + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** EgovSiteMapngService */ + @Resource(name = "siteMapngService") + private EgovSiteMapngService siteMapngService; + + /** EgovMessageSource */ + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + /*사이트맵조회*/ + /** + * 사이트맵 화면을 조회한다. + * @param searchVO ComDefaultVO + * @return 출력페이지정보 "sym/mnu/stm/EgovSiteMapng" + * @exception Exception + */ + @IncludedInfo(name="사이트맵", order = 1101 ,gid = 60) + @RequestMapping(value="/sym/mnu/stm/EgovSiteMapng.do") + public String selectSiteMapng( + @ModelAttribute("searchVO") ComDefaultVO searchVO, + ModelMap model) + throws Exception { + LoginVO user = + (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + searchVO.setSearchKeyword((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + SiteMapngVO resultVO = siteMapngService.selectSiteMapng(searchVO); + if(resultVO == null){ + model.addAttribute("resultMsg", egovMessageSource.getMessage("comSymMnuStm.siteMapng.validate.siteMap")); + return "egovframework/com/sym/mnu/stm/EgovSiteMapng"; + } + LOGGER.debug(resultVO.getBndeFileNm()); + model.addAttribute("resultVO", resultVO); + + return "egovframework/com/sym/mnu/stm/EgovSiteMapng"; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/stm/web/EgovSiteMapngController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/EgovSiteMapngService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/EgovSiteMapngService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/EgovSiteMapngService.java (revision 7) @@ -0,0 +1,30 @@ +package egovframework.com.sym.mnu.stm.service; + +import egovframework.com.cmm.ComDefaultVO; + +/** + * 메뉴사이트맵에 관한 서비스 인터페이스 클래스를 정의한다. + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * + * </pre> + */ +public interface EgovSiteMapngService { + + /** + * 사이트맵 조회 + * @param vo ComDefaultVO + * @return SiteMapngVO + * @exception Exception + */ + SiteMapngVO selectSiteMapng(ComDefaultVO vo) throws Exception; +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/EgovSiteMapngService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/impl/EgovSiteMapngServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/impl/EgovSiteMapngServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/impl/EgovSiteMapngServiceImpl.java (revision 7) @@ -0,0 +1,52 @@ +package egovframework.com.sym.mnu.stm.service.impl; + +import egovframework.com.cmm.ComDefaultVO; +import egovframework.com.sym.mnu.stm.service.EgovSiteMapngService; +import egovframework.com.sym.mnu.stm.service.SiteMapngVO; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * 사이트맵 조회를 처리하는 비즈니스 구현 클래스를 정의한다. + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * + * </pre> + */ +@Service("siteMapngService") +public class EgovSiteMapngServiceImpl extends EgovAbstractServiceImpl implements EgovSiteMapngService{ + + @Resource(name="siteMapngDAO") + private SiteMapngDAO siteMapngDAO; + + /** + * 사이트맵 조회 + * @param vo ComDefaultVO + * @return SiteMapngVO + * @exception Exception + */ + + @Override + @SuppressWarnings("unused") + public SiteMapngVO selectSiteMapng(ComDefaultVO vo) throws Exception{ + String sMapCreatID = null; + + SiteMapngVO sitemapngvo = new SiteMapngVO(); + sMapCreatID = siteMapngDAO.selectSiteMapngByMapCreatID(vo); + vo.setSearchKeyword(sMapCreatID); + return siteMapngDAO.selectSiteMapng(vo); + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/impl/EgovSiteMapngServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/impl/SiteMapngDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/impl/SiteMapngDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/impl/SiteMapngDAO.java (revision 7) @@ -0,0 +1,47 @@ +package egovframework.com.sym.mnu.stm.service.impl; + +import egovframework.com.cmm.ComDefaultVO; +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sym.mnu.stm.service.SiteMapngVO; + +import org.springframework.stereotype.Repository; +/** + * 사이트맵 조회에 대한 DAO 클래스를 정의한다. + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * + * </pre> + */ +@Repository("siteMapngDAO") +public class SiteMapngDAO extends EgovComAbstractDAO{ + + /** + * 사이트맵 조회 + * @param vo ComDefaultVO + * @return SiteMapngVO + * @exception Exception + */ + public SiteMapngVO selectSiteMapng(ComDefaultVO vo)throws Exception{ + return (SiteMapngVO)selectOne("siteMapngDAO.selectSiteMapng_D", vo); + } + + /** + * MapCreatId 조회 + * @param vo ComDefaultVO + * @return String + * @exception Exception + */ + public String selectSiteMapngByMapCreatID(ComDefaultVO vo)throws Exception{ + return (String)selectOne("siteMapngDAO.selectSiteMapngByMapCreatID", vo); + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/impl/SiteMapngDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/SiteMapngVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/SiteMapngVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/SiteMapngVO.java (revision 7) @@ -0,0 +1,107 @@ +package egovframework.com.sym.mnu.stm.service; + +/** + * 사이트맵 조회를 위한 VO 클래스르를 정의한다. + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * + * </pre> + */ +public class SiteMapngVO{ + + /** 메뉴생성내역 */ + /** 보안설정대상ID */ + private String scrtyEstbstrgetId; + + /** 사이트맵 */ + /** 생성자ID **/ + private String creatPersonId; + /** 맵생성ID */ + private String mapCreatId; + /** 맵파일명 */ + private String bndeFileNm; + /** 맵파일경로 */ + private String bndeFilePath; + + /** + * scrtyEstbstrgetId attribute를 리턴한다. + * @return String + */ + public String getScrtyEstbstrgetId() { + return scrtyEstbstrgetId; + } + /** + * scrtyEstbstrgetId attribute 값을 설정한다. + * @param scrtyEstbstrgetId String + */ + public void setScrtyEstbstrgetId(String scrtyEstbstrgetId) { + this.scrtyEstbstrgetId = scrtyEstbstrgetId; + } + /** + * creatPersonId attribute를 리턴한다. + * @return String + */ + public String getCreatPersonId() { + return creatPersonId; + } + /** + * creatPersonId attribute 값을 설정한다. + * @param creatPersonId String + */ + public void setCreatPersonId(String creatPersonId) { + this.creatPersonId = creatPersonId; + } + /** + * mapCreatId attribute를 리턴한다. + * @return String + */ + public String getMapCreatId() { + return mapCreatId; + } + /** + * mapCreatId attribute 값을 설정한다. + * @param mapCreatId String + */ + public void setMapCreatId(String mapCreatId) { + this.mapCreatId = mapCreatId; + } + /** + * bndeFileNm attribute를 리턴한다. + * @return String + */ + public String getBndeFileNm() { + return bndeFileNm; + } + /** + * bndeFileNm attribute 값을 설정한다. + * @param bndeFileNm String + */ + public void setBndeFileNm(String bndeFileNm) { + this.bndeFileNm = bndeFileNm; + } + /** + * bndeFilePath attribute를 리턴한다. + * @return String + */ + public String getBndeFilePath() { + return bndeFilePath; + } + /** + * bndeFilePath attribute 값을 설정한다. + * @param bndeFilePath String + */ + public void setBndeFilePath(String bndeFilePath) { + this.bndeFilePath = bndeFilePath; + } + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/mnu/stm/service/SiteMapngVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/prm/web/EgovProgrmManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/prm/web/EgovProgrmManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/prm/web/EgovProgrmManageController.java (revision 7) @@ -0,0 +1,794 @@ +package egovframework.com.sym.prm.web; + +import java.util.List; +import java.util.Map; + +import egovframework.com.cmm.ComDefaultVO; +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.sym.prm.service.EgovProgrmManageService; +import egovframework.com.sym.prm.service.ProgrmManageDtlVO; +import egovframework.com.sym.prm.service.ProgrmManageVO; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springmodules.validation.commons.DefaultBeanValidator; + +/** + * 프로그램목록 관리및 변경을 처리하는 비즈니스 구현 클래스 + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * 2011.08.22 서준식 selectProgrmChangRequstProcess() 메서드 처리일자 trim 처리 + * 2011.8.26 정진오 IncludedInfo annotation 추가 + * </pre> + */ + +@Controller +public class EgovProgrmManageController { + + /** Validator */ + @Autowired + private DefaultBeanValidator beanValidator; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** EgovProgrmManageService */ + @Resource(name = "progrmManageService") + private EgovProgrmManageService progrmManageService; + + /** EgovMessageSource */ + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + /** + * 프로그램목록을 상세화면 호출 및 상세조회한다. + * @param tmp_progrmNm String + * @return 출력페이지정보 "sym/prm/EgovProgramListDetailSelectUpdt" + * @exception Exception + */ + @RequestMapping(value="/sym/prm/EgovProgramListDetailSelect.do") + public String selectProgrm( + @RequestParam("tmp_progrmNm") String tmp_progrmNm , + @ModelAttribute("searchVO") ComDefaultVO searchVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + ProgrmManageVO vo = new ProgrmManageVO(); + vo.setProgrmFileNm(tmp_progrmNm); + ProgrmManageVO progrmManageVO = progrmManageService.selectProgrm(vo); + model.addAttribute("progrmManageVO", progrmManageVO); + return "egovframework/com/sym/prm/EgovProgramListDetailSelectUpdt"; + } + + /** + * 프로그램목록 리스트조회한다. + * @param searchVO ComDefaultVO + * @return 출력페이지정보 "sym/prm/EgovProgramListManage" + * @exception Exception + */ + @IncludedInfo(name="프로그램관리",order = 1111 ,gid = 60) + @RequestMapping(value="/sym/prm/EgovProgramListManageSelect.do") + public String selectProgrmList( + @ModelAttribute("searchVO") ComDefaultVO searchVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + // 내역 조회 + /** EgovPropertyService.sample */ + searchVO.setPageUnit(propertiesService.getInt("pageUnit")); + searchVO.setPageSize(propertiesService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(searchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(searchVO.getPageUnit()); + paginationInfo.setPageSize(searchVO.getPageSize()); + + searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + searchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List<?> list_progrmmanage = progrmManageService.selectProgrmList(searchVO); + model.addAttribute("list_progrmmanage", list_progrmmanage); + model.addAttribute("searchVO", searchVO); + + int totCnt = progrmManageService.selectProgrmListTotCnt(searchVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/prm/EgovProgramListManage"; + + } + + /** + * 프로그램목록 멀티 삭제한다. + * @param checkedProgrmFileNmForDel String + * @return 출력페이지정보 "forward:/sym/prm/EgovProgramListManageSelect.do" + * @exception Exception + */ + @RequestMapping("/sym/prm/EgovProgrmManageListDelete.do") + public String deleteProgrmManageList( + @RequestParam("checkedProgrmFileNmForDel") String checkedProgrmFileNmForDel , + @ModelAttribute("progrmManageVO") ProgrmManageVO progrmManageVO, + ModelMap model) + throws Exception { + String sLocationUrl = null; + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + String [] delProgrmFileNm = checkedProgrmFileNmForDel.split(","); + if (delProgrmFileNm == null || (delProgrmFileNm.length ==0)){ + resultMsg = egovMessageSource.getMessage("fail.common.delete"); + sLocationUrl = "forward:/sym/prm/EgovProgramListManageSelect.do"; + }else{ + progrmManageService.deleteProgrmManageList(checkedProgrmFileNmForDel); + resultMsg = egovMessageSource.getMessage("success.common.delete"); + sLocationUrl ="forward:/sym/prm/EgovProgramListManageSelect.do"; + } + model.addAttribute("resultMsg", resultMsg); + //status.setComplete(); + return sLocationUrl ; + } + + /** + * 프로그램목록을 등록화면으로 이동 및 등록 한다. + * @param progrmManageVO ProgrmManageVO + * @param commandMap Map + * @return 출력페이지정보 등록화면 호출시 "sym/prm/EgovProgramListRegist", + * 출력페이지정보 등록처리시 "forward:/sym/prm/EgovProgramListManageSelect.do" + * @exception Exception + */ + @RequestMapping(value="/sym/prm/EgovProgramListRegist.do") + public String insertProgrmList( + @RequestParam Map<?, ?> commandMap, + @ModelAttribute("progrmManageVO") ProgrmManageVO progrmManageVO, + BindingResult bindingResult, + ModelMap model) + throws Exception { + String resultMsg = ""; + String sLocationUrl = null; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + String sCmd = commandMap.get("cmd") == null ? "" : (String)commandMap.get("cmd"); + if(sCmd.equals("insert")){ + beanValidator.validate(progrmManageVO, bindingResult); + if (bindingResult.hasErrors()){ + sLocationUrl = "egovframework/com/sym/prm/EgovProgramListRegist"; + return sLocationUrl; + } + if(progrmManageVO.getProgrmDc()==null || progrmManageVO.getProgrmDc().equals("")){progrmManageVO.setProgrmDc(" ");} + progrmManageService.insertProgrm(progrmManageVO); + resultMsg = egovMessageSource.getMessage("success.common.insert"); + sLocationUrl = "forward:/sym/prm/EgovProgramListManageSelect.do"; + }else{ + sLocationUrl = "egovframework/com/sym/prm/EgovProgramListRegist"; + } + model.addAttribute("resultMsg", resultMsg); + return sLocationUrl; + } + + /** + * 프로그램목록을 수정 한다. + * @param progrmManageVO ProgrmManageVO + * @return 출력페이지정보 "forward:/sym/prm/EgovProgramListManageSelect.do" + * @exception Exception + */ + /*프로그램목록수정*/ + @RequestMapping(value="/sym/prm/EgovProgramListDetailSelectUpdt.do") + public String updateProgrmList( + @ModelAttribute("progrmManageVO") ProgrmManageVO progrmManageVO, + BindingResult bindingResult, + ModelMap model) + throws Exception { + String resultMsg = ""; + String sLocationUrl = null; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + beanValidator.validate(progrmManageVO, bindingResult); + if (bindingResult.hasErrors()){ + sLocationUrl = "forward:/sym/prm/EgovProgramListDetailSelect.do"; + return sLocationUrl; + } + if(progrmManageVO.getProgrmDc()==null || progrmManageVO.getProgrmDc().equals("")){progrmManageVO.setProgrmDc(" ");} + progrmManageService.updateProgrm(progrmManageVO); + resultMsg = egovMessageSource.getMessage("success.common.update"); + sLocationUrl = "forward:/sym/prm/EgovProgramListManageSelect.do"; + model.addAttribute("resultMsg", resultMsg); + return sLocationUrl; + } + + /** + * 프로그램목록을 삭제 한다. + * @param progrmManageVO ProgrmManageVO + * @return 출력페이지정보 "forward:/sym/prm/EgovProgramListManageSelect.do" + * @exception Exception + */ + @RequestMapping(value="/sym/prm/EgovProgramListManageDelete.do") + public String deleteProgrmList( + @ModelAttribute("progrmManageVO") + ProgrmManageVO progrmManageVO, + ModelMap model) + throws Exception { + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + progrmManageService.deleteProgrm(progrmManageVO); + resultMsg = egovMessageSource.getMessage("success.common.delete"); + model.addAttribute("resultMsg", resultMsg); + return "forward:/sym/prm/EgovProgramListManageSelect.do"; + } + + /** + * 프로그램변경요청목록 조회한다. + * @param searchVO ComDefaultVO + * @return 출력페이지정보 "sym/prm/EgovProgramChangeRequst" + * @exception Exception + */ + @IncludedInfo(name="프로그램변경요청관리",order = 1112 ,gid = 60) + @RequestMapping(value="/sym/prm/EgovProgramChangeRequstSelect.do") + public String selectProgrmChangeRequstList( + @ModelAttribute("searchVO") ComDefaultVO searchVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + // 내역 조회 + /** EgovPropertyService.sample */ + searchVO.setPageUnit(propertiesService.getInt("pageUnit")); + searchVO.setPageSize(propertiesService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(searchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(searchVO.getPageUnit()); + paginationInfo.setPageSize(searchVO.getPageSize()); + + searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + searchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List<?> list_changerequst = progrmManageService.selectProgrmChangeRequstList(searchVO); + model.addAttribute("list_changerequst", list_changerequst); + + int totCnt = progrmManageService.selectProgrmChangeRequstListTotCnt(searchVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/prm/EgovProgramChangeRequst"; + } + + /** + * 프로그램변경요청목록을 상세조회한다. + * @param progrmManageDtlVO ProgrmManageDtlVO + * @return 출력페이지정보 "sym/prm/EgovProgramChangRequstDetailSelectUpdt" + * @exception Exception + */ + @RequestMapping(value="/sym/prm/EgovProgramChangRequstDetailSelect.do") + public String selectProgrmChangeRequst( + @ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + if(progrmManageDtlVO.getProgrmFileNm()== null||progrmManageDtlVO.getProgrmFileNm().equals("")){ + String FileNm = progrmManageDtlVO.getTmpProgrmNm(); + progrmManageDtlVO.setProgrmFileNm(FileNm); + int tmpNo = progrmManageDtlVO.getTmpRqesterNo(); + progrmManageDtlVO.setRqesterNo(tmpNo); + } + ProgrmManageDtlVO resultVO = progrmManageService.selectProgrmChangeRequst(progrmManageDtlVO); + model.addAttribute("progrmManageDtlVO", resultVO); + return "egovframework/com/sym/prm/EgovProgramChangRequstDetailSelectUpdt"; + } + + /** + * 프로그램변경요청 화면을 호출및 프로그램변경요청을 등록한다. + * @param progrmManageDtlVO ProgrmManageDtlVO + * @param commandMap Map + * @return 출력페이지정보 등록화면 호출시 "sym/prm/EgovProgramChangRequstStre", + * 출력페이지정보 등록처리시 "forward:/sym/prm/EgovProgramChangeRequstSelect.do" + * @exception Exception + */ + /*프로그램변경요청등록*/ + @RequestMapping(value="/sym/prm/EgovProgramChangRequstStre.do") + public String insertProgrmChangeRequst( + @RequestParam Map<?, ?> commandMap, + @ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO, + BindingResult bindingResult, + ModelMap model) + throws Exception { + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + //로그인 객체 선언 + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + String sLocationUrl = null; + String sCmd = commandMap.get("cmd") == null ? "" : (String)commandMap.get("cmd"); + if(sCmd.equals("insert")){ + //beanValidator 처리 + beanValidator.validate(progrmManageDtlVO, bindingResult); + if (bindingResult.hasErrors()){ + sLocationUrl = "egovframework/com/sym/prm/EgovProgramChangRequstStre"; + return sLocationUrl; + } + if(progrmManageDtlVO.getChangerqesterCn()==null || progrmManageDtlVO.getChangerqesterCn().equals("")){progrmManageDtlVO.setChangerqesterCn("");} + if(progrmManageDtlVO.getRqesterProcessCn()==null || progrmManageDtlVO.getRqesterProcessCn().equals("")){progrmManageDtlVO.setRqesterProcessCn("");} + progrmManageService.insertProgrmChangeRequst(progrmManageDtlVO); + resultMsg = egovMessageSource.getMessage("success.common.insert"); + sLocationUrl = "forward:/sym/prm/EgovProgramChangeRequstSelect.do"; + }else{ + /* MAX요청번호 조회 */ + ProgrmManageDtlVO tmp_vo = progrmManageService.selectProgrmChangeRequstNo(progrmManageDtlVO); + int _tmp_no = tmp_vo.getRqesterNo(); + progrmManageDtlVO.setRqesterNo(_tmp_no); + progrmManageDtlVO.setRqesterPersonId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + sLocationUrl = "egovframework/com/sym/prm/EgovProgramChangRequstStre"; + } + model.addAttribute("resultMsg", resultMsg); + return sLocationUrl; + } + + /** + * 프로그램변경 요청을 수정 한다. + * @param progrmManageDtlVO ProgrmManageDtlVO + * @return 출력페이지정보 "forward:/sym/prm/EgovProgramChangeRequstSelect.do" + * @exception Exception + */ + @RequestMapping(value="/sym/prm/EgovProgramChangRequstDetailSelectUpdt.do") + public String updateProgrmChangeRequst( + @ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO, + BindingResult bindingResult, + ModelMap model) + throws Exception { + String sLocationUrl = null; + String resultMsg = ""; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + //로그인 객체 선언 + LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + //beanValidator 처리 + beanValidator.validate(progrmManageDtlVO, bindingResult); + if (bindingResult.hasErrors()){ + sLocationUrl = "forward:/sym/prm/EgovProgramChangRequstDetailSelect.do"; + return sLocationUrl; + } + + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if(EgovStringUtil.isNullToString(progrmManageDtlVO.getRqesterPersonId()).equals(loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()))){ + if(progrmManageDtlVO.getChangerqesterCn()==null || progrmManageDtlVO.getChangerqesterCn().equals("")){progrmManageDtlVO.setChangerqesterCn(" ");} + if(progrmManageDtlVO.getRqesterProcessCn()==null || progrmManageDtlVO.getRqesterProcessCn().equals("")){progrmManageDtlVO.setRqesterProcessCn(" ");} + progrmManageService.updateProgrmChangeRequst(progrmManageDtlVO); + resultMsg = egovMessageSource.getMessage("success.common.update"); + sLocationUrl = "forward:/sym/prm/EgovProgramChangeRequstSelect.do"; + }else{ + resultMsg = "수정이 실패하였습니다. 변경요청 수정은 변경요청자만 수정가능합니다."; + progrmManageDtlVO.setTmpProgrmNm(progrmManageDtlVO.getProgrmFileNm()); + progrmManageDtlVO.setTmpRqesterNo(progrmManageDtlVO.getRqesterNo()); + sLocationUrl = "forward:/sym/prm/EgovProgramChangRequstDetailSelect.do"; + } + model.addAttribute("resultMsg", resultMsg); + return sLocationUrl; + } + + /** + * 프로그램변경 요청을 삭제 한다. + * @param progrmManageDtlVO ProgrmManageDtlVO + * @return 출력페이지정보 "forward:/sym/prm/EgovProgramChangeRequstSelect.do" + * @exception Exception + */ + @RequestMapping(value="/sym/prm/EgovProgramChangRequstDelete.do") + public String deleteProgrmChangeRequst( + @ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO, + ModelMap model) + throws Exception { + String sLocationUrl = null; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + //로그인 객체 선언 + LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if(EgovStringUtil.isNullToString(progrmManageDtlVO.getRqesterPersonId()).equals(loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()))){ + //progrmManageDtlVO.setRqesterPersonId(user.getId()); + model.addAttribute("resultMsg", egovMessageSource.getMessage("success.common.delete")); + progrmManageService.deleteProgrmChangeRequst(progrmManageDtlVO); + sLocationUrl = "forward:/sym/prm/EgovProgramChangeRequstSelect.do"; + }else{ + model.addAttribute("resultMsg", egovMessageSource.getMessage("comSymPrm.progrmManageController.checkRqesterPersonId")); //삭제에 실패하였습니다. 변경요청자만 삭제가능합니다. + sLocationUrl = "forward:/sym/prm/EgovProgramChangRequstDetailSelect.do"; + } + return sLocationUrl; + } + + /** + * 프로그램변경 요청에 대한 처리 사항을 조회한다. + * @param searchVO ComDefaultVO + * @return 출력페이지정보 "sym/prm/EgovProgramChangeRequstProcess" + * @exception Exception + */ + @IncludedInfo(name="프로그램변경요청처리",order = 1113 ,gid = 60) + @RequestMapping(value="/sym/prm/EgovProgramChangeRequstProcessListSelect.do") + public String selectProgrmChangeRequstProcessList( + @ModelAttribute("searchVO") ComDefaultVO searchVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + // 내역 조회 + /** EgovPropertyService.sample */ + searchVO.setPageUnit(propertiesService.getInt("pageUnit")); + searchVO.setPageSize(propertiesService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(searchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(searchVO.getPageUnit()); + paginationInfo.setPageSize(searchVO.getPageSize()); + + searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + searchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List<?> list_changerequst = progrmManageService.selectChangeRequstProcessList(searchVO); + model.addAttribute("list_changerequst", list_changerequst); + + int totCnt = progrmManageService.selectChangeRequstProcessListTotCnt(searchVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/prm/EgovProgramChangeRequstProcess"; + } + + /** + * 프로그램변경 요청에 대한 처리 사항을 상세조회한다. + * @param progrmManageDtlVO ProgrmManageDtlVO + * @return 출력페이지정보 "sym/prm/EgovProgramChangRequstProcessDetailSelectUpdt" + * @exception Exception + */ + @RequestMapping(value="/sym/prm/EgovProgramChangRequstProcessDetailSelect.do") + public String selectProgrmChangRequstProcess( + @ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + if(progrmManageDtlVO.getProgrmFileNm()==null){ + String _FileNm = progrmManageDtlVO.getTmpProgrmNm(); + progrmManageDtlVO.setProgrmFileNm(_FileNm); + int _Tmp_no = progrmManageDtlVO.getTmpRqesterNo(); + progrmManageDtlVO.setRqesterNo(_Tmp_no); + } + ProgrmManageDtlVO resultVO = progrmManageService.selectProgrmChangeRequst(progrmManageDtlVO); + if(resultVO.getProcessDe() != null){ + resultVO.setProcessDe(resultVO.getProcessDe().trim());//2011.08.22 + } + + if(resultVO.getOpetrId()== null){ + LoginVO user = + (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + resultVO.setOpetrId(user == null ? "" : EgovStringUtil.isNullToString(user.getId())); + } + model.addAttribute("progrmManageDtlVO", resultVO); + return "egovframework/com/sym/prm/EgovProgramChangRequstProcessDetailSelectUpdt"; + } + + /** + * 프로그램변경요청처리 내용을 수정 한다. + * @param progrmManageDtlVO ProgrmManageDtlVO + * @return 출력페이지정보 "forward:/sym/prm/EgovProgramChangeRequstProcessListSelect.do" + * @exception Exception + */ + @SuppressWarnings("unused") + @RequestMapping(value="/sym/prm/EgovProgramChangRequstProcessDetailSelectUpdt.do") + public String updateProgrmChangRequstProcess( + @ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO, + BindingResult bindingResult, + ModelMap model) + throws Exception { + String sLocationUrl = null; + boolean result = true; + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + beanValidator.validate(progrmManageDtlVO, bindingResult); + if (bindingResult.hasErrors()){ + sLocationUrl = "forward:/sym/prm/EgovProgramChangRequstProcessDetailSelect.do"; + return sLocationUrl; + } + + LoginVO user = + (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (progrmManageDtlVO.getOpetrId() != null) { + if(progrmManageDtlVO.getOpetrId().equals(user == null ? "" : EgovStringUtil.isNullToString(user.getId()))){ + if(progrmManageDtlVO.getChangerqesterCn()==null || progrmManageDtlVO.getChangerqesterCn().equals("")){progrmManageDtlVO.setChangerqesterCn(" ");} + if(progrmManageDtlVO.getRqesterProcessCn()==null || progrmManageDtlVO.getRqesterProcessCn().equals("")){progrmManageDtlVO.setRqesterProcessCn(" ");} + progrmManageService.updateProgrmChangeRequstProcess(progrmManageDtlVO); + model.addAttribute("resultMsg", egovMessageSource.getMessage("success.common.update")); + + ProgrmManageDtlVO vo = new ProgrmManageDtlVO(); + vo = progrmManageService.selectRqesterEmail(progrmManageDtlVO); + String sTemp = null; + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if("A".equals(progrmManageDtlVO.getProcessSttus())){ + sTemp = egovMessageSource.getMessage("comSymPrm.progrmManageController.processSttusA"); //신청중 + }else if("P".equals(progrmManageDtlVO.getProcessSttus())){ + sTemp = egovMessageSource.getMessage("comSymPrm.progrmManageController.processSttusP"); //진행중 + }else if("R".equals(progrmManageDtlVO.getProcessSttus())){ + sTemp = egovMessageSource.getMessage("comSymPrm.progrmManageController.processSttusR"); //반려 + }else if("C".equals(progrmManageDtlVO.getProcessSttus())){ + sTemp = egovMessageSource.getMessage("comSymPrm.progrmManageController.processSttusC"); //처리완료 + } + sLocationUrl = "forward:/sym/prm/EgovProgramChangeRequstProcessListSelect.do"; + }else{ + model.addAttribute("resultMsg", egovMessageSource.getMessage("comSymPrm.progrmManageController.updateProgrmChangRequstProcess.fail")); //수정이 실패하였습니다. 변경요청처리 수정은 변경처리해당 담당자만 처리가능합니다. + progrmManageDtlVO.setTmpProgrmNm(progrmManageDtlVO.getProgrmFileNm()); + progrmManageDtlVO.setTmpRqesterNo(progrmManageDtlVO.getRqesterNo()); + sLocationUrl = "forward:/sym/prm/EgovProgramChangRequstProcessDetailSelect.do"; + } + } + return sLocationUrl; + } + + /** + * 프로그램변경요청처리를 삭제 한다. + * @param progrmManageDtlVO ProgrmManageDtlVO + * @return 출력페이지정보 "forward:/sym/prm/EgovProgramChangeRequstProcessListSelect.do" + * @exception Exception + */ + /*프로그램변경요청처리 삭제*/ + @RequestMapping(value="/sym/prm/EgovProgramChangRequstProcessDelete.do") + public String deleteProgrmChangRequstProcess( + @ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + progrmManageService.deleteProgrmChangeRequst(progrmManageDtlVO); + + return "forward:/sym/prm/EgovProgramChangeRequstProcessListSelect.do"; + } + + /** + * 프로그램변경이력리스트를 조회한다. + * @param searchVO ComDefaultVO + * @return 출력페이지정보 "sym/prm/EgovProgramChgHst" + * @exception Exception + */ + @IncludedInfo(name="프로그램변경이력",order = 1114 ,gid = 60) + @RequestMapping(value="/sym/prm/EgovProgramChgHstListSelect.do") + public String selectProgrmChgHstList( + @ModelAttribute("searchVO") ComDefaultVO searchVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + // 내역 조회 + /** EgovPropertyService.sample */ + searchVO.setPageUnit(propertiesService.getInt("pageUnit")); + searchVO.setPageSize(propertiesService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(searchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(searchVO.getPageUnit()); + paginationInfo.setPageSize(searchVO.getPageSize()); + + searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + searchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List<?> list_changerequst = progrmManageService.selectProgrmChangeRequstList(searchVO); + model.addAttribute("list_changerequst", list_changerequst); + + int totCnt = progrmManageService.selectProgrmChangeRequstListTotCnt(searchVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/prm/EgovProgramChgHst"; + } + + /*프로그램변경이력상세조회*/ + /** + * 프로그램변경이력을 상세조회한다. + * @param progrmManageDtlVO ProgrmManageDtlVO + * @return 출력페이지정보 "sym/prm/EgovProgramChgHstDetail" + * @exception Exception + */ + @RequestMapping(value="/sym/prm/EgovProgramChgHstListDetailSelect.do") + public String selectProgramChgHstListDetail( + @ModelAttribute("progrmManageDtlVO") ProgrmManageDtlVO progrmManageDtlVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + String _FileNm = progrmManageDtlVO.getTmpProgrmNm(); + progrmManageDtlVO.setProgrmFileNm(_FileNm); + int _tmp_no = progrmManageDtlVO.getTmpRqesterNo(); + progrmManageDtlVO.setRqesterNo(_tmp_no); + + ProgrmManageDtlVO resultVO = progrmManageService.selectProgrmChangeRequst(progrmManageDtlVO); + model.addAttribute("resultVO", resultVO); + return "egovframework/com/sym/prm/EgovProgramChgHstDetail"; + } + + /** + * 프로그램파일명을 조회한다. + * @param searchVO ComDefaultVO + * @return 출력페이지정보 "sym/prm/EgovFileNmSearch" + * @exception Exception + */ + @RequestMapping(value="/sym/prm/EgovProgramListSearch.do") + public String selectProgrmListSearch( + @ModelAttribute("searchVO") ComDefaultVO searchVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + // 내역 조회 + searchVO.setPageUnit(propertiesService.getInt("pageUnit")); + searchVO.setPageSize(propertiesService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(searchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(searchVO.getPageUnit()); + paginationInfo.setPageSize(searchVO.getPageSize()); + + searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + searchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List<?> list_progrmmanage = progrmManageService.selectProgrmList(searchVO); + model.addAttribute("list_progrmmanage", list_progrmmanage); + + int totCnt = progrmManageService.selectProgrmListTotCnt(searchVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/prm/EgovFileNmSearch"; + + } + + /** + * 프로그램파일명을 조회한다. (New) + * @param searchVO ComDefaultVO + * @return 출력페이지정보 "sym/prm/EgovFileNmSearch" + * @exception Exception + */ + @RequestMapping(value="/sym/prm/EgovProgramListSearchNew.do") + public String selectProgrmListSearchNew( + @ModelAttribute("searchVO") ComDefaultVO searchVO, + ModelMap model) + throws Exception { + // 0. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if(!isAuthenticated) { + model.addAttribute("message", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + // 내역 조회 + searchVO.setPageUnit(propertiesService.getInt("pageUnit")); + searchVO.setPageSize(propertiesService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(searchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(searchVO.getPageUnit()); + paginationInfo.setPageSize(searchVO.getPageSize()); + + searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + searchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List<?> list_progrmmanage = progrmManageService.selectProgrmList(searchVO); + model.addAttribute("list_progrmmanage", list_progrmmanage); + + int totCnt = progrmManageService.selectProgrmListTotCnt(searchVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/prm/EgovFileNmSearchNew"; + + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/prm/web/EgovProgrmManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/prm/service/impl/ProgrmManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/prm/service/impl/ProgrmManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/prm/service/impl/ProgrmManageDAO.java (revision 7) @@ -0,0 +1,238 @@ +package egovframework.com.sym.prm.service.impl; + +import java.util.List; + +import egovframework.com.cmm.ComDefaultVO; +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sym.prm.service.ProgrmManageDtlVO; +import egovframework.com.sym.prm.service.ProgrmManageVO; + +import org.springframework.stereotype.Repository; +/** + * 프로그램 목록관리및 프로그램변경관리에 대한 DAO 클래스를 정의한다. + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * + * </pre> + */ + +@Repository("progrmManageDAO") +public class ProgrmManageDAO extends EgovComAbstractDAO { + + /** + * 프로그램 목록을 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + public List<?> selectProgrmList(ComDefaultVO vo) throws Exception{ + return selectList("progrmManageDAO.selectProgrmList_D", vo); + } + + /** + * 프로그램목록 총건수를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + public int selectProgrmListTotCnt(ComDefaultVO vo) { + return (Integer)selectOne("progrmManageDAO.selectProgrmListTotCnt_S", vo); + } + + /** + * 프로그램 기본정보를 조회 + * @param vo ComDefaultVO + * @return ProgrmManageVO + * @exception Exception + */ + public ProgrmManageVO selectProgrm(ProgrmManageVO vo)throws Exception{ + return (ProgrmManageVO)selectOne("progrmManageDAO.selectProgrm_D", vo); + } + + /** + * 프로그램 기본정보 및 URL을 등록 + * @param vo ProgrmManageVO + * @exception Exception + */ + public void insertProgrm(ProgrmManageVO vo){ + insert("progrmManageDAO.insertProgrm_S", vo); + } + + /** + * 프로그램 기본정보 및 URL을 수정 + * @param vo ProgrmManageVO + * @exception Exception + */ + public void updateProgrm(ProgrmManageVO vo){ + update("progrmManageDAO.updateProgrm_S", vo); + } + + /** + * 프로그램 기본정보 및 URL을 삭제 + * @param vo ProgrmManageVO + * @exception Exception + */ + public void deleteProgrm(ProgrmManageVO vo){ + delete("progrmManageDAO.deleteProgrm_S", vo); + } + + /** + * 프로그램 파일 존재여부를 조회 + * @param vo ProgrmManageVO + * @return int + * @exception Exception + */ + public int selectProgrmNMTotCnt(ComDefaultVO vo) throws Exception{ + return (Integer)selectOne("progrmManageDAO.selectProgrmNMTotCnt", vo); + } + + + /** + * 프로그램변경요청 목록을 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + + public List<?> selectProgrmChangeRequstList(ComDefaultVO vo) throws Exception{ + return selectList("progrmManageDAO.selectProgrmChangeRequstList_D", vo); + } + + /** + * 프로그램변경요청 총건수를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + public int selectProgrmChangeRequstListTotCnt(ComDefaultVO vo) { + return (Integer)selectOne("progrmManageDAO.selectProgrmChangeRequstListTotCnt_S", vo); + } + + /** + * 프로그램변경요청 정보를 조회 + * @param vo ProgrmManageDtlVO + * @return ProgrmManageDtlVO + * @exception Exception + */ + public ProgrmManageDtlVO selectProgrmChangeRequst(ProgrmManageDtlVO vo)throws Exception{ + return (ProgrmManageDtlVO)selectOne("progrmManageDAO.selectProgrmChangeRequst_D", vo); + } + + /** + * 프로그램변경요청을 등록 + * @param vo ProgrmManageDtlVO + * @exception Exception + */ + public void insertProgrmChangeRequst(ProgrmManageDtlVO vo){ + insert("progrmManageDAO.insertProgrmChangeRequst_S", vo); + } + + /** + * 프로그램변경요청을 수정 + * @param vo ProgrmManageDtlVO + * @exception Exception + */ + public void updateProgrmChangeRequst(ProgrmManageDtlVO vo){ + update("progrmManageDAO.updateProgrmChangeRequst_S", vo); + } + + /** + * 프로그램변경요청을 삭제 + * @param vo ProgrmManageDtlVO + * @exception Exception + */ + public void deleteProgrmChangeRequst(ProgrmManageDtlVO vo){ + delete("progrmManageDAO.deleteProgrmChangeRequst_S", vo); + } + + /** + * 프로그램변경요청 요청번호MAX 정보를 조회 + * @param vo ProgrmManageDtlVO + * @return ProgrmManageDtlVO + * @exception Exception + */ + public ProgrmManageDtlVO selectProgrmChangeRequstNo(ProgrmManageDtlVO vo){ + return (ProgrmManageDtlVO)selectOne("progrmManageDAO.selectProgrmChangeRequstNo_D", vo); + } + + /** + * 프로그램변경요청 목록을 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + public List<?> selectChangeRequstProcessList(ComDefaultVO vo) throws Exception{ + return selectList("progrmManageDAO.selectChangeRequstProcessList_D", vo); + } + + /** + * 프로그램변경요청 총건수를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + public int selectChangeRequstListProcessTotCnt(ComDefaultVO vo) { + return (Integer)selectOne("progrmManageDAO.selectChangeRequstProcessListTotCnt_S", vo); + } + + /** + * 프로그램변경요청 처리 수정 + * @param vo ProgrmManageDtlVO + * @exception Exception + */ + public void updateProgrmChangeRequstProcess(ProgrmManageDtlVO vo){ + update("progrmManageDAO.updateProgrmChangeRequstProcess_S", vo); + } + + + /** + * 프로그램목록 전체삭제 초기화 + * @return boolean + * @exception Exception + */ + public boolean deleteAllProgrm(){ + ProgrmManageVO vo = new ProgrmManageVO(); + update("progrmManageDAO.deleteAllProgrm", vo); + return true; + } + + /** + * 프로그램변경내역 전체삭제 초기화 + * @return boolean + * @exception Exception + */ + public boolean deleteAllProgrmDtls(){ + ProgrmManageDtlVO vo = new ProgrmManageDtlVO(); + update("progrmManageDAO.deleteAllProgrmDtls", vo); + return true; + } + + /** + * 프로그램목록 데이타 존재여부 조회한다. + * @return int + * @exception Exception + */ + public int selectProgrmListTotCnt() { + ProgrmManageVO vo = new ProgrmManageVO(); + return (Integer)selectOne("progrmManageDAO.selectProgrmListTotCnt", vo); + } + + /** + * 프로그램변경요청자 Email 정보를 조회 + * @param vo ProgrmManageDtlVO + * @return ProgrmManageDtlVO + * @exception Exception + */ + public ProgrmManageDtlVO selectRqesterEmail(ProgrmManageDtlVO vo){ + return (ProgrmManageDtlVO)selectOne("progrmManageDAO.selectRqesterEmail", vo); + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/prm/service/impl/ProgrmManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/prm/service/impl/EgovProgrmManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/prm/service/impl/EgovProgrmManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/prm/service/impl/EgovProgrmManageServiceImpl.java (revision 7) @@ -0,0 +1,244 @@ +package egovframework.com.sym.prm.service.impl; + +import java.util.List; + +import egovframework.com.cmm.ComDefaultVO; +import egovframework.com.sym.prm.service.EgovProgrmManageService; +import egovframework.com.sym.prm.service.ProgrmManageDtlVO; +import egovframework.com.sym.prm.service.ProgrmManageVO; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * 프로그램목록관리 및 프로그램변경관리에 관한 비즈니스 구현 클래스를 정의한다. + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * + * </pre> + */ +@Service("progrmManageService") +public class EgovProgrmManageServiceImpl extends EgovAbstractServiceImpl implements EgovProgrmManageService { + + @Resource(name="progrmManageDAO") + private ProgrmManageDAO progrmManageDAO; + + + /** + * 프로그램 상세정보를 조회 + * @param vo ComDefaultVO + * @return ProgrmManageVO + * @exception Exception + */ + @Override + public ProgrmManageVO selectProgrm(ProgrmManageVO vo) throws Exception{ + return progrmManageDAO.selectProgrm(vo); + } + /** + * 프로그램 목록을 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + @Override + public List<?> selectProgrmList(ComDefaultVO vo) throws Exception { + return progrmManageDAO.selectProgrmList(vo); + } + /** + * 프로그램목록 총건수를 조회한다. + * @param vo ComDefaultVO + * @return Integer + * @exception Exception + */ + @Override + public int selectProgrmListTotCnt(ComDefaultVO vo) throws Exception { + return progrmManageDAO.selectProgrmListTotCnt(vo); + } + /** + * 프로그램 정보를 등록 + * @param vo ProgrmManageVO + * @exception Exception + */ + @Override + public void insertProgrm(ProgrmManageVO vo) throws Exception { + progrmManageDAO.insertProgrm(vo); + } + + /** + * 프로그램 정보를 수정 + * @param vo ProgrmManageVO + * @exception Exception + */ + @Override + public void updateProgrm(ProgrmManageVO vo) throws Exception { + progrmManageDAO.updateProgrm(vo); + } + + /** + * 프로그램 정보를 삭제 + * @param vo ProgrmManageVO + * @exception Exception + */ + @Override + public void deleteProgrm(ProgrmManageVO vo) throws Exception { + progrmManageDAO.deleteProgrm(vo); + } + + /** + * 프로그램 파일 존재여부를 조회 + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + @Override + public int selectProgrmNMTotCnt(ComDefaultVO vo) throws Exception{ + return progrmManageDAO.selectProgrmNMTotCnt(vo); + } + + /** + * 프로그램변경요청 정보를 조회 + * @param vo ProgrmManageDtlVO + * @return ProgrmManageDtlVO + * @exception Exception + */ + @Override + public ProgrmManageDtlVO selectProgrmChangeRequst(ProgrmManageDtlVO vo) throws Exception{ + return progrmManageDAO.selectProgrmChangeRequst(vo); + } + + /** + * 프로그램변경요청 목록을 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + @Override + public List<?> selectProgrmChangeRequstList(ComDefaultVO vo) throws Exception { + return progrmManageDAO.selectProgrmChangeRequstList(vo); + } + + /** + * 프로그램변경요청목록 총건수를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + @Override + public int selectProgrmChangeRequstListTotCnt(ComDefaultVO vo) throws Exception { + return progrmManageDAO.selectProgrmChangeRequstListTotCnt(vo); + } + + /** + * 프로그램변경요청을 등록 + * @param vo ProgrmManageDtlVO + * @exception Exception + */ + @Override + public void insertProgrmChangeRequst(ProgrmManageDtlVO vo) throws Exception { + progrmManageDAO.insertProgrmChangeRequst(vo); + } + + /** + * 프로그램변경요청을 수정 + * @param vo ProgrmManageDtlVO + * @exception Exception + */ + @Override + public void updateProgrmChangeRequst(ProgrmManageDtlVO vo) throws Exception { + progrmManageDAO.updateProgrmChangeRequst(vo); + } + + /** + * 프로그램변경요청을 삭제 + * @param vo ProgrmManageDtlVO + * @exception Exception + */ + @Override + public void deleteProgrmChangeRequst(ProgrmManageDtlVO vo) throws Exception { + progrmManageDAO.deleteProgrmChangeRequst(vo); + } + + /** + * 프로그램변경요청 요청번호MAX 정보를 조회 + * @param vo ProgrmManageDtlVO + * @return ProgrmManageDtlVO + * @exception Exception + */ + @Override + public ProgrmManageDtlVO selectProgrmChangeRequstNo(ProgrmManageDtlVO vo) throws Exception { + return progrmManageDAO.selectProgrmChangeRequstNo(vo); + } + + /** + * 프로그램변경요청처리 목록을 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + @Override + public List<?> selectChangeRequstProcessList(ComDefaultVO vo) throws Exception { + return progrmManageDAO.selectChangeRequstProcessList(vo); + } + + /** + * 프로그램변경요청처리목록 총건수를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + @Override + public int selectChangeRequstProcessListTotCnt(ComDefaultVO vo) throws Exception { + return progrmManageDAO.selectChangeRequstListProcessTotCnt(vo); + } + + /** + * 프로그램변경요청처리를 수정 + * @param vo ProgrmManageDtlVO + * @exception Exception + */ + @Override + public void updateProgrmChangeRequstProcess(ProgrmManageDtlVO vo) throws Exception { + progrmManageDAO.updateProgrmChangeRequstProcess(vo); + } + + /** + * 화면에 조회된 메뉴 목록 정보를 데이터베이스에서 삭제 + * @param checkedProgrmFileNmForDel String + * @exception Exception + */ + @Override + public void deleteProgrmManageList(String checkedProgrmFileNmForDel) throws Exception { + ProgrmManageVO vo = null; + String [] delProgrmFileNm = checkedProgrmFileNmForDel.split(","); + for (int i=0; i<delProgrmFileNm.length ; i++){ + vo = new ProgrmManageVO(); + vo.setProgrmFileNm(delProgrmFileNm[i]); + progrmManageDAO.deleteProgrm(vo); + } + } + + /** + * 프로그램변경요청자 Email 정보를 조회 + * @param vo ProgrmManageDtlVO + * @return ProgrmManageDtlVO + * @exception Exception + */ + @Override + public ProgrmManageDtlVO selectRqesterEmail(ProgrmManageDtlVO vo) throws Exception{ + return progrmManageDAO.selectRqesterEmail(vo); + } + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/prm/service/impl/EgovProgrmManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManageDtlVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManageDtlVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManageDtlVO.java (revision 7) @@ -0,0 +1,266 @@ +package egovframework.com.sym.prm.service; + +/** + * 프로그램변경관리 처리를 위한 VO 클래스르를 정의한다 + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * + * </pre> + */ + +public class ProgrmManageDtlVO{ + + /** 프로그램파일명 */ + private String progrmFileNm; + /** 요청번호 */ + private int rqesterNo; + /** 요청제목 */ + private String rqesterSj; + /** 요청자ID */ + private String rqesterPersonId; + /** 요청일자 */ + private String rqesterDe; + /** 변경요청내용 */ + private String changerqesterCn; + /** 처리자ID */ + private String opetrId; + /** 처리상태코드 */ + private String processSttus; + /** 처리일자 */ + private String processDe; + /** 요청처리내용 */ + private String rqesterProcessCn; + + /** 요청시작일자 */ + private String rqesterDeBegin; + /** 요청종료일자 */ + private String rqesterDeEnd; + + /** 프로그램파일명 */ + private String tmpProgrmNm; + /** 요청번호 */ + private int tmpRqesterNo; + /** tmp_Email */ + private String tmpEmail; + + /** + * progrmFileNm attribute를 리턴한다. + * @return String + */ + public String getProgrmFileNm() { + return progrmFileNm; + } + /** + * progrmFileNm attribute 값을 설정한다. + * @param progrmFileNm String + */ + public void setProgrmFileNm(String progrmFileNm) { + this.progrmFileNm = progrmFileNm; + } + /** + * rqesterNo attribute를 리턴한다. + * @return int + */ + public int getRqesterNo() { + return rqesterNo; + } + /** + * rqesterNo attribute 값을 설정한다. + * @param rqesterNo int + */ + public void setRqesterNo(int rqesterNo) { + this.rqesterNo = rqesterNo; + } + /** + * rqesterSj attribute를 리턴한다. + * @return String + */ + public String getRqesterSj() { + return rqesterSj; + } + /** + * rqesterSj attribute 값을 설정한다. + * @param rqesterSj String + */ + public void setRqesterSj(String rqesterSj) { + this.rqesterSj = rqesterSj; + } + /** + * rqesterPersonId attribute를 리턴한다. + * @return String + */ + public String getRqesterPersonId() { + return rqesterPersonId; + } + /** + * rqesterPersonId attribute 값을 설정한다. + * @param rqesterPersonId String + */ + public void setRqesterPersonId(String rqesterPersonId) { + this.rqesterPersonId = rqesterPersonId; + } + /** + * rqesterDe attribute를 리턴한다. + * @return String + */ + public String getRqesterDe() { + return rqesterDe; + } + /** + * rqesterDe attribute 값을 설정한다. + * @param rqesterDe String + */ + public void setRqesterDe(String rqesterDe) { + this.rqesterDe = rqesterDe; + } + /** + * changerqesterCn attribute를 리턴한다. + * @return String + */ + public String getChangerqesterCn() { + return changerqesterCn; + } + /** + * changerqesterCn attribute 값을 설정한다. + * @param changerqesterCn String + */ + public void setChangerqesterCn(String changerqesterCn) { + this.changerqesterCn = changerqesterCn; + } + /** + * opetrId attribute를 리턴한다. + * @return String + */ + public String getOpetrId() { + return opetrId; + } + /** + * opetrId attribute 값을 설정한다. + * @param opetrId String + */ + public void setOpetrId(String opetrId) { + this.opetrId = opetrId; + } + /** + * processSttus attribute를 리턴한다. + * @return String + */ + public String getProcessSttus() { + return processSttus; + } + /** + * processSttus attribute 값을 설정한다. + * @param processSttus String + */ + public void setProcessSttus(String processSttus) { + this.processSttus = processSttus; + } + /** + * processDe attribute를 리턴한다. + * @return String + */ + public String getProcessDe() { + return processDe; + } + /** + * processDe attribute 값을 설정한다. + * @param processDe String + */ + public void setProcessDe(String processDe) { + this.processDe = processDe; + } + /** + * rqesterProcessCn attribute를 리턴한다. + * @return String + */ + public String getRqesterProcessCn() { + return rqesterProcessCn; + } + /** + * rqesterProcessCn attribute 값을 설정한다. + * @param rqesterProcessCn String + */ + public void setRqesterProcessCn(String rqesterProcessCn) { + this.rqesterProcessCn = rqesterProcessCn; + } + /** + * rqesterDeBegin attribute를 리턴한다. + * @return String + */ + public String getRqesterDeBegin() { + return rqesterDeBegin; + } + /** + * rqesterDeBegin attribute 값을 설정한다. + * @param rqesterDeBegin String + */ + public void setRqesterDeBegin(String rqesterDeBegin) { + this.rqesterDeBegin = rqesterDeBegin; + } + /** + * rqesterDeEnd attribute를 리턴한다. + * @return String + */ + public String getRqesterDeEnd() { + return rqesterDeEnd; + } + /** + * rqesterDeEnd attribute 값을 설정한다. + * @param rqesterDeEnd String + */ + public void setRqesterDeEnd(String rqesterDeEnd) { + this.rqesterDeEnd = rqesterDeEnd; + } + /** + * tmp_progrmNm attribute를 리턴한다. + * @return String + */ + public String getTmpProgrmNm() { + return tmpProgrmNm; + } + /** + * tmp_progrmNm attribute 값을 설정한다. + * @param tmp_progrmNm String + */ + public void setTmpProgrmNm(String tmp_progrmNm) { + this.tmpProgrmNm = tmp_progrmNm; + } + /** + * tmp_rqesterNo attribute를 리턴한다. + * @return int + */ + public int getTmpRqesterNo() { + return tmpRqesterNo; + } + /** + * tmp_rqesterNo attribute 값을 설정한다. + * @param tmp_rqesterNo int + */ + public void setTmpRqesterNo(int tmp_rqesterNo) { + this.tmpRqesterNo = tmp_rqesterNo; + } + + /** + * tmp_Email attribute를 리턴한다. + * @return String + */ + public String getTmpEmail() { + return tmpEmail; + } + /** + * tmp_Email attribute 값을 설정한다. + * @param tmp_Email String + */ + public void setTmpEmail(String tmp_Email) { + this.tmpEmail = tmp_Email; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManageDtlVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManage.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManage.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManage.java (revision 7) @@ -0,0 +1,72 @@ +package egovframework.com.sym.prm.service; + +/** + * 프로그램목록 관리 생성을 위한 모델 클래스를 정의한다. + * @author 공통서비스 개발팀 이 용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이용 최초 생성 + * + * </pre> + */ + +public class ProgrmManage { + /** + * 프로그램설명 + */ + private String progrmDc; + /** + * 프로그램파일명 + */ + private String progrmFileNm; + /** + * 프로그램한글명 + */ + private String progrmKoreanNm; + /** + * 프로그램저장경로 + */ + private String progrmStrePath; + /** + * URL + */ + private String url; + + public String getProgrmDc() { + return progrmDc; + } + public void setProgrmDc(String progrmDc) { + this.progrmDc = progrmDc; + } + public String getProgrmFileNm() { + return progrmFileNm; + } + public void setProgrmFileNm(String progrmFileNm) { + this.progrmFileNm = progrmFileNm; + } + public String getProgrmKoreanNm() { + return progrmKoreanNm; + } + public void setProgrmKoreanNm(String progrmKoreanNm) { + this.progrmKoreanNm = progrmKoreanNm; + } + public String getProgrmStrePath() { + return progrmStrePath; + } + public void setProgrmStrePath(String progrmStrePath) { + this.progrmStrePath = progrmStrePath; + } + public String getUrl() { + return url; + } + public void setUrl(String urlTemp) { + url = urlTemp; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManage.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManageVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManageVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManageVO.java (revision 7) @@ -0,0 +1,104 @@ +package egovframework.com.sym.prm.service; + +/** + * 프로그램목록 처리를 위한 VO 클래스르를 정의한다 + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * + * </pre> + */ + +public class ProgrmManageVO{ + + /** 프로그램파일명 */ + private String progrmFileNm; + /** 프로그램저장경로 */ + private String progrmStrePath; + /** 프로그램한글명 */ + private String progrmKoreanNm; + /** URL */ + private String url; + /** 프로그램설명 */ + private String progrmDc; + + /** + * progrmFileNm attribute를 리턴한다. + * @return String + */ + public String getProgrmFileNm() { + return progrmFileNm; + } + /** + * progrmFileNm attribute 값을 설정한다. + * @param progrmFileNm String + */ + public void setProgrmFileNm(String progrmFileNm) { + this.progrmFileNm = progrmFileNm; + } + /** + * progrmStrePath attribute를 리턴한다. + * @return String + */ + public String getProgrmStrePath() { + return progrmStrePath; + } + /** + * progrmStrePath attribute 값을 설정한다. + * @param progrmStrePath String + */ + public void setProgrmStrePath(String progrmStrePath) { + this.progrmStrePath = progrmStrePath; + } + /** + * progrmKoreanNm attribute를 리턴한다. + * @return String + */ + public String getProgrmKoreanNm() { + return progrmKoreanNm; + } + /** + * progrmKoreanNm attribute 값을 설정한다. + * @param progrmKoreanNm String + */ + public void setProgrmKoreanNm(String progrmKoreanNm) { + this.progrmKoreanNm = progrmKoreanNm; + } + /** + * url attribute를 리턴한다. + * @return String + */ + public String getURL() { + return url; + } + /** + * URL attribute 값을 설정한다. + * @param URL String + */ + public void setURL(String URL) { + this.url = URL; + } + /** + * progrmDc attribute를 리턴한다. + * @return String + */ + public String getProgrmDc() { + return progrmDc; + } + /** + * progrmDc attribute 값을 설정한다. + * @param progrmDc String + */ + public void setProgrmDc(String progrmDc) { + this.progrmDc = progrmDc; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManageVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/prm/service/EgovProgrmManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/prm/service/EgovProgrmManageService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/prm/service/EgovProgrmManageService.java (revision 7) @@ -0,0 +1,165 @@ +package egovframework.com.sym.prm.service; + +import java.util.List; + +import egovframework.com.cmm.ComDefaultVO; + +/** + * 프로그램관리에 관한 서비스 인터페이스 클래스를 정의한다. + * @author 개발환경 개발팀 이용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이 용 최초 생성 + * + * </pre> + */ + +public interface EgovProgrmManageService { + /** + * 프로그램 상세정보를 조회 + * @param vo ComDefaultVO + * @return ProgrmManageVO + * @exception Exception + */ + ProgrmManageVO selectProgrm(ProgrmManageVO vo) throws Exception; + /** + * 프로그램 목록을 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + List<?> selectProgrmList(ComDefaultVO vo) throws Exception; + /** + * 프로그램목록 총건수를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + int selectProgrmListTotCnt(ComDefaultVO vo) throws Exception; + /** + * 프로그램 정보를 등록 + * @param vo ProgrmManageVO + * @exception Exception + */ + void insertProgrm(ProgrmManageVO vo) throws Exception; + + /** + * 프로그램 정보를 수정 + * @param vo ProgrmManageVO + * @exception Exception + */ + void updateProgrm(ProgrmManageVO vo) throws Exception; + + /** + * 프로그램 정보를 삭제 + * @param vo ProgrmManageVO + * @exception Exception + */ + void deleteProgrm(ProgrmManageVO vo) throws Exception; + + /** + * 프로그램 파일 존재여부를 조회 + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + int selectProgrmNMTotCnt(ComDefaultVO vo) throws Exception; + + /** + * 프로그램변경요청 정보를 조회 + * @param vo ProgrmManageDtlVO + * @return ProgrmManageDtlVO 프로그램변경요청 리스트 + * @exception Exception + */ + ProgrmManageDtlVO selectProgrmChangeRequst(ProgrmManageDtlVO vo) throws Exception; + + /** + * 프로그램변경요청 목록을 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + List<?> selectProgrmChangeRequstList(ComDefaultVO vo) throws Exception; + /** + * 프로그램변경요청목록 총건수를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + int selectProgrmChangeRequstListTotCnt(ComDefaultVO vo) throws Exception; + + /** + * 프로그램변경요청을 등록 + * @param vo ProgrmManageDtlVO + * @exception Exception + */ + void insertProgrmChangeRequst(ProgrmManageDtlVO vo) throws Exception; + + /** + * 프로그램변경요청을 수정 + * @param vo ProgrmManageDtlVO + * @exception Exception + */ + void updateProgrmChangeRequst(ProgrmManageDtlVO vo) throws Exception; + + /** + * 프로그램변경요청을 삭제 + * @param vo ProgrmManageDtlVO + * @exception Exception + */ + void deleteProgrmChangeRequst(ProgrmManageDtlVO vo) throws Exception; + + /** + * 프로그램변경요청 요청번호MAX 정보를 조회 + * @param vo ProgrmManageDtlVO + * @return ProgrmManageDtlVO + * @exception Exception + */ + ProgrmManageDtlVO selectProgrmChangeRequstNo(ProgrmManageDtlVO vo) throws Exception; + + /** + * 프로그램변경요청처리 목록을 조회 + * @param vo ComDefaultVO + * @return List + * @exception Exception + */ + List<?> selectChangeRequstProcessList(ComDefaultVO vo) throws Exception; + + /** + * 프로그램변경요청처리목록 총건수를 조회한다. + * @param vo ComDefaultVO + * @return int + * @exception Exception + */ + int selectChangeRequstProcessListTotCnt(ComDefaultVO vo) throws Exception; + + /** + * 프로그램변경요청처리를 수정 + * @param vo ProgrmManageDtlVO + * @exception Exception + */ + void updateProgrmChangeRequstProcess(ProgrmManageDtlVO vo) throws Exception; + + /** + * 화면에 조회된 메뉴 목록 정보를 데이터베이스에서 삭제 + * @param checkedProgrmFileNmForDel String + * @exception Exception + */ + void deleteProgrmManageList(String checkedProgrmFileNmForDel) throws Exception; + + /** + * 프로그램변경요청자 Email 정보를 조회 + * @param vo ProgrmManageDtlVO + * @return ProgrmManageDtlVO 프로그램변경요청 리스트 + * @exception Exception + */ + ProgrmManageDtlVO selectRqesterEmail(ProgrmManageDtlVO vo) throws Exception; + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/prm/service/EgovProgrmManageService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManageDtls.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManageDtls.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManageDtls.java (revision 7) @@ -0,0 +1,122 @@ +package egovframework.com.sym.prm.service; + +/** + * 프로그램변경요청 관리 생성을 위한 모델 클래스를 정의한다. + * @author 공통서비스 개발팀 이 용 + * @since 2009.06.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.03.20 이용 최초 생성 + * + * </pre> + */ + +public class ProgrmManageDtls { + + /** + * 변경요청내용 + */ + private String changerqesterCn; + /** + * 처리자ID + */ + private String opetrId; + /** + * 처리일자 + */ + private String processDe; + public String getChangerqesterCn() { + return changerqesterCn; + } + public void setChangerqesterCn(String changerqesterCn) { + this.changerqesterCn = changerqesterCn; + } + public String getOpetrId() { + return opetrId; + } + public void setOpetrId(String opetrId) { + this.opetrId = opetrId; + } + public String getProcessDe() { + return processDe; + } + public void setProcessDe(String processDe) { + this.processDe = processDe; + } + public String getProcessSttus() { + return processSttus; + } + public void setProcessSttus(String processSttus) { + this.processSttus = processSttus; + } + public String getProgrmFileNm() { + return progrmFileNm; + } + public void setProgrmFileNm(String progrmFileNm) { + this.progrmFileNm = progrmFileNm; + } + public String getRqesterDe() { + return rqesterDe; + } + public void setRqesterDe(String rqesterDe) { + this.rqesterDe = rqesterDe; + } + public int getRqesterNo() { + return rqesterNo; + } + public void setRqesterNo(int rqesterNo) { + this.rqesterNo = rqesterNo; + } + public String getRqesterpersonId() { + return rqesterpersonId; + } + public void setRqesterpersonId(String rqesterpersonId) { + this.rqesterpersonId = rqesterpersonId; + } + public String getRqesterProcessCn() { + return rqesterProcessCn; + } + public void setRqesterProcessCn(String rqesterProcessCn) { + this.rqesterProcessCn = rqesterProcessCn; + } + public String getRqesterSj() { + return rqesterSj; + } + public void setRqesterSj(String rqesterSj) { + this.rqesterSj = rqesterSj; + } + /** + * 처리상태코드 + */ + private String processSttus; + /** + * 프로그램파일명 + */ + private String progrmFileNm; + /** + * 요청일자 + */ + private String rqesterDe; + /** + * 요청번호 + */ + private int rqesterNo; + /** + * 요청자ID + */ + private String rqesterpersonId; + /** + * 요청처리내용 + */ + private String rqesterProcessCn; + /** + * 요청제목 + */ + private String rqesterSj; +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/prm/service/ProgrmManageDtls.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/cca/web/EgovCcmCmmnCodeManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cca/web/EgovCcmCmmnCodeManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cca/web/EgovCcmCmmnCodeManageController.java (revision 7) @@ -0,0 +1,262 @@ +package egovframework.com.sym.ccm.cca.web; + +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springmodules.validation.commons.DefaultBeanValidator; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.sym.ccm.cca.service.CmmnCode; +import egovframework.com.sym.ccm.cca.service.CmmnCodeVO; +import egovframework.com.sym.ccm.cca.service.EgovCcmCmmnCodeManageService; +import egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO; +import egovframework.com.sym.ccm.ccc.service.EgovCcmCmmnClCodeManageService; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +/** +* +* 공통코드에 관한 요청을 받아 서비스 클래스로 요청을 전달하고 서비스클래스에서 처리한 결과를 웹 화면으로 전달을 위한 Controller를 정의한다 +* @author 공통서비스 개발팀 이중호 +* @since 2009.04.01 +* @version 1.0 +* @see +* +* <pre> +* << 개정이력(Modification Information) >> +* +* 수정일 수정자 수정내용 +* ------- -------- --------------------------- +* 2009.04.01 이중호 최초 생성 +* 2011.8.26 정진오 IncludedInfo annotation 추가 +* 2017.08.16 이정은 표준프레임워크 v3.7 개선 +* +* </pre> +*/ + +@Controller +public class EgovCcmCmmnCodeManageController { + + @Resource(name = "CmmnCodeManageService") + private EgovCcmCmmnCodeManageService cmmnCodeManageService; + + @Resource(name = "CmmnClCodeManageService") + private EgovCcmCmmnClCodeManageService cmmnClCodeManageService; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** EgovMessageSource */ + @Resource(name = "egovMessageSource") + EgovMessageSource egovMessageSource; + + @Autowired + private DefaultBeanValidator beanValidator; + + + + /** + * 공통분류코드 목록을 조회한다. + * + * @param searchVO + * @param model + * @return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeList" + * @throws Exception + */ + @IncludedInfo(name = "공통코드", listUrl = "/sym/ccm/cca/SelectCcmCmmnCodeList.do", order = 980, gid = 60) + @RequestMapping(value = "/sym/ccm/cca/SelectCcmCmmnCodeList.do") + public String selectCmmnCodeList(@ModelAttribute("searchVO") CmmnCodeVO searchVO, ModelMap model) + throws Exception { + /** EgovPropertyService.sample */ + searchVO.setPageUnit(propertiesService.getInt("pageUnit")); + searchVO.setPageSize(propertiesService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(searchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(searchVO.getPageUnit()); + paginationInfo.setPageSize(searchVO.getPageSize()); + + searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + searchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List<?> CmmnCodeList = cmmnCodeManageService.selectCmmnCodeList(searchVO); + model.addAttribute("resultList", CmmnCodeList); + + int totCnt = cmmnCodeManageService.selectCmmnCodeListTotCnt(searchVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeList"; + } + + /** + * 공통코드 상세항목을 조회한다. + * + * @param loginVO + * @param cmmnCodeVO + * @param model + * @return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeDetail" + * @throws Exception + */ + @RequestMapping(value = "/sym/ccm/cca/SelectCcmCmmnCodeDetail.do") + public String selectCmmnCodeDetail(@ModelAttribute("loginVO") LoginVO loginVO, CmmnCodeVO cmmnCodeVO, ModelMap model) throws Exception { + + CmmnCodeVO vo = cmmnCodeManageService.selectCmmnCodeDetail(cmmnCodeVO); + + model.addAttribute("result", vo); + + return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeDetail"; + } + + /** + * 공통코드 등록을 위한 등록페이지로 이동한다. + * + * @param cmmnCodeVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/sym/ccm/cca/RegistCcmCmmnCodeView.do") + public String insertCmmnCodeView(@ModelAttribute("cmmnCodeVO")CmmnCodeVO cmmnCodeVO, ModelMap model) throws Exception { + + CmmnClCodeVO searchVO = new CmmnClCodeVO(); + searchVO.setFirstIndex(0); + List<?> CmmnCodeList = cmmnClCodeManageService.selectCmmnClCodeList(searchVO); + + model.addAttribute("clCodeList", CmmnCodeList); + + return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeRegist"; + } + + /** + * 공통코드를 등록한다. + * + * @param CmmnCodeVO + * @param CmmnCodeVO + * @param status + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/sym/ccm/cca/RegistCcmCmmnCode.do") + public String insertCmmnCode(@ModelAttribute("searchVO") CmmnCodeVO cmmnCode, @ModelAttribute("cmmnCodeVO") CmmnCodeVO cmmnCodeVO, + BindingResult bindingResult, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + CmmnClCodeVO searchVO = new CmmnClCodeVO(); + + beanValidator.validate(cmmnCodeVO, bindingResult); + + if (bindingResult.hasErrors()) { + + List<?> CmmnCodeList = cmmnClCodeManageService.selectCmmnClCodeList(searchVO); + model.addAttribute("clCodeList", CmmnCodeList); + + return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeRegist"; + } + + if(cmmnCode.getCodeId() != null){ + CmmnCode vo = cmmnCodeManageService.selectCmmnCodeDetail(cmmnCode); + if(vo != null){ + model.addAttribute("message", egovMessageSource.getMessage("comSymCcmCca.validate.codeCheck")); + + searchVO.setFirstIndex(0); + List<?> CmmnCodeList = cmmnClCodeManageService.selectCmmnClCodeList(searchVO); + model.addAttribute("clCodeList", CmmnCodeList); + + return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeRegist"; + } + } + + cmmnCodeVO.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + cmmnCodeManageService.insertCmmnCode(cmmnCodeVO); + + return "forward:/sym/ccm/cca/SelectCcmCmmnCodeList.do"; + } + + /** + * 공통코드를 삭제한다. + * + * @param cmmnCodeVO + * @param status + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/sym/ccm/cca/RemoveCcmCmmnCode.do") + public String deleteCmmnCode(@ModelAttribute("cmmnCodeVO") CmmnCodeVO cmmnCodeVO, + BindingResult bindingResult, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + cmmnCodeVO.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + cmmnCodeManageService.deleteCmmnCode(cmmnCodeVO); + + return "forward:/sym/ccm/cca/SelectCcmCmmnCodeList.do"; + } + + /** + * 공통코드 수정을 위한 수정페이지로 이동한다. + * + * @param cmmnCodeVO + * @param model + * @return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeUpdt" + * @throws Exception + */ + @RequestMapping("/sym/ccm/cca/UpdateCcmCmmnCodeView.do") + public String updateCmmnCodeView(@ModelAttribute("cmmnCodeVO") CmmnCodeVO cmmnCodeVO, ModelMap model) + throws Exception { + + CmmnCode result = cmmnCodeManageService.selectCmmnCodeDetail(cmmnCodeVO); + + model.addAttribute("cmmnCodeVO", result); + + return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeUpdt"; + } + + /** + * 공통코드를 수정한다. + * + * @param cmmnCodeVO + * @param status + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/sym/ccm/cca/UpdateCcmCmmnCode.do") + public String updateCmmnCode(@ModelAttribute("searchVO") CmmnCodeVO cmmnCode, @ModelAttribute("cmmnCodeVO") CmmnCodeVO cmmnCodeVO, + BindingResult bindingResult, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + beanValidator.validate(cmmnCodeVO, bindingResult); + if (bindingResult.hasErrors()) { + + CmmnCode result = cmmnCodeManageService.selectCmmnCodeDetail(cmmnCode); + model.addAttribute("cmmnCodeVO", result); + + return "egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeUpdt"; + } + + cmmnCodeVO.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + cmmnCodeManageService.updateCmmnCode(cmmnCodeVO); + + return "forward:/sym/ccm/cca/SelectCcmCmmnCodeList.do"; + } + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/cca/web/EgovCcmCmmnCodeManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/impl/CmmnCodeManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/impl/CmmnCodeManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/impl/CmmnCodeManageDAO.java (revision 7) @@ -0,0 +1,87 @@ +package egovframework.com.sym.ccm.cca.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Repository; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sym.ccm.cca.service.CmmnCode; +import egovframework.com.sym.ccm.cca.service.CmmnCodeVO; + +/** +* +* 공통코드에 대한 데이터 접근 클래스를 정의한다 +* @author 공통서비스 개발팀 이중호 +* @since 2009.04.01 +* @version 1.0 +* @see +* +* <pre> +* << 개정이력(Modification Information) >> +* +* 수정일 수정자 수정내용 +* ------- -------- --------------------------- +* 2009.04.01 이중호 최초 생성 +* +* </pre> +*/ + +@Repository("CmmnCodeManageDAO") +public class CmmnCodeManageDAO extends EgovComAbstractDAO { + + /** + * 공통코드 총 갯수를 조회한다. + * @param searchVO + * @return int(공통코드 총 갯수) + */ + public int selectCmmnCodeListTotCnt(CmmnCodeVO searchVO) throws Exception{ + return (Integer)selectOne("CmmnCodeManage.selectCmmnCodeListTotCnt", searchVO); + } + + /** + * 공통코드 목록을 조회한다. + * @param searchVO + * @return List(공통코드 목록) + * @throws Exception + */ + public List<?> selectCmmnCodeList(CmmnCodeVO searchVO) throws Exception{ + return list("CmmnCodeManage.selectCmmnCodeList", searchVO); + } + + /** + * 공통코드 상세항목을 조회한다. + * @param cmmnCode + * @return CmmnCode(공통코드) + */ + public CmmnCodeVO selectCmmnCodeDetail(CmmnCodeVO cmmnCodeVO) throws Exception{ + return selectOne("CmmnCodeManage.selectCmmnCodeDetail", cmmnCodeVO); +} + + /** + * 공통코드를 수정한다. + * @param cmmnCode + * @throws Exception + */ + public void updateCmmnCode(CmmnCode cmmnCode) throws Exception{ + update("CmmnCodeManage.updateCmmnCode", cmmnCode); + } + + /** + * 공통코드를 등록한다. + * @param cmmnCode + * @throws Exception + */ + public void insertCmmnCode(CmmnCode cmmnCode) throws Exception{ + insert("CmmnCodeManage.insertCmmnCode", cmmnCode); + } + + /** + * 공통코드를 삭제한다. + * @param cmmnCode + * @throws Exception + */ + public void deleteCmmnCode(CmmnCode cmmnCode) { + delete("CmmnCodeManage.deleteCmmnCode", cmmnCode); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/impl/CmmnCodeManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/impl/EgovCcmCmmnCodeManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/impl/EgovCcmCmmnCodeManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/impl/EgovCcmCmmnCodeManageServiceImpl.java (revision 7) @@ -0,0 +1,88 @@ +package egovframework.com.sym.ccm.cca.service.impl; + +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import egovframework.com.sym.ccm.cca.service.CmmnCode; +import egovframework.com.sym.ccm.cca.service.CmmnCodeVO; +import egovframework.com.sym.ccm.cca.service.EgovCcmCmmnCodeManageService; +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +/** +* +* 공통코드에 대한 서비스 구현클래스를 정의한다 +* @author 공통서비스 개발팀 이중호 +* @since 2009.04.01 +* @version 1.0 +* @see +* +* <pre> +* << 개정이력(Modification Information) >> +* +* 수정일 수정자 수정내용 +* ------- -------- --------------------------- +* 2009.04.01 이중호 최초 생성 +* +* </pre> +*/ + +@Service("CmmnCodeManageService") +public class EgovCcmCmmnCodeManageServiceImpl extends EgovAbstractServiceImpl implements EgovCcmCmmnCodeManageService{ + + @Resource(name="CmmnCodeManageDAO") + private CmmnCodeManageDAO cmmnCodeManageDAO; + + /** + * 공통코드 총 갯수를 조회한다. + */ + @Override + public int selectCmmnCodeListTotCnt(CmmnCodeVO searchVO) throws Exception { + return cmmnCodeManageDAO.selectCmmnCodeListTotCnt(searchVO); + } + + /** + * 공통코드 목록을 조회한다. + */ + @Override + public List<?> selectCmmnCodeList(CmmnCodeVO searchVO) throws Exception { + return cmmnCodeManageDAO.selectCmmnCodeList(searchVO); + } + + /** + * 공통코드 상세항목을 조회한다. + */ + @Override + public CmmnCodeVO selectCmmnCodeDetail(CmmnCodeVO cmmnCodeVO) throws Exception{ + CmmnCodeVO ret = cmmnCodeManageDAO.selectCmmnCodeDetail(cmmnCodeVO); + return ret; + } + + /** + * 공통코드를 수정한다. + */ + @Override + public void updateCmmnCode(CmmnCodeVO cmmnCodeVO) throws Exception { + cmmnCodeManageDAO.updateCmmnCode(cmmnCodeVO); + } + + /** + * 공통코드를 등록한다. + */ + @Override + public void insertCmmnCode(CmmnCode cmmnCode) throws Exception { + cmmnCodeManageDAO.insertCmmnCode(cmmnCode); + + } + + /** + * 공통코드를 삭제한다. + */ + @Override + public void deleteCmmnCode(CmmnCode cmmnCode) throws Exception { + cmmnCodeManageDAO.deleteCmmnCode(cmmnCode); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/impl/EgovCcmCmmnCodeManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/CmmnCode.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/CmmnCode.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/CmmnCode.java (revision 7) @@ -0,0 +1,195 @@ +package egovframework.com.sym.ccm.cca.service; + +import java.io.Serializable; + +/** +* 공통코드 모델 클래스 +* @author 공통서비스 개발팀 이중호 +* @since 2009.04.01 +* @version 1.0 +* @see +* +* <pre> +* << 개정이력(Modification Information) >> +* +* 수정일 수정자 수정내용 +* ------- -------- --------------------------- +* 2009.04.01 이중호 최초 생성 +* +* </pre> +*/ + +public class CmmnCode implements Serializable { + + private static final long serialVersionUID = 638950577710720796L; + + /* + * 코드ID + */ + private String codeId = ""; + + /* + * 코드ID명 + */ + private String codeIdNm = ""; + + /* + * 코드ID설명 + */ + private String codeIdDc = ""; + + /* + * 분류코드 + */ + private String clCode = ""; + + /* + * 분류코드명 + */ + private String clCodeNm = ""; + + /* + * 사용여부 + */ + private String useAt = ""; + + /* + * 최초등록자ID + */ + private String frstRegisterId = ""; + + /* + * 최종수정자ID + */ + private String lastUpdusrId = ""; + + /** + * codeId attribute 를 리턴한다. + * @return String + */ + public String getCodeId() { + return codeId; + } + + /** + * codeId attribute 값을 설정한다. + * @param codeId String + */ + public void setCodeId(String codeId) { + this.codeId = codeId; + } + + /** + * codeIdNm attribute 를 리턴한다. + * @return String + */ + public String getCodeIdNm() { + return codeIdNm; + } + + /** + * codeIdNm attribute 값을 설정한다. + * @param codeIdNm String + */ + public void setCodeIdNm(String codeIdNm) { + this.codeIdNm = codeIdNm; + } + + /** + * codeIdDc attribute 를 리턴한다. + * @return String + */ + public String getCodeIdDc() { + return codeIdDc; + } + + /** + * codeIdDc attribute 값을 설정한다. + * @param codeIdDc String + */ + public void setCodeIdDc(String codeIdDc) { + this.codeIdDc = codeIdDc; + } + + /** + * clCode attribute 를 리턴한다. + * @return String + */ + public String getClCode() { + return clCode; + } + + /** + * clCode attribute 값을 설정한다. + * @param clCode String + */ + public void setClCode(String clCode) { + this.clCode = clCode; + } + + /** + * clCodeNm attribute 를 리턴한다. + * @return String + */ + public String getClCodeNm() { + return clCodeNm; + } + + /** + * clCodeNm attribute 값을 설정한다. + * @param clCodeNm String + */ + public void setClCodeNm(String clCodeNm) { + this.clCodeNm = clCodeNm; + } + + /** + * useAt attribute 를 리턴한다. + * @return String + */ + public String getUseAt() { + return useAt; + } + + /** + * useAt attribute 값을 설정한다. + * @param useAt String + */ + public void setUseAt(String useAt) { + this.useAt = useAt; + } + + /** + * frstRegisterId attribute 를 리턴한다. + * @return String + */ + public String getFrstRegisterId() { + return frstRegisterId; + } + + /** + * frstRegisterId attribute 값을 설정한다. + * @param frstRegisterId String + */ + public void setFrstRegisterId(String frstRegisterId) { + this.frstRegisterId = frstRegisterId; + } + + /** + * lastUpdusrId attribute 를 리턴한다. + * @return String + */ + public String getLastUpdusrId() { + return lastUpdusrId; + } + + /** + * lastUpdusrId attribute 값을 설정한다. + * @param lastUpdusrId String + */ + public void setLastUpdusrId(String lastUpdusrId) { + this.lastUpdusrId = lastUpdusrId; + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/CmmnCode.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/EgovCcmCmmnCodeManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/EgovCcmCmmnCodeManageService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/EgovCcmCmmnCodeManageService.java (revision 7) @@ -0,0 +1,72 @@ +package egovframework.com.sym.ccm.cca.service; + +import java.util.List; + +/** +* +* 공통코드에 관한 서비스 인터페이스 클래스를 정의한다 +* @author 공통서비스 개발팀 이중호 +* @since 2009.04.01 +* @version 1.0 +* @see +* +* <pre> +* << 개정이력(Modification Information) >> +* +* 수정일 수정자 수정내용 +* ------- -------- --------------------------- +* 2009.04.01 이중호 최초 생성 +* +* </pre> +*/ + +public interface EgovCcmCmmnCodeManageService { + + /** + * 공통분류코드 총 갯수를 조회한다. + * + * @param searchVO + * @return int(공통분류코드 총 갯수) + * @throws Exception + */ + int selectCmmnCodeListTotCnt(CmmnCodeVO searchVO) throws Exception; + + /** + * 공통코드 목록을 조회한다. + * + * @param searchVO + * @return List(공통분류코드 목록) + * @throws Exception + */ + List<?> selectCmmnCodeList(CmmnCodeVO searchVO) throws Exception; + + /** + * 공통코드 상세항목을 조회한다. + * @param cmmnCode + * @return CmmnCode(공통코드) + * @throws Exception + */ + CmmnCodeVO selectCmmnCodeDetail(CmmnCodeVO cmmnCodeVO) throws Exception; + + /** + * 공통코드를 수정한다. + * @param cmmnCodeVO + * @throws Exception + */ + void updateCmmnCode(CmmnCodeVO cmmnCodeVO) throws Exception; + + /** + * 공통코드를 등록한다. + * @param cmmnCode + * @throws Exception + */ + void insertCmmnCode(CmmnCode cmmnCode) throws Exception; + + /** + * 공통코드를 삭제한다. + * @param cmmnCode + * @throws Exception + */ + void deleteCmmnCode(CmmnCode cmmnCode) throws Exception; + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/EgovCcmCmmnCodeManageService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/CmmnCodeVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/CmmnCodeVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/CmmnCodeVO.java (revision 7) @@ -0,0 +1,198 @@ +package egovframework.com.sym.ccm.cca.service; + +import java.io.Serializable; + +/** +* +* 공통코드 VO 클래스 +* @author 공통서비스 개발팀 이중호 +* @since 2009.04.01 +* @version 1.0 +* @see +* +* <pre> +* << 개정이력(Modification Information) >> +* +* 수정일 수정자 수정내용 +* ------- -------- --------------------------- +* 2009.04.01 이중호 최초 생성 +* +* </pre> +*/ + +public class CmmnCodeVO extends CmmnCode implements Serializable { + + private static final long serialVersionUID = -4184057693049713450L; + + /** 검색조건 */ + private String searchCondition = ""; + + /** 검색Keyword */ + private String searchKeyword = ""; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** firstIndex */ + private int firstIndex = 1; + + /** lastIndex */ + private int lastIndex = 1; + + /** recordCountPerPage */ + private int recordCountPerPage = 10; + + /** + * searchCondition attribute 를 리턴한다. + * @return String + */ + public String getSearchCondition() { + return searchCondition; + } + + /** + * searchCondition attribute 값을 설정한다. + * @param searchCondition String + */ + public void setSearchCondition(String searchCondition) { + this.searchCondition = searchCondition; + } + + /** + * searchKeyword attribute 를 리턴한다. + * @return String + */ + public String getSearchKeyword() { + return searchKeyword; + } + + /** + * searchKeyword attribute 값을 설정한다. + * @param searchKeyword String + */ + public void setSearchKeyword(String searchKeyword) { + this.searchKeyword = searchKeyword; + } + + /** + * searchUseYn attribute 를 리턴한다. + * @return String + */ + public String getSearchUseYn() { + return searchUseYn; + } + + /** + * searchUseYn attribute 값을 설정한다. + * @param searchUseYn String + */ + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + /** + * pageIndex attribute 를 리턴한다. + * @return int + */ + public int getPageIndex() { + return pageIndex; + } + + /** + * pageIndex attribute 값을 설정한다. + * @param pageIndex int + */ + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + /** + * pageUnit attribute 를 리턴한다. + * @return int + */ + public int getPageUnit() { + return pageUnit; + } + + /** + * pageUnit attribute 값을 설정한다. + * @param pageUnit int + */ + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + /** + * pageSize attribute 를 리턴한다. + * @return int + */ + public int getPageSize() { + return pageSize; + } + + /** + * pageSize attribute 값을 설정한다. + * @param pageSize int + */ + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + /** + * firstIndex attribute 를 리턴한다. + * @return int + */ + public int getFirstIndex() { + return firstIndex; + } + + /** + * firstIndex attribute 값을 설정한다. + * @param firstIndex int + */ + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + /** + * lastIndex attribute 를 리턴한다. + * @return int + */ + public int getLastIndex() { + return lastIndex; + } + + /** + * lastIndex attribute 값을 설정한다. + * @param lastIndex int + */ + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + /** + * recordCountPerPage attribute 를 리턴한다. + * @return int + */ + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + /** + * recordCountPerPage attribute 값을 설정한다. + * @param recordCountPerPage int + */ + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/cca/service/CmmnCodeVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/ccc/web/EgovCcmCmmnClCodeManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/ccc/web/EgovCcmCmmnClCodeManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/ccc/web/EgovCcmCmmnClCodeManageController.java (revision 7) @@ -0,0 +1,241 @@ +package egovframework.com.sym.ccm.ccc.web; + +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springmodules.validation.commons.DefaultBeanValidator; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.sym.ccm.ccc.service.CmmnClCode; +import egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO; +import egovframework.com.sym.ccm.ccc.service.EgovCcmCmmnClCodeManageService; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +/** + * + * 공통분류코드에 관한 요청을 받아 서비스 클래스로 요청을 전달하고 서비스클래스에서 처리한 결과를 웹 화면으로 전달을 위한 Controller를 정의한다 + * + * @author 공통서비스 개발팀 이중호 + * @since 2009.04.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * --------- ------- --------------------------- + * 2009.04.01 이중호 최초 생성 + * 2011.8.26 정진오 IncludedInfo annotation 추가 + * 2017.06.08 이정은 표준프레임워크 v3.7 개선 + * + * </pre> + */ + +@Controller +public class EgovCcmCmmnClCodeManageController { + @Resource(name = "CmmnClCodeManageService") + private EgovCcmCmmnClCodeManageService cmmnClCodeManageService; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** EgovMessageSource */ + @Resource(name = "egovMessageSource") + EgovMessageSource egovMessageSource; + + @Autowired + private DefaultBeanValidator beanValidator; + + /** + * 공통분류코드 목록을 조회한다. + * + * @param loginVO + * @param searchVO + * @param model + * @return "egovframework/com/sym/ccm/ccc/SelectCcmCmmnClCodeList" + * @throws Exception + */ + @IncludedInfo(name = "공통분류코드", listUrl = "/sym/ccm/ccc/SelectCcmCmmnClCodeList.do", order = 960, gid = 60) + @RequestMapping(value = "/sym/ccm/ccc/SelectCcmCmmnClCodeList.do") + public String selectCmmnClCodeList(@ModelAttribute("searchVO") CmmnClCodeVO searchVO, ModelMap model) throws Exception { + + /** EgovPropertyService.sample */ + searchVO.setPageUnit(propertiesService.getInt("pageUnit")); + searchVO.setPageSize(propertiesService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(searchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(searchVO.getPageUnit()); + paginationInfo.setPageSize(searchVO.getPageSize()); + + searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + searchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List<?> CmmnCodeList = cmmnClCodeManageService.selectCmmnClCodeList(searchVO); + model.addAttribute("resultList", CmmnCodeList); + + int totCnt = cmmnClCodeManageService.selectCmmnClCodeListTotCnt(searchVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeList"; + } + + /** + * 공통분류코드 상세항목을 조회한다. + * + * @param loginVO + * @param cmmnClCode + * @param model + * @return "egovframework/com/sym/ccm/ccc/SelectCcmCmmnClCodeDetail.do" + * @throws Exception + */ + @RequestMapping(value = "/sym/ccm/ccc/SelectCcmCmmnClCodeDetail.do") + public String selectCmmnClCodeDetail(@ModelAttribute("loginVO") LoginVO loginVO, CmmnClCodeVO cmmnClCodeVO, + ModelMap model) throws Exception { + + CmmnClCode vo = cmmnClCodeManageService.selectCmmnClCodeDetail(cmmnClCodeVO); + + model.addAttribute("result", vo); + + return "egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeDetail"; + } + + /** + * 공통분류코드 등록을 위한 등록페이지로 이동한다. + * + * @param cmmnClCodeVO + * @param model + * @return "egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeRegist"; + * @throws Exception + */ + @RequestMapping("/sym/ccm/ccc/RegistCcmCmmnClCodeView.do") + public String insertCmmnClCodeView(@ModelAttribute("searchVO")CmmnClCodeVO cmmnClCodeVO, ModelMap model) throws Exception { + model.addAttribute("cmmnClCodeVO", new CmmnClCodeVO()); + + return "egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeRegist"; + } + + /** + * 공통분류코드를 등록한다. + * + * @param CmmnClCodeVO + * @param CmmnClCodeVO + * @param status + * @param model + * @return /sym/ccm/ccc/SelectCcmCmmnClCodeList.do"; + * @throws Exception + */ + @RequestMapping("/sym/ccm/ccc/RegistCcmCmmnClCode.do") + public String insertCmmnClCode(@ModelAttribute("cmmnClCodeVO") CmmnClCodeVO cmmnClCodeVO, + BindingResult bindingResult, ModelMap model) throws Exception { + + // 로그인VO에서 사용자 정보 가져오기 + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + beanValidator.validate(cmmnClCodeVO, bindingResult); + + if (bindingResult.hasErrors()) { + return "egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeRegist"; + } + + if(cmmnClCodeVO.getClCode() != null){ + CmmnClCode vo = cmmnClCodeManageService.selectCmmnClCodeDetail(cmmnClCodeVO); + if(vo != null){ + model.addAttribute("message", egovMessageSource.getMessage("comSymCcmCcc.validate.codeCheck")); + return "egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeRegist"; + } + } + + cmmnClCodeVO.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + cmmnClCodeManageService.insertCmmnClCode(cmmnClCodeVO); + + return "forward:/sym/ccm/ccc/SelectCcmCmmnClCodeList.do"; + } + + /** + * 공통분류코드를 삭제한다. + * + * @param cmmnClCodeVO + * @param status + * @param model + * @return /sym/ccm/ccc/SelectCcmCmmnClCodeList.do"; + * @throws Exception + */ + @RequestMapping("/sym/ccm/ccc/RemoveCcmCmmnClCode.do") + public String deleteCmmnClCode(@ModelAttribute("searchVO") CmmnClCodeVO cmmnClCode, @ModelAttribute("cmmnClCodeVO") CmmnClCodeVO cmmnClCodeVO, + BindingResult bindingResult, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + cmmnClCodeVO.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + cmmnClCodeManageService.deleteCmmnClCode(cmmnClCodeVO); + + return "forward:/sym/ccm/ccc/SelectCcmCmmnClCodeList.do"; + } + + /** + * 공통분류코드 수정을 위한 수정페이지로 이동한다. + * + * @param cmmnClCodeVO + * @param model + * @return "egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeUpdt"; + * @throws Exception + */ + @RequestMapping("/sym/ccm/ccc/UpdateCcmCmmnClCodeView.do") + public String updateCmmnClCodeView(@ModelAttribute("searchVO") CmmnClCodeVO cmmnClCodeVO, ModelMap model) + throws Exception { + + CmmnClCode result = cmmnClCodeManageService.selectCmmnClCodeDetail(cmmnClCodeVO); + + model.addAttribute("cmmnClCodeVO", result); + + return "egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeUpdt"; + } + + /** + * 공통분류코드를 수정한다. + * + * @param cmmnClCodeVO + * @param status + * @param model + * @return /sym/ccm/ccc/SelectCcmCmmnClCodeList.do" + * @throws Exception + */ + @RequestMapping("/sym/ccm/ccc/UpdateCcmCmmnClCode.do") + public String updateCmmnClCode(@ModelAttribute("searchVO") CmmnClCodeVO cmmnClCode, @ModelAttribute("cmmnClCodeVO") CmmnClCodeVO cmmnClCodeVO, + BindingResult bindingResult, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + beanValidator.validate(cmmnClCodeVO, bindingResult); + if (bindingResult.hasErrors()) { + + CmmnClCode result = cmmnClCodeManageService.selectCmmnClCodeDetail(cmmnClCode); + model.addAttribute("cmmnClCodeVO", result); + + return "egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeUpdt"; + } + + cmmnClCodeVO.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + cmmnClCodeManageService.updateCmmnClCode(cmmnClCodeVO); + + return "forward:/sym/ccm/ccc/SelectCcmCmmnClCodeList.do"; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/ccc/web/EgovCcmCmmnClCodeManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/impl/CmmnClCodeManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/impl/CmmnClCodeManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/impl/CmmnClCodeManageDAO.java (revision 7) @@ -0,0 +1,89 @@ +package egovframework.com.sym.ccm.ccc.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Repository; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sym.ccm.ccc.service.CmmnClCode; +import egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO; + +/** +* +* 공통분류코드에 대한 데이터 접근 클래스를 정의한다 +* @author 공통서비스 개발팀 이중호 +* @since 2009.04.01 +* @version 1.0 +* @see +* +* <pre> +* << 개정이력(Modification Information) >> +* +* 수정일 수정자 수정내용 +* ------- -------- --------------------------- +* 2009.04.01 이중호 최초 생성 +* +* </pre> +*/ +@Repository("CmmnClCodeManageDAO") +public class CmmnClCodeManageDAO extends EgovComAbstractDAO { + + /** + * 공통분류코드 총 갯수를 조회한다. + * @param searchVO + * @return int(공통분류코드 총 갯수) + */ + public int selectCmmnClCodeListTotCnt(CmmnClCodeVO searchVO) throws Exception { + return (Integer)selectOne("CmmnClCodeManage.selectCmmnClCodeListTotCnt", searchVO); + } + + /** + * 공통분류코드 목록을 조회한다. + * @param searchVO + * @return List(공통분류코드 목록) + * @throws Exception + */ + public List<?> selectCmmnClCodeList(CmmnClCodeVO searchVO) throws Exception { + return list("CmmnClCodeManage.selectCmmnClCodeList", searchVO); + } + + /** + * 공통분류코드 상세항목을 조회한다. + * @param cmmnClCode + * @return CmmnClCode(공통분류코드) + */ + public CmmnClCode selectCmmnClCodeDetail(CmmnClCode cmmnClCode) throws Exception { + return (CmmnClCode)selectOne("CmmnClCodeManage.selectCmmnClCodeDetail", cmmnClCode); + } + + /** + * 공통분류코드를 등록한다. + * @param cmmnClCodeVO + * @throws Exception + */ + public void insertCmmnClCode(CmmnClCodeVO cmmnClCodeVO) throws Exception{ + System.out.println("TEST5 : 등록 DAO"); + insert("CmmnClCodeManage.insertCmmnClCode", cmmnClCodeVO); + } + + /** + * 공통분류코드를 삭제한다. + * @param cmmnClCodeVO + * @throws Exception + */ + public void deleteCmmnClCode(CmmnClCodeVO cmmnClCodeVO) throws Exception { + delete("CmmnClCodeManage.deleteCmmnClCode", cmmnClCodeVO); + + } + + /** + * 공통분류코드를 수정한다. + * @param cmmnClCodeVO + * @throws Exception + */ + public void updateCmmnClCode(CmmnClCodeVO cmmnClCodeVO) throws Exception{ + update("CmmnClCodeManage.updateCmmnClCode", cmmnClCodeVO); + + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/impl/CmmnClCodeManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/impl/EgovCcmCmmnClCodeManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/impl/EgovCcmCmmnClCodeManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/impl/EgovCcmCmmnClCodeManageServiceImpl.java (revision 7) @@ -0,0 +1,89 @@ +package egovframework.com.sym.ccm.ccc.service.impl; + +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import egovframework.com.sym.ccm.ccc.service.CmmnClCode; +import egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO; +import egovframework.com.sym.ccm.ccc.service.EgovCcmCmmnClCodeManageService; +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +/** +* +* 공통분류코드에 대한 서비스 구현클래스를 정의한다 +* +* @author 공통서비스 개발팀 이중호 +* @since 2009.04.01 +* @version 1.0 +* @see +* +* <pre> +* << 개정이력(Modification Information) >> +* +* 수정일 수정자 수정내용 +* ------- -------- --------------------------- +* 2009.04.01 이중호 최초 생성 +* +* </pre> +*/ +@Service("CmmnClCodeManageService") +public class EgovCcmCmmnClCodeManageServiceImpl extends EgovAbstractServiceImpl implements EgovCcmCmmnClCodeManageService { + + @Resource(name = "CmmnClCodeManageDAO") + private CmmnClCodeManageDAO cmmnClCodeManageDAO; + + /** + * 공통분류코드 총 갯수를 조회한다. + */ + @Override + public int selectCmmnClCodeListTotCnt(CmmnClCodeVO searchVO) throws Exception { + return cmmnClCodeManageDAO.selectCmmnClCodeListTotCnt(searchVO); + } + + /** + * 공통분류코드 목록을 조회한다. + */ + @Override + public List<?> selectCmmnClCodeList(CmmnClCodeVO searchVO) throws Exception { + return cmmnClCodeManageDAO.selectCmmnClCodeList(searchVO); + } + + /** + * 공통분류코드 상세항목을 조회한다. + */ + @Override + public CmmnClCode selectCmmnClCodeDetail(CmmnClCodeVO cmmnClCodeVO) throws Exception { + CmmnClCode ret = cmmnClCodeManageDAO.selectCmmnClCodeDetail(cmmnClCodeVO); + return ret; + } + + /** + * 공통분류코드를 등록한다. + */ + @Override + public void insertCmmnClCode(CmmnClCodeVO cmmnClCodeVO) throws Exception { + System.out.println("TEST4 : 등록 Serviceimpl"); + cmmnClCodeManageDAO.insertCmmnClCode(cmmnClCodeVO); + } + + /** + * 공통분류코드를 삭제한다. + */ + @Override + public void deleteCmmnClCode(CmmnClCodeVO cmmnClCodeVO) throws Exception { + cmmnClCodeManageDAO.deleteCmmnClCode(cmmnClCodeVO); + } + + /** + * 공통분류코드를 수정한다. + */ + @Override + public void updateCmmnClCode(CmmnClCodeVO cmmnClCodeVO) throws Exception { + cmmnClCodeManageDAO.updateCmmnClCode(cmmnClCodeVO); + + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/impl/EgovCcmCmmnClCodeManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/EgovCcmCmmnClCodeManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/EgovCcmCmmnClCodeManageService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/EgovCcmCmmnClCodeManageService.java (revision 7) @@ -0,0 +1,71 @@ +package egovframework.com.sym.ccm.ccc.service; + +import java.util.List; + +/** + * + * 공통분류코드에 관한 서비스 인터페이스 클래스를 정의한다 + * @author 공통서비스 개발팀 이중호 + * @since 2009.04.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.01 이중호 최초 생성 + * + * </pre> + */ + + +public interface EgovCcmCmmnClCodeManageService { + + /** + * 공통분류코드 총 갯수를 조회한다. + * + * @param searchVO + * @return int(공통분류코드 총 갯수) + */ + int selectCmmnClCodeListTotCnt(CmmnClCodeVO searchVO) throws Exception; + + /** + * 공통분류코드 목록을 조회한다. + * @param searchVO + * @return List(공통분류코드 목록) + * @throws Exception + */ + List<?> selectCmmnClCodeList(CmmnClCodeVO searchVO) throws Exception; + + /** + * 공통분류코드 상세항목을 조회한다. + * @param cmmnClCode + * @return CmmnClCode(공통분류코드) + * @throws Exception + */ + CmmnClCode selectCmmnClCodeDetail(CmmnClCodeVO cmmnClCodeVO) throws Exception; + + /** + * 공통분류코드를 등록한다. + * @param cmmnClCodeVO + * @throws Exception + */ + void insertCmmnClCode(CmmnClCodeVO cmmnClCodeVO) throws Exception; + + /** + * 공통분류코드를 삭제한다. + * @param cmmnClCodeVO + * @throws Exception + */ + void deleteCmmnClCode(CmmnClCodeVO cmmnClCodeVO) throws Exception; + + /** + * 공통분류코드를 수정한다. + * @param cmmnClCodeVO + * @throws Exception + */ + void updateCmmnClCode(CmmnClCodeVO cmmnClCodeVO) throws Exception; + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/EgovCcmCmmnClCodeManageService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/CmmnClCodeVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/CmmnClCodeVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/CmmnClCodeVO.java (revision 7) @@ -0,0 +1,198 @@ +package egovframework.com.sym.ccm.ccc.service; + +import java.io.Serializable; + +/** + * + * 공통분류코드 VO 클래스 + * @author 공통서비스 개발팀 이중호 + * @since 2009.04.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.01 이중호 최초 생성 + * + * </pre> + */ +public class CmmnClCodeVO extends CmmnClCode implements Serializable { + + private static final long serialVersionUID = 442842373959722378L; + + /** 검색조건 */ + private String searchCondition = ""; + + /** 검색Keyword */ + private String searchKeyword = ""; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** firstIndex */ + private int firstIndex = 1; + + /** lastIndex */ + private int lastIndex = 1; + + /** recordCountPerPage */ + private int recordCountPerPage = 10; + + /** + * searchCondition attribute 를 리턴한다. + * @return String + */ + public String getSearchCondition() { + return searchCondition; + } + + /** + * searchCondition attribute 값을 설정한다. + * @param searchCondition String + */ + public void setSearchCondition(String searchCondition) { + this.searchCondition = searchCondition; + } + + /** + * searchKeyword attribute 를 리턴한다. + * @return String + */ + public String getSearchKeyword() { + return searchKeyword; + } + + /** + * searchKeyword attribute 값을 설정한다. + * @param searchKeyword String + */ + public void setSearchKeyword(String searchKeyword) { + this.searchKeyword = searchKeyword; + } + + /** + * searchUseYn attribute 를 리턴한다. + * @return String + */ + public String getSearchUseYn() { + return searchUseYn; + } + + /** + * searchUseYn attribute 값을 설정한다. + * @param searchUseYn String + */ + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + /** + * pageIndex attribute 를 리턴한다. + * @return int + */ + public int getPageIndex() { + return pageIndex; + } + + /** + * pageIndex attribute 값을 설정한다. + * @param pageIndex int + */ + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + /** + * pageUnit attribute 를 리턴한다. + * @return int + */ + public int getPageUnit() { + return pageUnit; + } + + /** + * pageUnit attribute 값을 설정한다. + * @param pageUnit int + */ + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + /** + * pageSize attribute 를 리턴한다. + * @return int + */ + public int getPageSize() { + return pageSize; + } + + /** + * pageSize attribute 값을 설정한다. + * @param pageSize int + */ + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + /** + * firstIndex attribute 를 리턴한다. + * @return int + */ + public int getFirstIndex() { + return firstIndex; + } + + /** + * firstIndex attribute 값을 설정한다. + * @param firstIndex int + */ + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + /** + * lastIndex attribute 를 리턴한다. + * @return int + */ + public int getLastIndex() { + return lastIndex; + } + + /** + * lastIndex attribute 값을 설정한다. + * @param lastIndex int + */ + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + /** + * recordCountPerPage attribute 를 리턴한다. + * @return int + */ + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + /** + * recordCountPerPage attribute 값을 설정한다. + * @param recordCountPerPage int + */ + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/CmmnClCodeVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/CmmnClCode.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/CmmnClCode.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/CmmnClCode.java (revision 7) @@ -0,0 +1,152 @@ +package egovframework.com.sym.ccm.ccc.service; + +import java.io.Serializable; + +/** + * 공통분류코드 모델 클래스 + * @author 공통서비스 개발팀 이중호 + * @since 2009.04.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.01 이중호 최초 생성 + * + * </pre> + */ +public class CmmnClCode implements Serializable { + + private static final long serialVersionUID = 4861619118930452502L; + + /* + * 분류코드 + */ + private String clCode = ""; + + /* + * 분류코드명 + */ + private String clCodeNm = ""; + + /* + * 분류코드설명 + */ + private String clCodeDc = ""; + + /* + * 사용여부 + */ + private String useAt = ""; + + /* + * 최초등록자ID + */ + private String frstRegisterId = ""; + + /* + * 최종수정자ID + */ + private String lastUpdusrId = ""; + + /** + * clCode attribute 를 리턴한다. + * @return String + */ + public String getClCode() { + return clCode; + } + + /** + * clCode attribute 값을 설정한다. + * @param clCode String + */ + public void setClCode(String clCode) { + this.clCode = clCode; + } + + /** + * clCodeNm attribute 를 리턴한다. + * @return String + */ + public String getClCodeNm() { + return clCodeNm; + } + + /** + * clCodeNm attribute 값을 설정한다. + * @param clCodeNm String + */ + public void setClCodeNm(String clCodeNm) { + this.clCodeNm = clCodeNm; + } + + /** + * clCodeDc attribute 를 리턴한다. + * @return String + */ + public String getClCodeDc() { + return clCodeDc; + } + + /** + * clCodeDc attribute 값을 설정한다. + * @param clCodeDc String + */ + public void setClCodeDc(String clCodeDc) { + this.clCodeDc = clCodeDc; + } + + /** + * useAt attribute 를 리턴한다. + * @return String + */ + public String getUseAt() { + return useAt; + } + + /** + * useAt attribute 값을 설정한다. + * @param useAt String + */ + public void setUseAt(String useAt) { + this.useAt = useAt; + } + + /** + * frstRegisterId attribute 를 리턴한다. + * @return String + */ + public String getFrstRegisterId() { + return frstRegisterId; + } + + /** + * frstRegisterId attribute 값을 설정한다. + * @param frstRegisterId String + */ + public void setFrstRegisterId(String frstRegisterId) { + this.frstRegisterId = frstRegisterId; + } + + /** + * lastUpdusrId attribute 를 리턴한다. + * @return String + */ + public String getLastUpdusrId() { + return lastUpdusrId; + } + + /** + * lastUpdusrId attribute 값을 설정한다. + * @param lastUpdusrId String + */ + public void setLastUpdusrId(String lastUpdusrId) { + this.lastUpdusrId = lastUpdusrId; + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/ccc/service/CmmnClCode.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/cde/web/EgovCcmCmmnDetailCodeManageController.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cde/web/EgovCcmCmmnDetailCodeManageController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cde/web/EgovCcmCmmnDetailCodeManageController.java (revision 7) @@ -0,0 +1,286 @@ +package egovframework.com.sym.ccm.cde.web; + +import java.util.List; + +import javax.annotation.Resource; + +import org.apache.poi.util.SystemOutLogger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springmodules.validation.commons.DefaultBeanValidator; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.service.CmmnDetailCode; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.sym.ccm.cca.service.CmmnCode; +import egovframework.com.sym.ccm.cca.service.CmmnCodeVO; +import egovframework.com.sym.ccm.cca.service.EgovCcmCmmnCodeManageService; +import egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO; +import egovframework.com.sym.ccm.ccc.service.EgovCcmCmmnClCodeManageService; +import egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO; +import egovframework.com.sym.ccm.cde.service.EgovCcmCmmnDetailCodeManageService; +import egovframework.rte.fdl.property.EgovPropertyService; +import egovframework.rte.psl.dataaccess.util.EgovMap; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + +/** +* +* 공통상세코드에 관한 요청을 받아 서비스 클래스로 요청을 전달하고 서비스클래스에서 처리한 결과를 웹 화면으로 전달을 위한 Controller를 정의한다 +* @author 공통서비스 개발팀 이중호 +* @since 2009.04.01 +* @version 1.0 +* @see +* +* <pre> +* << 개정이력(Modification Information) >> +* +* 수정일 수정자 수정내용 +* ------- -------- --------------------------- +* 2009.04.01 이중호 최초 생성 +* 2011.08.26 정진오 IncludedInfo annotation 추가 +* 2017.08.08 이정은 표준프레임워크 v3.7 개선 +* +* </pre> +*/ + +@Controller +public class EgovCcmCmmnDetailCodeManageController { + + @Resource(name = "CmmnDetailCodeManageService") + private EgovCcmCmmnDetailCodeManageService cmmnDetailCodeManageService; + + @Resource(name = "CmmnClCodeManageService") + private EgovCcmCmmnClCodeManageService cmmnClCodeManageService; + + @Resource(name = "CmmnCodeManageService") + private EgovCcmCmmnCodeManageService cmmnCodeManageService; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + /** EgovMessageSource */ + @Resource(name = "egovMessageSource") + EgovMessageSource egovMessageSource; + + @Autowired + private DefaultBeanValidator beanValidator; + + /** + * 공통상세코드 목록을 조회한다. + * @param loginVO + * @param searchVO + * @param model + * @return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeList" + * @throws Exception + */ + @IncludedInfo(name="공통상세코드", listUrl="/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do", order = 970 ,gid = 60) + @RequestMapping(value="/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do") + public String selectCmmnDetailCodeList (@ModelAttribute("loginVO") LoginVO loginVO, @ModelAttribute("searchVO") CmmnDetailCodeVO searchVO + , ModelMap model + ) throws Exception { + + /** EgovPropertyService.sample */ + searchVO.setPageUnit(propertiesService.getInt("pageUnit")); + searchVO.setPageSize(propertiesService.getInt("pageSize")); + + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(searchVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(searchVO.getPageUnit()); + paginationInfo.setPageSize(searchVO.getPageSize()); + + searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + searchVO.setLastIndex(paginationInfo.getLastRecordIndex()); + searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + List<?> CmmnCodeList = cmmnDetailCodeManageService.selectCmmnDetailCodeList(searchVO); + model.addAttribute("resultList", CmmnCodeList); + + int totCnt = cmmnDetailCodeManageService.selectCmmnDetailCodeListTotCnt(searchVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + + return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeList"; + } + + /** + * 공통상세코드 상세항목을 조회한다. + * @param loginVO + * @param cmmnDetailCodeVO + * @param model + * @return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeDetail" + * @throws Exception + */ + @RequestMapping(value="/sym/ccm/cde/SelectCcmCmmnDetailCodeDetail.do") + public String selectCmmnDetailCodeDetail (@ModelAttribute("loginVO") LoginVO loginVO + , CmmnDetailCodeVO cmmnDetailCodeVO, ModelMap model + ) throws Exception { + CmmnDetailCode vo = cmmnDetailCodeManageService.selectCmmnDetailCodeDetail(cmmnDetailCodeVO); + model.addAttribute("result", vo); + + return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeDetail"; + } + + /** + * 공통상세코드를 삭제한다. + * @param loginVO + * @param cmmnDetailCodeVO + * @param model + * @return "forward:/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do" + * @throws Exception + */ + @RequestMapping(value="/sym/ccm/cde/RemoveCcmCmmnDetailCode.do") + public String deleteCmmnDetailCode (@ModelAttribute("loginVO") LoginVO loginVO + , CmmnDetailCodeVO cmmnDetailCodeVO + , ModelMap model + ) throws Exception { + cmmnDetailCodeManageService.deleteCmmnDetailCode(cmmnDetailCodeVO); + + return "forward:/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do"; + } + + /** + * 공통상세코드 등록을 위한 등록페이지로 이동한다. + * + * @param cmmnDetailCodeVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/sym/ccm/cde/RegistCcmCmmnDetailCodeView.do") + public String insertCmmnDetailCodeView(@ModelAttribute("loginVO") LoginVO loginVO, @ModelAttribute("cmmnCodeVO") CmmnCodeVO cmmnCodeVO, + @ModelAttribute("cmmnDetailCodeVO") CmmnDetailCodeVO cmmnDetailCodeVO + ,ModelMap model) throws Exception { + + CmmnClCodeVO searchClCodeVO = new CmmnClCodeVO(); + searchClCodeVO.setFirstIndex(0); + List<?> CmmnClCodeList = cmmnClCodeManageService.selectCmmnClCodeList(searchClCodeVO); + model.addAttribute("clCodeList", CmmnClCodeList); + + + CmmnCodeVO clCode = new CmmnCodeVO(); + clCode.setClCode(cmmnCodeVO.getClCode()); + + if (cmmnCodeVO.getClCode().equals("")) { + + }else{ + + CmmnCodeVO searchCodeVO = new CmmnCodeVO(); + searchCodeVO.setRecordCountPerPage(999999); + searchCodeVO.setFirstIndex(0); + searchCodeVO.setSearchCondition("clCode"); + searchCodeVO.setSearchKeyword(cmmnCodeVO.getClCode()); + + List<?> CmmnCodeList = cmmnCodeManageService.selectCmmnCodeList(searchCodeVO); + model.addAttribute("codeList", CmmnCodeList); + } + + + return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist"; + } + + /** + * 공통상세코드를 등록한다. + * + * @param CmmnDetailCodeVO + * @param CmmnDetailCodeVO + * @param status + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/sym/ccm/cde/RegistCcmCmmnDetailCode.do") + public String insertCmmnDetailCode(@ModelAttribute("cmmnDetailCodeVO") CmmnDetailCodeVO cmmnDetailCodeVO, + BindingResult bindingResult, ModelMap model) throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + CmmnClCodeVO searchClCodeVO = new CmmnClCodeVO(); + + beanValidator.validate(cmmnDetailCodeVO, bindingResult); + + if (bindingResult.hasErrors()) { + + List<?> CmmnClCodeList = cmmnClCodeManageService.selectCmmnClCodeList(searchClCodeVO); + model.addAttribute("clCodeList", CmmnClCodeList); + + return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist"; + } + + if(cmmnDetailCodeVO.getCodeId() != null){ + + CmmnDetailCode vo = cmmnDetailCodeManageService.selectCmmnDetailCodeDetail(cmmnDetailCodeVO); + if(vo != null){ + model.addAttribute("message", egovMessageSource.getMessage("comSymCcmCde.validate.codeCheck")); + + List<?> CmmnClCodeList = cmmnClCodeManageService.selectCmmnClCodeList(searchClCodeVO); + model.addAttribute("clCodeList", CmmnClCodeList); + + return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist"; + } + } + + cmmnDetailCodeVO.setFrstRegisterId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + cmmnDetailCodeManageService.insertCmmnDetailCode(cmmnDetailCodeVO); + + return "forward:/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do"; + } + + /** + * 공통상세코드 수정을 위한 수정페이지로 이동한다. + * + * @param cmmnDetailCodeVO + * @param model + * @return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeUpdt" + * @throws Exception + */ + @RequestMapping("/sym/ccm/cde/UpdateCcmCmmnDetailCodeView.do") + public String updateCmmnDetailCodeView(@ModelAttribute("loginVO") LoginVO loginVO, + @ModelAttribute("cmmnDetailCodeVO") CmmnDetailCodeVO cmmnDetailCodeVO, ModelMap model) + throws Exception { + + CmmnDetailCode result = cmmnDetailCodeManageService.selectCmmnDetailCodeDetail(cmmnDetailCodeVO); + model.addAttribute("cmmnDetailCodeVO", result); + + return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeUpdt"; + } + + /** + * 공통상세코드를 수정한다. + * + * @param cmmnDetailCodeVO + * @param model + * @return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeUpdt", "/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do" + * @throws Exception + */ + @RequestMapping("/sym/ccm/cde/UpdateCcmCmmnDetailCode.do") + public String updateCmmnDetailCode(@ModelAttribute("cmmnDetailCodeVO") CmmnDetailCodeVO cmmnDetailCodeVO, ModelMap model, BindingResult bindingResult ) + throws Exception { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + + beanValidator.validate(cmmnDetailCodeVO, bindingResult); + + if (bindingResult.hasErrors()){ + CmmnDetailCode result = cmmnDetailCodeManageService.selectCmmnDetailCodeDetail(cmmnDetailCodeVO); + model.addAttribute("cmmnDetailCodeVO", result); + + return "egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeUpdt"; + } + + cmmnDetailCodeVO.setLastUpdusrId((user == null || user.getUniqId() == null) ? "" : user.getUniqId()); + cmmnDetailCodeManageService.updateCmmnDetailCode(cmmnDetailCodeVO); + + return "forward:/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do"; + } + + + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/cde/web/EgovCcmCmmnDetailCodeManageController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/impl/CmmnDetailCodeManageDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/impl/CmmnDetailCodeManageDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/impl/CmmnDetailCodeManageDAO.java (revision 7) @@ -0,0 +1,90 @@ +package egovframework.com.sym.ccm.cde.service.impl; + +import java.util.List; + +import org.springframework.stereotype.Repository; + +import egovframework.com.cmm.service.CmmnDetailCode; +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO; + +/** +* +* 공통상세코드에 대한 데이터 접근 클래스를 정의한다 +* @author 공통서비스 개발팀 이중호 +* @since 2009.04.01 +* @version 1.0 +* @see +* +* <pre> +* << 개정이력(Modification Information) >> +* +* 수정일 수정자 수정내용 +* ------- -------- --------------------------- +* 2009.04.01 이중호 최초 생성 +* +* </pre> +*/ + +@Repository("CmmnDetailCodeManageDAO") +public class CmmnDetailCodeManageDAO extends EgovComAbstractDAO { + + /** + * 공통상세코드 총 갯수를 조회한다. + * @param searchVO + * @return int(공통상세코드 총 갯수) + */ + public int selectCmmnDetailCodeListTotCnt(CmmnDetailCodeVO searchVO) throws Exception { + return (Integer)selectOne("CmmnDetailCodeManage.selectCmmnDetailCodeListTotCnt", searchVO); + } + + /** + * 공통상세코드 목록을 조회한다. + * @param searchVO + * @return List(공통상세코드 목록) + * @throws Exception + */ + public List<?> selectCmmnDetailCodeList(CmmnDetailCodeVO searchVO) throws Exception { + return list("CmmnDetailCodeManage.selectCmmnDetailCodeList", searchVO); + } + + /** + * 공통상세코드 상세항목을 조회한다. + * @param cmmnDetailCodeVO + * @return CmmnDetailCodeVO(공통상세코드) + */ + public CmmnDetailCode selectCmmnDetailCodeDetail(CmmnDetailCodeVO cmmnDetailCodeVO) throws Exception{ + return (CmmnDetailCode) selectOne("CmmnDetailCodeManage.selectCmmnDetailCodeDetail", cmmnDetailCodeVO); + } + + /** + * 공통상세코드를 삭제한다. + * @param cmmnDetailCodeVO + * @throws Exception + */ + public void deleteCmmnDetailCode(CmmnDetailCodeVO cmmnDetailCodeVO) throws Exception{ + delete("CmmnDetailCodeManage.deleteCmmnDetailCode", cmmnDetailCodeVO); + + } + + /** + * 공통상세코드를 등록한다. + * @param cmmnDetailCodeVO + * @throws Exception + */ + public void insertCmmnDetailCode(CmmnDetailCodeVO cmmnDetailCodeVO) throws Exception{ + insert("CmmnDetailCodeManage.insertCmmnDetailCode", cmmnDetailCodeVO); + + } + + /** + * 공통상세코드를 수정한다. + * @param cmmnDetailCodeVO + * @throws Exception + */ + public void updateCmmnDetailCode(CmmnDetailCodeVO cmmnDetailCodeVO) throws Exception{ + insert("CmmnDetailCodeManage.updateCmmnDetailCode", cmmnDetailCodeVO); + + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/impl/CmmnDetailCodeManageDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/impl/EgovCcmCmmnDetailCodeManageServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/impl/EgovCcmCmmnDetailCodeManageServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/impl/EgovCcmCmmnDetailCodeManageServiceImpl.java (revision 7) @@ -0,0 +1,91 @@ +package egovframework.com.sym.ccm.cde.service.impl; + +import java.util.List; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import egovframework.com.cmm.service.CmmnDetailCode; +import egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO; +import egovframework.com.sym.ccm.cde.service.EgovCcmCmmnDetailCodeManageService; +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +/** +* +* 공통상세코드에 대한 서비스 구현클래스를 정의한다 +* @author 공통서비스 개발팀 이중호 +* @since 2009.04.01 +* @version 1.0 +* @see +* +* <pre> +* << 개정이력(Modification Information) >> +* +* 수정일 수정자 수정내용 +* ------- -------- --------------------------- +* 2009.04.01 이중호 최초 생성 +* +* </pre> +*/ +@Service("CmmnDetailCodeManageService") +public class EgovCcmCmmnDetailCodeManageServiceImpl extends EgovAbstractServiceImpl implements EgovCcmCmmnDetailCodeManageService{ + + @Resource(name="CmmnDetailCodeManageDAO") + private CmmnDetailCodeManageDAO cmmnDetailCodeManageDAO; + + /** + * 공통상세코드 총 갯수를 조회한다. + */ + @Override + public int selectCmmnDetailCodeListTotCnt(CmmnDetailCodeVO searchVO) throws Exception { + return cmmnDetailCodeManageDAO.selectCmmnDetailCodeListTotCnt(searchVO); + } + + /** + * 공통상세코드 목록을 조회한다. + */ + @Override + public List<?> selectCmmnDetailCodeList(CmmnDetailCodeVO searchVO) throws Exception { + return cmmnDetailCodeManageDAO.selectCmmnDetailCodeList(searchVO); + } + + /** + * 공통상세코드 상세항목을 조회한다. + * @throws Exception + */ + @Override + public CmmnDetailCode selectCmmnDetailCodeDetail(CmmnDetailCodeVO cmmnDetailCodeVO) throws Exception { + CmmnDetailCode ret = cmmnDetailCodeManageDAO.selectCmmnDetailCodeDetail(cmmnDetailCodeVO); + return ret; + } + + /** + * 공통상세코드를 삭제한다. + * @throws Exception + */ + @Override + public void deleteCmmnDetailCode(CmmnDetailCodeVO cmmnDetailCodeVO) throws Exception { + cmmnDetailCodeManageDAO.deleteCmmnDetailCode(cmmnDetailCodeVO); + + } + + /** + * 공통상세코드를 등록한다. + */ + @Override + public void insertCmmnDetailCode(CmmnDetailCodeVO cmmnDetailCodeVO) throws Exception { + cmmnDetailCodeManageDAO.insertCmmnDetailCode(cmmnDetailCodeVO); + + } + + /** + * 공통상세코드를 수정한다. + */ + @Override + public void updateCmmnDetailCode(CmmnDetailCodeVO cmmnDetailCodeVO) throws Exception { + cmmnDetailCodeManageDAO.updateCmmnDetailCode(cmmnDetailCodeVO); + + } + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/impl/EgovCcmCmmnDetailCodeManageServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/EgovCcmCmmnDetailCodeManageService.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/EgovCcmCmmnDetailCodeManageService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/EgovCcmCmmnDetailCodeManageService.java (revision 7) @@ -0,0 +1,73 @@ +package egovframework.com.sym.ccm.cde.service; + +import java.util.List; + +import egovframework.com.cmm.service.CmmnDetailCode; +import egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO; + +/** +* +* 공통상세코드에 관한 서비스 인터페이스 클래스를 정의한다 +* @author 공통서비스 개발팀 이중호 +* @since 2009.04.01 +* @version 1.0 +* @see +* +* <pre> +* << 개정이력(Modification Information) >> +* +* 수정일 수정자 수정내용 +* ------- -------- --------------------------- +* 2009.04.01 이중호 최초 생성 +* +* </pre> +*/ + +public interface EgovCcmCmmnDetailCodeManageService { + /** + * 공통상세코드 총 갯수를 조회한다. + * @param searchVO + * @return int(공통상세코드 총 갯수) + */ + int selectCmmnDetailCodeListTotCnt(CmmnDetailCodeVO searchVO) throws Exception; + + /** + * 공통상세코드 목록을 조회한다. + * @param searchVO + * @return List(공통상세코드 목록) + * @throws Exception + */ + List<?> selectCmmnDetailCodeList(CmmnDetailCodeVO searchVO) throws Exception; + + /** + * 공통상세코드 상세항목을 조회한다. + * @param cmmnDetailCodeVO + * @return CmmnDetailCode(공통상세코드) + * @throws Exception + */ + CmmnDetailCode selectCmmnDetailCodeDetail(CmmnDetailCodeVO cmmnDetailCodeVO) throws Exception; + + /** + * 공통상세코드를 삭제한다. + * @param cmmnDetailCodeVO + * @throws Exception + */ + void deleteCmmnDetailCode(CmmnDetailCodeVO cmmnDetailCodeVO) throws Exception; + + /** + * 공통상세코드를 등록한다. + * @param cmmnDetailCodeVO + * @throws Exception + */ + void insertCmmnDetailCode(CmmnDetailCodeVO cmmnDetailCodeVO) throws Exception; + + /** + * 공통상세코드를 수정한다. + * @param cmmnDetailCodeVO + * @throws Exception + */ + void updateCmmnDetailCode(CmmnDetailCodeVO cmmnDetailCodeVO) throws Exception; + + + +} Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/EgovCcmCmmnDetailCodeManageService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/CmmnDetailCodeVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/CmmnDetailCodeVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/CmmnDetailCodeVO.java (revision 7) @@ -0,0 +1,199 @@ +package egovframework.com.sym.ccm.cde.service; + +import java.io.Serializable; + +import egovframework.com.cmm.service.CmmnDetailCode; + +/** +* +* 공통상세코드 VO 클래스 +* @author 공통서비스 개발팀 이중호 +* @since 2009.04.01 +* @version 1.0 +* @see +* +* <pre> +* << 개정이력(Modification Information) >> +* +* 수정일 수정자 수정내용 +* ------- -------- --------------------------- +* 2009.04.01 이중호 최초 생성 +* +* </pre> +*/ + +public class CmmnDetailCodeVO extends CmmnDetailCode implements Serializable{ + + private static final long serialVersionUID = 9137280036724974467L; + + /** 검색조건 */ + private String searchCondition = ""; + + /** 검색Keyword */ + private String searchKeyword = ""; + + /** 검색사용여부 */ + private String searchUseYn = ""; + + /** 현재페이지 */ + private int pageIndex = 1; + + /** 페이지갯수 */ + private int pageUnit = 10; + + /** 페이지사이즈 */ + private int pageSize = 10; + + /** firstIndex */ + private int firstIndex = 1; + + /** lastIndex */ + private int lastIndex = 1; + + /** recordCountPerPage */ + private int recordCountPerPage = 10; + + /** + * searchCondition attribute 를 리턴한다. + * @return String + */ + public String getSearchCondition() { + return searchCondition; + } + + /** + * searchCondition attribute 값을 설정한다. + * @param searchCondition String + */ + public void setSearchCondition(String searchCondition) { + this.searchCondition = searchCondition; + } + + /** + * searchKeyword attribute 를 리턴한다. + * @return String + */ + public String getSearchKeyword() { + return searchKeyword; + } + + /** + * searchKeyword attribute 값을 설정한다. + * @param searchKeyword String + */ + public void setSearchKeyword(String searchKeyword) { + this.searchKeyword = searchKeyword; + } + + /** + * searchUseYn attribute 를 리턴한다. + * @return String + */ + public String getSearchUseYn() { + return searchUseYn; + } + + /** + * searchUseYn attribute 값을 설정한다. + * @param searchUseYn String + */ + public void setSearchUseYn(String searchUseYn) { + this.searchUseYn = searchUseYn; + } + + /** + * pageIndex attribute 를 리턴한다. + * @return int + */ + public int getPageIndex() { + return pageIndex; + } + + /** + * pageIndex attribute 값을 설정한다. + * @param pageIndex int + */ + public void setPageIndex(int pageIndex) { + this.pageIndex = pageIndex; + } + + /** + * pageUnit attribute 를 리턴한다. + * @return int + */ + public int getPageUnit() { + return pageUnit; + } + + /** + * pageUnit attribute 값을 설정한다. + * @param pageUnit int + */ + public void setPageUnit(int pageUnit) { + this.pageUnit = pageUnit; + } + + /** + * pageSize attribute 를 리턴한다. + * @return int + */ + public int getPageSize() { + return pageSize; + } + + /** + * pageSize attribute 값을 설정한다. + * @param pageSize int + */ + public void setPageSize(int pageSize) { + this.pageSize = pageSize; + } + + /** + * firstIndex attribute 를 리턴한다. + * @return int + */ + public int getFirstIndex() { + return firstIndex; + } + + /** + * firstIndex attribute 값을 설정한다. + * @param firstIndex int + */ + public void setFirstIndex(int firstIndex) { + this.firstIndex = firstIndex; + } + + /** + * lastIndex attribute 를 리턴한다. + * @return int + */ + public int getLastIndex() { + return lastIndex; + } + + /** + * lastIndex attribute 값을 설정한다. + * @param lastIndex int + */ + public void setLastIndex(int lastIndex) { + this.lastIndex = lastIndex; + } + + /** + * recordCountPerPage attribute 를 리턴한다. + * @return int + */ + public int getRecordCountPerPage() { + return recordCountPerPage; + } + + /** + * recordCountPerPage attribute 값을 설정한다. + * @param recordCountPerPage int + */ + public void setRecordCountPerPage(int recordCountPerPage) { + this.recordCountPerPage = recordCountPerPage; + } +} Property changes on: base3.10/src/main/java/egovframework/com/sym/ccm/cde/service/CmmnDetailCodeVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uat/uap/web/EgovLoginPolicyController.java =================================================================== --- base3.10/src/main/java/egovframework/com/uat/uap/web/EgovLoginPolicyController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uat/uap/web/EgovLoginPolicyController.java (revision 7) @@ -0,0 +1,210 @@ +/** + * 개요 + * - 로그인정책에 대한 controller 클래스를 정의한다. + * + * 상세내용 + * - 로그인정책에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다. + * - 로그인정책의 조회기능은 목록조회, 상세조회로 구분된다. + * @author lee.m.j + * @version 1.0 + * @created 03-8-2009 오후 2:08:53 + * <pre> + * == 개정이력(Modification Information) == + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.8.3 이문준 최초 생성 + * 2011.8.26 정진오 IncludedInfo annotation 추가 + * </pre> + */ + +package egovframework.com.uat.uap.web; + +import javax.annotation.Resource; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springmodules.validation.commons.DefaultBeanValidator; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.uat.uap.service.EgovLoginPolicyService; +import egovframework.com.uat.uap.service.LoginPolicy; +import egovframework.com.uat.uap.service.LoginPolicyVO; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; + + +@Controller +public class EgovLoginPolicyController { + + + + + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + @Resource(name="egovLoginPolicyService") + EgovLoginPolicyService egovLoginPolicyService; + + @Autowired + private DefaultBeanValidator beanValidator; + + /** + * 로그인정책 목록 조회화면으로 이동한다. + * @return String - 리턴 Url + */ + @RequestMapping("/uat/uap/selectLoginPolicyListView.do") + public String selectLoginPolicyListView() throws Exception { + return "egovframework/com/uat/uap/EgovLoginPolicyList"; + } + + /** + * 로그인정책 목록을 조회한다. + * @param loginPolicyVO - 로그인정책 VO + * @return String - 리턴 Url + */ + @IncludedInfo(name="로그인정책관리", order = 30 ,gid = 10) + @RequestMapping("/uat/uap/selectLoginPolicyList.do") + public String selectLoginPolicyList(@ModelAttribute("loginPolicyVO") LoginPolicyVO loginPolicyVO, + ModelMap model) throws Exception { + + /** paging */ + PaginationInfo paginationInfo = new PaginationInfo(); + paginationInfo.setCurrentPageNo(loginPolicyVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(loginPolicyVO.getPageUnit()); + paginationInfo.setPageSize(loginPolicyVO.getPageSize()); + + loginPolicyVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + loginPolicyVO.setLastIndex(paginationInfo.getLastRecordIndex()); + loginPolicyVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + loginPolicyVO.setLoginPolicyList(egovLoginPolicyService.selectLoginPolicyList(loginPolicyVO)); + model.addAttribute("loginPolicyList", loginPolicyVO.getLoginPolicyList()); + + int totCnt = egovLoginPolicyService.selectLoginPolicyListTotCnt(loginPolicyVO); + paginationInfo.setTotalRecordCount(totCnt); + model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("message", egovMessageSource.getMessage("success.common.select")); + + return "egovframework/com/uat/uap/EgovLoginPolicyList"; + } + + /** + * 로그인정책 목록의 상세정보를 조회한다. + * @param loginPolicyVO - 로그인정책 VO + * @return String - 리턴 Url + */ + @RequestMapping("/uat/uap/getLoginPolicy.do") + public String selectLoginPolicy(@RequestParam("emplyrId") String emplyrId, + @ModelAttribute("loginPolicyVO") LoginPolicyVO loginPolicyVO, + ModelMap model) throws Exception { + + loginPolicyVO.setEmplyrId(emplyrId); + + model.addAttribute("loginPolicy", egovLoginPolicyService.selectLoginPolicy(loginPolicyVO)); + model.addAttribute("message", egovMessageSource.getMessage("success.common.select")); + + LoginPolicyVO vo = (LoginPolicyVO)model.get("loginPolicy"); + + if(vo.getRegYn().equals("N")) + return "egovframework/com/uat/uap/EgovLoginPolicyRegist"; + else + return "egovframework/com/uat/uap/EgovLoginPolicyUpdt"; + } + + /** + * 로그인정책 정보 등록화면으로 이동한다. + * @param loginPolicy - 로그인정책 model + * @return String - 리턴 Url + */ + @RequestMapping("/uat/uap/addLoginPolicyView.do") + public String insertLoginPolicyView(@RequestParam("emplyrId") String emplyrId, + @ModelAttribute("loginPolicyVO") LoginPolicyVO loginPolicyVO, + ModelMap model) throws Exception { + + loginPolicyVO.setEmplyrId(emplyrId); + + model.addAttribute("loginPolicy", egovLoginPolicyService.selectLoginPolicy(loginPolicyVO)); + model.addAttribute("message", egovMessageSource.getMessage("success.common.select")); + + return "egovframework/com/uat/uap/EgovLoginPolicyRegist"; + } + + /** + * 로그인정책 정보를 신규로 등록한다. + * @param loginPolicy - 로그인정책 model + * @return String - 리턴 Url + */ + @RequestMapping("/uat/uap/addLoginPolicy.do") + public String insertLoginPolicy(@ModelAttribute("loginPolicy") LoginPolicy loginPolicy, + BindingResult bindingResult, + ModelMap model) throws Exception { + + beanValidator.validate(loginPolicy, bindingResult); //validation 수행 + + if (bindingResult.hasErrors()) { + model.addAttribute("loginPolicyVO", loginPolicy); + return "egovframework/com/uat/uap/EgovLoginPolicyRegist"; + } else { + + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + loginPolicy.setUserId(user == null ? "" : EgovStringUtil.isNullToString(user.getId())); + + egovLoginPolicyService.insertLoginPolicy(loginPolicy); + model.addAttribute("message", egovMessageSource.getMessage("success.common.update")); + + return "forward:/uat/uap/getLoginPolicy.do"; + } + } + + /** + * 기 등록된 로그인정책 정보를 수정한다. + * @param loginPolicy - 로그인정책 model + * @return String - 리턴 Url + */ + @RequestMapping("/uat/uap/updtLoginPolicy.do") + public String updateLoginPolicy(@ModelAttribute("loginPolicy") LoginPolicy loginPolicy, + BindingResult bindingResult, + ModelMap model) throws Exception { + + beanValidator.validate(loginPolicy, bindingResult); //validation 수행 + + if (bindingResult.hasErrors()) { + model.addAttribute("loginPolicyVO", loginPolicy); + return "egovframework/com/uat/uap/EgovLoginPolicyUpdt"; + } else { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + loginPolicy.setUserId(user == null ? "" : EgovStringUtil.isNullToString(user.getId())); + + egovLoginPolicyService.updateLoginPolicy(loginPolicy); + model.addAttribute("message", egovMessageSource.getMessage("success.common.update")); + + return "forward:/uat/uap/selectLoginPolicyList.do"; + } + } + + /** + * 기 등록된 로그인정책 정보를 삭제한다. + * @param loginPolicy - 로그인정책 model + * @return String - 리턴 Url + */ + @RequestMapping("/uat/uap/removeLoginPolicy.do") + public String deleteLoginPolicy(@ModelAttribute("loginPolicy") LoginPolicy loginPolicy, + ModelMap model) throws Exception { + + egovLoginPolicyService.deleteLoginPolicy(loginPolicy); + + model.addAttribute("message", egovMessageSource.getMessage("success.common.delete")); + return "forward:/uat/uap/selectLoginPolicyList.do"; + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/uat/uap/web/EgovLoginPolicyController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uat/uap/service/impl/LoginPolicyDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/uat/uap/service/impl/LoginPolicyDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uat/uap/service/impl/LoginPolicyDAO.java (revision 7) @@ -0,0 +1,85 @@ +/** + * 개요 + * - 로그인정책에 대한 DAO 클래스를 정의한다. + * + * 상세내용 + * - 로그인정책에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다. + * - 로그인정책의 조회기능은 목록조회, 상세조회로 구분된다. + * @author lee.m.j + * @version 1.0 + * @created 03-8-2009 오후 2:08:54 + * <pre> + * == 개정이력(Modification Information) == + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.08.03 이문준 최초 생성 + * 2021.02.18 신용호 selectLoginPolicyResult() 삭제 + * </pre> + */ + +package egovframework.com.uat.uap.service.impl; + +import java.util.List; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.uat.uap.service.LoginPolicy; +import egovframework.com.uat.uap.service.LoginPolicyVO; + +import org.springframework.stereotype.Repository; + +@Repository("loginPolicyDAO") +public class LoginPolicyDAO extends EgovComAbstractDAO { + + /** + * 로그인정책 목록을 조회한다. + * @param loginPolicyVO - 로그인정책 VO + * @return List - 로그인정책 목록 + */ + public List<LoginPolicyVO> selectLoginPolicyList(LoginPolicyVO loginPolicyVO) throws Exception { + return selectList("loginPolicyDAO.selectLoginPolicyList", loginPolicyVO); + } + + /** + * 로그인정책 목록 수를 조회한다. + * @param loginPolicyVO - 로그인정책 VO + * @return int + */ + public int selectLoginPolicyListTotCnt(LoginPolicyVO loginPolicyVO) throws Exception { + return (Integer)selectOne("loginPolicyDAO.selectLoginPolicyListTotCnt", loginPolicyVO); + } + + /** + * 로그인정책 목록의 상세정보를 조회한다. + * @param loginPolicyVO - 로그인정책 VO + * @return LoginPolicyVO - 로그인정책 VO + */ + public LoginPolicyVO selectLoginPolicy(LoginPolicyVO loginPolicyVO) throws Exception { + return (LoginPolicyVO)selectOne("loginPolicyDAO.selectLoginPolicy", loginPolicyVO); + } + + /** + * 로그인정책 정보를 신규로 등록한다. + * @param loginPolicy - 로그인정책 model + */ + public void insertLoginPolicy(LoginPolicy loginPolicy) throws Exception { + insert("loginPolicyDAO.insertLoginPolicy", loginPolicy); + } + + /** + * 기 등록된 로그인정책 정보를 수정한다. + * @param loginPolicy - 로그인정책 model + */ + public void updateLoginPolicy(LoginPolicy loginPolicy) throws Exception { + update("loginPolicyDAO.updateLoginPolicy", loginPolicy); + } + + /** + * 기 등록된 로그인정책 정보를 삭제한다. + * @param loginPolicy - 로그인정책 model + */ + public void deleteLoginPolicy(LoginPolicy loginPolicy) throws Exception { + delete("loginPolicyDAO.deleteLoginPolicy", loginPolicy); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/uat/uap/service/impl/LoginPolicyDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uat/uap/service/impl/EgovLoginPolicyServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/uat/uap/service/impl/EgovLoginPolicyServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uat/uap/service/impl/EgovLoginPolicyServiceImpl.java (revision 7) @@ -0,0 +1,102 @@ +/** + * 개요 + * - 로그인정책에 대한 ServiceImpl 클래스를 정의한다. + * + * 상세내용 + * - 로그인정책에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다. + * - 로그인정책의 조회기능은 목록조회, 상세조회로 구분된다. + * @author lee.m.j + * @version 1.0 + * @created 03-8-2009 오후 2:08:54 + * <pre> + * == 개정이력(Modification Information) == + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.08.03 이문준 최초 생성 + * 2021.02.18 신용호 selectLoginPolicyResult() 삭제 + * </pre> + */ + +package egovframework.com.uat.uap.service.impl; + +import java.util.List; + +import egovframework.com.uat.uap.service.EgovLoginPolicyService; +import egovframework.com.uat.uap.service.LoginPolicy; +import egovframework.com.uat.uap.service.LoginPolicyVO; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +@Service("egovLoginPolicyService") +public class EgovLoginPolicyServiceImpl extends EgovAbstractServiceImpl implements EgovLoginPolicyService { + + @Resource(name="loginPolicyDAO") + LoginPolicyDAO loginPolicyDAO; + + /** + * 로그인정책 목록을 조회한다. + * @param loginPolicyVO - 로그인정책 VO + * @return List - 로그인정책 목록 + */ + public List<LoginPolicyVO> selectLoginPolicyList(LoginPolicyVO loginPolicyVO) throws Exception { + return loginPolicyDAO.selectLoginPolicyList(loginPolicyVO); + } + + /** + * 로그인정책 목록 수를 조회한다. + * @param loginPolicyVO - 로그인정책 VO + * @return int + */ + public int selectLoginPolicyListTotCnt(LoginPolicyVO loginPolicyVO) throws Exception { + return loginPolicyDAO.selectLoginPolicyListTotCnt(loginPolicyVO); + } + + /** + * 로그인정책 목록의 상세정보를 조회한다. + * @param loginPolicyVO - 로그인정책 VO + * @return LoginPolicyVO - 로그인정책 VO + */ + public LoginPolicyVO selectLoginPolicy(LoginPolicyVO loginPolicyVO) throws Exception { + return loginPolicyDAO.selectLoginPolicy(loginPolicyVO); + } + + /** + * 로그인정책 정보를 신규로 등록한다. + * @param loginPolicy - 로그인정책 model + */ + public void insertLoginPolicy(LoginPolicy loginPolicy) throws Exception { + loginPolicyDAO.insertLoginPolicy(loginPolicy); + } + + /** + * 기 등록된 로그인정책 정보를 수정한다. + * @param loginPolicy - 로그인정책 model + */ + public void updateLoginPolicy(LoginPolicy loginPolicy) throws Exception { + loginPolicyDAO.updateLoginPolicy(loginPolicy); + } + + /** + * 기 등록된 로그인정책 정보를 삭제한다. + * @param loginPolicy - 로그인정책 model + */ + public void deleteLoginPolicy(LoginPolicy loginPolicy) throws Exception { + loginPolicyDAO.deleteLoginPolicy(loginPolicy); + } + + /** + * 로그인정책에 대한 현재 반영되어 있는 결과를 조회한다. + * @param loginPolicyVO - 로그인정책 VO + * @return LoginPolicyVO - 로그인정책 VO + */ + /* + * public LoginPolicyVO selectLoginPolicyResult(LoginPolicyVO loginPolicyVO) + * throws Exception { return + * loginPolicyDAO.selectLoginPolicyResult(loginPolicyVO); } + */ +} Property changes on: base3.10/src/main/java/egovframework/com/uat/uap/service/impl/EgovLoginPolicyServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uat/uap/service/LoginPolicy.java =================================================================== --- base3.10/src/main/java/egovframework/com/uat/uap/service/LoginPolicy.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uat/uap/service/LoginPolicy.java (revision 7) @@ -0,0 +1,174 @@ +/** + * 개요 + * - 로그인정책에 대한 model 클래스를 정의한다. + * + * 상세내용 + * - 로그인정책정보의 사용자ID, IP정보, 중복허용여부, 제한여부 항목을 관리한다. + * @author lee.m.j + * @version 1.0 + * @created 03-8-2009 오후 2:08:53 + * <pre> + * == 개정이력(Modification Information) == + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.8.3 이문준 최초 생성 + * </pre> + */ + +package egovframework.com.uat.uap.service; + +import egovframework.com.cmm.ComDefaultVO; + +public class LoginPolicy extends ComDefaultVO { + + /** + * serialVersionUID + */ + private static final long serialVersionUID = 1L; + /** + * 사용자 ID + */ + private String emplyrId; + /** + * 사용자 명 + */ + private String emplyrNm; + /** + * 사용자 구분 + */ + private String emplyrSe; + /** + * IP정보 + */ + private String ipInfo; + /** + * 중복허용여부 + */ + private String dplctPermAt; + /** + * 제한여부 + */ + private String lmttAt; + /** + * 등록자 ID + */ + private String userId; + /** + * 등록일시 + */ + private String regDate; + /** + * 등록여부 + */ + private String regYn; + + /** + * @return the emplyrId + */ + public String getEmplyrId() { + return emplyrId; + } + /** + * @param emplyrId the emplyrId to set + */ + public void setEmplyrId(String emplyrId) { + this.emplyrId = emplyrId; + } + /** + * @return the emplyrNm + */ + public String getEmplyrNm() { + return emplyrNm; + } + /** + * @param emplyrNm the emplyrNm to set + */ + public void setEmplyrNm(String emplyrNm) { + this.emplyrNm = emplyrNm; + } + /** + * @return the emplyrSe + */ + public String getEmplyrSe() { + return emplyrSe; + } + /** + * @param emplyrSe the emplyrSe to set + */ + public void setEmplyrSe(String emplyrSe) { + this.emplyrSe = emplyrSe; + } + /** + * @return the ipInfo + */ + public String getIpInfo() { + return ipInfo; + } + /** + * @param ipInfo the ipInfo to set + */ + public void setIpInfo(String ipInfo) { + this.ipInfo = ipInfo; + } + /** + * @return the dplctPermAt + */ + public String getDplctPermAt() { + return dplctPermAt; + } + /** + * @param dplctPermAt the dplctPermAt to set + */ + public void setDplctPermAt(String dplctPermAt) { + this.dplctPermAt = dplctPermAt; + } + /** + * @return the lmttAt + */ + public String getLmttAt() { + return lmttAt; + } + /** + * @param lmttAt the lmttAt to set + */ + public void setLmttAt(String lmttAt) { + this.lmttAt = lmttAt; + } + /** + * @return the userId + */ + public String getUserId() { + return userId; + } + /** + * @param userId the userId to set + */ + public void setUserId(String userId) { + this.userId = userId; + } + /** + * @return the regDate + */ + public String getRegDate() { + return regDate; + } + /** + * @param regDate the regDate to set + */ + public void setRegDate(String regDate) { + this.regDate = regDate; + } + /** + * @return the regYn + */ + public String getRegYn() { + return regYn; + } + /** + * @param regYn the regYn to set + */ + public void setRegYn(String regYn) { + this.regYn = regYn; + } +} Property changes on: base3.10/src/main/java/egovframework/com/uat/uap/service/LoginPolicy.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uat/uap/service/LoginPolicyVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/uat/uap/service/LoginPolicyVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uat/uap/service/LoginPolicyVO.java (revision 7) @@ -0,0 +1,64 @@ +/** + * 개요 + * - 로그인정책에 대한 VO 클래스를 정의한다. + * + * 상세내용 + * - 로그인정책정보의 목록 항목을 관리한다. + * @author lee.m.j + * @version 1.0 + * @created 03-8-2009 오후 2:08:55 + * <pre> + * == 개정이력(Modification Information) == + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.8.3 이문준 최초 생성 + * </pre> + */ + +package egovframework.com.uat.uap.service; + +import java.util.List; + +public class LoginPolicyVO extends LoginPolicy { + + /** + * serialVersionUID + */ + private static final long serialVersionUID = 1L; + /** + * 로그인 정책 목록 + */ + List<LoginPolicyVO> loginPolicyList; + /** + * 삭제 여부 + */ + String [] delYn; + + /** + * @return the loginPolicyList + */ + public List<LoginPolicyVO> getLoginPolicyList() { + return loginPolicyList; + } + /** + * @param loginPolicyList the loginPolicyList to set + */ + public void setLoginPolicyList(List<LoginPolicyVO> loginPolicyList) { + this.loginPolicyList = loginPolicyList; + } + /** + * @return the delYn + */ + public String[] getDelYn() { + return delYn; + } + /** + * @param delYn the delYn to set + */ + public void setDelYn(String[] delYn) { + this.delYn = delYn; + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/uat/uap/service/LoginPolicyVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uat/uap/service/EgovLoginPolicyService.java =================================================================== --- base3.10/src/main/java/egovframework/com/uat/uap/service/EgovLoginPolicyService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uat/uap/service/EgovLoginPolicyService.java (revision 7) @@ -0,0 +1,76 @@ +/** + * 개요 + * - 로그인정책에 대한 Service Interface를 정의한다. + * + * 상세내용 + * - 로그인정책에 대한 등록, 수정, 삭제, 조회, 반영확인 기능을 제공한다. + * - 로그인정책의 조회기능은 목록조회, 상세조회로 구분된다. + * @author lee.m.j + * @version 1.0 + * @created 03-8-2009 오후 2:08:54 + * <pre> + * == 개정이력(Modification Information) == + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.08.03 이문준 최초 생성 + * 2021.02.18 신용호 selectLoginPolicyResult() 삭제 + * </pre> + */ + +package egovframework.com.uat.uap.service; + +import java.util.List; + + +public interface EgovLoginPolicyService { + + /** + * 로그인정책 목록을 조회한다. + * @param loginPolicyVO - 로그인정책 VO + * @return List - 로그인정책 목록 + */ + public List<LoginPolicyVO> selectLoginPolicyList(LoginPolicyVO loginPolicyVO) throws Exception; + + /** + * 로그인정책 목록 수를 조회한다. + * @param loginPolicyVO - 로그인정책 VO + * @return int + */ + public int selectLoginPolicyListTotCnt(LoginPolicyVO loginPolicyVO) throws Exception; + + /** + * 로그인정책 목록의 상세정보를 조회한다. + * @param loginPolicyVO - 로그인정책 VO + * @return LoginPolicyVO - 로그인정책 VO + */ + public LoginPolicyVO selectLoginPolicy(LoginPolicyVO loginPolicyVO) throws Exception; + + /** + * 로그인정책 정보를 신규로 등록한다. + * @param loginPolicy - 로그인정책 model + */ + public void insertLoginPolicy(LoginPolicy loginPolicy) throws Exception; + + /** + * 기 등록된 로그인정책 정보를 수정한다. + * @param loginPolicy - 로그인정책 model + */ + public void updateLoginPolicy(LoginPolicy loginPolicy) throws Exception; + + /** + * 기 등록된 로그인정책 정보를 삭제한다. + * @param loginPolicy - 로그인정책 model + */ + public void deleteLoginPolicy(LoginPolicy loginPolicy) throws Exception; + + /** + * 로그인정책에 대한 현재 반영되어 있는 결과를 조회한다. + * @param loginPolicyVO - 로그인정책 VO + * @return LoginPolicyVO - 로그인정책 VO + */ + /* + * public LoginPolicyVO selectLoginPolicyResult(LoginPolicyVO loginPolicyVO) + * throws Exception; + */ +} Property changes on: base3.10/src/main/java/egovframework/com/uat/uap/service/EgovLoginPolicyService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uat/uap/filter/EgovLoginPolicyFilter.java =================================================================== --- base3.10/src/main/java/egovframework/com/uat/uap/filter/EgovLoginPolicyFilter.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uat/uap/filter/EgovLoginPolicyFilter.java (revision 7) @@ -0,0 +1,126 @@ +package egovframework.com.uat.uap.filter; + +import java.io.IOException; +import java.net.URLEncoder; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.context.ApplicationContext; +import org.springframework.web.context.support.WebApplicationContextUtils; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.uat.uap.service.EgovLoginPolicyService; +import egovframework.com.uat.uap.service.LoginPolicyVO; +import egovframework.com.utl.sim.service.EgovClntInfo; + +/** + * 로그인 정책 체크 필터 + * @author 공통서비스 개발팀 서준식 + * @since 2011.07.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2011.07.01 서준식 최초 생성 + * 2017-02-14 이정은 시큐어코딩(ES) - 시큐어코딩 부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + * + * </pre> + */ +public class EgovLoginPolicyFilter implements Filter { + + private FilterConfig config; + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovLoginPolicyFilter.class); + + public void destroy() { + } + + /** + * IP를 이용해 로그인을 제한하는 메서든 + * @param request + * @param response + * @param chain + * @return void + * @exception IOException, ServletException + */ + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { + + ApplicationContext act = WebApplicationContextUtils.getRequiredWebApplicationContext(config.getServletContext()); + EgovLoginPolicyService egovLoginPolicyService = (EgovLoginPolicyService) act.getBean("egovLoginPolicyService"); + EgovMessageSource egovMessageSource = (EgovMessageSource) act.getBean("egovMessageSource"); + + HttpServletRequest httpRequest = (HttpServletRequest) request; + + String id = request.getParameter("id"); + //String password = request.getParameter("password"); + String userSe = request.getParameter("userSe"); + String userIp = ""; + + if (id == null || userSe == null) { + ((HttpServletResponse) response).sendRedirect(httpRequest.getContextPath() + "/uat/uia/egovLoginUsr.do"); + } + + // 1. LoginVO를 DB로 부터 가져오는 과정 + + try { + // 접속IP + userIp = EgovClntInfo.getClntIP((HttpServletRequest) request); + + boolean loginPolicyYn = true; + + LoginPolicyVO loginPolicyVO = new LoginPolicyVO(); + loginPolicyVO.setEmplyrId(id); + loginPolicyVO = egovLoginPolicyService.selectLoginPolicy(loginPolicyVO); + + if (loginPolicyVO == null) { + loginPolicyYn = true; + } else { + if (loginPolicyVO.getLmttAt().equals("Y")) { + if (!userIp.equals(loginPolicyVO.getIpInfo())) { + loginPolicyYn = false; + } + } + } + + if (loginPolicyYn) { + chain.doFilter(request, response); + + } else { + String message = URLEncoder.encode(egovMessageSource.getMessage("fail.common.login.ip"),"UTF-8"); + ((HttpServletRequest) request).setAttribute("loginMessage", message); + ((HttpServletResponse) response).sendRedirect(httpRequest.getContextPath() + "/uat/uia/egovLoginUsr.do?loginMessage="+message); + } + + } catch (IOException e) {//KISA 보안약점 조치 (2018-10-29, 윤창원) + LOGGER.error("["+ e.getClass() +"] : ", e.getMessage()); + ((HttpServletResponse) response).sendRedirect(httpRequest.getContextPath() + "/uat/uia/egovLoginUsr.do?login_error=1"); + } catch (Exception e) { +// LOGGER.error("Exception: {}", e.getClass().getName()); +// LOGGER.error("Exception Message: {}", e.getMessage()); + // 2017-02-14 이정은 시큐어코딩(ES) - 시큐어코딩 부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + LOGGER.error("["+ e.getClass() +"] : ", e.getMessage()); + + ((HttpServletResponse) response).sendRedirect(httpRequest.getContextPath() + "/uat/uia/egovLoginUsr.do?login_error=1"); + } + } + + public void init(FilterConfig config) throws ServletException { + + this.config = config; + + } + +} Property changes on: base3.10/src/main/java/egovframework/com/uat/uap/filter/EgovLoginPolicyFilter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uat/uia/web/EgovLoginController.java =================================================================== --- base3.10/src/main/java/egovframework/com/uat/uia/web/EgovLoginController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uat/uia/web/EgovLoginController.java (revision 7) @@ -0,0 +1,378 @@ +package egovframework.com.uat.uia.web; + +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.servlet.ModelAndView; + +import egovframework.com.cmm.ComDefaultCodeVO; +import egovframework.com.cmm.EgovComponentChecker; +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.cmm.config.EgovLoginConfig; +import egovframework.com.cmm.service.EgovCmmUseService; +import egovframework.com.cmm.service.EgovProperties; +import egovframework.com.cmm.service.Globals; +import egovframework.com.cmm.util.EgovUserDetailsHelper; +import egovframework.com.uat.uia.service.EgovLoginService; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.com.utl.sim.service.EgovClntInfo; +import egovframework.rte.psl.dataaccess.util.EgovMap; + +/* +import com.gpki.gpkiapi.cert.X509Certificate; +import com.gpki.servlet.GPKIHttpServletRequest; +import com.gpki.servlet.GPKIHttpServletResponse; +*/ + +/** + * 일반 로그인, 인증서 로그인을 처리하는 컨트롤러 클래스 + * @author 공통서비스 개발팀 박지욱 + * @since 2009.03.06 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.03.06 박지욱 최초 생성 + * 2011.08.26 정진오 IncludedInfo annotation 추가 + * 2011.09.07 서준식 스프링 시큐리티 로그인 및 SSO 인증 로직을 필터로 분리 + * 2011.09.25 서준식 사용자 관리 컴포넌트 미포함에 대한 점검 로직 추가 + * 2011.09.27 서준식 인증서 로그인시 스프링 시큐리티 사용에 대한 체크 로직 추가 + * 2011.10.27 서준식 아이디 찾기 기능에서 사용자 리름 공백 제거 기능 추가 + * 2017.07.21 장동한 로그인인증제한 작업 + * 2018.10.26 신용호 로그인 화면에 message 파라미터 전달 수정 + * 2019.10.01 정진호 로그인 인증세션 추가 + * 2020.06.25 신용호 로그인 메시지 처리 수정 + * 2021.01.15 신용호 로그아웃시 권한 초기화 추가 : session 모드 actionLogout() + * + * </pre> + */ +@Controller +public class EgovLoginController { + + /** EgovLoginService */ + @Resource(name = "loginService") + private EgovLoginService loginService; + + /** EgovCmmUseService */ + @Resource(name = "EgovCmmUseService") + private EgovCmmUseService cmmUseService; + + /** EgovMessageSource */ + @Resource(name = "egovMessageSource") + EgovMessageSource egovMessageSource; + + @Resource(name = "egovLoginConfig") + EgovLoginConfig egovLoginConfig; + + /** log */ + private static final Logger LOGGER = LoggerFactory.getLogger(EgovLoginController.class); + + /** + * 로그인 화면으로 들어간다 + * @param vo - 로그인후 이동할 URL이 담긴 LoginVO + * @return 로그인 페이지 + * @exception Exception + */ + @IncludedInfo(name = "로그인", listUrl = "/uat/uia/egovLoginUsr.do", order = 10, gid = 10) + @RequestMapping(value = "/uat/uia/egovLoginUsr.do") + public String loginUsrView(@ModelAttribute("loginVO") LoginVO loginVO, HttpServletRequest request, HttpServletResponse response, ModelMap model) throws Exception { + if (EgovComponentChecker.hasComponent("mberManageService")) { + model.addAttribute("useMemberManage", "true"); + } + + //권한체크시 에러 페이지 이동 + String auth_error = request.getParameter("auth_error") == null ? "" : (String)request.getParameter("auth_error"); + if(auth_error != null && auth_error.equals("1")){ + return "egovframework/com/cmm/error/accessDenied"; + } + + String message = (String)request.getParameter("loginMessage"); + if (message!=null) model.addAttribute("loginMessage", message); + + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + + /** + * 일반(세션) 로그인을 처리한다 + * @param vo - 아이디, 비밀번호가 담긴 LoginVO + * @param request - 세션처리를 위한 HttpServletRequest + * @return result - 로그인결과(세션정보) + * @exception Exception + */ + @RequestMapping(value = "/uat/uia/actionLogin.do") + public String actionLogin(@ModelAttribute("loginVO") LoginVO loginVO, HttpServletRequest request, ModelMap model) throws Exception { + + // 1. 로그인인증제한 활성화시 + if( egovLoginConfig.isLock()){ + Map<?,?> mapLockUserInfo = (EgovMap)loginService.selectLoginIncorrect(loginVO); + if(mapLockUserInfo != null){ + //2.1 로그인인증제한 처리 + String sLoginIncorrectCode = loginService.processLoginIncorrect(loginVO, mapLockUserInfo); + if(!sLoginIncorrectCode.equals("E")){ + if(sLoginIncorrectCode.equals("L")){ + model.addAttribute("loginMessage", egovMessageSource.getMessageArgs("fail.common.loginIncorrect", new Object[] {egovLoginConfig.getLockCount(),request.getLocale()})); + }else if(sLoginIncorrectCode.equals("C")){ + model.addAttribute("loginMessage", egovMessageSource.getMessage("fail.common.login",request.getLocale())); + } + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + }else{ + model.addAttribute("loginMessage", egovMessageSource.getMessage("fail.common.login",request.getLocale())); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + } + + // 2. 로그인 처리 + LoginVO resultVO = loginService.actionLogin(loginVO); + + // 3. 일반 로그인 처리 + if (resultVO != null && resultVO.getId() != null && !resultVO.getId().equals("")) { + + // 3-1. 로그인 정보를 세션에 저장 + request.getSession().setAttribute("loginVO", resultVO); + // 2019.10.01 로그인 인증세션 추가 + request.getSession().setAttribute("accessUser", resultVO.getUserSe().concat(resultVO.getId())); + + return "redirect:/uat/uia/actionMain.do"; + + } else { + model.addAttribute("loginMessage", egovMessageSource.getMessage("fail.common.login",request.getLocale())); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + } + + /** + * 로그인 후 메인화면으로 들어간다 + * @param + * @return 로그인 페이지 + * @exception Exception + */ + @RequestMapping(value = "/uat/uia/actionMain.do") + public String actionMain(ModelMap model) throws Exception { + + // 1. Spring Security 사용자권한 처리 + Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); + if (!isAuthenticated) { + model.addAttribute("loginMessage", egovMessageSource.getMessage("fail.common.login")); + return "egovframework/com/uat/uia/EgovLoginUsr"; + } + LoginVO user = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + + LOGGER.debug("User Id : {}", user == null ? "" : EgovStringUtil.isNullToString(user.getId())); + + /* + // 2. 메뉴조회 + MenuManageVO menuManageVO = new MenuManageVO(); + menuManageVO.setTmp_Id(user.getId()); + menuManageVO.setTmp_UserSe(user.getUserSe()); + menuManageVO.setTmp_Name(user.getName()); + menuManageVO.setTmp_Email(user.getEmail()); + menuManageVO.setTmp_OrgnztId(user.getOrgnztId()); + menuManageVO.setTmp_UniqId(user.getUniqId()); + List list_headmenu = menuManageService.selectMainMenuHead(menuManageVO); + model.addAttribute("list_headmenu", list_headmenu); + */ + + // 3. 메인 페이지 이동 + String main_page = Globals.MAIN_PAGE; + + LOGGER.debug("Globals.MAIN_PAGE > " + Globals.MAIN_PAGE); + LOGGER.debug("main_page > {}", main_page); + + if (main_page.startsWith("/")) { + return "forward:" + main_page; + } else { + return main_page; + } + + /* + if (main_page != null && !main_page.equals("")) { + + // 3-1. 설정된 메인화면이 있는 경우 + return main_page; + + } else { + + // 3-2. 설정된 메인화면이 없는 경우 + if (user.getUserSe().equals("USR")) { + return "egovframework/com/EgovMainView"; + } else { + return "egovframework/com/EgovMainViewG"; + } + } + */ + } + + /** + * 로그아웃한다. + * @return String + * @exception Exception + */ + @RequestMapping(value = "/uat/uia/actionLogout.do") + public String actionLogout(HttpServletRequest request, ModelMap model) throws Exception { + + /*String userIp = EgovClntInfo.getClntIP(request); + + // 1. Security 연동 + return "redirect:/j_spring_security_logout";*/ + + request.getSession().setAttribute("loginVO", null); + // 세션모드인경우 Authority 초기화 + // List<String> authList = (List<String>)EgovUserDetailsHelper.getAuthorities(); + request.getSession().setAttribute("accessUser", null); + + //return "redirect:/egovDevIndex.jsp"; + return "redirect:/EgovContent.do"; + } + + /** + * 아이디/비밀번호 찾기 화면으로 들어간다 + * @param + * @return 아이디/비밀번호 찾기 페이지 + * @exception Exception + */ + @RequestMapping(value = "/uat/uia/egovIdPasswordSearch.do") + public String idPasswordSearchView(ModelMap model) throws Exception { + + // 1. 비밀번호 힌트 공통코드 조회 + ComDefaultCodeVO vo = new ComDefaultCodeVO(); + vo.setCodeId("COM022"); + List<?> code = cmmUseService.selectCmmCodeDetail(vo); + model.addAttribute("pwhtCdList", code); + + return "egovframework/com/uat/uia/EgovIdPasswordSearch"; + } + + /** + * 아이디를 찾는다. + * @param vo - 이름, 이메일주소, 사용자구분이 담긴 LoginVO + * @return result - 아이디 + * @exception Exception + */ + @RequestMapping(value = "/uat/uia/searchId.do") + public String searchId(@ModelAttribute("loginVO") LoginVO loginVO, ModelMap model) throws Exception { + + if (loginVO == null || loginVO.getName() == null || loginVO.getName().equals("") && loginVO.getEmail() == null || loginVO.getEmail().equals("") + && loginVO.getUserSe() == null || loginVO.getUserSe().equals("")) { + return "egovframework/com/cmm/egovError"; + } + + // 1. 아이디 찾기 + loginVO.setName(loginVO.getName().replaceAll(" ", "")); + LoginVO resultVO = loginService.searchId(loginVO); + + if (resultVO != null && resultVO.getId() != null && !resultVO.getId().equals("")) { + + model.addAttribute("resultInfo", "아이디는 " + resultVO.getId() + " 입니다."); + return "egovframework/com/uat/uia/EgovIdPasswordResult"; + } else { + model.addAttribute("resultInfo", egovMessageSource.getMessage("fail.common.idsearch")); + return "egovframework/com/uat/uia/EgovIdPasswordResult"; + } + } + + /** + * 비밀번호를 찾는다. + * @param vo - 아이디, 이름, 이메일주소, 비밀번호 힌트, 비밀번호 정답, 사용자구분이 담긴 LoginVO + * @return result - 임시비밀번호전송결과 + * @exception Exception + */ + @RequestMapping(value = "/uat/uia/searchPassword.do") + public String searchPassword(@ModelAttribute("loginVO") LoginVO loginVO, ModelMap model) throws Exception { + + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (loginVO == null || loginVO.getId() == null || loginVO.getId().equals("") && loginVO.getName() == null || "".equals(loginVO.getName()) && loginVO.getEmail() == null + || loginVO.getEmail().equals("") && loginVO.getPasswordHint() == null || "".equals(loginVO.getPasswordHint()) && loginVO.getPasswordCnsr() == null + || "".equals(loginVO.getPasswordCnsr()) && loginVO.getUserSe() == null || "".equals(loginVO.getUserSe())) { + return "egovframework/com/cmm/egovError"; + } + + // 1. 비밀번호 찾기 + boolean result = loginService.searchPassword(loginVO); + + // 2. 결과 리턴 + if (result) { + model.addAttribute("resultInfo", "임시 비밀번호를 발송하였습니다."); + return "egovframework/com/uat/uia/EgovIdPasswordResult"; + } else { + model.addAttribute("resultInfo", egovMessageSource.getMessage("fail.common.pwsearch")); + return "egovframework/com/uat/uia/EgovIdPasswordResult"; + } + } + + /** + * 세션타임아웃 시간을 연장한다. + * Cookie에 egovLatestServerTime, egovExpireSessionTime 기록하도록 한다. + * @return result - String + * @exception Exception + */ + @RequestMapping(value="/uat/uia/refreshSessionTimeout.do") + public ModelAndView refreshSessionTimeout(@RequestParam Map<String, Object> commandMap) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + modelAndView.addObject("result", "ok"); + + return modelAndView; + } + + /** + * 비밀번호 유효기간 팝업을 출력한다. + * Cookie에 egovLatestServerTime, egovExpireSessionTime 기록하도록 한다. + * @return result - String + * @exception Exception + */ + @RequestMapping(value="/uat/uia/noticeExpirePwd.do") + public String noticeExpirePwd(@RequestParam Map<String, Object> commandMap, ModelMap model) throws Exception { + + // 설정된 비밀번호 유효기간을 가져온다. ex) 180이면 비밀번호 변경후 만료일이 앞으로 180일 + String propertyExpirePwdDay = EgovProperties.getProperty("Globals.ExpirePwdDay"); + int expirePwdDay = 0 ; + try { + expirePwdDay = Integer.parseInt(propertyExpirePwdDay); + } catch (NumberFormatException e) { + LOGGER.debug("convert expirePwdDay Err : "+e.getMessage()); + } catch (Exception e) { + LOGGER.debug("convert expirePwdDay Err : "+e.getMessage()); + } + + model.addAttribute("expirePwdDay", expirePwdDay); + + // 비밀번호 설정일로부터 몇일이 지났는지 확인한다. ex) 3이면 비빌번호 설정후 3일 경과 + LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser(); + model.addAttribute("loginVO", loginVO); + int passedDayChangePWD = 0; + if ( loginVO != null ) { + LOGGER.debug("===>>> loginVO.getId() = "+loginVO.getId()); + LOGGER.debug("===>>> loginVO.getUniqId() = "+loginVO.getUniqId()); + LOGGER.debug("===>>> loginVO.getUserSe() = "+loginVO.getUserSe()); + // 비밀번호 변경후 경과한 일수 + passedDayChangePWD = loginService.selectPassedDayChangePWD(loginVO); + LOGGER.debug("===>>> passedDayChangePWD = "+passedDayChangePWD); + model.addAttribute("passedDay", passedDayChangePWD); + } + + // 만료일자로부터 경과한 일수 => ex)1이면 만료일에서 1일 경과 + model.addAttribute("elapsedTimeExpiration", passedDayChangePWD - expirePwdDay); + + return "egovframework/com/uat/uia/EgovExpirePwd"; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/uat/uia/web/EgovLoginController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uat/uia/service/impl/LoginDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/uat/uia/service/impl/LoginDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uat/uia/service/impl/LoginDAO.java (revision 7) @@ -0,0 +1,125 @@ +package egovframework.com.uat.uia.service.impl; + +import java.util.Map; + +import org.springframework.stereotype.Repository; + +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; + +/** + * 일반 로그인, 인증서 로그인을 처리하는 DAO 클래스 + * @author 공통서비스 개발팀 박지욱 + * @since 2009.03.06 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.03.06 박지욱 최초 생성 + * 2011.08.26 서준식 EsntlId를 이용한 로그인 추가 + * 2017.07.21 장동한 로그인인증제한 작업 + * 2020.07.08 신용호 비밀번호를 수정한후 경과한 날짜 조회 + * </pre> + */ +@Repository("loginDAO") +public class LoginDAO extends EgovComAbstractDAO { + + /** + * 2011.08.26 + * EsntlId를 이용한 로그인을 처리한다 + * @param vo LoginVO + * @return LoginVO + * @exception Exception + */ + public LoginVO actionLoginByEsntlId(LoginVO vo) throws Exception { + return (LoginVO)selectOne("LoginUsr.ssoLoginByEsntlId", vo); + } + + /** + * 일반 로그인을 처리한다 + * @param vo LoginVO + * @return LoginVO + * @exception Exception + */ + public LoginVO actionLogin(LoginVO vo) throws Exception { + return (LoginVO)selectOne("LoginUsr.actionLogin", vo); + } + + /** + * 인증서 로그인을 처리한다 + * @param vo LoginVO + * @return LoginVO + * @exception Exception + */ + public LoginVO actionCrtfctLogin(LoginVO vo) throws Exception { + + return (LoginVO)selectOne("LoginUsr.actionCrtfctLogin", vo); + } + + /** + * 아이디를 찾는다. + * @param vo LoginVO + * @return LoginVO + * @exception Exception + */ + public LoginVO searchId(LoginVO vo) throws Exception { + + return (LoginVO)selectOne("LoginUsr.searchId", vo); + } + + /** + * 비밀번호를 찾는다. + * @param vo LoginVO + * @return LoginVO + * @exception Exception + */ + public LoginVO searchPassword(LoginVO vo) throws Exception { + + return (LoginVO)selectOne("LoginUsr.searchPassword", vo); + } + + /** + * 변경된 비밀번호를 저장한다. + * @param vo LoginVO + * @exception Exception + */ + public void updatePassword(LoginVO vo) throws Exception { + update("LoginUsr.updatePassword", vo); + } + + + /** + * 로그인인증제한 내역을 조회한다. + * @param vo LoginVO + * @return LoginVO + * @exception Exception + */ + public Map<?,?> selectLoginIncorrect(LoginVO vo) throws Exception { + return (Map<?,?>)selectOne("LoginUsr.selectLoginIncorrect", vo); + } + + /** + * 로그인인증제한 내역을 업데이트 한다. + * @param vo LoginVO + * @return vod + * @exception Exception + */ + public void updateLoginIncorrect(Map<?,?> map) throws Exception { + update("LoginUsr.updateLoginIncorrect"+map.get("USER_SE"), map); + } + + /** + * 비밀번호를 수정한후 경과한 날짜를 조회한다. + * @param vo LoginVO + * @return LoginVO + * @exception Exception + */ + public int selectPassedDayChangePWD(LoginVO vo) throws Exception { + return selectOne("LoginUsr.selectPassedDayChangePWD", vo); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/uat/uia/service/impl/LoginDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uat/uia/service/impl/EgovLoginServiceImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/uat/uia/service/impl/EgovLoginServiceImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uat/uia/service/impl/EgovLoginServiceImpl.java (revision 7) @@ -0,0 +1,250 @@ +package egovframework.com.uat.uia.service.impl; + +import java.util.HashMap; +import java.util.Map; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.config.EgovLoginConfig; +import egovframework.com.uat.uia.service.EgovLoginService; +import egovframework.com.utl.fcc.service.EgovNumberUtil; +import egovframework.com.utl.fcc.service.EgovStringUtil; +import egovframework.com.utl.sim.service.EgovFileScrty; +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; +import egovframework.rte.psl.dataaccess.util.EgovMap; + +/** + * 일반 로그인, 인증서 로그인을 처리하는 비즈니스 구현 클래스 + * @author 공통서비스 개발팀 박지욱 + * @since 2009.03.06 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.03.06 박지욱 최초 생성 + * 2011.08.26 서준식 EsntlId를 이용한 로그인 추가 + * 2014.12.08 이기하 암호화방식 변경(EgovFileScrty.encryptPassword) + * 2017.07.21 장동한 로그인인증제한 작업 + * 2020.07.08 신용호 비밀번호를 수정한후 경과한 날짜 조회 + * </pre> + */ +@Service("loginService") +public class EgovLoginServiceImpl extends EgovAbstractServiceImpl implements EgovLoginService { + + @Resource(name="loginDAO") + private LoginDAO loginDAO; + + @Resource(name = "egovLoginConfig") + EgovLoginConfig egovLoginConfig; + + /** + * 2011.08.26 + * EsntlId를 이용한 로그인을 처리한다 + * @param vo LoginVO + * @return LoginVO + * @exception Exception + */ + @Override + public LoginVO actionLoginByEsntlId(LoginVO vo) throws Exception { + + LoginVO loginVO = loginDAO.actionLoginByEsntlId(vo); + + // 3. 결과를 리턴한다. + if (loginVO != null && !loginVO.getId().equals("") && !loginVO.getPassword().equals("")) { + return loginVO; + } else { + loginVO = new LoginVO(); + } + + return loginVO; + } + + + /** + * 일반 로그인을 처리한다 + * @param vo LoginVO + * @return LoginVO + * @exception Exception + */ + @Override + public LoginVO actionLogin(LoginVO vo) throws Exception { + + // 1. 입력한 비밀번호를 암호화한다. + String enpassword = EgovFileScrty.encryptPassword(vo.getPassword(), vo.getId()); + vo.setPassword(enpassword); + + // 2. 아이디와 암호화된 비밀번호가 DB와 일치하는지 확인한다. + LoginVO loginVO = loginDAO.actionLogin(vo); + + // 3. 결과를 리턴한다. + if (loginVO != null && !loginVO.getId().equals("") && !loginVO.getPassword().equals("")) { + return loginVO; + } else { + loginVO = new LoginVO(); + } + + return loginVO; + } + + /** + * 인증서 로그인을 처리한다 + * @param vo LoginVO + * @return LoginVO + * @exception Exception + */ + @Override + public LoginVO actionCrtfctLogin(LoginVO vo) throws Exception { + + // 1. DN값으로 ID, PW를 조회한다. + LoginVO loginVO = loginDAO.actionCrtfctLogin(vo); + + // 3. 결과를 리턴한다. + if (loginVO != null && !loginVO.getId().equals("") && !loginVO.getPassword().equals("")) { + return loginVO; + } else { + loginVO = new LoginVO(); + } + + return loginVO; + } + + /** + * 아이디를 찾는다. + * @param vo LoginVO + * @return LoginVO + * @exception Exception + */ + @Override + public LoginVO searchId(LoginVO vo) throws Exception { + + // 1. 이름, 이메일주소가 DB와 일치하는 사용자 ID를 조회한다. + LoginVO loginVO = loginDAO.searchId(vo); + + // 2. 결과를 리턴한다. + if (loginVO != null && !loginVO.getId().equals("")) { + return loginVO; + } else { + loginVO = new LoginVO(); + } + + return loginVO; + } + + /** + * 비밀번호를 찾는다. + * @param vo LoginVO + * @return boolean + * @exception Exception + */ + @Override + public boolean searchPassword(LoginVO vo) throws Exception { + + boolean result = true; + + // 1. 아이디, 이름, 이메일주소, 비밀번호 힌트, 비밀번호 정답이 DB와 일치하는 사용자 Password를 조회한다. + LoginVO loginVO = loginDAO.searchPassword(vo); + if (loginVO == null || loginVO.getPassword() == null || "".equals(loginVO.getPassword())) { + return false; + } + + // 2. 임시 비밀번호를 생성한다.(영+영+숫+영+영+숫+영+영=8자리) + String newpassword = ""; + for (int i = 1; i <= 8; i++) { + // 영자 + if (i % 3 != 0) { + newpassword += EgovStringUtil.getRandomStr('a', 'z'); + // 숫자 + } else { + newpassword += EgovNumberUtil.getRandomNum(0, 9); + } + } + + // 3. 임시 비밀번호를 암호화하여 DB에 저장한다. + LoginVO pwVO = new LoginVO(); + String enpassword = EgovFileScrty.encryptPassword(newpassword, vo.getId()); + pwVO.setId(vo.getId()); + pwVO.setPassword(enpassword); + pwVO.setUserSe(vo.getUserSe()); + loginDAO.updatePassword(pwVO); + + // 4. 임시 비밀번호를 이메일 발송한다.(메일연동솔루션 활용) +// SndngMailVO sndngMailVO = new SndngMailVO(); +// sndngMailVO.setDsptchPerson("webmaster"); +// sndngMailVO.setRecptnPerson(vo.getEmail()); +// sndngMailVO.setSj("[MOIS] 임시 비밀번호를 발송했습니다."); +// sndngMailVO.setEmailCn("고객님의 임시 비밀번호는 " + newpassword + " 입니다."); +// sndngMailVO.setAtchFileId(""); +// +// result = sndngMailRegistService.insertSndngMail(sndngMailVO); + + return result; + } + + + /** + * 로그인인증제한을 조회한다. + * @param vo LoginVO + * @return Map + * @exception Exception + */ + public Map<?,?> selectLoginIncorrect(LoginVO vo) throws Exception{ + return loginDAO.selectLoginIncorrect(vo); + } + + /** + * 로그인인증제한을 처리한다. + * @param vo LoginVO + * @param vo mapLockUserInfo + * @return String + * @exception Exception + */ + public String processLoginIncorrect(LoginVO vo, Map<?,?> mapLockUserInfo) throws Exception{ + String sRtnCode = "C"; + //KISA 보안약점 조치 (2018-10-29, 윤창원) + String enpassword = EgovFileScrty.encryptPassword(vo.getPassword(), EgovStringUtil.isNullToString(vo.getId())); + Map<String,String> mapParam = new HashMap<String,String>(); + mapParam.put("USER_SE", vo.getUserSe()); + mapParam.put("id", EgovStringUtil.isNullToString(vo.getId()));//KISA 보안약점 조치 (2018-10-29, 윤창원) + //잠김시 + if("Y".equals(((String)mapLockUserInfo.get("lockAt")))){ + sRtnCode = "L"; + //패드워드 인증시 + }else if( ((String)mapLockUserInfo.get("userPw")).equals(enpassword) ){ + //LOCK 해제 + mapParam.put("updateAt", "E"); + loginDAO.updateLoginIncorrect(mapParam); + sRtnCode = "E"; + //패드워드 비인증시 + }else if(!"Y".equals(((String)mapLockUserInfo.get("lockAt")))){ + //LOCK 설정 + if( Integer.parseInt(String.valueOf(mapLockUserInfo.get("lockCnt")))+1 >= egovLoginConfig.getLockCount() ){ + mapParam.put("updateAt", "L"); + loginDAO.updateLoginIncorrect(mapParam); + sRtnCode = "L"; + //LOCK 증가 + }else{ + mapParam.put("updateAt", "C"); + loginDAO.updateLoginIncorrect(mapParam); + sRtnCode = "C"; + } + } + return sRtnCode; + } + + /** + * 비밀번호를 수정한후 경과한 날짜를 조회한다. + * @param vo LoginVO + * @return int + * @exception Exception + */ + public int selectPassedDayChangePWD(LoginVO vo) throws Exception { + return loginDAO.selectPassedDayChangePWD(vo); + } +} Property changes on: base3.10/src/main/java/egovframework/com/uat/uia/service/impl/EgovLoginServiceImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/uat/uia/service/EgovLoginService.java =================================================================== --- base3.10/src/main/java/egovframework/com/uat/uia/service/EgovLoginService.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/uat/uia/service/EgovLoginService.java (revision 7) @@ -0,0 +1,94 @@ +package egovframework.com.uat.uia.service; + +import java.util.Map; + +import egovframework.com.cmm.LoginVO; + +/** + * 일반 로그인, 인증서 로그인을 처리하는 비즈니스 인터페이스 클래스 + * @author 공통서비스 개발팀 박지욱 + * @since 2009.03.06 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.03.06 박지욱 최초 생성 + * 2011.08.26 서준식 EsntlId를 이용한 로그인 추가 + * 2017.07.21 장동한 로그인인증제한 작업 + * 2020.07.08 신용호 비밀번호를 수정한후 경과한 날짜 조회 + * </pre> + */ +public interface EgovLoginService { + + /** + * 2011.08.26 + * EsntlId를 이용한 로그인을 처리한다 + * @param vo LoginVO + * @return LoginVO + * @exception Exception + */ + public LoginVO actionLoginByEsntlId(LoginVO vo) throws Exception; + + /** + * 일반 로그인을 처리한다 + * @param vo LoginVO + * @return LoginVO + * @exception Exception + */ + LoginVO actionLogin(LoginVO vo) throws Exception; + + /** + * 인증서 로그인을 처리한다 + * @param vo LoginVO + * @return LoginVO + * @exception Exception + */ + LoginVO actionCrtfctLogin(LoginVO vo) throws Exception; + + /** + * 아이디를 찾는다. + * @param vo LoginVO + * @return LoginVO + * @exception Exception + */ + LoginVO searchId(LoginVO vo) throws Exception; + + /** + * 비밀번호를 찾는다. + * @param vo LoginVO + * @return boolean + * @exception Exception + */ + boolean searchPassword(LoginVO vo) throws Exception; + + + /** + * 로그인인증제한을 처리한다. + * @param vo LoginVO + * @param Map mapLockUserInfo + * @return String + * @exception Exception + */ + String processLoginIncorrect(LoginVO vo, Map<?,?> mapLockUserInfo) throws Exception; + + /** + * 로그인인증제한을 조회한다. + * @param vo LoginVO + * @return Map + * @exception Exception + */ + Map<?,?> selectLoginIncorrect(LoginVO vo) throws Exception; + + /** + * 비밀번호를 수정한후 경과한 날짜를 조회한다. + * @param vo LoginVO + * @return int + * @exception Exception + */ + int selectPassedDayChangePWD(LoginVO vo) throws Exception; + +} Property changes on: base3.10/src/main/java/egovframework/com/uat/uia/service/EgovLoginService.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sec/web/EgovCertLoginController.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sec/web/EgovCertLoginController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sec/web/EgovCertLoginController.java (revision 7) @@ -0,0 +1,176 @@ +package egovframework.com.utl.sec.web; + +import egovframework.com.utl.sec.service.EgovCertInfoUtil; + +import javax.servlet.http.HttpServletRequest; + +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * GPKISecureWeb 인증서 로그인 Controller + * @author 공통컴포넌트개발팀 한성곤 + * @since 2009.08.06 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.08.06 한성곤 최초 생성 + * + * </pre> + */ +@Controller +public class EgovCertLoginController { + /** + * 인증서 로그인에 관련된 환경변수를 설정한다. + * + * @param type + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/utl/sec/certVar.do") + public String var(@RequestParam(value="type", required=false) String type, Model model) throws Exception { + String typeInfo = type; + + //------------------------------------------------------------ + // 서버 인증서 정보 처리 + //------------------------------------------------------------ + String serverCert = EgovCertInfoUtil.getBase64ServerCert(); + + model.addAttribute("serverCert", serverCert); + + //------------------------------------------------------------ + // install 후 이동될 페이지 지정 (프로젝트에 맞게 수정 필요) + //----------------------------------------------------------- + if (typeInfo == null) { + typeInfo = ""; + } + + String startPage = null; + + if (typeInfo.equalsIgnoreCase("login")) { + startPage = "/utl/sec/certLogin.do"; + } else if (typeInfo.equalsIgnoreCase("regist")) { + startPage = "/utl/sec/certInfoPopup.do"; + } else { + startPage = "/utl/sec/certLogin.do"; + } + + model.addAttribute("startPage", startPage); + + return "egovframework/com/utl/sec/EgovCertVar"; + } + + /** + * 인증서 관련 설치 페이지를 표시한다. + * + * @param type + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/utl/sec/certInstall.do") + public String certInstall(@RequestParam(value="type", required=false) String type, Model model) throws Exception { + String typeInfo = type; + + //------------------------------------------------------------ + // install 후 이동될 페이지 지정 (프로젝트에 맞게 수정 필요) + //----------------------------------------------------------- + if (typeInfo == null || typeInfo.equals("")) { + typeInfo = "login"; + } + + model.addAttribute("type", typeInfo); + + return "egovframework/com/utl/sec/EgovCertInstall"; + } + + /** + * 인증서 로그인 관련 설치 정보를 제공하는 설정 페이지를 표시한다. + * + * @return + * @throws Exception + */ + @RequestMapping("/utl/sec/certSetup.do") + public String certSetup() throws Exception { + return "egovframework/com/utl/sec/EgovCertSetup"; + } + + /** + * 인증서 로그인 관련 오류메시지 페이지를 표시한다. + * + * @param errMsg + * @param model + * @return + * @throws Exception + */ + @RequestMapping("/utl/sec/certGPKIError.do") + public String certGPKIError(@RequestParam("errmsg") String errMsg, Model model) throws Exception { + + model.addAttribute("errmsg", errMsg); + + return "egovframework/com/utl/sec/EgovCertGPKIError"; + } + + /** + * 인증서 DN 등록을 위한 팝업 페이지를 표시한다. + * + * @param model + * @return + * @throws Exception + */ + @RequestMapping(value="/utl/sec/certInfoPopup.do") + public String certInfoPopup(Model model) throws Exception { + + return "egovframework/com/utl/sec/EgovCertInfoPopup"; + } + + /** + * 인증서 로그인 페이지(테스트)를 표시한다. + * + * @return + * @throws Exception + */ + @RequestMapping(value="/utl/sec/certLogin.do", method=RequestMethod.GET) + public String certLogin() throws Exception { + + return "egovframework/com/utl/sec/EgovCertLogin"; + } + + /** + * 인증서 로그인 확인 페이지(테스트)를 표시한다. + * + * @param request + * @param model + * @return + * @throws Exception + */ + @RequestMapping(value="/utl/sec/certLogin.do", method=RequestMethod.POST) + public String certLoginConfirm(HttpServletRequest request, Model model) throws Exception { + + // 인증서 정보 + model.addAttribute("certInfo", EgovCertInfoUtil.getCertInfo(request)); + + return "egovframework/com/utl/sec/EgovCertLoginConfirm"; + } + + /** + * 인증서 등록을 위한 팝업 페이지(테스트)를 표시한다. + * + * @return + * @throws Exception + */ + @RequestMapping("/utl/sec/certLoginInfo.do") + public String certLoginPopup() throws Exception { + + return "egovframework/com/utl/sec/EgovCertLoginInfo"; + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/sec/web/EgovCertLoginController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sec/service/EgovCertInfoUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sec/service/EgovCertInfoUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sec/service/EgovCertInfoUtil.java (revision 7) @@ -0,0 +1,83 @@ +package egovframework.com.utl.sec.service; + +import javax.servlet.http.HttpServletRequest; + +import com.dsjdf.jdf.Config; +import com.dsjdf.jdf.Configuration; +import com.dsjdf.jdf.ConfigurationException; +import com.gpki.gpkiapi.cert.X509Certificate; +import com.gpki.gpkiapi.exception.GpkiApiException; +import com.gpki.gpkiapi.storage.Disk; +import com.gpki.gpkiapi.util.Base64; +import com.gpki.servlet.GPKIHttpServletRequest; + +/** + * GPKISecureWeb 인증서 로그인 서비스 유틸 + * @author 공통컴포넌트개발팀 한성곤 + * @since 2009.08.06 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.08.06 한성곤 최초 생성 + * + * </pre> + */ +public class EgovCertInfoUtil { + /** + * 서버인증서에 대한 Base64 정보를 얻는다. + * + * @return + * @throws ConfigurationException + * @throws GpkiApiException + */ + public static String getBase64ServerCert() throws ConfigurationException, GpkiApiException { + /* + * Configuration를 사용하기 위해서는 다음과 같은 시스템 변수 지정이 필요함 + * + * -Dcom.dsjdf.config.file="/product/jeus/egovProps/gpkisecureweb/conf/dsjdf.properties" + */ + Config dsjdf = new Configuration(); + + String certPath = dsjdf.get("GPKISecureWeb.CertFilePathName"); + + X509Certificate x509Cert = null; + byte[] cert = null; + String base64cert = null; + + x509Cert = Disk.readCert(certPath); + cert = x509Cert.getCert(); + Base64 base64 = new Base64(); + base64cert = base64.encode(cert); + + return base64cert; + } + + /** + * 인증서에 대한 정보를 제공한다. + * + * @param request + * @return + * @throws Exception + */ + public static CertInfoVO getCertInfo(HttpServletRequest request) throws Exception { + CertInfoVO certInfo = new CertInfoVO(); + + GPKIHttpServletRequest gpkirequest = null; + + //System.out.println(request.getParameter("encryptedData")); + + gpkirequest = new GPKIHttpServletRequest(request); + + X509Certificate cert = gpkirequest.getSignerCert(); + + certInfo.setSubjectDn(cert.getSubjectDN()); + certInfo.setIssuerDn(cert.getIssuerDN()); + + return certInfo; + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/sec/service/EgovCertInfoUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sec/service/CertInfoVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sec/service/CertInfoVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sec/service/CertInfoVO.java (revision 7) @@ -0,0 +1,57 @@ +package egovframework.com.utl.sec.service; + +import java.io.Serializable; + +/** + * 인증서 정보 Value Object + * @author 공통컴포넌트개발팀 한성곤 + * @since 2009.08.06 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.08.06 한성곤 최초 생성 + * + * </pre> + */ +@SuppressWarnings("serial") +public class CertInfoVO implements Serializable { + /** 인증서 DN */ + private String subjectDn = null; + /** 발급자 DN */ + private String issuerDn = null; + + /** + * subjectDn attribute를 리턴한다. + * @return the subjectDn + */ + public String getSubjectDn() { + return subjectDn; + } + /** + * subjectDn attribute 값을 설정한다. + * @param subjectDn the subjectDn to set + */ + public void setSubjectDn(String subjectDn) { + this.subjectDn = subjectDn; + } + /** + * issuerDn attribute를 리턴한다. + * @return the issuerDn + */ + public String getIssuerDn() { + return issuerDn; + } + /** + * issuerDn attribute 값을 설정한다. + * @param issuerDn the issuerDn to set + */ + public void setIssuerDn(String issuerDn) { + this.issuerDn = issuerDn; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/utl/sec/service/CertInfoVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sec/filter/CertProcessRequestWrapper.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sec/filter/CertProcessRequestWrapper.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sec/filter/CertProcessRequestWrapper.java (revision 7) @@ -0,0 +1,84 @@ +package egovframework.com.utl.sec.filter; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletRequestWrapper; + +/** + * GPKISecureWeb 인증서 로그인 서비스 HttpServletRequestWrapper + * @author 공통컴포넌트개발팀 한성곤 + * @since 2009.08.13 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.08.13 한성곤 최초 생성 + * + * </pre> + */ +public class CertProcessRequestWrapper extends HttpServletRequestWrapper { + + /** + * 생성자를 호출한다. + * + * @param request + */ + public CertProcessRequestWrapper(HttpServletRequest request) { + super(request); + } + + /** + * 변환된 HTML 태그들을 다시 변환한다. + * + * @param src + * @return + */ + protected String replaceString(String src) { + String srcString = src; + + srcString = srcString.replaceAll("&lt;", "<"); + srcString = srcString.replaceAll("&gt;", ">"); + srcString = srcString.replaceAll("&quot;", "\""); + srcString = srcString.replaceAll("&apos;", "'"); + srcString = srcString.replaceAll("&amp;", "&"); + + return srcString; + } + + /** + * getParameterValues 메소드를 대치한다. + */ + public String[] getParameterValues(String parameter) { + String values[] = super.getParameterValues(parameter); + + if (values == null) { + return null; + } + + for(int i = 0; i < values.length; i++) { + if (values[i] != null) { + values[i] = replaceString(values[i]); + } + } + + return values; + } + + /** + * getParameter 메소드를 대치한다. + */ + public String getParameter(String parameter) { + String value = super.getParameter(parameter); + + if (value == null) { + return null; + } + + value = replaceString(value); + + return value; + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/sec/filter/CertProcessRequestWrapper.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sec/filter/CertProcessFilter.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sec/filter/CertProcessFilter.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sec/filter/CertProcessFilter.java (revision 7) @@ -0,0 +1,54 @@ +package egovframework.com.utl.sec.filter; + +import java.io.IOException; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; + +/** + * GPKISecureWeb 인증서 로그인 서비스 filter + * @author 공통컴포넌트개발팀 한성곤 + * @since 2009.08.13 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.08.13 한성곤 최초 생성 + * + * </pre> + */ +public class CertProcessFilter implements Filter { + @SuppressWarnings("unused") + private FilterConfig config; + + /** + * Filter init 메소드를 대치한다. + */ + public void init(FilterConfig config) throws ServletException { + this.config = config; + } + + /** + * Filter doFilter 메소드를 대치한다. + * RequestWrapper를 통해 HTML Tag 변환을 처리한다. + */ + public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { + chain.doFilter(new CertProcessRequestWrapper((HttpServletRequest)request), response); + } + + /** + * Filter destroy 메소드를 대치한다. + */ + public void destroy() { + // Empty Method + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/sec/filter/CertProcessFilter.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/fda/ucc/service/EgovUnitCalcUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/fda/ucc/service/EgovUnitCalcUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/fda/ucc/service/EgovUnitCalcUtil.java (revision 7) @@ -0,0 +1,151 @@ +package egovframework.com.utl.fda.ucc.service; + +import java.util.HashMap; + +/** + * 길이, 부피, 넓이, 무게 환산 데이터를 생성하는 Service Class 구현 + * @author 공통서비스 장동한 + * @since 2010.06.16 + * @version 1.0 + * @see <pre> + * 개정이력(Modification Information) + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2010.06.16 장동한 최초 생성 + * + * </pre> + */ +public class EgovUnitCalcUtil { + + //길이 + HashMap<String, Double> g_hmVt = new HashMap<String, Double>(); + + //부피 + HashMap<String, Double> g_hmVl = new HashMap<String, Double>(); + + //넓이 + HashMap<String, Double> g_hmAr = new HashMap<String, Double>(); + + //무게 + HashMap<String, Double> g_hmWt = new HashMap<String, Double>(); + + /** + * 생성자를 통하여 길이, 부피, 넓이, 무게 환산 데이터를 생성한다. + */ + public EgovUnitCalcUtil(){ + //길이 + g_hmVt.put("vt0", (double)0); + g_hmVt.put("vt1", (double)1); + g_hmVt.put("vt2", 0.01); + g_hmVt.put("vt3", (1/2.54)); + g_hmVt.put("vt4", (1/30.48)); + g_hmVt.put("vt5", (1/91.44)); + g_hmVt.put("vt6", (1/160934.4)); + g_hmVt.put("vt7", 0.033); + g_hmVt.put("vt8", (0.033/6)); + g_hmVt.put("vt9", (0.033/360)); + g_hmVt.put("vt10", (0.033/1296)); + + + //부피 + g_hmVl.put("vl0", (double)0); + g_hmVl.put("vl1", (1/0.18039)); + g_hmVl.put("vl2", (1/1.8039)); + g_hmVl.put("vl3", (1/18.039)); + g_hmVl.put("vl4", 10000.0); + g_hmVl.put("vl5", 0.001); + g_hmVl.put("vl6", (double)1); + g_hmVl.put("vl7", (1000/16.387064)); + g_hmVl.put("vl8", (1000/Math.pow(2.54*12,3))); + g_hmVl.put("vl9", (1000/Math.pow(2.54*36,3))); + g_hmVl.put("vl10", (1000/(Math.pow(2.54,3)*231))); + + //넓이 + g_hmAr.put("ar0", (double)0); + g_hmAr.put("ar1", (double)(1089/100)); + g_hmAr.put("ar2", (double)(1089/3600)); + g_hmAr.put("ar3", (double)(1089/1080000)); + g_hmAr.put("ar4", (double)(1089/10800000)); + g_hmAr.put("ar5", (double)1); + g_hmAr.put("ar6", 0.01); + g_hmAr.put("ar7", (1/Math.pow(2.54*12/100,2))); + g_hmAr.put("ar8", (1/Math.pow(2.54*36/100,2))); + g_hmAr.put("ar9", (1/(Math.pow(2.54*36/100,2)*4840))); + g_hmAr.put("ar10", 0.0001); + + //무게 + g_hmWt.put("wt0", (double)0); + g_hmWt.put("wt1", (double)1); + g_hmWt.put("wt2", (double)1000); + g_hmWt.put("wt3", 0.001); + g_hmWt.put("wt4", 0.000001); + g_hmWt.put("wt5", (1/0.06479891)); + g_hmWt.put("wt6", (16/453.59237)); + g_hmWt.put("wt7", (1/453.59237)); + g_hmWt.put("wt8", (1/3.75)); + g_hmWt.put("wt9", (1/37.5)); + g_hmWt.put("wt10", (double)(1/600)); + g_hmWt.put("wt11", (double)(1/3750)); + } + + /** + * 길이단위를 환산하여 리턴한다. + * @param nLength -길이 + * @param sLengthUnit-길이 단위 + * @param sLengthUnitAs-길이 환산 단위 + * @return double -환산된 길이 + */ + public double convertLengthCalcUnit(double nLength, String sLengthUnit, String sLengthUnitAs){ + + double nSelAr = g_hmVt.get(sLengthUnit); + double nSelArAs = g_hmVt.get(sLengthUnitAs); + + return (nSelArAs / nSelAr) * nLength; + } + + /** + * 부피단위를 환산하여 리턴한다. + * @param nVolume -부피 + * @param sVolumeUnit-부피 단위 + * @param sVolumeUnitAs-부피 환산 단위 + * @return double -환산된 부피 + */ + public double convertVolumeCalcUnit(double nVolume, String sVolumeUnit, String sVolumeUnitAs){ + + double nSelVl = g_hmVl.get(sVolumeUnit); + double nSelVlAs = g_hmVl.get(sVolumeUnitAs); + + return (nSelVl / nSelVlAs) * nVolume; + } + + /** + * 무게단위를 환산하여 리턴한다. + * @param nWeight -무게 + * @param sWeightUnit -무게 단위 + * @param sWeightUnitAs -무게 환산 단위 + * @return double -환산된 무게 + */ + public double convertWeightCalcUnit(double nWeight, String sWeightUnit, String sWeightUnitAs){ + + double nSelWt = g_hmAr.get(sWeightUnit); + double nSelWtAs = g_hmAr.get(sWeightUnitAs); + + return (nSelWt / nSelWtAs) * nWeight; + } + + /** + * 넓이단위를 환산하여 리턴한다. + * @param nWidth -넓이 + * @param sWidthUnit-넓이 단위 + * @param sWidthUnitAs-넓이 환산 단위 + * @return double -환산된 넓이 + */ + public double convertWidthCalcUnit(double nWidth, String sWidthUnit, String sWidthUnitAs){ + + double nSelAr = g_hmWt.get(sWidthUnit); + double nSelArAs = g_hmWt.get(sWidthUnitAs); + + return (nSelAr / nSelArAs) * nWidth; + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/fda/ucc/service/EgovUnitCalcUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/slm/EgovHttpSessionBindingListener.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/slm/EgovHttpSessionBindingListener.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/slm/EgovHttpSessionBindingListener.java (revision 7) @@ -0,0 +1,42 @@ +package egovframework.com.utl.slm; + +import javax.servlet.http.HttpSessionBindingEvent; +import javax.servlet.http.HttpSessionBindingListener; + +/** + * @Class Name : EgovHttpSessionBindingListener.java + * @Description : 중복 로그인 방지를 위해 사용자의 로그인 아이디와 세션을 제어하는 구현 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2014.09.30 표준프레임워크 최초생성 +* @author YJ Kwon + * @since 2014.09.30 + * @version 3.5 + */ +public class EgovHttpSessionBindingListener implements HttpSessionBindingListener { + + /** + * 사용자의 로그인 세션에 EgovHttpSessionBindingListener가 바인딩될 때 자동 호출되는 메소드로, + * 사용자 세션이 이미 존재하는지를 검사하여 하나의 어플리케이션 내에서 하나의 세션만 유지되도록 한다 + * */ + @Override + public void valueBound(HttpSessionBindingEvent event) { + if (EgovMultiLoginPreventor.findByLoginId(event.getName())) { + EgovMultiLoginPreventor.invalidateByLoginId(event.getName()); + } + EgovMultiLoginPreventor.loginUsers.put(event.getName(), event.getSession()); + } + + /** + * + * 로그아웃 혹은 세션타임아웃 설정에 따라 사용자 세션으로부터 + * EgovHttpSessionBindingListener가 제거될 때 자동 호출되는 메소드로, + * 사용자의 로그인 아이디에 해당하는 세션을 ConcurrentHashMap에서 모두 제거한다 + * */ + @Override + public void valueUnbound(HttpSessionBindingEvent event) { + EgovMultiLoginPreventor.loginUsers.remove(event.getName(), event.getSession()); + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/slm/EgovHttpSessionBindingListener.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/slm/EgovMultiLoginPreventor.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/slm/EgovMultiLoginPreventor.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/slm/EgovMultiLoginPreventor.java (revision 7) @@ -0,0 +1,43 @@ +package egovframework.com.utl.slm; + +import java.util.Enumeration; +import java.util.concurrent.ConcurrentHashMap; + +import javax.servlet.http.HttpSession; + +/** + * @Class Name : EgovMultiLoginPreventor.java + * @Description : 중복 로그인 방지를 위해 사용자의 로그인 아이디와 세션 아이디를 관리하는 구현 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- ------- ------------------- + * 2014.09.30 표준프레임워크 최초생성 +* @author YJ Kwon + * @since 2014.09.30 + * @version 3.5 + */ +public class EgovMultiLoginPreventor { + + public static ConcurrentHashMap<String, HttpSession> loginUsers = new ConcurrentHashMap<String, HttpSession>(); + + /** + * 사용자의 로그인 아이디로 생성된 세션이 있는지를 확인한다 + * */ + public static boolean findByLoginId(String loginId) { + return loginUsers.containsKey(loginId); + } + + /** + * 사용자의 로그인 아이디로 이미 존재하는 세션을 무효화한다 + * */ + public static void invalidateByLoginId(String loginId) { + Enumeration<String> e = loginUsers.keys(); + while (e.hasMoreElements()) { + String key = (String) e.nextElement(); + if (key.equals(loginId)) { + loginUsers.get(key).invalidate(); + } + } + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/slm/EgovMultiLoginPreventor.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/cas/service/EgovMessageUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/cas/service/EgovMessageUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/cas/service/EgovMessageUtil.java (revision 7) @@ -0,0 +1,137 @@ +/** + * @Class Name : EgovMessageUtil.java + * @Description : 메시지 처리 관련 유틸리티 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.02.13 이삼섭 최초 생성 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 02. 13 + * @version 1.0 + * @see + * + */ + +package egovframework.com.utl.cas.service; + +import egovframework.com.cmm.service.EgovProperties; +import egovframework.com.utl.fcc.service.EgovStringUtil; + +public class EgovMessageUtil { + + private static final String PATH_SEP = System.getProperty("file.separator"); + + /** + * 해당되는 속성키로부터 에러 메시지를 얻는다. + * + * @param strCode + * @return + */ + public static String getErrorMsg(String strCode) { + + return getMessage("error", strCode, null); + } + + /** + * 해당되는 속성키로부터 에러 메시지(파라미터 변환 포함)를 얻는다. + * + * @param strCode + * @param arrParam + * @return + */ + public static String getErrorMsg(String strCode, String[] arrParam) { + + return getMessage("error", strCode, arrParam); + } + + /** + * 해당되는 속성키로부터 정보 메시지를 얻는다. + * + * @param strCode + * @return + */ + public static String getInfoMsg(String strCode) { + + return getMessage("info", strCode, null); + } + + /** + *해당되는 속성키로부터 정보 메시지(파라미터 변환 포함)를 얻는다. + * + * @param strCode + * @param arrParam + * @return + */ + public static String getInfoMsg(String strCode, String[] arrParam) { + + return getMessage("info", strCode, arrParam); + } + + /** + * 해당되는 속성키로부터 경고 메시지를 얻는다. + * + * @param strCode + * @return + */ + public static String getWarnMsg(String strCode) { + + return getMessage("warn", strCode, null); + } + + /** + * 해당되는 속성키로부터 경고 메시지(파라미터 변환 포함)를 얻는다. + * + * @param strCode + * @param arrParam + * @return + */ + public static String getWarnMsg(String strCode, String[] arrParam) { + + return getMessage("warn", strCode, arrParam); + } + + /** + * 해당되는 속성키로부터 확인 메시지를 얻는다. + * + * @param strCode + * @return + */ + public static String getConfirmMsg(String strCode) { + + return getMessage("confirm", strCode, null); + } + + /** + * 해당되는 속성키로부터 확인 메시지(파라미터 변환 포함)를 얻는다. + * + * @param strCode + * @param arrParam + * @return + */ + public static String getConfirmMsg(String strCode, String[] arrParam) { + + return getMessage("confirm", strCode, arrParam); + } + + private static String getMessage(String wrkCode, String strCode, String[] arrParam) { + + String message = null; + + String strMsg = ""; + if (!"".equals(EgovStringUtil.isNullToString(strCode.trim()))) { + + strMsg = EgovProperties.getProperty(EgovProperties.RELATIVE_PATH_PREFIX + "egovProps" + PATH_SEP + "conf" + PATH_SEP + wrkCode + "message.properties", strCode); + + for (int i = (arrParam != null && arrParam.length > 0 ? arrParam.length - 1 : -1); i >= 0; i--) { + strMsg = EgovStringUtil.replace(EgovStringUtil.isNullToString(strMsg), "{" + i + "}", arrParam[i]);//KISA 보안약점 조치 (2018-10-29, 윤창원) + } + message = strMsg; + } else { + message = ""; + } + + return message; + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/cas/service/EgovMessageUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/cas/service/EgovSessionCookieUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/cas/service/EgovSessionCookieUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/cas/service/EgovSessionCookieUtil.java (revision 7) @@ -0,0 +1,230 @@ +/** + * @Class Name : EgovSessionUtil.java + * @Description : 세션 처리 관련 유틸리티 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.02.13 이삼섭 최초 생성 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 02. 13 + * @version 1.0 + * @see + * + */ + +package egovframework.com.utl.cas.service; + +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; +import java.net.URLEncoder; +import java.util.Enumeration; + +import egovframework.com.cmm.EgovWebUtil; + +import javax.servlet.http.Cookie; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +public class EgovSessionCookieUtil { + + /** + * HttpSession에 주어진 키 값으로 세션 정보를 생성하는 기능 + * + * @param request + * @param keyStr - 세션 키 + * @param valStr - 세션 값 + * @throws Exception + */ + public static void setSessionAttribute(HttpServletRequest request, String keyStr, String valStr) throws Exception { + + HttpSession session = request.getSession(); + session.setAttribute(keyStr, valStr); + } + + /** + * HttpSession에 주어진 키 값으로 세션 객체를 생성하는 기능 + * + * @param request + * @param keyStr - 세션 키 + * @param valStr - 세션 값 + * @throws Exception + */ + public static void setSessionAttribute(HttpServletRequest request, String keyStr, Object obj) throws Exception { + + HttpSession session = request.getSession(); + session.setAttribute(keyStr, obj); + } + + /** + * HttpSession에 존재하는 주어진 키 값에 해당하는 세션 값을 얻어오는 기능 + * + * @param request + * @param keyStr - 세션 키 + * @return + * @throws Exception + */ + public static Object getSessionAttribute(HttpServletRequest request, String keyStr) throws Exception { + + HttpSession session = request.getSession(); + return session.getAttribute(keyStr); + } + + /** + * HttpSession 객체내의 모든 값을 호출하는 기능 + * + * @param request + * @return + * @throws Exception + */ + public static String getSessionValuesString(HttpServletRequest request) throws Exception { + HttpSession session = request.getSession(); + String returnVal = ""; + + Enumeration<?> e = session.getAttributeNames(); + while (e.hasMoreElements()) { + String sessionKey = (String) e.nextElement(); + returnVal = returnVal + "[" + sessionKey + " : " + session.getAttribute(sessionKey) + "]"; + } + + return returnVal; + } + + /** + * HttpSession에 존재하는 세션을 주어진 키 값으로 삭제하는 기능 + * + * @param request + * @param keyStr - 세션 키 + * @throws Exception + */ + public static void removeSessionAttribute(HttpServletRequest request, String keyStr) throws Exception { + + HttpSession session = request.getSession(); + session.removeAttribute(keyStr); + } + + /** + * 쿠키생성 - 입력받은 분만큼 쿠키를 유지되도록 세팅한다. + * 쿠키의 유효시간을 5분으로 설정 =>(cookie.setMaxAge(60 * 5) + * 쿠키의 유효시간을 10일로 설정 =>(cookie.setMaxAge(60 * 60 * 24 * 10) + * + * @param response - Response + * @param cookieNm - 쿠키명 + * @param cookieValue - 쿠키값 + * @param minute - 지속시킬 시간(분) + * @return + * @exception + * @see + */ + public static void setCookie(HttpServletResponse response, String cookieNm, String cookieVal, int minute) throws UnsupportedEncodingException { + + // 특정의 encode 방식을 사용해 캐릭터 라인을 application/x-www-form-urlencoded 형식으로 변환 + // 일반 문자열을 웹에서 통용되는 'x-www-form-urlencoded' 형식으로 변환하는 역할 + String cookieValue = URLEncoder.encode(cookieVal, "utf-8"); + + // 쿠키생성 - 쿠키의 이름, 쿠키의 값 + Cookie cookie = new Cookie(cookieNm, cookieValue); + + cookie.setSecure(true); + + // 쿠키의 유효시간 설정 + int maxAge = 60 * minute; + // KISA 보안약점 조치 (2018-10-29, 윤창원) + if(maxAge > 60 * 60 * 24) { + maxAge = 60 * 60 * 24; + } + cookie.setMaxAge(maxAge); + + // response 내장 객체를 이용해 쿠키를 전송 + response.addCookie(cookie); + } + + /** + * 쿠키생성 - 쿠키의 유효시간을 설정하지 않을 경우 쿠키의 생명주기는 브라우저가 종료될 때까지 + * + * @param response - Response + * @param cookieNm - 쿠키명 + * @param cookieValue - 쿠키값 + * @return + * @exception + * @see + */ + + public static void setCookie(HttpServletResponse response, String cookieNm, String cookieVal) throws UnsupportedEncodingException { + + // 특정의 encode 방식을 사용해 캐릭터 라인을 application/x-www-form-urlencoded 형식으로 변환 + // 일반 문자열을 웹에서 통용되는 'x-www-form-urlencoded' 형식으로 변환하는 역할 + String cookieValue = URLEncoder.encode(cookieVal, "utf-8"); + + // 쿠키생성 + Cookie cookie = new Cookie(EgovWebUtil.removeCRLF(cookieNm), EgovWebUtil.removeCRLF(cookieValue)); + + // 2011.10.10 보안점검 후속조치 + cookie.setSecure(true); + + // response 내장 객체를 이용해 쿠키를 전송 + response.addCookie(cookie); + } + + /** + * 쿠키값 사용 - 쿠키값을 읽어들인다. + * + * @param request - Request + * @param name - 쿠키명 + * @return 쿠키값 + * @exception + * @see + */ + public static String getCookie(HttpServletRequest request, String cookieNm) throws Exception { + + // 한 도메인에서 여러 개의 쿠키를 사용할 수 있기 때문에 Cookie[] 배열이 반환 + // Cookie를 읽어서 Cookie 배열로 반환 + Cookie[] cookies = request.getCookies(); + + if (cookies == null) + return ""; + + String cookieValue = null; + + // 입력받은 쿠키명으로 비교해서 쿠키값을 얻어낸다. + for (int i = 0; i < cookies.length; i++) { + + if (cookieNm.equals(cookies[i].getName())) { + + // 특별한 encode 방식을 사용해 application/x-www-form-urlencoded 캐릭터 라인을 디코드 + // URLEncoder로 인코딩된 결과를 디코딩하는 클래스 + cookieValue = URLDecoder.decode(cookies[i].getValue(), "utf-8"); + + break; + } + } + + return cookieValue; + } + + /** + * 쿠키값 삭제 - cookie.setMaxAge(0) - 쿠키의 유효시간을 0으로 설정해 줌으로써 쿠키를 삭제하는 것과 동일한 효과 + * + * @param request - Request + * @param name - 쿠키명 + * @return 쿠키값 + * @exception + * @see + */ + public static void setCookie(HttpServletResponse response, String cookieNm) throws UnsupportedEncodingException { + + // 쿠키생성 - 쿠키의 이름, 쿠키의 값 + Cookie cookie = new Cookie(EgovWebUtil.removeCRLF(cookieNm), null); + + cookie.setSecure(true); + + // 쿠키를 삭제하는 메소드가 따로 존재하지 않음 + // 쿠키의 유효시간을 0으로 설정해 줌으로써 쿠키를 삭제하는 것과 동일한 효과 + cookie.setMaxAge(0); + + // response 내장 객체를 이용해 쿠키를 전송 + response.addCookie(cookie); + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/utl/cas/service/EgovSessionCookieUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovEhgtCalcUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovEhgtCalcUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovEhgtCalcUtil.java (revision 7) @@ -0,0 +1,294 @@ +/** + * @Class Name : EgovEhgtCalcUtil.java + * @Description : 대한민국, 미국,유럽연합, 일본, 중국연합 사이의 환율계산기능을 + * 제공하는 Business Interface class + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.01.13 박정규 최초 생성 + * + * @author 공통 서비스 개발팀 박정규 + * @since 2009. 01. 13 + * @version 1.0 + * @see + * + */ + +package egovframework.com.utl.fcc.service; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.math.BigDecimal; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URL; + +import egovframework.com.cmm.util.EgovResourceCloseHelper; + +import javax.swing.text.html.HTMLEditorKit; +import javax.swing.text.html.parser.ParserDelegator; + +public class EgovEhgtCalcUtil { + + // 환율.... + static final char EGHT_USD = 'U'; // 미국 + static final char EGHT_JPY = 'J'; // 일본 + static final char EGHT_EUR = 'E'; // 유럽연합 + static final char EGHT_CNY = 'C'; // 중국연합 + + static final char EGHT_KWR = 'K'; // 대한민국 + + static StringBuffer sb = new StringBuffer(); + + /** + * 대한민국(KRW), 미국(USD), 유럽연합(EUR), 일본(JPY), 중국원화(CNY) 사이의 환율을 계산하는 기능이다 + * 환율표 - 매매기준율 => 미국(USD) - 1485.00(USD), 일본-100(JPY) - 1596.26(JPY) + * 계산법: 대한민원(KRW) - 1,000원 -> 미국(USD)로 변환 시 => 1,000(원)/1485(매매기준율) = 0.67(URS) + * 계산법: 일본(JPY) - 100,000원 -> 대한민국(KRW) 변환 시 => (100,000(원) * 1596.26(매매기준율)) / 100(100엔당 기준표이므로) = 1,596,260.00 (KRW) + * 계산법: 일본(JPY) - 100,000원 -> 미국(USD) 변환 시 => ( + * (100,000(원) * 1596.26(매매기준율)) / 100(100엔당 기준표이므로) = 1,596,260.00 (KRW)) / 1,485.00 = 1,074.92 (USD) + * @param srcType - 환율기준 + * @param srcAmount - 금액 + * @param cnvrType - 변환환율 + * @return 환율금액 + * @exception MyException + * @see + */ + public void readHtmlParsing(String str) { + HttpURLConnection con = null; + InputStream is = null; + InputStreamReader reader = null; + try { + //입력받은 URL에 연결하여 InputStream을 통해 읽은 후 파싱 한다. + URL url = new URL(str); + + con = (HttpURLConnection) url.openConnection(); + + is = con.getInputStream(); + reader = new InputStreamReader(is, "euc-kr"); + //InputStreamReader reader = new InputStreamReader(con.getInputStream(), "utf-8"); + + new ParserDelegator().parse(reader, new CallbackHandler(), true); + + con.disconnect(); + + } catch (MalformedURLException e) { + throw new RuntimeException(e); + } catch (IOException e) { + throw new RuntimeException(e); + } finally { + EgovResourceCloseHelper.close(reader, is); + + if (con != null) { + con.disconnect(); + } + } + } + + //파서는 콜백 형식으로 되어 있다. 각 태그가 들어 올때 적절한 메소드가 호출됨 + private class CallbackHandler extends HTMLEditorKit.ParserCallback { + + public void handleText(char[] data, int pos) { + + String srcStr = new String(data); + + srcStr = EgovStringUtil.strip(srcStr, " "); + + sb.append(srcStr).append("/"); + } + } + + public static String getEhgtCalc(String srcType, long srcAmount, String cnvrType) throws Exception { + + String rtnStr = null; + + String[] eghtStdrRt = null; // Html에서 파싱한 환율매매기준율을 저장하기 위한 문자열배열 + + double srcStdrRt = 0.00; // 원래 매매기준율 + double cnvrStdrRt = 0.00; // 변환 매매기준율 + + //double cnvrAmount = 0.00; // 변환금액 + String sCnvrAmount = null; // 변환금액 + + String srcStr = null; + String cnvrStr = null; + + String srcTypeCnvr = srcType.toUpperCase(); + String cnvrTypeCnvr = cnvrType.toUpperCase(); + + EgovEhgtCalcUtil parser = new EgovEhgtCalcUtil(); + + parser.readHtmlParsing("http://community.fxkeb.com/fxportal/jsp/RS/DEPLOY_EXRATE/4176_0.html"); + + if (sb == null) { + throw new RuntimeException("StringBuffer is null!!"); + } + + eghtStdrRt = EgovStringUtil.split(sb.toString(), "/"); + + if (eghtStdrRt == null || (eghtStdrRt.length == 0)) + throw new RuntimeException("String Split Error!"); + + char srcChr = srcTypeCnvr.charAt(0); + char cnvrChr = cnvrTypeCnvr.charAt(0); + + // 원래 환율기준 정의 + switch (srcChr) { + + case EGHT_USD: // 미국 + srcStr = "USD"; + break; + + case EGHT_JPY: // 일본 + srcStr = "JPY"; + break; + + case EGHT_EUR: // 유럽연합 + srcStr = "EUR"; + break; + + case EGHT_CNY: // 중국연합 + srcStr = "CNY"; + break; + + default: + srcStr = "USD"; + break; + } + + // 변환하고자 하는 환율기준 정의 + switch (cnvrChr) { + + case EGHT_USD: // 미국 + cnvrStr = "USD"; + break; + + case EGHT_JPY: // 일본 + cnvrStr = "JPY"; + break; + + case EGHT_EUR: // 유럽연합 + cnvrStr = "EUR"; + break; + + case EGHT_CNY: // 중국연합 + cnvrStr = "CNY"; + break; + + default: + cnvrStr = "KRW"; + break; + } + + // 변환하고자 하는 국가의 환율매매기준율 추출... + for (int i = 0; i < eghtStdrRt.length; i++) { + + // 원래 매매기준율 추출 + if (eghtStdrRt[i].equals(srcStr)) { + srcStdrRt = Double.parseDouble(eghtStdrRt[i + 1]); + + if (i == (eghtStdrRt.length - 1)) + break; + } + + // 변환 매매기준율 추출 + if (eghtStdrRt[i].equals(cnvrStr)) { + cnvrStdrRt = Double.parseDouble(eghtStdrRt[i + 1]); + + if (i == (eghtStdrRt.length - 1)) + break; + } + } + + // 정확한 계산을 위한 BigDecimal 형태로 구현. + BigDecimal bSrcAmount = new BigDecimal(String.valueOf(srcAmount)); // 변환하고자 하는 금액 + BigDecimal bSrcStdrRt = new BigDecimal(String.valueOf(srcStdrRt)); // 원래 매매 비율 + BigDecimal bCnvrStdrRt = new BigDecimal(String.valueOf(cnvrStdrRt)); // 변환 매매 비율 + BigDecimal bStdr = new BigDecimal("100"); // 변환 매매 비율 + + // 원래 매매기준율 및 변환매매기준율 기준으로 환율금액 계산 + switch (srcChr) { + + case EGHT_KWR: // 대한민국 + if (cnvrChr == 'K') + //변환금액 = 변환대상금액; + sCnvrAmount = bSrcAmount.toString(); + else if (cnvrChr == 'J') + //변환금액 = (변환대상금액 / 변환매매비율) * 100; + sCnvrAmount = (bSrcAmount.divide(bCnvrStdrRt, 4, 4)).multiply(bStdr).setScale(2, 4).toString(); + else + //변환금액 = (변환대상금액 / 변환매매비율); + sCnvrAmount = bSrcAmount.divide(bCnvrStdrRt, 2, 4).toString(); + break; + + case EGHT_USD: // 미국 + if (cnvrChr == 'U') + //변환금액 = 변환대상금액; + sCnvrAmount = bSrcAmount.toString(); + else if (cnvrChr == 'K') + //변환금액 = 변환대상금액 * 원래 매매 비율; + sCnvrAmount = bSrcAmount.multiply(bSrcStdrRt).setScale(2, 4).toString(); + else if (cnvrChr == 'J') + //cnvrAmount = ((변환대상금액 * 원래 매매 비율) / 변환 매매 비율) * 100; + sCnvrAmount = ((bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bCnvrStdrRt, 2, 4)).multiply(bStdr).setScale(2, 4).toString(); + else + //cnvrAmount = (변환대상금액 * 원래 매매 비율) / 변환 매매 비율; + sCnvrAmount = (bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bCnvrStdrRt, 2, 4).toString(); + break; + + case EGHT_EUR: // 유럽연합 + if (cnvrChr == 'E') + //변환금액 = 변환대상금액; + sCnvrAmount = bSrcAmount.toString(); + else if (cnvrChr == 'K') + //cnvrAmount = 변환대상금액 * 원래 매매 비율; + sCnvrAmount = bSrcAmount.multiply(bSrcStdrRt).setScale(2, 4).toString(); + else if (cnvrChr == 'J') + //cnvrAmount = ((변환대상금액 * 원래 매매 비율) / 변환 매매 비율) * 100; + sCnvrAmount = ((bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bCnvrStdrRt, 2, 4)).multiply(bStdr).setScale(2, 4).toString(); + else + //cnvrAmount = (변환대상금액 * 원래 매매 비율) / 변환 매매 비율; + sCnvrAmount = (bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bCnvrStdrRt, 2, 4).toString(); + break; + + case EGHT_JPY: // 일본 + if (cnvrChr == 'J') + //변환금액 = 변환대상금액; + sCnvrAmount = bSrcAmount.toString(); + else if (cnvrChr == 'K') + //cnvrAmount = (변환대상금액 * 원래 매매 비율) / 100; + sCnvrAmount = (bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bStdr, 2, 4).toString(); + else + //cnvrAmount = ((변환대상금액 * 원래 매매 비율) / 100) / 변환 매매 비율; + sCnvrAmount = ((bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bStdr, 2, 4)).divide(bCnvrStdrRt, 2, 4).toString(); + break; + + case EGHT_CNY: // 중국연합 + if (cnvrChr == 'C') + //변환금액 = 변환대상금액; + sCnvrAmount = bSrcAmount.toString(); + else if (cnvrChr == 'K') + //cnvrAmount = 변환대상금액 * 원래 매매 비율; + sCnvrAmount = bSrcAmount.multiply(bSrcStdrRt).setScale(2, 4).toString(); + else if (cnvrChr == 'J') + //cnvrAmount = ((변환대상금액 * 원래 매매 비율) / 변환 매매 비율) * 100; + sCnvrAmount = ((bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bCnvrStdrRt, 2, 4)).multiply(bStdr).setScale(2, 4).toString(); + else + //cnvrAmount = (변환대상금액 * 원래 매매 비율) / 변환 매매 비율; + sCnvrAmount = (bSrcAmount.multiply(bSrcStdrRt).setScale(4, 4)).divide(bCnvrStdrRt, 2, 4).toString(); + break; + + default: + //변환금액 = (변환대상금액 / 변환매매비율); + sCnvrAmount = bSrcAmount.divide(bCnvrStdrRt, 2, 4).toString(); + break; + } + + rtnStr = sCnvrAmount + " " + cnvrStr; + + return rtnStr; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovEhgtCalcUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovDateFormat.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovDateFormat.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovDateFormat.java (revision 7) @@ -0,0 +1,146 @@ +package egovframework.com.utl.fcc.service; + +import java.text.DateFormat; +import java.util.Date; +import java.util.Locale; + +/** + * 날짜 및 시간에 대한 변환을 수행하는 클래스 + */ +public class EgovDateFormat { + + /** + * 기본 Locale에 해당하는 형식으로 날짜를 변환한다. + * + * @param date 날짜 + * @return 날짜 문자열 + */ + public static String formatDate(Date date) { + return DateFormat.getDateInstance().format(date); + } + + /** + * Locale에 해당하는 형식으로 날짜를 변환한다. + * + * @param locale 로케일 + * @param date 날짜 + * @return 날짜 문자열 + */ + public static String formatDate(Locale locale, Date date) { + return DateFormat.getDateInstance(DateFormat.DEFAULT, locale).format(date); + } + + /** + * 주어진 스타일에 따라, 기본 Locale에 해당하는 형식으로 날짜를 변환한다. + * + * @param style 날짜 스타일 (사용 가능한 값 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT}) + * @param date 날짜 + * @return 날짜 문자열 + */ + public static String formatDate(int style, Date date) { + return DateFormat.getDateInstance(style).format(date); + } + + /** + * 주어진 스타일에 따라, Locale에 해당하는 형식으로 날짜를 변환한다. + * + * @param style 날짜 스타일 (사용 가능한 값 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT}) + * @param locale 로케일 + * @param date 날짜 + * @return 날짜 문자열 + */ + public static String formatDate(int style, Locale locale, Date date) { + return DateFormat.getDateInstance(style, locale).format(date); + } + + /** + * 기본 Locale에 해당하는 형식으로 날짜 및 시간을 변환한다. + * + * @param date 날짜 및 시간 + * @return 날짜 및 시간 문자열 + */ + public static String formatDateTime(Date date) { + return DateFormat.getDateTimeInstance().format(date); + } + + /** + * Locale에 해당하는 형식으로 날짜 및 시간을 변환한다. + * + * @param locale 로케일 + * @param date 날짜 및 시간 + * @return 날짜 및 시간 문자열 + */ + public static String formatDateTime(Locale locale, Date date) { + return DateFormat.getDateTimeInstance(DateFormat.DEFAULT, DateFormat.DEFAULT, locale).format(date); + } + + /** + * 주어진 스타일에 따라, 기본 Locale에 해당하는 형식으로 날짜 및 시간을 변환한다. + * + * @param dateStyle 날짜 스타일 (사용 가능한 값 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT}) + * @param timeStyle 시간 스타일 (사용 가능한 값 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT}) + * @param date 날짜 및 시간 + * @return 날짜 및 시간 문자열 + */ + public static String formatDateTime(int dateStyle, int timeStyle, Date date) { + return DateFormat.getDateTimeInstance(dateStyle, timeStyle).format(date); + } + + /** + * 주어진 스타일에 따라, Locale에 해당하는 형식으로 날짜 및 시간을 변환한다. + * + * @param dateStyle 날짜 스타일 (사용 가능한 값 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT}) + * @param timeStyle 시간 스타일 (사용 가능한 값 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT}) + * @param locale 로케일 + * @param date 날짜 및 시간 + * @return 날짜 및 시간 문자열 + */ + public static String formatDateTime(int dateStyle, int timeStyle, Locale locale, Date date) { + return DateFormat.getDateTimeInstance(dateStyle, timeStyle, locale).format(date); + } + + /** + * 기본 Locale에 해당하는 형식으로 시간을 변환한다. + * + * @param date 시간 + * @return 시간 문자열 + */ + public static String formatTime(Date date) { + return DateFormat.getTimeInstance().format(date); + } + + /** + * Locale에 해당하는 형식으로 시간을 변환한다. + * + * @param locale 로케일 + * @param date 시간 + * @return 시간 문자열 + */ + public static String formatTime(Locale locale, Date date) { + return DateFormat.getTimeInstance(DateFormat.DEFAULT, locale).format(date); + } + + /** + * 주어진 스타일에 따라, 기본 Locale에 해당하는 형식으로 시간을 변환한다. + * + * @param style 시간 스타일 (사용 가능한 값 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT}) + * @param date 시간 + * @return 시간 문자열 + */ + public static String formatTime(int style, Date date) { + return DateFormat.getTimeInstance(style).format(date); + } + + /** + * 주어진 스타일에 따라, Locale에 해당하는 형식으로 시간을 변환한다. + * + * @param style 시간 스타일 (사용 가능한 값 : {@link DateFormat#FULL}, {@link DateFormat#LONG}, {@link DateFormat#MEDIUM}, {@link DateFormat#SHORT}, {@link DateFormat#DEFAULT}) + * @param locale 로케일 + * @param date 시간 + * @return 시간 문자열 + */ + public static String formatTime(int style, Locale locale, Date date) { + return DateFormat.getTimeInstance(style, locale).format(date); + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovDateFormat.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovStringUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovStringUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovStringUtil.java (revision 7) @@ -0,0 +1,904 @@ +/** + * @Class Name : EgovStringUtil.java + * @Description : 문자열 데이터 처리 관련 유틸리티 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.01.13 박정규 최초 생성 + * 2009.02.13 이삼섭 내용 추가 + * + * @author 공통 서비스 개발팀 박정규 + * @since 2009. 01. 13 + * @version 1.0 + * @see + * + */ + +package egovframework.com.utl.fcc.service; + +/* + * Copyright 2001-2006 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the ";License&quot;); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS"; BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import java.io.UnsupportedEncodingException; +import java.math.BigDecimal; +import java.security.SecureRandom; +import java.sql.Timestamp; +import java.text.SimpleDateFormat; +import java.util.Locale; + +public class EgovStringUtil { + /** + * 빈 문자열 <code>""</code>. + */ + public static final String EMPTY = ""; + + /** + * <p>Padding을 할 수 있는 최대 수치</p> + */ + // private static final int PAD_LIMIT = 8192; + + /** + * <p>An array of <code>String</code>s used for padding.</p> + * <p>Used for efficient space padding. The length of each String expands as needed.</p> + */ + /* + private static final String[] PADDING = new String[Character.MAX_VALUE]; + + static { + // space padding is most common, start with 64 chars + PADDING[32] = " "; + } + */ + + /** + * 문자열이 지정한 길이를 초과했을때 지정한길이에다가 해당 문자열을 붙여주는 메서드. + * @param source 원본 문자열 배열 + * @param output 더할문자열 + * @param slength 지정길이 + * @return 지정길이로 잘라서 더할분자열 합친 문자열 + */ + public static String cutString(String source, String output, int slength) { + String returnVal = null; + if (source != null) { + if (source.length() > slength) { + returnVal = source.substring(0, slength) + output; + } else + returnVal = source; + } + return returnVal; + } + + /** + * 문자열이 지정한 길이를 초과했을때 해당 문자열을 삭제하는 메서드 + * @param source 원본 문자열 배열 + * @param slength 지정길이 + * @return 지정길이로 잘라서 더할분자열 합친 문자열 + */ + public static String cutString(String source, int slength) { + String result = null; + if (source != null) { + if (source.length() > slength) { + result = source.substring(0, slength); + } else + result = source; + } + return result; + } + + /** + * <p> + * String이 비었거나("") 혹은 null 인지 검증한다. + * </p> + * + * <pre> + * StringUtil.isEmpty(null) = true + * StringUtil.isEmpty("") = true + * StringUtil.isEmpty(" ") = false + * StringUtil.isEmpty("bob") = false + * StringUtil.isEmpty(" bob ") = false + * </pre> + * + * @param str - 체크 대상 스트링오브젝트이며 null을 허용함 + * @return <code>true</code> - 입력받은 String 이 빈 문자열 또는 null인 경우 + */ + public static boolean isEmpty(String str) { + return str == null || str.length() == 0; + } + + /** + * <p>기준 문자열에 포함된 모든 대상 문자(char)를 제거한다.</p> + * + * <pre> + * StringUtil.remove(null, *) = null + * StringUtil.remove("", *) = "" + * StringUtil.remove("queued", 'u') = "qeed" + * StringUtil.remove("queued", 'z') = "queued" + * </pre> + * + * @param str 입력받는 기준 문자열 + * @param remove 입력받는 문자열에서 제거할 대상 문자열 + * @return 제거대상 문자열이 제거된 입력문자열. 입력문자열이 null인 경우 출력문자열은 null + */ + public static String remove(String str, char remove) { + if (isEmpty(str) || str.indexOf(remove) == -1) { + return str; + } + char[] chars = str.toCharArray(); + int pos = 0; + for (int i = 0; i < chars.length; i++) { + if (chars[i] != remove) { + chars[pos++] = chars[i]; + } + } + return new String(chars, 0, pos); + } + + /** + * <p>문자열 내부의 콤마 character(,)를 모두 제거한다.</p> + * + * <pre> + * StringUtil.removeCommaChar(null) = null + * StringUtil.removeCommaChar("") = "" + * StringUtil.removeCommaChar("asdfg,qweqe") = "asdfgqweqe" + * </pre> + * + * @param str 입력받는 기준 문자열 + * @return " , "가 제거된 입력문자열 + * 입력문자열이 null인 경우 출력문자열은 null + */ + public static String removeCommaChar(String str) { + return remove(str, ','); + } + + /** + * <p>문자열 내부의 마이너스 character(-)를 모두 제거한다.</p> + * + * <pre> + * StringUtil.removeMinusChar(null) = null + * StringUtil.removeMinusChar("") = "" + * StringUtil.removeMinusChar("a-sdfg-qweqe") = "asdfgqweqe" + * </pre> + * + * @param str 입력받는 기준 문자열 + * @return " - "가 제거된 입력문자열 + * 입력문자열이 null인 경우 출력문자열은 null + */ + public static String removeMinusChar(String str) { + return remove(str, '-'); + } + + /** + * 원본 문자열의 포함된 특정 문자열을 새로운 문자열로 변환하는 메서드 + * @param source 원본 문자열 + * @param subject 원본 문자열에 포함된 특정 문자열 + * @param object 변환할 문자열 + * @return sb.toString() 새로운 문자열로 변환된 문자열 + */ + public static String replace(String source, String subject, String object) { + StringBuffer rtnStr = new StringBuffer(); + String preStr = ""; + String nextStr = source; + String srcStr = source; + + while (srcStr.indexOf(subject) >= 0) { + preStr = srcStr.substring(0, srcStr.indexOf(subject)); + nextStr = srcStr.substring(srcStr.indexOf(subject) + subject.length(), srcStr.length()); + srcStr = nextStr; + rtnStr.append(preStr).append(object); + } + rtnStr.append(nextStr); + + return rtnStr.toString(); + } + + /** + * 원본 문자열의 포함된 특정 문자열 첫번째 한개만 새로운 문자열로 변환하는 메서드 + * @param source 원본 문자열 + * @param subject 원본 문자열에 포함된 특정 문자열 + * @param object 변환할 문자열 + * @return sb.toString() 새로운 문자열로 변환된 문자열 / source 특정문자열이 없는 경우 원본 문자열 + */ + public static String replaceOnce(String source, String subject, String object) { + StringBuffer rtnStr = new StringBuffer(); + String preStr = ""; + String nextStr = source; + if (source.indexOf(subject) >= 0) { + preStr = source.substring(0, source.indexOf(subject)); + nextStr = source.substring(source.indexOf(subject) + subject.length(), source.length()); + rtnStr.append(preStr).append(object).append(nextStr); + + return rtnStr.toString(); + } else { + return source; + } + } + + /** + * <code>subject</code>에 포함된 각각의 문자를 object로 변환한다. + * + * @param source 원본 문자열 + * @param subject 원본 문자열에 포함된 특정 문자열 + * @param object 변환할 문자열 + * @return sb.toString() 새로운 문자열로 변환된 문자열 + */ + public static String replaceChar(String source, String subject, String object) { + StringBuffer rtnStr = new StringBuffer(); + String preStr = ""; + String nextStr = source; + String srcStr = source; + + char chA; + + for (int i = 0; i < subject.length(); i++) { + chA = subject.charAt(i); + + if (srcStr.indexOf(chA) >= 0) { + preStr = srcStr.substring(0, srcStr.indexOf(chA)); + nextStr = srcStr.substring(srcStr.indexOf(chA) + 1, srcStr.length()); + srcStr = rtnStr.append(preStr).append(object).append(nextStr).toString(); + } + } + + return srcStr; + } + + /** + * <p><code>str</code> 중 <code>searchStr</code>의 시작(index) 위치를 반환.</p> + * + * <p>입력값 중 <code>null</code>이 있을 경우 <code>-1</code>을 반환.</p> + * + * <pre> + * StringUtil.indexOf(null, *) = -1 + * StringUtil.indexOf(*, null) = -1 + * StringUtil.indexOf("", "") = 0 + * StringUtil.indexOf("aabaabaa", "a") = 0 + * StringUtil.indexOf("aabaabaa", "b") = 2 + * StringUtil.indexOf("aabaabaa", "ab") = 1 + * StringUtil.indexOf("aabaabaa", "") = 0 + * </pre> + * + * @param str 검색 문자열 + * @param searchStr 검색 대상문자열 + * @return 검색 문자열 중 검색 대상문자열이 있는 시작 위치 검색대상 문자열이 없거나 null인 경우 -1 + */ + public static int indexOf(String str, String searchStr) { + if (str == null || searchStr == null) { + return -1; + } + + return str.indexOf(searchStr); + } + + /** + * <p>오라클의 decode 함수와 동일한 기능을 가진 메서드이다. + * <code>sourStr</code>과 <code>compareStr</code>의 값이 같으면 + * <code>returStr</code>을 반환하며, 다르면 <code>defaultStr</code>을 반환한다. + * </p> + * + * <pre> + * StringUtil.decode(null, null, "foo", "bar")= "foo" + * StringUtil.decode("", null, "foo", "bar") = "bar" + * StringUtil.decode(null, "", "foo", "bar") = "bar" + * StringUtil.decode("하이", "하이", null, "bar") = null + * StringUtil.decode("하이", "하이 ", "foo", null) = null + * StringUtil.decode("하이", "하이", "foo", "bar") = "foo" + * StringUtil.decode("하이", "하이 ", "foo", "bar") = "bar" + * </pre> + * + * @param sourceStr 비교할 문자열 + * @param compareStr 비교 대상 문자열 + * @param returnStr sourceStr와 compareStr의 값이 같을 때 반환할 문자열 + * @param defaultStr sourceStr와 compareStr의 값이 다를 때 반환할 문자열 + * @return sourceStr과 compareStr의 값이 동일(equal)할 때 returnStr을 반환하며, + * <br/>다르면 defaultStr을 반환한다. + */ + public static String decode(String sourceStr, String compareStr, String returnStr, String defaultStr) { + if (sourceStr == null && compareStr == null) { + return returnStr; + } + + if (sourceStr == null && compareStr != null) { + return defaultStr; + } + + if (sourceStr.trim().equals(compareStr)) { + return returnStr; + } + + return defaultStr; + } + + /** + * <p>오라클의 decode 함수와 동일한 기능을 가진 메서드이다. + * <code>sourStr</code>과 <code>compareStr</code>의 값이 같으면 + * <code>returStr</code>을 반환하며, 다르면 <code>sourceStr</code>을 반환한다. + * </p> + * + * <pre> + * StringUtil.decode(null, null, "foo") = "foo" + * StringUtil.decode("", null, "foo") = "" + * StringUtil.decode(null, "", "foo") = null + * StringUtil.decode("하이", "하이", "foo") = "foo" + * StringUtil.decode("하이", "하이 ", "foo") = "하이" + * StringUtil.decode("하이", "바이", "foo") = "하이" + * </pre> + * + * @param sourceStr 비교할 문자열 + * @param compareStr 비교 대상 문자열 + * @param returnStr sourceStr와 compareStr의 값이 같을 때 반환할 문자열 + * @return sourceStr과 compareStr의 값이 동일(equal)할 때 returnStr을 반환하며, + * <br/>다르면 sourceStr을 반환한다. + */ + public static String decode(String sourceStr, String compareStr, String returnStr) { + return decode(sourceStr, compareStr, returnStr, sourceStr); + } + + /** + * 객체가 null인지 확인하고 null인 경우 "" 로 바꾸는 메서드 + * @param object 원본 객체 + * @return resultVal 문자열 + */ + public static String isNullToString(Object object) { + String string = ""; + + if (object != null) { + string = object.toString().trim(); + } + + return string; + } + + /** + *<pre> + * 인자로 받은 String이 null일 경우 &quot;&quot;로 리턴한다. + * &#064;param src null값일 가능성이 있는 String 값. + * &#064;return 만약 String이 null 값일 경우 &quot;&quot;로 바꾼 String 값. + *</pre> + */ + public static String nullConvert(Object src) { + //if (src != null && src.getClass().getName().equals("java.math.BigDecimal")) { + if (src != null && src instanceof java.math.BigDecimal) { + return ((BigDecimal) src).toString(); + } + + if (src == null || src.equals("null")) { + return ""; + } else { + return ((String) src).trim(); + } + } + + /** + *<pre> + * 인자로 받은 String이 null일 경우 &quot;&quot;로 리턴한다. + * &#064;param src null값일 가능성이 있는 String 값. + * &#064;return 만약 String이 null 값일 경우 &quot;&quot;로 바꾼 String 값. + *</pre> + */ + public static String nullConvertInt(Object src) { + //if (src != null && src.getClass().getName().equals("java.math.BigDecimal")) { + if (src != null && src instanceof java.math.BigDecimal) { + return ((BigDecimal) src).toString(); + } + + if (src == null || src.equals("null")) { + return "0"; + } else { + return ((String) src).trim(); + } + } + + /** + *<pre> + * 인자로 받은 String이 null일 경우 &quot;&quot;로 리턴한다. + * &#064;param src null값일 가능성이 있는 String 값. + * &#064;return 만약 String이 null 값일 경우 &quot;&quot;로 바꾼 String 값. + *</pre> + */ + public static String nullConvert(String src) { + + if (src == null || src.equals("null") || "".equals(src) || " ".equals(src)) { + return ""; + } else { + return src.trim(); + } + } + + /** + *<pre> + * 인자로 받은 String이 null일 경우 &quot;0&quot;로 리턴한다. + * &#064;param src null값일 가능성이 있는 String 값. + * &#064;return 만약 String이 null 값일 경우 &quot;0&quot;로 바꾼 String 값. + *</pre> + */ + public static int zeroConvert(Object src) { + + if (src == null || src.equals("null")) { + return 0; + } else { + return Integer.parseInt(((String) src).trim()); + } + } + + /** + *<pre> + * 인자로 받은 String이 null일 경우 &quot;&quot;로 리턴한다. + * &#064;param src null값일 가능성이 있는 String 값. + * &#064;return 만약 String이 null 값일 경우 &quot;&quot;로 바꾼 String 값. + *</pre> + */ + public static int zeroConvert(String src) { + + if (src == null || src.equals("null") || "".equals(src) || " ".equals(src)) { + return 0; + } else { + return Integer.parseInt(src.trim()); + } + } + + /** + * <p>문자열에서 {@link Character#isWhitespace(char)}에 정의된 + * 모든 공백문자를 제거한다.</p> + * + * <pre> + * StringUtil.removeWhitespace(null) = null + * StringUtil.removeWhitespace("") = "" + * StringUtil.removeWhitespace("abc") = "abc" + * StringUtil.removeWhitespace(" ab c ") = "abc" + * </pre> + * + * @param str 공백문자가 제거도어야 할 문자열 + * @return the 공백문자가 제거된 문자열, null이 입력되면 <code>null</code>이 리턴 + */ + public static String removeWhitespace(String str) { + if (isEmpty(str)) { + return str; + } + int sz = str.length(); + char[] chs = new char[sz]; + int count = 0; + for (int i = 0; i < sz; i++) { + if (!Character.isWhitespace(str.charAt(i))) { + chs[count++] = str.charAt(i); + } + } + if (count == sz) { + return str; + } + + return new String(chs, 0, count); + } + + /** + * Html 코드가 들어간 문서를 표시할때 태그에 손상없이 보이기 위한 메서드 + * + * @param strString + * @return HTML 태그를 치환한 문자열 + */ + public static String checkHtmlView(String strString) { + String strNew = ""; + + StringBuffer strTxt = new StringBuffer(""); + + char chrBuff; + int len = strString.length(); + + for (int i = 0; i < len; i++) { + chrBuff = (char) strString.charAt(i); + + switch (chrBuff) { + case '<': + strTxt.append("&lt;"); + break; + case '>': + strTxt.append("&gt;"); + break; + case '"': + strTxt.append("&quot;"); + break; + case 10: + strTxt.append("<br>"); + break; + case ' ': + strTxt.append("&nbsp;"); + break; + //case '&' : + //strTxt.append("&amp;"); + //break; + default: + strTxt.append(chrBuff); + } + } + + strNew = strTxt.toString(); + + return strNew; + } + + /** + * 문자열을 지정한 분리자에 의해 배열로 리턴하는 메서드. + * @param source 원본 문자열 + * @param separator 분리자 + * @return result 분리자로 나뉘어진 문자열 배열 + */ + public static String[] split(String source, String separator) throws NullPointerException { + String[] returnVal = null; + int cnt = 1; + + int index = source.indexOf(separator); + int index0 = 0; + while (index >= 0) { + cnt++; + index = source.indexOf(separator, index + 1); + } + returnVal = new String[cnt]; + cnt = 0; + index = source.indexOf(separator); + while (index >= 0) { + returnVal[cnt] = source.substring(index0, index); + index0 = index + 1; + index = source.indexOf(separator, index + 1); + cnt++; + } + returnVal[cnt] = source.substring(index0); + + return returnVal; + } + + /** + * <p>{@link String#toLowerCase()}를 이용하여 소문자로 변환한다.</p> + * + * <pre> + * StringUtil.lowerCase(null) = null + * StringUtil.lowerCase("") = "" + * StringUtil.lowerCase("aBc") = "abc" + * </pre> + * + * @param str 소문자로 변환되어야 할 문자열 + * @return 소문자로 변환된 문자열, null이 입력되면 <code>null</code> 리턴 + */ + public static String lowerCase(String str) { + if (str == null) { + return null; + } + + return str.toLowerCase(); + } + + /** + * <p>{@link String#toUpperCase()}를 이용하여 대문자로 변환한다.</p> + * + * <pre> + * StringUtil.upperCase(null) = null + * StringUtil.upperCase("") = "" + * StringUtil.upperCase("aBc") = "ABC" + * </pre> + * + * @param str 대문자로 변환되어야 할 문자열 + * @return 대문자로 변환된 문자열, null이 입력되면 <code>null</code> 리턴 + */ + public static String upperCase(String str) { + if (str == null) { + return null; + } + + return str.toUpperCase(); + } + + /** + * <p>입력된 String의 앞쪽에서 두번째 인자로 전달된 문자(stripChars)를 모두 제거한다.</p> + * + * <pre> + * StringUtil.stripStart(null, *) = null + * StringUtil.stripStart("", *) = "" + * StringUtil.stripStart("abc", "") = "abc" + * StringUtil.stripStart("abc", null) = "abc" + * StringUtil.stripStart(" abc", null) = "abc" + * StringUtil.stripStart("abc ", null) = "abc " + * StringUtil.stripStart(" abc ", null) = "abc " + * StringUtil.stripStart("yxabc ", "xyz") = "abc " + * </pre> + * + * @param str 지정된 문자가 제거되어야 할 문자열 + * @param stripChars 제거대상 문자열 + * @return 지정된 문자가 제거된 문자열, null이 입력되면 <code>null</code> 리턴 + */ + public static String stripStart(String str, String stripChars) { + int strLen; + if (str == null || (strLen = str.length()) == 0) { + return str; + } + int start = 0; + if (stripChars == null) { + while ((start != strLen) && Character.isWhitespace(str.charAt(start))) { + start++; + } + } else if (stripChars.length() == 0) { + return str; + } else { + while ((start != strLen) && (stripChars.indexOf(str.charAt(start)) != -1)) { + start++; + } + } + + return str.substring(start); + } + + /** + * <p>입력된 String의 뒤쪽에서 두번째 인자로 전달된 문자(stripChars)를 모두 제거한다.</p> + * + * <pre> + * StringUtil.stripEnd(null, *) = null + * StringUtil.stripEnd("", *) = "" + * StringUtil.stripEnd("abc", "") = "abc" + * StringUtil.stripEnd("abc", null) = "abc" + * StringUtil.stripEnd(" abc", null) = " abc" + * StringUtil.stripEnd("abc ", null) = "abc" + * StringUtil.stripEnd(" abc ", null) = " abc" + * StringUtil.stripEnd(" abcyx", "xyz") = " abc" + * </pre> + * + * @param str 지정된 문자가 제거되어야 할 문자열 + * @param stripChars 제거대상 문자열 + * @return 지정된 문자가 제거된 문자열, null이 입력되면 <code>null</code> 리턴 + */ + public static String stripEnd(String str, String stripChars) { + int end; + if (str == null || (end = str.length()) == 0) { + return str; + } + + if (stripChars == null) { + while ((end != 0) && Character.isWhitespace(str.charAt(end - 1))) { + end--; + } + } else if (stripChars.length() == 0) { + return str; + } else { + while ((end != 0) && (stripChars.indexOf(str.charAt(end - 1)) != -1)) { + end--; + } + } + + return str.substring(0, end); + } + + /** + * <p>입력된 String의 앞, 뒤에서 두번째 인자로 전달된 문자(stripChars)를 모두 제거한다.</p> + * + * <pre> + * StringUtil.strip(null, *) = null + * StringUtil.strip("", *) = "" + * StringUtil.strip("abc", null) = "abc" + * StringUtil.strip(" abc", null) = "abc" + * StringUtil.strip("abc ", null) = "abc" + * StringUtil.strip(" abc ", null) = "abc" + * StringUtil.strip(" abcyx", "xyz") = " abc" + * </pre> + * + * @param str 지정된 문자가 제거되어야 할 문자열 + * @param stripChars 제거대상 문자열 + * @return 지정된 문자가 제거된 문자열, null이 입력되면 <code>null</code> 리턴 + */ + public static String strip(String str, String stripChars) { + if (isEmpty(str)) { + return str; + } + + String srcStr = str; + srcStr = stripStart(srcStr, stripChars); + + return stripEnd(srcStr, stripChars); + } + + /** + * 문자열을 지정한 분리자에 의해 지정된 길이의 배열로 리턴하는 메서드. + * @param source 원본 문자열 + * @param separator 분리자 + * @param arraylength 배열 길이 + * @return 분리자로 나뉘어진 문자열 배열 + */ + public static String[] split(String source, String separator, int arraylength) throws NullPointerException { + String[] returnVal = new String[arraylength]; + int cnt = 0; + int index0 = 0; + int index = source.indexOf(separator); + while (index >= 0 && cnt < (arraylength - 1)) { + returnVal[cnt] = source.substring(index0, index); + index0 = index + 1; + index = source.indexOf(separator, index + 1); + cnt++; + } + returnVal[cnt] = source.substring(index0); + if (cnt < (arraylength - 1)) { + for (int i = cnt + 1; i < arraylength; i++) { + returnVal[i] = ""; + } + } + + return returnVal; + } + + /** + * 문자열 A에서 Z사이의 랜덤 문자열을 구하는 기능을 제공 시작문자열과 종료문자열 사이의 랜덤 문자열을 구하는 기능 + * + * @param startChr - 첫 문자 + * @param endChr - 마지막문자 + * @return 랜덤문자 + * @exception MyException + * @see + */ + public static String getRandomStr(char startChr, char endChr) { + + int randomInt; + String randomStr = null; + + // 시작문자 및 종료문자를 아스키숫자로 변환한다. + int startInt = Integer.valueOf(startChr); + int endInt = Integer.valueOf(endChr); + + // 시작문자열이 종료문자열보가 클경우 + if (startInt > endInt) { + throw new IllegalArgumentException("Start String: " + startChr + " End String: " + endChr); + } + + // 랜덤 객체 생성 + SecureRandom rnd = new SecureRandom(); + + do { + // 시작문자 및 종료문자 중에서 랜덤 숫자를 발생시킨다. + randomInt = rnd.nextInt(endInt + 1); + } while (randomInt < startInt); // 입력받은 문자 'A'(65)보다 작으면 다시 랜덤 숫자 발생. + + // 랜덤 숫자를 문자로 변환 후 스트링으로 다시 변환 + randomStr = (char) randomInt + ""; + + // 랜덤문자열를 리턴 + return randomStr; + } + + /** + * 문자열을 다양한 문자셋(EUC-KR[KSC5601],UTF-8..)을 사용하여 인코딩하는 기능 역으로 디코딩하여 원래의 문자열을 + * 복원하는 기능을 제공함 String temp = new String(문자열.getBytes("바꾸기전 인코딩"),"바꿀 인코딩"); + * String temp = new String(문자열.getBytes("8859_1"),"KSC5601"); => UTF-8 에서 + * EUC-KR + * + * @param srcString - 문자열 + * @param srcCharsetNm - 원래 CharsetNm + * @param charsetNm - CharsetNm + * @return 인(디)코딩 문자열 + * @exception MyException + * @see + */ + public static String getEncdDcd(String srcString, String srcCharsetNm, String cnvrCharsetNm) { + + String rtnStr = null; + + if (srcString == null) + return null; + + try { + rtnStr = new String(srcString.getBytes(srcCharsetNm), cnvrCharsetNm); + } catch (UnsupportedEncodingException e) { + rtnStr = null; + } + + return rtnStr; + } + + /** + * 특수문자를 웹 브라우저에서 정상적으로 보이기 위해 특수문자를 처리('<' -> & lT)하는 기능이다 + * @param srcString - '<' + * @return 변환문자열('<' -> "&lt" + * @exception MyException + * @see + */ + public static String getSpclStrCnvr(String srcString) { + + String rtnStr = null; + + StringBuffer strTxt = new StringBuffer(""); + + char chrBuff; + int len = srcString.length(); + + for (int i = 0; i < len; i++) { + chrBuff = (char) srcString.charAt(i); + + switch (chrBuff) { + case '<': + strTxt.append("&lt;"); + break; + case '>': + strTxt.append("&gt;"); + break; + case '&': + strTxt.append("&amp;"); + break; + default: + strTxt.append(chrBuff); + } + } + + rtnStr = strTxt.toString(); + + return rtnStr; + } + + /** + * 응용어플리케이션에서 고유값을 사용하기 위해 시스템에서17자리의TIMESTAMP값을 구하는 기능 + * + * @param + * @return Timestamp 값 + * @exception MyException + * @see + */ + public static String getTimeStamp() { + + String rtnStr = null; + + // 문자열로 변환하기 위한 패턴 설정(년도-월-일 시:분:초:초(자정이후 초)) + String pattern = "yyyyMMddhhmmssSSS"; + + SimpleDateFormat sdfCurrent = new SimpleDateFormat(pattern, Locale.KOREA); + Timestamp ts = new Timestamp(System.currentTimeMillis()); + + rtnStr = sdfCurrent.format(ts.getTime()); + + return rtnStr; + } + + /** + * html의 특수문자를 표현하기 위해 + * + * @param srcString + * @return String + * @exception Exception + * @see + */ + public static String getHtmlStrCnvr(String srcString) { + + String tmpString = srcString; + + tmpString = tmpString.replaceAll("&lt;", "<"); + tmpString = tmpString.replaceAll("&gt;", ">"); + tmpString = tmpString.replaceAll("&amp;", "&"); + tmpString = tmpString.replaceAll("&nbsp;", " "); + tmpString = tmpString.replaceAll("&apos;", "\'"); + tmpString = tmpString.replaceAll("&quot;", "\""); + + return tmpString; + + } + + /** + * <p>날짜 형식의 문자열 내부에 마이너스 character(-)를 추가한다.</p> + * + * <pre> + * StringUtil.addMinusChar("20100901") = "2010-09-01" + * </pre> + * + * @param date 입력받는 문자열 + * @return " - "가 추가된 입력문자열 + */ + public static String addMinusChar(String date) { + if (date.length() == 8) { + return date.substring(0, 4).concat("-").concat(date.substring(4, 6)).concat("-").concat(date.substring(6, 8)); + } else { + return ""; + } + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovStringUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormBasedFileVo.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormBasedFileVo.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormBasedFileVo.java (revision 7) @@ -0,0 +1,104 @@ +package egovframework.com.utl.fcc.service; + +import java.io.Serializable; + +/** + * @Class Name : EgovFormBasedFileVo.java + * @Description : Form-based File Upload VO + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.08.26 한성곤 최초 생성 + * + * @author 공통컴포넌트 개발팀 한성곤 + * @since 2009.08.26 + * @version 1.0 + * @see + * + * Copyright (C) 2008 by MOPAS All right reserved. + */ +@SuppressWarnings("serial") +public class EgovFormBasedFileVo implements Serializable { + /** 파일명 */ + private String fileName = ""; + /** ContextType */ + private String contentType = ""; + /** 하위 디렉토리 지정 */ + private String serverSubPath = ""; + /** 물리적 파일명 */ + private String physicalName = ""; + /** 파일 사이즈 */ + private long size = 0L; + + /** + * fileName attribute를 리턴한다. + * @return the fileName + */ + public String getFileName() { + return fileName; + } + /** + * fileName attribute 값을 설정한다. + * @param fileName the fileName to set + */ + public void setFileName(String fileName) { + this.fileName = fileName; + } + /** + * contentType attribute를 리턴한다. + * @return the contentType + */ + public String getContentType() { + return contentType; + } + /** + * contentType attribute 값을 설정한다. + * @param contentType the contentType to set + */ + public void setContentType(String contentType) { + this.contentType = contentType; + } + /** + * serverSubPath attribute를 리턴한다. + * @return the serverSubPath + */ + public String getServerSubPath() { + return serverSubPath; + } + /** + * serverSubPath attribute 값을 설정한다. + * @param serverSubPath the serverSubPath to set + */ + public void setServerSubPath(String serverSubPath) { + this.serverSubPath = serverSubPath; + } + /** + * physicalName attribute를 리턴한다. + * @return the physicalName + */ + public String getPhysicalName() { + return physicalName; + } + /** + * physicalName attribute 값을 설정한다. + * @param physicalName the physicalName to set + */ + public void setPhysicalName(String physicalName) { + this.physicalName = physicalName; + } + /** + * size attribute를 리턴한다. + * @return the size + */ + public long getSize() { + return size; + } + /** + * size attribute 값을 설정한다. + * @param size the size to set + */ + public void setSize(long size) { + this.size = size; + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormBasedFileVo.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormatCheckUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormatCheckUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormatCheckUtil.java (revision 7) @@ -0,0 +1,207 @@ +package egovframework.com.utl.fcc.service; + +/** + * + * 포맷유효성체크 에 대한 Util 클래스 + * @author 공통컴포넌트 개발팀 윤성록 + * @since 2009.06.23 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.06.23 윤성록 최초 생성 + * + * </pre> + */ +public class EgovFormatCheckUtil { + + /** + * <pxxx - xxx- xxxx 형식의 전화번호 앞, 중간, 뒤 문자열 3개 입력 받아 유요한 전화번호형식인지 검사.</p> + * + * + * @param 전화번호 문자열( 3개 ) + * @return 유효한 전화번호 형식인지 여부 (True/False) + */ + public static boolean checkFormatTell(String tell1, String tell2, String tell3) { + + String[] check = {"02", "031", "032", "033", "041", "042", "043", "051", "052", "053", "054", "055", "061", + "062", "063", "070", "080", "0505"}; //존재하는 국번 데이터 + String temp = tell1 + tell2 + tell3; + + for(int i=0; i < temp.length(); i++){ + if (temp.charAt(i) < '0' || temp.charAt(i) > '9') + return false; + } //숫자가 아닌 값이 들어왔는지를 확인 + + for(int i = 0; i < check.length; i++){ + if(tell1.equals(check[i])) break; + if(i == check.length - 1) return false; + } //국번입력이 제대로 되었는지를 확인 + + if(tell2.charAt(0) == '0') return false; + + if(tell1.equals("02")){ + if(tell2.length() != 3 && tell2.length() !=4) return false; + if(tell3.length() != 4) return false; //서울지역(02)국번 입력때의 전화 번호 형식유효성 체크 + }else{ + if(tell2.length() != 3) return false; + if(tell3.length() != 4) return false; + } //서울을 제외한 지역(국번 입력때의 전화 번호 형식유효성 체크 + + return true; + } + + /** + * <p>xxx - xxx- xxxx 형식의 전화번호 하나를 입력 받아 유요한 전화번호형식인지 검사.</p> + * + * + * @param 전화번호 문자열 (1개) + * @return 유효한 전화번호 형식인지 여부 (True/False) + */ + public static boolean checkFormatTell(String tellNumber) { + + String temp1; + String temp2; + String temp3; + String tell = tellNumber; + + tell = tell.replace("-", ""); + + if(tell.length() < 9 || tell.length() > 11 || tell.charAt(0) != '0') return false; //전화번호 길이에 대한 체크 + + if(tell.charAt(1) =='2'){ //서울지역 (02)국번의 경우일때 + temp1 = tell.substring(0,2); + if(tell.length() == 9){ + temp2 = tell.substring(2,5); + temp3 = tell.substring(5,9); + }else if(tell.length() == 10){ + temp2 = tell.substring(2,6); + temp3 = tell.substring(6,10); + }else + return false; + } else if(tell.substring(0,4).equals("0505")){ //평생번호(0505)국번의 경우일때 + if(tell.length() != 11) return false; + temp1 = tell.substring(0,4); + temp2 = tell.substring(4,7); + temp3 = tell.substring(7,11); + } else { // 서울지역 및 "0505" 를 제외한 일반적인 경우일때 + if(tell.length() != 10) return false; + temp1 = tell.substring(0,3); + temp2 = tell.substring(3,6); + temp3 = tell.substring(6,10); + } + + return checkFormatTell(temp1, temp2, temp3); + } + + /** + * <p>xxx - xxx- xxxx 형식의 휴대폰번호 앞, 중간, 뒤 문자열 3개 입력 받아 유요한 휴대폰번호형식인지 검사.</p> + * + * + * @param 휴대폰번호 문자열,(3개) + * @return 유효한 휴대폰번호 형식인지 여부 (True/False) + */ + public static boolean checkFormatCell(String cell1, String cell2, String cell3) { + String[] check = {"010", "011", "016", "017", "018", "019"}; //유효한 휴대폰 첫자리 번호 데이터 + String temp = cell1 + cell2 + cell3; + + for(int i=0; i < temp.length(); i++){ + if (temp.charAt(i) < '0' || temp.charAt(i) > '9') + return false; + } //숫자가 아닌 값이 들어왔는지를 확인 + + for(int i = 0; i < check.length; i++){ + if(cell1.equals(check[i])) break; + if(i == check.length - 1) return false; + } // 휴대폰 첫자리 번호입력의 유효성 체크 + + if(cell2.charAt(0) == '0') return false; + + if(cell2.length() != 3 && cell2.length() !=4) return false; + if(cell3.length() != 4) return false; + + return true; + } + + /** + * <p>XXXXXXXXXX 형식의 휴대폰번호 문자열 3개 입력 받아 유요한 휴대폰번호형식인지 검사.</p> + * + * + * @param 휴대폰번호 문자열(1개) + * @return 유효한 휴대폰번호 형식인지 여부 (True/False) + */ + public static boolean checkFormatCell(String cellNumber) { + + String temp1; + String temp2; + String temp3; + + String cell = cellNumber; + cell = cell.replace("-", ""); + + if(cell.length() < 10 || cell.length() > 11 || cell.charAt(0) != '0') return false; + + if(cell.length() == 10){ //전체 10자리 휴대폰 번호일 경우 + temp1 = cell.substring(0,3); + temp2 = cell.substring(3,6); + temp3 = cell.substring(6,10); + }else{ //전체 11자리 휴대폰 번호일 경우 + temp1 = cell.substring(0,3); + temp2 = cell.substring(3,7); + temp3 = cell.substring(7,11); + } + + return checkFormatCell(temp1, temp2, temp3); + } + + /** + * <p> 이메일의 앞, 뒤 문자열 2개 입력 받아 유요한 이메일형식인지 검사.</p> + * + * + * @param 이메일 문자열 (2개) + * @return 유효한 이메일 형식인지 여부 (True/False) + */ + public static boolean checkFormatMail(String mail1, String mail2) { + + int count = 0; + + for(int i = 0; i < mail1.length(); i++){ + if(mail1.charAt(i) <= 'z' && mail1.charAt(i) >= 'a') continue; + else if(mail1.charAt(i) <= 'Z' && mail1.charAt(i) >= 'A') continue; + else if(mail1.charAt(i) <= '9' && mail1.charAt(i) >= '0') continue; + else if(mail1.charAt(i) == '-' && mail1.charAt(i) == '_') continue; + else return false; + } // 유효한 문자, 숫자인지 체크 + + for(int i = 0; i < mail2.length(); i++){ + if(mail2.charAt(i) <= 'z' && mail2.charAt(i) >= 'a') continue; + else if(mail2.charAt(i) == '.'){ count++; continue;} + else return false; + } // 메일 주소의 형식 체크(xxx.xxx 형태) + + if(count == 1) return true; + else return false; + + } + + /** + * <p> 이메일의 전체문자열 1개 입력 받아 유요한 이메일형식인지 검사.</p> + * + * + * @param 이메일 문자열 (1개) + * @return 유효한 이메일 형식인지 여부 (True/False) + */ + public static boolean checkFormatMail(String mail) { + + String[] temp = mail.split("@"); // '@' 를 기점으로 앞, 뒤 문자열 구분 + + if(temp.length == 2) return checkFormatMail(temp[0], temp[1]); + else return false; + } + +} + Property changes on: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormatCheckUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovDateUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovDateUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovDateUtil.java (revision 7) @@ -0,0 +1,865 @@ +package egovframework.com.utl.fcc.service; + +import java.security.SecureRandom; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; +import java.util.TimeZone; + +import com.ibm.icu.util.ChineseCalendar; + +/** + * + * Date 에 대한 Util 클래스 + * @author 공통서비스 개발팀 이중호 + * @since 2009.02.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.02.01 이중호 최초 생성 + * + * </pre> + */ +public class EgovDateUtil { + + /** + * <p>yyyyMMdd 혹은 yyyy-MM-dd 형식의 날짜 문자열을 입력 받아 년, 월, 일을 + * 증감한다. 년, 월, 일은 가감할 수를 의미하며, 음수를 입력할 경우 감한다.</p> + * + * <pre> + * DateUtil.addYearMonthDay("19810828", 0, 0, 19) = "19810916" + * DateUtil.addYearMonthDay("20060228", 0, 0, -10) = "20060218" + * DateUtil.addYearMonthDay("20060228", 0, 0, 10) = "20060310" + * DateUtil.addYearMonthDay("20060228", 0, 0, 32) = "20060401" + * DateUtil.addYearMonthDay("20050331", 0, -1, 0) = "20050228" + * DateUtil.addYearMonthDay("20050301", 0, 2, 30) = "20050531" + * DateUtil.addYearMonthDay("20050301", 1, 2, 30) = "20060531" + * DateUtil.addYearMonthDay("20040301", 2, 0, 0) = "20060301" + * DateUtil.addYearMonthDay("20040229", 2, 0, 0) = "20060228" + * DateUtil.addYearMonthDay("20040229", 2, 0, 1) = "20060301" + * </pre> + * + * @param dateStr 날짜 문자열(yyyyMMdd, yyyy-MM-dd의 형식) + * @param year 가감할 년. 0이 입력될 경우 가감이 없다 + * @param month 가감할 월. 0이 입력될 경우 가감이 없다 + * @param day 가감할 일. 0이 입력될 경우 가감이 없다 + * @return yyyyMMdd 형식의 날짜 문자열 + * @throws IllegalArgumentException 날짜 포맷이 정해진 바와 다를 경우. + * 입력 값이 <code>null</code>인 경우. + */ + public static String addYearMonthDay(String sDate, int year, int month, int day) { + + String dateStr = validChkDate(sDate); + + Calendar cal = Calendar.getInstance(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd", Locale.getDefault()); + try { + cal.setTime(sdf.parse(dateStr)); + } catch (ParseException e) { + throw new IllegalArgumentException("Invalid date format: " + dateStr); + } + + if (year != 0) { + cal.add(Calendar.YEAR, year); + } + if (month != 0) { + cal.add(Calendar.MONTH, month); + } + if (day != 0) { + cal.add(Calendar.DATE, day); + } + + return sdf.format(cal.getTime()); + } + + /** + * <p>yyyyMMdd 혹은 yyyy-MM-dd 형식의 날짜 문자열을 입력 받아 년을 + * 증감한다. <code>year</code>는 가감할 수를 의미하며, 음수를 입력할 경우 감한다.</p> + * + * <pre> + * DateUtil.addYear("20000201", 62) = "20620201" + * DateUtil.addYear("20620201", -62) = "20000201" + * DateUtil.addYear("20040229", 2) = "20060228" + * DateUtil.addYear("20060228", -2) = "20040228" + * DateUtil.addYear("19000101", 200) = "21000101" + * </pre> + * + * @param dateStr 날짜 문자열(yyyyMMdd, yyyy-MM-dd의 형식) + * @param year 가감할 년. 0이 입력될 경우 가감이 없다 + * @return yyyyMMdd 형식의 날짜 문자열 + * @throws IllegalArgumentException 날짜 포맷이 정해진 바와 다를 경우. + * 입력 값이 <code>null</code>인 경우. + */ + public static String addYear(String dateStr, int year) { + return addYearMonthDay(dateStr, year, 0, 0); + } + + /** + * <p>yyyyMMdd 혹은 yyyy-MM-dd 형식의 날짜 문자열을 입력 받아 월을 + * 증감한다. <code>month</code>는 가감할 수를 의미하며, 음수를 입력할 경우 감한다.</p> + * + * <pre> + * DateUtil.addMonth("20010201", 12) = "20020201" + * DateUtil.addMonth("19800229", 12) = "19810228" + * DateUtil.addMonth("20040229", 12) = "20050228" + * DateUtil.addMonth("20050228", -12) = "20040228" + * DateUtil.addMonth("20060131", 1) = "20060228" + * DateUtil.addMonth("20060228", -1) = "20060128" + * </pre> + * + * @param dateStr 날짜 문자열(yyyyMMdd, yyyy-MM-dd의 형식) + * @param month 가감할 월. 0이 입력될 경우 가감이 없다 + * @return yyyyMMdd 형식의 날짜 문자열 + * @throws IllegalArgumentException 날짜 포맷이 정해진 바와 다를 경우. + * 입력 값이 <code>null</code>인 경우. + */ + public static String addMonth(String dateStr, int month) { + return addYearMonthDay(dateStr, 0, month, 0); + } + + /** + * <p>yyyyMMdd 혹은 yyyy-MM-dd 형식의 날짜 문자열을 입력 받아 일(day)를 + * 증감한다. <code>day</code>는 가감할 수를 의미하며, 음수를 입력할 경우 감한다. + * <br/><br/> + * 위에 정의된 addDays 메서드는 사용자가 ParseException을 반드시 처리해야 하는 불편함이 + * 있기 때문에 추가된 메서드이다.</p> + * + * <pre> + * DateUtil.addDay("19991201", 62) = "20000201" + * DateUtil.addDay("20000201", -62) = "19991201" + * DateUtil.addDay("20050831", 3) = "20050903" + * DateUtil.addDay("20050831", 3) = "20050903" + * // 2006년 6월 31일은 실제로 존재하지 않는 날짜이다 -> 20060701로 간주된다 + * DateUtil.addDay("20060631", 1) = "20060702" + * </pre> + * + * @param dateStr 날짜 문자열(yyyyMMdd, yyyy-MM-dd의 형식) + * @param day 가감할 일. 0이 입력될 경우 가감이 없다 + * @return yyyyMMdd 형식의 날짜 문자열 + * @throws IllegalArgumentException 날짜 포맷이 정해진 바와 다를 경우. + * 입력 값이 <code>null</code>인 경우. + */ + public static String addDay(String dateStr, int day) { + return addYearMonthDay(dateStr, 0, 0, day); + } + + /** + * <p>yyyyMMdd 혹은 yyyy-MM-dd 형식의 날짜 문자열 <code>dateStr1</code>과 <code> + * dateStr2</code> 사이의 일 수를 구한다.<br> + * <code>dateStr2</code>가 <code>dateStr1</code> 보다 과거 날짜일 경우에는 + * 음수를 반환한다. 동일한 경우에는 0을 반환한다.</p> + * + * <pre> + * DateUtil.getDaysDiff("20060228","20060310") = 10 + * DateUtil.getDaysDiff("20060101","20070101") = 365 + * DateUtil.getDaysDiff("19990228","19990131") = -28 + * DateUtil.getDaysDiff("20060801","20060802") = 1 + * DateUtil.getDaysDiff("20060801","20060801") = 0 + * </pre> + * + * @param dateStr1 날짜 문자열(yyyyMMdd, yyyy-MM-dd의 형식) + * @param dateStr2 날짜 문자열(yyyyMMdd, yyyy-MM-dd의 형식) + * @return 일 수 차이. + * @throws IllegalArgumentException 날짜 포맷이 정해진 바와 다를 경우. + * 입력 값이 <code>null</code>인 경우. + */ + public static int getDaysDiff(String sDate1, String sDate2) { + String dateStr1 = validChkDate(sDate1); + String dateStr2 = validChkDate(sDate2); + + if (!checkDate(sDate1) || !checkDate(sDate2)) { + throw new IllegalArgumentException("Invalid date format: args[0]=" + sDate1 + " args[1]=" + sDate2); + } + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd", Locale.getDefault()); + + Date date1 = null; + Date date2 = null; + try { + date1 = sdf.parse(dateStr1); + date2 = sdf.parse(dateStr2); + } catch (ParseException e) { + throw new IllegalArgumentException("Invalid date format: args[0]=" + dateStr1 + " args[1]=" + dateStr2); + } + + if (date1 != null && date2 != null) { + int days1 = (int) ((date1.getTime() / 3600000) / 24); + int days2 = (int) ((date2.getTime() / 3600000) / 24); + return days2 - days1; + } else { + return 0; + } + + } + + /** + * <p>yyyyMMdd 혹은 yyyy-MM-dd 형식의 날짜 문자열을 입력 받아 유효한 날짜인지 검사.</p> + * + * <pre> + * DateUtil.checkDate("1999-02-35") = false + * DateUtil.checkDate("2000-13-31") = false + * DateUtil.checkDate("2006-11-31") = false + * DateUtil.checkDate("2006-2-28") = false + * DateUtil.checkDate("2006-2-8") = false + * DateUtil.checkDate("20060228") = true + * DateUtil.checkDate("2006-02-28") = true + * </pre> + * + * @param dateStr 날짜 문자열(yyyyMMdd, yyyy-MM-dd의 형식) + * @return 유효한 날짜인지 여부 + */ + public static boolean checkDate(String sDate) { + String dateStr = validChkDate(sDate); + + String year = dateStr.substring(0, 4); + String month = dateStr.substring(4, 6); + String day = dateStr.substring(6); + + return checkDate(year, month, day); + } + + /** + * <p>입력한 년, 월, 일이 유효한지 검사.</p> + * + * @param year 연도 + * @param month 월 + * @param day 일 + * @return 유효한 날짜인지 여부 + */ + public static boolean checkDate(String year, String month, String day) { + try { + SimpleDateFormat formatter = new SimpleDateFormat("yyyy.MM.dd", Locale.getDefault()); + + Date result = formatter.parse(year + "." + month + "." + day); + String resultStr = formatter.format(result); + if (resultStr.equalsIgnoreCase(year + "." + month + "." + day)) + return true; + else + return false; + } catch (ParseException e) { + return false; + } + } + + /** + * 날짜형태의 String의 날짜 포맷 및 TimeZone을 변경해 주는 메서드 + * + * @param strSource 바꿀 날짜 String + * @param fromDateFormat 기존의 날짜 형태 + * @param toDateFormat 원하는 날짜 형태 + * @param strTimeZone 변경할 TimeZone(""이면 변경 안함) + * @return 소스 String의 날짜 포맷을 변경한 String + */ + public static String convertDate(String strSource, String fromDateFormat, String toDateFormat, String strTimeZone) { + SimpleDateFormat simpledateformat = null; + Date date = null; + String fromFormat = ""; + String toFormat = ""; + + if (EgovStringUtil.isNullToString(strSource).trim().equals("")) { + return ""; + } + if (EgovStringUtil.isNullToString(fromDateFormat).trim().equals("")) + fromFormat = "yyyyMMddHHmmss"; // default값 + if (EgovStringUtil.isNullToString(toDateFormat).trim().equals("")) + toFormat = "yyyy-MM-dd HH:mm:ss"; // default값 + + try { + simpledateformat = new SimpleDateFormat(fromFormat, Locale.getDefault()); + date = simpledateformat.parse(strSource); + if (!EgovStringUtil.isNullToString(strTimeZone).trim().equals("")) { + simpledateformat.setTimeZone(TimeZone.getTimeZone(strTimeZone)); + } + simpledateformat = new SimpleDateFormat(toFormat, Locale.getDefault()); + } catch (ParseException exception) { + throw new RuntimeException(exception); + } + + return simpledateformat.format(date); + + } + + /** + * yyyyMMdd 형식의 날짜문자열을 원하는 캐릭터(ch)로 쪼개 돌려준다<br/> + * <pre> + * ex) 20030405, ch(.) -> 2003.04.05 + * ex) 200304, ch(.) -> 2003.04 + * ex) 20040101,ch(/) --> 2004/01/01 로 리턴 + * </pre> + * + * @param date yyyyMMdd 형식의 날짜문자열 + * @param ch 구분자 + * @return 변환된 문자열 + */ + public static String formatDate(String sDate, String ch) { + String dateStr = validChkDate(sDate); + + String str = dateStr.trim(); + String yyyy = ""; + String mm = ""; + String dd = ""; + + if (str.length() == 8) { + yyyy = str.substring(0, 4); + if (yyyy.equals("0000")) { + return ""; + } + + mm = str.substring(4, 6); + if (mm.equals("00")) { + return yyyy; + } + + dd = str.substring(6, 8); + if (dd.equals("00")) { + return yyyy + ch + mm; + } + + return yyyy + ch + mm + ch + dd; + + } else if (str.length() == 6) { + yyyy = str.substring(0, 4); + if (yyyy.equals("0000")) { + return ""; + } + + mm = str.substring(4, 6); + if (mm.equals("00")) { + return yyyy; + } + + return yyyy + ch + mm; + + } else if (str.length() == 4) { + yyyy = str.substring(0, 4); + if (yyyy.equals("0000")) { + return ""; + } else { + return yyyy; + } + } else { + return ""; + } + } + + /** + * HH24MISS 형식의 시간문자열을 원하는 캐릭터(ch)로 쪼개 돌려준다 <br> + * <pre> + * ex) 151241, ch(/) -> 15/12/31 + * </pre> + * + * @param str HH24MISS 형식의 시간문자열 + * @param ch 구분자 + * @return 변환된 문자열 + */ + public static String formatTime(String sTime, String ch) { + String timeStr = validChkTime(sTime); + return timeStr.substring(0, 2) + ch + timeStr.substring(2, 4) + ch + timeStr.substring(4, 6); + } + + /** + * 연도를 입력 받아 해당 연도 2월의 말일(일수)를 문자열로 반환한다. + * + * @param year + * @return 해당 연도 2월의 말일(일수) + */ + public String leapYear(int year) { + if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { + return "29"; + } + + return "28"; + } + + /** + * <p>입력받은 연도가 윤년인지 아닌지 검사한다.</p> + * + * <pre> + * DateUtil.isLeapYear(2004) = false + * DateUtil.isLeapYear(2005) = true + * DateUtil.isLeapYear(2006) = true + * </pre> + * + * @param year 연도 + * @return 윤년 여부 + */ + public static boolean isLeapYear(int year) { + if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { + return false; + } + return true; + } + + /** + * 현재(한국기준) 날짜정보를 얻는다. <BR> + * 표기법은 yyyy-mm-dd <BR> + * @return String yyyymmdd형태의 현재 한국시간. <BR> + */ + public static String getToday() { + return getCurrentDate(""); + } + + /** + * 현재(한국기준) 날짜정보를 얻는다. <BR> + * 표기법은 yyyy-mm-dd <BR> + * @return String yyyymmdd형태의 현재 한국시간. <BR> + */ + public static String getCurrentDate(String dateType) { + Calendar aCalendar = Calendar.getInstance(); + + int year = aCalendar.get(Calendar.YEAR); + int month = aCalendar.get(Calendar.MONTH) + 1; + int date = aCalendar.get(Calendar.DATE); + String strDate = Integer.toString(year) + + ((month < 10) ? "0" + Integer.toString(month) : Integer.toString(month)) + + ((date < 10) ? "0" + Integer.toString(date) : Integer.toString(date)); + + if (!"".equals(dateType)) { + strDate = convertDate(strDate, "yyyyMMdd", dateType); + } + + return strDate; + } + + /** + * 날짜형태의 String의 날짜 포맷만을 변경해 주는 메서드 + * @param sDate 날짜 + * @param sTime 시간 + * @param sFormatStr 포멧 스트링 문자열 + * @return 지정한 날짜/시간을 지정한 포맷으로 출력 + * @See Letter Date or Time Component Presentation Examples + G Era designator Text AD + y Year Year 1996; 96 + M Month in year Month July; Jul; 07 + w Week in year Number 27 + W Week in month Number 2 + D Day in year Number 189 + d Day in month Number 10 + F Day of week in month Number 2 + E Day in week Text Tuesday; Tue + a Am/pm marker Text PM + H Hour in day (0-23) Number 0 + k Hour in day (1-24) Number 24 + K Hour in am/pm (0-11) Number 0 + h Hour in am/pm (1-12) Number 12 + m Minute in hour Number 30 + s Second in minute Number 55 + S Millisecond Number 978 + z Time zone General time zone Pacific Standard Time; PST; GMT-08:00 + Z Time zone RFC 822 time zone -0800 + + Date and Time Pattern Result + "yyyy.MM.dd G 'at' HH:mm:ss z" 2001.07.04 AD at 12:08:56 PDT + "EEE, MMM d, ''yy" Wed, Jul 4, '01 + "h:mm a" 12:08 PM + "hh 'o''clock' a, zzzz" 12 o'clock PM, Pacific Daylight Time + "K:mm a, z" 0:08 PM, PDT + "yyyyy.MMMMM.dd GGG hh:mm aaa" 02001.July.04 AD 12:08 PM + "EEE, d MMM yyyy HH:mm:ss Z" Wed, 4 Jul 2001 12:08:56 -0700 + "yyMMddHHmmssZ" 010704120856-0700 + + */ + public static String convertDate(String sDate, String sTime, String sFormatStr) { + String dateStr = validChkDate(sDate); + String timeStr = validChkTime(sTime); + + Calendar cal = null; + cal = Calendar.getInstance(); + + cal.set(Calendar.YEAR, Integer.parseInt(dateStr.substring(0, 4))); + cal.set(Calendar.MONTH, Integer.parseInt(dateStr.substring(4, 6)) - 1); + cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(dateStr.substring(6, 8))); + cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(timeStr.substring(0, 2))); + cal.set(Calendar.MINUTE, Integer.parseInt(timeStr.substring(2, 4))); + + SimpleDateFormat sdf = new SimpleDateFormat(sFormatStr, Locale.ENGLISH); + + return sdf.format(cal.getTime()); + } + + /** + * 입력받은 일자 사이의 임의의 일자를 반환 + * @param sDate1 시작일자 + * @param sDate2 종료일자 + * @return 임의일자 + */ + public static String getRandomDate(String sDate1, String sDate2) { + String dateStr1 = validChkDate(sDate1); + String dateStr2 = validChkDate(sDate2); + + String randomDate = null; + + int sYear, sMonth, sDay; + int eYear, eMonth, eDay; + + sYear = Integer.parseInt(dateStr1.substring(0, 4)); + sMonth = Integer.parseInt(dateStr1.substring(4, 6)); + sDay = Integer.parseInt(dateStr1.substring(6, 8)); + + eYear = Integer.parseInt(dateStr2.substring(0, 4)); + eMonth = Integer.parseInt(dateStr2.substring(4, 6)); + eDay = Integer.parseInt(dateStr2.substring(6, 8)); + + GregorianCalendar beginDate = new GregorianCalendar(sYear, sMonth - 1, sDay, 0, 0); + GregorianCalendar endDate = new GregorianCalendar(eYear, eMonth - 1, eDay, 23, 59); + + if (endDate.getTimeInMillis() < beginDate.getTimeInMillis()) { + throw new IllegalArgumentException("Invalid input date : " + sDate1 + "~" + sDate2); + } + + SecureRandom r = new SecureRandom(); + + r.setSeed(new Date().getTime()); + + long rand = ((r.nextLong() >>> 1) % (endDate.getTimeInMillis() - beginDate.getTimeInMillis() + 1)) + beginDate.getTimeInMillis(); + + GregorianCalendar cal = new GregorianCalendar(); + //SimpleDateFormat calformat = new SimpleDateFormat("yyyy-MM-dd"); + SimpleDateFormat calformat = new SimpleDateFormat("yyyyMMdd", Locale.ENGLISH); + cal.setTimeInMillis(rand); + randomDate = calformat.format(cal.getTime()); + + // 랜덤문자열를 리턴 + return randomDate; + } + + /** + * 입력받은 양력일자를 변환하여 음력일자로 반환 + * @param sDate 양력일자 + * @return 음력일자 + */ + public static Map<String, String> toLunar(String sDate) { + String dateStr = validChkDate(sDate); + + Map<String, String> hm = new HashMap<String, String>(); + hm.put("day", ""); + hm.put("leap", "0"); + + if (dateStr.length() != 8) { + return hm; + } + + Calendar cal; + ChineseCalendar lcal; + + cal = Calendar.getInstance(); + lcal = new ChineseCalendar(); + + cal.set(Calendar.YEAR, Integer.parseInt(dateStr.substring(0, 4))); + cal.set(Calendar.MONTH, Integer.parseInt(dateStr.substring(4, 6)) - 1); + cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(dateStr.substring(6, 8))); + + lcal.setTimeInMillis(cal.getTimeInMillis()); + + String year = String.valueOf(lcal.get(ChineseCalendar.EXTENDED_YEAR) - 2637); + String month = String.valueOf(lcal.get(ChineseCalendar.MONTH) + 1); + String day = String.valueOf(lcal.get(ChineseCalendar.DAY_OF_MONTH)); + String leap = String.valueOf(lcal.get(ChineseCalendar.IS_LEAP_MONTH)); + + String pad4Str = "0000"; + String pad2Str = "00"; + + String retYear = (pad4Str + year).substring(year.length()); + String retMonth = (pad2Str + month).substring(month.length()); + String retDay = (pad2Str + day).substring(day.length()); + + String SDay = retYear + retMonth + retDay; + + hm.put("day", SDay); + hm.put("leap", leap); + + return hm; + } + + /** + * 입력받은 음력일자를 변환하여 양력일자로 반환 + * @param sDate 음력일자 + * @param iLeapMonth 음력윤달여부(IS_LEAP_MONTH) + * @return 양력일자 + */ + public static String toSolar(String sDate, int iLeapMonth) { + String dateStr = validChkDate(sDate); + + Calendar cal; + ChineseCalendar lcal; + + cal = Calendar.getInstance(); + lcal = new ChineseCalendar(); + + lcal.set(ChineseCalendar.EXTENDED_YEAR, Integer.parseInt(dateStr.substring(0, 4)) + 2637); + lcal.set(ChineseCalendar.MONTH, Integer.parseInt(dateStr.substring(4, 6)) - 1); + lcal.set(ChineseCalendar.DAY_OF_MONTH, Integer.parseInt(dateStr.substring(6, 8))); + lcal.set(ChineseCalendar.IS_LEAP_MONTH, iLeapMonth); + + cal.setTimeInMillis(lcal.getTimeInMillis()); + + String year = String.valueOf(cal.get(Calendar.YEAR)); + String month = String.valueOf(cal.get(Calendar.MONTH) + 1); + String day = String.valueOf(cal.get(Calendar.DAY_OF_MONTH)); + + String pad4Str = "0000"; + String pad2Str = "00"; + + String retYear = (pad4Str + year).substring(year.length()); + String retMonth = (pad2Str + month).substring(month.length()); + String retDay = (pad2Str + day).substring(day.length()); + + return retYear + retMonth + retDay; + } + + /** + * 입력받은 요일의 영문명을 국문명의 요일로 반환 + * @param sWeek 영문 요일명 + * @return 국문 요일명 + */ + public static String convertWeek(String sWeek) { + String retStr = null; + + if (sWeek.equals("SUN")) { + retStr = "일요일"; + } else if (sWeek.equals("MON")) { + retStr = "월요일"; + } else if (sWeek.equals("TUE")) { + retStr = "화요일"; + } else if (sWeek.equals("WED")) { + retStr = "수요일"; + } else if (sWeek.equals("THR")) { + retStr = "목요일"; + } else if (sWeek.equals("FRI")) { + retStr = "금요일"; + } else if (sWeek.equals("SAT")) { + retStr = "토요일"; + } + + return retStr; + } + + /** + * 입력일자의 유효 여부를 확인 + * @param sDate 일자 + * @return 유효 여부 + */ + public static boolean validDate(String sDate) { + String dateStr = validChkDate(sDate); + + Calendar cal; + boolean ret = false; + + cal = Calendar.getInstance(); + + cal.set(Calendar.YEAR, Integer.parseInt(dateStr.substring(0, 4))); + cal.set(Calendar.MONTH, Integer.parseInt(dateStr.substring(4, 6)) - 1); + cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(dateStr.substring(6, 8))); + + String year = String.valueOf(cal.get(Calendar.YEAR)); + String month = String.valueOf(cal.get(Calendar.MONTH) + 1); + String day = String.valueOf(cal.get(Calendar.DAY_OF_MONTH)); + + String pad4Str = "0000"; + String pad2Str = "00"; + + String retYear = (pad4Str + year).substring(year.length()); + String retMonth = (pad2Str + month).substring(month.length()); + String retDay = (pad2Str + day).substring(day.length()); + + String retYMD = retYear + retMonth + retDay; + + if (sDate.equals(retYMD)) { + ret = true; + } + + return ret; + } + + /** + * 입력일자, 요일의 유효 여부를 확인 + * @param sDate 일자 + * @param sWeek 요일 (DAY_OF_WEEK) + * @return 유효 여부 + */ + public static boolean validDate(String sDate, int sWeek) { + String dateStr = validChkDate(sDate); + + Calendar cal; + boolean ret = false; + + cal = Calendar.getInstance(); + + cal.set(Calendar.YEAR, Integer.parseInt(dateStr.substring(0, 4))); + cal.set(Calendar.MONTH, Integer.parseInt(dateStr.substring(4, 6)) - 1); + cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(dateStr.substring(6, 8))); + + int Week = cal.get(Calendar.DAY_OF_WEEK); + + if (validDate(sDate)) { + if (sWeek == Week) { + ret = true; + } + } + + return ret; + } + + /** + * 입력시간의 유효 여부를 확인 + * @param sTime 입력시간 + * @return 유효 여부 + */ + public static boolean validTime(String sTime) { + String timeStr = validChkTime(sTime); + + Calendar cal; + boolean ret = false; + + cal = Calendar.getInstance(); + + cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(timeStr.substring(0, 2))); + cal.set(Calendar.MINUTE, Integer.parseInt(timeStr.substring(2, 4))); + + String HH = String.valueOf(cal.get(Calendar.HOUR_OF_DAY)); + String MM = String.valueOf(cal.get(Calendar.MINUTE)); + + String pad2Str = "00"; + + String retHH = (pad2Str + HH).substring(HH.length()); + String retMM = (pad2Str + MM).substring(MM.length()); + + String retTime = retHH + retMM; + + if (sTime.equals(retTime)) { + ret = true; + } + + return ret; + } + + /** + * 입력된 일자에 연, 월, 일을 가감한 날짜의 요일을 반환 + * @param sDate 날짜 + * @param year 연 + * @param month 월 + * @param day 일 + * @return 계산된 일자의 요일(DAY_OF_WEEK) + */ + public static String addYMDtoWeek(String sDate, int year, int month, int day) { + String dateStr = validChkDate(sDate); + + dateStr = addYearMonthDay(dateStr, year, month, day); + + Calendar cal = Calendar.getInstance(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd", Locale.ENGLISH); + try { + cal.setTime(sdf.parse(dateStr)); + } catch (ParseException e) { + throw new IllegalArgumentException("Invalid date format: " + dateStr); + } + + SimpleDateFormat rsdf = new SimpleDateFormat("E", Locale.ENGLISH); + + return rsdf.format(cal.getTime()); + } + + /** + * 입력된 일자에 연, 월, 일, 시간, 분을 가감한 날짜, 시간을 포멧스트링 형식으로 반환 + * @param sDate 날짜 + * @param sTime 시간 + * @param year 연 + * @param month 월 + * @param day 일 + * @param hour 시간 + * @param minute 분 + * @param formatStr 포멧스트링 + * @return + */ + public static String addYMDtoDayTime(String sDate, String sTime, int year, int month, int day, int hour, int minute, String formatStr) { + String dateStr = validChkDate(sDate); + String timeStr = validChkTime(sTime); + + dateStr = addYearMonthDay(dateStr, year, month, day); + + dateStr = convertDate(dateStr, timeStr, "yyyyMMddHHmm"); + + Calendar cal = Calendar.getInstance(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmm", Locale.ENGLISH); + + try { + cal.setTime(sdf.parse(dateStr)); + } catch (ParseException e) { + throw new IllegalArgumentException("Invalid date format: " + dateStr); + } + + if (hour != 0) { + cal.add(Calendar.HOUR, hour); + } + + if (minute != 0) { + cal.add(Calendar.MINUTE, minute); + } + + SimpleDateFormat rsdf = new SimpleDateFormat(formatStr, Locale.ENGLISH); + + return rsdf.format(cal.getTime()); + } + + /** + * 입력된 일자를 int 형으로 반환 + * @param sDate 일자 + * @return int(일자) + */ + public static int datetoInt(String sDate) { + return Integer.parseInt(convertDate(sDate, "0000", "yyyyMMdd")); + } + + /** + * 입력된 시간을 int 형으로 반환 + * @param sTime 시간 + * @return int(시간) + */ + public static int timetoInt(String sTime) { + return Integer.parseInt(convertDate("00000101", sTime, "HHmm")); + } + + /** + * 입력된 일자 문자열을 확인하고 8자리로 리턴 + * @param sDate + * @return + */ + public static String validChkDate(String dateStr) { + if (dateStr == null || !(dateStr.trim().length() == 8 || dateStr.trim().length() == 10)) { + throw new IllegalArgumentException("Invalid date format: " + dateStr); + } + + if (dateStr.length() == 10) { + return EgovStringUtil.removeMinusChar(dateStr); + } + + return dateStr; + } + + /** + * 입력된 일자 문자열을 확인하고 8자리로 리턴 + * @param sDate + * @return + */ + public static String validChkTime(String timeStr) { + if (timeStr == null || !(timeStr.trim().length() == 4)) { + throw new IllegalArgumentException("Invalid time format: " + timeStr); + } + + if (timeStr.length() == 5) { + timeStr = EgovStringUtil.remove(timeStr, ':'); + } + + return timeStr; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovDateUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovNumberFormat.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovNumberFormat.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovNumberFormat.java (revision 7) @@ -0,0 +1,258 @@ +package egovframework.com.utl.fcc.service; + +import java.text.NumberFormat; +import java.util.Locale; + +/** + * 숫자, 통화, 퍼센트에 대한 형식 변환을 수행하는 클래스 + */ +public class EgovNumberFormat { + + private static final int MAX_FRACTION_DIGIT = 3; + private static final boolean GROUPING_USED = true; + + /** + * 기본 Locale에 해당하는 형식으로 숫자를 변환한다. + * + * @param number 숫자 + * @return 숫자 문자열 + */ + public static String formatNumber(Number number) { + return formatNumber(number, GROUPING_USED, MAX_FRACTION_DIGIT); + } + + /** + * Locale에 해당하는 형식으로 숫자를 변환한다. + * + * @param locale 로케일 + * @param number 숫자 + * @return 숫자 문자열 + */ + public static String formatNumber(Locale locale, Number number) { + return formatNumber(locale, number, GROUPING_USED, MAX_FRACTION_DIGIT); + } + + /** + * 기본 Locale에 해당하는 형식으로 숫자를 변환한다. + * + * @param number 숫자 + * @param groupingUsed 그룹 분리기호 포함 여부 + * @return 숫자 문자열 + */ + public static String formatNumber(Number number, boolean groupingUsed) { + return formatNumber(number, groupingUsed, MAX_FRACTION_DIGIT); + } + + /** + * Locale에 해당하는 형식으로 숫자를 변환한다. + * + * @param locale 로케일 + * @param number 숫자 + * @param groupingUsed 그룹 분리기호 포함 여부 + * @return 숫자 문자열 + */ + public static String formatNumber(Locale locale, Number number, boolean groupingUsed) { + return formatNumber(locale, number, groupingUsed, MAX_FRACTION_DIGIT); + } + + /** + * 기본 Locale에 해당하는 형식으로 숫자를 변환한다. + * + * @param number 숫자 + * @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수 + * @return 숫자 문자열 + */ + public static String formatNumber(Number number, int maxFactionDigits) { + return formatNumber(number, GROUPING_USED, maxFactionDigits); + } + + /** + * Locale에 해당하는 형식으로 숫자를 변환한다. + * + * @param locale 로케일 + * @param number 숫자 + * @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수 + * @return 숫자 문자열 + */ + public static String formatNumber(Locale locale, Number number, int maxFactionDigits) { + return formatNumber(locale, number, GROUPING_USED, maxFactionDigits); + } + + /** + * 기본 Locale에 해당하는 형식으로 숫자를 변환한다. + * + * @param number 숫자 + * @param groupingUsed 그룹 분리기호 포함 여부 + * @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수 + * @return 숫자 문자열 + */ + public static String formatNumber(Number number, boolean groupingUsed, int maxFactionDigits) { + NumberFormat numberberFormat = NumberFormat.getNumberInstance(); + numberberFormat.setGroupingUsed(groupingUsed); + numberberFormat.setMaximumFractionDigits(maxFactionDigits); + return numberberFormat.format(number); + } + + /** + * Locale에 해당하는 형식으로 숫자를 변환한다. + * + * @param locale 로케일 + * @param number 숫자 + * @param groupingUsed 그룹 분리기호 포함 여부 + * @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수 + * @return 숫자 문자열 + */ + public static String formatNumber(Locale locale, Number number, boolean groupingUsed, int maxFactionDigits) { + NumberFormat numberberFormat = NumberFormat.getNumberInstance(locale); + numberberFormat.setGroupingUsed(groupingUsed); + numberberFormat.setMaximumFractionDigits(maxFactionDigits); + return numberberFormat.format(number); + } + + /** + * 기본 Locale에 해당하는 형식으로 통화를 변환한다. + * + * @param number 숫자 + * @return 통화 문자열 + */ + public static String formatCurrency(Number number) { + return formatCurrency(number, GROUPING_USED); + } + + /** + * Locale에 해당하는 형식으로 통화를 변환한다. + * + * @param locale 로케일 + * @param number 숫자 + * @return 통화 문자열 + */ + public static String formatCurrency(Locale locale, Number number) { + return formatCurrency(locale, number, GROUPING_USED); + } + + /** + * 기본 Locale에 해당하는 형식으로 통화를 변환한다. + * + * @param number 숫자 + * @param groupingUsed 그룹 분리기호 포함 여부 + * @return 통화 문자열 + */ + public static String formatCurrency(Number number, boolean groupingUsed) { + NumberFormat numberberFormat = NumberFormat.getCurrencyInstance(); + numberberFormat.setGroupingUsed(groupingUsed); + return numberberFormat.format(number); + } + + /** + * Locale에 해당하는 형식으로 통화를 변환한다. + * + * @param locale 로케일 + * @param number 숫자 + * @param groupingUsed 그룹 분리기호 포함 여부 + * @return 통화 문자열 + */ + public static String formatCurrency(Locale locale, Number number, boolean groupingUsed) { + NumberFormat numberberFormat = NumberFormat.getCurrencyInstance(locale); + numberberFormat.setGroupingUsed(groupingUsed); + return numberberFormat.format(number); + } + + /** + * 기본 Locale에 해당하는 형식으로 퍼센트를 변환한다. + * + * @param number 숫자 + * @return 퍼센트 문자열 + */ + public static String formatPercent(Number number) { + return formatPercent(number, GROUPING_USED, MAX_FRACTION_DIGIT); + } + + /** + * Locale에 해당하는 형식으로 퍼센트를 변환한다. + * + * @param locale 로케일 + * @param number 숫자 + * @return 퍼센트 문자열 + */ + public static String formatPercent(Locale locale, Number number) { + return formatPercent(locale, number, GROUPING_USED, MAX_FRACTION_DIGIT); + } + + /** + * 기본 Locale에 해당하는 형식으로 퍼센트를 변환한다. + * + * @param number 숫자 + * @param groupingUsed 그룹 분리기호 포함 여부 + * @return 퍼센트 문자열 + */ + public static String formatPercent(Number number, boolean groupingUsed) { + return formatPercent(number, groupingUsed, MAX_FRACTION_DIGIT); + } + + /** + * Locale에 해당하는 형식으로 퍼센트를 변환한다. + * + * @param locale 로케일 + * @param number 숫자 + * @param groupingUsed 그룹 분리기호 포함 여부 + * @return 퍼센트 문자열 + */ + public static String formatPercent(Locale locale, Number number, boolean groupingUsed) { + return formatPercent(locale, number, groupingUsed, MAX_FRACTION_DIGIT); + } + + /** + * 기본 Locale에 해당하는 형식으로 퍼센트를 변환한다. + * + * @param number 숫자 + * @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수 + * @return 퍼센트 문자열 + */ + public static String formatPercent(Number number, int maxFactionDigits) { + return formatPercent(number, GROUPING_USED, maxFactionDigits); + } + + /** + * Locale에 해당하는 형식으로 퍼센트를 변환한다. + * + * @param locale 로케일 + * @param number 숫자 + * @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수 + * @return 퍼센트 문자열 + */ + public static String formatPercent(Locale locale, Number number, int maxFactionDigits) { + return formatPercent(locale, number, GROUPING_USED, maxFactionDigits); + } + + /** + * 기본 Locale에 해당하는 형식으로 퍼센트를 변환한다. + * + * @param number 숫자 + * @param groupingUsed 그룹 분리기호 포함 여부 + * @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수 + * @return 퍼센트 문자열 + */ + public static String formatPercent(Number number, boolean groupingUsed, int maxFactionDigits) { + NumberFormat numberberFormat = NumberFormat.getPercentInstance(); + numberberFormat.setGroupingUsed(groupingUsed); + numberberFormat.setMaximumFractionDigits(maxFactionDigits); + return numberberFormat.format(number); + } + + /** + * Locale에 해당하는 형식으로 퍼센트를 변환한다. + * + * @param locale 로케일 + * @param number 숫자 + * @param groupingUsed 그룹 분리기호 포함 여부 + * @param maxFactionDigits 변환된 문자열에서 출력할 소수점 이하 최대 자리수 + * @return 퍼센트 문자열 + */ + public static String formatPercent(Locale locale, Number number, boolean groupingUsed, int maxFactionDigits) { + NumberFormat numberberFormat = NumberFormat.getPercentInstance(locale); + numberberFormat.setGroupingUsed(groupingUsed); + numberberFormat.setMaximumFractionDigits(maxFactionDigits); + return numberberFormat.format(number); + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovNumberFormat.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFileUploadUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFileUploadUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFileUploadUtil.java (revision 7) @@ -0,0 +1,202 @@ +package egovframework.com.utl.fcc.service; + +import java.io.File; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import egovframework.com.cmm.EgovWebUtil; + +import javax.servlet.http.HttpServletRequest; + +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.util.WebUtils; + +/** + * @Class Name : EgovFileUploadUtil.java + * @Description : Spring 기반 File Upload 유틸리티 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.08.26 한성곤 최초 생성 + * 2018.08.17 신용호 uploadFilesExt(확장자 기록) 추가 + * 2019.12.06 신용호 checkFileExtension(), checkFileMaxSize() 추가 + * 2020.08.05 신용호 uploadFilesExt Parameter 수정 + * 2021.02.16 신용호 WebUtils.getNativeRequest(request,MultipartHttpServletRequest.class); + * + * @author 공통컴포넌트 개발팀 한성곤 + * @since 2009.08.26 + * @version 1.0 + * @see + */ +public class EgovFileUploadUtil extends EgovFormBasedFileUtil { + /** + * 파일을 Upload 처리한다. + * + * @param request + * @param where + * @param maxFileSize + * @return + * @throws Exception + */ + public static List<EgovFormBasedFileVo> uploadFiles(HttpServletRequest request, String where, long maxFileSize) throws Exception { + List<EgovFormBasedFileVo> list = new ArrayList<EgovFormBasedFileVo>(); + + //MultipartHttpServletRequest mptRequest = (MultipartHttpServletRequest) request; + MultipartHttpServletRequest mptRequest = WebUtils.getNativeRequest(request,MultipartHttpServletRequest.class); + + Iterator<?> fileIter = mptRequest.getFileNames(); + + while (fileIter.hasNext()) { + MultipartFile mFile = mptRequest.getFile((String) fileIter.next()); + + EgovFormBasedFileVo vo = new EgovFormBasedFileVo(); + + String tmp = mFile.getOriginalFilename(); + + if (tmp.lastIndexOf("\\") >= 0) { + tmp = tmp.substring(tmp.lastIndexOf("\\") + 1); + } + + vo.setFileName(tmp); + vo.setContentType(mFile.getContentType()); + vo.setServerSubPath(getTodayString()); + vo.setPhysicalName(getPhysicalFileName()); + vo.setSize(mFile.getSize()); + + if (tmp.lastIndexOf(".") >= 0) { + vo.setPhysicalName(vo.getPhysicalName()); // 2012.11 KISA 보안조치 + } + + if (mFile.getSize() > 0) { + InputStream is = null; + + try { + is = mFile.getInputStream(); + saveFile(is, new File(EgovWebUtil.filePathBlackList(where + SEPERATOR + vo.getServerSubPath() + SEPERATOR + vo.getPhysicalName()))); + } finally { + if (is != null) { + is.close(); + } + } + list.add(vo); + } + } + + return list; + } + + /** + * 파일을 Upload(확장명 저장 및 확장자 제한) 처리한다. + * + * @param request + * @param where + * @param maxFileSize + * @return + * @throws Exception + */ + public static List<EgovFormBasedFileVo> uploadFilesExt(MultipartHttpServletRequest mptRequest, String where, long maxFileSize, String extensionWhiteList) throws Exception { + List<EgovFormBasedFileVo> list = new ArrayList<EgovFormBasedFileVo>(); + + Iterator<?> fileIter = mptRequest.getFileNames(); + + while (fileIter.hasNext()) { + MultipartFile mFile = mptRequest.getFile((String) fileIter.next()); + + EgovFormBasedFileVo vo = new EgovFormBasedFileVo(); + + String tmp = mFile.getOriginalFilename(); + + if (tmp.lastIndexOf("\\") >= 0) { + tmp = tmp.substring(tmp.lastIndexOf("\\") + 1); + } + String ext = ""; + if ( tmp.lastIndexOf(".") > 0 ) + ext = getFileExtension(tmp).toLowerCase(); + else + throw new SecurityException("Unacceptable file extension."); // 허용되지 않는 확장자 처리 + if ( extensionWhiteList.indexOf(ext) < 0 ) + throw new SecurityException("Unacceptable file extension."); // 허용되지 않는 확장자 처리 + + vo.setFileName(tmp); + vo.setContentType(mFile.getContentType()); + vo.setServerSubPath(getTodayString()); + vo.setPhysicalName(getPhysicalFileName()+"."+ext); + vo.setSize(mFile.getSize()); + + if (tmp.lastIndexOf(".") >= 0) { + vo.setPhysicalName(vo.getPhysicalName()); // 2012.11 KISA 보안조치 + } + + if (mFile.getSize() > 0) { + InputStream is = null; + + try { + is = mFile.getInputStream(); + saveFile(is, new File(EgovWebUtil.filePathBlackList(where + SEPERATOR + vo.getServerSubPath() + SEPERATOR + vo.getPhysicalName()))); + } finally { + if (is != null) { + is.close(); + } + } + list.add(vo); + } + } + + return list; + } + + /** + * 파일 확장자를 추출한다. + * + * @param fileNamePath + * @return 확장자 : "" 또는 추출된 확장자 + */ + public static String getFileExtension(String fileNamePath) { + + if (fileNamePath == null) return ""; + String ext = fileNamePath.substring(fileNamePath.lastIndexOf(".") + 1,fileNamePath.length()); + + return (ext == null) ? "" : ext; + } + + /** + * 파일 확장자의 허용유무를 검증한다. + * + * @param fileNamePath + * @param whiteListExtensions : ex) .png.pdf.txt + * @return true : 허용 + * @return true : 불가 + */ + public static boolean checkFileExtension(String fileNamePath, String whiteListExtensions) { + String extension = getFileExtension(fileNamePath); + + if ( "".equals(extension) ) return false; + + if ( whiteListExtensions == null ) return false; + if ( "".equals(whiteListExtensions) ) return false; + + if ( whiteListExtensions.indexOf("."+extension) >= 0 ) return true; + else return false; + } + + /** + * 최대 파일 사이즈 허용유무를 검증한다. + * + * @param multipartFile + * @param maxFileSize : ex) 1048576 = 1M , 1K = 1024 + * @return true : 허용 + * @return true : 불가 + */ + public static boolean checkFileMaxSize(MultipartFile multipartFile, long maxFileSize) { + + if ( multipartFile == null ) return false; + + if ( multipartFile.getSize() <= maxFileSize ) return true; + else return false; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFileUploadUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovNumberCheckUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovNumberCheckUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovNumberCheckUtil.java (revision 7) @@ -0,0 +1,246 @@ +package egovframework.com.utl.fcc.service; + +/** + * + * 번호유효성체크 에 대한 Util 클래스 + * @author 공통컴포넌트 개발팀 윤성록 + * @since 2009.06.10 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.06.10 윤성록 최초 생성 + * 2012.02.27 이기하 법인번호 체크로직 수정 + * + * </pre> + */ +public class EgovNumberCheckUtil { + + /** + * <p>XXXXXX - XXXXXXX 형식의 주민번호 앞, 뒤 문자열 2개 입력 받아 유효한 주민번호인지 검사.</p> + * + * + * @param 6자리 주민앞번호 문자열 , 7자리 주민뒷번호 문자열 + * @return 유효한 주민번호인지 여부 (True/False) + */ + @SuppressWarnings("static-access") + public static boolean checkJuminNumber(String jumin1, String jumin2) { + + EgovDateUtil egovDateUtil = new EgovDateUtil(); + String juminNumber = jumin1 + jumin2; + String IDAdd = "234567892345"; // 주민등록번호에 가산할 값 + + int count_num = 0; + int add_num = 0; + int total_id = 0; //검증을 위한 변수선언 + + if (juminNumber.length() != 13) return false; // 주민등록번호 자리수가 맞는가를 확인 + + for (int i = 0; i <12 ; i++){ + if(juminNumber.charAt(i)< '0' || juminNumber.charAt(i) > '9') return false; //숫자가 아닌 값이 들어왔는지를 확인 + count_num = Character.getNumericValue(juminNumber.charAt(i)); + add_num = Character.getNumericValue(IDAdd.charAt(i)); + total_id += count_num * add_num; //유효자리 검증식을 적용 + } + + if(Character.getNumericValue(juminNumber.charAt(0)) == 0 || Character.getNumericValue(juminNumber.charAt(0)) == 1){ + if(Character.getNumericValue(juminNumber.charAt(6)) > 4) return false; + String temp = "20" + juminNumber.substring(0,6); + if(!egovDateUtil.checkDate(temp)) return false; + }else{ + if(Character.getNumericValue(juminNumber.charAt(6)) > 2) return false; + String temp = "19" + juminNumber.substring(0,6); + if(!egovDateUtil.checkDate(temp)) return false; + } //주민번호 앞자리 날짜유효성체크 & 성별구분 숫자 체크 + + if(Character.getNumericValue(juminNumber.charAt(12)) == (11 - (total_id % 11)) % 10) //마지막 유효숫자와 검증식을 통한 값의 비교 + return true; + else + return false; + } + + /** + * <p>XXXXXXXXXXXXX 형식의 13자리 주민번호 1개를 입력 받아 유효한 주민번호인지 검사.</p> + * + * + * @param 13자리 주민번호 문자열 + * @return 유효한 주민번호인지 여부 (True/False) + */ + public static boolean checkJuminNumber(String jumin) { + + if(jumin.length() != 13) return false; + + return checkJuminNumber(jumin.substring(0,6), jumin.substring(6,13)); //주민번호 + } + + /** + * <p>XXXXXX - XXXXXXX 형식의 법인번호 앞, 뒤 문자열 2개 입력 받아 유효한 법인번호인지 검사.</p> + * + * + * @param 6자리 법인앞번호 문자열 , 7자리 법인뒷번호 문자열 + * @return 유효한 법인번호인지 여부 (True/False) + */ + public static boolean checkBubinNumber(String bubin1, String bubin2) { + + String bubinNumber = bubin1 + bubin2; + + int hap = 0; + int temp = 1; //유효검증식에 사용하기 위한 변수 + + if(bubinNumber.length() != 13) return false; //법인번호의 자리수가 맞는 지를 확인 + + for(int i=0; i < 13; i++){ + if (bubinNumber.charAt(i) < '0' || bubinNumber.charAt(i) > '9') //숫자가 아닌 값이 들어왔는지를 확인 + return false; + } + + + // 2012.02.27 법인번호 체크로직 수정( i<13 -> i<12 ) + // 맨끝 자리 수는 전산시스템으로 오류를 검증하기 위해 부여되는 검증번호임 + for ( int i=0; i<12; i++){ + if(temp ==3) temp = 1; + hap = hap + (Character.getNumericValue(bubinNumber.charAt(i)) * temp); + temp++; + } //검증을 위한 식의 계산 + + if ((10 - (hap%10))%10 == Character.getNumericValue(bubinNumber.charAt(12))) //마지막 유효숫자와 검증식을 통한 값의 비교 + return true; + else + return false; + } + + /** + * <p>XXXXXXXXXXXXX 형식의 13자리 법인번호 1개를 입력 받아 유효한 법인번호인지 검사.</p> + * + * + * @param 13자리 법인번호 문자열 + * @return 유효한 법인번호인지 여부 (True/False) + */ + public static boolean checkBubinNumber(String bubin) { + + if(bubin.length() != 13) return false; + + return checkBubinNumber(bubin.substring(0,6), bubin.substring(6,13)); + } + + + /** + * <p>xxx - xx - xxxx 형식의 사업자번호 앞,중간, 뒤 문자열 3개 입력 받아 유효한 사업자번호인지 검사.</p> + * + * + * @param 3자리 사업자앞번호 문자열 , 2자리 사업자중간번호 문자열, 5자리 사업자뒷번호 문자열 + * @return 유효한 사업자번호인지 여부 (True/False) + */ + public static boolean checkCompNumber(String comp1, String comp2, String comp3) { + + String compNumber = comp1 + comp2 + comp3; + + int hap = 0; + int temp = 0; + int check[] = {1,3,7,1,3,7,1,3,5}; //사업자번호 유효성 체크 필요한 수 + + if(compNumber.length() != 10) //사업자번호의 길이가 맞는지를 확인한다. + return false; + + for(int i=0; i < 9; i++){ + if(compNumber.charAt(i) < '0' || compNumber.charAt(i) > '9') //숫자가 아닌 값이 들어왔는지를 확인한다. + return false; + + hap = hap + (Character.getNumericValue(compNumber.charAt(i)) * check[temp]); //검증식 적용 + temp++; + } + + hap += (Character.getNumericValue(compNumber.charAt(8))*5)/10; + + if ((10 - (hap%10))%10 == Character.getNumericValue(compNumber.charAt(9))) //마지막 유효숫자와 검증식을 통한 값의 비교 + return true; + else + return false; + } + + /** + * <p>XXXXXXXXXX 형식의 10자리 사업자번호 3개를 입력 받아 유효한 사업자번호인지 검사.</p> + * + * + * @param 10자리 사업자번호 문자열 + * @return 유효한 사업자번호인지 여부 (True/False) + */ + public static boolean checkCompNumber(String comp) { + + if(comp.length() != 10) return false; + return checkCompNumber(comp.substring(0,3), comp.substring(3,5), comp.substring(5,10)); + } + + /** + * <p>XXXXXX - XXXXXXX 형식의 외국인등록번호 앞, 뒤 문자열 2개 입력 받아 유효한 외국인등록번호인지 검사.</p> + * + * + * @param 6자리 외국인등록앞번호 문자열 , 7자리 외국인등록뒷번호 문자열 + * @return 유효한 외국인등록번호인지 여부 (True/False) + */ + @SuppressWarnings("static-access") + public static boolean checkforeignNumber( String foreign1, String foreign2 ) { + + EgovDateUtil egovDateUtil = new EgovDateUtil(); + String foreignNumber = foreign1 + foreign2; + int check = 0; + + if( foreignNumber.length() != 13 ) //외국인등록번호의 길이가 맞는지 확인한다. + return false; + + for(int i=0; i < 13; i++){ + if (foreignNumber.charAt(i) < '0' || foreignNumber.charAt(i) > '9') //숫자가 아닌 값이 들어왔는지를 확인한다. + return false; + } + + if(Character.getNumericValue(foreignNumber.charAt(0)) == 0 || Character.getNumericValue(foreignNumber.charAt(0)) == 1){ + if(Character.getNumericValue(foreignNumber.charAt(6)) == 5 && Character.getNumericValue(foreignNumber.charAt(6)) == 6) return false; + String temp = "20" + foreignNumber.substring(0,6); + if(!egovDateUtil.checkDate(temp)) return false; + }else{ + if(Character.getNumericValue(foreignNumber.charAt(6)) == 5 && Character.getNumericValue(foreignNumber.charAt(6)) == 6) return false; + String temp = "19" + foreignNumber.substring(0,6); + if(!egovDateUtil.checkDate(temp)) return false; + } //외국인등록번호 앞자리 날짜유효성체크 & 성별구분 숫자 체크 + + for( int i = 0 ; i < 12 ; i++ ) { + check += ( ( 9 - i % 8 ) * Character.getNumericValue( foreignNumber.charAt( i ) ) ); + } + + if ( check % 11 == 0 ){ + check = 1; + }else if ( check % 11==10 ){ + check = 0; + }else + check = check % 11; + + if ( check + 2 > 9 ){ + check = check + 2- 10; + }else check = check+2; //검증식을 통합 값의 도출 + + if( check == Character.getNumericValue( foreignNumber.charAt( 12 ) ) ) //마지막 유효숫자와 검증식을 통한 값의 비교 + return true; + else + return false; + } + + + /** + * <p>XXXXXXXXXXXXX 형식의 13자리 외국인등록번호 1개를 입력 받아 유효한 외국인등록번호인지 검사.</p> + * + * + * @param 13자리 외국인등록번호 문자열 + * @return 유효한 외국인등록번호인지 여부 (True/False) + */ + public static boolean checkforeignNumber( String foreign ) { + + if(foreign.length() != 13) return false; + return checkforeignNumber(foreign.substring(0,6), foreign.substring(6,13)); + } +} + + Property changes on: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovNumberCheckUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormBasedFileUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormBasedFileUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormBasedFileUtil.java (revision 7) @@ -0,0 +1,298 @@ +package egovframework.com.utl.fcc.service; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Locale; + +import egovframework.com.cmm.EgovWebUtil; +import egovframework.com.cmm.util.EgovResourceCloseHelper; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.apache.commons.fileupload.FileItemIterator; +import org.apache.commons.fileupload.FileItemStream; +import org.apache.commons.fileupload.servlet.ServletFileUpload; +import org.apache.commons.fileupload.util.Streams; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @Class Name : EgovFormBasedFileUtil.java + * @Description : Form-based File Upload 유틸리티 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.08.26 한성곤 최초 생성 + * 2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + * 2019.12.09 신용호 KISA 보안약점 조치 (위험한 형식 파일 업로드) : uploadFiles 삭제 => EgovFileUploadUtil.uploadFilesExt(확장자 기록) 대체 + * + * @author 공통컴포넌트 개발팀 한성곤 + * @since 2009.08.26 + * @version 1.0 + * @see + */ +public class EgovFormBasedFileUtil { + /** Buffer size */ + public static final int BUFFER_SIZE = 8192; + + public static final String SEPERATOR = File.separator; + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovFormBasedFileUtil.class); + + /** + * 오늘 날짜 문자열 취득. + * ex) 20090101 + * @return + */ + public static String getTodayString() { + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd", Locale.getDefault()); + + return format.format(new Date()); + } + + /** + * 물리적 파일명 생성. + * @return + */ + public static String getPhysicalFileName() { + return EgovFormBasedUUID.randomUUID().toString().replaceAll("-", "").toUpperCase(); + } + + /** + * 파일명 변환. + * @param filename String + * @return + * @throws Exception + */ + protected static String convert(String filename) throws Exception { + //return java.net.URLEncoder.encode(filename, "utf-8"); + return filename; + } + + /** + * Stream으로부터 파일을 저장함. + * @param is InputStream + * @param file File + * @throws IOException + */ + public static long saveFile(InputStream is, File file) throws IOException { + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (file.getParentFile() == null) { + LOGGER.debug("file.getParentFile() is null"); + throw new RuntimeException("file.getParentFile() is null"); + } + + // 디렉토리 생성 + if (!file.getParentFile().exists()) { + //2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + if(file.getParentFile().mkdirs()){ + LOGGER.debug("[file.mkdirs] file : Directory Creation Success"); + }else{ + LOGGER.error("[file.mkdirs] file : Directory Creation Fail"); + } + } + + OutputStream os = null; + long size = 0L; + + try { + os = new FileOutputStream(file); + + int bytesRead = 0; + byte[] buffer = new byte[BUFFER_SIZE]; + + while ((bytesRead = is.read(buffer, 0, BUFFER_SIZE)) != -1) { + size += bytesRead; + os.write(buffer, 0, bytesRead); + } + } finally { + EgovResourceCloseHelper.close(os); + } + + return size; + } + + /** + * 파일을 Upload 처리한다. (삭제) + * EgovFileUploadUtil.uploadFilesExt(확장자 확인) 대체 + * + * @param request + * @param where + * @param maxFileSize + * @return + * @throws Exception + */ + /* + public static List<EgovFormBasedFileVo> uploadFiles(HttpServletRequest request, String where, long maxFileSize) throws Exception { + List<EgovFormBasedFileVo> list = new ArrayList<EgovFormBasedFileVo>(); + + // Check that we have a file upload request + boolean isMultipart = ServletFileUpload.isMultipartContent(request); + + if (isMultipart) { + // Create a new file upload handler + ServletFileUpload upload = new ServletFileUpload(); + upload.setFileSizeMax(maxFileSize); // SizeLimitExceededException + + // Parse the request + FileItemIterator iter = upload.getItemIterator(request); + while (iter.hasNext()) { + FileItemStream item = iter.next(); + String name = item.getFieldName(); + InputStream stream = item.openStream(); + if (item.isFormField()) { + LOGGER.info("Form field '{}' with value '{}' detected.", name, Streams.asString(stream)); + } else { + LOGGER.info("File field '{}' with file name '{}' detected.", name, item.getName()); + + if ("".equals(item.getName())) { + continue; + } + + // Process the input stream + EgovFormBasedFileVo vo = new EgovFormBasedFileVo(); + + String tmp = item.getName(); + + if (tmp.lastIndexOf("\\") >= 0) { + tmp = tmp.substring(tmp.lastIndexOf("\\") + 1); + } + + vo.setFileName(tmp); + vo.setContentType(item.getContentType()); + vo.setServerSubPath(getTodayString()); + vo.setPhysicalName(getPhysicalFileName()); + + if (tmp.lastIndexOf(".") >= 0) { + vo.setPhysicalName(vo.getPhysicalName() + tmp.substring(tmp.lastIndexOf("."))); + } + + long size = saveFile(stream, new File(EgovWebUtil.filePathBlackList(where) + SEPERATOR + vo.getServerSubPath() + SEPERATOR + vo.getPhysicalName())); + + vo.setSize(size); + + list.add(vo); + } + } + } else { + throw new IOException("form's 'enctype' attribute have to be 'multipart/form-data'"); + } + + return list; + }*/ + + /** + * 파일을 Download 처리한다. + * + * @param response + * @param where + * @param serverSubPath + * @param physicalName + * @param original + * @throws Exception + */ + public static void downloadFile(HttpServletResponse response, String where, String serverSubPath, String physicalName, String original) throws Exception { + String downFileName = where + SEPERATOR + serverSubPath + SEPERATOR + physicalName; + + File file = new File(EgovWebUtil.filePathBlackList(downFileName)); + + if (!file.exists()) { + throw new FileNotFoundException(downFileName); + } + + if (!file.isFile()) { + throw new FileNotFoundException(downFileName); + } + + byte[] b = new byte[BUFFER_SIZE]; + + original = original.replaceAll("\r", "").replaceAll("\n", ""); + response.setContentType("application/octet-stream"); + response.setHeader("Content-Disposition", "attachment; filename=\"" + convert(original) + "\";"); + response.setHeader("Content-Transfer-Encoding", "binary"); + response.setHeader("Pragma", "no-cache"); + response.setHeader("Expires", "0"); + + BufferedInputStream fin = null; + BufferedOutputStream outs = null; + + try { + fin = new BufferedInputStream(new FileInputStream(file)); + outs = new BufferedOutputStream(response.getOutputStream()); + + int read = 0; + + while ((read = fin.read(b)) != -1) { + outs.write(b, 0, read); + } + } finally { + EgovResourceCloseHelper.close(outs, fin); + } + } + + /** + * 이미지에 대한 미리보기 기능을 제공한다. + * + * mimeType의 경우는 JSP 상에서 다음과 같이 얻을 수 있다. + * getServletConfig().getServletContext().getMimeType(name); + * + * @param response + * @param where + * @param serverSubPath + * @param physicalName + * @param mimeType + * @throws Exception + */ + public static void viewFile(HttpServletResponse response, String where, String serverSubPath, String physicalName, String mimeTypeParam) throws Exception { + String mimeType = mimeTypeParam; + String downFileName = where + SEPERATOR + serverSubPath + SEPERATOR + physicalName; + + File file = new File(EgovWebUtil.filePathBlackList(downFileName)); + + if (!file.exists()) { + throw new FileNotFoundException(downFileName); + } + + if (!file.isFile()) { + throw new FileNotFoundException(downFileName); + } + + byte[] b = new byte[BUFFER_SIZE]; + + if (mimeType == null) { + mimeType = "application/octet-stream;"; + } + + response.setContentType(EgovWebUtil.removeCRLF(mimeType)); + response.setHeader("Content-Disposition", "filename=image;"); + + BufferedInputStream fin = null; + BufferedOutputStream outs = null; + + try { + fin = new BufferedInputStream(new FileInputStream(file)); + outs = new BufferedOutputStream(response.getOutputStream()); + + int read = 0; + + while ((read = fin.read(b)) != -1) { + outs.write(b, 0, read); + } + } finally { + EgovResourceCloseHelper.close(outs, fin); + } + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormBasedFileUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovNumberUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovNumberUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovNumberUtil.java (revision 7) @@ -0,0 +1,216 @@ +/** + * @Class Name : EgovNumberUtil.java + * @Description : 숫자 데이터 처리 관련 유틸리티 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.02.13 이삼섭 최초 생성 + * + * @author 공통 서비스 개발팀 이삼섭 + * @since 2009. 02. 13 + * @version 1.0 + * @see + * + */ + +package egovframework.com.utl.fcc.service; + +import java.security.SecureRandom; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; + +public class EgovNumberUtil { + + /** + * 특정숫자 집합에서 랜덤 숫자를 구하는 기능 시작숫자와 종료숫자 사이에서 구한 랜덤 숫자를 반환한다 + * + * @param startNum - 시작숫자 + * @param endNum - 종료숫자 + * @return 랜덤숫자 + * @see + */ + public static int getRandomNum(int startNum, int endNum) { + int randomNum = 0; + + // 랜덤 객체 생성 + SecureRandom rnd = new SecureRandom(); + + do { + // 종료숫자내에서 랜덤 숫자를 발생시킨다. + randomNum = rnd.nextInt(endNum + 1); + } while (randomNum < startNum); // 랜덤 숫자가 시작숫자보다 작을경우 다시 랜덤숫자를 발생시킨다. + + return randomNum; + } + + /** + * 특정 숫자 집합에서 특정 숫자가 있는지 체크하는 기능 12345678에서 7이 있는지 없는지 체크하는 기능을 제공함 + * + * @param sourceInt - 특정숫자집합 + * @param searchInt - 검색숫자 + * @return 존재여부 + * @see + */ + public static Boolean getNumSearchCheck(int sourceInt, int searchInt) { + String sourceStr = String.valueOf(sourceInt); + String searchStr = String.valueOf(searchInt); + + // 특정숫자가 존재하는지 하여 위치값을 리턴한다. 없을 시 -1 + if (sourceStr.indexOf(searchStr) == -1) { + return false; + } else { + return true; + } + } + + /** + * 숫자타입을 문자열로 변환하는 기능 숫자 20081212를 문자열 '20081212'로 변환하는 기능 + * + * @param srcNumber - 숫자 + * @return 문자열 + * @see + */ + public static String getNumToStrCnvr(int srcNumber) { + String rtnStr = null; + + rtnStr = String.valueOf(srcNumber); + + return rtnStr; + } + + /** + * 숫자타입을 데이트 타입으로 변환하는 기능 + * 숫자 20081212를 데이트타입 '2008-12-12'로 변환하는 기능 + * @param srcNumber - 숫자 + * @return String + * @see + */ + public static String getNumToDateCnvr(int srcNumber) { + + String pattern = null; + String cnvrStr = null; + + String srcStr = String.valueOf(srcNumber); + + // Date 형태인 8자리 및 14자리만 정상처리 + if (srcStr.length() != 8 && srcStr.length() != 14) { + throw new IllegalArgumentException("Invalid Number: " + srcStr + " Length=" + srcStr.trim().length()); + } + + if (srcStr.length() == 8) { + pattern = "yyyyMMdd"; + } else if (srcStr.length() == 14) { + pattern = "yyyyMMddhhmmss"; + } + + SimpleDateFormat dateFormatter = new SimpleDateFormat(pattern, Locale.KOREA); + + Date cnvrDate = null; + + try { + cnvrDate = dateFormatter.parse(srcStr); + } catch (ParseException e) { + throw new RuntimeException(e); + } + + cnvrStr = String.format("%1$tY-%1$tm-%1$td", cnvrDate); + + return cnvrStr; + + } + + /** + * 체크할 숫자 중에서 숫자인지 아닌지 체크하는 기능 + * 숫자이면 True, 아니면 False를 반환한다 + * @param checkStr - 체크문자열 + * @return 숫자여부 + * @see + */ + public static Boolean getNumberValidCheck(String checkStr) { + + int i; + //String sourceStr = String.valueOf(sourceInt); + + int checkStrLt = checkStr.length(); + + for (i = 0; i < checkStrLt; i++) { + + // 아스키코드값( '0'-> 48, '9' -> 57) + if (checkStr.charAt(i) > 47 && checkStr.charAt(i) < 58) { + continue; + } else { + return false; + } + } + + return true; + } + + /** + * 특정숫자를 다른 숫자로 치환하는 기능 숫자 12345678에서 123를 999로 변환하는 기능을 제공(99945678) + * + * @param srcNumber - 숫자집합 + * @param cnvrSrcNumber - 원래숫자 + * @param cnvrTrgtNumber - 치환숫자 + * @return 치환숫자 + * @see + */ + public static int getNumberCnvr(int srcNumber, int cnvrSrcNumber, int cnvrTrgtNumber) { + + // 입력받은 숫자를 문자열로 변환 + String source = String.valueOf(srcNumber); + String subject = String.valueOf(cnvrSrcNumber); + String object = String.valueOf(cnvrTrgtNumber); + + StringBuffer rtnStr = new StringBuffer(); + String preStr = ""; + String nextStr = source; + + // 원본숫자에서 변환대상숫자의 위치를 찾는다. + while (source.indexOf(subject) >= 0) { + preStr = source.substring(0, source.indexOf(subject)); // 변환대상숫자 위치까지 숫자를 잘라낸다 + nextStr = source.substring(source.indexOf(subject) + subject.length(), source.length()); + source = nextStr; + rtnStr.append(preStr).append(object); // 변환대상위치 숫자에 변환할 숫자를 붙여준다. + } + rtnStr.append(nextStr); // 변환대상 숫자 이후 숫자를 붙여준다. + + return Integer.parseInt(rtnStr.toString()); + } + + /** + * 특정숫자가 실수인지, 정수인지, 음수인지 체크하는 기능 123이 실수인지, 정수인지, 음수인지 체크하는 기능을 제공함 + * + * @param srcNumber - 숫자집합 + * @return -1(음수), 0(정수), 1(실수) + * @see + */ + public static int checkRlnoInteger(double srcNumber) { + + // byte 1바이트 ▶소수점이 없는 숫자로, 범위 -2^7 ~ 2^7 -1 + // short 2바이트 ▶소수점이 없는 숫자로, 범위 -2^15 ~ 2^15 -1 + // int 4바이트 ▶소수점이 없는 숫자로, 범위 -2^31 ~ 2^31 - 1 + // long 8바이트 ▶소수점이 없는 숫자로, 범위 -2^63 ~ 2^63-1 + + // float 4바이트 ▶소수점이 있는 숫자로, 끝에 F 또는 f 가 붙는 숫자 (예:3.14f) + // double 8바이트 ▶소수점이 있는 숫자로, 끝에 아무것도 붙지 않는 숫자 (예:3.14) + // ▶소수점이 있는 숫자로, 끝에 D 또는 d 가 붙는 숫자(예:3.14d) + + String cnvrString = null; + + if (srcNumber < 0) { + return -1; + } else { + cnvrString = String.valueOf(srcNumber); + + if (cnvrString.indexOf(".") == -1) { + return 0; + } else { + return 1; + } + } + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovNumberUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormBasedUUID.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormBasedUUID.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormBasedUUID.java (revision 7) @@ -0,0 +1,521 @@ +package egovframework.com.utl.fcc.service; + +import java.io.Serializable; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; +import java.security.SecureRandom; + +/** + * + * A class that represents an immutable universally unique identifier (UUID). A + * UUID represents a 128-bit value. + * + * <p> + * There exist different variants of these global identifiers. The methods of + * this class are for manipulating the Leach-Salz variant, although the + * constructors allow the creation of any variant of UUID (described below). + * + * <p> + * The layout of a variant 2 (Leach-Salz) UUID is as follows: + * + * The most significant long consists of the following unsigned fields: + * + * <pre> + * 0xFFFFFFFF00000000 time_low + * 0x00000000FFFF0000 time_mid + * 0x000000000000F000 version + * 0x0000000000000FFF time_hi + * </pre> + * + * The least significant long consists of the following unsigned fields: + * + * <pre> + * 0xC000000000000000 variant + * 0x3FFF000000000000 clock_seq + * 0x0000FFFFFFFFFFFF node + * </pre> + * + * <p> + * The variant field contains a value which identifies the layout of the + * <tt>UUID</tt>. The bit layout described above is valid only for a + * <tt>UUID</tt> with a variant value of 2, which indicates the Leach-Salz + * variant. + * + * <p> + * The version field holds a value that describes the type of this <tt>UUID</tt>. + * There are four different basic types of UUIDs: time-based, DCE security, + * name-based, and randomly generated UUIDs. These types have a version value of + * 1, 2, 3 and 4, respectively. + * + * <p> + * For more information including algorithms used to create <tt>UUID</tt>s, + * see the Internet-Draft <a + * href="http://www.ietf.org/internet-drafts/draft-mealling-uuid-urn-03.txt">UUIDs + * and GUIDs</a> or the standards body definition at <a + * href="http://www.iso.ch/cate/d2229.html">ISO/IEC 11578:1996</a>. + * + * @version 1.14, 07/12/04 + * @since 1.5 + */ +@SuppressWarnings("serial") +public class EgovFormBasedUUID implements Serializable { + /* + * The most significant 64 bits of this UUID. + * + * @serial + */ + private final long mostSigBits; + + /* + * The least significant 64 bits of this UUID. + * + * @serial + */ + private final long leastSigBits; + + /* + * The version number associated with this UUID. Computed on demand. + */ + private transient int version = -1; + + /* + * The variant number associated with this UUID. Computed on demand. + */ + private transient int variant = -1; + + /* + * The timestamp associated with this UUID. Computed on demand. + */ + private transient volatile long timestamp = -1; + + /* + * The clock sequence associated with this UUID. Computed on demand. + */ + private transient int sequence = -1; + + /* + * The node number associated with this UUID. Computed on demand. + */ + private transient long node = -1; + + /* + * The hashcode of this UUID. Computed on demand. + */ + private transient int hashCode = -1; + + /* + * The random number generator used by this class to create random based + * UUIDs. + */ + private static volatile SecureRandom numberGenerator = null; + + // Constructors and Factories + + /* + * Private constructor which uses a byte array to construct the new UUID. + */ + private EgovFormBasedUUID(byte[] data) { + long msb = 0; + long lsb = 0; + for (int i = 0; i < 8; i++) + msb = (msb << 8) | (data[i] & 0xff); + for (int i = 8; i < 16; i++) + lsb = (lsb << 8) | (data[i] & 0xff); + this.mostSigBits = msb; + this.leastSigBits = lsb; + } + + /** + * Constructs a new <tt>UUID</tt> using the specified data. + * <tt>mostSigBits</tt> is used for the most significant 64 bits of the + * <tt>UUID</tt> and <tt>leastSigBits</tt> becomes the least significant + * 64 bits of the <tt>UUID</tt>. + * + * @param mostSigBits + * @param leastSigBits + */ + public EgovFormBasedUUID(long mostSigBits, long leastSigBits) { + this.mostSigBits = mostSigBits; + this.leastSigBits = leastSigBits; + } + + /** + * Static factory to retrieve a type 4 (pseudo randomly generated) UUID. + * + * The <code>UUID</code> is generated using a cryptographically strong + * pseudo random number generator. + * + * @return a randomly generated <tt>UUID</tt>. + */ + public static EgovFormBasedUUID randomUUID() { + SecureRandom ng = numberGenerator; + if (ng == null) { + numberGenerator = ng = new SecureRandom(); + } + + byte[] randomBytes = new byte[16]; + ng.nextBytes(randomBytes); + randomBytes[6] &= 0x0f; /* clear version */ + randomBytes[6] |= 0x40; /* set to version 4 */ + randomBytes[8] &= 0x3f; /* clear variant */ + randomBytes[8] |= 0x80; /* set to IETF variant */ + + return new EgovFormBasedUUID(randomBytes); + } + + /** + * Static factory to retrieve a type 3 (name based) <tt>UUID</tt> based on + * the specified byte array. + * + * @param name + * a byte array to be used to construct a <tt>UUID</tt>. + * @return a <tt>UUID</tt> generated from the specified array. + */ + public static EgovFormBasedUUID nameUUIDFromBytes(byte[] name) { + MessageDigest md; + try { + // 2011.10.10 보안점검 후속조치 암호화 알고리즘 변경(MD5 -> SHA-256) + //md = MessageDigest.getInstance("MD5"); + md = MessageDigest.getInstance("SHA-256"); + } catch (NoSuchAlgorithmException nsae) { + //throw new InternalError("MD5 not supported"); + throw new InternalError("SHA-256 not supported"); + } + // 2011.10.10 보안점검 후속조치 + if (md == null) { + throw new RuntimeException("MessageDigest is null!!"); + } + // 2014.09.20 보안점검 후속 조치 + // Random 방식의 salt 추가 + SecureRandom ng = new SecureRandom(); + byte[] randomBytes = new byte[16]; + ng.nextBytes(randomBytes); + + md.reset(); + md.update(randomBytes); + byte[] sha = md.digest(name); + + + byte[] md5Bytes = new byte[8]; + System.arraycopy(sha, 0, md5Bytes, 0, 8); + //2011.10.10 보안점검 후속조치 끝 + + md5Bytes[6] &= 0x0f; /* clear version */ + md5Bytes[6] |= 0x30; /* set to version 3 */ + md5Bytes[8] &= 0x3f; /* clear variant */ + md5Bytes[8] |= 0x80; /* set to IETF variant */ + + return new EgovFormBasedUUID(md5Bytes); + } + + /** + * Creates a <tt>UUID</tt> from the string standard representation as + * described in the {@link #toString} method. + * + * @param name + * a string that specifies a <tt>UUID</tt>. + * @return a <tt>UUID</tt> with the specified value. + * @throws IllegalArgumentException + * if name does not conform to the string representation as + * described in {@link #toString}. + */ + public static EgovFormBasedUUID fromString(String name) { + String[] components = name.split("-"); + if (components.length != 5) + throw new IllegalArgumentException("Invalid UUID string: " + name); + for (int i = 0; i < 5; i++) + components[i] = "0x" + components[i]; + + long mostSigBits = Long.decode(components[0]).longValue(); + mostSigBits <<= 16; + mostSigBits |= Long.decode(components[1]).longValue(); + mostSigBits <<= 16; + mostSigBits |= Long.decode(components[2]).longValue(); + + long leastSigBits = Long.decode(components[3]).longValue(); + leastSigBits <<= 48; + leastSigBits |= Long.decode(components[4]).longValue(); + + return new EgovFormBasedUUID(mostSigBits, leastSigBits); + } + + // Field Accessor Methods + + /** + * Returns the least significant 64 bits of this UUID's 128 bit value. + * + * @return the least significant 64 bits of this UUID's 128 bit value. + */ + public long getLeastSignificantBits() { + return leastSigBits; + } + + /** + * Returns the most significant 64 bits of this UUID's 128 bit value. + * + * @return the most significant 64 bits of this UUID's 128 bit value. + */ + public long getMostSignificantBits() { + return mostSigBits; + } + + /** + * The version number associated with this <tt>UUID</tt>. The version + * number describes how this <tt>UUID</tt> was generated. + * + * The version number has the following meaning: + * <p> + * <ul> + * <li>1 Time-based UUID + * <li>2 DCE security UUID + * <li>3 Name-based UUID + * <li>4 Randomly generated UUID + * </ul> + * + * @return the version number of this <tt>UUID</tt>. + */ + public int version() { + if (version < 0) { + // Version is bits masked by 0x000000000000F000 in MS long + version = (int) ((mostSigBits >> 12) & 0x0f); + } + return version; + } + + /** + * The variant number associated with this <tt>UUID</tt>. The variant + * number describes the layout of the <tt>UUID</tt>. + * + * The variant number has the following meaning: + * <p> + * <ul> + * <li>0 Reserved for NCS backward compatibility + * <li>2 The Leach-Salz variant (used by this class) + * <li>6 Reserved, Microsoft Corporation backward compatibility + * <li>7 Reserved for future definition + * </ul> + * + * @return the variant number of this <tt>UUID</tt>. + */ + public int variant() { + if (variant < 0) { + // This field is composed of a varying number of bits + if ((leastSigBits >>> 63) == 0) { + variant = 0; + } else if ((leastSigBits >>> 62) == 2) { + variant = 2; + } else { + variant = (int) (leastSigBits >>> 61); + } + } + return variant; + } + + /** + * The timestamp value associated with this UUID. + * + * <p> + * The 60 bit timestamp value is constructed from the time_low, time_mid, + * and time_hi fields of this <tt>UUID</tt>. The resulting timestamp is + * measured in 100-nanosecond units since midnight, October 15, 1582 UTC. + * <p> + * + * The timestamp value is only meaningful in a time-based UUID, which has + * version type 1. If this <tt>UUID</tt> is not a time-based UUID then + * this method throws UnsupportedOperationException. + * + * @throws UnsupportedOperationException + * if this UUID is not a version 1 UUID. + */ + public long timestamp() { + if (version() != 1) { + throw new UnsupportedOperationException("Not a time-based UUID"); + } + long result = timestamp; + if (result < 0) { + result = (mostSigBits & 0x0000000000000FFFL) << 48; + result |= ((mostSigBits >> 16) & 0xFFFFL) << 32; + result |= mostSigBits >>> 32; + timestamp = result; + } + return result; + } + + /** + * The clock sequence value associated with this UUID. + * + * <p> + * The 14 bit clock sequence value is constructed from the clock sequence + * field of this UUID. The clock sequence field is used to guarantee + * temporal uniqueness in a time-based UUID. + * <p> + * + * The clockSequence value is only meaningful in a time-based UUID, which + * has version type 1. If this UUID is not a time-based UUID then this + * method throws UnsupportedOperationException. + * + * @return the clock sequence of this <tt>UUID</tt>. + * @throws UnsupportedOperationException + * if this UUID is not a version 1 UUID. + */ + public int clockSequence() { + if (version() != 1) { + throw new UnsupportedOperationException("Not a time-based UUID"); + } + if (sequence < 0) { + sequence = (int) ((leastSigBits & 0x3FFF000000000000L) >>> 48); + } + return sequence; + } + + /** + * The node value associated with this UUID. + * + * <p> + * The 48 bit node value is constructed from the node field of this UUID. + * This field is intended to hold the IEEE 802 address of the machine that + * generated this UUID to guarantee spatial uniqueness. + * <p> + * + * The node value is only meaningful in a time-based UUID, which has version + * type 1. If this UUID is not a time-based UUID then this method throws + * UnsupportedOperationException. + * + * @return the node value of this <tt>UUID</tt>. + * @throws UnsupportedOperationException + * if this UUID is not a version 1 UUID. + */ + public long node() { + if (version() != 1) { + throw new UnsupportedOperationException("Not a time-based UUID"); + } + if (node < 0) { + node = leastSigBits & 0x0000FFFFFFFFFFFFL; + } + return node; + } + + // Object Inherited Methods + + /** + * Returns a <code>String</code> object representing this + * <code>UUID</code>. + * + * <p> + * The UUID string representation is as described by this BNF : + * + * <pre> + * UUID = &lt;time_low&gt; &quot;-&quot; &lt;time_mid&gt; &quot;-&quot; + * &lt;time_high_and_version&gt; &quot;-&quot; + * &lt;variant_and_sequence&gt; &quot;-&quot; + * &lt;node&gt; + * time_low = 4*&lt;hexOctet&gt; + * time_mid = 2*&lt;hexOctet&gt; + * time_high_and_version = 2*&lt;hexOctet&gt; + * variant_and_sequence = 2*&lt;hexOctet&gt; + * node = 6*&lt;hexOctet&gt; + * hexOctet = &lt;hexDigit&gt;&lt;hexDigit&gt; + * hexDigit = + * &quot;0&quot; | &quot;1&quot; | &quot;2&quot; | &quot;3&quot; | &quot;4&quot; | &quot;5&quot; | &quot;6&quot; | &quot;7&quot; | &quot;8&quot; | &quot;9&quot; + * | &quot;a&quot; | &quot;b&quot; | &quot;c&quot; | &quot;d&quot; | &quot;e&quot; | &quot;f&quot; + * | &quot;A&quot; | &quot;B&quot; | &quot;C&quot; | &quot;D&quot; | &quot;E&quot; | &quot;F&quot; + * </pre> + * + * @return a string representation of this <tt>UUID</tt>. + */ + @Override + public String toString() { + return (digits(mostSigBits >> 32, 8) + "-" + + digits(mostSigBits >> 16, 4) + "-" + digits(mostSigBits, 4) + + "-" + digits(leastSigBits >> 48, 4) + "-" + digits( + leastSigBits, 12)); + } + + /** Returns val represented by the specified number of hex digits. */ + private static String digits(long val, int digits) { + long hi = 1L << (digits * 4); + return Long.toHexString(hi | (val & (hi - 1))).substring(1); + } + + /** + * Returns a hash code for this <code>UUID</code>. + * + * @return a hash code value for this <tt>UUID</tt>. + */ + @Override + public int hashCode() { + if (hashCode == -1) { + hashCode = (int) ((mostSigBits >> 32) ^ mostSigBits + ^ (leastSigBits >> 32) ^ leastSigBits); + } + return hashCode; + } + + /** + * Compares this object to the specified object. The result is <tt>true</tt> + * if and only if the argument is not <tt>null</tt>, is a <tt>UUID</tt> + * object, has the same variant, and contains the same value, bit for bit, + * as this <tt>UUID</tt>. + * + * @param obj + * the object to compare with. + * @return <code>true</code> if the objects are the same; + * <code>false</code> otherwise. + */ + @Override + public boolean equals(Object obj) { + // 보안 취약점 점검 지적사항 반영 시작 + if (obj == null) + return false; + // 보안 취약점 점검 지적사항 반영 시작 끝 + if (!(obj instanceof EgovFormBasedUUID)) + return false; + if (((EgovFormBasedUUID) obj).variant() != this.variant()) + return false; + EgovFormBasedUUID id = (EgovFormBasedUUID) obj; + return (mostSigBits == id.mostSigBits && leastSigBits == id.leastSigBits); + } + + // Comparison Operations + + /** + * Compares this UUID with the specified UUID. + * + * <p> + * The first of two UUIDs follows the second if the most significant field + * in which the UUIDs differ is greater for the first UUID. + * + * @param val + * <tt>UUID</tt> to which this <tt>UUID</tt> is to be + * compared. + * @return -1, 0 or 1 as this <tt>UUID</tt> is less than, equal to, or + * greater than <tt>val</tt>. + */ + public int compareTo(EgovFormBasedUUID val) { + // The ordering is intentionally set up so that the UUIDs + // can simply be numerically compared as two numbers + return (this.mostSigBits < val.mostSigBits ? -1 + : (this.mostSigBits > val.mostSigBits ? 1 + : (this.leastSigBits < val.leastSigBits ? -1 + : (this.leastSigBits > val.leastSigBits ? 1 : 0)))); + } + + /** + * Reconstitute the <tt>UUID</tt> instance from a stream (that is, + * deserialize it). This is necessary to set the transient fields to their + * correct uninitialized value so they will be recomputed on demand. + */ + private void readObject(java.io.ObjectInputStream in) + throws java.io.IOException, ClassNotFoundException { + + in.defaultReadObject(); + + // Set "cached computation" fields to their initial values + version = -1; + variant = -1; + timestamp = -1; + sequence = -1; + node = -1; + hashCode = -1; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/utl/fcc/service/EgovFormBasedUUID.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/jso/web/EgovUtlJsonController.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/jso/web/EgovUtlJsonController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/jso/web/EgovUtlJsonController.java (revision 7) @@ -0,0 +1,126 @@ +package egovframework.com.utl.jso.web; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.annotation.Resource; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.servlet.ModelAndView; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.service.EgovCmmUseService; +import egovframework.rte.fdl.property.EgovPropertyService; + +/** + * 요소기술 json 관한 controller 클래스를 정의한다. + * @author 2016 표준프레임웤크 유지보수 장동한 + * @since 2016.07.14 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2016.07.14 장동한 최초 생성 + * + * </pre> + */ + + +@Controller +public class EgovUtlJsonController { + + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + @Resource(name = "EgovCmmUseService") + EgovCmmUseService egovCmmUseService; + + /** EgovPropertyService */ + @Resource(name = "propertiesService") + protected EgovPropertyService propertiesService; + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovUtlJsonController.class); + + /** + * json 단건조회 + * @return String + * @exception Exception + */ + @RequestMapping(value="/utl/jso/EgovUtlJsonInquire.do",method = RequestMethod.GET) + public String selectUtlJsonInquire() throws Exception { + return "egovframework/com/utl/jso/EgovUtlJsonInquire"; + } + + @RequestMapping(value="/utl/jso/EgovUtlJsonInquire.do",method = RequestMethod.POST) + public ModelAndView selectUtlJsonInquirePost(@RequestParam Map<?, ?> commandMap) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + LOGGER.debug("EgovUtlJsonController EgovUtlJsonInquire START========="); + + LOGGER.debug("commandMap>"+commandMap); + + modelAndView.addObject("fruits1", "apple"); + modelAndView.addObject("fruits2", "orange"); + modelAndView.addObject("fruits3", "lemon"); + modelAndView.addObject("fruits4", "lime"); + modelAndView.addObject("fruits5", "mango"); + + LOGGER.debug("EgovUtlJsonController EgovUtlJsonInquire END========="); + + return modelAndView; + } + /** + * json 다건조회 + * @return String + * @exception Exception + */ + @RequestMapping(value="/utl/jso/EgovUtlJsonMultiInquire.do",method = RequestMethod.GET) + public String selectUtlJsonMultiInquire(@RequestParam Map<?, ?> commandMap) throws Exception { + return "egovframework/com/utl/jso/EgovUtlJsonMultiInquire"; + } + @RequestMapping(value="/utl/jso/EgovUtlJsonMultiInquire.do",method = RequestMethod.POST) + public ModelAndView selectUtlJsonMultiInquirePost(@RequestParam Map<?, ?> commandMap) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + LOGGER.debug("EgovUtlJsonController selectUtlJsonMultiInquire START========="); + + LOGGER.debug("commandMap>"+commandMap); + + modelAndView.addObject("fruits1", "apple"); + modelAndView.addObject("fruits2", "orange"); + modelAndView.addObject("fruits3", "lemon"); + modelAndView.addObject("fruits4", "lime"); + modelAndView.addObject("fruits5", "mango"); + + HashMap<String,String> mp = new HashMap<String,String>(); + mp.put("fruits1", "apple"); + mp.put("fruits2", "orange"); + mp.put("fruits3", "lemon"); + mp.put("fruits4", "lime"); + mp.put("fruits5", "mango"); + + List<HashMap> list = new ArrayList<HashMap>(); + list.add(mp); + list.add(mp); + list.add(mp); + list.add(mp); + list.add(mp); + + modelAndView.addObject("list", list); + LOGGER.debug("EgovUtlJsonController selectUtlJsonMultiInquire END========="); + + return modelAndView; + } + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/utl/jso/web/EgovUtlJsonController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovPdfCnvr.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sim/service/EgovPdfCnvr.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sim/service/EgovPdfCnvr.java (revision 7) @@ -0,0 +1,164 @@ +/** + * Class Name : EgovPdfCnvr.java + * Description : xls,doc,ppt를 Pdf로 변환하는 화면 Business Interface class + * Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.02.02 이 용 최초 생성 + * 2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + * + * @author 공통 서비스 개발팀 이 용 + * @since 2009. 02. 02 + * @version 1.0 + * @see + * The type com.sun.star.lang.XeventListener cannot be resolved. It is indirectly referenced from required .class files + * Copyright (C) 2009 by EGOV All right reserved. + */ + +package egovframework.com.utl.sim.service; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Iterator; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.util.WebUtils; + +import com.artofsolving.jodconverter.DocumentConverter; +import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection; +import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter; + +import egovframework.com.cmm.EgovWebUtil; +import egovframework.com.cmm.service.EgovProperties; +import egovframework.com.cmm.util.EgovBasicLogger; +import egovframework.com.cmm.util.EgovResourceCloseHelper; +import egovframework.com.utl.fcc.service.EgovStringUtil; + +public class EgovPdfCnvr { + public static String addrIP = ""; + static final char FILE_SEPARATOR = File.separatorChar; + // 최대 문자길이 + static final int MAX_STR_LEN = 1024; + + public static final int BUFF_SIZE = 2048; + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovPdfCnvr.class); + + /** + * <pre> + * Comment : doc, xls 파일등을 PDF변환 변환한다. . + * </pre> + * @param String pdfFileSrc doc, xls 파일 전체경로 + * @param String targetPdf 변환파일명(확장자 제외) + * @return boolean status true/false 를 리턴한다. + * @version 1.0 (2009.02.10) + * @see + */ + public static boolean getPDF(String targetPdf, HttpServletRequest request, HttpServletResponse response) throws Exception { + boolean status = false; + + try { + //MultipartHttpServletRequest mptRequest = (MultipartHttpServletRequest) request; + MultipartHttpServletRequest mptRequest = WebUtils.getNativeRequest(request,MultipartHttpServletRequest.class); + Iterator<String> file_iter = mptRequest.getFileNames(); + + while (file_iter.hasNext()) { + MultipartFile mFile = mptRequest.getFile((String) file_iter.next()); + + if (mFile.getSize() > 0) { + + //Write File 이후 Move File???? + String newName = ""; + String stordFilePath = EgovProperties.getProperty("Globals.fileStorePath"); + + //String orginFileName = mFile.getOriginalFilename(); + //int index = orginFileName.lastIndexOf("."); + //String fileExt = orginFileName.substring(index + 1); + + //newName 은 Naming Convention에 의해서 생성 + newName = EgovStringUtil.getTimeStamp(); + writeFile(mFile, newName, stordFilePath); + + String pdfFileSrcValue = stordFilePath.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File inputFile = new File(EgovWebUtil.filePathBlackList(pdfFileSrcValue + newName)); + + if (inputFile.exists()) { + // connect to an OpenOffice.org instance running on port 8100 + SocketOpenOfficeConnection connection = new SocketOpenOfficeConnection(8100); + connection.connect(); + //원본 디렉토리에 targetPdf 명칭지정 + String valueFile = null; + //KISA 보안약점 조치 (2018-10-29, 윤창원) + valueFile = EgovStringUtil.isNullToString(inputFile.getParent()).replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File outputFile = new File(valueFile + "/" + targetPdf + ".pdf"); + // convert + DocumentConverter converter = new OpenOfficeDocumentConverter(connection); + converter.convert(inputFile, outputFile); + // close the connection + connection.disconnect(); + + if (inputFile.exists()) { + //3. 삭제해줍니다. + status = inputFile.delete(); + } + status = true; + } else { + status = false; + } + } + } + } catch (IOException ex) { + EgovBasicLogger.debug("PDF converting error", ex); + + status = false; + } + // 메소드 종료 Log + return status; + } + + /** + * 파일을 실제 물리적인 경로에 생성한다. + * @param file + * @param newName + * @param stordFilePath + * @throws Exception + */ + protected static void writeFile(MultipartFile file, String newName, String stordFilePath) throws IOException { + InputStream stream = null; + OutputStream bos = null; + + try { + stream = file.getInputStream(); + File cFile = new File(EgovWebUtil.filePathBlackList(stordFilePath)); + + if (!cFile.isDirectory()) + //2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + if(cFile.mkdirs()){ + LOGGER.debug("[file.mkdirs] targetDir : Directory Creation Success"); + }else{ + LOGGER.error("[file.mkdirs] targetDir : Directory Creation Fail"); + } + bos = new FileOutputStream(EgovWebUtil.filePathBlackList(stordFilePath + File.separator + newName)); + + int bytesRead = 0; + byte[] buffer = new byte[BUFF_SIZE]; + + while ((bytesRead = stream.read(buffer, 0, BUFF_SIZE)) != -1) { + bos.write(buffer, 0, bytesRead); + } + + } finally { + EgovResourceCloseHelper.close(bos, stream); + } + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovPdfCnvr.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileTool.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileTool.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileTool.java (revision 7) @@ -0,0 +1,2943 @@ +/** + * Class Name : EgovFileTool.java + * Description : 시스템 디렉토리 정보를 확인하여 제공하는 Business class + * Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.01.13 조재영 최초 생성 + * 2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + * 2017.03.03 조성원 시큐어코딩(ES)-Null Pointer 역참조[CWE-476] + * 2018.03.19 신용호 createDirectories() 추가 : 여러 레벨의 디렉토리를 한번에 생성 + * + * + * @author 공통 서비스 개발팀 조재영,박지욱 + * @since 2009. 01. 13 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +package egovframework.com.utl.sim.service; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.StringReader; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.List; +import java.util.Vector; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import egovframework.com.cmm.EgovWebUtil; +import egovframework.com.cmm.service.EgovProperties; +import egovframework.com.cmm.service.Globals; +import egovframework.com.cmm.util.EgovResourceCloseHelper; +import egovframework.com.utl.fcc.service.EgovStringUtil; + +/** + * EgovFileTool 클래스를 정의한다. + * + * @author 김진만 + * @see + * <pre> + * == 개정이력(Modification Information) == + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2020.12.07 신용호 KISA 보안약점 조치 + * + * </pre> + */ + +public class EgovFileTool { + + // 파일사이즈 1K + static final long BUFFER_SIZE = 1024L; + // 파일구분자 + static final char FILE_SEPARATOR = File.separatorChar; + // 윈도우시스템 파일 접근권한 + static final char ACCESS_READ = 'R'; // 읽기전용 + static final char ACCESS_SYS = 'S'; // 시스템 + static final char ACCESS_HIDE = 'H'; // 숨김 + // 최대 문자길이 + static final int MAX_STR_LEN = 1024; + + // LOGGER + private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileTool.class); + + /** + * <pre> + * Comment : 디렉토리 존재여부를 확인한다. (단일디렉토리 확인용) + * </pre> + * + * @param String targetDirPath 존재여부를 확인할 디렉토리의 절대경로 + * @return String result 존재하는 디렉토리 경로를 리턴한다. + */ + public static boolean getExistDirectory(String targetDirPath) throws Exception { + + // 인자값 유효하지 않은 경우 공백 리턴 + if (targetDirPath == null || targetDirPath.equals("")) { + return false; + } + + boolean result = false; + File f = new File(EgovWebUtil.filePathBlackList(targetDirPath)); + if (f.exists() && f.isDirectory()) { + result = true; + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리 존재여부를 확인한다. (하위디렉토리 확인용) + * </pre> + * + * @param String baseDirPath 존재여부를 확인할 디렉토리명의 기준경로 + * @param String targetDirPath 확인할 대상 디렉토리. baseDirPath 하위에서 존재여부를 확인한다. + * @param int cnt 확인할 디렉토리 갯수 (0보다 큰값이 입력되어야 한다. -1 입력시 21474846까지 찾도록 지원함 ) + * @return String result 존재하는 디렉토리 경로를 리턴한다. + */ + public static List<String> getExistDirectory(String baseDirPath, String targetDirPath, int cnt) throws Exception { + + // 인자값 유효하지 않은 경우 빈 ArrayList 리턴 + if (baseDirPath == null || baseDirPath.equals("") || targetDirPath == null || targetDirPath.equals("") || cnt == 0) { + return new ArrayList<String>(); + } + int dirCnt = 0; + if (cnt < 0) { + dirCnt = 21474846; + } else { + dirCnt = cnt; + } + + // 찾은 결과를 전달할 ArrayList + List<String> result = new ArrayList<String>(); + // 하위의 결과를 임시 보관할 ArrayList + List<String> subResult = new ArrayList<String>(); + // 현재경로(baseDirPath)에서 발견된 targetDirPath 갯수 + int dirFindCnt = 0; + boolean isExist = false; + String[] dirList = null; + String subDirPath = ""; + File f = null; + + f = new File(EgovWebUtil.filePathBlackList(baseDirPath)); + isExist = f.exists(); + + if (isExist) { + dirList = f.list(); + } + + for (int i = 0; dirList != null && i < dirList.length; i++) { + //log.debug("dirList["+i+"]:"+dirList[i] +"--->"+baseDirPath+"/"+dirList[i]); + subDirPath = baseDirPath + "/" + dirList[i]; + //log.debug("_"+targetDirPath+"_"); + //log.debug("_"+dirList[i]+"_"); + + f = new File(EgovWebUtil.filePathBlackList(subDirPath)); + + //현재경로(baseDirPath)에서 검색 + if (targetDirPath.equals(dirList[i])) { + // 중간에 발견하면 반복체크는 종료한다.(결과요청 갯수에 도달한 경우에 한해) - 이곳에서 종료되면 이후 하위에서 체크할 필요가 없다. + if (new File(EgovWebUtil.filePathBlackList(baseDirPath) + "/" + dirList[i]).isDirectory()) { + dirFindCnt++; + result.add(baseDirPath + "/" + dirList[i]); + if (dirFindCnt == dirCnt) { + break; + } + } + } + + //현재경로(baseDirPath)에서 발견된 하위 경로에서 반복하여 재귀적으로 검색 + int subCnt = dirCnt - dirFindCnt; + if (f.isDirectory()) { + //log.debug("f.isDirectory():"+f.isDirectory()); + subResult = getExistDirectory(subDirPath, targetDirPath, subCnt); + // 하위에서 발견된 디렉토리 갯수를 현재까지 찾은 디렉토리갯수에 추가한다. + dirFindCnt = dirFindCnt + subResult.size(); + // 하위에서 모두 발견된 경우 반복 체크는 종료한다. + if (dirCnt <= dirFindCnt) { + for (int j = 0; j < subResult.size(); j++) { + result.add((String) subResult.get(j)); + } + + break; + } else { + for (int j = 0; j < subResult.size(); j++) { + result.add((String) subResult.get(j)); + } + } + } + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리 존재여부를 확인한다. (생성일자를 조건으로 조건구간내 포함되는지 확인) + * </pre> + * + * @param String targetDirPath 존재여부를 확인할 디렉토리의 절대경로 + * @param String fromDate 생성일자 조건에 해당하는 시작일자(YYYYMMDD 형태로 입력) + * @param String toDate 생성일자 조건에 해당하는 종료일자(YYYYMMDD 형태로 입력) + * @return String result 존재하는 디렉토리 경로를 리턴한다. + */ + public static boolean getExistDirectory(String targetDirPath, String fromDate, String toDate) throws Exception { + + // 인자값 유효하지 않은 경우 공백 리턴 + if (targetDirPath == null || targetDirPath.equals("") || fromDate == null || fromDate.equals("") || toDate == null || toDate.equals("")) { + return false; + } + + boolean result = false; + String lastModifyedDate = ""; + File f = null; + + f = new File(EgovWebUtil.filePathBlackList(targetDirPath)); + lastModifyedDate = getLastModifiedDateFromFile(f); + //log.debug("getLastModifiedDateFromFile(f):"+lastModifyedDate); + if (Integer.parseInt(lastModifyedDate) >= Integer.parseInt(fromDate) && Integer.parseInt(lastModifyedDate) <= Integer.parseInt(toDate)) { + result = true; + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리 존재여부를 확인한다. (생성자를 조건으로 일치하는지 확인) + * </pre> + * + * @param String targetDirPath 존재여부를 확인할 디렉토리의 절대경로 + * @param String ownerName 생성자명(계정정보) + * @return String result 존재하는 디렉토리 경로를 리턴한다. + */ + public static boolean getExistDirectory(String targetDirPath, String ownerName) throws Exception { + + // 인자값 유효하지 않은 경우 공백 리턴 + if (targetDirPath == null || targetDirPath.equals("") || ownerName == null || ownerName.equals("")) { + return false; + } + + boolean result = false; + //String tmp = ""; + + // 실행할 명령을 프로퍼티 파일에서 확인한다. + //Process p = null; + + String realOwner = getOwner(targetDirPath); + if (ownerName.equals(realOwner)) { + result = true; + } else { + result = false; + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리(파일)의 최종 수정일자를 확인한다. (기본로케일 java.util.Locale.KOREA 기준) + * </pre> + * + * @param File f 수정일자를 확인할 대상파일 + * @return String result 최종수정일자를 문자열로 리턴한다. + */ + public static String getLastModifiedDateFromFile(File f) { + + String result = ""; + + if (f.exists()) { + long date = f.lastModified(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd", java.util.Locale.KOREA); + result = dateFormat.format(new java.util.Date(date)); + } else { + result = ""; + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리(파일)의 최종 수정일자를 확인한다. (기본로케일 java.util.Locale.KOREA 기준) + * </pre> + * + * @param String filePath 수정일자를 확인할 대상파일경로 + * @return String result 최종수정일자를 문자열로 리턴한다. + */ + public static String getLastModifiedDateFromFile(String filePath) { + + File f = null; + String result = ""; + f = new File(EgovWebUtil.filePathBlackList(filePath)); + result = getLastModifiedDateFromFile(f); + + return result; + } + + /** + * <pre> + * Comment : 조건구간내에 생성된 디렉토리 목록을 조회한다. + * </pre> + * + * @param String filePath 하위디렉토리를 확인할 경로 + * @param String fromDate 조건시작일 + * @param String toDate 조건 종료일 + * @return ArrayList result 조건구간내에 생성된 디렉토리 목록을 리턴한다. + */ + public static List<String> getLastDirectoryForModifiedDate(String baseDirPath, String fromDate, String toDate) { + + // 인자값 유효하지 않은 경우 빈 ArrayList 리턴 + if (baseDirPath == null || baseDirPath.equals("") || fromDate == null || fromDate.equals("") || toDate == null || toDate.equals("")) { + return new ArrayList<String>(); + } + + File f = null; + File childFile = null; + String[] subDirList; + String subDirPath = ""; + List<String> childResult = null; + List<String> result = new ArrayList<String>(); + + f = new File(EgovWebUtil.filePathBlackList(baseDirPath)); + subDirList = f.list(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (subDirList != null) { + for (int i = 0; i < subDirList.length; i++) { + + subDirPath = baseDirPath + "/" + subDirList[i]; + childFile = new File(EgovWebUtil.filePathBlackList(subDirPath)); + if (childFile.isDirectory()) { + //childResult = getLastDirectoryForModifiedDate(subDirPath , fromDate, toDate); + String lastModifyedDate = getLastModifiedDateFromFile(childFile); + if (Integer.parseInt(lastModifyedDate) >= Integer.parseInt(fromDate) && Integer.parseInt(lastModifyedDate) <= Integer.parseInt(toDate)) { + result.add(baseDirPath + "/" + subDirList[i]); + } + childResult = getLastDirectoryForModifiedDate(baseDirPath + "/" + subDirList[i], fromDate, toDate); + // 하위디렉토리의 결과를 추가한다. + for (int j = 0; j < childResult.size(); j++) { + result.add((String) childResult.get(j)); + } + } + } + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리(파일)의 읽기권한을 확인한다. + * </pre> + * + * @param String filePath 읽기권한을 확인할 대상파일경로 + * @return boolean result 읽기가능하면 true를 리턴한다. 권한이 없어가 파일이 없는 경우는 false를 리턴한다. + */ + public static boolean canRead(String filePath) { + + // 인자값 유효하지 않은 경우 빈 false 리턴 + if (filePath == null || filePath.equals("")) { + return false; + } + + File f = null; + boolean result = false; + f = new File(EgovWebUtil.filePathBlackList(filePath)); + if (f.exists()) { + result = f.canRead(); + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리(파일)의 쓰기권한을 확인한다.(대상경로가 파일인 경우만 정보가 유효함) + * </pre> + * + * @param String filePath 쓰기권한을 확인할 대상파일경로 + * @return boolean result 쓰기가능하면 true를 리턴한다. 권한이 없어가 파일이 없는 경우는 false를 리턴한다. + */ + public static boolean canWrite(String filePath) { + + // 인자값 유효하지 않은 경우 빈 false 리턴 + if (filePath == null || filePath.equals("")) { + return false; + } + + File f = null; + boolean result = false; + f = new File(EgovWebUtil.filePathBlackList(filePath)); + if (f.exists()) { + result = f.canWrite(); + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리(파일)의 이름을 확인한다. + * </pre> + * + * @param String filePath 이름을 확인할 대상경로 + * @return String result 이름을 리턴한다. 존재하지 않는 경우는 블랭크를 리턴한다. + */ + public static String getName(String filePath) { + + // 인자값 유효하지 않은 경우 빈 false 리턴 + if (filePath == null || filePath.equals("")) { + return ""; + } + + File f = null; + String result = ""; + + f = new File(EgovWebUtil.filePathBlackList(filePath)); + if (f.exists()) { + result = f.getName(); + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리(파일)를 삭제한다. (파일,디렉토리 구분없이 존재하는 경우 무조건 삭제한다) + * </pre> + * + * @param filePathToBeDeleted 삭제하고자 하는 파일의 절대경로 + 파일명 + * @return 성공하면 삭제된 절대경로, 아니면블랭크 + */ + + public static String deletePath(String filePath) { + File file = new File(EgovWebUtil.filePathBlackList(filePath)); + String result = ""; + + if (file.exists()) { + result = file.getAbsolutePath(); + if (!file.delete()) { + result = ""; + } + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리를 생성한다. + * </pre> + * + * @param dirPath 생성하고자 하는 절대경로 + * @return 성공하면 생성된 절대경로, 아니면 블랭크 + */ + + public static String createDirectory(String dirPath) { + File file = new File(EgovWebUtil.filePathBlackList(dirPath)); + String result = ""; + try { + if (!file.exists()) { + //2017.02.08 이정은 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + if(file.createNewFile()){ + LOGGER.debug("[file.createNewFile] file : Path Creation Success"); + }else{ + LOGGER.error("[file.createNewFile] file : Path Creation Fail"); + } + file.getAbsolutePath(); + } + + } catch (IOException e) { + throw new RuntimeException(e); + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리를 생성한다. (여러 레벨의 경로를 동시에 생성) + * </pre> + * + * @param dirPath 생성하고자 하는 절대경로 + * @return 성공하면 생성된 절대경로, 아니면 블랭크 + */ + public static String createDirectories(String dirPath) { + File file = new File(EgovWebUtil.filePathBlackList(dirPath)); + String result = ""; + + if (!file.exists()) { + if(file.mkdirs()) { + LOGGER.debug("[file.mkdirs] file : Path Creation Success"); + }else{ + LOGGER.error("[file.mkdirs] file : Path Creation Fail"); + } + file.getAbsolutePath(); + } + + return result; + } + + /** + * 디렉토리에 파일이 존재하는지 체크하는 기능 + * + * @param String dir 디렉토리 + * @param String file 파일 + * @return boolean result 존재여부 True / False + * @exception Exception + */ + public static boolean checkFileExstByName(String dir, String file) throws Exception { + + // 파일 존재 여부 + boolean result = false; + + // 디렉토리 오픈 + String drctry = dir.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcDrctry = new File(EgovWebUtil.filePathBlackList(drctry)); + + // 디렉토리이면서, 존재하면 + if (srcDrctry.exists() && srcDrctry.isDirectory()) { + + // 디렉토리 안 목록을 조회한다. (파일명) + File[] fileArray = srcDrctry.listFiles(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (fileArray != null) { + List<String> list = getSubFilesByName(fileArray, file); + if (list != null && list.size() > 0) { + result = true; + } + } + } + + return result; + } + + /** + * 확장자별로 디렉토리에 파일이 존재하는지 체크하는 기능 + * + * @param String dir 디렉토리 + * @param String eventn 확장자명(.txt 형태 입력) + * @return boolean result 존재여부 True / False + * @exception Exception + */ + public static boolean checkFileExstByExtnt(String dir, String eventn) throws Exception { + + // 파일 존재 여부 + boolean result = false; + + // 디렉토리 오픈 + String drctry = dir.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcDrctry = new File(EgovWebUtil.filePathBlackList(drctry)); + + // 디렉토리이면서, 존재하면 + if (srcDrctry.exists() && srcDrctry.isDirectory()) { + + // 디렉토리 안 목록을 조회한다. (확장자별) + File[] fileArray = srcDrctry.listFiles(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (fileArray != null) { + List<String> list = getSubFilesByExtnt(fileArray, eventn); + if (list != null && list.size() > 0) { + result = true; + } + } + } + + return result; + } + + /** + * 디렉토리에 생성자별 파일이 존재하는지 체크하는 기능 + * + * @param String dir 디렉토리 + * @param String owner 생성자 + * @return boolean result 존재여부 True / False + * @exception Exception + */ + public static boolean checkFileExstByOwner(String dir, String owner) throws Exception { + + // 파일 존재 여부 + boolean result = false; + + // 디렉토리 오픈 + String drctry = dir.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcDrctry = new File(EgovWebUtil.filePathBlackList(drctry)); + + // 디렉토리이면서, 존재하면 + if (srcDrctry.exists() && srcDrctry.isDirectory()) { + + // 디렉토리 안 목록을 조회한다. (생성자) + File[] fileArray = srcDrctry.listFiles(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (fileArray != null) { + List<String> list = getSubFilesByOwner(fileArray, owner); + if (list != null && list.size() > 0) { + result = true; + } + } + } + + return result; + } + + /** + * 수정기간별로 디렉토리에 파일이 존재하는지 체크하는 기능 + * + * @param String dir 디렉토리 + * @param String updtFrom 수정일자From(YYYYMMDD 형태로 입력) + * @param String updtTo 수정일자To(YYYYMMDD 형태로 입력) + * @return boolean result 존재여부 True / False + * @exception Exception + */ + public static boolean checkFileExstByUpdtPd(String dir, String updtFrom, String updtTo) throws Exception { + + // 파일 존재 여부 + boolean result = false; + + // 디렉토리 오픈 + String drctry = dir.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcDrctry = new File(EgovWebUtil.filePathBlackList(drctry)); + + // 디렉토리이면서, 존재하면 + if (srcDrctry.exists() && srcDrctry.isDirectory()) { + + // 디렉토리 안 목록을 조회한다. (수정기간별) + File[] fileArray = srcDrctry.listFiles(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (fileArray != null) { + List<String> list = getSubFilesByUpdtPd(fileArray, updtFrom, updtTo); + if (list != null && list.size() > 0) { + result = true; + } + } + } + + return result; + } + + /** + * 사이즈별로 디렉토리에 파일이 존재하는지 체크하는 기능 + * + * @param String dir 디렉토리 + * @param long sizeFrom 사이즈From (KB) + * @param long sizeTo 사이즈To (KB) + * @return boolean result 존재여부 True / False + * @exception Exception + */ + public static boolean checkFileExstBySize(String dir, long sizeFrom, long sizeTo) throws Exception { + + // 파일 존재 여부 + boolean result = false; + + // 디렉토리 오픈 + String drctry = dir.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcDrctry = new File(EgovWebUtil.filePathBlackList(drctry)); + + // 디렉토리이면서, 존재하면 + if (srcDrctry.exists() && srcDrctry.isDirectory()) { + + // 디렉토리 안 목록을 조회한다. (사이즈별) + File[] fileArray = srcDrctry.listFiles(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (fileArray != null) { + List<String> list = getSubFilesBySize(fileArray, sizeFrom, sizeTo); + if (list != null && list.size() > 0) { + result = true; + } + } + } + + return result; + } + + /** + * 디렉토리 내부 하위목록들 중에서 파일을 찾는 기능(모든 목록 조회) + * + * @param File[] fileArray 파일목록 + * @return ArrayList list 파일목록(절대경로) + * @exception Exception + */ + public static List<String> getSubFilesByAll(File[] fileArray) throws Exception { + + ArrayList<String> list = new ArrayList<String>(); + + for (int i = 0; i < fileArray.length; i++) { + // 디렉토리 안에 디렉토리면 그 안의 파일목록에서 찾도록 재귀호출한다. + if (fileArray[i].isDirectory()) { + File[] tmpArray = fileArray[i].listFiles(); + list.addAll(getSubFilesByAll(tmpArray)); + // 파일이면 담는다. + } else { + list.add(fileArray[i].getAbsolutePath()); + } + } + + return list; + } + + /** + * 디렉토리 내부 하위목록들 중에서 파일을 찾는 기능(파일명) + * + * @param File[] fileArray 파일목록 + * @param String file 파일명 + * @return ArrayList list 파일목록(절대경로) + * @exception Exception + */ + public static List<String> getSubFilesByName(File[] fileArray, String file) throws Exception { + + List<String> list = new ArrayList<String>(); + + for (int i = 0; i < fileArray.length; i++) { + // 디렉토리 안에 디렉토리면 그 안의 파일목록에서 찾도록 재귀호출한다. + if (fileArray[i].isDirectory()) { + File[] tmpArray = fileArray[i].listFiles(); + list.addAll(getSubFilesByName(tmpArray, file)); + // 파일이면 파일명이 같은지 비교한다. + } else { + if (fileArray[i].getName().equals(file)) { + list.add(fileArray[i].getAbsolutePath()); + } + } + } + + return list; + } + + /** + * 디렉토리 내부 하위목록들 중에서 파일을 찾는 기능(확장자별) + * + * @param File[] fileArray 파일목록 + * @param String extnt 확장자 + * @return ArrayList list 파일목록(절대경로) + * @exception Exception + */ + public static List<String> getSubFilesByExtnt(File[] fileArray, String extnt) throws Exception { + + List<String> list = new ArrayList<String>(); + + for (int i = 0; i < fileArray.length; i++) { + // 디렉토리 안에 디렉토리면 그 안의 파일목록에서 찾도록 재귀호출한다. + if (fileArray[i].isDirectory()) { + File[] tmpArray = fileArray[i].listFiles(); + list.addAll(getSubFilesByExtnt(tmpArray, extnt)); + // 파일이면 확장자명이 들어있는지 비교한다. + } else { + if (fileArray[i].getName().indexOf(extnt) != -1) { + list.add(fileArray[i].getAbsolutePath()); + } + } + } + + return list; + } + + /** + * 디렉토리 내부 하위목록들 중에서 파일을 찾는 기능(최종수정기간별) + * + * @param File[] fileArray 파일목록 + * @param String updtFrom 수정일자From(YYYYMMDD 형태로 입력) + * @param String updtTo 수정일자To(YYYYMMDD 형태로 입력) + * @return ArrayList list 파일목록(절대경로) + * @exception Exception + */ + public static List<String> getSubFilesByUpdtPd(File[] fileArray, String updtFrom, String updtTo) throws Exception { + + List<String> list = new ArrayList<String>(); + + for (int i = 0; i < fileArray.length; i++) { + // 디렉토리 안에 디렉토리면 그 안의 파일목록에서 찾도록 재귀호출한다. + if (fileArray[i].isDirectory()) { + File[] tmpArray = fileArray[i].listFiles(); + list.addAll(getSubFilesByUpdtPd(tmpArray, updtFrom, updtTo)); + // 파일이면 수정기간내에 존재하는지 비교한다. + } else { + // 파일의 최종수정일자 조회 + long date = fileArray[i].lastModified(); + java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat("yyyyMMdd", java.util.Locale.KOREA); + String lastUpdtDate = dateFormat.format(new java.util.Date(date)); + // 수정기간 내에 존재하는지 확인 + if (Integer.parseInt(lastUpdtDate) >= Integer.parseInt(updtFrom) && Integer.parseInt(lastUpdtDate) <= Integer.parseInt(updtTo)) { + list.add(fileArray[i].getAbsolutePath()); + } + } + } + + return list; + } + + /** + * 디렉토리 내부 하위목록들 중에서 파일을 찾는 기능(사이즈별) + * + * @param File[] fileArray 파일목록 + * @param long sizeFrom 사이즈From(KB) + * @param long sizeTo 사이즈To(KB) + * @return ArrayList list 파일목록(절대경로) + * @exception Exception + */ + public static List<String> getSubFilesBySize(File[] fileArray, long sizeFrom, long sizeTo) throws Exception { + + List<String> list = new ArrayList<String>(); + + for (int i = 0; i < fileArray.length; i++) { + // 디렉토리 안에 디렉토리면 그 안의 파일목록에서 찾도록 재귀호출한다. + if (fileArray[i].isDirectory()) { + File[] tmpArray = fileArray[i].listFiles(); + list.addAll(getSubFilesBySize(tmpArray, sizeFrom, sizeTo)); + // 파일이면, 사이즈내에 존재하는지 비교한다. + } else { + // 파일의 사이즈 조회 + long size = fileArray[i].length(); + // 사이즈 내에 존재하는지 확인 + if (size >= (sizeFrom * BUFFER_SIZE) && size <= (sizeTo * BUFFER_SIZE)) { + list.add(fileArray[i].getAbsolutePath()); + } + } + } + + return list; + } + + /** + * 디렉토리 내부 하위목록들 중에서 파일을 찾는 기능(생성자별) + * + * @param File[] fileArray 파일목록 + * @param String creator 생성자 + * @return ArrayList list 파일목록(절대경로) + * @exception Exception + */ + public static List<String> getSubFilesByOwner(File[] fileArray, String owner) throws Exception { + + List<String> list = new ArrayList<String>(); + + for (int i = 0; i < fileArray.length; i++) { + // 디렉토리 안에 디렉토리면 그 안의 파일목록에서 찾도록 재귀호출한다. + if (fileArray[i].isDirectory()) { + File[] tmpArray = fileArray[i].listFiles(); + List<String> list1 = getSubFilesByOwner(tmpArray, owner); + if (list1 != null) + list.addAll(list1); + + // 파일이면, 생성자가 같은지 비교한다. + } else { + // 파일 생성자 조회 + String fullpath = EgovWebUtil.filePathBlackList(fileArray[i].getAbsolutePath()); + Process p = null; + if (Globals.OS_TYPE.equals("UNIX")) { + String[] command = { EgovProperties.getProperty(Globals.SHELL_FILE_PATH, "SHELL." + Globals.OS_TYPE + ".getDrctryByOwner"), + fullpath.substring(0, fullpath.lastIndexOf("/")), fullpath.substring(fullpath.lastIndexOf("/"), fullpath.length()), owner }; + p = Runtime.getRuntime().exec(command); + p.waitFor(); + } else if (Globals.OS_TYPE.equals("WINDOWS")) { + String command = EgovProperties.getProperty(Globals.SHELL_FILE_PATH, "SHELL." + Globals.OS_TYPE + ".getDrctryByOwner"); + p = Runtime.getRuntime().exec(command); + p.waitFor(); + } + //프로세스 에러시 종료 + if (p != null && p.exitValue() != 0) { + BufferedReader b_err = new BufferedReader(new InputStreamReader(p.getErrorStream())); + try { + while (b_err.ready()) { + //String line = b_err.readLine(); + //if (line.length() <= MAX_STR_LEN) log.debug("ERR\n" + line); + } + } finally { + EgovResourceCloseHelper.close(b_err); + } + } + //프로세스 실행 성공시 결과 확인 + else { + BufferedReader b_out = null; + try { + //2017.03.03 조성원 시큐어코딩(ES)-Null Pointer 역참조[CWE-476] + if(p != null){ + b_out = new BufferedReader(new InputStreamReader(p.getInputStream())); + while (b_out.ready()) { + // 결과문자가 있으면 생성자가 일치하는 파일이 존재한다는 의미 + String tmpStr = b_out.readLine(); + if (tmpStr != null && "".equals(tmpStr) && tmpStr.length() <= MAX_STR_LEN) { + list.add(fileArray[i].getAbsolutePath()); + } + } + } + } finally { + EgovResourceCloseHelper.close(b_out); + } + } + } + } + + return list; + } + + /** + * <pre> + * Comment : 디렉토리를 생성한다. + * </pre> + * + * @param dirPath 생성하고자 하는 절대경로 + * @return 성공하면 새성된 절대경로, 아니면 블랭크 + */ + + public static String createNewDirectory(String dirPath) { + + // 인자값 유효하지 않은 경우 블랭크 리턴 + if (dirPath == null || dirPath.equals("")) { + return ""; + } + + File file = new File(EgovWebUtil.filePathBlackList(dirPath)); + String result = ""; + // 없으면 생성 + if (file.exists()) { + // 혹시 존재해도 파일이면 생성 - 생성되지 않는다.(아래는 실질적으로는 진행되지 않음) + if (file.isFile()) { + //new File(file.getParent()).mkdirs(); + if (file.mkdirs()) { + result = file.getAbsolutePath(); + } + } else { + result = file.getAbsolutePath(); + } + } else { + // 존해하지 않으면 생성 + if (file.mkdirs()) { + result = file.getAbsolutePath(); + } + } + + return result; + } + + /** + * <pre> + * Comment : 파일을 생성한다. + * </pre> + * + * @param String fileName 파일의 절대경로 +파일명 + * @param String content 저장할 문자열입니다. c:/test/test1/test44.txt + * + */ + public static String createNewFile(String filePath) { + + // 인자값 유효하지 않은 경우 블랭크 리턴 + if (filePath == null || filePath.equals("")) { + return ""; + } + + File file = new File(EgovWebUtil.filePathBlackList(filePath)); + String result = ""; + try { + if (file.exists()) { + result = filePath; + } else { + // 존재하지 않으면 생성함 + //2017.02.08 이정은 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + if(new File(file.getParent()).mkdirs()){ + LOGGER.debug("[file.mkdirs] file : File Creation Success"); + }else{ + LOGGER.error("[file.mkdirs] file : File Creation Fail"); + } + + if (file.createNewFile()) { + result = file.getAbsolutePath(); + } + } + } catch (IOException e) { + throw new RuntimeException(e); + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리를 삭제한다. + * </pre> + * + * @param dirDeletePath 삭제하고자 하는디렉토리의 절대경로(파일의 경로가 들어오는 경우 삭제하지 않음) + * @return 성공하면 삭제된 절대경로, 아니면블랭크 + */ + + public static String deleteDirectory(String dirDeletePath) { + + // 인자값 유효하지 않은 경우 블랭크 리턴 + if (dirDeletePath == null || dirDeletePath.equals("")) { + return ""; + } + String result = ""; + File file = new File(EgovWebUtil.filePathBlackList(dirDeletePath)); + if (file.isDirectory()) { + String[] fileList = file.list(); + //소속된 파일을 모두 삭제 + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (fileList != null) { + for (int i = 0; i < fileList.length; i++) { + + //log.debug("fileList["+i+"] : "+ dirDeletePath +"/"+fileList[i]); + File f = new File(EgovWebUtil.filePathBlackList(dirDeletePath) + "/" + fileList[i]); + if (f.isFile()) { + //디렉토리에 속한 파일들을 모두 삭제한다. + //2017.02.08 이정은 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + if(f.delete()){ + LOGGER.debug("[file.delete] f : File Deletion Success"); + }else{ + LOGGER.error("[file.delete] f : File Deletion Fail"); + } + } else { + //디렉토리에 속한 하위 디렉토리들에 대한 삭제 명령을 재귀적으로 호출시킨다. + deleteDirectory(dirDeletePath + "/" + fileList[i]); + } + } + } + // 디렉토리에 속한 파일들과 하위 디렉토리가 삭제되었으면 디렉토리 자신을 삭제한다. + result = deletePath(dirDeletePath); + } else { + result = ""; + } + + return result; + } + + /** + * <pre> + * Comment : 파일을 삭제한다. + * </pre> + * + * @param fileDeletePath 삭제하고자 하는파일의 절대경로 + * @return 성공하면 삭제된 파일의 절대경로, 아니면블랭크 + */ + + public static String deleteFile(String fileDeletePath) { + + // 인자값 유효하지 않은 경우 블랭크 리턴 + if (fileDeletePath == null || fileDeletePath.equals("")) { + return ""; + } + String result = ""; + File file = new File(EgovWebUtil.filePathBlackList(fileDeletePath)); + if (file.isFile()) { + result = deletePath(fileDeletePath); + } else { + result = ""; + } + + return result; + } + + /** + * 파일의 읽기권한을 체크한다. + * + * @param String file 파일 + * @return boolean result 읽기권한 True / False + * @exception Exception + */ + public static boolean checkReadAuth(String file) throws Exception { + + // 읽기가능여부 + boolean result = false; + + // 전달받은 경로를 통해 파일 인스턴스를 생성한다. + String file1 = file.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcFile = new File(EgovWebUtil.filePathBlackList(file1)); + + // 존재하는지 확인한다. + if (srcFile.exists()) { + // 읽기 가능한지 체크한다. + result = srcFile.canRead(); + } + + return result; + } + + /** + * 파일의 쓰기권한을 체크한다. + * + * @param String file 파일 + * @return boolean result 쓰기권한 True / False + * @exception Exception + */ + public static boolean checkWriteAuth(String file) throws Exception { + + // 쓰기가능여부 + boolean result = false; + + // 전달받은 경로를 통해 파일 인스턴스를 생성한다. + String file1 = file.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcFile = new File(EgovWebUtil.filePathBlackList(file1)); + + // 존재하는지 확인한다. + if (srcFile.exists()) { + // 쓰기 가능한지 체크한다. + result = srcFile.canWrite(); + } + + return result; + } + + /** + * 파일의 최종수정일자별 파일목록 조회하는 기능 + * + * @param String drctry 디렉토리 + * @param String updtDate 최종수정일자(YYYYMMDD 형태로 입력) + * @return ArrayList list 파일목록 + * @exception Exception + */ + public static List<String> getFileListByDate(String drctry, String updtDate) throws Exception { + + // 결과 목록 + List<String> list = null; + + // 디렉토리 오픈 + String drctry1 = drctry.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File file = new File(EgovWebUtil.filePathBlackList(drctry1)); + + // 디렉토리이며, 존재하면 최종수정일자가 같은 파일목록 조회 시작 + if (file.exists() && file.isDirectory()) { + File[] fileArray = file.listFiles(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (fileArray != null) { + list = getSubFilesByDate(fileArray, updtDate); + } + } + + return list; + } + + /** + * 파일의 최종수정기간내 파일목록 조회하는 기능 + * + * @param String drctry 디렉토리 + * @param String updtFrom 최종수정일자From(YYYYMMDD 형태로 입력) + * @param String updtTo 최종수정일자To(YYYYMMDD 형태로 입력) + * @return ArrayList list 파일목록 + * @exception Exception + */ + public static List<String> getFileListByUpdtPd(String drctry, String updtFrom, String updtTo) throws Exception { + + // 결과 목록 + List<String> list = null; + + // 디렉토리 오픈 + String drctry1 = drctry.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File file = new File(EgovWebUtil.filePathBlackList(drctry1)); + + // 디렉토리이며, 최종수정기간내 존재하는 파일목록 조회 시작 + if (file.exists() && file.isDirectory()) { + File[] fileArray = file.listFiles(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (fileArray != null) { + list = getSubFilesByUpdtPd(fileArray, updtFrom, updtTo); + } + } + + return list; + } + + /** + * 하위디렉토리 포함 최종수정일자가 같은 파일목록을 찾는 기능 + * + * @param File fileArray 파일목록 + * @param String updtDate 최종수정일자(YYYYMMDD 형태로 입력) + * @return ArrayList list 파일목록 + * @exception Exception + */ + public static List<String> getSubFilesByDate(File[] fileArray, String updtDate) throws Exception { + + List<String> list = new ArrayList<String>(); + + for (int i = 0; i < fileArray.length; i++) { + // 디렉토리 안에 디렉토리면 그 안의 파일목록에서 찾도록 재귀호출한다. + if (fileArray[i].isDirectory()) { + File[] tmpArray = fileArray[i].listFiles(); + list.addAll(getSubFilesByDate(tmpArray, updtDate)); + // 파일이면 파일명이 같은지 비교한다. + } else { + // 파일의 최종수정일자 조회 + long date = fileArray[i].lastModified(); + java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat("yyyyMMdd", java.util.Locale.KOREA); + String lastUpdtDate = dateFormat.format(new java.util.Date(date)); + if (Integer.parseInt(lastUpdtDate) == Integer.parseInt(updtDate)) { + list.add(fileArray[i].getAbsolutePath()); + } + } + } + + return list; + } + + /** + * 파일을 특정 구분자(',', '|', 'TAB')로 파싱하는 기능 + * + * @param String parFile 파일 + * @param String parChar 구분자(',', '|', 'TAB') + * @param int parField 필드수 + * @return Vector parResult 파싱결과 구조체 + * @exception Exception + */ + public static Vector<List<String>> parsFileByChar(String parFile, String parChar, int parField) throws Exception { + + // 파싱결과 구조체 + Vector<List<String>> parResult = new Vector<List<String>>(); + + // 파일 오픈 + String parFile1 = parFile.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File file = new File(EgovWebUtil.filePathBlackList(parFile1)); + BufferedReader br = null; + try { + // 파일이며, 존재하면 파싱 시작 + if (file.exists() && file.isFile()) { + + // 1. 파일 텍스트 내용을 읽어서 StringBuffer에 쌓는다. + br = new BufferedReader(new InputStreamReader(new FileInputStream(file))); + StringBuffer strBuff = new StringBuffer(); + String line = ""; + while ((line = br.readLine()) != null) { + if (line.length() < MAX_STR_LEN) + strBuff.append(line); + } + + // 2. 쌓은 내용을 특정 구분자로 파싱하여 String 배열로 얻는다. + String[] strArr = EgovStringUtil.split(strBuff.toString(), parChar); + + // 3. 필드 수 만큼 돌아가며 Vector<ArrayList> 형태로 만든다. + int filedCnt = 1; + List<String> arr = new ArrayList<String>(); + for (int i = 0; i < strArr.length; i++) { + + if (parField != 1) { + if ((filedCnt % parField) == 1) { + if (strArr[i] != null) { + arr.add(strArr[i]); + } + if (i == (strArr.length - 1)) { + parResult.add(arr); + } + } else if ((filedCnt % parField) == 0) { + if (strArr[i] != null) { + arr.add(strArr[i]); + parResult.add(arr); + } + } else { + if (strArr[i] != null) { + arr.add(strArr[i]); + if (i == (strArr.length - 1)) { + parResult.add(arr); + } + } + } + } else { + arr = new ArrayList<String>(); + if (strArr[i] != null) { + arr.add(strArr[i]); + } + parResult.add(arr); + } + + filedCnt++; + } + } + } finally { + EgovResourceCloseHelper.close(br); + } + + return parResult; + } + + /** + * 파일을 일정 길이로 파싱하는 기능 + * + * @param String parFile 파일 + * @param int[] parLen 각 필드의 길이 + * @param int parLine 읽어낼 라인수 + * @return Vector parResult 파싱결과 구조체 + * @exception Exception + */ + public static Vector<List<String>> parsFileBySize(String parFile, int[] parLen, int parLine) throws Exception { + + // 파싱결과 구조체 + Vector<List<String>> parResult = new Vector<List<String>>(); + + // 파일 오픈 + String parFile1 = parFile.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File file = new File(EgovWebUtil.filePathBlackList(parFile1)); + BufferedReader br = null; + try { + // 파일이며, 존재하면 파싱 시작 + if (file.exists() && file.isFile()) { + + // 1. 입력된 라인수만큼 파일 텍스트 내용을 읽어서 String[]에 쌓는다. + br = new BufferedReader(new InputStreamReader(new FileInputStream(file))); + if (parLine < 0) { + parLine = 0; + } + String[] strArr = new String[parLine]; + String line = ""; + int readCnt = 0; + while ((line = br.readLine()) != null && readCnt < parLine) { + if (line.length() <= MAX_STR_LEN) + strArr[readCnt++] = line; + } + + // 2. Vector<ArrayList> 형태로 만든다. + for (int i = 0; i < strArr.length; i++) { + String text = strArr[i]; + List<String> arr = new ArrayList<String>(); + int idx = 0; + boolean result = false; + for (int j = 0; j < parLen.length; j++) { + if (!result) { //if(result != true){ + String split = ""; + if (text.length() < (idx + parLen[j])) { + split = text.substring(idx, text.length()); + result = true; + } else { + split = text.substring(idx, idx + parLen[j]); + } + arr.add(split); + idx = idx + parLen[j]; + } + } + parResult.add(arr); + } + } + } finally { + EgovResourceCloseHelper.close(br); + } + + return parResult; + } + + /** + * 두 파일의 사이즈를 비교하는 기능 (KB 단위 비교) + * + * @param String cmprFile1 파일1 + * @param String cmprFile2 파일2 + * @return boolean result 동일여부 True / False + * @exception Exception + */ + public static boolean cmprFilesBySize(String cmprFile1, String cmprFile2) throws Exception { + + // 파일 동일 여부 + boolean result = false; + + // 파일 오픈 + String cmprFile11 = cmprFile1.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + String cmprFile22 = cmprFile2.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File file1 = new File(EgovWebUtil.filePathBlackList(cmprFile11)); + File file2 = new File(EgovWebUtil.filePathBlackList(cmprFile22)); + + // 파일이며, 존재하면 파일 사이즈 비교 + if (file1.exists() && file2.exists() && file1.isFile() && file2.isFile()) { + + // 파일1 사이즈 + long size1 = file1.length(); + + // 파일2 사이즈 + long size2 = file2.length(); + + // 사이즈 비교 + if (size1 == size2) { + result = true; + } + + } + + return result; + } + + /** + * 두 파일의 수정일자를 비교하는 기능 + * + * @param String cmprFile1 파일1 + * @param String cmprFile2 파일2 + * @return boolean result 동일여부 True / False + * @exception Exception + */ + public static boolean cmprFilesByUpdtPd(String cmprFile1, String cmprFile2) throws Exception { + + // 파일 동일 여부 + boolean result = false; + + // 파일 오픈 + String cmprFile11 = cmprFile1.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + String cmprFile22 = cmprFile2.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File file1 = new File(EgovWebUtil.filePathBlackList(cmprFile11)); + File file2 = new File(EgovWebUtil.filePathBlackList(cmprFile22)); + + // 파일이며, 존재하면 파일 수정일자 비교 + if (file1.exists() && file2.exists() && file1.isFile() && file2.isFile()) { + + // 파일1 수정일자 + long date1 = file1.lastModified(); + java.text.SimpleDateFormat dateFormat1 = new java.text.SimpleDateFormat("yyyyMMdd", java.util.Locale.KOREA); + String lastUpdtDate1 = dateFormat1.format(new java.util.Date(date1)); + + // 파일2 수정일자 + long date2 = file2.lastModified(); + java.text.SimpleDateFormat dateFormat2 = new java.text.SimpleDateFormat("yyyyMMdd", java.util.Locale.KOREA); + String lastUpdtDate2 = dateFormat2.format(new java.util.Date(date2)); + + // 수정일자 비교 + if (lastUpdtDate1.equals(lastUpdtDate2)) { + result = true; + } + } + + return result; + } + + /** + * 두 파일의 내용을 비교하는 기능 (TEXT파일만 가능) + * + * @param String cmprFile1 파일1 + * @param String cmprFile2 파일2 + * @return boolean result 동일여부 True / False + * @exception Exception + */ + public static boolean cmprFilesByContent(String cmprFile1, String cmprFile2) throws Exception { + + // 파일 동일 여부 + boolean result = false; + + // 파일 오픈 + String cmprFile11 = cmprFile1.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + String cmprFile22 = cmprFile2.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File file1 = new File(EgovWebUtil.filePathBlackList(cmprFile11)); + File file2 = new File(EgovWebUtil.filePathBlackList(cmprFile22)); + + BufferedReader br1 = null; + BufferedReader br2 = null; + + try { + // 파일이며, 존재하면 파일 내용 비교 + if (file1.exists() && file2.exists() && file1.isFile() && file2.isFile()) { + + List<String> cmprText1 = new ArrayList<String>(); + List<String> cmprText2 = new ArrayList<String>(); + + // 파일1 텍스트 내용 + br1 = new BufferedReader(new InputStreamReader(new FileInputStream(file1))); + String line1 = ""; + while ((line1 = br1.readLine()) != null) { + if (line1.length() < MAX_STR_LEN) + cmprText1.add(line1); + } + + // 파일2 텍스트 내용 + br2 = new BufferedReader(new InputStreamReader(new FileInputStream(file2))); + String line2 = ""; + while ((line2 = br2.readLine()) != null) { + if (line2.length() <= MAX_STR_LEN) + cmprText2.add(line2); + } + + // 내용 비교 + boolean isWrong = false; + for (int i = 0; i < cmprText1.size(); i++) { + if (!isWrong) { // if(isWrong != true){ + String text1 = cmprText1.get(i); + String text2 = cmprText2.get(i); + + if (!text1.equals(text2)) { + isWrong = true; + } + } + } + + if (!isWrong) { + result = true; + } + } + } finally { + EgovResourceCloseHelper.close(br1, br2); + } + + return result; + } + + /** + * 두 파일의 생성자를 비교하는 기능 + * + * @param String cmprFile1 파일1 + * @param String cmprFile2 파일2 + * @return boolean result 동일여부 True / False + * @exception Exception + */ + public static boolean cmprFilesByOwner(String cmprFile1, String cmprFile2) throws Exception { + + // 파일 동일 여부 + boolean result = false; + + // 파일1 생성자 + String owner1 = getOwner(cmprFile1); + + // 파일2 생성자 + String owner2 = getOwner(cmprFile2); + + if (owner1 != null && owner2 != null && !"".equals(owner1) && !"".equals(owner2) && owner1.equals(owner2)) { + result = true; + } + + return result; + } + + /** + * 단일 파일을 다른 파일에 복사(Copy)한다. + * + * @param String source 원본파일 + * @param String target 타겟파일 + * @return boolean result 복사여부 True / False + * @exception Exception + */ + public static boolean copyFile(String source, String target) throws Exception { + + // 복사여부 + boolean result = false; + + // 원본 파일 + String src = source.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcFile = new File(EgovWebUtil.filePathBlackList(src)); + + // 타켓 파일 + String tar = target.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + + // 원본 파일이 존재하는지 확인한다. + if (srcFile.exists()) { + + // 복사될 target 파일 생성 + tar = createNewFile(tar); + //log.debug("tar:"+tar); + File tarFile = new File(EgovWebUtil.filePathBlackList(tar)); + //log.debug("tarFile:"+tarFile.getAbsolutePath()); + // 복사 + result = execCopyFile(srcFile, tarFile); + } + + return result; + } + + /** + * 여러 파일을 다른 디렉토리에 복사(Copy)한다. + * + * @param String source 원본파일들 + * @param String target 타겟디렉토리 + * @return boolean result 복사여부 True / False + * @exception Exception + */ + public static boolean copyFiles(String[] source, String target) throws Exception { + + // 복사여부 + boolean result = true; + + // 복사 이전에 복사할 파일들의 경로가 올바른지 확인한다. + for (int i = 0; i < source.length; i++) { + String src = source[i].replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File chkFile = new File(EgovWebUtil.filePathBlackList(src)); + if (!chkFile.exists()) { + //log.debug("+++ 원본 파일이 존재하지 않습니다."); + return result; + } + } + + String tar = target.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + + // 복사를 시작한다. + for (int j = 0; j < source.length; j++) { + + if (result) { //result != false + + // 타겟파일이름 명명 + File chkFile = new File(EgovWebUtil.filePathBlackList(source[j])); + String tarTemp = tar + FILE_SEPARATOR + chkFile.getName(); + + // 복사될 target 파일 생성 + tarTemp = createNewFile(tarTemp); + File tarFile = new File(EgovWebUtil.filePathBlackList(tarTemp)); + + // 복사 + result = execCopyFile(chkFile, tarFile); + } + } // end for + + return result; + } + + /** + * 확장자별 파일들을 다른 디렉토리에 복사(Copy)한다. + * + * @param String source 원본디렉토리 + * @param String extnt 확장자(.txt 형태 입력) + * @param String target 타겟디렉토리 + * @return boolean result 복사여부 True / False + * @exception Exception + */ + public static boolean copyFilesByExtnt(String source, String extnt, String target) throws Exception { + + // 복사여부 + boolean result = true; + + // 원본 파일 + String src = source.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcFile = new File(EgovWebUtil.filePathBlackList(src)); + + // 원본 디렉토리가 존재하는지 확인한다. + if (srcFile.exists() && srcFile.isDirectory()) { + + String tar = target.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + + // 원본 디렉토리 안에서 확장자가 일치하는 파일목록을 가져온다. + File[] fileArray = srcFile.listFiles(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (fileArray != null) { + List<String> list = getSubFilesByExtnt(fileArray, extnt); + + // 복사를 시작한다. + for (int i = 0; i < list.size(); i++) { + if (result) { //f(result != false){ + // 원본파일 절대경로 + String abspath = (String) list.get(i); + + // 타겟파일이름 명명 + File chkFile = new File(EgovWebUtil.filePathBlackList(abspath)); + String tarTemp = tar + FILE_SEPARATOR + chkFile.getName(); + + // 복사될 target 파일 생성 + tarTemp = createNewFile(tarTemp); + File tarFile = new File(EgovWebUtil.filePathBlackList(tarTemp)); + + // 복사 + result = execCopyFile(chkFile, tarFile); + } + } // end for + } + else { + result = false; + } + + } + + return result; + } + + /** + * 수정기간내 파일들을 다른 디렉토리에 복사(Copy)한다. + * + * @param String source 원본디렉토리 + * @param String updtFrom 수정시작일자(YYYYMMDD 형태로 입력) + * @param String updtTo 수정종료일자(YYYYMMDD 형태로 입력) + * @param String target 타겟디렉토리 + * @return boolean result 복사여부 True / False + * @exception Exception + */ + public static boolean copyFilesByUpdtPd(String source, String updtFrom, String updtTo, String target) throws Exception { + + // 복사여부 + boolean result = true; + + // 원본 파일 + String src = source.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcFile = new File(EgovWebUtil.filePathBlackList(src)); + + // 원본 디렉토리가 존재하는지 확인한다. + if (srcFile.exists() && srcFile.isDirectory()) { + + String tar = target.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + + // 원본 디렉토리 안에서 수정기간내 존재하는 파일목록을 가져온다. + File[] fileArray = srcFile.listFiles(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (fileArray != null) { + List<String> list = getSubFilesByUpdtPd(fileArray, updtFrom, updtTo); + + // 복사를 시작한다. + for (int i = 0; i < list.size(); i++) { + + if (result) { //f(result != false){ + + // 원본파일 절대경로 + String abspath = (String) list.get(i); + + // 타겟파일이름 명명 + File chkFile = new File(EgovWebUtil.filePathBlackList(abspath)); + String tarTemp = tar + FILE_SEPARATOR + chkFile.getName(); + + // 복사될 target 파일 생성 + tarTemp = createNewFile(tarTemp); + File tarFile = new File(tarTemp); + + // 복사 + result = execCopyFile(chkFile, tarFile); + } + } // end for + } + } + + return result; + } + + /** + * 사이즈내 파일들을 다른 디렉토리에 복사(Copy)한다. + * + * @param String source 원본디렉토리 + * @param Long sizeFrom 최소사이즈(KB) + * @param Long sizeTo 최대사이즈(KB) + * @param String target 타겟디렉토리 + * @return boolean result 복사여부 True / False + * @exception Exception + */ + public static boolean copyFilesBySize(String source, long sizeFrom, long sizeTo, String target) throws Exception { + + // 복사여부 + boolean result = true; + + // 원본 파일 + String src = source.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcFile = new File(EgovWebUtil.filePathBlackList(src)); + + // 원본 디렉토리가 존재하는지 확인한다. + if (srcFile.exists() && srcFile.isDirectory()) { + + String tar = target.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + + // 원본 디렉토리 안에서 사이즈내 존재하는 파일목록을 가져온다. + File[] fileArray = srcFile.listFiles(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (fileArray != null) { + List<String> list = getSubFilesBySize(fileArray, sizeFrom, sizeTo); + + // 복사를 시작한다. + for (int i = 0; i < list.size(); i++) { + + if (result) { //result != false + // 원본파일 절대경로 + String abspath = (String) list.get(i); + + // 타겟파일이름 명명 + File chkFile = new File(EgovWebUtil.filePathBlackList(abspath)); + String tarTemp = tar + FILE_SEPARATOR + chkFile.getName(); + + // 복사될 target 파일 생성 + tarTemp = createNewFile(tarTemp); + File tarFile = new File(EgovWebUtil.filePathBlackList(tarTemp)); + + // 복사 + result = execCopyFile(chkFile, tarFile); + if (result) { + break; + } + } + } // end for + } + + } + + return result; + } + + /** + * 생성자별 파일들을 다른 디렉토리에 복사(Copy)한다. + * + * @param String source 원본디렉토리 + * @param String owner 생성자 + * @param String target 타겟디렉토리 + * @return boolean result 복사여부 True / False + * @exception Exception + */ + public static boolean copyFilesByOwner(String source, String owner, String target) throws Exception { + + // 복사여부 + boolean result = true; + + // 원본 파일 + String src = source.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcFile = new File(EgovWebUtil.filePathBlackList(src)); + + // 원본 디렉토리가 존재하는지 확인한다. + if (srcFile.exists() && srcFile.isDirectory()) { + + String tar = target.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + + // 원본 디렉토리 안에서 생성자별 일치하는 파일목록을 가져온다. + File[] fileArray = srcFile.listFiles(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (fileArray != null) { + List<String> list = getSubFilesByOwner(fileArray, owner); + + // 복사를 시작한다. + for (int i = 0; i < list.size(); i++) { + + if (result) { //result != false + + // 원본파일 절대경로 + String abspath = (String) list.get(i); + + // 타겟파일이름 명명 + File chkFile = new File(EgovWebUtil.filePathBlackList(abspath)); + String tarTemp = tar + FILE_SEPARATOR + chkFile.getName(); + + // 복사될 target 파일 생성 + tarTemp = createNewFile(tarTemp); + File tarFile = new File(EgovWebUtil.filePathBlackList(tarTemp)); + + // 복사 + result = execCopyFile(chkFile, tarFile); + + if (!result) { + break; + } + } + } // end for + } + + } + + return result; + } + + /** + * 복사를 수행하는 기능 + * + * @param File srcFile 원본파일 + * @param File tarFile 타겟파일 + * @return boolean result 복사여부 True / False + * @exception Exception + */ + public static boolean execCopyFile(File srcFile, File tarFile) throws Exception { + + // 결과 + boolean result = false; + FileInputStream fis = null; + FileOutputStream fos = null; + try { + // 복사 + fis = new FileInputStream(srcFile); + + //예외상황에 따른 처리 추가함. -> 만약 tarFile 이 디렉토리명인 경우 디렉토리 밑으로 새로 파일을 생성해서 복사한다.. like DOS + File tarFile1 = tarFile; + if (tarFile1.isDirectory()) { + tarFile1 = new File(EgovWebUtil.filePathBlackList(tarFile1.getAbsolutePath()) + "/" + srcFile.getName()); + } + fos = new FileOutputStream(tarFile1); + byte[] buffer = new byte[(int) BUFFER_SIZE]; + int i = 0; + if (fis != null && fos != null) { + while ((i = fis.read(buffer)) != -1) { + fos.write(buffer, 0, i); + } + } + + result = true; + } finally { + EgovResourceCloseHelper.close(fis, fos); + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리를 삭제한다. (소유자 정보를 통해 삭제) + * </pre> + * + * @param dirDeletePath 삭제하고자 하는디렉토리의 절대경로(파일의 경로가 들어오는 경우 삭제하지 않음) + * @param owner 디렉토리의 삭제조건 생성자 + * @return 성공하면 삭제된 절대경로, 아니면블랭크 + */ + + public static String deleteDirectory(String dirDeletePath, String dirOwner) { + + // 인자값 유효하지 않은 경우 블랭크 리턴 + if (dirDeletePath == null || dirDeletePath.equals("") || dirOwner == null || dirOwner.equals("")) { + return ""; + } + + // 찾은 결과를 전달할 ArrayList + String result = ""; + + try { + File file = new File(EgovWebUtil.filePathBlackList(dirDeletePath));//KISA 보안약점 조치 (2018-10-29, 윤창원) + + // 추가된 삭제조건 옵션에 합당한지 확인 + boolean isInCondition = false; + String realOwner = getOwner(dirDeletePath); + //log.debug("realOwner:"+realOwner); + if (dirOwner.equals(realOwner)) { + isInCondition = true; + } + // 삭제조건에 부합되면 디렉토리 삭제조치함 + if (file.isDirectory() && isInCondition) { + result = deleteDirectory(dirDeletePath); + } else { + result = realOwner; + } + } catch (NullPointerException e) {//KISA 보안약점 조치 (2018-10-29, 윤창원) + throw new RuntimeException(e); + } catch (Exception e) { + throw new RuntimeException(e); + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리를 삭제한다. (생성일자 조건으로 삭제) + * </pre> + * + * @param dirDeletePath 삭제하고자 하는디렉토리의 절대경로(파일의 경로가 들어오는 경우 삭제하지 않음) + * @param fromDate 디렉토리의 삭제조건 시작일자 + * @param toDate 디렉토리의 삭제조건 종료일자 + * @return 성공하면 삭제된 절대경로, 아니면블랭크 + */ + public static String deleteDirectory(String dirDeletePath, String fromDate, String toDate) { + + // 인자값 유효하지 않은 경우 블랭크 리턴 + if (dirDeletePath == null || dirDeletePath.equals("") || fromDate == null || fromDate.equals("") || toDate == null || toDate.equals("")) { + return ""; + } + + // 찾은 결과를 전달할 ArrayList + String result = ""; + File file = new File(EgovWebUtil.filePathBlackList(dirDeletePath)); + + // 추가된 삭제조건 옵션에 합당한지 확인 + boolean isInCondition = false; + String lastModifyedDate = getLastModifiedDateFromFile(file); + //log.debug("lastModifyedDate:"+lastModifyedDate); + + if (Integer.parseInt(lastModifyedDate) >= Integer.parseInt(fromDate) && Integer.parseInt(lastModifyedDate) <= Integer.parseInt(toDate)) { + isInCondition = true; + } + + // 삭제조건에 부합되면 디렉토리 삭제조치함 + if (file.isDirectory() && isInCondition) { + result = deleteDirectory(dirDeletePath); + } + + return result; + } + + /** + * 파일(디렉토리)가 존재하는 파일시스템(마운트된 위치)을 조회하는 기능 + * + * @param String file 파일(디렉토리) + * @return String mountLc 마운트위치 + * @exception Exception + */ + public static String getMountLc(String file) throws Exception { + + // 디스크명 + String diskName = ""; + + //String drctryName = ""; + String src = file.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + + File srcFile = new File(EgovWebUtil.filePathBlackList(src)); + if (srcFile.exists()) { + + // 유닉스 파일시스템명 조회 (df -k $1 | grep $2 | awk -F" " '{print $7}') + if (Globals.OS_TYPE.equals("UNIX")) { + Process p = null; + String[] command = { EgovProperties.getProperty(Globals.SHELL_FILE_PATH, "SHELL." + Globals.OS_TYPE + ".getMountLc"), src, "/" }; + p = Runtime.getRuntime().exec(command); + //p.waitFor(); + + //boolean result = false; + BufferedReader b_out = new BufferedReader(new InputStreamReader(p.getInputStream())); + try { + while (true) { + String str = b_out.readLine(); + if (str == null || "".equals(str)) { + break; + } + if (str.length() <= MAX_STR_LEN) { + diskName = str; + } else { + diskName = str.substring(0, MAX_STR_LEN); + } + } + } finally { + EgovResourceCloseHelper.close(b_out); + } + + if (p != null) { + p.destroy(); + } + + // 윈도우 파일시스템명 조회 + } else if (Globals.OS_TYPE.equals("WINDOWS")) { + + diskName = src == null || src.length() < 1 ? "" : src.substring(0, 1).toUpperCase(); + //log.debug(diskName); + } + } + + return diskName; + } + + /** + * 파일(디렉토리)가 존재하는 디렉토리(Parent)를 조회하는 기능 + * + * @param String file 파일(디렉토리) + * @return String drctryName 디렉토리 + * @exception Exception + */ + public static String getDrctryName(String file) throws Exception { + + String drctryName = ""; + String src = file.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + + File srcFile = new File(EgovWebUtil.filePathBlackList(src)); + if (srcFile.exists()) { + drctryName = srcFile.getParent(); + } + + return drctryName; + } + + /** + * 파일(디렉토리)가 존재하는 파일명을 조회하는 기능 + * + * @param String file 파일(디렉토리) + * @return String fileName 파일명 + * @exception Exception + */ + public static String getFileName(String file) throws Exception { + + String fileName = ""; + String src = file.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + + File srcFile = new File(EgovWebUtil.filePathBlackList(src)); + if (srcFile.exists()) { + fileName = srcFile.getName(); + } + + return fileName; + } + + /** + * 파일(디렉토리)의 최종수정일자를 조회하는 기능 + * + * @param String file 파일(디렉토리) + * @return String updtDate 최종수정일자(YYYYMMDD 형태) + * @exception Exception + */ + public static String getUpdtDate(String file) throws Exception { + + String updtDate = ""; + String src = file.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + + File srcFile = new File(EgovWebUtil.filePathBlackList(src)); + if (srcFile.exists()) { + long date = srcFile.lastModified(); + java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat("yyyyMMdd", java.util.Locale.KOREA); + updtDate = dateFormat.format(new java.util.Date(date)); + } + + return updtDate; + } + + /** + * 파일(디렉토리)의 생성자를 조회하는 기능 + * + * @param String file 파일(디렉토리) + * @return String owner 생성자 + * @exception Exception + */ + public static String getOwner(String file) throws Exception { + + String owner = ""; + String src = file.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + BufferedReader b_err = null; + BufferedReader b_out = null; + try { + File srcFile = new File(EgovWebUtil.filePathBlackList(src)); + if (srcFile.exists()) { + + // 파일 생성자 조회 + String parentPath = EgovStringUtil.isNullToString(srcFile.getParent()); + String fname = EgovStringUtil.isNullToString(srcFile.getName()); + + Process p = null; + String cmdStr = EgovStringUtil.isNullToString(EgovProperties.getProperty(Globals.SHELL_FILE_PATH, "SHELL." + Globals.OS_TYPE + ".getDrctryOwner")); + String[] command = { cmdStr.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR), parentPath.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR), + fname }; + p = Runtime.getRuntime().exec(command); + p.waitFor(); + //프로세스 에러시 종료 + if (p != null && p.exitValue() != 0) { + b_err = new BufferedReader(new InputStreamReader(p.getErrorStream())); + while (b_err.ready()) { + //String line = b_err.readLine(); + //if (line.length() <= MAX_STR_LEN) log.debug("ERR\n" + line); + } + } else if (p != null) { //프로세스 실행 성공시 결과 확인 + boolean result = false; + b_out = new BufferedReader(new InputStreamReader(p.getInputStream())); + while (b_out.ready()) { + if (!result) { // result != true + // 결과문자가 있으면 생성자가 있다는 의미 + owner = b_out.readLine(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (owner != null) { + if (owner.length() <= MAX_STR_LEN) { + if (!"".equals(owner)) { + result = true; + break; + } + } + } + } + } + } + + } + } finally { + EgovResourceCloseHelper.close(b_err, b_out); + } + + return owner; + } + + /** + * 파일(디렉토리)의 접근권한을 조회하는 기능 + * + * @param String file 파일(디렉토리) + * @return String access 접근권한(유닉스=777, 666, 윈도우=Read, Write, Read Only) + * @exception Exception + */ + public static String getAccess(String file) throws Exception { + + String access = ""; + String src = file.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + // 2020-12-07 KISA 보안코드 검증 조치 + src = EgovWebUtil.filePathBlackList(src); + + BufferedReader b_err = null; + BufferedReader b_out = null; + try { + File srcFile = new File(src); + if (srcFile.exists()) { + + // 접근권한 조회 + String parentPath = srcFile.getParent(); + String fname = srcFile.getName(); + + Process p = null; + if (Globals.OS_TYPE.equals("UNIX")) { + String[] command = { EgovProperties.getProperty(Globals.SHELL_FILE_PATH, "SHELL." + Globals.OS_TYPE + ".getDrctryAccess"), parentPath, fname }; + p = Runtime.getRuntime().exec(command); + p.waitFor(); + //프로세스 에러시 종료 + if (p != null && p.exitValue() != 0) { + b_err = new BufferedReader(new InputStreamReader(p.getErrorStream())); + while (b_err.ready()) { + //String line = b_err.readLine(); + //if (line.length() <= MAX_STR_LEN) log.debug("ERR\n" + line); + } + b_err.close(); + } + //프로세스 실행 성공시 결과 확인 + else if (p != null) { + boolean result = false; + b_out = new BufferedReader(new InputStreamReader(p.getInputStream())); + while (b_out.ready()) { + if (!result) { //result != true + access = b_out.readLine(); + if (access != null && !"".equals(access) && access.length() <= MAX_STR_LEN) { + result = true; + break; + } + } + } + b_out.close(); + } + } else if (Globals.OS_TYPE.equals("WINDOWS")) { + String[] command = { "cmd", "/c", "attrib", src }; + p = Runtime.getRuntime().exec(command); + p.waitFor(); + //프로세스 에러시 종료 + if (p != null && p.exitValue() != 0) { + b_err = new BufferedReader(new InputStreamReader(p.getErrorStream())); + while (b_err.ready()) { + //String line = b_err.readLine(); + //if (line.length() <= MAX_STR_LEN) log.debug("ERR\n" + line); + } + } else { //프로세스 실행 성공시 결과 확인 + boolean result = false; + b_out = new BufferedReader(new InputStreamReader(p.getInputStream())); + while (b_out.ready()) { + if (!result) { //result != true + access = b_out.readLine(); + if (access != null && !"".equals(access) && access.length() <= MAX_STR_LEN) { + access = access.toUpperCase().replace(src.toUpperCase(), ""); + access = access.replace(" ", ""); + result = true; + if (result) { + break; + } + } + } + } + + if (result) { + String acs = ""; + boolean read = false; + boolean write = true; + boolean system = false; + boolean hidden = false; + + for (int i = 0; i < access.length(); i++) { + char chr = access.charAt(i); + switch (chr) { + case ACCESS_READ: + read = true; + write = false; + break; + case ACCESS_SYS: + system = true; + break; + case ACCESS_HIDE: + hidden = true; + break; + default: + break; + } + } + + if (read) { + acs += "READ-ONLY|"; + } else { + acs += "READ|"; + } + if (write) { + acs += "WRITE|"; + } + if (system) { + acs += "SYSTEM|"; + } + if (hidden) { + acs += "HIDDEN|"; + } + access = acs; + } + } + } + + } + } finally { + EgovResourceCloseHelper.close(b_err, b_out); + } + + return access; + } + + /** + * 파일(디렉토리)의 사이즈를 조회하는 기능 + * + * @param String file 파일(디렉토리) + * @return Long size 사이즈(Byte) + * @exception Exception + */ + public static long getSize(String file) throws Exception { + + long size = 0L; + String src = file.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + + File srcFile = new File(EgovWebUtil.filePathBlackList(src)); + if (srcFile.exists()) { + size = srcFile.length(); + } + + return size; + } + + /** + * 파일(디렉토리)의 포맷을 조회하는 기능 + * + * @param String file 파일(디렉토리) + * @return String format 포맷 + * @exception Exception + */ + public static String getFormat(String file) throws Exception { + + // 포맷, 타입 + String format = ""; + String type = ""; + + String src = file.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + + File srcFile = new File(EgovWebUtil.filePathBlackList(src)); + if (srcFile.exists()) { + + String[] strArr = (EgovStringUtil.isNullToString(src)).split("\\."); + if (strArr.length >= 2) { + format = strArr[strArr.length - 1].toLowerCase(); + type = EgovProperties.getProperty(Globals.FILE_FORMAT_PATH, format); + } + } + + return type; + } + + /** + * <pre> + * Comment : 디렉토리를 복사한다. + * </pre> + * + * @param String originalDirPath 원본 디렉토리 의 절대경로 + * @param String targetDirPath 타겟 디렉토리 의 절대경로 + * @return boolean result 복사가 성공하면 true, 실패하면 false를 리턴한다. + */ + public static boolean copyDirectory(String originalDirPath, String targetDirPath) throws Exception { + + // 인자값 유효하지 않은 경우 공백 리턴 + if (originalDirPath == null || originalDirPath.equals("") || targetDirPath == null || targetDirPath.equals("")) { + return false; + } + boolean result = false; + File f = null; + + f = new File(EgovWebUtil.filePathBlackList(originalDirPath)); + // 원본이 유효해야 진행한다. + if (f.exists() && f.isDirectory()) { + + //타겟으로 설정한 경로가 유효한지 확인(중간경로에 파일명 이 포함되어있으면 유효하지 못하므로 진행안함. + String targetDirPath1 = createNewDirectory(targetDirPath); + if (targetDirPath1.equals("")) { + result = false; + } else { + File targetDir = new File(EgovWebUtil.filePathBlackList(targetDirPath1)); + //2017.02.08 이정은 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + if(targetDir.mkdirs()){ + LOGGER.debug("[file.mkdirs] targetDir : Directory Creation Success"); + }else{ + LOGGER.error("[file.mkdirs] targetDir : Directory Creation Fail"); + } + + // 디렉토리에 속한 파일들을 복사한다. + String[] originalFileList = f.list(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (originalFileList != null) { + if (originalFileList.length > 0) { + for (int i = 0; i < originalFileList.length; i++) { + File subF = new File(EgovWebUtil.filePathBlackList(originalDirPath) + FILE_SEPARATOR + originalFileList[i]); + if (subF.isFile()) { + //하위목록이 파일이면 파일복사실행 -> 실패 발생하는 경우 복사를 중단한다. + result = copyFile(originalDirPath + FILE_SEPARATOR + originalFileList[i], targetDir.getAbsolutePath() + FILE_SEPARATOR + originalFileList[i]); + } else { + //하위목록이 디렉토리이면 복사를 재귀적으로 호출한다. + result = copyDirectory(originalDirPath + "/" + originalFileList[i], targetDirPath1 + "/" + originalFileList[i]); + } + } + } else { + result = true; + } + } + } + } else { + // 원본자체가 유효하지 않은 경우는 false 리턴하고 종료 + result = false; + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리를 복사한다. (생성일자 조건으로 복사) + * </pre> + * + * @param String originalDirPath 원본 디렉토리 의 절대경로 + * @param String targetDirPath 타겟 디렉토리 의 절대경로 + * @param fromDate 디렉토리의 복사조건 시작일자 + * @param toDate 디렉토리의 복사조건 종료일자 + * @return boolean result 복사가 성공함변 true, 실패하면 false를 리턴한다. + */ + public static boolean copyDirectory(String originalDirPath, String targetDirPath, String fromDate, String toDate) throws Exception { + + // 인자값 유효하지 않은 경우 공백 리턴 + if (originalDirPath == null || originalDirPath.equals("") || targetDirPath == null || targetDirPath.equals("") || fromDate == null || fromDate.equals("") || toDate == null + || toDate.equals("")) { + return false; + } + boolean result = false; + File f = null; + + f = new File(EgovWebUtil.filePathBlackList(originalDirPath)); + boolean isInCondition = false; + String lastModifyedDate = getLastModifiedDateFromFile(f); + if (Integer.parseInt(lastModifyedDate) >= Integer.parseInt(fromDate) && Integer.parseInt(lastModifyedDate) <= Integer.parseInt(toDate)) { + isInCondition = true; + } + + // 원본이 유효하고 조건에 부합되야 진행한다. + if (f.exists() && f.isDirectory() && isInCondition) { + + //타겟으로 설정한 경로가 유효한지 확인(중간경로에 파일명 이 포함되어있으면 유효하지 못하므로 진행안함. + String targetDirPath1 = createNewDirectory(targetDirPath); + if (targetDirPath1.equals("")) { + result = false; + } else { + File targetDir = new File(EgovWebUtil.filePathBlackList(targetDirPath1)); + //2017.02.08 이정은 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + if(targetDir.mkdirs()){ + LOGGER.debug("[file.mkdirs] targetDir : Directory Creation Success"); + }else{ + LOGGER.error("[file.mkdirs] targetDir : Directory Creation Fail"); + } + + // 디렉토리에 속한 파일들을 복사한다. + String[] originalFileList = f.list(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (originalFileList != null) { + if (originalFileList.length > 0) { + for (int i = 0; i < originalFileList.length; i++) { + File subF = new File(EgovWebUtil.filePathBlackList(originalDirPath) + FILE_SEPARATOR + originalFileList[i]); + if (subF.isFile()) { + //하위목록이 파일이면 파일복사실행 -> 실패 발생하는 경우 복사를 중단한다. + result = copyFile(originalDirPath + FILE_SEPARATOR + originalFileList[i], targetDir.getAbsolutePath() + FILE_SEPARATOR + originalFileList[i]); + } else { + //하위목록이 디렉토리이면 복사를 재귀적으로 호출한다. + //하위목록에 해당하는 폴더에 대해서는 생성일자 검사를 하지 않는다.(현재 폴더가 복사대상이면 현재폴더의 하위는 제외없이 복사함) + result = copyDirectory(originalDirPath + "/" + originalFileList[i], targetDirPath1 + "/" + originalFileList[i]); + } + } + } else { + result = true; + } + } + } + + } else { + // 원본자체가 유효하지 않은 경우는 false 리턴하고 종료 + result = false; + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리를 복사한다. (생성자 조건으로복사) + * </pre> + * + * @param String originalDirPath 원본 디렉토리 의 절대경로 + * @param String targetDirPath 타겟 디렉토리 의 절대경로 + * @param String owner 디렉토리의 복사조건생성자 + * @return boolean result 복사가 성공함변 true, 실패하면 false를 리턴한다. + */ + public static boolean copyDirectory(String originalDirPath, String targetDirPath, String owner) throws Exception { + + // 인자값 유효하지 않은 경우 공백 리턴 + if (originalDirPath == null || originalDirPath.equals("") || targetDirPath == null || targetDirPath.equals("") || owner == null || owner.equals("")) { + return false; + } + boolean result = false; + File f = null; + + f = new File(EgovWebUtil.filePathBlackList(originalDirPath)); + boolean isInCondition = false; + String realOwner = getOwner(originalDirPath); + if (realOwner.equals(owner)) { + isInCondition = true; + } + + // 원본이 유효하고 조건에 부합되야 진행한다. + if (f.exists() && f.isDirectory() && isInCondition) { + + String targetDirPath1 = createNewDirectory(targetDirPath); + if (targetDirPath1.equals("")) { + //타겟으로 설정한 경로가 유효한지 확인(중간경로에 파일명 이 포함되어있으면 유효하지 못하므로 진행안함. + result = false; + } else { + File targetDir = new File(EgovWebUtil.filePathBlackList(targetDirPath1)); + + //2017.02.08 이정은 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + if(targetDir.mkdirs()){ + LOGGER.debug("[file.mkdirs] targetDir : Directory Creation Success"); + }else{ + LOGGER.error("[file.mkdirs] targetDir : Directory Creation Fail"); + } + + // 디렉토리에 속한 파일들을 복사한다. + String[] originalFileList = f.list(); + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (originalFileList != null) { + if (originalFileList.length > 0) { + for (int i = 0; i < originalFileList.length; i++) { + File subF = new File(EgovWebUtil.filePathBlackList(originalDirPath) + FILE_SEPARATOR + originalFileList[i]); + if (subF.isFile()) { + //하위목록이 파일이면 파일복사실행 -> 실패 발생하는 경우 복사를 중단한다. + result = copyFile(originalDirPath + FILE_SEPARATOR + originalFileList[i], targetDir.getAbsolutePath() + FILE_SEPARATOR + originalFileList[i]); + } else { + //하위목록이 디렉토리이면 복사를 재귀적으로 호출한다. + //하위목록에 해당하는 폴더에 대해서는 생성일자 검사를 하지 않는다.(현재 폴더가 복사대상이면 현재폴더의 하위는 제외없이 복사함) + result = copyDirectory(originalDirPath + "/" + originalFileList[i], targetDirPath1 + "/" + originalFileList[i]); + } + } + } else { + result = false; + } + } + } + + } else { + // 원본자체가 유효하지 않은 경우는 false 리턴하고 종료 + result = false; + } + + return result; + } + + /** + * 디렉토리의 사이즈를 조회한다. + * + * @param String targetDirPath 디렉토리 + * @return long size 디렉토리사이즈 + * @exception Exception + */ + public static long getDirectorySize(String targetDirPath) throws Exception { + + File f = new File(EgovWebUtil.filePathBlackList(targetDirPath)); + if (!f.exists()) { + return 0; + } + if (f.isFile()) { + return f.length(); + } + + File[] list = f.listFiles(); + long size = 0; + long fileSize = 0; + + //KISA 보안약점 조치 (2018-10-29, 윤창원) + if (list != null) { + for (int i = 0; i < list.length; i++) { + + if (list[i].isDirectory()) { + // 디렉토리 안에 디렉토리면 그 안의 파일목록에서 찾도록 재귀호출한다. + fileSize = getDirectorySize(list[i].getAbsolutePath()); + } else { + // 파일의 사이즈 조회 + fileSize = list[i].length(); + } + size = size + fileSize; + } + } + return size; + } + + /** + * <pre> + * Comment : 디렉토리를 이동한다. + * </pre> + * + * @param String originalDirPath 원본 디렉토리 의 절대경로 + * @param String targetDirPath 타겟 디렉토리 의 절대경로 + * @return boolean result 이동이 성공하면 true, 실패하면 false를 리턴한다. + */ + public static boolean moveFile(String originalDirPath, String targetDirPath) throws Exception { + + // 인자값 유효하지 않은 경우 공백 리턴 + if (originalDirPath == null || originalDirPath.equals("") || targetDirPath == null || targetDirPath.equals("")) { + return false; + } + boolean result = false; + File f = null; + BufferedReader b_err = null; + BufferedReader b_out = null; + try { + f = new File(EgovWebUtil.filePathBlackList(originalDirPath)); + // 원본은 유효하고 대상이 신규로 생성가능한 상태인경우만 진행한다. + //if(f.exists() && f.isDirectory() ){ // 디렉토리만 이동할수 있도록 제한하는 경우 + if (f.exists()) { + // 타겟으로 설정한 경로가 유효한지 확인(중간경로에 파일명 이 포함되어있으면 유효하지 못하므로 진행안함. + File targetDir = new File(EgovWebUtil.filePathBlackList(targetDirPath)); + if (targetDir.exists()) { + // 타겟경로가 이미 있는 경우는 종료 + result = false; + } else { + // 새로 생성되는 경우만 진행한다. (이동쉘을 실행시킨다.) + //KISA 보안약점 조치 (2018-10-29, 윤창원) + String cmdStr = EgovStringUtil.isNullToString(EgovProperties.getProperty(Globals.SHELL_FILE_PATH, "SHELL." + Globals.OS_TYPE + ".moveDrctry")); + String[] command = { cmdStr.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR), + EgovWebUtil.filePathBlackList(originalDirPath.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR)), + EgovWebUtil.filePathBlackList(targetDirPath.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR)) }; + Process p = Runtime.getRuntime().exec(command); + //String access = ""; + p.waitFor(); + //프로세스 에러시 종료 + if (p != null && p.exitValue() != 0) { + b_err = new BufferedReader(new InputStreamReader(p.getErrorStream())); + while (b_err.ready()) { + //String line = b_err.readLine(); + //if (line.length() <= MAX_STR_LEN) log.debug("ERR\n" + line); + } + b_err.close(); + } + //프로세스 실행 성공시 결과 확인 + else { + result = true; + } + } + + } else { + // 원본자체가 유효하지 않은 경우는 false 리턴하고 종료 + result = false; + } + } finally { + EgovResourceCloseHelper.close(b_err, b_out); + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리를 이동한다. (생성일자 조건으로 이동) + * </pre> + * + * @param String originalDirPath 원본 디렉토리 의 절대경로 + * @param String targetDirPath 타겟 디렉토리 의 절대경로 + * @param fromDate 디렉토리의이동조건 시작일자 + * @param toDate 디렉토리의 이동조건 종료일자 + * @return boolean result 이동이 성공하면 true, 실패하면 false를 리턴한다. + */ + public static boolean moveFile(String originalDirPath, String targetDirPath, String fromDate, String toDate) throws Exception { + + // 인자값 유효하지 않은 경우 공백 리턴 + if (originalDirPath == null || originalDirPath.equals("") || targetDirPath == null || targetDirPath.equals("") || fromDate == null || fromDate.equals("") || toDate == null + || toDate.equals("")) { + return false; + } + boolean result = false; + File f = null; + BufferedReader b_err = null; + BufferedReader b_out = null; + try { + f = new File(originalDirPath); + // 원본은 유효하고 대상이 신규로 생성가능한 상태인경우만 진행한다. + //if(f.exists() && f.isDirectory() ){ // 디렉토리만 이동할수 있도록 제한하는 경우 + if (f.exists()) { + // 타겟으로 설정한 경로가 유효한지 확인(중간경로에 파일명 이 포함되어있으면 유효하지 못하므로 진행안함. + File targetDir = new File(EgovWebUtil.filePathBlackList(targetDirPath)); + if (targetDir.exists()) { + // 타겟경로가 이미 있는 경우는 종료 + result = false; + } else { + // 새로 생성되는 경우만 진행한다. (이동쉘을 실행시킨다.) + boolean isInCondition = false; + String lastModifyedDate = getLastModifiedDateFromFile(f); + if (Integer.parseInt(lastModifyedDate) >= Integer.parseInt(fromDate) && Integer.parseInt(lastModifyedDate) <= Integer.parseInt(toDate)) { + isInCondition = true; + } + + if (isInCondition) { + //KISA 보안약점 조치 (2018-10-29, 윤창원) + String cmdStr = EgovStringUtil.isNullToString(EgovProperties.getProperty(Globals.SHELL_FILE_PATH, "SHELL." + Globals.OS_TYPE + ".moveDrctry")); + String[] command = { cmdStr.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR), + EgovWebUtil.filePathBlackList(originalDirPath.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR)), + EgovWebUtil.filePathBlackList(targetDirPath.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR)) }; + Process p = Runtime.getRuntime().exec(command); + String access = ""; + p.waitFor(); + //프로세스 에러시 종료 + if (p != null && p.exitValue() != 0) { + b_err = new BufferedReader(new InputStreamReader(p.getErrorStream())); + while (b_err.ready()) { + //String line = b_err.readLine(); + //if (line.length() <= MAX_STR_LEN) log.debug("ERR\n" + line); + } + } + //프로세스 실행 성공시 결과 확인 + else { + result = false; + b_out = new BufferedReader(new InputStreamReader(p.getInputStream())); + while (b_out.ready()) { + if (!result) { // result != true + access = b_out.readLine(); + if (access != null && !"".equals(access) && access.length() <= MAX_STR_LEN) { + result = true; + break; + } + } + } + } + } + } + + } else { + // 원본자체가 유효하지 않은 경우는 false 리턴하고 종료 + result = false; + } + } finally { + EgovResourceCloseHelper.close(b_err, b_out);; + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리를 이동한다. (생성자 조건으로 이동) + * </pre> + * + * @param String originalDirPath 원본 디렉토리 의 절대경로 + * @param String targetDirPath 타겟 디렉토리 의 절대경로 + * @param String owner 디렉토리의 이동조건생성자 + * @return boolean result 이동이 성공하면 true, 실패하면 false를 리턴한다. + */ + public static boolean moveFile(String originalDirPath, String targetDirPath, String owner) throws Exception { + + // 인자값 유효하지 않은 경우 공백 리턴 + if (originalDirPath == null || originalDirPath.equals("") || targetDirPath == null || targetDirPath.equals("") || owner == null || owner.equals("")) { + return false; + } + //log.debug("originalDirPath:"+originalDirPath); + //log.debug("targetDirPath:"+targetDirPath); + boolean result = false; + File f = null; + BufferedReader b_err = null; + BufferedReader b_out = null; + try { + f = new File(originalDirPath); + // 원본은 유효하고 대상이 신규로 생성가능한 상태인경우만 진행한다. + //if(f.exists() && f.isDirectory() ){ // 디렉토리만 이동할수 있도록 제한하는 경우 + if (f.exists()) { + // 타겟으로 설정한 경로가 유효한지 확인(중간경로에 파일명 이 포함되어있으면 유효하지 못하므로 진행안함. + File targetDir = new File(EgovWebUtil.filePathBlackList(targetDirPath)); + if (targetDir.exists()) { + // 타겟경로가 이미 있는 경우는 종료 + result = false; + } else { + // 새로 생성되는 경우만 진행한다. (이동쉘을 실행시킨다.) + boolean isInCondition = false; + String realOwner = getOwner(originalDirPath); + if (realOwner.equals(owner)) { + isInCondition = true; + } + + if (isInCondition) { + //KISA 보안약점 조치 (2018-10-29, 윤창원) + String cmdStr = EgovStringUtil.isNullToString(EgovProperties.getProperty(Globals.SHELL_FILE_PATH, "SHELL." + Globals.OS_TYPE + ".moveDrctry")); + String[] command = { cmdStr.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR), + EgovWebUtil.filePathBlackList(originalDirPath.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR)), + EgovWebUtil.filePathBlackList(targetDirPath.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR)) }; + Process p = Runtime.getRuntime().exec(command); + String access = ""; + p.waitFor(); + //프로세스 에러시 종료 + if (p != null && p.exitValue() != 0) { + b_err = new BufferedReader(new InputStreamReader(p.getErrorStream())); + while (b_err.ready()) { + //String line = b_err.readLine(); + //if (line.length() <= MAX_STR_LEN) log.debug("ERR\n" + line); + } + } + //프로세스 실행 성공시 결과 확인 + else if (p != null){ + result = false; + b_out = new BufferedReader(new InputStreamReader(p.getInputStream())); + while (b_out.ready()) { + + if (!result) { //result != true + access = b_out.readLine(); + if (access != null && !"".equals(access) && access.length() <= MAX_STR_LEN) { + result = true; + if (result) { + break; + } + } + } + } + } + } + } + } else { + // 원본자체가 유효하지 않은 경우는 false 리턴하고 종료 + result = false; + } + } finally { + EgovResourceCloseHelper.close(b_err, b_out); + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리감시를 시작한다. 모니터링 시작시 해당 디렉토리의 이름으로 생성된 로그파일에 START기입하고 종료시END기입한다. + * (로그파일이 이미 존재하는 경우는 모니터링이 현재 진행중인 상태이므로 새로 감시기능을 시작하지 않는다.) + * </pre> + * + * @param String targetDirPath 타겟 디렉토리 의 절대경로 + * @param String logFile 모니터링정보를 보관할 로그파일경로 + * @param String eventPrg 이벤트 발생시 동작할 프로그램 + * @return boolean result 모니터링 시작 여부를 리턴한다. (모니터링 시작했으면 true, 모니터링이 시작되지 않았으면 false) + */ + public static boolean startDirectoryMonitering(String targetDirPath) throws Exception { + + // 인자값 유효하지 않은 경우 false 리턴 + if (targetDirPath == null || targetDirPath.equals("")) { + return false; + } + + boolean result = false; + FileReader fr = null; + BufferedReader br = null; + try { + // 로그파일을 생성한다. 만약 로그파일이 존재하면 이미 감시 프로세스가 동작중이므로 새로 시작하지 않는다. + + File targetF = new File(EgovWebUtil.filePathBlackList(targetDirPath)); + File logF = new File(EgovWebUtil.filePathBlackList(Globals.CONF_PATH) + "/" + targetF.getName() + ".log"); + + if (targetF.exists() && targetF.isDirectory()) { + + if (logF.exists()) { + // 이미 감시 프로세스 동작중임 + result = true; + //로그파일에서 중단여부 확인하여 중단된 상태이면 재실행함 + String lastStr = ""; + fr = new FileReader(logF); + br = new BufferedReader(fr); + //int ch = 0; + String line = ""; + while ((line = br.readLine()) != null) { + if (line.length() < MAX_STR_LEN) + lastStr = line; + } + //log.debug("lastStr:"+lastStr); + if (lastStr.equals("END")) { + EgovFileMntrg t = new EgovFileMntrg(EgovWebUtil.filePathBlackList(targetDirPath), logF); + t.start(); + } + } else { + result = logF.createNewFile(); + EgovFileMntrg t = new EgovFileMntrg(targetDirPath, logF); + t.start(); + } + } + } finally { + EgovResourceCloseHelper.close(fr, br); + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리감시를 종료한다. 모니터링 시작시 해당 디렉토리의 이름으로 생성된 로그파일에 START기입하고 종료시END기입한다. + * (로그파일이 존재하지 않는 경우는 모니터링이 아직 시작되지 않은 상태이므로별도로 종료하지 않는다.) + * </pre> + * + * @param String targetDirPath 타겟 디렉토리 의 절대경로 + * @param String logFile 모니터링정보를 보관할 로그파일경로(감시프로세스 확인의 키값으로 사용된다) + * @return boolean result 모니터링 시작 여부를 리턴한다. (모니터링 시작했으면 true, 모니터링이 시작되지 않았으면 false) + */ + public static boolean stopDirectoryMonitering(String targetDirPath) throws Exception { + + // 인자값 유효하지 않은 경우 false 리턴 + if (targetDirPath == null || targetDirPath.equals("")) { + return false; + } + + boolean result = false; + FileReader fr = null; + BufferedReader br = null; + FileWriter fWriter = null; + BufferedWriter bWriter = null; + try { + File targetF = new File(EgovWebUtil.filePathBlackList(targetDirPath)); + File logF = new File(EgovWebUtil.filePathBlackList(Globals.CONF_PATH) + "/" + targetF.getName() + ".log"); + if (logF.exists()) { + + //로그파일 최종라인 확인 : END 여부 확인 + String lastStr = ""; + fr = new FileReader(logF); + br = new BufferedReader(fr); + //int ch = 0; + String line = ""; + while ((line = br.readLine()) != null) { + if (line.length() < MAX_STR_LEN) + lastStr = line; + } + br.close(); + + // if(lastStr.equals("END")){ + // // 로그파일이 존재하고 이미 종료요청이 된 상태이므로 작업없음 + // //log.debug("Already Ending Requested Status"); + // }else{ + if (!lastStr.equals("END")) { + fWriter = new FileWriter(logF, true); + bWriter = new BufferedWriter(fWriter); + br = new BufferedReader(new StringReader("END")); + while ((line = br.readLine()) != null && !lastStr.equals("END")) { + if (line.length() < MAX_STR_LEN) { + bWriter.write(line + "\n", 0, line.length() + 1); + } + } + } + result = true; + } else { + result = false; + } + + } finally { + EgovResourceCloseHelper.close(fr, br, fWriter, bWriter); + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리감시정보를 로그파일로부터 읽어온다. + * </pre> + * + * @param String targetDirPath 타겟 디렉토리 의 절대경로 + * @param String logFile 모니터링정보를 보관하는 로그파일경로 + * @return ArrayList result 로그파일의 정보를 라인단위로 담아서 리턴한다. + */ + public static StringBuffer getDirectoryMoniteringInfo(String targetDirPath) throws Exception { + + // 인자값 유효하지 않은 경우 빈 ArrayList 리턴 + if (targetDirPath == null || targetDirPath.equals("")) { + return new StringBuffer(); + } + + StringBuffer result = new StringBuffer(); + FileReader fr = null; + try { + File targetF = new File(EgovWebUtil.filePathBlackList(targetDirPath)); + File logF = new File(EgovWebUtil.filePathBlackList(Globals.CONF_PATH) + "/" + targetF.getName() + ".log"); + if (!logF.exists()) { + result = new StringBuffer(); + } + fr = new FileReader(logF); + int ch = 0; + while ((ch = fr.read()) != -1) { + result.append((char) ch); + } + } finally { + EgovResourceCloseHelper.close(fr); + } + + return result; + } + +} Property changes on: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileTool.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovNetworkState.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sim/service/EgovNetworkState.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sim/service/EgovNetworkState.java (revision 7) @@ -0,0 +1,294 @@ +/** + * Class Name : EgovNetworkState.java + * Description : 네트워크(Network)상태 체크 Business Interface class + * Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.02.02 이 용 최초 생성 + * + * @author 공통 서비스 개발팀 이 용 + * @since 2009. 02. 02 + * @version 1.0 + * @see + * The type com.sun.star.lang.XeventListener cannot be resolved. It is indirectly referenced from required .class files + * Copyright (C) 2009 by EGOV All right reserved. + */ + +package egovframework.com.utl.sim.service; + +import java.io.BufferedReader; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.InetAddress; +import java.util.ArrayList; +import java.util.List; + +import egovframework.com.cmm.EgovWebUtil; +import egovframework.com.cmm.service.EgovProperties; +import egovframework.com.cmm.service.Globals; +import egovframework.com.cmm.util.EgovResourceCloseHelper; + +/** + * EgovNetworkState 클래스를 정의한다. + * + * @author 김진만 + * @see + * <pre> + * == 개정이력(Modification Information) == + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2020.12.07 신용호 KISA 보안약점 조치 + * + * </pre> + */ + +public class EgovNetworkState { + public static String addrIP = ""; + static final char FILE_SEPARATOR = File.separatorChar; + // 최대 문자길이 + static final int MAX_STR_LEN = 1024; + + public static final int BUFF_SIZE = 2048; + // Log + // protected static final Log log = LogFactory.getLog(EgovNetworkState.class); + + /** + * <pre> + * Comment : Local MAC Address를 확인한다. + * </pre> + * @param String localIP 로컬 IP주소 + * @return String mac MAC Address를 리턴한다. + * @version 1.0 (2009.02.03.) + * @see + */ + public static String getMyMACAddress(String localIP) { + //log.debug("getMyMACAddress Start!! : "); + String mac = null; + try { + if ("WINDOWS".equals(Globals.OS_TYPE)) { + // 2020-12-07 KISA 보안코드 검증 조치 + if (!EgovWebUtil.isIPAddress(localIP)) + throw new SecurityException("IP Address is Not Valid~~~!"); + + Process p = null; + Runtime rt = Runtime.getRuntime(); + String[] execStr = { "nbtstat", "-A", localIP }; + p = rt.exec(execStr); // 여기다 아이피 주소 넣주세여 + + InputStream in = p.getInputStream(); + String out = null; + int c; + while ((c = in.read()) != -1) { + out = out + new String(new Character((char) c).toString()); + } + in.close(); + if (out == null || out.indexOf("MAC Address = ") == -1) { + throw new IllegalArgumentException("String Split Error!"); + } + mac = out.substring(out.indexOf("MAC Address = ") + 14, out.indexOf("MAC Address = ") + 31); + + } else if ("UNIX".equals(Globals.OS_TYPE)) { + //log.debug("getMyMACAddress IP : " + localIP); + mac = getNetWorkInfo("MAC"); + } + } catch (IOException e) { + throw new RuntimeException(e); + } + return mac; + } + + /** + * <pre> + * Comment : Local Port를 확인한다. + * </pre> + + * @return String port port를 리턴한다. + * @version 1.0 (2009.02.03.) + * @see + */ + public static List<String> getMyPortScan() { + + List<String> processes = new ArrayList<String>(); + BufferedReader input = null; + + try { + + Process p = null; + Runtime rt = Runtime.getRuntime(); + if ("WINDOWS".equals(Globals.OS_TYPE)) { + String[] execStr = { "netstat", "-an" }; + p = rt.exec(execStr); + input = new BufferedReader(new InputStreamReader(p.getInputStream())); + + while (true) { + String str = input.readLine(); + if (str == null) + break; + if (str.length() >= MAX_STR_LEN) { + throw new RuntimeException("input too long"); + } + if (!str.trim().equals("")) { + processes.add(str); + } + } + } else if ("UNIX".equals(Globals.OS_TYPE)) { + String cmdStr = EgovProperties.getPathProperty(Globals.SERVER_CONF_PATH, "SHELL." + Globals.OS_TYPE + ".getNetWorkInfo"); + String[] command = { cmdStr.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR), "SCAN" }; + p = Runtime.getRuntime().exec(command); + p = rt.exec(command); + + input = new BufferedReader(new InputStreamReader(p.getInputStream())); + while (true) { + String str = input.readLine(); + if (str == null) + break; + if (str.length() >= MAX_STR_LEN) { + throw new RuntimeException("input too long"); + } + if (!str.trim().equals("")) { + processes.add(str); + } + } + //log.debug("getMyPortScan 6"); + } + } catch (IOException e) { + throw new RuntimeException("IO Exception", e); + } finally { + EgovResourceCloseHelper.close(input); + } + + return processes; + } + + /** + * <pre> + * Comment : Local IPAddress를 확인한다. + * </pre> + * @return String mac Local IPAddress를 리턴한다. + * @version 1.0 (2009.02.03.) + * @see + */ + public static String getMyIPaddress() { + try { + + if (!EgovWebUtil.isIPAddress(InetAddress.getLocalHost().getHostAddress())) { + throw new RuntimeException("IP is needed. (" + InetAddress.getLocalHost().getHostAddress() + ")"); + } + + InetAddress InetA = InetAddress.getLocalHost(); + addrIP = InetA.getHostAddress(); + + } catch (IOException ex) { + throw new RuntimeException(ex); + } + + return addrIP; + } + + /** + * <pre> + * Comment : 네트워크 상태체크를 확인한다. + * </pre> + * @param String localIP localhost, gateway, host 주소 + * @return boolean status true/false 를 리턴한다. + * @version 1.0 (2009.02.03.) + * @see + */ + public static boolean getPingTest(String requestIP) throws Exception { + + boolean status = false; + + if (!EgovWebUtil.isIPAddress(requestIP)) { + throw new RuntimeException("IP is needed. (" + requestIP + ")"); + } + + status = InetAddress.getByName(requestIP).isReachable(3000); + + return status; + } + + /** + * <pre> + * Comment : 네트워크(MAC,IP,S/M,G/W,DNS) 정보를 확인한다. + * </pre> + * @param String stringOne 확인할 네트웍 정보 표기 ( ex:"MAC","IP","S/M","G/W","DNS") + * @return String (MAC,IP,S/M,G/W,DNS) 정보를 리턴한다. + * @version 1.0 (2009.02.07.) + * @see + */ + public static String getNetWorkInfo(String stringOne) throws IOException { + // 실행할 명령을 프로퍼티 파일에서 확인한다. + Process p = null; + + BufferedReader b_out = null; + + String tmp = ""; + String outValue = ""; + try { + String cmdStr = EgovProperties.getPathProperty(Globals.SERVER_CONF_PATH, "SHELL." + Globals.OS_TYPE + ".getNetWorkInfo"); + String[] command = { cmdStr.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR), stringOne }; + p = Runtime.getRuntime().exec(command); + b_out = new BufferedReader(new InputStreamReader(p.getInputStream())); + while (true) { + tmp = b_out.readLine(); + if (tmp == null) + break; + if (tmp.length() >= MAX_STR_LEN) { + throw new IllegalArgumentException("input too long"); + } + // netstat -v ent0 | grep "하드웨어 주소" -MAC + // prtconf | grep "IP 주소" -IP + // prtconf | grep "서브넷 마스크" -SM + // prtconf | grep "게이트웨이" -GW + if ("MAC".equals(stringOne)) { + outValue = getCharFilter(tmp); + } else if ("IP".equals(stringOne)) { + outValue = getCharFilter(tmp); + } else if ("SM".equals(stringOne)) { + outValue = getCharFilter(tmp); + } else if ("GW".equals(stringOne)) { + outValue = getCharFilter(tmp); + } else if ("DNS".equals(stringOne)) { + //tmp = "was은(는) 192.168.200.21입니다"; + outValue = getCharFilter(tmp); + } else { + outValue = "데이타가 존재하지 않습니다."; + } + } + } finally { + EgovResourceCloseHelper.close(b_out); + + if (p != null) { + p.destroy(); + } + } + return outValue; + } + + /** + * <pre> + * Comment : String 타입의 str값 중 숫자 정보만 필터링, 담아서 리턴. + * </pre> + * @param String str 필터링 대상 정보 + * @return String outValue 숫자 정보를 필터링 리턴한다. + * @version 1.0 (2009.02.07.) + * @see + */ + private static String getCharFilter(String str) { + String outValue = ""; + + for (int i = 0; i < str.length(); i++) { + char c = str.charAt(i); + + if (c > 45 && c < 59) { + Character cr = new Character(c); + outValue += cr.toString(); + } + } + return outValue; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovNetworkState.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovXMLDoc.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sim/service/EgovXMLDoc.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sim/service/EgovXMLDoc.java (revision 7) @@ -0,0 +1,337 @@ +/** + * Class Name : EgovXMLDoc.java + * Description : XML파일을 파싱하여 구조체 형태로 반환 또는 구조체 형태의 데이터를 XML파일로 저장하는 Business Interface class + * Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.02.03 박지욱 최초 생성 + * + * @author 공통 서비스 개발팀 박지욱 + * @since 2009. 02. 03 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +package egovframework.com.utl.sim.service; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStreamReader; + +import egovframework.com.cmm.EgovWebUtil; +import egovframework.com.cmm.service.EgovProperties; +import egovframework.com.cmm.service.Globals; +import egovframework.com.cmm.util.EgovResourceCloseHelper; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.transform.OutputKeys; +import javax.xml.transform.Result; +import javax.xml.transform.Source; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; + +import noNamespace.SndngMailDocument; + +import org.apache.xmlbeans.XmlOptions; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; +import org.w3c.dom.Text; + +public class EgovXMLDoc { + + // 파일구분자 + static final char FILE_SEPARATOR = File.separatorChar; + + // 최대 문자길이 + static final int MAX_STR_LEN = 1024; + + // Log + //protected static final Log log = LogFactory.getLog(EgovXMLDoc.class); + /** + * XML스키마를 자바클래스(임의)로 생성 + * @param String xml XML스키마 + * @param String ja 생성될JAR파일의 위치 + * @return boolean result 생성여부 True/False + * @exception Exception + */ + public static boolean creatSchemaToClass(String xml, String ja) throws Exception { + + boolean result = false; + + // 1. 스키마가 없으면 에러 + String file = xml.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File xmlFile = new File(file); + if (!xmlFile.exists() || !xmlFile.isFile()) { + //log.debug("+++ 지정된 위치에 스키마 파일이 없습니다."); + return false; + } + + // 2. 동일한 jar파일이 이미 존재하면 에러 + String jar = ja.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File jarFile = new File(jar); + if (jarFile.exists()) { + //log.debug("+++ 동일한 JAR 파일이 존재합니다."); + return false; + } + + // 3. scomp -src [소스생성위치] [xsd파일] : 입력받은 스키마를 컴파일하여 JAVA 소스파일로 생성 + Process p = null; + BufferedReader b_err = null; + String cmdStr = EgovProperties.getPathProperty(Globals.SHELL_FILE_PATH, "SHELL." + Globals.OS_TYPE + ".compileSchema"); + String[] command = { cmdStr.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR), jar, file }; + + try { + p = Runtime.getRuntime().exec(command); + //프로세스가 처리될때까지 대기 + p.waitFor(); + + //프로세스 에러시 종료 + if (p.exitValue() != 0) { + b_err = new BufferedReader(new InputStreamReader(p.getErrorStream())); + while (b_err.ready()) { + //String line = b_err.readLine(); + //if (line.length() <= MAX_STR_LEN) log.debug("ERR\n" + line); + } + b_err.close(); + } + //프로세스 실행 성공시 결과 확인 + else { + result = true; + } + } finally { + EgovResourceCloseHelper.close(b_err); + + if (p != null) { + p.destroy(); + } + } + return result; + } + + /** + * XML파일을 파싱하여 메일발송 클래스(임의)에 내용을 담아 반환 + * @param String file XML파일 + * @return SndngMailDocument mailDoc 메일발송 클래스(XML스키마를 통해 생성된 자바클래스) + * @exception Exception + */ + public static SndngMailDocument getXMLToClass(String file) throws Exception { + + File xmlFile = null; + FileInputStream fis = null; + SndngMailDocument mailDoc = null; + try { + String file1 = file.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + xmlFile = new File(EgovWebUtil.filePathBlackList(file1)); + if (xmlFile.exists() && xmlFile.isFile()) { + fis = new FileInputStream(xmlFile); + mailDoc = SndngMailDocument.Factory.parse(xmlFile); + + } + } finally { + EgovResourceCloseHelper.close(fis); + } + + return mailDoc; + } + + /** + * XML데이터를 XML파일로 저장 + * @param UserinfoDocument userDoc 사용자 임의 클래스(XML스키마를 통해 생성된 자바클래스) + * @param String fiile 저장될 파일 + * @return boolean 저장여부 True / False + * @exception Exception + */ + public static boolean getClassToXML(SndngMailDocument mailDoc, String file) throws Exception { + + boolean result = false; + + FileOutputStream fos = null; + + try { + + String file1 = file.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + file1 = EgovFileTool.createNewFile(file1); + File xmlFile = new File(EgovWebUtil.filePathBlackList(file1)); + fos = new FileOutputStream(xmlFile); + + XmlOptions xmlOptions = new XmlOptions(); + xmlOptions.setSavePrettyPrint(); + xmlOptions.setSavePrettyPrintIndent(4); + xmlOptions.setCharacterEncoding("UTF-8"); + String xmlStr = mailDoc.xmlText(xmlOptions); + + fos.write(xmlStr.getBytes("UTF-8")); + result = true; + + } finally { + EgovResourceCloseHelper.close(fos); + } + + return result; + } + + /** + * XML 파일을 파싱하여 데이터를 조작할 수 있는 Document 객체를 반환 + * @param String file XML파일 + * @return Document document 문서객체 + * @exception Exception + */ + public static Document getXMLDocument(String xml) throws Exception { + + Document xmlDoc = null; + + String file = xml.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcFile = new File(file); + FileInputStream fis = null; + try { + if (srcFile.exists() && srcFile.isFile()) { + + fis = new FileInputStream(srcFile); + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + DocumentBuilder builder = null; + factory.setValidating(true); + builder = factory.newDocumentBuilder(); + xmlDoc = builder.parse(fis); + } + } finally { + EgovResourceCloseHelper.close(fis); + } + + return xmlDoc; + } + + /** + * Document의 최상의 Element로 이동 + * @param Document document XML데이터 + * @return Element root 루트 + * @exception Exception + */ + public static Element getRootElement(Document document) throws Exception { + + Element root = document.getDocumentElement(); + return root; + } + + /** + * 하위에 새로운 Elemenet를 생성 + * @param Document document XML데이터 + * @prarm Element rt 추가될위치 + * @param id 생성될 Element의 ID + * @return Element element 추가된 Element + * @exception Exception + */ + public static Element insertElement(Document document, Element rt, String id) throws Exception { + + Element child = null; + Element root = null; + + if (rt == null) { + root = getRootElement(document); + } else { + root = rt; + } + child = document.createElement(id); + root.appendChild(child); + + return child; + } + + /** + * 하위에 문자열을 가지는 새로운 Elemenet를 생성 + * @param Document document XML데이터 + * @prarm Element rt 추가 위치 + * @param id 생성될 Element의 ID + * @param text Element 하위에 들어갈 문자열 + * @return Element element 추가된 Element + * @exception Exception + */ + public static Element insertElement(Document document, Element rt, String id, String text) throws Exception { + + Element echild = null; + Text tchild = null; + Element root = null; + + if (rt == null) { + root = getRootElement(document); + } else { + root = rt; + } + echild = document.createElement(id); + root.appendChild(echild); + tchild = document.createTextNode(text); + echild.appendChild(tchild); + + return echild; + } + + /** + * 하위에 문자열을 추가 + * @param Document document XML데이터 + * @prarm Element rt 추가 위치 + * @param id 생성될 Element의 ID + * @param text Element 하위에 들어갈 문자열 + * @return Element element 추가된 Element + * @exception Exception + */ + public static Text insertText(Document document, Element rt, String text) throws Exception { + + Text tchild = null; + Element root = null; + + if (rt == null) { + root = getRootElement(document); + } else { + root = rt; + } + tchild = document.createTextNode(text); + root.appendChild(tchild); + + return tchild; + } + + /** + * 마지막으로 입력되었거나 참조된 XML Node의 상위 Element를 리턴 + * @prarm Element current 현재노드 + * @return Element parent 상위노드 + * @exception Exception + */ + public static Element getParentNode(Element current) throws Exception { + + Node parent = current.getParentNode(); + return (Element) parent; + } + + /** + * Document 객체를 XML파일로 저장 + * @param Document document 문서객체 + * @param String fiile 저장될 파일 + * @return boolean 저장여부 True / False + * @exception Exception + */ + public static boolean getXMLFile(Document document, String file) throws Exception { + + boolean retVal = false; + + String file1 = file.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcFile = new File(file1); + if (srcFile.exists() && srcFile.isFile()) { + + Source source = new DOMSource(document); + Result result = new StreamResult(srcFile); + Transformer transformer = TransformerFactory.newInstance().newTransformer(); + transformer.setOutputProperty(OutputKeys.METHOD, "xml"); + transformer.setOutputProperty(OutputKeys.INDENT, "yes"); + transformer.transform(source, result); + } + + return retVal; + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovXMLDoc.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovClntInfo.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sim/service/EgovClntInfo.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sim/service/EgovClntInfo.java (revision 7) @@ -0,0 +1,122 @@ +/** + * Class Name : EgovClntInfo.java + * Description : 클라이언트(Client)의 IP주소, OS정보, 웹브라우저정보를 조회하는 Business Interface class + * Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.01.19 박지욱 최초 생성 + * + * @author 공통 서비스 개발팀 박지욱 + * @since 2009. 01. 19 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +package egovframework.com.utl.sim.service; + +import egovframework.com.cmm.service.EgovProperties; +import egovframework.com.cmm.service.Globals; + +import javax.servlet.http.HttpServletRequest; + +public class EgovClntInfo { + + /** + * 클라이언트(Client)의 IP주소를 조회하는 기능 + * @param HttpServletRequest request Request객체 + * @return String ipAddr IP주소 + * @exception Exception + */ + public static String getClntIP(HttpServletRequest request) throws Exception { + + // IP주소 + String ipAddr = request.getRemoteAddr(); + return ipAddr; + } + + /** + * 클라이언트(Client)의 OS 정보를 조회하는 기능 + * @param HttpServletRequest request Request객체 + * @return String osInfo OS 정보 + * @exception Exception + */ + public static String getClntOsInfo(HttpServletRequest request) throws Exception { + + String user_agent = request.getHeader("user-agent"); + String os_info = user_agent.toUpperCase().split(";")[2].split("\\)")[0]; + String os_conf = EgovProperties.getProperty(Globals.CLIENT_CONF_PATH, os_info.replaceAll(" ", "")); + String osInfo = ""; + if (os_conf != null && !"".equals(os_conf)) { + osInfo = os_conf; + } else { + osInfo = os_info; + } + return osInfo; + } + + /** + * 클라이언트(Client)의 웹브라우저 종류를 조회하는 기능 + * @param HttpServletRequest request Request객체 + * @return String webKind 웹브라우저 종류 + * @exception Exception + */ + public static String getClntWebKind(HttpServletRequest request) throws Exception { + + String user_agent = request.getHeader("user-agent"); + + // 웹브라우저 종류 조회 + String webKind = ""; + if (user_agent.toUpperCase().indexOf("GECKO") != -1) { + if (user_agent.toUpperCase().indexOf("NESCAPE") != -1) { + webKind = "Netscape (Gecko/Netscape)"; + } else if (user_agent.toUpperCase().indexOf("FIREFOX") != -1) { + webKind = "Mozilla Firefox (Gecko/Firefox)"; + } else { + webKind = "Mozilla (Gecko/Mozilla)"; + } + } else if (user_agent.toUpperCase().indexOf("MSIE") != -1) { + if (user_agent.toUpperCase().indexOf("OPERA") != -1) { + webKind = "Opera (MSIE/Opera/Compatible)"; + } else { + webKind = "Internet Explorer (MSIE/Compatible)"; + } + } else if (user_agent.toUpperCase().indexOf("SAFARI") != -1) { + if (user_agent.toUpperCase().indexOf("CHROME") != -1) { + webKind = "Google Chrome"; + } else { + webKind = "Safari"; + } + } else if (user_agent.toUpperCase().indexOf("THUNDERBIRD") != -1) { + webKind = "Thunderbird"; + } else { + webKind = "Other Web Browsers"; + } + return webKind; + } + + /** + * 클라이언트(Client)의 웹브라우저 버전을 조회하는 기능 + * @param HttpServletRequest request Request객체 + * @return String webVer 웹브라우저 버전 + * @exception Exception + */ + public static String getClntWebVer(HttpServletRequest request) throws Exception { + + String user_agent = request.getHeader("user-agent"); + + // 웹브라우저 버전 조회 + String webVer = ""; + String [] arr = {"MSIE", "OPERA", "NETSCAPE", "FIREFOX", "SAFARI"}; + for (int i = 0; i < arr.length; i++) { + int s_loc = user_agent.toUpperCase().indexOf(arr[i]); + if (s_loc != -1) { + int f_loc = s_loc + arr[i].length(); + webVer = user_agent.toUpperCase().substring(f_loc, f_loc+5); + webVer = webVer.replaceAll("/", "").replaceAll(";", "").replaceAll("^", "").replaceAll(",", "").replaceAll("//.", ""); + } + } + return webVer; + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovClntInfo.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovMenuGov.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sim/service/EgovMenuGov.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sim/service/EgovMenuGov.java (revision 7) @@ -0,0 +1,92 @@ +/** + * Class Name : EgovMenuGov.java + * Description : 메뉴관리 Business Interface class + * Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.02.02 이 용 최초 생성 + * + * @author 공통 서비스 개발팀 이 용 + * @since 2009. 02. 02 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by EGOV All right reserved. + */ +package egovframework.com.utl.sim.service; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.util.List; +import java.util.Vector; + +import egovframework.com.cmm.util.EgovResourceCloseHelper; + +public class EgovMenuGov { + + // 파일구분자 + static final char FILE_SEPARATOR = File.separatorChar; + + /** + * <pre> + * Comment : DAT 파일을 파싱하여 메뉴관리화면에 리턴. + * </pre> + * @param String parFile DAT파일명 + * @param String parChar 구분자 + * @param Int parField 필드수 + * @return Vector list + * @version 1.0 (2009.02.04.) + * @see + */ + public static Vector<List<String>> parsFileByMenuChar(String parFile, String parChar, int parField) throws Exception { + Vector<List<String>> list = null; + String FileName = null; + + FileName = parFile.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File file = new File(FileName); + + // 파일이며, 존재하면 파싱 시작 + if (file.exists() && file.isFile()) { + list = EgovFileTool.parsFileByChar(parFile, parChar, parField); + } else { + list = new Vector<List<String>>(); + } + + return list; + } + + /** + * <pre> + * Comment : 메뉴관리 화면의 데이타를 DAT 파일로 생성. + * </pre> + * @param String[] menuIDArray ID Array + * @param String[] menuNameArray Name Array + * @param String[] menuLevelArray Lefel Array + * @param String[] menuURLArray URL Array + * @return boolean true/false + * @version 1.0 (2009.02.04.) + * @see + */ + + public static boolean setDataByDATFile(String parFile, String[] menuIDArray, String[] menuNameArray, String[] menuLevelArray, String[] menuURLArray) throws Exception { + boolean success = false; + String FileName = null; + + FileName = parFile.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File file = new File(FileName); + BufferedWriter out = new BufferedWriter(new FileWriter(file)); + try { + + for (int i = 0; i < menuIDArray.length; i++) { //nodeId | parentNodeId | nodeName | nodeUrl + out.write(menuIDArray[i] + "|" + menuLevelArray[i] + "|" + menuNameArray[i] + "|" + menuURLArray[i] + "|"); + out.newLine(); + } + success = true; + } finally { + EgovResourceCloseHelper.close(out); + } + return success; + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovMenuGov.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileMntrg.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileMntrg.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileMntrg.java (revision 7) @@ -0,0 +1,335 @@ +/** + * Class Name : EgovFileMntrg.java + * Description : 시스템 네트워크 정보를 확인하여 제공하는 Business class + * Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.01.13 조재영 최초 생성 + * 2017.03.06 조성원 시큐어코딩(ES)-Null Pointer 역참조[CWE-476] + * + * @author 공통 서비스 개발팀 조재영 + * @since 2009. 01. 13 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by EGOV All right reserved. + */ +package egovframework.com.utl.sim.service; + +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.StringReader; +import java.util.ArrayList; +import java.util.List; + +import egovframework.com.cmm.util.EgovBasicLogger; +import egovframework.com.cmm.util.EgovResourceCloseHelper; + +public class EgovFileMntrg extends Thread { + + /** + * <p> + * 해당 파일의 변경 유무를 체크하기 위한 Default 초의 stati final 변수, 기본 적용은 값은 60초 + * </p> + */ + //static final public long DEFAULT_DELAY = 60000; // 60초 + static final public long DEFAULT_DELAY = 30000; // 30초 + + /** + * 최대 문자길이 + **/ + static final int MAX_STR_LEN = 1024; + + /** + * <p> + * 파일의 변경 유무를 체크하기 위한 해당파일명 변수 + * </p> + */ + protected String filename; + + /** + * <p> + * 해당 파일의 변경 유무를 체크하기 위한 Default 초의 stati final 변수, 기본 적용은 값은 60초{@link + * #DEFAULT_DELAY}. + * </p> + */ + protected long delay = DEFAULT_DELAY; + + File file; // 타겟(감시대상) 디렉토리 + File logFile; // 감시정보보관용 로그파일 + long lastModif = 0; + boolean warnedAlready = false; + boolean interrupted = false; + List<String> realOriginalList = new ArrayList<String>(); // 최초의 원본리스트 + List<String> originalList = new ArrayList<String>(); // 직전리스트는 주기적으로 직전목록정보로 갱신된다. + List<String> currentList = new ArrayList<String>(); // 직전리스트와 비교할 현시점 리스트 + List<String> changedList = new ArrayList<String>(); // 직전리스트와 비교한 시점에 발생된 변경리스트 + List<String> totalChangedList = new ArrayList<String>(); // 최초리스트와 비교한 변경 리스트 + // totalChangedList는 필요시 checkAndConfigure함수 내에서 주석해제후 사용(부하량을 고려하여 사용) + int cnt = 0; + + /** + * <p> + * 감시 하고자 하는 파일명을 파라메타로 받는 기본 컨스트럭터(Constructor). + * </p> + * + * @param filename + */ + protected EgovFileMntrg(String filename, File logFile) { + //log.debug("EgovFileMntrg start"); + this.logFile = logFile; + this.filename = filename; + file = new File(filename); + // 1. 최초생성시 현재 디렉토리의 하위정보를 ArrayList에 보관한다. 보관정보 ==> 절대경로 + "," + 최종수정일시 + "," + 사이즈 + File[] fList = file.listFiles(); + //2017.03.06 조성원 시큐어코딩(ES)-Null Pointer 역참조[CWE-476] + if(fList == null){ + fList = new File[0]; + } + for (int i = 0; i < fList.length; i++) { + realOriginalList.add(fList[i].getAbsolutePath() + "$" + getLastModifiedTime(fList[i]) + "$" + ((fList[i].length() / 1024) > 0 ? (fList[i].length() / 1024) : 1) + "KB"); + writeLog("ORI_" + fList[i].getAbsolutePath() + "$" + getLastModifiedTime(fList[i]) + "$" + ((fList[i].length() / 1024) > 0 ? (fList[i].length() / 1024) : 1) + "KB"); + } + + originalList = new ArrayList<String>(realOriginalList); + writeLog("START"); + setDaemon(true); + checkAndConfigure(); + //log.debug("EgovFileMntrg end"); + } + + /** + * <p> + * 감시 하고자 하는 파일의 변경 유무를 체크 하고자 하는 delay 초를 set. + * </p> + * + * @param delay 감시 주기 초 + */ + public void setDelay(long delay) { + this.delay = delay; + } + + /** + * <p> + * 해당 파일의 변경시 작업 할 내용을 기술 할 추상(abstract) 메소드 + * </p> + */ + //abstract protected void doOnChange(); + protected void doOnChange(List<String> changedList) { + //log.debug("doOnChange() start"); + for (int i = 0; i < changedList.size(); i++) { + writeLog((String) changedList.get(i)); + } + changedList.clear(); //직전리스트와 비교해서 변경된 내역은 로그처리한 후 초기화한다. + originalList = new ArrayList<String>(currentList); //현재리스트가 직전리스트가 된다.(새로 생성해야 함!) + cnt++; + + //log.debug("doOnChange() end"); + } + + /** + * <p> + * 파일의 변경 유무를 체크하는 메소드 + * </p> + */ + protected void checkAndConfigure() { + //log.debug("checkAndConfigure start"); + try { + currentList.clear(); + file = new File(filename); + // 현재정보를 ArrayList에 담는다. + File[] fList = file.listFiles(); + //2017.03.06 조성원 시큐어코딩(ES)-Null Pointer 역참조[CWE-476] + if(fList == null){ + fList = new File[0]; + } + + for (int i = 0; i < fList.length; i++) { + currentList.add(fList[i].getAbsolutePath() + "$" + getLastModifiedTime(fList[i]) + "$" + ((fList[i].length() / 1024) > 0 ? (fList[i].length() / 1024) : 1) + "KB"); + } + /* + for(int i = 0; i<originalList.size(); i++ ){ + //log.debug("in checkAndConfigure() ::: originalList:" + originalList.get(i)); + } + for(int i = 0; i<currentList.size(); i++ ){ + //log.debug("in checkAndConfigure() ::: currentList:" + currentList.get(i)); + } + */ + boolean isSame = false; + boolean isNew = true; + boolean isDel = true; + String str1 = ""; + String str2 = ""; + //int tmpCnt = 0; + + // 현재하위디렉토리정보와 초최하위디렉토리 정보를 비교한다. 삭제된 경우를 확인함 + for (int i = 0; i < originalList.size(); i++) { + for (int j = 0; j < currentList.size(); j++) { + str1 = (String) originalList.get(i); + str2 = (String) currentList.get(j); + if (str1.substring(0, str1.indexOf("$")).equals(str2.substring(0, str2.indexOf("$")))) { + isDel = false; + } + } + if (isDel) { + changedList.add("DEL$" + originalList.get(i)); + } + isDel = true; // 초기화 + } + + // 현재하위디렉토리 정보와 최초하위디렉토리 정보를 비교한다.(신규로 생성되었거나 수정된 경우를 확인함) + for (int i = 0; i < currentList.size(); i++) { + for (int j = 0; j < originalList.size(); j++) { + if (((String) currentList.get(i)).equals((String) originalList.get(j))) { + isSame = true; + } + str1 = (String) currentList.get(i); + str2 = (String) originalList.get(j); + if (str1.substring(0, str1.indexOf("$")).equals(str2.substring(0, str2.indexOf("$")))) { + isNew = false; + } + } + if (!isSame) { + if (isNew) { + changedList.add("NEW$" + currentList.get(i)); + //totalChangedList.add("NEW$"+currentList.get(i)); + } else { + changedList.add("MODI$" + currentList.get(i)); + //totalChangedList.add("MODI$"+currentList.get(i)); + } + } + isSame = false; // 초기화 + isNew = true; // 초기화 + } + } catch (NullPointerException e) { + EgovBasicLogger.debug("NullPointerException", e); + + } catch (RuntimeException e) { + //interrupted = true; // there is no point in continuing + + EgovBasicLogger.debug("Checking error", e); + } + + if (changedList.size() > 0) { + //log.debug("change occur , changed file check count:"+cnt+ " , changed file count:"+changedList.size()); + doOnChange(changedList); + } + + if (isEnd()) { + //log.debug("Thread Process END !!! (CNT :"+cnt+")"); + interrupted = true; + } + //log.debug("checkAndConfigure end"+changedList.size()); + } + + /** + * <p> + * 파일의 변경 유무의 체크를 주기적 초 단위로 실행 시키는 메소드 + * </p> + */ + public void run() { + while (!interrupted) { + try { + Thread.sleep(delay); + } catch (InterruptedException e) { + EgovBasicLogger.ignore("Interrupted Exception", e); + } + checkAndConfigure(); + } + if (interrupted) { + this.interrupt(); + } + } + + /** + * <pre> + * Comment : 디렉토리(파일)의 최종 수정시간를 확인한다.(기본로케일 java.util.Locale.KOREA 기준) + * </pre> + * @param File f 수정일자를 확인할 대상파일 + * @return String result 최종수정일자를 문자열로 리턴한다. + */ + public static String getLastModifiedTime(File f) { + long date = f.lastModified(); + java.text.SimpleDateFormat dateFormat = new java.text.SimpleDateFormat("yyyyMMdd:HH:mm:ss", java.util.Locale.KOREA); + return dateFormat.format(new java.util.Date(date)); + } + + /** + * <pre> + * Comment : 디렉토리(파일)의 로그정보를 기록한다. + * </pre> + * @param String logStr 추가할 로그정보(라인단위) + * @return boolean result 로그추가 성공여부 + */ + public boolean writeLog(String logStr) { + boolean result = false; + + FileWriter fWriter = null; + BufferedWriter bWriter = null; + BufferedReader br = null; + try { + fWriter = new FileWriter(logFile, true); + bWriter = new BufferedWriter(fWriter); + br = new BufferedReader(new StringReader(logStr)); + String line = ""; + while ((line = br.readLine()) != null) { + if (line.length() <= MAX_STR_LEN) { + bWriter.write(line + "\n", 0, line.length() + 1); + } + } + result = true; + } catch (IOException e) { + throw new RuntimeException("File IO exception", e); + } finally { + EgovResourceCloseHelper.close(br, bWriter, fWriter); + } + + return result; + } + + /** + * <pre> + * Comment : 디렉토리감시 종료여부를 확인한다. 해당 디렉토리에 대한 로그파일이 삭제된 경우는 감시를 종료한다. + * </pre> + * @return boolean isEnd 감시종료여부 중단하려면 true 리턴, 계속하려면 false 리턴 + */ + public boolean isEnd() { + //log.debug("isEnd start"); + boolean isEnd = false; + String lastStr = ""; + BufferedReader br = null; + FileReader fr = null; + + try { + if (logFile.exists()) { + //로그파일을 읽어서 마지막 끝에 END가 있으면 종료된것임 + + fr = new FileReader(logFile); + br = new BufferedReader(fr); + //int ch = 0; + String line = ""; + while ((line = br.readLine()) != null) { + if (line.length() <= MAX_STR_LEN) { + lastStr = line; + } + } + if (lastStr.equals("END")) { + isEnd = true; + } + } else { + //로그파일이 없는 경우(삭제된 경우)도 종료한다. + isEnd = true; + } + } catch (IOException e) { + throw new RuntimeException("File IO exception", e); + } finally { + EgovResourceCloseHelper.close(br, fr); + } + return isEnd; + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileMntrg.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileCmprs.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileCmprs.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileCmprs.java (revision 7) @@ -0,0 +1,222 @@ +/** + * Class Name : EgovFileCmprs.java + * Description : 파일(디렉토리)의 압축 및 압축해제 하는 Business Interface class + * Modification Information + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.02.04 박지욱 최초 생성 + * 2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + * 2017.03.03 조성원 시큐어코딩(ES)-Null Pointer 역참조[CWE-476] + * 2018.03.19 신용호 createDirectories() 호출및 예외처리 수정 + * 2020.08.28 신용호 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + * 2020.10.29 신용호 KISA 보안약점 조치 (경로 조작 및 자원 삽입) + * + * @author 공통 서비스 개발팀 박지욱 + * @since 2009. 02. 04 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +package egovframework.com.utl.sim.service; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.List; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; +import java.util.zip.ZipOutputStream; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import egovframework.com.cmm.EgovWebUtil; +import egovframework.com.cmm.util.EgovResourceCloseHelper; + +public class EgovFileCmprs { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovFileCmprs.class); + + final static int COMPRESSION_LEVEL = 8; + final static int BUFFER_SIZE = 64 * 1024; + final static char FILE_SEPARATOR = File.separatorChar; + + /** + * 파일(디렉토리)을 압축하는 기능 + * @param String source 원본파일명(디렉토리명) + * @param String target 압축파일명 + * @return boolean result 압축성공여부 True / False + * @exception Exception + */ + public static boolean cmprsFile(String source, String target) throws Exception { + + // 압축성공여부 + boolean result = false; + int cnt = 0; + // 읽어들일 byte 버퍼 + byte[] buffer = new byte[BUFFER_SIZE]; + + FileInputStream finput = null; + FileOutputStream foutput = null; + ZipOutputStream zoutput = null; + + String source1 = source.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + String target1 = target.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcFile = new File(source1); + + if (srcFile.exists()) { + + // 1. 파일인 경우 + if (srcFile.isFile()) { + + String target2 = EgovFileTool.createNewFile(target1); + File tarFile = new File(target2); + + foutput = null; + zoutput = null; + ZipEntry zentry = null; + + try { + foutput = new FileOutputStream(tarFile); + zoutput = new ZipOutputStream((OutputStream) foutput); + finput = new FileInputStream(srcFile); + zentry = new ZipEntry(srcFile.getName()); + zoutput.putNextEntry(zentry); + zoutput.setLevel(COMPRESSION_LEVEL); + cnt = 0; + while ((cnt = finput.read(buffer)) != -1) { + zoutput.write(buffer, 0, cnt); + } + zoutput.closeEntry(); + result = true; + + } catch (IOException e) { + //2017.03.03 조성원 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + if(tarFile.delete()){ + LOGGER.debug("[file.delete] tarFile : File Deletion Success"); + }else{ + LOGGER.error("[file.delete] tarFile : File Deletion Fail"); + } + throw e; + } finally { + EgovResourceCloseHelper.close(finput, zoutput, foutput); + } + + // 2. 디렉토리인 경우 + } else if (srcFile.isDirectory()) { + + String target2 = EgovFileTool.createNewFile(target1); + File tarFile = new File(target2); + + ZipEntry zentry = null; + + try { + foutput = new FileOutputStream(tarFile); + zoutput = new ZipOutputStream((OutputStream) foutput); + File[] fileArr = srcFile.listFiles(); + + //2017.03.03 조성원 시큐어코딩(ES)-Null Pointer 역참조[CWE-476] + if(fileArr == null){ + fileArr = new File[0]; + } + + List<String> list = EgovFileTool.getSubFilesByAll(fileArr); + + for (int i = 0; i < list.size(); i++) { + File sfile = new File((String) list.get(i)); + finput = new FileInputStream(sfile); + zentry = new ZipEntry(sfile.getAbsolutePath().replace('\\', '/').replaceAll(srcFile.getAbsolutePath().replace('\\', '/'), "")); + zoutput.putNextEntry(zentry); + zoutput.setLevel(COMPRESSION_LEVEL); + cnt = 0; + while ((cnt = finput.read(buffer)) != -1) { + zoutput.write(buffer, 0, cnt); + } + finput.close(); + result = true; + } + zoutput.closeEntry(); + } catch (IOException e) { + + //2020.08.28 신용호 시큐어코딩(ES)-부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + if(tarFile.delete()){ + LOGGER.debug("[file.delete] tarFile : File Deletion Success"); + }else{ + LOGGER.error("[file.delete] tarFile : File Deletion Fail"); + } + throw e; + } finally { + EgovResourceCloseHelper.close(finput, zoutput, foutput); + } + } + } + return result; + } + + /** + * 파일(디렉토리)을 압축해제하는 기능 + * @param String source 압축파일명 + * @param String target 압출이 풀릴 디렉토리 + * @return boolean result 압축해제성공여부 True / False + * @exception Exception + */ + public static boolean decmprsFile(String source, String target) throws Exception { + + // 압축해제성공여부 + boolean result = false; + int cnt = 0; + // 읽어들일 byte 버퍼 + byte[] buffer = new byte[BUFFER_SIZE]; + + FileInputStream finput = null; + FileOutputStream foutput = null; + ZipInputStream zinput = null; + + String source1 = source.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + String target1 = target.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcFile = new File(source1); + + if (srcFile.exists() && srcFile.isFile()) { + + String target2 = EgovFileTool.createNewDirectory(target1); + File tarFile = new File(target2); + finput = new FileInputStream(srcFile); + zinput = new ZipInputStream((InputStream) finput); + + ZipEntry entry; + + try { + + File efile; + while ((entry = zinput.getNextEntry()) != null) { + + String filename = entry.getName(); + String entryFilePath = tarFile.getAbsolutePath() + FILE_SEPARATOR + filename; + entryFilePath = EgovWebUtil.filePathBlackList(entryFilePath); + efile = new File(entryFilePath); + if (entry.isDirectory()) { + EgovFileTool.createDirectories(efile.getAbsolutePath()); + } else { + foutput = new FileOutputStream(efile); + while ((cnt = zinput.read(buffer)) != -1) { + if (foutput != null) + foutput.write(buffer, 0, cnt); + } + } + + } + + result = true; + + } finally { + EgovResourceCloseHelper.close(finput, zinput, foutput); + } + } + return result; + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileCmprs.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileScrty.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileScrty.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileScrty.java (revision 7) @@ -0,0 +1,274 @@ +/** + * Class Name : EgovFileScrty.java + * Description : Base64인코딩/디코딩 방식을 이용한 데이터를 암호화/복호화하는 Business Interface class + * Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.02.04 박지욱 최초 생성 + * + * @author 공통 서비스 개발팀 박지욱 + * @since 2009. 02. 04 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +package egovframework.com.utl.sim.service; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.InputStreamReader; +import java.security.MessageDigest; + +import egovframework.com.cmm.util.EgovResourceCloseHelper; + +import org.apache.commons.codec.binary.Base64; + +/** + * @Class Name : EgovFileScrty.java + * @Description : 파일 및 텍스트 문자열 암호화 처리하는 구현 클래스 + * @Modification Information + * + * 수정일 수정자 수정내용 + * ---------- ------- ------------------- + * 2019.11.29 신용호 encryptPassword(String data) 삭제 : KISA 보안약점 조치 (비밀번호 해시함수 적용 시 솔트를 사용하여야 함) + * + * @author 공통컴포넌트개발팀 한성곤 + * @since 2009.08.26 + * @version 1.0 + */ +public class EgovFileScrty { + + // 파일구분자 + static final char FILE_SEPARATOR = File.separatorChar; + + static final int BUFFER_SIZE = 1024; + + /** + * 파일을 암호화하는 기능 + * + * @param String source 암호화할 파일 + * @param String target 암호화된 파일 + * @return boolean result 암호화여부 True/False + * @exception Exception + */ + public static boolean encryptFile(String source, String target) throws Exception { + + // 암호화 여부 + boolean result = false; + + String sourceFile = source.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + String targetFile = target.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcFile = new File(sourceFile); + + BufferedInputStream input = null; + BufferedOutputStream output = null; + + byte[] buffer = new byte[BUFFER_SIZE]; + + try { + if (srcFile.exists() && srcFile.isFile()) { + + input = new BufferedInputStream(new FileInputStream(srcFile)); + output = new BufferedOutputStream(new FileOutputStream(targetFile)); + + int length = 0; + while ((length = input.read(buffer)) >= 0) { + byte[] data = new byte[length]; + System.arraycopy(buffer, 0, data, 0, length); + output.write(encodeBinary(data).getBytes()); + output.write(System.getProperty("line.separator").getBytes()); + } + result = true; + } + } finally { + EgovResourceCloseHelper.close(input, output); + } + + return result; + } + + /** + * 파일을 복호화하는 기능 + * + * @param String source 복호화할 파일 + * @param String target 복호화된 파일 + * @return boolean result 복호화여부 True/False + * @exception Exception + */ + public static boolean decryptFile(String source, String target) throws Exception { + + // 복호화 여부 + boolean result = false; + + String sourceFile = source.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + String targetFile = target.replace('\\', FILE_SEPARATOR).replace('/', FILE_SEPARATOR); + File srcFile = new File(sourceFile); + + BufferedReader input = null; + BufferedOutputStream output = null; + + //byte[] buffer = new byte[BUFFER_SIZE]; + String line = null; + + try { + if (srcFile.exists() && srcFile.isFile()) { + + input = new BufferedReader(new InputStreamReader(new FileInputStream(srcFile))); + output = new BufferedOutputStream(new FileOutputStream(targetFile)); + + while ((line = input.readLine()) != null) { + byte[] data = line.getBytes(); + output.write(decodeBinary(new String(data))); + } + + result = true; + } + } finally { + EgovResourceCloseHelper.close(input, output); + } + + return result; + } + + /** + * 데이터를 암호화하는 기능 + * + * @param byte[] data 암호화할 데이터 + * @return String result 암호화된 데이터 + * @exception Exception + */ + public static String encodeBinary(byte[] data) throws Exception { + if (data == null) { + return ""; + } + + return new String(Base64.encodeBase64(data)); + } + + /** + * 데이터를 암호화하는 기능 + * + * @param String data 암호화할 데이터 + * @return String result 암호화된 데이터 + * @exception Exception + */ + @Deprecated + public static String encode(String data) throws Exception { + return encodeBinary(data.getBytes()); + } + + /** + * 데이터를 복호화하는 기능 + * + * @param String data 복호화할 데이터 + * @return String result 복호화된 데이터 + * @exception Exception + */ + public static byte[] decodeBinary(String data) throws Exception { + return Base64.decodeBase64(data.getBytes()); + } + + /** + * 데이터를 복호화하는 기능 + * + * @param String data 복호화할 데이터 + * @return String result 복호화된 데이터 + * @exception Exception + */ + @Deprecated + public static String decode(String data) throws Exception { + return new String(decodeBinary(data)); + } + + /** + * 비밀번호를 암호화하는 기능(복호화가 되면 안되므로 SHA-256 인코딩 방식 적용) + * + * @param password 암호화될 패스워드 + * @param id salt로 사용될 사용자 ID 지정 + * @return + * @throws Exception + */ + public static String encryptPassword(String password, String id) throws Exception { + + if (password == null) return ""; + if (id == null) return ""; // KISA 보안약점 조치 (2018-12-11, 신용호) + + byte[] hashValue = null; // 해쉬값 + + MessageDigest md = MessageDigest.getInstance("SHA-256"); + + md.reset(); + md.update(id.getBytes()); + + hashValue = md.digest(password.getBytes()); + + return new String(Base64.encodeBase64(hashValue)); + } + + /** + * 비밀번호를 암호화하는 기능(복호화가 되면 안되므로 SHA-256 인코딩 방식 적용) + * @param data 암호화할 비밀번호 + * @param salt Salt + * @return 암호화된 비밀번호 + * @throws Exception + */ + public static String encryptPassword(String data, byte[] salt) throws Exception { + + if (data == null) { + return ""; + } + + byte[] hashValue = null; // 해쉬값 + + MessageDigest md = MessageDigest.getInstance("SHA-256"); + + md.reset(); + md.update(salt); + + hashValue = md.digest(data.getBytes()); + + return new String(Base64.encodeBase64(hashValue)); + } + + /** + * 비밀번호를 암호화된 패스워드 검증(salt가 사용된 경우만 적용). + * + * @param data 원 패스워드 + * @param encoded 해쉬처리된 패스워드(Base64 인코딩) + * @return + * @throws Exception + */ + public static boolean checkPassword(String data, String encoded, byte[] salt) throws Exception { + byte[] hashValue = null; // 해쉬값 + + MessageDigest md = MessageDigest.getInstance("SHA-256"); + + md.reset(); + md.update(salt); + hashValue = md.digest(data.getBytes()); + + return MessageDigest.isEqual(hashValue, Base64.decodeBase64(encoded.getBytes())); + } + + /* + public static void main(String[] args) { + try { + String password = "abc"; + String salt = "def"; + + String first = encryptPassword(password, salt.getBytes()); + String second = encryptPassword(password, salt.getBytes()); + System.out.println(password + " => " + first + " : " + checkPassword(password, first, salt.getBytes())); + System.out.println(password + " => " + second + " : " + checkPassword(password, second, salt.getBytes())); + } catch (Exception ex) { + ex.printStackTrace(); + } + } + */ +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovFileScrty.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovNetInfo.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sim/service/EgovNetInfo.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sim/service/EgovNetInfo.java (revision 7) @@ -0,0 +1,83 @@ +/** + * Class Name : ComUtlSimNetInfo.java + * Description : 시스템 네트워크 정보를 확인하여 제공하는 Business class + * Modification Information + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.01.13 조재영 최초 생성 + * 2017.03.03 조성원 시큐어코딩(ES)-Null Pointer 역참조[CWE-476] + * + * @author 공통 서비스 개발팀 조재영 + * @since 2009. 01. 13 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by EGOV All right reserved. + */ +package egovframework.com.utl.sim.service; + +import java.io.BufferedReader; +import java.io.InputStreamReader; + +import egovframework.com.cmm.service.EgovProperties; +import egovframework.com.cmm.service.Globals; +import egovframework.com.cmm.util.EgovResourceCloseHelper; + +public class EgovNetInfo { + // 최대 문자길이 + static final int MAX_STR_LEN = 1024; + + /** + * <pre> + * Comment : 호스트 정보를 확인한다. + * </pre> + * @return String hostStr 호스트명을 리턴한다.(테스트용 함수) + * @version 1.0 (2009.01.12.) + * @see + */ + public static String getHostName() throws Exception { + // 실행할 명령을 프로퍼티 파일에서 확인한다. + String command = EgovProperties.getPathProperty(Globals.SHELL_FILE_PATH, "SHELL." + Globals.OS_TYPE + ".getHostName"); + + // 출력할 결과 (파싱대상) + String hostStr = ""; + String tmp = ""; + BufferedReader b_err = null; + BufferedReader b_out = null; + try { + Process p = Runtime.getRuntime().exec(command); + //프로세스가 처리될때까지 대기 + p.waitFor(); + + //프로세스 에러시 종료 + if (p.exitValue() != 0) { + b_err = new BufferedReader(new InputStreamReader(p.getErrorStream())); + while (b_err.ready()) { + } + } + //프로세스 실행 성공시 결과 확인 + else { + b_out = new BufferedReader(new InputStreamReader(p.getInputStream())); + int i = 0; + while (b_out.ready()) { + //도스명령어 실행시 결과는 3번째 라인부터 출력됨.. + tmp = b_out.readLine(); + //2017.03.03 조성원 시큐어코딩(ES)-Null Pointer 역참조[CWE-476] + if(tmp != null){ + if (tmp.length() <= MAX_STR_LEN) { + if (i > 1) { + hostStr += tmp + "\n"; + } + i++; + } + } + } + // 시스템 로그 출력 + } + } finally { + EgovResourceCloseHelper.close(b_err, b_out); + } + return hostStr; + } +} Property changes on: base3.10/src/main/java/egovframework/com/utl/sim/service/EgovNetInfo.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sys/rsc/web/EgovLoginSesionController.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sys/rsc/web/EgovLoginSesionController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sys/rsc/web/EgovLoginSesionController.java (revision 7) @@ -0,0 +1,74 @@ +package egovframework.com.utl.sys.rsc.web; + +import egovframework.com.cmm.EgovMessageSource; +import egovframework.com.cmm.annotation.IncludedInfo; +import egovframework.com.utl.sys.rsc.service.EgovLoginSesionCeckUtil; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + + +/** + * 개요 + * - 로그인 세션정보체크 컴포넌트에 대한 controller 클래스를 정의한다. + * + * 상세내용 + * - 로그인 세션정보체크에 대한 기능을 제공한다. + * @author lee.m.j + * @version 1.0 + * @created 28-6-2010 오전 10:44:26 + * <pre> + * == 개정이력(Modification Information) == + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2010.06.28 lee.m.j 최초 생성 + * 2011.8.26 정진오 IncludedInfo annotation 추가 + * </pre> + */ + +@Controller +public class EgovLoginSesionController { + + @Resource(name="egovLoginSesionCeckUtil") + private EgovLoginSesionCeckUtil egovLoginSesionCeckUtil; + + @Resource(name="egovMessageSource") + EgovMessageSource egovMessageSource; + + /** + * 로그인 세션정보체크 화면 이동 + * @return String + */ + @IncludedInfo(name="로그인세션정보체크", order = 2160 ,gid = 90) + @RequestMapping(value="/utl/sys/rsc/loginSessionView.do") + public String checkLoginSessionView() throws Exception { + return "egovframework/com/utl/sys/rsc/EgovLoginSesionCheck"; + } + + /** + * 로그인 후 이동할 처리화면을 세션에 등록한다. + * @param url - String + * @return String + */ + @RequestMapping(value="/utl/sys/rsc/setLoginSession.do") + public String setLoginSession(@RequestParam("url") String url) throws Exception { + egovLoginSesionCeckUtil.setLoginSession(url); + return "forward:/utl/sys/rsc/loginSessionView.do"; + } + + /** + * 로그인 세션정보체크 + * @return String + */ + @RequestMapping(value="/utl/sys/rsc/checkLloginSession.do") + public String checkLoginSession() throws Exception { + egovLoginSesionCeckUtil.checkLoginSessionView(); + return "egovframework/com/utl/sys/rsc/EgovLoginSesionCheck"; + } + + +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/utl/sys/rsc/web/EgovLoginSesionController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/sys/rsc/service/EgovLoginSesionCeckUtil.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/sys/rsc/service/EgovLoginSesionCeckUtil.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/sys/rsc/service/EgovLoginSesionCeckUtil.java (revision 7) @@ -0,0 +1,52 @@ +package egovframework.com.utl.sys.rsc.service; + +import egovframework.com.cmm.LoginVO; +import egovframework.com.cmm.util.EgovUserDetailsHelper; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import org.springframework.stereotype.Service; + +/** + * 개요 + * - 로그인 세션정보체크 컴포넌트에 대한 util 클래스를 정의한다. + * + * 상세내용 + * - 로그인 세션정보체크에 대한 기능을 제공한다. + * @author lee.m.j + * @version 1.0 + * @created 28-6-2010 오전 10:44:26 + */ + +@Service("egovLoginSesionCeckUtil") +public class EgovLoginSesionCeckUtil extends EgovAbstractServiceImpl { + + /** + * 로그인 후 이동할 처리화면을 세션에 등록한다. + * @param url - String + * @return String + */ + public void setLoginSession(String url) throws Exception { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + // KISA 보안취약점 조치 (2018-12-10, 이정은) + if ( user != null ) { + user.setUrl(""); + user.setUrl(url); + } + //new EgovUserDetails(user.getId(), user.getPassword(), true, user); + } + + /** + * 로그인 세션정보체크 화면 이동 + * @return String - 세션URL + */ + public String checkLoginSessionView() throws Exception { + LoginVO user = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); + // KISA 보안취약점 조치 (2018-12-10, 이정은) + if ( user == null ) + return ""; + else + return user.getUrl(); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/utl/sys/rsc/service/EgovLoginSesionCeckUtil.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/pao/web/EgovErncslController.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/pao/web/EgovErncslController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/pao/web/EgovErncslController.java (revision 7) @@ -0,0 +1,116 @@ +package egovframework.com.utl.pao.web; + +import java.io.IOException; +import java.sql.SQLException; + +import javax.annotation.Resource; +import javax.servlet.ServletConfig; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; + +import egovframework.com.utl.pao.service.EgovPrntngOutpt; +import egovframework.com.utl.pao.service.PrntngOutptVO; + +/** + * + * 전자관인에 관한 Util 테스트를 위한 화면 Controller + * @author 공통서비스 개발팀 이중호 + * @since 2009.04.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.04.01 이중호 최초 생성 + * 2017-02-14 이정은 시큐어코딩(ES) - 시큐어코딩 부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + * 2019.12.06 신용호 KISA 보안약점 조치 (부적절한 예외처리) , EgovPropertyService 삭제 + * + * </pre> + */ +@Controller +public class EgovErncslController extends HttpServlet { + + private static final long serialVersionUID = 8921470672390456794L; + + @Resource(name = "PrntngOutpt") + private EgovPrntngOutpt prntngOutpt; + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovErncslController.class); + + /** + * 서블릿 초기화 + */ + public void init(ServletConfig config) throws ServletException { + super.init(config); + } + + /** + * 관인이미지를 조회하여 출력 + * @param + * @param + * @return + * @exception MyException + * @see + */ + @RequestMapping(value = "/utl/pao/EgovErncsl.do") + public void doGet(@RequestParam("sOrgCode") String orgCode, @RequestParam("sErncslSe") String erncslSe, HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + + LOGGER.info("EgovErncsl start...."); + + PrntngOutptVO req = new PrntngOutptVO(); + + req.setOrgCode(orgCode); + req.setErncslSe(erncslSe); + + PrntngOutptVO res = null; + try { + res = prntngOutpt.selectErncsl(req); + } catch (SQLException e) { + LOGGER.error("["+ e.getClass() +"] : ", e.getMessage()); + throw new RuntimeException("Service call error", e); + } catch (Exception e) { +// LOGGER.error(e.getMessage()); + // 2017-02-14 이정은 시큐어코딩(ES) - 시큐어코딩 부적절한 예외 처리[CWE-253, CWE-440, CWE-754] + LOGGER.error("["+ e.getClass() +"] : ", e.getMessage()); + throw new RuntimeException("Service call error", e); + } + + if (res == null) { + throw new RuntimeException("image not found!!!"); + } + + byte[] img = res.getImgInfo(); + String imgtype = res.getImgType(); + String type = ""; + + if (imgtype != null && !"".equals(imgtype)) { + type = "image/" + imgtype; + } else { + LOGGER.debug("Image fileType is null."); + } + if (img == null) { + LOGGER.debug("Image fileInfo is null."); + return; + } + + response.setHeader("Content-Type", type.replaceAll("\r", "").replaceAll("\n", "")); + response.setHeader("Content-Length", "" + img.length); + response.getOutputStream().write(img); + response.getOutputStream().flush(); + response.getOutputStream().close(); + + LOGGER.info("EgovErncsl end...."); + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/utl/pao/web/EgovErncslController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/pao/web/EgovPrntngOutptController.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/pao/web/EgovPrntngOutptController.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/pao/web/EgovPrntngOutptController.java (revision 7) @@ -0,0 +1,74 @@ +package egovframework.com.utl.pao.web; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.servlet.ModelAndView; + +/** + * + * 전자관인 출력 화면 Controller 클래스 + * @author 공통서비스 개발팀 이중호 + * @since 2009.02.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.02.01 이중호 최초 생성 + * + * </pre> + */ +@Controller +public class EgovPrntngOutptController { + + private static final Logger LOGGER = LoggerFactory.getLogger(EgovPrntngOutptController.class); + + /** + * 전자관인 출력 화면 컨트롤 + * @param request + * @param response + * @return + * @throws ServletException + * @throws IOException + */ + @RequestMapping(value = "/utl/pao/EgovPrntngOutpt.do") + public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + LOGGER.info("EgovPrntngOutptController start...."); + Map<String, Object> cmdModel = new HashMap<String, Object>(); + + // 이동할 JSP + String jspStr = ""; + // 결과정보 + //String resultStr = ""; + // 실행명령어 + String cmdStr = request.getParameter("cmdStr"); + if (cmdStr == null || cmdStr.equals("")) { + cmdStr = ""; + } + + // 실행명령어에 따른 JSP 할당 + if (cmdStr.equals("ComUtlPaoErncslOutpt")) { // test 샘플용 경로 + jspStr = "egovframework/com/utl/pao/EgovErncslOutpt"; + + cmdModel.put("resultStr", "UTILITY 직접 호출"); + } else { + jspStr = "/egovDevIndex"; + } + LOGGER.info("EgovPrntngOutptController end...."); + + return new ModelAndView(jspStr, "cmdModel", cmdModel); + } +} \ No newline at end of file Property changes on: base3.10/src/main/java/egovframework/com/utl/pao/web/EgovPrntngOutptController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/pao/service/impl/EgovPrntngOutptImpl.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/pao/service/impl/EgovPrntngOutptImpl.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/pao/service/impl/EgovPrntngOutptImpl.java (revision 7) @@ -0,0 +1,42 @@ +package egovframework.com.utl.pao.service.impl; + +import egovframework.com.utl.pao.service.EgovPrntngOutpt; +import egovframework.com.utl.pao.service.PrntngOutptVO; + +import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; + +import javax.annotation.Resource; + +import org.springframework.stereotype.Service; + +/** + * + * 관인이미지에 대한 서비스 구현클래스를 정의한다 + * @author 공통서비스 개발팀 이중호 + * @since 2009.04.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.04.01 이중호 최초 생성 + * + * </pre> + */ +@Service("PrntngOutpt") +public class EgovPrntngOutptImpl extends EgovAbstractServiceImpl implements EgovPrntngOutpt { + + @Resource(name="PrntngOutptDAO") + private PrntngOutptDAO prntngOutptDAO; + + /** + * 관인이미지를 조회한다. + */ + public PrntngOutptVO selectErncsl(PrntngOutptVO searchVO) throws Exception { + return prntngOutptDAO.selectErncsl(searchVO); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/utl/pao/service/impl/EgovPrntngOutptImpl.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/pao/service/impl/PrntngOutptDAO.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/pao/service/impl/PrntngOutptDAO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/pao/service/impl/PrntngOutptDAO.java (revision 7) @@ -0,0 +1,39 @@ +package egovframework.com.utl.pao.service.impl; + +import egovframework.com.cmm.service.impl.EgovComAbstractDAO; +import egovframework.com.utl.pao.service.PrntngOutptVO; + +import org.springframework.stereotype.Repository; + +/** + * + * 전자관인에서 사용해야 하는 서비스를 정의하기위한 데이터 접근 클래스 + * @author 공통서비스 개발팀 이중호 + * @since 2009.02.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.02.01 이중호 최초 생성 + * + * </pre> + */ +@Repository("PrntngOutptDAO") +public class PrntngOutptDAO extends EgovComAbstractDAO { + + /** + * 주어진 조건에 따른 공통코드를 불러온다. + * @param vo + * @return + * @throws Exception + */ + public PrntngOutptVO selectErncsl(PrntngOutptVO vo) throws Exception{ + String queryId = "PrntngOutptDAO.selectErncsl"; + return (PrntngOutptVO) selectOne(queryId, vo); + } + +} Property changes on: base3.10/src/main/java/egovframework/com/utl/pao/service/impl/PrntngOutptDAO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/pao/service/PrntngOutptVO.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/pao/service/PrntngOutptVO.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/pao/service/PrntngOutptVO.java (revision 7) @@ -0,0 +1,124 @@ +package egovframework.com.utl.pao.service; + +import java.io.Serializable; + +/** + * + * 관인이미지 모델 클래스 + * @author 공통서비스 개발팀 이중호 + * @since 2009.02.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.02.01 이중호 최초 생성 + * + * </pre> + */ +public class PrntngOutptVO implements Serializable { + + private static final long serialVersionUID = 941289557959718464L; + + /* + * 이미지정보 + */ + private byte[] imgInfo; + + /* + * 이미지타입 + */ + private String imgType; + + /* + * 기관코드 + */ + private String orgCode; + + /* + * 관인구분 + */ + private String erncslSe; + + /** + * imgInfo attribute 를 리턴한다. + * @return byte[] + */ + public byte[] getImgInfo() { + byte[] ret = null; + + if (imgInfo != null) { + ret = new byte[imgInfo.length]; + + for (int i = 0; i < imgInfo.length; i++) { + ret[i] = imgInfo[i]; + } + } + return ret; + } + + /** + * imgInfo attribute 값을 설정한다. + * @param imgInfo byte[] + */ + public void setImgInfo(byte[] imgInfo) { + this.imgInfo = new byte[imgInfo.length]; + + for (int i = 0; i < imgInfo.length; ++i) { + this.imgInfo[i] = imgInfo[i]; + } + } + + /** + * imgType attribute 를 리턴한다. + * @return String + */ + public String getImgType() { + return imgType; + } + + /** + * imgType attribute 값을 설정한다. + * @param imgType String + */ + public void setImgType(String imgType) { + this.imgType = imgType; + } + + /** + * orgCode attribute 를 리턴한다. + * @return String + */ + public String getOrgCode() { + return orgCode; + } + + /** + * orgCode attribute 값을 설정한다. + * @param orgCode String + */ + public void setOrgCode(String orgCode) { + this.orgCode = orgCode; + } + + /** + * erncslSe attribute 를 리턴한다. + * @return String + */ + public String getErncslSe() { + return erncslSe; + } + + /** + * erncslSe attribute 값을 설정한다. + * @param erncslSe String + */ + public void setErncslSe(String erncslSe) { + this.erncslSe = erncslSe; + } + + +} Property changes on: base3.10/src/main/java/egovframework/com/utl/pao/service/PrntngOutptVO.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/java/egovframework/com/utl/pao/service/EgovPrntngOutpt.java =================================================================== --- base3.10/src/main/java/egovframework/com/utl/pao/service/EgovPrntngOutpt.java (nonexistent) +++ base3.10/src/main/java/egovframework/com/utl/pao/service/EgovPrntngOutpt.java (revision 7) @@ -0,0 +1,27 @@ +package egovframework.com.utl.pao.service; + +/** + * + * 관인 처리 Util 클래스 + * @author 공통서비스 개발팀 이중호 + * @since 2009.02.01 + * @version 1.0 + * @see + * + * <pre> + * << 개정이력(Modification Information) >> + * + * 수정일 수정자 수정내용 + * ------- -------- --------------------------- + * 2009.02.01 이중호 최초 생성 + * + * </pre> + */ +public interface EgovPrntngOutpt { + + /** + * 전자관인 정보를 제공하는 기능 + */ + PrntngOutptVO selectErncsl(PrntngOutptVO searchVO) throws Exception; + +} Property changes on: base3.10/src/main/java/egovframework/com/utl/pao/service/EgovPrntngOutpt.java ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/logback.xml =================================================================== --- base3.10/src/main/resources/logback.xml (nonexistent) +++ base3.10/src/main/resources/logback.xml (revision 7) @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<configuration> + <property name="LOGS_PATH" value="../logs"/> <!--로그 파일 저장 위치--> + + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>[logback]%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> + </encoder> + </appender> + + <appender name="DAILY_ROLLING_FILE_APPENDER" class="ch.qos.logback.core.rolling.RollingFileAppender"> + <file>${LOGS_PATH}/logback.log</file> + <encoder> + <pattern>[%d{yyyy-MM-dd HH:mm:ss}:%-3relative][%thread] %-5level%logger{35} - %msg%n</pattern> + </encoder> + <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> + <fileNamePattern>${LOGS_PATH}/logback.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern> + <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> + <!-- or whenever the file size reaches 100MB --> + <maxFileSize>5MB</maxFileSize> + <!-- kb, mb, gb --> + </timeBasedFileNamingAndTriggeringPolicy> + <maxHistory>30</maxHistory> + </rollingPolicy> + </appender> + + <logger name="java.sql" level="ERROR" /> +<!-- <logger name="ctm" level="ERROR" /> --> + <logger name="egovframework.com.cop.bbs" level="DEBUG" /> + <logger name="egovframework.com.poll" level="DEBUG" /> + <logger name="jdbc.sqltiming" level="ERROR" /> + <logger name="jdbc.audit" level="ERROR" /> + <logger name="jdbc.resultset" level="ERROR" /> + <logger name="org.springframework" level="ERROR" /> + <logger name="jdbc.sqlonly" level="INFO" /> + <logger name="jdbc.resultsettable" level="INFO" /> + <root level="ERROR"> + <appender-ref ref="STDOUT" /> + <!-- <appender-ref ref="DAILY_ROLLING_FILE_APPENDER" /> --> + </root> +<typeAliases></typeAliases> +</configuration> \ No newline at end of file Property changes on: base3.10/src/main/resources/logback.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_tibero.xml (revision 7) @@ -0,0 +1,122 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorGroupDAO"> + + <resultMap id="authorGroup" type="egovframework.com.sec.rgm.service.AuthorGroupVO"> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="groupId" column="GROUP_ID"/> + <result property="mberTyCode" column="MBER_TY_CODE"/> + <result property="mberTyNm" column="MBER_TY_NM"/> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="regYn" column="REG_YN"/> + <result property="uniqId" column="ESNTL_ID"/> + </resultMap> + + <select id="selectAuthorGroupList" parameterType="egovframework.com.sec.rgm.service.AuthorGroupVO" resultMap="authorGroup"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + SELECT A.USER_ID, + A.USER_NM, + A.GROUP_ID, + A.MBER_TY_CODE, + (SELECT CODE_NM + FROM COMTCCMMNDETAILCODE + WHERE CODE_ID = 'COM012' + AND CODE = A.MBER_TY_CODE + AND USE_AT = 'Y') AS MBER_TY_NM, + B.AUTHOR_CODE, + (CASE WHEN B.SCRTY_DTRMN_TRGET_ID IS NULL THEN 'N' + ELSE 'Y' + END) AS REG_YN, + ESNTL_ID + FROM (SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE, ESNTL_ID + FROM COMTNGNRLMBER + UNION ALL + SELECT ENTRPRS_MBER_ID USER_ID, CMPNY_NM USER_NM, GROUP_ID, 'USR02' MBER_TY_CODE, ESNTL_ID + FROM COMTNENTRPRSMBER + UNION ALL + SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE, ESNTL_ID + FROM COMTNEMPLYRINFO ) A LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS B + ON A.ESNTL_ID = B.SCRTY_DTRMN_TRGET_ID + WHERE 1 = 1 + + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_ID LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 2">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 3">AND + A.GROUP_ID = #{searchKeyword} + </if> + </if> + <![CDATA[ + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <insert id="insertAuthorGroup" parameterType="egovframework.com.sec.rgm.service.AuthorGroup"> + + INSERT INTO COMTNEMPLYRSCRTYESTBS + ( SCRTY_DTRMN_TRGET_ID + , MBER_TY_CODE + , AUTHOR_CODE) + VALUES ( #{uniqId} + , #{mberTyCode} + , #{authorCode}) + + </insert> + + <update id="updateAuthorGroup" parameterType="egovframework.com.sec.rgm.service.AuthorGroup"> + + UPDATE COMTNEMPLYRSCRTYESTBS + SET MBER_TY_CODE=#{mberTyCode} + , AUTHOR_CODE=#{authorCode} + WHERE SCRTY_DTRMN_TRGET_ID=#{uniqId} + + </update> + + <delete id="deleteAuthorGroup"> + + DELETE FROM COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID=#{uniqId} + + </delete> + + <select id="selectAuthorGroupListTotCnt" parameterType="egovframework.com.sec.rgm.service.AuthorGroupVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM (SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE + FROM COMTNGNRLMBER + UNION ALL + SELECT ENTRPRS_MBER_ID USER_ID, CMPNY_NM USER_NM, GROUP_ID, 'USR02' MBER_TY_CODE + FROM COMTNENTRPRSMBER + UNION ALL + SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE + FROM COMTNEMPLYRINFO ) A LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS B + ON A.USER_ID = B.SCRTY_DTRMN_TRGET_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_ID LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 2">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 3">AND + A.GROUP_ID = #{searchKeyword} + </if> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_mysql.xml (revision 7) @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorGroupDAO"> + + <resultMap id="authorGroup" type="egovframework.com.sec.rgm.service.AuthorGroupVO"> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="groupId" column="GROUP_ID"/> + <result property="mberTyCode" column="MBER_TY_CODE"/> + <result property="mberTyNm" column="MBER_TY_NM"/> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="regYn" column="REG_YN"/> + <result property="uniqId" column="ESNTL_ID"/> + </resultMap> + + <select id="selectAuthorGroupList" parameterType="egovframework.com.sec.rgm.service.AuthorGroupVO" resultMap="authorGroup"> + SELECT A.USER_ID, + A.USER_NM, + A.GROUP_ID, + A.MBER_TY_CODE, + (SELECT CODE_NM + FROM COMTCCMMNDETAILCODE + WHERE CODE_ID = 'COM012' + AND CODE = A.MBER_TY_CODE + AND USE_AT = 'Y') AS MBER_TY_NM, + B.AUTHOR_CODE, + (CASE WHEN B.SCRTY_DTRMN_TRGET_ID IS NULL THEN 'N' + ELSE 'Y' + END) AS REG_YN, + ESNTL_ID + FROM (SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE, ESNTL_ID + FROM COMTNGNRLMBER + UNION ALL + SELECT ENTRPRS_MBER_ID USER_ID, CMPNY_NM USER_NM, GROUP_ID, 'USR02' MBER_TY_CODE, ESNTL_ID + FROM COMTNENTRPRSMBER + UNION ALL + SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE, ESNTL_ID + FROM COMTNEMPLYRINFO ) A LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS B + ON A.ESNTL_ID = B.SCRTY_DTRMN_TRGET_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_ID LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + <if test="searchCondition == 2">AND + A.USER_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + <if test="searchCondition == 3">AND + A.GROUP_ID = #{searchKeyword} + </if> + </if> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <insert id="insertAuthorGroup" parameterType="egovframework.com.sec.rgm.service.AuthorGroup"> + + INSERT INTO COMTNEMPLYRSCRTYESTBS + ( SCRTY_DTRMN_TRGET_ID + , MBER_TY_CODE + , AUTHOR_CODE) + VALUES ( #{uniqId} + , #{mberTyCode} + , #{authorCode}) + + </insert> + + <update id="updateAuthorGroup" parameterType="egovframework.com.sec.rgm.service.AuthorGroup"> + + UPDATE COMTNEMPLYRSCRTYESTBS + SET MBER_TY_CODE=#{mberTyCode} + , AUTHOR_CODE=#{authorCode} + WHERE SCRTY_DTRMN_TRGET_ID=#{uniqId} + + </update> + + <delete id="deleteAuthorGroup"> + + DELETE FROM COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID=#{uniqId} + + </delete> + + <select id="selectAuthorGroupListTotCnt" parameterType="egovframework.com.sec.rgm.service.AuthorGroupVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM (SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE + FROM COMTNGNRLMBER + UNION ALL + SELECT ENTRPRS_MBER_ID USER_ID, CMPNY_NM USER_NM, GROUP_ID, 'USR02' MBER_TY_CODE + FROM COMTNENTRPRSMBER + UNION ALL + SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE + FROM COMTNEMPLYRINFO ) A LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS B + ON A.USER_ID = B.SCRTY_DTRMN_TRGET_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_ID LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + <if test="searchCondition == 2">AND + A.USER_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + <if test="searchCondition == 3">AND + A.GROUP_ID = #{searchKeyword} + </if> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_postgres.xml (revision 7) @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorGroupDAO"> + + <resultMap id="authorGroup" type="egovframework.com.sec.rgm.service.AuthorGroupVO"> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="groupId" column="GROUP_ID"/> + <result property="mberTyCode" column="MBER_TY_CODE"/> + <result property="mberTyNm" column="MBER_TY_NM"/> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="regYn" column="REG_YN"/> + <result property="uniqId" column="ESNTL_ID"/> + </resultMap> + + <select id="selectAuthorGroupList" parameterType="egovframework.com.sec.rgm.service.AuthorGroupVO" resultMap="authorGroup"> + SELECT A.USER_ID, + A.USER_NM, + A.GROUP_ID, + A.MBER_TY_CODE, + (SELECT CODE_NM + FROM COMTCCMMNDETAILCODE + WHERE CODE_ID = 'COM012' + AND CODE = A.MBER_TY_CODE + AND USE_AT = 'Y') AS MBER_TY_NM, + B.AUTHOR_CODE, + (CASE WHEN B.SCRTY_DTRMN_TRGET_ID IS NULL THEN 'N' + ELSE 'Y' + END) AS REG_YN, + ESNTL_ID + FROM (SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE, ESNTL_ID + FROM COMTNGNRLMBER + UNION ALL + SELECT ENTRPRS_MBER_ID USER_ID, CMPNY_NM USER_NM, GROUP_ID, 'USR02' MBER_TY_CODE, ESNTL_ID + FROM COMTNENTRPRSMBER + UNION ALL + SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE, ESNTL_ID + FROM COMTNEMPLYRINFO ) A LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS B + ON A.ESNTL_ID = B.SCRTY_DTRMN_TRGET_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_ID LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + <if test="searchCondition == 2">AND + A.USER_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + <if test="searchCondition == 3">AND + A.GROUP_ID = #{searchKeyword} + </if> + </if> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <insert id="insertAuthorGroup" parameterType="egovframework.com.sec.rgm.service.AuthorGroup"> + + INSERT INTO COMTNEMPLYRSCRTYESTBS + ( SCRTY_DTRMN_TRGET_ID + , MBER_TY_CODE + , AUTHOR_CODE) + VALUES ( #{uniqId} + , #{mberTyCode} + , #{authorCode}) + + </insert> + + <update id="updateAuthorGroup" parameterType="egovframework.com.sec.rgm.service.AuthorGroup"> + + UPDATE COMTNEMPLYRSCRTYESTBS + SET MBER_TY_CODE=#{mberTyCode} + , AUTHOR_CODE=#{authorCode} + WHERE SCRTY_DTRMN_TRGET_ID=#{uniqId} + + </update> + + <delete id="deleteAuthorGroup"> + + DELETE FROM COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID=#{uniqId} + + </delete> + + <select id="selectAuthorGroupListTotCnt" parameterType="egovframework.com.sec.rgm.service.AuthorGroupVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM (SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE + FROM COMTNGNRLMBER + UNION ALL + SELECT ENTRPRS_MBER_ID USER_ID, CMPNY_NM USER_NM, GROUP_ID, 'USR02' MBER_TY_CODE + FROM COMTNENTRPRSMBER + UNION ALL + SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE + FROM COMTNEMPLYRINFO ) A LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS B + ON A.USER_ID = B.SCRTY_DTRMN_TRGET_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_ID LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + <if test="searchCondition == 2">AND + A.USER_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + <if test="searchCondition == 3">AND + A.GROUP_ID = #{searchKeyword} + </if> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_maria.xml (revision 7) @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorGroupDAO"> + + <resultMap id="authorGroup" type="egovframework.com.sec.rgm.service.AuthorGroupVO"> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="groupId" column="GROUP_ID"/> + <result property="mberTyCode" column="MBER_TY_CODE"/> + <result property="mberTyNm" column="MBER_TY_NM"/> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="regYn" column="REG_YN"/> + <result property="uniqId" column="ESNTL_ID"/> + </resultMap> + + <select id="selectAuthorGroupList" parameterType="egovframework.com.sec.rgm.service.AuthorGroupVO" resultMap="authorGroup"> + SELECT A.USER_ID, + A.USER_NM, + A.GROUP_ID, + A.MBER_TY_CODE, + (SELECT CODE_NM + FROM COMTCCMMNDETAILCODE + WHERE CODE_ID = 'COM012' + AND CODE = A.MBER_TY_CODE + AND USE_AT = 'Y') AS MBER_TY_NM, + B.AUTHOR_CODE, + (CASE WHEN B.SCRTY_DTRMN_TRGET_ID IS NULL THEN 'N' + ELSE 'Y' + END) AS REG_YN, + ESNTL_ID + FROM (SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE, ESNTL_ID + FROM COMTNGNRLMBER + UNION ALL + SELECT ENTRPRS_MBER_ID USER_ID, CMPNY_NM USER_NM, GROUP_ID, 'USR02' MBER_TY_CODE, ESNTL_ID + FROM COMTNENTRPRSMBER + UNION ALL + SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE, ESNTL_ID + FROM COMTNEMPLYRINFO ) A LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS B + ON A.ESNTL_ID = B.SCRTY_DTRMN_TRGET_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_ID LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + <if test="searchCondition == 2">AND + A.USER_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + <if test="searchCondition == 3">AND + A.GROUP_ID = #{searchKeyword} + </if> + </if> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <insert id="insertAuthorGroup" parameterType="egovframework.com.sec.rgm.service.AuthorGroup"> + + INSERT INTO COMTNEMPLYRSCRTYESTBS + ( SCRTY_DTRMN_TRGET_ID + , MBER_TY_CODE + , AUTHOR_CODE) + VALUES ( #{uniqId} + , #{mberTyCode} + , #{authorCode}) + + </insert> + + <update id="updateAuthorGroup" parameterType="egovframework.com.sec.rgm.service.AuthorGroup"> + + UPDATE COMTNEMPLYRSCRTYESTBS + SET MBER_TY_CODE=#{mberTyCode} + , AUTHOR_CODE=#{authorCode} + WHERE SCRTY_DTRMN_TRGET_ID=#{uniqId} + + </update> + + <delete id="deleteAuthorGroup"> + + DELETE FROM COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID=#{uniqId} + + </delete> + + <select id="selectAuthorGroupListTotCnt" parameterType="egovframework.com.sec.rgm.service.AuthorGroupVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM (SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE + FROM COMTNGNRLMBER + UNION ALL + SELECT ENTRPRS_MBER_ID USER_ID, CMPNY_NM USER_NM, GROUP_ID, 'USR02' MBER_TY_CODE + FROM COMTNENTRPRSMBER + UNION ALL + SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE + FROM COMTNEMPLYRINFO ) A LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS B + ON A.USER_ID = B.SCRTY_DTRMN_TRGET_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_ID LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + <if test="searchCondition == 2">AND + A.USER_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + <if test="searchCondition == 3">AND + A.GROUP_ID = #{searchKeyword} + </if> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_cubrid.xml (revision 7) @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorGroupDAO"> + + + <resultMap id="authorGroup" type="egovframework.com.sec.rgm.service.AuthorGroupVO"> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="groupId" column="GROUP_ID"/> + <result property="mberTyCode" column="MBER_TY_CODE"/> + <result property="mberTyNm" column="MBER_TY_NM"/> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="regYn" column="REG_YN"/> + <result property="uniqId" column="ESNTL_ID"/> + </resultMap> + + <select id="selectAuthorGroupList" parameterType="egovframework.com.sec.rgm.service.AuthorGroupVO" resultMap="authorGroup"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + SELECT A.USER_ID, + A.USER_NM, + A.GROUP_ID, + A.MBER_TY_CODE, + (SELECT CODE_NM + FROM COMTCCMMNDETAILCODE + WHERE CODE_ID = 'COM012' + AND CODE = A.MBER_TY_CODE + AND USE_AT = 'Y') AS MBER_TY_NM, + B.AUTHOR_CODE, + (CASE WHEN B.SCRTY_DTRMN_TRGET_ID IS NULL THEN 'N' + ELSE 'Y' + END) AS REG_YN, + ESNTL_ID + FROM (SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE, ESNTL_ID + FROM COMTNGNRLMBER + UNION ALL + SELECT ENTRPRS_MBER_ID USER_ID, CMPNY_NM USER_NM, GROUP_ID, 'USR02' MBER_TY_CODE, ESNTL_ID + FROM COMTNENTRPRSMBER + UNION ALL + SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE, ESNTL_ID + FROM COMTNEMPLYRINFO ) A LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS B + ON A.ESNTL_ID = B.SCRTY_DTRMN_TRGET_ID + WHERE 1 = 1 + + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_ID LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 2">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 3">AND + A.GROUP_ID = #{searchKeyword} + </if> + </if> + <![CDATA[ + ) ALL_LIST + ) Z + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <insert id="insertAuthorGroup" parameterType="egovframework.com.sec.rgm.service.AuthorGroup"> + + INSERT INTO COMTNEMPLYRSCRTYESTBS + ( SCRTY_DTRMN_TRGET_ID + , MBER_TY_CODE + , AUTHOR_CODE) + VALUES ( #{uniqId} + , #{mberTyCode} + , #{authorCode}) + + </insert> + + <update id="updateAuthorGroup" parameterType="egovframework.com.sec.rgm.service.AuthorGroup"> + + UPDATE COMTNEMPLYRSCRTYESTBS + SET MBER_TY_CODE=#{mberTyCode} + , AUTHOR_CODE=#{authorCode} + WHERE SCRTY_DTRMN_TRGET_ID=#{uniqId} + + </update> + + <delete id="deleteAuthorGroup"> + + DELETE FROM COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID=#{uniqId} + + </delete> + + <select id="selectAuthorGroupListTotCnt" parameterType="egovframework.com.sec.rgm.service.AuthorGroupVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM (SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE + FROM COMTNGNRLMBER + UNION ALL + SELECT ENTRPRS_MBER_ID USER_ID, CMPNY_NM USER_NM, GROUP_ID, 'USR02' MBER_TY_CODE + FROM COMTNENTRPRSMBER + UNION ALL + SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE + FROM COMTNEMPLYRINFO ) A LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS B + ON A.USER_ID = B.SCRTY_DTRMN_TRGET_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_ID LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 2">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 3">AND + A.GROUP_ID = #{searchKeyword} + </if> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_oracle.xml (revision 7) @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorGroupDAO"> + + + <resultMap id="authorGroup" type="egovframework.com.sec.rgm.service.AuthorGroupVO"> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="groupId" column="GROUP_ID"/> + <result property="mberTyCode" column="MBER_TY_CODE"/> + <result property="mberTyNm" column="MBER_TY_NM"/> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="regYn" column="REG_YN"/> + <result property="uniqId" column="ESNTL_ID"/> + </resultMap> + + <select id="selectAuthorGroupList" parameterType="egovframework.com.sec.rgm.service.AuthorGroupVO" resultMap="authorGroup"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + SELECT A.USER_ID, + A.USER_NM, + A.GROUP_ID, + A.MBER_TY_CODE, + (SELECT CODE_NM + FROM COMTCCMMNDETAILCODE + WHERE CODE_ID = 'COM012' + AND CODE = A.MBER_TY_CODE + AND USE_AT = 'Y') AS MBER_TY_NM, + B.AUTHOR_CODE, + (CASE WHEN B.SCRTY_DTRMN_TRGET_ID IS NULL THEN 'N' + ELSE 'Y' + END) AS REG_YN, + ESNTL_ID + FROM (SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE, ESNTL_ID + FROM COMTNGNRLMBER + UNION ALL + SELECT ENTRPRS_MBER_ID USER_ID, CMPNY_NM USER_NM, GROUP_ID, 'USR02' MBER_TY_CODE, ESNTL_ID + FROM COMTNENTRPRSMBER + UNION ALL + SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE, ESNTL_ID + FROM COMTNEMPLYRINFO ) A LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS B + ON A.ESNTL_ID = B.SCRTY_DTRMN_TRGET_ID + WHERE 1 = 1 + + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_ID LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 2">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 3">AND + A.GROUP_ID = #{searchKeyword} + </if> + </if> + <![CDATA[ + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <insert id="insertAuthorGroup" parameterType="egovframework.com.sec.rgm.service.AuthorGroup"> + + INSERT INTO COMTNEMPLYRSCRTYESTBS + ( SCRTY_DTRMN_TRGET_ID + , MBER_TY_CODE + , AUTHOR_CODE) + VALUES ( #{uniqId} + , #{mberTyCode} + , #{authorCode}) + + </insert> + + <update id="updateAuthorGroup" parameterType="egovframework.com.sec.rgm.service.AuthorGroup"> + + UPDATE COMTNEMPLYRSCRTYESTBS + SET MBER_TY_CODE=#{mberTyCode} + , AUTHOR_CODE=#{authorCode} + WHERE SCRTY_DTRMN_TRGET_ID=#{uniqId} + + </update> + + <delete id="deleteAuthorGroup"> + + DELETE FROM COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID=#{uniqId} + + </delete> + + <select id="selectAuthorGroupListTotCnt" parameterType="egovframework.com.sec.rgm.service.AuthorGroupVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM (SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE + FROM COMTNGNRLMBER + UNION ALL + SELECT ENTRPRS_MBER_ID USER_ID, CMPNY_NM USER_NM, GROUP_ID, 'USR02' MBER_TY_CODE + FROM COMTNENTRPRSMBER + UNION ALL + SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE + FROM COMTNEMPLYRINFO ) A LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS B + ON A.USER_ID = B.SCRTY_DTRMN_TRGET_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_ID LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 2">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 3">AND + A.GROUP_ID = #{searchKeyword} + </if> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_altibase.xml (revision 7) @@ -0,0 +1,124 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorGroupDAO"> + + + <resultMap id="authorGroup" type="egovframework.com.sec.rgm.service.AuthorGroupVO"> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="groupId" column="GROUP_ID"/> + <result property="mberTyCode" column="MBER_TY_CODE"/> + <result property="mberTyNm" column="MBER_TY_NM"/> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="regYn" column="REG_YN"/> + <result property="uniqId" column="ESNTL_ID"/> + </resultMap> + + <select id="selectAuthorGroupList" parameterType="egovframework.com.sec.rgm.service.AuthorGroupVO" resultMap="authorGroup"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + SELECT A.USER_ID, + A.USER_NM, + A.GROUP_ID, + A.MBER_TY_CODE, + (SELECT CODE_NM + FROM COMTCCMMNDETAILCODE + WHERE CODE_ID = 'COM012' + AND CODE = A.MBER_TY_CODE + AND USE_AT = 'Y') AS MBER_TY_NM, + B.AUTHOR_CODE, + (CASE WHEN B.SCRTY_DTRMN_TRGET_ID IS NULL THEN 'N' + ELSE 'Y' + END) AS REG_YN, + ESNTL_ID + FROM (SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE, ESNTL_ID + FROM COMTNGNRLMBER + UNION ALL + SELECT ENTRPRS_MBER_ID USER_ID, CMPNY_NM USER_NM, GROUP_ID, 'USR02' MBER_TY_CODE, ESNTL_ID + FROM COMTNENTRPRSMBER + UNION ALL + SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE, ESNTL_ID + FROM COMTNEMPLYRINFO ) A LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS B + ON A.ESNTL_ID = B.SCRTY_DTRMN_TRGET_ID + WHERE 1 = 1 + + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_ID LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 2">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 3">AND + A.GROUP_ID = #{searchKeyword} + </if> + </if> + <![CDATA[ + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + + </select> + + <insert id="insertAuthorGroup" parameterType="egovframework.com.sec.rgm.service.AuthorGroup"> + + INSERT INTO COMTNEMPLYRSCRTYESTBS + ( SCRTY_DTRMN_TRGET_ID + , MBER_TY_CODE + , AUTHOR_CODE) + VALUES ( #{uniqId} + , #{mberTyCode} + , #{authorCode}) + + </insert> + + <update id="updateAuthorGroup" parameterType="egovframework.com.sec.rgm.service.AuthorGroup"> + + UPDATE COMTNEMPLYRSCRTYESTBS + SET MBER_TY_CODE=#{mberTyCode} + , AUTHOR_CODE=#{authorCode} + WHERE SCRTY_DTRMN_TRGET_ID=#{uniqId} + + </update> + + <delete id="deleteAuthorGroup"> + + DELETE FROM COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID=#{uniqId} + + </delete> + + <select id="selectAuthorGroupListTotCnt" parameterType="egovframework.com.sec.rgm.service.AuthorGroupVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM (SELECT MBER_ID USER_ID, MBER_NM USER_NM, GROUP_ID, 'USR01' MBER_TY_CODE + FROM COMTNGNRLMBER + UNION ALL + SELECT ENTRPRS_MBER_ID USER_ID, CMPNY_NM USER_NM, GROUP_ID, 'USR02' MBER_TY_CODE + FROM COMTNENTRPRSMBER + UNION ALL + SELECT EMPLYR_ID USER_ID, USER_NM USER_NM, GROUP_ID, 'USR03' MBER_TY_CODE + FROM COMTNEMPLYRINFO ) A LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS B + ON A.USER_ID = B.SCRTY_DTRMN_TRGET_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_ID LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 2">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <if test="searchCondition == 3">AND + A.GROUP_ID = #{searchKeyword} + </if> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/rgm/EgovAuthorGroup_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_cubrid.xml (revision 7) @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="roleManageDAO"> + + <resultMap id="role" type="egovframework.com.sec.rmt.service.RoleManageVO"> + <result property="roleCode" column="ROLE_CODE"/> + <result property="roleNm" column="ROLE_NM"/> + <result property="rolePtn" column="ROLE_PTTRN"/> + <result property="roleDc" column="ROLE_DC"/> + <result property="roleTyp" column="ROLE_TY"/> + <result property="roleSort" column="ROLE_SORT"/> + <result property="roleCreatDe" column="ROLE_CREAT_DE"/> + </resultMap> + + + <select id="selectRole" resultMap="role"> + + SELECT ROLE_CODE, + ROLE_NM, + ROLE_PTTRN, + ROLE_DC, + ROLE_TY, + ROLE_SORT, + ROLE_CREAT_DE + FROM COMTNROLEINFO + WHERE ROLE_CODE = #{roleCode} + + </select> + + <select id="selectRoleList" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultMap="role"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT ROLE_CODE, + ROLE_NM, + ROLE_PTTRN, + ROLE_DC, + (SELECT CODE_NM + FROM COMTCCMMNDETAILCODE + WHERE CODE_ID = 'COM029' + AND CODE = ROLE_TY) AS ROLE_TY, + ROLE_SORT, + ROLE_CREAT_DE + FROM COMTNROLEINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + ROLE_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <![CDATA[ + ORDER BY ROLE_CREAT_DE DESC + + ) ALL_LIST + ) Z + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <insert id="insertRole" parameterType="egovframework.com.sec.rmt.service.RoleManage"> + + INSERT INTO COMTNROLEINFO + ( ROLE_CODE + , ROLE_NM + , ROLE_PTTRN + , ROLE_DC + , ROLE_TY + , ROLE_SORT + , ROLE_CREAT_DE ) + VALUES ( #{roleCode} + , #{roleNm} + , #{rolePtn} + , #{roleDc} + , #{roleTyp} + , #{roleSort} + , SYSDATETIME) + + </insert> + + <update id="updateRole" parameterType="egovframework.com.sec.rmt.service.RoleManage"> + + UPDATE COMTNROLEINFO + SET ROLE_NM=#{roleNm} + , ROLE_PTTRN=#{rolePtn} + , ROLE_DC=#{roleDc} + , ROLE_TY=#{roleTyp} + , ROLE_SORT=#{roleSort} + , ROLE_CREAT_DE=SYSDATETIME + WHERE ROLE_CODE=#{roleCode} + + </update> + + <delete id="deleteRole"> + + DELETE FROM COMTNROLEINFO + WHERE ROLE_CODE=#{roleCode} + + </delete> + + <select id="selectAuthorListTotCnt" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNROLEINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ROLE_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + + <select id="selectRoleAllList" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultMap="role"> + SELECT ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE + FROM COMTNROLEINFO + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_maria.xml (revision 7) @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="roleManageDAO"> + + <resultMap id="role" type="egovframework.com.sec.rmt.service.RoleManageVO"> + <result property="roleCode" column="ROLE_CODE"/> + <result property="roleNm" column="ROLE_NM"/> + <result property="rolePtn" column="ROLE_PTTRN"/> + <result property="roleDc" column="ROLE_DC"/> + <result property="roleTyp" column="ROLE_TY"/> + <result property="roleSort" column="ROLE_SORT"/> + <result property="roleCreatDe" column="ROLE_CREAT_DE"/> + </resultMap> + + + <select id="selectRole" resultMap="role"> + + SELECT ROLE_CODE, + ROLE_NM, + ROLE_PTTRN, + ROLE_DC, + ROLE_TY, + ROLE_SORT, + ROLE_CREAT_DE + FROM COMTNROLEINFO + WHERE ROLE_CODE = #{roleCode} + + </select> + + <select id="selectRoleList" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultMap="role"> + SELECT ROLE_CODE, + ROLE_NM, + ROLE_PTTRN, + ROLE_DC, + (SELECT CODE_NM + FROM COMTCCMMNDETAILCODE + WHERE CODE_ID = 'COM029' + AND CODE = ROLE_TY) AS ROLE_TY, + ROLE_SORT, + ROLE_CREAT_DE + FROM COMTNROLEINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ROLE_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + ORDER BY ROLE_CREAT_DE DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <insert id="insertRole" parameterType="egovframework.com.sec.rmt.service.RoleManage"> + + INSERT INTO COMTNROLEINFO + ( ROLE_CODE + , ROLE_NM + , ROLE_PTTRN + , ROLE_DC + , ROLE_TY + , ROLE_SORT + , ROLE_CREAT_DE ) + VALUES ( #{roleCode} + , #{roleNm} + , #{rolePtn} + , #{roleDc} + , #{roleTyp} + , #{roleSort} + , now()) + + </insert> + + <update id="updateRole" parameterType="egovframework.com.sec.rmt.service.RoleManage"> + + UPDATE COMTNROLEINFO + SET ROLE_NM=#{roleNm} + , ROLE_PTTRN=#{rolePtn} + , ROLE_DC=#{roleDc} + , ROLE_TY=#{roleTyp} + , ROLE_SORT=#{roleSort} + , ROLE_CREAT_DE=now() + WHERE ROLE_CODE=#{roleCode} + + </update> + + <delete id="deleteRole"> + + DELETE FROM COMTNROLEINFO + WHERE ROLE_CODE=#{roleCode} + + </delete> + + <select id="selectAuthorListTotCnt" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNROLEINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ROLE_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </select> + + <select id="selectRoleAllList" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultMap="role"> + SELECT ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE + FROM COMTNROLEINFO + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_oracle.xml (revision 7) @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="roleManageDAO"> + + <resultMap id="role" type="egovframework.com.sec.rmt.service.RoleManageVO"> + <result property="roleCode" column="ROLE_CODE"/> + <result property="roleNm" column="ROLE_NM"/> + <result property="rolePtn" column="ROLE_PTTRN"/> + <result property="roleDc" column="ROLE_DC"/> + <result property="roleTyp" column="ROLE_TY"/> + <result property="roleSort" column="ROLE_SORT"/> + <result property="roleCreatDe" column="ROLE_CREAT_DE"/> + </resultMap> + + + <select id="selectRole" resultMap="role"> + + SELECT ROLE_CODE, + ROLE_NM, + ROLE_PTTRN, + ROLE_DC, + ROLE_TY, + ROLE_SORT, + ROLE_CREAT_DE + FROM COMTNROLEINFO + WHERE ROLE_CODE = #{roleCode} + + </select> + + <select id="selectRoleList" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultMap="role"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT ROLE_CODE, + ROLE_NM, + ROLE_PTTRN, + ROLE_DC, + (SELECT CODE_NM + FROM COMTCCMMNDETAILCODE + WHERE CODE_ID = 'COM029' + AND CODE = ROLE_TY) AS ROLE_TY, + ROLE_SORT, + ROLE_CREAT_DE + FROM COMTNROLEINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + ROLE_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <![CDATA[ + ORDER BY ROLE_CREAT_DE DESC + + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <insert id="insertRole" parameterType="egovframework.com.sec.rmt.service.RoleManage"> + + INSERT INTO COMTNROLEINFO + ( ROLE_CODE + , ROLE_NM + , ROLE_PTTRN + , ROLE_DC + , ROLE_TY + , ROLE_SORT + , ROLE_CREAT_DE ) + VALUES ( #{roleCode} + , #{roleNm} + , #{rolePtn} + , #{roleDc} + , #{roleTyp} + , #{roleSort} + , SYSDATE) + + </insert> + + <update id="updateRole" parameterType="egovframework.com.sec.rmt.service.RoleManage"> + + UPDATE COMTNROLEINFO + SET ROLE_NM=#{roleNm} + , ROLE_PTTRN=#{rolePtn} + , ROLE_DC=#{roleDc} + , ROLE_TY=#{roleTyp} + , ROLE_SORT=#{roleSort} + , ROLE_CREAT_DE=SYSDATE + WHERE ROLE_CODE=#{roleCode} + + </update> + + <delete id="deleteRole"> + + DELETE FROM COMTNROLEINFO + WHERE ROLE_CODE=#{roleCode} + + </delete> + + <select id="selectAuthorListTotCnt" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNROLEINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ROLE_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + + <select id="selectRoleAllList" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultMap="role"> + SELECT ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE + FROM COMTNROLEINFO + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_altibase.xml (revision 7) @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="roleManageDAO"> + + <resultMap id="role" type="egovframework.com.sec.rmt.service.RoleManageVO"> + <result property="roleCode" column="ROLE_CODE"/> + <result property="roleNm" column="ROLE_NM"/> + <result property="rolePtn" column="ROLE_PTTRN"/> + <result property="roleDc" column="ROLE_DC"/> + <result property="roleTyp" column="ROLE_TY"/> + <result property="roleSort" column="ROLE_SORT"/> + <result property="roleCreatDe" column="ROLE_CREAT_DE"/> + </resultMap> + + + <select id="selectRole" resultMap="role"> + + SELECT ROLE_CODE, + ROLE_NM, + ROLE_PTTRN, + ROLE_DC, + ROLE_TY, + ROLE_SORT, + ROLE_CREAT_DE + FROM COMTNROLEINFO + WHERE ROLE_CODE = #{roleCode} + + </select> + + <select id="selectRoleList" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultMap="role"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT ROLE_CODE, + ROLE_NM, + ROLE_PTTRN, + ROLE_DC, + (SELECT CODE_NM + FROM COMTCCMMNDETAILCODE + WHERE CODE_ID = 'COM029' + AND CODE = ROLE_TY) AS ROLE_TY, + ROLE_SORT, + ROLE_CREAT_DE + FROM COMTNROLEINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + ROLE_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <![CDATA[ + ORDER BY ROLE_CREAT_DE DESC + + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <insert id="insertRole" parameterType="egovframework.com.sec.rmt.service.RoleManage"> + + INSERT INTO COMTNROLEINFO + ( ROLE_CODE + , ROLE_NM + , ROLE_PTTRN + , ROLE_DC + , ROLE_TY + , ROLE_SORT + , ROLE_CREAT_DE ) + VALUES ( #{roleCode} + , #{roleNm} + , #{rolePtn} + , #{roleDc} + , #{roleTyp} + , #{roleSort} + , TO_CHAR(SYSDATE, 'YYYYMMDD')) + + </insert> + + <update id="updateRole" parameterType="egovframework.com.sec.rmt.service.RoleManage"> + + UPDATE COMTNROLEINFO + SET ROLE_NM=#{roleNm} + , ROLE_PTTRN=#{rolePtn} + , ROLE_DC=#{roleDc} + , ROLE_TY=#{roleTyp} + , ROLE_SORT=#{roleSort} + , ROLE_CREAT_DE=TO_CHAR(SYSDATE, 'YYYYMMDD') + WHERE ROLE_CODE=#{roleCode} + + </update> + + <delete id="deleteRole"> + + DELETE FROM COMTNROLEINFO + WHERE ROLE_CODE=#{roleCode} + + </delete> + + <select id="selectAuthorListTotCnt" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNROLEINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ROLE_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + + <select id="selectRoleAllList" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultMap="role"> + SELECT ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE + FROM COMTNROLEINFO + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_tibero.xml (revision 7) @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="roleManageDAO"> + + <resultMap id="role" type="egovframework.com.sec.rmt.service.RoleManageVO"> + <result property="roleCode" column="ROLE_CODE"/> + <result property="roleNm" column="ROLE_NM"/> + <result property="rolePtn" column="ROLE_PTTRN"/> + <result property="roleDc" column="ROLE_DC"/> + <result property="roleTyp" column="ROLE_TY"/> + <result property="roleSort" column="ROLE_SORT"/> + <result property="roleCreatDe" column="ROLE_CREAT_DE"/> + </resultMap> + + + <select id="selectRole" resultMap="role"> + + SELECT ROLE_CODE, + ROLE_NM, + ROLE_PTTRN, + ROLE_DC, + ROLE_TY, + ROLE_SORT, + ROLE_CREAT_DE + FROM COMTNROLEINFO + WHERE ROLE_CODE = #{roleCode} + + </select> + + <select id="selectRoleList" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultMap="role"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT ROLE_CODE, + ROLE_NM, + ROLE_PTTRN, + ROLE_DC, + (SELECT CODE_NM + FROM COMTCCMMNDETAILCODE + WHERE CODE_ID = 'COM029' + AND CODE = ROLE_TY) AS ROLE_TY, + ROLE_SORT, + ROLE_CREAT_DE + FROM COMTNROLEINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + ROLE_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <![CDATA[ + ORDER BY ROLE_CREAT_DE DESC + + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <insert id="insertRole" parameterType="egovframework.com.sec.rmt.service.RoleManage"> + + INSERT INTO COMTNROLEINFO + ( ROLE_CODE + , ROLE_NM + , ROLE_PTTRN + , ROLE_DC + , ROLE_TY + , ROLE_SORT + , ROLE_CREAT_DE ) + VALUES ( #{roleCode} + , #{roleNm} + , #{rolePtn} + , #{roleDc} + , #{roleTyp} + , #{roleSort} + , SYSDATE) + + </insert> + + <update id="updateRole" parameterType="egovframework.com.sec.rmt.service.RoleManage"> + + UPDATE COMTNROLEINFO + SET ROLE_NM=#{roleNm} + , ROLE_PTTRN=#{rolePtn} + , ROLE_DC=#{roleDc} + , ROLE_TY=#{roleTyp} + , ROLE_SORT=#{roleSort} + , ROLE_CREAT_DE=SYSDATE + WHERE ROLE_CODE=#{roleCode} + + </update> + + <delete id="deleteRole"> + + DELETE FROM COMTNROLEINFO + WHERE ROLE_CODE=#{roleCode} + + </delete> + + <select id="selectAuthorListTotCnt" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNROLEINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ROLE_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + + <select id="selectRoleAllList" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultMap="role"> + SELECT ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE + FROM COMTNROLEINFO + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_postgres.xml (revision 7) @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="roleManageDAO"> + + <resultMap id="role" type="egovframework.com.sec.rmt.service.RoleManageVO"> + <result property="roleCode" column="ROLE_CODE"/> + <result property="roleNm" column="ROLE_NM"/> + <result property="rolePtn" column="ROLE_PTTRN"/> + <result property="roleDc" column="ROLE_DC"/> + <result property="roleTyp" column="ROLE_TY"/> + <result property="roleSort" column="ROLE_SORT"/> + <result property="roleCreatDe" column="ROLE_CREAT_DE"/> + </resultMap> + + + <select id="selectRole" resultMap="role"> + + SELECT ROLE_CODE, + ROLE_NM, + ROLE_PTTRN, + ROLE_DC, + ROLE_TY, + ROLE_SORT, + ROLE_CREAT_DE + FROM COMTNROLEINFO + WHERE ROLE_CODE = #{roleCode} + + </select> + + <select id="selectRoleList" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultMap="role"> + SELECT ROLE_CODE, + ROLE_NM, + ROLE_PTTRN, + ROLE_DC, + (SELECT CODE_NM + FROM COMTCCMMNDETAILCODE + WHERE CODE_ID = 'COM029' + AND CODE = ROLE_TY) AS ROLE_TY, + ROLE_SORT, + ROLE_CREAT_DE + FROM COMTNROLEINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ROLE_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + ORDER BY ROLE_CREAT_DE DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <insert id="insertRole" parameterType="egovframework.com.sec.rmt.service.RoleManage"> + + INSERT INTO COMTNROLEINFO + ( ROLE_CODE + , ROLE_NM + , ROLE_PTTRN + , ROLE_DC + , ROLE_TY + , ROLE_SORT + , ROLE_CREAT_DE ) + VALUES ( #{roleCode} + , #{roleNm} + , #{rolePtn} + , #{roleDc} + , #{roleTyp} + , #{roleSort} + , TO_CHAR(NOW(), 'YYYY-mm-dd HH24:MI:SS')) + + </insert> + + <update id="updateRole" parameterType="egovframework.com.sec.rmt.service.RoleManage"> + + UPDATE COMTNROLEINFO + SET ROLE_NM=#{roleNm} + , ROLE_PTTRN=#{rolePtn} + , ROLE_DC=#{roleDc} + , ROLE_TY=#{roleTyp} + , ROLE_SORT=#{roleSort} + , ROLE_CREAT_DE=TO_CHAR(NOW(), 'YYYY-mm-dd HH24:MI:SS') + WHERE ROLE_CODE=#{roleCode} + + </update> + + <delete id="deleteRole"> + + DELETE FROM COMTNROLEINFO + WHERE ROLE_CODE=#{roleCode} + + </delete> + + <select id="selectAuthorListTotCnt" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNROLEINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ROLE_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </select> + + <select id="selectRoleAllList" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultMap="role"> + SELECT ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE + FROM COMTNROLEINFO + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_mysql.xml (revision 7) @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="roleManageDAO"> + + <resultMap id="role" type="egovframework.com.sec.rmt.service.RoleManageVO"> + <result property="roleCode" column="ROLE_CODE"/> + <result property="roleNm" column="ROLE_NM"/> + <result property="rolePtn" column="ROLE_PTTRN"/> + <result property="roleDc" column="ROLE_DC"/> + <result property="roleTyp" column="ROLE_TY"/> + <result property="roleSort" column="ROLE_SORT"/> + <result property="roleCreatDe" column="ROLE_CREAT_DE"/> + </resultMap> + + + <select id="selectRole" resultMap="role"> + + SELECT ROLE_CODE, + ROLE_NM, + ROLE_PTTRN, + ROLE_DC, + ROLE_TY, + ROLE_SORT, + ROLE_CREAT_DE + FROM COMTNROLEINFO + WHERE ROLE_CODE = #{roleCode} + + </select> + + <select id="selectRoleList" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultMap="role"> + SELECT ROLE_CODE, + ROLE_NM, + ROLE_PTTRN, + ROLE_DC, + (SELECT CODE_NM + FROM COMTCCMMNDETAILCODE + WHERE CODE_ID = 'COM029' + AND CODE = ROLE_TY) AS ROLE_TY, + ROLE_SORT, + ROLE_CREAT_DE + FROM COMTNROLEINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ROLE_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + ORDER BY ROLE_CREAT_DE DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <insert id="insertRole" parameterType="egovframework.com.sec.rmt.service.RoleManage"> + + INSERT INTO COMTNROLEINFO + ( ROLE_CODE + , ROLE_NM + , ROLE_PTTRN + , ROLE_DC + , ROLE_TY + , ROLE_SORT + , ROLE_CREAT_DE ) + VALUES ( #{roleCode} + , #{roleNm} + , #{rolePtn} + , #{roleDc} + , #{roleTyp} + , #{roleSort} + , now()) + + </insert> + + <update id="updateRole" parameterType="egovframework.com.sec.rmt.service.RoleManage"> + + UPDATE COMTNROLEINFO + SET ROLE_NM=#{roleNm} + , ROLE_PTTRN=#{rolePtn} + , ROLE_DC=#{roleDc} + , ROLE_TY=#{roleTyp} + , ROLE_SORT=#{roleSort} + , ROLE_CREAT_DE=now() + WHERE ROLE_CODE=#{roleCode} + + </update> + + <delete id="deleteRole"> + + DELETE FROM COMTNROLEINFO + WHERE ROLE_CODE=#{roleCode} + + </delete> + + <select id="selectAuthorListTotCnt" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNROLEINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ROLE_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </select> + + <select id="selectRoleAllList" parameterType="egovframework.com.sec.rmt.service.RoleManageVO" resultMap="role"> + SELECT ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE + FROM COMTNROLEINFO + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/rmt/EgovRoleManage_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_tibero.xml (revision 7) @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="groupManageDAO"> + + <resultMap id="group" type="egovframework.com.sec.gmt.service.GroupManageVO"> + <result property="groupId" column="GROUP_ID"/> + <result property="groupNm" column="GROUP_NM"/> + <result property="groupDc" column="GROUP_DC"/> + <result property="groupCreatDe" column="GROUP_CREAT_DE"/> + </resultMap> + + <select id="selectGroup" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultMap="group"> + + SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE + FROM COMTNAUTHORGROUPINFO + WHERE GROUP_ID=#{groupId} + + </select> + + <select id="selectGroupList" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultMap="group"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE + FROM COMTNAUTHORGROUPINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + GROUP_NM LIKE '%'||#{searchKeyword}||'%' + </if> + + ORDER BY GROUP_CREAT_DE DESC + ) ALL_LIST + ) + <![CDATA[ + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <insert id="insertGroup"> + + INSERT INTO COMTNAUTHORGROUPINFO + ( GROUP_ID + , GROUP_NM + , GROUP_DC + , GROUP_CREAT_DE ) + VALUES ( #{groupId} + , #{groupNm} + , #{groupDc} + , SYSDATE) + + </insert> + + <update id="updateGroup" parameterType="egovframework.com.sec.gmt.service.GroupManage"> + + UPDATE COMTNAUTHORGROUPINFO + SET GROUP_NM=#{groupNm} + , GROUP_DC=#{groupDc} + WHERE GROUP_ID=#{groupId} + + </update> + + <delete id="deleteGroup"> + + DELETE FROM COMTNAUTHORGROUPINFO + WHERE GROUP_ID=#{groupId} + + </delete> + + <select id="selectGroupListTotCnt" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNAUTHORGROUPINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + GROUP_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_mysql.xml (revision 7) @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="groupManageDAO"> + + <resultMap id="group" type="egovframework.com.sec.gmt.service.GroupManageVO"> + <result property="groupId" column="GROUP_ID"/> + <result property="groupNm" column="GROUP_NM"/> + <result property="groupDc" column="GROUP_DC"/> + <result property="groupCreatDe" column="GROUP_CREAT_DE"/> + </resultMap> + + <select id="selectGroup" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultMap="group"> + + SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE + FROM COMTNAUTHORGROUPINFO + WHERE GROUP_ID=#{groupId} + + </select> + + <select id="selectGroupList" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultMap="group"> + + SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE + FROM COMTNAUTHORGROUPINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + GROUP_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + ORDER BY GROUP_CREAT_DE DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <insert id="insertGroup"> + + INSERT INTO COMTNAUTHORGROUPINFO + ( GROUP_ID + , GROUP_NM + , GROUP_DC + , GROUP_CREAT_DE ) + VALUES ( #{groupId} + , #{groupNm} + , #{groupDc} + , now()) + + </insert> + + <update id="updateGroup" parameterType="egovframework.com.sec.gmt.service.GroupManage"> + + UPDATE COMTNAUTHORGROUPINFO + SET GROUP_NM=#{groupNm} + , GROUP_DC=#{groupDc} + , GROUP_CREAT_DE=now() + WHERE GROUP_ID=#{groupId} + + </update> + + <delete id="deleteGroup"> + + DELETE FROM COMTNAUTHORGROUPINFO + WHERE GROUP_ID=#{groupId} + + </delete> + + <select id="selectGroupListTotCnt" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNAUTHORGROUPINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + GROUP_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_postgres.xml (revision 7) @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="groupManageDAO"> + + <resultMap id="group" type="egovframework.com.sec.gmt.service.GroupManageVO"> + <result property="groupId" column="GROUP_ID"/> + <result property="groupNm" column="GROUP_NM"/> + <result property="groupDc" column="GROUP_DC"/> + <result property="groupCreatDe" column="GROUP_CREAT_DE"/> + </resultMap> + + <select id="selectGroup" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultMap="group"> + + SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE + FROM COMTNAUTHORGROUPINFO + WHERE GROUP_ID=#{groupId} + + </select> + + <select id="selectGroupList" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultMap="group"> + + SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE + FROM COMTNAUTHORGROUPINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + GROUP_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + ORDER BY GROUP_CREAT_DE DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <insert id="insertGroup"> + + INSERT INTO COMTNAUTHORGROUPINFO + ( GROUP_ID + , GROUP_NM + , GROUP_DC + , GROUP_CREAT_DE ) + VALUES ( #{groupId} + , #{groupNm} + , #{groupDc} + , TO_CHAR(NOW(),'YYYY-mm-dd HH24:MI:SS') ) + + </insert> + + <update id="updateGroup" parameterType="egovframework.com.sec.gmt.service.GroupManage"> + + UPDATE COMTNAUTHORGROUPINFO + SET GROUP_NM=#{groupNm} + , GROUP_DC=#{groupDc} + , GROUP_CREAT_DE=TO_CHAR(NOW(),'YYYY-mm-dd HH24:MI:SS') + WHERE GROUP_ID=#{groupId} + + </update> + + <delete id="deleteGroup"> + + DELETE FROM COMTNAUTHORGROUPINFO + WHERE GROUP_ID=#{groupId} + + </delete> + + <select id="selectGroupListTotCnt" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNAUTHORGROUPINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + GROUP_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_maria.xml (revision 7) @@ -0,0 +1,74 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="groupManageDAO"> + + <resultMap id="group" type="egovframework.com.sec.gmt.service.GroupManageVO"> + <result property="groupId" column="GROUP_ID"/> + <result property="groupNm" column="GROUP_NM"/> + <result property="groupDc" column="GROUP_DC"/> + <result property="groupCreatDe" column="GROUP_CREAT_DE"/> + </resultMap> + + <select id="selectGroup" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultMap="group"> + + SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE + FROM COMTNAUTHORGROUPINFO + WHERE GROUP_ID=#{groupId} + + </select> + + <select id="selectGroupList" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultMap="group"> + + SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE + FROM COMTNAUTHORGROUPINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + GROUP_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + ORDER BY GROUP_CREAT_DE DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <insert id="insertGroup"> + + INSERT INTO COMTNAUTHORGROUPINFO + ( GROUP_ID + , GROUP_NM + , GROUP_DC + , GROUP_CREAT_DE ) + VALUES ( #{groupId} + , #{groupNm} + , #{groupDc} + , now()) + + </insert> + + <update id="updateGroup" parameterType="egovframework.com.sec.gmt.service.GroupManage"> + + UPDATE COMTNAUTHORGROUPINFO + SET GROUP_NM=#{groupNm} + , GROUP_DC=#{groupDc} + , GROUP_CREAT_DE=now() + WHERE GROUP_ID=#{groupId} + + </update> + + <delete id="deleteGroup"> + + DELETE FROM COMTNAUTHORGROUPINFO + WHERE GROUP_ID=#{groupId} + + </delete> + + <select id="selectGroupListTotCnt" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNAUTHORGROUPINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + GROUP_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_cubrid.xml (revision 7) @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="groupManageDAO"> + + <resultMap id="group" type="egovframework.com.sec.gmt.service.GroupManageVO"> + <result property="groupId" column="GROUP_ID"/> + <result property="groupNm" column="GROUP_NM"/> + <result property="groupDc" column="GROUP_DC"/> + <result property="groupCreatDe" column="GROUP_CREAT_DE"/> + </resultMap> + + <select id="selectGroup" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultMap="group"> + + SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE + FROM COMTNAUTHORGROUPINFO + WHERE GROUP_ID=#{groupId} + + </select> + + <select id="selectGroupList" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultMap="group"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE + FROM COMTNAUTHORGROUPINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + GROUP_NM LIKE '%'||#{searchKeyword}||'%' + </if> + + ORDER BY GROUP_CREAT_DE DESC + ) ALL_LIST + ) Z + <![CDATA[ + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <insert id="insertGroup"> + + INSERT INTO COMTNAUTHORGROUPINFO + ( GROUP_ID + , GROUP_NM + , GROUP_DC + , GROUP_CREAT_DE ) + VALUES ( #{groupId} + , #{groupNm} + , #{groupDc} + , SYSDATETIME) + + </insert> + + <update id="updateGroup" parameterType="egovframework.com.sec.gmt.service.GroupManage"> + + UPDATE COMTNAUTHORGROUPINFO + SET GROUP_NM=#{groupNm} + , GROUP_DC=#{groupDc} + WHERE GROUP_ID=#{groupId} + + </update> + + <delete id="deleteGroup"> + + DELETE FROM COMTNAUTHORGROUPINFO + WHERE GROUP_ID=#{groupId} + + </delete> + + <select id="selectGroupListTotCnt" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNAUTHORGROUPINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + GROUP_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_oracle.xml (revision 7) @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="groupManageDAO"> + + <resultMap id="group" type="egovframework.com.sec.gmt.service.GroupManageVO"> + <result property="groupId" column="GROUP_ID"/> + <result property="groupNm" column="GROUP_NM"/> + <result property="groupDc" column="GROUP_DC"/> + <result property="groupCreatDe" column="GROUP_CREAT_DE"/> + </resultMap> + + <select id="selectGroup" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultMap="group"> + + SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE + FROM COMTNAUTHORGROUPINFO + WHERE GROUP_ID=#{groupId} + + </select> + + <select id="selectGroupList" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultMap="group"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE + FROM COMTNAUTHORGROUPINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + GROUP_NM LIKE '%'||#{searchKeyword}||'%' + </if> + + ORDER BY GROUP_CREAT_DE DESC + ) ALL_LIST + ) + <![CDATA[ + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <insert id="insertGroup"> + + INSERT INTO COMTNAUTHORGROUPINFO + ( GROUP_ID + , GROUP_NM + , GROUP_DC + , GROUP_CREAT_DE ) + VALUES ( #{groupId} + , #{groupNm} + , #{groupDc} + , SYSDATE) + + </insert> + + <update id="updateGroup" parameterType="egovframework.com.sec.gmt.service.GroupManage"> + + UPDATE COMTNAUTHORGROUPINFO + SET GROUP_NM=#{groupNm} + , GROUP_DC=#{groupDc} + WHERE GROUP_ID=#{groupId} + + </update> + + <delete id="deleteGroup"> + + DELETE FROM COMTNAUTHORGROUPINFO + WHERE GROUP_ID=#{groupId} + + </delete> + + <select id="selectGroupListTotCnt" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNAUTHORGROUPINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + GROUP_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_altibase.xml (revision 7) @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="groupManageDAO"> + + <resultMap id="group" type="egovframework.com.sec.gmt.service.GroupManageVO"> + <result property="groupId" column="GROUP_ID"/> + <result property="groupNm" column="GROUP_NM"/> + <result property="groupDc" column="GROUP_DC"/> + <result property="groupCreatDe" column="GROUP_CREAT_DE"/> + </resultMap> + + <select id="selectGroup" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultMap="group"> + + SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE + FROM COMTNAUTHORGROUPINFO + WHERE GROUP_ID=#{groupId} + + </select> + + <select id="selectGroupList" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultMap="group"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT GROUP_ID, GROUP_NM, GROUP_DC, GROUP_CREAT_DE + FROM COMTNAUTHORGROUPINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + GROUP_NM LIKE '%'||#{searchKeyword}||'%' + </if> + + ORDER BY GROUP_CREAT_DE DESC + ) ALL_LIST + ) + <![CDATA[ + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <insert id="insertGroup"> + + INSERT INTO COMTNAUTHORGROUPINFO + ( GROUP_ID + , GROUP_NM + , GROUP_DC + , GROUP_CREAT_DE ) + VALUES ( #{groupId} + , #{groupNm} + , #{groupDc} + , TO_CHAR(SYSDATE, 'YYYYMMDD')) + + </insert> + + <update id="updateGroup" parameterType="egovframework.com.sec.gmt.service.GroupManage"> + + UPDATE COMTNAUTHORGROUPINFO + SET GROUP_NM=#{groupNm} + , GROUP_DC=#{groupDc} + WHERE GROUP_ID=#{groupId} + + </update> + + <delete id="deleteGroup"> + + DELETE FROM COMTNAUTHORGROUPINFO + WHERE GROUP_ID=#{groupId} + + </delete> + + <select id="selectGroupListTotCnt" parameterType="egovframework.com.sec.gmt.service.GroupManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNAUTHORGROUPINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + GROUP_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/gmt/EgovGroupManage_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_altibase.xml (revision 7) @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorManageDAO"> + + <resultMap id="author" type="egovframework.com.sec.ram.service.AuthorManageVO"> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="authorNm" column="AUTHOR_NM"/> + <result property="authorDc" column="AUTHOR_DC"/> + <result property="authorCreatDe" column="AUTHOR_CREAT_DE"/> + </resultMap> + + <select id="selectAuthorList" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultMap="author"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT + AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + AUTHOR_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <![CDATA[ + ORDER BY AUTHOR_CREAT_DE DESC + + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <insert id="insertAuthor" parameterType="egovframework.com.sec.ram.service.AuthorManage"> + + INSERT INTO COMTNAUTHORINFO + ( AUTHOR_CODE + , AUTHOR_NM + , AUTHOR_DC + , AUTHOR_CREAT_DE ) + VALUES ( #{authorCode} + , #{authorNm} + , #{authorDc} + , SYSDATE) + + </insert> + + <update id="updateAuthor" parameterType="egovframework.com.sec.ram.service.AuthorManage"> + + UPDATE COMTNAUTHORINFO + SET AUTHOR_NM=#{authorNm} + , AUTHOR_DC=#{authorDc} + WHERE AUTHOR_CODE=#{authorCode} + + </update> + + <delete id="deleteAuthor"> + + DELETE FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <select id="selectAuthor" resultMap="author"> + + SELECT AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE=#{authorCode} + + </select> + + <select id="selectAuthorListTotCnt" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultType="int"> + SELECT COUNT(*) totcnt + FROM COMTNAUTHORINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + AUTHOR_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + + <select id="selectAuthorAllList" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultMap="author"> + SELECT + AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_postgres.xml (revision 7) @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorRoleManageDAO"> + + <resultMap id="authorRole" type="egovframework.com.sec.ram.service.AuthorRoleManageVO"> + <result property="roleCode" column="ROLE_CODE"/> + <result property="roleNm" column="ROLE_NM"/> + <result property="rolePtn" column="ROLE_PTTRN"/> + <result property="roleDc" column="ROLE_DC"/> + <result property="roleTyp" column="ROLE_TY"/> + <result property="roleSort" column="ROLE_SORT"/> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="regYn" column="REG_YN"/> + <result property="creatDt" column="CREAT_DT"/> + </resultMap> + + <select id="selectAuthorRoleList" parameterType="egovframework.com.sec.ram.service.AuthorRoleManageVO" resultMap="authorRole"> + + SELECT A.ROLE_CODE, + A.ROLE_NM, + A.ROLE_PTTRN, + A.ROLE_DC, + A.ROLE_TY, + A.ROLE_SORT, + B.AUTHOR_CODE, + B.CREAT_DT, + (CASE WHEN B.ROLE_CODE IS NULL THEN 'N' + ELSE 'Y' + END) AS REG_YN + FROM COMTNROLEINFO A + LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM COMTNAUTHORROLERELATE WHERE AUTHOR_CODE = #{searchKeyword}) B + ON A.ROLE_CODE = B.ROLE_CODE + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectAuthorRoleListTotCnt" parameterType="egovframework.com.sec.ram.service.AuthorRoleManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNROLEINFO A + LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM COMTNAUTHORROLERELATE WHERE AUTHOR_CODE = #{searchKeyword}) B + ON A.ROLE_CODE = B.ROLE_CODE + </select> + + <insert id="insertAuthorRole" parameterType="egovframework.com.sec.ram.service.AuthorRoleManage"> + + INSERT INTO COMTNAUTHORROLERELATE + ( AUTHOR_CODE + , ROLE_CODE + , CREAT_DT) + VALUES ( #{authorCode} + , #{roleCode} + , NOW()) + + </insert> + + <delete id="deleteAuthorRole"> + + DELETE FROM COMTNAUTHORROLERELATE + WHERE AUTHOR_CODE=#{authorCode} + AND ROLE_CODE=#{roleCode} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_mysql.xml (revision 7) @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorManageDAO"> + + <resultMap id="author" type="egovframework.com.sec.ram.service.AuthorManageVO"> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="authorNm" column="AUTHOR_NM"/> + <result property="authorDc" column="AUTHOR_DC"/> + <result property="authorCreatDe" column="AUTHOR_CREAT_DE"/> + </resultMap> + + <select id="selectAuthorList" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultMap="author"> + SELECT + AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + AUTHOR_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + ORDER BY AUTHOR_CREAT_DE DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <insert id="insertAuthor" parameterType="egovframework.com.sec.ram.service.AuthorManage"> + + INSERT INTO COMTNAUTHORINFO + ( AUTHOR_CODE + , AUTHOR_NM + , AUTHOR_DC + , AUTHOR_CREAT_DE ) + VALUES ( #{authorCode} + , #{authorNm} + , #{authorDc} + , now()) + + </insert> + + <update id="updateAuthor" parameterType="egovframework.com.sec.ram.service.AuthorManage"> + + UPDATE COMTNAUTHORINFO + SET AUTHOR_NM=#{authorNm} + , AUTHOR_DC=#{authorDc} + WHERE AUTHOR_CODE=#{authorCode} + + </update> + + <delete id="deleteAuthor"> + + DELETE FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <select id="selectAuthor" resultMap="author"> + + SELECT AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE=#{authorCode} + + </select> + + <select id="selectAuthorListTotCnt" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultType="int"> + SELECT COUNT(*) totcnt + FROM COMTNAUTHORINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + AUTHOR_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </select> + + <select id="selectAuthorAllList" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultMap="author"> + SELECT + AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_tibero.xml (revision 7) @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorManageDAO"> + + <resultMap id="author" type="egovframework.com.sec.ram.service.AuthorManageVO"> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="authorNm" column="AUTHOR_NM"/> + <result property="authorDc" column="AUTHOR_DC"/> + <result property="authorCreatDe" column="AUTHOR_CREAT_DE"/> + </resultMap> + + <select id="selectAuthorList" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultMap="author"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT + AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + AUTHOR_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <![CDATA[ + ORDER BY AUTHOR_CREAT_DE DESC + + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <insert id="insertAuthor" parameterType="egovframework.com.sec.ram.service.AuthorManage"> + + INSERT INTO COMTNAUTHORINFO + ( AUTHOR_CODE + , AUTHOR_NM + , AUTHOR_DC + , AUTHOR_CREAT_DE ) + VALUES ( #{authorCode} + , #{authorNm} + , #{authorDc} + , SYSDATE) + + </insert> + + <update id="updateAuthor" parameterType="egovframework.com.sec.ram.service.AuthorManage"> + + UPDATE COMTNAUTHORINFO + SET AUTHOR_NM=#{authorNm} + , AUTHOR_DC=#{authorDc} + WHERE AUTHOR_CODE=#{authorCode} + + </update> + + <delete id="deleteAuthor"> + + DELETE FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <select id="selectAuthor" resultMap="author"> + + SELECT AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE=#{authorCode} + + </select> + + <select id="selectAuthorListTotCnt" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultType="int"> + SELECT COUNT(*) totcnt + FROM COMTNAUTHORINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + AUTHOR_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + + <select id="selectAuthorAllList" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultMap="author"> + SELECT + AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_cubrid.xml (revision 7) @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorRoleManageDAO"> + + <resultMap id="authorRole" type="egovframework.com.sec.ram.service.AuthorRoleManageVO"> + <result property="roleCode" column="ROLE_CODE"/> + <result property="roleNm" column="ROLE_NM"/> + <result property="rolePtn" column="ROLE_PTTRN"/> + <result property="roleDc" column="ROLE_DC"/> + <result property="roleTyp" column="ROLE_TY"/> + <result property="roleSort" column="ROLE_SORT"/> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="regYn" column="REG_YN"/> + <result property="creatDt" column="CREAT_DT"/> + </resultMap> + + <select id="selectAuthorRoleList" parameterType="egovframework.com.sec.ram.service.AuthorRoleManageVO" resultMap="authorRole"> +<![CDATA[ + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT A.ROLE_CODE, + A.ROLE_NM, + A.ROLE_PTTRN, + A.ROLE_DC, + A.ROLE_TY, + A.ROLE_SORT, + B.AUTHOR_CODE, + B.CREAT_DT, + (CASE WHEN B.ROLE_CODE IS NULL THEN 'N' + ELSE 'Y' + END) AS REG_YN + FROM COMTNROLEINFO A + LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM COMTNAUTHORROLERELATE WHERE AUTHOR_CODE = #{searchKeyword}) B + ON A.ROLE_CODE = B.ROLE_CODE + + ) ALL_LIST + ) Z + + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} +]]> + </select> + + <select id="selectAuthorRoleListTotCnt" parameterType="egovframework.com.sec.ram.service.AuthorRoleManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNROLEINFO A + LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM COMTNAUTHORROLERELATE WHERE AUTHOR_CODE = #{searchKeyword}) B + ON A.ROLE_CODE = B.ROLE_CODE + </select> + + <insert id="insertAuthorRole" parameterType="egovframework.com.sec.ram.service.AuthorRoleManage"> + + INSERT INTO COMTNAUTHORROLERELATE + ( AUTHOR_CODE + , ROLE_CODE + , CREAT_DT) + VALUES ( #{authorCode} + , #{roleCode} + , SYSDATETIME) + + </insert> + + <delete id="deleteAuthorRole"> + + DELETE FROM COMTNAUTHORROLERELATE + WHERE AUTHOR_CODE=#{authorCode} + AND ROLE_CODE=#{roleCode} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_maria.xml (revision 7) @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorManageDAO"> + + <resultMap id="author" type="egovframework.com.sec.ram.service.AuthorManageVO"> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="authorNm" column="AUTHOR_NM"/> + <result property="authorDc" column="AUTHOR_DC"/> + <result property="authorCreatDe" column="AUTHOR_CREAT_DE"/> + </resultMap> + + <select id="selectAuthorList" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultMap="author"> + SELECT + AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + AUTHOR_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + ORDER BY AUTHOR_CREAT_DE DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <insert id="insertAuthor" parameterType="egovframework.com.sec.ram.service.AuthorManage"> + + INSERT INTO COMTNAUTHORINFO + ( AUTHOR_CODE + , AUTHOR_NM + , AUTHOR_DC + , AUTHOR_CREAT_DE ) + VALUES ( #{authorCode} + , #{authorNm} + , #{authorDc} + , now()) + + </insert> + + <update id="updateAuthor" parameterType="egovframework.com.sec.ram.service.AuthorManage"> + + UPDATE COMTNAUTHORINFO + SET AUTHOR_NM=#{authorNm} + , AUTHOR_DC=#{authorDc} + WHERE AUTHOR_CODE=#{authorCode} + + </update> + + <delete id="deleteAuthor"> + + DELETE FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <select id="selectAuthor" resultMap="author"> + + SELECT AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE=#{authorCode} + + </select> + + <select id="selectAuthorListTotCnt" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultType="int"> + SELECT COUNT(*) totcnt + FROM COMTNAUTHORINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + AUTHOR_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </select> + + <select id="selectAuthorAllList" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultMap="author"> + SELECT + AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_oracle.xml (revision 7) @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorRoleManageDAO"> + + <resultMap id="authorRole" type="egovframework.com.sec.ram.service.AuthorRoleManageVO"> + <result property="roleCode" column="ROLE_CODE"/> + <result property="roleNm" column="ROLE_NM"/> + <result property="rolePtn" column="ROLE_PTTRN"/> + <result property="roleDc" column="ROLE_DC"/> + <result property="roleTyp" column="ROLE_TY"/> + <result property="roleSort" column="ROLE_SORT"/> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="regYn" column="REG_YN"/> + <result property="creatDt" column="CREAT_DT"/> + </resultMap> + + <select id="selectAuthorRoleList" parameterType="egovframework.com.sec.ram.service.AuthorRoleManageVO" resultMap="authorRole"> +<![CDATA[ + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT A.ROLE_CODE, + A.ROLE_NM, + A.ROLE_PTTRN, + A.ROLE_DC, + A.ROLE_TY, + A.ROLE_SORT, + B.AUTHOR_CODE, + B.CREAT_DT, + (CASE WHEN B.ROLE_CODE IS NULL THEN 'N' + ELSE 'Y' + END) AS REG_YN + FROM COMTNROLEINFO A + LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM COMTNAUTHORROLERELATE WHERE AUTHOR_CODE = #{searchKeyword}) B + ON A.ROLE_CODE = B.ROLE_CODE + + ) ALL_LIST + ) + + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} +]]> + </select> + + <select id="selectAuthorRoleListTotCnt" parameterType="egovframework.com.sec.ram.service.AuthorRoleManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNROLEINFO A + LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM COMTNAUTHORROLERELATE WHERE AUTHOR_CODE = #{searchKeyword}) B + ON A.ROLE_CODE = B.ROLE_CODE + </select> + + <insert id="insertAuthorRole" parameterType="egovframework.com.sec.ram.service.AuthorRoleManage"> + + INSERT INTO COMTNAUTHORROLERELATE + ( AUTHOR_CODE + , ROLE_CODE + , CREAT_DT) + VALUES ( #{authorCode} + , #{roleCode} + , SYSDATE) + + </insert> + + <delete id="deleteAuthorRole"> + + DELETE FROM COMTNAUTHORROLERELATE + WHERE AUTHOR_CODE=#{authorCode} + AND ROLE_CODE=#{roleCode} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_postgres.xml (revision 7) @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorManageDAO"> + + <resultMap id="author" type="egovframework.com.sec.ram.service.AuthorManageVO"> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="authorNm" column="AUTHOR_NM"/> + <result property="authorDc" column="AUTHOR_DC"/> + <result property="authorCreatDe" column="AUTHOR_CREAT_DE"/> + </resultMap> + + <select id="selectAuthorList" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultMap="author"> + SELECT + AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + AUTHOR_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + ORDER BY AUTHOR_CREAT_DE DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <insert id="insertAuthor" parameterType="egovframework.com.sec.ram.service.AuthorManage"> + + INSERT INTO COMTNAUTHORINFO + ( AUTHOR_CODE + , AUTHOR_NM + , AUTHOR_DC + , AUTHOR_CREAT_DE ) + VALUES ( #{authorCode} + , #{authorNm} + , #{authorDc} + , TO_CHAR(now(), 'YYYY-mm-dd HH24:MI:SS')) + + </insert> + + <update id="updateAuthor" parameterType="egovframework.com.sec.ram.service.AuthorManage"> + + UPDATE COMTNAUTHORINFO + SET AUTHOR_NM=#{authorNm} + , AUTHOR_DC=#{authorDc} + WHERE AUTHOR_CODE=#{authorCode} + + </update> + + <delete id="deleteAuthor"> + + DELETE FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <select id="selectAuthor" resultMap="author"> + + SELECT AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE=#{authorCode} + + </select> + + <select id="selectAuthorListTotCnt" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultType="int"> + SELECT COUNT(*) totcnt + FROM COMTNAUTHORINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + AUTHOR_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </select> + + <select id="selectAuthorAllList" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultMap="author"> + SELECT + AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_mysql.xml (revision 7) @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorRoleManageDAO"> + + <resultMap id="authorRole" type="egovframework.com.sec.ram.service.AuthorRoleManageVO"> + <result property="roleCode" column="ROLE_CODE"/> + <result property="roleNm" column="ROLE_NM"/> + <result property="rolePtn" column="ROLE_PTTRN"/> + <result property="roleDc" column="ROLE_DC"/> + <result property="roleTyp" column="ROLE_TY"/> + <result property="roleSort" column="ROLE_SORT"/> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="regYn" column="REG_YN"/> + <result property="creatDt" column="CREAT_DT"/> + </resultMap> + + <select id="selectAuthorRoleList" parameterType="egovframework.com.sec.ram.service.AuthorRoleManageVO" resultMap="authorRole"> + + SELECT A.ROLE_CODE, + A.ROLE_NM, + A.ROLE_PTTRN, + A.ROLE_DC, + A.ROLE_TY, + A.ROLE_SORT, + B.AUTHOR_CODE, + B.CREAT_DT, + (CASE WHEN B.ROLE_CODE IS NULL THEN 'N' + ELSE 'Y' + END) AS REG_YN + FROM COMTNROLEINFO A + LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM COMTNAUTHORROLERELATE WHERE AUTHOR_CODE = #{searchKeyword}) B + ON A.ROLE_CODE = B.ROLE_CODE + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectAuthorRoleListTotCnt" parameterType="egovframework.com.sec.ram.service.AuthorRoleManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNROLEINFO A + LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM COMTNAUTHORROLERELATE WHERE AUTHOR_CODE = #{searchKeyword}) B + ON A.ROLE_CODE = B.ROLE_CODE + </select> + + <insert id="insertAuthorRole" parameterType="egovframework.com.sec.ram.service.AuthorRoleManage"> + + INSERT INTO COMTNAUTHORROLERELATE + ( AUTHOR_CODE + , ROLE_CODE + , CREAT_DT) + VALUES ( #{authorCode} + , #{roleCode} + , now()) + + </insert> + + <delete id="deleteAuthorRole"> + + DELETE FROM COMTNAUTHORROLERELATE + WHERE AUTHOR_CODE=#{authorCode} + AND ROLE_CODE=#{roleCode} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_altibase.xml (revision 7) @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorRoleManageDAO"> + + <resultMap id="authorRole" type="egovframework.com.sec.ram.service.AuthorRoleManageVO"> + <result property="roleCode" column="ROLE_CODE"/> + <result property="roleNm" column="ROLE_NM"/> + <result property="rolePtn" column="ROLE_PTTRN"/> + <result property="roleDc" column="ROLE_DC"/> + <result property="roleTyp" column="ROLE_TY"/> + <result property="roleSort" column="ROLE_SORT"/> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="regYn" column="REG_YN"/> + <result property="creatDt" column="CREAT_DT"/> + </resultMap> + + <select id="selectAuthorRoleList" parameterType="egovframework.com.sec.ram.service.AuthorRoleManageVO" resultMap="authorRole"> +<![CDATA[ + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT A.ROLE_CODE, + A.ROLE_NM, + A.ROLE_PTTRN, + A.ROLE_DC, + A.ROLE_TY, + A.ROLE_SORT, + B.AUTHOR_CODE, + B.CREAT_DT, + (CASE WHEN B.ROLE_CODE IS NULL THEN 'N' + ELSE 'Y' + END) AS REG_YN + FROM COMTNROLEINFO A + LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM COMTNAUTHORROLERELATE WHERE AUTHOR_CODE = #{searchKeyword}) B + ON A.ROLE_CODE = B.ROLE_CODE + + ) ALL_LIST + ) + + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} +]]> + </select> + + <select id="selectAuthorRoleListTotCnt" parameterType="egovframework.com.sec.ram.service.AuthorRoleManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNROLEINFO A + LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM COMTNAUTHORROLERELATE WHERE AUTHOR_CODE = #{searchKeyword}) B + ON A.ROLE_CODE = B.ROLE_CODE + </select> + + <insert id="insertAuthorRole" parameterType="egovframework.com.sec.ram.service.AuthorRoleManage"> + + INSERT INTO COMTNAUTHORROLERELATE + ( AUTHOR_CODE + , ROLE_CODE + , CREAT_DT) + VALUES ( #{authorCode} + , #{roleCode} + , SYSDATE) + + </insert> + + <delete id="deleteAuthorRole"> + + DELETE FROM COMTNAUTHORROLERELATE + WHERE AUTHOR_CODE=#{authorCode} + AND ROLE_CODE=#{roleCode} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_cubrid.xml (revision 7) @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorManageDAO"> + + <resultMap id="author" type="egovframework.com.sec.ram.service.AuthorManageVO"> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="authorNm" column="AUTHOR_NM"/> + <result property="authorDc" column="AUTHOR_DC"/> + <result property="authorCreatDe" column="AUTHOR_CREAT_DE"/> + </resultMap> + + <select id="selectAuthorList" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultMap="author"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT + AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + AUTHOR_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <![CDATA[ + ORDER BY AUTHOR_CREAT_DE DESC + + ) ALL_LIST + ) Z + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <insert id="insertAuthor" parameterType="egovframework.com.sec.ram.service.AuthorManage"> + + INSERT INTO COMTNAUTHORINFO + ( AUTHOR_CODE + , AUTHOR_NM + , AUTHOR_DC + , AUTHOR_CREAT_DE ) + VALUES ( #{authorCode} + , #{authorNm} + , #{authorDc} + , SYSDATETIME) + + </insert> + + <update id="updateAuthor" parameterType="egovframework.com.sec.ram.service.AuthorManage"> + + UPDATE COMTNAUTHORINFO + SET AUTHOR_NM=#{authorNm} + , AUTHOR_DC=#{authorDc} + WHERE AUTHOR_CODE=#{authorCode} + + </update> + + <delete id="deleteAuthor"> + + DELETE FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <select id="selectAuthor" resultMap="author"> + + SELECT AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE=#{authorCode} + + </select> + + <select id="selectAuthorListTotCnt" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultType="int"> + SELECT COUNT(*) totcnt + FROM COMTNAUTHORINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + AUTHOR_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + + <select id="selectAuthorAllList" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultMap="author"> + SELECT + AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_oracle.xml (revision 7) @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorManageDAO"> + + <resultMap id="author" type="egovframework.com.sec.ram.service.AuthorManageVO"> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="authorNm" column="AUTHOR_NM"/> + <result property="authorDc" column="AUTHOR_DC"/> + <result property="authorCreatDe" column="AUTHOR_CREAT_DE"/> + </resultMap> + + <select id="selectAuthorList" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultMap="author"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT + AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + AUTHOR_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <![CDATA[ + ORDER BY AUTHOR_CREAT_DE DESC + + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <insert id="insertAuthor" parameterType="egovframework.com.sec.ram.service.AuthorManage"> + + INSERT INTO COMTNAUTHORINFO + ( AUTHOR_CODE + , AUTHOR_NM + , AUTHOR_DC + , AUTHOR_CREAT_DE ) + VALUES ( #{authorCode} + , #{authorNm} + , #{authorDc} + , SYSDATE) + + </insert> + + <update id="updateAuthor" parameterType="egovframework.com.sec.ram.service.AuthorManage"> + + UPDATE COMTNAUTHORINFO + SET AUTHOR_NM=#{authorNm} + , AUTHOR_DC=#{authorDc} + WHERE AUTHOR_CODE=#{authorCode} + + </update> + + <delete id="deleteAuthor"> + + DELETE FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <select id="selectAuthor" resultMap="author"> + + SELECT AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE=#{authorCode} + + </select> + + <select id="selectAuthorListTotCnt" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultType="int"> + SELECT COUNT(*) totcnt + FROM COMTNAUTHORINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + AUTHOR_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + + <select id="selectAuthorAllList" parameterType="egovframework.com.sec.ram.service.AuthorManageVO" resultMap="author"> + SELECT + AUTHOR_CODE, AUTHOR_NM, AUTHOR_DC, AUTHOR_CREAT_DE + FROM COMTNAUTHORINFO + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorManage_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_maria.xml (revision 7) @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorRoleManageDAO"> + + <resultMap id="authorRole" type="egovframework.com.sec.ram.service.AuthorRoleManageVO"> + <result property="roleCode" column="ROLE_CODE"/> + <result property="roleNm" column="ROLE_NM"/> + <result property="rolePtn" column="ROLE_PTTRN"/> + <result property="roleDc" column="ROLE_DC"/> + <result property="roleTyp" column="ROLE_TY"/> + <result property="roleSort" column="ROLE_SORT"/> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="regYn" column="REG_YN"/> + <result property="creatDt" column="CREAT_DT"/> + </resultMap> + + <select id="selectAuthorRoleList" parameterType="egovframework.com.sec.ram.service.AuthorRoleManageVO" resultMap="authorRole"> + + SELECT A.ROLE_CODE, + A.ROLE_NM, + A.ROLE_PTTRN, + A.ROLE_DC, + A.ROLE_TY, + A.ROLE_SORT, + B.AUTHOR_CODE, + B.CREAT_DT, + (CASE WHEN B.ROLE_CODE IS NULL THEN 'N' + ELSE 'Y' + END) AS REG_YN + FROM COMTNROLEINFO A + LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM COMTNAUTHORROLERELATE WHERE AUTHOR_CODE = #{searchKeyword}) B + ON A.ROLE_CODE = B.ROLE_CODE + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectAuthorRoleListTotCnt" parameterType="egovframework.com.sec.ram.service.AuthorRoleManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNROLEINFO A + LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM COMTNAUTHORROLERELATE WHERE AUTHOR_CODE = #{searchKeyword}) B + ON A.ROLE_CODE = B.ROLE_CODE + </select> + + <insert id="insertAuthorRole" parameterType="egovframework.com.sec.ram.service.AuthorRoleManage"> + + INSERT INTO COMTNAUTHORROLERELATE + ( AUTHOR_CODE + , ROLE_CODE + , CREAT_DT) + VALUES ( #{authorCode} + , #{roleCode} + , now()) + + </insert> + + <delete id="deleteAuthorRole"> + + DELETE FROM COMTNAUTHORROLERELATE + WHERE AUTHOR_CODE=#{authorCode} + AND ROLE_CODE=#{roleCode} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_tibero.xml (revision 7) @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="authorRoleManageDAO"> + + <resultMap id="authorRole" type="egovframework.com.sec.ram.service.AuthorRoleManageVO"> + <result property="roleCode" column="ROLE_CODE"/> + <result property="roleNm" column="ROLE_NM"/> + <result property="rolePtn" column="ROLE_PTTRN"/> + <result property="roleDc" column="ROLE_DC"/> + <result property="roleTyp" column="ROLE_TY"/> + <result property="roleSort" column="ROLE_SORT"/> + <result property="authorCode" column="AUTHOR_CODE"/> + <result property="regYn" column="REG_YN"/> + <result property="creatDt" column="CREAT_DT"/> + </resultMap> + + <select id="selectAuthorRoleList" parameterType="egovframework.com.sec.ram.service.AuthorRoleManageVO" resultMap="authorRole"> +<![CDATA[ + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT A.ROLE_CODE, + A.ROLE_NM, + A.ROLE_PTTRN, + A.ROLE_DC, + A.ROLE_TY, + A.ROLE_SORT, + B.AUTHOR_CODE, + B.CREAT_DT, + (CASE WHEN B.ROLE_CODE IS NULL THEN 'N' + ELSE 'Y' + END) AS REG_YN + FROM COMTNROLEINFO A + LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM COMTNAUTHORROLERELATE WHERE AUTHOR_CODE = #{searchKeyword}) B + ON A.ROLE_CODE = B.ROLE_CODE + + ) ALL_LIST + ) + + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} +]]> + </select> + + <select id="selectAuthorRoleListTotCnt" parameterType="egovframework.com.sec.ram.service.AuthorRoleManageVO" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNROLEINFO A + LEFT OUTER JOIN (SELECT AUTHOR_CODE , ROLE_CODE, CREAT_DT FROM COMTNAUTHORROLERELATE WHERE AUTHOR_CODE = #{searchKeyword}) B + ON A.ROLE_CODE = B.ROLE_CODE + </select> + + <insert id="insertAuthorRole" parameterType="egovframework.com.sec.ram.service.AuthorRoleManage"> + + INSERT INTO COMTNAUTHORROLERELATE + ( AUTHOR_CODE + , ROLE_CODE + , CREAT_DT) + VALUES ( #{authorCode} + , #{roleCode} + , SYSDATE) + + </insert> + + <delete id="deleteAuthorRole"> + + DELETE FROM COMTNAUTHORROLERELATE + WHERE AUTHOR_CODE=#{authorCode} + AND ROLE_CODE=#{roleCode} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sec/ram/EgovAuthorRoleManage_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_tibero.xml (revision 7) @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:39 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmUseDAO"> + + <resultMap id="CmmCodeDetail" type="egovframework.com.cmm.service.CmmnDetailCode"> + <result property="codeId" column="CODE_ID"/> + <result property="code" column="CODE"/> + <result property="codeNm" column="CODE_NM"/> + <result property="codeDc" column="CODE_DC"/> + </resultMap> + + <select id="selectCmmCodeDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + CODE_ID, CODE, CODE_NM, CODE_DC + FROM + COMTCCMMNDETAILCODE + WHERE + USE_AT = 'Y' + AND CODE_ID = #{codeId} + + </select> + + <select id="selectOgrnztIdDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + #{tableNm} CODE_ID, + ORGNZT_ID CODE, + ORGNZT_NM CODE_NM, + ORGNZT_DC CODE_DC + FROM + COMTNORGNZTINFO + WHERE 1=1 + + <if test='haveDetailCondition == "Y"'>AND + ORGNZT_ID LIKE #{detailConditionValue} + </if> + </select> + + <select id="selectGroupIdDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + #{tableNm} CODE_ID, + GROUP_ID CODE, + GROUP_NM CODE_NM, + GROUP_DC CODE_DC + FROM + COMTNAUTHORGROUPINFO + WHERE 1=1 + + <if test='haveDetailCondition == "Y"'>AND + GROUP_ID LIKE #{detailConditionValue} + </if> + </select> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_postgres.xml (revision 7) @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:39 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmUseDAO"> + + <resultMap id="CmmCodeDetail" type="egovframework.com.cmm.service.CmmnDetailCode"> + <result property="codeId" column="CODE_ID"/> + <result property="code" column="CODE"/> + <result property="codeNm" column="CODE_NM"/> + <result property="codeDc" column="CODE_DC"/> + </resultMap> + + <select id="selectCmmCodeDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + CODE_ID, CODE, CODE_NM, CODE_DC + FROM + COMTCCMMNDETAILCODE + WHERE + USE_AT = 'Y' + AND CODE_ID = #{codeId} + + </select> + + <select id="selectOgrnztIdDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + #{tableNm} CODE_ID, + ORGNZT_ID CODE, + ORGNZT_NM CODE_NM, + ORGNZT_DC CODE_DC + FROM + COMTNORGNZTINFO + WHERE 1=1 + + <if test='haveDetailCondition == "Y"'>AND + ORGNZT_ID LIKE #{detailConditionValue} + </if> + </select> + + <select id="selectGroupIdDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + #{tableNm} CODE_ID, + GROUP_ID CODE, + GROUP_NM CODE_NM, + GROUP_DC CODE_DC + FROM + COMTNAUTHORGROUPINFO + WHERE 1=1 + + <if test='haveDetailCondition == "Y"'>AND + GROUP_ID LIKE #{detailConditionValue} + </if> + </select> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_mysql.xml (revision 7) @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:39 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmUseDAO"> + + <resultMap id="CmmCodeDetail" type="egovframework.com.cmm.service.CmmnDetailCode"> + <result property="codeId" column="CODE_ID"/> + <result property="code" column="CODE"/> + <result property="codeNm" column="CODE_NM"/> + <result property="codeDc" column="CODE_DC"/> + </resultMap> + + <select id="selectCmmCodeDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + CODE_ID, CODE, CODE_NM, CODE_DC + FROM + COMTCCMMNDETAILCODE + WHERE + USE_AT = 'Y' + AND CODE_ID = #{codeId} + + </select> + + <select id="selectOgrnztIdDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + #{tableNm} CODE_ID, + ORGNZT_ID CODE, + ORGNZT_NM CODE_NM, + ORGNZT_DC CODE_DC + FROM + COMTNORGNZTINFO + WHERE 1=1 + + <if test='haveDetailCondition == "Y"'>AND + ORGNZT_ID LIKE #{detailConditionValue} + </if> + </select> + + <select id="selectGroupIdDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + #{tableNm} CODE_ID, + GROUP_ID CODE, + GROUP_NM CODE_NM, + GROUP_DC CODE_DC + FROM + COMTNAUTHORGROUPINFO + WHERE 1=1 + + <if test='haveDetailCondition == "Y"'>AND + GROUP_ID LIKE #{detailConditionValue} + </if> + </select> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_cubrid.xml (revision 7) @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:39 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmUseDAO"> + + <resultMap id="CmmCodeDetail" type="egovframework.com.cmm.service.CmmnDetailCode"> + <result property="codeId" column="CODE_ID"/> + <result property="code" column="CODE"/> + <result property="codeNm" column="CODE_NM"/> + <result property="codeDc" column="CODE_DC"/> + </resultMap> + + <select id="selectCmmCodeDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + CODE_ID, CODE, CODE_NM, CODE_DC + FROM + COMTCCMMNDETAILCODE + WHERE + USE_AT = 'Y' + AND CODE_ID = #{codeId} + + </select> + + <select id="selectOgrnztIdDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + #{tableNm} CODE_ID, + ORGNZT_ID CODE, + ORGNZT_NM CODE_NM, + ORGNZT_DC CODE_DC + FROM + COMTNORGNZTINFO + WHERE 1=1 + + <if test='haveDetailCondition == "Y"'>AND + ORGNZT_ID LIKE #{detailConditionValue} + </if> + </select> + + <select id="selectGroupIdDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + #{tableNm} CODE_ID, + GROUP_ID CODE, + GROUP_NM CODE_NM, + GROUP_DC CODE_DC + FROM + COMTNAUTHORGROUPINFO + WHERE 1=1 + + <if test='haveDetailCondition == "Y"'>AND + GROUP_ID LIKE #{detailConditionValue} + </if> + </select> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_oracle.xml (revision 7) @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:39 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmUseDAO"> + + <resultMap id="CmmCodeDetail" type="egovframework.com.cmm.service.CmmnDetailCode"> + <result property="codeId" column="CODE_ID"/> + <result property="code" column="CODE"/> + <result property="codeNm" column="CODE_NM"/> + <result property="codeDc" column="CODE_DC"/> + </resultMap> + + <select id="selectCmmCodeDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + CODE_ID, CODE, CODE_NM, CODE_DC + FROM + COMTCCMMNDETAILCODE + WHERE + USE_AT = 'Y' + AND CODE_ID = #{codeId} + + </select> + + <select id="selectOgrnztIdDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + #{tableNm} CODE_ID, + ORGNZT_ID CODE, + ORGNZT_NM CODE_NM, + ORGNZT_DC CODE_DC + FROM + COMTNORGNZTINFO + WHERE 1=1 + + <if test='haveDetailCondition == "Y"'>AND + ORGNZT_ID LIKE #{detailConditionValue} + </if> + </select> + + <select id="selectGroupIdDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + #{tableNm} CODE_ID, + GROUP_ID CODE, + GROUP_NM CODE_NM, + GROUP_DC CODE_DC + FROM + COMTNAUTHORGROUPINFO + WHERE 1=1 + + <if test='haveDetailCondition == "Y"'>AND + GROUP_ID LIKE #{detailConditionValue} + </if> + </select> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_maria.xml (revision 7) @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:39 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmUseDAO"> + + <resultMap id="CmmCodeDetail" type="egovframework.com.cmm.service.CmmnDetailCode"> + <result property="codeId" column="CODE_ID"/> + <result property="code" column="CODE"/> + <result property="codeNm" column="CODE_NM"/> + <result property="codeDc" column="CODE_DC"/> + </resultMap> + + <select id="selectCmmCodeDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + CODE_ID, CODE, CODE_NM, CODE_DC + FROM + COMTCCMMNDETAILCODE + WHERE + USE_AT = 'Y' + AND CODE_ID = #{codeId} + + </select> + + <select id="selectOgrnztIdDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + #{tableNm} CODE_ID, + ORGNZT_ID CODE, + ORGNZT_NM CODE_NM, + ORGNZT_DC CODE_DC + FROM + COMTNORGNZTINFO + WHERE 1=1 + + <if test='haveDetailCondition == "Y"'>AND + ORGNZT_ID LIKE #{detailConditionValue} + </if> + </select> + + <select id="selectGroupIdDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + SELECT + #{tableNm} CODE_ID, + GROUP_ID CODE, + GROUP_NM CODE_NM, + GROUP_DC CODE_DC + FROM + COMTNAUTHORGROUPINFO + WHERE 1=1 + + <if test='haveDetailCondition == "Y"'>AND + GROUP_ID LIKE #{detailConditionValue} + </if> + </select> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_altibase.xml (revision 7) @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:38 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmUseDAO"> + + <resultMap id="CmmCodeDetail" type="egovframework.com.cmm.service.CmmnDetailCode"> + <result property="codeId" column="CODE_ID"/> + <result property="code" column="CODE"/> + <result property="codeNm" column="CODE_NM"/> + <result property="codeDc" column="CODE_DC"/> + </resultMap> + + <select id="selectCmmCodeDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + + + SELECT + CODE_ID, CODE, CODE_NM, CODE_DC + FROM + COMTCCMMNDETAILCODE + WHERE + USE_AT = 'Y' + AND CODE_ID = #{codeId} + + </select> + + <select id="selectOgrnztIdDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + <if test="tableNm == 'COMTNORGNZTINFO'"> + + SELECT + 'COMTNORGNZTINFO' CODE_ID, + ORGNZT_ID CODE, + ORGNZT_NM CODE_NM, + ORGNZT_DC CODE_DC + FROM + COMTNORGNZTINFO + WHERE 1=1 + + </if> + + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(haveDetailCondition,'Y')"> + AND ORGNZT_ID LIKE #{detailConditionValue} + </if> + </select> + + <select id="selectGroupIdDetail" parameterType="ComDefaultCodeVO" resultMap="CmmCodeDetail"> + + <if test="tableNm == 'COMTNORGNZTINFO'"> + + SELECT + 'COMTNORGNZTINFO' CODE_ID, + GROUP_ID CODE, + GROUP_NM CODE_NM, + GROUP_DC CODE_DC + FROM + COMTNAUTHORGROUPINFO + WHERE 1=1 + + </if> + + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(haveDetailCondition,'Y')"> + AND GROUP_ID LIKE #{detailConditionValue} + </if> + </select> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cmm/use/EgovCmmUse_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_mysql.xml (revision 7) @@ -0,0 +1,169 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:38 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="FileManageDAO"> + + <resultMap id="fileList" type="egovframework.com.cmm.service.FileVO"> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="fileCn" column="FILE_CN"/> + <result property="fileExtsn" column="FILE_EXTSN"/> + <result property="fileMg" column="FILE_SIZE"/> + <result property="fileSn" column="FILE_SN"/> + <result property="fileStreCours" column="FILE_STRE_COURS"/> + <result property="orignlFileNm" column="ORIGNL_FILE_NM"/> + <result property="streFileNm" column="STRE_FILE_NM"/> + <result property="creatDt" column="CREAT_DT"/> + </resultMap> + + <resultMap id="fileDetail" type="egovframework.com.cmm.service.FileVO"> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="fileCn" column="FILE_CN"/> + <result property="fileExtsn" column="FILE_EXTSN"/> + <result property="fileMg" column="FILE_SIZE"/> + <result property="fileSn" column="FILE_SN"/> + <result property="fileStreCours" column="FILE_STRE_COURS"/> + <result property="orignlFileNm" column="ORIGNL_FILE_NM"/> + <result property="streFileNm" column="STRE_FILE_NM"/> + </resultMap> + + + <select id="selectFileList" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = #{atchFileId} + AND + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + ORDER BY b.FILE_SN + + </select> + + <insert id="insertFileMaster" parameterType="FileVO"> + + INSERT INTO COMTNFILE + (ATCH_FILE_ID, CREAT_DT, USE_AT) + VALUES + ( #{atchFileId}, SYSDATE(), 'Y') + + </insert> + + <insert id="insertFileDetail" parameterType="FileVO"> + + INSERT INTO COMTNFILEDETAIL + ( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, + ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN ) + VALUES + ( #{atchFileId}, #{fileSn}, #{fileStreCours}, #{streFileNm}, + #{orignlFileNm}, #{fileExtsn}, #{fileMg}, #{fileCn} ) + + </insert> + + <delete id="deleteFileDetail" parameterType="FileVO"> + + DELETE FROM COMTNFILEDETAIL + WHERE + ATCH_FILE_ID = #{atchFileId} + AND + FILE_SN = #{fileSn} + + </delete> + + <select id="getMaxFileSN" parameterType="FileVO" resultType="java.lang.Integer"> + + SELECT IFNULL(MAX(FILE_SN),0)+1 AS FILE_SN + FROM COMTNFILEDETAIL + WHERE ATCH_FILE_ID = #{atchFileId} + + </select> + + <select id="selectFileInf" parameterType="FileVO" resultMap="fileDetail"> + + SELECT + ATCH_FILE_ID, FILE_CN, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, + FILE_EXTSN, ORIGNL_FILE_NM, FILE_SIZE + FROM + COMTNFILEDETAIL + WHERE + ATCH_FILE_ID = #{atchFileId} + AND + FILE_SN = #{fileSn} + + </select> + + <update id="deleteCOMTNFILE" parameterType="FileVO"> + + UPDATE COMTNFILE + SET USE_AT = 'N' + WHERE ATCH_FILE_ID = #{atchFileId} + + </update> + + <select id="selectFileListByFileNm" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + + <if test="searchCnd == 'streFileNm'">AND + b.STRE_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 'orignlFileNm'">AND + b.ORIGNL_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.ATCH_FILE_ID, b.FILE_SN + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectFileListCntByFileNm" parameterType="FileVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ATCH_FILE_ID) + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + + <if test="searchCnd == 'streFileNm'">AND + b.STRE_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 'orignlFileNm'">AND + b.ORIGNL_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectImageFileList" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = #{atchFileId} + AND + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + UPPER(b.FILE_EXTSN) IN ('GIF','JPG','BMP','PNG') + AND + a.USE_AT = 'Y' + ORDER BY b.FILE_SN + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_cubrid.xml (revision 7) @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:38 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="FileManageDAO"> + + <resultMap id="fileList" type="egovframework.com.cmm.service.FileVO"> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="fileCn" column="FILE_CN"/> + <result property="fileExtsn" column="FILE_EXTSN"/> + <result property="fileMg" column="FILE_SIZE"/> + <result property="fileSn" column="FILE_SN"/> + <result property="fileStreCours" column="FILE_STRE_COURS"/> + <result property="orignlFileNm" column="ORIGNL_FILE_NM"/> + <result property="streFileNm" column="STRE_FILE_NM"/> + <result property="creatDt" column="CREAT_DT"/> + </resultMap> + + <resultMap id="fileDetail" type="egovframework.com.cmm.service.FileVO"> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="fileCn" column="FILE_CN"/> + <result property="fileExtsn" column="FILE_EXTSN"/> + <result property="fileMg" column="FILE_SIZE"/> + <result property="fileSn" column="FILE_SN"/> + <result property="fileStreCours" column="FILE_STRE_COURS"/> + <result property="orignlFileNm" column="ORIGNL_FILE_NM"/> + <result property="streFileNm" column="STRE_FILE_NM"/> + </resultMap> + + + <select id="selectFileList" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = #{atchFileId} + AND + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + ORDER BY b.FILE_SN + + </select> + + <insert id="insertFileMaster" parameterType="FileVO"> + + INSERT INTO COMTNFILE + (ATCH_FILE_ID, CREAT_DT, USE_AT) + VALUES + ( #{atchFileId}, SYSDATETIME, 'Y') + + </insert> + + <insert id="insertFileDetail" parameterType="FileVO"> + + INSERT INTO COMTNFILEDETAIL + ( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, + ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN ) + VALUES + ( #{atchFileId}, #{fileSn}, #{fileStreCours}, #{streFileNm}, + #{orignlFileNm}, #{fileExtsn}, #{fileMg}, #{fileCn} ) + + </insert> + + <delete id="deleteFileDetail" parameterType="FileVO"> + + DELETE FROM COMTNFILEDETAIL + WHERE + ATCH_FILE_ID = #{atchFileId} + AND + FILE_SN = #{fileSn} + + </delete> + + <select id="getMaxFileSN" parameterType="FileVO" resultType="java.lang.Integer"> + + SELECT NVL(MAX(FILE_SN),0)+1 AS FILE_SN + FROM COMTNFILEDETAIL + WHERE ATCH_FILE_ID = #{atchFileId} + + </select> + + <select id="selectFileInf" parameterType="FileVO" resultMap="fileDetail"> + + SELECT + ATCH_FILE_ID, FILE_CN, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, + FILE_EXTSN, ORIGNL_FILE_NM, FILE_SIZE + FROM + COMTNFILEDETAIL + WHERE + ATCH_FILE_ID = #{atchFileId} + AND + FILE_SN = #{fileSn} + + </select> + + <update id="deleteCOMTNFILE" parameterType="FileVO"> + + UPDATE COMTNFILE + SET USE_AT = 'N' + WHERE ATCH_FILE_ID = #{atchFileId} + + </update> + + <select id="selectFileListByFileNm" parameterType="FileVO" resultMap="fileList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + + <if test="searchCnd == 'streFileNm'">AND + b.STRE_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 'orignlFileNm'">AND + b.ORIGNL_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.ATCH_FILE_ID, b.FILE_SN + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectFileListCntByFileNm" parameterType="FileVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ATCH_FILE_ID) + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + + <if test="searchCnd == 'streFileNm'">AND + b.STRE_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 'orignlFileNm'">AND + b.ORIGNL_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectImageFileList" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = #{atchFileId} + AND + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + UPPER(b.FILE_EXTSN) IN ('GIF','JPG','BMP','PNG') + AND + a.USE_AT = 'Y' + ORDER BY b.FILE_SN + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_oracle.xml (revision 7) @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:38 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="FileManageDAO"> + + <resultMap id="fileList" type="egovframework.com.cmm.service.FileVO"> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="fileCn" column="FILE_CN"/> + <result property="fileExtsn" column="FILE_EXTSN"/> + <result property="fileMg" column="FILE_SIZE"/> + <result property="fileSn" column="FILE_SN"/> + <result property="fileStreCours" column="FILE_STRE_COURS"/> + <result property="orignlFileNm" column="ORIGNL_FILE_NM"/> + <result property="streFileNm" column="STRE_FILE_NM"/> + <result property="creatDt" column="CREAT_DT"/> + </resultMap> + + <resultMap id="fileDetail" type="egovframework.com.cmm.service.FileVO"> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="fileCn" column="FILE_CN"/> + <result property="fileExtsn" column="FILE_EXTSN"/> + <result property="fileMg" column="FILE_SIZE"/> + <result property="fileSn" column="FILE_SN"/> + <result property="fileStreCours" column="FILE_STRE_COURS"/> + <result property="orignlFileNm" column="ORIGNL_FILE_NM"/> + <result property="streFileNm" column="STRE_FILE_NM"/> + </resultMap> + + + <select id="selectFileList" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = #{atchFileId} + AND + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + ORDER BY b.FILE_SN + + </select> + + <insert id="insertFileMaster" parameterType="FileVO"> + + INSERT INTO COMTNFILE + (ATCH_FILE_ID, CREAT_DT, USE_AT) + VALUES + ( #{atchFileId}, SYSDATE, 'Y') + + </insert> + + <insert id="insertFileDetail" parameterType="FileVO"> + + INSERT INTO COMTNFILEDETAIL + ( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, + ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN ) + VALUES + ( #{atchFileId}, #{fileSn}, #{fileStreCours}, #{streFileNm}, + #{orignlFileNm}, #{fileExtsn}, #{fileMg}, #{fileCn} ) + + </insert> + + <delete id="deleteFileDetail" parameterType="FileVO"> + + DELETE FROM COMTNFILEDETAIL + WHERE + ATCH_FILE_ID = #{atchFileId} + AND + FILE_SN = #{fileSn} + + </delete> + + <select id="getMaxFileSN" parameterType="FileVO" resultType="java.lang.Integer"> + + SELECT NVL(MAX(FILE_SN),0)+1 AS FILE_SN + FROM COMTNFILEDETAIL + WHERE ATCH_FILE_ID = #{atchFileId} + + </select> + + <select id="selectFileInf" parameterType="FileVO" resultMap="fileDetail"> + + SELECT + ATCH_FILE_ID, FILE_CN, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, + FILE_EXTSN, ORIGNL_FILE_NM, FILE_SIZE + FROM + COMTNFILEDETAIL + WHERE + ATCH_FILE_ID = #{atchFileId} + AND + FILE_SN = #{fileSn} + + </select> + + <update id="deleteCOMTNFILE" parameterType="FileVO"> + + UPDATE COMTNFILE + SET USE_AT = 'N' + WHERE ATCH_FILE_ID = #{atchFileId} + + </update> + + <select id="selectFileListByFileNm" parameterType="FileVO" resultMap="fileList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + + <if test="searchCnd == 'streFileNm'">AND + b.STRE_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 'orignlFileNm'">AND + b.ORIGNL_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.ATCH_FILE_ID, b.FILE_SN + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectFileListCntByFileNm" parameterType="FileVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ATCH_FILE_ID) + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + + <if test="searchCnd == 'streFileNm'">AND + b.STRE_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 'orignlFileNm'">AND + b.ORIGNL_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectImageFileList" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = #{atchFileId} + AND + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + UPPER(b.FILE_EXTSN) IN ('GIF','JPG','BMP','PNG') + AND + a.USE_AT = 'Y' + ORDER BY b.FILE_SN + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_maria.xml (revision 7) @@ -0,0 +1,169 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:38 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="FileManageDAO"> + + <resultMap id="fileList" type="egovframework.com.cmm.service.FileVO"> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="fileCn" column="FILE_CN"/> + <result property="fileExtsn" column="FILE_EXTSN"/> + <result property="fileMg" column="FILE_SIZE"/> + <result property="fileSn" column="FILE_SN"/> + <result property="fileStreCours" column="FILE_STRE_COURS"/> + <result property="orignlFileNm" column="ORIGNL_FILE_NM"/> + <result property="streFileNm" column="STRE_FILE_NM"/> + <result property="creatDt" column="CREAT_DT"/> + </resultMap> + + <resultMap id="fileDetail" type="egovframework.com.cmm.service.FileVO"> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="fileCn" column="FILE_CN"/> + <result property="fileExtsn" column="FILE_EXTSN"/> + <result property="fileMg" column="FILE_SIZE"/> + <result property="fileSn" column="FILE_SN"/> + <result property="fileStreCours" column="FILE_STRE_COURS"/> + <result property="orignlFileNm" column="ORIGNL_FILE_NM"/> + <result property="streFileNm" column="STRE_FILE_NM"/> + </resultMap> + + + <select id="selectFileList" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = #{atchFileId} + AND + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + ORDER BY b.FILE_SN + + </select> + + <insert id="insertFileMaster" parameterType="FileVO"> + + INSERT INTO COMTNFILE + (ATCH_FILE_ID, CREAT_DT, USE_AT) + VALUES + ( #{atchFileId}, SYSDATE(), 'Y') + + </insert> + + <insert id="insertFileDetail" parameterType="FileVO"> + + INSERT INTO COMTNFILEDETAIL + ( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, + ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN ) + VALUES + ( #{atchFileId}, #{fileSn}, #{fileStreCours}, #{streFileNm}, + #{orignlFileNm}, #{fileExtsn}, #{fileMg}, #{fileCn} ) + + </insert> + + <delete id="deleteFileDetail" parameterType="FileVO"> + + DELETE FROM COMTNFILEDETAIL + WHERE + ATCH_FILE_ID = #{atchFileId} + AND + FILE_SN = #{fileSn} + + </delete> + + <select id="getMaxFileSN" parameterType="FileVO" resultType="java.lang.Integer"> + + SELECT IFNULL(MAX(FILE_SN),0)+1 AS FILE_SN + FROM COMTNFILEDETAIL + WHERE ATCH_FILE_ID = #{atchFileId} + + </select> + + <select id="selectFileInf" parameterType="FileVO" resultMap="fileDetail"> + + SELECT + ATCH_FILE_ID, FILE_CN, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, + FILE_EXTSN, ORIGNL_FILE_NM, FILE_SIZE + FROM + COMTNFILEDETAIL + WHERE + ATCH_FILE_ID = #{atchFileId} + AND + FILE_SN = #{fileSn} + + </select> + + <update id="deleteCOMTNFILE" parameterType="FileVO"> + + UPDATE COMTNFILE + SET USE_AT = 'N' + WHERE ATCH_FILE_ID = #{atchFileId} + + </update> + + <select id="selectFileListByFileNm" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + + <if test="searchCnd == 'streFileNm'">AND + b.STRE_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 'orignlFileNm'">AND + b.ORIGNL_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.ATCH_FILE_ID, b.FILE_SN + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectFileListCntByFileNm" parameterType="FileVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ATCH_FILE_ID) + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + + <if test="searchCnd == 'streFileNm'">AND + b.STRE_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 'orignlFileNm'">AND + b.ORIGNL_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectImageFileList" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = #{atchFileId} + AND + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + UPPER(b.FILE_EXTSN) IN ('GIF','JPG','BMP','PNG') + AND + a.USE_AT = 'Y' + ORDER BY b.FILE_SN + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_altibase.xml (revision 7) @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:38 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="FileManageDAO"> + + <resultMap id="fileList" type="egovframework.com.cmm.service.FileVO"> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="fileCn" column="FILE_CN"/> + <result property="fileExtsn" column="FILE_EXTSN"/> + <result property="fileMg" column="FILE_SIZE"/> + <result property="fileSn" column="FILE_SN"/> + <result property="fileStreCours" column="FILE_STRE_COURS"/> + <result property="orignlFileNm" column="ORIGNL_FILE_NM"/> + <result property="streFileNm" column="STRE_FILE_NM"/> + <result property="creatDt" column="CREAT_DT"/> + </resultMap> + + <resultMap id="fileDetail" type="egovframework.com.cmm.service.FileVO"> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="fileCn" column="FILE_CN"/> + <result property="fileExtsn" column="FILE_EXTSN"/> + <result property="fileMg" column="FILE_SIZE"/> + <result property="fileSn" column="FILE_SN"/> + <result property="fileStreCours" column="FILE_STRE_COURS"/> + <result property="orignlFileNm" column="ORIGNL_FILE_NM"/> + <result property="streFileNm" column="STRE_FILE_NM"/> + </resultMap> + + + <select id="selectFileList" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = #{atchFileId} + AND + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + ORDER BY b.FILE_SN + + </select> + + <insert id="insertFileMaster" parameterType="FileVO"> + + INSERT INTO COMTNFILE + (ATCH_FILE_ID, CREAT_DT, USE_AT) + VALUES + ( #{atchFileId}, SYSDATE, 'Y') + + </insert> + + <insert id="insertFileDetail" parameterType="FileVO"> + + INSERT INTO COMTNFILEDETAIL + ( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, + ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN ) + VALUES + ( #{atchFileId}, #{fileSn}, #{fileStreCours}, #{streFileNm}, + #{orignlFileNm}, #{fileExtsn}, #{fileMg}, #{fileCn} ) + + </insert> + + <delete id="deleteFileDetail" parameterType="FileVO"> + + DELETE FROM COMTNFILEDETAIL + WHERE + ATCH_FILE_ID = #{atchFileId} + AND + FILE_SN = #{fileSn} + + </delete> + + <select id="getMaxFileSN" parameterType="FileVO" resultType="java.lang.Integer"> + + SELECT NVL(MAX(FILE_SN),0)+1 AS FILE_SN + FROM COMTNFILEDETAIL + WHERE ATCH_FILE_ID = #{atchFileId} + + </select> + + <select id="selectFileInf" parameterType="FileVO" resultMap="fileDetail"> + + SELECT + ATCH_FILE_ID, FILE_CN, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, + FILE_EXTSN, ORIGNL_FILE_NM, FILE_SIZE + FROM + COMTNFILEDETAIL + WHERE + ATCH_FILE_ID = #{atchFileId} + AND + FILE_SN = #{fileSn} + + </select> + + <update id="deleteCOMTNFILE" parameterType="FileVO"> + + UPDATE COMTNFILE + SET USE_AT = 'N' + WHERE ATCH_FILE_ID = #{atchFileId} + + </update> + + <select id="selectFileListByFileNm" parameterType="FileVO" resultMap="fileList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + + <if test="searchCnd == 'streFileNm'">AND + b.STRE_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 'orignlFileNm'">AND + b.ORIGNL_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.ATCH_FILE_ID, b.FILE_SN + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectFileListCntByFileNm" parameterType="FileVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ATCH_FILE_ID) as cnt + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + + <if test="searchCnd == 'streFileNm'">AND + b.STRE_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 'orignlFileNm'">AND + b.ORIGNL_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectImageFileList" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = #{atchFileId} + AND + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + UPPER(b.FILE_EXTSN) IN ('GIF','JPG','BMP','PNG') + AND + a.USE_AT = 'Y' + ORDER BY b.FILE_SN + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_tibero.xml (revision 7) @@ -0,0 +1,170 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:38 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="FileManageDAO"> + + <resultMap id="fileList" type="egovframework.com.cmm.service.FileVO"> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="fileCn" column="FILE_CN"/> + <result property="fileExtsn" column="FILE_EXTSN"/> + <result property="fileMg" column="FILE_SIZE"/> + <result property="fileSn" column="FILE_SN"/> + <result property="fileStreCours" column="FILE_STRE_COURS"/> + <result property="orignlFileNm" column="ORIGNL_FILE_NM"/> + <result property="streFileNm" column="STRE_FILE_NM"/> + <result property="creatDt" column="CREAT_DT"/> + </resultMap> + + <resultMap id="fileDetail" type="egovframework.com.cmm.service.FileVO"> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="fileCn" column="FILE_CN"/> + <result property="fileExtsn" column="FILE_EXTSN"/> + <result property="fileMg" column="FILE_SIZE"/> + <result property="fileSn" column="FILE_SN"/> + <result property="fileStreCours" column="FILE_STRE_COURS"/> + <result property="orignlFileNm" column="ORIGNL_FILE_NM"/> + <result property="streFileNm" column="STRE_FILE_NM"/> + </resultMap> + + + <select id="selectFileList" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = #{atchFileId} + AND + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + ORDER BY b.FILE_SN + + </select> + + <insert id="insertFileMaster" parameterType="FileVO"> + + INSERT INTO COMTNFILE + (ATCH_FILE_ID, CREAT_DT, USE_AT) + VALUES + ( #{atchFileId}, SYSDATE, 'Y') + + </insert> + + <insert id="insertFileDetail" parameterType="FileVO"> + + INSERT INTO COMTNFILEDETAIL + ( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, + ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN ) + VALUES + ( #{atchFileId}, #{fileSn}, #{fileStreCours}, #{streFileNm}, + #{orignlFileNm}, #{fileExtsn}, #{fileMg}, #{fileCn} ) + + </insert> + + <delete id="deleteFileDetail" parameterType="FileVO"> + + DELETE FROM COMTNFILEDETAIL + WHERE + ATCH_FILE_ID = #{atchFileId} + AND + FILE_SN = #{fileSn} + + </delete> + + <select id="getMaxFileSN" parameterType="FileVO" resultType="java.lang.Integer"> + + SELECT NVL(MAX(FILE_SN),0)+1 AS FILE_SN + FROM COMTNFILEDETAIL + WHERE ATCH_FILE_ID = #{atchFileId} + + </select> + + <select id="selectFileInf" parameterType="FileVO" resultMap="fileDetail"> + + SELECT + ATCH_FILE_ID, FILE_CN, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, + FILE_EXTSN, ORIGNL_FILE_NM, FILE_SIZE + FROM + COMTNFILEDETAIL + WHERE + ATCH_FILE_ID = #{atchFileId} + AND + FILE_SN = #{fileSn} + + </select> + + <update id="deleteCOMTNFILE" parameterType="FileVO"> + + UPDATE COMTNFILE + SET USE_AT = 'N' + WHERE ATCH_FILE_ID = #{atchFileId} + + </update> + + <select id="selectFileListByFileNm" parameterType="FileVO" resultMap="fileList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + + <if test="searchCnd == 'streFileNm'">AND + b.STRE_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 'orignlFileNm'">AND + b.ORIGNL_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.ATCH_FILE_ID, b.FILE_SN + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectFileListCntByFileNm" parameterType="FileVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ATCH_FILE_ID) + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + + <if test="searchCnd == 'streFileNm'">AND + b.STRE_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 'orignlFileNm'">AND + b.ORIGNL_FILE_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectImageFileList" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = #{atchFileId} + AND + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + UPPER(b.FILE_EXTSN) IN ('GIF','JPG','BMP','PNG') + AND + a.USE_AT = 'Y' + ORDER BY b.FILE_SN + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_postgres.xml (revision 7) @@ -0,0 +1,169 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:38 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="FileManageDAO"> + + <resultMap id="fileList" type="egovframework.com.cmm.service.FileVO"> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="fileCn" column="FILE_CN"/> + <result property="fileExtsn" column="FILE_EXTSN"/> + <result property="fileMg" column="FILE_SIZE"/> + <result property="fileSn" column="FILE_SN"/> + <result property="fileStreCours" column="FILE_STRE_COURS"/> + <result property="orignlFileNm" column="ORIGNL_FILE_NM"/> + <result property="streFileNm" column="STRE_FILE_NM"/> + <result property="creatDt" column="CREAT_DT"/> + </resultMap> + + <resultMap id="fileDetail" type="egovframework.com.cmm.service.FileVO"> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="fileCn" column="FILE_CN"/> + <result property="fileExtsn" column="FILE_EXTSN"/> + <result property="fileMg" column="FILE_SIZE"/> + <result property="fileSn" column="FILE_SN"/> + <result property="fileStreCours" column="FILE_STRE_COURS"/> + <result property="orignlFileNm" column="ORIGNL_FILE_NM"/> + <result property="streFileNm" column="STRE_FILE_NM"/> + </resultMap> + + + <select id="selectFileList" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = #{atchFileId} + AND + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + ORDER BY b.FILE_SN + + </select> + + <insert id="insertFileMaster" parameterType="FileVO"> + + INSERT INTO COMTNFILE + (ATCH_FILE_ID, CREAT_DT, USE_AT) + VALUES + ( #{atchFileId}, NOW(), 'Y') + + </insert> + + <insert id="insertFileDetail" parameterType="FileVO"> + + INSERT INTO COMTNFILEDETAIL + ( ATCH_FILE_ID, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, + ORIGNL_FILE_NM, FILE_EXTSN, FILE_SIZE, FILE_CN ) + VALUES + ( #{atchFileId}, CAST(#{fileSn} AS NUMERIC), #{fileStreCours}, #{streFileNm}, + #{orignlFileNm}, #{fileExtsn}, CAST(#{fileMg} AS NUMERIC), #{fileCn} ) + + </insert> + + <delete id="deleteFileDetail" parameterType="FileVO"> + + DELETE FROM COMTNFILEDETAIL + WHERE + ATCH_FILE_ID = #{atchFileId} + AND + FILE_SN = CAST(#{fileSn} AS NUMERIC) + + </delete> + + <select id="getMaxFileSN" parameterType="FileVO" resultType="java.lang.Integer"> + + SELECT COALESCE(MAX(FILE_SN),0)+1 AS FILE_SN + FROM COMTNFILEDETAIL + WHERE ATCH_FILE_ID = #{atchFileId} + + </select> + + <select id="selectFileInf" parameterType="FileVO" resultMap="fileDetail"> + + SELECT + ATCH_FILE_ID, FILE_CN, FILE_SN, FILE_STRE_COURS, STRE_FILE_NM, + FILE_EXTSN, ORIGNL_FILE_NM, FILE_SIZE + FROM + COMTNFILEDETAIL + WHERE + ATCH_FILE_ID = #{atchFileId} + AND + FILE_SN = CAST(#{fileSn} AS NUMERIC) + + </select> + + <update id="deleteCOMTNFILE" parameterType="FileVO"> + + UPDATE COMTNFILE + SET USE_AT = 'N' + WHERE ATCH_FILE_ID = #{atchFileId} + + </update> + + <select id="selectFileListByFileNm" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + + <if test="searchCnd == 'streFileNm'">AND + b.STRE_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 'orignlFileNm'">AND + b.ORIGNL_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.ATCH_FILE_ID, b.FILE_SN + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectFileListCntByFileNm" parameterType="FileVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ATCH_FILE_ID) + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + a.USE_AT = 'Y' + + <if test="searchCnd == 'streFileNm'">AND + b.STRE_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 'orignlFileNm'">AND + b.ORIGNL_FILE_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectImageFileList" parameterType="FileVO" resultMap="fileList"> + + SELECT + a.ATCH_FILE_ID, b.FILE_CN, b.FILE_SN, b.FILE_STRE_COURS, b.STRE_FILE_NM, + b.FILE_EXTSN, b.ORIGNL_FILE_NM, b.FILE_SIZE, a.CREAT_DT + FROM + COMTNFILE a, COMTNFILEDETAIL b + WHERE + a.ATCH_FILE_ID = #{atchFileId} + AND + a.ATCH_FILE_ID = b.ATCH_FILE_ID + AND + UPPER(b.FILE_EXTSN) IN ('GIF','JPG','BMP','PNG') + AND + a.USE_AT = 'Y' + ORDER BY b.FILE_SN + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cmm/fms/EgovFile_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_tibero.xml (revision 7) @@ -0,0 +1,240 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:51 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="EgovUserInfManageDAO"> + + <resultMap id="UserInfs" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="userZip" column="USER_ZIP"/> + <result property="userAdres" column="USER_ADRES"/> + <result property="userEmail" column="USER_EMAIL"/> + </resultMap> + + <resultMap id="UserInfList" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="userZip" column="USER_ZIP"/> + <result property="userAdres" column="USER_ADRES"/> + <result property="userEmail" column="USER_EMAIL"/> + <result property="useAt" column="USE_AT"/> + <result property="deletedAt" column="DELETED_AT"/> + </resultMap> + + <resultMap id="AllUserInfList" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="trgetId" column="TRGET_ID"/> + </resultMap> + + <select id="selectUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfs"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID, USER_ID, USER_NM, USER_ZIP, USER_ADRES, USER_EMAIL + FROM + COMVNUSERMASTER + WHERE 1=1 + + <if test="searchCnd == 0">AND + USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY USER_NM + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(ESNTL_ID) + FROM + COMVNUSERMASTER + WHERE 1=1 + + <if test="searchCnd == 0">AND + USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectCmmntyUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCMMNTY WHERE CMMNTY_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectCmmntyUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + + <select id="selectCmmntyMngrList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCMMNTY WHERE CMMNTY_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.MNGR_AT = 'Y' + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectCmmntyMngrListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.MNGR_AT = 'Y' + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + + <select id="selectClubUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCLUB WHERE CLB_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectClubUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectClubOprtrList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCLUB WHERE CLB_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.OPRTR_AT = 'Y' + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectClubOprtrListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.OPRTR_AT = 'Y' + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectAllClubUser" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="AllUserInfList"> + + SELECT EMPLYR_ID as ESNTL_ID, CLB_ID as TRGET_ID + FROM COMTNCLUBUSER WHERE USE_AT = 'Y' + AND CLB_ID = #{trgetId} + + </select> + + <select id="selectAllCmmntyUser" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="AllUserInfList"> + + SELECT EMPLYR_ID as ESNTL_ID, CMMNTY_ID as TRGET_ID + FROM COMTNCMMNTYUSER WHERE USE_AT = 'Y' + AND CMMNTY_ID = #{trgetId} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_postgres.xml (revision 7) @@ -0,0 +1,235 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:51 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="EgovUserInfManageDAO"> + + <resultMap id="UserInfs" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="userZip" column="USER_ZIP"/> + <result property="userAdres" column="USER_ADRES"/> + <result property="userEmail" column="USER_EMAIL"/> + </resultMap> + + <resultMap id="UserInfList" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="userZip" column="USER_ZIP"/> + <result property="userAdres" column="USER_ADRES"/> + <result property="userEmail" column="USER_EMAIL"/> + <result property="useAt" column="USE_AT"/> + <result property="deletedAt" column="DELETED_AT"/> + </resultMap> + + <resultMap id="AllUserInfList" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="trgetId" column="TRGET_ID"/> + </resultMap> + + <select id="selectUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfs"> + + SELECT + ESNTL_ID, USER_ID, USER_NM, USER_ZIP, USER_ADRES, USER_EMAIL + FROM + COMVNUSERMASTER + WHERE 1=1 + + <if test="searchCnd == 0">AND + USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY USER_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(ESNTL_ID) + FROM + COMVNUSERMASTER + WHERE 1=1 + + <if test="searchCnd == 0">AND + USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectCmmntyUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCMMNTY WHERE CMMNTY_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.USER_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectCmmntyUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + + <select id="selectCmmntyMngrList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCMMNTY WHERE CMMNTY_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.MNGR_AT = 'Y' + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.USER_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectCmmntyMngrListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.MNGR_AT = 'Y' + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + + <select id="selectClubUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCLUB WHERE CLB_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.USER_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectClubUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectClubOprtrList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCLUB WHERE CLB_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.OPRTR_AT = 'Y' + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.USER_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectClubOprtrListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.OPRTR_AT = 'Y' + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectAllClubUser" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="AllUserInfList"> + + SELECT EMPLYR_ID as ESNTL_ID, CLB_ID as TRGET_ID + FROM COMTNCLUBUSER WHERE USE_AT = 'Y' + AND CLB_ID = #{trgetId} + + </select> + + <select id="selectAllCmmntyUser" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="AllUserInfList"> + + SELECT EMPLYR_ID as ESNTL_ID, CMMNTY_ID as TRGET_ID + FROM COMTNCMMNTYUSER WHERE USE_AT = 'Y' + AND CMMNTY_ID = #{trgetId} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_mysql.xml (revision 7) @@ -0,0 +1,235 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:51 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="EgovUserInfManageDAO"> + + <resultMap id="UserInfs" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="userZip" column="USER_ZIP"/> + <result property="userAdres" column="USER_ADRES"/> + <result property="userEmail" column="USER_EMAIL"/> + </resultMap> + + <resultMap id="UserInfList" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="userZip" column="USER_ZIP"/> + <result property="userAdres" column="USER_ADRES"/> + <result property="userEmail" column="USER_EMAIL"/> + <result property="useAt" column="USE_AT"/> + <result property="deletedAt" column="DELETED_AT"/> + </resultMap> + + <resultMap id="AllUserInfList" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="trgetId" column="TRGET_ID"/> + </resultMap> + + <select id="selectUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfs"> + + SELECT + ESNTL_ID, USER_ID, USER_NM, USER_ZIP, USER_ADRES, USER_EMAIL + FROM + COMVNUSERMASTER + WHERE 1=1 + + <if test="searchCnd == 0">AND + USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY USER_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(ESNTL_ID) + FROM + COMVNUSERMASTER + WHERE 1=1 + + <if test="searchCnd == 0">AND + USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectCmmntyUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCMMNTY WHERE CMMNTY_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.USER_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectCmmntyUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + + <select id="selectCmmntyMngrList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCMMNTY WHERE CMMNTY_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.MNGR_AT = 'Y' + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.USER_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectCmmntyMngrListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.MNGR_AT = 'Y' + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + + <select id="selectClubUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCLUB WHERE CLB_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.USER_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectClubUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectClubOprtrList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCLUB WHERE CLB_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.OPRTR_AT = 'Y' + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.USER_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectClubOprtrListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.OPRTR_AT = 'Y' + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectAllClubUser" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="AllUserInfList"> + + SELECT EMPLYR_ID as ESNTL_ID, CLB_ID as TRGET_ID + FROM COMTNCLUBUSER WHERE USE_AT = 'Y' + AND CLB_ID = #{trgetId} + + </select> + + <select id="selectAllCmmntyUser" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="AllUserInfList"> + + SELECT EMPLYR_ID as ESNTL_ID, CMMNTY_ID as TRGET_ID + FROM COMTNCMMNTYUSER WHERE USE_AT = 'Y' + AND CMMNTY_ID = #{trgetId} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_cubrid.xml (revision 7) @@ -0,0 +1,240 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:50 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="EgovUserInfManageDAO"> + + <resultMap id="UserInfs" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="userZip" column="USER_ZIP"/> + <result property="userAdres" column="USER_ADRES"/> + <result property="userEmail" column="USER_EMAIL"/> + </resultMap> + + <resultMap id="UserInfList" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="userZip" column="USER_ZIP"/> + <result property="userAdres" column="USER_ADRES"/> + <result property="userEmail" column="USER_EMAIL"/> + <result property="useAt" column="USE_AT"/> + <result property="deletedAt" column="DELETED_AT"/> + </resultMap> + + <resultMap id="AllUserInfList" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="trgetId" column="TRGET_ID"/> + </resultMap> + + <select id="selectUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfs"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID, USER_ID, USER_NM, USER_ZIP, USER_ADRES, USER_EMAIL + FROM + COMVNUSERMASTER + WHERE 1=1 + + <if test="searchCnd == 0">AND + USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY USER_NM + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(ESNTL_ID) + FROM + COMVNUSERMASTER + WHERE 1=1 + + <if test="searchCnd == 0">AND + USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectCmmntyUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCMMNTY WHERE CMMNTY_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectCmmntyUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + + <select id="selectCmmntyMngrList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCMMNTY WHERE CMMNTY_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.MNGR_AT = 'Y' + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectCmmntyMngrListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.MNGR_AT = 'Y' + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + + <select id="selectClubUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCLUB WHERE CLB_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectClubUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectClubOprtrList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCLUB WHERE CLB_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.OPRTR_AT = 'Y' + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectClubOprtrListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.OPRTR_AT = 'Y' + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectAllClubUser" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="AllUserInfList"> + + SELECT EMPLYR_ID as ESNTL_ID, CLB_ID as TRGET_ID + FROM COMTNCLUBUSER WHERE USE_AT = 'Y' + AND CLB_ID = #{trgetId} + + </select> + + <select id="selectAllCmmntyUser" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="AllUserInfList"> + + SELECT EMPLYR_ID as ESNTL_ID, CMMNTY_ID as TRGET_ID + FROM COMTNCMMNTYUSER WHERE USE_AT = 'Y' + AND CMMNTY_ID = #{trgetId} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_oracle.xml (revision 7) @@ -0,0 +1,240 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:51 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="EgovUserInfManageDAO"> + + <resultMap id="UserInfs" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="userZip" column="USER_ZIP"/> + <result property="userAdres" column="USER_ADRES"/> + <result property="userEmail" column="USER_EMAIL"/> + </resultMap> + + <resultMap id="UserInfList" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="userZip" column="USER_ZIP"/> + <result property="userAdres" column="USER_ADRES"/> + <result property="userEmail" column="USER_EMAIL"/> + <result property="useAt" column="USE_AT"/> + <result property="deletedAt" column="DELETED_AT"/> + </resultMap> + + <resultMap id="AllUserInfList" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="trgetId" column="TRGET_ID"/> + </resultMap> + + <select id="selectUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfs"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID, USER_ID, USER_NM, USER_ZIP, USER_ADRES, USER_EMAIL + FROM + COMVNUSERMASTER + WHERE 1=1 + + <if test="searchCnd == 0">AND + USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY USER_NM + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(ESNTL_ID) + FROM + COMVNUSERMASTER + WHERE 1=1 + + <if test="searchCnd == 0">AND + USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectCmmntyUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCMMNTY WHERE CMMNTY_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectCmmntyUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + + <select id="selectCmmntyMngrList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCMMNTY WHERE CMMNTY_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.MNGR_AT = 'Y' + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectCmmntyMngrListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.MNGR_AT = 'Y' + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + + <select id="selectClubUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCLUB WHERE CLB_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectClubUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectClubOprtrList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCLUB WHERE CLB_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.OPRTR_AT = 'Y' + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectClubOprtrListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.OPRTR_AT = 'Y' + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectAllClubUser" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="AllUserInfList"> + + SELECT EMPLYR_ID as ESNTL_ID, CLB_ID as TRGET_ID + FROM COMTNCLUBUSER WHERE USE_AT = 'Y' + AND CLB_ID = #{trgetId} + + </select> + + <select id="selectAllCmmntyUser" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="AllUserInfList"> + + SELECT EMPLYR_ID as ESNTL_ID, CMMNTY_ID as TRGET_ID + FROM COMTNCMMNTYUSER WHERE USE_AT = 'Y' + AND CMMNTY_ID = #{trgetId} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_maria.xml (revision 7) @@ -0,0 +1,235 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:51 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="EgovUserInfManageDAO"> + + <resultMap id="UserInfs" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="userZip" column="USER_ZIP"/> + <result property="userAdres" column="USER_ADRES"/> + <result property="userEmail" column="USER_EMAIL"/> + </resultMap> + + <resultMap id="UserInfList" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="userZip" column="USER_ZIP"/> + <result property="userAdres" column="USER_ADRES"/> + <result property="userEmail" column="USER_EMAIL"/> + <result property="useAt" column="USE_AT"/> + <result property="deletedAt" column="DELETED_AT"/> + </resultMap> + + <resultMap id="AllUserInfList" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="trgetId" column="TRGET_ID"/> + </resultMap> + + <select id="selectUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfs"> + + SELECT + ESNTL_ID, USER_ID, USER_NM, USER_ZIP, USER_ADRES, USER_EMAIL + FROM + COMVNUSERMASTER + WHERE 1=1 + + <if test="searchCnd == 0">AND + USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY USER_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(ESNTL_ID) + FROM + COMVNUSERMASTER + WHERE 1=1 + + <if test="searchCnd == 0">AND + USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectCmmntyUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCMMNTY WHERE CMMNTY_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.USER_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectCmmntyUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + + <select id="selectCmmntyMngrList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCMMNTY WHERE CMMNTY_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.MNGR_AT = 'Y' + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.USER_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectCmmntyMngrListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.MNGR_AT = 'Y' + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + + <select id="selectClubUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCLUB WHERE CLB_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.USER_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectClubUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectClubOprtrList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCLUB WHERE CLB_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.OPRTR_AT = 'Y' + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.USER_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectClubOprtrListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.OPRTR_AT = 'Y' + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectAllClubUser" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="AllUserInfList"> + + SELECT EMPLYR_ID as ESNTL_ID, CLB_ID as TRGET_ID + FROM COMTNCLUBUSER WHERE USE_AT = 'Y' + AND CLB_ID = #{trgetId} + + </select> + + <select id="selectAllCmmntyUser" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="AllUserInfList"> + + SELECT EMPLYR_ID as ESNTL_ID, CMMNTY_ID as TRGET_ID + FROM COMTNCMMNTYUSER WHERE USE_AT = 'Y' + AND CMMNTY_ID = #{trgetId} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_altibase.xml (revision 7) @@ -0,0 +1,240 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:50 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="EgovUserInfManageDAO"> + + <resultMap id="UserInfs" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="userZip" column="USER_ZIP"/> + <result property="userAdres" column="USER_ADRES"/> + <result property="userEmail" column="USER_EMAIL"/> + </resultMap> + + <resultMap id="UserInfList" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="userId" column="USER_ID"/> + <result property="userNm" column="USER_NM"/> + <result property="userZip" column="USER_ZIP"/> + <result property="userAdres" column="USER_ADRES"/> + <result property="userEmail" column="USER_EMAIL"/> + <result property="useAt" column="USE_AT"/> + <result property="deletedAt" column="DELETED_AT"/> + </resultMap> + + <resultMap id="AllUserInfList" type="egovframework.com.cop.com.service.UserInfVO"> + <result property="uniqId" column="ESNTL_ID"/> + <result property="trgetId" column="TRGET_ID"/> + </resultMap> + + <select id="selectUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfs"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID, USER_ID, USER_NM, USER_ZIP, USER_ADRES, USER_EMAIL + FROM + COMVNUSERMASTER + WHERE 1=1 + + <if test="searchCnd == 0">AND + USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY USER_NM + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(ESNTL_ID) as cnt + FROM + COMVNUSERMASTER + WHERE 1=1 + + <if test="searchCnd == 0">AND + USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectCmmntyUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCMMNTY WHERE CMMNTY_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectCmmntyUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) as cnt + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + + <select id="selectCmmntyMngrList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCMMNTY WHERE CMMNTY_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.MNGR_AT = 'Y' + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectCmmntyMngrListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) as cnt + FROM + COMVNUSERMASTER a, COMTNCMMNTYUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.MNGR_AT = 'Y' + AND + b.CMMNTY_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + + <select id="selectClubUserList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCLUB WHERE CLB_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectClubUserListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) as cnt + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectClubOprtrList" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="UserInfList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ESNTL_ID, a.USER_ID, a.USER_NM, a.USER_ZIP, a.USER_ADRES, a.USER_EMAIL, b.USE_AT, + (SELECT USE_AT from COMTNCLUB WHERE CLB_ID = #{trgetId}) AS DELETED_AT + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.OPRTR_AT = 'Y' + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.USER_NM + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectClubOprtrListCnt" parameterType="egovframework.com.cop.com.service.UserInfVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.ESNTL_ID) as cnt + FROM + COMVNUSERMASTER a, COMTNCLUBUSER b + WHERE + a.ESNTL_ID = b.EMPLYR_ID + AND + b.OPRTR_AT = 'Y' + AND + b.CLB_ID = #{trgetId} + + <if test="searchCnd == 0">AND + a.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectAllClubUser" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="AllUserInfList"> + + SELECT EMPLYR_ID as ESNTL_ID, CLB_ID as TRGET_ID + FROM COMTNCLUBUSER WHERE USE_AT = 'Y' + AND CLB_ID = #{trgetId} + + </select> + + <select id="selectAllCmmntyUser" parameterType="egovframework.com.cop.com.service.UserInfVO" resultMap="AllUserInfList"> + + SELECT EMPLYR_ID as ESNTL_ID, CMMNTY_ID as TRGET_ID + FROM COMTNCMMNTYUSER WHERE USE_AT = 'Y' + AND CMMNTY_ID = #{trgetId} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/com/EgovUserInf_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_altibase.xml (revision 7) @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:40 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSAddedOptions"> + + <resultMap id="boardMasterDetail" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="commentAt" column="ANSWER_AT"/> + <result property="stsfdgAt" column="STSFDG_AT"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <insert id="insertAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + INSERT INTO COMTNBBSMASTEROPTN + (BBS_ID, ANSWER_AT, STSFDG_AT, + FRST_REGISTER_ID, FRST_REGIST_PNTTM ) + VALUES + ( #{bbsId}, + + <if test="option == ''"> + 'N', 'N', + </if> + <if test="option == 'comment'"> + 'Y', 'N', + </if> + <if test="option == 'stsfdg'"> + 'N', 'Y', + </if> + + #{frstRegisterId}, SYSDATE + ) + + </insert> + + <select id="selectAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster" resultMap="boardMasterDetail"> + + SELECT + a.BBS_ID, a.ANSWER_AT, a.STSFDG_AT, + a.FRST_REGISTER_ID, b.USER_NM as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM + FROM + COMTNBBSMASTEROPTN a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE a.BBS_ID = #{bbsId} + + </select> + + <update id="updateAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + UPDATE COMTNBBSMASTEROPTN SET + + <if test="option == ''"> + ANSWER_AT = 'N', STSFDG_AT = 'N', + </if> + <if test="option == 'comment'"> + ANSWER_AT = 'Y', STSFDG_AT = 'N', + </if> + <if test="option == 'stsfdg'"> + ANSWER_AT = 'N', STSFDG_AT = 'Y', + </if> + + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE + WHERE BBS_ID = #{bbsId} + + </update> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_tibero.xml (revision 7) @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:41 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSAddedOptions"> + + <resultMap id="boardMasterDetail" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="commentAt" column="ANSWER_AT"/> + <result property="stsfdgAt" column="STSFDG_AT"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <insert id="insertAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + INSERT INTO COMTNBBSMASTEROPTN + (BBS_ID, ANSWER_AT, STSFDG_AT, + FRST_REGISTER_ID, FRST_REGIST_PNTTM ) + VALUES + ( #{bbsId}, + + <if test="option == ''"> + 'N', 'N', + </if> + <if test="option == 'comment'"> + 'Y', 'N', + </if> + <if test="option == 'stsfdg'"> + 'N', 'Y', + </if> + + #{frstRegisterId}, SYSDATE + ) + + </insert> + + <select id="selectAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster" resultMap="boardMasterDetail"> + + SELECT + a.BBS_ID, a.ANSWER_AT, a.STSFDG_AT, + a.FRST_REGISTER_ID, b.USER_NM as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM + FROM + COMTNBBSMASTEROPTN a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE a.BBS_ID = #{bbsId} + + </select> + + <update id="updateAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + UPDATE COMTNBBSMASTEROPTN SET + + <if test="option == ''"> + ANSWER_AT = 'N', STSFDG_AT = 'N', + </if> + <if test="option == 'comment'"> + ANSWER_AT = 'Y', STSFDG_AT = 'N', + </if> + <if test="option == 'stsfdg'"> + ANSWER_AT = 'N', STSFDG_AT = 'Y', + </if> + + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE + WHERE BBS_ID = #{bbsId} + + </update> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_tibero.xml (revision 7) @@ -0,0 +1,604 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.09.07 서준식 NTCE_BGNDE, NTCE_ENDDE 컬럼 빈공간에 의한 비교 오류 때문에 Rtrim() 추가 + 2011.09.21 서준식 selectMaxNttId문에 COMMIT 될때까지 LOCK설정 + 2011.09.21 서준식 NTT_ID를 IDGENT서비스를 사용해서 생성하므로 selectMaxNttId문은 실제 사용하지 않음 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSArticle"> + + <resultMap id="boardList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="inqireCo" column="RDCNT"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + </resultMap> + + <resultMap id="boardDetail" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="ntcrId" column="NTCR_ID"/> + <result property="ntcrNm" column="NTCR_NM"/> + <result property="nttNo" column="NTT_NO"/> + <result property="nttCn" column="NTT_CN" jdbcType="CLOB"/> + <result property="password" column="PASSWORD"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="inqireCo" column="RDCNT"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="posblAtchFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + </resultMap> + + <resultMap id="sortList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="nttNo" column="NTT_NO"/> + <result property="replyLc" column="ANSWER_LC"/> + </resultMap> + + <resultMap id="guestList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="nttCn" column="NTT_CN"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="detailCn" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="ntcrId" column="NTCR_ID"/> + <result property="ntcrNm" column="NTCR_NM"/> + <result property="nttNo" column="NTT_NO"/> + <result property="nttCn" column="NTT_CN"/> + <result property="password" column="PASSWORD"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="inqireCo" column="RDCNT"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="posblAtchFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + </resultMap> + + <resultMap id="boardCnOne" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="nttCn" column="NTT_CN"/> + </resultMap> + + <resultMap id="boardMasterList" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsNm" column="BBS_NM"/> + </resultMap> + + <resultMap id="boardBlogManager" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="boardSubJectList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="inqireCo" column="RDCNT"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="blogId" column="BLOG_ID"/> + </resultMap> + + <select id="selectMaxNttId" resultType="java.lang.Long"> + + SELECT NVL(NTT_ID,0)+1 AS NTT_ID FROM COMTNBBS WHERE NTT_ID=(SELECT MAX(NTT_ID) AS NTT_ID FROM COMTNBBS) FOR UPDATE WAIT 3 + + </select> + + <insert id="insertArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + <selectKey keyProperty="nttNo" resultType="java.lang.Long" order="BEFORE"> + SELECT NVL(MAX(SORT_ORDR),0)+1 AS NTT_NO FROM COMTNBBS + WHERE BBS_ID = #{bbsId} + </selectKey> + + INSERT INTO COMTNBBS + (NTT_ID, BBS_ID, NTT_SJ, NTT_CN, SORT_ORDR, + NTCR_ID, NTCR_NM, PASSWORD, RDCNT, + NTCE_BGNDE, NTCE_ENDDE, ANSWER_AT, + PARNTSCTT_NO, NTT_NO, ANSWER_LC, ATCH_FILE_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, USE_AT, + SJ_BOLD_AT, NOTICE_AT, SECRET_AT, BLOG_ID + ) + VALUES + ( #{nttId}, #{bbsId}, #{nttSj}, #{nttCn}, #{nttId}, + #{ntcrId}, #{ntcrNm}, #{password}, #{inqireCo}, + #{ntceBgnde}, #{ntceEndde}, #{replyAt}, + #{parnts}, 1, #{replyLc}, #{atchFileId}, + #{frstRegisterId}, SYSDATE, 'Y', + #{sjBoldAt}, #{noticeAt}, #{secretAt}, #{blogId} + ) + + </insert> + + <insert id="replyArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + <selectKey keyProperty="nttNo" resultType="java.lang.Long" order="BEFORE"> + SELECT NVL(MAX(NTT_NO),0)+1 AS NTT_NO FROM COMTNBBS + WHERE BBS_ID = #{bbsId} AND SORT_ORDR = #{sortOrdr} + </selectKey> + + INSERT INTO COMTNBBS + (NTT_ID, BBS_ID, NTT_SJ, NTT_CN, SORT_ORDR, + NTCR_ID, NTCR_NM, PASSWORD, RDCNT, + NTCE_BGNDE, NTCE_ENDDE, ANSWER_AT, + PARNTSCTT_NO, NTT_NO, ANSWER_LC, ATCH_FILE_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, USE_AT, + SJ_BOLD_AT, NOTICE_AT, SECRET_AT + ) + VALUES + ( #{nttId}, #{bbsId}, #{nttSj}, #{nttCn}, #{sortOrdr}, + #{ntcrId}, #{ntcrNm}, #{password}, #{inqireCo}, + #{ntceBgnde}, #{ntceEndde}, #{replyAt}, + #{parnts}, 1, #{replyLc}, #{atchFileId}, + #{frstRegisterId}, SYSDATE, 'Y', + #{sjBoldAt}, #{noticeAt}, #{secretAt} + ) + + </insert> + + + <select id="selectArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, rtrim(a.NTCE_BGNDE) NTCE_BGNDE, rtrim(a.NTCE_ENDDE) NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + AND a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + <if test="searchCnd == 0">AND + a.NTT_SJ LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + a.NTT_CN LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 2">AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectArticleListCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.NTT_ID) + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + + <if test="searchCnd == 0">AND + a.NTT_SJ LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + a.NTT_CN LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 2">AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectArticleDetail" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardDetail"> + + SELECT + a.NTT_SJ, a.NTCR_ID, a.NTCR_NM, a.NTT_NO, a.NTT_CN, + a.PASSWORD, a.FRST_REGISTER_ID, b.USER_NM as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.NTCE_BGNDE, a.NTCE_ENDDE, a.RDCNT, + a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTT_ID, + a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, + a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.SORT_ORDR, + c.BBS_TY_CODE, c.REPLY_POSBL_AT, + c.FILE_ATCH_POSBL_AT, c.ATCH_POSBL_FILE_NUMBER, c.BBS_NM + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + + </select> + + <select id="selectArticleDetailCn" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="detailCn"> + + SELECT + a.NTT_SJ, a.NTCR_ID, a.NTCR_NM, a.NTT_NO, a.NTT_CN, + a.PASSWORD, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.NTCE_BGNDE, a.NTCE_ENDDE, a.RDCNT, + a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTT_ID, + a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, + a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.SORT_ORDR, + c.BBS_TY_CODE, c.REPLY_POSBL_AT, + c.FILE_ATCH_POSBL_AT, c.ATCH_POSBL_FILE_NUMBER, c.BBS_NM + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + + </select> + + <select id="selectArticleDetailDefault" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardSubJectList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, a.NTT_CN, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, a.NTCE_BGNDE, a.NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO, + a.NTCR_ID, d.BLOG_ID, d.REPLY_POSBL_AT + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + LEFT OUTER JOIN + COMTNBBSMASTER d + ON a.BBS_ID = d.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + <if test="searchCnd == 5"> + ) TB ) WHERE rn BETWEEN 1 AND 5 + </if> + <if test="searchCnd == 10"> + ) TB ) WHERE rn BETWEEN 1 AND 10 + </if> + <if test="searchCnd == 15"> + ) TB ) WHERE rn BETWEEN 1 AND 15 + </if> + <if test="searchCnd == 20"> + ) TB ) WHERE rn BETWEEN 1 AND 20 + </if> + <if test="searchCnd == 30"> + ) TB ) WHERE rn BETWEEN 1 AND 30 + </if> + + </select> + + <update id="updateArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + NTT_SJ = #{nttSj}, + NTT_CN = #{nttCn}, + NTCE_BGNDE = #{ntceBgnde}, + NTCE_ENDDE = #{ntceEndde}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + ATCH_FILE_ID = #{atchFileId}, + LAST_UPDT_PNTTM = SYSDATE, + SJ_BOLD_AT = #{sjBoldAt}, + NOTICE_AT = #{noticeAt}, + SECRET_AT = #{secretAt} + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <update id="deleteArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + NTT_SJ = #{nttSj}, + USE_AT = 'N', + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <select id="selectMaxInqireCo" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT NVL(MAX(RDCNT),0)+1 AS RDCNT FROM COMTNBBS + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </select> + + + <update id="updateInqireCo" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + RDCNT = #{inqireCo}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <select id="selectNoticeArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, rtrim(a.NTCE_BGNDE) NTCE_BGNDE, rtrim(a.NTCE_ENDDE) NTCE_ENDDE, c.COMMENT_CO + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + AND a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + AND a.NOTICE_AT = 'Y' + + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + ) TB ) WHERE rn BETWEEN 1 AND 5 + + </select> + + <select id="selectGuestArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="guestList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH:MI:SS') as FRST_REGIST_PNTTM, + a.NTT_CN, a.USE_AT, a.BBS_ID, b.USER_NM as FRST_REGISTER_NM, a.FRST_REGISTER_ID + FROM + COMTNBBS a, COMVNUSERMASTER b + WHERE + a.BBS_ID = #{bbsId} + AND + a.FRST_REGISTER_ID = b.ESNTL_ID + AND + a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, a.NTT_NO ASC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectGuestArticleListCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(NTT_ID) + FROM + COMTNBBS + WHERE + BBS_ID = #{bbsId} + AND + USE_AT = 'Y' + + </select> + + <select id="selectArticleCnOne" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardCnOne"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_CN + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC + ) TB ) WHERE rn BETWEEN 1 AND 1 + + </select> + + <select id="selectBlogNmList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardMasterList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + A.BBS_ID, A.BLOG_ID, A.BBS_NM + FROM + COMTNBBSMASTER A, COMTNBLOG B + WHERE A.BLOG_ID = B.BLOG_ID + AND B.BLOG_ID = #{blogId} + ORDER BY A.FRST_REGIST_PNTTM DESC + ) TB ) WHERE rn BETWEEN 1 AND 7 + + </select> + + <select id="selectLoginUser" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(FRST_REGISTER_ID) + FROM + COMTNBLOG + WHERE + FRST_REGISTER_ID = #{frstRegisterId} + AND + BLOG_ID = #{blogId} + + </select> + + <select id="selectBlogListManager" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardBlogManager"> + + SELECT + A.BBS_ID, A.BLOG_ID, A.BBS_NM, C.USER_NM AS FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + A.USE_AT + FROM + COMTNBBSMASTER A + LEFT OUTER JOIN + COMTNBLOG B + ON A.BLOG_ID = B.BLOG_ID + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) C + ON A.FRST_REGISTER_ID = C.ESNTL_ID + WHERE A.BLOG_ID = #{blogId} + <if test="searchCnd == 0">AND + A.BBS_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + A.BBS_INTRCN LIKE '%' || #{searchWrd} || '%' + </if> + ORDER BY A.FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectBlogListManagerCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(1) + FROM + COMTNBBSMASTER A, COMTNBLOG B + WHERE A.BLOG_ID = B.BLOG_ID + AND B.BLOG_ID = #{blogId} + <if test="searchCnd == 0">AND + A.BBS_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + A.BBS_INTRCN LIKE '%' || #{searchWrd} || '%' + </if> + ORDER BY A.FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectArticleDetailDefaultCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(*) + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + LEFT OUTER JOIN + COMTNBBSMASTER d + ON a.BBS_ID = d.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_postgres.xml (revision 7) @@ -0,0 +1,625 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.09.21 서준식 NTT_ID를 IDGENT서비스를 사용해서 생성하므로 selectMaxNttId문은 실제 사용하지 않음 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSArticle"> + + <resultMap id="boardList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="inqireCo" column="RDCNT"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + </resultMap> + + <resultMap id="boardDetail" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="ntcrId" column="NTCR_ID"/> + <result property="ntcrNm" column="NTCR_NM"/> + <result property="nttNo" column="NTT_NO"/> + <result property="nttCn" column="NTT_CN"/> + <result property="password" column="PASSWORD"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="inqireCo" column="RDCNT"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="posblAtchFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + </resultMap> + + <resultMap id="sortList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="nttNo" column="NTT_NO"/> + <result property="replyLc" column="ANSWER_LC"/> + </resultMap> + + <resultMap id="guestList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="nttCn" column="NTT_CN"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="detailCn" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="ntcrId" column="NTCR_ID"/> + <result property="ntcrNm" column="NTCR_NM"/> + <result property="nttNo" column="NTT_NO"/> + <result property="nttCn" column="NTT_CN"/> + <result property="password" column="PASSWORD"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="inqireCo" column="RDCNT"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="posblAtchFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + </resultMap> + + <resultMap id="boardCnOne" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="nttCn" column="NTT_CN"/> + </resultMap> + + <resultMap id="boardMasterList" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsNm" column="BBS_NM"/> + </resultMap> + + <resultMap id="boardBlogManager" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="boardSubJectList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="inqireCo" column="RDCNT"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="blogId" column="BLOG_ID"/> + </resultMap> + + <select id="selectMaxNttId" resultType="java.lang.Long"> + SELECT COALESCE(MAX(NTT_ID),0)+1 AS NTT_ID FROM COMTNBBS + </select> + + <insert id="insertArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + <selectKey keyProperty="nttNo" resultType="java.lang.Long" order="BEFORE"> + SELECT COALESCE(MAX(SORT_ORDR),0)+1 AS NTT_NO FROM COMTNBBS + WHERE BBS_ID = #{bbsId} + </selectKey> + + INSERT INTO COMTNBBS + (NTT_ID, BBS_ID, NTT_SJ, NTT_CN, SORT_ORDR, + NTCR_ID, NTCR_NM, PASSWORD, RDCNT, + NTCE_BGNDE, NTCE_ENDDE, ANSWER_AT, + PARNTSCTT_NO, NTT_NO, ANSWER_LC, ATCH_FILE_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, USE_AT, + SJ_BOLD_AT, NOTICE_AT, SECRET_AT, BLOG_ID + ) + VALUES + ( #{nttId}, #{bbsId}, #{nttSj}, #{nttCn}, #{nttId}, + #{ntcrId}, #{ntcrNm}, #{password}, #{inqireCo}, + #{ntceBgnde}, #{ntceEndde}, #{replyAt}, + CAST(#{parnts} AS NUMERIC), 1, CAST(#{replyLc} AS NUMERIC), #{atchFileId}, + #{frstRegisterId}, NOW(), 'Y', + #{sjBoldAt}, #{noticeAt}, #{secretAt}, #{blogId} + ) + + </insert> + + <insert id="replyArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + <selectKey keyProperty="nttNo" resultType="java.lang.Long" order="BEFORE"> + SELECT COALESCE(MAX(NTT_NO),0)+1 AS NTT_NO FROM COMTNBBS + WHERE BBS_ID = #{bbsId} AND SORT_ORDR = #{sortOrdr} + </selectKey> + + INSERT INTO COMTNBBS + (NTT_ID, BBS_ID, NTT_SJ, NTT_CN, SORT_ORDR, + NTCR_ID, NTCR_NM, PASSWORD, RDCNT, + NTCE_BGNDE, NTCE_ENDDE, ANSWER_AT, + PARNTSCTT_NO, NTT_NO, ANSWER_LC, ATCH_FILE_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, USE_AT, + SJ_BOLD_AT, NOTICE_AT, SECRET_AT + ) + VALUES + ( #{nttId}, #{bbsId}, #{nttSj}, #{nttCn}, #{sortOrdr}, + #{ntcrId}, #{ntcrNm}, #{password}, #{inqireCo}, + #{ntceBgnde}, #{ntceEndde}, #{replyAt}, + CAST(#{parnts} AS NUMERIC), #{nttNo}, CAST(#{replyLc} AS NUMERIC), #{atchFileId}, + #{frstRegisterId}, NOW(), 'Y', + #{sjBoldAt}, #{noticeAt}, #{secretAt} + ) + + </insert> + + <select id="selectArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardList"> + + SELECT + a.NTT_ID, a.NTT_SJ, a.NTT_CN, a.FRST_REGISTER_ID, COALESCE(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-mm-dd') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, a.NTCE_BGNDE, a.NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + AND a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + + <if test="searchCnd == 0">AND + a.NTT_SJ LIKE CONCAT ('%', #{searchKeyword},'%') + </if> + <if test="searchCnd == 1">AND + a.NTT_CN LIKE CONCAT ('%', #{searchKeyword},'%') + </if> + <if test="searchCnd == 2">AND + b.USER_NM LIKE CONCAT ('%', #{searchKeyword},'%') + </if> + <if test="searchCondition == 99">AND + ( + a.NTT_SJ LIKE CONCAT ('%', #{searchKeyword},'%') + OR a.NTT_CN LIKE CONCAT ('%', #{searchKeyword},'%') + OR b.USER_NM LIKE CONCAT ('%', #{searchKeyword},'%') + ) + </if> + <if test="searchBgnPnttm != null and searchBgnPnttm != ''"> + AND a.FRST_REGIST_PNTTM <![CDATA[>=]]> #{searchBgnPnttm}::date + </if> + <if test="searchEndPnttm != null and searchEndPnttm != ''"> + AND a.FRST_REGIST_PNTTM <![CDATA[<]]> #{searchEndPnttm}::date + cast('1 day' as interval) + </if> + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + <if test="pagingAt == true"> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </if> + + </select> + + <select id="selectArticleListCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.NTT_ID) + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + + <if test="searchCondition == 0">AND + a.NTT_SJ LIKE CONCAT ('%', #{searchKeyword},'%') + </if> + <if test="searchCondition == 1">AND + a.NTT_CN LIKE CONCAT ('%', #{searchKeyword},'%') + </if> + <if test="searchCondition == 2">AND + b.USER_NM LIKE CONCAT ('%', #{searchKeyword},'%') + </if> + <if test="searchCondition == 99">AND + ( + a.NTT_SJ LIKE CONCAT ('%', #{searchKeyword},'%') + OR a.NTT_CN LIKE CONCAT ('%', #{searchKeyword},'%') + OR b.USER_NM LIKE CONCAT ('%', #{searchKeyword},'%') + ) + </if> + + <if test="searchBgnPnttm != null and searchBgnPnttm != ''"> + AND a.FRST_REGIST_PNTTM <![CDATA[>=]]> #{searchBgnPnttm}::date + </if> + <if test="searchEndPnttm != null and searchEndPnttm != ''"> + AND a.FRST_REGIST_PNTTM <![CDATA[<]]> #{searchEndPnttm}::date + cast('1 day' as interval) + </if> + </select> + + <select id="selectArticleDetail" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardDetail"> + + SELECT + a.NTT_SJ, a.NTCR_ID, a.NTCR_NM, a.NTT_NO, a.NTT_CN, + a.PASSWORD, a.FRST_REGISTER_ID, COALESCE(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-mm-dd') as FRST_REGIST_PNTTM, + a.NTCE_BGNDE, a.NTCE_ENDDE, a.RDCNT, + a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTT_ID, + a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, + a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.SORT_ORDR, + c.BBS_TY_CODE, c.REPLY_POSBL_AT, + c.FILE_ATCH_POSBL_AT, c.ATCH_POSBL_FILE_NUMBER, c.BBS_NM + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + + </select> + + <select id="selectArticleDetailCn" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="detailCn"> + + SELECT + a.NTT_SJ, a.NTCR_ID, a.NTCR_NM, a.NTT_NO, a.NTT_CN, + a.PASSWORD, a.FRST_REGISTER_ID, COALESCE(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-mm-dd') as FRST_REGIST_PNTTM, + a.NTCE_BGNDE, a.NTCE_ENDDE, a.RDCNT, + a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTT_ID, + a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, + a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.SORT_ORDR, + c.BBS_TY_CODE, c.REPLY_POSBL_AT, + c.FILE_ATCH_POSBL_AT, c.ATCH_POSBL_FILE_NUMBER, c.BBS_NM + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + + </select> + + <update id="updateArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + NTT_SJ = #{nttSj}, + NTT_CN = #{nttCn}, + NTCE_BGNDE = #{ntceBgnde}, + NTCE_ENDDE = #{ntceEndde}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + ATCH_FILE_ID = #{atchFileId}, + LAST_UPDT_PNTTM = NOW(), + SJ_BOLD_AT = #{sjBoldAt}, + NOTICE_AT = #{noticeAt}, + SECRET_AT = #{secretAt} + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <update id="deleteArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + NTT_SJ = #{nttSj}, + USE_AT = 'N', + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = NOW() + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <select id="selectMaxInqireCo" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT COALESCE(MAX(RDCNT),0)+1 AS RDCNT FROM COMTNBBS + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </select> + + + <update id="updateInqireCo" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + RDCNT = #{inqireCo}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = NOW() + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + + <select id="selectNoticeArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardList"> + + SELECT + a.NTT_ID, a.NTT_SJ, a.NTT_CN, a.FRST_REGISTER_ID, COALESCE(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-mm-dd') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, a.NTCE_BGNDE, a.NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + AND a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.NOTICE_AT = 'Y' + AND a.USE_AT = 'Y' + + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + LIMIT 5 + + </select> + + <select id="selectGuestArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="guestList"> + + SELECT + a.NTT_ID, a.NTT_SJ, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-mm-dd HH24:MI:SS') as FRST_REGIST_PNTTM, + a.NTT_CN, a.USE_AT, a.BBS_ID, b.USER_NM as FRST_REGISTER_NM, a.FRST_REGISTER_ID + FROM + COMTNBBS a, COMVNUSERMASTER b + WHERE + a.BBS_ID = #{bbsId} + AND + a.FRST_REGISTER_ID = b.ESNTL_ID + AND + a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, a.NTT_NO ASC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectGuestArticleListCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(NTT_ID) + FROM + COMTNBBS + WHERE + BBS_ID = #{bbsId} + AND + USE_AT = 'Y' + + </select> + + <select id="selectLoginUser" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(FRST_REGISTER_ID) + FROM + COMTNBLOG + WHERE + FRST_REGISTER_ID = #{frstRegisterId} + AND + BLOG_ID = #{blogId} + + </select> + + <select id="selectBlogListManager" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardBlogManager"> + + SELECT + A.BBS_ID, A.BLOG_ID, A.BBS_NM, C.USER_NM AS FRST_REGISTER_NM, + TO_CHAR(A.FRST_REGIST_PNTTM, 'YYYY-mm-dd') as FRST_REGIST_PNTTM, + A.USE_AT + FROM + COMTNBBSMASTER A + LEFT OUTER JOIN + COMTNBLOG B + ON A.BLOG_ID = B.BLOG_ID + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) C + ON A.FRST_REGISTER_ID = C.ESNTL_ID + WHERE A.BLOG_ID = #{blogId} + <if test="searchCnd == 0">AND + A.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + A.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + ORDER BY A.FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectBlogListManagerCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(1) + FROM + COMTNBBSMASTER A, COMTNBLOG B + WHERE A.BLOG_ID = B.BLOG_ID + AND B.BLOG_ID = #{blogId} + <if test="searchCnd == 0">AND + A.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + A.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + </select> + + <select id="selectArticleCnOne" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardCnOne"> + + SELECT + a.NTT_CN + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC + LIMIT 1 + + </select> + + <select id="selectBlogNmList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardMasterList"> + + SELECT + A.BBS_ID, A.BLOG_ID, A.BBS_NM + FROM + COMTNBBSMASTER A, COMTNBLOG B + WHERE A.BLOG_ID = B.BLOG_ID + AND B.BLOG_ID = #{blogId} + ORDER BY A.FRST_REGIST_PNTTM DESC + LIMIT 7 OFFSET 0 + + </select> + + <select id="selectArticleDetailDefault" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardSubJectList"> + + SELECT + a.NTT_ID, a.NTT_SJ, a.NTT_CN, a.FRST_REGISTER_ID, COALESCE(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-mm-dd') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, a.NTCE_BGNDE, a.NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO, + a.NTCR_ID, d.BLOG_ID, d.REPLY_POSBL_AT + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + LEFT OUTER JOIN + COMTNBBSMASTER d + ON a.BBS_ID = d.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + <if test="searchCnd == 5"> + LIMIT 5 + </if> + <if test="searchCnd == 10"> + LIMIT 10 + </if> + <if test="searchCnd == 15"> + LIMIT 15 + </if> + <if test="searchCnd == 20"> + LIMIT 20 + </if> + <if test="searchCnd == 30"> + LIMIT 30 + </if> + + </select> + + <select id="selectArticleDetailDefaultCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(*) + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + LEFT OUTER JOIN + COMTNBBSMASTER d + ON a.BBS_ID = d.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_mysql.xml (revision 7) @@ -0,0 +1,328 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2020.07.14 신용호 게시판마스터 페이징처리 오류수정 (180. 게시판관리) +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSMaster"> + + <resultMap id="boardMasterList" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="tmplatId" column="TMPLAT_ID"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="boardMasterDetail" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="bbsIntrcn" column="BBS_INTRCN"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="atchPosblFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="atchPosblFileSize" column="ATCH_POSBL_FILE_SIZE"/> + <result property="tmplatId" column="TMPLAT_ID"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/> + <result property="tmplatNm" column="TMPLAT_NM"/> + <result property="authFlag" column="AUTH_FLAG"/> + <result property="tmplatCours" column="TMPLAT_COURS"/> + <result property="cmmntyId" column="CMMNTY_ID"/> + <result property="blogId" column="BLOG_ID"/> + </resultMap> + + <resultMap id="boardMasterAll" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="tmplatId" column="TMPLAT_ID"/> + </resultMap> + + <resultMap id="BlogList" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + <result property="registSeCode" column="REGIST_SE_CODE"/> + <result property="registSeCodeNm" column="REGIST_SE_CODE_NM"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="selectBlogDetail" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + <result property="blogIntrcn" column="BLOG_INTRCN"/> + </resultMap> + + <resultMap id="selectBlogUser" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="BlogListPortlet" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + </resultMap> + + <resultMap id="BBSListPortlet" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + </resultMap> + + <insert id="insertBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + INSERT INTO COMTNBBSMASTER + (BBS_ID, BBS_TY_CODE, BBS_NM, BBS_INTRCN, + REPLY_POSBL_AT, FILE_ATCH_POSBL_AT, ATCH_POSBL_FILE_NUMBER, + TMPLAT_ID, USE_AT, CMMNTY_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, BLOG_ID, BLOG_AT ) + VALUES + ( #{bbsId}, #{bbsTyCode}, #{bbsNm}, #{bbsIntrcn}, + #{replyPosblAt}, #{fileAtchPosblAt}, #{atchPosblFileNumber}, + #{tmplatId}, #{useAt}, #{cmmntyId}, #{frstRegisterId}, SYSDATE(), #{blogId}, #{blogAt} + ) + + </insert> + + <select id="selectBBSMasterList" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="boardMasterList"> + + SELECT + a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM, + a.BBS_NM, + a.TMPLAT_ID, a.USE_AT, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + d.USER_NM AS FRST_REGISTER_NM + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM + COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) d + ON a.FRST_REGISTER_ID = d.ESNTL_ID + WHERE 1=1 + <if test='cmmntyId != null and cmmntyId != ""'> + AND a.CMMNTY_ID = #{cmmntyId} + </if> + <if test="searchCnd == 0">AND + a.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + a.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.FRST_REGIST_PNTTM DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectBBSMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.BBS_ID) + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM + COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) d + ON a.FRST_REGISTER_ID = d.ESNTL_ID + WHERE 1=1 + <if test='cmmntyId != null and cmmntyId != ""'>AND + a.CMMNTY_ID = #{cmmntyId} + </if> + <if test="searchCnd == 0">AND + a.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + a.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectBBSMasterDetail" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="boardMasterDetail"> + + SELECT + a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM, a.BBS_INTRCN, + a.BBS_NM, + a.TMPLAT_ID, d.TMPLAT_NM, d.TMPLAT_COURS, a.FILE_ATCH_POSBL_AT, a.ATCH_POSBL_FILE_NUMBER, + a.ATCH_POSBL_FILE_SIZE, a.REPLY_POSBL_AT, a.FRST_REGISTER_ID, e.USER_NM as FRST_REGISTER_NM, a.CMMNTY_ID, + a.USE_AT, DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, BLOG_ID + ,(SELECT IFNULL(USE_AT,'N') FROM COMTNBBSUSE + WHERE BBS_ID = #{bbsId} + AND TRGET_ID IN (#{uniqId}, 'SYSTEM_DEFAULT_BOARD') + ) as AUTH_FLAG + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN COMTNTMPLATINFO d + ON a.TMPLAT_ID = d.TMPLAT_ID + LEFT OUTER JOIN COMVNUSERMASTER e + ON a.FRST_REGISTER_ID = e.ESNTL_ID + WHERE a.BBS_ID = #{bbsId} + + </select> + + <update id="updateBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + UPDATE COMTNBBSMASTER SET + BBS_NM = #{bbsNm}, + BBS_INTRCN = #{bbsIntrcn}, + BBS_TY_CODE = #{bbsTyCode}, + FILE_ATCH_POSBL_AT = #{fileAtchPosblAt}, + ATCH_POSBL_FILE_NUMBER = #{atchPosblFileNumber}, + TMPLAT_ID = #{tmplatId}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE(), + USE_AT = #{useAt} + WHERE BBS_ID = #{bbsId} + + </update> + + <update id="deleteBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + UPDATE COMTNBBSMASTER SET + USE_AT = 'N', + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE() + WHERE BBS_ID = #{bbsId} + + </update> + + <select id="selectBlogMasterList" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="BlogList"> + + SELECT + a.BLOG_ID, a.BLOG_NM, a.USE_AT, a.REGIST_SE_CODE, + c.CODE_NM as REGIST_SE_CODE_NM, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + a.FRST_REGISTER_ID, + b.USER_NM as FRST_REGISTER_NM, + a.BBS_ID, d.AUTHOR_CODE + FROM + COMTNBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.REGIST_SE_CODE = c.CODE + LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS d + ON a.FRST_REGISTER_ID = d.SCRTY_DTRMN_TRGET_ID + WHERE c.CODE_ID = 'COM001' + + <if test="searchCnd == 0">AND + a.BLOG_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.FRST_REGIST_PNTTM DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectBlogMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer"> + + SELECT + COUNT(*) + FROM + COMTNBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.REGIST_SE_CODE = c.CODE + LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS d + ON a.FRST_REGISTER_ID = d.SCRTY_DTRMN_TRGET_ID + WHERE c.CODE_ID = 'COM001' + + <if test="searchCnd == 0">AND + a.BLOG_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + </select> + + <select id="selectBlogDetail" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="selectBlogDetail"> + + SELECT + BLOG_ID, BBS_ID, BLOG_NM, BLOG_INTRCN + FROM + COMTNBLOG + WHERE BLOG_ID = #{blogId} + + </select> + + <select id="checkExistUser" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultType="java.lang.Integer"> + + SELECT + COUNT(FRST_REGISTER_ID) + FROM + COMTNBLOG + WHERE FRST_REGISTER_ID = #{frstRegisterId} + + </select> + + <select id="checkExistUser2" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="selectBlogUser"> + + SELECT + FRST_REGISTER_ID + FROM + COMTNBLOG + WHERE FRST_REGISTER_ID = #{frstRegisterId} + + </select> + + <insert id="insertBoardBlogUserRqst" parameterType="egovframework.com.cop.bbs.service.BlogUser"> + + INSERT INTO COMTNBLOGUSER + (BLOG_ID, EMPLYR_ID, MNGR_AT, SBSCRB_DE, + MBER_STTUS, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID) + VALUES (#{blogId}, #{emplyrId}, #{mngrAt}, SYSDATE(), + #{mberSttus}, #{useAt}, SYSDATE(), #{frstRegisterId}) + + </insert> + + <insert id="insertBlogMaster" parameterType="egovframework.com.cop.bbs.service.BlogVO"> + + INSERT INTO COMTNBLOG + (BLOG_ID, BLOG_NM, BLOG_INTRCN, REGIST_SE_CODE, + TMPLAT_ID, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM, BBS_ID, BLOG_AT) + VALUES + (#{blogId}, #{blogNm}, #{blogIntrcn}, #{registSeCode}, + #{tmplatId}, #{useAt}, #{frstRegisterId}, SYSDATE(), #{bbsId}, #{blogAt}) + + </insert> + + <select id="selectBlogListPortlet" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="BlogListPortlet"> + + SELECT + BLOG_ID, BBS_ID, BLOG_NM, FRST_REGIST_PNTTM + FROM + COMTNBLOG + WHERE USE_AT = 'Y' + ORDER BY FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectBBSListPortlet" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="BBSListPortlet"> + + SELECT + BBS_ID, BBS_TY_CODE, BBS_NM, FRST_REGIST_PNTTM + FROM + COMTNBBSMASTER + WHERE USE_AT = 'Y' + ORDER BY FRST_REGIST_PNTTM DESC + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_mysql.xml (revision 7) @@ -0,0 +1,599 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.09.21 서준식 NTT_ID를 IDGENT서비스를 사용해서 생성하므로 selectMaxNttId문은 실제 사용하지 않음 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSArticle"> + + <resultMap id="boardList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="inqireCo" column="RDCNT"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + </resultMap> + + <resultMap id="boardDetail" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="ntcrId" column="NTCR_ID"/> + <result property="ntcrNm" column="NTCR_NM"/> + <result property="nttNo" column="NTT_NO"/> + <result property="nttCn" column="NTT_CN"/> + <result property="password" column="PASSWORD"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="inqireCo" column="RDCNT"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="posblAtchFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + </resultMap> + + <resultMap id="sortList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="nttNo" column="NTT_NO"/> + <result property="replyLc" column="ANSWER_LC"/> + </resultMap> + + <resultMap id="guestList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="nttCn" column="NTT_CN"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="detailCn" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="ntcrId" column="NTCR_ID"/> + <result property="ntcrNm" column="NTCR_NM"/> + <result property="nttNo" column="NTT_NO"/> + <result property="nttCn" column="NTT_CN"/> + <result property="password" column="PASSWORD"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="inqireCo" column="RDCNT"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="posblAtchFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + </resultMap> + + <resultMap id="boardCnOne" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="nttCn" column="NTT_CN"/> + </resultMap> + + <resultMap id="boardMasterList" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsNm" column="BBS_NM"/> + </resultMap> + + <resultMap id="boardBlogManager" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="boardSubJectList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="inqireCo" column="RDCNT"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="blogId" column="BLOG_ID"/> + </resultMap> + + <select id="selectMaxNttId" resultType="java.lang.Long"> + SELECT IFNULL(MAX(NTT_ID),0)+1 AS NTT_ID FROM COMTNBBS + </select> + + <insert id="insertArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + <selectKey keyProperty="nttNo" resultType="java.lang.Long" order="BEFORE"> + SELECT IFNULL(MAX(SORT_ORDR),0)+1 AS NTT_NO FROM COMTNBBS + WHERE BBS_ID = #{bbsId} + </selectKey> + + INSERT INTO COMTNBBS + (NTT_ID, BBS_ID, NTT_SJ, NTT_CN, SORT_ORDR, + NTCR_ID, NTCR_NM, PASSWORD, RDCNT, + NTCE_BGNDE, NTCE_ENDDE, ANSWER_AT, + PARNTSCTT_NO, NTT_NO, ANSWER_LC, ATCH_FILE_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, USE_AT, + SJ_BOLD_AT, NOTICE_AT, SECRET_AT, BLOG_ID + ) + VALUES + ( #{nttId}, #{bbsId}, #{nttSj}, #{nttCn}, #{nttId}, + #{ntcrId}, #{ntcrNm}, #{password}, #{inqireCo}, + #{ntceBgnde}, #{ntceEndde}, #{replyAt}, + #{parnts}, 1, #{replyLc}, #{atchFileId}, + #{frstRegisterId}, SYSDATE(), 'Y', + #{sjBoldAt}, #{noticeAt}, #{secretAt}, #{blogId} + ) + + </insert> + + <insert id="replyArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + <selectKey keyProperty="nttNo" resultType="java.lang.Long" order="BEFORE"> + SELECT IFNULL(MAX(NTT_NO),0)+1 AS NTT_NO FROM COMTNBBS + WHERE BBS_ID = #{bbsId} AND SORT_ORDR = #{sortOrdr} + </selectKey> + + INSERT INTO COMTNBBS + (NTT_ID, BBS_ID, NTT_SJ, NTT_CN, SORT_ORDR, + NTCR_ID, NTCR_NM, PASSWORD, RDCNT, + NTCE_BGNDE, NTCE_ENDDE, ANSWER_AT, + PARNTSCTT_NO, NTT_NO, ANSWER_LC, ATCH_FILE_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, USE_AT, + SJ_BOLD_AT, NOTICE_AT, SECRET_AT + ) + VALUES + ( #{nttId}, #{bbsId}, #{nttSj}, #{nttCn}, #{sortOrdr}, + #{ntcrId}, #{ntcrNm}, #{password}, #{inqireCo}, + #{ntceBgnde}, #{ntceEndde}, #{replyAt}, + #{parnts}, #{nttNo}, #{replyLc}, #{atchFileId}, + #{frstRegisterId}, SYSDATE(), 'Y', + #{sjBoldAt}, #{noticeAt}, #{secretAt} + ) + + </insert> + + <select id="selectArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardList"> + + SELECT + a.NTT_ID, a.NTT_SJ, a.NTT_CN, a.FRST_REGISTER_ID, IFNULL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, a.NTCE_BGNDE, a.NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + AND a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + + <if test="searchCnd == 0">AND + a.NTT_SJ LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + a.NTT_CN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 2">AND + b.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectArticleListCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.NTT_ID) + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + + <if test="searchCnd == 0">AND + a.NTT_SJ LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + a.NTT_CN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 2">AND + b.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectArticleDetail" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardDetail"> + + SELECT + a.NTT_SJ, a.NTCR_ID, a.NTCR_NM, a.NTT_NO, a.NTT_CN, + a.PASSWORD, a.FRST_REGISTER_ID, IFNULL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + a.NTCE_BGNDE, a.NTCE_ENDDE, a.RDCNT, + a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTT_ID, + a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, + a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.SORT_ORDR, + c.BBS_TY_CODE, c.REPLY_POSBL_AT, + c.FILE_ATCH_POSBL_AT, c.ATCH_POSBL_FILE_NUMBER, c.BBS_NM + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + + </select> + + <select id="selectArticleDetailCn" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="detailCn"> + + SELECT + a.NTT_SJ, a.NTCR_ID, a.NTCR_NM, a.NTT_NO, a.NTT_CN, + a.PASSWORD, a.FRST_REGISTER_ID, IFNULL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + a.NTCE_BGNDE, a.NTCE_ENDDE, a.RDCNT, + a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTT_ID, + a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, + a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.SORT_ORDR, + c.BBS_TY_CODE, c.REPLY_POSBL_AT, + c.FILE_ATCH_POSBL_AT, c.ATCH_POSBL_FILE_NUMBER, c.BBS_NM + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + + </select> + + <update id="updateArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + NTT_SJ = #{nttSj}, + NTT_CN = #{nttCn}, + NTCE_BGNDE = #{ntceBgnde}, + NTCE_ENDDE = #{ntceEndde}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + ATCH_FILE_ID = #{atchFileId}, + LAST_UPDT_PNTTM = SYSDATE(), + SJ_BOLD_AT = #{sjBoldAt}, + NOTICE_AT = #{noticeAt}, + SECRET_AT = #{secretAt} + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <update id="deleteArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + NTT_SJ = #{nttSj}, + USE_AT = 'N', + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE() + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <select id="selectMaxInqireCo" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT IFNULL(MAX(RDCNT),0)+1 AS RDCNT FROM COMTNBBS + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </select> + + + <update id="updateInqireCo" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + RDCNT = #{inqireCo}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE() + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + + <select id="selectNoticeArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardList"> + + SELECT + a.NTT_ID, a.NTT_SJ, a.NTT_CN, a.FRST_REGISTER_ID, IFNULL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, a.NTCE_BGNDE, a.NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + AND a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.NOTICE_AT = 'Y' + AND a.USE_AT = 'Y' + + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + LIMIT 5 + + </select> + + <select id="selectGuestArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="guestList"> + + SELECT + a.NTT_ID, a.NTT_SJ, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d %H:%i:%S') as FRST_REGIST_PNTTM, + a.NTT_CN, a.USE_AT, a.BBS_ID, b.USER_NM as FRST_REGISTER_NM, a.FRST_REGISTER_ID + FROM + COMTNBBS a, COMVNUSERMASTER b + WHERE + a.BBS_ID = #{bbsId} + AND + a.FRST_REGISTER_ID = b.ESNTL_ID + AND + a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, a.NTT_NO ASC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectGuestArticleListCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(NTT_ID) + FROM + COMTNBBS + WHERE + BBS_ID = #{bbsId} + AND + USE_AT = 'Y' + + </select> + + <select id="selectLoginUser" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(FRST_REGISTER_ID) + FROM + COMTNBLOG + WHERE + FRST_REGISTER_ID = #{frstRegisterId} + AND + BLOG_ID = #{blogId} + + </select> + + <select id="selectBlogListManager" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardBlogManager"> + + SELECT + A.BBS_ID, A.BLOG_ID, A.BBS_NM, C.USER_NM AS FRST_REGISTER_NM, + DATE_FORMAT(A.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + A.USE_AT + FROM + COMTNBBSMASTER A + LEFT OUTER JOIN + COMTNBLOG B + ON A.BLOG_ID = B.BLOG_ID + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) C + ON A.FRST_REGISTER_ID = C.ESNTL_ID + WHERE A.BLOG_ID = #{blogId} + <if test="searchCnd == 0">AND + A.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + A.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + ORDER BY A.FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectBlogListManagerCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(1) + FROM + COMTNBBSMASTER A, COMTNBLOG B + WHERE A.BLOG_ID = B.BLOG_ID + AND B.BLOG_ID = #{blogId} + <if test="searchCnd == 0">AND + A.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + A.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + ORDER BY A.FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectArticleCnOne" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardCnOne"> + + SELECT + a.NTT_CN + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC + LIMIT 1 + + </select> + + <select id="selectBlogNmList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardMasterList"> + + SELECT + A.BBS_ID, A.BLOG_ID, A.BBS_NM + FROM + COMTNBBSMASTER A, COMTNBLOG B + WHERE A.BLOG_ID = B.BLOG_ID + AND B.BLOG_ID = #{blogId} + ORDER BY A.FRST_REGIST_PNTTM DESC + LIMIT 7 OFFSET 0 + + </select> + + <select id="selectArticleDetailDefault" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardSubJectList"> + + SELECT + a.NTT_ID, a.NTT_SJ, a.NTT_CN, a.FRST_REGISTER_ID, IFNULL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, a.NTCE_BGNDE, a.NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO, + a.NTCR_ID, d.BLOG_ID, d.REPLY_POSBL_AT + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + LEFT OUTER JOIN + COMTNBBSMASTER d + ON a.BBS_ID = d.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + <if test="searchCnd == 5"> + LIMIT 5 + </if> + <if test="searchCnd == 10"> + LIMIT 10 + </if> + <if test="searchCnd == 15"> + LIMIT 15 + </if> + <if test="searchCnd == 20"> + LIMIT 20 + </if> + <if test="searchCnd == 30"> + LIMIT 30 + </if> + + </select> + + <select id="selectArticleDetailDefaultCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(*) + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + LEFT OUTER JOIN + COMTNBBSMASTER d + ON a.BBS_ID = d.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_oracle.xml (revision 7) @@ -0,0 +1,604 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.09.07 서준식 NTCE_BGNDE, NTCE_ENDDE 컬럼 빈공간에 의한 비교 오류 때문에 Rtrim() 추가 + 2011.09.21 서준식 selectMaxNttId문에 COMMIT 될때까지 LOCK설정 + 2011.09.21 서준식 NTT_ID를 IDGENT서비스를 사용해서 생성하므로 selectMaxNttId문은 실제 사용하지 않음 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSArticle"> + + <resultMap id="boardList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="inqireCo" column="RDCNT"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + </resultMap> + + <resultMap id="boardDetail" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="ntcrId" column="NTCR_ID"/> + <result property="ntcrNm" column="NTCR_NM"/> + <result property="nttNo" column="NTT_NO"/> + <result property="nttCn" column="NTT_CN" jdbcType="CLOB"/> + <result property="password" column="PASSWORD"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="inqireCo" column="RDCNT"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="posblAtchFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + </resultMap> + + <resultMap id="sortList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="nttNo" column="NTT_NO"/> + <result property="replyLc" column="ANSWER_LC"/> + </resultMap> + + <resultMap id="guestList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="nttCn" column="NTT_CN"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="detailCn" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="ntcrId" column="NTCR_ID"/> + <result property="ntcrNm" column="NTCR_NM"/> + <result property="nttNo" column="NTT_NO"/> + <result property="nttCn" column="NTT_CN"/> + <result property="password" column="PASSWORD"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="inqireCo" column="RDCNT"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="posblAtchFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + </resultMap> + + <resultMap id="boardCnOne" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="nttCn" column="NTT_CN"/> + </resultMap> + + <resultMap id="boardMasterList" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsNm" column="BBS_NM"/> + </resultMap> + + <resultMap id="boardBlogManager" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="boardSubJectList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="inqireCo" column="RDCNT"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="blogId" column="BLOG_ID"/> + </resultMap> + + <select id="selectMaxNttId" resultType="java.lang.Long"> + + SELECT NVL(NTT_ID,0)+1 AS NTT_ID FROM COMTNBBS WHERE NTT_ID=(SELECT MAX(NTT_ID) AS NTT_ID FROM COMTNBBS) FOR UPDATE WAIT 3 + + </select> + + <insert id="insertArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + <selectKey keyProperty="nttNo" resultType="java.lang.Long" order="BEFORE"> + SELECT NVL(MAX(SORT_ORDR),0)+1 AS NTT_NO FROM COMTNBBS + WHERE BBS_ID = #{bbsId} + </selectKey> + + INSERT INTO COMTNBBS + (NTT_ID, BBS_ID, NTT_SJ, NTT_CN, SORT_ORDR, + NTCR_ID, NTCR_NM, PASSWORD, RDCNT, + NTCE_BGNDE, NTCE_ENDDE, ANSWER_AT, + PARNTSCTT_NO, NTT_NO, ANSWER_LC, ATCH_FILE_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, USE_AT, + SJ_BOLD_AT, NOTICE_AT, SECRET_AT, BLOG_ID + ) + VALUES + ( #{nttId}, #{bbsId}, #{nttSj}, #{nttCn}, #{nttId}, + #{ntcrId}, #{ntcrNm}, #{password}, #{inqireCo}, + #{ntceBgnde}, #{ntceEndde}, #{replyAt}, + #{parnts}, 1, #{replyLc}, #{atchFileId}, + #{frstRegisterId}, SYSDATE, 'Y', + #{sjBoldAt}, #{noticeAt}, #{secretAt}, #{blogId} + ) + + </insert> + + <insert id="replyArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + <selectKey keyProperty="nttNo" resultType="java.lang.Long" order ="BEFORE"> + SELECT NVL(MAX(NTT_NO),0)+1 AS NTT_NO FROM COMTNBBS + WHERE BBS_ID = #{bbsId} AND SORT_ORDR = #{sortOrdr} + </selectKey> + + INSERT INTO COMTNBBS + (NTT_ID, BBS_ID, NTT_SJ, NTT_CN, SORT_ORDR, + NTCR_ID, NTCR_NM, PASSWORD, RDCNT, + NTCE_BGNDE, NTCE_ENDDE, ANSWER_AT, + PARNTSCTT_NO, NTT_NO, ANSWER_LC, ATCH_FILE_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, USE_AT, + SJ_BOLD_AT, NOTICE_AT, SECRET_AT + ) + VALUES + ( #{nttId}, #{bbsId}, #{nttSj}, #{nttCn}, #{sortOrdr}, + #{ntcrId}, #{ntcrNm}, #{password}, #{inqireCo}, + #{ntceBgnde}, #{ntceEndde}, #{replyAt}, + #{parnts}, 1, #{replyLc}, #{atchFileId}, + #{frstRegisterId}, SYSDATE, 'Y', + #{sjBoldAt}, #{noticeAt}, #{secretAt} + ) + + </insert> + + + <select id="selectArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, rtrim(a.NTCE_BGNDE) NTCE_BGNDE, rtrim(a.NTCE_ENDDE) NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + AND a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + + <if test="searchCnd == 0">AND + a.NTT_SJ LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + a.NTT_CN LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 2">AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectArticleListCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.NTT_ID) + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + + <if test="searchCnd == 0">AND + a.NTT_SJ LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + a.NTT_CN LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 2">AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectArticleDetail" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardDetail"> + + SELECT + a.NTT_SJ, a.NTCR_ID, a.NTCR_NM, a.NTT_NO, a.NTT_CN, + a.PASSWORD, a.FRST_REGISTER_ID, b.USER_NM as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.NTCE_BGNDE, a.NTCE_ENDDE, a.RDCNT, + a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTT_ID, + a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, + a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.SORT_ORDR, + c.BBS_TY_CODE, c.REPLY_POSBL_AT, + c.FILE_ATCH_POSBL_AT, c.ATCH_POSBL_FILE_NUMBER, c.BBS_NM + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.NTT_ID = #{nttId} + AND a.USE_AT = 'Y' + + </select> + + <update id="updateArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + NTT_SJ = #{nttSj}, + NTT_CN = #{nttCn}, + NTCE_BGNDE = #{ntceBgnde}, + NTCE_ENDDE = #{ntceEndde}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + ATCH_FILE_ID = #{atchFileId}, + LAST_UPDT_PNTTM = SYSDATE, + SJ_BOLD_AT = #{sjBoldAt}, + NOTICE_AT = #{noticeAt}, + SECRET_AT = #{secretAt} + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <update id="deleteArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + NTT_SJ = #{nttSj}, + USE_AT = 'N', + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <select id="selectMaxInqireCo" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT NVL(MAX(RDCNT),0)+1 AS RDCNT FROM COMTNBBS + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </select> + + + <update id="updateInqireCo" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + RDCNT = #{inqireCo}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <select id="selectNoticeArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, rtrim(a.NTCE_BGNDE) NTCE_BGNDE, rtrim(a.NTCE_ENDDE) NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + AND a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + AND a.NOTICE_AT = 'Y' + + + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + ) TB ) WHERE rn BETWEEN 1 AND 5 + + </select> + + <select id="selectGuestArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="guestList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH:MI:SS') as FRST_REGIST_PNTTM, + a.NTT_CN, a.USE_AT, a.BBS_ID, b.USER_NM as FRST_REGISTER_NM, a.FRST_REGISTER_ID + FROM + COMTNBBS a, COMVNUSERMASTER b + WHERE + a.BBS_ID = #{bbsId} + AND + a.FRST_REGISTER_ID = b.ESNTL_ID + AND + a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, a.NTT_NO ASC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectGuestArticleListCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(NTT_ID) + FROM + COMTNBBS + WHERE + BBS_ID = #{bbsId} + AND + USE_AT = 'Y' + + </select> + + <select id="selectArticleCnOne" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardCnOne"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_CN + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC + ) TB ) WHERE rn BETWEEN 1 AND 1 + + </select> + + <select id="selectArticleDetailCn" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="detailCn"> + + SELECT + a.NTT_SJ, a.NTCR_ID, a.NTCR_NM, a.NTT_NO, a.NTT_CN, + a.PASSWORD, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.NTCE_BGNDE, a.NTCE_ENDDE, a.RDCNT, + a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTT_ID, + a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, + a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.SORT_ORDR, + c.BBS_TY_CODE, c.REPLY_POSBL_AT, + c.FILE_ATCH_POSBL_AT, c.ATCH_POSBL_FILE_NUMBER, c.BBS_NM + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + + </select> + + <select id="selectArticleDetailDefault" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardSubJectList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, a.NTT_CN, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, a.NTCE_BGNDE, a.NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO, + a.NTCR_ID, d.BLOG_ID, d.REPLY_POSBL_AT + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + LEFT OUTER JOIN + COMTNBBSMASTER d + ON a.BBS_ID = d.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + <if test="searchCnd == 5"> + ) TB ) WHERE rn BETWEEN 1 AND 5 + </if> + <if test="searchCnd == 10"> + ) TB ) WHERE rn BETWEEN 1 AND 10 + </if> + <if test="searchCnd == 15"> + ) TB ) WHERE rn BETWEEN 1 AND 15 + </if> + <if test="searchCnd == 20"> + ) TB ) WHERE rn BETWEEN 1 AND 20 + </if> + <if test="searchCnd == 30"> + ) TB ) WHERE rn BETWEEN 1 AND 30 + </if> + + </select> + + <select id="selectBlogNmList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardMasterList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + A.BBS_ID, A.BLOG_ID, A.BBS_NM + FROM + COMTNBBSMASTER A, COMTNBLOG B + WHERE A.BLOG_ID = B.BLOG_ID + AND B.BLOG_ID = #{blogId} + ORDER BY A.FRST_REGIST_PNTTM DESC + ) TB ) WHERE rn BETWEEN 1 AND 7 + </select> + + <select id="selectLoginUser" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(FRST_REGISTER_ID) + FROM + COMTNBLOG + WHERE + FRST_REGISTER_ID = #{frstRegisterId} + AND + BLOG_ID = #{blogId} + + </select> + + <select id="selectBlogListManager" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardBlogManager"> + + SELECT + A.BBS_ID, A.BLOG_ID, A.BBS_NM, C.USER_NM AS FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + A.USE_AT + FROM + COMTNBBSMASTER A + LEFT OUTER JOIN + COMTNBLOG B + ON A.BLOG_ID = B.BLOG_ID + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) C + ON A.FRST_REGISTER_ID = C.ESNTL_ID + WHERE A.BLOG_ID = #{blogId} + <if test="searchCnd == 0">AND + A.BBS_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + A.BBS_INTRCN LIKE '%' || #{searchWrd} || '%' + </if> + ORDER BY A.FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectBlogListManagerCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(1) + FROM + COMTNBBSMASTER A, COMTNBLOG B + WHERE A.BLOG_ID = B.BLOG_ID + AND B.BLOG_ID = #{blogId} + <if test="searchCnd == 0">AND + A.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + A.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + ORDER BY A.FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectArticleDetailDefaultCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(*) + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + LEFT OUTER JOIN + COMTNBBSMASTER d + ON a.BBS_ID = d.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_postgres.xml (revision 7) @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:41 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSAddedOptions"> + + <resultMap id="boardMasterDetail" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="commentAt" column="ANSWER_AT"/> + <result property="stsfdgAt" column="STSFDG_AT"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <insert id="insertAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + INSERT INTO COMTNBBSMASTEROPTN + (BBS_ID, ANSWER_AT, STSFDG_AT, + FRST_REGISTER_ID, FRST_REGIST_PNTTM ) + VALUES + ( #{bbsId}, + + <if test="option == ''"> + 'N', 'N', + </if> + <if test="option == 'comment'"> + 'Y', 'N', + </if> + <if test="option == 'stsfdg'"> + 'N', 'Y', + </if> + + #{frstRegisterId}, NOW() + ) + + </insert> + + <select id="selectAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster" resultMap="boardMasterDetail"> + + SELECT + a.BBS_ID, a.ANSWER_AT, a.STSFDG_AT, + a.FRST_REGISTER_ID, b.USER_NM as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYYmmdd') as FRST_REGIST_PNTTM + FROM + COMTNBBSMASTEROPTN a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE a.BBS_ID = #{bbsId} + + </select> + + <update id="updateAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + UPDATE COMTNBBSMASTEROPTN SET + + <if test="option == ''"> + ANSWER_AT = 'N', STSFDG_AT = 'N', + </if> + <if test="option == 'comment'"> + ANSWER_AT = 'Y', STSFDG_AT = 'N', + </if> + <if test="option == 'stsfdg'"> + ANSWER_AT = 'N', STSFDG_AT = 'Y', + </if> + + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = NOW() + WHERE BBS_ID = #{bbsId} + + </update> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_cubrid.xml (revision 7) @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2020.07.14 신용호 게시판마스터 페이징처리 오류수정 (180. 게시판관리) +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSMaster"> + + <resultMap id="boardMasterList" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="tmplatId" column="TMPLAT_ID"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="boardMasterDetail" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="bbsIntrcn" column="BBS_INTRCN"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="atchPosblFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="atchPosblFileSize" column="ATCH_POSBL_FILE_SIZE"/> + <result property="tmplatId" column="TMPLAT_ID"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/> + <result property="tmplatNm" column="TMPLAT_NM"/> + <result property="authFlag" column="AUTH_FLAG"/> + <result property="tmplatCours" column="TMPLAT_COURS"/> + <result property="cmmntyId" column="CMMNTY_ID"/> + <result property="blogId" column="BLOG_ID"/> + </resultMap> + + <resultMap id="boardMasterAll" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="tmplatId" column="TMPLAT_ID"/> + </resultMap> + + <resultMap id="BlogList" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + <result property="registSeCode" column="REGIST_SE_CODE"/> + <result property="registSeCodeNm" column="REGIST_SE_CODE_NM"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="selectBlogDetail" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + <result property="blogIntrcn" column="BLOG_INTRCN"/> + </resultMap> + + <resultMap id="selectBlogUser" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="BlogListPortlet" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + </resultMap> + + <resultMap id="BBSListPortlet" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + </resultMap> + + <insert id="insertBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + INSERT INTO COMTNBBSMASTER + (BBS_ID, BBS_TY_CODE, BBS_NM, BBS_INTRCN, + REPLY_POSBL_AT, FILE_ATCH_POSBL_AT, ATCH_POSBL_FILE_NUMBER, + ATCH_POSBL_FILE_SIZE, TMPLAT_ID, USE_AT, CMMNTY_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, BLOG_ID, BLOG_AT ) + VALUES + ( #{bbsId}, #{bbsTyCode}, #{bbsNm}, #{bbsIntrcn}, + #{replyPosblAt}, #{fileAtchPosblAt}, #{atchPosblFileNumber}, + #{atchPosblFileSize}, #{tmplatId}, #{useAt}, #{cmmntyId}, #{frstRegisterId}, SYSDATETIME, #{blogId}, #{blogAt} + ) + + </insert> + + <select id="selectBBSMasterList" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="boardMasterList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM, + a.BBS_NM, + a.TMPLAT_ID, a.USE_AT, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + d.USER_NM AS FRST_REGISTER_NM + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM + COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) d + ON a.FRST_REGISTER_ID = d.ESNTL_ID + WHERE 1=1 + <if test='cmmntyId != null and cmmntyId != ""'> + AND a.CMMNTY_ID = #{cmmntyId} + </if> + <if test="searchCnd == 0">AND + a.BBS_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + b.CODE_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.FRST_REGIST_PNTTM DESC + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectBBSMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.BBS_ID) + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM + COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + WHERE 1=1 + <if test='cmmntyId != null and cmmntyId != ""'>AND + a.CMMNTY_ID = #{cmmntyId} + </if> + <if test="searchCnd == 0">AND + a.BBS_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + b.CODE_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectBBSMasterDetail" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="boardMasterDetail"> + + SELECT + a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM, a.BBS_INTRCN, + a.BBS_NM, + a.TMPLAT_ID, d.TMPLAT_NM, d.TMPLAT_COURS, a.FILE_ATCH_POSBL_AT, a.ATCH_POSBL_FILE_NUMBER, + a.ATCH_POSBL_FILE_SIZE, a.REPLY_POSBL_AT, a.FRST_REGISTER_ID, e.USER_NM as FRST_REGISTER_NM, a.CMMNTY_ID, + a.USE_AT, TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, BLOG_ID + ,(SELECT NVL(USE_AT,'N') FROM COMTNBBSUSE + WHERE BBS_ID = #{bbsId} + AND TRGET_ID IN (#{uniqId}, 'SYSTEM_DEFAULT_BOARD') + ) as AUTH_FLAG + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN COMTNTMPLATINFO d + ON a.TMPLAT_ID = d.TMPLAT_ID + LEFT OUTER JOIN COMVNUSERMASTER e + ON a.FRST_REGISTER_ID = e.ESNTL_ID + WHERE a.BBS_ID = #{bbsId} + + </select> + + <update id="updateBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + UPDATE COMTNBBSMASTER SET + BBS_NM = #{bbsNm}, + BBS_INTRCN = #{bbsIntrcn}, + BBS_TY_CODE = #{bbsTyCode}, + FILE_ATCH_POSBL_AT = #{fileAtchPosblAt}, + ATCH_POSBL_FILE_NUMBER = #{atchPosblFileNumber}, + ATCH_POSBL_FILE_SIZE = #{atchPosblFileSize}, + TMPLAT_ID = #{tmplatId}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATETIME, + USE_AT = #{useAt} + WHERE BBS_ID = #{bbsId} + + </update> + + <update id="deleteBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + UPDATE COMTNBBSMASTER SET + USE_AT = 'N', + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATETIME + WHERE BBS_ID = #{bbsId} + + </update> + + <select id="selectBlogMasterList" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="BlogList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.BLOG_ID, a.BLOG_NM, a.USE_AT, a.REGIST_SE_CODE, + c.CODE_NM as REGIST_SE_CODE_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.FRST_REGISTER_ID, + b.USER_NM as FRST_REGISTER_NM, + a.BBS_ID, d.AUTHOR_CODE + FROM + COMTNBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.REGIST_SE_CODE = c.CODE + LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS d + ON a.FRST_REGISTER_ID = d.SCRTY_DTRMN_TRGET_ID + WHERE c.CODE_ID = 'COM001' + + <if test="searchCnd == 0">AND + a.BLOG_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.FRST_REGIST_PNTTM DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectBlogMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer"> + + SELECT + COUNT(*) + FROM + COMTNBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.REGIST_SE_CODE = c.CODE + LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS d + ON a.FRST_REGISTER_ID = d.SCRTY_DTRMN_TRGET_ID + WHERE c.CODE_ID = 'COM001' + + <if test="searchCnd == 0">AND + a.BLOG_NM LIKE '%' || #{searchWrd} || '%' + </if> + + </select> + + <select id="selectBlogDetail" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="selectBlogDetail"> + SELECT + BLOG_ID, BBS_ID, BLOG_NM, BLOG_INTRCN + FROM + COMTNBLOG + WHERE BLOG_ID = #{blogId} + </select> + + <select id="checkExistUser" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultType="java.lang.Integer"> + + SELECT COUNT(FRST_REGISTER_ID) + FROM + COMTNBLOG + WHERE FRST_REGISTER_ID = #{frstRegisterId} + + </select> + + <select id="checkExistUser2" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="selectBlogUser"> + + SELECT + FRST_REGISTER_ID + FROM + COMTNBLOG + WHERE FRST_REGISTER_ID = #{frstRegisterId} + + </select> + + <insert id="insertBoardBlogUserRqst" parameterType="egovframework.com.cop.bbs.service.BlogUser"> + + INSERT INTO COMTNBLOGUSER + (BLOG_ID, EMPLYR_ID, MNGR_AT, SBSCRB_DE, + MBER_STTUS, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID) + VALUES (#{blogId}, #{emplyrId}, #{mngrAt}, SYSDATE, + #{mberSttus}, #{useAt}, SYSDATE, #{frstRegisterId}) + + </insert> + + <insert id="insertBlogMaster" parameterType="egovframework.com.cop.bbs.service.BlogVO"> + + INSERT INTO COMTNBLOG + (BLOG_ID, BLOG_NM, BLOG_INTRCN, REGIST_SE_CODE, + TMPLAT_ID, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM, BBS_ID, BLOG_AT) + VALUES + (#{blogId}, #{blogNm}, #{blogIntrcn}, #{registSeCode}, + #{tmplatId}, #{useAt}, #{frstRegisterId}, SYSDATE, #{bbsId}, #{blogAt}) + + </insert> + + <select id="selectBlogListPortlet" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="BlogListPortlet"> + + SELECT + BLOG_ID, BBS_ID, BLOG_NM, FRST_REGIST_PNTTM + FROM + COMTNBLOG + WHERE USE_AT = 'Y' + ORDER BY FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectBBSListPortlet" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="BBSListPortlet"> + + SELECT + BBS_ID, BBS_TY_CODE, BBS_NM, FRST_REGIST_PNTTM + FROM + COMTNBBSMASTER + WHERE USE_AT = 'Y' + ORDER BY FRST_REGIST_PNTTM DESC + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_maria.xml (revision 7) @@ -0,0 +1,599 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.09.21 서준식 NTT_ID를 IDGENT서비스를 사용해서 생성하므로 selectMaxNttId문은 실제 사용하지 않음 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSArticle"> + + <resultMap id="boardList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="inqireCo" column="RDCNT"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + </resultMap> + + <resultMap id="boardDetail" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="ntcrId" column="NTCR_ID"/> + <result property="ntcrNm" column="NTCR_NM"/> + <result property="nttNo" column="NTT_NO"/> + <result property="nttCn" column="NTT_CN"/> + <result property="password" column="PASSWORD"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="inqireCo" column="RDCNT"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="posblAtchFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + </resultMap> + + <resultMap id="sortList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="nttNo" column="NTT_NO"/> + <result property="replyLc" column="ANSWER_LC"/> + </resultMap> + + <resultMap id="guestList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="nttCn" column="NTT_CN"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="detailCn" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="ntcrId" column="NTCR_ID"/> + <result property="ntcrNm" column="NTCR_NM"/> + <result property="nttNo" column="NTT_NO"/> + <result property="nttCn" column="NTT_CN"/> + <result property="password" column="PASSWORD"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="inqireCo" column="RDCNT"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="posblAtchFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + </resultMap> + + <resultMap id="boardCnOne" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="nttCn" column="NTT_CN"/> + </resultMap> + + <resultMap id="boardMasterList" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsNm" column="BBS_NM"/> + </resultMap> + + <resultMap id="boardBlogManager" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="boardSubJectList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="inqireCo" column="RDCNT"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="blogId" column="BLOG_ID"/> + </resultMap> + + <select id="selectMaxNttId" resultType="java.lang.Long"> + SELECT IFNULL(MAX(NTT_ID),0)+1 AS NTT_ID FROM COMTNBBS + </select> + + <insert id="insertArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + <selectKey keyProperty="nttNo" resultType="java.lang.Long" order="BEFORE"> + SELECT IFNULL(MAX(SORT_ORDR),0)+1 AS NTT_NO FROM COMTNBBS + WHERE BBS_ID = #{bbsId} + </selectKey> + + INSERT INTO COMTNBBS + (NTT_ID, BBS_ID, NTT_SJ, NTT_CN, SORT_ORDR, + NTCR_ID, NTCR_NM, PASSWORD, RDCNT, + NTCE_BGNDE, NTCE_ENDDE, ANSWER_AT, + PARNTSCTT_NO, NTT_NO, ANSWER_LC, ATCH_FILE_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, USE_AT, + SJ_BOLD_AT, NOTICE_AT, SECRET_AT, BLOG_ID + ) + VALUES + ( #{nttId}, #{bbsId}, #{nttSj}, #{nttCn}, #{nttId}, + #{ntcrId}, #{ntcrNm}, #{password}, #{inqireCo}, + #{ntceBgnde}, #{ntceEndde}, #{replyAt}, + #{parnts}, 1, #{replyLc}, #{atchFileId}, + #{frstRegisterId}, SYSDATE(), 'Y', + #{sjBoldAt}, #{noticeAt}, #{secretAt}, #{blogId} + ) + + </insert> + + <insert id="replyArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + <selectKey keyProperty="nttNo" resultType="java.lang.Long" order="BEFORE"> + SELECT IFNULL(MAX(NTT_NO),0)+1 AS NTT_NO FROM COMTNBBS + WHERE BBS_ID = #{bbsId} AND SORT_ORDR = #{sortOrdr} + </selectKey> + + INSERT INTO COMTNBBS + (NTT_ID, BBS_ID, NTT_SJ, NTT_CN, SORT_ORDR, + NTCR_ID, NTCR_NM, PASSWORD, RDCNT, + NTCE_BGNDE, NTCE_ENDDE, ANSWER_AT, + PARNTSCTT_NO, NTT_NO, ANSWER_LC, ATCH_FILE_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, USE_AT, + SJ_BOLD_AT, NOTICE_AT, SECRET_AT + ) + VALUES + ( #{nttId}, #{bbsId}, #{nttSj}, #{nttCn}, #{sortOrdr}, + #{ntcrId}, #{ntcrNm}, #{password}, #{inqireCo}, + #{ntceBgnde}, #{ntceEndde}, #{replyAt}, + #{parnts}, #{nttNo}, #{replyLc}, #{atchFileId}, + #{frstRegisterId}, SYSDATE(), 'Y', + #{sjBoldAt}, #{noticeAt}, #{secretAt} + ) + + </insert> + + <select id="selectArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardList"> + + SELECT + a.NTT_ID, a.NTT_SJ, a.NTT_CN, a.FRST_REGISTER_ID, IFNULL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, a.NTCE_BGNDE, a.NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + AND a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + + <if test="searchCnd == 0">AND + a.NTT_SJ LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + a.NTT_CN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 2">AND + b.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectArticleListCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.NTT_ID) + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + + <if test="searchCnd == 0">AND + a.NTT_SJ LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + a.NTT_CN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 2">AND + b.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectArticleDetail" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardDetail"> + + SELECT + a.NTT_SJ, a.NTCR_ID, a.NTCR_NM, a.NTT_NO, a.NTT_CN, + a.PASSWORD, a.FRST_REGISTER_ID, IFNULL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + a.NTCE_BGNDE, a.NTCE_ENDDE, a.RDCNT, + a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTT_ID, + a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, + a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.SORT_ORDR, + c.BBS_TY_CODE, c.REPLY_POSBL_AT, + c.FILE_ATCH_POSBL_AT, c.ATCH_POSBL_FILE_NUMBER, c.BBS_NM + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + + </select> + + <select id="selectArticleDetailCn" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="detailCn"> + + SELECT + a.NTT_SJ, a.NTCR_ID, a.NTCR_NM, a.NTT_NO, a.NTT_CN, + a.PASSWORD, a.FRST_REGISTER_ID, IFNULL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + a.NTCE_BGNDE, a.NTCE_ENDDE, a.RDCNT, + a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTT_ID, + a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, + a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.SORT_ORDR, + c.BBS_TY_CODE, c.REPLY_POSBL_AT, + c.FILE_ATCH_POSBL_AT, c.ATCH_POSBL_FILE_NUMBER, c.BBS_NM + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + + </select> + + <update id="updateArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + NTT_SJ = #{nttSj}, + NTT_CN = #{nttCn}, + NTCE_BGNDE = #{ntceBgnde}, + NTCE_ENDDE = #{ntceEndde}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + ATCH_FILE_ID = #{atchFileId}, + LAST_UPDT_PNTTM = SYSDATE(), + SJ_BOLD_AT = #{sjBoldAt}, + NOTICE_AT = #{noticeAt}, + SECRET_AT = #{secretAt} + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <update id="deleteArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + NTT_SJ = #{nttSj}, + USE_AT = 'N', + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE() + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <select id="selectMaxInqireCo" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT IFNULL(MAX(RDCNT),0)+1 AS RDCNT FROM COMTNBBS + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </select> + + + <update id="updateInqireCo" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + RDCNT = #{inqireCo}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE() + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + + <select id="selectNoticeArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardList"> + + SELECT + a.NTT_ID, a.NTT_SJ, a.NTT_CN, a.FRST_REGISTER_ID, IFNULL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, a.NTCE_BGNDE, a.NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + AND a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.NOTICE_AT = 'Y' + AND a.USE_AT = 'Y' + + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + LIMIT 5 + + </select> + + <select id="selectGuestArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="guestList"> + + SELECT + a.NTT_ID, a.NTT_SJ, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d %H:%i:%S') as FRST_REGIST_PNTTM, + a.NTT_CN, a.USE_AT, a.BBS_ID, b.USER_NM as FRST_REGISTER_NM, a.FRST_REGISTER_ID + FROM + COMTNBBS a, COMVNUSERMASTER b + WHERE + a.BBS_ID = #{bbsId} + AND + a.FRST_REGISTER_ID = b.ESNTL_ID + AND + a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, a.NTT_NO ASC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectGuestArticleListCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(NTT_ID) + FROM + COMTNBBS + WHERE + BBS_ID = #{bbsId} + AND + USE_AT = 'Y' + + </select> + + <select id="selectLoginUser" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(FRST_REGISTER_ID) + FROM + COMTNBLOG + WHERE + FRST_REGISTER_ID = #{frstRegisterId} + AND + BLOG_ID = #{blogId} + + </select> + + <select id="selectBlogListManager" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardBlogManager"> + + SELECT + A.BBS_ID, A.BLOG_ID, A.BBS_NM, C.USER_NM AS FRST_REGISTER_NM, + DATE_FORMAT(A.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + A.USE_AT + FROM + COMTNBBSMASTER A + LEFT OUTER JOIN + COMTNBLOG B + ON A.BLOG_ID = B.BLOG_ID + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) C + ON A.FRST_REGISTER_ID = C.ESNTL_ID + WHERE A.BLOG_ID = #{blogId} + <if test="searchCnd == 0">AND + A.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + A.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + ORDER BY A.FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectBlogListManagerCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(1) + FROM + COMTNBBSMASTER A, COMTNBLOG B + WHERE A.BLOG_ID = B.BLOG_ID + AND B.BLOG_ID = #{blogId} + <if test="searchCnd == 0">AND + A.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + A.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + ORDER BY A.FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectArticleCnOne" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardCnOne"> + + SELECT + a.NTT_CN + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC + LIMIT 1 + + </select> + + <select id="selectBlogNmList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardMasterList"> + + SELECT + A.BBS_ID, A.BLOG_ID, A.BBS_NM + FROM + COMTNBBSMASTER A, COMTNBLOG B + WHERE A.BLOG_ID = B.BLOG_ID + AND B.BLOG_ID = #{blogId} + ORDER BY A.FRST_REGIST_PNTTM DESC + LIMIT 7 OFFSET 0 + + </select> + + <select id="selectArticleDetailDefault" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardSubJectList"> + + SELECT + a.NTT_ID, a.NTT_SJ, a.NTT_CN, a.FRST_REGISTER_ID, IFNULL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, a.NTCE_BGNDE, a.NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO, + a.NTCR_ID, d.BLOG_ID, d.REPLY_POSBL_AT + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + LEFT OUTER JOIN + COMTNBBSMASTER d + ON a.BBS_ID = d.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + <if test="searchCnd == 5"> + LIMIT 5 + </if> + <if test="searchCnd == 10"> + LIMIT 10 + </if> + <if test="searchCnd == 15"> + LIMIT 15 + </if> + <if test="searchCnd == 20"> + LIMIT 20 + </if> + <if test="searchCnd == 30"> + LIMIT 30 + </if> + + </select> + + <select id="selectArticleDetailDefaultCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(*) + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + LEFT OUTER JOIN + COMTNBBSMASTER d + ON a.BBS_ID = d.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_altibase.xml (revision 7) @@ -0,0 +1,329 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2020.07.14 신용호 게시판마스터 페이징처리 오류수정 (180. 게시판관리) +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSMaster"> + + <resultMap id="boardMasterList" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="tmplatId" column="TMPLAT_ID"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="boardMasterDetail" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="bbsIntrcn" column="BBS_INTRCN"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="atchPosblFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="atchPosblFileSize" column="ATCH_POSBL_FILE_SIZE"/> + <result property="tmplatId" column="TMPLAT_ID"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/> + <result property="tmplatNm" column="TMPLAT_NM"/> + <result property="authFlag" column="AUTH_FLAG"/> + <result property="tmplatCours" column="TMPLAT_COURS"/> + <result property="cmmntyId" column="CMMNTY_ID"/> + <result property="blogId" column="BLOG_ID"/> + </resultMap> + + <resultMap id="boardMasterAll" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="tmplatId" column="TMPLAT_ID"/> + </resultMap> + + <resultMap id="BlogList" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + <result property="registSeCode" column="REGIST_SE_CODE"/> + <result property="registSeCodeNm" column="REGIST_SE_CODE_NM"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="selectBlogDetail" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + <result property="blogIntrcn" column="BLOG_INTRCN"/> + </resultMap> + + <resultMap id="selectBlogUser" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="BlogListPortlet" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + </resultMap> + + <resultMap id="BBSListPortlet" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + </resultMap> + + <insert id="insertBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + INSERT INTO COMTNBBSMASTER + (BBS_ID, BBS_TY_CODE, BBS_NM, BBS_INTRCN, + REPLY_POSBL_AT, FILE_ATCH_POSBL_AT, ATCH_POSBL_FILE_NUMBER, + ATCH_POSBL_FILE_SIZE, TMPLAT_ID, USE_AT, CMMNTY_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, BLOG_ID, BLOG_AT ) + VALUES + ( #{bbsId}, #{bbsTyCode}, #{bbsNm}, #{bbsIntrcn}, + #{replyPosblAt}, #{fileAtchPosblAt}, #{atchPosblFileNumber}, + #{atchPosblFileSize}, #{tmplatId}, #{useAt}, #{cmmntyId}, #{frstRegisterId}, SYSDATE, #{blogId}, #{blogAt} + ) + + </insert> + + <select id="selectBBSMasterList" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="boardMasterList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM, + a.BBS_NM, + a.TMPLAT_ID, a.USE_AT, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + d.USER_NM AS FRST_REGISTER_NM + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM + COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) d + ON a.FRST_REGISTER_ID = d.ESNTL_ID + WHERE 1=1 + <if test='cmmntyId != null and cmmntyId != ""'> + AND a.CMMNTY_ID = #{cmmntyId} + </if> + <if test="searchCnd == 0">AND + a.BBS_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + b.BBS_INTRCN LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.FRST_REGIST_PNTTM DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectBBSMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.BBS_ID) as cnt + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM + COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + WHERE 1=1 + <if test='cmmntyId != null and cmmntyId != ""'>AND + a.CMMNTY_ID = #{cmmntyId} + </if> + <if test="searchCnd == 0">AND + a.BBS_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + b.BBS_INTRCN LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectBBSMasterDetail" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="boardMasterDetail"> + + SELECT + a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM, a.BBS_INTRCN, + a.BBS_NM, + a.TMPLAT_ID, d.TMPLAT_NM, d.TMPLAT_COURS, a.FILE_ATCH_POSBL_AT, a.ATCH_POSBL_FILE_NUMBER, + a.ATCH_POSBL_FILE_SIZE, a.REPLY_POSBL_AT, a.FRST_REGISTER_ID, e.USER_NM as FRST_REGISTER_NM, a.CMMNTY_ID, + a.USE_AT, TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, BLOG_ID + ,(SELECT NVL(USE_AT,'N') FROM COMTNBBSUSE + WHERE BBS_ID = #{bbsId} + AND TRGET_ID IN (#{uniqId}, 'SYSTEM_DEFAULT_BOARD') + ) as AUTH_FLAG + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN COMTNTMPLATINFO d + ON a.TMPLAT_ID = d.TMPLAT_ID + LEFT OUTER JOIN COMVNUSERMASTER e + ON a.FRST_REGISTER_ID = e.ESNTL_ID + WHERE a.BBS_ID = #{bbsId} + + </select> + + <update id="updateBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + UPDATE COMTNBBSMASTER SET + BBS_NM = #{bbsNm}, + BBS_INTRCN = #{bbsIntrcn}, + BBS_TY_CODE = #{bbsTyCode}, + FILE_ATCH_POSBL_AT = #{fileAtchPosblAt}, + ATCH_POSBL_FILE_NUMBER = #{atchPosblFileNumber}, + ATCH_POSBL_FILE_SIZE = #{atchPosblFileSize}, + TMPLAT_ID = #{tmplatId}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE, + USE_AT = #{useAt} + WHERE BBS_ID = #{bbsId} + + </update> + + <update id="deleteBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + UPDATE COMTNBBSMASTER SET + USE_AT = 'N', + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE + WHERE BBS_ID = #{bbsId} + + </update> + + <select id="selectBlogMasterList" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="BlogList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.BLOG_ID, a.BLOG_NM, a.USE_AT, a.REGIST_SE_CODE, + c.CODE_NM as REGIST_SE_CODE_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.FRST_REGISTER_ID, + b.USER_NM as FRST_REGISTER_NM, + a.BBS_ID, d.AUTHOR_CODE + FROM + COMTNBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.REGIST_SE_CODE = c.CODE + LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS d + ON a.FRST_REGISTER_ID = d.SCRTY_DTRMN_TRGET_ID + WHERE c.CODE_ID = 'COM001' + + <if test="searchCnd == 0">AND + a.BLOG_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.FRST_REGIST_PNTTM DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectBlogMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer"> + + SELECT + COUNT(*) + FROM + COMTNBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.REGIST_SE_CODE = c.CODE + LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS d + ON a.FRST_REGISTER_ID = d.SCRTY_DTRMN_TRGET_ID + WHERE c.CODE_ID = 'COM001' + + <if test="searchCnd == 0">AND + a.BLOG_NM LIKE '%' || #{searchWrd} || '%' + </if> + + </select> + + <select id="selectBlogDetail" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="selectBlogDetail"> + + SELECT + BLOG_ID, BBS_ID, BLOG_NM, BLOG_INTRCN + FROM + COMTNBLOG + WHERE BLOG_ID = #{blogId} + + </select> + + <select id="checkExistUser" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultType="java.lang.Integer"> + + SELECT + COUNT(FRST_REGISTER_ID) + FROM + COMTNBLOG + WHERE FRST_REGISTER_ID = #{frstRegisterId} + + </select> + + <select id="checkExistUser2" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="selectBlogUser"> + + SELECT + FRST_REGISTER_ID + FROM + COMTNBLOG + WHERE FRST_REGISTER_ID = #{frstRegisterId} + + </select> + + <insert id="insertBoardBlogUserRqst" parameterType="egovframework.com.cop.bbs.service.BlogUser"> + + INSERT INTO COMTNBLOGUSER + (BLOG_ID, EMPLYR_ID, MNGR_AT, SBSCRB_DE, + MBER_STTUS, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID) + VALUES (#{blogId}, #{emplyrId}, #{mngrAt}, SYSDATE, + #{mberSttus}, #{useAt}, SYSDATE, #{frstRegisterId}) + + </insert> + + <insert id="insertBlogMaster" parameterType="egovframework.com.cop.bbs.service.BlogVO"> + + INSERT INTO COMTNBLOG + (BLOG_ID, BLOG_NM, BLOG_INTRCN, REGIST_SE_CODE, + TMPLAT_ID, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM, BBS_ID, BLOG_AT) + VALUES + (#{blogId}, #{blogNm}, #{blogIntrcn}, #{registSeCode}, + #{tmplatId}, #{useAt}, #{frstRegisterId}, SYSDATE, #{bbsId}, #{blogAt}) + + </insert> + + <select id="selectBlogListPortlet" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="BlogListPortlet"> + + SELECT + BLOG_ID, BBS_ID, BLOG_NM, FRST_REGIST_PNTTM + FROM + COMTNBLOG + WHERE USE_AT = 'Y' + ORDER BY FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectBBSListPortlet" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="BBSListPortlet"> + + SELECT + BBS_ID, BBS_TY_CODE, BBS_NM, FRST_REGIST_PNTTM + FROM + COMTNBBSMASTER + WHERE USE_AT = 'Y' + ORDER BY FRST_REGIST_PNTTM DESC + + </select> + + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_oracle.xml (revision 7) @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:41 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSAddedOptions"> + + <resultMap id="boardMasterDetail" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="commentAt" column="ANSWER_AT"/> + <result property="stsfdgAt" column="STSFDG_AT"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <insert id="insertAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + INSERT INTO COMTNBBSMASTEROPTN + (BBS_ID, ANSWER_AT, STSFDG_AT, + FRST_REGISTER_ID, FRST_REGIST_PNTTM ) + VALUES + ( #{bbsId}, + + <if test="option == ''"> + 'N', 'N', + </if> + <if test="option == 'comment'"> + 'Y', 'N', + </if> + <if test="option == 'stsfdg'"> + 'N', 'Y', + </if> + + #{frstRegisterId}, SYSDATE + ) + + </insert> + + <select id="selectAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster" resultMap="boardMasterDetail"> + + SELECT + a.BBS_ID, a.ANSWER_AT, a.STSFDG_AT, + a.FRST_REGISTER_ID, b.USER_NM as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM + FROM + COMTNBBSMASTEROPTN a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE a.BBS_ID = #{bbsId} + + </select> + + <update id="updateAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + UPDATE COMTNBBSMASTEROPTN SET + + <if test="option == ''"> + ANSWER_AT = 'N', STSFDG_AT = 'N', + </if> + <if test="option == 'comment'"> + ANSWER_AT = 'Y', STSFDG_AT = 'N', + </if> + <if test="option == 'stsfdg'"> + ANSWER_AT = 'N', STSFDG_AT = 'Y', + </if> + + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE + WHERE BBS_ID = #{bbsId} + + </update> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_maria.xml (revision 7) @@ -0,0 +1,328 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2020.07.14 신용호 게시판마스터 페이징처리 오류수정 (180. 게시판관리) +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSMaster"> + + <resultMap id="boardMasterList" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="tmplatId" column="TMPLAT_ID"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="boardMasterDetail" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="bbsIntrcn" column="BBS_INTRCN"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="atchPosblFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="atchPosblFileSize" column="ATCH_POSBL_FILE_SIZE"/> + <result property="tmplatId" column="TMPLAT_ID"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/> + <result property="tmplatNm" column="TMPLAT_NM"/> + <result property="authFlag" column="AUTH_FLAG"/> + <result property="tmplatCours" column="TMPLAT_COURS"/> + <result property="cmmntyId" column="CMMNTY_ID"/> + <result property="blogId" column="BLOG_ID"/> + </resultMap> + + <resultMap id="boardMasterAll" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="tmplatId" column="TMPLAT_ID"/> + </resultMap> + + <resultMap id="BlogList" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + <result property="registSeCode" column="REGIST_SE_CODE"/> + <result property="registSeCodeNm" column="REGIST_SE_CODE_NM"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="selectBlogDetail" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + <result property="blogIntrcn" column="BLOG_INTRCN"/> + </resultMap> + + <resultMap id="selectBlogUser" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="BlogListPortlet" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + </resultMap> + + <resultMap id="BBSListPortlet" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + </resultMap> + + <insert id="insertBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + INSERT INTO COMTNBBSMASTER + (BBS_ID, BBS_TY_CODE, BBS_NM, BBS_INTRCN, + REPLY_POSBL_AT, FILE_ATCH_POSBL_AT, ATCH_POSBL_FILE_NUMBER, + TMPLAT_ID, USE_AT, CMMNTY_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, BLOG_ID, BLOG_AT ) + VALUES + ( #{bbsId}, #{bbsTyCode}, #{bbsNm}, #{bbsIntrcn}, + #{replyPosblAt}, #{fileAtchPosblAt}, #{atchPosblFileNumber}, + #{tmplatId}, #{useAt}, #{cmmntyId}, #{frstRegisterId}, SYSDATE(), #{blogId}, #{blogAt} + ) + + </insert> + + <select id="selectBBSMasterList" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="boardMasterList"> + + SELECT + a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM, + a.BBS_NM, + a.TMPLAT_ID, a.USE_AT, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + d.USER_NM AS FRST_REGISTER_NM + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM + COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) d + ON a.FRST_REGISTER_ID = d.ESNTL_ID + WHERE 1=1 + <if test='cmmntyId != null and cmmntyId != ""'> + AND a.CMMNTY_ID = #{cmmntyId} + </if> + <if test="searchCnd == 0">AND + a.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + a.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.FRST_REGIST_PNTTM DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectBBSMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.BBS_ID) + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM + COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) d + ON a.FRST_REGISTER_ID = d.ESNTL_ID + WHERE 1=1 + <if test='cmmntyId != null and cmmntyId != ""'>AND + a.CMMNTY_ID = #{cmmntyId} + </if> + <if test="searchCnd == 0">AND + a.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + a.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectBBSMasterDetail" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="boardMasterDetail"> + + SELECT + a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM, a.BBS_INTRCN, + a.BBS_NM, + a.TMPLAT_ID, d.TMPLAT_NM, d.TMPLAT_COURS, a.FILE_ATCH_POSBL_AT, a.ATCH_POSBL_FILE_NUMBER, + a.ATCH_POSBL_FILE_SIZE, a.REPLY_POSBL_AT, a.FRST_REGISTER_ID, e.USER_NM as FRST_REGISTER_NM, a.CMMNTY_ID, + a.USE_AT, DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, BLOG_ID + ,(SELECT IFNULL(USE_AT,'N') FROM COMTNBBSUSE + WHERE BBS_ID = #{bbsId} + AND TRGET_ID IN (#{uniqId}, 'SYSTEM_DEFAULT_BOARD') + ) as AUTH_FLAG + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN COMTNTMPLATINFO d + ON a.TMPLAT_ID = d.TMPLAT_ID + LEFT OUTER JOIN COMVNUSERMASTER e + ON a.FRST_REGISTER_ID = e.ESNTL_ID + WHERE a.BBS_ID = #{bbsId} + + </select> + + <update id="updateBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + UPDATE COMTNBBSMASTER SET + BBS_NM = #{bbsNm}, + BBS_INTRCN = #{bbsIntrcn}, + BBS_TY_CODE = #{bbsTyCode}, + FILE_ATCH_POSBL_AT = #{fileAtchPosblAt}, + ATCH_POSBL_FILE_NUMBER = #{atchPosblFileNumber}, + TMPLAT_ID = #{tmplatId}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE(), + USE_AT = #{useAt} + WHERE BBS_ID = #{bbsId} + + </update> + + <update id="deleteBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + UPDATE COMTNBBSMASTER SET + USE_AT = 'N', + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE() + WHERE BBS_ID = #{bbsId} + + </update> + + <select id="selectBlogMasterList" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="BlogList"> + + SELECT + a.BLOG_ID, a.BLOG_NM, a.USE_AT, a.REGIST_SE_CODE, + c.CODE_NM as REGIST_SE_CODE_NM, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + a.FRST_REGISTER_ID, + b.USER_NM as FRST_REGISTER_NM, + a.BBS_ID, d.AUTHOR_CODE + FROM + COMTNBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.REGIST_SE_CODE = c.CODE + LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS d + ON a.FRST_REGISTER_ID = d.SCRTY_DTRMN_TRGET_ID + WHERE c.CODE_ID = 'COM001' + + <if test="searchCnd == 0">AND + a.BLOG_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.FRST_REGIST_PNTTM DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectBlogMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer"> + + SELECT + COUNT(*) + FROM + COMTNBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.REGIST_SE_CODE = c.CODE + LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS d + ON a.FRST_REGISTER_ID = d.SCRTY_DTRMN_TRGET_ID + WHERE c.CODE_ID = 'COM001' + + <if test="searchCnd == 0">AND + a.BLOG_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + </select> + + <select id="selectBlogDetail" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="selectBlogDetail"> + + SELECT + BLOG_ID, BBS_ID, BLOG_NM, BLOG_INTRCN + FROM + COMTNBLOG + WHERE BLOG_ID = #{blogId} + + </select> + + <select id="checkExistUser" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultType="java.lang.Integer"> + + SELECT + COUNT(FRST_REGISTER_ID) + FROM + COMTNBLOG + WHERE FRST_REGISTER_ID = #{frstRegisterId} + + </select> + + <select id="checkExistUser2" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="selectBlogUser"> + + SELECT + FRST_REGISTER_ID + FROM + COMTNBLOG + WHERE FRST_REGISTER_ID = #{frstRegisterId} + + </select> + + <insert id="insertBoardBlogUserRqst" parameterType="egovframework.com.cop.bbs.service.BlogUser"> + + INSERT INTO COMTNBLOGUSER + (BLOG_ID, EMPLYR_ID, MNGR_AT, SBSCRB_DE, + MBER_STTUS, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID) + VALUES (#{blogId}, #{emplyrId}, #{mngrAt}, SYSDATE(), + #{mberSttus}, #{useAt}, SYSDATE(), #{frstRegisterId}) + + </insert> + + <insert id="insertBlogMaster" parameterType="egovframework.com.cop.bbs.service.BlogVO"> + + INSERT INTO COMTNBLOG + (BLOG_ID, BLOG_NM, BLOG_INTRCN, REGIST_SE_CODE, + TMPLAT_ID, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM, BBS_ID, BLOG_AT) + VALUES + (#{blogId}, #{blogNm}, #{blogIntrcn}, #{registSeCode}, + #{tmplatId}, #{useAt}, #{frstRegisterId}, SYSDATE(), #{bbsId}, #{blogAt}) + + </insert> + + <select id="selectBlogListPortlet" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="BlogListPortlet"> + + SELECT + BLOG_ID, BBS_ID, BLOG_NM, FRST_REGIST_PNTTM + FROM + COMTNBLOG + WHERE USE_AT = 'Y' + ORDER BY FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectBBSListPortlet" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="BBSListPortlet"> + + SELECT + BBS_ID, BBS_TY_CODE, BBS_NM, FRST_REGIST_PNTTM + FROM + COMTNBBSMASTER + WHERE USE_AT = 'Y' + ORDER BY FRST_REGIST_PNTTM DESC + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_tibero.xml (revision 7) @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2020.07.14 신용호 게시판마스터 페이징처리 오류수정 (180. 게시판관리) +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSMaster"> + + <resultMap id="boardMasterList" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="tmplatId" column="TMPLAT_ID"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="boardMasterDetail" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="bbsIntrcn" column="BBS_INTRCN"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="atchPosblFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="atchPosblFileSize" column="ATCH_POSBL_FILE_SIZE"/> + <result property="tmplatId" column="TMPLAT_ID"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/> + <result property="tmplatNm" column="TMPLAT_NM"/> + <result property="authFlag" column="AUTH_FLAG"/> + <result property="tmplatCours" column="TMPLAT_COURS"/> + <result property="cmmntyId" column="CMMNTY_ID"/> + <result property="blogId" column="BLOG_ID"/> + </resultMap> + + <resultMap id="boardMasterAll" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="tmplatId" column="TMPLAT_ID"/> + </resultMap> + + <resultMap id="BlogList" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + <result property="registSeCode" column="REGIST_SE_CODE"/> + <result property="registSeCodeNm" column="REGIST_SE_CODE_NM"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="selectBlogDetail" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + <result property="blogIntrcn" column="BLOG_INTRCN"/> + </resultMap> + + <resultMap id="selectBlogUser" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="BlogListPortlet" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + </resultMap> + + <resultMap id="BBSListPortlet" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + </resultMap> + + <insert id="insertBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + INSERT INTO COMTNBBSMASTER + (BBS_ID, BBS_TY_CODE, BBS_NM, BBS_INTRCN, + REPLY_POSBL_AT, FILE_ATCH_POSBL_AT, ATCH_POSBL_FILE_NUMBER, + TMPLAT_ID, USE_AT, CMMNTY_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, BLOG_ID, BLOG_AT ) + VALUES + ( #{bbsId}, #{bbsTyCode}, #{bbsNm}, #{bbsIntrcn}, + #{replyPosblAt}, #{fileAtchPosblAt}, #{atchPosblFileNumber}, + #{tmplatId}, #{useAt}, #{cmmntyId}, #{frstRegisterId}, SYSDATE, #{blogId}, #{blogAt} + ) + + </insert> + + <select id="selectBBSMasterList" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="boardMasterList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM, + a.BBS_NM, + a.TMPLAT_ID, a.USE_AT, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + d.USER_NM AS FRST_REGISTER_NM + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM + COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) d + ON a.FRST_REGISTER_ID = d.ESNTL_ID + WHERE 1=1 + <if test='cmmntyId != null and cmmntyId != ""'> + AND a.CMMNTY_ID = #{cmmntyId} + </if> + <if test="searchCnd == 0">AND + a.BBS_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + b.BBS_INTRCN LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.FRST_REGIST_PNTTM DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectBBSMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.BBS_ID) + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM + COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + WHERE 1=1 + <if test='cmmntyId != null and cmmntyId != ""'>AND + a.CMMNTY_ID = #{cmmntyId} + </if> + <if test="searchCnd == 0">AND + a.BBS_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + a.BBS_INTRCN LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectBBSMasterDetail" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="boardMasterDetail"> + + SELECT + a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM, a.BBS_INTRCN, + a.BBS_NM, + a.TMPLAT_ID, d.TMPLAT_NM, d.TMPLAT_COURS, a.FILE_ATCH_POSBL_AT, a.ATCH_POSBL_FILE_NUMBER, + a.ATCH_POSBL_FILE_SIZE, a.REPLY_POSBL_AT, a.FRST_REGISTER_ID, e.USER_NM as FRST_REGISTER_NM, a.CMMNTY_ID, + a.USE_AT, TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM + ,(SELECT NVL(USE_AT,'N') FROM COMTNBBSUSE + WHERE BBS_ID = #{bbsId} + AND TRGET_ID IN (#{uniqId}, 'SYSTEM_DEFAULT_BOARD') + ) as AUTH_FLAG + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN COMTNTMPLATINFO d + ON a.TMPLAT_ID = d.TMPLAT_ID + LEFT OUTER JOIN COMVNUSERMASTER e + ON a.FRST_REGISTER_ID = e.ESNTL_ID + WHERE a.BBS_ID = #{bbsId} + + </select> + + <update id="updateBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + UPDATE COMTNBBSMASTER SET + BBS_NM = #{bbsNm}, + BBS_INTRCN = #{bbsIntrcn}, + BBS_TY_CODE = #{bbsTyCode}, + FILE_ATCH_POSBL_AT = #{fileAtchPosblAt}, + ATCH_POSBL_FILE_NUMBER = #{atchPosblFileNumber}, + ATCH_POSBL_FILE_SIZE = #{atchPosblFileSize}, + TMPLAT_ID = #{tmplatId}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE, + USE_AT = #{useAt} + WHERE BBS_ID = #{bbsId} + + </update> + + <update id="deleteBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + UPDATE COMTNBBSMASTER SET + USE_AT = 'N', + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE + WHERE BBS_ID = #{bbsId} + + </update> + + <select id="selectBlogMasterList" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="BlogList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.BLOG_ID, a.BLOG_NM, a.USE_AT, a.REGIST_SE_CODE, + c.CODE_NM as REGIST_SE_CODE_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.FRST_REGISTER_ID, + b.USER_NM as FRST_REGISTER_NM, + a.BBS_ID, d.AUTHOR_CODE + FROM + COMTNBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.REGIST_SE_CODE = c.CODE + LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS d + ON a.FRST_REGISTER_ID = d.SCRTY_DTRMN_TRGET_ID + WHERE c.CODE_ID = 'COM001' + + <if test="searchCnd == 0">AND + a.BLOG_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.FRST_REGIST_PNTTM DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectBlogMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer"> + + SELECT + COUNT(*) + FROM + COMTNBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.REGIST_SE_CODE = c.CODE + LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS d + ON a.FRST_REGISTER_ID = d.SCRTY_DTRMN_TRGET_ID + WHERE c.CODE_ID = 'COM001' + + <if test="searchCnd == 0">AND + a.BLOG_NM LIKE '%' || #{searchWrd} || '%' + </if> + + </select> + + <select id="selectBlogDetail" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="selectBlogDetail"> + SELECT + BLOG_ID, BBS_ID, BLOG_NM, BLOG_INTRCN + FROM + COMTNBLOG + WHERE BLOG_ID = #{blogId} + </select> + + <select id="checkExistUser" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultType="java.lang.Integer"> + + SELECT COUNT(FRST_REGISTER_ID) + FROM + COMTNBLOG + WHERE FRST_REGISTER_ID = #{frstRegisterId} + + </select> + + <select id="checkExistUser2" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="selectBlogUser"> + + SELECT + FRST_REGISTER_ID + FROM + COMTNBLOG + WHERE FRST_REGISTER_ID = #{frstRegisterId} + + </select> + + <insert id="insertBoardBlogUserRqst" parameterType="egovframework.com.cop.bbs.service.BlogUser"> + + INSERT INTO COMTNBLOGUSER + (BLOG_ID, EMPLYR_ID, MNGR_AT, SBSCRB_DE, + MBER_STTUS, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID) + VALUES (#{blogId}, #{emplyrId}, #{mngrAt}, SYSDATE, + #{mberSttus}, #{useAt}, SYSDATE, #{frstRegisterId}) + + </insert> + + <insert id="insertBlogMaster" parameterType="egovframework.com.cop.bbs.service.BlogVO"> + + INSERT INTO COMTNBLOG + (BLOG_ID, BLOG_NM, BLOG_INTRCN, REGIST_SE_CODE, + TMPLAT_ID, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM, BBS_ID, BLOG_AT) + VALUES + (#{blogId}, #{blogNm}, #{blogIntrcn}, #{registSeCode}, + #{tmplatId}, #{useAt}, #{frstRegisterId}, SYSDATE, #{bbsId}, #{blogAt}) + + </insert> + + <select id="selectBlogListPortlet" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="BlogListPortlet"> + + SELECT + BLOG_ID, BBS_ID, BLOG_NM, FRST_REGIST_PNTTM + FROM + COMTNBLOG + WHERE USE_AT = 'Y' + ORDER BY FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectBBSListPortlet" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="BBSListPortlet"> + + SELECT + BBS_ID, BBS_TY_CODE, BBS_NM, FRST_REGIST_PNTTM + FROM + COMTNBBSMASTER + WHERE USE_AT = 'Y' + ORDER BY FRST_REGIST_PNTTM DESC + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_postgres.xml (revision 7) @@ -0,0 +1,322 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2020.07.14 신용호 게시판마스터 페이징처리 오류수정 (180. 게시판관리) +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSMaster"> + + <resultMap id="boardMasterList" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="boardMasterDetail" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="bbsIntrcn" column="BBS_INTRCN"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="atchPosblFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="atchPosblFileSize" column="ATCH_POSBL_FILE_SIZE"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/> + <result property="tmplatNm" column="TMPLAT_NM"/> + <result property="authFlag" column="AUTH_FLAG"/> + <result property="tmplatCours" column="TMPLAT_COURS"/> + <result property="cmmntyId" column="CMMNTY_ID"/> + <result property="blogId" column="BLOG_ID"/> + </resultMap> + + <resultMap id="boardMasterAll" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + </resultMap> + + <resultMap id="BlogList" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + <result property="registSeCode" column="REGIST_SE_CODE"/> + <result property="registSeCodeNm" column="REGIST_SE_CODE_NM"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="selectBlogDetail" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + <result property="blogIntrcn" column="BLOG_INTRCN"/> + </resultMap> + + <resultMap id="selectBlogUser" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="BlogListPortlet" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + </resultMap> + + <resultMap id="BBSListPortlet" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + </resultMap> + + <insert id="insertBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + INSERT INTO COMTNBBSMASTER + (BBS_ID, BBS_TY_CODE, BBS_NM, BBS_INTRCN, + REPLY_POSBL_AT, FILE_ATCH_POSBL_AT, ATCH_POSBL_FILE_NUMBER, + USE_AT, CMMNTY_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, BLOG_ID, BLOG_AT ) + VALUES + ( #{bbsId}, #{bbsTyCode}, #{bbsNm}, #{bbsIntrcn}, + #{replyPosblAt}, #{fileAtchPosblAt}, #{atchPosblFileNumber}, + #{useAt}, #{cmmntyId}, #{frstRegisterId}, NOW(), #{blogId}, #{blogAt} + ) + + </insert> + + <select id="selectBBSMasterList" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="boardMasterList"> + + SELECT + a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM, + a.BBS_NM, + a.USE_AT, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYYmmdd') as FRST_REGIST_PNTTM, + d.USER_NM AS FRST_REGISTER_NM + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM + COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) d + ON a.FRST_REGISTER_ID = d.ESNTL_ID + WHERE 1=1 + <if test='cmmntyId != null and cmmntyId != ""'> + AND a.CMMNTY_ID = #{cmmntyId} + </if> + <if test="searchCnd == 0">AND + a.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + a.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.FRST_REGIST_PNTTM DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectBBSMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.BBS_ID) + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM + COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) d + ON a.FRST_REGISTER_ID = d.ESNTL_ID + WHERE 1=1 + <if test='cmmntyId != null and cmmntyId != ""'>AND + a.CMMNTY_ID = #{cmmntyId} + </if> + <if test="searchCnd == 0">AND + a.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + a.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + </select> + + <select id="selectBBSMasterDetail" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="boardMasterDetail"> + + SELECT + a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM, a.BBS_INTRCN, + a.BBS_NM, + a.FILE_ATCH_POSBL_AT, a.ATCH_POSBL_FILE_NUMBER, + a.ATCH_POSBL_FILE_SIZE, a.REPLY_POSBL_AT, a.FRST_REGISTER_ID, e.USER_NM as FRST_REGISTER_NM, a.CMMNTY_ID, + a.USE_AT, TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYYmmdd') as FRST_REGIST_PNTTM, BLOG_ID + ,(SELECT COALESCE(USE_AT,'N') FROM COMTNBBSUSE + WHERE BBS_ID = #{bbsId} + AND TRGET_ID IN (#{uniqId}, 'SYSTEM_DEFAULT_BOARD') + ) as AUTH_FLAG + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN COMVNUSERMASTER e + ON a.FRST_REGISTER_ID = e.ESNTL_ID + WHERE a.BBS_ID = #{bbsId} + + </select> + + <update id="updateBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + UPDATE COMTNBBSMASTER SET + BBS_NM = #{bbsNm}, + BBS_INTRCN = #{bbsIntrcn}, + BBS_TY_CODE = #{bbsTyCode}, + FILE_ATCH_POSBL_AT = #{fileAtchPosblAt}, + ATCH_POSBL_FILE_NUMBER = #{atchPosblFileNumber}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = NOW(), + USE_AT = #{useAt} + WHERE BBS_ID = #{bbsId} + + </update> + + <update id="deleteBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + UPDATE COMTNBBSMASTER SET + USE_AT = 'N', + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = NOW() + WHERE BBS_ID = #{bbsId} + + </update> + + <select id="selectBlogMasterList" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="BlogList"> + + SELECT + a.BLOG_ID, a.BLOG_NM, a.USE_AT, a.REGIST_SE_CODE, + c.CODE_NM as REGIST_SE_CODE_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYYmmdd') as FRST_REGIST_PNTTM, + a.FRST_REGISTER_ID, + b.USER_NM as FRST_REGISTER_NM, + a.BBS_ID, d.AUTHOR_CODE + FROM + COMTNBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.REGIST_SE_CODE = c.CODE + LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS d + ON a.FRST_REGISTER_ID = d.SCRTY_DTRMN_TRGET_ID + WHERE c.CODE_ID = 'COM001' + + <if test="searchCnd == 0">AND + a.BLOG_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + ORDER BY a.FRST_REGIST_PNTTM DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectBlogMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer"> + + SELECT + COUNT(*) + FROM + COMTNBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.REGIST_SE_CODE = c.CODE + LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS d + ON a.FRST_REGISTER_ID = d.SCRTY_DTRMN_TRGET_ID + WHERE c.CODE_ID = 'COM001' + + <if test="searchCnd == 0">AND + a.BLOG_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + </select> + + <select id="selectBlogDetail" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="selectBlogDetail"> + + SELECT + BLOG_ID, BBS_ID, BLOG_NM, BLOG_INTRCN + FROM + COMTNBLOG + WHERE BLOG_ID = #{blogId} + + </select> + + <select id="checkExistUser" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultType="java.lang.Integer"> + + SELECT + COUNT(FRST_REGISTER_ID) + FROM + COMTNBLOG + WHERE FRST_REGISTER_ID = #{frstRegisterId} + + </select> + + <select id="checkExistUser2" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="selectBlogUser"> + + SELECT + FRST_REGISTER_ID + FROM + COMTNBLOG + WHERE FRST_REGISTER_ID = #{frstRegisterId} + + </select> + + <insert id="insertBoardBlogUserRqst" parameterType="egovframework.com.cop.bbs.service.BlogUser"> + + INSERT INTO COMTNBLOGUSER + (BLOG_ID, EMPLYR_ID, MNGR_AT, SBSCRB_DE, + MBER_STTUS, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID) + VALUES (#{blogId}, #{emplyrId}, #{mngrAt}, NOW(), + #{mberSttus}, #{useAt}, NOW(), #{frstRegisterId}) + + </insert> + + <insert id="insertBlogMaster" parameterType="egovframework.com.cop.bbs.service.BlogVO"> + + INSERT INTO COMTNBLOG + (BLOG_ID, BLOG_NM, BLOG_INTRCN, REGIST_SE_CODE, + USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM, BBS_ID, BLOG_AT) + VALUES + (#{blogId}, #{blogNm}, #{blogIntrcn}, #{registSeCode}, + #{useAt}, #{frstRegisterId}, NOW(), #{bbsId}, #{blogAt}) + + </insert> + + <select id="selectBlogListPortlet" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="BlogListPortlet"> + + SELECT + BLOG_ID, BBS_ID, BLOG_NM, FRST_REGIST_PNTTM + FROM + COMTNBLOG + WHERE USE_AT = 'Y' + ORDER BY FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectBBSListPortlet" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="BBSListPortlet"> + + SELECT + BBS_ID, BBS_TY_CODE, BBS_NM, FRST_REGIST_PNTTM + FROM + COMTNBBSMASTER + WHERE USE_AT = 'Y' + ORDER BY FRST_REGIST_PNTTM DESC + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_mysql.xml (revision 7) @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:41 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSAddedOptions"> + + <resultMap id="boardMasterDetail" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="commentAt" column="ANSWER_AT"/> + <result property="stsfdgAt" column="STSFDG_AT"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <insert id="insertAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + INSERT INTO COMTNBBSMASTEROPTN + (BBS_ID, ANSWER_AT, STSFDG_AT, + FRST_REGISTER_ID, FRST_REGIST_PNTTM ) + VALUES + ( #{bbsId}, + + <if test="option == ''"> + 'N', 'N', + </if> + <if test="option == 'comment'"> + 'Y', 'N', + </if> + <if test="option == 'stsfdg'"> + 'N', 'Y', + </if> + + #{frstRegisterId}, SYSDATE() + ) + + </insert> + + <select id="selectAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster" resultMap="boardMasterDetail"> + + SELECT + a.BBS_ID, a.ANSWER_AT, a.STSFDG_AT, + a.FRST_REGISTER_ID, b.USER_NM as FRST_REGISTER_NM, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM + FROM + COMTNBBSMASTEROPTN a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE a.BBS_ID = #{bbsId} + + </select> + + <update id="updateAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + UPDATE COMTNBBSMASTEROPTN SET + + <if test="option == ''"> + ANSWER_AT = 'N', STSFDG_AT = 'N', + </if> + <if test="option == 'comment'"> + ANSWER_AT = 'Y', STSFDG_AT = 'N', + </if> + <if test="option == 'stsfdg'"> + ANSWER_AT = 'N', STSFDG_AT = 'Y', + </if> + + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE() + WHERE BBS_ID = #{bbsId} + + </update> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_maria.xml (revision 7) @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:41 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSAddedOptions"> + + <resultMap id="boardMasterDetail" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="commentAt" column="ANSWER_AT"/> + <result property="stsfdgAt" column="STSFDG_AT"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <insert id="insertAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + INSERT INTO COMTNBBSMASTEROPTN + (BBS_ID, ANSWER_AT, STSFDG_AT, + FRST_REGISTER_ID, FRST_REGIST_PNTTM ) + VALUES + ( #{bbsId}, + + <if test="option == ''"> + 'N', 'N', + </if> + <if test="option == 'comment'"> + 'Y', 'N', + </if> + <if test="option == 'stsfdg'"> + 'N', 'Y', + </if> + + #{frstRegisterId}, SYSDATE() + ) + + </insert> + + <select id="selectAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster" resultMap="boardMasterDetail"> + + SELECT + a.BBS_ID, a.ANSWER_AT, a.STSFDG_AT, + a.FRST_REGISTER_ID, b.USER_NM as FRST_REGISTER_NM, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM + FROM + COMTNBBSMASTEROPTN a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE a.BBS_ID = #{bbsId} + + </select> + + <update id="updateAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + UPDATE COMTNBBSMASTEROPTN SET + + <if test="option == ''"> + ANSWER_AT = 'N', STSFDG_AT = 'N', + </if> + <if test="option == 'comment'"> + ANSWER_AT = 'Y', STSFDG_AT = 'N', + </if> + <if test="option == 'stsfdg'"> + ANSWER_AT = 'N', STSFDG_AT = 'Y', + </if> + + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE() + WHERE BBS_ID = #{bbsId} + + </update> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_cubrid.xml (revision 7) @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:49:40 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSAddedOptions"> + + <resultMap id="boardMasterDetail" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="commentAt" column="ANSWER_AT"/> + <result property="stsfdgAt" column="STSFDG_AT"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <insert id="insertAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + INSERT INTO COMTNBBSMASTEROPTN + (BBS_ID, ANSWER_AT, STSFDG_AT, + FRST_REGISTER_ID, FRST_REGIST_PNTTM ) + VALUES + ( #{bbsId}, + + <if test="option == ''"> + 'N', 'N', + </if> + <if test="option == 'comment'"> + 'Y', 'N', + </if> + <if test="option == 'stsfdg'"> + 'N', 'Y', + </if> + + #{frstRegisterId}, SYSDATETIME + ) + + </insert> + + <select id="selectAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster" resultMap="boardMasterDetail"> + + SELECT + a.BBS_ID, a.ANSWER_AT, a.STSFDG_AT, + a.FRST_REGISTER_ID, b.USER_NM as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM + FROM + COMTNBBSMASTEROPTN a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE a.BBS_ID = #{bbsId} + + </select> + + <update id="updateAddedOptionsInf" parameterType="egovframework.com.cop.bbs.service.BoardMaster"> + + UPDATE COMTNBBSMASTEROPTN SET + + <if test="option == ''"> + ANSWER_AT = 'N', STSFDG_AT = 'N', + </if> + <if test="option == 'comment'"> + ANSWER_AT = 'Y', STSFDG_AT = 'N', + </if> + <if test="option == 'stsfdg'"> + ANSWER_AT = 'N', STSFDG_AT = 'Y', + </if> + + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATETIME + WHERE BBS_ID = #{bbsId} + + </update> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSAddedOptions_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_cubrid.xml (revision 7) @@ -0,0 +1,604 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.09.07 서준식 NTCE_BGNDE, NTCE_ENDDE 컬럼 빈공간에 의한 비교 오류 때문에 Rtrim() 추가 + 2011.09.21 서준식 selectMaxNttId문에 COMMIT 될때까지 LOCK설정 + 2011.09.21 서준식 NTT_ID를 IDGENT서비스를 사용해서 생성하므로 selectMaxNttId문은 실제 사용하지 않음 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSArticle"> + + <resultMap id="boardList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="inqireCo" column="RDCNT"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + </resultMap> + + <resultMap id="boardDetail" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="ntcrId" column="NTCR_ID"/> + <result property="ntcrNm" column="NTCR_NM"/> + <result property="nttNo" column="NTT_NO"/> + <result property="nttCn" column="NTT_CN"/> + <result property="password" column="PASSWORD"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="inqireCo" column="RDCNT"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="posblAtchFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + </resultMap> + + <resultMap id="sortList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="nttNo" column="NTT_NO"/> + <result property="replyLc" column="ANSWER_LC"/> + </resultMap> + + <resultMap id="guestList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="nttCn" column="NTT_CN"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="detailCn" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="ntcrId" column="NTCR_ID"/> + <result property="ntcrNm" column="NTCR_NM"/> + <result property="nttNo" column="NTT_NO"/> + <result property="nttCn" column="NTT_CN"/> + <result property="password" column="PASSWORD"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="inqireCo" column="RDCNT"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="posblAtchFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + </resultMap> + + <resultMap id="boardCnOne" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="nttCn" column="NTT_CN"/> + </resultMap> + + <resultMap id="boardMasterList" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsNm" column="BBS_NM"/> + </resultMap> + + <resultMap id="boardBlogManager" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="boardSubJectList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="inqireCo" column="RDCNT"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="blogId" column="BLOG_ID"/> + </resultMap> + + + <select id="selectMaxNttId" resultType="java.lang.Long"> + + SELECT NVL(NTT_ID,0)+1 AS NTT_ID FROM COMTNBBS WHERE NTT_ID=(SELECT MAX(NTT_ID) AS NTT_ID FROM COMTNBBS) FOR UPDATE WAIT 3 + + </select> + + <insert id="insertArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + <selectKey keyProperty="nttNo" resultType="java.lang.Long" order="BEFORE"> + SELECT NVL(MAX(SORT_ORDR),0)+1 AS NTT_NO FROM COMTNBBS + WHERE BBS_ID = #{bbsId} + </selectKey> + + INSERT INTO COMTNBBS + (NTT_ID, BBS_ID, NTT_SJ, NTT_CN, SORT_ORDR, + NTCR_ID, NTCR_NM, PASSWORD, RDCNT, + NTCE_BGNDE, NTCE_ENDDE, ANSWER_AT, + PARNTSCTT_NO, NTT_NO, ANSWER_LC, ATCH_FILE_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, USE_AT, + SJ_BOLD_AT, NOTICE_AT, SECRET_AT + ) + VALUES + ( #{nttId}, #{bbsId}, #{nttSj}, #{nttCn}, #{nttId}, + #{ntcrId}, #{ntcrNm}, #{password}, #{inqireCo}, + #{ntceBgnde}, #{ntceEndde}, #{replyAt}, + #{parnts}, 1, #{replyLc}, #{atchFileId}, + #{frstRegisterId}, SYSDATETIME, 'Y', + #{sjBoldAt}, #{noticeAt}, #{secretAt} + ) + + </insert> + + <insert id="replyArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + <selectKey keyProperty="nttNo" resultType="java.lang.Long" order="BEFORE"> + SELECT NVL(MAX(NTT_NO),0)+1 AS NTT_NO FROM COMTNBBS + WHERE BBS_ID = #{bbsId} AND SORT_ORDR = #{sortOrdr} + </selectKey> + + INSERT INTO COMTNBBS + (NTT_ID, BBS_ID, NTT_SJ, NTT_CN, SORT_ORDR, + NTCR_ID, NTCR_NM, PASSWORD, RDCNT, + NTCE_BGNDE, NTCE_ENDDE, ANSWER_AT, + PARNTSCTT_NO, NTT_NO, ANSWER_LC, ATCH_FILE_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, USE_AT, + SJ_BOLD_AT, NOTICE_AT, SECRET_AT + ) + VALUES + ( #{nttId}, #{bbsId}, #{nttSj}, #{nttCn}, #{sortOrdr}, + #{ntcrId}, #{ntcrNm}, #{password}, #{inqireCo}, + #{ntceBgnde}, #{ntceEndde}, #{replyAt}, + #{parnts}, 1, #{replyLc}, #{atchFileId}, + #{frstRegisterId}, SYSDATETIME, 'Y', + #{sjBoldAt}, #{noticeAt}, #{secretAt} + ) + + </insert> + + + + <select id="selectArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, rtrim(a.NTCE_BGNDE) NTCE_BGNDE, rtrim(a.NTCE_ENDDE) NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + + <if test="searchCnd == 0">AND + a.NTT_SJ LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + a.NTT_CN LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 2">AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectArticleListCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.NTT_ID) + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + + <if test="searchCnd == 0">AND + a.NTT_SJ LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + a.NTT_CN LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 2">AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectArticleDetail" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardDetail"> + + SELECT + a.NTT_SJ, a.NTCR_ID, a.NTCR_NM, a.NTT_NO, a.NTT_CN, + a.PASSWORD, a.FRST_REGISTER_ID, b.USER_NM as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.NTCE_BGNDE, a.NTCE_ENDDE, a.RDCNT, + a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTT_ID, + a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, + a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.SORT_ORDR, + c.BBS_TY_CODE, c.REPLY_POSBL_AT, + c.FILE_ATCH_POSBL_AT, c.ATCH_POSBL_FILE_NUMBER, c.BBS_NM + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.NTT_ID = #{nttId} + AND a.USE_AT = 'Y' + + </select> + + <update id="updateArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + NTT_SJ = #{nttSj}, + NTT_CN = #{nttCn}, + NTCE_BGNDE = #{ntceBgnde}, + NTCE_ENDDE = #{ntceEndde}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + ATCH_FILE_ID = #{atchFileId}, + LAST_UPDT_PNTTM = SYSDATETIME, + SJ_BOLD_AT = #{sjBoldAt}, + NOTICE_AT = #{noticeAt}, + SECRET_AT = #{secretAt} + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <update id="deleteArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + NTT_SJ = #{nttSj}, + USE_AT = 'N', + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATETIME + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <select id="selectMaxInqireCo" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT NVL(MAX(RDCNT),0)+1 AS RDCNT FROM COMTNBBS + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </select> + + + <update id="updateInqireCo" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + RDCNT = #{inqireCo}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATETIME + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <select id="selectNoticeArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, rtrim(a.NTCE_BGNDE) NTCE_BGNDE, rtrim(a.NTCE_ENDDE) NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + AND a.NOTICE_AT = 'Y' + + + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + ) TB ) Z WHERE rn BETWEEN 1 AND 5 + + </select> + + <select id="selectGuestArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="guestList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH:MI:SS') as FRST_REGIST_PNTTM, + a.NTT_CN, a.USE_AT, a.BBS_ID, b.USER_NM as FRST_REGISTER_NM, a.FRST_REGISTER_ID + FROM + COMTNBBS a, COMVNUSERMASTER b + WHERE + a.BBS_ID = #{bbsId} + AND + a.FRST_REGISTER_ID = b.ESNTL_ID + AND + a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, a.NTT_NO ASC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectGuestArticleListCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(NTT_ID) + FROM + COMTNBBS + WHERE + BBS_ID = #{bbsId} + AND + USE_AT = 'Y' + + </select> + + <select id="selectArticleCnOne" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardCnOne"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_CN + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC + ) TB ) WHERE rn BETWEEN 1 AND 1 + + </select> + + <select id="selectArticleDetailCn" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="detailCn"> + + SELECT + a.NTT_SJ, a.NTCR_ID, a.NTCR_NM, a.NTT_NO, a.NTT_CN, + a.PASSWORD, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.NTCE_BGNDE, a.NTCE_ENDDE, a.RDCNT, + a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTT_ID, + a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, + a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.SORT_ORDR, + c.BBS_TY_CODE, c.REPLY_POSBL_AT, + c.FILE_ATCH_POSBL_AT, c.ATCH_POSBL_FILE_NUMBER, c.BBS_NM + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + + </select> + + <select id="selectArticleDetailDefault" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardSubJectList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, a.NTT_CN, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, a.NTCE_BGNDE, a.NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO, + a.NTCR_ID, d.BLOG_ID, d.REPLY_POSBL_AT + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + LEFT OUTER JOIN + COMTNBBSMASTER d + ON a.BBS_ID = d.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + <if test="searchCnd == 5"> + ) TB ) WHERE rn BETWEEN 1 AND 5 + </if> + <if test="searchCnd == 10"> + ) TB ) WHERE rn BETWEEN 1 AND 10 + </if> + <if test="searchCnd == 15"> + ) TB ) WHERE rn BETWEEN 1 AND 15 + </if> + <if test="searchCnd == 20"> + ) TB ) WHERE rn BETWEEN 1 AND 20 + </if> + <if test="searchCnd == 30"> + ) TB ) WHERE rn BETWEEN 1 AND 30 + </if> + + </select> + + <select id="selectBlogNmList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardMasterList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + A.BBS_ID, A.BLOG_ID, A.BBS_NM + FROM + COMTNBBSMASTER A, COMTNBLOG B + WHERE A.BLOG_ID = B.BLOG_ID + AND B.BLOG_ID = #{blogId} + ORDER BY A.FRST_REGIST_PNTTM DESC + ) TB ) WHERE rn BETWEEN 1 AND 7 + </select> + + <select id="selectLoginUser" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(FRST_REGISTER_ID) + FROM + COMTNBLOG + WHERE + FRST_REGISTER_ID = #{frstRegisterId} + AND + BLOG_ID = #{blogId} + + </select> + + <select id="selectBlogListManager" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardBlogManager"> + + SELECT + A.BBS_ID, A.BLOG_ID, A.BBS_NM, C.USER_NM AS FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + A.USE_AT + FROM + COMTNBBSMASTER A + LEFT OUTER JOIN + COMTNBLOG B + ON A.BLOG_ID = B.BLOG_ID + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) C + ON A.FRST_REGISTER_ID = C.ESNTL_ID + WHERE A.BLOG_ID = #{blogId} + <if test="searchCnd == 0">AND + A.BBS_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + A.BBS_INTRCN LIKE '%' || #{searchWrd} || '%' + </if> + ORDER BY A.FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectBlogListManagerCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(1) + FROM + COMTNBBSMASTER A, COMTNBLOG B + WHERE A.BLOG_ID = B.BLOG_ID + AND B.BLOG_ID = #{blogId} + <if test="searchCnd == 0">AND + A.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + A.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + ORDER BY A.FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectArticleDetailDefaultCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(*) + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + LEFT OUTER JOIN + COMTNBBSMASTER d + ON a.BBS_ID = d.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_oracle.xml (revision 7) @@ -0,0 +1,324 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2020.07.14 신용호 게시판마스터 페이징처리 오류수정 (180. 게시판관리) +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSMaster"> + + <resultMap id="boardMasterList" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="tmplatId" column="TMPLAT_ID"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="boardMasterDetail" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="bbsIntrcn" column="BBS_INTRCN"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="atchPosblFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="atchPosblFileSize" column="ATCH_POSBL_FILE_SIZE"/> + <result property="tmplatId" column="TMPLAT_ID"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE_NM"/> + <result property="tmplatNm" column="TMPLAT_NM"/> + <result property="authFlag" column="AUTH_FLAG"/> + <result property="tmplatCours" column="TMPLAT_COURS"/> + <result property="cmmntyId" column="CMMNTY_ID"/> + <result property="blogId" column="BLOG_ID"/> + </resultMap> + + <resultMap id="boardMasterAll" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="tmplatId" column="TMPLAT_ID"/> + </resultMap> + + <resultMap id="BlogList" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + <result property="registSeCode" column="REGIST_SE_CODE"/> + <result property="registSeCodeNm" column="REGIST_SE_CODE_NM"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="selectBlogDetail" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID" /> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + <result property="blogIntrcn" column="BLOG_INTRCN"/> + </resultMap> + + <resultMap id="selectBlogUser" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="BlogListPortlet" type="egovframework.com.cop.bbs.service.BlogVO"> + <result property="blogId" column="BLOG_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="blogNm" column="BLOG_NM"/> + </resultMap> + + <resultMap id="BBSListPortlet" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsTyCodeNm" column="BBS_TY_CODE"/> + <result property="bbsNm" column="BBS_NM"/> + </resultMap> + + <insert id="insertBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + INSERT INTO COMTNBBSMASTER + (BBS_ID, BBS_TY_CODE, BBS_NM, BBS_INTRCN, + REPLY_POSBL_AT, FILE_ATCH_POSBL_AT, ATCH_POSBL_FILE_NUMBER, + TMPLAT_ID, USE_AT, CMMNTY_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, BLOG_ID, BLOG_AT ) + VALUES + ( #{bbsId}, #{bbsTyCode}, #{bbsNm}, #{bbsIntrcn}, + #{replyPosblAt}, #{fileAtchPosblAt}, #{atchPosblFileNumber}, + #{tmplatId}, #{useAt}, #{cmmntyId}, #{frstRegisterId}, SYSDATE, #{blogId}, #{blogAt} + ) + + </insert> + + <select id="selectBBSMasterList" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="boardMasterList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM, + a.BBS_NM, + a.TMPLAT_ID, a.USE_AT, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + d.USER_NM AS FRST_REGISTER_NM + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM + COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) d + ON a.FRST_REGISTER_ID = d.ESNTL_ID + WHERE 1=1 + <if test='cmmntyId != null and cmmntyId != ""'> + AND a.CMMNTY_ID = #{cmmntyId} + </if> + <if test="searchCnd == 0">AND + a.BBS_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + b.CODE_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.FRST_REGIST_PNTTM DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectBBSMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.BBS_ID) + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM + COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + WHERE 1=1 + <if test='cmmntyId != null and cmmntyId != ""'>AND + a.CMMNTY_ID = #{cmmntyId} + </if> + <if test="searchCnd == 0">AND + a.BBS_NM LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + a.BBS_INTRCN LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectBBSMasterDetail" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="boardMasterDetail"> + + SELECT + a.BBS_ID, a.BBS_TY_CODE, b.CODE_NM as BBS_TY_CODE_NM, a.BBS_INTRCN, + a.BBS_NM, + a.TMPLAT_ID, d.TMPLAT_NM, d.TMPLAT_COURS, a.FILE_ATCH_POSBL_AT, a.ATCH_POSBL_FILE_NUMBER, + a.ATCH_POSBL_FILE_SIZE, a.REPLY_POSBL_AT, a.FRST_REGISTER_ID, e.USER_NM as FRST_REGISTER_NM, a.CMMNTY_ID, + a.USE_AT, TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM + ,(SELECT NVL(USE_AT,'N') FROM COMTNBBSUSE + WHERE BBS_ID = #{bbsId} + AND TRGET_ID IN (#{uniqId}, 'SYSTEM_DEFAULT_BOARD') + ) as AUTH_FLAG + FROM + COMTNBBSMASTER a + LEFT OUTER JOIN + (SELECT CODE_ID, CODE, CODE_NM FROM COMTCCMMNDETAILCODE WHERE CODE_ID = 'COM101' AND USE_AT='Y') b + ON a.BBS_TY_CODE = b.CODE + LEFT OUTER JOIN COMTNTMPLATINFO d + ON a.TMPLAT_ID = d.TMPLAT_ID + LEFT OUTER JOIN COMVNUSERMASTER e + ON a.FRST_REGISTER_ID = e.ESNTL_ID + WHERE a.BBS_ID = #{bbsId} + + </select> + + <update id="updateBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + UPDATE COMTNBBSMASTER SET + BBS_NM = #{bbsNm}, + BBS_INTRCN = #{bbsIntrcn}, + BBS_TY_CODE = #{bbsTyCode}, + FILE_ATCH_POSBL_AT = #{fileAtchPosblAt}, + ATCH_POSBL_FILE_NUMBER = #{atchPosblFileNumber}, + ATCH_POSBL_FILE_SIZE = #{atchPosblFileSize}, + TMPLAT_ID = #{tmplatId}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE, + USE_AT = #{useAt} + WHERE BBS_ID = #{bbsId} + + </update> + + <update id="deleteBBSMaster" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO"> + + UPDATE COMTNBBSMASTER SET + USE_AT = 'N', + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE + WHERE BBS_ID = #{bbsId} + + </update> + + <select id="selectBlogMasterList" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="BlogList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.BLOG_ID, a.BLOG_NM, a.USE_AT, a.REGIST_SE_CODE, + c.CODE_NM as REGIST_SE_CODE_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.FRST_REGISTER_ID, + b.USER_NM as FRST_REGISTER_NM, + a.BBS_ID, d.AUTHOR_CODE + FROM + COMTNBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.REGIST_SE_CODE = c.CODE + LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS d + ON a.FRST_REGISTER_ID = d.SCRTY_DTRMN_TRGET_ID + WHERE c.CODE_ID = 'COM001' + + <if test="searchCnd == 0">AND + a.BLOG_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.FRST_REGIST_PNTTM DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectBlogMasterListTotCnt" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultType="java.lang.Integer"> + + SELECT + COUNT(*) + FROM + COMTNBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.REGIST_SE_CODE = c.CODE + LEFT OUTER JOIN COMTNEMPLYRSCRTYESTBS d + ON a.FRST_REGISTER_ID = d.SCRTY_DTRMN_TRGET_ID + WHERE c.CODE_ID = 'COM001' + + <if test="searchCnd == 0">AND + a.BLOG_NM LIKE '%' || #{searchWrd} || '%' + </if> + + </select> + + <select id="selectBlogDetail" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="selectBlogDetail"> + SELECT + BLOG_ID, BBS_ID, BLOG_NM, BLOG_INTRCN + FROM + COMTNBLOG + WHERE BLOG_ID = #{blogId} + </select> + + <select id="checkExistUser" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultType="java.lang.Integer"> + + SELECT COUNT(FRST_REGISTER_ID) + FROM + COMTNBLOG + WHERE FRST_REGISTER_ID = #{frstRegisterId} + + </select> + + <select id="checkExistUser2" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="selectBlogUser"> + + SELECT + FRST_REGISTER_ID + FROM + COMTNBLOG + WHERE FRST_REGISTER_ID = #{frstRegisterId} + + </select> + + <insert id="insertBoardBlogUserRqst" parameterType="egovframework.com.cop.bbs.service.BlogUser"> + + INSERT INTO COMTNBLOGUSER + (BLOG_ID, EMPLYR_ID, MNGR_AT, SBSCRB_DE, + MBER_STTUS, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID) + VALUES (#{blogId}, #{emplyrId}, #{mngrAt}, SYSDATE, + #{mberSttus}, #{useAt}, SYSDATE, #{frstRegisterId}) + + </insert> + + <insert id="insertBlogMaster" parameterType="egovframework.com.cop.bbs.service.BlogVO"> + + INSERT INTO COMTNBLOG + (BLOG_ID, BLOG_NM, BLOG_INTRCN, REGIST_SE_CODE, + TMPLAT_ID, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM, BBS_ID, BLOG_AT) + VALUES + (#{blogId}, #{blogNm}, #{blogIntrcn}, #{registSeCode}, + #{tmplatId}, #{useAt}, #{frstRegisterId}, SYSDATE, #{bbsId}, #{blogAt}) + + </insert> + + <select id="selectBlogListPortlet" parameterType="egovframework.com.cop.bbs.service.BlogVO" resultMap="BlogListPortlet"> + + SELECT + BLOG_ID, BBS_ID, BLOG_NM, FRST_REGIST_PNTTM + FROM + COMTNBLOG + WHERE USE_AT = 'Y' + ORDER BY FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectBBSListPortlet" parameterType="egovframework.com.cop.bbs.service.BoardMasterVO" resultMap="BBSListPortlet"> + + SELECT + BBS_ID, BBS_TY_CODE, BBS_NM, FRST_REGIST_PNTTM + FROM + COMTNBBSMASTER + WHERE USE_AT = 'Y' + ORDER BY FRST_REGIST_PNTTM DESC + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovBBSMaster_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_altibase.xml (revision 7) @@ -0,0 +1,604 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.09.07 서준식 NTCE_BGNDE, NTCE_ENDDE 컬럼 빈공간에 의한 비교 오류 때문에 Rtrim() 추가 + 2011.09.21 서준식 selectMaxNttId문에 COMMIT 될때까지 LOCK설정 + 2011.09.21 서준식 NTT_ID를 IDGENT서비스를 사용해서 생성하므로 selectMaxNttId문은 실제 사용하지 않음 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BBSArticle"> + + <resultMap id="boardList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="inqireCo" column="RDCNT"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + </resultMap> + + <resultMap id="boardDetail" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="ntcrId" column="NTCR_ID"/> + <result property="ntcrNm" column="NTCR_NM"/> + <result property="nttNo" column="NTT_NO"/> + <result property="nttCn" column="NTT_CN"/> + <result property="password" column="PASSWORD"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="inqireCo" column="RDCNT"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="posblAtchFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + </resultMap> + + <resultMap id="sortList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="nttNo" column="NTT_NO"/> + <result property="replyLc" column="ANSWER_LC"/> + </resultMap> + + <resultMap id="guestList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="nttCn" column="NTT_CN"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="detailCn" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="ntcrId" column="NTCR_ID"/> + <result property="ntcrNm" column="NTCR_NM"/> + <result property="nttNo" column="NTT_NO"/> + <result property="nttCn" column="NTT_CN"/> + <result property="password" column="PASSWORD"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="inqireCo" column="RDCNT"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="sortOrdr" column="SORT_ORDR"/> + <result property="bbsTyCode" column="BBS_TY_CODE"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="fileAtchPosblAt" column="FILE_ATCH_POSBL_AT"/> + <result property="posblAtchFileNumber" column="ATCH_POSBL_FILE_NUMBER"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + </resultMap> + + <resultMap id="boardCnOne" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="nttCn" column="NTT_CN"/> + </resultMap> + + <resultMap id="boardMasterList" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsNm" column="BBS_NM"/> + </resultMap> + + <resultMap id="boardBlogManager" type="egovframework.com.cop.bbs.service.BoardMasterVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="bbsNm" column="BBS_NM"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + </resultMap> + + <resultMap id="boardSubJectList" type="egovframework.com.cop.bbs.service.BoardVO"> + <result property="bbsId" column="BBS_ID"/> + <result property="nttId" column="NTT_ID"/> + <result property="nttSj" column="NTT_SJ"/> + <result property="frstRegisterId" column="FRST_REGISTER_ID"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="inqireCo" column="RDCNT"/> + <result property="parnts" column="PARNTSCTT_NO"/> + <result property="replyAt" column="ANSWER_AT"/> + <result property="replyLc" column="ANSWER_LC"/> + <result property="useAt" column="USE_AT"/> + <result property="atchFileId" column="ATCH_FILE_ID"/> + <result property="ntceBgnde" column="NTCE_BGNDE"/> + <result property="ntceEndde" column="NTCE_ENDDE"/> + <result property="sjBoldAt" column="SJ_BOLD_AT"/> + <result property="noticeAt" column="NOTICE_AT"/> + <result property="secretAt" column="SECRET_AT"/> + <result property="commentCo" column="COMMENT_CO"/> + <result property="replyPosblAt" column="REPLY_POSBL_AT"/> + <result property="blogId" column="BLOG_ID"/> + </resultMap> + + + <select id="selectMaxNttId" resultType="java.lang.Long"> + + SELECT NVL(NTT_ID,0)+1 AS NTT_ID FROM COMTNBBS WHERE NTT_ID=(SELECT MAX(NTT_ID) AS NTT_ID FROM COMTNBBS) FOR UPDATE WAIT 3 + + </select> + + <insert id="insertArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + <selectKey keyProperty="nttNo" resultType="java.lang.Long" order="BEFORE"> + SELECT NVL(MAX(SORT_ORDR),0)+1 AS NTT_NO FROM COMTNBBS + WHERE BBS_ID = #{bbsId} + </selectKey> + + INSERT INTO COMTNBBS + (NTT_ID, BBS_ID, NTT_SJ, NTT_CN, SORT_ORDR, + NTCR_ID, NTCR_NM, PASSWORD, RDCNT, + NTCE_BGNDE, NTCE_ENDDE, ANSWER_AT, + PARNTSCTT_NO, NTT_NO, ANSWER_LC, ATCH_FILE_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, USE_AT, + SJ_BOLD_AT, NOTICE_AT, SECRET_AT + ) + VALUES + ( #{nttId}, #{bbsId}, #{nttSj}, #{nttCn}, #{nttId}, + #{ntcrId}, #{ntcrNm}, #{password}, #{inqireCo}, + #{ntceBgnde}, #{ntceEndde}, #{replyAt}, + #{parnts}, 1, #{replyLc}, #{atchFileId}, + #{frstRegisterId}, SYSDATE, 'Y', + #{sjBoldAt}, #{noticeAt}, #{secretAt} + ) + + </insert> + + <insert id="replyArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + <selectKey keyProperty="nttNo" resultType="java.lang.Long" order="BEFORE"> + SELECT NVL(MAX(NTT_NO),0)+1 AS NTT_NO FROM COMTNBBS + WHERE BBS_ID = #{bbsId} AND SORT_ORDR = #{sortOrdr} + </selectKey> + + INSERT INTO COMTNBBS + (NTT_ID, BBS_ID, NTT_SJ, NTT_CN, SORT_ORDR, + NTCR_ID, NTCR_NM, PASSWORD, RDCNT, + NTCE_BGNDE, NTCE_ENDDE, ANSWER_AT, + PARNTSCTT_NO, NTT_NO, ANSWER_LC, ATCH_FILE_ID, + FRST_REGISTER_ID, FRST_REGIST_PNTTM, USE_AT, + SJ_BOLD_AT, NOTICE_AT, SECRET_AT + ) + VALUES + ( #{nttId}, #{bbsId}, #{nttSj}, #{nttCn}, #{sortOrdr}, + #{ntcrId}, #{ntcrNm}, #{password}, #{inqireCo}, + #{ntceBgnde}, #{ntceEndde}, #{replyAt}, + #{parnts}, 1, #{replyLc}, #{atchFileId}, + #{frstRegisterId}, SYSDATE, 'Y', + #{sjBoldAt}, #{noticeAt}, #{secretAt} + ) + + </insert> + + <select id="selectArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, rtrim(a.NTCE_BGNDE) NTCE_BGNDE, rtrim(a.NTCE_ENDDE) NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + AND a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + + <if test="searchCnd == 0">AND + a.NTT_SJ LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + a.NTT_CN LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 2">AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectArticleListCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(a.NTT_ID) as cnt + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + + <if test="searchCnd == 0">AND + a.NTT_SJ LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 1">AND + a.NTT_CN LIKE '%' || #{searchWrd} || '%' + </if> + <if test="searchCnd == 2">AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' + </if> + </select> + + <select id="selectArticleDetail" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardDetail"> + + SELECT + a.NTT_SJ, a.NTCR_ID, a.NTCR_NM, a.NTT_NO, a.NTT_CN, + a.PASSWORD, a.FRST_REGISTER_ID, b.USER_NM as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.NTCE_BGNDE, a.NTCE_ENDDE, a.RDCNT, + a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTT_ID, + a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, + a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.SORT_ORDR, + c.BBS_TY_CODE, c.REPLY_POSBL_AT, + c.FILE_ATCH_POSBL_AT, c.ATCH_POSBL_FILE_NUMBER, c.BBS_NM + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.NTT_ID = #{nttId} + AND a.USE_AT = 'Y' + + </select> + + <update id="updateArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + NTT_SJ = #{nttSj}, + NTT_CN = #{nttCn}, + NTCE_BGNDE = #{ntceBgnde}, + NTCE_ENDDE = #{ntceEndde}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + ATCH_FILE_ID = #{atchFileId}, + LAST_UPDT_PNTTM = SYSDATE, + SJ_BOLD_AT = #{sjBoldAt}, + NOTICE_AT = #{noticeAt}, + SECRET_AT = #{secretAt} + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <update id="deleteArticle" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + NTT_SJ = #{nttSj}, + USE_AT = 'N', + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <select id="selectMaxInqireCo" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT NVL(MAX(RDCNT),0)+1 AS RDCNT FROM COMTNBBS + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </select> + + + <update id="updateInqireCo" parameterType="egovframework.com.cop.bbs.service.BoardVO"> + + UPDATE COMTNBBS SET + RDCNT = #{inqireCo}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE + WHERE BBS_ID = #{bbsId} + AND NTT_ID = #{nttId} + + </update> + + <select id="selectNoticeArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, rtrim(a.NTCE_BGNDE) NTCE_BGNDE, rtrim(a.NTCE_ENDDE) NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + AND a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + AND a.NOTICE_AT = 'Y' + + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + ) TB ) WHERE rn BETWEEN 1 AND 5 + + </select> + + <select id="selectGuestArticleList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="guestList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH:MI:SS') as FRST_REGIST_PNTTM, + a.NTT_CN, a.USE_AT, a.BBS_ID, b.USER_NM as FRST_REGISTER_NM, a.FRST_REGISTER_ID + FROM + COMTNBBS a, COMVNUSERMASTER b + WHERE + a.BBS_ID = #{bbsId} + AND + a.FRST_REGISTER_ID = b.ESNTL_ID + AND + a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, a.NTT_NO ASC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectGuestArticleListCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(NTT_ID) + FROM + COMTNBBS + WHERE + BBS_ID = #{bbsId} + AND + USE_AT = 'Y' + + </select> + + <select id="selectArticleDetailCn" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="detailCn"> + + SELECT + a.NTT_SJ, a.NTCR_ID, a.NTCR_NM, a.NTT_NO, a.NTT_CN, + a.PASSWORD, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.NTCE_BGNDE, a.NTCE_ENDDE, a.RDCNT, + a.USE_AT, a.ATCH_FILE_ID, a.BBS_ID, a.NTT_ID, + a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, + a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.SORT_ORDR, + c.BBS_TY_CODE, c.REPLY_POSBL_AT, + c.FILE_ATCH_POSBL_AT, c.ATCH_POSBL_FILE_NUMBER, c.BBS_NM + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + + </select> + + <select id="selectLoginUser" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(FRST_REGISTER_ID) + FROM + COMTNBLOG + WHERE + FRST_REGISTER_ID = #{frstRegisterId} + AND + BLOG_ID = #{blogId} + + </select> + + <select id="selectBlogListManager" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardBlogManager"> + + SELECT + A.BBS_ID, A.BLOG_ID, A.BBS_NM, C.USER_NM AS FRST_REGISTER_NM, + DATE_FORMAT(A.FRST_REGIST_PNTTM, '%Y-%m-%d') as FRST_REGIST_PNTTM, + A.USE_AT + FROM + COMTNBBSMASTER A + LEFT OUTER JOIN + COMTNBLOG B + ON A.BLOG_ID = B.BLOG_ID + LEFT OUTER JOIN + (SELECT ESNTL_ID, USER_ID, USER_NM FROM COMVNUSERMASTER) C + ON A.FRST_REGISTER_ID = C.ESNTL_ID + WHERE A.BLOG_ID = #{blogId} + <if test="searchCnd == 0">AND + A.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + A.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + ORDER BY A.FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectBlogListManagerCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(1) + FROM + COMTNBBSMASTER A, COMTNBLOG B + WHERE A.BLOG_ID = B.BLOG_ID + AND B.BLOG_ID = #{blogId} + <if test="searchCnd == 0">AND + A.BBS_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + <if test="searchCnd == 1">AND + A.BBS_INTRCN LIKE CONCAT ('%', #{searchWrd},'%') + </if> + ORDER BY A.FRST_REGIST_PNTTM DESC + + </select> + + <select id="selectArticleCnOne" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardCnOne"> + + SELECT + a.NTT_CN + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + COMTNBBSMASTER c + ON a.BBS_ID = c.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND + a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC + LIMIT 1 + + </select> + + <select id="selectBlogNmList" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardMasterList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + A.BBS_ID, A.BLOG_ID, A.BBS_NM + FROM + COMTNBBSMASTER A, COMTNBLOG B + WHERE A.BLOG_ID = B.BLOG_ID + AND B.BLOG_ID = #{blogId} + ORDER BY A.FRST_REGIST_PNTTM DESC + ) TB ) WHERE rn BETWEEN 1 AND 7 + + </select> + + <select id="selectArticleDetailDefault" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultMap="boardSubJectList"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.NTT_ID, a.NTT_SJ, a.NTT_CN, a.FRST_REGISTER_ID, NVL(b.USER_NM, a.NTCR_NM) as FRST_REGISTER_NM, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD') as FRST_REGIST_PNTTM, + a.RDCNT, a.PARNTSCTT_NO, a.ANSWER_AT, a.ANSWER_LC, a.USE_AT, a.ATCH_FILE_ID, + a.BBS_ID, a.NTCE_BGNDE, a.NTCE_ENDDE, a.SJ_BOLD_AT, a.NOTICE_AT, a.SECRET_AT, c.COMMENT_CO, + a.NTCR_ID, d.BLOG_ID, d.REPLY_POSBL_AT + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + LEFT OUTER JOIN + COMTNBBSMASTER d + ON a.BBS_ID = d.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + <if test="searchCnd == 5"> + ) TB ) WHERE rn BETWEEN 1 AND 5 + </if> + <if test="searchCnd == 10"> + ) TB ) WHERE rn BETWEEN 1 AND 10 + </if> + <if test="searchCnd == 15"> + ) TB ) WHERE rn BETWEEN 1 AND 15 + </if> + <if test="searchCnd == 20"> + ) TB ) WHERE rn BETWEEN 1 AND 20 + </if> + <if test="searchCnd == 30"> + ) TB ) WHERE rn BETWEEN 1 AND 30 + </if> + + </select> + + <select id="selectArticleDetailDefaultCnt" parameterType="egovframework.com.cop.bbs.service.BoardVO" resultType="java.lang.Integer"> + + SELECT + COUNT(*) + FROM + COMTNBBS a + LEFT OUTER JOIN + COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + LEFT OUTER JOIN + (SELECT NTT_ID, BBS_ID, COUNT(1) AS COMMENT_CO + FROM COMTNCOMMENT + WHERE USE_AT = 'Y' + GROUP BY NTT_ID, BBS_ID) c + ON a.NTT_ID = c.NTT_ID + LEFT OUTER JOIN + COMTNBBSMASTER d + ON a.BBS_ID = d.BBS_ID + WHERE + a.BBS_ID = #{bbsId} + AND a.USE_AT = 'Y' + ORDER BY a.SORT_ORDR DESC, NTT_NO ASC + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/bbs/EgovArticle_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_postgres.xml (revision 7) @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.9.7 정진오 resultMap id="commentDetail" : FRST_REGISTER_ID -> FRST_REGISTER_NM + "selectComment" : FRST_REGISTER_ID -> FRST_REGISTER_NM + 오라클 SQL MAP과 일치하도록 하기 위해 수정함 + 2011.10.18 서준식 insertComment : select key 태그 삭제 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="ArticleComment"> + + <resultMap id="commentList" type="egovframework.com.cop.cmt.service.CommentVO"> + <result property="commentNo" column="ANSWER_NO"/> + <result property="nttId" column="NTT_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="wrterId" column="WRTER_ID"/> + <result property="wrterNm" column="WRTER_NM"/> + <result property="commentPassword" column="PASSWORD"/> + <result property="commentCn" column="ANSWER"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="frstRegisterNm" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="commentDetail" type="egovframework.com.cop.cmt.service.CommentVO"> + <result property="commentNo" column="ANSWER_NO"/> + <result property="nttId" column="NTT_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="wrterId" column="WRTER_ID"/> + <result property="wrterNm" column="WRTER_NM"/> + <result property="commentPassword" column="PASSWORD"/> + <result property="commentCn" column="ANSWER"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + </resultMap> + + <select id="selectArticleCommentList" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultMap="commentList"> + + SELECT + a.ANSWER_NO, a.NTT_ID, a.BBS_ID, + a.WRTER_ID, a.WRTER_NM, a.PASSWORD, a.ANSWER, a.USE_AT, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-mm-dd HH24:MI:SS') + as FRST_REGIST_PNTTM, + b.USER_NM as FRST_REGISTER_ID + FROM + COMTNCOMMENT a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.BBS_ID = #{bbsId} AND a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + ORDER BY a.FRST_REGIST_PNTTM ASC + LIMIT #{subRecordCountPerPage} OFFSET #{subFirstIndex} + + </select> + + <select id="selectArticleCommentListCnt" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultType="java.lang.Integer"> + + SELECT + COUNT(ANSWER_NO) + FROM + COMTNCOMMENT + WHERE + BBS_ID = #{bbsId} AND NTT_ID = #{nttId} + AND + USE_AT = 'Y' + + </select> + + <insert id="insertArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + + INSERT INTO COMTNCOMMENT + (ANSWER_NO, NTT_ID, BBS_ID, WRTER_ID, WRTER_NM, PASSWORD, + ANSWER, USE_AT, + FRST_REGISTER_ID, FRST_REGIST_PNTTM + ) + VALUES + ( CAST(#{commentNo} AS NUMERIC), #{nttId}, #{bbsId}, #{wrterId}, #{wrterNm}, #{commentPassword}, + #{commentCn}, 'Y', + #{frstRegisterId}, NOW() + ) + + </insert> + + <update id="deleteArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + UPDATE COMTNCOMMENT + SET USE_AT = 'N' + WHERE ANSWER_NO = CAST(#{commentNo} AS NUMERIC) + + </update> + + <select id="selectArticleCommentDetail" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultMap="commentDetail"> + + SELECT + a.ANSWER_NO, a.NTT_ID, a.BBS_ID, + a.WRTER_ID, a.WRTER_NM, a.PASSWORD, a.ANSWER, a.USE_AT, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-mm-dd HH24:MI:SS') + as FRST_REGIST_PNTTM, + b.USER_NM as FRST_REGISTER_NM + FROM + COMTNCOMMENT a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.ANSWER_NO = CAST(#{commentNo} AS NUMERIC) + + + </select> + + <update id="updateArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + UPDATE COMTNCOMMENT SET + ANSWER = #{commentCn}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = NOW() + WHERE ANSWER_NO = CAST(#{commentNo} AS NUMERIC) + + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_maria.xml (revision 7) @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.9.7 정진오 resultMap id="commentDetail" : FRST_REGISTER_ID -> FRST_REGISTER_NM + "selectComment" : FRST_REGISTER_ID -> FRST_REGISTER_NM + 오라클 SQL MAP과 일치하도록 하기 위해 수정함 + 2011.10.18 서준식 insertComment : select key 태그 삭제 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="ArticleComment"> + + <resultMap id="commentList" type="egovframework.com.cop.cmt.service.CommentVO"> + <result property="commentNo" column="ANSWER_NO"/> + <result property="nttId" column="NTT_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="wrterId" column="WRTER_ID"/> + <result property="wrterNm" column="WRTER_NM"/> + <result property="commentPassword" column="PASSWORD"/> + <result property="commentCn" column="ANSWER"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="frstRegisterNm" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="commentDetail" type="egovframework.com.cop.cmt.service.CommentVO"> + <result property="commentNo" column="ANSWER_NO"/> + <result property="nttId" column="NTT_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="wrterId" column="WRTER_ID"/> + <result property="wrterNm" column="WRTER_NM"/> + <result property="commentPassword" column="PASSWORD"/> + <result property="commentCn" column="ANSWER"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + </resultMap> + + <select id="selectArticleCommentList" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultMap="commentList"> + + SELECT + a.ANSWER_NO, a.NTT_ID, a.BBS_ID, + a.WRTER_ID, a.WRTER_NM, a.PASSWORD, a.ANSWER, a.USE_AT, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d %H:%i:%S') + as FRST_REGIST_PNTTM, + b.USER_NM as FRST_REGISTER_ID + FROM + COMTNCOMMENT a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.BBS_ID = #{bbsId} AND a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + ORDER BY a.FRST_REGIST_PNTTM ASC + LIMIT #{subRecordCountPerPage} OFFSET #{subFirstIndex} + + </select> + + <select id="selectArticleCommentListCnt" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultType="java.lang.Integer"> + + SELECT + COUNT(ANSWER_NO) + FROM + COMTNCOMMENT + WHERE + BBS_ID = #{bbsId} AND NTT_ID = #{nttId} + AND + USE_AT = 'Y' + + </select> + + <insert id="insertArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + + INSERT INTO COMTNCOMMENT + (ANSWER_NO, NTT_ID, BBS_ID, WRTER_ID, WRTER_NM, PASSWORD, + ANSWER, USE_AT, + FRST_REGISTER_ID, FRST_REGIST_PNTTM + ) + VALUES + ( #{commentNo}, #{nttId}, #{bbsId}, #{wrterId}, #{wrterNm}, #{commentPassword}, + #{commentCn}, 'Y', + #{frstRegisterId}, SYSDATE() + ) + + </insert> + + <update id="deleteArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + UPDATE COMTNCOMMENT + SET USE_AT = 'N' + WHERE ANSWER_NO = #{commentNo} + + </update> + + <select id="selectArticleCommentDetail" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultMap="commentDetail"> + + SELECT + a.ANSWER_NO, a.NTT_ID, a.BBS_ID, + a.WRTER_ID, a.WRTER_NM, a.PASSWORD, a.ANSWER, a.USE_AT, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d %H:%i:%S') + as FRST_REGIST_PNTTM, + b.USER_NM as FRST_REGISTER_NM + FROM + COMTNCOMMENT a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.ANSWER_NO = #{commentNo} + + + </select> + + <update id="updateArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + UPDATE COMTNCOMMENT SET + ANSWER = #{commentCn}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE() + WHERE ANSWER_NO = #{commentNo} + + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_cubrid.xml (revision 7) @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.9.7 정진오 resultMap id="commentDetail" : FRST_REGISTER_ID -> FRST_REGISTER_NM + "selectComment" : FRST_REGISTER_NM + 두 요소간 불일치로 인한 에러 발생 수정 + 2011.10.18 서준식 insertComment : select key 태그 삭제 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="ArticleComment"> + + <resultMap id="commentList" type="egovframework.com.cop.cmt.service.CommentVO"> + <result property="commentNo" column="ANSWER_NO"/> + <result property="nttId" column="NTT_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="wrterId" column="WRTER_ID"/> + <result property="wrterNm" column="WRTER_NM"/> + <result property="commentPassword" column="PASSWORD"/> + <result property="commentCn" column="ANSWER"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="frstRegisterNm" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="commentDetail" type="egovframework.com.cop.cmt.service.CommentVO"> + <result property="commentNo" column="ANSWER_NO"/> + <result property="nttId" column="NTT_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="wrterId" column="WRTER_ID"/> + <result property="wrterNm" column="WRTER_NM"/> + <result property="commentPassword" column="PASSWORD"/> + <result property="commentCn" column="ANSWER"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + </resultMap> + + <select id="selectArticleCommentList" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultMap="commentList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ANSWER_NO, a.NTT_ID, a.BBS_ID, + a.WRTER_ID, a.WRTER_NM, a.PASSWORD, a.ANSWER, a.USE_AT, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI:SS') + as FRST_REGIST_PNTTM, + b.USER_NM as FRST_REGISTER_ID + FROM + COMTNCOMMENT a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.BBS_ID = #{bbsId} AND a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + ORDER BY a.FRST_REGIST_PNTTM ASC + ) TB ) Z WHERE rn BETWEEN #{subFirstIndex} + 1 AND #{subFirstIndex} + #{subRecordCountPerPage} + + </select> + + <select id="selectArticleCommentListCnt" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultType="java.lang.Integer"> + + SELECT + COUNT(ANSWER_NO) + FROM + COMTNCOMMENT + WHERE + BBS_ID = #{bbsId} AND NTT_ID = #{nttId} + AND + USE_AT = 'Y' + + </select> + + <insert id="insertArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + + INSERT INTO COMTNCOMMENT + (ANSWER_NO, NTT_ID, BBS_ID, WRTER_ID, WRTER_NM, PASSWORD, + ANSWER, USE_AT, + FRST_REGISTER_ID, FRST_REGIST_PNTTM + ) + VALUES + ( #{commentNo}, #{nttId}, #{bbsId}, #{wrterId}, #{wrterNm}, #{commentPassword}, + #{commentCn}, 'Y', + #{frstRegisterId}, SYSDATETIME + ) + + </insert> + + <update id="deleteArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + UPDATE COMTNCOMMENT + SET USE_AT = 'N' + WHERE ANSWER_NO = #{commentNo} + + </update> + + <select id="selectArticleCommentDetail" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultMap="commentDetail"> + + SELECT + a.ANSWER_NO, a.NTT_ID, a.BBS_ID, + a.WRTER_ID, a.WRTER_NM, a.PASSWORD, a.ANSWER, a.USE_AT, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI:SS') + as FRST_REGIST_PNTTM, + b.USER_NM as FRST_REGISTER_NM + FROM + COMTNCOMMENT a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.ANSWER_NO = #{commentNo} + + + </select> + + <update id="updateArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + UPDATE COMTNCOMMENT SET + ANSWER = #{commentCn}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATETIME + WHERE ANSWER_NO = #{commentNo} + + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_oracle.xml (revision 7) @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.9.7 정진오 resultMap id="commentDetail" : FRST_REGISTER_ID -> FRST_REGISTER_NM + "selectComment" : FRST_REGISTER_NM + 두 요소간 불일치로 인한 에러 발생 수정 + 2011.10.18 서준식 insertComment : select key 태그 삭제 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="ArticleComment"> + + <resultMap id="commentList" type="egovframework.com.cop.cmt.service.CommentVO"> + <result property="commentNo" column="ANSWER_NO"/> + <result property="nttId" column="NTT_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="wrterId" column="WRTER_ID"/> + <result property="wrterNm" column="WRTER_NM"/> + <result property="commentPassword" column="PASSWORD"/> + <result property="commentCn" column="ANSWER"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="frstRegisterNm" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="commentDetail" type="egovframework.com.cop.cmt.service.CommentVO"> + <result property="commentNo" column="ANSWER_NO"/> + <result property="nttId" column="NTT_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="wrterId" column="WRTER_ID"/> + <result property="wrterNm" column="WRTER_NM"/> + <result property="commentPassword" column="PASSWORD"/> + <result property="commentCn" column="ANSWER"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + </resultMap> + + <select id="selectArticleCommentList" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultMap="commentList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ANSWER_NO, a.NTT_ID, a.BBS_ID, + a.WRTER_ID, a.WRTER_NM, a.PASSWORD, a.ANSWER, a.USE_AT, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI:SS') + as FRST_REGIST_PNTTM, + b.USER_NM as FRST_REGISTER_ID + FROM + COMTNCOMMENT a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.BBS_ID = #{bbsId} AND a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + ORDER BY a.FRST_REGIST_PNTTM ASC + ) TB ) WHERE rn BETWEEN #{subFirstIndex} + 1 AND #{subFirstIndex} + #{subRecordCountPerPage} + + </select> + + <select id="selectArticleCommentListCnt" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultType="java.lang.Integer"> + + SELECT + COUNT(ANSWER_NO) + FROM + COMTNCOMMENT + WHERE + BBS_ID = #{bbsId} AND NTT_ID = #{nttId} + AND + USE_AT = 'Y' + + </select> + + <insert id="insertArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + + INSERT INTO COMTNCOMMENT + (ANSWER_NO, NTT_ID, BBS_ID, WRTER_ID, WRTER_NM, PASSWORD, + ANSWER, USE_AT, + FRST_REGISTER_ID, FRST_REGIST_PNTTM + ) + VALUES + ( #{commentNo}, #{nttId}, #{bbsId}, #{wrterId}, #{wrterNm}, #{commentPassword}, + #{commentCn}, 'Y', + #{frstRegisterId}, SYSDATE + ) + + </insert> + + <update id="deleteArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + UPDATE COMTNCOMMENT + SET USE_AT = 'N' + WHERE ANSWER_NO = #{commentNo} + + </update> + + <select id="selectArticleCommentDetail" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultMap="commentDetail"> + + SELECT + a.ANSWER_NO, a.NTT_ID, a.BBS_ID, + a.WRTER_ID, a.WRTER_NM, a.PASSWORD, a.ANSWER, a.USE_AT, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI:SS') + as FRST_REGIST_PNTTM, + b.USER_NM as FRST_REGISTER_NM + FROM + COMTNCOMMENT a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.ANSWER_NO = #{commentNo} + + + </select> + + <update id="updateArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + UPDATE COMTNCOMMENT SET + ANSWER = #{commentCn}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE + WHERE ANSWER_NO = #{commentNo} + + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_altibase.xml (revision 7) @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.9.7 정진오 resultMap id="commentDetail" : FRST_REGISTER_ID -> FRST_REGISTER_NM + "selectComment" : FRST_REGISTER_ID -> FRST_REGISTER_NM + 오라클 SQL MAP과 일치하도록 하기 위해 수정함 + 2011.10.18 서준식 insertComment : select key 태그 삭제 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="ArticleComment"> + + <resultMap id="commentList" type="egovframework.com.cop.cmt.service.CommentVO"> + <result property="commentNo" column="ANSWER_NO"/> + <result property="nttId" column="NTT_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="wrterId" column="WRTER_ID"/> + <result property="wrterNm" column="WRTER_NM"/> + <result property="commentPassword" column="PASSWORD"/> + <result property="commentCn" column="ANSWER"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="frstRegisterNm" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="commentDetail" type="egovframework.com.cop.cmt.service.CommentVO"> + <result property="commentNo" column="ANSWER_NO"/> + <result property="nttId" column="NTT_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="wrterId" column="WRTER_ID"/> + <result property="wrterNm" column="WRTER_NM"/> + <result property="commentPassword" column="PASSWORD"/> + <result property="commentCn" column="ANSWER"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + </resultMap> + + <select id="selectArticleCommentList" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultMap="commentList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ANSWER_NO, a.NTT_ID, a.BBS_ID, + a.WRTER_ID, a.WRTER_NM, a.PASSWORD, a.ANSWER, a.USE_AT, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI:SS') + as FRST_REGIST_PNTTM, + b.USER_NM as FRST_REGISTER_ID + FROM + COMTNCOMMENT a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.BBS_ID = #{bbsId} AND a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + ORDER BY a.FRST_REGIST_PNTTM ASC + ) TB ) WHERE rn BETWEEN #{subFirstIndex} + 1 AND #{subFirstIndex} + #{subRecordCountPerPage} + + </select> + + <select id="selectArticleCommentListCnt" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultType="java.lang.Integer"> + + SELECT + COUNT(ANSWER_NO) as cnt + FROM + COMTNCOMMENT + WHERE + BBS_ID = #{bbsId} AND NTT_ID = #{nttId} + AND + USE_AT = 'Y' + + </select> + + <insert id="insertArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + + INSERT INTO COMTNCOMMENT + (ANSWER_NO, NTT_ID, BBS_ID, WRTER_ID, WRTER_NM, PASSWORD, + ANSWER, USE_AT, + FRST_REGISTER_ID, FRST_REGIST_PNTTM + ) + VALUES + ( #{commentNo}, #{nttId}, #{bbsId}, #{wrterId}, #{wrterNm}, #{commentPassword}, + #{commentCn}, 'Y', + #{frstRegisterId}, SYSDATE + ) + + </insert> + + <update id="deleteArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + UPDATE COMTNCOMMENT + SET USE_AT = 'N' + WHERE ANSWER_NO = #{commentNo} + + </update> + + <select id="selectArticleCommentDetail" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultMap="commentDetail"> + + SELECT + a.ANSWER_NO, a.NTT_ID, a.BBS_ID, + a.WRTER_ID, a.WRTER_NM, a.PASSWORD, a.ANSWER, a.USE_AT, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI:SS') + as FRST_REGIST_PNTTM, + b.USER_NM as FRST_REGISTER_NM + FROM + COMTNCOMMENT a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.ANSWER_NO = #{commentNo} + + + </select> + + <update id="updateArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + UPDATE COMTNCOMMENT SET + ANSWER = #{commentCn}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE + WHERE ANSWER_NO = #{commentNo} + + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_tibero.xml (revision 7) @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.9.7 정진오 resultMap id="commentDetail" : FRST_REGISTER_ID -> FRST_REGISTER_NM + "selectComment" : FRST_REGISTER_ID -> FRST_REGISTER_NM + 오라클 SQL MAP과 일치하도록 하기 위해 수정함 + 2011.10.18 서준식 insertComment : select key 태그 삭제 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="ArticleComment"> + + <resultMap id="commentList" type="egovframework.com.cop.cmt.service.CommentVO"> + <result property="commentNo" column="ANSWER_NO"/> + <result property="nttId" column="NTT_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="wrterId" column="WRTER_ID"/> + <result property="wrterNm" column="WRTER_NM"/> + <result property="commentPassword" column="PASSWORD"/> + <result property="commentCn" column="ANSWER"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="frstRegisterNm" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="commentDetail" type="egovframework.com.cop.cmt.service.CommentVO"> + <result property="commentNo" column="ANSWER_NO"/> + <result property="nttId" column="NTT_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="wrterId" column="WRTER_ID"/> + <result property="wrterNm" column="WRTER_NM"/> + <result property="commentPassword" column="PASSWORD"/> + <result property="commentCn" column="ANSWER"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + </resultMap> + + <select id="selectArticleCommentList" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultMap="commentList"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.ANSWER_NO, a.NTT_ID, a.BBS_ID, + a.WRTER_ID, a.WRTER_NM, a.PASSWORD, a.ANSWER, a.USE_AT, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI:SS') + as FRST_REGIST_PNTTM, + b.USER_NM as FRST_REGISTER_ID + FROM + COMTNCOMMENT a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.BBS_ID = #{bbsId} AND a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + ORDER BY a.FRST_REGIST_PNTTM ASC + ) TB ) WHERE rn BETWEEN #{subFirstIndex} + 1 AND #{subFirstIndex} + #{subRecordCountPerPage} + + </select> + + <select id="selectArticleCommentListCnt" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultType="java.lang.Integer"> + + SELECT + COUNT(ANSWER_NO) + FROM + COMTNCOMMENT + WHERE + BBS_ID = #{bbsId} AND NTT_ID = #{nttId} + AND + USE_AT = 'Y' + + </select> + + <insert id="insertArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + + INSERT INTO COMTNCOMMENT + (ANSWER_NO, NTT_ID, BBS_ID, WRTER_ID, WRTER_NM, PASSWORD, + ANSWER, USE_AT, + FRST_REGISTER_ID, FRST_REGIST_PNTTM + ) + VALUES + ( #{commentNo}, #{nttId}, #{bbsId}, #{wrterId}, #{wrterNm}, #{commentPassword}, + #{commentCn}, 'Y', + #{frstRegisterId}, SYSDATE + ) + + </insert> + + <update id="deleteArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + UPDATE COMTNCOMMENT + SET USE_AT = 'N' + WHERE ANSWER_NO = #{commentNo} + + </update> + + <select id="selectArticleCommentDetail" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultMap="commentDetail"> + + SELECT + a.ANSWER_NO, a.NTT_ID, a.BBS_ID, + a.WRTER_ID, a.WRTER_NM, a.PASSWORD, a.ANSWER, a.USE_AT, + TO_CHAR(a.FRST_REGIST_PNTTM, 'YYYY-MM-DD HH24:MI:SS') + as FRST_REGIST_PNTTM, + b.USER_NM as FRST_REGISTER_NM + FROM + COMTNCOMMENT a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.ANSWER_NO = #{commentNo} + + + </select> + + <update id="updateArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + UPDATE COMTNCOMMENT SET + ANSWER = #{commentCn}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE + WHERE ANSWER_NO = #{commentNo} + + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_mysql.xml (revision 7) @@ -0,0 +1,125 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.9.7 정진오 resultMap id="commentDetail" : FRST_REGISTER_ID -> FRST_REGISTER_NM + "selectComment" : FRST_REGISTER_ID -> FRST_REGISTER_NM + 오라클 SQL MAP과 일치하도록 하기 위해 수정함 + 2011.10.18 서준식 insertComment : select key 태그 삭제 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="ArticleComment"> + + <resultMap id="commentList" type="egovframework.com.cop.cmt.service.CommentVO"> + <result property="commentNo" column="ANSWER_NO"/> + <result property="nttId" column="NTT_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="wrterId" column="WRTER_ID"/> + <result property="wrterNm" column="WRTER_NM"/> + <result property="commentPassword" column="PASSWORD"/> + <result property="commentCn" column="ANSWER"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="frstRegisterNm" column="FRST_REGISTER_ID"/> + </resultMap> + + <resultMap id="commentDetail" type="egovframework.com.cop.cmt.service.CommentVO"> + <result property="commentNo" column="ANSWER_NO"/> + <result property="nttId" column="NTT_ID"/> + <result property="bbsId" column="BBS_ID"/> + <result property="wrterId" column="WRTER_ID"/> + <result property="wrterNm" column="WRTER_NM"/> + <result property="commentPassword" column="PASSWORD"/> + <result property="commentCn" column="ANSWER"/> + <result property="useAt" column="USE_AT"/> + <result property="frstRegisterPnttm" column="FRST_REGIST_PNTTM"/> + <result property="frstRegisterNm" column="FRST_REGISTER_NM"/> + </resultMap> + + <select id="selectArticleCommentList" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultMap="commentList"> + + SELECT + a.ANSWER_NO, a.NTT_ID, a.BBS_ID, + a.WRTER_ID, a.WRTER_NM, a.PASSWORD, a.ANSWER, a.USE_AT, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d %H:%i:%S') + as FRST_REGIST_PNTTM, + b.USER_NM as FRST_REGISTER_ID + FROM + COMTNCOMMENT a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.BBS_ID = #{bbsId} AND a.NTT_ID = #{nttId} + AND + a.USE_AT = 'Y' + ORDER BY a.FRST_REGIST_PNTTM ASC + LIMIT #{subRecordCountPerPage} OFFSET #{subFirstIndex} + + </select> + + <select id="selectArticleCommentListCnt" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultType="java.lang.Integer"> + + SELECT + COUNT(ANSWER_NO) + FROM + COMTNCOMMENT + WHERE + BBS_ID = #{bbsId} AND NTT_ID = #{nttId} + AND + USE_AT = 'Y' + + </select> + + <insert id="insertArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + + INSERT INTO COMTNCOMMENT + (ANSWER_NO, NTT_ID, BBS_ID, WRTER_ID, WRTER_NM, PASSWORD, + ANSWER, USE_AT, + FRST_REGISTER_ID, FRST_REGIST_PNTTM + ) + VALUES + ( #{commentNo}, #{nttId}, #{bbsId}, #{wrterId}, #{wrterNm}, #{commentPassword}, + #{commentCn}, 'Y', + #{frstRegisterId}, SYSDATE() + ) + + </insert> + + <update id="deleteArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + UPDATE COMTNCOMMENT + SET USE_AT = 'N' + WHERE ANSWER_NO = #{commentNo} + + </update> + + <select id="selectArticleCommentDetail" parameterType="egovframework.com.cop.cmt.service.CommentVO" resultMap="commentDetail"> + + SELECT + a.ANSWER_NO, a.NTT_ID, a.BBS_ID, + a.WRTER_ID, a.WRTER_NM, a.PASSWORD, a.ANSWER, a.USE_AT, + DATE_FORMAT(a.FRST_REGIST_PNTTM, '%Y-%m-%d %H:%i:%S') + as FRST_REGIST_PNTTM, + b.USER_NM as FRST_REGISTER_NM + FROM + COMTNCOMMENT a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.FRST_REGISTER_ID = b.ESNTL_ID + WHERE + a.ANSWER_NO = #{commentNo} + + + </select> + + <update id="updateArticleComment" parameterType="egovframework.com.cop.cmt.service.CommentVO"> + + UPDATE COMTNCOMMENT SET + ANSWER = #{commentCn}, + LAST_UPDUSR_ID = #{lastUpdusrId}, + LAST_UPDT_PNTTM = SYSDATE() + WHERE ANSWER_NO = #{commentNo} + + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/cop/cmt/EgovArticleComment_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_mysql.xml (revision 7) @@ -0,0 +1,248 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="entrprsManageDAO"> + + <resultMap id="stplatMap" type="egovframework.com.uss.umt.service.StplatVO"> + <result property="useStplatId" column="USE_STPLAT_ID"/> + <result property="useStplatCn" column="USE_STPLAT_CN"/> + <result property="infoProvdAgeCn" column="INFO_PROVD_AGRE_CN"/> + </resultMap> + + <insert id="insertEntrprs_S"> + + INSERT INTO COMTNENTRPRSMBER + ( ESNTL_ID , + ENTRPRS_MBER_ID , + ENTRPRS_SE_CODE , + BIZRNO , + JURIRNO , + CMPNY_NM , + CXFC , + ZIP , + ADRES , + ENTRPRS_MIDDLE_TELNO , + FXNUM , + INDUTY_CODE , + APPLCNT_NM , + SBSCRB_DE , + ENTRPRS_MBER_STTUS , + ENTRPRS_MBER_PASSWORD , + ENTRPRS_MBER_PASSWORD_HINT , + ENTRPRS_MBER_PASSWORD_CNSR , + GROUP_ID , + DETAIL_ADRES , + ENTRPRS_END_TELNO , + AREA_NO , + APPLCNT_EMAIL_ADRES , + APPLCNT_IHIDNUM , + CHG_PWD_LAST_PNTTM ) + VALUES ( + #{uniqId}, + #{entrprsmberId}, + #{entrprsSeCode}, + #{bizrno}, + #{jurirno}, + #{cmpnyNm}, + #{cxfc}, + #{zip}, + #{adres}, + #{entrprsMiddleTelno}, + #{fxnum}, + #{indutyCode}, + #{applcntNm}, + sysdate(), + #{entrprsMberSttus}, + #{entrprsMberPassword}, + #{entrprsMberPasswordHint}, + #{entrprsMberPasswordCnsr}, + #{groupId}, + #{detailAdres}, + #{entrprsEndTelno}, + #{areaNo}, + #{applcntEmailAdres}, + #{applcntIhidnum}, + sysdate() ) + + </insert> + + <delete id="deleteEntrprs_S"> + + DELETE FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectEntrprs_S" resultType="egovframework.com.uss.umt.service.EntrprsManageVO"> + + SELECT + ESNTL_ID uniqId, + 'USR02' userTy, + ENTRPRS_MBER_ID entrprsmberId, + ENTRPRS_SE_CODE entrprsSeCode, + BIZRNO bizrno, + JURIRNO jurirno, + CMPNY_NM cmpnyNm, + CXFC cxfc, + ZIP zip, + ADRES adres, + ENTRPRS_MIDDLE_TELNO entrprsMiddleTelno, + FXNUM fxnum, + INDUTY_CODE indutyCode, + APPLCNT_NM applcntNm, + SBSCRB_DE sbscrbDe, + ENTRPRS_MBER_STTUS entrprsMberSttus, + ENTRPRS_MBER_PASSWORD entrprsMberPassword, + ENTRPRS_MBER_PASSWORD_HINT entrprsMberPasswordHint, + ENTRPRS_MBER_PASSWORD_CNSR entrprsMberPasswordCnsr, + GROUP_ID groupId, + DETAIL_ADRES detailAdres, + ENTRPRS_END_TELNO entrprsEndTelno, + AREA_NO areaNo, + APPLCNT_IHIDNUM applcntIhidnum, + APPLCNT_EMAIL_ADRES applcntEmailAdres, + LOCK_AT lockAt + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateEntrprs_S"> + + UPDATE COMTNENTRPRSMBER + SET + ENTRPRS_MBER_ID = #{entrprsmberId}, + ENTRPRS_SE_CODE = #{entrprsSeCode}, + BIZRNO = #{bizrno}, + JURIRNO = #{jurirno}, + CMPNY_NM = #{cmpnyNm}, + CXFC = #{cxfc}, + ZIP = #{zip}, + ADRES = #{adres}, + ENTRPRS_MIDDLE_TELNO = #{entrprsMiddleTelno}, + FXNUM = #{fxnum}, + INDUTY_CODE = #{indutyCode}, + APPLCNT_NM = #{applcntNm}, + ENTRPRS_MBER_STTUS = #{entrprsMberSttus}, + ENTRPRS_MBER_PASSWORD_HINT = #{entrprsMberPasswordHint}, + ENTRPRS_MBER_PASSWORD_CNSR = #{entrprsMberPasswordCnsr}, + GROUP_ID = #{groupId}, + DETAIL_ADRES = #{detailAdres}, + ENTRPRS_END_TELNO = #{entrprsEndTelno}, + AREA_NO = #{areaNo}, + APPLCNT_EMAIL_ADRES = #{applcntEmailAdres} + WHERE ESNTL_ID=#{uniqId} + + </update> + + <select id="selectStplat_S" resultMap="stplatMap"> + + SELECT + USE_STPLAT_ID , + USE_STPLAT_CN , + INFO_PROVD_AGRE_CN + FROM COMTNSTPLATINFO + WHERE USE_STPLAT_ID=#{stplatId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNENTRPRSMBER + SET + ENTRPRS_MBER_PASSWORD = #{entrprsMberPassword} + , CHG_PWD_LAST_PNTTM = sysdate() + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.EntrprsManageVO"> + + SELECT + ENTRPRS_MBER_PASSWORD entrprsMberPassword + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <select id="selectEntrprsMberList" resultType="egovMap"> + SELECT + uniqId, userTy, userId , cmpnyNm, userNm, emailAdres, areaNo, middleTelno, endTelno, moblphonNo, groupId, sttus, sbscrbDe + FROM( + SELECT + ESNTL_ID uniqId, + 'USR02' userTy, + ENTRPRS_MBER_ID userId, + CMPNY_NM cmpnyNm, + APPLCNT_NM userNm, + APPLCNT_EMAIL_ADRES emailAdres, + AREA_NO areaNo, + ENTRPRS_MIDDLE_TELNO middleTelno, + ENTRPRS_END_TELNO endTelno, + '' moblphonNo, + GROUP_ID groupId, + ENTRPRS_MBER_STTUS sttus, + SBSCRB_DE sbscrbDe + FROM COMTNENTRPRSMBER + ) A + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND sttus LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + userId LIKE '%' #{searchKeyword} '%' + </if> + <if test="searchCondition == 1">AND + userNm LIKE '%' #{searchKeyword} '%' + </if> + </if> + + ORDER BY sbscrbDe DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + + <select id="selectEntrprsMberListTotCnt" resultType="int"> + SELECT COUNT(1) totcnt + FROM( + SELECT + ESNTL_ID uniqId, + 'USR02' userTy, + ENTRPRS_MBER_ID userId, + CMPNY_NM cmpnyNm, + APPLCNT_NM userNm, + APPLCNT_EMAIL_ADRES emailAdres, + AREA_NO areaNo, + ENTRPRS_MIDDLE_TELNO middleTelno, + ENTRPRS_END_TELNO endTelno, + '' moblphonNo, + GROUP_ID groupId, + ENTRPRS_MBER_STTUS sttus, + SBSCRB_DE sbscrbDe + FROM COMTNENTRPRSMBER + ) A + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND sttus LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + userId LIKE '%' #{searchKeyword} '%' + </if> + <if test="searchCondition == 1">AND + userNm LIKE '%' #{searchKeyword} '%' + </if> + </if> + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_mysql.xml (revision 7) @@ -0,0 +1,229 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="mberManageDAO"> + + <resultMap id="stplatMap" type="egovframework.com.uss.umt.service.StplatVO"> + <result property="useStplatId" column="USE_STPLAT_ID"/> + <result property="useStplatCn" column="USE_STPLAT_CN"/> + <result property="infoProvdAgeCn" column="INFO_PROVD_AGRE_CN"/> + </resultMap> + + <select id="selectMberList" resultType="egovMap"> +SELECT + uniqId, userTy, userId , userNm, emailAdres, areaNo, middleTelno, endTelno, moblphonNo, groupId, sttus, sbscrbDe +FROM( + SELECT + ESNTL_ID uniqId, + 'USR01' userTy, + MBER_ID userId, + MBER_NM userNm, + MBER_EMAIL_ADRES emailAdres, + AREA_NO areaNo, + MIDDLE_TELNO middleTelno, + END_TELNO endTelno, + MBTLNUM moblphonNo, + GROUP_ID groupId, + MBER_STTUS sttus, + SBSCRB_DE sbscrbDe + FROM COMTNGNRLMBER + ) A + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND sttus LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + userId LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1">AND + userNm LIKE '%' #{searchKeyword} '%' + </if> + </if> + ORDER BY sbscrbDe DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + + <select id="selectMberListTotCnt" resultType="int"> + SELECT COUNT(1) totcnt + FROM( + SELECT + ESNTL_ID uniqId, + 'USR01' userTy, + MBER_ID userId, + MBER_NM userNm, + MBER_EMAIL_ADRES emailAdres, + AREA_NO areaNo, + MIDDLE_TELNO middleTelno, + END_TELNO endTelno, + MBTLNUM moblphonNo, + GROUP_ID groupId, + MBER_STTUS sttus, + SBSCRB_DE sbscrbDe + FROM COMTNGNRLMBER + ) A + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND sttus LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + userId LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1">AND + userNm LIKE '%' #{searchKeyword} '%' + </if> + </if> + </select> + + <insert id="insertMber_S"> + + INSERT INTO COMTNGNRLMBER + ( + ESNTL_ID , + MBER_ID , + MBER_NM , + PASSWORD , + PASSWORD_HINT , + PASSWORD_CNSR , + IHIDNUM , + SEXDSTN_CODE , + ZIP , + ADRES , + AREA_NO , + MBER_STTUS , + DETAIL_ADRES , + END_TELNO , + MBTLNUM , + GROUP_ID , + MBER_FXNUM , + MBER_EMAIL_ADRES , + MIDDLE_TELNO , + SBSCRB_DE , + CHG_PWD_LAST_PNTTM ) + VALUES( + #{uniqId}, + #{mberId}, + #{mberNm}, + #{password}, + #{passwordHint}, + #{passwordCnsr}, + #{ihidnum}, + #{sexdstnCode}, + #{zip}, + #{adres}, + #{areaNo}, + #{mberSttus}, + #{detailAdres}, + #{endTelno}, + #{moblphonNo}, + #{groupId}, + #{mberFxnum}, + #{mberEmailAdres}, + #{middleTelno}, + sysdate(), + sysdate() ) + + </insert> + + <delete id="deleteMber_S"> + + DELETE FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectMber_S" resultType="egovframework.com.uss.umt.service.MberManageVO"> + + SELECT + ESNTL_ID uniqId, + 'USR01' userTy, + MBER_ID mberId, + MBER_NM mberNm, + PASSWORD password, + PASSWORD_HINT passwordHint, + PASSWORD_CNSR passwordCnsr, + IHIDNUM ihidnum, + SEXDSTN_CODE sexdstnCode, + ZIP zip, + ADRES adres, + AREA_NO areaNo, + MBER_STTUS mberSttus, + DETAIL_ADRES detailAdres, + END_TELNO endTelno, + MBTLNUM moblphonNo, + GROUP_ID groupId, + MBER_FXNUM mberFxnum, + MBER_EMAIL_ADRES mberEmailAdres, + MIDDLE_TELNO middleTelno, + SBSCRB_DE sbscrbDe, + LOCK_AT lockAt + FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateMber_S"> + + UPDATE COMTNGNRLMBER + SET MBER_ID = #{mberId}, + MBER_NM = #{mberNm}, + PASSWORD_HINT = #{passwordHint}, + PASSWORD_CNSR = #{passwordCnsr}, + IHIDNUM = #{ihidnum}, + SEXDSTN_CODE = #{sexdstnCode}, + ZIP = #{zip}, + ADRES = #{adres}, + AREA_NO = #{areaNo}, + MBER_STTUS = #{mberSttus}, + DETAIL_ADRES = #{detailAdres}, + END_TELNO = #{endTelno}, + MBTLNUM = #{moblphonNo}, + GROUP_ID = #{groupId}, + MBER_FXNUM = #{mberFxnum}, + MBER_EMAIL_ADRES = #{mberEmailAdres}, + MIDDLE_TELNO = #{middleTelno} + WHERE ESNTL_ID=#{uniqId} + + </update> + + <select id="selectStplat_S" resultMap="stplatMap"> + + SELECT + USE_STPLAT_ID , + USE_STPLAT_CN , + INFO_PROVD_AGRE_CN + FROM COMTNSTPLATINFO + WHERE USE_STPLAT_ID=#{stplatId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNGNRLMBER + SET + PASSWORD = #{password} + , CHG_PWD_LAST_PNTTM = sysdate() + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.MberManageVO"> + + SELECT + PASSWORD password + FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNGNRLMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_oracle.xml (revision 7) @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="deptManageDAO"> + + <resultMap id="deptManageVO" type="egovframework.com.uss.umt.service.DeptManageVO"> + <result property="orgnztId" column="ORGNZT_ID"/> + <result property="orgnztNm" column="ORGNZT_NM"/> + <result property="orgnztDc" column="ORGNZT_DC"/> + </resultMap> + + <select id="selectDeptManageList" resultMap="deptManageVO"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC + FROM COMTNORGNZTINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + ORGNZT_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <![CDATA[ + ORDER BY ORGNZT_ID DESC + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <select id="selectDeptManageListTotCnt" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNORGNZTINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ORGNZT_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + + <select id="selectDeptManage" resultMap="deptManageVO"> + + SELECT ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC + FROM COMTNORGNZTINFO + WHERE ORGNZT_ID = #{orgnztId} + + </select> + + <insert id="insertDeptManage"> + + INSERT INTO COMTNORGNZTINFO + (ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC) + VALUES (#{orgnztId}, + #{orgnztNm}, + #{orgnztDc}) + + </insert> + + <update id="updateDeptManage"> + UPDATE COMTNORGNZTINFO + SET ORGNZT_NM = #{orgnztNm}, + ORGNZT_DC = #{orgnztDc} + WHERE ORGNZT_ID = #{orgnztId} + </update> + + <delete id="deleteDeptManage"> + + DELETE FROM COMTNORGNZTINFO + WHERE ORGNZT_ID = #{orgnztId} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_cubrid.xml (revision 7) @@ -0,0 +1,213 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="mberManageDAO"> + + <resultMap id="stplatMap" type="egovframework.com.uss.umt.service.StplatVO"> + <result property="useStplatId" column="USE_STPLAT_ID"/> + <result property="useStplatCn" column="USE_STPLAT_CN"/> + <result property="infoProvdAgeCn" column="INFO_PROVD_AGRE_CN"/> + </resultMap> + + <select id="selectMberList" resultType="egovMap"> +SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID as "uniqId", + 'USR01' as "userTy", + MBER_ID as "userId", + MBER_NM as "userNm", + MBER_EMAIL_ADRES as "emailAdres", + AREA_NO as "areaNo", + MIDDLE_TELNO as "middleTelno", + END_TELNO as "endTelno", + MBTLNUM as "moblphonNo", + GROUP_ID as "groupId", + MBER_STTUS as "sttus", + SBSCRB_DE as "sbscrbDe" + FROM COMTNGNRLMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + MBER_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1">AND + MBER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + <![CDATA[ + ORDER BY 12 DESC + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + + <select id="selectMberListTotCnt" resultType="int"> + SELECT COUNT(1) totcnt + FROM COMTNGNRLMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + MBER_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1">AND + MBER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + </select> + + <insert id="insertMber_S"> + + INSERT INTO COMTNGNRLMBER + ( + ESNTL_ID , + MBER_ID , + MBER_NM , + PASSWORD , + PASSWORD_HINT , + PASSWORD_CNSR , + IHIDNUM , + SEXDSTN_CODE , + ZIP , + ADRES , + AREA_NO , + MBER_STTUS , + DETAIL_ADRES , + END_TELNO , + MBTLNUM , + GROUP_ID , + MBER_FXNUM , + MBER_EMAIL_ADRES , + MIDDLE_TELNO , + SBSCRB_DE , + CHG_PWD_LAST_PNTTM ) + VALUES( + #{uniqId}, + #{mberId}, + #{mberNm}, + #{password}, + #{passwordHint}, + #{passwordCnsr}, + #{ihidnum}, + #{sexdstnCode}, + #{zip}, + #{adres}, + #{areaNo}, + #{mberSttus}, + #{detailAdres}, + #{endTelno}, + #{moblphonNo}, + #{groupId}, + #{mberFxnum}, + #{mberEmailAdres}, + #{middleTelno}, + SYSDATETIME, + SYSDATETIME ) + + </insert> + + <delete id="deleteMber_S"> + + DELETE FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectMber_S" resultType="egovframework.com.uss.umt.service.MberManageVO"> + + SELECT + ESNTL_ID uniqId, + 'USR01' userTy, + MBER_ID mberId, + MBER_NM mberNm, + PASSWORD password, + PASSWORD_HINT passwordHint, + PASSWORD_CNSR passwordCnsr, + IHIDNUM ihidnum, + SEXDSTN_CODE sexdstnCode, + ZIP zip, + ADRES adres, + AREA_NO areaNo, + MBER_STTUS mberSttus, + DETAIL_ADRES detailAdres, + END_TELNO endTelno, + MBTLNUM moblphonNo, + GROUP_ID groupId, + MBER_FXNUM mberFxnum, + MBER_EMAIL_ADRES mberEmailAdres, + MIDDLE_TELNO middleTelno, + SBSCRB_DE sbscrbDe, + LOCK_AT lockAt + FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateMber_S"> + + UPDATE COMTNGNRLMBER + SET MBER_ID = #{mberId}, + MBER_NM = #{mberNm}, + PASSWORD_HINT = #{passwordHint}, + PASSWORD_CNSR = #{passwordCnsr}, + IHIDNUM = #{ihidnum}, + SEXDSTN_CODE = #{sexdstnCode}, + ZIP = #{zip}, + ADRES = #{adres}, + AREA_NO = #{areaNo}, + MBER_STTUS = #{mberSttus}, + DETAIL_ADRES = #{detailAdres}, + END_TELNO = #{endTelno}, + MBTLNUM = #{moblphonNo}, + GROUP_ID = #{groupId}, + MBER_FXNUM = #{mberFxnum}, + MBER_EMAIL_ADRES = #{mberEmailAdres}, + MIDDLE_TELNO = #{middleTelno} + WHERE ESNTL_ID=#{uniqId} + + </update> + + <select id="selectStplat_S" resultMap="stplatMap"> + + SELECT + USE_STPLAT_ID , + USE_STPLAT_CN , + INFO_PROVD_AGRE_CN + FROM COMTNSTPLATINFO + WHERE USE_STPLAT_ID=#{stplatId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNGNRLMBER + SET + PASSWORD = #{password} + , CHG_PWD_LAST_PNTTM = SYSDATETIME + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.MberManageVO"> + + SELECT + PASSWORD password + FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNGNRLMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_mysql.xml (revision 7) @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="deptManageDAO"> + + <resultMap id="deptManageVO" type="egovframework.com.uss.umt.service.DeptManageVO"> + <result property="orgnztId" column="ORGNZT_ID"/> + <result property="orgnztNm" column="ORGNZT_NM"/> + <result property="orgnztDc" column="ORGNZT_DC"/> + </resultMap> + + <select id="selectDeptManageList" resultMap="deptManageVO"> + SELECT ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC + FROM COMTNORGNZTINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ORGNZT_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + <![CDATA[ + ORDER BY ORGNZT_ID DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + ]]> + </select> + + <select id="selectDeptManageListTotCnt" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNORGNZTINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ORGNZT_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </select> + + <select id="selectDeptManage" resultMap="deptManageVO"> + + SELECT ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC + FROM COMTNORGNZTINFO + WHERE ORGNZT_ID = #{orgnztId} + + </select> + + <insert id="insertDeptManage"> + + INSERT INTO COMTNORGNZTINFO + (ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC) + VALUES (#{orgnztId}, + #{orgnztNm}, + #{orgnztDc}) + + </insert> + + <update id="updateDeptManage"> + UPDATE COMTNORGNZTINFO + SET ORGNZT_NM = #{orgnztNm}, + ORGNZT_DC = #{orgnztDc} + WHERE ORGNZT_ID = #{orgnztId} + </update> + + <delete id="deleteDeptManage"> + + DELETE FROM COMTNORGNZTINFO + WHERE ORGNZT_ID = #{orgnztId} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_cubrid.xml (revision 7) @@ -0,0 +1,229 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="entrprsManageDAO"> + + <resultMap id="stplatMap" type="egovframework.com.uss.umt.service.StplatVO"> + <result property="useStplatId" column="USE_STPLAT_ID"/> + <result property="useStplatCn" column="USE_STPLAT_CN"/> + <result property="infoProvdAgeCn" column="INFO_PROVD_AGRE_CN"/> + </resultMap> + + <insert id="insertEntrprs_S"> + + INSERT INTO COMTNENTRPRSMBER + ( ESNTL_ID , + ENTRPRS_MBER_ID , + ENTRPRS_SE_CODE , + BIZRNO , + JURIRNO , + CMPNY_NM , + CXFC , + ZIP , + ADRES , + ENTRPRS_MIDDLE_TELNO , + FXNUM , + INDUTY_CODE , + APPLCNT_NM , + SBSCRB_DE , + ENTRPRS_MBER_STTUS , + ENTRPRS_MBER_PASSWORD , + ENTRPRS_MBER_PASSWORD_HINT , + ENTRPRS_MBER_PASSWORD_CNSR , + GROUP_ID , + DETAIL_ADRES , + ENTRPRS_END_TELNO , + AREA_NO , + APPLCNT_EMAIL_ADRES , + APPLCNT_IHIDNUM , + CHG_PWD_LAST_PNTTM ) + VALUES ( + #{uniqId}, + #{entrprsmberId}, + #{entrprsSeCode}, + #{bizrno}, + #{jurirno}, + #{cmpnyNm}, + #{cxfc}, + #{zip}, + #{adres}, + #{entrprsMiddleTelno}, + #{fxnum}, + #{indutyCode}, + #{applcntNm}, + SYSDATETIME, + #{entrprsMberSttus}, + #{entrprsMberPassword}, + #{entrprsMberPasswordHint}, + #{entrprsMberPasswordCnsr}, + #{groupId}, + #{detailAdres}, + #{entrprsEndTelno}, + #{areaNo}, + #{applcntEmailAdres}, + #{applcntIhidnum}, + SYSDATETIME ) + + </insert> + + <delete id="deleteEntrprs_S"> + + DELETE FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectEntrprs_S" resultType="egovframework.com.uss.umt.service.EntrprsManageVO"> + + SELECT + ESNTL_ID uniqId, + 'USR02' userTy, + ENTRPRS_MBER_ID entrprsmberId, + ENTRPRS_SE_CODE entrprsSeCode, + BIZRNO bizrno, + JURIRNO jurirno, + CMPNY_NM cmpnyNm, + CXFC cxfc, + ZIP zip, + ADRES adres, + ENTRPRS_MIDDLE_TELNO entrprsMiddleTelno, + FXNUM fxnum, + INDUTY_CODE indutyCode, + APPLCNT_NM applcntNm, + SBSCRB_DE sbscrbDe, + ENTRPRS_MBER_STTUS entrprsMberSttus, + ENTRPRS_MBER_PASSWORD entrprsMberPassword, + ENTRPRS_MBER_PASSWORD_HINT entrprsMberPasswordHint, + ENTRPRS_MBER_PASSWORD_CNSR entrprsMberPasswordCnsr, + GROUP_ID groupId, + DETAIL_ADRES detailAdres, + ENTRPRS_END_TELNO entrprsEndTelno, + AREA_NO areaNo, + APPLCNT_IHIDNUM applcntIhidnum, + APPLCNT_EMAIL_ADRES applcntEmailAdres, + LOCK_AT lockAt + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateEntrprs_S"> + + UPDATE COMTNENTRPRSMBER + SET + ENTRPRS_MBER_ID = #{entrprsmberId}, + ENTRPRS_SE_CODE = #{entrprsSeCode}, + BIZRNO = #{bizrno}, + JURIRNO = #{jurirno}, + CMPNY_NM = #{cmpnyNm}, + CXFC = #{cxfc}, + ZIP = #{zip}, + ADRES = #{adres}, + ENTRPRS_MIDDLE_TELNO = #{entrprsMiddleTelno}, + FXNUM = #{fxnum}, + INDUTY_CODE = #{indutyCode}, + APPLCNT_NM = #{applcntNm}, + ENTRPRS_MBER_STTUS = #{entrprsMberSttus}, + ENTRPRS_MBER_PASSWORD_HINT = #{entrprsMberPasswordHint}, + ENTRPRS_MBER_PASSWORD_CNSR = #{entrprsMberPasswordCnsr}, + GROUP_ID = #{groupId}, + DETAIL_ADRES = #{detailAdres}, + ENTRPRS_END_TELNO = #{entrprsEndTelno}, + AREA_NO = #{areaNo}, + APPLCNT_EMAIL_ADRES = #{applcntEmailAdres} + WHERE ESNTL_ID=#{uniqId} + + </update> + + <select id="selectStplat_S" resultMap="stplatMap"> + + SELECT + USE_STPLAT_ID , + USE_STPLAT_CN , + INFO_PROVD_AGRE_CN + FROM COMTNSTPLATINFO + WHERE USE_STPLAT_ID=#{stplatId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNENTRPRSMBER + SET + ENTRPRS_MBER_PASSWORD = #{entrprsMberPassword} + , CHG_PWD_LAST_PNTTM = SYSDATETIME + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.EntrprsManageVO"> + + SELECT + ENTRPRS_MBER_PASSWORD entrprsMberPassword + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <select id="selectEntrprsMberList" resultType="egovMap"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID as "uniqId", + 'USR02' as "userTy", + ENTRPRS_MBER_ID as "userId", + CMPNY_NM as "cmpnyNm", + APPLCNT_NM as "userNm", + APPLCNT_EMAIL_ADRES as "emailAdres", + AREA_NO as "areaNo", + ENTRPRS_MIDDLE_TELNO as "middleTelno", + ENTRPRS_END_TELNO as "endTelno", + '' as "moblphonNo", + GROUP_ID as "groupId", + ENTRPRS_MBER_STTUS as "sttus", + SBSCRB_DE as "sbscrbDe" + FROM COMTNENTRPRSMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND ENTRPRS_MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND ENTRPRS_MBER_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1"> + AND APPLCNT_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + <![CDATA[ + ORDER BY 13 DESC + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + + <select id="selectEntrprsMberListTotCnt" resultType="int"> + SELECT COUNT(1) totcnt + FROM COMTNENTRPRSMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND ENTRPRS_MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND ENTRPRS_MBER_ID LIKE '%' || #{searchKeyword} || '%' + </if> + <if test="searchCondition == 1"> + AND APPLCNT_NM LIKE '%' || #{searchKeyword} || '%' + </if> + </if> + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_altibase.xml (revision 7) @@ -0,0 +1,213 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="mberManageDAO"> + + <resultMap id="stplatMap" type="egovframework.com.uss.umt.service.StplatVO"> + <result property="useStplatId" column="USE_STPLAT_ID"/> + <result property="useStplatCn" column="USE_STPLAT_CN"/> + <result property="infoProvdAgeCn" column="INFO_PROVD_AGRE_CN"/> + </resultMap> + + <select id="selectMberList" resultType="egovMap"> +SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID as "uniqId", + 'USR01' as "userTy", + MBER_ID as "userId", + MBER_NM as "userNm", + MBER_EMAIL_ADRES as "emailAdres", + AREA_NO as "areaNo", + MIDDLE_TELNO as "middleTelno", + END_TELNO as "endTelno", + MBTLNUM as "moblphonNo", + GROUP_ID as "groupId", + MBER_STTUS as "sttus", + SBSCRB_DE as "sbscrbDe" + FROM COMTNGNRLMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND MBER_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1"> + AND MBER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + <![CDATA[ + ORDER BY 12 DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + + <select id="selectMberListTotCnt" resultType="int"> + SELECT COUNT(1) totcnt + FROM COMTNGNRLMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND MBER_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1"> + AND MBER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + </select> + + <insert id="insertMber_S"> + + INSERT INTO COMTNGNRLMBER + ( + ESNTL_ID , + MBER_ID , + MBER_NM , + PASSWORD , + PASSWORD_HINT , + PASSWORD_CNSR , + IHIDNUM , + SEXDSTN_CODE , + ZIP , + ADRES , + AREA_NO , + MBER_STTUS , + DETAIL_ADRES , + END_TELNO , + MBTLNUM , + GROUP_ID , + MBER_FXNUM , + MBER_EMAIL_ADRES , + MIDDLE_TELNO , + SBSCRB_DE , + CHG_PWD_LAST_PNTTM ) + VALUES( + #{uniqId}, + #{mberId}, + #{mberNm}, + #{password}, + #{passwordHint}, + #{passwordCnsr}, + #{ihidnum}, + #{sexdstnCode}, + #{zip}, + #{adres}, + #{areaNo}, + #{mberSttus}, + #{detailAdres}, + #{endTelno}, + #{moblphonNo}, + #{groupId}, + #{mberFxnum}, + #{mberEmailAdres}, + #{middleTelno}, + sysdate, + sysdate ) + + </insert> + + <delete id="deleteMber_S"> + + DELETE FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectMber_S" resultType="egovframework.com.uss.umt.service.MberManageVO"> + + SELECT + ESNTL_ID uniqId, + 'USR01' userTy, + MBER_ID mberId, + MBER_NM mberNm, + PASSWORD password, + PASSWORD_HINT passwordHint, + PASSWORD_CNSR passwordCnsr, + IHIDNUM ihidnum, + SEXDSTN_CODE sexdstnCode, + ZIP zip, + ADRES adres, + AREA_NO areaNo, + MBER_STTUS mberSttus, + DETAIL_ADRES detailAdres, + END_TELNO endTelno, + MBTLNUM moblphonNo, + GROUP_ID groupId, + MBER_FXNUM mberFxnum, + MBER_EMAIL_ADRES mberEmailAdres, + MIDDLE_TELNO middleTelno, + SBSCRB_DE sbscrbDe, + LOCK_AT lockAt + FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateMber_S"> + + UPDATE COMTNGNRLMBER + SET MBER_ID = #{mberId}, + MBER_NM = #{mberNm}, + PASSWORD_HINT = #{passwordHint}, + PASSWORD_CNSR = #{passwordCnsr}, + IHIDNUM = #{ihidnum}, + SEXDSTN_CODE = #{sexdstnCode}, + ZIP = #{zip}, + ADRES = #{adres}, + AREA_NO = #{areaNo}, + MBER_STTUS = #{mberSttus}, + DETAIL_ADRES = #{detailAdres}, + END_TELNO = #{endTelno}, + MBTLNUM = #{moblphonNo}, + GROUP_ID = #{groupId}, + MBER_FXNUM = #{mberFxnum}, + MBER_EMAIL_ADRES = #{mberEmailAdres}, + MIDDLE_TELNO = #{middleTelno} + WHERE ESNTL_ID=#{uniqId} + + </update> + + <select id="selectStplat_S" resultMap="stplatMap"> + + SELECT + USE_STPLAT_ID , + USE_STPLAT_CN , + INFO_PROVD_AGRE_CN + FROM COMTNSTPLATINFO + WHERE USE_STPLAT_ID=#{stplatId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNGNRLMBER + SET + PASSWORD = #{password} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.MberManageVO"> + + SELECT + PASSWORD password + FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNGNRLMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_mysql.xml (revision 7) @@ -0,0 +1,308 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="userManageDAO"> + + <select id="selectUserList_S" resultType="egovMap"> +SELECT + uniqId, userTy, userId , userNm, emailAdres, areaNo, middleTelno, endTelno, moblphonNo, groupId, sttus, sbscrbDe +FROM( + SELECT + ESNTL_ID uniqId, + 'USR03' userTy, + EMPLYR_ID userId, + USER_NM userNm, + EMAIL_ADRES emailAdres, + AREA_NO areaNo, + HOUSE_MIDDLE_TELNO middleTelno, + HOUSE_END_TELNO endTelno, + MBTLNUM moblphonNo, + GROUP_ID groupId, + EMPLYR_STTUS_CODE sttus, + SBSCRB_DE sbscrbDe + FROM COMTNEMPLYRINFO + ) A + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND sttus LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + userId LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1">AND + userNm LIKE '%' #{searchKeyword} '%' + </if> + </if> + + ORDER BY sbscrbDe DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <select id="selectUserListTotCnt_S" resultType="int"> + SELECT COUNT(1) totcnt + FROM( + SELECT + ESNTL_ID uniqId, + 'USR03' userTy, + EMPLYR_ID userId, + USER_NM userNm, + EMAIL_ADRES emailAdres, + AREA_NO areaNo, + HOUSE_MIDDLE_TELNO middleTelno, + HOUSE_END_TELNO endTelno, + MBTLNUM moblphonNo, + GROUP_ID groupId, + EMPLYR_STTUS_CODE sttus, + SBSCRB_DE sbscrbDe + FROM COMTNEMPLYRINFO + ) A + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND sttus LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + userId LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1">AND + userNm LIKE '%' #{searchKeyword} '%' + </if> + </if> + </select> + + <insert id="insertUser_S"> + + INSERT INTO COMTNEMPLYRINFO + ( ESNTL_ID , + EMPLYR_ID , + USER_NM , + PASSWORD , + PASSWORD_HINT , + PASSWORD_CNSR , + EMPL_NO , + IHIDNUM , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + OFCPS_NM , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + SBSCRB_DE , + CRTFC_DN_VALUE , + CHG_PWD_LAST_PNTTM ) + VALUES ( + #{uniqId} , + #{emplyrId} , + #{emplyrNm} , + #{password} , + #{passwordHint} , + #{passwordCnsr} , + #{emplNo} , + #{ihidnum} , + #{sexdstnCode} , + #{brth} , + #{areaNo} , + #{homemiddleTelno} , + #{homeendTelno} , + #{fxnum} , + #{homeadres} , + #{detailAdres} , + #{zip} , + #{offmTelno} , + #{moblphonNo} , + #{emailAdres} , + #{ofcpsNm} , + #{groupId} , + #{orgnztId} , + #{insttCode} , + #{emplyrSttusCode} , + sysdate() , + #{subDn} , + sysdate() ) + + </insert> + + <delete id="deleteUser_S"> + + DELETE FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectUser_S" resultType="egovframework.com.uss.umt.service.UserManageVO"> + + SELECT + ESNTL_ID uniqId , + 'USR03' userTy, + EMPLYR_ID emplyrId , + USER_NM emplyrNm , + PASSWORD password , + PASSWORD_HINT passwordHint , + PASSWORD_CNSR passwordCnsr , + EMPL_NO emplNo , + IHIDNUM ihidnum , + SEXDSTN_CODE sexdstnCode , + BRTHDY brth , + AREA_NO areaNo , + HOUSE_MIDDLE_TELNO homemiddleTelno , + HOUSE_END_TELNO homeendTelno , + FXNUM fxnum , + HOUSE_ADRES homeadres , + DETAIL_ADRES detailAdres , + ZIP zip , + OFFM_TELNO offmTelno , + MBTLNUM moblphonNo , + EMAIL_ADRES emailAdres , + OFCPS_NM ofcpsNm , + GROUP_ID groupId , + ORGNZT_ID orgnztId , + PSTINST_CODE insttCode , + EMPLYR_STTUS_CODE emplyrSttusCode , + SBSCRB_DE sbscrbDe , + CRTFC_DN_VALUE subDn, + LOCK_AT lockAt + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateUser_S"> + + UPDATE COMTNEMPLYRINFO + SET EMPLYR_ID = #{emplyrId} , + USER_NM = #{emplyrNm} , + PASSWORD_HINT = #{passwordHint} , + PASSWORD_CNSR = #{passwordCnsr} , + EMPL_NO = #{emplNo} , + IHIDNUM = #{ihidnum} , + SEXDSTN_CODE = #{sexdstnCode} , + BRTHDY = #{brth} , + AREA_NO = #{areaNo} , + HOUSE_MIDDLE_TELNO = #{homemiddleTelno} , + HOUSE_END_TELNO = #{homeendTelno} , + FXNUM = #{fxnum} , + HOUSE_ADRES = #{homeadres} , + DETAIL_ADRES = #{detailAdres} , + ZIP = #{zip} , + OFFM_TELNO = #{offmTelno} , + MBTLNUM = #{moblphonNo} , + EMAIL_ADRES = #{emailAdres} , + OFCPS_NM = #{ofcpsNm} , + GROUP_ID = #{groupId} , + ORGNZT_ID = #{orgnztId} , + PSTINST_CODE = #{insttCode} , + EMPLYR_STTUS_CODE = #{emplyrSttusCode} , + CRTFC_DN_VALUE = #{subDn} + WHERE ESNTL_ID = #{uniqId} + + </update> + + <insert id="insertUserHistory_S"> + + INSERT INTO COMTHEMPLYRINFOCHANGEDTLS + ( EMPLYR_ID , + EMPL_NO , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + ESNTL_ID , + CHANGE_DE ) + SELECT + EMPLYR_ID , + EMPL_NO , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + ESNTL_ID , + now() + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID = #{uniqId} + + </insert> + + <select id="checkIdDplct_S" resultType="int"> + + SELECT COUNT(1) usedCnt + FROM( + SELECT + EMPLYR_ID userId + FROM COMTNEMPLYRINFO + UNION ALL + SELECT + ENTRPRS_MBER_ID userId + FROM COMTNENTRPRSMBER + UNION ALL + SELECT + MBER_ID userId + FROM COMTNGNRLMBER + ) A + WHERE userId = #{checkId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNEMPLYRINFO + SET + PASSWORD = #{password} + , CHG_PWD_LAST_PNTTM = sysdate() + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.UserManageVO"> + + SELECT + PASSWORD password + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_maria.xml (revision 7) @@ -0,0 +1,248 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="entrprsManageDAO"> + + <resultMap id="stplatMap" type="egovframework.com.uss.umt.service.StplatVO"> + <result property="useStplatId" column="USE_STPLAT_ID"/> + <result property="useStplatCn" column="USE_STPLAT_CN"/> + <result property="infoProvdAgeCn" column="INFO_PROVD_AGRE_CN"/> + </resultMap> + + <insert id="insertEntrprs_S"> + + INSERT INTO COMTNENTRPRSMBER + ( ESNTL_ID , + ENTRPRS_MBER_ID , + ENTRPRS_SE_CODE , + BIZRNO , + JURIRNO , + CMPNY_NM , + CXFC , + ZIP , + ADRES , + ENTRPRS_MIDDLE_TELNO , + FXNUM , + INDUTY_CODE , + APPLCNT_NM , + SBSCRB_DE , + ENTRPRS_MBER_STTUS , + ENTRPRS_MBER_PASSWORD , + ENTRPRS_MBER_PASSWORD_HINT , + ENTRPRS_MBER_PASSWORD_CNSR , + GROUP_ID , + DETAIL_ADRES , + ENTRPRS_END_TELNO , + AREA_NO , + APPLCNT_EMAIL_ADRES , + APPLCNT_IHIDNUM , + CHG_PWD_LAST_PNTTM ) + VALUES ( + #{uniqId}, + #{entrprsmberId}, + #{entrprsSeCode}, + #{bizrno}, + #{jurirno}, + #{cmpnyNm}, + #{cxfc}, + #{zip}, + #{adres}, + #{entrprsMiddleTelno}, + #{fxnum}, + #{indutyCode}, + #{applcntNm}, + sysdate(), + #{entrprsMberSttus}, + #{entrprsMberPassword}, + #{entrprsMberPasswordHint}, + #{entrprsMberPasswordCnsr}, + #{groupId}, + #{detailAdres}, + #{entrprsEndTelno}, + #{areaNo}, + #{applcntEmailAdres}, + #{applcntIhidnum}, + sysdate() ) + + </insert> + + <delete id="deleteEntrprs_S"> + + DELETE FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectEntrprs_S" resultType="egovframework.com.uss.umt.service.EntrprsManageVO"> + + SELECT + ESNTL_ID uniqId, + 'USR02' userTy, + ENTRPRS_MBER_ID entrprsmberId, + ENTRPRS_SE_CODE entrprsSeCode, + BIZRNO bizrno, + JURIRNO jurirno, + CMPNY_NM cmpnyNm, + CXFC cxfc, + ZIP zip, + ADRES adres, + ENTRPRS_MIDDLE_TELNO entrprsMiddleTelno, + FXNUM fxnum, + INDUTY_CODE indutyCode, + APPLCNT_NM applcntNm, + SBSCRB_DE sbscrbDe, + ENTRPRS_MBER_STTUS entrprsMberSttus, + ENTRPRS_MBER_PASSWORD entrprsMberPassword, + ENTRPRS_MBER_PASSWORD_HINT entrprsMberPasswordHint, + ENTRPRS_MBER_PASSWORD_CNSR entrprsMberPasswordCnsr, + GROUP_ID groupId, + DETAIL_ADRES detailAdres, + ENTRPRS_END_TELNO entrprsEndTelno, + AREA_NO areaNo, + APPLCNT_IHIDNUM applcntIhidnum, + APPLCNT_EMAIL_ADRES applcntEmailAdres, + LOCK_AT lockAt + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateEntrprs_S"> + + UPDATE COMTNENTRPRSMBER + SET + ENTRPRS_MBER_ID = #{entrprsmberId}, + ENTRPRS_SE_CODE = #{entrprsSeCode}, + BIZRNO = #{bizrno}, + JURIRNO = #{jurirno}, + CMPNY_NM = #{cmpnyNm}, + CXFC = #{cxfc}, + ZIP = #{zip}, + ADRES = #{adres}, + ENTRPRS_MIDDLE_TELNO = #{entrprsMiddleTelno}, + FXNUM = #{fxnum}, + INDUTY_CODE = #{indutyCode}, + APPLCNT_NM = #{applcntNm}, + ENTRPRS_MBER_STTUS = #{entrprsMberSttus}, + ENTRPRS_MBER_PASSWORD_HINT = #{entrprsMberPasswordHint}, + ENTRPRS_MBER_PASSWORD_CNSR = #{entrprsMberPasswordCnsr}, + GROUP_ID = #{groupId}, + DETAIL_ADRES = #{detailAdres}, + ENTRPRS_END_TELNO = #{entrprsEndTelno}, + AREA_NO = #{areaNo}, + APPLCNT_EMAIL_ADRES = #{applcntEmailAdres} + WHERE ESNTL_ID=#{uniqId} + + </update> + + <select id="selectStplat_S" resultMap="stplatMap"> + + SELECT + USE_STPLAT_ID , + USE_STPLAT_CN , + INFO_PROVD_AGRE_CN + FROM COMTNSTPLATINFO + WHERE USE_STPLAT_ID=#{stplatId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNENTRPRSMBER + SET + ENTRPRS_MBER_PASSWORD = #{entrprsMberPassword} + , CHG_PWD_LAST_PNTTM = sysdate() + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.EntrprsManageVO"> + + SELECT + ENTRPRS_MBER_PASSWORD entrprsMberPassword + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <select id="selectEntrprsMberList" resultType="egovMap"> + SELECT + uniqId, userTy, userId , cmpnyNm, userNm, emailAdres, areaNo, middleTelno, endTelno, moblphonNo, groupId, sttus, sbscrbDe + FROM( + SELECT + ESNTL_ID uniqId, + 'USR02' userTy, + ENTRPRS_MBER_ID userId, + CMPNY_NM cmpnyNm, + APPLCNT_NM userNm, + APPLCNT_EMAIL_ADRES emailAdres, + AREA_NO areaNo, + ENTRPRS_MIDDLE_TELNO middleTelno, + ENTRPRS_END_TELNO endTelno, + '' moblphonNo, + GROUP_ID groupId, + ENTRPRS_MBER_STTUS sttus, + SBSCRB_DE sbscrbDe + FROM COMTNENTRPRSMBER + ) A + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND sttus LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + userId LIKE '%' #{searchKeyword} '%' + </if> + <if test="searchCondition == 1">AND + userNm LIKE '%' #{searchKeyword} '%' + </if> + </if> + + ORDER BY sbscrbDe DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + + <select id="selectEntrprsMberListTotCnt" resultType="int"> + SELECT COUNT(1) totcnt + FROM( + SELECT + ESNTL_ID uniqId, + 'USR02' userTy, + ENTRPRS_MBER_ID userId, + CMPNY_NM cmpnyNm, + APPLCNT_NM userNm, + APPLCNT_EMAIL_ADRES emailAdres, + AREA_NO areaNo, + ENTRPRS_MIDDLE_TELNO middleTelno, + ENTRPRS_END_TELNO endTelno, + '' moblphonNo, + GROUP_ID groupId, + ENTRPRS_MBER_STTUS sttus, + SBSCRB_DE sbscrbDe + FROM COMTNENTRPRSMBER + ) A + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND sttus LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + userId LIKE '%' #{searchKeyword} '%' + </if> + <if test="searchCondition == 1">AND + userNm LIKE '%' #{searchKeyword} '%' + </if> + </if> + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_cubrid.xml (revision 7) @@ -0,0 +1,291 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="userManageDAO"> + + <select id="selectUserList_S" resultType="egovMap"> +SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID as "uniqId", + 'USR03' as "userTy", + EMPLYR_ID as "userId", + USER_NM as "userNm", + EMAIL_ADRES as "emailAdres", + AREA_NO as "areaNo", + HOUSE_MIDDLE_TELNO as "middleTelno", + HOUSE_END_TELNO as "endTelno", + MBTLNUM as "moblphonNo", + GROUP_ID as "groupId", + EMPLYR_STTUS_CODE as "sttus", + SBSCRB_DE as "sbscrbDe" + FROM COMTNEMPLYRINFO + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND EMPLYR_STTUS_CODE LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND EMPLYR_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1"> + AND USER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + <![CDATA[ + ORDER BY 12 DESC + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectUserListTotCnt_S" resultType="int"> + SELECT COUNT(1) totcnt + FROM COMTNEMPLYRINFO + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND EMPLYR_STTUS_CODE LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND EMPLYR_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1"> + AND USER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + </select> + + <insert id="insertUser_S"> + + INSERT INTO COMTNEMPLYRINFO + ( ESNTL_ID , + EMPLYR_ID , + USER_NM , + PASSWORD , + PASSWORD_HINT , + PASSWORD_CNSR , + EMPL_NO , + IHIDNUM , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + OFCPS_NM , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + SBSCRB_DE , + CRTFC_DN_VALUE , + CHG_PWD_LAST_PNTTM ) + VALUES ( + #{uniqId} , + #{emplyrId} , + #{emplyrNm} , + #{password} , + #{passwordHint} , + #{passwordCnsr} , + #{emplNo} , + #{ihidnum} , + #{sexdstnCode} , + #{brth} , + #{areaNo} , + #{homemiddleTelno} , + #{homeendTelno} , + #{fxnum} , + #{homeadres} , + #{detailAdres} , + #{zip} , + #{offmTelno} , + #{moblphonNo} , + #{emailAdres} , + #{ofcpsNm} , + #{groupId} , + #{orgnztId} , + #{insttCode} , + #{emplyrSttusCode} , + SYSDATETIME , + #{subDn} , + SYSDATETIME ) + + </insert> + + <delete id="deleteUser_S"> + + DELETE FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectUser_S" resultType="egovframework.com.uss.umt.service.UserManageVO"> + + SELECT + ESNTL_ID uniqId , + 'USR03' userTy, + EMPLYR_ID emplyrId , + USER_NM emplyrNm , + PASSWORD password , + PASSWORD_HINT passwordHint , + PASSWORD_CNSR passwordCnsr , + EMPL_NO emplNo , + IHIDNUM ihidnum , + SEXDSTN_CODE sexdstnCode , + BRTHDY brth , + AREA_NO areaNo , + HOUSE_MIDDLE_TELNO homemiddleTelno , + HOUSE_END_TELNO homeendTelno , + FXNUM fxnum , + HOUSE_ADRES homeadres , + DETAIL_ADRES detailAdres , + ZIP zip , + OFFM_TELNO offmTelno , + MBTLNUM moblphonNo , + EMAIL_ADRES emailAdres , + OFCPS_NM ofcpsNm , + GROUP_ID groupId , + ORGNZT_ID orgnztId , + PSTINST_CODE insttCode , + EMPLYR_STTUS_CODE emplyrSttusCode , + SBSCRB_DE sbscrbDe , + CRTFC_DN_VALUE subDn, + LOCK_AT lockAt + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateUser_S"> + + UPDATE COMTNEMPLYRINFO + SET EMPLYR_ID = #{emplyrId} , + USER_NM = #{emplyrNm} , + PASSWORD_HINT = #{passwordHint} , + PASSWORD_CNSR = #{passwordCnsr} , + EMPL_NO = #{emplNo} , + IHIDNUM = #{ihidnum} , + SEXDSTN_CODE = #{sexdstnCode} , + BRTHDY = #{brth} , + AREA_NO = #{areaNo} , + HOUSE_MIDDLE_TELNO = #{homemiddleTelno} , + HOUSE_END_TELNO = #{homeendTelno} , + FXNUM = #{fxnum} , + HOUSE_ADRES = #{homeadres} , + DETAIL_ADRES = #{detailAdres} , + ZIP = #{zip} , + OFFM_TELNO = #{offmTelno} , + MBTLNUM = #{moblphonNo} , + EMAIL_ADRES = #{emailAdres} , + OFCPS_NM = #{ofcpsNm} , + GROUP_ID = #{groupId} , + ORGNZT_ID = #{orgnztId} , + PSTINST_CODE = #{insttCode} , + EMPLYR_STTUS_CODE = #{emplyrSttusCode} , + CRTFC_DN_VALUE = #{subDn} + WHERE ESNTL_ID = #{uniqId} + + </update> + + <insert id="insertUserHistory_S"> + + INSERT INTO COMTHEMPLYRINFOCHANGEDTLS + ( EMPLYR_ID , + EMPL_NO , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + ESNTL_ID , + CHANGE_DE ) + SELECT + EMPLYR_ID , + EMPL_NO , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + ESNTL_ID , + SYSDATETIME + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID = #{uniqId} + + </insert> + + <select id="checkIdDplct_S" resultType="int"> + + SELECT COUNT(1) usedCnt + FROM( + SELECT + EMPLYR_ID userId + FROM COMTNEMPLYRINFO + UNION ALL + SELECT + ENTRPRS_MBER_ID userId + FROM COMTNENTRPRSMBER + UNION ALL + SELECT + MBER_ID userId + FROM COMTNGNRLMBER + ) A + WHERE userId = #{checkId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNEMPLYRINFO + SET + PASSWORD = #{password} + , CHG_PWD_LAST_PNTTM = SYSDATETIME + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.UserManageVO"> + + SELECT + PASSWORD password + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_tibero.xml (revision 7) @@ -0,0 +1,213 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="mberManageDAO"> + + <resultMap id="stplatMap" type="egovframework.com.uss.umt.service.StplatVO"> + <result property="useStplatId" column="USE_STPLAT_ID"/> + <result property="useStplatCn" column="USE_STPLAT_CN"/> + <result property="infoProvdAgeCn" column="INFO_PROVD_AGRE_CN"/> + </resultMap> + + <select id="selectMberList" resultType="egovMap"> +SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID as "uniqId", + 'USR01' as "userTy", + MBER_ID as "userId", + MBER_NM as "userNm", + MBER_EMAIL_ADRES as "emailAdres", + AREA_NO as "areaNo", + MIDDLE_TELNO as "middleTelno", + END_TELNO as "endTelno", + MBTLNUM as "moblphonNo", + GROUP_ID as "groupId", + MBER_STTUS as "sttus", + SBSCRB_DE as "sbscrbDe" + FROM COMTNGNRLMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND MBER_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1"> + AND MBER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + <![CDATA[ + ORDER BY 12 DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + + <select id="selectMberListTotCnt" resultType="int"> + SELECT COUNT(1) totcnt + FROM COMTNGNRLMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND MBER_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1"> + AND MBER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + </select> + + <insert id="insertMber_S"> + + INSERT INTO COMTNGNRLMBER + ( + ESNTL_ID , + MBER_ID , + MBER_NM , + PASSWORD , + PASSWORD_HINT , + PASSWORD_CNSR , + IHIDNUM , + SEXDSTN_CODE , + ZIP , + ADRES , + AREA_NO , + MBER_STTUS , + DETAIL_ADRES , + END_TELNO , + MBTLNUM , + GROUP_ID , + MBER_FXNUM , + MBER_EMAIL_ADRES , + MIDDLE_TELNO , + SBSCRB_DE , + CHG_PWD_LAST_PNTTM ) + VALUES( + #{uniqId}, + #{mberId}, + #{mberNm}, + #{password}, + #{passwordHint}, + #{passwordCnsr}, + #{ihidnum}, + #{sexdstnCode}, + #{zip}, + #{adres}, + #{areaNo}, + #{mberSttus}, + #{detailAdres}, + #{endTelno}, + #{moblphonNo}, + #{groupId}, + #{mberFxnum}, + #{mberEmailAdres}, + #{middleTelno}, + sysdate, + sysdate ) + + </insert> + + <delete id="deleteMber_S"> + + DELETE FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectMber_S" resultType="egovframework.com.uss.umt.service.MberManageVO"> + + SELECT + ESNTL_ID uniqId, + 'USR01' userTy, + MBER_ID mberId, + MBER_NM mberNm, + PASSWORD password, + PASSWORD_HINT passwordHint, + PASSWORD_CNSR passwordCnsr, + IHIDNUM ihidnum, + SEXDSTN_CODE sexdstnCode, + ZIP zip, + ADRES adres, + AREA_NO areaNo, + MBER_STTUS mberSttus, + DETAIL_ADRES detailAdres, + END_TELNO endTelno, + MBTLNUM moblphonNo, + GROUP_ID groupId, + MBER_FXNUM mberFxnum, + MBER_EMAIL_ADRES mberEmailAdres, + MIDDLE_TELNO middleTelno, + SBSCRB_DE sbscrbDe, + LOCK_AT lockAt + FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateMber_S"> + + UPDATE COMTNGNRLMBER + SET MBER_ID = #{mberId}, + MBER_NM = #{mberNm}, + PASSWORD_HINT = #{passwordHint}, + PASSWORD_CNSR = #{passwordCnsr}, + IHIDNUM = #{ihidnum}, + SEXDSTN_CODE = #{sexdstnCode}, + ZIP = #{zip}, + ADRES = #{adres}, + AREA_NO = #{areaNo}, + MBER_STTUS = #{mberSttus}, + DETAIL_ADRES = #{detailAdres}, + END_TELNO = #{endTelno}, + MBTLNUM = #{moblphonNo}, + GROUP_ID = #{groupId}, + MBER_FXNUM = #{mberFxnum}, + MBER_EMAIL_ADRES = #{mberEmailAdres}, + MIDDLE_TELNO = #{middleTelno} + WHERE ESNTL_ID=#{uniqId} + + </update> + + <select id="selectStplat_S" resultMap="stplatMap"> + + SELECT + USE_STPLAT_ID , + USE_STPLAT_CN , + INFO_PROVD_AGRE_CN + FROM COMTNSTPLATINFO + WHERE USE_STPLAT_ID=#{stplatId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNGNRLMBER + SET + PASSWORD = #{password} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.MberManageVO"> + + SELECT + PASSWORD password + FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNGNRLMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_maria.xml (revision 7) @@ -0,0 +1,229 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="mberManageDAO"> + + <resultMap id="stplatMap" type="egovframework.com.uss.umt.service.StplatVO"> + <result property="useStplatId" column="USE_STPLAT_ID"/> + <result property="useStplatCn" column="USE_STPLAT_CN"/> + <result property="infoProvdAgeCn" column="INFO_PROVD_AGRE_CN"/> + </resultMap> + + <select id="selectMberList" resultType="egovMap"> +SELECT + uniqId, userTy, userId , userNm, emailAdres, areaNo, middleTelno, endTelno, moblphonNo, groupId, sttus, sbscrbDe +FROM( + SELECT + ESNTL_ID uniqId, + 'USR01' userTy, + MBER_ID userId, + MBER_NM userNm, + MBER_EMAIL_ADRES emailAdres, + AREA_NO areaNo, + MIDDLE_TELNO middleTelno, + END_TELNO endTelno, + MBTLNUM moblphonNo, + GROUP_ID groupId, + MBER_STTUS sttus, + SBSCRB_DE sbscrbDe + FROM COMTNGNRLMBER + ) A + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND sttus LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + userId LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1">AND + userNm LIKE '%' #{searchKeyword} '%' + </if> + </if> + ORDER BY sbscrbDe DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + + <select id="selectMberListTotCnt" resultType="int"> + SELECT COUNT(1) totcnt + FROM( + SELECT + ESNTL_ID uniqId, + 'USR01' userTy, + MBER_ID userId, + MBER_NM userNm, + MBER_EMAIL_ADRES emailAdres, + AREA_NO areaNo, + MIDDLE_TELNO middleTelno, + END_TELNO endTelno, + MBTLNUM moblphonNo, + GROUP_ID groupId, + MBER_STTUS sttus, + SBSCRB_DE sbscrbDe + FROM COMTNGNRLMBER + ) A + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND sttus LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + userId LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1">AND + userNm LIKE '%' #{searchKeyword} '%' + </if> + </if> + </select> + + <insert id="insertMber_S"> + + INSERT INTO COMTNGNRLMBER + ( + ESNTL_ID , + MBER_ID , + MBER_NM , + PASSWORD , + PASSWORD_HINT , + PASSWORD_CNSR , + IHIDNUM , + SEXDSTN_CODE , + ZIP , + ADRES , + AREA_NO , + MBER_STTUS , + DETAIL_ADRES , + END_TELNO , + MBTLNUM , + GROUP_ID , + MBER_FXNUM , + MBER_EMAIL_ADRES , + MIDDLE_TELNO , + SBSCRB_DE , + CHG_PWD_LAST_PNTTM ) + VALUES( + #{uniqId}, + #{mberId}, + #{mberNm}, + #{password}, + #{passwordHint}, + #{passwordCnsr}, + #{ihidnum}, + #{sexdstnCode}, + #{zip}, + #{adres}, + #{areaNo}, + #{mberSttus}, + #{detailAdres}, + #{endTelno}, + #{moblphonNo}, + #{groupId}, + #{mberFxnum}, + #{mberEmailAdres}, + #{middleTelno}, + sysdate(), + sysdate() ) + + </insert> + + <delete id="deleteMber_S"> + + DELETE FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectMber_S" resultType="egovframework.com.uss.umt.service.MberManageVO"> + + SELECT + ESNTL_ID uniqId, + 'USR01' userTy, + MBER_ID mberId, + MBER_NM mberNm, + PASSWORD password, + PASSWORD_HINT passwordHint, + PASSWORD_CNSR passwordCnsr, + IHIDNUM ihidnum, + SEXDSTN_CODE sexdstnCode, + ZIP zip, + ADRES adres, + AREA_NO areaNo, + MBER_STTUS mberSttus, + DETAIL_ADRES detailAdres, + END_TELNO endTelno, + MBTLNUM moblphonNo, + GROUP_ID groupId, + MBER_FXNUM mberFxnum, + MBER_EMAIL_ADRES mberEmailAdres, + MIDDLE_TELNO middleTelno, + SBSCRB_DE sbscrbDe, + LOCK_AT lockAt + FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateMber_S"> + + UPDATE COMTNGNRLMBER + SET MBER_ID = #{mberId}, + MBER_NM = #{mberNm}, + PASSWORD_HINT = #{passwordHint}, + PASSWORD_CNSR = #{passwordCnsr}, + IHIDNUM = #{ihidnum}, + SEXDSTN_CODE = #{sexdstnCode}, + ZIP = #{zip}, + ADRES = #{adres}, + AREA_NO = #{areaNo}, + MBER_STTUS = #{mberSttus}, + DETAIL_ADRES = #{detailAdres}, + END_TELNO = #{endTelno}, + MBTLNUM = #{moblphonNo}, + GROUP_ID = #{groupId}, + MBER_FXNUM = #{mberFxnum}, + MBER_EMAIL_ADRES = #{mberEmailAdres}, + MIDDLE_TELNO = #{middleTelno} + WHERE ESNTL_ID=#{uniqId} + + </update> + + <select id="selectStplat_S" resultMap="stplatMap"> + + SELECT + USE_STPLAT_ID , + USE_STPLAT_CN , + INFO_PROVD_AGRE_CN + FROM COMTNSTPLATINFO + WHERE USE_STPLAT_ID=#{stplatId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNGNRLMBER + SET + PASSWORD = #{password} + , CHG_PWD_LAST_PNTTM = sysdate() + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.MberManageVO"> + + SELECT + PASSWORD password + FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNGNRLMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_tibero.xml (revision 7) @@ -0,0 +1,229 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="entrprsManageDAO"> + + <resultMap id="stplatMap" type="egovframework.com.uss.umt.service.StplatVO"> + <result property="useStplatId" column="USE_STPLAT_ID"/> + <result property="useStplatCn" column="USE_STPLAT_CN"/> + <result property="infoProvdAgeCn" column="INFO_PROVD_AGRE_CN"/> + </resultMap> + + <insert id="insertEntrprs_S"> + + INSERT INTO COMTNENTRPRSMBER + ( ESNTL_ID , + ENTRPRS_MBER_ID , + ENTRPRS_SE_CODE , + BIZRNO , + JURIRNO , + CMPNY_NM , + CXFC , + ZIP , + ADRES , + ENTRPRS_MIDDLE_TELNO , + FXNUM , + INDUTY_CODE , + APPLCNT_NM , + SBSCRB_DE , + ENTRPRS_MBER_STTUS , + ENTRPRS_MBER_PASSWORD , + ENTRPRS_MBER_PASSWORD_HINT , + ENTRPRS_MBER_PASSWORD_CNSR , + GROUP_ID , + DETAIL_ADRES , + ENTRPRS_END_TELNO , + AREA_NO , + APPLCNT_EMAIL_ADRES , + APPLCNT_IHIDNUM , + CHG_PWD_LAST_PNTTM ) + VALUES ( + #{uniqId}, + #{entrprsmberId}, + #{entrprsSeCode}, + #{bizrno}, + #{jurirno}, + #{cmpnyNm}, + #{cxfc}, + #{zip}, + #{adres}, + #{entrprsMiddleTelno}, + #{fxnum}, + #{indutyCode}, + #{applcntNm}, + sysdate, + #{entrprsMberSttus}, + #{entrprsMberPassword}, + #{entrprsMberPasswordHint}, + #{entrprsMberPasswordCnsr}, + #{groupId}, + #{detailAdres}, + #{entrprsEndTelno}, + #{areaNo}, + #{applcntEmailAdres}, + #{applcntIhidnum}, + sysdate ) + + </insert> + + <delete id="deleteEntrprs_S"> + + DELETE FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectEntrprs_S" resultType="egovframework.com.uss.umt.service.EntrprsManageVO"> + + SELECT + ESNTL_ID uniqId, + 'USR02' userTy, + ENTRPRS_MBER_ID entrprsmberId, + ENTRPRS_SE_CODE entrprsSeCode, + BIZRNO bizrno, + JURIRNO jurirno, + CMPNY_NM cmpnyNm, + CXFC cxfc, + ZIP zip, + ADRES adres, + ENTRPRS_MIDDLE_TELNO entrprsMiddleTelno, + FXNUM fxnum, + INDUTY_CODE indutyCode, + APPLCNT_NM applcntNm, + SBSCRB_DE sbscrbDe, + ENTRPRS_MBER_STTUS entrprsMberSttus, + ENTRPRS_MBER_PASSWORD entrprsMberPassword, + ENTRPRS_MBER_PASSWORD_HINT entrprsMberPasswordHint, + ENTRPRS_MBER_PASSWORD_CNSR entrprsMberPasswordCnsr, + GROUP_ID groupId, + DETAIL_ADRES detailAdres, + ENTRPRS_END_TELNO entrprsEndTelno, + AREA_NO areaNo, + APPLCNT_IHIDNUM applcntIhidnum, + APPLCNT_EMAIL_ADRES applcntEmailAdres, + LOCK_AT lockAt + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateEntrprs_S"> + + UPDATE COMTNENTRPRSMBER + SET + ENTRPRS_MBER_ID = #{entrprsmberId}, + ENTRPRS_SE_CODE = #{entrprsSeCode}, + BIZRNO = #{bizrno}, + JURIRNO = #{jurirno}, + CMPNY_NM = #{cmpnyNm}, + CXFC = #{cxfc}, + ZIP = #{zip}, + ADRES = #{adres}, + ENTRPRS_MIDDLE_TELNO = #{entrprsMiddleTelno}, + FXNUM = #{fxnum}, + INDUTY_CODE = #{indutyCode}, + APPLCNT_NM = #{applcntNm}, + ENTRPRS_MBER_STTUS = #{entrprsMberSttus}, + ENTRPRS_MBER_PASSWORD_HINT = #{entrprsMberPasswordHint}, + ENTRPRS_MBER_PASSWORD_CNSR = #{entrprsMberPasswordCnsr}, + GROUP_ID = #{groupId}, + DETAIL_ADRES = #{detailAdres}, + ENTRPRS_END_TELNO = #{entrprsEndTelno}, + AREA_NO = #{areaNo}, + APPLCNT_EMAIL_ADRES = #{applcntEmailAdres} + WHERE ESNTL_ID=#{uniqId} + + </update> + + <select id="selectStplat_S" resultMap="stplatMap"> + + SELECT + USE_STPLAT_ID , + USE_STPLAT_CN , + INFO_PROVD_AGRE_CN + FROM COMTNSTPLATINFO + WHERE USE_STPLAT_ID=#{stplatId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNENTRPRSMBER + SET + ENTRPRS_MBER_PASSWORD = #{entrprsMberPassword} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.EntrprsManageVO"> + + SELECT + ENTRPRS_MBER_PASSWORD entrprsMberPassword + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{uniqId} + </select> + + <select id="selectEntrprsMberList" resultType="egovMap"> + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID as "uniqId", + 'USR02' as "userTy", + ENTRPRS_MBER_ID as "userId", + CMPNY_NM as "cmpnyNm", + APPLCNT_NM as "userNm", + APPLCNT_EMAIL_ADRES as "emailAdres", + AREA_NO as "areaNo", + ENTRPRS_MIDDLE_TELNO as "middleTelno", + ENTRPRS_END_TELNO as "endTelno", + '' as "moblphonNo", + GROUP_ID as "groupId", + ENTRPRS_MBER_STTUS as "sttus", + SBSCRB_DE as "sbscrbDe" + FROM COMTNENTRPRSMBER + WHERE 1=1 + ]]> + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND ENTRPRS_MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND ENTRPRS_MBER_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1"> + AND APPLCNT_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + <![CDATA[ + ORDER BY 13 DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectEntrprsMberListTotCnt" resultType="int"> + SELECT COUNT(1) totcnt + FROM COMTNENTRPRSMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND ENTRPRS_MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND ENTRPRS_MBER_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1"> + AND APPLCNT_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_maria.xml (revision 7) @@ -0,0 +1,308 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="userManageDAO"> + + <select id="selectUserList_S" resultType="egovMap"> +SELECT + uniqId, userTy, userId , userNm, emailAdres, areaNo, middleTelno, endTelno, moblphonNo, groupId, sttus, sbscrbDe +FROM( + SELECT + ESNTL_ID uniqId, + 'USR03' userTy, + EMPLYR_ID userId, + USER_NM userNm, + EMAIL_ADRES emailAdres, + AREA_NO areaNo, + HOUSE_MIDDLE_TELNO middleTelno, + HOUSE_END_TELNO endTelno, + MBTLNUM moblphonNo, + GROUP_ID groupId, + EMPLYR_STTUS_CODE sttus, + SBSCRB_DE sbscrbDe + FROM COMTNEMPLYRINFO + ) A + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND sttus LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + userId LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1">AND + userNm LIKE '%' #{searchKeyword} '%' + </if> + </if> + + ORDER BY sbscrbDe DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <select id="selectUserListTotCnt_S" resultType="int"> + SELECT COUNT(1) totcnt + FROM( + SELECT + ESNTL_ID uniqId, + 'USR03' userTy, + EMPLYR_ID userId, + USER_NM userNm, + EMAIL_ADRES emailAdres, + AREA_NO areaNo, + HOUSE_MIDDLE_TELNO middleTelno, + HOUSE_END_TELNO endTelno, + MBTLNUM moblphonNo, + GROUP_ID groupId, + EMPLYR_STTUS_CODE sttus, + SBSCRB_DE sbscrbDe + FROM COMTNEMPLYRINFO + ) A + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND sttus LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + userId LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1">AND + userNm LIKE '%' #{searchKeyword} '%' + </if> + </if> + </select> + + <insert id="insertUser_S"> + + INSERT INTO COMTNEMPLYRINFO + ( ESNTL_ID , + EMPLYR_ID , + USER_NM , + PASSWORD , + PASSWORD_HINT , + PASSWORD_CNSR , + EMPL_NO , + IHIDNUM , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + OFCPS_NM , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + SBSCRB_DE , + CRTFC_DN_VALUE , + CHG_PWD_LAST_PNTTM ) + VALUES ( + #{uniqId} , + #{emplyrId} , + #{emplyrNm} , + #{password} , + #{passwordHint} , + #{passwordCnsr} , + #{emplNo} , + #{ihidnum} , + #{sexdstnCode} , + #{brth} , + #{areaNo} , + #{homemiddleTelno} , + #{homeendTelno} , + #{fxnum} , + #{homeadres} , + #{detailAdres} , + #{zip} , + #{offmTelno} , + #{moblphonNo} , + #{emailAdres} , + #{ofcpsNm} , + #{groupId} , + #{orgnztId} , + #{insttCode} , + #{emplyrSttusCode} , + sysdate() , + #{subDn} , + sysdate() ) + + </insert> + + <delete id="deleteUser_S"> + + DELETE FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectUser_S" resultType="egovframework.com.uss.umt.service.UserManageVO"> + + SELECT + ESNTL_ID uniqId , + 'USR03' userTy, + EMPLYR_ID emplyrId , + USER_NM emplyrNm , + PASSWORD password , + PASSWORD_HINT passwordHint , + PASSWORD_CNSR passwordCnsr , + EMPL_NO emplNo , + IHIDNUM ihidnum , + SEXDSTN_CODE sexdstnCode , + BRTHDY brth , + AREA_NO areaNo , + HOUSE_MIDDLE_TELNO homemiddleTelno , + HOUSE_END_TELNO homeendTelno , + FXNUM fxnum , + HOUSE_ADRES homeadres , + DETAIL_ADRES detailAdres , + ZIP zip , + OFFM_TELNO offmTelno , + MBTLNUM moblphonNo , + EMAIL_ADRES emailAdres , + OFCPS_NM ofcpsNm , + GROUP_ID groupId , + ORGNZT_ID orgnztId , + PSTINST_CODE insttCode , + EMPLYR_STTUS_CODE emplyrSttusCode , + SBSCRB_DE sbscrbDe , + CRTFC_DN_VALUE subDn, + LOCK_AT lockAt + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateUser_S"> + + UPDATE COMTNEMPLYRINFO + SET EMPLYR_ID = #{emplyrId} , + USER_NM = #{emplyrNm} , + PASSWORD_HINT = #{passwordHint} , + PASSWORD_CNSR = #{passwordCnsr} , + EMPL_NO = #{emplNo} , + IHIDNUM = #{ihidnum} , + SEXDSTN_CODE = #{sexdstnCode} , + BRTHDY = #{brth} , + AREA_NO = #{areaNo} , + HOUSE_MIDDLE_TELNO = #{homemiddleTelno} , + HOUSE_END_TELNO = #{homeendTelno} , + FXNUM = #{fxnum} , + HOUSE_ADRES = #{homeadres} , + DETAIL_ADRES = #{detailAdres} , + ZIP = #{zip} , + OFFM_TELNO = #{offmTelno} , + MBTLNUM = #{moblphonNo} , + EMAIL_ADRES = #{emailAdres} , + OFCPS_NM = #{ofcpsNm} , + GROUP_ID = #{groupId} , + ORGNZT_ID = #{orgnztId} , + PSTINST_CODE = #{insttCode} , + EMPLYR_STTUS_CODE = #{emplyrSttusCode} , + CRTFC_DN_VALUE = #{subDn} + WHERE ESNTL_ID = #{uniqId} + + </update> + + <insert id="insertUserHistory_S"> + + INSERT INTO COMTHEMPLYRINFOCHANGEDTLS + ( EMPLYR_ID , + EMPL_NO , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + ESNTL_ID , + CHANGE_DE ) + SELECT + EMPLYR_ID , + EMPL_NO , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + ESNTL_ID , + now() + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID = #{uniqId} + + </insert> + + <select id="checkIdDplct_S" resultType="int"> + + SELECT COUNT(1) usedCnt + FROM( + SELECT + EMPLYR_ID userId + FROM COMTNEMPLYRINFO + UNION ALL + SELECT + ENTRPRS_MBER_ID userId + FROM COMTNENTRPRSMBER + UNION ALL + SELECT + MBER_ID userId + FROM COMTNGNRLMBER + ) A + WHERE userId = #{checkId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNEMPLYRINFO + SET + PASSWORD = #{password} + , CHG_PWD_LAST_PNTTM = sysdate() + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.UserManageVO"> + + SELECT + PASSWORD password + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_maria.xml (revision 7) @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="deptManageDAO"> + + <resultMap id="deptManageVO" type="egovframework.com.uss.umt.service.DeptManageVO"> + <result property="orgnztId" column="ORGNZT_ID"/> + <result property="orgnztNm" column="ORGNZT_NM"/> + <result property="orgnztDc" column="ORGNZT_DC"/> + </resultMap> + + <select id="selectDeptManageList" resultMap="deptManageVO"> + SELECT ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC + FROM COMTNORGNZTINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ORGNZT_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + <![CDATA[ + ORDER BY ORGNZT_ID DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + ]]> + </select> + + <select id="selectDeptManageListTotCnt" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNORGNZTINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ORGNZT_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </select> + + <select id="selectDeptManage" resultMap="deptManageVO"> + + SELECT ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC + FROM COMTNORGNZTINFO + WHERE ORGNZT_ID = #{orgnztId} + + </select> + + <insert id="insertDeptManage"> + + INSERT INTO COMTNORGNZTINFO + (ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC) + VALUES (#{orgnztId}, + #{orgnztNm}, + #{orgnztDc}) + + </insert> + + <update id="updateDeptManage"> + UPDATE COMTNORGNZTINFO + SET ORGNZT_NM = #{orgnztNm}, + ORGNZT_DC = #{orgnztDc} + WHERE ORGNZT_ID = #{orgnztId} + </update> + + <delete id="deleteDeptManage"> + + DELETE FROM COMTNORGNZTINFO + WHERE ORGNZT_ID = #{orgnztId} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_postgres.xml (revision 7) @@ -0,0 +1,225 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="mberManageDAO"> + + <resultMap id="stplatMap" type="egovframework.com.uss.umt.service.StplatVO"> + <result property="useStplatId" column="USE_STPLAT_ID"/> + <result property="useStplatCn" column="USE_STPLAT_CN"/> + <result property="infoProvdAgeCn" column="INFO_PROVD_AGRE_CN"/> + </resultMap> + + <select id="selectMberList" resultType="egovMap"> + SELECT + ESNTL_ID "uniqId", + 'USR01' "userTy", + MBER_ID "userId", + MBER_NM "userNm", + MBER_EMAIL_ADRES "emailAdres", + AREA_NO "areaNo", + MIDDLE_TELNO "middleTelno", + END_TELNO "endTelno", + MBTLNUM "moblphonNo", + GROUP_ID "groupId", + MBER_STTUS "sttus", + SBSCRB_DE "sbscrbDe" + FROM COMTNGNRLMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + MBER_ID LIKE '%' || #{searchKeyword} || '%' + </if> + <if test="searchCondition == 1">AND + MBER_NM LIKE '%' || #{searchKeyword} || '%' + </if> + </if> + ORDER BY SBSCRB_DE DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + + <select id="selectMberListTotCnt" resultType="int"> + SELECT COUNT(1) totcnt + FROM( + SELECT + ESNTL_ID "uniqId", + 'USR01' "userTy", + MBER_ID "userId", + MBER_NM "userNm", + MBER_EMAIL_ADRES "emailAdres", + AREA_NO "areaNo", + MIDDLE_TELNO "middleTelno", + END_TELNO "endTelno", + MBTLNUM "moblphonNo", + GROUP_ID "groupId", + MBER_STTUS "sttus", + SBSCRB_DE "sbscrbDe" + FROM COMTNGNRLMBER + ) A + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND a.sttus LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + "userId" LIKE '%' || #{searchKeyword} || '%' + </if> + <if test="searchCondition == 1">AND + "userNm" LIKE '%' || #{searchKeyword} || '%' + </if> + </if> + </select> + + <insert id="insertMber_S"> + + INSERT INTO COMTNGNRLMBER + ( + ESNTL_ID , + MBER_ID , + MBER_NM , + PASSWORD , + PASSWORD_HINT , + PASSWORD_CNSR , + IHIDNUM , + SEXDSTN_CODE , + ZIP , + ADRES , + AREA_NO , + MBER_STTUS , + DETAIL_ADRES , + END_TELNO , + MBTLNUM , + GROUP_ID , + MBER_FXNUM , + MBER_EMAIL_ADRES , + MIDDLE_TELNO , + SBSCRB_DE , + CHG_PWD_LAST_PNTTM ) + VALUES( + #{uniqId}, + #{mberId}, + #{mberNm}, + #{password}, + #{passwordHint}, + #{passwordCnsr}, + #{ihidnum}, + #{sexdstnCode}, + #{zip}, + #{adres}, + #{areaNo}, + #{mberSttus}, + #{detailAdres}, + #{endTelno}, + #{moblphonNo}, + #{groupId}, + #{mberFxnum}, + #{mberEmailAdres}, + #{middleTelno}, + NOW(), + NOW() ) + + </insert> + + <delete id="deleteMber_S"> + + DELETE FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectMber_S" resultType="egovframework.com.uss.umt.service.MberManageVO"> + + SELECT + ESNTL_ID uniqId, + 'USR01' userTy, + MBER_ID mberId, + MBER_NM mberNm, + PASSWORD "password", + PASSWORD_HINT passwordHint, + PASSWORD_CNSR passwordCnsr, + IHIDNUM ihidnum, + SEXDSTN_CODE sexdstnCode, + ZIP zip, + ADRES adres, + AREA_NO areaNo, + MBER_STTUS mberSttus, + DETAIL_ADRES detailAdres, + END_TELNO endTelno, + MBTLNUM moblphonNo, + GROUP_ID groupId, + MBER_FXNUM mberFxnum, + MBER_EMAIL_ADRES mberEmailAdres, + MIDDLE_TELNO middleTelno, + SBSCRB_DE sbscrbDe, + LOCK_AT lockAt + FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateMber_S"> + + UPDATE COMTNGNRLMBER + SET MBER_ID = #{mberId}, + MBER_NM = #{mberNm}, + PASSWORD_HINT = #{passwordHint}, + PASSWORD_CNSR = #{passwordCnsr}, + IHIDNUM = #{ihidnum}, + SEXDSTN_CODE = #{sexdstnCode}, + ZIP = #{zip}, + ADRES = #{adres}, + AREA_NO = #{areaNo}, + MBER_STTUS = #{mberSttus}, + DETAIL_ADRES = #{detailAdres}, + END_TELNO = #{endTelno}, + MBTLNUM = #{moblphonNo}, + GROUP_ID = #{groupId}, + MBER_FXNUM = #{mberFxnum}, + MBER_EMAIL_ADRES = #{mberEmailAdres}, + MIDDLE_TELNO = #{middleTelno} + WHERE ESNTL_ID=#{uniqId} + + </update> + + <select id="selectStplat_S" resultMap="stplatMap"> + + SELECT + USE_STPLAT_ID , + USE_STPLAT_CN , + INFO_PROVD_AGRE_CN + FROM COMTNSTPLATINFO + WHERE USE_STPLAT_ID=#{stplatId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNGNRLMBER + SET + PASSWORD = #{password} + , CHG_PWD_LAST_PNTTM = NOW() + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.MberManageVO"> + + SELECT + PASSWORD "password" + FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNGNRLMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_cubrid.xml (revision 7) @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="deptManageDAO"> + + <resultMap id="deptManageVO" type="egovframework.com.uss.umt.service.DeptManageVO"> + <result property="orgnztId" column="ORGNZT_ID"/> + <result property="orgnztNm" column="ORGNZT_NM"/> + <result property="orgnztDc" column="ORGNZT_DC"/> + </resultMap> + + <select id="selectDeptManageList" resultMap="deptManageVO"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC + FROM COMTNORGNZTINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + ORGNZT_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <![CDATA[ + ORDER BY ORGNZT_ID DESC + ) ALL_LIST + ) Z + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectDeptManageListTotCnt" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNORGNZTINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ORGNZT_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + + <select id="selectDeptManage" resultMap="deptManageVO"> + + SELECT ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC + FROM COMTNORGNZTINFO + WHERE ORGNZT_ID = #{orgnztId} + + </select> + + <insert id="insertDeptManage"> + + INSERT INTO COMTNORGNZTINFO + (ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC) + VALUES (#{orgnztId}, + #{orgnztNm}, + #{orgnztDc}) + + </insert> + + <update id="updateDeptManage"> + UPDATE COMTNORGNZTINFO + SET ORGNZT_NM = #{orgnztNm}, + ORGNZT_DC = #{orgnztDc} + WHERE ORGNZT_ID = #{orgnztId} + </update> + + <delete id="deleteDeptManage"> + + DELETE FROM COMTNORGNZTINFO + WHERE ORGNZT_ID = #{orgnztId} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_altibase.xml (revision 7) @@ -0,0 +1,234 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="entrprsManageDAO"> + + <resultMap id="stplatMap" type="egovframework.com.uss.umt.service.StplatVO"> + <result property="useStplatId" column="USE_STPLAT_ID"/> + <result property="useStplatCn" column="USE_STPLAT_CN"/> + <result property="infoProvdAgeCn" column="INFO_PROVD_AGRE_CN"/> + </resultMap> + + <insert id="insertEntrprs_S"> + + INSERT INTO COMTNENTRPRSMBER + ( ESNTL_ID , + ENTRPRS_MBER_ID , + ENTRPRS_SE_CODE , + BIZRNO , + JURIRNO , + CMPNY_NM , + CXFC , + ZIP , + ADRES , + ENTRPRS_MIDDLE_TELNO , + FXNUM , + INDUTY_CODE , + APPLCNT_NM , + SBSCRB_DE , + ENTRPRS_MBER_STTUS , + ENTRPRS_MBER_PASSWORD , + ENTRPRS_MBER_PASSWORD_HINT , + ENTRPRS_MBER_PASSWORD_CNSR , + GROUP_ID , + DETAIL_ADRES , + ENTRPRS_END_TELNO , + AREA_NO , + APPLCNT_EMAIL_ADRES , + APPLCNT_IHIDNUM , + CHG_PWD_LAST_PNTTM ) + VALUES ( + #{uniqId}, + #{entrprsmberId}, + #{entrprsSeCode}, + #{bizrno}, + #{jurirno}, + #{cmpnyNm}, + #{cxfc}, + #{zip}, + #{adres}, + #{entrprsMiddleTelno}, + #{fxnum}, + #{indutyCode}, + #{applcntNm}, + sysdate, + #{entrprsMberSttus}, + #{entrprsMberPassword}, + #{entrprsMberPasswordHint}, + #{entrprsMberPasswordCnsr}, + #{groupId}, + #{detailAdres}, + #{entrprsEndTelno}, + #{areaNo}, + #{applcntEmailAdres}, + #{applcntIhidnum}, + sysdate ) + + </insert> + + <delete id="deleteEntrprs_S"> + + DELETE FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectEntrprs_S" resultType="egovframework.com.uss.umt.service.EntrprsManageVO"> + + SELECT + ESNTL_ID as uniqId, + 'USR02' as userTy, + ENTRPRS_MBER_ID as entrprsmberId, + ENTRPRS_SE_CODE as entrprsSeCode, + BIZRNO as bizrno, + JURIRNO as jurirno, + CMPNY_NM as cmpnyNm, + CXFC as cxfc, + ZIP as zip, + ADRES as adres, + ENTRPRS_MIDDLE_TELNO as entrprsMiddleTelno, + FXNUM as fxnum, + INDUTY_CODE as indutyCode, + APPLCNT_NM as applcntNm, + SBSCRB_DE as sbscrbDe, + ENTRPRS_MBER_STTUS as entrprsMberSttus, + ENTRPRS_MBER_PASSWORD as entrprsMberPassword, + ENTRPRS_MBER_PASSWORD_HINT as entrprsMberPasswordHint, + ENTRPRS_MBER_PASSWORD_CNSR as entrprsMberPasswordCnsr, + GROUP_ID as groupId, + DETAIL_ADRES as detailAdres, + ENTRPRS_END_TELNO as entrprsEndTelno, + AREA_NO as areaNo, + APPLCNT_IHIDNUM as applcntIhidnum, + APPLCNT_EMAIL_ADRES as applcntEmailAdres, + LOCK_AT as lockAt + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateEntrprs_S"> + + UPDATE COMTNENTRPRSMBER + SET + ENTRPRS_MBER_ID = #{entrprsmberId}, + ENTRPRS_SE_CODE = #{entrprsSeCode}, + BIZRNO = #{bizrno}, + JURIRNO = #{jurirno}, + CMPNY_NM = #{cmpnyNm}, + CXFC = #{cxfc}, + ZIP = #{zip}, + ADRES = #{adres}, + ENTRPRS_MIDDLE_TELNO = #{entrprsMiddleTelno}, + FXNUM = #{fxnum}, + INDUTY_CODE = #{indutyCode}, + APPLCNT_NM = #{applcntNm}, + ENTRPRS_MBER_STTUS = #{entrprsMberSttus}, + ENTRPRS_MBER_PASSWORD_HINT = #{entrprsMberPasswordHint}, + ENTRPRS_MBER_PASSWORD_CNSR = #{entrprsMberPasswordCnsr}, + GROUP_ID = #{groupId}, + DETAIL_ADRES = #{detailAdres}, + ENTRPRS_END_TELNO = #{entrprsEndTelno}, + AREA_NO = #{areaNo}, + APPLCNT_EMAIL_ADRES = #{applcntEmailAdres} + WHERE ESNTL_ID=#{uniqId} + + </update> + + <select id="selectStplat_S" resultMap="stplatMap"> + + SELECT + USE_STPLAT_ID , + USE_STPLAT_CN , + INFO_PROVD_AGRE_CN + FROM COMTNSTPLATINFO + WHERE USE_STPLAT_ID=#{stplatId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNENTRPRSMBER + SET + ENTRPRS_MBER_PASSWORD = #{entrprsMberPassword} + , CHG_PWD_LAST_PNTTM = sysdate() + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.EntrprsManageVO"> + + SELECT + ENTRPRS_MBER_PASSWORD entrprsMberPassword + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <select id="selectEntrprsMberList" resultType="egovMap"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID as "uniqId", + 'USR02' as "userTy", + ENTRPRS_MBER_ID as "userId", + CMPNY_NM as "cmpnyNm", + APPLCNT_NM as "userNm", + APPLCNT_EMAIL_ADRES as "emailAdres", + AREA_NO as "areaNo", + ENTRPRS_MIDDLE_TELNO as "middleTelno", + ENTRPRS_END_TELNO as "endTelno", + '' as "moblphonNo", + GROUP_ID as "groupId", + ENTRPRS_MBER_STTUS as "sttus", + SBSCRB_DE as "sbscrbDe" + FROM COMTNENTRPRSMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND ENTRPRS_MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND ENTRPRS_MBER_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1"> + AND APPLCNT_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + <![CDATA[ + ORDER BY 13 DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + + <select id="selectEntrprsMberListTotCnt" resultType="int"> + <![CDATA[ + SELECT COUNT(1) totcnt + FROM COMTNENTRPRSMBER + WHERE 1=1 + AND ENTRPRS_MBER_STTUS LIKE #{sbscrbSttus} + ]]> + + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND ENTRPRS_MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND ENTRPRS_MBER_ID LIKE '%' || #{searchKeyword} || '%' + </if> + <if test="searchCondition == 1"> + APPLCNT_NM LIKE '%' || #{searchKeyword} || '%' + </if> + </if> + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_postgres.xml (revision 7) @@ -0,0 +1,245 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="entrprsManageDAO"> + + <resultMap id="stplatMap" type="egovframework.com.uss.umt.service.StplatVO"> + <result property="useStplatId" column="USE_STPLAT_ID"/> + <result property="useStplatCn" column="USE_STPLAT_CN"/> + <result property="infoProvdAgeCn" column="INFO_PROVD_AGRE_CN"/> + </resultMap> + + <insert id="insertEntrprs_S"> + + INSERT INTO COMTNENTRPRSMBER + ( ESNTL_ID , + ENTRPRS_MBER_ID , + ENTRPRS_SE_CODE , + BIZRNO , + JURIRNO , + CMPNY_NM , + CXFC , + ZIP , + ADRES , + ENTRPRS_MIDDLE_TELNO , + FXNUM , + INDUTY_CODE , + APPLCNT_NM , + SBSCRB_DE , + ENTRPRS_MBER_STTUS , + ENTRPRS_MBER_PASSWORD , + ENTRPRS_MBER_PASSWORD_HINT , + ENTRPRS_MBER_PASSWORD_CNSR , + GROUP_ID , + DETAIL_ADRES , + ENTRPRS_END_TELNO , + AREA_NO , + APPLCNT_EMAIL_ADRES , + APPLCNT_IHIDNUM , + CHG_PWD_LAST_PNTTM ) + VALUES ( + #{uniqId}, + #{entrprsmberId}, + #{entrprsSeCode}, + #{bizrno}, + #{jurirno}, + #{cmpnyNm}, + #{cxfc}, + #{zip}, + #{adres}, + #{entrprsMiddleTelno}, + #{fxnum}, + #{indutyCode}, + #{applcntNm}, + NOW(), + #{entrprsMberSttus}, + #{entrprsMberPassword}, + #{entrprsMberPasswordHint}, + #{entrprsMberPasswordCnsr}, + #{groupId}, + #{detailAdres}, + #{entrprsEndTelno}, + #{areaNo}, + #{applcntEmailAdres}, + #{applcntIhidnum}, + NOW() ) + + </insert> + + <delete id="deleteEntrprs_S"> + + DELETE FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectEntrprs_S" resultType="egovframework.com.uss.umt.service.EntrprsManageVO"> + + SELECT + ESNTL_ID "uniqId", + 'USR02' "userTy", + ENTRPRS_MBER_ID "entrprsmberId", + ENTRPRS_SE_CODE "entrprsSeCode", + BIZRNO "bizrno", + JURIRNO "jurirno", + CMPNY_NM "cmpnyNm", + CXFC "cxfc", + ZIP "zip", + ADRES "adres", + ENTRPRS_MIDDLE_TELNO "entrprsMiddleTelno", + FXNUM "fxnum", + INDUTY_CODE "indutyCode", + APPLCNT_NM "applcntNm", + SBSCRB_DE "sbscrbDe", + ENTRPRS_MBER_STTUS "entrprsMberSttus", + ENTRPRS_MBER_PASSWORD "entrprsMberPassword", + ENTRPRS_MBER_PASSWORD_HINT "entrprsMberPasswordHint", + ENTRPRS_MBER_PASSWORD_CNSR "entrprsMberPasswordCnsr", + GROUP_ID "groupId", + DETAIL_ADRES "detailAdres", + ENTRPRS_END_TELNO "entrprsEndTelno", + AREA_NO "areaNo", + APPLCNT_IHIDNUM "applcntIhidnum", + APPLCNT_EMAIL_ADRES "applcntEmailAdres", + LOCK_AT "lockAt" + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateEntrprs_S"> + + UPDATE COMTNENTRPRSMBER + SET + ENTRPRS_MBER_ID = #{entrprsmberId}, + ENTRPRS_SE_CODE = #{entrprsSeCode}, + BIZRNO = #{bizrno}, + JURIRNO = #{jurirno}, + CMPNY_NM = #{cmpnyNm}, + CXFC = #{cxfc}, + ZIP = #{zip}, + ADRES = #{adres}, + ENTRPRS_MIDDLE_TELNO = #{entrprsMiddleTelno}, + FXNUM = #{fxnum}, + INDUTY_CODE = #{indutyCode}, + APPLCNT_NM = #{applcntNm}, + ENTRPRS_MBER_STTUS = #{entrprsMberSttus}, + ENTRPRS_MBER_PASSWORD_HINT = #{entrprsMberPasswordHint}, + ENTRPRS_MBER_PASSWORD_CNSR = #{entrprsMberPasswordCnsr}, + GROUP_ID = #{groupId}, + DETAIL_ADRES = #{detailAdres}, + ENTRPRS_END_TELNO = #{entrprsEndTelno}, + AREA_NO = #{areaNo}, + APPLCNT_EMAIL_ADRES = #{applcntEmailAdres} + WHERE ESNTL_ID=#{uniqId} + + </update> + + <select id="selectStplat_S" resultMap="stplatMap"> + + SELECT + USE_STPLAT_ID , + USE_STPLAT_CN , + INFO_PROVD_AGRE_CN + FROM COMTNSTPLATINFO + WHERE USE_STPLAT_ID=#{stplatId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNENTRPRSMBER + SET + ENTRPRS_MBER_PASSWORD = #{entrprsMberPassword} + , CHG_PWD_LAST_PNTTM = NOW() + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.EntrprsManageVO"> + + SELECT + ENTRPRS_MBER_PASSWORD entrprsMberPassword + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <select id="selectEntrprsMberList" resultType="egovMap"> + + SELECT + ESNTL_ID "uniqId", + 'USR02' "userTy", + ENTRPRS_MBER_ID "userId", + CMPNY_NM "cmpnyNm", + APPLCNT_NM "userNm", + APPLCNT_EMAIL_ADRES "emailAdres", + AREA_NO "areaNo", + ENTRPRS_MIDDLE_TELNO "middleTelno", + ENTRPRS_END_TELNO "endTelno", + '' "moblphonNo", + GROUP_ID "groupId", + ENTRPRS_MBER_STTUS "sttus", + SBSCRB_DE "sbscrbDe" + FROM COMTNENTRPRSMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND ENTRPRS_MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + ENTRPRS_MBER_ID LIKE '%' || #{searchKeyword} || '%' + </if> + <if test="searchCondition == 1">AND + APPLCNT_NM LIKE '%' || #{searchKeyword} || '%' + </if> + </if> + + ORDER BY SBSCRB_DE DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + + <select id="selectEntrprsMberListTotCnt" resultType="int"> + SELECT COUNT(1) totcnt + FROM( + SELECT + ESNTL_ID "uniqId", + 'USR02' "userTy", + ENTRPRS_MBER_ID "userId", + CMPNY_NM "cmpnyNm", + APPLCNT_NM "userNm", + APPLCNT_EMAIL_ADRES "emailAdres", + AREA_NO "areaNo", + ENTRPRS_MIDDLE_TELNO "middleTelno", + ENTRPRS_END_TELNO "endTelno", + '' "moblphonNo", + GROUP_ID "groupId", + ENTRPRS_MBER_STTUS "sttus", + SBSCRB_DE "sbscrbDe" + FROM COMTNENTRPRSMBER + ) A + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND a.sttus LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + a."userId" LIKE '%' || #{searchKeyword} || '%' + </if> + <if test="searchCondition == 1">AND + a."userNm" LIKE '%' || #{searchKeyword} || '%' + </if> + </if> + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_oracle.xml (revision 7) @@ -0,0 +1,213 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="mberManageDAO"> + + <resultMap id="stplatMap" type="egovframework.com.uss.umt.service.StplatVO"> + <result property="useStplatId" column="USE_STPLAT_ID"/> + <result property="useStplatCn" column="USE_STPLAT_CN"/> + <result property="infoProvdAgeCn" column="INFO_PROVD_AGRE_CN"/> + </resultMap> + + <select id="selectMberList" resultType="egovMap"> +SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID as "uniqId", + 'USR01' as "userTy", + MBER_ID as "userId", + MBER_NM as "userNm", + MBER_EMAIL_ADRES as "emailAdres", + AREA_NO as "areaNo", + MIDDLE_TELNO as "middleTelno", + END_TELNO as "endTelno", + MBTLNUM as "moblphonNo", + GROUP_ID as "groupId", + MBER_STTUS as "sttus", + SBSCRB_DE as "sbscrbDe" + FROM COMTNGNRLMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + MBER_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1">AND + MBER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + <![CDATA[ + ORDER BY 12 DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + + <select id="selectMberListTotCnt" resultType="int"> + SELECT COUNT(1) totcnt + FROM COMTNGNRLMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + MBER_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1">AND + MBER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + </select> + + <insert id="insertMber_S"> + + INSERT INTO COMTNGNRLMBER + ( + ESNTL_ID , + MBER_ID , + MBER_NM , + PASSWORD , + PASSWORD_HINT , + PASSWORD_CNSR , + IHIDNUM , + SEXDSTN_CODE , + ZIP , + ADRES , + AREA_NO , + MBER_STTUS , + DETAIL_ADRES , + END_TELNO , + MBTLNUM , + GROUP_ID , + MBER_FXNUM , + MBER_EMAIL_ADRES , + MIDDLE_TELNO , + SBSCRB_DE , + CHG_PWD_LAST_PNTTM ) + VALUES( + #{uniqId}, + #{mberId}, + #{mberNm}, + #{password}, + #{passwordHint}, + #{passwordCnsr}, + #{ihidnum}, + #{sexdstnCode}, + #{zip}, + #{adres}, + #{areaNo}, + #{mberSttus}, + #{detailAdres}, + #{endTelno}, + #{moblphonNo}, + #{groupId}, + #{mberFxnum}, + #{mberEmailAdres}, + #{middleTelno}, + sysdate, + sysdate ) + + </insert> + + <delete id="deleteMber_S"> + + DELETE FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectMber_S" resultType="egovframework.com.uss.umt.service.MberManageVO"> + + SELECT + ESNTL_ID uniqId, + 'USR01' userTy, + MBER_ID mberId, + MBER_NM mberNm, + PASSWORD password, + PASSWORD_HINT passwordHint, + PASSWORD_CNSR passwordCnsr, + IHIDNUM ihidnum, + SEXDSTN_CODE sexdstnCode, + ZIP zip, + ADRES adres, + AREA_NO areaNo, + MBER_STTUS mberSttus, + DETAIL_ADRES detailAdres, + END_TELNO endTelno, + MBTLNUM moblphonNo, + GROUP_ID groupId, + MBER_FXNUM mberFxnum, + MBER_EMAIL_ADRES mberEmailAdres, + MIDDLE_TELNO middleTelno, + SBSCRB_DE sbscrbDe, + LOCK_AT lockAt + FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateMber_S"> + + UPDATE COMTNGNRLMBER + SET MBER_ID = #{mberId}, + MBER_NM = #{mberNm}, + PASSWORD_HINT = #{passwordHint}, + PASSWORD_CNSR = #{passwordCnsr}, + IHIDNUM = #{ihidnum}, + SEXDSTN_CODE = #{sexdstnCode}, + ZIP = #{zip}, + ADRES = #{adres}, + AREA_NO = #{areaNo}, + MBER_STTUS = #{mberSttus}, + DETAIL_ADRES = #{detailAdres}, + END_TELNO = #{endTelno}, + MBTLNUM = #{moblphonNo}, + GROUP_ID = #{groupId}, + MBER_FXNUM = #{mberFxnum}, + MBER_EMAIL_ADRES = #{mberEmailAdres}, + MIDDLE_TELNO = #{middleTelno} + WHERE ESNTL_ID=#{uniqId} + + </update> + + <select id="selectStplat_S" resultMap="stplatMap"> + + SELECT + USE_STPLAT_ID , + USE_STPLAT_CN , + INFO_PROVD_AGRE_CN + FROM COMTNSTPLATINFO + WHERE USE_STPLAT_ID=#{stplatId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNGNRLMBER + SET + PASSWORD = #{password} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.MberManageVO"> + + SELECT + PASSWORD password + FROM COMTNGNRLMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNGNRLMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovMberManage_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_oracle.xml (revision 7) @@ -0,0 +1,229 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="entrprsManageDAO"> + + <resultMap id="stplatMap" type="egovframework.com.uss.umt.service.StplatVO"> + <result property="useStplatId" column="USE_STPLAT_ID"/> + <result property="useStplatCn" column="USE_STPLAT_CN"/> + <result property="infoProvdAgeCn" column="INFO_PROVD_AGRE_CN"/> + </resultMap> + + <insert id="insertEntrprs_S"> + + INSERT INTO COMTNENTRPRSMBER + ( ESNTL_ID , + ENTRPRS_MBER_ID , + ENTRPRS_SE_CODE , + BIZRNO , + JURIRNO , + CMPNY_NM , + CXFC , + ZIP , + ADRES , + ENTRPRS_MIDDLE_TELNO , + FXNUM , + INDUTY_CODE , + APPLCNT_NM , + SBSCRB_DE , + ENTRPRS_MBER_STTUS , + ENTRPRS_MBER_PASSWORD , + ENTRPRS_MBER_PASSWORD_HINT , + ENTRPRS_MBER_PASSWORD_CNSR , + GROUP_ID , + DETAIL_ADRES , + ENTRPRS_END_TELNO , + AREA_NO , + APPLCNT_EMAIL_ADRES , + APPLCNT_IHIDNUM , + CHG_PWD_LAST_PNTTM ) + VALUES ( + #{uniqId}, + #{entrprsmberId}, + #{entrprsSeCode}, + #{bizrno}, + #{jurirno}, + #{cmpnyNm}, + #{cxfc}, + #{zip}, + #{adres}, + #{entrprsMiddleTelno}, + #{fxnum}, + #{indutyCode}, + #{applcntNm}, + sysdate, + #{entrprsMberSttus}, + #{entrprsMberPassword}, + #{entrprsMberPasswordHint}, + #{entrprsMberPasswordCnsr}, + #{groupId}, + #{detailAdres}, + #{entrprsEndTelno}, + #{areaNo}, + #{applcntEmailAdres}, + #{applcntIhidnum}, + sysdate ) + + </insert> + + <delete id="deleteEntrprs_S"> + + DELETE FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectEntrprs_S" resultType="egovframework.com.uss.umt.service.EntrprsManageVO"> + + SELECT + ESNTL_ID uniqId, + 'USR02' userTy, + ENTRPRS_MBER_ID entrprsmberId, + ENTRPRS_SE_CODE entrprsSeCode, + BIZRNO bizrno, + JURIRNO jurirno, + CMPNY_NM cmpnyNm, + CXFC cxfc, + ZIP zip, + ADRES adres, + ENTRPRS_MIDDLE_TELNO entrprsMiddleTelno, + FXNUM fxnum, + INDUTY_CODE indutyCode, + APPLCNT_NM applcntNm, + SBSCRB_DE sbscrbDe, + ENTRPRS_MBER_STTUS entrprsMberSttus, + ENTRPRS_MBER_PASSWORD entrprsMberPassword, + ENTRPRS_MBER_PASSWORD_HINT entrprsMberPasswordHint, + ENTRPRS_MBER_PASSWORD_CNSR entrprsMberPasswordCnsr, + GROUP_ID groupId, + DETAIL_ADRES detailAdres, + ENTRPRS_END_TELNO entrprsEndTelno, + AREA_NO areaNo, + APPLCNT_IHIDNUM applcntIhidnum, + APPLCNT_EMAIL_ADRES applcntEmailAdres, + LOCK_AT lockAt + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateEntrprs_S"> + + UPDATE COMTNENTRPRSMBER + SET + ENTRPRS_MBER_ID = #{entrprsmberId}, + ENTRPRS_SE_CODE = #{entrprsSeCode}, + BIZRNO = #{bizrno}, + JURIRNO = #{jurirno}, + CMPNY_NM = #{cmpnyNm}, + CXFC = #{cxfc}, + ZIP = #{zip}, + ADRES = #{adres}, + ENTRPRS_MIDDLE_TELNO = #{entrprsMiddleTelno}, + FXNUM = #{fxnum}, + INDUTY_CODE = #{indutyCode}, + APPLCNT_NM = #{applcntNm}, + ENTRPRS_MBER_STTUS = #{entrprsMberSttus}, + ENTRPRS_MBER_PASSWORD_HINT = #{entrprsMberPasswordHint}, + ENTRPRS_MBER_PASSWORD_CNSR = #{entrprsMberPasswordCnsr}, + GROUP_ID = #{groupId}, + DETAIL_ADRES = #{detailAdres}, + ENTRPRS_END_TELNO = #{entrprsEndTelno}, + AREA_NO = #{areaNo}, + APPLCNT_EMAIL_ADRES = #{applcntEmailAdres} + WHERE ESNTL_ID=#{uniqId} + + </update> + + <select id="selectStplat_S" resultMap="stplatMap"> + + SELECT + USE_STPLAT_ID , + USE_STPLAT_CN , + INFO_PROVD_AGRE_CN + FROM COMTNSTPLATINFO + WHERE USE_STPLAT_ID=#{stplatId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNENTRPRSMBER + SET + ENTRPRS_MBER_PASSWORD = #{entrprsMberPassword} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.EntrprsManageVO"> + + SELECT + ENTRPRS_MBER_PASSWORD entrprsMberPassword + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID=#{uniqId} + + </select> + + <select id="selectEntrprsMberList" resultType="egovMap"> + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID as "uniqId", + 'USR02' as "userTy", + ENTRPRS_MBER_ID as "userId", + CMPNY_NM as "cmpnyNm", + APPLCNT_NM as "userNm", + APPLCNT_EMAIL_ADRES as "emailAdres", + AREA_NO as "areaNo", + ENTRPRS_MIDDLE_TELNO as "middleTelno", + ENTRPRS_END_TELNO as "endTelno", + '' as "moblphonNo", + GROUP_ID as "groupId", + ENTRPRS_MBER_STTUS as "sttus", + SBSCRB_DE as "sbscrbDe" + FROM COMTNENTRPRSMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND ENTRPRS_MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND ENTRPRS_MBER_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1"> + AND APPLCNT_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + <![CDATA[ + ORDER BY 13 DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + + <select id="selectEntrprsMberListTotCnt" resultType="int"> + SELECT COUNT(1) totcnt + FROM COMTNENTRPRSMBER + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND ENTRPRS_MBER_STTUS LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND ENTRPRS_MBER_ID LIKE '%' || #{searchKeyword} || '%' + </if> + <if test="searchCondition == 1"> + AND APPLCNT_NM LIKE '%' || #{searchKeyword} || '%' + </if> + </if> + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovEntrprsManage_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_altibase.xml (revision 7) @@ -0,0 +1,291 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="userManageDAO"> + + <select id="selectUserList_S" resultType="egovMap"> +SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID as "uniqId", + 'USR03' as "userTy", + EMPLYR_ID as "userId", + USER_NM as "userNm", + EMAIL_ADRES as "emailAdres", + AREA_NO as "areaNo", + HOUSE_MIDDLE_TELNO as "middleTelno", + HOUSE_END_TELNO as "endTelno", + MBTLNUM as "moblphonNo", + GROUP_ID as "groupId", + EMPLYR_STTUS_CODE as "sttus", + SBSCRB_DE as "sbscrbDe" + FROM COMTNEMPLYRINFO + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND EMPLYR_STTUS_CODE LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND EMPLYR_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1"> + AND USER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + <![CDATA[ + ORDER BY 12 DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectUserListTotCnt_S" resultType="int"> + SELECT COUNT(1) totcnt + FROM COMTNEMPLYRINFO + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND EMPLYR_STTUS_CODE LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND EMPLYR_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1"> + AND USER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + </select> + + <insert id="insertUser_S"> + + INSERT INTO COMTNEMPLYRINFO + ( ESNTL_ID , + EMPLYR_ID , + USER_NM , + PASSWORD , + PASSWORD_HINT , + PASSWORD_CNSR , + EMPL_NO , + IHIDNUM , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + OFCPS_NM , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + SBSCRB_DE , + CRTFC_DN_VALUE , + CHG_PWD_LAST_PNTTM ) + VALUES ( + #{uniqId} , + #{emplyrId} , + #{emplyrNm} , + #{password} , + #{passwordHint} , + #{passwordCnsr} , + #{emplNo} , + #{ihidnum} , + #{sexdstnCode} , + #{brth} , + #{areaNo} , + #{homemiddleTelno} , + #{homeendTelno} , + #{fxnum} , + #{homeadres} , + #{detailAdres} , + #{zip} , + #{offmTelno} , + #{moblphonNo} , + #{emailAdres} , + #{ofcpsNm} , + #{groupId} , + #{orgnztId} , + #{insttCode} , + #{emplyrSttusCode} , + sysdate , + #{subDn} , + sysdate ) + + </insert> + + <delete id="deleteUser_S"> + + DELETE FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectUser_S" resultType="egovframework.com.uss.umt.service.UserManageVO"> + + SELECT + ESNTL_ID uniqId , + 'USR03' userTy, + EMPLYR_ID emplyrId , + USER_NM emplyrNm , + PASSWORD password , + PASSWORD_HINT passwordHint , + PASSWORD_CNSR passwordCnsr , + EMPL_NO emplNo , + IHIDNUM ihidnum , + SEXDSTN_CODE sexdstnCode , + BRTHDY brth , + AREA_NO areaNo , + HOUSE_MIDDLE_TELNO homemiddleTelno , + HOUSE_END_TELNO homeendTelno , + FXNUM fxnum , + HOUSE_ADRES homeadres , + DETAIL_ADRES detailAdres , + ZIP zip , + OFFM_TELNO offmTelno , + MBTLNUM moblphonNo , + EMAIL_ADRES emailAdres , + OFCPS_NM ofcpsNm , + GROUP_ID groupId , + ORGNZT_ID orgnztId , + PSTINST_CODE insttCode , + EMPLYR_STTUS_CODE emplyrSttusCode , + SBSCRB_DE sbscrbDe , + CRTFC_DN_VALUE subDn, + LOCK_AT lockAt + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateUser_S"> + + UPDATE COMTNEMPLYRINFO + SET EMPLYR_ID = #{emplyrId} , + USER_NM = #{emplyrNm} , + PASSWORD_HINT = #{passwordHint} , + PASSWORD_CNSR = #{passwordCnsr} , + EMPL_NO = #{emplNo} , + IHIDNUM = #{ihidnum} , + SEXDSTN_CODE = #{sexdstnCode} , + BRTHDY = #{brth} , + AREA_NO = #{areaNo} , + HOUSE_MIDDLE_TELNO = #{homemiddleTelno} , + HOUSE_END_TELNO = #{homeendTelno} , + FXNUM = #{fxnum} , + HOUSE_ADRES = #{homeadres} , + DETAIL_ADRES = #{detailAdres} , + ZIP = #{zip} , + OFFM_TELNO = #{offmTelno} , + MBTLNUM = #{moblphonNo} , + EMAIL_ADRES = #{emailAdres} , + OFCPS_NM = #{ofcpsNm} , + GROUP_ID = #{groupId} , + ORGNZT_ID = #{orgnztId} , + PSTINST_CODE = #{insttCode} , + EMPLYR_STTUS_CODE = #{emplyrSttusCode} , + CRTFC_DN_VALUE = #{subDn} + WHERE ESNTL_ID = #{uniqId} + + </update> + + <insert id="insertUserHistory_S"> + + INSERT INTO COMTHEMPLYRINFOCHANGEDTLS + ( EMPLYR_ID , + EMPL_NO , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + ESNTL_ID , + CHANGE_DE ) + SELECT + EMPLYR_ID , + EMPL_NO , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + ESNTL_ID , + TO_CHAR(SYSDATE, 'YYYYMMDD') + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID = #{uniqId} + + </insert> + + <select id="checkIdDplct_S" resultType="int"> + + SELECT COUNT(1) usedCnt + FROM( + SELECT + EMPLYR_ID userId + FROM COMTNEMPLYRINFO + UNION ALL + SELECT + ENTRPRS_MBER_ID userId + FROM COMTNENTRPRSMBER + UNION ALL + SELECT + MBER_ID userId + FROM COMTNGNRLMBER + ) A + WHERE userId = #{checkId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNEMPLYRINFO + SET + PASSWORD = #{password} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.UserManageVO"> + + SELECT + PASSWORD password + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_postgres.xml (revision 7) @@ -0,0 +1,304 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="userManageDAO"> + + <select id="selectUserList_S" resultType="egovMap"> + SELECT + ESNTL_ID "uniqId", + 'USR03' "userTy", + EMPLYR_ID "userId", + USER_NM "userNm", + EMAIL_ADRES "emailAdres", + AREA_NO "areaNo", + HOUSE_MIDDLE_TELNO "middleTelno", + HOUSE_END_TELNO "endTelno", + MBTLNUM "moblphonNo", + GROUP_ID "groupId", + EMPLYR_STTUS_CODE "sttus", + SBSCRB_DE "sbscrbDe" + FROM COMTNEMPLYRINFO + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND EMPLYR_STTUS_CODE LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + EMPLYR_ID LIKE '%' || #{searchKeyword} || '%' + </if> + <if test="searchCondition == 1">AND + USER_NM LIKE '%' || #{searchKeyword} || '%' + </if> + </if> + + ORDER BY SBSCRB_DE DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <select id="selectUserListTotCnt_S" resultType="int"> + SELECT COUNT(1) totcnt + FROM( + SELECT + ESNTL_ID "uniqId", + 'USR03' "userTy", + EMPLYR_ID "userId", + USER_NM "userNm", + EMAIL_ADRES "emailAdres", + AREA_NO "areaNo", + HOUSE_MIDDLE_TELNO "middleTelno", + HOUSE_END_TELNO "endTelno", + MBTLNUM "moblphonNo", + GROUP_ID "groupId", + EMPLYR_STTUS_CODE "sttus", + SBSCRB_DE "sbscrbDe" + FROM COMTNEMPLYRINFO + ) A + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND sttus LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + "userId" LIKE '%' || #{searchKeyword} || '%' + </if> + <if test="searchCondition == 1">AND + "userNm" LIKE '%' || #{searchKeyword} || '%' + </if> + </if> + </select> + + <insert id="insertUser_S"> + + INSERT INTO COMTNEMPLYRINFO + ( ESNTL_ID , + EMPLYR_ID , + USER_NM , + PASSWORD , + PASSWORD_HINT , + PASSWORD_CNSR , + EMPL_NO , + IHIDNUM , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + OFCPS_NM , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + SBSCRB_DE , + CRTFC_DN_VALUE , + CHG_PWD_LAST_PNTTM ) + VALUES ( + #{uniqId} , + #{emplyrId} , + #{emplyrNm} , + #{password} , + #{passwordHint} , + #{passwordCnsr} , + #{emplNo} , + #{ihidnum} , + #{sexdstnCode} , + #{brth} , + #{areaNo} , + #{homemiddleTelno} , + #{homeendTelno} , + #{fxnum} , + #{homeadres} , + #{detailAdres} , + #{zip} , + #{offmTelno} , + #{moblphonNo} , + #{emailAdres} , + #{ofcpsNm} , + #{groupId} , + #{orgnztId} , + #{insttCode} , + #{emplyrSttusCode} , + NOW() , + #{subDn} , + NOW() ) + + </insert> + + <delete id="deleteUser_S"> + + DELETE FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectUser_S" resultType="egovframework.com.uss.umt.service.UserManageVO"> + + SELECT + ESNTL_ID "uniqId" , + 'USR03' "userTy" , + EMPLYR_ID "emplyrId" , + USER_NM "emplyrNm" , + PASSWORD "password" , + PASSWORD_HINT "passwordHint" , + PASSWORD_CNSR "passwordCnsr" , + EMPL_NO "emplNo" , + IHIDNUM "ihidnum" , + SEXDSTN_CODE "sexdstnCode" , + BRTHDY "brth" , + AREA_NO "areaNo" , + HOUSE_MIDDLE_TELNO "homemiddleTelno" , + HOUSE_END_TELNO "homeendTelno" , + FXNUM "fxnum" , + HOUSE_ADRES "homeadres" , + DETAIL_ADRES "detailAdres" , + ZIP "zip" , + OFFM_TELNO "offmTelno" , + MBTLNUM "moblphonNo" , + EMAIL_ADRES "emailAdres" , + OFCPS_NM "ofcpsNm" , + GROUP_ID "groupId" , + ORGNZT_ID "orgnztId" , + PSTINST_CODE "insttCode" , + EMPLYR_STTUS_CODE "emplyrSttusCode" , + SBSCRB_DE "sbscrbDe" , + CRTFC_DN_VALUE "subDn" , + LOCK_AT "lockAt" + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateUser_S"> + + UPDATE COMTNEMPLYRINFO + SET EMPLYR_ID = #{emplyrId} , + USER_NM = #{emplyrNm} , + PASSWORD_HINT = #{passwordHint} , + PASSWORD_CNSR = #{passwordCnsr} , + EMPL_NO = #{emplNo} , + IHIDNUM = #{ihidnum} , + SEXDSTN_CODE = #{sexdstnCode} , + BRTHDY = #{brth} , + AREA_NO = #{areaNo} , + HOUSE_MIDDLE_TELNO = #{homemiddleTelno} , + HOUSE_END_TELNO = #{homeendTelno} , + FXNUM = #{fxnum} , + HOUSE_ADRES = #{homeadres} , + DETAIL_ADRES = #{detailAdres} , + ZIP = #{zip} , + OFFM_TELNO = #{offmTelno} , + MBTLNUM = #{moblphonNo} , + EMAIL_ADRES = #{emailAdres} , + OFCPS_NM = #{ofcpsNm} , + GROUP_ID = #{groupId} , + ORGNZT_ID = #{orgnztId} , + PSTINST_CODE = #{insttCode} , + EMPLYR_STTUS_CODE = #{emplyrSttusCode} , + CRTFC_DN_VALUE = #{subDn} + WHERE ESNTL_ID = #{uniqId} + + </update> + + <insert id="insertUserHistory_S"> + + INSERT INTO COMTHEMPLYRINFOCHANGEDTLS + ( EMPLYR_ID , + EMPL_NO , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + ESNTL_ID , + CHANGE_DE ) + SELECT + EMPLYR_ID , + EMPL_NO , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + ESNTL_ID , + TO_CHAR(NOW(),'YYYYmmddHH24MISS') + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID = #{uniqId} + + </insert> + + <select id="checkIdDplct_S" resultType="int"> + + SELECT COUNT(1) "usedCnt" + FROM( + SELECT + EMPLYR_ID "userId" + FROM COMTNEMPLYRINFO + UNION ALL + SELECT + ENTRPRS_MBER_ID "userId" + FROM COMTNENTRPRSMBER + UNION ALL + SELECT + MBER_ID "userId" + FROM COMTNGNRLMBER + ) A + WHERE "userId" = #{checkId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNEMPLYRINFO + SET + PASSWORD = #{password} + , CHG_PWD_LAST_PNTTM = NOW() + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.UserManageVO"> + + SELECT + PASSWORD "password" + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_tibero.xml (revision 7) @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="DeptManage"> + + <resultMap id="deptManageVO" type="egovframework.com.uss.umt.service.DeptManageVO"> + <result property="orgnztId" column="ORGNZT_ID"/> + <result property="orgnztNm" column="ORGNZT_NM"/> + <result property="orgnztDc" column="ORGNZT_DC"/> + </resultMap> + + <select id="selectDeptManageList" resultMap="deptManageVO"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC + FROM COMTNORGNZTINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + ORGNZT_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <![CDATA[ + ORDER BY ORGNZT_ID DESC + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <select id="selectDeptManageListTotCnt" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNORGNZTINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ORGNZT_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + + <select id="selectDeptManage" resultMap="deptManageVO"> + + SELECT ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC + FROM COMTNORGNZTINFO + WHERE ORGNZT_ID = #{orgnztId} + + </select> + + <insert id="insertDeptManage"> + + INSERT INTO COMTNORGNZTINFO + (ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC) + VALUES (#{orgnztId}, + #{orgnztNm}, + #{orgnztDc}) + + </insert> + + <update id="updateDeptManage"> + UPDATE COMTNORGNZTINFO + SET ORGNZT_NM = #{orgnztNm}, + ORGNZT_DC = #{orgnztDc} + WHERE ORGNZT_ID = #{orgnztId} + </update> + + <delete id="deleteDeptManage"> + + DELETE FROM COMTNORGNZTINFO + WHERE ORGNZT_ID = #{orgnztId} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_tibero.xml (revision 7) @@ -0,0 +1,290 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="userManageDAO"> + + <select id="selectUserList_S" resultType="egovMap"> +SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID as "uniqId", + 'USR03' as "userTy", + EMPLYR_ID as "userId", + USER_NM as "userNm", + EMAIL_ADRES as "emailAdres", + AREA_NO as "areaNo", + HOUSE_MIDDLE_TELNO as "middleTelno", + HOUSE_END_TELNO as "endTelno", + MBTLNUM as "moblphonNo", + GROUP_ID as "groupId", + EMPLYR_STTUS_CODE as "sttus", + SBSCRB_DE as "sbscrbDe" + FROM COMTNEMPLYRINFO + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND EMPLYR_STTUS_CODE LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND EMPLYR_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1"> + AND USER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + <![CDATA[ + ORDER BY 12 DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectUserListTotCnt_S" resultType="int"> + SELECT COUNT(1) totcnt + FROM COMTNEMPLYRINFO + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND EMPLYR_STTUS_CODE LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0"> + AND EMPLYR_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1"> + AND USER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + </select> + + <insert id="insertUser_S"> + + INSERT INTO COMTNEMPLYRINFO + ( ESNTL_ID , + EMPLYR_ID , + USER_NM , + PASSWORD , + PASSWORD_HINT , + PASSWORD_CNSR , + EMPL_NO , + IHIDNUM , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + OFCPS_NM , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + SBSCRB_DE , + CRTFC_DN_VALUE , + CHG_PWD_LAST_PNTTM ) + VALUES ( + #{uniqId} , + #{emplyrId} , + #{emplyrNm} , + #{password} , + #{passwordHint} , + #{passwordCnsr} , + #{emplNo} , + #{ihidnum} , + #{sexdstnCode} , + #{brth} , + #{areaNo} , + #{homemiddleTelno} , + #{homeendTelno} , + #{fxnum} , + #{homeadres} , + #{detailAdres} , + #{zip} , + #{offmTelno} , + #{moblphonNo} , + #{emailAdres} , + #{ofcpsNm} , + #{groupId} , + #{orgnztId} , + #{insttCode} , + #{emplyrSttusCode} , + sysdate , + #{subDn} , + sysdate ) + + </insert> + + <delete id="deleteUser_S"> + + DELETE FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectUser_S" resultType="egovframework.com.uss.umt.service.UserManageVO"> + + SELECT + ESNTL_ID uniqId , + 'USR03' userTy, + EMPLYR_ID emplyrId , + USER_NM emplyrNm , + PASSWORD password , + PASSWORD_HINT passwordHint , + PASSWORD_CNSR passwordCnsr , + EMPL_NO emplNo , + IHIDNUM ihidnum , + SEXDSTN_CODE sexdstnCode , + BRTHDY brth , + AREA_NO areaNo , + HOUSE_MIDDLE_TELNO homemiddleTelno , + HOUSE_END_TELNO homeendTelno , + FXNUM fxnum , + HOUSE_ADRES homeadres , + DETAIL_ADRES detailAdres , + ZIP zip , + OFFM_TELNO offmTelno , + MBTLNUM moblphonNo , + EMAIL_ADRES emailAdres , + OFCPS_NM ofcpsNm , + GROUP_ID groupId , + ORGNZT_ID orgnztId , + PSTINST_CODE insttCode , + EMPLYR_STTUS_CODE emplyrSttusCode , + SBSCRB_DE sbscrbDe , + CRTFC_DN_VALUE subDn, + LOCK_AT lockAt + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateUser_S"> + + UPDATE COMTNEMPLYRINFO + SET EMPLYR_ID = #{emplyrId} , + USER_NM = #{emplyrNm} , + PASSWORD_HINT = #{passwordHint} , + PASSWORD_CNSR = #{passwordCnsr} , + EMPL_NO = #{emplNo} , + IHIDNUM = #{ihidnum} , + SEXDSTN_CODE = #{sexdstnCode} , + BRTHDY = #{brth} , + AREA_NO = #{areaNo} , + HOUSE_MIDDLE_TELNO = #{homemiddleTelno} , + HOUSE_END_TELNO = #{homeendTelno} , + FXNUM = #{fxnum} , + HOUSE_ADRES = #{homeadres} , + DETAIL_ADRES = #{detailAdres} , + ZIP = #{zip} , + OFFM_TELNO = #{offmTelno} , + MBTLNUM = #{moblphonNo} , + EMAIL_ADRES = #{emailAdres} , + OFCPS_NM = #{ofcpsNm} , + GROUP_ID = #{groupId} , + ORGNZT_ID = #{orgnztId} , + PSTINST_CODE = #{insttCode} , + EMPLYR_STTUS_CODE = #{emplyrSttusCode} , + CRTFC_DN_VALUE = #{subDn} + WHERE ESNTL_ID = #{uniqId} + + </update> + + <insert id="insertUserHistory_S"> + + INSERT INTO COMTHEMPLYRINFOCHANGEDTLS + ( EMPLYR_ID , + EMPL_NO , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + ESNTL_ID , + CHANGE_DE ) + SELECT + EMPLYR_ID , + EMPL_NO , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + ESNTL_ID , + SYSDATE + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID = #{uniqId} + + </insert> + + <select id="checkIdDplct_S" resultType="int"> + + SELECT COUNT(1) usedCnt + FROM( + SELECT + EMPLYR_ID userId + FROM COMTNEMPLYRINFO + UNION ALL + SELECT + ENTRPRS_MBER_ID userId + FROM COMTNENTRPRSMBER + UNION ALL + SELECT + MBER_ID userId + FROM COMTNGNRLMBER + ) A + WHERE userId = #{checkId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNEMPLYRINFO + SET + PASSWORD = #{password} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.UserManageVO"> + + SELECT + PASSWORD password + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_oracle.xml (revision 7) @@ -0,0 +1,291 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="userManageDAO"> + + <select id="selectUserList_S" resultType="egovMap"> +SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + ESNTL_ID as "uniqId", + 'USR03' as "userTy", + EMPLYR_ID as "userId", + USER_NM as "userNm", + EMAIL_ADRES as "emailAdres", + AREA_NO as "areaNo", + HOUSE_MIDDLE_TELNO as "middleTelno", + HOUSE_END_TELNO as "endTelno", + MBTLNUM as "moblphonNo", + GROUP_ID as "groupId", + EMPLYR_STTUS_CODE as "sttus", + SBSCRB_DE as "sbscrbDe" + FROM COMTNEMPLYRINFO + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + EMPLYR_STTUS_CODE LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + EMPLYR_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1">AND + USER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + <![CDATA[ + ORDER BY 12 DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectUserListTotCnt_S" resultType="int"> + SELECT COUNT(1) totcnt + FROM COMTNEMPLYRINFO + WHERE 1=1 + <if test='sbscrbSttus != null and sbscrbSttus neq "0" and sbscrbSttus neq ""'> + AND EMPLYR_STTUS_CODE LIKE #{sbscrbSttus} + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isNotEmpty(searchKeyword)"> + <if test="searchCondition == 0">AND + EMPLYR_ID LIKE #{searchKeyword} + </if> + <if test="searchCondition == 1">AND + USER_NM LIKE '%' ||#{searchKeyword}|| '%' + </if> + </if> + </select> + + <insert id="insertUser_S"> + + INSERT INTO COMTNEMPLYRINFO + ( ESNTL_ID , + EMPLYR_ID , + USER_NM , + PASSWORD , + PASSWORD_HINT , + PASSWORD_CNSR , + EMPL_NO , + IHIDNUM , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + OFCPS_NM , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + SBSCRB_DE , + CRTFC_DN_VALUE , + CHG_PWD_LAST_PNTTM ) + VALUES ( + #{uniqId} , + #{emplyrId} , + #{emplyrNm} , + #{password} , + #{passwordHint} , + #{passwordCnsr} , + #{emplNo} , + #{ihidnum} , + #{sexdstnCode} , + #{brth} , + #{areaNo} , + #{homemiddleTelno} , + #{homeendTelno} , + #{fxnum} , + #{homeadres} , + #{detailAdres} , + #{zip} , + #{offmTelno} , + #{moblphonNo} , + #{emailAdres} , + #{ofcpsNm} , + #{groupId} , + #{orgnztId} , + #{insttCode} , + #{emplyrSttusCode} , + sysdate , + #{subDn} , + sysdate ) + + </insert> + + <delete id="deleteUser_S"> + + DELETE FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{delId} + + </delete> + + <select id="selectUser_S" resultType="egovframework.com.uss.umt.service.UserManageVO"> + + SELECT + ESNTL_ID uniqId , + 'USR03' userTy, + EMPLYR_ID emplyrId , + USER_NM emplyrNm , + PASSWORD password , + PASSWORD_HINT passwordHint , + PASSWORD_CNSR passwordCnsr , + EMPL_NO emplNo , + IHIDNUM ihidnum , + SEXDSTN_CODE sexdstnCode , + BRTHDY brth , + AREA_NO areaNo , + HOUSE_MIDDLE_TELNO homemiddleTelno , + HOUSE_END_TELNO homeendTelno , + FXNUM fxnum , + HOUSE_ADRES homeadres , + DETAIL_ADRES detailAdres , + ZIP zip , + OFFM_TELNO offmTelno , + MBTLNUM moblphonNo , + EMAIL_ADRES emailAdres , + OFCPS_NM ofcpsNm , + GROUP_ID groupId , + ORGNZT_ID orgnztId , + PSTINST_CODE insttCode , + EMPLYR_STTUS_CODE emplyrSttusCode , + SBSCRB_DE sbscrbDe , + CRTFC_DN_VALUE subDn, + LOCK_AT lockAt + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateUser_S"> + + UPDATE COMTNEMPLYRINFO + SET EMPLYR_ID = #{emplyrId} , + USER_NM = #{emplyrNm} , + PASSWORD_HINT = #{passwordHint} , + PASSWORD_CNSR = #{passwordCnsr} , + EMPL_NO = #{emplNo} , + IHIDNUM = #{ihidnum} , + SEXDSTN_CODE = #{sexdstnCode} , + BRTHDY = #{brth} , + AREA_NO = #{areaNo} , + HOUSE_MIDDLE_TELNO = #{homemiddleTelno} , + HOUSE_END_TELNO = #{homeendTelno} , + FXNUM = #{fxnum} , + HOUSE_ADRES = #{homeadres} , + DETAIL_ADRES = #{detailAdres} , + ZIP = #{zip} , + OFFM_TELNO = #{offmTelno} , + MBTLNUM = #{moblphonNo} , + EMAIL_ADRES = #{emailAdres} , + OFCPS_NM = #{ofcpsNm} , + GROUP_ID = #{groupId} , + ORGNZT_ID = #{orgnztId} , + PSTINST_CODE = #{insttCode} , + EMPLYR_STTUS_CODE = #{emplyrSttusCode} , + CRTFC_DN_VALUE = #{subDn} + WHERE ESNTL_ID = #{uniqId} + + </update> + + <insert id="insertUserHistory_S"> + + INSERT INTO COMTHEMPLYRINFOCHANGEDTLS + ( EMPLYR_ID , + EMPL_NO , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + ESNTL_ID , + CHANGE_DE ) + SELECT + EMPLYR_ID , + EMPL_NO , + SEXDSTN_CODE , + BRTHDY , + AREA_NO , + HOUSE_MIDDLE_TELNO , + HOUSE_END_TELNO , + FXNUM , + HOUSE_ADRES , + DETAIL_ADRES , + ZIP , + OFFM_TELNO , + MBTLNUM , + EMAIL_ADRES , + GROUP_ID , + ORGNZT_ID , + PSTINST_CODE , + EMPLYR_STTUS_CODE , + ESNTL_ID , + SYSDATE + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID = #{uniqId} + + </insert> + + <select id="checkIdDplct_S" resultType="int"> + + SELECT COUNT(1) usedCnt + FROM( + SELECT + EMPLYR_ID userId + FROM COMTNEMPLYRINFO + UNION ALL + SELECT + ENTRPRS_MBER_ID userId + FROM COMTNENTRPRSMBER + UNION ALL + SELECT + MBER_ID userId + FROM COMTNGNRLMBER + ) A + WHERE userId = #{checkId} + + </select> + + <update id="updatePassword_S"> + + UPDATE COMTNEMPLYRINFO + SET + PASSWORD = #{password} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE ESNTL_ID = #{uniqId} + + </update> + + <select id="selectPassword_S" resultType="egovframework.com.uss.umt.service.UserManageVO"> + + SELECT + PASSWORD password + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID=#{uniqId} + + </select> + + <update id="updateLockIncorrect"> + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ESNTL_ID = #{uniqId} + </update> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovUserManage_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_altibase.xml (revision 7) @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="deptManageDAO"> + + <resultMap id="deptManageVO" type="egovframework.com.uss.umt.service.DeptManageVO"> + <result property="orgnztId" column="ORGNZT_ID"/> + <result property="orgnztNm" column="ORGNZT_NM"/> + <result property="orgnztDc" column="ORGNZT_DC"/> + </resultMap> + + <select id="selectDeptManageList" resultMap="deptManageVO"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + SELECT ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC + FROM COMTNORGNZTINFO + WHERE 1=1 + + <if test="searchCondition == 1">AND + ORGNZT_NM LIKE '%'||#{searchKeyword}||'%' + </if> + <![CDATA[ + ORDER BY ORGNZT_ID DESC + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <select id="selectDeptManageListTotCnt" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNORGNZTINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ORGNZT_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </select> + + <select id="selectDeptManage" resultMap="deptManageVO"> + + SELECT ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC + FROM COMTNORGNZTINFO + WHERE ORGNZT_ID = #{orgnztId} + + </select> + + <insert id="insertDeptManage"> + + INSERT INTO COMTNORGNZTINFO + (ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC) + VALUES (#{orgnztId}, + #{orgnztNm}, + #{orgnztDc}) + + </insert> + + <update id="updateDeptManage"> + UPDATE COMTNORGNZTINFO + SET ORGNZT_NM = #{orgnztNm}, + ORGNZT_DC = #{orgnztDc} + WHERE ORGNZT_ID = #{orgnztId} + </update> + + <delete id="deleteDeptManage"> + + DELETE FROM COMTNORGNZTINFO + WHERE ORGNZT_ID = #{orgnztId} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_postgres.xml (revision 7) @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="deptManageDAO"> + + <resultMap id="deptManageVO" type="egovframework.com.uss.umt.service.DeptManageVO"> + <result property="orgnztId" column="ORGNZT_ID"/> + <result property="orgnztNm" column="ORGNZT_NM"/> + <result property="orgnztDc" column="ORGNZT_DC"/> + </resultMap> + + <select id="selectDeptManageList" resultMap="deptManageVO"> + SELECT ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC + FROM COMTNORGNZTINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ORGNZT_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + <![CDATA[ + ORDER BY ORGNZT_ID DESC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + ]]> + </select> + + <select id="selectDeptManageListTotCnt" resultType="int"> + + SELECT COUNT(*) totcnt + FROM COMTNORGNZTINFO + WHERE 1=1 + <if test="searchCondition == 1">AND + ORGNZT_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </select> + + <select id="selectDeptManage" resultMap="deptManageVO"> + + SELECT ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC + FROM COMTNORGNZTINFO + WHERE ORGNZT_ID = #{orgnztId} + + </select> + + <insert id="insertDeptManage"> + + INSERT INTO COMTNORGNZTINFO + (ORGNZT_ID, + ORGNZT_NM, + ORGNZT_DC) + VALUES (#{orgnztId}, + #{orgnztNm}, + #{orgnztDc}) + + </insert> + + <update id="updateDeptManage"> + UPDATE COMTNORGNZTINFO + SET ORGNZT_NM = #{orgnztNm}, + ORGNZT_DC = #{orgnztDc} + WHERE ORGNZT_ID = #{orgnztId} + </update> + + <delete id="deleteDeptManage"> + + DELETE FROM COMTNORGNZTINFO + WHERE ORGNZT_ID = #{orgnztId} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uss/umt/EgovDeptManage_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_postgres.xml (revision 7) @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.09.19 이정은 날짜로 검색 시 '-'를 공백으로 변환 + --> + <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="UserLog"> + + + <!-- 사용자로그 맵 --> + <resultMap id="UserLogVO" type="egovframework.com.sym.log.ulg.service.UserLog"> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + <result property="srvcNm" column="SVC_NM"/> + <result property="methodNm" column="METHOD_NM"/> + <result property="creatCo" column="CREAT_CO"/> + <result property="updtCo" column="UPDT_CO"/> + <result property="rdCnt" column="RDCNT"/> + <result property="deleteCo" column="DELETE_CO"/> + <result property="outptCo" column="OUTPT_CO"/> + <result property="errorCo" column="ERROR_CO"/> + </resultMap> + + <!-- 사용자 로그 등록 --> + <insert id="logInsertUserLog"> + <![CDATA[ + INSERT INTO COMTNUSERLOG + SELECT TO_CHAR(b.OCCRRNC_DE, 'YYYYmmdd' ) + , b.RQESTER_ID + , b.SVC_NM + , b.METHOD_NM + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'C' THEN 1 ELSE 0 END) AS CREAT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'U' THEN 1 ELSE 0 END) AS UPDT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'R' THEN 1 ELSE 0 END) AS RDCNT + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'D' THEN 1 ELSE 0 END) AS DELETE_CO + , 0 AS OUTPT_CO + , 0 AS ERROR_CO + FROM COMTNSYSLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTNUSERLOG c + WHERE c.OCCRRNC_DE = TO_CHAR(NOW() - interval '1 day', 'YYYYmmdd') + ) + AND TO_CHAR(b.OCCRRNC_DE, 'YYYYmmdd' ) = TO_CHAR(NOW() - interval '1 day', 'YYYYmmdd') + AND b.RQESTER_ID IS NOT NULL + GROUP BY TO_CHAR(b.OCCRRNC_DE, 'YYYYmmdd' ) + , b.RQESTER_ID + , b.SVC_NM + , b.METHOD_NM + ]]> + + + </insert> + + <!-- 사용자 로그 상세 조회 --> + <select id="selectUserLog" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultMap="UserLogVO"> + <![CDATA[ + SELECT + a.OCCRRNC_DE + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + , a.SVC_NM + , a.METHOD_NM + , a.CREAT_CO + , a.UPDT_CO + , a.RDCNT + , a.DELETE_CO + , a.OUTPT_CO + , a.ERROR_CO + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + TO_CHAR(TO_DATE(a.OCCRRNC_DE, 'YYYYmmdd'), 'YYYYmmdd') = #{occrrncDe} + AND a.RQESTER_ID = #{rqesterId} + AND a.SVC_NM = #{srvcNm} + AND a.METHOD_NM = #{methodNm} + + ]]> + </select> + + <!-- 사용자 로그 목록 조회 --> + <select id="selectUserLogInf" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultMap="UserLogVO"> + <![CDATA[ + SELECT + a.OCCRRNC_DE + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + , a.SVC_NM + , a.METHOD_NM + , a.CREAT_CO + , a.UPDT_CO + , a.RDCNT + , a.DELETE_CO + , a.OUTPT_CO + , a.ERROR_CO + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + b.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN REPLACE(#{searchBgnDe},'-','') AND REPLACE(#{searchEndDe},'-','') ]]> + </if> + <![CDATA[ ORDER BY a.OCCRRNC_DE DESC ]]> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <!-- 사용자 로그 총건수 --> + <select id="selectUserLogInfCnt" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.OCCRRNC_DE) as cnt + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + b.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN REPLACE(#{searchBgnDe},'-','') AND REPLACE(#{searchEndDe},'-','') ]]> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_cubrid.xml (revision 7) @@ -0,0 +1,148 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.10.17 서준식 OCCRRNC_DE 컬럼과 날짜 비교문에 RTRIM 함수 적용 + 2017.09.19 이정은 날짜로 검색 시 '-'를 공백으로 변환 + +--><!--Converted at: Wed May 11 15:50:44 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="UserLog"> + + <!-- 사용자로그 맵 --> + <resultMap id="UserLogVO" type="egovframework.com.sym.log.ulg.service.UserLog"> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + <result property="srvcNm" column="SVC_NM"/> + <result property="methodNm" column="METHOD_NM"/> + <result property="creatCo" column="CREAT_CO"/> + <result property="updtCo" column="UPDT_CO"/> + <result property="rdCnt" column="RDCNT"/> + <result property="deleteCo" column="DELETE_CO"/> + <result property="outptCo" column="OUTPT_CO"/> + <result property="errorCo" column="ERROR_CO"/> + </resultMap> + + <!-- 사용자 로그 등록 --> + <insert id="logInsertUserLog"> + + <![CDATA[ + INSERT INTO COMTNUSERLOG + SELECT TO_CHAR(b.OCCRRNC_DE,'YYYYMMDD') + , b.RQESTER_ID + , b.SVC_NM + , b.METHOD_NM + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'C' THEN 1 ELSE 0 END) AS CREAT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'U' THEN 1 ELSE 0 END) AS UPDT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'R' THEN 1 ELSE 0 END) AS RDCNT + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'D' THEN 1 ELSE 0 END) AS DELETE_CO + , 0 AS OUTPT_CO + , 0 AS ERROR_CO + FROM COMTNSYSLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTNUSERLOG c + WHERE c.OCCRRNC_DE = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + ) + AND TO_CHAR(b.OCCRRNC_DE,'YYYYMMDD') = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + AND b.RQESTER_ID IS NOT NULL + GROUP BY TO_CHAR(b.OCCRRNC_DE,'YYYYMMDD') + , b.RQESTER_ID + , b.SVC_NM + , b.METHOD_NM + ]]> + + + </insert> + + + <!-- 사용자 로그 상세 조회 --> + <select id="selectUserLog" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultMap="UserLogVO"> + + <![CDATA[ + SELECT + a.OCCRRNC_DE + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + , a.SVC_NM + , a.METHOD_NM + , a.CREAT_CO + , a.UPDT_CO + , a.RDCNT + , a.DELETE_CO + , a.OUTPT_CO + , a.ERROR_CO + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + a.OCCRRNC_DE = #{occrrncDe} + AND a.RQESTER_ID = #{rqesterId} + AND a.SVC_NM = #{srvcNm} + AND a.METHOD_NM = #{methodNm} + ]]> + + </select> + + <!-- 사용자 로그 목록 조회 --> + <select id="selectUserLogInf" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultMap="UserLogVO"> + + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.OCCRRNC_DE + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + , a.SVC_NM + , a.METHOD_NM + , a.CREAT_CO + , a.UPDT_CO + , a.RDCNT + , a.DELETE_CO + , a.OUTPT_CO + , a.ERROR_CO + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN REPLACE(#{searchBgnDe},'-','') AND REPLACE(#{searchEndDe},'-','') ]]> + </if> + + <![CDATA[ + ORDER BY a.OCCRRNC_DE DESC + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <!-- 사용자 로그 총건수 --> + <select id="selectUserLogInfCnt" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.OCCRRNC_DE) as cnt + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN REPLACE(#{searchBgnDe},'-','') AND REPLACE(#{searchEndDe},'-','') ]]> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_oracle.xml (revision 7) @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.10.17 서준식 OCCRRNC_DE 컬럼과 날짜 비교문에 RTRIM 함수 적용 + 2017.09.19 이정은 날짜로 검색 시 '-'를 공백으로 변환 + +--><!--Converted at: Wed May 11 15:50:45 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="UserLog"> + + <!-- 사용자로그 맵 --> + <resultMap id="UserLogVO" type="egovframework.com.sym.log.ulg.service.UserLog"> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + <result property="srvcNm" column="SVC_NM"/> + <result property="methodNm" column="METHOD_NM"/> + <result property="creatCo" column="CREAT_CO"/> + <result property="updtCo" column="UPDT_CO"/> + <result property="rdCnt" column="RDCNT"/> + <result property="deleteCo" column="DELETE_CO"/> + <result property="outptCo" column="OUTPT_CO"/> + <result property="errorCo" column="ERROR_CO"/> + </resultMap> + + <!-- 사용자 로그 등록 --> + <insert id="logInsertUserLog"> + + <![CDATA[ + INSERT INTO COMTNUSERLOG + SELECT TO_CHAR(b.OCCRRNC_DE,'YYYYMMDD') + , b.RQESTER_ID + , b.SVC_NM + , b.METHOD_NM + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'C' THEN 1 ELSE 0 END) AS CREAT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'U' THEN 1 ELSE 0 END) AS UPDT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'R' THEN 1 ELSE 0 END) AS RDCNT + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'D' THEN 1 ELSE 0 END) AS DELETE_CO + , 0 AS OUTPT_CO + , 0 AS ERROR_CO + FROM COMTNSYSLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTNUSERLOG c + WHERE c.OCCRRNC_DE = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + ) + AND TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD') = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + AND b.RQESTER_ID IS NOT NULL + GROUP BY TO_CHAR(b.OCCRRNC_DE,'YYYYMMDD') + , b.RQESTER_ID + , b.SVC_NM + , b.METHOD_NM + ]]> + + </insert> + + + <!-- 사용자 로그 상세 조회 --> + <select id="selectUserLog" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultMap="UserLogVO"> + + <![CDATA[ + SELECT + a.OCCRRNC_DE + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + , a.SVC_NM + , a.METHOD_NM + , a.CREAT_CO + , a.UPDT_CO + , a.RDCNT + , a.DELETE_CO + , a.OUTPT_CO + , a.ERROR_CO + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + a.OCCRRNC_DE = #{occrrncDe} + AND a.RQESTER_ID = #{rqesterId} + AND a.SVC_NM = #{srvcNm} + AND a.METHOD_NM = #{methodNm} + ]]> + </select> + + <!-- 사용자 로그 목록 조회 --> + <select id="selectUserLogInf" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultMap="UserLogVO"> + + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.OCCRRNC_DE + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + , a.SVC_NM + , a.METHOD_NM + , a.CREAT_CO + , a.UPDT_CO + , a.RDCNT + , a.DELETE_CO + , a.OUTPT_CO + , a.ERROR_CO + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN REPLACE(#{searchBgnDe},'-','') AND REPLACE(#{searchEndDe},'-','') ]]> + </if> + <![CDATA[ + ORDER BY a.OCCRRNC_DE DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} ]]> + + </select> + + <!-- 사용자 로그 총건수 --> + <select id="selectUserLogInfCnt" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.OCCRRNC_DE) as cnt + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[AND + a.OCCRRNC_DE BETWEEN REPLACE(#{searchBgnDe},'-','') AND REPLACE(#{searchEndDe},'-','') ]]> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_altibase.xml (revision 7) @@ -0,0 +1,146 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.10.17 서준식 OCCRRNC_DE 컬럼과 날짜 비교문에 RTRIM 함수 적용 + 2017.09.19 이정은 날짜로 검색 시 '-'를 공백으로 변환 + +--><!--Converted at: Wed May 11 15:50:44 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="UserLog"> + + <!-- 사용자로그 맵 --> + <resultMap id="UserLogVO" type="egovframework.com.sym.log.ulg.service.UserLog"> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + <result property="srvcNm" column="SVC_NM"/> + <result property="methodNm" column="METHOD_NM"/> + <result property="creatCo" column="CREAT_CO"/> + <result property="updtCo" column="UPDT_CO"/> + <result property="rdCnt" column="RDCNT"/> + <result property="deleteCo" column="DELETE_CO"/> + <result property="outptCo" column="OUTPT_CO"/> + <result property="errorCo" column="ERROR_CO"/> + </resultMap> + + <!-- 사용자 로그 등록 --> + <insert id="logInsertUserLog"> + + <![CDATA[ + INSERT INTO COMTNUSERLOG + SELECT TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD' ) + , b.RQESTER_ID + , b.SVC_NM + , b.METHOD_NM + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'C' THEN 1 ELSE 0 END) AS CREAT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'U' THEN 1 ELSE 0 END) AS UPDT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'R' THEN 1 ELSE 0 END) AS RDCNT + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'D' THEN 1 ELSE 0 END) AS DELETE_CO + , 0 AS OUTPT_CO + , 0 AS ERROR_CO + FROM COMTNSYSLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTNUSERLOG c + WHERE c.OCCRRNC_DE = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + ) + AND TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD') = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + AND b.RQESTER_ID IS NOT NULL + GROUP BY TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD' ) + , b.RQESTER_ID + , b.SVC_NM + , b.METHOD_NM + ]]> + + + </insert> + + <!-- 사용자 로그 상세 조회 --> + <select id="selectUserLog" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultMap="UserLogVO"> + + <![CDATA[ + SELECT + a.OCCRRNC_DE + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + , a.SVC_NM + , a.METHOD_NM + , a.CREAT_CO + , a.UPDT_CO + , a.RDCNT + , a.DELETE_CO + , a.OUTPT_CO + , a.ERROR_CO + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + a.OCCRRNC_DE = #{occrrncDe} + AND a.RQESTER_ID = #{rqesterId} + AND a.SVC_NM = #{srvcNm} + AND a.METHOD_NM = #{methodNm} + ]]> + + </select> + + <!-- 사용자 로그 목록 조회 --> + <select id="selectUserLogInf" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultMap="UserLogVO"> + + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.OCCRRNC_DE + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + , a.SVC_NM + , a.METHOD_NM + , a.CREAT_CO + , a.UPDT_CO + , a.RDCNT + , a.DELETE_CO + , a.OUTPT_CO + , a.ERROR_CO + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN REPLACE(#{searchBgnDe},'-','') AND REPLACE(#{searchEndDe},'-','') ]]> + </if> + + <![CDATA[ + ORDER BY a.OCCRRNC_DE DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} ]]> + + </select> + + <!-- 사용자 로그 총건수 --> + <select id="selectUserLogInfCnt" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.OCCRRNC_DE) as cnt + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN REPLACE(#{searchBgnDe},'-','') AND REPLACE(#{searchEndDe},'-','') ]]> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_mysql.xml (revision 7) @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.09.19 이정은 날짜로 검색 시 '-'를 공백으로 변환 + --> + <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="UserLog"> + + + <!-- 사용자로그 맵 --> + <resultMap id="UserLogVO" type="egovframework.com.sym.log.ulg.service.UserLog"> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + <result property="srvcNm" column="SVC_NM"/> + <result property="methodNm" column="METHOD_NM"/> + <result property="creatCo" column="CREAT_CO"/> + <result property="updtCo" column="UPDT_CO"/> + <result property="rdCnt" column="RDCNT"/> + <result property="deleteCo" column="DELETE_CO"/> + <result property="outptCo" column="OUTPT_CO"/> + <result property="errorCo" column="ERROR_CO"/> + </resultMap> + + <!-- 사용자 로그 등록 --> + <insert id="logInsertUserLog"> + <![CDATA[ + INSERT INTO COMTNUSERLOG + SELECT DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) + , b.RQESTER_ID + , b.SVC_NM + , b.METHOD_NM + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'C' THEN 1 ELSE 0 END) AS CREAT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'U' THEN 1 ELSE 0 END) AS UPDT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'R' THEN 1 ELSE 0 END) AS RDCNT + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'D' THEN 1 ELSE 0 END) AS DELETE_CO + , 0 AS OUTPT_CO + , 0 AS ERROR_CO + FROM COMTNSYSLOG b + WHERE NOT EXISTS (SELECT DATE_FORMAT(c.OCCRRNC_DE, '%Y%m%d' ) + FROM COMTNUSERLOG c + WHERE DATE_FORMAT(c.OCCRRNC_DE, '%Y%m%d' ) = DATE_FORMAT(ADDDATE(SYSDATE(), -1), '%Y%m%d') + ) + AND DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) = DATE_FORMAT(ADDDATE(SYSDATE(), -1), '%Y%m%d') + AND b.RQESTER_ID IS NOT NULL + GROUP BY DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) + , b.RQESTER_ID + , b.SVC_NM + , b.METHOD_NM + ]]> + + + </insert> + + <!-- 사용자 로그 상세 조회 --> + <select id="selectUserLog" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultMap="UserLogVO"> + <![CDATA[ + SELECT + a.OCCRRNC_DE + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + , a.SVC_NM + , a.METHOD_NM + , a.CREAT_CO + , a.UPDT_CO + , a.RDCNT + , a.DELETE_CO + , a.OUTPT_CO + , a.ERROR_CO + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + DATE_FORMAT(a.OCCRRNC_DE, '%Y%m%d') = #{occrrncDe} + AND a.RQESTER_ID = #{rqesterId} + AND a.SVC_NM = #{srvcNm} + AND a.METHOD_NM = #{methodNm} + + ]]> + </select> + + <!-- 사용자 로그 목록 조회 --> + <select id="selectUserLogInf" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultMap="UserLogVO"> + <![CDATA[ + SELECT + a.OCCRRNC_DE + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + , a.SVC_NM + , a.METHOD_NM + , a.CREAT_CO + , a.UPDT_CO + , a.RDCNT + , a.DELETE_CO + , a.OUTPT_CO + , a.ERROR_CO + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + b.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN REPLACE(#{searchBgnDe},'-','') AND REPLACE(#{searchEndDe},'-','') ]]> + </if> + <![CDATA[ ORDER BY a.OCCRRNC_DE DESC ]]> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <!-- 사용자 로그 총건수 --> + <select id="selectUserLogInfCnt" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.OCCRRNC_DE) as cnt + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + b.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN REPLACE(#{searchBgnDe},'-','') AND REPLACE(#{searchEndDe},'-','') ]]> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_tibero.xml (revision 7) @@ -0,0 +1,147 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.10.17 서준식 OCCRRNC_DE 컬럼과 날짜 비교문에 RTRIM 함수 적용 + 2017.09.19 이정은 날짜로 검색 시 '-'를 공백으로 변환 + +--><!--Converted at: Wed May 11 15:50:45 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="UserLog"> + + <!-- 사용자로그 맵 --> + <resultMap id="UserLogVO" type="egovframework.com.sym.log.ulg.service.UserLog"> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + <result property="srvcNm" column="SVC_NM"/> + <result property="methodNm" column="METHOD_NM"/> + <result property="creatCo" column="CREAT_CO"/> + <result property="updtCo" column="UPDT_CO"/> + <result property="rdCnt" column="RDCNT"/> + <result property="deleteCo" column="DELETE_CO"/> + <result property="outptCo" column="OUTPT_CO"/> + <result property="errorCo" column="ERROR_CO"/> + </resultMap> + + <!-- 사용자 로그 등록 --> + <insert id="logInsertUserLog"> + + <![CDATA[ + INSERT INTO COMTNUSERLOG + SELECT TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD') + , b.RQESTER_ID + , b.SVC_NM + , b.METHOD_NM + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'C' THEN 1 ELSE 0 END) AS CREAT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'U' THEN 1 ELSE 0 END) AS UPDT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'R' THEN 1 ELSE 0 END) AS RDCNT + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'D' THEN 1 ELSE 0 END) AS DELETE_CO + , 0 AS OUTPT_CO + , 0 AS ERROR_CO + FROM COMTNSYSLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTNUSERLOG c + WHERE c.OCCRRNC_DE = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + ) + AND TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD') = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + AND b.RQESTER_ID IS NOT NULL + GROUP BY TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD') + , b.RQESTER_ID + , b.SVC_NM + , b.METHOD_NM + ]]> + + + </insert> + + <!-- 사용자 로그 상세 조회 --> + <select id="selectUserLog" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultMap="UserLogVO"> + + <![CDATA[ + SELECT + a.OCCRRNC_DE + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + , a.SVC_NM + , a.METHOD_NM + , a.CREAT_CO + , a.UPDT_CO + , a.RDCNT + , a.DELETE_CO + , a.OUTPT_CO + , a.ERROR_CO + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + a.OCCRRNC_DE = #{occrrncDe} + AND a.RQESTER_ID = #{rqesterId} + AND a.SVC_NM = #{srvcNm} + AND a.METHOD_NM = #{methodNm} + ]]> + + </select> + + <!-- 사용자 로그 목록 조회 --> + <select id="selectUserLogInf" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultMap="UserLogVO"> + + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.OCCRRNC_DE + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + , a.SVC_NM + , a.METHOD_NM + , a.CREAT_CO + , a.UPDT_CO + , a.RDCNT + , a.DELETE_CO + , a.OUTPT_CO + , a.ERROR_CO + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN REPLACE(#{searchBgnDe},'-','') AND REPLACE(#{searchEndDe},'-','') ]]> + </if> + + <![CDATA[ + ORDER BY a.OCCRRNC_DE DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <!-- 사용자 로그 총건수 --> + <select id="selectUserLogInfCnt" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.OCCRRNC_DE) as cnt + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + b.USER_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN REPLACE(#{searchBgnDe},'-','') AND REPLACE(#{searchEndDe},'-','') ]]> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_maria.xml (revision 7) @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.09.19 이정은 날짜로 검색 시 '-'를 공백으로 변환 + --> + <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="UserLog"> + + + <!-- 사용자로그 맵 --> + <resultMap id="UserLogVO" type="egovframework.com.sym.log.ulg.service.UserLog"> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + <result property="srvcNm" column="SVC_NM"/> + <result property="methodNm" column="METHOD_NM"/> + <result property="creatCo" column="CREAT_CO"/> + <result property="updtCo" column="UPDT_CO"/> + <result property="rdCnt" column="RDCNT"/> + <result property="deleteCo" column="DELETE_CO"/> + <result property="outptCo" column="OUTPT_CO"/> + <result property="errorCo" column="ERROR_CO"/> + </resultMap> + + <!-- 사용자 로그 등록 --> + <insert id="logInsertUserLog"> + <![CDATA[ + INSERT INTO COMTNUSERLOG + SELECT DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) + , b.RQESTER_ID + , b.SVC_NM + , b.METHOD_NM + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'C' THEN 1 ELSE 0 END) AS CREAT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'U' THEN 1 ELSE 0 END) AS UPDT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'R' THEN 1 ELSE 0 END) AS RDCNT + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'D' THEN 1 ELSE 0 END) AS DELETE_CO + , 0 AS OUTPT_CO + , 0 AS ERROR_CO + FROM COMTNSYSLOG b + WHERE NOT EXISTS (SELECT DATE_FORMAT(c.OCCRRNC_DE, '%Y%m%d' ) + FROM COMTNUSERLOG c + WHERE DATE_FORMAT(c.OCCRRNC_DE, '%Y%m%d' ) = DATE_FORMAT(ADDDATE(SYSDATE(), -1), '%Y%m%d') + ) + AND DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) = DATE_FORMAT(ADDDATE(SYSDATE(), -1), '%Y%m%d') + AND b.RQESTER_ID IS NOT NULL + GROUP BY DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) + , b.RQESTER_ID + , b.SVC_NM + , b.METHOD_NM + ]]> + + + </insert> + + <!-- 사용자 로그 상세 조회 --> + <select id="selectUserLog" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultMap="UserLogVO"> + <![CDATA[ + SELECT + a.OCCRRNC_DE + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + , a.SVC_NM + , a.METHOD_NM + , a.CREAT_CO + , a.UPDT_CO + , a.RDCNT + , a.DELETE_CO + , a.OUTPT_CO + , a.ERROR_CO + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + DATE_FORMAT(a.OCCRRNC_DE, '%Y%m%d') = #{occrrncDe} + AND a.RQESTER_ID = #{rqesterId} + AND a.SVC_NM = #{srvcNm} + AND a.METHOD_NM = #{methodNm} + + ]]> + </select> + + <!-- 사용자 로그 목록 조회 --> + <select id="selectUserLogInf" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultMap="UserLogVO"> + <![CDATA[ + SELECT + a.OCCRRNC_DE + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + , a.SVC_NM + , a.METHOD_NM + , a.CREAT_CO + , a.UPDT_CO + , a.RDCNT + , a.DELETE_CO + , a.OUTPT_CO + , a.ERROR_CO + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + b.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN REPLACE(#{searchBgnDe},'-','') AND REPLACE(#{searchEndDe},'-','') ]]> + </if> + <![CDATA[ ORDER BY a.OCCRRNC_DE DESC ]]> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <!-- 사용자 로그 총건수 --> + <select id="selectUserLogInfCnt" parameterType="egovframework.com.sym.log.ulg.service.UserLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.OCCRRNC_DE) as cnt + FROM + COMTNUSERLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + b.USER_NM LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN REPLACE(#{searchBgnDe},'-','') AND REPLACE(#{searchEndDe},'-','') ]]> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/ulg/EgovUserLog_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_postgres.xml (revision 7) @@ -0,0 +1,176 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.09.19 이정은 날짜로 검색 시 시분초 추가, 로그삭제기한 210일 -> 6개월로 변경 + --> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="SysLog"> + + <!-- 시스템로그 맵 --> + <resultMap id="SysLogVO" type="egovframework.com.sym.log.lgm.service.SysLog"> + <result property="requstId" column="REQUST_ID"/> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="srvcNm" column="SVC_NM"/> + <result property="methodNm" column="METHOD_NM"/> + <result property="processSeCode" column="PROCESS_SE_CODE"/> + <result property="processSeCodeNm" column="PROCESS_SE_CODE_NM"/> + <result property="processTime" column="PROCESS_TIME"/> + <result property="rqesterIp" column="RQESTER_IP"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + </resultMap> + + <!-- 시스템 로그 등록 --> + <insert id="logInsertSysLog" parameterType="egovframework.com.sym.log.lgm.service.SysLog"> + + <![CDATA[ + INSERT INTO COMTNSYSLOG + ( REQUST_ID + , SVC_NM + , METHOD_NM + , PROCESS_SE_CODE + , PROCESS_TIME + , RQESTER_ID + , RQESTER_IP + , OCCRRNC_DE ) + VALUES ( #{requstId} + , #{srvcNm} + , #{methodNm} + , #{processSeCode} + , #{processTime} + , #{rqesterId} + , #{rqesterIp} + , NOW()) + ]]> + </insert> + + <!-- 시스템 로그 상세 조회 --> + <select id="selectSysLog" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultMap="SysLogVO"> + + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.SVC_NM + , a.METHOD_NM + , a.PROCESS_SE_CODE + , c.CODE_NM AS PROCESS_SE_CODE_NM + , a.PROCESS_TIME + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.PROCESS_SE_CODE = c.CODE + WHERE + c.CODE_ID = 'COM033' + AND a.REQUST_ID = #{requstId} + ]]> + </select> + + <!-- 시스템 로그 목록 조회 --> + <select id="selectSysLogInf" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultMap="SysLogVO"> + + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.SVC_NM + , a.METHOD_NM + , a.PROCESS_SE_CODE + , c.CODE_NM AS PROCESS_SE_CODE_NM + , a.PROCESS_TIME + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.PROCESS_SE_CODE = c.CODE + WHERE + c.CODE_ID = 'COM033' + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + c.CODE_NM LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_TIMESTAMP(CONCAT(#{searchBgnDe},' 00:00:00'), 'YYYY-mm-dd HH24:MI:SS') + AND TO_TIMESTAMP(CONCAT(#{searchEndDe},' 23:59:59'), 'YYYY-mm-dd HH24:MI:SS') ]]> + </if> + <![CDATA[ ORDER BY a.OCCRRNC_DE DESC ]]> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <!-- 시스템 로그 총건수 --> + <select id="selectSysLogInfCnt" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.REQUST_ID) as cnt + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.PROCESS_SE_CODE = c.CODE + WHERE + c.CODE_ID = 'COM033' + ]]> + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + c.CODE_NM LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_TIMESTAMP(CONCAT(#{searchBgnDe},' 00:00:00'), 'YYYY-mm-dd HH24:MI:SS') + AND TO_TIMESTAMP(CONCAT(#{searchEndDe},' 23:59:59'), 'YYYY-mm-dd HH24:MI:SS') ]]> + </if> + + </select> + + <!-- 시스템 로그 전날 로그 요약 등록 --> + <insert id="logInsertSysLogSummary"> + + <![CDATA[ + INSERT INTO COMTSSYSLOGSUMMARY + SELECT TO_CHAR(b.OCCRRNC_DE, 'YYYYmmdd' ) + , b.SVC_NM + , b.METHOD_NM + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'C' THEN 1 ELSE 0 END) AS CREAT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'U' THEN 1 ELSE 0 END) AS UPDT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'R' THEN 1 ELSE 0 END) AS RDCNT + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'D' THEN 1 ELSE 0 END) AS DELETE_CO + , 0 AS OUTPT_CO + , 0 AS ERROR_CO + FROM COMTNSYSLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTSSYSLOGSUMMARY c + WHERE c.OCCRRNC_DE = TO_CHAR(NOW() - interval '1 day', 'YYYYmmdd') + ) + AND TO_CHAR(b.OCCRRNC_DE, 'YYYYmmdd' ) = TO_CHAR(NOW() - interval '1 day', 'YYYYmmdd') + GROUP BY TO_CHAR(b.OCCRRNC_DE, 'YYYYmmdd' ) + , b.SVC_NM + , b.METHOD_NM + ]]> + + </insert> + + +<!-- 시스템 로그 6개월전 로그 삭제 --> + <delete id="SysLog.logDeleteSysLogSummary"> + <![CDATA[ + + DELETE FROM COMTNSYSLOG + WHERE TO_CHAR(OCCRRNC_DE, 'YYYYmmdd') < TO_CHAR(NOW() - interval '6 month', 'YYYYmmdd') + ]]> + + </delete> + + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_cubrid.xml (revision 7) @@ -0,0 +1,182 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.10.17 서준식 OCCRRNC_DE 컬럼과 날짜 비교문에 RTRIM 함수 적용 + 2017.09.19 이정은 날짜로 검색 시 시분초 추가, 로그삭제기한 210일 -> 6개월로 변경 +--><!--Converted at: Wed May 11 15:50:41 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="SysLog"> + + <!-- 시스템로그 맵 --> + <resultMap id="SysLogVO" type="egovframework.com.sym.log.lgm.service.SysLog"> + <result property="requstId" column="REQUST_ID"/> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="srvcNm" column="SVC_NM"/> + <result property="methodNm" column="METHOD_NM"/> + <result property="processSeCode" column="PROCESS_SE_CODE"/> + <result property="processSeCodeNm" column="PROCESS_SE_CODE_NM"/> + <result property="processTime" column="PROCESS_TIME"/> + <result property="rqesterIp" column="RQESTER_IP"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + </resultMap> + + <!-- 시스템 로그 등록 --> + <insert id="logInsertSysLog" parameterType="egovframework.com.sym.log.lgm.service.SysLog"> + + <![CDATA[ + INSERT INTO COMTNSYSLOG + ( REQUST_ID + , SVC_NM + , METHOD_NM + , PROCESS_SE_CODE + , PROCESS_TIME + , RQESTER_ID + , RQESTER_IP + , OCCRRNC_DE ) + VALUES ( #{requstId} + , #{srvcNm} + , #{methodNm} + , #{processSeCode} + , #{processTime} + , #{rqesterId} + , #{rqesterIp} + , SYSDATETIME) + ]]> + + </insert> + + <!-- 시스템 로그 상세 조회 --> + <select id="selectSysLog" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultMap="SysLogVO"> + + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.SVC_NM + , a.METHOD_NM + , a.PROCESS_SE_CODE + , c.CODE_NM AS PROCESS_SE_CODE_NM + , a.PROCESS_TIME + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON TRIM(a.PROCESS_SE_CODE) = c.CODE + WHERE + c.CODE_ID = 'COM033' + AND a.REQUST_ID = #{requstId} + ]]> + + </select> + + <!-- 시스템 로그 목록 조회 --> + <select id="selectSysLogInf" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultMap="SysLogVO"> + + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.SVC_NM + , a.METHOD_NM + , a.PROCESS_SE_CODE + , c.CODE_NM AS PROCESS_SE_CODE_NM + , a.PROCESS_TIME + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON TRIM(a.PROCESS_SE_CODE) = c.CODE + WHERE + c.CODE_ID = 'COM033' + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + c.CODE_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATETIME(#{searchBgnDe} || ' 00:00:00', 'YYYY-MM-DD HH24:MI:SS') + AND TO_DATETIME(#{searchEndDe} || ' 23:59:59', 'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + + <![CDATA[ + ORDER BY a.OCCRRNC_DE DESC + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <!-- 시스템 로그 총건수 --> + <select id="selectSysLogInfCnt" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultType="java.lang.Integer"> + + <![CDATA[ + SELECT COUNT(a.REQUST_ID) as cnt + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON TRIM(a.PROCESS_SE_CODE) = c.CODE + WHERE + c.CODE_ID = 'COM033' + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + c.CODE_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATETIME(#{searchBgnDe} || ' 00:00:00', 'YYYY-MM-DD HH24:MI:SS') + AND TO_DATETIME(#{searchEndDe} || ' 23:59:59', 'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + </select> + + <!-- 시스템 로그 전날 로그 요약 등록 --> + <insert id="logInsertSysLogSummary"> + + <![CDATA[ + INSERT INTO COMTSSYSLOGSUMMARY + SELECT TO_CHAR(b.OCCRRNC_DE,'YYYYMMDD') + , b.SVC_NM + , b.METHOD_NM + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'C' THEN 1 ELSE 0 END) AS CREAT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'U' THEN 1 ELSE 0 END) AS UPDT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'R' THEN 1 ELSE 0 END) AS RDCNT + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'D' THEN 1 ELSE 0 END) AS DELETE_CO + , 0 AS OUTPT_CO + , 0 AS ERROR_CO + FROM COMTNSYSLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTSSYSLOGSUMMARY c + WHERE c.OCCRRNC_DE = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + ) + AND TO_CHAR(b.OCCRRNC_DE,'YYYYMMDD') = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + GROUP BY TO_CHAR(b.OCCRRNC_DE,'YYYYMMDD') + , b.SVC_NM + , b.METHOD_NM + ]]> + + + </insert> + + <!-- 시스템 로그 6개월전 로그 삭제 --> + <delete id="logDeleteSysLogSummary"> + + <![CDATA[ + DELETE FROM COMTNSYSLOG + WHERE TO_CHAR(OCCRRNC_DE, 'YYYY-MM-DD') < TO_CHAR(ADD_MONTHS(SYSDATE, -6), 'YYYY-MM-DD') + ]]> + + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_oracle.xml (revision 7) @@ -0,0 +1,177 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.10.17 서준식 OCCRRNC_DE 컬럼과 날짜 비교문에 RTRIM 함수 적용 + 2017.09.19 이정은 날짜로 검색 시 시분초 추가, 로그삭제기한 210일 -> 6개월로 변경 + +--><!--Converted at: Wed May 11 15:50:41 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="SysLog"> + + <!-- 시스템로그 맵 --> + <resultMap id="SysLogVO" type="egovframework.com.sym.log.lgm.service.SysLog"> + <result property="requstId" column="REQUST_ID"/> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="srvcNm" column="SVC_NM"/> + <result property="methodNm" column="METHOD_NM"/> + <result property="processSeCode" column="PROCESS_SE_CODE"/> + <result property="processSeCodeNm" column="PROCESS_SE_CODE_NM"/> + <result property="processTime" column="PROCESS_TIME"/> + <result property="rqesterIp" column="RQESTER_IP"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + </resultMap> + + <!-- 시스템 로그 등록 --> + <insert id="logInsertSysLog" parameterType="egovframework.com.sym.log.lgm.service.SysLog"> + <![CDATA[ + INSERT INTO COMTNSYSLOG + ( REQUST_ID + , SVC_NM + , METHOD_NM + , PROCESS_SE_CODE + , PROCESS_TIME + , RQESTER_ID + , RQESTER_IP + , OCCRRNC_DE ) + VALUES ( #{requstId} + , #{srvcNm} + , #{methodNm} + , #{processSeCode} + , #{processTime} + , #{rqesterId} + , #{rqesterIp} + , sysdate) + + ]]> + </insert> + + <!-- 시스템 로그 상세 조회 --> + <select id="selectSysLog" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultMap="SysLogVO"> + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.SVC_NM + , a.METHOD_NM + , a.PROCESS_SE_CODE + , c.CODE_NM AS PROCESS_SE_CODE_NM + , a.PROCESS_TIME + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON TRIM(a.PROCESS_SE_CODE) = c.CODE + WHERE + c.CODE_ID = 'COM033' + AND a.REQUST_ID = #{requstId} + + ]]> + </select> + + <!-- 시스템 로그 목록 조회 --> + <select id="selectSysLogInf" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultMap="SysLogVO"> + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.SVC_NM + , a.METHOD_NM + , a.PROCESS_SE_CODE + , c.CODE_NM AS PROCESS_SE_CODE_NM + , a.PROCESS_TIME + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON TRIM(a.PROCESS_SE_CODE) = c.CODE + WHERE + c.CODE_ID = 'COM033' + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + c.CODE_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + <![CDATA[ + ORDER BY a.OCCRRNC_DE DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} ]]> + + </select> + + <!-- 시스템 로그 총건수 --> + <select id="selectSysLogInfCnt" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultType="java.lang.Integer"> + + <![CDATA[ + SELECT COUNT(a.REQUST_ID) as cnt + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON TRIM(a.PROCESS_SE_CODE) = c.CODE + WHERE + c.CODE_ID = 'COM033' + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + c.CODE_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + </select> + + <!-- 시스템 로그 전날 로그 요약 등록 --> + <insert id="logInsertSysLogSummary"> + + <![CDATA[ + INSERT INTO COMTSSYSLOGSUMMARY + SELECT TO_CHAR(b.OCCRRNC_DE,'YYYYMMDD') + , b.SVC_NM + , b.METHOD_NM + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'C' THEN 1 ELSE 0 END) AS CREAT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'U' THEN 1 ELSE 0 END) AS UPDT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'R' THEN 1 ELSE 0 END) AS RDCNT + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'D' THEN 1 ELSE 0 END) AS DELETE_CO + , 0 AS OUTPT_CO + , 0 AS ERROR_CO + FROM COMTNSYSLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTSSYSLOGSUMMARY c + WHERE c.OCCRRNC_DE = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + ) + AND TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD') = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + GROUP BY TO_CHAR(b.OCCRRNC_DE,'YYYYMMDD') + , b.SVC_NM + , b.METHOD_NM + ]]> + + + </insert> + + <!-- 시스템 로그 6개월전 로그 삭제 --> + <delete id="logDeleteSysLogSummary"> + + <![CDATA[ + DELETE FROM COMTNSYSLOG + WHERE TO_CHAR(OCCRRNC_DE, 'YYYY-MM-DD') < TO_CHAR(ADD_MONTHS(SYSDATE, -6), 'YYYY-MM-DD') + ]]> + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_altibase.xml (revision 7) @@ -0,0 +1,180 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.10.17 서준식 OCCRRNC_DE 컬럼과 날짜 비교문에 RTRIM 함수 적용 + 2017.09.19 이정은 날짜로 검색 시 시분초 추가, 로그삭제기한 210일 -> 6개월로 변경 + +--><!--Converted at: Wed May 11 15:50:41 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="SysLog"> + + <!-- 시스템로그 맵 --> + <resultMap id="SysLogVO" type="egovframework.com.sym.log.lgm.service.SysLog"> + <result property="requstId" column="REQUST_ID"/> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="srvcNm" column="SVC_NM"/> + <result property="methodNm" column="METHOD_NM"/> + <result property="processSeCode" column="PROCESS_SE_CODE"/> + <result property="processSeCodeNm" column="PROCESS_SE_CODE_NM"/> + <result property="processTime" column="PROCESS_TIME"/> + <result property="rqesterIp" column="RQESTER_IP"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + </resultMap> + + <!-- 시스템 로그 등록 --> + <insert id="logInsertSysLog" parameterType="egovframework.com.sym.log.lgm.service.SysLog"> + + <![CDATA[ + INSERT INTO COMTNSYSLOG + ( REQUST_ID + , SVC_NM + , METHOD_NM + , PROCESS_SE_CODE + , PROCESS_TIME + , RQESTER_ID + , RQESTER_IP + , OCCRRNC_DE ) + VALUES ( #{requstId} + , #{srvcNm} + , #{methodNm} + , #{processSeCode} + , #{processTime} + , #{rqesterId} + , #{rqesterIp} + , sysdate) + ]]> + + </insert> + + <!-- 시스템 로그 상세 조회 --> + <select id="selectSysLog" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultMap="SysLogVO"> + + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.SVC_NM + , a.METHOD_NM + , a.PROCESS_SE_CODE + , c.CODE_NM AS PROCESS_SE_CODE_NM + , a.PROCESS_TIME + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON TRIM(a.PROCESS_SE_CODE) = c.CODE + WHERE + c.CODE_ID = 'COM033' + AND a.REQUST_ID = #{requstId} + + ]]> + </select> + + <!-- 시스템 로그 목록 조회 --> + <select id="selectSysLogInf" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultMap="SysLogVO"> + + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.SVC_NM + , a.METHOD_NM + , a.PROCESS_SE_CODE + , c.CODE_NM AS PROCESS_SE_CODE_NM + , a.PROCESS_TIME + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON TRIM(a.PROCESS_SE_CODE) = c.CODE + WHERE + c.CODE_ID = 'COM033' + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + c.CODE_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + + <![CDATA[ ORDER BY a.OCCRRNC_DE DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} ]]> + + </select> + + <!-- 시스템 로그 총건수 --> + <select id="selectSysLogInfCnt" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultType="java.lang.Integer"> + + <![CDATA[ + SELECT COUNT(a.REQUST_ID) as cnt + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON TRIM(a.PROCESS_SE_CODE) = c.CODE + WHERE + c.CODE_ID = 'COM033' + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + c.CODE_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + </select> + + <!-- 시스템 로그 전날 로그 요약 등록 --> + <insert id="logInsertSysLogSummary"> + + <![CDATA[ + INSERT INTO COMTSSYSLOGSUMMARY + SELECT TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD' ) + , b.SVC_NM + , b.METHOD_NM + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'C' THEN 1 ELSE 0 END) AS CREAT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'U' THEN 1 ELSE 0 END) AS UPDT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'R' THEN 1 ELSE 0 END) AS RDCNT + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'D' THEN 1 ELSE 0 END) AS DELETE_CO + , 0 AS OUTPT_CO + , 0 AS ERROR_CO + FROM COMTNSYSLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTSSYSLOGSUMMARY c + WHERE c.OCCRRNC_DE = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + ) + AND TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD') = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + GROUP BY TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD' ) + , b.SVC_NM + , b.METHOD_NM + ]]> + + + </insert> + + <!-- 시스템 로그 6개월전 로그 삭제 --> + <delete id="logDeleteSysLogSummary"> + + <![CDATA[ + DELETE FROM COMTNSYSLOG + WHERE TO_CHAR(OCCRRNC_DE, 'YYYY-MM-DD') < TO_CHAR(ADD_MONTHS(SYSDATE, -6), 'YYYY-MM-DD') + ]]> + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_mysql.xml (revision 7) @@ -0,0 +1,177 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.09.19 이정은 날짜로 검색 시 시분초 추가, 로그삭제기한 210일 -> 6개월로 변경 + --> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="SysLog"> + + <!-- 시스템로그 맵 --> + <resultMap id="SysLogVO" type="egovframework.com.sym.log.lgm.service.SysLog"> + <result property="requstId" column="REQUST_ID"/> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="srvcNm" column="SVC_NM"/> + <result property="methodNm" column="METHOD_NM"/> + <result property="processSeCode" column="PROCESS_SE_CODE"/> + <result property="processSeCodeNm" column="PROCESS_SE_CODE_NM"/> + <result property="processTime" column="PROCESS_TIME"/> + <result property="rqesterIp" column="RQESTER_IP"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + </resultMap> + + <!-- 시스템 로그 등록 --> + <insert id="logInsertSysLog" parameterType="egovframework.com.sym.log.lgm.service.SysLog"> + + <![CDATA[ + INSERT INTO COMTNSYSLOG + ( REQUST_ID + , SVC_NM + , METHOD_NM + , PROCESS_SE_CODE + , PROCESS_TIME + , RQESTER_ID + , RQESTER_IP + , OCCRRNC_DE ) + VALUES ( #{requstId} + , #{srvcNm} + , #{methodNm} + , #{processSeCode} + , #{processTime} + , #{rqesterId} + , #{rqesterIp} + , sysdate()) + ]]> + </insert> + + <!-- 시스템 로그 상세 조회 --> + <select id="selectSysLog" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultMap="SysLogVO"> + + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.SVC_NM + , a.METHOD_NM + , a.PROCESS_SE_CODE + , c.CODE_NM AS PROCESS_SE_CODE_NM + , a.PROCESS_TIME + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.PROCESS_SE_CODE = c.CODE + WHERE + c.CODE_ID = 'COM033' + AND a.REQUST_ID = #{requstId} + ]]> + </select> + + <!-- 시스템 로그 목록 조회 --> + <select id="selectSysLogInf" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultMap="SysLogVO"> + + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.SVC_NM + , a.METHOD_NM + , a.PROCESS_SE_CODE + , c.CODE_NM AS PROCESS_SE_CODE_NM + , a.PROCESS_TIME + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.PROCESS_SE_CODE = c.CODE + WHERE + c.CODE_ID = 'COM033' + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + c.CODE_NM LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN STR_TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'), '%Y-%m-%d %H:%i:%s') + AND STR_TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'), '%Y-%m-%d %H:%i:%s') ]]> + </if> + <![CDATA[ ORDER BY a.OCCRRNC_DE DESC ]]> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <!-- 시스템 로그 총건수 --> + <select id="selectSysLogInfCnt" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.REQUST_ID) as cnt + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.PROCESS_SE_CODE = c.CODE + WHERE + c.CODE_ID = 'COM033' + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + c.CODE_NM LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN STR_TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'), '%Y-%m-%d %H:%i:%s') + AND STR_TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'), '%Y-%m-%d %H:%i:%s') ]]> + </if> + + </select> + + <!-- 시스템 로그 전날 로그 요약 등록 --> + <insert id="logInsertSysLogSummary"> + + <![CDATA[ + INSERT INTO COMTSSYSLOGSUMMARY + SELECT DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) + , b.SVC_NM + , b.METHOD_NM + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'C' THEN 1 ELSE 0 END) AS CREAT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'U' THEN 1 ELSE 0 END) AS UPDT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'R' THEN 1 ELSE 0 END) AS RDCNT + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'D' THEN 1 ELSE 0 END) AS DELETE_CO + , 0 AS OUTPT_CO + , 0 AS ERROR_CO + FROM COMTNSYSLOG b + WHERE NOT EXISTS (SELECT DATE_FORMAT(c.OCCRRNC_DE, '%Y-%m-%d' ) + FROM COMTSSYSLOGSUMMARY c + WHERE DATE_FORMAT(c.OCCRRNC_DE, '%Y%m%d') = DATE_FORMAT(ADDDATE(SYSDATE(), -1), '%Y%m%d') + ) + AND DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) = DATE_FORMAT(ADDDATE(SYSDATE(), -1), '%Y%m%d') + GROUP BY DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) + , b.SVC_NM + , b.METHOD_NM + ]]> + + </insert> + + +<!-- 시스템 로그 6개월전 로그 삭제 --> + <delete id="SysLog.logDeleteSysLogSummary"> + <![CDATA[ + + DELETE FROM COMTNSYSLOG + WHERE DATE_FORMAT(OCCRRNC_DE, '%Y-%m-%d') < DATE_FORMAT(ADDDATE(SYSDATE(), INTERVAL -6 MONTH), '%Y-%m-%d') + ]]> + + </delete> + + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_tibero.xml (revision 7) @@ -0,0 +1,183 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.10.17 서준식 OCCRRNC_DE 컬럼과 날짜 비교문에 RTRIM 함수 적용 + 2017.09.19 이정은 날짜로 검색 시 시분초 추가, 로그삭제기한 210일 -> 6개월로 변경 + +--><!--Converted at: Wed May 11 15:50:41 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="SysLog"> + + <!-- 시스템로그 맵 --> + <resultMap id="SysLogVO" type="egovframework.com.sym.log.lgm.service.SysLog"> + <result property="requstId" column="REQUST_ID"/> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="srvcNm" column="SVC_NM"/> + <result property="methodNm" column="METHOD_NM"/> + <result property="processSeCode" column="PROCESS_SE_CODE"/> + <result property="processSeCodeNm" column="PROCESS_SE_CODE_NM"/> + <result property="processTime" column="PROCESS_TIME"/> + <result property="rqesterIp" column="RQESTER_IP"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + </resultMap> + + <!-- 시스템 로그 등록 --> + <insert id="logInsertSysLog" parameterType="egovframework.com.sym.log.lgm.service.SysLog"> + + <![CDATA[ + INSERT INTO COMTNSYSLOG + ( REQUST_ID + , SVC_NM + , METHOD_NM + , PROCESS_SE_CODE + , PROCESS_TIME + , RQESTER_ID + , RQESTER_IP + , OCCRRNC_DE ) + VALUES ( #{requstId} + , #{srvcNm} + , #{methodNm} + , #{processSeCode} + , #{processTime} + , #{rqesterId} + , #{rqesterIp} + , sysdate) + ]]> + + </insert> + + <!-- 시스템 로그 상세 조회 --> + <select id="selectSysLog" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultMap="SysLogVO"> + + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.SVC_NM + , a.METHOD_NM + , a.PROCESS_SE_CODE + , c.CODE_NM AS PROCESS_SE_CODE_NM + , a.PROCESS_TIME + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON TRIM(a.PROCESS_SE_CODE) = c.CODE + WHERE + c.CODE_ID = 'COM033' + AND a.REQUST_ID = #{requstId} + ]]> + + </select> + + <!-- 시스템 로그 목록 조회 --> + <select id="selectSysLogInf" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultMap="SysLogVO"> + + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.SVC_NM + , a.METHOD_NM + , a.PROCESS_SE_CODE + , c.CODE_NM AS PROCESS_SE_CODE_NM + , a.PROCESS_TIME + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON TRIM(a.PROCESS_SE_CODE) = c.CODE + WHERE + c.CODE_ID = 'COM033' + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + c.CODE_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + + <![CDATA[ + ORDER BY a.OCCRRNC_DE DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <!-- 시스템 로그 총건수 --> + <select id="selectSysLogInfCnt" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultType="java.lang.Integer"> + + <![CDATA[ + SELECT COUNT(a.REQUST_ID) as cnt + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON TRIM(a.PROCESS_SE_CODE) = c.CODE + WHERE + c.CODE_ID = 'COM033' + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + c.CODE_NM LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + </select> + + <!-- 시스템 로그 전날 로그 요약 등록 --> + <insert id="logInsertSysLogSummary"> + + <![CDATA[ + INSERT INTO COMTSSYSLOGSUMMARY + SELECT TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD') + , b.SVC_NM + , b.METHOD_NM + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'C' THEN 1 ELSE 0 END) AS CREAT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'U' THEN 1 ELSE 0 END) AS UPDT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'R' THEN 1 ELSE 0 END) AS RDCNT + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'D' THEN 1 ELSE 0 END) AS DELETE_CO + , 0 AS OUTPT_CO + , 0 AS ERROR_CO + FROM COMTNSYSLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTSSYSLOGSUMMARY c + WHERE c.OCCRRNC_DE = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + ) + AND TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD') = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + GROUP BY TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD') + , b.SVC_NM + , b.METHOD_NM + ]]> + + + </insert> + + <!-- 시스템 로그 6개월전 로그 삭제 --> + <delete id="logDeleteSysLogSummary"> + + <![CDATA[ + DELETE FROM COMTNSYSLOG + WHERE TO_CHAR(OCCRRNC_DE, 'YYYY-MM-DD') < TO_CHAR(ADD_MONTHS(SYSDATE, - 6), 'YYYY-MM-DD') + ]]> + + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_maria.xml (revision 7) @@ -0,0 +1,177 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.09.19 이정은 날짜로 검색 시 시분초 추가, 로그삭제기한 210일 -> 6개월로 변경 + --> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="SysLog"> + + <!-- 시스템로그 맵 --> + <resultMap id="SysLogVO" type="egovframework.com.sym.log.lgm.service.SysLog"> + <result property="requstId" column="REQUST_ID"/> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="srvcNm" column="SVC_NM"/> + <result property="methodNm" column="METHOD_NM"/> + <result property="processSeCode" column="PROCESS_SE_CODE"/> + <result property="processSeCodeNm" column="PROCESS_SE_CODE_NM"/> + <result property="processTime" column="PROCESS_TIME"/> + <result property="rqesterIp" column="RQESTER_IP"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + </resultMap> + + <!-- 시스템 로그 등록 --> + <insert id="logInsertSysLog" parameterType="egovframework.com.sym.log.lgm.service.SysLog"> + + <![CDATA[ + INSERT INTO COMTNSYSLOG + ( REQUST_ID + , SVC_NM + , METHOD_NM + , PROCESS_SE_CODE + , PROCESS_TIME + , RQESTER_ID + , RQESTER_IP + , OCCRRNC_DE ) + VALUES ( #{requstId} + , #{srvcNm} + , #{methodNm} + , #{processSeCode} + , #{processTime} + , #{rqesterId} + , #{rqesterIp} + , sysdate()) + ]]> + </insert> + + <!-- 시스템 로그 상세 조회 --> + <select id="selectSysLog" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultMap="SysLogVO"> + + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.SVC_NM + , a.METHOD_NM + , a.PROCESS_SE_CODE + , c.CODE_NM AS PROCESS_SE_CODE_NM + , a.PROCESS_TIME + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.PROCESS_SE_CODE = c.CODE + WHERE + c.CODE_ID = 'COM033' + AND a.REQUST_ID = #{requstId} + ]]> + </select> + + <!-- 시스템 로그 목록 조회 --> + <select id="selectSysLogInf" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultMap="SysLogVO"> + + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.SVC_NM + , a.METHOD_NM + , a.PROCESS_SE_CODE + , c.CODE_NM AS PROCESS_SE_CODE_NM + , a.PROCESS_TIME + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.PROCESS_SE_CODE = c.CODE + WHERE + c.CODE_ID = 'COM033' + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + c.CODE_NM LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN STR_TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'), '%Y-%m-%d %H:%i:%s') + AND STR_TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'), '%Y-%m-%d %H:%i:%s') ]]> + </if> + <![CDATA[ ORDER BY a.OCCRRNC_DE DESC ]]> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <!-- 시스템 로그 총건수 --> + <select id="selectSysLogInfCnt" parameterType="egovframework.com.sym.log.lgm.service.SysLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.REQUST_ID) as cnt + FROM + COMTNSYSLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + LEFT OUTER JOIN COMTCCMMNDETAILCODE c + ON a.PROCESS_SE_CODE = c.CODE + WHERE + c.CODE_ID = 'COM033' + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + c.CODE_NM LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN STR_TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'), '%Y-%m-%d %H:%i:%s') + AND STR_TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'), '%Y-%m-%d %H:%i:%s') ]]> + </if> + + </select> + + <!-- 시스템 로그 전날 로그 요약 등록 --> + <insert id="logInsertSysLogSummary"> + + <![CDATA[ + INSERT INTO COMTSSYSLOGSUMMARY + SELECT DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) + , b.SVC_NM + , b.METHOD_NM + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'C' THEN 1 ELSE 0 END) AS CREAT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'U' THEN 1 ELSE 0 END) AS UPDT_CO + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'R' THEN 1 ELSE 0 END) AS RDCNT + , SUM(CASE WHEN b.PROCESS_SE_CODE = 'D' THEN 1 ELSE 0 END) AS DELETE_CO + , 0 AS OUTPT_CO + , 0 AS ERROR_CO + FROM COMTNSYSLOG b + WHERE NOT EXISTS (SELECT DATE_FORMAT(c.OCCRRNC_DE, '%Y-%m-%d' ) + FROM COMTSSYSLOGSUMMARY c + WHERE DATE_FORMAT(c.OCCRRNC_DE, '%Y%m%d') = DATE_FORMAT(ADDDATE(SYSDATE(), -1), '%Y%m%d') + ) + AND DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) = DATE_FORMAT(ADDDATE(SYSDATE(), -1), '%Y%m%d') + GROUP BY DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) + , b.SVC_NM + , b.METHOD_NM + ]]> + + </insert> + + +<!-- 시스템 로그 6개월전 로그 삭제 --> + <delete id="SysLog.logDeleteSysLogSummary"> + <![CDATA[ + + DELETE FROM COMTNSYSLOG + WHERE DATE_FORMAT(OCCRRNC_DE, '%Y-%m-%d') < DATE_FORMAT(ADDDATE(SYSDATE(), INTERVAL -6 MONTH), '%Y-%m-%d') + ]]> + + </delete> + + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/lgm/EgovSysLog_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_altibase.xml (revision 7) @@ -0,0 +1,147 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.10.17 서준식 OCCRRNC_DE 컬럼과 날짜 비교문에 RTRIM 함수 적용 + 2017.09.19 이정은 날짜로 검색 시 시분초 추가, 로그삭제기한 210일 -> 6개월로 변경 + +--><!--Converted at: Wed May 11 15:50:45 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="WebLog"> + + <!-- 웹로그 맵 --> + <resultMap id="WebLogVO" type="egovframework.com.sym.log.wlg.service.WebLog"> + <result property="requstId" column="REQUST_ID"/> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="url" column="URL"/> + <result property="rqesterIp" column="RQESTER_IP"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + </resultMap> + + <!-- 웹 로그 등록 --> + <insert id="logInsertWebLog" parameterType="egovframework.com.sym.log.wlg.service.WebLog"> + <![CDATA[ + INSERT INTO COMTNWEBLOG + ( REQUST_ID + , URL + , RQESTER_ID + , RQESTER_IP + , OCCRRNC_DE ) + VALUES ( #{requstId} + , #{url} + , #{rqesterId} + , #{rqesterIp} + , sysdate) + ]]> + + </insert> + + <!-- 웹 로그 상세 조회 --> + <select id="selectWebLog" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultMap="WebLogVO"> + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.URL + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + a.REQUST_ID = #{requstId} + ]]> + + </select> + + <!-- 웹 로그 목록 조회 --> + <select id="selectWebLogInf" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultMap="WebLogVO"> + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.URL + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.URL LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + + <![CDATA[ + ORDER BY a.OCCRRNC_DE DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} ]]> + + </select> + + <!-- 웹 로그 총건수 --> + <select id="selectWebLogInfCnt" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.REQUST_ID) as cnt + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.URL LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + </select> + + <!-- 웹 로그 전날 로그 요약 등록 --> + <insert id="logInsertWebLogSummary"> + + <![CDATA[ + INSERT INTO COMTSWEBLOGSUMMARY + SELECT TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD' ) + , b.URL + , COUNT(b.OCCRRNC_DE) AS RDCNT + FROM COMTNWEBLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTSWEBLOGSUMMARY c + WHERE c.OCCRRNC_DE = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + ) + AND TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD') = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + GROUP BY TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD' ) + , b.URL + ]]> + + + </insert> + + <!-- 웹 로그 6개월전 로그 삭제 --> + <delete id="logDeleteWebLogSummary"> + + <![CDATA[ + DELETE FROM COMTNWEBLOG + WHERE TO_CHAR(OCCRRNC_DE, 'YYYY-MM-DD') < TO_CHAR(ADD_MONTHS(SYSDATE, -6), 'YYYY-MM-DD') + ]]> + + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_mysql.xml (revision 7) @@ -0,0 +1,135 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.09.19 이정은 날짜로 검색 시 '-'를 공백으로 변환, 로그삭제기한 210일 -> 6개월로 변경 + --> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="WebLog"> + + <!-- 웹로그 맵 --> + <resultMap id="WebLogVO" type="egovframework.com.sym.log.wlg.service.WebLog"> + <result property="requstId" column="REQUST_ID"/> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="url" column="URL"/> + <result property="rqesterIp" column="RQESTER_IP"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + </resultMap> + + <!-- 웹 로그 등록 --> + <insert id="logInsertWebLog" parameterType="egovframework.com.sym.log.wlg.service.WebLog"> + <![CDATA[ + INSERT INTO COMTNWEBLOG + ( REQUST_ID + , URL + , RQESTER_ID + , RQESTER_IP + , OCCRRNC_DE ) + VALUES ( #{requstId} + , #{url} + , #{rqesterId} + , #{rqesterIp} + , sysdate()) + ]]> + </insert> + + <!-- 웹 로그 상세 조회 --> + <select id="selectWebLog" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultMap="WebLogVO"> + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.URL + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + a.REQUST_ID = #{requstId} + ]]> + </select> + + <!-- 웹 로그 목록 조회 --> + <select id="selectWebLogInf" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultMap="WebLogVO"> + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.URL + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.URL LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN STR_TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'), '%Y-%m-%d %H:%i:%s') + AND STR_TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'), '%Y-%m-%d %H:%i:%s') ]]> + </if> + <![CDATA[ ORDER BY a.OCCRRNC_DE DESC ]]> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <!-- 웹 로그 총건수 --> + <select id="selectWebLogInfCnt" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.REQUST_ID) as cnt + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + + a.URL LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN STR_TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'), '%Y-%m-%d %H:%i:%s') + AND STR_TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'), '%Y-%m-%d %H:%i:%s') ]]> + </if> + </select> + + <!-- 웹 로그 전날 로그 요약 등록 --> + <insert id="logInsertWebLogSummary"> + <![CDATA[ + INSERT INTO COMTSWEBLOGSUMMARY + SELECT DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) + , b.URL + , COUNT(DATE_FORMAT(b.OCCRRNC_DE, '%Y-%m-%d' )) AS RDCNT + FROM COMTNWEBLOG b + WHERE NOT EXISTS (SELECT DATE_FORMAT(c.OCCRRNC_DE, '%Y-%m-%d' ) + FROM COMTSWEBLOGSUMMARY c + WHERE DATE_FORMAT(c.OCCRRNC_DE, '%Y%m%d') = DATE_FORMAT(ADDDATE(SYSDATE(), -1), '%Y%m%d') + ) + AND DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) = DATE_FORMAT(ADDDATE(SYSDATE(), -1), '%Y%m%d') + GROUP BY DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) + , b.URL + + ]]> + </insert> + + <!-- 웹 로그 6개월전 로그 삭제 --> + <delete id="logDeleteWebLogSummary"> + <![CDATA[ + DELETE FROM COMTNWEBLOG + WHERE DATE_FORMAT(OCCRRNC_DE, '%Y-%m-%d') < DATE_FORMAT(ADDDATE(SYSDATE(), INTERVAL -6 MONTH), '%Y-%m-%d') + + ]]> + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_tibero.xml (revision 7) @@ -0,0 +1,150 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.10.17 서준식 OCCRRNC_DE 컬럼과 날짜 비교문에 RTRIM 함수 적용 + 2017.09.19 이정은 날짜로 검색 시 '-'를 공백으로 변환 + +--><!--Converted at: Wed May 11 15:50:46 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="WebLog"> + + <!-- 웹로그 맵 --> + <resultMap id="WebLogVO" type="egovframework.com.sym.log.wlg.service.WebLog"> + <result property="requstId" column="REQUST_ID"/> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="url" column="URL"/> + <result property="rqesterIp" column="RQESTER_IP"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + </resultMap> + + <!-- 웹 로그 등록 --> + <insert id="logInsertWebLog" parameterType="egovframework.com.sym.log.wlg.service.WebLog"> + + <![CDATA[ + INSERT INTO COMTNWEBLOG + ( REQUST_ID + , URL + , RQESTER_ID + , RQESTER_IP + , OCCRRNC_DE ) + VALUES ( #{requstId} + , #{url} + , #{rqesterId} + , #{rqesterIp} + , sysdate) + ]]> + + </insert> + + <!-- 웹 로그 상세 조회 --> + <select id="selectWebLog" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultMap="WebLogVO"> + + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.URL + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + a.REQUST_ID = #{requstId} + ]]> + + </select> + + <!-- 웹 로그 목록 조회 --> + <select id="selectWebLogInf" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultMap="WebLogVO"> + + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.URL + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.URL LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + + <![CDATA[ + ORDER BY a.OCCRRNC_DE DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} ]]> + + </select> + + <!-- 웹 로그 총건수 --> + <select id="selectWebLogInfCnt" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.REQUST_ID) as cnt + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.URL LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + </select> + + <!-- 웹 로그 전날 로그 요약 등록 --> + <insert id="logInsertWebLogSummary"> + + <![CDATA[ + INSERT INTO COMTSWEBLOGSUMMARY + SELECT TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD') + , b.URL + , COUNT(b.OCCRRNC_DE) AS RDCNT + FROM COMTNWEBLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTSWEBLOGSUMMARY c + WHERE c.OCCRRNC_DE = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + ) + AND TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD') = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + GROUP BY TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD') + , b.URL + ]]> + + + </insert> + + <!-- 웹 로그 6개월전 로그 삭제 --> + <delete id="logDeleteWebLogSummary"> + + <![CDATA[ + DELETE FROM COMTNWEBLOG + WHERE TO_CHAR(OCCRRNC_DE, 'YYYY-MM-DD') < TO_CHAR(ADD_MONTHS(SYSDATE, - 6), 'YYYY-MM-DD') + ]]> + + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_maria.xml (revision 7) @@ -0,0 +1,135 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.09.19 이정은 날짜로 검색 시 '-'를 공백으로 변환, 로그삭제기한 210일 -> 6개월로 변경 + --> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="WebLog"> + + <!-- 웹로그 맵 --> + <resultMap id="WebLogVO" type="egovframework.com.sym.log.wlg.service.WebLog"> + <result property="requstId" column="REQUST_ID"/> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="url" column="URL"/> + <result property="rqesterIp" column="RQESTER_IP"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + </resultMap> + + <!-- 웹 로그 등록 --> + <insert id="logInsertWebLog" parameterType="egovframework.com.sym.log.wlg.service.WebLog"> + <![CDATA[ + INSERT INTO COMTNWEBLOG + ( REQUST_ID + , URL + , RQESTER_ID + , RQESTER_IP + , OCCRRNC_DE ) + VALUES ( #{requstId} + , #{url} + , #{rqesterId} + , #{rqesterIp} + , sysdate()) + ]]> + </insert> + + <!-- 웹 로그 상세 조회 --> + <select id="selectWebLog" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultMap="WebLogVO"> + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.URL + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + a.REQUST_ID = #{requstId} + ]]> + </select> + + <!-- 웹 로그 목록 조회 --> + <select id="selectWebLogInf" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultMap="WebLogVO"> + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.URL + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.URL LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN STR_TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'), '%Y-%m-%d %H:%i:%s') + AND STR_TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'), '%Y-%m-%d %H:%i:%s') ]]> + </if> + <![CDATA[ ORDER BY a.OCCRRNC_DE DESC ]]> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <!-- 웹 로그 총건수 --> + <select id="selectWebLogInfCnt" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.REQUST_ID) as cnt + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + + a.URL LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN STR_TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'), '%Y-%m-%d %H:%i:%s') + AND STR_TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'), '%Y-%m-%d %H:%i:%s') ]]> + </if> + </select> + + <!-- 웹 로그 전날 로그 요약 등록 --> + <insert id="logInsertWebLogSummary"> + <![CDATA[ + INSERT INTO COMTSWEBLOGSUMMARY + SELECT DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) + , b.URL + , COUNT(DATE_FORMAT(b.OCCRRNC_DE, '%Y-%m-%d' )) AS RDCNT + FROM COMTNWEBLOG b + WHERE NOT EXISTS (SELECT DATE_FORMAT(c.OCCRRNC_DE, '%Y-%m-%d' ) + FROM COMTSWEBLOGSUMMARY c + WHERE DATE_FORMAT(c.OCCRRNC_DE, '%Y%m%d') = DATE_FORMAT(ADDDATE(SYSDATE(), -1), '%Y%m%d') + ) + AND DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) = DATE_FORMAT(ADDDATE(SYSDATE(), -1), '%Y%m%d') + GROUP BY DATE_FORMAT(b.OCCRRNC_DE, '%Y%m%d' ) + , b.URL + + ]]> + </insert> + + <!-- 웹 로그 6개월전 로그 삭제 --> + <delete id="logDeleteWebLogSummary"> + <![CDATA[ + DELETE FROM COMTNWEBLOG + WHERE DATE_FORMAT(OCCRRNC_DE, '%Y-%m-%d') < DATE_FORMAT(ADDDATE(SYSDATE(), INTERVAL -6 MONTH), '%Y-%m-%d') + + ]]> + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_postgres.xml (revision 7) @@ -0,0 +1,135 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.09.19 이정은 날짜로 검색 시 '-'를 공백으로 변환, 로그삭제기한 210일 -> 6개월로 변경 + --> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="WebLog"> + + <!-- 웹로그 맵 --> + <resultMap id="WebLogVO" type="egovframework.com.sym.log.wlg.service.WebLog"> + <result property="requstId" column="REQUST_ID"/> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="url" column="URL"/> + <result property="rqesterIp" column="RQESTER_IP"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + </resultMap> + + <!-- 웹 로그 등록 --> + <insert id="logInsertWebLog" parameterType="egovframework.com.sym.log.wlg.service.WebLog"> + <![CDATA[ + INSERT INTO COMTNWEBLOG + ( REQUST_ID + , URL + , RQESTER_ID + , RQESTER_IP + , OCCRRNC_DE ) + VALUES ( #{requstId} + , #{url} + , #{rqesterId} + , #{rqesterIp} + , NOW()) + ]]> + </insert> + + <!-- 웹 로그 상세 조회 --> + <select id="selectWebLog" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultMap="WebLogVO"> + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.URL + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + a.REQUST_ID = #{requstId} + ]]> + </select> + + <!-- 웹 로그 목록 조회 --> + <select id="selectWebLogInf" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultMap="WebLogVO"> + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.URL + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.URL LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_TIMESTAMP(CONCAT(#{searchBgnDe},' 00:00:00'), 'YYYY-mm-dd HH24:MI:SS') + AND TO_TIMESTAMP(CONCAT(#{searchEndDe},' 23:59:59'), 'YYYY-mm-dd HH24:MI:SS') ]]> + </if> + <![CDATA[ ORDER BY a.OCCRRNC_DE DESC ]]> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <!-- 웹 로그 총건수 --> + <select id="selectWebLogInfCnt" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.REQUST_ID) as cnt + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + + a.URL LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_TIMESTAMP(CONCAT(#{searchBgnDe},' 00:00:00'), 'YYYY-mm-dd HH24:MI:SS') + AND TO_TIMESTAMP(CONCAT(#{searchEndDe},' 23:59:59'), 'YYYY-mm-dd HH24:MI:SS') ]]> + </if> + </select> + + <!-- 웹 로그 전날 로그 요약 등록 --> + <insert id="logInsertWebLogSummary"> + <![CDATA[ + INSERT INTO COMTSWEBLOGSUMMARY + SELECT TO_CHAR(b.OCCRRNC_DE, 'YYYYmmdd' ) + , b.URL + , COUNT(TO_CHAR(b.OCCRRNC_DE, 'YYYYmmdd' )) AS RDCNT + FROM COMTNWEBLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTSWEBLOGSUMMARY c + WHERE c.OCCRRNC_DE = TO_CHAR(now() - interval '1 day', 'YYYYmmdd') + ) + AND TO_CHAR(b.OCCRRNC_DE, 'YYYYmmdd' ) = TO_CHAR(now() - interval '1 day', 'YYYYmmdd') + GROUP BY TO_CHAR(b.OCCRRNC_DE, 'YYYYmmdd' ) + , b.URL + + ]]> + </insert> + + <!-- 웹 로그 6개월전 로그 삭제 --> + <delete id="logDeleteWebLogSummary"> + <![CDATA[ + DELETE FROM COMTNWEBLOG + WHERE TO_CHAR(OCCRRNC_DE, 'YYYYmmdd') < TO_CHAR(now() - interval '6 month', 'YYYYmmdd') + + ]]> + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_cubrid.xml (revision 7) @@ -0,0 +1,151 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.10.17 서준식 OCCRRNC_DE 컬럼과 날짜 비교문에 RTRIM 함수 적용 + 2017.09.19 이정은 날짜로 검색 시 시분초 추가, 로그삭제기한 210일 -> 6개월로 변경 + +--><!--Converted at: Wed May 11 15:50:45 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="WebLog"> + + <!-- 웹로그 맵 --> + <resultMap id="WebLogVO" type="egovframework.com.sym.log.wlg.service.WebLog"> + <result property="requstId" column="REQUST_ID"/> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="url" column="URL"/> + <result property="rqesterIp" column="RQESTER_IP"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + </resultMap> + + <!-- 웹 로그 등록 --> + <insert id="logInsertWebLog" parameterType="egovframework.com.sym.log.wlg.service.WebLog"> + + <![CDATA[ + INSERT INTO COMTNWEBLOG + ( REQUST_ID + , URL + , RQESTER_ID + , RQESTER_IP + , OCCRRNC_DE ) + VALUES ( #{requstId} + , #{url} + , #{rqesterId} + , #{rqesterIp} + , SYSDATETIME) + ]]> + + </insert> + + <!-- 웹 로그 상세 조회 --> + <select id="selectWebLog" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultMap="WebLogVO"> + + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.URL + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + a.REQUST_ID = #{requstId} + ]]> + + </select> + + <!-- 웹 로그 목록 조회 --> + <select id="selectWebLogInf" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultMap="WebLogVO"> + + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.URL + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.URL LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATETIME(#{searchBgnDe} || ' 00:00:00', 'YYYY-MM-DD HH24:MI:SS') + AND TO_DATETIME(#{searchEndDe} || ' 23:59:59', 'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + + <![CDATA[ + ORDER BY a.OCCRRNC_DE DESC + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <!-- 웹 로그 총건수 --> + <select id="selectWebLogInfCnt" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.REQUST_ID) as cnt + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.URL LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATETIME(#{searchBgnDe} || ' 00:00:00', 'YYYY-MM-DD HH24:MI:SS') + AND TO_DATETIME(#{searchEndDe} || ' 23:59:59', 'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + </select> + + <!-- 웹 로그 전날 로그 요약 등록 --> + <insert id="logInsertWebLogSummary"> + + <![CDATA[ + INSERT INTO COMTSWEBLOGSUMMARY + SELECT TO_CHAR(b.OCCRRNC_DE,'YYYYMMDD') + , b.URL + , COUNT(b.OCCRRNC_DE) AS RDCNT + FROM COMTNWEBLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTSWEBLOGSUMMARY c + WHERE c.OCCRRNC_DE = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + ) + AND TO_CHAR(b.OCCRRNC_DE,'YYYYMMDD') = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + GROUP BY TO_CHAR(b.OCCRRNC_DE,'YYYYMMDD') + , b.URL + ]]> + + + </insert> + + <!-- 웹 로그 6개월전 로그 삭제 --> + <delete id="logDeleteWebLogSummary"> + + <![CDATA[ + DELETE FROM COMTNWEBLOG + WHERE TO_CHAR(OCCRRNC_DE, 'YYYY-MM-DD') < TO_CHAR(ADD_MONTHS(SYSDATE, -6), 'YYYY-MM-DD') + ]]> + + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_oracle.xml (revision 7) @@ -0,0 +1,147 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.10.17 서준식 OCCRRNC_DE 컬럼과 날짜 비교문에 RTRIM 함수 적용 + 2017.09.19 이정은 날짜로 검색 시 시분초 추가, 로그삭제기한 210일 -> 6개월로 변경 + +--><!--Converted at: Wed May 11 15:50:45 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="WebLog"> + + <!-- 웹로그 맵 --> + <resultMap id="WebLogVO" type="egovframework.com.sym.log.wlg.service.WebLog"> + <result property="requstId" column="REQUST_ID"/> + <result property="occrrncDe" column="OCCRRNC_DE"/> + <result property="url" column="URL"/> + <result property="rqesterIp" column="RQESTER_IP"/> + <result property="rqesterId" column="RQESTER_ID"/> + <result property="rqsterNm" column="RQESTER_NM"/> + </resultMap> + + <!-- 웹 로그 등록 --> + <insert id="logInsertWebLog" parameterType="egovframework.com.sym.log.wlg.service.WebLog"> + + <![CDATA[ + INSERT INTO COMTNWEBLOG + ( REQUST_ID + , URL + , RQESTER_ID + , RQESTER_IP + , OCCRRNC_DE ) + VALUES ( #{requstId} + , #{url} + , #{rqesterId} + , #{rqesterIp} + , sysdate) + ]]> + + </insert> + + <!-- 웹 로그 상세 조회 --> + <select id="selectWebLog" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultMap="WebLogVO"> + + <![CDATA[ + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.URL + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + a.REQUST_ID = #{requstId} + ]]> + + </select> + + <!-- 웹 로그 목록 조회 --> + <select id="selectWebLogInf" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultMap="WebLogVO"> + + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.REQUST_ID + , a.OCCRRNC_DE + , a.URL + , a.RQESTER_IP + , a.RQESTER_ID + , b.USER_NM AS RQESTER_NM + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.URL LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + <![CDATA[ + ORDER BY a.OCCRRNC_DE DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <!-- 웹 로그 총건수 --> + <select id="selectWebLogInfCnt" parameterType="egovframework.com.sym.log.wlg.service.WebLog" resultType="int"> + + <![CDATA[ + SELECT COUNT(a.REQUST_ID) as cnt + FROM + COMTNWEBLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.RQESTER_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.URL LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.OCCRRNC_DE BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + </select> + + <!-- 웹 로그 전날 로그 요약 등록 --> + <insert id="logInsertWebLogSummary"> + + <![CDATA[ + INSERT INTO COMTSWEBLOGSUMMARY + SELECT TO_CHAR(b.OCCRRNC_DE,'YYYYMMDD') + , b.URL + , COUNT(b.OCCRRNC_DE) AS RDCNT + FROM COMTNWEBLOG b + WHERE NOT EXISTS (SELECT c.OCCRRNC_DE + FROM COMTSWEBLOGSUMMARY c + WHERE c.OCCRRNC_DE = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + ) + AND TO_CHAR(b.OCCRRNC_DE, 'YYYYMMDD') = TO_CHAR((SYSDATE - 1), 'YYYYMMDD') + GROUP BY TO_CHAR(b.OCCRRNC_DE,'YYYYMMDD') + , b.URL + ]]> + + </insert> + + <!-- 웹 로그 6개월전 로그 삭제 --> + <delete id="logDeleteWebLogSummary"> + + <![CDATA[ + DELETE FROM COMTNWEBLOG + WHERE TO_CHAR(OCCRRNC_DE, 'YYYY-MM-DD') < TO_CHAR(ADD_MONTHS(SYSDATE, -6), 'YYYY-MM-DD') + ]]> + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/wlg/EgovWebLog_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_cubrid.xml (revision 7) @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.11.07 이정은 날짜로 검색 시 시분초 추가 + --> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="LoginLog"> + + <!-- 로그인로그 맵 --> + <resultMap id="LoginLogVO" type="egovframework.com.sym.log.clg.service.LoginLog"> + <result property="logId" column="LOG_ID"/> + <result property="creatDt" column="CREAT_DT"/> + <result property="loginMthd" column="CONECT_MTHD"/> + <result property="loginIp" column="CONECT_IP"/> + <result property="loginId" column="CONECT_ID"/> + <result property="loginNm" column="LOGIN_NM"/> + </resultMap> + + <!-- 로그인 로그 등록 --> + <insert id="LoginLog.logInsertLoginLog" parameterType="egovframework.com.sym.log.clg.service.LoginLog"> + + <![CDATA[ + INSERT INTO COMTNLOGINLOG + ( LOG_ID + , CONECT_MTHD + , CONECT_ID + , CONECT_IP + , ERROR_OCCRRNC_AT + , ERROR_CODE + , CREAT_DT ) + VALUES ( #{logId} + , #{loginMthd} + , #{loginId} + , #{loginIp} + , #{errOccrrAt} + , #{errorCode} + , SYSDATETIME) + ]]> + + </insert> + + <!-- 로그인 로그 상세 조회 --> + <select id="LoginLog.selectLoginLog" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultMap="LoginLogVO"> + + <![CDATA[ + SELECT + a.LOG_ID + , a.CREAT_DT + , a.CONECT_MTHD + , a.CONECT_IP + , a.CONECT_ID + , b.USER_NM AS LOGIN_NM + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + a.LOG_ID = #{logId} + ]]> + + </select> + + <!-- 로그인 로그 목록 조회 --> + <select id="LoginLog.selectLoginLogInf" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultMap="LoginLogVO"> + + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.LOG_ID + , a.CREAT_DT + , a.CONECT_MTHD + , a.CONECT_IP + , a.CONECT_ID + , b.USER_NM AS LOGIN_NM + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.CONECT_MTHD LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.CREAT_DT BETWEEN TO_DATETIME(#{searchBgnDe} || ' 00:00:00', 'YYYY-MM-DD HH24:MI:SS') + AND TO_DATETIME(#{searchEndDe} || ' 23:59:59', 'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + + <![CDATA[ + ORDER BY a.CREAT_DT DESC + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <!-- 로그인 로그 총건수 --> + <select id="LoginLog.selectLoginLogInfCnt" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultType="java.lang.Integer"> + + <![CDATA[ + SELECT COUNT(a.LOG_ID) as cnt + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.CONECT_MTHD LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.CREAT_DT BETWEEN TO_DATETIME(#{searchBgnDe} || ' 00:00:00', 'YYYY-MM-DD HH24:MI:SS') + AND TO_DATETIME(#{searchEndDe} || ' 23:59:59', 'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_maria.xml (revision 7) @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.11.07 이정은 날짜로 검색 시 시분초 추가 + --> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="LoginLog"> + + <!-- 로그인로그 맵 --> + <resultMap id="LoginLogVO" type="egovframework.com.sym.log.clg.service.LoginLog"> + <result property="logId" column="LOG_ID"/> + <result property="creatDt" column="CREAT_DT"/> + <result property="loginMthd" column="CONECT_MTHD"/> + <result property="loginIp" column="CONECT_IP"/> + <result property="loginId" column="CONECT_ID"/> + <result property="loginNm" column="LOGIN_NM"/> + </resultMap> + + <!-- 로그인 로그 등록 --> + <insert id="logInsertLoginLog" parameterType="egovframework.com.sym.log.clg.service.LoginLog"> + <![CDATA[ + INSERT INTO COMTNLOGINLOG + ( LOG_ID + , CONECT_MTHD + , CONECT_ID + , CONECT_IP + , ERROR_OCCRRNC_AT + , ERROR_CODE + , CREAT_DT ) + VALUES ( #{logId} + , #{loginMthd} + , #{loginId} + , #{loginIp} + , #{errOccrrAt} + , #{errorCode} + , sysdate()) + ]]> + + </insert> + + <!-- 로그인 로그 상세 조회 --> + <select id="selectLoginLog" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultMap="LoginLogVO"> + + <![CDATA[ + SELECT + a.LOG_ID + , a.CREAT_DT + , a.CONECT_MTHD + , a.CONECT_IP + , a.CONECT_ID + , b.USER_NM AS LOGIN_NM + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + a.LOG_ID = #{logId} + ]]> + + </select> + + <!-- 로그인 로그 목록 조회 --> + <select id="selectLoginLogInf" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultMap="LoginLogVO"> + + <![CDATA[ + SELECT + a.LOG_ID + , a.CREAT_DT + , a.CONECT_MTHD + , a.CONECT_IP + , a.CONECT_ID + , b.USER_NM AS LOGIN_NM + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.CONECT_MTHD LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.CREAT_DT BETWEEN STR_TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'), '%Y-%m-%d %H:%i:%s') + AND STR_TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'), '%Y-%m-%d %H:%i:%s') ]]> + </if> + <![CDATA[ ORDER BY a.CREAT_DT DESC ]]> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <!-- 로그인 로그 총건수 --> + <select id="selectLoginLogInfCnt" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultType="java.lang.Integer"> + + <![CDATA[ + SELECT COUNT(a.LOG_ID) as cnt + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.CONECT_MTHD LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.CREAT_DT BETWEEN STR_TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'), '%Y-%m-%d %H:%i:%s') + AND STR_TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'), '%Y-%m-%d %H:%i:%s') ]]> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_oracle.xml (revision 7) @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.11.07 이정은 날짜로 검색 시 시분초 추가 + --> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="LoginLog"> + <!-- 로그인로그 맵 --> + <resultMap id="LoginLogVO" type="egovframework.com.sym.log.clg.service.LoginLog"> + <result property="logId" column="LOG_ID"/> + <result property="creatDt" column="CREAT_DT"/> + <result property="loginMthd" column="CONECT_MTHD"/> + <result property="loginIp" column="CONECT_IP"/> + <result property="loginId" column="CONECT_ID"/> + <result property="loginNm" column="LOGIN_NM"/> + </resultMap> + + <!-- 로그인 로그 등록 --> + <insert id="logInsertLoginLog" parameterType="egovframework.com.sym.log.clg.service.LoginLog"> + <![CDATA[ + INSERT INTO COMTNLOGINLOG + ( LOG_ID + , CONECT_MTHD + , CONECT_ID + , CONECT_IP + , ERROR_OCCRRNC_AT + , ERROR_CODE + , CREAT_DT ) + VALUES ( #{logId} + , #{loginMthd} + , #{loginId} + , #{loginIp} + , #{errOccrrAt} + , #{errorCode} + , sysdate) + ]]> + </insert> + + <!-- 로그인 로그 상세 조회 --> + <select id="selectLoginLog" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultMap="LoginLogVO"> + <![CDATA[ + SELECT + a.LOG_ID + , a.CREAT_DT + , a.CONECT_MTHD + , a.CONECT_IP + , a.CONECT_ID + , b.USER_NM AS LOGIN_NM + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + a.LOG_ID = #{logId} + ]]> + </select> + + <!-- 로그인 로그 목록 조회 --> + <select id="selectLoginLogInf" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultMap="LoginLogVO"> + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.LOG_ID + , a.CREAT_DT + , a.CONECT_MTHD + , a.CONECT_IP + , a.CONECT_ID + , b.USER_NM AS LOGIN_NM + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + <if test="searchWrd != null and searchWrd != ''"><![CDATA[ AND + a.CONECT_MTHD LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"><![CDATA[ AND + a.CREAT_DT BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + + <![CDATA[ ORDER BY a.CREAT_DT DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} ]]> + + </select> + + <!-- 로그인 로그 총건수 --> + <select id="selectLoginLogInfCnt" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultType="java.lang.Integer"> + + <![CDATA[ + SELECT COUNT(a.LOG_ID) as cnt + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.CONECT_MTHD LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.CREAT_DT BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_altibase.xml (revision 7) @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.11.07 이정은 날짜로 검색 시 시분초 추가 + --> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="LoginLog"> + + <!-- 로그인로그 맵 --> + <resultMap id="LoginLogVO" type="egovframework.com.sym.log.clg.service.LoginLog"> + <result property="logId" column="LOG_ID"/> + <result property="creatDt" column="CREAT_DT"/> + <result property="loginMthd" column="CONECT_MTHD"/> + <result property="loginIp" column="CONECT_IP"/> + <result property="loginId" column="CONECT_ID"/> + <result property="loginNm" column="LOGIN_NM"/> + </resultMap> + + <!-- 로그인 로그 등록 --> + <insert id="LoginLog.logInsertLoginLog" parameterType="egovframework.com.sym.log.clg.service.LoginLog"> + + <![CDATA[ + INSERT INTO COMTNLOGINLOG + ( LOG_ID + , CONECT_MTHD + , CONECT_ID + , CONECT_IP + , ERROR_OCCRRNC_AT + , ERROR_CODE + , CREAT_DT ) + VALUES ( #{logId} + , #{loginMthd} + , #{loginId} + , #{loginIp} + , #{errOccrrAt} + , #{errorCode} + , sysdate) + ]]> + </insert> + + <!-- 로그인 로그 상세 조회 --> + <select id="LoginLog.selectLoginLog" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultMap="LoginLogVO"> + + <![CDATA[ + SELECT + a.LOG_ID + , a.CREAT_DT + , a.CONECT_MTHD + , a.CONECT_IP + , a.CONECT_ID + , b.USER_NM AS LOGIN_NM + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + a.LOG_ID = #{logId} + ]]> + + </select> + + <!-- 로그인 로그 목록 조회 --> + <select id="LoginLog.selectLoginLogInf" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultMap="LoginLogVO"> + + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.LOG_ID + , a.CREAT_DT + , a.CONECT_MTHD + , a.CONECT_IP + , a.CONECT_ID + , b.USER_NM AS LOGIN_NM + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.CONECT_MTHD LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.CREAT_DT BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + + <![CDATA[ + ORDER BY a.CREAT_DT DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} ]]> + + </select> + + <!-- 로그인 로그 총건수 --> + <select id="LoginLog.selectLoginLogInfCnt" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultType="java.lang.Integer"> + + <![CDATA[ + SELECT COUNT(a.LOG_ID) as cnt + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.CONECT_MTHD LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.CREAT_DT BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_tibero.xml (revision 7) @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.11.07 이정은 날짜로 검색 시 시분초 추가 + --> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="LoginLog"> + + <!-- 로그인로그 맵 --> + <resultMap id="LoginLogVO" type="egovframework.com.sym.log.clg.service.LoginLog"> + <result property="logId" column="LOG_ID"/> + <result property="creatDt" column="CREAT_DT"/> + <result property="loginMthd" column="CONECT_MTHD"/> + <result property="loginIp" column="CONECT_IP"/> + <result property="loginId" column="CONECT_ID"/> + <result property="loginNm" column="LOGIN_NM"/> + </resultMap> + + <!-- 로그인 로그 등록 --> + <insert id="LoginLog.logInsertLoginLog" parameterType="egovframework.com.sym.log.clg.service.LoginLog"> + + <![CDATA[ + INSERT INTO COMTNLOGINLOG + ( LOG_ID + , CONECT_MTHD + , CONECT_ID + , CONECT_IP + , ERROR_OCCRRNC_AT + , ERROR_CODE + , CREAT_DT ) + VALUES ( #{logId} + , #{loginMthd} + , #{loginId} + , #{loginIp} + , #{errOccrrAt} + , #{errorCode} + , sysdate) + ]]> + + </insert> + + <!-- 로그인 로그 상세 조회 --> + <select id="LoginLog.selectLoginLog" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultMap="LoginLogVO"> + + <![CDATA[ + SELECT + a.LOG_ID + , a.CREAT_DT + , a.CONECT_MTHD + , a.CONECT_IP + , a.CONECT_ID + , b.USER_NM AS LOGIN_NM + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + a.LOG_ID = #{logId} + ]]> + + </select> + + <!-- 로그인 로그 목록 조회 --> + <select id="LoginLog.selectLoginLogInf" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultMap="LoginLogVO"> + + <![CDATA[ + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + a.LOG_ID + , a.CREAT_DT + , a.CONECT_MTHD + , a.CONECT_IP + , a.CONECT_ID + , b.USER_NM AS LOGIN_NM + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.CONECT_MTHD LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.CREAT_DT BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + + <![CDATA[ + ORDER BY a.CREAT_DT DESC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <!-- 로그인 로그 총건수 --> + <select id="LoginLog.selectLoginLogInfCnt" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultType="java.lang.Integer"> + + <![CDATA[ + SELECT COUNT(a.LOG_ID) as cnt + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.CONECT_MTHD LIKE '%' || #{searchWrd} || '%' ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.CREAT_DT BETWEEN TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'),'YYYY-MM-DD HH24:MI:SS') + AND TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'),'YYYY-MM-DD HH24:MI:SS') ]]> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_postgres.xml (revision 7) @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.11.07 이정은 날짜로 검색 시 시분초 추가 + --> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="LoginLog"> + + <!-- 로그인로그 맵 --> + <resultMap id="LoginLogVO" type="egovframework.com.sym.log.clg.service.LoginLog"> + <result property="logId" column="LOG_ID"/> + <result property="creatDt" column="CREAT_DT"/> + <result property="loginMthd" column="CONECT_MTHD"/> + <result property="loginIp" column="CONECT_IP"/> + <result property="loginId" column="CONECT_ID"/> + <result property="loginNm" column="LOGIN_NM"/> + </resultMap> + + <!-- 로그인 로그 등록 --> + <insert id="logInsertLoginLog" parameterType="egovframework.com.sym.log.clg.service.LoginLog"> + <![CDATA[ + INSERT INTO COMTNLOGINLOG + ( LOG_ID + , CONECT_MTHD + , CONECT_ID + , CONECT_IP + , ERROR_OCCRRNC_AT + , ERROR_CODE + , CREAT_DT ) + VALUES ( #{logId} + , #{loginMthd} + , #{loginId} + , #{loginIp} + , #{errOccrrAt} + , #{errorCode} + , NOW()) + ]]> + + </insert> + + <!-- 로그인 로그 상세 조회 --> + <select id="selectLoginLog" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultMap="LoginLogVO"> + + <![CDATA[ + SELECT + a.LOG_ID + , a.CREAT_DT + , a.CONECT_MTHD + , a.CONECT_IP + , a.CONECT_ID + , b.USER_NM AS LOGIN_NM + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + a.LOG_ID = #{logId} + ]]> + + </select> + + <!-- 로그인 로그 목록 조회 --> + <select id="selectLoginLogInf" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultMap="LoginLogVO"> + + <![CDATA[ + SELECT + a.LOG_ID + , a.CREAT_DT + , a.CONECT_MTHD + , a.CONECT_IP + , a.CONECT_ID + , b.USER_NM AS LOGIN_NM + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.CONECT_MTHD LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.CREAT_DT BETWEEN TO_TIMESTAMP(CONCAT(#{searchBgnDe},' 00:00:00'), 'YYYY-mm-dd HH24:MI:SS') + AND TO_TIMESTAMP(CONCAT(#{searchEndDe},' 23:59:59'), 'YYYY-mm-dd HH24:MI:SS') ]]> + </if> + <![CDATA[ ORDER BY a.CREAT_DT DESC ]]> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <!-- 로그인 로그 총건수 --> + <select id="selectLoginLogInfCnt" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultType="java.lang.Integer"> + + <![CDATA[ + SELECT COUNT(a.LOG_ID) as cnt + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.CONECT_MTHD LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.CREAT_DT BETWEEN TO_TIMESTAMP(CONCAT(#{searchBgnDe},' 00:00:00'), 'YYYY-mm-dd HH24:MI:SS') + AND TO_TIMESTAMP(CONCAT(#{searchEndDe},' 23:59:59'), 'YYYY-mm-dd HH24:MI:SS') ]]> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_mysql.xml (revision 7) @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:41 KST 2016 + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2017.11.07 이정은 날짜로 검색 시 시분초 추가 + --> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="LoginLog"> + + <!-- 로그인로그 맵 --> + <resultMap id="LoginLogVO" type="egovframework.com.sym.log.clg.service.LoginLog"> + <result property="logId" column="LOG_ID"/> + <result property="creatDt" column="CREAT_DT"/> + <result property="loginMthd" column="CONECT_MTHD"/> + <result property="loginIp" column="CONECT_IP"/> + <result property="loginId" column="CONECT_ID"/> + <result property="loginNm" column="LOGIN_NM"/> + </resultMap> + + <!-- 로그인 로그 등록 --> + <insert id="logInsertLoginLog" parameterType="egovframework.com.sym.log.clg.service.LoginLog"> + <![CDATA[ + INSERT INTO COMTNLOGINLOG + ( LOG_ID + , CONECT_MTHD + , CONECT_ID + , CONECT_IP + , ERROR_OCCRRNC_AT + , ERROR_CODE + , CREAT_DT ) + VALUES ( #{logId} + , #{loginMthd} + , #{loginId} + , #{loginIp} + , #{errOccrrAt} + , #{errorCode} + , sysdate()) + ]]> + + </insert> + + <!-- 로그인 로그 상세 조회 --> + <select id="selectLoginLog" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultMap="LoginLogVO"> + + <![CDATA[ + SELECT + a.LOG_ID + , a.CREAT_DT + , a.CONECT_MTHD + , a.CONECT_IP + , a.CONECT_ID + , b.USER_NM AS LOGIN_NM + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + a.LOG_ID = #{logId} + ]]> + + </select> + + <!-- 로그인 로그 목록 조회 --> + <select id="selectLoginLogInf" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultMap="LoginLogVO"> + + <![CDATA[ + SELECT + a.LOG_ID + , a.CREAT_DT + , a.CONECT_MTHD + , a.CONECT_IP + , a.CONECT_ID + , b.USER_NM AS LOGIN_NM + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.CONECT_MTHD LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.CREAT_DT BETWEEN STR_TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'), '%Y-%m-%d %H:%i:%s') + AND STR_TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'), '%Y-%m-%d %H:%i:%s') ]]> + </if> + <![CDATA[ ORDER BY a.CREAT_DT DESC ]]> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <!-- 로그인 로그 총건수 --> + <select id="selectLoginLogInfCnt" parameterType="egovframework.com.sym.log.clg.service.LoginLog" resultType="java.lang.Integer"> + + <![CDATA[ + SELECT COUNT(a.LOG_ID) as cnt + FROM + COMTNLOGINLOG a + LEFT OUTER JOIN COMVNUSERMASTER b + ON a.CONECT_ID = b.ESNTL_ID + WHERE + 1 = 1 + ]]> + + <if test="searchWrd != null and searchWrd != ''"> <![CDATA[ AND + a.CONECT_MTHD LIKE CONCAT ('%', #{searchWrd},'%') ]]> + </if> + <if test="searchBgnDe != null and searchBgnDe != ''"> <![CDATA[ AND + a.CREAT_DT BETWEEN STR_TO_DATE(CONCAT(#{searchBgnDe},' 00:00:00'), '%Y-%m-%d %H:%i:%s') + AND STR_TO_DATE(CONCAT(#{searchEndDe},' 23:59:59'), '%Y-%m-%d %H:%i:%s') ]]> + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/log/clg/EgovLoginLog_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_cubrid.xml (revision 7) @@ -0,0 +1,178 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BkmkMenuManageDAO"> + + <resultMap id="BkmkInfs" type="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + <result property="menuId" column="MENU_ID"/> + <result property="userId" column="EMPLYR_ID"/> + <result property="menuNm" column="MENU_NM"/> + <result property="progrmStrePath" column="PROGRM_STRE_PATH"/> + </resultMap> + + <resultMap id="MenuInfs" type="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + <result property="menuId" column="MENU_NO"/> + <result property="menuNm" column="MENU_NM"/> + <result property="menuDc" column="MENU_DC"/> + </resultMap> + + <resultMap id="menuManage" type="egovframework.com.sym.mnu.mpm.service.MenuManageVO"> + <result property="menuNo" column="MENU_NO"/> + <result property="menuOrdr" column="MENU_ORDR"/> + <result property="menuNm" column="MENU_NM"/> + <result property="upperMenuId" column="UPPER_MENU_NO"/> + <result property="menuDc" column="MENU_DC"/> + <result property="relateImagePath" column="RELATE_IMAGE_PATH"/> + <result property="relateImageNm" column="RELATE_IMAGE_NM"/> + <result property="progrmFileNm" column="PROGRM_FILE_NM"/> + </resultMap> + + <select id="selectBkmkPreview" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="menuManage"> + + SELECT + MENU_NO, MENU_ORDR, MENU_NM, UPPER_MENU_NO,MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM, + PROGRM_FILE_NM + FROM + COMTNMENUINFO , (SELECT MENU_ID + FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId} )b + WHERE + MENU_NO = b.MENU_ID + + </select> + + <select id="selectBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + + SELECT + MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + FROM + COMTNBKMKMENUMANAGERESULT + WHERE + MENU_ID = #{menuId} AND EMPLYR_ID = #{userId} + + </select> + + <insert id="insertBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage"> + + INSERT INTO COMTNBKMKMENUMANAGERESULT + ( MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + ) + VALUES + ( #{menuId}, #{userId}, #{menuNm}, #{progrmStrePath} + ) + + </insert> + + <delete id="deleteBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage"> + + DELETE FROM COMTNBKMKMENUMANAGERESULT + WHERE + MENU_ID = #{menuId} AND EMPLYR_ID = #{userId} + + </delete> + + <select id="selectBkmkMenuManageList" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="BkmkInfs"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + + SELECT + MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + FROM + COMTNBKMKMENUMANAGERESULT + WHERE + EMPLYR_ID = #{userId} + + + <if test="searchCnd == 0">AND + MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + <![CDATA[ + ORDER BY MENU_NM + + + ) ALL_LIST + ) Z + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectBkmkMenuManageListCnt" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="java.lang.Integer"> + + select count(MENU_ID) + from COMTNBKMKMENUMANAGERESULT + WHERE + EMPLYR_ID = #{userId} + + <if test="searchCnd == 0">AND + MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + </select> + + <select id="selectBkmkMenuList" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="MenuInfs"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + + SELECT + d.MENU_NO, d.MENU_NM, d.MENU_DC + FROM + COMTNMENUINFO d, (SELECT a.MENU_NO FROM COMTNMENUCREATDTLS a, COMTNEMPLYRSCRTYESTBS b , COMVNUSERMASTER c + WHERE a.AUTHOR_CODE = b.AUTHOR_CODE AND b.SCRTY_DTRMN_TRGET_ID = c.ESNTL_ID AND c.USER_ID = #{userId})temp + WHERE + d.PROGRM_FILE_NM != 'dir' + AND d.MENU_NO = temp.MENU_NO + AND d.menu_no not in (SELECT MENU_ID FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId}) + + <if test="searchCnd == 0">AND + d.MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + <![CDATA[ + ORDER BY MENU_NM + + + ) ALL_LIST + ) Z + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectBkmkMenuListCnt" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="java.lang.Integer"> + + select count(d.MENU_NM) + FROM + COMTNMENUINFO d, (SELECT a.MENU_NO FROM COMTNMENUCREATDTLS a, COMTNEMPLYRSCRTYESTBS b , COMVNUSERMASTER c + WHERE a.AUTHOR_CODE = b.AUTHOR_CODE AND b.SCRTY_DTRMN_TRGET_ID = c.ESNTL_ID AND c.USER_ID = #{userId})temp + WHERE + d.PROGRM_FILE_NM != 'dir' + AND d.MENU_NO = temp.MENU_NO + AND d.menu_no not in (SELECT MENU_ID FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId}) + + <if test="searchCnd == 0">AND + d.MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + </select> + + <select id="selectUrl" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage" resultType="java.lang.String"> + + SELECT a.URL + FROM COMTNPROGRMLIST a, (SELECT MENU_NO , PROGRM_FILE_NM + FROM COMTNMENUINFO WHERE MENU_NO = #{menuId} )b + WHERE + a.PROGRM_FILE_NM = b.PROGRM_FILE_NM + + + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_maria.xml (revision 7) @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BkmkMenuManageDAO"> + + <resultMap id="BkmkInfs" type="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + <result property="menuId" column="MENU_ID"/> + <result property="userId" column="EMPLYR_ID"/> + <result property="menuNm" column="MENU_NM"/> + <result property="progrmStrePath" column="PROGRM_STRE_PATH"/> + </resultMap> + + <resultMap id="MenuInfs" type="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + <result property="menuId" column="MENU_NO"/> + <result property="menuNm" column="MENU_NM"/> + <result property="menuDc" column="MENU_DC"/> + </resultMap> + + <resultMap id="menuManage" type="egovframework.com.sym.mnu.mpm.service.MenuManageVO"> + <result property="menuNo" column="MENU_NO"/> + <result property="menuOrdr" column="MENU_ORDR"/> + <result property="menuNm" column="MENU_NM"/> + <result property="upperMenuId" column="UPPER_MENU_NO"/> + <result property="menuDc" column="MENU_DC"/> + <result property="relateImagePath" column="RELATE_IMAGE_PATH"/> + <result property="relateImageNm" column="RELATE_IMAGE_NM"/> + <result property="progrmFileNm" column="PROGRM_FILE_NM"/> + </resultMap> + + <select id="selectBkmkPreview" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="menuManage"> + + SELECT + MENU_NO, MENU_ORDR, MENU_NM, UPPER_MENU_NO,MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM, + PROGRM_FILE_NM + FROM + COMTNMENUINFO , (SELECT MENU_ID + FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId} )b + WHERE + MENU_NO = b.MENU_ID + + </select> + + <select id="selectBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + + SELECT + MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + FROM + COMTNBKMKMENUMANAGERESULT + WHERE + MENU_ID = #{menuId} AND EMPLYR_ID = #{userId} + + </select> + + <insert id="insertBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage"> + + INSERT INTO COMTNBKMKMENUMANAGERESULT + ( MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + ) + VALUES + ( #{menuId}, #{userId}, #{menuNm}, #{progrmStrePath} + ) + + </insert> + + <delete id="deleteBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage"> + + DELETE FROM COMTNBKMKMENUMANAGERESULT + WHERE + MENU_ID = #{menuId} AND EMPLYR_ID = #{userId} + + </delete> + + <select id="selectBkmkMenuManageList" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="BkmkInfs"> + + SELECT + MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + FROM + COMTNBKMKMENUMANAGERESULT + WHERE + EMPLYR_ID = #{userId} + + <if test="searchCnd == 0">AND + MENU_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + + ORDER BY MENU_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectBkmkMenuManageListCnt" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="int"> + + select count(MENU_ID) + from COMTNBKMKMENUMANAGERESULT + WHERE + EMPLYR_ID = #{userId} + + <if test="searchCnd == 0">AND + MENU_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + </select> + + <select id="selectBkmkMenuList" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="MenuInfs"> + + SELECT + d.MENU_NO, d.MENU_NM, d.MENU_DC + FROM + COMTNMENUINFO d, (SELECT a.MENU_NO FROM COMTNMENUCREATDTLS a, COMTNEMPLYRSCRTYESTBS b , COMVNUSERMASTER c + WHERE a.AUTHOR_CODE = b.AUTHOR_CODE AND b.SCRTY_DTRMN_TRGET_ID = c.ESNTL_ID AND c.USER_ID = #{userId})temp + WHERE + d.PROGRM_FILE_NM != 'dir' + AND d.MENU_NO = temp.MENU_NO + AND d.menu_no not in (SELECT MENU_ID FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId}) + + <if test="searchCnd == 0">AND + MENU_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + + ORDER BY MENU_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectBkmkMenuListCnt" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="int"> + + select count(d.MENU_NO) + FROM + COMTNMENUINFO d, (SELECT a.MENU_NO FROM COMTNMENUCREATDTLS a, COMTNEMPLYRSCRTYESTBS b , COMVNUSERMASTER c + WHERE a.AUTHOR_CODE = b.AUTHOR_CODE AND b.SCRTY_DTRMN_TRGET_ID = c.ESNTL_ID AND c.USER_ID = #{userId})temp + WHERE + d.PROGRM_FILE_NM != 'dir' + AND d.MENU_NO = temp.MENU_NO + AND d.menu_no not in (SELECT MENU_ID FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId}) + + <if test="searchCnd == 0">AND + MENU_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + </select> + + <select id="selectUrl" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage" resultType="String"> + + SELECT a.URL + FROM COMTNPROGRMLIST a, (SELECT MENU_NO , PROGRM_FILE_NM + FROM COMTNMENUINFO WHERE MENU_NO = #{menuId} )b + WHERE + a.PROGRM_FILE_NM = b.PROGRM_FILE_NM + + + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_oracle.xml (revision 7) @@ -0,0 +1,178 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BkmkMenuManageDAO"> + + <resultMap id="BkmkInfs" type="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + <result property="menuId" column="MENU_ID"/> + <result property="userId" column="EMPLYR_ID"/> + <result property="menuNm" column="MENU_NM"/> + <result property="progrmStrePath" column="PROGRM_STRE_PATH"/> + </resultMap> + + <resultMap id="MenuInfs" type="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + <result property="menuId" column="MENU_NO"/> + <result property="menuNm" column="MENU_NM"/> + <result property="menuDc" column="MENU_DC"/> + </resultMap> + + <resultMap id="menuManage" type="egovframework.com.sym.mnu.mpm.service.MenuManageVO"> + <result property="menuNo" column="MENU_NO"/> + <result property="menuOrdr" column="MENU_ORDR"/> + <result property="menuNm" column="MENU_NM"/> + <result property="upperMenuId" column="UPPER_MENU_NO"/> + <result property="menuDc" column="MENU_DC"/> + <result property="relateImagePath" column="RELATE_IMAGE_PATH"/> + <result property="relateImageNm" column="RELATE_IMAGE_NM"/> + <result property="progrmFileNm" column="PROGRM_FILE_NM"/> + </resultMap> + + <select id="selectBkmkPreview" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="menuManage"> + + SELECT + MENU_NO, MENU_ORDR, MENU_NM, UPPER_MENU_NO,MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM, + PROGRM_FILE_NM + FROM + COMTNMENUINFO , (SELECT MENU_ID + FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId} )b + WHERE + MENU_NO = b.MENU_ID + + </select> + + <select id="selectBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + + SELECT + MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + FROM + COMTNBKMKMENUMANAGERESULT + WHERE + MENU_ID = #{menuId} AND EMPLYR_ID = #{userId} + + </select> + + <insert id="insertBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage"> + + INSERT INTO COMTNBKMKMENUMANAGERESULT + ( MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + ) + VALUES + ( #{menuId}, #{userId}, #{menuNm}, #{progrmStrePath} + ) + + </insert> + + <delete id="deleteBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage"> + + DELETE FROM COMTNBKMKMENUMANAGERESULT + WHERE + MENU_ID = #{menuId} AND EMPLYR_ID = #{userId} + + </delete> + + <select id="selectBkmkMenuManageList" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="BkmkInfs"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + + SELECT + MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + FROM + COMTNBKMKMENUMANAGERESULT + WHERE + EMPLYR_ID = #{userId} + + + <if test="searchCnd == 0">AND + MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + <![CDATA[ + ORDER BY MENU_NM + + + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectBkmkMenuManageListCnt" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="java.lang.Integer"> + + select count(MENU_ID) + from COMTNBKMKMENUMANAGERESULT + WHERE + EMPLYR_ID = #{userId} + + <if test="searchCnd == 0">AND + MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + </select> + + <select id="selectBkmkMenuList" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="MenuInfs"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + + SELECT + d.MENU_NO, d.MENU_NM, d.MENU_DC + FROM + COMTNMENUINFO d, (SELECT a.MENU_NO FROM COMTNMENUCREATDTLS a, COMTNEMPLYRSCRTYESTBS b , COMVNUSERMASTER c + WHERE a.AUTHOR_CODE = b.AUTHOR_CODE AND b.SCRTY_DTRMN_TRGET_ID = c.ESNTL_ID AND c.USER_ID = #{userId})temp + WHERE + d.PROGRM_FILE_NM != 'dir' + AND d.MENU_NO = temp.MENU_NO + AND d.menu_no not in (SELECT MENU_ID FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId}) + + <if test="searchCnd == 0">AND + d.MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + <![CDATA[ + ORDER BY MENU_NM + + + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectBkmkMenuListCnt" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="java.lang.Integer"> + + select count(d.MENU_NM) + FROM + COMTNMENUINFO d, (SELECT a.MENU_NO FROM COMTNMENUCREATDTLS a, COMTNEMPLYRSCRTYESTBS b , COMVNUSERMASTER c + WHERE a.AUTHOR_CODE = b.AUTHOR_CODE AND b.SCRTY_DTRMN_TRGET_ID = c.ESNTL_ID AND c.USER_ID = #{userId})temp + WHERE + d.PROGRM_FILE_NM != 'dir' + AND d.MENU_NO = temp.MENU_NO + AND d.menu_no not in (SELECT MENU_ID FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId}) + + <if test="searchCnd == 0">AND + d.MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + </select> + + <select id="selectUrl" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage" resultType="java.lang.String"> + + SELECT a.URL + FROM COMTNPROGRMLIST a, (SELECT MENU_NO , PROGRM_FILE_NM + FROM COMTNMENUINFO WHERE MENU_NO = #{menuId} )b + WHERE + a.PROGRM_FILE_NM = b.PROGRM_FILE_NM + + + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_altibase.xml (revision 7) @@ -0,0 +1,178 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BkmkMenuManageDAO"> + + <resultMap id="BkmkInfs" type="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + <result property="menuId" column="MENU_ID"/> + <result property="userId" column="EMPLYR_ID"/> + <result property="menuNm" column="MENU_NM"/> + <result property="progrmStrePath" column="PROGRM_STRE_PATH"/> + </resultMap> + + <resultMap id="MenuInfs" type="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + <result property="menuId" column="MENU_NO"/> + <result property="menuNm" column="MENU_NM"/> + <result property="menuDc" column="MENU_DC"/> + </resultMap> + + <resultMap id="menuManage" type="egovframework.com.sym.mnu.mpm.service.MenuManageVO"> + <result property="menuNo" column="MENU_NO"/> + <result property="menuOrdr" column="MENU_ORDR"/> + <result property="menuNm" column="MENU_NM"/> + <result property="upperMenuId" column="UPPER_MENU_NO"/> + <result property="menuDc" column="MENU_DC"/> + <result property="relateImagePath" column="RELATE_IMAGE_PATH"/> + <result property="relateImageNm" column="RELATE_IMAGE_NM"/> + <result property="progrmFileNm" column="PROGRM_FILE_NM"/> + </resultMap> + + <select id="selectBkmkPreview" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="menuManage"> + + SELECT + MENU_NO, MENU_ORDR, MENU_NM, UPPER_MENU_NO,MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM, + PROGRM_FILE_NM + FROM + COMTNMENUINFO , (SELECT MENU_ID + FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId} )b + WHERE + MENU_NO = b.MENU_ID + + </select> + + <select id="selectBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + + SELECT + MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + FROM + COMTNBKMKMENUMANAGERESULT + WHERE + MENU_ID = #{menuId} AND EMPLYR_ID = #{userId} + + </select> + + <insert id="insertBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage"> + + INSERT INTO COMTNBKMKMENUMANAGERESULT + ( MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + ) + VALUES + ( #{menuId}, #{userId}, #{menuNm}, #{progrmStrePath} + ) + + </insert> + + <delete id="deleteBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage"> + + DELETE FROM COMTNBKMKMENUMANAGERESULT + WHERE + MENU_ID = #{menuId} AND EMPLYR_ID = #{userId} + + </delete> + + <select id="selectBkmkMenuManageList" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="BkmkInfs"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + + SELECT + MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + FROM + COMTNBKMKMENUMANAGERESULT + WHERE + EMPLYR_ID = #{userId} + + + <if test="searchCnd == 0">AND + MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + <![CDATA[ + ORDER BY MENU_NM + + + ) ALL_LIST + ) Z + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectBkmkMenuManageListCnt" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="java.lang.Integer"> + + select count(MENU_ID) + from COMTNBKMKMENUMANAGERESULT + WHERE + EMPLYR_ID = #{userId} + + <if test="searchCnd == 0">AND + MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + </select> + + <select id="selectBkmkMenuList" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="MenuInfs"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + + SELECT + d.MENU_NO, d.MENU_NM, d.MENU_DC + FROM + COMTNMENUINFO d, (SELECT a.MENU_NO FROM COMTNMENUCREATDTLS a, COMTNEMPLYRSCRTYESTBS b , COMVNUSERMASTER c + WHERE a.AUTHOR_CODE = b.AUTHOR_CODE AND b.SCRTY_DTRMN_TRGET_ID = c.ESNTL_ID AND c.USER_ID = #{userId})temp + WHERE + d.PROGRM_FILE_NM != 'dir' + AND d.MENU_NO = temp.MENU_NO + AND d.menu_no not in (SELECT MENU_ID FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId}) + + <if test="searchCnd == 0">AND + d.MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + <![CDATA[ + ORDER BY MENU_NM + + + ) ALL_LIST + ) Z + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectBkmkMenuListCnt" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="java.lang.Integer"> + + select count(d.MENU_NM) + FROM + COMTNMENUINFO d, (SELECT a.MENU_NO FROM COMTNMENUCREATDTLS a, COMTNEMPLYRSCRTYESTBS b , COMVNUSERMASTER c + WHERE a.AUTHOR_CODE = b.AUTHOR_CODE AND b.SCRTY_DTRMN_TRGET_ID = c.ESNTL_ID AND c.USER_ID = #{userId})temp + WHERE + d.PROGRM_FILE_NM != 'dir' + AND d.MENU_NO = temp.MENU_NO + AND d.menu_no not in (SELECT MENU_ID FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId}) + + <if test="searchCnd == 0">AND + d.MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + </select> + + <select id="selectUrl" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage" resultType="java.lang.String"> + + SELECT a.URL + FROM COMTNPROGRMLIST a, (SELECT MENU_NO , PROGRM_FILE_NM + FROM COMTNMENUINFO WHERE MENU_NO = #{menuId} )b + WHERE + a.PROGRM_FILE_NM = b.PROGRM_FILE_NM + + + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_tibero.xml (revision 7) @@ -0,0 +1,178 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BkmkMenuManageDAO"> + + <resultMap id="BkmkInfs" type="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + <result property="menuId" column="MENU_ID"/> + <result property="userId" column="EMPLYR_ID"/> + <result property="menuNm" column="MENU_NM"/> + <result property="progrmStrePath" column="PROGRM_STRE_PATH"/> + </resultMap> + + <resultMap id="MenuInfs" type="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + <result property="menuId" column="MENU_NO"/> + <result property="menuNm" column="MENU_NM"/> + <result property="menuDc" column="MENU_DC"/> + </resultMap> + + <resultMap id="menuManage" type="egovframework.com.sym.mnu.mpm.service.MenuManageVO"> + <result property="menuNo" column="MENU_NO"/> + <result property="menuOrdr" column="MENU_ORDR"/> + <result property="menuNm" column="MENU_NM"/> + <result property="upperMenuId" column="UPPER_MENU_NO"/> + <result property="menuDc" column="MENU_DC"/> + <result property="relateImagePath" column="RELATE_IMAGE_PATH"/> + <result property="relateImageNm" column="RELATE_IMAGE_NM"/> + <result property="progrmFileNm" column="PROGRM_FILE_NM"/> + </resultMap> + + <select id="selectBkmkPreview" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="menuManage"> + + SELECT + MENU_NO, MENU_ORDR, MENU_NM, UPPER_MENU_NO,MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM, + PROGRM_FILE_NM + FROM + COMTNMENUINFO , (SELECT MENU_ID + FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId} )b + WHERE + MENU_NO = b.MENU_ID + + </select> + + <select id="selectBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + + SELECT + MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + FROM + COMTNBKMKMENUMANAGERESULT + WHERE + MENU_ID = #{menuId} AND EMPLYR_ID = #{userId} + + </select> + + <insert id="insertBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage"> + + INSERT INTO COMTNBKMKMENUMANAGERESULT + ( MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + ) + VALUES + ( #{menuId}, #{userId}, #{menuNm}, #{progrmStrePath} + ) + + </insert> + + <delete id="deleteBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage"> + + DELETE FROM COMTNBKMKMENUMANAGERESULT + WHERE + MENU_ID = #{menuId} AND EMPLYR_ID = #{userId} + + </delete> + + <select id="selectBkmkMenuManageList" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="BkmkInfs"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + + SELECT + MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + FROM + COMTNBKMKMENUMANAGERESULT + WHERE + EMPLYR_ID = #{userId} + + + <if test="searchCnd == 0">AND + MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + <![CDATA[ + ORDER BY MENU_NM + + + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectBkmkMenuManageListCnt" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="java.lang.Integer"> + + select count(MENU_ID) + from COMTNBKMKMENUMANAGERESULT + WHERE + EMPLYR_ID = #{userId} + + <if test="searchCnd == 0">AND + MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + </select> + + <select id="selectBkmkMenuList" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="MenuInfs"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + + + SELECT + d.MENU_NO, d.MENU_NM, d.MENU_DC + FROM + COMTNMENUINFO d, (SELECT a.MENU_NO FROM COMTNMENUCREATDTLS a, COMTNEMPLYRSCRTYESTBS b , COMVNUSERMASTER c + WHERE a.AUTHOR_CODE = b.AUTHOR_CODE AND b.SCRTY_DTRMN_TRGET_ID = c.ESNTL_ID AND c.USER_ID = #{userId})temp + WHERE + d.PROGRM_FILE_NM != 'dir' + AND d.MENU_NO = temp.MENU_NO + AND d.menu_no not in (SELECT MENU_ID FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId}) + + <if test="searchCnd == 0">AND + d.MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + <![CDATA[ + ORDER BY MENU_NM + + + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectBkmkMenuListCnt" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="java.lang.Integer"> + + select count(d.MENU_NM) + FROM + COMTNMENUINFO d, (SELECT a.MENU_NO FROM COMTNMENUCREATDTLS a, COMTNEMPLYRSCRTYESTBS b , COMVNUSERMASTER c + WHERE a.AUTHOR_CODE = b.AUTHOR_CODE AND b.SCRTY_DTRMN_TRGET_ID = c.ESNTL_ID AND c.USER_ID = #{userId})temp + WHERE + d.PROGRM_FILE_NM != 'dir' + AND d.MENU_NO = temp.MENU_NO + AND d.menu_no not in (SELECT MENU_ID FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId}) + + <if test="searchCnd == 0">AND + d.MENU_NM LIKE '%'|| #{searchWrd}||'%' + </if> + + </select> + + <select id="selectUrl" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage" resultType="java.lang.String"> + + SELECT a.URL + FROM COMTNPROGRMLIST a, (SELECT MENU_NO , PROGRM_FILE_NM + FROM COMTNMENUINFO WHERE MENU_NO = #{menuId} )b + WHERE + a.PROGRM_FILE_NM = b.PROGRM_FILE_NM + + + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_postgres.xml (revision 7) @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BkmkMenuManageDAO"> + + <resultMap id="BkmkInfs" type="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + <result property="menuId" column="MENU_ID"/> + <result property="userId" column="EMPLYR_ID"/> + <result property="menuNm" column="MENU_NM"/> + <result property="progrmStrePath" column="PROGRM_STRE_PATH"/> + </resultMap> + + <resultMap id="MenuInfs" type="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + <result property="menuId" column="MENU_NO"/> + <result property="menuNm" column="MENU_NM"/> + <result property="menuDc" column="MENU_DC"/> + </resultMap> + + <resultMap id="menuManage" type="egovframework.com.sym.mnu.mpm.service.MenuManageVO"> + <result property="menuNo" column="MENU_NO"/> + <result property="menuOrdr" column="MENU_ORDR"/> + <result property="menuNm" column="MENU_NM"/> + <result property="upperMenuId" column="UPPER_MENU_NO"/> + <result property="menuDc" column="MENU_DC"/> + <result property="relateImagePath" column="RELATE_IMAGE_PATH"/> + <result property="relateImageNm" column="RELATE_IMAGE_NM"/> + <result property="progrmFileNm" column="PROGRM_FILE_NM"/> + </resultMap> + + <select id="selectBkmkPreview" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="menuManage"> + + SELECT + MENU_NO, MENU_ORDR, MENU_NM, UPPER_MENU_NO,MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM, + PROGRM_FILE_NM + FROM + COMTNMENUINFO , (SELECT MENU_ID + FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId} )b + WHERE + MENU_NO = b.MENU_ID + + </select> + + <select id="selectBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + + SELECT + MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + FROM + COMTNBKMKMENUMANAGERESULT + WHERE + MENU_ID = #{menuId} AND EMPLYR_ID = #{userId} + + </select> + + <insert id="insertBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage"> + + INSERT INTO COMTNBKMKMENUMANAGERESULT + ( MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + ) + VALUES + ( #{menuId}::NUMERIC, #{userId}, #{menuNm}, #{progrmStrePath} + ) + + </insert> + + <delete id="deleteBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage"> + + DELETE FROM COMTNBKMKMENUMANAGERESULT + WHERE + MENU_ID::varchar = #{menuId} AND EMPLYR_ID = #{userId} + + </delete> + + <select id="selectBkmkMenuManageList" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="BkmkInfs"> + + SELECT + MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + FROM + COMTNBKMKMENUMANAGERESULT + WHERE + EMPLYR_ID = #{userId} + + <if test="searchCnd == 0">AND + MENU_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + + ORDER BY MENU_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectBkmkMenuManageListCnt" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="int"> + + select count(MENU_ID) + from COMTNBKMKMENUMANAGERESULT + WHERE + EMPLYR_ID = #{userId} + + <if test="searchCnd == 0">AND + MENU_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + </select> + + <select id="selectBkmkMenuList" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="MenuInfs"> + + SELECT + d.MENU_NO, d.MENU_NM, d.MENU_DC + FROM + COMTNMENUINFO d, (SELECT a.MENU_NO FROM COMTNMENUCREATDTLS a, COMTNEMPLYRSCRTYESTBS b , COMVNUSERMASTER c + WHERE a.AUTHOR_CODE = b.AUTHOR_CODE AND b.SCRTY_DTRMN_TRGET_ID = c.ESNTL_ID AND c.USER_ID = #{userId})temp + WHERE + d.PROGRM_FILE_NM != 'dir' + AND d.MENU_NO = temp.MENU_NO + AND d.menu_no not in (SELECT MENU_ID FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId}) + + <if test="searchCnd == 0">AND + MENU_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + + ORDER BY MENU_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectBkmkMenuListCnt" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="int"> + + select count(d.MENU_NO) + FROM + COMTNMENUINFO d, (SELECT a.MENU_NO FROM COMTNMENUCREATDTLS a, COMTNEMPLYRSCRTYESTBS b , COMVNUSERMASTER c + WHERE a.AUTHOR_CODE = b.AUTHOR_CODE AND b.SCRTY_DTRMN_TRGET_ID = c.ESNTL_ID AND c.USER_ID = #{userId})temp + WHERE + d.PROGRM_FILE_NM != 'dir' + AND d.MENU_NO = temp.MENU_NO + AND d.menu_no not in (SELECT MENU_ID FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId}) + + <if test="searchCnd == 0">AND + MENU_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + </select> + + <select id="selectUrl" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage" resultType="String"> + + SELECT a.URL + FROM COMTNPROGRMLIST a, (SELECT MENU_NO , PROGRM_FILE_NM + FROM COMTNMENUINFO WHERE MENU_NO::VARCHAR = #{menuId} ) b + WHERE + a.PROGRM_FILE_NM = b.PROGRM_FILE_NM + + + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_mysql.xml (revision 7) @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="BkmkMenuManageDAO"> + + <resultMap id="BkmkInfs" type="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + <result property="menuId" column="MENU_ID"/> + <result property="userId" column="EMPLYR_ID"/> + <result property="menuNm" column="MENU_NM"/> + <result property="progrmStrePath" column="PROGRM_STRE_PATH"/> + </resultMap> + + <resultMap id="MenuInfs" type="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + <result property="menuId" column="MENU_NO"/> + <result property="menuNm" column="MENU_NM"/> + <result property="menuDc" column="MENU_DC"/> + </resultMap> + + <resultMap id="menuManage" type="egovframework.com.sym.mnu.mpm.service.MenuManageVO"> + <result property="menuNo" column="MENU_NO"/> + <result property="menuOrdr" column="MENU_ORDR"/> + <result property="menuNm" column="MENU_NM"/> + <result property="upperMenuId" column="UPPER_MENU_NO"/> + <result property="menuDc" column="MENU_DC"/> + <result property="relateImagePath" column="RELATE_IMAGE_PATH"/> + <result property="relateImageNm" column="RELATE_IMAGE_NM"/> + <result property="progrmFileNm" column="PROGRM_FILE_NM"/> + </resultMap> + + <select id="selectBkmkPreview" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="menuManage"> + + SELECT + MENU_NO, MENU_ORDR, MENU_NM, UPPER_MENU_NO,MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM, + PROGRM_FILE_NM + FROM + COMTNMENUINFO , (SELECT MENU_ID + FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId} )b + WHERE + MENU_NO = b.MENU_ID + + </select> + + <select id="selectBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO"> + + SELECT + MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + FROM + COMTNBKMKMENUMANAGERESULT + WHERE + MENU_ID = #{menuId} AND EMPLYR_ID = #{userId} + + </select> + + <insert id="insertBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage"> + + INSERT INTO COMTNBKMKMENUMANAGERESULT + ( MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + ) + VALUES + ( #{menuId}, #{userId}, #{menuNm}, #{progrmStrePath} + ) + + </insert> + + <delete id="deleteBkmkMenuManage" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage"> + + DELETE FROM COMTNBKMKMENUMANAGERESULT + WHERE + MENU_ID = #{menuId} AND EMPLYR_ID = #{userId} + + </delete> + + <select id="selectBkmkMenuManageList" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="BkmkInfs"> + + SELECT + MENU_ID , EMPLYR_ID, MENU_NM, PROGRM_STRE_PATH + FROM + COMTNBKMKMENUMANAGERESULT + WHERE + EMPLYR_ID = #{userId} + + <if test="searchCnd == 0">AND + MENU_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + + ORDER BY MENU_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectBkmkMenuManageListCnt" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="int"> + + select count(MENU_ID) + from COMTNBKMKMENUMANAGERESULT + WHERE + EMPLYR_ID = #{userId} + + <if test="searchCnd == 0">AND + MENU_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + </select> + + <select id="selectBkmkMenuList" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultMap="MenuInfs"> + + SELECT + d.MENU_NO, d.MENU_NM, d.MENU_DC + FROM + COMTNMENUINFO d, (SELECT a.MENU_NO FROM COMTNMENUCREATDTLS a, COMTNEMPLYRSCRTYESTBS b , COMVNUSERMASTER c + WHERE a.AUTHOR_CODE = b.AUTHOR_CODE AND b.SCRTY_DTRMN_TRGET_ID = c.ESNTL_ID AND c.USER_ID = #{userId})temp + WHERE + d.PROGRM_FILE_NM != 'dir' + AND d.MENU_NO = temp.MENU_NO + AND d.menu_no not in (SELECT MENU_ID FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId}) + + <if test="searchCnd == 0">AND + MENU_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + + ORDER BY MENU_NM + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectBkmkMenuListCnt" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManageVO" resultType="int"> + + select count(d.MENU_NO) + FROM + COMTNMENUINFO d, (SELECT a.MENU_NO FROM COMTNMENUCREATDTLS a, COMTNEMPLYRSCRTYESTBS b , COMVNUSERMASTER c + WHERE a.AUTHOR_CODE = b.AUTHOR_CODE AND b.SCRTY_DTRMN_TRGET_ID = c.ESNTL_ID AND c.USER_ID = #{userId})temp + WHERE + d.PROGRM_FILE_NM != 'dir' + AND d.MENU_NO = temp.MENU_NO + AND d.menu_no not in (SELECT MENU_ID FROM COMTNBKMKMENUMANAGERESULT WHERE EMPLYR_ID = #{userId}) + + <if test="searchCnd == 0">AND + MENU_NM LIKE CONCAT ('%', #{searchWrd},'%') + </if> + + </select> + + <select id="selectUrl" parameterType="egovframework.com.sym.mnu.bmm.service.BkmkMenuManage" resultType="String"> + + SELECT a.URL + FROM COMTNPROGRMLIST a, (SELECT MENU_NO , PROGRM_FILE_NM + FROM COMTNMENUINFO WHERE MENU_NO = #{menuId} )b + WHERE + a.PROGRM_FILE_NM = b.PROGRM_FILE_NM + + + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/bmm/EgovBkmkMenuManage_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_maria.xml (revision 7) @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuCreatManageList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT AUTHOR_CODE AS authorCode, + AUTHOR_NM AS authorNm, + AUTHOR_DC AS authorDc, + AUTHOR_CREAT_DE AS authorCreatDe, + (SELECT COUNT(B.AUTHOR_CODE) + FROM COMTNMENUCREATDTLS B + WHERE B.AUTHOR_CODE = A.AUTHOR_CODE ) AS chkYeoBu + FROM COMTNAUTHORINFO A + WHERE A.AUTHOR_CODE like CONCAT('%', #{searchKeyword}, '%') + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectMenuCreatManageTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(AUTHOR_CODE) AS totcnt + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE like CONCAT('%', #{searchKeyword}, '%') + + </select> + + <select id="selectMenuCreatList_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO" resultType="egovMap"> + + SELECT + A.MENU_NO AS menuNo + , A.MENU_ORDR AS menuOrdr + , A.MENU_NM AS menuNm + , A.UPPER_MENU_NO AS upperMenuId + , (SELECT count(B.MENU_NO) + FROM COMTNMENUCREATDTLS B + WHERE B.MENU_NO = A.MENU_NO + AND B.AUTHOR_CODE = #{authorCode}) AS chkYeoBu + FROM COMTNMENUINFO A + WHERE A.MENU_NO > 0 + ORDER BY A.MENU_ORDR + + </select> + + <insert id="insertMenuCreat_S"> + + INSERT INTO COMTNMENUCREATDTLS ( AUTHOR_CODE ,MENU_NO ) + VALUES ( #{authorCode}, #{menuNo} ) + + </insert> + + <select id="selectMenuCreatCnt_S" parameterType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO" resultType="int"> + + SELECT COUNT(AUTHOR_CODE) AS totcnt + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE = #{authorCode} + + </select> + + <delete id="updateMenuCreat_S"> + + UPDATE COMTNMENUCREATDTLS + SET MAPNG_CREAT_ID=#{mapCreatId} + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <delete id="deleteMenuCreat_S"> + + DELETE FROM COMTNMENUCREATDTLS + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <select id="selectAuthorByUsr" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO"> + + select AUTHOR_CODE AS authorCode from COMTNEMPLYRSCRTYESTBS + where SCRTY_DTRMN_TRGET_ID = + (select ESNTL_ID from COMVNUSERMASTER + where user_id = #{searchKeyword} ) + + </select> + + <select id="selectUsrByPk" parameterType="comDefaultVO" resultType="int"> + + select count(AUTHOR_CODE) from COMTNEMPLYRSCRTYESTBS + where SCRTY_DTRMN_TRGET_ID = + (select ESNTL_ID from COMVNUSERMASTER + where user_id = #{searchKeyword} ) + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_postgres.xml (revision 7) @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuCreatManageList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT AUTHOR_CODE AS "authorCode", + AUTHOR_NM AS "authorNm", + AUTHOR_DC AS "authorDc", + AUTHOR_CREAT_DE AS "authorCreatDe", + (SELECT COUNT(B.AUTHOR_CODE) + FROM COMTNMENUCREATDTLS B + WHERE B.AUTHOR_CODE = A.AUTHOR_CODE ) AS "chkYeoBu" + FROM COMTNAUTHORINFO A + WHERE A.AUTHOR_CODE like CONCAT('%', #{searchKeyword}, '%') + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectMenuCreatManageTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(AUTHOR_CODE) AS "totcnt" + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE like CONCAT('%', #{searchKeyword}, '%') + + </select> + + <select id="selectMenuCreatList_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO" resultType="egovMap"> + + SELECT + A.MENU_NO AS "menuNo" + , A.MENU_ORDR AS "menuOrdr" + , A.MENU_NM AS "menuNm" + , A.UPPER_MENU_NO AS "upperMenuId" + , (SELECT count(B.MENU_NO) + FROM COMTNMENUCREATDTLS B + WHERE B.MENU_NO = A.MENU_NO + AND B.AUTHOR_CODE = #{authorCode}) AS "chkYeoBu" + FROM COMTNMENUINFO A + WHERE A.MENU_NO > 0 + ORDER BY A.MENU_ORDR + + </select> + + <insert id="insertMenuCreat_S"> + + INSERT INTO COMTNMENUCREATDTLS ( AUTHOR_CODE ,MENU_NO ) + VALUES ( #{authorCode}, #{menuNo} ) + + </insert> + + <select id="selectMenuCreatCnt_S" parameterType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO" resultType="int"> + + SELECT COUNT(AUTHOR_CODE) AS "totcnt" + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE = #{authorCode} + + </select> + + <delete id="updateMenuCreat_S"> + + UPDATE COMTNMENUCREATDTLS + SET MAPNG_CREAT_ID=#{mapCreatId} + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <delete id="deleteMenuCreat_S"> + + DELETE FROM COMTNMENUCREATDTLS + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <select id="selectAuthorByUsr" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO"> + + select AUTHOR_CODE AS "authorCode" from COMTNEMPLYRSCRTYESTBS + where SCRTY_DTRMN_TRGET_ID = + (select ESNTL_ID from COMVNUSERMASTER + where user_id = #{searchKeyword} ) + + </select> + + <select id="selectUsrByPk" parameterType="comDefaultVO" resultType="int"> + + select count(AUTHOR_CODE) from COMTNEMPLYRSCRTYESTBS + where SCRTY_DTRMN_TRGET_ID = + (select ESNTL_ID from COMVNUSERMASTER + where user_id = #{searchKeyword} ) + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_tibero.xml (revision 7) @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuCreatSiteMapList_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS "menuNo" + , B.MENU_ORDR AS "menuOrdr" + , B.MENU_NM AS "menuNm" + , B.UPPER_MENU_NO AS "upperMenuId" + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = #{authorCode} + ORDER BY B.MENU_ORDR + + </select> + + <select id="selectSiteMapByUser" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + A.MENU_NO AS menuNo + , A.MENU_ORDR AS menuOrdr + , A.MENU_NM AS menuNm + , A.UPPER_MENU_NO AS upperMenuId + , (SELECT Z.URL FROM COMTNPROGRMLIST Z WHERE A.PROGRM_FILE_NM = Z.PROGRM_FILE_NM) AS chkURL + FROM COMTNMENUINFO A, COMTNMENUCREATDTLS B, COMTNEMPLYRSCRTYESTBS C, COMVNUSERMASTER D + WHERE A.MENU_NO > 0 + AND A.MENU_NO = B.MENU_NO + AND B.AUTHOR_CODE = C.AUTHOR_CODE + AND C.SCRTY_DTRMN_TRGET_ID = D.ESNTL_ID + AND D.USER_ID = #{creatPersonId} + ORDER BY A.MENU_ORDR + + </select> + + <select id="selectMenuCreatSiteMapURL_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + B.PROGRM_FILE_NM AS "progrmFileNm", + B.PROGRM_STRE_PATH AS "progrmStrePath", + B.PROGRM_KOREAN_NM AS "progrmKoreanNm", + B.URL AS "URL" + FROM COMTNMENUINFO A, COMTNPROGRMLIST B + WHERE A.PROGRM_FILE_NM = B.PROGRM_FILE_NM + AND A.MENU_NO = #{menuNo} + + </select> + + <insert id="insertSiteMap_S"> + + INSERT INTO COMTNSITEMAP ( MAPNG_CREAT_ID, CREATR_ID, MAPNG_FILE_NM, MAPNG_FILE_PATH ) + VALUES ( #{mapCreatId}, #{creatPersonId}, #{bndeFileNm}, #{bndeFilePath}) + + </insert> + + <select id="selectSiteMapCnt_S" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="int"> + + SELECT COUNT(MAPNG_CREAT_ID) AS "totcnt" + FROM COMTNSITEMAP + WHERE MAPNG_CREAT_ID like CONCAT(#{mapCreatId}, '%') + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_cubrid.xml (revision 7) @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuCreatManageList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT * + FROM + (SELECT rownum rn, TB.* + FROM + (SELECT AUTHOR_CODE AS "authorCode", + AUTHOR_NM AS "authorNm", + AUTHOR_DC AS "authorDc", + AUTHOR_CREAT_DE AS "authorCreatDe", + (SELECT COUNT(B.AUTHOR_CODE) + FROM COMTNMENUCREATDTLS B + WHERE B.AUTHOR_CODE = A.AUTHOR_CODE ) AS "chkYeoBu" + FROM COMTNAUTHORINFO A + WHERE A.AUTHOR_CODE like '%'||#{searchKeyword}||'%') TB + + ) Z + WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectMenuCreatManageTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(AUTHOR_CODE) AS "totcnt" + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE like '%'||#{searchKeyword}||'%' + + </select> + + <select id="selectMenuCreatList_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO" resultType="egovMap"> + + SELECT + A.MENU_NO AS "menuNo" + , A.MENU_ORDR AS "menuOrdr" + , A.MENU_NM AS "menuNm" + , A.UPPER_MENU_NO AS "upperMenuId" + , (SELECT count(B.MENU_NO) + FROM COMTNMENUCREATDTLS B + WHERE B.MENU_NO = A.MENU_NO + AND B.AUTHOR_CODE = #{authorCode}) AS "chkYeoBu" + FROM COMTNMENUINFO A + WHERE A.MENU_NO > 0 + ORDER BY A.MENU_ORDR + + </select> + + <insert id="insertMenuCreat_S"> + + INSERT INTO COMTNMENUCREATDTLS ( AUTHOR_CODE ,MENU_NO ) + VALUES ( #{authorCode}, #{menuNo} ) + + </insert> + + <select id="selectMenuCreatCnt_S" parameterType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO" resultType="int"> + + SELECT COUNT(AUTHOR_CODE) AS "totcnt" + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE = #{authorCode} + + </select> + + <delete id="updateMenuCreat_S"> + + UPDATE COMTNMENUCREATDTLS + SET MAPNG_CREAT_ID=#{mapCreatId} + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <delete id="deleteMenuCreat_S"> + + DELETE FROM COMTNMENUCREATDTLS + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <select id="selectAuthorByUsr" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO"> + + select AUTHOR_CODE AS "authorCode" from COMTNEMPLYRSCRTYESTBS + where SCRTY_DTRMN_TRGET_ID = + (select ESNTL_ID from COMVNUSERMASTER + where user_id = #{searchKeyword} ) + + </select> + + <select id="selectUsrByPk" parameterType="comDefaultVO" resultType="int"> + + select count(AUTHOR_CODE) from COMTNEMPLYRSCRTYESTBS + where SCRTY_DTRMN_TRGET_ID = + (select ESNTL_ID from COMVNUSERMASTER + where user_id = #{searchKeyword} ) + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_postgres.xml (revision 7) @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuCreatSiteMapList_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS "menuNo" + , B.MENU_ORDR AS "menuOrdr" + , B.MENU_NM AS "menuNm" + , B.UPPER_MENU_NO AS "upperMenuId" + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = #{authorCode} + ORDER BY B.MENU_ORDR + + </select> + + <select id="selectSiteMapByUser" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + A.MENU_NO AS "menuNo" + , A.MENU_ORDR AS "menuOrdr" + , A.MENU_NM AS "menuNm" + , A.UPPER_MENU_NO AS "upperMenuId" + , (SELECT Z.URL FROM COMTNPROGRMLIST Z WHERE A.PROGRM_FILE_NM = Z.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUINFO A, COMTNMENUCREATDTLS B, COMTNEMPLYRSCRTYESTBS C, COMVNUSERMASTER D + WHERE A.MENU_NO > 0 + AND A.MENU_NO = B.MENU_NO + AND B.AUTHOR_CODE = C.AUTHOR_CODE + AND C.SCRTY_DTRMN_TRGET_ID = D.ESNTL_ID + AND D.USER_ID = #{creatPersonId} + ORDER BY A.MENU_ORDR + + </select> + + <select id="selectMenuCreatSiteMapURL_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + B.PROGRM_FILE_NM AS "progrmFileNm", + B.PROGRM_STRE_PATH AS "progrmStrePath", + B.PROGRM_KOREAN_NM AS "progrmKoreanNm", + B.URL AS URL + FROM COMTNMENUINFO A, COMTNPROGRMLIST B + WHERE A.PROGRM_FILE_NM = B.PROGRM_FILE_NM + AND A.MENU_NO = #{menuNo} + + </select> + + <insert id="insertSiteMap_S"> + + INSERT INTO COMTNSITEMAP ( MAPNG_CREAT_ID, CREATR_ID, MAPNG_FILE_NM, MAPNG_FILE_PATH ) + VALUES ( #{mapCreatId}, #{creatPersonId}, #{bndeFileNm}, #{bndeFilePath}) + + </insert> + + <select id="selectSiteMapCnt_S" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="int"> + + SELECT COUNT(MAPNG_CREAT_ID) AS totcnt + FROM COMTNSITEMAP + WHERE MAPNG_CREAT_ID like CONCAT(#{mapCreatId}, '%') + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_oracle.xml (revision 7) @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuCreatManageList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT * + FROM + (SELECT rownum rn, TB.* + FROM + (SELECT AUTHOR_CODE AS "authorCode", + AUTHOR_NM AS "authorNm", + AUTHOR_DC AS "authorDc", + AUTHOR_CREAT_DE AS "authorCreatDe", + (SELECT COUNT(B.AUTHOR_CODE) + FROM COMTNMENUCREATDTLS B + WHERE B.AUTHOR_CODE = A.AUTHOR_CODE ) AS "chkYeoBu" + FROM COMTNAUTHORINFO A + WHERE A.AUTHOR_CODE like '%'||#{searchKeyword}||'%') TB + + ) + WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectMenuCreatManageTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(AUTHOR_CODE) AS "totcnt" + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE like '%'||#{searchKeyword}||'%' + + </select> + + <select id="selectMenuCreatList_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO" resultType="egovMap"> + + SELECT + A.MENU_NO AS "menuNo" + , A.MENU_ORDR AS "menuOrdr" + , A.MENU_NM AS "menuNm" + , A.UPPER_MENU_NO AS "upperMenuId" + , (SELECT count(B.MENU_NO) + FROM COMTNMENUCREATDTLS B + WHERE B.MENU_NO = A.MENU_NO + AND B.AUTHOR_CODE = #{authorCode}) AS "chkYeoBu" + FROM COMTNMENUINFO A + WHERE A.MENU_NO > 0 + ORDER BY A.MENU_ORDR + + </select> + + <insert id="insertMenuCreat_S"> + + INSERT INTO COMTNMENUCREATDTLS ( AUTHOR_CODE ,MENU_NO ) + VALUES ( #{authorCode}, #{menuNo} ) + + </insert> + + <select id="selectMenuCreatCnt_S" parameterType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO" resultType="int"> + + SELECT COUNT(AUTHOR_CODE) AS "totcnt" + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE = #{authorCode} + + </select> + + <delete id="updateMenuCreat_S"> + + UPDATE COMTNMENUCREATDTLS + SET MAPNG_CREAT_ID=#{mapCreatId} + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <delete id="deleteMenuCreat_S"> + + DELETE FROM COMTNMENUCREATDTLS + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <select id="selectAuthorByUsr" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO"> + + select AUTHOR_CODE AS "authorCode" from COMTNEMPLYRSCRTYESTBS + where SCRTY_DTRMN_TRGET_ID = + (select ESNTL_ID from COMVNUSERMASTER + where user_id = #{searchKeyword} ) + + </select> + + <select id="selectUsrByPk" parameterType="comDefaultVO" resultType="int"> + + select count(AUTHOR_CODE) from COMTNEMPLYRSCRTYESTBS + where SCRTY_DTRMN_TRGET_ID = + (select ESNTL_ID from COMVNUSERMASTER + where user_id = #{searchKeyword} ) + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_mysql.xml (revision 7) @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuCreatSiteMapList_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS menuNo + , B.MENU_ORDR AS menuOrdr + , B.MENU_NM AS menuNm + , B.UPPER_MENU_NO AS upperMenuId + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS chkURL + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = #{authorCode} + ORDER BY B.MENU_ORDR + + </select> + + <select id="selectSiteMapByUser" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + A.MENU_NO AS menuNo + , A.MENU_ORDR AS menuOrdr + , A.MENU_NM AS menuNm + , A.UPPER_MENU_NO AS upperMenuId + , (SELECT Z.URL FROM COMTNPROGRMLIST Z WHERE A.PROGRM_FILE_NM = Z.PROGRM_FILE_NM) AS chkURL + FROM COMTNMENUINFO A, COMTNMENUCREATDTLS B, COMTNEMPLYRSCRTYESTBS C, COMVNUSERMASTER D + WHERE A.MENU_NO > 0 + AND A.MENU_NO = B.MENU_NO + AND B.AUTHOR_CODE = C.AUTHOR_CODE + AND C.SCRTY_DTRMN_TRGET_ID = D.ESNTL_ID + AND D.USER_ID = #{creatPersonId} + ORDER BY A.MENU_ORDR + + </select> + + <select id="selectMenuCreatSiteMapURL_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + B.PROGRM_FILE_NM AS progrmFileNm, + B.PROGRM_STRE_PATH AS progrmStrePath, + B.PROGRM_KOREAN_NM AS progrmKoreanNm, + B.URL AS URL + FROM COMTNMENUINFO A, COMTNPROGRMLIST B + WHERE A.PROGRM_FILE_NM = B.PROGRM_FILE_NM + AND A.MENU_NO = #{menuNo} + + </select> + + <insert id="insertSiteMap_S"> + + INSERT INTO COMTNSITEMAP ( MAPNG_CREAT_ID, CREATR_ID, MAPNG_FILE_NM, MAPNG_FILE_PATH ) + VALUES ( #{mapCreatId}, #{creatPersonId}, #{bndeFileNm}, #{bndeFilePath}) + + </insert> + + <select id="selectSiteMapCnt_S" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="int"> + + SELECT COUNT(MAPNG_CREAT_ID) AS totcnt + FROM COMTNSITEMAP + WHERE MAPNG_CREAT_ID like CONCAT(#{mapCreatId}, '%') + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_altibase.xml (revision 7) @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuCreatManageList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT * + FROM + (SELECT rownum rn, TB.* + FROM + (SELECT AUTHOR_CODE AS "authorCode", + AUTHOR_NM AS "authorNm", + AUTHOR_DC AS "authorDc", + AUTHOR_CREAT_DE AS "authorCreatDe", + (SELECT COUNT(B.AUTHOR_CODE) + FROM COMTNMENUCREATDTLS B + WHERE B.AUTHOR_CODE = A.AUTHOR_CODE ) AS "chkYeoBu" + FROM COMTNAUTHORINFO A + WHERE A.AUTHOR_CODE like '%'||#{searchKeyword}||'%') TB + + ) + WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectMenuCreatManageTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(AUTHOR_CODE) AS "totcnt" + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE like '%'||#{searchKeyword}||'%' + + </select> + + <select id="selectMenuCreatList_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO" resultType="egovMap"> + + SELECT + A.MENU_NO AS "menuNo" + , A.MENU_ORDR AS "menuOrdr" + , A.MENU_NM AS "menuNm" + , A.UPPER_MENU_NO AS "upperMenuId" + , (SELECT count(B.MENU_NO) + FROM COMTNMENUCREATDTLS B + WHERE B.MENU_NO = A.MENU_NO + AND B.AUTHOR_CODE = #{authorCode}) AS "chkYeoBu" + FROM COMTNMENUINFO A + WHERE A.MENU_NO > 0 + ORDER BY A.MENU_ORDR + + </select> + + <insert id="insertMenuCreat_S"> + + INSERT INTO COMTNMENUCREATDTLS ( AUTHOR_CODE ,MENU_NO ) + VALUES ( #{authorCode}, #{menuNo} ) + + </insert> + + <select id="selectMenuCreatCnt_S" parameterType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO" resultType="int"> + + SELECT COUNT(AUTHOR_CODE) AS "totcnt" + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE = #{authorCode} + + </select> + + <delete id="updateMenuCreat_S"> + + UPDATE COMTNMENUCREATDTLS + SET MAPNG_CREAT_ID=#{mapCreatId} + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <delete id="deleteMenuCreat_S"> + + DELETE FROM COMTNMENUCREATDTLS + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <select id="selectAuthorByUsr" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO"> + + select AUTHOR_CODE AS "authorCode" from COMTNEMPLYRSCRTYESTBS + where SCRTY_DTRMN_TRGET_ID = + (select ESNTL_ID from COMVNUSERMASTER + where user_id = #{searchKeyword} ) + + </select> + + <select id="selectUsrByPk" parameterType="comDefaultVO" resultType="int"> + + select count(AUTHOR_CODE) from COMTNEMPLYRSCRTYESTBS + where SCRTY_DTRMN_TRGET_ID = + (select ESNTL_ID from COMVNUSERMASTER + where user_id = #{searchKeyword} ) + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_cubrid.xml (revision 7) @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuCreatSiteMapList_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS "menuNo" + , B.MENU_ORDR AS "menuOrdr" + , B.MENU_NM AS "menuNm" + , B.UPPER_MENU_NO AS "upperMenuId" + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = #{authorCode} + ORDER BY B.MENU_ORDR + + </select> + + <select id="selectSiteMapByUser" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + A.MENU_NO AS menuNo + , A.MENU_ORDR AS menuOrdr + , A.MENU_NM AS menuNm + , A.UPPER_MENU_NO AS upperMenuId + , (SELECT Z.URL FROM COMTNPROGRMLIST Z WHERE A.PROGRM_FILE_NM = Z.PROGRM_FILE_NM) AS chkURL + FROM COMTNMENUINFO A, COMTNMENUCREATDTLS B, COMTNEMPLYRSCRTYESTBS C, COMVNUSERMASTER D + WHERE A.MENU_NO > 0 + AND A.MENU_NO = B.MENU_NO + AND B.AUTHOR_CODE = C.AUTHOR_CODE + AND C.SCRTY_DTRMN_TRGET_ID = D.ESNTL_ID + AND D.USER_ID = #{creatPersonId} + ORDER BY A.MENU_ORDR + + </select> + + <select id="selectMenuCreatSiteMapURL_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + B.PROGRM_FILE_NM AS "progrmFileNm", + B.PROGRM_STRE_PATH AS "progrmStrePath", + B.PROGRM_KOREAN_NM AS "progrmKoreanNm", + B.URL AS "URL" + FROM COMTNMENUINFO A, COMTNPROGRMLIST B + WHERE A.PROGRM_FILE_NM = B.PROGRM_FILE_NM + AND A.MENU_NO = #{menuNo} + + </select> + + <insert id="insertSiteMap_S"> + + INSERT INTO COMTNSITEMAP ( MAPNG_CREAT_ID, CREATR_ID, MAPNG_FILE_NM, MAPNG_FILE_PATH ) + VALUES ( #{mapCreatId}, #{creatPersonId}, #{bndeFileNm}, #{bndeFilePath}) + + </insert> + + <select id="selectSiteMapCnt_S" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="int"> + + SELECT COUNT(MAPNG_CREAT_ID) AS "totcnt" + FROM COMTNSITEMAP + WHERE MAPNG_CREAT_ID like CONCAT(#{mapCreatId}, '%') + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_oracle.xml (revision 7) @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuCreatSiteMapList_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS "menuNo" + , B.MENU_ORDR AS "menuOrdr" + , B.MENU_NM AS "menuNm" + , B.UPPER_MENU_NO AS "upperMenuId" + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = #{authorCode} + ORDER BY B.MENU_ORDR + + </select> + + <select id="selectSiteMapByUser" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + A.MENU_NO AS menuNo + , A.MENU_ORDR AS menuOrdr + , A.MENU_NM AS menuNm + , A.UPPER_MENU_NO AS upperMenuId + , (SELECT Z.URL FROM COMTNPROGRMLIST Z WHERE A.PROGRM_FILE_NM = Z.PROGRM_FILE_NM) AS chkURL + FROM COMTNMENUINFO A, COMTNMENUCREATDTLS B, COMTNEMPLYRSCRTYESTBS C, COMVNUSERMASTER D + WHERE A.MENU_NO > 0 + AND A.MENU_NO = B.MENU_NO + AND B.AUTHOR_CODE = C.AUTHOR_CODE + AND C.SCRTY_DTRMN_TRGET_ID = D.ESNTL_ID + AND D.USER_ID = #{creatPersonId} + ORDER BY A.MENU_ORDR + + </select> + + <select id="selectMenuCreatSiteMapURL_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + B.PROGRM_FILE_NM AS "progrmFileNm", + B.PROGRM_STRE_PATH AS "progrmStrePath", + B.PROGRM_KOREAN_NM AS "progrmKoreanNm", + B.URL AS "URL" + FROM COMTNMENUINFO A, COMTNPROGRMLIST B + WHERE A.PROGRM_FILE_NM = B.PROGRM_FILE_NM + AND A.MENU_NO = #{menuNo} + + </select> + + <insert id="insertSiteMap_S"> + + INSERT INTO COMTNSITEMAP ( MAPNG_CREAT_ID, CREATR_ID, MAPNG_FILE_NM, MAPNG_FILE_PATH ) + VALUES ( #{mapCreatId}, #{creatPersonId}, #{bndeFileNm}, #{bndeFilePath}) + + </insert> + + <select id="selectSiteMapCnt_S" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="int"> + + SELECT COUNT(MAPNG_CREAT_ID) AS "totcnt" + FROM COMTNSITEMAP + WHERE MAPNG_CREAT_ID like CONCAT(#{mapCreatId}, '%') + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_mysql.xml (revision 7) @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuCreatManageList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT AUTHOR_CODE AS authorCode, + AUTHOR_NM AS authorNm, + AUTHOR_DC AS authorDc, + AUTHOR_CREAT_DE AS authorCreatDe, + (SELECT COUNT(B.AUTHOR_CODE) + FROM COMTNMENUCREATDTLS B + WHERE B.AUTHOR_CODE = A.AUTHOR_CODE ) AS chkYeoBu + FROM COMTNAUTHORINFO A + WHERE A.AUTHOR_CODE like CONCAT('%', #{searchKeyword}, '%') + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <select id="selectMenuCreatManageTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(AUTHOR_CODE) AS totcnt + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE like CONCAT('%', #{searchKeyword}, '%') + + </select> + + <select id="selectMenuCreatList_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO" resultType="egovMap"> + + SELECT + A.MENU_NO AS menuNo + , A.MENU_ORDR AS menuOrdr + , A.MENU_NM AS menuNm + , A.UPPER_MENU_NO AS upperMenuId + , (SELECT count(B.MENU_NO) + FROM COMTNMENUCREATDTLS B + WHERE B.MENU_NO = A.MENU_NO + AND B.AUTHOR_CODE = #{authorCode}) AS chkYeoBu + FROM COMTNMENUINFO A + WHERE A.MENU_NO > 0 + ORDER BY A.MENU_ORDR + + </select> + + <insert id="insertMenuCreat_S"> + + INSERT INTO COMTNMENUCREATDTLS ( AUTHOR_CODE ,MENU_NO ) + VALUES ( #{authorCode}, #{menuNo} ) + + </insert> + + <select id="selectMenuCreatCnt_S" parameterType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO" resultType="int"> + + SELECT COUNT(AUTHOR_CODE) AS totcnt + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE = #{authorCode} + + </select> + + <delete id="updateMenuCreat_S"> + + UPDATE COMTNMENUCREATDTLS + SET MAPNG_CREAT_ID=#{mapCreatId} + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <delete id="deleteMenuCreat_S"> + + DELETE FROM COMTNMENUCREATDTLS + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <select id="selectAuthorByUsr" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO"> + + select AUTHOR_CODE AS authorCode from COMTNEMPLYRSCRTYESTBS + where SCRTY_DTRMN_TRGET_ID = + (select ESNTL_ID from COMVNUSERMASTER + where user_id = #{searchKeyword} ) + + </select> + + <select id="selectUsrByPk" parameterType="comDefaultVO" resultType="int"> + + select count(AUTHOR_CODE) from COMTNEMPLYRSCRTYESTBS + where SCRTY_DTRMN_TRGET_ID = + (select ESNTL_ID from COMVNUSERMASTER + where user_id = #{searchKeyword} ) + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_maria.xml (revision 7) @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuCreatSiteMapList_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS menuNo + , B.MENU_ORDR AS menuOrdr + , B.MENU_NM AS menuNm + , B.UPPER_MENU_NO AS upperMenuId + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS chkURL + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = #{authorCode} + ORDER BY B.MENU_ORDR + + </select> + + <select id="selectSiteMapByUser" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + A.MENU_NO AS menuNo + , A.MENU_ORDR AS menuOrdr + , A.MENU_NM AS menuNm + , A.UPPER_MENU_NO AS upperMenuId + , (SELECT Z.URL FROM COMTNPROGRMLIST Z WHERE A.PROGRM_FILE_NM = Z.PROGRM_FILE_NM) AS chkURL + FROM COMTNMENUINFO A, COMTNMENUCREATDTLS B, COMTNEMPLYRSCRTYESTBS C, COMVNUSERMASTER D + WHERE A.MENU_NO > 0 + AND A.MENU_NO = B.MENU_NO + AND B.AUTHOR_CODE = C.AUTHOR_CODE + AND C.SCRTY_DTRMN_TRGET_ID = D.ESNTL_ID + AND D.USER_ID = #{creatPersonId} + ORDER BY A.MENU_ORDR + + </select> + + <select id="selectMenuCreatSiteMapURL_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + B.PROGRM_FILE_NM AS progrmFileNm, + B.PROGRM_STRE_PATH AS progrmStrePath, + B.PROGRM_KOREAN_NM AS progrmKoreanNm, + B.URL AS URL + FROM COMTNMENUINFO A, COMTNPROGRMLIST B + WHERE A.PROGRM_FILE_NM = B.PROGRM_FILE_NM + AND A.MENU_NO = #{menuNo} + + </select> + + <insert id="insertSiteMap_S"> + + INSERT INTO COMTNSITEMAP ( MAPNG_CREAT_ID, CREATR_ID, MAPNG_FILE_NM, MAPNG_FILE_PATH ) + VALUES ( #{mapCreatId}, #{creatPersonId}, #{bndeFileNm}, #{bndeFilePath}) + + </insert> + + <select id="selectSiteMapCnt_S" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="int"> + + SELECT COUNT(MAPNG_CREAT_ID) AS totcnt + FROM COMTNSITEMAP + WHERE MAPNG_CREAT_ID like CONCAT(#{mapCreatId}, '%') + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_tibero.xml (revision 7) @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuCreatManageList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT * + FROM + (SELECT rownum rn, TB.* + FROM + (SELECT AUTHOR_CODE AS "authorCode", + AUTHOR_NM AS "authorNm", + AUTHOR_DC AS "authorDc", + AUTHOR_CREAT_DE AS "authorCreatDe", + (SELECT COUNT(B.AUTHOR_CODE) + FROM COMTNMENUCREATDTLS B + WHERE B.AUTHOR_CODE = A.AUTHOR_CODE ) AS "chkYeoBu" + FROM COMTNAUTHORINFO A + WHERE A.AUTHOR_CODE like '%'||#{searchKeyword}||'%') TB + + ) + WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <select id="selectMenuCreatManageTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(AUTHOR_CODE) AS "totcnt" + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE like '%'||#{searchKeyword}||'%' + + </select> + + <select id="selectMenuCreatList_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO" resultType="egovMap"> + + SELECT + A.MENU_NO AS "menuNo" + , A.MENU_ORDR AS "menuOrdr" + , A.MENU_NM AS "menuNm" + , A.UPPER_MENU_NO AS "upperMenuId" + , (SELECT count(B.MENU_NO) + FROM COMTNMENUCREATDTLS B + WHERE B.MENU_NO = A.MENU_NO + AND B.AUTHOR_CODE = #{authorCode}) AS "chkYeoBu" + FROM COMTNMENUINFO A + WHERE A.MENU_NO > 0 + ORDER BY A.MENU_ORDR + + </select> + + <insert id="insertMenuCreat_S"> + + INSERT INTO COMTNMENUCREATDTLS ( AUTHOR_CODE ,MENU_NO ) + VALUES ( #{authorCode}, #{menuNo} ) + + </insert> + + <select id="selectMenuCreatCnt_S" parameterType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO" resultType="int"> + + SELECT COUNT(AUTHOR_CODE) AS "totcnt" + FROM COMTNAUTHORINFO + WHERE AUTHOR_CODE = #{authorCode} + + </select> + + <delete id="updateMenuCreat_S"> + + UPDATE COMTNMENUCREATDTLS + SET MAPNG_CREAT_ID=#{mapCreatId} + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <delete id="deleteMenuCreat_S"> + + DELETE FROM COMTNMENUCREATDTLS + WHERE AUTHOR_CODE=#{authorCode} + + </delete> + + <select id="selectAuthorByUsr" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.mcm.service.MenuCreatVO"> + + select AUTHOR_CODE AS "authorCode" from COMTNEMPLYRSCRTYESTBS + where SCRTY_DTRMN_TRGET_ID = + (select ESNTL_ID from COMVNUSERMASTER + where user_id = #{searchKeyword} ) + + </select> + + <select id="selectUsrByPk" parameterType="comDefaultVO" resultType="int"> + + select count(AUTHOR_CODE) from COMTNEMPLYRSCRTYESTBS + where SCRTY_DTRMN_TRGET_ID = + (select ESNTL_ID from COMVNUSERMASTER + where user_id = #{searchKeyword} ) + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuCreat_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_altibase.xml (revision 7) @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuCreatSiteMapList_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS "menuNo" + , B.MENU_ORDR AS "menuOrdr" + , B.MENU_NM AS "menuNm" + , B.UPPER_MENU_NO AS "upperMenuId" + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = #{authorCode} + ORDER BY B.MENU_ORDR + + </select> + + <select id="selectSiteMapByUser" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + A.MENU_NO AS menuNo + , A.MENU_ORDR AS menuOrdr + , A.MENU_NM AS menuNm + , A.UPPER_MENU_NO AS upperMenuId + , (SELECT Z.URL FROM COMTNPROGRMLIST Z WHERE A.PROGRM_FILE_NM = Z.PROGRM_FILE_NM) AS chkURL + FROM COMTNMENUINFO A, COMTNMENUCREATDTLS B, COMTNEMPLYRSCRTYESTBS C, COMVNUSERMASTER D + WHERE A.MENU_NO > 0 + AND A.MENU_NO = B.MENU_NO + AND B.AUTHOR_CODE = C.AUTHOR_CODE + AND C.SCRTY_DTRMN_TRGET_ID = D.ESNTL_ID + AND D.USER_ID = #{creatPersonId} + ORDER BY A.MENU_ORDR + + </select> + + <select id="selectMenuCreatSiteMapURL_D" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="egovMap"> + + SELECT + B.PROGRM_FILE_NM AS "progrmFileNm", + B.PROGRM_STRE_PATH AS "progrmStrePath", + B.PROGRM_KOREAN_NM AS "progrmKoreanNm", + B.URL AS "URL" + FROM COMTNMENUINFO A, COMTNPROGRMLIST B + WHERE A.PROGRM_FILE_NM = B.PROGRM_FILE_NM + AND A.MENU_NO = #{menuNo} + + </select> + + <insert id="insertSiteMap_S"> + + INSERT INTO COMTNSITEMAP ( MAPNG_CREAT_ID, CREATR_ID, MAPNG_FILE_NM, MAPNG_FILE_PATH ) + VALUES ( #{mapCreatId}, #{creatPersonId}, #{bndeFileNm}, #{bndeFilePath}) + + </insert> + + <select id="selectSiteMapCnt_S" parameterType="egovframework.com.sym.mnu.mcm.service.MenuSiteMapVO" resultType="int"> + + SELECT COUNT(MAPNG_CREAT_ID) AS "totcnt" + FROM COMTNSITEMAP + WHERE MAPNG_CREAT_ID like CONCAT(#{mapCreatId}, '%') + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mcm/EgovMenuSiteMap_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_maria.xml (revision 7) @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMainMenuHead" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS menuNo + , B.MENU_ORDR AS menuOrdr + , B.MENU_NM AS menuNm + , B.UPPER_MENU_NO AS upperMenuId + , B.MENU_DC AS menuDc + , B.RELATE_IMAGE_PATH AS relateImagePath + , B.RELATE_IMAGE_NM AS relateImageNm + , B.PROGRM_FILE_NM AS progrmFileNm + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS chkURL + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE B.Menu_NO > 0 + AND B.UPPER_MENU_NO = 0 + AND A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT C.AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS C + WHERE C.SCRTY_DTRMN_TRGET_ID = #{tmpUniqId}) + ORDER BY MENU_ORDR + + </select> + + <select id="selectMainMenuLeft" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS menuNo + , B.MENU_ORDR AS menuOrdr + , B.MENU_NM AS menuNm + , B.UPPER_MENU_NO AS upperMenuId + , B.RELATE_IMAGE_PATH AS relateImagePath + , B.RELATE_IMAGE_NM AS relateImageNm + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS chkURL + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tmpUniqId}) + ORDER BY B.MENU_ORDR + + </select> + + <select id="selectLastMenuURL" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="String"> + + SELECT URL + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = + (SELECT PROGRM_FILE_NM FROM COMTNMENUINFO + WHERE MENU_NO = #{menuNo}) + + </select> + + <select id="selectLastMenuNo" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + select MIN(MENU_NO) + from COMTNMENUINFO + where UPPER_MENU_NO = #{menuNo} + and MENU_ORDR = + (select MIN(MENU_ORDR) + from COMTNMENUCREATDTLS A, COMTNMENUINFO B + where A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tempValue}) + AND B.UPPER_MENU_NO = #{menuNo}) + + </select> + + <select id="selectLastMenuNoCnt" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + select count(MENU_NO) + from COMTNMENUINFO + where UPPER_MENU_NO = #{menuNo} + and MENU_ORDR = + (select MIN(MENU_ORDR) + from COMTNMENUCREATDTLS A, COMTNMENUINFO B + where A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tempValue}) + AND B.UPPER_MENU_NO = #{menuNo}) + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_postgres.xml (revision 7) @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMainMenuHead" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS "menuNo" + , B.MENU_ORDR AS "menuOrdr" + , B.MENU_NM AS "menuNm" + , B.UPPER_MENU_NO AS "upperMenuId" + , B.MENU_DC AS "menuDc" + , B.RELATE_IMAGE_PATH AS "relateImagePath" + , B.RELATE_IMAGE_NM AS "relateImageNm" + , B.PROGRM_FILE_NM AS "progrmFileNm" + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE B.Menu_NO > 0 + AND B.UPPER_MENU_NO = 0 + AND A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT C.AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS C + WHERE C.SCRTY_DTRMN_TRGET_ID = #{tmpUniqId}) + ORDER BY MENU_ORDR + + </select> + + <select id="selectMainMenuLeft" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS "menuNo" + , B.MENU_ORDR AS "menuOrdr" + , B.MENU_NM AS "menuNm" + , B.UPPER_MENU_NO AS "upperMenuId" + , B.RELATE_IMAGE_PATH AS "relateImagePath" + , B.RELATE_IMAGE_NM AS "relateImageNm" + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tmpUniqId}) + ORDER BY B.MENU_ORDR + + </select> + + <select id="selectLastMenuURL" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="String"> + + SELECT URL + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = + (SELECT PROGRM_FILE_NM FROM COMTNMENUINFO + WHERE MENU_NO = #{menuNo}) + + </select> + + <select id="selectLastMenuNo" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + select MIN(MENU_NO) + from COMTNMENUINFO + where UPPER_MENU_NO = #{menuNo} + and MENU_ORDR = + (select MIN(MENU_ORDR) + from COMTNMENUCREATDTLS A, COMTNMENUINFO B + where A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tempValue}) + AND B.UPPER_MENU_NO = #{menuNo}) + + </select> + + <select id="selectLastMenuNoCnt" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + select count(MENU_NO) + from COMTNMENUINFO + where UPPER_MENU_NO = #{menuNo} + and MENU_ORDR = + (select MIN(MENU_ORDR) + from COMTNMENUCREATDTLS A, COMTNMENUINFO B + where A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tempValue}) + AND B.UPPER_MENU_NO = #{menuNo}) + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_tibero.xml (revision 7) @@ -0,0 +1,143 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuManageList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + MENU_NO AS "menuNo" + , MENU_ORDR AS "menuOrdr" + , MENU_NM AS "menuNm" + , UPPER_MENU_NO AS "upperMenuId" + , MENU_DC AS "menuDc" + , RELATE_IMAGE_PATH AS "relateImagePath" + , RELATE_IMAGE_NM AS "relateImageNm" + , PROGRM_FILE_NM AS "progrmFileNm" + FROM COMTNMENUINFO + WHERE MENU_NM like '%'|| #{searchKeyword}||'%' + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 --> + <select id="selectMenuManageListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS "totcnt" + FROM COMTNMENUINFO + WHERE MENU_NM like '%'||#{searchKeyword}||'%' + + </select> + + + <select id="selectMenuManage_D" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.mpm.service.MenuManageVO"> + + SELECT + MENU_NO AS "menuNo" + , MENU_ORDR AS "menuOrdr" + , MENU_NM AS "menuNm" + , UPPER_MENU_NO AS "upperMenuId" + , MENU_DC AS "menuDc" + , RELATE_IMAGE_PATH AS "relateImagePath" + , RELATE_IMAGE_NM AS "relateImageNm" + , PROGRM_FILE_NM AS "progrmFileNm" + FROM COMTNMENUINFO + WHERE MENU_NO = #{searchKeyword} + + </select> + + <insert id="insertMenuManage_S"> + + INSERT INTO COMTNMENUINFO + ( MENU_NO + , MENU_ORDR + , MENU_NM + , UPPER_MENU_NO + , MENU_DC + , RELATE_IMAGE_PATH + , RELATE_IMAGE_NM + , PROGRM_FILE_NM ) + VALUES ( #{menuNo} + , #{menuOrdr} + , #{menuNm} + , #{upperMenuId} + , #{menuDc} + , #{relateImagePath} + , #{relateImageNm} + , #{progrmFileNm} ) + + </insert> + + <update id="updateMenuManage_S"> + + UPDATE COMTNMENUINFO + SET MENU_ORDR = #{menuOrdr} + , MENU_NM = #{menuNm} + , UPPER_MENU_NO = #{upperMenuId} + , MENU_DC = #{menuDc} + , RELATE_IMAGE_PATH = #{relateImagePath} + , RELATE_IMAGE_NM = #{relateImageNm} + , PROGRM_FILE_NM = #{progrmFileNm} + WHERE MENU_NO=#{menuNo} + + </update> + + <delete id="deleteMenuManage_S"> + + DELETE FROM COMTNMENUINFO + WHERE MENU_NO=#{menuNo} + + </delete> + + <!-- 메뉴번호 존재여부 조회 --> + <select id="selectMenuNoByPk" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS "totcnt" + FROM COMTNMENUINFO + WHERE MENU_NO = #{menuNo} + + </select> + + <!-- 상위 메뉴번호 존재여부 조회 --> + <select id="selectUpperMenuNoByPk" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + WHERE UPPER_MENU_NO = #{menuNo} + + </select> + + + <select id="selectMenuListT_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + MENU_NO AS "menuNo" + , MENU_ORDR AS "menuOrdr" + , MENU_NM AS "menuNm" + , UPPER_MENU_NO AS "upperMenuId" + , MENU_DC AS "menuDc" + , RELATE_IMAGE_PATH AS "relateImagePath" + , RELATE_IMAGE_NM AS "relateImageNm" + , PROGRM_FILE_NM AS "progrmFileNm" + FROM COMTNMENUINFO + WHERE Menu_NO > 0 + ORDER BY MENU_ORDR + + </select> + + <delete id="deleteAllMenuList"> + + DELETE FROM COMTNMENUINFO + + </delete> + + <!-- 메뉴정보 총건수 조회 --> + <select id="selectMenuListTotCnt" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_cubrid.xml (revision 7) @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMainMenuHead" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS "menuNo" + , B.MENU_ORDR AS "menuOrdr" + , B.MENU_NM AS "menuNm" + , B.UPPER_MENU_NO AS "upperMenuId" + , B.MENU_DC AS "menuDc" + , B.RELATE_IMAGE_PATH AS "relateImagePath" + , B.RELATE_IMAGE_NM AS "relateImageNm" + , B.PROGRM_FILE_NM AS "progrmFileNm" + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE B.Menu_NO > 0 + AND B.UPPER_MENU_NO = 0 + AND A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT C.AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS C + WHERE C.SCRTY_DTRMN_TRGET_ID = #{tmpUniqId}) + ORDER BY MENU_ORDR + + </select> + + <select id="selectMainMenuLeft" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS "menuNo" + , B.MENU_ORDR AS "menuOrdr" + , B.MENU_NM AS "menuNm" + , B.UPPER_MENU_NO AS "upperMenuId" + , B.RELATE_IMAGE_PATH AS "relateImagePath" + , B.RELATE_IMAGE_NM AS "relateImageNm" + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tmpUniqId}) + ORDER BY B.MENU_ORDR + + </select> + + <select id="selectLastMenuURL" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="String"> + + SELECT URL + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = + (SELECT PROGRM_FILE_NM FROM COMTNMENUINFO + WHERE MENU_NO = #{menuNo}) + + </select> + + <select id="selectLastMenuNo" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + select MIN(MENU_NO) + from COMTNMENUINFO + where UPPER_MENU_NO = #{menuNo} + and MENU_ORDR = + (select MIN(MENU_ORDR) + from COMTNMENUCREATDTLS A, COMTNMENUINFO B + where A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tempValue}) + AND B.UPPER_MENU_NO = #{menuNo}) + + </select> + + <select id="selectLastMenuNoCnt" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + select count(MENU_NO) + from COMTNMENUINFO + where UPPER_MENU_NO = #{menuNo} + and MENU_ORDR = + (select MIN(MENU_ORDR) + from COMTNMENUCREATDTLS A, COMTNMENUINFO B + where A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tempValue}) + AND B.UPPER_MENU_NO = #{menuNo}) + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_postgres.xml (revision 7) @@ -0,0 +1,141 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuManageList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + MENU_NO AS "menuNo" + , MENU_ORDR AS "menuOrdr" + , MENU_NM AS "menuNm" + , UPPER_MENU_NO AS "upperMenuId" + , MENU_DC AS "menuDc" + , RELATE_IMAGE_PATH AS "relateImagePath" + , RELATE_IMAGE_NM AS "relateImageNm" + , PROGRM_FILE_NM AS "progrmFileNm" + FROM COMTNMENUINFO + WHERE MENU_NM like CONCAT('%', #{searchKeyword}, '%') + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <!-- 총건수 조회 --> + <select id="selectMenuManageListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS "totcnt" + FROM COMTNMENUINFO + WHERE MENU_NM like CONCAT('%', #{searchKeyword}, '%') + + </select> + + + <select id="selectMenuManage_D" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.mpm.service.MenuManageVO"> + + SELECT + MENU_NO AS "menuNo" + , MENU_ORDR AS "menuOrdr" + , MENU_NM AS "menuNm" + , UPPER_MENU_NO AS "upperMenuId" + , MENU_DC AS "menuDc" + , RELATE_IMAGE_PATH AS "relateImagePath" + , RELATE_IMAGE_NM AS "relateImageNm" + , PROGRM_FILE_NM AS "progrmFileNm" + FROM COMTNMENUINFO + WHERE MENU_NO::VARCHAR = #{searchKeyword} + + </select> + + <insert id="insertMenuManage_S"> + + INSERT INTO COMTNMENUINFO + ( MENU_NO + , MENU_ORDR + , MENU_NM + , UPPER_MENU_NO + , MENU_DC + , RELATE_IMAGE_PATH + , RELATE_IMAGE_NM + , PROGRM_FILE_NM ) + VALUES ( #{menuNo} + , #{menuOrdr} + , #{menuNm} + , #{upperMenuId} + , #{menuDc} + , #{relateImagePath} + , #{relateImageNm} + , #{progrmFileNm} ) + + </insert> + + <update id="updateMenuManage_S"> + + UPDATE COMTNMENUINFO + SET MENU_ORDR = #{menuOrdr} + , MENU_NM = #{menuNm} + , UPPER_MENU_NO = #{upperMenuId} + , MENU_DC = #{menuDc} + , RELATE_IMAGE_PATH = #{relateImagePath} + , RELATE_IMAGE_NM = #{relateImageNm} + , PROGRM_FILE_NM = #{progrmFileNm} + WHERE MENU_NO=#{menuNo} + + </update> + + <delete id="deleteMenuManage_S"> + + DELETE FROM COMTNMENUINFO + WHERE MENU_NO=#{menuNo} + + </delete> + + <!-- 메뉴번호 존재여부 조회 --> + <select id="selectMenuNoByPk" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS "totcnt" + FROM COMTNMENUINFO + WHERE MENU_NO = #{menuNo} + + </select> + + <!-- 상위 메뉴번호 존재여부 조회 --> + <select id="selectUpperMenuNoByPk" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS "totcnt" + FROM COMTNMENUINFO + WHERE UPPER_MENU_NO = #{menuNo} + + </select> + + <select id="selectMenuListT_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + MENU_NO AS "menuNo" + , MENU_ORDR AS "menuOrdr" + , MENU_NM AS "menuNm" + , UPPER_MENU_NO AS "upperMenuId" + , MENU_DC AS "menuDc" + , RELATE_IMAGE_PATH AS "relateImagePath" + , RELATE_IMAGE_NM AS "relateImageNm" + , PROGRM_FILE_NM AS "progrmFileNm" + FROM COMTNMENUINFO + WHERE Menu_NO > 0 + ORDER BY MENU_ORDR + + </select> + + <delete id="deleteAllMenuList"> + + DELETE FROM COMTNMENUINFO + + </delete> + + <!-- 메뉴정보 총건수 조회 --> + <select id="selectMenuListTotCnt" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS "totcnt" + FROM COMTNMENUINFO + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_oracle.xml (revision 7) @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMainMenuHead" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS "menuNo" + , B.MENU_ORDR AS "menuOrdr" + , B.MENU_NM AS "menuNm" + , B.UPPER_MENU_NO AS "upperMenuId" + , B.MENU_DC AS "menuDc" + , B.RELATE_IMAGE_PATH AS "relateImagePath" + , B.RELATE_IMAGE_NM AS "relateImageNm" + , B.PROGRM_FILE_NM AS "progrmFileNm" + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE B.Menu_NO > 0 + AND B.UPPER_MENU_NO = 0 + AND A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT C.AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS C + WHERE C.SCRTY_DTRMN_TRGET_ID = #{tmpUniqId}) + ORDER BY MENU_ORDR + + </select> + + <select id="selectMainMenuLeft" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS "menuNo" + , B.MENU_ORDR AS "menuOrdr" + , B.MENU_NM AS "menuNm" + , B.UPPER_MENU_NO AS "upperMenuId" + , B.RELATE_IMAGE_PATH AS "relateImagePath" + , B.RELATE_IMAGE_NM AS "relateImageNm" + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tmpUniqId}) + ORDER BY B.MENU_ORDR + + </select> + + <select id="selectLastMenuURL" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="String"> + + SELECT URL + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = + (SELECT PROGRM_FILE_NM FROM COMTNMENUINFO + WHERE MENU_NO = #{menuNo}) + + </select> + + <select id="selectLastMenuNo" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + select MIN(MENU_NO) + from COMTNMENUINFO + where UPPER_MENU_NO = #{menuNo} + and MENU_ORDR = + (select MIN(MENU_ORDR) + from COMTNMENUCREATDTLS A, COMTNMENUINFO B + where A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tempValue}) + AND B.UPPER_MENU_NO = #{menuNo}) + + </select> + + <select id="selectLastMenuNoCnt" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + select count(MENU_NO) + from COMTNMENUINFO + where UPPER_MENU_NO = #{menuNo} + and MENU_ORDR = + (select MIN(MENU_ORDR) + from COMTNMENUCREATDTLS A, COMTNMENUINFO B + where A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tempValue}) + AND B.UPPER_MENU_NO = #{menuNo}) + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_mysql.xml (revision 7) @@ -0,0 +1,141 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuManageList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + MENU_NO AS menuNo + , MENU_ORDR AS menuOrdr + , MENU_NM AS menuNm + , UPPER_MENU_NO AS upperMenuId + , MENU_DC AS menuDc + , RELATE_IMAGE_PATH AS relateImagePath + , RELATE_IMAGE_NM AS relateImageNm + , PROGRM_FILE_NM AS progrmFileNm + FROM COMTNMENUINFO + WHERE binary(MENU_NM) like CONCAT('%', #{searchKeyword}, '%') + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <!-- 총건수 조회 --> + <select id="selectMenuManageListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + WHERE binary(MENU_NM) like CONCAT('%', #{searchKeyword}, '%') + + </select> + + + <select id="selectMenuManage_D" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.mpm.service.MenuManageVO"> + + SELECT + MENU_NO AS menuNo + , MENU_ORDR AS menuOrdr + , MENU_NM AS menuNm + , UPPER_MENU_NO AS upperMenuId + , MENU_DC AS menuDc + , RELATE_IMAGE_PATH AS relateImagePath + , RELATE_IMAGE_NM AS relateImageNm + , PROGRM_FILE_NM AS progrmFileNm + FROM COMTNMENUINFO + WHERE MENU_NO = #{searchKeyword} + + </select> + + <insert id="insertMenuManage_S"> + + INSERT INTO COMTNMENUINFO + ( MENU_NO + , MENU_ORDR + , MENU_NM + , UPPER_MENU_NO + , MENU_DC + , RELATE_IMAGE_PATH + , RELATE_IMAGE_NM + , PROGRM_FILE_NM ) + VALUES ( #{menuNo} + , #{menuOrdr} + , #{menuNm} + , #{upperMenuId} + , #{menuDc} + , #{relateImagePath} + , #{relateImageNm} + , #{progrmFileNm} ) + + </insert> + + <update id="updateMenuManage_S"> + + UPDATE COMTNMENUINFO + SET MENU_ORDR = #{menuOrdr} + , MENU_NM = #{menuNm} + , UPPER_MENU_NO = #{upperMenuId} + , MENU_DC = #{menuDc} + , RELATE_IMAGE_PATH = #{relateImagePath} + , RELATE_IMAGE_NM = #{relateImageNm} + , PROGRM_FILE_NM = #{progrmFileNm} + WHERE MENU_NO=#{menuNo} + + </update> + + <delete id="deleteMenuManage_S"> + + DELETE FROM COMTNMENUINFO + WHERE MENU_NO=#{menuNo} + + </delete> + + <!-- 메뉴번호 존재여부 조회 --> + <select id="selectMenuNoByPk" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + WHERE MENU_NO = #{menuNo} + + </select> + + <!-- 상위 메뉴번호 존재여부 조회 --> + <select id="selectUpperMenuNoByPk" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + WHERE UPPER_MENU_NO = #{menuNo} + + </select> + + <select id="selectMenuListT_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + MENU_NO AS menuNo + , MENU_ORDR AS menuOrdr + , MENU_NM AS menuNm + , UPPER_MENU_NO AS upperMenuId + , MENU_DC AS menuDc + , RELATE_IMAGE_PATH AS relateImagePath + , RELATE_IMAGE_NM AS relateImageNm + , PROGRM_FILE_NM AS progrmFileNm + FROM COMTNMENUINFO + WHERE Menu_NO > 0 + ORDER BY MENU_ORDR + + </select> + + <delete id="deleteAllMenuList"> + + DELETE FROM COMTNMENUINFO + + </delete> + + <!-- 메뉴정보 총건수 조회 --> + <select id="selectMenuListTotCnt" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_altibase.xml (revision 7) @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:48 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMainMenuHead" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS "menuNo" + , B.MENU_ORDR AS "menuOrdr" + , B.MENU_NM AS "menuNm" + , B.UPPER_MENU_NO AS "upperMenuId" + , B.MENU_DC AS "menuDc" + , B.RELATE_IMAGE_PATH AS "relateImagePath" + , B.RELATE_IMAGE_NM AS "relateImageNm" + , B.PROGRM_FILE_NM AS "progrmFileNm" + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE B.Menu_NO > 0 + AND B.UPPER_MENU_NO = 0 + AND A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT C.AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS C + WHERE C.SCRTY_DTRMN_TRGET_ID = #{tmpUniqId}) + ORDER BY MENU_ORDR + + </select> + + <select id="selectMainMenuLeft" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS "menuNo" + , B.MENU_ORDR AS "menuOrdr" + , B.MENU_NM AS "menuNm" + , B.UPPER_MENU_NO AS "upperMenuId" + , B.RELATE_IMAGE_PATH AS "relateImagePath" + , B.RELATE_IMAGE_NM AS "relateImageNm" + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tmpUniqId}) + ORDER BY B.MENU_ORDR + + </select> + + <select id="selectLastMenuURL" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="String"> + + SELECT URL + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = + (SELECT PROGRM_FILE_NM FROM COMTNMENUINFO + WHERE MENU_NO = #{menuNo}) + + </select> + + <select id="selectLastMenuNo" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + select MIN(MENU_NO) + from COMTNMENUINFO + where UPPER_MENU_NO = #{menuNo} + and MENU_ORDR = + (select MIN(MENU_ORDR) + from COMTNMENUCREATDTLS A, COMTNMENUINFO B + where A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tempValue}) + AND B.UPPER_MENU_NO = #{menuNo}) + + </select> + + <select id="selectLastMenuNoCnt" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + select count(MENU_NO) + from COMTNMENUINFO + where UPPER_MENU_NO = #{menuNo} + and MENU_ORDR = + (select MIN(MENU_ORDR) + from COMTNMENUCREATDTLS A, COMTNMENUINFO B + where A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tempValue}) + AND B.UPPER_MENU_NO = #{menuNo}) + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_cubrid.xml (revision 7) @@ -0,0 +1,142 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuManageList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + MENU_NO AS "menuNo" + , MENU_ORDR AS "menuOrdr" + , MENU_NM AS "menuNm" + , UPPER_MENU_NO AS "upperMenuId" + , MENU_DC AS "menuDc" + , RELATE_IMAGE_PATH AS "relateImagePath" + , RELATE_IMAGE_NM AS "relateImageNm" + , PROGRM_FILE_NM AS "progrmFileNm" + FROM COMTNMENUINFO + WHERE MENU_NM like '%'|| #{searchKeyword}||'%' + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 --> + <select id="selectMenuManageListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS "totcnt" + FROM COMTNMENUINFO + WHERE MENU_NM like '%'||#{searchKeyword}||'%' + + </select> + + + <select id="selectMenuManage_D" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.mpm.service.MenuManageVO"> + + SELECT + MENU_NO AS "menuNo" + , MENU_ORDR AS "menuOrdr" + , MENU_NM AS "menuNm" + , UPPER_MENU_NO AS "upperMenuId" + , MENU_DC AS "menuDc" + , RELATE_IMAGE_PATH AS "relateImagePath" + , RELATE_IMAGE_NM AS "relateImageNm" + , PROGRM_FILE_NM AS "progrmFileNm" + FROM COMTNMENUINFO + WHERE MENU_NO = #{searchKeyword} + + </select> + + <insert id="insertMenuManage_S"> + + INSERT INTO COMTNMENUINFO + ( MENU_NO + , MENU_ORDR + , MENU_NM + , UPPER_MENU_NO + , MENU_DC + , RELATE_IMAGE_PATH + , RELATE_IMAGE_NM + , PROGRM_FILE_NM ) + VALUES ( #{menuNo} + , #{menuOrdr} + , #{menuNm} + , #{upperMenuId} + , #{menuDc} + , #{relateImagePath} + , #{relateImageNm} + , #{progrmFileNm} ) + + </insert> + + <update id="updateMenuManage_S"> + + UPDATE COMTNMENUINFO + SET MENU_ORDR = #{menuOrdr} + , MENU_NM = #{menuNm} + , UPPER_MENU_NO = #{upperMenuId} + , MENU_DC = #{menuDc} + , RELATE_IMAGE_PATH = #{relateImagePath} + , RELATE_IMAGE_NM = #{relateImageNm} + , PROGRM_FILE_NM = #{progrmFileNm} + WHERE MENU_NO=#{menuNo} + + </update> + + <delete id="deleteMenuManage_S"> + + DELETE FROM COMTNMENUINFO + WHERE MENU_NO=#{menuNo} + + </delete> + + <!-- 메뉴번호 존재여부 조회 --> + <select id="selectMenuNoByPk" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS "totcnt" + FROM COMTNMENUINFO + WHERE MENU_NO = #{menuNo} + + </select> + + <!-- 상위 메뉴번호 존재여부 조회 --> + <select id="selectUpperMenuNoByPk" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + WHERE UPPER_MENU_NO = #{menuNo} + + </select> + + <select id="selectMenuListT_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + MENU_NO AS "menuNo" + , MENU_ORDR AS "menuOrdr" + , MENU_NM AS "menuNm" + , UPPER_MENU_NO AS "upperMenuId" + , MENU_DC AS "menuDc" + , RELATE_IMAGE_PATH AS "relateImagePath" + , RELATE_IMAGE_NM AS "relateImageNm" + , PROGRM_FILE_NM AS "progrmFileNm" + FROM COMTNMENUINFO + WHERE Menu_NO > 0 + ORDER BY MENU_ORDR + + </select> + + <delete id="deleteAllMenuList"> + + DELETE FROM COMTNMENUINFO + + </delete> + + <!-- 메뉴정보 총건수 조회 --> + <select id="selectMenuListTotCnt" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_oracle.xml (revision 7) @@ -0,0 +1,142 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuManageList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + MENU_NO AS "menuNo" + , MENU_ORDR AS "menuOrdr" + , MENU_NM AS "menuNm" + , UPPER_MENU_NO AS "upperMenuId" + , MENU_DC AS "menuDc" + , RELATE_IMAGE_PATH AS "relateImagePath" + , RELATE_IMAGE_NM AS "relateImageNm" + , PROGRM_FILE_NM AS "progrmFileNm" + FROM COMTNMENUINFO + WHERE MENU_NM like '%'|| #{searchKeyword}||'%' + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 --> + <select id="selectMenuManageListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS "totcnt" + FROM COMTNMENUINFO + WHERE MENU_NM like '%'||#{searchKeyword}||'%' + + </select> + + + <select id="selectMenuManage_D" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.mpm.service.MenuManageVO"> + + SELECT + MENU_NO AS "menuNo" + , MENU_ORDR AS "menuOrdr" + , MENU_NM AS "menuNm" + , UPPER_MENU_NO AS "upperMenuId" + , MENU_DC AS "menuDc" + , RELATE_IMAGE_PATH AS "relateImagePath" + , RELATE_IMAGE_NM AS "relateImageNm" + , PROGRM_FILE_NM AS "progrmFileNm" + FROM COMTNMENUINFO + WHERE MENU_NO = #{searchKeyword} + + </select> + + <insert id="insertMenuManage_S"> + + INSERT INTO COMTNMENUINFO + ( MENU_NO + , MENU_ORDR + , MENU_NM + , UPPER_MENU_NO + , MENU_DC + , RELATE_IMAGE_PATH + , RELATE_IMAGE_NM + , PROGRM_FILE_NM ) + VALUES ( #{menuNo} + , #{menuOrdr} + , #{menuNm} + , #{upperMenuId} + , #{menuDc} + , #{relateImagePath} + , #{relateImageNm} + , #{progrmFileNm} ) + + </insert> + + <update id="updateMenuManage_S"> + + UPDATE COMTNMENUINFO + SET MENU_ORDR = #{menuOrdr} + , MENU_NM = #{menuNm} + , UPPER_MENU_NO = #{upperMenuId} + , MENU_DC = #{menuDc} + , RELATE_IMAGE_PATH = #{relateImagePath} + , RELATE_IMAGE_NM = #{relateImageNm} + , PROGRM_FILE_NM = #{progrmFileNm} + WHERE MENU_NO=#{menuNo} + + </update> + + <delete id="deleteMenuManage_S"> + + DELETE FROM COMTNMENUINFO + WHERE MENU_NO=#{menuNo} + + </delete> + + <!-- 메뉴번호 존재여부 조회 --> + <select id="selectMenuNoByPk" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS "totcnt" + FROM COMTNMENUINFO + WHERE MENU_NO = #{menuNo} + + </select> + + <!-- 상위 메뉴번호 존재여부 조회 --> + <select id="selectUpperMenuNoByPk" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + WHERE UPPER_MENU_NO = #{menuNo} + + </select> + + <select id="selectMenuListT_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + MENU_NO AS "menuNo" + , MENU_ORDR AS "menuOrdr" + , MENU_NM AS "menuNm" + , UPPER_MENU_NO AS "upperMenuId" + , MENU_DC AS "menuDc" + , RELATE_IMAGE_PATH AS "relateImagePath" + , RELATE_IMAGE_NM AS "relateImageNm" + , PROGRM_FILE_NM AS "progrmFileNm" + FROM COMTNMENUINFO + WHERE Menu_NO > 0 + ORDER BY MENU_ORDR + + </select> + + <delete id="deleteAllMenuList"> + + DELETE FROM COMTNMENUINFO + + </delete> + + <!-- 메뉴정보 총건수 조회 --> + <select id="selectMenuListTotCnt" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_mysql.xml (revision 7) @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMainMenuHead" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS menuNo + , B.MENU_ORDR AS menuOrdr + , B.MENU_NM AS menuNm + , B.UPPER_MENU_NO AS upperMenuId + , B.MENU_DC AS menuDc + , B.RELATE_IMAGE_PATH AS relateImagePath + , B.RELATE_IMAGE_NM AS relateImageNm + , B.PROGRM_FILE_NM AS progrmFileNm + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS chkURL + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE B.Menu_NO > 0 + AND B.UPPER_MENU_NO = 0 + AND A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT C.AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS C + WHERE C.SCRTY_DTRMN_TRGET_ID = #{tmpUniqId}) + ORDER BY MENU_ORDR + + </select> + + <select id="selectMainMenuLeft" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS menuNo + , B.MENU_ORDR AS menuOrdr + , B.MENU_NM AS menuNm + , B.UPPER_MENU_NO AS upperMenuId + , B.RELATE_IMAGE_PATH AS relateImagePath + , B.RELATE_IMAGE_NM AS relateImageNm + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS chkURL + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tmpUniqId}) + ORDER BY B.MENU_ORDR + + </select> + + <select id="selectLastMenuURL" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="String"> + + SELECT URL + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = + (SELECT PROGRM_FILE_NM FROM COMTNMENUINFO + WHERE MENU_NO = #{menuNo}) + + </select> + + <select id="selectLastMenuNo" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + select MIN(MENU_NO) + from COMTNMENUINFO + where UPPER_MENU_NO = #{menuNo} + and MENU_ORDR = + (select MIN(MENU_ORDR) + from COMTNMENUCREATDTLS A, COMTNMENUINFO B + where A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tempValue}) + AND B.UPPER_MENU_NO = #{menuNo}) + + </select> + + <select id="selectLastMenuNoCnt" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + select count(MENU_NO) + from COMTNMENUINFO + where UPPER_MENU_NO = #{menuNo} + and MENU_ORDR = + (select MIN(MENU_ORDR) + from COMTNMENUCREATDTLS A, COMTNMENUINFO B + where A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tempValue}) + AND B.UPPER_MENU_NO = #{menuNo}) + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_maria.xml (revision 7) @@ -0,0 +1,141 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuManageList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + MENU_NO AS menuNo + , MENU_ORDR AS menuOrdr + , MENU_NM AS menuNm + , UPPER_MENU_NO AS upperMenuId + , MENU_DC AS menuDc + , RELATE_IMAGE_PATH AS relateImagePath + , RELATE_IMAGE_NM AS relateImageNm + , PROGRM_FILE_NM AS progrmFileNm + FROM COMTNMENUINFO + WHERE binary(MENU_NM) like CONCAT('%', #{searchKeyword}, '%') + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <!-- 총건수 조회 --> + <select id="selectMenuManageListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + WHERE binary(MENU_NM) like CONCAT('%', #{searchKeyword}, '%') + + </select> + + + <select id="selectMenuManage_D" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.mpm.service.MenuManageVO"> + + SELECT + MENU_NO AS menuNo + , MENU_ORDR AS menuOrdr + , MENU_NM AS menuNm + , UPPER_MENU_NO AS upperMenuId + , MENU_DC AS menuDc + , RELATE_IMAGE_PATH AS relateImagePath + , RELATE_IMAGE_NM AS relateImageNm + , PROGRM_FILE_NM AS progrmFileNm + FROM COMTNMENUINFO + WHERE MENU_NO = #{searchKeyword} + + </select> + + <insert id="insertMenuManage_S"> + + INSERT INTO COMTNMENUINFO + ( MENU_NO + , MENU_ORDR + , MENU_NM + , UPPER_MENU_NO + , MENU_DC + , RELATE_IMAGE_PATH + , RELATE_IMAGE_NM + , PROGRM_FILE_NM ) + VALUES ( #{menuNo} + , #{menuOrdr} + , #{menuNm} + , #{upperMenuId} + , #{menuDc} + , #{relateImagePath} + , #{relateImageNm} + , #{progrmFileNm} ) + + </insert> + + <update id="updateMenuManage_S"> + + UPDATE COMTNMENUINFO + SET MENU_ORDR = #{menuOrdr} + , MENU_NM = #{menuNm} + , UPPER_MENU_NO = #{upperMenuId} + , MENU_DC = #{menuDc} + , RELATE_IMAGE_PATH = #{relateImagePath} + , RELATE_IMAGE_NM = #{relateImageNm} + , PROGRM_FILE_NM = #{progrmFileNm} + WHERE MENU_NO=#{menuNo} + + </update> + + <delete id="deleteMenuManage_S"> + + DELETE FROM COMTNMENUINFO + WHERE MENU_NO=#{menuNo} + + </delete> + + <!-- 메뉴번호 존재여부 조회 --> + <select id="selectMenuNoByPk" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + WHERE MENU_NO = #{menuNo} + + </select> + + <!-- 상위 메뉴번호 존재여부 조회 --> + <select id="selectUpperMenuNoByPk" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + WHERE UPPER_MENU_NO = #{menuNo} + + </select> + + <select id="selectMenuListT_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + MENU_NO AS menuNo + , MENU_ORDR AS menuOrdr + , MENU_NM AS menuNm + , UPPER_MENU_NO AS upperMenuId + , MENU_DC AS menuDc + , RELATE_IMAGE_PATH AS relateImagePath + , RELATE_IMAGE_NM AS relateImageNm + , PROGRM_FILE_NM AS progrmFileNm + FROM COMTNMENUINFO + WHERE Menu_NO > 0 + ORDER BY MENU_ORDR + + </select> + + <delete id="deleteAllMenuList"> + + DELETE FROM COMTNMENUINFO + + </delete> + + <!-- 메뉴정보 총건수 조회 --> + <select id="selectMenuListTotCnt" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_tibero.xml (revision 7) @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMainMenuHead" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS "menuNo" + , B.MENU_ORDR AS "menuOrdr" + , B.MENU_NM AS "menuNm" + , B.UPPER_MENU_NO AS "upperMenuId" + , B.MENU_DC AS "menuDc" + , B.RELATE_IMAGE_PATH AS "relateImagePath" + , B.RELATE_IMAGE_NM AS "relateImageNm" + , B.PROGRM_FILE_NM AS "progrmFileNm" + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE B.Menu_NO > 0 + AND B.UPPER_MENU_NO = 0 + AND A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT C.AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS C + WHERE C.SCRTY_DTRMN_TRGET_ID = #{tmpUniqId}) + ORDER BY MENU_ORDR + + </select> + + <select id="selectMainMenuLeft" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="egovMap"> + + SELECT + B.MENU_NO AS "menuNo" + , B.MENU_ORDR AS "menuOrdr" + , B.MENU_NM AS "menuNm" + , B.UPPER_MENU_NO AS "upperMenuId" + , B.RELATE_IMAGE_PATH AS "relateImagePath" + , B.RELATE_IMAGE_NM AS "relateImageNm" + , (SELECT C.URL FROM COMTNPROGRMLIST C WHERE B.PROGRM_FILE_NM = C.PROGRM_FILE_NM) AS "chkURL" + FROM COMTNMENUCREATDTLS A, COMTNMENUINFO B + WHERE A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tmpUniqId}) + ORDER BY B.MENU_ORDR + + </select> + + <select id="selectLastMenuURL" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="String"> + + SELECT URL + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = + (SELECT PROGRM_FILE_NM FROM COMTNMENUINFO + WHERE MENU_NO = #{menuNo}) + + </select> + + <select id="selectLastMenuNo" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + select MIN(MENU_NO) + from COMTNMENUINFO + where UPPER_MENU_NO = #{menuNo} + and MENU_ORDR = + (select MIN(MENU_ORDR) + from COMTNMENUCREATDTLS A, COMTNMENUINFO B + where A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tempValue}) + AND B.UPPER_MENU_NO = #{menuNo}) + + </select> + + <select id="selectLastMenuNoCnt" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + select count(MENU_NO) + from COMTNMENUINFO + where UPPER_MENU_NO = #{menuNo} + and MENU_ORDR = + (select MIN(MENU_ORDR) + from COMTNMENUCREATDTLS A, COMTNMENUINFO B + where A.MENU_NO = B.MENU_NO + AND A.AUTHOR_CODE = (SELECT AUTHOR_CODE from COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{tempValue}) + AND B.UPPER_MENU_NO = #{menuNo}) + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMainMenu_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_altibase.xml (revision 7) @@ -0,0 +1,142 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="menuManageDAO"> + + <select id="selectMenuManageList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + MENU_NO AS "menuNo" + , MENU_ORDR AS "menuOrdr" + , MENU_NM AS "menuNm" + , UPPER_MENU_NO AS "upperMenuId" + , MENU_DC AS "menuDc" + , RELATE_IMAGE_PATH AS "relateImagePath" + , RELATE_IMAGE_NM AS "relateImageNm" + , PROGRM_FILE_NM AS "progrmFileNm" + FROM COMTNMENUINFO + WHERE MENU_NM like '%'|| #{searchKeyword}||'%' + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 --> + <select id="selectMenuManageListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS "totcnt" + FROM COMTNMENUINFO + WHERE MENU_NM like '%'||#{searchKeyword}||'%' + + </select> + + + <select id="selectMenuManage_D" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.mpm.service.MenuManageVO"> + + SELECT + MENU_NO AS "menuNo" + , MENU_ORDR AS "menuOrdr" + , MENU_NM AS "menuNm" + , UPPER_MENU_NO AS "upperMenuId" + , MENU_DC AS "menuDc" + , RELATE_IMAGE_PATH AS "relateImagePath" + , RELATE_IMAGE_NM AS "relateImageNm" + , PROGRM_FILE_NM AS "progrmFileNm" + FROM COMTNMENUINFO + WHERE MENU_NO = #{searchKeyword} + + </select> + + <insert id="insertMenuManage_S"> + + INSERT INTO COMTNMENUINFO + ( MENU_NO + , MENU_ORDR + , MENU_NM + , UPPER_MENU_NO + , MENU_DC + , RELATE_IMAGE_PATH + , RELATE_IMAGE_NM + , PROGRM_FILE_NM ) + VALUES ( #{menuNo} + , #{menuOrdr} + , #{menuNm} + , #{upperMenuId} + , #{menuDc} + , #{relateImagePath} + , #{relateImageNm} + , #{progrmFileNm} ) + + </insert> + + <update id="updateMenuManage_S"> + + UPDATE COMTNMENUINFO + SET MENU_ORDR = #{menuOrdr} + , MENU_NM = #{menuNm} + , UPPER_MENU_NO = #{upperMenuId} + , MENU_DC = #{menuDc} + , RELATE_IMAGE_PATH = #{relateImagePath} + , RELATE_IMAGE_NM = #{relateImageNm} + , PROGRM_FILE_NM = #{progrmFileNm} + WHERE MENU_NO=#{menuNo} + + </update> + + <delete id="deleteMenuManage_S"> + + DELETE FROM COMTNMENUINFO + WHERE MENU_NO=#{menuNo} + + </delete> + + <!-- 메뉴번호 존재여부 조회 --> + <select id="selectMenuNoByPk" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS "totcnt" + FROM COMTNMENUINFO + WHERE MENU_NO = #{menuNo} + + </select> + + <!-- 상위 메뉴번호 존재여부 조회 --> + <select id="selectUpperMenuNoByPk" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + WHERE UPPER_MENU_NO = #{menuNo} + + </select> + + <select id="selectMenuListT_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + MENU_NO AS "menuNo" + , MENU_ORDR AS "menuOrdr" + , MENU_NM AS "menuNm" + , UPPER_MENU_NO AS "upperMenuId" + , MENU_DC AS "menuDc" + , RELATE_IMAGE_PATH AS "relateImagePath" + , RELATE_IMAGE_NM AS "relateImageNm" + , PROGRM_FILE_NM AS "progrmFileNm" + FROM COMTNMENUINFO + WHERE Menu_NO > 0 + ORDER BY MENU_ORDR + + </select> + + <delete id="deleteAllMenuList"> + + DELETE FROM COMTNMENUINFO + + </delete> + + <!-- 메뉴정보 총건수 조회 --> + <select id="selectMenuListTotCnt" parameterType="egovframework.com.sym.mnu.mpm.service.MenuManageVO" resultType="int"> + + SELECT COUNT(MENU_NO) AS totcnt + FROM COMTNMENUINFO + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/mpm/EgovMenuManage_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_mysql.xml (revision 7) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="siteMapngDAO"> + + <select id="selectSiteMapngByMapCreatID" parameterType="comDefaultVO" resultType="String"> + + SELECT MAPNG_CREAT_ID AS mapCreatId + FROM COMTNMENUCREATDTLS + WHERE AUTHOR_CODE = + (SELECT AUTHOR_CODE + FROM COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{searchKeyword} ) + group by MAPNG_CREAT_ID + + </select> + + <select id="selectSiteMapng_D" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.stm.service.SiteMapngVO"> + + SELECT CONCAT(MAPNG_FILE_PATH, MAPNG_FILE_NM) AS bndeFileNm + FROM COMTNSITEMAP + WHERE MAPNG_CREAT_ID = #{searchKeyword} + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_cubrid.xml (revision 7) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="siteMapngDAO"> + + <select id="selectSiteMapngByMapCreatID" parameterType="comDefaultVO" resultType="String"> + + SELECT trim(MAPNG_CREAT_ID) AS "mapCreatId" + FROM COMTNMENUCREATDTLS + WHERE AUTHOR_CODE = + (SELECT AUTHOR_CODE + FROM COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{searchKeyword} ) + group by MAPNG_CREAT_ID + + </select> + + <select id="selectSiteMapng_D" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.stm.service.SiteMapngVO"> + + SELECT CONCAT(MAPNG_FILE_PATH, MAPNG_FILE_NM) AS "bndeFileNm" + FROM COMTNSITEMAP + WHERE trim(MAPNG_CREAT_ID) = #{searchKeyword} + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_oracle.xml (revision 7) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="siteMapngDAO"> + + <select id="selectSiteMapngByMapCreatID" parameterType="comDefaultVO" resultType="String"> + + SELECT trim(MAPNG_CREAT_ID) AS "mapCreatId" + FROM COMTNMENUCREATDTLS + WHERE AUTHOR_CODE = + (SELECT AUTHOR_CODE + FROM COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{searchKeyword} ) + group by MAPNG_CREAT_ID + + </select> + + <select id="selectSiteMapng_D" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.stm.service.SiteMapngVO"> + + SELECT CONCAT(MAPNG_FILE_PATH, MAPNG_FILE_NM) AS "bndeFileNm" + FROM COMTNSITEMAP + WHERE trim(MAPNG_CREAT_ID) = #{searchKeyword} + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_maria.xml (revision 7) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="siteMapngDAO"> + + <select id="selectSiteMapngByMapCreatID" parameterType="comDefaultVO" resultType="String"> + + SELECT MAPNG_CREAT_ID AS mapCreatId + FROM COMTNMENUCREATDTLS + WHERE AUTHOR_CODE = + (SELECT AUTHOR_CODE + FROM COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{searchKeyword} ) + group by MAPNG_CREAT_ID + + </select> + + <select id="selectSiteMapng_D" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.stm.service.SiteMapngVO"> + + SELECT CONCAT(MAPNG_FILE_PATH, MAPNG_FILE_NM) AS bndeFileNm + FROM COMTNSITEMAP + WHERE MAPNG_CREAT_ID = #{searchKeyword} + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_altibase.xml (revision 7) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="siteMapngDAO"> + + <select id="selectSiteMapngByMapCreatID" parameterType="comDefaultVO" resultType="String"> + + SELECT trim(MAPNG_CREAT_ID) AS "mapCreatId" + FROM COMTNMENUCREATDTLS + WHERE AUTHOR_CODE = + (SELECT AUTHOR_CODE + FROM COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{searchKeyword} ) + group by MAPNG_CREAT_ID + + </select> + + <select id="selectSiteMapng_D" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.stm.service.SiteMapngVO"> + + SELECT CONCAT(MAPNG_FILE_PATH, MAPNG_FILE_NM) AS "bndeFileNm" + FROM COMTNSITEMAP + WHERE trim(MAPNG_CREAT_ID) = #{searchKeyword} + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_tibero.xml (revision 7) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="siteMapngDAO"> + + <select id="selectSiteMapngByMapCreatID" parameterType="comDefaultVO" resultType="String"> + + SELECT trim(MAPNG_CREAT_ID) AS "mapCreatId" + FROM COMTNMENUCREATDTLS + WHERE AUTHOR_CODE = + (SELECT AUTHOR_CODE + FROM COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{searchKeyword} ) + group by MAPNG_CREAT_ID + + </select> + + <select id="selectSiteMapng_D" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.stm.service.SiteMapngVO"> + + SELECT CONCAT(MAPNG_FILE_PATH, MAPNG_FILE_NM) AS "bndeFileNm" + FROM COMTNSITEMAP + WHERE trim(MAPNG_CREAT_ID) = #{searchKeyword} + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_postgres.xml (revision 7) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="siteMapngDAO"> + + <select id="selectSiteMapngByMapCreatID" parameterType="comDefaultVO" resultType="String"> + + SELECT MAPNG_CREAT_ID AS mapCreatId + FROM COMTNMENUCREATDTLS + WHERE AUTHOR_CODE = + (SELECT AUTHOR_CODE + FROM COMTNEMPLYRSCRTYESTBS + WHERE SCRTY_DTRMN_TRGET_ID = #{searchKeyword} ) + group by MAPNG_CREAT_ID + + </select> + + <select id="selectSiteMapng_D" parameterType="comDefaultVO" resultType="egovframework.com.sym.mnu.stm.service.SiteMapngVO"> + + SELECT CONCAT(MAPNG_FILE_PATH, MAPNG_FILE_NM) AS bndeFileNm + FROM COMTNSITEMAP + WHERE MAPNG_CREAT_ID = #{searchKeyword} + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/mnu/stm/EgovSiteMapng_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_altibase.xml (revision 7) @@ -0,0 +1,248 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="progrmManageDAO"> + + <!-- 프로그램 변경요청 --> + <resultMap id="progrmManageDtl" type="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + <result property="progrmFileNm" column="PROGRM_FILE_NM"/> + <result property="rqesterNo" column="REQUST_NO"/> + <result property="rqesterPersonId" column="RQESTER_ID"/> + <result property="changerqesterCn" column="CHANGE_REQUST_CN"/> + <result property="rqesterProcessCn" column="REQUST_PROCESS_CN"/> + <result property="opetrId" column="OPETR_ID"/> + <result property="processSttus" column="PROCESS_STTUS_CODE"/> + <result property="processDe" column="PROCESS_DE"/> + <result property="rqesterDe" column="RQESTDE"/> + <result property="rqesterSj" column="REQUST_SJ"/> + </resultMap> + + <!-- 프로그램 변경요청 TMP --> + <resultMap id="progrmManageDtl_Temp" type="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + <result property="rqesterNo" column="REQUST_NO"/> + </resultMap> + + <select id="selectProgrmChangeRequstList_D" parameterType="comDefaultVO" resultMap="progrmManageDtl"> + + SELECT + PROGRM_FILE_NM AS "PROGRM_FILE_NM" + , REQUST_NO AS "REQUST_NO" + , RQESTER_ID AS "RQESTER_ID" + , CHANGE_REQUST_CN AS "CHANGE_REQUST_CN" + , REQUST_PROCESS_CN AS "REQUST_PROCESS_CN" + , OPETR_ID AS "OPETR_ID" + , trim(PROCESS_STTUS_CODE) AS "PROCESS_STTUS_CODE" + , PROCESS_DE AS "PROCESS_DE" + , RQESTDE AS "RQESTDE" + , REQUST_SJ AS "REQUST_SJ" + FROM ( + SELECT rownum rn + , TB.PROGRM_FILE_NM + , TB.REQUST_NO + , TB.RQESTER_ID + , TB.CHANGE_REQUST_CN + , TB.REQUST_PROCESS_CN + , TB.OPETR_ID + , TB.PROCESS_STTUS_CODE + , TB.PROCESS_DE + , TB.RQESTDE + , TB.REQUST_SJ + FROM ( + SELECT + PROGRM_FILE_NM + , REQUST_NO + , RQESTER_ID + , CHANGE_REQUST_CN + , REQUST_PROCESS_CN + , OPETR_ID + , PROCESS_STTUS_CODE + , PROCESS_DE + , RQESTDE + , REQUST_SJ + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM like '%'|| #{searchKeyword}||'%' + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 --> + <select id="selectProgrmChangeRequstListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS "totcnt" + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM like '%'|| #{searchKeyword}||'%' + + </select> + + <select id="selectProgrmChangeRequstNo_D" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + select nvl(max(REQUST_NO),0)+1 AS "rqesterNo" + from COMTHPROGRMCHANGEDTLS + + </select> + + <select id="selectProgrmChangeRequst_D" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultMap="progrmManageDtl"> + + SELECT + PROGRM_FILE_NM AS "PROGRM_FILE_NM" + , REQUST_NO AS "REQUST_NO" + , RQESTER_ID AS "RQESTER_ID" + , CHANGE_REQUST_CN AS "CHANGE_REQUST_CN" + , REQUST_PROCESS_CN AS "REQUST_PROCESS_CN" + , OPETR_ID AS "OPETR_ID" + , trim(PROCESS_STTUS_CODE) AS "PROCESS_STTUS_CODE" + , PROCESS_DE AS "PROCESS_DE" + , RQESTDE AS "RQESTDE" + , REQUST_SJ AS "REQUST_SJ" + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </select> + + <insert id="insertProgrmChangeRequst_S" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + INSERT INTO COMTHPROGRMCHANGEDTLS + ( PROGRM_FILE_NM + , REQUST_NO + , RQESTER_ID + , CHANGE_REQUST_CN + , RQESTDE + , REQUST_SJ + ,PROCESS_STTUS_CODE) + VALUES ( #{progrmFileNm} + , #{rqesterNo} + , #{rqesterPersonId} + , #{changerqesterCn} + , #{rqesterDe} + , #{rqesterSj} + , 'A') + + </insert> + + <update id="updateProgrmChangeRequst_S" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + UPDATE COMTHPROGRMCHANGEDTLS + SET RQESTER_ID = #{rqesterPersonId} + , CHANGE_REQUST_CN = #{changerqesterCn} + , REQUST_PROCESS_CN = #{rqesterProcessCn} + , RQESTDE = #{rqesterDe} + , REQUST_SJ = #{rqesterSj} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </update> + + <delete id="deleteProgrmChangeRequst_S"> + + DELETE FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </delete> + + <update id="updateProgrmChangeRequstProcess_S" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + UPDATE COMTHPROGRMCHANGEDTLS + SET CHANGE_REQUST_CN = #{changerqesterCn} + , REQUST_PROCESS_CN = #{rqesterProcessCn} + , OPETR_ID = #{opetrId} + , PROCESS_STTUS_CODE = #{processSttus} + , PROCESS_DE = #{processDe} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </update> + + <select id="selectChangeRequstProcessList_D" parameterType="comDefaultVO" resultMap="progrmManageDtl"> + + SELECT + PROGRM_FILE_NM AS "PROGRM_FILE_NM" + , REQUST_NO AS "REQUST_NO" + , RQESTER_ID AS "RQESTER_ID" + , CHANGE_REQUST_CN AS "CHANGE_REQUST_CN" + , REQUST_PROCESS_CN AS "REQUST_PROCESS_CN" + , OPETR_ID AS "OPETR_ID" + , trim(PROCESS_STTUS_CODE) AS "PROCESS_STTUS_CODE" + , PROCESS_DE AS "PROCESS_DE" + , RQESTDE AS "RQESTDE" + , REQUST_SJ AS "REQUST_SJ" + FROM ( + SELECT rownum rn + , TB.PROGRM_FILE_NM + , TB.REQUST_NO + , TB.RQESTER_ID + , TB.CHANGE_REQUST_CN + , TB.REQUST_PROCESS_CN + , TB.OPETR_ID + , TB.PROCESS_STTUS_CODE + , TB.PROCESS_DE + , TB.RQESTDE + , TB.REQUST_SJ + FROM ( + SELECT + PROGRM_FILE_NM + , REQUST_NO + , RQESTER_ID + , CHANGE_REQUST_CN + , REQUST_PROCESS_CN + , OPETR_ID + , PROCESS_STTUS_CODE + , PROCESS_DE + , RQESTDE + , REQUST_SJ + FROM COMTHPROGRMCHANGEDTLS + WHERE 1=1 + + <if test="searchCondition == 1">AND + PROCESS_STTUS_CODE like #{searchKeyword} + </if> + <if test="searchCondition == 2">AND + PROCESS_STTUS_CODE = #{searchKeyword} + </if> + <if test="searchCondition == 3">AND + RQESTDE between #{searchKeywordFrom} and #{searchKeywordTo} + </if> + <if test="searchCondition == 4">AND + RQESTER_ID like '%'||#{searchKeyword}||'%' + </if> + ORDER BY REQUST_NO ASC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 binary(PROCESS_DE) >= #{searchKeywordFrom} and binary(PROCESS_DE) =< #{searchKeywordTo} --> + <select id="selectChangeRequstProcessListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(REQUST_NO) AS "totcnt" + FROM COMTHPROGRMCHANGEDTLS + WHERE 1=1 + + <if test="searchCondition == 1">AND + PROCESS_STTUS_CODE like #{searchKeyword} + </if> + <if test="searchCondition == 2">AND + PROCESS_STTUS_CODE = #{searchKeyword} + </if> + <if test="searchCondition == 3">AND + RQESTDE between #{searchKeywordFrom} and #{searchKeywordTo} + </if> + <if test="searchCondition == 4">AND + RQESTER_ID like '%'||#{searchKeyword}||'%' + </if> + </select> + + <delete id="deleteAllProgrmDtls"> + + DELETE FROM COMTHPROGRMCHANGEDTLS + + </delete> + + <select id="selectRqesterEmail" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + select user_email AS tmpEmail from COMVNUSERMASTER + where ESNTL_ID = #{rqesterPersonId} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_maria.xml (revision 7) @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="progrmManageDAO"> + + <!-- 프로그램목록 관리 --> + <resultMap id="progrmManage" type="egovframework.com.sym.prm.service.ProgrmManageVO"> + <result property="progrmFileNm" column="progrmFileNm"/> + <result property="progrmStrePath" column="progrmStrePath"/> + <result property="progrmKoreanNm" column="progrmKoreanNm"/> + <result property="progrmDc" column="progrmDc"/> + <result property="URL" column="URL"/> + </resultMap> + + <select id="selectProgrmList_D" parameterType="comDefaultVO" resultMap="progrmManage"> + + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , PROGRM_STRE_PATH AS "progrmStrePath" + , PROGRM_KOREAN_NM AS "progrmKoreanNm" + , PROGRM_DC AS "progrmDc" + , URL AS "URL" + FROM COMTNPROGRMLIST + WHERE binary(PROGRM_KOREAN_NM) like CONCAT('%', #{searchKeyword}, '%') + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <!-- 총건수 조회 --> + <select id="selectProgrmListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM COMTNPROGRMLIST + WHERE binary(PROGRM_KOREAN_NM) like CONCAT('%', #{searchKeyword}, '%') + + </select> + + <!-- 파일명존재여부 조회 --> + <select id="selectProgrmNMTotCnt" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = #{searchKeyword} + + </select> + + <select id="selectProgrm_D" resultType="egovframework.com.sym.prm.service.ProgrmManageVO"> + + SELECT + PROGRM_FILE_NM AS progrmFileNm + , PROGRM_STRE_PATH AS progrmStrePath + , PROGRM_KOREAN_NM AS progrmKoreanNm + , PROGRM_DC AS progrmDc + , URL AS URL + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = #{progrmFileNm} + + </select> + + <insert id="insertProgrm_S"> + + INSERT INTO COMTNPROGRMLIST + ( PROGRM_FILE_NM + , PROGRM_STRE_PATH + , PROGRM_KOREAN_NM + , PROGRM_DC + , URL ) + VALUES ( #{progrmFileNm} + , #{progrmStrePath} + , #{progrmKoreanNm} + , #{progrmDc} + , #{URL} ) + + </insert> + + <update id="updateProgrm_S"> + + UPDATE COMTNPROGRMLIST + SET PROGRM_STRE_PATH=#{progrmStrePath} + , PROGRM_KOREAN_NM=#{progrmKoreanNm} + , PROGRM_DC =#{progrmDc} + , URL =#{URL} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + + </update> + + <delete id="deleteProgrm_S"> + + DELETE FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM=#{progrmFileNm} + + </delete> + + <delete id="progrmManageDAO.deleteAllProgrm"> + + DELETE FROM COMTNPROGRMLIST + + </delete> + + <!-- 메뉴정보 총건수 조회 --> + <select id="selectProgrmListTotCnt" parameterType="egovframework.com.sym.prm.service.ProgrmManageVO" resultType="int"> + + SELECT COUNT(*) AS totcnt FROM COMTNPROGRMLIST + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_cubrid.xml (revision 7) @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="progrmManageDAO"> + + <!-- 프로그램목록 관리 --> + <resultMap id="progrmManage" type="egovframework.com.sym.prm.service.ProgrmManageVO"> + <result property="progrmFileNm" column="progrmFileNm"/> + <result property="progrmStrePath" column="progrmStrePath"/> + <result property="progrmKoreanNm" column="progrmKoreanNm"/> + <result property="progrmDc" column="progrmDc"/> + <result property="URL" column="URL"/> + </resultMap> + + <select id="selectProgrmList_D" parameterType="comDefaultVO" resultMap="progrmManage"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , PROGRM_STRE_PATH AS "progrmStrePath" + , PROGRM_KOREAN_NM AS "progrmKoreanNm" + , substr(PROGRM_DC, 1, 18)||'...' AS "progrmDc" + , URL AS "URL" + FROM COMTNPROGRMLIST + WHERE PROGRM_KOREAN_NM like '%'|| #{searchKeyword}||'%' + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 , PROGRM_DC AS "progrmDc" --> + <select id="selectProgrmListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS "totcnt" + FROM COMTNPROGRMLIST + WHERE PROGRM_KOREAN_NM like '%'|| #{searchKeyword}||'%' + + </select> + + <!-- 파일명존재여부 조회 --> + <select id="selectProgrmNMTotCnt" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS "totcnt" + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = #{searchKeyword} + + </select> + + <select id="selectProgrm_D" resultType="egovframework.com.sym.prm.service.ProgrmManageVO"> + + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , PROGRM_STRE_PATH AS "progrmStrePath" + , PROGRM_KOREAN_NM AS "progrmKoreanNm" + , PROGRM_DC AS "progrmDc" + , URL AS "URL" + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = #{progrmFileNm} + + </select> + + <insert id="insertProgrm_S"> + + INSERT INTO COMTNPROGRMLIST + ( PROGRM_FILE_NM + , PROGRM_STRE_PATH + , PROGRM_KOREAN_NM + , PROGRM_DC + , URL ) + VALUES ( #{progrmFileNm} + , #{progrmStrePath} + , #{progrmKoreanNm} + , #{progrmDc} + , #{URL} ) + + </insert> + + <update id="updateProgrm_S"> + + UPDATE COMTNPROGRMLIST + SET PROGRM_STRE_PATH=#{progrmStrePath} + , PROGRM_KOREAN_NM=#{progrmKoreanNm} + , PROGRM_DC =#{progrmDc} + , URL =#{URL} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + + </update> + + <delete id="deleteProgrm_S"> + + DELETE FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM=#{progrmFileNm} + + </delete> + + <delete id="deleteAllProgrm"> + + DELETE FROM COMTNPROGRMLIST + + </delete> + + <!-- 메뉴정보 총건수 조회 --> + <select id="selectProgrmListTotCnt" parameterType="egovframework.com.sym.prm.service.ProgrmManageVO" resultType="int"> + + SELECT COUNT(PROGRM_FILE_NM) AS "totcnt" FROM COMTNPROGRMLIST + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_mysql.xml (revision 7) @@ -0,0 +1,197 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="progrmManageDAO"> + + <!-- 프로그램 변경요청 --> + <resultMap id="progrmManageDtlVO" type="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + <result property="progrmFileNm" column="PROGRM_FILE_NM"/> + <result property="rqesterNo" column="REQUST_NO"/> + <result property="rqesterPersonId" column="RQESTER_ID"/> + <result property="changerqesterCn" column="CHANGE_REQUST_CN"/> + <result property="rqesterProcessCn" column="REQUST_PROCESS_CN"/> + <result property="opetrId" column="OPETR_ID"/> + <result property="processSttus" column="PROCESS_STTUS_CODE"/> + <result property="processDe" column="PROCESS_DE"/> + <result property="rqesterDe" column="RQESTDE"/> + <result property="rqesterSj" column="REQUST_SJ"/> + </resultMap> + + <!-- 프로그램 변경요청 TMP --> + <resultMap id="progrmManageDtl_Temp" type="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + <result property="rqesterNo" column="REQUST_NO"/> + </resultMap> + + <select id="selectProgrmChangeRequstList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + PROGRM_FILE_NM AS progrmFileNm + , REQUST_NO AS rqesterNo + , RQESTER_ID AS rqesterPersonId + , CHANGE_REQUST_CN AS changerqesterCn + , REQUST_PROCESS_CN AS rqesterProcessCn + , OPETR_ID AS opetrId + , PROCESS_STTUS_CODE AS processSttus + , PROCESS_DE AS processDe + , RQESTDE AS rqesterDe + , REQUST_SJ AS rqesterSj + FROM COMTHPROGRMCHANGEDTLS + WHERE binary(PROGRM_FILE_NM) like CONCAT('%', #{searchKeyword}, '%') + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <!-- 총건수 조회 --> + <select id="selectProgrmChangeRequstListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM COMTHPROGRMCHANGEDTLS + WHERE binary(PROGRM_FILE_NM) like CONCAT('%', #{searchKeyword}, '%') + + </select> + + <select id="selectProgrmChangeRequstNo_D" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultMap="progrmManageDtl_Temp"> + + select IFNULL(max(REQUST_NO),0)+1 AS REQUST_NO + from COMTHPROGRMCHANGEDTLS + + </select> + + <select id="selectProgrmChangeRequst_D" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + SELECT + PROGRM_FILE_NM AS progrmFileNm + , REQUST_NO AS rqesterNo + , RQESTER_ID AS rqesterPersonId + , CHANGE_REQUST_CN AS changerqesterCn + , REQUST_PROCESS_CN AS rqesterProcessCn + , OPETR_ID AS opetrId + , PROCESS_STTUS_CODE AS processSttus + , PROCESS_DE AS processDe + , RQESTDE AS rqesterDe + , REQUST_SJ AS rqesterSj + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </select> + + <insert id="insertProgrmChangeRequst_S"> + + INSERT INTO COMTHPROGRMCHANGEDTLS + ( PROGRM_FILE_NM + , REQUST_NO + , RQESTER_ID + , CHANGE_REQUST_CN + , RQESTDE + , REQUST_SJ + ,PROCESS_STTUS_CODE) + VALUES ( #{progrmFileNm} + , #{rqesterNo} + , #{rqesterPersonId} + , #{changerqesterCn} + , #{rqesterDe} + , #{rqesterSj} + , 'A') + + </insert> + + <update id="updateProgrmChangeRequst_S"> + + UPDATE COMTHPROGRMCHANGEDTLS + SET RQESTER_ID = #{rqesterPersonId} + , CHANGE_REQUST_CN = #{changerqesterCn} + , RQESTDE = #{rqesterDe} + , REQUST_SJ = #{rqesterSj} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </update> + + <delete id="deleteProgrmChangeRequst_S"> + + DELETE FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </delete> + + <update id="updateProgrmChangeRequstProcess_S" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + UPDATE COMTHPROGRMCHANGEDTLS + SET REQUST_PROCESS_CN = #{rqesterProcessCn} + , OPETR_ID = #{opetrId} + , PROCESS_STTUS_CODE = #{processSttus} + , PROCESS_DE = #{processDe} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </update> + + <select id="selectChangeRequstProcessList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + PROGRM_FILE_NM AS progrmFileNm + , REQUST_NO AS rqesterNo + , RQESTER_ID AS rqesterPersonId + , CHANGE_REQUST_CN AS changerqesterCn + , REQUST_PROCESS_CN AS rqesterProcessCn + , OPETR_ID AS opetrId + , PROCESS_STTUS_CODE AS processSttus + , PROCESS_DE AS processDe + , RQESTDE AS rqesterDe + , REQUST_SJ AS rqesterSj + FROM COMTHPROGRMCHANGEDTLS + WHERE 1=1 + + <if test="searchCondition == 1">AND + binary(PROCESS_STTUS_CODE) like #{searchKeyword} + </if> + <if test="searchCondition == 2">AND + binary(PROCESS_STTUS_CODE) = #{searchKeyword} + </if> + <if test="searchCondition == 3">AND + RQESTDE between #{searchKeywordFrom} and #{searchKeywordTo} + </if> + <if test="searchCondition == 4">AND + binary(RQESTER_ID) like CONCAT('%', #{searchKeyword}, '%') + </if> + ORDER BY REQUST_NO ASC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <!-- 총건수 조회 binary(PROCESS_DE) >= #{searchKeywordFrom} and binary(PROCESS_DE) =< #{searchKeywordTo} --> + <select id="selectChangeRequstProcessListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM COMTHPROGRMCHANGEDTLS + WHERE 1=1 + + <if test="searchCondition == 1">AND + binary(PROCESS_STTUS_CODE) like #{searchKeyword} + </if> + <if test="searchCondition == 2">AND + binary(PROCESS_STTUS_CODE) = #{searchKeyword} + </if> + <if test="searchCondition == 3">AND + RQESTDE between #{searchKeywordFrom} and #{searchKeywordTo} + </if> + <if test="searchCondition == 4">AND + binary(RQESTER_ID) like CONCAT('%', #{searchKeyword}, '%') + </if> + </select> + + <delete id="deleteAllProgrmDtls"> + + DELETE FROM COMTHPROGRMCHANGEDTLS + + </delete> + + <select id="selectRqesterEmail" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + select user_email AS tmpEmail from COMVNUSERMASTER + where ESNTL_ID = #{rqesterPersonId} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_oracle.xml (revision 7) @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="progrmManageDAO"> + + <!-- 프로그램목록 관리 --> + <resultMap id="progrmManage" type="egovframework.com.sym.prm.service.ProgrmManageVO"> + <result property="progrmFileNm" column="progrmFileNm"/> + <result property="progrmStrePath" column="progrmStrePath"/> + <result property="progrmKoreanNm" column="progrmKoreanNm"/> + <result property="progrmDc" column="progrmDc"/> + <result property="URL" column="URL"/> + </resultMap> + + <select id="selectProgrmList_D" parameterType="comDefaultVO" resultMap="progrmManage"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , PROGRM_STRE_PATH AS "progrmStrePath" + , PROGRM_KOREAN_NM AS "progrmKoreanNm" + , dbms_lob.substr(PROGRM_DC, 10, 1)||'...' AS "progrmDc" + , URL AS "URL" + FROM COMTNPROGRMLIST + WHERE PROGRM_KOREAN_NM like '%'|| #{searchKeyword}||'%' + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 , PROGRM_DC AS "progrmDc" --> + <select id="selectProgrmListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS "totcnt" + FROM COMTNPROGRMLIST + WHERE PROGRM_KOREAN_NM like '%'|| #{searchKeyword}||'%' + + </select> + + <!-- 파일명존재여부 조회 --> + <select id="selectProgrmNMTotCnt" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS "totcnt" + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = #{searchKeyword} + + </select> + + <select id="selectProgrm_D" resultType="egovframework.com.sym.prm.service.ProgrmManageVO"> + + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , PROGRM_STRE_PATH AS "progrmStrePath" + , PROGRM_KOREAN_NM AS "progrmKoreanNm" + , PROGRM_DC AS "progrmDc" + , URL AS "URL" + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = #{progrmFileNm} + + </select> + + <insert id="insertProgrm_S"> + + INSERT INTO COMTNPROGRMLIST + ( PROGRM_FILE_NM + , PROGRM_STRE_PATH + , PROGRM_KOREAN_NM + , PROGRM_DC + , URL ) + VALUES ( #{progrmFileNm} + , #{progrmStrePath} + , #{progrmKoreanNm} + , #{progrmDc} + , #{URL} ) + + </insert> + + <update id="updateProgrm_S"> + + UPDATE COMTNPROGRMLIST + SET PROGRM_STRE_PATH=#{progrmStrePath} + , PROGRM_KOREAN_NM=#{progrmKoreanNm} + , PROGRM_DC =#{progrmDc} + , URL =#{URL} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + + </update> + + <delete id="deleteProgrm_S"> + + DELETE FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM=#{progrmFileNm} + + </delete> + + <delete id="deleteAllProgrm"> + + DELETE FROM COMTNPROGRMLIST + + </delete> + + <!-- 메뉴정보 총건수 조회 --> + <select id="selectProgrmListTotCnt" parameterType="egovframework.com.sym.prm.service.ProgrmManageVO" resultType="int"> + + SELECT COUNT(PROGRM_FILE_NM) AS "totcnt" FROM COMTNPROGRMLIST + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_tibero.xml (revision 7) @@ -0,0 +1,200 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="progrmManageDAO"> + + <!-- 프로그램 변경요청 --> + <resultMap id="progrmManageDtlVO" type="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + <result property="progrmFileNm" column="PROGRM_FILE_NM"/> + <result property="rqesterNo" column="REQUST_NO"/> + <result property="rqesterPersonId" column="RQESTER_ID"/> + <result property="changerqesterCn" column="CHANGE_REQUST_CN"/> + <result property="rqesterProcessCn" column="REQUST_PROCESS_CN"/> + <result property="opetrId" column="OPETR_ID"/> + <result property="processSttus" column="PROCESS_STTUS_CODE"/> + <result property="processDe" column="PROCESS_DE"/> + <result property="rqesterDe" column="RQESTDE"/> + <result property="rqesterSj" column="REQUST_SJ"/> + </resultMap> + + <!-- 프로그램 변경요청 TMP --> + <resultMap id="progrmManageDtl_Temp" type="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + <result property="rqesterNo" column="REQUST_NO"/> + </resultMap> + + <select id="selectProgrmChangeRequstList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , REQUST_NO AS "rqesterNo" + , RQESTER_ID AS "rqesterPersonId" + , dbms_lob.substr(CHANGE_REQUST_CN, 10, 1)||'...' AS "changerqesterCn" + , dbms_lob.substr(REQUST_PROCESS_CN, 10, 1)||'...' AS "rqesterProcessCn" + , OPETR_ID AS "opetrId" + , trim(PROCESS_STTUS_CODE) AS "processSttus" + , PROCESS_DE AS "processDe" + , RQESTDE AS "rqesterDe" + , REQUST_SJ AS "rqesterSj" + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM like '%'|| #{searchKeyword}||'%' + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 --> + <select id="selectProgrmChangeRequstListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS "totcnt" + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM like '%'|| #{searchKeyword}||'%' + + </select> + + <select id="selectProgrmChangeRequstNo_D" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + select nvl(max(REQUST_NO),0)+1 AS "rqesterNo" + from COMTHPROGRMCHANGEDTLS + + </select> + + <select id="selectProgrmChangeRequst_D" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , REQUST_NO AS "rqesterNo" + , RQESTER_ID AS "rqesterPersonId" + , CHANGE_REQUST_CN AS "changerqesterCn" + , REQUST_PROCESS_CN AS "rqesterProcessCn" + , OPETR_ID AS "opetrId" + , trim(PROCESS_STTUS_CODE) AS "processSttus" + , PROCESS_DE AS "processDe" + , RQESTDE AS "rqesterDe" + , REQUST_SJ AS "rqesterSj" + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </select> + + <insert id="insertProgrmChangeRequst_S"> + + INSERT INTO COMTHPROGRMCHANGEDTLS + ( PROGRM_FILE_NM + , REQUST_NO + , RQESTER_ID + , CHANGE_REQUST_CN + , RQESTDE + , REQUST_SJ + ,PROCESS_STTUS_CODE) + VALUES ( #{progrmFileNm} + , #{rqesterNo} + , #{rqesterPersonId} + , #{changerqesterCn} + , #{rqesterDe} + , #{rqesterSj} + , 'A') + + </insert> + + <update id="updateProgrmChangeRequst_S"> + + UPDATE COMTHPROGRMCHANGEDTLS + SET RQESTER_ID = #{rqesterPersonId} + , CHANGE_REQUST_CN = #{changerqesterCn} + , RQESTDE = #{rqesterDe} + , REQUST_SJ = #{rqesterSj} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </update> + + <delete id="deleteProgrmChangeRequst_S"> + + DELETE FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </delete> + + <update id="updateProgrmChangeRequstProcess_S"> + + UPDATE COMTHPROGRMCHANGEDTLS + SET REQUST_PROCESS_CN = #{rqesterProcessCn} + , OPETR_ID = #{opetrId} + , PROCESS_STTUS_CODE = #{processSttus} + , PROCESS_DE = #{processDe} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </update> + + <select id="selectChangeRequstProcessList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , REQUST_NO AS "rqesterNo" + , RQESTER_ID AS "rqesterPersonId" + , dbms_lob.substr(CHANGE_REQUST_CN, 10, 1)||'...' AS "changerqesterCn" + , dbms_lob.substr(REQUST_PROCESS_CN, 10, 1)||'...' AS "rqesterProcessCn" + , OPETR_ID AS "opetrId" + , trim(PROCESS_STTUS_CODE) AS "processSttus" + , PROCESS_DE AS "processDe" + , RQESTDE AS "rqesterDe" + , REQUST_SJ AS "rqesterSj" + FROM COMTHPROGRMCHANGEDTLS + WHERE 1=1 + + <if test="searchCondition == 1">AND + PROCESS_STTUS_CODE like #{searchKeyword} + </if> + <if test="searchCondition == 2">AND + PROCESS_STTUS_CODE = #{searchKeyword} + </if> + <if test="searchCondition == 3">AND + RQESTDE between #{searchKeywordFrom} and #{searchKeywordTo} + </if> + <if test="searchCondition == 4">AND + RQESTER_ID like '%'||#{searchKeyword}||'%' + </if> + ORDER BY REQUST_NO ASC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 binary(PROCESS_DE) >= #{searchKeywordFrom} and binary(PROCESS_DE) =< #{searchKeywordTo} --> + <select id="selectChangeRequstProcessListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(REQUST_NO) AS "totcnt" + FROM COMTHPROGRMCHANGEDTLS + WHERE 1=1 + + <if test="searchCondition == 1">AND + PROCESS_STTUS_CODE like #{searchKeyword} + </if> + <if test="searchCondition == 2">AND + PROCESS_STTUS_CODE = #{searchKeyword} + </if> + <if test="searchCondition == 3">AND + RQESTDE between #{searchKeywordFrom} and #{searchKeywordTo} + </if> + <if test="searchCondition == 4">AND + RQESTER_ID like '%'||#{searchKeyword}||'%' + </if> + </select> + + <delete id="deleteAllProgrmDtls"> + + DELETE FROM COMTHPROGRMCHANGEDTLS + + </delete> + + <select id="selectRqesterEmail" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + select user_email AS tmpEmail from COMVNUSERMASTER + where ESNTL_ID = #{rqesterPersonId} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_altibase.xml (revision 7) @@ -0,0 +1,118 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="progrmManageDAO"> + + <!-- 프로그램목록 관리 --> + <resultMap id="progrmManage" type="egovframework.com.sym.prm.service.ProgrmManageVO"> + <result property="progrmFileNm" column="progrmFileNm"/> + <result property="progrmStrePath" column="progrmStrePath"/> + <result property="progrmKoreanNm" column="progrmKoreanNm"/> + <result property="progrmDc" column="progrmDc"/> + <result property="URL" column="URL"/> + </resultMap> + + <select id="selectProgrmList_D" parameterType="comDefaultVO" resultMap="progrmManage"> + + SELECT PROGRM_FILE_NM AS "progrmFileNm" + , PROGRM_STRE_PATH AS "progrmStrePath" + , PROGRM_KOREAN_NM AS "progrmKoreanNm" + , PROGRM_DC AS "progrmDc" + , URL AS "URL" + FROM ( SELECT rownum rn, + TB.PROGRM_FILE_NM + , TB.PROGRM_STRE_PATH + , TB.PROGRM_KOREAN_NM + , TB.PROGRM_DC + , TB.URL + FROM ( + SELECT + PROGRM_FILE_NM + , PROGRM_STRE_PATH + , PROGRM_KOREAN_NM + , PROGRM_DC + , URL + FROM COMTNPROGRMLIST + WHERE PROGRM_KOREAN_NM like '%'|| #{searchKeyword}||'%' + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 --> + <select id="selectProgrmListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS "totcnt" + FROM COMTNPROGRMLIST + WHERE PROGRM_KOREAN_NM like '%'|| #{searchKeyword}||'%' + + </select> + + <!-- 파일명존재여부 조회 --> + <select id="selectProgrmNMTotCnt" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS "totcnt" + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = #{searchKeyword} + + </select> + + <select id="selectProgrm_D" resultMap="progrmManage"> + + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , PROGRM_STRE_PATH AS "progrmStrePath" + , PROGRM_KOREAN_NM AS "progrmKoreanNm" + , PROGRM_DC AS "progrmDc" + , URL AS "URL" + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = #{progrmFileNm} + + </select> + + <insert id="insertProgrm_S" parameterType="egovframework.com.sym.prm.service.ProgrmManageVO"> + + INSERT INTO COMTNPROGRMLIST + ( PROGRM_FILE_NM + , PROGRM_STRE_PATH + , PROGRM_KOREAN_NM + , PROGRM_DC + , URL ) + VALUES ( #{progrmFileNm} + , #{progrmStrePath} + , #{progrmKoreanNm} + , #{progrmDc} + , #{URL} ) + + </insert> + + <update id="updateProgrm_S" parameterType="egovframework.com.sym.prm.service.ProgrmManageVO"> + + UPDATE COMTNPROGRMLIST + SET PROGRM_STRE_PATH =#{progrmStrePath} + , PROGRM_KOREAN_NM=#{progrmKoreanNm} + , PROGRM_DC =#{progrmDc} + , URL =#{URL} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + + </update> + + <delete id="deleteProgrm_S"> + + DELETE FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM=#{progrmFileNm} + + </delete> + + <delete id="deleteAllProgrm"> + + DELETE FROM COMTNPROGRMLIST + + </delete> + + <!-- 메뉴정보 총건수 조회 --> + <select id="selectProgrmListTotCnt" parameterType="egovframework.com.sym.prm.service.ProgrmManageVO" resultType="int"> + + SELECT COUNT(PROGRM_FILE_NM) AS "totcnt" FROM COMTNPROGRMLIST + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_maria.xml (revision 7) @@ -0,0 +1,197 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="progrmManageDAO"> + + <!-- 프로그램 변경요청 --> + <resultMap id="progrmManageDtlVO" type="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + <result property="progrmFileNm" column="PROGRM_FILE_NM"/> + <result property="rqesterNo" column="REQUST_NO"/> + <result property="rqesterPersonId" column="RQESTER_ID"/> + <result property="changerqesterCn" column="CHANGE_REQUST_CN"/> + <result property="rqesterProcessCn" column="REQUST_PROCESS_CN"/> + <result property="opetrId" column="OPETR_ID"/> + <result property="processSttus" column="PROCESS_STTUS_CODE"/> + <result property="processDe" column="PROCESS_DE"/> + <result property="rqesterDe" column="RQESTDE"/> + <result property="rqesterSj" column="REQUST_SJ"/> + </resultMap> + + <!-- 프로그램 변경요청 TMP --> + <resultMap id="progrmManageDtl_Temp" type="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + <result property="rqesterNo" column="REQUST_NO"/> + </resultMap> + + <select id="selectProgrmChangeRequstList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + PROGRM_FILE_NM AS progrmFileNm + , REQUST_NO AS rqesterNo + , RQESTER_ID AS rqesterPersonId + , CHANGE_REQUST_CN AS changerqesterCn + , REQUST_PROCESS_CN AS rqesterProcessCn + , OPETR_ID AS opetrId + , PROCESS_STTUS_CODE AS processSttus + , PROCESS_DE AS processDe + , RQESTDE AS rqesterDe + , REQUST_SJ AS rqesterSj + FROM COMTHPROGRMCHANGEDTLS + WHERE binary(PROGRM_FILE_NM) like CONCAT('%', #{searchKeyword}, '%') + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <!-- 총건수 조회 --> + <select id="selectProgrmChangeRequstListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM COMTHPROGRMCHANGEDTLS + WHERE binary(PROGRM_FILE_NM) like CONCAT('%', #{searchKeyword}, '%') + + </select> + + <select id="selectProgrmChangeRequstNo_D" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultMap="progrmManageDtl_Temp"> + + select IFNULL(max(REQUST_NO),0)+1 AS REQUST_NO + from COMTHPROGRMCHANGEDTLS + + </select> + + <select id="selectProgrmChangeRequst_D" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + SELECT + PROGRM_FILE_NM AS progrmFileNm + , REQUST_NO AS rqesterNo + , RQESTER_ID AS rqesterPersonId + , CHANGE_REQUST_CN AS changerqesterCn + , REQUST_PROCESS_CN AS rqesterProcessCn + , OPETR_ID AS opetrId + , PROCESS_STTUS_CODE AS processSttus + , PROCESS_DE AS processDe + , RQESTDE AS rqesterDe + , REQUST_SJ AS rqesterSj + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </select> + + <insert id="insertProgrmChangeRequst_S"> + + INSERT INTO COMTHPROGRMCHANGEDTLS + ( PROGRM_FILE_NM + , REQUST_NO + , RQESTER_ID + , CHANGE_REQUST_CN + , RQESTDE + , REQUST_SJ + ,PROCESS_STTUS_CODE) + VALUES ( #{progrmFileNm} + , #{rqesterNo} + , #{rqesterPersonId} + , #{changerqesterCn} + , #{rqesterDe} + , #{rqesterSj} + , 'A') + + </insert> + + <update id="updateProgrmChangeRequst_S"> + + UPDATE COMTHPROGRMCHANGEDTLS + SET RQESTER_ID = #{rqesterPersonId} + , CHANGE_REQUST_CN = #{changerqesterCn} + , RQESTDE = #{rqesterDe} + , REQUST_SJ = #{rqesterSj} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </update> + + <delete id="deleteProgrmChangeRequst_S"> + + DELETE FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </delete> + + <update id="updateProgrmChangeRequstProcess_S"> + + UPDATE COMTHPROGRMCHANGEDTLS + SET REQUST_PROCESS_CN = #{rqesterProcessCn} + , OPETR_ID = #{opetrId} + , PROCESS_STTUS_CODE = #{processSttus} + , PROCESS_DE = #{processDe} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </update> + + <select id="selectChangeRequstProcessList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + PROGRM_FILE_NM AS progrmFileNm + , REQUST_NO AS rqesterNo + , RQESTER_ID AS rqesterPersonId + , CHANGE_REQUST_CN AS changerqesterCn + , REQUST_PROCESS_CN AS rqesterProcessCn + , OPETR_ID AS opetrId + , PROCESS_STTUS_CODE AS processSttus + , PROCESS_DE AS processDe + , RQESTDE AS rqesterDe + , REQUST_SJ AS rqesterSj + FROM COMTHPROGRMCHANGEDTLS + WHERE 1=1 + + <if test="searchCondition == 1">AND + binary(PROCESS_STTUS_CODE) like #{searchKeyword} + </if> + <if test="searchCondition == 2">AND + binary(PROCESS_STTUS_CODE) = #{searchKeyword} + </if> + <if test="searchCondition == 3">AND + RQESTDE between #{searchKeywordFrom} and #{searchKeywordTo} + </if> + <if test="searchCondition == 4">AND + binary(RQESTER_ID) like CONCAT('%', #{searchKeyword}, '%') + </if> + ORDER BY REQUST_NO ASC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <!-- 총건수 조회 binary(PROCESS_DE) >= #{searchKeywordFrom} and binary(PROCESS_DE) =< #{searchKeywordTo} --> + <select id="selectChangeRequstProcessListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM COMTHPROGRMCHANGEDTLS + WHERE 1=1 + + <if test="searchCondition == 1">AND + binary(PROCESS_STTUS_CODE) like #{searchKeyword} + </if> + <if test="searchCondition == 2">AND + binary(PROCESS_STTUS_CODE) = #{searchKeyword} + </if> + <if test="searchCondition == 3">AND + RQESTDE between #{searchKeywordFrom} and #{searchKeywordTo} + </if> + <if test="searchCondition == 4">AND + binary(RQESTER_ID) like CONCAT('%', #{searchKeyword}, '%') + </if> + </select> + + <delete id="deleteAllProgrmDtls"> + + DELETE FROM COMTHPROGRMCHANGEDTLS + + </delete> + + <select id="selectRqesterEmail" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultMap="progrmManageDtlVO"> + + select user_email AS tmpEmail from COMVNUSERMASTER + where ESNTL_ID = #{rqesterPersonId} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_postgres.xml (revision 7) @@ -0,0 +1,197 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="progrmManageDAO"> + + <!-- 프로그램 변경요청 --> + <resultMap id="progrmManageDtlVO" type="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + <result property="progrmFileNm" column="PROGRM_FILE_NM"/> + <result property="rqesterNo" column="REQUST_NO"/> + <result property="rqesterPersonId" column="RQESTER_ID"/> + <result property="changerqesterCn" column="CHANGE_REQUST_CN"/> + <result property="rqesterProcessCn" column="REQUST_PROCESS_CN"/> + <result property="opetrId" column="OPETR_ID"/> + <result property="processSttus" column="PROCESS_STTUS_CODE"/> + <result property="processDe" column="PROCESS_DE"/> + <result property="rqesterDe" column="RQESTDE"/> + <result property="rqesterSj" column="REQUST_SJ"/> + </resultMap> + + <!-- 프로그램 변경요청 TMP --> + <resultMap id="progrmManageDtl_Temp" type="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + <result property="rqesterNo" column="REQUST_NO"/> + </resultMap> + + <select id="selectProgrmChangeRequstList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , REQUST_NO AS "rqesterNo" + , RQESTER_ID AS "rqesterPersonId" + , CHANGE_REQUST_CN AS "changerqesterCn" + , REQUST_PROCESS_CN AS "rqesterProcessCn" + , OPETR_ID AS "opetrId" + , PROCESS_STTUS_CODE AS "processSttus" + , PROCESS_DE AS "processDe" + , RQESTDE AS "rqesterDe" + , REQUST_SJ AS "rqesterSj" + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM like CONCAT('%', #{searchKeyword}, '%') + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <!-- 총건수 조회 --> + <select id="selectProgrmChangeRequstListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM like CONCAT('%', #{searchKeyword}, '%') + + </select> + + <select id="selectProgrmChangeRequstNo_D" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultMap="progrmManageDtl_Temp"> + + select COALESCE(max(REQUST_NO),0)+1 AS rqesterNo + from COMTHPROGRMCHANGEDTLS + + </select> + + <select id="selectProgrmChangeRequst_D" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + SELECT + PROGRM_FILE_NM AS progrmFileNm + , REQUST_NO AS rqesterNo + , RQESTER_ID AS rqesterPersonId + , CHANGE_REQUST_CN AS changerqesterCn + , REQUST_PROCESS_CN AS rqesterProcessCn + , OPETR_ID AS opetrId + , PROCESS_STTUS_CODE AS processSttus + , PROCESS_DE AS processDe + , RQESTDE AS rqesterDe + , REQUST_SJ AS rqesterSj + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </select> + + <insert id="insertProgrmChangeRequst_S"> + + INSERT INTO COMTHPROGRMCHANGEDTLS + ( PROGRM_FILE_NM + , REQUST_NO + , RQESTER_ID + , CHANGE_REQUST_CN + , RQESTDE + , REQUST_SJ + ,PROCESS_STTUS_CODE) + VALUES ( #{progrmFileNm} + , #{rqesterNo} + , #{rqesterPersonId} + , #{changerqesterCn} + , #{rqesterDe} + , #{rqesterSj} + , 'A') + + </insert> + + <update id="updateProgrmChangeRequst_S"> + + UPDATE COMTHPROGRMCHANGEDTLS + SET RQESTER_ID = #{rqesterPersonId} + , CHANGE_REQUST_CN = #{changerqesterCn} + , RQESTDE = #{rqesterDe} + , REQUST_SJ = #{rqesterSj} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </update> + + <delete id="deleteProgrmChangeRequst_S"> + + DELETE FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </delete> + + <update id="updateProgrmChangeRequstProcess_S"> + + UPDATE COMTHPROGRMCHANGEDTLS + SET REQUST_PROCESS_CN = #{rqesterProcessCn} + , OPETR_ID = #{opetrId} + , PROCESS_STTUS_CODE = #{processSttus} + , PROCESS_DE = #{processDe} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </update> + + <select id="selectChangeRequstProcessList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , REQUST_NO AS "rqesterNo" + , RQESTER_ID AS "rqesterPersonId" + , CHANGE_REQUST_CN AS "changerqesterCn" + , REQUST_PROCESS_CN AS "rqesterProcessCn" + , OPETR_ID AS "opetrId" + , PROCESS_STTUS_CODE AS "processSttus" + , PROCESS_DE AS "processDe" + , RQESTDE AS "rqesterDe" + , REQUST_SJ AS "rqesterSj" + FROM COMTHPROGRMCHANGEDTLS + WHERE 1=1 + + <if test="searchCondition == 1">AND + PROCESS_STTUS_CODE like #{searchKeyword} + </if> + <if test="searchCondition == 2">AND + PROCESS_STTUS_CODE = #{searchKeyword} + </if> + <if test="searchCondition == 3">AND + RQESTDE between #{searchKeywordFrom} and #{searchKeywordTo} + </if> + <if test="searchCondition == 4">AND + RQESTER_ID like CONCAT('%', #{searchKeyword}, '%') + </if> + ORDER BY REQUST_NO ASC + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <!-- 총건수 조회 PROCESS_DE >= #{searchKeywordFrom} and PROCESS_DE =< #{searchKeywordTo} --> + <select id="selectChangeRequstProcessListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM COMTHPROGRMCHANGEDTLS + WHERE 1=1 + + <if test="searchCondition == 1">AND + PROCESS_STTUS_CODE like #{searchKeyword} + </if> + <if test="searchCondition == 2">AND + PROCESS_STTUS_CODE = #{searchKeyword} + </if> + <if test="searchCondition == 3">AND + RQESTDE between #{searchKeywordFrom} and #{searchKeywordTo} + </if> + <if test="searchCondition == 4">AND + RQESTER_ID like CONCAT('%', #{searchKeyword}, '%') + </if> + </select> + + <delete id="deleteAllProgrmDtls"> + + DELETE FROM COMTHPROGRMCHANGEDTLS + + </delete> + + <select id="selectRqesterEmail" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultMap="progrmManageDtlVO"> + + select user_email AS tmpEmail from COMVNUSERMASTER + where ESNTL_ID = #{rqesterPersonId} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_tibero.xml (revision 7) @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="progrmManageDAO"> + + <!-- 프로그램목록 관리 --> + <resultMap id="progrmManage" type="egovframework.com.sym.prm.service.ProgrmManageVO"> + <result property="progrmFileNm" column="progrmFileNm"/> + <result property="progrmStrePath" column="progrmStrePath"/> + <result property="progrmKoreanNm" column="progrmKoreanNm"/> + <result property="progrmDc" column="progrmDc"/> + <result property="URL" column="URL"/> + </resultMap> + + <select id="selectProgrmList_D" parameterType="comDefaultVO" resultMap="progrmManage"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , PROGRM_STRE_PATH AS "progrmStrePath" + , PROGRM_KOREAN_NM AS "progrmKoreanNm" + , PROGRM_DC AS "progrmDc" + , URL AS "URL" + FROM COMTNPROGRMLIST + WHERE PROGRM_KOREAN_NM like '%'|| #{searchKeyword}||'%' + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 --> + <select id="selectProgrmListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS "totcnt" + FROM COMTNPROGRMLIST + WHERE PROGRM_KOREAN_NM like '%'|| #{searchKeyword}||'%' + + </select> + + <!-- 파일명존재여부 조회 --> + <select id="selectProgrmNMTotCnt" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS "totcnt" + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = #{searchKeyword} + + </select> + + <select id="selectProgrm_D" resultType="egovframework.com.sym.prm.service.ProgrmManageVO"> + + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , PROGRM_STRE_PATH AS "progrmStrePath" + , PROGRM_KOREAN_NM AS "progrmKoreanNm" + , PROGRM_DC AS "progrmDc" + , URL AS "URL" + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = #{progrmFileNm} + + </select> + + <insert id="insertProgrm_S"> + + INSERT INTO COMTNPROGRMLIST + ( PROGRM_FILE_NM + , PROGRM_STRE_PATH + , PROGRM_KOREAN_NM + , PROGRM_DC + , URL ) + VALUES ( #{progrmFileNm} + , #{progrmStrePath} + , #{progrmKoreanNm} + , #{progrmDc} + , #{URL} ) + + </insert> + + <update id="updateProgrm_S"> + + UPDATE COMTNPROGRMLIST + SET PROGRM_STRE_PATH=#{progrmStrePath} + , PROGRM_KOREAN_NM=#{progrmKoreanNm} + , PROGRM_DC =#{progrmDc} + , URL =#{URL} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + + </update> + + <delete id="deleteProgrm_S"> + + DELETE FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM=#{progrmFileNm} + + </delete> + + <delete id="deleteAllProgrm"> + + DELETE FROM COMTNPROGRMLIST + + </delete> + + <!-- 메뉴정보 총건수 조회 --> + <select id="selectProgrmListTotCnt" parameterType="egovframework.com.sym.prm.service.ProgrmManageVO" resultType="int"> + + SELECT COUNT(PROGRM_FILE_NM) AS "totcnt" FROM COMTNPROGRMLIST + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_cubrid.xml (revision 7) @@ -0,0 +1,200 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="progrmManageDAO"> + + <!-- 프로그램 변경요청 --> + <resultMap id="progrmManageDtlVO" type="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + <result property="progrmFileNm" column="PROGRM_FILE_NM"/> + <result property="rqesterNo" column="REQUST_NO"/> + <result property="rqesterPersonId" column="RQESTER_ID"/> + <result property="changerqesterCn" column="CHANGE_REQUST_CN"/> + <result property="rqesterProcessCn" column="REQUST_PROCESS_CN"/> + <result property="opetrId" column="OPETR_ID"/> + <result property="processSttus" column="PROCESS_STTUS_CODE"/> + <result property="processDe" column="PROCESS_DE"/> + <result property="rqesterDe" column="RQESTDE"/> + <result property="rqesterSj" column="REQUST_SJ"/> + </resultMap> + + <!-- 프로그램 변경요청 TMP --> + <resultMap id="progrmManageDtl_Temp" type="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + <result property="rqesterNo" column="REQUST_NO"/> + </resultMap> + + <select id="selectProgrmChangeRequstList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , REQUST_NO AS "rqesterNo" + , RQESTER_ID AS "rqesterPersonId" + , substr(CHANGE_REQUST_CN, 1, 18)||'...' AS "changerqesterCn" + , substr(REQUST_PROCESS_CN, 1, 18)||'...' AS "rqesterProcessCn" + , OPETR_ID AS "opetrId" + , trim(PROCESS_STTUS_CODE) AS "processSttus" + , PROCESS_DE AS "processDe" + , RQESTDE AS "rqesterDe" + , REQUST_SJ AS "rqesterSj" + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM like '%'|| #{searchKeyword}||'%' + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 --> + <select id="selectProgrmChangeRequstListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS "totcnt" + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM like '%'|| #{searchKeyword}||'%' + + </select> + + <select id="selectProgrmChangeRequstNo_D" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + select nvl(max(REQUST_NO),0)+1 AS "rqesterNo" + from COMTHPROGRMCHANGEDTLS + + </select> + + <select id="selectProgrmChangeRequst_D" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , REQUST_NO AS "rqesterNo" + , RQESTER_ID AS "rqesterPersonId" + , CHANGE_REQUST_CN AS "changerqesterCn" + , REQUST_PROCESS_CN AS "rqesterProcessCn" + , OPETR_ID AS "opetrId" + , trim(PROCESS_STTUS_CODE) AS "processSttus" + , PROCESS_DE AS "processDe" + , RQESTDE AS "rqesterDe" + , REQUST_SJ AS "rqesterSj" + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </select> + + <insert id="insertProgrmChangeRequst_S"> + + INSERT INTO COMTHPROGRMCHANGEDTLS + ( PROGRM_FILE_NM + , REQUST_NO + , RQESTER_ID + , CHANGE_REQUST_CN + , RQESTDE + , REQUST_SJ + ,PROCESS_STTUS_CODE) + VALUES ( #{progrmFileNm} + , #{rqesterNo} + , #{rqesterPersonId} + , #{changerqesterCn} + , #{rqesterDe} + , #{rqesterSj} + , 'A') + + </insert> + + <update id="updateProgrmChangeRequst_S"> + + UPDATE COMTHPROGRMCHANGEDTLS + SET RQESTER_ID = #{rqesterPersonId} + , CHANGE_REQUST_CN = #{changerqesterCn} + , RQESTDE = #{rqesterDe} + , REQUST_SJ = #{rqesterSj} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </update> + + <delete id="deleteProgrmChangeRequst_S"> + + DELETE FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </delete> + + <update id="updateProgrmChangeRequstProcess_S"> + + UPDATE COMTHPROGRMCHANGEDTLS + SET REQUST_PROCESS_CN = #{rqesterProcessCn} + , OPETR_ID = #{opetrId} + , PROCESS_STTUS_CODE = #{processSttus} + , PROCESS_DE = #{processDe} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </update> + + <select id="selectChangeRequstProcessList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , REQUST_NO AS "rqesterNo" + , RQESTER_ID AS "rqesterPersonId" + , substr(CHANGE_REQUST_CN, 1, 18)||'...' AS "changerqesterCn" + , substr(REQUST_PROCESS_CN, 1, 18)||'...' AS "rqesterProcessCn" + , OPETR_ID AS "opetrId" + , trim(PROCESS_STTUS_CODE) AS "processSttus" + , PROCESS_DE AS "processDe" + , RQESTDE AS "rqesterDe" + , REQUST_SJ AS "rqesterSj" + FROM COMTHPROGRMCHANGEDTLS + WHERE 1=1 + + <if test="searchCondition == 1">AND + PROCESS_STTUS_CODE like #{searchKeyword} + </if> + <if test="searchCondition == 2">AND + PROCESS_STTUS_CODE = #{searchKeyword} + </if> + <if test="searchCondition == 3">AND + RQESTDE between #{searchKeywordFrom} and #{searchKeywordTo} + </if> + <if test="searchCondition == 4">AND + RQESTER_ID like '%'||#{searchKeyword}||'%' + </if> + ORDER BY REQUST_NO ASC + ) TB ) Z WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 binary(PROCESS_DE) >= #{searchKeywordFrom} and binary(PROCESS_DE) =< #{searchKeywordTo} --> + <select id="selectChangeRequstProcessListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(REQUST_NO) AS "totcnt" + FROM COMTHPROGRMCHANGEDTLS + WHERE 1=1 + + <if test="searchCondition == 1">AND + PROCESS_STTUS_CODE like #{searchKeyword} + </if> + <if test="searchCondition == 2">AND + PROCESS_STTUS_CODE = #{searchKeyword} + </if> + <if test="searchCondition == 3">AND + RQESTDE between #{searchKeywordFrom} and #{searchKeywordTo} + </if> + <if test="searchCondition == 4">AND + RQESTER_ID like '%'||#{searchKeyword}||'%' + </if> + </select> + + <delete id="deleteAllProgrmDtls"> + + DELETE FROM COMTHPROGRMCHANGEDTLS + + </delete> + + <select id="selectRqesterEmail" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + select user_email AS tmpEmail from COMVNUSERMASTER + where ESNTL_ID = #{rqesterPersonId} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_oracle.xml (revision 7) @@ -0,0 +1,200 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="progrmManageDAO"> + + <!-- 프로그램 변경요청 --> + <resultMap id="progrmManageDtlVO" type="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + <result property="progrmFileNm" column="PROGRM_FILE_NM"/> + <result property="rqesterNo" column="REQUST_NO"/> + <result property="rqesterPersonId" column="RQESTER_ID"/> + <result property="changerqesterCn" column="CHANGE_REQUST_CN"/> + <result property="rqesterProcessCn" column="REQUST_PROCESS_CN"/> + <result property="opetrId" column="OPETR_ID"/> + <result property="processSttus" column="PROCESS_STTUS_CODE"/> + <result property="processDe" column="PROCESS_DE"/> + <result property="rqesterDe" column="RQESTDE"/> + <result property="rqesterSj" column="REQUST_SJ"/> + </resultMap> + + <!-- 프로그램 변경요청 TMP --> + <resultMap id="progrmManageDtl_Temp" type="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + <result property="rqesterNo" column="REQUST_NO"/> + </resultMap> + + <select id="selectProgrmChangeRequstList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , REQUST_NO AS "rqesterNo" + , RQESTER_ID AS "rqesterPersonId" + , dbms_lob.substr(CHANGE_REQUST_CN, 10, 1)||'...' AS "changerqesterCn" + , dbms_lob.substr(REQUST_PROCESS_CN, 10, 1)||'...' AS "rqesterProcessCn" + , OPETR_ID AS "opetrId" + , trim(PROCESS_STTUS_CODE) AS "processSttus" + , PROCESS_DE AS "processDe" + , RQESTDE AS "rqesterDe" + , REQUST_SJ AS "rqesterSj" + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM like '%'|| #{searchKeyword}||'%' + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 --> + <select id="selectProgrmChangeRequstListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS "totcnt" + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM like '%'|| #{searchKeyword}||'%' + + </select> + + <select id="selectProgrmChangeRequstNo_D" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + select nvl(max(REQUST_NO),0)+1 AS "rqesterNo" + from COMTHPROGRMCHANGEDTLS + + </select> + + <select id="selectProgrmChangeRequst_D" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , REQUST_NO AS "rqesterNo" + , RQESTER_ID AS "rqesterPersonId" + , CHANGE_REQUST_CN AS "changerqesterCn" + , REQUST_PROCESS_CN AS "rqesterProcessCn" + , OPETR_ID AS "opetrId" + , trim(PROCESS_STTUS_CODE) AS "processSttus" + , PROCESS_DE AS "processDe" + , RQESTDE AS "rqesterDe" + , REQUST_SJ AS "rqesterSj" + FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </select> + + <insert id="insertProgrmChangeRequst_S"> + + INSERT INTO COMTHPROGRMCHANGEDTLS + ( PROGRM_FILE_NM + , REQUST_NO + , RQESTER_ID + , CHANGE_REQUST_CN + , RQESTDE + , REQUST_SJ + ,PROCESS_STTUS_CODE) + VALUES ( #{progrmFileNm} + , #{rqesterNo} + , #{rqesterPersonId} + , #{changerqesterCn} + , #{rqesterDe} + , #{rqesterSj} + , 'A') + + </insert> + + <update id="updateProgrmChangeRequst_S"> + + UPDATE COMTHPROGRMCHANGEDTLS + SET RQESTER_ID = #{rqesterPersonId} + , CHANGE_REQUST_CN = #{changerqesterCn} + , RQESTDE = #{rqesterDe} + , REQUST_SJ = #{rqesterSj} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </update> + + <delete id="deleteProgrmChangeRequst_S"> + + DELETE FROM COMTHPROGRMCHANGEDTLS + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </delete> + + <update id="updateProgrmChangeRequstProcess_S"> + + UPDATE COMTHPROGRMCHANGEDTLS + SET REQUST_PROCESS_CN = #{rqesterProcessCn} + , OPETR_ID = #{opetrId} + , PROCESS_STTUS_CODE = #{processSttus} + , PROCESS_DE = #{processDe} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + AND REQUST_NO =#{rqesterNo} + + </update> + + <select id="selectChangeRequstProcessList_D" parameterType="comDefaultVO" resultType="egovMap"> + + SELECT * FROM ( SELECT rownum rn, TB.* FROM ( + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , REQUST_NO AS "rqesterNo" + , RQESTER_ID AS "rqesterPersonId" + , dbms_lob.substr(CHANGE_REQUST_CN, 10, 1)||'...' AS "changerqesterCn" + , dbms_lob.substr(REQUST_PROCESS_CN, 10, 1)||'...' AS "rqesterProcessCn" + , OPETR_ID AS "opetrId" + , trim(PROCESS_STTUS_CODE) AS "processSttus" + , PROCESS_DE AS "processDe" + , RQESTDE AS "rqesterDe" + , REQUST_SJ AS "rqesterSj" + FROM COMTHPROGRMCHANGEDTLS + WHERE 1=1 + + <if test="searchCondition == 1">AND + PROCESS_STTUS_CODE like #{searchKeyword} + </if> + <if test="searchCondition == 2">AND + PROCESS_STTUS_CODE = #{searchKeyword} + </if> + <if test="searchCondition == 3">AND + RQESTDE between #{searchKeywordFrom} and #{searchKeywordTo} + </if> + <if test="searchCondition == 4">AND + RQESTER_ID like '%'||#{searchKeyword}||'%' + </if> + ORDER BY REQUST_NO ASC + ) TB ) WHERE rn BETWEEN #{firstIndex} + 1 AND #{firstIndex} + #{recordCountPerPage} + + </select> + + <!-- 총건수 조회 binary(PROCESS_DE) >= #{searchKeywordFrom} and binary(PROCESS_DE) =< #{searchKeywordTo} --> + <select id="selectChangeRequstProcessListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(REQUST_NO) AS "totcnt" + FROM COMTHPROGRMCHANGEDTLS + WHERE 1=1 + + <if test="searchCondition == 1">AND + PROCESS_STTUS_CODE like #{searchKeyword} + </if> + <if test="searchCondition == 2">AND + PROCESS_STTUS_CODE = #{searchKeyword} + </if> + <if test="searchCondition == 3">AND + RQESTDE between #{searchKeywordFrom} and #{searchKeywordTo} + </if> + <if test="searchCondition == 4">AND + RQESTER_ID like '%'||#{searchKeyword}||'%' + </if> + </select> + + <delete id="deleteAllProgrmDtls"> + + DELETE FROM COMTHPROGRMCHANGEDTLS + + </delete> + + <select id="selectRqesterEmail" parameterType="egovframework.com.sym.prm.service.ProgrmManageDtlVO" resultType="egovframework.com.sym.prm.service.ProgrmManageDtlVO"> + + select user_email AS tmpEmail from COMVNUSERMASTER + where ESNTL_ID = #{rqesterPersonId} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManageDtl_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_mysql.xml (revision 7) @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="progrmManageDAO"> + + <!-- 프로그램목록 관리 --> + <resultMap id="progrmManage" type="egovframework.com.sym.prm.service.ProgrmManageVO"> + <result property="progrmFileNm" column="progrmFileNm"/> + <result property="progrmStrePath" column="progrmStrePath"/> + <result property="progrmKoreanNm" column="progrmKoreanNm"/> + <result property="progrmDc" column="progrmDc"/> + <result property="URL" column="URL"/> + </resultMap> + + <select id="selectProgrmList_D" parameterType="comDefaultVO" resultMap="progrmManage"> + + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , PROGRM_STRE_PATH AS "progrmStrePath" + , PROGRM_KOREAN_NM AS "progrmKoreanNm" + , PROGRM_DC AS "progrmDc" + , URL AS "URL" + FROM COMTNPROGRMLIST + WHERE binary(PROGRM_KOREAN_NM) like CONCAT('%', #{searchKeyword}, '%') + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <!-- 총건수 조회 --> + <select id="selectProgrmListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM COMTNPROGRMLIST + WHERE binary(PROGRM_KOREAN_NM) like CONCAT('%', #{searchKeyword}, '%') + + </select> + + <!-- 파일명존재여부 조회 --> + <select id="selectProgrmNMTotCnt" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = #{searchKeyword} + + </select> + + <select id="selectProgrm_D" resultType="egovframework.com.sym.prm.service.ProgrmManageVO"> + + SELECT + PROGRM_FILE_NM AS progrmFileNm + , PROGRM_STRE_PATH AS progrmStrePath + , PROGRM_KOREAN_NM AS progrmKoreanNm + , PROGRM_DC AS progrmDc + , URL AS URL + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = #{progrmFileNm} + + </select> + + <insert id="insertProgrm_S"> + + INSERT INTO COMTNPROGRMLIST + ( PROGRM_FILE_NM + , PROGRM_STRE_PATH + , PROGRM_KOREAN_NM + , PROGRM_DC + , URL ) + VALUES ( #{progrmFileNm} + , #{progrmStrePath} + , #{progrmKoreanNm} + , #{progrmDc} + , #{URL} ) + + </insert> + + <update id="updateProgrm_S"> + + UPDATE COMTNPROGRMLIST + SET PROGRM_STRE_PATH=#{progrmStrePath} + , PROGRM_KOREAN_NM=#{progrmKoreanNm} + , PROGRM_DC =#{progrmDc} + , URL =#{URL} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + + </update> + + <delete id="deleteProgrm_S"> + + DELETE FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM=#{progrmFileNm} + + </delete> + + <delete id="progrmManageDAO.deleteAllProgrm"> + + DELETE FROM COMTNPROGRMLIST + + </delete> + + <!-- 메뉴정보 총건수 조회 --> + <select id="selectProgrmListTotCnt" parameterType="egovframework.com.sym.prm.service.ProgrmManageVO" resultType="int"> + + SELECT COUNT(*) AS totcnt FROM COMTNPROGRMLIST + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_postgres.xml (revision 7) @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="progrmManageDAO"> + + <!-- 프로그램목록 관리 --> + <resultMap id="progrmManage" type="egovframework.com.sym.prm.service.ProgrmManageVO"> + <result property="progrmFileNm" column="progrmFileNm"/> + <result property="progrmStrePath" column="progrmStrePath"/> + <result property="progrmKoreanNm" column="progrmKoreanNm"/> + <result property="progrmDc" column="progrmDc"/> + <result property="URL" column="URL"/> + </resultMap> + + <select id="selectProgrmList_D" parameterType="comDefaultVO" resultMap="progrmManage"> + + SELECT + PROGRM_FILE_NM AS "progrmFileNm" + , PROGRM_STRE_PATH AS "progrmStrePath" + , PROGRM_KOREAN_NM AS "progrmKoreanNm" + , PROGRM_DC AS "progrmDc" + , URL AS "URL" + FROM COMTNPROGRMLIST + WHERE PROGRM_KOREAN_NM like CONCAT('%', #{searchKeyword}, '%') + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + + </select> + + <!-- 총건수 조회 --> + <select id="selectProgrmListTotCnt_S" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM COMTNPROGRMLIST + WHERE PROGRM_KOREAN_NM like CONCAT('%', #{searchKeyword}, '%') + + </select> + + <!-- 파일명존재여부 조회 --> + <select id="selectProgrmNMTotCnt" parameterType="comDefaultVO" resultType="int"> + + SELECT COUNT(*) AS totcnt + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = #{searchKeyword} + + </select> + + <select id="selectProgrm_D" resultType="egovframework.com.sym.prm.service.ProgrmManageVO"> + + SELECT + PROGRM_FILE_NM AS progrmFileNm + , PROGRM_STRE_PATH AS progrmStrePath + , PROGRM_KOREAN_NM AS progrmKoreanNm + , PROGRM_DC AS progrmDc + , URL AS URL + FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM = #{progrmFileNm} + + </select> + + <insert id="insertProgrm_S"> + + INSERT INTO COMTNPROGRMLIST + ( PROGRM_FILE_NM + , PROGRM_STRE_PATH + , PROGRM_KOREAN_NM + , PROGRM_DC + , URL ) + VALUES ( #{progrmFileNm} + , #{progrmStrePath} + , #{progrmKoreanNm} + , #{progrmDc} + , #{URL} ) + + </insert> + + <update id="updateProgrm_S"> + + UPDATE COMTNPROGRMLIST + SET PROGRM_STRE_PATH=#{progrmStrePath} + , PROGRM_KOREAN_NM=#{progrmKoreanNm} + , PROGRM_DC =#{progrmDc} + , URL =#{URL} + WHERE PROGRM_FILE_NM=#{progrmFileNm} + + </update> + + <delete id="deleteProgrm_S"> + + DELETE FROM COMTNPROGRMLIST + WHERE PROGRM_FILE_NM=#{progrmFileNm} + + </delete> + + <delete id="progrmManageDAO.deleteAllProgrm"> + + DELETE FROM COMTNPROGRMLIST + + </delete> + + <!-- 메뉴정보 총건수 조회 --> + <select id="selectProgrmListTotCnt" parameterType="egovframework.com.sym.prm.service.ProgrmManageVO" resultType="int"> + + SELECT COUNT(*) AS totcnt FROM COMTNPROGRMLIST + + </select> +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/prm/EgovProgrmManage_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_cubrid.xml (revision 7) @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:35 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnCodeManage"> + + <select id="selectCmmnCodeList" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO"> + + <![CDATA[ + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + /* 구현 Sql */ + SELECT B.CL_CODE_NM + , A.CODE_ID + , A.CODE_ID_NM + , A.USE_AT + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + + ]]> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'1')"> <![CDATA[ AND + A.CODE_ID LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'2')"> <![CDATA[ AND + A.CODE_ID_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 'clCode'"> <![CDATA[ AND + A.CL_CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 'clCode'"> <![CDATA[ AND + A.USE_AT = 'Y' ]]> + </if> + + /* 구현 Sql */ + <![CDATA[ + ) ALL_LIST + ) Z + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + + </select> + + <select id="selectCmmnCodeListTotCnt" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CODE_ID LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CODE_ID_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + </select> + + <select id="selectCmmnCodeDetail" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO"> + + <![CDATA[ + SELECT B.CL_CODE_NM clCodeNm + , A.CL_CODE clCode + , A.CODE_ID codeId + , A.CODE_ID_NM codeIdNm + , A.CODE_ID_DC codeIdDc + , A.USE_AT useAt + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + AND A.CODE_ID = #{codeId} + ]]> + + </select> + + <insert id="insertCmmnCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNCODE + ( CODE_ID + , CODE_ID_NM + , CODE_ID_DC + , CL_CODE + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{codeId} + , #{codeIdNm} + , #{codeIdDc} + , #{clCode} + , #{useAt} + , SYSDATETIME + , #{frstRegisterId} + , SYSDATETIME + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnCode"> + + <![CDATA[ + UPDATE COMTCCMMNCODE + SET CODE_ID_NM = #{codeIdNm} + , CODE_ID_DC = #{codeIdDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = SYSDATETIME + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CODE_ID = #{codeId} + ]]> + + </update> + + <delete id="deleteCmmnCode"> + + <![CDATA[ + UPDATE COMTCCMMNCODE + SET USE_AT = 'N' + WHERE CODE_ID = #{codeId} + ]]> + + </delete> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_mysql.xml (revision 7) @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:35 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnCodeManage"> + + <select id="selectCmmnCodeList" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO"> + <![CDATA[ + SELECT B.CL_CODE_NM + , A.CODE_ID + , A.CODE_ID_NM + , A.USE_AT + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + ]]> + + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'1')"> <![CDATA[ AND + A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'2')"> <![CDATA[ AND + A.CODE_ID_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 'clCode'"> <![CDATA[ AND + A.CL_CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 'clCode'"> <![CDATA[ AND + A.USE_AT = 'Y' ]]> + </if> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <select id="selectCmmnCodeListTotCnt" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="int"> + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CODE_ID_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + + </select> + + <select id="selectCmmnCodeDetail" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO"> + <![CDATA[ + SELECT B.CL_CODE_NM clCodeNm + , A.CL_CODE clCode + , A.CODE_ID codeId + , A.CODE_ID_NM codeIdNm + , A.CODE_ID_DC codeIdDc + , A.USE_AT useAt + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + AND A.CODE_ID = #{codeId} + ]]> + + </select> + + <insert id="insertCmmnCode"> + <![CDATA[ + INSERT + INTO COMTCCMMNCODE + ( CODE_ID + , CODE_ID_NM + , CODE_ID_DC + , CL_CODE + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{codeId} + , #{codeIdNm} + , #{codeIdDc} + , #{clCode} + , #{useAt} + , sysdate() + , #{frstRegisterId} + , sysdate() + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnCode"> + <![CDATA[ + UPDATE COMTCCMMNCODE + SET CODE_ID_NM = #{codeIdNm} + , CODE_ID_DC = #{codeIdDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = sysdate() + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CODE_ID = #{codeId} + ]]> + + </update> + + <delete id="deleteCmmnCode"> + <![CDATA[ + UPDATE COMTCCMMNCODE + SET USE_AT = 'N' + WHERE CODE_ID = #{codeId} + ]]> + + </delete> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_oracle.xml (revision 7) @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:35 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnCodeManage"> + + <select id="selectCmmnCodeList" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO"> + + <![CDATA[ + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + /* 구현 Sql */ + SELECT B.CL_CODE_NM + , A.CODE_ID + , A.CODE_ID_NM + , A.USE_AT + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + ]]> + + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'1')"> <![CDATA[ AND + A.CODE_ID LIKE '%' || #{searchKeyword} || '%']]> + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'2')"> <![CDATA[ AND + A.CODE_ID_NM LIKE '%' || #{searchKeyword} || '%']]> + </if> + <if test="searchCondition == 'clCode'"> <![CDATA[ AND + A.CL_CODE LIKE '%' || #{searchKeyword} || '%']]> + </if> + <if test="searchCondition == 'clCode'"> <![CDATA[AND + A.USE_AT = 'Y']]> + </if> + + /* 구현 Sql */ + <![CDATA[ + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + + </select> + + <select id="selectCmmnCodeListTotCnt" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CODE_ID LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CODE_ID_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + </select> + + <select id="selectCmmnCodeDetail" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO"> + + <![CDATA[ + SELECT B.CL_CODE_NM clCodeNm + , A.CL_CODE clCode + , A.CODE_ID codeId + , A.CODE_ID_NM codeIdNm + , A.CODE_ID_DC codeIdDc + , A.USE_AT useAt + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + AND A.CODE_ID = #{codeId} + ]]> + + </select> + + <insert id="insertCmmnCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNCODE + ( CODE_ID + , CODE_ID_NM + , CODE_ID_DC + , CL_CODE + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{codeId} + , #{codeIdNm} + , #{codeIdDc} + , #{clCode} + , #{useAt} + , sysdate + , #{frstRegisterId} + , sysdate + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnCode"> + + <![CDATA[ + UPDATE COMTCCMMNCODE + SET CODE_ID_NM = #{codeIdNm} + , CODE_ID_DC = #{codeIdDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = sysdate + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CODE_ID = #{codeId} + ]]> + </update> + + <delete id="deleteCmmnCode"> + + <![CDATA[ + UPDATE COMTCCMMNCODE + SET USE_AT = 'N' + WHERE CODE_ID = #{codeId} + ]]> + </delete> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_altibase.xml (revision 7) @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:35 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnCodeManage"> + + <select id="selectCmmnCodeList" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO"> + <![CDATA[ + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + /* 구현 Sql */ + SELECT B.CL_CODE_NM + , A.CODE_ID + , A.CODE_ID_NM + , A.USE_AT + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + ]]> + + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'1')"> <![CDATA[ AND + A.CODE_ID LIKE '%' || #{searchKeyword} || '%' ]]> + + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'2')"> <![CDATA[ AND + A.CODE_ID_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 'clCode'"> <![CDATA[ AND + A.CL_CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 'clCode'"> <![CDATA[AND + A.USE_AT = 'Y' ]]> + </if> + + /* 구현 Sql */ + <![CDATA[ + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} ]]> + + + </select> + + <select id="selectCmmnCodeListTotCnt" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CODE_ID LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CODE_ID_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + </select> + + <select id="selectCmmnCodeDetail" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO"> + + <![CDATA[ + SELECT B.CL_CODE_NM clCodeNm + , A.CL_CODE clCode + , A.CODE_ID codeId + , A.CODE_ID_NM codeIdNm + , A.CODE_ID_DC codeIdDc + , A.USE_AT useAt + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + AND A.CODE_ID = #{codeId} + ]]> + + </select> + + <insert id="insertCmmnCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNCODE + ( CODE_ID + , CODE_ID_NM + , CODE_ID_DC + , CL_CODE + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{codeId} + , #{codeIdNm} + , #{codeIdDc} + , #{clCode} + , #{useAt} + , sysdate + , #{frstRegisterId} + , sysdate + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnCode"> + + <![CDATA[ + UPDATE COMTCCMMNCODE + SET CODE_ID_NM = #{codeIdNm} + , CODE_ID_DC = #{codeIdDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = sysdate + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CODE_ID = #{codeId} + ]]> + + </update> + + <delete id="deleteCmmnCode"> + + <![CDATA[ + UPDATE COMTCCMMNCODE + SET USE_AT = 'N' + WHERE CODE_ID = #{codeId} + ]]> + + </delete> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_maria.xml (revision 7) @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:35 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnCodeManage"> + + <select id="selectCmmnCodeList" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO"> + <![CDATA[ + SELECT B.CL_CODE_NM + , A.CODE_ID + , A.CODE_ID_NM + , A.USE_AT + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + ]]> + + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'1')"> <![CDATA[ AND + A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'2')"> <![CDATA[ AND + A.CODE_ID_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 'clCode'"> <![CDATA[ AND + A.CL_CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 'clCode'"> <![CDATA[ AND + A.USE_AT = 'Y' ]]> + </if> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <select id="selectCmmnCodeListTotCnt" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="int"> + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CODE_ID_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + + </select> + + <select id="selectCmmnCodeDetail" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO"> + <![CDATA[ + SELECT B.CL_CODE_NM clCodeNm + , A.CL_CODE clCode + , A.CODE_ID codeId + , A.CODE_ID_NM codeIdNm + , A.CODE_ID_DC codeIdDc + , A.USE_AT useAt + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + AND A.CODE_ID = #{codeId} + ]]> + + </select> + + <insert id="insertCmmnCode"> + <![CDATA[ + INSERT + INTO COMTCCMMNCODE + ( CODE_ID + , CODE_ID_NM + , CODE_ID_DC + , CL_CODE + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{codeId} + , #{codeIdNm} + , #{codeIdDc} + , #{clCode} + , #{useAt} + , sysdate() + , #{frstRegisterId} + , sysdate() + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnCode"> + <![CDATA[ + UPDATE COMTCCMMNCODE + SET CODE_ID_NM = #{codeIdNm} + , CODE_ID_DC = #{codeIdDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = sysdate() + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CODE_ID = #{codeId} + ]]> + + </update> + + <delete id="deleteCmmnCode"> + <![CDATA[ + UPDATE COMTCCMMNCODE + SET USE_AT = 'N' + WHERE CODE_ID = #{codeId} + ]]> + + </delete> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_tibero.xml (revision 7) @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:35 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnCodeManage"> + + <select id="selectCmmnCodeList" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO"> + + <![CDATA[ + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + /* 구현 Sql */ + SELECT B.CL_CODE_NM + , A.CODE_ID + , A.CODE_ID_NM + , A.USE_AT + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + ]]> + + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'1')"> <![CDATA[ AND + A.CODE_ID LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'2')"> <![CDATA[AND + A.CODE_ID_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 'clCode'"> <![CDATA[ AND + A.CL_CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 'clCode'"> <![CDATA[AND + A.USE_AT = 'Y' ]]> + </if> + + /* 구현 Sql */ + <![CDATA[ + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <select id="selectCmmnCodeListTotCnt" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CODE_ID LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CODE_ID_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + </select> + + <select id="selectCmmnCodeDetail" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO"> + + <![CDATA[ + SELECT B.CL_CODE_NM clCodeNm + , A.CL_CODE clCode + , A.CODE_ID codeId + , A.CODE_ID_NM codeIdNm + , A.CODE_ID_DC codeIdDc + , A.USE_AT useAt + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + AND A.CODE_ID = #{codeId} + ]]> + + </select> + + <insert id="insertCmmnCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNCODE + ( CODE_ID + , CODE_ID_NM + , CODE_ID_DC + , CL_CODE + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{codeId} + , #{codeIdNm} + , #{codeIdDc} + , #{clCode} + , #{useAt} + , sysdate + , #{frstRegisterId} + , sysdate + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnCode"> + + <![CDATA[ + UPDATE COMTCCMMNCODE + SET CODE_ID_NM = #{codeIdNm} + , CODE_ID_DC = #{codeIdDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = sysdate + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CODE_ID = #{codeId} + ]]> + + </update> + + <delete id="deleteCmmnCode"> + + <![CDATA[ + UPDATE COMTCCMMNCODE + SET USE_AT = 'N' + WHERE CODE_ID = #{codeId} + ]]> + + </delete> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_postgres.xml (revision 7) @@ -0,0 +1,121 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:35 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnCodeManage"> + + <select id="selectCmmnCodeList" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO"> + <![CDATA[ + SELECT B.CL_CODE_NM + , A.CODE_ID + , A.CODE_ID_NM + , A.USE_AT + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + ]]> + + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'1')"> <![CDATA[ AND + A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(searchCondition,'2')"> <![CDATA[ AND + A.CODE_ID_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 'clCode'"> <![CDATA[ AND + A.CL_CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 'clCode'"> <![CDATA[ AND + A.USE_AT = 'Y' ]]> + </if> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <select id="selectCmmnCodeListTotCnt" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="int"> + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CODE_ID_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + + </select> + + <select id="selectCmmnCodeDetail" parameterType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO" resultType="egovframework.com.sym.ccm.cca.service.CmmnCodeVO"> + <![CDATA[ + SELECT B.CL_CODE_NM clCodeNm + , A.CL_CODE clCode + , A.CODE_ID codeId + , A.CODE_ID_NM codeIdNm + , A.CODE_ID_DC codeIdDc + , A.USE_AT useAt + FROM COMTCCMMNCODE A + , COMTCCMMNCLCODE B + WHERE A.CL_CODE = B.CL_CODE + AND A.CODE_ID = #{codeId} + ]]> + + </select> + + <insert id="insertCmmnCode"> + <![CDATA[ + INSERT + INTO COMTCCMMNCODE + ( CODE_ID + , CODE_ID_NM + , CODE_ID_DC + , CL_CODE + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{codeId} + , #{codeIdNm} + , #{codeIdDc} + , #{clCode} + , #{useAt} + , NOW() + , #{frstRegisterId} + , NOW() + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnCode"> + <![CDATA[ + UPDATE COMTCCMMNCODE + SET CODE_ID_NM = #{codeIdNm} + , CODE_ID_DC = #{codeIdDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = NOW() + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CODE_ID = #{codeId} + ]]> + + </update> + + <delete id="deleteCmmnCode"> + <![CDATA[ + UPDATE COMTCCMMNCODE + SET USE_AT = 'N' + WHERE CODE_ID = #{codeId} + ]]> + + </delete> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cca/EgovCmmnCodeManage_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_postgres.xml (revision 7) @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:36 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnClCodeManage"> + + <select id="selectCmmnClCodeList" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO"> + + <![CDATA[ + SELECT CL_CODE + , CL_CODE_NM + , USE_AT + FROM COMTCCMMNCLCODE + WHERE 1 = 1 + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CL_CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CL_CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + USE_AT = 'Y' ]]> + </if> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <select id="selectCmmnClCodeListTotCnt" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNCLCODE + WHERE 1 = 1 + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CL_CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CL_CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + </select> + + <select id="selectCmmnClCodeDetail" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO"> + + <![CDATA[ + SELECT CL_CODE clCode + , CL_CODE_NM clCodeNm + , CL_CODE_DC clCodeDc + , USE_AT useAt + FROM COMTCCMMNCLCODE + WHERE CL_CODE = #{clCode} + ]]> + + </select> + + <insert id="insertCmmnClCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNCLCODE + ( CL_CODE + , CL_CODE_NM + , CL_CODE_DC + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{clCode} + , #{clCodeNm} + , #{clCodeDc} + , #{useAt} + , NOW() + , #{frstRegisterId} + , NOW() + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnClCode"> + + <![CDATA[ + UPDATE COMTCCMMNCLCODE + SET CL_CODE_NM = #{clCodeNm} + , CL_CODE_DC = #{clCodeDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = NOW() + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CL_CODE = #{clCode} + ]]> + + </update> + + <delete id="deleteCmmnClCode" > + + <![CDATA[ + UPDATE COMTCCMMNCLCODE + SET USE_AT = 'N' + WHERE CL_CODE = #{clCode} + ]]> + + </delete> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_cubrid.xml (revision 7) @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:36 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnClCodeManage"> + + <select id="selectCmmnClCodeList" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="egovframework.com.sym.ccm.ccc.service.CmmnClCode"> + + <![CDATA[ + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + /* 구현 Sql */ + SELECT CL_CODE + , CL_CODE_NM + , USE_AT + FROM COMTCCMMNCLCODE + WHERE 1 = 1 + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CL_CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CL_CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + USE_AT = 'Y' ]]> + </if> + + <![CDATA[ + /* 구현 Sql */ + ) ALL_LIST + ) Z + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <select id="selectCmmnClCodeListTotCnt" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNCLCODE + WHERE 1 = 1 + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CL_CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CL_CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + </select> + + <select id="selectCmmnClCodeDetail" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="egovframework.com.sym.ccm.ccc.service.CmmnClCode"> + + <![CDATA[ + SELECT CL_CODE clCode + , CL_CODE_NM clCodeNm + , CL_CODE_DC clCodeDc + , USE_AT useAt + FROM COMTCCMMNCLCODE + WHERE CL_CODE = #{clCode} + ]]> + + </select> + + <insert id="insertCmmnClCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNCLCODE + ( CL_CODE + , CL_CODE_NM + , CL_CODE_DC + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{clCode} + , #{clCodeNm} + , #{clCodeDc} + , #{useAt} + , SYSDATETIME + , #{frstRegisterId} + , SYSDATETIME + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnClCode"> + + <![CDATA[ + UPDATE COMTCCMMNCLCODE + SET CL_CODE_NM = #{clCodeNm} + , CL_CODE_DC = #{clCodeDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = SYSDATETIME + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CL_CODE = #{clCode} + ]]> + + </update> + + <delete id="deleteCmmnClCode"> + + <![CDATA[ + UPDATE COMTCCMMNCLCODE + SET USE_AT = 'N' + WHERE CL_CODE = #{clCode} + ]]> + </delete> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_oracle.xml (revision 7) @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:36 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnClCodeManage"> + + <select id="selectCmmnClCodeList" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO"> + + <![CDATA[ + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + /* 구현 Sql */ + SELECT CL_CODE + , CL_CODE_NM + , USE_AT + FROM COMTCCMMNCLCODE + WHERE 1 = 1 + ]]> + <if test="searchCondition == 1"> <![CDATA[ AND + CL_CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CL_CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + USE_AT = 'Y' ]]> + </if> + + /* 구현 Sql */ + <![CDATA[ + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <select id="selectCmmnClCodeListTotCnt" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNCLCODE + WHERE 1 = 1 + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CL_CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CL_CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + </select> + + <select id="selectCmmnClCodeDetail" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO"> + + <![CDATA[ + SELECT CL_CODE clCode + , CL_CODE_NM clCodeNm + , CL_CODE_DC clCodeDc + , USE_AT useAt + FROM COMTCCMMNCLCODE + WHERE CL_CODE = #{clCode} + ]]> + + </select> + + <insert id="insertCmmnClCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNCLCODE + ( CL_CODE + , CL_CODE_NM + , CL_CODE_DC + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{clCode} + , #{clCodeNm} + , #{clCodeDc} + , #{useAt} + , sysdate + , #{frstRegisterId} + , sysdate + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnClCode"> + + <![CDATA[ + UPDATE COMTCCMMNCLCODE + SET CL_CODE_NM = #{clCodeNm} + , CL_CODE_DC = #{clCodeDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = sysdate + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CL_CODE = #{clCode} + ]]> + + </update> + + <delete id="deleteCmmnClCode"> + + <![CDATA[ + UPDATE COMTCCMMNCLCODE + SET USE_AT = 'N' + WHERE CL_CODE = #{clCode} + ]]> + + </delete> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_mysql.xml (revision 7) @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:36 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnClCodeManage"> + + <select id="selectCmmnClCodeList" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO"> + + <![CDATA[ + SELECT CL_CODE + , CL_CODE_NM + , USE_AT + FROM COMTCCMMNCLCODE + WHERE 1 = 1 + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CL_CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CL_CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + USE_AT = 'Y' ]]> + </if> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <select id="selectCmmnClCodeListTotCnt" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNCLCODE + WHERE 1 = 1 + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CL_CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CL_CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + </select> + + <select id="selectCmmnClCodeDetail" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO"> + + <![CDATA[ + SELECT CL_CODE clCode + , CL_CODE_NM clCodeNm + , CL_CODE_DC clCodeDc + , USE_AT useAt + FROM COMTCCMMNCLCODE + WHERE CL_CODE = #{clCode} + ]]> + + </select> + + <insert id="insertCmmnClCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNCLCODE + ( CL_CODE + , CL_CODE_NM + , CL_CODE_DC + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{clCode} + , #{clCodeNm} + , #{clCodeDc} + , #{useAt} + , sysdate() + , #{frstRegisterId} + , sysdate() + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnClCode"> + + <![CDATA[ + UPDATE COMTCCMMNCLCODE + SET CL_CODE_NM = #{clCodeNm} + , CL_CODE_DC = #{clCodeDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = sysdate() + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CL_CODE = #{clCode} + ]]> + + </update> + + <delete id="deleteCmmnClCode" > + + <![CDATA[ + UPDATE COMTCCMMNCLCODE + SET USE_AT = 'N' + WHERE CL_CODE = #{clCode} + ]]> + + </delete> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_altibase.xml (revision 7) @@ -0,0 +1,127 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:35 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnClCodeManage"> + + <select id="selectCmmnClCodeList" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="egovframework.com.sym.ccm.ccc.service.CmmnClCode"> + + <![CDATA[ + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + /* 구현 Sql */ + SELECT CL_CODE + , CL_CODE_NM + , USE_AT + FROM COMTCCMMNCLCODE + WHERE 1 = 1 + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CL_CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CL_CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND ]]> + USE_AT = 'Y' + </if> + + <![CDATA[ + /* 구현 Sql */ + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <select id="selectCmmnClCodeListTotCnt" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNCLCODE + WHERE 1 = 1 + + ]]> + <if test="searchCondition == 1"> <![CDATA[ AND + CL_CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CL_CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + </select> + + <select id="selectCmmnClCodeDetail" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="egovframework.com.sym.ccm.ccc.service.CmmnClCode"> + + <![CDATA[ + SELECT CL_CODE clCode + , CL_CODE_NM clCodeNm + , CL_CODE_DC clCodeDc + , USE_AT useAt + FROM COMTCCMMNCLCODE + WHERE CL_CODE = #{clCode} + ]]> + + </select> + + <insert id="insertCmmnClCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNCLCODE + ( CL_CODE + , CL_CODE_NM + , CL_CODE_DC + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{clCode} + , #{clCodeNm} + , #{clCodeDc} + , #{useAt} + , sysdate + , #{frstRegisterId} + , sysdate + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnClCode"> + + <![CDATA[ + UPDATE COMTCCMMNCLCODE + SET CL_CODE_NM = #{clCodeNm} + , CL_CODE_DC = #{clCodeDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = sysdate + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CL_CODE = #{clCode} + ]]> + + </update> + + <delete id="deleteCmmnClCode"> + + <![CDATA[ + UPDATE COMTCCMMNCLCODE + SET USE_AT = 'N' + WHERE CL_CODE = #{clCode} + ]]> + + </delete> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_maria.xml (revision 7) @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:36 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnClCodeManage"> + + <select id="selectCmmnClCodeList" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO"> + + <![CDATA[ + SELECT CL_CODE + , CL_CODE_NM + , USE_AT + FROM COMTCCMMNCLCODE + WHERE 1 = 1 + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CL_CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CL_CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + USE_AT = 'Y' ]]> + </if> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <select id="selectCmmnClCodeListTotCnt" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNCLCODE + WHERE 1 = 1 + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CL_CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CL_CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + </select> + + <select id="selectCmmnClCodeDetail" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO"> + + <![CDATA[ + SELECT CL_CODE clCode + , CL_CODE_NM clCodeNm + , CL_CODE_DC clCodeDc + , USE_AT useAt + FROM COMTCCMMNCLCODE + WHERE CL_CODE = #{clCode} + ]]> + + </select> + + <insert id="insertCmmnClCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNCLCODE + ( CL_CODE + , CL_CODE_NM + , CL_CODE_DC + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{clCode} + , #{clCodeNm} + , #{clCodeDc} + , #{useAt} + , sysdate() + , #{frstRegisterId} + , sysdate() + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnClCode"> + + <![CDATA[ + UPDATE COMTCCMMNCLCODE + SET CL_CODE_NM = #{clCodeNm} + , CL_CODE_DC = #{clCodeDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = sysdate() + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CL_CODE = #{clCode} + ]]> + + </update> + + <delete id="deleteCmmnClCode" > + + <![CDATA[ + UPDATE COMTCCMMNCLCODE + SET USE_AT = 'N' + WHERE CL_CODE = #{clCode} + ]]> + + </delete> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_tibero.xml (revision 7) @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:36 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnClCodeManage"> + + <select id="selectCmmnClCodeList" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="egovframework.com.sym.ccm.ccc.service.CmmnClCode"> + + <![CDATA[ + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + /* 구현 Sql */ + SELECT CL_CODE + , CL_CODE_NM + , USE_AT + FROM COMTCCMMNCLCODE + WHERE 1 = 1 + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CL_CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CL_CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + USE_AT = 'Y' ]]> + </if> + + /* 구현 Sql */ + <![CDATA[ + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <select id="selectCmmnClCodeListTotCnt" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNCLCODE + WHERE 1 = 1 + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + CL_CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + CL_CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + </select> + + <select id="selectCmmnClCodeDetail" parameterType="egovframework.com.sym.ccm.ccc.service.CmmnClCodeVO" resultType="egovframework.com.sym.ccm.ccc.service.CmmnClCode"> + + <![CDATA[ + SELECT CL_CODE clCode + , CL_CODE_NM clCodeNm + , CL_CODE_DC clCodeDc + , USE_AT useAt + FROM COMTCCMMNCLCODE + WHERE CL_CODE = #{clCode} + ]]> + + </select> + + <insert id="insertCmmnClCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNCLCODE + ( CL_CODE + , CL_CODE_NM + , CL_CODE_DC + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{clCode} + , #{clCodeNm} + , #{clCodeDc} + , #{useAt} + , sysdate + , #{frstRegisterId} + , sysdate + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnClCode"> + + <![CDATA[ + UPDATE COMTCCMMNCLCODE + SET CL_CODE_NM = #{clCodeNm} + , CL_CODE_DC = #{clCodeDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = sysdate + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CL_CODE = #{clCode} + ]]> + + </update> + + + <delete id="deleteCmmnClCode"> + + <![CDATA[ + UPDATE COMTCCMMNCLCODE + SET USE_AT = 'N' + WHERE CL_CODE = #{clCode} + ]]> + + </delete> + + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/ccc/EgovCmmnClCodeManage_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_oracle.xml (revision 7) @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:37 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnDetailCodeManage"> + + <select id="selectCmmnDetailCodeList" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO"> + + <![CDATA[ + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + /* 구현 Sql */ + SELECT A.CODE_ID + , A.CODE + , A.CODE_NM + , A.USE_AT + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + A.CODE_ID LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + A.CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + A.CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + + <![CDATA[ + /* 구현 Sql */ + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <select id="selectCmmnDetailCodeListTotCnt" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + A.CODE_ID LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + A.CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + A.CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + </select> + + <select id="selectCmmnDetailCodeDetail" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO"> + + <![CDATA[ + SELECT A.CODE_ID codeId + , B.CODE_ID_NM codeIdNm + , A.CODE code + , A.CODE_NM codeNm + , A.CODE_DC codeDc + , A.USE_AT useAt + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + AND A.CODE_ID = #{codeId} + AND A.CODE = #{code} + ]]> + + </select> + + <insert id="insertCmmnDetailCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNDETAILCODE + ( CODE_ID + , CODE + , CODE_NM + , CODE_DC + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{codeId} + , #{code} + , #{codeNm} + , #{codeDc} + , #{useAt} + , sysdate + , #{frstRegisterId} + , sysdate + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnDetailCode"> + + <![CDATA[ + UPDATE COMTCCMMNDETAILCODE + SET CODE_NM = #{codeNm} + , CODE_DC = #{codeDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = sysdate + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CODE_ID = #{codeId} + AND CODE = #{code} + ]]> + + </update> + + <delete id="deleteCmmnDetailCode"> + + <![CDATA[ + UPDATE COMTCCMMNDETAILCODE + SET USE_AT = 'N' + WHERE CODE_ID = #{codeId} + AND CODE = #{code} + ]]> + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_mysql.xml (revision 7) @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:37 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnDetailCodeManage"> + + <select id="selectCmmnDetailCodeList" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO"> + + <![CDATA[ + SELECT A.CODE_ID + , A.CODE + , A.CODE_NM + , A.USE_AT + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + A.CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + A.CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <select id="selectCmmnDetailCodeListTotCnt" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + A.CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + A.CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + + </select> + + <select id="selectCmmnDetailCodeDetail" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO"> + + <![CDATA[ + SELECT A.CODE_ID codeId + , B.CODE_ID_NM codeIdNm + , A.CODE code + , A.CODE_NM codeNm + , A.CODE_DC codeDc + , A.USE_AT useAt + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + AND A.CODE_ID = #{codeId} + AND A.CODE = #{code} + ]]> + + </select> + + <insert id="insertCmmnDetailCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNDETAILCODE + ( CODE_ID + , CODE + , CODE_NM + , CODE_DC + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{codeId} + , #{code} + , #{codeNm} + , #{codeDc} + , #{useAt} + , sysdate() + , #{frstRegisterId} + , sysdate() + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnDetailCode"> + + <![CDATA[ + UPDATE COMTCCMMNDETAILCODE + SET CODE_NM = #{codeNm} + , CODE_DC = #{codeDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = sysdate() + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CODE_ID = #{codeId} + AND CODE = #{code} + ]]> + + </update> + + <delete id="deleteCmmnDetailCode"> + + <![CDATA[ + UPDATE COMTCCMMNDETAILCODE + SET USE_AT = 'N' + WHERE CODE_ID = #{codeId} + AND CODE = #{code} + ]]> + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_altibase.xml (revision 7) @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:36 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnDetailCodeManage"> + + <select id="selectCmmnDetailCodeList" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO"> + + <![CDATA[ + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + /* 구현 Sql */ + SELECT A.CODE_ID + , A.CODE + , A.CODE_NM + , A.USE_AT + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + + ]]> + <if test="searchCondition == 1"> <![CDATA[ AND + A.CODE_ID LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + A.CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + A.CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + + <![CDATA[ + /* 구현 Sql */ + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <select id="selectCmmnDetailCodeListTotCnt" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + A.CODE_ID LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + A.CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + A.CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + </select> + + <select id="selectCmmnDetailCodeDetail" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO"> + + <![CDATA[ + SELECT A.CODE_ID codeId + , B.CODE_ID_NM codeIdNm + , A.CODE code + , A.CODE_NM codeNm + , A.CODE_DC codeDc + , A.USE_AT useAt + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + AND A.CODE_ID = #{codeId} + AND A.CODE = #{code} + ]]> + + </select> + + <insert id="insertCmmnDetailCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNDETAILCODE + ( CODE_ID + , CODE + , CODE_NM + , CODE_DC + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{codeId} + , #{code} + , #{codeNm} + , #{codeDc} + , #{useAt} + , sysdate + , #{frstRegisterId} + , sysdate + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnDetailCode"> + + <![CDATA[ + UPDATE COMTCCMMNDETAILCODE + SET CODE_NM = #{codeNm} + , CODE_DC = #{codeDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = sysdate + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CODE_ID = #{codeId} + AND CODE = #{code} + ]]> + + </update> + + <delete id="deleteCmmnDetailCode"> + + <![CDATA[ + UPDATE COMTCCMMNDETAILCODE + SET USE_AT = 'N' + WHERE CODE_ID = #{codeId} + AND CODE = #{code} + ]]> + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_maria.xml (revision 7) @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:37 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnDetailCodeManage"> + + <select id="selectCmmnDetailCodeList" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO"> + + <![CDATA[ + SELECT A.CODE_ID + , A.CODE + , A.CODE_NM + , A.USE_AT + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + A.CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + A.CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <select id="selectCmmnDetailCodeListTotCnt" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + A.CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + A.CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + + </select> + + <select id="selectCmmnDetailCodeDetail" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO"> + + <![CDATA[ + SELECT A.CODE_ID codeId + , B.CODE_ID_NM codeIdNm + , A.CODE code + , A.CODE_NM codeNm + , A.CODE_DC codeDc + , A.USE_AT useAt + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + AND A.CODE_ID = #{codeId} + AND A.CODE = #{code} + ]]> + + </select> + + <insert id="insertCmmnDetailCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNDETAILCODE + ( CODE_ID + , CODE + , CODE_NM + , CODE_DC + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{codeId} + , #{code} + , #{codeNm} + , #{codeDc} + , #{useAt} + , sysdate() + , #{frstRegisterId} + , sysdate() + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnDetailCode"> + + <![CDATA[ + UPDATE COMTCCMMNDETAILCODE + SET CODE_NM = #{codeNm} + , CODE_DC = #{codeDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = sysdate() + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CODE_ID = #{codeId} + AND CODE = #{code} + ]]> + + </update> + + <delete id="deleteCmmnDetailCode"> + + <![CDATA[ + UPDATE COMTCCMMNDETAILCODE + SET USE_AT = 'N' + WHERE CODE_ID = #{codeId} + AND CODE = #{code} + ]]> + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_tibero.xml (revision 7) @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:37 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnDetailCodeManage"> + + <select id="selectCmmnDetailCodeList" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO"> + + <![CDATA[ + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + /* 구현 Sql */ + SELECT A.CODE_ID + , A.CODE + , A.CODE_NM + , A.USE_AT + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + A.CODE_ID LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + A.CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + A.CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + + <![CDATA[ + /* 구현 Sql */ + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <select id="selectCmmnDetailCodeListTotCnt" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + A.CODE_ID LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + A.CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + A.CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + </select> + + <select id="selectCmmnDetailCodeDetail" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO"> + + <![CDATA[ + SELECT A.CODE_ID codeId + , B.CODE_ID_NM codeIdNm + , A.CODE code + , A.CODE_NM codeNm + , A.CODE_DC codeDc + , A.USE_AT useAt + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + AND A.CODE_ID = #{codeId} + AND A.CODE = #{code} + ]]> + + </select> + + <insert id="insertCmmnDetailCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNDETAILCODE + ( CODE_ID + , CODE + , CODE_NM + , CODE_DC + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{codeId} + , #{code} + , #{codeNm} + , #{codeDc} + , #{useAt} + , sysdate + , #{frstRegisterId} + , sysdate + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnDetailCode"> + + <![CDATA[ + UPDATE COMTCCMMNDETAILCODE + SET CODE_NM = #{codeNm} + , CODE_DC = #{codeDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = sysdate + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CODE_ID = #{codeId} + AND CODE = #{code} + ]]> + + </update> + + <delete id="deleteCmmnDetailCode"> + + <![CDATA[ + UPDATE COMTCCMMNDETAILCODE + SET USE_AT = 'N' + WHERE CODE_ID = #{codeId} + AND CODE = #{code} + ]]> + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_postgres.xml (revision 7) @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:37 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnDetailCodeManage"> + + <select id="selectCmmnDetailCodeList" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO"> + + <![CDATA[ + SELECT A.CODE_ID + , A.CODE + , A.CODE_NM + , A.USE_AT + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + A.CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + A.CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <select id="selectCmmnDetailCodeListTotCnt" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + A.CODE_ID LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + A.CODE LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + A.CODE_NM LIKE CONCAT ('%', #{searchKeyword},'%') ]]> + </if> + + </select> + + <select id="selectCmmnDetailCodeDetail" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO"> + + <![CDATA[ + SELECT A.CODE_ID codeId + , B.CODE_ID_NM codeIdNm + , A.CODE code + , A.CODE_NM codeNm + , A.CODE_DC codeDc + , A.USE_AT useAt + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + AND A.CODE_ID = #{codeId} + AND A.CODE = #{code} + ]]> + + </select> + + <insert id="insertCmmnDetailCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNDETAILCODE + ( CODE_ID + , CODE + , CODE_NM + , CODE_DC + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{codeId} + , #{code} + , #{codeNm} + , #{codeDc} + , #{useAt} + , NOW() + , #{frstRegisterId} + , NOW() + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnDetailCode"> + + <![CDATA[ + UPDATE COMTCCMMNDETAILCODE + SET CODE_NM = #{codeNm} + , CODE_DC = #{codeDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = NOW() + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CODE_ID = #{codeId} + AND CODE = #{code} + ]]> + + </update> + + <delete id="deleteCmmnDetailCode"> + + <![CDATA[ + UPDATE COMTCCMMNDETAILCODE + SET USE_AT = 'N' + WHERE CODE_ID = #{codeId} + AND CODE = #{code} + ]]> + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_cubrid.xml (revision 7) @@ -0,0 +1,145 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + =========== ======== ================================================= + 2011.10.06 이기하 보안 취약점 점검사항 반영 $->#변경 +--><!--Converted at: Wed May 11 15:50:36 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="CmmnDetailCodeManage"> + + + <select id="selectCmmnDetailCodeList" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO"> + + <![CDATA[ + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + /* 구현 Sql */ + SELECT A.CODE_ID + , A.CODE + , A.CODE_NM + , A.USE_AT + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + A.CODE_ID LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + A.CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + A.CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + + <![CDATA[ + /* 구현 Sql */ + ) ALL_LIST + ) Z + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + + </select> + + <select id="selectCmmnDetailCodeListTotCnt" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="int"> + + <![CDATA[ + SELECT COUNT(*) totcnt + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + ]]> + + <if test="searchCondition == 1"> <![CDATA[ AND + A.CODE_ID LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 2"> <![CDATA[ AND + A.CODE LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + <if test="searchCondition == 3"> <![CDATA[ AND + A.CODE_NM LIKE '%' || #{searchKeyword} || '%' ]]> + </if> + </select> + + <select id="selectCmmnDetailCodeDetail" parameterType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO" resultType="egovframework.com.sym.ccm.cde.service.CmmnDetailCodeVO"> + + <![CDATA[ + SELECT A.CODE_ID codeId + , B.CODE_ID_NM codeIdNm + , A.CODE code + , A.CODE_NM codeNm + , A.CODE_DC codeDc + , A.USE_AT useAt + FROM COMTCCMMNDETAILCODE A + , COMTCCMMNCODE B + WHERE B.USE_AT = 'Y' + AND A.CODE_ID = B.CODE_ID + AND A.CODE_ID = #{codeId} + AND A.CODE = #{code} + ]]> + + </select> + + <insert id="insertCmmnDetailCode"> + + <![CDATA[ + INSERT + INTO COMTCCMMNDETAILCODE + ( CODE_ID + , CODE + , CODE_NM + , CODE_DC + , USE_AT + , FRST_REGIST_PNTTM + , FRST_REGISTER_ID + , LAST_UPDT_PNTTM + , LAST_UPDUSR_ID + ) + VALUES + ( #{codeId} + , #{code} + , #{codeNm} + , #{codeDc} + , #{useAt} + , SYSDATETIME + , #{frstRegisterId} + , SYSDATETIME + , #{frstRegisterId} + ) + ]]> + + </insert> + + <update id="updateCmmnDetailCode"> + + <![CDATA[ + UPDATE COMTCCMMNDETAILCODE + SET CODE_NM = #{codeNm} + , CODE_DC = #{codeDc} + , USE_AT = #{useAt} + , LAST_UPDT_PNTTM = SYSDATETIME + , LAST_UPDUSR_ID = #{lastUpdusrId} + WHERE CODE_ID = #{codeId} + AND CODE = #{code} + ]]> + + </update> + + <delete id="deleteCmmnDetailCode"> + + <![CDATA[ + UPDATE COMTCCMMNDETAILCODE + SET USE_AT = 'N' + WHERE CODE_ID = #{codeId} + AND CODE = #{code} + ]]> + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/sym/ccm/cde/EgovCmmnDetailCodeManage_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_postgres.xml (revision 7) @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:59 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="loginPolicyDAO"> + + <resultMap id="loginPolicy" type="egovframework.com.uat.uap.service.LoginPolicyVO"> + <result property="emplyrId" column="USER_ID"/> + <result property="emplyrNm" column="USER_NM"/> + <result property="emplyrSe" column="USER_SE"/> + <result property="ipInfo" column="IP_INFO"/> + <result property="dplctPermAt" column="DPLCT_PERM_AT"/> + <result property="lmttAt" column="LMTT_AT"/> + <result property="userId" column="LAST_UPDUSR_ID"/> + <result property="regDate" column="LAST_UPDT_PNTTM"/> + <result property="regYn" column="REG_YN"/> + </resultMap> + + <select id="selectLoginPolicyList" parameterType="egovframework.com.uat.uap.service.LoginPolicyVO" resultMap="loginPolicy"> + SELECT A.USER_ID, + A.USER_NM, + A.USER_SE, + B.IP_INFO, + B.DPLCT_PERM_AT, + B.LMTT_AT, + B.LAST_UPDUSR_ID, + B.LAST_UPDT_PNTTM, + CASE WHEN B.EMPLYR_ID IS NULL THEN 'N' ELSE 'Y' END AS REG_YN + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </if> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <select id="selectLoginPolicyListTotCnt" parameterType="egovframework.com.uat.uap.service.LoginPolicyVO" resultType="int"> + SELECT COUNT(*) AS totcnt + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </if> + </select> + + <select id="selectLoginPolicy" resultMap="loginPolicy"> + SELECT A.USER_ID, + A.USER_NM, + A.USER_SE, + B.IP_INFO, + B.DPLCT_PERM_AT, + CASE WHEN B.LMTT_AT IS NULL THEN 'N' ELSE B.LMTT_AT END AS LMTT_AT, + B.LAST_UPDUSR_ID, + B.LAST_UPDT_PNTTM, + CASE WHEN B.EMPLYR_ID IS NULL THEN 'N' ELSE 'Y' END AS REG_YN + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + AND A.USER_ID = #{emplyrId} + </select> + + <insert id="insertLoginPolicy" parameterType="egovframework.com.uat.uap.service.LoginPolicy"> + + INSERT INTO COMTNLOGINPOLICY + (EMPLYR_ID + ,IP_INFO + ,DPLCT_PERM_AT + ,LMTT_AT + ,FRST_REGISTER_ID + ,FRST_REGIST_PNTTM + ,LAST_UPDUSR_ID + ,LAST_UPDT_PNTTM) + VALUES (#{emplyrId} + ,#{ipInfo} + ,#{dplctPermAt} + ,#{lmttAt} + ,#{userId} + ,NOW() + ,#{userId} + ,NOW()) + + </insert> + + <update id="updateLoginPolicy" parameterType="egovframework.com.uat.uap.service.LoginPolicy"> + + UPDATE COMTNLOGINPOLICY + SET IP_INFO = #{ipInfo} + ,DPLCT_PERM_AT = #{dplctPermAt} + ,LMTT_AT = #{lmttAt} + ,LAST_UPDUSR_ID = #{userId} + ,LAST_UPDT_PNTTM = NOW() + WHERE EMPLYR_ID = #{emplyrId} + + </update> + + <delete id="deleteLoginPolicy"> + + DELETE FROM COMTNLOGINPOLICY + WHERE EMPLYR_ID = #{emplyrId} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_maria.xml (revision 7) @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:59 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="loginPolicyDAO"> + + <resultMap id="loginPolicy" type="egovframework.com.uat.uap.service.LoginPolicyVO"> + <result property="emplyrId" column="USER_ID"/> + <result property="emplyrNm" column="USER_NM"/> + <result property="emplyrSe" column="USER_SE"/> + <result property="ipInfo" column="IP_INFO"/> + <result property="dplctPermAt" column="DPLCT_PERM_AT"/> + <result property="lmttAt" column="LMTT_AT"/> + <result property="userId" column="LAST_UPDUSR_ID"/> + <result property="regDate" column="LAST_UPDT_PNTTM"/> + <result property="regYn" column="REG_YN"/> + </resultMap> + + <select id="selectLoginPolicyList" parameterType="egovframework.com.uat.uap.service.LoginPolicyVO" resultMap="loginPolicy"> + SELECT A.USER_ID, + A.USER_NM, + A.USER_SE, + B.IP_INFO, + B.DPLCT_PERM_AT, + B.LMTT_AT, + B.LAST_UPDUSR_ID, + B.LAST_UPDT_PNTTM, + IF(B.EMPLYR_ID IS NULL, 'N', 'Y') AS REG_YN + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </if> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <select id="selectLoginPolicyListTotCnt" parameterType="egovframework.com.uat.uap.service.LoginPolicyVO" resultType="int"> + SELECT COUNT(*) AS totcnt + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </if> + </select> + + <select id="selectLoginPolicy" resultMap="loginPolicy"> + SELECT A.USER_ID, + A.USER_NM, + A.USER_SE, + B.IP_INFO, + B.DPLCT_PERM_AT, + IF(B.LMTT_AT IS NULL, 'N', B.LMTT_AT) AS LMTT_AT, + B.LAST_UPDUSR_ID, + B.LAST_UPDT_PNTTM, + IF(B.EMPLYR_ID IS NULL, 'N', 'Y') AS REG_YN + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + AND A.USER_ID = #{emplyrId} + </select> + + <insert id="insertLoginPolicy" parameterType="egovframework.com.uat.uap.service.LoginPolicy"> + + INSERT INTO COMTNLOGINPOLICY + (EMPLYR_ID + ,IP_INFO + ,DPLCT_PERM_AT + ,LMTT_AT + ,FRST_REGISTER_ID + ,FRST_REGIST_PNTTM + ,LAST_UPDUSR_ID + ,LAST_UPDT_PNTTM) + VALUES (#{emplyrId} + ,#{ipInfo} + ,#{dplctPermAt} + ,#{lmttAt} + ,#{userId} + ,now() + ,#{userId} + ,now()) + + </insert> + + <update id="updateLoginPolicy" parameterType="egovframework.com.uat.uap.service.LoginPolicy"> + + UPDATE COMTNLOGINPOLICY + SET IP_INFO = #{ipInfo} + ,DPLCT_PERM_AT = #{dplctPermAt} + ,LMTT_AT = #{lmttAt} + ,LAST_UPDUSR_ID = #{userId} + ,LAST_UPDT_PNTTM = now() + WHERE EMPLYR_ID = #{emplyrId} + + </update> + + <delete id="deleteLoginPolicy"> + + DELETE FROM COMTNLOGINPOLICY + WHERE EMPLYR_ID = #{emplyrId} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_cubrid.xml (revision 7) @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:58 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="loginPolicyDAO"> + + <resultMap id="loginPolicy" type="egovframework.com.uat.uap.service.LoginPolicyVO"> + <result property="emplyrId" column="USER_ID"/> + <result property="emplyrNm" column="USER_NM"/> + <result property="emplyrSe" column="USER_SE"/> + <result property="ipInfo" column="IP_INFO"/> + <result property="dplctPermAt" column="DPLCT_PERM_AT"/> + <result property="lmttAt" column="LMTT_AT"/> + <result property="userId" column="LAST_UPDUSR_ID"/> + <result property="regDate" column="LAST_UPDT_PNTTM"/> + <result property="regYn" column="REG_YN"/> + </resultMap> + + <select id="selectLoginPolicyList" parameterType="egovframework.com.uat.uap.service.LoginPolicyVO" resultMap="loginPolicy"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + SELECT A.USER_ID, + A.USER_NM, + A.USER_SE, + B.IP_INFO, + B.DPLCT_PERM_AT, + B.LMTT_AT, + B.LAST_UPDUSR_ID, + B.LAST_UPDT_PNTTM, + DECODE(B.EMPLYR_ID, NULL, 'N', 'Y') AS REG_YN + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </if> + <![CDATA[ + ) ALL_LIST + ) Z + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectLoginPolicyListTotCnt" parameterType="egovframework.com.uat.uap.service.LoginPolicyVO" resultType="int"> + SELECT COUNT(*) AS totcnt + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </if> + </select> + + <select id="selectLoginPolicy" resultMap="loginPolicy"> + SELECT A.USER_ID, + A.USER_NM, + A.USER_SE, + B.IP_INFO, + B.DPLCT_PERM_AT, + NVL(B.LMTT_AT,'N') AS LMTT_AT, + B.LAST_UPDUSR_ID, + B.LAST_UPDT_PNTTM, + DECODE(B.EMPLYR_ID, NULL, 'N', 'Y') AS REG_YN + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + AND A.USER_ID = #{emplyrId} + </select> + + <insert id="insertLoginPolicy" parameterType="egovframework.com.uat.uap.service.LoginPolicy"> + + INSERT INTO COMTNLOGINPOLICY + (EMPLYR_ID + ,IP_INFO + ,DPLCT_PERM_AT + ,LMTT_AT + ,FRST_REGISTER_ID + ,FRST_REGIST_PNTTM + ,LAST_UPDUSR_ID + ,LAST_UPDT_PNTTM) + VALUES (#{emplyrId} + ,#{ipInfo} + ,#{dplctPermAt} + ,#{lmttAt} + ,#{userId} + ,SYSDATETIME + ,#{userId} + ,SYSDATETIME) + + </insert> + + <update id="updateLoginPolicy" parameterType="egovframework.com.uat.uap.service.LoginPolicy"> + + UPDATE COMTNLOGINPOLICY + SET IP_INFO = #{ipInfo} + ,DPLCT_PERM_AT = #{dplctPermAt} + ,LMTT_AT = #{lmttAt} + ,LAST_UPDUSR_ID = #{userId} + ,LAST_UPDT_PNTTM = SYSDATETIME + WHERE EMPLYR_ID = #{emplyrId} + + </update> + + <delete id="deleteLoginPolicy"> + + DELETE FROM COMTNLOGINPOLICY + WHERE EMPLYR_ID = #{emplyrId} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_oracle.xml (revision 7) @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:59 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="loginPolicyDAO"> + + <resultMap id="loginPolicy" type="egovframework.com.uat.uap.service.LoginPolicyVO"> + <result property="emplyrId" column="USER_ID"/> + <result property="emplyrNm" column="USER_NM"/> + <result property="emplyrSe" column="USER_SE"/> + <result property="ipInfo" column="IP_INFO"/> + <result property="dplctPermAt" column="DPLCT_PERM_AT"/> + <result property="lmttAt" column="LMTT_AT"/> + <result property="userId" column="LAST_UPDUSR_ID"/> + <result property="regDate" column="LAST_UPDT_PNTTM"/> + <result property="regYn" column="REG_YN"/> + </resultMap> + + <select id="selectLoginPolicyList" parameterType="egovframework.com.uat.uap.service.LoginPolicyVO" resultMap="loginPolicy"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + SELECT A.USER_ID, + A.USER_NM, + A.USER_SE, + B.IP_INFO, + B.DPLCT_PERM_AT, + B.LMTT_AT, + B.LAST_UPDUSR_ID, + B.LAST_UPDT_PNTTM, + DECODE(B.EMPLYR_ID, NULL, 'N', 'Y') AS REG_YN + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </if> + <![CDATA[ + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectLoginPolicyListTotCnt" parameterType="egovframework.com.uat.uap.service.LoginPolicyVO" resultType="int"> + SELECT COUNT(*) AS totcnt + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </if> + </select> + + <select id="selectLoginPolicy" resultMap="loginPolicy"> + SELECT A.USER_ID, + A.USER_NM, + A.USER_SE, + B.IP_INFO, + B.DPLCT_PERM_AT, + NVL(B.LMTT_AT,'N') AS LMTT_AT, + B.LAST_UPDUSR_ID, + B.LAST_UPDT_PNTTM, + DECODE(B.EMPLYR_ID, NULL, 'N', 'Y') AS REG_YN + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + AND A.USER_ID = #{emplyrId} + </select> + + <insert id="insertLoginPolicy" parameterType="egovframework.com.uat.uap.service.LoginPolicy"> + + INSERT INTO COMTNLOGINPOLICY + (EMPLYR_ID + ,IP_INFO + ,DPLCT_PERM_AT + ,LMTT_AT + ,FRST_REGISTER_ID + ,FRST_REGIST_PNTTM + ,LAST_UPDUSR_ID + ,LAST_UPDT_PNTTM) + VALUES (#{emplyrId} + ,#{ipInfo} + ,#{dplctPermAt} + ,#{lmttAt} + ,#{userId} + ,SYSDATE + ,#{userId} + ,SYSDATE) + + </insert> + + <update id="updateLoginPolicy" parameterType="egovframework.com.uat.uap.service.LoginPolicy"> + + UPDATE COMTNLOGINPOLICY + SET IP_INFO = #{ipInfo} + ,DPLCT_PERM_AT = #{dplctPermAt} + ,LMTT_AT = #{lmttAt} + ,LAST_UPDUSR_ID = #{userId} + ,LAST_UPDT_PNTTM = SYSDATE + WHERE EMPLYR_ID = #{emplyrId} + + </update> + + <delete id="deleteLoginPolicy"> + + DELETE FROM COMTNLOGINPOLICY + WHERE EMPLYR_ID = #{emplyrId} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_altibase.xml (revision 7) @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="loginPolicyDAO"> + + <resultMap id="loginPolicy" type="egovframework.com.uat.uap.service.LoginPolicyVO"> + <result property="emplyrId" column="USER_ID"/> + <result property="emplyrNm" column="USER_NM"/> + <result property="emplyrSe" column="USER_SE"/> + <result property="ipInfo" column="IP_INFO"/> + <result property="dplctPermAt" column="DPLCT_PERM_AT"/> + <result property="lmttAt" column="LMTT_AT"/> + <result property="userId" column="LAST_UPDUSR_ID"/> + <result property="regDate" column="LAST_UPDT_PNTTM"/> + <result property="regYn" column="REG_YN"/> + </resultMap> + + <select id="selectLoginPolicyList" parameterType="egovframework.com.uat.uap.service.LoginPolicyVO" resultMap="loginPolicy"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + SELECT A.USER_ID, + A.USER_NM, + A.USER_SE, + B.IP_INFO, + B.DPLCT_PERM_AT, + B.LMTT_AT, + B.LAST_UPDUSR_ID, + B.LAST_UPDT_PNTTM, + DECODE(B.EMPLYR_ID, NULL, 'N', 'Y') AS REG_YN + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </if> + <![CDATA[ + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="selectLoginPolicyListTotCnt" parameterType="egovframework.com.uat.uap.service.LoginPolicyVO" resultType="int"> + SELECT COUNT(*) AS totcnt + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </if> + </select> + + <select id="selectLoginPolicy" resultMap="loginPolicy"> + SELECT A.USER_ID, + A.USER_NM, + A.USER_SE, + B.IP_INFO, + B.DPLCT_PERM_AT, + NVL(B.LMTT_AT,'N') AS LMTT_AT, + B.LAST_UPDUSR_ID, + B.LAST_UPDT_PNTTM, + DECODE(B.EMPLYR_ID, NULL, 'N', 'Y') AS REG_YN + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + AND A.USER_ID = #{emplyrId} + </select> + + <insert id="insertLoginPolicy" parameterType="egovframework.com.uat.uap.service.LoginPolicy"> + + INSERT INTO COMTNLOGINPOLICY + (EMPLYR_ID + ,IP_INFO + ,DPLCT_PERM_AT + ,LMTT_AT + ,FRST_REGISTER_ID + ,FRST_REGIST_PNTTM + ,LAST_UPDUSR_ID + ,LAST_UPDT_PNTTM) + VALUES (#{emplyrId} + ,#{ipInfo} + ,#{dplctPermAt} + ,#{lmttAt} + ,#{userId} + ,SYSDATE + ,#{userId} + ,SYSDATE) + + </insert> + + <update id="updateLoginPolicy" parameterType="egovframework.com.uat.uap.service.LoginPolicy"> + + UPDATE COMTNLOGINPOLICY + SET IP_INFO = #{ipInfo} + ,DPLCT_PERM_AT = #{dplctPermAt} + ,LMTT_AT = #{lmttAt} + ,LAST_UPDUSR_ID = #{userId} + ,LAST_UPDT_PNTTM = SYSDATE + WHERE EMPLYR_ID = #{emplyrId} + + </update> + + <delete id="deleteLoginPolicy"> + + DELETE FROM COMTNLOGINPOLICY + WHERE EMPLYR_ID = #{emplyrId} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_tibero.xml (revision 7) @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:59 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="loginPolicyDAO"> + + <resultMap id="loginPolicy" type="egovframework.com.uat.uap.service.LoginPolicyVO"> + <result property="emplyrId" column="USER_ID"/> + <result property="emplyrNm" column="USER_NM"/> + <result property="emplyrSe" column="USER_SE"/> + <result property="ipInfo" column="IP_INFO"/> + <result property="dplctPermAt" column="DPLCT_PERM_AT"/> + <result property="lmttAt" column="LMTT_AT"/> + <result property="userId" column="LAST_UPDUSR_ID"/> + <result property="regDate" column="LAST_UPDT_PNTTM"/> + <result property="regYn" column="REG_YN"/> + </resultMap> + + <select id="loginPolicyDAO.selectLoginPolicyList" parameterType="egovframework.com.uat.uap.service.LoginPolicyVO" resultMap="loginPolicy"> + + SELECT * + FROM ( + SELECT ROWNUM RNUM, ALL_LIST.* + FROM ( + SELECT A.USER_ID, + A.USER_NM, + A.USER_SE, + B.IP_INFO, + B.DPLCT_PERM_AT, + B.LMTT_AT, + B.LAST_UPDUSR_ID, + B.LAST_UPDT_PNTTM, + DECODE(B.EMPLYR_ID, NULL, 'N', 'Y') AS REG_YN + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </if> + <![CDATA[ + ) ALL_LIST + ) + WHERE RNUM > #{firstIndex} + AND RNUM <= #{firstIndex} + #{recordCountPerPage} + ]]> + </select> + + <select id="loginPolicyDAO.selectLoginPolicyListTotCnt" parameterType="egovframework.com.uat.uap.service.LoginPolicyVO" resultType="int"> + SELECT COUNT(*) AS totcnt + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_NM LIKE '%'||#{searchKeyword}||'%' + </if> + </if> + </select> + + <select id="loginPolicyDAO.selectLoginPolicy" resultMap="loginPolicy"> + SELECT A.USER_ID, + A.USER_NM, + A.USER_SE, + B.IP_INFO, + B.DPLCT_PERM_AT, + NVL(B.LMTT_AT,'N') AS LMTT_AT, + B.LAST_UPDUSR_ID, + B.LAST_UPDT_PNTTM, + DECODE(B.EMPLYR_ID, NULL, 'N', 'Y') AS REG_YN + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + AND A.USER_ID = #{emplyrId} + </select> + + <insert id="loginPolicyDAO.insertLoginPolicy" parameterType="egovframework.com.uat.uap.service.LoginPolicy"> + + INSERT INTO COMTNLOGINPOLICY + (EMPLYR_ID + ,IP_INFO + ,DPLCT_PERM_AT + ,LMTT_AT + ,FRST_REGISTER_ID + ,FRST_REGIST_PNTTM + ,LAST_UPDUSR_ID + ,LAST_UPDT_PNTTM) + VALUES (#{emplyrId} + ,#{ipInfo} + ,#{dplctPermAt} + ,#{lmttAt} + ,#{userId} + ,SYSDATE + ,#{userId} + ,SYSDATE) + + </insert> + + <update id="loginPolicyDAO.updateLoginPolicy" parameterType="egovframework.com.uat.uap.service.LoginPolicy"> + + UPDATE COMTNLOGINPOLICY + SET IP_INFO = #{ipInfo} + ,DPLCT_PERM_AT = #{dplctPermAt} + ,LMTT_AT = #{lmttAt} + ,LAST_UPDUSR_ID = #{userId} + ,LAST_UPDT_PNTTM = SYSDATE + WHERE EMPLYR_ID = #{emplyrId} + + </update> + + <delete id="loginPolicyDAO.deleteLoginPolicy"> + + DELETE FROM COMTNLOGINPOLICY + WHERE EMPLYR_ID = #{emplyrId} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_mysql.xml (revision 7) @@ -0,0 +1,108 @@ +<?xml version="1.0" encoding="UTF-8"?><!--Converted at: Wed May 11 15:50:59 KST 2016--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="loginPolicyDAO"> + + <resultMap id="loginPolicy" type="egovframework.com.uat.uap.service.LoginPolicyVO"> + <result property="emplyrId" column="USER_ID"/> + <result property="emplyrNm" column="USER_NM"/> + <result property="emplyrSe" column="USER_SE"/> + <result property="ipInfo" column="IP_INFO"/> + <result property="dplctPermAt" column="DPLCT_PERM_AT"/> + <result property="lmttAt" column="LMTT_AT"/> + <result property="userId" column="LAST_UPDUSR_ID"/> + <result property="regDate" column="LAST_UPDT_PNTTM"/> + <result property="regYn" column="REG_YN"/> + </resultMap> + + <select id="selectLoginPolicyList" parameterType="egovframework.com.uat.uap.service.LoginPolicyVO" resultMap="loginPolicy"> + SELECT A.USER_ID, + A.USER_NM, + A.USER_SE, + B.IP_INFO, + B.DPLCT_PERM_AT, + B.LMTT_AT, + B.LAST_UPDUSR_ID, + B.LAST_UPDT_PNTTM, + IF(B.EMPLYR_ID IS NULL, 'N', 'Y') AS REG_YN + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </if> + LIMIT #{recordCountPerPage} OFFSET #{firstIndex} + </select> + + <select id="selectLoginPolicyListTotCnt" parameterType="egovframework.com.uat.uap.service.LoginPolicyVO" resultType="int"> + SELECT COUNT(*) AS totcnt + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + <if test="searchKeyword != null and searchKeyword != ''"> + <if test="searchCondition == 1">AND + A.USER_NM LIKE CONCAT('%' , #{searchKeyword}, '%') + </if> + </if> + </select> + + <select id="selectLoginPolicy" resultMap="loginPolicy"> + SELECT A.USER_ID, + A.USER_NM, + A.USER_SE, + B.IP_INFO, + B.DPLCT_PERM_AT, + IF(B.LMTT_AT IS NULL, 'N', B.LMTT_AT) AS LMTT_AT, + B.LAST_UPDUSR_ID, + B.LAST_UPDT_PNTTM, + IF(B.EMPLYR_ID IS NULL, 'N', 'Y') AS REG_YN + FROM COMVNUSERMASTER A LEFT OUTER JOIN COMTNLOGINPOLICY B + ON A.USER_ID = B.EMPLYR_ID + WHERE 1 = 1 + AND A.USER_ID = #{emplyrId} + </select> + + <insert id="insertLoginPolicy" parameterType="egovframework.com.uat.uap.service.LoginPolicy"> + + INSERT INTO COMTNLOGINPOLICY + (EMPLYR_ID + ,IP_INFO + ,DPLCT_PERM_AT + ,LMTT_AT + ,FRST_REGISTER_ID + ,FRST_REGIST_PNTTM + ,LAST_UPDUSR_ID + ,LAST_UPDT_PNTTM) + VALUES (#{emplyrId} + ,#{ipInfo} + ,#{dplctPermAt} + ,#{lmttAt} + ,#{userId} + ,now() + ,#{userId} + ,now()) + + </insert> + + <update id="updateLoginPolicy" parameterType="egovframework.com.uat.uap.service.LoginPolicy"> + + UPDATE COMTNLOGINPOLICY + SET IP_INFO = #{ipInfo} + ,DPLCT_PERM_AT = #{dplctPermAt} + ,LMTT_AT = #{lmttAt} + ,LAST_UPDUSR_ID = #{userId} + ,LAST_UPDT_PNTTM = now() + WHERE EMPLYR_ID = #{emplyrId} + + </update> + + <delete id="deleteLoginPolicy"> + + DELETE FROM COMTNLOGINPOLICY + WHERE EMPLYR_ID = #{emplyrId} + + </delete> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uat/uap/EgovLoginPolicy_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_cubrid.xml (revision 7) @@ -0,0 +1,438 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.08.26 서준식 SSO 로그인을 위한 쿼리 추가 + 2011.09.27 서준식 컬럼 변경 SUB_DN 을 CRTFC_DN_VALUE 로 변경 + 2011.09.28 서준식 컬럼 변경 entrprsmber_id 을 ENTRPRS_MBER_ID 로 변경 + 2020.07.06 신용호 비밀번호 만료여부 조회 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="LoginUsr"> + + <!-- 로그인 처리를 위한 resultMap --> + <resultMap id="login" type="egovframework.com.cmm.LoginVO"> + <result property="id" column="id"/> + <result property="name" column="name"/> + <result property="ihidNum" column="ihidNum"/> + <result property="email" column="email"/> + <result property="password" column="password"/> + <result property="userSe" column="userSe"/> + <result property="orgnztId" column="orgnztId"/> + <result property="uniqId" column="uniqId"/> + </resultMap> + + <!-- 아이디 찾기를 위한 resultMap --> + <resultMap id="id" type="egovframework.com.cmm.LoginVO"> + <result property="id" column="id"/> + </resultMap> + + <!-- 비밀번호 처리를 위한 resultMap --> + <resultMap id="password" type="egovframework.com.cmm.LoginVO"> + <result property="password" column="password"/> + </resultMap> + + <!-- SSO용 ESNTL_ID를 이용한 로그인(2011.8.26) --> + + <select id="ssoLoginByEsntlId" resultMap="login"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + , mber_nm AS name + , ihidNum AS ihidNum + , password AS password + , mber_email_adres AS email + , 'GNR' AS userSe + , '-' AS orgnztId + , ESNTL_ID AS uniqId + FROM COMTNGNRLMBER + WHERE ESNTL_ID = #{uniqId} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + , cmpny_nm AS name + , entrprs_mber_password AS password + , bizrno AS ihidNum + , applcnt_email_adres AS email + , 'ENT' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID = #{uniqId} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID = #{uniqId} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + + <!-- 일반 로그인 --> + <select id="actionLogin" resultMap="login"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + , mber_nm AS name + , ihidNum AS ihidNum + , password AS password + , mber_email_adres AS email + , 'GNR' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + AND password = #{password} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + , cmpny_nm AS name + , entrprs_mber_password AS password + , bizrno AS ihidNum + , applcnt_email_adres AS email + , 'ENT' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + AND entrprs_mber_password = #{password} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND password = #{password} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 인증서 로그인 --> + <select id="actionCrtfctLogin" resultMap="login"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE CRTFC_DN_VALUE = #{dn} + + </select> + + <!-- 아이디 찾기 --> + <select id="searchId" resultMap="id"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + FROM COMTNGNRLMBER + WHERE mber_nm = #{name} + AND mber_email_adres = #{email} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + FROM COMTNENTRPRSMBER + WHERE cmpny_nm = #{name} + AND applcnt_email_adres = #{email} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + FROM COMTNEMPLYRINFO + WHERE user_nm = #{name} + AND email_adres = #{email} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 비밀번호 찾기 --> + <select id="searchPassword" resultMap="password"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT password AS password + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + AND mber_nm = #{name} + AND mber_email_adres = #{email} + AND password_hint = #{passwordHint} + AND password_cnsr = #{passwordCnsr} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT entrprs_mber_password AS password + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + AND cmpny_nm = #{name} + AND applcnt_email_adres = #{email} + AND entrprs_mber_password_hint = #{passwordHint} + AND entrprs_mber_password_cnsr = #{passwordCnsr} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT password AS password + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND user_nm = #{name} + AND email_adres = #{email} + AND password_hint = #{passwordHint} + AND password_cnsr = #{passwordCnsr} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 변경된 비밀번호를 저장 --> + <update id="updatePassword"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + UPDATE COMTNGNRLMBER + SET password = #{password} + , CHG_PWD_LAST_PNTTM = SYSDATETIME + WHERE mber_id = #{id} + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + UPDATE COMTNENTRPRSMBER + SET entrprs_mber_password = #{password} + , CHG_PWD_LAST_PNTTM = SYSDATETIME + WHERE ENTRPRS_MBER_ID = #{id} + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + UPDATE COMTNEMPLYRINFO + SET password = #{password} + , CHG_PWD_LAST_PNTTM = SYSDATETIME + WHERE emplyr_id = #{id} + + </if> + </update> + + <!-- 로그인인증제한 조회 --> + <select id="selectLoginIncorrect" resultType="egovMap"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + <![CDATA[ + SELECT MBER_ID AS USER_ID + , PASSWORD AS USER_PW + , MBER_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , NVL(LOCK_AT,'N') LOCK_AT + , NVL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNGNRLMBER + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + <![CDATA[ + SELECT ENTRPRS_MBER_ID AS USER_ID + , ENTRPRS_MBER_PASSWORD AS USER_PW + , CMPNY_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , NVL(LOCK_AT,'N') LOCK_AT + , NVL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + <![CDATA[ + SELECT EMPLYR_ID AS USER_ID + , PASSWORD AS USER_PW + , USER_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , NVL(LOCK_AT,'N') LOCK_AT + , NVL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNEMPLYRINFO + WHERE EMPLYR_ID = #{id} + ]]> + </if> + </select> + + <!-- 로그인인증제한 변경 > 일반회원 --> + <update id="updateLoginIncorrectGNR"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = SYSDATETIME + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_CNT = NVL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = SYSDATETIME + WHERE MBER_ID = #{id} + ]]> + </if> + </update> + + <!-- 로그인인증제한 변경 > 기업사용자 --> + <update id="updateLoginIncorrectENT"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = SYSDATETIME + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_CNT = NVL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = SYSDATETIME + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + </update> + + <!-- 로그인인증제한 변경 > 업무사용자 --> + <update id="updateLoginIncorrectUSR"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE EMPLYR_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = SYSDATETIME + WHERE EMPLYR_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_CNT = NVL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = SYSDATETIME + WHERE EMPLYR_ID = #{id} + ]]> + </if> + </update> + + <!-- 비밀번호 만료 기간 체크 --> + <select id="selectPassedDayChangePWD" resultType="int"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT COALESCE(DATEDIFF(SYSDATETIME,CHG_PWD_LAST_PNTTM),0) + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT COALESCE(DATEDIFF(SYSDATETIME,CHG_PWD_LAST_PNTTM),0) + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT COALESCE(DATEDIFF(SYSDATETIME,CHG_PWD_LAST_PNTTM),0) + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_maria.xml (revision 7) @@ -0,0 +1,453 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.08.26 서준식 SSO 로그인을 위한 쿼리 추가 + 2011.09.27 서준식 컬럼 변경 SUB_DN 을 CRTFC_DN_VALUE 로 변경 + 2011.09.28 서준식 컬럼 변경 entrprsmber_id 을 ENTRPRS_MBER_ID 로 변경 + 2020.07.06 서준식 비밀번호 만료여부 조회 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="LoginUsr"> + + + <!-- 로그인 처리를 위한 resultMap --> + <resultMap id="login" type="egovframework.com.cmm.LoginVO"> + <result property="id" column="id"/> + <result property="name" column="name"/> + <result property="ihidNum" column="ihidNum"/> + <result property="email" column="email"/> + <result property="password" column="password"/> + <result property="userSe" column="userSe"/> + <result property="orgnztId" column="orgnztId"/> + <result property="uniqId" column="uniqId"/> + </resultMap> + + <!-- 아이디 찾기를 위한 resultMap --> + <resultMap id="id" type="egovframework.com.cmm.LoginVO"> + <result property="id" column="id"/> + </resultMap> + + <!-- 비밀번호 처리를 위한 resultMap --> + <resultMap id="password" type="egovframework.com.cmm.LoginVO"> + <result property="password" column="password"/> + </resultMap> + + <!-- SSO용 ESNTL_ID를 이용한 로그인(2011.8.26) --> + <select id="ssoLoginByEsntlId" resultMap="login"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + , mber_nm AS name + , ihidNum AS ihidNum + , password AS password + , mber_email_adres AS email + , 'GNR' AS userSe + , '-' AS orgnztId + , ESNTL_ID AS uniqId + FROM COMTNGNRLMBER + WHERE ESNTL_ID = #{uniqId} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + , cmpny_nm AS name + , entrprs_mber_password AS password + , bizrno AS ihidNum + , applcnt_email_adres AS email + , 'ENT' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID = #{uniqId} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID = #{uniqId} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + + <!-- 일반 로그인 --> + <select id="actionLogin" resultMap="login"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + , mber_nm AS name + , ihidNum AS ihidNum + , password AS password + , mber_email_adres AS email + , 'GNR' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + AND password = #{password} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + , cmpny_nm AS name + , entrprs_mber_password AS password + , bizrno AS ihidNum + , applcnt_email_adres AS email + , 'ENT' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + AND entrprs_mber_password = #{password} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND password = #{password} + AND emplyr_sttus_code = 'P' + + + <!-- + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND password = #{password} + AND emplyr_sttus_code = 'P' + --> + </if> + </select> + + <!-- 인증서 로그인 --> + <select id="actionCrtfctLogin" resultMap="login"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE CRTFC_DN_VALUE = #{dn} + + </select> + + <!-- 아이디 찾기 --> + <select id="searchId" resultMap="id"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + FROM COMTNGNRLMBER + WHERE mber_nm = #{name} + AND mber_email_adres = #{email} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + FROM COMTNENTRPRSMBER + WHERE cmpny_nm = #{name} + AND applcnt_email_adres = #{email} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + FROM COMTNEMPLYRINFO + WHERE user_nm = #{name} + AND email_adres = #{email} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 비밀번호 찾기 --> + <select id="searchPassword" resultMap="password"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT password AS password + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + AND mber_nm = #{name} + AND mber_email_adres = #{email} + AND password_hint = #{passwordHint} + AND password_cnsr = #{passwordCnsr} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT entrprs_mber_password AS password + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + AND cmpny_nm = #{name} + AND applcnt_email_adres = #{email} + AND entrprs_mber_password_hint = #{passwordHint} + AND entrprs_mber_password_cnsr = #{passwordCnsr} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT password AS password + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND user_nm = #{name} + AND email_adres = #{email} + AND password_hint = #{passwordHint} + AND password_cnsr = #{passwordCnsr} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 변경된 비밀번호를 저장 --> + <update id="updatePassword"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + UPDATE COMTNGNRLMBER + SET password = #{password} + , CHG_PWD_LAST_PNTTM = sysdate() + WHERE mber_id = #{id} + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + UPDATE COMTNENTRPRSMBER + SET entrprs_mber_password = #{password} + , CHG_PWD_LAST_PNTTM = sysdate() + WHERE ENTRPRS_MBER_ID = #{id} + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + UPDATE COMTNEMPLYRINFO + SET password = #{password} + , CHG_PWD_LAST_PNTTM = sysdate() + WHERE emplyr_id = #{id} + + </if> + </update> + + <!-- 로그인인증제한 조회 --> + <select id="selectLoginIncorrect" resultType="egovMap"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + <![CDATA[ + SELECT MBER_ID AS USER_ID + , PASSWORD AS USER_PW + , MBER_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , IFNULL(LOCK_AT,'N') LOCK_AT + , IFNULL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNGNRLMBER + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + <![CDATA[ + SELECT ENTRPRS_MBER_ID AS USER_ID + , ENTRPRS_MBER_PASSWORD AS USER_PW + , CMPNY_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , IFNULL(LOCK_AT,'N') LOCK_AT + , IFNULL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + <![CDATA[ + SELECT EMPLYR_ID AS USER_ID + , PASSWORD AS USER_PW + , USER_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , IFNULL(LOCK_AT,'N') LOCK_AT + , IFNULL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNEMPLYRINFO + WHERE EMPLYR_ID = #{id} + ]]> + </if> + </select> + + <!-- 로그인인증제한 변경 > 일반회원 --> + <update id="updateLoginIncorrectGNR"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = sysdate() + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_CNT = IFNULL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = sysdate() + WHERE MBER_ID = #{id} + ]]> + </if> + </update> + + <!-- 로그인인증제한 변경 > 기업사용자 --> + <update id="updateLoginIncorrectENT"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = sysdate() + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_CNT = IFNULL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = sysdate() + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + </update> + + <!-- 로그인인증제한 변경 > 업무사용자 --> + <update id="updateLoginIncorrectUSR"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE EMPLYR_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = sysdate() + WHERE EMPLYR_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_CNT = IFNULL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = sysdate() + WHERE EMPLYR_ID = #{id} + ]]> + </if> + </update> + + <!-- 비밀번호 만료 기간 체크 --> + <select id="selectPassedDayChangePWD" resultType="int"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT IFNULL(TIMESTAMPDIFF(day,CHG_PWD_LAST_PNTTM,sysdate()),0) + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT IFNULL(TIMESTAMPDIFF(day,CHG_PWD_LAST_PNTTM,sysdate()),0) + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT IFNULL(TIMESTAMPDIFF(day,CHG_PWD_LAST_PNTTM,sysdate()),0) + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_oracle.xml (revision 7) @@ -0,0 +1,438 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.08.26 서준식 SSO 로그인을 위한 쿼리 추가 + 2011.09.27 서준식 컬럼 변경 SUB_DN 을 CRTFC_DN_VALUE 로 변경 + 2011.09.28 서준식 컬럼 변경 entrprsmber_id 을 ENTRPRS_MBER_ID 로 변경 + 2020.07.06 신용호 비밀번호 만료여부 조회 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="LoginUsr"> + + <!-- 로그인 처리를 위한 resultMap --> + <resultMap id="login" type="egovframework.com.cmm.LoginVO"> + <result property="id" column="id"/> + <result property="name" column="name"/> + <result property="ihidNum" column="ihidNum"/> + <result property="email" column="email"/> + <result property="password" column="password"/> + <result property="userSe" column="userSe"/> + <result property="orgnztId" column="orgnztId"/> + <result property="uniqId" column="uniqId"/> + </resultMap> + + <!-- 아이디 찾기를 위한 resultMap --> + <resultMap id="id" type="egovframework.com.cmm.LoginVO"> + <result property="id" column="id"/> + </resultMap> + + <!-- 비밀번호 처리를 위한 resultMap --> + <resultMap id="password" type="egovframework.com.cmm.LoginVO"> + <result property="password" column="password"/> + </resultMap> + + <!-- SSO용 ESNTL_ID를 이용한 로그인(2011.8.26) --> + + <select id="ssoLoginByEsntlId" resultMap="login"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + , mber_nm AS name + , ihidNum AS ihidNum + , password AS password + , mber_email_adres AS email + , 'GNR' AS userSe + , '-' AS orgnztId + , ESNTL_ID AS uniqId + FROM COMTNGNRLMBER + WHERE ESNTL_ID = #{uniqId} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + , cmpny_nm AS name + , entrprs_mber_password AS password + , bizrno AS ihidNum + , applcnt_email_adres AS email + , 'ENT' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID = #{uniqId} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID = #{uniqId} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + + <!-- 일반 로그인 --> + <select id="actionLogin" resultMap="login"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + , mber_nm AS name + , ihidNum AS ihidNum + , password AS password + , mber_email_adres AS email + , 'GNR' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + AND password = #{password} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + , cmpny_nm AS name + , entrprs_mber_password AS password + , bizrno AS ihidNum + , applcnt_email_adres AS email + , 'ENT' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + AND entrprs_mber_password = #{password} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND password = #{password} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 인증서 로그인 --> + <select id="actionCrtfctLogin" resultMap="login"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE CRTFC_DN_VALUE = #{dn} + + </select> + + <!-- 아이디 찾기 --> + <select id="searchId" resultMap="id"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + FROM COMTNGNRLMBER + WHERE mber_nm = #{name} + AND mber_email_adres = #{email} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + FROM COMTNENTRPRSMBER + WHERE cmpny_nm = #{name} + AND applcnt_email_adres = #{email} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + FROM COMTNEMPLYRINFO + WHERE user_nm = #{name} + AND email_adres = #{email} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 비밀번호 찾기 --> + <select id="searchPassword" resultMap="password"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT password AS password + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + AND mber_nm = #{name} + AND mber_email_adres = #{email} + AND password_hint = #{passwordHint} + AND password_cnsr = #{passwordCnsr} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT entrprs_mber_password AS password + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + AND cmpny_nm = #{name} + AND applcnt_email_adres = #{email} + AND entrprs_mber_password_hint = #{passwordHint} + AND entrprs_mber_password_cnsr = #{passwordCnsr} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT password AS password + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND user_nm = #{name} + AND email_adres = #{email} + AND password_hint = #{passwordHint} + AND password_cnsr = #{passwordCnsr} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 변경된 비밀번호를 저장 --> + <update id="updatePassword"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + UPDATE COMTNGNRLMBER + SET password = #{password} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE mber_id = #{id} + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + UPDATE COMTNENTRPRSMBER + SET entrprs_mber_password = #{password} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE ENTRPRS_MBER_ID = #{id} + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + UPDATE COMTNEMPLYRINFO + SET password = #{password} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE emplyr_id = #{id} + + </if> + </update> + + <!-- 로그인인증제한 조회 --> + <select id="selectLoginIncorrect" resultType="egovMap"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + <![CDATA[ + SELECT MBER_ID AS USER_ID + , PASSWORD AS USER_PW + , MBER_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , NVL(LOCK_AT,'N') LOCK_AT + , NVL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNGNRLMBER + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + <![CDATA[ + SELECT ENTRPRS_MBER_ID AS USER_ID + , ENTRPRS_MBER_PASSWORD AS USER_PW + , CMPNY_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , NVL(LOCK_AT,'N') LOCK_AT + , NVL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + <![CDATA[ + SELECT EMPLYR_ID AS USER_ID + , PASSWORD AS USER_PW + , USER_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , NVL(LOCK_AT,'N') LOCK_AT + , NVL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNEMPLYRINFO + WHERE EMPLYR_ID = #{id} + ]]> + </if> + </select> + + <!-- 로그인인증제한 변경 > 일반회원 --> + <update id="updateLoginIncorrectGNR"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = sysdate + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_CNT = NVL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = sysdate + WHERE MBER_ID = #{id} + ]]> + </if> + </update> + + <!-- 로그인인증제한 변경 > 기업사용자 --> + <update id="updateLoginIncorrectENT"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = sysdate + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_CNT = NVL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = sysdate + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + </update> + + <!-- 로그인인증제한 변경 > 업무사용자 --> + <update id="updateLoginIncorrectUSR"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE EMPLYR_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = sysdate + WHERE EMPLYR_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_CNT = NVL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = sysdate + WHERE EMPLYR_ID = #{id} + ]]> + </if> + </update> + + <!-- 비밀번호 만료 기간 체크 --> + <select id="selectPassedDayChangePWD" resultType="int"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT NVL(TO_DATE(sysdate) - TO_DATE(CHG_PWD_LAST_PNTTM),0) + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT NVL(TO_DATE(sysdate) - TO_DATE(CHG_PWD_LAST_PNTTM),0) + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT NVL(TO_DATE(sysdate) - TO_DATE(CHG_PWD_LAST_PNTTM),0) + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_altibase.xml (revision 7) @@ -0,0 +1,438 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.08.26 서준식 SSO 로그인을 위한 쿼리 추가 + 2011.09.27 서준식 컬럼 변경 SUB_DN 을 CRTFC_DN_VALUE 로 변경 + 2011.09.28 서준식 컬럼 변경 entrprsmber_id 을 ENTRPRS_MBER_ID 로 변경 + 2020.07.06 신용호 비밀번호 만료여부 조회 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="LoginUsr"> + + <!-- 로그인 처리를 위한 resultMap --> + <resultMap id="login" type="egovframework.com.cmm.LoginVO"> + <result property="id" column="id"/> + <result property="name" column="name"/> + <result property="ihidNum" column="ihidNum"/> + <result property="email" column="email"/> + <result property="password" column="password"/> + <result property="userSe" column="userSe"/> + <result property="orgnztId" column="orgnztId"/> + <result property="uniqId" column="uniqId"/> + </resultMap> + + <!-- 아이디 찾기를 위한 resultMap --> + <resultMap id="id" type="egovframework.com.cmm.LoginVO"> + <result property="id" column="id"/> + </resultMap> + + <!-- 비밀번호 처리를 위한 resultMap --> + <resultMap id="password" type="egovframework.com.cmm.LoginVO"> + <result property="password" column="password"/> + </resultMap> + + + <!-- SSO용 ESNTL_ID를 이용한 로그인(2011.8.26) --> + + <select id="ssoLoginByEsntlId" resultMap="login"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + , mber_nm AS name + , ihidNum AS ihidNum + , password AS password + , mber_email_adres AS email + , 'GNR' AS userSe + , '-' AS orgnztId + , ESNTL_ID AS uniqId + FROM COMTNGNRLMBER + WHERE ESNTL_ID = #{uniqId} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + , cmpny_nm AS name + , entrprs_mber_password AS password + , bizrno AS ihidNum + , applcnt_email_adres AS email + , 'ENT' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID = #{uniqId} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID = #{uniqId} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 일반 로그인 --> + <select id="actionLogin" resultMap="login"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + , mber_nm AS name + , ihidNum AS ihidNum + , password AS password + , mber_email_adres AS email + , 'GNR' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + AND password = #{password} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + , cmpny_nm AS name + , entrprs_mber_password AS password + , bizrno AS ihidNum + , applcnt_email_adres AS email + , 'ENT' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + AND entrprs_mber_password = #{password} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND password = #{password} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 인증서 로그인 --> + <select id="actionCrtfctLogin" resultMap="login"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE CRTFC_DN_VALUE = #{dn} + + </select> + + <!-- 아이디 찾기 --> + <select id="searchId" resultMap="id"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + FROM COMTNGNRLMBER + WHERE mber_nm = #{name} + AND mber_email_adres = #{email} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + FROM COMTNENTRPRSMBER + WHERE cmpny_nm = #{name} + AND applcnt_email_adres = #{email} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + FROM COMTNEMPLYRINFO + WHERE user_nm = #{name} + AND email_adres = #{email} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 비밀번호 찾기 --> + <select id="searchPassword" resultMap="password"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT password AS password + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + AND mber_nm = #{name} + AND mber_email_adres = #{email} + AND password_hint = #{passwordHint} + AND password_cnsr = #{passwordCnsr} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT entrprs_mber_password AS password + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + AND cmpny_nm = #{name} + AND applcnt_email_adres = #{email} + AND entrprs_mber_password_hint = #{passwordHint} + AND entrprs_mber_password_cnsr = #{passwordCnsr} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT password AS password + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND user_nm = #{name} + AND email_adres = #{email} + AND password_hint = #{passwordHint} + AND password_cnsr = #{passwordCnsr} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 변경된 비밀번호를 저장 --> + <update id="updatePassword"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + UPDATE COMTNGNRLMBER + SET password = #{password} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE mber_id = #{id} + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + UPDATE COMTNENTRPRSMBER + SET entrprs_mber_password = #{password} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE ENTRPRS_MBER_ID = #{id} + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + UPDATE COMTNEMPLYRINFO + SET password = #{password} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE emplyr_id = #{id} + + </if> + </update> + + <!-- 로그인인증제한 조회 --> + <select id="selectLoginIncorrect" resultType="egovMap"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + <![CDATA[ + SELECT MBER_ID AS USER_ID + , PASSWORD AS USER_PW + , MBER_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , NVL(LOCK_AT,'N') LOCK_AT + , NVL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNGNRLMBER + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + <![CDATA[ + SELECT ENTRPRS_MBER_ID AS USER_ID + , ENTRPRS_MBER_PASSWORD AS USER_PW + , CMPNY_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , NVL(LOCK_AT,'N') LOCK_AT + , NVL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + <![CDATA[ + SELECT EMPLYR_ID AS USER_ID + , PASSWORD AS USER_PW + , USER_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , NVL(LOCK_AT,'N') LOCK_AT + , NVL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNEMPLYRINFO + WHERE EMPLYR_ID = #{id} + ]]> + </if> + </select> + + <!-- 로그인인증제한 변경 > 일반회원 --> + <update id="updateLoginIncorrectGNR"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = sysdate + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_CNT = NVL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = sysdate + WHERE MBER_ID = #{id} + ]]> + </if> + </update> + + <!-- 로그인인증제한 변경 > 기업사용자 --> + <update id="updateLoginIncorrectENT"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = sysdate + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_CNT = NVL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = sysdate + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + </update> + + <!-- 로그인인증제한 변경 > 업무사용자 --> + <update id="updateLoginIncorrectUSR"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE EMPLYR_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = sysdate + WHERE EMPLYR_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_CNT = NVL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = sysdate + WHERE EMPLYR_ID = #{id} + ]]> + </if> + </update> + + <!-- 비밀번호 만료 기간 체크 --> + <select id="selectPassedDayChangePWD" resultType="int"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT NVL(DATEDIFF(CHG_PWD_LAST_PNTTM,SYSDATE,'day'),0) + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT NVL(DATEDIFF(CHG_PWD_LAST_PNTTM,SYSDATE,'day'),0) + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT NVL(DATEDIFF(CHG_PWD_LAST_PNTTM,SYSDATE,'day'),0) + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_tibero.xml (revision 7) @@ -0,0 +1,437 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.08.26 서준식 SSO 로그인을 위한 쿼리 추가 + 2011.09.27 서준식 컬럼 변경 SUB_DN 을 CRTFC_DN_VALUE 로 변경 + 2011.09.28 서준식 컬럼 변경 entrprsmber_id 을 ENTRPRS_MBER_ID 로 변경 + 2020.07.06 신용호 비밀번호 만료여부 조회 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="LoginUsr"> + + <!-- 로그인 처리를 위한 resultMap --> + <resultMap id="login" type="egovframework.com.cmm.LoginVO"> + <result property="id" column="id"/> + <result property="name" column="name"/> + <result property="ihidNum" column="ihidNum"/> + <result property="email" column="email"/> + <result property="password" column="password"/> + <result property="userSe" column="userSe"/> + <result property="orgnztId" column="orgnztId"/> + <result property="uniqId" column="uniqId"/> + </resultMap> + + <!-- 아이디 찾기를 위한 resultMap --> + <resultMap id="id" type="egovframework.com.cmm.LoginVO"> + <result property="id" column="id"/> + </resultMap> + + <!-- 비밀번호 처리를 위한 resultMap --> + <resultMap id="password" type="egovframework.com.cmm.LoginVO"> + <result property="password" column="password"/> + </resultMap> + + <!-- SSO용 ESNTL_ID를 이용한 로그인(2011.8.26) --> + + <select id="ssoLoginByEsntlId" resultMap="login"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + , mber_nm AS name + , ihidNum AS ihidNum + , password AS password + , mber_email_adres AS email + , 'GNR' AS userSe + , '-' AS orgnztId + , ESNTL_ID AS uniqId + FROM COMTNGNRLMBER + WHERE ESNTL_ID = #{uniqId} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + , cmpny_nm AS name + , entrprs_mber_password AS password + , bizrno AS ihidNum + , applcnt_email_adres AS email + , 'ENT' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID = #{uniqId} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID = #{uniqId} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 일반 로그인 --> + <select id="actionLogin" resultMap="login"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + , mber_nm AS name + , ihidNum AS ihidNum + , password AS password + , mber_email_adres AS email + , 'GNR' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + AND password = #{password} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + , cmpny_nm AS name + , entrprs_mber_password AS password + , bizrno AS ihidNum + , applcnt_email_adres AS email + , 'ENT' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + AND entrprs_mber_password = #{password} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND password = #{password} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 인증서 로그인 --> + <select id="actionCrtfctLogin" resultMap="login"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE CRTFC_DN_VALUE = #{dn} + + </select> + + <!-- 아이디 찾기 --> + <select id="searchId" resultMap="id"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + FROM COMTNGNRLMBER + WHERE mber_nm = #{name} + AND mber_email_adres = #{email} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + FROM COMTNENTRPRSMBER + WHERE cmpny_nm = #{name} + AND applcnt_email_adres = #{email} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + FROM COMTNEMPLYRINFO + WHERE user_nm = #{name} + AND email_adres = #{email} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 비밀번호 찾기 --> + <select id="searchPassword" resultMap="password"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT password AS password + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + AND mber_nm = #{name} + AND mber_email_adres = #{email} + AND password_hint = #{passwordHint} + AND password_cnsr = #{passwordCnsr} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT entrprs_mber_password AS password + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + AND cmpny_nm = #{name} + AND applcnt_email_adres = #{email} + AND entrprs_mber_password_hint = #{passwordHint} + AND entrprs_mber_password_cnsr = #{passwordCnsr} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT password AS password + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND user_nm = #{name} + AND email_adres = #{email} + AND password_hint = #{passwordHint} + AND password_cnsr = #{passwordCnsr} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 변경된 비밀번호를 저장 --> + <update id="updatePassword"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + UPDATE COMTNGNRLMBER + SET password = #{password} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE mber_id = #{id} + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + UPDATE COMTNENTRPRSMBER + SET entrprs_mber_password = #{password} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE ENTRPRS_MBER_ID = #{id} + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + UPDATE COMTNEMPLYRINFO + SET password = #{password} + , CHG_PWD_LAST_PNTTM = sysdate + WHERE emplyr_id = #{id} + + </if> + </update> + + <!-- 로그인인증제한 조회 --> + <select id="selectLoginIncorrect" resultType="egovMap"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + <![CDATA[ + SELECT MBER_ID AS USER_ID + , PASSWORD AS USER_PW + , MBER_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , NVL(LOCK_AT,'N') LOCK_AT + , NVL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNGNRLMBER + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + <![CDATA[ + SELECT ENTRPRS_MBER_ID AS USER_ID + , ENTRPRS_MBER_PASSWORD AS USER_PW + , CMPNY_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , NVL(LOCK_AT,'N') LOCK_AT + , NVL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + <![CDATA[ + SELECT EMPLYR_ID AS USER_ID + , PASSWORD AS USER_PW + , USER_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , NVL(LOCK_AT,'N') LOCK_AT + , NVL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNEMPLYRINFO + WHERE EMPLYR_ID = #{id} + ]]> + </if> + </select> + + <!-- 로그인인증제한 변경 > 일반회원 --> + <update id="updateLoginIncorrectGNR"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = sysdate + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_CNT = NVL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = sysdate + WHERE MBER_ID = #{id} + ]]> + </if> + </update> + + <!-- 로그인인증제한 변경 > 기업사용자 --> + <update id="updateLoginIncorrectENT"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = sysdate + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_CNT = NVL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = sysdate + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + </update> + + <!-- 로그인인증제한 변경 > 업무사용자 --> + <update id="updateLoginIncorrectUSR"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE EMPLYR_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = sysdate + WHERE EMPLYR_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_CNT = NVL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = sysdate + WHERE EMPLYR_ID = #{id} + ]]> + </if> + </update> + + <!-- 비밀번호 만료 기간 체크 --> + <select id="selectPassedDayChangePWD" resultType="int"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT NVL(TO_DATE(sysdate) - TO_DATE(CHG_PWD_LAST_PNTTM),0) + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT NVL(TO_DATE(sysdate) - TO_DATE(CHG_PWD_LAST_PNTTM),0) + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT NVL(TO_DATE(sysdate) - TO_DATE(CHG_PWD_LAST_PNTTM),0) + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_postgres.xml (revision 7) @@ -0,0 +1,384 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.08.26 서준식 SSO 로그인을 위한 쿼리 추가 + 2011.09.27 서준식 컬럼 변경 SUB_DN 을 CRTFC_DN_VALUE 로 변경 + 2011.09.28 서준식 컬럼 변경 entrprsmber_id 을 ENTRPRS_MBER_ID 로 변경 + 2020.07.06 신용호 비밀번호 만료여부 조회 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="LoginUsr"> + + + <!-- 로그인 처리를 위한 resultMap --> + <resultMap id="login" type="egovframework.com.cmm.LoginVO"> + <result property="id" column="id"/> + <result property="name" column="name"/> + <result property="ihidNum" column="ihidNum"/> + <result property="email" column="email"/> + <result property="password" column="password"/> + <result property="userSe" column="userSe"/> + <result property="orgnztId" column="orgnztId"/> + <result property="uniqId" column="uniqId"/> + </resultMap> + + <!-- 아이디 찾기를 위한 resultMap --> + <resultMap id="id" type="egovframework.com.cmm.LoginVO"> + <result property="id" column="id"/> + </resultMap> + + <!-- 비밀번호 처리를 위한 resultMap --> + <resultMap id="password" type="egovframework.com.cmm.LoginVO"> + <result property="password" column="password"/> + </resultMap> + + <!-- 일반 로그인 --> + <select id="actionLogin" resultMap="login"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + , mber_nm AS name + , ihidNum AS ihidNum + , password AS password + , mber_email_adres AS email + , 'GNR' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + AND password = #{password} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + , cmpny_nm AS name + , entrprs_mber_password AS password + , bizrno AS ihidNum + , applcnt_email_adres AS email + , 'ENT' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + AND entrprs_mber_password = #{password} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND password = #{password} + AND emplyr_sttus_code = 'P' + + + <!-- + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND password = #{password} + AND emplyr_sttus_code = 'P' + --> + </if> + </select> + + <!-- 아이디 찾기 --> + <select id="searchId" resultMap="id"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + FROM COMTNGNRLMBER + WHERE mber_nm = #{name} + AND mber_email_adres = #{email} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + FROM COMTNENTRPRSMBER + WHERE cmpny_nm = #{name} + AND applcnt_email_adres = #{email} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + FROM COMTNEMPLYRINFO + WHERE user_nm = #{name} + AND email_adres = #{email} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 비밀번호 찾기 --> + <select id="searchPassword" resultMap="password"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT password AS password + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + AND mber_nm = #{name} + AND mber_email_adres = #{email} + AND password_hint = #{passwordHint} + AND password_cnsr = #{passwordCnsr} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT entrprs_mber_password AS password + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + AND cmpny_nm = #{name} + AND applcnt_email_adres = #{email} + AND entrprs_mber_password_hint = #{passwordHint} + AND entrprs_mber_password_cnsr = #{passwordCnsr} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT password AS password + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND user_nm = #{name} + AND email_adres = #{email} + AND password_hint = #{passwordHint} + AND password_cnsr = #{passwordCnsr} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 변경된 비밀번호를 저장 --> + <update id="updatePassword"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + UPDATE COMTNGNRLMBER + SET password = #{password} + , CHG_PWD_LAST_PNTTM = NOW() + WHERE mber_id = #{id} + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + UPDATE COMTNENTRPRSMBER + SET entrprs_mber_password = #{password} + , CHG_PWD_LAST_PNTTM = NOW() + WHERE ENTRPRS_MBER_ID = #{id} + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + UPDATE COMTNEMPLYRINFO + SET password = #{password} + , CHG_PWD_LAST_PNTTM = NOW() + WHERE emplyr_id = #{id} + + </if> + </update> + + <!-- 로그인인증제한 조회 --> + <select id="selectLoginIncorrect" resultType="egovMap"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + <![CDATA[ + SELECT MBER_ID AS USER_ID + , PASSWORD AS USER_PW + , MBER_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , COALESCE(LOCK_AT,'N') LOCK_AT + , COALESCE(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNGNRLMBER + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + <![CDATA[ + SELECT ENTRPRS_MBER_ID AS USER_ID + , ENTRPRS_MBER_PASSWORD AS USER_PW + , CMPNY_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , COALESCE(LOCK_AT,'N') LOCK_AT + , COALESCE(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + <![CDATA[ + SELECT EMPLYR_ID AS USER_ID + , PASSWORD AS USER_PW + , USER_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , COALESCE(LOCK_AT,'N') LOCK_AT + , COALESCE(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNEMPLYRINFO + WHERE EMPLYR_ID = #{id} + ]]> + </if> + </select> + + <!-- 로그인인증제한 변경 > 일반회원 --> + <update id="updateLoginIncorrectGNR"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = NOW() + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_CNT = COALESCE(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = NOW() + WHERE MBER_ID = #{id} + ]]> + </if> + </update> + + <!-- 로그인인증제한 변경 > 기업사용자 --> + <update id="updateLoginIncorrectENT"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = NOW() + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_CNT = COALESCE(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = NOW() + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + </update> + + <!-- 로그인인증제한 변경 > 업무사용자 --> + <update id="updateLoginIncorrectUSR"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE EMPLYR_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = NOW() + WHERE EMPLYR_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_CNT = COALESCE(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = NOW() + WHERE EMPLYR_ID = #{id} + ]]> + </if> + </update> + + <!-- 비밀번호 만료 기간 체크 --> + <select id="selectPassedDayChangePWD" resultType="int"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT COALESCE(DATE_PART('day', NOW() - CHG_PWD_LAST_PNTTM),0) + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT COALESCE(DATE_PART('day', NOW() - CHG_PWD_LAST_PNTTM),0) + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT COALESCE(DATE_PART('day', NOW() - CHG_PWD_LAST_PNTTM),0) + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_mysql.xml (revision 7) @@ -0,0 +1,452 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- + 수정일 수정자 수정내용 + ========= ======= ================================================= + 2011.08.26 서준식 SSO 로그인을 위한 쿼리 추가 + 2011.09.27 서준식 컬럼 변경 SUB_DN 을 CRTFC_DN_VALUE 로 변경 + 2011.09.28 서준식 컬럼 변경 entrprsmber_id 을 ENTRPRS_MBER_ID 로 변경 + 2020.07.06 신용호 비밀번호 만료여부 조회 +--> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="LoginUsr"> + + <!-- 로그인 처리를 위한 resultMap --> + <resultMap id="login" type="egovframework.com.cmm.LoginVO"> + <result property="id" column="id"/> + <result property="name" column="name"/> + <result property="ihidNum" column="ihidNum"/> + <result property="email" column="email"/> + <result property="password" column="password"/> + <result property="userSe" column="userSe"/> + <result property="orgnztId" column="orgnztId"/> + <result property="uniqId" column="uniqId"/> + </resultMap> + + <!-- 아이디 찾기를 위한 resultMap --> + <resultMap id="id" type="egovframework.com.cmm.LoginVO"> + <result property="id" column="id"/> + </resultMap> + + <!-- 비밀번호 처리를 위한 resultMap --> + <resultMap id="password" type="egovframework.com.cmm.LoginVO"> + <result property="password" column="password"/> + </resultMap> + + <!-- SSO용 ESNTL_ID를 이용한 로그인(2011.8.26) --> + <select id="ssoLoginByEsntlId" resultMap="login"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + , mber_nm AS name + , ihidNum AS ihidNum + , password AS password + , mber_email_adres AS email + , 'GNR' AS userSe + , '-' AS orgnztId + , ESNTL_ID AS uniqId + FROM COMTNGNRLMBER + WHERE ESNTL_ID = #{uniqId} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + , cmpny_nm AS name + , entrprs_mber_password AS password + , bizrno AS ihidNum + , applcnt_email_adres AS email + , 'ENT' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNENTRPRSMBER + WHERE ESNTL_ID = #{uniqId} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE ESNTL_ID = #{uniqId} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + + <!-- 일반 로그인 --> + <select id="actionLogin" resultMap="login"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + , mber_nm AS name + , ihidNum AS ihidNum + , password AS password + , mber_email_adres AS email + , 'GNR' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + AND password = #{password} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + , cmpny_nm AS name + , entrprs_mber_password AS password + , bizrno AS ihidNum + , applcnt_email_adres AS email + , 'ENT' AS userSe + , '-' AS orgnztId + , esntl_id AS uniqId + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + AND entrprs_mber_password = #{password} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND password = #{password} + AND emplyr_sttus_code = 'P' + + + <!-- + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND password = #{password} + AND emplyr_sttus_code = 'P' + --> + </if> + </select> + + <!-- 인증서 로그인 --> + <select id="actionCrtfctLogin" resultMap="login"> + + SELECT emplyr_id AS id + , user_nm AS name + , password AS password + , ihidnum AS ihidNum + , email_adres AS email + , 'USR' AS userSe + , orgnzt_id AS orgnztId + , esntl_id AS uniqId + FROM COMTNEMPLYRINFO + WHERE CRTFC_DN_VALUE = #{dn} + + </select> + + <!-- 아이디 찾기 --> + <select id="searchId" resultMap="id"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT mber_id AS id + FROM COMTNGNRLMBER + WHERE mber_nm = #{name} + AND mber_email_adres = #{email} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT ENTRPRS_MBER_ID AS id + FROM COMTNENTRPRSMBER + WHERE cmpny_nm = #{name} + AND applcnt_email_adres = #{email} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT emplyr_id AS id + FROM COMTNEMPLYRINFO + WHERE user_nm = #{name} + AND email_adres = #{email} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 비밀번호 찾기 --> + <select id="searchPassword" resultMap="password"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT password AS password + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + AND mber_nm = #{name} + AND mber_email_adres = #{email} + AND password_hint = #{passwordHint} + AND password_cnsr = #{passwordCnsr} + AND mber_sttus = 'P' + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT entrprs_mber_password AS password + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + AND cmpny_nm = #{name} + AND applcnt_email_adres = #{email} + AND entrprs_mber_password_hint = #{passwordHint} + AND entrprs_mber_password_cnsr = #{passwordCnsr} + AND entrprs_mber_sttus = 'P' + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT password AS password + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + AND user_nm = #{name} + AND email_adres = #{email} + AND password_hint = #{passwordHint} + AND password_cnsr = #{passwordCnsr} + AND emplyr_sttus_code = 'P' + + </if> + </select> + + <!-- 변경된 비밀번호를 저장 --> + <update id="updatePassword"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + UPDATE COMTNGNRLMBER + SET password = #{password} + , CHG_PWD_LAST_PNTTM = sysdate() + WHERE mber_id = #{id} + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + UPDATE COMTNENTRPRSMBER + SET entrprs_mber_password = #{password} + , CHG_PWD_LAST_PNTTM = sysdate() + WHERE ENTRPRS_MBER_ID = #{id} + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + UPDATE COMTNEMPLYRINFO + SET password = #{password} + , CHG_PWD_LAST_PNTTM = sysdate() + WHERE emplyr_id = #{id} + + </if> + </update> + + <!-- 로그인인증제한 조회 --> + <select id="selectLoginIncorrect" resultType="egovMap"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + <![CDATA[ + SELECT MBER_ID AS USER_ID + , PASSWORD AS USER_PW + , MBER_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , IFNULL(LOCK_AT,'N') LOCK_AT + , IFNULL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNGNRLMBER + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + <![CDATA[ + SELECT ENTRPRS_MBER_ID AS USER_ID + , ENTRPRS_MBER_PASSWORD AS USER_PW + , CMPNY_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , IFNULL(LOCK_AT,'N') LOCK_AT + , IFNULL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + <![CDATA[ + SELECT EMPLYR_ID AS USER_ID + , PASSWORD AS USER_PW + , USER_NM AS USER_NM + , ESNTL_ID AS UNIQ_ID + , IFNULL(LOCK_AT,'N') LOCK_AT + , IFNULL(LOCK_CNT,0) AS LOCK_CNT + FROM COMTNEMPLYRINFO + WHERE EMPLYR_ID = #{id} + ]]> + </if> + </select> + + <!-- 로그인인증제한 변경 > 일반회원 --> + <update id="updateLoginIncorrectGNR"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = sysdate() + WHERE MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNGNRLMBER + SET LOCK_CNT = IFNULL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = sysdate() + WHERE MBER_ID = #{id} + ]]> + </if> + </update> + + <!-- 로그인인증제한 변경 > 기업사용자 --> + <update id="updateLoginIncorrectENT"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = sysdate() + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNENTRPRSMBER + SET LOCK_CNT = IFNULL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = sysdate() + WHERE ENTRPRS_MBER_ID = #{id} + ]]> + </if> + </update> + + <!-- 로그인인증제한 변경 > 업무사용자 --> + <update id="updateLoginIncorrectUSR"> + <!-- LOCK 해제 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'E')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = NULL + , LOCK_CNT = NULL + , LOCK_LAST_PNTTM = NULL + WHERE EMPLYR_ID = #{id} + ]]> + </if> + <!-- LOCK 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'L')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_AT = 'Y' + , LOCK_CNT = LOCK_CNT+1 + , LOCK_LAST_PNTTM = sysdate() + WHERE EMPLYR_ID = #{id} + ]]> + </if> + <!-- LOCK 카운트 설정 --> + <if test="@egovframework.com.cmm.util.EgovMybaitsUtil@isEquals(updateAt,'C')"> + <![CDATA[ + UPDATE COMTNEMPLYRINFO + SET LOCK_CNT = IFNULL(LOCK_CNT,0)+1 + , LOCK_LAST_PNTTM = sysdate() + WHERE EMPLYR_ID = #{id} + ]]> + </if> + </update> + + <!-- 비밀번호 만료 기간 체크 --> + <select id="selectPassedDayChangePWD" resultType="int"> + <!-- 일반회원 --> + <if test="userSe != null and userSe == 'GNR'"> + + SELECT IFNULL(TIMESTAMPDIFF(day,CHG_PWD_LAST_PNTTM,sysdate()),0) + FROM COMTNGNRLMBER + WHERE mber_id = #{id} + + </if> + <!-- 기업회원 --> + <if test="userSe != null and userSe == 'ENT'"> + + SELECT IFNULL(TIMESTAMPDIFF(day,CHG_PWD_LAST_PNTTM,sysdate()),0) + FROM COMTNENTRPRSMBER + WHERE ENTRPRS_MBER_ID = #{id} + + </if> + <!-- 업무사용자 --> + <if test="userSe != null and userSe == 'USR'"> + + SELECT IFNULL(TIMESTAMPDIFF(day,CHG_PWD_LAST_PNTTM,sysdate()),0) + FROM COMTNEMPLYRINFO + WHERE emplyr_id = #{id} + + </if> + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/uat/uia/EgovLoginUsr_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_postgres.xml (revision 7) @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +<mapper namespace="Editor"> + + <insert id="insertEditorFile" parameterType="froala.editor.EditorFileVO"> + INSERT INTO TNFILE + ( + FILE_ID + , FULL_PATH + , ORIGIN_FILE_NM + , SYS_FILE_NM + , UPLOAD_DIR + , FILE_SIZE + , MIME + , FILE_EXTSN + , LINK + ) + VALUES + ( + #{fileId} + , #{fullPath} + , #{originFileNm} + , #{sysFileNm} + , #{uploadDir} + , #{fileSize} + , #{mime} + , #{fileExtsn} + , #{link} + ) + </insert> + + <update id="updateEditorFile" parameterType="froala.editor.EditorFileVO"> + UPDATE TNFILE SET + LINK = #{link} + WHERE FILE_ID = #{fileId} + </update> + + <delete id="deleteEditorFile" parameterType="string"> + DELETE FROM TNFILE + WHERE FILE_ID = #{fileId} + </delete> + + <select id="selectEditorFile" parameterType="string" resultType="froala.editor.EditorFileVO"> + SELECT FILE_ID + , LINK + , FULL_PATH + , FILE_EXTSN + , ORIGIN_FILE_NM + , SYS_FILE_NM + , UPLOAD_DIR + , FILE_SIZE + , MIME + FROM TNFILE + WHERE FILE_ID = #{fileId} + </select> +</mapper> Property changes on: base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_mysql.xml (revision 7) @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +<mapper namespace="Editor"> + + <insert id="insertEditorFile" parameterType="froala.editor.EditorFileVO"> + INSERT INTO TNFILE + ( + FILE_ID + , FULL_PATH + , ORIGIN_FILE_NM + , SYS_FILE_NM + , UPLOAD_DIR + , FILE_SIZE + , MIME + , FILE_EXTSN + , LINK + ) + VALUES + ( + #{fileId} + , #{fullPath} + , #{originFileNm} + , #{sysFileNm} + , #{uploadDir} + , #{fileSize} + , #{mime} + , #{fileExtsn} + , #{link} + ) + </insert> + + <update id="updateEditorFile" parameterType="froala.editor.EditorFileVO"> + UPDATE TNFILE SET + LINK = #{link} + WHERE FILE_ID = #{fileId} + </update> + + <delete id="deleteEditorFile" parameterType="string"> + DELETE FROM TNFILE + WHERE FILE_ID = #{fileId} + </delete> + + <select id="selectEditorFile" parameterType="string" resultType="froala.editor.EditorFileVO"> + SELECT FILE_ID + , LINK + , FULL_PATH + , FILE_EXTSN + , ORIGIN_FILE_NM + , SYS_FILE_NM + , UPLOAD_DIR + , FILE_SIZE + , MIME + FROM TNFILE + WHERE FILE_ID = #{fileId} + </select> + + <insert id="insertTmpFile" parameterType="froala.editor.EditorFileVO" useGeneratedKeys="true" keyProperty="fileId"> + INSERT INTO TNFILETMP + ( + FULL_PATH + , ORIGIN_FILE_NM + , SYS_FILE_NM + , UPLOAD_DIR + , FILE_SIZE + , MIME + , FILE_EXTSN + ) + VALUES + ( + #{fullPath} + , #{originFileNm} + , #{sysFileNm} + , #{uploadDir} + , #{fileSize} + , #{mime} + , #{fileExtsn} + ) + </insert> + + <update id="updateTmpFile" parameterType="froala.editor.EditorFileVO"> + UPDATE TNFILETMP SET + LINK = #{link} + WHERE FILE_ID = #{fileId} + </update> + + <delete id="deleteTmpFile" parameterType="string"> + DELETE FROM TNFILETMP + WHERE FILE_ID = #{fileId} + </delete> + + <select id="selectTmpFile" parameterType="string" resultType="froala.editor.EditorFileVO"> + SELECT FILE_ID + , LINK + , FULL_PATH + , FILE_EXTSN + , ORIGIN_FILE_NM + , SYS_FILE_NM + , UPLOAD_DIR + , FILE_SIZE + , MIME + FROM TNFILETMP + WHERE FILE_ID = #{fileId} + </select> +</mapper> Property changes on: base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_sqlite.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_sqlite.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_sqlite.xml (revision 7) @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +<mapper namespace="Editor"> + + <insert id="insertEditorFile" parameterType="froala.editor.EditorFileVO"> + INSERT INTO TNFILE + ( + FILE_ID + , FULL_PATH + , ORIGIN_FILE_NM + , SYS_FILE_NM + , UPLOAD_DIR + , FILE_SIZE + , MIME + , FILE_EXTSN + ) + VALUES + ( + #{fileId} + , #{fullPath} + , #{originFileNm} + , #{sysFileNm} + , #{uploadDir} + , #{fileSize} + , #{mime} + , #{fileExtsn} + ) + </insert> + + <update id="updateEditorFile" parameterType="froala.editor.EditorFileVO"> + UPDATE TNFILE SET + LINK = #{link} + WHERE FILE_ID = #{fileId} + </update> + + <delete id="deleteEditorFile" parameterType="string"> + DELETE FROM TNFILE + WHERE FILE_ID = #{fileId} + </delete> + + <select id="selectEditorFile" parameterType="string" resultType="froala.editor.EditorFileVO"> + SELECT FILE_ID + , LINK + , FULL_PATH + , FILE_EXTSN + , ORIGIN_FILE_NM + , SYS_FILE_NM + , UPLOAD_DIR + , FILE_SIZE + , MIME + FROM TNFILE + WHERE FILE_ID = #{fileId} + </select> +</mapper> Property changes on: base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_sqlite.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_oracle.xml (revision 7) @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +<mapper namespace="Editor"> + + <insert id="insertEditorFile" parameterType="froala.editor.EditorFileVO"> + INSERT INTO TNFILE + ( + FILE_ID + , FULL_PATH + , ORIGIN_FILE_NM + , SYS_FILE_NM + , UPLOAD_DIR + , FILE_SIZE + , MIME + , FILE_EXTSN + ) + VALUES + ( + #{fileId} + , #{fullPath} + , #{originFileNm} + , #{sysFileNm} + , #{uploadDir} + , #{fileSize} + , #{mime} + , #{fileExtsn} + ) + </insert> + + <update id="updateEditorFile" parameterType="froala.editor.EditorFileVO"> + UPDATE TNFILE SET + LINK = #{link} + WHERE FILE_ID = #{fileId} + </update> + + <delete id="deleteEditorFile" parameterType="string"> + DELETE FROM TNFILE + WHERE FILE_ID = #{fileId} + </delete> + + <select id="selectEditorFile" parameterType="string" resultType="froala.editor.EditorFileVO"> + SELECT FILE_ID + , LINK + , FULL_PATH + , FILE_EXTSN + , ORIGIN_FILE_NM + , SYS_FILE_NM + , UPLOAD_DIR + , FILE_SIZE + , MIME + FROM TNFILE + WHERE FILE_ID = #{fileId} + </select> +</mapper> Property changes on: base3.10/src/main/resources/egovframework/mapper/com/editor/Editor_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_altibase.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_altibase.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_altibase.xml (revision 7) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="PrntngOutptDA"> + + <resultMap id="PrntngOutptResult" type="egovframework.com.utl.pao.service.PrntngOutptVO"> + <result property="imgInfo" column="IMAGE_INFO"/> + <result property="imgType" column="IMAGE_TY"/> + </resultMap> + + <select id="selectErncsl" parameterType="egovframework.com.utl.pao.service.PrntngOutptVO" resultMap="PrntngOutptResult"> + + SELECT IMAGE_INFO + , IMAGE_TY + FROM IMGTEMP + WHERE ORGNZT_CODE = #{orgCode} + AND ERNCSL_SE = #{erncslSe} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_altibase.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_mysql.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_mysql.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_mysql.xml (revision 7) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="PrntngOutptDA"> + + <resultMap id="PrntngOutptResult" type="egovframework.com.utl.pao.service.PrntngOutptVO"> + <result property="imgInfo" column="IMAGE_INFO"/> + <result property="imgType" column="IMAGE_TY"/> + </resultMap> + + <select id="selectErncsl" parameterType="egovframework.com.utl.pao.service.PrntngOutptVO" resultMap="PrntngOutptResult"> + + SELECT IMAGE_INFO + , IMAGE_TY + FROM IMGTEMP + WHERE ORGNZT_CODE = #{orgCode} + AND ERNCSL_SE = #{erncslSe} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_mysql.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_tibero.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_tibero.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_tibero.xml (revision 7) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="PrntngOutptDA"> + + <resultMap id="PrntngOutptResult" type="egovframework.com.utl.pao.service.PrntngOutptVO"> + <result property="imgInfo" column="IMAGE_INFO"/> + <result property="imgType" column="IMAGE_TY"/> + </resultMap> + + <select id="selectErncsl" parameterType="egovframework.com.utl.pao.service.PrntngOutptVO" resultMap="PrntngOutptResult"> + + SELECT IMAGE_INFO + , IMAGE_TY + FROM IMGTEMP + WHERE ORGNZT_CODE = #{orgCode} + AND ERNCSL_SE = #{erncslSe} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_tibero.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_maria.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_maria.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_maria.xml (revision 7) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="PrntngOutptDA"> + + <resultMap id="PrntngOutptResult" type="egovframework.com.utl.pao.service.PrntngOutptVO"> + <result property="imgInfo" column="IMAGE_INFO"/> + <result property="imgType" column="IMAGE_TY"/> + </resultMap> + + <select id="selectErncsl" parameterType="egovframework.com.utl.pao.service.PrntngOutptVO" resultMap="PrntngOutptResult"> + + SELECT IMAGE_INFO + , IMAGE_TY + FROM IMGTEMP + WHERE ORGNZT_CODE = #{orgCode} + AND ERNCSL_SE = #{erncslSe} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_maria.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_postgres.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_postgres.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_postgres.xml (revision 7) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="PrntngOutptDA"> + + <resultMap id="PrntngOutptResult" type="egovframework.com.utl.pao.service.PrntngOutptVO"> + <result property="imgInfo" column="IMAGE_INFO"/> + <result property="imgType" column="IMAGE_TY"/> + </resultMap> + + <select id="selectErncsl" parameterType="egovframework.com.utl.pao.service.PrntngOutptVO" resultMap="PrntngOutptResult"> + + SELECT IMAGE_INFO + , IMAGE_TY + FROM IMGTEMP + WHERE ORGNZT_CODE = #{orgCode} + AND ERNCSL_SE = #{erncslSe} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_postgres.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_cubrid.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_cubrid.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_cubrid.xml (revision 7) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="PrntngOutptDA"> + + <resultMap id="PrntngOutptResult" type="egovframework.com.utl.pao.service.PrntngOutptVO"> + <result property="imgInfo" column="IMAGE_INFO"/> + <result property="imgType" column="IMAGE_TY"/> + </resultMap> + + <select id="selectErncsl" parameterType="egovframework.com.utl.pao.service.PrntngOutptVO" resultMap="PrntngOutptResult"> + + SELECT IMAGE_INFO + , IMAGE_TY + FROM IMGTEMP + WHERE ORGNZT_CODE = #{orgCode} + AND ERNCSL_SE = #{erncslSe} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_cubrid.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_oracle.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_oracle.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_oracle.xml (revision 7) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" +"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="PrntngOutptDA"> + + <resultMap id="PrntngOutptResult" type="egovframework.com.utl.pao.service.PrntngOutptVO"> + <result property="imgInfo" column="IMAGE_INFO"/> + <result property="imgType" column="IMAGE_TY"/> + </resultMap> + + <select id="selectErncsl" parameterType="egovframework.com.utl.pao.service.PrntngOutptVO" resultMap="PrntngOutptResult"> + + SELECT IMAGE_INFO + , IMAGE_TY + FROM IMGTEMP + WHERE ORGNZT_CODE = #{orgCode} + AND ERNCSL_SE = #{erncslSe} + + </select> + +</mapper> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/com/utl/pao/EgovPrntngOutpt_SQL_oracle.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/mapper/config/mapper-config.xml =================================================================== --- base3.10/src/main/resources/egovframework/mapper/config/mapper-config.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/mapper/config/mapper-config.xml (revision 7) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> +<configuration> + + <!--Mybatis 설정 --> + <settings> + <!-- 전통적인 데이터베이스 컬럼명 형태인 A_COLUMN을 CamelCase형태의 자바 프로퍼티명 형태인 aColumn으로 자동으로 매핑하도록 함 --> + <setting name="mapUnderscoreToCamelCase" value="true"></setting> + <!-- 파라미터에 Null 값이 있을 경우 에러 처리 --> + <setting name="jdbcTypeForNull" value="VARCHAR"></setting> + </settings> + + <!-- Type Aliases 설정--> + <typeAliases> + <typeAlias alias="egovMap" type="egovframework.rte.psl.dataaccess.util.EgovMap" /> + <typeAlias alias="FileVO" type="egovframework.com.cmm.service.FileVO" /> + <typeAlias alias="ComDefaultCodeVO" type="egovframework.com.cmm.ComDefaultCodeVO" /> + <typeAlias alias="comDefaultVO" type="egovframework.com.cmm.ComDefaultVO" /> + </typeAliases> + +</configuration> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/mapper/config/mapper-config.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/sec/ram/EgovSecurityManage.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/sec/ram/EgovSecurityManage.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/sec/ram/EgovSecurityManage.xml (revision 7) @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="authorManage"> + <field property="authorCode" depends="required, maxlength"> + <arg0 key="권한 코드" resource="true"/> + <arg1 key="30" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>30</var-value> + </var> + </field> + <field property="authorNm" depends="required, maxlength"> + <arg0 key="권한 명" resource="true"/> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + <field property="authorDc" depends="maxlength"> + <arg0 key="설명" resource="true"/> + <arg1 key="200" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>200</var-value> + </var> + </field> + </form> + </formset> + + <formset> + <form name="groupManage"> + <field property="groupNm" depends="required, maxlength"> + <arg0 key="그룹 명" resource="true"/> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + <field property="groupDc" depends="maxlength"> + <arg0 key="설명" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + </form> + </formset> + + <formset> + <form name="roleManage"> + <field property="roleNm" depends="required, maxlength"> + <arg0 key="롤 명" resource="true"/> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + <field property="rolePtn" depends="required, maxlength"> + <arg0 key="롤 패턴" resource="true"/> + <arg1 key="300" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>300</var-value> + </var> + </field> + <field property="roleDc" depends="maxlength"> + <arg0 key="롤 설명" resource="true"/> + <arg1 key="200" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>200</var-value> + </var> + </field> + <field property="roleSort" depends="required, integer, maxlength"> + <arg0 key="롤 Sort" resource="true"/> + <arg1 key="10" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>10</var-value> + </var> + </field> + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/sec/ram/EgovSecurityManage.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/cop/scp/EgovArticleScrapRegist.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/cop/scp/EgovArticleScrapRegist.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/cop/scp/EgovArticleScrapRegist.xml (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="articleScrapVO"> + <field property="scrapNm" depends="required"> + <arg0 key="comCopScp.articleScrapVO.regist.scrapNm" /> + </field> + </form> + </formset> +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/cop/scp/EgovArticleScrapRegist.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/cop/com/EgovCopComManage.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/cop/com/EgovCopComManage.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/cop/com/EgovCopComManage.xml (revision 7) @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + <formset> + <form name="templateInf" > + <field property="tmplatNm" depends="required, maxlength"> + <arg0 key="cop.tmplatNm" /> + <arg1 key="120" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>120</var-value> + </var> + </field> + <field property="tmplatCours" depends="required, maxlength"> + <arg0 key="cop.tmplatCours" /> + <arg1 key="2000" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>2000</var-value> + </var> + </field> + <field property="tmplatSeCode" depends="required"> + <arg0 key="cop.tmplatSeCode" /> + </field> + </form> + <form name="boardUseInf" > + <field property="bbsId" depends="required"> + <arg0 key="cop.bbsNm" /> + </field> + <field property="trgetId" depends="required"> + <arg0 key="cop.trgetNm" /> + </field> + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/cop/com/EgovCopComManage.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovSatisfactionRegist.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovSatisfactionRegist.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovSatisfactionRegist.xml (revision 7) @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="satisfaction"> + <field property="wrterNm" depends="required, maxlength"> + <arg0 key="cop.satisfaction.wrterNm" /> + <arg1 key="20" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>20</var-value> + </var> + </field> + <field property="stsfdgCn" depends="maxlength"> + <arg0 key="cop.satisfaction.stsfdgCn" /> + <arg1 key="200" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>200</var-value> + </var> + </field> + <field property="stsfdg" depends="required"> + <arg0 key="cop.satisfaction.stsfdg" /> + </field> + <field property="stsfdgPassword" depends="required"> + <arg0 key="cop.satisfaction.stsfdgPassword" /> + </field> + </form> + </formset> +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovSatisfactionRegist.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovBlogRegist.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovBlogRegist.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovBlogRegist.xml (revision 7) @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="blogMasterVO"> + + <field property="blogNm" depends="required, maxlength"> + <arg0 key="comCopBlog.blogMasterVO.regist.blogNm" /> + <arg1 key="120" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>120</var-value> + </var> + </field> + + <field property="blogIntrcn" depends="required, maxlength"> + <arg0 key="comCopBlog.blogMasterVO.regist.blogIntrcn" /> + <arg1 key="2000" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>2000</var-value> + </var> + </field> + + <field property="useAt" depends="required"> + <arg0 key="comCopBlog.blogMasterVO.regist.useAt" /> + </field> + + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovBlogRegist.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovBBSMasterRegist.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovBBSMasterRegist.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovBBSMasterRegist.xml (revision 7) @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="boardMasterVO"> + <field property="bbsNm" depends="required, maxlength"> + <arg0 key="comCopBbs.boardMasterVO.regist.bbsNm" /> + <arg1 key="120" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>120</var-value> + </var> + </field> + + <field property="bbsIntrcn" depends="required, maxlength"> + <arg0 key="comCopBbs.boardMasterVO.regist.bbsIntrcn" /> + <arg1 key="2000" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>2000</var-value> + </var> + </field> + <field property="bbsTyCode" depends="required"> + <arg0 key="comCopBbs.boardMasterVO.regist.bbsTyCode" /> + </field> + <field property="replyPosblAt" depends="required"> + <arg0 key="comCopBbs.boardMasterVO.regist.replyPosblAt" /> + </field> + <field property="fileAtchPosblAt" depends="required"> + <arg0 key="comCopBbs.boardMasterVO.regist.fileAtchPosblAt" /> + </field> + <field property="useAt" depends="required"> + <arg0 key="comCopBbs.boardMasterVO.regist.useAt" /> + </field> + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovBBSMasterRegist.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovArticleRegist.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovArticleRegist.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovArticleRegist.xml (revision 7) @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="articleVO"> + <field property="nttSj" depends="required, maxlength"> + <arg0 key="comCopBbs.articleVO.regist.nttSj" /> + <arg1 key="1200" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>1200</var-value> + </var> + </field> + <field property="nttCn" depends="required"> + <arg0 key="comCopBbs.articleVO.regist.nttCn" /> + </field> + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/cop/bbs/EgovArticleRegist.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/cop/clb/EgovClubRegist.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/cop/clb/EgovClubRegist.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/cop/clb/EgovClubRegist.xml (revision 7) @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + <formset> + <form name="club"> + <field property="cmmntyId" depends="required"> + <arg0 key="cop.cmmntyNm" /> + </field> + <field property="clbNm" depends="required, maxlength"> + <arg0 key="cop.clbNm" /> + <arg1 key="120" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>120</var-value> + </var> + </field> + <field property="clbIntrcn" depends="required, maxlength"> + <arg0 key="cop.clbIntrcn" /> + <arg1 key="1200" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>1200</var-value> + </var> + </field> + <field property="tmplatId" depends="required"> + <arg0 key="cop.tmplatId" /> + </field> + <field property="emplyrId" depends="required"> + <arg0 key="cop.clbOprtr" /> + </field> + </form> + + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/cop/clb/EgovClubRegist.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/cop/cmt/EgovArticleCommentRegist.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/cop/cmt/EgovArticleCommentRegist.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/cop/cmt/EgovArticleCommentRegist.xml (revision 7) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="formComment"> + <field property="commentCn" depends="required, maxlength"> + <arg0 key="comCopCmt.articleCommentVO.commentCn" /> + <arg1 key="200" resource="false"/> + <var> + <var-name>maxlength</var-name> + <var-value>200</var-value> + </var> + </field> + </form> + </formset> + <formset> + <form name="articleCommentVO"> + <field property="commentCn" depends="required, maxlength"> + <arg0 key="comCopCmt.articleCommentVO.commentCn" /> + <arg1 key="200" resource="false"/> + <var> + <var-name>maxlength</var-name> + <var-value>200</var-value> + </var> + </field> + </form> + </formset> +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/cop/cmt/EgovArticleCommentRegist.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/cop/ems/EgovMailRegist.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/cop/ems/EgovMailRegist.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/cop/ems/EgovMailRegist.xml (revision 7) @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="sndngMailVO"> + <field property="recptnPerson" depends="required, email, maxlength"> + <arg0 key="받는사람" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + + <field property="sj" depends="required, maxlength"> + <arg0 key="제목" resource="true"/> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/cop/ems/EgovMailRegist.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/cop/cmy/EgovCommuMasterRegist.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/cop/cmy/EgovCommuMasterRegist.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/cop/cmy/EgovCommuMasterRegist.xml (revision 7) @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + <formset> + <form name="commuMasterVO"> + <field property="cmmntyNm" depends="required, maxlength"> + <arg0 key="comCopCmy.commuMasterVO.regist.cmmntyNm" /> + <arg1 key="120" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>120</var-value> + </var> + </field> + <field property="cmmntyIntrcn" depends="required, maxlength"> + <arg0 key="comCopCmy.commuMasterVO.regist.cmmntyIntrcn" /> + <arg1 key="1200" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>1200</var-value> + </var> + </field> +<!-- <field property="tmplatId" depends="required"> --> +<!-- <arg0 key="cop.tmplatId" /> --> +<!-- </field> --> +<!-- <field property="emplyrId" depends="required"> --> +<!-- <arg0 key="cop.cmmntyMngr" /> --> +<!-- </field> --> + </form> + + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/cop/cmy/EgovCommuMasterRegist.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovUserManage.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovUserManage.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovUserManage.xml (revision 7) @@ -0,0 +1,149 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + + <form name="userManageVO"> + + <field property="emplyrId" depends="required, maxlength"> + <arg0 key="사용자아이디" resource="true"/> + <arg1 key="20" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>20</var-value> + </var> + </field> + + <field property="emplyrNm" depends="required, maxlength"> + <arg0 key="사용자이름" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + + <field property="password" depends="required, password1, pwdCheckSeries, pwdCheckRepeat, pwdCheckComb3"> + <arg0 key="비밀번호" resource="true"/> + </field> + + <field property="passwordHint" depends="required"> + <arg0 key="비밀번호힌트" resource="true"/> + </field> + + <field property="passwordCnsr" depends="required, maxlength"> + <arg0 key="비밀번호정답" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + <!-- + <field property="ihidnum" depends="required, ihidnum"> + <arg0 key="주민등록번호" resource="true"/> + </field> + --> + <field property="areaNo" depends="required, maxlength, integer"> + <arg0 key="집지역번호" resource="true"/> + <arg1 key="4" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>4</var-value> + </var> + </field> + + <field property="homemiddleTelno" depends="required, maxlength, integer"> + <arg0 key="집중간전화번호" resource="true"/> + <arg1 key="4" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>4</var-value> + </var> + </field> + + <field property="homeendTelno" depends="required, maxlength, integer"> + <arg0 key="집마지막전화번호" resource="true"/> + <arg1 key="4" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>4</var-value> + </var> + </field> + + <field property="offmTelno" depends="maxlength"> + <arg0 key="사무실전화번호" resource="true"/> + <arg1 key="15" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>15</var-value> + </var> + </field> + + <field property="fxnum" depends="maxlength"> + <arg0 key="팩스번호" resource="true"/> + <arg1 key="15" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>15</var-value> + </var> + </field> + + <field property="moblphonNo" depends="maxlength"> + <arg0 key="핸드폰번호" resource="true"/> + <arg1 key="15" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>15</var-value> + </var> + </field> + + <field property="emailAdres" depends="required, email, maxlength"> + <arg0 key="이메일주소" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + + <field property="zip" depends="required"> + <arg0 key="우편번호" resource="true"/> + </field> + + <field property="homeadres" depends="required, maxlength"> + <arg0 key="주소" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + + <field property="groupId" depends="required"> + <arg0 key="그룹아이디" resource="true"/> + </field> + + + <field property="emplyrSttusCode" depends="required"> + <arg0 key="사용자상태코드" resource="true"/> + </field> + + <field property="subDn" depends="maxlength"> + <arg0 key="사용자DN" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + + </form> + + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovUserManage.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovMberManage.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovMberManage.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovMberManage.xml (revision 7) @@ -0,0 +1,135 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + + <form name="mberManageVO"> + + <field property="mberId" depends="required, maxlength"> + <arg0 key="일반회원아이디" resource="true"/> + <arg1 key="20" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>20</var-value> + </var> + </field> + + <field property="mberNm" depends="required, maxlength"> + <arg0 key="일반회원이름" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + + <field property="password" depends="required, password1, pwdCheckSeries, pwdCheckRepeat, pwdCheckComb3"> + <arg0 key="비밀번호" resource="true"/> + </field> + + <field property="passwordHint" depends="required"> + <arg0 key="비밀번호힌트" resource="true"/> + </field> + + <field property="passwordCnsr" depends="required, maxlength"> + <arg0 key="비밀번호정답" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + <!-- + <field property="ihidnum" depends="required, ihidnum"> + <arg0 key="주민등록번호" resource="true"/> + </field> + --> + <field property="areaNo" depends="required, maxlength, integer"> + <arg0 key="집지역번호" resource="true"/> + <arg1 key="4" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>4</var-value> + </var> + </field> + + <field property="middleTelno" depends="required, maxlength, integer"> + <arg0 key="집중간전화번호" resource="true"/> + <arg1 key="4" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>4</var-value> + </var> + </field> + + <field property="endTelno" depends="required, maxlength, integer"> + <arg0 key="집마지막전화번호" resource="true"/> + <arg1 key="4" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>4</var-value> + </var> + </field> + + <field property="mberFxnum" depends="maxlength"> + <arg0 key="팩스번호" resource="true"/> + <arg1 key="15" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>15</var-value> + </var> + </field> + + <field property="moblphonNo" depends="required, maxlength"> + <arg0 key="핸드폰번호" resource="true"/> + <arg1 key="15" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>15</var-value> + </var> + </field> + + <field property="mberEmailAdres" depends="required, email, maxlength"> + <arg0 key="이메일주소" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + + <field property="zip" depends="required"> + <arg0 key="우편번호" resource="true"/> + <arg1 key="6" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>6</var-value> + </var> + </field> + + <field property="adres" depends="required, maxlength"> + <arg0 key="주소" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + + <!--<field property="groupId" depends="required"> + <arg0 key="그룹코드" resource="true"/> + </field>--> + + <field property="mberSttus" depends="required"> + <arg0 key="일반회원상태코드" resource="true"/> + </field> + + </form> + + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovMberManage.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovPassword.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovPassword.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovPassword.xml (revision 7) @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + + <form name="passwordChgVO"> + + <field property="newPassword" depends="required, password1, pwdCheckSeries, pwdCheckRepeat, pwdCheckComb3"> + <arg0 key="비밀번호" resource="true"/> + </field> + + <field property="oldPassword" depends="required"> + <arg0 key="이전비밀번호" resource="true"/> + </field> + + </form> + + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovPassword.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovEntrprsManage.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovEntrprsManage.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovEntrprsManage.xml (revision 7) @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + + <form name="entrprsManageVO"> + <field property="entrprsmberId" depends="required, maxlength"> + <arg0 key="기업회원아이디" resource="true"/> + <arg1 key="20" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>20</var-value> + </var> + </field> + + <field property="cmpnyNm" depends="required, maxlength"> + <arg0 key="회사명" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + + <field property="entrprsMberPassword" depends="required, password1, pwdCheckSeries, pwdCheckRepeat, pwdCheckComb3"> + <arg0 key="비밀번호" resource="true"/> + </field> + + <field property="entrprsMberPasswordHint" depends="required"> + <arg0 key="비밀번호힌트" resource="true"/> + </field> + + <field property="entrprsMberPasswordCnsr" depends="required, maxlength"> + <arg0 key="비밀번호정답" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + + <field property="bizrno" depends="required"> + <arg0 key="사업자등록번호" resource="true"/> + </field> + + <field property="areaNo" depends="required, maxlength, integer"> + <arg0 key="회사지역번호" resource="true"/> + <arg1 key="4" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>4</var-value> + </var> + </field> + + <field property="entrprsMiddleTelno" depends="required, maxlength, integer"> + <arg0 key="회사중간전화번호" resource="true"/> + <arg1 key="4" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>4</var-value> + </var> + </field> + + <field property="entrprsEndTelno" depends="required, maxlength, integer"> + <arg0 key="회사마지막전화번호" resource="true"/> + <arg1 key="4" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>4</var-value> + </var> + </field> + + <field property="zip" depends="required"> + <arg0 key="우편번호" resource="true"/> + </field> + + <field property="adres" depends="required, maxlength"> + <arg0 key="주소" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + + <field property="applcntNm" depends="required"> + <arg0 key="신청자이름" resource="true"/> + </field> + <!-- + <field property="applcntIhidnum" depends="required, ihidnum"> + <arg0 key="신청자주민등록번호" resource="true"/> + </field> + --> + <field property="applcntEmailAdres" depends="required, email,maxlength"> + <arg0 key="신청자이메일주소" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + + <!--<field property="groupId" depends="required"> + <arg0 key="그룹코드" resource="true"/> + </field> --> + + <field property="entrprsMberSttus" depends="required"> + <arg0 key="사용자상태코드" resource="true"/> + </field> + + </form> + + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/uss/umt/EgovEntrprsManage.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/sym/mnu/bmm/EgovBkmkmanage.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/sym/mnu/bmm/EgovBkmkmanage.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/sym/mnu/bmm/EgovBkmkmanage.xml (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + <formset> + <form name="bkmk"> + <field property="menuNm" depends="required, maxlength"> + <arg0 key="메뉴명" /> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/sym/mnu/bmm/EgovBkmkmanage.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/sym/mnu/mcm/EgovMenuSiteMap.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/sym/mnu/mcm/EgovMenuSiteMap.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/sym/mnu/mcm/EgovMenuSiteMap.xml (revision 7) @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + <formset> + <form name="menuSiteMapVO"> + <field property="menuNo" depends="required, integer"> + <arg0 key="메뉴번호" resource="true"/> + </field> + <field property="menuOrdr" depends="required, integer"> + <arg0 key="메뉴순서" resource="true"/> + </field> + <field property="menuNm" depends="required, maxlength"> + <arg0 key="메뉴명" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + <field property="upperMenuId" depends="required, integer"> + <arg0 key="메뉴상위번호" resource="true"/> + </field> + <field property="progrmFileNm" depends="required, maxlength"> + <arg0 key="프로그램파일명" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + <field property="menuDc" depends="maxlength"> + <arg0 key="메뉴설명" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + <field property="relateImagePath" depends="maxlength"> + <arg0 key="관련이미지경로" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + <field property="relateImageNm" depends="maxlength"> + <arg0 key="관련이미지명" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + </form> + </formset> +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/sym/mnu/mcm/EgovMenuSiteMap.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/sym/mnu/mcm/EgovMenuCreat.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/sym/mnu/mcm/EgovMenuCreat.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/sym/mnu/mcm/EgovMenuCreat.xml (revision 7) @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + <formset> + <form name="menuCreatVO"> + <field property="menuNo" depends="required, integer"> + <arg0 key="메뉴번호" resource="true"/> + </field> + <field property="menuOrdr" depends="required, integer"> + <arg0 key="메뉴순서" resource="true"/> + </field> + <field property="menuNm" depends="required, maxlength"> + <arg0 key="메뉴명" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + <field property="upperMenuId" depends="required, integer"> + <arg0 key="메뉴상위번호" resource="true"/> + </field> + <field property="progrmFileNm" depends="required, maxlength"> + <arg0 key="프로그램파일명" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + <field property="menuDc" depends="maxlength"> + <arg0 key="메뉴설명" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + <field property="relateImagePath" depends="maxlength"> + <arg0 key="관련이미지경로" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + <field property="relateImageNm" depends="maxlength"> + <arg0 key="관련이미지명" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + </form> + </formset> +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/sym/mnu/mcm/EgovMenuCreat.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/sym/mnu/mpm/EgovMenuManage.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/sym/mnu/mpm/EgovMenuManage.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/sym/mnu/mpm/EgovMenuManage.xml (revision 7) @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + <formset> + <form name="menuManageVO"> + <field property="menuNo" depends="required, integer"> + <arg0 key="comSymMnuMpm.menuManage.validate.menuNo"/> + </field> + <field property="menuOrdr" depends="required, integer"> + <arg0 key="comSymMnuMpm.menuManage.validate.menuOrdr"/> + </field> + <field property="menuNm" depends="required, maxlength"> + <arg0 key="comSymMnuMpm.menuManage.validate.menuNm"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + <field property="upperMenuId" depends="required, integer"> + <arg0 key="comSymMnuMpm.menuManage.validate.upperMenuId"/> + </field> + <field property="progrmFileNm" depends="required, maxlength"> + <arg0 key="comSymMnuMpm.menuManage.validate.progrmFileNm"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + <field property="menuDc" depends="maxlength"> + <arg0 key="comSymMnuMpm.menuManage.validate.menuDc"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + <field property="relateImagePath" depends="maxlength"> + <arg0 key="comSymMnuMpm.menuManage.validate.relateImagePath"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + <field property="relateImageNm" depends="maxlength"> + <arg0 key="comSymMnuMpm.menuManage.validate.relateImageNm"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + </form> + </formset> +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/sym/mnu/mpm/EgovMenuManage.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/sym/prm/EgovProgrmManageDtl.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/sym/prm/EgovProgrmManageDtl.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/sym/prm/EgovProgrmManageDtl.xml (revision 7) @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> +<form-validation> + <formset> + <form name="progrmManageDtlVO"> + <field property="progrmFileNm" depends="required, maxlength"> + <arg0 key="프로그램파일명" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + <field property="rqesterNo" depends="required, integer"> + <arg0 key="요청번호" resource="true"/> + </field> + <field property="rqesterPersonId" depends="required, maxlength"> + <arg0 key="요청자ID" resource="true"/> + <arg1 key="20" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>20</var-value> + </var> + </field> + <field property="changerqesterCn" depends="maxlength"> + <arg0 key="변경요청내용" resource="true"/> + <arg1 key="1000" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>1000</var-value> + </var> + </field> + <field property="rqesterProcessCn" depends="maxlength"> + <arg0 key="요청처리내용" resource="true"/> + <arg1 key="1000" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>1000</var-value> + </var> + </field> + <field property="opetrId" depends="maxlength"> + <arg0 key="처리자ID" resource="true"/> + <arg1 key="20" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>20</var-value> + </var> + </field> + <field property="processDe" depends="date"> + <arg0 key="처리일자" resource="true"/> + <var> + <var-name>datePatternStrict</var-name> + <var-value>yyyy-MM-dd</var-value> + </var> + </field> + <field property="rqesterDe" depends="required, date"> + <arg0 key="요청일자" resource="true"/> + <var> + <var-name>datePatternStrict</var-name> + <var-value>yyyy-MM-dd</var-value> + </var> + </field> + <field property="rqesterSj" depends="required, maxlength"> + <arg0 key="요청제목" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + </form> + </formset> +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/sym/prm/EgovProgrmManageDtl.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/sym/prm/EgovProgrmManage.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/sym/prm/EgovProgrmManage.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/sym/prm/EgovProgrmManage.xml (revision 7) @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> +<form-validation> + <formset> + <form name="progrmManageVO"> + <field property="progrmFileNm" depends="required, maxlength"> + <arg0 key="프로그램파일명" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + <field property="progrmStrePath" depends="required, maxlength"> + <arg0 key="프로그램저장경로" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + <field property="progrmKoreanNm" depends="required, maxlength"> + <arg0 key="프로그램한글명" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + <field property="URL" depends="required, maxlength"> + <arg0 key="URL" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + <field property="progrmDc" depends="maxlength"> + <arg0 key="프로그램설명" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + </form> + </formset> +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/sym/prm/EgovProgrmManage.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/sym/ccm/cca/EgovCmmnCodeManage.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/sym/ccm/cca/EgovCmmnCodeManage.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/sym/ccm/cca/EgovCmmnCodeManage.xml (revision 7) @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="cmmnCodeVO"> + <field property="codeId" depends="required, maxlength"> + <arg0 key="comSymCcmCca.cmmnCodeVO.codeId" resource="true"/><!-- 코드ID --> + <arg1 key="6" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>6</var-value> + </var> + </field> + <field property="codeIdNm" depends="required, maxlength"> + <arg0 key="comSymCcmCca.cmmnCodeVO.codeIdNm" resource="true"/><!-- 코드ID명 --> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + <field property="codeIdDc" depends="required, maxlength"> + <arg0 key="comSymCcmCca.cmmnCodeVO.codeIdDc" resource="true"/><!-- 코드ID설명 --> + <arg1 key="200" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>200</var-value> + </var> + </field> + <field property="clCode" depends="required, maxlength"> + <arg0 key="comSymCcmCca.cmmnCodeVO.clCode" resource="true"/><!-- 분류코드 --> + <arg1 key="3" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>3</var-value> + </var> + </field> + <field property="useAt" depends="required"> + <arg0 key="comSymCcmCca.cmmnCodeVO.useAt" resource="true"/><!-- 사용여부 --> + </field> + </form> + + + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/sym/ccm/cca/EgovCmmnCodeManage.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/sym/ccm/ccc/EgovCmmnClCodeManage.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/sym/ccm/ccc/EgovCmmnClCodeManage.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/sym/ccm/ccc/EgovCmmnClCodeManage.xml (revision 7) @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="cmmnClCodeVO"> + <field property="clCode" depends="required, maxlength"> + <arg0 key="comSymCcmCcc.cmmnClCodeVO.clCode" resource="true"/><!-- 분류코드 --> + <arg1 key="3" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>3</var-value> + </var> + </field> + <field property="clCodeNm" depends="required, maxlength"> + <arg0 key="comSymCcmCcc.cmmnClCodeVO.clCodeNm" resource="true"/><!-- 분류코드명 --> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + <field property="clCodeDc" depends="required, maxlength"> + <arg0 key="comSymCcmCcc.cmmnClCodeVO.clCodeDc" resource="true"/><!-- 분류코드설명 --> + <arg1 key="200" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>200</var-value> + </var> + </field> + <field property="useAt" depends="required"> + <arg0 key="comSymCcmCcc.cmmnClCodeVO.useAt" resource="true"/><!-- 사용여부 --> + </field> + </form> + + + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/sym/ccm/ccc/EgovCmmnClCodeManage.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/sym/ccm/cde/EgovCmmnDetailCodeManage.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/sym/ccm/cde/EgovCmmnDetailCodeManage.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/sym/ccm/cde/EgovCmmnDetailCodeManage.xml (revision 7) @@ -0,0 +1,51 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + + <form name="cmmnDetailCodeVO"> + <field property="codeId" depends="required, maxlength"> + <arg0 key="comSymCcmCde.cmmnDetailCodeVO.codeId" resource="true"/><!-- 코드ID --> + <arg1 key="6" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>6</var-value> + </var> + </field> + <field property="code" depends="required, maxlength"> + <arg0 key="comSymCcmCde.cmmnDetailCodeVO.code" resource="true"/><!-- 상세코드 --> + <arg1 key="15" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>15</var-value> + </var> + </field> + <field property="codeNm" depends="required, maxlength"> + <arg0 key="comSymCcmCde.cmmnDetailCodeVO.codeNm" resource="true"/><!-- 상세코드명 --> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + <field property="codeDc" depends="required, maxlength"> + <arg0 key="comSymCcmCde.cmmnDetailCodeVO.codeDc" resource="true"/><!-- 상세코드설명 --> + <arg1 key="200" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>200</var-value> + </var> + </field> + <field property="useAt" depends="required"> + <arg0 key="comSymCcmCde.cmmnDetailCodeVO.useAt" resource="true"/><!-- 사용여부 --> + </field> + </form> + + + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/sym/ccm/cde/EgovCmmnDetailCodeManage.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/uat/uap/EgovLoginPolicy.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/uat/uap/EgovLoginPolicy.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/uat/uap/EgovLoginPolicy.xml (revision 7) @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="loginPolicy"> + <field property="ipInfo" depends="required, maxlength"> + <arg0 key="comUatUap.loginPolicy.validate.ipInfo"/> + <arg1 key="23" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>23</var-value> + </var> + </field> + <field property="lmttAt" depends="required"> + <arg0 key="comUatUap.loginPolicy.validate.lmttAt"/> + </field> + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/uat/uap/EgovLoginPolicy.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/uat/uia/EgovIdPasswordSearch.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/uat/uia/EgovIdPasswordSearch.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/uat/uia/EgovIdPasswordSearch.xml (revision 7) @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="passwordVO"> + <field property="id" depends="required"> + <arg0 key="아이디" resource="true"/> + </field> + <field property="name" depends="required"> + <arg0 key="이름" resource="true"/> + </field> + <field property="email" depends="required, email"> + <arg0 key="이메일" resource="true"/> + </field> + <field property="passwordHint" depends="required"> + <arg0 key="비밀번호힌트" resource="true"/> + </field> + <field property="passwordCnsr" depends="required"> + <arg0 key="비밀번호정답" resource="true"/> + </field> + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/uat/uia/EgovIdPasswordSearch.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/utl/sim/EgovSysInfo.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/utl/sim/EgovSysInfo.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/utl/sim/EgovSysInfo.xml (revision 7) @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="sysForm3"> + <field property="memory" depends="required, integer"> + <arg0 key="메모리" resource="true"/> + </field> + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/utl/sim/EgovSysInfo.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/utl/sys/fsm/EgovFileSysMntrng.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/utl/sys/fsm/EgovFileSysMntrng.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/utl/sys/fsm/EgovFileSysMntrng.xml (revision 7) @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="fileSysMntrngVO"> + <field property="fileSysNm" depends="required, maxlength"> + <arg0 key="comUtlSysFsm.fileSysMntrng.fileSysNm.label" resource="true"/><!-- 파일시스템명 --> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + + <field property="fileSysManageNm" depends="required, maxlength"> + <arg0 key="comUtlSysFsm.fileSysMntrng.fileSysManageNm.label" resource="true"/><!-- 파일시스템관리명 --> + <arg1 key="255" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>255</var-value> + </var> + </field> + + <field property="fileSysMg" depends="required"> + <arg0 key="comUtlSysFsm.fileSysMntrng.fileSysMg.label" resource="true"/><!-- 파일시스템크기 --> + </field> + + <field property="fileSysThrhld" depends="required"> + <arg0 key="comUtlSysFsm.fileSysMntrng.fileSysThrhld.label" resource="true"/><!-- 파일시스템크기 --> + </field> + + <field property="mngrNm" depends="required, maxlength"> + <arg0 key="comUtlSysFsm.fileSysMntrng.mngrNm.label" resource="true"/><!-- 관리자명 --> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + + <field property="mngrEmailAddr" depends="required, maxlength"> + <arg0 key="comUtlSysFsm.fileSysMntrng.mngrEmailAddr.label" resource="true"/><!-- 관리자이메일주소 --> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + + + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/utl/sys/fsm/EgovFileSysMntrng.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/utl/sys/htm/EgovHttpMon.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/utl/sys/htm/EgovHttpMon.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/utl/sys/htm/EgovHttpMon.xml (revision 7) @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="httpMon"> + <field property="webKind" depends="required, maxlength"> + <arg0 key="웹서비스종류" resource="true"/> + <arg1 key="30" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>30</var-value> + </var> + </field> + <field property="siteUrl" depends="required, maxlength"> + <arg0 key="사용포트" resource="true"/> + <arg1 key="100" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>100</var-value> + </var> + </field> + <field property="mngrNm" depends="required, maxlength"> + <arg0 key="관리자명" resource="true"/> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + <field property="mngrEmailAddr" depends="required, maxlength, email"> + <arg0 key="관리자이메일주소" resource="true"/> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + </form> + + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/utl/sys/htm/EgovHttpMon.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/utl/sys/pxy/EgovProxySvc.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/utl/sys/pxy/EgovProxySvc.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/utl/sys/pxy/EgovProxySvc.xml (revision 7) @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="proxySvc"> + <field property="proxyNm" depends="required, maxlength"> + <arg0 key="comUtlSysPxy.proxySvc.proxyNm.label" resource="true"/><!-- 프록시명 --> + <arg1 key="30" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>30</var-value> + </var> + </field> + <field property="proxyIp" depends="required, maxlength"> + <arg0 key="comUtlSysPxy.proxySvc.proxyIp.label" resource="true"/><!-- 프록시IP --> + <arg1 key="23" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>23</var-value> + </var> + </field> + <field property="proxyPort" depends="required, maxlength, integer"> + <arg0 key="comUtlSysPxy.proxySvc.proxyPort.label" resource="true"/><!-- 프록시Port --> + <arg1 key="10" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>10</var-value> + </var> + </field> + <field property="trgetSvcNm" depends="required, maxlength"> + <arg0 key="comUtlSysPxy.proxySvc.trgetSvcNm.label" resource="true"/><!-- 대상서비스명 --> + <arg1 key="30" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>30</var-value> + </var> + </field> + <field property="svcIp" depends="required, maxlength"> + <arg0 key="comUtlSysPxy.proxySvc.svcIp.label" resource="true"/><!-- 서비스IP --> + <arg1 key="23" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>23</var-value> + </var> + </field> + <field property="svcPort" depends="required, maxlength, integer"> + <arg0 key="comUtlSysPxy.proxySvc.svcPort.label" resource="true"/><!-- 서비스Port --> + <arg1 key="10" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>10</var-value> + </var> + </field> + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/utl/sys/pxy/EgovProxySvc.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/utl/sys/nsm/EgovNtwrkSvcMntrng.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/utl/sys/nsm/EgovNtwrkSvcMntrng.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/utl/sys/nsm/EgovNtwrkSvcMntrng.xml (revision 7) @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="ntwrkSvcMntrngVO"> + <field property="sysIp1" depends="required, maxlength"> + <arg0 key="시스템IP1" resource="true"/> + <arg1 key="3" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>3</var-value> + </var> + </field> + + <field property="sysIp2" depends="required, maxlength"> + <arg0 key="시스템IP2" resource="true"/> + <arg1 key="3" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>3</var-value> + </var> + </field> + + <field property="sysIp3" depends="required, maxlength"> + <arg0 key="시스템IP3" resource="true"/> + <arg1 key="3" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>3</var-value> + </var> + </field> + + <field property="sysIp4" depends="required, maxlength"> + <arg0 key="시스템IP4" resource="true"/> + <arg1 key="3" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>3</var-value> + </var> + </field> + + <field property="sysPort" depends="required, maxlength"> + <arg0 key="시스템포트" resource="true"/> + <arg1 key="5" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>5</var-value> + </var> + </field> + + <field property="sysNm" depends="required, maxlength"> + <arg0 key="시스템명" resource="true"/> + <arg1 key="255" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>255</var-value> + </var> + </field> + + <field property="mngrNm" depends="required, maxlength"> + <arg0 key="관리자명" resource="true"/> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + + <field property="mngrEmailAddr" depends="required, maxlength"> + <arg0 key="관리자이메일주소" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + + + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/utl/sys/nsm/EgovNtwrkSvcMntrng.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/utl/sys/ssy/EgovSynchrnServer.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/utl/sys/ssy/EgovSynchrnServer.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/utl/sys/ssy/EgovSynchrnServer.xml (revision 7) @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="synchrnServer"> + <field property="serverNm" depends="required, maxlength"> + <arg0 key="서버명" resource="true"/> + <arg1 key="30" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>30</var-value> + </var> + </field> + <field property="serverIp" depends="required, maxlength"> + <arg0 key="서버 IP" resource="true"/> + <arg1 key="23" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>23</var-value> + </var> + </field> + <field property="serverPort" depends="required, maxlength, integer"> + <arg0 key="서버 Port" resource="true"/> + <arg1 key="10" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>10</var-value> + </var> + </field> + <field property="ftpId" depends="required, maxlength"> + <arg0 key="FTP ID" resource="true"/> + <arg1 key="20" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>20</var-value> + </var> + </field> + <field property="ftpPassword" depends="required, maxlength"> + <arg0 key="FTP 비밀번호" resource="true"/> + <arg1 key="20" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>20</var-value> + </var> + </field> + <field property="synchrnLc" depends="required, maxlength"> + <arg0 key="동기화 위치" resource="true"/> + <arg1 key="255" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>255</var-value> + </var> + </field> + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/utl/sys/ssy/EgovSynchrnServer.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/utl/sys/prm/EgovProcessMon.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/utl/sys/prm/EgovProcessMon.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/utl/sys/prm/EgovProcessMon.xml (revision 7) @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="processMonVO"> + <field property="processNm" depends="required, maxlength"> + <arg0 key="프로세스명" resource="true"/> + <arg1 key="30" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>30</var-value> + </var> + </field> + <field property="mngrNm" depends="required, maxlength"> + <arg0 key="관리자명" resource="true"/> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + <field property="mngrEmailAddr" depends="required, maxlength, email"> + <arg0 key="관리자이메일주소" resource="true"/> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + </form> + + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/utl/sys/prm/EgovProcessMon.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/utl/sys/dbm/EgovDbMntrng.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/utl/sys/dbm/EgovDbMntrng.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/utl/sys/dbm/EgovDbMntrng.xml (revision 7) @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="dbMntrng"> + <field property="dataSourcNm" depends="required, maxlength"> + <arg0 key="데이타소스명" resource="true"/> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + + <field property="serverNm" depends="required, maxlength"> + <arg0 key="서버명" resource="true"/> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + + <field property="dbmsKind" depends="required"> + <arg0 key="DBMS종류" resource="true"/> + </field> + + <field property="ceckSql" depends="required, maxlength"> + <arg0 key="체크SQL" resource="true"/> + <arg1 key="250" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>250</var-value> + </var> + </field> + + <field property="mngrNm" depends="required, maxlength"> + <arg0 key="관리자명" resource="true"/> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + + <field property="mngrEmailAddr" depends="required, maxlength, email"> + <arg0 key="관리자이메일주소" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + + + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/utl/sys/dbm/EgovDbMntrng.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com/utl/sys/trm/EgovTrsmrcvMntrng.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com/utl/sys/trm/EgovTrsmrcvMntrng.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com/utl/sys/trm/EgovTrsmrcvMntrng.xml (revision 7) @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd"> + +<form-validation> + + <formset> + <form name="trsmrcvMntrng"> + <field property="cntcId" depends="required, maxlength"> + <arg0 key="연계ID" resource="true"/> + <arg1 key="8" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>8</var-value> + </var> + </field> + + <field property="testClassNm" depends="required, maxlength"> + <arg0 key="테스트클래스명" resource="true"/> + <arg1 key="255" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>255</var-value> + </var> + </field> + + <field property="mngrNm" depends="required, maxlength"> + <arg0 key="관리자명" resource="true"/> + <arg1 key="60" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>60</var-value> + </var> + </field> + + <field property="mngrEmailAddr" depends="required, maxlength, email"> + <arg0 key="관리자이메일주소" resource="true"/> + <arg1 key="50" resource="true"/> + <var> + <var-name>maxlength</var-name> + <var-value>50</var-value> + </var> + </field> + + </form> + </formset> + +</form-validation> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/validator/com/utl/sys/trm/EgovTrsmrcvMntrng.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/com-rules.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/com-rules.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/com-rules.xml (revision 7) @@ -0,0 +1,663 @@ +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd"> +<!-- + + This file contains the default Struts Validator pluggable validator + definitions. It should be placed somewhere under /WEB-INF and + referenced in the struts-config.xml under the plug-in element + for the ValidatorPlugIn. + + <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> + <set-property property="pathnames" value="/WEB-INF/validator-rules.xml, + /WEB-INF/validation.xml"/> + </plug-in> + + These are the default error messages associated with + each validator defined in this file. They should be + added to your projects ApplicationResources.properties + file or you can associate new ones by modifying the + pluggable validators msg attributes in this file. + + # Struts Validator Error Messages + errors.required={0} is required. + errors.minlength={0} can not be less than {1} characters. + errors.maxlength={0} can not be greater than {1} characters. + errors.invalid={0} is invalid. + + errors.byte={0} must be a byte. + errors.short={0} must be a short. + errors.integer={0} must be an integer. + errors.long={0} must be a long. + errors.float={0} must be a float. + errors.double={0} must be a double. + + errors.date={0} is not a date. + errors.range={0} is not in the range {1} through {2}. + errors.creditcard={0} is an invalid credit card number. + errors.email={0} is an invalid e-mail address. + +--> + +<form-validation> + + <global> + + <!-- 패스워드 validation + 1. password1 : [길이] 8~20자 이내 + + 2. [삭제]password2 : 한글,특수문자,띄어쓰기는 안됨 + 3. [삭제]password3 : 연속된 문자나 순차적인 문자 4개이상 사용금지 + 4. [삭제]password4 : 반복문자나 숫자 연속 4개이상 사용금지 + + 5. pwdCheckComb3 : [조합] 영문자,숫자,특수문자(~!@#$%^&*?)의 최소 3가지 조합 + 6. pwdCheckComb4 : [조합] 영대문자,영소문자,숫자,특수문자(~!@#$%^&*?)의 최소 4가지 조합 + 6. pwdCheckSeries : [연속] 연속된 3개 이상의 문자나 숫자 사용 금지 + 6. pwdCheckRepeat : [반복] 반복된 3개 이상의 문자나 숫자 사용 금지 + --> + <validator name="password1" + classname="egovframework.rte.ptl.mvc.validation.RteFieldChecks" + method="validatePassword1" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" msg="errors.password1"> + <javascript><![CDATA[ + function validatePassword1(form) { + + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oPassword = new password1(); + for (x in oPassword) { + var field = form[oPassword[x][0]]; + if (field.type == 'password') { + if (trim(field.value).length==0 || !checkPassword1(field)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oPassword[x][1]; + bValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + function checkPassword1(pwd) { + + p_pass = pwd.value; + + if (pwd.value.length < 8 || pwd.value.length > 20 ){ + + pwd.value =""; + pwd.focus(); + return false; + } + return pwd; + } + ]]> + </javascript> + </validator> + + <validator name="password2" + classname="egovframework.rte.ptl.mvc.validation.RteFieldChecks" + method="validatePassword2" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" msg="errors.password2"> + <javascript><![CDATA[ + function validatePassword2(form) { + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oPassword = new password2(); + for (x in oPassword) { + var field = form[oPassword[x][0]]; + if (field.type == 'password') { + if (trim(field.value).length==0 || !checkPassword2(field)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oPassword[x][1]; + bValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + function checkPassword2(pwd) { + var str = pwd.value; + for (var i=0; i < str .length; i++) { + ch_char = str .charAt(i); + ch = ch_char.charCodeAt(); + if( (ch >= 33 && ch <= 47) || (ch >= 58 && ch <= 64) || (ch >= 91 && ch <= 96) || (ch >= 123 && ch <= 126) ) { + return false; + } + } + return pwd; + } + ]]> + </javascript> + </validator> + + <validator name="password3" + classname="egovframework.rte.ptl.mvc.validation.RteFieldChecks" + method="validatePassword3" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" msg="errors.password3"> + <javascript><![CDATA[ + function validatePassword3(form) { + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oPassword = new password3(); + for (x in oPassword) { + var field = form[oPassword[x][0]]; + if (field.type == 'password') { + if (trim(field.value).length==0 || !checkPassword3(field)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oPassword[x][1]; + bValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + function checkPassword3(pwd) { + p_pass = pwd.value; + var cnt=0,cnt2=1,cnt3=1; + var temp=""; + + for(i=0;i < p_pass.length;i++){ + temp_pass1 = p_pass.charAt(i); + next_pass = (parseInt(temp_pass1.charCodeAt(0)))+1; + temp_p = p_pass.charAt(i+1); + temp_pass2 = (parseInt(temp_p.charCodeAt(0))); + if (temp_pass2 == next_pass) + cnt2 = cnt2 + 1; + else + cnt2 = 1; + if (temp_pass1 == temp_p) + cnt3 = cnt3 + 1; + else + cnt3 = 1; + if (cnt2 > 3) break; + if (cnt3 > 3) break; + } + if (cnt2 > 3){ + pwd.value =""; + pwd.focus(); + return false; + } + return pwd; + } + ]]> + </javascript> + </validator> + + <validator name="password4" + classname="egovframework.rte.ptl.mvc.validation.RteFieldChecks" + method="validatePassword4" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" msg="errors.password4"> + <javascript><![CDATA[ + function validatePassword4(form) { + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oPassword = new password4(); + for (x in oPassword) { + var field = form[oPassword[x][0]]; + if (field.type == 'password') { + if (trim(field.value).length==0 || !checkPassword4(field)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oPassword[x][1]; + bValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + function checkPassword4(pwd) { + p_pass = pwd.value; + var cnt=0,cnt2=1,cnt3=1; + var temp=""; + + for(i=0;i < p_pass.length;i++){ + temp_pass1 = p_pass.charAt(i); + next_pass = (parseInt(temp_pass1.charCodeAt(0)))+1; + temp_p = p_pass.charAt(i+1); + temp_pass2 = (parseInt(temp_p.charCodeAt(0))); + if (temp_pass2 == next_pass) + cnt2 = cnt2 + 1; + else + cnt2 = 1; + if (temp_pass1 == temp_p) + cnt3 = cnt3 + 1; + else + cnt3 = 1; + if (cnt2 > 3) break; + if (cnt3 > 3) break; + } + if (cnt3 > 3){ + pwd.value =""; + pwd.focus(); + return false; + } + return pwd; + } + ]]> + </javascript> + </validator> + + <validator name="pwdCheckComb3" + classname="egovframework.rte.ptl.mvc.validation.RteFieldChecks" + method="validatePwdCheckComb3" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" msg="errors.pwdcheckcomb3"> + <javascript><![CDATA[ + function validatePwdCheckComb3(form) { + + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oPassword = new pwdCheckComb3(); + for (x in oPassword) { + var field = form[oPassword[x][0]]; + if (field.type == 'password') { + if (trim(field.value).length==0 || !isMoreThan2CharTypeComb(field)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oPassword[x][1]; + bValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + function isMoreThan2CharTypeComb(pwdField) { + + var pwd = pwdField.value; + + var passRegex = /^(?=.*[A-Za-z])(?=.*\d)(?=.*[~!@#$%^&*?])[A-Za-z\d~!@#$%^&*?]+$/; + + return passRegex.test(pwd) ? pwdField : false; + } + ]]> + </javascript> + </validator> + + <validator name="pwdCheckComb4" + classname="egovframework.rte.ptl.mvc.validation.RteFieldChecks" + method="validatePwdCheckComb4" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" msg="errors.pwdcheckcomb4"> + <javascript><![CDATA[ + function validatePwdCheckComb4(form) { + + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oPassword = new pwdCheckComb4(); + for (x in oPassword) { + var field = form[oPassword[x][0]]; + if (field.type == 'password') { + if (trim(field.value).length==0 || !isMoreThan3CharTypeComb(field)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oPassword[x][1]; + bValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + function isMoreThan3CharTypeComb(pwdField) { + + var pwd = pwdField.value; + + var passRegex = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[~!@#$%^&*?])[A-Za-z\d~!@#$%^&*?]+$/; + + return passRegex.test(pwd) ? pwdField : false; + } + ]]> + </javascript> + </validator> + + <validator name="pwdCheckSeries" + classname="egovframework.rte.ptl.mvc.validation.RteFieldChecks" + method="validatePwdCheckSeries" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" msg="errors.pwdcheckseries"> + <javascript><![CDATA[ + function validatePwdCheckSeries(form) { + + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oPassword = new pwdCheckSeries(); + for (x in oPassword) { + var field = form[oPassword[x][0]]; + if (field.type == 'password') { + if (trim(field.value).length==0 || isSeriesCharacter(field)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oPassword[x][1]; + bValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + //연속된 숫자,문자 + function isSeriesCharacter(pwdField) { + + //패스워드 확인 + var rawPassword = pwdField.value; + + //최대 연속 횟수 설정 + var MAX_SERIES_CNT = 2; + + //감소 Cnt, 증가 Cnt 초기화 + var seriesDecCnt=1 , seriesIncCnt=1; + + for(var i=0; i < rawPassword.length ; i++){ + //현재 CharCode , 다음 CharCode 초기화 + var currentCharCode=0, nextCharCode=0; + + currentCharCode = rawPassword.charCodeAt(i); + nextCharCode = rawPassword.charCodeAt(i+1); + + //연속 판단 + //감소된 CharCode, 증가된 CharCode 초기화 + var decreasedCharCode=0, increasedCharCode=0; + + decreasedCharCode = currentCharCode - 1; + increasedCharCode = currentCharCode + 1; + + decreasedCharCode == nextCharCode ? seriesDecCnt++ : seriesDecCnt = 1; + increasedCharCode == nextCharCode ? seriesIncCnt++ : seriesIncCnt = 1; + + if (seriesDecCnt > MAX_SERIES_CNT) break; + if (seriesIncCnt > MAX_SERIES_CNT) break; + } + + if (seriesDecCnt > MAX_SERIES_CNT || seriesIncCnt > MAX_SERIES_CNT ){ + pwdField.value =""; + pwdField.focus(); + return pwdField; + } + + return false; + } + ]]> + </javascript> + </validator> + + <validator name="pwdCheckRepeat" + classname="egovframework.rte.ptl.mvc.validation.RteFieldChecks" + method="validatePwdCheckRepeat" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" msg="errors.pwdcheckrepeat"> + <javascript><![CDATA[ + function validatePwdCheckRepeat(form) { + + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oPassword = new pwdCheckRepeat(); + for (x in oPassword) { + var field = form[oPassword[x][0]]; + if (field.type == 'password') { + if (trim(field.value).length==0 || isRepeatCharacter(field)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oPassword[x][1]; + bValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + //반복된 숫자,문자 + function isRepeatCharacter(pwdField) { + + //패스워드 확인 + var rawPassword = pwdField.value; + + //최대 반복 횟수 + var MAX_REPEAT_CNT = 2; + + //반복 Cnt 초기화 + var repeatCnt = 1; + + for(var i=0; i < rawPassword.length ; i++){ + //현재 CharCode , 다음 CharCode 초기화 + var currentCharCode=0, nextCharCode=0; + + currentCharCode = rawPassword.charCodeAt(i); + nextCharCode = rawPassword.charCodeAt(i+1); + + //반복 판단 + currentCharCode == nextCharCode ? repeatCnt++ : repeatCnt = 1; + + if (repeatCnt > MAX_REPEAT_CNT) break; + } + + if (repeatCnt > MAX_REPEAT_CNT){ + pwdField.value =""; + pwdField.focus(); + return pwdField; + } + + return false; + } + ]]> + </javascript> + </validator> + + <validator name="minInteger" + classname="egovframework.rte.ptl.mvc.validation.RteFieldChecks" + method="validateMinInteger" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + msg="errors.minInteger"> + <javascript><![CDATA[ + function validateMinInteger(form){ + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oInteger = new minInteger(); + for (x in oInteger) { + var field = form[oInteger[x][0]]; + + if (field.type == 'text' || + field.type == 'textarea' || + field.type == 'select-one' || + field.type == 'radio') { + + var value = ''; + // get field's value + if (field.type == "select-one") { + var si = field.selectedIndex; + if (si >= 0) { + value = field.options[si].value; + } + } else { + value = field.value; + } + + if (value.length > 0) { + + if (!isOK(value)) { + bValid = false; + if (i == 0) { + focusField = field; + } + fields[i++] = oInteger[x][1]; + + } else { + var iValue = parseInt(value); + if (isNaN(iValue) || !(iValue >= -2147483648 && iValue <= 2147483647)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oInteger[x][1]; + bValid = false; + } + } + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + function isOK(vv){ + if (vv >0) return true; + else return false; + } + ]]> + </javascript> + </validator> + <validator name="english" + classname="egovframework.rte.ptl.mvc.validation.RteFieldChecks" + method="validateEnglish" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + msg="errors.english"> + <javascript><![CDATA[ + function validateEnglish(form){ + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oEnglish = new english(); + for (x in oEnglish) { + var field = form[oEnglish[x][0]]; + if (field.type == 'text' || field.type == 'textarea') { + if (trim(field.value).length==0 || !checkEnglish(field.value)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oEnglish[x][1]; + bValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + function checkEnglish(EnglishStr){ + for(var i=0;i<EnglishStr.length;i++){ + var EnglishChar = EnglishStr.charCodeAt(i); + if( !( 0x61 <= EnglishChar && EnglishChar <= 0x7A ) && !( 0x41 <= EnglishChar && EnglishChar <= 0x5A ) ) { + return false; + } + } + return true; + } + ]]> + </javascript> + </validator> + + </global> + +</form-validation> Property changes on: base3.10/src/main/resources/egovframework/validator/com-rules.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/validator/validator-rules.xml =================================================================== --- base3.10/src/main/resources/egovframework/validator/validator-rules.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/validator/validator-rules.xml (revision 7) @@ -0,0 +1,1236 @@ +<!DOCTYPE form-validation PUBLIC + "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN" + "http://jakarta.apache.org/commons/dtds/validator_1_0.dtd"> +<!-- + + This file contains the default Struts Validator pluggable validator + definitions. It should be placed somewhere under /WEB-INF and + referenced in the struts-config.xml under the plug-in element + for the ValidatorPlugIn. + + <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> + <set-property property="pathnames" value="/WEB-INF/validator-rules.xml, + /WEB-INF/validation.xml"/> + </plug-in> + + These are the default error messages associated with + each validator defined in this file. They should be + added to your projects ApplicationResources.properties + file or you can associate new ones by modifying the + pluggable validators msg attributes in this file. + + # Struts Validator Error Messages + errors.required={0} is required. + errors.minlength={0} can not be less than {1} characters. + errors.maxlength={0} can not be greater than {1} characters. + errors.invalid={0} is invalid. + + errors.byte={0} must be a byte. + errors.short={0} must be a short. + errors.integer={0} must be an integer. + errors.long={0} must be a long. + errors.float={0} must be a float. + errors.double={0} must be a double. + + errors.date={0} is not a date. + errors.range={0} is not in the range {1} through {2}. + errors.creditcard={0} is an invalid credit card number. + errors.email={0} is an invalid e-mail address. + +--> + +<form-validation> + + <global> + + <validator name="required" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateRequired" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + msg="errors.required"> + + <javascript><![CDATA[ + function validateRequired(form) { + var isValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oRequired = new required(); + for (x in oRequired) { + var field = form[oRequired[x][0]]; + + if ((field.type == 'hidden' || + field.type == 'text' || + field.type == 'textarea' || + field.type == 'file' || + field.type == 'radio' || + field.type == 'checkbox' || + field.type == 'select-one' || + field.type == 'password')) { + var value = ''; + // get field's value + if (field.type == "select-one") { + var si = field.selectedIndex; + if (si >= 0) { + value = field.options[si].value; + } + } else if (field.type == 'radio' || field.type == 'checkbox') { + if (field.checked) { + value = field.value; + } + } else { + value = field.value; + } + if (trim(value).length == 0) { + if ((i == 0) && (field.type != 'hidden')) { + focusField = field; + } + fields[i++] = oRequired[x][1]; + isValid = false; + } + } else if (field.type == "select-multiple") { + var numOptions = field.options.length; + lastSelected=-1; + for(loop=numOptions-1;loop>=0;loop--) { + if(field.options[loop].selected) { + lastSelected = loop; + value = field.options[loop].value; + break; + } + } + if(lastSelected < 0 || trim(value).length == 0) { + if(i == 0) { + focusField = field; + } + fields[i++] = oRequired[x][1]; + isValid=false; + } + } else if ((field.length > 0) && (field[0].type == 'radio' || field[0].type == 'checkbox')) { + isChecked=-1; + for (loop=0;loop < field.length;loop++) { + if (field[loop].checked) { + isChecked=loop; + break; // only one needs to be checked + } + } + if (isChecked < 0) { + if (i == 0) { + focusField = field[0]; + } + fields[i++] = oRequired[x][1]; + isValid=false; + } + } + } + if (fields.length > 0) { + try{ + fields.focus(); + }catch(e){ + console.log(e); + } + alert(fields.join('\n')); + } + return isValid; + } + + // Trim whitespace from left and right sides of s. + function trim(s) { + return s.replace( /^\s*/, "" ).replace( /\s*$/, "" ); + } + + ]]> + </javascript> + + </validator> + + + <validator name="requiredif" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateRequiredIf" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors, + org.apache.commons.validator.Validator" + + msg="errors.required"> + </validator> + + <validator name="validwhen" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateValidWhen" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors, + org.apache.commons.validator.Validator" + msg="errors.required"/> + + <validator name="minlength" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateMinLength" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" + msg="errors.minlength"> + + <javascript><![CDATA[ + function validateMinLength(form) { + var isValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oMinLength = new minlength(); + for (x in oMinLength) { + var field = form[oMinLength[x][0]]; + + if (field.type == 'text' || + field.type == 'textarea') { + + var iMin = parseInt(oMinLength[x][2]("minlength")); + if ((trim(field.value).length > 0) && (field.value.length < iMin)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oMinLength[x][1]; + isValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return isValid; + }]]> + </javascript> + + </validator> + + + <validator name="maxlength" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateMaxLength" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" + msg="errors.maxlength"> + + <javascript><![CDATA[ + function validateMaxLength(form) { + var isValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oMaxLength = new maxlength(); + for (x in oMaxLength) { + var field = form[oMaxLength[x][0]]; + + if (field.type == 'text' || + field.type == 'textarea') { + + var iMax = parseInt(oMaxLength[x][2]("maxlength")); + if (field.value.length > iMax) { + if (i == 0) { + focusField = field; + } + fields[i++] = oMaxLength[x][1]; + isValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return isValid; + }]]> + </javascript> + + </validator> + + + <validator name="mask" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateMask" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" + msg="errors.invalid"> + + <javascript><![CDATA[ + function validateMask(form) { + var isValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oMasked = new mask(); + for (x in oMasked) { + var field = form[oMasked[x][0]]; + + if ((field.type == 'text' || + field.type == 'textarea') && + (field.value.length > 0)) { + + if (!matchPattern(field.value, oMasked[x][2]("mask"))) { + if (i == 0) { + focusField = field; + } + fields[i++] = oMasked[x][1]; + isValid = false; + } + } + } + + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return isValid; + } + + function matchPattern(value, mask) { + return mask.exec(value); + }]]> + </javascript> + + </validator> + + + <validator name="byte" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateByte" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" + msg="errors.byte" + jsFunctionName="ByteValidations"> + + <javascript><![CDATA[ + function validateByte(form) { + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oByte = new ByteValidations(); + for (x in oByte) { + var field = form[oByte[x][0]]; + + if (field.type == 'text' || + field.type == 'textarea' || + field.type == 'select-one' || + field.type == 'radio') { + + var value = ''; + // get field's value + if (field.type == "select-one") { + var si = field.selectedIndex; + if (si >= 0) { + value = field.options[si].value; + } + } else { + value = field.value; + } + + if (value.length > 0) { + if (!isAllDigits(value)) { + bValid = false; + if (i == 0) { + focusField = field; + } + fields[i++] = oByte[x][1]; + + } else { + + var iValue = parseInt(value); + if (isNaN(iValue) || !(iValue >= -128 && iValue <= 127)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oByte[x][1]; + bValid = false; + } + } + } + + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + }]]> + </javascript> + + </validator> + + + <validator name="short" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateShort" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" + msg="errors.short" + jsFunctionName="ShortValidations"> + + <javascript><![CDATA[ + function validateShort(form) { + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oShort = new ShortValidations(); + for (x in oShort) { + var field = form[oShort[x][0]]; + + if (field.type == 'text' || + field.type == 'textarea' || + field.type == 'select-one' || + field.type == 'radio') { + + var value = ''; + // get field's value + if (field.type == "select-one") { + var si = field.selectedIndex; + if (si >= 0) { + value = field.options[si].value; + } + } else { + value = field.value; + } + + if (value.length > 0) { + if (!isAllDigits(value)) { + bValid = false; + if (i == 0) { + focusField = field; + } + fields[i++] = oShort[x][1]; + + } else { + + var iValue = parseInt(value); + if (isNaN(iValue) || !(iValue >= -32768 && iValue <= 32767)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oShort[x][1]; + bValid = false; + } + } + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + }]]> + </javascript> + + </validator> + + + <validator name="integer" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateInteger" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" + msg="errors.integer" + jsFunctionName="IntegerValidations"> + + <javascript><![CDATA[ + function validateInteger(form) { + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oInteger = new IntegerValidations(); + for (x in oInteger) { + var field = form[oInteger[x][0]]; + + if (field.type == 'text' || + field.type == 'textarea' || + field.type == 'select-one' || + field.type == 'radio') { + + var value = ''; + // get field's value + if (field.type == "select-one") { + var si = field.selectedIndex; + if (si >= 0) { + value = field.options[si].value; + } + } else { + value = field.value; + } + + if (value.length > 0) { + + if (!isAllDigits(value)) { + bValid = false; + if (i == 0) { + focusField = field; + } + fields[i++] = oInteger[x][1]; + + } else { + var iValue = parseInt(value); + if (isNaN(iValue) || !(iValue >= -2147483648 && iValue <= 2147483647)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oInteger[x][1]; + bValid = false; + } + } + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + function isAllDigits(argvalue) { + argvalue = argvalue.toString(); + var validChars = "0123456789"; + var startFrom = 0; + if (argvalue.substring(0, 2) == "0x") { + validChars = "0123456789abcdefABCDEF"; + startFrom = 2; + } else if (argvalue.charAt(0) == "0") { + validChars = "01234567"; + startFrom = 1; + } else if (argvalue.charAt(0) == "-") { + startFrom = 1; + } + + for (var n = startFrom; n < argvalue.length; n++) { + if (validChars.indexOf(argvalue.substring(n, n+1)) == -1) return false; + } + return true; + }]]> + </javascript> + + </validator> + + + <validator name="long" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateLong" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" + msg="errors.long"/> + + + <validator name="float" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateFloat" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" + msg="errors.float" + jsFunctionName="FloatValidations"> + + <javascript><![CDATA[ + function validateFloat(form) { + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oFloat = new FloatValidations(); + for (x in oFloat) { + var field = form[oFloat[x][0]]; + + if (field.type == 'text' || + field.type == 'textarea' || + field.type == 'select-one' || + field.type == 'radio') { + + var value = ''; + // get field's value + if (field.type == "select-one") { + var si = field.selectedIndex; + if (si >= 0) { + value = field.options[si].value; + } + } else { + value = field.value; + } + + if (value.length > 0) { + // remove '.' before checking digits + var tempArray = value.split('.'); + var joinedString= tempArray.join(''); + + if (!isAllDigits(joinedString)) { + bValid = false; + if (i == 0) { + focusField = field; + } + fields[i++] = oFloat[x][1]; + + } else { + var iValue = parseFloat(value); + if (isNaN(iValue)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oFloat[x][1]; + bValid = false; + } + } + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + }]]> + </javascript> + + </validator> + + + <validator name="double" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateDouble" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" + msg="errors.double"/> + + + <validator name="date" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateDate" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" + msg="errors.date" + jsFunctionName="DateValidations"> + + <javascript><![CDATA[ + function validateDate(form) { + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oDate = new DateValidations(); + for (x in oDate) { + var value = form[oDate[x][0]].value; + var datePattern = oDate[x][2]("datePatternStrict"); + if ((form[oDate[x][0]].type == 'text' || + form[oDate[x][0]].type == 'textarea') && + (value.length > 0) && + (datePattern.length > 0)) { + var MONTH = "MM"; + var DAY = "dd"; + var YEAR = "yyyy"; + var orderMonth = datePattern.indexOf(MONTH); + var orderDay = datePattern.indexOf(DAY); + var orderYear = datePattern.indexOf(YEAR); + if ((orderDay < orderYear && orderDay > orderMonth)) { + var iDelim1 = orderMonth + MONTH.length; + var iDelim2 = orderDay + DAY.length; + var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); + var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); + if (iDelim1 == orderDay && iDelim2 == orderYear) { + dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$"); + } else if (iDelim1 == orderDay) { + dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$"); + } else if (iDelim2 == orderYear) { + dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$"); + } else { + dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$"); + } + var matched = dateRegexp.exec(value); + if(matched != null) { + if (!isValidDate(matched[2], matched[1], matched[3])) { + if (i == 0) { + focusField = form[oDate[x][0]]; + } + fields[i++] = oDate[x][1]; + bValid = false; + } + } else { + if (i == 0) { + focusField = form[oDate[x][0]]; + } + fields[i++] = oDate[x][1]; + bValid = false; + } + } else if ((orderMonth < orderYear && orderMonth > orderDay)) { + var iDelim1 = orderDay + DAY.length; + var iDelim2 = orderMonth + MONTH.length; + var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); + var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); + if (iDelim1 == orderMonth && iDelim2 == orderYear) { + dateRegexp = new RegExp("^(\\d{2})(\\d{2})(\\d{4})$"); + } else if (iDelim1 == orderMonth) { + dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" + delim2 + "](\\d{4})$"); + } else if (iDelim2 == orderYear) { + dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})(\\d{4})$"); + } else { + dateRegexp = new RegExp("^(\\d{2})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{4})$"); + } + var matched = dateRegexp.exec(value); + if(matched != null) { + if (!isValidDate(matched[1], matched[2], matched[3])) { + if (i == 0) { + focusField = form[oDate[x][0]]; + } + fields[i++] = oDate[x][1]; + bValid = false; + } + } else { + if (i == 0) { + focusField = form[oDate[x][0]]; + } + fields[i++] = oDate[x][1]; + bValid = false; + } + } else if ((orderMonth > orderYear && orderMonth < orderDay)) { + var iDelim1 = orderYear + YEAR.length; + var iDelim2 = orderMonth + MONTH.length; + var delim1 = datePattern.substring(iDelim1, iDelim1 + 1); + var delim2 = datePattern.substring(iDelim2, iDelim2 + 1); + if (iDelim1 == orderMonth && iDelim2 == orderDay) { + dateRegexp = new RegExp("^(\\d{4})(\\d{2})(\\d{2})$"); + } else if (iDelim1 == orderMonth) { + dateRegexp = new RegExp("^(\\d{4})(\\d{2})[" + delim2 + "](\\d{2})$"); + } else if (iDelim2 == orderDay) { + dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})(\\d{2})$"); + } else { + dateRegexp = new RegExp("^(\\d{4})[" + delim1 + "](\\d{2})[" + delim2 + "](\\d{2})$"); + } + var matched = dateRegexp.exec(value); + if(matched != null) { + if (!isValidDate(matched[3], matched[2], matched[1])) { + if (i == 0) { + focusField = form[oDate[x][0]]; + } + fields[i++] = oDate[x][1]; + bValid = false; + } + } else { + if (i == 0) { + focusField = form[oDate[x][0]]; + } + fields[i++] = oDate[x][1]; + bValid = false; + } + } else { + if (i == 0) { + focusField = form[oDate[x][0]]; + } + fields[i++] = oDate[x][1]; + bValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + function isValidDate(day, month, year) { + if (month < 1 || month > 12) { + return false; + } + if (day < 1 || day > 31) { + return false; + } + if ((month == 4 || month == 6 || month == 9 || month == 11) && + (day == 31)) { + return false; + } + if (month == 2) { + var leap = (year % 4 == 0 && + (year % 100 != 0 || year % 400 == 0)); + if (day>29 || (day == 29 && !leap)) { + return false; + } + } + return true; + }]]> + </javascript> + + </validator> + +<!-- range is deprecated use intRange instead --> + <validator name="range" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateIntRange" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="integer" + msg="errors.range"> + + <javascript><![CDATA[ + function validateRange(form) { + return validateIntRange(form); + }]]> + </javascript> + + </validator> + + <validator name="intRange" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateIntRange" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="integer" + msg="errors.range"> + + <javascript><![CDATA[ + function validateIntRange(form) { + var isValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oRange = new intRange(); + for (x in oRange) { + var field = form[oRange[x][0]]; + + if ((field.type == 'text' || + field.type == 'textarea') && + (field.value.length > 0)) { + + var iMin = parseInt(oRange[x][2]("min")); + var iMax = parseInt(oRange[x][2]("max")); + var iValue = parseInt(field.value); + if (!(iValue >= iMin && iValue <= iMax)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oRange[x][1]; + isValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return isValid; + }]]> + </javascript> + + </validator> + + <validator name="floatRange" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateFloatRange" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="float" + msg="errors.range"> + + <javascript><![CDATA[ + function validateFloatRange(form) { + var isValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oRange = new floatRange(); + for (x in oRange) { + var field = form[oRange[x][0]]; + + if ((field.type == 'text' || + field.type == 'textarea') && + (field.value.length > 0)) { + + var fMin = parseFloat(oRange[x][2]("min")); + var fMax = parseFloat(oRange[x][2]("max")); + var fValue = parseFloat(field.value); + if (!(fValue >= fMin && fValue <= fMax)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oRange[x][1]; + isValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return isValid; + }]]> + </javascript> + + </validator> + + <validator name="creditCard" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateCreditCard" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" + msg="errors.creditcard"> + + <javascript><![CDATA[ + function validateCreditCard(form) { + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oCreditCard = new creditCard(); + for (x in oCreditCard) { + if ((form[oCreditCard[x][0]].type == 'text' || + form[oCreditCard[x][0]].type == 'textarea') && + (form[oCreditCard[x][0]].value.length > 0)) { + if (!luhnCheck(form[oCreditCard[x][0]].value)) { + if (i == 0) { + focusField = form[oCreditCard[x][0]]; + } + fields[i++] = oCreditCard[x][1]; + bValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + /** + * Reference: http://www.ling.nwu.edu/~sburke/pub/luhn_lib.pl + */ + function luhnCheck(cardNumber) { + if (isLuhnNum(cardNumber)) { + var no_digit = cardNumber.length; + var oddoeven = no_digit & 1; + var sum = 0; + for (var count = 0; count < no_digit; count++) { + var digit = parseInt(cardNumber.charAt(count)); + if (!((count & 1) ^ oddoeven)) { + digit *= 2; + if (digit > 9) digit -= 9; + }; + sum += digit; + }; + if (sum == 0) return false; + if (sum % 10 == 0) return true; + }; + return false; + } + + function isLuhnNum(argvalue) { + argvalue = argvalue.toString(); + if (argvalue.length == 0) { + return false; + } + for (var n = 0; n < argvalue.length; n++) { + if ((argvalue.substring(n, n+1) < "0") || + (argvalue.substring(n,n+1) > "9")) { + return false; + } + } + return true; + }]]> + </javascript> + + </validator> + + + <validator name="email" + classname="org.springmodules.validation.commons.FieldChecks" + method="validateEmail" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" + msg="errors.email"> + + <javascript><![CDATA[ + function validateEmail(form) { + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oEmail = new email(); + for (x in oEmail) { + if ((form[oEmail[x][0]].type == 'text' || + form[oEmail[x][0]].type == 'textarea') && + (form[oEmail[x][0]].value.length > 0)) { + if (!checkEmail(form[oEmail[x][0]].value)) { + if (i == 0) { + focusField = form[oEmail[x][0]]; + } + fields[i++] = oEmail[x][1]; + bValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + /** + * Reference: Sandeep V. Tamhankar (stamhankar@hotmail.com), + * http://javascript.internet.com + */ + function checkEmail(emailStr) { + if (emailStr.length == 0) { + return true; + } + var emailPat=/^(.+)@(.+)$/; + var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"; + var validChars="\[^\\s" + specialChars + "\]"; + var quotedUser="(\"[^\"]*\")"; + var ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/; + var atom=validChars + '+'; + var word="(" + atom + "|" + quotedUser + ")"; + var userPat=new RegExp("^" + word + "(\\." + word + ")*$"); + var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$"); + var matchArray=emailStr.match(emailPat); + if (matchArray == null) { + return false; + } + var user=matchArray[1]; + var domain=matchArray[2]; + if (user.match(userPat) == null) { + return false; + } + var IPArray = domain.match(ipDomainPat); + if (IPArray != null) { + for (var i = 1; i <= 4; i++) { + if (IPArray[i] > 255) { + return false; + } + } + return true; + } + var domainArray=domain.match(domainPat); + if (domainArray == null) { + return false; + } + var atomPat=new RegExp(atom,"g"); + var domArr=domain.match(atomPat); + var len=domArr.length; + if ((domArr[domArr.length-1].length < 2) || + (domArr[domArr.length-1].length > 3)) { + return false; + } + if (len < 2) { + return false; + } + return true; + }]]> + </javascript> + + </validator> + + <!-- + 주민등록번호 validation. + Commons Validator가 제공하는 validator가 아니라 추가된 validator이므로 + 실행을 위해서는 반드시 egovframework.rte.ptl.mvcXXXXX.jar가 필요하다. + 2020-10-16 신용호 - 주민번호 남녀구분 관련 수정 + --> + <validator name="ihidnum" + classname="egovframework.rte.ptl.mvc.validation.RteFieldChecks" + method="validateIhIdNum" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + + depends="" + msg="errors.ihidnum"> + <javascript><![CDATA[ + function validateIhIdNum(form) { + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oIhidnum = new ihidnum(); + for (x in oIhidnum) { + var field = form[oIhidnum[x][0]]; + if (field.type == 'text' || + field.type == 'hidden' || + field.type == 'textarea') { + if (trim(field.value).length==0 || !checkIhIdNum(field.value)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oIhidnum[x][1]; + bValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + /** + * Reference: JS Guide + * http://jsguide.net/ver2/articles/frame.php?artnum=002 + */ + function checkIhIdNum(ihidnum){ + + fmt = /^\d{13}$/; + if(!fmt.test(ihidnum)){ + return false; + } + + switch(ihidnum.charAt(6)*1) { + case 9,0: + birthYear = "18"; + break; + case 1,2,5,6: // 외국인 5,6 + birthYear = "19"; + break; + case 3,4,7,8: // 외국인 7,8 + birthYear = "20"; + break; + default: + birthYear = "19"; + } + + birthYear += ihidnum.substr(0, 2); + birthMonth = ihidnum.substr(2, 2) - 1; + birthDate = ihidnum.substr(4, 2); + birth = new Date(birthYear, birthMonth, birthDate); + + if( birth.getYear() % 100 != ihidnum.substr(0, 2) || + birth.getMonth() != birthMonth || + birth.getDate() != birthDate) { + return false; + } + + var arrDivide = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5]; + var checkdigit = 0; + for(var i=0;i<ihidnum.length-1;i++){ + checkdigit += parseInt(ihidnum.charAt(i)) * parseInt(arrDivide[i]); + } + checkdigit = (11 - (checkdigit%11))%10; + if(checkdigit != ihidnum.charAt(12)){ + return false; + }else{ + return true; + } + } + ]]> + </javascript> + </validator> + <validator name="korean" + classname="egovframework.rte.ptl.mvc.validation.RteFieldChecks" + method="validateKorean" + methodParams="java.lang.Object, + org.apache.commons.validator.ValidatorAction, + org.apache.commons.validator.Field, + org.springframework.validation.Errors" + msg="errors.korean"> + <javascript><![CDATA[ + function validateKorean(form){ + var bValid = true; + var focusField = null; + var i = 0; + var fields = new Array(); + oKorean = new korean(); + for (x in oKorean) { + var field = form[oKorean[x][0]]; + if (field.type == 'text' || field.type == 'textarea') { + if (trim(field.value).length==0 || !checkKorean(field.value)) { + if (i == 0) { + focusField = field; + } + fields[i++] = oKorean[x][1]; + bValid = false; + } + } + } + if (fields.length > 0) { + focusField.focus(); + alert(fields.join('\n')); + } + return bValid; + } + + function checkKorean(koreanStr){ + for(var i=0;i<koreanStr.length;i++){ + var koreanChar = koreanStr.charCodeAt(i); + if( !( 0xAC00 <= koreanChar && koreanChar <= 0xD7A3 ) && !( 0x3131 <= koreanChar && koreanChar <= 0x318E ) ) { + return false; + } + } + return true; + } + ]]> + </javascript> + + </validator> + + </global> + +</form-validation> Property changes on: base3.10/src/main/resources/egovframework/validator/validator-rules.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/egovProps/globals.properties =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/globals.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/globals.properties (revision 7) @@ -0,0 +1,196 @@ +#----------------------------------------------------------------------- +# +# globals.properties : \uc2dc\uc2a4\ud15c +# +#----------------------------------------------------------------------- +# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4. +# 2. key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5 +# 3. key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00, value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5 +# 4. \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9) +# 5. Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/' ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428) +# 6. Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/' +# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9 +# 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83 +#----------------------------------------------------------------------- + +# \uc6b4\uc601\uc11c\ubc84 \ud0c0\uc785(WINDOWS, UNIX) +Globals.OsType = WINDOWS + +# DB\uc11c\ubc84 \ud0c0\uc785(mysql, oracle, altibase, tibero, cubrid, maria, postgres) - datasource \ubc0f sqlMap \ud30c\uc77c \uc9c0\uc815\uc5d0 \uc0ac\uc6a9\ub428 +Globals.DbType = postgres + +# \uad8c\ud55c \uc778\uc99d\ubc29\uc2dd(dummy, session, security) - \uc0ac\uc6a9\uc790\uc758 \ub85c\uadf8\uc778\uc2dc \uc778\uc99d \ubc29\uc2dd\uc744 \uacb0\uc815\ud568 +# dummy : \ub354\ubbf8 \ubc29\uc2dd\uc73c\ub85c \uc0ac\uc6a9\uc790 \uad8c\ud55c\uc744 \uc778\uc99d\ud568 +# session : \uc138\uc158 \ubc29\uc2dd\uc73c\ub85c \uc0ac\uc6a9\uc790 \uad8c\ud55c\uc744 \uc778\uc99d\ud568 +# security : spring security \ubc29\uc2dd\uc73c\ub85c \uc0ac\uc6a9\uc790 \uad8c\ud55c\uc744 \uc778\uc99d\ud568 +Globals.Auth = security + +# MainPage Setting +Globals.MainPage = /EgovContent.do + +# \uc704\uc800\ub4dc \uc0ac\uc6a9\uc2dc \ub370\uc774\ud130\ubca0\uc774\uc2a4 \uad00\ub828 \uc124\uc815\uc744 \ubd88\ub7ec\uc634 + +# KISA \uac80\uc99d (2019\ub144 11\uc6d4) - \uc911\uc694\uc815\ubcf4 \uc554\ud638\ud654 +# Globals.mysql.Password \ub294 com01 \uc744 \uc554\ud638\ud654\ud55c \uac83\uc73c\ub85c https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:crypto_simplify_v3_8 \ucc38\uc870\ud560 \uac83 +# Globals.mysql.Password = com01 \ucc98\ub7fc \ud3c9\ubb38\uc744 \uc0ac\uc6a9\ud558\ub824\uba74 context-crypto.xml \uc5d0\uc11c initial="false" crypto="false" \ub85c \uc124\uc815\ud558\uace0, +# context-datasource.xml \uc5d0\uc11c <property name="password" value="${Globals.mysql.Password}"/> \ub85c \ubc14\uafb8\uc5b4 \uc8fc\uc5b4\uc57c \ud568 +#mysql +Globals.mysql.DriverClassName=net.sf.log4jdbc.DriverSpy +Globals.mysql.Url=jdbc:log4jdbc:mysql://127.0.0.1:3306/com +Globals.mysql.UserName = com +Globals.mysql.Password = xz4fmrSdr1vGGl6UtwPLwA%3D%3D + +#oracle +Globals.oracle.DriverClassName=oracle.jdbc.driver.OracleDriver +Globals.oracle.Url=jdbc:oracle:thin:@127.0.0.1:1521:orcl +Globals.oracle.UserName = com +Globals.oracle.Password = xz4fmrSdr1vGGl6UtwPLwA%3D%3D + +#altibase +Globals.altibase.DriverClassName=Altibase.jdbc.driver.AltibaseDriver +Globals.altibase.Url=jdbc:Altibase://127.0.0.1:20300/mydb?encoding=UTF-8 +Globals.altibase.UserName = com +Globals.altibase.Password = xz4fmrSdr1vGGl6UtwPLwA%3D%3D + +#tibero +Globals.tibero.DriverClassName=com.tmax.tibero.jdbc.TbDriver +Globals.tibero.Url=jdbc:tibero:thin:@127.0.0.1:8629:tibero +Globals.tibero.UserName = com +Globals.tibero.Password = xz4fmrSdr1vGGl6UtwPLwA%3D%3D + +#cubrid +Globals.cubrid.DriverClassName=cubrid.jdbc.driver.CUBRIDDriver +Globals.cubrid.Url=jdbc:cubrid:127.0.0.1:30000:com:::?charset=utf-8 +Globals.cubrid.UserName = com +Globals.cubrid.Password = xz4fmrSdr1vGGl6UtwPLwA%3D%3D + +#MariaDB +Globals.maria.DriverClassName=org.mariadb.jdbc.Driver +Globals.maria.Url=jdbc:mariadb://127.0.0.1:3336/com +Globals.maria.UserName = com +Globals.maria.Password = xz4fmrSdr1vGGl6UtwPLwA%3D%3D + +#postgreSQL +Globals.postgres.DriverClassName=org.postgresql.Driver +Globals.postgres.Url=jdbc:postgresql://127.0.0.1:15432/base +Globals.postgres.UserName=allinone +Globals.postgres.Password=TEFwH5ptn081t8kwtx7zFg%3D%3D + +# \ub85c\uadf8\uc778 \uc778\uc99d \uc81c\ud55c(login authentication limit) +# (\uc0ac\uc6a9 \uc5ec\ubd80 \uc124\uc815\uac12 : true, false) +Globals.login.Lock = true +# -\uc778\uc99d \uc81c\uc2dc\ub3c4 \ud69f\uc218 +Globals.login.LockCount = 5 + +#\ud1b5\ud569\uba54\uc778\uba54\ub274 +#Globals.MainPage = /sym/mnu/mpm/EgovMainMenuHome.do + +# G4C \uc5f0\uacb0\uc6a9 IP (localhost) +#Globals.LocalIp = 127.0.0.2 + +# \ud658\uacbd\ud30c\uc77c \uc704\uce58 +Globals.ShellFilePath = globals.properties +Globals.ServerConfPath = conf/server.properties +Globals.ClientConfPath = conf/client.properties +Globals.FileFormatPath = conf/format.properties +Globals.GPKIConfPath = conf/gpki.properties +Globals.ConfPath = conf +Globals.MailRequestPath = mail/request/ +Globals.MailRResponsePath = mail/response/ +Globals.SMEConfigPath = conf/SMEConfig.properties +Globals.SmsDbConfPath = conf/smsdb.properties + +# \ud658\uacbd\ud30c\uc77c \uc704\uce58 (jeus) +#Globals.ShellFilePath = globals.properties +#Globals.ServerConfPath = conf/server.properties +#Globals.ClientConfPath = conf/client.properties +#Globals.FileFormatPath = conf/format.properties +#Globals.GPKIConfPath = conf/gpki.properties +#Globals.ConfPath = conf +#Globals.fileStorePath = +#Globals.MailRequestPath = mail/request/ +#Globals.MailRResponsePath = mail/response/ +#Globals.SMEConfigPath = conf/SMEConfig.properties +#Globals.SynchrnServerPath = tmp/upload/ + +# WINDOWS\uc6a9 \uc258\ud30c\uc77c \uc815\ubcf4 +SHELL.WINDOWS.getHostName = prg/sh_001.bat +SHELL.WINDOWS.getDrctryByOwner = prg/getDrctryByOwner.bat +SHELL.WINDOWS.getDrctryOwner = prg/getDrctryOwner.bat +SHELL.WINDOWS.moveDrctry = prg/moveDrctry.bat +SHELL.WINDOWS.compileSchema = prg/compileSchema.bat +SHELL.WINDOWS.getDiskAttrb = prg/getDiskAttrb.bat +SHELL.WINDOWS.getDiskCpcty = prg/getDiskCpcty.bat +SHELL.WINDOWS.getDiskExst = prg/getDiskExst.bat + +# UNIX\uc6a9 \uc258\ud30c\uc77c \uc815\ubcf4 - \uac1c\ubc1cwas jeus\uc5d0\uc11c \uc0ac\uc6a9\ud560\ub54c \uae30\uc900 +SHELL.UNIX.getHostName = prg/sh_001.sh +SHELL.UNIX.getDrctryByOwner = prg/getDrctryByOwner.sh +SHELL.UNIX.getDrctryOwner = prg/getDrctryOwner.sh +SHELL.UNIX.getDrctryAccess = prg/getDrctryAccess.sh +SHELL.UNIX.getMountLc = prg/getMountLc.sh +SHELL.UNIX.getDiskName = prg/getNetWorkInfo.sh +SHELL.UNIX.moveDrctry = prg/moveDrctry.sh +SHELL.UNIX.compileSchema = prg/compileSchema.sh +SHELL.UNIX.getDiskAttrb = prg/getDiskAttrb.sh +SHELL.UNIX.getDiskCpcty = prg/getDiskCpcty.sh +SHELL.UNIX.getDiskExst = prg/getDiskExst.sh +SHELL.UNIX.getProcInfo = prg/getProcInfo.sh + +# LINUX\uc6a9 \uc258\ud30c\uc77c \uc815\ubcf4 + +# \uc5f0\uacc4 +# \uae30\uad00\ucf54\ub4dc\uc218\uc2e0\uc6a9(\uacbd\ub85c \uc124\uc815\uc740 \ubc18\ub4dc\uc2dc \uc808\ub300\uacbd\ub85c\ub97c \uc0ac\uc6a9\ud574\uc57c\ud568.) +CNTC.INSTTCODE.DIR.rcv = D:/tmp/test/rcv/ +CNTC.INSTTCODE.DIR.rcvold = D:/tmp/test/rcvold/ +CNTC.INSTTCODE.DIR.bin = D:/tmp/test/bin/ + +CNTC.INSTTCODE.CMD.edircv = gcc_edircv.bat +CNTC.INSTTCODE.CMD.edircvmsg = gcc_edircvmsg.bat + +CNTC.INSTTCODE.INFO.userid = USERID +CNTC.INSTTCODE.INFO.userpw = ****** + +# \ud30c\uc77c \uc5c5\ub85c\ub4dc \uacbd\ub85c(\uacbd\ub85c \uc124\uc815\uc740 \ubc18\ub4dc\uc2dc \uc808\ub300\uacbd\ub85c\ub97c \uc0ac\uc6a9\ud574\uc57c\ud568, \uacbd\ub85c \ub4a4\uc5d0 /\ub97c \ubd99\uc5ec \uc8fc\uc5b4\uc57c\ud568.) +Globals.fileStorePath = C:/egovframework/upload/ +# \uc5c5\ub85c\ub4dc URL \uacbd\ub85c \uc554\ud638\ud654 KEY +#Globals.filePath.Encryption.key = 10\uc790\ub9ac\uc774\uc0c1,\uc54c\ud30c\ubcb3 \ubc0f \uc22b\uc790 \ubc0f \ud2b9\uc218\uae30\ud638 \ud63c\uc6a9\ud558\uc5ec \ud0a4\ub97c \uc9c0\uc815\ud55c\ub2e4. +# \ud30c\uc77c \ud655\uc7a5\uc790 \ud654\uc774\ud2b8\ub9ac\uc2a4\ud2b8(\ud5c8\uc6a9\ubaa9\ub85d) : \ud30c\uc77c \ud655\uc7a5\uc790\ub97c (.)\uacfc \ud568\uaed8 \uc5f0\uc774\uc5b4\uc11c \uc0ac\uc6a9\ud558\uba70 (.)\ub85c \uc2dc\uc791\ud55c\ub2e4. +Globals.fileUpload.Extensions.Images = .gif.jpg.jpeg.png +Globals.fileUpload.Extensions = .gif.jpg.jpeg.png.xls.xlsx +Globals.fileUpload.maxSize = 1048576 +Globals.fileDownload.Extensions = .gif.jpg.jpeg.png + +# \ud30c\uc77c \ub3d9\uae30\ud654 \ucef4\ud3ec\ub10c\ud2b8\uc5d0\uc11c \uc0ac\uc6a9\ud560 \ud30c\uc77c \uc5c5\ub85c\ub4dc \uacbd\ub85c(\uacbd\ub85c \uc124\uc815\uc740 \ubc18\ub4dc\uc2dc \uc808\ub300\uacbd\ub85c\ub97c \uc0ac\uc6a9\ud574\uc57c\ud568, \uacbd\ub85c \ub4a4\uc5d0 /\ub97c \ubd99\uc5ec \uc8fc\uc5b4\uc57c\ud568.) +Globals.SynchrnServerPath = C:/egovframework/upload/Synch/ + +# Social(Facebook, Oauth \ucef4\ud3ec\ub10c\ud2b8 \uc0ac\uc6a9\uc2dc \ud65c\uc6a9) +facebook.appId = +facebook.appSecret = +twitter.consumerKey = +twitter.consumerSecret = + +#LDAP\uc870\uc9c1\ub3c4\uad00\ub9ac \ucef4\ud3ec\ub10c\ud2b8 \uc0ac\uc6a9\uc2dc LDAP\uc11c\ubc84\uc124\uc815\uc815\ubcf4 \ud544\uc694 +ldap.url = ldap://localhost:10389 +ldap.rootDn = c=kr +ldap.username = uid=admin,ou=system +ldap.password = ****** + +#\uc57d\ub3c4\uad00\ub9ac Kakao \uac1c\ubc1c\uc790 appkey \ubc1c\uae09 \ubc1b\uc544 \ub4f1\ub85d\ud574\uc11c \uae30\uc785 (\uce74\uce74\uc624\uac1c\ubc1c Dev \uc571\uad00\ub9ac \ub0b4\uc5d0\uc11c \ub3c4\uba54\uc778 \ub4f1\ub85d \ud544\uc694) +roughMap.appkey = + +# \ube44\ubc00\ubc88\ud638 \uc720\ud6a8\uae30\uac04 \uc124\uc815 +Globals.ExpirePwdDay = 180 + +# \ubc30\uce58\uc258\ud30c\uc77c WhiteList \uc124\uc815(","\uae30\ud638\ub85c \ub2e4\uc911\uc9c0\uc815 \uac00\ub2a5) - \uad00\ub828\uba54\ub274 : 1120.\ubc30\uce58\uc791\uc5c5\uad00\ub9ac / 1130.\ubc30\uce58\uacb0\uacfc\uad00\ub9ac / 1140.\uc2a4\ucf00\uc904\ucc98\ub9ac +SHELL.WINDOWS.batchShellFiles = +SHELL.UNIX.batchShellFiles = + +#froala \uc5d0\ub514\ud130 \ud30c\uc77c \uc5c5\ub85c\ub4dc \uacbd\ub85c +#\uac1c\ubc1c\uc6a9 +editor.fileRoute=C:/eGov3.10/uploads/editor/ +editor.fileTempRoute=C:/eGov3.10/uploads/temp/ + +#EgovFileScrty key, iv +ctm.egovfilescrty.key=ctmkey1234567890 +ctm.egovfilescrty.iv=ctmiv1234567890a \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/egovProps/globals.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/egovProps/conf/warnmessage.properties =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/conf/warnmessage.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/conf/warnmessage.properties (revision 7) @@ -0,0 +1,4 @@ +test.message = warn message + + + Property changes on: base3.10/src/main/resources/egovframework/egovProps/conf/warnmessage.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/egovProps/conf/errormessage.properties =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/conf/errormessage.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/conf/errormessage.properties (revision 7) @@ -0,0 +1 @@ +test.message = error message Property changes on: base3.10/src/main/resources/egovframework/egovProps/conf/errormessage.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/egovProps/conf/SMEConfig.properties =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/conf/SMEConfig.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/conf/SMEConfig.properties (revision 7) @@ -0,0 +1,14 @@ +sms_url = sme://127.0.0.1:20000 +sms_id = ID +sms_pwd = PW + +use_console_logger = false +use_file_logger = false +log_layout = [%d] [%-5p] %l - %m%n + +# debug / info +log_level = debug + +# path +log_path = C:\egovframework\log\SMELog.log +ping_term = 60 \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/egovProps/conf/SMEConfig.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/egovProps/conf/client.properties =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/conf/client.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/conf/client.properties (revision 7) @@ -0,0 +1,27 @@ +#----------------------------------------------------------------------- +# +# client.properties : \ud074\ub77c\uc774\uc5b8\ud2b8\uc758 OS\uc815\ubcf4\ub97c \ub098\ud0c0\ub0b4\ub294 Config \ud30c\uc77c +# +#----------------------------------------------------------------------- +# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4. +# 2. key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5 +# 3. key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00, value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5 +# 4. \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9) +# 5. Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/' ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428) +# 6. Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/' +# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9 +# 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83 +#----------------------------------------------------------------------- + +# \ud074\ub77c\uc774\uc5b8\ud2b8 OS \uc720\ud615 \ubaa9\ub85d +WINDOWS95 = Windows 95 +WINDOWS98 = Windows 98 +WINDOWSNT = Windows NT +WINDOWSNT5.0 = Windows 2000 +WINDOWSNT5.1 = Windows XP +WINDOWSNT5.2 = Windows Server 2003 +WINDOWSNT6.0 = Windows Vista +WIN32 = Windows XP +MSN2.5 = MSN 2.5 on Windows 98 +MAC_POWERPC = Mac OS X +SUNOS5.9SUN4U = SunOS 5.0 \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/egovProps/conf/client.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/egovProps/conf/infomessage.properties =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/conf/infomessage.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/conf/infomessage.properties (revision 7) @@ -0,0 +1 @@ +test.message = info message Property changes on: base3.10/src/main/resources/egovframework/egovProps/conf/infomessage.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/egovProps/conf/confirmmessage.properties =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/conf/confirmmessage.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/conf/confirmmessage.properties (revision 7) @@ -0,0 +1 @@ +test.message = confirm message Property changes on: base3.10/src/main/resources/egovframework/egovProps/conf/confirmmessage.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/egovProps/conf/format.properties =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/conf/format.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/conf/format.properties (revision 7) @@ -0,0 +1,166 @@ +abs=audio/x-mpeg +ai=application/postscript +aif=audio/x-aiff +aif=caudio/x-aiff +aiff=audio/x-aiff +aim=application/x-aim +art=image/x-jg +asf=video/x-ms-asf +asx=video/x-ms-asf +au=audio/basic +avi=video/x-msvideo +avx=video/x-rad-screenplay +bcpio=application/x-bcpio +bin=application/octet-stream +bmp=image/bmp +body=text/html +cdf=application/x-cdf +cer=application/x-x509-ca-cert +class=application/java +cpio=application/x-cpio +csh=application/x-csh +css=text/css +dib=image/bmp +doc=application/msword +dtd=application/xml-dtd +dv=video/x-dv +dvi=application/x-dvi +eps=application/postscript +etx=text/x-setext +exe=application/octet-stream +gif=image/gif +gtar=application/x-gtar +gz=application/x-gzip +hdf=application/x-hdf +hqx=application/mac-binhex40 +htc=text/x-component +htm=text/html +html=text/html +hqx=application/mac-binhex40 +ief=image/ief +jad=text/vnd.sun.j2me.app-descriptor +jar=application/java-archive +java=text/plain +jnlp=application/x-java-jnlp-file +jpe=image/jpeg +jpeg=image/jpeg +jpg=image/jpeg +js=text/javascript +jsf=text/plain +jspf=text/plain +kar=audio/x-midi +latex=application/x-latex +m3u=audio/x-mpegurl +mac=image/x-macpaint +man=application/x-troff-man +mathml=application/mathml+xml +me=application/x-troff-me +mid=audio/x-midi +midi=audio/x-midi +mif=application/x-mif +mov=video/quicktime +movie=video/x-sgi-movie +mp1=audio/x-mpeg +mp2=audio/x-mpeg +mp3=audio/x-mpeg +mp4=video/mp4 +mpa=audio/x-mpeg +mpe=video/mpeg +mpeg=video/mpeg +mpega=audio/x-mpeg +mpg=video/mpeg +mpv2=video/mpeg2 +ms=application/x-wais-source +nc=application/x-netcdf +oda=application/oda +odb=application/vnd.oasis.opendocument.database +odc=application/vnd.oasis.opendocument.chart +odf=application/vnd.oasis.opendocument.formula +odg=application/vnd.oasis.opendocument.graphics +odi=application/vnd.oasis.opendocument.image +odm=application/vnd.oasis.opendocument.text-master +odp=application/vnd.oasis.opendocument.presentation +ods=application/vnd.oasis.opendocument.spreadsheet +odt=application/vnd.oasis.opendocument.text +ogg=application/ogg +otg=application/vnd.oasis.opendocument.graphics-template +oth=application/vnd.oasis.opendocument.text-web +otp=application/vnd.oasis.opendocument.presentation-template +ots=application/vnd.oasis.opendocument.spreadsheet-template +ott=application/vnd.oasis.opendocument.text-template +pbm=image/x-portable-bitmap +pct=image/pict +pdf=application/pdf +pgm=image/x-portable-graymap +pic=image/pict +pict=image/pict +pls=audio/x-scpls +png=image/png +pnm=image/x-portable-anymap +pnt=image/x-macpaint +ppm=image/x-portable-pixmap +ppt=application/powerpoint +ps=application/postscript +psd=image/x-photoshop +qt=video/quicktime +qti=image/x-quicktime +qtif=image/x-quicktime +ras=image/x-cmu-raster +rdf=application/rdf+xml +rgb=image/x-rgb +rm=application/vnd.rn-realmedia +roff=application/x-troff +rtf=application/rtf +rtx=text/richtext +sh=application/x-sh +shar=application/x-shar +shtml=text/x-server-parsed-html +smf=audio/x-midi +sit=application/x-stuffit +snd=audio/basic +src=application/x-wais-source +sv4cpio=application/x-sv4cpio +sv4crc=application/x-sv4crc +swf=application/x-shockwave-flash +t=application/x-troff +tar=application/x-tar +tcl=application/x-tcl +tex=application/x-tex +texi=application/x-texinfo +texinfo=application/x-texinfo +tif=image/tiff +tiff=image/tiff +tr=application/x-troff +tsv=text/tab-separated-values +txt=text/plain +ulw=audio/basic +ustar=application/x-ustar +vxml=application/voicexml+xml +xbm=image/x-xbitmap +xht=application/xhtml+xml +xhtml=application/xhtml+xml +xml=application/xml +xpm=image/x-xpixmap +xsl=application/xml +xslt=application/xslt+xml +xul=application/vnd.mozilla.xul+xml +xwd=image/x-xwindowdump +wav=audio/x-wav +svg=image/svg+xml +svgz=image/svg+xml +vsd=application/x-visio +wbmp=image/vnd.wap.wbmp +wml=text/vnd.wap.wml +wmlc=application/vnd.wap.wmlc +wmls=text/vnd.wap.wmlscript +wmlscriptc=application/vnd.wap.wmlscriptc +wmv=video/x-ms-wmv +wrl=x-world/x-vrml +wspolicy=application/wspolicy+xml +Z=application/x-compress +z=application/x-compress +zip=application/zip +xls=application/vnd.ms-excel +doc=application/vnd.ms-word +ppt=application/vnd.ms-powerpoint + \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/egovProps/conf/format.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/egovProps/conf/gpki.properties =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/conf/gpki.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/conf/gpki.properties (revision 7) @@ -0,0 +1,20 @@ +#-------------------------- +# for GPKI LDAP access +#-------------------------- +#gpki.ldap.ip=ldap.gcc.go.kr +#gpki.ldap.ip=10.1.7.140 +gpki.ldap.ip=152.99.56.86 +gpki.ldap.port=389 +gpki.ldap.basedn=ou=Group of Server,o=Government of Korea,c=kr +gpki.ldap.attribute=usercertificate;binary + +#-------------------------- +# \uc778\uc99d\uc11c \uc815\ubcf4 +# \uc2e4\uc81c \uc778\uc99d\uc11c \uad00\ub828 \ud30c\uc77c\ub4e4\uc740 \uac01 \uc18d\uc131\ub4e4\uc744 \uc870\ud569\ud574\uc11c \uc5bb\uc74c +#-------------------------- +gpki.certificate.path = /home/gpki/certificate/class1 +gpki.certificate.server = server +gpki.privatekey.password = ****** +#gpki.certificate.path = C:/Documents and Settings/Administrator/egovProps/gpkisecureweb/certs +#gpki.certificate.server = 1310505011 +#gpki.privatekey.password = 8866kim4 Property changes on: base3.10/src/main/resources/egovframework/egovProps/conf/gpki.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/egovProps/conf/smsdb.properties =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/conf/smsdb.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/conf/smsdb.properties (revision 7) @@ -0,0 +1,5 @@ +JDBC_ALIAS = default +JDBC_DRIVER = org.gjt.mm.mysql.Driver +JDBC_URL = jdbc:mysql://192.168.200.24:1621/com +JDBC_USER = com +JDBC_PASSWORD = ***** Property changes on: base3.10/src/main/resources/egovframework/egovProps/conf/smsdb.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/egovProps/conf/server.properties =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/conf/server.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/conf/server.properties (revision 7) @@ -0,0 +1,46 @@ +#----------------------------------------------------------------------- +# +# server.properties : \uc124\uce58\ub41c \uc11c\ubc84\uc758 \uc815\ubcf4\ub97c \uae30\ub85d\ud558\ub294 Config \ud30c\uc77c +# +#----------------------------------------------------------------------- +# 1. key = value \uad6c\uc870\uc785\ub2c8\ub2e4. +# 2. key\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \ud3ec\ud568\ubd88\uac00, value\uac12\uc740 \uacf5\ubc31\ubb38\uc790\ub97c \uac00\ub2a5 +# 3. key\uac12\uc73c\ub85c \ud55c\uae00\uc744 \uc0ac\uc6a9\ubd88\uac00, value\uac12\uc740 \ud55c\uae00\uc0ac\uc6a9\uc774 \uac00\ub2a5 +# 4. \uc904\uc744 \ubc14\uafc0 \ud544\uc694\uac00 \uc788\uc73c\uba74 '\'\ub97c \ub77c\uc778\uc758 \ub05d\uc5d0 \ucd94\uac00(\ub9cc\uc57d '\'\ubb38\uc790\ub97c \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 \uacbd\uc6b0\ub294 '\\'\ub97c \uc0ac\uc6a9) +# 5. Windows\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '\\' or '/' ('\' \uc0ac\uc6a9\ud558\uba74 \uc548\ub428) +# 6. Unix\uc5d0\uc11c\uc758 \ub514\ub809\ud1a0\ub9ac \ud45c\uc2dc : '/' +# 7. \uc8fc\uc11d\ubb38 \ucc98\ub9ac\ub294 #\uc0ac\uc6a9 +# 8. value\uac12 \ub4a4\uc5d0 \uc2a4\ud398\uc774\uc2a4\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ube14\ub9bf\uc5d0\uc11c \ucc38\uc870\ud560\ub54c\ub294 \uc5d0\ub7ec\ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c trim()\ud558\uac70\ub098 \ub9c8\uc9c0\ub9c9 \uacf5\ubc31\uc5c6\uc774 properties \uac12\uc744 \uc124\uc815\ud560\uac83 +#----------------------------------------------------------------------- + +# \uc11c\ubc84\uc81c\ud488 +SERVER_LIST = WEBLOGIC$JEUS$JBOSS +WEBLOGIC.VERSION = 9.2 MP3 +JEUS.VERSION = 6.0 +JBOSS.VERSION = 3.1 +WEBLOGIC.PORT = 7001 +JEUS.PORT = 9736 +JBOSS.PORT = 8080 + +# \uc11c\ubc84\ubc84\uc804 +SHELL.WINDOWS.getPrductVersion = prg/getPrductVersion.bat +SHELL.UNIX.getPrductVersion = prg/getPrductVersion.sh + +# \uc11c\ubc84\uc2e4\ud589\uc0c1\ud0dc +SHELL.WINDOWS.getPrductStatus = prg/getPrductStatus.bat +SHELL.UNIX.getPrductStatus = prg/getPrductStatus.sh + +# \uc2dc\uc2a4\ud15c OS\uc815\ubcf4 +SHELL.WINDOWS.getOSInfo = prg/getOSInfo.bat +SHELL.UNIX.getOSInfo = prg/getOSInfo.sh + +# \uc2dc\uc2a4\ud15c \ub514\uc2a4\ud06c \uc6a9\ub7c9 \uc815\ubcf4 +SHELL.WINDOWS.getDiskInfo = prg/getDiskInfo.bat +SHELL.UNIX.getDiskInfo = prg/getDiskInfo.sh + +# \uc2dc\uc2a4\ud15c \uba54\ubaa8\ub9ac \uc6a9\ub7c9 \uc815\ubcf4 +SHELL.WINDOWS.getMoryInfo = prg/getMoryInfo.bat +SHELL.UNIX.getMoryInfo = prg/getMoryInfo.sh + +# MAC +SHELL.UNIX.getNetWorkInfo = prg/getNetWorkInfo.sh Property changes on: base3.10/src/main/resources/egovframework/egovProps/conf/server.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/egovProps/prg/getDiskInfo.bat =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getDiskInfo.bat (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getDiskInfo.bat (revision 7) @@ -0,0 +1,16 @@ +@rem Shell Name : getDiskInfo.bat +@rem Description : 시스템 Disk의 이름을 조회하는 Shell +@rem Modification Information +@rem +@rem 수정일 수정자 수정내용 +@rem ------- -------- --------------------------- +@rem 2009.02.13 박지욱 최초 생성 +@rem +@rem author 공통 서비스 개발팀 박지욱 +@rem since 2009. 02. 13 +@rem version 1.0 +@rem see +@rem +@rem Copyright (C) 2009 by MOPAS All right reserved. + +echo Can Not Support \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getMountLc.sh =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getMountLc.sh (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getMountLc.sh (revision 7) @@ -0,0 +1,19 @@ +# Shell Name : getMountLc.sh +# Description : 파일(디렉토리)가 존재하는 파일시스템(마운트된 위치)을 조회하는 Shell +# Modification Information +# +# 수정일 수정자 수정내용 +# ------- -------- --------------------------- +# 2009.02.23 박지욱 최초 생성 +# +# @author 공통 서비스 개발팀 박지욱 +# @since 2009. 02. 13 +# @version 1.0 +# @see +# +# Copyright (C) 2009 by MOPAS All right reserved. + +#echo $1 -FILE LOCATION +#echo $1 -/ + +df -k $1 | grep $2 | awk -F" " '{print $7}' \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getDiskInfo.sh =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getDiskInfo.sh (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getDiskInfo.sh (revision 7) @@ -0,0 +1,40 @@ +# Shell Name : getDiskInfo.sh +# Description : 시스템에 존재하는 디스크 정보를 조회하는 Shell +# Modification Information +# +# 수정일 수정자 수정내용 +# ------- -------- --------------------------- +# 2009.02.23 박지욱 최초 생성 +# +# @author 공통 서비스 개발팀 박지욱 +# @since 2009. 02. 13 +# @version 1.0 +# @see +# +# Copyright (C) 2009 by MOPAS All right reserved. + +#echo $1 -SEARCH NAME (NAME, FULL, USING, VALID) + +#NAME +if [ $1 == "NAME" ] +then + lspv | awk '{print $1}' +fi + +#FULL +if [ $1 == "FULL" ] +then + lspv $2 | grep "TOTAL PPs" | awk -F"(" '{print $2}' | awk '{print $1}' +fi + +#USING +if [ $1 == "USED" ] +then + lspv $2 | grep "USED PPs" | awk -F"(" '{print $2}' | awk '{print $1}' +fi + +#VALID +if [ $1 == "FREE" ] +then + lspv $2 | grep "FREE PPs" | awk -F"(" '{print $2}' | awk '{print $1}' +fi \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getDrctryAccess.sh =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getDrctryAccess.sh (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getDrctryAccess.sh (revision 7) @@ -0,0 +1,15 @@ +# Shell Name : getDrctryAccess.sh +# Description : 해당되는 디렉토리의 접근권한을 찾는다. +# Modification Information +# +# 수정일 수정자 수정내용 +# ------- -------- --------------------------- +# 2009.02.23 조재영 최초 생성 +# +# @author 공통 서비스 개발팀 조재영 +# @since 2009. 02. 13 +# @version 1.0 +# @see +# +# Copyright (C) 2009 by MOPAS All right reserved. +ls -alF $1 | grep $2 | awk -F" " '{print $1}' \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getDrctryByOwner.sh =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getDrctryByOwner.sh (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getDrctryByOwner.sh (revision 7) @@ -0,0 +1,15 @@ +# Shell Name : getDrctryByOwner.sh +# Description : 해당되는 사용자 계정이 소유주인 디렉토리를 찾는다. +# Modification Information +# +# 수정일 수정자 수정내용 +# ------- -------- --------------------------- +# 2009.02.23 조재영 최초 생성 +# +# @author 공통 서비스 개발팀 조재영 +# @since 2009. 02. 13 +# @version 1.0 +# @see +# +# Copyright (C) 2009 by MOPAS All right reserved. +find $1 -name $2 -user $3 \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getDrctryOwner.sh =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getDrctryOwner.sh (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getDrctryOwner.sh (revision 7) @@ -0,0 +1,15 @@ +# Shell Name : getDrctryByOwner.sh +# Description : 해당되는 디렉토리 안 파일의 소유주를 찾는다. +# Modification Information +# +# 수정일 수정자 수정내용 +# ------- -------- --------------------------- +# 2009.02.23 조재영 최초 생성 +# +# @author 공통 서비스 개발팀 조재영 +# @since 2009. 02. 13 +# @version 1.0 +# @see +# +# Copyright (C) 2009 by MOPAS All right reserved. +ls -alF $1 | grep $2 | awk -F" " '{print $3}' \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getDiskAttrb.sh =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getDiskAttrb.sh (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getDiskAttrb.sh (revision 7) @@ -0,0 +1,128 @@ +# Shell Name : getDiskAttr.bat +# Description : 디스크 속성정보 확인 +# Modification Information +# +# 수정일 수정자 수정내용 +# ------- -------- --------------------------- +# 2009.02.23 조재영 최초 생성 +# +# @author 공통 서비스 개발팀 조재영 +# @since 2009. 02. 13 +# @version 1.0 +# @see +# +# Copyright (C) 2009 by MOPAS All right reserved. +#### DISK CHECK #### +#for A in `lspv | awk '{print $1}' ` +for A in `lsdev -Cc disk | awk '{print $1}'` +do + # NAME + echo $A + # ATTRIBUTE + echo `lscfg -l $A | awk -F $A '{print $2}'` + # TYPE + echo "disk" + # AUTHORITY + + # SIZE + isEq="FALSE" + for B in `lspv | awk '{print $1}' ` + do + if [ $A = $B ] + then + isEq="TRUE" + fi + done + + if [ $isEq = "TRUE" ] + then + # TOTAL SIZE + lspv $A | grep "TOTAL PPs" | awk -F"(" '{print $2}' | awk '{print $1}' + # USED SIZE + lspv $A | grep "USED PPs" | awk -F"(" '{print $2}' | awk '{print $1}' + # FREE SIZE + lspv $A | grep "FREE PPs" | awk -F"(" '{print $2}' | awk '{print $1}' + else + echo "" + echo "" + echo "" + fi + +done + +#### USB CHECK #### +for A in `lsdev -Cc usb | awk '{print $1}'` +do +# NAME +echo $A +# ATTRIBUTE +echo `lscfg -l $A | awk -F $A '{print $2}'` +# TYPE +echo "usb" +# AUTHORITY + +# SIZE + isEq="FALSE" + for B in `lspv | awk '{print $1}' ` + do + if [ $A = $B ] + then + isEq="TRUE" + fi + done + + if [ $isEq = "TRUE" ] + then + # TOTAL SIZE + lspv $A | grep "TOTAL PPs" | awk -F"(" '{print $2}' | awk '{print $1}' + # USED SIZE + lspv $A | grep "USED PPs" | awk -F"(" '{print $2}' | awk '{print $1}' + # FREE SIZE + lspv $A | grep "FREE PPs" | awk -F"(" '{print $2}' | awk '{print $1}' + else + echo "" + echo "" + echo "" + fi + +done + +#### CDROM CHECK #### +for A in `lsdev -Cc cdrom | awk '{print $1}'` +do +# NAME +echo $A +# ATTRIBUTE +echo `lscfg -l $A | awk -F $A '{print $2}'` +# TYPE +echo "cdrom" +# AUTHORITY + +# SIZE + isEq="FALSE" + for B in `lspv | awk '{print $1}' ` + do + if [ $A = $B ] + then + isEq="TRUE" + fi + + isEq="TRUE" + fi + done + + if [ $isEq = "TRUE" ] + then + # TOTAL SIZE + lspv $A | grep "TOTAL PPs" | awk -F"(" '{print $2}' | awk '{print $1}' + # USED SIZE + lspv $A | grep "USED PPs" | awk -F"(" '{print $2}' | awk '{print $1}' + # FREE SIZE + lspv $A | grep "FREE PPs" | awk -F"(" '{print $2}' | awk '{print $1}' + else + echo "" + echo "" + echo "" + fi + +done \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getPrductVersion.sh =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getPrductVersion.sh (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getPrductVersion.sh (revision 7) @@ -0,0 +1,34 @@ +# Shell Name : getPrductVersion.sh +# Description : 시스템에 설치된 서버(WAS,WEB,MAIL서버)의 버전을 조회하는 Shell +# Modification Information +# +# 수정일 수정자 수정내용 +# ------- -------- --------------------------- +# 2009.02.11 박지욱 최초 생성 +# +# @author 공통 서비스 개발팀 박지욱 +# @since 2009. 02. 11 +# @version 1.0 +# @see +# +# Copyright (C) 2009 by MOPAS All right reserved. + +#echo $1 -SERVER NAME + +#WEBLOGIC +if [ $1 == "WEBLOGIC" ] +then + java weblogic.Admin -username weblogic -password weblogic VERSION +fi + +#JEUS +if [ $1 == "JEUS" ] +then + jeusadmin -version +fi + +#JBOSS +if [ $1 == "JBOSS" ] +then + /user/com/jboss/bin/twiddle.sh -s localhost:1099 -u admin -p admin get "jboss.system:type=Server" | grep "Version=" +fi \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/compileSchema.sh =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/compileSchema.sh (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/compileSchema.sh (revision 7) @@ -0,0 +1,16 @@ +# Shell Name : compileSchema.sh +# Description : XML 스키마를 자바클래스로 변환하는 Shell +# Modification Information +# +# 수정일 수정자 수정내용 +# ------- -------- --------------------------- +# 2009.02.13 박지욱 최초 생성 +# +# @author 공통 서비스 개발팀 박지욱 +# @since 2009. 02. 13 +# @version 1.0 +# @see +# +# Copyright (C) 2009 by MOPAS All right reserved. + +scomp -out $1 $2 \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/compileSchema.bat =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/compileSchema.bat (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/compileSchema.bat (revision 7) @@ -0,0 +1,16 @@ +@rem Shell Name : compileSchema.bat +@rem Description : XML 스키마를 자바클래스로 변환하는 Shell +@rem Modification Information +@rem +@rem 수정일 수정자 수정내용 +@rem ------- -------- --------------------------- +@rem 2009.02.13 박지욱 최초 생성 +@rem +@rem author 공통 서비스 개발팀 박지욱 +@rem since 2009. 02. 13 +@rem version 1.0 +@rem see +@rem +@rem Copyright (C) 2009 by MOPAS All right reserved. + +scomp -out %1 %2 \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getMoryInfo.bat =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getMoryInfo.bat (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getMoryInfo.bat (revision 7) @@ -0,0 +1,16 @@ +@rem Shell Name : getMoryInfo.bat +@rem Description : �ý��� �޸� ��ü, �����, ��ȿ �뷮�� ��ȸ�ϴ� Shell +@rem Modification Information +@rem +@rem ������ ������ �������� +@rem ------- -------- --------------------------- +@rem 2009.02.24 ������ ���� ���� +@rem +@rem author ���� ���� ������ ������ +@rem since 2009. 02. 24 +@rem version 1.0 +@rem see +@rem +@rem Copyright (C) 2009 by MOPAS All right reserved. + +systeminfo \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getDiskExst.sh =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getDiskExst.sh (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getDiskExst.sh (revision 7) @@ -0,0 +1,15 @@ +# Shell Name : getDiskExst.bat +# Description : 디스크 존재여부 확인(윈도우에서는 지원 안함) +# Modification Information +# +# 수정일 수정자 수정내용 +# ------- -------- --------------------------- +# 2009.02.23 조재영 최초 생성 +# +# @author 공통 서비스 개발팀 조재영 +# @since 2009. 02. 13 +# @version 1.0 +# @see +# +# Copyright (C) 2009 by MOPAS All right reserved. +lsdev -Cc disk | wc -l \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getNetWorkInfo.sh =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getNetWorkInfo.sh (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getNetWorkInfo.sh (revision 7) @@ -0,0 +1,63 @@ +# Shell Name : getNetWorkInfo.sh +# Description : 네트워크 정보를 찾는다. +# Modification Information +# +# 수정일 수정자 수정내용 +# ------- -------- --------------------------- +# 2009.02.23 이용 최초 생성 +# +# @author 공통 서비스 개발팀 이용 +# @since 2009. 02. 13 +# @version 1.0 +# @see +# +# Copyright (C) 2009 by MOPAS All right reserved. + +#getNetWorkInfo.sh +#네트워크 정보를 찾는다. +#netstat -v ent0 | grep "하드웨어 주소" -MAC +#prtconf | grep "IP 주소" -IP +#prtconf | grep "서브넷 마스크" -SM +#prtconf | grep "게이트웨이" -GW +#echo $1 +#echo $2 +#MAC +if [ $1 == "MAC" ] +then + netstat -v $2 | grep "하드웨어 주소" | awk '{print $3}' +fi + +#IP +if [ $1 == "IP" ] +then + prtconf | grep "IP 주소" | awk '{print $3}' +fi + +#SM +if [ $1 == "SM" ] +then + prtconf | grep "서브넷 마스크" | awk '{print $3}' +fi + +#GW +if [ $1 == "GW" ] +then + prtconf | grep "게이트웨이" | awk '{print $2}' +fi + +#도메인명 +if [ $1 == "DN" ] +then + hostname +fi + +#DNS +if [ $1 == "DNS" ] +then + host $2 | awk '{print $2}' +fi + +if [ $1 == "SCAN" ] +then + netstat -na | egrep 'tcp|udp' +fi \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/moveDrctry.bat =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/moveDrctry.bat (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/moveDrctry.bat (revision 7) @@ -0,0 +1 @@ +move %1 %2 \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/moveDrctry.sh =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/moveDrctry.sh (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/moveDrctry.sh (revision 7) @@ -0,0 +1,15 @@ +# Shell Name : moveDrctry.sh +# Description : 파일을 이동한다. +# Modification Information +# +# 수정일 수정자 수정내용 +# ------- -------- --------------------------- +# 2009.02.11 박지욱 최초 생성 +# +# @author 공통 서비스 개발팀 박지욱 +# @since 2009. 02. 11 +# @version 1.0 +# @see +# +# Copyright (C) 2009 by MOPAS All right reserved. +mv $1 $2 \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getDiskAttrb.bat =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getDiskAttrb.bat (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getDiskAttrb.bat (revision 7) @@ -0,0 +1 @@ +@echo "Not supported in WINDOWS" \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getPrductVersion.bat =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getPrductVersion.bat (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getPrductVersion.bat (revision 7) @@ -0,0 +1,43 @@ +@rem Shell Name : getPrductVersion.bat +@rem Description : 시스템에 설치된 서버(WAS,WEB,MAIL서버)의 버전을 조회하는 Shell +@rem Modification Information +@rem +@rem 수정일 수정자 수정내용 +@rem ------- -------- --------------------------- +@rem 2009.02.11 박지욱 최초 생성 +@rem +@rem author 공통 서비스 개발팀 박지욱 +@rem since 2009. 02. 11 +@rem version 1.0 +@rem see +@rem +@rem Copyright (C) 2009 by MOPAS All right reserved. + +IF "%1"=="WEBLOGIC" goto step1 +IF "%1"=="JEUS" goto step2 +IF "%1"=="JBOSS" goto step3 +goto error + +:step1 +set CMMD1=java weblogic.Admin -username weblogic -password weblogic VERSION +set CMMD2= +goto done + + +:step2 +set CMMD1=jeusadmin -version +set CMMD2= +goto done + + +:step3 +set CMMD1=twiddle.bat -s localhost:1099 -u admin -p admin get "jboss.system:type=Server" +set CMMD2=find "Version=" +goto done + +:error +@echo Usage: getPrductVersion 서버이름 +@echo example) getPrductVersion WEBLOGIC + +:done +%CMMD1%|%CMMD2% \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getDiskExst.bat =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getDiskExst.bat (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getDiskExst.bat (revision 7) @@ -0,0 +1 @@ +@echo "Not supported in WINDOWS" \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/sh_001.bat =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/sh_001.bat (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/sh_001.bat (revision 7) @@ -0,0 +1 @@ +@hostname \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getDrctryByOwner.bat =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getDrctryByOwner.bat (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getDrctryByOwner.bat (revision 7) @@ -0,0 +1 @@ +@echo "Not supported in WINDOWS" \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getDiskCpcty.bat =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getDiskCpcty.bat (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getDiskCpcty.bat (revision 7) @@ -0,0 +1 @@ +@echo "Not supported in WINDOWS" \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getOSInfo.bat =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getOSInfo.bat (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getOSInfo.bat (revision 7) @@ -0,0 +1,16 @@ +@rem Shell Name : getOSInfo.bat +@rem Description : 시스템 OS의 이름, 버전, 제조사를 조회하는 Shell +@rem Modification Information +@rem +@rem 수정일 수정자 수정내용 +@rem ------- -------- --------------------------- +@rem 2009.02.13 박지욱 최초 생성 +@rem +@rem author 공통 서비스 개발팀 박지욱 +@rem since 2009. 02. 13 +@rem version 1.0 +@rem see +@rem +@rem Copyright (C) 2009 by MOPAS All right reserved. + +systeminfo \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getPrductStatus.bat =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getPrductStatus.bat (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getPrductStatus.bat (revision 7) @@ -0,0 +1,16 @@ +@rem Shell Name : getPrductStatus.bat +@rem Description : 시스템에 설치된 서버(WAS,WEB,MAIL서버)의 실행상태를 조회하는 Shell +@rem Modification Information +@rem +@rem 수정일 수정자 수정내용 +@rem ------- -------- --------------------------- +@rem 2009.02.11 박지욱 최초 생성 +@rem +@rem author 공통 서비스 개발팀 박지욱 +@rem since 2009. 02. 11 +@rem version 1.0 +@rem see +@rem +@rem Copyright (C) 2009 by MOPAS All right reserved. + +netstat -na \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getDiskCpcty.sh =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getDiskCpcty.sh (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getDiskCpcty.sh (revision 7) @@ -0,0 +1,18 @@ +# Shell Name : getDiskCpcty.bat +# Description : 디스크 용량 확인 +# Modification Information +# +# 수정일 수정자 수정내용 +# ------- -------- --------------------------- +# 2009.02.23 조재영 최초 생성 +# +# @author 공통 서비스 개발팀 조재영 +# @since 2009. 02. 13 +# @version 1.0 +# @see +# +# Copyright (C) 2009 by MOPAS All right reserved. +for B in `df -k | grep / | awk '{print $2} {print $3} {print $4} {print $7}'` + do + echo $B +done \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getOSInfo.sh =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getOSInfo.sh (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getOSInfo.sh (revision 7) @@ -0,0 +1,40 @@ +# Shell Name : getOSInfo.sh +# Description : 시스템 OS의 이름, 버전, 제조사를 조회하는 Shell +# Modification Information +# +# 수정일 수정자 수정내용 +# ------- -------- --------------------------- +# 2009.02.13 박지욱 최초 생성 +# +# @author 공통 서비스 개발팀 박지욱 +# @since 2009. 02. 13 +# @version 1.0 +# @see +# +# Copyright (C) 2009 by MOPAS All right reserved. + +#echo $1 -SEARCH NAME (NAME, VERSION, PRDUCTOR) + +#NAME +if [ $1 == "NAME" ] +then + uname -s +fi + +#VERSION +if [ $1 == "VERSION" ] +then + oslevel +fi + +#PRDUCTOR +if [ $1 == "PRDUCTOR" ] +then + prtconf | grep "시스템 모델:" | awk '{print $3}' +fi + +#PROCESSOR +if [ $1 == "PROCESSOR" ] +then + uname -a | awk '{print substr($5,3,6)}' +fi \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getMoryInfo.sh =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getMoryInfo.sh (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getMoryInfo.sh (revision 7) @@ -0,0 +1,34 @@ +# Shell Name : getMoryInfo.sh +# Description : 시스템에 존재하는 메모리 정보를 조회하는 Shell +# Modification Information +# +# 수정일 수정자 수정내용 +# ------- -------- --------------------------- +# 2009.02.23 박지욱 최초 생성 +# +# @author 공통 서비스 개발팀 박지욱 +# @since 2009. 02. 13 +# @version 1.0 +# @see +# +# Copyright (C) 2009 by MOPAS All right reserved. + +#echo $1 -SEARCH NAME (FULL, USING, FREE) + +#FULL +if [ $1 == "FULL" ] +then + vmstat | grep "mem=" | awk '{print $4}' +fi + +#USING +if [ $1 == "USED" ] +then + vmstat | tail -1 | awk '{print $3*4096/1024/1024}' +fi + +#VALID +if [ $1 == "FREE" ] +then + vmstat | tail -1 | awk '{print $4*4096/1024/1024}' +fi \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getDrctryOwner.bat =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getDrctryOwner.bat (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getDrctryOwner.bat (revision 7) @@ -0,0 +1 @@ +@echo "Not supported in WINDOWS" \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/prg/getPrductStatus.sh =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/prg/getPrductStatus.sh (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/prg/getPrductStatus.sh (revision 7) @@ -0,0 +1,18 @@ +# Shell Name : getPrductStatus.sh +# Description : 시스템에 설치된 서버(WAS,WEB,MAIL서버)의 실행상태를 조회하는 Shell +# Modification Information +# +# 수정일 수정자 수정내용 +# ------- -------- --------------------------- +# 2009.02.11 박지욱 최초 생성 +# +# @author 공통 서비스 개발팀 박지욱 +# @since 2009. 02. 11 +# @version 1.0 +# @see +# +# Copyright (C) 2009 by MOPAS All right reserved. + +#echo $1 -PORT + +netstat -na | grep -w "LISTEN" | grep -c $1 \ No newline at end of file Index: base3.10/src/main/resources/egovframework/egovProps/ck.properties =================================================================== --- base3.10/src/main/resources/egovframework/egovProps/ck.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/egovProps/ck.properties (revision 7) @@ -0,0 +1,16 @@ +# CKEditor Image File Upload + +#optional +ck.image.type.allow=jpg,jpeg,gif,bmp,png +#optional +#ck.image.save.class=Implementation of egovframework.com.utl.wed.filter.FileSaveManager + +# if you use "separate image server" or other case. (apache, cdn, nas...) +#ck.image.dir=/www/images.mydomain.com/upload +#ck.image.url=http://images.mydomain.com/upload/ + +# if you use "web application"'s deployed directory. +#ck.image.dir=/upload_dir : define Globals.fileStorePath(globals.properties) sub directory => Do not start with "/". +#ck.image.url=/contextRoot/upload/ +ck.image.dir=ck_image +ck.image.url=/ckUploadImage \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/egovProps/ck.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sec/rgm/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sec/rgm/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sec/rgm/message_en.properties (revision 7) @@ -0,0 +1,18 @@ +comCopSecRgm.title=Authority Group Management + +comCopSecRgm.searchCondition.userId=User ID +comCopSecRgm.searchCondition.userNm=User Name +comCopSecRgm.searchCondition.group=Group +comCopSecRgm.btn.groupInquire= Group Inquiry Popup + +comCopSecRgm.list.userId=User ID +comCopSecRgm.list.userNm=User Name +comCopSecRgm.list.userType=User Type +comCopSecRgm.list.author=Authority +comCopSecRgm.list.regYn=Available Options About Register +comCopSecRgm.list.authorManageCombo=Select Authority +comCopSecRgm.list.validate.alert.notSelect=No items selected. +comCopSecRgm.list.validate.alert.noResult=No query results found. +comCopSecRgm.list.validate.confirm.regist=Would you like to register? +comCopSecRgm.list.validate.confirm.delete=Are you sure you want to delete? +comCopSecRgm.list.validate.alert.selectGroup=Please select a group. Property changes on: base3.10/src/main/resources/egovframework/message/com/sec/rgm/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sec/rgm/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sec/rgm/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sec/rgm/message_ko.properties (revision 7) @@ -0,0 +1,19 @@ +comCopSecRgm.title=\uad8c\ud55c\uadf8\ub8f9\uad00\ub9ac + +comCopSecRgm.searchCondition.userId = \uc0ac\uc6a9\uc790 ID +comCopSecRgm.searchCondition.userNm = \uc0ac\uc6a9\uc790 \uba85 +comCopSecRgm.searchCondition.group = \uadf8\ub8f9 +comCopSecRgm.btn.groupInquire = \uadf8\ub8f9\uc870\ud68c \ud31d\uc5c5 + +comCopSecRgm.list.userId=\uc0ac\uc6a9\uc790 ID +comCopSecRgm.list.userNm=\uc0ac\uc6a9\uc790 \uba85 +comCopSecRgm.list.userType=\uc0ac\uc6a9\uc790 \uc720\ud615 +comCopSecRgm.list.author=\uad8c\ud55c +comCopSecRgm.list.regYn=\ub4f1\ub85d\uc5ec\ubd80 +comCopSecRgm.list.authorManageCombo=\uad8c\ud55c\uc120\ud0dd +comCopSecRgm.list.validate.alert.notSelect=\uc120\ud0dd\ub41c \ud56d\ubaa9\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. +comCopSecRgm.list.validate.alert.noResult=\uc870\ud68c\ub41c \uacb0\uacfc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. +comCopSecRgm.list.validate.confirm.regist=\ub4f1\ub85d\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? +comCopSecRgm.list.validate.confirm.delete=\uc0ad\uc81c\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? +comCopSecRgm.list.validate.alert.selectGroup=\uadf8\ub8f9\uc744 \uc120\ud0dd\ud558\uc138\uc694. + Property changes on: base3.10/src/main/resources/egovframework/message/com/sec/rgm/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sec/rmt/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sec/rmt/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sec/rmt/message_en.properties (revision 7) @@ -0,0 +1,19 @@ +comCopSecRmt.title=Role Management For Each Authority + +comCopSecRmt.searchCondition.searchKeywordText=Roll Name + +comCopSecRmt.validate.groupSelect=There is no selected group. +comCopSecRmt.validate.groupSelectResult=There is no viewed result. + +comCopSecRam.list.rollId=Roll ID +comCopSecRam.list.rollNm=Roll Name +comCopSecRam.list.rollType=Roll Type +comCopSecRam.list.rollSort=Roll Sort +comCopSecRam.list.rollDc=Roll Description + +comCopSecRam.regist.rollId=Roll ID +comCopSecRam.regist.rollNm=Roll Name +comCopSecRam.regist.rollPtn=Roll Pattern +comCopSecRam.regist.rollDc=Roll Description +comCopSecRam.regist.rollType=Roll Type +comCopSecRam.regist.rollSort=Roll Sort Property changes on: base3.10/src/main/resources/egovframework/message/com/sec/rmt/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sec/rmt/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sec/rmt/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sec/rmt/message_ko.properties (revision 7) @@ -0,0 +1,19 @@ +comCopSecRmt.title=\ub864\uad00\ub9ac + +comCopSecRmt.searchCondition.searchKeywordText=\ub864\uba85 + +comCopSecRmt.validate.groupSelect=\uc120\ud0dd\ub41c \uadf8\ub8f9\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. +comCopSecRmt.validate.groupSelectResult=\uc870\ud68c\ub41c \uacb0\uacfc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. + +comCopSecRam.list.rollId=\ub864 ID +comCopSecRam.list.rollNm=\ub864 \uba85 +comCopSecRam.list.rollType=\ub864 \ud0c0\uc785 +comCopSecRam.list.rollSort=\ub864 Sort +comCopSecRam.list.rollDc=\ub864 \uc124\uba85 + +comCopSecRam.regist.rollId=\ub864 ID +comCopSecRam.regist.rollNm=\ub864 \uba85 +comCopSecRam.regist.rollPtn=\ub864 \ud328\ud134 +comCopSecRam.regist.rollDc=\ub864 \uc124\uba85 +comCopSecRam.regist.rollType=\ub864 \ud0c0\uc785 +comCopSecRam.regist.rollSort=\ub864 Sort Property changes on: base3.10/src/main/resources/egovframework/message/com/sec/rmt/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sec/gmt/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sec/gmt/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sec/gmt/message_en.properties (revision 7) @@ -0,0 +1,21 @@ +comCopSecGmt.title=Group Management + +comCopSecGmt.searchCondition.searchKeywordText=Group Name + +comCopSecGmt.list.groupId=Group ID +comCopSecGmt.list.groupNm=Group Name +comCopSecGmt.list.groupDc=Group Description + +comCopSecGmt.validate.groupSelect=There is no selected group. +comCopSecGmt.validate.groupSelectResult=There is no viewed result. +comCopSecGmt.validate.groupOneSelect=One or more groups are selected. +comCopSecGmt.validate.confirm.delete=Are you sure you want to delete? + +comCopSecGmt.regist.groupId=Group ID +comCopSecGmt.regist.groupNm=Group Name +comCopSecGmt.regist.groupDc=Group Description + +comCopSecGmt.groupPopup.title=Group Inquiry Popup +comCopSecGmt.groupPopup.searchKeywordText=Group Name +comCopSecGmt.groupPopupList.groupId=Group ID +comCopSecGmt.groupPopupList.groupNm=Group Name \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sec/gmt/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sec/gmt/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sec/gmt/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sec/gmt/message_ko.properties (revision 7) @@ -0,0 +1,22 @@ +comCopSecGmt.title=\uadf8\ub8f9\uad00\ub9ac + +comCopSecGmt.searchCondition.searchKeywordText=\uadf8\ub8f9 \uba85 + +comCopSecGmt.list.groupId=\uadf8\ub8f9 ID +comCopSecGmt.list.groupNm=\uadf8\ub8f9 \uba85 +comCopSecGmt.list.groupDc=\uc124\uba85 + + +comCopSecGmt.validate.groupSelect=\uc120\ud0dd\ub41c \uadf8\ub8f9\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. +comCopSecGmt.validate.groupSelectResult=\uc870\ud68c\ub41c \uacb0\uacfc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. +comCopSecGmt.validate.groupOneSelect=\ud558\ub098 \uc774\uc0c1\uc758 \uadf8\ub8f9\uc774 \uc120\ud0dd\ub418\uc5c8\uc2b5\ub2c8\ub2e4. +comCopSecGmt.validate.confirm.delete=\uc0ad\uc81c\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? + +comCopSecGmt.regist.groupId=\uadf8\ub8f9 ID +comCopSecGmt.regist.groupNm=\uadf8\ub8f9 \uba85 +comCopSecGmt.regist.groupDc=\uc124\uba85 + +comCopSecGmt.groupPopup.title=\uadf8\ub8f9 \uc870\ud68c \ud31d\uc5c5 +comCopSecGmt.groupPopup.searchKeywordText=\uadf8\ub8f9\uba85 +comCopSecGmt.groupPopupList.groupId=\uadf8\ub8f9 ID +comCopSecGmt.groupPopupList.groupNm=\uadf8\ub8f9 \uba85 \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sec/gmt/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sec/pki/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sec/pki/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sec/pki/message_en.properties (revision 7) @@ -0,0 +1,8 @@ +comSecPki.title=Encryption/Decryption +comSecPki.cryptoInfo.plainText=Source string +comSecPki.cryptoInfo.cryptoType=Encryption method +comSecPki.cryptoInfo.plainTextLen=Source string length +comSecPki.cryptoInfo.cryptText=Encryption string(Base64) +comSecPki.cryptoInfo.decryptText=Decryption string +comSecPki.cryptoInfo.decryptTextLen=Decryption string length +comSecPki.cryptoInfo.sampleText=Please enter a sample string for encryption/decryption. Property changes on: base3.10/src/main/resources/egovframework/message/com/sec/pki/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sec/pki/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sec/pki/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sec/pki/message_ko.properties (revision 7) @@ -0,0 +1,8 @@ +comSecPki.title=\uc554\ud638\ud654/\ubcf5\ud638\ud654 +comSecPki.cryptoInfo.plainText=\uc6d0\ubcf8 \ubb38\uc790\uc5f4 +comSecPki.cryptoInfo.cryptoType=\uc554\ud638\ud654 \ubc29\uc2dd +comSecPki.cryptoInfo.plainTextLen=\uc6d0\ubcf8 \ubb38\uc790\uc5f4 \uae38\uc774 +comSecPki.cryptoInfo.cryptText=\uc554\ud638\ud654 \ubb38\uc790\uc5f4(Base64) +comSecPki.cryptoInfo.decryptText=\ubcf5\ud638\ud654 \ubb38\uc790\uc5f4 +comSecPki.cryptoInfo.decryptTextLen=\ubcf5\ud638\ud654 \ubb38\uc790\uc5f4 \uae38\uc774 +comSecPki.cryptoInfo.sampleText=\uc554\ubcf5\ud638\ud654\ub97c \uc704\ud55c \uc0d8\ud50c \ubb38\uc790\uc5f4\uc744 \uc785\ub825\ud558\uc5ec \uc8fc\uc138\uc694. Property changes on: base3.10/src/main/resources/egovframework/message/com/sec/pki/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sec/ram/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sec/ram/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sec/ram/message_en.properties (revision 7) @@ -0,0 +1,29 @@ +comCopSecRam.title=Authority Management +comCopSecRam.list.searchKeywordText=Authority Name +comCopSecRam.list.authorRollId=Authority ID +comCopSecRam.list.authorNm=Authority Name +comCopSecRam.list.authorDc=Description +comCopSecRam.list.authorRoll=Roll Infomation + +comCopSecRam.regist.authorCode=Authority Code +comCopSecRam.regist.authorNm=Authority Name +comCopSecRam.regist.authorDc=Description + +comCopSecRam.validate.authorSelect=There is no selected authority. +comCopSecRam.validate.authorSelectResult=There is no viewed result. + +comCopSecRam.authorRoleList.title=Authority Roll management +comCopSecRam.authorRoleList.searchKeywordText=Authority Code +comCopSecRam.authorRoleList.allSelectBox=Select All Checkbox +comCopSecRam.authorRoleList.rollNm=Roll Name +comCopSecRam.authorRoleList.rollId=Roll ID +comCopSecRam.authorRoleList.rollType=Roll Type +comCopSecRam.authorRoleList.rollSort=Roll Sort +comCopSecRam.authorRoleList.rollDc=Roll Description +comCopSecRam.authorRoleList.regdate=Registration Date +comCopSecRam.authorRoleList.regYn=Available Options About Register +comCopSecRam.authorRoleList.regY=Registration +comCopSecRam.authorRoleList.regN=Unregistered +comCopSecRam.authorRoleList.validate.alert.noSelect=No roles selected. +comCopSecRam.authorRoleList.validate.alert.noResult=No query results found. +comCopSecRam.authorRoleList.validate.confirm.regist=Would you like to register? Property changes on: base3.10/src/main/resources/egovframework/message/com/sec/ram/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sec/ram/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sec/ram/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sec/ram/message_ko.properties (revision 7) @@ -0,0 +1,29 @@ +comCopSecRam.title=\uad8c\ud55c\uad00\ub9ac +comCopSecRam.list.searchKeywordText=\uad8c\ud55c\uba85 +comCopSecRam.list.authorRollId=\uad8c\ud55c ID +comCopSecRam.list.authorNm=\uad8c\ud55c\uba85 +comCopSecRam.list.authorDc=\uc124\uba85 +comCopSecRam.list.authorRoll=\ub864\uc815\ubcf4 + +comCopSecRam.regist.authorCode=\uad8c\ud55c\ucf54\ub4dc +comCopSecRam.regist.authorNm=\uad8c\ud55c\uba85 +comCopSecRam.regist.authorDc=\uc124\uba85 + +comCopSecRam.validate.authorSelect=\uc120\ud0dd\ub41c \uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. +comCopSecRam.validate.authorSelectResult=\uc870\ud68c\ub41c \uacb0\uacfc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. + +comCopSecRam.authorRoleList.title=\uad8c\ud55c\ub864\uad00\ub9ac +comCopSecRam.authorRoleList.searchKeywordText=\uad8c\ud55c\ucf54\ub4dc +comCopSecRam.authorRoleList.allSelectBox=\uc804\uccb4 \uc120\ud0dd \uccb4\ud06c\ubc15\uc2a4 +comCopSecRam.authorRoleList.rollNm=\ub864 \uba85 +comCopSecRam.authorRoleList.rollId=\ub864 ID +comCopSecRam.authorRoleList.rollType=\ub864 \ud0c0\uc785 +comCopSecRam.authorRoleList.rollSort=\ub864 Sort +comCopSecRam.authorRoleList.rollDc=\ub864 \uc124\uba85 +comCopSecRam.authorRoleList.regdate=\ub4f1\ub85d\uc77c +comCopSecRam.authorRoleList.regYn=\ub4f1\ub85d\uc5ec\ubd80 +comCopSecRam.authorRoleList.regY=\ub4f1\ub85d +comCopSecRam.authorRoleList.regN=\ubbf8\ub4f1\ub85d +comCopSecRam.authorRoleList.validate.alert.noSelect=\uc120\ud0dd\ub41c \ub864\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. +comCopSecRam.authorRoleList.validate.alert.noResult=\uc870\ud68c\ub41c \uacb0\uacfc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. +comCopSecRam.authorRoleList.validate.confirm.regist=\ub4f1\ub85d\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? Property changes on: base3.10/src/main/resources/egovframework/message/com/sec/ram/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/cmm/err/message-common_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/cmm/err/message-common_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/cmm/err/message-common_en.properties (revision 7) @@ -0,0 +1,23 @@ +#common# +comCmmErr.button=before page + +#accessDenied# +comCmmErr.accessDenied.title=You do not have permission to access this page! +comCmmErr.accessDenied.code=User authorization Error + +#dataAccessFailure# +comCmmErr.dataAccessFailure.title=Error occurred while processing data! +comCmmErr.dataAccessFailure.code=Database Processing Error + + +#bizException# +comCmmErr.bizException.title=During business logic processing! +comCmmErr.bizException.code=Business Logic Processing Error + +#runtimeException# +comCmmErr.runtimeException.title=Unknown error occurred! +comCmmErr.runtimeException.code=System Error + +#sessionException# +comCmmErr.sessionException.title=Session Expiration Error! +comCmmErr.sessionException.code=Session Expiration Error Property changes on: base3.10/src/main/resources/egovframework/message/com/cmm/err/message-common_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/cmm/err/message-common_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/cmm/err/message-common_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/cmm/err/message-common_ko.properties (revision 7) @@ -0,0 +1,22 @@ +#common# +comCmmErr.button=\uc774\uc804 \ud398\uc774\uc9c0 + +#accessDenied# +comCmmErr.accessDenied.title=\ud604\uc7ac \ud398\uc774\uc9c0\uc5d0 \ub300\ud55c \uc811\uadfc\uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4! +comCmmErr.accessDenied.code=\uc0ac\uc6a9\uc790\uc811\uadfc\uad8c\ud55c \uc5d0\ub7ec + +#dataAccessFailure# +comCmmErr.dataAccessFailure.title=\ub370\uc774\ud130 \ucc98\ub9ac \uc911 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uc600\uc2b5\ub2c8\ub2e4! +comCmmErr.dataAccessFailure.code=\ub370\uc774\ud130\ucc98\ub9ac \uc5d0\ub7ec + +#bizException# +comCmmErr.bizException.title=\ube44\uc988\ub2c8\uc2a4 \ub85c\uc9c1 \ucc98\ub9ac \uc911 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4! +comCmmErr.bizException.code=\ube44\uc988\ub2c8\uc2a4\ub85c\uc9c1\ucc98\ub9ac \uc5d0\ub7ec + +#runtimeException# +comCmmErr.runtimeException.title=\uc54c \uc218 \uc5c6\ub294 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4! +comCmmErr.runtimeException.code=\uc2dc\uc2a4\ud15c \uc5d0\ub7ec + +#sessionException# +comCmmErr.sessionException.title=\uc138\uc158\uc774 \ub9cc\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4! +comCmmErr.sessionException.code=\uc138\uc158\ub9cc\ub8cc \uc5d0\ub7ec Property changes on: base3.10/src/main/resources/egovframework/message/com/cmm/err/message-common_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/cmm/message-common_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/cmm/message-common_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/cmm/message-common_en.properties (revision 7) @@ -0,0 +1,251 @@ +#top# +comCmm.top.title=eGoverment Standard Framework Common Components VERSION 3.10 +comCmm.top.leftSessionTime=Session expiration time +comCmm.top.incSessionTime=Time extension +comCmm.top.expiredSessionTime=Time out +comCmm.top.expireSessionTimeInfo=The Signin session time has expired. +comCmm.top.cantIncSessionTime=Time cannot be extended. + +#left# +comCmm.mai.title=Portal(example) Main Page +comCmm.uat.title=User Authentication/Directory Service +comCmm.sec.title=Security +comCmm.sts.title=Statistics/Reporting +comCmm.cop.title=Collaboration +comCmm.uss.title=User Support +comCmm.sym.title=System Management +comCmm.ssi.title=System/Service Integration +comCmm.dam.title=Digital Asset Management +comCmm.com.title=Utility Technology +comCmm.ext.title=External Add Components + +#component# +#Portal(example) Main Page# +comCmm.left.1=Portal(example) Main Page + +#User Authentication/Directory Service# +comCmm.left.10=Log In +comCmm.left.30=Log In Policy Management + +#Security# +comCmm.left.60=Authority Management +comCmm.left.70=Authority Group Management +comCmm.left.80=Group Management +comCmm.left.90=Role management for Each Authority +comCmm.left.100=Department Authority Management + +#Statistics/Reporting# +comCmm.left.120=Post Statistics +comCmm.left.130=User Statistics +comCmm.left.140=Connection Statistics +comCmm.left.150=Screen Statistics +comCmm.left.160=Report Statistics +comCmm.left.161=Data Usage Statistics + +#Collaboration# +comCmm.left.170=Blog Management +comCmm.left.180=Board Master Management +comCmm.left.190=Board Usage Management +comCmm.left.200=Template Management +comCmm.left.250=Scrap Management +comCmm.left.270=Community Creation/Usage/Member Management +comCmm.left.310=SMS Service +comCmm.left.320=Department Schedule Management +comCmm.left.330=Schedule Management +comCmm.left.340=Diary Management +comCmm.left.350=Master Schedule +comCmm.left.360=Send Mail +comCmm.left.361=Send Mail List +comCmm.left.370=Business Card Management +comCmm.left.371=My Business Card Management +comCmm.left.380=Address Book Management +comCmm.left.390=Executive Schedule Management +comCmm.left.400=Division Task Folder Management +comCmm.left.401=Division Task Information +comCmm.left.410=Weekly/Monthly Reports Management +comCmm.left.420=Memo/To-do List Management +comCmm.left.430=Memo Report + +#User Support# +comCmm.left.450=Corporate Member Management +comCmm.left.460=User Management +comCmm.left.461=Department Management +comCmm.left.470=Member Management +comCmm.left.480=My Page +comCmm.left.490=Provision Management +comCmm.left.500=Copyright Protection Policy +comCmm.left.510=Private Information Protection Policy +comCmm.left.520=Help +comCmm.left.530=Word Dictionary +comCmm.left.540=FAQ Management +comCmm.left.550=Q&A Management +comCmm.left.551=Q&A Answer +comCmm.left.560=Administration Terminology Dictionary +comCmm.left.561=Administration Terminology Dictionary Management +comCmm.left.570=Online Manual +comCmm.left.571=User Online Manual +comCmm.left.580=Consulting Management +comCmm.left.581=Consulting Answer Management +comCmm.left.590=Questionnaire Management +comCmm.left.600=Questionnaire Survey +comCmm.left.610=Questionnaire Template Management +comCmm.left.620=Questionnaire Respond Management +comCmm.left.630=Questionnaire Question Management +comCmm.left.640=Questionnaire Item Management +comCmm.left.650=Meeting Management +comCmm.left.660=Online POLL Management +comCmm.left.661=Online POLL Participation +comCmm.left.670=News Management +comCmm.left.680=Site Management +comCmm.left.700=Recommended Site Management +comCmm.left.710=Occasion/Event/Campaign +comCmm.left.711=Extra Human Resource +comCmm.left.720=Pop-up Management +comCmm.left.730=Information Alerts +comCmm.left.740=Banner Management +comCmm.left.741=MYPAGE Banner Management +comCmm.left.750=Login Page Image Management +comCmm.left.760=Recent Search Word Inquiry +comCmm.left.770=Main Image Management +comCmm.left.771=Main Image View Reflection Result +comCmm.left.780=Link Intergration Management +comCmm.left.790=User Absence Management +comCmm.left.800=Internet Service Information and Management +comCmm.left.810=Wiki Function +comCmm.left.820=RSS Tag Management +comCmm.left.822=RSS Tag Service +comCmm.left.830=Twitter Linkage +comCmm.left.831=Facebook Linkage +comCmm.left.840=Note Management +comCmm.left.850=Received Note Box Management +comCmm.left.860=Sent Note Box Management +comCmm.left.870=Meeting Room Management +comCmm.left.871=Meeting Room Reservation Management +comCmm.left.890=Employee Family Event Management +comCmm.left.891=Employee Congratulatory Approval Management +comCmm.left.900=Vacation Management +comCmm.left.901=Vacation Approval Management +comCmm.left.902=Personal Vocation Management +comCmm.left.910=Duty Management +comCmm.left.911=Duty Journal Management +comCmm.left.920=Compensation +comCmm.left.921=Compensation Approval Management +comCmm.left.930=Anniversary Management +comCmm.left.931=Anniversary List (Check) +comCmm.left.940=Event Application Management +comCmm.left.941=Event Reception Management +comCmm.left.942=Event Reception Approval Management +comCmm.left.943=Office Location Management +comCmm.left.950=Commute Management + +#System Management# +comCmm.left.960=Common Classification Code +comCmm.left.970=Common Detail Code +comCmm.left.980=Common Code +comCmm.left.1000=Address Management +comCmm.left.1010=Administration Code Management +comCmm.left.1020=Institutions Code Management +comCmm.left.1030=Log Management +comCmm.left.1040=User Log Management +comCmm.left.1050=Transmit/Receive Log Management +comCmm.left.1060=System History Management +comCmm.left.1070=Web Log Management +comCmm.left.1080=Connection Log Management +comCmm.left.1085=Privacy Log Management +comCmm.left.1090=Menu Management +comCmm.left.1091=Menu Management List +comCmm.left.1100=Menu Creation Management +comCmm.left.1101=Site Map +comCmm.left.1110=Short Cut Menu Management +comCmm.left.1111=Program Management +comCmm.left.1112=Program Change Management +comCmm.left.1113=Program Change Process +comCmm.left.1114=Program Change History +comCmm.left.1120=Batch Work Management +comCmm.left.1130=Batch Result Management +comCmm.left.1140=Schedule Process +comCmm.left.1150=Backup Management +comCmm.left.1151=Backup Result Management +comCmm.left.1160=NetWork Management +comCmm.left.1170=Server Information Management +comCmm.left.1171=Server S/W List +comCmm.left.1180=Trouble Request Management +comCmm.left.1190=Trouble Process Result Management + +#System/Service Integration# +comCmm.left.1210=System Contact Management +comCmm.left.1220=Contact Status Management +comCmm.left.1230=Contact Message Management +comCmm.left.1240=Contact Institution Management + +#Digital Asset Management# +comCmm.left.1250=Individual Knowledge Management +comCmm.left.1260=Knowledge Map Management by Types +comCmm.left.1261=Organizational Knowledge Map Management +comCmm.left.1270=Knowledge Expert Management +comCmm.left.1280=Knowledge Information Management +comCmm.left.1290=Knowledge Evaluation Management +comCmm.left.1291=Knowledge Information Offer + +#Utility Technology# +comCmm.left.1300=General Calendar +comCmm.left.2080=Transmit and Receive Monitoring +comCmm.left.2090=DB Service Monitoring +comCmm.left.2100=HTTP Service Monitoring +comCmm.left.2110=Process Monitoring +comCmm.left.2120=Network Service Monitoring +comCmm.left.2130=File System Monitoring +comCmm.left.2140=Proxy Service +comCmm.left.2150=File Synchronization +comCmm.left.2160=Login Session Information Check +comCmm.left.2170=Server Resource Monitoring +comCmm.left.2180=Address Info Linkage +comCmm.left.2200=Encryption/Decryption + +#External Add Components# +comCmm.left.3000=JFile Guide +comCmm.left.3010=JFile File Upload +comCmm.left.3020=JFile File Download +comCmm.left.3100=LDAP Org. Management +comCmm.left.3110=LDAP Org. Graph +comCmm.left.3200=WebMessenger + +#EgovUnitContent(\ub85c\uadf8\uc778 \ud6c4 \ud398\uc774\uc9c0)# +comCmm.unitContent.1=Common Compoent +comCmm.unitContent.2=Welcome. +comCmm.unitContent.3=Logout +comCmm.unitContent.4=If you run into any errors, please contact the eGovframework center. +comCmm.unitContent.5=Screen description +comCmm.unitContent.6=The left menu is not affected by the menu-related components (menu management, site map, etc.) +comCmm.unitContent.7=Controller class that finds installed components after installing components through IncludedInfo annotation and processes information to be displayed on the screen. +comCmm.unitContent.8= +comCmm.unitContent.9= +comCmm.unitContent.10=Before the menu structure is developed, +comCmm.unitContent.11=the list of common components included in the distribution files is provided. +comCmm.unitContent.12=If you use this control to configure menus at runtime, +comCmm.unitContent.13=we recommend that you delete and deploy them in production +comCmm.unitContent.14= because they can cause performance problems or cause errors in your menu configuration. + +comCmm.unitContent.20=Password expiration notice + +#EgovExpirePwd(\ube44\ubc00\ubc88\ud638\ubcc0\uacbd \uacf5\uc9c0)# +comCmm.expirePwdContent.1=Login +comCmm.expirePwdContent.2=Login classification + +comCmm.expirePwdContent.10=Manager +comCmm.expirePwdContent.11=Corporate Member +comCmm.expirePwdContent.12=General Member + +comCmm.expirePwdContent.21=Please refer to the following file to change the password expiration date. +comCmm.expirePwdContent.22=Password expiration +comCmm.expirePwdContent.23=Password validity has expired. +comCmm.expirePwdContent.24=Please change your password now for safe privacy! +comCmm.expirePwdContent.25=Password expiration days +comCmm.expirePwdContent.26=Password validity period +comCmm.expirePwdContent.27=Number of days since password change +comCmm.expirePwdContent.28=Password expiration days +comCmm.expirePwdContent.29=Please change your password periodically. +comCmm.expirePwdContent.30=days + +comCmm.expirePwdContent.50=Change immediately +comCmm.expirePwdContent.51=Change next Property changes on: base3.10/src/main/resources/egovframework/message/com/cmm/message-common_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/cmm/message-common_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/cmm/message-common_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/cmm/message-common_ko.properties (revision 7) @@ -0,0 +1,251 @@ +#top# +comCmm.top.title=\uc804\uc790\uc815\ubd80 \ud45c\uc900\ud504\ub808\uc784\uc6cc\ud06c \uacf5\ud1b5\ucef4\ud3ec\ub10c\ud2b8 VERSION 3.10 +comCmm.top.leftSessionTime=\uc138\uc158\ub9cc\ub8cc \ub0a8\uc740\uc2dc\uac04 +comCmm.top.incSessionTime=\uc2dc\uac04\uc5f0\uc7a5 +comCmm.top.expiredSessionTime=\uc2dc\uac04\ub9cc\ub8cc +comCmm.top.expireSessionTimeInfo=\ub85c\uadf8\uc778 \uc138\uc158\uc2dc\uac04\uc774 \ub9cc\ub8cc \ub418\uc5c8\uc2b5\ub2c8\ub2e4. +comCmm.top.cantIncSessionTime=\uc2dc\uac04\uc744 \uc5f0\uc7a5\ud560\uc218 \uc5c6\uc2b5\ub2c8\ub2e4. + +#left# +comCmm.mai.title=\ud3ec\ud138(\uc608\uc81c) \uba54\uc778\ud654\uba74 +comCmm.uat.title=\uc0ac\uc6a9\uc790\ub514\ub809\ud1a0\ub9ac/\ud1b5\ud569\uc778\uc99d +comCmm.sec.title=\ubcf4\uc548 +comCmm.sts.title=\ud1b5\uacc4/\ub9ac\ud3ec\ud305 +comCmm.cop.title=\ud611\uc5c5 +comCmm.uss.title=\uc0ac\uc6a9\uc790\uc9c0\uc6d0 +comCmm.sym.title=\uc2dc\uc2a4\ud15c\uad00\ub9ac +comCmm.ssi.title=\uc2dc\uc2a4\ud15c/\uc11c\ube44\uc2a4\uc5f0\uacc4 +comCmm.dam.title=\ub514\uc9c0\ud138 \uc790\uc0b0 \uad00\ub9ac +comCmm.com.title=\uc694\uc18c\uae30\uc220 +comCmm.ext.title=\uc678\ubd80 \ucd94\uac00 \ucef4\ud3ec\ub10c\ud2b8 + +#component# +#\ud3ec\ud0c8 \uba54\uc778\ud654\uba74# +comCmm.left.1=\ud3ec\ud138(\uc608\uc81c) \uba54\uc778\ud654\uba74 + +#\uc0ac\uc6a9\uc790\ub514\ub809\ud1a0\ub9ac/\ud1b5\ud569\uc778\uc99d# +comCmm.left.10=\ub85c\uadf8\uc778 +comCmm.left.30=\ub85c\uadf8\uc778\uc815\ucc45\uad00\ub9ac + +#\ubcf4\uc548# +comCmm.left.60=\uad8c\ud55c\uad00\ub9ac +comCmm.left.70=\uad8c\ud55c\uadf8\ub8f9\uad00\ub9ac +comCmm.left.80=\uadf8\ub8f9\uad00\ub9ac +comCmm.left.90=\ub864\uad00\ub9ac +comCmm.left.100=\ubd80\uc11c\uad8c\ud55c\uad00\ub9ac + +#\ud1b5\uacc4/\ub9ac\ud3ec\ud305# +comCmm.left.120=\uac8c\uc2dc\ubb3c\ud1b5\uacc4 +comCmm.left.130=\uc0ac\uc6a9\uc790\ud1b5\uacc4 +comCmm.left.140=\uc811\uc18d\ud1b5\uacc4 +comCmm.left.150=\ud654\uba74\ud1b5\uacc4 +comCmm.left.160=\ubcf4\uace0\uc11c\ud1b5\uacc4 +comCmm.left.161=\uc790\ub8cc\uc774\uc6a9\ud604\ud669\ud1b5\uacc4 + +\ud611\uc5c5 +comCmm.left.170=\ube14\ub85c\uadf8\uad00\ub9ac +comCmm.left.180=\uac8c\uc2dc\ud310\uad00\ub9ac +comCmm.left.190=\uac8c\uc2dc\ud310\uc0ac\uc6a9\uc815\ubcf4 +comCmm.left.200=\ud15c\ud50c\ub9bf\uad00\ub9ac +comCmm.left.250=\uc2a4\ud06c\ub7a9 \ubaa9\ub85d +comCmm.left.270=\ucee4\ubba4\ub2c8\ud2f0\uad00\ub9ac +comCmm.left.310=\ubb38\uc790\uba54\uc2dc\uc9c0 +comCmm.left.320=\ubd80\uc11c\uc77c\uc815\uad00\ub9ac +comCmm.left.330=\uc77c\uc815\uad00\ub9ac +comCmm.left.340=\uc77c\uc9c0\uad00\ub9ac +comCmm.left.350=\uc804\uccb4\uc77c\uc815\uad00\ub9ac +comCmm.left.360=\uba54\uc77c\ubc1c\uc1a1 +comCmm.left.361=\ubc1c\uc1a1\uba54\uc77c\ub0b4\uc5ed +comCmm.left.370=\uba85\ud568\uad00\ub9ac +comCmm.left.371=\ub0b4\uba85\ud568\ubaa9\ub85d +comCmm.left.380=\uc8fc\uc18c\ub85d\uad00\ub9ac +comCmm.left.390=\uac04\ubd80\uc77c\uc815\uad00\ub9ac +comCmm.left.400=\ubd80\uc11c\uc5c5\ubb34\ud568\uad00\ub9ac +comCmm.left.401=\ubd80\uc11c\uc5c5\ubb34\uc815\ubcf4 +comCmm.left.410=\uc8fc\uac04/\uc6d4\uac04\ubcf4\uace0\uad00\ub9ac +comCmm.left.420=\uba54\ubaa8\ud560\uc77c\uad00\ub9ac +comCmm.left.430=\uba54\ubaa8\ubcf4\uace0 + +#\uc0ac\uc6a9\uc790\uc9c0\uc6d0# +comCmm.left.450=\uae30\uc5c5\ud68c\uc6d0\uad00\ub9ac +comCmm.left.460=\uc5c5\ubb34\uc0ac\uc6a9\uc790\uad00\ub9ac +comCmm.left.461=\ubd80\uc11c\uad00\ub9ac +comCmm.left.470=\uc77c\ubc18\ud68c\uc6d0\uad00\ub9ac +comCmm.left.480=\ub9c8\uc774\ud398\uc774\uc9c0\uad00\ub9ac +comCmm.left.490=\uc57d\uad00\uad00\ub9ac +comCmm.left.500=\uc800\uc791\uad8c\ubcf4\ud638\uc815\ucc45 +comCmm.left.510=\uac1c\uc778\uc815\ubcf4\ubcf4\ud638\uc815\ucc45\ud655\uc778 +comCmm.left.520=\ub3c4\uc6c0\ub9d0 +comCmm.left.530=\uc6a9\uc5b4\uc0ac\uc804 +comCmm.left.540=FAQ\uad00\ub9ac +comCmm.left.550=Q&A\uad00\ub9ac +comCmm.left.551=Q&A\ub2f5\ubcc0\uad00\ub9ac +comCmm.left.560=\ud589\uc815\uc804\ubb38\uc6a9\uc5b4\uc0ac\uc804 +comCmm.left.561=\ud589\uc815\uc804\ubb38\uc6a9\uc5b4\uc0ac\uc804\uad00\ub9ac +comCmm.left.570=\uc628\ub77c\uc778\ub9e4\ub274\uc5bc +comCmm.left.571=\uc0ac\uc6a9\uc790\uc628\ub77c\uc778\ub9e4\ub274\uc5bc +comCmm.left.580=\uc0c1\ub2f4\uad00\ub9ac +comCmm.left.581=\uc0c1\ub2f4\ub2f5\ubcc0\uad00\ub9ac +comCmm.left.590=\uc124\ubb38\uad00\ub9ac +comCmm.left.600=\uc124\ubb38\uc870\uc0ac +comCmm.left.610=\uc124\ubb38\ud15c\ud50c\ub9bf\uad00\ub9ac +comCmm.left.620=\uc751\ub2f5\uc790\uad00\ub9ac +comCmm.left.630=\uc9c8\ubb38\uad00\ub9ac +comCmm.left.640=\ud56d\ubaa9\uad00\ub9ac +comCmm.left.650=\ud68c\uc758\uad00\ub9ac +comCmm.left.660=\uc628\ub77c\uc778poll\uad00\ub9ac +comCmm.left.661=\uc628\ub77c\uc778poll\ucc38\uc5ec +comCmm.left.670=\ub274\uc2a4\uad00\ub9ac +comCmm.left.680=\uc0ac\uc774\ud2b8\uad00\ub9ac +comCmm.left.700=\ucd94\ucc9c\uc0ac\uc774\ud2b8\uad00\ub9ac +comCmm.left.710=\ud589\uc0ac/\uc774\ubca4\ud2b8/\ucea0\ud398\uc778 +comCmm.left.711=\uc678\ubd80\uc778\uc0ac\uc815\ubcf4 +comCmm.left.720=\ud31d\uc5c5\ucc3d\uad00\ub9ac +comCmm.left.730=\uc815\ubcf4\uc54c\ub9bc\uc774 +comCmm.left.740=\ubc30\ub108\uad00\ub9ac +comCmm.left.741=MYPAGE\ubc30\ub108\uad00\ub9ac +comCmm.left.750=\ub85c\uadf8\uc778\ud654\uba74\uc774\ubbf8\uc9c0\uad00\ub9ac +comCmm.left.760=\ucd5c\uadfc\uac80\uc0c9\uc5b4 \uc870\ud68c +comCmm.left.770=\uba54\uc778\uc774\ubbf8\uc9c0\uad00\ub9ac +comCmm.left.771=\uba54\uc778\uc774\ubbf8\uc9c0 \ubc18\uc601\uacb0\uacfc\ubcf4\uae30 +comCmm.left.780=\ud1b5\ud569\ub9c1\ud06c\uad00\ub9ac +comCmm.left.790=\uc0ac\uc6a9\uc790\ubd80\uc7ac\uad00\ub9ac +comCmm.left.800=\uc778\ud130\ub137\uc11c\ube44\uc2a4\uc548\ub0b4\ubc0f\uad00\ub9ac +comCmm.left.810=Wiki\uae30\ub2a5 +comCmm.left.820=RSS\ud0dc\uadf8\uad00\ub9ac +comCmm.left.822=RSS\ud0dc\uadf8\uc11c\ube44\uc2a4 +comCmm.left.830=Twitter\uc5f0\ub3d9 +comCmm.left.831=Facebook \uc5f0\ub3d9 +comCmm.left.840=\ucabd\uc9c0\uad00\ub9ac +comCmm.left.850=\ubc1b\uc740\ucabd\uc9c0\ud568\uad00\ub9ac +comCmm.left.860=\ubcf4\ub0b8\ucabd\uc9c0\ud568\uad00\ub9ac +comCmm.left.870=\ud68c\uc758\uc2e4\uad00\ub9ac +comCmm.left.871=\ud68c\uc758\uc2e4\uc608\uc57d\uad00\ub9ac +comCmm.left.890=\uc9c1\uc6d0\uacbd\uc870\uc0ac\uad00\ub9ac +comCmm.left.891=\uc9c1\uc6d0\uacbd\uc870\uc0ac\uc2b9\uc778\uad00\ub9ac +comCmm.left.900=\ud734\uac00\uad00\ub9ac +comCmm.left.901=\ud734\uac00\uc2b9\uc778\uad00\ub9ac +comCmm.left.902=\uac1c\uc778\uc5f0\ucc28\uad00\ub9ac +comCmm.left.910=\ub2f9\uc9c1\uad00\ub9ac +comCmm.left.911=\ub2f9\uc9c1\uccb4\ud06c\uad00\ub9ac +comCmm.left.920=\ud3ec\uc0c1\uad00\ub9ac +comCmm.left.921=\ud3ec\uc0c1\uc2b9\uc778\uad00\ub9ac +comCmm.left.930=\uae30\ub150\uc77c\uad00\ub9ac +comCmm.left.931=\uae30\ub150\uc77c\ubaa9\ub85d(\ud655\uc778\uc6a9) +comCmm.left.940=\ud589\uc0ac\uc2e0\uccad\uad00\ub9ac +comCmm.left.941=\ud589\uc0ac\uc811\uc218\uad00\ub9ac +comCmm.left.942=\ud589\uc0ac\uc811\uc218\uc2b9\uc778\uad00\ub9ac +comCmm.left.943=\uc57d\ub3c4 \uad00\ub9ac +comCmm.left.950=\ucd9c\ud1f4\uadfc\uad00\ub9ac + +#\uc2dc\uc2a4\ud15c\uad00\ub9ac# +comCmm.left.960=\uacf5\ud1b5\ubd84\ub958\ucf54\ub4dc +comCmm.left.970=\uacf5\ud1b5\uc0c1\uc138\ucf54\ub4dc +comCmm.left.980=\uacf5\ud1b5\ucf54\ub4dc +comCmm.left.1000=\uc6b0\ud3b8\ubc88\ud638\uad00\ub9ac +comCmm.left.1010=\ud589\uc815\ucf54\ub4dc\uad00\ub9ac +comCmm.left.1020=\uae30\uad00\ucf54\ub4dc\uc218\uc2e0 +comCmm.left.1030=\ub85c\uadf8\uad00\ub9ac +comCmm.left.1040=\uc0ac\uc6a9\ub85c\uadf8\uad00\ub9ac +comCmm.left.1050=\uc1a1/\uc218\uc2e0\ub85c\uadf8\uad00\ub9ac +comCmm.left.1060=\uc2dc\uc2a4\ud15c\uc774\ub825\uad00\ub9ac +comCmm.left.1070=\uc6f9\ub85c\uadf8\uad00\ub9ac +comCmm.left.1080=\uc811\uc18d\ub85c\uadf8\uad00\ub9ac +comCmm.left.1085=\uac1c\uc778\uc815\ubcf4\uc870\ud68c\ub85c\uadf8\uad00\ub9ac +comCmm.left.1090=\uba54\ub274\ub9ac\uc2a4\ud2b8\uad00\ub9ac +comCmm.left.1091=\uba54\ub274\uad00\ub9ac\ub9ac\uc2a4\ud2b8 +comCmm.left.1100=\uba54\ub274\uc0dd\uc131\uad00\ub9ac +comCmm.left.1101=\uc0ac\uc774\ud2b8\ub9f5 +comCmm.left.1110=\ubc14\ub85c\uac00\uae30\uba54\ub274\uad00\ub9ac +comCmm.left.1111=\ud504\ub85c\uadf8\ub7a8\uad00\ub9ac +comCmm.left.1112=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc694\uccad\uad00\ub9ac +comCmm.left.1113=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc694\uccad\ucc98\ub9ac +comCmm.left.1114=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc774\ub825 +comCmm.left.1120=\ubc30\uce58\uc791\uc5c5\uad00\ub9ac +comCmm.left.1130=\ubc30\uce58\uacb0\uacfc\uad00\ub9ac +comCmm.left.1140=\uc2a4\ucf00\uc904\ucc98\ub9ac +comCmm.left.1150=\ubc31\uc5c5\uad00\ub9ac +comCmm.left.1151=\ubc31\uc5c5\uacb0\uacfc\uad00\ub9ac +comCmm.left.1160=\ub124\ud2b8\uc6cc\ud06c\uad00\ub9ac +comCmm.left.1170=\uc11c\ubc84\uc815\ubcf4\uad00\ub9ac +comCmm.left.1171=\uc11c\ubc84(S/W)\ubaa9\ub85d +comCmm.left.1180=\uc7a5\uc560\uc2e0\uccad\uad00\ub9ac +comCmm.left.1190=\uc7a5\uc560\ucc98\ub9ac\uacb0\uacfc\uad00\ub9ac + +#\uc2dc\uc2a4\ud15c/\uc11c\ube44\uc2a4\uc5f0\uacc4# +comCmm.left.1210=\uc2dc\uc2a4\ud15c\uc5f0\uacc4\uad00\ub9ac +comCmm.left.1220=\uc5f0\uacc4\ud604\ud669\uad00\ub9ac +comCmm.left.1230=\uc5f0\uacc4\uba54\uc2dc\uc9c0\uad00\ub9ac +comCmm.left.1240=\uc5f0\uacc4\uae30\uad00\uad00\ub9ac + +#\ub514\uc9c0\ud138 \uc790\uc0b0 \uad00\ub9ac# +comCmm.left.1250=\uac1c\uc778\uc9c0\uc2dd\uad00\ub9ac +comCmm.left.1260=\uc9c0\uc2dd\ub9f5\uad00\ub9ac(\uc720\ud615) +comCmm.left.1261=\uc9c0\uc2dd\ub9f5\uad00\ub9ac(\uc870\uc9c1) +comCmm.left.1270=\uc9c0\uc2dd\uc804\ubb38\uac00\uad00\ub9ac +comCmm.left.1280=\uc9c0\uc2dd\uc815\ubcf4\uad00\ub9ac +comCmm.left.1290=\uc9c0\uc2dd\ud3c9\uac00\uad00\ub9ac +comCmm.left.1291=\uc9c0\uc2dd\uc815\ubcf4\uc81c\uacf5 + +#\uc694\uc18c\uae30\uc220# +comCmm.left.1300=\uacf5\ud734\uc77c\uad00\ub9ac(\ub2ec\ub825) +comCmm.left.2080=\uc1a1\uc218\uc2e0\ubaa8\ub2c8\ud130\ub9c1 +comCmm.left.2090=DB\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1 +comCmm.left.2100=HTTP\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1 +comCmm.left.2110=\ud504\ub85c\uc138\uc2a4\ubaa8\ub2c8\ud130\ub9c1 +comCmm.left.2120=\ub124\ud2b8\uc6cc\ud06c\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1 +comCmm.left.2130=\ud30c\uc77c\uc2dc\uc2a4\ud15c\ubaa8\ub2c8\ud130\ub9c1 +comCmm.left.2140=\ud504\ub85d\uc2dc\uc11c\ube44\uc2a4 +comCmm.left.2150=\ud30c\uc77c\ub3d9\uae30\ud654(\ub300\uc0c1\uc11c\ubc84) +comCmm.left.2160=\ub85c\uadf8\uc778\uc138\uc158\uc815\ubcf4\uccb4\ud06c +comCmm.left.2170=\uc11c\ubc84\uc790\uc6d0\ubaa8\ub2c8\ud130\ub9c1-\ub300\uc0c1\ubaa9\ub85d +comCmm.left.2180=\uc8fc\uc18c\uc815\ubcf4\uc5f0\uacc4 +comCmm.left.2200=\uc554\ud638\ud654/\ubcf5\ud638\ud654 + +#\uc678\ubd80 \ucd94\uac00 \ucef4\ud3ec\ub10c\ud2b8# +comCmm.left.3000=JFile \uac00\uc774\ub4dc +comCmm.left.3010=JFile \ud30c\uc77c \uc5c5\ub85c\ub4dc +comCmm.left.3020=JFile \ud30c\uc77c \ub2e4\uc6b4\ub85c\ub4dc +comCmm.left.3100=LDAP \uc870\uc9c1\ub3c4 \ud2b8\ub9ac +comCmm.left.3110=LDAP \uc870\uc9c1\ub3c4 \uadf8\ub798\ud504 +comCmm.left.3200=\uc6f9\uc18c\ucf13 \uba54\uc2e0\uc800 + +#EgovUnitContent(\ub85c\uadf8\uc778 \ud6c4 \ud398\uc774\uc9c0)# +comCmm.unitContent.1=\uacf5\ud1b5\ucef4\ud3ec\ub10c\ud2b8 +comCmm.unitContent.2=\ub2d8 \ud658\uc601\ud569\ub2c8\ub2e4. +comCmm.unitContent.3=\ub85c\uadf8\uc544\uc6c3 +comCmm.unitContent.4=\uc2e4\ud589 \uc2dc \uc624\ub958 \uc0ac\ud56d\uc774 \uc788\uc73c\uc2dc\uba74 \ud45c\uc900\ud504\ub808\uc784\uc6cc\ud06c\uc13c\ud130\ub85c \uc5f0\ub77d\ud558\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4. +comCmm.unitContent.5=\ud654\uba74 \uc124\uba85 +comCmm.unitContent.6=\uc67c\ucabd \uba54\ub274\ub294 \uba54\ub274\uc640 \uad00\ub828\ub41c \ucef4\ud3ec\ub10c\ud2b8(\uba54\ub274\uad00\ub9ac, \uc0ac\uc774\ud2b8\ub9f5 \ub4f1)\ub4e4\uc758 \uc601\ud5a5\uc744 \ubc1b\uc9c0 \uc54a\uc73c\uba70, +comCmm.unitContent.7=\uac01 \ucef4\ud3ec\ub10c\ud2b8\ub97c \uc27d\uac8c \ucc3e\uc544\ubcfc \uc218 \uc788\ub294 \ubc14\ub85c \uac00\uae30 \ub9c1\ud06c\ud398\uc774\uc9c0\uc785\ub2c8\ub2e4. +comCmm.unitContent.8=\ucef4\ud3ec\ub10c\ud2b8 \uc124\uce58 \ud6c4 \uc124\uce58\ub41c \ucef4\ud3ec\ub10c\ud2b8\ub4e4\uc744 IncludedInfo annotation\uc744 \ud1b5\ud574 \ucc3e\uc544\ub0b8 \ud6c4 +comCmm.unitContent.9=\ud654\uba74\uc5d0 \ud45c\uc2dc\ud560 \uc815\ubcf4\ub97c \ucc98\ub9ac\ud558\ub294 Controller \ud074\ub798\uc2a4\uc785\ub2c8\ub2e4. +comCmm.unitContent.10=\uac1c\ubc1c \uc2dc \uba54\ub274 \uad6c\uc870\uac00 \uc7a1\ud788\uae30 \uc804\uc5d0 \ubc30\ud3ec \ud30c\uc77c\ub4e4\uc5d0 \ud3ec\ud568\ub41c \uacf5\ud1b5 \ucef4\ud3ec\ub10c\ud2b8\ub4e4\uc758 \ubaa9\ub85d\uc131 \ud654\uba74\uc5d0 URL\uc744 \uc81c\uacf5\ud558\uc5ec +comCmm.unitContent.11=\uac1c\ubc1c\uc790\uac00 \ud3b8\ub9ac\ud558\uac8c \ud65c\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \uc791\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4. +comCmm.unitContent.12=\uc6b4\uc601 \uc2dc\uc5d0 \ubcf8 \ucee8\ud2b8\ub864\uc744 \uc0ac\uc6a9\ud558\uc5ec \uba54\ub274\ub97c \uad6c\uc131\ud558\ub294 \uacbd\uc6b0, +comCmm.unitContent.13=\uc131\ub2a5 \ubb38\uc81c\ub97c \uc77c\uc73c\ud0a4\uac70\ub098 \uc0ac\uc6a9\uc790\ubcc4 \uba54\ub274 \uad6c\uc131\uc5d0 \uc624\ub958\ub97c \ubc1c\uc0dd\ud560 \uc218 \uc788\uae30 \ub54c\ubb38\uc5d0 +comCmm.unitContent.14=\uc2e4 \uc6b4\uc601 \uc2dc\uc5d0\ub294 \uc0ad\uc81c\ud574\uc11c \ubc30\ud3ec\ud558\ub294 \uac83\uc744 \uad8c\uc7a5\ud574 \ub4dc\ub9bd\ub2c8\ub2e4. + +comCmm.unitContent.20=\ube44\ubc00\ubc88\ud638 \uc720\ud6a8\uae30\uac04 \ub9cc\ub8cc \uc548\ub0b4 + +#EgovExpirePwd(\ube44\ubc00\ubc88\ud638\ubcc0\uacbd \uacf5\uc9c0)# +comCmm.expirePwdContent.1=\ub85c\uadf8\uc778 +comCmm.expirePwdContent.2=\ub85c\uadf8\uc778 \uad6c\ubd84 + +comCmm.expirePwdContent.10=\uc5c5\ubb34\uc0ac\uc6a9\uc790 +comCmm.expirePwdContent.11=\uae30\uc5c5\ud68c\uc6d0 +comCmm.expirePwdContent.12=\uc77c\ubc18\ud68c\uc6d0 + +comCmm.expirePwdContent.21=\ube44\ubc00\ubc88\ud638 \uc720\ud6a8\uae30\uac04\uc758 \ubcc0\uacbd\uc740 \ub2e4\uc74c \ud30c\uc77c\uc744 \ucc38\uc870\ud558\uc5ec \uc8fc\uc138\uc694. +comCmm.expirePwdContent.22=\ube44\ubc00\ubc88\ud638 \uc720\ud6a8\uae30\uac04 \ub9cc\ub8cc +comCmm.expirePwdContent.23=\ube44\ubc00\ubc88\ud638 \uc720\ud6a8\uae30\uac04\uc774 \ub9cc\ub8cc \ub418\uc5c8\uc2b5\ub2c8\ub2e4. +comCmm.expirePwdContent.24=\uc548\uc804\ud55c \uac1c\uc778\uc815\ubcf4 \ubcf4\ud638\ub97c \uc704\ud574 \uc9c0\uae08 \ube44\ubc00\ubc88\ud638\ub97c \ubcc0\uacbd\ud574 \uc8fc\uc138\uc694! +comCmm.expirePwdContent.25=\ube44\ubc00\ubc88\ud638 \uc720\ud6a8\uae30\uac04 \ucd08\uacfc\uc77c\uc218 +comCmm.expirePwdContent.26=\ube44\ubc00\ubc88\ud638 \uc720\ud6a8\uae30\uac04 +comCmm.expirePwdContent.27=\ube44\ubc00\ubc88\ud638 \ubcc0\uacbd\ud6c4 \uacbd\uacfc\uc77c\uc218 +comCmm.expirePwdContent.28=\ube44\ubc00\ubc88\ud638 \uc720\ud6a8\uae30\uac04 \ucd08\uacfc\uc77c\uc218 +comCmm.expirePwdContent.29=\uc8fc\uae30\uc801\uc73c\ub85c \ube44\ubc00\ubc88\ud638\ub97c \ubcc0\uacbd\ud574 \uc8fc\uc138\uc694. +comCmm.expirePwdContent.30=\uc77c + +comCmm.expirePwdContent.50=\uc9c0\uae08 \uc989\uc2dc \ubcc0\uacbd\ud558\uae30 +comCmm.expirePwdContent.51=\ub2e4\uc74c\uc5d0 \ubcc0\uacbd\ud558\uae30 Property changes on: base3.10/src/main/resources/egovframework/message/com/cmm/message-common_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/cop/com/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/cop/com/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/cop/com/message_en.properties (revision 7) @@ -0,0 +1,9 @@ +comCopCom.userListPop.title=User List +comCopCom.userListPop.pageTop.title=User List +comCopCom.userListPop.index=Index +comCopCom.userListPop.userId=User ID +comCopCom.userListPop.userNm=User Name +comCopCom.userListPop.userAdres=Address +comCopCom.userListPop.userEmail=Email +comCopCom.userListPop.useAt=Usage status +comCopCom.userListPop.select=Select Property changes on: base3.10/src/main/resources/egovframework/message/com/cop/com/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/cop/com/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/cop/com/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/cop/com/message_ko.properties (revision 7) @@ -0,0 +1,9 @@ +comCopCom.userListPop.title=\uc0ac\uc6a9\uc790 \ubaa9\ub85d +comCopCom.userListPop.pageTop.title=\uc0ac\uc6a9\uc790 \ubaa9\ub85d +comCopCom.userListPop.index=\ubc88\ud638 +comCopCom.userListPop.userId=\uc0ac\uc6a9\uc790\uc544\uc774\ub514 +comCopCom.userListPop.userNm=\uc0ac\uc6a9\uc790\uba85 +comCopCom.userListPop.userAdres=\uc8fc\uc18c +comCopCom.userListPop.userEmail=\uc774\uba54\uc77c +comCopCom.userListPop.useAt=\uc0ac\uc6a9\uc5ec\ubd80 +comCopCom.userListPop.select=\uc120\ud0dd Property changes on: base3.10/src/main/resources/egovframework/message/com/cop/com/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/cop/blog/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/cop/blog/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/cop/blog/message_en.properties (revision 7) @@ -0,0 +1,60 @@ +# Blog Main List +comCopBlog.articleBlogList.regCategory=Category Registration +comCopBlog.articleBlogList.setListNumbers=Set Number of Posts +comCopBlog.articleBlogList.listNumber5=5 lines +comCopBlog.articleBlogList.listNumber10=10 lines +comCopBlog.articleBlogList.listNumber15=15 lines +comCopBlog.articleBlogList.listNumber20=20 lines +comCopBlog.articleBlogList.listNumber30=30 lines +comCopBlog.articleBlogList.validate.noResult=No posts! \\nPlease register your post. +comCopBlog.articleBlogList.validate.limitSize=Comments can be up to 500bytes. +comCopBlog.articleBlogList.validate.noContent=The text does not exist! +comCopBlog.articleBlogList.validate.occurError=An error has occurred. +comCopBlog.articleBlogList.validate.noBoard=There are no registered boards.\\nPlease create a board through category registration. + +#\uac8c\uc2dc\ud310\uc18d\uc131\uad00\ub9ac BBS Master# +comCopBlog.blogMasterVO.title=Blog + +comCopBlog.blogMasterVO.list.blogNm=Blog Name +comCopBlog.blogMasterVO.list.useAt=Usage Status + +comCopBlog.blogMasterVO.detail.blogNm=Blog Name +comCopBlog.blogMasterVO.detail.blogIntrcn=About Blog +comCopBlog.blogMasterVO.detail.useAt=Usage Status +comCopBlog.blogMasterVO.detail.blogAdres=Blog Address + +comCopBlog.blogMasterVO.regist.blogNm=Blog Name +comCopBlog.blogMasterVO.regist.blogIntrcn=About Blog +comCopBlog.blogMasterVO.regist.useAt=Usage Status + +comCopBlog.blogMasterVO.updt.blogNm=Blog Name +comCopBlog.blogMasterVO.updt.blogIntrcn=About Blog +comCopBlog.blogMasterVO.updt.useAt=Usage Status + + + +comCopBlog.blogUserVO.title=Blog User + +comCopBlog.blogUserVO.emplyrId=User ID +comCopBlog.blogUserVO.emplyrNm=User Name +comCopBlog.blogUserVO.mberSttus=Member Status +comCopBlog.blogUserVO.etc=Etc + + +#Manage blog users# +comCopBlog.blogUseMgrMain.title=Blog User Main + +comCopBlog.blogUseMgrMain.btnBoard=Personal Blog Management +comCopBlog.blogUseMgrMain.btnUser=User Management + +comCopBlog.blogUseMgrMain.btnMemberWithdrawal=Member Withdrawal +comCopBlog.blogUseMgrMain.btnMemberJoin=Member Join + +comCopBlog.blogUseMgrMain.titleContents=Content Area + + +comCopBlog.blogUseMgrBaseTmpl.title=Blog Default Template +comCopBlog.blogUseMgrBaseTmpl.more=More +comCopBlog.blogUseMgrBaseTmpl.noList=There is no registered contents. + +comCopBlog.validate.blogUserCheck=A blog already exists with the same account. Property changes on: base3.10/src/main/resources/egovframework/message/com/cop/blog/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/cop/blog/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/cop/blog/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/cop/blog/message_ko.properties (revision 7) @@ -0,0 +1,60 @@ +# \ube14\ub85c\uadf8 \uba54\uc778\ubaa9\ub85d +comCopBlog.articleBlogList.regCategory=\uce74\ud14c\uace0\ub9ac\ub4f1\ub85d +comCopBlog.articleBlogList.setListNumbers=\uac8c\uc2dc\ubb3c \uac2f\uc218 \uc124\uc815 +comCopBlog.articleBlogList.listNumber5=5\uc904 \ubcf4\uae30 +comCopBlog.articleBlogList.listNumber10=10\uc904 \ubcf4\uae30 +comCopBlog.articleBlogList.listNumber15=15\uc904 \ubcf4\uae30 +comCopBlog.articleBlogList.listNumber20=20\uc904 \ubcf4\uae30 +comCopBlog.articleBlogList.listNumber30=30\uc904 \ubcf4\uae30 +comCopBlog.articleBlogList.validate.noResult=\uac8c\uc2dc\uae00\uc774 \uc5c6\uc2b5\ub2c8\ub2e4!\\n\uac8c\uc2dc\uae00\uc744 \ub4f1\ub85d\ud574 \uc8fc\uc138\uc694. +comCopBlog.articleBlogList.validate.limitSize=\ub313\uae00\uc740 500byte \uae4c\uc9c0 \uc791\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. +comCopBlog.articleBlogList.validate.noContent=\ubcf8\ubb38 \ub0b4\uc6a9\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4! +comCopBlog.articleBlogList.validate.occurError=\uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. +comCopBlog.articleBlogList.validate.noBoard=\ub4f1\ub85d\ub41c \uac8c\uc2dc\ud310\uc774 \uc5c6\uc2b5\ub2c8\ub2e4.\\n\uce74\ud14c\uace0\ub9ac\ub4f1\ub85d\uc744 \ud1b5\ud574 \uac8c\uc2dc\ud310\uc744 \uc0dd\uc131\ud574\uc8fc\uc138\uc694. + +#\uac8c\uc2dc\ud310\uc18d\uc131\uad00\ub9ac BBS Master# +comCopBlog.blogMasterVO.title=\ube14\ub85c\uadf8 + +comCopBlog.blogMasterVO.list.blogNm=\ube14\ub85c\uadf8\uba85 +comCopBlog.blogMasterVO.list.useAt=\uc0ac\uc6a9\uc5ec\ubd80 + +comCopBlog.blogMasterVO.detail.blogNm=\ube14\ub85c\uadf8\uba85 +comCopBlog.blogMasterVO.detail.blogIntrcn=\ube14\ub85c\uadf8\uc18c\uac1c\ub0b4\uc6a9 +comCopBlog.blogMasterVO.detail.useAt=\uc0ac\uc6a9\uc5ec\ubd80 +comCopBlog.blogMasterVO.detail.blogAdres=\ube14\ub85c\uadf8 \uc8fc\uc18c + +comCopBlog.blogMasterVO.regist.blogNm=\ube14\ub85c\uadf8\uba85 +comCopBlog.blogMasterVO.regist.blogIntrcn=\ube14\ub85c\uadf8\uc18c\uac1c\ub0b4\uc6a9 +comCopBlog.blogMasterVO.regist.useAt=\uc0ac\uc6a9\uc5ec\ubd80 + +comCopBlog.blogMasterVO.updt.blogNm=\ube14\ub85c\uadf8\uba85 +comCopBlog.blogMasterVO.updt.blogIntrcn=\ube14\ub85c\uadf8\uc18c\uac1c\ub0b4\uc6a9 +comCopBlog.blogMasterVO.updt.useAt=\uc0ac\uc6a9\uc5ec\ubd80 + + + +comCopBlog.blogUserVO.title=\ube14\ub85c\uadf8 \uc0ac\uc6a9\uc790 + +comCopBlog.blogUserVO.emplyrId=\uc0ac\uc6a9\uc790ID +comCopBlog.blogUserVO.emplyrNm=\uc0ac\uc6a9\uc790\uba85 +comCopBlog.blogUserVO.mberSttus=\ud68c\uc6d0\uc0c1\ud0dc +comCopBlog.blogUserVO.etc=\ube44\uace0 + + +#\ube14\ub85c\uadf8 \uc0ac\uc6a9\uc790 \uad00\ub9ac# +comCopBlog.blogUseMgrMain.title=\ube14\ub85c\uadf8 \uc0ac\uc6a9\uc790 \uba54\uc778 + +comCopBlog.blogUseMgrMain.btnBoard=\uac1c\uc778\ube14\ub85c\uadf8\uad00\ub9ac +comCopBlog.blogUseMgrMain.btnUser=\uc0ac\uc6a9\uc790\uad00\ub9ac + +comCopBlog.blogUseMgrMain.btnMemberWithdrawal=\ud0c8\ud1f4\uc2e0\uccad +comCopBlog.blogUseMgrMain.btnMemberJoin=\uac00\uc785\uc2e0\uccad + +comCopBlog.blogUseMgrMain.titleContents=\ucee8\ud150\uce20\uc601\uc5ed + + +comCopBlog.blogUseMgrBaseTmpl.title=\ube14\ub85c\uadf8\uae30\ubcf8\ud15c\ud50c\ub9bf +comCopBlog.blogUseMgrBaseTmpl.more=\ub354\ubcf4\uae30 +comCopBlog.blogUseMgrBaseTmpl.noList=\ub4f1\ub85d \ub41c \ub0b4\uc6a9\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. + +comCopBlog.validate.blogUserCheck = \uc774\ubbf8 \ub3d9\uc77c\ud55c \uacc4\uc815\uc73c\ub85c \ube14\ub85c\uadf8\uac00 \uc874\uc7ac\ud569\ub2c8\ub2e4. Property changes on: base3.10/src/main/resources/egovframework/message/com/cop/blog/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/cop/bbs/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/cop/bbs/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/cop/bbs/message_en.properties (revision 7) @@ -0,0 +1,88 @@ +#\uac8c\uc2dc\ud310\uc18d\uc131\uad00\ub9ac BBS Master# +comCopBbs.boardMasterVO.title=Board Master Management + +comCopBbs.boardMasterVO.list.bbsNm=Board Title +comCopBbs.boardMasterVO.list.bbsIntrcn=Board Explantation +comCopBbs.boardMasterVO.list.useAt=Available Options + +comCopBbs.boardMasterVO.detail.bbsNm=Board Title +comCopBbs.boardMasterVO.detail.bbsIntrcn=Board Explanation +comCopBbs.boardMasterVO.detail.useAt=Available Options +comCopBbs.boardMasterVO.detail.replyPosblAt=Reply Available +comCopBbs.boardMasterVO.detail.fileAtchPosblAt=Attach files Available +comCopBbs.boardMasterVO.detail.atchPosblFileNumber=The Maximum Number of File Attachments +comCopBbs.boardMasterVO.detail.bbsTyCode=Board Type +comCopBbs.boardMasterVO.detail.bbsAdres=Board Domain +comCopBbs.boardMasterVO.detail.option=Additional Options +comCopBbs.boardMasterVO.detail.option1=No Option +comCopBbs.boardMasterVO.detail.option2=Comments +comCopBbs.boardMasterVO.detail.option3=Satisfactions +comCopBbs.boardMasterVO.detail.option.unabledToModify=\u203b Additional options cannot be modified (first time can be set for unset existing bulletin board). + +comCopBbs.boardMasterVO.regist.bbsNm=Board Title +comCopBbs.boardMasterVO.regist.bbsIntrcn=Board Explanation +comCopBbs.boardMasterVO.regist.useAt=Available Options +comCopBbs.boardMasterVO.regist.replyPosblAt=Reply Available +comCopBbs.boardMasterVO.regist.fileAtchPosblAt=Attach files Available +comCopBbs.boardMasterVO.regist.atchPosblFileNumber=The Maximum Number of File Attachments +comCopBbs.boardMasterVO.regist.bbsTyCode=Board Type + +comCopBbs.boardMasterVO.updt.bbsNm=Board Title +comCopBbs.boardMasterVO.updt.bbsIntrcn=Board Explanation +comCopBbs.boardMasterVO.updt.useAt=Available Options +comCopBbs.boardMasterVO.updt.replyPosblAt=Reply Available +comCopBbs.boardMasterVO.updt.fileAtchPosblAt=Attach files Available +comCopBbs.boardMasterVO.updt.atchPosblFileNumber=The Maximum Number of File Attachments +comCopBbs.boardMasterVO.updt.bbsTyCode=Board Type + +comCopBbs.boardMasterVO.guestReply=Unable to reply in guestbook. +comCopBbs.boardMasterVO.guestFile=Unable to upload file in guestbook. + + +#BBS(Article) +comCopBbs.articleVO.title=Article Board + +comCopBbs.articleVO.list.nttSj=Title +comCopBbs.articleVO.list.nttCn=Contents +comCopBbs.articleVO.list.inqireCo=Views + +comCopBbs.articleVO.detail.nttSj=Title +comCopBbs.articleVO.detail.nttCn=Contents +comCopBbs.articleVO.detail.inqireCo=Views +comCopBbs.articleVO.detail.ntceDe=Notice Period +comCopBbs.articleVO.detail.atchFile=Attach files + +comCopBbs.articleVO.regist.nttSj=Title +comCopBbs.articleVO.regist.nttCn=Contents +comCopBbs.articleVO.regist.sjBoldAt=Subject Bold +comCopBbs.articleVO.regist.noticeAt=Notice Submit +comCopBbs.articleVO.regist.secretAt=Privacy Mode +comCopBbs.articleVO.regist.anonymousAt=Anonymous Mode +comCopBbs.articleVO.regist.ntceDe=Notice Period +comCopBbs.articleVO.regist.atchFile=Attach files + +comCopBbs.articleVO.updt.nttSj=Title +comCopBbs.articleVO.updt.nttCn=Contents +comCopBbs.articleVO.updt.sjBoldAt=Subject Bold +comCopBbs.articleVO.updt.noticeAt=Notice Submit +comCopBbs.articleVO.updt.secretAt=Privacy Mode +comCopBbs.articleVO.updt.anonymousAt=Anonymous Mode +comCopBbs.articleVO.updt.ntceDe=Notice Period +comCopBbs.articleVO.updt.atchFile=Attach files +comCopBbs.articleVO.updt.atchFileAdd=Add Attach files + +comCopBbs.articleVO.reply.nttSj=Title +comCopBbs.articleVO.reply.nttCn=Contents +comCopBbs.articleVO.reply.sjBoldAt=Subject Bold +comCopBbs.articleVO.reply.noticeAt=Notice Submit +comCopBbs.articleVO.reply.anonymousAt=Anonymous Mode +comCopBbs.articleVO.reply.ntceDe=Notice Period +comCopBbs.articleVO.reply.atchFile=Attach files + +comCopBbs.articleVO.guest.title=Guest Board + +comCopBbs.articleVO.secretBold=Unable to post a title in bold on privacy mode. +comCopBbs.articleVO.secretAnonymous=Unable to be an anonymous user on privacy mode +comCopBbs.articleVO.secretNotice=Unable to post up a notice on privacy mode. +comCopBbs.articleVO.anonymousNotice=Unable to post up a notice by an anonyomus user. +comCopBbs.articleVO.ntceDeError=Start date cannot be greater than End date \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/cop/bbs/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/cop/bbs/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/cop/bbs/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/cop/bbs/message_ko.properties (revision 7) @@ -0,0 +1,88 @@ +#\uac8c\uc2dc\ud310\uc18d\uc131\uad00\ub9ac BBS Master# +comCopBbs.boardMasterVO.title=\uac8c\uc2dc\ud310 + +comCopBbs.boardMasterVO.list.bbsNm=\uac8c\uc2dc\ud310\uba85 +comCopBbs.boardMasterVO.list.bbsIntrcn=\uac8c\uc2dc\ud310\uc18c\uac1c\ub0b4\uc6a9 +comCopBbs.boardMasterVO.list.useAt=\uc0ac\uc6a9\uc5ec\ubd80 + +comCopBbs.boardMasterVO.detail.bbsNm=\uac8c\uc2dc\ud310\uba85 +comCopBbs.boardMasterVO.detail.bbsIntrcn=\uac8c\uc2dc\ud310\uc18c\uac1c\ub0b4\uc6a9 +comCopBbs.boardMasterVO.detail.useAt=\uc0ac\uc6a9\uc5ec\ubd80 +comCopBbs.boardMasterVO.detail.replyPosblAt=\ub2f5\uc7a5\uac00\ub2a5\uc5ec\ubd80 +comCopBbs.boardMasterVO.detail.fileAtchPosblAt=\ud30c\uc77c\ucca8\ubd80\uac00\ub2a5\uc5ec\ubd80 +comCopBbs.boardMasterVO.detail.atchPosblFileNumber=\ucca8\ubd80\uac00\ub2a5\ud30c\uc77c\uc22b\uc790 +comCopBbs.boardMasterVO.detail.bbsTyCode=\uac8c\uc2dc\ud310 \uc720\ud615 +comCopBbs.boardMasterVO.detail.bbsAdres=\uac8c\uc2dc\ud310 \uc8fc\uc18c +comCopBbs.boardMasterVO.detail.option=\ucd94\uac00\uc120\ud0dd\uc0ac\ud56d +comCopBbs.boardMasterVO.detail.option1=\ubbf8\uc120\ud0dd +comCopBbs.boardMasterVO.detail.option2=\ub313\uae00 +comCopBbs.boardMasterVO.detail.option3=\ub9cc\uc871\ub3c4\uc870\uc0ac +comCopBbs.boardMasterVO.detail.option.unabledToModify=\u203b \ucd94\uac00 \uc120\ud0dd\uc0ac\ud56d\uc740 \uc218\uc815 \ubd88\uac00 (\ubbf8\uc124\uc815\ub41c \uae30\uc874 \uac8c\uc2dc\ud310\uc758 \uacbd\uc6b0 \ucc98\uc74c \uc124\uc815\uc740 \uac00\ub2a5\ud568) + +comCopBbs.boardMasterVO.regist.bbsNm=\uac8c\uc2dc\ud310\uba85 +comCopBbs.boardMasterVO.regist.bbsIntrcn=\uac8c\uc2dc\ud310\uc18c\uac1c\ub0b4\uc6a9 +comCopBbs.boardMasterVO.regist.useAt=\uc0ac\uc6a9\uc5ec\ubd80 +comCopBbs.boardMasterVO.regist.replyPosblAt=\ub2f5\uc7a5\uac00\ub2a5\uc5ec\ubd80 +comCopBbs.boardMasterVO.regist.fileAtchPosblAt=\ud30c\uc77c\ucca8\ubd80\uac00\ub2a5\uc5ec\ubd80 +comCopBbs.boardMasterVO.regist.atchPosblFileNumber=\ucca8\ubd80\uac00\ub2a5\ud30c\uc77c\uc22b\uc790 +comCopBbs.boardMasterVO.regist.bbsTyCode=\uac8c\uc2dc\ud310 \uc720\ud615 + +comCopBbs.boardMasterVO.updt.bbsNm=\uac8c\uc2dc\ud310\uba85 +comCopBbs.boardMasterVO.updt.bbsIntrcn=\uac8c\uc2dc\ud310\uc18c\uac1c\ub0b4\uc6a9 +comCopBbs.boardMasterVO.updt.useAt=\uc0ac\uc6a9\uc5ec\ubd80 +comCopBbs.boardMasterVO.updt.replyPosblAt=\ub2f5\uc7a5\uac00\ub2a5\uc5ec\ubd80 +comCopBbs.boardMasterVO.updt.fileAtchPosblAt=\ud30c\uc77c\ucca8\ubd80\uac00\ub2a5\uc5ec\ubd80 +comCopBbs.boardMasterVO.updt.atchPosblFileNumber=\ucca8\ubd80\uac00\ub2a5\ud30c\uc77c\uc22b\uc790 +comCopBbs.boardMasterVO.updt.bbsTyCode=\uac8c\uc2dc\ud310 \uc720\ud615 + +comCopBbs.boardMasterVO.guestReply=\ubc29\uba85\ub85d\uc5d0 \ub2f5\uc7a5\uc774 \ubd88\uac00\ub2a5\ud569\ub2c8\ub2e4. +comCopBbs.boardMasterVO.guestFile=\ubc29\uba85\ub85d\uc5d0 \ud30c\uc77c\uc744 \ucca8\ubd80\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. + + +#\uac8c\uc2dc\ud310 +comCopBbs.articleVO.title=\uac8c\uc2dc\uae00 + +comCopBbs.articleVO.list.nttSj=\uc81c\ubaa9 +comCopBbs.articleVO.list.nttCn=\ub0b4\uc6a9 +comCopBbs.articleVO.list.inqireCo=\uc870\ud68c\uc218 + +comCopBbs.articleVO.detail.nttSj=\uc81c\ubaa9 +comCopBbs.articleVO.detail.nttCn=\ub0b4\uc6a9 +comCopBbs.articleVO.detail.inqireCo=\uc870\ud68c\uc218 +comCopBbs.articleVO.detail.ntceDe=\uac8c\uc2dc\uae30\uac04 +comCopBbs.articleVO.detail.atchFile=\ucca8\ubd80\ud30c\uc77c + +comCopBbs.articleVO.regist.nttSj=\uc81c\ubaa9 +comCopBbs.articleVO.regist.nttCn=\ub0b4\uc6a9 +comCopBbs.articleVO.regist.sjBoldAt=\uc81c\ubaa9 \uc9c4\ud558\uac8c +comCopBbs.articleVO.regist.noticeAt=\uacf5\uc9c0\ub4f1\ub85d +comCopBbs.articleVO.regist.secretAt=\ube44\ubc00\uae00 +comCopBbs.articleVO.regist.anonymousAt=\uc775\uba85\ub4f1\ub85d +comCopBbs.articleVO.regist.ntceDe=\uac8c\uc2dc\uae30\uac04 +comCopBbs.articleVO.regist.atchFile=\ucca8\ubd80\ud30c\uc77c + +comCopBbs.articleVO.updt.nttSj=\uc81c\ubaa9 +comCopBbs.articleVO.updt.nttCn=\ub0b4\uc6a9 +comCopBbs.articleVO.updt.sjBoldAt=\uc81c\ubaa9 \uc9c4\ud558\uac8c +comCopBbs.articleVO.updt.noticeAt=\uacf5\uc9c0\ub4f1\ub85d +comCopBbs.articleVO.updt.secretAt=\ube44\ubc00\uae00 +comCopBbs.articleVO.updt.anonymousAt=\uc775\uba85\ub4f1\ub85d +comCopBbs.articleVO.updt.ntceDe=\uac8c\uc2dc\uae30\uac04 +comCopBbs.articleVO.updt.atchFile=\ucca8\ubd80\ud30c\uc77c +comCopBbs.articleVO.updt.atchFileAdd=\ucca8\ubd80\ud30c\uc77c \ucd94\uac00 + +comCopBbs.articleVO.reply.nttSj=\uc81c\ubaa9 +comCopBbs.articleVO.reply.nttCn=\ub0b4\uc6a9 +comCopBbs.articleVO.reply.sjBoldAt=\uc81c\ubaa9 \uc9c4\ud558\uac8c +comCopBbs.articleVO.reply.noticeAt=\uacf5\uc9c0\ub4f1\ub85d +comCopBbs.articleVO.reply.anonymousAt=\uc775\uba85\ub4f1\ub85d +comCopBbs.articleVO.reply.ntceDe=\uac8c\uc2dc\uae30\uac04 +comCopBbs.articleVO.reply.atchFile=\ucca8\ubd80\ud30c\uc77c + +comCopBbs.articleVO.guest.title=\ubc29\uba85\ub85d + +comCopBbs.articleVO.secretBold=\ube44\ubc00\uae00\uc740 \uc81c\ubaa9\uc744 \uc9c4\ud558\uac8c \ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +comCopBbs.articleVO.secretAnonymous=\ube44\ubc00\uae00\uc740 \uc775\uba85\uc73c\ub85c \ub4f1\ub85d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +comCopBbs.articleVO.secretNotice=\ube44\ubc00\uae00\uc740 \uacf5\uc9c0\ub85c \ub4f1\ub85d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +comCopBbs.articleVO.anonymousNotice=\uc775\uba85\uae00\uc740 \uacf5\uc9c0\ub85c \ub4f1\ub85d\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +comCopBbs.articleVO.ntceDeError=\uac8c\uc2dc\uae30\uac04 \uc885\ub8cc\uc77c\uc774 \uc2dc\uc791\uc77c\ubcf4\ub2e4 \ube60\ub985\ub2c8\ub2e4. \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/cop/bbs/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/uss/umt/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/uss/umt/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/uss/umt/message_en.properties (revision 7) @@ -0,0 +1,148 @@ +#Login Provision Management# +comUssUmt.stplatCnfirmt.title=Provision Confirmation +comUssUmt.stplatCnfirmt.useStplatCn=Provision Contents +comUssUmt.stplatCnfirmt.infoProvdAgreCn=Informational Contents Agreement Contents + +comUssUmt.stplatCnfirmtMsg.useStplat=Agree to the Terms and Conditions of the content. +comUssUmt.stplatCnfirmtMsg.infoProvdAgre=Agree with the use of information. + +comUssUmt.stplatCnfirmtValidate.disagreeStplatCnfirmt=You can not sign up if you don't agree to the Provision Contents. + +comUssUmt.common.lockAt=Login authorization limit status +comUssUmt.common.lockAtBtn=Release limits for login authentication +comUssUmt.common.lockAtConfirm=Are you sure you want to disable the login limit? + +#department Management# +comUssUmt.deptManage.title=Department Management + +comUssUmt.deptManageList.deptId=Department ID +comUssUmt.deptManageList.deptName=Department Name +comUssUmt.deptManageList.deptDc=Description +comUssUmt.deptManageSearchCondition.searchKeywordText=Department Name + +comUssUmt.deptManageRegist.deptId=Department ID +comUssUmt.deptManageRegist.deptName=Department Name +comUssUmt.deptManageRegist.deptDc=Description + +#Member Management# +comUssUmt.userManage.title=Member Management + +comUssUmt.userManageSsearch.sbscrbSttusTitle=Selection to the Condition of Registration Status +comUssUmt.userManageSsearch.sbscrbSttusAll=Status(All) +comUssUmt.userManageSsearch.sbscrbSttusA=Sign Up +comUssUmt.userManageSsearch.sbscrbSttusD=Delete +comUssUmt.userManageSsearch.sbscrbSttusP=Approval +comUssUmt.userManageSsearch.searchConditioTitle=Select Condition of Inquiry +comUssUmt.userManageSsearch.searchConditionId=ID +comUssUmt.userManageSsearch.searchConditionName=Name + +comUssUmt.userManageList.id=ID +comUssUmt.userManageList.name=User Name +comUssUmt.userManageList.email=User Email +comUssUmt.userManageList.phone=Phone Number +comUssUmt.userManageList.sbscrbSttus=Registration Status + +comUssUmt.userManageRegist.id=User ID +comUssUmt.userManageRegist.name=Member User Name +comUssUmt.userManageRegist.pass=Password +comUssUmt.userManageRegist.passConfirm=Password Confirmation +comUssUmt.userManageRegist.passHit=Password Hint +comUssUmt.userManageRegist.passOk=Password Answer +comUssUmt.userManageRegist.saxTypeCode=Gender Identification Code +comUssUmt.userManageRegist.tel=Phone Number +comUssUmt.userManageRegist.fax=Fax Number +comUssUmt.userManageRegist.phone=Mobile Phone Number +comUssUmt.userManageRegist.email=Email +comUssUmt.userManageRegist.post=Postal Code +comUssUmt.userManageRegist.addr=Address +comUssUmt.userManageRegist.addrDetail=Detail Address +comUssUmt.userManageRegist.groupId=Group ID +comUssUmt.userManageRegist.status=User Status Code +comUssUmt.userManageRegistBtn.idSearch=Search Duplicate ID + +comUssUmt.userManageRegistModal.title=Confirm Duplicate ID +comUssUmt.userManageRegistModal.userIsId=Usable Id +comUssUmt.userManageRegistModal.initStatus=Result : Check for Duplicate ID. + +comUssUmt.userManageRegistModal.result=Result +comUssUmt.userManageRegistModal.useMsg=This ID can not be used. +comUssUmt.userManageRegistModal.notUseMsg=This ID is available. +comUssUmt.userManageRegistModal.noIdMsg=This ID can not be created. + +comUssUmt.userManageModifyBtn.passwordChange=Password Change + +comUssUmt.userManagePasswordUpdt.title=Password Change +comUssUmt.userManagePasswordUpdt.id=User ID +comUssUmt.userManagePasswordUpdt.oldPass=Current Password +comUssUmt.userManagePasswordUpdt.pass=Password +comUssUmt.userManagePasswordUpdt.passConfirm=Password Confirmation + + +#User Management# +comUssUmt.deptUserManage.title=User Management + +comUssUmt.deptUserManageRegist.id=User ID +comUssUmt.deptUserManageRegist.name=User Name +comUssUmt.deptUserManageRegist.pass=Password +comUssUmt.deptUserManageRegist.passConfirm=Password Confirmation +comUssUmt.deptUserManageRegist.passHit=Password Hint +comUssUmt.deptUserManageRegist.passOk=Password Answer +comUssUmt.deptUserManageRegist.saxTypeCode=Gender Identification Code +comUssUmt.deptUserManageRegist.tel=Phone Number +comUssUmt.deptUserManageRegist.fax=Fax Number +comUssUmt.deptUserManageRegist.phone=Mobile Phone Number +comUssUmt.deptUserManageRegist.email=Email +comUssUmt.deptUserManageRegist.post=Postal Code +comUssUmt.deptUserManageRegist.addr=Address +comUssUmt.deptUserManageRegist.addrDetail=Detail Address +comUssUmt.deptUserManageRegist.groupId=Group ID +comUssUmt.deptUserManageRegist.status=User Status Code +comUssUmt.deptUserManageRegistBtn.idSearch=Search Duplicate ID +comUssUmt.deptUserManageRegist.subDn=User DN + +comUssUmt.deptUserManageRegist.insttCode=Organization Code +comUssUmt.deptUserManageRegist.orgnztId=Organization ID +comUssUmt.deptUserManageRegist.ofcps=Position +comUssUmt.deptUserManageRegist.emplNum=Employee Number +comUssUmt.deptUserManageRegist.brth=Birthday +comUssUmt.deptUserManageRegist.areaNo=Home Phone Number +comUssUmt.deptUserManageRegist.offmTelno=Office Phone Number +comUssUmt.deptUserManageRegist.fxNum=Fax Number +comUssUmt.deptUserManageRegist.emailAdres=Email +comUssUmt.deptUserManageRegistBtn.Search=Search + +#Corporate Member Management# +comUssUmt.entrprsUserManage.title=Corporate Member Management +comUssUmt.entrprsUserManageList.id=Corporate Member ID +comUssUmt.entrprsUserManageList.company=Corporate Name +comUssUmt.entrprsUserManageList.name=User Name +comUssUmt.entrprsUserManageList.regName=Registration Name +comUssUmt.entrprsUserManageList.regMail=Registration Email +comUssUmt.entrprsUserManageList.email=Email +comUssUmt.entrprsUserManageList.phone=Phone Number +comUssUmt.entrprsUserManageList.sbscrbSttus=Registration Status + +comUssUmt.entrprsUserManageRegist.id=Corporate Member ID +comUssUmt.entrprsUserManageRegist.name=Corporate Name +comUssUmt.entrprsUserManageRegist.pass=Password +comUssUmt.entrprsUserManageRegist.passConfirm=Password Confirmation +comUssUmt.entrprsUserManageRegist.passHit=Password Hint +comUssUmt.entrprsUserManageRegist.passOk=Password Answer +comUssUmt.entrprsUserManageRegist.tel=Corprate Phone Number +comUssUmt.entrprsUserManageRegist.fax=Fax Number +comUssUmt.entrprsUserManageRegist.post=Postal Code +comUssUmt.entrprsUserManageRegist.addr=Address +comUssUmt.entrprsUserManageRegist.addrDetail=Detail Address +comUssUmt.entrprsUserManageRegist.groupId=Group ID +comUssUmt.entrprsUserManageRegist.status=Corporate Member Status Code +comUssUmt.entrprsUserManageRegist.subDn=Corporate Member DN + +comUssUmt.entrprsUserManageRegist.indutyCode=Business Field +comUssUmt.entrprsUserManageRegist.entrprsSeCode=Corporate Category +comUssUmt.entrprsUserManageRegist.cxfc=CEO Name +comUssUmt.entrprsUserManageRegist.bizrno=Business Registration Number +comUssUmt.entrprsUserManageRegist.jurirno=Corporate Registration Number + +comUssUmt.entrprsUserManageRegistBtn.idSearch=Search Duplicate ID +comUssUmt.entrprsUserManageRegistBtn.Search=Search + Property changes on: base3.10/src/main/resources/egovframework/message/com/uss/umt/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/uss/umt/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/uss/umt/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/uss/umt/message_ko.properties (revision 7) @@ -0,0 +1,150 @@ +#\ub85c\uadf8\uc778 \uc57d\uad00\uad00\ub9ac# +comUssUmt.stplatCnfirmt.title=\uc57d\uad00\ud655\uc778 +comUssUmt.stplatCnfirmt.useStplatCn=\uc57d\uad00\ub0b4\uc6a9 +comUssUmt.stplatCnfirmt.infoProvdAgreCn=\uc815\ubcf4\ub3d9\uc758\ub0b4\uc6a9 + +comUssUmt.stplatCnfirmtMsg.useStplat=\uc57d\uad00\ub0b4\uc6a9\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4. +comUssUmt.stplatCnfirmtMsg.infoProvdAgre=\uc815\ubcf4\uc774\uc6a9\ub0b4\uc6a9\uc5d0 \ub3d9\uc758\ud569\ub2c8\ub2e4. + +comUssUmt.stplatCnfirmtValidate.disagreeStplatCnfirmt=\uc57d\uad00\uc5d0 \ub3d9\uc758\ud558\uc9c0 \uc54a\uc73c\uba74 \ud68c\uc6d0\uc73c\ub85c \uac00\uc785\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. + +comUssUmt.common.lockAt=\ub85c\uadf8\uc778\uc778\uc99d\uc81c\ud55c\uc5ec\ubd80 +comUssUmt.common.lockAtBtn=\ub85c\uadf8\uc778\uc778\uc99d\uc81c\ud55c\ud574\uc81c +comUssUmt.common.lockAtConfirm=\ub85c\uadf8\uc778\uc778\uc99d\uc81c\ud55c\uc744 \ud574\uc81c \ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? + +#\ubd80\uc11c\uad00\ub9ac# +comUssUmt.deptManage.title=\ubd80\uc11c\uad00\ub9ac + +comUssUmt.deptManageList.deptId=\ubd80\uc11c ID +comUssUmt.deptManageList.deptName=\ubd80\uc11c \uba85 +comUssUmt.deptManageList.deptDc=\uc124\uba85 +comUssUmt.deptManageSearchCondition.searchKeywordText=\ubd80\uc11c\uba85 + +comUssUmt.deptManageRegist.deptId=\ubd80\uc11c ID +comUssUmt.deptManageRegist.deptName=\ubd80\uc11c \uba85 +comUssUmt.deptManageRegist.deptDc=\uc124\uba85 + +#\uc0ac\uc6a9\uc790\uad00\ub9ac# +comUssUmt.userManage.title=\uc77c\ubc18\ud68c\uc6d0\uad00\ub9ac + +comUssUmt.userManageSsearch.sbscrbSttusTitle=\uac00\uc785\uc0c1\ud0dc\uc870\uac74 \uc120\ud0dd +comUssUmt.userManageSsearch.sbscrbSttusAll=\uc0c1\ud0dc(\uc804\uccb4) +comUssUmt.userManageSsearch.sbscrbSttusA=\uac00\uc785\uc2e0\uccad +comUssUmt.userManageSsearch.sbscrbSttusD=\uc0ad\uc81c +comUssUmt.userManageSsearch.sbscrbSttusP=\uc2b9\uc778 +comUssUmt.userManageSsearch.searchConditioTitle=\uc870\ud68c\uc870\uac74 \uc120\ud0dd +comUssUmt.userManageSsearch.searchConditionId=ID +comUssUmt.userManageSsearch.searchConditionName=\uc774\ub984 + +comUssUmt.userManageList.id=\uc544\uc774\ub514 +comUssUmt.userManageList.name=\uc0ac\uc6a9\uc790\uc774\ub984 +comUssUmt.userManageList.email=\uc0ac\uc6a9\uc790\uc774\uba54\uc77c +comUssUmt.userManageList.phone=\uc804\ud654\ubc88\ud638 +comUssUmt.userManageList.sbscrbSttus=\uac00\uc785\uc0c1\ud0dc + +comUssUmt.userManageRegist.id=\uc77c\ubc18\ud68c\uc6d0\uc544\uc774\ub514 +comUssUmt.userManageRegist.name=\uc77c\ubc18\ud68c\uc6d0\uc774\ub984 +comUssUmt.userManageRegist.pass=\ube44\ubc00\ubc88\ud638 +comUssUmt.userManageRegist.passConfirm=\ube44\ubc00\ubc88\ud638\ud655\uc778 +comUssUmt.userManageRegist.passHit=\ube44\ubc00\ubc88\ud638\ud78c\ud2b8 +comUssUmt.userManageRegist.passOk=\ube44\ubc00\ubc88\ud638\uc815\ub2f5 +comUssUmt.userManageRegist.saxTypeCode=\uc131\ubcc4\uad6c\ubd84\ucf54\ub4dc +comUssUmt.userManageRegist.tel=\uc804\ud654\ubc88\ud638 +comUssUmt.userManageRegist.fax=\ud329\uc2a4\ubc88\ud638 +comUssUmt.userManageRegist.phone=\ud578\ub4dc\ud3f0\ubc88\ud638 +comUssUmt.userManageRegist.email=\uc774\uba54\uc77c\uc8fc\uc18c +comUssUmt.userManageRegist.post=\uc6b0\ud3b8\ubc88\ud638 +comUssUmt.userManageRegist.addr=\uc8fc\uc18c +comUssUmt.userManageRegist.addrDetail=\uc0c1\uc138\uc8fc\uc18c +comUssUmt.userManageRegist.groupId=\uadf8\ub8f9\uc544\uc774\ub514 +comUssUmt.userManageRegist.status=\uc77c\ubc18\ud68c\uc6d0\uc0c1\ud0dc\ucf54\ub4dc +comUssUmt.userManageRegistBtn.idSearch=\uc911\ubcf5\uc544\uc774\ub514 \uac80\uc0c9 + +comUssUmt.userManageRegistModal.title=\uc544\uc774\ub514 \uc911\ubcf5 \ud655\uc778 +comUssUmt.userManageRegistModal.userIsId=\uc0ac\uc6a9\ud560\uc544\uc774\ub514 +comUssUmt.userManageRegistModal.initStatus=\uacb0\uacfc : \uc911\ubcf5\ud655\uc778\uc744 \uc2e4\ud589\ud558\uc2ed\uc2dc\uc624. + +comUssUmt.userManageRegistModal.result=\uacb0\uacfc +comUssUmt.userManageRegistModal.useMsg=\ub294 \uc0ac\uc6a9\ud560\uc218 \uc5c6\ub294 \uc544\uc774\ub514\uc785\ub2c8\ub2e4. +comUssUmt.userManageRegistModal.notUseMsg=\ub294 \uc0ac\uc6a9\uac00\ub2a5\ud55c \uc544\uc774\ub514\uc785\ub2c8\ub2e4. +comUssUmt.userManageRegistModal.noIdMsg=\uc0ac\uc6a9\uc774 \ubd88\uac00\ub2a5\ud55c \uc544\uc774\ub514 \uc785\ub2c8\ub2e4 + +comUssUmt.userManageModifyBtn.passwordChange=\ube44\ubc00\ubc88\ud638\ubcc0\uacbd + +comUssUmt.userManagePasswordUpdt.title=\ube44\ubc00\ubc88\ud638\ubcc0\uacbd +comUssUmt.userManagePasswordUpdt.id=\uc77c\ubc18\ud68c\uc6d0\uc544\uc774\ub514 +comUssUmt.userManagePasswordUpdt.oldPass=\uae30\uc874 \ube44\ubc00\ubc88\ud638 +comUssUmt.userManagePasswordUpdt.pass=\ube44\ubc00\ubc88\ud638 +comUssUmt.userManagePasswordUpdt.passConfirm=\ube44\ubc00\ubc88\ud638\ud655\uc778 + + +#\uc5c5\ubb34\ud68c\uc6d0\uad00\ub9ac# +comUssUmt.deptUserManage.title=\uc5c5\ubb34\uc0ac\uc6a9\uc790\uad00\ub9ac + +comUssUmt.deptUserManageRegist.id=\uc77c\ubc18\ud68c\uc6d0\uc544\uc774\ub514 +comUssUmt.deptUserManageRegist.name=\uc77c\ubc18\ud68c\uc6d0\uc774\ub984 +comUssUmt.deptUserManageRegist.pass=\ube44\ubc00\ubc88\ud638 +comUssUmt.deptUserManageRegist.passConfirm=\ube44\ubc00\ubc88\ud638\ud655\uc778 +comUssUmt.deptUserManageRegist.passHit=\ube44\ubc00\ubc88\ud638\ud78c\ud2b8 +comUssUmt.deptUserManageRegist.passOk=\ube44\ubc00\ubc88\ud638\uc815\ub2f5 +comUssUmt.deptUserManageRegist.saxTypeCode=\uc131\ubcc4\uad6c\ubd84\ucf54\ub4dc +comUssUmt.deptUserManageRegist.tel=\uc804\ud654\ubc88\ud638 +comUssUmt.deptUserManageRegist.fax=\ud329\uc2a4\ubc88\ud638 +comUssUmt.deptUserManageRegist.phone=\ud578\ub4dc\ud3f0\ubc88\ud638 +comUssUmt.deptUserManageRegist.email=\uc774\uba54\uc77c\uc8fc\uc18c +comUssUmt.deptUserManageRegist.post=\uc6b0\ud3b8\ubc88\ud638 +comUssUmt.deptUserManageRegist.addr=\uc8fc\uc18c +comUssUmt.deptUserManageRegist.addrDetail=\uc0c1\uc138\uc8fc\uc18c +comUssUmt.deptUserManageRegist.groupId=\uadf8\ub8f9\uc544\uc774\ub514 +comUssUmt.deptUserManageRegist.status=\uc77c\ubc18\ud68c\uc6d0\uc0c1\ud0dc\ucf54\ub4dc +comUssUmt.deptUserManageRegistBtn.idSearch=\uc911\ubcf5\uc544\uc774\ub514 \uac80\uc0c9 +comUssUmt.deptUserManageRegist.subDn=\uc0ac\uc6a9\uc790DN + +comUssUmt.deptUserManageRegist.insttCode=\uc18c\uc18d\uae30\uad00\ucf54\ub4dc +comUssUmt.deptUserManageRegist.orgnztId=\uc870\uc9c1\uc544\uc774\ub514 +comUssUmt.deptUserManageRegist.ofcps=\uc9c1\uc704 +comUssUmt.deptUserManageRegist.emplNum=\uc0ac\ubc88 +comUssUmt.deptUserManageRegist.brth=\uc0dd\uc77c +comUssUmt.deptUserManageRegist.areaNo=\uc9d1\uc804\ud654\ubc88\ud638 +comUssUmt.deptUserManageRegist.offmTelno=\uc0ac\ubb34\uc2e4\uc804\ud654\ubc88\ud638 +comUssUmt.deptUserManageRegist.fxNum=\ud329\uc2a4\ubc88\ud638 +comUssUmt.deptUserManageRegist.emailAdres=\uc774\uba54\uc77c\uc8fc\uc18c +comUssUmt.deptUserManageRegistBtn.Search=\uac80\uc0c9 + +#\uae30\uc5c5\ud68c\uc6d0\uad00\ub9ac# +comUssUmt.entrprsUserManage.title=\uae30\uc5c5\ud68c\uc6d0\uad00\ub9ac +comUssUmt.entrprsUserManageList.id=\uae30\uc5c5\ud68c\uc6d0\uc544\uc774\ub514 +comUssUmt.entrprsUserManageList.company=\ud68c\uc0ac\uba85 +comUssUmt.entrprsUserManageList.name=\uc0ac\uc6a9\uc790\uc774\ub984 +comUssUmt.entrprsUserManageList.regName=\uc2e0\uccad\uc790\uba85 +comUssUmt.entrprsUserManageList.regMail=\uc2e0\uccad\uc790\uc774\uba54\uc77c +comUssUmt.entrprsUserManageList.email=\uc774\uba54\uc77c +comUssUmt.entrprsUserManageList.phone=\uc804\ud654\ubc88\ud638 +comUssUmt.entrprsUserManageList.sbscrbSttus=\uac00\uc785\uc0c1\ud0dc + +comUssUmt.entrprsUserManageRegist.id=\uae30\uc5c5\ud68c\uc6d0\uc544\uc774\ub514 +comUssUmt.entrprsUserManageRegist.name=\ud68c\uc0ac\uba85 +comUssUmt.entrprsUserManageRegist.pass=\ube44\ubc00\ubc88\ud638 +comUssUmt.entrprsUserManageRegist.passConfirm=\ube44\ubc00\ubc88\ud638\ud655\uc778 +comUssUmt.entrprsUserManageRegist.passHit=\ube44\ubc00\ubc88\ud638\ud78c\ud2b8 +comUssUmt.entrprsUserManageRegist.passOk=\ube44\ubc00\ubc88\ud638\uc815\ub2f5 +comUssUmt.entrprsUserManageRegist.tel=\ud68c\uc0ac\uc804\ud654\ubc88\ud638 +comUssUmt.entrprsUserManageRegist.fax=\ud329\uc2a4\ubc88\ud638 +comUssUmt.entrprsUserManageRegist.post=\uc6b0\ud3b8\ubc88\ud638 +comUssUmt.entrprsUserManageRegist.addr=\uc8fc\uc18c +comUssUmt.entrprsUserManageRegist.addrDetail=\uc0c1\uc138\uc8fc\uc18c +comUssUmt.entrprsUserManageRegist.groupId=\uadf8\ub8f9\uc544\uc774\ub514 +comUssUmt.entrprsUserManageRegist.status=\uae30\uc5c5\ud68c\uc6d0\uc0c1\ud0dc\ucf54\ub4dc +comUssUmt.entrprsUserManageRegist.subDn=\uc0ac\uc6a9\uc790DN + +comUssUmt.entrprsUserManageRegist.indutyCode=\uc5c5\uc885 +comUssUmt.entrprsUserManageRegist.entrprsSeCode=\uae30\uc5c5\uad6c\ubd84 +comUssUmt.entrprsUserManageRegist.cxfc=\ub300\ud45c\uc774\uc0ac\uc774\ub984 +comUssUmt.entrprsUserManageRegist.bizrno=\uc0ac\uc5c5\uc790\ub4f1\ub85d\ubc88\ud638 +comUssUmt.entrprsUserManageRegist.jurirno=\ubc95\uc778\ub4f1\ub85d\ubc88\ud638 + +comUssUmt.entrprsUserManageRegistBtn.idSearch=\uc911\ubcf5\uc544\uc774\ub514 \uac80\uc0c9 +comUssUmt.entrprsUserManageRegistBtn.Search=\uac80\uc0c9 + + + Property changes on: base3.10/src/main/resources/egovframework/message/com/uss/umt/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/log/ulg/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/log/ulg/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/log/ulg/message_en.properties (revision 7) @@ -0,0 +1,20 @@ +#User Log Management# +comSymLogUlg.userLog.title = User Log + +comSymLogUlg.userLog.occrrncDe = Occurence Day +comSymLogUlg.seachWrd.searchBgnDe = Search Begin Date +comSymLogUlg.seachWrd.searchEndDe = Serach End Date +comSymLogUlg.userLog.user = User +comSymLogUlg.userLog.methodNm = Method Name +comSymLogUlg.userLog.serviceNm = Service Name +comSymLogUlg.userLog.create = Create +comSymLogUlg.userLog.modify = Modify +comSymLogUlg.userLog.view = View +comSymLogUlg.userLog.delete = Delete +comSymLogUlg.userLog.detail = Detail + +comSymLogUlg.validate.dateCheck = The start date of the search condition is later than the end date. Please check the search condition date! + + + + Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/log/ulg/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/log/ulg/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/log/ulg/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/log/ulg/message_ko.properties (revision 7) @@ -0,0 +1,16 @@ +#\uc0ac\uc6a9\uc790\ub85c\uadf8\uad00\ub9ac# +comSymLogUlg.userLog.title = \uc0ac\uc6a9\uc790 \ub85c\uadf8 + +comSymLogUlg.userLog.occrrncDe = \ubc1c\uc0dd\uc77c\uc790 +comSymLogUlg.seachWrd.searchBgnDe = \uac80\uc0c9\uc2dc\uc791\uc77c +comSymLogUlg.seachWrd.searchEndDe = \uac80\uc0c9\uc885\ub8cc\uc77c +comSymLogUlg.userLog.user = \uc0ac\uc6a9\uc790 +comSymLogUlg.userLog.methodNm = \uba54\uc18c\ub4dc\uba85 +comSymLogUlg.userLog.serviceNm = \uc11c\ube44\uc2a4\uba85 +comSymLogUlg.userLog.create = \uc0dd\uc131 +comSymLogUlg.userLog.modify = \uc218\uc815 +comSymLogUlg.userLog.view = \uc870\ud68c +comSymLogUlg.userLog.delete = \uc0ad\uc81c +comSymLogUlg.userLog.detail = \uc0c1\uc138\ubcf4\uae30 + +comSymLogUlg.validate.dateCheck = \uac80\uc0c9\uc870\uac74\uc758 \uc2dc\uc791\uc77c\uc790\uac00 \uc885\ub8cc\uc77c\uc790\ubcf4\ub2e4 \ub2a6\uc2b5\ub2c8\ub2e4. \uac80\uc0c9\uc870\uac74 \ub0a0\uc9dc\ub97c \ud655\uc778\ud558\uc138\uc694! \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/log/ulg/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/log/lgm/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/log/lgm/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/log/lgm/message_en.properties (revision 7) @@ -0,0 +1,16 @@ +#Log Management# +comSymLogLgm.sysLog.title = Log + +comSymLogLgm.sysLog.reqId = Request ID +comSymLogLgm.seachWrd.searchBgnDe = Search Begin Date +comSymLogLgm.seachWrd.searchEndDe = Search End Date +comSymLogLgm.sysLog.occrrncDe = Occurence Day +comSymLogLgm.sysLog.serviceNm = Service Name +comSymLogLgm.sysLog.methodNm = Method Name +comSymLogLgm.sysLog.processSeCode = Processing Classification +comSymLogLgm.sysLog.processTime = Processing Time +comSymLogLgm.sysLog.rqesterId = Requester +comSymLogLgm.sysLog.rqesterIp = Requester IP +comSymLogLgm.sysLog.detail = Detail + +comSymLogLgm.validate.dateCheck = The start date of the search condition is later than the end date. Please check the search condition date! \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/log/lgm/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/log/lgm/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/log/lgm/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/log/lgm/message_ko.properties (revision 7) @@ -0,0 +1,16 @@ +#\ub85c\uadf8\uad00\ub9ac# +comSymLogLgm.sysLog.title = \ub85c\uadf8 + +comSymLogLgm.sysLog.reqId = \uc694\uccadID +comSymLogLgm.seachWrd.searchBgnDe = \uac80\uc0c9\uc2dc\uc791\uc77c +comSymLogLgm.seachWrd.searchEndDe = \uac80\uc0c9\uc885\ub8cc\uc77c +comSymLogLgm.sysLog.occrrncDe = \ubc1c\uc0dd\uc77c\uc790 +comSymLogLgm.sysLog.serviceNm = \uc11c\ube44\uc2a4\uba85 +comSymLogLgm.sysLog.methodNm = \uba54\uc18c\ub4dc\uba85 +comSymLogLgm.sysLog.processSeCode = \ucc98\ub9ac\uad6c\ubd84 +comSymLogLgm.sysLog.processTime = \ucc98\ub9ac\uc2dc\uac04 +comSymLogLgm.sysLog.rqesterId = \uc694\uccad\uc790 +comSymLogLgm.sysLog.rqesterIp = \uc694\uccad\uc790IP +comSymLogLgm.sysLog.detail = \uc0c1\uc138\ubcf4\uae30 + +comSymLogLgm.validate.dateCheck = \uac80\uc0c9\uc870\uac74\uc758 \uc2dc\uc791\uc77c\uc790\uac00 \uc885\ub8cc\uc77c\uc790\ubcf4\ub2e4 \ub2a6\uc2b5\ub2c8\ub2e4. \uac80\uc0c9\uc870\uac74 \ub0a0\uc9dc\ub97c \ud655\uc778\ud558\uc138\uc694! \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/log/lgm/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/log/wlg/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/log/wlg/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/log/wlg/message_en.properties (revision 7) @@ -0,0 +1,13 @@ +#Web Log Management# +comSymLogWlg.webLog.title = Web Log + +comSymLogWlg.webLog.requestId = Request ID +comSymLogWlg.webLog.occrrncDe = Occurence Day +comSymLogWlg.seachWrd.searchBgnDe = Search Begin Date +comSymLogWlg.seachWrd.searchEndDe = Serach End Date +comSymLogWlg.webLog.url = URL +comSymLogWlg.webLog.requester = Requester +comSymLogWlg.webLog.requesterIp = Requester IP +comSymLogWlg.webLog.detail = Detail + +comSymLogWlg.validate.dateCheck = The start date of the search condition is later than the end date. Please check the search condition date! \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/log/wlg/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/log/wlg/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/log/wlg/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/log/wlg/message_ko.properties (revision 7) @@ -0,0 +1,13 @@ +#\uc6f9\ub85c\uadf8\uad00\ub9ac# +comSymLogWlg.webLog.title = \uc6f9\ub85c\uadf8 + +comSymLogWlg.webLog.requestId = \uc694\uccadID +comSymLogWlg.webLog.occrrncDe = \ubc1c\uc0dd\uc77c\uc790 +comSymLogWlg.seachWrd.searchBgnDe = \uac80\uc0c9\uc2dc\uc791\uc77c +comSymLogWlg.seachWrd.searchEndDe = \uac80\uc0c9\uc885\ub8cc\uc77c +comSymLogWlg.webLog.url = URL +comSymLogWlg.webLog.requester = \uc694\uccad\uc790 +comSymLogWlg.webLog.requesterIp = \uc694\uccad\uc790IP +comSymLogWlg.webLog.detail = \uc0c1\uc138\ubcf4\uae30 + +comSymLogWlg.validate.dateCheck = \uac80\uc0c9\uc870\uac74\uc758 \uc2dc\uc791\uc77c\uc790\uac00 \uc885\ub8cc\uc77c\uc790\ubcf4\ub2e4 \ub2a6\uc2b5\ub2c8\ub2e4. \uac80\uc0c9\uc870\uac74 \ub0a0\uc9dc\ub97c \ud655\uc778\ud558\uc138\uc694! \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/log/wlg/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/log/clg/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/log/clg/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/log/clg/message_en.properties (revision 7) @@ -0,0 +1,13 @@ +#Access Log Management# +comSymLogClg.loginLog.title = Access Log + +comSymLogClg.loginLog.logId = Log ID +comSymLogClg.loginLog.occrrncDe = Occurence Day +comSymLogClg.seachWrd.searchBgnDe = Search Begin Date +comSymLogClg.seachWrd.searchEndDe = Search End Date +comSymLogClg.loginLog.loginMthd = Log Type +comSymLogClg.loginLog.loginNm = User Name +comSymLogClg.loginLog.loginIp = Connection IP +comSymLogClg.loginLog.detail = Detail + +comSymLogClg.validate.dateCheck = The start date of the search condition is later than the end date. Please check the search condition date! \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/log/clg/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/log/clg/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/log/clg/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/log/clg/message_ko.properties (revision 7) @@ -0,0 +1,13 @@ +#\uc811\uc18d\ub85c\uadf8\uad00\ub9ac# +comSymLogClg.loginLog.title = \uc811\uc18d\ub85c\uadf8 + +comSymLogClg.loginLog.logId = \ub85c\uadf8ID +comSymLogClg.loginLog.occrrncDe = \ubc1c\uc0dd\uc77c\uc790 +comSymLogClg.seachWrd.searchBgnDe = \uac80\uc0c9\uc2dc\uc791\uc77c +comSymLogClg.seachWrd.searchEndDe = \uac80\uc0c9\uc885\ub8cc\uc77c +comSymLogClg.loginLog.loginMthd = \uc811\uc18d\ubc29\uc2dd +comSymLogClg.loginLog.loginNm = \uc0ac\uc6a9\uc790\uba85 +comSymLogClg.loginLog.loginIp = \uc811\uc18dIP +comSymLogClg.loginLog.detail = \uc0c1\uc138\ubcf4\uae30 + +comSymLogClg.validate.dateCheck = \uac80\uc0c9\uc870\uac74\uc758 \uc2dc\uc791\uc77c\uc790\uac00 \uc885\ub8cc\uc77c\uc790\ubcf4\ub2e4 \ub2a6\uc2b5\ub2c8\ub2e4. \uac80\uc0c9\uc870\uac74 \ub0a0\uc9dc\ub97c \ud655\uc778\ud558\uc138\uc694! \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/log/clg/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/mnu/bmm/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/mnu/bmm/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/mnu/bmm/message_en.properties (revision 7) @@ -0,0 +1,33 @@ +comSymMnuBmm.bkmkMenuManageList.title=Short Cut Menu Management +comSymMnuBmm.bkmkMenuManageList.pageTop.title=Short Cut Menu Management + +comSymMnuBmm.bkmkMenuManageList.menuName=Menu Name +comSymMnuBmm.bkmkMenuManageList.enterSearchName=Enter Search Words +comSymMnuBmm.bkmkMenuManageList.newWindow=New Window +comSymMnuBmm.bkmkMenuManageList.preview=Preview +comSymMnuBmm.bkmkMenuManageList.menuURL=Menu URL + + +comSymMnuBmm.bkmkMenuManageRegist.title=Register Shortcut Menu +comSymMnuBmm.bkmkMenuManageRegist.pageTop.title=Register Shortcut Menu +comSymMnuBmm.bkmkMenuManageRegist.menuName=Menu Name +comSymMnuBmm.bkmkMenuManageRegist.menuURL=Menu URL +comSymMnuBmm.bkmkMenuManageRegist.selectMenu=Select Menu +comSymMnuBmm.bkmkMenuManageRegist.enterMenuName=Enter Menu Name +comSymMnuBmm.bkmkMenuManageRegist.enterMenuURL=Enter Menu URL +comSymMnuBmm.bkmkMenuManageRegist.validate.confirm.regist=Would you like to register? + + +comSymMnuBmm.BookMarkMenuPopup.title=Shortcut Menu Preview +comSymMnuBmm.BookMarkMenuPopup.pageTop.title=Manage Shortcut Menu +comSymMnuBmm.BookMarkMenuPopup.shortCut=Shortcuts + + +comSymMnuBmm.BkmkMenuPopup.title=Menu List +comSymMnuBmm.BkmkMenuPopup.pageTop.title=Menu List +comSymMnuBmm.bkmkMenuManageRegist.menuName=MenuName +comSymMnuBmm.bkmkMenuManageList.enterSearchName=Enter Search Words +comSymMnuBmm.bkmkMenuManageList.No=No. +comSymMnuBmm.bkmkMenuManageList.menuDC=Menu DC +comSymMnuBmm.bkmkMenuManageList.select=Select + Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/mnu/bmm/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/mnu/bmm/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/mnu/bmm/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/mnu/bmm/message_ko.properties (revision 7) @@ -0,0 +1,33 @@ +comSymMnuBmm.bkmkMenuManageList.title=\ubc14\ub85c\uac00\uae30 \uba54\ub274\uad00\ub9ac +comSymMnuBmm.bkmkMenuManageList.pageTop.title=\ubc14\ub85c\uac00\uae30 \uba54\ub274\uad00\ub9ac + +comSymMnuBmm.bkmkMenuManageList.menuName=\uba54\ub274\uba85 +comSymMnuBmm.bkmkMenuManageList.enterSearchName=\uac80\uc0c9\ub2e8\uc5b4\uc785\ub825 +comSymMnuBmm.bkmkMenuManageList.newWindow=\uc0c8\ucc3d +comSymMnuBmm.bkmkMenuManageList.preview=\ubbf8\ub9ac\ubcf4\uae30 +comSymMnuBmm.bkmkMenuManageList.menuURL=\uba54\ub274URL + + +comSymMnuBmm.bkmkMenuManageRegist.title=\ubc14\ub85c\uac00\uae30\uba54\ub274 \ub4f1\ub85d +comSymMnuBmm.bkmkMenuManageRegist.pageTop.title=\ubc14\ub85c\uac00\uae30\uba54\ub274 \ub4f1\ub85d +comSymMnuBmm.bkmkMenuManageRegist.menuName=\uba54\ub274\uba85 +comSymMnuBmm.bkmkMenuManageRegist.menuURL=\uba54\ub274URL +comSymMnuBmm.bkmkMenuManageRegist.selectMenu=\uba54\ub274\uc120\ud0dd +comSymMnuBmm.bkmkMenuManageRegist.enterMenuName=\uba54\ub274\uba85\uc785\ub825 +comSymMnuBmm.bkmkMenuManageRegist.enterMenuURL=\uba54\ub274URL\uc785\ub825 +comSymMnuBmm.bkmkMenuManageRegist.validate.confirm.regist=\ub4f1\ub85d\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? + + +comSymMnuBmm.BookMarkMenuPopup.title=\ubc14\ub85c\uac00\uae30\uba54\ub274\ubbf8\ub9ac\ubcf4\uae30 +comSymMnuBmm.BookMarkMenuPopup.pageTop.title=\ubc14\ub85c\uac00\uae30 \uba54\ub274\uad00\ub9ac +comSymMnuBmm.BookMarkMenuPopup.shortCut=\ubc14\ub85c\uac00\uae30 + + +comSymMnuBmm.BkmkMenuPopup.title=\uba54\ub274\ubaa9\ub85d +comSymMnuBmm.BkmkMenuPopup.pageTop.title=\uba54\ub274\ubaa9\ub85d +comSymMnuBmm.bkmkMenuManageRegist.menuName=\uba54\ub274\uba85 +comSymMnuBmm.bkmkMenuManageList.enterSearchName=\uac80\uc0c9\ub2e8\uc5b4\uc785\ub825 +comSymMnuBmm.bkmkMenuManageList.No=\ubc88\ud638 +comSymMnuBmm.bkmkMenuManageList.menuDC=\uba54\ub274DC +comSymMnuBmm.bkmkMenuManageList.select=\uc120\ud0dd + Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/mnu/bmm/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/mnu/mcm/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/mnu/mcm/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/mnu/mcm/message_en.properties (revision 7) @@ -0,0 +1,32 @@ +comSymMnuMpm.menuCreatManage.title=Menu Creation Management +comSymMnuMpm.menuCreatManage.pageTop.title=Menu Creation Management + +comSymMnuMpm.menuCreatManage.targetID=Security settings target ID +comSymMnuMpm.menuCreatManage.authCode=Authorization code +comSymMnuMpm.menuCreatManage.authName=Authority name +comSymMnuMpm.menuCreatManage.authDesc=Authorization Description +comSymMnuMpm.menuCreatManage.creationStatus=Menu Creation Status +comSymMnuMpm.menuCreatManage.createMenu=Create Menu + + +comSymMnuMpm.MenuCreat.title=Create Menu +comSymMnuMpm.MenuCreat.pageTop.title=Create Menu +comSymMnuMpm.MenuCreat.authCode=Authorization Code +comSymMnuMpm.MenuCreat.createMenu=Create Menu +comSymMnuMpm.MenuCreat.createSiteMap=Create Sitemap + +comSymMnuMpm.MenuCreat.validate.menuNmVal.none1=Menu list data does not exist. +comSymMnuMpm.MenuCreat.validate.menuNmVal.none2=The menu does not exist. Please register after menu. + + +comSymMnuMpm.MenuCreatSiteMap.title=Create Menu Sitemap +comSymMnuMpm.MenuCreatSiteMap.pageTop.title=Create Menu Sitemap +comSymMnuMpm.MenuCreatSiteMap.send=Send +comSymMnuMpm.MenuCreatSiteMap.authCode=Authorization Code +comSymMnuMpm.MenuCreatSiteMap.createSitemap=Create Sitemap +comSymMnuMpm.MenuCreatSiteMap.authName=Authority Name + +comSymMnuMpm.MenuCreatSiteMap.validate.menuNmVal.none1=\uba54\ub274 \ubaa9\ub85d \ub370\uc774\ud0c0\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. +comSymMnuMpm.MenuCreatSiteMap.validate.menuNmVal.none2=\uc0ac\uc774\ud2b8\ub9f5 \uc0dd\uc131 \ub370\uc774\ud0c0\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \\n \uba54\ub274\ub97c \uc0dd\uc131\ud558\uc2e0 \ud6c4 \uc791\uc5c5\ud558\uc138\uc694. + + Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/mnu/mcm/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/mnu/mcm/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/mnu/mcm/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/mnu/mcm/message_ko.properties (revision 7) @@ -0,0 +1,31 @@ +comSymMnuMpm.menuCreatManage.title=\uba54\ub274\uc0dd\uc131\uad00\ub9ac +comSymMnuMpm.menuCreatManage.pageTop.title=\uba54\ub274\uc0dd\uc131\uad00\ub9ac + +comSymMnuMpm.menuCreatManage.targetID=\ubcf4\uc548\uc124\uc815\ub300\uc0c1ID +comSymMnuMpm.menuCreatManage.authCode=\uad8c\ud55c\ucf54\ub4dc +comSymMnuMpm.menuCreatManage.authName=\uad8c\ud55c\uba85 +comSymMnuMpm.menuCreatManage.authDesc=\uad8c\ud55c \uc124\uba85 +comSymMnuMpm.menuCreatManage.creationStatus=\uba54\ub274\uc0dd\uc131\uc5ec\ubd80 +comSymMnuMpm.menuCreatManage.createMenu=\uba54\ub274\uc0dd\uc131 + + +comSymMnuMpm.MenuCreat.title=\uba54\ub274\uc0dd\uc131 +comSymMnuMpm.MenuCreat.pageTop.title=\uba54\ub274\uc0dd\uc131 +comSymMnuMpm.MenuCreat.authCode=\uad8c\ud55c\ucf54\ub4dc +comSymMnuMpm.MenuCreat.createMenu=\uba54\ub274\uc0dd\uc131 +comSymMnuMpm.MenuCreat.createSiteMap=\uc0ac\uc774\ud2b8\ub9f5\uc0dd\uc131 + +comSymMnuMpm.MenuCreat.validate.menuNmVal.none1=\uba54\ub274 \ubaa9\ub85d \ub370\uc774\ud0c0\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. +comSymMnuMpm.MenuCreat.validate.menuNmVal.none2=\uba54\ub274\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uba54\ub274 \ub4f1\ub85d \ud6c4 \uc0ac\uc6a9\ud558\uc138\uc694. + + +comSymMnuMpm.MenuCreatSiteMap.title=\uba54\ub274\uc0ac\uc774\ud2b8\ub9f5\uc0dd\uc131 +comSymMnuMpm.MenuCreatSiteMap.pageTop.title=\uba54\ub274\uc0ac\uc774\ud2b8\ub9f5\uc0dd\uc131 +comSymMnuMpm.MenuCreatSiteMap.send=\uc804\uc1a1 +comSymMnuMpm.MenuCreatSiteMap.authCode=\uad8c\ud55c\ucf54\ub4dc +comSymMnuMpm.MenuCreatSiteMap.createSitemap=\uc0ac\uc774\ud2b8\ub9f5\uc0dd\uc131 +comSymMnuMpm.MenuCreatSiteMap.authName=\uad8c\ud55c\uba85 + +comSymMnuMpm.MenuCreatSiteMap.validate.menuNmVal.none1=\uba54\ub274 \ubaa9\ub85d \ub370\uc774\ud0c0\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. +comSymMnuMpm.MenuCreatSiteMap.validate.menuNmVal.none2=\uc0ac\uc774\ud2b8\ub9f5 \uc0dd\uc131 \ub370\uc774\ud0c0\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \\n \uba54\ub274\ub97c \uc0dd\uc131\ud558\uc2e0 \ud6c4 \uc791\uc5c5\ud558\uc138\uc694. + Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/mnu/mcm/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/mnu/mpm/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/mnu/mpm/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/mnu/mpm/message_en.properties (revision 7) @@ -0,0 +1,109 @@ +# EgovMenuManage.xml +comSymMnuMpm.menuManage.validate.menuNo=Menu No. +comSymMnuMpm.menuManage.validate.menuOrdr=Menu Order +comSymMnuMpm.menuManage.validate.menuNm=Menu Name +comSymMnuMpm.menuManage.validate.upperMenuId=Upper Menu No. +comSymMnuMpm.menuManage.validate.progrmFileNm=Program File Name +comSymMnuMpm.menuManage.validate.menuDc=Menu Description +comSymMnuMpm.menuManage.validate.relateImagePath=Related Image Path +comSymMnuMpm.menuManage.validate.relateImageNm=Related Image Name + + +comSymMnuMpm.menuList.title=Menu Information Registration +comSymMnuMpm.menuList.pageTop.title=Menu List + +comSymMnuMpm.menuList.menuNo=Menu No. +comSymMnuMpm.menuList.menuOrdr=Menu Order +comSymMnuMpm.menuList.menuNm=Menu Name +comSymMnuMpm.menuList.upperMenuId=Upper Menu No. +comSymMnuMpm.menuList.progrmFileNm=File Name +comSymMnuMpm.menuList.relateImageNm=Related Image Name +comSymMnuMpm.menuList.relateImagePath=Related Image Path +comSymMnuMpm.menuList.menuDc=Menu Description + +comSymMnuMpm.menuList.newWindow=New Window +comSymMnuMpm.menuList.mvmnMenuList=Search Menu +comSymMnuMpm.menuList.searchFileNm=Program File Name Search + +comSymMnuMpm.menuList.validate.checkVal=You can only modify or delete the detail view. +comSymMnuMpm.menuList.validate.checkVal.update=You can only modify or delete the detail view. Please reset and register. + +comSymMnuMpm.menuList.validate.menuNo.notNull=Menu number are required. +comSymMnuMpm.menuList.validate.menuNo.onlyNumber=You can only enter numbers for menu numbers. +comSymMnuMpm.menuList.validate.menuOrdr.notNull=Menu order is required.. +comSymMnuMpm.menuList.validate.menuOrdr.onlyNumber=Only numbers can be entered in menu order. +comSymMnuMpm.menuList.validate.upperMenuId.notNull=The upper menu number is required. +comSymMnuMpm.menuList.validate.upperMenuId.onlyNumber=Upper menu numbers can only be entered in numbers. +comSymMnuMpm.menuList.validate.progrmFileNm.notNull=Program file name is required. +comSymMnuMpm.menuList.validate.menuNm.notNull=Menu name is required. + +comSymMnuMpm.menuList.validate.chkBrowse=Menu list data does not exist. +comSymMnuMpm.menuList.validate.chkObject=The menu does not exist. Please register after menu. + + +comSymMnuMpm.menuManage.title=Menu Management List +comSymMnuMpm.menuManage.pageTop.title=Menu Management List +comSymMnuMpm.menuManage.menuNo=Menu No. +comSymMnuMpm.menuManage.menuNmHn=Menu Name +comSymMnuMpm.menuManage.progrmFileNm=Program File Name +comSymMnuMpm.menuManage.menuDc=Menu Description +comSymMnuMpm.menuManage.upperMenuId=Upper Menu No. +comSymMnuMpm.menuManage.menuNm=Menu Name + + +comSymMnuMpm.menuDetailSelectUpdt.title=Menu Detailed View and Edit +comSymMnuMpm.menuDetailSelectUpdt.pageTop.title=Menu Detailed View and Edit +comSymMnuMpm.menuDetailSelectUpdt.menuNo=Menu No. +comSymMnuMpm.menuDetailSelectUpdt.menuOrder=Menu Order +comSymMnuMpm.menuDetailSelectUpdt.menuNm=Menu Name +comSymMnuMpm.menuDetailSelectUpdt.upperMenuId=Upper Menu No. +comSymMnuMpm.menuDetailSelectUpdt.progrmFileNm=Menu Name +comSymMnuMpm.menuDetailSelectUpdt.relateImageNm=Related Image Name +comSymMnuMpm.menuDetailSelectUpdt.relateImagePath=Related Image Path +comSymMnuMpm.menuDetailSelectUpdt.menuDc=Menu Description +comSymMnuMpm.menuDetailSelectUpdt.selectMenuSearch=Select Menu Search +comSymMnuMpm.menuDetailSelectUpdt.programFileNameSearch=Program File Name Search +comSymMnuMpm.menuDetailSelectUpdt.newWindow=New Window + + +comSymMnuMpm.menuRegist.title=Menu Information Registration +comSymMnuMpm.menuRegist.pageTop.title=Menu Information Registration +comSymMnuMpm.menuRegist.menuNo=Menu No. +comSymMnuMpm.menuRegist.menuOrder=Menu Order +comSymMnuMpm.menuRegist.menuNm=Menu Name +comSymMnuMpm.menuRegist.upperMenuId=Upper Menu No. +comSymMnuMpm.menuRegist.progrmFileNm=Menu Name +comSymMnuMpm.menuRegist.relateImageNm=Related Image Name +comSymMnuMpm.menuRegist.relateImagePath=Related Image Path +comSymMnuMpm.menuRegist.menuDc=Menu Description +comSymMnuMpm.menuRegist.selectMenuSearch=Select Menu Search +comSymMnuMpm.menuRegist.programFileNameSearch=Program File Name Search +comSymMnuMpm.menuRegist.newWindow=New Window + + +comSymMnuMpm.menuBndeRegist.title=Bulk Registration of Menu +comSymMnuMpm.menuBndeRegist.pageTop.title=Bulk Registration of Menu +comSymMnuMpm.menuBndeRegist.menuNo=Bulk List File +comSymMnuMpm.menuBndeRegist.validate.confirm.insert=Would you like to register the menu in bulk? \\nYou can not delete menu information, program list, program change history. +comSymMnuMpm.menuBndeRegist.validate.confirm.delete=Do you want to delete the menu in bulk? \\nThe menu information, program list, and program change history data are all deleted. +comSymMnuMpm.menuBndeRegist.validate.alert.checkFile=Please specify a file to upload. +comSymMnuMpm.menuBndeRegist.validate.checkFile=The file format is incorrect. \\nYou can upload only xls, xlsx! + + +comSymMnuMpm.menuMvmn.title=Move menu +comSymMnuMpm.menuMvmn.pageTop.title=Move menu +comSymMnuMpm.menuMvmn.menuNo=Menu Name to Move +comSymMnuMpm.menuMvmn.validate.alert.menu=The menu does not exist. Please register after using menu! + + +comSymMnuMpm.head.head=Common service test site +comSymMnuMpm.mainView.mainViewTitle=Ministry of the Interior and Safety Common service test site +comSymMnuMpm.mainView.selectBBSListPortlet=List of generated boards +comSymMnuMpm.mainView.selectCommuMasterListPortlet=List of generated Community boards +comSymMnuMpm.mainView.selectBlogListPortlet=List of generated Blogs +comSymMnuMpm.mainView.deptSchdulManageMainList=Department schedule management +comSymMnuMpm.mainView.indvdlSchdulManageMainList=My schedule +comSymMnuMpm.mainView.exchangeRateInformation=Exchange Rate Information +comSymMnuMpm.mainView.getBannerImage=Banner +comSymMnuMpm.main_bottom.mainBottomTitle=Bottom main +comSymMnuMpm.main_bottom.address=03171 Sejong Daero 209 (Government Seoul Government Office), Jongno-gu, Seoul / 30128 Sejong Special Self-Governing Province Government 2 Government Office 13 (Government Sejong Government Office) \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/mnu/mpm/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/mnu/mpm/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/mnu/mpm/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/mnu/mpm/message_ko.properties (revision 7) @@ -0,0 +1,109 @@ +# EgovMenuManage.xml +comSymMnuMpm.menuManage.validate.menuNo=\uba54\ub274\ubc88\ud638 +comSymMnuMpm.menuManage.validate.menuOrdr=\uba54\ub274\uc21c\uc11c +comSymMnuMpm.menuManage.validate.menuNm=\uba54\ub274\uba85 +comSymMnuMpm.menuManage.validate.upperMenuId=\uba54\ub274\uc0c1\uc704\ubc88\ud638 +comSymMnuMpm.menuManage.validate.progrmFileNm=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 +comSymMnuMpm.menuManage.validate.menuDc=\uba54\ub274\uc124\uba85 +comSymMnuMpm.menuManage.validate.relateImagePath=\uad00\ub828\uc774\ubbf8\uc9c0\uacbd\ub85c +comSymMnuMpm.menuManage.validate.relateImageNm=\uad00\ub828\uc774\ubbf8\uc9c0\uba85 + + +comSymMnuMpm.menuList.title=\uba54\ub274\uc815\ubcf4\ub4f1\ub85d +comSymMnuMpm.menuList.pageTop.title=\uba54\ub274 \ubaa9\ub85d + +comSymMnuMpm.menuList.menuNo=\uba54\ub274No +comSymMnuMpm.menuList.menuOrdr=\uba54\ub274\uc21c\uc11c +comSymMnuMpm.menuList.menuNm=\uba54\ub274\uba85 +comSymMnuMpm.menuList.upperMenuId=\uc0c1\uc704\uba54\ub274No +comSymMnuMpm.menuList.progrmFileNm=\ud30c\uc77c\uba85 +comSymMnuMpm.menuList.relateImageNm=\uad00\ub828\uc774\ubbf8\uc9c0\uba85 +comSymMnuMpm.menuList.relateImagePath=\uad00\ub828\uc774\ubbf8\uc9c0\uacbd\ub85c +comSymMnuMpm.menuList.menuDc=\uba54\ub274\uc124\uba85 + +comSymMnuMpm.menuList.newWindow=\uc0c8\ucc3d\uc73c\ub85c +comSymMnuMpm.menuList.mvmnMenuList=\uba54\ub274\uc120\ud0dd \uac80\uc0c9 +comSymMnuMpm.menuList.searchFileNm=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 \uac80\uc0c9 + +comSymMnuMpm.menuList.validate.checkVal=\uc0c1\uc138\uc870\ud68c\uc2dc\ub294 \uc218\uc815\ud639\uc740 \uc0ad\uc81c\ub9cc \uac00\ub2a5\ud569\ub2c8\ub2e4. +comSymMnuMpm.menuList.validate.checkVal.update=\uc0c1\uc138\uc870\ud68c\uc2dc\ub294 \uc218\uc815\ud639\uc740 \uc0ad\uc81c\ub9cc \uac00\ub2a5\ud569\ub2c8\ub2e4. \ucd08\uae30\ud654 \ud558\uc2e0 \ud6c4 \ub4f1\ub85d\ud558\uc138\uc694. + +comSymMnuMpm.menuList.validate.menuNo.notNull=\uba54\ub274\ubc88\ud638\ub294 \ud544\uc218 \ud56d\ubaa9\uc785\ub2c8\ub2e4. +comSymMnuMpm.menuList.validate.menuNo.onlyNumber=\uba54\ub274\ubc88\ud638\ub294 \uc22b\uc790\ub9cc \uc785\ub825 \uac00\ub2a5\ud569\ub2c8\ub2e4. +comSymMnuMpm.menuList.validate.menuOrdr.notNull=\uba54\ub274\uc21c\uc11c\ub294 \ud544\uc218 \ud56d\ubaa9\uc785\ub2c8\ub2e4. +comSymMnuMpm.menuList.validate.menuOrdr.onlyNumber=\uba54\ub274\uc21c\uc11c\ub294 \uc22b\uc790\ub9cc \uc785\ub825 \uac00\ub2a5\ud569\ub2c8\ub2e4. +comSymMnuMpm.menuList.validate.upperMenuId.notNull=\uc0c1\uc704\uba54\ub274\ubc88\ud638\ub294 \ud544\uc218 \ud56d\ubaa9\uc785\ub2c8\ub2e4. +comSymMnuMpm.menuList.validate.upperMenuId.onlyNumber=\uc0c1\uc704\uba54\ub274\ubc88\ud638\ub294 \uc22b\uc790\ub9cc \uc785\ub825 \uac00\ub2a5\ud569\ub2c8\ub2e4. +comSymMnuMpm.menuList.validate.progrmFileNm.notNull=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85\uc740 \ud544\uc218 \ud56d\ubaa9\uc785\ub2c8\ub2e4. +comSymMnuMpm.menuList.validate.menuNm.notNull=\uba54\ub274\uba85\uc740 \ud544\uc218 \ud56d\ubaa9\uc785\ub2c8\ub2e4. + +comSymMnuMpm.menuList.validate.chkBrowse=\uba54\ub274 \ubaa9\ub85d \ub370\uc774\ud0c0\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. +comSymMnuMpm.menuList.validate.chkObject=\uba54\ub274\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uba54\ub274 \ub4f1\ub85d \ud6c4 \uc0ac\uc6a9\ud558\uc138\uc694. + + +comSymMnuMpm.menuManage.title=\uba54\ub274\uad00\ub9ac\ub9ac\uc2a4\ud2b8 +comSymMnuMpm.menuManage.pageTop.title=\uba54\ub274\uad00\ub9ac\ub9ac\uc2a4\ud2b8 +comSymMnuMpm.menuManage.menuNo=\uba54\ub274No +comSymMnuMpm.menuManage.menuNmHn=\uba54\ub274\ud55c\uae00\uba85 +comSymMnuMpm.menuManage.progrmFileNm=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 +comSymMnuMpm.menuManage.menuDc=\uba54\ub274\uc124\uba85 +comSymMnuMpm.menuManage.upperMenuId=\uc0c1\uc704\uba54\ub274No +comSymMnuMpm.menuManage.menuNm=\uba54\ub274\uba85 + + +comSymMnuMpm.menuDetailSelectUpdt.title=\uba54\ub274\uc0c1\uc138\uc870\ud68c\ubc0f \uc218\uc815 +comSymMnuMpm.menuDetailSelectUpdt.pageTop.title=\uba54\ub274\uc0c1\uc138\uc870\ud68c\ubc0f \uc218\uc815 +comSymMnuMpm.menuDetailSelectUpdt.menuNo=\uba54\ub274No +comSymMnuMpm.menuDetailSelectUpdt.menuOrder=\uba54\ub274\uc21c\uc11c +comSymMnuMpm.menuDetailSelectUpdt.menuNm=\uba54\ub274\uba85 +comSymMnuMpm.menuDetailSelectUpdt.upperMenuId=\uc0c1\uc704\uba54\ub274No +comSymMnuMpm.menuDetailSelectUpdt.progrmFileNm=\ud30c\uc77c\uba85 +comSymMnuMpm.menuDetailSelectUpdt.relateImageNm=\uad00\ub828\uc774\ubbf8\uc9c0\uba85 +comSymMnuMpm.menuDetailSelectUpdt.relateImagePath=\uad00\ub828\uc774\ubbf8\uc9c0\uacbd\ub85c +comSymMnuMpm.menuDetailSelectUpdt.menuDc=\uba54\ub274\uc124\uba85 +comSymMnuMpm.menuDetailSelectUpdt.selectMenuSearch=\uba54\ub274\uc120\ud0dd \uac80\uc0c9 +comSymMnuMpm.menuDetailSelectUpdt.programFileNameSearch=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 \uac80\uc0c9 +comSymMnuMpm.menuDetailSelectUpdt.newWindow=\uc0c8\ucc3d\uc73c\ub85c + + +comSymMnuMpm.menuRegist.title=\uba54\ub274\uc815\ubcf4\ub4f1\ub85d +comSymMnuMpm.menuRegist.pageTop.title=\uba54\ub274\uc815\ubcf4\ub4f1\ub85d +comSymMnuMpm.menuRegist.menuNo=\uba54\ub274No +comSymMnuMpm.menuRegist.menuOrder=\uba54\ub274\uc21c\uc11c +comSymMnuMpm.menuRegist.menuNm=\uba54\ub274\uba85 +comSymMnuMpm.menuRegist.upperMenuId=\uc0c1\uc704\uba54\ub274No +comSymMnuMpm.menuRegist.progrmFileNm=\ud30c\uc77c\uba85 +comSymMnuMpm.menuRegist.relateImageNm=\uad00\ub828\uc774\ubbf8\uc9c0\uba85 +comSymMnuMpm.menuRegist.relateImagePath=\uad00\ub828\uc774\ubbf8\uc9c0\uacbd\ub85c +comSymMnuMpm.menuRegist.menuDc=\uba54\ub274\uc124\uba85 +comSymMnuMpm.menuRegist.selectMenuSearch=\uba54\ub274\uc120\ud0dd \uac80\uc0c9 +comSymMnuMpm.menuRegist.programFileNameSearch=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 \uac80\uc0c9 +comSymMnuMpm.menuRegist.newWindow=\uc0c8\ucc3d\uc73c\ub85c + + +comSymMnuMpm.menuBndeRegist.title=\uba54\ub274\uc77c\uad04\ub4f1\ub85d +comSymMnuMpm.menuBndeRegist.pageTop.title=\uba54\ub274\uc77c\uad04\ub4f1\ub85d +comSymMnuMpm.menuBndeRegist.menuNo=\uc77c\uad04\ud30c\uc77c +comSymMnuMpm.menuBndeRegist.validate.confirm.insert=\uba54\ub274\uc77c\uad04\ub4f1\ub85d\uc744 \ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? \\n \uba54\ub274\uc815\ubcf4\uc640 \ud504\ub85c\uadf8\ub7a8\ubaa9\ub85d, \ud504\ub85c\uadf8\ub7a8 \ubcc0\uacbd\ub0b4\uc5ed \uc874\uc7ac\uc2dc \uc0ad\uc81c \ud558\uc2e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +comSymMnuMpm.menuBndeRegist.validate.confirm.delete=\uba54\ub274\uc77c\uad04\uc0ad\uc81c\ub97c \ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? \\n \uba54\ub274\uc815\ubcf4\uc640 \ud504\ub85c\uadf8\ub7a8\ubaa9\ub85d, \ud504\ub85c\uadf8\ub7a8 \ubcc0\uacbd\ub0b4\uc5ed \ub370\uc774\ud0c0 \ubaa8\ub450 \uc0ad\uc81c\ucc98\ub9ac \ub429\ub2c8\ub2e4. +comSymMnuMpm.menuBndeRegist.validate.alert.checkFile=\uc5c5\ub85c\ub4dc \ud560 \ud30c\uc77c\uc744 \uc9c0\uc815\ud574 \uc8fc\uc138\uc694. +comSymMnuMpm.menuBndeRegist.validate.checkFile=\ud30c\uc77c \ud615\uc2dd\uc774 \ub9de\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\\n xls,xlsx\ub9cc \uc5c5\ub85c\ub4dc\uac00 \uac00\ub2a5\ud569\ub2c8\ub2e4! + + +comSymMnuMpm.menuMvmn.title=\uba54\ub274\uc774\ub3d9 +comSymMnuMpm.menuMvmn.pageTop.title=\uba54\ub274\uc774\ub3d9 +comSymMnuMpm.menuMvmn.menuNo=\uc774\ub3d9\ud560\uba54\ub274\uba85 +comSymMnuMpm.menuMvmn.validate.alert.menu=\uba54\ub274\uac00 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uba54\ub274 \ub4f1\ub85d \ud6c4 \uc0ac\uc6a9\ud558\uc138\uc694! + + +comSymMnuMpm.head.head=\uacf5\ud1b5\uc11c\ube44\uc2a4 \ud14c\uc2a4\ud2b8 \uc0ac\uc774\ud2b8 +comSymMnuMpm.mainView.mainViewTitle=\ud589\uc815\uc548\uc804\ubd80 \uacf5\ud1b5\uc11c\ube44\uc2a4 \ud14c\uc2a4\ud2b8 \uc0ac\uc774\ud2b8 +comSymMnuMpm.mainView.selectBBSListPortlet=\uc0dd\uc131\ub41c \uac8c\uc2dc\ud310 \ubaa9\ub85d +comSymMnuMpm.mainView.selectCommuMasterListPortlet=\uc0dd\uc131\ub41c \ucee4\ubba4\ub2c8\ud2f0 \ubaa9\ub85d +comSymMnuMpm.mainView.selectBlogListPortlet=\uc0dd\uc131\ub41c \ube14\ub85c\uadf8 \ubaa9\ub85d +comSymMnuMpm.mainView.deptSchdulManageMainList=\ubd80\uc11c\uc77c\uc815\uad00\ub9ac +comSymMnuMpm.mainView.indvdlSchdulManageMainList=\ub098\uc758\uc77c\uc815\uad00\ub9ac +comSymMnuMpm.mainView.exchangeRateInformation=\ud658\uc728\uc815\ubcf4 +comSymMnuMpm.mainView.getBannerImage=\ubc30\ub108 +comSymMnuMpm.main_bottom.mainBottomTitle=\uc544\ub798\uba54\uc778 +comSymMnuMpm.main_bottom.address=03171 \uc11c\uc6b8\ud2b9\ubcc4\uc2dc \uc885\ub85c\uad6c \uc138\uc885\ub300\ub85c 209 (\uc815\ubd80\uc11c\uc6b8\uccad\uc0ac) / 30128 \uc138\uc885\ud2b9\ubcc4\uc790\uce58\uc2dc \uc815\ubd802\uccad\uc0ac\ub85c 13 (\uc815\ubd80\uc138\uc885\uccad\uc0ac) \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/mnu/mpm/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/mnu/stm/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/mnu/stm/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/mnu/stm/message_en.properties (revision 7) @@ -0,0 +1,4 @@ +#Site Map# +comSymMnuStm.siteMapng.siteMap=Site Map +comSymMnuStm.siteMapng.emptySiteMap=1100. Sitemap creation is performed after menu creation management> [menu creation] click> check selection from list> [menu creation] click> [create sitemap] click> click [create sitemap] from popup. +comSymMnuStm.siteMapng.validate.siteMap=Please create a sitemap. \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/mnu/stm/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/mnu/stm/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/mnu/stm/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/mnu/stm/message_ko.properties (revision 7) @@ -0,0 +1,4 @@ +#\uc0ac\uc774\ud2b8\ub9f5# +comSymMnuStm.siteMapng.siteMap=\uc0ac\uc774\ud2b8\ub9f5 +comSymMnuStm.siteMapng.emptySiteMap=1100.\uba54\ub274\uc0dd\uc131\uad00\ub9ac > [\uba54\ub274\uc0dd\uc131]\ud074\ub9ad > \ubaa9\ub85d\uc5d0\uc11c \uccb4\ud06c\uc120\ud0dd > [\uba54\ub274\uc0dd\uc131]\ud074\ub9ad > [\uc0ac\uc774\ud2b8\ub9f5\uc0dd\uc131] \ud074\ub9ad > \ud31d\uc5c5\uc5d0\uc11c [\uc0ac\uc774\ud2b8\ub9f5\uc0dd\uc131]\ud074\ub9ad \uacfc\uc815\uc744 \uac70\uccd0\uc57c \uc0ac\uc774\ud2b8\ub9f5 \uc0dd\uc131\uc774 \ub429\ub2c8\ub2e4. +comSymMnuStm.siteMapng.validate.siteMap=\uc0ac\uc774\ud2b8\ub9f5\uc744 \uc0dd\uc131\ud574 \uc8fc\uc138\uc694. \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/mnu/stm/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/prm/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/prm/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/prm/message_en.properties (revision 7) @@ -0,0 +1,160 @@ +comSymPrm.programListManage.title=Program List +comSymPrm.programListManage.pageTop.title=Program List + +comSymPrm.programListManage.programName=Program Name +comSymPrm.programListManage.programFileName=Program File Name +comSymPrm.programListManage.ProgramDescription=Program Description + + +comSymPrm.programListRegist.title=Register Program List +comSymPrm.programListRegist.pageTop.title=Register Program List +comSymPrm.programListRegist.progrmFileNm=Program File Name +comSymPrm.programListRegist.progrmStrePath=Storage path +comSymPrm.programListRegist.progrmKoreanNm=Program Name +comSymPrm.programListRegist.progrmDc=Program Description +comSymPrm.programListRegist.url=URL + + +comSymPrm.programListDetailSelectUpdt.title=View / Edit Program List +comSymPrm.programListDetailSelectUpdt.pageTop.title=View / Edit Program List +comSymPrm.programListDetailSelectUpdt.progrmFileNm=Program File Name +comSymPrm.programListDetailSelectUpdt.progrmStrePath=Storage path +comSymPrm.programListDetailSelectUpdt.progrmKoreanNm=Program Name +comSymPrm.programListDetailSelectUpdt.progrmDc=Program Description +comSymPrm.programListDetailSelectUpdt.url=URL + + +comSymPrm.programChangeRequst.title=Program Change Request +comSymPrm.programChangeRequst.pageTop.title=Program Change Request +comSymPrm.programChangeRequst.progrmFileNm=Program File Name +comSymPrm.programChangeRequst.rqesterNo=Request Number +comSymPrm.programChangeRequst.rqesterSj=Request Title +comSymPrm.programChangeRequst.rqesterPersonId=Requester +comSymPrm.programChangeRequst.rqesterDe=Request Date +comSymPrm.programChangeRequst.processSttus=Processing Status +comSymPrm.programChangeRequst.processSttusA=Applying +comSymPrm.programChangeRequst.processSttusP=Proceeding +comSymPrm.programChangeRequst.processSttusR=Companion +comSymPrm.programChangeRequst.processSttusC=Completed + + +comSymPrm.programChangRequstDetailSelectUpdt.title=Program Change Request +comSymPrm.programChangRequstDetailSelectUpdt.pageTop.title=View / Modify Program Change Request Details +comSymPrm.programChangRequstDetailSelectUpdt.title.sub1=Change Request History +comSymPrm.programChangRequstDetailSelectUpdt.title.sub2=Change Processing History +comSymPrm.programChangRequstDetailSelectUpdt.rqesterNo=Request Number +comSymPrm.programChangRequstDetailSelectUpdt.progrmFileNm=Program File Name +comSymPrm.programChangRequstDetailSelectUpdt.rqesterPersonId=Requester ID +comSymPrm.programChangRequstDetailSelectUpdt.rqesterDe=Request Date +comSymPrm.programChangRequstDetailSelectUpdt.rqesterSj=Request Title +comSymPrm.programChangRequstDetailSelectUpdt.changerqesterCn=Change Request Contents +comSymPrm.programChangRequstDetailSelectUpdt.processDe=Change Processing Date +comSymPrm.programChangRequstDetailSelectUpdt.opetrId=Change Handler +comSymPrm.programChangRequstDetailSelectUpdt.processSttus=Change Processing Status +comSymPrm.programChangRequstDetailSelectUpdt.processSttusA=Applying +comSymPrm.programChangRequstDetailSelectUpdt.processSttusP=Proceeding +comSymPrm.programChangRequstDetailSelectUpdt.processSttusR=Companion +comSymPrm.programChangRequstDetailSelectUpdt.processSttusC=Completed +comSymPrm.programChangRequstDetailSelectUpdt.rqesterProcessCn=Change Processing Contents + + +comSymPrm.programChangRequstStre.title=Program Change Request Registration +comSymPrm.programChangRequstStre.pageTop.title=Program Change Request Registration +comSymPrm.programChangRequstStre.rqesterNo=Request Number +comSymPrm.programChangRequstStre.progrmFileNm=Program File Name +comSymPrm.programChangRequstStre.searchProgrmFileNm=Program File Name Search +comSymPrm.programChangRequstStre.rqesterPersonId=Requester +comSymPrm.programChangRequstStre.rqesterDe=Request Date +comSymPrm.programChangRequstStre.rqesterSj=Request Title +comSymPrm.programChangRequstStre.changerqesterCn=Change Request Contents + + +comSymPrm.fileNmSearch.title=Program File Name Search +comSymPrm.fileNmSearch.pageTop.title=Program File Name Search +comSymPrm.fileNmSearch.progrmFileNm=Program File Name +comSymPrm.fileNmSearch.progrmNm=Program Name + + +comSymPrm.programChangeRequstProcess.title=Processing Program Change Requests +comSymPrm.programChangeRequstProcess.pageTop.title=Processing Program Change Requests +comSymPrm.programChangeRequstProcess.searchCondition.opt1=All +comSymPrm.programChangeRequstProcess.searchCondition.opt2=Processing Status +comSymPrm.programChangeRequstProcess.searchCondition.opt3=Request Date +comSymPrm.programChangeRequstProcess.searchCondition.opt4=Requester +comSymPrm.programChangeRequstProcess.searchKeyword.value=Search Condition Value +comSymPrm.programChangeRequstProcess.searchKeyword.all=All Views +comSymPrm.programChangeRequstProcess.rqesterNo=Request Number +comSymPrm.programChangeRequstProcess.progrmNm=Program File Name +comSymPrm.programChangeRequstProcess.processSttus=Processing Status +comSymPrm.programChangeRequstProcess.rqesterSj=Request Title +comSymPrm.programChangeRequstProcess.rqesterPersonId=Requester +comSymPrm.programChangeRequstProcess.rqesterDe=Request Date +comSymPrm.programChangeRequstProcess.processSttusA=Applying +comSymPrm.programChangeRequstProcess.processSttusP=Proceeding +comSymPrm.programChangeRequstProcess.processSttusR=Companion +comSymPrm.programChangeRequstProcess.processSttusC=Completed + + +comSymPrm.programChangRequstProcessDetailSelectUpdt.title=View / Modify Program Change Request Processing Details +comSymPrm.programChangRequstProcessDetailSelectUpdt.pageTop.title=View / Modify Program Change Request Processing Details +comSymPrm.programChangRequstProcessDetailSelectUpdt.title.sub1=Change Processing History +comSymPrm.programChangRequstProcessDetailSelectUpdt.title.sub2=Change Request History +comSymPrm.programChangRequstProcessDetailSelectUpdt.processDe=Change Processing Date +comSymPrm.programChangRequstProcessDetailSelectUpdt.opetrId=Change Handler +comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttus=Change Processing Status +comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterProcessCn=Change Processing Contents +comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttusA=Applying +comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttusP=Proceeding +comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttusR=Companion +comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttusC=Completed +comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterNo=Request number +comSymPrm.programChangRequstProcessDetailSelectUpdt.progrmFileNm=Program File Name +comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterPersonId=Requestor ID +comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterDe=Request Date +comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterSj=Request Title +comSymPrm.programChangRequstProcessDetailSelectUpdt.changerqesterCn=Change Request Contents + + +comSymPrm.programChgHst.title=Program Change History +comSymPrm.programChgHst.pageTop.title=Program Change History +comSymPrm.programChgHst.searchKeyword=Program Name +comSymPrm.programChgHst.progrmFileNm=Program File Name +comSymPrm.programChgHst.processSttus=Processing Status +comSymPrm.programChgHst.rqesterProcessCn=Processing Contents +comSymPrm.programChgHst.rqesterPersonId=Change Requestor +comSymPrm.programChgHst.rqesterDe=Change Request Date +comSymPrm.programChgHst.processDe=Change Completed Date +comSymPrm.programChgHst.processSttusA=Applying +comSymPrm.programChgHst.processSttusP=Proceeding +comSymPrm.programChgHst.processSttusR=Companion +comSymPrm.programChgHst.processSttusC=Completed + + +comSymPrm.programChgHstDetail.title=Program Change History Details +comSymPrm.programChgHstDetail.pageTop.title=View Program Change History Details +comSymPrm.programChgHstDetail.title.sub1=Change Request History +comSymPrm.programChgHstDetail.title.sub2=Change Processing History +comSymPrm.programChgHstDetail.rqesterNo=Request Number +comSymPrm.programChgHstDetail.progrmFileNm=Program File Name +comSymPrm.programChgHstDetail.rqesterPersonId=Requestor ID +comSymPrm.programChgHstDetail.rqesterDe=Request Date +comSymPrm.programChgHstDetail.rqesterSj=Request Title +comSymPrm.programChgHstDetail.changerqesterCn=Change Processing Contents +comSymPrm.programChgHstDetail.processDe=Change Processing Date +comSymPrm.programChgHstDetail.opetrId=Change Handler +comSymPrm.programChgHstDetail.processSttus=Change Processing Status +comSymPrm.programChgHstDetail.rqesterProcessCn=Change Processing Contents +comSymPrm.programChgHstDetail.processSttusA=Applying +comSymPrm.programChgHstDetail.processSttusP=Proceeding +comSymPrm.programChgHstDetail.processSttusR=Companion +comSymPrm.programChgHstDetail.processSttusC=Completed + + +comSymPrm.progrmManageController.processSttusA=Applying +comSymPrm.progrmManageController.processSttusP=Proceeding +comSymPrm.progrmManageController.processSttusR=Companion +comSymPrm.progrmManageController.processSttusC=Completed +comSymPrm.progrmManageController.email.Sj=Processing Program Change Requests +comSymPrm.progrmManageController.email.emailCn=Your program change request has been processed. +comSymPrm.progrmManageController.updateProgrmChangRequstProcess.fail=Modification failed. Change Request Handling Modifications can only be processed by the person in charge of the change. +comSymPrm.progrmManageController.checkRqesterPersonId=Failed to delete. Only the change requester can be deleted. Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/prm/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/prm/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/prm/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/prm/message_ko.properties (revision 7) @@ -0,0 +1,162 @@ +comSymPrm.programListManage.title=\ud504\ub85c\uadf8\ub7a8\ubaa9\ub85d\ub9ac\uc2a4\ud2b8 +comSymPrm.programListManage.pageTop.title=\ud504\ub85c\uadf8\ub7a8\ubaa9\ub85d\uad00\ub9ac + +comSymPrm.programListManage.programName=\ud504\ub85c\uadf8\ub7a8\uba85 +comSymPrm.programListManage.programFileName=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 +comSymPrm.programListManage.ProgramDescription=\ud504\ub85c\uadf8\ub7a8\uc124\uba85 + + +comSymPrm.programListRegist.title=\ud504\ub85c\uadf8\ub7a8\ubaa9\ub85d\ub4f1\ub85d +comSymPrm.programListRegist.pageTop.title=\ud504\ub85c\uadf8\ub7a8\ubaa9\ub85d \ub4f1\ub85d +comSymPrm.programListRegist.progrmFileNm=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 +comSymPrm.programListRegist.progrmStrePath=\uc800\uc7a5\uacbd\ub85c +comSymPrm.programListRegist.progrmKoreanNm=\ud55c\uae00\uba85 +comSymPrm.programListRegist.progrmDc=\ud504\ub85c\uadf8\ub7a8\uc124\uba85 +comSymPrm.programListRegist.url=URL + + +comSymPrm.programListDetailSelectUpdt.title=\ud504\ub85c\uadf8\ub7a8\ubaa9\ub85d \uc0c1\uc138\uc870\ud68c /\uc218\uc815 +comSymPrm.programListDetailSelectUpdt.pageTop.title=\ud504\ub85c\uadf8\ub7a8\ubaa9\ub85d \uc0c1\uc138\uc870\ud68c /\uc218\uc815 +comSymPrm.programListDetailSelectUpdt.progrmFileNm=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 +comSymPrm.programListDetailSelectUpdt.progrmStrePath=\uc800\uc7a5\uacbd\ub85c +comSymPrm.programListDetailSelectUpdt.progrmKoreanNm=\ud55c\uae00\uba85 +comSymPrm.programListDetailSelectUpdt.progrmDc=\ud504\ub85c\uadf8\ub7a8\uc124\uba85 +comSymPrm.programListDetailSelectUpdt.url=URL + + +comSymPrm.programChangeRequst.title=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc694\uccad +comSymPrm.programChangeRequst.pageTop.title=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc694\uccad +comSymPrm.programChangeRequst.progrmFileNm=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 +comSymPrm.programChangeRequst.rqesterNo=\uc694\uccad\ubc88\ud638 +comSymPrm.programChangeRequst.rqesterSj=\uc694\uccad\uc81c\ubaa9 +comSymPrm.programChangeRequst.rqesterPersonId=\uc694\uccad\uc790 +comSymPrm.programChangeRequst.rqesterDe=\uc694\uccad\uc77c\uc790 +comSymPrm.programChangeRequst.processSttus=\ucc98\ub9ac\uc5ec\ubd80 +comSymPrm.programChangeRequst.processSttusA=\uc2e0\uccad\uc911 +comSymPrm.programChangeRequst.processSttusP=\uc9c4\ud589\uc911 +comSymPrm.programChangeRequst.processSttusR=\ubc18\ub824 +comSymPrm.programChangeRequst.processSttusC=\ucc98\ub9ac\uc644\ub8cc + + +comSymPrm.programChangRequstDetailSelectUpdt.title=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc694\uccad +comSymPrm.programChangRequstDetailSelectUpdt.pageTop.title=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc694\uccad \uc0c1\uc138\uc870\ud68c /\uc218\uc815 +comSymPrm.programChangRequstDetailSelectUpdt.title.sub1=\ubcc0\uacbd\uc694\uccad\ub0b4\uc5ed +comSymPrm.programChangRequstDetailSelectUpdt.title.sub2=\ubcc0\uacbd\ucc98\ub9ac\ub0b4\uc5ed +comSymPrm.programChangRequstDetailSelectUpdt.rqesterNo=\uc694\uccad\ubc88\ud638 +comSymPrm.programChangRequstDetailSelectUpdt.progrmFileNm=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 +comSymPrm.programChangRequstDetailSelectUpdt.rqesterPersonId=\uc694\uccad\uc790ID +comSymPrm.programChangRequstDetailSelectUpdt.rqesterDe=\uc694\uccad\uc77c\uc790 +comSymPrm.programChangRequstDetailSelectUpdt.rqesterSj=\uc694\uccad\uc81c\ubaa9 +comSymPrm.programChangRequstDetailSelectUpdt.changerqesterCn=\ubcc0\uacbd\uc694\uccad\ub0b4\uc6a9 +comSymPrm.programChangRequstDetailSelectUpdt.processDe=\ubcc0\uacbd\ucc98\ub9ac\uc77c\uc790 +comSymPrm.programChangRequstDetailSelectUpdt.opetrId=\ubcc0\uacbd\ucc98\ub9ac\uc790 +comSymPrm.programChangRequstDetailSelectUpdt.processSttus=\ubcc0\uacbd\ucc98\ub9ac\uc0c1\ud0dc +comSymPrm.programChangRequstDetailSelectUpdt.processSttusA=\uc2e0\uccad\uc911 +comSymPrm.programChangRequstDetailSelectUpdt.processSttusP=\uc9c4\ud589\uc911 +comSymPrm.programChangRequstDetailSelectUpdt.processSttusR=\ubc18\ub824 +comSymPrm.programChangRequstDetailSelectUpdt.processSttusC=\ucc98\ub9ac\uc644\ub8cc +comSymPrm.programChangRequstDetailSelectUpdt.rqesterProcessCn=\ubcc0\uacbd\ucc98\ub9ac\ub0b4\uc6a9 + + +comSymPrm.programChangRequstStre.title=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc694\uccad \ub4f1\ub85d +comSymPrm.programChangRequstStre.pageTop.title=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc694\uccad \ub4f1\ub85d +comSymPrm.programChangRequstStre.rqesterNo=\uc694\uccad\ubc88\ud638 +comSymPrm.programChangRequstStre.progrmFileNm=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 +comSymPrm.programChangRequstStre.searchProgrmFileNm=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 \uac80\uc0c9 +comSymPrm.programChangRequstStre.rqesterPersonId=\uc694\uccad\uc790 +comSymPrm.programChangRequstStre.rqesterDe=\uc694\uccad\uc77c\uc790 +comSymPrm.programChangRequstStre.rqesterSj=\uc694\uccad\uc81c\ubaa9 +comSymPrm.programChangRequstStre.changerqesterCn=\ubcc0\uacbd\uc694\uccad\ub0b4\uc6a9 + + +comSymPrm.fileNmSearch.title=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 \uac80\uc0c9 +comSymPrm.fileNmSearch.pageTop.title=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 \uac80\uc0c9 +comSymPrm.fileNmSearch.progrmFileNm=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 +comSymPrm.fileNmSearch.progrmNm=\ud504\ub85c\uadf8\ub7a8\uba85 + + +comSymPrm.programChangeRequstProcess.title=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc694\uccad\ucc98\ub9ac +comSymPrm.programChangeRequstProcess.pageTop.title=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc694\uccad\ucc98\ub9ac +comSymPrm.programChangeRequstProcess.searchCondition.opt1=\uc804\uccb4 +comSymPrm.programChangeRequstProcess.searchCondition.opt2=\ucc98\ub9ac\uc0c1\ud0dc +comSymPrm.programChangeRequstProcess.searchCondition.opt3=\uc694\uccad\uc77c\uc790 +comSymPrm.programChangeRequstProcess.searchCondition.opt4=\uc694\uccad\uc790 +comSymPrm.programChangeRequstProcess.searchKeyword.value=\uac80\uc0c9\uc870\uac74\uac12 +comSymPrm.programChangeRequstProcess.searchKeyword.all=\uc804\uccb4\uc870\ud68c +comSymPrm.programChangeRequstProcess.rqesterNo=\uc694\uccad\ubc88\ud638 +comSymPrm.programChangeRequstProcess.progrmNm=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 +comSymPrm.programChangeRequstProcess.processSttus=\ucc98\ub9ac\uc0c1\ud0dc +comSymPrm.programChangeRequstProcess.rqesterSj=\uc694\uccad\uc81c\ubaa9 +comSymPrm.programChangeRequstProcess.rqesterPersonId=\uc694\uccad\uc790 +comSymPrm.programChangeRequstProcess.rqesterDe=\uc694\uccad\uc77c\uc790 +comSymPrm.programChangeRequstProcess.processSttusA=\uc2e0\uccad\uc911 +comSymPrm.programChangeRequstProcess.processSttusP=\uc9c4\ud589\uc911 +comSymPrm.programChangeRequstProcess.processSttusR=\ubc18\ub824 +comSymPrm.programChangeRequstProcess.processSttusC=\ucc98\ub9ac\uc644\ub8cc + + +comSymPrm.programChangRequstProcessDetailSelectUpdt.title=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc694\uccad\ucc98\ub9ac\uc0c1\uc138\uc870\ud68c/\uc218\uc815 +comSymPrm.programChangRequstProcessDetailSelectUpdt.pageTop.title=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc694\uccad\ucc98\ub9ac\uc0c1\uc138\uc870\ud68c/\uc218\uc815 +comSymPrm.programChangRequstProcessDetailSelectUpdt.title.sub1=\ubcc0\uacbd\ucc98\ub9ac\ub0b4\uc5ed +comSymPrm.programChangRequstProcessDetailSelectUpdt.title.sub2=\ubcc0\uacbd\uc694\uccad\ub0b4\uc5ed +comSymPrm.programChangRequstProcessDetailSelectUpdt.processDe=\ubcc0\uacbd\ucc98\ub9ac\uc77c\uc790 +comSymPrm.programChangRequstProcessDetailSelectUpdt.opetrId=\ubcc0\uacbd\ucc98\ub9ac\uc790 +comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttus=\ubcc0\uacbd\ucc98\ub9ac\uc0c1\ud0dc +comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterProcessCn=\ubcc0\uacbd\ucc98\ub9ac\ub0b4\uc6a9 +comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttusA=\uc2e0\uccad\uc911 +comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttusP=\uc9c4\ud589\uc911 +comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttusR=\ubc18\ub824 +comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttusC=\ucc98\ub9ac\uc644\ub8cc +comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterNo=\uc694\uccad\ubc88\ud638 +comSymPrm.programChangRequstProcessDetailSelectUpdt.progrmFileNm=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 +comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterPersonId=\uc694\uccad\uc790ID +comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterDe=\uc694\uccad\uc77c\uc790 +comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterSj=\uc694\uccad\uc81c\ubaa9 +comSymPrm.programChangRequstProcessDetailSelectUpdt.changerqesterCn=\ubcc0\uacbd\uc694\uccad\ub0b4\uc6a9 + + +comSymPrm.programChgHst.title=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc774\ub825 +comSymPrm.programChgHst.pageTop.title=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc774\ub825 +comSymPrm.programChgHst.searchKeyword=\ud504\ub85c\uadf8\ub7a8\uba85 +comSymPrm.programChgHst.progrmFileNm=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 +comSymPrm.programChgHst.processSttus=\ucc98\ub9ac\uc0c1\ud0dc +comSymPrm.programChgHst.rqesterProcessCn=\ucc98\ub9ac\ub0b4\uc6a9 +comSymPrm.programChgHst.rqesterPersonId=\ubcc0\uacbd\uc694\uccad\uc790 +comSymPrm.programChgHst.rqesterDe=\ubcc0\uacbd\uc694\uccad\uc77c\uc790 +comSymPrm.programChgHst.processDe=\ubcc0\uacbd\uc644\ub8cc\uc77c\uc790 +comSymPrm.programChgHst.processSttusA=\uc2e0\uccad\uc911 +comSymPrm.programChgHst.processSttusP=\uc9c4\ud589\uc911 +comSymPrm.programChgHst.processSttusR=\ubc18\ub824 +comSymPrm.programChgHst.processSttusC=\ucc98\ub9ac\uc644\ub8cc + + +comSymPrm.programChgHstDetail.title=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc774\ub825\uc0c1\uc138 +comSymPrm.programChgHstDetail.pageTop.title=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc774\ub825\uc0c1\uc138\uc870\ud68c +comSymPrm.programChgHstDetail.title.sub1=\ubcc0\uacbd\uc694\uccad\ub0b4\uc5ed +comSymPrm.programChgHstDetail.title.sub2=\ubcc0\uacbd\ucc98\ub9ac\ub0b4\uc5ed +comSymPrm.programChgHstDetail.rqesterNo=\uc694\uccad\ubc88\ud638 +comSymPrm.programChgHstDetail.progrmFileNm=\ud504\ub85c\uadf8\ub7a8\ud30c\uc77c\uba85 +comSymPrm.programChgHstDetail.rqesterPersonId=\uc694\uccad\uc790ID +comSymPrm.programChgHstDetail.rqesterDe=\uc694\uccad\uc77c\uc790 +comSymPrm.programChgHstDetail.rqesterSj=\uc694\uccad\uc81c\ubaa9 +comSymPrm.programChgHstDetail.changerqesterCn=\ubcc0\uacbd\uc694\uccad\ub0b4\uc6a9 +comSymPrm.programChgHstDetail.processDe=\ubcc0\uacbd\ucc98\ub9ac\uc77c\uc790 +comSymPrm.programChgHstDetail.opetrId=\ubcc0\uacbd\ucc98\ub9ac\uc790 +comSymPrm.programChgHstDetail.processSttus=\ubcc0\uacbd\ucc98\ub9ac\uc0c1\ud0dc +comSymPrm.programChgHstDetail.rqesterProcessCn=\ubcc0\uacbd\ucc98\ub9ac\ub0b4\uc6a9 +comSymPrm.programChgHstDetail.processSttusA=\uc2e0\uccad\uc911 +comSymPrm.programChgHstDetail.processSttusP=\uc9c4\ud589\uc911 +comSymPrm.programChgHstDetail.processSttusR=\ubc18\ub824 +comSymPrm.programChgHstDetail.processSttusC=\ucc98\ub9ac\uc644\ub8cc + + +comSymPrm.progrmManageController.processSttusA=\uc2e0\uccad\uc911 +comSymPrm.progrmManageController.processSttusP=\uc9c4\ud589\uc911 +comSymPrm.progrmManageController.processSttusR=\ubc18\ub824 +comSymPrm.progrmManageController.processSttusC=\ucc98\ub9ac\uc644\ub8cc +comSymPrm.progrmManageController.email.Sj=\ud504\ub85c\uadf8\ub7a8\ubcc0\uacbd\uc694\uccad \ucc98\ub9ac +comSymPrm.progrmManageController.email.emailCn=\ud504\ub85c\uadf8\ub7a8 \ubcc0\uacbd\uc694\uccad \uc0ac\ud56d\uc774 \ucc98\ub9ac \ub418\uc5c8\uc2b5\ub2c8\ub2e4. +comSymPrm.progrmManageController.updateProgrmChangRequstProcess.fail=\uc218\uc815\uc774 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4. \ubcc0\uacbd\uc694\uccad\ucc98\ub9ac \uc218\uc815\uc740 \ubcc0\uacbd\ucc98\ub9ac\ud574\ub2f9 \ub2f4\ub2f9\uc790\ub9cc \ucc98\ub9ac\uac00\ub2a5\ud569\ub2c8\ub2e4. +comSymPrm.progrmManageController.checkRqesterPersonId=\uc0ad\uc81c\uc5d0 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4. \ubcc0\uacbd\uc694\uccad\uc790\ub9cc \uc0ad\uc81c\uac00\ub2a5\ud569\ub2c8\ub2e4. + + Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/prm/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/ccm/cca/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/ccm/cca/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/ccm/cca/message_en.properties (revision 7) @@ -0,0 +1,11 @@ +#\uacf5\ud1b5\ucf54\ub4dc# +comSymCcmCca.cmmnCodeVO.title = Common Code + +comSymCcmCca.cmmnCodeVO.clCode = Classification Code +comSymCcmCca.cmmnCodeVO.clCodeNm = Classification Code Name +comSymCcmCca.cmmnCodeVO.codeId = Code ID +comSymCcmCca.cmmnCodeVO.codeIdNm = Code ID Name +comSymCcmCca.cmmnCodeVO.codeIdDc = Code ID Description +comSymCcmCca.cmmnCodeVO.useAt = Available Options + +comSymCcmCca.validate.codeCheck = The already registered common code exists. \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/ccm/cca/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/ccm/cca/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/ccm/cca/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/ccm/cca/message_ko.properties (revision 7) @@ -0,0 +1,11 @@ +#\uacf5\ud1b5\ucf54\ub4dc# +comSymCcmCca.cmmnCodeVO.title = \uacf5\ud1b5\ucf54\ub4dc + +comSymCcmCca.cmmnCodeVO.clCode = \ubd84\ub958\ucf54\ub4dc +comSymCcmCca.cmmnCodeVO.clCodeNm = \ubd84\ub958\ucf54\ub4dc\uba85 +comSymCcmCca.cmmnCodeVO.codeId = \ucf54\ub4dcID +comSymCcmCca.cmmnCodeVO.codeIdNm = \ucf54\ub4dcID\uba85 +comSymCcmCca.cmmnCodeVO.codeIdDc = \ucf54\ub4dcID\uc124\uba85 +comSymCcmCca.cmmnCodeVO.useAt = \uc0ac\uc6a9\uc5ec\ubd80 + +comSymCcmCca.validate.codeCheck = \uc774\ubbf8 \ub4f1\ub85d\ub41c \uacf5\ud1b5\ucf54\ub4dc\uac00 \uc874\uc7ac\ud569\ub2c8\ub2e4. \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/ccm/cca/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/ccm/ccc/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/ccm/ccc/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/ccm/ccc/message_en.properties (revision 7) @@ -0,0 +1,9 @@ +#\uacf5\ud1b5\ucf54\ub4dc \ubd84\ub958# +comSymCcmCcc.cmmnClCodeVO.title = Common Classification Code + +comSymCcmCcc.cmmnClCodeVO.clCode = Classification Code +comSymCcmCcc.cmmnClCodeVO.clCodeNm = Classification Code Name +comSymCcmCcc.cmmnClCodeVO.clCodeDc = Classification Code Description +comSymCcmCcc.cmmnClCodeVO.useAt = Available Options + +comSymCcmCcc.validate.codeCheck = The already registered Classification code exists. \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/ccm/ccc/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/ccm/ccc/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/ccm/ccc/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/ccm/ccc/message_ko.properties (revision 7) @@ -0,0 +1,9 @@ +#\uacf5\ud1b5\ucf54\ub4dc \ubd84\ub958# +comSymCcmCcc.cmmnClCodeVO.title = \uacf5\ud1b5\ubd84\ub958\ucf54\ub4dc + +comSymCcmCcc.cmmnClCodeVO.clCode = \ubd84\ub958\ucf54\ub4dc +comSymCcmCcc.cmmnClCodeVO.clCodeNm = \ubd84\ub958\ucf54\ub4dc\uba85 +comSymCcmCcc.cmmnClCodeVO.clCodeDc = \ubd84\ub958\ucf54\ub4dc \uc124\uba85 +comSymCcmCcc.cmmnClCodeVO.useAt = \uc0ac\uc6a9\uc5ec\ubd80 + +comSymCcmCcc.validate.codeCheck = \uc774\ubbf8 \ub4f1\ub85d\ub41c \uacf5\ud1b5\ubd84\ub958\ucf54\ub4dc\uac00 \uc874\uc7ac\ud569\ub2c8\ub2e4. \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/ccm/ccc/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/ccm/cde/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/ccm/cde/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/ccm/cde/message_en.properties (revision 7) @@ -0,0 +1,11 @@ +#\uacf5\ud1b5\uc0c1\uc138\ucf54\ub4dc# +comSymCcmCde.cmmnDetailCodeVO.title = Common Detail Code + +comSymCcmCde.cmmnDetailCodeVO.codeId = Code ID +comSymCcmCde.cmmnDetailCodeVO.codeIdNm = Code ID Name +comSymCcmCde.cmmnDetailCodeVO.code = Detail Code +comSymCcmCde.cmmnDetailCodeVO.codeNm = Detail Code Name +comSymCcmCde.cmmnDetailCodeVO.codeDc = Detail Code Description +comSymCcmCde.cmmnDetailCodeVO.useAt = Available Options + +comSymCcmCde.validate.codeCheck = The already registered detail code exists. \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/ccm/cde/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/sym/ccm/cde/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/sym/ccm/cde/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/sym/ccm/cde/message_ko.properties (revision 7) @@ -0,0 +1,11 @@ +#\uacf5\ud1b5\uc0c1\uc138\ucf54\ub4dc# +comSymCcmCde.cmmnDetailCodeVO.title = \uacf5\ud1b5\uc0c1\uc138\ucf54\ub4dc + +comSymCcmCde.cmmnDetailCodeVO.codeId = \ucf54\ub4dcID +comSymCcmCde.cmmnDetailCodeVO.codeIdNm = \ucf54\ub4dcID\uba85 +comSymCcmCde.cmmnDetailCodeVO.code = \uc0c1\uc138\ucf54\ub4dc +comSymCcmCde.cmmnDetailCodeVO.codeNm = \uc0c1\uc138\ucf54\ub4dc\uba85 +comSymCcmCde.cmmnDetailCodeVO.codeDc = \uc0c1\uc138\ucf54\ub4dc\uc124\uba85 +comSymCcmCde.cmmnDetailCodeVO.useAt = \uc0ac\uc6a9\uc5ec\ubd80 + +comSymCcmCde.validate.codeCheck = \uc774\ubbf8 \ub4f1\ub85d\ub41c \uc0c1\uc138\ucf54\ub4dc\uac00 \uc874\uc7ac\ud569\ub2c8\ub2e4. \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/sym/ccm/cde/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/uat/uap/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/uat/uap/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/uat/uap/message_en.properties (revision 7) @@ -0,0 +1,45 @@ +# EgovLoginPolicy.xml +comUatUap.loginPolicy.validate.ipInfo=IP Information +comUatUap.loginPolicy.validate.lmttAt=IP Restricted + + +comUatUap.LoginPolicyList.title=Login Policy Management +comUatUap.LoginPolicyList.caption=Login Policy Management +comUatUap.LoginPolicyList.userName=User Name +comUatUap.LoginPolicyList.userNameSearch=User Name Search +comUatUap.LoginPolicyList.userId=User ID +comUatUap.LoginPolicyList.ipInfo=IP Infomation +comUatUap.LoginPolicyList.restricted=Restricted +comUatUap.LoginPolicyList.validate.checkCount=No login policies selected. +comUatUap.LoginPolicyList.validate.checkField=No query results found. +comUatUap.LoginPolicyList.validate.checkIds=Please register after viewing. +comUatUap.LoginPolicyList.validate.checkReg=You already have a sign-in policy. +comUatUap.LoginPolicyList.validate.checkedCounter.onlyOne=Please select only one to register. +comUatUap.LoginPolicyList.validate.checkedCounter.none=No registration target selected. +comUatUap.LoginPolicyList.validate.delete=Are you sure you want to delete? + + +comUatUap.loginPolicyUpdt.title=Login policy Modification +comUatUap.loginPolicyUpdt.pageTop.title=Login policy Modification +comUatUap.loginPolicyUpdt.emplyrId=User ID +comUatUap.loginPolicyUpdt.emplyrNm=User Name +comUatUap.loginPolicyUpdt.ipInfo=IP Information +comUatUap.loginPolicyUpdt.lmttAt=IP Restricted +comUatUap.loginPolicyUpdt.regDate=Registration Date +comUatUap.loginPolicyUpdt.validate.confirm.save=Do you want to save it? +comUatUap.loginPolicyUpdt.validate.confirm.delete=Are you sure you want to delete? +comUatUap.loginPolicyUpdt.validate.info.exceptionIP=The exception is the IP address. +comUatUap.loginPolicyUpdt.validate.info.invalidForm=The input format is not appropriate. + + +comUatUap.loginPolicyRegist.title=Login policy Registration +comUatUap.loginPolicyRegist.pageTop.title=Login policy Registration +comUatUap.loginPolicyRegist.emplyrId=User ID +comUatUap.loginPolicyRegist.emplyrNm=User Name +comUatUap.loginPolicyRegist.ipInfo=IP Information +comUatUap.loginPolicyRegist.lmttAt=IP Restricted +comUatUap.loginPolicyRegist.regDate=Registration Date +comUatUap.loginPolicyRegist.validate.confirm.save=Do you want to save it? +comUatUap.loginPolicyRegist.validate.confirm.delete=Are you sure you want to delete? +comUatUap.loginPolicyRegist.validate.info.exceptionIP=The exception is the IP address. +comUatUap.loginPolicyRegist.validate.info.invalidForm=The input format is not appropriate. Property changes on: base3.10/src/main/resources/egovframework/message/com/uat/uap/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/uat/uap/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/uat/uap/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/uat/uap/message_ko.properties (revision 7) @@ -0,0 +1,46 @@ +# EgovLoginPolicy.xml +comUatUap.loginPolicy.validate.ipInfo=IP\uc815\ubcf4 +comUatUap.loginPolicy.validate.lmttAt=IP\uc81c\ud55c\uc5ec\ubd80 + + +comUatUap.LoginPolicyList.title=\ub85c\uadf8\uc778\uc815\ucc45 \ubaa9\ub85d\uc870\ud68c +comUatUap.LoginPolicyList.caption=\ub85c\uadf8\uc778\uc815\ucc45 \uad00\ub9ac +comUatUap.LoginPolicyList.userName=\uc0ac\uc6a9\uc790 \uba85 +comUatUap.LoginPolicyList.userNameSearch=\uc0ac\uc6a9\uc790\uba85\uac80\uc0c9 +comUatUap.LoginPolicyList.userId=\uc0ac\uc6a9\uc790 ID +comUatUap.LoginPolicyList.ipInfo=IP \uc815\ubcf4 +comUatUap.LoginPolicyList.restricted=\uc81c\ud55c\uc5ec\ubd80 +comUatUap.LoginPolicyList.validate.checkCount=\uc120\ud0dd\ub41c \ub85c\uadf8\uc778\uc815\ucc45\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. +comUatUap.LoginPolicyList.validate.checkField=\uc870\ud68c\ub41c \uacb0\uacfc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. +comUatUap.LoginPolicyList.validate.checkIds=\uc870\ud68c \ud6c4 \ub4f1\ub85d\ud558\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4. +comUatUap.LoginPolicyList.validate.checkReg=\uc774\ubbf8 \ub85c\uadf8\uc778\uc815\ucc45\uc774 \ub4f1\ub85d\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. +comUatUap.LoginPolicyList.validate.checkedCounter.onlyOne=\ub4f1\ub85d\ub300\uc0c1 \ud558\ub098\ub9cc \uc120\ud0dd\ud558\uc2ed\uc2dc\uc624. +comUatUap.LoginPolicyList.validate.checkedCounter.none=\uc120\ud0dd\ub41c \ub4f1\ub85d\ub300\uc0c1\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. +comUatUap.LoginPolicyList.validate.delete=\uc0ad\uc81c\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? + + +comUatUap.loginPolicyUpdt.title=\ub85c\uadf8\uc778\uc815\ucc45 \uc218\uc815 +comUatUap.loginPolicyUpdt.pageTop.title=\ub85c\uadf8\uc778\uc815\ucc45 \uc218\uc815 +comUatUap.loginPolicyUpdt.emplyrId=\uc0ac\uc6a9\uc790ID +comUatUap.loginPolicyUpdt.emplyrNm=\uc0ac\uc6a9\uc790\uba85 +comUatUap.loginPolicyUpdt.ipInfo=IP\uc815\ubcf4 +comUatUap.loginPolicyUpdt.lmttAt=IP\uc81c\ud55c\uc5ec\ubd80 +comUatUap.loginPolicyUpdt.regDate=\ub4f1\ub85d\uc77c\uc2dc +comUatUap.loginPolicyUpdt.validate.confirm.save=\uc800\uc7a5 \ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? +comUatUap.loginPolicyUpdt.validate.confirm.delete=\uc0ad\uc81c \ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? +comUatUap.loginPolicyUpdt.validate.info.exceptionIP=\uc608\uc678 \uc544\uc774\ud53c \uc785\ub2c8\ub2e4. +comUatUap.loginPolicyUpdt.validate.info.invalidForm=\ud615\uc2dd\uc774 \uc77c\uce58 \ud558\uc9c0\uc54a\uc2b5\ub2c8\ub2e4. + + +comUatUap.loginPolicyRegist.title=\ub85c\uadf8\uc778\uc815\ucc45 \ub4f1\ub85d +comUatUap.loginPolicyRegist.pageTop.title=\ub85c\uadf8\uc778\uc815\ucc45 \ub4f1\ub85d +comUatUap.loginPolicyRegist.emplyrId=\uc0ac\uc6a9\uc790ID +comUatUap.loginPolicyRegist.emplyrNm=\uc0ac\uc6a9\uc790\uba85 +comUatUap.loginPolicyRegist.ipInfo=IP\uc815\ubcf4 +comUatUap.loginPolicyRegist.lmttAt=IP\uc81c\ud55c\uc5ec\ubd80 +comUatUap.loginPolicyRegist.regDate=\ub4f1\ub85d\uc77c\uc2dc +comUatUap.loginPolicyRegist.validate.confirm.save=\uc800\uc7a5 \ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? +comUatUap.loginPolicyRegist.validate.confirm.delete=\uc0ad\uc81c \ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? +comUatUap.loginPolicyRegist.validate.info.exceptionIP=\uc608\uc678 \uc544\uc774\ud53c \uc785\ub2c8\ub2e4. +comUatUap.loginPolicyRegist.validate.info.invalidForm=\ud615\uc2dd\uc774 \uc77c\uce58 \ud558\uc9c0\uc54a\uc2b5\ub2c8\ub2e4. + Property changes on: base3.10/src/main/resources/egovframework/message/com/uat/uap/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/uat/uia/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/uat/uia/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/uat/uia/message_en.properties (revision 7) @@ -0,0 +1,51 @@ +comUatUia.title=Log In + +comUatUia.validate.idCheck=Please enter your ID. +comUatUia.validate.passCheck=Please enter your password. +comUatUia.validate.userManagmentCheck=User management component is not installed. Please ask admin. +comUatUia.validate.membershipCheck=Business users don't need to join membership separately. + + +comUatUia.loginForm.GNR=Member +comUatUia.loginForm.ENT=Corporate +comUatUia.loginForm.USR=Business user + +comUatUia.loginForm.id=ID +comUatUia.loginForm.pw=Password +comUatUia.loginForm.login=Log In +comUatUia.loginForm.regist=Join +comUatUia.loginForm.idPwSearch=Search For ID/password + +comUatUia.loginForm.idSave=Stay Signed In +comUatUia.loginForm.submit=Send + +comUatUia.loginForm.login.gpki=Certificate Login(Korea only) +comUatUia.loginForm.login.normal=General Login +comUatUia.loginForm.gpki.info=Certificate Guide +comUatUia.loginForm.gpki.descrption=Certificate login is only available to public authorities in Korea. + + +comUatUia.idPw.title=Search For ID/Password + +comUatUia.idPw.id=ID +comUatUia.idPw.name=Name +comUatUia.idPw.email=Email +comUatUia.idPw.passwordHint=Password Hint +comUatUia.idPw.passwordCnsr=Password Answer +comUatUia.idPw.result=Result + + +comUatUia.idPw.gnr = Member +comUatUia.idPw.ent = Corporate +comUatUia.idPw.usr = Business user + +comUatUia.idPw.searchId = Search For ID +comUatUia.idPw.searchPassword = Search For Password + +comUatUia.idPw.validate.id=Please enter your ID. +comUatUia.idPw.validate.name=Please enter your name. +comUatUia.idPw.validate.email=Please enter your email. +comUatUia.idPw.validate.passwordHint=Please select password hint. +comUatUia.idPw.validate.passwordCnsr=Please input password answer. + +comUatUia.idPasswordResult.searchIdPwd=Find your Id and password Property changes on: base3.10/src/main/resources/egovframework/message/com/uat/uia/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/uat/uia/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/uat/uia/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/uat/uia/message_ko.properties (revision 7) @@ -0,0 +1,51 @@ +comUatUia.title=\ub85c\uadf8\uc778 + +comUatUia.validate.idCheck=\uc544\uc774\ub514\ub97c \uc785\ub825\ud558\uc138\uc694. +comUatUia.validate.passCheck=\ube44\ubc00\ubc88\ud638\ub97c \uc785\ub825\ud558\uc138\uc694 +comUatUia.validate.userManagmentCheck=\uc0ac\uc6a9\uc790 \uad00\ub9ac \ucef4\ud3ec\ub10c\ud2b8\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uad00\ub9ac\uc790\uc5d0\uac8c \ubb38\uc758\ud558\uc138\uc694. +comUatUia.validate.membershipCheck=\uc5c5\ubb34\uc0ac\uc6a9\uc790\ub294 \ubcc4\ub3c4\uc758 \ud68c\uc6d0\uac00\uc785\uc774 \ud544\uc694\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. + +comUatUia.loginForm.GNR=\uc77c\ubc18 +comUatUia.loginForm.ENT=\uae30\uc5c5 +comUatUia.loginForm.USR=\uc5c5\ubb34 + +comUatUia.loginForm.id=\uc544\uc774\ub514 +comUatUia.loginForm.pw=\ube44\ubc00\ubc88\ud638 +comUatUia.loginForm.login=\ub85c\uadf8\uc778 +comUatUia.loginForm.regist=\ud68c\uc6d0\uac00\uc785 +comUatUia.loginForm.idPwSearch=\uc544\uc774\ub514/\ube44\ubc00\ubc88\ud638 \ucc3e\uae30 + +comUatUia.loginForm.idSave=\uc544\uc774\ub514 \uc800\uc7a5 +comUatUia.loginForm.submit=\uc804\uc1a1 + +comUatUia.loginForm.login.gpki=\uc778\uc99d\uc11c\ub85c\uadf8\uc778 +comUatUia.loginForm.login.normal=\uc77c\ubc18\ub85c\uadf8\uc778 +comUatUia.loginForm.gpki.info=\uc778\uc99d\uc11c\uc548\ub0b4 +comUatUia.loginForm.gpki.descrption= + + +comUatUia.idPw.title=\uc544\uc774\ub514/\ube44\ubc00\ubc88\ud638 \ucc3e\uae30 + +comUatUia.idPw.id=\uc544\uc774\ub514 +comUatUia.idPw.name=\uc774\ub984 +comUatUia.idPw.email=\uc774\uba54\uc77c\uc8fc\uc18c +comUatUia.idPw.passwordHint=\ube44\ubc00\ubc88\ud638 \ud78c\ud2b8 +comUatUia.idPw.passwordCnsr=\ube44\ubc00\ubc88\ud638 \uc815\ub2f5 +comUatUia.idPw.result=\uacb0\uacfc + + +comUatUia.idPw.gnr = \uc77c\ubc18 +comUatUia.idPw.ent = \uae30\uc5c5 +comUatUia.idPw.usr = \uc5c5\ubb34 + +comUatUia.idPw.searchId = \uc544\uc774\ub514 \ucc3e\uae30 +comUatUia.idPw.searchPassword = \ube44\ubc00\ubc88\ud638 \ucc3e\uae30 + +comUatUia.idPw.validate.id=\uc544\uc774\ub514\ub97c \uc785\ub825\ud558\uc138\uc694. +comUatUia.idPw.validate.name=\uc774\ub984\uc744 \uc785\ub825\ud558\uc138\uc694. +comUatUia.idPw.validate.email=\uc774\uba54\uc77c\uc8fc\uc18c\ub97c \uc785\ub825\ud558\uc138\uc694. +comUatUia.idPw.validate.passwordHint=\ube44\ubc00\ubc88\ud638 \ud78c\ud2b8\ub97c \uc120\ud0dd\ud558\uc138\uc694. +comUatUia.idPw.validate.passwordCnsr=\ube44\ubc00\ubc88\ud638 \uc815\ub2f5\uc744 \uc785\ub825\ud558\uc138\uc694. + + +comUatUia.idPasswordResult.searchIdPwd=\uc544\uc774\ub514 \ubc0f \ube44\ubc00\ubc88\ud638 \ucc3e\uae30 Property changes on: base3.10/src/main/resources/egovframework/message/com/uat/uia/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/message-common_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/message-common_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/message-common_en.properties (revision 7) @@ -0,0 +1,190 @@ +fail.common.msg=error ocurred! +fail.common.sql=sql error ocurred! error code: {0}, error msg: {1} +info.nodata.msg=no data found. + +#UI Common resource# +table.num=num. +table.regdate=reg.date +table.reger=registrant +table.select=select +title.html=egovframe common component +title.detail=Detail Inquiry +title.inquire=Inquire +title.update=Modify +title.create=Create +title.delete=Delete +title.save=Save +title.list=List +title.searchCondition=search condition +title.search=keyword +title.reply=reply +title.scrap=scrap +title.comment=comment +title.attachedFileSelect=attached file +title.attachedFileDelete=attached file delete +title.link=link +title.management=Management +title.all=All + +input.select=Select +input.cSelect=Select +input.input=input +input.button=button +input.selectAll.title=Checkbox select all +input.yes=Yes +input.no=No + +select.searchCondition=select condition select + +button.select=select +button.search=Search +button.use=use +button.notUsed=Not used +button.inquire=inquire +button.update=update +button.create=create +button.delete=delete +button.deleteDatabase=Wiping +button.close=close +button.save=save +button.list=list +button.reset=reset +button.passwordUpdate=password update +button.subscribe=subscribe +button.realname=realname confirm +button.moveToGpin=move to gpin confirm +button.moveToIhidnum=move to ihidnum confirm +button.agree=agree +button.disagree=disagree +button.possible=possible +button.impossible=impossible +button.qnaregist=Q&A create +button.cnsltregist=Counsel create +button.preview=preview +button.next=nexut +button.add=add it now +button.confirm=confirm +button.back =back +button.yes =yes +button.no =no +button.home =home +button.user =user support +button.cop =cooperation +button.wrkstart = work start +button.wrkend = work end +button.reply = reply +button.scrap = scrap +button.comment = comment +button.excel = excel +button.init=init +button.acknowledgment=acknowledgment +button.cancelAcknowledgment=cancel acknowledgment +button.bulkUpload=bulk upload +button.log = log +button.set = set +button.move = move + +#UI Common Message# +common.noScriptTitle.msg=I can't use all functions in browser JavaScript is not supported. +common.searchCondition.msg=This layout is a lower information searches made up of information. + +common.summary.list={0} A list of the details of the output. +common.summary.regist={0} Registered by typing the possible contents of registers by clicking the button. +common.summary.update={0} Registered by typing the possible content of modification by clicking the button. +common.summary.inqire={0} Full inquiry details about the details of the output. + +common.save.msg=confirm save? +common.regist.msg=confirm regist? +common.delete.msg=confirm delete? +common.update.msg=confirm update? +common.nodata.msg=There is no data. please choose another seach keyword +common.required.msg=is required field +common.acknowledgement.msg=confirm acknowledgement? +common.acknowledgementcancel.msg=confirm acknowledgement cancel? +common.nocomment.msg=There is no comment. +common.noguest.msg=There is no guest notice. + +success.request.msg=you're request successfully done +success.common.select=successfully selected +success.common.insert=successfully inserted +success.common.update=successfully updated +success.common.delete=successfully deleted + +common.imposbl.fileupload = cannot upload files +common.isConfmDe.msg=Please check the approval date box +common.isExist.msg = already exist + +fail.common.insert = fail to insert. +fail.common.update = fail to update +fail.common.delete = fail to delete +fail.common.delete.upperMenuExist = fail to delete[upperMenuId foreign key error] +fail.common.select = fail to select +fail.common.login = login information is not correct +fail.common.loginIncorrect = login in more than {0} account will be locked! +fail.common.login.password = password information is not correct(password digit should be 8 to 20) +fail.common.idsearch = can not find id +fail.common.pwsearch = can not find password +fail.request.msg = Failed to handle the request +fail.common.login.ip = Login is refused because it is not a registered IP. + +#UI User Message# +fail.user.passwordUpdate1=current password is not correct +fail.user.passwordUpdate2=password confirm is not correct +info.user.rlnmCnfirm=realname confirm ready +success.user.rlnmCnfirm=it is realname +fail.user.rlnmCnfirm=it is not realname +fail.user.connectFail=connection fail +info.user.rlnmPinCnfirm=Using the i-PIN ID, please check your real name +success.user.rlnmPinCnfirm=Consistent with the registration data of the i-PIN +fail.user.rlnmPinCnfirm=i-PIN does not match the registered data + +#Vlidator Errors# +errors.prefix=<div class="error"> +errors.suffix=</div><br/> + +errors.required={0} is required. +errors.minlength={0} can not be less than {1} characters. +errors.maxlength={0} can not be greater than {1} characters. +errors.invalid={0} is invalid. + +errors.byte={0} must be a byte. +errors.short={0} must be a short. +errors.integer={0} must be an integer. +errors.long={0} must be a long. +errors.float={0} must be a float. +errors.double={0} must be a double. + +errors.date={0} is not a date. +errors.range={0} is not in the range {1} through {2}. +errors.creditcard={0} is an invalid credit card number. +errors.email={0} is an invalid e-mail address. + +errors.ihidnum=Is not a valid Social Security number +errors.korean={0} should be entered with their Korean +errors.ip=Invalid IP address. +errors.english={0}is an invalid English character. +errors.notKorean={0} should not be entered with their Korean + +errors.password1={0} must be entered within 8 to 20 characters. +errors.password2={0} is Korean, special characters, spaces are not allowed. +errors.password3={0} can not be used continuously for more than four sequential digits. +errors.password4={0} can not be used continuously for more than 4 letters or numbers that are repeated. +errors.pwdcheckcomb3={0} must be include as least 3 of English alphabet, digit number, special characters such as ~!@#$%^&*? +errors.pwdcheckcomb4={0} must be include as least 4 of English alphabet uppercase letter, English alphabet lowercase letter, digit number, special characters such as ~!@#$%^&*? +errors.pwdcheckseries={0} can not be used continuously for more than 3 sequential letters or digits. +errors.pwdcheckrepeat={0} can not be used continuously for more than 3 letters or numbers that are repeated. + +error.security.runtime.error = error + +info.password.rule.password1 = - must be entered within 8 to 20 characters. +info.password.rule.pwdcheckcomb3 = - must be include as least 3 of English alphabet, digit number, special characters such as ~!@#$%^&*? +info.password.rule.pwdcheckcomb4 = - must be include as least 4 of English alphabet uppercase letter, English alphabet lowercase letter, digit number, special characters such as ~!@#$%^&*? +info.password.rule.pwdcheckseries = - can not be used continuously for more than 3 sequential letters or digits ex) kkk, 321 are not allowed. + +#Xss Errors# +errors.xss.checkerUser=There is no use and disposal authority for its capabilities. + +#File Upload / Download +errors.file.extension=It is not a supported file type. +errors.file.transfer=An error occurred during file transfer. +success.file.transfer=The file transfer is complete. Property changes on: base3.10/src/main/resources/egovframework/message/com/message-common_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/fsm/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/fsm/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/fsm/message_en.properties (revision 7) @@ -0,0 +1,62 @@ +# File system monitoring # +comUtlSysFsm.fileSysMntrng.title = File system monitoring +comUtlSysFsm.fileSysMntrngLog.title = File system monitoring log + +comUtlSysFsm.fileSysMntrng.fileSysNm.label = File system name +comUtlSysFsm.fileSysMntrng.fileSysManageNm.label = File system administration name +comUtlSysFsm.fileSysMntrng.fileSysMg.label = File system size +comUtlSysFsm.fileSysMntrng.fileSysThrhld.label = Filesystem Threshold +comUtlSysFsm.fileSysMntrng.fileSysUsgQty.label = File system usage +comUtlSysFsm.fileSysMntrng.mngrNm.label = Administrator name +comUtlSysFsm.fileSysMntrng.mngrEmailAddr.label = Administrator email address +comUtlSysFsm.fileSysMntrng.mntrngSttus.label = Monitoring status +comUtlSysFsm.fileSysMntrng.creatDt.label = Date last created + +comUtlSysFsm.fileSysMntrngList.seq.label = number +comUtlSysFsm.fileSysMntrngList.fileSysNm.label = File system name +comUtlSysFsm.fileSysMntrngList.fileSysManageNm.label = File system administration name +comUtlSysFsm.fileSysMntrngList.fileSysMg.label = Size +comUtlSysFsm.fileSysMntrngList.fileSysThrhld.label = Threshold +comUtlSysFsm.fileSysMntrngList.fileSysUsgQty.label = Usage +comUtlSysFsm.fileSysMntrngList.mntrngSttus.label = Status +comUtlSysFsm.fileSysMntrngList.mngrNm.label = Admin-name +comUtlSysFsm.fileSysMntrngList.guideOne=If your OS is Window 10, you need to run Eclipse as an administrator +comUtlSysFsm.fileSysMntrngList.guideTwo=Globals.OsType needs to be changed in globals.properties to suit the environment you are using on UNIX or WINDOWS. <br> The differences in system capacity paths between WINDOW and UNIX are also visible at the top of globals.properties. + +comUtlSysFsm.fileSysMntrngLog.logInfo.label = Log information +comUtlSysFsm.fileSysMntrngLog.logId.label = Log ID +comUtlSysFsm.fileSysMntrngLog.fileSysNm.label = File system name +comUtlSysFsm.fileSysMntrngLog.fileSysManageNm.label = File system administration name +comUtlSysFsm.fileSysMntrngLog.fileSysMg.label = File system size +comUtlSysFsm.fileSysMntrngLog.fileSysThrhld.label = File system threshold +comUtlSysFsm.fileSysMntrngLog.fileSysUsgQty.label = File system usage +comUtlSysFsm.fileSysMntrngLog.mntrngSttus.label = Monitoring status +comUtlSysFsm.fileSysMntrngLog.creatDt.label = Creation date and time + +comUtlSysFsm.fileSysMntrngLogList.seq.label = number +comUtlSysFsm.fileSysMntrngLogList.fileSysNm.label = File system name +comUtlSysFsm.fileSysMntrngLogList.fileSysManageNm.label = File system administration name +comUtlSysFsm.fileSysMntrngLogList.fileSysMg.label = Size +comUtlSysFsm.fileSysMntrngLogList.fileSysThrhld.label = Threshold +comUtlSysFsm.fileSysMntrngLogList.fileSysUsgQty.label = Usage +comUtlSysFsm.fileSysMntrngLogList.mntrngSttus.label = Status +comUtlSysFsm.fileSysMntrngLogList.creatDt.label = Date created +comUtlSysFsm.fileSysMntrngLogList.mngrNm.label = Administrator name +comUtlSysFsm.fileSysMntrngLogList.validate.bgnDe = Search start date +comUtlSysFsm.fileSysMntrngLogList.validate.endDe = Search end date +comUtlSysFsm.fileSysMntrngLogList.validate.bgnDeHourendDeHour = The search end date can not be earlier than the search start date. +comUtlSysFsm.fileSysMntrngLogList.select = Please select +comUtlSysFsm.fileSysMntrngLogList.list = list + +#EgovFileSysMntrngRegist +comUtlSysFsm.fileSysMntrngRegist.notApplicableFileSysTrue = The file system name is invalid. +comUtlSysFsm.fileSysMntrngRegist.fileSysMg = Click on the File System Check button to check the size of the file system. +comUtlSysFsm.fileSysMntrngRegist.fileSysThrhldG = You must enter a file system threshold of 1G or more. +comUtlSysFsm.fileSysMntrngRegist.fileSysThrhldLimit = The file system threshold can not be greater than the file system size. +comUtlSysFsm.fileSysMntrngRegist.selectFileSysMg = Check the file system + +#EgovFileSysMntrngUpdt +comUtlSysFsm.fileSysMntrngUpdt.fileSysMg = You must enter a file system size of 1G or more. +comUtlSysFsm.fileSysMntrngUpdt.fileSysThrhldG = You must enter a file system threshold of 1G or more. +comUtlSysFsm.fileSysMntrngUpdt.fileSysThrhldLimit = The file system threshold can not be greater than the file system size. +comUtlSysFsm.fileSysMntrngUpdt.tableSummary = This table is used to modify file system monitoring target information. It consists of file system name, file system management name, file system size, file system threshold, administrator name, and administrator e-mail address information. \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/fsm/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/fsm/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/fsm/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/fsm/message_ko.properties (revision 7) @@ -0,0 +1,62 @@ +#\ud30c\uc77c\uc2dc\uc2a4\ud15c\ubaa8\ub2c8\ud130\ub9c1# +comUtlSysFsm.fileSysMntrng.title = \ud30c\uc77c\uc2dc\uc2a4\ud15c\ubaa8\ub2c8\ud130\ub9c1 +comUtlSysFsm.fileSysMntrngLog.title = \ud30c\uc77c\uc2dc\uc2a4\ud15c\ubaa8\ub2c8\ud130\ub9c1\ub85c\uadf8 + +comUtlSysFsm.fileSysMntrng.fileSysNm.label=\ud30c\uc77c\uc2dc\uc2a4\ud15c\uba85 +comUtlSysFsm.fileSysMntrng.fileSysManageNm.label=\ud30c\uc77c\uc2dc\uc2a4\ud15c\uad00\ub9ac\uba85 +comUtlSysFsm.fileSysMntrng.fileSysMg.label=\ud30c\uc77c\uc2dc\uc2a4\ud15c \ud06c\uae30 +comUtlSysFsm.fileSysMntrng.fileSysThrhld.label=\ud30c\uc77c\uc2dc\uc2a4\ud15c \uc784\uacc4\uce58 +comUtlSysFsm.fileSysMntrng.fileSysUsgQty.label=\ud30c\uc77c\uc2dc\uc2a4\ud15c \uc0ac\uc6a9\ub7c9 +comUtlSysFsm.fileSysMntrng.mngrNm.label=\uad00\ub9ac\uc790\uba85 +comUtlSysFsm.fileSysMntrng.mngrEmailAddr.label=\uad00\ub9ac\uc790\uc774\uba54\uc77c\uc8fc\uc18c +comUtlSysFsm.fileSysMntrng.mntrngSttus.label=\ubaa8\ub2c8\ud130\ub9c1\uc0c1\ud0dc +comUtlSysFsm.fileSysMntrng.creatDt.label=\ub9c8\uc9c0\ub9c9 \uc0dd\uc131\uc77c\uc2dc + +comUtlSysFsm.fileSysMntrngList.seq.label=\ubc88\ud638 +comUtlSysFsm.fileSysMntrngList.fileSysNm.label=\ud30c\uc77c\uc2dc\uc2a4\ud15c\uba85 +comUtlSysFsm.fileSysMntrngList.fileSysManageNm.label=\ud30c\uc77c\uc2dc\uc2a4\ud15c\uad00\ub9ac\uba85 +comUtlSysFsm.fileSysMntrngList.fileSysMg.label=\ud06c\uae30 +comUtlSysFsm.fileSysMntrngList.fileSysThrhld.label=\uc784\uacc4\uce58 +comUtlSysFsm.fileSysMntrngList.fileSysUsgQty.label=\uc0ac\uc6a9\ub7c9 +comUtlSysFsm.fileSysMntrngList.mntrngSttus.label=\uc0c1\ud0dc +comUtlSysFsm.fileSysMntrngList.mngrNm.label=\uad00\ub9ac\uc790\uba85 +comUtlSysFsm.fileSysMntrngList.guideOne=\uc6b4\uc601\uccb4\uc81c\uac00 \uc708\ub3c4\uc6b0 10\uc77c \uacbd\uc6b0, \uc774\ud074\ub9bd\uc2a4\ub97c \uad00\ub9ac\uc790 \uad8c\ud55c\uc73c\ub85c \uc2e4\ud589\ud574\uc57c \ud569\ub2c8\ub2e4. +comUtlSysFsm.fileSysMntrngList.guideTwo=globals.properties\uc5d0\uc11c Globals.OsType\uc744 UNIX \ub610\ub294 WINDOWS\uc5d0 \uc0ac\uc6a9\uc911\uc778 \ud658\uacbd\uc5d0 \ub9de\uac8c \ubcc0\uacbd\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. <br> WINDOW\uc640 UNIX\uc758 \uc2dc\uc2a4\ud15c \uc6a9\ub7c9 \uacbd\ub85c\uc758 \ucc28\uc774\ub3c4 globals.properties \uc0c1\ub2e8\uc5d0\uc11c \ud655\uc778 \uac00\ub2a5\ud569\ub2c8\ub2e4. + +comUtlSysFsm.fileSysMntrngLog.logInfo.label=\ub85c\uadf8\uc815\ubcf4 +comUtlSysFsm.fileSysMntrngLog.logId.label=\ub85c\uadf8ID +comUtlSysFsm.fileSysMntrngLog.fileSysNm.label=\ud30c\uc77c\uc2dc\uc2a4\ud15c\uba85 +comUtlSysFsm.fileSysMntrngLog.fileSysManageNm.label=\ud30c\uc77c\uc2dc\uc2a4\ud15c\uad00\ub9ac\uba85 +comUtlSysFsm.fileSysMntrngLog.fileSysMg.label=\ud30c\uc77c\uc2dc\uc2a4\ud15c \ud06c\uae30 +comUtlSysFsm.fileSysMntrngLog.fileSysThrhld.label=\ud30c\uc77c\uc2dc\uc2a4\ud15c \uc784\uacc4\uce58 +comUtlSysFsm.fileSysMntrngLog.fileSysUsgQty.label=\ud30c\uc77c\uc2dc\uc2a4\ud15c \uc0ac\uc6a9\ub7c9 +comUtlSysFsm.fileSysMntrngLog.mntrngSttus.label=\ubaa8\ub2c8\ud130\ub9c1\uc0c1\ud0dc +comUtlSysFsm.fileSysMntrngLog.creatDt.label=\uc0dd\uc131\uc77c\uc2dc + +comUtlSysFsm.fileSysMntrngLogList.seq.label=\ubc88\ud638 +comUtlSysFsm.fileSysMntrngLogList.fileSysNm.label=\ud30c\uc77c\uc2dc\uc2a4\ud15c\uba85 +comUtlSysFsm.fileSysMntrngLogList.fileSysManageNm.label=\ud30c\uc77c\uc2dc\uc2a4\ud15c\uad00\ub9ac\uba85 +comUtlSysFsm.fileSysMntrngLogList.fileSysMg.label=\ud06c\uae30 +comUtlSysFsm.fileSysMntrngLogList.fileSysThrhld.label=\uc784\uacc4\uce58 +comUtlSysFsm.fileSysMntrngLogList.fileSysUsgQty.label=\uc0ac\uc6a9\ub7c9 +comUtlSysFsm.fileSysMntrngLogList.mntrngSttus.label=\uc0c1\ud0dc +comUtlSysFsm.fileSysMntrngLogList.creatDt.label=\uc0dd\uc131\uc77c\uc2dc +comUtlSysFsm.fileSysMntrngLogList.mngrNm.label=\uad00\ub9ac\uc790\uba85 +comUtlSysFsm.fileSysMntrngLogList.validate.bgnDe=\uac80\uc0c9\uc2dc\uc791\uc77c\uc790 +comUtlSysFsm.fileSysMntrngLogList.validate.endDe=\uac80\uc0c9\uc885\ub8cc\uc77c\uc790 +comUtlSysFsm.fileSysMntrngLogList.validate.bgnDeHourendDeHour=\uac80\uc0c9\uc885\ub8cc\uc77c\uc2dc\uac00 \uac80\uc0c9\uc2dc\uc791\uc77c\uc2dc\ubcf4\ub2e4 \ube60\ub97c\uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +comUtlSysFsm.fileSysMntrngLogList.select=\uc120\ud0dd\ud558\uc138\uc694 +comUtlSysFsm.fileSysMntrngLogList.list=\ubaa9\ub85d + +#EgovFileSysMntrngRegist +comUtlSysFsm.fileSysMntrngRegist.notApplicableFileSysTrue=\ud30c\uc77c\uc2dc\uc2a4\ud15c\uba85\uc774 \uc62c\ubc14\ub974\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. +comUtlSysFsm.fileSysMntrngRegist.fileSysMg=\ud30c\uc77c\uc2dc\uc2a4\ud15c\ud655\uc778 \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uc5ec, \ud30c\uc77c\uc2dc\uc2a4\ud15c\uc758 \ud06c\uae30\ub97c \ud655\uc778\ud574\uc57c \ud569\ub2c8\ub2e4. +comUtlSysFsm.fileSysMntrngRegist.fileSysThrhldG=\ud30c\uc77c\uc2dc\uc2a4\ud15c \uc784\uacc4\uce58\ub97c 1G \uc774\uc0c1 \uc785\ub825\ud558\uc5ec\uc57c \ud569\ub2c8\ub2e4. +comUtlSysFsm.fileSysMntrngRegist.fileSysThrhldLimit=\ud30c\uc77c\uc2dc\uc2a4\ud15c \uc784\uacc4\uce58\ub294 \ud30c\uc77c\uc2dc\uc2a4\ud15c \ud06c\uae30\ubcf4\ub2e4 \ud074 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +comUtlSysFsm.fileSysMntrngRegist.selectFileSysMg=\ud30c\uc77c\uc2dc\uc2a4\ud15c\ud655\uc778 + +#EgovFileSysMntrngUpdt +comUtlSysFsm.fileSysMntrngUpdt.fileSysMg=\ud30c\uc77c\uc2dc\uc2a4\ud15c \ud06c\uae30\ub97c 1G \uc774\uc0c1 \uc785\ub825\ud558\uc5ec\uc57c \ud569\ub2c8\ub2e4. +comUtlSysFsm.fileSysMntrngUpdt.fileSysThrhldG=\ud30c\uc77c\uc2dc\uc2a4\ud15c \uc784\uacc4\uce58\ub97c 1G \uc774\uc0c1 \uc785\ub825\ud558\uc5ec\uc57c \ud569\ub2c8\ub2e4. +comUtlSysFsm.fileSysMntrngUpdt.fileSysThrhldLimit=\ud30c\uc77c\uc2dc\uc2a4\ud15c \uc784\uacc4\uce58\ub294 \ud30c\uc77c\uc2dc\uc2a4\ud15c \ud06c\uae30\ubcf4\ub2e4 \ud074 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +comUtlSysFsm.fileSysMntrngUpdt.tableSummary=\uc774 \ud45c\ub294 \ud30c\uc77c\uc2dc\uc2a4\ud15c\ubaa8\ub2c8\ud130\ub9c1 \ub300\uc0c1 \uc815\ubcf4\ub97c \uc218\uc815\ud558\uae30 \uc704\ud55c \ud45c\uc774\uba70, \ud30c\uc77c\uc2dc\uc2a4\ud15c\uba85, \ud30c\uc77c\uc2dc\uc2a4\ud15c\uad00\ub9ac\uba85, \ud30c\uc77c\uc2dc\uc2a4\ud15c \ud06c\uae30, \ud30c\uc77c\uc2dc\uc2a4\ud15c \uc784\uacc4\uce58, \uad00\ub9ac\uc790\uba85, \uad00\ub9ac\uc790\uc774\uba54\uc77c\uc8fc\uc18c \uc815\ubcf4\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4 . \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/fsm/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/htm/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/htm/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/htm/message_en.properties (revision 7) @@ -0,0 +1,31 @@ +#HTTP Monitoring# +comUtlSysHtm.comUtlHttpMonList.title = HTTP Monitoring List +comUtlSysHtm.comUtlHttpMonDetail.title = HTTP Monitoring Details +comUtlSysHtm.comUtlHttpMonDetail.summary = This table provides the target information for HTTP service monitoring and consists of Web service termination, system URL, status, administrator name, and administrator email information. +comUtlSysHtm.comUtlHttpMonModify.title = Modify HTTP Monitoring +comUtlSysHtm.comUtlHttpMonModify.summary = This table provides the target information for HTTP service monitoring and consists of Web service termination, system URL, status, administrator name, and administrator email information. +comUtlSysHtm.comUtlHttpMonRegist.title = Regist HTTP Monitoring +comUtlSysHtm.comUtlHttpMonLogList.title = HTTP Monitoring Log List +comUtlSysHtm.comUtlHttpMonLogDetail.title = HTTP Monitoring Log Details +comUtlSysHtm.comUtlHttpMonLogDetail.summary = This table provides the target information for HTTP service monitoring and consists of Web service termination, system URL, status, administrator name, and administrator email information. + +comUtlSysHtm.comUtlHttpMon.period = Period +comUtlSysHtm.comUtlHttpMon.seq = No +comUtlSysHtm.comUtlHttpMon.logID = LogID +comUtlSysHtm.comUtlHttpMon.processID = Process ID +comUtlSysHtm.comUtlHttpMon.webService = Web Service +comUtlSysHtm.comUtlHttpMon.systemURL = System URL +comUtlSysHtm.comUtlHttpMon.managerName = Manager +comUtlSysHtm.comUtlHttpMon.managerEmail = Email +comUtlSysHtm.comUtlHttpMon.createdDateTime = Created Datetime +comUtlSysHtm.comUtlHttpMon.lastCreatedDateTime = Lastly Created Datetime +comUtlSysHtm.comUtlHttpMon.status = Status +comUtlSysHtm.comUtlHttpMon.monitoringDatetime = Monitoring Datetime +comUtlSysHtm.comUtlHttpMon.logInfo = Log + +comUtlSysHtm.comUtlHttpMon.searchStartDate = Search start date +comUtlSysHtm.comUtlHttpMon.searchStartHour = Search start hour +comUtlSysHtm.comUtlHttpMon.searchStartMin = Search start minute +comUtlSysHtm.comUtlHttpMon.searchEndDate = Search end date +comUtlSysHtm.comUtlHttpMon.searchEndHour = Search end hour +comUtlSysHtm.comUtlHttpMon.searchEndMin = Search end minute \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/htm/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/htm/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/htm/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/htm/message_ko.properties (revision 7) @@ -0,0 +1,31 @@ +#HTTP\ubaa8\ub2c8\ud130\ub9c1# +comUtlSysHtm.comUtlHttpMonList.title = HTTP\ubaa8\ub2c8\ud130\ub9c1 \ubaa9\ub85d +comUtlSysHtm.comUtlHttpMonDetail.title = HTTP\ubaa8\ub2c8\ud130\ub9c1 \uc0c1\uc138\uc870\ud68c +comUtlSysHtm.comUtlHttpMonDetail.summary = \uc774 \ud45c\ub294 HTTP\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1 \ub300\uc0c1 \uc815\ubcf4\ub97c \uc81c\uacf5\ud558\uba70, \uc6f9\uc11c\ube44\uc2a4\uc885\ub8cc, \uc2dc\uc2a4\ud15cURL, \uc0c1\ud0dc, \uad00\ub9ac\uc790\uba85, \uad00\ub9ac\uc790\uc774\uba54\uc77c \uc815\ubcf4\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4 . +comUtlSysHtm.comUtlHttpMonModify.title = HTTP\ubaa8\ub2c8\ud130\ub9c1 \uc218\uc815 +comUtlSysHtm.comUtlHttpMonModify.summary = \uc774 \ud45c\ub294 HTTP\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1 \ub300\uc0c1 \uc815\ubcf4\ub97c \uc81c\uacf5\ud558\uba70, \uc6f9\uc11c\ube44\uc2a4\uc885\ub8cc, \uc2dc\uc2a4\ud15cURL, \uc0c1\ud0dc, \uad00\ub9ac\uc790\uba85, \uad00\ub9ac\uc790\uc774\uba54\uc77c \uc815\ubcf4\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4 . +comUtlSysHtm.comUtlHttpMonRegist.title = HTTP\ubaa8\ub2c8\ud130\ub9c1 \ub4f1\ub85d +comUtlSysHtm.comUtlHttpMonLogList.title = HTTP\ubaa8\ub2c8\ud130\ub9c1\ub85c\uadf8 \ubaa9\ub85d +comUtlSysHtm.comUtlHttpMonLogDetail.title = HTTP\ubaa8\ub2c8\ud130\ub9c1\ub85c\uadf8 \uc0c1\uc138\uc870\ud68c +comUtlSysHtm.comUtlHttpMonLogDetail.summary = \uc774 \ud45c\ub294 HTTP\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1 \ub300\uc0c1 \uc815\ubcf4\ub97c \uc81c\uacf5\ud558\uba70, \ub85c\uadf8ID, \ud504\ub85c\uc138\uc2a4ID, \uc6f9\uc11c\ube44\uc2a4\uc885\ub958, \uc0c1\ud0dc, \ub85c\uadf8 \uc815\ubcf4, \ub9c8\uc9c0\ub9c9\uc0dd\uc131\uc77c\uc2dc\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4 . + +comUtlSysHtm.comUtlHttpMon.period = \uae30\uac04 +comUtlSysHtm.comUtlHttpMon.seq = \uc21c\ubc88 +comUtlSysHtm.comUtlHttpMon.logID = \ub85c\uadf8ID +comUtlSysHtm.comUtlHttpMon.processID = \ud504\ub85c\uc138\uc2a4ID +comUtlSysHtm.comUtlHttpMon.webService = \uc6f9\uc11c\ube44\uc2a4\uc885\ub958 +comUtlSysHtm.comUtlHttpMon.systemURL = \uc2dc\uc2a4\ud15cURL +comUtlSysHtm.comUtlHttpMon.managerName = \uad00\ub9ac\uc790\uba85 +comUtlSysHtm.comUtlHttpMon.managerEmail = \uad00\ub9ac\uc790\uc774\uba54\uc77c +comUtlSysHtm.comUtlHttpMon.createdDateTime = \uc0dd\uc131\uc77c\uc2dc +comUtlSysHtm.comUtlHttpMon.lastCreatedDateTime = \ub9c8\uc9c0\ub9c9 \uc0dd\uc131\uc77c\uc2dc +comUtlSysHtm.comUtlHttpMon.status = \uc0c1\ud0dc +comUtlSysHtm.comUtlHttpMon.monitoringDatetime = \ubaa8\ub2c8\ud130\ub9c1\uc2dc\uac01 +comUtlSysHtm.comUtlHttpMon.logInfo = \ub85c\uadf8 + +comUtlSysHtm.comUtlHttpMon.searchStartDate = \uac80\uc0c9\uc2dc\uc791\uc77c\uc790 +comUtlSysHtm.comUtlHttpMon.searchStartHour = \uac80\uc0c9\uc2dc\uc791\uc2dc\uac04 +comUtlSysHtm.comUtlHttpMon.searchStartMin = \uac80\uc0c9\uc2dc\uc791\ubd84 +comUtlSysHtm.comUtlHttpMon.searchEndDate = \uac80\uc0c9\uc885\ub8cc\uc77c\uc790 +comUtlSysHtm.comUtlHttpMon.searchEndHour = \uac80\uc0c9\uc885\ub8cc\uc2dc\uac04 +comUtlSysHtm.comUtlHttpMon.searchEndMin = \uac80\uc0c9\uc885\ub8cc\ubd84 \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/htm/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/pxy/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/pxy/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/pxy/message_en.properties (revision 7) @@ -0,0 +1,47 @@ +# Proxy service # +comUtlSysPxy.proxyLog.title = Proxy log +comUtlSysPxy.proxySvc.title = Proxy Settings + +comUtlSysPxy.proxySvc.proxyId.label = Proxy ID +comUtlSysPxy.proxySvc.proxyNm.label = proxy name +comUtlSysPxy.proxySvc.proxyIp.label = Proxy IP +comUtlSysPxy.proxySvc.proxyPort.label = Proxy Port +comUtlSysPxy.proxySvc.trgetSvcNm.label = target service name +comUtlSysPxy.proxySvc.svcDc.label = Service Description +comUtlSysPxy.proxySvc.svcIp.label = Service IP +comUtlSysPxy.proxySvc.svcPort.label = Service Port +comUtlSysPxy.proxySvc.svcSttusNm.label = Service Status + +comUtlSysPxy.proxySvcList.proxyId.label = Proxy ID +comUtlSysPxy.proxySvcList.proxyNm.label = proxy name +comUtlSysPxy.proxySvcList.proxyPort.label = Proxy Port +comUtlSysPxy.proxySvcList.trgetSvcNm.label = target service name +comUtlSysPxy.proxySvcList.svcIp.label = Service IP/Port +comUtlSysPxy.proxySvcList.svcSttusNm.label = Status +comUtlSysPxy.proxySvcList.checknum = Date format is invalid +comUtlSysPxy.proxySvcList.strTmpFromDateEndDate = The start date can not be greater than the end date +comUtlSysPxy.proxySvcList.pmProxyLogVO.strStartDate = Proxy log start date +comUtlSysPxy.proxySvcList.pmProxyLogVO.strEndDate = Proxy log end date + +comUtlSysPxy.proxyLog.period.label = duration +comUtlSysPxy.proxyLog.proxyId.label = Proxy ID +comUtlSysPxy.proxyLog.proxyNm.label = Target Service +comUtlSysPxy.proxyLog.clntPort.label = Proxy Port +comUtlSysPxy.proxyLog.clntIp.label = Client IP +comUtlSysPxy.proxyLog.conectTime.label =connected time +comUtlSysPxy.proxyLog.log = Log + +comUtlSysPxy.proxySvcDetail.title=Proxy Detail View +comUtlSysPxy.proxySvcDetail.summary = Provides detailed information about proxy settings. + +comUtlSysPxy.proxySvcUpdtl.title=Change Proxy Settings +comUtlSysPxy.proxySvcUpdt.summary = Modify the proxy configuration information. +comUtlSysPxy.proxySvcUpdt.ipValueException = is the exception ip. +comUtlSysPxy.proxySvcUpdt.ipFormalException = IP format mismatch. +comUtlSysPxy.proxySvcUpdt.svcSttus.run = Normal +comUtlSysPxy.proxySvcUpdt.svcSttus.stop = Stop + +comUtlSysPxy.proxySvcRegist.ipValueException = is the exception ip. +comUtlSysPxy.proxySvcRegist.ipFormalException = IP format mismatch. +comUtlSysPxy.proxySvcRegist.svcSttus.run = Normal +comUtlSysPxy.proxySvcRegist.svcSttus.stop = Stop \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/pxy/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/pxy/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/pxy/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/pxy/message_ko.properties (revision 7) @@ -0,0 +1,47 @@ +#\ud504\ub85d\uc2dc\uc11c\ube44\uc2a4# +comUtlSysPxy.proxyLog.title=\ud504\ub85d\uc2dc\ub85c\uadf8 +comUtlSysPxy.proxySvc.title=\ud504\ub85d\uc2dc\uc124\uc815 + +comUtlSysPxy.proxySvc.proxyId.label=\ud504\ub85d\uc2dcID +comUtlSysPxy.proxySvc.proxyNm.label=\ud504\ub85d\uc2dc\uba85 +comUtlSysPxy.proxySvc.proxyIp.label=\ud504\ub85d\uc2dcIP +comUtlSysPxy.proxySvc.proxyPort.label=\ud504\ub85d\uc2dcPort +comUtlSysPxy.proxySvc.trgetSvcNm.label=\ub300\uc0c1\uc11c\ube44\uc2a4\uba85 +comUtlSysPxy.proxySvc.svcDc.label=\uc11c\ube44\uc2a4\uc124\uba85 +comUtlSysPxy.proxySvc.svcIp.label=\uc11c\ube44\uc2a4IP +comUtlSysPxy.proxySvc.svcPort.label=\uc11c\ube44\uc2a4Port +comUtlSysPxy.proxySvc.svcSttusNm.label=\uc11c\ube44\uc2a4\uc0c1\ud0dc + +comUtlSysPxy.proxySvcList.proxyId.label=\ud504\ub85d\uc2dcID +comUtlSysPxy.proxySvcList.proxyNm.label=\ud504\ub85d\uc2dc\uba85 +comUtlSysPxy.proxySvcList.proxyPort.label=\ud504\ub85d\uc2dcPort +comUtlSysPxy.proxySvcList.trgetSvcNm.label=\ub300\uc0c1\uc11c\ube44\uc2a4\uba85 +comUtlSysPxy.proxySvcList.svcIp.label=\uc11c\ube44\uc2a4IP/Port +comUtlSysPxy.proxySvcList.svcSttusNm.label=\uc0c1\ud0dc +comUtlSysPxy.proxySvcList.checknum=\ub0a0\uc9dc \ud615\uc2dd\uc774 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4 +comUtlSysPxy.proxySvcList.strTmpFromDateEndDate=\uc2dc\uc791\uc77c\uc790\ub294 \uc885\ub8cc\uc77c\uc790\ubcf4\ub2e4 \ud074 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4 +comUtlSysPxy.proxySvcList.pmProxyLogVO.strStartDate=\ud504\ub85d\uc2dc\ub85c\uadf8 \uc2dc\uc791\uc77c\uc790 +comUtlSysPxy.proxySvcList.pmProxyLogVO.strEndDate=\ud504\ub85d\uc2dc\ub85c\uadf8 \uc885\ub8cc\uc77c\uc790 + +comUtlSysPxy.proxyLog.period.label=\uae30\uac04 +comUtlSysPxy.proxyLog.proxyId.label=\ud504\ub85d\uc2dcID +comUtlSysPxy.proxyLog.proxyNm.label=\ub300\uc0c1\uc11c\ube44\uc2a4 +comUtlSysPxy.proxyLog.clntPort.label=\ud504\ub85d\uc2dcPort +comUtlSysPxy.proxyLog.clntIp.label=\ud074\ub77c\uc774\uc5b8\ud2b8IP +comUtlSysPxy.proxyLog.conectTime.label=\uc811\uc18d\uc77c\uc2dc +comUtlSysPxy.proxyLog.log=\ub85c\uadf8 + +comUtlSysPxy.proxySvcDetail.title=\ud504\ub85d\uc2dc\uc124\uc815 \uc0c1\uc138\uc870\ud68c +comUtlSysPxy.proxySvcDetail.summary=\ud504\ub85d\uc2dc\uc124\uc815\uc5d0 \ub300\ud55c \uc0c1\uc138\uc815\ubcf4\ub97c \uc81c\uacf5\ud55c\ub2e4. + +comUtlSysPxy.proxySvcUpdtl.title=\ud504\ub85d\uc2dc\uc124\uc815 \uc218\uc815 +comUtlSysPxy.proxySvcUpdt.summary=\ud504\ub85d\uc2dc\uc124\uc815 \uc815\ubcf4\ub97c \uc218\uc815\ud55c\ub2e4. +comUtlSysPxy.proxySvcUpdt.ipValueException=\ub294 \uc608\uc678 \uc544\uc774\ud53c \uc785\ub2c8\ub2e4. +comUtlSysPxy.proxySvcUpdt.ipFormalException=IP \ud615\uc2dd\uc774 \uc77c\uce58 \ud558\uc9c0\uc54a\uc2b5\ub2c8\ub2e4. +comUtlSysPxy.proxySvcUpdt.svcSttus.run=\uc815\uc0c1 +comUtlSysPxy.proxySvcUpdt.svcSttus.stop=\uc911\uc9c0 + +comUtlSysPxy.proxySvcRegist.ipValueException=\ub294 \uc608\uc678 \uc544\uc774\ud53c \uc785\ub2c8\ub2e4. +comUtlSysPxy.proxySvcRegist.ipFormalException=IP \ud615\uc2dd\uc774 \uc77c\uce58 \ud558\uc9c0\uc54a\uc2b5\ub2c8\ub2e4. +comUtlSysPxy.proxySvcRegist.svcSttus.run=\uc815\uc0c1 +comUtlSysPxy.proxySvcRegist.svcSttus.stop=\uc911\uc9c0 \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/pxy/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/rsc/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/rsc/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/rsc/message_en.properties (revision 7) @@ -0,0 +1,7 @@ +#Login Sesion Check# +utlSysRsc.loginSessionCheck.loginSessionCheck=Login Session Check +utlSysRsc.loginSessionCheck.validate.confirmSetLoginSession=Are you sure? +utlSysRsc.loginSessionCheck.url=URL +utlSysRsc.loginSessionCheck.sessionURL=Session URL +utlSysRsc.loginSessionCheck.set=SET +utlSysRsc.loginSessionCheck.sessionView=Move \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/rsc/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/rsc/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/rsc/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/rsc/message_ko.properties (revision 7) @@ -0,0 +1,7 @@ +#\ub85c\uadf8\uc778\uc138\uc158\uc815\ubcf4\uccb4\ud06c# +utlSysRsc.loginSessionCheck.loginSessionCheck=\ub85c\uadf8\uc778 \uc138\uc158\uc815\ubcf4 \uccb4\ud06c +utlSysRsc.loginSessionCheck.validate.confirmSetLoginSession=\uc124\uc815\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? +utlSysRsc.loginSessionCheck.url=URL +utlSysRsc.loginSessionCheck.sessionURL=\uc138\uc158 URL +utlSysRsc.loginSessionCheck.set=\uc124\uc815 +utlSysRsc.loginSessionCheck.sessionView=\uc774\ub3d9 \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/rsc/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/nsm/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/nsm/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/nsm/message_en.properties (revision 7) @@ -0,0 +1,37 @@ +#Network Service Monitoring# +comUtlSysNsm.ntwrkSvcMntrng.title = Network Service Monitoring +comUtlSysNsm.ntwrkSvcMntrngLog.title = Network Service Monitoring Log + +comUtlSysNsm.ntwrkSvcMntrng.sysIp.label=System IP +comUtlSysNsm.ntwrkSvcMntrng.sysPort.label=System Port +comUtlSysNsm.ntwrkSvcMntrng.sysNm.label=System Name +comUtlSysNsm.ntwrkSvcMntrng.mngrNm.label=Manager Name +comUtlSysNsm.ntwrkSvcMntrng.mngrEmailAddr.label=Admin Email +comUtlSysNsm.ntwrkSvcMntrng.mntrngSttus.label=Monitoring Status +comUtlSysNsm.ntwrkSvcMntrng.creatDt.label=Creation Date +comUtlSysNsm.ntwrkSvcMntrng.validate.alert.duplicate=There are duplicate network services IP and Port. + +comUtlSysNsm.ntwrkSvcMntrngList.num.label=Num. +comUtlSysNsm.ntwrkSvcMntrngList.sysIp.label=System IP +comUtlSysNsm.ntwrkSvcMntrngList.sysPort.label=System Port +comUtlSysNsm.ntwrkSvcMntrngList.sysNm.label=System Name +comUtlSysNsm.ntwrkSvcMntrngList.mntrngSttus.label=Monitoring Status +comUtlSysNsm.ntwrkSvcMntrngList.mngrNm.label=Manager Name + +comUtlSysNsm.ntwrkSvcMntrngLog.logId.label=Log ID +comUtlSysNsm.ntwrkSvcMntrngLog.logInfo.label=Log Information +comUtlSysNsm.ntwrkSvcMntrngLog.num.label=Num. +comUtlSysNsm.ntwrkSvcMntrngLog.sysIp.label=System IP +comUtlSysNsm.ntwrkSvcMntrngLog.sysPort.label=System Port +comUtlSysNsm.ntwrkSvcMntrngLog.sysNm.label=System Name +comUtlSysNsm.ntwrkSvcMntrngLog.mntrngSttus.label=Monitoring Status +comUtlSysNsm.ntwrkSvcMntrngLog.mngrNm.label=Manager Name +comUtlSysNsm.ntwrkSvcMntrngLog.creatDt.label=Created Date +comUtlSysNsm.ntwrkSvcMntrngLog.validate.alert.bgnDe=Search Start Date +comUtlSysNsm.ntwrkSvcMntrngLog.validate.alert.endDe=Search End Date +comUtlSysNsm.ntwrkSvcMntrngLog.validate.alert.diffBgnDeEndDe=The search end date can not be earlier than the search start date. +comUtlSysNsm.ntwrkSvcMntrngLog.title.searchBgnDe=Enter Start Date +comUtlSysNsm.ntwrkSvcMntrngLog.title.searchBgnHour=Select Start Time +comUtlSysNsm.ntwrkSvcMntrngLog.title.searchEndDe=Enter End Date +comUtlSysNsm.ntwrkSvcMntrngLog.title.searchEndHour=Select End Time +comUtlSysNsm.ntwrkSvcMntrngLog.title.searchWrd=Enter Search Terms Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/nsm/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/nsm/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/nsm/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/nsm/message_ko.properties (revision 7) @@ -0,0 +1,40 @@ +#\ub124\ud2b8\uc6cc\ud06c\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1# +comUtlSysNsm.ntwrkSvcMntrng.title = \ub124\ud2b8\uc6cc\ud06c\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1 +comUtlSysNsm.ntwrkSvcMntrngLog.title = \ub124\ud2b8\uc6cc\ud06c\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1\ub85c\uadf8 + +comUtlSysNsm.ntwrkSvcMntrng.sysIp.label=\uc2dc\uc2a4\ud15cIP +comUtlSysNsm.ntwrkSvcMntrng.sysPort.label=\uc2dc\uc2a4\ud15c\ud3ec\ud2b8 +comUtlSysNsm.ntwrkSvcMntrng.sysNm.label=\uc2dc\uc2a4\ud15c\uba85 +comUtlSysNsm.ntwrkSvcMntrng.mngrNm.label=\uad00\ub9ac\uc790\uba85 +comUtlSysNsm.ntwrkSvcMntrng.mngrEmailAddr.label=\uad00\ub9ac\uc790\uc774\uba54\uc77c\uc8fc\uc18c +comUtlSysNsm.ntwrkSvcMntrng.mntrngSttus.label=\ubaa8\ub2c8\ud130\ub9c1\uc0c1\ud0dc +comUtlSysNsm.ntwrkSvcMntrng.creatDt.label=\ub9c8\uc9c0\ub9c9 \uc0dd\uc131\uc77c\uc2dc +comUtlSysNsm.ntwrkSvcMntrng.validate.alert.duplicate=\uc911\ubcf5\ub41c \ub124\ud2b8\uc6cc\ud06c\uc11c\ube44\uc2a4\uc758 IP\uc640 Port\uac00 \uc788\uc2b5\ub2c8\ub2e4. + +comUtlSysNsm.ntwrkSvcMntrngList.num.label=\ubc88\ud638 +comUtlSysNsm.ntwrkSvcMntrngList.sysIp.label=\uc2dc\uc2a4\ud15cIP +comUtlSysNsm.ntwrkSvcMntrngList.sysPort.label=\uc2dc\uc2a4\ud15c\ud3ec\ud2b8 +comUtlSysNsm.ntwrkSvcMntrngList.sysNm.label=\uc2dc\uc2a4\ud15c\uba85 +comUtlSysNsm.ntwrkSvcMntrngList.mntrngSttus.label=\ubaa8\ub2c8\ud130\ub9c1\uc0c1\ud0dc +comUtlSysNsm.ntwrkSvcMntrngList.mngrNm.label=\uad00\ub9ac\uc790\uba85 + +comUtlSysNsm.ntwrkSvcMntrngLog.logId.label=\ub85c\uadf8ID +comUtlSysNsm.ntwrkSvcMntrngLog.logInfo.label=\ub85c\uadf8\uc815\ubcf4 +comUtlSysNsm.ntwrkSvcMntrngLog.num.label=\ubc88\ud638 +comUtlSysNsm.ntwrkSvcMntrngLog.sysIp.label=\uc2dc\uc2a4\ud15cIP +comUtlSysNsm.ntwrkSvcMntrngLog.sysPort.label=\uc2dc\uc2a4\ud15c\ud3ec\ud2b8 +comUtlSysNsm.ntwrkSvcMntrngLog.sysNm.label=\uc2dc\uc2a4\ud15c\uba85 +comUtlSysNsm.ntwrkSvcMntrngLog.mntrngSttus.label=\ubaa8\ub2c8\ud130\ub9c1\uc0c1\ud0dc +comUtlSysNsm.ntwrkSvcMntrngLog.mngrNm.label=\uad00\ub9ac\uc790\uba85 +comUtlSysNsm.ntwrkSvcMntrngLog.creatDt.label=\uc0dd\uc131\uc77c\uc2dc +comUtlSysNsm.ntwrkSvcMntrngLog.validate.alert.bgnDe=\uac80\uc0c9\uc2dc\uc791\uc77c\uc790 +comUtlSysNsm.ntwrkSvcMntrngLog.validate.alert.endDe=\uac80\uc0c9\uc885\ub8cc\uc77c\uc790 +comUtlSysNsm.ntwrkSvcMntrngLog.validate.alert.diffBgnDeEndDe=\uac80\uc0c9\uc885\ub8cc\uc77c\uc2dc\uac00 \uac80\uc0c9\uc2dc\uc791\uc77c\uc2dc\ubcf4\ub2e4 \ube60\ub97c\uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +comUtlSysNsm.ntwrkSvcMntrngLog.title.searchBgnDe=\uc870\ud68c\uc2dc\uc791\uc77c\uc790 \uc785\ub825 +comUtlSysNsm.ntwrkSvcMntrngLog.title.searchBgnHour=\uc870\ud68c\uc2dc\uc791 \uc2dc\uac04 \uc120\ud0dd +comUtlSysNsm.ntwrkSvcMntrngLog.title.searchEndDe=\uc870\ud68c\uc885\ub8cc\uc77c\uc790 \uc785\ub825 +comUtlSysNsm.ntwrkSvcMntrngLog.title.searchEndHour=\uc870\ud68c\uc885\ub8cc \uc2dc\uac04 \uc120\ud0dd +comUtlSysNsm.ntwrkSvcMntrngLog.title.searchWrd=\uac80\uc0c9\uc5b4 \uc785\ub825 + + + Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/nsm/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/ssy/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/ssy/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/ssy/message_en.properties (revision 7) @@ -0,0 +1,32 @@ +#Synchrized Server# +comUtlSysSsy.download.msg=Do you want to download it? +comUtlSysSsy.sync.msg=Are you sure you want to sync? + +comUtlSysSsy.synchrn.title=Sync files +comUtlSysSsy.synchrnServer.title=Synchronization target server +comUtlSysSsy.synchrnServerFile.title=Sync target file + +comUtlSysSsy.synchrnServer.serverId.label=Server ID +comUtlSysSsy.synchrnServer.serverNm.label=Server Name +comUtlSysSsy.synchrnServer.serverIp.label=Server IP +comUtlSysSsy.synchrnServer.serverPort.label=Server Port +comUtlSysSsy.synchrnServer.ftpId.label=FTP ID +comUtlSysSsy.synchrnServer.ftpPassword.label=FTP Password +comUtlSysSsy.synchrnServer.synchrnLc.label=Sync Location +comUtlSysSsy.synchrnServer.reflctAt.label=Sync Status +comUtlSysSsy.synchrnServer.lastUpdusrId.label=registrant + +comUtlSysSsy.synchrnServer.fileSelect.label=Select File +comUtlSysSsy.synchrnServer.seq.label=num. +comUtlSysSsy.synchrnServer.fileNm.label=File Name +comUtlSysSsy.synchrnServer.fileList.label=List of files +comUtlSysSsy.synchrnServer.fileDownload.label=DownLoad +comUtlSysSsy.synchrnServer.fileDelete.label=delete +comUtlSysSsy.synchrnServer.nofile.label=Server connection is not possible + +comUtlSysSsy.synchrnServer.validate.noList=No synced target list. +comUtlSysSsy.synchrnServer.validate.noSelectedFile=No files selected. +comUtlSysSsy.synchrnServer.validate.noQueryResult=No query results found. +comUtlSysSsy.synchrnServer.synch=synchronization +comUtlSysSsy.synchrnServer.validate.exceptIP=is an exceptional IP. +comUtlSysSsy.synchrnServer.validate.misMatchIP=IP format mismatch. \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/ssy/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/ssy/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/ssy/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/ssy/message_ko.properties (revision 7) @@ -0,0 +1,32 @@ +#\ud30c\uc77c\ub3d9\uae30\ud654(\ub300\uc0c1\uc11c\ubc84)# +comUtlSysSsy.download.msg=\ub2e4\uc6b4\ub85c\ub4dc\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? +comUtlSysSsy.sync.msg=\ub3d9\uae30\ud654\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? + +comUtlSysSsy.synchrn.title=\ub3d9\uae30\ud654\ud30c\uc77c +comUtlSysSsy.synchrnServer.title=\ub3d9\uae30\ud654\ub300\uc0c1 \uc11c\ubc84 +comUtlSysSsy.synchrnServerFile.title=\ub3d9\uae30\ud654\ub300\uc0c1 \ud30c\uc77c + +comUtlSysSsy.synchrnServer.serverId.label=\uc11c\ubc84ID +comUtlSysSsy.synchrnServer.serverNm.label=\uc11c\ubc84\uba85 +comUtlSysSsy.synchrnServer.serverIp.label=\uc11c\ubc84 IP +comUtlSysSsy.synchrnServer.serverPort.label=\uc11c\ubc84 Port +comUtlSysSsy.synchrnServer.ftpId.label=FTP ID +comUtlSysSsy.synchrnServer.ftpPassword.label=FTP \ube44\ubc00\ubc88\ud638 +comUtlSysSsy.synchrnServer.synchrnLc.label=\ub3d9\uae30\ud654 \uc704\uce58 +comUtlSysSsy.synchrnServer.reflctAt.label=\ub3d9\uae30\ud654 \uc5ec\ubd80 +comUtlSysSsy.synchrnServer.lastUpdusrId.label=\ub4f1\ub85d\uc790 + +comUtlSysSsy.synchrnServer.fileSelect.label=\ud30c\uc77c \uc120\ud0dd +comUtlSysSsy.synchrnServer.seq.label=\uc21c\ubc88 +comUtlSysSsy.synchrnServer.fileNm.label=\ud30c\uc77c\uba85 +comUtlSysSsy.synchrnServer.fileList.label=\ud30c\uc77c \ubaa9\ub85d +comUtlSysSsy.synchrnServer.fileDownload.label=\ub2e4\uc6b4\ub85c\ub4dc +comUtlSysSsy.synchrnServer.fileDelete.label=\uc0ad\uc81c +comUtlSysSsy.synchrnServer.nofile.label=\uc11c\ubc84\uc811\uc18d\uc774 \ubd88\uac00\ub2a5\ud569\ub2c8\ub2e4 + +comUtlSysSsy.synchrnServer.validate.noList=\ub3d9\uae30\ud654 \ub300\uc0c1\ubaa9\ub85d\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. +comUtlSysSsy.synchrnServer.validate.noSelectedFile=\uc120\ud0dd\ub41c \ud30c\uc77c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. +comUtlSysSsy.synchrnServer.validate.noQueryResult=\uc870\ud68c\ub41c \uacb0\uacfc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. +comUtlSysSsy.synchrnServer.synch=\ub3d9\uae30\ud654 +comUtlSysSsy.synchrnServer.validate.exceptIP=\ub294 \uc608\uc678 \uc544\uc774\ud53c \uc785\ub2c8\ub2e4. +comUtlSysSsy.synchrnServer.validate.misMatchIP=IP \ud615\uc2dd\uc774 \uc77c\uce58 \ud558\uc9c0\uc54a\uc2b5\ub2c8\ub2e4. \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/ssy/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/prm/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/prm/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/prm/message_en.properties (revision 7) @@ -0,0 +1,24 @@ +#Process Monitoring# +comUtlSysPrm.comUtlProcessMonList.title = Process Monitoring List +comUtlSysPrm.comUtlProcessMonDetail.title = Process Monitoring Details +comUtlSysPrm.comUtlProcessMonDetail.summary = This table provides information about the process monitoring targets and consists of process name, status, administrator name, and administrator email. +comUtlSysPrm.comUtlProcessMonModify.title = Modifying Process Monitoring +comUtlSysPrm.comUtlProcessMonRegist.title = Register Process Monitoring +comUtlSysPrm.comUtlProcessMonLogList.title = Process Monitoring Log List +comUtlSysPrm.comUtlProcessMonLogDetail.title = Process Monitoring Log Details +comUtlSysPrm.comUtlProcessMonLogDetail.summary = This table provides the process monitoring log target information and consists of the logID, process ID, process name, status, log, and the last generation date. + +comUtlSysPrm.comUtlProcessMon.seq = No +comUtlSysPrm.comUtlProcessMon.logID = LogID +comUtlSysPrm.comUtlProcessMon.processID = Process ID +comUtlSysPrm.comUtlProcessMon.processName = Process Name +comUtlSysPrm.comUtlProcessMon.status = Status +comUtlSysPrm.comUtlProcessMon.logInfo = Log +comUtlSysPrm.comUtlProcessMon.managerName = Manager +comUtlSysPrm.comUtlProcessMon.managerEmail = Email +comUtlSysPrm.comUtlProcessMon.createdDateTime = Created Datetime +comUtlSysPrm.comUtlProcessMon.lastCreatedDateTime = Lastly Created Datetime +comUtlSysPrm.comUtlProcessMon.searchBgnDe = Enter Start Date +comUtlSysPrm.comUtlProcessMon.searchBgnHour = Select Start Hour +comUtlSysPrm.comUtlProcessMon.searchEndDe = Enter End Date +comUtlSysPrm.comUtlProcessMon.searchEndHour = Select End hour \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/prm/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/prm/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/prm/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/prm/message_ko.properties (revision 7) @@ -0,0 +1,24 @@ +#\ud504\ub85c\uc138\uc2a4\ubaa8\ub2c8\ud130\ub9c1# +comUtlSysPrm.comUtlProcessMonList.title = \ud504\ub85c\uc138\uc2a4\ubaa8\ub2c8\ud130\ub9c1 \ubaa9\ub85d +comUtlSysPrm.comUtlProcessMonDetail.title = \ud504\ub85c\uc138\uc2a4\ubaa8\ub2c8\ud130\ub9c1 \uc0c1\uc138\uc870\ud68c +comUtlSysPrm.comUtlProcessMonDetail.summary = \uc774 \ud45c\ub294 \ud504\ub85c\uc138\uc2a4\ubaa8\ub2c8\ud130\ub9c1 \ub300\uc0c1 \uc815\ubcf4\ub97c \uc81c\uacf5\ud558\uba70, \ud504\ub85c\uc138\uc2a4\uba85, \uc0c1\ud0dc, \uad00\ub9ac\uc790\uba85, \uad00\ub9ac\uc790\uc774\uba54\uc77c\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. +comUtlSysPrm.comUtlProcessMonModify.title = \ud504\ub85c\uc138\uc2a4\ubaa8\ub2c8\ud130\ub9c1 \uc218\uc815 +comUtlSysPrm.comUtlProcessMonRegist.title = \ud504\ub85c\uc138\uc2a4\ubaa8\ub2c8\ud130\ub9c1 \ub4f1\ub85d +comUtlSysPrm.comUtlProcessMonLogList.title = \ud504\ub85c\uc138\uc2a4\ubaa8\ub2c8\ud130\ub9c1\ub85c\uadf8 \ubaa9\ub85d +comUtlSysPrm.comUtlProcessMonLogDetail.title = \ud504\ub85c\uc138\uc2a4\ubaa8\ub2c8\ud130\ub9c1\ub85c\uadf8 \uc0c1\uc138\uc870\ud68c +comUtlSysPrm.comUtlProcessMonLogDetail.summary = \uc774 \ud45c\ub294 \ud504\ub85c\uc138\uc2a4\ubaa8\ub2c8\ud130\ub9c1 \ub85c\uadf8 \ub300\uc0c1 \uc815\ubcf4\ub97c \uc81c\uacf5\ud558\uba70, \ub85c\uadf8ID, \ud504\ub85c\uc138\uc2a4ID, \ud504\ub85c\uc138\uc2a4\uba85, \uc0c1\ud0dc, \ub85c\uadf8, \ub9c8\uc9c0\ub9c9 \uc0dd\uc131\uc77c\uc2dc\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. + +comUtlSysPrm.comUtlProcessMon.seq = \uc21c\ubc88 +comUtlSysPrm.comUtlProcessMon.logID = \ub85c\uadf8ID +comUtlSysPrm.comUtlProcessMon.processID = \ud504\ub85c\uc138\uc2a4ID +comUtlSysPrm.comUtlProcessMon.processName = \ud504\ub85c\uc138\uc2a4\uba85 +comUtlSysPrm.comUtlProcessMon.status = \uc0c1\ud0dc +comUtlSysPrm.comUtlProcessMon.logInfo = \ub85c\uadf8 +comUtlSysPrm.comUtlProcessMon.managerName = \uad00\ub9ac\uc790\uba85 +comUtlSysPrm.comUtlProcessMon.managerEmail = \uad00\ub9ac\uc790\uc774\uba54\uc77c +comUtlSysPrm.comUtlProcessMon.createdDateTime = \uc0dd\uc131\uc77c\uc2dc +comUtlSysPrm.comUtlProcessMon.lastCreatedDateTime = \ub9c8\uc9c0\ub9c9 \uc0dd\uc131\uc77c\uc2dc +comUtlSysPrm.comUtlProcessMon.searchBgnDe = \uc870\ud68c\uc2dc\uc791\uc77c\uc790 \uc785\ub825 +comUtlSysPrm.comUtlProcessMon.searchBgnHour = \uc870\ud68c\uc2dc\uc791 \uc2dc \uc120\ud0dd +comUtlSysPrm.comUtlProcessMon.searchEndDe = \uc870\ud68c\uc885\ub8cc\uc77c\uc790 \uc785\ub825 +comUtlSysPrm.comUtlProcessMon.searchEndHour = \uc870\ud68c\uc885\ub8cc \uc2dc \uc120\ud0dd \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/prm/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/srm/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/srm/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/srm/message_en.properties (revision 7) @@ -0,0 +1,41 @@ +#Server Resource Monitoring # + +ultSysScm.mntrngServer.Title=Server Resource Monitoring + +ultSysScm.mntrngServerList.Title=Server Resource Monitoring +ultSysScm.mntrngServerList.ServerName=Server H/W Name + +ultSysScm.mntrngServerList.ServerId=Server H/W ID +ultSysScm.mntrngServerList.ServerIp=Server H/W IP +ultSysScm.mntrngServerList.ServerEmail=E-Mail + +ultSysScm.mntrngServerList.btnLog=Log + + +#Server Resource Monitoring Log List# +ultSysScm.mntrngResrceServerList.Title=Server Resource Monitoring Log +ultSysScm.mntrngResrceServerList.scServerName=Server H/W Nm +ultSysScm.mntrngResrceServerList.scBetween=between +ultSysScm.mntrngResrceServerList.scFromDate=search start date +ultSysScm.mntrngResrceServerList.scToDate=search start date + +ultSysScm.mntrngResrceServerList.listServerName=Server H/W Name +ultSysScm.mntrngResrceServerList.listServerIp=Server H/W IP +ultSysScm.mntrngResrceServerList.listCpuUse=CPU use +ultSysScm.mntrngResrceServerList.lisMemoryUse=Memory use +ultSysScm.mntrngResrceServerList.listServerStatus=Service status +ultSysScm.mntrngResrceServerList.listCreateDatetime=Create date + +ultSysScm.mntrngResrceServerList.validate.datatFail=Date format is invalid! +ultSysScm.mntrngResrceServerList.validate.datatCheck=Start date can not be greater than end date! + +#Server Resource Monitoring Log Detail# +ultSysScm.mntrngServerDetail.Title=Server Resource Monitoring Log +ultSysScm.mntrngServerDetail.logId=log ID +ultSysScm.mntrngServerDetail.serverName=server H/W name +ultSysScm.mntrngServerDetail.serverIp=server H/W IP +ultSysScm.mntrngServerDetail.cpuUse=Cpu Use +ultSysScm.mntrngServerDetail.memoryUse=Memory use +ultSysScm.mntrngServerDetail.serviceStatus=Service status +ultSysScm.mntrngServerDetail.logInfo=Log info +ultSysScm.mntrngServerDetail.crateDate=Create date Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/srm/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/srm/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/srm/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/srm/message_ko.properties (revision 7) @@ -0,0 +1,41 @@ +#\uc11c\ubc84\uc790\uc6d0\ubaa8\ub2c8\ud130\ub9c1-\ub300\uc0c1\ubaa9\ub85d# + +ultSysScm.mntrngServer.Title=\uc11c\ubc84\uc790\uc6d0\ubaa8\ub2c8\ud130\ub9c1 + +ultSysScm.mntrngServerList.Title=\uc11c\ubc84\uc790\uc6d0\ubaa8\ub2c8\ud130\ub9c1 \ubaa9\ub85d\uc870\ud68c +ultSysScm.mntrngServerList.ServerName=\uc11c\ubc84H/W \uba85 + +ultSysScm.mntrngServerList.ServerId=\uc11c\ubc84H/W ID +ultSysScm.mntrngServerList.ServerIp=\uc11c\ubc84H/W IP +ultSysScm.mntrngServerList.ServerEmail=\ub2f4\ub2f9\uc790 E-Mail + +ultSysScm.mntrngServerList.btnLog=\ub85c\uadf8 + + +#\uc11c\ubc84\uc790\uc6d0\ubaa8\ub2c8\ud130\ub9c1 \ub85c\uadf8 \ubaa9\ub85d +ultSysScm.mntrngResrceServerList.Title=\uc11c\ubc84\uc790\uc6d0\ubaa8\ub2c8\ud130\ub9c1 \ub85c\uadf8 +ultSysScm.mntrngResrceServerList.scServerName=\uc11c\ubc84H/W \uba85 +ultSysScm.mntrngResrceServerList.scBetween=\uae30\uac04 +ultSysScm.mntrngResrceServerList.scFromDate=\uac80\uc0c9 \uc2dc\uc791\uc77c\uc790 +ultSysScm.mntrngResrceServerList.scToDate=\uac80\uc0c9 \uc885\ub8cc\uc77c\uc790 + +ultSysScm.mntrngResrceServerList.listServerName=\uc11c\ubc84H/W \uba85 +ultSysScm.mntrngResrceServerList.listServerIp=\uc11c\ubc84H/W IP +ultSysScm.mntrngResrceServerList.listCpuUse=CPU\uc0ac\uc6a9\ub960 +ultSysScm.mntrngResrceServerList.lisMemoryUse=\uba54\ubaa8\ub9ac\uc0ac\uc6a9\ub960 +ultSysScm.mntrngResrceServerList.listServerStatus=\uc11c\ube44\uc2a4\uc0c1\ud0dc +ultSysScm.mntrngResrceServerList.listCreateDatetime=\uc0dd\uc131\uc77c\uc2dc + +ultSysScm.mntrngResrceServerList.validate.datatFail=\ub0a0\uc9dc \ud615\uc2dd\uc774 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4! +ultSysScm.mntrngResrceServerList.validate.datatCheck=\uc2dc\uc791\uc77c\uc790\ub294 \uc885\ub8cc\uc77c\uc790\ubcf4\ub2e4 \ud074 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4! + +#\uc11c\ubc84\uc790\uc6d0\ubaa8\ub2c8\ud130\ub9c1 \uc0c1\uc138\uc870\ud68c +ultSysScm.mntrngServerDetail.Title=\uc11c\ubc84\uc790\uc6d0\ubaa8\ub2c8\ud130\ub9c1 \ub85c\uadf8 +ultSysScm.mntrngServerDetail.logId=\ub85c\uadf8ID +ultSysScm.mntrngServerDetail.serverName=\uc11c\ubc84H/W \uba85 +ultSysScm.mntrngServerDetail.serverIp=\uc11c\ubc84H/W IP +ultSysScm.mntrngServerDetail.cpuUse=CPU\uc0ac\uc6a9\ub960 +ultSysScm.mntrngServerDetail.memoryUse=\uba54\ubaa8\ub9ac\uc0ac\uc6a9\ub960 +ultSysScm.mntrngServerDetail.serviceStatus=\uc11c\ube44\uc2a4\uc0c1\ud0dc +ultSysScm.mntrngServerDetail.logInfo=\ub85c\uadf8\uc815\ubcf4 +ultSysScm.mntrngServerDetail.crateDate=\uc0dd\uc131\uc77c\uc2dc Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/srm/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/dbm/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/dbm/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/dbm/message_en.properties (revision 7) @@ -0,0 +1,31 @@ +#DB Monitoring# +comUtlSysDbm.dbMntrngList.title = DB Service Monitoring List +comUtlSysDbm.dbMntrngDetail.title = DB Service Monitoring Details +comUtlSysDbm.dbMntrngDetail.summary = Provides details about registered DB service monitoring. +comUtlSysDbm.dbMntrngModify.title = Modify DB Service Monitoring +comUtlSysDbm.dbMntrngModify.summary = DB service monitoring modification function is provided. +comUtlSysDbm.dbMntrngRegist.title = Register DB Service Monitoring +comUtlSysDbm.dbMntrngLogList.title = DB Service Monitoring Log List +comUtlSysDbm.dbMntrngLogDetail.title = DB Service Monitoring Log Details +comUtlSysDbm.dbMntrngLogDetail.summary = Provides details about the registered DB ServiceMonitor. + +comUtlSysDbm.dbMntrng.period = Period +comUtlSysDbm.dbMntrng.seq = No +comUtlSysDbm.dbMntrng.logID = LogID +comUtlSysDbm.dbMntrng.dataSourceName = Data Source +comUtlSysDbm.dbMntrng.serverName = Server Name +comUtlSysDbm.dbMntrng.dbms = DBMS +comUtlSysDbm.dbMntrng.managerName = Manager Name +comUtlSysDbm.dbMntrng.managerEmail = Email +comUtlSysDbm.dbMntrng.createdDateTime = Created Datetime +comUtlSysDbm.dbMntrng.status = Status +comUtlSysDbm.dbMntrng.checkSQL = Check SQL +comUtlSysDbm.dbMntrng.monitoringDatetime = Monitoring Datetime +comUtlSysDbm.dbMntrng.logInfo = Log Info. + +comUtlSysDbm.dbMntrng.searchStartDate = Search start date +comUtlSysDbm.dbMntrng.searchStartHour = Search start hour +comUtlSysDbm.dbMntrng.searchStartMin = Search start minute +comUtlSysDbm.dbMntrng.searchEndDate = Search end date +comUtlSysDbm.dbMntrng.searchEndHour = Search end hour +comUtlSysDbm.dbMntrng.searchEndMin = Search end minute \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/dbm/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/dbm/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/dbm/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/dbm/message_ko.properties (revision 7) @@ -0,0 +1,31 @@ +#DB\ubaa8\ub2c8\ud130\ub9c1# +comUtlSysDbm.dbMntrngList.title = DB\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1 \ubaa9\ub85d +comUtlSysDbm.dbMntrngDetail.title = DB\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1 \uc0c1\uc138\uc870\ud68c +comUtlSysDbm.dbMntrngDetail.summary = \ub4f1\ub85d\ub41c DB\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1\uc5d0 \ub300\ud55c \uc0c1\uc138\uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. +comUtlSysDbm.dbMntrngModify.title = DB\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1 \uc218\uc815 +comUtlSysDbm.dbMntrngModify.summary = DB\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1 \uc218\uc815\uae30\ub2a5\uc744 \uc81c\uacf5\ud55c\ub2e4. +comUtlSysDbm.dbMntrngRegist.title = DB\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1 \ub4f1\ub85d +comUtlSysDbm.dbMntrngLogList.title = DB\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1\ub85c\uadf8 \ubaa9\ub85d +comUtlSysDbm.dbMntrngLogDetail.title = DB\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1\ub85c\uadf8 \uc0c1\uc138\uc870\ud68c +comUtlSysDbm.dbMntrngLogDetail.summary = \ub4f1\ub85d\ub41c DB\uc11c\ube44\uc2a4\ubaa8\ub2c8\ud130\ub9c1\ub85c\uadf8\uc5d0 \ub300\ud55c \uc0c1\uc138\uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. + +comUtlSysDbm.dbMntrng.period = \uae30\uac04 +comUtlSysDbm.dbMntrng.seq = \uc21c\ubc88 +comUtlSysDbm.dbMntrng.logID = \ub85c\uadf8ID +comUtlSysDbm.dbMntrng.dataSourceName = \ub370\uc774\ud0c0\uc18c\uc2a4\uba85 +comUtlSysDbm.dbMntrng.serverName = \uc11c\ubc84\uba85 +comUtlSysDbm.dbMntrng.dbms = DBMS\uc885\ub958 +comUtlSysDbm.dbMntrng.managerName = \uad00\ub9ac\uc790\uba85 +comUtlSysDbm.dbMntrng.managerEmail = \uad00\ub9ac\uc790\uc774\uba54\uc77c +comUtlSysDbm.dbMntrng.createdDateTime = \uc0dd\uc131\uc77c\uc2dc +comUtlSysDbm.dbMntrng.status = \uc0c1\ud0dc +comUtlSysDbm.dbMntrng.checkSQL = \uccb4\ud06cSQL +comUtlSysDbm.dbMntrng.monitoringDatetime = \ubaa8\ub2c8\ud130\ub9c1\uc2dc\uac01 +comUtlSysDbm.dbMntrng.logInfo = \ub85c\uadf8\uc815\ubcf4 + +comUtlSysDbm.dbMntrng.searchStartDate = \uac80\uc0c9\uc2dc\uc791\uc77c\uc790 +comUtlSysDbm.dbMntrng.searchStartHour = \uac80\uc0c9\uc2dc\uc791\uc2dc\uac04 +comUtlSysDbm.dbMntrng.searchStartMin = \uac80\uc0c9\uc2dc\uc791\ubd84 +comUtlSysDbm.dbMntrng.searchEndDate = \uac80\uc0c9\uc885\ub8cc\uc77c\uc790 +comUtlSysDbm.dbMntrng.searchEndHour = \uac80\uc0c9\uc885\ub8cc\uc2dc\uac04 +comUtlSysDbm.dbMntrng.searchEndMin = \uac80\uc0c9\uc885\ub8cc\ubd84 \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/dbm/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/trm/message_en.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/trm/message_en.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/trm/message_en.properties (revision 7) @@ -0,0 +1,33 @@ +#Transmission and reception monitoring# +comUtlSysTrm.trsmrcvMntrngList.title = Transmission and Reception Monitoring List +comUtlSysTrm.trsmrcvMntrngDetail.title = Transmission and Reception Monitoring Details +comUtlSysTrm.trsmrcvMntrngDetail.summary = Provides details about registered transmission and reception monitoring. +comUtlSysTrm.trsmrcvMntrngUpdt.title = Modifying Transmission and Reception Monitoring +comUtlSysTrm.trsmrcvMntrngUpdt.summary = It provides a function to modify transmission and reception monitoring. +comUtlSysTrm.trsmrcvMntrngRegist.title = Register Transmission and Reception Monitoring +comUtlSysTrm.trsmrcvMntrngLogList.title = Transmission and Reception Monitoring Log List +comUtlSysTrm.trsmrcvMntrngLogDetail.title = Transmission and Reception Monitoring Log Details +comUtlSysTrm.trsmrcvMntrngLogDetail.summary = Provides detailed information about the sending and receiving monitor logs. + +comUtlSysTrm.trsmrcvMntrng.logID = LogID +comUtlSysTrm.trsmrcvMntrng.interOperationID = Link ID +comUtlSysTrm.trsmrcvMntrng.interOperationName = Link Name +comUtlSysTrm.trsmrcvMntrng.interOperationPopup = Link information check pop-up provided +comUtlSysTrm.trsmrcvMntrng.testClassName = Test Class Name +comUtlSysTrm.trsmrcvMntrng.managerName = Manager +comUtlSysTrm.trsmrcvMntrng.managerEmail = Manager Email +comUtlSysTrm.trsmrcvMntrng.monitoringDateTime = Monitoring Datetime +comUtlSysTrm.trsmrcvMntrng.provider = Provider +comUtlSysTrm.trsmrcvMntrng.provideSystem = Provider System +comUtlSysTrm.trsmrcvMntrng.service = Services +comUtlSysTrm.trsmrcvMntrng.requester = Requester +comUtlSysTrm.trsmrcvMntrng.requestSystem = Reguesting System +comUtlSysTrm.trsmrcvMntrng.status = Status +comUtlSysTrm.trsmrcvMntrng.logInfo = Log Information + +comUtlSysTrm.trsmrcvMntrng.searchStartDate = Search start date +comUtlSysTrm.trsmrcvMntrng.searchStartHour = Search start hour +comUtlSysTrm.trsmrcvMntrng.searchStartMin = Search start minute +comUtlSysTrm.trsmrcvMntrng.searchEndDate = Search end date +comUtlSysTrm.trsmrcvMntrng.searchEndHour = Search end hour +comUtlSysTrm.trsmrcvMntrng.searchEndMin = Search end minute \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/trm/message_en.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/utl/sys/trm/message_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/utl/sys/trm/message_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/utl/sys/trm/message_ko.properties (revision 7) @@ -0,0 +1,33 @@ +#\uc1a1\uc218\uc2e0\ubaa8\ub2c8\ud130\ub9c1# +comUtlSysTrm.trsmrcvMntrngList.title = \uc1a1\uc218\uc2e0\ubaa8\ub2c8\ud130\ub9c1 \ubaa9\ub85d +comUtlSysTrm.trsmrcvMntrngDetail.title = \uc1a1\uc218\uc2e0\ubaa8\ub2c8\ud130\ub9c1 \uc0c1\uc138\uc870\ud68c +comUtlSysTrm.trsmrcvMntrngDetail.summary = \ub4f1\ub85d\ub41c \uc1a1\uc218\uc2e0\ubaa8\ub2c8\ud130\ub9c1\uc5d0 \ub300\ud55c \uc0c1\uc138\uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. +comUtlSysTrm.trsmrcvMntrngUpdt.title = \uc1a1\uc218\uc2e0\ubaa8\ub2c8\ud130\ub9c1 \uc218\uc815 +comUtlSysTrm.trsmrcvMntrngUpdt.summary = \uc1a1\uc218\uc2e0\ubaa8\ub2c8\ud130\ub9c1 \uc218\uc815\uae30\ub2a5\uc744 \uc81c\uacf5\ud55c\ub2e4. +comUtlSysTrm.trsmrcvMntrngRegist.title = \uc1a1\uc218\uc2e0\ubaa8\ub2c8\ud130\ub9c1 \ub4f1\ub85d +comUtlSysTrm.trsmrcvMntrngLogList.title = \uc1a1\uc218\uc2e0\ubaa8\ub2c8\ud130\ub9c1\ub85c\uadf8 \ubaa9\ub85d +comUtlSysTrm.trsmrcvMntrngLogDetail.title = \uc1a1\uc218\uc2e0\ubaa8\ub2c8\ud130\ub9c1\ub85c\uadf8 \uc0c1\uc138\uc870\ud68c +comUtlSysTrm.trsmrcvMntrngLogDetail.summary = \uc1a1\uc218\uc2e0\ubaa8\ub2c8\ud130\ub9c1\ub85c\uadf8\uc5d0 \ub300\ud55c \uc0c1\uc138\uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. + +comUtlSysTrm.trsmrcvMntrng.logID = \ub85c\uadf8ID +comUtlSysTrm.trsmrcvMntrng.interOperationID = \uc5f0\uacc4ID +comUtlSysTrm.trsmrcvMntrng.interOperationName = \uc5f0\uacc4\uba85 +comUtlSysTrm.trsmrcvMntrng.interOperationPopup = \uc5f0\uacc4\uc815\ubcf4\uc870\ud68c\ud31d\uc5c5 \uc81c\uacf5 +comUtlSysTrm.trsmrcvMntrng.testClassName = \ud14c\uc2a4\ud2b8\ud074\ub798\uc2a4\uba85 +comUtlSysTrm.trsmrcvMntrng.managerName = \uad00\ub9ac\uc790\uba85 +comUtlSysTrm.trsmrcvMntrng.managerEmail = \uad00\ub9ac\uc790\uc774\uba54\uc77c +comUtlSysTrm.trsmrcvMntrng.monitoringDateTime = \ubaa8\ub2c8\ud130\ub9c1\uc2dc\uac01 +comUtlSysTrm.trsmrcvMntrng.provider = \uc81c\uacf5\uae30\uad00 +comUtlSysTrm.trsmrcvMntrng.provideSystem = \uc81c\uacf5\uc2dc\uc2a4\ud15c +comUtlSysTrm.trsmrcvMntrng.service = \uc81c\uacf5\uc11c\ube44\uc2a4 +comUtlSysTrm.trsmrcvMntrng.requester = \uc694\uccad\uae30\uad00 +comUtlSysTrm.trsmrcvMntrng.requestSystem = \uc694\uccad\uc2dc\uc2a4\ud15c +comUtlSysTrm.trsmrcvMntrng.status = \uc0c1\ud0dc +comUtlSysTrm.trsmrcvMntrng.logInfo = \ub85c\uadf8\uc815\ubcf4 + +comUtlSysTrm.trsmrcvMntrng.searchStartDate = \uac80\uc0c9\uc2dc\uc791\uc77c\uc790 +comUtlSysTrm.trsmrcvMntrng.searchStartHour = \uac80\uc0c9\uc2dc\uc791\uc2dc\uac04 +comUtlSysTrm.trsmrcvMntrng.searchStartMin = \uac80\uc0c9\uc2dc\uc791\ubd84 +comUtlSysTrm.trsmrcvMntrng.searchEndDate = \uac80\uc0c9\uc885\ub8cc\uc77c\uc790 +comUtlSysTrm.trsmrcvMntrng.searchEndHour = \uac80\uc0c9\uc885\ub8cc\uc2dc\uac04 +comUtlSysTrm.trsmrcvMntrng.searchEndMin = \uac80\uc0c9\uc885\ub8cc\ubd84 \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/message/com/utl/sys/trm/message_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/message/com/message-common_ko.properties =================================================================== --- base3.10/src/main/resources/egovframework/message/com/message-common_ko.properties (nonexistent) +++ base3.10/src/main/resources/egovframework/message/com/message-common_ko.properties (revision 7) @@ -0,0 +1,191 @@ +fail.common.msg=\uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4! +fail.common.sql=sql \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4! error code: {0}, error msg: {1} +info.nodata.msg=\ud574\ub2f9 \ub370\uc774\ud130\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. + +#UI Common resource# +table.num=\ubc88\ud638 +table.regdate=\ub4f1\ub85d\uc77c +table.reger=\ub4f1\ub85d\uc790 +table.select=\uc120\ud0dd +title.html=egovframe common component +title.detail=\uc0c1\uc138\uc870\ud68c +title.inquire=\uc870\ud68c +title.update=\uc218\uc815 +title.create=\ub4f1\ub85d +title.delete=\uc0ad\uc81c +title.save=\uc800\uc7a5 +title.list=\ubaa9\ub85d +title.searchCondition=\uac80\uc0c9\uc870\uac74 +title.search=\uac80\uc0c9\uc5b4 +title.reply=\ub2f5\uae00 +title.scrap=\uc2a4\ud06c\ub7a9 +title.comment=\ub313\uae00 +title.attachedFileSelect=\ud30c\uc77c\uc120\ud0dd +title.attachedFileDelete=\ud30c\uc77c\uc0ad\uc81c +title.link=\ub9c1\ud06c +title.management=\uad00\ub9ac +title.all=\uc804\uccb4 + +input.select=\uc120\ud0dd\ud558\uc138\uc694 +input.cSelect=\uc120\ud0dd +input.input=\uc785\ub825 +input.button=\ubc84\ud2bc +input.selectAll.title=\uc804\uccb4\uc120\ud0dd\uccb4\ud06c\ubc15\uc2a4 +input.yes=\uc608 +input.no=\uc544\ub2c8\uc624 + +select.searchCondition=\uc870\ud68c\uc870\uac74 \uc120\ud0dd + +button.select=\uc120\ud0dd +button.search=\uac80\uc0c9 +button.use=\uc0ac\uc6a9 +button.notUsed=\uc0ac\uc6a9\uc911\uc9c0 +button.inquire=\uc870\ud68c +button.update=\uc218\uc815 +button.create=\ub4f1\ub85d +button.delete=\uc0ad\uc81c +button.deleteDatabase=\uc644\uc804\uc0ad\uc81c +button.close=\ub2eb\uae30 +button.save=\uc800\uc7a5 +button.list=\ubaa9\ub85d +button.reset=\ucde8\uc18c +button.passwordUpdate=\uc554\ud638\ubcc0\uacbd +button.subscribe=\uac00\uc785\uc2e0\uccad +button.realname=\uc2e4\uba85\ud655\uc778 +button.moveToGpin=GPIN\uc2e4\uba85\ud655\uc778\uc73c\ub85c \uc774\ub3d9 +button.moveToIhidnum=\uc8fc\ubbfc\ub4f1\ub85d\ubc88\ud638 \uc2e4\uba85\ud655\uc778\uc73c\ub85c \uc774\ub3d9 +button.agree=\ub3d9\uc758 +button.disagree=\ube44\ub3d9\uc758 +button.possible=\uac00\ub2a5 +button.impossible=\ubd88\uac00\ub2a5 +button.qnaregist=Q&A\ub4f1\ub85d +button.cnsltregist=\uc0c1\ub2f4\ub4f1\ub85d +button.preview=\ubbf8\ub9ac\ubcf4\uae30 +button.next=\ub2e4\uc74c +button.add=\ubc14\ub85c\ucd94\uac00 +button.confirm=\ud655\uc778 +button.back = \ub4a4\ub85c +button.yes = \uc608 +button.no = \uc544\ub2c8\uc624 +button.home = \ud648 +button.user = \uc0ac\uc6a9\uc790\uc9c0\uc6d0 +button.cop = \ud611\uc5c5 +button.wrkstart = \ucd9c\uadfc +button.wrkend = \ud1f4\uadfc +button.reply = \ub2f5\uae00 +button.scrap = \uc2a4\ud06c\ub7a9 +button.comment = \ub313\uae00 +button.excel = \uc5d1\uc140 +button.init=\ucd08\uae30\ud654 +button.acknowledgment=\uc2b9\uc778 +button.cancelAcknowledgment=\uc2b9\uc778\ucde8\uc18c +button.bulkUpload=\uc77c\uad04\ub4f1\ub85d +button.log = \ub85c\uadf8 +button.set = \uc124\uc815 +button.move = \uc774\ub3d9 + +#UI Common Message# +common.noScriptTitle.msg=\uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\ub294 \ube0c\ub77c\uc6b0\uc800\uc5d0\uc11c\ub294 \uc77c\ubd80 \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud558\uc2e4 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +common.searchCondition.msg=\uc774 \ub808\uc774\uc544\uc6c3\uc740 \ud558\ub2e8 \uc815\ubcf4\ub97c \ub300\ud55c \uac80\uc0c9 \uc815\ubcf4\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4. + +common.summary.list={0}\uc758 \ub0b4\uc5ed\uc5d0 \ub300\ud55c \ubaa9\ub85d\uc744 \ucd9c\ub825\ud569\ub2c8\ub2e4. +common.summary.regist={0}\uc758 \ub4f1\ub85d \uac00\ub2a5\ud55c \ub0b4\uc6a9\uc744 \uc785\ub825\ud558\uc5ec \ub4f1\ub85d \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uc5ec \ub4f1\ub85d\ud55c\ub2e4. +common.summary.update={0}\uc758 \ub4f1\ub85d \uac00\ub2a5\ud55c \ub0b4\uc6a9\uc744 \uc785\ub825\ud558\uc5ec \ub4f1\ub85d \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uc5ec \uc218\uc815\ud55c\ub2e4. +common.summary.inqire={0}\uc758 \ub0b4\uc5ed\uc5d0 \ub300\ud55c \uc0c1\uc138\uc870\ud68c \ub0b4\uc5ed\uc744 \ucd9c\ub825\ud569\ub2c8\ub2e4. + +common.save.msg=\uc800\uc7a5\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? +common.regist.msg=\ub4f1\ub85d\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? +common.delete.msg=\uc0ad\uc81c\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? +common.update.msg=\uc218\uc815\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? +common.nodata.msg=\uc790\ub8cc\uac00 \uc5c6\uc2b5\ub2c8\ub2e4. \ub2e4\ub978 \uac80\uc0c9\uc870\uac74\uc744 \uc120\ud0dd\ud574\uc8fc\uc138\uc694 +common.required.msg=(\uc740)\ub294 \ud544\uc218\uc785\ub825\ud56d\ubaa9\uc785\ub2c8\ub2e4. +common.acknowledgement.msg=\uc2b9\uc778\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? +common.acknowledgementcancel.msg=\uc2b9\uc778\ucde8\uc18c\ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c? +common.nocomment.msg=\ub313\uae00\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. +common.noguest.msg=\uc791\uc131\ub41c \ubc29\uba85\ub85d\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. + +success.request.msg = \uc694\uccad\ucc98\ub9ac\uac00 \uc131\uacf5\uc801\uc73c\ub85c \uc218\ud589\ub418\uc5c8\uc2b5\ub2c8\ub2e4. +success.common.select=\uc815\uc0c1\uc801\uc73c\ub85c \uc870\ud68c\ub418\uc5c8\uc2b5\ub2c8\ub2e4. +success.common.insert=\uc815\uc0c1\uc801\uc73c\ub85c \ub4f1\ub85d\ub418\uc5c8\uc2b5\ub2c8\ub2e4. +success.common.update=\uc815\uc0c1\uc801\uc73c\ub85c \uc218\uc815\ub418\uc5c8\uc2b5\ub2c8\ub2e4. +success.common.delete=\uc815\uc0c1\uc801\uc73c\ub85c \uc0ad\uc81c\ub418\uc5c8\uc2b5\ub2c8\ub2e4. + +common.imposbl.fileupload = \ub354 \uc774\uc0c1 \ud30c\uc77c\uc744 \ucca8\ubd80\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +common.isConfmDe.msg=\uc2b9\uc778\uc77c\uc790\ub97c \ud655\uc778 \ubc14\ub78d\ub2c8\ub2e4. +common.isExist.msg = \uc774\ubbf8 \uc874\uc7ac\ud558\uac70\ub098 \uacfc\uac70\uc5d0 \ub4f1\ub85d\uc774 \ub418\uc5c8\ub358 \uc0c1\ud0dc\uc785\ub2c8\ub2e4. + +fail.common.insert = \uc0dd\uc131\uc774 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4. +fail.common.update = \uc218\uc815\uc774 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4. +fail.common.delete = \uc0ad\uc81c\uac00 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4. +fail.common.delete.upperMenuExist = \ucc38\uc870\ub418\ub294 \uba54\ub274\uac00 \uc788\uc5b4 \uc0ad\uc81c\uac00 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4. +fail.common.select = \uc870\ud68c\uc5d0 \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4. +fail.common.login = \ub85c\uadf8\uc778 \uc815\ubcf4\uac00 \uc62c\ubc14\ub974\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. +fail.common.loginIncorrect = {0}\ud68c \uc774\uc0c1 \ub85c\uadf8\uc778 \uc811\uc18d\uc774 \uc2dc\ub3c4 \ub418\uc5b4 \uacc4\uc815\uc774 \uc7a0\uaca8\uc2b5\ub2c8\ub2e4! +fail.common.login.password = \ud328\uc2a4\uc6cc\ub4dc \uc790\ub9ac \uc218\uac00 \uc77c\uce58 \ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.(8\uc790\ub9ac \uc774\uc0c1 20\uc790\ub9ac \uc774\ud558) +fail.common.idsearch = \uc544\uc774\ub514\ub97c \ucc3e\uc744\uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +fail.common.pwsearch = \ube44\ubc00\ubc88\ud638\ub97c \ucc3e\uc744\uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +fail.request.msg = \uc694\uccad\ucc98\ub9ac\ub97c \uc2e4\ud328\ud558\uc600\uc2b5\ub2c8\ub2e4. +fail.common.login.ip = \ub4f1\ub85d\ub41c IP\uac00 \uc544\ub2c8\ubbc0\ub85c \ub85c\uadf8\uc778\uc774 \uac70\ubd80\ub418\uc5c8\uc2b5\ub2c8\ub2e4. + +#UI User Message# +fail.user.passwordUpdate1=\ud604\uc7ac \ube44\ubc00\ubc88\ud638\uac00 \ub9de\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. +fail.user.passwordUpdate2=\ube44\ubc00\ubc88\ud638\uc640 \ube44\ubc00\ubc88\ud638 \ud655\uc778\uc774 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. +info.user.rlnmCnfirm=\uc8fc\ubbfc\ub4f1\ub85d\ubc88\ud638\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2e4\uba85\ud655\uc778\uc744 \ud558\uc2ed\uc2dc\uc624. +success.user.rlnmCnfirm=\ud589\uc815\uc548\uc804\ubd80\uc758 \uc8fc\ubbfc\ub4f1\ub85d\uc790\ub8cc\uc640 \uc77c\uce58\ud569\ub2c8\ub2e4. +fail.user.rlnmCnfirm=\ud589\uc815\uc548\uc804\ubd80\uc758 \uc8fc\ubbfc\ub4f1\ub85d\uc790\ub8cc\uc640 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. +fail.user.connectFail=\uc2dc\uc2a4\ud15c \uc7a5\uc560\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4.(\uc778\uc99d\uc11c\ubc84 \uc5f0\uacb0 \uc2e4\ud328) +info.user.rlnmPinCnfirm=\uacf5\uacf5 \uc544\uc774\ud540 \uc544\uc774\ub514\ub97c \uc0ac\uc6a9\ud558\uc5ec \uc2e4\uba85\ud655\uc778\uc744 \ud558\uc2ed\uc2dc\uc624. +success.user.rlnmPinCnfirm=\uacf5\uacf5\uc544\uc774\ud540\uc758 \ub4f1\ub85d\uc790\ub8cc\uc640 \uc77c\uce58\ud569\ub2c8\ub2e4. +fail.user.rlnmPinCnfirm=\uacf5\uacf5\uc544\uc774\ud540\uc758 \ub4f1\ub85d\uc790\ub8cc\uc640 \uc77c\uce58\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. + +#Vlidator Errors# +errors.prefix=<div class="error"> +errors.suffix=</div><br/> + +errors.required={0}\uc740(\ub294) \ud544\uc218 \uc785\ub825\uac12\uc785\ub2c8\ub2e4. +errors.minlength={0}\uc740(\ub294) {1}\uc790 \uc774\uc0c1 \uc785\ub825\ud574\uc57c \ud569\ub2c8\ub2e4. +errors.maxlength={0}\uc740(\ub294) {1}\uc790 \uc774\uc0c1 \uc785\ub825\ud560\uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +errors.invalid={0}\uc740(\ub294) \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uac12\uc785\ub2c8\ub2e4. +errors.minInteger={0}\uc740(\ub294) \uc720\ud6a8\ud55c \uac12\uc774 \uc544\ub2d9\ub2c8\ub2e4. 1 \uc774\uc0c1\uc758 \uac12\uc744 \uc785\ub825\ud574\uc57c \ud569\ub2c8\ub2e4. +errors.byte={0}\uc740(\ub294) byte\ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4. +errors.short={0}\uc740(\ub294) short\ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4. +errors.integer={0}\uc740(\ub294) integer \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4. +errors.long={0}\uc740(\ub294) long \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4. +errors.float={0}\uc740(\ub294) float \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4. +errors.double={0}\uc740(\ub294) double \ud0c0\uc785\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4. + +errors.date={0}\uc740(\ub294) \ub0a0\uc9dc \uc720\ud615\uc774 \uc544\ub2d9\ub2c8\ub2e4. +errors.range={0}\uc740(\ub294) {1}\uacfc {2} \uc0ac\uc774\uc758 \uac12\uc774\uc5b4\uc57c \ud569\ub2c8\ub2e4. +errors.creditcard={0}\uc740(\ub294) \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc2e0\uc6a9\uce74\ub4dc \ubc88\ud638\uc785\ub2c8\ub2e4. +errors.email={0}\uc740(\ub294) \uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc774\uba54\uc77c \uc8fc\uc18c\uc785\ub2c8\ub2e4. + +errors.ihidnum=\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \uc8fc\ubbfc\ub4f1\ub85d\ubc88\ud638\uc785\ub2c8\ub2e4. +errors.korean={0}\uc740(\ub294) \ud55c\uae00\uc744 \uc785\ub825\ud558\uc154\uc57c \ud569\ub2c8\ub2e4. +errors.ip=\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 IP\uc8fc\uc18c\uc785\ub2c8\ub2e4. +errors.english={0}\uc740(\ub294) \uc601\ubb38\ub9cc \uc0ac\uc6a9\ud558\uc2e4\uc218 \uc788\uc2b5\ub2c8\ub2e4. +errors.notKorean={0}\uc740(\ub294) \ud55c\uae00\uc744 \uc0ac\uc6a9\ud558\uc2e4\uc218 \uc5c6\uc2b5\ub2c8\ub2e4. + +errors.password1={0}\uc740(\ub294) 8~20\uc790 \ub0b4\uc5d0\uc11c \uc785\ub825\ud574\uc57c \ud569\ub2c8\ub2e4. +errors.password2={0}\uc740(\ub294) \ud55c\uae00,\ud2b9\uc218\ubb38\uc790,\ub744\uc5b4\uc4f0\uae30\ub294 \ud5c8\uc6a9\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. +errors.password3={0}\uc740(\ub294) \uc21c\ucc28\uc801\uc778 \uc22b\uc790\ub97c 4\uac1c\uc774\uc0c1 \uc5f0\uc18d\ud574\uc11c \uc0ac\uc6a9\ud560\uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +errors.password4={0}\uc740(\ub294) \ubc18\ubcf5\ub418\ub294 \ubb38\uc790\ub098 \uc22b\uc790\ub97c 4\uac1c\uc774\uc0c1 \uc5f0\uc18d\ud574\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +errors.pwdcheckcomb3={0}\uc740(\ub294) \uc601\ubb38\uc790,\uc22b\uc790,\ud2b9\uc218\ubb38\uc790(~!@#$%^&*?)\uc758 \uc870\ud569\uc73c\ub85c \uc774\ub8e8\uc5b4 \uc838\uc57c \ud569\ub2c8\ub2e4. +errors.pwdcheckcomb4={0}\uc740(\ub294) \uc601\ubb38\ub300\ubb38\uc790,\uc601\ubb38\uc18c\ubb38\uc790,\uc22b\uc790,\ud2b9\uc218\ubb38\uc790(~!@#$%^&*?)\uc758 \uc870\ud569\uc73c\ub85c \uc774\ub8e8\uc5b4 \uc838\uc57c \ud569\ub2c8\ub2e4. +errors.pwdcheckseries={0}\uc740(\ub294) \uc21c\ucc28\uc801\uc778 \ubb38\uc790\ub098 \uc22b\uc790\ub97c 3\uac1c\uc774\uc0c1 \uc5f0\uc18d\ud574\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. +errors.pwdcheckrepeat={0}\uc740(\ub294) \ubc18\ubcf5\ub418\ub294 \ubb38\uc790\ub098 \uc22b\uc790\ub97c 3\uac1c\uc774\uc0c1 \uc5f0\uc18d\ud574\uc11c \uc0ac\uc6a9\ud560 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4. + +error.security.runtime.error = error + +info.password.rule.password1 = - 8\uc774\uc0c1 20\uc790\ub9ac \uc774\ud558 +info.password.rule.pwdcheckcomb3 = - \uc601\ubb38\uc790,\uc22b\uc790,\ud2b9\uc218\ubb38\uc790(~!@#$%^&*?)\uc758 \uc870\ud569 +info.password.rule.pwdcheckcomb4 = - \uc601\ubb38\ub300\ubb38\uc790,\uc601\ubb38\uc18c\ubb38\uc790,\uc22b\uc790,\ud2b9\uc218\ubb38\uc790(~!@#$%^&*?)\uc758 \uc870\ud569 +info.password.rule.pwdcheckseries = - 3\uc790\ub9ac \uc774\uc0c1 \ubc18\ubcf5 \ub610\ub294 \uc5f0\uc18d\ub41c \ubb38\uc790 \uc0ac\uc6a9 \uae08\uc9c0. \uc608)kkk , 321 \ub4f1 \uc0ac\uc6a9\uae08\uc9c0 + +#Xss Errors# +errors.xss.checkerUser=\ud574\ub2f9 \uae30\ub2a5\uc5d0 \ub300\ud55c \uc0ac\uc6a9 \ubc0f \ucc98\ub9ac \uad8c\ud55c\uc774 \uc5c6\uc2b5\ub2c8\ub2e4. + +#File Upload / Download +errors.file.extension=\uc9c0\uc6d0\ub418\ub294 \ud30c\uc77c\uc720\ud615\uc774 \uc544\ub2d9\ub2c8\ub2e4. +errors.file.transfer=\ud30c\uc77c\uc804\uc1a1\uc911 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. +success.file.transfer=\ud30c\uc77c\uc804\uc1a1\uc774 \uc644\ub8cc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. + Property changes on: base3.10/src/main/resources/egovframework/message/com/message-common_ko.properties ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/context-excel.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/context-excel.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/context-excel.xml (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <bean id="excelZipService" class="egovframework.rte.fdl.excel.impl.EgovExcelServiceImpl"> + <property name="mapClass" value="egovframework.com.sym.ccm.zip.service.impl.EgovCcmExcelZipMapping" /> + <property name="sqlSessionTemplate" ref="egov.sqlSessionTemplate" /> + </bean> + + <bean id="excelRdnmadZipService" class="egovframework.rte.fdl.excel.impl.EgovExcelServiceImpl"> + <property name="mapClass" value="egovframework.com.sym.ccm.zip.service.impl.EgovCcmExcelRdnmadZipMapping" /> + <property name="sqlSessionTemplate" ref="egov.sqlSessionTemplate" /> + </bean> + +</beans> Property changes on: base3.10/src/main/resources/egovframework/spring/com/context-excel.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-LoginLog.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-LoginLog.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-LoginLog.xml (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <!-- Login Log... START--> + <bean name="egovLoginLogIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy"> + <property name="dataSource" ref="egov.dataSource" /> + <property name="strategy" ref="loginLogStrategy" /> + <property name="blockSize" value="10"/> + <property name="table" value="COMTECOPSEQ"/> + <property name="tableName" value="LOGINLOG_ID"/> + </bean> + <bean name="loginLogStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> + <property name="prefix" value="LOGIN_" /> + <property name="cipers" value="14" /> + <property name="fillChar" value="0" /> + </bean> + <!-- Login Log... END--> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-LoginLog.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-File.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-File.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-File.xml (revision 7) @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <bean name="egovFileIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy"> + <property name="dataSource" ref="egov.dataSource" /> + <property name="strategy" ref="fileStrategy" /> + <property name="blockSize" value="10"/> + <property name="table" value="COMTECOPSEQ"/> + <property name="tableName" value="FILE_ID"/> + </bean> + <bean name="fileStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> + <property name="prefix" value="FILE_" /> + <property name="cipers" value="15" /> + <property name="fillChar" value="0" /> + </bean> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-File.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-editor.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-editor.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-editor.xml (revision 7) @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <!-- 에디터 파일 --> + <bean name="editorFileIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy"> + <property name="dataSource" ref="egov.dataSource" /> + <property name="strategy" ref="editorFileIdStrategy" /> + <property name="blockSize" value="10"/> + <property name="table" value="COMTECOPSEQ"/> + <property name="tableName" value="EDITOR_FILE_ID"/> + </bean> + <bean name="editorFileIdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> + <property name="prefix" value="EFI_" /> + <property name="cipers" value="16" /> + <property name="fillChar" value="0" /> + </bean> +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-editor.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-AnswerNo.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-AnswerNo.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-AnswerNo.xml (revision 7) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <!-- 답글 ANSWER_NO 생성 --> + <bean name="egovAnswerNoGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy"> + <property name="dataSource" ref="egov.dataSource" /> + <property name="strategy" ref="answerNoStrategy" /> + <property name="blockSize" value="10"/> + <property name="table" value="COMTECOPSEQ"/> + <property name="tableName" value="ANSWER_NO"/> + </bean> + <bean name="answerNoStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> + <property name="cipers" value="20" /> + </bean> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-AnswerNo.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-Clb.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-Clb.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-Clb.xml (revision 7) @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <bean name="egovClbIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy"> + <property name="dataSource" ref="egov.dataSource" /> + <property name="strategy" ref="clbStrategy" /> + <property name="blockSize" value="10"/> + <property name="table" value="COMTECOPSEQ"/> + <property name="tableName" value="CLB_ID"/> + </bean> + <bean name="clbStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> + <property name="prefix" value="CLB_" /> + <property name="cipers" value="16" /> + <property name="fillChar" value="0" /> + </bean> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-Clb.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-WebLog.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-WebLog.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-WebLog.xml (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <!-- Web Log... START--> + <bean name="egovWebLogIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy"> + <property name="dataSource" ref="egov.dataSource" /> + <property name="strategy" ref="webLogStrategy" /> + <property name="blockSize" value="10"/> + <property name="table" value="COMTECOPSEQ"/> + <property name="tableName" value="WEBLOG_ID"/> + </bean> + <bean name="webLogStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> + <property name="prefix" value="WEBLOG_" /> + <property name="cipers" value="13" /> + <property name="fillChar" value="0" /> + </bean> + <!-- Web Log... END--> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-WebLog.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-UsrCnfrm.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-UsrCnfrm.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-UsrCnfrm.xml (revision 7) @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <bean name="egovUsrCnfrmIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy"> + <property name="dataSource" ref="egov.dataSource" /> + <property name="strategy" ref="usrCnfrmStrategy" /> + <property name="blockSize" value="10"/> + <property name="table" value="COMTECOPSEQ"/> + <property name="tableName" value="USRCNFRM_ID"/> + </bean> + <bean name="usrCnfrmStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> + <property name="prefix" value="USRCNFRM_" /> + <property name="cipers" value="11" /> + <property name="fillChar" value="0" /> + </bean> + + <!-- 부서 ID --> + <bean name="egovDeptManageIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy"> + <property name="dataSource" ref="egov.dataSource" /> + <property name="strategy" ref="orgnztIdStrategy" /> + <property name="blockSize" value="10"/> + <property name="table" value="COMTECOPSEQ"/> + <property name="tableName" value="ORGNZT_ID"/> + </bean> + <bean name="orgnztIdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> + <property name="prefix" value="ORGNZT_" /> + <property name="cipers" value="13" /> + <property name="fillChar" value="0" /> + </bean> + <!-- 부서 ID --> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-UsrCnfrm.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-Group.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-Group.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-Group.xml (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <!-- 그룹 --> + <bean name="egovGroupIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy"> + <property name="dataSource" ref="egov.dataSource" /> + <property name="strategy" ref="groupIdStrategy" /> + <property name="blockSize" value="10"/> + <property name="table" value="COMTECOPSEQ"/> + <property name="tableName" value="GROUP_ID"/> + </bean> + <bean name="groupIdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> + <property name="prefix" value="GROUP_" /> + <property name="cipers" value="14" /> + <property name="fillChar" value="0" /> + </bean> + <!-- 그룹 --> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-Group.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-Role.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-Role.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-Role.xml (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <!-- 롤 ID --> + <bean name="egovRoleIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy"> + <property name="dataSource" ref="egov.dataSource" /> + <property name="strategy" ref="roleIdStrategy" /> + <property name="blockSize" value="10"/> + <property name="table" value="COMTECOPSEQ"/> + <property name="tableName" value="ROLE_ID"/> + </bean> + <bean name="roleIdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> + <property name="prefix" value="" /> + <property name="cipers" value="6" /> + <property name="fillChar" value="0" /> + </bean> + <!-- 롤 ID --> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-Role.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-SysLog.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-SysLog.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-SysLog.xml (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <!-- System Log... START--> + <bean name="egovSysLogIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy"> + <property name="dataSource" ref="egov.dataSource" /> + <property name="strategy" ref="sysLogStrategy" /> + <property name="blockSize" value="10"/> + <property name="table" value="COMTECOPSEQ"/> + <property name="tableName" value="SYSLOG_ID"/> + </bean> + <bean name="sysLogStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> + <property name="prefix" value="SYSLOG_" /> + <property name="cipers" value="13" /> + <property name="fillChar" value="0" /> + </bean> + <!-- System Log... END--> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-SysLog.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-StsfdgNo.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-StsfdgNo.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-StsfdgNo.xml (revision 7) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <!-- 답글 STSFDG_NO 생성 --> + <bean name="egovStsfdgNoGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy"> + <property name="dataSource" ref="egov.dataSource" /> + <property name="strategy" ref="stsfdgNoStrategy" /> + <property name="blockSize" value="10"/> + <property name="table" value="COMTECOPSEQ"/> + <property name="tableName" value="STSFDG_NO"/> + </bean> + <bean name="stsfdgNoStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> + <property name="cipers" value="20" /> + </bean> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-StsfdgNo.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-bbs.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-bbs.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-bbs.xml (revision 7) @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <bean name="egovBBSMstrIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy"> + <property name="dataSource" ref="egov.dataSource" /> + <property name="strategy" ref="bbsMstrStrategy" /> + <property name="blockSize" value="10"/> + <property name="table" value="COMTECOPSEQ"/> + <property name="tableName" value="BBS_ID"/> + </bean> + <bean name="bbsMstrStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> + <property name="prefix" value="BBSMSTR_" /> + <property name="cipers" value="12" /> + <property name="fillChar" value="0" /> + </bean> + + <!-- 게시판용 NTT_ID 생성 --> + <bean name="egovNttIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy"> + <property name="dataSource" ref="egov.dataSource" /> + <property name="strategy" ref="nttIdStrategy" /> + <property name="blockSize" value="10"/> + <property name="table" value="COMTECOPSEQ"/> + <property name="tableName" value="NTT_ID"/> + </bean> + <bean name="nttIdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> + <property name="cipers" value="20" /> + </bean> + + <!-- 게시판용 BLOG_ID 생성 --> + <bean name="egovBlogIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy"> + <property name="dataSource" ref="egov.dataSource" /> + <property name="strategy" ref="blogIdStrategy" /> + <property name="blockSize" value="10"/> + <property name="table" value="COMTECOPSEQ"/> + <property name="tableName" value="BLOG_ID"/> + </bean> + <bean name="blogIdStrategy" class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl"> + <property name="prefix" value="BLOG_" /> + <property name="cipers" value="15" /> + <property name="fillChar" value="0" /> + </bean> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/idgn/context-idgn-bbs.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/context-crypto.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/context-crypto.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/context-crypto.xml (revision 7) @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:egov-crypto="http://maven.egovframe.go.kr/schema/egov-crypto" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd + http://maven.egovframe.go.kr/schema/egov-crypto http://maven.egovframe.go.kr/schema/egov-crypto/egov-crypto-3.10.0.xsd"> + <!-- + initial : globals.properties 연계 Url, UserName, Password 값 로드 여부(설정값 : true, false) + crypto : 계정 암호화 여부(설정값 : true, false) + algorithm : 계정 암호화 알고리즘 + algorithmKey : 계정 암호화키 키 + cryptoBlockSize : 계정 암호화키 블록사이즈 + cryptoPropertyLocation : 설정파일 암복호화 경로 (선택) 기본값은 'classpath:/egovframework/egovProps/globals.properties' + --> + <egov-crypto:config id="egovCryptoConfig" + initial="true" + crypto="true" + algorithm="SHA-256" + algorithmKey="egovframe" + algorithmKeyHash="gdyYs/IZqY86VcWhT8emCYfqY1ahw2vtLG+/FzNqtrQ=" + cryptoBlockSize="1024" + cryptoPropertyLocation="classpath:/egovframework/egovProps/globals.properties" + /> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/context-crypto.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/context-mapper.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/context-mapper.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/context-mapper.xml (revision 7) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <!-- 실행환경에서 빈이름 참조(EgovAbstractDAO) --> + <bean id="egov.lobHandler" class="org.springframework.jdbc.support.lob.DefaultLobHandler" lazy-init="true" /> + + <!-- Mybatis setup for Mybatis Database Layer --> + <bean id="egov.sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean"> + <property name="dataSource" ref="egov.dataSource"/> + <property name="configLocation" value="classpath:/egovframework/mapper/config/mapper-config.xml" /> + + <property name="mapperLocations"> + <list> + <value>classpath:/egovframework/mapper/com/**/*_${Globals.DbType}.xml</value> + </list> + </property> + </bean> + + <!-- Mybatis Session Template --> + <bean id="egov.sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> + <constructor-arg ref="egov.sqlSession"/> + </bean> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/context-mapper.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/context-datasource.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/context-datasource.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/context-datasource.xml (revision 7) @@ -0,0 +1,141 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans + xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:util="http://www.springframework.org/schema/util" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd + http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"> + + <bean id="egov.propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> + <property name="locations"> + <list> + <value>classpath:/egovframework/egovProps/globals.properties</value> + <!-- value>file:/product/jeus/egovProps/globals.properties</value--> + </list> + </property> + </bean> + + <!-- DataSource --> + <alias name="dataSource" alias="egov.dataSource" /> + + <!-- MySQL --> + <beans profile="mysql"> + <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"> + <property name="driverClassName" value="${Globals.mysql.DriverClassName}"/> + <property name="url" value="${Globals.mysql.Url}" /> + <property name="username" value="${Globals.mysql.UserName}"/> + <!-- 암호화(Crypto) 관련 서비스 https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:crypto_simplify_v3_8 참조 --> + <property name="password" value="#{egovEnvCryptoService.getPassword()}"/> + </bean> + </beans> + + <!-- oracle --> + <beans profile="oracle"> + <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"> + <property name="driverClassName" value="${Globals.oracle.DriverClassName}"/> + <property name="url" value="${Globals.oracle.Url}" /> + <property name="username" value="${Globals.oracle.UserName}"/> + <property name="password" value="#{egovEnvCryptoService.getPassword()}"/> + </bean> + </beans> + + <!-- altibase --> + <beans profile="altibase"> + <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"> + <property name="driverClassName" value="${Globals.altibase.DriverClassName}"/> + <property name="url" value="${Globals.altibase.Url}" /> + <property name="username" value="${Globals.altibase.UserName}"/> + <property name="password" value="#{egovEnvCryptoService.getPassword()}"/> + + <property name="validationQuery" value="select 1"/> + <property name="testWhileIdle" value="true"/> + </bean> + </beans> + + <!-- tibero --> + <beans profile="tibero"> + <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"> + <property name="driverClassName" value="${Globals.tibero.DriverClassName}"/> + <property name="url" value="${Globals.tibero.Url}" /> + <property name="username" value="${Globals.tibero.UserName}"/> + <property name="password" value="#{egovEnvCryptoService.getPassword()}"/> + </bean> + </beans> + + <!-- cubrid --> + <beans profile="cubrid"> + <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"> + <property name="driverClassName" value="${Globals.cubrid.DriverClassName}"/> + <property name="url" value="${Globals.cubrid.Url}" /> + <property name="username" value="${Globals.cubrid.UserName}"/> + <property name="password" value="#{egovEnvCryptoService.getPassword()}"/> + + <property name="validationQuery" value="select 1"/> + <property name="testOnBorrow" value="false"/> + </bean> + </beans> + <!-- + CUBRID 가이드 참조 + https://www.cubrid.com/tutorial/3794188 + * DBCP를 통해 최초 connection 시 해당 connection이 유효한지 체크하는 isValid를 호출 + --> + + <!-- MariaDB --> + <beans profile="maria"> + <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"> + <property name="driverClassName" value="${Globals.maria.DriverClassName}"/> + <property name="url" value="${Globals.maria.Url}" /> + <property name="username" value="${Globals.maria.UserName}"/> + <property name="password" value="#{egovEnvCryptoService.getPassword()}"/> + </bean> + </beans> + + <!-- PostresSQL --> + <beans profile="postgres"> + <!-- 기본 설정 + <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close"> + <property name="driverClassName" value="${Globals.postgres.DriverClassName}"/> + <property name="url" value="${Globals.postgres.Url}" /> + <property name="username" value="${Globals.postgres.UserName}"/> + <property name="password" value="#{egovEnvCryptoService.getPassword()}"/> + </bean> --> + <bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig"> + <property name="poolName" value="springHikariCP" /> + <property name="connectionTestQuery" value="SELECT 1" /> + <property name="dataSourceClassName" value="org.postgresql.ds.PGSimpleDataSource" /> + <property name="dataSourceProperties"> + <props> + <prop key="url">${Globals.postgres.Url}</prop> + <prop key="user">${Globals.postgres.UserName}</prop> + <prop key="password">#{egovEnvCryptoService.getPassword()}</prop> + </props> + </property> + </bean> + <!-- <bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close"> + <constructor-arg ref="hikariConfig" /> + </bean> --> + <bean id="dataSource-psql-spied" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close"> + <constructor-arg ref="hikariConfig" /> + </bean> + <bean id="dataSource" class="net.sf.log4jdbc.Log4jdbcProxyDataSource"> + <constructor-arg ref="dataSource-psql-spied" /> + <property name="logFormatter"> + <bean class="net.sf.log4jdbc.tools.Log4JdbcCustomFormatter"> + <property name="loggingType" value="MULTI_LINE" /> + <property name="sqlPrefix" value="" /> + </bean> + </property> + </bean> + + </beans> + + <!-- DB Pool이 생성이 되더라고 특정 시간 호출되지 않으면 DBMS 설정에 따라 연결을 끊어질 때 + 이 경우 DBCP를 사용하셨다면.. 다음과 같은 설정을 추가하시면 연결을 유지시켜 줍니다. --> + <!-- + <property name="validationQuery" value="select 1 from dual" /> + <property name="testWhileIdle" value="true" /> + <property name="timeBetweenEvictionRunsMillis" value="60000" /> --> <!-- 1분 --> + + <!-- DBCP가 아닌 WAS의 DataSource를 사용하시는 경우도 WAS별로 동일한 설정을 하실 수 있습니다. + (WAS별 구체적인 설정은 WAS document 확인) --> +</beans> Property changes on: base3.10/src/main/resources/egovframework/spring/com/context-datasource.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/context-whitelist.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/context-whitelist.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/context-whitelist.xml (revision 7) @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" + xmlns:util="http://www.springframework.org/schema/util" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd + http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd"> + + <!-- /EgovPageLink.do 화이트 리스트 처리 (대상목록) --> + <util:list id="egovPageLinkWhitelist" value-type="java.lang.String"> + <value>/egovframework/com/sym/mnu/stm/EgovSiteMap</value> + <value>/cmm/sym/mpm/EgovSiteMap</value> + <value>/egovframework/com/main_bottom</value> + + <!-- <value>/egovframework/com/sec/rnc/EgovCallGpin</value> + <value>cmm/sec/rnc/EgovCallGpin</value> + <value>utl/sys/wsi/EgovWebStandardInspectionUriDirect</value> + <value>utl/sys/wsi/EgovWebStandardInspectionUri</value> + <value>utl/sys/wsi/EgovWebStandardInspectionUriDirectLink</value> --> + </util:list> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/context-whitelist.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-lgm.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-lgm.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-lgm.xml (revision 7) @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <!-- 시스템 로그 요약 --> + <bean id="sysLogging" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> + <property name="targetObject" ref="egovSysLogScheduling" /> + <property name="targetMethod" value="sysLogSummary" /> + <property name="concurrent" value="false" /> + </bean> + + <!-- 시스템 로그 요약 트리거--> + <bean id="sysLogTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> + <property name="jobDetail" ref="sysLogging" /> + <!-- 시작하고 1분후에 실행한다. (milisecond) --> + <property name="startDelay" value="60000" /> + <!-- 매 1시간마다 실행한다. (milisecond) --> + <property name="repeatInterval" value="3600000" /> + </bean> + + <!-- 시스템 로그 요약 스케줄러 --> + <bean id="sysLogScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> + <property name="triggers"> + <list> + <ref bean="sysLogTrigger" /> + </list> + </property> + </bean> + +</beans> Property changes on: base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-lgm.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-wlg.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-wlg.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-wlg.xml (revision 7) @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <!-- 웹 로그 요약 --> + <bean id="webLogging" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> + <property name="targetObject" ref="egovWebLogScheduling" /> + <property name="targetMethod" value="webLogSummary" /> + <property name="concurrent" value="false" /> + </bean> + + <!-- 웹 로그 요약 트리거--> + <bean id="webLogTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> + <property name="jobDetail" ref="webLogging" /> + <property name="startDelay" value="60000" /> + <property name="repeatInterval" value="3600000" /> + </bean> + + <!-- 웹 로그 요약 스케줄러 --> + <bean id="webLogScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> + <property name="triggers"> + <list> + <ref bean="webLogTrigger" /> + </list> + </property> + </bean> +</beans> Property changes on: base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-wlg.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-ulg.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-ulg.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-ulg.xml (revision 7) @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <!-- 사용자 로그 생성 --> + <bean id="userLogging" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> + <property name="targetObject" ref="egovUserLogScheduling" /> + <property name="targetMethod" value="userLogInsert" /> + <property name="concurrent" value="false" /> + </bean> + + <!-- 사용자 로그 생성 트리거--> + <bean id="userLogTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"> + <property name="jobDetail" ref="userLogging" /> + <!-- 시작하고 1분후에 실행한다. (milisecond) --> + <property name="startDelay" value="60000" /> + <!-- 매 1시간마다 실행한다. (milisecond) --> + <property name="repeatInterval" value="3600000" /> + </bean> + + + <!-- 사용자 로그 생성 스케줄러 --> + <bean id="userLogScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> + <property name="triggers"> + <list> + <ref bean="userLogTrigger" /> + </list> + </property> + </bean> + +</beans> Property changes on: base3.10/src/main/resources/egovframework/spring/com/scheduling/context-scheduling-sym-log-ulg.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/context-syslogaop.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/context-syslogaop.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/context-syslogaop.xml (revision 7) @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:aop="http://www.springframework.org/schema/aop" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd + http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd"> + + <!-- System Log Aspect --> + <bean id="syslog" class="egovframework.com.sym.log.lgm.service.EgovSysLogAspect" /> + + <aop:config> + <aop:aspect id="sysLogAspect" ref="syslog"> + <!-- insert로 시작되는 service Method --> + <aop:around pointcut="execution(public * egovframework.com..impl.*Impl.insert*(..))" method="logInsert" /> + <!-- update로 시작되는 service Method --> + <aop:around pointcut="execution(public * egovframework.com..impl.*Impl.update*(..))" method="logUpdate" /> + <!-- delete로 시작되는 service Method --> + <aop:around pointcut="execution(public * egovframework.com..impl.*Impl.delete*(..))" method="logDelete" /> + <!-- select로 시작되는 service Method --> + <aop:around pointcut="execution(public * egovframework.com..impl.*Impl.select*(..))" method="logSelect" /> + </aop:aspect> + </aop:config> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/context-syslogaop.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/context-security.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/context-security.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/context-security.xml (revision 7) @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:egov-security="http://maven.egovframe.go.kr/schema/egov-security" + xmlns:security="http://www.springframework.org/schema/security" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd + http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-4.2.xsd + http://maven.egovframe.go.kr/schema/egov-security http://maven.egovframe.go.kr/schema/egov-security/egov-security-3.10.0.xsd"> + +<!-- +수정일 수정자 수정내용 +========== ============ ================================================= +2011.09.07 서준식 일반, 업무사용자의 경우 조직아이디가 없어 로그인이 안되던 문제 수정(SQL 수정) +2011.09.25 서준식 usersByUsernameQuery 쿼리의 조직 아이디 비교 부분 오류 수정 > alias 추가 +2014.06.13 Vincent Han 표준프레임워크 3.0 적용 (간소화 설정 사용) +2017.07.10 장동한 실행행환경 v3.7 적용[보안기능 추가(sniff, xFrameOptions, xssProtection csrf)] +2018.10.26 신용호 실행행환경 v3.8 적용 +2020.08.28 정진호 표준프레임워크 v3.10 개선 + +--> + + <security:http pattern="/css/**" security="none"/> + <security:http pattern="/html/**" security="none"/> + <security:http pattern="/images/**" security="none"/> + <security:http pattern="/js/**" security="none"/> + <security:http pattern="/resource/**" security="none"/> + <security:http pattern="\A/WEB-INF/jsp/.*\Z" request-matcher="regex" security="none"/> + + <egov-security:config id="securityConfig" + loginUrl="/uat/uia/egovLoginUsr.do" + logoutSuccessUrl="/EgovContent.do" + loginFailureUrl="/uat/uia/egovLoginUsr.do?login_error=1" + accessDeniedUrl="/sec/ram/accessDenied.do" + + dataSource="egov.dataSource" + jdbcUsersByUsernameQuery="SELECT USER_ID, ESNTL_ID AS PASSWORD, 1 ENABLED, USER_NM, USER_ZIP, + USER_ADRES, USER_EMAIL, USER_SE, ORGNZT_ID, ESNTL_ID, + (select a.ORGNZT_NM from COMTNORGNZTINFO a where a.ORGNZT_ID = m.ORGNZT_ID) ORGNZT_NM + FROM COMVNUSERMASTER m WHERE CONCAT(USER_SE, USER_ID) = ?" + jdbcAuthoritiesByUsernameQuery="SELECT A.SCRTY_DTRMN_TRGET_ID USER_ID, A.AUTHOR_CODE AUTHORITY + FROM COMTNEMPLYRSCRTYESTBS A, COMVNUSERMASTER B + WHERE A.SCRTY_DTRMN_TRGET_ID = B.ESNTL_ID AND B.USER_ID = ?" + jdbcMapClass="egovframework.com.sec.security.common.EgovSessionMapping" + + requestMatcherType="regex" + hash="plaintext" + hashBase64="false" + + concurrentMaxSessons="1" + concurrentExpiredUrl="/EgovContent.do" + errorIfMaximumExceeded="false" + + defaultTargetUrl="/EgovContent.do" + alwaysUseDefaultTargetUrl="true" + + sniff="true" + xframeOptions="SAMEORIGIN" + xssProtection="true" + cacheControl="false" + csrf="false" + csrfAccessDeniedUrl="/egovCSRFAccessDenied.do" + /> + + <egov-security:secured-object-config id="securedObjectConfig" + sqlHierarchicalRoles=" + SELECT a.CHLDRN_ROLE as child, a.PARNTS_ROLE parent + FROM COMTNROLES_HIERARCHY a LEFT JOIN COMTNROLES_HIERARCHY b on (a.CHLDRN_ROLE = b.PARNTS_ROLE)" + sqlRolesAndUrl=" + SELECT a.ROLE_PTTRN url, b.AUTHOR_CODE authority + FROM COMTNROLEINFO a, COMTNAUTHORROLERELATE b + WHERE a.ROLE_CODE = b.ROLE_CODE + AND a.ROLE_TY = 'url' ORDER BY a.ROLE_SORT" + sqlRolesAndMethod=" + SELECT a.ROLE_PTTRN as &quot;method&quot;, b.AUTHOR_CODE authority + FROM COMTNROLEINFO a, COMTNAUTHORROLERELATE b + WHERE a.ROLE_CODE = b.ROLE_CODE + AND a.ROLE_TY = 'method' ORDER BY a.ROLE_SORT" + sqlRolesAndPointcut=" + SELECT a.ROLE_PTTRN pointcut, b.AUTHOR_CODE authority + FROM COMTNROLEINFO a, COMTNAUTHORROLERELATE b + WHERE a.ROLE_CODE = b.ROLE_CODE + AND a.ROLE_TY = 'pointcut' ORDER BY a.ROLE_SORT" + sqlRegexMatchedRequestMapping=" + SELECT a.ROLE_PTTRN uri, b.AUTHOR_CODE authority + FROM COMTNROLEINFO a, COMTNAUTHORROLERELATE b + WHERE a.ROLE_CODE = b.ROLE_CODE + AND a.ROLE_TY = 'regex' + ORDER BY a.ROLE_SORT" + /> + + <egov-security:initializer id="initializer" supportMethod="true" supportPointcut="false" /> + + <!-- URL에 세미콜론(semicolon)허용 여부(기본값/false) --> + <!-- + <bean id="egovStrictHttpFirewall" class="org.springframework.security.web.firewall.StrictHttpFirewall"> + <property name="allowSemicolon" value="true"/> + </bean> + <security:http-firewall ref="egovStrictHttpFirewall"/> + --> + +</beans> Property changes on: base3.10/src/main/resources/egovframework/spring/com/context-security.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/context-config.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/context-config.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/context-config.xml (revision 7) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:p="http://www.springframework.org/schema/p" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <!-- 로그인인증설정 --> + <bean id="egovLoginConfig" class="egovframework.com.cmm.config.EgovLoginConfig"> + <!-- 로그인 인증 제한 여부 --> + <property name="lock" value="${Globals.login.Lock}"/> + <!-- 로그인 인증 제한 횟수 --> + <property name="lockCount" value="${Globals.login.LockCount}"/> + </bean> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/context-config.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/context-validator.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/context-validator.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/context-validator.xml (revision 7) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <!-- Integration Apache Commons Validator by Spring Modules --> + <bean id="beanValidator" class="org.springmodules.validation.commons.DefaultBeanValidator"> + <property name="validatorFactory" ref="validatorFactory"/> + </bean> + + <bean id="validatorFactory" class="org.springmodules.validation.commons.DefaultValidatorFactory"> + <property name="validationConfigLocations"> + <list> + <!-- 공통기술 --> + <value>classpath:/egovframework/validator/com-rules.xml</value> + <value>classpath:/egovframework/validator/validator-rules.xml</value> + <value>classpath:/egovframework/validator/**/*.xml</value> + </list> + </property> + </bean> + +</beans> Property changes on: base3.10/src/main/resources/egovframework/spring/com/context-validator.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/context-aspect.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/context-aspect.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/context-aspect.xml (revision 7) @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:aop="http://www.springframework.org/schema/aop" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd + http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd"> + + <aop:config> + <aop:pointcut id="egov.serviceMethod" expression="execution(* egovframework.com..impl.*Impl.*(..))" /> + + <aop:aspect ref="egov.exceptionTransfer"> + <aop:after-throwing throwing="exception" pointcut-ref="egov.serviceMethod" method="transfer" /> + </aop:aspect> + </aop:config> + + <bean id="egov.exceptionTransfer" class="egovframework.rte.fdl.cmmn.aspect.ExceptionTransfer"> + <property name="exceptionHandlerService"> + <list> + <ref bean="defaultExceptionHandleManager" /> + <ref bean="otherExceptionHandleManager" /> + </list> + </property> + </bean> + + <bean id="defaultExceptionHandleManager" class="egovframework.rte.fdl.cmmn.exception.manager.DefaultExceptionHandleManager"> + <property name="reqExpMatcher"> + <ref bean="egov.antPathMater"/> + </property> + <property name="patterns"> + <list> + <value>**service.impl.*</value> + </list> + </property> + <property name="handlers"> + <list> + <ref bean="egovHandler" /> + </list> + </property> + </bean> + + <bean id="otherExceptionHandleManager" class="egovframework.rte.fdl.cmmn.exception.manager.DefaultExceptionHandleManager"> + <property name="reqExpMatcher"> + <ref bean="egov.antPathMater"/> + </property> + <property name="patterns"> + <list> + <value>**service.impl.*</value> + </list> + </property> + <property name="handlers"> + <list> + <ref bean="otherHandler" /> + </list> + </property> + </bean> + + <bean id="egovHandler" class="egovframework.com.cmm.EgovComExcepHndlr" /> + <bean id="otherHandler" class="egovframework.com.cmm.EgovComOthersExcepHndlr" /> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/context-aspect.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/context-common.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/context-common.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/context-common.xml (revision 7) @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:context="http://www.springframework.org/schema/context" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> + + <context:component-scan base-package="egovframework,froala"> + <context:include-filter type="annotation" expression="org.springframework.stereotype.Service"/> + <context:include-filter type="annotation" expression="org.springframework.stereotype.Repository"/> + <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> + </context:component-scan> + + <context:annotation-config/> + + <!-- 국제화 Message 설정 --> + <bean id="messageSource" class="egovframework.com.cmm.util.EgovWildcardReloadableResourceBundleMessageSource"> + <property name="egovBasenames"> + <list> + <value>classpath*:egovframework/message/com/**/*</value> + <value>classpath:/egovframework/rte/fdl/idgnr/messages/idgnr</value> + <value>classpath:/egovframework/rte/fdl/property/messages/properties</value> + <value>classpath:/egovframework/egovProps/globals</value> + </list> + </property> + + <property name="cacheSeconds"> + <value>60</value> + </property> + </bean> + + <bean id="egovMessageSource" class="egovframework.com.cmm.EgovMessageSource"> + <property name="reloadableResourceBundleMessageSource"> + <ref bean="messageSource" /> + </property> + </bean> + + <!-- 실행환경에서 빈 이름 참조(AbstractServiceImpl) --> + <bean id="leaveaTrace" class="egovframework.rte.fdl.cmmn.trace.LeaveaTrace"> + <property name="traceHandlerServices"> + <list> + <ref bean="egov.traceHandlerService" /> + </list> + </property> + </bean> + + <bean id="egov.traceHandlerService" class="egovframework.rte.fdl.cmmn.trace.manager.DefaultTraceHandleManager"> + <property name="reqExpMatcher"> + <ref bean="egov.antPathMater" /> + </property> + <property name="patterns"> + <list> + <value>*</value> + </list> + </property> + <property name="handlers"> + <list> + <ref bean="egov.defaultTraceHandler" /> + </list> + </property> + </bean> + + <bean id="egov.antPathMater" class="org.springframework.util.AntPathMatcher" /> + + <bean id="egov.defaultTraceHandler" class="egovframework.rte.fdl.cmmn.trace.handler.DefaultTraceHandler" /> + + + <!-- MULTIPART RESOLVERS --> + <!-- regular spring resolver --> + <bean id="spring.RegularCommonsMultipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> + <property name="maxUploadSize" value="-1" /> + <property name="maxInMemorySize" value="100000000" /> + </bean> + + <!-- custom multi file resolver --> +<!-- <bean id="local.MultiCommonsMultipartResolver" class="egovframework.com.cmm.web.EgovMultipartResolver"> --> +<!-- <property name="maxUploadSize" value="50000000" /> --> +<!-- <property name="maxInMemorySize" value="100000000" /> --> +<!-- </bean> --> + + <!-- choose one from above and alias it to the name Spring expects --> +<!-- <alias name="local.MultiCommonsMultipartResolver" alias="multipartResolver" /> --> + <alias name="spring.RegularCommonsMultipartResolver" alias="multipartResolver" /> + +</beans> Property changes on: base3.10/src/main/resources/egovframework/spring/com/context-common.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/context-properties.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/context-properties.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/context-properties.xml (revision 7) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + + <bean name="propertiesService" class="egovframework.rte.fdl.property.impl.EgovPropertyServiceImpl" destroy-method="destroy"> + <property name="properties"> + <map> + <entry key="pageUnit" value="10"/> + <entry key="pageSize" value="10"/> + </map> + </property> + </bean> + +</beans> Property changes on: base3.10/src/main/resources/egovframework/spring/com/context-properties.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/test-context-crypto.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/test-context-crypto.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/test-context-crypto.xml (revision 7) @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:egov-crypto="http://maven.egovframe.go.kr/schema/egov-crypto" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd + http://maven.egovframe.go.kr/schema/egov-crypto http://maven.egovframe.go.kr/schema/egov-crypto/egov-crypto-3.10.0.xsd"> + + <bean name="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> + <property name="useCodeAsDefaultMessage"> + <value>true</value> + </property> + <property name="basenames"> + <list> + <value>classpath:/egovframework/egovProps/globals</value> + </list> + </property> + </bean> + + <!-- + initial : globals.properties 연계 Url, UserName, Password 값 로드 여부(설정값 : true, false) + crypto : 계정 암호화 여부(설정값 : true, false) + algorithm : 계정 암호화 알고리즘 + algorithmKey : 계정 암호화키 키 + cryptoBlockSize : 계정 암호화키 블록사이즈 + cryptoPropertyLocation : 설정파일 암복호화 경로 (선택) 기본값은 'classpath:/egovframework/egovProps/globals.properties' + --> + <egov-crypto:config id="egovCryptoConfig" + initial="true" + crypto="true" + algorithm="SHA-256" + algorithmKey="egovframe" + algorithmKeyHash="gdyYs/IZqY86VcWhT8emCYfqY1ahw2vtLG+/FzNqtrQ=" + cryptoBlockSize="1024" + cryptoPropertyLocation="classpath:/egovframework/egovProps/globals.properties" + /> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/resources/egovframework/spring/com/test-context-crypto.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/context-egovuserdetailshelper.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/context-egovuserdetailshelper.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/context-egovuserdetailshelper.xml (revision 7) @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:p="http://www.springframework.org/schema/p" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd"> + +<!-- + 수정일 수성자 수정내용 + =========== ======== ================================================= + 2011.10.11 이기하 context-common.xml 파일에서 별도분리 + 2016.06.21 장동한 spring profile 방식으로 변경 / 세션(Session), 시큐리티(Security) 인증 + 2017.09.04 장동한 spring profile 이용한 더미(Dummy), 세션(Session), 시큐리티(Security) + + ************************************************************************************************ + 1.Spring Profile을 이용한 더미(Dummy) 사용자 인증 + + 2.Spring Profile을 이용한 세션(Session) 사용자 인증 + + 3.Spring Profile을 이용한 시큐리티(Security) 사용자 인증 + ************************************************************************************************ +--> + +<!-- 1.더미(Dummy) 인증 --> +<beans profile="dummy"> + <bean id="egovUserDetailsHelper" class="egovframework.com.cmm.util.EgovUserDetailsHelper" + p:egovUserDetailsService="#{new egovframework.com.cmm.service.impl.EgoDummyUserDetailsServiceImpl()}"/> +</beans> + +<!-- 2.세션(Session) 인증 --> +<beans profile="session"> + <bean id="egovUserDetailsHelper" class="egovframework.com.cmm.util.EgovUserDetailsHelper" + p:egovUserDetailsService="#{new egovframework.com.cmm.service.impl.EgovUserDetailsSessionServiceImpl()}"/> +</beans> + +<!-- 3.시큐리티(Security) 인증 --> +<beans profile="security"> + <bean id="egovUserDetailsHelper" class="egovframework.com.cmm.util.EgovUserDetailsHelper"> + <property name="egovUserDetailsService" ref="egovUserDetailsSecurityService" /> + </bean> + <!-- 스프링 시큐리티를 이용한 인증을 사용할 빈 --> + <bean id="egovUserDetailsSecurityService" class="egovframework.com.sec.ram.service.impl.EgovUserDetailsSecurityServiceImpl"/> +</beans> + +</beans> Property changes on: base3.10/src/main/resources/egovframework/spring/com/context-egovuserdetailshelper.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/egovframework/spring/com/context-transaction.xml =================================================================== --- base3.10/src/main/resources/egovframework/spring/com/context-transaction.xml (nonexistent) +++ base3.10/src/main/resources/egovframework/spring/com/context-transaction.xml (revision 7) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:aop="http://www.springframework.org/schema/aop" + xmlns:tx="http://www.springframework.org/schema/tx" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd + http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd + http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd"> + + <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> + <property name="dataSource" ref="egov.dataSource"/> + </bean> + + <tx:advice id="txAdvice" transaction-manager="txManager"> + <tx:attributes> + <tx:method name="*" propagation="REQUIRED" rollback-for="Exception"/> + </tx:attributes> + </tx:advice> + + <aop:config> + <aop:pointcut id="requiredTx" expression="execution(* egovframework.com..*Impl.*(..)) or + execution(* egovframework.rte.fdl.excel.impl.*Impl.*(..))"/> + <aop:advisor advice-ref="txAdvice" pointcut-ref="requiredTx" /> + </aop:config> + +</beans> Property changes on: base3.10/src/main/resources/egovframework/spring/com/context-transaction.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/resources/social.sql =================================================================== --- base3.10/src/main/resources/social.sql (nonexistent) +++ base3.10/src/main/resources/social.sql (revision 7) @@ -0,0 +1,14 @@ +create table UserConnection ( + userId varchar(255) not null, + providerId varchar(255) not null, + providerUserId varchar(255), + rank int not null, + displayName varchar(255), + profileUrl varchar(512), + imageUrl varchar(512), + accessToken varchar(255) not null, + secret varchar(255), + refreshToken varchar(255), + expireTime bigint, + primary key (userId, providerId, providerUserId)); +create unique index UserConnectionRank on UserConnection(userId, providerId, rank); \ No newline at end of file Index: base3.10/src/main/resources/lucy-xss-servlet-filter-rule.xml =================================================================== --- base3.10/src/main/resources/lucy-xss-servlet-filter-rule.xml (nonexistent) +++ base3.10/src/main/resources/lucy-xss-servlet-filter-rule.xml (revision 7) @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<config xmlns="http://www.navercorp.com/lucy-xss-servlet"> + <defenders> + <!-- XssPreventer 등록 --> + <defender> + <name>xssPreventerDefender</name> + <class>com.navercorp.lucy.security.xss.servletfilter.defender.XssPreventerDefender</class> + </defender> + + <!-- XssSaxFilter 등록 --> + <defender> + <name>xssSaxFilterDefender</name> + <class>com.navercorp.lucy.security.xss.servletfilter.defender.XssSaxFilterDefender</class> + <init-param> + <param-value>lucy-xss-sax.xml</param-value> <!-- lucy-xss-filter의 sax용 설정파일 --> + <param-value>false</param-value> <!-- 필터링된 코멘트를 남길지 여부, 성능 효율상 false 추천 --> + </init-param> + </defender> + + <!-- XssFilter 등록 --> + <defender> + <name>xssFilterDefender</name> + <class>com.navercorp.lucy.security.xss.servletfilter.defender.XssFilterDefender</class> + <init-param> + <param-value>lucy-xss.xml</param-value> <!-- lucy-xss-filter의 dom용 설정파일 --> + <param-value>false</param-value> <!-- 필터링된 코멘트를 남길지 여부, 성능 효율상 false 추천 --> + </init-param> + </defender> + </defenders> + + <!-- default defender 선언, 필터링 시 지정한 defender가 없으면 여기 정의된 default defender를 사용해 필터링 한다. --> + <default> + <defender>xssPreventerDefender</defender> + </default> + + <!-- global 필터링 룰 선언 --> + <global> + <!-- 모든 url에서 들어오는 globalParameter 파라메터는 필터링 되지 않으며 + 또한 globalPrefixParameter1로 시작하는 파라메터도 필터링 되지 않는다. + globalPrefixParameter2는 필터링 되며 globalPrefixParameter3은 필터링 되지 않지만 + 더 정확한 표현이 가능하므로 globalPrefixParameter2, globalPrefixParameter3과 같은 불분명한 표현은 사용하지 않는 것이 좋다. --> + <params> + <param name="nttCn" useDefender="false" /> <!-- 게시글 내용 --> + <param name="bbsForm" useDefender="false" /> <!-- 게시판 양식 --> + <param name="menuNm" useDefender="false" /> <!-- 메뉴명 --> + <!-- <param name="useStplatCn" useDefender="false" /> + <param name="infoProvdAgreCn" useDefender="false" /> + <param name="stuProDesc" useDefender="false" /> + <param name="entProDesc" useDefender="false" /> + <param name="usePerDataCn" useDefender="false" /> --> + + <!-- <param name="globalParameter" useDefender="false" /> + <param name="globalPrefixParameter1" usePrefix="true" useDefender="false" /> + <param name="globalPrefixParameter2" usePrefix="true" /> + <param name="globalPrefixParameter3" usePrefix="false" useDefender="false" /> --> + </params> + </global> + + <!-- url 별 필터링 룰 선언 --> + <url-rule-set> + + <!-- url disable이 true이면 지정한 url 내의 모든 파라메터는 필터링 되지 않는다. --> + <url-rule> + <url disable="true">/disableUrl1.do</url> + </url-rule> + + <!-- url disable이 false인 설정은 기본이기 때문에 불필요하다. 아래와 같은 불필요한 설정은 하지 않는다.--> +<!-- <url-rule> --> +<!-- <url disable="false">/disableUrl2.do</url> --> +<!-- </url-rule> --> + + <!-- url disable이 true이면 지정한 url 내의 모든 파라메터가 필터링 되지 않기 때문에 <params> 로 선언한 설정은 적용되지 않는다. + 아래와 같은 불필요한 설정은 하지 않는다. --> + <url-rule> + <url disable="true">/disableUrl3.do</url> + <params> + <param name="query" useDefender="false" /> + <param name="prefix1" usePrefix="true" /> + <param name="prefix2" usePrefix="false" useDefender="false" /> + <param name="prefix3" usePrefix="true" useDefender="true" /> + <param name="prefix4" usePrefix="true" useDefender="false" /> + <param name="prefix5" usePrefix="false" useDefender="true" /> + </params> + </url-rule> + + <!-- url disable이 false인 설정은 기본이기 때문에 불필요하다. <params> 선언한 설정은 적용이 된다.--> + <url-rule> + <url disable="false">/disableUrl4.do</url> + <params> + <!-- disableUrl4.do 의 query 파라메터와 prefix4로 시작하는 파라메터들은 필터링 되지 않는다. + usePrefix가 false, useDefender가 true인 설정은 기본이기 때문에 불필요하다. --> + <param name="query" useDefender="false" /> + <param name="prefix1" usePrefix="true" /> + <param name="prefix2" usePrefix="false" useDefender="false" /> + <param name="prefix3" usePrefix="true" useDefender="true" /> + <param name="prefix4" usePrefix="true" useDefender="false" /> + <param name="prefix5" usePrefix="false" useDefender="true" /> + <param name="prefix6" usePrefix="true"> + <defender>xssSaxFilterDefender</defender> + </param> + </params> + </url-rule> + + <!-- url1 내의 url1Parameter는 필터링 되지 않으며 또한 url1PrefixParameter로 시작하는 파라메터도 필터링 되지 않는다. globalParameter는 + 상위 글로벌 global 설정에 동일한 이름으로 되어있지만 url-rule 설정을 더 우선하여 따른다. --> + <url-rule> + <url>/url1.do</url> + <params> + <param name="url1Parameter" useDefender="false" /> + <param name="url1PrefixParameter" usePrefix="true" useDefender="false" /> + <param name="globalParameter"/> + </params> + </url-rule> + + <!-- url2 내의 url2Parameter1만 필터링 되지 않으며 url2Parameter2는 xssSaxFilterDefender를 사용해 필터링 한다. --> + <url-rule> + <url>/url2.do</url> + <params> + <param name="url2Parameter1" useDefender="false"> + <defender>xssPreventerDefender</defender> + </param> + <param name="url2Parameter2"> + <defender>xssSaxFilterDefender</defender> + </param> + <param name="url2Parameter3"> + <defender>xssPreventerDefender</defender> + </param> + </params> + </url-rule> + </url-rule-set> +</config> \ No newline at end of file Property changes on: base3.10/src/main/resources/lucy-xss-servlet-filter-rule.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/code500.jsp =================================================================== --- base3.10/src/main/webapp/code500.jsp (nonexistent) +++ base3.10/src/main/webapp/code500.jsp (revision 7) @@ -0,0 +1,37 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>▒▒▒ eGovFrame Potal 온라인 지원 포탈 ▒▒▒</title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css" /> + +<script language="javascript"> +function fncGoAfterErrorPage(){ + history.back(-2); +} +</script> +</head> +<body> +<div style="width: 1000px; margin: 50px auto 50px;"> + <p style="font-size: 18px; color: #000; margin-bottom: 10px; "><img src="<c:url value='/images/egovframework/com/cmm/er_logo.jpg' />" width="379" height="57" /></p> + <div style="border: 0px solid #666; padding: 20px;"> + <!-- 404 --> + <p style="color:red; margin-bottom: 8px; ">500 Error</p> + + <div class="boxType1" style="width: 500px;"> + <div class="box"> + <div class="error"> + <p class="title">HTTP 500 Error</p> + <p class="cont mb20">HTTP 500 Internal Server error.<br /></p> + <span class="btn_style1 blue"><a href="javascript:fncGoAfterErrorPage();">이전 페이지</a></span> + </div> + </div> + </div> + </div> +</div> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/code500.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/ext/msg/table.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/ext/msg/table.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/ext/msg/table.css (revision 7) @@ -0,0 +1,165 @@ + +body, html { height: 100%; } +html, body, div, span, applet, object, iframe, +/*h1, h2, h3, h4, h5, h6,*/ p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; +} +body { line-height: 1; } + +ol, ul { list-style: none; } +blockquote, q { quotes: none; } +blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; } +:focus { outline: 0; } +del { text-decoration: line-through; } +table {border-spacing: 0; } /* IMPORTANT, I REMOVED border-collapse: collapse; FROM THIS LINE IN ORDER TO MAKE THE OUTER BORDER RADIUS WORK */ + +/*------------------------------------------------------------------ */ + +/*This is not important*/ +body{ + font-family:Arial, Helvetica, sans-serif; + color: #222222; + margin:0 auto; + width:520px; +} +a:link { + color: #666; + font-weight: bold; + text-decoration:none; +} +a:visited { + color: #666; + font-weight:bold; + text-decoration:none; +} +a:active, +a:hover { + color: #bd5a35; + text-decoration:underline; +} + + +/* +Table Style - This is what you want +------------------------------------------------------------------ */ +table a:link { + color: #666; + font-weight: bold; + text-decoration:none; +} +table a:visited { + color: #999999; + font-weight:bold; + text-decoration:none; +} +table a:active, +table a:hover { + color: #bd5a35; + text-decoration:underline; +} +table { + font-family:Arial, Helvetica, sans-serif; + color:#666; + font-size:12px; + text-shadow: 1px 1px 0px #fff; + background:#eaebec; + margin:20px; + border:#ccc 1px solid; + + -moz-border-radius:3px; + -webkit-border-radius:3px; + border-radius:3px; + + -moz-box-shadow: 0 1px 2px #d1d1d1; + -webkit-box-shadow: 0 1px 2px #d1d1d1; + box-shadow: 0 1px 2px #d1d1d1; +} +table th { + padding:21px 25px 22px 25px; + border-top:1px solid #fafafa; + border-bottom:1px solid #e0e0e0; + + background: #ededed; + background: -webkit-gradient(linear, left top, left bottom, from(#ededed), to(#ebebeb)); + background: -moz-linear-gradient(top, #ededed, #ebebeb); +} +table th:first-child{ + text-align: left; + padding-left:20px; +} +table tr:first-child th:first-child{ + -moz-border-radius-topleft:3px; + -webkit-border-top-left-radius:3px; + border-top-left-radius:3px; +} +table tr:first-child th:last-child{ + -moz-border-radius-topright:3px; + -webkit-border-top-right-radius:3px; + border-top-right-radius:3px; +} +table tr{ + text-align: center; + padding-left:20px; +} +table tr td:first-child{ + text-align: left; + padding-left:20px; + border-left: 0; +} +table tr td { + padding:18px; + border-top: 1px solid #ffffff; + border-bottom:1px solid #e0e0e0; + border-left: 1px solid #e0e0e0; + + background: #fafafa; + background: -webkit-gradient(linear, left top, left bottom, from(#fbfbfb), to(#fafafa)); + background: -moz-linear-gradient(top, #fbfbfb, #fafafa); +} +table tr.even td{ + background: #f6f6f6; + background: -webkit-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f6f6f6)); + background: -moz-linear-gradient(top, #f8f8f8, #f6f6f6); +} +table tr:last-child td{ + border-bottom:0; +} +table tr:last-child td:first-child{ + -moz-border-radius-bottomleft:3px; + -webkit-border-bottom-left-radius:3px; + border-bottom-left-radius:3px; +} +table tr:last-child td:last-child{ + -moz-border-radius-bottomright:3px; + -webkit-border-bottom-right-radius:3px; + border-bottom-right-radius:3px; +} +table tr:hover td{ + background: #f2f2f2; + background: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), to(#f0f0f0)); + background: -moz-linear-gradient(top, #f2f2f2, #f0f0f0); +} + +#content { + font-family: Arial, Helvetica; + background: #fafafa; + color: #222222; + text-shadow: 0px 1px 0px #fff; + font-size: 30px; + /* font-weight: bold; */ + letter-spacing: -2px; + margin-top: 5%; +} Property changes on: base3.10/src/main/webapp/css/egovframework/com/ext/msg/table.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/ext/msg/button.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/ext/msg/button.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/ext/msg/button.css (revision 7) @@ -0,0 +1,3 @@ +button {cursor:hand; border:0px solid #FFFFFF; padding:0px 0px 0px 0px; background-color:#FFFFFF; white-space:nowrap;} +.btn_blue_l {float:left; background:url(../../images/egovframework/example/btn_bg_l.gif) 0 0 no-repeat; height:20px; padding:0px 0px 0px 10px; margin:0px 0px 0px 0px;} +.btn_blue_r {float:left; background:url(../../images/egovframework/example/btn_bg_r.gif) 0 0 no-repeat; background-position:right; height:20px; font-family:"돋움"; font-size:11px; color:#000000; margin:0px 0px 0px 0px; padding-top:0px; _padding-top:0px; padding-left:10px; padding-right:10px; padding-bottom:0px; text-align:center;} Property changes on: base3.10/src/main/webapp/css/egovframework/com/ext/msg/button.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/ext/msg/bubbleChat.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/ext/msg/bubbleChat.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/ext/msg/bubbleChat.css (revision 7) @@ -0,0 +1,81 @@ + input { + padding: 5px; + font-size: 10px; + text-shadow: 0px 1px 0px #fff; + outline: none; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + border: 1px solid #ccc; + -webkit-transition: .3s ease-in-out; + -moz-transition: .3s ease-in-out; + -o-transition: .3s ease-in-out; +} + + input:focus { + border: 1px solid #fafafa; + -webkit-box-shadow: 0px 0px 6px #007eff; + -moz-box-shadow: 0px 0px 5px #007eff; + box-shadow: 0px 0px 5px #007eff; + } + + .chat { + font-family: Arial; + font-size: 11px; + padding: 10px; + border: 1px solid #aaa; + width: 300px; + height: 400px; + overflow: scroll; + } + + .bubble { + background-color: #F2F2F2; + border-radius: 5px; + border: 1px solid #bbb; + box-shadow: 0 1px 6px #B2B2B2; + display: block; + padding: 10px 18px; + margin: 1em 18px; + position: relative; + vertical-align: top; } + + .tail { + position: absolute; + height: 18px; + width: 18px; + overflow: hidden; } + .tail:before { + border: 1px solid #bbb; + background-color: #F2F2F2; + box-shadow: 0 1px 6px #B2B2B2; + content: "\00a0"; + display: block; + position: absolute; + top: 0px; + height: 12px; + width: 12px; } + +.bubble.left { + text-align: left; } + .bubble.left .tail { + top: 12px; + left: -18px; } + .bubble.left .tail:before { + left: 12px; + -webkit-transform: skewX(-45deg); + -moz-transform: skewX(-45deg); + -o-transform: skewX(-45deg); } + +.bubble.right { + text-align: right; } + .bubble.right .tail { + top: 12px; + right: -18px; } + .bubble.right .tail:before { + right: 12px; + -webkit-transform: skewX(45deg); + -moz-transform: skewX(45deg); + -o-transform: skewX(45deg); } + + \ No newline at end of file Property changes on: base3.10/src/main/webapp/css/egovframework/com/ext/msg/bubbleChat.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/cmm/jquery-ui_1.12.1.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/cmm/jquery-ui_1.12.1.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/cmm/jquery-ui_1.12.1.css (revision 7) @@ -0,0 +1,1326 @@ +/*! jQuery UI - v1.12.1 - 2016-09-14 +* http://jqueryui.com +* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=e9e9e9&bgTextureHeader=flat&borderColorHeader=dddddd&fcHeader=333333&iconColorHeader=444444&bgColorContent=ffffff&bgTextureContent=flat&borderColorContent=dddddd&fcContent=333333&iconColorContent=444444&bgColorDefault=f6f6f6&bgTextureDefault=flat&borderColorDefault=c5c5c5&fcDefault=454545&iconColorDefault=777777&bgColorHover=ededed&bgTextureHover=flat&borderColorHover=cccccc&fcHover=2b2b2b&iconColorHover=555555&bgColorActive=007fff&bgTextureActive=flat&borderColorActive=003eff&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=fffa90&bgTextureHighlight=flat&borderColorHighlight=dad55e&fcHighlight=777620&iconColorHighlight=777620&bgColorError=fddfdf&bgTextureError=flat&borderColorError=f1a899&fcError=5f3f3f&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { + display: none; +} +.ui-helper-hidden-accessible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.ui-helper-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + line-height: 1.3; + text-decoration: none; + font-size: 100%; + list-style: none; +} +.ui-helper-clearfix:before, +.ui-helper-clearfix:after { + content: ""; + display: table; + border-collapse: collapse; +} +.ui-helper-clearfix:after { + clear: both; +} +.ui-helper-zfix { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + opacity: 0; + filter:Alpha(Opacity=0); /* support: IE8 */ +} + +.ui-front { + z-index: 100; +} + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { + cursor: default !important; + pointer-events: none; +} + + +/* Icons +----------------------------------*/ +.ui-icon { + display: inline-block; + vertical-align: middle; + margin-top: -.25em; + position: relative; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; +} + +.ui-widget-icon-block { + left: 50%; + margin-left: -8px; + display: block; +} + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ui-accordion .ui-accordion-header { + display: block; + cursor: pointer; + position: relative; + margin: 2px 0 0 0; + padding: .5em .5em .5em .7em; + font-size: 100%; +} +.ui-accordion .ui-accordion-content { + padding: 1em 2.2em; + border-top: 0; + overflow: auto; +} +.ui-autocomplete { + position: absolute; + top: 0; + left: 0; + cursor: default; +} +.ui-menu { + list-style: none; + padding: 0; + margin: 0; + display: block; + outline: 0; +} +.ui-menu .ui-menu { + position: absolute; +} +.ui-menu .ui-menu-item { + margin: 0; + cursor: pointer; + /* support: IE10, see #8844 */ + list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); +} +.ui-menu .ui-menu-item-wrapper { + position: relative; + padding: 3px 1em 3px .4em; +} +.ui-menu .ui-menu-divider { + margin: 5px 0; + height: 0; + font-size: 0; + line-height: 0; + border-width: 1px 0 0 0; +} +.ui-menu .ui-state-focus, +.ui-menu .ui-state-active { + margin: -1px; +} + +/* icon support */ +.ui-menu-icons { + position: relative; +} +.ui-menu-icons .ui-menu-item-wrapper { + padding-left: 2em; +} + +/* left-aligned */ +.ui-menu .ui-icon { + position: absolute; + top: 0; + bottom: 0; + left: .2em; + margin: auto 0; +} + +/* right-aligned */ +.ui-menu .ui-menu-icon { + left: auto; + right: 0; +} +.ui-button { + padding: .4em 1em; + display: inline-block; + position: relative; + line-height: normal; + margin-right: .1em; + cursor: pointer; + vertical-align: middle; + text-align: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + /* Support: IE <= 11 */ + overflow: visible; +} + +.ui-button, +.ui-button:link, +.ui-button:visited, +.ui-button:hover, +.ui-button:active { + text-decoration: none; +} + +/* to make room for the icon, a width needs to be set here */ +.ui-button-icon-only { + width: 2em; + box-sizing: border-box; + text-indent: -9999px; + white-space: nowrap; +} + +/* no icon support for input elements */ +input.ui-button.ui-button-icon-only { + text-indent: 0; +} + +/* button icon element(s) */ +.ui-button-icon-only .ui-icon { + position: absolute; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; +} + +.ui-button.ui-icon-notext .ui-icon { + padding: 0; + width: 2.1em; + height: 2.1em; + text-indent: -9999px; + white-space: nowrap; + +} + +input.ui-button.ui-icon-notext .ui-icon { + width: auto; + height: auto; + text-indent: 0; + white-space: normal; + padding: .4em 1em; +} + +/* workarounds */ +/* Support: Firefox 5 - 40 */ +input.ui-button::-moz-focus-inner, +button.ui-button::-moz-focus-inner { + border: 0; + padding: 0; +} +.ui-controlgroup { + vertical-align: middle; + display: inline-block; +} +.ui-controlgroup > .ui-controlgroup-item { + float: left; + margin-left: 0; + margin-right: 0; +} +.ui-controlgroup > .ui-controlgroup-item:focus, +.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus { + z-index: 9999; +} +.ui-controlgroup-vertical > .ui-controlgroup-item { + display: block; + float: none; + width: 100%; + margin-top: 0; + margin-bottom: 0; + text-align: left; +} +.ui-controlgroup-vertical .ui-controlgroup-item { + box-sizing: border-box; +} +.ui-controlgroup .ui-controlgroup-label { + padding: .4em 1em; +} +.ui-controlgroup .ui-controlgroup-label span { + font-size: 80%; +} +.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item { + border-left: none; +} +.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item { + border-top: none; +} +.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content { + border-right: none; +} +.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content { + border-bottom: none; +} + +/* Spinner specific style fixes */ +.ui-controlgroup-vertical .ui-spinner-input { + + /* Support: IE8 only, Android < 4.4 only */ + width: 75%; + width: calc( 100% - 2.4em ); +} +.ui-controlgroup-vertical .ui-spinner .ui-spinner-up { + border-top-style: solid; +} + +.ui-checkboxradio-label .ui-icon-background { + box-shadow: inset 1px 1px 1px #ccc; + border-radius: .12em; + border: none; +} +.ui-checkboxradio-radio-label .ui-icon-background { + width: 16px; + height: 16px; + border-radius: 1em; + overflow: visible; + border: none; +} +.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon, +.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon { + background-image: none; + width: 8px; + height: 8px; + border-width: 4px; + border-style: solid; +} +.ui-checkboxradio-disabled { + pointer-events: none; +} +.ui-datepicker { + width: 17em; + padding: .2em .2em 0; + display: none; +} +.ui-datepicker .ui-datepicker-header { + position: relative; + padding: .2em 0; +} +.ui-datepicker .ui-datepicker-prev, +.ui-datepicker .ui-datepicker-next { + position: absolute; + top: 2px; + width: 1.8em; + height: 1.8em; +} +.ui-datepicker .ui-datepicker-prev-hover, +.ui-datepicker .ui-datepicker-next-hover { + top: 1px; +} +.ui-datepicker .ui-datepicker-prev { + left: 2px; +} +.ui-datepicker .ui-datepicker-next { + right: 2px; +} +.ui-datepicker .ui-datepicker-prev-hover { + left: 1px; +} +.ui-datepicker .ui-datepicker-next-hover { + right: 1px; +} +.ui-datepicker .ui-datepicker-prev span, +.ui-datepicker .ui-datepicker-next span { + display: block; + position: absolute; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} +.ui-datepicker .ui-datepicker-title { + margin: 0 2.3em; + line-height: 1.8em; + text-align: center; +} +.ui-datepicker .ui-datepicker-title select { + font-size: 1em; + margin: 1px 0; +} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { + width: 45%; +} +.ui-datepicker table { + width: 100%; + font-size: .9em; + border-collapse: collapse; + margin: 0 0 .4em; +} +.ui-datepicker th { + padding: .7em .3em; + text-align: center; + font-weight: bold; + border: 0; +} +.ui-datepicker td { + border: 0; + padding: 1px; +} +.ui-datepicker td span, +.ui-datepicker td a { + display: block; + padding: .2em; + text-align: right; + text-decoration: none; +} +.ui-datepicker .ui-datepicker-buttonpane { + background-image: none; + margin: .7em 0 0 0; + padding: 0 .2em; + border-left: 0; + border-right: 0; + border-bottom: 0; +} +.ui-datepicker .ui-datepicker-buttonpane button { + float: right; + margin: .5em .2em .4em; + cursor: pointer; + padding: .2em .6em .3em .6em; + width: auto; + overflow: visible; +} +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { + float: left; +} +/* 토요일은 파란색, 일요일은 빨간색 */ +.ui-datepicker-week-end:first-child, +.ui-datepicker-calendar tbody td:first-child a { + color: #f00; +} +.ui-datepicker-week-end:last-child, +.ui-datepicker-calendar tbody td:last-child a { + color: #00f; +} + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { + width: auto; +} +.ui-datepicker-multi .ui-datepicker-group { + float: left; +} +.ui-datepicker-multi .ui-datepicker-group table { + width: 95%; + margin: 0 auto .4em; +} +.ui-datepicker-multi-2 .ui-datepicker-group { + width: 50%; +} +.ui-datepicker-multi-3 .ui-datepicker-group { + width: 33.3%; +} +.ui-datepicker-multi-4 .ui-datepicker-group { + width: 25%; +} +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { + border-left-width: 0; +} +.ui-datepicker-multi .ui-datepicker-buttonpane { + clear: left; +} +.ui-datepicker-row-break { + clear: both; + width: 100%; + font-size: 0; +} + +/* RTL support */ +.ui-datepicker-rtl { + direction: rtl; +} +.ui-datepicker-rtl .ui-datepicker-prev { + right: 2px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next { + left: 2px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-prev:hover { + right: 1px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next:hover { + left: 1px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane { + clear: right; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button { + float: left; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, +.ui-datepicker-rtl .ui-datepicker-group { + float: right; +} +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { + border-right-width: 0; + border-left-width: 1px; +} + +/* Icons */ +.ui-datepicker .ui-icon { + display: block; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; + left: .5em; + top: .3em; +} +.ui-dialog { + position: absolute; + top: 0; + left: 0; + padding: .2em; + outline: 0; +} +.ui-dialog .ui-dialog-titlebar { + padding: .4em 1em; + position: relative; +} +.ui-dialog .ui-dialog-title { + float: left; + margin: .1em 0; + white-space: nowrap; + width: 90%; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-dialog .ui-dialog-titlebar-close { + position: absolute; + right: .3em; + top: 50%; + width: 20px; + margin: -10px 0 0 0; + padding: 1px; + height: 20px; +} +.ui-dialog .ui-dialog-content { + position: relative; + border: 0; + padding: .5em 1em; + background: none; + overflow: auto; +} +.ui-dialog .ui-dialog-buttonpane { + text-align: left; + border-width: 1px 0 0 0; + background-image: none; + margin-top: .5em; + padding: .3em 1em .5em .4em; +} +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { + float: right; +} +.ui-dialog .ui-dialog-buttonpane button { + margin: .5em .4em .5em 0; + cursor: pointer; +} +.ui-dialog .ui-resizable-n { + height: 2px; + top: 0; +} +.ui-dialog .ui-resizable-e { + width: 2px; + right: 0; +} +.ui-dialog .ui-resizable-s { + height: 2px; + bottom: 0; +} +.ui-dialog .ui-resizable-w { + width: 2px; + left: 0; +} +.ui-dialog .ui-resizable-se, +.ui-dialog .ui-resizable-sw, +.ui-dialog .ui-resizable-ne, +.ui-dialog .ui-resizable-nw { + width: 7px; + height: 7px; +} +.ui-dialog .ui-resizable-se { + right: 0; + bottom: 0; +} +.ui-dialog .ui-resizable-sw { + left: 0; + bottom: 0; +} +.ui-dialog .ui-resizable-ne { + right: 0; + top: 0; +} +.ui-dialog .ui-resizable-nw { + left: 0; + top: 0; +} +.ui-draggable .ui-dialog-titlebar { + cursor: move; +} +.ui-draggable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-resizable { + position: relative; +} +.ui-resizable-handle { + position: absolute; + font-size: 0.1px; + display: block; + -ms-touch-action: none; + touch-action: none; +} +.ui-resizable-disabled .ui-resizable-handle, +.ui-resizable-autohide .ui-resizable-handle { + display: none; +} +.ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + left: 0; +} +.ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + left: 0; +} +.ui-resizable-e { + cursor: e-resize; + width: 7px; + right: -5px; + top: 0; + height: 100%; +} +.ui-resizable-w { + cursor: w-resize; + width: 7px; + left: -5px; + top: 0; + height: 100%; +} +.ui-resizable-se { + cursor: se-resize; + width: 12px; + height: 12px; + right: 1px; + bottom: 1px; +} +.ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + left: -5px; + bottom: -5px; +} +.ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} +.ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; +} +.ui-progressbar { + height: 2em; + text-align: left; + overflow: hidden; +} +.ui-progressbar .ui-progressbar-value { + margin: -1px; + height: 100%; +} +.ui-progressbar .ui-progressbar-overlay { + background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw=="); + height: 100%; + filter: alpha(opacity=25); /* support: IE8 */ + opacity: 0.25; +} +.ui-progressbar-indeterminate .ui-progressbar-value { + background-image: none; +} +.ui-selectable { + -ms-touch-action: none; + touch-action: none; +} +.ui-selectable-helper { + position: absolute; + z-index: 100; + border: 1px dotted black; +} +.ui-selectmenu-menu { + padding: 0; + margin: 0; + position: absolute; + top: 0; + left: 0; + display: none; +} +.ui-selectmenu-menu .ui-menu { + overflow: auto; + overflow-x: hidden; + padding-bottom: 1px; +} +.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { + font-size: 1em; + font-weight: bold; + line-height: 1.5; + padding: 2px 0.4em; + margin: 0.5em 0 0 0; + height: auto; + border: 0; +} +.ui-selectmenu-open { + display: block; +} +.ui-selectmenu-text { + display: block; + margin-right: 20px; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-selectmenu-button.ui-button { + text-align: left; + white-space: nowrap; + width: 14em; +} +.ui-selectmenu-icon.ui-icon { + float: right; + margin-top: 0; +} +.ui-slider { + position: relative; + text-align: left; +} +.ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; + -ms-touch-action: none; + touch-action: none; +} +.ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} + +/* support: IE8 - See #6727 */ +.ui-slider.ui-state-disabled .ui-slider-handle, +.ui-slider.ui-state-disabled .ui-slider-range { + filter: inherit; +} + +.ui-slider-horizontal { + height: .8em; +} +.ui-slider-horizontal .ui-slider-handle { + top: -.3em; + margin-left: -.6em; +} +.ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.ui-slider-horizontal .ui-slider-range-min { + left: 0; +} +.ui-slider-horizontal .ui-slider-range-max { + right: 0; +} + +.ui-slider-vertical { + width: .8em; + height: 100px; +} +.ui-slider-vertical .ui-slider-handle { + left: -.3em; + margin-left: 0; + margin-bottom: -.6em; +} +.ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} +.ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} +.ui-slider-vertical .ui-slider-range-max { + top: 0; +} +.ui-sortable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-spinner { + position: relative; + display: inline-block; + overflow: hidden; + padding: 0; + vertical-align: middle; +} +.ui-spinner-input { + border: none; + background: none; + color: inherit; + padding: .222em 0; + margin: .2em 0; + vertical-align: middle; + margin-left: .4em; + margin-right: 2em; +} +.ui-spinner-button { + width: 1.6em; + height: 50%; + font-size: .5em; + padding: 0; + margin: 0; + text-align: center; + position: absolute; + cursor: default; + display: block; + overflow: hidden; + right: 0; +} +/* more specificity required here to override default borders */ +.ui-spinner a.ui-spinner-button { + border-top-style: none; + border-bottom-style: none; + border-right-style: none; +} +.ui-spinner-up { + top: 0; +} +.ui-spinner-down { + bottom: 0; +} +.ui-tabs { + position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ + padding: .2em; +} +.ui-tabs .ui-tabs-nav { + margin: 0; + padding: .2em .2em 0; +} +.ui-tabs .ui-tabs-nav li { + list-style: none; + float: left; + position: relative; + top: 0; + margin: 1px .2em 0 0; + border-bottom-width: 0; + padding: 0; + white-space: nowrap; +} +.ui-tabs .ui-tabs-nav .ui-tabs-anchor { + float: left; + padding: .5em 1em; + text-decoration: none; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active { + margin-bottom: -1px; + padding-bottom: 1px; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { + cursor: text; +} +.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { + cursor: pointer; +} +.ui-tabs .ui-tabs-panel { + display: block; + border-width: 0; + padding: 1em 1.4em; + background: none; +} +.ui-tooltip { + padding: 8px; + position: absolute; + z-index: 9999; + max-width: 300px; +} +body .ui-tooltip { + border-width: 2px; +} +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: Arial,Helvetica,sans-serif; + font-size: 1em; +} +.ui-widget .ui-widget { + font-size: 1em; +} +.ui-widget input, +.ui-widget select, +.ui-widget textarea, +.ui-widget button { + font-family: Arial,Helvetica,sans-serif; + font-size: 1em; +} +.ui-widget.ui-widget-content { + border: 1px solid #c5c5c5; +} +.ui-widget-content { + border: 1px solid #dddddd; + background: #ffffff; + color: #333333; +} +.ui-widget-content a { + color: #333333; +} +.ui-widget-header { + border: 1px solid #dddddd; + background: #e9e9e9; + color: #333333; + font-weight: bold; +} +.ui-widget-header a { + color: #333333; +} + +/* Interaction states +----------------------------------*/ +.ui-state-default, +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default, +.ui-button, + +/* We use html here because we need a greater specificity to make sure disabled +works properly when clicked or hovered */ +html .ui-button.ui-state-disabled:hover, +html .ui-button.ui-state-disabled:active { + border: 1px solid #c5c5c5; + background: #f6f6f6; + font-weight: normal; + color: #454545; +} +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited, +a.ui-button, +a:link.ui-button, +a:visited.ui-button, +.ui-button { + color: #454545; + text-decoration: none; +} +.ui-state-hover, +.ui-widget-content .ui-state-hover, +.ui-widget-header .ui-state-hover, +.ui-state-focus, +.ui-widget-content .ui-state-focus, +.ui-widget-header .ui-state-focus, +.ui-button:hover, +.ui-button:focus { + border: 1px solid #cccccc; + background: #ededed; + font-weight: normal; + color: #2b2b2b; +} +.ui-state-hover a, +.ui-state-hover a:hover, +.ui-state-hover a:link, +.ui-state-hover a:visited, +.ui-state-focus a, +.ui-state-focus a:hover, +.ui-state-focus a:link, +.ui-state-focus a:visited, +a.ui-button:hover, +a.ui-button:focus { + color: #2b2b2b; + text-decoration: none; +} + +.ui-visual-focus { + box-shadow: 0 0 3px 1px rgb(94, 158, 214); +} +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active, +a.ui-button:active, +.ui-button:active, +.ui-button.ui-state-active:hover { + border: 1px solid #003eff; + background: #007fff; + font-weight: normal; + color: #ffffff; +} +.ui-icon-background, +.ui-state-active .ui-icon-background { + border: #003eff; + background-color: #ffffff; +} +/* 주말 선택시 날짜 색 */ +.ui-datepicker-calendar tbody td:first-child a.ui-state-active , +.ui-datepicker-calendar tbody td:last-child a.ui-state-active { + color: #ffffff; +} + +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited { + color: #ffffff; + text-decoration: none; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { + border: 1px solid #dad55e; + background: #fffa90; + color: #777620; +} +.ui-state-checked { + border: 1px solid #dad55e; + background: #fffa90; +} +.ui-state-highlight a, +.ui-widget-content .ui-state-highlight a, +.ui-widget-header .ui-state-highlight a { + color: #777620; +} +.ui-state-error, +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { + border: 1px solid #f1a899; + background: #fddfdf; + color: #5f3f3f; +} +.ui-state-error a, +.ui-widget-content .ui-state-error a, +.ui-widget-header .ui-state-error a { + color: #5f3f3f; +} +.ui-state-error-text, +.ui-widget-content .ui-state-error-text, +.ui-widget-header .ui-state-error-text { + color: #5f3f3f; +} +.ui-priority-primary, +.ui-widget-content .ui-priority-primary, +.ui-widget-header .ui-priority-primary { + font-weight: bold; +} +.ui-priority-secondary, +.ui-widget-content .ui-priority-secondary, +.ui-widget-header .ui-priority-secondary { + opacity: .7; + filter:Alpha(Opacity=70); /* support: IE8 */ + font-weight: normal; +} +.ui-state-disabled, +.ui-widget-content .ui-state-disabled, +.ui-widget-header .ui-state-disabled { + opacity: .35; + filter:Alpha(Opacity=35); /* support: IE8 */ + background-image: none; +} +.ui-state-disabled .ui-icon { + filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ +} + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + width: 16px; + height: 16px; +} +.ui-icon, +.ui-widget-content .ui-icon { + background-image: url("../../../../images/egovframework/com/cmm/utl/ui-icons_444444_256x240.png"); +} +.ui-widget-header .ui-icon { + background-image: url("../../../../images/egovframework/com/cmm/utl/ui-icons_444444_256x240.png"); +} +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon, +.ui-button:hover .ui-icon, +.ui-button:focus .ui-icon { + background-image: url("../../../../images/egovframework/com/cmm/utl/ui-icons_555555_256x240.png"); +} +.ui-state-active .ui-icon, +.ui-button:active .ui-icon { + background-image: url("../../../../images/egovframework/com/cmm/utl/ui-icons_ffffff_256x240.png"); +} +.ui-state-highlight .ui-icon, +.ui-button .ui-state-highlight.ui-icon { + background-image: url("../../../../images/egovframework/com/cmm/utl/ui-icons_777620_256x240.png"); +} +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { + background-image: url("../../../../images/egovframework/com/cmm/utl/ui-icons_cc0000_256x240.png"); +} +.ui-button .ui-icon { + background-image: url("../../../../images/egovframework/com/cmm/utl/ui-icons_777777_256x240.png"); +} + +/* positioning */ +.ui-icon-blank { background-position: 16px 16px; } +.ui-icon-caret-1-n { background-position: 0 0; } +.ui-icon-caret-1-ne { background-position: -16px 0; } +.ui-icon-caret-1-e { background-position: -32px 0; } +.ui-icon-caret-1-se { background-position: -48px 0; } +.ui-icon-caret-1-s { background-position: -65px 0; } +.ui-icon-caret-1-sw { background-position: -80px 0; } +.ui-icon-caret-1-w { background-position: -96px 0; } +.ui-icon-caret-1-nw { background-position: -112px 0; } +.ui-icon-caret-2-n-s { background-position: -128px 0; } +.ui-icon-caret-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -65px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -65px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 1px -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-on { background-position: -96px -144px; } +.ui-icon-radio-off { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, +.ui-corner-top, +.ui-corner-left, +.ui-corner-tl { + border-top-left-radius: 3px; +} +.ui-corner-all, +.ui-corner-top, +.ui-corner-right, +.ui-corner-tr { + border-top-right-radius: 3px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-left, +.ui-corner-bl { + border-bottom-left-radius: 3px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-right, +.ui-corner-br { + border-bottom-right-radius: 3px; +} + +/* Overlays */ +.ui-widget-overlay { + background: #aaaaaa; + opacity: .3; + filter: Alpha(Opacity=30); /* support: IE8 */ +} +.ui-widget-shadow { + -webkit-box-shadow: 0px 0px 5px #666666; + box-shadow: 0px 0px 5px #666666; +} Property changes on: base3.10/src/main/webapp/css/egovframework/com/cmm/jquery-ui_1.12.1.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/cmm/modal.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/cmm/modal.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/cmm/modal.css (revision 7) @@ -0,0 +1,98 @@ +/* The Modal (background) */ +.modal { + display: none; /* Hidden by default */ + position: fixed; /* Stay in place */ + z-index: 1; /* Sit on top */ + padding-top: 100px; /* Location of the box */ + left: 0; + top: 0; + width: 100%; /* Full width */ + height: 100%; /* Full height */ + overflow: auto; /* Enable scroll if needed */ + background-color: rgb(0,0,0); /* Fallback color */ + background-color: rgba(0,0,0,0.4); /* Black w/ opacity */ +} + +/* Modal Content */ +.modal-content { + position: relative; + background-color: #fefefe; + margin: auto; + padding: 0; + border: 1px solid #888; + box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19); + -webkit-animation-name: animatetop; + -webkit-animation-duration: 0.4s; + animation-name: animatetop; + animation-duration: 0.4s +} + +/* Add Animation */ +@-webkit-keyframes animatetop { + from {top:-300px; opacity:0} + to {top:0; opacity:1} +} + +@keyframes animatetop { + from {top:-300px; opacity:0} + to {top:0; opacity:1} +} + +/* The Close Button */ +.close { + margin: 6px 0px 0px 0px; + color: white; + float: right; + font-size: 16px; + font-weight: bold; +} + +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; +} + +.modal-header { + padding: 8px 8px 8px 8px; + background-color: #0c4ca4; + color: white; + font-size:14px; +} +.modal-title { + color: white; + font-size:14px; + +} + +.modal-header h2, +.modal-footer h2 { + float: none; + color: white; + text-indent: 20px; + font-size: 16px; + line-height:2.0em +} + +.modal-body {padding: 10px 10px 10px 10px;} + +.modal-body p { + margin: 10px 0px; +} + +.modal-footer { + padding: 5px 5px 5px 5px; + background-color: white; + text-align: center; + color: white; +} +.modal-btn { + float:right;font-size:11px; + margin: 0px 0px 0px 5px; +} +.modal-alignL { + float:left;font-size:11px; + margin: 0px 0px 0px 5px; +} + Property changes on: base3.10/src/main/webapp/css/egovframework/com/cmm/modal.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/cmm/jqueryui.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/cmm/jqueryui.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/cmm/jqueryui.css (revision 7) @@ -0,0 +1,1317 @@ +/*! jQuery UI - v1.12.1 - 2016-09-14 +* http://jqueryui.com +* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=e9e9e9&bgTextureHeader=flat&borderColorHeader=dddddd&fcHeader=333333&iconColorHeader=444444&bgColorContent=ffffff&bgTextureContent=flat&borderColorContent=dddddd&fcContent=333333&iconColorContent=444444&bgColorDefault=f6f6f6&bgTextureDefault=flat&borderColorDefault=c5c5c5&fcDefault=454545&iconColorDefault=777777&bgColorHover=ededed&bgTextureHover=flat&borderColorHover=cccccc&fcHover=2b2b2b&iconColorHover=555555&bgColorActive=007fff&bgTextureActive=flat&borderColorActive=003eff&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=fffa90&bgTextureHighlight=flat&borderColorHighlight=dad55e&fcHighlight=777620&iconColorHighlight=777620&bgColorError=fddfdf&bgTextureError=flat&borderColorError=f1a899&fcError=5f3f3f&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { + display: none; +} +.ui-helper-hidden-accessible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.ui-helper-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + line-height: 1.3; + text-decoration: none; + font-size: 100%; + list-style: none; +} +.ui-helper-clearfix:before, +.ui-helper-clearfix:after { + content: ""; + display: table; + border-collapse: collapse; +} +.ui-helper-clearfix:after { + clear: both; +} +.ui-helper-zfix { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + opacity: 0; + filter:Alpha(Opacity=0); /* support: IE8 */ +} + +.ui-front { + z-index: 100; +} + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { + cursor: default !important; + pointer-events: none; +} + + +/* Icons +----------------------------------*/ +.ui-icon { + display: inline-block; + vertical-align: middle; + margin-top: -.25em; + position: relative; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; +} + +.ui-widget-icon-block { + left: 50%; + margin-left: -8px; + display: block; +} + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ui-accordion .ui-accordion-header { + display: block; + cursor: pointer; + position: relative; + margin: 2px 0 0 0; + padding: .5em .5em .5em .7em; + font-size: 100%; +} +.ui-accordion .ui-accordion-content { + padding: 1em 2.2em; + border-top: 0; + overflow: auto; +} +.ui-autocomplete { + position: absolute; + top: 0; + left: 0; + cursor: default; +} +.ui-menu { + list-style: none; + padding: 0; + margin: 0; + display: block; + outline: 0; +} +.ui-menu .ui-menu { + position: absolute; +} +.ui-menu .ui-menu-item { + margin: 0; + cursor: pointer; + /* support: IE10, see #8844 */ + list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); +} +.ui-menu .ui-menu-item-wrapper { + position: relative; + padding: 3px 1em 3px .4em; +} +.ui-menu .ui-menu-divider { + margin: 5px 0; + height: 0; + font-size: 0; + line-height: 0; + border-width: 1px 0 0 0; +} +.ui-menu .ui-state-focus, +.ui-menu .ui-state-active { + margin: -1px; +} + +/* icon support */ +.ui-menu-icons { + position: relative; +} +.ui-menu-icons .ui-menu-item-wrapper { + padding-left: 2em; +} + +/* left-aligned */ +.ui-menu .ui-icon { + position: absolute; + top: 0; + bottom: 0; + left: .2em; + margin: auto 0; +} + +/* right-aligned */ +.ui-menu .ui-menu-icon { + left: auto; + right: 0; +} +.ui-button { + padding: .4em 1em; + display: inline-block; + position: relative; + line-height: normal; + margin-right: .1em; + cursor: pointer; + vertical-align: middle; + text-align: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background: #cccccc; + + /* Support: IE <= 11 */ + overflow: visible; +} + +.ui-button, +.ui-button:link, +.ui-button:visited, +.ui-button:hover, +.ui-button:active { + text-decoration: none; + background: #cccccc; +} + +/* to make room for the icon, a width needs to be set here */ +.ui-button-icon-only { + width: 2em; + box-sizing: border-box; + text-indent: -9999px; + white-space: nowrap; +} + +/* no icon support for input elements */ +input.ui-button.ui-button-icon-only { + text-indent: 0; +} + +/* button icon element(s) */ +.ui-button-icon-only .ui-icon { + position: absolute; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; +} + +.ui-button.ui-icon-notext .ui-icon { + padding: 0; + width: 2.1em; + height: 2.1em; + text-indent: -9999px; + white-space: nowrap; + +} + +input.ui-button.ui-icon-notext .ui-icon { + width: auto; + height: auto; + text-indent: 0; + white-space: normal; + padding: .4em 1em; +} + +/* workarounds */ +/* Support: Firefox 5 - 40 */ +input.ui-button::-moz-focus-inner, +button.ui-button::-moz-focus-inner { + border: 0; + padding: 0; +} +.ui-controlgroup { + vertical-align: middle; + display: inline-block; +} +.ui-controlgroup > .ui-controlgroup-item { + float: left; + margin-left: 0; + margin-right: 0; +} +.ui-controlgroup > .ui-controlgroup-item:focus, +.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus { + z-index: 9999; +} +.ui-controlgroup-vertical > .ui-controlgroup-item { + display: block; + float: none; + width: 100%; + margin-top: 0; + margin-bottom: 0; + text-align: left; +} +.ui-controlgroup-vertical .ui-controlgroup-item { + box-sizing: border-box; +} +.ui-controlgroup .ui-controlgroup-label { + padding: .4em 1em; +} +.ui-controlgroup .ui-controlgroup-label span { + font-size: 80%; +} +.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item { + border-left: none; +} +.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item { + border-top: none; +} +.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content { + border-right: none; +} +.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content { + border-bottom: none; +} + +/* Spinner specific style fixes */ +.ui-controlgroup-vertical .ui-spinner-input { + + /* Support: IE8 only, Android < 4.4 only */ + width: 75%; + width: calc( 100% - 2.4em ); +} +.ui-controlgroup-vertical .ui-spinner .ui-spinner-up { + border-top-style: solid; +} + +.ui-checkboxradio-label .ui-icon-background { + box-shadow: inset 1px 1px 1px #ccc; + border-radius: .12em; + border: none; +} +.ui-checkboxradio-radio-label .ui-icon-background { + width: 16px; + height: 16px; + border-radius: 1em; + overflow: visible; + border: none; +} +.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon, +.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon { + background-image: none; + width: 8px; + height: 8px; + border-width: 4px; + border-style: solid; +} +.ui-checkboxradio-disabled { + pointer-events: none; +} +.ui-datepicker { + width: 17em; + padding: .2em .2em 0; + display: none; +} +.ui-datepicker .ui-datepicker-header { + position: relative; + padding: .2em 0; +} +.ui-datepicker .ui-datepicker-prev, +.ui-datepicker .ui-datepicker-next { + position: absolute; + top: 2px; + width: 1.8em; + height: 1.8em; +} +.ui-datepicker .ui-datepicker-prev-hover, +.ui-datepicker .ui-datepicker-next-hover { + top: 1px; +} +.ui-datepicker .ui-datepicker-prev { + left: 2px; +} +.ui-datepicker .ui-datepicker-next { + right: 2px; +} +.ui-datepicker .ui-datepicker-prev-hover { + left: 1px; +} +.ui-datepicker .ui-datepicker-next-hover { + right: 1px; +} +.ui-datepicker .ui-datepicker-prev span, +.ui-datepicker .ui-datepicker-next span { + display: block; + position: absolute; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} +.ui-datepicker .ui-datepicker-title { + margin: 0 2.3em; + line-height: 1.8em; + text-align: center; +} +.ui-datepicker .ui-datepicker-title select { + font-size: 1em; + margin: 1px 0; +} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { + width: 45%; +} +.ui-datepicker table { + width: 100%; + font-size: .9em; + border-collapse: collapse; + margin: 0 0 .4em; +} +.ui-datepicker th { + padding: .7em .3em; + text-align: center; + font-weight: bold; + border: 0; +} +.ui-datepicker td { + border: 0; + padding: 1px; +} +.ui-datepicker td span, +.ui-datepicker td a { + display: block; + padding: .2em; + text-align: right; + text-decoration: none; +} +.ui-datepicker .ui-datepicker-buttonpane { + background-image: none; + margin: .7em 0 0 0; + padding: 0 .2em; + border-left: 0; + border-right: 0; + border-bottom: 0; +} +.ui-datepicker .ui-datepicker-buttonpane button { + float: right; + margin: .5em .2em .4em; + cursor: pointer; + padding: .2em .6em .3em .6em; + width: auto; + overflow: visible; +} +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { + float: left; +} +/* 토요일은 파란색, 일요일은 빨간색 */ +.ui-datepicker-week-end:first-child, +.ui-datepicker-calendar tbody td:first-child a { + color: #f00; +} +.ui-datepicker-week-end:last-child, +.ui-datepicker-calendar tbody td:last-child a { + color: #00f; +} + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { + width: auto; +} +.ui-datepicker-multi .ui-datepicker-group { + float: left; +} +.ui-datepicker-multi .ui-datepicker-group table { + width: 95%; + margin: 0 auto .4em; +} +.ui-datepicker-multi-2 .ui-datepicker-group { + width: 50%; +} +.ui-datepicker-multi-3 .ui-datepicker-group { + width: 33.3%; +} +.ui-datepicker-multi-4 .ui-datepicker-group { + width: 25%; +} +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { + border-left-width: 0; +} +.ui-datepicker-multi .ui-datepicker-buttonpane { + clear: left; +} +.ui-datepicker-row-break { + clear: both; + width: 100%; + font-size: 0; +} + +/* RTL support */ +.ui-datepicker-rtl { + direction: rtl; +} +.ui-datepicker-rtl .ui-datepicker-prev { + right: 2px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next { + left: 2px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-prev:hover { + right: 1px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next:hover { + left: 1px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane { + clear: right; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button { + float: left; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, +.ui-datepicker-rtl .ui-datepicker-group { + float: right; +} +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { + border-right-width: 0; + border-left-width: 1px; +} + +/* Icons */ +.ui-datepicker .ui-icon { + display: block; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; + left: .5em; + top: .3em; +} +.ui-dialog { + position: absolute; + top: 0; + left: 0; + padding: .2em; + outline: 0; +} +.ui-dialog .ui-dialog-titlebar { + padding: .4em 1em; + position: relative; +} +.ui-dialog .ui-dialog-title { + float: left; + margin: .1em 0; + white-space: nowrap; + width: 90%; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-dialog .ui-dialog-titlebar-close { + position: absolute; + right: .3em; + top: 50%; + width: 20px; + margin: -10px 0 0 0; + padding: 1px; + height: 20px; +} +.ui-dialog .ui-dialog-content { + position: relative; + border: 0; + padding: .5em 1em; + background: none; + overflow: auto; +} +.ui-dialog .ui-dialog-buttonpane { + text-align: left; + border-width: 1px 0 0 0; + background-image: none; + margin-top: .5em; + padding: .3em 1em .5em .4em; +} +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { + float: right; +} +.ui-dialog .ui-dialog-buttonpane button { + margin: .5em .4em .5em 0; + cursor: pointer; +} +.ui-dialog .ui-resizable-n { + height: 2px; + top: 0; +} +.ui-dialog .ui-resizable-e { + width: 2px; + right: 0; +} +.ui-dialog .ui-resizable-s { + height: 2px; + bottom: 0; +} +.ui-dialog .ui-resizable-w { + width: 2px; + left: 0; +} +.ui-dialog .ui-resizable-se, +.ui-dialog .ui-resizable-sw, +.ui-dialog .ui-resizable-ne, +.ui-dialog .ui-resizable-nw { + width: 7px; + height: 7px; +} +.ui-dialog .ui-resizable-se { + right: 0; + bottom: 0; +} +.ui-dialog .ui-resizable-sw { + left: 0; + bottom: 0; +} +.ui-dialog .ui-resizable-ne { + right: 0; + top: 0; +} +.ui-dialog .ui-resizable-nw { + left: 0; + top: 0; +} +.ui-draggable .ui-dialog-titlebar { + cursor: move; +} +.ui-draggable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-resizable { + position: relative; +} +.ui-resizable-handle { + position: absolute; + font-size: 0.1px; + display: block; + -ms-touch-action: none; + touch-action: none; +} +.ui-resizable-disabled .ui-resizable-handle, +.ui-resizable-autohide .ui-resizable-handle { + display: none; +} +.ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + left: 0; +} +.ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + left: 0; +} +.ui-resizable-e { + cursor: e-resize; + width: 7px; + right: -5px; + top: 0; + height: 100%; +} +.ui-resizable-w { + cursor: w-resize; + width: 7px; + left: -5px; + top: 0; + height: 100%; +} +.ui-resizable-se { + cursor: se-resize; + width: 12px; + height: 12px; + right: 1px; + bottom: 1px; +} +.ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + left: -5px; + bottom: -5px; +} +.ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} +.ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; +} +.ui-progressbar { + height: 2em; + text-align: left; + overflow: hidden; +} +.ui-progressbar .ui-progressbar-value { + margin: -1px; + height: 100%; +} +.ui-progressbar .ui-progressbar-overlay { + background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw=="); + height: 100%; + filter: alpha(opacity=25); /* support: IE8 */ + opacity: 0.25; +} +.ui-progressbar-indeterminate .ui-progressbar-value { + background-image: none; +} +.ui-selectable { + -ms-touch-action: none; + touch-action: none; +} +.ui-selectable-helper { + position: absolute; + z-index: 100; + border: 1px dotted black; +} +.ui-selectmenu-menu { + padding: 0; + margin: 0; + position: absolute; + top: 0; + left: 0; + display: none; +} +.ui-selectmenu-menu .ui-menu { + overflow: auto; + overflow-x: hidden; + padding-bottom: 1px; +} +.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { + font-size: 1em; + font-weight: bold; + line-height: 1.5; + padding: 2px 0.4em; + margin: 0.5em 0 0 0; + height: auto; + border: 0; +} +.ui-selectmenu-open { + display: block; +} +.ui-selectmenu-text { + display: block; + margin-right: 20px; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-selectmenu-button.ui-button { + text-align: left; + white-space: nowrap; + width: 14em; +} +.ui-selectmenu-icon.ui-icon { + float: right; + margin-top: 0; +} +.ui-slider { + position: relative; + text-align: left; +} +.ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; + -ms-touch-action: none; + touch-action: none; +} +.ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} + +/* support: IE8 - See #6727 */ +.ui-slider.ui-state-disabled .ui-slider-handle, +.ui-slider.ui-state-disabled .ui-slider-range { + filter: inherit; +} + +.ui-slider-horizontal { + height: .8em; +} +.ui-slider-horizontal .ui-slider-handle { + top: -.3em; + margin-left: -.6em; +} +.ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.ui-slider-horizontal .ui-slider-range-min { + left: 0; +} +.ui-slider-horizontal .ui-slider-range-max { + right: 0; +} + +.ui-slider-vertical { + width: .8em; + height: 100px; +} +.ui-slider-vertical .ui-slider-handle { + left: -.3em; + margin-left: 0; + margin-bottom: -.6em; +} +.ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} +.ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} +.ui-slider-vertical .ui-slider-range-max { + top: 0; +} +.ui-sortable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-spinner { + position: relative; + display: inline-block; + overflow: hidden; + padding: 0; + vertical-align: middle; +} +.ui-spinner-input { + border: none; + background: none; + color: inherit; + padding: .222em 0; + margin: .2em 0; + vertical-align: middle; + margin-left: .4em; + margin-right: 2em; +} +.ui-spinner-button { + width: 1.6em; + height: 50%; + font-size: .5em; + padding: 0; + margin: 0; + text-align: center; + position: absolute; + cursor: default; + display: block; + overflow: hidden; + right: 0; +} +/* more specificity required here to override default borders */ +.ui-spinner a.ui-spinner-button { + border-top-style: none; + border-bottom-style: none; + border-right-style: none; +} +.ui-spinner-up { + top: 0; +} +.ui-spinner-down { + bottom: 0; +} +.ui-tabs { + position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ + padding: .2em; +} +.ui-tabs .ui-tabs-nav { + margin: 0; + padding: .2em .2em 0; +} +.ui-tabs .ui-tabs-nav li { + list-style: none; + float: left; + position: relative; + top: 0; + margin: 1px .2em 0 0; + border-bottom-width: 0; + padding: 0; + white-space: nowrap; +} +.ui-tabs .ui-tabs-nav .ui-tabs-anchor { + float: left; + padding: .5em 1em; + text-decoration: none; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active { + margin-bottom: -1px; + padding-bottom: 1px; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { + cursor: text; +} +.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { + cursor: pointer; +} +.ui-tabs .ui-tabs-panel { + display: block; + border-width: 0; + padding: 1em 1.4em; + background: none; +} +.ui-tooltip { + padding: 8px; + position: absolute; + z-index: 9999; + max-width: 300px; +} +body .ui-tooltip { + border-width: 2px; +} +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: Arial,Helvetica,sans-serif; + font-size: 1em; +} +.ui-widget .ui-widget { + font-size: 1em; +} +.ui-widget input, +.ui-widget select, +.ui-widget textarea, +.ui-widget button { + font-family: Arial,Helvetica,sans-serif; + font-size: 1em; +} +.ui-widget.ui-widget-content { + border: 1px solid #c5c5c5; +} +.ui-widget-content { + border: 1px solid #dddddd; + background: #ffffff; + color: #333333; +} +.ui-widget-content a { + color: #333333; +} +.ui-widget-header { + border: 1px solid #dddddd; + background: #ffffff; + color: #333333; + font-weight: bold; +} +.ui-widget-header a { + color: #333333; +} + +/* Interaction states +----------------------------------*/ +.ui-state-default, +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default { +/* border: 1px solid #ffffff; */ + background: #ffffff; + font-weight: normal; + color: #454545; +} +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited { + color: #454545; + background: #cccccc; + text-decoration: none; +} +.ui-state-hover, +.ui-widget-content .ui-state-hover, +.ui-widget-header .ui-state-hover, +.ui-state-focus, +.ui-widget-content .ui-state-focus, +.ui-widget-header .ui-state-focus { +/* border: 1px solid #cccccc; */ + border-radius: 5px; + background: #ededed; + font-weight: normal; + color: #2b2b2b; +} +.ui-state-hover a, +.ui-state-hover a:hover, +.ui-state-hover a:link, +.ui-state-hover a:visited, +.ui-state-focus a, +.ui-state-focus a:hover, +.ui-state-focus a:link, +.ui-state-focus a:visited, +a.ui-button:hover, +a.ui-button:focus { + color: #2b2b2b; + text-decoration: none; +} + +.ui-visual-focus { + box-shadow: 0 0 3px 1px rgb(94, 158, 214); +} +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active { +/* border: 1px solid #003eff; */ + border-radius: 5px; + background: #007fff; + font-weight: normal; + color: #ffffff; +} +.ui-icon-background, +.ui-state-active .ui-icon-background { + border: #003eff; + background-color: #ffffff; +} +/* 주말 선택시 날짜 색 */ +.ui-datepicker-calendar tbody td:first-child a.ui-state-active , +.ui-datepicker-calendar tbody td:last-child a.ui-state-active { + color: #ffffff; +} + +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited { + color: #ffffff; + text-decoration: none; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { +/* border: 1px solid #a7d3ff; */ + border-radius: 5px; + background: #c5e1fb; + color: #000000; +} +.ui-state-highlight a, +.ui-widget-content .ui-state-highlight a, +.ui-widget-header .ui-state-highlight a { + color: #ffffff; +} +.ui-state-error, +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { + border: 1px solid #f1a899; + background: #fddfdf; + color: #5f3f3f; +} +.ui-state-error a, +.ui-widget-content .ui-state-error a, +.ui-widget-header .ui-state-error a { + color: #5f3f3f; +} +.ui-state-error-text, +.ui-widget-content .ui-state-error-text, +.ui-widget-header .ui-state-error-text { + color: #5f3f3f; +} +.ui-priority-primary, +.ui-widget-content .ui-priority-primary, +.ui-widget-header .ui-priority-primary { + font-weight: bold; +} +.ui-priority-secondary, +.ui-widget-content .ui-priority-secondary, +.ui-widget-header .ui-priority-secondary { + opacity: .7; + filter:Alpha(Opacity=70); /* support: IE8 */ + font-weight: normal; +} +.ui-state-disabled, +.ui-widget-content .ui-state-disabled, +.ui-widget-header .ui-state-disabled { + opacity: .35; + filter:Alpha(Opacity=35); /* support: IE8 */ + background-image: none; +} +.ui-state-disabled .ui-icon { + filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ +} + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + width: 16px; + height: 16px; +} +.ui-icon, +.ui-widget-content .ui-icon { + background-image: url("../../../../images/egovframework/com/cmm/utl/ui-icons_444444_256x240.png"); +} +.ui-widget-header .ui-icon { + background-image: url("../../../../images/egovframework/com/cmm/utl/ui-icons_444444_256x240.png"); +} +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon, +.ui-button:hover .ui-icon, +.ui-button:focus .ui-icon { + background-image: url("../../../../images/egovframework/com/cmm/utl/ui-icons_555555_256x240.png"); +} +.ui-state-active .ui-icon, +.ui-button:active .ui-icon { + background-image: url("../../../../images/egovframework/com/cmm/utl/ui-icons_ffffff_256x240.png"); +} +.ui-state-highlight .ui-icon, +.ui-button .ui-state-highlight.ui-icon { + background-image: url("../../../../images/egovframework/com/cmm/utl/ui-icons_777620_256x240.png"); +} +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { + background-image: url("../../../../images/egovframework/com/cmm/utl/ui-icons_cc0000_256x240.png"); +} +.ui-button .ui-icon { + background-image: url("../../../../images/egovframework/com/cmm/utl/ui-icons_777777_256x240.png"); +} + +/* positioning */ +.ui-icon-blank { background-position: 16px 16px; } +.ui-icon-caret-1-n { background-position: 0 0; } +.ui-icon-caret-1-ne { background-position: -16px 0; } +.ui-icon-caret-1-e { background-position: -32px 0; } +.ui-icon-caret-1-se { background-position: -48px 0; } +.ui-icon-caret-1-s { background-position: -65px 0; } +.ui-icon-caret-1-sw { background-position: -80px 0; } +.ui-icon-caret-1-w { background-position: -96px 0; } +.ui-icon-caret-1-nw { background-position: -112px 0; } +.ui-icon-caret-2-n-s { background-position: -128px 0; } +.ui-icon-caret-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -65px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -65px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 1px -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-on { background-position: -96px -144px; } +.ui-icon-radio-off { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, +.ui-corner-top, +.ui-corner-left, +.ui-corner-tl { + border-top-left-radius: 3px; +} +.ui-corner-all, +.ui-corner-top, +.ui-corner-right, +.ui-corner-tr { + border-top-right-radius: 3px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-left, +.ui-corner-bl { + border-bottom-left-radius: 3px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-right, +.ui-corner-br { + border-bottom-right-radius: 3px; +} + +/* Overlays */ +.ui-widget-overlay { + background: #aaaaaa; + opacity: .3; + filter: Alpha(Opacity=30); /* support: IE8 */ +} +.ui-widget-shadow { + margin: 0px 0 0 0px; + padding: 5px; + background: #666666; + opacity: .3; + filter: Alpha(Opacity=30); /* support: IE8 */ + border-radius: 8px; +} Property changes on: base3.10/src/main/webapp/css/egovframework/com/cmm/jqueryui.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/cmm/jqueryui_org.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/cmm/jqueryui_org.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/cmm/jqueryui_org.css (revision 7) @@ -0,0 +1,668 @@ +/*! jQuery UI - v1.11.4 - 2016-06-14 +* http://jqueryui.com +* Includes: core.css, datepicker.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=5px&bgColorHeader=%23ffffff&bgTextureHeader=flat&borderColorHeader=%23dddddd&fcHeader=%23333333&iconColorHeader=%23444444&bgColorContent=%23ffffff&bgTextureContent=flat&borderColorContent=%23dddddd&fcContent=%23333333&iconColorContent=%23444444&bgColorDefault=%23ffffff&bgTextureDefault=flat&borderColorDefault=%23ffffff&fcDefault=%23454545&iconColorDefault=%23777777&bgColorHover=%23ededed&bgTextureHover=flat&borderColorHover=%23cccccc&fcHover=%232b2b2b&iconColorHover=%23555555&bgColorActive=%23007fff&bgTextureActive=flat&borderColorActive=%23003eff&fcActive=%23ffffff&iconColorActive=%23ffffff&bgColorHighlight=%23a7d3ff&bgTextureHighlight=flat&borderColorHighlight=%23a7d3ff&fcHighlight=%23ffffff&iconColorHighlight=%23777620&bgColorError=%23fddfdf&bgTextureError=flat&borderColorError=%23f1a899&fcError=%235f3f3f&iconColorError=%23cc0000&bgColorOverlay=%23aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=%23666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px&bgImgOpacityHeader=&bgImgOpacityContent=&bgImgOpacityDefault=&bgImgOpacityHover=&bgImgOpacityActive=&bgImgOpacityHighlight=&bgImgOpacityError= +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { + display: none; +} +.ui-helper-hidden-accessible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.ui-helper-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + line-height: 1.3; + text-decoration: none; + font-size: 100%; + list-style: none; +} +.ui-helper-clearfix:before, +.ui-helper-clearfix:after { + content: ""; + display: table; + border-collapse: collapse; +} +.ui-helper-clearfix:after { + clear: both; +} +.ui-helper-clearfix { + min-height: 0; /* support: IE7 */ +} +.ui-helper-zfix { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + opacity: 0; + filter:Alpha(Opacity=0); /* support: IE8 */ +} + +.ui-front { + z-index: 100; +} + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { + cursor: default !important; +} + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + display: block; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; +} + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ui-datepicker { + width: 17em; + padding: .2em .2em 0; + display: none; +} +.ui-datepicker .ui-datepicker-header { + position: relative; + padding: .2em 0; +} +.ui-datepicker .ui-datepicker-prev, +.ui-datepicker .ui-datepicker-next { + position: absolute; + top: 2px; + width: 1.8em; + height: 1.8em; +} +.ui-datepicker .ui-datepicker-prev-hover, +.ui-datepicker .ui-datepicker-next-hover { + top: 2px; +} +.ui-datepicker .ui-datepicker-prev { + left: 2px; +} +.ui-datepicker .ui-datepicker-next { + right: 2px; +} +.ui-datepicker .ui-datepicker-prev-hover { + left: 2px; +} +.ui-datepicker .ui-datepicker-next-hover { + right: 2px; +} +.ui-datepicker .ui-datepicker-prev span, +.ui-datepicker .ui-datepicker-next span { + display: block; + position: absolute; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} +.ui-datepicker .ui-datepicker-title { + margin: 0 2.3em; + line-height: 1.8em; + text-align: center; +} +.ui-datepicker .ui-datepicker-title select { + font-size: 1em; + margin: 1px 0; +} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { + width: 45%; +} +.ui-datepicker table { + width: 100%; + font-size: .9em; + border-collapse: collapse; + margin: 0 0 .4em; +} +.ui-datepicker th { + padding: .7em .3em; + text-align: center; + font-weight: bold; + border: 0; +} +.ui-datepicker td { + border: 0; + padding: 1px; +} +.ui-datepicker td span, +.ui-datepicker td a { + display: block; + padding: .5em; + text-align: right; + text-decoration: none; +} +.ui-datepicker .ui-datepicker-buttonpane { + background-image: none; + margin: .7em 0 0 0; + padding: 0 .2em; + border-left: 0; + border-right: 0; + border-bottom: 0; +} +.ui-datepicker .ui-datepicker-buttonpane button { + float: right; + margin: .5em .2em .4em; + cursor: pointer; + padding: .2em .6em .3em .6em; + width: auto; + overflow: visible; +} +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { + float: left; +} +/* 토요일은 파란색, 일요일은 빨간색 */ +.ui-datepicker-week-end:first-child, +.ui-datepicker-calendar tbody td:first-child a { + color: #f00; +} +.ui-datepicker-week-end:last-child, +.ui-datepicker-calendar tbody td:last-child a { + color: #00f; +} + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { + width: auto; +} +.ui-datepicker-multi .ui-datepicker-group { + float: left; +} +.ui-datepicker-multi .ui-datepicker-group table { + width: 95%; + margin: 0 auto .4em; +} +.ui-datepicker-multi-2 .ui-datepicker-group { + width: 50%; +} +.ui-datepicker-multi-3 .ui-datepicker-group { + width: 33.3%; +} +.ui-datepicker-multi-4 .ui-datepicker-group { + width: 25%; +} +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { + border-left-width: 0; +} +.ui-datepicker-multi .ui-datepicker-buttonpane { + clear: left; +} +.ui-datepicker-row-break { + clear: both; + width: 100%; + font-size: 0; +} + +/* RTL support */ +.ui-datepicker-rtl { + direction: rtl; +} +.ui-datepicker-rtl .ui-datepicker-prev { + right: 2px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next { + left: 2px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-prev:hover { + right: 1px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next:hover { + left: 1px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane { + clear: right; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button { + float: left; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, +.ui-datepicker-rtl .ui-datepicker-group { + float: right; +} +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { + border-right-width: 0; + border-left-width: 1px; +} + +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: Arial,Helvetica,sans-serif; + font-size: 1em; +} +.ui-widget .ui-widget { + font-size: 1em; +} +.ui-widget input, +.ui-widget select, +.ui-widget textarea, +.ui-widget button { + font-family: Arial,Helvetica,sans-serif; + font-size: 1em; +} +.ui-widget-content { + border: 1px solid #dddddd; + background: #ffffff; + color: #333333; +} +.ui-widget-content a { + color: #333333; +} +.ui-widget-header { + border: 1px solid #dddddd; + background: #ffffff; + color: #333333; + font-weight: bold; +} +.ui-widget-header a { + color: #333333; +} + +/* Interaction states +----------------------------------*/ +.ui-state-default, +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default { +/* border: 1px solid #ffffff; */ + background: #ffffff; + font-weight: normal; + color: #454545; +} +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited { + color: #454545; + text-decoration: none; +} +.ui-state-hover, +.ui-widget-content .ui-state-hover, +.ui-widget-header .ui-state-hover, +.ui-state-focus, +.ui-widget-content .ui-state-focus, +.ui-widget-header .ui-state-focus { +/* border: 1px solid #cccccc; */ + border-radius: 5px; + background: #ededed; + font-weight: normal; + color: #2b2b2b; +} +.ui-state-hover a, +.ui-state-hover a:hover, +.ui-state-hover a:link, +.ui-state-hover a:visited, +.ui-state-focus a, +.ui-state-focus a:hover, +.ui-state-focus a:link, +.ui-state-focus a:visited { + color: #2b2b2b; + text-decoration: none; +} +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active { +/* border: 1px solid #003eff; */ + border-radius: 5px; + background: #007fff; + font-weight: normal; + color: #ffffff; +} +/* 주말 선택시 날짜 색 */ +.ui-datepicker-calendar tbody td:first-child a.ui-state-active , +.ui-datepicker-calendar tbody td:last-child a.ui-state-active { + color: #ffffff; +} + +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited { + color: #ffffff; + text-decoration: none; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { +/* border: 1px solid #a7d3ff; */ + border-radius: 5px; + background: #c5e1fb; + color: #000000; +} +.ui-state-highlight a, +.ui-widget-content .ui-state-highlight a, +.ui-widget-header .ui-state-highlight a { + color: #ffffff; +} +.ui-state-error, +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { + border: 1px solid #f1a899; + background: #fddfdf; + color: #5f3f3f; +} +.ui-state-error a, +.ui-widget-content .ui-state-error a, +.ui-widget-header .ui-state-error a { + color: #5f3f3f; +} +.ui-state-error-text, +.ui-widget-content .ui-state-error-text, +.ui-widget-header .ui-state-error-text { + color: #5f3f3f; +} +.ui-priority-primary, +.ui-widget-content .ui-priority-primary, +.ui-widget-header .ui-priority-primary { + font-weight: bold; +} +.ui-priority-secondary, +.ui-widget-content .ui-priority-secondary, +.ui-widget-header .ui-priority-secondary { + opacity: .5; + filter:Alpha(Opacity=70); /* support: IE8 */ + font-weight: normal; +} +.ui-state-disabled, +.ui-widget-content .ui-state-disabled, +.ui-widget-header .ui-state-disabled { + opacity: .35; + filter:Alpha(Opacity=35); /* support: IE8 */ + background-image: none; +} +.ui-state-disabled .ui-icon { + filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ +} + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + width: 16px; + height: 16px; +} +.ui-icon, +.ui-widget-content .ui-icon { + background-image: url("../../../images/egovframework/com/cmm/utl/ui-icons_444444_256x240.png"); +} +.ui-widget-header .ui-icon { + background-image: url("../../../images/egovframework/com/cmm/utl/ui-icons_444444_256x240.png"); +} +.ui-state-default .ui-icon { + background-image: url("../../../images/egovframework/com/cmm/utl/ui-icons_777777_256x240.png"); +} +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon { + background-image: url("../../../images/egovframework/com/cmm/utl/ui-icons_555555_256x240.png"); +} +.ui-state-active .ui-icon { + background-image: url("../../../images/egovframework/com/cmm/utl/ui-icons_ffffff_256x240.png"); +} +.ui-state-highlight .ui-icon { + background-image: url("../../../images/egovframework/com/cmm/utl/ui-icons_777620_256x240.png"); +} +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { + background-image: url("../../../images/egovframework/com/cmm/utl/ui-icons_cc0000_256x240.png"); +} + +/* positioning */ +.ui-icon-blank { background-position: 16px 16px; } +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-on { background-position: -96px -144px; } +.ui-icon-radio-off { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, +.ui-corner-top, +.ui-corner-left, +.ui-corner-tl { + border-top-left-radius: 5px; +} +.ui-corner-all, +.ui-corner-top, +.ui-corner-right, +.ui-corner-tr { + border-top-right-radius: 5px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-left, +.ui-corner-bl { + border-bottom-left-radius: 5px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-right, +.ui-corner-br { + border-bottom-right-radius: 5px; +} + +/* Overlays */ +.ui-widget-overlay { + background: #aaaaaa; + opacity: .3; + filter: Alpha(Opacity=30); /* support: IE8 */ +} +.ui-widget-shadow { + margin: 0px 0 0 0px; + padding: 5px; + background: #666666; + opacity: .3; + filter: Alpha(Opacity=30); /* support: IE8 */ + border-radius: 8px; +} Property changes on: base3.10/src/main/webapp/css/egovframework/com/cmm/jqueryui_org.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/cmm/left.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/cmm/left.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/cmm/left.css (revision 7) @@ -0,0 +1,76 @@ +@CHARSET "UTF-8"; +/* + Css Name : com.css + Description : 공통 CSS + Modification Information + + 수정일 수정자 수정내용 + ---------- -------- --------------------------- + 2016.06.09 장동한 최초 생성 + + author : 공통컴포넌트 개발팀 장동한 + since : 2016.06.09 +*/ + +td {font-family: "돋움"; font-size: 9pt; color:#595959; font-weight:normal;} +th {font-family: "돋움"; font-size: 9pt; color:#000000; font-weight:normal;} + +h1 {font-size:12px;} +caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} + +img { border : 0; } +table { margin : 0; padding : 0; } + +/* Black 텍스트 Hyperlink Style */ +A:link { font-size:9pt; font-family:돋움;color:#000000; text-decoration:none; } +A:visited { font-size:9pt; font-family:돋움;color:#000000; text-decoration:none; } +A:active { font-size:9pt; font-family:돋움;color:red; text-decoration:none; } +A:hover { font-size:9pt; font-family:돋움;color:red;text-decoration:none;} + + +/* Gray 텍스트 Hyperlink Style */ +A.gr:link { font-size:9pt; font-family:돋움;color:#58595B; text-decoration:none; } +A.gr:visited { font-size:9pt; font-family:돋움;color:#58595B; text-decoration:none; } +A.gr:active { font-size:9pt; font-family:돋움;color:red; text-decoration:none; } +A.gr:hover { font-size:9pt; font-family:돋움;color:red ;text-decoration:none;} + + +/* Black 텍스트 Hyperlink Style_언더라인 */ +A.underline:link { font-size:9pt; font-family:돋움;color:#000000; text-decoration:underline; } +A.underline:visited { font-size:9pt; font-family:돋움;color:#000000; text-decoration:underline; } +A.underline:active { font-size:9pt; font-family:돋움;color:red; text-decoration:underline; } +A.underline:hover { font-size:9pt; font-family:돋움;color:red;text-decoration:underline;} + +/* 링크 점선 제거 */ +a {selector-dummy: expression(this.hideFocus=true);} + +/* 스크롤 & margin */ +body { + scrollbar-face-color: #F6F6F6; + scrollbar-highlight-color: #bbbbbb; + scrollbar-3dlight-color: #FFFFFF; + scrollbar-shadow-color: #bbbbbb; + scrollbar-darkshadow-color: #FFFFFF; + scrollbar-track-color: #FFFFFF; + scrollbar-arrow-color: #bbbbbb; + margin-left:"23px"; margin-right:"0px"; margin-top:"17px"; margin-bottom:"0px"; + font-family:'돋움', '굴림', 'Arial', 'AppleGothic', 'sans-serif'; + font-size: 12px; +} + +/* 흰색배경 inputbox */ + textarea, input, select { + padding-left:2px color:#555555; border:1px solid #9BBED2; + font-family: "돋움"; font-size: 9pt; color:#595959; + } + +/*------------------------------- textarea ------------------------------------------------*/ + +textarea { color : #000000; border-color : #9cbed3; border-style : solid; } + + /* 콤보박스에 테두리선 빼기 */ +input.cb {background-color:transparent;border:0x;} + + select { color:#000000; padding-left:2; border-color:#9CBED3; border-style:solid; } + select1 { color:#000000; padding-left:2; border-color:#9CBED3; border-style:solid; } +.select12 { color:#000000; padding-left:2; border-color:#9CBED3; border-style:solid; } Property changes on: base3.10/src/main/webapp/css/egovframework/com/cmm/left.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/cmm/main.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/cmm/main.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/cmm/main.css (revision 7) @@ -0,0 +1,49 @@ +/* + Css Name : main.css + Description : 메인 CSS + Modification Information + + 수정일 수정자 수정내용 + ---------- -------- --------------------------- + 2011.09.26 구지연 최초 생성 + 2016.10.14 장동한 v3.6작업 + + + author : 공통컴포넌트 개발팀 구지연 + since : 2011.09.26 +*/ +@CHARSET "UTF-8"; + +* { margin: 0; padding: 0; border: 0; } + +/* reset */ +frameset, frame, p, div { margin:0; padding:0; border:0; } + +div,table,form,fieldset,p,th,td,input,textarea,select,button { + font-family: '돋움', '굴림', 'Arial', 'AppleGothic', 'sans-serif'; font-size: 12px; color: #666; } + +.top_title_strong { color: #000000; font-size: 18px; } + +#header { position: relative; width: 100%; height: 70px; border-top: 4px solid #0c4ca4; border-bottom: 1px solid #d7d7d7; } + .header_box { padding: 20px 0 0 40px; } + .header_box h1 { float: left; margin-top: 10px; margin-right: 20px; } + .header_box p { margin-top: 2px; color: #333; font-size: 13px; font-weight: bold; } +#container { position: absolute; width: 100%; top: 110px; left: 0; right: 0; bottom: 65px; } + #lnb { position: absolute; top: 0; left: 20px; bottom: 0; width: 90%; margin-right: 30px; background: #fff; overflow-y: scroll; } + ul.lnb_title { padding-right: 25px; } + ul.lnb_title > li { padding-top: 12px;; padding-bottom: 5px; margin-bottom: 0px; } + ul.lnb_title > li:last-child { padding-bottom: 0; border-bottom: 0; } + .left_title_strong { color: #4c4c4c; font-size: 15px; font-weight: bold;} + + ul.lnb_title > li > ul { padding-top: 4px; } + ul.lnb_title > li > ul > li { margin-top: 9px; } + ul.lnb_title > li > ul > li a:hover { font-weight: bold; } + #contents { position: absolute; left: 300px; top: 25px; right: 0; bottom: 0; overflow-y: auto; } +#footer { position: absolute; bottom: 0; width: 100%; height: 45px; background: #d3d3d3; } +#footer p { color: #555; font-size: 11px; font-weight: bold; text-align: center; margin-top: 17px; } +#footer div {margin-top:12px; text-align: center;width:100%; } + .footer_title_strong { color: #666; font-size: 17px; font-weight: bold; } + +a.link { color: #666; text-decoration: none; font-weight: normal;} +a.link:hover { color: #000000; text-decoration: none; font-weight: bold;} +a, button, input[type="button"] { cursor: pointer; } \ No newline at end of file Property changes on: base3.10/src/main/webapp/css/egovframework/com/cmm/main.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/popup_com.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/popup_com.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/popup_com.css (revision 7) @@ -0,0 +1,28 @@ +/* + Css Name : com.css + Description : 공통 CSS + Modification Information + + 수정일 수정자 수정내용 + ---------- -------- --------------------------- + 2017.069.15 장동한 최초 생성 + 2018 + + author : 공통컴포넌트 개발팀 서민영 + since : 2016.06.08 +*/ +@charset "utf-8"; + +h1 {font-size:12px;} +caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} +body{ + margin-top:0px; + margin-left:10px; + margin-right:10px; + padding-top:0px; + padding-left:0px; + margin-bottom: 0; + font-family:'돋움', '굴림', 'Arial', 'AppleGothic', 'sans-serif'; + font-size: 12px; +} +.popup h1 {margin-bottom:7px; padding:0 0 1px 25px; background:url(../../../images/egovframework/com/cmm/icon/tit_icon.png) no-repeat left 0px; } \ No newline at end of file Property changes on: base3.10/src/main/webapp/css/egovframework/com/popup_com.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/cop/bbs/style.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/cop/bbs/style.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/cop/bbs/style.css (revision 7) @@ -0,0 +1,147 @@ +@charset "utf-8"; + +@font-face { + font-family: "NanumGothic"; + src: url("../../../../../fonts/NanumGothic.eot"); + src:local(※), url("../../../../../fonts/NanumGothic.woff") format("woff"); +} +@font-face { + font-family:"NanumGothicExtraBold"; + src:url("../../../../../fonts/NanumGothicExtraBold.eot"); + src:local(※), url("../../../../../fonts/NanumGothicExtraBold.woff") format("woff"); +} + +/* Base Style *****************************/ +* { margin: 0; padding: 0; border: 0; } +body { overflow-y:scroll; } +body, div, table, em, form, fieldset, p, th, td, input, textarea, select, button { font:12px "Malgun Gothic", "dotum"; color:#666; } +h1, h2, h3, h4, h5, h6, th { color:#333; } +fieldset, img { border: 0; } +img, label { vertical-align: middle; } +ul, ol { list-style : none; } +caption, .hide, .blind { display:none; } +caption, legend { position:absolute; top:-9000em; left:-9000em; text-indent:-99999em; width:0; height:0; visibility:hidden; } +table { border-collapse: collapse; border-spacing: 0; width: 100%; } +select { min-width:130px; border:1px solid #c9c9c9; padding:5px 3px 6px; } +a { color: #000; text-decoration: none; } +a:hover { text-decoration:none; } +a, button, input[type="button"], input[type="submit"] { cursor: pointer; } +textarea, +input[type="text"], +input[type="email"], +input[type="password"] { border:1px solid #c9c9c9; padding:4px; } +input[type="button"] { border:none; padding:6px 12px 7px; background:#3d70b6; color:#fff; font-family:"NanumGothicExtraBold"; } +input[type="checkbox"] { vertical-align:middle; margin:0 5px 0 0; } + +.clear { clear:both; } +.txt-rt { text-align:right; } +.txt-cnt { text-align:center; } +.mt20 { margin-top:20px; } +.ml5 { margin-left:5px; } +.txt_bl { color:#000; } + +/* Background */ +.bg_gray { background:#9c9c9c !important; } + +.note { position: relative; width:730px; } +h1 { font-size:14px; margin:18px 0 10px; } + +/* Button Style */ +.btnStyle01 { display: inline-block; border:1px solid #d2d2d2; padding:5px 10px 4px; color:#666; font-size:11px; background:#fafafa; cursor:pointer; } +.btnStyle01:hover { text-decoration:none; } +.btnStyle02 { border:none; padding:6px 12px 7px; background:#3d70b6; color:#fff; font-family:"NanumGothicExtraBold"; } + +/* PopUp */ +.mask { position:absolute; left:0; top:0; z-index:9999; background-color:#000; display:none; } +.layerPop { display: none; background-color: #ffffff; width:400px; height: 200px; z-index:99999; } + + +/* Community *********************************/ +.blog_wrap { width: 970px; margin:18px auto 40px; } +.blog_header { position: relative; } +.blog_header .visual { width: 100%; height: 130px; background: url('../../../../../images/egovframework/com/cop/bbs/community_title.png') no-repeat; text-indent: -10000em; } +.blog_header .visual_default { width: 970px; height:147px; background:url('../../../../../images/egovframework/com/cop/bbs/bg_blog_tit.jpg') no-repeat; } +.blog_header .visual_default h1 { padding:32px 0 6px 20px; color:#3f73c2; font-size:20px; font-weight:bold; } +.blog_header .visual_default p { padding-left:20px; color:#002e54; font-size:13px; } +.h_menu {position:relative; width: 970px; height:45px; border-top:3px solid #000; border-radius:0 0 5px 5px; background:#003765 url('../../../../../images/egovframework/com/cop/bbs/bg_gnb_r.jpg') no-repeat right top; } +.h_menu:after {content:""; display:block; height:0; clear:both; visibility:hidden; } +.h_menu ul.gnb { float: left; } +.h_menu ul.gnb.r {float:right; } +.h_menu ul.gnb li { float: left; } +.h_menu ul.gnb li a {display:block; height:45px; padding:0 20px; color:#fff; font-size:14px; font-weight:bold; line-height:45px; background:url(../../../../../images/egovframework/com/cop/bbs/bg_bar01.jpg) no-repeat right center; } +.h_menu ul.gnb li:first-child a { border-radius:0 0 0 5px; } +.h_menu ul.gnb li:last-child a { background:none; } +.h_menu ul.gnb li a.all { font-family:"NanumGothicExtraBold"; } +.h_menu ul.gnb li a.on {background:#015ca7; } +.h_menu .write { display:inline-block; position:absolute; right:0; top:67px; width:75px; height:30px; padding-left:33px; color:#fff; font-size:14px; font-weight:bold; text-align:left; line-height:30px; background:url('../../../../../images/egovframework/com/cop/bbs/btn_write.jpg') no-repeat; } + +.post { margin:26px 0 40px; } +.post_title { margin-bottom:12px; padding-bottom:17px; background:url(../../../../../images/egovframework/com/cop/bbs/bg_bot01.jpg) repeat-x left bottom; } +.post_title h5 { float:left; font-size:13px; } +.post_title > p {color:#393939; font-size:18px; font-weight:bold; } + +.post_title span.txt_bl { margin-left:4px; font-size:11px; vertical-align:middle; } +.post_title .menu { float:right; width:59px; background:url('../../../../../images/egovframework/com/cop/bbs/icon_up.png') right center no-repeat; margin-right:17px; cursor:pointer; } + +.post_opt { float:right; margin-top:10px; } + +.paging { display:inline-block; width:100%; text-align:center; } +.paging ul { display:inline-block; } +.paging ul li { float:left; text-align:center; padding:0 7px; } +.paging ul li.current { color:#ce5760; font-family:"NanumGothicExtraBold"; } +.paging ul li a { color:#999; } + +.blog_cnt { padding:30px 25px; border:1px solid #eee; } +.blog_title { border-bottom:1px solid #e3e3e3; padding-bottom:10px; } +.blog_title h5 { float:left; font-size:14px; } +.blog_title span { border-left:1px solid #dcdada; margin-left:12px; padding-left:12px; vertical-align:middle; } +.blog_title span a { color:#666; } +.blog_title p { float:right; font-size:11px; color:#999; } +.blog_cnt .cnt { width:100%; text-align:center; padding-top:30px; font-size:14px; color:#333; } +.blog_cnt .cnt img { width:98%; height:auto; margin-bottom:15px; } +.blog_cnt .open_btm { border-top:1px solid #e3e3e3; padding-top:14px; } +.open_btm strong, .close_btm strong { width:60px; padding-left:15px; } +.open_btm strong a, .close_btm strong a { font-family:"NanumGothicExtraBold"; text-decoration:none; } +.blog_cnt .open_btm strong { background:url('../../../../../images/egovframework/com/cop/bbs/icon_up.png') left center no-repeat; } +.blog_cnt .close_btm strong { background:url('../../../../../images/egovframework/com/cop/bbs/icon_down.png') left center no-repeat; } +.blog_cnt .open_btm strong a { color:#ce5760; } +.blog_cnt .close_btm strong a { color:#666; } +.comm_List { background:#f8f8f8; padding:20px; margin-top:10px; } +.comm_List dl { border-bottom:1px solid #e2e2e2; padding-bottom:12px; margin-bottom:12px; } +.comm_List dl:last-child { border-bottom:none; padding-bottom:0; margin-bottom:0; } +.comm_List dl dt { padding-bottom:8px; } +.comm_List dl dt strong { font-family:"NanumGothicExtraBold"; color:#333; margin-right:10px; } +.comm_List dl dt span { font-size:11px; color:#b5b5b5; } +.comm_List dl dt span.reply { float:right; } +.comm_List dl dd { line-height:145%; } +.comm_List dl dd textarea { float:left; width:795px; height:41px; margin-right:5px; } +.comm_List dl dd button { padding:18px 22px; background:#f5f5f5; border:1px solid #c9c9c9; vertical-align:middle; font-size:11px; font-family:"NanumGothicExtraBold"; } +.comm_List dl dd a.re_btn { padding:18px 22px; background:#f5f5f5; border:1px solid #c9c9c9; vertical-align:middle; font-size:11px; font-family:"NanumGothicExtraBold"; color: #666;} + +/* Table Style *********************************/ +.tbl_note { width:100%; table-layout:fixed; word-wrap:break-word; border-top:2px solid #0c4ca4; border-bottom:1px solid #aaabb0; } +.tbl_note thead th { border-bottom:1px solid #c0c1c6; } +.tbl_note th { vertical-align:middle; background:#f4f4f4; } +.tbl_note tbody th { background:#f4f4f4 url('../../../../../images/egovframework/com/cop/bbs/tbl_check.png') 25px center no-repeat ; padding-left:40px; } +.tbl_note tbody th.ic_none { background:#f4f4f4; padding-left:40px; } +.tbl_note tbody th, .tbl_note td { text-align:left; border-top:1px solid #e2e3e5; } +.tbl_note th, .tbl_note td { height:18px; padding:7px; } +.tbl_note th:first-child, .tbl_note td:first-child { border-left:none; } + +.tbl_list { width:100%; } +.tbl_list td { padding:8px 10px; border-bottom:1px solid #ececec; text-align:center; font-size:12px; } +.tbl_list td:first-child { text-align:left; background:url('../../../../../images/egovframework/com/cop/bbs/dot_gray.png') left center no-repeat; } +.tbl_list td a.on { font-family:"NanumGothicExtraBold"; text-decoration:underline; } +.tbl_list td span { color:#ce5760; font-family:"NanumGothicExtraBold"; margin-left:5px; } + + +/* file Style *****************************/ +.file_input_textbox { float: left; margin-right: 4px; } +.file_input_div { position: relative; width: 66px; height: 24px; overflow: hidden; } +.file_input_button { position: absolute; width: 66px; font-size: 11px; } +.file_input_hidden { position: absolute; font-size: 45px; right: 0; top: 0; opacity: 0; cursor: pointer; + filter:alpha(opacity=0); + -ms-filter:"alpha(opacity=0)"; + -khtml-opacity:0; + -moz-opacity:0; +} \ No newline at end of file Property changes on: base3.10/src/main/webapp/css/egovframework/com/cop/bbs/style.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/cop/smt/sdm/dept_schdule_manage.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/cop/smt/sdm/dept_schdule_manage.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/cop/smt/sdm/dept_schdule_manage.css (revision 7) @@ -0,0 +1,94 @@ +@charset "utf-8"; + +/*캘린더*/ +.calendar { position: relative; width: 730px; } +.calendar h2 { color: #333; font-size: 16px; margin: 15px 0 10px; padding-left:25px; background:url(../../../../../../images/egovframework/com/cmm/icon/tit_icon.png) no-repeat left top; } + .sort_area { position: relative; height: 40px; border: 0px solid #dedede; margin:0 0 10px 0;} + .select_group { position: absolute; top: 5px; left: 0; } + .select_group select { height: 27px; border: 1px solid #dedede; padding: 3px 4px; } + /*.date_view { position: relative; top: 9px; margin: 0 0 0 -85px; border: 1px solid #dedede;} */ + .date_view { position: absolute; top: 9px; left: 37%; margin: 0 0 0 -85px; } + .date_view ul { display: inline-block; } + .date_view ul li { float: left; } + .date_view ul li.date { color: #000; font-size: 18px; font-weight: bold; margin-right: 5px; margin-left: 5px;} + .date_view ul li a { display: block; height: 19px; line-height: 19px; background-color: #fff; border: 1px solid #e6e6e6; } + .date_view ul li a:hover { background-color: #e6e6e6; } + .date_view ul li a.today { padding: 0 7px; color: #000; font-size: 11px; margin-right: 5px; } + .date_view ul li a.prev { width: 18px; background: url('../../../../../../images/egovframework/com/cop/smt/sdm/btn_prev.png') 5px no-repeat; text-indent: -10000em; margin-right: 0px; } + .date_view ul li a.next { width: 18px; background: url('../../../../../../images/egovframework/com/cop/smt/sdm/btn_next.png') 6px 5px no-repeat; text-indent: -10000em; } + /* + .view_type { position: absolute; top: 5px; right: 0; } + .view_type ul { display: inline-block; } + .view_type ul li { float: left; margin-left: -1px; } + .view_type ul li a { display: block; height: 25px; line-height: 25px; color: #000; font-weight: bold; padding: 0 10px; background-color: #f4f4f4; border: 1px solid #e6e6e6; } + .view_type ul li a:hover { background-color: #e6e6e6; } + .view_type ul li a.on { background-color: #0c4ca4; color: #fff; border: 1px solid #0c4ca4; } + */ + +.sort_area_top { position: relative; height: 45px; text-align:center; border: 0px solid #dedede; } + .view_type_top { position: absolute; top: 5px; left: 28%; text-align:center; border: 0px solid #dedede; } + .view_type_top ul { display: inline-block; } + .view_type_top ul li { float: left; margin-left: -1px; } + .view_type_top ul li a { display:block; text-align:center; width:100px; height:28px; line-height: 28px; color: #000; font-weight: bold; padding: 0 10px; background-color: #f4f4f4; border: 1px solid #e6e6e6; } + .view_type_top ul li a:hover { background-color: #e6e6e6; } + .view_type_top ul li a.on { background-color: #0c4ca4; color: #fff; border: 1px solid #0c4ca4; } + + + .month { width: 100%; table-layout: fixed; border-top: 2px solid #0c4ca4; } + .month caption { display: none; } + .month thead th { text-align: left; color: #333; padding: 11px 0 12px 8px; background-color: #f4f4f4; } + .month tbody td { padding: 2px 6px 2px 4px; border-left: 1px solid #e6e6e6; overflow: hidden; text-overflow: clip; white-space: nowrap; } + .month tbody tr { height: 19px; border-bottom: 1px solid #fff; } + .month tbody tr.num td { color: #000; padding: 6px 7px; } + .month tbody tr.num td.opa { opacity: 0.4 } + .month thead th:nth-child(1), + .month tbody td:nth-child(1), + .month tbody td.holiday { color: #d90101 !important; } + .month tbody td:nth-child(1) { border-left: 0; } + .month tbody tr.line td { border-bottom: 1px solid #e6e6e6; } + .month tbody tr.last td { border-bottom: 0; } + .month tbody td.period { color: #fff; padding: 2px 6px 2px 4px; } + .month tbody td.purple_bg { background-color: #8394cf; } + .month tbody td.purple_txt { color: #5f74bb; } + .month tbody td.sky_bg { background-color: #69c2d2; } + .month tbody td.sky_txt { color: #2f95af; } + .month tbody td.pink_bg { background-color: #f1718c; } + .month tbody td.pink_txt { color: #ea4367; } + .month tbody td.org_bg { background-color: #f58555; } + .month tbody td.org_txt { color: #f3672a; } + .month tbody td.green_bg { background-color: #93cc4b; } + .month tbody td.green_txt { color: #71a82b; } + .month tbody span.arrow { float: right; width: 4px; height: 5px; margin-top: 4px; background: url('../../../../../../images/egovframework/com/cop/smt/sdm/bullet_arrow.png') no-repeat; text-indent: -10000em; }s + + .week_calendar { position: relative; } + .title { position: relative; top: 0; width: 100%; border-top: 2px solid #0c4ca4; margin-bottom: 11px; } + .title caption { display: none; } + .title thead th { height: 50px; text-align: center; color: #333; font-weight: normal; padding-left: 8px; background-color: #f4f4f4; } + .title tbody tr { border-bottom: 1px solid #fff; } + .title tbody td { vertical-align:middle;padding: 0px 0px 0px 2px; border-left: 1px solid #e6e6e6; text-align: center; font-size: 12px; } + /* + .title thead th:nth-child(2), + .title tbody td.holiday { color: #d90101 !important; } + */ + .title tbody tr.line td { border-bottom: 1px solid #e6e6e6; } + /* + .title tbody td:nth-child(1) { vertical-align: top; text-align: right; color: #333; padding-right: 7px; border-left: 0; } + .title tbody td:nth-child(1), + */ + .title tbody td:nth-child(1) { border-left: 0;} + .title tbody td:nth-child(2) { line-height: 180%;} + + .week_area { position: absolute; top: 89px; right: 0; left: 0; overflow: hidden; overflow-y: auto; } + .week_schedule { width: 100%; table-layout: fixed; border-top: 1px solid #e6e6e6; } + .week_schedule caption { display: none; } + .week_schedule tbody td { border-left: 1px solid #e6e6e6; color: #fff; font-size: 11px; } + .week_schedule tbody td:nth-child(1) { border-left: 0; } + .week_schedule tbody tr.grid td { padding-right: 0; } + .grid_time_wrap { position: relative; margin: 0; } + .grid_time_wrap .grid_time { position: absolute; width: 100%; } + .grid_time_wrap .hour_cell { height: 40px; border-bottom: 1px solid #e6e6e6; } + .grid_time_wrap .half { height: 20px; margin: -1px 0 19px; border-top: 1px solid #e6e6e6; font-size: 1px; } + + .time_area { position: relative; width: 70px; } + .time_area ul { display: inline-block; width: 100%; } + .time_area ul li { display: block; text-align: right; white-space: nowrap; padding: 0 7px 26px 0; color: #333; } \ No newline at end of file Property changes on: base3.10/src/main/webapp/css/egovframework/com/cop/smt/sdm/dept_schdule_manage.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/cop/cmy/community.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/cop/cmy/community.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/cop/cmy/community.css (revision 7) @@ -0,0 +1,58 @@ +@charset "utf-8"; + +/* community *********************************/ +#cmnt_wrap { width: 970px; margin-left: 10px; } +#cmnt_header { position: relative; } +#cmnt_header .visual { width: 970px; height: 130px; background: url('../../../../../images/egovframework/com/cop/com/cmy/community_title.png') no-repeat; text-indent: -10000em; } +#cmnt_header .visual_default { width:970px; height:147px; background: url('../../../../../images/egovframework/com/cop/com/cmy/community_title_bg2.jpg') no-repeat; } +#cmnt_header .visual_default h1 { color:#3f73c2; font-family:Malgun Gothic, sans-serif; font-size:24px; font-weight:bold; padding: 47px 0 15px 20px; } +#cmnt_header .visual_default p { color:#002e54; font-size:14px; font-weight:bold; padding-left:20px; } +#cmnt_header .h_menu { width: 970px; height:45px; border-top:3px solid #000; border-radius:0 0 5px 5px; background:#3f73c2 url('../../../../../images/egovframework/com/cop/com/cmy/bg_gnb_r.jpg') no-repeat right top; } +#cmnt_header .h_menu ul.gnb { float: left; display: inline-block; } +#cmnt_header .h_menu ul.gnb li { float: left; } +#cmnt_header .h_menu ul.gnb li a {display:block; height:45px; padding:0 20px; color:#fff; font-size:14px; font-weight:bold; line-height:45px; background:url(../../../../../images/egovframework/com/cop/com/cmy/bg_bar01.jpg) no-repeat right center; } +#cmnt_header .h_menu ul.gnb li a.on {background:#1e3b87; } +#cmnt_header .h_menu ul.gnb li:last-child a { background:none; } +#cmnt_header .h_menu ul.gnb li:last-child a.on {background:#1e3b87; } +#cmnt_header .h_menu ul.gnb li.home a {padding:0 20px 0 36px; } +#cmnt_header .h_menu ul.gnb li.home a.on {border-radius:0 0 0 5px; background:#1e3b87 url(../../../../../images/egovframework/com/cop/com/cmy/bl01.png) no-repeat 20px 17px; } + +#cmnt_container { position: relative; margin-top: 40px; } + #left_menu { position: absolute; width: 190px; top: 0; left: 0; margin-top: 2px; margin-right: 30px; } + #left_menu h2 { height:41px; padding:29px 0 0 19px; color:#fff; font-size:16px; font-weight:bold; background:url(../../../../../images/egovframework/com/cop/com/cmy/bg_lnb_tit.jpg) no-repeat; } + #left_menu ul {border:1px solid #91969c; border-radius:0 0 5px 5px; } + #left_menu ul li { border-bottom:1px solid #c8cacd; } + #left_menu ul li:last-child { border-bottom:0; } + #left_menu ul li a { display: block; padding: 11px; color: #444; font-weight: 600; } + #left_menu ul li a:hover, + #left_menu ul li a.on { color:#3f63c2; background:url(../../../../../images/egovframework/com/cop/com/cmy/bl02.jpg) no-repeat right center; } + #left_menu .left_btn { margin-bottom:5px; padding:11px 10px 11px 14px; border:1px solid #677a8f; border-radius:5px; background:#8799ad url(../../../../../images/egovframework/com/cop/com/cmy/bl03.jpg) no-repeat right center; } + #left_menu .left_btn a { display:block; color:#fff; font-weight: bold; background: url('../../../../../images/egovframework/com/cop/com/cmy/btn_next.png') right 3px no-repeat; } + #cmnt_content { position: absolute; width: 775px; top: 0; left: 200px; } + #cmnt_content ul.main_board { margin-top: 8px; } + #cmnt_content ul.main_board > li { float: left; width: 365px; margin-bottom: 40px; } + #cmnt_content ul.main_board li:nth-child(2), + #cmnt_content ul.main_board li:nth-child(4) { float: right; } + #cmnt_content ul.main_board li strong { font-size: 14px; color: #333; } + #cmnt_content ul.main_board li .more { float: right; display: block; padding-right: 18px; background: url('../../../../../images/egovframework/com/cop/com/cmy/btn_more.png') right 1px no-repeat; } + #cmnt_content ul.main_board ul.list { padding-top: 16px; border-top: 2px solid #364961; margin-top: 10px; } + #cmnt_content ul.main_board ul.list li { float: left; width: 355px; font-size: 13px; background: url('../../../../../images/egovframework/com/cop/com/cmy/txt_gray_dot.png') left 7px no-repeat; padding-left: 10px; margin-bottom: 18px; } + #cmnt_content ul.main_board ul.list li:last-child { margin-bottom: 0; } + #cmnt_content ul.main_board ul.list li a:hover { text-decoration: underline; } + #cmnt_content ul.main_board ul.list li span.date { float: right; color: #888; font-size: 12px; } + #cmnt_content ul.main_board ul.null li { text-align: center; font-size: 14px; font-weight: bold; background: none; } + + #if_cmnt_content { position: absolute; width: 768px; top: 0; left: 0px; } + #if_cmnt_content ul.main_board { margin-top: 8px; } + #if_cmnt_content ul.main_board > li { float: left; width: 365px; margin-bottom: 40px; } + #if_cmnt_content ul.main_board li:nth-child(2), + #if_cmnt_content ul.main_board li:nth-child(4) { float: right; } + #if_cmnt_content ul.main_board li strong { font-size: 14px; color: #333; } + #if_cmnt_content ul.main_board li .more { float: right; display: block; padding-right: 18px; background: url('../../../../../images/egovframework/com/cop/com/cmy/btn_more.png') right 1px no-repeat; } + /* #if_cmnt_content ul.main_board ul.list { padding-top: 16px; border-top: 2px solid #364961; margin-top: 10px; }*/ + #if_cmnt_content ul.main_board ul.list { padding-top: 16px; border-top: 2px solid #364961; margin-top: 10px;} + #if_cmnt_content ul.main_board ul.list li { text-align: left; float: left; width: 355px; font-size: 13px; background: url('../../../../../images/egovframework/com/cop/com/cmy/txt_gray_dot.png') left 7px no-repeat; padding-left: 10px; margin-bottom: 18px; } + #if_cmnt_content ul.main_board ul.list li:last-child { margin-bottom: 0; } + #if_cmnt_content ul.main_board ul.list li a:hover { text-decoration: underline; } + #if_cmnt_content ul.main_board ul.list li span.date { float: right; color: #888; font-size: 12px; } + #if_cmnt_content ul.main_board ul.null li { text-align: center; font-size: 14px; font-weight: bold; background: none; } Property changes on: base3.10/src/main/webapp/css/egovframework/com/cop/cmy/community.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/uss/olp/opp/online_poll.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/uss/olp/opp/online_poll.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/uss/olp/opp/online_poll.css (revision 7) @@ -0,0 +1,19 @@ +@charset "utf-8"; + +/* OnlinePoll Layout *********************************/ +.poll { position: relative; width: 730px; } +.poll h1 { float: left; color: #333; font-size: 16px; font-weight: 600; margin: 18px 0 10px; } +dl.poll_chart { padding: 30px; } +dl.poll_chart dt { color: #444; margin-bottom: 7px; } +dl.poll_chart dd { display: inline-block; margin-bottom: 13px; } +dl.poll_chart dd:last-child { margin-bottom: 0; } +dl.poll_chart ul li { position: relative; float: left; display: inline; } +dl.poll_chart ul li:first-child { margin-right: 25px; } +dl.poll_chart ul li span.g_bar { display: inline-block; width: 580px; height: 8px; background: #e5e5e5; /* background: url('../images/poll_bar_gray.gif') repeat-x; */ } + +dl.poll_chart ul li span.g_bar2 { display: inline-block; width: 500px; height: 8px; background: #e5e5e5; text-align: left; /* background: url('../images/poll_bar_gray.gif') repeat-x; */ } +dl.poll_chart ul li span.g_org { position: absolute; display: inline-block; height: 8px; background: #e2623d; /* background: url('../images/poll_bar_org.gif') repeat-x; */ } + +ul.poll_partcptn { display: inline-block; padding: 30px; } +ul.poll_partcptn li { float: left; margin-right: 12px; } +ul.poll_partcptn li input[type="radio"] { margin-right: 4px; } Property changes on: base3.10/src/main/webapp/css/egovframework/com/uss/olp/opp/online_poll.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/uss/ion/ntm/note_manage.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/uss/ion/ntm/note_manage.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/uss/ion/ntm/note_manage.css (revision 7) @@ -0,0 +1,41 @@ +@charset "utf-8"; + +/* Base Style *****************************/ +* { margin: 0; padding: 0; border: 0; } +body { overflow-y:scroll; } +body, div, table, form, th, td, input, textarea, select, button { font:12px 'dotum'; color:#666; } +h1, th { color:#333; } +img { border: 0; } +img, label { vertical-align: middle; } +ul, { list-style : none; } +caption { display:none; } +table { border-collapse: collapse; border-spacing: 0; width: 100%; } +select { width:299px; height:80px; border:1px solid #c9c9c9; padding:5px 3px 6px; margin-right:3px; } +a { color: #000; text-decoration: none; } +a, button, input[type="button"], input[type="submit"] { cursor: pointer; } +textarea, +input[type="text"], +input[type="option"] +{ border:1px solid #c9c9c9; padding:4px; } +input[type="button"], input[type="submit"] { border:none; padding:6px 12px 7px; background:#3d70b6; color:#fff; } +input[type="checkbox"] { vertical-align:middle; margin:0 5px 0 0; } +.hide { text-indent:-99999em; } +.clear { clear:both; } +.txt-cnt { text-align:center; } +.mt20 { margin-top:20px; } +.ml5 { margin-left:5px; } +.note { position: relative; width:730px; } +h1 { font-size:14px; margin:18px 0 10px; } + +/* Table Style */ +.tbl_note { width:100%; table-layout:fixed; word-wrap:break-word; border-top:2px solid #0c4ca4; border-bottom:1px solid #aaabb0; } +.tbl_note thead th { border-bottom:1px solid #c0c1c6; } +.tbl_note th { vertical-align:middle; background:#f4f4f4; } +.tbl_note tbody th { background:#f4f4f4 url('../images/check.png') 25px center no-repeat ; padding-left:40px; } +.tbl_note tbody th.ic_none { background:#f4f4f4; padding-left:53px; } +.tbl_note tbody th, .tbl_note td { text-align:left; border-top:1px solid #e2e3e5; } +.tbl_note th, .tbl_note td { padding:7px; } +.tbl_note th:first-child, .tbl_note td:first-child { border-left:none; } + +/* Button Style */ +.btnStyle01 { display: inline-block; border:1px solid #d2d2d2; padding:5px 10px 4px; color:#666; font-size:11px; background:#fafafa; cursor:pointer; } Property changes on: base3.10/src/main/webapp/css/egovframework/com/uss/ion/ntm/note_manage.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/com.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/com.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/com.css (revision 7) @@ -0,0 +1,527 @@ +/* + Css Name :com.css + Description :공통 CSS + Modification Information + + 수정일 수정자 수정내용 + ---------- -------- --------------------------- + 2016.06.08 서민영 최초 생성 + 2018.06.01 유현우 공통컴포넌트 3.8 개선 + + author :공통컴포넌트 개발팀 서민영 + since :2016.06.08 +*/ +@charset "utf-8"; + +/* Base Style *****************************/ +* { margin:0; padding:0; border:0; } +/* body { overflow-y:auto; } */ +body{ + /*margin-top:20px;*/ + margin-left:10px; + padding-top:0px; + padding-left:0px; + margin-bottom:0; + font-family:'돋움', '굴림', 'Arial', 'AppleGothic', 'sans-serif'; + font-size:12px; +} + +div,table,em,h1,h2,h3,h4,h5,h6,form,fieldset,p,th,td,input,textarea,select,button { + font-family:'돋움', '굴림', 'Arial', 'AppleGothic', 'sans-serif'; font-size:12px; color:#666; } + +fieldset, img { border:0; } +textarea { width:100%; resize:none; } +img, label { vertical-align:middle; } +ul, ol { list-style :none; } +caption span, .hide, legend { position:absolute; left:-1000%; top:0; } +table { border-collapse:collapse; border-spacing:0; width:100%; } +a { color:#666; text-decoration:none; } +a:hover { color:#000; text-decoration:none; } +a, button, input[type="button"] { cursor:pointer; } +textarea, +input[type="file"], +input[type="password"], +input[type="text"] {border:1px solid #d2d2d2; color:#727272; } +textarea[readonly="readonly"], +button[readonly="readonly"], +select[readonly="readonly"], +input[readonly="readonly"], +textarea[disabled="disabled"], +button[disabled="disabled"], +select[disabled="disabled"], +input[disabled="disabled"] { color:#999; background:#f7f7f7; } +input[type="password"], +input[type="file"], +input[type="text"] { /*height:15px; vertical-align:middle; */ } +input[type="file"] { width:100%; } +input[type="radio"] { vertical-align:text-bottom; } + +.vam { vertical-align:middle !important; } +.ml10 { margin-left:10px !important; } +.mr10 { margin-right:10px !important; } +.mb10 { margin-bottom:10px !important; } +.mb20 { margin-bottom:20px !important; } +.mt20 { margin-top:20px !important; } + + +/* box Style *****************************/ +.boxType1 { position:relative; border:4px solid #ececec; background:#f7f7f7; } +.boxType1 .box { background:#fff; margin:4px; } +.boxType1 .box .error { padding:25px 0 25px 190px; min-height:50px; background:url('../images/bul_i.jpg') 30px 50% no-repeat; } +.boxType1 .box .error p.title { color:#DB6415; font-size:16px; line-height:21px; font-weight:bold; margin-bottom:10px; } +.boxType1 .box .error p.cont { line-height:18px; } + +.boxType2 { position:relative; border:4px solid #f1f1f1; background:#f7f7f7; } + + +/* button Style *****************************/ +.btn_style1 { display:inline-block; padding:6px 12px; border-radius:1px; } +.btn_style1 a { color:#fff; font-size:13px; font-weight:bold; } +.btn_style1 a:hover { opacity:0.6; } +.btn_style2 { display:inline-block; padding:4px 10px; border:1px solid #d2d2d2; color:#333; font-size:11px; background:#f4f4f4; border-radius:1px; } +.btn_style3 { display:inline-block; padding:5px 8px; background:#3d70b6; border-radius:1px; color:#fff; font-size:11px;} +.btn_style3c { padding:5px 8px; background:#3d70b6; border-radius:1px; color:#fff; font-size:11px; cursor:pointer;} +.btn_style4 { padding:5px 11px; } + +.btn_right { float:right; } +.blue { background:#3d70b6; } +.gray { background:#9e9e9e; } + + +/* input Style *****************************/ +.input2 { height:21px !important; padding-left:5px; margin-right:3px; } + + + +/* select Style *****************************/ +.select2 { padding:2px 3px 3px 4px; border:1px solid #d2d2d2; } + + +/* textarea Style *****************************/ +.textarea2 { padding:4px 0 0 6px; } +.textarea3 { padding:4px 0 0 6px; background:#f7f7f7; } + +/* file Style *****************************/ +.file_add { margin-top:6px; width:100%; border:0px solid #666;} +.file_add a { display:inline-block; width:13px; height:18px; background:url('../../../images/egovframework/com/cmm/btn/btn_del.png') 1px 2px no-repeat; text-indent:-10000em; } +.file_input_textbox { float:left; color:#666; border:1px solid #cfcfcf !important; padding-left:5px; margin-right:4px; } +.file_input_div { position:relative; width:66px; height:23px; overflow:hidden; } +.file_input_button { position:absolute; width:66px; height:23px; background:#3d70b6; border-radius:1px; font-size:11px; color:#fff; border:none; } +.file_input_hidden { position:absolute; font-size:45px; right:0; top:0; opacity:0; cursor:pointer; + filter:alpha(opacity=0); + -ms-filter:"alpha(opacity=0)"; + -khtml-opacity:0; + -moz-opacity:0; +} + +.cursor {cursor:pointer;} +/*.error {color :#ff0000;} */ + +/* Popup Layout *********************************/ +.popup { position:relative; } +.popup h1 { float:left; color:#333; font-size:16px; font-weight:600; margin:18px 0 10px; } +.pop_search_box { float:right; display:inline; margin:15px 6px 0 0; } +.pop_search_box ul li { float:left; margin-left:5px; } +.pop_search_box select { padding:2px 3px 3px 4px; border:1px solid #d2d2d2; } +.pop_search_box input.s_input { width:140px; padding-left:5px; margin-right:3px; } +.pop_search_box input.s_btn { height:24px; padding:0 10px; margin:0 0 0 0;border:none; color:#fff; background:#3d70b6; border-radius:2px; cursor:pointer; } +.pop_search_box input.s_btn:hover { opacity:0.6; } + +.pop_board_list { width:100%; border-top:2px solid #0c4ca4; } +.pop_board_list caption { display:none; } +.pop_board_list thead th, +.pop_board_list tbody th { color:#222 ; font-weight:bold; background:#f4f4f4; padding:12px 0; border-bottom:1px solid #e6e6e6; } +.pop_board_list tbody th { text-align:left; padding-left:14px; } +.pop_board_list tbody th.vtop { vertical-align:top; } +.pop_board_list tbody th .ic_chk { background:url('../images/tbl_check.png') left 3px no-repeat; padding-left:14px; } +.pop_board_list tbody th span.pilsu { color:#d0270b; font-weight:500; margin-left:3px; } +.pop_board_list tbody td { text-align:center; padding:11px 5px; border-bottom:1px solid #e6e6e6; } +.pop_board_list tbody td.left { text-align:left; padding-left:8px; } +.pop_board_list tbody td.cnt { text-align:left; padding:12px 10px 20px; line-height:160%; } +.pop_board_list tbody td.nopd { text-align:left; padding:0; border-left:1px solid #fff; } +.pop_board_list tbody td input.bbs_Nm { width:99%; } +.pop_board_list tbody td input.tmp { width:160px; } +.pop_board_list tbody td textarea { width:99%; height:100px; } +.pop_board_list tbody td textarea.txt { width:97%; height:300px; margin:6px 8px; } +.pop_board_list tbody td textarea.re_txt { float:left; width:80%; } +.pop_board_list tbody td a.re_btn { float:right; padding:43px 31px; margin:1px 2px 0 0; font-size:12px; font-weight:600; } +.pop_board_list tbody td select { padding:2px 0 3px 2px; border:1px solid #dedede; } +.pop_board_list tbody td img { margin-left:7px; } + +.popwTable { width:100%; border-top:2px solid #0c4ca4; } +.popwTable caption { display:none; } +.popwTable thead th, +.popwTable tbody th { color:#222 ; font-size:13px; font-weight:400; background:#f4f4f4; padding:12px 0; border-bottom:1px solid #d9d9d9; } +.popwTable tbody tr.odd { } +.popwTable tbody.ov tr:hover { background:#f9f9f9; } +.popwTable tbody th { text-align:left; padding-left:14px; } +.popwTable tbody th.vtop { vertical-align:top; } +.popwTable tbody th span.pilsu { color:#d0270b; font-weight:500; margin-left:3px; } +.popwTable tbody td { text-align:center; padding:11px 5px; border-bottom:1px solid #d9d9d9; } +.popwTable tbody td.left { text-align:left; padding:6px 8px; } +.popwTable tbody td.left div .error {color :#ff0000;} +.popwTable tbody td.cnt { text-align:left; padding:12px 10px 20px; line-height:160%; } +.popwTable tbody td.nopd { text-align:left;} +.popwTable tbody td.nopd div .error {color :#ff0000; margin:0px 0px 0px 10px;} +.popwTable tbody td.bold { text-align:left; font-size:14px; font-weight :bold;} +.popwTable tbody td a:hover { text-decoration:underline; } +.popwTable tbody td input { width:99%; } +.popwTable tbody td input.tmp { width:160px; } +.popwTable tbody td textarea { width:99%; height:50px; } +.popwTable tbody td textarea.txt { width:96%; height:50px; margin:8px; padding:5px; } +.popwTable tbody td textarea.re_txt { float:left; width:80%; } +.popwTable tbody td a.re_btn { float:right; padding:43px 30px; margin:1px 0 0 0; font-size:12px; font-weight:600; } +.popwTable tbody td a.re_btn:hover { text-decoration:none; } +.popwTable tbody td select { padding:2px 0 3px 2px; border:1px solid #dedede; } +.popwTable tbody td img { margin-left:7px; } + +.board {position:relative; width:730px; padding-top:20px; } +.board h1, +.board h2 {/*float:left;*/ color:#333; font-size:16px; font-weight:600; } +.board h1 {margin-bottom:7px; padding:0 0 1px 25px; background:url(../../../images/egovframework/com/cmm/icon/tit_icon.png) no-repeat left 0px; } +.board h2 { margin:15px 0 10px 0; } +.board h3 { color:#333; font-size:14px; font-weight:600; margin:50px 0 10px 0; } +.board h3 b { color:#2277d7; } +.search_box {/* float:right;*/ position:relative; margin-bottom:7px; padding:13px 10px; border:1px solid #b1bbcb; border-top:3px solid #8191ac; background:#eef3fb; } +.search_box ul {font-size:0; text-align:right; } +.search_box ul li {/* float:left;*/display:inline-block; margin-left:5px; font-size:11px; vertical-align:top; } +.search_box ul li img { margin-left:7px; } +.search_box ul li > div {color:#194e73; font-weight:bold; vertical-align:top; } +.search_box ul li > label {display:inline-block; height:24px; color:#194e73; font-size:12px; font-weight:bold; line-height:24px; } +.search_box ul li > input[type=text] {height:22px; } +.search_box select {height:24px; /*padding:3px 3px 3px 4px;*/ border:1px solid #dedede; } +.search_box input.s_input {width:140px; height:22px; margin-right:3px; padding-left:5px; } +.search_box input.s_input2 {width:140px; height:22px; margin-right:3px; padding-left:5px; } +.search_box input.s_btn { height:24px; padding:0 8px; border:none; color:#fff; background:#4688d2; border-radius:2px; cursor:pointer; } +.search_box input.s_btn:hover { background:#7dabdf; } + +.search_box span.s_btn { display:inline-block; vertical-align:top; height:13px; font-size:12px; padding:6px 12px 5px 12px; background:#4688d2; border-radius:2px; cursor:pointer; } +.search_box span.s_btn:hover { background:#7dabdf;} +.search_box span.s_btn a { color:#fff; } + +.search_box span.btn_b { display:inline-block; vertical-align:top; height:13px; font-size:12px; padding:3px 0 8px 0; background:#4688d2; border-radius:2px; cursor:pointer; } +.search_box span.btn_b:hover { background:#7dabdf;} +.search_box span.btn_b a { vertical-align:text-top; color:#fff; display:block; line-height:19px; padding:0 8px;} + +.search_box .con {display:inline-block; width:40%; margin-bottom:2px; } +.search_box .con.full {display:inline-block; width:80%; margin-bottom:2px; } +.search_box .con label {display:inline-block; width:70px; height:24px; color:#194e73; font-size:12px; font-weight:bold; line-height:24px; } +.search_box .con input[type=text] {height:22px; } +.search_box .bt_a {position:absolute; right:10px; top:13px; } + +.noScriptTitle { +font-size :17px; +color :blue; +text-align :center; +font-family:'돋움', '굴림', 'Arial', 'AppleGothic', 'sans-serif'; +font-weight :bold; +padding-bottom :12px; +} + +/* table style */ +.board_list {width:100%; table-layout:fixed; border-top:2px solid #4688d2; } +.board_list caption { display:none; } +.board_list thead th, +.board_list tbody th { color:#222 ; font-size:13px; font-weight:400; background:#f4f4f4; padding:12px 0; border-bottom:1px solid #d9d9d9; } +.board_list tbody tr.odd { } +.board_list tbody.ov tr:hover { background:#f9f9f9; } +.board_list tbody th { text-align:left; padding-left:14px; } +.board_list tbody th.vtop { vertical-align:top; } +.board_list tbody th span.pilsu { color:#d0270b; font-weight:500; margin-left:3px; } +.board_list tbody td { text-align:center; padding:11px 5px; border-bottom:1px solid #d9d9d9; + word-break:break-all; white-space:-moz-pre-wrap; overflow:hidden; text-overflow:ellipsis;} +.board_list tbody td.left { text-align:left; padding:6px 8px; } +.board_list tbody td.leftElli { text-align:left; padding:6px 8px; +overflow:hidden; +text-overflow:ellipsis; +-o-text-overflow:ellipsis; +white-space:nowrap; +width:100%; +} +.board_list tbody td.cnt { text-align:left; padding:12px 10px 20px; line-height:160%; } +.board_list tbody td.nopd { text-align:left;} +.board_list tbody td.bold { text-align:left; font-size:14px; font-weight :bold;} +.board_list tbody td.bold input { text-align:left; font-size:14px; font-weight :bold;} +.board_list tbody td a:hover { text-decoration:underline; } +.board_list tbody td input.bbs_Nm { width:99%; } +.board_list tbody td input.link {color:#666; } +.board_list tbody td input.tmp { width:160px; } +.board_list tbody td textarea { width:99%; height:50px; } +.board_list tbody td textarea.txt { width:96%; height:300px; margin:8px; padding:5px; } +.board_list tbody td textarea.re_txt { width:470px; float:left; margin-right:8px; height:96px; } +.board_list tbody td a.re_btn { float:right; padding:43px 30px; margin:1px 0 0 0; font-size:12px; font-weight:600; } +.board_list tbody td a.re_btn:hover { text-decoration:none; } +.board_list tbody td select { padding:2px 0 3px 2px; border:1px solid #dedede; } +.board_list tbody td img { margin-left:7px; } + +.top_line { border-top:1px solid #d9d9d9; } +.board_th_link { + font-weight:600; +} + + +/* table style */ +.wTableFrm {position:relative; width:730px; padding-top:20px; } +.wTableFrm h1, .wTableFrm h2 {/* float:left;*/ color:#333; font-size:16px; font-weight:600; } +.wTableFrm h1 { margin-top:15px; } +.wTableFrm h2 {margin-bottom:10px; padding-left:25px; background:url(../../../images/egovframework/com/cmm/icon/tit_icon.png) no-repeat left top; } +.wTableFrm h3 { color:#333; font-size:14px; font-weight:600; margin:50px 0 10px 0; } +.wTableFrm h3 b { color:#2277d7; } + +.wTable { width:100%; border-top:2px solid #4688d2; } +.wTable caption { display:none; } +.wTable > thead > tr > th, +.wTable > thead > tr > th { color:#222 ; font-size:13px; font-weight:400; background:#f4f4f4; padding:12px 0; border-bottom:1px solid #d9d9d9; } +.wTable > tbody tr.odd { } +.wTable > tbody.ov tr:hover { background:#f9f9f9; } +.wTable > thead > tr > th { text-align:left; padding-left:14px; } +.wTable > thead > tr > th.vtop { vertical-align:top; } +.wTable > thead > tr > th span.pilsu { color:#d0270b; font-weight:500; margin-left:3px; } +.wTable > tbody > tr > th { padding-left:14px; border-bottom:1px solid #d9d9d9; text-align:left; background:#f4f4f4; } +.wTable > tbody > tr > th.vtop { vertical-align:top; } +.wTable > tbody > tr > th span.pilsu { color:#d0270b; font-weight:500; margin-left:3px; } +.wTable > tbody > tr > td { text-align:center; padding:11px 5px; border-bottom:1px solid #d9d9d9; } +.wTable > tbody > tr > td.left { text-align:left; padding:6px 8px; } +.wTable > tbody > tr > td.left div .error {color :#ff0000;} +.wTable > tbody > tr > td.cnt { text-align:left; padding:12px 10px 20px; line-height:160%; } +.wTable > tbody > tr > td.nopd { text-align:left;} +.wTable > tbody > tr > td.nopd div .error {color :#ff0000; margin:0px 0px 0px 10px;} +.wTable > tbody > tr > td.bold { text-align:left; font-size:14px; font-weight :bold;} +.wTable > tbody > tr > td a:hover { text-decoration:underline; } +.wTable > tbody > tr > td input[type=text] {width:99%; height:22px; } +.wTable > tbody > tr > td input.tmp { width:160px; } +.wTable > tbody > tr > td textarea { width:99%; height:50px; } +.wTable > tbody > tr > td textarea.txt { width:96%; height:50px; margin:8px; padding:5px; } +.wTable > tbody > tr > td textarea.re_txt { float:left; width:80%; } +.wTable > tbody > tr > td a.re_btn { float:right; padding:43px 30px; margin:1px 0 0 0; font-size:12px; font-weight:600; } +.wTable > tbody > tr > td a.re_btn:hover { text-decoration:none; } +.wTable > tbody > tr > td select {height:24px; border:1px solid #dedede; } +.wTable > tbody > tr > td img {/* margin-left:7px;*/ } +.wTable input[readonly="readonly"] {height:22px; border:1px solid #d2d2d2; } +.wTable > tbody > tr > td input[type=checkbox] {vertical-align:-3px; } + + +/* toolbar */ +.toolbar { height:52px; background-color:#e5e5e5; padding-bottom:4px; border-bottom:1px solid #dedede; } + .group { float:left; padding:4px 0 0 8px; } + .group ul { float:left; padding:0; margin:0 3px 0 0; } + .group ul li { float:left; margin-right:3px; } + .group ul.format li { margin:2px 0 0 0; } + .group ul.sep { border-left:1px solid #ccc; padding:0 3px; border-right:1px solid #ccc; } + + .group input[type="button"] { width:22px; height:20px; line-height:20px; text-indent:-10000em; border:none; cursor:pointer; } + .group input[type="button"]:hover, .group input.on { background-color:#fff; border:1px solid #dedede; } + .ed_bold { background:url('../../../images/egovframework/com/cmm/toolbar/ed_format_bold.gif') left top no-repeat; } + .ed_italic { background:url('../../../images/egovframework/com/cmm/toolbar/ed_format_italic.gif') 2px top no-repeat; } + .ed_underline { background:url('../../../images/egovframework/com/cmm/toolbar/ed_format_underline.gif') 1px top no-repeat; } + .ed_strike { background:url('../../../images/egovframework/com/cmm/toolbar/ed_format_strike.gif') 1px top no-repeat; } + .ed_sub { background:url('../../../images/egovframework/com/cmm/toolbar/ed_format_sub.gif') 1px 1px no-repeat; } + .ed_sup { background:url('../../../images/egovframework/com/cmm/toolbar/ed_format_sup.gif') 1px 1px no-repeat; } + .ed_copy { background:url('../../../images/egovframework/com/cmm/toolbar/ed_copy.gif') left top no-repeat; } + .ed_cut { background:url('../../../images/egovframework/com/cmm/toolbar/ed_cut.gif') 1px top no-repeat; } + .ed_paste { background:url('../../../images/egovframework/com/cmm/toolbar/ed_paste.gif') 1px top no-repeat; } + .ed_undo { background:url('../../../images/egovframework/com/cmm/toolbar/ed_undo.gif') 1px top no-repeat; } + .ed_redo { background:url('../../../images/egovframework/com/cmm/toolbar/ed_redo.gif') 1px 1px no-repeat; } + .ed_rmformat { background:url('../../../images/egovframework/com/cmm/toolbar/ed_rmformat.gif') 1px top no-repeat; } + .ed_killword { background:url('../../../images/egovframework/com/cmm/toolbar/ed_killword.gif') 1px top no-repeat; } + .ed_al_left { background:url('../../../images/egovframework/com/cmm/toolbar/ed_align_left.gif') 1px top no-repeat; } + .ed_al_center { background:url('../../../images/egovframework/com/cmm/toolbar/ed_align_center.gif') 1px top no-repeat; } + .ed_al_right { background:url('../../../images/egovframework/com/cmm/toolbar/ed_align_right.gif') 1px top no-repeat; } + .ed_al_justify { background:url('../../../images/egovframework/com/cmm/toolbar/ed_align_justify.gif') 1px top no-repeat; } + .ed_right { background:url('../../../images/egovframework/com/cmm/toolbar/ed_left_to_right.gif') 1px top no-repeat; } + .ed_left { background:url('../../../images/egovframework/com/cmm/toolbar/ed_right_to_left.gif') 1px top no-repeat; } + .ed_num { background:url('../../../images/egovframework/com/cmm/toolbar/ed_list_num.gif') 1px top no-repeat; } + .ed_bullet { background:url('../../../images/egovframework/com/cmm/toolbar/ed_list_bullet.gif') 1px top no-repeat; } + .ed_indent_less { background:url('../../../images/egovframework/com/cmm/toolbar/ed_indent_less.gif') 1px top no-repeat; } + .ed_indent_more { background:url('../../../images/egovframework/com/cmm/toolbar/ed_indent_more.gif') 1px top no-repeat; } + .ed_fg { background:url('../../../images/egovframework/com/cmm/toolbar/ed_color_fg.gif') 1px top no-repeat; } + .ed_bg { background:url('../../../images/egovframework/com/cmm/toolbar/ed_color_bg.gif') 1px top no-repeat; } + .ed_hr { background:url('../../../images/egovframework/com/cmm/toolbar/ed_hr.gif') 1px top no-repeat; } + .ed_link { background:url('../../../images/egovframework/com/cmm/toolbar/ed_link.gif') 1px top no-repeat; } + .ed_image { background:url('../../../images/egovframework/com/cmm/toolbar/ed_image.gif') 1px top no-repeat; } + .ed_table { background:url('../../../images/egovframework/com/cmm/toolbar/insert_table.gif') 1px top no-repeat; } + .ed_html { background:url('../../../images/egovframework/com/cmm/toolbar/ed_html.gif') 1px top no-repeat; } + .ed_fullscreen { background:url('../../../images/egovframework/com/cmm/toolbar/fullscreen_maximize.gif') 1px top no-repeat; } + .ed_help { background:url('../../../images/egovframework/com/cmm/toolbar/ed_help.gif') 1px top no-repeat; } + .ed_about { background:url('../../../images/egovframework/com/cmm/toolbar/ed_about.gif') 1px top no-repeat; } +.toolbar select { font-size:11px; } + +.reply { width:730px; clear:both; border-top:2px solid #4688d2; position:relative; } +.reply ul { width:730px; margin:0; padding:0; } +.reply ul li { width:690px; border-bottom:1px solid #d9d9d9; padding:20px 20px 14px; overflow:hidden;} +.reply .top { height:17px; padding-bottom:12px; } +.reply .top strong { color:#333; font-weight:600; } +.reply .top span.bar { color:#d3d3d3; font-size:10px; padding:0 9px; } +.reply .top span.date { color:#999; } +.reply .txt { line-height:19px; } +.reply .bottom { float:right; margin:10px 0 6px; } + +/* pagination */ +.pagination {text-align:center; margin-top:15px; } +.pagination ul { display:inline-block; } +.pagination ul li {display:inline-block; margin:0 2px; } +.pagination ul li a { display:block; color:#999; width:26px; height:26px; line-height:26px; border:1px solid #e0e0e0; } +.pagination ul li.first a { background:url('../../../images/egovframework/com/cmm/paging/pagination_first.gif') 8px 9px no-repeat; text-indent:-10000em; } +.pagination ul li.prev a { background:url('../../../images/egovframework/com/cmm/paging/pagination_prev.gif') 11px 9px no-repeat; text-indent:-10000em; } +.pagination ul li.next a { background:url('../../../images/egovframework/com/cmm/paging/pagination_next.gif') 12px 9px no-repeat; text-indent:-10000em; } +.pagination ul li.last a { background:url('../../../images/egovframework/com/cmm/paging/pagination_last.gif') 10px 9px no-repeat; text-indent:-10000em; } +.pagination ul li.first a:hover { background:url('../../../images/egovframework/com/cmm/paging/pagination_first_on.gif') no-repeat; } +.pagination ul li.prev a:hover { background:url('../../../images/egovframework/com/cmm/paging/pagination_prev_on.gif') no-repeat; } +.pagination ul li.next a:hover { background:url('../../../images/egovframework/com/cmm/paging/pagination_next_on.gif/') no-repeat; } +.pagination ul li.current a, +.pagination ul li a:hover { border:none; color:#fff; font-size:15px; font-weight:600; width:28px; height:28px; line-height:28px; background:#4688d2; } + +/* pagination by reply */ +.paging { float:left; display:inline; width:730px; font-size:1em; text-align:center; margin:15px 0 20px; position:relative; } +.paging ul { display:inline-block; margin:0; padding:0; } +.paging ul li { float:left; margin:0 3px; } +.paging ul li a { display:block; width:15px; color:#888; text-decoration:none; } +.paging ul li.first a { background:url('../../../images/egovframework/com/cmm/paging/pagination_first.gif') center 5px no-repeat; text-indent:-10000em; } +.paging ul li.prev a { background:url('../../../images/egovframework/com/cmm/paging/pagination_prev.gif') center 5px no-repeat; text-indent:-10000em; } +.paging ul li.next a { background:url('../../../images/egovframework/com/cmm/paging/pagination_next.gif') center 5px no-repeat; text-indent:-10000em; } +.paging ul li.last a { background:url('../../../images/egovframework/com/cmm/paging/pagination_last.gif') center 5px no-repeat; text-indent:-10000em; } +.paging strong { display:block; padding:0 5px; color:#2277d7; } + +/* button submit */ +.btn_submit { padding:4px 11px 5px; background:#4688d2; font-weight:600; color:#fff; border-radius:1px; margin-left:4px; cursor:pointer; border:none;} +.btn_submit:hover { background:#7dabdf; } + +/* button style */ +button { padding:5px 12px 7px 12px; background:#4688d2; font-weight:600; color:#fff; border-radius:1px; margin-left:4px; cursor:pointer; } +button:hover { background:#7dabdf; } + +.btn_s2 { margin:0; padding:0px 12px 2px 12px; line-height:19px; word-spacing:-2px; border-radius:1px; font-weight:normal; background:#4688d2; color:#fff; font-size:11px; cursor:pointer; text-align:right;} +.btn_s2:hover { background:#7dabdf; } + +.btn_s { padding:3px 10px 6px 11px; background-color:#4688d2; color:#fff; font-size:11px; border-radius:1px; margin-top:4px;} +.btn_s:hover { color:#c7dbf1; } + +span.btn_s {display:inline-block !important; width:43px !important; height:21px !important; margin-top:0 !important; padding:0 !important; border-radius:1px !important; background:#4688d2 !important; vertical-align:top !important; cursor:pointer; } +span.btn_s:hover { background:#7dabdf;} +span.btn_s a {display:block !important; height:21px !important; color:#fff !important; text-align:center !important; line-height:21px !important; vertical-align:top !important; } + +span.btn_s2 {display:inline-block !important; height:21px !important; margin-top:0 !important; padding:0 10px !important; border-radius:1px !important; background:#4688d2 !important; vertical-align:top !important; cursor:pointer; } +span.btn_s2:hover { background:#7dabdf;} +span.btn_s2 a {display:block !important; height:21px !important; color:#fff !important; line-height:21px !important; vertical-align:top !important; } + +/* 2018.01.25 EgovQustnrItemManageListPopup.jsp 관련 추가 */ +span.btn_r { vertical-align:middle; padding:5px 1px 5px 1px; height:13px; margin:0px 0px 1px 0px; display:inline-block; background:#3d70b6; border-radius:0px; cursor:pointer; } +span.btn_r:hover { background:#7dabdf;} +span.btn_r a { vertical-align:text-top; color:#fff; display:block; line-height:16px; padding:0px 10px 0px 10px;} + +.btn { float:right; margin-top:18px; margin-bottom:15px; font-size:11px; } +.btn input.s_submit {height:21px; padding:0 10px; border:0 !important; color:#fff; font-family:'돋움', '굴림', 'Arial', 'AppleGothic', 'sans-serif'; font-size:11px; font-weight:200; background:#4688d2; vertical-align:top; cursor:pointer; } +.btn input.s_submit:hover { background:#7dabdf; } + +.blog_title { border-bottom:1px solid #e3e3e3; padding-bottom:10px; } +.blog_title h5 { float:left; font-size:14px; } +.blog_title span { border-left:1px solid #dcdada; margin-left:12px; padding-left:12px; vertical-align:middle; } +.blog_title span a { color:#666; } +.blog_title p { float:right; font-size:11px; color:#999; } + +.link, .link a, .link button, .link input { +overflow:hidden; +text-overflow:ellipsis; +-o-text-overflow:ellipsis; +white-space:nowrap; +width:100%; +text-align :left; +font-size:12px; +border-style :none; +background-color :transparent; +cursor :pointer; +} +.link.ac input {text-align:center; } + + +.egov_file_box label { + display:inline-block; + padding:.45em .75em; + color:#fff; + font-size:11px; + line-height:normal; + vertical-align:middle; + background-color:#4688d2; + cursor:pointer; + border:1px solid #ebebeb; + border-bottom-color:#e2e2e2; + border-radius:.15em; +} + +.egov_file_box input[type="file"] { /* 파일 필드 숨기기 */ + position:absolute; + width:1px; + height:1px; + padding:0; + margin:-1px; + overflow:hidden; + clip:rect(0,0,0,0); + border:0; +} + +/* 2018 add */ +.blind {position:absolute; left:-9999px; top:-9999px; font-size:0; } +.vat {vertical-align:top !important; } +.mr-8 {margin-right:-8px !important; } +.mb0 {margin-bottom:0px !important; } +.mb5 {margin-bottom:8px !important; } +.mb8 {margin-bottom:8px !important; } +.pt5 {padding-top:5px !important; } +.btn01 {display:inline-block; padding:5px !important; vertical-align:top !important; cursor:pointer; } +.btn02 {display:inline-block; height:20px; padding:0 8px; color:#363636; line-height:20px; background:#ddd; } + +.calendar {table-layout:fixed; } +.calendar .day > td {height:70px; padding:10px; border-right:1px solid #fff; border-bottom:1px solid #fff; background:#e5e5e5; vertical-align:top; } +.calendar .day > td a {display:inline-block; margin-bottom:5px; color:#393939; font-size:10px; font-weight:bold; } +.calendar .cap > td {height:25px; color:#fff; font-size:12px; font-weight:bold; text-align:center; background:#959fae; vertical-align:middle; } +.calendar .cap > td.sat {background:#4989ce; } +.calendar .cap > td.sun {background:#ee615f; } + +.cmt01 {font-size:12px; } + +.search_box2 {padding:15px 14px; border:1px solid #b1bbcb; border-top:3px solid #8191ac; background:#eef3fb; } +.search_box2 label {display:inline-block; height:24px; color:#194e73; font-size:12px; font-weight:bold; line-height:24px; vertical-align:top; } +.search_box2 input[type=text] {height:22px; vertical-align:top; } +.search_box2 select {height:24px; border:1px solid #dedede; vertical-align:top; } +.search_box2 > span.t1 {display:inline-block; height:24px; color:#194e73; font-size:16px; font-weight:bold; line-height:24px; vertical-align:top; } +.search_box2 .btns {height:24px; padding:0 10px; border:none; color:#fff; background:#4688d2; border-radius:2px; cursor:pointer; vertical-align:top; } +.search_box2 .btns:hover {background:#7dabdf; } +.search_box2 .btns2 {display:inline-block; height:24px; padding:0 7px; border-radius:2px; color:#fff; font-size:12px; line-height:24px; background:#666; vertical-align:top; } + +.tit01 {padding-left:25px; color:#333; font-size:16px; font-weight:bold; background:url(../../../images/egovframework/com/cmm/icon/tit_icon.png) no-repeat; } +.tit02 {padding-left:17px !important; color:#393939 !important; font-size:12px !important; font-weight:bold !important; background:url(../../../images/egovframework/com/cmm/icon/icon_tit2.png) no-repeat !important; } + +.tab01 {height:38px; border:1px solid #b1bbcb; border-radius:3px; background:url(../../../images/egovframework/com/cmm/bg_tab01.gif) repeat-x; } +.tab01 ul:after {content:""; display:block; height:0; clear:both; visibility:hidden; } +.tab01 ul li {float:left; padding:0 20px; background:url(../../../images/egovframework/com/cmm/bg_bar01.gif) no-repeat right bottom; } +.tab01 ul li:last-child {background:none; } +.tab01 ul li a {display:block; position:relative; top:-1px; height:14px; padding-top:14px; color:#393939; font-weight:bold; } +.tab01 ul li a.on {background:url(../../../images/egovframework/com/cmm/bg_tab01_on.gif) no-repeat center top; } + +/* 리스트 테이블 */ +.table-line{table-layout:fixed; border-collapse:collapse; width:100%; } +.table-line th{border-top:2px solid #d9d9d9; border-right:1px solid #a3a3a3; border-bottom:1px solid #a3a3a3; background:#e4eaf8; height:20px; padding:0; } +.table-line td{padding:0; border-right:#d9d9d9 1px solid; border-bottom:#d9d9d9 1px solid; background:#f7f7f7; } +.table-line td:first-child {border-left:1px solid #d9d9d9; } +.table-line td.al {text-align:center; } + +.txta01 {border:1px solid #d2d2d2; } + +.e001 td {height:40px; } +.e002 td {padding:2px 0; } + +.btn_01 {display:inline-block !important; height:24px !important; padding:0 11px !important; border-radius:2px !important; color:#fff !important; font-size:12px !important; line-height:24px !important; background:#4688d2 !important; vertical-align:top !important; } +.btn_01:hover {background:#7dabdf !important;} +.btn_02 {display:inline-block !important; height:18px !important; padding:0 10px !important; border:1px solid #9c9c9c; border-radius:2px !important; color:#000 !important; font-size:11px !important; line-height:18px !important; background:url(../../../images/egovframework/com/cmm/btn/bg_btn_02.jpg) repeat-x !important; vertical-align:top !important; } + +.schedule thead td {height:25px; color:#fff; text-align:center; background:#959fae; } +.schedule thead td.sat {background:#4989ce; } +.schedule thead td.sun {background:#ee615f; } +.schedule > tbody > tr > td {border-right:1px solid #fff; border-bottom:1px solid #fff; background:#EFEFEF; } +.schedule .btn_02 {vertical-align:1px !important; } + +.twit_list li {margin-bottom:10px; } +.twit_list li a:hover {text-decoration:underline; } +.twit_list li img {display:block; margin-top:10px; } + + Property changes on: base3.10/src/main/webapp/css/egovframework/com/com.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/button.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/button.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/button.css (revision 7) @@ -0,0 +1,99 @@ +/* + Css Name : button.css + Description : 버튼 CSS + Modification Information + + 수정일 수정자 수정내용 + ---------- -------- --------------------------- + 2008.10.15 장동한 최초 생성 + 2011.08.24 이기하 이미지 경로 수정 + + author : 공통컴포넌트 개발팀 장동한 + since : 2008.10.15 +*/ + +.button, .button a, .button button, .button input { +position : relative; +margin : 0; +display : inline-block; +border : 0; +white-space : nowrap; +vertical-align : middle; +overflow : visible; +} +.button { +height : 20px; +padding : 0; +margin-right : 2px; +background-position : left top; +} +.button a, .button button, .button input { +left : 2px; +cursor : pointer; +} +.button a, .button button, .button input { +height : 20px; +padding : 0 8px 0 8px; +line-height : 20px; +background-position : right top; +} +.button, .button a, .button button, .button input { +background-image : url(../../../images/egovframework/com/cmm/btn/bu2.jpg); +color : black; +} +.button *:hover, .button *:active, .button *:focus { +color : red; +} +.button a { +padding : 0 10px 0 10px; +} +.link, .link a, .link button, .link input { +border-style : none; +background-color : transparent; +cursor : pointer; +} +.link, .link a, .link button, .link input { +color : black; +} +.link *:hover, .link *:active, .link *:focus { +color : red; +} +.btnNew { +border : 0 solid #000; +color : #000000; +background-image : url(../../../images/egovframework/com/cmm/btn/bu2_bg.gif); +cursor : pointer; +} +form { +margin : 0; +} + +.invisible { +width:0px; +height:0px; +visibility: hidden; +} + +.btn_01 { + display:inline-block !important; + height:19px !important; + padding:0 15px !important; + border:none !important; + color:#fff !important; + font-size:12px !important; + line-height:19px !important; + background:#4688d2 !important; + cursor : pointer !important; +} + +.btn_03 { + display:inline-block !important; + height:30px !important; + padding:0 15px !important; + border:none !important; + color:#fff !important; + font-size:12px !important; + line-height:19px !important; + background:#4688d2 !important; + cursor : pointer !important; +} \ No newline at end of file Property changes on: base3.10/src/main/webapp/css/egovframework/com/button.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/com.css_old.jsp =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/com.css_old.jsp (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/com.css_old.jsp (revision 7) @@ -0,0 +1,196 @@ +<%@ page contentType="text/css; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +/* + Css Name : com.css + Description : 공통 CSS + Modification Information + + 수정일 수정자 수정내용 + ---------- -------- --------------------------- + 2016.06.08 서민영 최초 생성 + + author : 공통컴포넌트 개발팀 서민영 + since : 2016.06.08 +*/ +@charset "utf-8"; + +body{ + margin-top:0px; + margin-left:5px; + margin-bottom: 0; + margin-right:: 0; + font-family:'돋움', '굴림', 'Arial', 'AppleGothic', 'sans-serif'; + font-size: 12px; +} + +div,h1,h2,h3,h4,h5,form,fieldset,p,button,table,th,td { margin: 0; padding: 0;} +div,table,em,strong,h1,h2,h3,h4,h5,h6,form,fieldset,p,th,td,input,textarea,select,button { color: #666; } + +fieldset, img { border: 0; } +textarea { width: 100%; } +select, input, img, button, label { vertical-align: middle; } +ul, ol { list-style : none; } +caption span, .hide, legend { position: absolute; left: -1000%; top: 0; } +table { border-collapse: collapse; border-spacing: 0; width: 100%; } +a { color: #666; text-decoration: none; vertical-align: middle; } +a:hover { color: #000; text-decoration: none; } +button { border: none; } +textarea, +input[type="file"], +input[type="password"], +input[type="text"] { color: #727272; height: 20px; border: 1px solid #dedede; padding-left: 5px; } +textarea[readonly="readonly"], +button[readonly="readonly"], +select[readonly="readonly"], +input[readonly="readonly"], +textarea[disabled="disabled"], +button[disabled="disabled"], +select[disabled="disabled"], +input[disabled="disabled"] { color: #999; background: #f7f7f7; } +input[type="password"], +input[type="file"], +input[type="text"] { /*height:15px;*/ vertical-align: middle; } +input[type="file"] { width: 100%; } +input[type="radio"] { vertical-align: text-bottom; } + +.board { position: relative; width: 730px; } +.board h1, .board h2 { float: left; color: #333; font-size: 16px; font-weight: 600; } +.board h1 { margin-top: 15px; } +.board h2 { margin: 15px 0 10px 0; } +.board h3 { color: #333; font-size: 14px; font-weight: 600; margin: 50px 0 10px 0; } +.board h3 b { color: #2277d7; } +.search_box { float: right; margin-bottom: 7px; } +.search_box ul li { float: left; margin-left: 5px; } +.search_box select { padding: 3px 3px 3px 4px; border: 1px solid #dedede; } +.search_box input.s_input { width: 140px; padding-left: 5px; margin-right: 3px; } +.search_box input.s_btn { height: 24px; padding: 0 10px; border: none; color: #fff; background: #4688d2; border-radius: 2px; cursor: pointer; } +.search_box input.s_btn:hover { background: #7dabdf; } + + +/* table style */ +.board_list { width: 100%; border-top: 2px solid #4688d2; } +.board_list caption { display: none; } +.board_list thead th, +.board_list tbody th { color: #222 ; font-size: 13px; font-weight: 600; background: #f4f4f4; padding: 12px 0; border-bottom: 1px solid #d9d9d9; } +.board_list tbody tr.odd { } +.board_list tbody.ov tr:hover { background: #f9f9f9; } +.board_list tbody th { text-align: left; padding-left: 14px; } +.board_list tbody th.vtop { vertical-align: top; } +.board_list tbody th span.pilsu { color: #d0270b; font-weight: 500; margin-left: 3px; } +.board_list tbody td { text-align: center; padding: 11px 5px; border-bottom: 1px solid #d9d9d9; } +.board_list tbody td.left { text-align: left; padding: 6px 8px; } +.board_list tbody td.cnt { text-align: left; padding: 12px 10px 20px; line-height: 160%; } +.board_list tbody td.nopd { text-align: left; padding: 0; } +.board_list tbody td a:hover { text-decoration: underline; } +.board_list tbody td input.bbs_Nm { width: 99%; } +.board_list tbody td input.tmp { width: 160px; } +.board_list tbody td textarea { width: 99%; height: 100px; } +.board_list tbody td textarea.txt { width: 96%; height: 300px; margin: 8px; padding: 5px; } +.board_list tbody td textarea.re_txt { float: left; width: 80%; } +.board_list tbody td a.re_btn { float: right; padding: 43px 30px; margin: 1px 0 0 0; font-size: 12px; font-weight: 600; } +.board_list tbody td a.re_btn:hover { text-decoration: none; } +.board_list tbody td select { padding: 2px 0 3px 2px; border: 1px solid #dedede; } +.board_list tbody td img { margin-left: 7px; } +.top_line { border-top: 1px solid #d9d9d9; } + + + +/* toolbar */ +.toolbar { height: 52px; background-color: #e5e5e5; padding-bottom: 4px; border-bottom: 1px solid #dedede; } + .group { float: left; padding: 4px 0 0 8px; } + .group ul { float: left; padding: 0; margin: 0 3px 0 0; } + .group ul li { float: left; margin-right: 3px; } + .group ul.format li { margin: 2px 0 0 0; } + .group ul.sep { border-left: 1px solid #ccc; padding: 0 3px; border-right: 1px solid #ccc; } + + .group input[type="button"] { width: 22px; height: 20px; line-height: 20px; text-indent: -10000em; border: none; cursor: pointer; } + .group input[type="button"]:hover, .group input.on { background-color: #fff; border: 1px solid #dedede; } + .ed_bold { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_format_bold.gif') left top no-repeat; } + .ed_italic { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_format_italic.gif') 2px top no-repeat; } + .ed_underline { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_format_underline.gif') 1px top no-repeat; } + .ed_strike { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_format_strike.gif') 1px top no-repeat; } + .ed_sub { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_format_sub.gif') 1px 1px no-repeat; } + .ed_sup { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_format_sup.gif') 1px 1px no-repeat; } + .ed_copy { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_copy.gif') left top no-repeat; } + .ed_cut { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_cut.gif') 1px top no-repeat; } + .ed_paste { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_paste.gif') 1px top no-repeat; } + .ed_undo { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_undo.gif') 1px top no-repeat; } + .ed_redo { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_redo.gif') 1px 1px no-repeat; } + .ed_rmformat { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_rmformat.gif') 1px top no-repeat; } + .ed_killword { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_killword.gif') 1px top no-repeat; } + .ed_al_left { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_align_left.gif') 1px top no-repeat; } + .ed_al_center { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_align_center.gif') 1px top no-repeat; } + .ed_al_right { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_align_right.gif') 1px top no-repeat; } + .ed_al_justify { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_align_justify.gif') 1px top no-repeat; } + .ed_right { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_left_to_right.gif') 1px top no-repeat; } + .ed_left { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_right_to_left.gif') 1px top no-repeat; } + .ed_num { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_list_num.gif') 1px top no-repeat; } + .ed_bullet { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_list_bullet.gif') 1px top no-repeat; } + .ed_indent_less { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_indent_less.gif') 1px top no-repeat; } + .ed_indent_more { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_indent_more.gif') 1px top no-repeat; } + .ed_fg { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_color_fg.gif') 1px top no-repeat; } + .ed_bg { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_color_bg.gif') 1px top no-repeat; } + .ed_hr { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_hr.gif') 1px top no-repeat; } + .ed_link { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_link.gif') 1px top no-repeat; } + .ed_image { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_image.gif') 1px top no-repeat; } + .ed_table { background: url('../images/egovframework/com/cmm/paging/toolbar/insert_table.gif') 1px top no-repeat; } + .ed_html { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_html.gif') 1px top no-repeat; } + .ed_fullscreen { background: url('../images/egovframework/com/cmm/paging/toolbar/fullscreen_maximize.gif') 1px top no-repeat; } + .ed_help { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_help.gif') 1px top no-repeat; } + .ed_about { background: url('../images/egovframework/com/cmm/paging/toolbar/ed_about.gif') 1px top no-repeat; } +.toolbar select { font-size: 11px; } + +.reply { float: left; clear: both; border-top: 2px solid #4688d2; } +.reply ul { float: left; margin: 0; padding: 0; } +.reply ul li { float: left; border-bottom: 1px solid #d9d9d9; padding: 20px 20px 14px; } +.reply .top { height: 17px; padding-bottom: 12px; } +.reply .top strong { color: #333; font-weight: 600; } +.reply .top span.bar { color: #d3d3d3; font-size: 10px; padding: 0 9px; } +.reply .top span.date { color: #999; } +.reply .txt { line-height: 19px; } +.reply .bottom { float: right; margin: 10px 0 6px; } + + +/* 파일첨부버튼 */ +.file_input_textbox { float: left; width: 170px; color:#666; border:1px solid #cfcfcf !important; margin-right: 4px; } +.file_input_div { position: relative; width: 66px; height: 24px; overflow: hidden; } +.file_input_button { position: absolute; width: 66px; height: 24px; background: #4688d2; border-radius: 1px; font-size: 11px; color: #fff; border: none; } +.file_input_hidden { position: absolute; font-size: 45px; right: 0; top: 0; opacity: 0; cursor: pointer; + filter:alpha(opacity=0); + -ms-filter:"alpha(opacity=0)"; + -khtml-opacity:0; + -moz-opacity:0; +} + +/* pagination */ +.pagination { float: left; display: inline; width: 100%; text-align: center; margin-top: 15px; } +.pagination ul { display: inline-block; } +.pagination ul li { float: left; margin: 0 2px; } +.pagination ul li a { display: block; color: #999; width: 26px; height: 26px; line-height: 26px; border: 1px solid #e0e0e0; } +.pagination ul li.first a { background: url('<c:url value="/images/egovframework/com/cmm/paging/pagination_first.gif"/>') 8px 9px no-repeat; text-indent: -10000em; } +.pagination ul li.prev a { background: url('<c:url value="/images/egovframework/com/cmm/paging/pagination_prev.gif"/>') 11px 9px no-repeat; text-indent: -10000em; } +.pagination ul li.next a { background: url('<c:url value="/images/egovframework/com/cmm/paging/pagination_next.gif"/>') 12px 9px no-repeat; text-indent: -10000em; } +.pagination ul li.last a { background: url('<c:url value="/images/egovframework/com/cmm/paging/pagination_last.gif"/>') 10px 9px no-repeat; text-indent: -10000em; } +.pagination ul li.first a:hover { background: url('<c:url value="/images/egovframework/com/cmm/paging/pagination_first_on.gif"/>') no-repeat; } +.pagination ul li.prev a:hover { background: url('<c:url value="/images/egovframework/com/cmm/paging/pagination_prev_on.gif"/>') no-repeat; } +.pagination ul li.next a:hover { background: url('<c:url value="/images/egovframework/com/cmm/paging/pagination_next_on.gif"/>/') no-repeat; } +.pagination ul li.current a, +.pagination ul li a:hover { border: none; color: #fff; font-size: 15px; font-weight: 600; width: 28px; height: 28px; line-height: 28px; background: #4688d2; } + +.paging { float: left; display: inline; width: 100%; font-size: 1em; text-align: center; margin: 15px 0 20px; } +.paging ul { display: inline-block; margin: 0; padding: 0; } +.paging ul li { float: left; margin: 0 3px; } +.paging ul li a { display: block; width: 15px; color: #888; text-decoration: none; } +.paging ul li.first a { background: url('<c:url value="/images/egovframework/com/cmm/paging/pagination_first.gif"/>') center 5px no-repeat; text-indent: -10000em; } +.paging ul li.prev a { background: url('<c:url value="/images/egovframework/com/cmm/paging/pagination_prev.gif"/>') center 5px no-repeat; text-indent: -10000em; } +.paging ul li.next a { background: url('<c:url value="/images/egovframework/com/cmm/paging/pagination_next.gif"/>') center 5px no-repeat; text-indent: -10000em; } +.paging ul li.last a { background: url('<c:url value="/images/egovframework/com/cmm/paging/pagination_last.gif"/>') center 5px no-repeat; text-indent: -10000em; } +.paging strong { display: block; padding: 0 5px; color: #2277d7; } + + +/* button style */ +button { padding: 5px 12px 7px 12px; background: #4688d2; font-weight: 600; color: #fff; border-radius: 2px; margin-left: 4px; cursor: pointer; } +button:hover { background: #7dabdf; } +.btn_s { padding: 4px 11px 5px; background-color: #4688d2; color: #fff; font-size: 11px; border-radius: 1px; } +.btn_s:hover { color: #c7dbf1; } +.btn { float: right; margin-top: 18px; } \ No newline at end of file Property changes on: base3.10/src/main/webapp/css/egovframework/com/com.css_old.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/com12.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/com12.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/com12.css (revision 7) @@ -0,0 +1,282 @@ +/* + Css Name : com.css + Description : 공통 CSS + Modification Information + + 수정일 수정자 수정내용 + ---------- -------- --------------------------- + 2016.06.08 서민영 최초 생성 + + author : 공통컴포넌트 개발팀 서민영 + since : 2016.06.08 +*/ +@charset "utf-8"; + +/* Base Style *****************************/ +* /* { margin: 0; padding: 0; } */ +/* body { overflow-y: auto; } */ +body{ + margin-top:20px; + margin-left:10px; + padding-top:0px; + padding-left:0px; + margin-bottom: 0; + font-family:'돋움', '굴림', 'Arial', 'AppleGothic', 'sans-serif'; + font-size: 12px; +} + +div,table,em,h1,h2,h3,h4,h5,h6,fieldset,p,form,td,th,input,textarea,select,button { + font-family: '돋움', '굴림', 'Arial', 'AppleGothic', 'sans-serif'; font-size: 12px; color: #666; } + +fieldset, img { border: 0; } +textarea { width: 100%; } +img, label { vertical-align: middle; } +ul, ol { list-style : none; } +caption span, .hide, legend { position: absolute; left: -1000%; top: 0; } +table { border-collapse: collapse; border-spacing: 0;} +a { color: #666; text-decoration: none; } +a:hover { color: #000; text-decoration: none; } +a, button, input[type="button"] { cursor: pointer; } +textarea, +input[type="file"], +input[type="password"], +input[type="text"] { color: #727272; height: 21px; border: 1px solid #d2d2d2; } +textarea[readonly="readonly"], +button[readonly="readonly"], +select[readonly="readonly"], +input[readonly="readonly"], +textarea[disabled="disabled"], +button[disabled="disabled"], +select[disabled="disabled"], +input[disabled="disabled"] { color: #999; background: #f7f7f7; } +input[type="password"], +input[type="file"], +input[type="text"] { /*height:15px; vertical-align: middle; */ } +input[type="file"] { width: 100%; } +input[type="radio"] { vertical-align: text-bottom; } + +.vam { vertical-align: middle !important; } +.ml10 { margin-left: 10px !important; } +.mr10 { margin-right: 10px !important; } +.mb10 { margin-bottom: 10px !important; } +.mb20 { margin-bottom: 20px !important; } +.mt20 { margin-top: 20px !important; } + + +/* box Style *****************************/ +.boxType1 { position: relative; border: 4px solid #ececec; background: #f7f7f7; } +.boxType1 .box { background: #fff; margin: 4px; } +.boxType1 .box .error { padding: 25px 0 25px 190px; min-height: 50px; background: url('../images/bul_i.jpg') 30px 50% no-repeat; } +.boxType1 .box .error p.title { color: #DB6415; font-size: 16px; line-height: 21px; font-weight: bold; margin-bottom: 10px; } +.boxType1 .box .error p.cont { line-height: 18px; } + +.boxType2 { position: relative; border: 4px solid #f1f1f1; background: #f7f7f7; } + + +/* button Style *****************************/ +.btn_style1 { display: inline-block; padding: 6px 12px; border-radius: 1px; } +.btn_style1 a { color: #fff; font-size: 13px; font-weight: bold; } +.btn_style1 a:hover { opacity: 0.6; } +.btn_style2 { display: inline-block; padding: 4px 10px; border: 1px solid #d2d2d2; color: #333; font-size: 11px; background: #f4f4f4; border-radius: 1px; } +.btn_style3 { display: inline-block; padding: 5px 8px; background: #3d70b6; border-radius: 1px; color: #fff; font-size: 11px;} +.btn_style3c { padding: 5px 8px; background: #3d70b6; border-radius: 1px; color: #fff; font-size: 11px; cursor:pointer;} +.btn_style4 { padding: 5px 11px; } + +.btn_right { float: right; } +.blue { background: #3d70b6; } +.gray { background: #9e9e9e; } + + +/* input Style *****************************/ +.input2 { height: 21px !important; padding-left: 5px; margin-right: 3px; } + + +/* select Style *****************************/ +.select2 { padding: 2px 3px 3px 4px; border: 1px solid #d2d2d2; } + + +/* textarea Style *****************************/ +.textarea2 { padding: 4px 0 0 6px; } +.textarea3 { padding: 4px 0 0 6px; background: #f7f7f7; } + +/* file Style *****************************/ +.file_add { margin-top: 6px; width: 100%; border: 0px solid #666;} +.file_add a { display: inline-block; width: 13px; height: 18px; background: url('../../../images/egovframework/com/cmm/btn/btn_del.png') 1px 2px no-repeat; text-indent: -10000em; } +.file_input_textbox { float: left; color:#666; border: 1px solid #cfcfcf !important; padding-left: 5px; margin-right: 4px; } +.file_input_div { position: relative; width: 66px; height: 23px; overflow: hidden; } +.file_input_button { position: absolute; width: 66px; height: 23px; background: #3d70b6; border-radius: 1px; font-size: 11px; color: #fff; border: none; } +.file_input_hidden { position: absolute; font-size: 45px; right: 0; top: 0; opacity: 0; cursor: pointer; + filter:alpha(opacity=0); + -ms-filter:"alpha(opacity=0)"; + -khtml-opacity:0; + -moz-opacity:0; +} + +.cursor {cursor:pointer;} +/*.error {color : #ff0000;} */ + +.board { position: relative; width: 730px; } +.board h1, .board h2 { float: left; color: #333; font-size: 16px; font-weight: 600;} +.board h1 { margin: 0px 0 0 0; border: 0px solid #d2d2d2;} +.board h2 { margin: 15px 0 10px 0; } +.board h3 { color: #333; font-size: 14px; font-weight: 600; margin: 50px 0 10px 0; } +.board h3 b { color: #2277d7; } +.search_box { float: right; margin-bottom: 7px; } +.search_box ul li { float: left; margin-left: 5px; font-size:11px} +.search_box ul li img { margin-left: 7px; } +.search_box select { padding: 3px 3px 3px 4px; border: 1px solid #dedede; } +.search_box input.s_input { width: 140px; padding-left: 5px; margin-right: 3px; } +.search_box input.s_btn { height: 24px; padding: 0 10px; border: none; color: #fff; background: #4688d2; border-radius: 2px; cursor: pointer; } +.search_box input.s_btn:hover { background: #7dabdf; } + +.search_box span.s_btn { display: inline-block; vertical-align:top; height: 13px; font-size: 12px; padding: 6px 12px 5px 12px; background: #4688d2; border-radius: 2px; cursor: pointer; } +.search_box span.s_btn:hover { background: #7dabdf;} +.search_box span.s_btn a { color: #fff; } + +.search_box span.btn_b { display: inline-block; vertical-align:top; height: 13px; font-size: 12px; padding: 3px 1px 8px 1px; background: #4688d2; border-radius: 2px; cursor: pointer; } +.search_box span.btn_b:hover { background: #7dabdf;} +.search_box span.btn_b a { vertical-align: text-top; color: #fff; display:block; line-height: 19px; padding: 0px 10px 0px 10px;} + +.noScriptTitle { +font-size : 17px; +color : blue; +text-align : center; +font-family:'돋움', '굴림', 'Arial', 'AppleGothic', 'sans-serif'; +font-weight : bold; +padding-bottom : 12px; +} + +/* table style */ +.board_list {width:45%; table-layout:fixed; border-top: 2px solid #4688d2; } +.board_list caption { display: none; } +.board_list thead th, +.board_list tbody th { color: #222 ; font-size: 13px; font-weight: 400; background: #f4f4f4; padding: 12px 0; border-bottom: 1px solid #d9d9d9; } +.board_list tbody tr.odd { } +.board_list tbody.ov tr:hover { background: #f9f9f9; } +.board_list tbody th { text-align: left; padding-left: 14px; } +.board_list tbody th.vtop { vertical-align: top; } +.board_list tbody th span.pilsu { color: #d0270b; font-weight: 500; margin-left: 3px; } +.board_list tbody td { text-align: center; padding: 11px 5px; border-bottom: 1px solid #d9d9d9; + word-break:break-all; white-space: -moz-pre-wrap; overflow:hidden; text-overflow:ellipsis;} +.board_list tbody td.left { text-align: left; padding: 6px 8px; } +.board_list tbody td.leftElli { text-align: left; padding: 6px 8px; +overflow: hidden; +text-overflow: ellipsis; +-o-text-overflow: ellipsis; +white-space: nowrap; +width: 100%; +} +.board_list tbody td.cnt { text-align: left; padding: 12px 10px 20px; line-height: 160%; } +.board_list tbody td.nopd { text-align: left;} +.board_list tbody td.bold { text-align: left; font-size: 14px; font-weight : bold;} +.board_list tbody td a:hover { text-decoration: underline; } +.board_list tbody td input.bbs_Nm { width: 99%; } +.board_list tbody td input.tmp { width: 160px; } +.board_list tbody td textarea { width: 99%; height: 50px; } +.board_list tbody td textarea.txt { width: 96%; height: 300px; margin: 8px; padding: 5px; } +.board_list tbody td textarea.re_txt { width: 470px; float: left; margin-right: 8px; height: 96px; } +.board_list tbody td a.re_btn { float: right; padding: 43px 30px; margin: 1px 0 0 0; font-size: 12px; font-weight: 600; } +.board_list tbody td a.re_btn:hover { text-decoration: none; } +.board_list tbody td select { padding: 2px 0 3px 2px; border: 1px solid #dedede; } +.board_list tbody td img { margin-left: 7px; } + +.top_line { border-top: 1px solid #d9d9d9; } +.board_th_link { + font-weight: 600; +} + +/* pagination */ +.pagination { float: left; display: inline; width: 100%; text-align: center; margin-top: 15px; } +.pagination ul { display: inline-block; } +.pagination ul li { float: left; margin: 0 2px; } +.pagination ul li a { display: block; color: #999; width: 26px; height: 26px; line-height: 26px; border: 1px solid #e0e0e0; } +.pagination ul li.first a { background: url('../../../images/egovframework/com/cmm/paging/pagination_first.gif') 8px 9px no-repeat; text-indent: -10000em; } +.pagination ul li.prev a { background: url('../../../images/egovframework/com/cmm/paging/pagination_prev.gif') 11px 9px no-repeat; text-indent: -10000em; } +.pagination ul li.next a { background: url('../../../images/egovframework/com/cmm/paging/pagination_next.gif') 12px 9px no-repeat; text-indent: -10000em; } +.pagination ul li.last a { background: url('../../../images/egovframework/com/cmm/paging/pagination_last.gif') 10px 9px no-repeat; text-indent: -10000em; } +.pagination ul li.first a:hover { background: url('../../../images/egovframework/com/cmm/paging/pagination_first_on.gif') no-repeat; } +.pagination ul li.prev a:hover { background: url('../../../images/egovframework/com/cmm/paging/pagination_prev_on.gif') no-repeat; } +.pagination ul li.next a:hover { background: url('../../../images/egovframework/com/cmm/paging/pagination_next_on.gif/') no-repeat; } +.pagination ul li.current a, +.pagination ul li a:hover { border: none; color: #fff; font-size: 15px; font-weight: 600; width: 28px; height: 28px; line-height: 28px; background: #4688d2; } + +/* pagination by reply */ +.paging { float:left; display: inline; width: 730px; font-size: 1em; text-align: center; margin: 15px 0 20px; position: relative; } +.paging ul { display: inline-block; margin: 0; padding: 0; } +.paging ul li { float:left; margin: 0 3px; } +.paging ul li a { display: block; width: 15px; color: #888; text-decoration: none; } +.paging ul li.first a { background: url('../../../images/egovframework/com/cmm/paging/pagination_first.gif') center 5px no-repeat; text-indent: -10000em; } +.paging ul li.prev a { background: url('../../../images/egovframework/com/cmm/paging/pagination_prev.gif') center 5px no-repeat; text-indent: -10000em; } +.paging ul li.next a { background: url('../../../images/egovframework/com/cmm/paging/pagination_next.gif') center 5px no-repeat; text-indent: -10000em; } +.paging ul li.last a { background: url('../../../images/egovframework/com/cmm/paging/pagination_last.gif') center 5px no-repeat; text-indent: -10000em; } +.paging strong { display: block; padding: 0 5px; color: #2277d7; } + +/* button submit */ +.btn_submit { padding:4px 11px 5px; background: #4688d2; font-weight: 600; color: #fff; border-radius: 1px; margin-left: 4px; cursor: pointer; border: none;} +.btn_submit:hover { background: #7dabdf; } + +/* button style */ +button { padding: 5px 12px 7px 12px; background: #4688d2; font-weight: 600; color: #fff; border-radius: 1px; margin-left: 4px; cursor: pointer; } +button:hover { background: #7dabdf; } + +.btn_s2 { margin: 0px 0px 0px 0px; padding: 0px 12px 2px 12px; line-height: 19px; word-spacing: -2px; border-radius: 1px; font-weight: normal; background: #4688d2; color: #fff; font-size: 11px; cursor: pointer; text-align: right;} +.btn_s2:hover { background: #7dabdf; } + +.btn_s { padding: 3px 10px 6px 11px; background-color: #4688d2; color: #fff; font-size: 11px; border-radius: 1px; margin-top: 4px;} +.btn_s:hover { color: #c7dbf1; } + +span.btn_s { vertical-align:middle; padding: 2px 1px 6px 1px; height: 13px; margin: 0px 0px 0px 0px; display: inline-block; background: #4688d2; border-radius: 1px; cursor: pointer; } +span.btn_s:hover { background: #7dabdf;} +span.btn_s a { vertical-align: text-top; color: #fff; display:block; line-height: 17px; padding: 0px 10px 0px 10px;} +/*span.btn_s a { color: #fff; }*/ + + +.btn { float: right; margin-top: 18px; margin-bottom: 15px; font-size: 11px; } +.btn input.s_submit { height: 21px; vertical-align:middle; padding:4px 10px 7px 11px; margin-top: 1px; background: #4688d2; font-size: 11px; font-family:'돋움', '굴림', 'Arial', 'AppleGothic', 'sans-serif'; font-weight: 200; border: none; color: #fff; border-radius: 1px; cursor: pointer; } +.btn input.s_submit:hover { background: #7dabdf; } + +.blog_title { border-bottom:1px solid #e3e3e3; padding-bottom:10px; } +.blog_title h5 { float:left; font-size:14px; } +.blog_title span { border-left:1px solid #dcdada; margin-left:12px; padding-left:12px; vertical-align:middle; } +.blog_title span a { color:#666; } +.blog_title p { float:right; font-size:11px; color:#999; } + +.link, .link a, .link button, .link input { +overflow: hidden; +text-overflow: ellipsis; +-o-text-overflow: ellipsis; +white-space: nowrap; +width: 100%; +text-align : left; +font-size: 12px; +border-style : none; +background-color : transparent; +cursor : pointer; +} + + + +.egov_file_box label { + display: inline-block; + padding: .45em .75em; + color: #fff; + font-size: 11px; + line-height: normal; + vertical-align: middle; + background-color: #4688d2; + cursor: pointer; + border: 1px solid #ebebeb; + border-bottom-color: #e2e2e2; + border-radius: .15em; +} + +.egov_file_box input[type="file"] { /* 파일 필드 숨기기 */ + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip:rect(0,0,0,0); + border: 0; +} \ No newline at end of file Property changes on: base3.10/src/main/webapp/css/egovframework/com/com12.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/main_portal.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/main_portal.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/main_portal.css (revision 7) @@ -0,0 +1,80 @@ +@charset "utf-8"; +/* CSS Document */ + +/* 공통선언 ▼*/ +body { + margin:0px 0px 0px 50px; + padding:0px; + background-color:#fff; + font-family:돋움, 굴림, Arial, AppleGothic, sans-serif; + font-size:12px; + color:#000000; + line-height:1.4em; +} +th, td, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, p, blockquote, iframe { margin:0; padding:0; } +ol, ul, li { list-style:none; padding:0; margin:0; } +hr { display: none; } +img { border:none; vertical-align:top; } +fieldset { border:none;} +legend { display:none; margin:0; padding:0;} +form {padding: 0px 0px;} + + + + +/* 공통선언 ▲*/ + +/* 상단 ▼*/ +#new_wrap {width:981px; min-height:500px;} +#gnb {width:980px; height:65px;} +#gnb #top_logo {width:236px; height:65px; float:left;} +#gnb #use_descri { height:22px; float:right; margin:22px 0 0 0; font-size:12px; color:#4f4f4f; font-weight:bold; letter-spacing:-1px; background:url(../../../images/egovframework/com/yellow_bull.gif) no-repeat; padding:4px 0 0 22px; } +#gnb #use_descri li {display:inline;} +#gnb #use_descri li img { margin:-3px 0 0px 5px;} +/* 상단 ▲*/ + + +/* 상단메뉴 ▼*/ +#new_topnavi {background:url(../../../images/egovframework/com/cmm/main/navi_bg.gif) no-repeat; width:961px; height:33px; padding:14px 0 0 20px;} +#new_topnavi li {display:inline; padding:12px 0 0 2px;} +#new_topnavi li.gap {color:#a8d7f2; font-size:11px; padding:0 6px} +#new_topnavi li a{font-size:12px; color:#fff; font-weight:bold; text-decoration:none;} +#new_topnavi li a:hover{font-weight:bold; color:#c9e2f7; text-decoration:none;} +/* 상단메뉴 ▲*/ + +/* 좌측메뉴 ▼*/ +#new_container #left_menu {width:210px;float:left; min-height:500px; min-height:500px; height:500px; padding:28px 0 0 0;} +#new_container #left_menu .link{ text-decoration:none; font-weight:bold; color:#427daf } +#new_container #contents {width:760px;float:left; padding:28px 0 0 0;} +/* 좌측메뉴 ▲*/ +/* 하단 ▼*/ +#new_footer { background:url(../../../images/egovframework/com/bottom_bg.gif) repeat-x; width:941px; height:60px; clear:both; padding:12px 0 0 40px} +#new_footer li.gap {padding:0 0 0 50px;} +#new_footer li { display:inline; } +/* 하단 ▲*/ +/* 하단_login ▼*/ +/* #new_footer_login { background:url(../../../1.gif) repeat-x; width:700px; height:60px; clear:both; padding:12px 0 0 40px} */ +#new_footer_login li.gap {padding:0 0 0 50px;} +#new_footer_login li { display:inline; } +/* 하단_login ▲*/ + +.m_tit01 {height:22px; padding-left:25px; line-height:20px; background:url(../../../images/egovframework/com/cmm/icon/tit_icon.png) no-repeat left 0; } + +.mp_top {width:940px; } +.mp_top:after {content:""; display:block; height:0; clear:both; visibility:hidden; } +.mp_top > div {float:left; } +.mp_top > div.l {width:465px; margin-right:10px; } +.mp_top > div.r {width:465px; } +.mp_top > div > div {overflow:auto; padding:10px; border:1px solid #ddd; box-sizing:border-box; } +.mp_top > div > div input[type=submit] {border:none; background:transparent; cursor:pointer; } +.mp_top > div > div input[type=submit]:hover {text-decoration:underline; } + +.mp_bn {width:980px; padding:10px; border:1px solid #ddd; box-sizing:border-box; } +.mp_bn ul li {margin-bottom:5px; } +.mp_bn ul.horizon {overflow-x:hidden; overflow-y:auto; width:970px; } +.mp_bn ul.horizon li {float:left; margin-right:5px; } + + + +.mt10 {margin-top:10px !important; } +.mt15 {margin-top:15px !important; } Property changes on: base3.10/src/main/webapp/css/egovframework/com/main_portal.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/sym/ccm/zip/zip.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/sym/ccm/zip/zip.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/sym/ccm/zip/zip.css (revision 7) @@ -0,0 +1,781 @@ +/* by 검증 디자이너 */ +img { + border: 0; +} + +table { + margin: 0; + padding: 0; +} + +.t_strong { + font-weight: bold; +} + +.TopMenuBg { + background-image: + url('../../../../../../images/egovframework/com/cmm/uss/umt/menu_bg.jpg'); + background-repeat: no-repeat; +} + +.LeftMenuTitle { + font-size: 14px; + color: #fff; + text-align: center; + font-family: "돋움"; + font-weight: bold; + padding-top: 20px; + padding-bottom: 3px; +} + +.LeftMenuWelcome { + font-size: 12px; + color: #e6e6e6; + text-align: center; + font-family: "돋움"; + padding-top: 6px; +} + +.LeftMenuBg { + font-size: 12px; + color: #7f9db9; + text-align: left; + font-family: "돋움"; + font-weight: bold; + padding-top: 3px; + padding-left: 50px; + background-image: + url('../../../../../../images/egovframework/com/cmm/uss/umt/left_menu_bg.gif') +} + +.LeftMenuBtn { + text-align: center; + padding-top: 5px; + padding-bottom: 5px; +} + +.LeftMenuBgList { + font-size: 12px; + color: #fff; + text-align: left; + font-family: "돋움"; + padding-top: 3px; + padding-left: 60px; + background-image: + url('../../../../../../images/egovframework/com/cmm/uss/umt/left_bg.gif'); +} + +.QuickLink { + font-size: 11px; + color: #7794be; + text-align: right; + font-family: "돋움"; + padding-top: 3px; +} + +.PageTitle { + color: #000000; + text-align: left; + font-family: "돋움"; + font-weight: bold; + padding-left: 45px; + background-image: + url('../../../../../../images/egovframework/com/cmm/uss/umt/page_title.gif') +} + +.PageNumber { + text-align: center; + font-family: "돋움"; +} + +.checkbox { + background-color: #fff; +} + +.BottomStyle { + font-size: 11px; + color: #999999; + font-family: dotum; +} + +.LoginIdText { + margin-top: 80px; + margin-left: 400px; + font-size: 12px; + font-family: dotum; + width: 190px; +} + +.LoginPassText { + margin-left: 400px; + font-size: 12px; + font-family: dotum; + width: 180px; +} + +.LoginJoinBtn { + margin-top: 5px; + margin-left: 400px; + font-size: 12px; + font-family: dotum; + width: 180px; +} + +/* -----------------TopMenuBg------------ */ +.TopMenuBg { + font-size: 12px; + color: #888888; + font-family: "돋움" +} + +.TopMenuBg a:link { + font-size: 12px; + color: #888888; + font-family: "돋움" +} + +.TopMenuBg a:visited { + font-size: 12px; + color: #888888; + font-family: "돋움" +} + +.TopMenuBg a:hover { + font-size: 12px; + color: #4791a5; + font-family: "돋움"; + font-weight: bold +} + +.TopMenuBg a:active { + font-size: 12px; + color: #86cd00; + font-family: "돋움"; + font-weight: bold +} + +/* -----------------LeftMenuBgList------------ */ +.LeftMenuBgList { + font-size: 12px; + color: #fff; + font-family: "돋움" +} + +.LeftMenuBgList a:link { + font-size: 12px; + color: #fff; + font-family: "돋움" +} + +.LeftMenuBgList a:visited { + font-size: 12px; + color: #fff; + font-family: "돋움" +} + +.LeftMenuBgList a:hover { + font-size: 12px; + color: #fff; + font-family: "돋움"; + font-weight: bold +} + +.LeftMenuBgList a:active { + font-size: 12px; + color: #fff; + font-family: "돋움"; + font-weight: bold +} + +/* -----------------LeftMenuBg------------ */ +.LeftMenuBg { + font-size: 12px; + color: #8594a8; + font-family: "돋움" +} + +.LeftMenuBg a:link { + font-size: 12px; + color: #8594a8; + font-family: "돋움" +} + +.LeftMenuBg a:visited { + font-size: 12px; + color: #8594a8; + font-family: "돋움" +} + +.LeftMenuBg a:hover { + font-size: 12px; + color: #445b7b; + font-family: "돋움"; + font-weight: bold +} + +.LeftMenuBg a:active { + font-size: 12px; + color: #445b7b; + font-family: "돋움"; + font-weight: bold +} + +/* -----------------QuickLink------------ */ +.QuickLink { + font-size: 11px; + color: #7794be; + font-family: "돋움" +} + +.QuickLink a:link { + font-size: 11px; + color: #7794be; + font-family: "돋움" +} + +.QuickLink a:visited { + font-size: 11px; + color: #5877a4; + font-family: "돋움" +} + +.QuickLink a:hover { + font-size: 11px; + color: #5877a4; + font-family: "돋움"; + font-weight: bold +} + +.QuickLink a:active { + font-size: 11px; + color: #5877a4; + font-family: "돋움"; + font-weight: bold +} + +/* board_list */ +.table_listA { + margin-top: 20px; + margin-left: 8px; + padding: 0 3px 0 3px; + height: 30px; + font: 11px Dotum; + color: #626262; +} + +.table_listA th { + margin-top: 10px; + height: 40px; + font: 11px Dotum; + font-weight: bold; + color: #4f657d; + background: url('../../../../../../images/egovframework/com/cmm/uss/umt/bg_list_th.gif') +} + +.table_listA tbody { + height: 35px; + font: 11px Dotum; + color: #828282; +} + +/* -----------------board_list------------ */ +.table_listA a:link { + font-size: 11px; + color: #828282; + font-family: "돋움"; + text-decoration: none +} + +.table_listA a:visited { + font-size: 11px; + color: #828282; + font-family: "돋움"; + text-decoration: none +} + +.table_listA a:hover { + font-size: 11px; + color: #a7a7a7; + font-family: "돋움"; + text-decoration: none +} + +.table_listA a:active { + font-size: 11px; + color: #828282; + font-family: "돋움"; + text-decoration: none +} + +/* by 이삼섭 */ /* Black 텍스트 Hyperlink Style */ +A:link { + font-size: 9pt; + font-family: "돋움"; + color: #000000; + text-decoration: none; +} + +A:visited { + font-size: 9pt; + font-family: "돋움"; + color: #000000; + text-decoration: none; +} + +A:active { + font-size: 9pt; + font-family: "돋움"; + color: #ff0000; + text-decoration: none; +} + +A:hover { + font-size: 9pt; + font-family: "돋움"; + color: #ff0000; + text-decoration: none; +} + +/* Gray 텍스트 Hyperlink Style */ +A.gr:link { + font-size: 9pt; + font-family: "돋움"; + color: #58595B; + text-decoration: none; +} + +A.gr:visited { + font-size: 9pt; + font-family: "돋움"; + color: #58595B; + text-decoration: none; +} + +A.gr:active { + font-size: 9pt; + font-family: "돋움"; + color: #ff0000; + text-decoration: none; +} + +A.gr:hover { + font-size: 9pt; + font-family: "돋움"; + color: #ff0000; + text-decoration: none; +} + +/* Black 텍스트 Hyperlink Style_언더라인 */ +A.underline:link { + font-size: 9pt; + font-family: "돋움"; + color: #000000; + text-decoration: underline; +} + +A.underline:visited { + font-size: 9pt; + font-family: "돋움"; + color: #000000; + text-decoration: underline; +} + +A.underline:active { + font-size: 9pt; + font-family: "돋움"; + color: #ff0000; + text-decoration: underline; +} + +A.underline:hover { + font-size: 9pt; + font-family: "돋움"; + color: #ff0000; + text-decoration: underline; +} + +/* 스크롤 & margin */ +body { + margin-left: 0px; + margin-right: 0px; + margin-top: 0px; + margin-bottom: 0px; +} + +td { + font-family: "돋움"; + font-size: 9pt; + color: #595959; + font-weight: normal; +} + +th { + font-family: "돋움"; + font-size: 9pt; + color: #000000; + font-weight: normal; +} + +/* 흰색배경 inputbox */ +textarea,input,select { + padding-left: 2px; + color: #555555; + border: 1px solid #9BBED2; + font-family: "돋움"; + font-size: 9pt; + color: #595959; +} + +/*list_text*/ +.lt_text { + font-size: 9pt; + color: #000000; + font-family: "돋움, Arial"; + height: 24px; + text-align: left; + vertical-align: middle; + padding-left: 10px; + padding-right: 10px; +} + +.lt_text2 { + font-size: 9pt; + color: #444444; + font-family: "돋움, Arial"; + height: 30px; + text-align: left; + vertical-align: middle; + padding-left: 10px; + padding-right: 10px; + font-weight: bold; +} + +.lt_text3 { + font-size: 9pt; + color: #000000; + font-family: "돋움, Arial"; + height: 24px; + text-align: center; + vertical-align: middle; +} + +.lt_text4 { + font-size: 9pt; + color: #000000; + font-family: "돋움, Arial"; + text-align: center; + vertical-align: middle; +} + +.lt_text5 { + font-size: 9pt; + color: #000000; + font-family: "돋움, Arial"; + height: 24px; + text-align: left; + vertical-align: top; + padding-left: 10px; + padding-right: 10px; + padding-top: 10px; + padding-bottom: 10px; +} + +.button { + border-style: none; + background-color: transparent; + font-size: 12px; +} + +/*------------------------------- textarea ------------------------------------------------*/ +textarea { + color: #000000; + padding-left: 2px; + border-color: #9CBED3; + border-style: solid; +} + +/* 콤보박스에 테두리선 빼기 */ +input.cb { + background-color: transparent; + border: 0px; +} + +/* 금액_흰색바탕_우측정열 inputbox */ +.input-r { + border: 1px solid #9BBED2; + text-align: right; +} + +select { + color: #000000; + padding-left: 2px; + border-color: #9CBED3; + border-style: solid; +} + +select1 { + color: #000000; + padding-left: 2px; + border-color: #9CBED3; + border-style: solid; +} + +.select12 { + color: #000000; + padding-left: 2px; + border-color: #9CBED3; + border-style: solid; +} + +select1[appearance="full"] { + color: #000000; + padding-left: 2px; + border-color: #9CBED3; + border-style: solid; +} + +select[appearance="full"] { + color: #000000; + padding-left: 2px; + border-color: #9CBED3; + border-style: solid; +} + +.check2 { + color: #000000; + padding-left: 2px; + border-color: #9CBED3; + background-color: transparent !important; + border-style: none !important; +} + +.radio2 { + color: #000000; + padding-left: 2px; + border-color: #9CBED3; + background-color: #EAEAEA !important; + border-style: none !important; +} + +/*페이징관련 버튼*/ +.group_pagenav { + vertical-align: middle; + background-color: transparent !important; + border-style: none; +} + +.page_prevend { + width: 13px; + height: 13px; + top: 3px; + background-color: transparent; + background-image: + url(../../../../../../images/egovframework/com/cmm/uss/umt/icon/icon_prevend.gif); + border-style: none; +} + +.page_prev { + width: 13px; + height: 13px; + top: 3px; + background-color: transparent; + background-image: + url(../../../../../../images/egovframework/com/cmm/uss/umt/icon/icon_prev.gif); + border-style: none; +} + +.page_nextend { + width: 13px; + height: 13px; + top: 3px; + background-color: transparent; + background-image: + url(../../../../../../images/egovframework/com/cmm/uss/umt/icon/icon_nextend.gif); + border-style: none; +} + +.page_next { + width: 13px; + height: 13px; + top: 3px; + background-color: transparent; + background-image: + url(../../../../../../images/egovframework/com/cmm/uss/umt/icon/icon_next.gif); + border-style: none; +} + +.page_no { + width: 30px; + height: 13px !important; + top: 3px; + text-align: center; + background-color: transparent; + border-style: none; +} + +.page_sep { + width: 13px; + height: 13px !important; + top: 3px; + text-align: center; + background-color: transparent; + border-style: none; +} + +.group_pagenav>caption { + vertical-align: top !important; + background-color: transparent !important; + border-style: none !important; + padding-left: 2px !important; + padding-top: 1px !important; + text-align: left !important; +} + +/****************************************** 텍스트 ************************************************************/ + /* 로케이션_텍스트 */ +.location { + font-family: "돋움"; + font-size: 8pt; + color: #6d6d6d; + padding-top: 1px; + padding-left: 3px; + vertical-align: middle +} + +/* 타이틀_볼드 */ +.title { + font-family: "돋움"; + font-size: 9pt; + color: #000000; + font-weight: bold; + vertical-align: middle +} + +/* 타이틀_볼드_좌측정렬 */ +.title_left { + font-family: "돋움"; + font-size: 9pt; + color: #000000; + font-weight: bold; + vertical-align: middle; + text-align: left +} + +/* 팝업_타이틀_볼드 */ +.title_wh { + font-family: "돋움"; + font-size: 9pt; + color: #ffffff; + font-weight: bold; + vertical-align: middle +} + +/* 버튼메뉴_타이틀_화이트_볼드 */ +.title_wh_b { + font-family: "돋움"; + font-size: 9pt; + color: #ffffff; + font-weight: bold; + vertical-align: middle +} + +/* 필수 입력 항목 캡션 */ +.required_text { + font-family: "돋움"; + font-size: 9pt; + color: #2E4B90; + font-weight: bold; + padding-right: 3px; + text-align: right; + vertical-align: middle +} + +.text1 { + color: #FF8903; +} + +.text2 { + color: #A2A2A2; +} + +/****************************************** 테이블 & 텍스트 ************************************************************/ + /* 리스트 테이블 */ +.table-line { + BORDER-TOP: #1A90D8 2px solid; + BORDER-bottom: #BABABA 1px solid; + border-collapse: collapse; +} + +.table-line th { + BORDER-bottom: #A3A3A3 1px solid; + padding-left: 2px; + padding-right: 2px; + background-color: #E4EAF8; + height: 20px; +} + +.table-line td { + BORDER-bottom: #E0E0E0 1px solid; + padding-left: 2px; + padding-right: 2px; + background-color: #F7F7F7; + height: 20px; +} + +/* 등록 테이블 */ +.table-register { + BORDER-TOP: #D2D4D1 1px solid; + BORDER-bottom: #D2D4D1 1px solid; + BORDER-left: #D2D4D1 1px solid; + BORDER-right: #D2D4D1 1px solid; + border-collapse: collapse; +} + +.table-register th { + padding-left: 2px; + padding-right: 5px; + background-color: #E4EAF8; + Text-align: right; +} + +.table-register td { + padding-left: 2px; + padding-right: 5px; + background-color: #F7F7F7; +} + +/* 조회 테이블 +.table-search{BORDER-TOP: #D2D4D1 1px solid;BORDER-bottom: #D2D4D1 1px solid;BORDER-left: #D2D4D1 1px solid;BORDER-right: #D2D4D1 1px solid; border-collapse: collapse;} + .table-search th{ padding-left:2;padding-right:2;background-color: #E4EAF8; Text-align: center ;} + .table-search td{ padding-left:2;padding-right:2;background-color: #F7F7F7;} */ + /* 투명 테이블 */ +.table-trans { + BORDER-LEFT: 0px solid; + BORDER-RIGHT: 0px solid; + BORDER-BOTTOM: 0px solid; + BORDER-TOP: 0px solid; + border-collapse: collapse; +} + +.table-trans td { + border: 0px solid; + padding-top: 0; + padding-bottom: 0; + padding-left: 0; + padding-right: 0; + border: 0px solid; + border-collapse: collapse; +} + +.btnBackground { + background-image: + url(../../../../../../images/egovframework/com/sym/ccm/zip/btn/bu2_bg.gif); +} + +.btnNew { + border: 0 solid #000; + color: #000000; + background-image: + url(../../../../../../images/egovframework/com/sym/ccm/zip/btn/bu2_bg.gif); + cursor: pointer; +} \ No newline at end of file Property changes on: base3.10/src/main/webapp/css/egovframework/com/sym/ccm/zip/zip.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/sym/cal/cal.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/sym/cal/cal.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/sym/cal/cal.css (revision 7) @@ -0,0 +1,114 @@ +/* by 검증 디자이너 */ + +img {border:0;} +table {margin:0; padding:0;} + +.t_strong {font-weight:bold;} + +.TopMenuBg { + background-image:url('/images/egovframework/com/cmm/uss/umt/menu_bg.jpg'); + background-repeat:no-repeat; + } + +/* by 이삼섭 */ +/* Black 텍스트 Hyperlink Style */ +A:link { font-size:9pt; font-family:"돋움";color:#000000; text-decoration:none; } +A:visited { font-size:9pt; font-family:"돋움";color:#000000; text-decoration:none; } +A:active { font-size:9pt; font-family:"돋움";color:red; text-decoration:none; } +A:hover { font-size:9pt; font-family:"돋움";color:red;text-decoration:none;} + + +/* Gray 텍스트 Hyperlink Style */ +A.gr:link { font-size:9pt; font-family:"돋움";color:#58595B; text-decoration:none; } +A.gr:visited { font-size:9pt; font-family:"돋움";color:#58595B; text-decoration:none; } +A.gr:active { font-size:9pt; font-family:"돋움";color:red; text-decoration:none; } +A.gr:hover { font-size:9pt; font-family:"돋움";color:red ;text-decoration:none;} + + +/* Black 텍스트 Hyperlink Style_언더라인 */ +A.underline:link { font-size:9pt; font-family:"돋움";color:#000000; text-decoration:underline; } +A.underline:visited { font-size:9pt; font-family:"돋움";color:#000000; text-decoration:underline; } +A.underline:active { font-size:9pt; font-family:"돋움";color:red; text-decoration:underline; } +A.underline:hover { font-size:9pt; font-family:"돋움";color:red;text-decoration:underline;} + + +/* 스크롤 & margin */ +body { +margin-left:0px; margin-right:0px; margin-top:0px; margin-bottom:0px;} + +td {font-family: "돋움"; font-size: 9pt; color:#595959; font-weight:normal;} +th {font-family: "돋움"; font-size: 9pt; color:#000000; font-weight:normal;} + + +/* 흰색배경 inputbox */ + textarea, input, select + {padding-left:2px; color:#555555; border:1px solid #9BBED2; + font-family: "돋움"; font-size: 9pt; color:#595959;} + + + +/*list_text*/ +.lt_text { font-size:9pt; color:#000000; font-family:"돋움, Arial"; height:24px; text-align:left; vertical-align:middle; padding-left:10px; padding-right:10px;} +.lt_text2 { font-size:9pt; color:#444444; font-family:"돋움, Arial"; height:30px; text-align:left; vertical-align:middle; padding-left:10px; padding-right:10px; font-weight: bold;} +.lt_text3 { font-size:9pt; color:#000000; font-family:"돋움, Arial"; height:24px; text-align:center; vertical-align:middle;} +.lt_text4 { font-size:9pt; color:#000000; font-family:"돋움, Arial"; text-align:center; vertical-align:middle;} +.lt_text5 { font-size:9pt; color:#000000; font-family:"돋움, Arial"; height:24px; text-align:left; vertical-align:top; padding-left:10px; padding-right:10px; padding-top:10px; padding-bottom:10px;} + + + .button { + border-style:none; + background-color:transparent; + font-size:12px; + } + + + + + +/****************************************** 텍스트 ************************************************************/ + +/* 로케이션_텍스트 */ +.location{ font-family:"돋움"; font-size:8pt; color:#6d6d6d ;padding-top:1px; padding-left:3px; + vertical-align: middle} + +/* 타이틀_볼드 */ +.title{ font-family:"돋움"; font-size:9pt; color:#000000 ; + font-weight: bold ; vertical-align: middle} + +/* 타이틀_볼드_좌측정렬 */ +.title_left{ font-family:"돋움"; font-size:9pt; color:#000000 ; + font-weight: bold ; vertical-align: middle; text-align:left } + +/* 팝업_타이틀_볼드 */ +.title_wh{ font-family:"돋움"; font-size:9pt; color:#ffffff ; + font-weight: bold ; vertical-align: middle} + +/* 버튼메뉴_타이틀_화이트_볼드 */ +.title_wh_b{ font-family:"돋움"; font-size:9pt; color:#ffffff ; + font-weight: bold ; vertical-align: middle} + + +.text1{color:#FF8903; } +.text2{color:#A2A2A2; } +/****************************************** 테이블 & 텍스트 ************************************************************/ +/* 리스트 테이블 */ +.table-line{BORDER-TOP: #1A90D8 2px solid; BORDER-bottom: #BABABA 1px solid;border-collapse: collapse;} + .table-line th{BORDER-bottom: #A3A3A3 1px solid; padding-left:2px;padding-right:2px;background-color: #E4EAF8; height:20px;} + .table-line td{BORDER-bottom: #E0E0E0 1px solid; padding-left:2px;padding-right:2px;background-color: #F7F7F7; height:20px;} + + +/* 등록 테이블 */ +.table-register{BORDER-TOP: #D2D4D1 1px solid;BORDER-bottom: #D2D4D1 1px solid;BORDER-left: #D2D4D1 1px solid;BORDER-right: #D2D4D1 1px solid; border-collapse: collapse;} + .table-register th{ padding-left:2px;padding-right:5px;background-color: #E4EAF8; Text-align: right ;} + .table-register td{ padding-left:2px;padding-right:5px;background-color: #F7F7F7;} + + +/* 조회 테이블 +.table-search{BORDER-TOP: #D2D4D1 1px solid;BORDER-bottom: #D2D4D1 1px solid;BORDER-left: #D2D4D1 1px solid;BORDER-right: #D2D4D1 1px solid; border-collapse: collapse;} + .table-search th{ padding-left:2;padding-right:2;background-color: #E4EAF8; Text-align: center ;} + .table-search td{ padding-left:2;padding-right:2;background-color: #F7F7F7;} */ + +/* 투명 테이블 */ +.table-trans {BORDER-LEFT: 0px solid;BORDER-RIGHT:0px solid; BORDER-BOTTOM:0px solid; BORDER-TOP:0px solid; border-collapse:collapse;} + .table-trans td{border:0px solid;padding-top:0;padding-bottom:0;padding-left:0;padding-right:0;border:0px solid;border-collapse: collapse;} + \ No newline at end of file Property changes on: base3.10/src/main/webapp/css/egovframework/com/sym/cal/cal.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/uat/uia/style.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/uat/uia/style.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/uat/uia/style.css (revision 7) @@ -0,0 +1,135 @@ +@charset "utf-8"; + + +/* Base Style *****************************/ +* { margin: 0; padding: 0; border: 0; } +/* body { overflow-y: auto; } */ +body,div,table,em,h1,h2,h3,h4,h5,h6,form,fieldset,p,th,td,input,textarea,select,button { + font-family: 'NanumGothic', 'dotum', Verdana, Tahoma, AppleGothic, Sans-serif; font-size: 12px; color: #666; } + +fieldset, img { border: 0; } +textarea { width: 100%; } +img, label { vertical-align: middle; } +ul, ol { list-style : none; } +caption span, .hide, legend { position: absolute; left: -1000%; top: 0; } +table { border-collapse: collapse; border-spacing: 0; width: 100%; } +a { color: #666; text-decoration: none; } +a:hover { color: #000; text-decoration: none; } +a, button, input[type="button"] { cursor: pointer; } +textarea, +input[type="file"], +input[type="password"], +input[type="text"] { color: #727272; height: 21px; border: 1px solid #d2d2d2; } +textarea[readonly="readonly"], +button[readonly="readonly"], +select[readonly="readonly"], +input[readonly="readonly"], +textarea[disabled="disabled"], +button[disabled="disabled"], +select[disabled="disabled"], +input[disabled="disabled"] { color: #999; background: #f7f7f7; } +input[type="password"], +input[type="file"], +input[type="text"] { /*height:15px; vertical-align: middle; */ } +input[type="file"] { width: 100%; } +input[type="radio"] { vertical-align: text-bottom; } + + +#wrap { width: 100%; margin: 0 auto; } +#header { position: relative; width: 100%; height: 70px; border-top: 4px solid #0c4ca4; border-bottom: 1px solid #d7d7d7; } + .header_box { padding: 25px 0 0 40px; } + .header_box h1 { float: left; margin-right: 20px; } + .header_box p { margin-top: 2px; color: #333; font-size: 13px; font-weight: bold; } +#container { position: absolute; width: 100%; top: 110px; left: 0; right: 0; bottom: 65px; } + #lnb { position: absolute; top: 0; left: 40px; bottom: 0; width: 230px; margin-right: 30px; background: #fff; overflow-y: scroll; } + ul.lnb_title { padding-right: 25px; } + ul.lnb_title > li { padding-bottom: 20px; border-bottom: 1px solid #d7d7d7; margin-bottom: 20px; } + ul.lnb_title > li:last-child { padding-bottom: 0; border-bottom: 0; } + ul.lnb_title > li strong { color: #222; font-size: 14px; } + ul.lnb_title > li > ul { padding-top: 4px; } + ul.lnb_title > li > ul > li { margin-top: 9px; } + ul.lnb_title > li > ul > li a:hover { font-weight: bold; } + #contents { position: absolute; left: 300px; top: 25px; right: 0; bottom: 0; overflow-y: auto; } +#footer { position: absolute; bottom: 0; width: 100%; height: 45px; background: #d3d3d3; } +#footer p { color: #555; font-size: 11px; font-weight: bold; text-align: center; margin-top: 17px; } + + +.vam { vertical-align: middle !important; } +.ml10 { margin-left: 10px !important; } +.mr10 { margin-right: 10px !important; } +.mb10 { margin-bottom: 10px !important; } +.mb20 { margin-bottom: 20px !important; } +.mt20 { margin-top: 20px !important; } + + +/* box Style *****************************/ +.boxType1 { position: relative; border: 4px solid #ececec; background: #f7f7f7; } +.boxType1 .box { background: #fff; margin: 4px; } +.boxType1 .box .error { padding: 25px 0 25px 190px; min-height: 50px; background: url('../images/bul_i.jpg') 30px 50% no-repeat; } +.boxType1 .box .error p.title { color: #DB6415; font-size: 16px; line-height: 21px; font-weight: bold; margin-bottom: 10px; } +.boxType1 .box .error p.cont { line-height: 18px; } + +.boxType2 { position: relative; border: 4px solid #f1f1f1; background: #f7f7f7; } + + +/* button Style *****************************/ +.btn_style1 { display: inline-block; padding: 6px 12px; border-radius: 1px; } +.btn_style1 a { color: #fff; font-size: 13px; font-weight: bold; } +.btn_style1 a:hover { opacity: 0.6; } +.btn_style2 { display: inline-block; padding: 4px 10px; border: 1px solid #d2d2d2; color: #333; font-size: 11px; background: #f4f4f4; border-radius: 1px; } +.btn_style3 { display: inline-block; padding: 5px 8px; background: #3d70b6; border-radius: 1px; color: #fff; font-size: 11px; } +.btn_style4 { padding: 5px 11px; } + +.btn_right { float: right; } +.blue { background: #3d70b6; } +.gray { background: #9e9e9e; } + + +/* input Style *****************************/ +.input2 { height: 21px !important; padding-left: 5px; margin-right: 3px; } + + +/* select Style *****************************/ +.select2 { padding: 2px 3px 3px 4px; border: 1px solid #d2d2d2; } + + +/* textarea Style *****************************/ +.textarea2 { padding: 4px 0 0 6px; } +.textarea3 { padding: 4px 0 0 6px; background: #f7f7f7; } + + +/* table style */ +.board_list { width: 100%; border-top: 2px solid #0c4ca4; } +.board_list caption { display: none; } +.board_list thead th, +.board_list tbody th { color: #222 ; font-weight: bold; background: #f4f4f4; padding: 12px 0; border-bottom: 1px solid #e6e6e6; } +.board_list tbody th { text-align: left; padding-left: 14px; } +.board_list tbody th.vtop { vertical-align: top; } +.board_list tbody th .ic_chk { background: url('../images/tbl_check.png') left 3px no-repeat; padding-left: 14px; } +.board_list tbody th span.pilsu { color: #d0270b; font-weight: 500; margin-left: 3px; } +.board_list tbody td { text-align: center; padding: 11px 5px; border-bottom: 1px solid #e6e6e6; } +.board_list tbody td.left { text-align: left; padding-left: 8px; } +.board_list tbody td.cnt { text-align: left; padding: 12px 10px 20px; line-height: 160%; } +.board_list tbody td.nopd { text-align: left; padding: 0; border-left: 1px solid #fff; } +.board_list tbody td input.bbs_Nm { width: 99%; } +.board_list tbody td input.tmp { width: 160px; } +.board_list tbody td textarea { width: 99%; height: 100px; } +.board_list tbody td textarea.txt { width: 97%; height: 300px; margin: 6px 8px; } +.board_list tbody td textarea.re_txt { float: left; width: 80%; } +.board_list tbody td a.re_btn { float: right; padding: 43px 31px; margin: 1px 2px 0 0; font-size: 12px; font-weight: 600; } +.board_list tbody td select { padding: 2px 0 3px 2px; border: 1px solid #dedede; } +.board_list tbody td img { margin-left: 7px; } + + +/* file Style *****************************/ +.file_add { margin-top: 6px; } +.file_add a { display: inline-block; width: 13px; height: 18px; background: url('../images/btn_del.png') 1px 2px no-repeat; text-indent: -10000em; } +.file_input_textbox { float: left; color:#666; border: 1px solid #cfcfcf !important; padding-left: 5px; margin-right: 4px; } +.file_input_div { position: relative; width: 66px; height: 23px; overflow: hidden; } +.file_input_button { position: absolute; width: 66px; height: 23px; background: #3d70b6; border-radius: 1px; font-size: 11px; color: #fff; border: none; } +.file_input_hidden { position: absolute; font-size: 45px; right: 0; top: 0; opacity: 0; cursor: pointer; + filter:alpha(opacity=0); + -ms-filter:"alpha(opacity=0)"; + -khtml-opacity:0; + -moz-opacity:0; +} Property changes on: base3.10/src/main/webapp/css/egovframework/com/uat/uia/style.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/uat/uia/idpw.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/uat/uia/idpw.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/uat/uia/idpw.css (revision 7) @@ -0,0 +1,33 @@ +@charset "utf-8"; + +@import "style.css"; + + +/* login Layout *********************************/ +.login_form { width: 281px; margin: 90px auto 0; margin-left: 31%; } +.login_form h1 { width: 174px; height: 25px; background: url('../images/login_tit.png') no-repeat; margin-left: 47px; text-indent: -10000em; } +.idpw_form { position: relative; top: 90px; display: flex; justify-content: center; } +.id_search { float: left; padding-right: 30px; } +.pw_search { float: left; padding-left: 30px; border-left: 1px solid #e2e1e2; } +.id_search h2, +.pw_search h2 { text-align: center; font-size: 19px; color: #222; } + .login_type { width: 100%; margin-top: 25px; } + .login_type ul { display: inline-block; } + .login_type ul li { float: left; margin-left: -1px; } + .login_type ul li:first-child { margin-left: 0; } + .login_type ul a { display: block; height: 33px; line-height: 33px; font-size: 14px; font-weight: bold; padding: 0 33px; background: #f4f4f4; border: 1px solid #e6e6e6; } + .login_type ul a:hover { background-color: #e6e6e6; } + .login_type ul a.on { background: #0c4ca4; color: #fff; border: 1px solid #0c4ca4; } + .login_input { margin-top: 10px; } + .login_input ul li { margin-bottom: 10px; } + .login_input ul li label { display: none; } + .login_input ul li input[type="password"], + .login_input ul li input[type="text"] { width: 97%; height: 39px; border: 1px solid #dfdfdf; background: #f9f9f9; font-size: 14px; padding-left: 10px; } + .login_input ul li select { width: 286px; height: 39px; border: 1px solid #dfdfdf; font-size: 13px; padding-left: 6px; } + .login_input ul li.chk { font-size: 13px; } + .login_input ul li input[type="checkbox"] { margin-right: 5px; vertical-align: -3px; } + .login_input ul li input.btn_login { width: 100%; height: 45px; margin-top: 6px; border: none; background: #0c4ca4; color: #fff; font-size: 18px; font-weight: bold; cursor: pointer; } + .login_input ul.btn_idpw { float: right; margin-top: 5px; } + .login_input ul.btn_idpw li { float: left; } + .login_input ul.btn_idpw li:first-child { padding-right: 9px; border-right: 1px solid #d6d6d6; margin-right: 9px; } + Property changes on: base3.10/src/main/webapp/css/egovframework/com/uat/uia/idpw.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/egovframework/com/uat/uia/login.css =================================================================== --- base3.10/src/main/webapp/css/egovframework/com/uat/uia/login.css (nonexistent) +++ base3.10/src/main/webapp/css/egovframework/com/uat/uia/login.css (revision 7) @@ -0,0 +1,36 @@ +@charset "utf-8"; + +/* Base Style *****************************/ +* { margin: 0; padding: 0; border: 0; } +/* body { overflow-y: auto; } */ + +/* login Layout *********************************/ +.login_form { width:500px; margin: 90px auto 0; margin-left: 31%; border: 0px solid #d2d2d2; } +.login_form h1 { width: 174px; height: 25px; background: url('../../images/egovframework/com/cmm/main/top_logo.png') no-repeat; margin-left: 47px; text-indent: -10000em; } + +.idpw_form { position: absolute; top: 90px; left: 14%; } +.id_search { float: left; width: 281px; padding-right: 65px; } +.pw_search { float: left; padding-left: 65px; border-left: 1px solid #e2e1e2; } +.id_search h2, +.pw_search h2 { text-align: center; font-size: 19px; color: #222; } + + .login_type { width: 100%; margin-top: 25px; } + .login_type ul { font-size:0; } + .login_type ul li { display: inline-block; width:33.33%; text-align: center;} + .login_type ul li:last-child { width:33.34%; } + .login_type ul a { display: block; height: 33px; line-height: 33px; font-size: 12px; font-weight: bold; padding: 0 33px; background: #f4f4f4; border: 1px solid #e6e6e6; } + .login_type ul a:hover { background-color: #e6e6e6; } + .login_type ul a.on { background: #0c4ca4; color: #fff; border: 1px solid #0c4ca4; } + + .login_input { margin-top: 10px; } + .login_input ul li { margin-bottom: 10px; } + .login_input ul li label { display: none; } + .login_input ul li input[type="password"], + .login_input ul li input[type="text"] {box-sizing:border-box; width:100%; height: 39px; border: 1px solid #dfdfdf; background: #f9f9f9; font-size: 14px; padding-left: 10px; } + .login_input ul li select { width: 281px; height: 39px; border: 1px solid #dfdfdf; font-size: 13px; padding-left: 6px; } + .login_input ul li.chk { font-size: 13px; } + .login_input ul li input[type="checkbox"] { margin-right: 5px; vertical-align: -3px; } + .login_input ul li input.btn_login {box-sizing:border-box; width:100%; height: 45px; margin-top: 6px; border: none; background: #0c4ca4; color: #fff; font-size: 18px; font-weight: bold; cursor: pointer; } + .login_input ul.btn_idpw { margin-top: 5px; } + .login_input ul.btn_idpw li { float: left; padding-right: 9px; border-right: 1px solid #d6d6d6; margin-right: 9px; } + .login_input ul.btn_idpw li:last-child { padding-right:0; border-right:0; } \ No newline at end of file Property changes on: base3.10/src/main/webapp/css/egovframework/com/uat/uia/login.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/admin/popup.css =================================================================== --- base3.10/src/main/webapp/css/admin/popup.css (nonexistent) +++ base3.10/src/main/webapp/css/admin/popup.css (revision 7) @@ -0,0 +1,16 @@ +@charset "UTF-8"; +/* CSS Document */ + +html, body { min-width:0; min-height:0; width:100%; height:100%;} + +.popup_contents { height:100%; width:100%; } +.popup_contents form { height:100%; width:100%; } + +.popup_header { width:100%; height:60px; color:#fff; background:#1d3a67; line-height:60px; font-weight:600; box-sizing:border-box; padding-left:20px;} +.popup_header h3 { text-align:left; color:#fff; font-size:1.4em; font-weight:600; } + +.popup_body { padding:20px 20px; box-sizing:border-box; width:100%; height:calc(100% - 110px); overflow-y:auto } +.popup_body p.text { margin-bottom:15px; } + +.popup_footer { margin-top:0; height:50px; padding:0; background:#fff; border-top:1px solid #ededed; } +.popup_footer::after { clear:both; content:''; display:block; } \ No newline at end of file Property changes on: base3.10/src/main/webapp/css/admin/popup.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/admin/admin.css =================================================================== --- base3.10/src/main/webapp/css/admin/admin.css (nonexistent) +++ base3.10/src/main/webapp/css/admin/admin.css (revision 7) @@ -0,0 +1,930 @@ +@charset "UTF-8"; +/* CSS Document */ + +/*******************************************************************admin******************************************************************/ +body { min-width:1600px; min-height:840px; width:100%; overflow:hidden; background: rgb(241,241,241); +background: -moz-linear-gradient(0deg, rgba(241,241,241,1) 0%, rgba(241,241,241,0.5) 5%, rgba(241,241,241,0) 100%); +background: -webkit-linear-gradient(0deg, rgba(241,241,241,1) 0%, rgba(241,241,241,0.5) 5%, rgba(241,241,241,0) 100%); +background: linear-gradient(0deg, rgba(241,241,241,1) 0%, rgba(241,241,241,0.5) 5%, rgba(241,241,241,0) 100%); +filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#f1f1f1",endColorstr="#f1f1f1",GradientType=1);} +body.pers { min-width:0; } + +.content_wrap { width:100%; height:100%; position:relative; } +.content_wrap::after { width:100%; height:140px; z-index:-1; content:''; display:block; position:absolute; top:0; left:0; background:#112b53; } + +.content_wrap.wide { } +.content_wrap.wide .content { width:calc(100% - 60px); } +.content_wrap.wide .left_menu { } +.content_wrap.wide .logo { background: url(../../images/custom/logo.svg) 50% 50% no-repeat; height:85px; background-size:180px; background-position:30px 50%; } +.content_wrap.wide .left_menu .submenu_wrap, .content_wrap.wide .footer { opacity:0; visibility:hidden; } + +.content { width:calc(100% - 330px); z-index:1; transition:all 0.3s; border:1px solid #e0ecfd; margin-right:30px; float:right; position:absolute; bottom:30px; right:0; height:calc(100% - 115px); box-sizing:border-box; background:#fff;border-radius:10px; box-shadow:0 0px 13px 0 rgba(141,143,222,0.2); } +.content .control { cursor:pointer; transition:all 0.3s; position:absolute; box-shadow:-2px 0px 5px 0 rgba(141,143,222,0.15); z-index:9; bottom:55px; left:-15px; border-radius:10px 0 0 10px; border:1px solid #e0ecfd; text-indent:-50000px; display:inline-block; width:15px; height:60px; background:url(../../images/custom/arrow_left.svg) 50% 50% no-repeat #fff; background-size:5px; } +.content .control:hover { background-image:url(../../images/custom/arrow_right_fff.svg); background-color:#d5ddf1; } +.content .control.active { background-image:url(../../images/custom/arrow_right_fff.svg); background-color:#7283ab; border-color:#e0ecfd; } +/*.content form { height:100%; }*/ + +.bg_box { background-repeat:no-repeat; background-size:cover; background-position:50% 50%; } +.bg_box img { display:none; } + +.flex_start { justify-content:flex-start; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; } + +/*top bar*/ +.logo { width:300px; height:140px; position:absolute; top:0; left:0; z-index:9; background: url(../../images/admin/logo_v.svg) 50% 50% no-repeat; background-size:150px; text-indent:-5000px; transition:all 0.3s;} +.logo a { width:100%; height:100%; display:block; text-indent:-5000px;} + +.topBar { width:calc(100% - 300px); float:right; height:85px; padding:43px 30px 0 0; z-index:99999; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:space-between; } +.topBar .fl a { font-size:1em; color:#fff; } +.topBar .member { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-end; align-items:flex-start; position:fixed; top:20px; right:30px; margin-top:0; font-size:0.8em; } +.topBar .member li { line-height:1em; padding-left:20px; margin-left:20px; color:#ccc; border-left:1px solid #717171; } +.topBar .member li:first-child { border-left:none; padding-left:0; margin-left:0; } +.topBar .member li a { color:#ccc; font-size:12px; position:relative; display:inline-block; } +.topBar .member li a::before { transition:all 0.3s; content:''; display:inline-block; width:0; height:1px; background:#fff; position:absolute; bottom:-5px; left:50%; transform:translateX(-50%); } +.topBar .member li:hover a::before { width:100%; } +.topBar .member li b { color:#fff; } +.topBar .member li a:hover { text-decoration:none; color:#fff; } +.topBar .member p a { color:#ccc; line-height:35px; } +.topBar .member span { color:#fff;font-weight:600; } + +.topBar .gnb { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: flex-start; font-size:1.2em; } +.topBar .gnb > li { position:relative; margin-right:30px; padding:0; cursor:pointer; z-index:2; transition:all 0.3s; } +.topBar .gnb > li > a { opacity:0.8; color:#fff; font-size:0.9em; font-weight:600; position:relative; padding-bottom:15px; } +.topBar .gnb > li > a::before { transition:all 0.3s; content:''; display:inline-block; width:0; height:1px; background:#fff; position:absolute; bottom:15px; left:50%; transform:translateX(-50%); } +.topBar .gnb > li.active > a { opacity:1; } +.topBar .gnb > li.active > a::before { width:100%; } +.topBar .gnb > li:last-child { margin-right:0; } + +.topBar .gnb .subMenu { box-shadow: 0 0px 10px 0 rgba(0,0,0,0.3); background:#fff; transition:all 0.3s; margin-top:14px; opacity:0; top:50px; left:50%; transform:translateX(-50%); min-width:180px; border-radius:5px; visibility:hidden; position:absolute; border:1px solid #081a35; } +.topBar .gnb .subMenu::after { opacity:1; transition:all 0.3s; content:''; z-index:1; display:inline-block; position:absolute; top:-8px; left:50%; transform:translateX(-50%); width:0; height:0; border-left:8px solid transparent; border-right:8px solid transparent; border-bottom:8px solid #fff; } +.topBar .gnb .subMenu li { float:none; padding:0; position:relative; } +.topBar .gnb .subMenu li.have > a { position:relative; } +.topBar .gnb .subMenu li.have > a::after { content:''; display:inline-block; position:absolute; right:15px; top:17px; width:8px; height:8px; background:url(../../images/custom/arrow_right.svg) 50% 50% no-repeat; background-size:5px 8px; } +.topBar .gnb .subMenu li:first-child, .topBar .gnb .subMenu li:first-child a { border-radius:5px 5px 0 0; } +.topBar .gnb .subMenu li:last-child, .topBar .gnb .subMenu li:last-child a { border-radius:0 0 5px 5px; } +.topBar .gnb .subMenu.only li a { border-radius:5px !important; } +.topBar .gnb .subMenu li a { width:100%; display:block; padding:10px 15px; color:#081a35; font-size:13px;} +.topBar .gnb .subMenu li:hover > a { background:#f0f1fb; } +.topBar .gnb .subMenu li.active > a { background:#f0f1fb; text-decoration:underline; } +.topBar .gnb > li:hover .subMenu { top:25px; opacity:1; visibility:visible; } +.topBar .gnb > li:hover p { opacity:1; } +.topBar .gnb > li:hover p::before { width:100%; } +.topBar .gnb .subMenu:hover::after { opacity:1; bottom:-5px; } + +.topBar .gnb .subMenu li .depth3 { position:absolute; right:-180px; width:180px; top:0; background:#fff; border:1px solid #081a35; border-radius:5px; overflow:hidden; opacity:0; visibility:hidden; } +.topBar .gnb .subMenu li .depth3 li.active a { background:#f0f1fb; } +.topBar .gnb .subMenu li:hover .depth3 { opacity:1; visibility:visible; } + +/*content title*/ +.board_header { border-bottom:1px solid #e2ecfb; height:55px; padding:10px 10px 0 15px; } +.board_header::after { content:''; clear:both; display:block; } +.board_header h3 { float:left; color:#333; box-sizing:border-box; text-align:left; margin-top:7px; font-size:1.2em; font-weight:600; display:inline-block; } +.board_header .select { height:35px !important; } + +.board_header .date_pick { background:#fff; border-radius:2px; box-shadow:none; transition:all 0.5s; } +.board_header .date_pick:hover { border-color:#333; box-shadow:0 0 5px 0 rgba(0,0,0,.1); } +.board_header .date_pick label { height:33px; width:33px; } +.board_header .date_pick .inputText { border-radius:30px 0 0 30px; height:33px;background:#fff; } +.board_header .date_pick .inputText:hover { border:none; } +.board_header .btn_excel { margin-left:5px; } + +/*search bar*/ +.search_box { float:right; } +.search_box::after { clear:both; content:''; display:block; } +.search_box .inputText, .search_box .select, .search_box .btn_board { float:left; margin-left:2px; } +.search_box .btn_board { font-size:1em; text-align:center; padding:0 15px; height:35px; letter-spacing:-1px; border:1px solid #ccc; background:#fff; } +.search_box .btn_board:hover { border:1px solid #999; background:#f1f1f1; } + +/*layout*/ +.board_body { width:100%; height:calc(100vh - 227px); padding:20px; box-sizing:border-box; overflow-y:auto; } +.board_body::after { clear:both; content:''; display:block; } +.board_body h4 { font-size:15px; line-height:23px; margin-bottom:10px; display:inline-block; font-weight:600; box-sizing:border-box; } +.board_body h5 { font-size:15px; line-height:23px; margin-bottom:10px; display:inline-block; font-weight:600; box-sizing:border-box; } + +.board_body.footer_none { height:calc(100vh - 172px); } + +h4.titleL { font-size:1.3em; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; align-items:center; } +h4.titleL::before { width:10px; height:10px; content:''; background:#224173; border:3px solid #d5dfff; border-radius:3px; margin-right:8px; display:inline-block; } + +.body_left, .body_right { height:100%; overflow-Y:auto; padding:15px; } +.body_left { width:300px; float:left; padding-right:0; padding-bottom:0; overflow-X:visible; position:relative; z-index:99999; } +.body_right { width:calc(100% - 300px); float:right; border-left:1px solid #e2ecfb; } + +.body_left .ztree { padding:0; } +.body_left .ztree .level0 { padding-left:0; } + +.board_body.full { height:calc(100% - 55px); } +.board_body.full .body_left { width:500px; padding:0; } +.board_body.full .body_right { width:calc(100% - 500px); padding:0; } + +.onlyleft, .board_body.full .onlyleft { border-right:1px solid #e2ecfb; padding:20px; } + +.in_top { width:100%; border-bottom:1px solid #e2ecfb; padding:10px; } +.in_content { padding:10px; height:calc(100% - 53px);; overflow-y:auto; } + +.board_body.no_foot { height:calc(100% - 55px); } +.board_infomation { padding-bottom:10px; } +.board_footer { height:55px; width:100%; border-top:1px solid #e2ecfb; text-align:center; } +.footer { width:100%; position:absolute; bottom:25px; left:0; color:#7f85a2; text-align:left; padding-left:30px; font-size:11px; opacity:0.5; font-weight:400; transition:all 0.3s; } +.bottom_wrap { padding:10px 10px; } +.bottom_wrap::after { clear:both; content:''; display:block; } + +/*left menu*/ +.left_menu { width:300px; height:100%; padding-top:140px; position:relative; background-size:cover; float:left; box-sizing:border-box;} + +.submenu_wrap { padding:0; height:calc(100% - 70px); transition:all 0.3s; position:relative; text-align:left;} +/* .submenu_wrap::after { content:''; display:inline-block; width:calc(100% - 40px); z-index:-1; height:1px; background:#112b53; position:absolute; top:40px; left:20px; } + */ +.submenu_wrap ::-webkit-scrollbar-thumb {background:#ededed;} + +.submenu_wrap h2 { background:#112b53; text-align:center; padding:10px 0 25px; width:100%; display:inline-block; border-radius:0 0 30px; font-size:1.6em; box-shadow:0 5px 5px 0 rgba(141,143,222,0.3); font-weight:600; color:#fff;} +.submenu_wrap > ul { height:calc(100% - 140px); position:relative; padding:20px 0 20px 20px; overflow-y:auto; text-align:left; } +.submenu_wrap > ul > li { border-bottom:1px solid #e0ecfd; } +.submenu_wrap > ul > li:last-child { border-bottom:none; } + +.submenu_wrap > ul > li > a, +.submenu_wrap > ul > li > p { cursor:pointer; transition:transform 0.3s; font-weight:600; font-size:1.05em; opacity:0.6; transition:all 0.3s; padding:15px 10px 15px 0; display:block; width:100%; position:relative; } +.submenu_wrap > ul > li > a::after, +.submenu_wrap > ul > li > p::after { content:''; display:inline-block; transition:all 0.3s; width:10px; height:10px; background:url(../../images/custom/arrow_down.svg) 50% 50% no-repeat; background-size:10px 5px; position:absolute; top:50%; right:20px; } +.submenu_wrap > ul > li > a::after { transform:translateY(-50%) rotate(-90deg); } +.submenu_wrap > ul > li > p::after { transform:translateY(-50%) rotate(0deg); background-size:9px 7px; } + +.submenu_wrap > ul > li > a:hover, .submenu_wrap > ul > li > p:hover { opacity:1; text-decoration:none; } + +.submenu_wrap > ul > li.active > a, .submenu_wrap > ul > li.active > p { opacity:1; } + +.submenu_wrap > ul > li.on > p::after { transform:translateY(-50%) rotate(180deg); } + +.submenu_wrap ul li .depth3 { display:none; padding:10px 0 20px 15px; } +.submenu_wrap ul li .depth3 li { position:relative; padding:5px 0; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex;} +.submenu_wrap ul li .depth3 li::before { content:'-'; margin-right:10px; } +.submenu_wrap ul li .depth3 li a { font-size:1em; font-weight:400; color:#666; padding:0; width:auto; position:relative; display:inline-block; overflow:hidden; } +.submenu_wrap ul li .depth3 li a::after { content:''; display:inline-block; width:0%; height:1px; opacity:0; transition:all 0.3s; background:#333; position:absolute; bottom:3px; left:50%; transform: translateX(-50%); } +.submenu_wrap ul li .depth3 li.active a { color:#112b53; } +.submenu_wrap ul li .depth3 li:hover a { text-decoration:none; } +.submenu_wrap ul li .depth3 li.active a::after, .submenu_wrap ul li .depth3 li a:hover::after { opacity:1; width:100%; } + +/*popup*/ +.popup_content { width:100%; height:100%; } +.popup_header { width:100%; height:55px; border-bottom:1px solid #ccc; } + +/*오류페이지 +.errorWrap { width:100%; height:100%; background:#f1f1f1; text-align:center; position:relative; } +.errorBox { display:inline-block; padding:50px; border-radius:10px; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); background:#fff; } +*/ + +/*에러페이지*/ +.errorWrap { width:100%; height:100%; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; position:relative; background:#f5faff; justify-content:center; align-items:center;} +.errorWrap p.bg_text { display:none; font-size:40em; line-height:0.8em; width:100%; letter-spacing:-2px; opacity:0.6; z-index:0; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); color:#f3f0ff; font-weight:900;animation-delay:0.5s; animation: show 0.5s forwards; } +.errorBox { transition:all 0.3s; z-index:999; text-align:center; animation:error 0.5s forwards; } +.errorBox p { opacity:0; font-size:1.2em; color:#8697bd; } +.errorContent { width:500px; background:#fff; transition:all 0.5s; border-radius:20px; border:1px solid #d9e9ff; box-shadow:1px 4px 15px 0px rgb(141 143 222 / 20%); position:relative; z-index:1; text-align:center; padding:40px 30px; box-sizing:border-box; } +.errorContent:hover { box-shadow:1px 4px 15px 0px rgb(141,143,222,20%); border:1px solid #c5dcfb; } +.errorContent p { opacity:1; } +.errorContent p.name { opacity:0.8; } +.errorContent .title { font-size:20px; font-weight:600; margin-bottom:15px; color:#999; } +.errorContent .text { width:100%; font-size:14px; word-wrap:break-word; color:#666; line-height: 1.7em;} +.errorContent #text { width:100%; display:block; } +.errorWrap a { margin-top:30px; width:200px; padding:15px 0; position:relative; transition:all 0.3s; text-align:center; border-radius:50px; font-size:15px; font-weight:600; display:inline-block; color:#fff; background:#112b53; background:linear-gradient(135deg, rgba(0,19,51,1) 0%, rgba(11,55,128,1) 100%); } +.errorWrap a::after { content:''; display:inline-block; position:absolute; transition:all 0.3s; opacity:0; top:50%; transform:translateY(-50%); left:45px; width:10px; height:10px; background:url(../../images/admin/arrow_left_white.svg) 50% 50% no-repeat; background-size:contain; } +.errorWrap a:hover { text-decoration:none; } +.errorWrap a:hover::after { left:30px; opacity:1; } + +.blockUI.blockOverlay { -webkit-backdrop-filter: blur(.5em); backdrop-filter: blur(.5em); transition:all 0.5s; opacity:1 !important; background-color:rgba(0,0,0,0.5) !important; } +.blockUI.blockMsg.blockPage { top:50% !important; transform:translateY(-50%); } +.blockUI.blockMsg.blockPage::after { content:''; display:inline-block; width:70px; height:70px; background:url(../../images/admin/Ellipsis-1s-84px.svg) 50% 50% no-repeat; background-size:100%; } +.blockUI.blockMsg.blockPage img { display:none; } + +/*project list*/ +.project_wrap { width:100%; height:100%; padding:60px 40px 40px; background:url(../../images/admin/bg_project.jpg) 50% 50% no-repeat fixed; overflow-y:auto; background-size:cover; } +.add_list { float:right; width:37px; height:37px; background:url(../../images/admin/icon_plus.svg) 50% 50% no-repeat #fff; background-size:10px; text-indent:-5000px; margin:0 15px 15px 0; border-radius:3px; } +.add_list:hover { border:none; transform:scale(1.1); } + +.project_top_wrap .upload-name { height:38px; margin-right:3px; } +.project_top_wrap .filebox { border:1px solid #ccc; margin-right:7px; transition:all 0.3s; border-radius:3px; overflow:hidden; } +.project_top_wrap .filebox label { background:rgba(255,255,255,.3); transition:all 0.3s; border:none; color: #fff; margin:0; border-radius:0; } +.project_top_wrap .filebox label:hover { background:#fff; color:#333; } +.project_top_wrap .filebox .upload-name { background:rgba(255,255,255,.3); height:38px; color:#fff; margin:0; border:none; border-radius:0; border-right:1px solid #ccc; } +.project_top_wrap .filebox:hover { border:1px solid #fff; box-shadow: 0 0px 3px rgb(173,197,218,0.8); } + +.project_list { width:100%; margin-top:40px; } +.project_list::after { content:''; clear:both; display:block; } +.project_list h1 { color:#fff; float:left; font-weight:900; font-size:5em; text-transform:capitalize; margin-left:15px; } +.project_list ul { margin-top:30px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; flex-wrap:wrap;} +.project_list li { position:relative; background:#fff; width:calc(25% - 30px); margin:15px; transition:all 0.3s; border-radius:20px; height:150px; } +.project_list li:hover { background:#fff; border:1px solid #d2e1f7; box-shadow:0 0px 20px 0 rgba(0,0,0,.8); transform:scale(1.1); } +.project_list li:hover a { text-decoration:none; } +.project_list li a { width:100%; height:100%; color:#112b53; padding:0; text-align:center; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:center; align-items:center; } +.project_list li a .text_wrap { } +.project_list li a .text_wrap span { display:block; margin-bottom:13px; font-size:1.8em; font-weight:600; } +.project_list li a .text_wrap em { display:block; font-size:1.2em; color:#666; font-weight:500;} +.project_list li a .text_wrap em:last-child { margin-top:5px; display:block; color:#999; font-weight:400;} + +.phbtn_wrap { position:absolute; top:13px; right:10px; } +.btn_modify { text-indent:-5000px; position:relative; width:32px; height:32px;z-index:1; background:url(../../images/admin/icon_cog.svg) 50% 50% no-repeat; background-size:16px; } +.btn_modify::after { position:absolute; top:0; left:0; width:100%; height:100%;z-index:2;background:#fff;opacity:0.5;display:inline-block;content:'';transition:all .3s; } + +.btn_pin { text-indent:-5000px; position:relative; width:32px; height:32px; z-index:1; background:url(../../images/admin/icon_pin.svg) 50% 50% no-repeat; background-size:16px; } +.btn_pin::after { position:absolute; top:0; left:0; width:100%; height:100%;z-index:2;background:#fff;opacity:0.5;display:inline-block;content:'';transition:all .3s; } + +.project_list .btn_modify, .project_header .btn_modify, .project_header .btn_pin { border:none; } +.project_list .btn_modify:hover, .project_header .btn_modify:hover, .project_header .btn_pin:hover { opacity:1; border:none; box-shadow:none;} +.btn_modify:hover::after, .btn_pin:hover::after { opacity:0; } + +.project_list .btn_modify { position:absolute; top:10px; right:10px; } + +.btn_back { position:fixed; opacity:0.5; top:20px; left:50px; padding-left:15px; border:none; color:#fff !important; z-index:9; background:url(../../images/admin/arrow_left_white.svg) 0% 50% no-repeat; background-size:6px; } +.btn_back:hover { opacity:1; border:none; box-shadow:none; } + +.project_detail { width:100%; height:100%; background:#fff; border-radius:15px; overflow:hidden; position:relative; } +.project_left { border-right:1px solid #ced8e6; position:absolute; top:0; left:0; transition:all .3s; } +.project_left.wide { left:-140px; } +.project_right { border-left:1px solid #ced8e6; } +.project_member { border-left:1px solid #ced8e6; } +.pr_aside { width:140px; height:100%; background:#f7faff; float:left; } + +.project_center { height:100%; width:calc(100% - 140px); padding-left:140px; float:left; transition:all .3s;} +.project_center.wide { padding-left:0; } +.project_header { border-bottom:1px solid #e2ecfb; width:100%; padding:12px 15px 0; height:60px; position:relative; } +.btn_wide { width:20px; text-indent:-5000px; height:59px; float:left; position:absolute; top:0; left:0; border:none; border-right:1px solid #e2ecfb; background:url(../../images/admin/arrow_left.svg) 50% 50% no-repeat; background-size:5px;} +.btn_wide:hover { background:url(../../images/admin/arrow_left.svg) 50% 50% no-repeat; background-size:5px; border:none; border-right:1px solid #e2ecfb;} +.btn_wide.active { background:url(../../images/admin/arrow_right.svg) 50% 50% no-repeat; background-size:5px;} +.project_header strong { font-size:1.5em; float:left; line-height:2em; } +.project_center .project_header strong { padding-left:20px; } +.project_header .btn_add { text-indent:-5000px; width:35px; background:url(../../images/admin/icon_plus.svg) 50% 50% no-repeat #fff; background-size:10px; } + +.control_wrap { border:1px solid #d5dfff; padding:15px; border-radius:5px; background:#f7faff; margin-bottom:10px; transition:all .3s;} +.control_wrap:hover { border:1px solid #adbcd6; box-shadow:0 0 10px 0 rgba(116,113,169,0.2); } + +.control_wrap:last-child { margin-bottom:0; } +.control_header { font-size:1.3em; display:block; cursor:pointer; position:relative; } +.control_header strong { line-height:32px; font-size:1em; display:inline-block; float:left; margin-right:10px; color:#1b3f65; } +.control_wrap::after, .control_header::after { content:''; display:block; clear:both; } +.control_header .btn_arrow { width:35px; height:35px; } + +.control_box { display:none; padding:25px 15px 15px; } + +.control_title { padding:13px; font-size:1.2em; display:block; cursor:pointer; position:relative; } +.control_title::after { content:''; display:block; clear:both; } +.control_title strong { line-height:32px; font-size:1em; color:#17487d; display:inline-block; float:left; } +.btn_arrow { transition:background 0s; margin-left:2px; display:inline-block; width:32px; height:32px; transform:rotate(0deg); background:url(../../images/admin/arrow_down.svg) 50% 50% no-repeat #fff; background-size:10px; } +.btn_arrow:hover { border:1px solid #87a0cc; box-shadow:0 0 10px 0 rgba(116,113,169,0.2); } +.btn_arrow.open { background:url(../../images/admin/arrow_top.svg) 50% 50% no-repeat #fff; background-size:10px; border:1px solid #87a0cc; box-shadow:0 0 10px 0 rgba(116,113,169,0.2); } + +.control_title button { float:left; } + +.project_content { width:100%; padding:15px; height:calc(100% - 60px); overflow-y:auto; } +.project_control { width:100%; } +.project_control li { border:1px solid #d5dfff; background:#fff; border-radius:3px; overflow:hidden; transition:all 0.3s; margin-bottom:10px; } +.project_control li:hover { border:1px solid #adbcd6; box-shadow:0 0 10px 0 rgba(116,113,169,0.2); } +.project_control li.active { border:1px solid #adbcd6; box-shadow:0 0 10px 0 rgba(116,113,169,0.2); } +.project_control li .inner { padding:5px 20px 20px; background:#fff; display:none; } +.project_control li ul { background:#fff; } +.project_control li ul li { margin-bottom:15px; transition:all 0.3s; } +.project_control li ul li .control_title { } +.project_control li:last-child, .project_control li ul li:last-child { margin-bottom:0px; } +.project_control li ul li .inner { padding:20px; background:#f7faff; border-top:1px solid #d5dfff; } +.project_control .on { border:1px solid #6e91b9; background:#d3eaff; } + +.table_wrap { border:1px solid #aab8e6; margin-bottom:10px; background:#fff; border-radius:3px; overflow:hidden; } +.table_wrap .control_title { padding-left:0; } + +.table_header { padding:7px 7px 7px 13px; border-bottom:1px solid #d5dfff; } +.table_header strong { line-height:32px; font-size:1.2em; } +.table_content { padding:15px; } +.table_footer { text-align:right; padding:7px; border-top:1px solid #d5dfff; } + +.inner .table_wrap:last-child { margin-bottom:0; } + +.control_list { } +.control_list li .btn_m { padding:0; font-size:12px; letter-spacing:0; } +.control_list li { margin-bottom:5px; } +.control_list li.on .btn_m { border:1px solid #6e91b9; background:#d3eaff; } + +.select_date { display:inline-block; border:1px solid #ccc !important; border-radius:2px !important; padding-left:10px; height:33px !important; position:relative; background:url(../../images/admin/icon_calendar.svg) calc(100% - 8px) 50% no-repeat #fff !important; background-size:20px !important; transition:all .5s ease-in-out; } +.select_date:hover { border:1px solid #666; } +em.between { line-height:35px; margin:0 4px; display:inline-block; float:left; } +.datepicker_wrap input[type="text"].select_date { border:none !important; height:33px !important; } + +/*제품등록*/ +/*제품등록*/ +.sell_info_wrap { width:100%; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; margin-bottom:70px; } + +.img_up { width:100%; } +.main_img_wrap { position:relative; } +.main_img_wrap .main_img { width:100%; height:260px; border-radius:10px; } +.main_img_wrap .btn_delete { position:absolute; top:10px; right:10px; z-index:2; border:none; } + +.thumb_wrap { width:100%; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; flex-wrap: wrap; margin:0 -5px; } +.thumb_wrap > li { width:100px; height:100px; padding-bottom:0 !important; margin:5px; position:relative; transition:all 0.3s; border-radius:20px; border:1px dashed #ccc; overflow:hidden;} +.thumb_wrap > li:hover { box-shadow:0 0 10px 0 rgba(0,0,0,0.5); border:1px solid #333; } + +.thumb_wrap > li .thumb_img { width:100%; height:100%; border-radius:5px; background-position:50% 50%; } +.thumb_wrap > li .btn_delete { position: absolute; top:7px; right:7px; z-index:3; border-radius:10px; width:25px; height:25px; border:1px solid #ccc; } +.thumb_wrap > li .btn_delete:hover { border:1px solid #ccc; box-shadow:none; } + +.thumb_wrap > li.main .btn_main { background:#007dc3; bottom:0; } +.thumb_wrap > li .btn_main { width:100%; border-radius:5px; background:#666; color:#fff; border:none; font-size:0.8em; font-weight:400; padding:3px 0; display:inline-block; text-align:center; position:absolute; bottom:-100%; left:0; } +.thumb_wrap > li:hover .btn_main { bottom:0; } + +.btn_imgup { width:100%; height:100%; padding:0; overflow:hidden; position:relative; border:none; } +.btn_imgup::after { content:''; position:absolute; display:inline-block; width:50px; height:50px; top:50%; left:50%; transform:translate(-50%, -50%); background:#333; border-radius:50px; transition:all 0.3s; pointer-events: none; } +.btn_imgup img { position:absolute; display:inline-block; width:30px; height:30px; top:50%; left:50%; transform:translate(-50%, -50%); z-index:2; } +.btn_imgup:hover::after { width:200%; height:200%; } + +.btn_imgup input[type="file"] { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip:rect(0,0,0,0); border: 0; } +.btn_imgup label { width:100%; height:100%; display:block; position:absolute; top:0; left:0; } + +.sell_info { width:calc(100% - 450px); } + +.compatible { width:100%; } + +.compatible_type { margin-bottom:20px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: space-between; } +.compatible_type ul { border:1px solid #ddd; display:inline-block; border-radius:5px; overflow:hidden; } +.compatible_type ul li { border-right:1px solid #ddd; display:inline-block; float:left; position:relative; } +.compatible_type ul li:hover { background:#f1f1f1; } +.compatible_type ul li:last-child { border-right:none; } +.compatible_type ul li label { width:150px; height:40px; background:#fff; display:inline-block; text-align:center; line-height:38px; } +.compatible_type ul li label::after, .compatible_type ul li label::before { display:none; } +.compatible_type ul li input[type='radio'] { position:absolute; top:0; left:0; width:100%; height:40px; z-index:-1; } +.compatible_type ul li input[type='radio']:checked + label { background:#144e9b; color:#fff; } + +.compatible .search_detail { width:calc(100% - 30px); margin-bottom:0; padding:10px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:space-between; box-shadow:0 0 5px 0 rgba(0,0,0,0.1); border-radius:8px; align-items:center; position:absolute; top:15px; left:15px; background:#fff; border:1px solid #cecece; overflow:hidden; } +.compatible .search_detail ul { box-shadow:none; border:none; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; padding:0; } +.compatible .search_detail ul li { width:250px; border-radius:0; padding:0; margin:0 3px 0 0; border:none; box-shadow:none; } +.compatible .search_detail ul li:hover { } +.compatible .search_detail .selectText { width:100%; height:40px; padding:0 10px; margin-right:0; border:1px solid #ccc !important; border-radius:5px; } +.compatible .search_detail .btn_s { height:40px; border:1px solid #ccc !important; } +.compatible .search_detail .selectText:hover { border:1px solid #666 !important; } +.compatible .search_detail ul li:hover { border:none; } + +.carmodel_list_wrap { width:100%; height:600px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; border:1px solid #ddd; background:#f9f9f9; border-radius:5px; overflow:hidden; } +.carmodel_list { padding:77px 0px 0; height:100%; width:66.66%; position:relative;} +.carmodel_list ul { display:block; height:100%; overflow-y:auto; padding:10px; } +.carmodel_list ul::after { content:''; display:block; clear:both; } +.carmodel_list ul li { width:calc(50% - 10px); float:left; cursor:pointer; position:relative; border:1px solid #e0e0e0; /*box-shadow:0 0 10px 0 rgba(0,0,0,0.1);*/ padding:15px; margin:5px; border-radius:10px; transition:all 0.3s; background:#fff; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:space-between;align-items:center;flex-direction:row;} +.carmodel_list ul li:hover { border:1px solid #666; box-shadow:0 0 10px 0 rgba(0,0,0,0.1); } +.carmodel_list ul li .text { width:calc(100% - 100px); display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } +.carmodel_list ul li p.brand { margin-right:5px; font-size:0.8em; border:1px solid #144e9b; color:#144e9b; border-radius:30px; line-height:1em; padding:5px 7px 3px; } +.carmodel_list ul li p.subtit { display:inline-block; color:#333; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } +.carmodel_list ul li p { color:#666; } +.carmodel_list ul li.active { border:1px solid #666; box-shadow:0 0 30px 0 rgba(0,0,0,0.1); } +.carmodel_list ul li .btn_plus { display:inline-block; width:25px; height:25px; position:absolute; right:15px; top:15px; } + +/*연식입력*/ +.addYear { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; transition:all 0.3s; overflow:hidden; border-radius:5px; border:1px solid #c7c7c7; box-shadow:2px 3px 5px 0 rgba(146,146,146,0.4);} +.addYear p { margin-right:10px; margin-bottom:0 !important; } +.addYear .btn_ss { height:24px; padding:0 5px; font-size:0.8em; border:none; box-shadow:none; background:#eaeaea; border-radius:0; } +.addYear .onlyNumber { width:45px; height:24px; border-radius:0; padding:0 5px; margin-right:0; border:none; box-shadow:none; } +.addYear .onlyNumber:hover { border:none; } +.addYear:hover { border-color:#666; } + +.carmodel_list.selected { border-top:none; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; } + +.carmodel_box { border-left:1px solid #ddd; border-top:none; padding:10px; height:100%; width:33.33%; overflow-y: auto; } +.carmodel_box ul { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; flex-wrap:wrap; } +.carmodel_box ul li { width:100%; height:auto; position:relative; border:1px solid #e0e0e0; box-shadow:0 0 20px 0 rgba(0,0,0,0.1); padding:15px 15px 10px; margin:5px; border-radius:10px; transition:all 0.3s; background:#fff; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start;align-items:center;align-items: flex-start;flex-direction: column;} +.carmodel_box ul li p.brand { margin-bottom:7px; font-size:0.8em; border:1px solid #144e9b; color:#144e9b; border-radius:30px; line-height:1em; padding:4px 7px 3px; } +.carmodel_box ul li p.subtit { display:block; margin-bottom:3px; color:#333; font-weight:600; width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } +.carmodel_box ul li p { color:#666; } +.carmodel_box ul li .btn_delete { display:inline-block; width:25px; height:25px; position:absolute; border:none; top:8px; right:8px; } +.carmodel_box ul li .btn_delete:hover { box-shadow:none; } + +.carmodel_list li.nothing, .carmodel_box li.nothing { cursor:auto; width:100%; padding:0 !important; margin:0 !important; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; justify-content:center; line-height:30px; color:#999;font-weight:400; background:none; text-align:center; border:none; box-shadow:none; } +.carmodel_list li.nothing { height:480px; } +.carmodel_box li.nothing { height:558px; } +.carmodel_list li.nothing:hover, .carmodel_box li.nothing:hover { box-shadow:none; border:none; } +.carmodel_list li.nothing p, .carmodel_box li.nothing p { color:#999; } +.carmodel_list li.nothing p.nothing::before, .carmodel_box li.nothing p.nothing::before { margin-bottom:10px; width:50%; height:50px; } +.carmodel_list li.nothing.active { border:none; background:none; box-shadow:none; font-weight:400; } +.carmodel_list li.nothing.active::before { display:none; } + +/*연식입력*/ +.addYear { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: flex-start; } +.addYear p { margin-right:10px; margin-bottom:0 !important; } +.addYear .btn_ss { height:24px; padding:0 5px; font-size:0.8em; } +.addYear .onlyNumber { width:45px; height:24px !important; border-radius:2px; padding:0 5px; margin-right:2px; } + +.toggle_list .carmodel_box { background:#f9f9f9; border:none; padding:20px; border-top:1px solid #ededed; } + +/*마켓 사용자페이지 호환차종 디자인*/ +.market_info .carmodel_list { background:none; border:none; border-bottom:1px solid #ededed; border-top:2px solid #333; padding:20px 15px; } +.market_info .carmodel_list ul li { flex-direction:row; border-radius:5px; padding:15px; width:auto;flex-wrap: wrap; } +.market_info .carmodel_list ul li.nothing { width:100%; } +.market_info .carmodel_list ul li p { line-height:1em; font-size:1em; font-weight:600; padding:0; width:auto;color:#333; } +.market_info .carmodel_list ul li p.subtit { width:auto; line-height:1em; margin-bottom:0; } +.market_info .carmodel_list ul li p.brand { margin-bottom:0; border:none; margin-right:5px; } +.market_info .carmodel_list ul li p.year { width:100%; color:#999; margin-top:10px; font-size:0.9em; font-weight:400; } + +.market_category { border-bottom:1px solid #ccc; margin:30px 0 50px; } +.market_category ul { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:center; } +.market_category li a { font-size:1.1em; padding:20px 50px; display:block; position:relative; font-weight:600; } +.market_category li:hover a { font-weight:600; color:#333; } +.market_category li.active { font-weight:900; } +.market_category li.active a::after { content:''; display:inline-block; width:100%; height:3px; border-radius:3px 3px 0 0; background:#0081c8; position:absolute; bottom:0; left:50%; transform: translateX(-50%); } + +.sorting { margin-top:10px; } +.sorting ul { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: flex-start; } +.sorting ul li { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items: center; line-height:1em; } +.sorting ul li { cursor: pointer; } +.sorting ul li:hover { font-weight:600; } +.sorting ul li::after { content:''; display:inline-block; width:1px; height:17px; margin:0 10px; background:#ccc; } +.sorting ul li:last-child::after { display:none; } +.sorting ul li.active, .sorting ul li.active:hover { font-weight:900; } + +.sorting_wrap .right { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-end; } +.sorting_wrap .detail_search { position:relative; margin-left:5px; } +.detail_search .floating { opacity:0; pointer-events: none; position:absolute; top:70px; right:0; z-index:1; transition:all 0.3s; width:400px; padding:20px; background:#fff; border:1px solid #cacaca; border-radius:15px; box-shadow:0 0 10px 0 rgba(0,0,0,0.2); } +.detail_search .floating_close { position:absolute; top:10px; right:10px; z-index:9; } +.detail_search .floating .btn_m { margin-top:10px; } +.detail_search .floating label { margin-right:10px; } +.detail_search .input_box { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:space-between; } +.detail_search .input_box em { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items: center; margin:0 5px; } +.btn_detailsearch { height:40px; padding-left:50px; background:url(../../images/custom/icon_search_detail.svg) 20px 50% no-repeat; background-size:15px; } + +.detail_search.active .floating { opacity:1; top:50px; pointer-events: auto; } +.detail_search.active .btn_detailsearch { border-color:#666; box-shadow:0 0 10px 0 rgba(0,0,0,0.3); } + + +/*제품 마켓 상품 리스트*/ +.market_list { } +.market_list .product { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; flex-wrap:wrap; margin:0 -10px; } +.market_list .product li { width:calc(20% - 20px); margin:10px 10px 35px; position:relative; z-index:0; } +.market_list .product li .item_img { width:100%; height:200px; background-color:#f7f7f7; background-size:auto; border-radius:15px; border:1px solid transparent; transition:box-shadow 0.5s, border 0.5s;} +.market_list .product li .item_img:hover { box-shadow:0 0 30px 0 rgba(0,0,0,0.3); border:1px solid #ddd; } +.market_list .product li .item_text { margin-top:25px; } +.market_list .product li .item_text a { font-size:1em; margin-bottom:10px; display:block; } +.market_list .product li .item_text .price { font-size:1.8em; font-weight:900; letter-spacing: -1px; } +.market_list .product li .item_text .price em { font-size:0.6em; font-weight:400; margin-left:2px; } +.market_list .product li .item_text .state { margin-bottom:10px; text-transform: uppercase; font-weight:900; font-size:0.9em;} +.market_list .product li .item_text .state .new { color:#0561d2; } +.market_list .product li .item_text .state .best { color:#ff6600; } +.market_list .product li .edit_wrap { margin-top:20px; } +.market_list .product li .edit_wrap button { margin-right:3px; } + +.market_list { } +.market_list .tech { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; flex-wrap:wrap; margin:0 -10px; } +.market_list .tech li { width:calc(20% - 20px); margin:10px; position:relative; z-index:0;} +.market_list .tech li a:hover { box-shadow:0 0 30px 0 rgba(0,0,0,0.3); } +.market_list .tech li a { width:100%; height:100%; display:block; padding:30px; position:relative; border:1px solid transparent; background:#edf4f9; transition: box-shadow 0.5s; border-radius:15px; overflow:hidden; } +.market_list .tech li .item_img:hover { box-shadow:0 0 30px 0 rgba(0,0,0,0.3); border:1px solid #ddd; } + +.market_list .tech li .item_text { position:absolute; bottom:30px; left:30px; } +.market_list .tech li .category { line-height:1em; display:inline-block; padding:7px 13px; background:#093b80; color:#fff; border-radius:20px; } +.market_list .tech li strong { display:block; margin-top:15px; font-size:1.2em; color:#03336f; line-height: 1.6em; } +.market_list .tech li .edit_wrap { margin:15px 0; } +.market_list .tech li .edit_wrap button { margin-right:3px; } + +.mypage .market_list .tech li { margin:10px 10px 30px; } + +.contain { position:absolute; top:20px; right:20px; } +.contain button { margin-left:5px; width:30px; height:30px; text-indent:-5000px; border:none; position:relative; z-index:3;} +.contain button:hover { transform:scale(1.3); } +.btn_cart { background:url(../../images/custom/icon_cart.svg) 50% 50% no-repeat; background-size:15px; } +.btn_love { background:url(../../images/custom/icon_love.svg) 50% 50% no-repeat; background-size:15px; } + +.btn_cart { background:url(../../images/custom/icon_cart.svg) 50% 50% no-repeat; background-size:15px; } +.btn_love.active { background:url(../../images/custom/icon_love_active.svg) 50% 50% no-repeat; background-size:15px; } + +/*마켓 상세*/ +.market_view_wrap { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; } +.item_info_wrap { width:calc(100% - 500px); } + +.wrap .sub_tit { margin-bottom:30px } +.wrap .sub_tit a { text-decoration:underline; font-weight:600; } + +.pic_main { width:100%; position:relative; padding-bottom:100px; } + +.thumb_list { position:absolute; top:0; left:0; width:100px; } +.thumb_list li { width:60px; height:60px; flex-direction: column; margin-bottom:10px; border:1px solid #ccc; border-radius:5px; overflow:hidden; cursor:pointer; background-color:#fff; opacity:0.8;} +.thumb_list li .bg_box { width:100%; height:100%; background-size:90%; } +.thumb_list li.active { opacity:1; border:1px solid #666; } + +.img_frame { width:calc(100% - 100px); margin-left:100px; height:400px; } +.img_frame .bg_box { width:100%; height:100%; background-size:contain; } + +.pic_sub { margin-bottom:70px; position:relative; } +.pic_mask { width:100%; height:500px; overflow: hidden; border-bottom:1px solid #ccc; } +.pic_mask.show { height:auto; } + +.pic_sub button { position:absolute; bottom:-25px; left:50%; transform: translateX(-50%); background-color:#fff; } + +.market_category.fix { position:fixed; top:0; z-index:2; margin-top:0; background:#fff; width:900px;} + +.condition span { display:inline-block; padding:6px 0; color:#fff; line-height:1em; font-size:11px; border-radius:3px; width:55px; } +.condition .condit1 { background:#e8f6fd; border:1px solid #9bc3da; color:#007dc3; } /*blue*/ +.condition .condit2 { background:#f7f7f7; border:1px solid #d0d0d0; color:#828282; } /*lighgray*/ +.condition .condit3 { background:#fdeaea; border:1px solid #ffb3b3; color:#b74444; } /*pink*/ +.condition .condit4 { background:#f7f7f7; border:1px solid #d0d0d0; color:#828282; } /*gray*/ +.condition em { display:inline-block; color:#666; margin-left:10px; font-size:.8em; text-decoration:underline; position:relative; z-index:5;} +.condition em:hover { color:#000; } + +.title_option_wrap { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; } +.title_option_wrap h4 { margin-bottom:0; } +.title_option { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-end; align-items:center; } +.title_option.up { margin-top:-5px; } +.title_option label { display:inline-block; font-weight:600; } +.title_option select { } +.copy_regist { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:space-between; width:50%; align-items:center;} +.copy_regist .select_wrap { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; align-items:center; width:calc(100% - 150px); } +.copy_regist .must_text { margin:0; } + +.ctg_wrap { width:calc(50% - 10px); border:1px solid #d5dfff; height:100%; border-radius:5px; overflow:hidden; } +.ctg_wrap:first-child { margin-right:20px; } + +.ctg_title { padding:15px; border-bottom:1px solid #d5dfff; background:#f6f8ff; } + +.ctg_content { padding:15px; height:calc(100% - 109px); overflow-y:auto; } +.ctg_content li { background:#fff; border-radius:3px; border:1px solid #ddd; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:space-between; align-items:center; padding:5px; opacity:0.8; transition:all 0.3s; margin-bottom:5px; } +.ctg_content li:last-child { margin-bottom:0; } +.ctg_content li p { width:calc(100% - 190px); font-weight:600; padding-left:5px; } +.ctg_content li.active { opacity:1;background:#fff;border-color:#999; box-shadow:0 0 10px 0 rgba(0,0,0,0.2); } +.ctg_content li p input[type='text'] { margin-left:-5px; } + +.switch_wrap { line-height:1em; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: space-between; align-items:center; position:relative;} +.switch_wrap > em { margin-right:10px; } + +input[type='checkbox'].switch { content:''; width:40px; height:25px; position:relative; } +input[type='checkbox'].switch::after { content:''; width:40px; height:25px; border:2px solid #ccc; background:#fff; border-radius:50px; position:relative;transform:translateY(-2px); display:inline-block; } +input[type='checkbox'].switch::before { content:''; width:16px; height:16px; z-index:1; border-radius:20px; border:none; background:#ccc; display:inline-block; transition:all 0.3s; opacity:1; position:absolute; top:50%; left:6px; right:auto; transform:translateY(-50%); } +input[type='checkbox'].switch:checked::after { border-color:#0eb139eb; } +input[type='checkbox'].switch:checked::before { left:auto; right:2px; background:#0eb139eb; } + +/* input[type='checkbox'].switch {left:0; top:0; width:40px; height:25px; opacity:1; margin:0; z-index:0; position:absolute; cursor:pointer;} +input[type='checkbox'].switch + label { width:40px; height:25px; border:2px solid #ccc; background:#fff; border-radius:50px; z-index:1; position:relative;display:inline-block;} +input[type='checkbox'].switch + label::after { content:''; width:16px; height:16px; border-radius:20px; border:none; background:#ccc; display:inline-block; transition:all 0.3s; opacity:1; position:absolute; top:50%; left:3px; right:auto; transform:translateY(-50%); } +input[type='checkbox'].switch:hover + label::after { border:none; } +input[type='checkbox'].switch:checked + label::after {border:none;} +input[type='checkbox'].switch:disabled + label::after { border:none;} +input[type='checkbox'].switch:checked + label { border-color:#0eb139eb; } +input[type='checkbox'].switch:checked + label::after { left:auto; right:3px; transition:all 0.3s; background:#0eb139eb; } +input[type='checkbox'].switch + label::before { display:none; } */ + +.ctg_add { padding:10px; border-top:1px solid #d5dfff; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: space-between; background:#f6f8ff;} +.ctg_add .inputText { width:calc(100% - 62px); } +.ctg_add .btn_m { width:60px; } + +.tit_wrap { width:100%; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; justify-content:space-between; margin-bottom:10px;} +.tit_wrap .title { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; justify-content:flex-start; } +.tit_wrap h4 { margin-bottom:0; } +.tit_wrap .must_text { margin-bottom:0; } +.copy_insert { width:500px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; justify-content:flex-start; margin-left:20px; height:35px; border-radius:3px; border:1px solid #ccc; } +.copy_insert strong { width:100px; height:100%; line-height:33px; text-align:center; border-right:1px solid #ccc; } +.copy_insert .selectText { margin-left:0; width:calc(100% - 100px); border:none; height:100%; } + +/*설문응답현황*/ +.question_list_wrap { margin-top:30px; } +.question_list_wrap > ul > li { border:1px solid #d5dfff; margin-bottom:10px; border-radius:10px; overflow:hidden; } +.question_list_wrap > ul > li:last-child { margin-bottom:0; } + +.question_list .q_header { border-bottom:1px solid #d5dfff; padding:15px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; aling-items:center; background:#f6f8ff; } +.question_list .q_type { border:1px solid #d5dfff; padding:5px 10px; line-height:1em; border-radius:30px; background:#fff; margin-right:10px; display:inline-block; } +.question_list .g_title { color:#224173; font-size:1em; } +.question_list .q_list { padding:0 20px; } +.question_list .q_list li { display:block; border-bottom:1px dashed #d5dfff; padding:15px 0 15px 15px; position:relative; } +.question_list .q_list li:last-child { border-bottom:none; } +.question_list .q_list .tit { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; align-items:center; } +.question_list .q_list .tit button { margin-left:10px; height:24px; padding:0 5px; font-size:11px; } +.question_list .q_list .mem { font-weight:600; letter-spacing:-1px; position:absolute; right:10px; top:14px; } +.question_list .q_list .mem em.per { margin:0 2px; letter-spacing:0; } + +.subQ { padding-left:200px; } +.subQ .calc175 { width:calc(100% - 79px); } + +/*bar*/ +.question_list .q_list li .bar { max-width:calc(100% - 110px); height:35px; background:#e6f0ff; content:''; z-index:-1; position:absolute; top:9px; left:0px; border-radius:5px; } + +.ansewr_list li { border:1px solid #e7ebf9; background:#f6f8ff; margin-bottom:25px; border-radius:5px; padding:20px; position:relative; } +.ansewr_list li:last-child { margin-bottom:0; } +.ansewr_list .say::after { position:absolute; bottom:-12px; right:20px; content:''; display:inline-block; width:12px; height:12px; background:url(../../images/custom/icon_textbox.svg) 50% 50% no-repeat; background-size:contain; } + +.ansewr_list li.nothing { border:1px solid #ededed; background:#f9f9f9; text-align:center; color:#999; } + +.title_wrap { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; } +.title_wrap h4 { margin-bottom:0; } + +@-webkit-keyframes appear { +from { opacity: 0; -webkit-transform: translate(-50%,-30%); transform: translate(-50%,-30%); } +to { opacity: 1; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); } +} +@keyframes appear { +from { opacity: 0; -webkit-transform: translate(-50%,-30%); transform: translate(-50%,-30%); } +to { opacity: 1; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); } +} +@-webkit-keyframes error { +from { opacity: 0; -webkit-transform: translateY(30%); transform:translateY(30%); } +to { opacity: 1; -webkit-transform:translateY(0%); transform:translateY(0%); } +} +@keyframes error { +from { opacity: 0; -webkit-transform: translateY(30%); transform:translateY(30%); } +to { opacity: 1; -webkit-transform:translateY(0%); transform:translateY(0%); } +} +@-webkit-keyframes show { +from { opacity: 0; } +to { opacity: 1; } +} +@keyframes show { +from { opacity: 0; } +to { opacity: 1; } +} + + +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active { color:#999 !important; background:#fff !important; border:none !important; } +.ui-datepicker table { padding:.4em !important;margin:0 !important; width:100%; } +.ui-widget.ui-widget-content { padding:0; border:1px solid #999 !important; box-shadow:0 0 15px 0 rgba(0,0,0,0.3); border-radius:5px;} +.ui-datepicker .ui-datepicker-header { height:32px; padding:0.5em 0; border-radius:5px 5px 0 0; background:#f1f1f1; border:none; border-bottom:1px solid #ddd; } +.ui-datepicker td span, .ui-datepicker td a { text-align:center !important; width:25px; height:25px; } +.ui-datepicker th { font-weight:400 !important; font-size:0.9em; } +.ui-datepicker .ui-datepicker-title select { border:1px solid #ccc; height:25px; margin:1px !important; border-radius:2px; background:url(../../images/custom/arrow_down.svg) calc(100% - 6px) 50% no-repeat #fff; background-size:8px !important;} +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover { border:none !important; background:#144e9b !important; border-radius:30px; color:#fff !important; } +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight { color:#144e9b !important; font-weight:600 !important; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { width:30px !important; height:30px !important; border:none; } +.ui-datepicker .ui-datepicker-prev:hover, .ui-datepicker .ui-datepicker-next:hover { border:none; top:2px; background:none !important; } +.ui-datepicker .ui-datepicker-prev:hover { left:2px; } +.ui-datepicker .ui-datepicker-next:hover { right:2px; } + +/* 일자리포털 */ +/*튜닝컨설팅 일정*/ +.calendar_control { position:absolute; left:50%; transform:translateX(-50%); } +.calendar_control ul { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; justify-content:center; } +.calendar_control ul li { float:left; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center;} +.calendar_control ul li p { border:1px solid #ccc; padding:2px 10px; margin-top:3px; margin-right:5px; border-radius:30px; font-size:0.9em; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; } +.calendar_control ul li p::before { width:5px; height:5px; border-radius:50px; content:''; display:inline-block; background:#666; margin-right:5px; } +.calendar_control ul li p.appY { border-color:#9dd2e4; color:#144E9B; background:#e8f9ff; } +.calendar_control ul li p.appY::before { background:#144E9B; } +.calendar_control ul li p.appN { background:#f9f9f9; } +.calendar_control ul li .btn_img { background-size:25% !important; } +.calendar_control ul li .selectText { height:32px; padding:0 10px; margin:0 5px; } + +.board_header .calendar_control { position:static; transform:none; } + +.calendar_info { margin-bottom:15px; } +.calendar_info ul { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; flex-wrap:wrap; justify-content:space-between; } +.calendar_info ul li p { border:1px solid #ccc; padding:2px 10px; margin-right:5px; border-radius:30px; font-size:0.9em; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; } +.calendar_info ul li p::before { width:5px; height:5px; border-radius:50px; content:''; display:inline-block; background:#666; margin-right:5px; } +.calendar_info ul li p.appY { border-color:#9dd2e4; color:#144E9B; background:#e8f9ff; } +.calendar_info ul li p.appY::before { background:#144E9B; } +.calendar_info ul li p.appN { background:#f9f9f9; } +.calendar_info ul li .btn_s { height:28px; border-radius:5px; } + +.month_info { } +.month_info .month_article { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; margin:0 5px; } +.month_info .month_article button { border:none; box-shadow:none; opacity:0.7; } +.month_info .month_article button:hover { opacity:1; } +.month_info strong { margin:0 15px; } + +.calendar_control ul li p.bg01 { border-color:#fbc8c8; color:#ea6b6b; background:#fff1f1; } /*신청가능*/ +.calendar_control ul li p.bg01::before { background:#ea6b6b; } +.calendar_control ul li p.bg02 { border-color:#ead31b; color:#bd970d; background:#fffad5; } /*항목*/ +.calendar_control ul li p.bg02::before { background:#bd970d; } +.calendar_control ul li p.bg03 { border-color:#afe2af; color:#5ba55a; background:#f0f9f0; } /*항목*/ +.calendar_control ul li p.bg03::before { background:#5ba55a; } +.calendar_control ul li p.bg04 { border-color:#9dd2e4; color:#144E9B; background:#e8f9ff; } /*항목*/ +.calendar_control ul li p.bg04::before { background:#144E9B; } +.calendar_control ul li p.bg05 { border-color:#c7c7c7; color:#666; background:#f9f9f9; } /*신청마감*/ +.calendar_control ul li p.bg05::before { background:#666; } + +.calendar.month { width:100%; border-top:1px solid #ededed; border-left:1px solid #ededed; } +.calendar.month .cal_header .day_wrap { background:#f4f4f4; } +.calendar.month .cal_header .day_wrap li { min-height:0; text-align:center; padding:15px 0; } +.calendar.month .day_wrap { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; } +.calendar.month .day_wrap li { width:14.28%; border-right:1px solid #ededed; border-bottom:1px solid #ededed; padding:35px 20px 20px; min-height:150px; overflow:hidden; position:relative; } +.calendar.month .day_wrap li em { position:absolute; top:10px; right:10px; font-size:0.8em; color:#999; cursor:pointer;} +.calendar.month .day_wrap li.today em { background:#143b84; color:#fff; width:20px; height:20px; text-align:center; line-height:20px; border-radius:24px; } +.calendar.month .day_wrap li:first-child em, .calendar.month .cal_header .day_wrap li:first-child { color:#C4171A; } +.calendar.month .day_wrap li:last-child em, .calendar.month .cal_header .day_wrap li:last-child { color:#144E9B; } +.empty { background:#f9f9f9; } +.schedule_wrap { max-height:none; } +.calendar.month .day_wrap li.long .schedule_wrap { max-height:94px; overflow:hidden; } +.calendar.month .day_wrap li.long .schedule_wrap::after { width:100%; height:80px; content:''; display:block; position:absolute; left:0; bottom:0; z-index:1; background: rgb(255,255,255); +background: -moz-linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); +background: -webkit-linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); +background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.8) 30%, rgba(255,255,255,0) 100%);} + +.calendar.month .day_wrap li button.clickmore { padding:3px 10px; font-size:0.9em; border-radius:50px; text-align:center; color:#007dc3; border:1px solid #007dc3; width:calc(100% - 40px); position:absolute; bottom:20px; left:20px; } +.calendar.month .day_wrap li button.clickmore::before { display:none; } + +.calendar.month .day_wrap li button { border:1px solid #ccc; width:100%; padding:1px 10px 1px 20px; font-size:0.8em; border-radius:30px; margin-bottom:3px; position:relative; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; z-index:1; } +.calendar.month .day_wrap li button::before { width:5px; height:5px; border-radius:50px; content:''; display:inline-block; background:#666; position:absolute; top:50%; transform: translateY(-50%); left:10px; } +.calendar.month .day_wrap li button.appY::before { background:#144E9B; } +.calendar.month .day_wrap li button:last-child { margin-bottom:0; } +.calendar.month .day_wrap li .appY { border-color:#9dd2e4; color:#144E9B; background:#e8f9ff; } +.calendar.month .day_wrap li .appN { background:#f9f9f9; } + +.calendar.month .day_wrap li .bg01 { border-color:#fbc8c8; color:#ea6b6b; background:#fff1f1; } /*신청가능*/ +.calendar.month .day_wrap li .bg01::before { background:#ea6b6b; } +.calendar.month .day_wrap li .bg02 { border-color:#ead31b; color:#bd970d; background:#fffad5; } /*항목*/ +.calendar.month .day_wrap li .bg02::before { background:#bd970d; } +.calendar.month .day_wrap li .bg03 { border-color:#afe2af; color:#5ba55a; background:#f0f9f0; } /*항목*/ +.calendar.month .day_wrap li .bg03::before { background:#5ba55a; } +.calendar.month .day_wrap li .bg04 { border-color:#9dd2e4; color:#144E9B; background:#e8f9ff; } /*항목*/ +.calendar.month .day_wrap li .bg04::before { background:#144E9B; } +.calendar.month .day_wrap li .bg05 { border-color:#c7c7c7; color:#666; background:#f9f9f9; } /*신청마감*/ +.calendar.month .day_wrap li .bg05::before { background:#666; } + +/*.calendar.month .day_wrap li button.day2 { width:calc(200% + 41px); } +.calendar.month .day_wrap li button.day3 { width:calc(300% + 82px); } +.calendar.month .day_wrap li button.day4 { width:calc(400% + 123px); } +.calendar.month .day_wrap li button.day5 { width:calc(500% + 164px); } +.calendar.month .day_wrap li button.day6 { width:calc(600% + 205px); } +.calendar.month .day_wrap li button.day7 { width:calc(800% + 87px); } +.calendar.month .day_wrap li.push1 { padding-top:63px; } +.calendar.month .day_wrap li.push2 { padding-top:91px; } +.calendar.month .day_wrap li.push3 { padding-top:119px; } +.calendar.month .day_wrap li.push4 { padding-top:147px; } +.calendar.month .day_wrap li.push5 { padding-top:175px; } +.calendar.month .day_wrap li.push6 { padding-top:203px; } +.calendar.month .day_wrap li.push7 { padding-top:231px; } +.calendar.month .day_wrap li.push8 { padding-top:259px; } +.calendar.month .day_wrap li.push9 { padding-top:287px; }*/ + +.calendar.week { width:100%; border:1px solid #ededed; padding:5px; } +.calendar.week .day_wrap { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; } +.calendar.week .day_wrap li { width:14.28%; padding:10px; text-align:center; position:relative; } +.calendar.week .day_wrap li button { padding:10px; width:100%; background:#bee2f7; border:1px solid #9fcde8; border-radius:5px; cursor: pointer;} +.calendar.week .day_wrap li button:hover { background:#a7d7f3; border-color:#9fcde8; } +.calendar.week .day_wrap li button:disabled {background:#f1f1f1; border:1px solid #dedede; } +.calendar.week .day_wrap li.active button { background:#0b5fa7; border-color:#054b88; color:#fff; } + + +/* The Modal (background) */ +.modal { opacity:0; visibility:hidden; position:fixed; z-index:9999; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.8); transition:all 0.3s; -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);} +.modal.open { opacity:1; visibility:visible; } + +/* Modal Content/Box */ +.modal_wrap { width:100%; height:100%; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:center; align-items:center; } +.modal_box { opacity:0; background:#fff; width:50%; transform:translateY(-20%); transition:all 0.3s; border-radius:10px; } +.modal.open .modal_box { opacity:1; transform:translateY(0%); } + +.modal_title { width:100%; height:60px; line-height:60px; font-weight:600; box-sizing:border-box; padding-left:20px;border-bottom:1px solid #ededed; } +.modal_title h3 { text-align:left; color:#333; font-size:1.4em; font-weight:600; } + +/* The Close Button */ +.modal_box .btn_close_wrap { position:absolute; top:10px; right:15px; width:40px; height:40px; display:inline-block; transition:all 0.3s; } +.modal_box .btn_close::before, .modal_box .btn_close::after { width:20px; } + +.modal_content { padding:20px 20px; box-sizing:border-box; width:100%; height:calc(100% - 112px); overflow-y:auto; overflow-x:hidden;} +.modal_content p.text { margin-bottom:15px; } + +.bottom_btn_wrap { margin-top:0; padding:15px 20px; border-top:1px solid #ededed; } +.bottom_btn_wrap::after { clear:both; content:''; display:block; } + +.modal_bottom { padding:10px; border-top:1px solid #ededed; } +.modal_bottom::after { clear:both; content:''; display:block; } + +.modal_bottom .page { margin-top:0; } + +/*제목없음*/ +.modal_box.type2 .btn_close_wrap { position:absolute; top:10px; right:10px; z-index:9999; } +.modal_box.type2 .modal_content { padding:25px 15px 15px; height:100%; } + +/*버튼없음*/ +.modal_content.type2 { padding:20px 20px; height:calc(100% - 60px); } + +/*리스트상단 검색*/ +.modal_box.type3 .btn_close_wrap { position:absolute; top:10px; right:10px; z-index:9999; } +.modal_box.type3 .modal_content { padding:0; } +.modal_box.type3 .sorting_wrap { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: space-between; width:100%; align-items:center; border-bottom:1px solid #ededed; padding:10px 20px; } +.modal_box.type3 .sorting_wrap .board_infomation { padding-bottom:0; } +.modal_box.type3 .list_wrap { padding:20px; height:calc(100% - 56px); overflow-y:auto; } + +.modal_content .tab_wrap { width:100%; height:100%; } +.modal_content .tab_container { width:100%; height:calc(100% - 45px); overflow-y:auto; } +.modal_content img { width:100%; } + +.add_member { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; margin:6px -3px 0; } +.add_member li { padding:5px; border:1px solid #ccc; margin:3px; } +.add_member li button { margin-left:7px; } + +/*템플릿 호환 차종*/ +.modal_content .search_detail:first-child { padding-right:0; } +.modal_content .compatible { padding:15px;border:15px solid #f1f1f1; } +.modal_content .toggle_box .carmodel_list_wrap { height:auto; border:none; border-radius:0; } +.modal_content .carmodel_list, .modal_content .carmodel_box { padding:10px; max-height:100%; } +.modal_content .carmodel_box { width:100%; height:100%; max-height:300px; } +.modal_content .carmodel_list ul li { width:calc(50% - 10px); padding:6px 10px; font-size:0.9em; } +.modal_content .carmodel_box ul li { width:calc(50% - 10px); padding:10px 10px; font-size:0.9em; } +.modal_content .carmodel_list ul li.active { padding-left:35px; } +.modal_content .search_detail ul li .selectText { height:40px; } + +.modal_wrap .board_write.intitle > ul > li { padding:10px 0; } +.modal_wrap .board_write.intitle .board_label { width:100px; font-size:1em; } +.modal_wrap .board_write.intitle .input_wrap { width:calc(100% - 100px); } + +.modal_wrap .board_write > ul > li { padding:10px 0; } +.modal_wrap .board_write .board_label { width:100%; font-size:.9em; margin-bottom:8px; } + +/*파일업로드*/ +.file_box {width:calc(100% - 40px); margin:0 20px; height:150px; border-radius:10px; text-align:center; border:1px dashed #b1bece; background:#edf6fb; padding:20px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; cursor:pointer;justify-content:center; align-items: center; transition:all 0.3s; } +.file_box em.letter { background:url(../../images/custom/icon_fileup_on.svg) 50% 0% no-repeat; color:#005c8f; font-weight:400; background-size:20px; padding-top:25px; opacity:1; pointer-events:none; transition:all 0.3s;} +.file_box:hover { border:1px dashed #0a52ad; text-decoration:none; } +.file_box:hover em { } + +.file_box_wrap { height:100%; padding-top:20px; } +.file_box_wrap .file_list { margin-top:0; height:calc(100% - 150px); overflow-y: auto; padding:20px;} +.file_box_wrap .file_list li { width:100%; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:space-between; padding:15px 0; margin:0; position:relative; padding-left:30px; } +.file_box_wrap .file_list li:last-child { border-bottom:none; } +.file_box_wrap .file_list li .file_wrap { width:100%; border:none; border-bottom:1px solid #ededed; border-radius:0; } +.file_box_wrap .file_list li .filename { max-width:calc(100% - 65px); display:block; } +.file_box_wrap .file_list li .filename em { width:calc(100% - 30px); overflow:hidden; text-overflow: ellipsis; white-space:nowrap; display:inline-block; float:left; } +.file_box_wrap .file_list li .filename img { height:17px; width:17px; margin-left:10px; margin-top:2px;} +.file_box_wrap .file_list .btn_wrap { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:space-between; } +.file_box_wrap .file_list .btn_wrap button { box-shadow:none; } +.file_box_wrap .file_list .btn_wrap .btn_delete { margin-left:10px; } +.file_list .progress_bar { width:calc(100% - 30px);; height:1px; border-radius:3px; position:absolute; bottom:0; right:0; margin-top:5px; background:#ddd; } +.file_list .progress_bar .bar { position:absolute; height:1px; background:#007dc3; } + +.file_box_wrap .file_list li.file_excel { background:url(../../images/custom/file_excel.svg) 0 20px no-repeat; background-size:13px; } +.file_box_wrap .file_list li.file_img { background:url(../../images/custom/file_img.svg) 0 20px no-repeat; background-size:13px; } +.file_box_wrap .file_list li.file_pdf { background:url(../../images/custom/file_pdf.svg) 0 20px no-repeat; background-size:13px; } +.file_box_wrap .file_list li.file_ppt { background:url(../../images/custom/file_ppt.svg) 0 20px no-repeat; background-size:13px; } +.file_box_wrap .file_list li.file_reg { background:url(../../images/custom/file_reg.svg) 0 20px no-repeat; background-size:13px; } +.file_box_wrap .file_list li.file_word { background:url(../../images/custom/file_word.svg) 0 20px no-repeat; background-size:13px; } +.file_box_wrap .file_list li.file_zip { background:url(../../images/custom/file_zip.svg) 0 20px no-repeat; background-size:13px; } +.file_box_wrap .file_list li.file_hwp { background:url(../../images/custom/file_hwp.svg) 0 20px no-repeat; background-size:13px; } + +.modal_content.overshow { overflow:visible; } +.modal_content .dataTables_wrapper { height:100%; } + +.modal_content .chatbot_table {width:10%; overflow-y:auto;table-layout:fixed; margin-bottom:10px; border-collapse:collapse; border:0 none; border-top:1px solid #ededed; } +.modal_content .chatbot_table thead, .modal_content .chatbot_table tbody { width:100%; } +.modal_content .chatbot_table th{ border-top:2px solid #224173; line-height:17px; padding:15px 0; font-weight:normal; font-size:13px; text-align:center; color:#224173; background-color:#f6f8ff; border-bottom:1px solid #ced8e8;} +.modal_content .chatbot_table td{ line-height:17px; padding:15px 5px; font-weight:normal; font-size:13px; vertical-align:middle; text-align:center; color:#666; border-bottom:1px solid #ced8e8; } +.modal_content .chatbot_table td:hover { color:#333; } + +/*구인정보등록 업제조회 table넓이값 +.modal_content .chatbot_table td:nth-child(1), .modal_content .chatbot_table th:nth-child(1) { width:60px; } +.modal_content .chatbot_table td:nth-child(2), .modal_content .chatbot_table th:nth-child(2) { width:170px; } +.modal_content .chatbot_table td:nth-child(3), .modal_content .chatbot_table th:nth-child(3) { width:100px; } +.modal_content .chatbot_table td:nth-child(4), .modal_content .chatbot_table th:nth-child(4) { width:150px; } +.modal_content .chatbot_table td:nth-child(5), .modal_content .chatbot_table th:nth-child(5) { width:150px; } +.modal_content .chatbot_table td:nth-child(6), .modal_content .chatbot_table th:nth-child(6) { width:auto; }*/ +.modal_content .dataTables_scrollHead { height:49px; } +.modal_content .dataTables_wrapper.no-footer .dataTables_scrollBody, .modal_content table.dataTable.no-footer { border-bottom:none; } + +.modal_content .dataTables_wrapper .dataTables_paginate { position:absolute; left:50%; bottom:-25px; transform:translateX(-50%); width:auto; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:center; align-items:center; } +.modal_content .dataTables_wrapper .dataTables_paginate .paginate_button { line-height:1.2em; background:none; color:#666 !important; min-width:0; border:none; border-radius:0; padding:0; margin:0 8px;} +.modal_content .dataTables_wrapper .dataTables_paginate .paginate_button:hover { background:none; border:none; color:#333 !important; } +.modal_content .dataTables_wrapper .dataTables_paginate .paginate_button.current { border:none; background:none; border-bottom:1px solid #333; } +.modal_content .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover { background:none; border:none; border-bottom:1px solid #333; color:#333 !important; } + +.modal_content .paginate_button.previous { width:11px; height:11px; background:url(../../images/admin/arrow_left.svg) 50% 50% no-repeat !important; background-size:contain; text-indent:-5000px; } +.modal_content .paginate_button.next { width:11px; height:11px; background:url(../../images/custom/arrow_right.svg) 50% 50% no-repeat !important; background-size:contain !important; text-indent:-5000px; } +.modal_content .paginate_button.previous:hover, .paginate_button.next:hover { border:none; } + +.modal_content .dataTables_wrapper .dataTables_length { margin-bottom:10px; } +.modal_content .dataTables_wrapper .dataTables_length select { height:30px; transition:all 0s; border-radius:3px; } +.modal_content .dataTables_wrapper .dataTables_filter input { height:30px; border-radius:3px; border:1px solid #333; } +.modal_content .dataTables_wrapper .dataTables_filter { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; margin:0 8px 10px 0; } +.modal_content input[type='radio'] + label::before { margin-right:0; } + +.modal_content .dataTables_filter label { font-size:13px; color:#333; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items: center; } +.modal_content .dataTables_filter label input { float:right; } + +.fr-box.fr-basic .fr-element { max-height:450px; } + +.sms_wrap { display:block; margin-bottom:5px; } +.sms_wrap button { width:35px; height:35px; } +.sms_wrap .smsnm { width:150px; } +.sms_wrap .smsno { width:calc(100% - 191px); } +.sms_wrap:last-child { margin-bottom:0; } + +@media all and (max-width: 1250px) { +/* .logo { width:100%; height:85px; background-size:80px; } +.left_menu { width:170px; height:85px; padding-top:0; } +.submenu_wrap { display:none; } +.content { width:calc(100% - 30px); margin-right:15px; } +.footer { display:none; } +.topBar { width:calc(100% - 170px); } + +.topBar .member li a { text-indent:-5000px; width:13px; height:13px; } +.icon_home a { background:url(../../images/custom/icon_home_fff.svg) 50% 50% no-repeat; background-size:contain; } +.icon_logou at { background:url(../../images/custom/icon_logout_fff.svg) 50% 50% no-repeat; background-size:contain; } +.icon_login a { background:url(../../images/custom/icon_login_fff.svg) 50% 50% no-repeat; background-size:contain; } +.icon_join a { background:url(../../images/custom/icon_join_fff.svg) 50% 50% no-repeat; background-size:contain; } + */ +} + +@media all and (max-width: 541px) { + + .errorBox { padding:0 20px; width:100%; } + .errorContent { width:100%; border-radius:10px; padding:40px 0; } + .errorContent .title { font-size:1.2em; margin-bottom:15px; } + .errorContent .text { font-size:0.9em; } + .errorWrap a { margin-top:25px; font-size:1.1em; padding:10px 0; } +} + +/*ie에서 작동*/ +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){ + + input[type='checkbox'].switch {right:0; top:0; width:40px; height:25px; opacity:0; margin:0; z-index:0; position:absolute; cursor:pointer;} + input[type='checkbox'].switch + label { width:40px; height:25px; border:2px solid #ccc; background:#fff; border-radius:50px; z-index:1; position:relative;display:inline-block;} + input[type='checkbox'].switch + label::after { content:''; width:16px; height:16px; border-radius:20px; border:none; background:#ccc; display:inline-block; transition:all 0.3s; opacity:1; position:absolute; top:50%; left:3px; right:auto; transform:translateY(-50%); } + input[type='checkbox'].switch:hover + label::after { border:none; } + input[type='checkbox'].switch:checked + label::after {border:none;} + input[type='checkbox'].switch:disabled + label::after { border:none;} + input[type='checkbox'].switch:checked + label { border:2px solid #0eb139; } + input[type='checkbox'].switch:checked + label::after { left:auto; right:3px; transition:all 0.3s; background:#0eb139; } + input[type='checkbox'].switch + label::before { display:none; } + +} + Property changes on: base3.10/src/main/webapp/css/admin/admin.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/admin/style.css =================================================================== --- base3.10/src/main/webapp/css/admin/style.css (nonexistent) +++ base3.10/src/main/webapp/css/admin/style.css (revision 7) @@ -0,0 +1,1076 @@ +@charset "UTF-8"; +/* CSS Document */ + +/* css reset */ +html, body { margin:0; width:100%; height:100%; padding: 0; font-family: 'notoSans', sans-serif; font-weight:400; font-size:13px; color:#333; line-height:1.7em; overflow-x:auto; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; box-sizing:border-box; } +html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin:0; padding:0; border:0; vertical-align:baseline;} +a:link, a:hover, a:visited { text-decoration:none;} +h1, h2, h3, h4, h5, h6 { font-weight:normal;} +ol, ul { list-style:none;} +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block;} +blockquote, q { quotes:none;} +blockquote:before, blockquote:after, q:before, q:after { content:none; } +em { font-style:normal; } +.fr-element em { font-style:revert; } +table { font-family:inherit; border-spacing:0; word-break:break-all; } +a, a:hover { color:#3c3c3c; } +a:hover { color:#3c3c3c; text-decoration:underline; } +hr { border:none; border-top:1px dashed #ccc; height:0px; } +* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; word-break: break-all; font-family: 'notoSans', sans-serif; } +*:focus { outline:2px dashed #007dc3; } +/*table title, form title 숨기기*/ +legend, caption, .hidden, .blind { position:absolute; left:-9999em; width:1px;height:1px;margin:0;padding:0;background:none;font-size:0;line-height:0;text-indent:-9999em } + +.relative { position:relative; } +.input_rel { position:relative !important; } +.vertical_m { position:relative; top:50%; transform:translateY(-50%);} +.autoY { overflow-y:auto; } +.autoX { overflow-x:auto; } + +.flex { display:-webkit-box; display:-webkit-flex; display:-moz-box; display:-ms-flexbox; display:flex; } +.between {justify-content: space-between; } +.itemC { align-items:center; } +.square { height:0; padding-bottom:100% !important; } + +.blank, .blank_w { display:inline-block; transition:all 0.3s; height:auto;} +.blank::after, .blank_w::after { content: ''; margin-left:10px; display:inline-block; width:13px; height:13px; transform:translateY(2px); transition:all 0.3s; } +.blank::after { background:url(../../images/custom/icon_blank.svg) 50% 50% no-repeat; background-size:contain;} +.blank_w::after { background:url(../../images/custom/icon_blank_w.svg) 50% 50% no-repeat; background-size:contain; } + +/*border 속성****************************************************************************************************************************************/ +.bd0 { border:none !important; } +.bt0 { border-top:none !important; } +.bb0 { border-bottom:none !important; } +.bl0 { border-left:none !important; } +.br0 { border-right:none !important; } + +/*데코 속성****************************************************************************************************************************************/ +/*텍스트 데코*/ +.underline { text-decoration:underline; } +.bold { font-weight:600; } +.ellipsis {overflow:hidden; text-overflow:ellipsis; white-space:nowrap;} +.must .board_label::after, .must .tit::after, em.must::after, .must::after { content:'*'; display:inline-block; margin-left:5px; color:#e21818; } +.ls_narrow { letter-spacing:-1px; } +.must_text { color:#d70000; margin-bottom:10px; font-size:0.9em; float:right; } +.must_text::after { display:block; content:''; clear:both; } + +/*font*/ +@font-face{font-family:notoSans;src:url(../../fonts/NotoSansKR-Thin.woff);font-style:normal;font-weight:100;} +@font-face{font-family:notoSans;src:url(../../fonts/NotoSansKR-Light.woff);font-style:normal;font-weight:300;} +@font-face{font-family:notoSans;src:url(../../fonts/NotoSansKR-Regular.woff);font-style:normal;font-weight:400;} +@font-face{font-family:notoSans;src:url(../../fonts/NotoSansKR-Medium.woff);font-style:normal;font-weight:500;} +@font-face{font-family:notoSans;src:url(../../fonts/NotoSansKR-Bold.woff);font-style:normal;font-weight:700;} +@font-face{font-family:notoSans;src:url(../../fonts/NotoSansKR-Black.woff);font-style:normal;font-weight:900;} + +/*sign*/ +@font-face{font-family:sign; + src:url(../../fonts/sign.ttf), + url(../../fonts/sign.eot), + url(../../fonts/sign.woff);} + +/*색상속성****************************************************************************************************************************************/ +/*font color*/ +.color_orange { color:#e47916 !important; } +.color_lightgreen {color:#71bd3e !important; } +.color_black { color:#3c3c3c !important; } +.color_deepblue { color:#317fa4 !important; } +.color_purple { color:#d26bca !important; } +.color_gray { color:#666 !important; } +.color_blue { color:#227dbd !important; } +.color_red { color:#da4343 !important; } + +/*button****************************************************************************************************************************************/ +/* button */ +button { cursor:pointer; border-radius:2px; transition:all .2s; background-color:#fff; color:#3c3c3c; border:1px solid #ccc; font-family:inherit; } +button:hover { border:1px solid #666; box-shadow:0 0px 3px rgba(173,197,218,0.8);} +button img { display:none; } +.btn_ss { font-size:13px; text-align:center; padding:0 10px; height:27px; } +.btn_s { font-size:13px; text-align:center; padding:0 15px; height:32px; letter-spacing:-1px;} +.btn_m { font-size:13px; letter-spacing:-0.1em; text-align:center; padding:0 15px; height:35px; } +.btn_b { font-size:15px; letter-spacing:-0.2em; text-align:center; width:225px; height:40px; font-weight:600; } +.disabled { cursor:not-allowed; background:#ededed} +.input_wrap { } +.input_wrap .inputText { width:calc(100% - 100px); } +.input_wrap button { width:100px; } + +.inputText.color_orange value{ color:#e47916 !important; } + +.btn_sq_s { width:20px; height:20px; border:1px solid #bbb; transition:all .2s ease-in-out;} +.btn_sq_m { width:32px; height:32px; border:1px solid #bbb; transition:all .2s ease-in-out;} +.btn_sq_l { width:40px; height:40px; border:1px solid #bbb; transition:all .2s ease-in-out;} + +.btn_img { background-size:40% !important;background-repeat:no-repeat!important; background-position:50% 50%!important;transition:all .2s ease-in-out; } +.btn_img img { display:none; } +.btn_circleSS { width:20px; height:20px; border-radius:20px; transition:all .2s ease-in-out;} +.btn_circleS { width:30px; height:30px; border-radius:30px; transition:all .2s ease-in-out; } +.btn_circleM { width:40px; height:40px; border-radius:40px; transition:all .2s ease-in-out; } +.btn_circleL { width:50px; height:50px; border-radius:50px; transition:all .2s ease-in-out; } + +/*닫기버튼*/ +.btn_close { width:100%; height:100%; cursor:pointer; z-index:99; border:none; display:inline-block; transition:all 0.3s; background:url(../../images/custom/x.svg) 50% 50% no-repeat; background-size:15px !important; } +.btn_close:hover { transform:rotate(90deg); border:none; box-shadow:none; } +.close.btn_close_wrap .btn_close { float:right; } + +.btn_toggle { width:30px; height:30px; display:block; position:relative; } +.btn_toggle::before, .btn_toggle::after { content:''; position:absolute; top:50%; left:50%; width:50%; height:2px; background:#333; display:inline-block; transition:all 0.3s;} +.btn_toggle::before { transform: translate(-50%,-50%) rotate(90deg); } +.btn_toggle::after { transform: translate(-50%,-50%) rotate(0deg); } +.btn_toggle.active::before { transform:translate(-50%,-50%) rotate(0deg); } +.btn_toggle.active::after { transform:translate(-50%,-50%) rotate(0deg); } + +.btn_arrow_down::after { content:''; width:10px; height:10px; transition:all 0.3s; display:inline-block; margin-left:15px; background:url(../../images/custom/arrow_down.svg) 50% 50% no-repeat; background-size:contain; } +.btn_arrow_down.active { border:1px solid #666; box-shadow:0 0 10px 0 rgba(0,0,0,.3); } +.btn_arrow_down.active::after { transform:rotate(180deg); } + +.btn_up { background:url(../../images/custom/arrow_top.svg) 50% 50% no-repeat #fff; background-size:40%; text-indent:-5000px; } +.btn_down { background:url(../../images/custom/arrow_down.svg) 50% 50% no-repeat #fff; background-size:40%; text-indent:-5000px; } +.btn_up:hover, .btn_down:hover { border-color:#666; } + +.btn_delete, a.btn_delete { background:url(../../images/custom/icon_trash.svg) 50% 50% no-repeat #fff; background-size:12px; text-indent:-5000px; display:inline-block; transition:background 0s;} +.btn_delete:hover { background:url(../../images/custom/icon_trash_on.svg) 50% 50% no-repeat #fff; background-size:12px; } +.btn_plus { background:url(../../images/custom/icon_plus.svg) 50% 50% no-repeat #fff; background-size:50%; text-indent:-5000px;display:inline-block; } +.btn_plus:hover { border-color:#666; } +.btn_update { background:url(../../images/custom/icon_update.svg) 50% 50% no-repeat #fff; background-size:16px; text-indent:-5000px; display:inline-block; transition:background 0s;} +.btn_update:hover { border-color:#666; background:url(../../images/custom/icon_update_on.svg) 50% 50% no-repeat #fff; background-size:16px; } + +/*파일다운*/ +.btn_filedown, a.btn_filedown { width:24px; height:24px; display:inline-block; border:1px solid #bbb; border-radius:3px; text-indent:-5000px; background:url(../../images/custom/icon_filedown.svg) 50% 50% no-repeat; background-size:14px 13px !important; transition:all .2s, background 0s; } +.btn_filedown:hover { box-shadow:0 0 5px 0 rgba(0,0,0,0.3); border-color:#666; background:url(../../images/custom/icon_filedown_on.svg) 50% 50% no-repeat; background-size:14px 13px !important;} +.btn_wrap .btn_delete { margin-left:5px; } +.btn_excel { background:url(../../images/custom/icon_excel.svg) 10px 50% no-repeat; background-size:15px; padding-left:30px; } + +.clickmore { padding:3px 10px; font-size:0.9em; border-radius:50px; color:#007dc3; border:1px solid #007dc3; } + +/* bgcolor */ +.bgcolor01 {background-color:#fff; color:#3c3c3c !important; border:1px solid #ccc; } /* 흰바탕 */ +.bgcolor01:hover {background-color:#f1f1f1; border:1px solid #666; } +.bgcolor02 {background-color:#3ca223; color:#fff !important; border:1px solid #3ca223; } /* green */ +.bgcolor02:hover {background-color:#248a0b; border:1px solid #177700; } +.bgcolor03 {background-color:#dce4f3; color:#6385b9 !important; border:1px solid #bcc9f7;} /* light blue */ +.bgcolor03:hover {background-color:#cbd3ef; color:#112b53 !important; border:1px solid #8292cc; } +.bgcolor04 {background-color:#fff; color:#6e9ebc !important; border:1px solid #6e9ebc;} /* light blue line */ +.bgcolor04:hover {background-color:#6e9ebc; color:#fff !important; border:1px solid #6e9ebc; } +.bgcolor05 {background-color:#fff; color:#de6e6e !important; border:1px solid #de6e6e;} /* light red line */ +.bgcolor05:hover {background-color:#de6e6e; color:#fff !important; border:1px solid #de6e6e; } /* light red line */ +.bgcolor06 {background-color: #5b94b7; color: #fff !important; border: 1px solid #1b618e;} /*Deepblue line 등록버튼*/ +.bgcolor06:hover {background-color:#4082aa; border:1px solid #135179; } + + /* 결제대기 */ +.bg_lightgray {background-color:#dee7ec !important;} +.bg_white {background-color:#fff !important;} +.bg_title { background:#f0f3f5 !important; } + +/* bgcolor */ +.bg_gray {background-color:#f4f5f7 !important;} /* 결제대기 */ +.bg_lightgray {background-color:#dee7ec !important;} +.bg_white {background-color:#fff !important; border:1px solid #ccc;} +.bg_white:hover { border:1px solid #666; } +.bg_navy { background:#143b84; color:#fff; border-color:#0d3071; } +.bg_navy:hover { background-color:#032b54 !important; } +.bg_blue { background:#0a62ad; color:#fff; border-color:#035396; } +.bg_blue:hover { background-color:#05489c !important; } + +.bg_basic { border:1px solid #ccc; background:none; } +.bg_basic:hover { border-color:#666; } + +.line_blue { border:1px solid #1265cc; color:#1265cc; } +.line_blue:hover { background:#1265cc; color:#fff; } + +.line_white { background:transparent; border:1px solid #fff; color:#fff; } +.line_white:hover { background:#fff; color:#333; } + +.bg_line { background:transparent; border:1px solid #333; } +.bg_line:hover { background-color:#fff; } + +/*정렬속성****************************************************************************************************************************************/ +.alignL {text-align:left !important;} +.alignC {text-align:center !important;} +.alignR {text-align:right !important;} + +.verticalT { vertical-align:top !important;} +.verticalM { vertical-align:middle !important;} +.verticalB { vertical-align:bottom !important;} + +.fl {float:left !important;} +.fr {float:right !important;} +.fn {float:none !important;} +.clear {clear:both !important;} +.clear::after { clear:both; display:block; content:''; } +.inline { display:inline-block !important; } +.block { display:block !important; } +.none { display:none; } +.width_center{ margin:0 auto;} + +/*input 디자인****************************************************************************************************************************************/ +.inputText, .selectText, .textArea, .inputFile { font-family:inherit; font-size:13px; border:1px solid #ccc; z-index:1; font-weight:400; box-sizing:border-box; padding:0 5px 0 10px; height:35px; border-radius:2px!important; box-shadow:none; display:inline-block; -webkit-appearance: none; transition:0.2s ease-in-out;} /* 익스 9부터 적용가능, 아이폰 둥근 모서리 설정빼기 */ +.inputText:hover, .selectText:hover, .textArea:hover, .inputFile:hover { border:1px solid #666;box-shadow:0 0px 3px rgba(173,197,218,0.8); } +/* .inputFile { padding:2px !important; } */ +.textArea { padding:10px; resize: none; } +label { cursor:pointer; } +.inputText[readonly], .selectText[readonly], .textArea[readonly], +.inputText[disabled], .selectText[disabled], .textArea[disabled] { background:#f1f1f1; border-color:#e4e4e4; } +.selectText[disabled], .selectText[readonly] { background:url(../../images/custom/arrow_down.svg) calc(100% - 10px) 50% no-repeat #f1f1f1; background-size:10px !important; } +.inputText::placeholder { color:#ccc; } +.inputText[readonly]:hover, .selectText[readonly]:hover, .textArea[readonly]:hover, +.inputText[disabled]:hover, .selectText[disabled]:hover, .textArea[disabled]:hover { border:1px solid #ccc;box-shadow:none; } + +.inputText, input[type="text"] { border:1px solid #ccc; border-radius:2px; height:35px !important; background:#fff; transition-duration:0.2s; padding:0 10px; box-sizing:border-box; } +.inputText:hover, input[type="text"]:hover { border:1px solid #666; box-shadow:0 0px 3px rgba(173,197,218,0.8); } +.selectText, table .selectText { border-radius:2px; transition-duration:0.3s; min-width:130px; border:1px solid #ccc; height:35px; background:url(../../images/custom/arrow_down.svg) calc(100% - 10px) 50% no-repeat #fff; background-size:10px !important; padding:0 30px 0 10px; box-sizing:border-box; } +textarea, .textArea { min-height:50px; border-radius:2px; transition-duration:0.3s; border:1px solid #ccc; background: #fff; padding: 10px; box-sizing:border-box; } +.inputText:hover, .admin_contents .textArea:hover { border:1px solid #666; box-shadow:0 0px 3px rgba(173,197,218,0.8); } +.select { height:32px; min-width:130px; border:1px solid #ccc; } +.select:hover { border:1px solid #666;box-shadow:0 0px 3px rgba(173,197,218,0.8); } + +/*select 디자인****************************************************************************************************************************************/ +select { padding-left:5px; background:url(../../images/custom/arrow_down.svg) calc(100% - 10px) 50% no-repeat #fff; background-size:13px; cursor:pointer;transition:all .5s ease-in-out; + -webkit-appearance: none; /* 화살표 없애기 for chrome */ + -moz-appearance: none; /* 화살표 없애기 for firefox */ + appearance: none; /* 화살표 없애기 공통 */ } +select::-ms-expand { + display: none; /* 화살표 없애기 for firefox */ +} +.selectText, .select { height:35px; border:1px solid #ccc; transition:all .3s ease-in-out; border-radius:2px; background:url(../../images/custom/arrow_down.svg) calc(100% - 10px) 50% no-repeat #fff; background-size:10px; } +.selectText:hover, .select:hover { border-color:#666; } + +/*file 디자인****************************************************************************************************************************************/ +.file_up { width:100%; display:-webkit-box; display:-webkit-flex; display:-moz-box; display:-ms-flexbox; display:flex; flex-direction:row; align-items:flex-start; } +.file_up input[type="file"] { position: absolute; width:1px; height:1px; padding: 0; margin: -1px; overflow: hidden; clip:rect(0,0,0,0); border: 0; } +.file_up label, .file_up .inputFile {border:1px solid #ccc; margin-right:3px; text-align:left; padding:7px 25px 6px 20px; min-width:105px; background:url(../../images/admin/icon_fileup.svg) calc(100% - 10px) 50% no-repeat #fff; background-size:11px 11px; border-radius:2px; box-shadow:none; display:inline-block; transition:0.3s ease-in-out; } +.file_up label:hover, .file_up .inputFile:hover { box-shadow:0 0 5px 0 rgba(0,0,0,0.3); border-color:#666; } +.upload-name { visibility:hidden; width:calc(100% - 100px); padding:0 10px; height:35px; } +.file_up label.withname { height:35px; padding:7px 20px 6px 10px; min-width:85px; } + +/*첨부파일 가로 정렬*/ +.file_list.sortR { flex-direction:row; flex-wrap:wrap; justify-content:flex-start; } +.file_list.sortR li { margin:2.5px !important; } + +.file_list_wrap { display:-webkit-box; display:-webkit-flex; display:-moz-box; display:-ms-flexbox; display:flex; align-items:flex-start; flex-direction:column; } +.file_list_wrap.show { } +.file_list_wrap .space5 { display:none; } + +.upload-name { } +.upload-name.show { display:inline-block; } + +.file_list { margin:5px -2px 0; display:inline-block; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:flex-start; flex-wrap:wrap; align-content:flex-start; } +.file_list li:first-child { } +.file_list li:last-child { } +.file_list li { margin:2px; } +.addFileSize.file_list .file_wrap p { display:inline-block; min-width:0; } +.addFileSize.file_list strong { margin-right:10px; max-width:300px; font-weight:400; } + +/*일반파일*/ +.file_list .file_wrap { display:-webkit-box; display:-webkit-flex; display:-moz-box; display:-ms-flexbox; display:flex; width:auto; align-items:center; padding:3px 7px 3px 15px; border:1px solid #ccc; border-radius:2px; background:#fff; transition:border .2s ease-in-out, box-shadow .2s ease-in-out;} +.file_list .file_wrap:hover { box-shadow:0 0 10px 0 rgba(0,0,0,0.1); border-color:#666; } +.file_list .file_wrap p { display:inline-block; min-width:100px; max-width:300px; font-size:0.9em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding-right:20px; position:relative; } +.file_list .file_wrap p::after { width:1px; height:15px; content:''; display:inline-block; background:#ccc; position:absolute; top:5px; right:6px; } +.file_list .file_wrap p .fileSize { font-size:0.9em; margin-left:10px; display:inline-block;} +.file_list .file_wrap .btn_sq_s { width:24px; height:27px; display:inline-block; } +.file_list .file_wrap .btn_ss { padding:0 4px; } +.file_list .file_wrap .btn_ss:hover { color:#007dc3; } +.file_list .file_wrap .btn_ss, .file_list .btn_sq_s { height:25px; border-radius:2px; border-color:transparent; display:inline-block;} +.file_list .file_wrap .btn_sq_s:hover, .file_list .file_wrap .btn_s:hover, .file_list .file_wrap .btn_ss:hover { border-color:transparent; box-shadow:none; } + +.file_img .file_wrap { background:url(../../images/custom/file_img.svg) 10px 50% no-repeat #fff; background-size:13px; padding-left:35px; } +.file_ppt .file_wrap { background:url(../../images/custom/file_ppt.svg) 10px 50% no-repeat #fff; background-size:13px; padding-left:35px; } +.file_pdf .file_wrap { background:url(../../images/custom/file_pdf.svg) 10px 50% no-repeat #fff; background-size:13px; padding-left:35px; } +.file_word .file_wrap { background:url(../../images/custom/file_word.svg) 10px 50% no-repeat #fff; background-size:13px; padding-left:35px; } +.file_reg .file_wrap { background:url(../../images/custom/file_reg.svg) 10px 50% no-repeat #fff; background-size:13px; padding-left:35px; } +.file_excel .file_wrap { background:url(../../images/custom/file_excel.svg) 10px 50% no-repeat #fff; background-size:13px; padding-left:35px; } +.file_zip .file_wrap { background:url(../../images/custom/file_zip.svg) 10px 50% no-repeat #fff; background-size:13px; padding-left:35px; } +.file_hwp .file_wrap { background:url(../../images/custom/file_hwp.svg) 10px 50% no-repeat #fff; background-size:13px; padding-left:35px; } + +/*업로드파일이 이미지일 경우*/ +.file_img { display:-webkit-box; display:-webkit-flex; display:-moz-box; display:-ms-flexbox; display:flex; justify-content:flex-start; } +.file_img li { width:80px;height:80px; background-size:contain !important; position:relative; overflow:hidden; margin:10px 10px 0 0; border-radius:10px; border:1px solid #eaeaea; transition:border .2s ease-in-out, box-shadow .2s ease-in-out; } +.file_img li:last-child { margin-right:0; } +.file_img li:hover { box-shadow:0 0 10px 0 rgba(0,0,0,0.1);} +.file_img li .btn { width:100%; position:absolute; text-align:center; z-index:1; bottom:-100%; right:0; padding:5px 0; background:#fff; line-height:1em;transition:bottom .1s ease-in-out; } +.file_img li:hover .btn { bottom:0; } +.file_img li .btn .btn_sq_s { width:24px; height:24px; border-color:transparent; margin:0 2px; } +.file_img li .btn .btn_sq_s:hover { box-shadow:none; } +.file_img li::after { position:absolute; top:0; left:0; pointer-events:none; content:''; background:#333; display:block; width:100%; height:100%; opacity:0; z-index:0; transition:opacity .1s ease-in-out;} +.file_img li:hover::after { opacity:0.5; } +.file_img li img { width:100%; height:auto; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); pointer-events:none; } + + +/*scrollbar 디자인****************************************************************************************************************************************/ +::-webkit-scrollbar {width: 8px; height: 8px; } +::-webkit-scrollbar-track {background: transparent; } +::-webkit-scrollbar-thumb {height: 50px; width: 50px; background:#ddd; -webkit-border-radius: 8px; border-radius: 8px; } + +/*체크박스, 라디오박스 설정*/ + +input[type='checkbox'] { width:18px; height:18px; opacity:1; margin:0 7px 0 0; z-index:0; position:relative; cursor:pointer; transform:translateY(1px);} +input[type='checkbox']::before { content:''; pointer-events:none; background:url(../../images/admin/check_on.svg) 50% 50% no-repeat #fff; background-size:contain; border:1px solid #333; width:100%; height:100%; display:inline-block; border-radius:3px; opacity:0; top:0; left:0; position:absolute; } +input[type='checkbox']:checked::before { opacity:1; z-index:1; } +input[type='checkbox']:checked + label { font-weight:600; } + +input[type='radio'] { width:18px; height:18px; opacity:1; margin:0 7px 0 0; z-index:1; position:relative; cursor:pointer; } +input[type='radio']::before { content:''; pointer-events:none; background:url(../../images/custom/radio_on.svg) 50% 50% no-repeat #fff; background-size:10px; width:100%; height:100%; border:1px solid #333; display:inline-block; border-radius:30px; opacity:0; top:0; left:0; position:absolute; } +input[type='radio']:checked::before { opacity:1; z-index:1; } +input[type='radio']:checked + label { font-weight:600; } + +/*input[type='checkbox']{ left:1px; top:3px; width:16px; height:16px; opacity:1; margin:0; z-index:0; position:absolute; } +input[type='checkbox'] + label {cursor:pointer; font-size:1em; font-weight:400; color:#666;position:relative; z-index:1;} +input[type='checkbox'] + label::before { content:''; display:inline-block;width:16px;height:16px;vertical-align:middle;margin-right:10px; border:1px solid #999; cursor:pointer; background:#fff;margin-top:-2px; transition:all .2s ease-in-out; } +input[type='checkbox']:hover + label::before { border:1px solid #666; font-weight:500; } +input[type='checkbox']:checked + label::before { border:1px solid #333;} +input[type='checkbox']:disabled + label::before { border:1px solid #d8d8d8; background:#f1f1f1; } +input[type='checkbox'] + label::after { content:'';display:inline-block; position:absolute; transition:all .2s ease-in-out; opacity:0; } +input[type='checkbox']:checked + label::after { opacity:1; } +input[type='checkbox'] + label::before { border-radius:2px; } +input[type='checkbox'] + label::after { width:18px; height:18px;left:3px; top:1px; background:url(../../images/custom/check_on.svg) 50% 50% no-repeat; background-size:contain; } +input[type='checkbox']:checked + label, input[type='checkbox']:disabled + label { color:#000; } +input[type='checkbox']:checked + label { font-weight:500; } + +input[type='radio']{ left:1px; top:4px; width:16px; height:16px; opacity:1; margin:0; z-index:0; position:absolute; } +input[type='radio'] + label {cursor:pointer; font-size:1em; font-weight:400; color:#999;position:relative; z-index:1; } +input[type='radio'] + label::before { content:''; display:inline-block;width:16px;height:16px;vertical-align:middle;margin-right:10px; border:1px solid #999; cursor:pointer; background:url(../../images/custom/radio_on.svg) 50% 50% no-repeat #fff; background-size:0; margin-top:-2px; transition:all .2s ease-in-out; } +input[type='radio']:hover + label::before { border:1px solid #666; font-weight:500; } +input[type='radio']:checked + label::before { border:1px solid #333;} +input[type='radio']:disabled + label::before { border:1px solid #d8d8d8; background:#f1f1f1; } +input[type='radio']:checked + label::before { background:url(../../images/custom/radio_on.svg) 50% 50% no-repeat #fff; background-size:10px; } +input[type='radio'] + label::before { border-radius:10px; } +input[type='radio']:hover + label, input[type='radio']:checked + label, input[type='radio']:disabled + label { color:#333; } +input[type='radio']:checked + label { font-weight:500; }*/ + +.input_shadow {box-shadow: inset 1px 1px 5px #babecc, inset -3px -3px 5px #f0f3f5 !important;} + +/*가로,세로,마진,패딩 설정****************************************************************************************************************************************/ +/* 가로사이즈% (테이블 col class로 사용 필요할 경우 class 추가) */ +.widthauto { width:auto !important;} +.width5p { width:5% !important; } +.width10p { width:10% !important; } +.width12_5p { width:12.5% !important; } +.width16_3p { width:16.3% !important; } +.width16_6p { width:16.666666% !important; } +.width15p { width:15% !important; } +.width19p { width:19% !important;} +.width20p { width:20% !important; } +.width25p { width:25% !important; } +.width27p { width:27% !important; } +.width30p { width:30% !important; } +.width33p { width:33.333% !important; } +.width35p { width:35% !important; } +.width40p { width:40% !important; } +.width45p { width:45% !important; } +.width50p { width:50% !important; } +.width55p { width:55% !important; } +.width60p { width:60% !important; } +.width65p { width:65% !important; } +.width70p { width:70% !important; } +.width75p { width:75% !important; } +.width80p { width:80% !important; } +.width85p { width:85% !important; } +.width90p { width:90% !important; } +.width95p { width:95% !important; } +.width96p { width:96% !important; } +.width99p { width:99% !important; } +.width100p { width:100% !important; } + +.height50p { height:50% !important; } +.height55p { height:55% !important; } +.height60p { height:60% !important; } +.height65p { height:65% !important; } +.height70p { height:70% !important; } +.height75p { height:75% !important; } +.height80p { height:80% !important; } +.height85p { height:85% !important; } +.height90p { height:90% !important; } +.height95p { height:95% !important; } +.height100p { height:100% !important; } + +.h_calc270 { height:calc(100% - 270px) !important; } +.hcalc10 { height:calc(100% - 10px) !important; } +.hcalc20 { height:calc(100% - 20px) !important; } +.hcalc30 { height:calc(100% - 30px) !important; } +.hcalc40 { height:calc(100% - 40px) !important; } +.hcalc50 { height:calc(100% - 50px) !important; } +.hcalc56 { height:calc(100% - 56px) !important; } +.hcalc60 { height:calc(100% - 60px) !important; } +.hcalc100 { height:calc(100% - 100px) !important; } +.hcalc200 { height:calc(100% - 200px) !important; } + +.calc6 { width:calc(100% - 6px) !important; } +.calc10 { width:calc(100% - 10px); } +.calc20 { width:calc(100% - 20px); } +.calc30 { width:calc(100% - 30px); } +.calc35 { width:calc(100% - 35px); } +.calc37 { width:calc(100% - 37px); } +.calc40 { width:calc(100% - 40px); } +.calc50 { width:calc(100% - 50px); } +.calc55 { width:calc(100% - 55px); } +.calc56 { width:calc(100% - 56px); } +.calc57 { width:calc(100% - 57px); } +.calc58 { width:calc(100% - 58px); } +.calc59 { width:calc(100% - 59px); } +.calc60 { width:calc(100% - 60px); } +.calc61 { width:calc(100% - 61px); } +.calc62 { width:calc(100% - 62px); } +.calc63 { width:calc(100% - 63px); } +.calc64 { width:calc(100% - 64px); } +.calc65 { width:calc(100% - 65px); } +.calc66 { width:calc(100% - 66px); } +.calc67 { width:calc(100% - 67px); } +.calc68 { width:calc(100% - 68px); } +.calc68 { width:calc(100% - 69px); } +.calc68 { width:calc(100% - 68px); } +.calc70 { width:calc(100% - 70px); } +.calc79 { width:calc(100% - 79px); } +.calc80 { width:calc(100% - 80px); } +.calc84 { width:calc(100% - 84px); } +.calc85 { width:calc(100% - 85px); } +.calc88 { width:calc(100% - 88px); } +.calc90 { width:calc(100% - 90px); } +.calc100 { width:calc(100% - 100px); } +.calc105 { width:calc(100% - 105px); } +.calc108 { width:calc(100% - 108px); } +.calc110 { width:calc(100% - 110px); } +.calc118 { width:calc(100% - 118px); } +.calc119 { width:calc(100% - 119px); } +.calc120 { width:calc(100% - 120px); } +.calc122 { width:calc(100% - 122px); } +.calc130 { width:calc(100% - 130px); } +.calc135 { width:calc(100% - 135px); } +.calc140 { width:calc(100% - 140px); } +.calc142 { width:calc(100% - 142px); } +.calc143 { width:calc(100% - 143px); } +.calc144 { width:calc(100% - 144px); } +.calc146 {width: calc(100% - 146px);} +.calc150 { width:calc(100% - 150px) !important; } +.calc160 { width:calc(100% - 160px); } +.calc165 { width:calc(100% - 165px); } +.calc175 { width:calc(100% - 175px); } +.calc178 { width:calc(100% - 178px); } +.calc192 { width:calc(100% - 192px); } +.calc195 { width:calc(100% - 195px); } +.calc200 { width:calc(100% - 200px); } +.calc203 { width:calc(100% - 203px); } +.calc204 { width:calc(100% - 204px); } +.calc210 { width:calc(100% - 210px); } +.calc216 { width:calc(100% - 216px); } +.calc250 { width:calc(100% - 250px); } +.calc260 { width:calc(100% - 260px); } +.calc264 { width:calc(100% - 264px); } +.calc310 { width:calc(100% - 310px); } +.calc100-100 { width:calc(100% - 100px); } +.calc25-5 { width:calc(25% - 8px); } +.calc25-90 { width:calc(25% - 90px); } +.calc25-100 { width:calc(25% - 100px); } +.calc25-150 { width:calc(25% - 150px); } +.calc50-130 { width:calc(50% - 130px); } +.calc30-10 { width:calc(30% - 10px) !important; } +.calc20-10 { width:calc(20% - 10px) !important; } +.calc10-10 { width:calc(10% - 10px) !important; } +.calc430 { width:calc(100% - 430px) !important; } +.calc435 { width:calc(100% - 435px) !important; } +.calc50-5 { width:calc(50% - 5px) !important; } +.calc50-3 { width:calc(50% - 3px) !important; } +.calc40-3 { width:calc(40% - 3px) !important; } +.calc50-10 { width:calc(50% - 10px) !important; } +.calc70-10 { width:calc(70% - 10px) !important; } + + +/* 가로사이즈px (테이블 col class로 사용 필요할 경우 class 추가) */ +.width5 { width:5px !important;} +.width10 { width:10px !important;} +.width15 { width:15px !important;} +.width20 { width:20px !important;} +.width25 { width:25px !important;} +.width30 { width:30px !important;} +.width35 { width:35px !important;} +.width40 { width:40px !important;} +.width45 { width:45px !important;} +.width46 { width:46px !important;} +.width50 { width:50px !important;} +.width55 { width:55px !important;} +.width60 { width:60px !important;} +.width65 { width:65px !important;} +.width70 { width:70px !important;} +.width75 { width:75px !important;} +.width80 { width:80px !important;} +.width85 { width:85px !important;} +.width89 { width:89px !important;} +.width90 { width:90px !important;} +.width95 { width:95px !important;} +.width100 { width:100px !important;} +.width110 { width:110px !important;} +.width120 { width:120px !important;} +.width130 { width:130px !important;} +.width140 { width:140px !important;} +.width150 { width:150px !important;} +.width160 { width:160px !important;} +.width170 { width:170px !important;} +.width180 { width:180px !important;} +.width190 { width:190px !important;} +.width200 { width:200px !important;} +.width210 { width:210px !important;} +.width220 { width:220px !important;} +.width230 { width:230px !important;} +.width240 { width:240px !important;} +.width250 { width:250px !important;} +.width260 { width:260px !important;} +.width270 { width:270px !important;} +.width280 { width:280px !important;} +.width290 { width:290px !important;} +.width300 { width:300px !important;} +.width310 { width:310px !important;} +.width320 { width:320px !important;} +.width323 { width:323px !important;} +.width330 { width:330px !important;} +.width340 { width:340px !important;} +.width350 { width:350px !important;} +.width360 { width:360px !important;} +.width370 { width:370px !important;} +.width380 { width:380px !important;} +.width390 { width:390px !important;} +.width400 { width:400px !important;} +.width420 { width:420px !important;} +.width422 { width:422px !important;} +.width450 { width:450px !important;} +.width480 { width:480px !important;} +.width500 { width:500px !important;} +.width505 { width:505px !important;} +.width550 { width:550px !important;} +.width600 { width:600px !important;} +.width650 { width:650px !important;} +.width700 { width:700px !important;} +.width750 { width:750px !important;} +.width800 { width:800px !important;} +.width850 { width:850px !important;} +.width900 { width:900px !important;} +.width950 { width:950px !important;} +.width1000 { width:1000px !important;} +.width1100 { width:1100px !important;} +.width1200 { width:1200px !important;} +.width1300 { width:1300px !important;} +.width1400 { width:1400px !important;} +.width1500 { width:1500px !important;} +.width1600 { width:1600px !important;} +.width1700 { width:1700px !important;} + +/* 세로사이즈px (테이블 row class로 사용 필요할 경우 class 추가) */ +.heightauto { height:auto !important; } +.height100p { height:100% !important;} +.height5 { height:5px !important;} +.height10 { height:10px !important;} +.height15 { height:15px !important;} +.height20 { height:20px !important;} +.height23 { height:23px !important;} +.height25 { height:25px !important;} +.height30 { height:30px !important;} +.height32 { height:32px !important;} +.height35 { height:35px !important;} +.height37 { height:37px !important;} +.height38 { height:38px !important;} +.height40 { height:40px !important;} +.height45 { height:45px !important;} +.height50 { height:50px !important;} +.height53 { height:53px !important; } +.height55 { height:55px !important;} +.height60 { height:60px !important;} +.height65 { height:65px !important;} +.height70 { height:70px !important;} +.height75 { height:75px !important;} +.height76 { height:76px !important;} +.height77 { height:77px !important;} +.height78 { height:78px !important;} +.height79 { height:79px !important;} +.height80 { height:80px !important;} +.height81 { height:81px !important;} +.height82 { height:82px !important;} +.height83 { height:83px !important;} +.height84 { height:84px !important;} +.height85 { height:85px !important;} +.height86 { height:86px !important;} +.height87 { height:87px !important;} +.height88 { height:88px !important;} +.height89 { height:89px !important;} +.height90 { height:90px !important;} +.height95 { height:95px !important;} +.height100 { height:100px !important;} +.height110 { height:110px !important;} +.height112 { height:112px !important;} +.height120 { height:120px !important;} +.height121{ height:121px !important;} +.height122{ height:122px !important;} +.height123{ height:123px !important;} +.height124{ height:124px !important;} +.height125{ height:125px !important;} +.height126{ height:126px !important;} +.height127{ height:127px !important;} +.height128{ height:128px !important;} +.height129{ height:129px !important;} +.height130 { height:130px !important;} +.height140 { height:140px !important;} +.height150 { height:150px !important;} +.height160 { height:160px !important;} +.height170 { height:170px !important;} +.height180 { height:180px !important;} +.height190 { height:190px !important;} +.height200 { height:200px !important;} +.height210 { height:210px !important;} +.height217 { height:217px !important;} +.height220 { height:220px !important;} +.height230 { height:230px !important;} +.height240 { height:240px !important;} +.height250 { height:250px !important;} +.height253 { height:253px !important;} +.height255 { height:255px !important;} +.height260 { height:260px !important;} +.height270 { height:270px !important;} +.height280 { height:280px !important;} +.height290 { height:290px !important;} +.height300 { height:300px !important;} +.height310 { height:310px !important;} +.height320 { height:320px !important;} +.height330 { height:330px !important;} +.height340 { height:340px !important;} +.height350 { height:350px !important;} +.height360 { height:360px !important;} +.height370 { height:370px !important;} +.height380 { height:380px !important;} +.height390 { height:390px !important;} +.height400 { height:400px !important;} +.height410 { height:410px !important;} +.height420 { height:420px !important;} +.height430 { height:430px !important;} +.height440 { height:440px !important;} +.height450 { height:450px !important;} +.height460 { height:460px !important;} +.height470 { height:470px !important;} +.height480 { height:480px !important;} +.height490 { height:490px !important;} +.height500 { height:500px !important;} +.height510 { height:510px !important;} +.height515 {height:515px !important;} +.height520 { height:520px !important;} +.height530 { height:530px !important;} +.height540 { height:540px !important;} +.height550 { height:550px !important;} +.height560 { height:560px !important;} +.height570 { height:570px !important;} +.height580 { height:580px !important;} +.height590 { height:590px !important;} +.height600 { height:600px !important;} +.height610 { height:610px !important;} +.height620 { height:620px !important;} +.height630 { height:630px !important;} +.height640 { height:640px !important;} +.height650 { height:650px !important;} +.height660 { height:660px !important;} +.height670 { height:670px !important;} +.height680 { height:680px !important;} +.height690 { height:690px !important;} +.height700 { height:700px !important;} +.height710 { height:710px !important;} +.height720 { height:720px !important;} +.height730 { height:730px !important;} +.height740 { height:740px !important;} +.height750 { height:750px !important;} +.height760 { height:760px !important;} +.height770 { height:770px !important;} +.height780 { height:780px !important;} +.height790 { height:790px !important;} +.height800 { height:800px !important;} +.height810 { height:810px !important;} +.height820 { height:820px !important;} +.height830 { height:830px !important;} +.height840 { height:840px !important;} +.height850 { height:850px !important;} +.height860 { height:860px !important;} +.height870 { height:870px !important;} +.height880 { height:880px !important;} +.height890 { height:890px !important;} +.height900 { height:900px !important;} +.height910 { height:910px !important;} +.height920 { height:920px !important;} +.height930 { height:930px !important;} +.height940 { height:940px !important;} +.height950 { height:950px !important;} +.height960 { height:960px !important;} +.height970 { height:970px !important;} +.height980 { height:980px !important;} +.height990 { height:990px !important;} +.height1000 { height:1000px !important;} + +/*공간주기*/ +.space5 { clear:both; width:100%; height:5px !important;} +.space10 { clear:both; width:100%; height:10px !important;} +.space15 { clear:both; width:100%; height:15px !important;} +.space20 { clear:both; width:100%; height:20px !important;} +.space25 { clear:both; width:100%; height:25px !important;} +.space30 { clear:both; width:100%; height:30px !important;} +.space35 { clear:both; width:100%; height:35px !important;} +.space40 { clear:both; width:100%; height:40px !important;} +.space45 { clear:both; width:100%; height:45px !important;} +.space50 { clear:both; width:100%; height:50px !important;} +.space55 { clear:both; width:100%; height:55px !important;} +.space60 { clear:both; width:100%; height:60px !important;} +.space65 { clear:both; width:100%; height:65px !important;} +.space70 { clear:both; width:100%; height:70px !important;} +.space75 { clear:both; width:100%; height:75px !important;} +.space80 { clear:both; width:100%; height:80px !important;} +.space85 { clear:both; width:100%; height:85px !important;} +.space90 { clear:both; width:100%; height:95px !important;} +.space100 { clear:both; width:100%; height:100px !important;} +.space110 { clear:both; width:100%; height:110px !important;} +.space120 { clear:both; width:100%; height:120px !important;} +.space130 { clear:both; width:100%; height:130px !important;} +.space140 { clear:both; width:100%; height:140px !important;} +.space150 { clear:both; width:100%; height:150px !important;} +.space200 { clear:both; width:100%; height:200px !important;} +.space250 { clear:both; width:100%; height:250px !important;} +.space300 { clear:both; width:100%; height:300px !important;} +.space350 { clear:both; width:100%; height:350px !important;} +.space400 { clear:both; width:100%; height:400px !important;} +.space450 { clear:both; width:100%; height:450px !important;} +.space500 { clear:both; width:100%; height:500px !important;} + +/*마진top 설정*/ +.mt0 { margin-top:0px !important;} +.mt1 { margin-top:1px !important;} +.mt2 { margin-top:2px !important;} +.mt3 { margin-top:3px !important;} +.mt4 { margin-top:4px !important;} +.mt5 { margin-top:5px !important;} +.mt6 { margin-top:6px !important;} +.mt7 { margin-top:7px !important;} +.mt8 { margin-top:8px !important;} +.mt9 { margin-top:9px !important;} +.mt10 { margin-top:10px !important;} +.mt15 { margin-top:15px !important;} +.mt20 { margin-top:20px !important;} +.mt25 { margin-top:25px !important;} +.mt30 { margin-top:30px !important;} +.mt35 { margin-top:35px !important;} +.mt40 { margin-top:40px !important;} +.mt45 { margin-top:45px !important;} +.mt50 { margin-top:50px !important;} +.mt55 { margin-top:55px !important;} +.mt60 { margin-top:60px !important;} +.mt65 { margin-top:65px !important;} +.mt70 { margin-top:70px !important;} +.mt75 { margin-top:75px !important;} +.mt80 { margin-top:80px !important;} +.mt85 { margin-top:85px !important;} +.mt90 { margin-top:90px !important;} +.mt95 { margin-top:95px !important;} +.mt100 { margin-top:100px !important;} +.mt150 { margin-top:150px !important;} +.mt200 { margin-top:200px !important;} +.mt250 { margin-top:250px !important;} +.mt300 { margin-top:300px !important;} + +/*마진right 설정*/ +.mr0 { margin-right:0px !important;} +.mr1 { margin-right:1px !important;} +.mr2 { margin-right:2px !important;} +.mr3 { margin-right:3px !important;} +.mr4 { margin-right:4px !important;} +.mr5 { margin-right:5px !important;} +.mr6 { margin-right:6px !important;} +.mr7 { margin-right:7px !important;} +.mr8 { margin-right:8px !important;} +.mr9 { margin-right:9px !important;} +.mr10 { margin-right:10px !important;} +.mr12 { margin-right:12px !important;} +.mr15 { margin-right:15px !important;} +.mr20 { margin-right:20px !important;} +.mr25 { margin-right:25px !important;} +.mr30 { margin-right:30px !important;} +.mr35 { margin-right:35px !important;} +.mr40 { margin-right:40px !important;} +.mr45 { margin-right:45px !important;} +.mr46 { margin-right:46px !important;} +.mr50 { margin-right:50px !important;} +.mr55 { margin-right:55px !important;} +.mr60 { margin-right:60px !important;} +.mr65 { margin-right:65px !important;} +.mr70 { margin-right:70px !important;} +.mr75 { margin-right:75px !important;} +.mr80 { margin-right:80px !important;} +.mr85 { margin-right:85px !important;} +.mr90 { margin-right:90px !important;} +.mr95 { margin-right:95px !important;} +.mr100 { margin-right:100px !important;} +.mr150 { margin-right:150px !important;} +.mr200 { margin-right:200px !important;} +.mr250 { margin-right:250px !important;} +.mr300 { margin-right:300px !important;} + + +/*마진bottm 설정*/ +.mb0 { margin-bottom:0px !important;} +.mb1 { margin-bottom:1px !important;} +.mb2 { margin-bottom:2px !important;} +.mb3 { margin-bottom:3px !important;} +.mb4 { margin-bottom:4px !important;} +.mb5 { margin-bottom:5px !important;} +.mb6 { margin-bottom:6px !important;} +.mb7 { margin-bottom:7px !important;} +.mb8 { margin-bottom:8px !important;} +.mb9 { margin-bottom:9px !important;} +.mb10 { margin-bottom:10px !important;} +.mb15 { margin-bottom:15px !important;} +.mb20 { margin-bottom:20px !important;} +.mb25 { margin-bottom:25px !important;} +.mb30 { margin-bottom:30px !important;} +.mb35 { margin-bottom:35px !important;} +.mb40 { margin-bottom:40px !important;} +.mb45 { margin-bottom:45px !important;} +.mb50 { margin-bottom:50px !important;} +.mb55 { margin-bottom:55px !important;} +.mb60 { margin-bottom:60px !important;} +.mb65 { margin-bottom:65px !important;} +.mb70 { margin-bottom:70px !important;} +.mb75 { margin-bottom:75px !important;} +.mb80 { margin-bottom:80px !important;} +.mb85 { margin-bottom:85px !important;} +.mb90 { margin-bottom:90px !important;} +.mb95 { margin-bottom:95px !important;} +.mb100 { margin-bottom:100px !important;} +.mb150 { margin-bottom:150px !important;} +.mb200 { margin-bottom:200px !important;} +.mb250 { margin-bottom:250px !important;} +.mb300 { margin-bottom:300px !important;} + +/*마진left 설정*/ +.ml0 { margin-left:0px !important;} +.ml1 { margin-left:1px !important;} +.ml2 { margin-left:2px !important;} +.ml3 { margin-left:3px !important;} +.ml4 { margin-left:4px !important;} +.ml5 { margin-left:5px !important;} +.ml6 { margin-left:6px !important;} +.ml7 { margin-left:7px !important;} +.ml8 { margin-left:8px !important;} +.ml9 { margin-left:9px !important;} +.ml10 { margin-left:10px !important;} +.ml15 { margin-left:15px !important;} +.ml20 { margin-left:20px !important;} +.ml25 { margin-left:25px !important;} +.ml30 { margin-left:30px !important;} +.ml35 { margin-left:35px !important;} +.ml40 { margin-left:40px !important;} +.ml45 { margin-left:45px !important;} +.ml50 { margin-left:50px !important;} +.ml55 { margin-left:55px !important;} +.ml60 { margin-left:60px !important;} +.ml65 { margin-left:65px !important;} +.ml70 { margin-left:70px !important;} +.ml75 { margin-left:75px !important;} +.ml80 { margin-left:80px !important;} +.ml85 { margin-left:85px !important;} +.ml90 { margin-left:90px !important;} +.ml95 { margin-left:95px !important;} +.ml100 { margin-left:100px !important;} +.ml116{ margin-left:116px !important;} +.ml150 { margin-left:150px !important;} +.ml200 { margin-left:200px !important;} +.ml250 { margin-left:250px !important;} +.ml300 { margin-left:300px !important;} + +/*padding*/ +.pd0 { padding:0px !important; box-sizing:border-box; } +.pd1 { padding:1px !important; box-sizing:border-box; } +.pd2 { padding:2px !important; box-sizing:border-box; } +.pd3 { padding:3px !important; box-sizing:border-box; } +.pd4 { padding:4px !important; box-sizing:border-box; } +.pd5 { padding:5px !important; box-sizing:border-box; } +.pd6 { padding:6px !important; box-sizing:border-box; } +.pd7 { padding:7px !important; box-sizing:border-box; } +.pd8 { padding:8px !important; box-sizing:border-box; } +.pd9 { padding:9px !important; box-sizing:border-box; } +.pd10 { padding:10px !important; box-sizing:border-box; } +.pd15 { padding:15px !important; box-sizing:border-box; } +.pd20 { padding:20px !important; box-sizing:border-box; } +.pd25 { padding:25px !important; box-sizing:border-box; } +.pd30 { padding:30px !important; box-sizing:border-box; } + +/*padding top 설정*/ +.pt0 { padding-top:0px !important;} +.pt1 { padding-top:1px !important;} +.pt2 { padding-top:2px !important;} +.pt3 { padding-top:3px !important;} +.pt4 { padding-top:4px !important;} +.pt5 { padding-top:5px !important;} +.pt6 { padding-top:6px !important;} +.pt7 { padding-top:7px !important;} +.pt8 { padding-top:8px !important;} +.pt9 { padding-top:9px !important;} +.pt10 { padding-top:10px !important;} +.pt15 { padding-top:15px !important;} +.pt20 { padding-top:20px !important;} +.pt25 { padding-top:25px !important;} +.pt30 { padding-top:30px !important;} +.pt35 { padding-top:35px !important;} +.pt40 { padding-top:40px !important;} +.pt45 { padding-top:45px !important;} +.pt50 { padding-top:50px !important;} +.pt55 { padding-top:55px !important;} +.pt60 { padding-top:60px !important;} +.pt65 { padding-top:65px !important;} +.pt70 { padding-top:70px !important;} +.pt75 { padding-top:75px !important;} +.pt80 { padding-top:80px !important;} +.pt85 { padding-top:85px !important;} +.pt90 { padding-top:90px !important;} +.pt95 { padding-top:95px !important;} +.pt100 { padding-top:100px !important;} +.pt150 { padding-top:150px !important;} +.pt200 { padding-top:200px !important;} +.pt250 { padding-top:250px !important;} +.pt300 { padding-top:300px !important;} + +/*padding right 설정*/ +.pr0 { padding-right:0px !important;} +.pr1 { padding-right:1px !important;} +.pr2 { padding-right:2px !important;} +.pr3 { padding-right:3px !important;} +.pr4 { padding-right:4px !important;} +.pr5 { padding-right:5px !important;} +.pr6 { padding-right:6px !important;} +.pr7 { padding-right:7px !important;} +.pr8 { padding-right:8px !important;} +.pr9 { padding-right:9px !important;} +.pr10 { padding-right:10px !important;} +.pr15 { padding-right:15px !important;} +.pr20 { padding-right:20px !important;} +.pr25 { padding-right:25px !important;} +.pr30 { padding-right:30px !important;} +.pr35 { padding-right:35px !important;} +.pr40 { padding-right:40px !important;} +.pr45 { padding-right:45px !important;} +.pr50 { padding-right:50px !important;} +.pr55 { padding-right:55px !important;} +.pr60 { padding-right:60px !important;} +.pr65 { padding-right:65px !important;} +.pr70 { padding-right:70px !important;} +.pr75 { padding-right:75px !important;} +.pr80 { padding-right:80px !important;} +.pr85 { padding-right:85px !important;} +.pr90 { padding-right:90px !important;} +.pr95 { padding-right:95px !important;} +.pr100 { padding-right:100px !important;} +.pr150 { padding-right:150px !important;} +.pr200 { padding-right:200px !important;} +.pr250 { padding-right:250px !important;} +.pr300 { padding-right:300px !important;} + + +/*padding bottm 설정*/ +.pb0 { padding-bottom:0px !important;} +.pb1 { padding-bottom:1px !important;} +.pb2 { padding-bottom:2px !important;} +.pb3 { padding-bottom:3px !important;} +.pb4 { padding-bottom:4px !important;} +.pb5 { padding-bottom:5px !important;} +.pb6 { padding-bottom:6px !important;} +.pb7 { padding-bottom:7px !important;} +.pb8 { padding-bottom:8px !important;} +.pb9 { padding-bottom:9px !important;} +.pb10 { padding-bottom:10px !important;} +.pb13 { padding-bottom:13px !important;} +.pb15 { padding-bottom:15px !important;} +.pb20 { padding-bottom:20px !important;} +.pb25 { padding-bottom:25px !important;} +.pb30 { padding-bottom:30px !important;} +.pb35 { padding-bottom:35px !important;} +.pb40 { padding-bottom:40px !important;} +.pb45 { padding-bottom:45px !important;} +.pb50 { padding-bottom:50px !important;} +.pb55 { padding-bottom:55px !important;} +.pb60 { padding-bottom:60px !important;} +.pb65 { padding-bottom:65px !important;} +.pb70 { padding-bottom:70px !important;} +.pb75 { padding-bottom:75px !important;} +.pb80 { padding-bottom:80px !important;} +.pb85 { padding-bottom:85px !important;} +.pb90 { padding-bottom:90px !important;} +.pb95 { padding-bottom:95px !important;} +.pb100 { padding-bottom:100px !important;} +.pb150 { padding-bottom:150px !important;} +.pb200 { padding-bottom:200px !important;} +.pb250 { padding-bottom:250px !important;} +.pb300 { padding-bottom:300px !important;} + +/*padding left 설정*/ +.pl0 { padding-left:0px !important;} +.pl1 { padding-left:1px !important;} +.pl2 { padding-left:2px !important;} +.pl3 { padding-left:3px !important;} +.pl4 { padding-left:4px !important;} +.pl5 { padding-left:5px !important;} +.pl6 { padding-left:6px !important;} +.pl7 { padding-left:7px !important;} +.pl8 { padding-left:8px !important;} +.pl9 { padding-left:9px !important;} +.pl10 { padding-left:10px !important;} +.pl15 { padding-left:15px !important;} +.pl20 { padding-left:20px !important;} +.pl25 { padding-left:25px !important;} +.pl30 { padding-left:30px !important;} +.pl35 { padding-left:35px !important;} +.pl40 { padding-left:40px !important;} +.pl45 { padding-left:45px !important;} +.pl50 { padding-left:50px !important;} +.pl55 { padding-left:55px !important;} +.pl60 { padding-left:60px !important;} +.pl65 { padding-left:65px !important;} +.pl70 { padding-left:70px !important;} +.pl75 { padding-left:75px !important;} +.pl80 { padding-left:80px !important;} +.pl85 { padding-left:85px !important;} +.pl90 { padding-left:90px !important;} +.pl95 { padding-left:95px !important;} +.pl100 { padding-left:100px !important;} +.pl150 { padding-left:150px !important;} +.pl200 { padding-left:200px !important;} +.pl250 { padding-left:250px !important;} +.pl300 { padding-left:300px !important;} + +/*line-heihgt 설정*/ +.lh10p { line-height:10% !important; } +.lh20p { line-height:20% !important; } +.lh30p { line-height:30% !important; } +.lh38 { line-height:38px !important; } +.lh40p { line-height:40% !important; } +.lh50p { line-height:50% !important; } +.lh60p { line-height:60% !important; } +.lh70p { line-height:70% !important; } +.lh80p { line-height:80% !important; } +.lh90p { line-height:90% !important; } +.lh100p { line-height:100% !important; } + +.lh0 { line-height:0 !important; } +.lh1 { line-height:1em !important; } +.lh1_1 { line-height:1.1em !important; } +.lh1_2 { line-height:1.2em !important; } +.lh1_3 { line-height:1.3em !important; } +.lh1_4 { line-height:1.4em !important; } +.lh1_5 { line-height:1.5em !important; } +.lh1_6 { line-height:1.6em !important; } +.lh1_7 { line-height:1.7em !important; } +.lh1_8 { line-height:1.8em !important; } +.lh1_9 { line-height:1.9em !important; } +.lh2 { line-height:2em !important; } + +.lh20 { line-height:20px !important; } +.lh24 { line-height:24px !important; } +.lh25 { line-height:25px !important; } +.lh26 { line-height:26px !important; } +.lh29 { line-height:29px !important; } +.lh30 { line-height:30px !important; } +.lh32 { line-height:32px !important; } +.lh35 { line-height:35px !important; } +.lh40 { line-height:40px !important; } +.lh45 { line-height:45px !important; } +.lh50 { line-height:50px !important; } +.lh55 { line-height:55px !important; } +.lh56 { line-height:56px !important; } +.lh58 { line-height:58px !important; } +.lh60 { line-height:60px !important; } +.lh65 { line-height:65px !important; } +.lh70 { line-height:70px !important; } \ No newline at end of file Property changes on: base3.10/src/main/webapp/css/admin/style.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/css/admin/board.css =================================================================== --- base3.10/src/main/webapp/css/admin/board.css (nonexistent) +++ base3.10/src/main/webapp/css/admin/board.css (revision 7) @@ -0,0 +1,578 @@ +@charset "UTF-8"; +/* CSS Document */ + +table a { color:#333; } +table a:hover { text-decoration:underline; } +button { cursor:pointer; } + +/*메일첨부*/ +#tagList { margin-top:5px; } +#tagList li { float:none; margin:5px 5px 0 0; display:inline-block; background:#f1f1f1; border-radius:5px; padding:10px; box-sizing:border-box; } +#tagList li .inputText { background:none !important; } +#tagInput { width:100% !important; } +#inputEmailAddr li, #emailAddr li { } + +/*게시판 list*/ +.table_list { width:100%; border-top:2px solid #224173; font-size:14px; border-collapse:initial; table-layout:fixed; } +.table_list th { background:#f6f8ff; color:#224173; border-bottom:1px solid #c0cdf7; text-align:center; padding:15px 0; font-weight:600; box-sizing:border-box; vertical-align:middle; } +.table_list td { background:#fff; border-bottom:1px solid #d5dfff; text-align:center; padding:15px 10px; line-height:1.3em; box-sizing:border-box; vertical-align:middle; } +.table_list td:first-child, .table_list th:first-child { border-left:none; } +.table_list td:last-child, .table_list th:last-child { border-right:none; padding-left:10px; padding-right:10px; } +.table_list tr.important td { background:#f9f9f9 !important; font-weight:600; } +/*.table_list tr:hover td { background:#f9f9f9;}*/ +.table_list tr.notice td { background:#f6f8ff; border-bottom:1px solid #c0cdf7; } +.table_list tr td.secret { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; } +.table_list tr td.secret a { width:auto; max-width:calc(100% - 30px); } +.icon_secret { text-indent:-50000px; width:20px; height:20px; margin-left:7px; display:inline-block; background:url(../../images/custom/icon_lock.svg) 50% 50% no-repeat; background-size:11px; } +.table_list tr.emphasis td { background:#ceeef6; font-size:13px; font-weight:600; } +.table_list td a { font-weight:600; width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:inline-block;} +.table_list td p { width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block; } +.table_list td .dot { font-weight:600; width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: inline-block;} +.table_list td a.calc10 { width: calc(100% - 10px); float:left; } +.score { padding:0px 7px; font-weight:400; border-radius:5px; background:#0081c8; margin-left:5px; color:#fff; font-size:0.8em; display:inline-block; transform:translateY(-2px); } +.exp.filenote { font-size:0.9em; margin-top:5px; display:inline-block; } + +/*게시판write style1*/ +.table_write { width:100%; font-size:14px; border-top:2px solid #224173; border-collapse:initial; table-layout:fixed;} +.table_write th { background:#f6f8ff; color:#224173; border-bottom:1px solid #d5dfff; text-align:center; padding:13px 0; font-weight:600; box-sizing:border-box; vertical-align:middle; } +.table_write td { background:#fff; border-bottom:1px solid #d5dfff; padding:8px 10px; box-sizing:border-box; vertical-align:middle; } +.table_write tr.important td { background:#f9f9f9 !important; } +.table_write tr:hover td { /* background:#f9f9f9; */ } +.table_write tr:first-child { } + +/*게시판view*/ +.table_view { width:100%; border-top:2px solid #224173; font-size:14px; table-layout:fixed; } +.table_view th { background:#f6f8ff; color:#224173; border-bottom:1px solid #ced8e8; font-weight:600; text-align:center; padding:13px 10px; box-sizing:border-box; vertical-align:middle; } +.table_view td { background:#fff; border-bottom:1px solid #ced8e8; text-align:left; padding:13px 10px; box-sizing:border-box; vertical-align:middle; } +.table_view .board_file th, .table_view .board_file td { font-size:13px; border-top:1px solid #e4e4e4; padding:10px;} +.table_view td.border_bottom { border-bottom:1px solid #e4e4e4; } +.table_view td.board_contents td { border:1px solid #ccc !important; } + +/*basic write*/ +.board_write { width:100%; border-top:1px solid #666; border-bottom: 1px solid #ededed; table-layout:fixed; } +.board_write > ul > li { width:100%; border-bottom: 1px solid #ededed; padding:25px 0; position:relative; transition:all 0.3s;align-items: center;} +.board_write.intitle > ul > li:last-child, .board_write > ul > li:last-child { border-bottom:none; } +.board_write > ul > li::after { content:''; display:block; clear:both; } +.board_write .item_text .board_title { display:block; font-weight:500; font-size:1.3em; margin-bottom:15px; color:#000; letter-spacing: -.5px; } +.board_write .item_text { width:100%; } +.board_write .board_label { margin-bottom:15px; display:block; font-size:1.1em; } +.board_write.auto { table-layout:auto; } + +/*label left board write*/ +.board_write.intitle { width:100%; border-top:2px solid #333; border-bottom: 1px solid #ededed; padding:0 0; } +.board_write.intitle > ul > li { width:100%; padding:15px 0; min-height:65px; position:relative; transition:all 0.3s; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; } +.board_write.intitle > ul > li::after { content:''; display:block; clear:both; } +.board_write.intitle .board_label { width:200px; margin-bottom:0; display:block; font-size:1.1em; } +.board_write.intitle .input_wrap { width:calc(100% - 200px); } + +.board_label_wrap { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:center; align-items: center; } +.board_label_wrap ul { margin-left:10px;display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; border:1px solid #ccc; justify-content: flex-start; border-radius:5px; overflow:hidden; } +.board_label_wrap ul li { border-right:1px solid #ccc; padding:2px 8px; font-size:0.9em; cursor: pointer;} +.board_label_wrap ul li.active { background:#143b84; color:#fff; } +.board_label_wrap ul li:last-child { border-right:none; } +.board_label_wrap .board_label { width:auto; } +.input_show { display:block; } +.select_show { display:none; } + +.input_wrap .option { display:inline-block; } + +/*댓글 리스트*/ +.reply_list { width:100%; border-top:2px solid #224173; font-size:14px; border-collapse:initial; table-layout:fixed; } +.reply_list th { background:#f6f8ff; color:#224173; border-bottom:1px solid #d5dfff; text-align:center; padding:15px 0; font-weight:600; box-sizing:border-box; vertical-align:middle; } +.reply_list td { background:#fff; border-bottom:1px solid #d5dfff; text-align:left; padding:15px 10px; box-sizing:border-box; vertical-align:middle; position:relative; } +.reply_list td:first-child, .reply_list th:first-child { border-left:none; } +.reply_list td:last-child, .reply_list th:last-child { border-right:none; padding-left:10px; padding-right:10px; } +.reply_list .btn_wrap { position:absolute; top:15px; right:15px; } +.reply_list .btn_wrap button { border:none; box-shadow:none; } +.reply_list .text { margin-top:10px; } +.reply_list .by { font-size:.9em; margin-top:0; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: flex-start; align-items:center;flex-wrap: wrap;} +.reply_list .by strong { display:inline-block; margin-right:10px; font-weight:500; } +.reply_list .by em { color:#999; font-size:.9em; margin-right:10px; border:none; } + +.reply_list .reply_write { line-height:0; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; } +.reply_list .reply_write .textArea { width:calc(100% - 100px); height:100px; } +.reply_list .reply_write .textArea:hover { border:1px solid #ccc; box-shadow:none; } +.reply_list .reply_write button { width:100px; height:100px; } + +/*narrow board write*/ +.board_write.narrow { width:100%; border-top:none; border-bottom:1px solid #ededed; padding:0 0; } +.board_write.narrow > ul > li { width:100%; padding:15px 0; position:relative; transition:all 0.3s; } +.board_write.narrow > ul > li::after { content:''; display:block; clear:both; } +.board_write.narrow .board_label { width:100%; margin-bottom:5px; display:block; font-size:1em; } +.board_write.narrow .input_wrap { width:100%; } + +.table_write.th_s th, .table_write.th_s td { font-size:0.9em; } + +/*포털용 input 스타일*/ +.table_write td .inputText, .selectText, .table_write td .inputFile { font-size:13px; font-weight:400; box-sizing:border-box; padding:0 10px; display:inline-block; background-color:#fff; } /* 익스 9부터 적용가능, 아이폰 둥근 모서리 설정빼기 */ +.table_write td textarea { font-size:13px; font-weight:400; box-sizing:border-box; padding:10px; display:inline-block; background-color:#fff; } +.table_write .btn_s { height:35px; } +.inline { width:100%; position:relative; } +.inline button { float:left; } +.inline input { float:left; } +.inline::after { content:''; display:block; clear:both; } + +.state1, .state2, .state3 { display:inline-block; padding:5px 7px; line-height:1em; border:1px solid #ccc; font-size:.9em; border-radius:3px; } +.state1 { border-color:#236fca; color:#236fca; background:#e8eefd; } /*승인*/ +.state2 { border-color:#666; color:#666; background:#f3f3f3; } /*진행중*/ +.state3 { border-color:#e6624a; color:#e6624a; background:#fff0f0; } /*반려*/ + +/*제목*/ +.table_write tr:first-child td input#notice { margin-top:10px; margin-left:10px; } +.table_write tr td .file_up label { padding:6px 25px 6px 10px; height:35px; } + +/*.reply_wrap { padding-top:25px; margin-top:30px; border-top:1px solid #ddd; } +.reply_write_wrap { border-radius:5px; transition:all 0.3s; border:1px solid #ccc; box-sizing:border-box; } +.reply_write_wrap:hover { border-color:#999; } +.reply_write_wrap ul > li { padding:5px; border-bottom:1px solid #ededed; } +.reply_write_wrap ul > li .textArea { width:100%; height:130px; border:none; border-radius:5px 5px 0 0; } +.reply_write_wrap ul > li button { width:100px; height:42px; background:#0c5bba; color:#fff; } +.reply_write_wrap ul > li:last-child { padding:10px; border-bottom:0; margin-bottom:0; } +.reply_write_wrap ul > li.alignR { padding:10px; }*/ + +.board_view .reply_wrap { background:#f9f9f9; padding:20px; border-bottom:1px solid #ededed; } +.reply_wrap { padding:20px 0; transition:all 0.3s; } +.estimate_reply { padding:20px 0; } +.reply_wrap .reply_list_title { padding:0 0px 15px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; position:relative; align-items:center; } +.reply_wrap .reply_list_title strong { } + +.reply_wrap.active { background:#f1f1f1; border-top:1px solid #ddd;} + +.reply_wrap .pagination { width:100%; margin:30px 0 0; text-align:center; } + +.reply_list_wrap { padding:0px; } +.reply_list_wrap ul { } +.reply_list_wrap > ul > li { background:#fff; transition:all 0.3s; border:1px solid #ddd; margin-bottom:10px; border-radius:5px; position:relative; padding:15px; box-sizing:border-box; } +.reply_list_wrap ul li:last-child { margin-bottom:0; } +.reply_list_wrap ul li:hover { border-color:#666; } +.reply_list_wrap ul li .by { margin-bottom:15px; font-size:1.1em; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: flex-start; align-items:center; flex-wrap: wrap; } +.reply_list_wrap ul li .by strong { font-size:13px; font-weight:600; display:inline-block; color:#333; } +.reply_list_wrap ul li .by strong::after { width:3px; height:3px; background:#999; content:''; margin:0 10px 4px; display:inline-block; border-radius:10px; } +.reply_list_wrap ul li .by em { font-size:13px; margin-right:10px; border:none; color:#999; } +.reply_list_wrap ul li .text { margin-top:10px; } +.reply_list_wrap ul li .by button { font-size:0.8em;border:none; } +.reply_list_wrap ul li .by button:hover { box-shadow:none; } +.reply_list_wrap ul li .by .btn_wrap { position:absolute; top:15px; right:15px; } +.reply_list_wrap ul li .text { height:auto; max-height:none; } +.reply_list_wrap ul li .clickmore { display:none; } +.reply_list_wrap ul li.nothing { padding:20px !important; text-align:center; color:#999; background:#fff; border-color:#e2e2e2;} +.reply_list_wrap ul li.nothing:hover { border-color:#ddd; } +.reply_list_wrap .page { width:100%; margin-top:25px; } + +/* .reply_list_wrap ul li.long .text { max-height:48px; overflow:hidden; position:relative;} +.reply_list_wrap ul li.long .text::after { width:100%; height:50px; content:''; display:block; position:absolute; left:0; bottom:0; z-index:0; +background: rgb(255,255,255); +background: -moz-linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); +background: -webkit-linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); +background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.8) 30%, rgba(255,255,255,0) 100%);} +.reply_list_wrap ul li .text::after { display:none; } +.reply_list_wrap ul li.long .clickmore { display:inline-block; position:absolute; bottom:20px; left:20px; z-index:1; } + */ +.reply_write_wrap { background:#fff; width:100%; border-radius:5px; transition:all 0.3s; border:1px solid #e2e2e2; box-sizing:border-box; margin-bottom:10px; } +.reply_write_wrap:hover { border-color:#999; } +.reply_write_wrap > ul > li:last-child { padding:6px; } +.reply_write_wrap li::after { content:''; display:block; clear:both; } +.reply_write_wrap li .textArea { width:100%; height:80px; border:none; border-radius:5px; background:transparent; } +.reply_write_wrap li .textArea:hover { box-shadow:none; } +.reply_write_wrap li .textArea[disabled]:hover { border:none; } +.reply_write_wrap li .wby { margin:10px; display:inline-block; font-size:0.9em; } +.reply_write_wrap li button { width:70px; height:35px; } +.reply_write_wrap li:last-child { padding:6px; border-bottom:0; margin-bottom:0; border-top:1px solid #e4e4e4; } +.reply_write_wrap li.alignR { padding:10px; } +.reply_write_wrap .writer .text_show { float:left; margin-right:5px; } +.reply_write_wrap li ul li { border-bottom:none; } +.reply_write_wrap li ul li:last-child { } +.textarea_wrap { line-height: 0; } +.reply_write_wrap .text_show .textArea + label { transition:opacity 0s; } +.reply_write_wrap .text_show.focus .textArea + label { top:20px; transform:translateY(-50%); opacity:0; } + +.text_show { position:relative; } +.text_show label { position:absolute; top:16px; left:8px; transition:all 0.3s; line-height:1em; pointer-events:none; color:#999; font-size:0.9em; padding:0 5px; } +.text_show .inputText + label { top:50%; transform:translateY(-50%); } +.text_show.focus label { background:#fff; color:#000; top:-5px; font-size:0.7em; } +.text_show.focus .inputText + label { transform:translateY(0); } + +a.btn_s { cursor:pointer; padding:5px 10px; border-radius:2px; letter-spacing:0; transition: all .2s; border:1px solid #ccc; background:#fff; display:inline-block; } +a.btn_s:hover { text-decoration:none; border:1px solid #666; box-shadow:0 0px 3px rgba(173,197,218,0.8); } + +.reply_write_wrap .grade { display:block; } +.grade::after { content:''; display:block; clear:both; } +.grade_wrap .grade { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; padding:5px 10px 5px; } +.grade_wrap .grade li { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; text-align:center;margin-right:30px; padding-bottom:0 !important; margin-bottom:0 !important; cursor:pointer; } +.grade_wrap .grade li:last-child { margin-right:0 !important; } +/*.grade_wrap .grade li.opaque { opacity:0.5; margin-bottom:0; } +.grade_wrap .grade li.opaque.active { opacity:1; }*/ +.grade_wrap .grade li input[type='radio']{left:0; top:0; width:0px; height:0px; opacity:0; margin:0; } +.grade_wrap .grade li input[type='radio'] + label { opacity:0.5; cursor:pointer; font-size:1em; font-weight:400; color:#333; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-content: space-between; flex-direction:row; justify-content:center; align-items: center; min-width:60px;} +.grade_wrap .grade li input[type='radio'] + label::after { content:''; display:none; width:40px; height:40px; left:5px; top:8px; border-radius:40px; } +.grade_wrap .grade li input[type='radio'] + label::before { border:none; content:''; display:inline-block; width:20px; height:20px; margin-top:0; border-radius:40px; margin-right:10px;} +.grade_wrap .grade li:nth-child(1) input[type='radio'] + label::before { background:url(../../images/custom/smile1.svg) 50% 50% no-repeat; background-size:contain; } +.grade_wrap .grade li:nth-child(2) input[type='radio'] + label::before { background:url(../../images/custom/smile2.svg) 50% 50% no-repeat; background-size:contain; } +.grade_wrap .grade li:nth-child(3) input[type='radio'] + label::before { background:url(../../images/custom/smile3.svg) 50% 50% no-repeat; background-size:contain; } +.grade_wrap .grade li:nth-child(4) input[type='radio'] + label::before { background:url(../../images/custom/smile4.svg) 50% 50% no-repeat; background-size:contain; } +.grade_wrap .grade li:nth-child(5) input[type='radio'] + label::before { background:url(../../images/custom/smile5.svg) 50% 50% no-repeat; background-size:contain; } +.grade_wrap .grade li input[type='radio']:checked + label { opacity:1; } +.grade_wrap .textarea_wrap .textarea { border:none; } + +/*pagenation*/ + +.page { display:inline-block; margin-top:13px; text-align:center; } +.page ul { display:inline-block; text-align:center; } +.page ul li { margin:0 3px; display:inline-block; } +.page ul li a { color:#666; border-radius: 50px; padding:3px 10px; display: inline-block;} +.page ul li a:hover { color:#333; } +.page ul li.active a { background:#f0f1fb; color:#666; } + +/*datepicker */ +.datepicker_wrap { float:left; border:1px solid #ccc; border-radius:2px; transition:all 0.5s; } +.datepicker_wrap .inputText { height:33px !important; } +.datepicker { float:left; border:0 !important; border-radius:0 !important; } +.datepicker:hover { box-shadow:none !important; } +.datepick { float:left; margin:0 10px; line-height:35px; font-size:1.5em; } +.icon_calendar { float:left; width:35px; height:35px; border-left:none; border-radius:0; display:inline-block; background:url(../../images/admin/icon_calendar.svg) 50% 50% no-repeat; background-size:15px; } +.datepicker_wrap:hover { border:1px solid #666;box-shadow:0 0px 3px rgba(173,197,218,0.8); } + +.tab_wrap .tabwexcel { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:space-between; border-bottom:1px solid #333; margin-bottom:20px; } +.tab_wrap .tabwexcel .tabs { border-bottom:none; margin-bottom:0; width:auto; } + +/*기존 탭*/ +.tabs { width:100%; border-bottom:1px solid #666; margin-bottom:20px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; } +.tabs li { display:inline-block; font-weight:600; border-right:0; border-bottom:0; box-sizing:border-box; } +.tabs li a { padding:0 30px; line-height:43px; box-sizing:border-box; display:block; border-radius:5px 5px 0 0; background:#f4f4f4; color:#767676; border:1px solid #ededed; border-bottom:none; } +.tabs li.active { height:44px; } +.tabs li.active a { border-color:#666; background:#fff; color:#333; height:45px; } +.tabs li:last-child { } + +/*탭 이동*/ +.tab_link { width:100%; border-bottom:1px solid #666; margin-bottom:20px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; } +.tab_link li { display:inline-block; font-weight:600; border-right:0; border-bottom:0; box-sizing:border-box; } +.tab_link li a { padding:0 30px; line-height:43px; box-sizing:border-box; display:block; border-radius:5px 5px 0 0; background:#f4f4f4; color:#767676; border:1px solid #ededed; border-bottom:none; } +.tab_link li.active { height:44px; } +.tab_link li.active a { border-color:#666; background:#fff; color:#333; height:45px; } +.tab_link li:last-child { } + +.tab_m { width:100%; border-bottom:1px solid #666; margin-bottom:50px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; } +.tab_m li { display:inline-block; font-weight:600; border-right:0; border-bottom:0; box-sizing:border-box; } +.tab_m li a { padding:0 30px; line-height:43px; font-size:1.2em; box-sizing:border-box; display:block; border-radius:5px 5px 0 0; background:#f4f4f4; color:#767676; border:1px solid #ededed; border-bottom:none; } +.tab_m li.active { height:55px; } +.tab_m li.active a { border-color:#666; background:#fff; color:#333; height:56px; } +.tab_m li:last-child { } + +.tabL { width:100%; border-bottom:1px solid #666; margin-bottom:50px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; } +.tabL li { display:inline-block; font-weight:600; border-right:0; border-bottom:0; box-sizing:border-box; } +.tabL li a { padding:0 30px; height:45px; line-height:45px; font-size:1em; box-sizing:border-box; display:block; border-radius:5px 5px 0 0; background:#f4f4f4; color:#767676; border:1px solid #ededed; border-bottom:none; } +.tabL li.active { height:45px; } +.tabL li.active a { border-color:#666; background:#fff; color:#333; height:46px; } +.tabL li:last-child { } + +.array { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: flex-start; align-items: center; } +.array li { margin-right:20px; } +.array li:last-child { margin-right:0; } +.array.between { justify-content:space-between; } +.array.between li { margin-right:10px; } +.array.between li:last-child { margin-right:0; } + +.board_view .hashtag_wrap { margin-top:0; } +.board_view .hashtag_wrap .hashtag a:hover, .board_view .hashtag_wrap .hashtag:hover::before { color:#0081c8; } + +.table_view .hashtag_wrap { margin-top:0; } +.hashtag_wrap { margin-top:10px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: flex-start; flex-wrap: wrap;} +.hashtag { margin:0 5px 5px 0; border:1px solid #d7ebf7; background:#e5f1fb; cursor: default; color:#333; border-radius:30px; padding:5px 12px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; } +.hashtag::before { content:'#'; font-style:italic; display:inline-block; margin-right:3px; font-size:1.2em; } +.hashtag .btn_delete { margin-left:10px; cursor: pointer; width:24px; height:24px; background-color:transparent !important; border:none;} +.hashtag .btn_delete:hover { box-shadow:none; } + +.board_view .hashtag_wrap { margin-top:0; } +.board_view .hashtag_wrap .hashtag:hover { border-color:#0081c8; background:#e5f1fb; color:#0081c8;} +.board_view .hashtag_wrap .hashtag:hover a, .board_view .hashtag_wrap .hashtag:hover::before { color:#0081c8; } +.board_view .hashtag_wrap .hashtag { padding:5px 20px; } + + +/*새로운글,첨부파일 알림*/ +.title_info { margin-left:10px; } +.title_info span { display:inline-block; float:left; text-transform: uppercase; border:1px solid #bbb; font-size:0.5em; line-height:1em; margin:0 2px; border-radius:30px; } +.title_info .new { color:#fff; border-color:#007dc3; background:#007dc3; padding:2px 6px; height:20px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; } +.title_info .file { width:23px; height:23px; background:url(../../images/custom/icon_file.svg) 50% 50% no-repeat; background-size:13px; display:inline-block; color:#007dc3; font-size:0.6em; } +.title_info .reply { height:23px; background:url(../../images/custom/icon_say.svg) 5px 50% no-repeat; background-size:13px; padding:5px 7px 5px 21px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center;} +.title_info .secret { width:23px; height:23px; background:url(../../images/custom/icon_lock.svg) 50% 50% no-repeat; background-size:12px; display:inline-block; color:#007dc3; font-size:0.6em; } +.title_info .besttc { background:url(../../images/custom/icon_besttc.svg) 7px 50% no-repeat; background-size:10px; display:inline-block; color:#ea8405; border-color:#eaae05; padding:5px 7px 5px 23px; } +.title_info .besttc:hover { background-color:#fff; } + +.half_wrap { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; } +.half { width:50%; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items: flex-start; flex-direction: column; } +.search_item ul { width:100%; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; } +.search_item ul li { margin-right:10px; width:33%; } +.search_item ul li .selectText { width:100%; } +.search_item ul li.liselected { width:auto; border:1px solid #ccc; padding:3px 20px; border-radius:50px; margin-right:5px; } +.search_item ul li.liselected:last-child { margin-right:0; } + +.title_info .besttc { background:url(../../images/custom/icon_besttc.svg) 5px 50% no-repeat #ffd739; padding:5px 10px 5px 20px; border-radius:20px; border:none; background-size:10px; display:inline-block; color:#333; font-size:11px; text-indent:0; } +.title_info .new { color:#fff; border-color:#007dc3; background:#007dc3; padding:5px 8px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; } + +/*견적등록*/ +.input_wrap .estimate_wrap { margin-top:25px; } +.estimate_wrap { margin-top:30px; } +.estimate_wrap .btn_arrow_down { background-color:#fff; /*transform:translateY(25px);*/ } +.estimate_paper { margin-top:20px; padding:30px; border:1px solid #e8e8e8; border-radius:5px; box-shadow:0 0 20px 0 rgba(0,0,0,0.1); } +.estimate_wrap .estimate_paper { display:none; } + +.estimate_edit { height:600px; overflow:hidden; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex;justify-content:space-between; } +.estimate_edit .nothing { padding: 20px 20px 20px !important; } + +.total_srch_wrap { width:calc(50% - 5px); border:1px solid #ccc; border-radius:10px; overflow:hidden; } +.total_srch_wrap .tabcontainer { height:calc(100% - 45px); border-right:none; border-top:none; } +.total_srch_wrap .tab_content { height:100%; } +.total_srch_wrap .tabs { margin-top:5px; margin-bottom:0; border-bottom:1px solid #c3c3c3; } +.total_srch_wrap .tabs li a { border-radius:0; border:none; background:#fff; } +.total_srch_wrap .tabs li.active a { border-top:none; border-bottom:2px solid #007dc3; } + +.total_srch_top { width:100%; height:55px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; padding:10px 0; border-bottom:1px solid #ececec; } +.total_srch_top ul { width:100%; padding:0 10px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:space-between; } +.total_srch_top ul li { width:calc(50% - 40px); padding:0; } +.total_srch_top ul li:first-child { width:70px; } +.total_srch_top button, .total_srch_top select { width:100%; height:35px; padding:0 10px; } + +.total_srch { overflow-y:auto; height:calc(100% - 60px); padding:15px; width:100%; background:#f9f9f9; } +.total_srch > ul > li { width:100%; background:#fff; padding:20px 15px 15px; border:1px solid #e6e6e6; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; overflow:hidden; justify-content:flex-start; align-items:flex-start; margin-bottom:10px; border-radius:10px; position:relative; transition:all 0.3s; } +.total_srch > ul > li:hover { border-color:#666; box-shadow:0 0 10px 0 rgba(0,0,0,0.1); } +.total_srch > ul > li:last-child { margin-bottom:0; } +.total_srch > ul > li.nothing { padding:20px 0 !important; text-align:center; justify-content:center; } +.total_srch > ul > li.nothing:hover { border-color:#ddd; box-shadow:none; background:#fff; } +.total_srch .item_img { width:120px; height:70px; background-repeat:no-repeat; background-position:50% 50%; border-radius:5px; margin-right:20px; background-size:contain;} +.total_srch .item_img.noimg { } +.total_srch .item_img img { display:none; } +.total_srch .item_text { width:calc(100% - 190px); display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex;flex-direction:column;} +.total_srch .item_text .board_title { margin-bottom:10px; } +.total_srch .item_text .board_title p { font-size:.8em; font-weight:600; width:100%; text-align:left; max-height:50px; } +.total_srch .board_info { margin-bottom:3px; } +.total_srch .board_info li { font-size:13px; font-weight:400; color:#333; letter-spacing:0;} +.total_srch .est_cost { position:relative; transform:none; letter-spacing:0; font-size:13px; color:#888; font-weight:400; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; } +.total_srch .est_cost br { display:none; } +.total_srch .est_cost em { display:none; } +.total_srch .btn_plus { font-size:11px; transition:all 0.3s; position:absolute; background-size:12px; width:40px; height:100%; top:0; right:0;border:none; border-left:1px solid #ededed; border-radius:0 5px 5px 0; background-color:#fff; } +.total_srch > ul > li:hover .btn_plus { } +.total_srch .btn_plus:hover { box-shadow:none; background-color:#f1f1f1; border-left:1px solid #ccc; } + +.total_srch .item_text .board_title { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex;flex-direction:column; } +.total_srch .item_text .board_title .title_info { margin-left:0; } +.total_srch .title_info span { border:none; margin-right:3px; margin-bottom:10px;} +.total_srch .title_info .new { background:#108ace; color:#fff; } +.total_srch .title_info .besttc { } + +.est_selected_wrap { width:calc(50% - 5px); position:relative; border:1px solid #ccc; border-radius:10px; overflow:hidden; } +.est_selected { overflow-y:auto; height:calc(100% - 60px); padding:20px; background:#f9f9f9; } +.est_selected.write { height:calc(100% - 117px); } +.est_selected li { border:1px solid #ddd; background:#fff; border-radius:10px; overflow:hidden; margin-bottom:10px; } +.est_selected li.nothing { padding:20px 0 !important; text-align:center; border:none; background:none; color:#999; } +.est_selected li.nothing:hover { border-color:#ddd; box-shadow:none; } +.est_selected li:last-child { margin-bottom:0; } +.est_selected li.active { border:1px solid #cacaca; box-shadow:0 0 10px 0 rgba(0,0,0,0.1); } + +.est_selected li .est_sel_title { width:100%; padding:15px; font-size:1em; font-weight:900; position:relative; display: block; cursor:pointer; background:#fff; color:#333; transition:all 0.3s; } +.est_selected li .est_sel_title strong::after { width:10px; height:10px; content:''; margin:0 10px; display:inline-block; background:url(../../images/custom/arrow_right_fff.svg) 50% 50% no-repeat; background-size:contain; } +.est_selected li .est_sel_title strong:last-child::after {display:none; } +.est_selected li .est_sel_title:hover { color:#333; } + +.est_selected li .est_sel_title::after, .est_selected li .est_sel_title::before { content:''; position:absolute; top:50%; right:15px; display:inline-block; width:10px; height:2px; background:#333; transition:all 0.3s;} +.est_selected li .est_sel_title::after { transform:translateY(-50%) rotate(90deg); } +.est_selected li .est_sel_title::before { transform:translateY(-50%) rotate(0deg); } + +.est_selected li.active .est_sel_title { opacity:1; background:#193b6f; color:#fff; } +.est_selected li.active .est_sel_title::after, .est_selected li.active .est_sel_title::before { background:#fff; } +.est_selected li.active .est_sel_title::after { transform:translateY(-50%) rotate(0deg); background:url(../../images/custom/arrow_right_fff.svg) 50% 50% no-repeat; background-size:contain; } +.est_selected li.active .est_sel_title::before { transform:translateY(-50%) rotate(0deg); } + +.est_sel_content_wrap { display:none; } +.est_sel_content { border-top:1px solid #e6e6e6;} +.est_sel_box { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; padding:15px; border-bottom:1px solid #e6e6e6; } +.est_sel_box:last-child { margin-bottom:0; border-bottom:none; } +.est_sel_box .title { width:calc(100% - 195px); display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; font-weight:600; } +.est_sel_box .title p { width:100%; display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } +.num_hit { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; background:#fff; justify-content:space-between; flex-direction:row; border:1px solid #ccc; width:90px; border-radius:5px; overflow:hidden; } +.num_hit .inputNum { width:35px; height:25px !important; float:left; border:none; text-align:center; } +.num_hit button { width:25px; height:25px; border-radius:0 !important; border:none; padding:0; } +.num_hit button:hover { box-shadow:none; background-color:#f1f1f1; } +.btn_qnt_up { background:url(../../images/custom/icon_plus.svg) 50% 50% no-repeat #fff; background-size:40%; text-indent:-5000px; } +.btn_qnt_down { background:url(../../images/custom/icon_minus.svg) 50% 50% no-repeat #fff; background-size:40%; text-indent:-5000px; } + +.est_sel_content .cost { width:110px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; justify-content:flex-end;} +.est_sel_content .button { width:35px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; justify-content: flex-end;} +.est_sel_content .button .btn_sq_s { width:25px; height:25px; border:none; } +.est_sel_content .button .btn_sq_s:hover { box-shadow:none; } + +.add_up { padding:10px; border-top:1px solid #ececec; } +.add_up ul li { margin-right:5px !important; } +.add_up ul li:first-child { width:calc(100% - 280px); } +.add_up ul li:last-child { min-width:65px; margin-right:0 !important; } +.add_up ul li .inputText, .add_up ul li .btn_m { height:35px; } +.est_sel_total { font-size:1.3em; width:100%; height:60px; padding:0 20px; background:#efefef; border-top:1px solid #e0e0e0; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:space-between; color:#333; align-items:center; } + +/*견적서보기*/ +.estimate_view { width:100%; background:#fff; padding:20px; border:1px solid #ddd; } +.estimate_view > ul > li { margin-bottom:20px; padding-bottom:20px; border-bottom:1px dashed #d4d4d4; } +.estimate_view > ul > li:last-child { margin-bottom:0; padding-bottom:0; border-bottom:none; } +.estimate_view > ul > li:first-child { border-top:none; } +.estimate_view .total { width:calc(100% + 20px); background:#f1f1f1; border:1px solid #e6e6e6; padding:20px; margin:0px -10px -10px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; border-radius:5px; justify-content: space-between; font-size:1.3em; font-weight:900; } +.estimate_view .title { margin-bottom:10px; font-size:1.1em; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; align-items:center; } +.estimate_view .title em.next { background:url(../../images/custom/arrow_right.svg) 50% 50% no-repeat; background-size:contain; text-indent:-50000px; display:inline-block; width:8px; height:8px; margin:0 7px; opacity:0.8; } +.estimate_view .item ul { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: space-between; } +.estimate_view .item ul li { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-end; padding:5px 0; width:200px; } +.estimate_view .item ul li em { color:#999; margin-right:20px; font-size:0.9em; } +.estimate_view .item ul li:first-child { width:calc(100% - 400px); justify-content: space-between; } +.estimate_view .item ul li:last-child p { max-width:100px; text-align:right; } + +/*검색조건*/ +.search_detail_box { padding:30px 30px 40px; border-radius:20px; margin-bottom:50px; transform:translateY(-20px); z-index:0; position:relative; text-align:center; /*border:1px solid #d1e2fb;background:#ebf0f7;*/ box-shadow: 0px 0px 25px 0 rgba(0,0,0,0.1);} +.search_detail_box .btn_l { position:absolute; bottom:-25px; } +.search_detail_wrap { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:space-between; margin-bottom:30px; } +.search_detail .board_label { margin-bottom:15px; display:block; font-size:1.2em; text-align:left;} + +.btn_search_detail { padding:14px 70px 14px 30px; display:inline-block; position:relative; cursor:pointer; z-index:1; margin-bottom:50px;} +.btn_search_detail.active { box-shadow: 0 0 10px 0 rgba(0,0,0,0.1); } +.btn_search_detail::after { content:''; position:absolute; top:50%; right:20px; transform: translateY(-50%); width:10px; height:10px; display:inline-block; background:url(../../images/custom/arrow_down.svg) 50% 50% no-repeat; background-size:contain; } + +.search_detail ul { border:1px solid #143b84; box-shadow: 0 0 10px 0 rgba(0,0,0,0.1); display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; } +.search_detail ul li { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; border-right:1px solid #143b84;} +.search_detail ul li:last-child { border-right:none; } +.liselect { width:200px; } +.liinput { width:300px; } +.search_detail ul li .selectText { width:100%; height:50px; font-weight:600; border-radius:0; border:none;} +.search_detail ul li .inputText { width:100%; height:50px; font-weight:600; border-radius:0; border:none; } +.search_detail ul li button { border-color:#143b84; font-weight:600; height:50px; background:#143b84;border-radius:0;width:100%;color:#fff; } +.est_cost { position:absolute; top:50%; right:0px; font-weight:900; font-size:1.4em; letter-spacing: -1px; transform:translateY(-50%); } +.est_cost em { font-size:0.65em; font-weight:400; margin-right:7px; color:#999; letter-spacing: 0;} + +.half_wrap { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; } +.half { width:50%; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items: flex-start; flex-direction: column; } +.search_item ul { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; } +.search_item ul li { margin-right:10px; } +.search_item ul li .selectText { width:100%; } + +/*toggle_list*/ +.toggle_list { width:100%; border-top:2px solid #333; padding:0 0; } +.toggle_list > ul > li { width:100%; border-bottom: 1px solid #ededed; transition:all 0.3s; } +.toggle_tit { padding:25px 0; display:block; position:relative; cursor: pointer;} +.toggle_tit strong { font-size:1.2em; } +.toggle_tit::after { content:''; position:absolute; top:50%; right:20px; transform: translateY(-50%); transition:all 0.3s; width:15px; height:15px; display:inline-block;background:url(../../images/custom/arrow_down.svg) 50% 50% no-repeat; background-size:contain; } +.toggle_tit.active::after { transform: translateY(-50%) rotate(180deg); } +.toggle_box { padding:0 0px 25px;display:none; } + +.toggle_box.top_line { padding:20px; border:15px solid #efefef; } + +.toggle_btn_tit { padding:20px 10px; align-items: center; position:relative; } +.toggle_btn_tit .btn_toggle { float:right; } +.toggle_btn_tit .tit { width:calc(100% - 60px); font-weight:600; } + +.toggle_btn_tit.flex { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; } +.toggle_btn_tit.flex .date { position:absolute; right:80px; } + +/*체크박스 리스트*/ +.checks { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: flex-start; flex-wrap: wrap; } +.checks li { width:16.66%; padding:5px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; position:relative; } + +.check_auto { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: flex-start; flex-wrap:wrap; } +.check_auto li { margin-right:40px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; position:relative; } +.check_auto li:last-child { margin-right:0; } + +.check2 { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: flex-start; flex-wrap: wrap; } +.check2 li { width:50%; padding:5px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; position:relative;} + +.check3 { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: flex-start; flex-wrap: wrap; } +.check3 li { width:33.333%; padding:5px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; position:relative;} + +.check_auto.nomargin li:nth-child(1) { margin-right:0 !important; } +.check_wrap.down3 input[type='checkbox'] { transform:translateY(3px); } + +.check_wrap { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; } + +.polletc { width:100px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; margin-top:7px; padding-left:10px;} + +.date_picker { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: flex-start; align-items: center; } +.date_picker em { margin:0 10px; } +.date_pick { border:1px solid #ccc; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; align-items:center; transition:all 0.3s; } +.date_pick label { width:35px; height:33px; display:inline-block; background:url(../../images/custom/icon_calendar.svg) 50% 50% no-repeat; background-size:15px 15px; } +.date_pick:hover { box-shadow:0 0 10px 0 rgba(0,0,0,0.2); border-color:#999; } +.date_pick .inputText { border:none; height:33px !important; } +.date_pick .inputText:hover { box-shadow:none; border:none; } + +.gap { display:inline-block; margin:0 5px; } + +.reply_list_title { padding: 0 0px 15px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; position: relative; align-items: flex-start;} +.reply_list_title strong { margin-right:10px; } + +.satisfaction { } +.satisfaction strong.title { font-size:1.2em; display:block; margin-bottom:20px; } +.satisfaction .reply_write_wrap { padding:0; } +.satisfaction .reply_write_wrap li { padding:0; border-bottom:none; } +.satisfaction .reply_write_wrap > ul > li:first-child { padding-bottom:10px; } +.satisfaction .reply_write_wrap > ul > li:last-child { padding:10px; } +.satisfaction .reply_write_wrap li .textarea_wrap { line-height:0; border-bottom:1px solid #ededed; border-top:1px solid #ededed; } + +.reply_wrap .reply_list_title .star { margin:0 10px; display:inline-block; color:#ececec; line-height:1em; } +.reply_wrap .reply_list_title .star em { text-indent:-50000px; display:inline-block; width:20px; height:20px; margin:0 2px; } +.reply_wrap .reply_list_title .score { font-size:1.5em; font-weight:900; letter-spacing:-1px; line-height:1em; } + +.star_bar { width:120px; height:20px; display:block; position:relative; background:url(../../images/custom/satisfaction.svg) 0% 0% no-repeat; background-size:120px; } +.star_fill { height:100%; position:absolute; top:0; left:0; overflow:hidden; background:url(../../images/custom/satisfaction_fill.svg) 0% 0% no-repeat; background-size:120px; } + +.starticle { background:url(../../images/custom/icon_star2.svg) 50% 50% no-repeat; background-size:contain; } +.starticle.fill { background:url(../../images/custom/icon_star1.svg) 50% 50% no-repeat; background-size:contain; } + +.satisfaction .reply_list_wrap ul > li .by { margin-bottom:0; } +.satisfaction .reply_list_wrap ul > li .by .star { margin-right:10px;display:inline-block; color:#999; line-height:1em; } +.satisfaction .reply_list_wrap ul > li .by .star em {text-indent:-50000px; display:inline-block; width:15px; height:15px; margin:0 2px; } +.satisfaction .reply_list_wrap ul > li .by .score { font-weight:900; font-wize:1.3em; color:#333; margin-left:5px;} + +.realmTag_wrap { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; flex-direction:row; flex-wrap:wrap; margin-top:10px; } +.realmTag { margin:0 5px 5px 0; border:1px solid #ddd; color:#333; border-radius:30px; padding:5px 7px 5px 10px; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; align-items:center; } +.realmTag .btn_delete { margin-left:10px; border-radius:30px; border:none; } +.realmTag .btn_delete:hover { border:none; box-shadow:none; } + +/*일자리포털 우대사항*/ +.info_article { display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; flex-wrap:wrap; } +.info_article li { width:auto; margin:4px; padding:7px 10px; background:#e5f1fb; border:1px solid #d7ebf7; line-height:1em; border-radius:50px; } + +/*설문조사*/ +.poll_list { margin-bottom:5px; } +.poll_list:last-child { margin-bottom:0; } +.poll_list::after { clear:both; display:block; content:''; } + +/*복리후생 등록*/ +.word_wrap { margin:10px -2.5px 0; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; width:100%; flex-direction:row; flex-wrap:wrap; } +.word { border:1px solid #ddd; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content: flex-start; align-items:center; padding:5px 10px 5px 13px; border-radius:50px; margin:2.5px; } +.word button { margin-left:5px; border:none; box-shadow:none; } +.word button:hover { box-shadow:none; } + +.board_view.col_view { width:100%; border-top:2px solid #333; background:#fff; padding:0; } +.board_view.col_view > ul > li { width:100%; padding:15px 0; border-bottom: 1px solid #ededed; position:relative; transition:all 0.3s; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; flex-direction:column; } +.board_view.col_view > ul > li::after { content:''; display:block; clear:both; } +.board_view.col_view > ul > li:last-child { } +.board_view.col_view .board_label { width:100%; margin-bottom:10px; display:block; font-size:1em; } +.board_view.col_view .input_wrap { width:100%; } + +.board_view.row_view { width:100%; border-top:2px solid #333; background:#fff; padding:0 15px; } +.board_view.row_view > ul > li { width:100%; padding:20px 0; border-bottom: 1px solid #ededed; align-items:center; position:relative; transition:all 0.3s; display: -webkit-box; display: -webkit-flex; display: -moz-box; display: -ms-flexbox; display:flex; justify-content:flex-start; } +.board_view.row_view > ul > li::after { content:''; display:block; clear:both; } +.board_view.row_view > ul > li:last-child { } +.board_view.row_view .board_label { width:200px; margin-bottom:0; display:block; font-size:1em; } +.board_view.row_view .input_wrap { width:calc(100% - 200px); } +.board_view.row_view .realmTag_wrap { width:calc(100% - 200px); } + +.overY { max-height:max-content; overflow-y:hidden; position:relative; } +.overY.long { max-height:70px; } +.overY.long button { display:inline-block; } +.overY::after { width:100%; height:35px; content:''; display:none; position:absolute; left:0; bottom:0; z-index:0; +background: rgb(255,255,255); +background: -moz-linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); +background: -webkit-linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%); +background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,.8) 30%, rgba(255,255,255,0) 100%);} +.overY.long::after { display:block } +.overY .btn_more { position:absolute; bottom:0; left:50%; transform:translateX(-50%); display:none; z-index:3; height:24px; padding:0 8px; border-radius:50px; } + + +/*ie에서 작동*/ +@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){ +.table_view { table-layout:auto !important; } +.icon_secret { background-size:13px 13px; } + +} Property changes on: base3.10/src/main/webapp/css/admin/board.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/code404.jsp =================================================================== --- base3.10/src/main/webapp/code404.jsp (nonexistent) +++ base3.10/src/main/webapp/code404.jsp (revision 7) @@ -0,0 +1,41 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>▒▒▒ eGovFrame Potal 온라인 지원 포탈 ▒▒▒</title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css" /> + +<script language="javascript"> +function fncGoAfterErrorPage(){ + history.back(-2); +} +</script> +</head> + +<body> + +<div style="width: 1000px; margin: 50px auto 50px;"> + + <p style="font-size: 18px; color: #000; margin-bottom: 10px; "><img src="<c:url value='/images/egovframework/com/cmm/er_logo.jpg' />" width="379" height="57" /></p> + <div style="border: 0px solid #666; padding: 20px;"> + <!-- 404 --> + <p style="color:red; margin-bottom: 8px; ">404 Error</p> + + <div class="boxType1" style="width: 500px;"> + <div class="box"> + <div class="error"> + <p class="title">HTTP 404 Error</p> + <p class="cont mb20">웹 페이지를 찾을 수 없습니다.<br /></p> + <span class="btn_style1 blue"><a href="javascript:fncGoAfterErrorPage();">이전 페이지</a></span> + </div> + </div> + </div> + </div> + +</div> + +</body> +</html> Property changes on: base3.10/src/main/webapp/code404.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/fonts/NotoSansKR-Regular.woff =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/fonts/NotoSansKR-Regular.woff ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/fonts/_notes/dwsync.xml =================================================================== --- base3.10/src/main/webapp/fonts/_notes/dwsync.xml (nonexistent) +++ base3.10/src/main/webapp/fonts/_notes/dwsync.xml (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8" ?> +<dwsync> +<file name="NanumSquareB.eot" server="kimchsenior.dothome.co.kr" local="131405752200000000" remote="131405752200000000" Dst="0" /> +<file name="NanumSquareB.woff" server="kimchsenior.dothome.co.kr" local="131405752200000000" remote="131405752200000000" Dst="0" /> +<file name="NanumSquareB.ttf" server="kimchsenior.dothome.co.kr" local="131405752200000000" remote="131405752200000000" Dst="0" /> +<file name="NanumSquareR.eot" server="kimchsenior.dothome.co.kr" local="131405752200000000" remote="131405752200000000" Dst="0" /> +<file name="NanumSquareR.woff" server="kimchsenior.dothome.co.kr" local="131405752200000000" remote="131405752200000000" Dst="0" /> +<file name="NanumSquareR.ttf" server="kimchsenior.dothome.co.kr" local="131405752200000000" remote="131405752200000000" Dst="0" /> +</dwsync> \ No newline at end of file Property changes on: base3.10/src/main/webapp/fonts/_notes/dwsync.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/fonts/sign.ttf =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/fonts/sign.ttf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/fonts/NotoSansKR-Thin.woff =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/fonts/NotoSansKR-Thin.woff ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/fonts/NotoSansKR-Light.woff =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/fonts/NotoSansKR-Light.woff ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/fonts/sign.eot =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/fonts/sign.eot ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/fonts/sign.woff =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/fonts/sign.woff ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/fonts/NotoSansKR-Bold.woff =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/fonts/NotoSansKR-Bold.woff ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/fonts/NotoSansKR-Medium.woff =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/fonts/NotoSansKR-Medium.woff ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/fonts/NotoSansKR-Black.woff =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/fonts/NotoSansKR-Black.woff ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-loginaop.xml =================================================================== --- base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-loginaop.xml (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-loginaop.xml (revision 7) @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:aop="http://www.springframework.org/schema/aop" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd + http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd"> + + <!-- login Log Aspect --> + <bean id="loginlog" class="egovframework.com.sym.log.clg.service.EgovLoginLogAspect" /> + + <aop:config> + <aop:aspect id="loginLogAspect" ref="loginlog"> + <!-- 로그인 Method --> + <aop:before pointcut="execution(public * egovframework.com.uat.uia.web.EgovLoginController.actionMain(..)) " method="logLogin" /> + <!-- 로그아웃 Method --> + <aop:before pointcut="execution(public * egovframework.com.uat.uia.web.EgovLoginController.actionLogout(..))" method="logLogout" /> + </aop:aspect> + </aop:config> + +</beans> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-loginaop.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-access.xml =================================================================== --- base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-access.xml (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-access.xml (revision 7) @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:egov-access="http://maven.egovframe.go.kr/schema/egov-access" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://maven.egovframe.go.kr/schema/egov-access http://maven.egovframe.go.kr/schema/egov-access/egov-access-3.10.0.xsd"> + + <!-- + globalAuthen : globals.properties 설정(전자정부 프레임워크 기본 설정 중 dummy, security 사용 시 session 으로 재설정됨) + dataSource : DBMS 설정 dataSource + loginUrl : 로그인 페이지 URL + accessDeniedUrl : 권한이 없는 경우 호출되는 페이지 URL + sqlAuthorityUser : + sqlRoleAndUrl : URL 방식 role 지정 query + requestMatcherType : 패턴 매칭 방식(regex, ant, ciRegex: case-insensitive regex) + excludeList : 접근제한 예외처리 URL(구분자: ,) + + * WIKI 설명 참조 + https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte3:fdl:access + + * excludeList 사용시 주의사항 + - 로그인 페이지 등 ANONYMOUS 접근이 가능한 페이지만 등록한다. + - excludeList에 등록하게 되면 접근권한 체크를 SKIP하게 되니 반드시 주의한다. + --> + <egov-access:config id="egovAccessConfig" + globalAuthen="session" + mappingPath="/**/*.do" + dataSource="egov.dataSource" + loginUrl="/uat/uia/egovLoginUsr.do" + accessDeniedUrl="/uat/uia/egovLoginUsr.do?auth_error=1" + sqlAuthorityUser="SELECT CONCAT(B.USER_SE, B.USER_ID) USERID, A.AUTHOR_CODE AUTHORITY + FROM COMTNEMPLYRSCRTYESTBS A, COMVNUSERMASTER B + WHERE A.SCRTY_DTRMN_TRGET_ID = B.ESNTL_ID" + sqlRoleAndUrl="SELECT A.ROLE_PTTRN URL, B.AUTHOR_CODE AUTHORITY + FROM COMTNROLEINFO A, COMTNAUTHORROLERELATE B + WHERE A.ROLE_CODE = B.ROLE_CODE + AND A.ROLE_TY = 'URL' + ORDER BY A.ROLE_SORT" + requestMatcherType="regex" + excludeList="/uat/uia/**, /index.do, /EgovLeft.do, /EgovContent.do, /EgovTop.do, /EgovBottom.do, /validator.do" + /> + <!-- + * 예외 목록 URL + 회원관리 : /uat/uia/** + 실명확인 : /sec/rnc/** + 우편번호 : /sym/ccm/zip/** + 로그인이미지관리 : /uss/ion/lsi/** + 약관확인 : /uss/umt/** + 포털예제배너 : /uss/ion/bnr/getBannerImage.do + + 처음화면 : /index.do + 로그인화면이미지 : /cmm/fms/getImage.do + 좌측메뉴 : /EgovLeft.do + 초기화면 : /EgovContent.do + 상단메뉴 : /EgovTop.do + 하단메뉴 : /EgovBottom.do + 모달팝업 : /EgovModal.do + + 만족도조사 : /cop/stf/selectSatisfactionList.do + 만족도조사 선택 : /cop/stf/selectSingleSatisfaction.do + 댓글 : /cop/cmt/selectArticleCommentList.do + 댓글 선택 : /cop/cmt/updateArticleCommentView.do + + excludeList="/uat/uia/**, /index.do, /EgovLeft.do, /EgovContent.do, /EgovTop.do, /EgovBottom.do" + excludeList="/uat/uia/**, /uss/umt/**, /sec/rnc/**, /sym/ccm/zip/**, /uss/ion/lsi/**, /cmm/fms/getImage.do, /uss/ion/bnr/getBannerImage.do, /index.do, /EgovLeft.do, /EgovContent.do, /EgovTop.do, /EgovBottom.do, /EgovModal.do, /cop/cmt/selectArticleCommentList.do, /cop/stf/selectSatisfactionList.do, /cop/stf/selectSingleSatisfaction.do, /cop/cmt/updateArticleCommentView.do" + --> + +</beans> Property changes on: base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-access.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-interceptor.xml =================================================================== --- base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-interceptor.xml (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-interceptor.xml (revision 7) @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:context="http://www.springframework.org/schema/context" + xmlns:mvc="http://www.springframework.org/schema/mvc" + xmlns:p="http://www.springframework.org/schema/p" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd + http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> + <!-- 세션(Session) 방식 인증시에만 AuthenticInterceptor 동작 --> + <beans profile="session"> + <mvc:interceptors> + <!-- IP 정보 기록 인터셉터를 등록한다. --> + <bean class="egovframework.com.cmm.interceptor.IpObtainInterceptor" /> + </mvc:interceptors> + </beans> + + <!-- 세션(Session) 방식 인증시에만 AuthenticInterceptor 동작 --> + <!-- 동작모드(프로파일명) : dummy, session, security ex)<beans profile="session"/> --> + <beans profile="dummy"> + <mvc:interceptors> + <!-- + * 로그인 체크가 필요한 URL과 로그인 여부를 체크해줄 인터셉터 등록에 대한 간단한 기능 예시이다. + * 실무에 사용시 시큐리티 간소화 서비스 또는 세션모드 접근제어를 사용한다. + --> + <mvc:interceptor> + <mvc:mapping path="/**/*.do" /> + <mvc:exclude-mapping path="/uat/uia/**" /> + <mvc:exclude-mapping path="/index.do" /> + <mvc:exclude-mapping path="/cmm/fms/getImage.do" /> <!-- 로그인화면이미지 --> + <mvc:exclude-mapping path="/uss/ion/bnr/getBannerImage.do" /> <!-- 포털예제배너 --> + <mvc:exclude-mapping path="/EgovLeft.do" /> + <mvc:exclude-mapping path="/EgovContent.do" /> + <mvc:exclude-mapping path="/EgovTop.do" /> + <mvc:exclude-mapping path="/EgovBottom.do" /> + <mvc:exclude-mapping path="/EgovModal.do" /> + <bean class="egovframework.com.cmm.interceptor.AuthenticInterceptor"> + <!-- 관리자 권한 Ant style Pattern List --> + <property name="adminAuthPatternList"> + <list> + <!-- 보안 > 권한관리 --> + <value>/sec/ram/*.do</value> + </list> + </property> + </bean> + </mvc:interceptor> + </mvc:interceptors> + </beans> +</beans> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-interceptor.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml =================================================================== --- base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml (revision 7) @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8"?> +<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:context="http://www.springframework.org/schema/context" + xmlns:mvc="http://www.springframework.org/schema/mvc" + xmlns:p="http://www.springframework.org/schema/p" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd + http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd"> + + <context:component-scan base-package="egovframework,froala"> + <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> + <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/> + <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Repository"/> + </context:component-scan> + + <!-- For Pagination Tag --> + <bean id="imageRenderer" class="egovframework.com.cmm.ImagePaginationRenderer"/> + + <bean id="paginationManager" class="egovframework.rte.ptl.mvc.tags.ui.pagination.DefaultPaginationManager"> + <property name="rendererType"> + <map> + <entry key="image" value-ref="imageRenderer"/> + </map> + </property> + </bean> + + <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> + <property name="webBindingInitializer"> + <bean class="egovframework.com.cmm.web.EgovBindingInitializer"/> + </property> + </bean> + + <!-- setting Locale Locale Interceptor 설정하기 --> + <bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor" + p:paramName="lang" /> + + <bean id="localeResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver" /> + + <bean id="egovWebLogInterceptor" class="egovframework.com.sym.log.wlg.web.EgovWebLogInterceptor" /> + + <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"> + <property name="interceptors"> + <list> + <ref bean="localeChangeInterceptor"/> + <ref bean="egovWebLogInterceptor"/> + </list> + </property> + </bean> + + <!-- IP 정보 기록 및 로그인 체크가 필요한 URL과 로그인 여부를 체크해줄 인터셉터를 등록한다. --> + <!-- 분리 --> + + <bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"> + <property name="defaultErrorView" value="egovframework/com/cmm/error/egovError"/> + <property name="exceptionMappings"> + <props> + <prop key="org.springframework.dao.DataAccessException">egovframework/com/cmm/error/dataAccessFailure</prop> + <prop key="org.springframework.transaction.TransactionException">egovframework/com/cmm/error/dataAccessFailure</prop> + <prop key="egovframework.rte.fdl.cmmn.exception.EgovBizException">egovframework/com/cmm/error/egovBizException</prop> + <prop key="org.springframework.web.HttpSessionRequiredException">egovframework/com/uat/uia/EgovLoginUsr</prop> + <prop key="egovframework.com.cmm.exception.EgovXssException">egovframework/com/cmm/error/EgovXssException</prop> + </props> + </property> + </bean> + + <!-- for JFile --> + <bean class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="0"/> + + <bean id="tilesViewResolver" class="org.springframework.web.servlet.view.tiles3.TilesViewResolver"> + <property name="order" value="1"/> + </bean> + <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer"> + <property name="definitions"> + <list> + <value>/WEB-INF/tiles/tiles-config.xml</value> + </list> + </property> + </bean> + + <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="2" + p:viewClass="org.springframework.web.servlet.view.JstlView" + p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"/> + + <bean id="jsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"> + <property name="contentType" value="text/html;charset=UTF-8"/> + </bean> +</beans> Property changes on: base3.10/src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-servlet.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/lib/smeapi_2_7.jar =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/WEB-INF/lib/smeapi_2_7.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/WEB-INF/lib/JDBC-10.2-latest-cubrid.jar =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/WEB-INF/lib/JDBC-10.2-latest-cubrid.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/WEB-INF/lib/gpkisecureweb-1.0.4.9.jar =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/WEB-INF/lib/gpkisecureweb-1.0.4.9.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/WEB-INF/lib/libgpkiapi_jni-1.4.0.0.jar =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/WEB-INF/lib/libgpkiapi_jni-1.4.0.0.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/WEB-INF/tiles/tiles-config.xml =================================================================== --- base3.10/src/main/webapp/WEB-INF/tiles/tiles-config.xml (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/tiles/tiles-config.xml (revision 7) @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE tiles-definitions PUBLIC + "-//Apache Software Foundation//DTD Tiles Configuration 3.0//EN" + "http://tiles.apache.org/dtds/tiles-config_3_0.dtd"> + +<tiles-definitions> + <!-- 사용자 메인 템플릿 --> + <definition name=".defaultLayout" template="/WEB-INF/tiles/layouts/defaultLayout.jsp"> + <put-attribute name="header" value="/WEB-INF/tiles/template/defaultHeader.jsp"/> + <put-attribute name="menu" value="/WEB-INF/tiles/template/defaultMenu.jsp"/> + <put-attribute name="body" value=""/> + <put-attribute name="footer" value="/WEB-INF/tiles/template/defaultFooter.jsp"/> + </definition> + + <!-- 사용자 서브 템플릿 --> + <definition name=".defaultSubLayout" template="/WEB-INF/tiles/layouts/defaultSubLayout.jsp"> + <put-attribute name="header" value="/WEB-INF/tiles/template/defaultHeader.jsp"/> + <put-attribute name="menu" value="/WEB-INF/tiles/template/defaultMenu.jsp"/> + <put-attribute name="subMenu" value="/WEB-INF/tiles/template/defaultSubMenu.jsp"/> + <put-attribute name="body" value=""/> + <put-attribute name="footer" value="/WEB-INF/tiles/template/defaultFooter.jsp"/> + </definition> + + <!-- 관리자 템플릿 --> + <definition name=".adminLayout" template="/WEB-INF/tiles/layouts/adminLayout.jsp"> + <put-attribute name="header" value="/WEB-INF/tiles/template/adminHeader.jsp"/> + <put-attribute name="menu" value="/WEB-INF/tiles/template/adminMenu.jsp"/> + <put-attribute name="body" value=""/> + </definition> + + <!-- 로그인 페이지 --> +<!-- <definition name="egovframework/com/uat/uia/EgovLoginUsr" extends=".defaultLayout"> --> +<!-- <put-attribute name="body" value="/WEB-INF/jsp/egovframework/com/uat/uia/EgovLoginUsr.jsp"/> --> +<!-- </definition> --> + + <!-- 사용자 메인 레이아웃 --> + <definition name=".defaultLayout/*/*/*" extends=".defaultLayout"> + <put-attribute name="body" value="/WEB-INF/jsp/egovframework/{1}/{2}/{3}.jsp"/> + </definition> + + <!-- 사용자 메인 레이아웃 --> + <definition name=".defaultLayout/*/*/*/*/*" extends=".defaultLayout"> + <put-attribute name="title" value="{1}"/> + <put-attribute name="body" value="/WEB-INF/jsp/egovframework/{2}/{3}/{4}/{5}.jsp"/> + </definition> + + <!-- 사용자 서브 레이아웃 --> + <definition name=".defaultSubLayout/*/*/*/*" extends=".defaultSubLayout"> + <put-attribute name="body" value="/WEB-INF/jsp/egovframework/{1}/{2}/{3}/{4}.jsp"/> + </definition> + <definition name=".defaultSubLayout/*/*/*/*/*" extends=".defaultSubLayout"> + <put-attribute name="body" value="/WEB-INF/jsp/egovframework/{1}/{2}/{3}/{4}/{5}.jsp"/> + </definition> + <definition name=".defaultSubLayout/*/*/*/*/*/*" extends=".defaultSubLayout"> + <put-attribute name="body" value="/WEB-INF/jsp/egovframework/{1}/{2}/{3}/{4}/{5}/{6}.jsp"/> + </definition> + + <!-- 관리자 레이아웃 --> + <definition name=".adminLayout/*/*/*/*" extends=".adminLayout"> + <put-attribute name="title" value="{1}"/> + <put-attribute name="body" value="/WEB-INF/jsp/egovframework/{2}/{3}/{4}.jsp"/> + </definition> + + <!-- 관리자 레이아웃 --> + <definition name=".adminLayout/*/*/*/*/*" extends=".adminLayout"> + <put-attribute name="title" value="{1}"/> + <put-attribute name="body" value="/WEB-INF/jsp/egovframework/{2}/{3}/{4}/{5}.jsp"/> + </definition> + + <!-- 관리자 레이아웃 --> + <definition name=".adminLayout/*/*/*/*/*/*" extends=".adminLayout"> + <put-attribute name="title" value="{1}"/> + <put-attribute name="body" value="/WEB-INF/jsp/egovframework/{2}/{3}/{4}/{5}/{6}.jsp"/> + </definition> +</tiles-definitions> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/tiles/tiles-config.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/tiles/layouts/adminLayout.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/tiles/layouts/adminLayout.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/tiles/layouts/adminLayout.jsp (revision 7) @@ -0,0 +1,32 @@ +<%@ 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="tiles" uri="http://tiles.apache.org/tags-tiles"%> +<c:set value="${sessionScope.systemVO}" var="systemVO" /> +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko" id="fouc"> + <head> + <style> #fouc {opacity: 0;} </style> + <meta http-equiv="X-UA-Compatible" content="IE=edge"/> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <title>관리자 / ${systemVO.sysNm }</title> + <tiles:insertAttribute name="header" /> + </head> + <body> + <div class="content_wrap"> + <tiles:insertAttribute name="menu" /> + <div class="content"> + <div class="control">사이즈컨트롤</div> + <tiles:insertAttribute name="body" /> + </div> + <div class="clear"></div> + </div> + <script> + $("#fouc").css("opacity", "1"); + + $(".control").click(function(){ + $(this).toggleClass("active"); + $(".content_wrap").toggleClass("wide"); + }); + </script> + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/tiles/layouts/adminLayout.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/tiles/layouts/defaultSubLayout.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/tiles/layouts/defaultSubLayout.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/tiles/layouts/defaultSubLayout.jsp (revision 7) @@ -0,0 +1,33 @@ +<%@ 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="tiles" uri="http://tiles.apache.org/tags-tiles"%> +<c:set value="${sessionScope.FUNCTION_AUTHO}" var="functionAutho" /> +<c:set value="${sessionScope.systemVO}" var="systemVO" /> +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko" id="fouc"> +<head> +<script> + var FUNCTION_AUTHO = "${functionAutho }"; +</script> + <title><c:out value="${thisMenuInfo.progrUrlNm }" escapeXml="false"/> - ${systemVO.sysNm }</title> + <meta http-equiv="X-UA-Compatible" content="IE=edge"/> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <meta property="og:type" content="website"> + <meta property="og:title" content="TS튜닝알리고"> + <meta property="og:url" content="cyberts.kr/vtsp/"> + <meta property="og:description" content="자동차 튜닝 관련 제품, 기술마켓, 비지니스지원, 일자리 정보제공"> + <meta property="og:image" content="/images/custom/logo.jpg"/> + <meta name="viewport" content="width=device-width, user-scalable=no" /> + <link rel="shortcut icon" href="<c:url value='/images/custom/favicon.ico' />" type="image/x-icon"> + <link rel="icon" href="<c:url value='/images/custom/favicon.ico' />" type="image/x-icon"> + <tiles:insertAttribute name="header" /> +</head> +<body> + <tiles:insertAttribute name="menu" /> + <section class="section"> + <tiles:insertAttribute name="subMenu" /> + <tiles:insertAttribute name="body" /> + </section> + <tiles:insertAttribute name="footer" /> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/tiles/layouts/defaultSubLayout.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/tiles/layouts/defaultLayout.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/tiles/layouts/defaultLayout.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/tiles/layouts/defaultLayout.jsp (revision 7) @@ -0,0 +1,94 @@ +<%@ 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="tiles" uri="http://tiles.apache.org/tags-tiles"%> +<c:set value="${sessionScope.FUNCTION_AUTHO}" var="functionAutho" /> +<c:set value="${sessionScope.systemVO}" var="systemVO" /> +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko" id="fouc"> +<head> +<script> + var FUNCTION_AUTHO = "${functionAutho }"; +</script> + <title>${systemVO.sysNm }</title> + <meta http-equiv="X-UA-Compatible" content="IE=edge"/> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <meta property="og:type" content="website"> + <meta property="og:title" content="TS튜닝알리고"> + <meta property="og:url" content="cyberts.kr/vtsp/"> + <meta property="og:description" content="자동차 튜닝 관련 제품, 기술마켓, 비지니스지원, 일자리 정보제공"> + <meta property="og:image" content="<c:url value='/images/custom/logo.jpg'/>"/> + <meta name="viewport" content="width=device-width, user-scalable=no" /> + <link rel="shortcut icon" href="<c:url value='/images/custom/favicon.ico' />" type="image/x-icon"> + <link rel="icon" href="<c:url value='/images/custom/favicon.ico' />" type="image/x-icon"> + <tiles:insertAttribute name="header" /> +</head> +<body class="index_body"> + <!-- main popup --> + <c:if test="${not empty popupList }"> + <div class="main_modal_wrap" style="display: none;"> + <div class="main_modal"> + <div class="modal_control"> + <ul> + <li><div class="modal_count">팝업건수:총 <em>${popupList.size()}</em>건</div></li> + <li> + <div class="checks"> + <input type="checkbox" id="closeCheck"> + <label for="closeCheck">오늘 하루 팝업 열지 않기</label> + </div> + </li> + <li><button class="btn_s" id="closeBtn" title="팝업닫기버튼">닫기</button></li> + </ul> + </div> + <div class="modal_content"> + <div class="modal_slide"> + <c:forEach var="popup" items="${popupList}" varStatus="index"> + <div class="m_slide"> + <a href="<c:url value="${popup.popupLink }"/>" class="linkImage" title="${popup.popupDc }" > + <img src="<c:url value='${popup.fileLink }'/>" alt="${popup.popupDc }"> + </a> + </div> + </c:forEach> + </div> + </div> + </div> + </div> + </c:if> + + <script> + $(document).ready(function(){ + var mslidelrngth = $(".modal_slide").find(".m_slide").length; + if (mslidelrngth > 1){ + $(".modal_content").find(".slick-dots li:last-child a").on('focusout', function(){ + $("#closeCheck").focus(); + }); + }else{ + $(".modal_content").find(".m_slide a").on('focusout', function(){ + $("#closeCheck").focus(); + }); + } + }); + </script> + + + <!-- main popup --> + <tiles:insertAttribute name="menu" /> + <tiles:insertAttribute name="body" /> + <div class="modal" id="policy" role="dialog" aria-modal="true"> + <div class="modal_wrap"> + <!-- Modal content --> + <div class="modal_box width500"> + <div class="modal_title"> + <h3>공공데이터 이용정책</h3> + <div class="close btn_close_wrap"> + <button type="button" class="btn_close" title="팝업닫기버튼"><span class="blind">팝업 닫기버튼</span></button> + </div> + </div> + <div class="modal_content type2"> + <p>공공데이터법에 근거하여 사이버검사소 홈페이지에서 제공하는 공공데이터는 누구나 이용 가능하고, 영리 목적의 이용을 포함한 자유로운 활용이 보장됩니다. (공공데이터법 제1조, 제3조)</p> + <p>※단, 정보공개법 제9조의 비공개대상정보와 저작권법 및 그 밖의 다른 법령에서 보호하고 있는 제3자의 권리가 포함된 것으로 해당 법령에 따른 정당한 이용허락을 받지 아니한 정보는 정보 대상에서 제외됩니다.</p> + </div> + </div> + </div> + </div> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/tiles/layouts/defaultLayout.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/tiles/layouts/mypageLayout.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/tiles/layouts/mypageLayout.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/tiles/layouts/mypageLayout.jsp (revision 7) @@ -0,0 +1,44 @@ +<%@ 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="tiles" uri="http://tiles.apache.org/tags-tiles"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<c:set value="${sessionScope.FUNCTION_AUTHO}" var="functionAutho" /> +<c:set value="${sessionScope.systemVO}" var="systemVO" /> +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko" id="fouc"> +<head> +<script> + var FUNCTION_AUTHO = "${functionAutho }"; +</script> + <title><c:out value="${thisMenuInfo.progrUrlNm }" escapeXml="false"/> - 마이페이지 - ${systemVO.sysNm }</title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <meta property="og:type" content="website"> + <meta property="og:title" content="TS튜닝알리고"> + <meta property="og:url" content="cyberts.kr/vtsp/"> + <meta property="og:description" content="자동차 튜닝 관련 제품, 기술마켓, 비지니스지원, 일자리 정보제공"> + <meta property="og:image" content="/images/custom/logo.jpg"/> + <meta name="viewport" content="width=device-width, user-scalable=no" /> + <link rel="shortcut icon" href="<c:url value='/images/custom/favicon.ico' />" type="image/x-icon"> + <link rel="icon" href="<c:url value='/images/custom/favicon.ico' />" type="image/x-icon"> + <tiles:insertAttribute name="header" /> +</head> +<body class="mbody"> + <tiles:insertAttribute name="menu" /> + <section class="section mpage"> + + <tiles:insertAttribute name="subMenu" /> + <div class="content mypage_wrap <c:if test="${fn:contains(loginVO.authorCode,'ROLE_EXFI')}">extend</c:if>"> + <div class="inner"> + <div class="mypage"> + <tiles:insertAttribute name="leftMenu" /> + <div class="my_content_wrap" id="skip_content"> + <h2><c:out value="${thisMenuInfo.progrUrlNm }" escapeXml="false"/></h2> + <tiles:insertAttribute name="body" /> + </div> + </div> + </div> + </div> + </section> + <tiles:insertAttribute name="footer" /> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/tiles/layouts/mypageLayout.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/tiles/template/adminFooter.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/tiles/template/adminFooter.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/tiles/template/adminFooter.jsp (revision 7) @@ -0,0 +1,6 @@ +<%@ 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="tiles" uri="http://tiles.apache.org/tags-tiles"%> + +<footer class="footer">${systemVO.copyright}</footer> Property changes on: base3.10/src/main/webapp/WEB-INF/tiles/template/adminFooter.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/tiles/template/adminHeader.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/tiles/template/adminHeader.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/tiles/template/adminHeader.jsp (revision 7) @@ -0,0 +1,98 @@ +<%@ 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="tiles" uri="http://tiles.apache.org/tags-tiles"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> + +<script type="text/javascript"> + // sessionStorage.setItem("contextpath", "${pageContext.request.contextPath}"); + const CONTEXT_PATH = "${pageContext.request.contextPath}"; +</script> + +<jsp:useBean id="today" class="java.util.Date" /> +<fmt:formatDate value="${today}" pattern="yyyyMMddHHmm" var="nowDate" scope="application"/> + +<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes" /> +<!--main--> +<script src="<c:url value='/js/egovframework/com/cmm/jquery-1.12.4.min.js' />"></script> +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/font-awesome/css/font-awesome.css'/>"> +<script type="text/javascript" src="<c:url value='/resource/jquery-ui-1.12.1/jquery-ui.min.js' />"></script> +<!-- inputMask --> +<script type="text/javascript" src="<c:url value='/js/com/jquery.inputmask.min.js'><c:param name="dt" value="${nowDate}"/></c:url>" ></script> + +<script type="text/javascript" src="<c:url value='/js/com/common.js' />"></script> +<script type="text/javascript" src="<c:url value='/js/admin/designJS.js' />"></script> + +<!-- 파일 업로드(common.js 필요) --> +<script type="text/javascript" src="<c:url value='/js/com/dragFileUploader.js' ><c:param name="dt" value="${nowDate}"/></c:url>"></script> + +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/utl/EgovCmmUtl.js'/>" ></script> +<script type="text/javascript" src="<c:url value='/js/com/printPreview.js'/>" ></script> +<script type="text/javascript" src="<c:url value='/js/com/excel.js' />"></script> +<script type="text/javascript" src="<c:url value='/js/com/jquery.blockUI.js'/>" ></script> +<script type="text/javascript" src="<c:url value='/js/com/html2pdf.bundle.js'/>" ></script> +<script type="text/javascript" src="<c:url value='/js/com/fileUpload.js'/>"></script> +<link rel="stylesheet" type="text/css" href="<c:url value='/css/admin/style.css'/>" /> +<link rel="stylesheet" type="text/css" href="<c:url value='/css/admin/board.css'/>" /> +<link rel="stylesheet" type="text/css" href="<c:url value='/css/admin/admin.css'/>" /> +<link rel="stylesheet" type="text/css" href="<c:url value='/css/admin/popup.css'/>" /> +<link rel="stylesheet" href="<c:url value='/resource/jquery-ui-1.12.1/jquery-ui.min.css'/>"> + + +<%-- <link rel="shortcut icon" href="<c:url value='/imageview.do?fileId=${systemVO.coFavicon }' />" type="image/x-icon"> --%> +<%-- <link rel="icon" href="<c:url value='/imageview.do?fileId=${systemVO.coFavicon }' />" type="image/x-icon"> --%> +<link rel="shortcut icon" href="<c:url value='/images/admin/favicon.ico' />" type="image/x-icon"> +<link rel="icon" href="<c:url value='/images/admin/favicon.ico' />" type="image/x-icon"> + +<!-- 에디터 관련 추가 CSS, Javascript 추가 --> +<!-- Include external CSS. --> +<%-- <link href="<c:url value='/resource/editor/codemirror/lib/codemirror.css'/>" rel="stylesheet" type="text/css" /> --%> +<!-- Include Editor style. --> +<%-- <link href="<c:url value='/resource/editor/css/froala_editor.pkgd.min.css' />" rel="stylesheet" type="text/css" /> --%> +<%-- <link href="<c:url value='/resource/editor/css/froala_style.min.css' />" rel="stylesheet" type="text/css" /> --%> +<!-- Include external JS libs. --> +<%-- <script type="text/javascript" src="<c:url value='/resource/editor/codemirror/lib/codemirror.js'/>"></script> --%> +<%-- <script type="text/javascript" src="<c:url value='/resource/editor/codemirror/lib/xml.js'/>"></script> --%> +<!-- Include Editor JS files. --> +<%-- <script type="text/javascript" src="<c:url value='/resource/editor/js/froala_editor.pkgd.js' />"></script> --%> +<%-- <script type="text/javascript" src="<c:url value='/resource/editor/js/languages/ko.js' />"></script> --%> +<%-- <script type="text/javascript" src="<c:url value='/js/com/imageViewFileUpload.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> --%> +<%-- <script type="text/javascript" src="<c:url value='/resource/editor/js/froala_editor_script_custom.js'/>"></script> --%> +<!-- 에디터 관련 추가 CSS, Javascript 종료 --> +<script type="text/javascript"> +$(document).ready(function() { + if("${message}" != null && "${message}" != "") { + alert("${message}"); + } +}); +</script> +<script> +setTimeout(function() { +// var ntime = performance.timing; + +// var total = ntime.loadEventEnd - ntime.navigationStart; //전체 소요시간 +// var redirect = ntime.redirectEnd - ntime.redirectStart; // 동일 origin에서의 redirect 시간 +// var cache = ntime.domainLookupStart - ntime.fetchStart; // cache 시간 +// var dnslookup = ntime.domainLookupEnd - ntime.domainLookupStart; //DNS Lookup 시간 +// var connect = ntime.connectEnd - ntime.connectStart; // 웹서버 연결 시간 +// var request = ntime.responseStart - ntime.requestStart; // 요청 소요 시간 +// var response = ntime.responseEnd - ntime.responseStart; // 응답 데이터를 모두 받은 시간 +// var dom = ntime.domComplete - ntime.domLoading; // DOM객체 생성 시간 ******************* +// var load = ntime.loadEventEnd - ntime.loadEventStart; // 브라우저의 Load 이벤트 실행시간 +// var pageEnd = ntime.loadEventEnd - ntime.responseEnd; // 서버에서 페이지를 받고 페이지를 로드하는데 걸린 시간 +// var networkDelay = ntime.responseEnd - ntime.fetchStart; // 네트워크 지연 시간 + +// console.log('#############################################################################'); +// console.log("전체 소요시간 : " + total + " ms"); +// console.log("동일 origin에서의 redirect 시간 : " + redirect + " ms"); +// console.log("cache 시간 : " + cache + " ms"); +// console.log("DNS Lookup 시간 : " + dnslookup + " ms"); +// console.log("웹서버 연결 시간 : " + connect + " ms"); +// console.log("요청 소요 시간 : " + request + " ms"); +// console.log("첫 응답으로 부터 응답 데이터를 모두 받은 시간 : " + response + " ms"); +// console.log("DOM객체 로드 완료 시간 : " + dom + " ms"); +// console.log("브라우저의 Load 이벤트 실행시간 : " + load + " ms"); +// console.log("서버에서 페이지를 받고 페이지를 로드하는데 걸린 시간 : " + pageEnd + " ms"); +// console.log('#############################################################################'); + +}, 10000); //10초 뒤 수행 +</script> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/tiles/template/adminHeader.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/tiles/template/defaultFooter.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/tiles/template/defaultFooter.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/tiles/template/defaultFooter.jsp (revision 7) @@ -0,0 +1,120 @@ +<%@ 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="tiles" uri="http://tiles.apache.org/tags-tiles"%> +<c:set value="${sessionScope.loginVO}" var="loginVO" /> +<c:set value="${sessionScope.ntcnCnt}" var="ntcnCnt" /> +<!-- footer start --> +<footer> + <button class="skip_top" title="top으로가기버튼" onclick="window.scrollTo(0,0);">top</button> + <div class="os"> + <div class="os_title"> + <strong>online service</strong> <em>고객지원</em> + </div> + <div class="os_list"> + <ul> + <li class="os2"><a href="<c:url value='/cop/bbs/000000000007/selectArticleList.do'/>" title="공지사항">공지사항</a></li> + <li class="os1"><a href="<c:url value='/mrk/cart/list.do'/>" title="장바구니">장바구니</a></li> + <li class="os3"><a href="<c:url value='/cst/faq/list.do'/>" title="자주묻는질문">자주묻는질문</a></li> + <li class="os6"><a href="#!" title="온라인도움말">온라인도움말</a></li> + </ul> + </div> + </div> + <div class="footer_bar"> + <div class="relative"> + <ul class="tac_list"> + <li><a href="https://kotsa.or.kr/portal/contents.do?menuCode=07010000" target="_blank" class="blank_w" title="이용약관 [새창열림]">이용약관</a></li> + <li><a href="https://kotsa.or.kr/portal/contents.do?menuCode=07020000" target="_blank" class="blank_w" title="개인보호정책 [새창열림]">개인보호정책</a></li> + <li><a href="https://kotsa.or.kr/portal/contents.do?menuCode=07040000" target="_blank" class="blank_w" title="이메일무단수집거부 [새창열림]">이메일무단수집거부</a></li> + <li><a href="https://kotsa.or.kr/portal/empList.do?menuCode=06020404" target="_blank" class="blank_w" title="조직 및 직원안내 [새창열림]">조직 및 직원안내</a></li> + <li><a href="https://kotsa.or.kr/portal/contents.do?menuCode=06040000" target="_blank" class="blank_w" title="찾아오시는길 [새창열림]">찾아오시는길</a></li> +<!-- <li><a href="#!" title="공공데이터 이용정책 [팝업열림]" class="openpopup" aria-controls="policy">공공데이터 이용정책</a></li> --> + </ul> + <ul class="familysite"> + <li> + <a class="btn_family" href="#!" title="관련사이트 열기">관련 사이트</a> + <ul> + <li class="blank"><a href="http://www.ntrh.or.kr" target="_blank" title="국립교통재활병원 [새창열림]">국립교통재활병원</a></li> + <li class="blank"><a href="https://www.kotsa.or.kr/mpis" target="_blank" title="기계식주차장 관리인 교육 [새창열림]">기계식주차장 관리인 교육</a></li> + <li class="blank"><a href="https://www.kotsa.or.kr/safeinfo" target="_blank" title="전세버스 정보확인 [새창열림]">전세버스 정보확인</a></li> + <li class="blank"><a href="https://www.clean.go.kr" target="_blank" title="청렴신문고 [새창열림]">청렴신문고</a></li> + <li class="blank"><a href="https://www.molit.go.kr" target="_blank" title="국토교통부 [새창열림]">국토교통부</a></li> + <li class="blank"><a href="https://www.safe182.go.kr" target="_blank" title="안전 DREAM [새창열림]">안전 DREAM</a></li> + <li class="blank"><a href="https://job.alio.go.kr" target="_blank" title="JOB-ALIO [새창열림]">JOB-ALIO</a></li> + <li class="blank"><a href="https://stat.molit.go.kr" target="_blank" title="국토교통 통계누리 [새창열림]">국토교통 통계누리</a></li> + <li class="blank"><a href="https://www.mois.go.kr" target="_blank" title="국가상징알아보기 [새창열림]">국가상징알아보기</a></li> + <li class="blank"><a href="http://www.car365.go.kr" target="_blank" title="자동차 365 [새창열림]">자동차 365</a></li> + </ul> + </li> + </ul> + </div> + </div> + <div class="footer"> + <ul> + <li> + <div class="logo"> + <a href="<c:url value="/" />" title="TS튜닝알리고 로고 [최상단으로 이동]">TS튜닝알리고</a> + </div> + <dl class="footer_info"> + <dt>주소</dt> + <dd>39660 경상북도 김천시 혁신로6길 17<br>(율곡동, 한국교통안전공단)</dd> + </dl> + </li> + <li> + <div class="cs_wrap"> + <p>고객센터</p> + <strong>1577-0990</strong> <em>평일 09:00 ~ 18:00<br /> 통화료는 + 사용자 부담 + </em> + </div> + </li> + </ul> + <p class="text_bottom">Copyright(C) TS. all rights reserved.</p> + <!-- 웹접근성 --> + <div class="webacc"> + <a href="http://webwatch.or.kr" target="_blank" title="[새창열림] WA 품질인증마크, 웹와치(WebWatch) 2021.12.6 ~ 2022.12.5"><img src="<c:url value='/images/custom/webacc.svg'/>" alt="과학기술정보통신부 WA(WEB접근성) 품질인증 마크, 웹와치(WebWatch) 2021.12.6 ~ 2022.12.5"></a> + </div> + <!-- 웹접근성 --> + </div> + +</footer> +<div class="modal" id="policy" role="dialog" aria-modal="true"> + <div class="modal_wrap"> + <!-- Modal content --> + <div class="modal_box width500" > + <div class="modal_title"> + <strong>공공데이터 이용정책</strong> + <div class="close btn_close_wrap"> + <button type="button" class="btn_close" title="팝업닫기버튼"><span class="blind">팝업 닫기버튼</span></button> + </div> + </div> + <div class="modal_content type2"> + <p>공공데이터법에 근거하여 사이버검사소 홈페이지에서 제공하는 공공데이터는 누구나 이용 가능하고, 영리 목적의 이용을 포함한 자유로운 활용이 보장됩니다. (공공데이터법 제1조, 제3조)</p> + <p>※단, 정보공개법 제9조의 비공개대상정보와 저작권법 및 그 밖의 다른 법령에서 보호하고 있는 제3자의 권리가 포함된 것으로 해당 법령에 따른 정당한 이용허락을 받지 아니한 정보는 정보 대상에서 제외됩니다.</p> + </div> + </div> + </div> + </div> +<script> + // 사용자 권한가져오기 + function fncGetAuthorCode() { + return "${loginVO.authorCode }" + } + + $(function() { + // 브라우저 체크 +// if (browserInfo() == 'ie') { +// $(".banner").show(); +// $("body").addClass("banner_show"); +// $("body").addClass("ie"); + +// //banner +// $(".banner_close").click(function() { +// $(".banner").hide(); +// $("body").removeClass("banner_show"); +// }) +// } + }) + +</script> +<!-- footer end --> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/tiles/template/defaultFooter.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/tiles/template/adminMenu.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/tiles/template/adminMenu.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/tiles/template/adminMenu.jsp (revision 7) @@ -0,0 +1,161 @@ +<%@ 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="tiles" uri="http://tiles.apache.org/tags-tiles"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<c:set value="${sessionScope.menuVO}" var="menuList"/> +<c:set value="${sessionScope.menuNaviVO}" var="menuNaviList"/> +<c:set value="${sessionScope.menuDepthVO}" var="menuDepthList" /> +<c:set value="${sessionScope.loginVO}" var="loginVO"/> +<c:forEach var="item" items="${menuList }"> + <c:if test="${item.menuGb eq 'A' and item.upperMenuNo eq 'ROOT'}"> + <c:set value="${item.menuNo }" var="adminUpperMenuNo"/> + </c:if> +</c:forEach> +<c:forEach var="menuNavi" items="${menuNaviList }" varStatus="status"> + <c:if test="${status.count eq 2 }"> + <c:set var="selMenuNo" value="${menuNavi.menuNo }"/> + <c:set var="mainMenuNo" value="${menuNavi.upperMenuNo }"/> + </c:if> +</c:forEach> + +<div class="topBar overX"> + <ul class="gnb"> + <c:forEach var="menu" items="${menuList }"> + <c:if test="${menu.upperMenuNo eq adminUpperMenuNo }"> + <c:set var="active1" value=" "/> + <c:forEach var="selMenu" items="${menuNaviList }"> + <c:if test="${selMenu.menuNo eq menu.menuNo }"> + <c:set var="active1" value=" active"/> + </c:if> + </c:forEach> + <li class="menuChk ${active1 }" data-id="${menu.menuNo }"> + <a href="#!"><c:out value="${menu.menuNm }"/></a> + <ul class="subMenu"> + <c:forEach var="subMenu" items="${menuList }"> + <c:if test="${menu.menuNo eq subMenu.upperMenuNo }"> + <c:set var="active2" value=" "/> + <c:forEach var="selMenu" items="${menuNaviList }"> + <c:if test="${selMenu.menuNo eq subMenu.menuNo }"> + <c:set var="active2" value=" active"/> + </c:if> + </c:forEach> + <li class="${active2 }"> + <a href="<c:url value="${subMenu.progrUrl }"/>"><c:out value="${subMenu.menuNm }"/></a> + <c:if test="${subMenu.childCnt > 0 }"> + <ul class="depth3"> + <c:forEach var="triMenu" items="${menuList }"> + <c:if test="${triMenu.upperMenuNo eq subMenu.menuNo }"> + <c:set var="active3" value=""/> + <c:forEach var="menuNavi" items="${menuNaviList }" varStatus="status"> + <c:if test="${triMenu.menuNo eq menuNavi.menuNo }" > + <c:set var="active3" value="active"/> + </c:if> + </c:forEach> + + <li class="${active3 }"> + <a href="<c:url value='${triMenu.progrUrl }'/>">${triMenu.menuNm }</a> + </li> + </c:if> + </c:forEach> + </ul> + </c:if> + </li> + </c:if> + </c:forEach> + </ul> + </li> + </c:if> + </c:forEach> + </ul> + <ul class="member"> + <c:choose> + <c:when test="${loginVO != null}"> + <li><span><b>${loginVO.name }</b></span> 님 환영합니다.</li> + <li class="icon_home"><a href="<c:url value="/index.do"/>">home</a></li> + <li class="icon_logout"><a href="https://nsso.kotsa.or.kr:9800/nsso-authweb/logoff.do?ssosite=portal.kotsa.or.kr&returnURL=https://in-vtsp.kotsa.or.kr:9090/EpLogoff.do">logout</a></li> + </c:when> + <c:otherwise> + <li class="icon_home"><a href="<c:url value="/admin/index.do"/>">home</a></li> + <li class="icon_login"><a href="<c:url value="/EpLogin.do"/>">login</a></li> + </c:otherwise> + </c:choose> + </ul> +</div> +<div class="left_menu"> + <h1 class="logo"><a href="<c:url value="/admin/index.do"/>">logo</a></h1> + + <!-- sub menu list start --> + <div class="submenu_wrap"> + <c:forEach var="menuNavi" items="${menuNaviList }" varStatus="status"> + <c:if test="${status.index eq 0 }"> + <c:set var="subTitle" value="${menuNavi.menuNm }"/> + </c:if> + </c:forEach> + <h2>${subTitle }</h2> + <ul class="sub_menu"> + <c:forEach var="menu" items="${menuList }"> + <c:if test="${mainMenuNo eq menu.menuNo }"> + + <c:forEach var="subMenu" items="${menuList }"> + <c:set var="active2" value=""/> + <c:set var="style2" value=""/> + <c:forEach var="menuNavi" items="${menuNaviList }" varStatus="status"> + <c:if test="${subMenu.menuNo eq menuNavi.menuNo }" > + <c:set var="subMenuNo" value="${menuNavi.menuNo }"/> + </c:if> + </c:forEach> + + <c:if test="${menu.menuNo eq subMenu.upperMenuNo }"> + <c:if test="${subMenuNo eq subMenu.menuNo }"> + <c:set var="active2" value="active on"/> + </c:if> + <li class="${active2 }"> + <c:if test="${subMenu.childCnt > 0 }"> + <p><a href="<c:url value="${subMenu.progrUrl}"/>">${subMenu.menuNm }</a></p> + <c:if test="${subMenuNo eq subMenu.menuNo }"> + <c:set var="style2" value="display: block;" /> + </c:if> + <ul class="depth3" style="${style2}"> + <c:forEach var="triMenu" items="${menuList }"> + <c:if test="${triMenu.upperMenuNo eq subMenu.menuNo }"> + <c:set var="active3" value=""/> + <c:forEach var="menuNavi" items="${menuNaviList }" varStatus="status"> + <c:if test="${triMenu.menuNo eq menuNavi.menuNo }" > + <c:set var="triMenuNo" value="${menuNavi.menuNo }"/> + </c:if> + </c:forEach> + <c:if test="${triMenuNo eq triMenu.menuNo }"> + <c:set var="active3" value="active"/> + </c:if> + <li class="${active3 }"> + <a href="<c:url value='${triMenu.progrUrl }'/>">${triMenu.menuNm }</a> + </li> + </c:if> + </c:forEach> + </ul> + </c:if> + <c:if test="${subMenu.childCnt eq 0 }"> + <a href="<c:url value="${subMenu.progrUrl }"/>">${subMenu.menuNm }</a> + </c:if> + </li> + </c:if> + </c:forEach> + </c:if> + </c:forEach> + </ul> + </div> + <p class="footer">${systemVO.copyright}</p> +</div> + +<script> +$(".left_menu ul p.main_menui ").click(function(){ + $(".sub_menu").slideUp(); + $(this).next("ul").stop().slideToggle(); +}); + +$(".depth3").parent("li").addClass("have") + +//gnb 설정 +$(".sub_menu li .actived").parent("li").parent(".sub_menu").parent("li").addClass("active"); +</script> Property changes on: base3.10/src/main/webapp/WEB-INF/tiles/template/adminMenu.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/tiles/template/defaultHeader.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/tiles/template/defaultHeader.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/tiles/template/defaultHeader.jsp (revision 7) @@ -0,0 +1,98 @@ +<%@ 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="tiles" uri="http://tiles.apache.org/tags-tiles"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<script type="text/javascript"> + //sessionStorage.setItem("contextpath", "${pageContext.request.contextPath}"); + const CONTEXT_PATH = "${pageContext.request.contextPath}"; +</script> + +<jsp:useBean id="today" class="java.util.Date" /> +<fmt:formatDate value="${today}" pattern="yyyyMMddHHmm" var="nowDate" scope="application"/> + +<!--jquery--> +<script type="text/javascript" src="<c:url value='/js/com/jquery-1.12.4.min.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<script type="text/javascript" src="<c:url value='/resource/jquery-ui-1.12.1/jquery-ui.min.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> + +<!-- inputMask --> +<script type="text/javascript" src="<c:url value='/js/com/jquery.inputmask.min.js'><c:param name="dt" value="${nowDate}"/></c:url>" ></script> + +<!-- 웹소켓 JS --> +<%-- <script type="text/javascript" src="<c:url value='/js/com/sockjs.min.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> --%> +<%-- <script type="text/javascript" src="<c:url value='/js/com/socket.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> --%> + +<!-- 데이터테이블 CSS --> +<%-- <link rel="stylesheet" type="text/css" href="<c:url value='/resource/datatables/datatables.css'><c:param name="dt" value="${nowDate}"/></c:url>" /> --%> +<%-- <link rel="stylesheet" type="text/css" href="<c:url value='/resource/datatables/scroller.dataTables.min.css'><c:param name="dt" value="${nowDate}"/></c:url>" /> --%> + +<!-- full page js --> +<script type="text/javascript" src="<c:url value='/js/com/jquery.fullPage.js'><c:param name="dt" value="${nowDate}"/></c:url>" ></script> + +<!-- CSS --> +<link rel="stylesheet" type="text/css" href="<c:url value='/css/custom/slick.css'><c:param name="dt" value="${nowDate}"/></c:url>"> +<link rel="stylesheet" type="text/css" href="<c:url value='/css/custom/slick-theme.css'><c:param name="dt" value="${nowDate}"/></c:url>"> +<link rel="stylesheet" type="text/css" href="<c:url value='/css/custom/jquery.fullPage.css'><c:param name="dt" value="${nowDate}"/></c:url>" /> +<link rel="stylesheet" type="text/css" href="<c:url value='/css/custom/style.css'><c:param name="dt" value="${nowDate}"/></c:url>" /> +<link rel="stylesheet" type="text/css" href="<c:url value='/css/custom/board.css'><c:param name="dt" value="${nowDate}"/></c:url>" /> +<link rel="stylesheet" type="text/css" href="<c:url value='/css/custom/common.css'><c:param name="dt" value="${nowDate}"/></c:url>" /> +<%-- <link rel="stylesheet" type="text/css" href="<c:url value='/css/custom/popup.css'><c:param name="dt" value="${nowDate}"/></c:url>" /> --%> +<link rel="stylesheet" type="text/css" href="<c:url value='/css/custom/responsive.css'><c:param name="dt" value="${nowDate}"/></c:url>" /> + +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/jquery-ui-1.12.1/jquery-ui.min.css'><c:param name="dt" value="${nowDate}"/></c:url>"> + +<!-- pdf변환 --> +<script type="text/javascript" src="<c:url value='/js/com/html2pdf.bundle.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> + +<%-- <script type="text/javascript" src="<c:url value='/js/com/fontawesome.js' ><c:param name="dt" value="${nowDate}"/></c:url>"></script> --%> +<script type="text/javascript" src="<c:url value='/js/com/jquery.smoothwheel.js' ><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<script type="text/javascript" src="<c:url value='/js/com/jquery.easing.1.3.js' ><c:param name="dt" value="${nowDate}"/></c:url>"></script> + +<!-- 데이터테이블 JS --> +<%-- <script type="text/javascript" src="<c:url value='/resource/datatables/datatables.min.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> --%> +<%-- <script type="text/javascript" src="<c:url value='/resource/datatables/dataTables.scrollResize.min.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> --%> +<%-- <script type="text/javascript" src="<c:url value='/resource/datatables/dataTables.scroller.min.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> --%> +<%-- <script type="text/javascript" src="<c:url value='/resource/datatables/language_ko.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> --%> +<%-- <script type="text/javascript" src="<c:url value='/resource/datatables/dataTables.fixedColumns.min.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> --%> + +<!-- 이미지뷰어 JS --> +<%-- <script type="text/javascript" src="<c:url value='/js/com/printPreview.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> --%> +<%-- <script type="text/javascript" src="<c:url value='/js/com/imageViewFileUpload.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> --%> +<%-- <script type="text/javascript" src="<c:url value='/js/com/ajaxFileUpload.js' ><c:param name="dt" value="${nowDate}"/></c:url>"></script> --%> +<script type="text/javascript" src="<c:url value='/js/com/fileUpload.js' ><c:param name="dt" value="${nowDate}"/></c:url>"></script> + +<!-- blockUI --> +<script type="text/javascript" src="<c:url value='/js/com/jquery.blockUI.js'><c:param name="dt" value="${nowDate}"/></c:url>" ></script> + +<!-- 쿠키JS --> +<script type="text/javascript" src="<c:url value='/js/com/jquery.cookie.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> + +<!-- 테이블 Excel Export --> +<%-- <script type="text/javascript" src="<c:url value='/js/com/tableExcelExport.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> --%> + +<!-- 전자정부 validator --> +<script type="text/javascript" src="<c:url value="/validator.do"><c:param name="dt" value="${nowDate}"/></c:url>"></script> + +<script type="text/javascript" src="<c:url value='/js/com/slick.js' ><c:param name="dt" value="${nowDate}"/></c:url>"></script> + +<!-- 공통JS --> +<script type="text/javascript" src="<c:url value='/js/com/common.js' ><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<script type="text/javascript" src="<c:url value='/js/com/designJS.js' ><c:param name="dt" value="${nowDate}"/></c:url>"></script> + +<!-- 파일 업로드(common.js 필요) --> +<script type="text/javascript" src="<c:url value='/js/com/dragFileUploader.js' ><c:param name="dt" value="${nowDate}"/></c:url>"></script> + +<!--[if IE]> +<script src="<c:url value='/js/com/html5shiv.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<![endif]--> +<style> +.dataTable { + table-layout: fixed; +} +</style> +<script type="text/javascript"> +$(document).ready(function() { + if("${message}" != null && "${message}" != "") { + alert("${message}"); + } +}); +</script> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/tiles/template/defaultHeader.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/tiles/template/defaultSubMenu.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/tiles/template/defaultSubMenu.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/tiles/template/defaultSubMenu.jsp (revision 7) @@ -0,0 +1,61 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%@ page trimDirectiveWhitespaces="true"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<c:set value="${sessionScope.loginVO}" var="loginVO" /> +<c:set value="${sessionScope.menuNaviVO}" var="menuNaviList" /> +<c:set value="${sessionScope.menuDepthVO}" var="menuDepthList" /> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<%-- <c:set value="" var="selMenuNm"/> --%> +<%-- <c:set value="" var="selMenuDc"/> --%> +<div class="sub_title"> + <div class="breadcrumb"> + <ul> + <li class="home"><a href="/" title="메인화면으로 이동">home</a></li> + <li class="next"><img src="<c:url value='/images/custom/arrow_right.svg'/>" alt="다음"></li> + <c:forEach var="menuNavi" items="${menuNaviList }" varStatus="i"> + <c:if test="${menuNaviList.size() > i.count }"> + <li><a href="<c:url value='${menuNavi.progrUrl }'/>" title="${menuNavi.menuNm }로 이동">${menuNavi.menuNm }</a></li> + <li class="next"><img src="<c:url value='/images/custom/arrow_right.svg'/>" alt="다음"></li> + </c:if> + <c:if test="${menuNaviList.size() == i.count }"> +<%-- <c:set value="${menuNavi.menuNm }" var="selMenuNm"/> --%> +<%-- <c:set value="${menuNavi.menuDc }" var="selMenuDc"/> --%> + <li class="btn_location"> + <a class="now" href="javascript:void(0);" title="<c:out value='${menuNavi.menuNm }'/>"><span class="blind">현재페이지</span><c:out value='${menuNavi.menuNm }'/></a> + <ul class="location"> + <c:forEach var="menuDepth" items="${menuDepthList }"> + <c:set var="active" value=""/> + <c:if test="${menuDepth.menuNo eq menuNavi.menuNo }"> + <c:set var="active" value="active"/> + </c:if> + <li class="${active }"> + <c:choose> + <c:when test="${menuDepth.progrUrl eq 'dir' }"> + <a style="color:red" href="javascript:void(0);" title="${menuDepth.menuNm }">${menuDepth.menuNm }</a> + </c:when> + <c:otherwise> + <a href="<c:url value='${menuDepth.progrUrl }'/>" title="${menuDepth.menuNm }">${menuDepth.menuNm }</a> + </c:otherwise> + </c:choose> + </li> + </c:forEach> + </ul> + </li> + </c:if> + </c:forEach> + </ul> + </div> + <div class="gnb_mobile"> + <div class="gnb_2depth_mobile overX"></div> + <div class="gnb_3depth_mobile overX"></div> + </div> + <h2><c:out value="${thisMenuInfo.progrUrlNm }" escapeXml="false"/></h2> + <%-- <c:if test="${not empty thisMenuInfo.menuDc }"> + <p class="subtitle"><c:out value="${fn:replace(thisMenuInfo.menuDc, crlf, '<br/>') }" escapeXml="false"/></p> + </c:if> --%> +</div> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/tiles/template/defaultSubMenu.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/tiles/template/defaultMenu.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/tiles/template/defaultMenu.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/tiles/template/defaultMenu.jsp (revision 7) @@ -0,0 +1,399 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%@ page trimDirectiveWhitespaces="true"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@page import="egovframework.com.cmm.service.EgovProperties"%> +<c:set value="${sessionScope.loginVO}" var="loginVO" /> +<c:set value="${sessionScope.menuVO}" var="menuList" /> +<c:set value="${sessionScope.menuNaviVO}" var="menuNaviList" /> +<c:forEach var="item" items="${menuList }"> + <c:if test="${item.menuGb eq 'U' and item.upperMenuNo eq 'ROOT'}"> + <c:set value="${item.menuNo }" var="userUpperMenuNo" /> + </c:if> +</c:forEach> +<div class="skip"> <a href="#skip_content" title="본문 바로가기" >본문 바로가기</a> <a href="#gnb_wrap" title="대메뉴바로가기" >대메뉴 바로가기</a> </div> +<header class="header"> + <h1> + <a href="<c:url value="/" />" class="logo1">TS튜닝알리고</a> + </h1> + <!-- main gnb start --> + <div class="gnb" id="gnb_wrap"> + <ul> + <c:forEach var="depth1" items="${menuList }" > + <c:if test="${depth1.upperMenuNo eq userUpperMenuNo }"> + <c:set var="depth1Active" value=""/> + <c:forEach var="navi" items="${menuNaviList }" varStatus="status"> + <c:if test="${depth1.menuNo eq navi.menuNo }"> + <c:set var="depth1Active" value=" active"/> + </c:if> + </c:forEach> + <li class="depth1 ${depth1Active }"> + <a href="<c:url value='${depth1.progrUrl }'/>" title="${depth1.menuNm }">${depth1.menuNm }</a> + <c:if test="${depth1.childCnt > 0 }"> + <div class="submenu_wrap"> + <div class="inner"><strong>${depth1.menuNm }</strong> + <div class="submenu"> + <ul class="depth2"> + <c:forEach var="depth2" items="${menuList }"> + <c:if test="${depth2.upperMenuNo eq depth1.menuNo }"> + <c:set var="depth2Active" value=""/> + <c:forEach var="navi" items="${menuNaviList }" varStatus="status"> + <c:if test="${depth2.menuNo eq navi.menuNo }"> + <c:set var="depth2Active" value="active"/> + </c:if> + </c:forEach> + <li class="${depth2Active }"> + <a href="<c:url value='${depth2.progrUrl }'/>" title="${depth2.menuNm }"> + <c:choose> + <c:when test="${depth2.menuNo eq 'PROGR_000000001341' }"> + <!-- TS검사소 체험신청 --> + ${fn:replace(depth2.menuNm, 'TS', '<span class="tsimg">TS</span>') } + </c:when> + <c:otherwise> + ${depth2.menuNm } + </c:otherwise> + </c:choose> + </a> + <c:if test="${depth2.childCnt > 0 }"> + <div class="depth3_wrap"> + <ul class="depth3"> + <c:forEach var="depth3" items="${menuList }"> + <c:if test="${depth3.upperMenuNo eq depth2.menuNo }"> + <c:set var="depth3Active" value=""/> + <c:forEach var="navi" items="${menuNaviList }" varStatus="status"> + <c:if test="${depth3.menuNo eq navi.menuNo }"> + <c:set var="depth3Active" value="active"/> + </c:if> + </c:forEach> + <li class="${depth3Active }"> + <a href="<c:url value='${depth3.progrUrl }'/>" title="${depth3.menuNm }"> + <c:choose> + <c:when test="${depth3.menuNo eq 'PROGR_000000001341' }"> + <!-- TS검사소 체험신청 --> + ${fn:replace(depth3.menuNm, 'TS', '<span class="tsimg">TS</span>') } + </c:when> + <c:otherwise> + ${depth3.menuNm } + </c:otherwise> + </c:choose> + </a> + </li> + </c:if> + </c:forEach> + </ul> + </div> + </c:if> + </li> + </c:if> + </c:forEach> + </ul> + </div> + </div> + </div> + </c:if> + </li> + </c:if> + </c:forEach> + </ul> + </div> + <!-- main gnb end --> + + <!-- member menu start --> + <div class="mnb"> + <ul> + <c:if test="${!empty loginVO }"> + <li class="login_info"><p><strong>${loginVO.name }</strong><span>님</span></p></li> + </c:if> + <c:if test="${empty loginVO }"> + <li class="gnb_login"> + <a href="javascript:void(0);" class="a_login" title="로그인"><em>로그인</em></a> + </li> + </c:if> + <c:if test="${not empty loginVO }"> + <li class="gnb_logout"> + <a href="<c:url value='/uat/uia/actionLogout.do'/>" title="로그아웃"><em>로그아웃</em></a> + </li> + <li class="gnb_mypage"> + <c:choose> + <c:when test="${fn:contains(loginVO.authorCode, 'ROLE_USER') }"> + <a href="<c:url value='/mbe/emplyr/mypage/saveView.do'/>" title="마이페이지"><em>마이페이지</em></a> + </c:when> + <c:otherwise> + <a href="<c:url value='/mbe/entrps/mypage/saveView.do'/>" title="마이페이지"><em>마이페이지</em></a> + </c:otherwise> + </c:choose> + </li> + <c:if test="${fn:contains(loginVO.authorCode, 'ROLE_ADMIN') }"> + <li class="gnb_admin"> + <a href="<c:url value='/admin/index.do'/>" title="관리자"><em>관리자</em></a> + </li> + </c:if> + </c:if> + <li class="gnb_cart"> + <a href="<c:url value="/mrk/cart/list.do"/>" title="장바구니"><em>장바구니</em></a> + </li> + <li class="gnb_search"> + <a class="btn_is" href="javascript:void(0); fnc_trendsKeyword();" title="통합검색"><em>통합검색</em></a> + <!-- Integrated Search start --> + <div class="int_search"> + <div class="is_box"> + <div class="inner"> + <strong>통합검색</strong> + <div class="is_search"> + <input type="text" id="searchTotalTerm" name="searchTotalTerm" value="" class="inputText" placeholder="검색어를 입력하세요" title="통합검색 입력창입니다" /> + <button type="button" class="btn_search" id="btn_cmmSearchTotal" title="검색버튼"><span class="blind">검색버튼</span></button> + <!-- keyword--> + <div class="keyword none"> + <ul id="cmmTotalSearchAuto"> + </ul> + <div class="keyword_footer"> + <button class="btn_close" title="연관검색 닫기버튼">닫기</button> + </div> + </div> + <!-- keyword --> + </div> + <div class="recommend"> <strong>인기검색어</strong> + <ul class="trendsKeyword"> + </ul> + </div> + </div> + <button type="button" class="close_is btn_close" title="통합검색 닫기"><em class="blind">닫기버튼</em></button> + </div> + <div class="isbg"></div> + </div> + <!-- Integrated Search end --> + </li> + <li class="gnb_sitemap"> + <a href="javascript:void(0);" title="사이트맵"><em>사이트맵</em></a> + </li> + </ul> + </div> + <!-- member menu end --> + + + +</header> +<!-- sitemap start --> +<div class="sitemap_wrap" id="sitemap_wrap"> + <c:if test="${!empty loginVO }"> + <p class="login_info"><strong>${loginVO.name }</strong><span>님</span></p> + </c:if> + <div class="sitemap_top"> + <ul class="forM"> + <c:if test="${empty loginVO }"> + <li class="gnb_login"> + <a href="javascript:void(0);" class="a_login" title="로그인"><em>로그인</em></a> + </li> + </c:if> + <c:if test="${not empty loginVO }"> + <li class="gnb_logout"> + <a href="<c:url value='/uat/uia/actionLogout.do'/>" title="로그아웃"><em>로그아웃</em></a> + </li> + <li class="gnb_mypage"> + <c:choose> + <c:when test="${fn:contains(loginVO.authorCode, 'ROLE_USER') }"> + <a href="<c:url value='/mbe/emplyr/mypage/saveView.do'/>" title="마이페이지"><em>마이페이지</em></a> + </c:when> + <c:otherwise> + <a href="<c:url value='/mbe/entrps/mypage/saveView.do'/>" title="마이페이지"><em>마이페이지</em></a> + </c:otherwise> + </c:choose> + </li> + <c:if test="${fn:contains(loginVO.authorCode, 'ROLE_ADMIN') }"> + <li class="gnb_admin"> + <a href="<c:url value='/admin/index.do'/>" title="관리자"><em>관리자</em></a> + </li> + </c:if> + </c:if> + <li class="gnb_cart"> + <a href="<c:url value="/mrk/cart/list.do"/>" title="장바구니"><em>장바구니</em></a> + </li> + </ul> + <button type="button" class="close_sitemap btn_close" title="사이트맵 닫기"><em class="blind">사이트맵 닫기버튼</em> + </button> + </div> + <div class="sitemap_left"> + <ul> + <c:forEach var="depth1" items="${menuList }"> + <c:if test="${depth1.upperMenuNo eq userUpperMenuNo }"> + <li class="depth1" > + <c:choose> + <c:when test="${depth1.childCnt > 0 }"> + <strong class="sitemap_button">${depth1.menuNm }</strong> + <div class="submenu"> + <ul class="depth2"> + <c:forEach var="depth2" items="${menuList }"> + <c:if test="${depth2.upperMenuNo eq depth1.menuNo }"> + <li> + <a href="<c:url value='${depth2.progrUrl }'/>" title="${depth2.menuNm }"> + <c:choose> + <c:when test="${depth2.menuNo eq 'PROGR_000000001341' }"> + <!-- TS검사소 체험신청 --> + ${fn:replace(depth2.menuNm, 'TS', '<span class="tsimg">TS</span>') } + </c:when> + <c:otherwise> + ${depth2.menuNm } + </c:otherwise> + </c:choose> + </a> + <c:if test="${depth2.childCnt > 0 }"> + <ul class="depth3"> + <c:forEach var="depth3" items="${menuList }"> + <c:if test="${depth3.upperMenuNo eq depth2.menuNo }"> + <li> + <a href="<c:url value='${depth3.progrUrl }'/>" title="${depth3.menuNm }"> + <c:choose> + <c:when test="${depth3.menuNo eq 'PROGR_000000001341' }"> + <!-- TS검사소 체험신청 --> + ${fn:replace(depth3.menuNm, 'TS', '<span class="tsimg">TS</span>') } + </c:when> + <c:otherwise> + ${depth3.menuNm } + </c:otherwise> + </c:choose> + </a> + </li> + </c:if> + </c:forEach> + </ul> + </c:if> + </li> + </c:if> + </c:forEach> + </ul> + </div> + </c:when> + <c:otherwise> + <a class="sitemap_button no_child" href="<c:url value="${depth1.progrUrl}"/>">${depth1.menuNm }</a> + </c:otherwise> + </c:choose> + </li> + </c:if> + </c:forEach> + </ul> + </div> + <div class="sitemap_right"> + <div class="cs_wrap"> + <p>TS튜닝알리고<br> 고객센터</p> + <strong>1577-0990</strong> + <em>평일 09:00 ~ 18:00<br/> 통화료는 사용자 부담</em> + </div> + </div> + <div class="cloud"><span class="blind">배경이미지(구름이미지)</span></div> +</div> +<!-- sitemap end --> + + +<script type="text/javascript"> +$(document).ready(function() { + $('.a_login').on('click', function() { + location.href = "<c:url value='/uat/uia/egovLoginUsr.do'/>"; + }); + // 모바일 체크 + function Mobile() { + return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); + } + // 로그인 시 active + if ('${loginVO }' != null && '${loginVO }' != '') { + $('.gnb_mypage').addClass('active'); + } else { + $('.gnb_mypage').removeClass('active'); + } + + /* 통합 검색 버튼 이벤트 */ + $('#btn_cmmSearchTotal').on('click', function() { + var searchTotalTerm = $('#searchTotalTerm').val(); + location.href = '<c:url value="/cmm/search/list.do"/>?searchTerm=' + searchTotalTerm; + }); + + /* 통합검색어, 연관검색어 이벤트 */ + $(document).on('keyup', '#searchTotalTerm', function() { + const searchTotalTerm = $(this).val(); + if (searchTotalTerm.length < 2) { + $('#cmmTotalSearchAuto').empty(); + $('#cmmTotalSearchAuto').closest('div').addClass('none'); + return; + } + switch (event.keyCode) { + case 13: // 엔터 + location.href = '<c:url value="/cmm/search/list.do"/>?searchTerm=' + searchTotalTerm; + break; + default: + if (searchTotalTerm == '') { + $('.is_search .keyword').addClass("none"); + } else { + const params = { + 'searchTerm': searchTotalTerm + }; + $.ajax({ + type: "GET", + url: "<c:url value='/cmm/search/api/autoComplete.do'/>", + data: params, + dataType: "json", + timeout: 3000, + async: false, + success: function(data) { + if (data.returnCode == 1) { + const result = data.resultSet.result[0].resultDocuments; + $('#cmmTotalSearchAuto').empty(); + $.each(result, function(i, item) { + var keyword = item.KEYWORD; + var $dom = $('<li><a href="<c:url value='/cmm/search/list.do'/>?searchTerm=' + keyword + '" title="' + keyword + '"><em>' + keyword + '</em></a></li>'); + $('#cmmTotalSearchAuto').append($dom); + }); + + $('.is_search .keyword').removeClass("none"); + } else { + alert(data.error); + } + }, + error: function(xhr, ajaxSettings, thrownError) { + alert("검색을 실패하였습니다."); + }, + }); + } + break; + } + }); + //포커스시 + $(document).on('focusin', '#searchTotalTerm', function() { + if ($(this).val() != '') { + $('.is_search .keyword').removeClass("none"); + } + }); + // 연관검색어 닫기 버튼 + $(".keyword_footer .btn_close").click(function(){ + $('.is_search .keyword').addClass("none"); + }); +}) +/* 인기검색어 */ +function fnc_trendsKeyword() { + $('.trendsKeyword').empty(); + $.ajax({ + type: "GET", + url: "<c:url value='/cmm/search/api/trendsKeyword.do'/>", + dataType: "json", + timeout: 3000, + async: false, + success: function(data) { + if (data.returnCode == 1) { + const result = data.resultSet.result[0].resultDocuments; + $('#trendsKeyword').empty(); + $.each(result, function(i, item) { + var dom = '<li><a href="javascript:void(0);" title="' + item.KEYWORD + '" onclick="location.href=\'<c:url value='/cmm/search/list.do'/>?searchTerm=' + item.KEYWORD + '\'">#' + item.KEYWORD + '</a></li>'; + $('.trendsKeyword').append(dom); + }); + } else { + alert(data.error); + } + }, + error: function(xhr, ajaxSettings, thrownError) { + alert("검색을 실패하였습니다."); + }, + }); +} +</script> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/tiles/template/defaultMenu.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/tiles/template/defaultHeaderSubMenu.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/tiles/template/defaultHeaderSubMenu.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/tiles/template/defaultHeaderSubMenu.jsp (revision 7) @@ -0,0 +1,14 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" + pageEncoding="UTF-8"%> +<%@ page trimDirectiveWhitespaces="true"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<c:set value="${sessionScope.loginVO}" var="loginVO" /> +<c:set value="${sessionScope.menuNaviVO}" var="menuNaviList" /> +<c:set value="${sessionScope.menuDepthVO}" var="menuDepthList" /> + +<c:set value="" var="selMenuNm"/> +<c:set value="" var="selMenuDc"/> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/tiles/template/defaultHeaderSubMenu.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/tiles/template/mypageSubMenu.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/tiles/template/mypageSubMenu.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/tiles/template/mypageSubMenu.jsp (revision 7) @@ -0,0 +1,102 @@ +<% + /** + * 마이페이지 + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set value="${sessionScope.menuVO}" var="menuList"/> +<c:set value="${sessionScope.loginVO}" var="loginVO"/> +<%-- <c:set value="${sessionScope.selMenuNo}" var="selMenuNo"/> --%> +<c:set value="${sessionScope.menuNaviVO}" var="menuNaviList" /> +<c:forEach var="item" items="${menuList }"> + <c:if test="${item.menuGb eq 'M' and item.upperMenuNo eq 'ROOT'}"> + <c:set value="${item.menuNo }" var="userUpperMenuNo" /> + </c:if> +</c:forEach> + +<!-- mypage menu start --> +<div class="mypage_lnb" id="myumenu"> +<h2>mypage</h2> + <ul> + <c:forEach var="depth1" items="${menuList }"> + <c:if test="${depth1.upperMenuNo eq userUpperMenuNo }"> + <c:set var="depth1Active" value=""/> + <c:forEach var="navi" items="${menuNaviList }" varStatus="status"> + <c:if test="${depth1.menuNo eq navi.menuNo }"> + <c:set var="depth1Active" value=" active"/> + </c:if> + </c:forEach> + <li class="my_deb1 ${depth1Active }"> + <a href="<c:url value='${depth1.progrUrl }'/>" title="${depth1.menuNm }">${depth1.menuNm }</a> + <c:if test="${depth1.childCnt > 0 }"> + <ul class="mysub"> + <c:forEach var="depth2" items="${menuList }"> + <c:if test="${depth2.upperMenuNo eq depth1.menuNo }"> + <c:set var="depth2Active" value=""/> + <c:forEach var="navi" items="${menuNaviList }" varStatus="status"> + <c:if test="${depth2.menuNo eq navi.menuNo }"> + <c:set var="depth2Active" value=" active"/> + </c:if> + </c:forEach> + <li class="${depth2Active }"> + <a href="<c:url value='${depth2.progrUrl }'/>" title="${depth2.menuNm }"> + <c:choose> + <c:when test="${depth2.menuNo eq 'PROGR_000000001845' }"> + <!-- TS검사소 체험신청 --> + ${fn:replace(depth2.menuNm, 'TS', '<span class="tsimg">TS</span>') } + </c:when> + <c:otherwise> + ${depth2.menuNm } + </c:otherwise> + </c:choose> + </a> + <c:if test="${depth2.childCnt > 0 }"> + <ul class="depth3"> + <c:forEach var="depth3" items="${menuList }"> + <c:if test="${depth3.upperMenuNo eq depth2.menuNo }"> + <c:set var="depth3Active" value=""/> + <c:forEach var="navi" items="${menuNaviList }" varStatus="status"> + <c:if test="${depth3.menuNo eq navi.menuNo }"> + <c:set var="depth3Active" value=" active"/> + </c:if> + </c:forEach> + <a class="${depth3Active }" href="<c:url value='${depth3.progrUrl }'/>" title="${depth3.menuNm }"> + <c:choose> + <c:when test="${depth3.menuNo eq 'PROGR_000000001845' }"> + <!-- TS검사소 체험신청 --> + ${fn:replace(depth3.menuNm, 'TS', '<span class="tsimg">TS</span>') } + </c:when> + <c:otherwise> + ${depth3.menuNm } + </c:otherwise> + </c:choose> + </a> + </c:if> + </c:forEach> + </ul> + </c:if> + </li> + </c:if> + </c:forEach> + </ul> + </c:if> + </li> + </c:if> + </c:forEach> + </ul> +</div> + +<script> +//마이페이지 메뉴 바로가기 추가 1126 +$(".skip").append("<a href='#myumenu' title='마이페이지 메뉴 바로가기' >마이페이지 메뉴 바로가기</a>") +</script> + +<!-- mypage menu end --> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/tiles/template/mypageSubMenu.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/EgovMainView.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/EgovMainView.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/EgovMainView.jsp (revision 7) @@ -0,0 +1,91 @@ +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title><spring:message code="comSymMnuMpm.mainView.mainViewTitle"/></title><!-- 행정안전부 공통서비스 테스트 사이트 --> +<script language="javascript" src="<c:url value='/js/egovframework/com/main.js' />"></script> +<script language="javascript"> +function chk_all(val) { + + var arr_chk = document.getElementsByName("chk"); + + if (val == "Y") { + + for(i=0;i< arr_chk.length; i++) { + arr_chk[i].checked =true; + } + } + else if(val == "N") { + for(i=0;i< arr_chk.length; i++) { + arr_chk[i].checked =false; + } + } +} + +</script> +</head> + +<body topmargin="0" leftmargin="0"> + +<!-- header --> +<c:import url="./head.jsp" /> + +<!-- contents --> +<div> + + <!-- 상단 --> + <div class="mp_top"> + <div class="l"><!-- left layout --> + <h3 class="m_tit01 mt15"><spring:message code="comSymMnuMpm.mainView.selectBBSListPortlet"/></h3><!-- 생성된 게시판 목록 --> + <div style="height:150px"> + <c:import url="/cop/bbs/selectBBSListPortlet.do" /> + </div> + + <h3 class="m_tit01 mt15"><spring:message code="comSymMnuMpm.mainView.selectCommuMasterListPortlet"/></h3><!-- 생성된 커뮤니티 목록 --> + <div style="height:150px"> + <c:import url="/cop/cmy/selectCommuMasterListPortlet.do" /> + </div> + + <h3 class="m_tit01 mt15"><spring:message code="comSymMnuMpm.mainView.selectBlogListPortlet"/></h3><!-- 생성된 블로그 목록 --> + <div style="height:181px"> + <c:import url="/cop/bbs/selectBlogListPortlet.do" /> + </div> + </div> + + <div class="r"><!-- right layout --> + <!-- 부서일정관리 --> + <h3 class="m_tit01 mt15"><spring:message code="comSymMnuMpm.mainView.deptSchdulManageMainList"/></h3><!-- 부서일정관리 --> + <div style="height:150px"> + <c:import charEncoding="utf-8" url="/cop/smt/sdm/EgovDeptSchdulManageMainList.do" ></c:import> + </div> + + <!-- 나의일정관리 --> + <h3 class="m_tit01 mt15"><spring:message code="comSymMnuMpm.mainView.indvdlSchdulManageMainList"/></h3><!-- 나의일정관리 --> + <div style="height:150px"> + <c:import charEncoding="utf-8" url="/cop/smt/sim/EgovIndvdlSchdulManageMainList.do" ></c:import> + </div> + + <h3 class="m_tit01 mt15"><spring:message code="comSymMnuMpm.mainView.exchangeRateInformation"/></h3><!-- 환율정보 --> + <iframe src="http://fx.kebhana.com/fxportal/jsp/RS/DEPLOY_EXRATE/fxrate_all.html" width="100%" height="181" border="0" frameborder="no" scrolling="no" marginwidth="0" hspace="0" vspace="0"></iframe> + </div> + </div> + + <!-- 배너 --> + <h3 class="m_tit01 mt15"><spring:message code="comSymMnuMpm.mainView.getBannerImage"/></h3><!-- 배너 --> + <div class="mp_bn"> + <c:import url="/uss/ion/bnr/getBannerImage.do" charEncoding="utf-8"> + <c:param name="atchFileId" value="${banner.bannerImageFile}" /> + </c:import> + </div> + +<!-- bottom --> +<c:import url="./main_bottom.jsp" /> +</div><!-- contents --> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/EgovMainView.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/accessDenied.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/accessDenied.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/accessDenied.jsp (revision 7) @@ -0,0 +1,81 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8" isErrorPage="true"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> + +<%@ page import="org.springframework.security.core.context.SecurityContextHolder" %> +<%@ page import="org.springframework.security.core.Authentication" %> +<%@ page import="org.springframework.security.core.userdetails.UserDetails" %> +<%@ page import="org.springframework.security.core.userdetails.UserDetailsService" %> + +<%@ page import="egovframework.rte.fdl.string.EgovStringUtil" %> +<%@ page import="java.lang.String" %> +<% + boolean authenticateFail = false; + if(request.getAttribute("authenticateFail")!=null && !request.getAttribute("authenticateFail").toString().equals("")){ + authenticateFail = true; + } + + boolean authFail = false; + if(request.getAttribute("authFail")!=null && !request.getAttribute("authFail").toString().equals("")){ + authFail = true; + } + + String target = EgovStringUtil.null2void((String)request.getAttribute("target")); + target = target.equals("") ? "_top" : target; +%> +<c:set var="pageTitle"><spring:message code="comCmmErr.accessDenied.code"/></c:set><!-- 사용자접근권한 에러 --> +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title><spring:message code="title.html"/></title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css" /> +<script language="javascript"> +function fncGoAfterErrorPage(){ + if('<%=authenticateFail%>' == 'true' ){ + document.dummyForm.target="_top"; + document.dummyForm.action = "<c:url value='/empaftererrorpage.do'/>"; + document.dummyForm.submit(); + }else if('<%=authFail%>' == 'true'){ + document.dummyForm.target="<%=target%>"; + document.dummyForm.action = "<c:url value='/empaftererrorpage.do'/>"; + document.dummyForm.submit(); + }else{ + //document.location.href = "<c:url value='/empaftererrorpage.do'/>"; + history.back(-2); + } +} +</script> +<body> +<div style="width: 1000px; margin: 50px auto 50px;"> + <p style="font-size: 18px; color: #000; margin-bottom: 10px; "><img src="<c:url value='/images/egovframework/com/cmm/er_logo.jpg' />" width="379" height="57" /></p> + <div style="border: ppx solid #666; padding: 20px;"> + + <p style="color:red; margin-bottom: 8px; ">${pageTitle}<br /></p> + + <div class="boxType1" style="width: 700px;"> + <div class="box"> + <div class="error"> + <p class="title"> + ${SPRING_SECURITY_403_EXCEPTION} + <br> + <% + Authentication auth = SecurityContextHolder.getContext().getAuthentication(); + Object principal = auth.getPrincipal(); + if (principal instanceof UserDetails) { + String username = ((UserDetails) principal).getUsername(); + String password = ((UserDetails) principal).getPassword(); + out.println("Account : " + username.toString() + "<br>"); + } + %> + </p> + <p class="cont mb20">${pageTitle}<br /></p> + </div> + </div> + </div> + </div> +</div> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/accessDenied.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rgm/EgovAuthorGroupManage.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rgm/EgovAuthorGroupManage.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rgm/EgovAuthorGroupManage.jsp (revision 7) @@ -0,0 +1,303 @@ +<% + /** + * @Class Name : EgovAuthorGroupManage.java + * @Description : EgovAuthorGroupManage List 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.23 Lee.m.j 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author Lee.m.j + * @since 2009.03.23 + * @version 1.0 + * @see + * + */ +%> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<c:set var="pageTitle"><spring:message code="comCopSecRgm.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title><!-- 권한그룹관리 목록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> + +<script type="text/javaScript" language="javascript" defer="defer"> +function fncCheckAll() { + var checkField = document.listForm.delYn; + if(document.listForm.checkAll.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} + +function fncManageChecked() { + + var resultCheck = false; + + var checkField = document.listForm.delYn; + var checkId = document.listForm.checkId; + var selectAuthor = document.listForm.authorManageCombo; + var booleanRegYn = document.listForm.regYn; + var listMberTyCode = document.listForm.mberTyCode; + + var returnId = ""; + var returnAuthor = ""; + var returnRegYn = ""; + var returnmberTyCode = ""; + + var checkedCount = 0; + + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i<checkField.length; i++) { + if(checkField[i].checked) { + checkedCount++; + checkField[i].value = checkId[i].value; + if(returnId == "") { + returnId = checkField[i].value; + returnAuthor = selectAuthor[i].value; + returnRegYn = booleanRegYn[i].value; + returnmberTyCode = listMberTyCode[i].value; + } + else { + returnId = returnId + ";" + checkField[i].value; + returnAuthor = returnAuthor + ";" + selectAuthor[i].value; + returnRegYn = returnRegYn + ";" + booleanRegYn[i].value; + returnmberTyCode = returnmberTyCode + ";" + listMberTyCode[i].value; + + } + } + } + + if(checkedCount > 0) + resultCheck = true; + else { + alert("<spring:message code="comCopSecRgm.list.validate.alert.notSelect" />");//선택된 항목이 없습니다. + resultCheck = false; + } + + } else { + if(document.listForm.delYn.checked == false) { + alert("<spring:message code="comCopSecRgm.list.validate.alert.notSelect" />");//선택 항목이 없습니다. + resultCheck = false; + } + else { + returnId = checkId.value; + returnAuthor = selectAuthor.value; + returnRegYn = booleanRegYn.value; + returnmberTyCode = listMberTyCode.value; + + resultCheck = true; + } + } + } else { + alert("<spring:message code="comCopSecRgm.list.validate.alert.noResult" />");//조회된 결과가 없습니다. + } + + document.listForm.userIds.value = returnId; + document.listForm.authorCodes.value = returnAuthor; + document.listForm.regYns.value = returnRegYn; + document.listForm.mberTyCodes.value = returnmberTyCode; + return resultCheck; +} + +function fncSelectAuthorGroupList(pageNo){ + //document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/sec/rgm/EgovAuthorGroupList.do'/>"; + document.listForm.submit(); +} + +function fncAddAuthorGroupInsert() { + + if(!fncManageChecked()) return; + + if(confirm("<spring:message code="comCopSecRgm.list.validate.confirm.regist" />")) {//등록하시겠습니까? + + document.listForm.action = "<c:url value='/sec/rgm/EgovAuthorGroupInsert.do'/>"; + document.listForm.submit(); + } +} + +function fncAuthorGroupDeleteList() { + + if(!fncManageChecked()) return; + + if(confirm("<spring:message code="comCopSecRgm.list.validate.confirm.delete" />")) { //삭제하시겠습니까? + document.listForm.action = "<c:url value='/sec/rgm/EgovAuthorGroupDelete.do'/>"; + document.listForm.submit(); + } +} + +function linkPage(pageNo){ + //document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/sec/rgm/EgovAuthorGroupList.do'/>"; + document.listForm.submit(); +} + +function fncSelectAuthorGroupPop() { + + if(document.listForm.searchCondition.value == '3') { + window.open("<c:url value='/sec/gmt/EgovGroupSearchList.do'/>","notice","height=500, width=485, top=50, left=20, scrollbars=no, resizable=no"); + } else { + alert("<spring:message code="comCopSecRgm.list.validate.alert.selectGroup" />");//그룹을 선택하세요. + return; + } + + /* + var url = "<c:url value='/sec/gmt/EgovGroupSearchView.do'/>"; + var varParam = new Object(); + var openParam = "dialogWidth:500px;dialogHeight:485px;scroll:no;status:no;center:yes;resizable:yes;"; + var retVal; + + if(document.listForm.searchCondition.value == '3') { + retVal = window.showModalDialog(url, varParam, openParam); + if(retVal) { + document.listForm.searchKeyword.value = retVal; + } + } else { + alert("그룹을 선택하세요."); + return; + } + */ + +} + +function onSearchCondition() { + document.listForm.searchKeyword.value = ""; + if(document.listForm.searchCondition.value == '3') { + document.listForm.searchKeyword.readOnly = true; + } else { + document.listForm.searchKeyword.readOnly = false; + } +} + +function press() { + + if (event.keyCode==13) { + fncSelectAuthorGroupList('1'); + } +} + +</script> +</head> +<body> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form:form name="listForm" action="${pageContext.request.contextPath}/sec/ram/EgovAuthorGroupList.do" method="post"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1><!-- 권한그룹관리 목록 --> + <!-- 검색영역 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <!-- 조회조건 --> + <li> + <select name="searchCondition" onchange="onSearchCondition()" title="<spring:message code="title.searchCondition" /> <spring:message code="input.cSelect" />"> + <option value="1" <c:if test="${authorGroupVO.searchCondition == '1'}">selected</c:if> ><spring:message code="comCopSecRgm.searchCondition.userId" /></option><!-- 사용자 ID --> + <option value="2" <c:if test="${authorGroupVO.searchCondition == '2'}">selected</c:if> ><spring:message code="comCopSecRgm.searchCondition.userNm" /></option><!-- 사용자 명- --> + <option value="3" <c:if test="${authorGroupVO.searchCondition == '3'}">selected</c:if> ><spring:message code="comCopSecRgm.searchCondition.group" /></option><!-- 그룹 --> + </select> + </li> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="155" > + + <input type="button" class="s_btn" onClick="fncSelectAuthorGroupPop()" value="<spring:message code="comCopSecRgm.btn.groupInquire" />" title="<spring:message code="comCopSecRgm.btn.groupInquire" /> <spring:message code="input.button" />" /><!-- 그룹조회팝업 --> + <input type="button" class="s_btn" onClick="fncSelectAuthorGroupList('1')" value="<spring:message code="button.inquire" />" title="<spring:message code="button.inquire" /> <spring:message code="input.button" />" /><!-- 조회 --> + + <input type="button" class="s_btn" onClick="fncAuthorGroupDeleteList()" value="<spring:message code="title.delete" />" title="<spring:message code="title.delete" /> <spring:message code="input.button" />" /><!-- 삭제 --> + <input type="button" class="s_btn" onClick="fncAddAuthorGroupInsert()" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="button.create" />" /><!-- 등록 --> + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 5%;"> + <col style="width: 10%;"> + <col style="width: 10%;"> + <col style="width: 10%;"> + <col style="width: 20%;"> + <col style="width: 10%;"> + </colgroup> + <thead> + <tr> + <th><input type="checkbox" name="checkAll" class="check2" onclick="javascript:fncCheckAll()" title="<spring:message code="input.selectAll.title" />"></th> + <th class="board_th_link"><spring:message code="comCopSecRgm.list.userId" /></th><!-- 사용자 ID --> + <th><spring:message code="comCopSecRgm.list.userNm" /></th><!-- 사용자 명 --> + <th><spring:message code="comCopSecRgm.list.userType" /></th><!-- 사용자 유형 --> + <th><spring:message code="comCopSecRgm.list.author" /></th><!-- 권한 --> + <th><spring:message code="comCopSecRgm.list.regYn" /></th><!--등록 여부 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(authorGroupList) == 0}"> + <tr> + <td colspan="6"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach var="authorGroup" items="${authorGroupList}" varStatus="status"> + <tr> + <td><input type="checkbox" name="delYn" class="check2" title="선택"><input type="hidden" name="checkId" value="<c:out value="${authorGroup.uniqId}"/>"/></td> + <td><c:out value="${authorGroup.userId}"/></td> + <td><c:out value="${authorGroup.userNm}"/></td> + <td><c:out value="${authorGroup.mberTyNm}"/><input type="hidden" name="mberTyCode" value="${authorGroup.mberTyCode}"/></td> + <td><select name="authorManageCombo" title="<spring:message code="comCopSecRgm.list.authorManageCombo" />"> <!-- 권한선택 --> + <c:forEach var="authorManage" items="${authorManageList}" varStatus="status"> + <option value="<c:out value="${authorManage.authorCode}"/>" <c:if test="${authorManage.authorCode == authorGroup.authorCode}">selected</c:if> ><c:out value="${authorManage.authorNm}"/></option> + </c:forEach> + </select></td> + <td><c:out value="${authorGroup.regYn}"/><input type="hidden" name="regYn" value="<c:out value="${authorGroup.regYn}"/>"></td> + </tr> + </c:forEach> + </tbody> + </table> + + <c:if test="${!empty authorGroupVO.pageIndex }"> + <!-- paging navigation --> + <div class="pagination"> + <ul><ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_linkPage"/></ul> + </div> + </c:if> + +</div><!-- end div board --> + +<input type="hidden" name="userId"/> +<input type="hidden" name="userIds"/> +<input type="hidden" name="authorCodes"/> +<input type="hidden" name="regYns"/> +<input type="hidden" name="mberTyCodes"/> +<input type="hidden" name="pageIndex" value="<c:out value='${authorGroupVO.pageIndex}'/>"/> +</form:form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rgm/EgovAuthorGroupManage.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rmt/EgovRoleInsert.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rmt/EgovRoleInsert.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rmt/EgovRoleInsert.jsp (revision 7) @@ -0,0 +1,167 @@ +<% +/** + * @Class Name : EgovRoleInsert.java + * @Description : EgovRoleInsert jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 lee.m.j 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author lee.m.j + * @since 2009.03.11 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comCopSecRmt.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title><!-- 롤관리 등록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> + +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="roleManage" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript"> + +function fncSelectRoleList() { + var varFrom = document.getElementById("roleManage"); + varFrom.action = "<c:url value='/sec/rmt/EgovRoleList.do'/>"; + varFrom.submit(); +} + +function fncRoleInsert(form) { + + if(confirm("<spring:message code="common.save.msg" />")){ //저장하시겠습니까? + if(!validateRoleManage(form)){ + return false; + }else{ + form.submit(); + } + } +} + +function fncRoleUpdate() { + var varFrom = document.getElementById("roleManage"); + varFrom.action = "<c:url value='/sec/rmt/EgovRoleUpdate.do'/>"; + + if(confirm("<spring:message code="common.save.msg" />")){ //저장하시겠습니까? + if(!validateRoleManage(varFrom)){ + return; + }else{ + varFrom.submit(); + } + } +} + +function fncRoleDelete() { + var varFrom = document.getElementById("roleManage"); + varFrom.action = "<c:url value='/sec/rmt/EgovRoleDelete.do'/>"; + if(confirm("<spring:message code="common.delete.msg" />")){ //삭제하시겠습니까? + varFrom.submit(); + } +} + +</script> +</head> + +<body> +<form:form commandName="roleManage" method="post" action="${pageContext.request.contextPath}/sec/rmt/EgovRoleInsert.do" onSubmit="fncRoleInsert(document.forms[0]); return false;"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2><!-- 롤관리 등록 --> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 16%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 롤아이디 --> + <!-- + <c:set var="title"><spring:message code="comCopSecRam.list.rollId" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="roleCode" title="${title} ${inputTxt}" size="40" maxlength="50" /> + <div><form:errors path="roleCode" cssClass="error" /></div> + </td> + </tr> + --> + <!-- 롤 명 --> + <c:set var="title"><spring:message code="comCopSecRam.regist.rollNm" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="roleNm" title="${title} ${inputTxt}" size="40" maxlength="50" /> + <div><form:errors path="roleNm" cssClass="error" /></div> + </td> + </tr> + <!-- 롤 패턴 --> + <c:set var="title"><spring:message code="comCopSecRam.regist.rollPtn" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="rolePtn" title="${title} ${inputTxt}" size="40" maxlength="200" /> + <div><form:errors path="rolePtn" cssClass="error" /></div> + </td> + </tr> + <!-- 롤 설명 --> + <c:set var="title"><spring:message code="comCopSecRam.regist.rollDc" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:textarea path="roleDc" title="${title} ${inputTxt}" cols="300" rows="10" /> + <div><form:errors path="roleDc" cssClass="error" /></div> + </td> + </tr> + <!-- 롤 타입 --> + <c:set var="title"><spring:message code="comCopSecRam.regist.rollType" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="roleTyp"> + <form:options items="${cmmCodeDetailList}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="roleTyp" cssClass="error" /></div> + </td> + </tr> + <!-- 롤 Sort --> + <c:set var="title"><spring:message code="comCopSecRam.regist.rollSort" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="roleSort" title="${title} ${inputTxt}" size="40" maxlength="10" /> + <div><form:errors path="roleSort" cssClass="error" /></div> + </td> + </tr> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/sec/rmt/EgovRoleList.do'/>" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span><!-- 목록 --> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /><!-- 등록 --> + </div><div style="clear:both;"></div> + +</div> +</form:form> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rmt/EgovRoleInsert.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rmt/EgovRoleUpdate.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rmt/EgovRoleUpdate.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rmt/EgovRoleUpdate.jsp (revision 7) @@ -0,0 +1,166 @@ +<% +/** + * @Class Name : EgovRoleUpdate.java + * @Description : EgovRoleUpdate jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 lee.m.j 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author lee.m.j + * @since 2009.03.11 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comCopSecRmt.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.update" /></title><!-- 롤관리 등록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> + +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="roleManage" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript"> + +function fncSelectRoleList() { + var varFrom = document.getElementById("roleManage"); + varFrom.action = "<c:url value='/sec/rmt/EgovRoleList.do'/>"; + varFrom.submit(); +} + +function fncRoleUpdate(form) { + if(confirm("<spring:message code="common.save.msg" />")){ //저장하시겠습니까? + if(!validateRoleManage(form)){ + return false; + }else{ + form.submit(); + } + } +} + +function fncRoleDelete() { + var varFrom = document.getElementById("frmIdDelete"); + varFrom.action = "<c:url value='/sec/rmt/EgovRoleDelete.do'/>"; + if(confirm("<spring:message code="common.delete.msg" />")){ //삭제하시겠습니까? + varFrom.submit(); + }else{ + return false; + } +} + +</script> +</head> + +<body> + +<form:form commandName="roleManage" method="post" action="${pageContext.request.contextPath}/sec/rmt/EgovRoleUpdate.do" onSubmit="fncRoleUpdate(document.forms[0]); return false;"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.update" /></h2><!-- 롤관리 수정 --> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 16%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 롤아이디 --> + <c:set var="title"><spring:message code="comCopSecRam.list.rollId" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + ${roleManage.roleCode} + </td> + </tr> + <!-- 롤 명 --> + <c:set var="title"><spring:message code="comCopSecRam.regist.rollNm" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="roleNm" title="${title} ${inputTxt}" size="40" maxlength="50" /> + <div><form:errors path="roleNm" cssClass="error" /></div> + </td> + </tr> + <!-- 롤 패턴 --> + <c:set var="title"><spring:message code="comCopSecRam.regist.rollPtn" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="rolePtn" title="${title} ${inputTxt}" size="40" maxlength="200" /> + <div><form:errors path="rolePtn" cssClass="error" /></div> + </td> + </tr> + <!-- 롤 설명 --> + <c:set var="title"><spring:message code="comCopSecRam.regist.rollDc" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:textarea path="roleDc" title="${title} ${inputTxt}" cols="300" rows="10" /> + <div><form:errors path="roleDc" cssClass="error" /></div> + </td> + </tr> + <!-- 롤 타입 --> + <c:set var="title"><spring:message code="comCopSecRam.regist.rollType" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="roleTyp"> + <form:options items="${cmmCodeDetailList}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="roleTyp" cssClass="error" /></div> + </td> + </tr> + <!-- 롤 Sort --> + <c:set var="title"><spring:message code="comCopSecRam.regist.rollSort" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="roleSort" title="${title} ${inputTxt}" size="40" maxlength="10" /> + <div><form:errors path="roleSort" cssClass="error" /></div> + </td> + </tr> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/sec/rmt/EgovRoleList.do'/>" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + <button class="btn_s2" onClick="fncRoleDelete();return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="button.delete" /></button> + <input type="submit" class="s_submit" value="<spring:message code="button.save" />" title="<spring:message code="button.save" /> <spring:message code="button.save" />" /> + </div><div style="clear:both;"></div> + +</div> + +<input type="hidden" name="roleCode" value="<c:out value='${roleManage.roleCode}'/>"/> +<input type="hidden" name="searchCondition" value="<c:out value='${roleManageVO.searchCondition}'/>"/> +<input type="hidden" name="searchKeyword" value="<c:out value='${roleManageVO.searchKeyword}'/>"/> +<input type="hidden" name="pageIndex" value="<c:out value='${roleManageVO.pageIndex}'/>"/> +</form:form> + +<form id="frmIdDelete" name="frmDelete" method="post"> +<input type="hidden" name="roleCode" value="<c:out value='${roleManage.roleCode}'/>"/> +<input type="hidden" name="searchCondition" value="<c:out value='${roleManageVO.searchCondition}'/>"/> +<input type="hidden" name="searchKeyword" value="<c:out value='${roleManageVO.searchKeyword}'/>"/> +<input type="hidden" name="pageIndex" value="<c:out value='${roleManageVO.pageIndex}'/>"/> +</form> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rmt/EgovRoleUpdate.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rmt/EgovRoleManage.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rmt/EgovRoleManage.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rmt/EgovRoleManage.jsp (revision 7) @@ -0,0 +1,234 @@ +<% +/** + * @Class Name : EgovRoleManage.java + * @Description : EgovRoleManage jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2009.02.01 lee.m.j 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author lee.m.j + * @since 2009.03.21 + * @version 1.0 + * @see + * + */ +%> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<c:set var="pageTitle"><spring:message code="comCopSecRmt.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title><!-- 롤관리 목록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> + +<script type="text/javaScript" language="javascript" defer="defer"> +function fncCheckAll() { + var checkField = document.listForm.delYn; + if(document.listForm.checkAll.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} + +function fncManageChecked() { + + var checkField = document.listForm.delYn; + var checkId = document.listForm.checkId; + var returnValue = ""; + var returnBoolean = false; + var checkCount = 0; + + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i<checkField.length; i++) { + if(checkField[i].checked) { + checkCount++; + checkField[i].value = checkId[i].value; + if(returnValue == "") + returnValue = checkField[i].value; + else + returnValue = returnValue + ";" + checkField[i].value; + } + } + if(checkCount > 0) + returnBoolean = true; + else { + alert("<spring:message code="comCopSecRmt.validate.groupSelect"/>"); //선택된 롤이 없습니다. + returnBoolean = false; + } + } else { + if(document.listForm.delYn.checked == false) { + alert("<spring:message code="comCopSecRmt.validate.groupSelect"/>"); //선택된 롤이 없습니다. + returnBoolean = false; + } + else { + returnValue = checkId.value; + returnBoolean = true; + } + } + } else { + alert("<spring:message code="comCopSecRmt.validate.groupSelectResult"/>"); //조회된 결과가 없습니다. + } + + document.listForm.roleCodes.value = returnValue; + return returnBoolean; +} + +function fncSelectRoleList(pageNo){ + document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/sec/rmt/EgovRoleList.do'/>"; + document.listForm.submit(); +} + +function fncSelectRole(roleCode) { + document.listForm.roleCode.value = roleCode; + document.listForm.action = "<c:url value='/sec/rmt/EgovRole.do'/>"; + document.listForm.submit(); +} + +function fncAddRoleInsert() { + location.href = "<c:url value='/sec/rmt/EgovRoleInsertView.do'/>"; +} + +function fncRoleListDelete() { + if(fncManageChecked()) { + if(confirm("삭제하시겠습니까?")) { //삭제하시겠습니까? + document.listForm.action = "<c:url value='/sec/rmt/EgovRoleListDelete.do'/>"; + document.listForm.submit(); + } + } +} + +function fncAddRoleView() { + document.listForm.action = "<c:url value='/sec/rmt/EgovRoleUpdate.do'/>"; + document.listForm.submit(); +} + +function linkPage(pageNo){ + document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/sec/rmt/EgovRoleList.do'/>"; + document.listForm.submit(); +} + +function press() { + + if (event.keyCode==13) { + fncSelectRoleList('1'); + } +} +</script> +</head> +<body> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form:form name="listForm" action="${pageContext.request.contextPath}/sec/rmt/EgovRoleList.do" method="post"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1><!-- 롤관리 목록 --> + <!-- 검색영역 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li><div style="line-height:4px;">&nbsp;</div><div><spring:message code="comCopSecRmt.searchCondition.searchKeywordText" /> : </div></li><!-- 롤명--> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${roleManageVO.searchKeyword}"/>' maxlength="155" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" onClick="fncSelectRoleList(1);return false;"/><!-- 조회 --> + <input type="button" class="s_btn" onClick="fncRoleListDelete()" value="<spring:message code="title.delete" />" title="<spring:message code="title.delete" /> <spring:message code="input.button" />" /><!-- 삭제 --> + <span class="btn_b"><a href="<c:url value='/sec/rmt/EgovRoleInsertView.do'/>" onClick="javascript:fncAddRoleInsert();" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span><!-- 등록 --> + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 3%;"> + <col style="width: 12%;"> + <col style="width: 25%;"> + <col style="width: 7%;"> + <col style="width: 7%;"> + <col style="width: ;"> + <col style="width: 10%;"> + <col style="width: 5%;"> + </colgroup> + <thead> + <tr> + <th><input type="checkbox" name="checkAll" class="check2" onclick="javascript:fncCheckAll()" title="<spring:message code="input.selectAll.title" />"></th><!-- 번호 --> + <th class="board_th_link"><spring:message code="comCopSecRam.list.rollId" /></th><!-- 롤 ID --> + <th><spring:message code="comCopSecRam.list.rollNm" /></th><!-- 롤 명 --> + <th><spring:message code="comCopSecRam.list.rollType" /></th><!-- 롤 타입 --> + <th><spring:message code="comCopSecRam.list.rollSort" /></th><!-- 롤 Sort --> + <th><spring:message code="comCopSecRam.list.rollDc" /></th><!-- 롤 설명 --> + <th><spring:message code="table.regdate" /></th><!-- 등록일자 --> + <th></th><!-- --> + + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(roleList) == 0}"> + <tr> + <td colspan="8"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach var="role" items="${roleList}" varStatus="status"> + <tr> + <td><input type="checkbox" name="delYn" class="check2" title="선택"><input type="hidden" name="checkId" value="<c:out value="${role.roleCode}"/>" /></td> + <td><a href="<c:url value='/sec/rmt/EgovRoleList.do'/>?roleCode=${role.roleCode}" onclick="javascript:fncSelectRole('<c:out value="${role.roleCode}"/>');return false;"><c:out value="${role.roleCode}"/></a></td> + <td class="left"><c:out value="${role.roleNm}"/></td> + <td><c:out value="${role.roleTyp}"/></td> + <td><c:out value="${role.roleSort}"/></td> + <td class="left"><c:out value="${role.roleDc}"/></td> + <td><c:out value="${fn:substring(role.roleCreatDe,0,10)}"/></td> + <td><a href="<c:url value='/sec/rmt/EgovRoleList.do'/>?roleCode=${role.roleCode}" onclick="javascript:fncSelectRole('<c:out value="${role.roleCode}"/>');return false;s"><img src="<c:url value='/images/egovframework/com/cmm/btn/btn_search.gif'/>" align="middle" alt="<spring:message code="title.detail" />" title="<spring:message code="title.detail" />"></a></td> + </tr> + </c:forEach> + </tbody> + </table> + + <c:if test="${!empty roleManageVO.pageIndex }"> + <!-- paging navigation --> + <div class="pagination"> + <ul><ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/></ul> + </div> + </c:if> + + +</div><!-- end div board --> + +<input type="hidden" name="roleCode"/> +<input type="hidden" name="roleCodes"/> +<input type="hidden" name="pageIndex" value="<c:out value='${roleManageVO.pageIndex}'/>"/> +<input type="hidden" name="searchCondition"/> +</form:form> + + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/rmt/EgovRoleManage.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupManage.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupManage.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupManage.jsp (revision 7) @@ -0,0 +1,225 @@ +<% + /** + * @Class Name : EgovGroupManage.java + * @Description : EgovGroupManage List 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.02.01 lee.m.j 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author lee.m.j + * @since 2009.03.11 + * @version 1.0 + * @see + * + */ +%> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<c:set var="pageTitle"><spring:message code="comCopSecGmt.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title><!-- 그룹관리 목록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javaScript" language="javascript" defer="defer"> +function fncCheckAll() { + var checkField = document.listForm.delYn; + if(document.listForm.checkAll.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} + +function fncManageChecked() { + + var checkField = document.listForm.delYn; + var checkId = document.listForm.checkId; + var returnValue = ""; + var returnBoolean = false; + var checkCount = 0; + + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i<checkField.length; i++) { + if(checkField[i].checked) { + checkCount++; + checkField[i].value = checkId[i].value; + + if(returnValue == "") + returnValue = checkField[i].value; + else + returnValue = returnValue + ";" + checkField[i].value; + } + } + if(checkCount > 0) + returnBoolean = true; + else { + alert("<spring:message code="comCopSecGmt.validate.groupSelect" />");//선택된 그룹이 없습니다. + returnBoolean = false; + } + } else { + if(document.listForm.delYn.checked == false) { + alert("<spring:message code="comCopSecGmt.validate.groupSelect" />");//선택된 그룹이 없습니다. + returnBoolean = false; + } + else { + returnValue = checkId.value; + returnBoolean = true; + } + } + } else { + alert("<spring:message code="comCopSecGmt.validate.groupSelectResult" />");//조회된 결과가 없습니다. + } + + document.listForm.groupIds.value = returnValue; + + return returnBoolean; +} + +function fncSelectGroupList(pageNo){ + document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/sec/gmt/EgovGroupList.do'/>"; + document.listForm.submit(); +} + +function fncSelectGroup(groupId) { + document.listForm.groupId.value = groupId; + document.listForm.action = "<c:url value='/sec/gmt/EgovGroup.do'/>"; + document.listForm.submit(); +} + +function fncAddGroupInsert() { + location.replace("<c:url value='/sec/gmt/EgovGroupInsertView.do'/>"); +} + +function fncGroupListDelete() { + if(fncManageChecked()) { + if(confirm("<spring:message code="comCopSecGmt.validate.confirm.delete" />")) {//삭제하시겠습니까? + document.listForm.action = "<c:url value='/sec/gmt/EgovGroupListDelete.do'/>"; + document.listForm.submit(); + } + } +} + +function linkPage(pageNo){ + document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/sec/gmt/EgovGroupList.do'/>"; + document.listForm.submit(); +} + +function press() { + + if (event.keyCode==13) { + fncSelectGroupList('1'); + } +} +</script> + +</head> + +<body> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form:form name="listForm" action="${pageContext.request.contextPath}/sec/gmt/EgovGroupList.do" method="post"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1><!-- 그룹관리 목록 --> + <!-- 검색영역 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li><div style="line-height:4px;">&nbsp;</div><div><spring:message code="comCopSecGmt.searchCondition.searchKeywordText" /> : </div></li><!-- 그룹 명 --> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="155" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /><!-- 조회 --> + <input type="button" class="s_btn" onClick="fncGroupListDelete()" value="<spring:message code="title.delete" />" title="<spring:message code="title.delete" /> <spring:message code="input.button" />" /><!-- 삭제 --> + <span class="btn_b"><a href="<c:url value='/sec/gmt/EgovGroupInsertView.do'/>" onClick="javascript:fncAddGroupInsert();" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span><!-- 등록 --> + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 3%;"> + <col style="width: 22%;"> + <col style="width: 26%;"> + <col style="width: ;"> + <col style="width: 10%;"> + <col style="width: 5%;"> + </colgroup> + <thead> + <tr> + <th><input type="checkbox" name="checkAll" class="check2" onclick="javascript:fncCheckAll()" title="<spring:message code="input.selectAll.title" />"></th><!-- 번호 --> + <th class="board_th_link"><spring:message code="comCopSecGmt.list.groupId" /></th><!-- 그룹 ID --> + <th><spring:message code="comCopSecGmt.list.groupNm" /></th><!-- 그룹 명 --> + <th><spring:message code="comCopSecGmt.list.groupDc" /></th><!-- 설명 --> + <th><spring:message code="table.regdate" /></th><!-- 등록일자 --> + <th></th> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(groupList) == 0}"> + <tr> + <td colspan="6"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach var="group" items="${groupList}" varStatus="status"> + <tr> + <td><input type="checkbox" name="delYn" class="check2" title="선택"><input type="hidden" name="checkId" value="<c:out value="${group.groupId}"/>" /></td> + <td><a href="<c:url value='/sec/gmt/EgovGroup.do?groupId=${group.groupId}'/>" onclick="javascript:fncSelectGroup('<c:out value="${group.groupId}"/>')"><c:out value="${group.groupId}"/></a></td> + <td><c:out value="${group.groupNm}"/></td> + <td><c:out value="${group.groupDc}"/></td> + <td><c:out value="${fn:substring(group.groupCreatDe,0,10)}"/></td> + <td><a href="<c:url value='/sec/gmt/EgovGroup.do?groupId=${group.groupId}'/>" onclick="javascript:fncSelectGroup('<c:out value="${group.groupId}"/>')"><img src="<c:url value='/images/egovframework/com/cmm/btn/btn_search.gif'/>" align="middle" alt="<spring:message code="title.detail" />" title="<spring:message code="title.detail" />"></a></td> + </tr> + </c:forEach> + </tbody> + </table> + + <c:if test="${!empty groupManageVO.pageIndex }"> + <!-- paging navigation --> + <div class="pagination"> + <ul><ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/></ul> + </div> + </c:if> + + +</div><!-- end div board --> + +<input type="hidden" name="groupId"/> +<input type="hidden" name="groupIds"/> +<input type="hidden" name="pageIndex" value="<c:out value='${groupManageVO.pageIndex}'/>"/> +<input type="hidden" name="searchCondition"/> +</form:form> +</body> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupManage.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupSearch.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupSearch.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupSearch.jsp (revision 7) @@ -0,0 +1,190 @@ +<% + /** + * @Class Name : EgovGroupSearch.java + * @Description : EgovGroupSearch Search 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.23 lee.m.j 최초 생성 + * 2016.07.06 장동한 표준프레임워크 v3.6 개선 + * + * @author lee.m.j + * @since 2009.03.23 + * @version 1.0 + * @see + * + */ +%> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<c:set var="pageTitle"><spring:message code="comCopSecGmt.groupPopup.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title><!-- 그룹 조회 팝업 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javaScript" language="javascript" defer="defer"> +function fncManageChecked() { + + var checkField = document.listForm.delYn; + var checkId = document.listForm.checkId; + var returnValue = ""; + var checkCount = 0; + var returnBoolean = false; + + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i<checkField.length; i++) { + if(checkField[i].checked) { + checkCount++; + checkField[i].value = checkId[i].value; + returnValue = checkField[i].value; + } + } + + if(checkCount > 1) { + alert("<spring:message code="comCopSecGmt.validate.groupOneSelect"/>"); + return; + } else if(checkCount < 1) { + alert("<spring:message code="comCopSecGmt.validate.groupSelect"/>"); + return; + } + } else { + if(checkField.checked == true) { + returnValue = checkId.value; + } else { + alert("<spring:message code="comCopSecGmt.validate.groupSelect"/>"); + return; + } + } + + returnBoolean = true; + + } else { + alert("<spring:message code="comCopSecGmt.validate.groupSelectResult"/>"); + } + + document.listForm.groupId.value = returnValue; + + return returnBoolean; + +} + +function fncSelectGroupList(pageNo){ + document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = pageNo; + // document.listForm.action = "<c:url value='/sec/gmt/EgovGroupSearchList.do'/>"; + document.listForm.submit(); +} + +function fncSelectGroup(groupId) { + // window.returnValue = groupId; + opener.listForm.searchKeyword.value = groupId; + window.close(); +} + +function fncSelectGroupConfirm() { + if(fncManageChecked()) { + opener.listForm.searchKeyword.value = document.listForm.groupId.value; + // window.returnValue = document.listForm.groupId.value; + window.close(); + } +} + +function linkPage(pageNo){ + document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = pageNo; + // document.listForm.action = "<c:url value='/sec/gmt/EgovGroupSearchList.do'/>"; + document.listForm.submit(); +} + +function press() { + + if (event.keyCode==13) { + fncSelectGroupList('1'); + } +} +</script> + +</head> + +<body> +<DIV id="main" style="display:"> + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form:form name="listForm" action="${pageContext.request.contextPath}/sec/gmt/EgovGroupSearchList.do" method="post"> +<div class="popup"> + <h1>${pageTitle} <spring:message code="title.list" /></h1><!-- 그룹 조회 팝업 --> + <!-- 검색영역 --> + <div class="pop_search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li><div style="line-height:4px;">&nbsp;</div><div><spring:message code="comCopSecGmt.groupPopup.searchKeywordText" /> : </div></li><!-- 그룹명 --> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${groupManageVO.searchKeyword}"/>' maxlength="155" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /><!-- 조회 --> + <input type="button" class="s_btn" onClick="fncSelectGroupConfirm()" value="<spring:message code="button.confirm" />" title="<spring:message code="button.confirm" /> <spring:message code="input.button" />" /><!-- 확인 --> + + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="pop_board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 9%;"> + <col style="width: 33%;"> + <col style="width: 30%;"> + </colgroup> + <thead> + <tr> + <th></th><!-- 선택 --> + <th class="board_th_link"><spring:message code="comCopSecGmt.groupPopupList.groupId" /></th><!-- 그룹 ID --> + <th><spring:message code="comCopSecGmt.groupPopupList.groupNm" /></th><!-- 그룹 명 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(groupList) == 0}"> + <tr> + <td colspan="6"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach var="group" items="${groupList}" varStatus="status"> + <tr> + <td class="lt_text3" nowrap="nowrap"><input type="checkbox" name="delYn" class="check2" title="선택"><input type="hidden" name="checkId" value="<c:out value="${group.groupId}"/>" /></td> + <td class="lt_text" nowrap="nowrap"><a href="#LINK" onclick="javascript:fncSelectGroup('<c:out value="${group.groupId}"/>')"><c:out value="${group.groupId}"/></a></td> + <td class="lt_text" nowrap="nowrap"><c:out value="${group.groupNm}"/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <c:if test="${!empty groupManageVO.pageIndex }"> + <!-- paging navigation --> + <div class="pagination"> + <ul><ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/></ul> + </div> + </c:if> + + +</div><!-- end div board --> + + +<input type="hidden" name="groupId"/> +<input type="hidden" name="groupIds"/> +<input type="hidden" name="pageIndex" value="<c:out value='${groupManageVO.pageIndex}'/>"/> +<input type="hidden" name="searchCondition"/> +</form:form> + + +</DIV> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupSearch.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupInsert.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupInsert.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupInsert.jsp (revision 7) @@ -0,0 +1,107 @@ +<% +/** + * @Class Name : EgovAuthorInsert.java + * @Description : EgovAuthorInsert jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 lee.m.j 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author lee.m.j + * @since 2009.03.11 + * @version 1.0 + * @see + * + */ + %> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comCopSecGmt.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title><!-- 그룹관리 등록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> + +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="groupManage" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript"> + +function fncSelectGroupList() { + var varFrom = document.getElementById("groupManage"); + varFrom.action = "<c:url value='/sec/gmt/EgovGroupList.do'/>"; + varFrom.submit(); +} + +function fncGroupInsert(form) { + + if(confirm("<spring:message code="common.regist.msg" />")){ //등록하시겠습니까? + if(!validateGroupManage(form)){ + return false; + }else{ + form.submit(); + } + } +} + +</script> +</head> + +<body> + +<form:form commandName="groupManage" method="post" action="${pageContext.request.contextPath}/sec/gmt/EgovGroupInsert.do" onSubmit="fncGroupInsert(document.forms[0]); return false;"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2><!-- 그룹관리 등록 --> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 16%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 그룹명 --> + <c:set var="title"><spring:message code="comCopSecGmt.regist.groupNm" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="groupNm" title="${title} ${inputTxt}" size="40" maxlength="50" /> + <div><form:errors path="groupNm" cssClass="error" /></div> + </td> + </tr> + <!-- 설명 --> + <c:set var="title"><spring:message code="comCopSecGmt.regist.groupDc" /></c:set> + <tr> + <th>${title}</th> + <td class="left"> + <form:textarea path="groupDc" title="${title} ${inputTxt}" cols="300" rows="10" /> + <div><form:errors path="groupDc" cssClass="error" /></div> + </td> + </tr> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /><!-- 등록 --> + <span class="btn_s"><a href="<c:url value='/sec/gmt/EgovGroupList.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div><div style="clear:both;"></div> + +</div> +</form:form> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupInsert.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupUpdate.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupUpdate.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupUpdate.jsp (revision 7) @@ -0,0 +1,137 @@ +<% +/** + * @Class Name : EgovAuthorUpdate.java + * @Description : EgovAuthorUpdate jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 lee.m.j 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author lee.m.j + * @since 2009.03.11 + * @version 1.0 + * @see + * + */ + %> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comCopSecGmt.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.update" /></title><!-- 그룹관리 등록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> + +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="groupManage" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript"> +function fncSelectGroupList() { + var varFrom = document.getElementById("groupManage"); + varFrom.action = "<c:url value='/sec/gmt/EgovGroupList.do'/>"; + varFrom.submit(); +} + +function fncGroupUpdate(form) { + if(confirm("<spring:message code="common.save.msg" />")){ //저장하시겠습니까? + if(!validateGroupManage(form)){ + return false; + }else{ + form.submit(); + } + } +} + +function fncGroupDelete() { + var varFrom = document.getElementById("frmIdDelete"); + varFrom.action = "<c:url value='/sec/gmt/EgovGroupDelete.do'/>"; + if(confirm("<spring:message code="common.delete.msg" />")){ //삭제하시겠습니까? + varFrom.submit(); + }else{ + return false; + } +} +</script> +</head> + +<body> + +<form:form commandName="groupManage" method="post" action="${pageContext.request.contextPath}/sec/gmt/EgovGroupUpdate.do" onSubmit="fncGroupUpdate(document.forms[0]); return false;"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2><!-- 그룹관리 등록 --> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 16%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 그룹아이디 --> + <c:set var="title"><spring:message code="comCopSecGmt.regist.groupId" /></c:set> + <tr> + <th>${title}</th> + <td class="left"> + ${groupManage.groupId} + </td> + </tr> + + <!-- 그룹명 --> + <c:set var="title"><spring:message code="comCopSecGmt.regist.groupNm" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="groupNm" title="${title} ${inputTxt}" size="40" maxlength="50" /> + <div><form:errors path="groupNm" cssClass="error" /></div> + </td> + </tr> + <!-- 설명 --> + <c:set var="title"><spring:message code="comCopSecGmt.regist.groupDc" /></c:set> + <tr> + <th>${title}</th> + <td class="left"> + <form:textarea path="groupDc" title="${title} ${inputTxt}" cols="300" rows="10" /> + <div><form:errors path="groupDc" cssClass="error" /></div> + </td> + </tr> + </tbody> + </table> + + <!-- 하단 버튼 --> + <!-- <span class="btn_s"><a href="#" onClick="fncGroupDelete(); return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="button.delete" /></a></span> --> + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/sec/gmt/EgovGroupList.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span><!-- 목록 --> + <button class="btn_s2" onClick="fncGroupDelete();return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="button.delete" /></button><!-- 삭제 --> + <input type="submit" class="s_submit" value="<spring:message code="button.save" />" title="<spring:message code="button.save" /> <spring:message code="input.button" />" /><!-- 저장 --> + </div><div style="clear:both;"></div> + +</div> + +<input type="hidden" name="groupId" value="<c:out value='${groupManage.groupId}'/>"/> +<input type="hidden" name="searchCondition" value="<c:out value='${groupManageVO.searchCondition}'/>"/> +<input type="hidden" name="searchKeyword" value="<c:out value='${groupManageVO.searchKeyword}'/>"/> +<input type="hidden" name="pageIndex" value="<c:out value='${groupManageVO.pageIndex}'/>"/> +</form:form> + +<form id="frmIdDelete" name="frmDelete" method="post"> +<input type="hidden" name="groupId" value="<c:out value='${groupManage.groupId}'/>"/> +<input type="hidden" name="searchCondition" value="<c:out value='${groupManageVO.searchCondition}'/>"/> +<input type="hidden" name="searchKeyword" value="<c:out value='${groupManageVO.searchKeyword}'/>"/> +<input type="hidden" name="pageIndex" value="<c:out value='${groupManageVO.pageIndex}'/>"/> +</form> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/gmt/EgovGroupUpdate.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/pki/EgovCryptoInfo.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/pki/EgovCryptoInfo.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/pki/EgovCryptoInfo.jsp (revision 7) @@ -0,0 +1,111 @@ +<% + /** + * @Class Name : EgovCryptoInfo.jsp + * @Description : 암호화/복호화 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2018.12.03 신용호 최초 생성 + * + * @author 실행환경 개발팀 홍길동 + * @since 2018.12.03 + * @version 3.8 + * @see + * + */ +%> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<c:set var="pageTitle"><spring:message code="comSecPki.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title><!-- 암호화/복호화 --> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +</head> +<body> + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form:form name="listForm" action="${pageContext.request.contextPath}/sec/pki/EgovCryptoInfo.do" method="post"> +<div class="board"> + <h1>${pageTitle}</h1><!-- 암호화/복호화 --> + <!-- 요청영역 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li><div style="line-height:4px;">&nbsp;</div><div><spring:message code="comSecPki.cryptoInfo.plainText" />(Plain Text) : </div></li><!-- 원본 문자열 --> + <!-- 암복호화 키워드 및 요청버튼 --> + <li style="border: 0px solid #d2d2d2;"> + <input class="s_input" name="plainText" type="text" size="500" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:if test="${plainText eq '' or plainText eq null}"><spring:message code="comSecPki.cryptoInfo.sampleText" /></c:if><c:if test="${plainText ne '' and plainText ne null}"><c:out value="${plainText}"/></c:if>' maxlength="500" style="width:400px;"> + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /> + </li> + </ul> + </div> + + <!-- 상세내용 --> + <table class="popwTable"> + <caption>${pageTitle}</caption> + <colgroup> + <col style="width: 20%;"> + <col style="width: 80%;"> + </colgroup> + <tbody> + <!-- 암호화 방식 --> + <tr> + <th><spring:message code="comSecPki.cryptoInfo.cryptoType" /></th> + <td class="left">ARIA</td> + </tr> + <!-- 원본문자열 --> + <tr> + <th><spring:message code="comSecPki.cryptoInfo.plainText" /></th> + <td class="left"><c:out value="${plainText}"/></td> + </tr> + <!-- 원본문자열 길이 --> + <tr> + <th><spring:message code="comSecPki.cryptoInfo.plainTextLen" /></th> + <td class="left"><c:out value="${plainTextLen}"/></td> + </tr> + <!-- 암호화문자열(Base64) --> + <tr> + <th><spring:message code="comSecPki.cryptoInfo.cryptText" /></th> + <td class="left"><c:out value="${cryptText}"/></td> + </tr> + <!-- 복호화문자열 --> + <tr> + <th><spring:message code="comSecPki.cryptoInfo.decryptText" /></th> + <td class="left"><c:out value="${decryptText}"/></td> + </tr> + <!-- 복호화문자열 길이 --> + <tr> + <th><spring:message code="comSecPki.cryptoInfo.decryptTextLen" /></th> + <td class="left"><c:out value="${decryptTextLen}"/></td> + </tr> + + </tbody> + </table> + + +</div> + +</form:form> + + + + + + + + + + + + + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/pki/EgovCryptoInfo.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorManage.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorManage.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorManage.jsp (revision 7) @@ -0,0 +1,236 @@ +<% + /** + * @Class Name : EgovAuthorManage.java + * @Description : EgovAuthorManage List 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.01 Lee.m.j 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author 실행환경 개발팀 홍길동 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<c:set var="pageTitle"><spring:message code="comCopSecRam.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title><!-- 권한관리 목록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javaScript" language="javascript" defer="defer"> +function fncCheckAll() { + var checkField = document.listForm.delYn; + if(document.listForm.checkAll.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} + +function fncManageChecked() { + + var checkField = document.listForm.delYn; + var checkId = document.listForm.checkId; + var returnValue = ""; + + var returnBoolean = false; + var checkCount = 0; + + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i<checkField.length; i++) { + if(checkField[i].checked) { + checkField[i].value = checkId[i].value; + if(returnValue == "") + returnValue = checkField[i].value; + else + returnValue = returnValue + ";" + checkField[i].value; + checkCount++; + } + } + if(checkCount > 0) + returnBoolean = true; + else { + alert("<spring:message code="comCopSecRam.validate.authorSelect" />"); //선택된 권한이 없습니다." + returnBoolean = false; + } + } else { + if(document.listForm.delYn.checked == false) { + alert("<spring:message code="comCopSecRam.validate.authorSelect" />"); //선택된 권한이 없습니다." + returnBoolean = false; + } + else { + returnValue = checkId.value; + returnBoolean = true; + } + } + } else { + alert("<spring:message code="comCopSecRam.validate.authorSelectResult" />"); //조회된 결과가 없습니다. + } + + document.listForm.authorCodes.value = returnValue; + + return returnBoolean; +} + +function fncSelectAuthorList(pageNo){ + document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/sec/ram/EgovAuthorList.do'/>"; + document.listForm.submit(); +} + +function fncSelectAuthor(author) { + document.listForm.authorCode.value = author; + document.listForm.action = "<c:url value='/sec/ram/EgovAuthor.do'/>"; + document.listForm.submit(); +} + +function fncAddAuthorInsert() { + location.replace("<c:url value='/sec/ram/EgovAuthorInsertView.do'/>"); +} + +function fncAuthorDeleteList() { + + if(fncManageChecked()) { + if(confirm("<spring:message code="common.delete.msg" />")){ //삭제하시겠습니까? + document.listForm.action = "<c:url value='/sec/ram/EgovAuthorListDelete.do'/>"; + document.listForm.submit(); + } + } +} + +function fncAddAuthorView() { + document.listForm.action = "<c:url value='/sec/ram/EgovAuthorUpdate.do'/>"; + document.listForm.submit(); +} + +function fncSelectAuthorRole(author) { + document.listForm.searchKeyword.value = author; + document.listForm.action = "<c:url value='/sec/ram/EgovAuthorRoleList.do'/>"; + document.listForm.submit(); +} + +function linkPage(pageNo){ + document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/sec/ram/EgovAuthorList.do'/>"; + document.listForm.submit(); +} + + +function press() { + + if (event.keyCode==13) { + fncSelectAuthorList('1'); + } +} + +</script> +</head> +<body> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form:form name="listForm" action="${pageContext.request.contextPath}/sec/ram/EgovAuthorList.do" method="post"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1><!-- 권한관리 목록 --> + <!-- 검색영역 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li><div style="line-height:4px;">&nbsp;</div><div><spring:message code="comCopSecRam.list.searchKeywordText" /> : </div></li><!-- 권한명 --> + <!-- 검색키워드 및 조회버튼 --> + <li style="border: 0px solid #d2d2d2;"> + <input class="s_input" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${authorManageVO.searchKeyword}"/>' maxlength="155" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /> + <input type="button" class="s_btn" onClick="fncAuthorDeleteList()" value="<spring:message code="title.delete" />" title="<spring:message code="title.delete" /> <spring:message code="input.button" />" /> + <span class="btn_b"><a href="<c:url value='/sec/ram/EgovAuthorInsertView.do'/>" onClick="javascript:fncAddAuthorInsert();" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span> + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 9%;"> + <col style="width: 33%;"> + <col style="width: 30%;"> + <col style="width: ;"> + <col style="width: 10%;"> + <col style="width: 7%;"> + </colgroup> + <thead> + <tr> + <th><input type="checkbox" name="checkAll" class="check2" onclick="javascript:fncCheckAll()" title="<spring:message code="input.selectAll.title" />"></th><!-- 번호 --> + <th class="board_th_link"><spring:message code="comCopSecRam.list.authorRollId" /></th><!-- 권한 ID --> + <th><spring:message code="comCopSecRam.list.authorNm" /></th><!-- 권한 명 --> + <th><spring:message code="comCopSecRam.list.authorDc" /></th><!-- 설명 --> + <th><spring:message code="table.regdate" /></th><!-- 등록일자 --> + <th><spring:message code="comCopSecRam.list.authorRoll" /></th><!-- 롤 정보 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(authorList) == 0}"> + <tr> + <td colspan="6"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach var="author" items="${authorList}" varStatus="status"> + <tr> + <td><input type="checkbox" name="delYn" class="check2" title="선택"><input type="hidden" name="checkId" value="<c:out value="${author.authorCode}"/>" /></td> + <td><a href="#LINK" onclick="javascript:fncSelectAuthor('<c:out value="${author.authorCode}"/>')"><c:out value="${author.authorCode}"/></a></td> + <td><c:out value="${author.authorNm}"/></td> + <td><c:out value="${author.authorDc}"/></td> + <td><c:out value="${fn:substring(author.authorCreatDe,0,10)}"/></td> + <td><a href="<c:url value='/sec/ram/EgovAuthorRoleList.do'/>?searchKeyword=<c:out value="${author.authorCode}"/>" onclick="javascript:fncSelectAuthorRole('<c:out value="${author.authorCode}"/>')"><img src="<c:url value='/images/egovframework/com/cmm/btn/btn_search.gif'/>" width="15" height="15" align="middle" alt="롤 정보"></a></td> + </tr> + </c:forEach> + </tbody> + </table> + + <c:if test="${!empty authorManageVO.pageIndex }"> + <!-- paging navigation --> + <div class="pagination"> + <ul><ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/></ul> + </div> + </c:if> + + +</div><!-- end div board --> + + +<input type="hidden" name="authorCode"/> +<input type="hidden" name="authorCodes"/> +<input type="hidden" name="pageIndex" value="<c:out value='${authorManageVO.pageIndex}'/>"/> +<input type="hidden" name="searchCondition" value="1"/> +</form:form> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorManage.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorInsert.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorInsert.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorInsert.jsp (revision 7) @@ -0,0 +1,135 @@ +<% +/** + * @Class Name : EgovAuthorInsert.java + * @Description : EgovAuthorInsert jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 lee.m.j 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author lee.m.j + * @since 2009.03.11 + * @version 1.0 + * @see + * + */ + %> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comCopSecRam.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title><!-- 권한관리 등록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> + +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="authorManage" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript"> +function fncSelectAuthorList() { + var varFrom = document.getElementById("authorManage"); + varFrom.action = "<c:url value='/sec/ram/EgovAuthorList.do'/>"; + varFrom.submit(); +} + +function fncAuthorInsert(form) { + if(confirm("<spring:message code="common.regist.msg" />")){ //등록하시겠습니까? + if(!validateAuthorManage(form)){ + return false; + }else{ + form.submit(); + } + } +} + +function fncAuthorUpdate() { + var varFrom = document.getElementById("authorManage"); + varFrom.action = "<c:url value='/sec/ram/EgovAuthorUpdate.do'/>"; + + if(confirm("<spring:message code="common.regist.msg" />")){ //등록하시겠습니까? + if(!validateAuthorManage(varFrom)){ + return; + }else{ + varFrom.submit(); + } + } +} + +function fncAuthorDelete() { + var varFrom = document.getElementById("authorManage"); + varFrom.action = "<c:url value='/sec/ram/EgovAuthorDelete.do'/>"; + if(confirm("<spring:message code="common.delete.msg" />")){ //삭제하시겠습니까? + varFrom.submit(); + } +} +</script> +</head> + +<body> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form:form commandName="authorManage" action="${pageContext.request.contextPath}/sec/ram/EgovAuthorInsert.do" method="post" onSubmit="fncAuthorInsert(document.forms[0]); return false;"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2><!-- 권한관리 등록 --> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 16%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 권한코드 --> + <c:set var="title"><spring:message code="comCopSecRam.regist.authorCode" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="authorCode" title="${title} ${inputTxt}" size="40" maxlength="30" /> + <div><form:errors path="authorCode" cssClass="error" /></div> + </td> + </tr> + <!-- 권한명 --> + <c:set var="title"><spring:message code="comCopSecRam.regist.authorNm" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="authorNm" title="${title} ${inputTxt}" size="40" maxlength="60" /> + <div><form:errors path="authorNm" cssClass="error" /></div> + </td> + </tr> + <!-- 설명 --> + <c:set var="title"><spring:message code="comCopSecRam.regist.authorDc" /></c:set> + <tr> + <th>${title}</th> + <td class="left"> + <form:textarea path="authorDc" title="${title} ${inputTxt}" cols="300" rows="10" /> + <div><form:errors path="authorDc" cssClass="error" /></div> + </td> + </tr> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /><!-- 등록 --> + <span class="btn_s"><a href="<c:url value='/sec/ram/EgovAuthorList.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div><div style="clear:both;"></div> + +</div> +</form:form> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorInsert.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorUpdate.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorUpdate.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorUpdate.jsp (revision 7) @@ -0,0 +1,127 @@ +<% +/** + * @Class Name : egovAuthorUpdate.java + * @Description : egovAuthorUpdate jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 lee.m.j 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author lee.m.j + * @since 2009.03.11 + * @version 1.0 + * @see + * + */ + %> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comCopSecRam.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.update" /></title><!-- 권한관리 수정 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> + +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="authorManage" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript"> + +function fncSelectAuthorList() { + var varFrom = document.getElementById("authorManage"); + varFrom.action = "<c:url value='/sec/ram/EgovAuthorList.do'/>"; + varFrom.submit(); +} + +function fncAuthorUpdate(form) { + if(confirm("<spring:message code="common.update.msg" />")){ //수정하시겠습니까? + if(!validateAuthorManage(form)){ + return false; + }else{ + form.submit(); + } + } +} + +function fncAuthorDelete() { + var varFrom = document.getElementById("authorManage"); + varFrom.action = "<c:url value='/sec/ram/EgovAuthorDelete.do'/>"; + if(confirm("<spring:message code="common.delete.msg" />")){ //삭제하시겠습니까? + varFrom.submit(); + } +} + +</script> +</head> + +<body> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form:form commandName="authorManage" action="${pageContext.request.contextPath}/sec/ram/EgovAuthorUpdate.do" method="post" onSubmit="fncAuthorUpdate(document.forms[0]); return false;"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.update" /></h2><!-- 권한관리 수정 --> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 16%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 권한코드 --> + <c:set var="title"><spring:message code="comCopSecRam.regist.authorCode" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="authorCode" title="${title} ${inputTxt}" size="40" maxlength="30" /> + <div><form:errors path="authorCode" cssClass="error" /></div> + </td> + </tr> + <!-- 권한명 --> + <c:set var="title"><spring:message code="comCopSecRam.regist.authorNm" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="authorNm" title="${title} ${inputTxt}" size="40" maxlength="60" /> + <div><form:errors path="authorNm" cssClass="error" /></div> + </td> + </tr> + <!-- 설명 --> + <c:set var="title"><spring:message code="comCopSecRam.regist.authorDc" /></c:set> + <tr> + <th>${title}</th> + <td class="left"> + <form:textarea path="authorDc" title="${title} ${inputTxt}" cols="300" rows="10" /> + <div><form:errors path="authorDc" cssClass="error" /></div> + </td> + </tr> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="button.update" /> <spring:message code="input.button" />" /><!-- 수정 --> + <span class="btn_s"><a href="<c:url value='/sec/ram/EgovAuthorList.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div><div style="clear:both;"></div> + +</div> +<input type="hidden" name="searchCondition" value="<c:out value='${authorManageVO.searchCondition}'/>"/> +<input type="hidden" name="searchKeyword" value="<c:out value='${authorManageVO.searchKeyword}'/>"/> +<input type="hidden" name="pageIndex" value="<c:out value='${authorManageVO.pageIndex}'/>"/> +</form:form> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorUpdate.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorRoleManage.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorRoleManage.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorRoleManage.jsp (revision 7) @@ -0,0 +1,257 @@ +<% +/** + * @Class Name : EgovAuthorRoleManage.java + * @Description : EgovAuthorRoleManage.jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2009.02.01 lee.m.j 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author lee.m.j + * @since 2009.03.21 + * @version 1.0 + * @see + * + */ +%> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<c:set var="pageTitle"><spring:message code="comCopSecRam.authorRoleList.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title><!-- 권한롤관리 목록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javaScript" language="javascript" defer="defer"> +function fncCheckAll() { + var checkField = document.listForm.delYn; + if(document.listForm.checkAll.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} + +function fncManageChecked() { + + var checkField = document.listForm.delYn; + var checkId = document.listForm.checkId; + var checkRegYn = document.listForm.regYn; + var returnValue = ""; + var returnRegYns = ""; + var checkedCount = 0; + var returnBoolean = false; + + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i<checkField.length; i++) { + if(checkField[i].checked) { + checkedCount++; + checkField[i].value = checkId[i].value; + + if(returnValue == "") { + returnValue = checkField[i].value; + returnRegYns = checkRegYn[i].value; + } + else { + returnValue = returnValue + ";" + checkField[i].value; + returnRegYns = returnRegYns + ";" + checkRegYn[i].value; + } + } + } + + if(checkedCount > 0) + returnBoolean = true; + else { + alert("<spring:message code="comCopSecRam.authorRoleList.validate.alert.noSelect" />");//선택된 롤이 없습니다. + returnBoolean = false; + } + } else { + if(document.listForm.delYn.checked == false) { + alert("<spring:message code="comCopSecRam.authorRoleList.validate.alert.noSelect" />");//선택된 롤이 없습니다. + returnBoolean = false; + } + else { + returnValue = checkId.value; + returnRegYns = checkRegYn.value; + + returnBoolean = true; + } + } + } else { + alert("<spring:message code="comCopSecRam.authorRoleList.validate.alert.noResult" />");//조회된 결과가 없습니다. + } + + document.listForm.roleCodes.value = returnValue; + document.listForm.regYns.value = returnRegYns; + + return returnBoolean; + +} + +function fncSelectAuthorRoleList() { + document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = "1"; + document.listForm.action = "<c:url value='/sec/ram/EgovAuthorRoleList.do'/>"; + document.listForm.submit(); +} + +function fncSelectAuthorList(){ + // document.listForm.searchCondition.value = "1"; + // document.listForm.pageIndex.value = "1"; + + //document.listForm.searchKeyword.value = ""; + //document.listForm.action = "<c:url value='/sec/ram/EgovAuthorList.do'/>"; + //document.listForm.submit(); + location.href = "<c:url value='/sec/ram/EgovAuthorList.do'/>"; +} + +function fncSelectAuthorRole(roleCode) { + document.listForm.roleCode.value = roleCode; + document.listForm.action = "<c:url value='/sec/ram/EgovRole.do'/>"; + document.listForm.submit(); +} + +function fncAddAuthorRoleInsert() { + if(fncManageChecked()) { + if(confirm("<spring:message code="comCopSecRam.authorRoleList.validate.confirm.regist" />")) {//등록하시겠습니까? + document.listForm.action = "<c:url value='/sec/ram/EgovAuthorRoleInsert.do'/>"; + document.listForm.submit(); + } + } else return; +} + +function linkPage(pageNo){ + document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/sec/ram/EgovAuthorRoleList.do'/>"; + document.listForm.submit(); +} + + +function press() { + + if (event.keyCode==13) { + fncSelectAuthorRoleList(); + } +} +</script> +</head> +<body> +<div class="board"> +<form:form name="listForm" action="${pageContext.request.contextPath}/sec/ram/EgovAuthorRoleList.do" method="post"> + <h1>${pageTitle} <spring:message code="title.list" /></h1><!-- 권한롤관리 목록 --> + <!-- 검색영역 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li><div style="line-height:4px;">&nbsp;</div><div><spring:message code="comCopSecRam.regist.authorCode" /> : </div></li> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="155" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /> + <input type="button" class="s_btn" value="<spring:message code="button.list" />" onClick="fncSelectAuthorList()" title="<spring:message code="button.list" /> <spring:message code="input.button" />" /> + <input type="button" class="s_btn" value="<spring:message code="button.create" />" onClick="fncAddAuthorRoleInsert()" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /> + </li> + </ul> + </div> + + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 3%;"> + <col style="width: 12%;"> + <col style="width: 20%;"> + <col style="width: 12%;"> + <col style="width: 10%;"> + <col style="width: ;"> + <col style="width: 10%;"> + <col style="width: 10%;"> + </colgroup> + <thead> + <tr> + <th><input type="checkbox" name="checkAll" class="check2" onclick="javascript:fncCheckAll()" title="<spring:message code="input.selectAll.title" />"></th> + <th class="board_th_link"><spring:message code="comCopSecRam.authorRoleList.rollId" /></th><!-- 롤 ID --> + <th><spring:message code="comCopSecRam.authorRoleList.rollNm" /></th><!-- 롤 명 --> + <th><spring:message code="comCopSecRam.authorRoleList.rollType" /></th><!-- 롤 타입 --> + <th><spring:message code="comCopSecRam.authorRoleList.rollSort" /></th><!-- 롤 Sort --> + <th><spring:message code="comCopSecRam.authorRoleList.rollDc" /></th><!-- 롤 설명 --> + <th><spring:message code="table.regdate" /></th><!--등록일 --> + <th><spring:message code="comCopSecRam.authorRoleList.regYn" /></th><!-- 등록여부 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(authorRoleList) == 0}"> + <tr> + <td colspan="8"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach var="authorRole" items="${authorRoleList}" varStatus="status"> + <tr> + <td><input type="checkbox" name="delYn" class="check2" title="선택"><input type="hidden" name="checkId" value="<c:out value="${authorRole.roleCode}"/>" /></td> + <td><c:out value="${authorRole.roleCode}"/></td> + <td><c:out value="${authorRole.roleNm}"/></td> + <td><c:out value="${authorRole.roleTyp}"/></td> + <td><c:out value="${authorRole.roleSort}"/></td> + <td><c:out value="${authorRole.roleDc}"/></td> + <td><c:out value="${fn:substring(authorRole.creatDt,0,10)}"/></td> + <td> + <select name="regYn" title="<spring:message code="comCopSecRam.authorRoleList.regYn" />"> + <option value="Y" <c:if test="${authorRole.regYn == 'Y'}">selected</c:if> ><spring:message code="comCopSecRam.authorRoleList.regY" /></option><!-- 등록 --> + <option value="N" <c:if test="${authorRole.regYn == 'N'}">selected</c:if> ><spring:message code="comCopSecRam.authorRoleList.regN" /></option><!-- 미등록 --> + </select> + </td> + </tr> + </c:forEach> + </tbody> + </table> + + <c:if test="${!empty authorRoleManageVO.pageIndex }"> + <!-- paging navigation --> + <div class="pagination"> + <ul><ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/></ul> + </div> + </c:if> + + <!-- 버튼역역 --> + <!-- + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/sec/ram/EgovAuthorList.do'/>" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + <span class="btn_s"><a href="javascript:fncAddAuthorRoleInsert()" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span> + </div> + --> + + <input type="hidden" name="roleCodes"/> + <input type="hidden" name="regYns"/> + <input type="hidden" name="pageIndex" value="<c:out value='${authorRoleManageVO.pageIndex}'/>"/> + <input type="hidden" name="authorCode" value="<c:out value="${authorRoleManageVO.searchKeyword}"/>"/> + <input type="hidden" name="searchCondition"> +</form:form> +</div><!-- end div board --> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sec/ram/EgovAuthorRoleManage.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitBottom.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitBottom.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitBottom.jsp (revision 7) @@ -0,0 +1,18 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<link href="<c:url value='/css/egovframework/com/cmm/main.css' />" rel="stylesheet" type="text/css"> +<title>eGovFrame 공통 컴포넌트</title> +</head> +<body> +<div id="footer"> + <div><strong class="footer_title_strong">Copyright(c)2018 eGovframework. All right reserved.</strong></div> +</div> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitBottom.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitTop.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitTop.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitTop.jsp (revision 7) @@ -0,0 +1,170 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovUnitTop.jsp + * @Description : 상단 헤더 영역 + * @Modification Information + * + * @수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2020.06.23 신용호 세션만료시간 보여주기 + * + * @author 공통서비스 개발팀 신용호 + * @since 2009.03.03 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/main.css' />"> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<title>eGovFrame 공통 컴포넌트</title> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/jquery.js'/>" ></script> +<script type="text/javaScript" language="javascript" defer="defer"> + function getCookie(cname) { + var name = cname + "="; + var decodedCookie = decodeURIComponent(document.cookie); + var ca = decodedCookie.split(';'); + for(var i = 0; i <ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) == ' ') { + c = c.substring(1); + } + if (c.indexOf(name) == 0) { + return c.substring(name.length, c.length); + } + } + return ""; + } + + function pad(n, width) { + n = n + ''; + return n.length >= width ? n : new Array(width - n.length + 1).join('0') + n; + } + + var objLeftTime; + var objClickInfo; + var latestTime; + var expireTime; + var timeInterval = 1000; // 1초 간격 호출 + var firstLocalTime = 0; + var elapsedLocalTime = 0; + var stateExpiredTime = false; + var logoutUrl = "<c:url value='/uat/uia/actionLogout.do'/>"; + var timer; + + function init() { + objLeftTime = document.getElementById("leftTimeInfo"); + + if (objLeftTime == null) { + console.log("'leftTimeInfo' ID is not exist!"); + return; + } + objClickInfo = document.getElementById("clickInfo"); + //console.log(objLeftTime.textContent); + + latestTime = getCookie("egovLatestServerTime"); + expireTime = getCookie("egovExpireSessionTime"); + //console.log("latestServerTime = "+latestTime); + //console.log("expireSessionTime = "+expireTime); + + elapsedTime = 0; + firstLocalTime = (new Date()).getTime(); + showRemaining(); + + timer = setInterval(showRemaining, timeInterval); // 1초 간격 호출 + } + + function showRemaining() { + elapsedLocalTime = (new Date()).getTime() - firstLocalTime; + + var timeRemaining = expireTime - latestTime - elapsedLocalTime; + if ( timeRemaining < timeInterval ) { + clearInterval(timer); + objLeftTime.innerHTML = "00:00:00"; + objClickInfo.text = '<spring:message code="comCmm.top.expiredSessionTime"/>'; //시간만료 + stateExpiredTime = true; + alert('<spring:message code="comCmm.top.expireSessionTimeInfo"/>');//로그인 세션시간이 만료 되었습니다. + // reload content main page + $("#sessionInfo").hide(); + + parent.frames["_content"].location.href = logoutUrl; + //parent.frames["_content"].location.reload(); + + return; + } + var timeHour = Math.floor(timeRemaining/1000/60 / 60); + var timeMin = Math.floor((timeRemaining/1000/60) % 60); + var timeSec = Math.floor((timeRemaining/1000) % 60); + //objLeftTime.textContent = pad(timeHour,2) +":"+ pad(timeMin,2) +":"+ pad(timeSec,2); + //objLeftTime.outerText = pad(timeHour,2) +":"+ pad(timeMin,2) +":"+ pad(timeSec,2); + objLeftTime.innerHTML = pad(timeHour,2) +":"+ pad(timeMin,2) +":"+ pad(timeSec,2); + //console.log("call showRemaining() = "+objLeftTime.innerHTML); + } + + function reqTimeAjax() { + + if (stateExpiredTime==true) { + alert('<spring:message code="comCmm.top.cantIncSessionTime"/>');//시간을 연장할수 없습니다. + return; + } + + $.ajax({ + url:'${pageContext.request.contextPath}/uat/uia/refreshSessionTimeout.do', //request 보낼 서버의 경로 + type:'get', // 메소드(get, post, put 등) + data:{}, //보낼 데이터 + success: function(data) { + //서버로부터 정상적으로 응답이 왔을 때 실행 + latestTime = getCookie("egovLatestServerTime"); + expireTime = getCookie("egovExpireSessionTime"); + console.log("latestServerTime = "+latestTime); + console.log("expireSessionTime = "+expireTime); + init(); + //alert("정상수신 , data = "+data); + }, + error: function(err) { + alert("err : "+err); + //서버로부터 응답이 정상적으로 처리되지 못햇을 때 실행 + //alert("오류발생 , error="+err.state()); + } + }); + return false; + } + + function logout() { + $("#sessionInfo").hide(); + + parent.frames["_content"].location.href = logoutUrl; + } + +</script> +</head> +<body onload="init()"> +<div id="header"> + <div class="header_box"> + <h1> + <a href="<c:url value='/EgovContent.do' />" target="_content"><img src="<c:url value='/images/egovframework/com/cmm/main/top_logo.png' />" alt="eGovframe"></a> + </h1> + <div style="margin-top:4px;"> + <strong class="top_title_strong"><spring:message code="comCmm.top.title"/></strong> + <span id="sessionInfo"> + <c:if test="${loginVO != null}"> + <br><spring:message code="comCmm.top.leftSessionTime"/> - <span id="leftTimeInfo">00:00:00</span><!-- 세션만료 남은시간 --> + <a id="clickInfo" class="btn02" href="#" onclick="reqTimeAjax();return false;"><spring:message code="comCmm.top.incSessionTime"/></a><!-- 시간연장 --> + <a class="btn02" href="#" onclick="logout();return false;"><spring:message code="comCmm.unitContent.3"/></a><!-- 로그아웃 --> + </c:if> + </span> + </div> + </div> +</div> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitTop.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitContent.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitContent.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitContent.jsp (revision 7) @@ -0,0 +1,100 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovUnitContent.jsp + * @Description : 로그인 성공후 컨텐츠 영역 + * @Modification Information + * + * @수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2020.06.23 신용호 세션만료시간 보여주기 + * + * @author 공통서비스 개발팀 신용호 + * @since 2009.03.03 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>eGovFrame <spring:message code="comCmm.unitContent.1"/></title> +<style type="text/css"> +.pwdTitleClass .ui-widget-header +{ + background-color: #F9A7AE; + background-image: none; + color: Black; +} +</style> +<link type="text/css" rel="stylesheet" href="/egovframework-all-in-one/css/egovframework/com/cmm/jqueryui.css"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<script type="text/javascript"> + + var $dialog; + + $(document).ready(function () { + + // 파일검색 화면 호출 함수 + //var page = $(this).attr("href"); + //var pagetitle = $(this).attr("title"); + var pagetitle = "<spring:message code="comCmm.unitContent.20"/>"; // 비밀번호 유효기간 만료 안내 + var page = "${pageContext.request.contextPath}/uat/uia/noticeExpirePwd.do"; + $dialog = $('<div style="overflow:hidden;padding: 0px 0px 0px 0px;"></div>') + .html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>') + .dialog({ + autoOpen: false, + modal: true, + width: 600, + height: 550, + title: pagetitle, + dialogClass: 'pwdTitleClass' + }); + +<c:if test="${loginVO != null}"> + if ( ${elapsedTimeExpiration} > 0 ) + $dialog.dialog('open'); +</c:if> + }); +</script> +</head> +<body> + <c:if test="${loginVO != null}"> + ${loginVO.name}(${loginVO.id})<spring:message code="comCmm.unitContent.2"/> <a href="${pageContext.request.contextPath }/uat/uia/actionLogout.do"><spring:message code="comCmm.unitContent.3"/></a> + <!-- + <br>passedDay = ${passedDay} + <br>expirePwdDay = ${expirePwdDay} + <br>elapsedTimeExpiration = ${elapsedTimeExpiration} + --> + <script type="text/javaScript" language="javascript"> + parent.frames["_top"].location.reload(); + </script> + </c:if> + <c:if test="${loginVO == null }"> + <jsp:forward page="/uat/uia/egovLoginUsr.do"/> + </c:if> + <p/><p/><p/> + <b><spring:message code="comCmm.unitContent.4"/><br /><br/><!-- 실행 시 오류 사항이 있으시면 표준프레임워크센터로 연락하시기 바랍니다. --> + <b><img src="${pageContext.request.contextPath }/images/egovframework/com/cmm/icon/tit_icon.png"> <spring:message code="comCmm.unitContent.5"/></b><p/><!-- 화면 설명 --> + <spring:message code="comCmm.unitContent.6"/><p/><!-- 왼쪽 메뉴는 메뉴와 관련된 컴포넌트(메뉴관리, 사이트맵 등)들의 영향을 받지 않으며, --> + <spring:message code="comCmm.unitContent.7"/><p/><!-- 각 컴포넌트를 쉽게 찾아볼 수 있는 바로 가기 링크페이지입니다. --> + + <br /><b><img src="${pageContext.request.contextPath }/images/egovframework/com/cmm/icon/tit_icon.png"> egovframework.com.cmm.web.EgovComIndexController.java</b><p/> + + <spring:message code="comCmm.unitContent.8"/><p/><!-- 컴포넌트 설치 후 설치된 컴포넌트들을 IncludedInfo annotation을 통해 찾아낸 후 --> + <spring:message code="comCmm.unitContent.9"/><p/><br /><!-- 화면에 표시할 정보를 처리하는 Controller 클래스입니다. --> + <spring:message code="comCmm.unitContent.10"/><p/><!-- 개발 시 메뉴 구조가 잡히기 전에 배포 파일들에 포함된 공통 컴포넌트들의 목록성 화면에 URL을 제공하여 --> + <spring:message code="comCmm.unitContent.11"/><p/><!-- 개발자가 편리하게 활용할 수 있도록 작성되었습니다. --> + <spring:message code="comCmm.unitContent.12"/> <p/><!-- 운영 시에 본 컨트롤을 사용하여 메뉴를 구성하는 경우, --> + <spring:message code="comCmm.unitContent.13"/><p/><!-- 성능 문제를 일으키거나 사용자별 메뉴 구성에 오류를 발생할 수 있기 때문에 --> + <spring:message code="comCmm.unitContent.14"/><p /><!-- 실 운영 시에는 삭제해서 배포하는 것을 권장해 드립니다. --> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitContent.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/egovHttpSessionException.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/egovHttpSessionException.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/egovHttpSessionException.jsp (revision 7) @@ -0,0 +1,39 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comCmmErr.sessionException.code"/></c:set><!-- 세션만료 에러 --> +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title><spring:message code="title.html"/></title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css" /> + +<script language="javascript"> +function fncGoAfterErrorPage(){ + history.back(-2); +} +</script> +</head> +<body> +<div style="width: 1000px; margin: 50px auto 50px;"> + <p style="font-size: 18px; color: #000; margin-bottom: 10px; "><img src="<c:url value='/images/egovframework/com/cmm/er_logo.jpg' />" width="379" height="57" /></p> + <div style="border: ppx solid #666; padding: 20px;"> + + <p style="color:red; margin-bottom: 8px; ">${pageTitle}<br /></p> + + <div class="boxType1" style="width: 700px;"> + <div class="box"> + <div class="error"> + <p class="title"><spring:message code="comCmmErr.sessionException.title" /></p><!-- 세션이 만료되었습니다! --> + <p class="cont mb20">${pageTitle}<br /></p> + <span class="btn_style1 blue"><a href="javascript:fncGoAfterErrorPage();"><spring:message code="comCmmErr.button" /><!-- 이전 페이지 --></a></span> + </div> + </div> + </div> + </div> +</div> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/egovHttpSessionException.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/dataAccessFailure.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/dataAccessFailure.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/dataAccessFailure.jsp (revision 7) @@ -0,0 +1,39 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comCmmErr.dataAccessFailure.code"/></c:set><!-- 데이터처리 에러 --> +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title><spring:message code="title.html"/></title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css" /> + +<script language="javascript"> +function fncGoAfterErrorPage(){ + history.back(-2); +} +</script> +</head> +<body> +<div style="width: 1000px; margin: 50px auto 50px;"> + <p style="font-size: 18px; color: #000; margin-bottom: 10px; "><img src="<c:url value='/images/egovframework/com/cmm/er_logo.jpg' />" width="379" height="57" /></p> + <div style="border: ppx solid #666; padding: 20px;"> + + <p style="color:red; margin-bottom: 8px; ">${pageTitle}<br /></p> + + <div class="boxType1" style="width: 700px;"> + <div class="box"> + <div class="error"> + <p class="title"><spring:message code="comCmmErr.dataAccessFailure.title" /></p><!-- 데이터 처리 중 오류가 발생하였습니다! --> + <p class="cont mb20">${pageTitle}<br /></p> + <span class="btn_style1 blue"><a href="javascript:fncGoAfterErrorPage();"><spring:message code="comCmmErr.button" /><!-- 이전 페이지 --></a></span> + </div> + </div> + </div> + </div> +</div> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/dataAccessFailure.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/accessDenied.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/accessDenied.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/accessDenied.jsp (revision 7) @@ -0,0 +1,38 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comCmmErr.accessDenied.code"/></c:set><!-- 사용자접근권한 에러 --> +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title><spring:message code="title.html"/></title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css" /> +<script language="javascript"> +function fncGoAfterErrorPage(){ + history.back(-2); +} +</script> +</head> +<body> +<div style="width: 1000px; margin: 50px auto 50px;"> + <p style="font-size: 18px; color: #000; margin-bottom: 10px; "><img src="<c:url value='/images/egovframework/com/cmm/er_logo.jpg' />" width="379" height="57" /></p> + <div style="border: ppx solid #666; padding: 20px;"> + + <p style="color:red; margin-bottom: 8px; ">${pageTitle}</p> + + <div class="boxType1" style="width: 700px;"> + <div class="box"> + <div class="error"> + <p class="title"><spring:message code="comCmmErr.accessDenied.title" /></p><!-- 현재 페이지에 대한 접근권한이 없습니다! --> + <p class="cont mb20">${pageTitle}<br /></p> + <span class="btn_style1 blue"><a href="javascript:fncGoAfterErrorPage();"><spring:message code="comCmmErr.button" /><!-- 이전 페이지 --></a></span> + </div> + </div> + </div> + </div> +</div> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/accessDenied.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/egovError.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/egovError.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/egovError.jsp (revision 7) @@ -0,0 +1,39 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comCmmErr.runtimeException.code"/></c:set><!-- 시스템 에러 --> +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title><spring:message code="title.html"/></title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css" /> + +<script language="javascript"> +function fncGoAfterErrorPage(){ + history.back(-2); +} +</script> +</head> +<body> +<div style="width: 1000px; margin: 50px auto 50px;"> + <p style="font-size: 18px; color: #000; margin-bottom: 10px; "><img src="<c:url value='/images/egovframework/com/cmm/er_logo.jpg' />" width="379" height="57" /></p> + <div style="border: ppx solid #666; padding: 20px;"> + + <p style="color:red; margin-bottom: 8px; ">${pageTitle}<br /></p> + + <div class="boxType1" style="width: 700px;"> + <div class="box"> + <div class="error"> + <p class="title"><spring:message code="comCmmErr.runtimeException.title" /></p><!-- 알 수 없는 오류가 발생했습니다! --> + <p class="cont mb20">${pageTitle}<br /></p> + <span class="btn_style1 blue"><a href="javascript:fncGoAfterErrorPage();"><spring:message code="comCmmErr.button" /><!-- 이전 페이지 --></a></span> + </div> + </div> + </div> + </div> +</div> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/egovError.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/EgovXssException.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/EgovXssException.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/EgovXssException.jsp (revision 7) @@ -0,0 +1,38 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title><spring:message code="title.html"/></title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css" /> + +<script language="javascript"> +function fncGoAfterErrorPage(){ + history.back(-2); +} +</script> +</head> +<body> +<div style="width: 1000px; margin: 50px auto 50px;"> + <p style="font-size: 18px; color: #000; margin-bottom: 10px; "><img src="<c:url value='/images/egovframework/com/cmm/er_logo.jpg' />" width="379" height="57" /></p> + <div style="border: ppx solid #666; padding: 20px;"> + <!-- Xss(Cross Site Scripting) Error --> + <p style="color:red; margin-bottom: 8px; ">User authorization Error</p> + + <div class="boxType1" style="width: 700px;"> + <div class="box"> + <div class="error"> + <p class="title">${exception.message}</p> + <p class="cont mb20"><spring:message code="${exception.messageKey}"/><br /></p> + <span class="btn_style1 blue"><a href="javascript:fncGoAfterErrorPage();"><spring:message code="comCmmErr.button" /><!-- 이전 페이지 --></a></span> + </div> + </div> + </div> + </div> +</div> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/EgovXssException.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/csrfAccessDenied.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/csrfAccessDenied.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/csrfAccessDenied.jsp (revision 7) @@ -0,0 +1,41 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>▒▒▒ eGovFrame Potal 온라인 지원 포탈 ▒▒▒</title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css" /> + +<script language="javascript"> +function fncGoAfterErrorPage(){ + history.back(-2); +} +</script> +</head> + +<body> + +<div style="width: 1000px; margin: 50px auto 50px;"> + + <p style="font-size: 18px; color: #000; margin-bottom: 10px; "><img src="<c:url value='/images/egovframework/com/cmm/er_logo.jpg' />" width="379" height="57" /></p> + <div style="border: 0px solid #666; padding: 20px;"> + <!-- 404 --> + <p style="color:red; margin-bottom: 8px; ">CSRF Error</p> + + <div class="boxType1" style="width: 500px;"> + <div class="box"> + <div class="error"> + <p class="title">CSRF Error</p> + <p class="cont mb20">웹 페이지를 찾을 수 없습니다.<br /></p> + <span class="btn_style1 blue"><a href="javascript:fncGoAfterErrorPage();">이전 페이지</a></span> + </div> + </div> + </div> + </div> + +</div> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/csrfAccessDenied.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/egovBizException.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/egovBizException.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/egovBizException.jsp (revision 7) @@ -0,0 +1,39 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comCmmErr.bizException.code"/></c:set><!-- 비즈니스로직처리 에러 --> +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title><spring:message code="title.html"/></title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css" /> + +<script language="javascript"> +function fncGoAfterErrorPage(){ + history.back(-2); +} +</script> +</head> +<body> +<div style="width: 1000px; margin: 50px auto 50px;"> + <p style="font-size: 18px; color: #000; margin-bottom: 10px; "><img src="<c:url value='/images/egovframework/com/cmm/er_logo.jpg' />" width="379" height="57" /></p> + <div style="border: ppx solid #666; padding: 20px;"> + + <p style="color:red; margin-bottom: 8px; ">${pageTitle}<br /></p> + + <div class="boxType1" style="width: 700px;"> + <div class="box"> + <div class="error"> + <p class="title"><spring:message code="comCmmErr.bizException.title" /></p><!-- 비즈니스 로직 처리 중 발생했습니다! --> + <p class="cont mb20">${pageTitle}<br /></p> + <span class="btn_style1 blue"><a href="javascript:fncGoAfterErrorPage();"><spring:message code="comCmmErr.button" /><!-- 이전 페이지 --></a></span> + </div> + </div> + </div> + </div> +</div> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/error/egovBizException.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/validator.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/validator.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/validator.jsp (revision 7) @@ -0,0 +1,4 @@ +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ page language="java" contentType="application/javascript" pageEncoding="UTF-8"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<validator:javascript dynamicJavascript="false" staticJavascript="true"/> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/validator.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/fms/EgovFileList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/fms/EgovFileList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/fms/EgovFileList.jsp (revision 7) @@ -0,0 +1,113 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> + +<c:if test="${not empty resultList }"> + <div class="board_file"> + <ul class="file_list"> + <c:forEach var="item" items="${resultList }"> + <c:choose> + <c:when test="${item.fileSize / 1024 > 1024 }"> + <c:set var="fileSize" value="${item.fileSize / (1024 * 1024) }" /> + <c:set var="fileUnit" value="MB" /> + </c:when> + <c:otherwise> + <c:set var="fileSize" value="${item.fileSize / 1024 }" /> + <c:set var="fileUnit" value="KB" /> + </c:otherwise> + </c:choose> + <c:set var="fileIcon" value="file_reg" /> + <c:choose> + <c:when test="${item.fileExtsn eq 'pdf'}"> + <c:set var="fileIcon" value="file_pdf" /> + </c:when> + <c:when test="${item.fileExtsn eq 'ppt'}"> + <c:set var="fileIcon" value="file_ppt" /> + </c:when> + <c:when test="${item.fileExtsn eq 'pptx'}"> + <c:set var="fileIcon" value="file_ppt" /> + </c:when> + <c:when test="${item.fileExtsn eq 'xls'}"> + <c:set var="fileIcon" value="file_excel" /> + </c:when> + <c:when test="${item.fileExtsn eq 'xlsx'}"> + <c:set var="fileIcon" value="file_excel" /> + </c:when> + <c:when test="${item.fileExtsn eq 'doc'}"> + <c:set var="fileIcon" value="file_word" /> + </c:when> + <c:when test="${item.fileExtsn eq 'docx'}"> + <c:set var="fileIcon" value="file_word" /> + </c:when> + <c:when test="${item.fileExtsn eq 'hwp'}"> + <c:set var="fileIcon" value="file_word" /> + </c:when> + <c:when test="${item.fileExtsn eq 'png'}"> + <c:set var="fileIcon" value="file_img" /> + </c:when> + <c:when test="${item.fileExtsn eq 'jpg'}"> + <c:set var="fileIcon" value="file_img" /> + </c:when> + <c:when test="${item.fileExtsn eq 'jpeg'}"> + <c:set var="fileIcon" value="file_img" /> + </c:when> + <c:when test="${item.fileExtsn eq 'gif'}"> + <c:set var="fileIcon" value="file_img" /> + </c:when> + <c:when test="${item.fileExtsn eq 'bmp'}"> + <c:set var="fileIcon" value="file_img" /> + </c:when> + <c:when test="${item.fileExtsn eq 'tiff'}"> + <c:set var="fileIcon" value="file_img" /> + </c:when> + <c:when test="${item.fileExtsn eq 'tif'}"> + <c:set var="fileIcon" value="file_img" /> + </c:when> + <c:when test="${item.fileExtsn eq 'zip'}"> + <c:set var="fileIcon" value="file_zip" /> + </c:when> + <c:when test="${item.fileExtsn eq '7z'}"> + <c:set var="fileIcon" value="file_zip" /> + </c:when> + <c:otherwise> + <c:set var="fileIcon" value="file_reg" /> + </c:otherwise> + </c:choose> + + <c:choose> + <c:when test="${authorType eq 'user'}"> + <li> + <!--<a href="${item.link}" title="파일 다운로드"> --> + <div class="file_wrap"> + <p class="file_name"> + <em class="blind">첨부파일명</em><c:out value="${item.originFileNm}" /> + </p> + <!--</a>--> + <a href="${item.link }" class="btn_sq_s btn_filedown" title="<c:out value="${item.originFileNm}" /> 다운받기"><span class="blind">첨부파일다운로드</span></a> + </div> + </li> + </c:when> + <c:otherwise> + <li class="${fileIcon}"> + <div class="file_wrap"> + <p class="file_name"> + <em class="blind">첨부파일명</em><c:out value="${item.originFileNm}" /> + </p> +<%-- <em><fmt:formatNumber value="${fileSize}" pattern="0.00" />${fileUnit}</em> --%> + <a href="${item.link}"><button type="button" class="btn_filedown btn_sq_s" title="<c:out value="${item.originFileNm}" /> 다운받기">다운</button></a> + </div> + </li> + </c:otherwise> + </c:choose> + + <%-- <li class="${fileIcon }"><a href="${item.link }"> <strong>${item.originFileNm }</strong> + </a> <em><fmt:formatNumber value="${fileSize }" pattern=".0" />${fileUnit }</em> <!-- <button class="btn_s bgcolor01">삭제</button> + <button class="btn_s bgcolor01">다운로드 본문에 넣기</button> --></li>--%> + </c:forEach> + </ul> + </div> +</c:if> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/fms/EgovFileList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/fms/EgovImgFileList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/fms/EgovImgFileList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/fms/EgovImgFileList.jsp (revision 7) @@ -0,0 +1,102 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> + +<c:if test="${not empty resultList }"> + <c:forEach var="item" items="${resultList }"> + <c:choose> + <c:when test="${item.fileSize / 1024 > 1024 }"> + <c:set var="fileSize" value="${item.fileSize / (1024 * 1024) }" /> + <c:set var="fileUnit" value="MB" /> + </c:when> + <c:otherwise> + <c:set var="fileSize" value="${item.fileSize / 1024 }" /> + <c:set var="fileUnit" value="KB" /> + </c:otherwise> + </c:choose> + <c:set var="fileIcon" value="file_reg" /> + <c:choose> + <c:when test="${item.fileExtsn eq 'pdf'}"> + <c:set var="fileIcon" value="file_pdf" /> + </c:when> + <c:when test="${item.fileExtsn eq 'ppt'}"> + <c:set var="fileIcon" value="file_ppt" /> + </c:when> + <c:when test="${item.fileExtsn eq 'pptx'}"> + <c:set var="fileIcon" value="file_ppt" /> + </c:when> + <c:when test="${item.fileExtsn eq 'xls'}"> + <c:set var="fileIcon" value="file_excel" /> + </c:when> + <c:when test="${item.fileExtsn eq 'xlsx'}"> + <c:set var="fileIcon" value="file_excel" /> + </c:when> + <c:when test="${item.fileExtsn eq 'doc'}"> + <c:set var="fileIcon" value="file_word" /> + </c:when> + <c:when test="${item.fileExtsn eq 'docx'}"> + <c:set var="fileIcon" value="file_word" /> + </c:when> + <c:when test="${item.fileExtsn eq 'hwp'}"> + <c:set var="fileIcon" value="file_word" /> + </c:when> + <c:when test="${item.fileExtsn eq 'png'}"> + <c:set var="fileIcon" value="file_img" /> + </c:when> + <c:when test="${item.fileExtsn eq 'jpg'}"> + <c:set var="fileIcon" value="file_img" /> + </c:when> + <c:when test="${item.fileExtsn eq 'jpeg'}"> + <c:set var="fileIcon" value="file_img" /> + </c:when> + <c:when test="${item.fileExtsn eq 'gif'}"> + <c:set var="fileIcon" value="file_img" /> + </c:when> + <c:when test="${item.fileExtsn eq 'bmp'}"> + <c:set var="fileIcon" value="file_img" /> + </c:when> + <c:when test="${item.fileExtsn eq 'tiff'}"> + <c:set var="fileIcon" value="file_img" /> + </c:when> + <c:when test="${item.fileExtsn eq 'tif'}"> + <c:set var="fileIcon" value="file_img" /> + </c:when> + <c:when test="${item.fileExtsn eq 'zip'}"> + <c:set var="fileIcon" value="file_zip" /> + </c:when> + <c:when test="${item.fileExtsn eq '7z'}"> + <c:set var="fileIcon" value="file_zip" /> + </c:when> + <c:otherwise> + <c:set var="fileIcon" value="file_reg" /> + </c:otherwise> + </c:choose> +<!-- <li> --> +<%-- <a href="#!" onclick="fncImageChange('${item.fileId }');"> --%> + ${item.originFileNm }<br/> +<!-- </a> --> +<%-- <em><fmt:formatNumber value="${fileSize }" pattern="0.00" />${fileUnit }</em> --%> + <!-- <button class="btn_s bgcolor01">삭제</button> + <button class="btn_s bgcolor01">다운로드 본문에 넣기</button> --> +<!-- </li> --> + </c:forEach> +</c:if> +<script> +// 이미지 변경 +function fncImageChange(fileId) { +// fncSelectFile(fileId); +// sel.fncSelectFile(fileId); +// var img = $('.imageBox').find('img').eq(0); +// img.attr('src', '/multiImageview.do?fileId=' + fileId + '&pageSn=' + 1) +// .data('file', fileId.fileId) +// // .data('maxpage', fileMaxPage(img)) +// .data('curpage', 1) +// .on("contextmenu", function() { +// return false; +// }); +} +</script> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/fms/EgovImgFileList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovModal.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovModal.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovModal.jsp (revision 7) @@ -0,0 +1,57 @@ +<% + /** + * @Class Name : EgovModal.jsp + * @Description : 모달 JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2016.07.13 장동한 최초 생성 + * + * @author 2016 표준프레임워크유지보수 개발팀 장동한 + * @since 2016.07.13 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ page import="egovframework.com.cmm.EgovWebUtil" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<% + String sScriptYn = request.getParameter("scriptYn") == null ? "" : (String)request.getParameter("scriptYn"); + String sModelName = request.getParameter("modalName") == null ? "" : (String)request.getParameter("modalName"); +%> +<%if(sScriptYn.equals("Y")){ %> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/modal.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/modal.js' />"></script> +<%} %> +<!-- The Modal --> +<div id="<%=EgovWebUtil.clearXSSMaximum(sModelName) %>" class="modal"> + <!-- Modal content --> + <div class="modal-content"> + <div class="modal-header"> + <span class="close"><img src="<c:url value='/images/egovframework/com/cmm/btn/btn_close.png'/>" /></span> + <div id="title" class="modal-title"><h2>Modal Header</h2></div> + </div> + <div id="body" class="modal-body"> + <p>Modal Body</p> + <p>Modal Body</p> + <div style='clear:both;'></div> + </div> + <div class="modal-footer"> + + <div id="footer" > + <span class="btn_style1 blue"><a href="#">확 인</a></span> + <span class="btn_style1 blue"><a href="#">확 인</a></span> + <span class="btn_style1 gray" id='btnModalClose'><a href="#">닫 기</a></span> + </div> + + + </div> + </div> +</div> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovModal.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitLeft.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitLeft.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitLeft.jsp (revision 7) @@ -0,0 +1,107 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>eGovFrame 공통 컴포넌트</title> +<link href="<c:url value='/css/egovframework/com/cmm/main.css' />" rel="stylesheet" type="text/css"> +<style type="text/css"> +link { color: #666666; text-decoration: none; } +link:hover { color: #000000; text-decoration: none; } +</style> +</head> +<body> +<div id="lnb"> +<c:set var="isMai" value="false"/> +<c:set var="isUat" value="false"/> +<c:set var="isSec" value="false"/> +<c:set var="isSts" value="false"/> +<c:set var="isCop" value="false"/> +<c:set var="isUss" value="false"/> +<c:set var="isSym" value="false"/> +<c:set var="isSsi" value="false"/> +<c:set var="isDam" value="false"/> +<c:set var="isCom" value="false"/> +<c:set var="isExt" value="false"/> +<ul class="lnb_title"> + <c:forEach var="result" items="${resultList}" varStatus="status"> + + <c:if test="${isMai == 'false' && result.gid == '0'}"> + <li> + <strong class="left_title_strong"><strong class="top_title_strong"><spring:message code="comCmm.mai.title"/></strong></strong><!-- 포털(예제) 메인화면 --> + </li> + <c:set var="isMai" value="true"/> + </c:if> + <c:if test="${isUat == 'false' && result.gid == '10'}"> + <li> + <strong class="left_title_strong"><strong class="top_title_strong"><spring:message code="comCmm.uat.title"/></strong></strong><!-- 사용자디렉토리/통합인증 --> + </li> + <c:set var="isUat" value="true"/> + </c:if> + + <c:if test="${isSec == 'false' && result.gid == '20'}"> + <li> + <strong class="left_title_strong"><strong class="top_title_strong"><spring:message code="comCmm.sec.title"/></strong></strong><!-- 보안 --> + </li> + <c:set var="isSec" value="true"/> + </c:if> + <c:if test="${isSts == 'false' && result.gid == '30'}"> + <li> + <strong class="left_title_strong"><strong class="top_title_strong"><spring:message code="comCmm.sts.title"/></strong></strong><!-- 통계/리포팅 --> + </li> + <c:set var="isSts" value="true"/> + </c:if> + <c:if test="${isCop == 'false' && result.gid == '40'}"> + <li> + <strong class="left_title_strong"><strong class="top_title_strong"><spring:message code="comCmm.cop.title"/></strong></strong><!-- 협업 --> + </li> + <c:set var="isCop" value="true"/> + </c:if> + <c:if test="${isUss == 'false' && result.gid == '50'}"> + <li> + <strong class="left_title_strong"><strong class="top_title_strong"><spring:message code="comCmm.uss.title"/></strong></strong><!-- 사용자지원 --> + </li> + <c:set var="isUss" value="true"/> + </c:if> + <c:if test="${isSym == 'false' && result.gid == '60'}"> + <li> + <strong class="left_title_strong"><strong class="top_title_strong"><spring:message code="comCmm.sym.title"/></strong></strong><!-- 시스템관리 --> + </li> + <c:set var="isSym" value="true"/> + </c:if> + <c:if test="${isSsi == 'false' && result.gid == '70'}"> + <li> + <strong class="left_title_strong"><strong class="top_title_strong"><spring:message code="comCmm.ssi.title"/></strong></strong><!-- 시스템/서비스연계 --> + </li> + <c:set var="isSsi" value="true"/> + </c:if> + <c:if test="${isDam == 'false' && result.gid == '80'}"> + <li> + <strong class="left_title_strong"><strong class="top_title_strong"><spring:message code="comCmm.dam.title"/></strong></strong><!-- 디지털 자산 관리 --> + </li> + <c:set var="isDam" value="true"/> + </c:if> + <c:if test="${isCom == 'false' && result.gid == '90'}"> + <li> + <strong class="left_title_strong"><strong class="top_title_strong"><spring:message code="comCmm.com.title"/></strong></strong> <!-- 요소기술 --> + </li> + <c:set var="isCom" value="true"/> + </c:if> + <c:if test="${isExt == 'false' && result.gid == '100'}"> + <li> + <strong class="left_title_strong"><strong class="top_title_strong"><spring:message code="comCmm.ext.title"/></strong></strong><!-- 외부 추가 컴포넌트 --> + </li> + <c:set var="isExt" value="true"/> + </c:if> + + <c:set var="componentMsgKey">comCmm.left.${result.order}</c:set> + <ul class="2depth"> + <li><a href="${pageContext.request.contextPath}<c:out value="${result.listUrl}"/>" target="_content" class="link"> <c:out value="${result.order}"/>. <spring:message code="${componentMsgKey}"/><!-- <c:out value="${result.name}"/> --></a></li> + </ul> + </c:forEach> +</ul> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitLeft.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitMain.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitMain.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitMain.jsp (revision 7) @@ -0,0 +1,17 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<!DOCTYPE html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta name="viewport" content="width=device-width, initial-scale=1"> +<title>eGovFrame 공통 컴포넌트</title> +</head> + +<frameset frameborder="0" framespacing="0" rows="75, *, 45"> + <frame name="_top" src="${pageContext.request.contextPath}/EgovTop.do" scrolling="no" title="헤더"> + <frameset frameborder="0" framespacing="0" cols="20%, 80%"> + <frame name="_left" src="${pageContext.request.contextPath}/EgovLeft.do" scrolling="yes" title="메뉴페이지"> + <frame name="_content" src="${pageContext.request.contextPath}/EgovContent.do" title="메인페이지"> + </frameset> + <frame name="_bottom" src="${pageContext.request.contextPath}/EgovBottom.do" scrolling="no" title="푸터"> +</frameset> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cmm/EgovUnitMain.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBoardUseInfInqire.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBoardUseInfInqire.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBoardUseInfInqire.jsp (revision 7) @@ -0,0 +1,143 @@ +<!DOCTYPE html> + +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<% + /** + * @Class Name : EgovBoardUseInfInqire.jsp + * @Description : 게시판 사용정보 조회화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.02 이삼섭 최초 생성 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.02 + * @version 1.0 + * @see + * + */ +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="boardUseInf" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + function fn_egov_updt_bbsUseInf(){ + if (!validateBoardUseInf(document.boardUseInf)){ + return; + } + + document.boardUseInf.action = "<c:url value='/cop/com/updateBBSUseInf.do'/>"; + document.boardUseInf.submit(); + } + function fn_egov_select_bbsUseInfs(){ + document.boardUseInf.action = "<c:url value='/cop/com/selectBBSUseInfs.do'/>"; + document.boardUseInf.submit(); + } + +</script> +<title>게시판 사용정보 수정</title> + +<style type="text/css"> + h1 {font-size:12px;} + caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} +</style> + +</head> +<body> +<form name="boardUseInf" method="post" action="<c:url value='/cop/com/updateBBSUseInf.do'/>"> +<div style="visibility:hidden;display:none;"><input name="iptSubmit" type="submit" value="전송" title="전송"></div> +<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>" /> +<input type="hidden" name="bbsId" value="<c:out value='${bdUseVO.bbsId}'/>" /> +<input type="hidden" name="trgetId" value="<c:out value='${bdUseVO.trgetId}'/>" /> + +<div id="border" style="width:730px"> + <table width="100%" cellpadding="8" class="table-search" border="0"> + <tr> + <td width="100%"class="title_left"> + <h1> + <img src="<c:url value='/images/egovframework/com/cmm/icon/tit_icon.gif' />" width="16" height="16" hspace="3" align="middle" alt="제목아이콘이미지">&nbsp;게시판 사용정보 수정 + </h1> + </td> + </tr> + </table> + <table width="100%" border="0" cellpadding="0" cellspacing="1" class="table-register" summary="게시판명, 커뮤니티/ 동호회명, 사용여부 입니다" > + <tr> + <th scope="col" width="20%" height="23" class="" nowrap >게시판명</th> + <td width="80%" nowrap colspan="3"> + <c:out value="${bdUseVO.bbsNm}" /> + </td> + </tr> + <tr> + <th scope="col" width="20%" height="23" class="" nowrap >커뮤니티/ 동호회명</th> + <td width="80%" nowrap colspan="3"> + <c:choose> + <c:when test="${not empty bdUseVO.cmmntyNm}"> + <c:out value="${bdUseVO.cmmntyNm}" /> + </c:when> + <c:when test="${not empty bdUseVO.clbNm}"> + <c:out value="${bdUseVO.clbNm}" /> + </c:when> + <c:otherwise>(시스템 활용)</c:otherwise> + </c:choose> + </td> + </tr> + <tr> + <th scope="col" width="20%" height="23" class="required_text" nowrap > + <label for="useAt"> + 사용여부 + </label> + <img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif' />" width="15" height="15" alt="필수입력표시"> + </th> + <td width="80%" nowrap colspan="3"> + <spring:message code="button.use" /> : <input type="radio" name="useAt" class="radio2" value="Y" <c:if test="${bdUseVO.useAt == 'Y'}"> checked="checked"</c:if>>&nbsp; + <spring:message code="button.notUsed" /> : <input type="radio" name="useAt" class="radio2" value="N" <c:if test="${bdUseVO.useAt == 'N'}"> checked="checked"</c:if>> + <br/><form:errors path="useAt" /> + </td> + + </tr> + <c:choose> + <c:when test="${not empty bdUseVO.provdUrl}"> + <tr> + <th width="20%" height="23" class="" nowrap >제공 URL</th> + <td width="80%" nowrap colspan="3"> + <a href="<c:out value="${bdUseVO.provdUrl}" />" target="_new"> + <c:out value="${bdUseVO.provdUrl}" /> + </a> + </td> + </tr> + </c:when> + </c:choose> + </table> + <table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td height="10"></td> + </tr> + </table> + <div align="center"> + <table border="0" cellspacing="0" cellpadding="0" align="center"> + <tr> + <td><span class="button"> + <a href="<c:url value='/cop/com/updateBBSUseInf.do'/>" onclick="fn_egov_updt_bbsUseInf(); return false;">수정</a> + </span></td> + <td width="10"></td> + <td><span class="button"> + <a href="<c:url value='/cop/com/selectBBSUseInfs.do'/>" onclick="fn_egov_select_bbsUseInfs(); return false;">목록</a> + </span></td> + </tr> + </table> + </div> +</div> +</form> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBoardUseInfInqire.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovConfmInfUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovConfmInfUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovConfmInfUpdt.jsp (revision 7) @@ -0,0 +1,141 @@ +<!DOCTYPE html> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovConfirmInfUpdt.jsp + * @Description : 승인 정보 수정화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.13 이삼섭 최초 생성 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.13 + * @version 1.0 + * @see + * + */ +%> + +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javascript"> + function fn_egov_regist_updtConfirmInf() { + if (confirm('<spring:message code="common.update.msg" />')) { + document.frm.action = "<c:url value='/cop/com/updateConfirmRequest.do'/>"; + document.frm.submit(); + } + } + + function fn_egov_select_confirmList() { + var target = document.frm.trgetId.value; + var actionUrl; + + if (target == '') { + actionUrl = "<c:url value='/cop/com/selectConfirmRequest.do'/>"; + } else { + actionUrl = "<c:url value='/cop/com/selectConfirmRequestByTrget.do'/>"; + } + + document.frm.action = actionUrl; + document.frm.submit(); + } +</script> +<title>승인정보 수정</title> + +<style type="text/css"> + h1 {font-size:12px;} + caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} +</style> + + +</head> +<body> +<form name="frm" method="post" action="<c:url value='/cop/com/updateConfirmRequest.do'/>"> +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> +<input type="hidden" name="confmNumber" value="<c:out value='${historyVO.confmNumber}' />" /> +<input type="hidden" name="trgetJobId" value="<c:out value='${historyVO.trgetJobId}' />" /> +<input type="hidden" name="confmRqesterId" value="<c:out value='${historyVO.confmRqesterId}' />" /> +<input type="hidden" name="confmerId" value="<c:out value='${historyVO.confmerId}' />" /> +<input type="hidden" name="confmTyCode" value="<c:out value='${historyVO.confmTyCode}' />" /> +<input type="hidden" name="opertId" value="<c:out value='${historyVO.opertId}' />" /> + +<input type="hidden" name="trgetId" value="<c:out value='${searchVO.trgetId}' />" /> + +<div id="border" style="width:730px"> + <table width="100%" cellpadding="8" class="table-search" border="0"> + <tr> + <td width="100%"class="title_left"> + <h1> + <img src="<c:url value='/images/egovframework/com/cmm/icon/tit_icon.gif' />" width="16" height="16" hspace="3" align="middle" alt="제목버튼이미지">&nbsp;승인정보수정 + </h1> + </td> + </tr> + </table> + <table width="100%" border="0" cellpadding="0" cellspacing="1" class="table-register"> + <tr> + <th width="20%" height="23" class="" nowrap >승인유형</th> + <td width="80%" nowrap> + <c:out value="${historyVO.confmTyCodeNm}" /> + </td> + </tr> + <tr> + <th width="20%" height="23" class="" nowrap >승인요청자</th> + <td width="80%" nowrap> + <c:out value="${historyVO.confmRqesterNm}" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" >승인상태 + <img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif' />" width="15" height="15" alt="필수입력표시"></th> + <td> + <select name="confmSttusCode" class="select" title="승인상태선택"> + <option selected value=''>--선택하세요--</option> + <c:forEach var="result" items="${typeList}" varStatus="status"> + <option value='<c:out value="${result.code}"/>' <c:if test="${historyVO.confmSttusCode == result.code }">selected="selected"</c:if> > + <c:out value="${result.codeNm}"/></option> + </c:forEach> + </select> + </td> + </tr> + + </table> + <table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td height="10"></td> + </tr> + </table> + <div align="center"> + <table border="0" cellspacing="0" cellpadding="0" align="center"> + <tr> + <!-- + <td><img src="<c:url value='/images/egovframework/com/cmm/btn/bu2_left.gif'/>" width="8" height="20" alt="버튼이미지"></td> + <td background="<c:url value='/images/egovframework/com/cmm/btn/bu2_bg.gif'/>" class="text_left" nowrap> + <a href="javascript:fn_egov_regist_updtConfirmInf();">수정</a> + </td> + <td><img src="<c:url value='/images/egovframework/com/cmm/btn/bu2_right.gif'/>" width="8" height="20" alt="버튼이미지"></td> + <td width="10"></td> + <td><img src="<c:url value='/images/egovframework/com/cmm/btn/bu2_left.gif'/>" width="8" height="20" alt="버튼이미지"></td> + <td background="<c:url value='/images/egovframework/com/cmm/btn/bu2_bg.gif'/>" class="text_left" nowrap> + <a href="javascript:fn_egov_select_confirmList();">목록</a> + </td> + <td><img src="<c:url value='/images/egovframework/com/cmm/btn/bu2_right.gif'/>" width="8" height="20" alt="버튼이미지"></td> + --> + <td><span class="button"><input type="submit" value="수정" title="수정" onclick="javascript:fn_egov_regist_updtConfirmInf();return false;"></span></td> + <td width="10"></td> + <td><span class="button"><input type="submit" value="목록" title="목록" onclick="javascript:fn_egov_select_confirmList();return false;"></span></td> + </tr> + </table> + </div> +</div> +</form> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovConfmInfUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBoardUseInfRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBoardUseInfRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBoardUseInfRegist.jsp (revision 7) @@ -0,0 +1,217 @@ +<!DOCTYPE html> + +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<% + /** + * @Class Name : EgovBoardUseInfRegist.jsp + * @Description : 게시판 사용정보 등록화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.02 이삼섭 최초 생성 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.02 + * @version 1.0 + * + */ +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/showModalDialog.js'/>"></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="boardUseInf" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + function fn_egov_select_bbsUseInfs(){ + document.boardUseInf.action = "<c:url value='/cop/com/selectBBSUseInfs.do'/>"; + document.boardUseInf.submit(); + } + + function fn_egov_regist_bbsUseInf(){ + if (!validateBoardUseInf(document.boardUseInf)){ + return; + } + + if (confirm('<spring:message code="common.regist.msg" />')) { + document.boardUseInf.param_trgetType.value = document.boardUseInf.trgetType.value; + document.boardUseInf.action = "<c:url value='/cop/com/insertBBSUseInf.do'/>"; + document.boardUseInf.submit(); + } + } + + function fn_egov_inqire_bbsInf(){ + var retVal; + var url = "<c:url value='/cop/com/openPopup.do' />?requestUrl=/cop/bbs/SelectBBSMasterInfsPop.do&width=850&height=520"; + var openParam = "dialogWidth: 900px; dialogHeight: 520px; resizable: 0, scroll: 1, center: 1"; + + retVal = window.showModalDialog(url,"p_cmmntyInqire", openParam, "bbsCallback"); + if (retVal != null) { + var tmp = retVal.split("|"); + document.boardUseInf.bbsId.value = tmp[0]; + document.boardUseInf.bbsNm.value = tmp[1]; + } + } + + function bbsCallback(retVal) { + if (retVal != null) { + var tmp = retVal.split("|"); + document.boardUseInf.bbsId.value = tmp[0]; + document.boardUseInf.bbsNm.value = tmp[1]; + } + } + + function fn_egov_selectTargetType(obj) { + + var retVal; + var _strType = obj.value; + + if (_strType == 'CMMNTY') { + retVal = fn_egov_inqire_cmmnty(); + } else if (_strType == 'CLUB') { + retVal = fn_egov_inqire_club(); + } else if (_strType == '') { + retVal = "|"; + } else { + retVal = "SYSTEM_DEFAULT_BOARD"+"|"+"시스템 활용"; + } + + if (retVal != null) { + var tmp = retVal.split("|"); + document.boardUseInf.trgetId.value = tmp[0]; + document.boardUseInf.trgetNm.value = tmp[1]; + } + } + + function fn_egov_inqire_cmmnty() { + var retVal; + var url = "<c:url value='/cop/com/openPopup.do' />?requestUrl=/cop/cmy/selectCmmntyInfsByPop.do&width=850&height=360"; + var openParam = "dialogWidth: 850px; dialogHeight: 360px; resizable: 0, scroll: 1, center: 1"; + + retVal = window.showModalDialog(url,"p_cmmntyInqire", openParam, "communityCallback"); + return retVal; + } + + function communityCallback(retVal) { + if (retVal != null) { + var tmp = retVal.split("|"); + document.boardUseInf.trgetId.value = tmp[0]; + document.boardUseInf.trgetNm.value = tmp[1]; + } + } + + function fn_egov_inqire_club() { + var retVal; + var url = "<c:url value='/cop/com/openPopup.do' />?requestUrl=/cop/clb/selectClubInfsByPop.do&width=850&height=360"; + var openParam = "dialogWidth: 850px; dialogHeight: 360px; resizable: 0, scroll: 1, center: 1"; + + retVal = window.showModalDialog(url,"p_cmmntyInqire", openParam, "clubCallback"); + return retVal; + } + + function clubCallback(retVal) { + if (retVal != null) { + var tmp = retVal.split("|"); + document.boardUseInf.trgetId.value = tmp[0]; + document.boardUseInf.trgetNm.value = tmp[1]; + } + } +</script> +<title>게시판 사용등록</title> + +<style type="text/css"> + h1 {font-size:12px;} + caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} +</style> + + +</head> +<body> +<form:form commandName="boardUseInf" name="boardUseInf" method="post"> +<div style="visibility:hidden;display:none;"><input name="iptSubmit" type="submit" value="전송" title="전송"></div> +<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>" /> +<input type="hidden" name="param_trgetType" value="" /> + +<div id="border" style="width:730px"> + <table width="100%" cellpadding="8" class="table-search" border="0" summary="게시판명, 커뮤니티 동호회 정보 입니다"> + <tr> + <td width="100%"class="title_left"> + <h1> + <img src="<c:url value='/images/egovframework/com/cmm/icon/tit_icon.gif' />" width="16" height="16" hspace="3" align="middle" alt="제목아이콘이미지">&nbsp;게시판 사용등록 + </h1> + </td> + </tr> + </table> + <table width="100%" border="0" cellpadding="0" cellspacing="1" class="table-register"> + <tr> + <th width="30%" height="23" class="required_text" nowrap ><spring:message code="cop.bbsNm" /> + <img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif' />" width="15" height="15" alt="필수입력표시"></th> + <td width="70%" nowrap colspan="3"> + <input name="bbsId" type="hidden" /> + <input name="bbsNm" type="text" size="40" value="" maxlength="40" title="게시판명" readonly /> + &nbsp;<a href="#LINK" onclick="fn_egov_inqire_bbsInf();" style="selector-dummy: expression(this.hideFocus=false);"><img src="<c:url value='/images/egovframework/com/cmm/icon/search.gif' />" + width="15" height="15" align="middle" alt="새창" /></a> + <br/><form:errors path="bbsId" /> + </td> + </tr> + <tr> + <th width="30%" height="23" class="required_text" nowrap > + <label for="trgetType"> + <spring:message code="cop.trgetNm" /> + </label> + <img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif' />" width="15" height="15" alt="필수입력표시"> + </th> + <td width="70%" nowrap colspan="3"> + <select name="trgetType" class="select" title="<spring:message code="cop.trgetNm" />" onChange="javascript:fn_egov_selectTargetType(this)" > + <option selected value=''>--선택하세요--</option> + <c:if test="${useCommunity == 'true'}"> + <option value="CMMNTY" >커뮤니티</option> + </c:if> + <c:if test="${useClub == 'true'}"> + <option value="CLUB" >동호회</option> + </c:if> + <option value="SYSTEM" >시스템</option> + </select> + <input type="hidden" name="trgetId" value="" > + <input type="text" name="trgetNm" value="" size="40" title="<spring:message code="cop.trgetNm" />" readOnly > + <br/><form:errors path="trgetId" /> + </td> + </tr> + </table> + <table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td height="10"></td> + </tr> + </table> + <div align="center"> + <table border="0" cellspacing="0" cellpadding="0" align="center"> + <tr> + <!-- + <td><img src="<c:url value='/images/egovframework/com/cmm/btn/bu2_left.gif'/>" width="8" height="20" alt="버튼이미지"></td> + <td background="<c:url value='/images/egovframework/com/cmm/btn/bu2_bg.gif'/>" class="text_left" nowrap> + <a href="javascript:fn_egov_regist_bbsUseInf();" onclick="fn_egov_regist_bbsUseInf(); return false;"><spring:message code="button.create" /></a> + </td> + <td><img src="<c:url value='/images/egovframework/com/cmm/btn/bu2_right.gif'/>" width="8" height="20" alt="버튼이미지"></td> --> + + <td><span class="button"><input type="submit" title="<spring:message code="button.create" />" value="<spring:message code="button.create" />" onclick="fn_egov_regist_bbsUseInf(); return false;"></span></td> + + <td width="10"></td> + <td><span class="button"> + <a href="<c:url value='/cop/com/selectBBSUseInfs.do'/>?searchCondition=1" onclick="fn_egov_select_bbsUseInfs(); return false;"><spring:message code="button.list" /></a> + </span></td> + </tr> + </table> + </div> +</div> +</form:form> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBoardUseInfRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBdUseInfListByTrget.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBdUseInfListByTrget.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBdUseInfListByTrget.jsp (revision 7) @@ -0,0 +1,188 @@ +<!DOCTYPE html> + +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovBdUseInfListByTrget.jsp + * @Description : 게시판 사용정보 목록화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.02 이삼섭 최초 생성 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.02 + * @version 1.0 + * @see + * + */ +%> + +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javascript"> + function press(event) { + if (event.keyCode==13) { + fn_egov_select_bbsUseInfs('1'); + } + } + + function fn_egov_select_bbsUseInfs(pageNo) { + document.frm.pageIndex.value = pageNo; + document.frm.action = "<c:url value='/cop/com/selectCmyBBSUseInfsByTrget.do'/>"; + document.frm.submit(); + } + + function fn_egov_update_bbsUseInf(bbsId, trgetId) { + if (confirm('<spring:message code="cop.use.msg" />')) { + document.frm.bbsId.value = bbsId; + document.frm.param_trgetId.value = trgetId; + document.frm.useAt.value = 'Y'; + document.frm.action = "<c:url value='/cop/com/updateBBSUseInfByTrget.do'/>"; + document.frm.submit(); + } + } + + function fn_egov_delete_bbsUseInf(bbsId, trgetId) { + if (confirm('<spring:message code="cop.unuse.msg" />')) { + document.frm.bbsId.value = bbsId; + document.frm.param_trgetId.value = trgetId; + document.frm.useAt.value = 'N'; + document.frm.action = "<c:url value='/cop/com/updateBBSUseInfByTrget.do'/>"; + document.frm.submit(); + } + } + + function fn_egov_insert_bbsUseInf(bbsId, trgetId) { + if (confirm('<spring:message code="cop.use.msg" />')) { + document.frm.bbsId.value = bbsId; + document.frm.param_trgetId.value = trgetId; + document.frm.useAt.value = 'Y'; + document.frm.action = "<c:url value='/cop/com/insertBBSUseInfByTrget.do'/>"; + document.frm.submit(); + } + } +</script> + +<title>게시판 사용정보 조회</title> + +<style type="text/css"> + h1 {font-size:12px;} + caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} +</style> + +</head> +<body> +<form name="frm" method="post" action="<c:url value='/cop/com/selectCmyBBSUseInfsByTrget.do'/>"> +<input type="hidden" name="bbsId" /> +<input type="hidden" name="trgetId" value='<c:out value="${trgetId}"/>' /> +<input type="hidden" name="useAt" /> +<input type="hidden" name="param_trgetId" /> +<input type="hidden" name="trgetType" value='<c:out value="${trgetType}"/>' /> + +<div id="border" style="width:730px"> + + <table width="100%" cellpadding="8" class="table-search" border="0"> + <tr> + <td width="40%"class="title_left"> + <img src="<c:url value='/images/egovframework/com/cmm/icon/tit_icon.gif' />" width="16" height="16" hspace="3" align="middle" alt="제목버튼이미지"> + &nbsp;게시판 사용정보 조회</td> + <th > + </th> + <td width="10%" > + <select name="searchCnd" class="select" title="검색조건선택"> + <!-- option selected value=''--><!--선택하세요--><!-- /option--> + <option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected="selected"</c:if> >사용자명</option> + </select> + </td> + <td width="35%"> + <input name="searchWrd" type="text" size="35" value='<c:out value="${searchVO.searchWrd}"/>' maxlength="35" onkeypress="press(event);" title="검색단어입력"> + </td> + <th width="10%"> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><span class="button"><input type="submit" value="조회" title="조회" onclick="javascript:fn_egov_select_bbsUseInfs(('1');return false;"></span></td> + </tr> + </table> + </th> + </tr> + </table> + <table width="100%" cellpadding="8" class="table-line"> + <thead> + <tr> + <!-- th class="title" width="3%" nowrap><input type="checkbox" name="all_check" class="check2"></th--> + <th class="title" width="10%" nowrap>번호</th> + <th class="title" width="37%" nowrap>게시판명</th> + <th class="title" width="30%" nowrap>사용자명</th> + <th class="title" width="10%" nowrap>사용여부</th> + <th class="title" width="10%" nowrap>상태변경</th> + </tr> + </thead> + <tbody> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <td class="lt_text3" nowrap><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td class="lt_text" nowrap><c:out value="${result.bbsNm}"/></td> + <td class="lt_text3" nowrap><c:out value="${result.userNm}"/></td> + <c:choose> + <c:when test="${result.useAt=='Y'}"> + <td class="lt_text3" nowrap> + <spring:message code="button.use" /> + </td> + <td class="lt_text3" nowrap> + <input type="button" value="사용중지" onClick="javascript:fn_egov_delete_bbsUseInf('<c:out value="${result.bbsId}"/>','<c:out value="${result.trgetId}"/>');" /> + </td> + </c:when> + <c:when test="${result.useAt=='N'}"> + <td class="lt_text3" nowrap> + <spring:message code="button.notUsed" /> + </td> + <td class="lt_text3" nowrap> + <input type="button" value="사용" onClick="javascript:fn_egov_update_bbsUseInf('<c:out value="${result.bbsId}"/>','<c:out value="${result.trgetId}"/>');" /> + </td> + </c:when> + <c:otherwise> + <td class="lt_text3" nowrap> + 미사용 + </td> + <td class="lt_text3" nowrap> + <input type="button" value="사용" onClick="javascript:fn_egov_insert_bbsUseInf('<c:out value="${result.bbsId}"/>','<c:out value="${result.trgetId}"/>');" /> + </td> + </c:otherwise> + </c:choose> + + </tr> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td class="lt_text3" nowrap colspan="6" ><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + </tbody> + <!--tfoot> + <tr class=""> + <td colspan=6 align="center"></td> + </tr> + </tfoot --> + </table> + <table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td height="10"></td> + </tr> + </table> + <div align="center"> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_bbsUseInfs" /> + </div> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> +</div> +</form> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBdUseInfListByTrget.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovCmmntyMngrListPop.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovCmmntyMngrListPop.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovCmmntyMngrListPop.jsp (revision 7) @@ -0,0 +1,150 @@ +<!DOCTYPE html> + +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovCmmntyMngrList.jsp + * @Description : 커뮤니티 관리자 목록화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.13 이삼섭 최초 생성 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.13 + * @version 1.0 + * @see + * + */ +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<script type="text/javascript"> + function fn_egov_returnUserInfo(uniqId) { + document.frm.emplyrId.value = uniqId; + document.frm.action = "<c:url value='/cop/cmy/deleteCmmntyUserBySelf.do'/>"; + document.frm.submit(); + } + + function fn_egov_select_userInfo(pageIndex) { + var _target = document.frm.targetMethod.value; + var actionUrl; + + if (_target == 'selectClubOprtrList') { + actionUrl = "<c:url value='/cop/com/selectClubOprtrList.do'/>"; + } else if (_target == 'selectClubUserList') { + actionUrl = "<c:url value='/cop/com/selectClubUserList.do'/>"; + } else if (_target == 'selectCmmntyMngrList') { + actionUrl = "<c:url value='/cop/com/selectCmmntyMngrList.do'/>"; + } else if (_target == 'selectCmmntyUserList') { + actionUrl = "<c:url value='/cop/com/selectCmmntyUserList.do'/>"; + } else { + actionUrl = "<c:url value='/cop/com/selectUserList.do'/>"; + } + document.frm.pageIndex.value = pageIndex; + document.frm.action = actionUrl; + document.frm.submit(); + } + + function fn_egov_close(){ + window.close(); + } +</script> +<title>승인자 선택</title> + +<style type="text/css"> + h1 {font-size:12px;} + caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} +</style> + + +</head> +<body> +<form name="frm" action ="" method="post"> +<input type="hidden" name="targetMethod" value="${targetMethod}" /> +<input type="hidden" name="trgetId" value="${trgetId}" /> +<input type="hidden" name="PopFlag" value="S" /> +<input type="hidden" name="cmmntyId" value="${trgetId}" /> +<input type="hidden" name="emplyrId" /> + + <table width="100%" cellpadding="8" class="table-search" border="0"> + <tr> + <td width="100%"class="title_left"> + <img src="<c:url value='/images/egovframework/com/cmm/icon/tit_icon.gif' />" width="16" height="16" hspace="3" align="absmiddle" alt="제목버튼이미지"> + &nbsp;승인자 선택</td> + </tr> + </table> + <table width="100%" cellpadding="8" class="table-line"> + <thead> + <tr> + <!-- th class="title" width="3%" nowrap><input type="checkbox" name="all_check" class="check2"></th--> + <th class="title" width="10%" nowrap>번호</th> + <th class="title" width="30%" nowrap>사용자아이디</th> + <th class="title" width="40%" nowrap>사용자명</th> + <th class="title" width="20%" nowrap>선택</th> + </tr> + </thead> + <tbody> + + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <!--td class="lt_text3" nowrap><input type="checkbox" name="check1" class="check2"></td--> + <td class="lt_text3" nowrap><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td class="lt_text3" nowrap><c:out value="${result.userId}" /></td> + <td class="lt_text3" nowrap><c:out value="${result.userNm}" /></td> + <td class="lt_text3" nowrap> + <c:if test="${result.useAt == 'Y'}"> + <input type="button" name="selectUser" value="선택" + onClick="javascript:fn_egov_returnUserInfo('<c:out value="${result.uniqId}" />');" /> + </c:if> + </td> + </tr> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td class="lt_text3" nowrap colspan="4" ><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + + </tbody> + <!--tfoot> + <tr class=""> + <td colspan=6 align="center"></td> + </tr> + </tfoot --> + </table> + <table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td height="10"></td> + </tr> + </table> + <div align="center"> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_userInfo" /> + </div> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + <table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td height="10"></td> + </tr> + </table> + <div align="center"> + <table border="0" cellspacing="0" cellpadding="0" align="center"> + <tr> + <td><img src="<c:url value='/images/egovframework/com/cmm/btn/bu2_left.gif'/>" width="8" height="20" alt="버튼이미지"></td> + <td background="<c:url value='/images/egovframework/com/cmm/btn/bu2_bg.gif'/>" class="text_left" nowrap> + <a href="javascript:fn_egov_close()">닫기</a> + </td> + <td><img src="<c:url value='/images/egovframework/com/cmm/btn/bu2_right.gif'/>" width="8" height="20" alt="버튼이미지"></td> + </tr> + </table> + </div> +</form> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovCmmntyMngrListPop.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovUserListPop.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovUserListPop.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovUserListPop.jsp (revision 7) @@ -0,0 +1,162 @@ +<!DOCTYPE html> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="ImgUrl" value="${pageContext.request.contextPath}/images/egovframework/com/cmm/"/> + +<% + /** + * @Class Name : EgovUserListPop.jsp + * @Description : 사용자 목록화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.04.06 이삼섭 최초 생성 + * 2018.09.11 신용호 공통컴포넌트 3.8 개선 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.06 + * @version 1.0 + * @see + * + */ +%> + +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title><spring:message code="comCopCom.userListPop.title"/></title><!-- 사용자 목록 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript"> + function press(event) { + if (event.keyCode==13) { + fn_egov_select_userInfo('1'); + } + } + function fn_egov_returnUserInfo(uniqId, userNm, userId){ + var retVal = uniqId +"|"+userNm+"|"+userId; + parent.fn_egov_returnValue(retVal); + + } + + function fn_egov_select_userInfo(pageIndex){ + var _target = document.frm.targetMethod.value; + var actionUrl; + + if(_target == 'selectClubOprtrList'){ + actionUrl = "<c:url value='/cop/com/selectClubOprtrList.do'/>"; + }else if(_target == 'selectClubUserList'){ + actionUrl = "<c:url value='/cop/com/selectClubUserList.do'/>"; + }else if(_target == 'selectCmmntyMngrList'){ + actionUrl = "<c:url value='/cop/com/selectCmmntyMngrList.do'/>"; + }else if(_target == 'selectCmmntyUserList'){ + actionUrl = "<c:url value='/cop/com/selectCmmntyUserList.do'/>"; + }else{ + actionUrl = "<c:url value='/cop/com/selectUserList.do'/>"; + } + document.frm.pageIndex.value = pageIndex; + document.frm.action = actionUrl; + document.frm.submit(); + } + + function fn_egov_close(){ + parent.closeWindow(); + } +</script> +</head> +<body> + +<div class="board" style="width:800px"> + <h1><spring:message code="comCopCom.userListPop.pageTop.title"/></h1><!-- 사용자 목록 --> + + <form name="frm" action ="<c:url value='/cop/com/selectUserList.do'/>" method="post"> + <input type="hidden" name="targetMethod" value="${targetMethod}" /> + <input type="hidden" name="trgetId" value="${trgetId}" /> + <input type="hidden" name="PopFlag" value="Y" /> + + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"><!-- 이 레이아웃은 하단 정보를 대한 검색 정보로 구성되어 있습니다. --> + <ul> + <li> + <select name="searchCnd" class="select" title="<spring:message code="select.searchCondition"/>"> + <option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected="selected"</c:if> ><spring:message code="comCopCom.userListPop.userNm"/></option><!-- 사용자명 --> + </select> + <input class="s_input2 vat" name="searchWrd" type="text" value='<c:out value="${searchVO.searchWrd}"/>' size="35" maxlength="35" onkeypress="press(event);" title="<spring:message code="title.search"/>" /><!-- 검색어 입력 --> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="javascript:fn_egov_select_userInfo('1');return false;" title="<spring:message code="button.inquire" />" /><!-- 조회 --> + </li> + </ul> + </div> + + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + </form> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:10%" /> + <col style="width:15%" /> + <col style="width:15%" /> + <col style="width:23%" /> + <col style="width:12%" /> + <col style="width:8%" /> + <col style="width:8%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comCopCom.userListPop.index"/></th><!-- 번호 --> + <th scope="col"><spring:message code="comCopCom.userListPop.userId"/></th><!-- 사용자아이디 --> + <th scope="col"><spring:message code="comCopCom.userListPop.userNm"/></th><!-- 사용자명 --> + <th scope="col"><spring:message code="comCopCom.userListPop.userAdres"/></th><!-- 주소 --> + <th scope="col"><spring:message code="comCopCom.userListPop.userEmail"/></th><!-- 이메일 --> + <th scope="col"><spring:message code="comCopCom.userListPop.useAt"/></th><!-- 사용여부 --> + <th scope="col"><spring:message code="comCopCom.userListPop.select"/></th><!-- 선택 --> + </tr> + </thead> + <tbody> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value="${result.userId}" /></td> + <td><c:out value="${result.userNm}" /></td> + <td><c:out value="${result.userAdres}" /></td> + <td><c:out value="${result.userEmail}" /></td> + <td> + <c:choose> + <c:when test="${result.useAt == 'Y'}"> + <spring:message code="button.use" /> + </c:when> + <c:otherwise> + <spring:message code="button.notUsed" /> + </c:otherwise> + </c:choose> + </td> + <td> + <c:if test="${result.useAt == 'Y' || result.deletedAt == 'Y'}"> + <input type="button" name="selectUser" value="<spring:message code="input.cSelect"/>" title="<spring:message code="input.cSelect"/>" + onclick="fn_egov_returnUserInfo('<c:out value="${result.uniqId}" />','<c:out value="${result.userNm}" />','<c:out value="${result.userId}" />');" /><!-- 선택 --> + </c:if> + </td> + </tr> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="7"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_userInfo"/> + </ul> + </div> +</div> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovUserListPop.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovCmmntynClubView.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovCmmntynClubView.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovCmmntynClubView.jsp (revision 7) @@ -0,0 +1,81 @@ +<!DOCTYPE html> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovCmmntyView.jsp + * @Description : 커뮤니티 목록 초기화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.08 이삼섭 최초 생성 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.08 + * @version 1.0 + * @see + * + */ +%> + +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> + +<title>커뮤니티 및 동호회 목록</title> + +<style type="text/css"> + h1 {font-size:12px;} + caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} +</style> + + +</head> +<body> + +<div id="border" style="width:730px"> + <table width="100%" cellpadding="8" class="table-search" border="0"> + <tr> + <th align=left><a href="#cmyList">커뮤니티 목록 바로가기</a></th> + </tr> + <tr> + <th align=left><a href="#clubList">동호회 목록 바로가기</a></th> + </tr> + </table> + <br> + <table width="100%" cellpadding="8" class="table-search" border="0" id="cmyList" summary="커뮤니티 목록입니다."> + <tr> + <td width="100%"class="title_left"> + <h1> + <img src="<c:url value='/images/egovframework/com/cmm/icon/tit_icon.gif' />" width="16" height="16" hspace="3" alt="">&nbsp;커뮤니티 목록 + </h1> + </td> + </tr> + <tr> + <td><c:import url="/cop/cus/CmmntyListPortlet.do" charEncoding="utf-8" /> + </td> + </tr> + </table> + <br> + <table width="100%" cellpadding="8" class="table-search" border="0" id="clubList" summary="동호회 목록입니다."> + <tr> + <td width="100%"class="title_left"> + <h1> + <img src="<c:url value='/images/egovframework/com/cmm/icon/tit_icon.gif' />" width="16" height="16" hspace="3" alt="">&nbsp;동호회 목록 + </h1> + </td> + </tr> + <tr> + <td><c:import url="/cop/cus/ClubListPortlet.do" charEncoding="utf-8" /> + </td> + </tr> + </table> + +</div> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovCmmntynClubView.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovUserList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovUserList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovUserList.jsp (revision 7) @@ -0,0 +1,223 @@ +<!DOCTYPE html> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovUserList.jsp + * @Description : 사용자 목록화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.06 이삼섭 최초 생성 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.06 + * @version 1.0 + * @see + * + */ +%> + +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javascript"> + function press(event) { + if (event.keyCode==13) { + fn_egov_select_userInfo('1'); + } + } + + function fn_egov_select_userInfo(pageIndex) { + var _target = document.frm.targetMethod.value; + var actionUrl; + + if (_target == 'selectClubOprtrList') { + actionUrl = "<c:url value='/cop/com/selectClubOprtrList.do'/>"; + } else if (_target == 'selectClubUserList') { + actionUrl = "<c:url value='/cop/com/selectClubUserList.do'/>"; + } else if (_target == 'selectCmmntyMngrList') { + actionUrl = "<c:url value='/cop/com/selectCmmntyMngrList.do'/>"; + } else if (_target == 'selectCmmntyUserList') { + actionUrl = "<c:url value='/cop/com/selectCmmntyUserList.do'/>"; + } else { + actionUrl = "<c:url value='/cop/com/selectUserList.do'/>"; + } + document.frm.pageIndex.value = pageIndex; + document.frm.action = actionUrl; + document.frm.submit(); + } + + function fn_egov_deleteUser(emplyrId) { + var _target = document.frm.targetMethod.value; + var url; + + if (confirm('<spring:message code="cop.withdraw.msg" />')) { + + if (_target == 'selectCmmntyUserList') { + url = "<c:url value='/cop/com/deleteCmmntyUser.do'/>"; + document.frm.param_cmmntyId.value = document.frm.trgetId.value; + } else if (_target == 'selectClubUserList') { + url = "<c:url value='/cop/com/deleteClbUser.do'/>"; + document.frm.param_clbId.value = document.frm.trgetId.value; + } + document.frm.param_emplyrId.value = emplyrId; + document.frm.action = url; + document.frm.submit(); + } + } + + function fn_egov_reRegistUser(emplyrId){ + var _target = document.frm.targetMethod.value; + var url; + + if (confirm('<spring:message code="cop.reregist.msg" />')) { + if (_target == 'selectCmmntyUserList') { + url = "<c:url value='/cop/com/reRegistCmmntyUser.do'/>"; + document.frm.param_cmmntyId.value = document.frm.trgetId.value; + } else if (_target == 'selectClubUserList') { + url = "<c:url value='/cop/com/reRegistClbUser.do'/>"; + document.frm.param_clbId.value = document.frm.trgetId.value; + } + + document.frm.param_emplyrId.value = emplyrId; + document.frm.action = url; + document.frm.submit(); + } + } + + function fn_egov_registManager(emplyrId) { + var _target = document.frm.targetMethod.value; + var url; + + if (confirm('<spring:message code="cop.registmanager.msg" />')) { + if (_target == 'selectCmmntyUserList') { + url = "<c:url value='/cop/com/registCmmntyManager.do'/>"; + document.frm.param_cmmntyId.value = document.frm.trgetId.value; + } else if (_target == 'selectClubUserList') { + url = "<c:url value='/cop/com/registClbOprtr.do'/>"; + document.frm.param_clbId.value = document.frm.trgetId.value; + } + document.frm.param_emplyrId.value = emplyrId; + document.frm.action = url; + document.frm.submit(); + } + } +</script> +<title>사용자 목록</title> + +<style type="text/css"> + h1 {font-size:12px;} + caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} +</style> + + +</head> +<body> +<form name="frm" action ="" method="post"> +<input type="hidden" name="targetMethod" value="${targetMethod}" /> +<input type="hidden" name="trgetId" value="${trgetId}" /> +<input type="hidden" name="param_emplyrId" /> +<input type="hidden" name="param_cmmntyId" /> +<input type="hidden" name="param_clbId" /> + +<div id="border" style="width:730px"> + <table width="100%" cellpadding="8" class="table-search" border="0"> + <tr> + <td width="40%"class="title_left"> + <img src="<c:url value='/images/egovframework/com/cmm/icon/tit_icon.gif' />" width="16" height="16" hspace="3" align="middle" alt="제목버튼이미지"> + &nbsp;사용자 목록</td> + <th > + </th> + <td width="10%" > + <select name="searchCnd" class="select" title="검색조건선택"> + <!-- option selected value=''--><!--선택하세요--><!-- /option--> + <option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected="selected"</c:if> >사용자명</option> + </select> + </td> + <td width="35%"> + <input name="searchWrd" type="text" size="35" value='<c:out value="${searchVO.searchWrd}"/>' maxlength="35" onkeypress="press(event);" title="검색단어입력"> + </td> + <th width="10%"> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <!-- + <td><img src="<c:url value='/images/egovframework/com/cmm/btn/bu2_left.gif' />" width="8" height="20" alt="button left"></td> + <td background="<c:url value='/images/egovframework/com/cmm/btn/bu2_bg.gif'/>" class="text_left" nowrap> + <a href="javascript:fn_egov_select_userInfo('1')">조회</a> + </td> + <td><img src="<c:url value='/images/egovframework/com/cmm/btn/bu2_right.gif'/>" width="8" height="20" alt="버튼이미지"></td> + --> + <td><span class="button"><input type="submit" value="조회" title="조회" onclick="javascript:fn_egov_select_userInfo('1');return false;"></span></td> + </tr> + </table> + </th> + </tr> + </table> + <table width="100%" cellpadding="8" class="table-line" summary="번호, 사용자아이디 , 사용자명, 주소, 이메일, 비고 목록입니다"> + <thead> + <tr> + <!-- th class="title" width="3%" nowrap><input type="checkbox" name="all_check" class="check2"></th--> + <th scope="col" class="title" width="8%" nowrap>번호</th> + <th scope="col" class="title" width="12%" nowrap>사용자아이디</th> + <th scope="col" class="title" width="13%" nowrap>사용자명</th> + <th scope="col" class="title" width="35%" nowrap>주소</th> + <th scope="col" class="title" width="12%" nowrap>이메일</th> + <th scope="col" class="title" width="20%" nowrap>비고</th> + </tr> + </thead> + <tbody> + + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <!--td class="lt_text3" nowrap><input type="checkbox" name="check1" class="check2"></td--> + <td class="lt_text3" nowrap><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td class="lt_text3" nowrap><c:out value="${result.userId}" /></td> + <td class="lt_text3" nowrap><c:out value="${result.userNm}" /></td> + <td class="lt_text3" nowrap><c:out value="${result.userAdres}" /></td> + <td class="lt_text3" nowrap><c:out value="${result.userEmail}" /></td> + <td class="lt_text3" nowrap> + <c:choose> + <c:when test="${result.useAt == 'Y'}"> + <input type="button" value="탈퇴" onClick="javascript:fn_egov_deleteUser('<c:out value="${result.uniqId}"/>')" /> + |<input type="button" value="운영진등록" onClick="javascript:fn_egov_registManager('<c:out value="${result.uniqId}"/>');" /> + </c:when> + <c:otherwise> + |<input type="button" value="재가입" onClick="javascript:fn_egov_reRegistUser('<c:out value="${result.uniqId}"/>');" /> + </c:otherwise> + </c:choose> + </td> + </tr> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td class="lt_text3" nowrap colspan="6" ><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + + </tbody> + <!--tfoot> + <tr class=""> + <td colspan=6 align="center"></td> + </tr> + </tfoot --> + </table> + <table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td height="10"></td> + </tr> + </table> + <div align="center"> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_userInfo" /> + </div> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> +</div> +</form> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovUserList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovClbOprtrListPop.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovClbOprtrListPop.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovClbOprtrListPop.jsp (revision 7) @@ -0,0 +1,152 @@ +<!DOCTYPE html> + +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovClbOprtrList.jsp + * @Description : 사용자 목록화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.06 이삼섭 최초 생성 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.06 + * @version 1.0 + * @see + * + */ +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<script type="text/javascript"> + function fn_egov_returnUserInfo(uniqId) { + document.frm.emplyrId.value = uniqId; + document.frm.action = "<c:url value='/cop/com/deleteClubUserBySelf.do'/>"; + document.frm.submit(); + } + + function fn_egov_select_userInfo(pageIndex){ + var _target = document.frm.targetMethod.value; + var actionUrl; + + if (_target == 'selectClubOprtrList') { + actionUrl = "<c:url value='/cop/com/selectClubOprtrList.do'/>"; + } else if (_target == 'selectClubUserList') { + actionUrl = "<c:url value='/cop/com/selectClubUserList.do'/>"; + } else if (_target == 'selectCmmntyMngrList') { + actionUrl = "<c:url value='/cop/com/selectCmmntyMngrList.do'/>"; + } else if (_target == 'selectCmmntyUserList') { + actionUrl = "<c:url value='/cop/com/selectCmmntyUserList.do'/>"; + } else { + actionUrl = "<c:url value='/cop/com/selectUserList.do'/>"; + } + document.frm.pageIndex.value = pageIndex; + document.frm.action = actionUrl; + document.frm.submit(); + } + + function fn_egov_close(){ + window.close(); + } +</script> +<title>승인자 선택</title> + +<style type="text/css"> + h1 {font-size:12px;} + caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} +</style> + + +</head> +<body> +<form name="frm" action ="" method="post"> +<input type="hidden" name="targetMethod" value="${targetMethod}" /> +<input type="hidden" name="trgetId" value="${trgetId}" /> +<input type="hidden" name="PopFlag" value="S" /> +<input type="hidden" name="clbId" value="${trgetId}" /> +<input type="hidden" name="emplyrId" /> + + + + <table width="100%" cellpadding="8" class="table-search" border="0"> + <tr> + <td width="100%"class="title_left"> + <img src="<c:url value='/images/egovframework/com/cmm/icon/tit_icon.gif' />" width="16" height="16" hspace="3" align="absmiddle" alt="제목버튼이미지"> + &nbsp;승인자 선택</td> + </tr> + </table> + <table width="100%" cellpadding="8" class="table-line"> + <thead> + <tr> + <!-- th class="title" width="3%" nowrap><input type="checkbox" name="all_check" class="check2"></th--> + <th class="title" width="10%" nowrap>번호</th> + <th class="title" width="30%" nowrap>사용자아이디</th> + <th class="title" width="40%" nowrap>사용자명</th> + <th class="title" width="20%" nowrap>선택</th> + </tr> + </thead> + <tbody> + + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <!--td class="lt_text3" nowrap><input type="checkbox" name="check1" class="check2"></td--> + <td class="lt_text3" nowrap><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td class="lt_text3" nowrap><c:out value="${result.userId}" /></td> + <td class="lt_text3" nowrap><c:out value="${result.userNm}" /></td> + <td class="lt_text3" nowrap> + <c:if test="${result.useAt == 'Y'}"> + <input type="button" name="selectUser" value="선택" + onClick="javascript:fn_egov_returnUserInfo('<c:out value="${result.uniqId}" />');" /> + </c:if> + </td> + </tr> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td class="lt_text3" nowrap colspan="4" ><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + + </tbody> + <!--tfoot> + <tr class=""> + <td colspan=6 align="center"></td> + </tr> + </tfoot --> + </table> + <table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td height="10"></td> + </tr> + </table> + <div align="center"> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_userInfo" /> + </div> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + <table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td height="10"></td> + </tr> + </table> + <div align="center"> + <table border="0" cellspacing="0" cellpadding="0" align="center"> + <tr> + <td><img src="<c:url value='/images/egovframework/com/cmm/btn/bu2_left.gif'/>" width="8" height="20" alt="버튼이미지"></td> + <td background="<c:url value='/images/egovframework/com/cmm/btn/bu2_bg.gif'/>" class="text_left" nowrap> + <a href="javascript:fn_egov_close()">닫기</a> + </td> + <td><img src="<c:url value='/images/egovframework/com/cmm/btn/bu2_right.gif'/>" width="8" height="20" alt="버튼이미지"></td> + </tr> + </table> + </div> +</form> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovClbOprtrListPop.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBoardUseInfList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBoardUseInfList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBoardUseInfList.jsp (revision 7) @@ -0,0 +1,204 @@ +<!DOCTYPE html> + +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovBoardUseInfList.jsp + * @Description : 게시판 사용정보 목록화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.02 이삼섭 최초 생성 + * 2011.09.15 서준식 동호회, 커뮤니티 사용 체크 로직 추가 + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.02 + * @version 1.0 + * @see + * + */ +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javascript"> + function press(event) { + if (event.keyCode==13) { + fn_egov_select_bbsUseInfs('1'); + } + } + + function fn_egov_select_bbsUseInfs(pageNo){ + document.frm.pageIndex.value = pageNo; + document.frm.action = "<c:url value='/cop/com/selectBBSUseInfs.do'/>"; + document.frm.submit(); + } + function fn_egov_insert_addbbsUseInf(){ + document.frm.action = "<c:url value='/cop/com/addBBSUseInf.do'/>"; + document.frm.submit(); + } + function fn_egov_select_bbsUseInf(bbsId, trgetId){ + document.frm.bbsId.value = bbsId; + document.frm.trgetId.value = trgetId; + document.frm.action = "<c:url value='/cop/com/selectBBSUseInf.do'/>"; + document.frm.submit(); + } + +</script> +<title>게시판 사용정보 조회</title> + +<style type="text/css"> + h1 {font-size:12px;} + caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} + + A:link { color: #000000; text-decoration:none; } + A:visited { color: #000000; text-decoration:none; } + A:active { color: #000000; text-decoration:none; } + A:hover { color: #fa2e2e; text-decoration:none; } +</style> + + +</head> +<body> +<div id="border" style="width:730px"> + +<form name="frm" method="post" action = "<c:url value='/cop/com/selectBBSUseInf.do'/>"> +<div style="visibility:hidden;display:none;"><input name="iptSubmit" type="submit" value="전송" title="전송"></div> +<input type="hidden" name="bbsId" > +<input type="hidden" name="trgetId" > + + <table width="100%" cellpadding="8" class="table-search" border="0"> + <tr> + <td width="40%"class="title_left"> + <h1> + <img src="<c:url value='/images/egovframework/com/cmm/icon/tit_icon.gif' />" width="16" height="16" hspace="3" align="middle" alt="제목아이콘이미지">&nbsp;게시판 사용정보 조회 + </h1> + </td> + <th > + </th> + <td width="10%" > + <select name="searchCnd" class="select" title="선택"> + <option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected="selected"</c:if> >게시판명</option> + <option value="1" <c:if test="${searchVO.searchCnd == '1'}">selected="selected"</c:if> >사용 커뮤니티명</option> + <option value="2" <c:if test="${searchVO.searchCnd == '2'}">selected="selected"</c:if> >사용 동호회명</option> + </select> + </td> + <td width="35%"> + <input name="searchWrd" type="text" size="35" title="검색단어입력" value='<c:out value="${searchVO.searchWrd}" />' maxlength="35" onkeypress="press(event);"> + </td> + <th width="10%"> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <td><span class="button"> + <a href="<c:url value='/cop/com/selectBBSUseInfs.do'/>" onclick="fn_egov_select_bbsUseInfs('1'); return false;">조회</a> + </span></td> + <td>&nbsp;&nbsp;</td> + <td><span class="button"> + <a href="<c:url value='/cop/com/addBBSUseInf.do'/>" onclick="fn_egov_insert_addbbsUseInf(); return false;">등록</a> + </span></td> + </tr> + </table> + </th> + </tr> + </table> + + <table width="100%" cellpadding="8" class="table-line" summary="번호,게시판명,사용 커뮤니티 명,사용 동호회 명,등록일시,사용여부 목록입니다"> + <thead> + <tr> + <!-- th class="title" width="3%" nowrap><input type="checkbox" name="all_check" class="check2"></th--> + <th scope="col" class="title" width="10%" nowrap>번호</th> + + + <c:choose> + <c:when test="${useCommunity == 'true'}"> + <th scope="col" class="title" width="30%" nowrap>게시판명</th> + <th scope="col" class="title" width="20%" nowrap>사용 커뮤니티 명</th> + <th scope="col" class="title" width="15%" nowrap>사용 동호회 명</th> + </c:when> + <c:otherwise> + <th scope="col" class="title" width="65%" nowrap>게시판명</th> + </c:otherwise> + </c:choose> + + <th scope="col" class="title" width="15%" nowrap>등록일시</th> + <th scope="col" class="title" width="7%" nowrap>사용여부</th> + </tr> + </thead> + <tbody> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <td class="lt_text3" nowrap><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <!-- 2011.09.15 --> + <c:choose> + <c:when test="${useCommunity == 'true'}"> + <td class="lt_text" nowrap> + + <!-- 2010.11.1 + <form name="item" method="post" action="<c:url value='/cop/com/selectBBSUseInf.do'/>" target="_blank"> + <input type=hidden name="bbsId" value="<c:out value="${result.bbsId}"/>"> + <input type=hidden name="trgetId" value="<c:out value="${result.trgetId}"/>"> + <span class="link"><input type="submit" value="<c:out value="${result.bbsNm}"/>" onclick="fn_egov_select_bbsUseInf('<c:out value="${result.bbsId}"/>','<c:out value="${result.trgetId}"/>'); return false;"></span> + </form> + --> + + <input type=hidden name="bbsId" value="<c:out value="${result.bbsId}"/>"> + <input type=hidden name="trgetId" value="<c:out value="${result.trgetId}"/>"> + + <a href="<c:url value='/cop/com/selectBBSUseInf.do'/>?bbsId=<c:out value='${result.bbsId}'/>&amp;trgetId=<c:out value='${result.trgetId}'/>" onclick=""> + <c:out value="${result.bbsNm}"/> + </a> + + </td> + <td class="lt_text3" nowrap><c:out value="${result.cmmntyNm}"/></td> + <td class="lt_text3" nowrap><c:out value="${result.clbNm}"/></td> + </c:when> + <c:otherwise> + <td class="lt_text" nowrap> + + <input type=hidden name="bbsId" value="<c:out value="${result.bbsId}"/>"> + <input type=hidden name="trgetId" value="<c:out value="${result.trgetId}"/>"> + + <a href="<c:url value='/cop/com/selectBBSUseInf.do'/>?bbsId=<c:out value='${result.bbsId}'/>&amp;trgetId=<c:out value='${result.trgetId}'/>" onclick=""> + <c:out value="${result.bbsNm}"/> + </a> + + </td> + </c:otherwise> + </c:choose> + + + + <td class="lt_text3" nowrap><c:out value="${result.frstRegisterPnttm}"/></td> + <td class="lt_text3" nowrap> + <c:if test="${result.useAt == 'N'}"><spring:message code="button.notUsed" /></c:if> + <c:if test="${result.useAt == 'Y'}"><spring:message code="button.use" /></c:if> + </td> + </tr> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td class="lt_text3" nowrap colspan="6" ><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + </tbody> + </table> + <table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td height="10"></td> + </tr> + </table> + <div align="center"> + <ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="fn_egov_select_bbsUseInfs" /> + </div> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + </form> +</div> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovBoardUseInfList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovConfirmList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovConfirmList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovConfirmList.jsp (revision 7) @@ -0,0 +1,183 @@ +<!DOCTYPE html> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="ImgUrl" value="/images/egovframework/com/cop/com/"/> +<% + /** + * @Class Name : EgovConfirmList.jsp + * @Description : 승인 목록화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.13 이삼섭 최초 생성 + * 2011.9.7 정진오 승인요청자 목록이 해당 커뮤니티 또는 해당 동호회에 한하여 조회되도록 수정함 + * trgetId가 파라미터로 서버측으로 전송되어야 하나 누락되었음. 전송되도록 수정함 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.13 + * @version 1.0 + * @see + * + */ +%> + +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javascript"> + function press(event) { + if (event.keyCode==13) { + fn_egov_select_confirmList('1'); + } + } + + function fn_egov_select_confirmList(pageNo) { + var target = document.frm.trgetId.value; + var actionUrl; + + if (target == '') { + actionUrl = "<c:url value='/cop/com/selectConfirmRequest.do'/>"; + } else { + actionUrl = "<c:url value='/cop/com/selectConfirmRequestByTrget.do'/>"; + } + + document.frm.pageIndex.value = pageNo; + document.frm.action = actionUrl; + document.frm.submit(); + } + + function fn_egov_inqire_confirmInfo(cnfmNo,trgetId) { + document.frm.confmNumber.value = cnfmNo; + document.frm.trgetId.value = trgetId; + document.frm.action = "<c:url value='/cop/com/forUpdateConfirmRequest.do'/>"; + document.frm.submit(); + } +</script> +<title>승인 목록</title> + +<style type="text/css"> + h1 {font-size:12px;} + caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} + + A:link { color: #000000; text-decoration:none; } + A:visited { color: #000000; text-decoration:none; } + A:active { color: #000000; text-decoration:none; } + A:hover { color: #fa2e2e; text-decoration:none; } +</style> + +</head> +<body> + +<div id="border" style="width:730px"> +<form name="frm" action ="<c:url value='/cop/com/forUpdateConfirmRequest.do' />" method="post"> + <input type="hidden" name="confmNumber" value="0" /> + <input type="hidden" name="confmerId" value='<c:out value="${searchVO.confmerId}"/>' /> + + <input type="hidden" name="trgetId" value="<c:out value="${searchVO.trgetId}"/>" /> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + <table width="100%" cellpadding="8" class="table-search" border="0"> + <tr> + <td width="40%"class="title_left"> + <img src="<c:url value='/images/egovframework/com/cmm/icon/tit_icon.gif' />" width="16" height="16" hspace="3" align="middle" alt="제목아이콘이미지"> + &nbsp;승인 목록</td> + <th > + </th> + <td width="10%" > + <select name="searchCnd" class="select" title="검색조건선택"> + <option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected="selected"</c:if> >승인유형</option> + <option value="1" <c:if test="${searchVO.searchCnd == '1'}">selected="selected"</c:if> >승인상태</option> + </select> + </td> + <td width="35%"> + <input name="searchWrd" type="text" size="35" value='<c:out value="${searchVO.searchWrd}"/>' maxlength="35" onkeypress="press(event);" title="검색어 입력"> + </td> + <th width="10%"> + <table border="0" cellspacing="0" cellpadding="0"> + <tr> + <!-- + <td><img src="<c:out value="${ImgUrl}" />btn/bu2_left.gif" width="8" height="20"></td> + <td class="btnBackground" nowrap><input type="submit" value="<spring:message code="button.inquire" />" onclick="fn_egov_select_confirmList('1'); return false;" style="height:20px;width:26px;padding:0px 0px 0px 0px;" ></td> + <td><img src="<c:out value="${ImgUrl}" />btn/bu2_right.gif" width="8" height="20"></td> + --> + <td><span class="button"><input type="button" value="<spring:message code="button.inquire" />" title="<spring:message code="button.inquire" />" onclick="fn_egov_select_confirmList('1');return false;"></span></td> + </tr> + </table> + </th> + </tr> + </table> +</form> + <table width="100%" cellpadding="8" class="table-line"> + <thead> + <tr> + <!-- th class="title" width="3%" nowrap><input type="checkbox" name="all_check" class="check2"></th--> + <th class="title" width="10%" nowrap>번호</th> + <th class="title" width="15%" nowrap>승인유형</th> + <th class="title" width="10%" nowrap>승인상태</th> + <th class="title" width="22%" nowrap>승인요청자</th> + <th class="title" width="20%" nowrap>대상업무유형</th> + <th class="title" width="10%" nowrap>승인일자</th> + </tr> + </thead> + + <tbody> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <!--td class="lt_text3" nowrap><input type="checkbox" name="check1" class="check2"></td--> + <td class="lt_text3" nowrap><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td class="lt_text3" nowrap> + <c:choose> + <c:when test="${result.confmSttusCode == 'AP01'}"> + <input type="hidden" name="confmNumber" value="0" /> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <!-- a href="<c:url value='/cop/cmy/selectCmmntyInf.do'/>?confmNumber=0"; onclick=""> + <c:out value="${result.confmTyCodeNm}"/> + </a--> + <!-- a href="<c:url value='/cop/com/forUpdateConfirmRequest.do'/>?confmNumber=0"; onclick=""> + <c:out value="${result.confmTyCodeNm}"/> + </a--> + <!-- 2011.9.7 수정분 --> + <a href="javascript:fn_egov_inqire_confirmInfo(<c:out value='${result.confmNumber}'/>, '<c:out value='${result.trgetJobId}'/>');"> + <c:out value="${result.confmTyCodeNm}"/> + </a> + + + + </c:when> + <c:otherwise> + <c:out value="${result.confmTyCodeNm}"/> + </c:otherwise> + </c:choose> + + </td> + <td class="lt_text3" nowrap><c:out value="${result.confmSttusCodeNm}"/></td> + <td class="lt_text3" nowrap><c:out value="${result.confmRqesterNm}"/></td> + <td class="lt_text3" nowrap><c:out value="${result.opertTyCodeNm}"/></td> + <td class="lt_text3" nowrap><c:out value="${result.confmDe}"/></td > + </tr> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td class="lt_text3" nowrap colspan="6" ><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + + </tbody> + + </table> + <table width="100%" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td height="10"></td> + </tr> + </table> + <div align="center"> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_confirmList" /> + </div> +</div> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovConfirmList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovModalPopupFrame.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovModalPopupFrame.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovModalPopupFrame.jsp (revision 7) @@ -0,0 +1,52 @@ +<!DOCTYPE html> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovModalPopupFrame.jsp + * @Description : 모달 팝업을 위한 외부 프레임 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.06 이삼섭 최초 생성 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.06 + * @version 1.0 + * + */ +%> + +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/showModalDialogCallee.js'/>" ></script> +<script type="text/javascript"> + function fn_egov_returnValue(retVal){ + setReturnValue(retVal); + + window.returnValue = retVal; + window.close(); + } + + function closeWindow(){ + window.close(); + } +</script> +<title>선택 목록</title> + +<style type="text/css"> + h1 {font-size:12px;} + caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} +</style> + + +</head> +<body> + <iframe id="popupFrame" src="<c:url value='${requestUrl}' />" width="${width}" height="${height}" align="middle" frameborder="0" title="팝업창열기"></iframe> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/com/EgovModalPopupFrame.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageRegist.jsp (revision 7) @@ -0,0 +1,252 @@ + +<% + /** + * @Class Name : EgovArticleRegist.jsp + * @Description : EgovArticleRegist 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * 2018.06.05 신용호 CK Editor V4.9.2 Upgrade + * + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%> +<c:set var="pageTitle"> + <spring:message code="comCopBbs.articleVO.title" /> +</c:set> +<c:set var="reBbsId" value="${fn:replace(boardMasterVO.bbsId, \"BBSMSTR_\", \"\")}" /> +<title>${pageTitle}<spring:message code="title.create" /></title> +<!-- 게시글 등록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFiles.js'/>"></script> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/utl/EgovCmmUtl.js'/>"></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<!-- 에디터 관련 추가 CSS, Javascript 추가 --> +<jsp:useBean id="today" class="java.util.Date" /> +<fmt:formatDate value="${today}" pattern="yyyyMMddHHmm" var="nowDate" scope="application" /> +<!-- Include Editor style. --> +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/editor/css/froala_editor.pkgd.min.css'><c:param name="dt" value="${nowDate}"/></c:url>"> +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/editor/css/froala_style.min.css'><c:param name="dt" value="${nowDate}"/></c:url>"> +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/font-awesome/css/font-awesome.css'><c:param name="dt" value="${nowDate}"/></c:url>"> +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/editor/codemirror/lib/codemirror.css'><c:param name="dt" value="${nowDate}"/></c:url>" /> +<!-- Include Editor JS files. --> +<script type="text/javascript" src="<c:url value='/resource/editor/js/froala_editor.pkgd.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<script type="text/javascript" src="<c:url value='/resource/editor/js/languages/ko.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<script type="text/javascript" src="<c:url value='/resource/editor/js/froala_editor_script_custom.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<script type="text/javascript" src="<c:url value='/resource/editor/codemirror/lib/codemirror.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<script type="text/javascript" src="<c:url value='/resource/editor/codemirror/lib/xml.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<!-- 에디터 관련 추가 CSS, Javascript 종료 --> +<validator:javascript formName="articleVO" staticJavascript="false" xhtml="true" cdata="false" /> +<script type="text/javascript"> + /* ******************************************************** + * 초기화 + ******************************************************** */ + function fn_egov_init() { + // 첫 입력란에 포커스 + document.getElementById("articleVO").nttSj.focus(); + } + /* ******************************************************** + * 저장처리화면 + ******************************************************** */ + function fn_egov_regist_article(form) { + // 개인정보입력 체크. + if (!fnPrivacyCheck(form.nttSj.value)) { // 제목 + return false; + } + if (!fnPrivacyCheck(form.nttCn.value)) { // 내용 + return false; + } + //input item Client-Side validate + if (!validateArticleVO(form)) { + return false; + } else { + + var validateForm = document.getElementById("articleVO"); + + //비밀글은 공지게시 불가. + if (validateForm.secretAt.checked) { + if (validateForm.noticeAt.checked) { + alert("<spring:message code="comCopBbs.articleVO.secretNotice" />"); + return; + } + } + + if (confirm("<spring:message code="common.regist.msg" />")) { + form.submit(); + } + } + } + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fn_egov_inqire_articlelist() { + articleVO.action = "<c:url value='/cop/bbs/manage/${reBbsId}/selectArticleList.do'/>"; + articleVO.submit(); + } +</script> + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"> + <spring:message code="common.noScriptTitle.msg" /> +</noscript> + +<form:form commandName="articleVO" action="${pageContext.request.contextPath}/cop/bbs/manage/${reBbsId}/insertArticle.do" method="post"> + <div class="board_header"> + <!-- 타이틀 --> + <h3>${boardMasterVO.bbsNm}</h3> + <!-- 게시글 등록 --> + </div> + <div class="board_body"> + <!-- 등록폼 --> + <p class="must_text"> + <em>*</em>는 필수 입력사항입니다. + </p> + <table class="table_write"> + <caption>게시글 등록 - 제목, 내용, 공지신청여부, 비밀글여부, 첨부파일등록으로 구성</caption> + <colgroup> + <col style="width: 200px;"> + <col style="width:;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"> + <spring:message code="input.input" /> + </c:set> + <!-- 글 제목, 제목 Bold여부 --> + <c:set var="title"> + <spring:message code="comCopBbs.articleVO.regist.nttSj" /> + </c:set> + <tr> + <th scope="col" class="must"><label for="nttSj">${title}</label></th> + <td class="left"> + <form:input path="nttSj" title="${title} ${inputTxt}" maxlength="70" class="width100p inputText" /> + <div> + <form:errors path="nttSj" cssClass="error" /> + </div> + </td> + </tr> + <!-- 글 내용 --> + <c:set var="title"> + <spring:message code="comCopBbs.articleVO.regist.nttCn" /> + </c:set> + <tr> + <th scope="col" class="must"><label for="nttCn">${title}</label></th> + <td class="nopd"> + <textarea id="nttCn" name="nttCn"> +<%-- <c:if test="${not empty boardMasterVO.bbsForm}">${boardMasterVO.bbsForm}</c:if> --%> + </textarea> + </td> + </tr> + + <!-- 공지신청 여부 --> + <c:set var="title"> + <spring:message code="comCopBbs.articleVO.regist.noticeAt" /> + </c:set> + <tr> + <th scope="col"><label for="noticeAt">${title}</label></th> + <td class="alignL"> + <div class="check_wrap"> + <input type="checkbox" id="noticeAt" name="noticeAt" value="Y"> + <label for="noticeAt">공지로 등록</label> + </div> + </td> + </tr> + + <!-- 비밀글 여부 --> + <c:set var="title"> + <spring:message code="comCopBbs.articleVO.regist.secretAt" /> + </c:set> + <tr> + <th scope="col"><label for="secretAt">${title}</label></th> + <td class="alignL relative"> + <div class="check_wrap"> + <input type="checkbox" id="secretAt" name="secretAt" value="Y"> + <label for="secretAt">비밀글 등록</label> + </div> + </td> + </tr> + <c:if test="${boardMasterVO.fileAtchPosblAt == 'Y'}"> + <!-- 첨부파일 --> + <c:set var="title"> + <spring:message code="comCopBbs.articleVO.regist.atchFile" /> + </c:set> + <tr> + <th scope="col"><label for="egovComFileUploader">${title}</label></th> + <td class="nopd"> + <div class="space5"></div> + <div class="file_up"> + <label for="egovComFileUploader" class="inputFile" title="업로드 할 파일을 선택해주세요">파일업로드</label> + <input type="file" id="egovComFileUploader" name="file_1" title="<spring:message code="comCopBbs.articleVO.regist.atchFile"/>" /> + <!-- 첨부파일 --> + <input type="hidden" id="atchFileId" name="atchFileId" value="" /> + </div> + <em class="exp filenote">※ 파일당 10MB까지 첨부 가능합니다.</em> + <ul id="egovComFileList" class="file_list addFileSize" style="display: none;"></ul> + </td> + </tr> + </c:if> + + </tbody> + </table> + </div> + <div class="board_footer"> + <!-- 하단 버튼 --> + <div class="bottom_wrap fl"> + <button type="button" class="btn_s" title="<spring:message code="button.list" /> <spring:message code="input.button" />" onclick="fn_egov_inqire_articlelist();"> + <spring:message code="button.list" /> + </button> + <!-- 목록 --> + </div> + <div class="bottom_wrap fr"> + <button type="button" class="btn_s" title="<spring:message code="button.create" /> <spring:message code="input.button" />" onclick="fn_egov_regist_article(document.forms[0]); return false;"> + <spring:message code="button.create" /> + </button> + <!-- 등록 --> + </div> + <div style="clear: both;"></div> + </div> + + <input type="hidden" name="pageIndex" value="${searchVO.pageIndex}" /> + <input type="hidden" name="bbsTyCode" value="${boardMasterVO.bbsTyCode}" /> + <input type="hidden" name="replyPosblAt" value="${boardMasterVO.replyPosblAt}" /> + <input type="hidden" name="fileAtchPosblAt" value="${boardMasterVO.fileAtchPosblAt}" /> + <input type="hidden" id="atchPosblFileNumber" name="atchPosblFileNumber" value="${boardMasterVO.atchPosblFileNumber}" /> + <input type="hidden" id="atchPosblFileSize" name="atchPosblFileSize" value="${boardMasterVO.atchPosblFileSize}" /> + <input type="hidden" name="blogId" value="${searchVO.blogId}" /> + <input type="hidden" name="blogAt" value="${articleVO.blogAt}" /> + <input type="hidden" name="cmd" value="save"> + <input type="hidden" name="bbsId" value="${articleVO.bbsId}"> +</form:form> +<!-- 첨부파일 업로드 가능화일 설정 Start..--> +<script type="text/javascript"> + $(function() { + var atchPosblFileNumber = $('#atchPosblFileNumber').val(); + var atchPosblFileSize = $('#atchPosblFileSize').val(); + var options = { + fileListDivId : 'egovComFileList', + inputFileId : 'egovComFileUploader', + hiddenFileName : 'atchFileId', + txtAreaId : 'nttCn', + authorType : 'admin', + maxSize : atchPosblFileNumber, + fileMaxSize : atchPosblFileSize + } + $('#nttCn').initEditor(options); + }); +</script> +<!-- 첨부파일 업로드 가능화일 설정 End.--> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageReply.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageReply.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageReply.jsp (revision 7) @@ -0,0 +1,230 @@ +<% + /** + * @Class Name : EgovArticleReply.jsp + * @Description : EgovArticleReply 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comCopBbs.articleVO.title"/></c:set> +<c:set var="reBbsId" value="${fn:replace(boardMasterVO.bbsId, \"BBSMSTR_\", \"\")}"/> +<title>${pageTitle} <spring:message code="title.create" /></title><!-- 게시글 답글 등록--> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFiles.js'/>" ></script> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/utl/EgovCmmUtl.js'/>" ></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<!-- 에디터 관련 추가 CSS, Javascript 추가 --> +<jsp:useBean id="today" class="java.util.Date" /> +<fmt:formatDate value="${today}" pattern="yyyyMMddHHmm" var="nowDate" scope="application"/> +<!-- Include Editor style. --> +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/editor/css/froala_editor.pkgd.min.css'><c:param name="dt" value="${nowDate}"/></c:url>"> +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/editor/css/froala_style.min.css'><c:param name="dt" value="${nowDate}"/></c:url>"> +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/font-awesome/css/font-awesome.css'><c:param name="dt" value="${nowDate}"/></c:url>"> +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/editor/codemirror/lib/codemirror.css'><c:param name="dt" value="${nowDate}"/></c:url>" /> +<!-- Include Editor JS files. --> +<script type="text/javascript" src="<c:url value='/resource/editor/js/froala_editor.pkgd.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<script type="text/javascript" src="<c:url value='/resource/editor/js/languages/ko.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<script type="text/javascript" src="<c:url value='/resource/editor/js/froala_editor_script_custom.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<script type="text/javascript" src="<c:url value='/resource/editor/codemirror/lib/codemirror.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<script type="text/javascript" src="<c:url value='/resource/editor/codemirror/lib/xml.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<!-- 에디터 관련 추가 CSS, Javascript 종료 --> +<validator:javascript formName="articleVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스 + document.getElementById("articleVO").nttSj.focus(); + +} +/* ******************************************************** + * 답글저장처리화면 + ******************************************************** */ +function fn_egov_reply_article(form){ + // 개인정보입력 체크. + if (!fnPrivacyCheck(form.nttSj.value)) { // 제목 + return false; + } + if (!fnPrivacyCheck(form.nttCn.value)) { // 내용 + return false; + } + //input item Client-Side validate + if (!validateArticleVO(form)) { + return false; + } else { + + var validateForm = document.getElementById("articleVO"); + + //비밀글은 공지게시 불가. + if(validateForm.secretAt.checked) { + if(validateForm.noticeAt.checked) { + alert("<spring:message code="comCopBbs.articleVO.secretNotice" />"); + return; + } + } + if(confirm("<spring:message code="common.regist.msg" />")){ + form.submit(); + } + } +} +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_inqire_articlelist() { + $('#articleVO').attr('action',"<c:url value='/cop/bbs/manage/${reBbsId}/selectArticleList.do'/>"); + $('#articleVO').submit(); +} +</script> + + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form:form commandName="articleVO" action="/cop/bbs/manage/${reBbsId}/replyArticle.do" method="post" > +<div class="board_header"> + <!-- 타이틀 --> + <h3>${boardMasterVO.bbsNm}</h3><!-- 게시글 답글 등록--> +</div> +<div class="board_body"> + <!-- 등록폼 --> + <p class="must_text"><em>*</em>는 필수 입력사항입니다.</p> + <table class="table_write"> + <caption>답글등록 - 제목, 내용, 공지신청 여부, 비밀글 여부, 첨부파일 추가로 구성</caption> + <colgroup> + <col style="width: 20%;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 글 제목, 제목 Bold여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.nttSj"/> </c:set> + <tr> + <th scope="col" class="must"><label for="nttSj">${title}</label></th> + <td class="left"> + <input name="nttSj" type="text" size="70" maxlength="70" title="${title} ${inputTxt}" value="RE: ${result.nttSj}" class="width100p inputText"> + <div><form:errors path="nttSj" cssClass="error" /></div> + </td> + </tr> + <!-- 글 내용 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.nttCn"/> </c:set> + <tr> + <th scope="col" class="must"><label for="nttCn">${title }</label></th> + <td class="nopd"> + <textarea id="nttCn" name="nttCn"> + <c:if test="${not empty boardMasterVO.bbsForm}">${boardMasterVO.bbsForm}</c:if> + </textarea> + </td> + </tr> + + <!-- 공지신청 여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.noticeAt"/> </c:set> + <tr> + <th scope="col"><label for="noticeAt">${title}</label></th> + <td class="left"> + <div class="check_wrap pt10 pl10"> + <input type="checkbox" id="noticeAt" name="noticeAt" value="Y"><label for="noticeAt"></label> + </div> + </td> + </tr> + <!-- 비밀글 여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.secretAt" /></c:set> + <tr> + <th scope="col"><label for="secretAt">${title}</label></th> + <td class="left" > + <div class="check_wrap pt10 pl10"> + <input type="checkbox" id="secretAt" name="secretAt" value="Y" <c:if test="${articleVO.secretAt eq 'Y'}">checked="checked"</c:if>><label for="secretAt"></label> + </div> + </td> + </tr> + <%-- <!-- 익명등록 여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.anonymousAt"/> </c:set> + <tr> + <th scope="col"><label for="anonymousAt">${title}</label></th> + <td class="left"> + <div class="check_wrap pt10 pl10"> + <input type="checkbox" id="anonymousAt" name="anonymousAt" value="Y"><label for="anonymousAt"><span></span></label> + </div> + </td> + </tr> --%> + <c:if test="${boardMasterVO.fileAtchPosblAt == 'Y'}"> + <!-- 첨부파일 추가 시작 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.atchFileAdd"/></c:set> + <tr> + <th scope="col"><label for="file_1">${title}</label> </th> + <td class="nopd" > + <input type="file" id="egovComFileUploader" name="file_1" title="<spring:message code="comCopBbs.articleVO.regist.atchFile"/>" multiple/><!-- 첨부파일 --> + <input type="hidden" id="atchFileId" name="atchFileId" value="" /> + <div id="egovComFileList" class="file_list_iv" style="display: none;"></div> + </td> + </tr> + <!-- 첨부파일 추가 끝 --> + </c:if> + + </tbody> + </table> + +</div> +<!-- 하단 버튼 --> +<div class="board_footer"> + <div class="bottom_wrap fr"> + <button type="button" class="btn_s" title="<spring:message code="button.create" /> <spring:message code="input.button" />" onclick="fn_egov_reply_article(document.forms[0]); return false;" ><spring:message code="button.create" /></button><!-- 등록 --> + <button type="button" class="btn_s" title="<spring:message code="button.list" /> <spring:message code="input.button" />" onclick="fn_egov_inqire_articlelist(); return false;" ><spring:message code="button.list" /></button><!-- 목록 --> + </div><div style="clear:both;"></div> +</div> + +<input name="pageIndex" type="hidden" value="${searchVO.pageIndex}"/> +<input name="searchKeyword" type="hidden" value="${searchVO.searchKeyword}"/> +<input type="hidden" name="bbsTyCode" value="${boardMasterVO.bbsTyCode}" /> +<input type="hidden" name="replyPosblAt" value="${boardMasterVO.replyPosblAt}" /> +<input type="hidden" name="fileAtchPosblAt" value="${boardMasterVO.fileAtchPosblAt}" /> +<input type="hidden" id="atchPosblFileNumber" name="atchPosblFileNumber" value="${boardMasterVO.atchPosblFileNumber}" /> +<input type="hidden" id="atchPosblFileSize" name="atchPosblFileSize" value="${boardMasterVO.atchPosblFileSize}" /> + +<input type="hidden" name="parnts" value="${result.parnts}" /> +<input type="hidden" name="sortOrdr" value="${result.sortOrdr}" /> +<input type="hidden" name="replyLc" value="${result.replyLc}" /> + +<input name="nttId" type="hidden" value="${result.nttId}"> +<input name="bbsId" type="hidden" value="${boardMasterVO.bbsId}"> +<input name="cmd" type="hidden" value="save"> +</form:form> +<!-- 첨부파일 업로드 가능화일 설정 Start..--> +<script type="text/javascript"> +$(function(){ + var atchPosblFileNumber = $('#atchPosblFileNumber').val(); + var atchPosblFileSize = $('#atchPosblFileSize').val(); + var options = { + fileListDivId : 'egovComFileList', + inputFileId : 'egovComFileUploader', + hiddenFileName : 'atchFileId', + txtAreaId : 'nttCn', + authorType : 'admin', + maxSize: atchPosblFileNumber, + fileMaxSize: atchPosblFileSize + } + $('#nttCn').initEditor(options); +}); + +</script> +<!-- 첨부파일 업로드 가능화일 설정 End.--> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageReply.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogList.jsp (revision 7) @@ -0,0 +1,164 @@ +<% + /** + * @Class Name : EgovBlogMasterList.jsp + * @Description : EgovBlogMasterList 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comCopBlog.blogMasterVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title><!-- 블로그 목록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery-1.12.4.min.js' />"></script> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.BlogMasterForm.searchCnd.focus(); +} + +/********************************************************* + * 페이징 처리 함수 + ******************************************************** */ +function fn_egov_select_linkPage(pageNo){ + document.BlogMasterForm.pageIndex.value = pageNo; + document.BlogMasterForm.action = "<c:url value='/cop/bbs/selectBlogMasterList.do'/>"; + document.BlogMasterForm.submit(); +} +/********************************************************* + * 조회 처리 함수 + ******************************************************** */ +function fn_egov_search_blog(){ + document.BlogMasterForm.pageIndex.value = 1; + document.BlogMasterForm.submit(); +} + +function fn_insert_Blog() { + document.BlogMasterForm.action = "<c:url value='/cop/bbs/insertBlogMasterView.do'/>"; + document.BlogMasterForm.submit(); +} + +function fn_userChk(userId) { + $.ajax({ + url :"<c:url value='/cop/bbs/selectChkBloguser.do'/>" + ,type: "POST" + ,dataType: 'json' + ,success : function(data){ + if(data['userChk'] == "EXIST") { + alert("블로그가 이미 생성되어 있습니다.\n하나의 계정으로 하나의 블로그만 생성 가능합니다.") + }else{ + fn_insert_Blog(); + } + } + ,error: function(){ + alert("장애가 발생했습니다. 관리자에게 문의 하세요."); + } + }); +} + +</script> +</head> +<body onload="fn_egov_init()"> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="BlogMasterForm" action="<c:url value='/cop/bbs/selectBlogList.do'/>" method="post" onSubmit="fn_egov_search_blog(); return false;"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1><!-- 블로그 목록 --> + <!-- 하단 버튼 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <select name="searchCnd" title="<spring:message code="title.searchCondition" /> <spring:message code="input.cSelect" />"> + <option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected="selected"</c:if> ><spring:message code="comCopBlog.blogMasterVO.list.blogNm" /></option><!-- 블로그명 --> + </select> + </li> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchWrd" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchWrd}"/>' maxlength="155" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /><!-- 조회 --> + <span class="btn_b"><a href="#" onClick="fn_userChk('<c:out value="${searchVO.frstRegisterId}"/>')" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span><!-- 등록 --> + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle}<spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 9%;"> + <col style="width: 40%;"> + <col style="width: 13%;"> + <col style="width: 13%;"> + <col style="width: 13%;"> + </colgroup> + <thead> + <tr> + <th><spring:message code="table.num" /></th><!-- 번호 --> + <th class="board_th_link"><spring:message code="comCopBlog.blogMasterVO.list.blogNm" /></th><!-- 블로그명 --> + <th><spring:message code="table.reger" /></th><!-- 작성자명 --> + <th><spring:message code="table.regdate" /></th><!-- 작성시각 --> + <th><spring:message code="comCopBlog.blogMasterVO.list.useAt" /></th><!-- 사용여부 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="5"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td class="left"><a href="<c:url value='/cop/bbs/selectArticleBlogList.do'/>?blogId=${resultInfo.blogId}&bbsId=${resultInfo.bbsId}"><c:out value='${fn:substring(resultInfo.blogNm, 0, 40)}'/></a></td> + <td><c:out value='${resultInfo.frstRegisterNm}'/></td> + <td><c:out value='${resultInfo.frstRegisterPnttm}'/></td> + <td><c:out value='${resultInfo.useAt}'/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_linkPage"/> + </ul> + </div> + + <!-- 등록버튼 --> + <!-- + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/cop/blog/insertBlogMasterView.do' />" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span> + </div> + --> + +</div> + +<input name="blogId" type="hidden" value=""> +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> +</form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterDetail.jsp (revision 7) @@ -0,0 +1,131 @@ +<% + /** + * @Class Name : EgovBBSMasterDetail.jsp + * @Description : EgovBBSMasterDetail 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<c:set var="pageTitle"><spring:message code="comCopBbs.boardMasterVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.detail" /></title><!-- 게시판 상세조회 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript"> +/* ******************************************************** + * 삭제처리 + ******************************************************** */ + function fn_egov_delete_bbs(bbsId){ + if(confirm("<spring:message code="common.delete.msg" />")){ + // Delete하기 위한 키값을 셋팅 + document.BBSMasterForm.bbsId.value = bbsId; + document.BBSMasterForm.action = "<c:url value='/cop/bbs/deleteBBSMaster.do'/>"; + document.BBSMasterForm.submit(); + } +} +</script> +</head> +<body> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="BBSMasterForm" action="<c:url value='/cop/bbs/updateBBSMasterView.do'/>" method="post"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.detail" /></h2><!-- 게시판 상세조회 --> + + <!-- 상세조회 --> + <table class="wTable" summary="<spring:message code="common.summary.inqire" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.detail" /></caption> + <colgroup> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 게시판명 --> + <tr> + <th><spring:message code="comCopBbs.boardMasterVO.detail.bbsNm" /></th> + <td colspan="3" class="left"><c:out value="${result.bbsNm}"/></td> + <th><spring:message code="comCopBbs.boardMasterVO.detail.bbsTyCode" /></th> + <td class="left"><c:out value="${result.bbsTyCodeNm}"/></td> + </tr> + <!-- 등록자, 등록일, 사용여부 --> + <tr> + <th><spring:message code="table.reger" /></th> + <td class="left"><c:out value="${result.frstRegisterNm}"/></td> + <th><spring:message code="table.regdate" /></th> + <td class="left"><c:out value="${result.frstRegisterPnttm}"/></td> + <th><spring:message code="comCopBbs.boardMasterVO.detail.useAt" /></th> + <td class="left"><c:out value="${result.useAt}"/></td> + </tr> + <!-- 답장가능여부, 파일첨부가능여부, 첨부가능파일숫자 --> + <tr> + <th><spring:message code="comCopBbs.boardMasterVO.detail.replyPosblAt" /></th> + <td class="left"><c:out value="${result.replyPosblAt}"/></td> + <th><spring:message code="comCopBbs.boardMasterVO.detail.fileAtchPosblAt" /></th> + <td class="left"><c:out value="${result.fileAtchPosblAt}"/></td> + <th><spring:message code="comCopBbs.boardMasterVO.detail.atchPosblFileNumber" /></th> + <td class="left"><c:out value="${result.atchPosblFileNumber}"/></td> + </tr> + <!-- 게시판 소개내용 --> + <tr> + <th><spring:message code="comCopBbs.boardMasterVO.detail.bbsIntrcn" /></th> + <td colspan="5" class="cnt"> + <c:out value="${fn:replace(result.bbsIntrcn , crlf , '<br/>')}" escapeXml="false" /> + </td> + </tr> + + <c:if test="${result.useAt == 'Y' }"> + <tr> + <th><spring:message code="comCopBbs.boardMasterVO.detail.bbsAdres" /></th> + <td colspan="5" class="cnt"> + <a href="<c:url value='/cop/bbs/selectArticleList.do?bbsId=${result.bbsId}' />">/cop/bbs/selectArticleList.do?bbsId=${result.bbsId }</a> + </td> + </tr> + </c:if> + <tr> + <th><spring:message code="comCopBbs.boardMasterVO.detail.option" /></th><!-- 추가선택사항 --> + <td colspan="5" class="cnt"> + <c:if test="${result.option == ''}"><spring:message code="comCopBbs.boardMasterVO.detail.option1" /></c:if><!-- 미선택 --> + <c:if test="${result.option == 'comment'}"><spring:message code="comCopBbs.boardMasterVO.detail.option2" /></c:if><!-- 댓글 --> + <c:if test="${result.option == 'stsfdg'}"><spring:message code="comCopBbs.boardMasterVO.detail.option3" /></c:if><!-- 만족도조사 --> + </td> + </tr> + </tbody> + </table> + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="title.update" /> <spring:message code="input.button" />" /><!-- 수정 --> + <span class="btn_s"><a href="<c:url value='/cop/bbs/selectBBSMasterInfs.do' /><c:if test='${result.cmmntyId != null}'>?cmmntyId=${result.cmmntyId}</c:if>" title="<spring:message code="title.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div><div style="clear:both;"></div> + +</div> + +<input name="cmmntyId" type="hidden" value="<c:out value="${result.cmmntyId}" />"> +<input name="bbsId" type="hidden" value="<c:out value="${result.bbsId}" />"> +<input name="cmd" type="hidden" value=""> +</form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleDetail.jsp (revision 7) @@ -0,0 +1,244 @@ +<% + /** + * @Class Name : EgovArticleDetail.jsp + * @Description : EgovArticleDetail 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<c:set var="pageTitle"><spring:message code="comCopBbs.articleVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.detail" /></title><!-- 게시글 상세조회 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript"> +/* ******************************************************** + * 삭제처리 + ******************************************************** */ + function fn_egov_delete_article(form){ + if(confirm("<spring:message code="common.delete.msg" />")){ + // Delete하기 위한 키값을 셋팅 + form.submit(); + } +} + +/* ******************************************************** + * 답글작성 + ******************************************************** */ + function fn_egov_reply_article() { + document.articleForm.action = "<c:url value='/cop/bbs/replyArticleView.do'/>"; + document.articleForm.submit(); + } + +</script> +<!-- 댓글 작성 스크립트 --> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="articleCommentVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> +function fn_egov_insert_commentList() { + + var form = document.getElementById("articleCommentVO"); + + if (!validateArticleCommentVO(form)){ + return; + } + if (confirm('<spring:message code="common.regist.msg" />')) { + form.submit(); + } +} + +function fn_egov_updt_commentList() { + + var form = document.getElementById("articleCommentVO"); + + if (!validateArticleCommentVO(form)){ + return; + } + + if (confirm('<spring:message code="common.update.msg" />')) { + form.modified.value = "true"; + form.action = "<c:url value='/cop/cmt/updateArticleComment.do'/>"; + form.submit(); + } +} + +function fn_egov_selectCommentForupdt(commentNo) { + + var form = document.getElementById("articleCommentVO"); + + form.commentNo.value = commentNo; + form.action = "<c:url value='/cop/bbs/selectArticleDetail.do'/>"; + form.submit(); +} + +function fn_egov_deleteCommentList(commentNo) { + + var form = document.getElementById("articleCommentVO"); + + if (confirm('<spring:message code="common.delete.msg" />')) { + form.modified.value = "true"; + form.commentNo.value = commentNo; + form.action = "<c:url value='/cop/cmt/deleteArticleComment.do'/>"; + form.submit(); + } +} + +/* 댓글페이징 */ +function fn_egov_select_commentList(pageNo) { + + var form = document.getElementById("articleCommentVO"); + + form.subPageIndex.value = pageNo; + form.commentNo.value = ''; + form.action = "<c:url value='/cop/bbs/selectArticleDetail.do'/>"; + form.submit(); +} + +</script> + +<!-- 2009.06.29 : 2단계 기능 추가 --> +<c:if test="${useSatisfaction == 'true'}"> +<c:import url="/cop/stf/selectSatisfactionList.do" charEncoding="utf-8"> + <c:param name="type" value="head" /> +</c:import> +</c:if> + +</head> +<body> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.detail" /></h2><!-- 게시글 상세조회 --> + + <!-- 상세조회 --> + <table class="wTable" summary="<spring:message code="common.summary.inqire" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.detail" /></caption> + <colgroup> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 글 제목 --> + <tr> + <th><spring:message code="comCopBbs.articleVO.detail.nttSj" /></th> + <td colspan="5" class="left"><c:out value="${result.nttSj}"/></td> + </tr> + <!-- 작성자, 작성시각, 조회수 --> + <tr> + <th><spring:message code="table.reger" /></th> + <td class="left"><c:out value="${result.frstRegisterNm}"/></td> + <th><spring:message code="table.regdate" /></th> + <td class="left"><c:out value="${result.frstRegisterPnttm}"/></td> + <th><spring:message code="comCopBbs.articleVO.detail.inqireCo" /></th> + <td class="left"><c:out value="${result.inqireCo}"/></td> + </tr> + <!-- 글 내용 --> + <tr> + <th class="vtop"><spring:message code="comCopBbs.articleVO.detail.nttCn" /></th> + <td colspan="5" class="cnt"> + <c:out value="${fn:replace(result.nttCn , crlf , '<br/>')}" escapeXml="false" /> + </td> + </tr> + <!-- 게시일자 --> + <tr> + <th class="vtop"><spring:message code="comCopBbs.articleVO.detail.ntceDe" /></th> + <td colspan="5" class="left"> + <c:out value="${result.ntceBgnde} ~ ${result.ntceEndde}" escapeXml="false" /> + </td> + </tr> + <!-- 첨부파일 --> + <c:if test="${not empty result.atchFileId}"> + <tr> + <th><spring:message code="comCopBbs.articleVO.detail.atchFile" /></th> + <td colspan="5"> + <c:import url="/cmm/fms/selectFileInfs.do" charEncoding="utf-8"> + <c:param name="param_atchFileId" value="${result.atchFileId}" /> + </c:import> + </td> + </tr> + </c:if> + + </tbody> + </table> + <!-- 하단 버튼 --> + <div class="btn"> + <c:if test="${result.ntcrId != 'anonymous'}"> + <!-- 익명글 수정/삭제 불가 --> + <form name="articleForm" action="<c:url value='/cop/bbs/updateArticleView.do'/>" method="post" style="float:left;"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="title.update" /> <spring:message code="input.button" />" /><!-- 수정 --> + <input type="hidden" name="parnts" value="<c:out value='${result.parnts}'/>" > + <input type="hidden" name="sortOrdr" value="<c:out value='${result.sortOrdr}'/>" > + <input type="hidden" name="replyLc" value="<c:out value='${result.replyLc}'/>" > + <input type="hidden" name="nttSj" value="<c:out value='${result.nttSj}'/>" > + <input name="nttId" type="hidden" value="<c:out value="${result.nttId}" />"> + <input name="bbsId" type="hidden" value="<c:out value="${boardMasterVO.bbsId}" />"> + </form> + <form name="formDelete" action="<c:url value='/cop/bbs/deleteArticle.do'/>" method="post" style="float:left; margin:0 0 0 3px;"> + <input type="submit" class="s_submit" value="<spring:message code="button.delete" />" title="<spring:message code="button.delete" /> <spring:message code="input.button" />" onclick="fn_egov_delete_article(this.form); return false;"><!-- 삭제 --> + <input name="nttId" type="hidden" value="<c:out value="${result.nttId}" />"> + <input name="bbsId" type="hidden" value="<c:out value="${boardMasterVO.bbsId}" />"> + </form> + </c:if> + <c:if test="${boardMasterVO.replyPosblAt == 'Y' }"> + <form name="formReply" action="<c:url value='/cop/bbs/replyArticleView.do'/>" method="post" style="float:left; margin:0 0 0 3px;"> + <input type="submit" class="s_submit" value="<spring:message code="button.reply" />"><!-- 답글 --> + <input name="nttId" type="hidden" value="<c:out value="${result.nttId}" />"> + <input name="bbsId" type="hidden" value="<c:out value="${boardMasterVO.bbsId}" />"> + </form> + </c:if> + <form name="formList" action="<c:url value='/cop/bbs/selectArticleList.do'/>" method="post" style="float:left; margin:0 0 0 3px;"> + <input type="submit" class="s_submit" value="<spring:message code="button.list" />"><!-- 목록 --> + <input name="bbsId" type="hidden" value="<c:out value="${boardMasterVO.bbsId}" />"> + </form> + <form name="formScrap" action="<c:url value='/cop/scp/insertArticleScrapView.do'/>" method="post" style="float:left; margin:0 0 0 3px;"> + <input type="submit" class="s_submit" value="<spring:message code="button.scrap" />"><!-- 스크랩 --> + <input name="nttId" type="hidden" value="<c:out value="${result.nttId}" />"> + <input name="bbsId" type="hidden" value="<c:out value="${boardMasterVO.bbsId}" />"> + </form> + + </div><div style="clear:both;"></div> + +</div> + +<!-- 댓글 --> +<c:if test="${useComment == 'true'}"> + <c:import url="/cop/cmt/selectArticleCommentList.do" charEncoding="utf-8"> + </c:import> +</c:if> + +<c:if test="${useSatisfaction == 'true'}"> + <form name="frm" method="post" action=""> + <input name="nttId" type="hidden" value="<c:out value="${result.nttId}" />"> + <input name="bbsId" type="hidden" value="<c:out value="${boardMasterVO.bbsId}" />"> + <c:import url="/cop/stf${prefix}/selectSatisfactionList.do" charEncoding="utf-8"> + <c:param name="type" value="body" /> + </c:import> + </form> +</c:if> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogDetail.jsp (revision 7) @@ -0,0 +1,217 @@ +<% + /** + * @Class Name : EgovArticleDetail.jsp + * @Description : EgovArticleDetail 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + 2017.09.06 양희훈 표준프레임워크 v3.7 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<c:set var="pageTitle"><spring:message code="comCopBbs.articleVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.detail" /></title><!-- 블로그 메인 내용상세 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript"> +/* ******************************************************** + * 삭제처리 + ******************************************************** */ + function fn_egov_delete_article(form){ + if(confirm("<spring:message code="common.delete.msg" />")){ + // Delete하기 위한 키값을 셋팅 + form.submit(); + } +} + +/* ******************************************************** + * 답글작성 + ******************************************************** */ + function fn_egov_reply_article() { + document.articleForm.action = "<c:url value='/cop/bbs/replyArticleView.do'/>"; + document.articleForm.submit(); + } + +</script> +<!-- 댓글 작성 스크립트 --> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="articleCommentVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> +function fn_egov_insert_commentList() { + + var form = document.getElementById("articleCommentVO"); + + if (!validateArticleCommentVO(form)){ + return; + } + if (confirm('<spring:message code="common.regist.msg" />')) { + form.submit(); + } +} + +function fn_egov_updt_commentList() { + + var form = document.getElementById("articleCommentVO"); + + if (!validateArticleCommentVO(form)){ + return; + } + + if (confirm('<spring:message code="common.update.msg" />')) { + form.modified.value = "true"; + form.action = "<c:url value='/cop/cmt/updateArticleComment.do'/>"; + form.submit(); + } +} + +function fn_egov_selectCommentForupdt(commentNo) { + + var form = document.getElementById("articleCommentVO"); + + form.commentNo.value = commentNo; + form.action = "<c:url value='/cop/bbs/selectArticleDetail.do'/>"; + form.submit(); +} + +function fn_egov_deleteCommentList(commentNo) { + + var form = document.getElementById("articleCommentVO"); + + if (confirm('<spring:message code="common.delete.msg" />')) { + form.modified.value = "true"; + form.commentNo.value = commentNo; + form.action = "<c:url value='/cop/cmt/deleteArticleComment.do'/>"; + form.submit(); + } +} + +/* 댓글페이징 */ +function fn_egov_select_commentList(pageNo) { + + var form = document.getElementById("articleCommentVO"); + + form.subPageIndex.value = pageNo; + form.commentNo.value = ''; + form.action = "<c:url value='/cop/bbs/selectArticleDetail.do'/>"; + form.submit(); +} +</script> +</head> +<body> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <%-- <h2>${pageTitle} <spring:message code="title.detail" /></h2> --%> + + <!-- 상세조회 --> + <table class="" summary="<spring:message code="common.summary.inqire" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.detail" /></caption> + <colgroup> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 글 제목 --> + <div class="blog_title"> + <h5><c:out value="${result.nttSj}"/></h5> + <span><a href="">맛스타그램</a></span> + <p>2017.08.22 10:23</p> + </div> + <!-- 글 내용 --> + <c:if test="${result.nttSj == null}"> + <tr> + <td colspan="5"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <tr> + <%-- <th class="vtop"><spring:message code="comCopBbs.articleVO.detail.nttCn" /></th> --%> + <td colspan="5" class="cnt"> + <c:out value="${fn:replace(result.nttCn , crlf , '<br/>')}" escapeXml="false" /> + </td> + </tr> + <!-- 첨부파일 --> + <c:if test="${not empty result.atchFileId}"> + <tr> + <th><spring:message code="comCopBbs.articleVO.detail.atchFile" /></th> + <td colspan="5"> + <c:import url="/cmm/fms/selectFileInfs.do" charEncoding="utf-8"> + <c:param name="param_atchFileId" value="${result.atchFileId}" /> + </c:import> + </td> + </tr> + </c:if> + + </tbody> + </table> + <!-- 하단 버튼 --> + <div class="btn"> + <c:if test="${result.ntcrId != 'anonymous'}"> + <!-- 익명글 수정/삭제 불가 --> + <form name="articleForm" action="<c:url value='/cop/bbs/updateArticleView.do'/>" method="post" style="float:left;"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="title.update" /> <spring:message code="input.button" />" /><!-- 수정 --> + <input type="hidden" name="parnts" value="<c:out value='${result.parnts}'/>" > + <input type="hidden" name="sortOrdr" value="<c:out value='${result.sortOrdr}'/>" > + <input type="hidden" name="replyLc" value="<c:out value='${result.replyLc}'/>" > + <input type="hidden" name="nttSj" value="<c:out value='${result.nttSj}'/>" > + <input name="nttId" type="hidden" value="<c:out value="${result.nttId}" />"> + <input name="bbsId" type="hidden" value="<c:out value="${boardMasterVO.bbsId}" />"> + <input name="blogAt" type="hidden" value="chkBlog"> + </form> + <form name="formDelete" action="<c:url value='/cop/bbs/deleteArticle.do'/>" method="post" style="float:left; margin:0 0 0 3px;"> + <input type="submit" class="s_submit" value="<spring:message code="button.delete" />" title="<spring:message code="button.delete" /> <spring:message code="input.button" />" onclick="fn_egov_delete_article(this.form); return false;"><!-- 삭제 --> + <input name="nttId" type="hidden" value="<c:out value="${result.nttId}" />"> + <input name="bbsId" type="hidden" value="<c:out value="${boardMasterVO.bbsId}" />"> + <input name="blogAt" type="hidden" value="chkBlog"> + </form> + </c:if> + <c:if test="${boardMasterVO.replyPosblAt == 'Y' }"> + <form name="formReply" action="<c:url value='/cop/bbs/replyArticleView.do'/>" method="post" style="float:left; margin:0 0 0 3px;"> + <input type="submit" class="s_submit" value="<spring:message code="button.reply" />"><!-- 답글 --> + <input name="nttId" type="hidden" value="<c:out value="${result.nttId}" />"> + <input name="bbsId" type="hidden" value="<c:out value="${boardMasterVO.bbsId}" />"> + </form> + </c:if> + <form name="formList" action="<c:url value='/cop/bbs/selectArticleBlogList.do'/>" method="post" style="float:left; margin:0 0 0 3px;"> + <input type="submit" class="s_submit" value="<spring:message code="button.list" />"><!-- 목록 --> + <input name="bbsId" type="hidden" value="<c:out value="${boardMasterVO.bbsId}" />"> + <input name="nttId" type="hidden" value="<c:out value="${result.nttId}" />"> + </form> + <form name="formScrap" action="<c:url value='/cop/scp/insertArticleScrapView.do'/>" method="post" style="float:left; margin:0 0 0 3px;"> + <input type="submit" class="s_submit" value="<spring:message code="button.scrap" />"><!-- 스크랩 --> + <input name="nttId" type="hidden" value="<c:out value="${result.nttId}" />"> + <input name="bbsId" type="hidden" value="<c:out value="${boardMasterVO.bbsId}" />"> + </form> + + </div><div style="clear:both;"></div> + +</div> + +<!-- 댓글 --> +<c:import url="/cop/cmt/selectArticleCommentList.do" charEncoding="utf-8"> +</c:import> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogRegist.jsp (revision 7) @@ -0,0 +1,137 @@ +<% + /** + * @Class Name : EgovBlogMasterRegist.jsp + * @Description : EgovBlogMasterRegist 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comCopBlog.blogMasterVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="blogMasterVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + + // 첫 입력란에 포커스 + document.getElementById("blogMasterVO").blogNm.focus(); + +} +/* ******************************************************** + * 저장처리화면 + ******************************************************** */ +function fn_egov_regist_blog(form){ + //input item Client-Side validate + if (!validateBlogMasterVO(form)) { + return false; + } else { + if(confirm("<spring:message code="common.regist.msg" />")){ + form.submit(); + } + } +} + +/* ******************************************************** +* 서버 처리 후 메세지 화면에 보여주기 +******************************************************** */ +function fncShowMessg(){ + if("<c:out value='${message}'/>" != ''){ + alert("<c:out value='${message}'/>"); + } +} +</script> + +</head> +<body onLoad="fn_egov_init(); fncShowMessg();"> + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form:form commandName="blogMasterVO" action="${pageContext.request.contextPath}/cop/bbs/insertBlogMaster.do" method="post" onSubmit="fn_egov_regist_blog(document.forms[0]); return false;"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle } <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 20%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 블로그명 --> + <c:set var="title"><spring:message code="comCopBlog.blogMasterVO.regist.blogNm"/> </c:set> + <tr> + <th><label for="blogNm">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="blogNm" title="${title} ${inputTxt}" size="70" maxlength="70" /> + <div><form:errors path="blogNm" cssClass="error" /></div> + </td> + </tr> + <!-- 블로그 소개내용 --> + <c:set var="title"><spring:message code="comCopBlog.blogMasterVO.regist.blogIntrcn"/> </c:set> + <tr> + <th><label for="blogIntrcn">${title } <span class="pilsu">*</span></label></th> + <td class="nopd"> + <form:textarea path="blogIntrcn" title="${title} ${inputTxt}" cols="300" rows="20" /> + <div><form:errors path="blogIntrcn" cssClass="error" /></div> + </td> + </tr> + + <!-- 사용여부 --> + <c:set var="title"><spring:message code="comCopBlog.blogMasterVO.regist.useAt"/> </c:set> + <tr> + <th><label for="useAt">${title } <span class="pilsu">*</span></label></th> + <td class="left"> + <form:select path="useAt" title="${title} ${inputTxt }" cssClass="txt"> + <form:option value="Y" label="예" /> + <form:option value='N'>아니오</form:option> + </form:select> + <div><form:errors path="useAt" cssClass="error" /></div> + </td> + </tr> + + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /> + <span class="btn_s"><a href="<c:url value='/cop/bbs/selectBlogList.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + </div><div style="clear:both;"></div> + +</div> + +<input name="cmd" type="hidden" value="<c:out value='save'/>"> +</form:form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageDetail.jsp (revision 7) @@ -0,0 +1,266 @@ +<% + /** + * @Class Name : EgovArticleDetail.jsp + * @Description : EgovArticleDetail 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<c:set var="pageTitle"><spring:message code="comCopBbs.articleVO.title"/></c:set> +<c:set var="reBbsId" value="${fn:replace(boardMasterVO.bbsId, \"BBSMSTR_\", \"\")}"/> +<title>${pageTitle} <spring:message code="title.detail" /></title><!-- 게시글 상세조회 --> +<!-- 에디터 관련 추가 CSS, Javascript 추가 --> +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/editor/css/froala_editor.pkgd.min.css'><c:param name="dt" value="${nowDate}"/></c:url>"> +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/editor/css/froala_style.min.css'><c:param name="dt" value="${nowDate}"/></c:url>"> +<!-- 에디터 관련 추가 CSS, Javascript 종료 --> +<script type="text/javascript"> +/* ******************************************************** + * 삭제처리 + ******************************************************** */ + function fn_egov_delete_article(form){ + if(confirm("<spring:message code="common.delete.msg" />")){ + // Delete하기 위한 키값을 셋팅 + form.submit(); + } +} + +/* ******************************************************** + * 답글작성 + ******************************************************** */ + function fn_egov_reply_article() { + document.articleForm.action = "<c:url value='/cop/bbs/manage/${reBbsId}/replyArticleView.do'/>"; + document.articleForm.submit(); + } + +</script> +<!-- 댓글 작성 스크립트 --> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="articleCommentVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> +function fn_egov_insert_commentList() { + + var form = document.getElementById("articleCommentVO"); + // 개인정보입력 체크. + if (!fnPrivacyCheck(form.commentCn.value)) { // 내용 + return false; + } + if (!validateArticleCommentVO(form)){ + return; + } + if (confirm('<spring:message code="common.regist.msg" />')) { + form.submit(); + } +} + +function fn_egov_updt_commentList() { + + var form = document.getElementById("articleCommentVO"); + // 개인정보입력 체크. + if (!fnPrivacyCheck(form.commentCn.value)) { // 내용 + return false; + } + if (!validateArticleCommentVO(form)){ + return; + } + + if (confirm('<spring:message code="common.update.msg" />')) { + form.modified.value = "true"; + form.action = "<c:url value='/cop/cmt/manage/${reBbsId}/updateArticleComment.do#cmtArea'/>"; + form.submit(); + } +} + +function fn_egov_selectCommentForupdt(commentNo) { + + var form = document.getElementById("articleCommentVO"); + + + form.commentNo.value = commentNo; + form.action = "<c:url value='/cop/bbs/manage/${reBbsId}/selectArticleDetail.do#cmtArea'/>"; + form.submit(); +} + +function fn_egov_deleteCommentList(commentNo) { + + var form = document.getElementById("articleCommentVO"); + + if (confirm('<spring:message code="common.delete.msg" />')) { + form.modified.value = "true"; + form.commentNo.value = commentNo; + form.action = "<c:url value='/cop/cmt/manage/${reBbsId}/deleteArticleComment.do#cmtArea'/>"; + form.submit(); + } +} + +/* 댓글페이징 */ +function fn_egov_select_commentList(pageNo) { + + var form = document.getElementById("articleCommentVO"); + form.subPageIndex.value = pageNo; + form.commentNo.value = ''; + form.action = "<c:url value='/cop/bbs/manage/${reBbsId}/selectArticleDetail.do#cmtArea'/>"; + form.submit(); +} + +</script> + +<!-- 2009.06.29 : 2단계 기능 추가 --> +<c:if test="${useSatisfaction == 'true'}"> +<c:import url="/cop/stf${prefix}/manage/${reBbsId}/selectSatisfactionList.do" charEncoding="utf-8"> + <c:param name="type" value="head" /> +</c:import> +</c:if> + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="board_header"> + <!-- 타이틀 --> + <h3>${boardMasterVO.bbsNm}</h3><!-- 게시글 상세조회 --> +</div> +<div class="board_body"> + <!-- 상세조회 --> + <table class="table_view"> + <caption>게시글 상세 - 제목, 작성자, 작성시각, 조회수, 글 내용, 첨부파일로 구성</caption> + <colgroup> + <col class="width200"> + <col> + <col class="width200"> + <col> + <col class="width200"> + <col> + </colgroup> + <tbody> + <!-- 글 제목 --> + <tr> + <th scope="col"><spring:message code="comCopBbs.articleVO.detail.nttSj" /></th> + <td colspan="5">${result.nttSj}</td> + </tr> + <!-- 작성자, 작성시각, 조회수 --> + <tr> + <th scope="col"><spring:message code="table.reger" /></th> + <td>${result.frstRegisterNm}</td> + <th scope="col"><spring:message code="table.regdate" /></th> + <td>${result.frstRegisterPnttm}</td> + <th scope="col"><spring:message code="comCopBbs.articleVO.detail.inqireCo" /></th> + <td>${result.inqireCo}</td> + </tr> + <!-- 글 내용 --> + <tr> + <th scope="col"><spring:message code="comCopBbs.articleVO.detail.nttCn" /></th> + + <td colspan="5" > + <div class="fr-view"> + ${fn:replace(result.nttCn , crlf , '<br/>')} + </div> + </td> + </tr> + <!-- 첨부파일 --> + <c:if test="${not empty result.atchFileId}"> + <tr> + <th scope="col"><spring:message code="comCopBbs.articleVO.detail.atchFile" /></th> + <td class="nopd ml_filelist" colspan="5"> + <c:import url="/editor/fileListView.do" charEncoding="utf-8"> + <c:param name="authorType" value="admin"/> + <c:param name="fileId" value="${result.atchFileId}" /> + <c:param name="displayType" value="detail" /> + </c:import> + </td> + </tr> + </c:if> + + </tbody> + </table> +<!-- 댓글 --> +<c:if test="${useComment == 'true'}"> + <c:import url="/cop/cmt/manage/${reBbsId}/selectArticleCommentList.do" charEncoding="utf-8"> + </c:import> +</c:if> +<!-- 만족도조사 --> +<c:if test="${useSatisfaction == 'true'}"> + <form name="frm" method="post" action="" class="heightauto"> + <input name="nttId" type="hidden" value="${result.nttId}"> + <input name="bbsId" type="hidden" value="${boardMasterVO.bbsId}"> + <input name="pageIndex" type="hidden" value="${searchVO.pageIndex}"> + <input name="searchCondition" type="hidden" value="${searchVO.searchCondition}"> + <input name="searchKeyword" type="hidden" value="${searchVO.searchKeyword}"> + <c:import url="/cop/stf${prefix}/manage/${reBbsId}/selectSatisfactionList.do" charEncoding="utf-8"> + <c:param name="type" value="body" /> + </c:import> + </form> +</c:if> + +</div> +<div class="board_footer"> + <!-- 하단 버튼 --> + <div class="bottom_wrap fl"> + <form name="formList" action="<c:url value='/cop/bbs/manage/${reBbsId}/selectArticleList.do'/>" method="post" style="float:left; margin:0 0 0 3px;"> + <button class="btn_s" title="<spring:message code="title.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></button><!-- 목록 --> + <input name="bbsId" type="hidden" value="${boardMasterVO.bbsId}" > + <input name="pageIndex" type="hidden" value="${searchVO.pageIndex}" /> + <input name="searchKeyword" type="hidden" value="${searchVO.searchKeyword}" /> + <input name="searchCondition" type="hidden" value="${searchVO.searchCondition}" /> + </form> + </div> + <div class="bottom_wrap fr"> + <c:if test="${boardMasterVO.replyPosblAt == 'Y' }"> + <form name="formReply" action="<c:url value='/cop/bbs/manage/${reBbsId}/replyArticleView.do'/>" method="post" style="float:left;"> + <button class="btn_s" title="<spring:message code="title.list" /> <spring:message code="input.button" />"><spring:message code="button.reply" /></button><!-- 답글 --> + <input name="nttId" type="hidden" value="${result.nttId}" > + <input name="bbsId" type="hidden" value="${boardMasterVO.bbsId}"> + <input name="pageIndex" type="hidden" value="${searchVO.pageIndex}" /> + <input name="searchKeyword" type="hidden" value="${searchVO.searchKeyword}" /> + <input name="searchCondition" type="hidden" value="${searchVO.searchCondition}" /> + </form> + </c:if> + <c:if test="${result.ntcrId != 'anonymous'}"> + <form name="formDelete" action="<c:url value='/cop/bbs/manage/${reBbsId}/deleteArticle.do'/>" method="post" style="float:left; margin:0 0 0 3px;"> + <button class="btn_s" title="<spring:message code="title.delete" /> <spring:message code="input.button" />" onclick="fn_egov_delete_article(this.form); return false;"><spring:message code="button.delete" /></button><!-- 삭제 --> + <input name="nttId" type="hidden" value="${result.nttId}" > + <input name="bbsId" type="hidden" value="${boardMasterVO.bbsId}" > + <input name="pageIndex" type="hidden" value="${searchVO.pageIndex}" /> + <input name="searchKeyword" type="hidden" value="${searchVO.searchKeyword}" /> + <input name="searchCondition" type="hidden" value="${searchVO.searchCondition}" /> + </form> + <!-- 익명글 수정/삭제 불가 --> + <form name="articleForm" action="<c:url value='/cop/bbs/manage/${reBbsId}/updateArticleView.do'/>" method="post" style="float:left; margin:0 0 0 3px;"> + <button class="btn_s" title="<spring:message code="title.update" /> <spring:message code="input.button" />" ><spring:message code="button.update" /></button><!-- 수정 --> + <input type="hidden" name="parnts" value="${result.parnts}" > + <input type="hidden" name="sortOrdr" value="${result.sortOrdr}" > + <input type="hidden" name="replyLc" value="${result.replyLc}" > + <input type="hidden" name="nttSj" value="${result.nttSj}" > + <input name="nttId" type="hidden" value="${result.nttId}"> + <input name="bbsId" type="hidden" value="${boardMasterVO.bbsId}" > + <input name="pageIndex" type="hidden" value="${searchVO.pageIndex}" /> + <input name="searchKeyword" type="hidden" value="${searchVO.searchKeyword}" /> + <input name="searchCondition" type="hidden" value="${searchVO.searchCondition}" /> + </form> + </c:if> + <%-- <form name="formScrap" action="<c:url value='/cop/scp/manage/${reBbsId}/insertArticleScrapView.do'/>" method="post" style="float:left; margin:0 0 0 3px;"> + <button class="btn_s" title="<spring:message code="button.scrap" />"><spring:message code="button.scrap" /></button><!-- 스크랩 --> + <input name="nttId" type="hidden" value="${result.nttId}" > + <input name="bbsId" type="hidden" value="${boardMasterVO.bbsId}" > + <input name="pageIndex" type="hidden" value="${searchVO.pageIndex}" /> + <input name="searchKeyword" type="hidden" value="${searchVO.searchKeyword}" /> + <input name="searchCondition" type="hidden" value="${searchVO.searchCondition}" /> + </form> --%> + + <div style="clear:both;"></div> + </div> +</div> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogListManager.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogListManager.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogListManager.jsp (revision 7) @@ -0,0 +1,132 @@ +<% + /** + * @Class Name : EgovBlogMasterList.jsp + * @Description : EgovBlogMasterList 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comCopBlog.blogMasterVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title><!-- 개인블로그 관리 목록--> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery-1.12.4.min.js' />"></script> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.BlogMasterForm.searchCnd.focus(); +} + +/********************************************************* + * 페이징 처리 함수 + ******************************************************** */ +function fn_egov_select_linkPage(pageNo){ + document.BlogMasterForm.pageIndex.value = pageNo; + document.BlogMasterForm.action = "<c:url value='/cop/bbs/selectBlogMasterList.do'/>"; + document.BlogMasterForm.submit(); +} +/********************************************************* + * 조회 처리 함수 + ******************************************************** */ +function fn_egov_search_blog(){ + document.BlogMasterForm.pageIndex.value = 1; + document.BlogMasterForm.submit(); +} + +</script> +</head> +<body> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="BlogMasterForm" action="<c:url value='/cop/bbs/selectBlogListManager.do' />" method="post" onSubmit="fn_egov_search_blog(); return false;"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1><!-- 개인블로그 관리 목록--> + <!-- 하단 버튼 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <select name="searchCnd" title="<spring:message code="title.searchCondition" /> <spring:message code="input.cSelect" />"> + <option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected="selected"</c:if> ><spring:message code="comCopBlog.blogMasterVO.list.blogNm" /></option><!-- 블로그명 --> + </select> + </li> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchWrd" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchWrd}"/>' maxlength="155" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /><!-- 조회 --> + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle}<spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 9%;"> + <col style="width: 40%;"> + <col style="width: 13%;"> + <col style="width: 13%;"> + <col style="width: 13%;"> + </colgroup> + <thead> + <tr> + <th><spring:message code="table.num" /></th><!-- 번호 --> + <th class="board_th_link"><spring:message code="comCopBlog.blogMasterVO.list.blogNm" /></th><!-- 블로그명 --> + <th><spring:message code="table.reger" /></th><!-- 작성자명 --> + <th><spring:message code="table.regdate" /></th><!-- 작성시각 --> + <th><spring:message code="comCopBlog.blogMasterVO.list.useAt" /></th><!-- 사용여부 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="5"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td class="left"><a href="<c:url value='/cop/bbs/selectBBSMasterDetail.do'/>?bbsId=${resultInfo.bbsId}&blogId=${resultInfo.blogId}" return false;"><c:out value='${fn:substring(resultInfo.bbsNm, 0, 40)}'/></a></td> + <td><c:out value='${resultInfo.frstRegisterNm}'/></td> + <td><c:out value='${resultInfo.frstRegisterPnttm}'/></td> + <td><c:out value='${resultInfo.useAt}'/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_linkPage"/> + </ul> + </div> +</div> + +<input name="blogId" type="hidden" value="<c:out value='${searchVO.blogId}'/>"> +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> +</form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogListManager.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovGuestArticleList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovGuestArticleList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovGuestArticleList.jsp (revision 7) @@ -0,0 +1,185 @@ +<% + /** + * @Class Name : EgovGuestArticleList.jsp + * @Description : EgovGuestArticleList 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<c:set var="pageTitle"><spring:message code="comCopBbs.articleVO.guest.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.detail" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript"> +/* ******************************************************** + * 삭제처리 + ******************************************************** */ + function fn_egov_delete_guest(nttId){ + if(confirm("<spring:message code="common.delete.msg" />")){ + // Delete하기 위한 키값을 셋팅 + document.articleForm.nttId.value = nttId; + document.articleForm.action = "<c:url value='/cop/bbs/deleteGuestArticle.do'/>"; + document.articleForm.submit(); + } +} + /* ******************************************************** + * 등록처리 + ******************************************************** */ + function fn_egov_insert_guest(form) { + if (!validateArticleVO(form)){ + return; + } + if (confirm('<spring:message code="common.regist.msg" />')) { + form.submit(); + } + } + /* ******************************************************** + * 수정처리 + ******************************************************** */ + function fn_egov_updt_guest(form) { + if (!validateArticleVO(form)){ + return; + } + + if (confirm('<spring:message code="common.update.msg" />')) { + + form.action = "<c:url value='/cop/bbs/updateGuestArticle.do'/>"; + form.submit(); + } + } +/* ******************************************************** + * 수정전 처리 + ******************************************************** */ + function fn_egov_selectGuestForupdt(nttId) { + document.articleForm.nttId.value = nttId; + document.articleForm.action = "<c:url value='/cop/bbs/updateGuestArticleView.do'/>"; + document.articleForm.submit(); + } + + +/* ******************************************************** + * 페이징 처리 + ******************************************************** */ +function fn_egov_select_guestList(pageNo) { + document.articleForm.pageIndex.value = pageNo; + document.articleForm.nttId.value = 0; + document.articleForm.action = "<c:url value='/cop/bbs/selectGuestArticleList.do'/>"; + document.articleForm.submit(); +} +</script> +<!-- 댓글 작성 스크립트 --> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="articleVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + +</script> +</head> +<body> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<!-- 방명록 리스트 출력 --> +<form name="articleForm" action="<c:url value='/cop/bbs/updateGuestArticleView.do'/>" method="post"> +<div class="board"> +<h2>${pageTitle}</h2> +<div class="reply"> + <ul> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <li> + <div class="top"> + <strong><c:out value="${result.frstRegisterNm}" /></strong> + <span class="bar">|</span> + <span class="date"><c:out value="${result.frstRegisterPnttm}" /></span> + </div> + <p class="txt"> + <c:out value="${fn:replace(result.nttCn , crlf , '<br/>')}" escapeXml="false" /> + </p> + <div class="bottom"> + <c:if test="${result.frstRegisterId == sessionUniqId}"> + <span class="btn_s"><a href="javascript:fn_egov_selectGuestForupdt(<c:out value="${result.nttId}"/>)" title="<spring:message code="button.update" /> <spring:message code="input.button" />"><spring:message code="button.update" /> </a></span>&nbsp; + <span class="btn_s"><a href="javascript:fn_egov_delete_guest(<c:out value="${result.nttId}"/>)" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="button.delete" /></a></span> + </c:if> + </div> + </li> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <li> + <p class="txt"><spring:message code="common.noguest.msg" /></p> + </li> + </c:if> + </ul> +</div> + +<!-- 방명록 페이징 --> +<div class="paging"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_guestList"/> + </ul> +</div> + +</div> + +<input name="pageIndex" type="hidden" value="<c:out value='${articleVO.pageIndex}'/>"> +<input name="nttId" type="hidden" value=""> +<input name="bbsId" type="hidden" value="<c:out value='${boardMasterVO.bbsId}'/>"> +</form> + +<!-- 방명록 입력폼 --> +<form:form commandName="articleVO" action="${pageContext.request.contextPath}/cop/bbs/insertGuestArticle.do" method="post" onSubmit="fn_egov_insert_guest(document.forms[1]); return false; " style="float:left; clear:both;"> + <div class="wTableFrm" > + <table class="board_list top_line"> + <caption>${pageTitle } <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 16%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 방명록 내용 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.regist.nttCn"/> </c:set> + <tr> + <th><label for="nttCn">${title } <span class="pilsu">*</span></label></th> + <td class="nopd"> + <form:textarea path="nttCn" title="${title} ${inputTxt}" cols="300" rows="20" cssClass="re_txt"/> + <div><form:errors path="nttCn" cssClass="error" /></div> + <c:choose> + <c:when test="${articleVO.nttId == '0'}"> + <span style="float:left;"><a href="javascript:fn_egov_insert_guest(document.forms[1]); " class="btn_s re_btn" title="<spring:message code="button.comment" /> <spring:message code="input.button" />"><spring:message code="button.comment" /><spring:message code="button.create" /></a></span> + </c:when> + <c:otherwise> + <span style="float:left;"><a href="javascript:fn_egov_updt_guest(document.forms[1]); " class="btn_s re_btn"title="<spring:message code="button.update" /> <spring:message code="input.button" />"><spring:message code="button.comment" /><spring:message code="button.update" /></a></span> + </c:otherwise> + </c:choose> + </td> + </tr> + </tbody> + </table> + </div> + +<input name="nttId" type="hidden" value="<c:out value='${articleVO.nttId}'/>"> +<input name="bbsId" type="hidden" value="<c:out value='${boardMasterVO.bbsId}'/>"> +<!-- validator 검증용 --> +<input name="nttSj" type="hidden" value="guestbook"/> +</form:form> + + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovGuestArticleList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterUpdt.jsp (revision 7) @@ -0,0 +1,214 @@ +<% + /** + * @Class Name : EgovBBSMasterUpdt.jsp + * @Description : EgovBBSMasterUpdt 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * @ 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * @ 2018.10.15 최두영 표준프레임워크 V3.8 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comCopBbs.boardMasterVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle } <spring:message code="title.update" /></title><!-- 게시판 마스터 수정 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="boardMasterVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.getElementById("boardMasterVO").bbsNm.focus(); +} +/* ******************************************************** + * 저장처리화면 + ******************************************************** */ +function fn_egov_updt_bbs(form, bbsId){ + if (!validateBoardMasterVO(form)) { + return false; + } else { + + var validateForm = document.getElementById("boardMasterVO"); + + //방명록 게시판의 경우 답장 불가, 파일첨부 불가 + if(validateForm.bbsTyCode.value == 'BBST03') { + if(validateForm.replyPosblAt.value == 'Y') { + alert("<spring:message code="comCopBbs.boardMasterVO.guestReply" />"); + return; + } + if(validateForm.fileAtchPosblAt.value == 'Y') { + alert("<spring:message code="comCopBbs.boardMasterVO.guestFile" />"); + return; + } + } else { + if(validateForm.fileAtchPosblAt.value == 'Y' && validateForm.atchPosblFileNumber.value == '0') { + alert('첨부가능파일숫자를 선택하세요.'); + return; + } + } + + if(confirm("<spring:message code="common.update.msg" />")){ + form.submit(); + } + } +} +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_inqire_bbslist() { + boardMasterVO.action = "<c:url value='/cop/bbs/selectBBSMasterInfs.do'/>"; + boardMasterVO.submit(); +} +</script> +</head> +<body onLoad="fn_egov_init();"> + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<!-- 상단타이틀 --> +<form:form commandName="boardMasterVO" action="${pageContext.request.contextPath}/cop/bbs/updateBBSMaster.do" method="post" onSubmit="fn_egov_updt_bbs(document.forms[0]); return false;"> +<div class="wTableFrm"> + <h2>${pageTitle} <spring:message code="title.update" /></h2><!-- 게시판 마스터 수정 --> + + <!-- 수정폼 --> + <table class="wTable" summary="<spring:message code="common.summary.update" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.update" /></caption> + <colgroup> + <col style="width: 20%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 게시판명 --> + <c:set var="title"><spring:message code="comCopBbs.boardMasterVO.updt.bbsNm"/> </c:set> + <tr> + <th><label for="bbsNm">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="bbsNm" title="${title} ${inputTxt }" size="70" maxlength="70" /> + <div><form:errors path="bbsNm" cssClass="error" /></div> + </td> + </tr> + <!-- 게시판 소개내용 --> + <c:set var="title"><spring:message code="comCopBbs.boardMasterVO.updt.bbsIntrcn"/> </c:set> + <tr> + <th><label for="bbsIntrcn">${title} <span class="pilsu">*</span></label></th> + <td class="nopd"> + <form:textarea path="bbsIntrcn" title="${title} ${inputTxt}" cols="300" rows="20"/> + <div><form:errors path="bbsIntrcn" cssClass="error" /></div> + </td> + </tr> + + <!-- 게시판 유형 --> + <c:set var="title"><spring:message code="comCopBbs.boardMasterVO.updt.bbsTyCode"/> </c:set> + <tr> + <th><label for="bbsTyCode">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:select path="bbsTyCode" title="${title} ${inputTxt}" cssClass="txt"> + <form:option value='' label="--선택하세요--" /> + <form:options items="${bbsTyCode}" itemValue="code" itemLabel="codeNm" /> + </form:select> + <div><form:errors path="bbsTyCode" cssClass="error" /></div> + </td> + </tr> + + + <!-- 파일첨부가능여부 --> + <c:set var="title"><spring:message code="comCopBbs.boardMasterVO.updt.fileAtchPosblAt"/> </c:set> + <tr> + <th><label for="fileAtchPosblAt">${title}<span class="pilsu">*</span></label></th> + <td class="left"> + <form:select path="fileAtchPosblAt" title="${title} ${inputTxt}" cssClass="txt"> + <form:option value='' label="--선택하세요--" /> + <form:option value="Y" label="예" /> + <form:option value='N'>아니오</form:option> + </form:select> + <div><form:errors path="fileAtchPosblAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 첨부가능파일숫자 --> + <c:set var="title"><spring:message code="comCopBbs.boardMasterVO.updt.atchPosblFileNumber"/> </c:set> + <tr> + <th><label for="atchPosblFileNumber">${title } <span class="pilsu">*</span></label></th> + <td class="left"> + <form:select path="atchPosblFileNumber" title="${title} ${inputTxt }" cssClass="txt"> + <form:option value="0" selected="selected">없음</form:option> + <form:option value='1'>1</form:option> + <form:option value='2'>2</form:option> + <form:option value='3'>3</form:option> + </form:select> + <div><form:errors path="atchPosblFileNumber" cssClass="error" /></div> + </td> + </tr> + + <!-- 추가 선택사항 --> + <tr> + <th><spring:message code="comCopBbs.boardMasterVO.detail.option" /></th><!-- 추가 선택사항 --> + <td class="left"> + <select name="option" class="select" <c:if test="${boardMasterVO.option != 'na'}">disabled="disabled"</c:if> title="추가선택사항"> + <option value='na' <c:if test="${boardMasterVO.option == 'na'}">selected="selected"</c:if>>---<spring:message code="input.select" />--</option> + <option value='' <c:if test="${boardMasterVO.option == ''}">selected="selected"</c:if>><spring:message code="comCopBbs.boardMasterVO.detail.option1" /></option> + <c:if test="${useComment == 'true' }"> + <option value='comment' <c:if test="${boardMasterVO.option == 'comment'}">selected="selected"</c:if>><spring:message code="comCopBbs.boardMasterVO.detail.option2" /></option> + </c:if> + <c:if test="${useSatisfaction == 'true' }"> + <option value='stsfdg' <c:if test="${boardMasterVO.option == 'stsfdg'}">selected="selected"</c:if>><spring:message code="comCopBbs.boardMasterVO.detail.option3" /></option> + </c:if> + </select> + <spring:message code="comCopBbs.boardMasterVO.detail.option.unabledToModify" /><!-- ※ 추가 선택사항은 수정 불가 (미설정된 기존 게시판의 경우 처음 설정은 가능함) --> + </td> + </tr> + + <!-- 사용여부 --> + <c:set var="title"><spring:message code="comCopBbs.boardMasterVO.updt.useAt"/> </c:set> + <tr> + <th><label for="useAt">${title } <span class="pilsu">*</span></label></th> + <td class="left"> + <form:select path="useAt" title="${title} ${inputTxt }" cssClass="txt"> + <form:option value="" label="--선택하세요--" /> + <form:option value="Y" label="예" /> + <form:option value='N'>아니오</form:option> + </form:select> + <div><form:errors path="useAt" cssClass="error" /></div> + </td> + </tr> + + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="button.update" /> <spring:message code="input.button" />" /><!-- 수정 --> + <span class="btn_s"><a href="<c:url value='/cop/bbs/selectBBSMasterInfs.do' /><c:if test='${boardMasterVO.cmmntyId != null}'>?cmmntyId=${boardMasterVO.cmmntyId}</c:if>" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div><div style="clear:both;"></div> + +</div> + +<!-- validator 값 체크용 --> +<input name="replyPosblAt" type="hidden" value="<c:out value='${boardMasterVO.replyPosblAt}'/>"> +<input name="cmmntyId" type="hidden" value="<c:out value='${boardMasterVO.cmmntyId}'/>"> +<input name="bbsId" type="hidden" value="<c:out value='${boardMasterVO.bbsId}'/>"> +</form:form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleUpdt.jsp (revision 7) @@ -0,0 +1,295 @@ + +<% + /** + * @Class Name : EgovArticleUpdt.jsp + * @Description : EgovArticleUpdt 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%> +<%@ taglib prefix="ckeditor" uri="http://ckeditor.com" %> +<c:set var="pageTitle"> + <spring:message code="comCopBbs.articleVO.title" /> +</c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle }<spring:message code="title.update" /></title><!-- 게시글 답글 수정--> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<%-- <script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFile.js'/>" ></script> --%> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFiles.js'/>" ></script> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/utl/EgovCmmUtl.js'/>" ></script> +<script type="text/javascript" src="<c:url value='/html/egovframework/com/cmm/utl/ckeditor/ckeditor.js?t=B37D54V'/>" ></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<validator:javascript formName="articleVO" staticJavascript="false" xhtml="true" cdata="false" /> +<script type="text/javascript"> +$(function() { + $("#ntceBgnde").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + $("#ntceEndde").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); +}); + + + +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init() { + + var ckeditor_config = { + filebrowserImageUploadUrl: '${pageContext.request.contextPath}/utl/wed/insertImageCk.do', // 파일 업로드를 처리 할 경로 설정. + }; + + CKEDITOR.replace('nttCn',ckeditor_config); + + // 첫 입력란에 포커스.. + document.getElementById("articleVO").nttSj.focus(); +} +/* ******************************************************** + * 저장처리화면 + ******************************************************** */ +function fn_egov_updt_article(form) { + + CKEDITOR.instances.nttCn.updateElement(); + + if (!validateArticleVO(form)) { + return false; + } else { + + var validateForm = document.getElementById("articleVO"); + + //비밀글은 제목 진하게 할 수 없음. + //비밀글은 공지게시 불가. + if(validateForm.secretAt.checked) { + if(validateForm.sjBoldAt.checked) { + alert("<spring:message code="comCopBbs.articleVO.secretBold" />"); + return; + } + if(validateForm.noticeAt.checked) { + alert("<spring:message code="comCopBbs.articleVO.secretNotice" />"); + return; + } + } + + //게시기간 + var ntceBgnde = getRemoveFormat(validateForm.ntceBgnde.value); + var ntceEndde = getRemoveFormat(validateForm.ntceEndde.value); + + if(ntceBgnde == '' && ntceEndde != '') { + validateForm.ntceBgnde.value = '1900-01-01'; + } + if(ntceBgnde != '' && ntceEndde == '') { + validateForm.ntceEndde.value = '9999-12-31'; + } + if(ntceBgnde == '' && ntceEndde == '') { + validateForm.ntceBgnde.value = '1900-01-01'; + validateForm.ntceEndde.value = '9999-12-31'; + } + + ntceBgnde = getRemoveFormat(validateForm.ntceBgnde.value); + ntceEndde = getRemoveFormat(validateForm.ntceEndde.value); + + if(ntceBgnde > ntceEndde){ + alert("<spring:message code="comCopBbs.articleVO.ntceDeError" />"); + return; + } + + if (confirm("<spring:message code="common.update.msg" />")) { + form.submit(); + } + } +} +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_inqire_articlelist() { + articleVO.action = "<c:url value='/cop/bbs/selectArticleList.do'/>"; + articleVO.submit(); +} + +</script> +</head> +<body onLoad="fn_egov_init();"> + + <!-- javascript warning tag --> + <noscript class="noScriptTitle"> <spring:message code="common.noScriptTitle.msg" /> </noscript> + + <!-- 상단타이틀 --> + <form:form commandName="articleVO" action="${pageContext.request.contextPath}/cop/bbs/updateArticle.do" method="post" onSubmit="fn_egov_updt_article(document.forms[0]); return false;" enctype="multipart/form-data"> + <div class="wTableFrm"> + <h2>${pageTitle} <spring:message code="title.update" /></h2><!-- 게시글 답글 수정--> + + <!-- 수정폼 --> + <table class="wTable" summary="<spring:message code="common.summary.update" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.update" /></caption> + <colgroup> + <col style="width: 20%;"> + <col style="width:;"> + <col style="width:;"> + <col style="width:;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 글 제목 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.nttSj" /></c:set> + <tr> + <th><label for="nttSj">${title}<span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="nttSj" title="${title} ${inputTxt }" size="70" maxlength="70" /> + <div> <form:errors path="nttSj" cssClass="error" /></div> + </td> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.sjBoldAt" /></c:set> + <th><label for="sjBoldAt">${title}</label></th> + <td class="left"> + <form:checkbox path="sjBoldAt" value="Y" /> + <div> <form:errors path="sjBoldAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 글 내용 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.nttCn" /></c:set> + <tr> + <th><label for="nttCn">${title}<span class="pilsu">*</span></label></th> + <td class="nopd" colspan="3"> + <form:textarea path="nttCn" title="${title} ${inputTxt}" cols="300" rows="20" /> + + <div> <form:errors path="nttCn" cssClass="error" /></div> + </td> + </tr> + + <!-- 공지신청 여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.noticeAt" /></c:set> + <tr> + <th><label for="noticeAt">${title}</label></th> + <td class="left" colspan="3"> + <form:checkbox path="noticeAt" value="Y" /> + <div> <form:errors path="noticeAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 비밀글 여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.secretAt" /></c:set> + <tr> + <th><label for="secretAt">${title}</label></th> + <td class="left" colspan="3"> + <form:checkbox path="secretAt" value="Y" /> + <div> <form:errors path="secretAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 유효기간 설정 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.ntceDe"/> </c:set> + <tr> + <th><label for="ntceBgnde">${title}</label></th> + <td class="left" colspan="3"> + <form:input path="ntceBgnde" title="${title} ${inputTxt}" size="70" maxlength="70" style="width:70px;" readonly="true" /> + &nbsp;~&nbsp;<form:input path="ntceEndde" title="${title} ${inputTxt}" size="70" maxlength="70" style="width:70px;" readonly="true" /> + <div><form:errors path="ntceBgnde" cssClass="error" /></div> + <div><form:errors path="ntceEndde" cssClass="error" /></div> + </td> + </tr> + + <c:if test="${boardMasterVO.fileAtchPosblAt == 'Y'}"> + <!-- 첨부파일 시작 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.atchFile"/></c:set> + <tr> + <th>${title}</th> + <td class="nopd" colspan="3"> + <c:import url="/cmm/fms/selectFileInfsForUpdate.do" charEncoding="utf-8"> + <c:param name="param_atchFileId" value="${articleVO.atchFileId}" /> + </c:import> + </td> + </tr> + <!-- 첨부파일 끝 --> + <!-- 첨부파일 추가 시작 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.atchFileAdd"/></c:set> + <tr> + <th><label for="file_1">${title}</label> </th> + <td class="nopd" colspan="3"> + <input name="file_1" id="egovComFileUploader" type="file" title="<spring:message code="comCopBbs.articleVO.updt.atchFile"/>" multiple/><!-- 첨부파일 --> + <div id="egovComFileList"></div> + </td> + </tr> + <!-- 첨부파일 추가 끝 --> + </c:if> + + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="button.update" /> <spring:message code="input.button" />" /><!-- 수정 --> + <span class="btn_s"><a href="<c:url value='/cop/bbs/selectArticleList.do' />?bbsId=${boardMasterVO.bbsId}" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div> + <div style="clear: both;"></div> + + </div> + + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>" /> + <input type="hidden" name="bbsTyCode" value="<c:out value='${boardMasterVO.bbsTyCode}'/>" /> + <input type="hidden" name="replyPosblAt" value="<c:out value='${boardMasterVO.replyPosblAt}'/>" /> + <input type="hidden" name="fileAtchPosblAt" value="<c:out value='${boardMasterVO.fileAtchPosblAt}'/>" /> + <input type="hidden" id="atchPosblFileNumber" name="atchPosblFileNumber" value="<c:out value='${boardMasterVO.atchPosblFileNumber}'/>" /> + <input type="hidden" name="atchPosblFileSize" value="<c:out value='${boardMasterVO.atchPosblFileSize}'/>" /> + <input name="nttId" type="hidden" value="${articleVO.nttId}"> + <input name="bbsId" type="hidden" value="${boardMasterVO.bbsId}"> + </form:form> + +<!-- 첨부파일 업로드 가능화일 설정 Start..--> +<script type="text/javascript"> +var maxFileNum = document.getElementById('atchPosblFileNumber').value; +if(maxFileNum==null || maxFileNum==""){ + maxFileNum = 3; +} +var multi_selector = new MultiSelector( document.getElementById( 'egovComFileList' ), maxFileNum ); +multi_selector.addElement( document.getElementById( 'egovComFileUploader' ) ); +</script> +<!-- 첨부파일 업로드 가능화일 설정 End.--> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterList.jsp (revision 7) @@ -0,0 +1,150 @@ +<% + /** + * @Class Name : EgovBBSMasterList.jsp + * @Description : EgovBBSMasterList 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * @ 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * @ 2018.10.15 최두영 표준프레임워크 V3.8 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comCopBbs.boardMasterVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title><!-- 게시판 목록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.BBSMasterForm.searchCnd.focus(); +} + +/********************************************************* + * 페이징 처리 함수 + ******************************************************** */ +function fn_egov_select_linkPage(pageNo){ + document.BBSMasterForm.pageIndex.value = pageNo; + document.BBSMasterForm.action = "<c:url value='/cop/bbs/selectBBSMasterInfs.do'/>"; + document.BBSMasterForm.submit(); +} +/********************************************************* + * 조회 처리 함수 + ******************************************************** */ +function fn_egov_search_bbssj(){ + document.BBSMasterForm.pageIndex.value = 1; + document.BBSMasterForm.submit(); +} +/* ******************************************************** + * 상세회면 처리 함수 + ******************************************************** */ +function fn_egov_inquire_bbsdetail(bbsId) { + // 사이트 키값(siteId) 셋팅. + document.BBSMasterForm.bbsId.value = bbsId; + document.BBSMasterForm.action = "<c:url value='/cop/bbs/selectBBSMasterDetail.do'/>"; + document.BBSMasterForm.submit(); +} +</script> +</head> +<body onload="fn_egov_init()"> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="BBSMasterForm" action="<c:url value='/cop/bbs/selectBBSMasterInfs.do'/>" method="post" onSubmit="fn_egov_search_bbssj(); return false;"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1><!-- 게시판 목록 --> + <!-- 하단 버튼 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <select name="searchCnd" title="<spring:message code="title.searchCondition" /> <spring:message code="input.cSelect" />"> + <option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected="selected"</c:if> ><spring:message code="comCopBbs.boardMasterVO.list.bbsNm" /></option><!-- 게시판명 --> + <option value="1" <c:if test="${searchVO.searchCnd == '1'}">selected="selected"</c:if> ><spring:message code="comCopBbs.boardMasterVO.list.bbsIntrcn" /></option><!-- 게시판 소개내용 --> + </select> + </li> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchWrd" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchWrd}"/>' maxlength="155" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /><!-- 조회 --> + <span class="btn_b"><a href="<c:url value='/cop/bbs/insertBBSMasterView.do?cmmntyId=${searchVO.cmmntyId}' />" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span><!-- 등록 --> + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle}<spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 9%;"> + <col style="width: 40%;"> + <col style="width: 13%;"> + <col style="width: 13%;"> + <col style="width: 13%;"> + </colgroup> + <thead> + <tr> + <th><spring:message code="table.num" /></th><!-- 번호 --> + <th class="board_th_link"><spring:message code="comCopBbs.boardMasterVO.list.bbsNm" /></th><!-- 게시판명 --> + <th><spring:message code="table.reger" /></th><!-- 작성자명 --> + <th><spring:message code="table.regdate" /></th><!-- 작성시각 --> + <th><spring:message code="comCopBbs.boardMasterVO.list.useAt" /></th><!-- 사용여부 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="5"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td class="left"><a href="<c:url value='/cop/bbs/selectBBSMasterDetail.do?bbsId=${resultInfo.bbsId}'/>" onClick="fn_egov_inquire_bbsdetail('<c:out value="${resultInfo.bbsId}"/>');return false;"><c:out value='${fn:substring(resultInfo.bbsNm, 0, 40)}'/></a></td> + <td><c:out value='${resultInfo.frstRegisterNm}'/></td> + <td><c:out value='${resultInfo.frstRegisterPnttm}'/></td> + <td><c:out value='${resultInfo.useAt}'/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_linkPage"/> + </ul> + </div> + + <!-- 등록버튼 --> + <!-- + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/cop/bbs/insertBBSMasterView.do' />" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span> + </div> + --> + +</div> +<input name="cmmntyId" type="hidden" value="<c:out value='${searchVO.cmmntyId}'/>"> +<input name="bbsId" type="hidden" value=""> +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> +</form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogUpdt.jsp (revision 7) @@ -0,0 +1,314 @@ + +<% + /** + * @Class Name : EgovArticleUpdt.jsp + * @Description : EgovArticleUpdt 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%> +<%@ taglib prefix="ckeditor" uri="http://ckeditor.com" %> +<c:set var="pageTitle"> + <spring:message code="comCopBbs.articleVO.title" /> +</c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle }<spring:message code="title.update" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<%-- <script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFile.js'/>" ></script> --%> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFiles.js'/>" ></script> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/utl/EgovCmmUtl.js'/>" ></script> +<script type="text/javascript" src="<c:url value='/html/egovframework/com/cmm/utl/ckeditor/ckeditor.js?t=B37D54V'/>" ></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<validator:javascript formName="articleVO" staticJavascript="false" xhtml="true" cdata="false" /> +<script type="text/javascript"> +$(function() { + $("#ntceBgnde").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + $("#ntceEndde").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); +}); + + + +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init() { + + var ckeditor_config = { + filebrowserImageUploadUrl: '${pageContext.request.contextPath}/utl/wed/insertImageCk.do', // 파일 업로드를 처리 할 경로 설정. + }; + + CKEDITOR.replace('nttCn',ckeditor_config); + + <c:if test="${boardMasterVO.fileAtchPosblAt == 'Y'}"> + + //------------------------------------------ + //------------------------- 첨부파일 수정 Start + //------------------------------------------- + var existFileNum = document.getElementById("articleVO").fileListCnt.value; + var maxFileNum = document.getElementById("articleVO").atchPosblFileNumber.value; + + if (existFileNum == "undefined" || existFileNum == null) { + existFileNum = 0; + } + if (maxFileNum == "undefined" || maxFileNum == null) { + maxFileNum = 0; + } + + var uploadableFileNum = maxFileNum - existFileNum; + if (uploadableFileNum < 1) { + uploadableFileNum = 1; + } + var multi_selector = new MultiSelector( document.getElementById( 'egovComFileList' ), uploadableFileNum, 'file_label'); + multi_selector.addElement( document.getElementById( 'egovfile_1' ) ); + fn_egov_multi_selector_update_setting(multi_selector); + //------------------------- 첨부파일 수정 End + </c:if> + + // 첫 입력란에 포커스.. + document.getElementById("articleVO").nttSj.focus(); +} +/* ******************************************************** + * 저장처리화면 + ******************************************************** */ +function fn_egov_updt_article(form) { + + CKEDITOR.instances.nttCn.updateElement(); + + if (!validateArticleVO(form)) { + return false; + } else { + + var validateForm = document.getElementById("articleVO"); + + //비밀글은 제목 진하게 할 수 없음. + //비밀글은 공지게시 불가. + if(validateForm.secretAt.checked) { + if(validateForm.sjBoldAt.checked) { + alert("<spring:message code="comCopBbs.articleVO.secretBold" />"); + return; + } + if(validateForm.noticeAt.checked) { + alert("<spring:message code="comCopBbs.articleVO.secretNotice" />"); + return; + } + } + + //게시기간 + var ntceBgnde = getRemoveFormat(validateForm.ntceBgnde.value); + var ntceEndde = getRemoveFormat(validateForm.ntceEndde.value); + + if(ntceBgnde == '' && ntceEndde != '') { + validateForm.ntceBgnde.value = '1900-01-01'; + } + if(ntceBgnde != '' && ntceEndde == '') { + validateForm.ntceEndde.value = '9999-12-31'; + } + if(ntceBgnde == '' && ntceEndde == '') { + validateForm.ntceBgnde.value = '1900-01-01'; + validateForm.ntceEndde.value = '9999-12-31'; + } + + ntceBgnde = getRemoveFormat(validateForm.ntceBgnde.value); + ntceEndde = getRemoveFormat(validateForm.ntceEndde.value); + + if(ntceBgnde > ntceEndde){ + alert("<spring:message code="comCopBbs.articleVO.ntceDeError" />"); + return; + } + + if (confirm("<spring:message code="common.update.msg" />")) { + form.submit(); + } + } +} +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_inqire_articlelist() { + articleVO.action = "<c:url value='/cop/bbs/selectArticleList.do'/>"; + articleVO.submit(); +} + +</script> +</head> +<body onLoad="fn_egov_init();"> + + <!-- javascript warning tag --> + <noscript class="noScriptTitle"> <spring:message code="common.noScriptTitle.msg" /> </noscript> + + <!-- 상단타이틀 --> + <form:form commandName="articleVO" action="${pageContext.request.contextPath}/cop/bbs/updateArticle.do" method="post" onSubmit="fn_egov_updt_article(document.forms[0]); return false;" enctype="multipart/form-data"> + <div class="wTableFrm"> + <h2>${pageTitle} <spring:message code="title.update" /></h2> + + <!-- 수정폼 --> + <table class="wTable" summary="<spring:message code="common.summary.update" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.update" /></caption> + <colgroup> + <col style="width: 20%;"> + <col style="width:;"> + <col style="width:;"> + <col style="width:;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 글 제목 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.nttSj" /></c:set> + <tr> + <th><label for="nttSj">${title}<span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="nttSj" title="${title} ${inputTxt }" size="70" maxlength="70" /> + <div> <form:errors path="nttSj" cssClass="error" /></div> + </td> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.sjBoldAt" /></c:set> + <th><label for="sjBoldAt">${title}</label></th> + <td class="left"> + <form:checkbox path="sjBoldAt" value="Y" /> + <div> <form:errors path="sjBoldAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 글 내용 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.nttCn" /></c:set> + <tr> + <th><label for="nttCn">${title}<span class="pilsu">*</span></label></th> + <td class="nopd" colspan="3"> + <form:textarea path="nttCn" title="${title} ${inputTxt}" cols="300" rows="20" /> + + <div> <form:errors path="nttCn" cssClass="error" /></div> + </td> + </tr> + + <!-- 공지신청 여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.noticeAt" /></c:set> + <tr> + <th><label for="noticeAt">${title}</label></th> + <td class="left" colspan="3"> + <form:checkbox path="noticeAt" value="Y" /> + <div> <form:errors path="noticeAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 비밀글 여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.secretAt" /></c:set> + <tr> + <th><label for="secretAt">${title}</label></th> + <td class="left" colspan="3"> + <form:checkbox path="secretAt" value="Y" /> + <div> <form:errors path="secretAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 유효기간 설정 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.updt.ntceDe"/> </c:set> + <tr> + <th><label for="ntceBgnde">${title}</label></th> + <td class="left" colspan="3"> + <form:input path="ntceBgnde" title="${title} ${inputTxt}" size="70" maxlength="70" style="width:70px;"/> + &nbsp;~&nbsp;<form:input path="ntceEndde" title="${title} ${inputTxt}" size="70" maxlength="70" style="width:70px;"/> + <div><form:errors path="ntceBgnde" cssClass="error" /></div> + <div><form:errors path="ntceEndde" cssClass="error" /></div> + </td> + </tr> + + <c:if test="${boardMasterVO.fileAtchPosblAt == 'Y'}"> + <!-- 첨부파일 --> + <c:set var="title"><spring:message code="comUssIonNws.newsVO.atchFile"/></c:set> + <tr> + <th><label for="file_1">${title}</label> </th> + <td class="nopd" colspan="3"> + <!-- 첨부목록을 보여주기 위한 --> + <c:if test="${not empty articleVO.atchFileId}"> + <c:import charEncoding="utf-8" url="/cmm/fms/selectFileInfsForUpdate.do" > + <c:param name="param_atchFileId" value="${articleVO.atchFileId}" /> + </c:import> + </c:if> + <c:if test="${articleVO.atchFileId == ''}"> + <input type="hidden" name="fileListCnt" value="0" /> + </c:if> + <!-- attached file Start --> + <div> + <div class="egov_file_box"> + <label for="egovfile_1" id="file_label"><spring:message code="title.attachedFileSelect" /></label> + <input type="file" name="file_1" id="egovfile_1" multiple> + </div> + <div id="egovComFileList"></div> + </div> + <!-- attached file End --> + + </td> + </tr> + </tbody> + </table> + + </c:if> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="button.update" /> <spring:message code="input.button" />" /><!-- 수정 --> + <span class="btn_s"><a href="<c:url value='/cop/bbs/selectArticleBlogList.do' />?bbsId=${boardMasterVO.bbsId}" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div> + <div style="clear: both;"></div> + + </div> + + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>" /> + <input type="hidden" name="bbsTyCode" value="<c:out value='${boardMasterVO.bbsTyCode}'/>" /> + <input type="hidden" name="replyPosblAt" value="<c:out value='${boardMasterVO.replyPosblAt}'/>" /> + <input type="hidden" name="fileAtchPosblAt" value="<c:out value='${boardMasterVO.fileAtchPosblAt}'/>" /> + <input type="hidden" name="atchPosblFileNumber" value="<c:out value='${boardMasterVO.atchPosblFileNumber}'/>" /> + <input type="hidden" name="atchPosblFileSize" value="<c:out value='${boardMasterVO.atchPosblFileSize}'/>" /> + <input name="nttId" type="hidden" value="${articleVO.nttId}"> + <input name="bbsId" type="hidden" value="${boardMasterVO.bbsId}"> + </form:form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleList.jsp (revision 7) @@ -0,0 +1,263 @@ +<% + /** + * @Class Name : EgovArticleList.jsp + * @Description : EgovArticleList 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * 2018.06.15 신용호 페이징 처리 오류 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comCopBbs.articleVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title><!-- 게시글 목록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link href="<c:url value='${brdMstrVO.tmplatCours}' />" rel="stylesheet" type="text/css"> +<c:choose> +<c:when test="${preview == 'true'}"> +<script type="text/javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.articleForm.searchCnd.focus(); +} + +/********************************************************* + * 페이징 처리 함수 + ******************************************************** */ +function fn_egov_select_linkPage(pageNo){ +} +/********************************************************* + * 조회 처리 함수 + ******************************************************** */ +function fn_egov_search_article(){ +} +/* ******************************************************** + * 상세회면 처리 함수 + ******************************************************** */ +function fn_egov_inquire_articledetail(bbsId, nttId) { + alert('test'); + return true; +} +</script> +</c:when> +<c:otherwise> +<script type="text/javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.articleForm.searchCnd.focus(); +} + +/********************************************************* + * 페이징 처리 함수 + ******************************************************** */ +function fn_egov_select_linkPage(pageNo){ + document.articleForm.pageIndex.value = pageNo; + document.articleForm.action = "<c:url value='/cop/bbs/selectArticleList.do'/>"; + document.articleForm.submit(); +} +/********************************************************* + * 조회 처리 함수 + ******************************************************** */ +function fn_egov_search_article(){ + document.articleForm.pageIndex.value = 1; + document.articleForm.submit(); +} +/* ******************************************************** + * 상세회면 처리 함수 + ******************************************************** */ +function fn_egov_inquire_articledetail(bbsId, nttId) { + // 사이트 키값(siteId) 셋팅. + document.articleForm.bbsId.bbsId.value = bbsId; + document.articleForm.nttId.value = nttId; + document.articleForm.action = "<c:url value='/cop/bbs/selectArticleDetail.do'/>"; + document.articleForm.submit(); +} +</script> +</c:otherwise> +</c:choose> +</head> +<body onload="fn_egov_init()"> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + + +<div class="board"> + <form name="articleForm" action="<c:url value='/cop/bbs/selectArticleList.do'/>" method="post" onSubmit="fn_egov_search_article(); return false;"> + <h1>${pageTitle} <spring:message code="title.list" /> (<c:out value="${boardMasterVO.bbsNm}"/>)</h1><!-- 게시글 목록 --> + <!-- 하단 버튼 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <select name="searchCnd" title="<spring:message code="title.searchCondition" /> <spring:message code="input.cSelect" />"> + <option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected="selected"</c:if> ><spring:message code="comCopBbs.articleVO.list.nttSj" /></option><!-- 글 제목 --> + <option value="1" <c:if test="${searchVO.searchCnd == '1'}">selected="selected"</c:if> ><spring:message code="comCopBbs.articleVO.list.nttCn" /></option><!-- 글 내용 --> + <option value="2" <c:if test="${searchVO.searchCnd == '2'}">selected="selected"</c:if> ><spring:message code="table.reger" /></option><!-- 작성자 --> + </select> + </li> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchWrd" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchWrd}"/>' maxlength="155" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /><!-- 조회 --> + <c:if test="${preview != 'true'}"> + <span class="btn_b"><a href="<c:url value='/cop/bbs/insertArticleView.do?bbsId=${boardMasterVO.bbsId}' />" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span><!-- 등록 --> + </c:if> + </li> + </ul> + </div> + <input name="bbsId" type="hidden" value="${boardMasterVO.bbsId}"> + <input name="pageIndex" type="hidden" value=""> + </form> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 9%;"> + <col style="width: 40%;"> + <col style="width: 13%;"> + <col style="width: 13%;"> + <col style="width: 13%;"> + </colgroup> + <thead> + <tr> + <th><spring:message code="table.num" /></th><!-- 번호 --> + <th class="board_th_link"><spring:message code="comCopBbs.articleVO.list.nttSj" /></th><!--글 제목 --> + <th><spring:message code="table.reger" /></th><!-- 작성자명 --> + <th><spring:message code="table.regdate" /></th><!-- 작성시각 --> + <th><spring:message code="comCopBbs.articleVO.list.inqireCo" /></th><!-- 조회수 --> + </tr> + </thead> + <tbody class="ov"> + + <!-- 공지사항 본문 --> + <c:forEach items="${noticeList}" var="noticeInfo" varStatus="status"> + <tr> + <td><img src="<c:url value='/images/egovframework/com/cop/bbs/icon_notice.png'/>" alt="notice"></td> + <td class="bold"> + <form name="subForm" method="post" action="<c:url value='/cop/bbs/selectArticleDetail.do'/>"> + <input name="nttId" type="hidden" value="<c:out value="${noticeInfo.nttId}"/>"> + <input name="bbsId" type="hidden" value="<c:out value="${noticeInfo.bbsId}"/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + <span class="link"><input type="submit" value="<c:out value='${fn:substring(noticeInfo.nttSj, 0, 40)}'/><c:if test="${noticeInfo.commentCo != ''}"> <c:out value='[${noticeInfo.commentCo}]'/></c:if>" style="border:0px solid #e0e0e0;"> + </span> + </form> + </td> + <td><c:out value='${noticeInfo.frstRegisterNm}'/></td> + <td><c:out value='${noticeInfo.frstRegisterPnttm}'/></td> + <td><c:out value='${noticeInfo.inqireCo}'/></td> + </tr> + </c:forEach> + <!-- 게시글 본문 --> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + + <c:choose> + <c:when test="${resultInfo.sjBoldAt == 'Y'}"> + <!-- 제목 Bold인 경우 --> + <td class="bold"> + <form name="subForm" method="post" action="<c:url value='/cop/bbs/selectArticleDetail.do'/>"> + <input name="nttId" type="hidden" value="<c:out value="${resultInfo.nttId}"/>"> + <input name="bbsId" type="hidden" value="<c:out value="${resultInfo.bbsId}"/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + <span class="link"><c:if test="${resultInfo.replyLc!=0}"><c:forEach begin="0" end="${resultInfo.replyLc}" step="1">&nbsp; </c:forEach><img src="<c:url value='/images/egovframework/com/cop/bbs/icon_reply.png'/>" alt="secret"></c:if><input type="submit" value="<c:out value='${fn:substring(resultInfo.nttSj, 0, 40)}'/><c:if test="${resultInfo.commentCo != ''}"> <c:out value='[${resultInfo.commentCo}]'/></c:if>" style="border:0px solid #e0e0e0;"></span> + </form> + </td> + </c:when> + <c:when test="${resultInfo.secretAt == 'Y' && sessionUniqId != resultInfo.frstRegisterId}"> + <!-- 비밀글이며 작성자가 본인이 아닌 경우(클릭 불가) --> + <td class="left"> + <c:if test="${resultInfo.replyLc!=0}"> + <c:forEach begin="0" end="${resultInfo.replyLc}" step="1"> + &nbsp; + </c:forEach> + </c:if> + <img src="<c:url value='/images/egovframework/com/cop/bbs/icon_lock.png'/>" alt="secret">&nbsp;<c:out value='${fn:substring(resultInfo.nttSj, 0, 40)}'/> + <c:if test="${resultInfo.commentCo != ''}"> + <c:out value='[${resultInfo.commentCo}]'/> + </c:if> + </td> + </c:when> + <c:otherwise> + <!-- 나머지 경우 --> + <td class="left"> + <c:choose> + <c:when test="${preview == 'true'}"> + <input name="nttId" type="hidden" value="<c:out value="${resultInfo.nttId}"/>"> + <input name="bbsId" type="hidden" value="<c:out value="${resultInfo.bbsId}"/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + <span class="link"><c:if test="${resultInfo.replyLc!=0}"><c:forEach begin="0" end="${resultInfo.replyLc}" step="1">&nbsp; </c:forEach><img src="<c:url value='/images/egovframework/com/cop/bbs/icon_reply.png'/>" alt="secret"></c:if><input type="submit" value="<c:out value='${fn:substring(resultInfo.nttSj, 0, 40)}'/><c:if test="${resultInfo.commentCo != ''}"> <c:out value='[${resultInfo.commentCo}]'/></c:if>" style="border:0px solid #e0e0e0;"></span> + </c:when> + <c:otherwise> + <form name="subForm" method="post" action="<c:url value='/cop/bbs/selectArticleDetail.do'/>"> + <input name="nttId" type="hidden" value="<c:out value="${resultInfo.nttId}"/>"> + <input name="bbsId" type="hidden" value="<c:out value="${resultInfo.bbsId}"/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + <span class="link"><c:if test="${resultInfo.replyLc!=0}"><c:forEach begin="0" end="${resultInfo.replyLc}" step="1">&nbsp; </c:forEach><img src="<c:url value='/images/egovframework/com/cop/bbs/icon_reply.png'/>" alt="secret"></c:if><input type="submit" value="<c:out value='${fn:substring(resultInfo.nttSj, 0, 40)}'/><c:if test="${resultInfo.commentCo != ''}"> <c:out value='[${resultInfo.commentCo}]'/></c:if>" style="border:0px solid #e0e0e0;"></span> + </form> + </c:otherwise> + </c:choose> + </td> + </c:otherwise> + </c:choose> + <td><c:out value='${resultInfo.frstRegisterNm}'/></td> + <td><c:out value='${resultInfo.frstRegisterPnttm}'/></td> + <td><c:out value='${resultInfo.inqireCo}'/></td> + </tr> + </c:forEach> + + <c:if test="${fn:length(resultList) == 0}"> + <!-- 글이 없는 경우 --> + <tr> + <td colspan="5"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_linkPage"/> + </ul> + </div> + + <!-- 등록버튼 --> + <!-- + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/cop/bbs/insertBBSMasterView.do' />" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span> + </div> + --> + +</div> + +<input name="nttId" type="hidden" value="0"> +<input name="bbsId" type="hidden" value="${boardMasterVO.bbsId}"> +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogReply.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogReply.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogReply.jsp (revision 7) @@ -0,0 +1,274 @@ +<% + /** + * @Class Name : EgovArticleReply.jsp + * @Description : EgovArticleReply 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * 2020.10.27 신용호 파일 업로드 수정 + * + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%@ taglib prefix="ckeditor" uri="http://ckeditor.com" %> +<c:set var="pageTitle"><spring:message code="comCopBbs.articleVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<%-- <script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFile.js'/>" ></script> --%> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFiles.js'/>" ></script> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/utl/EgovCmmUtl.js'/>" ></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<validator:javascript formName="articleVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + +$(function() { + $("#ntceBgnde").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + $("#ntceEndde").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); +}); + +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + + // 첫 입력란에 포커스 + document.getElementById("articleVO").nttSj.focus(); + +} +/* ******************************************************** + * 답글저장처리화면 + ******************************************************** */ +function fn_egov_reply_article(form){ + + CKEDITOR.instances.nttCn.updateElement(); + + //input item Client-Side validate + if (!validateArticleVO(form)) { + return false; + } else { + + var validateForm = document.getElementById("articleVO"); + + + //익명글은 공지게시 불가. + if(validateForm.anonymousAt.checked) { + if(validateForm.noticeAt.checked) { + alert("<spring:message code="comCopBbs.articleVO.anonymousNotice" />"); + return; + } + } + + //게시기간 + var ntceBgnde = getRemoveFormat(validateForm.ntceBgnde.value); + var ntceEndde = getRemoveFormat(validateForm.ntceEndde.value); + + if(ntceBgnde == '' && ntceEndde != '') { + validateForm.ntceBgnde.value = '1900-01-01'; + } + if(ntceBgnde != '' && ntceEndde == '') { + validateForm.ntceEndde.value = '9999-12-31'; + } + if(ntceBgnde == '' && ntceEndde == '') { + validateForm.ntceBgnde.value = '1900-01-01'; + validateForm.ntceEndde.value = '9999-12-31'; + } + + ntceBgnde = getRemoveFormat(validateForm.ntceBgnde.value); + ntceEndde = getRemoveFormat(validateForm.ntceEndde.value); + + if(ntceBgnde > ntceEndde){ + alert("<spring:message code="comCopBbs.articleVO.ntceDeError" />"); + return; + } + + + + + if(confirm("<spring:message code="common.regist.msg" />")){ + form.submit(); + } + } +} +</script> + +</head> +<body onLoad="fn_egov_init();"> + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form:form commandName="articleVO" action="${pageContext.request.contextPath}/cop/bbs/replyArticle.do" method="post" onSubmit="fn_egov_reply_article(document.forms[0]); return false;" enctype="multipart/form-data"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle } <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 20%;"> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 글 제목, 제목 Bold여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.nttSj"/> </c:set> + <tr> + <th><label for="nttSj">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <input name="nttSj" type="text" size="70" maxlength="70" title="${title} ${inputTxt}" value="RE: <c:out value='${result.nttSj}'/>"> + <div><form:errors path="nttSj" cssClass="error" /></div> + </td> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.sjBoldAt"/> </c:set> + <th><label for="sjBoldAt">${title}</label></th> + <td class="left"> + <form:checkbox path="sjBoldAt" value="Y"/> + <div><form:errors path="sjBoldAt" cssClass="error" /></div> + </td> + </tr> + <!-- 글 내용 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.nttCn"/> </c:set> + <tr> + <th><label for="nttCn">${title } <span class="pilsu">*</span></label></th> + <td class="nopd" colspan="3"> + <form:textarea path="nttCn" title="${title} ${inputTxt}" cols="300" rows="20" /> + <ckeditor:replace replace="nttCn" basePath="${pageContext.request.contextPath}/html/egovframework/com/cmm/utl/ckeditor/" /> + <div><form:errors path="nttCn" cssClass="error" /></div> + </td> + </tr> + + <!-- 공지신청 여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.noticeAt"/> </c:set> + <tr> + <th><label for="noticeAt">${title}</label></th> + <td class="left" colspan="3"> + <form:checkbox path="noticeAt" value="Y"/> + <div><form:errors path="noticeAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 익명등록 여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.anonymousAt"/> </c:set> + <tr> + <th><label for="anonymousAt">${title}</label></th> + <td class="left" colspan="3"> + <form:checkbox path="anonymousAt" value="Y"/> + <div><form:errors path="anonymousAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 유효기간 설정 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.ntceDe"/> </c:set> + <tr> + <th><label for="ntceBgnde">${title} </label></th> + <td class="left" colspan="3"> + <form:input path="ntceBgnde" title="${title} ${inputTxt}" size="70" maxlength="70" style="width:70px;"/> + &nbsp;~&nbsp;<form:input path="ntceEndde" title="${title} ${inputTxt}" size="70" maxlength="70" style="width:70px;"/> + <div><form:errors path="ntceBgnde" cssClass="error" /></div> + <div><form:errors path="ntceEndde" cssClass="error" /></div> + </td> + </tr> + + <c:if test="${boardMasterVO.fileAtchPosblAt == 'Y'}"> + <!-- 첨부파일 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.regist.atchFile"/></c:set><!-- 첨부파일 --> + <tr> + <th><label for="file_1">${title}</label> </th> + <td class="nopd" colspan="3"> + <input name="file_1" id="egovComFileUploader" type="file" title="<spring:message code="comCopBbs.articleVO.regist.atchFile"/>" multiple/><!-- 첨부파일 --> + <div id="egovComFileList"></div> + </td> + </tr> + </c:if> + + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /><!-- 등록 --> + <span class="btn_s"><a href="<c:url value='/cop/bbs/selectArticleBlogList.do' />?bbsId=${boardMasterVO.bbsId}" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div><div style="clear:both;"></div> + +</div> + +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> +<input type="hidden" name="bbsTyCode" value="<c:out value='${boardMasterVO.bbsTyCode}'/>" /> +<input type="hidden" name="replyPosblAt" value="<c:out value='${boardMasterVO.replyPosblAt}'/>" /> +<input type="hidden" name="fileAtchPosblAt" value="<c:out value='${boardMasterVO.fileAtchPosblAt}'/>" /> +<input type="hidden" id="atchPosblFileNumber" name="atchPosblFileNumber" value="<c:out value='${boardMasterVO.atchPosblFileNumber}'/>" /> +<input type="hidden" name="atchPosblFileSize" value="<c:out value='${boardMasterVO.atchPosblFileSize}'/>" /> + +<input type="hidden" name="parnts" value="<c:out value='${result.parnts}'/>" /> +<input type="hidden" name="sortOrdr" value="<c:out value='${result.sortOrdr}'/>" /> +<input type="hidden" name="replyLc" value="<c:out value='${result.replyLc}'/>" /> + +<input name="nttId" type="hidden" value="${result.nttId}"> +<input name="bbsId" type="hidden" value="${boardMasterVO.bbsId}"> +<input name="cmd" type="hidden" value="<c:out value='save'/>"> +</form:form> + +<!-- 첨부파일 업로드 가능화일 설정 Start..--> +<script type="text/javascript"> +var maxFileNum = document.getElementById('atchPosblFileNumber').value; +if(maxFileNum==null || maxFileNum==""){ + maxFileNum = 3; +} +var multi_selector = new MultiSelector( document.getElementById( 'egovComFileList' ), maxFileNum ); +multi_selector.addElement( document.getElementById( 'egovComFileUploader' ) ); +</script> +<!-- 첨부파일 업로드 가능화일 설정 End.--> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogReply.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogList.jsp (revision 7) @@ -0,0 +1,295 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%-- <%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> --%> +<c:set var="pageTitle"><spring:message code="comCopBbs.articleVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<title>${pageTitle} <spring:message code="title.list" /></title><!-- 블로그 메인 목록 --> + +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cop/bbs/style.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery-1.12.4.min.js' />"></script> + +<!-- 댓글 작성 스크립트 --> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="formComment" staticJavascript="false" xhtml="true" cdata="false"/> + +<script> + +/********************************************************* + * 페이징 처리 함수 + ******************************************************** */ +function fn_egov_select_linkPage(pageNo){ + document.articleForm.pageIndex.value = pageNo; + document.articleForm.action = "<c:url value='/cop/bbs/selectArticleBlogList.do'/>"; + document.articleForm.submit(); +} + +function layer_toggle(ma) { + if (ma.style.display == 'none') { + ma.style.display = 'block'; + document.getElementById('blog_cnt').style.display = 'none'; + }else{ + ma.style.display = 'none'; + document.getElementById('blog_cnt').style.display = 'block'; + } + } + +function fn_egov_loadBdList(bbsId,blogNm,cnt){ + document.blogfrm.bbsId.value = bbsId; + var searchCnd = document.postCnt.searchCnd.value; + $('#sub').text(blogNm); + $(".comm_List").empty(); + $.ajax({ + url :"<c:url value='/cop/bbs/selectArticleBlogDetail.do'/>" + ,type: "POST" + ,data : {"bbsId":bbsId, "searchCnd":searchCnd} + ,dataType: 'json' + ,success : function(data){ + var innerHtml = ""; + var innerReply = ""; + var innerPaging = ""; + var length = data['blogSubJectList'].length; + if(length > 0) { + $.each(data['blogSubJectList'], function(i) { + innerHtml += '<tr>'; + innerHtml += '<td id="target" onclick="fn_clickComm(\'' + bbsId + '\', \''+data['blogSubJectList'][i].nttId+'\', \''+data['blogSubJectList'][i].ntcrId+'\', \''+data['blogSubJectList'][i].replyPosblAt+'\', \''+data['blogSubJectList'][i].blogId+'\', \''+cnt+'\')"; style="cursor:pointer">'; + if(data['blogSubJectList'][i].commentCo != "") { + innerHtml += data['blogSubJectList'][i].nttSj+"["+data['blogSubJectList'][i].commentCo+"]"; + }else{ + innerHtml += data['blogSubJectList'][i].nttSj; + } + innerHtml += '</td>'; + innerHtml += '<td>'; + innerHtml += data['blogSubJectList'][i].frstRegisterPnttm; + innerHtml += '</td>'; + innerHtml += '</tr>'; + + }); + + innerPaging += '<ul>'; + innerPaging += '<ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_linkPage"/>'; + innerPaging += '</ul>'; + + $("#subtitle").html(innerHtml); + $("#paging").html(innerPaging); + $("#target").click(); //댓글표시 + if(data['blogCnOne'].nttCn != null){ + $(".cnt").html(data['blogCnOne'].nttCn); + } + } + } + ,error: function(){ + alert("<spring:message code="comCopBlog.articleBlogList.validate.noResult" />");//게시글이 없습니다!\n게시글을 등록해 주세요. + } + }); +} + +function fn_blog_cn(blogId){ + var bbsId = document.blogfrm.bbsId.value; + if (bbsId == '' || bbsId == null) { + alert('<spring:message code="comCopBlog.articleBlogList.validate.noBoard" />'); //등록된 게시판이 없습니다.\n카테고리등록을 통해 게시판을 생성해주세요. + return; + } + + location.href="<c:url value='/cop/bbs/insertArticleView.do' />?bbsId="+bbsId+"&blogAt=Y&blogId="+blogId; +} + +function fn_clickComm(bbsId, nttId, ntcrId, replyPosblAt, blogId, cnt){ + $.ajax({ + url :"<c:url value='/cop/bbs/selectArticleBlogDetailCn.do'/>" + ,type: "POST" + ,data : {"bbsId":bbsId, "nttId":nttId} + ,dataType: 'json' + ,success : function(data){ + var length = data['blogCnList'].length; + var innerHtml = ""; + var innerReply = ""; + if(length > 0) { + $.each(data['blogCnList'], function(i) { + innerHtml += data['blogCnList'][i].nttCn; + }); + $(".cnt").html(innerHtml); + + $('input[name=bbsId]').attr('value',bbsId); + $('input[name=nttId]').attr('value',nttId); + $('input[name=blogId]').attr('value',blogId); + + $.each(data['resultList'], function(i) { + innerReply += "<dl>"; + innerReply += "<dt>"; + innerReply += "<strong>"; + innerReply += data['resultList'][i].wrterNm; + innerReply += "</strong>"; + innerReply += "<span>" + innerReply += data['resultList'][i].frstRegisterPnttm; + innerReply += "</span>" + + if(cnt == 1) { + innerReply += "<div align='right'>"; + innerReply += '<a href="javascript:fn_egov_deleteCommentList(\''+data['resultList'][i].commentNo+'\', \''+bbsId+'\', \''+nttId+'\', \''+blogId+'\')" ><spring:message code="button.delete" /></a>';//삭제 + innerReply += "</div>"; + } + + innerReply += "</dt>"; + innerReply += "<dd>"; + innerReply += data['resultList'][i].commentCn; + innerReply += "</dd>"; + innerReply += "</dl>"; + }); + innerReply += "<dl>"; + innerReply += "<dd>"; + innerReply += "<form id='formComment' name='formComment' method='post'>"; + innerReply += "<textarea name='commentCn' placeholder='<spring:message code="comCopBlog.articleBlogList.validate.limitSize" />'/>";//댓글은 500byte 까지 작성할 수 있습니다. + innerReply += "<button type='button' onclick='fn_egov_insert_commentList(\""+bbsId+"\", \""+nttId+"\", \""+blogId+"\");'><spring:message code="title.create"/></button>";//등록 + innerReply += "<input name='bbsId' type='hidden' value=''>"; + innerReply += "<input name='nttId' type='hidden' value=''>"; + innerReply += "<input name='blogId' type='hidden' value=''>"; + innerReply += "<input name='modified' type='hidden' value=''>"; + innerReply += "<input name='commentNo' type='hidden' value=''>"; + innerReply += "<input name='blogAt' type='hidden' value='Y'>"; + innerReply += "</form>"; + innerReply += "</dd>"; + innerReply += "</dl>"; + $(".comm_List").html(innerReply); + }else{ + innerHtml += "<spring:message code="comCopBlog.articleBlogList.validate.noContent" />";//본문 내용이 존재하지 않습니다! + $(".cnt").html(innerHtml); + } + } + ,error: function(){ + alert("<spring:message code="comCopBlog.articleBlogList.validate.occurError" />");//에러가 발생했습니다. + } + }); +} + +function fn_egov_deleteCommentList(commentNo, bbsId, nttId, blogId) { + + var form = document.getElementById("formComment"); + + if (confirm('<spring:message code="common.delete.msg" />')) { + form.modified.value = "true"; + form.commentNo.value = commentNo; + form.bbsId.value = bbsId; + form.nttId.value = nttId; + form.blogId.value = blogId; + form.action = "<c:url value='/cop/cmt/deleteArticleComment.do'/>"; + form.submit(); + } +} + +function fn_egov_insert_commentList(bbsId, nttId, blogId) { + document.formComment.bbsId.value = bbsId; + document.formComment.nttId.value = nttId; + document.formComment.blogId.value = blogId; + document.formComment.modified.value = false; + document.formComment.action = "<c:url value='/cop/cmt/insertArticleComment.do'/>"; + + + if (!validateFormComment(document.formComment)){ + return; + } + if (confirm('<spring:message code="common.regist.msg" />')) { + document.formComment.submit(); + } + + +} + +$(document).ready(function() { + $("#titleck").click(); +}); + +</script> +</head> +<body> +<!-- 블로그 --> +<div class="blog_wrap"> + <!-- header --> + <div class="blog_header"> + <div class="visual_default"> + <h1>${boardMasterVO.blogNm}</h1> + <p>${boardMasterVO.blogIntrcn}</p> + </div> + <div class="h_menu"> + <ul class="gnb"> + <c:forEach items="${blogNameList}" var="resultInfo" varStatus="status"> + <li><a id="titleck" onclick="fn_egov_loadBdList('<c:out value="${resultInfo.bbsId}"/>','<c:out value="${resultInfo.bbsNm}" />','<c:out value="${loginUserCnt}"/>');"><c:out value="${resultInfo.bbsNm}" /></a></li> + </c:forEach> + </ul> + + <ul class="gnb r"> + <c:choose> + <c:when test="${loginUserCnt == 1}"> + <li><a href="<c:url value='/cop/bbs/insertBBSMasterView.do?blogId=${boardMasterVO.blogId}&blogAt=Y' />" onclick="fn_egov_ls()"><spring:message code="comCopBlog.articleBlogList.regCategory" /></a></li><!-- 카테고리등록 --> + <li><a href="<c:url value='/cop/bbs/selectBlogListManager.do?blogId=${boardMasterVO.blogId}' />" ><spring:message code="comCopBlog.blogUseMgrMain.btnBoard" /></a></li> <!-- 개인블로그관리 --> + </ul> + <button class="write" onclick="fn_blog_cn('${boardMasterVO.blogId}')"><spring:message code="button.create" /></button> + </c:when> + </c:choose> + </div> + </div> + <!-- header //--> + + <!-- 블로그 리스트 --> + <div class="post"> + <div class="post_title"> + <p id="sub"></p> + </div> + + <div class="listBox"> + <table class="tbl_list"> + <caption>${pageTitle} <spring:message code="title.list" /></caption><!-- 블로그 메인 리스트 --> + <colgroup> + <col style="width: ;" /> + <col style="width:10%" /> + </colgroup> + <tbody id=subtitle> + </tbody> + </table> + <form name="postCnt" method="post" onChange="$('#titleck').click();"> + <div class="post_opt"> + <label for="" class="blind"><spring:message code="comCopBlog.articleBlogList.setListNumbers" /></label><!-- 포스트 갯수 설정 --> + <select name="searchCnd" id="searchCnd"> + <option value="5" <c:if test="${searchVO.searchCnd == '5'}">selected="selected"</c:if>><spring:message code="comCopBlog.articleBlogList.listNumber5" /></option><!-- 5줄 보기 --> + <option value="10" <c:if test="${searchVO.searchCnd == '10'}">selected="selected"</c:if>><spring:message code="comCopBlog.articleBlogList.listNumber10" /></option><!-- 10줄 보기 --> + <option value="15" <c:if test="${searchVO.searchCnd == '15'}">selected="selected"</c:if>><spring:message code="comCopBlog.articleBlogList.listNumber15" /></option><!-- 15줄 보기 --> + <option value="20" <c:if test="${searchVO.searchCnd == '20'}">selected="selected"</c:if>><spring:message code="comCopBlog.articleBlogList.listNumber20" /></option><!-- 20줄 보기 --> + <option value="30" <c:if test="${searchVO.searchCnd == '30'}">selected="selected"</c:if>><spring:message code="comCopBlog.articleBlogList.listNumber30" /></option><!-- 30줄 보기 --> + </select> + </div> + </form> + <div id="paging" class="paging"> + </div> + </div> + </div> + <!-- 블로그 리스트 //--> + + <!-- 블로그 본문 --> + <div id="blog_cnt" class="blog_cnt" style="display:block;"> + <div class="blog_title"> + <!-- 본문타이틀 --> + </div> + <div class="cnt"> + <!-- 본문내용 --> + </div> + <!-- 댓글 --> + <div class="comm_List" > + </div> + </div> + <!-- 블로그 본문 //--> +</div> + +<!-- 블로그 //--> +<form name="blogfrm"> +<input name="blogCn" type="hidden" value=""> +<input name="blogName" type="hidden" value=""> +<input name="bbsId" type="hidden" value=""> +</form> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleBlogList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageUpdt.jsp (revision 7) @@ -0,0 +1,248 @@ + +<% + /** + * @Class Name : EgovArticleUpdt.jsp + * @Description : EgovArticleUpdt 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator"%> +<c:set var="pageTitle"> + <spring:message code="comCopBbs.articleVO.title" /> +</c:set> +<c:set var="reBbsId" value="${fn:replace(boardMasterVO.bbsId, \"BBSMSTR_\", \"\")}" /> +<title>${pageTitle }<spring:message code="title.update" /></title> +<!-- 게시글 답글 수정--> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFiles.js'/>"></script> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/utl/EgovCmmUtl.js'/>"></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<!-- 에디터 관련 추가 CSS, Javascript 추가 --> +<jsp:useBean id="today" class="java.util.Date" /> +<fmt:formatDate value="${today}" pattern="yyyyMMddHHmm" var="nowDate" scope="application" /> +<!-- Include Editor style. --> +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/editor/css/froala_editor.pkgd.min.css'><c:param name="dt" value="${nowDate}"/></c:url>"> +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/editor/css/froala_style.min.css'><c:param name="dt" value="${nowDate}"/></c:url>"> +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/font-awesome/css/font-awesome.css'><c:param name="dt" value="${nowDate}"/></c:url>"> +<link rel="stylesheet" type="text/css" href="<c:url value='/resource/editor/codemirror/lib/codemirror.css'><c:param name="dt" value="${nowDate}"/></c:url>" /> +<!-- Include Editor JS files. --> +<script type="text/javascript" src="<c:url value='/resource/editor/js/froala_editor.pkgd.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<script type="text/javascript" src="<c:url value='/resource/editor/js/languages/ko.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<script type="text/javascript" src="<c:url value='/resource/editor/js/froala_editor_script_custom.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<script type="text/javascript" src="<c:url value='/resource/editor/codemirror/lib/codemirror.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<script type="text/javascript" src="<c:url value='/resource/editor/codemirror/lib/xml.js'><c:param name="dt" value="${nowDate}"/></c:url>"></script> +<!-- 에디터 관련 추가 CSS, Javascript 종료 --> +<validator:javascript formName="articleVO" staticJavascript="false" xhtml="true" cdata="false" /> +<script type="text/javascript"> + /* ******************************************************** + * 초기화 + ******************************************************** */ + function fn_egov_init() { + // 첫 입력란에 포커스.. + document.getElementById("articleVO").nttSj.focus(); + } + /* ******************************************************** + * 저장처리화면 + ******************************************************** */ + function fn_egov_updt_article(form) { + // 개인정보입력 체크. + if (!fnPrivacyCheck(form.nttSj.value)) { // 제목 + return false; + } + if (!fnPrivacyCheck(form.nttCn.value)) { // 내용 + return false; + } + if (!validateArticleVO(form)) { + return false; + } else { + + var validateForm = document.getElementById("articleVO"); + + //비밀글은 공지게시 불가. + if (validateForm.secretAt.checked) { + if (validateForm.noticeAt.checked) { + alert("<spring:message code="comCopBbs.articleVO.secretNotice" />"); + return; + } + } + if (confirm("<spring:message code="common.update.msg" />")) { + form.submit(); + } + } + } + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fn_egov_inqire_articlelist() { + $('#articleVO') + .attr('action', + "<c:url value='/cop/bbs/manage/${reBbsId}/selectArticleList.do'/>"); + $('#articleVO').submit(); + + } +</script> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"> + <spring:message code="common.noScriptTitle.msg" /> +</noscript> + +<!-- 상단타이틀 --> +<form:form commandName="articleVO" action="${pageContext.request.contextPath}/cop/bbs/manage/${reBbsId}/updateArticle.do" method="post"> + <div class="board_header"> + <h3>${boardMasterVO.bbsNm}</h3> + </div> + <div class="board_body"> + <!-- 수정폼 --> + <p class="must_text"> + <em>*</em>는 필수 입력사항입니다. + </p> + <table class="table_write"> + <caption>게시글 수정 - 제목, 내용, 공지신청, 비밀글여부, 첨부파일등록으로 구성</caption> + <colgroup> + <col style="width: 200px;"> + <col style="width:;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"> + <spring:message code="input.input" /> + </c:set> + <!-- 글 제목 --> + <c:set var="title"> + <spring:message code="comCopBbs.articleVO.updt.nttSj" /> + </c:set> + <tr> + <th scope="col" class="must"><label for="nttSj">${title}</label></th> + <td class="left"> + <input type="text" id="nttSj" name="nttSj" maxlength="70" class="width100p inputText" value="${articleVO.nttSj}"> + </td> + </tr> + + <!-- 글 내용 --> + <c:set var="title"> + <spring:message code="comCopBbs.articleVO.updt.nttCn" /> + </c:set> + <tr> + <th scope="col" class="must"><label for="nttCn">${title}</label></th> + <td class="nopd"> + <textarea id="nttCn" name="nttCn" class="width100p height200">${articleVO.nttCn}</textarea> + </td> + </tr> + + <!-- 공지신청 여부 --> + <c:set var="title"> + <spring:message code="comCopBbs.articleVO.updt.noticeAt" /> + </c:set> + <tr> + <th scope="col"><label for="noticeAt">${title}</label></th> + <td class="left"> + <div class="check_wrap"> + <input type="checkbox" id="noticeAt" name="noticeAt" value="Y" <c:if test="${articleVO.noticeAt eq 'Y'}">checked="checked"</c:if>> + <label for="noticeAt">공지로 등록</label> + </div> + </td> + </tr> + + <!-- 비밀글 여부 --> + <c:set var="title"> + <spring:message code="comCopBbs.articleVO.updt.secretAt" /> + </c:set> + <tr> + <th scope="col"><label for="secretAt">${title}</label></th> + <td class="left"> + <div class="check_wrap"> + <input type="checkbox" id="secretAt" name="secretAt" value="Y" <c:if test="${articleVO.secretAt eq 'Y'}">checked="checked"</c:if>> + <label for="secretAt"><span>비밀글 등록</span></label> + </div> + </td> + </tr> + <c:if test="${boardMasterVO.fileAtchPosblAt == 'Y'}"> + <!-- 첨부파일 추가 시작 --> + <c:set var="title"> + <spring:message code="comCopBbs.articleVO.updt.atchFileAdd" /> + </c:set> + <tr> + <th scope="col"><label for="egovComFileUploader">${title}</label></th> + <td class="nopd"> + <div class="file_up"> + <label for="egovComFileUploader" class="inputFile" title="업로드 할 파일을 선택해주세요">파일업로드</label> + <input type="file" id="egovComFileUploader" name="file_1" title="<spring:message code="comCopBbs.articleVO.regist.atchFile"/>" /> + <!-- 첨부파일 --> + <input type="hidden" id="atchFileId" name="atchFileId" value="${articleVO.atchFileId}" /> + </div> + <em class="exp filenote">※ 파일당 10MB까지 첨부 가능합니다.</em> + <div class="space5"></div> + <ul id="egovComFileList" class="file_list" style="display: none;"></ul> + </td> + </tr> + <!-- 첨부파일 추가 끝 --> + </c:if> + + </tbody> + </table> + + </div> + <div class="board_footer"> + <!-- 하단 버튼 --> + <div class="bottom_wrap fl"> + <button type="button" class="btn_s" title="<spring:message code="button.list" /> <spring:message code="input.button" />" onclick="fn_egov_inqire_articlelist(); return false;"> + <spring:message code="button.list" /> + </button> + <!-- 목록 --> + </div> + <div class="bottom_wrap fr"> + <button type="button" class="btn_s" title="<spring:message code="button.update" /> <spring:message code="input.button" />" onclick="fn_egov_updt_article(document.forms[0]); return false;"> + <spring:message code="button.update" /> + </button> + <!-- 수정 --> + </div> + <div style="clear: both;"></div> + </div> + + <input name="pageIndex" type="hidden" value="${searchVO.pageIndex}" /> + <input name="searchKeyword" type="hidden" value="${searchVO.searchKeyword}" /> + <input type="hidden" name="bbsTyCode" value="${boardMasterVO.bbsTyCode}" /> + <input type="hidden" name="replyPosblAt" value="${boardMasterVO.replyPosblAt}" /> + <input type="hidden" name="fileAtchPosblAt" value="${boardMasterVO.fileAtchPosblAt}" /> + <input type="hidden" id="atchPosblFileNumber" name="atchPosblFileNumber" value="${boardMasterVO.atchPosblFileNumber}" /> + <input type="hidden" id="atchPosblFileSize" name="atchPosblFileSize" value="${boardMasterVO.atchPosblFileSize}" /> + <input name="nttId" type="hidden" value="${articleVO.nttId}"> + <input name="bbsId" type="hidden" value="${boardMasterVO.bbsId}"> +</form:form> + +<!-- 첨부파일 업로드 가능화일 설정 Start..--> +<script type="text/javascript"> + $(function() { + var atchPosblFileNumber = $('#atchPosblFileNumber').val(); + var atchPosblFileSize = $('#atchPosblFileSize').val(); + var options = { + fileListDivId : 'egovComFileList', + inputFileId : 'egovComFileUploader', + hiddenFileName : 'atchFileId', + txtAreaId : 'nttCn', + authorType : 'admin', + maxSize : atchPosblFileNumber, + fileMaxSize : atchPosblFileSize + } + $('#nttCn').initEditor(options); + }); +</script> +<!-- 첨부파일 업로드 가능화일 설정 End.--> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleReply.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleReply.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleReply.jsp (revision 7) @@ -0,0 +1,274 @@ +<% + /** + * @Class Name : EgovArticleReply.jsp + * @Description : EgovArticleReply 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * 2020.10.27 신용호 파일 업로드 수정 + * + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%@ taglib prefix="ckeditor" uri="http://ckeditor.com" %> +<c:set var="pageTitle"><spring:message code="comCopBbs.articleVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title><!-- 게시글 답글 등록--> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<%-- <script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFile.js'/>" ></script> --%> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFiles.js'/>" ></script> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/utl/EgovCmmUtl.js'/>" ></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<validator:javascript formName="articleVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + +$(function() { + $("#ntceBgnde").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + $("#ntceEndde").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); +}); + +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + + // 첫 입력란에 포커스 + document.getElementById("articleVO").nttSj.focus(); + +} +/* ******************************************************** + * 답글저장처리화면 + ******************************************************** */ +function fn_egov_reply_article(form){ + + CKEDITOR.instances.nttCn.updateElement(); + + //input item Client-Side validate + if (!validateArticleVO(form)) { + return false; + } else { + + var validateForm = document.getElementById("articleVO"); + + + //익명글은 공지게시 불가. + if(validateForm.anonymousAt.checked) { + if(validateForm.noticeAt.checked) { + alert("<spring:message code="comCopBbs.articleVO.anonymousNotice" />"); + return; + } + } + + //게시기간 + var ntceBgnde = getRemoveFormat(validateForm.ntceBgnde.value); + var ntceEndde = getRemoveFormat(validateForm.ntceEndde.value); + + if(ntceBgnde == '' && ntceEndde != '') { + validateForm.ntceBgnde.value = '1900-01-01'; + } + if(ntceBgnde != '' && ntceEndde == '') { + validateForm.ntceEndde.value = '9999-12-31'; + } + if(ntceBgnde == '' && ntceEndde == '') { + validateForm.ntceBgnde.value = '1900-01-01'; + validateForm.ntceEndde.value = '9999-12-31'; + } + + ntceBgnde = getRemoveFormat(validateForm.ntceBgnde.value); + ntceEndde = getRemoveFormat(validateForm.ntceEndde.value); + + if(ntceBgnde > ntceEndde){ + alert("<spring:message code="comCopBbs.articleVO.ntceDeError" />"); + return; + } + + + + + if(confirm("<spring:message code="common.regist.msg" />")){ + form.submit(); + } + } +} +</script> + +</head> +<body onLoad="fn_egov_init();"> + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form:form commandName="articleVO" action="${pageContext.request.contextPath}/cop/bbs/replyArticle.do" method="post" onSubmit="fn_egov_reply_article(document.forms[0]); return false;" enctype="multipart/form-data"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2><!-- 게시글 답글 등록--> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle } <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 20%;"> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 글 제목, 제목 Bold여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.nttSj"/> </c:set> + <tr> + <th><label for="nttSj">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <input name="nttSj" type="text" size="70" maxlength="70" title="${title} ${inputTxt}" value="RE: <c:out value='${result.nttSj}'/>"> + <div><form:errors path="nttSj" cssClass="error" /></div> + </td> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.sjBoldAt"/> </c:set> + <th><label for="sjBoldAt">${title}</label></th> + <td class="left"> + <form:checkbox path="sjBoldAt" value="Y"/> + <div><form:errors path="sjBoldAt" cssClass="error" /></div> + </td> + </tr> + <!-- 글 내용 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.nttCn"/> </c:set> + <tr> + <th><label for="nttCn">${title } <span class="pilsu">*</span></label></th> + <td class="nopd" colspan="3"> + <form:textarea path="nttCn" title="${title} ${inputTxt}" cols="300" rows="20" /> + <ckeditor:replace replace="nttCn" basePath="${pageContext.request.contextPath}/html/egovframework/com/cmm/utl/ckeditor/" /> + <div><form:errors path="nttCn" cssClass="error" /></div> + </td> + </tr> + + <!-- 공지신청 여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.noticeAt"/> </c:set> + <tr> + <th><label for="noticeAt">${title}</label></th> + <td class="left" colspan="3"> + <form:checkbox path="noticeAt" value="Y"/> + <div><form:errors path="noticeAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 익명등록 여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.anonymousAt"/> </c:set> + <tr> + <th><label for="anonymousAt">${title}</label></th> + <td class="left" colspan="3"> + <form:checkbox path="anonymousAt" value="Y"/> + <div><form:errors path="anonymousAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 유효기간 설정 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.reply.ntceDe"/> </c:set> + <tr> + <th><label for="ntceBgnde">${title} </label></th> + <td class="left" colspan="3"> + <form:input path="ntceBgnde" title="${title} ${inputTxt}" size="70" maxlength="70" style="width:70px;"/> + &nbsp;~&nbsp;<form:input path="ntceEndde" title="${title} ${inputTxt}" size="70" maxlength="70" style="width:70px;"/> + <div><form:errors path="ntceBgnde" cssClass="error" /></div> + <div><form:errors path="ntceEndde" cssClass="error" /></div> + </td> + </tr> + + <c:if test="${boardMasterVO.fileAtchPosblAt == 'Y'}"> + <!-- 첨부파일 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.regist.atchFile"/></c:set><!-- 첨부파일 --> + <tr> + <th><label for="file_1">${title}</label> </th> + <td class="nopd" colspan="3"> + <input name="file_1" id="egovComFileUploader" type="file" title="<spring:message code="comCopBbs.articleVO.regist.atchFile"/>" multiple/><!-- 첨부파일 --> + <div id="egovComFileList"></div> + </td> + </tr> + </c:if> + + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /><!-- 등록 --> + <span class="btn_s"><a href="<c:url value='/cop/bbs/selectArticleList.do' />?bbsId=${boardMasterVO.bbsId}" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div><div style="clear:both;"></div> + +</div> + +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> +<input type="hidden" name="bbsTyCode" value="<c:out value='${boardMasterVO.bbsTyCode}'/>" /> +<input type="hidden" name="replyPosblAt" value="<c:out value='${boardMasterVO.replyPosblAt}'/>" /> +<input type="hidden" name="fileAtchPosblAt" value="<c:out value='${boardMasterVO.fileAtchPosblAt}'/>" /> +<input type="hidden" id="atchPosblFileNumber" name="atchPosblFileNumber" value="<c:out value='${boardMasterVO.atchPosblFileNumber}'/>" /> +<input type="hidden" name="atchPosblFileSize" value="<c:out value='${boardMasterVO.atchPosblFileSize}'/>" /> + +<input type="hidden" name="parnts" value="<c:out value='${result.parnts}'/>" /> +<input type="hidden" name="sortOrdr" value="<c:out value='${result.sortOrdr}'/>" /> +<input type="hidden" name="replyLc" value="<c:out value='${result.replyLc}'/>" /> + +<input name="nttId" type="hidden" value="${result.nttId}"> +<input name="bbsId" type="hidden" value="${boardMasterVO.bbsId}"> +<input name="cmd" type="hidden" value="<c:out value='save'/>"> +</form:form> + +<!-- 첨부파일 업로드 가능화일 설정 Start..--> +<script type="text/javascript"> +var maxFileNum = document.getElementById('atchPosblFileNumber').value; +if(maxFileNum==null || maxFileNum==""){ + maxFileNum = 3; +} +var multi_selector = new MultiSelector( document.getElementById( 'egovComFileList' ), maxFileNum ); +multi_selector.addElement( document.getElementById( 'egovComFileUploader' ) ); +</script> +<!-- 첨부파일 업로드 가능화일 설정 End.--> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleReply.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageList.jsp (revision 7) @@ -0,0 +1,192 @@ +<% + /** + * @Class Name : EgovArticleList.jsp + * @Description : EgovArticleList 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * 2018.06.15 신용호 페이징 처리 오류 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="reBbsId" value="${fn:replace(boardMasterVO.bbsId, \"BBSMSTR_\", \"\")}"/> +<c:set var="pageTitle"><spring:message code="comCopBbs.articleVO.title"/></c:set> +<script type="text/javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.articleForm.searchCondition.focus(); +} + +/********************************************************* + * 페이징 처리 함수 + ******************************************************** */ +function fn_egov_select_linkPage(pageNo){ + document.articleForm.pageIndex.value = pageNo; + document.articleForm.action = "<c:url value='/cop/bbs/manage/${reBbsId}/selectArticleList.do'/>"; + document.articleForm.submit(); +} +/********************************************************* + * 조회 처리 함수 + ******************************************************** */ +function fn_egov_search_article(){ + document.articleForm.pageIndex.value = 1; + document.articleForm.submit(); +} +/* ******************************************************** + * 상세회면 처리 함수 + ******************************************************** */ +function fn_egov_inquire_articledetail(bbsId, nttId) { + // 사이트 키값(siteId) 셋팅. + document.articleForm.bbsId.value = bbsId; + document.articleForm.nttId.value = nttId; + document.articleForm.action = "<c:url value='/cop/bbs/manage/${reBbsId}/selectArticleDetail.do'/>"; + document.articleForm.submit(); +} +/* ******************************************************** + * 등록 + ******************************************************** */ +function fn_regist() { + document.articleForm.action = "<c:url value='/cop/bbs/manage/${reBbsId}/insertArticleView.do'/>"; + document.articleForm.submit(); +} +/* ******************************************************** + * 엑셀다운로드 + ******************************************************** */ +function fn_downloadExcel() { + document.articleForm.action = "<c:url value='/cop/bbs/manage/${reBbsId}/downloadExcel.do'/>"; + document.articleForm.submit(); +} + +$(document).ready(function() { + initDatePickerMulti('.bgnde', '.endde', '.date_picker'); +}); +</script> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="articleForm" action="<c:url value='/cop/bbs/manage/${reBbsId}/selectArticleList.do'/>" method="post" onSubmit="fn_egov_search_article(); return false;" > +<div class="board_header"> + <h3>${boardMasterVO.bbsNm}</h3><!-- 게시글 목록 --> + <!-- 하단 버튼 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <div class="date_picker mr10 fl"> + <div class="date_pick"> + <input type="text" class="inputText width100 bgnde" id="searchBgnPnttm" name="searchBgnPnttm" value="${searchVO.searchBgnPnttm}" readonly title="시작날짜를 선택하세요" placeholder="시작날짜" autocomplete="off" inputmode="text"> + <label for="searchBgnPnttm"><em class="blind">달력아이콘</em></label> + </div> + <em class="gap">~</em> + <div class="date_pick"> + <input type="text" class="inputText width100 endde" id="searchEndPnttm" name="searchEndPnttm" value="${searchVO.searchEndPnttm}" readonly title="종료날짜를 선택하세요" placeholder="종료날짜" autocomplete="off" inputmode="text"> + <label for="searchEndPnttm"><em class="blind">달력아이콘</em></label> + </div> + </div> + + <select class="select fl" name="searchCondition" title="<spring:message code="title.searchCondition" /> <spring:message code="input.cSelect" />"> + <option value="0" <c:if test="${searchVO.searchCondition == '0'}">selected="selected"</c:if> ><spring:message code="comCopBbs.articleVO.list.nttSj" /></option><!-- 글 제목 --> + <option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if> ><spring:message code="comCopBbs.articleVO.list.nttCn" /></option><!-- 글 내용 --> + <option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if> ><spring:message code="table.reger" /></option><!-- 작성자 --> + </select> + <!-- 검색키워드 및 조회버튼 --> + <input class="inputText" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value="${searchVO.searchKeyword}" maxlength="155" > + <button class="btn_board"><spring:message code="button.inquire" /></button> + </div> +</div> + +<div class="board_body"> + <div class="board_infomation flex between itemC"> + <p>총 : <span>${paginationInfo.totalRecordCount}</span>건, 쪽번호 : <span>${paginationInfo.currentPageNo }</span> / <span>${paginationInfo.totalPageCount }</span></p> + <button type="button" class="btn_s bgWhite btn_excel" onclick="fn_downloadExcel(); return false;"> 엑셀다운로드</button> + </div> + <!-- 목록영역 --> + <table class="table_list"> + <caption>게시판 목록 - 번호, 글제목, 등록자, 작성시각, 조회수로 구성</caption> + <colgroup> + <col class="width100"> + <col class="widthauto"> + <col class="width150"> + <col class="width150"> + <col class="width100"> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="table.num" /></th><!-- 번호 --> + <th scope="col" class="board_th_link"><spring:message code="comCopBbs.articleVO.list.nttSj" /></th><!--글 제목 --> + <th scope="col"><spring:message code="table.reger" /></th><!-- 작성자명 --> + <th scope="col"><spring:message code="table.regdate" /></th><!-- 작성시각 --> + <th scope="col"><spring:message code="comCopBbs.articleVO.list.inqireCo" /></th><!-- 조회수 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${empty resultList}"> + <!-- 글이 없는 경우 --> + <tr> + <td colspan="5"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <!-- 공지사항 본문 --> + <c:forEach items="${noticeList}" var="noticeInfo" varStatus="status"> + <tr class="notice"> + <td> + 공지 + </td> + <td class="alignL"> + <a href="#!" onclick="fn_egov_inquire_articledetail(${reBbsId},${noticeInfo.nttId});">${noticeInfo.nttSj} <c:if test="${noticeInfo.commentCo != ''}"> [${noticeInfo.commentCo}]</c:if></a> + </td> + <td>${noticeInfo.frstRegisterNm}</td> + <td>${noticeInfo.frstRegisterPnttm}</td> + <td>${noticeInfo.inqireCo}</td> + </tr> + </c:forEach> + <!-- 게시글 본문 --> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td> + <c:out value="${paginationInfo.totalRecordCount - ((paginationInfo.currentPageNo-1) * paginationInfo.recordCountPerPage + status.index) }" /> + </td> + <!-- 나머지 경우 --> + <td class="alignL <c:if test="${resultInfo.secretAt == 'Y'}">secret</c:if>"> + <a href="#!" onclick="fn_egov_inquire_articledetail(${reBbsId},${resultInfo.nttId});">${resultInfo.nttSj} <c:if test="${resultInfo.commentCo != ''}">[${resultInfo.commentCo}]</c:if></a> + <c:if test="${resultInfo.secretAt eq 'Y'}"> + <em class="icon_secret">비밀글</em> + </c:if> + </td> + <td>${resultInfo.frstRegisterNm}</td> + <td>${resultInfo.frstRegisterPnttm}</td> + <td>${resultInfo.inqireCo}</td> + </tr> + </c:forEach> + </tbody> +</table> +</div> +<div class="board_footer"> + <!-- paging navigation --> + <div class="page" role="group" aria-label="..."> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="admin" jsFunction="fn_egov_select_linkPage" /> + </ul> + </div> + <div class="bottom_wrap fr"> + <button type="button" class="btn_s" style="margin-left:3px;" onclick="fn_regist(); return false;"><spring:message code="button.create" /></button> + </div> +</div> +<input name="bbsId" type="hidden" value="${boardMasterVO.bbsId}"> +<input name="nttId" type="hidden" value="0"> +<input name="pageIndex" type="hidden" value="${searchVO.pageIndex}" > +</form> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleManageList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogListPortlet.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogListPortlet.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogListPortlet.jsp (revision 7) @@ -0,0 +1,34 @@ +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% +/** + * @Class Name : EgovBlogListPortlet.jsp + * @Description : 블로그 목록 조회 포틀릿화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.07 이삼섭 최초 생성 + * @ 2018.10.11 이정은 포털 메인화면 - 블로그 목록 조회 포틀릿추가 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.07 + * @version 1.0 + * @see + * + */ +%> +<ul> +<c:forEach var="result" items="${resultList}" varStatus="status"> + <li style="padding-top:5px"> + <form name="blogForm" method="post" action="<c:url value='/cop/bbs/selectArticleBlogList.do'/>" > + <input type="hidden" name="blogId" value="<c:out value='${result.blogId}'/>"/> + <input type="hidden" name="blogNm" value="<c:out value='${result.blogNm}'/>"/> + <input type="submit" value="<c:out value="${result.blogNm}"/>"/> + </form> + </li> +</c:forEach> +</ul> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBlogListPortlet.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSListPortlet.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSListPortlet.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSListPortlet.jsp (revision 7) @@ -0,0 +1,34 @@ +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovBBSListPortlet.jsp + * @Description : 게시판 목록 조회 포틀릿화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.07 이삼섭 최초 생성 + * 2018.10.11 이정은 포털 메인화면 - 게시판 목록 조회 포틀릿추가 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.07 + * @version 1.0 + * @see + * + */ +%> +<ul> +<c:forEach var="result" items="${resultList}" varStatus="status"> + <li style="padding-top:5px"> + <form name="blogForm" method="post" action="<c:url value='/cop/bbs/selectBBSMasterDetail.do'/>" > + <input type="hidden" name="bbsId" value="<c:out value='${result.bbsId}'/>"/> + <input type="hidden" name="bbsNm" value="<c:out value='${result.bbsNm}'/>"/> + <input type="submit" value="<c:out value="${result.bbsNm}"/>"/> + </form> + </li> +</c:forEach> +</ul> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSListPortlet.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterRegist.jsp (revision 7) @@ -0,0 +1,229 @@ +<% + /** + * @Class Name : EgovBBSMasterRegist.jsp + * @Description : EgovBBSMasterRegist 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * @ 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * @ 2018.10.15 최두영 표준프레임워크 V3.8 개선 + * + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comCopBbs.boardMasterVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title><!-- 게시판 마스터 등록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="boardMasterVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + + // 첫 입력란에 포커스 + document.getElementById("boardMasterVO").bbsNm.focus(); + +} +/* ******************************************************** + * 저장처리화면 + ******************************************************** */ +function fn_egov_regist_bbs(form){ + //input item Client-Side validate + if (!validateBoardMasterVO(form)) { + return false; + } else { + + var validateForm = document.getElementById("boardMasterVO"); + + //방명록 게시판의 경우 답장 불가, 파일첨부 불가 + if(validateForm.bbsTyCode.value == 'BBST03') { + if(validateForm.replyPosblAt.value == 'Y') { + alert("<spring:message code="comCopBbs.boardMasterVO.guestReply" />"); + return; + } + if(validateForm.fileAtchPosblAt.value == 'Y') { + alert("<spring:message code="comCopBbs.boardMasterVO.guestFile" />"); + return; + } + } else { + if(validateForm.fileAtchPosblAt.value == 'Y' && validateForm.atchPosblFileNumber.value == '0') { + alert('첨부가능파일숫자를 선택하세요.'); + return; + } + } + + if(confirm("<spring:message code="common.regist.msg" />")){ + form.submit(); + } + } +} +</script> + +</head> +<body onLoad="fn_egov_init();"> + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form:form commandName="boardMasterVO" action="${pageContext.request.contextPath}/cop/bbs/insertBBSMaster.do" method="post" onSubmit="fn_egov_regist_bbs(document.forms[0]); return false;"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2><!-- 게시판 마스터 등록 --> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle } <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 20%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 게시판명 --> + <c:set var="title"><spring:message code="comCopBbs.boardMasterVO.regist.bbsNm"/> </c:set> + <tr> + <th><label for="bbsNm">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="bbsNm" title="${title} ${inputTxt}" size="70" maxlength="70" /> + <div><form:errors path="bbsNm" cssClass="error" /></div> + </td> + </tr> + <!-- 게시판 소개내용 --> + <c:set var="title"><spring:message code="comCopBbs.boardMasterVO.regist.bbsIntrcn"/> </c:set> + <tr> + <th><label for="bbsIntrcn">${title } <span class="pilsu">*</span></label></th> + <td class="nopd"> + <form:textarea path="bbsIntrcn" title="${title} ${inputTxt}" cols="300" rows="20" /> + <div><form:errors path="bbsIntrcn" cssClass="error" /></div> + </td> + </tr> + + <!-- 게시판 유형 --> + <c:set var="title"><spring:message code="comCopBbs.boardMasterVO.regist.bbsTyCode"/> </c:set> + <tr> + <th><label for="bbsTyCode">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:select path="bbsTyCode" title="${title} ${inputTxt}" cssClass="txt"> + <form:option value="" label="--선택하세요--" /> + <form:options items="${bbsTyCode}" itemValue="code" itemLabel="codeNm" /> + </form:select> + <div><form:errors path="bbsTyCode" cssClass="error" /></div> + </td> + </tr> + + <!-- 답장가능여부 --> + <c:set var="title"><spring:message code="comCopBbs.boardMasterVO.regist.replyPosblAt"/> </c:set> + <tr> + <th><label for="replyPosblAt">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:select path="replyPosblAt" title="${title} ${inputTxt }" cssClass="txt"> + <form:option value="" label="--선택하세요--" /> + <form:option value="Y" label="예" /> + <form:option value='N'>아니오</form:option> + </form:select> + <div><form:errors path="replyPosblAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 파일첨부가능여부 --> + <c:set var="title"><spring:message code="comCopBbs.boardMasterVO.regist.fileAtchPosblAt"/> </c:set> + <tr> + <th><label for="fileAtchPosblAt">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:select path="fileAtchPosblAt" title="${title} ${inputTxt}" cssClass="txt"> + <form:option value="" label="--선택하세요--" /> + <form:option value="Y" label="예" /> + <form:option value='N'>아니오</form:option> + </form:select> + <div><form:errors path="fileAtchPosblAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 첨부가능파일숫자 --> + <c:set var="title"><spring:message code="comCopBbs.boardMasterVO.regist.atchPosblFileNumber"/> </c:set> + <tr> + <th><label for="atchPosblFileNumber">${title } <span class="pilsu">*</span></label></th> + <td class="left"> + <form:select path="atchPosblFileNumber" title="${title} ${inputTxt }" cssClass="txt"> + <form:option value="0" selected="selected">없음</form:option> + <form:option value='1'>1</form:option> + <form:option value='2'>2</form:option> + <form:option value='3'>3</form:option> + </form:select> + <div><form:errors path="atchPosblFileNumber" cssClass="error" /></div> + </td> + </tr> + + <!-- 2011.09.15 : 2단계 기능 추가 방법 변경 --> + <c:if test="${useComment == 'true' || useSatisfaction == 'true'}"> + <tr> + <th><label for="option"><spring:message code="comCopBbs.boardMasterVO.detail.option" />&nbsp;&nbsp;&nbsp;&nbsp;</label></th> + <td class="left"> + <form:select path="option" title="추가선택사항선택" > + <form:option value="" label="미선택" /> + <c:if test="${useComment == 'true'}"> + <form:option value='comment'><spring:message code="comCopBbs.boardMasterVO.detail.option2" /></form:option> + </c:if> + <c:if test="${useSatisfaction == 'true'}"> + <form:option value='stsfdg'><spring:message code="comCopBbs.boardMasterVO.detail.option3" /></form:option> + </c:if> + </form:select> + </td> + </tr> + </c:if> + <!-- 2009.06.26 : 2단계 기능 추가 방법 변경 --> + + <!-- 사용여부 --> + <c:set var="title"><spring:message code="comCopBbs.boardMasterVO.regist.useAt"/> </c:set> + <tr> + <th><label for="useAt">${title } <span class="pilsu">*</span></label></th> + <td class="left"> + <form:select path="useAt" title="${title} ${inputTxt }" cssClass="txt"> + <form:option value="" label="--선택하세요--" /> + <form:option value="Y" label="예" /> + <form:option value='N'>아니오</form:option> + </form:select> + <div><form:errors path="useAt" cssClass="error" /></div> + </td> + </tr> + + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /><!-- 등록 --> + <span class="btn_s"><a href="<c:url value='/cop/bbs/selectBBSMasterInfs.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div><div style="clear:both;"></div> + +</div> + +<input name="cmmntyId" type="hidden" value="<c:out value='${searchVO.cmmntyId}'/>"> +<input name="blogId" type="hidden" value="<c:out value='${searchVO.blogId}'/>"> +<input name="blogAt" type="hidden" value="<c:out value='${searchVO.blogAt}'/>"> +<input name="cmd" type="hidden" value="<c:out value='save'/>"> +</form:form> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovBBSMasterRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleRegist.jsp (revision 7) @@ -0,0 +1,302 @@ +<% + /** + * @Class Name : EgovArticleRegist.jsp + * @Description : EgovArticleRegist 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * 2018.06.05 신용호 CK Editor V4.9.2 Upgrade + * + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comCopBbs.articleVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title><!-- 게시글 등록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<%-- <script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFile.js'/>" ></script> --%> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFiles.js'/>" ></script> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/utl/EgovCmmUtl.js'/>" ></script> +<script type="text/javascript" src="<c:url value='/html/egovframework/com/cmm/utl/ckeditor/ckeditor.js?t=B37D54V'/>" ></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<validator:javascript formName="articleVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + +$(function() { + $("#ntceBgnde").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + $("#ntceEndde").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); +}); + +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + + //filebrowserUploadUrl: '${pageContext.request.contextPath}/utl/wed/insertImage.do', // 파일 업로드를 처리 할 경로 설정. + var ckeditor_config = { + //filebrowserImageUploadUrl: '${pageContext.request.contextPath}/utl/wed/insertImageCk.do', // 파일 업로드를 처리 할 경로 설정. + filebrowserImageUploadUrl: '${pageContext.request.contextPath}/ckUploadImage', // 파일 업로드를 처리 할 경로 설정(CK필터). + }; + CKEDITOR.replace('nttCn',ckeditor_config); + + // 첫 입력란에 포커스 + document.getElementById("articleVO").nttSj.focus(); + + + } + /* ******************************************************** + * 저장처리화면 + ******************************************************** */ + function fn_egov_regist_article(form) { + + CKEDITOR.instances.nttCn.updateElement(); + + //input item Client-Side validate + if (!validateArticleVO(form)) { + return false; + } else { + + var validateForm = document.getElementById("articleVO"); + + //비밀글은 제목 진하게 할 수 없음. + //비밀글은 익명게시 불가. + //비밀글은 공지게시 불가. + if (validateForm.secretAt.checked) { + if (validateForm.sjBoldAt.checked) { + alert("<spring:message code="comCopBbs.articleVO.secretBold" />"); + return; + } + if (validateForm.anonymousAt.checked) { + alert("<spring:message code="comCopBbs.articleVO.secretAnonymous" />"); + return; + } + if (validateForm.noticeAt.checked) { + alert("<spring:message code="comCopBbs.articleVO.secretNotice" />"); + return; + } + } + + //익명글은 공지게시 불가. + if (validateForm.anonymousAt.checked) { + if (validateForm.noticeAt.checked) { + alert("<spring:message code="comCopBbs.articleVO.anonymousNotice" />"); + return; + } + } + + //게시기간 + var ntceBgnde = getRemoveFormat(validateForm.ntceBgnde.value); + var ntceEndde = getRemoveFormat(validateForm.ntceEndde.value); + + if (ntceBgnde == '' && ntceEndde != '') { + validateForm.ntceBgnde.value = '1900-01-01'; + } + if (ntceBgnde != '' && ntceEndde == '') { + validateForm.ntceEndde.value = '9999-12-31'; + } + if (ntceBgnde == '' && ntceEndde == '') { + validateForm.ntceBgnde.value = '1900-01-01'; + validateForm.ntceEndde.value = '9999-12-31'; + } + + ntceBgnde = getRemoveFormat(validateForm.ntceBgnde.value); + ntceEndde = getRemoveFormat(validateForm.ntceEndde.value); + + if (ntceBgnde > ntceEndde) { + alert("<spring:message code="comCopBbs.articleVO.ntceDeError" />"); + return; + } + + if (confirm("<spring:message code="common.regist.msg" />")) { + form.submit(); + } + } + } +</script> + +</head> +<body onLoad="fn_egov_init();"> + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form:form commandName="articleVO" action="${pageContext.request.contextPath}/cop/bbs/insertArticle.do" method="post" onSubmit="fn_egov_regist_article(document.forms[0]); return false;" enctype="multipart/form-data"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2><!-- 게시글 등록 --> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle } <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 20%;"> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 글 제목, 제목 Bold여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.regist.nttSj"/> </c:set> + <tr> + <th><label for="nttSj">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="nttSj" title="${title} ${inputTxt}" size="70" maxlength="70" /> + <div><form:errors path="nttSj" cssClass="error" /></div> + </td> + <c:set var="title"><spring:message code="comCopBbs.articleVO.regist.sjBoldAt"/> </c:set> + <th><label for="sjBoldAt">${title}</label></th> + <td class="left"> + <form:checkbox path="sjBoldAt" value="Y"/> + <div><form:errors path="sjBoldAt" cssClass="error" /></div> + </td> + </tr> + <!-- 글 내용 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.regist.nttCn"/> </c:set> + <tr> + <th><label for="nttCn">${title } <span class="pilsu">*</span></label></th> + <td class="nopd" colspan="3"> + <form:textarea path="nttCn" title="${title} ${inputTxt}" cols="300" rows="20" /> + + <div><form:errors path="nttCn" cssClass="error" /></div> + </td> + </tr> + + <!-- 공지신청 여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.regist.noticeAt"/> </c:set> + <tr> + <th><label for="noticeAt">${title}</label></th> + <td class="left" colspan="3"> + <form:checkbox path="noticeAt" value="Y"/> + <div><form:errors path="noticeAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 비밀글 여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.regist.secretAt"/> </c:set> + <tr> + <th><label for="secretAt">${title}</label></th> + <td class="left" colspan="3"> + <form:checkbox path="secretAt" value="Y"/> + <div><form:errors path="secretAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 익명등록 여부 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.regist.anonymousAt"/> </c:set> + <tr> + <th><label for="anonymousAt">${title}</label></th> + <td class="left" colspan="3"> + <form:checkbox path="anonymousAt" value="Y"/> + <div><form:errors path="anonymousAt" cssClass="error" /></div> + </td> + </tr> + + <!-- 유효기간 설정 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.regist.ntceDe"/> </c:set> + <tr> + <th><label for="ntceBgnde">${title} </label></th> + <td class="left" colspan="3"> + <form:input path="ntceBgnde" title="${title} ${inputTxt}" size="70" maxlength="70" style="width:70px;" readonly="true" /> + &nbsp;~&nbsp;<form:input path="ntceEndde" title="${title} ${inputTxt}" size="70" maxlength="70" style="width:70px;" readonly="true" /> + <div><form:errors path="ntceBgnde" cssClass="error" /></div> + <div><form:errors path="ntceEndde" cssClass="error" /></div> + </td> + </tr> + + <c:if test="${boardMasterVO.fileAtchPosblAt == 'Y'}"> + <!-- 첨부파일 --> + <c:set var="title"><spring:message code="comCopBbs.articleVO.regist.atchFile"/></c:set> + <tr> + <th><label for="file_1">${title}</label> </th> + <td class="nopd" colspan="3"> + <input name="file_1" id="egovComFileUploader" type="file" title="<spring:message code="comCopBbs.articleVO.regist.atchFile"/>" multiple/><!-- 첨부파일 --> + <div id="egovComFileList"></div> + </td> + </tr> + </c:if> + + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /><!-- 등록 --> + <span class="btn_s"><a href="<c:url value='/cop/bbs/selectArticleList.do' />?bbsId=${boardMasterVO.bbsId}" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div><div style="clear:both;"></div> + +</div> + +<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"/> +<input type="hidden" name="bbsTyCode" value="<c:out value='${boardMasterVO.bbsTyCode}'/>" /> +<input type="hidden" name="replyPosblAt" value="<c:out value='${boardMasterVO.replyPosblAt}'/>" /> +<input type="hidden" name="fileAtchPosblAt" value="<c:out value='${boardMasterVO.fileAtchPosblAt}'/>" /> +<input type="hidden" id="atchPosblFileNumber" name="atchPosblFileNumber" value="<c:out value='${boardMasterVO.atchPosblFileNumber}'/>" /> +<input type="hidden" name="atchPosblFileSize" value="<c:out value='${boardMasterVO.atchPosblFileSize}'/>" /> +<input type="hidden" name="blogId" value="<c:out value='${searchVO.blogId}'/>" /> +<input type="hidden" name="blogAt" value="<c:out value='${articleVO.blogAt}'/>"/> +<input type="hidden" name="cmd" value="<c:out value='save'/>"> +<input type="hidden" name="bbsId" value="<c:out value='${articleVO.bbsId}'/>"> +</form:form> + +<!-- 첨부파일 업로드 가능화일 설정 Start..--> +<script type="text/javascript"> +var maxFileNum = document.getElementById('atchPosblFileNumber').value; +if(maxFileNum==null || maxFileNum==""){ + maxFileNum = 3; +} +var multi_selector = new MultiSelector( document.getElementById( 'egovComFileList' ), maxFileNum ); +multi_selector.addElement( document.getElementById( 'egovComFileUploader' ) ); +</script> +<!-- 첨부파일 업로드 가능화일 설정 End.--> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/bbs/EgovArticleRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/cmt/EgovArticleCommentList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/cmt/EgovArticleCommentList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/cmt/EgovArticleCommentList.jsp (revision 7) @@ -0,0 +1,103 @@ +<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ page import="egovframework.com.cmm.service.EgovProperties" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<% + /** + * @Class Name : EgovCommentList.jsp + * @Description : 댓글 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.06.29 한성곤 최초 생성 + * + * @author 공통컴포넌트개발팀 한성곤 + * @since 2009.06.29 + * @version 1.0 + * @see + * + */ +%> + + +<c:if test="${type == 'body'}"> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<!-- 댓글 내용 --> + <c:set var="replyTitle"><spring:message code="comCopCmt.articleCommentVO.title"/></c:set> + <h3>${replyTitle} <c:out value="${resultCnt}"/></h3> + <div class="reply"> + <ul> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <li> + <div class="top"> + <strong><c:out value="${result.wrterNm}" /></strong> + <span class="bar">|</span> + <span class="date"><c:out value="${result.frstRegisterPnttm}" /></span> + </div> + <p class="txt"> + <c:out value="${fn:replace(result.commentCn , crlf , '<br/>')}" escapeXml="false" /> + </p> + <div class="bottom"> + <c:if test="${result.wrterId == sessionUniqId}"> + <span class="btn_s"><a href="javascript:fn_egov_selectCommentForupdt(${result.commentNo})" title="<spring:message code="button.update" /> <spring:message code="input.button" />"><spring:message code="button.update" /> </a></span>&nbsp; + <span class="btn_s"><a href="javascript:fn_egov_deleteCommentList(${result.commentNo})" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="button.delete" /></a></span> + </c:if> + </div> + </li> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <li> + <p class="txt"><spring:message code="common.nocomment.msg" /></p> + </li> + </c:if> + </ul> + </div> + + <!-- paging navigation --> + <div class="paging"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_commentList"/> + </ul> + </div> + + <form:form commandName="articleCommentVO" action="${pageContext.request.contextPath}/cop/cmt/insertArticleComment.do" method="post" onSubmit="fn_egov_insert_commentList(); return false;" style="float:left; clear:both;"> + <div class="wTableFrm" > + <table class="board_list top_line"> + <caption>${replyTitle } <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 16%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 댓글 내용 --> + <c:set var="title"><spring:message code="comCopCmt.articleCommentVO.commentCn"/> </c:set> + <tr> + <th><label for="commentCn">${title } <span class="pilsu">*</span></label></th> + <td class="nopd"> + <form:textarea path="commentCn" title="${title} ${inputTxt}" cols="300" rows="20" cssClass="re_txt"/> + <div><form:errors path="commentCn" cssClass="error" /></div> + <c:choose> + <c:when test="${searchVO.commentNo == '' }"> + <span style="float:left;"><a href="javascript:fn_egov_insert_commentList(); " class="btn_s re_btn" title="<spring:message code="button.comment" /> <spring:message code="input.button" />"><spring:message code="button.comment" /><spring:message code="button.create" /></a></span> + </c:when> + <c:otherwise> + <span style="float:left;"><a href="javascript:fn_egov_updt_commentList(); " class="btn_s re_btn"title="<spring:message code="button.update" /> <spring:message code="input.button" />"><spring:message code="button.comment" /><spring:message code="button.update" /></a></span> + </c:otherwise> + </c:choose> + </td> + </tr> + </tbody> + </table> + </div> +<input name="subPageIndex" type="hidden" value="<c:out value='${searchVO.subPageIndex}'/>"> +<input name="commentNo" type="hidden" value="<c:out value='${searchVO.commentNo}'/>"> +<input name="modified" type="hidden" value="false"> +<input name="nttId" type="hidden" value="<c:out value="${result.nttId}" />"> +<input name="bbsId" type="hidden" value="<c:out value="${boardMasterVO.bbsId}" />"> +</form:form> + +</c:if> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/cop/cmt/EgovArticleCommentList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberManage.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberManage.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberManage.jsp (revision 7) @@ -0,0 +1,224 @@ +<% + /** + * @Class Name : EgovEntrprsMberManage.jsp + * @Description : 기업회원관리(조회,삭제) JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.02 조재영 최초 생성 + * @ 2016.07.26 장동한 표준프레임워크 v3.6 개선 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.03.02 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.entrprsUserManage.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title><!-- 기업회원관리 목록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- +function fncCheckAll() { + var checkField = document.listForm.checkField; + if(document.listForm.checkAll.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} +function fnDeleteUser() { + var checkField = document.listForm.checkField; + var id = document.listForm.checkId; + var checkedIds = ""; + var checkedCount = 0; + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + if(checkField[i].checked) { + checkedIds += ((checkedCount==0? "" : ",") + id[i].value); + checkedCount++; + } + } + } else { + if(checkField.checked) { + checkedIds = id.value; + } + } + } + if(checkedIds.length > 0) { + if(confirm("<spring:message code="common.delete.msg" />")){ + document.listForm.checkedIdForDel.value=checkedIds; + document.listForm.action = "<c:url value='/uss/umt/EgovEntrprsMberDelete.do'/>"; + document.listForm.submit(); + } + } +} +function fnSelectUser(id) { + document.listForm.selectedId.value = id; + array = id.split(":"); + if(array[0] == "") { + } else { + userTy = array[0]; + userId = array[1]; + } + document.listForm.selectedId.value = userId; + document.listForm.action = "<c:url value='/uss/umt/EgovEntrprsMberSelectUpdtView.do'/>"; + document.listForm.submit(); + +} +function fnAddUserView() { + document.listForm.action = "<c:url value='/uss/umt/EgovEntrprsMberInsertView.do'/>"; + document.listForm.submit(); +} +function fnLinkPage(pageNo){ + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/uss/umt/EgovEntrprsMberManage.do'/>"; + document.listForm.submit(); +} +function fnSearch(){ + document.listForm.pageIndex.value = 1; + document.listForm.action = "<c:url value='/uss/umt/EgovEntrprsMberManage.do'/>"; + document.listForm.submit(); +} +<c:if test="${!empty resultMsg}">alert("<spring:message code="${resultMsg}" />");</c:if> +--> +</script> +</head> +<body> + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="listForm" action="<c:url value='/uss/umt/EgovEntrprsMberManage.do'/>" method="post"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + + <!-- 검색영역 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li style="margin:3px 0 0 0;"><div>사용자수 <strong><c:out value="${paginationInfo.totalRecordCount}"/></strong></div></li> + <li><!-- 상태--> + <select name="sbscrbSttus" id="sbscrbSttus" title="<spring:message code="comUssUmt.userManageSsearch.sbscrbSttusTitle" />"> + <option value="0" <c:if test="${empty userSearchVO.sbscrbSttus || userSearchVO.sbscrbSttus == '0'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.sbscrbSttusAll" /></option><!-- 상태(전체) --> + <option value="A" <c:if test="${userSearchVO.sbscrbSttus == 'A'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.sbscrbSttusA" /></option><!-- 가입신청 --> + <option value="D" <c:if test="${userSearchVO.sbscrbSttus == 'D'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.sbscrbSttusD" /></option><!-- 삭제 --> + <option value="P" <c:if test="${userSearchVO.sbscrbSttus == 'P'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.sbscrbSttusP" /></option><!-- 승인 --> + </select> + </li> + <li><!-- 조건 --> + <select name="searchCondition" id="searchCondition" title="<spring:message code="comUssUmt.userManageSsearch.searchConditioTitle" />"><!-- --> + <option value="0" <c:if test="${userSearchVO.searchCondition == '0'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.searchConditionId" /></option><!-- ID --> + <option value="1" <c:if test="${empty userSearchVO.searchCondition || userSearchVO.searchCondition == '1'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.searchConditionName" /></option><!-- Name --> + </select> + </li> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${userSearchVO.searchKeyword}"/>' maxlength="255" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /><!-- 조회 --> + <input type="button" class="s_btn" onClick="fnDeleteUser(); return false;" value="<spring:message code="title.delete" />" title="<spring:message code="title.delete" /> <spring:message code="input.button" />" /><!-- 삭제 --> + <span class="btn_b"><a href="<c:url value='/uss/umt/EgovEntrprsMberInsertView.do'/>" onClick="fnAddUserView(); return false;" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span><!-- 등록 --> + </li> + </ul> + </div> + + + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 5%;"> + <col style="width: 3%;"> + + <col style="width: 10%;"> + <col style="width: 10%;"> + <col style="width: 15%;"> + <col style="width: 20%;"> + <col style="width: 13%;"> + <col style="width: 10%;"> + <col style="width: ;"> + </colgroup> + <thead> + <tr> + <th><spring:message code="table.num" /></th><!-- 번호 --> + <th><input type="checkbox" name="checkAll" class="check2" onclick="javascript:fncCheckAll()" title="<spring:message code="input.selectAll.title" />"></th><!-- 전체선택 --> + + <th class="board_th_link"><spring:message code="comUssUmt.entrprsUserManageList.id" /></th><!--아이디 --> + <th><spring:message code="comUssUmt.entrprsUserManageList.company" /></th><!-- 회사명 --> + <th><spring:message code="comUssUmt.entrprsUserManageList.name" /></th><!-- 신청자이름 --> + <th><spring:message code="comUssUmt.entrprsUserManageList.email" /></th><!-- 사용자이메일 --> + <th><spring:message code="comUssUmt.entrprsUserManageList.phone" /></th><!-- 전화번호 --> + <th><spring:message code="table.regdate" /></th><!-- 등록일 --> + <th><spring:message code="comUssUmt.entrprsUserManageList.sbscrbSttus" /></th><!-- 가입상태 --> + + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="9"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <td><c:out value="${status.count}"/></td> + <td> + <input type="checkbox" name="checkField" class="check2" title="선택"/> + <input name="checkId" type="hidden" value="<c:out value='${result.userTy}'/>:<c:out value='${result.uniqId}'/>"/> + </td> + <td><a href="<c:url value='/uss/umt/EgovEntrprsMberSelectUpdtView.do'/>?selectedId=<c:out value="${result.uniqId}"/>" onclick="javascript:fnSelectUser('<c:out value="${result.userTy}"/>:<c:out value="${result.uniqId}"/>'); return false;"><c:out value="${result.userId}"/></a></td> + <td><c:out value="${result.cmpnyNm}"/></td> + <td><c:out value="${result.userNm}"/></td> + <td><c:out value="${result.emailAdres}"/></td> + <td><c:out value="${result.areaNo}"/>)<c:out value="${result.middleTelno}"/>-<c:out value="${result.endTelno}"/></td> + <td><c:out value="${fn:substring(result.sbscrbDe,0,10)}"/></td> + <td> + <c:forEach var="entrprsMberSttus_result" items="${entrprsMberSttus_result}" varStatus="status"> + <c:if test="${result.sttus == entrprsMberSttus_result.code}"><c:out value="${entrprsMberSttus_result.codeNm}"/></c:if> + </c:forEach> + </td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul><ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fnLinkPage"/></ul> + </div> + + <input name="selectedId" type="hidden" /> + <input name="checkedIdForDel" type="hidden" /> + <input name="pageIndex" type="hidden" value="<c:out value='${userSearchVO.pageIndex}'/>"/> +</div> +</form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberManage.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberSelectUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberSelectUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberSelectUpdt.jsp (revision 7) @@ -0,0 +1,280 @@ +<% + /** + * @Class Name : EgovMberSelectUpdt.jsp + * @Description : 일반회원상세조회, 수정 JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.02 조재영 최초 생성 + * @ 2015.06.16 조정국 password 중복필드 정리 + * @ 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * @ 2017.07.21 장동한 로그인인증제한 작업 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.03.02 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.userManage.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.update" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="mberManageVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript" defer="defer"> +function fnListPage(){ + document.mberManageVO.action = "<c:url value='/uss/umt/EgovMberManage.do'/>"; + document.mberManageVO.submit(); +} +function fnDeleteMber(checkedIds) { + if(confirm("<spring:message code="common.delete.msg" />")){ + document.mberManageVO.checkedIdForDel.value=checkedIds; + document.mberManageVO.action = "<c:url value='/uss/umt/EgovMberDelete.do'/>"; + document.mberManageVO.submit(); + } +} +function fnPasswordMove(){ + document.mberManageVO.action = "<c:url value='/uss/umt/EgovMberPasswordUpdtView.do'/>"; + document.mberManageVO.submit(); +} + +function fnLockIncorrect(){ + if(confirm("<spring:message code="comUssUmt.common.lockAtConfirm" />")){ + document.mberManageVO.action = "<c:url value='/uss/umt/EgovMberLockIncorrect.do'/>"; + document.mberManageVO.selectedId.value=document.mberManageVO.uniqId.value; + document.mberManageVO.submit(); + } +} + +function fnUpdate(form){ + if(confirm("<spring:message code="common.save.msg" />")){ + if(validateMberManageVO(form)){ + document.mberManageVO.submit(); + return true; + }else{ + return false; + } + } +} +</script> +</head> +<body> + + +<!-- content start --> +<form:form commandName="mberManageVO" action="${pageContext.request.contextPath}/uss/umt/EgovMberSelectUpdt.do" name="mberManageVO" method="post" onSubmit="fnUpdate(document.forms[0]); return false;"> + +<!-- 상세정보 사용자 삭제시 prameter 전달용 input --> +<input name="checkedIdForDel" type="hidden" /> +<!-- 검색조건 유지 --> +<input type="hidden" name="searchCondition" value="<c:out value='${userSearchVO.searchCondition}'/>"/> +<input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/> +<input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> +<input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> +<!-- 우편번호검색 --> +<input type="hidden" name="zip_url" value="<c:url value='/sym/ccm/zip/EgovCcmZipSearchPopup.do'/>" /> +<!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음--> +<input type="hidden" name="userTyForPassword" value="<c:out value='${mberManageVO.userTy}'/>" /> +<!-- for validation --> +<input type="hidden" name="password" id="password" value="ex~Test#$12"/> +<input type="hidden" name="selectedId" id="selectedId" value=""/> + +<div class="wTableFrm"> + <h2>${pageTitle} <spring:message code="title.update" /></h2> + + <!-- 수정폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 22%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력/선택 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputSelect"><spring:message code="input.cSelect" /></c:set> + <!-- 일반회원아이디 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.id"/></c:set> + <tr> + <th><label for="mberId">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="mberId" id="mberId" title="${title} ${inputTxt}" size="20" readonly="true" maxlength="20" /> + <form:errors path="mberId" cssClass="error" /> + <form:hidden path="uniqId" /> + </td> + </tr> + <!-- 일반회원이름 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.name"/></c:set> + <tr> + <th><label for="mberNm">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="mberNm" title="${title} ${inputTxt}" size="50" maxlength="60" /> + <div><form:errors path="mberNm" cssClass="error" /></div> + </td> + </tr> + <!-- 비밀번호힌트 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.passHit"/></c:set> + <tr> + <th><label for="passwordHint">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="passwordHint" id="passwordHint" title="${title} ${inputSelect}"> + <form:option value="" label="--선택하세요--"/> + <form:options items="${passwordHint_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="passwordHint" cssClass="error"/></div> + </td> + </tr> + <!-- 비밀번호정답 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.passOk"/></c:set> + <tr> + <th><label for="passwordCnsr">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="passwordCnsr" id="passwordCnsr" title="${title} ${inputTxt}" size="50" maxlength="100" /> + <div><form:errors path="passwordCnsr" cssClass="error"/></div> + </td> + </tr> + <!-- 성별구분코드 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.saxTypeCode"/></c:set> + <tr> + <th><label for="sexdstnCode">${title}</label></th> + <td class="left"> + <form:select path="sexdstnCode" id="sexdstnCode" title="${title} ${inputSelect}"> + <form:option value="" label="--선택하세요--"/> + <form:options items="${sexdstnCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + </td> + </tr> + <!-- 전화번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.tel"/></c:set> + <tr> + <th><label for="areaNo">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="areaNo" id="areaNo" title="전화번호" cssClass="txaIpUmt" size="5" maxlength="5" style="width:40px;"/> + - <form:input path="middleTelno" id="middleTelno" cssClass="txaIpUmt" size="5" maxlength="5" style="width:40px;"/> + - <form:input path="endTelno" id="endTelno" cssClass="txaIpUmt" size="5" maxlength="5" style="width:40px;"/> + <div><form:errors path="areaNo" cssClass="error" /></div> + <div><form:errors path="middleTelno" cssClass="error" /></div> + <div><form:errors path="endTelno" cssClass="error" /></div> + </td> + </tr> + <!-- 팩스번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.fax"/></c:set> + <tr> + <th><label for="mberFxnum">${title}</label></th> + <td class="left"> + <form:input path="mberFxnum" id="mberFxnum" title="${title} ${inputTxt}" size="20" maxlength="15" /> + <div><form:errors path="mberFxnum" cssClass="error" /></div> + </td> + </tr> + <!-- 헨드폰번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.phone"/></c:set> + <tr> + <th><label for="moblphonNo">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="moblphonNo" id="moblphonNo" title="${title} ${inputTxt}" size="20" maxlength="15" /> + <div><form:errors path="moblphonNo" cssClass="error" /></div> + </td> + </tr> + <!-- 이메일주소 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.email"/></c:set> + <tr> + <th><label for="mberEmailAdres">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="mberEmailAdres" id="mberEmailAdres" title="${title} ${inputTxt}" size="30" maxlength="50" /> + <div><form:errors path="mberEmailAdres" cssClass="error" /></div> + </td> + </tr> + <!-- 우번번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.post"/></c:set> + <tr> + <th><label for="zip">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="zip" id="zip" title="${title} ${inputTxt}" readonly="true" size="70" maxlength="6" style="width:60px;"/> + <!-- form:hidden path="zip" id="zip" --> + <!-- <button class="btn_s2" onClick="fn_egov_ZipSearch(document.mberManageVO, document.mberManageVO.zip, document.mberManageVO.zip_view, document.mberManageVO.adres);return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />">우번번호검색</button> --> + <div><form:errors path="zip" cssClass="error" /></div> + </td> + </tr> + <!-- 주소 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.addr"/></c:set> + <tr> + <th><label for="adres">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="adres" id="adres" title="${title} ${inputTxt}" readonly="true" size="70" maxlength="100" /> + <div><form:errors path="adres" cssClass="error" /></div> + </td> + </tr> + <!-- 상세주소 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.addrDetail"/></c:set> + <tr> + <th><label for="detailAdres">${title}</label> </th> + <td class="left"> + <form:input path="detailAdres" id="detailAdres" title="${title} ${inputTxt}" size="70" maxlength="100" /> + <div><form:errors path="detailAdres" cssClass="error" /></div> + </td> + </tr> + <!-- 그룹아이디 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.groupId"/></c:set> + <c:set var="inputSelect"><spring:message code="input.select"/></c:set> + <tr> + <th><label for="groupId">${title}</label></th> + <td class="left"> + <form:select path="groupId" id="groupId" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${groupId_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="groupId" cssClass="error"/></div> + </td> + </tr> + <!-- 일반회원상태코드 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.status"/></c:set> + <tr> + <th><label for="mberSttus">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="mberSttus" id="mberSttus" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${mberSttus_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="mberSttus" cssClass="error"/></div> + </td> + </tr> + <!-- 로그인인증제한여부 --> + <c:set var="title"><spring:message code="comUssUmt.common.lockAt"/></c:set> + <tr> + <th><label for="lockAt">${title}</label></th> + <td class="left"> + <c:if test="${mberManageVO.lockAt eq 'Y'}">예</c:if> + <c:if test="${mberManageVO.lockAt == null || mberManageVO.lockAt eq '' || mberManageVO.lockAt eq 'N'}">아니오</c:if> + </td> + </tr> + </tbody> + </table> + + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.save" />" title="<spring:message code="button.save" /> <spring:message code="input.button" />" /> + <button class="btn_s2" onClick="fnDeleteMber('<c:out value='${mberManageVO.userTy}'/>:<c:out value='${mberManageVO.uniqId}'/>'); return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="button.delete" /></button> + <span class="btn_s"><a href="<c:url value='/uss/umt/EgovMberManage.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + <button class="btn_s2" onClick="fnPasswordMove(); return false;" title="<spring:message code="comUssUmt.userManageModifyBtn.passwordChange" /> <spring:message code="input.button" />"><spring:message code="comUssUmt.userManageModifyBtn.passwordChange" /></button> + <button class="btn_s2" onClick="fnLockIncorrect(); return false;" title="<spring:message code="comUssUmt.common.lockAtBtn" /> <spring:message code="input.button" />"><spring:message code="comUssUmt.common.lockAtBtn" /></button> + <button class="btn_s2" onClick="document.mberManageVO.reset(); return false;" title="<spring:message code="button.reset" /> <spring:message code="input.button" />"><spring:message code="button.reset" /></button> + </div><div style="clear:both;"></div> +</div> +</form:form> +<!-- content end --> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberSelectUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberSbscrb.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberSbscrb.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberSbscrb.jsp (revision 7) @@ -0,0 +1,367 @@ +<% + /** + * @Class Name : EgovMberSbscrb.jsp + * @Description : 일반회원등록 JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.02 조재영 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.03.02 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.userManage.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="mberManageVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/ccm/zip/EgovZipPopup.js' />" ></script> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script type="text/javaScript" language="javascript" defer="defer"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + + //모달 셋팅 + fn_modal_setting(); + +} +/********************************************************* + * 모달셋팅 + ******************************************************** */ +function fn_modal_setting(){ + //버튼에 모달 연결 + $("#btnMbrId").egovModal( "egovModal" ); + + //타이틀 설졍 + $("#egovModal").setEgovModalTitle("<spring:message code="comUssUmt.userManageRegistModal.title" />"); //아이디 중복 확인 + var content = ""; + content = content + "<div class='modal-alignL' style='margin:5px 0 0 0'>"+"<spring:message code="comUssUmt.userManageRegistModal.userIsId" /> :"+"</div>"; //사용할아이디 + content = content + "<div class='modal-alignL'>"+"<input type='text' id='checkIdModal' name='checkIdModal' value='' size='20' maxlength='20' />"+"</div>"; + content += "<div style='clear:both;'></div>"; + content += "<div id='divModalResult' style='margin:10px 0 0 0'><spring:message code="comUssUmt.userManageRegistModal.initStatus" /></div>"; //결과 : 중복확인을 실행하십시오. + //모달 body 설정 + $("#egovModal").setEgovModalBody(content); + + var footer = ""; + //footer += "<div class='modal-btn'><button class='btn_s2' id='btnModalOk' onclick='fn_id_checkOk()'>확인</button></div>"; + //footer += "<div class='modal-btn'><button class='btn_s2' id='btnModalSelect' onclick='fn_id_check()'>조회</button></div>"; + footer += "<span class='btn_style1 blue' id='btnModalOk' onclick='fn_id_checkOk()'><a href='#'>확인</a></span>&nbsp;"; + footer += "<span class='btn_style1 blue' id='btnModalSelect' onclick='fn_id_check()'><a href='#'>조회</a></span>&nbsp;"; + //모달 footer 설정 + $("#egovModal").setEgovModalfooter(footer); + + //엔터이벤트처리 + $("input[name=checkIdModal]").keydown(function (key) { + if(key.keyCode == 13){ + fn_id_check(); + } + }); + footer = null; + content = null; +} +/********************************************************* + * 아이디 체크 AJAX + ******************************************************** */ +function fn_id_check(){ + $.ajax({ + type:"POST", + url:"<c:url value='/uss/umt/EgovIdDplctCnfirmAjax.do' />", + data:{ + "checkId": $("#checkIdModal").val() + }, + dataType:'json', + timeout:(1000*30), + success:function(returnData, status){ + if(status == "success") { + + if(returnData.usedCnt > 0 ){ + //사용할수 없는 아이디입니다. + $("#divModalResult").html("<font color='red'><spring:message code="comUssUmt.userManageRegistModal.result" /> : ["+returnData.checkId+"]<spring:message code="comUssUmt.userManageRegistModal.useMsg" /></font>"); + }else{ + //사용가능한 아이디입니다. + $("#divModalResult").html("<font color='blue'><spring:message code="comUssUmt.userManageRegistModal.result" /> : ["+returnData.checkId+"]<spring:message code="comUssUmt.userManageRegistModal.notUseMsg" /></font>"); + } + }else{ alert("ERROR!");return;} + } + }); +} + +/********************************************************* + * 아이디 체크 확인 + ******************************************************** */ +function fn_id_checkOk(){ + $.ajax({ + type:"POST", + url:"<c:url value='/uss/umt/EgovIdDplctCnfirmAjax.do' />", + data:{ + "checkId": $("#checkIdModal").val() + }, + dataType:'json', + timeout:(1000*30), + success:function(returnData, status){ + if(status == "success") { + if(returnData.usedCnt > 0 ){ + alert("<spring:message code="comUssUmt.userManageRegistModal.noIdMsg" />"); //사용이 불가능한 아이디 입니다. + return; + }else{ + + $("input[name=mberId]").val(returnData.checkId); + $("#egovModal").setEgovModalClose(); + } + }else{ alert("ERROR!");return;} + } + }); +} + + +function fnIdCheck1(){ + var retVal; + var url = "<c:url value='/uss/umt/EgovIdDplctCnfirmView.do'/>"; + var varParam = new Object(); + varParam.checkId = document.mberManageVO.mberId.value; + var openParam = "dialogWidth:303px;dialogHeight:250px;scroll:no;status:no;center:yes;resizable:yes;"; + + alert(1); + return false; + retVal = window.showModalDialog(url, varParam, openParam); + if(retVal) { + document.mberManageVO.mberId.value = retVal; + } +} + +function showModalDialogCallback(retVal) { + if(retVal) { + document.mberManageVO.mberId.value = retVal; + } +} + +function fnListPage(){ + document.mberManageVO.action = "<c:url value='/uss/umt/EgovMberManage.do'/>"; + document.mberManageVO.submit(); +} + +function fnInsert(form){ + + if(confirm("<spring:message code="common.regist.msg" />")){ + if(validateMberManageVO(form)){ + if(form.password.value != form.password2.value){ + alert("<spring:message code="fail.user.passwordUpdate2" />"); + return false; + } + form.submit(); + return true; + } + } + + + +} +</script> +<style> +.modal-content {width: 400px;} +</style> +</head> +<body onload="fn_egov_init()"> +<form:form commandName="mberManageVO" action="${pageContext.request.contextPath}/uss/umt/EgovMberSbscrb.do" name="mberManageVO" method="post" onSubmit="fnInsert(document.forms[0]); return false;"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 22%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력/선택 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputSelect"><spring:message code="input.cSelect" /></c:set> + <!-- 일반회원아이디 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.id"/></c:set> + <tr> + <th><label for="mberId">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="mberId" id="mberId" title="${title} ${inputTxt}" size="20" readonly="true" maxlength="20" style="width:80%;" /> + <button id="btnMbrId" class="btn_s2" onClick="return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="comUssUmt.userManageRegistBtn.idSearch" /></button> + <div><form:errors path="mberId" cssClass="error" /></div> + </td> + </tr> + <!-- 일반회원이름 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.name"/></c:set> + <tr> + <th><label for="mberNm">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="mberNm" title="${title} ${inputTxt}" size="50" maxlength="50" /> + <div><form:errors path="mberNm" cssClass="error" /></div> + </td> + </tr> + <!-- 비밀번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.pass"/></c:set> + <tr> + <th><label for="password">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <div> + <form:password path="password" title="${title} ${inputTxt}" size="50" maxlength="20" /> + <div><form:errors path="password" cssClass="error" /></div> + </div> + <div> + <div><spring:message code="info.password.rule.password1" /></div> + <div><spring:message code="info.password.rule.pwdcheckcomb3" /></div> + <div><spring:message code="info.password.rule.pwdcheckseries" /></div> + </div> + </td> + </tr> + <!-- 비밀번호확인 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.passConfirm"/></c:set> + <tr> + <th><label for="password2">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <input name="password2" id="password2" title="${title} ${inputTxt}" type="password" size="50" maxlength="20" /> + </td> + </tr> + <!-- 비밀번호힌트 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.passHit"/></c:set> + <tr> + <th><label for="passwordHint">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="passwordHint" id="passwordHint" title="${title} ${inputSelect}"> + <form:option value="" label="--선택하세요--"/> + <form:options items="${passwordHint_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="passwordHint" cssClass="error"/></div> + </td> + </tr> + <!-- 비밀번호정답 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.passOk"/></c:set> + <tr> + <th><label for="passwordCnsr">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="passwordCnsr" id="passwordCnsr" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="50" maxlength="100" /> + <div><form:errors path="passwordCnsr" cssClass="error"/></div> + </td> + </tr> + <!-- 성별구분코드 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.saxTypeCode"/></c:set> + <tr> + <th><label for="sexdstnCode">${title}</label></th> + <td class="left"> + <form:select path="sexdstnCode" id="sexdstnCode" title="${title} ${inputSelect}"> + <form:option value="" label="--선택하세요--"/> + <form:options items="${sexdstnCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + </td> + </tr> + <!-- 전화번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.tel"/></c:set> + <tr> + <th><label for="areaNo">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="areaNo" id="areaNo" title="전화번호" cssClass="txaIpUmt" size="5" maxlength="4" style="width:40px;"/> + - <form:input path="middleTelno" id="middleTelno" cssClass="txaIpUmt" size="5" maxlength="4" style="width:40px;"/> + - <form:input path="endTelno" id="endTelno" cssClass="txaIpUmt" size="5" maxlength="4" style="width:40px;"/> + <div><form:errors path="areaNo" cssClass="error" /></div> + <div><form:errors path="middleTelno" cssClass="error" /></div> + <div><form:errors path="endTelno" cssClass="error" /></div> + </td> + </tr> + <!-- 팩스번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.fax"/></c:set> + <tr> + <th><label for="mberFxnum">${title}</label></th> + <td class="left"> + <form:input path="mberFxnum" id="mberFxnum" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="mberFxnum" cssClass="error" /></div> + </td> + </tr> + <!-- 헨드폰번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.phone"/></c:set> + <tr> + <th><label for="moblphonNo">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="moblphonNo" id="moblphonNo" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="moblphonNo" cssClass="error" /></div> + </td> + </tr> + <!-- 이메일주소 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.email"/></c:set> + <tr> + <th><label for="mberEmailAdres">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="mberEmailAdres" id="mberEmailAdres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="30" maxlength="50" /> + <div><form:errors path="mberEmailAdres" cssClass="error" /></div> + </td> + </tr> + <!-- 우번번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.post"/></c:set> + <tr> + <th><label for="zip">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <input name="zip" id="zip" title="${title} ${inputTxt}" type="text" size="20" value="" maxlength="6" style="width:60px;" /> + <!-- form:hidden path="zip" id="zip" --> + <!-- <button class="btn_s2" onClick="fn_egov_ZipSearch(document.mberManageVO, document.mberManageVO.zip, document.mberManageVO.zip_view, document.mberManageVO.adres);return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />">우번번호검색</button> --> + <div><form:errors path="zip" cssClass="error" /></div> + </td> + </tr> + <!-- 주소 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.addr"/></c:set> + <tr> + <th><label for="adres">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="adres" id="adres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="70" maxlength="100" /> + <div><form:errors path="adres" cssClass="error" /></div> + </td> + </tr> + <!-- 상세주소 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.addrDetail"/></c:set> + <tr> + <th><label for="detailAdres">${title}</label></th> + <td class="left"> + <form:input path="detailAdres" id="detailAdres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="70" maxlength="100" /> + <div><form:errors path="detailAdres" cssClass="error" /></div> + </td> + </tr> + <input type="hidden" name="mberSttus" value="DEFAULT" /> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /> + </div><div style="clear:both;"></div> + +</div><!-- div end(wTableFrm) --> + + <!-- 우편번호검색 --> + <input type="hidden" name="zip_url" value="<c:url value='/sym/ccm/zip/EgovCcmZipSearchPopup.do'/>" /> +</form:form> + +<!-- Egov Modal include --> +<c:import url="/EgovModal.do" charEncoding="utf-8"> + <c:param name="scriptYn" value="Y" /> + <c:param name="modalName" value="egovModal" /> +</c:import> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberSbscrb.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserInsert.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserInsert.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserInsert.jsp (revision 7) @@ -0,0 +1,495 @@ +<% + /** + * @Class Name : EgovUserInsert.jsp + * @Description : 사용자등록View JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.02 조재영 최초 생성 + * 2016.07.26 장동한 표준프레임워크 v3.6 개선 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.03.02 + * @version 1.0 + * @see + * + */ +%> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.deptUserManage.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> + +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="userManageVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/ccm/zip/EgovZipPopup.js' />" ></script> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script type="text/javaScript" language="javascript" defer="defer"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + + //모달 셋팅 + fn_modal_setting(); + +} +/********************************************************* + * 모달셋팅 + ******************************************************** */ +function fn_modal_setting(){ + //버튼에 모달 연결 + $("#btnEmplyrId").egovModal( "egovModal" ); + + //타이틀 설졍 + $("#egovModal").setEgovModalTitle("<spring:message code="comUssUmt.userManageRegistModal.title" />"); //아이디 중복 확인 + var content = ""; + content = content + "<div class='modal-alignL' style='margin:5px 0 0 0'>"+"<spring:message code="comUssUmt.userManageRegistModal.userIsId" /> :"+"</div>"; //사용할아이디 + content = content + "<div class='modal-alignL'>"+"<input type='text' id='checkIdModal' name='checkIdModal' value='' size='20' maxlength='20' />"+"</div>"; + content += "<div style='clear:both;'></div>"; + content += "<div id='divModalResult' style='margin:10px 0 0 0'><spring:message code="comUssUmt.userManageRegistModal.initStatus" /></div>"; //결과 : 중복확인을 실행하십시오. + //모달 body 설정 + $("#egovModal").setEgovModalBody(content); + + var footer = ""; + //footer += "<div class='modal-btn'><button class='btn_s2' id='btnModalOk' onclick='fn_id_checkOk()'>확인</button></div>"; + //footer += "<div class='modal-btn'><button class='btn_s2' id='btnModalSelect' onclick='fn_id_check()'>조회</button></div>"; + footer += "<span class='btn_style1 blue' id='btnModalOk' onclick='fn_id_checkOk()'><a href='#'>확인</a></span>&nbsp;"; + footer += "<span class='btn_style1 blue' id='btnModalSelect' onclick='fn_id_check()'><a href='#'>조회</a></span>&nbsp;"; + //모달 footer 설정 + $("#egovModal").setEgovModalfooter(footer); + + //엔터이벤트처리 + $("input[name=checkIdModal]").keydown(function (key) { + if(key.keyCode == 13){ + fn_id_check(); + } + }); + + footer = null; + content = null; +} +/********************************************************* + * 아이디 체크 AJAX + ******************************************************** */ +function fn_id_check(){ + $.ajax({ + type:"POST", + url:"<c:url value='/uss/umt/EgovIdDplctCnfirmAjax.do' />", + data:{ + "checkId": $("#checkIdModal").val() + }, + dataType:'json', + timeout:(1000*30), + success:function(returnData, status){ + if(status == "success") { + if(returnData.usedCnt > 0 ){ + //사용할수 없는 아이디입니다. + $("#divModalResult").html("<font color='red'><spring:message code="comUssUmt.userManageRegistModal.result" /> : ["+returnData.checkId+"]<spring:message code="comUssUmt.userManageRegistModal.useMsg" /></font>"); + }else{ + //사용가능한 아이디입니다. + $("#divModalResult").html("<font color='blue'><spring:message code="comUssUmt.userManageRegistModal.result" /> : ["+returnData.checkId+"]<spring:message code="comUssUmt.userManageRegistModal.notUseMsg" /></font>"); + } + }else{ alert("ERROR!");return;} + } + }); +} + +/********************************************************* + * 아이디 체크 확인 + ******************************************************** */ +function fn_id_checkOk(){ + $.ajax({ + type:"POST", + url:"<c:url value='/uss/umt/EgovIdDplctCnfirmAjax.do' />", + data:{ + "checkId": $("#checkIdModal").val() + }, + dataType:'json', + timeout:(1000*30), + success:function(returnData, status){ + if(status == "success") { + if(returnData.usedCnt > 0 ){ + alert("<spring:message code="comUssUmt.userManageRegistModal.noIdMsg" />"); //사용이 불가능한 아이디 입니다. + return; + }else{ + + $("input[name=emplyrId]").val(returnData.checkId); + $("#egovModal").setEgovModalClose(); + } + }else{ alert("ERROR!");return;} + } + }); +} + +function fnIdCheck1(){ + var retVal; + var url = "<c:url value='/uss/umt/EgovIdDplctCnfirmView.do'/>"; + var varParam = new Object(); + varParam.checkId = document.userManageVO.emplyrId.value; + var openParam = "dialogWidth:303px;dialogHeight:250px;scroll:no;status:no;center:yes;resizable:yes;"; + retVal = window.showModalDialog(url, varParam, openParam); + if(retVal) { + document.userManageVO.emplyrId.value = retVal; + } +} + +function showModalDialogCallback(retVal) { + if(retVal) { + document.userManageVO.emplyrId.value = retVal; + } +} + +function fnListPage(){ + document.userManageVO.action = "<c:url value='/uss/umt/EgovUserManage.do'/>"; + document.userManageVO.submit(); +} + +function fnInsert(form){ + if(confirm("<spring:message code="common.regist.msg" />")){ + if(validateUserManageVO(form)){ + if(form.password.value != form.password2.value){ + alert("<spring:message code="fail.user.passwordUpdate2" />"); + return false; + } + form.submit(); + return true; + } + } +} + +function fn_egov_inqire_cert() { + var url = "<c:url value='/uat/uia/EgovGpkiRegist.do' />"; + var popupwidth = '500'; + var popupheight = '400'; + var title = '인증서'; + + Top = (window.screen.height - popupheight) / 3; + Left = (window.screen.width - popupwidth) / 2; + if (Top < 0) Top = 0; + if (Left < 0) Left = 0; + Future = "fullscreen=no,toolbar=no,location=no,directories=no,status=no,menubar=no, scrollbars=no,resizable=no,left=" + Left + ",top=" + Top + ",width=" + popupwidth + ",height=" + popupheight; + PopUpWindow = window.open(url, title, Future) + PopUpWindow.focus(); +} + +function fn_egov_dn_info_setting(dn) { + var frm = document.userManageVO; + + frm.subDn.value = dn; +} + +/* +if (typeof(opener.fn_egov_dn_info_setting) == 'undefined') { + alert('메인 화면이 변경되거나 없습니다'); + this.close(); +} else { + opener.fn_egov_dn_info_setting(dn); + this.close(); +} +*/ + +</script> +<style> +.modal-content {width: 400px;} +</style> +</head> +<body onload="fn_egov_init()"> +<form:form commandName="userManageVO" action="${pageContext.request.contextPath}/uss/umt/EgovUserInsert.do" name="userManageVO" method="post" onSubmit="fnInsert(document.forms[0]); return false;"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 22%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력/선택 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputSelect"><spring:message code="input.cSelect" /></c:set> + <c:set var="inputSelect"><spring:message code="input.select"/></c:set> + <!-- 일반회원아이디 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.id"/></c:set> + <tr> + <th><label for="emplyrId">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="emplyrId" id="emplyrId" title="${title} ${inputTxt}" size="20" readonly="true" maxlength="20" style="width:80%;" /> + <button id="btnEmplyrId" class="btn_s2" onClick="return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="comUssUmt.deptUserManageRegistBtn.idSearch" /></button> + <div><form:errors path="emplyrId" cssClass="error" /></div> + </td> + </tr> + <!-- 일반회원이름 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.name"/></c:set> + <tr> + <th><label for="emplyrNm">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="emplyrNm" title="${title} ${inputTxt}" size="50" maxlength="60" /> + <div><form:errors path="emplyrNm" cssClass="error" /></div> + </td> + </tr> + <!-- 비밀번호 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.pass"/></c:set> + <tr> + <th><label for="password">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <div> + <form:password path="password" title="${title} ${inputTxt}" size="50" maxlength="20" /> + <div><form:errors path="password" cssClass="error" /></div> + </div> + <div> + <div><spring:message code="info.password.rule.password1" /></div> + <div><spring:message code="info.password.rule.pwdcheckcomb3" /></div> + <div><spring:message code="info.password.rule.pwdcheckseries" /></div> + </div> + </td> + </tr> + <!-- 비밀번호확인 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.passConfirm"/></c:set> + <tr> + <th><label for="password2">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <input name="password2" id="password2" title="${title} ${inputTxt}" type="password" size="50" maxlength="20" /> + </td> + </tr> + <!-- 비밀번호힌트 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.passHit"/></c:set> + <tr> + <th><label for="passwordHint">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="passwordHint" id="passwordHint" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${passwordHint_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="passwordHint" cssClass="error"/></div> + </td> + </tr> + <!-- 비밀번호정답 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.passOk"/></c:set> + <tr> + <th><label for="passwordCnsr">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="passwordCnsr" id="passwordCnsr" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="50" maxlength="100" /> + <div><form:errors path="passwordCnsr" cssClass="error"/></div> + </td> + </tr> + <!-- 소속기관코드 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.insttCode"/></c:set> + <tr> + <th><label for="insttCode">${title}</label></th> + <td class="left"> + <form:select path="insttCode" id="insttCode" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${insttCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="insttCode" cssClass="error"/></div> + </td> + </tr> + <!-- 조직아이디 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.orgnztId"/></c:set> + <tr> + <th><label for="orgnztId">${title}</label></th> + <td class="left"> + <form:select path="orgnztId" id="orgnztId" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${orgnztId_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="orgnztId" cssClass="error"/></div> + </td> + </tr> + <!-- 직위 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.ofcps"/></c:set> + <tr> + <th><label for="ofcpsNm">${title}</label></th> + <td class="left"> + <form:input path="ofcpsNm" id="ofcpsNm" title="${title} ${inputTxt}" size="20" maxlength="50" /> + <div><form:errors path="ofcpsNm" cssClass="error" /></div> + </td> + </tr> + <!-- 사번 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.emplNum"/></c:set> + <tr> + <th><label for="emplNo">${title}</label></th> + <td class="left"> + <form:input path="emplNo" id="emplNo" title="${title} ${inputTxt}" size="20" maxlength="20" /> + <div><form:errors path="emplNo" cssClass="error" /></div> + </td> + </tr> + <!-- 성별구분코드 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.saxTypeCode"/></c:set> + <tr> + <th><label for="sexdstnCode">${title}</label></th> + <td class="left"> + <form:select path="sexdstnCode" id="sexdstnCode" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${sexdstnCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="sexdstnCode" cssClass="error" /></div> + </td> + </tr> + <!-- 생일 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.brth"/></c:set> + <tr> + <th><label for="brth">${title}</label></th> + <td class="left"> + <form:input path="brth" id="brth" title="${title} ${inputTxt}" size="20" maxlength="8" /> + <div><form:errors path="brth" cssClass="error" /></div> + </td> + </tr> + <!-- 집전화번호 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.tel"/></c:set> + <tr> + <th><label for="areaNo">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="areaNo" id="areaNo" title="${title} ${inputSelect}" size="5" maxlength="5" style="width:40px;"/> + - <form:input path="homemiddleTelno" id="homemiddleTelno" size="5" maxlength="5" style="width:40px;"/> + - <form:input path="homeendTelno" id="homeendTelno" size="5" maxlength="5" style="width:40px;"/> + <div><form:errors path="areaNo" cssClass="error" /></div> + <div><form:errors path="homemiddleTelno" cssClass="error" /></div> + <div><form:errors path="homeendTelno" cssClass="error" /></div> + </td> + </tr> + <!-- 사무실전화번호 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.areaNo"/></c:set> + <tr> + <th><label for="offmTelno">${title}</label></th> + <td class="left"> + <form:input path="offmTelno" id="offmTelno" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="offmTelno" cssClass="error" /></div> + </td> + </tr> + <!-- 팩스번호 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.offmTelno"/></c:set> + <tr> + <th><label for="fxnum">${title}</label></th> + <td class="left"> + <form:input path="fxnum" id="fxnum" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="fxnum" cssClass="error" /></div> + </td> + </tr> + <!-- 헨드폰번호 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.phone"/></c:set> + <tr> + <th><label for="moblphonNo">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="moblphonNo" id="moblphonNo" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="moblphonNo" cssClass="error" /></div> + </td> + </tr> + <!-- 이메일주소 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.email"/></c:set> + <tr> + <th><label for="emailAdres">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="emailAdres" id="mberEmailAdres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="30" maxlength="50" /> + <div><form:errors path="emailAdres" cssClass="error" /></div> + </td> + </tr> + <!-- 우번번호 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.post"/></c:set> + <tr> + <th><label for="zip">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <input name="zip" id="zip" title="${title} ${inputTxt}" type="text" size="20" value="" maxlength="8" style="width:60px;" /> + <!-- form:hidden path="zip" id="zip" --> + <!-- <button class="btn_s2" onClick="fn_egov_ZipSearch(document.mberManageVO, document.mberManageVO.zip, document.mberManageVO.zip_view, document.mberManageVO.adres);return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />">우번번호검색</button> --> + <div><form:errors path="zip" cssClass="error" /></div> + </td> + </tr> + <!-- 주소 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.addr"/></c:set> + <tr> + <th><label for="homeadres">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="homeadres" id="homeadres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="70" maxlength="100" /> + <div><form:errors path="homeadres" cssClass="error" /></div> + </td> + </tr> + <!-- 상세주소 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.addrDetail"/></c:set> + <tr> + <th><label for="detailAdres">${title}</label></th> + <td class="left"> + <form:input path="detailAdres" id="detailAdres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="70" maxlength="100" /> + <div><form:errors path="detailAdres" cssClass="error" /></div> + </td> + </tr> + <!-- 그룹아이디 --> + + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.groupId"/></c:set> + <tr> + <th><label for="groupId">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="groupId" id="groupId" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${groupId_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="groupId" cssClass="error"/></div> + </td> + </tr> + <!-- 일반회원상태코드 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.status"/></c:set> + <tr> + <th><label for="emplyrSttusCode">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="emplyrSttusCode" id="emplyrSttusCode" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${emplyrSttusCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="emplyrSttusCode" cssClass="error"/></div> + </td> + </tr> + <!-- 사용자DN --> + <!-- + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.subDn"/></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="subDn" id="subDn" title="${title} ${inputTxt}" size="40" maxlength="400" style="width:80%;" /> + <button id="btnSubdn" class="btn_s2" onClick="fn_egov_inqire_cert(); return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="comUssUmt.deptUserManageRegistBtn.Search" /></button> + <div><form:errors path="subDn" cssClass="error" /></div> + </td> + </tr> + --> + <form:hidden path="subDn" /> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/uss/umt/EgovUserManage.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /> + </div><div style="clear:both;"></div> + +</div><!-- div end(wTableFrm) --> + +<!-- 검색조건 유지 --> +<input type="hidden" name="searchCondition" value="<c:out value='${userSearchVO.searchCondition}'/>"/> +<input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/> +<input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> +<input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> +<!-- 우편번호검색 --> +<input type="hidden" name="zip_url" value="<c:url value='/sym/ccm/zip/EgovCcmZipSearchPopup.do'/>" /> +</form:form> + +<!-- Egov Modal include --> +<c:import url="/EgovModal.do" charEncoding="utf-8"> + <c:param name="scriptYn" value="Y" /> + <c:param name="modalName" value="egovModal" /> +</c:import> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserInsert.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserSelectUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserSelectUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserSelectUpdt.jsp (revision 7) @@ -0,0 +1,377 @@ +<% + /** + * @Class Name : EgovUserSelectUpdt.jsp + * @Description : 사용자상세조회, 수정 JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.02 조재영 최초 생성 + * @ 2015.06.16 조정국 password 중복필드 정리 + * @ 2016.07.26 장동한 표준프레임워크 v3.6 개선 + * @ 2017.07.21 장동한 로그인인증제한 작업 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.03.02 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.deptUserManage.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.update" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="userManageVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/ccm/zip/EgovZipPopup.js' />" ></script> + +<script type="text/javaScript" language="javascript" defer="defer"> +function fnListPage(){ + document.userManageVO.action = "<c:url value='/uss/umt/EgovUserManage.do'/>"; + document.userManageVO.submit(); +} +function fnDeleteUser(checkedIds) { + if(confirm("<spring:message code="common.delete.msg" />")){ + document.userManageVO.checkedIdForDel.value=checkedIds; + document.userManageVO.action = "<c:url value='/uss/umt/EgovUserDelete.do'/>"; + document.userManageVO.submit(); + } +} +function fnPasswordMove(){ + document.userManageVO.action = "<c:url value='/uss/umt/EgovUserPasswordUpdtView.do'/>"; + document.userManageVO.submit(); +} + + +function fnLockIncorrect(){ + if(confirm("<spring:message code="comUssUmt.common.lockAtConfirm" />")){ + document.userManageVO.action = "<c:url value='/uss/umt/EgovUserLockIncorrect.do'/>"; + document.userManageVO.selectedId.value=document.userManageVO.uniqId.value; + document.userManageVO.submit(); + } +} + +function fnUpdate(form){ + if(confirm("<spring:message code="common.save.msg" />")){ + if(validateUserManageVO(form)){ + form.submit(); + return true; + }else{ + return false; + } + } +} +function fn_egov_inqire_cert() { + var url = "<c:url value='/uat/uia/EgovGpkiRegist.do' />"; + var popupwidth = '500'; + var popupheight = '400'; + var title = '인증서'; + + Top = (window.screen.height - popupheight) / 3; + Left = (window.screen.width - popupwidth) / 2; + if (Top < 0) Top = 0; + if (Left < 0) Left = 0; + Future = "fullscreen=no,toolbar=no,location=no,directories=no,status=no,menubar=no, scrollbars=no,resizable=no,left=" + Left + ",top=" + Top + ",width=" + popupwidth + ",height=" + popupheight; + PopUpWindow = window.open(url, title, Future) + PopUpWindow.focus(); +} + +function fn_egov_dn_info_setting(dn) { + var frm = document.userManageVO; + + frm.subDn.value = dn; +} + +</script> +</head> +<body> +<!-- content start --> +<form:form commandName="userManageVO" action="${pageContext.request.contextPath}/uss/umt/EgovUserSelectUpdt.do" name="userManageVO" method="post" onSubmit="fnUpdate(document.forms[0]); return false;"> +<div class="wTableFrm"> + <!-- 상세정보 사용자 삭제시 prameter 전달용 input --> + <input name="checkedIdForDel" type="hidden" /> + <!-- 검색조건 유지 --> + <input type="hidden" name="searchCondition" value="<c:out value='${userSearchVO.searchCondition}'/>"/> + <input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/> + <input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> + <input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> + <!-- 우편번호검색 --> + <input type="hidden" name="zip_url" value="<c:url value='/sym/ccm/zip/EgovCcmZipSearchPopup.do'/>" /> + <!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음--> + <input type="hidden" name="userTyForPassword" value="<c:out value='${userManageVO.userTy}'/>" /> + <!-- for validation --> + <input type="hidden" name="password" id="password" value="ex~Test#$12"/> + <input type="hidden" name="selectedId" id="selectedId" value=""/> + + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.update" /></h2> + + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 22%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력/선택 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputSelect"><spring:message code="input.cSelect" /></c:set> + <c:set var="inputSelect"><spring:message code="input.select"/></c:set> + <!-- 일반회원아이디 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.id"/></c:set> + <tr> + <th><label for="emplyrId">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="emplyrId" id="emplyrId" cssClass="txaIpUmt" size="20" maxlength="20" readonly="true" title="${title} ${inputTxt}" /> + <form:errors path="emplyrId" cssClass="error"/> + <form:hidden path="uniqId" /> + </td> + </tr> + <!-- 일반회원이름 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.name"/></c:set> + <tr> + <th><label for="emplyrNm">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="emplyrNm" title="${title} ${inputTxt}" size="50" maxlength="60" /> + <div><form:errors path="emplyrNm" cssClass="error" /></div> + </td> + </tr> + <!-- 비밀번호힌트 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.passHit"/></c:set> + <tr> + <th><label for="passwordHint">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="passwordHint" id="passwordHint" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${passwordHint_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="passwordHint" cssClass="error"/></div> + </td> + </tr> + <!-- 비밀번호정답 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.passOk"/></c:set> + <tr> + <th><label for="passwordCnsr">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="passwordCnsr" id="passwordCnsr" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="50" maxlength="100" /> + <div><form:errors path="passwordCnsr" cssClass="error"/></div> + </td> + </tr> + <!-- 소속기관코드 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.insttCode"/></c:set> + <tr> + <th><label for="insttCode">${title}</label></th> + <td class="left"> + <form:select path="insttCode" id="insttCode" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${insttCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="insttCode" cssClass="error"/></div> + </td> + </tr> + <!-- 조직아이디 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.orgnztId"/></c:set> + <tr> + <th><label for="orgnztId">${title}</label></th> + <td class="left"> + <form:select path="orgnztId" id="orgnztId" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${orgnztId_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="orgnztId" cssClass="error"/></div> + </td> + </tr> + <!-- 직위 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.ofcps"/></c:set> + <tr> + <th><label for="">${title}</label></th> + <td class="left"> + <form:input path="ofcpsNm" id="ofcpsNm" title="${title} ${inputTxt}" size="20" maxlength="50" /> + <div><form:errors path="ofcpsNm" cssClass="error" /></div> + </td> + </tr> + <!-- 사번 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.emplNum"/></c:set> + <tr> + <th><label for="emplNo">${title}</label></th> + <td class="left"> + <form:input path="emplNo" id="emplNo" title="${title} ${inputTxt}" size="20" maxlength="20" /> + <div><form:errors path="emplNo" cssClass="error" /></div> + </td> + </tr> + <!-- 성별구분코드 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.saxTypeCode"/></c:set> + <tr> + <th><label for="sexdstnCode">${title}</label></th> + <td class="left"> + <form:select path="sexdstnCode" id="sexdstnCode" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${sexdstnCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + </td> + </tr> + <!-- 생일 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.brth"/></c:set> + <tr> + <th><label for="brth">${title}</label></th> + <td class="left"> + <form:input path="brth" id="brth" title="${title} ${inputTxt}" size="20" maxlength="8" /> + <div><form:errors path="brth" cssClass="error" /></div> + </td> + </tr> + <!-- 집전화번호 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.tel"/></c:set> + <tr> + <th><label for="areaNo">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="areaNo" id="areaNo" title="${title} ${inputSelect}" size="5" maxlength="5" style="width:40px;"/> + - <form:input path="homemiddleTelno" id="homemiddleTelno" size="5" maxlength="5" style="width:40px;"/> + - <form:input path="homeendTelno" id="homeendTelno" size="5" maxlength="5" style="width:40px;"/> + <div><form:errors path="areaNo" cssClass="error" /></div> + <div><form:errors path="homemiddleTelno" cssClass="error" /></div> + <div><form:errors path="homeendTelno" cssClass="error" /></div> + </td> + </tr> + <!-- 사무실전화번호 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.areaNo"/></c:set> + <tr> + <th><label for="offmTelno">${title}</label></th> + <td class="left"> + <form:input path="offmTelno" id="offmTelno" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="offmTelno" cssClass="error" /></div> + </td> + </tr> + <!-- 팩스번호 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.offmTelno"/></c:set> + <tr> + <th><label for="fxnum">${title}</label></th> + <td class="left"> + <form:input path="fxnum" id="fxnum" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="fxnum" cssClass="error" /></div> + </td> + </tr> + <!-- 헨드폰번호 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.phone"/></c:set> + <tr> + <th><label for="moblphonNo">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="moblphonNo" id="moblphonNo" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="moblphonNo" cssClass="error" /></div> + </td> + </tr> + <!-- 이메일주소 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.email"/></c:set> + <tr> + <th><label for="emailAdres">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="emailAdres" id="mberEmailAdres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="30" maxlength="50" /> + <div><form:errors path="emailAdres" cssClass="error" /></div> + </td> + </tr> + <!-- 우편번호 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.post"/></c:set> + <tr> + <th><label for="zip">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <input name="zip" id="zip" title="${title} ${inputTxt}" type="text" size="20" value="<c:out value='${userManageVO.zip}'/>" maxlength="8" style="width:60px;" /> + <!-- form:hidden path="zip" id="zip" --> + <!-- <button class="btn_s2" onClick="fn_egov_ZipSearch(document.mberManageVO, document.mberManageVO.zip, document.mberManageVO.zip_view, document.mberManageVO.adres);return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />">우번번호검색</button> --> + <div><form:errors path="zip" cssClass="error" /></div> + </td> + </tr> + <!-- 주소 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.addr"/></c:set> + <tr> + <th><label for="">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="homeadres" id="homeadres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="70" maxlength="100" /> + <div><form:errors path="homeadres" cssClass="error" /></div> + </td> + </tr> + <!-- 상세주소 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.addrDetail"/></c:set> + <tr> + <th><label for="detailAdres">${title}</label></th> + <td class="left"> + <form:input path="detailAdres" id="detailAdres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="70" maxlength="100" /> + <div><form:errors path="detailAdres" cssClass="error" /></div> + </td> + </tr> + <!-- 그룹아이디 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.groupId"/></c:set> + <tr> + <th><label for="groupId">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="groupId" id="groupId" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${groupId_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="groupId" cssClass="error"/></div> + </td> + </tr> + <!-- 일반회원상태코드 --> + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.status"/></c:set> + <tr> + <th><label for="emplyrSttusCode">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="emplyrSttusCode" id="emplyrSttusCode" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${emplyrSttusCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="emplyrSttusCode" cssClass="error"/></div> + </td> + </tr> + <!-- 로그인인증제한여부 --> + <c:set var="title"><spring:message code="comUssUmt.common.lockAt"/></c:set> + <tr> + <th><label for="lockAt">${title}</label></th> + <td class="left"> + <c:if test="${userManageVO.lockAt eq 'Y'}">예</c:if> + <c:if test="${userManageVO.lockAt == null || userManageVO.lockAt eq '' || userManageVO.lockAt eq 'N'}">아니오</c:if> + </td> + </tr> + + <!-- 사용자DN --> + <!-- + <c:set var="title"><spring:message code="comUssUmt.deptUserManageRegist.subDn"/></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="subDn" id="subDn" title="${title} ${inputTxt}" size="40" maxlength="400" style="width:80%;" /> + <button id="btnSubdn" class="btn_s2" onClick="fn_egov_inqire_cert(); return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="comUssUmt.deptUserManageRegistBtn.Search" /></button> + <div><form:errors path="subDn" cssClass="error" /></div> + </td> + </tr> + --> + <form:hidden path="subDn" /> + </tbody> + </table> + + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.save" />" title="<spring:message code="button.save" /> <spring:message code="input.button" />" /> + <button class="btn_s2" onClick="fnDeleteUser('<c:out value='${mberManageVO.userTy}'/>:<c:out value='${mberManageVO.uniqId}'/>'); return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="button.delete" /></button> + <span class="btn_s"><a href="<c:url value='/uss/umt/EgovUserManage.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + <button class="btn_s2" onClick="fnPasswordMove(); return false;" title="<spring:message code="comUssUmt.userManageModifyBtn.passwordChange" /> <spring:message code="input.button" />"><spring:message code="comUssUmt.userManageModifyBtn.passwordChange" /></button> + <button class="btn_s2" onClick="fnLockIncorrect(); return false;" title="<spring:message code="comUssUmt.common.lockAtBtn" /> <spring:message code="input.button" />"><spring:message code="comUssUmt.common.lockAtBtn" /></button> + <button class="btn_s2" onClick="document.userManageVO.reset(); return false;" title="<spring:message code="button.reset" /> <spring:message code="input.button" />"><spring:message code="button.reset" /></button> + </div><div style="clear:both;"></div> + +</div> +</form:form> +<!-- content end --> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserSelectUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovDeptManageInsert.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovDeptManageInsert.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovDeptManageInsert.jsp (revision 7) @@ -0,0 +1,129 @@ +<% +/** + * @Class Name : EgovRoleUpdate.java + * @Description : EgovRoleUpdate jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 lee.m.j 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author lee.m.j + * @since 2009.03.11 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.deptManage.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title><!-- 부서관리 등록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<%-- <script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFile.js'/>" ></script> --%> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFiles.js'/>" ></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="deptManage" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript"> + +function fncSelectDeptManageList() { + var varFrom = document.getElementById("deptManage"); + varFrom.action = "<c:url value='/uss/umt/dpt/selectDeptManageList.do'/>"; + varFrom.submit(); +} + +function fncDeptManageInsert() { + var varFrom = document.getElementById("deptManage"); + varFrom.action = "<c:url value='/uss/umt/dpt/addDeptManage.do'/>"; + + if(confirm("<spring:message code="common.save.msg" />")){ + if (!validateDeptManage(varFrom)) { + return; + } else { + varFrom.submit(); + } + } +} +</script> +</head> + +<body> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form:form commandName="deptManage" method="post" action="${pageContext.request.contextPath}/uss/umt/dpt/addDeptManage.do' />" onSubmit="fncDeptManageInsert(); return false;" enctype="multipart/form-data"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 16%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 부서ID --> + <!-- + <c:set var="title"><spring:message code="comUssUmt.deptManageRegist.deptId" /></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="orgnztId" title="${title} ${inputTxt}" size="40" maxlength="50" /> + <div><form:errors path="orgnztId" cssClass="error" /></div> + </td> + </tr> + --> + <!-- 부서명 --> + <c:set var="title"><spring:message code="comUssUmt.deptManageRegist.deptName" /></c:set> + <tr> + <th><label for="orgnztNm">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="orgnztNm" title="${title} ${inputTxt}" size="40" maxlength="200" /> + <div><form:errors path="orgnztNm" cssClass="error" /></div> + </td> + </tr> + <!-- 설명 --> + <c:set var="title"><spring:message code="comUssUmt.deptManageRegist.deptDc" /></c:set> + <tr> + <th><label for="orgnztDc">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:textarea path="orgnztDc" title="${title} ${inputTxt}" cols="300" rows="10" /> + <div><form:errors path="orgnztDc" cssClass="error" /></div> + </td> + </tr> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/uss/umt/dpt/selectDeptManageList.do'/>" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /> + </div><div style="clear:both;"></div> + +</div> + +<!-- 검색조건 유지 --> +<input type="hidden" name="orgnztId" value="" > +<input type="hidden" name="searchCondition" value="<c:out value='${deptManageVO.searchCondition}'/>" > +<input type="hidden" name="searchKeyword" value="<c:out value='${deptManageVO.searchKeyword}'/>" > +<input type="hidden" name="pageIndex" value="<c:out value='${deptManageVO.pageIndex}'/>" > +</form:form> + + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovDeptManageInsert.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberInsert.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberInsert.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberInsert.jsp (revision 7) @@ -0,0 +1,442 @@ +<% + /** + * @Class Name : EgovEntrprsMberInsert.jsp + * @Description : 기업회원등록 JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.02 조재영 최초 생성 + * @ 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * @ 2020.07.20 윤주호 표준프레임워크 v3.10 개선 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.03.12 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.entrprsUserManage.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title><!-- 기업회원관리 등록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="entrprsManageVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/ccm/zip/EgovZipPopup.js' />" ></script> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script type="text/javaScript" language="javascript" defer="defer"> + +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + + //모달 셋팅 + fn_modal_setting(); + +} +/********************************************************* + * 모달셋팅 + ******************************************************** */ +function fn_modal_setting(){ + //버튼에 모달 연결 + $("#btnMbrId").egovModal( "egovModal" ); + + //타이틀 설졍 + $("#egovModal").setEgovModalTitle("<spring:message code="comUssUmt.userManageRegistModal.title" />"); //아이디 중복 확인 + var content = ""; + content = content + "<div class='modal-alignL' style='margin:5px 0 0 0'>"+"<spring:message code="comUssUmt.userManageRegistModal.userIsId" /> :"+"</div>"; //사용할아이디 + content = content + "<div class='modal-alignL'>"+"<input type='text' id='checkIdModal' name='checkIdModal' value='' size='20' maxlength='20' />"+"</div>"; + content += "<div style='clear:both;'></div>"; + content += "<div id='divModalResult' style='margin:10px 0 0 0'><spring:message code="comUssUmt.userManageRegistModal.initStatus" /></div>"; //결과 : 중복확인을 실행하십시오. + //모달 body 설정 + $("#egovModal").setEgovModalBody(content); + + var footer = ""; + //footer += "<div class='modal-btn'><button class='btn_s2' id='btnModalOk' onclick='fn_id_checkOk()'>확인</button></div>"; + //footer += "<div class='modal-btn'><button class='btn_s2' id='btnModalSelect' onclick='fn_id_check()'>조회</button></div>"; + + footer += "<span class='btn_style1 blue' id='btnModalOk' onclick='fn_id_checkOk()'><a href='#'><spring:message code="button.confirm" /></a></span>&nbsp;";//확인 + footer += "<span class='btn_style1 blue' id='btnModalSelect' onclick='fn_id_check()'><a href='#'><spring:message code="button.inquire" /></a></span>&nbsp;";//조회 + + //모달 footer 설정 + $("#egovModal").setEgovModalfooter(footer); + + //엔터이벤트처리 + $("input[name=checkIdModal]").keydown(function (key) { + if(key.keyCode == 13){ + fn_id_check(); + } + }); + + footer = null; + content = null; +} +/********************************************************* + * 아이디 체크 AJAX + ******************************************************** */ +function fn_id_check(){ + $.ajax({ + type:"POST", + url:"<c:url value='/uss/umt/EgovIdDplctCnfirmAjax.do' />", + data:{ + "checkId": $("#checkIdModal").val() + }, + dataType:'json', + timeout:(1000*30), + success:function(returnData, status){ + if(status == "success") { + if(returnData.usedCnt > 0 ){ + //사용할수 없는 아이디입니다. + $("#divModalResult").html("<font color='red'><spring:message code="comUssUmt.userManageRegistModal.result" /> : ["+returnData.checkId+"]<spring:message code="comUssUmt.userManageRegistModal.useMsg" /></font>"); + }else{ + //사용가능한 아이디입니다. + $("#divModalResult").html("<font color='blue'><spring:message code="comUssUmt.userManageRegistModal.result" /> : ["+returnData.checkId+"]<spring:message code="comUssUmt.userManageRegistModal.notUseMsg" /></font>"); + } + }else{ alert("ERROR!");return;} + } + }); +} + +/********************************************************* + * 아이디 체크 확인 + ******************************************************** */ +function fn_id_checkOk(){ + $.ajax({ + type:"POST", + url:"<c:url value='/uss/umt/EgovIdDplctCnfirmAjax.do' />", + data:{ + "checkId": $("#checkIdModal").val() + }, + dataType:'json', + timeout:(1000*30), + success:function(returnData, status){ + if(status == "success") { + if(returnData.usedCnt > 0 ){ + alert("<spring:message code="comUssUmt.userManageRegistModal.noIdMsg" />"); //사용이 불가능한 아이디 입니다. + return; + }else{ + + $("input[name=entrprsmberId]").val(returnData.checkId); + $("#egovModal").setEgovModalClose(); + + } + }else{ alert("ERROR!");return;} + } + }); +} + + +function fnIdCheck1(){ + var retVal; + var url = "<c:url value='/uss/umt/EgovIdDplctCnfirmView.do'/>"; + var varParam = new Object(); + varParam.checkId = document.entrprsManageVO.entrprsmberId.value; + var openParam = "dialogWidth:303px;dialogHeight:250px;scroll:no;status:no;center:yes;resizable:yes;"; + retVal = window.showModalDialog(url, varParam, openParam); + if(retVal) { + document.entrprsManageVO.entrprsmberId.value = retVal; + } +} + +function showModalDialogCallback(retVal) { + if(retVal) { + document.entrprsManageVO.entrprsmberId.value = retVal; + } +} + + +function fnListPage(){ + document.entrprsManageVO.action = "<c:url value='/uss/umt/EgovEntrprsMberManage.do'/>"; + document.entrprsManageVO.submit(); +} + +function fnInsert(form){ + if(confirm("<spring:message code="common.regist.msg" />")){ + if(validateEntrprsManageVO(form)){ + if(form.entrprsMberPassword.value != form.entrprsMberPassword2.value){ + alert("<spring:message code="fail.user.passwordUpdate2" />"); + return false; + } + form.submit(); + return true; + } + } +} +</script> +<style> +.modal-content {width: 400px;} +</style> +</head> +<body onload="fn_egov_init()"> + +<!-- content start --> +<form:form commandName="entrprsManageVO" action="${pageContext.request.contextPath}/uss/umt/EgovEntrprsMberInsert.do" name="entrprsManageVO" method="post" onSubmit="fnInsert(document.forms[0]); return false;"> + +<!-- 상세정보 사용자 삭제시 prameter 전달용 input --> +<input name="checkedIdForDel" type="hidden" /> +<!-- 검색조건 유지 --> +<input type="hidden" name="searchCondition" value="<c:out value='${userSearchVO.searchCondition}'/>"/> +<input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/> +<input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> +<input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> + +<!-- 우편번호검색 --> +<input type="hidden" name="zip_url" value="<c:url value='/sym/ccm/zip/EgovCcmZipSearchPopup.do'/>" /> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 22%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력/선택 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputSelect"><spring:message code="input.cSelect" /></c:set> + <!-- 기업회원아이디 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.id"/></c:set> + <tr> + <th><label for="entrprsmberId">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="entrprsmberId" id="entrprsmberId" title="${title} ${inputTxt}" size="20" readonly="true" maxlength="20" style="width:80%;" /> + <button id="btnMbrId" class="btn_s2" onClick="return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="comUssUmt.entrprsUserManageRegistBtn.idSearch" /></button> + <div><form:errors path="entrprsmberId" cssClass="error" /></div> + </td> + </tr> + <!-- 회사명 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.name"/></c:set> + <tr> + <th><label for="cmpnyNm">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="cmpnyNm" title="${title} ${inputTxt}" size="50" maxlength="60" /> + <div><form:errors path="cmpnyNm" cssClass="error" /></div> + </td> + </tr> + <!-- 비밀번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.pass"/></c:set> + <tr> + <th><label for="entrprsMberPassword">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <div> + <form:password path="entrprsMberPassword" title="${title} ${inputTxt}" size="50" maxlength="20" /> + <div><form:errors path="entrprsMberPassword" cssClass="error" /></div> + </div> + <div> + <div><spring:message code="info.password.rule.password1" /></div> + <div><spring:message code="info.password.rule.pwdcheckcomb3" /></div> + <div><spring:message code="info.password.rule.pwdcheckseries" /></div> + </div> + </td> + </tr> + <!-- 비밀번호확인 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.passConfirm"/></c:set> + <tr> + <th><label for="entrprsMberPassword2">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <input name="entrprsMberPassword2" id="entrprsMberPassword2" title="${title} ${inputTxt}" type="password" size="50" maxlength="20" /> + </td> + </tr> + <!-- 비밀번호힌트 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.passHit"/></c:set> + <tr> + <th><label for="entrprsMberPasswordHint">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="entrprsMberPasswordHint" id="entrprsMberPasswordHint" title="${title} ${inputSelect}"> + <form:option value="" label="--선택하세요--"/> + <form:options items="${passwordHint_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="entrprsMberPasswordHint" cssClass="error"/></div> + </td> + </tr> + <!-- 비밀번호정답 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.passOk"/></c:set> + <tr> + <th><label for="entrprsMberPasswordCnsr">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="entrprsMberPasswordCnsr" id="entrprsMberPasswordCnsr" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="50" maxlength="100" /> + <div><form:errors path="entrprsMberPasswordCnsr" cssClass="error"/></div> + </td> + </tr> + <!-- 업종코드 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.indutyCode"/></c:set> + <tr> + <th><label for="indutyCode">${title}</label></th> + <td class="left"> + <form:select path="indutyCode" id="indutyCode" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${indutyCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + </td> + </tr> + <!-- 기업구분코드 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.entrprsSeCode"/></c:set> + <tr> + <th><label for="entrprsSeCode">${title}</label></th> + <td class="left"> + <form:select path="entrprsSeCode" id="entrprsSeCode" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${entrprsSeCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + </td> + </tr> + + <!-- 대표이사이름 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.cxfc"/></c:set> + <tr> + <th><label for="cxfc">${title}</label></th> + <td class="left"> + <form:input path="cxfc" id="cxfc" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="cxfc" cssClass="error" /></div> + </td> + </tr> + <!-- 사업자등록번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.bizrno"/></c:set> + <tr> + <th><label for="bizrno">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="bizrno" id="bizrno" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="10" /> + <div><form:errors path="bizrno" cssClass="error" /></div> + </td> + </tr> + + <!-- 법인등록번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.jurirno"/></c:set> + <tr> + <th><label for="jurirno">${title}</label> </th> + <td class="left"> + <form:input path="jurirno" id="jurirno" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="jurirno" cssClass="error" /></div> + </td> + </tr> + + <!-- 회사전화번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.tel"/></c:set> + <tr> + <th><label for="areaNo">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="areaNo" id="areaNo" title="전화번호" size="5" maxlength="5" style="width:40px;"/> + - <form:input path="entrprsMiddleTelno" id="entrprsMiddleTelno" size="5" maxlength="5" style="width:40px;"/> + - <form:input path="entrprsEndTelno" id="entrprsEndTelno" size="5" maxlength="5" style="width:40px;"/> + <div><form:errors path="areaNo" cssClass="error" /></div> + <div><form:errors path="entrprsMiddleTelno" cssClass="error" /></div> + <div><form:errors path="entrprsEndTelno" cssClass="error" /></div> + </td> + </tr> + <!-- 팩스번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.fax"/></c:set> + <tr> + <th><label for="">${title}</label></th> + <td class="left"> + <form:input path="fxnum" id="fxnum" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="fxnum" cssClass="error" /></div> + </td> + </tr> + <!-- 우번번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.post"/></c:set> + <tr> + <th><label for="zip">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="zip" title="${title} ${inputTxt}" type="text" size="20" value="" maxlength="8" style="width:60px;" /> + <!-- form:hidden path="zip" id="zip" --> + <!-- <button class="btn_s2" onClick="fn_egov_ZipSearch(document.mberManageVO, document.mberManageVO.zip, document.mberManageVO.zip_view, document.mberManageVO.adres);return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />">우번번호검색</button> --> + <div><form:errors path="zip" cssClass="error" /></div> + </td> + </tr> + <!-- 주소 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.addr"/></c:set> + <tr> + <th><label for="adres">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="adres" id="adres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="70" maxlength="100" /> + <div><form:errors path="adres" cssClass="error" /></div> + </td> + </tr> + <!-- 상세주소 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.addrDetail"/></c:set> + <tr> + <th><label for="applcntNm">${title}</label></th> + <td class="left"> + <form:input path="detailAdres" id="detailAdres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="70" maxlength="100" /> + <div><form:errors path="detailAdres" cssClass="error" /></div> + </td> + </tr> + <!-- 신청자이름 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageList.regName"/></c:set> + <tr> + <th><label for="">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="applcntNm" id="applcntNm" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="20" /> + <div><form:errors path="applcntNm" cssClass="error" /></div> + </td> + </tr> + <!-- 신청자이메일주소 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageList.regMail"/></c:set> + <tr> + <th><label for="applcntEmailAdres">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="applcntEmailAdres" id="applcntEmailAdres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="30" maxlength="50" /> + <div><form:errors path="applcntEmailAdres" cssClass="error" /></div> + </td> + </tr> + <!-- 그룹아이디 --> + <c:set var="inputSelect"><spring:message code="input.select"/></c:set> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.groupId"/></c:set> + <tr> + <th><label for="groupId">${title}</label></th> + <td class="left"> + <form:select path="groupId" id="groupId" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${groupId_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="groupId" cssClass="error"/></div> + </td> + </tr> + <!-- 기업회원상태코드 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.status"/></c:set> + <tr> + <th><label for="entrprsMberSttus">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="entrprsMberSttus" id="entrprsMberSttus" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${entrprsMberSttus_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="entrprsMberSttus" cssClass="error"/></div> + </td> + </tr> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/uss/umt/EgovEntrprsMberManage.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span><!-- 목록 --> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /><!-- 등록 --> + </div><div style="clear:both;"></div> + + +</div> +</form:form> + +<!-- Egov Modal include --> +<c:import url="/EgovModal.do" charEncoding="utf-8"> + <c:param name="scriptYn" value="Y" /> + <c:param name="modalName" value="egovModal" /> +</c:import> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberInsert.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsPasswordUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsPasswordUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsPasswordUpdt.jsp (revision 7) @@ -0,0 +1,135 @@ +<% + /** + * @Class Name : EgovEntrprsPasswordUpdt.jsp + * @Description : 기업회원 암호수정 JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.02 조재영 최초 생성 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.02 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.userManagePasswordUpdt.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title><!-- 기업회원 비밀번호변경 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="passwordChgVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript" defer="defer"> + +function fnListPage(){ + document.passwordChgVO.action = "<c:url value='/uss/umt/EgovEntrprsMberManage.do'/>"; + document.passwordChgVO.submit(); +} +function fnUpdate(form){ + if(validatePasswordChgVO(form)){ + if(form.newPassword.value != form.newPassword2.value){ + alert("<spring:message code="fail.user.passwordUpdate2" />"); + return; + } + form.submit(); + } +} +<c:if test="${!empty resultMsg}">alert("<spring:message code="${resultMsg}" />");</c:if> +</script> +</head> +<body> + <!-- content start --> + <form name="passwordChgVO" method="post" action="<c:url value="${'/uss/umt/EgovEntrprsPasswordUpdt.do'}"/>" onsubmit="fnUpdate(document.forms[0]); return false;"> + <!-- onsubmit="javascript:return FormValidation(document.passwordChgVO);" > --> + <!-- 상세정보 사용자 삭제시 prameter 전달용 input --> + <input name="checkedIdForDel" type="hidden" /> + <!-- 검색조건 유지 --> + <input type="hidden" name="searchCondition" value="<c:out value='${userSearchVO.searchCondition}'/>"/> + <input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/> + <input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> + <input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> + <!-- 우편번호검색 --> + <input type="hidden" name="url" value="<c:url value='/sym/ccm/zip/EgovCcmZipSearchPopup.do'/>" /> + + <div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comUssUmt.entrprsUserManage.title" /> ${pageTitle}</h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 16%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 일반회원아이디 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.id" /></c:set> + <tr> + <th>${title}</th> + <td class="left"> + <input name="entrprsmberId" id="entrprsmberId" type="text" size="20" value="<c:out value='${entrprsManageVO.entrprsmberId}'/>" maxlength="20" readonly> + <input name="uniqId" id="uniqId" type="hidden" size="20" value="<c:out value='${entrprsManageVO.uniqId}'/>"> + <input name="userTy" id="userTy" type="hidden" size="20" value="<c:out value='${entrprsManageVO.userTy}'/>"> + </td> + </tr> + + <!-- 기존 비밀번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManagePasswordUpdt.oldPass" /></c:set> + <tr> + <th>${title}<span class="pilsu">*</span></th> + <td class="left"> + <input name="oldPassword" id="oldPassword" type="password" size="20" value="" maxlength="100" > + </td> + </tr> + <!-- 비밀번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManagePasswordUpdt.pass" /></c:set> + <tr> + <th>${title}<span class="pilsu">*</span></th> + <td class="left"> + <div> + <input name="newPassword" id="newPassword" type="password" size="20" value="" maxlength="100" > + </div> + <div> + <div><spring:message code="info.password.rule.password1" /></div> + <div><spring:message code="info.password.rule.pwdcheckcomb3" /></div> + <div><spring:message code="info.password.rule.pwdcheckseries" /></div> + </div> + </td> + </tr> + <!-- 비밀번호확인 --> + <c:set var="title"><spring:message code="comUssUmt.userManagePasswordUpdt.passConfirm" /></c:set> + <tr> + <th>${title}<span class="pilsu">*</span></th> + <td class="left"> + <input name="newPassword2" id="newPassword2" type="password" size="20" value="" maxlength="100" > + </td> + </tr> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="button.update" /> <spring:message code="input.button" />" /> + + <span class="btn_s"><a href="<c:url value='/uss/umt/EgovEntrprsMberManage.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + <button class="btn_s2" onClick="document.passwordChgVO.reset();return false;" title="<spring:message code="button.reset" /> <spring:message code="input.button" />"><spring:message code="button.reset" /></button> + </div><div style="clear:both;"></div> + +</div> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsPasswordUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovDeptManageList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovDeptManageList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovDeptManageList.jsp (revision 7) @@ -0,0 +1,142 @@ +<% +/** + * @Class Name : EgovDeptManageList.java + * @Description : EgovDeptManageList jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2009.02.01 lee.m.j 최초 생성 + * @ 2015.06.16 조정국 0건 조회 표시 메시지 버그수정 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author lee.m.j + * @since 2009.03.21 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ + +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.deptManage.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title><!-- 부서관리 목록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> + +<script type="text/javaScript" language="javascript" defer="defer"> +function fncSelectDeptManageList(pageNo){ + document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/uss/umt/dpt/selectDeptManageList.do'/>"; + document.listForm.submit(); +} + +function fncSelectDeptManage(bannerId) { + document.listForm.bannerId.value = bannerId; + document.listForm.action = "<c:url value='/uss/umt/dpt/getDeptManage.do'/>"; + document.listForm.submit(); +} + +function fncAddDeptManageInsert() { + if(document.listForm.pageIndex.value == "") { + document.listForm.pageIndex.value = 1; + } + document.listForm.action = "<c:url value='/uss/umt/dpt/addViewDeptManage.do'/>"; + document.listForm.submit(); +} + +function linkPage(pageNo){ + document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/uss/umt/dpt/selectDeptManageList.do'/>"; + document.listForm.submit(); +} + +function press() { + + if (event.keyCode==13) { + fncSelectDeptManageList('1'); + } +} +</script> + +</head> + +<body> + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="listForm" method="post"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + <!-- 검색영역 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li><div style="line-height:4px;">&nbsp;</div><div><spring:message code="comUssUmt.deptManageSearchCondition.searchKeywordText" /> : </div></li><!-- 부서명 --> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${deptManageVO.searchKeyword}"/>' maxlength="155" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /><!-- 조회 --> + <span class="btn_b"><a href="<c:url value='/uss/umt/dpt/addViewDeptManage.do'/>" onClick="fncAddDeptManageInsert(); return false;" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span><!-- 등록 --> + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 25%;"> + <col style="width: 30%;"> + <col style="width: ;"> + </colgroup> + <thead> + <tr> + <th class="board_th_link"><spring:message code="comUssUmt.deptManageList.deptId" /></th><!-- 부서 ID --> + <th class="board_th_link"><spring:message code="comUssUmt.deptManageList.deptName" /></th><!-- 부서 명 --> + <th><spring:message code="comUssUmt.deptManageList.deptDc" /></th><!--설명 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(deptManageList) == 0}"> + <tr> + <td colspan="3"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach var="deptManage" items="${deptManageList}" varStatus="status"> + <tr> + <td><a href="<c:url value='/uss/umt/dpt/getDeptManage.do'/>?pageIndex=${deptManageVO.pageIndex}&searchKeyword=${deptManageVO.searchKeyword}&orgnztId=${deptManage.orgnztId}"><c:out value="${deptManage.orgnztId}"/></a></td> + <td class="left"><a href="<c:url value='/uss/umt/dpt/getDeptManage.do'/>?pageIndex=${deptManageVO.pageIndex}&searchKeyword=${deptManageVO.searchKeyword}&orgnztId=${deptManage.orgnztId}"><c:out value="${deptManage.orgnztNm}"/></a></td> + <td class="left"><c:out value="${deptManage.orgnztDc}"/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <c:if test="${!empty deptManageVO.pageIndex }"> + <div class="pagination"> + <ul><ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/></ul> + </div> + </c:if> + +</div><!-- end div board --> + +<input name="pageIndex" type="hidden" value="<c:out value='${deptManageVO.pageIndex}'/>"> +<input type="hidden" name="searchCondition" value="1"> +</form> + + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovDeptManageList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberPasswordUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberPasswordUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberPasswordUpdt.jsp (revision 7) @@ -0,0 +1,142 @@ +<% + /** + * @Class Name : EgovMberPasswordUpdt.jsp + * @Description : 일반회원암호수정 JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.02 조재영 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.02 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.userManagePasswordUpdt.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="passwordChgVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript" defer="defer"> + +function fnListPage(){ + document.passwordChgVO.action = "<c:url value='/uss/umt/EgovMberManage.do'/>"; + document.passwordChgVO.submit(); +} +function fnUpdate(form){ + if(validatePasswordChgVO(form)){ + if(form.newPassword.value != form.newPassword2.value){ + alert("<spring:message code="fail.user.passwordUpdate2" />"); + return false; + } + document.passwordChgVO.submit(); + return true; + }else{ + return false; + } +} +<c:if test="${!empty resultMsg}">alert("<spring:message code="${resultMsg}" />");</c:if> +</script> +</head> +<body> + +<form name="passwordChgVO" method="post" action="<c:url value="/uss/umt/EgovMberPasswordUpdt.do"/>" onsubmit="fnUpdate(document.forms[0]); return false;"> +<!-- 상세정보 사용자 삭제시 prameter 전달용 input --> +<input name="checkedIdForDel" type="hidden" /> +<!-- 검색조건 유지 --> +<input type="hidden" name="searchCondition" value="<c:out value='${userSearchVO.searchCondition}'/>"/> +<input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/> +<input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> +<input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> +<!-- 우편번호검색 --> +<input type="hidden" name="url" value="<c:url value='/sym/ccm/zip/EgovCcmZipSearchPopup.do'/>" /> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comUssUmt.userManage.title" /> ${pageTitle}</h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 16%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 일반회원아이디 --> + <c:set var="title"><spring:message code="comUssUmt.userManagePasswordUpdt.id" /></c:set> + <tr> + <th>${title}</th> + <td class="left"> + <input name="mberId" id="mberId" type="text" size="20" value="<c:out value='${mberManageVO.mberId}'/>" maxlength="20" readonly > + <input name="uniqId" id="uniqId" type="hidden" size="20" value="<c:out value='${mberManageVO.uniqId}'/>" > + <input name="userTy" id="userTy" type="hidden" size="20" value="<c:out value='${mberManageVO.userTy}'/>" > + </td> + </tr> + + <!-- 기존 비밀번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManagePasswordUpdt.oldPass" /></c:set> + <tr> + <th>${title}<span class="pilsu">*</span></th> + <td class="left"> + <input name="oldPassword" id="oldPassword" type="password" size="20" value="" maxlength="100" > + </td> + </tr> + <!-- 비밀번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManagePasswordUpdt.pass" /></c:set> + <tr> + <th>${title}<span class="pilsu">*</span></th> + <td class="left"> + <div> + <input name="newPassword" id="newPassword" type="password" size="20" value="" maxlength="100" > + </div> + <div> + <div><spring:message code="info.password.rule.password1" /></div> + <div><spring:message code="info.password.rule.pwdcheckcomb3" /></div> + <div><spring:message code="info.password.rule.pwdcheckseries" /></div> + </div> + </td> + </tr> + <!-- 비밀번호확인 --> + <c:set var="title"><spring:message code="comUssUmt.userManagePasswordUpdt.passConfirm" /></c:set> + <tr> + <th>${title}<span class="pilsu">*</span></th> + <td class="left"> + <input name="newPassword2" id="newPassword2" type="password" size="20" value="" maxlength="100" > + </td> + </tr> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="button.update" /> <spring:message code="input.button" />" /> + + <span class="btn_s"><a href="<c:url value='/uss/umt/EgovMberManage.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + <button class="btn_s2" onClick="document.passwordChgVO.reset();;return false;" title="<spring:message code="button.reset" /> <spring:message code="input.button" />"><spring:message code="button.reset" /></button> + </div><div style="clear:both;"></div> + +</div> + +</form> + + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberPasswordUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserManage.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserManage.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserManage.jsp (revision 7) @@ -0,0 +1,232 @@ +<% + + /** + * @Class Name : EgovUserManage.jsp + * @Description : 사용자관리(조회,삭제) JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.02 조재영 최초 생성 + * 2011.09.07 서준식 네비게이션명 변경 (사용자 관리 -> 업무사용자관리) + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.03.02 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.deptUserManage.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- +function fncCheckAll() { + var checkField = document.listForm.checkField; + if(document.listForm.checkAll.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} + +function fnDeleteUser() { + var checkField = document.listForm.checkField; + var id = document.listForm.checkId; + var checkedIds = ""; + var checkedCount = 0; + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + if(checkField[i].checked) { + checkedIds += ((checkedCount==0? "" : ",") + id[i].value); + checkedCount++; + } + } + } else { + if(checkField.checked) { + checkedIds = id.value; + } + } + } + if(checkedIds.length > 0) { + if(confirm("<spring:message code="common.delete.msg" />")){ + document.listForm.checkedIdForDel.value=checkedIds; + document.listForm.action = "<c:url value='/uss/umt/EgovUserDelete.do'/>"; + document.listForm.submit(); + } + } +} +function fnSelectUser(id) { + document.listForm.selectedId.value = id; + array = id.split(":"); + if(array[0] == "") { + } else { + userTy = array[0]; + userId = array[1]; + } + document.listForm.selectedId.value = userId; + document.listForm.action = "<c:url value='/uss/umt/EgovUserSelectUpdtView.do'/>"; + document.listForm.submit(); + +} +function fnAddUserView() { + document.listForm.action = "<c:url value='/uss/umt/EgovUserInsertView.do'/>"; + document.listForm.submit(); +} +function fnLinkPage(pageNo){ + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/uss/umt/EgovUserManage.do'/>"; + document.listForm.submit(); +} +function fnSearch(){ + document.listForm.pageIndex.value = 1; + document.listForm.action = "<c:url value='/uss/umt/EgovUserManage.do'/>"; + document.listForm.submit(); +} +function fnViewCheck(){ + if(insert_msg.style.visibility == 'hidden'){ + insert_msg.style.visibility = 'visible'; + }else{ + insert_msg.style.visibility = 'hidden'; + } +} +<c:if test="${!empty resultMsg}">alert("<spring:message code="${resultMsg}" />");</c:if> +--> +</script> +</head> +<body> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="listForm" action="<c:url value='/uss/umt/EgovUserManage.do'/>" method="post"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + + <!-- 검색영역 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li style="margin:3px 0 0 0;"><div>사용자수 <strong><c:out value="${paginationInfo.totalRecordCount}"/></strong></div></li> + <li><!-- 상태--> + <select name="sbscrbSttus" id="sbscrbSttus" title="<spring:message code="comUssUmt.userManageSsearch.sbscrbSttusTitle" />"> + <option value="0" <c:if test="${empty mberVO.sbscrbSttus || mberVO.sbscrbSttus == '0'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.sbscrbSttusAll" /></option><!-- 상태(전체) --> + <option value="A" <c:if test="${mberVO.sbscrbSttus == 'A'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.sbscrbSttusA" /></option><!-- 가입신청 --> + <option value="D" <c:if test="${mberVO.sbscrbSttus == 'D'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.sbscrbSttusD" /></option><!-- 삭제 --> + <option value="P" <c:if test="${mberVO.sbscrbSttus == 'P'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.sbscrbSttusP" /></option><!-- 승인 --> + </select> + </li> + <li><!-- 조건 --> + <select name="searchCondition" id="searchCondition" title="<spring:message code="comUssUmt.userManageSsearch.searchConditioTitle" />"><!-- --> + <option value="0" <c:if test="${mberVO.searchCondition == '0'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.searchConditionId" /></option><!-- ID --> + <option value="1" <c:if test="${empty mberVO.searchCondition || mberVO.searchCondition == '1'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.searchConditionName" /></option><!-- Name --> + </select> + </li> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${userSearchVO.searchKeyword}"/>' maxlength="255" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /> + <input type="button" class="s_btn" onClick="fnDeleteUser(); return false;" value="<spring:message code="title.delete" />" title="<spring:message code="title.delete" /> <spring:message code="input.button" />" /> + <span class="btn_b"><a href="<c:url value='/uss/umt/EgovUserInsertView.do'/>" onClick="fnAddUserView(); return false;" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span> + </li> + </ul> + </div> + + + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 5%;"> + <col style="width: 3%;"> + + <col style="width: 15%;"> + <col style="width: 15%;"> + <col style="width: 20%;"> + <col style="width: 13%;"> + <col style="width: 10%;"> + <col style="width: ;"> + </colgroup> + <thead> + <tr> + <th><spring:message code="table.num" /></th><!-- 번호 --> + <th><input type="checkbox" name="checkAll" class="check2" onclick="javascript:fncCheckAll()" title="<spring:message code="input.selectAll.title" />"></th><!-- 전체선택 --> + + <th class="board_th_link"><spring:message code="comUssUmt.userManageList.id" /></th><!--아이디 --> + <th><spring:message code="comUssUmt.userManageList.name" /></th><!-- 사용자이름 --> + <th><spring:message code="comUssUmt.userManageList.email" /></th><!-- 사용자이메일 --> + <th><spring:message code="comUssUmt.userManageList.phone" /></th><!-- 전화번호 --> + <th><spring:message code="table.regdate" /></th><!-- 등록일 --> + <th><spring:message code="comUssUmt.userManageList.sbscrbSttus" /></th><!-- 가입상태 --> + + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="8"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <td><c:out value="${status.count}"/></td> + <td> + <input type="checkbox" name="checkField" class="check2" title="선택"/> + <input name="checkId" type="hidden" value="<c:out value='${result.userTy}'/>:<c:out value='${result.uniqId}'/>"/> + </td> + <td><a href="<c:url value='/uss/umt/EgovMberSelectUpdtView.do'/>?selectedId=<c:out value="${result.uniqId}"/>" onclick="javascript:fnSelectUser('<c:out value="${result.userTy}"/>:<c:out value="${result.uniqId}"/>'); return false;"><c:out value="${result.userId}"/></a></td> + <td><c:out value="${result.userNm}"/></td> + <td><c:out value="${result.emailAdres}"/></td> + <td><c:out value="${result.areaNo}"/>)<c:out value="${result.middleTelno}"/>-<c:out value="${result.endTelno}"/></td> + <td><c:out value="${fn:substring(result.sbscrbDe,0,10)}"/></td> + <td> + <c:forEach var="emplyrSttusCode_result" items="${emplyrSttusCode_result}" varStatus="status"> + <c:if test="${result.sttus == emplyrSttusCode_result.code}"><c:out value="${emplyrSttusCode_result.codeNm}"/></c:if> + </c:forEach> + </td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul><ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fnLinkPage"/></ul> + </div> + + <input name="selectedId" type="hidden" /> + <input name="checkedIdForDel" type="hidden" /> + <input name="pageIndex" type="hidden" value="<c:out value='${userSearchVO.pageIndex}'/>"/> +</div> +</form> + + + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserManage.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberSelectUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberSelectUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberSelectUpdt.jsp (revision 7) @@ -0,0 +1,329 @@ +<% + /** + * @Class Name : EgovEntrprsMberSelectUpdt.jsp + * @Description : 사용자상세조회, 수정 JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.02 조재영 최초 생성 + * @ 2015.06.16 조정국 password 중복필드 정리 + * @ 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * @ 2017.07.21 장동한 로그인인증제한 작업 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.03.12 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.entrprsUserManage.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.update" /></title><!-- 기업회원관리 수정 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="entrprsManageVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/ccm/zip/EgovZipPopup.js' />" ></script> +<script type="text/javaScript" language="javascript" defer="defer"> +function fnListPage(){ + document.entrprsManageVO.action = "<c:url value='/uss/umt/EgovEntrprsMberManage.do'/>"; + document.entrprsManageVO.submit(); +} +function fnDeleteEntrprs(checkedIds) { + if(confirm("<spring:message code="common.delete.msg" />")){ + document.entrprsManageVO.checkedIdForDel.value=checkedIds; + document.entrprsManageVO.action = "<c:url value='/uss/umt/EgovEntrprsMberDelete.do'/>"; + document.entrprsManageVO.submit(); + } +} +function fnPasswordMove(){ + document.entrprsManageVO.action = "<c:url value='/uss/umt/EgovEntrprsPasswordUpdtView.do'/>"; + document.entrprsManageVO.submit(); +} + +function fnLockIncorrect(){ + if(confirm("<spring:message code="comUssUmt.common.lockAtConfirm" />")){ + document.entrprsManageVO.action = "<c:url value='/uss/umt/EgovEntrprsMberLockIncorrect.do'/>"; + document.entrprsManageVO.submit(); + } +} + +function fnUpdate(form){ + if(confirm("<spring:message code="common.save.msg" />")){ + if(validateEntrprsManageVO(form)){ + form.submit(); + return true; + }else{ + return false; + } + } +} +</script> +</head> +<body> +<!-- content start --> +<form:form commandName="entrprsManageVO" action="${pageContext.request.contextPath}/uss/umt/EgovEntrprsMberSelectUpdt.do" name="entrprsManageVO" method="post" onSubmit="fnUpdate(document.forms[0]); return false;"> +<!-- <div class="wTableFrm"> --> + + <!-- 상세정보 사용자 삭제시 prameter 전달용 input --> + <input name="checkedIdForDel" type="hidden" /> + <!-- 검색조건 유지 --> + <input type="hidden" name="searchCondition" value="<c:out value='${userSearchVO.searchCondition}'/>"/> + <input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/> + <input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> + <input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> + <!-- 우편번호검색 --> + <input type="hidden" name="zip_url" value="<c:url value='/sym/ccm/zip/EgovCcmZipSearchPopup.do'/>" /> + <!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음--> + <input type="hidden" name="userTyForPassword" value="<c:out value='${entrprsManageVO.userTy}'/>" /> + <!-- for validation --> + <input type="hidden" name="entrprsMberPassword" value="ex~Test#$12"> + <input type="hidden" name="selectedId" value="<c:out value='${entrprsManageVO.entrprsmberId}'/>"/> + +<!-- 우편번호검색 --> +<input type="hidden" name="zip_url" value="<c:url value='/sym/ccm/zip/EgovCcmZipSearchPopup.do'/>" /> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.update" /></h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 22%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력/선택 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputSelect"><spring:message code="input.cSelect" /></c:set> + <!-- 기업회원아이디 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.id"/></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="entrprsmberId" id="entrprsmberId" title="${title} ${inputTxt}" size="20" readonly="true" maxlength="20" /> + <div><form:errors path="entrprsmberId" cssClass="error" /></div> + <form:hidden path="uniqId" /> + </td> + </tr> + <!-- 회사명 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.name"/></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="cmpnyNm" title="${title} ${inputTxt}" size="50" maxlength="60" /> + <div><form:errors path="cmpnyNm" cssClass="error" /></div> + </td> + </tr> + <!-- 비밀번호힌트 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.passHit"/></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="entrprsMberPasswordHint" id="entrprsMberPasswordHint" title="${title} ${inputSelect}"> + <form:option value="" label="--선택하세요--"/> + <form:options items="${passwordHint_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="entrprsMberPasswordHint" cssClass="error"/></div> + </td> + </tr> + <!-- 비밀번호정답 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.passOk"/></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="entrprsMberPasswordCnsr" id="entrprsMberPasswordCnsr" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="50" maxlength="100" /> + <div><form:errors path="entrprsMberPasswordCnsr" cssClass="error"/></div> + </td> + </tr> + <!-- 업종코드 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.indutyCode"/></c:set> + <tr> + <th>${title}</th> + <td class="left"> + <form:select path="indutyCode" id="indutyCode" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${indutyCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + </td> + </tr> + <!-- 기업구분코드 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.entrprsSeCode"/></c:set> + <tr> + <th>${title}</th> + <td class="left"> + <form:select path="entrprsSeCode" id="entrprsSeCode" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${entrprsSeCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + </td> + </tr> + + <!-- 대표이사이름 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.cxfc"/></c:set> + <tr> + <th>${title}</th> + <td class="left"> + <form:input path="cxfc" id="cxfc" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="cxfc" cssClass="error" /></div> + </td> + </tr> + <!-- 사업자등록번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.bizrno"/></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="bizrno" id="bizrno" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="bizrno" cssClass="error" /></div> + </td> + </tr> + + <!-- 법인등록번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.jurirno"/></c:set> + <tr> + <th>${title}</th> + <td class="left"> + <form:select path="jurirno" id="jurirno" title="${title} ${inputSelect}"> + <form:option value="" label="--선택하세요--"/> + <form:options items="${entrprsSeCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="jurirno" cssClass="error" /></div> + </td> + </tr> + + <!-- 회사전화번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.tel"/></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="areaNo" id="areaNo" title="전화번호" size="5" maxlength="5" style="width:40px;"/> + - <form:input path="entrprsMiddleTelno" id="entrprsMiddleTelno" size="5" maxlength="5" style="width:40px;"/> + - <form:input path="entrprsEndTelno" id="entrprsEndTelno" size="5" maxlength="5" style="width:40px;"/> + <div><form:errors path="areaNo" cssClass="error" /></div> + <div><form:errors path="entrprsMiddleTelno" cssClass="error" /></div> + <div><form:errors path="entrprsEndTelno" cssClass="error" /></div> + </td> + </tr> + <!-- 팩스번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.fax"/></c:set> + <tr> + <th>${title}</th> + <td class="left"> + <form:input path="fxnum" id="fxnum" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="fxnum" cssClass="error" /></div> + </td> + </tr> + <!-- 우번번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.post"/></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <input name="zip" id="zip" title="${title} ${inputTxt}" value="<c:out value='${entrprsManageVO.zip}'/>" type="text" size="20" value="" maxlength="8" style="width:60px;" /> + <!-- form:hidden path="zip" id="zip" --> + <!-- <button class="btn_s2" onClick="fn_egov_ZipSearch(document.mberManageVO, document.mberManageVO.zip, document.mberManageVO.zip_view, document.mberManageVO.adres);return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />">우번번호검색</button> --> + <div><form:errors path="zip" cssClass="error" /></div> + </td> + </tr> + <!-- 주소 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.addr"/></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="adres" id="adres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="70" maxlength="100" /> + <div><form:errors path="adres" cssClass="error" /></div> + </td> + </tr> + <!-- 상세주소 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.addrDetail"/></c:set> + <tr> + <th>${title}</th> + <td class="left"> + <form:input path="detailAdres" id="detailAdres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="70" maxlength="100" /> + <div><form:errors path="detailAdres" cssClass="error" /></div> + </td> + </tr> + <!-- 신청자이름 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageList.regName"/></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="applcntNm" id="applcntNm" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="20" /> + <div><form:errors path="applcntNm" cssClass="error" /></div> + </td> + </tr> + <!-- 신청자이메일주소 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageList.regMail"/></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="applcntEmailAdres" id="applcntEmailAdres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="30" maxlength="50" /> + <div><form:errors path="applcntEmailAdres" cssClass="error" /></div> + </td> + </tr> + <!-- 그룹아이디 --> + <c:set var="inputSelect"><spring:message code="input.select"/></c:set> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.groupId"/></c:set> + <tr> + <th>${title}</th> + <td class="left"> + <form:select path="groupId" id="groupId" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${groupId_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="groupId" cssClass="error"/></div> + </td> + </tr> + <!-- 기업회원상태코드 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.status"/></c:set> + <tr> + <th>${title} <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="entrprsMberSttus" id="entrprsMberSttus" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${entrprsMberSttus_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="entrprsMberSttus" cssClass="error"/></div> + </td> + </tr> + <!-- 로그인인증제한여부 --> + <c:set var="title"><spring:message code="comUssUmt.common.lockAt"/></c:set> + <tr> + <th><label for="lockAt">${title}</label></th> + <td class="left"> + <c:if test="${entrprsManageVO.lockAt eq 'Y'}">예</c:if> + <c:if test="${entrprsManageVO.lockAt == null || entrprsManageVO.lockAt eq '' || entrprsManageVO.lockAt eq 'N'}">아니오</c:if> + </td> + </tr> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.save" />" title="<spring:message code="button.save" /> <spring:message code="input.button" />" /> + <button class="btn_s2" onClick="fnDeleteEntrprs('<c:out value='${entrprsManageVO.userTy}'/>:<c:out value='${entrprsManageVO.uniqId}'/>'); return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="button.delete" /></button> + <span class="btn_s"><a href="<c:url value='/uss/umt/EgovEntrprsMberManage.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + <button class="btn_s2" onClick="fnPasswordMove(); return false;" title="<spring:message code="comUssUmt.userManageModifyBtn.passwordChange" /> <spring:message code="input.button" />"><spring:message code="comUssUmt.userManageModifyBtn.passwordChange" /></button> + <button class="btn_s2" onClick="fnLockIncorrect(); return false;" title="<spring:message code="comUssUmt.common.lockAtBtn" /> <spring:message code="input.button" />"><spring:message code="comUssUmt.common.lockAtBtn" /></button> + <button class="btn_s2" onClick="document.entrprsManageVO.reset(); return false;" title="<spring:message code="button.reset" /> <spring:message code="input.button" />"><spring:message code="button.reset" /></button> + </div><div style="clear:both;"></div> + + + + +</div> +</form:form> +<!-- content end --> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberSelectUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberManage.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberManage.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberManage.jsp (revision 7) @@ -0,0 +1,218 @@ +<% + /** + * @Class Name : EgovUserManage.jsp + * @Description : 사용자관리(조회,삭제) JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.02 조재영 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.03.02 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.userManage.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- +function fncCheckAll() { + var checkField = document.listForm.checkField; + if(document.listForm.checkAll.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} +function fnDeleteUser() { + var checkField = document.listForm.checkField; + var id = document.listForm.checkId; + var checkedIds = ""; + var checkedCount = 0; + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + if(checkField[i].checked) { + checkedIds += ((checkedCount==0? "" : ",") + id[i].value); + checkedCount++; + } + } + } else { + if(checkField.checked) { + checkedIds = id.value; + } + } + } + if(checkedIds.length > 0) { + if(confirm("<spring:message code="common.delete.msg" />")){ + document.listForm.checkedIdForDel.value=checkedIds; + document.listForm.action = "<c:url value='/uss/umt/EgovMberDelete.do'/>"; + document.listForm.submit(); + } + } +} +function fnSelectUser(id) { + document.listForm.selectedId.value = id; + array = id.split(":"); + if(array[0] == "") { + } else { + userTy = array[0]; + userId = array[1]; + } + document.listForm.selectedId.value = userId; + document.listForm.action = "<c:url value='/uss/umt/EgovMberSelectUpdtView.do'/>"; + document.listForm.submit(); +} +function fnAddUserView() { + document.listForm.action = "<c:url value='/uss/umt/EgovMberInsertView.do'/>"; + document.listForm.submit(); +} +function fnLinkPage(pageNo){ + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/uss/umt/EgovMberManage.do'/>"; + document.listForm.submit(); +} +function fnSearch(){ + document.listForm.pageIndex.value = 1; + document.listForm.action = "<c:url value='/uss/umt/EgovMberManage.do'/>"; + document.listForm.submit(); +} +<c:if test="${!empty resultMsg}">alert("<spring:message code="${resultMsg}" />");</c:if> +--> +</script> +</head> +<body> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="listForm" action="<c:url value='/uss/umt/EgovMberManage.do'/>" method="post"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + + <!-- 검색영역 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li><!-- 상태--> + <select name="sbscrbSttus" id="sbscrbSttus" title="<spring:message code="comUssUmt.userManageSsearch.sbscrbSttusTitle" />"> + <option value="0" <c:if test="${empty mberVO.sbscrbSttus || mberVO.sbscrbSttus == '0'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.sbscrbSttusAll" /></option><!-- 상태(전체) --> + <option value="A" <c:if test="${mberVO.sbscrbSttus == 'A'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.sbscrbSttusA" /></option><!-- 가입신청 --> + <option value="D" <c:if test="${mberVO.sbscrbSttus == 'D'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.sbscrbSttusD" /></option><!-- 삭제 --> + <option value="P" <c:if test="${mberVO.sbscrbSttus == 'P'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.sbscrbSttusP" /></option><!-- 승인 --> + </select> + </li> + <li><!-- 조건 --> + <select name="searchCondition" id="searchCondition" title="<spring:message code="comUssUmt.userManageSsearch.searchConditioTitle" />"><!-- --> + <option value="0" <c:if test="${mberVO.searchCondition == '0'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.searchConditionId" /></option><!-- ID --> + <option value="1" <c:if test="${empty mberVO.searchCondition || mberVO.searchCondition == '1'}">selected="selected"</c:if> ><spring:message code="comUssUmt.userManageSsearch.searchConditionName" /></option><!-- Name --> + </select> + </li> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${mberVO.searchKeyword}"/>' maxlength="255" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /> + <input type="button" class="s_btn" onClick="fnDeleteUser(); return false;" value="<spring:message code="title.delete" />" title="<spring:message code="title.delete" /> <spring:message code="input.button" />" /> + <span class="btn_b"><a href="<c:url value='/uss/umt/EgovMberInsertView.do'/>" onClick="fnAddUserView(); return false;" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span> + </li> + </ul> + </div> + + +<table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 5%;"> + <col style="width: 3%;"> + + <col style="width: 15%;"> + <col style="width: 15%;"> + <col style="width: 20%;"> + <col style="width: 13%;"> + <col style="width: 10%;"> + <col style="width: ;"> + </colgroup> + <thead> + <tr> + <th><spring:message code="table.num" /></th><!-- 번호 --> + <th><input type="checkbox" name="checkAll" class="check2" onclick="javascript:fncCheckAll()" title="<spring:message code="input.selectAll.title" />"></th><!-- 전체선택 --> + + <th class="board_th_link"><spring:message code="comUssUmt.userManageList.id" /></th><!--아이디 --> + <th><spring:message code="comUssUmt.userManageList.name" /></th><!-- 사용자이름 --> + <th><spring:message code="comUssUmt.userManageList.email" /></th><!-- 사용자이메일 --> + <th><spring:message code="comUssUmt.userManageList.phone" /></th><!-- 전화번호 --> + <th><spring:message code="table.regdate" /></th><!-- 등록일 --> + <th><spring:message code="comUssUmt.userManageList.sbscrbSttus" /></th><!-- 가입상태 --> + + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="8"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <td><c:out value="${status.count}"/></td> + <td> + <input name="checkField" title="checkField <c:out value="${status.count}"/>" type="checkbox"/> + <input name="checkId" type="hidden" value="<c:out value='${result.userTy}'/>:<c:out value='${result.uniqId}'/>"/> + </td> + <td><a href="<c:url value='/uss/umt/EgovMberSelectUpdtView.do'/>?selectedId=<c:out value="${result.uniqId}"/>" onclick="javascript:fnSelectUser('<c:out value="${result.userTy}"/>:<c:out value="${result.uniqId}"/>'); return false;"><c:out value="${result.userId}"/></a></td> + <td><c:out value="${result.userNm}"/></td> + <td><c:out value="${result.emailAdres}"/></td> + <td><c:out value="${result.areaNo}"/>)<c:out value="${result.middleTelno}"/>-<c:out value="${result.endTelno}"/></td> + <td><c:out value="${fn:substring(result.sbscrbDe,0,10)}"/></td> + <td> + <c:forEach var="entrprsMberSttus_result" items="${entrprsMberSttus_result}" varStatus="status"> + <c:if test="${result.sttus == entrprsMberSttus_result.code}"><c:out value="${entrprsMberSttus_result.codeNm}"/></c:if> + </c:forEach> + </td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul><ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fnLinkPage"/></ul> + </div> + +<input name="selectedId" type="hidden" /> +<input name="checkedIdForDel" type="hidden" /> +<input name="pageIndex" type="hidden" value="<c:out value='${userSearchVO.pageIndex}'/>"/> +</div> +</form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberManage.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberSbscrb.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberSbscrb.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberSbscrb.jsp (revision 7) @@ -0,0 +1,408 @@ +<% + /** + * @Class Name : EgovEntrprsMberSbscrb.jsp + * @Description : 기업회원등록 JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.02 조재영 최초 생성 + * @ 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.03.12 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.entrprsUserManage.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title><!-- 기업회원관리 등록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="entrprsManageVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/ccm/zip/EgovZipPopup.js' />" ></script> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script type="text/javaScript" language="javascript" defer="defer"> + +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + + //모달 셋팅 + fn_modal_setting(); + +} +/********************************************************* + * 모달셋팅 + ******************************************************** */ +function fn_modal_setting(){ + //버튼에 모달 연결 + $("#btnMbrId").egovModal( "egovModal" ); + + //타이틀 설졍 + $("#egovModal").setEgovModalTitle("<spring:message code="comUssUmt.userManageRegistModal.title" />"); //아이디 중복 확인 + var content = ""; + content = content + "<div class='modal-alignL' style='margin:5px 0 0 0'>"+"<spring:message code="comUssUmt.userManageRegistModal.userIsId" /> :"+"</div>"; //사용할아이디 + content = content + "<div class='modal-alignL'>"+"<input type='text' id='checkIdModal' name='checkIdModal' value='' size='20' maxlength='20' />"+"</div>"; + content += "<div style='clear:both;'></div>"; + content += "<div id='divModalResult' style='margin:10px 0 0 0'><spring:message code="comUssUmt.userManageRegistModal.initStatus" /></div>"; //결과 : 중복확인을 실행하십시오. + //모달 body 설정 + $("#egovModal").setEgovModalBody(content); + + var footer = ""; + //footer += "<div class='modal-btn'><button class='btn_s2' id='btnModalOk' onclick='fn_id_checkOk()'>확인</button></div>"; + //footer += "<div class='modal-btn'><button class='btn_s2' id='btnModalSelect' onclick='fn_id_check()'>조회</button></div>"; + + footer += "<span class='btn_style1 blue' id='btnModalOk' onclick='fn_id_checkOk()'><a href='#'>확인</a></span>&nbsp;"; + footer += "<span class='btn_style1 blue' id='btnModalSelect' onclick='fn_id_check()'><a href='#'>조회</a></span>&nbsp;"; + + //모달 footer 설정 + $("#egovModal").setEgovModalfooter(footer); + + //엔터이벤트처리 + $("input[name=checkIdModal]").keydown(function (key) { + if(key.keyCode == 13){ + fn_id_check(); + } + }); + + footer = null; + content = null; +} +/********************************************************* + * 아이디 체크 AJAX + ******************************************************** */ +function fn_id_check(){ + $.ajax({ + type:"POST", + url:"<c:url value='/uss/umt/EgovIdDplctCnfirmAjax.do' />", + data:{ + "checkId": $("#checkIdModal").val() + }, + dataType:'json', + timeout:(1000*30), + success:function(returnData, status){ + if(status == "success") { + if(returnData.usedCnt > 0 ){ + //사용할수 없는 아이디입니다. + $("#divModalResult").html("<font color='red'><spring:message code="comUssUmt.userManageRegistModal.result" /> : ["+returnData.checkId+"]<spring:message code="comUssUmt.userManageRegistModal.useMsg" /></font>"); + }else{ + //사용가능한 아이디입니다. + $("#divModalResult").html("<font color='blue'><spring:message code="comUssUmt.userManageRegistModal.result" /> : ["+returnData.checkId+"]<spring:message code="comUssUmt.userManageRegistModal.notUseMsg" /></font>"); + } + }else{ alert("ERROR!");return;} + } + }); +} + +/********************************************************* + * 아이디 체크 확인 + ******************************************************** */ +function fn_id_checkOk(){ + $.ajax({ + type:"POST", + url:"<c:url value='/uss/umt/EgovIdDplctCnfirmAjax.do' />", + data:{ + "checkId": $("#checkIdModal").val() + }, + dataType:'json', + timeout:(1000*30), + success:function(returnData, status){ + if(status == "success") { + if(returnData.usedCnt > 0 ){ + alert("<spring:message code="comUssUmt.userManageRegistModal.noIdMsg" />"); //사용이 불가능한 아이디 입니다. + return; + }else{ + + $("input[name=entrprsmberId]").val(returnData.checkId); + $("#egovModal").setEgovModalClose(); + + } + }else{ alert("ERROR!");return;} + } + }); +} + + +function fnIdCheck1(){ + var retVal; + var url = "<c:url value='/uss/umt/EgovIdDplctCnfirmView.do'/>"; + var varParam = new Object(); + varParam.checkId = document.entrprsManageVO.entrprsmberId.value; + var openParam = "dialogWidth:303px;dialogHeight:250px;scroll:no;status:no;center:yes;resizable:yes;"; + retVal = window.showModalDialog(url, varParam, openParam); + if(retVal) { + document.entrprsManageVO.entrprsmberId.value = retVal; + } +} + +function showModalDialogCallback(retVal) { + if(retVal) { + document.entrprsManageVO.entrprsmberId.value = retVal; + } +} + + +function fnListPage(){ + document.entrprsManageVO.action = "<c:url value='/uss/umt/EgovEntrprsMberManage.do'/>"; + document.entrprsManageVO.submit(); +} + +function fnInsert(form){ + if(confirm("<spring:message code="common.regist.msg" />")){ + if(validateEntrprsManageVO(form)){ + if(form.entrprsMberPassword.value != form.entrprsMberPassword2.value){ + alert("<spring:message code="fail.user.passwordUpdate2" />"); + return false; + } + form.submit(); + return true; + } + } +} +</script> +<style> +.modal-content {width: 400px;} +</style> +</head> +<body onload="fn_egov_init()"> + +<!-- content start --> + <form:form commandName="entrprsManageVO" action="${pageContext.request.contextPath}/uss/umt/EgovEntrprsMberSbscrb.do" name="entrprsManageVO" method="post" onSubmit="fnInsert(document.forms[0]); return false;"> + +<!-- 우편번호검색 --> +<input type="hidden" name="zip_url" value="<c:url value='/sym/ccm/zip/EgovCcmZipSearchPopup.do'/>" /> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 22%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력/선택 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputSelect"><spring:message code="input.cSelect" /></c:set> + <!-- 기업회원아이디 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.id"/></c:set> + <tr> + <th><label for="entrprsmberId">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="entrprsmberId" id="entrprsmberId" title="${title} ${inputTxt}" size="20" readonly="true" maxlength="20" style="width:80%;" /> + <button id="btnMbrId" class="btn_s2" onClick="return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="comUssUmt.entrprsUserManageRegistBtn.idSearch" /></button> + <div><form:errors path="entrprsmberId" cssClass="error" /></div> + </td> + </tr> + <!-- 회사명 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.name"/></c:set> + <tr> + <th><label for="cmpnyNm">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="cmpnyNm" title="${title} ${inputTxt}" size="50" maxlength="60" /> + <div><form:errors path="cmpnyNm" cssClass="error" /></div> + </td> + </tr> + <!-- 비밀번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.pass"/></c:set> + <tr> + <th><label for="entrprsMberPassword">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <div> + <form:password path="entrprsMberPassword" title="${title} ${inputTxt}" size="50" maxlength="20" /> + <div><form:errors path="entrprsMberPassword" cssClass="error" /></div> + </div> + <div> + <div><spring:message code="info.password.rule.password1" /></div> + <div><spring:message code="info.password.rule.pwdcheckcomb3" /></div> + <div><spring:message code="info.password.rule.pwdcheckseries" /></div> + </div> + </td> + </tr> + <!-- 비밀번호확인 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.passConfirm"/></c:set> + <tr> + <th><label for="entrprsMberPassword2">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <input name="entrprsMberPassword2" id="entrprsMberPassword2" title="${title} ${inputTxt}" type="password" size="50" maxlength="20" /> + </td> + </tr> + <!-- 비밀번호힌트 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.passHit"/></c:set> + <tr> + <th><label for="entrprsMberPasswordHint">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="entrprsMberPasswordHint" id="entrprsMberPasswordHint" title="${title} ${inputSelect}"> + <form:option value="" label="--선택하세요--"/> + <form:options items="${passwordHint_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="entrprsMberPasswordHint" cssClass="error"/></div> + </td> + </tr> + <!-- 비밀번호정답 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.passOk"/></c:set> + <tr> + <th><label for="entrprsMberPasswordCnsr">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="entrprsMberPasswordCnsr" id="entrprsMberPasswordCnsr" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="50" maxlength="100" /> + <div><form:errors path="entrprsMberPasswordCnsr" cssClass="error"/></div> + </td> + </tr> + <!-- 업종코드 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.indutyCode"/></c:set> + <tr> + <th><label for="indutyCode">${title}</label></th> + <td class="left"> + <form:select path="indutyCode" id="indutyCode" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${indutyCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + </td> + </tr> + <!-- 기업구분코드 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.entrprsSeCode"/></c:set> + <tr> + <th><label for="entrprsSeCode">${title}</label></th> + <td class="left"> + <form:select path="entrprsSeCode" id="entrprsSeCode" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${entrprsSeCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + </td> + </tr> + + <!-- 대표이사이름 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.cxfc"/></c:set> + <tr> + <th><label for="cxfc">${title}</label></th> + <td class="left"> + <form:input path="cxfc" id="cxfc" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="cxfc" cssClass="error" /></div> + </td> + </tr> + <!-- 사업자등록번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.bizrno"/></c:set> + <tr> + <th><label for="bizrno">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="bizrno" id="bizrno" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="bizrno" cssClass="error" /></div> + </td> + </tr> + + <!-- 법인등록번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.jurirno"/></c:set> + <tr> + <th><label for="jurirno">${title}</label> </th> + <td class="left"> + <form:input path="jurirno" id="jurirno" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="jurirno" cssClass="error" /></div> + </td> + </tr> + + <!-- 회사전화번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.tel"/></c:set> + <tr> + <th><label for="areaNo">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="areaNo" id="areaNo" title="전화번호" size="5" maxlength="5" style="width:40px;"/> + - <form:input path="entrprsMiddleTelno" id="entrprsMiddleTelno" size="5" maxlength="5" style="width:40px;"/> + - <form:input path="entrprsEndTelno" id="entrprsEndTelno" size="5" maxlength="5" style="width:40px;"/> + <div><form:errors path="areaNo" cssClass="error" /></div> + <div><form:errors path="entrprsMiddleTelno" cssClass="error" /></div> + <div><form:errors path="entrprsEndTelno" cssClass="error" /></div> + </td> + </tr> + <!-- 팩스번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.fax"/></c:set> + <tr> + <th><label for="">${title}</label></th> + <td class="left"> + <form:input path="fxnum" id="fxnum" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="fxnum" cssClass="error" /></div> + </td> + </tr> + <!-- 우번번호 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.post"/></c:set> + <tr> + <th><label for="zip">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="zip" title="${title} ${inputTxt}" type="text" size="20" value="" maxlength="8" style="width:60px;" /> + <!-- form:hidden path="zip" id="zip" --> + <!-- <button class="btn_s2" onClick="fn_egov_ZipSearch(document.mberManageVO, document.mberManageVO.zip, document.mberManageVO.zip_view, document.mberManageVO.adres);return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />">우번번호검색</button> --> + <div><form:errors path="zip" cssClass="error" /></div> + </td> + </tr> + <!-- 주소 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.addr"/></c:set> + <tr> + <th><label for="adres">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="adres" id="adres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="70" maxlength="100" /> + <div><form:errors path="adres" cssClass="error" /></div> + </td> + </tr> + <!-- 상세주소 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageRegist.addrDetail"/></c:set> + <tr> + <th><label for="applcntNm">${title}</label></th> + <td class="left"> + <form:input path="detailAdres" id="detailAdres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="70" maxlength="100" /> + <div><form:errors path="detailAdres" cssClass="error" /></div> + </td> + </tr> + <!-- 신청자이름 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageList.regName"/></c:set> + <tr> + <th><label for="">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="applcntNm" id="applcntNm" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="20" /> + <div><form:errors path="applcntNm" cssClass="error" /></div> + </td> + </tr> + <!-- 신청자이메일주소 --> + <c:set var="title"><spring:message code="comUssUmt.entrprsUserManageList.regMail"/></c:set> + <tr> + <th><label for="applcntEmailAdres">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="applcntEmailAdres" id="applcntEmailAdres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="30" maxlength="50" /> + <div><form:errors path="applcntEmailAdres" cssClass="error" /></div> + </td> + </tr> + <input type="hidden" name="entrprsMberSttus" value="DEFAULT" /> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /> + </div><div style="clear:both;"></div> + + +</div> +</form:form> + +<!-- Egov Modal include --> +<c:import url="/EgovModal.do" charEncoding="utf-8"> + <c:param name="scriptYn" value="Y" /> + <c:param name="modalName" value="egovModal" /> +</c:import> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovEntrprsMberSbscrb.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserPasswordUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserPasswordUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserPasswordUpdt.jsp (revision 7) @@ -0,0 +1,138 @@ +<% + /** + * @Class Name : EgovPasswordUpdt.jsp + * @Description : 암호수정 JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.02 조재영 최초 생성 + * @ 2016.07.26 장동한 표준프레임워크 v3.6 개선 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.04.02 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.userManagePasswordUpdt.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="passwordChgVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript" defer="defer"> +function fnListPage(){ + document.passwordChgVO.action = "<c:url value='/uss/umt/EgovUserManage.do'/>"; + document.passwordChgVO.submit(); +} +function fnUpdate(form){ + if(validatePasswordChgVO(form)){ + if(form.newPassword.value != form.newPassword2.value){ + alert("<spring:message code="fail.user.passwordUpdate2" />"); + return false; + } + document.passwordChgVO.submit(); + return true; + }else{ + return false; + } +} +<c:if test="${!empty resultMsg}">alert("<spring:message code="${resultMsg}" />");</c:if> +</script> +</head> +<body> +<form name="passwordChgVO" method="post" action="<c:url value="${'/uss/umt/EgovUserPasswordUpdt.do'}"/>" onsubmit="fnUpdate(document.forms[0]); return false;"> + <!-- 상세정보 사용자 삭제시 prameter 전달용 input --> + <input name="checkedIdForDel" type="hidden" /> + <!-- 검색조건 유지 --> + <input type="hidden" name="searchCondition" value="<c:out value='${userSearchVO.searchCondition}'/>"/> + <input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/> + <input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> + <input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> + <!-- 우편번호검색 --> + <input type="hidden" name="url" value="<c:url value='/sym/ccm/zip/EgovCcmZipSearchPopup.do'/>" /> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comUssUmt.deptUserManage.title" /> ${pageTitle}</h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 16%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 일반회원아이디 --> + <c:set var="title"><spring:message code="comUssUmt.userManagePasswordUpdt.id" /></c:set> + <tr> + <th>${title}</th> + <td class="left"> + <input name="emplyrId" id="emplyrId" title="사용자아이디" type="text" size="20" value="<c:out value='${userManageVO.emplyrId}'/>" maxlength="20" readonly/> + <input name="uniqId" id="uniqId" title="uniqId" type="hidden" size="20" value="<c:out value='${userManageVO.uniqId}'/>"/> + <input name="userTy" id="userTy" title="userTy" type="hidden" size="20" value="<c:out value='${userManageVO.userTy}'/>"/> + </td> + </tr> + + <!-- 기존 비밀번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManagePasswordUpdt.oldPass" /></c:set> + <tr> + <th>${title}<span class="pilsu">*</span></th> + <td class="left"> + <input name="oldPassword" id="oldPassword" type="password" size="20" value="" maxlength="100" > + </td> + </tr> + <!-- 비밀번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManagePasswordUpdt.pass" /></c:set> + <tr> + <th>${title}<span class="pilsu">*</span></th> + <td class="left"> + <div> + <input name="newPassword" id="newPassword" type="password" size="20" value="" maxlength="100" > + </div> + <div> + <div><spring:message code="info.password.rule.password1" /></div> + <div><spring:message code="info.password.rule.pwdcheckcomb3" /></div> + <div><spring:message code="info.password.rule.pwdcheckseries" /></div> + </div> + </td> + </tr> + <!-- 비밀번호확인 --> + <c:set var="title"><spring:message code="comUssUmt.userManagePasswordUpdt.passConfirm" /></c:set> + <tr> + <th>${title}<span class="pilsu">*</span></th> + <td class="left"> + <input name="newPassword2" id="newPassword2" type="password" size="20" value="" maxlength="100" > + </td> + </tr> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="button.update" /> <spring:message code="input.button" />" /> + + <span class="btn_s"><a href="<c:url value='/uss/umt/EgovUserManage.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + <button class="btn_s2" onClick="document.passwordChgVO.reset();return false;" title="<spring:message code="button.reset" /> <spring:message code="input.button" />"><spring:message code="button.reset" /></button> + </div><div style="clear:both;"></div> + +</div> +</form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovUserPasswordUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovStplatCnfirm.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovStplatCnfirm.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovStplatCnfirm.jsp (revision 7) @@ -0,0 +1,141 @@ +<% + /** + * @Class Name : EgovStplatCnfirm.jsp + * @Description : 약관확인 JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.31 조재영 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.03.31 + * @version 1.0 + * @see + * + */ +%> + +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comUssUmt.stplatCnfirmt.title"/></c:set> +<%pageContext.setAttribute("crlf", "\r\n"); %> + +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle}</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<base target="_self"> +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- +function fnAgree(){ + var checkField = document.QustnrManageForm.checkField; + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + if(checkField[i].checked) { + }else{ + alert("<spring:message code="comUssUmt.stplatCnfirmtValidate.disagreeStplatCnfirmt" />"); //약관에 동의하지 않으면 회원으로 가입할 수 없습니다. + checkField[i].focus(); + return; + } + } + } else { + if(checkField.checked) { + }else{ + alert("<spring:message code="comUssUmt.stplatCnfirmtValidate.disagreeStplatCnfirmt" />"); //약관에 동의하지 않으면 회원으로 가입할 수 없습니다. + checkField[i].focus(); + return; + } + } + } + + //실명인증 기본페이지는 주민번호 실명확인으로 한다. + //패키지 변경 document.stplatForm.action = "<c:url value='/uss/umt/EgovRlnmCnfirm.do'/>"; + document.stplatForm.action = "<c:url value='/sec/rnc/EgovRlnmCnfirm.do'/>"; + document.stplatForm.submit(); +} + +function fnDisAgree(){ + alert("<spring:message code="comUssUmt.stplatCnfirmtValidate.disagreeStplatCnfirmt" />"); //약관에 동의하지 않으면 회원가입을 하실수 없습니다. + return; +} +--> +</script> +</head> +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="QustnrManageForm" action="<c:url value='/sec/rnc/EgovRlnmCnfirm.do'/>" method="post"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle}</h2> + + <!-- content start --> + <input type="hidden" name="sbscrbTy" value="${sbscrbTy}"/> + <!-- 실명인증의 기본옵션은 주민번호 실명확인임 : 주민번호 실명인증 으로 가기위한 초기화값 --> + <input type="hidden" name="ihidnum" value=""/> + <input type="hidden" name="realname" value=""/> + <!-- 실명인증후 다음단계에 대한 셋팅정보 --> + <input type="hidden" name ="nextUrlName" value="button.subscribe"/> + <input type="hidden" name ="nextUrl" value= + <c:if test="${sbscrbTy == 'USR01'}">"/uss/umt/EgovMberSbscrbView.do"</c:if> + <c:if test="${sbscrbTy == 'USR02'}">"/uss/umt/EgovEntrprsMberSbscrbView.do"</c:if> + <c:if test="${empty sbscrbTy}">""</c:if> + /> + <c:forEach var="result" items="${stplatList}" varStatus="status"> + <!-- 약관확인 --> + <table class="wTable"> + <tr><th><spring:message code="comUssUmt.stplatCnfirmt.useStplatCn" /></th></tr> + + <tr> + <td><label for="useStplatCn"> + <textarea id="useStplatCn" cols="120" rows="15"><c:out value="${result.useStplatCn}" escapeXml="false" /></textarea> + </label> + </td> + </tr> + <tr> + <td><label for="checkField"> + <input name="checkField" type="checkbox" title=<spring:message code="comUssUmt.stplatCnfirmt.useStplatCn" /> ><spring:message code="comUssUmt.stplatCnfirmtMsg.useStplat" /> + <input name="checkuseStplatCn" type="hidden" value="<c:out value='${result.useStplatId}'/>"> + </label> + </td> + </tr> + </table> + <!-- 정보동의내용 --> + <table class="wTable"> + <tr><th><spring:message code="comUssUmt.stplatCnfirmt.infoProvdAgreCn" /></th></tr> + <tr> + <td><label for="infoProvdAgeCn"> + <textarea id="infoProvdAgeCn" cols="120" rows="15"><c:out value="${result.infoProvdAgeCn}" escapeXml="false" /></textarea> + </label> + <!-- <c:out value="${fn:replace(result.infoProvdAgeCn , crlf , '<br/>')}" escapeXml="false" /> --> + </td> + </tr> + <tr> + <td><label for="checkField"> + <input name="checkField" title="<spring:message code="comUssUmt.stplatCnfirmt.infoProvdAgreCn" />" type="checkbox"><spring:message code="comUssUmt.stplatCnfirmtMsg.infoProvdAgre" /> + <input name="checkinfoProvdAgeCn" type="hidden" value="<c:out value='${result.useStplatId}'/>"> + </label> + </td> + </tr> + </table> + </c:forEach> + + <div class="btn"> + <button class="btn_s2" onClick="fnDisAgree(); return false;" title="<spring:message code="button.disagree" /> <spring:message code="input.button" />"><spring:message code="button.disagree" /></button> + <input type="submit" class="s_submit" onclick="fnAgree(); return false;" value="<spring:message code="button.agree" />" title="<spring:message code="button.agree" /> <spring:message code="button.save" />" /> + </div><div style="clear:both;"></div> + + +</div> +</form> + <!-- content end --> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovStplatCnfirm.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovIdDplctCnfirm.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovIdDplctCnfirm.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovIdDplctCnfirm.jsp (revision 7) @@ -0,0 +1,172 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovIdDplctCnfirm.jsp + * @Description : 아이디중복확인 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.03 조재영 최초 생성 + * + * @author 공통서비스 개발팀 박지욱 + * @since 2009.03.23 + * @version 1.0 + * @see + * + */ +%> +<!DOCTYPE html> +<html lang="ko"> +<head> +<title>ID중복확인</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<base target="_self" > +<link rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javaScript" language="javascript"> +<!-- +function fnCheckId(){ + if(fnCheckNotKorean(document.checkForm.checkId.value) && fnCheck(document.checkForm.checkId.value)){ + document.checkForm.submit(); + }else{ + return; + } +} +function fnReturnId(){ + var retVal=""; + if (document.checkForm.usedCnt.value == 0){ + retVal = document.checkForm.resultId.value; + + var parentPanel = null; + var browser = navigator.userAgent; + + if (browser.indexOf('Trident/') > -1) { + parentPanel = parent.window.document; + }else{ + parentPanel = opener.document; + } + + + + if(parentPanel.entrprsManageVO){ + parentPanel.entrprsManageVO.entrprsmberId.value = retVal; + }else if(parentPanel.userManageVO){ + parentPanel.userManageVO.emplyrId.value = retVal; + }else if(parentPanel.mberManageVO){ + parentPanel.mberManageVO.mberId.value = retVal; + } + + + parent.window.returnValue = retVal; + window.close(); + }else if (document.checkForm.usedCnt.value == 1){ + alert("이미사용중인 아이디입니다."); + return; + }else{ + alert("먼저 중복확인을 실행하십시오"); + return; + } +} +function fnClose(){ + var retVal=""; + window.returnValue = retVal; + window.close(); +} +function fnCheckNotKorean(koreanStr){ + for(var i=0;i<koreanStr.length;i++){ + var koreanChar = koreanStr.charCodeAt(i); + if( !( 0xAC00 <= koreanChar && koreanChar <= 0xD7A3 ) && !( 0x3131 <= koreanChar && koreanChar <= 0x318E ) ) { + }else{ + //hangul finding.... + alert("한글은 사용할 수 없습니다."); + return false; + } + } + return true; +} + +// 2011.10.25 보안점검 후속조치 +function fnCheck(str){ + var blank_pattern = /[\s]/g; + var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?]/gi; + + if( special_pattern.test(str) == true || blank_pattern.test(str) == true ){ + alert("공백 및 특수문자는 사용할 수 없습니다."); + return false; + } else { + return true; + } +} + +--> +</script> +</head> +<body> + <form name="checkForm" action ="<c:url value='/uss/umt/EgovIdDplctCnfirm.do'/>"> + + <table border="0" cellspacing="0" cellpadding="0" width="300"> + <tr><td height="20" colspan="2"></td></tr> + <tr> + <td colspan="2" ><img src="<c:url value='/images/egovframework/com/cmm/icon/tit_icon.gif' />" width="16" height="16" hspace="3" align="middle" alt="제목아이콘이미지"> + &nbsp;아이디 중복확인</td> + </tr> + <tr><td height="20" colspan="2"></td></tr> + <tr> + <td>사용할아이디&nbsp;&nbsp;</td> + <td> + <input type="hidden" name="resultId" value="<c:out value="${checkId}"/>" /> + <input type="hidden" name="usedCnt" value="<c:out value="${usedCnt}"/>" /> + <input type="text" name="checkId" value="<c:out value="${checkId}"/>" maxlength="20" tabindex="1" title="아이디입력"/> + </td> + </tr> + <tr><td height="10" colspan="2"></td></tr> + <tr> + <td colspan="2">결과&nbsp;&nbsp;:&nbsp; + <c:choose> + <c:when test="${usedCnt eq -1}"> + &nbsp; 중복확인을 실행하십시오 + </c:when> + <c:when test="${usedCnt eq 0}"> + ${checkId} 는 사용가능한 아이디입니다. + </c:when> + <c:otherwise> + ${checkId} 는 사용할수 없는 아이디입니다. + </c:otherwise> + </c:choose> + </td> + </tr> + <tr><td height="15" colspan="2"></td></tr> + </table> + <table border="0" cellspacing="0" cellpadding="0" > + <tr align="right"> + <!-- 중복조회 --> + + <td> + <span class="button"><input type="button" onclick="fnCheckId();" value="<spring:message code='button.inquire' />" /></span> + </td> + + <td>&nbsp;</td> + <!-- 사용 --> + <td> + <span class="button"><input type="button" onclick="fnReturnId();" value="<spring:message code='button.use' />" /></span> + </td> + + <td>&nbsp;</td> + <!-- 닫기 --> + <td> + <span class="button"><input type="button" onclick="fnClose();" value="<spring:message code='button.close' />" /></span> + </td> + + <td></td> + </tr> + </table> + + </form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovIdDplctCnfirm.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovDeptManageUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovDeptManageUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovDeptManageUpdt.jsp (revision 7) @@ -0,0 +1,136 @@ +<% +/** + * @Class Name : EgovRoleUpdate.java + * @Description : EgovRoleUpdate jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 lee.m.j 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author lee.m.j + * @since 2009.03.11 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.deptManage.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title><!-- 부서관리 등록 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<%-- <script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFile.js'/>" ></script> --%> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFiles.js'/>" ></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="deptManage" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript"> + +function fncSelectDeptManageList() { + var varFrom = document.getElementById("deptManage"); + varFrom.action = "<c:url value='/uss/umt/dpt/selectDeptManageList.do'/>"; + varFrom.submit(); +} + +function fncDeptManageUpdate() { + var varFrom = document.getElementById("deptManage"); + varFrom.action = "<c:url value='/uss/umt/dpt/updtDeptManage.do'/>"; + + if(confirm("<spring:message code="common.save.msg" />")){ + if(!validateBanner(varFrom)){ + return; + }else{ + varFrom.submit(); + } + } +} + +function fncDeptManageDelete() { + var varFrom = document.getElementById("deptManage"); + varFrom.action = "<c:url value='/uss/umt/dpt/removeDeptManage.do'/>"; + if(confirm("<spring:message code="common.delete.msg" />")){ + varFrom.submit(); + } +} + +</script> +</head> + +<body> + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form:form commandName="deptManage" method="post" action="${pageContext.request.contextPath}/uss/umt/dpt/updtDeptManage.do' />" onSubmit="fncDeptManageUpdate(); return false;" enctype="multipart/form-data"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 16%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <!-- 부서ID --> + <c:set var="title"><spring:message code="comUssUmt.deptManageRegist.deptId" /></c:set> + <tr> + <th><label for="orgnztId">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="orgnztId" title="${title} ${inputTxt}" size="40" maxlength="50" /> + <div><form:errors path="orgnztId" cssClass="error" /></div> + </td> + </tr> + <!-- 부서명 --> + <c:set var="title"><spring:message code="comUssUmt.deptManageRegist.deptName" /></c:set> + <tr> + <th><label for="orgnztNm">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="orgnztNm" title="${title} ${inputTxt}" size="40" maxlength="200" /> + <div><form:errors path="orgnztNm" cssClass="error" /></div> + </td> + </tr> + <!-- 설명 --> + <c:set var="title"><spring:message code="comUssUmt.deptManageRegist.deptDc" /></c:set> + <tr> + <th><label for="orgnztDc">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:textarea path="orgnztDc" title="${title} ${inputTxt}" cols="300" rows="10" /> + <div><form:errors path="orgnztDc" cssClass="error" /></div> + </td> + </tr> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/uss/umt/dpt/selectDeptManageList.do'/>" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span><!-- 목록 --> + <button class="btn_s2" onClick="fncDeptManageDelete();return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="button.delete" /></button><!-- 삭제 --> + <input type="submit" class="s_submit" value="<spring:message code="button.save" />" title="<spring:message code="button.save" /> <spring:message code="input.button" />" /><!-- 저장 --> + </div><div style="clear:both;"></div> + +</div> + +<!-- 검색조건 유지 --> +<input type="hidden" name="searchCondition" value="<c:out value='${deptManageVO.searchCondition}'/>" > +<input type="hidden" name="searchKeyword" value="<c:out value='${deptManageVO.searchKeyword}'/>" > +<input type="hidden" name="pageIndex" value="<c:out value='${deptManageVO.pageIndex}'/>" > +</form:form> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovDeptManageUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberInsert.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberInsert.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberInsert.jsp (revision 7) @@ -0,0 +1,398 @@ +<% + /** + * @Class Name : EgovMberInsert.jsp + * @Description : 일반회원등록 JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.02 조재영 최초 생성 + * 2016.06.13 장동한 표준프레임워크 v3.6 개선 + * + * @author 공통서비스 개발팀 조재영 + * @since 2009.03.02 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUssUmt.userManage.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="mberManageVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/ccm/zip/EgovZipPopup.js' />" ></script> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script type="text/javaScript" language="javascript" defer="defer"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + + //모달 셋팅 + fn_modal_setting(); + +} +/********************************************************* + * 모달셋팅 + ******************************************************** */ +function fn_modal_setting(){ + //버튼에 모달 연결 + $("#btnMbrId").egovModal( "egovModal" ); + + //타이틀 설졍 + $("#egovModal").setEgovModalTitle("<spring:message code="comUssUmt.userManageRegistModal.title" />"); //아이디 중복 확인 + var content = ""; + content = content + "<div class='modal-alignL' style='margin:5px 0 0 0'>"+"<spring:message code="comUssUmt.userManageRegistModal.userIsId" /> :"+"</div>"; //사용할아이디 + content = content + "<div class='modal-alignL'>"+"<input type='text' id='checkIdModal' name='checkIdModal' value='' size='20' maxlength='20' />"+"</div>"; + content += "<div style='clear:both;'></div>"; + content += "<div id='divModalResult' style='margin:10px 0 0 0'><spring:message code="comUssUmt.userManageRegistModal.initStatus" /></div>"; //결과 : 중복확인을 실행하십시오. + //모달 body 설정 + $("#egovModal").setEgovModalBody(content); + + var footer = ""; + //footer += "<div class='modal-btn'><button class='btn_s2' id='btnModalOk' onclick='fn_id_checkOk()'>확인</button></div>"; + //footer += "<div class='modal-btn'><button class='btn_s2' id='btnModalSelect' onclick='fn_id_check()'>조회</button></div>"; + footer += "<span class='btn_style1 blue' id='btnModalOk' onclick='fn_id_checkOk()'><a href='#'>확인</a></span>&nbsp;"; + footer += "<span class='btn_style1 blue' id='btnModalSelect' onclick='fn_id_check()'><a href='#'>조회</a></span>&nbsp;"; + //모달 footer 설정 + $("#egovModal").setEgovModalfooter(footer); + + //엔터이벤트처리 + $("input[name=checkIdModal]").keydown(function (key) { + if(key.keyCode == 13){ + fn_id_check(); + } + }); + footer = null; + content = null; +} +/********************************************************* + * 아이디 체크 AJAX + ******************************************************** */ +function fn_id_check(){ + $.ajax({ + type:"POST", + url:"<c:url value='/uss/umt/EgovIdDplctCnfirmAjax.do' />", + data:{ + "checkId": $("#checkIdModal").val() + }, + dataType:'json', + timeout:(1000*30), + success:function(returnData, status){ + if(status == "success") { + + if(returnData.usedCnt > 0 ){ + //사용할수 없는 아이디입니다. + $("#divModalResult").html("<font color='red'><spring:message code="comUssUmt.userManageRegistModal.result" /> : ["+returnData.checkId+"]<spring:message code="comUssUmt.userManageRegistModal.useMsg" /></font>"); + }else{ + //사용가능한 아이디입니다. + $("#divModalResult").html("<font color='blue'><spring:message code="comUssUmt.userManageRegistModal.result" /> : ["+returnData.checkId+"]<spring:message code="comUssUmt.userManageRegistModal.notUseMsg" /></font>"); + } + }else{ alert("ERROR!");return;} + } + }); +} + +/********************************************************* + * 아이디 체크 확인 + ******************************************************** */ +function fn_id_checkOk(){ + $.ajax({ + type:"POST", + url:"<c:url value='/uss/umt/EgovIdDplctCnfirmAjax.do' />", + data:{ + "checkId": $("#checkIdModal").val() + }, + dataType:'json', + timeout:(1000*30), + success:function(returnData, status){ + if(status == "success") { + if(returnData.usedCnt > 0 ){ + alert("<spring:message code="comUssUmt.userManageRegistModal.noIdMsg" />"); //사용이 불가능한 아이디 입니다. + return; + }else{ + + $("input[name=mberId]").val(returnData.checkId); + $("#egovModal").setEgovModalClose(); + } + }else{ alert("ERROR!");return;} + } + }); +} + + +function fnIdCheck1(){ + var retVal; + var url = "<c:url value='/uss/umt/EgovIdDplctCnfirmView.do'/>"; + var varParam = new Object(); + varParam.checkId = document.mberManageVO.mberId.value; + var openParam = "dialogWidth:303px;dialogHeight:250px;scroll:no;status:no;center:yes;resizable:yes;"; + +// alert(1); + return false; + retVal = window.showModalDialog(url, varParam, openParam); + if(retVal) { + document.mberManageVO.mberId.value = retVal; + } +} + +function showModalDialogCallback(retVal) { + if(retVal) { + document.mberManageVO.mberId.value = retVal; + } +} + +function fnListPage(){ + document.mberManageVO.action = "<c:url value='/uss/umt/EgovMberManage.do'/>"; + document.mberManageVO.submit(); +} + +function fnInsert(form){ + + if(confirm("<spring:message code="common.regist.msg" />")){ + if(validateMberManageVO(form)){ + if(form.password.value != form.password2.value){ + alert("<spring:message code="fail.user.passwordUpdate2" />"); + return false; + } + form.submit(); + return true; + } + } + + + +} +</script> +<style> +.modal-content {width: 400px;} +</style> +</head> +<body onload="fn_egov_init()"> +<form:form commandName="mberManageVO" action="${pageContext.request.contextPath}/uss/umt/EgovMberInsert.do" name="mberManageVO" method="post" onSubmit="fnInsert(document.forms[0]); return false;"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 22%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력/선택 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputSelect"><spring:message code="input.cSelect" /></c:set> + <!-- 일반회원아이디 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.id"/></c:set> + <tr> + <th><label for="mberId">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="mberId" id="mberId" title="${title} ${inputTxt}" size="20" readonly="true" maxlength="20" style="width:80%;" /> + <button id="btnMbrId" class="btn_s2" onClick="return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />"><spring:message code="comUssUmt.userManageRegistBtn.idSearch" /></button> + <div><form:errors path="mberId" cssClass="error" /></div> + </td> + </tr> + <!-- 일반회원이름 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.name"/></c:set> + <tr> + <th><label for="mberNm">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="mberNm" title="${title} ${inputTxt}" size="50" maxlength="50" /> + <div><form:errors path="mberNm" cssClass="error" /></div> + </td> + </tr> + <!-- 비밀번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.pass"/></c:set> + <tr> + <th><label for="password">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <div> + <form:password path="password" title="${title} ${inputTxt}" size="50" maxlength="20" /> + <div><form:errors path="password" cssClass="error" /></div> + </div> + <div> + <div><spring:message code="info.password.rule.password1" /></div> + <div><spring:message code="info.password.rule.pwdcheckcomb3" /></div> + <div><spring:message code="info.password.rule.pwdcheckseries" /></div> + </div> + </td> + </tr> + <!-- 비밀번호확인 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.passConfirm"/></c:set> + <tr> + <th><label for="password2">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <input name="password2" id="password2" title="${title} ${inputTxt}" type="password" size="50" maxlength="20" /> + </td> + </tr> + <!-- 비밀번호힌트 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.passHit"/></c:set> + <tr> + <th><label for="passwordHint">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="passwordHint" id="passwordHint" title="${title} ${inputSelect}"> + <form:option value="" label="--선택하세요--"/> + <form:options items="${passwordHint_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="passwordHint" cssClass="error"/></div> + </td> + </tr> + <!-- 비밀번호정답 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.passOk"/></c:set> + <tr> + <th><label for="passwordCnsr">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="passwordCnsr" id="passwordCnsr" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="50" maxlength="100" /> + <div><form:errors path="passwordCnsr" cssClass="error"/></div> + </td> + </tr> + <!-- 성별구분코드 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.saxTypeCode"/></c:set> + <tr> + <th><label for="sexdstnCode">${title}</label></th> + <td class="left"> + <form:select path="sexdstnCode" id="sexdstnCode" title="${title} ${inputSelect}"> + <form:option value="" label="--선택하세요--"/> + <form:options items="${sexdstnCode_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + </td> + </tr> + <!-- 전화번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.tel"/></c:set> + <tr> + <th><label for="areaNo">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="areaNo" id="areaNo" title="전화번호" cssClass="txaIpUmt" size="5" maxlength="4" style="width:40px;"/> + - <form:input path="middleTelno" id="middleTelno" cssClass="txaIpUmt" size="5" maxlength="4" style="width:40px;"/> + - <form:input path="endTelno" id="endTelno" cssClass="txaIpUmt" size="5" maxlength="4" style="width:40px;"/> + <div><form:errors path="areaNo" cssClass="error" /></div> + <div><form:errors path="middleTelno" cssClass="error" /></div> + <div><form:errors path="endTelno" cssClass="error" /></div> + </td> + </tr> + <!-- 팩스번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.fax"/></c:set> + <tr> + <th><label for="mberFxnum">${title}</label></th> + <td class="left"> + <form:input path="mberFxnum" id="mberFxnum" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="mberFxnum" cssClass="error" /></div> + </td> + </tr> + <!-- 헨드폰번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.phone"/></c:set> + <tr> + <th><label for="moblphonNo">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="moblphonNo" id="moblphonNo" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="20" maxlength="15" /> + <div><form:errors path="moblphonNo" cssClass="error" /></div> + </td> + </tr> + <!-- 이메일주소 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.email"/></c:set> + <tr> + <th><label for="mberEmailAdres">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="mberEmailAdres" id="mberEmailAdres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="30" maxlength="50" /> + <div><form:errors path="mberEmailAdres" cssClass="error" /></div> + </td> + </tr> + <!-- 우번번호 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.post"/></c:set> + <tr> + <th><label for="zip">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="zip" title="${title} ${inputTxt}" type="text" size="20" value="" maxlength="6" style="width:60px;" /> + <!-- form:hidden path="zip" id="zip" --> + <!-- <button class="btn_s2" onClick="fn_egov_ZipSearch(document.mberManageVO, document.mberManageVO.zip, document.mberManageVO.zip_view, document.mberManageVO.adres);return false;" title="<spring:message code="button.delete" /> <spring:message code="input.button" />">우번번호검색</button> --> + <div><form:errors path="zip" cssClass="error" /></div> + </td> + </tr> + <!-- 주소 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.addr"/></c:set> + <tr> + <th><label for="adres">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="adres" id="adres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="70" maxlength="100" /> + <div><form:errors path="adres" cssClass="error" /></div> + </td> + </tr> + <!-- 상세주소 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.addrDetail"/></c:set> + <tr> + <th><label for="detailAdres">${title}</label></th> + <td class="left"> + <form:input path="detailAdres" id="detailAdres" title="${title} ${inputTxt}" cssClass="txaIpUmt" size="70" maxlength="100" /> + <div><form:errors path="detailAdres" cssClass="error" /></div> + </td> + </tr> + <!-- 그룹아이디 --> + <c:set var="inputSelect"><spring:message code="input.select"/></c:set> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.groupId"/></c:set> + <tr> + <th><label for="groupId">${title}</label></th> + <td class="left"> + <form:select path="groupId" id="groupId" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${groupId_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="groupId" cssClass="error"/></div> + </td> + </tr> + <!-- 일반회원상태코드 --> + <c:set var="title"><spring:message code="comUssUmt.userManageRegist.status"/></c:set> + <tr> + <th><label for="mberSttus">${title}</label> <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="mberSttus" id="mberSttus" title="${title} ${inputSelect}"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${mberSttus_result}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="mberSttus" cssClass="error"/></div> + </td> + </tr> + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/uss/umt/EgovMberManage.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /> + </div><div style="clear:both;"></div> + +</div><!-- div end(wTableFrm) --> + +<input name="checkedIdForDel" type="hidden" /> +<!-- 검색조건 유지 --> +<input type="hidden" name="searchCondition" value="<c:out value='${userSearchVO.searchCondition}'/>"/> +<input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/> +<input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> +<input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> + <!-- 우편번호검색 --> + <input type="hidden" name="zip_url" value="<c:url value='/sym/ccm/zip/EgovCcmZipSearchPopup.do'/>" /> +</form:form> + +<!-- Egov Modal include --> +<c:import url="/EgovModal.do" charEncoding="utf-8"> + <c:param name="scriptYn" value="Y" /> + <c:param name="modalName" value="egovModal" /> +</c:import> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uss/umt/EgovMberInsert.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/main_left.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/main_left.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/main_left.jsp (revision 7) @@ -0,0 +1,67 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> + +<% + /** + * @Class Name : left.jsp + * @Description : 좌측메뉴화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + + /* Image Path 설정 */ + String imagePath_icon = "/images/egovframework/com/sym/mnu/mpm/icon/"; + String imagePath_button = "/images/egovframework/com/sym/mnu/mpm/button/"; +%> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<link rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/mpm.css' />" type="text/css" /> +<title>메뉴정보등록</title> +<script type="text/javascript"> +var imgpath = "<c:url value='/images/egovframework/com/cmm/utl/'/>"; +var getContextPath = "${pageContext.request.contextPath}"; +var path = "http://" + "${pageContext.request.serverName}" + ":" + "${pageContext.request.serverPort}"; +</script> +<script language="javascript1.2" src="<c:url value='/js/egovframework/com/sym/mnu/mpm/EgovMainMenu.js' />" /></script> +</head> +<body leftmargin="0" topmargin="0" marginwidth="0" marginheight= "0"> +<form name="menuListForm" action ="<c:url value='/sym/mnu/mpm/EgovMenuListSelect.do' />" method="post"> +<DIV id="main" style="display:"> + +<table width="181" cellpadding="8" class="table-search" border="1"> + <tr> + <td width="181" class="title_left" > + <div style="width:0px; height:0px;"> + <c:forEach var="result" items="${list_menulist}" varStatus="status" > + <input type="hidden" name="tmp_menuNm" value="${result.menuNo}|${result.upperMenuId}|${result.menuNm}|${result.relateImagePath}|${result.relateImageNm}|${pageContext.request.contextPath}/${result.chkURL}|"/> + </c:forEach> + </div> + <div class="tree" style="overflow: auto; position: absolute; z-index: 5; padding: 0pt 0pt 0pt 49px; width: 214px; height: 512px;"> + <script language="javascript"> + var Tree = new Array; + for (var j = 0; j < document.menuListForm.tmp_menuNm.length; j++) { + Tree[j] = document.menuListForm.tmp_menuNm[j].value; + } + createTree(Tree, true, '<c:out value="${resultVO.tempInt}"/>'); + </script> + </div> + </td> + </tr> +</table> +</DIV> +</form> +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/main_left.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/ulg/EgovUserLogList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/ulg/EgovUserLogList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/ulg/EgovUserLogList.jsp (revision 7) @@ -0,0 +1,214 @@ +<% +/** + * @Class Name : EgovUserLogList.jsp + * @Description : 사용자 로그 정보목록 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.11 이삼섭 최초 생성 + * @ 2011.07.08 이기하 패키지 분리로 경로 수정(sym.log -> sym.log.ulg) + * @ 2011.09.14 서준식 검색 후 화면에 검색일자 표시안되는 오류 수정 + * @ 2017.09.17 이정은 표준프레임워크 v3.7 개선 + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.03.11 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %> +<c:set var="pageTitle"><spring:message code="comSymLogUlg.userLog.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<script type="text/javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.UserLogForm.searchWrd.focus(); +} +/* ******************************************************** + * 달력 + ******************************************************** */ +function fn_egov_init_date(){ + + $("#searchBgnDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + + $("#searchEndDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); +} +/********************************************************* + * 페이징 처리 함수 + ******************************************************** */ +function fn_egov_select_linkPage(pageNo){ + document.UserLogForm.pageIndex.value = pageNo; + document.UserLogForm.action = "<c:url value='/sym/log/ulg/SelectUserLogList.do'/>"; + document.UserLogForm.submit(); +} +/********************************************************* + * 조회 처리 함수 + ******************************************************** */ +function fn_egov_search_userLog(){ + var vFrom = document.UserLogForm; + + if(vFrom.searchEndDe.value != ""){ + if(vFrom.searchBgnDe.value > vFrom.searchEndDe.value){ + alert("<spring:message code="comSymLogUlg.validate.dateCheck" />"); //검색조건의 시작일자가 종료일자보다 늦습니다. 검색조건 날짜를 확인하세요! + return; + } + }else{ + vFrom.searchEndDe.value = ""; + } + + vFrom.pageIndex.value = "1"; + vFrom.action = "<c:url value='/sym/log/ulg/SelectUserLogList.do'/>"; + vFrom.submit(); +} +/* ******************************************************** + * 상세회면 처리 함수 + ******************************************************** */ +function fn_egov_inquire_userLog(occrrncDe, rqesterId, srvcNm, methodNm) { + var width = 850; + var height = 450; + var top = 0; + var left = 0; + var url = "<c:url value='/sym/log/ulg/SelectUserLogDetail.do' />?occrrncDe="+occrrncDe+"&rqesterId="+rqesterId+"&srvcNm="+srvcNm+"&methodNm="+methodNm; + var name = "UserLogDetailPopup" + var openWindows = window.open(url,name, "width="+width+",height="+height+",top="+top+",left="+left+",toolbar=no,status=no,location=no,scrollbars=yes,menubar=no,resizable=yes"); +} +</script> +<style> +.board_list tbody td img{align: middle;} +</style> +</head> +<body onload="fn_egov_init(); fn_egov_init_date();" > + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="UserLogForm" action="<c:url value='/sym/log/ulg/SelectUserLogList.do'/>" method="post" onSubmit="fn_egov_search_userLog(); return false;"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + <!-- 검색영역 --> + <!-- 발생일자 선택 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <spring:message code="comSymLogUlg.userLog.occrrncDe" />&nbsp;:&nbsp;<!-- 발생일자 --> + <input type="text" name="searchBgnDe" id="searchBgnDe" size="15" maxlength="10" value="${searchVO.searchBgnDe}" title="<spring:message code="comSymLogUlg.seachWrd.searchBgnDe" />" > ~ <!-- 검색시작일 --> + <input type="text" name="searchEndDe" id="searchEndDe" size="15" maxlength="10" value="${searchVO.searchEndDe}" title="<spring:message code="comSymLogUlg.seachWrd.searchEndDe" />" >&nbsp;&nbsp;&nbsp;<!-- 검색종료일 --> + </li> + <li><div style="line-height:6px;">&nbsp;&nbsp;&nbsp;&nbsp;</div><div><spring:message code="comSymLogUlg.userLog.user" /> : </div></li><!-- 사용자--> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchWrd" type="text" size="15" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchWrd}"/>' maxlength="15" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /> + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle}<spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 5%;"> + <col style="width: 7;"> + <col style="width: 7;"> + <col style="width: ;"> + <col style="width: 5%;"> + <col style="width: 5%;"> + <col style="width: 5%;"> + <col style="width: 5%;"> + <col style="width: 10%;"> + </colgroup> + <thead> + <tr> + <th><spring:message code="table.num" /></th><!-- 번호 --> + <th><spring:message code="comSymLogUlg.userLog.occrrncDe" /></th><!-- 발생일자 --> + <th><spring:message code="comSymLogUlg.userLog.user" /></th><!-- 사용자 --> + <th><spring:message code="comSymLogUlg.userLog.methodNm" /></th><!-- 메소드명 --> + <th><spring:message code="comSymLogUlg.userLog.create" /></th><!-- 생성 --> + <th><spring:message code="comSymLogUlg.userLog.modify" /></th><!-- 수정 --> + <th><spring:message code="comSymLogUlg.userLog.view" /></th><!-- 조회 --> + <th><spring:message code="comSymLogUlg.userLog.delete" /></th><!-- 삭제 --> + <th><spring:message code="comSymLogUlg.userLog.detail" /></th><!-- 상세보기 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="8"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach items="${resultList}" var="result" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <fmt:parseDate value="${result.occrrncDe}" var='occrrncDe_' pattern = "yyyyMMdd" scope="page"/> + <td><fmt:formatDate value="${occrrncDe_}" pattern = "yyyy-MM-dd" /></td> + <td><c:out value='${result.rqsterNm}'/></td> + <td><c:out value='${result.methodNm}'/></td> + <td><c:out value='${result.creatCo}'/></td> + <td><c:out value='${result.updtCo}'/></td> + <td><c:out value='${result.rdCnt}'/></td> + <td><c:out value='${result.deleteCo}'/></td> + <td> + <img src="<c:url value='/images/egovframework/com/cmm/btn/btn_search.gif'/>" class="cursor" onclick="fn_egov_inquire_userLog('<c:out value="${result.occrrncDe}"/>', '<c:out value="${result.rqesterId}"/>', '<c:out value="${result.srvcNm}"/>', '<c:out value="${result.methodNm}"/>'); return false;" alt="<spring:message code="title.detail" />" title="<spring:message code="title.detail" />"></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_linkPage"/> + </ul> + </div> + +</div> + +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> +</form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/ulg/EgovUserLogList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/ulg/EgovUserLogDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/ulg/EgovUserLogDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/ulg/EgovUserLogDetail.jsp (revision 7) @@ -0,0 +1,104 @@ +<% +/** + * @Class Name : EgovSysLogDetail.jsp + * @Description : 사용자 로그 정보 상세조회 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.11 이삼섭 최초 생성 + * @ 2011.07.08 이기하 패키지 분리, 경로수정(sym.log -> sym.log.ulg) + * @ 2017.09.17 이정은 표준프레임워크 v3.7 개선 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.03.11 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %> +<c:set var="pageTitle"><spring:message code="comSymLogUlg.userLog.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.detail" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/popup_com.css' />"> +<script type="text/javascript"> +</script> +</head> +<body> + +<div class="popup"> + <!-- 타이틀 --> + <h1>${pageTitle} <spring:message code="title.detail" /></h1> + + <!-- 상세조회 --> + <table class="popwTable"> + <caption>${pageTitle} <spring:message code="title.detail" /></caption> + <colgroup> + <col style="width: 20%;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 발생일자 --> + <tr> + <th><spring:message code="comSymLogUlg.userLog.occrrncDe" /></th> + <fmt:parseDate value="${result.occrrncDe}" var='occrrncDe_' pattern = "yyyyMMdd" scope="page"/> + <td class="left"><fmt:formatDate value="${occrrncDe_}" pattern = "yyyy-MM-dd" /></td> + </tr> + <!-- 사용자 --> + <tr> + <th><spring:message code="comSymLogUlg.userLog.user" /></th> + <td class="left"><c:out value="${result.rqsterNm}"/></td> + </tr> + <!-- 서비스명 --> + <tr> + <th><spring:message code="comSymLogUlg.userLog.serviceNm" /></th> + <td class="left"><c:out value="${result.srvcNm}"/></td> + </tr> + <!-- 메소드명 --> + <tr> + <th><spring:message code="comSymLogUlg.userLog.methodNm" /></th> + <td class="left"><c:out value="${result.methodNm}"/></td> + </tr> + <!-- 생성 --> + <tr> + <th><spring:message code="comSymLogUlg.userLog.create" /></th> + <td class="left"><c:out value="${result.creatCo}"/></td> + </tr> + <!-- 수정 --> + <tr> + <th><spring:message code="comSymLogUlg.userLog.modify" /></th> + <td class="left"><c:out value="${result.updtCo}"/></td> + </tr> + <!-- 조회 --> + <tr> + <th><spring:message code="comSymLogUlg.userLog.view" /></th> + <td class="left"><c:out value="${result.rdCnt}"/></td> + </tr> + <!-- 삭제 --> + <tr> + <th><spring:message code="comSymLogUlg.userLog.delete" /></th> + <td class="left"><c:out value="${result.deleteCo}"/></td> + </tr> + + + </tbody> + </table> + <!-- 닫기 버튼 --> + <div class="btn"> + <button class="btn_style3" onclick="window.close()" title="<spring:message code="button.close" />"><spring:message code="button.close" /></button><!-- 닫기 --> + <div style="clear:both;"></div> + </div> +</div> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/ulg/EgovUserLogDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/lgm/EgovSysLogList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/lgm/EgovSysLogList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/lgm/EgovSysLogList.jsp (revision 7) @@ -0,0 +1,210 @@ +<% +/** + * @Class Name : EgovSysLogList.jsp + * @Description : 시스템 로그 정보목록 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.11 이삼섭 최초 생성 + * @ 2011.07.08 이기하 패키지 분리, 경로수정(sym.log -> sym.log.lgm) + * @ 2011.09.14 서준식 검색 후 화면에 검색일자 표시안되는 오류 수정 + * @ 2017.09.17 이정은 표준프레임워크 v3.7 개선 + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.03.11 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comSymLogLgm.sysLog.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<script type="text/javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.SysLogForm.searchWrd.focus(); +} +/* ******************************************************** + * 달력 + ******************************************************** */ +function fn_egov_init_date(){ + + $("#searchBgnDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + + $("#searchEndDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); +} +/********************************************************* + * 페이징 처리 함수 + ******************************************************** */ +function fn_egov_select_linkPage(pageNo){ + document.SysLogForm.pageIndex.value = pageNo; + document.SysLogForm.action = "<c:url value='/sym/log/lgm/SelectSysLogList.do'/>"; + document.SysLogForm.submit(); +} +/********************************************************* + * 조회 처리 함수 + ******************************************************** */ +function fn_egov_search_sysLog(){ + var vFrom = document.SysLogForm; + + if(vFrom.searchEndDe.value != ""){ + if(vFrom.searchBgnDe.value > vFrom.searchEndDe.value){ + alert("<spring:message code="comSymLogLgm.validate.dateCheck" />"); //검색조건의 시작일자가 종료일자보다 늦습니다. 검색조건 날짜를 확인하세요! + return; + } + }else{ + vFrom.searchEndDe.value = ""; + } + + vFrom.pageIndex.value = "1"; + vFrom.action = "<c:url value='/sym/log/lgm/SelectSysLogList.do'/>"; + vFrom.submit(); +} +/* ******************************************************** + * 상세회면 처리 함수 + ******************************************************** */ +function fn_egov_inquire_sysLog(requstId) { + var width = 850; + var height = 450; + var top = 0; + var left = 0; + var url = "<c:url value='/sym/log/lgm/SelectSysLogDetail.do' />?requstId="+requstId; + var name = "sysLogDetailPopup" + var openWindows = window.open(url,name, "width="+width+",height="+height+",top="+top+",left="+left+",toolbar=no,status=no,location=no,scrollbars=yes,menubar=no,resizable=yes"); +} +</script> +<style> +.board_list tbody td img{align: middle;} +</style> +</head> +<body onload="fn_egov_init(); fn_egov_init_date();" > + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="SysLogForm" action="<c:url value='/sym/log/lgm/SelectSysLogList.do'/>" method="post" onSubmit="fn_egov_search_sysLog(); return false;"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + <!-- 검색영역 --> + <!-- 발생일자 선택 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <spring:message code="comSymLogLgm.sysLog.occrrncDe" />&nbsp;:&nbsp;<!-- 발생일자 --> + <input type="text" name="searchBgnDe" id="searchBgnDe" size="15" maxlength="10" value="${searchVO.searchBgnDe}" title="<spring:message code="comSymLogLgm.seachWrd.searchBgnDe" />" > ~ <!-- 검색시작일 --> + <input type="text" name="searchEndDe" id="searchEndDe" size="15" maxlength="10" value="${searchVO.searchEndDe}" title="<spring:message code="comSymLogLgm.seachWrd.searchEndDe" />" >&nbsp;&nbsp;&nbsp;<!-- 검색종료일 --> + </li> + <li><div style="line-height:6px;">&nbsp;&nbsp;&nbsp;&nbsp;</div><div><spring:message code="comSymLogLgm.sysLog.processSeCode" /> : </div></li><!-- 처리구분--> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchWrd" type="text" size="15" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchWrd}"/>' maxlength="15" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /> + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle}<spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 5%;"> + <col style="width: ;"> + <col style="width: 15%;"> + <col style="width: ;"> + <col style="width: 10%;"> + <col style="width: 10;"> + <col style="width: 10%;"> + <col style="width: 10%;"> + </colgroup> + <thead> + <tr> + <th><spring:message code="table.num" /></th><!-- 번호 --> + <th><spring:message code="comSymLogLgm.sysLog.reqId" /></th><!-- 요청ID --> + <th><spring:message code="comSymLogLgm.sysLog.occrrncDe" /></th><!-- 발생일자 --> + <th><spring:message code="comSymLogLgm.sysLog.methodNm" /></th><!-- 메소드명 --> + <th><spring:message code="comSymLogLgm.sysLog.processSeCode" /></th><!-- 처리구분 --> + <th><spring:message code="comSymLogLgm.sysLog.processTime" /></th><!-- 처리시간 --> + <th><spring:message code="comSymLogLgm.sysLog.rqesterId" /></th><!-- 요청자 --> + <th><spring:message code="comSymLogLgm.sysLog.detail" /></th><!-- 상세보기 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="8"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach items="${resultList}" var="result" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value='${result.requstId}'/></td> + <td><c:out value='${fn:substring(result.occrrncDe,0,19)}'/></td> + <td><c:out value='${result.methodNm}'/></td> + <td><c:out value='${result.processSeCodeNm}'/></td> + <td><c:out value='${result.processTime}'/></td> + <td><c:out value='${result.rqsterNm}'/></td> + <td> + <img src="<c:url value='/images/egovframework/com/cmm/btn/btn_search.gif'/>" class="cursor" onclick="fn_egov_inquire_sysLog('<c:out value="${result.requstId}"/>'); return false;" alt="<spring:message code="title.detail" />" title="<spring:message code="title.detail" />"> + </td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_linkPage"/> + </ul> + </div> + +</div> + +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> +</form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/lgm/EgovSysLogList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/lgm/EgovSysLogDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/lgm/EgovSysLogDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/lgm/EgovSysLogDetail.jsp (revision 7) @@ -0,0 +1,102 @@ +<% +/** + * @Class Name : EgovSysLogDetail.jsp + * @Description : 시스템 로그 정보 상세조회 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.11 이삼섭 최초 생성 + * @ 2011.07.08 이기하 패키지 분리, 경로수정(sym.log -> sym.log.lgm) + * @ 2017.09.17 이정은 표준프레임워크 v3.7 개선 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.03.11 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comSymLogLgm.sysLog.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.detail" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/popup_com.css' />"> +<script type="text/javascript"> +</script> +</head> +<body> + +<div class="popup"> + <!-- 타이틀 --> + <h1>${pageTitle} <spring:message code="title.detail" /></h1> + + <!-- 상세조회 --> + <table class="popwTable"> + <caption>${pageTitle} <spring:message code="title.detail" /></caption> + <colgroup> + <col style="width: 20%;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 요청ID --> + <tr> + <th><spring:message code="comSymLogLgm.sysLog.reqId" /></th> + <td class="left"><c:out value="${result.requstId}"/></td> + </tr> + <!-- 발생일자 --> + <tr> + <th><spring:message code="comSymLogLgm.sysLog.occrrncDe" /></th> + <td class="left"><c:out value="${fn:substring(result.occrrncDe,0,19)}"/></td> + </tr> + <!-- 서비스명 --> + <tr> + <th><spring:message code="comSymLogLgm.sysLog.serviceNm" /></th> + <td class="left"><c:out value="${result.srvcNm}"/></td> + </tr> + <!-- 메소드명 --> + <tr> + <th><spring:message code="comSymLogLgm.sysLog.methodNm" /></th> + <td class="left"><c:out value="${result.methodNm}"/></td> + </tr> + <!-- 처리구분 --> + <tr> + <th><spring:message code="comSymLogLgm.sysLog.processSeCode" /></th> + <td class="left"><c:out value="${result.processSeCodeNm}"/></td> + </tr> + <!-- 처리시간 --> + <tr> + <th><spring:message code="comSymLogLgm.sysLog.processTime" /></th> + <td class="left"><c:out value="${result.processTime}"/></td> + </tr> + <!-- 요청자 --> + <tr> + <th><spring:message code="comSymLogLgm.sysLog.rqesterId" /></th> + <td class="left"><c:out value="${result.rqsterNm}"/></td> + </tr> + <!-- 요청자IP --> + <tr> + <th><spring:message code="comSymLogLgm.sysLog.rqesterIp" /></th> + <td class="left"><c:out value="${result.rqesterIp}"/></td> + </tr> + + + </tbody> + </table> + <!-- 닫기 버튼 --> + <div class="btn"> + <button class="btn_style3" onclick="window.close()" title="<spring:message code="button.close" />"><spring:message code="button.close" /></button><!-- 닫기 --> + <div style="clear:both;"></div> + </div> +</div> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/lgm/EgovSysLogDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/wlg/EgovWebLogList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/wlg/EgovWebLogList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/wlg/EgovWebLogList.jsp (revision 7) @@ -0,0 +1,207 @@ +<% +/** + * @Class Name : EgovWebLogList.jsp + * @Description : 웹로그 정보목록 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.11 이삼섭 최초 생성 + * @ 2011.07.08 이기하 패키지 분리로 경로 수정(sym.log -> sym.log.wlg) + * @ 2011.09.14 서준식 검색 후 화면에 검색일자 표시안되는 오류 수정 + * @ 2017.09.20 이정은 표준프레임워크 v3.7 개선 + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.03.11 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comSymLogWlg.webLog.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<script type="text/javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.WebLogForm.searchWrd.focus(); +} +/* ******************************************************** + * 달력 + ******************************************************** */ +function fn_egov_init_date(){ + + $("#searchBgnDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + + $("#searchEndDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); +} +/********************************************************* + * 페이징 처리 함수 + ******************************************************** */ +function fn_egov_select_linkPage(pageNo){ + document.WebLogForm.pageIndex.value = pageNo; + document.WebLogForm.action = "<c:url value='/sym/log/wlg/SelectWebLogList.do'/>"; + document.WebLogForm.submit(); +} +/********************************************************* + * 조회 처리 함수 + ******************************************************** */ +function fn_egov_search_webLog(){ + var vFrom = document.WebLogForm; + + if(vFrom.searchEndDe.value != ""){ + if(vFrom.searchBgnDe.value > vFrom.searchEndDe.value){ + alert("<spring:message code="comSymLogWlg.validate.dateCheck" />"); //검색조건의 시작일자가 종료일자보다 늦습니다. 검색조건 날짜를 확인하세요! + return; + } + }else{ + vFrom.searchEndDe.value = ""; + } + + vFrom.pageIndex.value = "1"; + vFrom.action = "<c:url value='/sym/log/wlg/SelectWebLogList.do'/>"; + vFrom.submit(); +} +/* ******************************************************** + * 상세회면 처리 함수 + ******************************************************** */ +function fn_egov_detail_webLog(requstId) { + var width = 850; + var height = 330; + var top = 0; + var left = 0; + var url = "<c:url value='/sym/log/wlg/SelectWebLogDetail.do' />?requstId="+requstId; + var name = "WebLogDetailPopup" + var openWindows = window.open(url,name, "width="+width+",height="+height+",top="+top+",left="+left+",toolbar=no,status=no,location=no,scrollbars=yes,menubar=no,resizable=yes"); +} +</script> +<style> +.board_list tbody td img{align: middle;} +</style> +</head> + +<body onload="fn_egov_init(); fn_egov_init_date();" > + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form name="WebLogForm" action="<c:url value='/sym/log/wlg/SelectWebLogList.do'/>" method="post" onSubmit="fn_egov_search_webLog(); return false;"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + <!-- 검색영역 --> + <!-- 발생일자 선택 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <spring:message code="comSymLogWlg.webLog.occrrncDe" />&nbsp;:&nbsp;<!-- 발생일자 --> + <input type="text" name="searchBgnDe" id="searchBgnDe" size="15" maxlength="10" value="${searchVO.searchBgnDe}" title="<spring:message code="comSymLogWlg.seachWrd.searchBgnDe" />" > ~ <!-- 검색시작일 --> + <input type="text" name="searchEndDe" id="searchEndDe" size="15" maxlength="10" value="${searchVO.searchEndDe}" title="<spring:message code="comSymLogWlg.seachWrd.searchEndDe" />" >&nbsp;&nbsp;&nbsp;<!-- 검색종료일 --> + </li> + <li><div style="line-height:6px;">&nbsp;&nbsp;&nbsp;&nbsp;</div><div><spring:message code="comSymLogWlg.webLog.url" /> : </div></li><!-- URL--> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchWrd" type="text" size="15" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchWrd}"/>' maxlength="15" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /> + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle}<spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 5%;"> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: 10%;"> + <col style="width: 15%;"> + <col style="width: 10%;"> + </colgroup> + <thead> + <tr> + <th><spring:message code="table.num" /></th><!-- 번호 --> + <th><spring:message code="comSymLogWlg.webLog.requestId" /></th><!-- 요청ID --> + <th><spring:message code="comSymLogWlg.webLog.occrrncDe" /></th><!-- 발생일자 --> + <th><spring:message code="comSymLogWlg.webLog.url" /></th><!-- URL --> + <th><spring:message code="comSymLogWlg.webLog.requester" /></th><!-- 요청자 --> + <th><spring:message code="comSymLogWlg.webLog.requesterIp" /></th><!-- 요청자IP --> + <th><spring:message code="comSymLogWlg.webLog.detail" /></th><!-- 상세보기 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="7"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach items="${resultList}" var="result" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value='${result.requstId}'/></td> + <td><c:out value='${fn:substring(result.occrrncDe,0,19)}'/></td> + <td><c:out value='${result.url}'/></td> + <td><c:out value='${result.rqsterNm}'/></td> + <td><c:out value='${result.rqesterIp}'/></td> + <td> + <img src="<c:url value='/images/egovframework/com/cmm/btn/btn_search.gif'/>" class="cursor" onclick="fn_egov_detail_webLog('<c:out value="${result.requstId}"/>'); return false;" alt="<spring:message code="title.detail" />" title="<spring:message code="title.detail" />"> + </td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_linkPage"/> + </ul> + </div> + +</div> + +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> +</form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/wlg/EgovWebLogList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/wlg/EgovWebLogDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/wlg/EgovWebLogDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/wlg/EgovWebLogDetail.jsp (revision 7) @@ -0,0 +1,86 @@ +<% +/** + * @Class Name : EgovWebLogDetail.jsp + * @Description : 웹로그 정보 상세조회 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.11 이삼섭 최초 생성 + * @ 2011.07.08 이기하 패키지 분리, 경로수정(sym.log -> sym.log.wlg) + * @ 2017.09.21 이정은 표준프레임워크 v3.7 개선 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.03.11 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comSymLogWlg.webLog.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.detail" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/popup_com.css' />"> +<script type="text/javascript"> +</script> +</head> +<body> + +<div class="popup"> + <!-- 타이틀 --> + <h1>${pageTitle} <spring:message code="title.detail" /></h1> + + <!-- 상세조회 --> + <table class="popwTable"> + <caption>${pageTitle} <spring:message code="title.detail" /></caption> + <colgroup> + <col style="width: 20%;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 요청ID --> + <tr> + <th><spring:message code="comSymLogWlg.webLog.requestId" /></th> + <td class="left"><c:out value="${result.requstId}"/></td> + </tr> + <!-- 발생일자 --> + <tr> + <th><spring:message code="comSymLogWlg.webLog.occrrncDe" /></th> + <td class="left"><c:out value="${fn:substring(result.occrrncDe,0,19)}"/></td> + </tr> + <!-- URL --> + <tr> + <th><spring:message code="comSymLogWlg.webLog.url" /></th> + <td class="left"><c:out value="${result.url}"/></td> + </tr> + <!-- 요청자 --> + <tr> + <th><spring:message code="comSymLogWlg.webLog.requester" /></th> + <td class="left"><c:out value="${result.rqsterNm}"/></td> + </tr> + <!-- 요청자IP --> + <tr> + <th><spring:message code="comSymLogWlg.webLog.requesterIp" /></th> + <td class="left"><c:out value="${result.rqesterIp}"/></td> + </tr> + + </tbody> + </table> + <!-- 닫기 버튼 --> + <div class="btn"> + <button class="btn_style3" onclick="window.close()" title="<spring:message code="button.close" />"><spring:message code="button.close" /></button><!-- 닫기 --> + <div style="clear:both;"></div> + </div> + +</div> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/wlg/EgovWebLogDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/clg/EgovLoginLogList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/clg/EgovLoginLogList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/clg/EgovLoginLogList.jsp (revision 7) @@ -0,0 +1,208 @@ +<% +/** + * @Class Name : EgovloginLogList.jsp + * @Description : 접속로그 정보목록 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.11 이삼섭 최초 생성 + * @ 2011.07.08 이기하 패키지 분리로 경로 수정(sym.log -> sym.log.clg) + * @ 2011.09.14 서준식 검색 후 화면에 검색일자 표시안되는 오류 수정 + * @ 2017.09.21 이정은 표준프레임워크 v3.7 개선 + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.03.11 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comSymLogClg.loginLog.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<script type="text/javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.LoginLogForm.searchWrd.focus(); +} +/* ******************************************************** + * 달력 + ******************************************************** */ +function fn_egov_init_date(){ + + $("#searchBgnDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + + $("#searchEndDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); +} +/********************************************************* + * 페이징 처리 함수 + ******************************************************** */ +function fn_egov_select_linkPage(pageNo){ + document.LoginLogForm.pageIndex.value = pageNo; + document.LoginLogForm.action = "<c:url value='/sym/log/clg/SelectLoginLogList.do'/>"; + document.LoginLogForm.submit(); +} +/********************************************************* + * 조회 처리 함수 + ******************************************************** */ +function fn_egov_search_loginLog(){ + var vFrom = document.LoginLogForm; + + if(vFrom.searchEndDe.value != ""){ + if(vFrom.searchBgnDe.value > vFrom.searchEndDe.value){ + alert("<spring:message code="comSymLogClg.validate.dateCheck" />"); //검색조건의 시작일자가 종료일자보다 늦습니다. 검색조건 날짜를 확인하세요! + return; + } + }else{ + vFrom.searchEndDe.value = ""; + } + + vFrom.pageIndex.value = "1"; + vFrom.action = "<c:url value='/sym/log/clg/SelectLoginLogList.do'/>"; + vFrom.submit(); +} +/* ******************************************************** + * 상세회면 처리 함수 + ******************************************************** */ +function fn_egov_detail_loginLog(logId) { + var width = 850; + var height = 330; + var top = 0; + var left = 0; + var url = "<c:url value='/sym/log/clg/SelectLoginLogDetail.do' />?logId="+logId; + var name = "LoginLogDetailPopup" + var openWindows = window.open(url,name, "width="+width+",height="+height+",top="+top+",left="+left+",toolbar=no,status=no,location=no,scrollbars=yes,menubar=no,resizable=yes"); +} +</script> +<style> +.board_list tbody td img{align: middle;} +</style> +</head> + +<body onload="fn_egov_init(); fn_egov_init_date();" > + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="LoginLogForm" action="<c:url value='/sym/log/clg/SelectLoginLogList.do'/>" method="post" onSubmit="fn_egov_search_loginLog(); return false;"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + <!-- 검색영역 --> + <!-- 발생일자 선택 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <spring:message code="comSymLogClg.loginLog.occrrncDe" />&nbsp;:&nbsp;<!-- 발생일자 --> + <input type="text" name="searchBgnDe" id="searchBgnDe" size="15" maxlength="10" value="${searchVO.searchBgnDe}" title="<spring:message code="comSymLogClg.seachWrd.searchBgnDe" />" > ~ <!-- 검색시작일 --> + <input type="text" name="searchEndDe" id="searchEndDe" size="15" maxlength="10" value="${searchVO.searchEndDe}" title="<spring:message code="comSymLogClg.seachWrd.searchEndDe" />" >&nbsp;&nbsp;&nbsp;<!-- 검색종료일 --> + </li> + <li><div style="line-height:6px;">&nbsp;&nbsp;&nbsp;&nbsp;</div><div><spring:message code="comSymLogClg.loginLog.loginMthd" /> : </div></li><!-- 로그유형--> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchWrd" type="text" size="15" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchWrd}"/>' maxlength="15" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /> + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle}<spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 5%;"> + <col style="width: ;"> + <col style="width: ;"> + <col style="width: 10%;"> + <col style="width: 10%;"> + <col style="width: ;"> + <col style="width: 10%;"> + </colgroup> + <thead> + <tr> + <th><spring:message code="table.num" /></th><!-- 번호 --> + <th><spring:message code="comSymLogClg.loginLog.logId" /></th><!-- 로그ID --> + <th><spring:message code="comSymLogClg.loginLog.occrrncDe" /></th><!-- 발생일자 --> + <th><spring:message code="comSymLogClg.loginLog.loginMthd" /></th><!-- 로그유형 --> + <th><spring:message code="comSymLogClg.loginLog.loginNm" /></th><!-- 사용자 --> + <th><spring:message code="comSymLogClg.loginLog.loginIp" /></th><!-- 접속IP --> + <th><spring:message code="comSymLogClg.loginLog.detail" /></th><!-- 상세보기 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="7"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach items="${resultList}" var="result" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value='${result.logId}'/></td> + <td><c:out value='${fn:substring(result.creatDt,0,10)}'/></td> + <td><c:out value='${result.loginMthd}'/></td> + <td><c:out value='${result.loginNm}'/></td> + <td><c:out value='${result.loginIp}'/></td> + <td> + <img src="<c:url value='/images/egovframework/com/cmm/btn/btn_search.gif'/>" class="cursor" onclick="fn_egov_detail_loginLog('<c:out value="${result.logId}"/>'); return false;" alt="<spring:message code="title.detail" />" title="<spring:message code="title.detail" />"> + </td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_linkPage"/> + </ul> + </div> + +</div> + +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> +</form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/clg/EgovLoginLogList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/clg/EgovLoginLogDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/clg/EgovLoginLogDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/clg/EgovLoginLogDetail.jsp (revision 7) @@ -0,0 +1,86 @@ +<% +/** + * @Class Name : EgovLoginbLogDetail.jsp + * @Description : 접속로그 정보 상세조회 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.11 이삼섭 최초 생성 + * @ 2011.07.08 이기하 패키지 분리, 경로수정(sym.log -> sym.log.clg) + * @ 2017.09.21 이정은 표준프레임워크 v3.7 개선 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.03.11 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comSymLogClg.loginLog.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.detail" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/popup_com.css' />"> +<script type="text/javascript"> +</script> +</head> +<body> + +<div class="popup"> + <!-- 타이틀 --> + <h1>${pageTitle} <spring:message code="title.detail" /></h1> + + <!-- 상세조회 --> + <table class="popwTable"> + <caption>${pageTitle} <spring:message code="title.detail" /></caption> + <colgroup> + <col style="width: 20%;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 로그ID --> + <tr> + <th><spring:message code="comSymLogClg.loginLog.logId" /></th> + <td class="left"><c:out value="${result.logId}"/></td> + </tr> + <!-- 발생일자 --> + <tr> + <th><spring:message code="comSymLogClg.loginLog.occrrncDe" /></th> + <td class="left"><c:out value="${fn:substring(result.creatDt,0,10)}"/></td> + </tr> + <!-- 로그유형 --> + <tr> + <th><spring:message code="comSymLogClg.loginLog.loginMthd" /></th> + <td class="left"><c:out value="${result.loginMthd}"/></td> + </tr> + <!-- 사용자명 --> + <tr> + <th><spring:message code="comSymLogClg.loginLog.loginNm" /></th> + <td class="left"><c:out value="${result.loginNm}"/></td> + </tr> + <!-- 접속IP --> + <tr> + <th><spring:message code="comSymLogClg.loginLog.loginIp" /></th> + <td class="left"><c:out value="${result.loginIp}"/></td> + </tr> + + </tbody> + </table> + <!-- 닫기 버튼 --> + <div class="btn"> + <button class="btn_style3" onclick="window.close()" title="<spring:message code="button.close" />"><spring:message code="button.close" /></button><!-- 닫기 --> + <div style="clear:both;"></div> + </div> + +</div> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/log/clg/EgovLoginLogDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBkmkMenuManageRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBkmkMenuManageRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBkmkMenuManageRegist.jsp (revision 7) @@ -0,0 +1,161 @@ +<!DOCTYPE html> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<% + /** + * @Class Name : EgovBkmkMenuManageRegist.jsp + * @Description : 바로가기메뉴관리 등록 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.09.25 윤성록 최초 생성 + * 2018.09.10 신용호 표준프레임워크 v3.8 개선 + * + * @author 공통컴포넌트팀 윤성록 + * @since 2009.09.25 + * @version 1.0 + * @see + * + */ +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title><spring:message code="comSymMnuBmm.bkmkMenuManageList.pageTop.title" /></title><!-- 바로가기메뉴등록 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> + <link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> + <script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> + <script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="bkmk" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + function fn_egov_regist_bkmkInf(){ + + if (!validateBkmk(document.bkmk)){ + return; + } + + if(confirm("<spring:message code='comSymMnuBmm.bkmkMenuManageRegist.validate.confirm.regist' />")){ //등록하시겠습니까? + document.bkmk.action = "<c:url value='/sym/mnu/bmm/registBkmkInf.do'/>"; + document.bkmk.submit(); + } + } + + + function fn_egov_select_bkmkInfs(){ + document.bkmk.action = "<c:url value='/sym/mnu/bmm/selectBkmkMenuManageList.do'/>"; + document.bkmk.submit(); + } + + + function fn_egov_inqire_menu(){ + var retVal; + var width = 780; + var height = 700; + var url = "<c:url value='/sym/mnu/bmm/openPopup.do?requestUrl=/sym/mnu/bmm/selectMenuList.do'/>&width="+(width-20)+"&height="+(height-20); + var openParam = "dialogWidth: "+width+"px; dialogHeight: "+height+"px; resizable: 0, scroll: 1, center: 1"; + + retVal = window.showModalDialog(url,"p_userInqire", openParam); + + if(retVal != null){ + + var tmp = retVal.split(","); + + document.bkmk.menuId.value = tmp[0]; + document.bkmk.menuNm.value = tmp[1]; + + document.bkmk.action = "<c:url value='/sym/mnu/bmm/addBkmkInf.do'/>"; + document.bkmk.submit(); + } + } + + function modalDialogCallback(retVal) { + if(retVal != null){ + + var tmp = retVal.split(","); + + document.bkmk.menuId.value = tmp[0]; + document.bkmk.menuNm.value = tmp[1]; + + document.bkmk.action = "<c:url value='/sym/mnu/bmm/addBkmkInf.do'/>"; + document.bkmk.submit(); + } + } + +</script> +<script type="text/javascript"> + $(document).ready(function () { + $('#popupInqireMenu').click(function (e) { + e.preventDefault(); + + var pagetitle = $(this).attr("title"); + var page = "<c:url value='/sym/mnu/bmm/selectMenuList.do'/>"; + + var $dialog = $('<div></div>') + .html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>') + .dialog({ + autoOpen: false, + modal: true, + height: 750, + width: 770, + title: pagetitle + }); + $dialog.dialog('open'); + }); + + }); +</script> +</head> +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="bkmk" method="post" action = "<c:url value='/sym/mnu/bmm/registBkmkInf.do'/>"> +<input type = "hidden" name = "menuId" value = '<c:out value="${bkmkMenuManage.menuId}" />'> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comSymMnuBmm.bkmkMenuManageRegist.pageTop.title" /></h2><!-- 바로가기메뉴등록 --> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymMnuBmm.bkmkMenuManageRegist.menuName" /> <span class="pilsu">*</span></th><!-- 메뉴명 --> + <td class="left"> + <input name="menuNm" type="text" size="30" value="<c:out value="${bkmkMenuManage.menuNm}" escapeXml="false" />" maxlength="60" style="width: 237px" readonly="readonly" class="readOnlyClass" title="메뉴명입력"/> + <!-- <a href="javascript:fn_egov_inqire_menu();" style="selector-dummy: expression(this.hideFocus=false);"><img src="<c:url value='/images/egovframework/com/cmm/icon/search2.gif' />" + style="vertical-align: middle" alt="<spring:message code="comSymMnuBmm.bkmkMenuManageRegist.selectMenu" />" title="<spring:message code="comSymMnuBmm.bkmkMenuManageRegist.selectMenu" />"></a> --><!-- 메뉴선택 --> + <a id="popupInqireMenu" title="메뉴선택" style="selector-dummy: expression(this.hideFocus=false);"><img src="<c:url value='/images/egovframework/com/cmm/icon/search2.gif' />" + style="vertical-align: middle" alt="<spring:message code="comSymMnuBmm.bkmkMenuManageRegist.selectMenu" />" title="<spring:message code="comSymMnuBmm.bkmkMenuManageRegist.selectMenu" />"></a> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuBmm.bkmkMenuManageRegist.menuURL" /> <span class="pilsu">*</span></th><!-- 메뉴 URL --> + <td class="left"> + <input name="progrmStrePath" type="text" size="30" value="<c:out value="${bkmkMenuManage.progrmStrePath}"/>" maxlength="90" style="width: 235px" readonly="readonly" class="readOnlyClass" title="<spring:message code="comSymMnuBmm.bkmkMenuManageRegist.enterMenuURL" />"/><!-- 메뉴URL입력 --> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.save" />" onclick="fn_egov_regist_bkmkInf(); return false;" /><!-- 저장 --> + <span class="btn_s"><a href="<c:url value='/sym/mnu/bmm/selectBkmkMenuManageList.do'/>?pageIndex=<c:out value='${searchVO.pageIndex}'/>" onclick="fn_egov_select_bkmkInfs(); return false;"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div> + <div style="clear:both;"></div> +</div> + +</form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBkmkMenuManageRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBkmkMenuPopup.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBkmkMenuPopup.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBkmkMenuPopup.jsp (revision 7) @@ -0,0 +1,124 @@ +<!DOCTYPE html> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovBkmkMenuPopup.jsp + * @Description : 바로가기메뉴 등록을 위한 메뉴목록 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2009.09.25 윤성록 최초 생성 + * 2018.09.10 신용호 표준프레임워크 v3.8 개선 + * + * @author 공통컴포넌트팀 윤성록 + * @since 2009.09.25 + * @version 1.0 + * @see + * + */ +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title><spring:message code="comSymMnuBmm.BkmkMenuPopup.title" /></title><!-- 메뉴목록 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript"> + function press(event) { + if (event.keyCode==13) { + fn_egov_select_menuInfo('1'); + } + } + function fn_egov_return_menuInfo(menuId, menuNm){ + var retVal = menuId +","+ menuNm; + //parent.fn_egov_returnValue(retVal); + parent.modalDialogCallback(retVal); + } + + function fn_egov_select_menuInfo(pageIndex){ + + document.frm.pageIndex.value = pageIndex; + document.frm.action = "<c:url value='/sym/mnu/bmm/selectMenuList.do'/>"; + document.frm.submit(); + } + + function fn_egov_close(){ + parent.closeWindow(); + } +</script> +</head> +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="board"> + <h1><spring:message code="comSymMnuBmm.BkmkMenuPopup.pageTop.title" /></h1><!-- 메뉴목록 --> + <span>※ "1100. 메뉴생성관리" 메뉴에서 "메뉴생성"을 먼저 해야 목록에서 확인이 가능합니다.</span> + <form name="frm" action ="<c:url value='/sym/mnu/bmm/selectMenuList.do'/>" method="post"> + <input type="hidden" name="PopFlag" value="Y" > + <input type="hidden" name="searchCnd" value ="0" > + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <label for=""><spring:message code="comSymMnuBmm.bkmkMenuManageRegist.menuName" /> : </label><!-- 메뉴명 --> + + <input class="s_input2 vat" name="searchWrd" type="text" value='<c:out value="${bkmkMenuManageVO.searchWrd}"/>' size="35" maxlength="35" onkeypress="press(event);" title="<spring:message code="comSymMnuBmm.bkmkMenuManageList.enterSearchName" />" /><!-- 검색단어입력 --> + + <input class="s_btn" type="submit" value="<spring:message code="title.inquire" />" title="<spring:message code="title.inquire" />" onclick="fn_egov_select_menuInfo('1'); return false;" /><!-- 조회 --> + </li> + </ul> + </div> + </form> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:10%" /> + <col style="" /> + <col style="width:25%" /> + <col style="width:8%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comSymMnuBmm.bkmkMenuManageList.No" /></th><!-- 번호 --> + <th scope="col"><spring:message code="comSymMnuBmm.bkmkMenuManageRegist.menuName" /></th><!-- 메뉴명 --> + <th scope="col"><spring:message code="comSymMnuBmm.bkmkMenuManageList.menuDC" /></th><!-- 메뉴DC --> + <th scope="col"><spring:message code="comSymMnuBmm.bkmkMenuManageList.select" /></th><!-- 선택 --> + </tr> + </thead> + <tbody> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value="${result.menuNm}" /></td> + <td><c:out value="${result.menuDc}" /></td> + <td> + <input class="btn01" type="submit" name="selectUser" value="선택" onclick="fn_egov_return_menuInfo('<c:out value="${result.menuId}" />','${result.menuNm}');" /> + </td> + </tr> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="4" ><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_menuInfo"/> + </ul> + </div> + +</div> + + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBkmkMenuPopup.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBookMarkMenuPopup.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBookMarkMenuPopup.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBookMarkMenuPopup.jsp (revision 7) @@ -0,0 +1,90 @@ +<!DOCTYPE html> +<%-- + /** + * @Class Name : EgovBookMarkMenuPopup.jsp + * @Description : 바로가기메뉴 미리보기 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.09.25 윤성록 최초 생성 + * 2018.09.10 신용호 표준프레임워크 v3.8 개선 + * + * @author 공통컴포넌트팀 윤성록 + * @since 2009.09.25 + * @version 1.0 + * @see + * + */ + + /* Image Path 설정 */ +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="ImgUrl" value="/images/egovframework/com/sym/mnu/bmm/"/> +<c:set var="CssUrl" value="/css/egovframework/com/sym/mnu/bmm/"/> +<% +String imagePath_icon = "/images/egovframework/com/sym/mnu/bmm/icon/"; +String imagePath_button = "/images/egovframework/com/sym/mnu/bmm/button/"; +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title><spring:message code="comSymMnuBmm.BookMarkMenuPopup.title" /></title><!-- 바로가기메뉴미리보기 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> + +<script type="text/javascript"> + +/* ******************************************************** + * 파일검색 화면 호출 함수 + ******************************************************** */ + +function fn_egov_move(progrmStrePath){ + + var retVal = progrmStrePath; + parent.fn_egov_returnValue(retVal); + +} + +</script> +</head> +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="menuListForm" action ="" method="post"> +<input type="hidden" name="req_RetrunPath" value="<c:url value='/sym/mnu/bmm/EgovMenuList'/>"> + +<div class="board"> + <h1><spring:message code="comSymMnuBmm.BookMarkMenuPopup.pageTop.title" /></h1><!-- 바로가기 메뉴관리 --> + + <h2><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_base.gif' />" alt="base icon" /> <spring:message code="comSymMnuBmm.BookMarkMenuPopup.shortCut" /></h2><!-- 바로가기 --> + + <table class="e002"> + <colgroup> + <col style="width:20px"/> + <col style=""/> + </colgroup> + <c:forEach var="result" items="${list_menulist}" varStatus="status"> + <tr> + <td><!-- 왼편여백 --></td> + <td> + <img src="<c:url value='/images/egovframework/com/cmm/utl/menu_page.gif' />" alt="menu_page icon" /> + <a href="" onclick="fn_egov_move('<c:url value="${result.progrmStrePath}"/>'); return false;"> + <c:out value="${result.menuNm}" escapeXml="false"/></a> + </td> + </tr> + </c:forEach> + </table> +</div> + +</form> +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBookMarkMenuPopup.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBkmkMenuManageList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBkmkMenuManageList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBkmkMenuManageList.jsp (revision 7) @@ -0,0 +1,208 @@ +<!DOCTYPE html> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgoBkmkMenuManageList.jsp + * @Description : 등록한 바로가기메뉴 목록 조회 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.09.25 윤성록 최초 생성 + * 2018.09.10 신용호 표준프레임워크 v3.8 개선 + * 2018.10.05 신용호 showModalDialogCallback 추가 + * + * @author 공통컴포넌트개발팀 윤성록 + * @since 2009.09.25 + * @version 1.0 + * @see + * + */ +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title><spring:message code="comSymMnuBmm.bkmkMenuManageList.title" /></title><!-- 바로가기 메뉴관리 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/showModalDialog.js'/>" ></script> +<script type="text/javascript"> + + +/* ******************************************************** + * 모두선택 처리 함수 + ******************************************************** */ +function fCheckAll() { + var checkField = document.frm.check1; + if(document.frm.all_check.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} +/* ******************************************************** + * 멀티삭제 처리 함수 + ******************************************************** */ +function fn_egov_deleteBkmkInf(){ + var checkField = document.frm.check1; + var menuId = document.frm.checkMenuId; + var userId = document.frm.checkUserId; + var checkMenuIds = ""; + + var checkedCount = 0; + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + if(checkField[i].checked) { + checkMenuIds += ((checkedCount==0? "" : ",") + menuId[i].value); + checkedCount++; + } + } + if(checkedCount == 0){ + alert("선택된 메뉴가 없습니다."); + return; + } + } else{ + if(checkField.checked) { + checkMenuIds = menuId.value; + }else{ + alert("선택된 메뉴가 없습니다."); + return; + } + } + } + + if(confirm("삭제하시겠습니까?")){ + document.frm.checkMenuIds.value=checkMenuIds; + document.frm.action = "<c:url value='/sym/mnu/bmm/EgovBkmkMenuManageDelete.do'/>"; + document.frm.submit(); + } +} + + function press(event) { + if (event.keyCode==13) { + fn_egov_select_bkmkInfs('1'); + } + } + + function fn_egov_select_bkmkInfs(pageNo){ + document.frm.pageIndex.value = pageNo; + document.frm.action = "<c:url value='/sym/mnu/bmm/selectBkmkMenuManageList.do'/>"; + document.frm.submit(); + } + + function fn_egov_add_bkmkInfs(){ + document.frm.action = "<c:url value='/sym/mnu/bmm/addBkmkInf.do'/>"; + document.frm.submit(); + } + + function fn_egov_preview_bkmkInfs(){ + var retVal; + var url = "<c:url value='/sym/mnu/bmm/openPopup.do?requestUrl=/sym/mnu/bmm/previewBkmkInf.do&width=850&height=360'/>"; + var openParam = "dialogWidth: 850px; dialogHeight: 360px; resizable: 0, scroll: 1, center: 1"; + retVal = window.showModalDialog(url,"p_userInqire", openParam); + + if(retVal != null){ + document.frm.action = retVal; + document.frm.submit(); + } + } + + function showModalDialogCallback(src) { + alert(src); + } + +</script> + +</head> +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="board"> + <h1><spring:message code="comSymMnuBmm.bkmkMenuManageRegist.title" /></h1><!-- 바로가기 메뉴관리 --> + + <form name="frm" action = "<c:url value='/sym/mnu/bmm/selectBkmkMenuManageList.do' />" method="post"> + <input type="hidden" name="checkMenuIds" value = "" > + <input type="hidden" name="searchCnd" value ="0" > + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <label for=""><spring:message code="comSymMnuBmm.bkmkMenuManageList.menuName" /> : </label><!-- 메뉴명 --> + <input class="s_input2 vat" name="searchWrd" type="text" value='<c:out value="${searchVO.searchWrd}"/>' size="35" maxlength="35" onkeypress="press(event);" title="<spring:message code="comSymMnuBmm.bkmkMenuManageList.enterSearchName" />" style="width: 200px" /><!-- 검색단어입력 --> + <input class="s_btn" type="submit" value="<spring:message code="title.inquire" />" title="<spring:message code="title.inquire" />" onclick="fn_egov_select_bkmkInfs('1'); return false;" /><!-- 조회 --> + <span class="btn_b"><a href="<c:url value='/sym/mnu/bmm/openPopup.do?requestUrl=/sym/mnu/bmm/previewBkmkInf.do&amp;width=850&amp;height=360'/>" onclick="fn_egov_preview_bkmkInfs(); return false;" title="<spring:message code="comSymMnuBmm.bkmkMenuManageList.newWindow" />"><spring:message code="comSymMnuBmm.bkmkMenuManageList.preview" /></a></span><!-- 새창 --><!-- 미리보기 --> + <span class="btn_b"><a href="<c:url value= 'fn_egov_deleteBkmkInf()'/>" onclick="fn_egov_deleteBkmkInf(); return false;" title="<spring:message code="title.delete" />"><spring:message code="title.delete" /></a></span><!-- 삭제 --> + <span class="btn_b"><a href="<c:url value='/sym/mnu/bmm/addBkmkInf.do'/>" onclick="fn_egov_add_bkmkInfs(); return false;" title="<spring:message code="button.create" />"><spring:message code="button.create" /></a></span><!-- 등록 --> + </li> + </ul> + </div> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:10%" /> + <col style="width:40%" /> + <col style="width:50%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><input type="checkbox" name="all_check" class="check2" onclick = "fCheckAll();"></th> + <th scope="col"><spring:message code="comSymMnuBmm.bkmkMenuManageList.menuName" /></th><!-- 메뉴명 --> + <th scope="col"><spring:message code="comSymMnuBmm.bkmkMenuManageList.menuURL" /></th><!-- 메뉴URL --> + </tr> + </thead> + <tbody> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <td><input type="checkbox" name="check1" class="check2"> + <input name="checkMenuId" type="hidden" value="<c:out value='${result.menuId}'/>"> + <input name="checkUserId" type="hidden" value="<c:out value='${result.userId}'/>"></td> + <td> + <span><c:out value="${result.menuNm}" escapeXml="false"/></span> + </td> + <td><c:out value="${result.progrmStrePath}"/></td> + </tr> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td class="lt_text3" nowrap colspan="3" ><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_bkmkInfs"/> + </ul> + </div> + + </form> + +</div> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovBkmkMenuManageList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovModalPopupFrame.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovModalPopupFrame.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovModalPopupFrame.jsp (revision 7) @@ -0,0 +1,45 @@ +<!DOCTYPE html> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovModalPopupFrame.jsp + * @Description : 모달 팝업을 위한 외부 프레임 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.04.06 이삼섭 최초 생성 + * @ 2020.07.07 윤주호 43L <c:out> 중복 따옴표 문제 수정 + * + * @author 공통서비스 개발팀 이삼섭 + * @since 2009.04.06 + * @version 1.0 + * + */ +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/showModalDialogCallee.js'/>" ></script> +<script type="text/javascript"> + function fn_egov_returnValue(retVal){ + setReturnValue(retVal); + + window.returnValue = retVal; + window.close(); + } + + function closeWindow(){ + window.close(); + } +</script> +<title>선택 목록</title> +</head> +<body> + <iframe id="popupFrame" src="<c:url value='${fn:escapeXml(requestUrl)}' />" width="${width}" height="${height}" align="middle" frameborder="0" title="선택목록팝업창호출"></iframe> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/bmm/EgovModalPopupFrame.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mcm/EgovMenuCreat.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mcm/EgovMenuCreat.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mcm/EgovMenuCreat.jsp (revision 7) @@ -0,0 +1,228 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovMenuCreat.jsp + * @Description : 메뉴생성 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2018.09.10 신용호 표준프레임워크 v3.8 개선 + * 2019.12.11 신용호 KISA 보안약점 조치 (크로스사이트 스크립트) + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + + /* Image Path 설정 */ +// String imagePath_icon = "/images/egovframework/com/sym/mnu/mcm/icon/"; +// String imagePath_button = "/images/egovframework/com/sym/mnu/mcm/button/"; +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title><spring:message code="comSymMnuMpm.MenuCreat.title" /></title><!-- 메뉴생성 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript"> +var imgpath = "<c:url value='/images/egovframework/com/cmm/utl/'/>"; +</script> +<script language="javascript1.2" type="text/javaScript" src="<c:url value='/js/egovframework/com/sym/mnu/mcm/EgovMenuCreat.js' />"></script> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 조회 함수 + ******************************************************** */ +function selectMenuCreatTmp() { + document.menuCreatManageForm.action = "<c:url value='/sym/mnu/mcm/EgovMenuCreatSelect.do'/>"; + document.menuCreatManageForm.submit(); +} + +/* ******************************************************** + * 멀티입력 처리 함수 + ******************************************************** */ +function fInsertMenuCreat() { + var checkField = document.menuCreatManageForm.checkField; + var checkMenuNos = ""; + var checkedCount = 0; + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + if(checkField[i].checked) { + checkMenuNos += ((checkedCount==0? "" : ",") + checkField[i].value); + checkedCount++; + console.log("checkMenuNos = "+checkMenuNos); + console.log("checkedCount = "+checkedCount); + } + } + } else { + if(checkField.checked) { + checkMenuNos = checkField.value; + } + } + } + if(checkedCount == 0){ + alert("선택된 메뉴가 없습니다."); + return false; + } + document.menuCreatManageForm.checkedMenuNoForInsert.value=checkMenuNos; + document.menuCreatManageForm.checkedAuthorForInsert.value=document.menuCreatManageForm.authorCode.value; + document.menuCreatManageForm.action = "<c:url value='/sym/mnu/mcm/EgovMenuCreatInsert.do'/>"; + document.menuCreatManageForm.submit(); +} +/* ******************************************************** + * 메뉴사이트맵 생성 화면 호출 + ******************************************************** */ +function fMenuCreatSiteMap() { + id = document.menuCreatManageForm.authorCode.value; + window.open("<c:url value='/sym/mnu/mcm/EgovMenuCreatSiteMapSelect.do'/>?authorCode="+id,'Pop_SiteMap','scrollbars=yes, width=550, height=700'); +} +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> + +<style type="text/css"> +.tree {margin-bottom:30px; padding:10px; border-top:2px solid #1a90d8; border-bottom:2px solid #1a90d8; background:#f7f7f7; } +.tree input[type=checkbox] {margin-right:2px; vertical-align:-2px; } +.tree img {vertical-align:-4px; } +</style> + +</head> +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form name="menuCreatManageForm" action ="<c:url value='/sym/mnu/mcm/EgovMenuCreatSiteMapSelect.do' />" method="post"> +<input name="checkedMenuNoForInsert" type="hidden" > +<input name="checkedAuthorForInsert" type="hidden" > + +<div class="board"> + <h1><spring:message code="comSymMnuMpm.MenuCreat.pageTop.title" /></h1><!-- 메뉴생성 --> + + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <label for=""><spring:message code="comSymMnuMpm.MenuCreat.authCode" /> : </label><!-- 권한코드 --> + <input class="s_input2 vat" name="authorCode" type="text" value="<c:out value='${resultVO.authorCode}'/>" maxlength="30" title="<spring:message code="comSymMnuMpm.MenuCreat.authCode" />" readonly="readonly" style="width:250px" /><!-- 권한코드 --> + + <span class="btn_b"><a href="#LINK" onclick="fInsertMenuCreat(); return false;" title="<spring:message code="comSymMnuMpm.MenuCreat.createMenu" />"><spring:message code="comSymMnuMpm.MenuCreat.createMenu" /></a></span><!-- 메뉴생성 --> + <input class="s_btn" type="submit" value="<spring:message code="comSymMnuMpm.MenuCreat.createSiteMap" />" title="<spring:message code="comSymMnuMpm.MenuCreat.createSiteMap" />" onclick="fMenuCreatSiteMap(); return false;" /><!-- 사이트맵생성 --> + </li> + </ul> + </div> + + <c:forEach var="result1" items="${list_menulist}" varStatus="status" > + <input type="hidden" name="tmp_menuNmVal" value="${result1.menuNo}|${result1.upperMenuId}|${result1.menuNm}|${result1.progrmFileNm}|${result1.chkYeoBu}|"> + </c:forEach> + + <div class="tree"> + <script language="javascript" type="text/javaScript"> + var chk_Object = true; + var chk_browse = ""; + if (eval(document.menuCreatManageForm.authorCode)=="[object]") chk_browse = "IE"; + if (eval(document.menuCreatManageForm.authorCode)=="[object NodeList]") chk_browse = "Fox"; + if (eval(document.menuCreatManageForm.authorCode)=="[object Collection]") chk_browse = "safai"; + + var Tree = new Array; + if(chk_browse=="IE"&&eval(document.menuCreatManageForm.tmp_menuNmVal)!="[object]"){ + alert("<spring:message code="comSymMnuMpm.MenuCreat.validate.menuNmVal.none1" />"); //메뉴 목록 데이타가 존재하지 않습니다. + chk_Object = false; + } + if(chk_browse=="Fox"&&eval(document.menuCreatManageForm.tmp_menuNmVal)!="[object NodeList]"){ + alert("<spring:message code="comSymMnuMpm.MenuCreat.validate.menuNmVal.none1" />"); //메뉴 목록 데이타가 존재하지 않습니다. + chk_Object = false; + } + if(chk_browse=="safai"&&eval(document.menuCreatManageForm.tmp_menuNmVal)!="[object Collection]"){ + alert("<spring:message code="comSymMnuMpm.MenuCreat.validate.menuNmVal.none1" />"); //메뉴 목록 데이타가 존재하지 않습니다. + chk_Object = false; + } + if( chk_Object ){ + for (var j = 0; j < document.menuCreatManageForm.tmp_menuNmVal.length; j++) { + Tree[j] = document.menuCreatManageForm.tmp_menuNmVal[j].value; + } + createTree(Tree); + }else{ + alert("<spring:message code="comSymMnuMpm.MenuCreat.validate.menuNmVal.none2" />"); //메뉴가 존재하지 않습니다. 메뉴 등록 후 사용하세요. + window.close(); + } + </script> + </div> + +</div> + + + + + + + +<!-- 개발로직 최종 테스트 후 아래 소스를 삭제해주세요 --> + +<div id="border" style="width:730px"> +<table border="0"> + <tr> + <td width="700"> +<!-- ********** 여기서 부터 본문 내용 *************** --> + + + +<div id="main" style="display:width:700px;"> + +<%-- <table width="717" cellpadding="8" class="table-search" border="0"> + <tr> + <td width="40%" class="title_left"> + <h1><img src="<c:url value='/images/egovframework/com/cmm/icon/tit_icon.gif'/>" width="16" height="16" hspace="3" alt="">&nbsp;메뉴생성</h1></td> + <td width="10%"></td> + <td width="25%"></td> + <th width="25%"> + <table border="0" cellspacing="0" cellpadding="0" align="right"> + <tr> + <td width="10"></td> + <td><span class="button"><a href="#LINK" onclick="fInsertMenuCreat(); return false;">메뉴생성</a></span></td> + <td width="5%"></td> + <td><span class="button"><input type="submit" value="사이트맵생성" onclick="fMenuCreatSiteMap(); return false;"></span></td> + </tr> + </table> + </th> + </tr> +</table> + +<table width="717" border="0" cellpadding="0" cellspacing="1"> + <tr> + <td width="100%"> + <table width="100%" border="0" cellpadding="0" cellspacing="1" class="table-register" summary="메뉴생성 검색조건" > + <caption>메뉴생성 검색조건 </caption> + <tr> + <th width="15%" height="40" class="" scope="row"><label for="authorCode">권한코드&nbsp;</label></th> + <td width="85%"><input name="authorCode" type="text" size="30" maxlength="30" title="권한코드" value="${resultVO.authorCode}" readonly></td> + </tr> + </table> + </td> + </tr> +</table> --%> + + + + +</div> + +<!-- ********** 여기까지 내용 *************** --> +</td> +</tr> +</table> +</div> + +<input type="hidden" name="req_menuNo"> +</form> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mcm/EgovMenuCreat.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mcm/EgovMenuCreatSiteMap.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mcm/EgovMenuCreatSiteMap.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mcm/EgovMenuCreatSiteMap.jsp (revision 7) @@ -0,0 +1,143 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ page import="egovframework.com.cmm.service.Globals" %> +<% + /** + * @Class Name : EgovMenuCreatSiteMap.jsp + * @Description : 메뉴사이트맵 생성 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * @ 2011.07.29 서준식 사이트맵 저장경로 수정 + * 2018.09.10 신용호 표준프레임워크 v3.8 개선 + * 2019.12.11 신용호 KISA 보안약점 조치 (크로스사이트 스크립트) + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + + /* Image Path 설정 */ + String imagePath_icon = "/images/egovframework/com/sym/mnu/mcm/icon/"; + String imagePath_button = "/images/egovframework/com/sym/mnu/mcm/button/"; +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymMnuMpm.MenuCreatSiteMap.title" /></title><!-- 메뉴사이트맵생성 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript"> +var imgpath = "<c:url value='/images/egovframework/com/cmm/utl/'/>"; +var getContextPath = "${pageContext.request.contextPath}"; +</script> +<script language="javascript1.2" type="text/javaScript" src="<c:url value='/js/egovframework/com/sym/mnu/mcm/EgovMenuCreatSiteMap.js' />"></script> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/*절대 path 사이트맵이 저장될 장소의 절대 패스*/ +//var vRootPath = "C:/egovframework/workspace2/sym.mnu.mcm/src/main/webapp"; // Window webapp 위치 +//var vRootPath = "/product/jeus/webhome/was_com/egovframework-com-1_0/egovframework-com-1_0_war___"; // Unix webapp 위치 +/* 절대 path내 사이트맵 jsp를 저장할 장소 지정 */ +//var vSiteMapPath = "/html/egovframework/com/sym/mnu/mcm/"; + + +/* ******************************************************** + * 조회 함수 + ******************************************************** */ +function selectMenuCreatSiteMap() { + document.menuCreatManageSiteMapForm.scrtyEstbstrgetId.value = opener.document.menuCreatManageForm.scrtyEstbstrgetId.value; + document.menuCreatManageSiteMapForm.action = "<c:url value='/sym/mnu/mcm/EgovMenuCreatSiteMapSelect.do'/>"; + document.menuCreatManageSiteMapForm.submit(); +} + +/* ******************************************************** + * jsp 생성 함수 + ******************************************************** */ +function CreatSiteMap() { + fHtmlCreat_Head(); + console.log("vHtmlCode = "+vHtmlCode); + usrID = document.menuCreatManageSiteMapForm.creatPersonId.value; + authorCode = document.menuCreatManageSiteMapForm.authorCode.value; + document.menuCreatManageSiteMapForm.valueHtml.value = vHtmlCode; + document.menuCreatManageSiteMapForm.bndeFileNm.value = authorCode+"_SiteMap.jsp"; + //document.menuCreatManageSiteMapForm.tmp_rootPath.value = vRootPath; + //document.menuCreatManageSiteMapForm.bndeFilePath.value = vSiteMapPath; + document.menuCreatManageSiteMapForm.mapCreatId.value = authorCode; + document.menuCreatManageSiteMapForm.action = "<c:url value='/sym/mnu/mcm/EgovMenuCreatSiteMapInsert.do'/>"; + document.menuCreatManageSiteMapForm.submit(); +} + +/* ******************************************************** +* 메뉴 호출 함수 +******************************************************** */ +function fCallUrl(url) { + window.open(url,'dokdo','width=800,height=600,menubar=no,toolbar=no,location=no,resizable=no,status=no,scrollbars=no,top=300,left=700'); +} + +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> + +</head> +<body> +<noscript class="noScriptTitle"><spring:message code="comSymMnuMpm.MenuCreatSiteMap.title" /></noscript> + +<form name="menuCreatManageSiteMapForm" action ="<c:url value='/sym/mnu/mcm/EgovMenuCreatSiteMapSelect.do' />" method="post"> +<div style="visibility:hidden;display:none;"><input name="iptSubmit" type="submit" value="<spring:message code="comSymMnuMpm.MenuCreatSiteMap.send" />" title="<spring:message code="comSymMnuMpm.MenuCreatSiteMap.send" />"></div><!-- 전송 --> +<input name="valueHtml" type="hidden" /> +<input name="creatPersonId" type="hidden" value ="<c:out value='${resultVO.creatPersonId}'/>" /> +<input name="bndeFileNm" type="hidden" /> +<input name="bndeFilePath" type="hidden" /> +<input name="mapCreatId" type="hidden" /> +<input name="tmp_rootPath" type="hidden" /> + +<div class="board" style="width:530px"> + <h1><spring:message code="comSymMnuMpm.MenuCreatSiteMap.pageTop.title" /></h1><!-- 메뉴사이트맵생성 --> + + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <label for=""><spring:message code="comSymMnuMpm.MenuCreatSiteMap.authCode" /> : </label><!-- 권한코드 --> + <input class="s_input2 vat" name="authorCode" type="text" value="<c:out value='${resultVO.authorCode}'/>" size="20" maxlength="30" title="<spring:message code="comSymMnuMpm.MenuCreatSiteMap.authName" />" readonly="readonly" /><!-- 권한명 --> + <input class="s_input2 vat" name="chkCreat" type="text" value="<c:out value='${resultBoolean.chkCreat}'/>" size="10" maxlength="10" title="<spring:message code="comSymMnuMpm.MenuCreatSiteMap.authCode" />" readonly="readonly" /><!-- 권한코드 --> + + <span class="btn_b"><a href="#LINK" onclick="CreatSiteMap(); return false;" title="<spring:message code="comSymMnuMpm.MenuCreatSiteMap.createSitemap" />"><spring:message code="comSymMnuMpm.MenuCreatSiteMap.createSitemap" /></a></span><!-- 사이트맵생성 --> + </li> + </ul> + </div> + + <c:forEach var="result1" items="${list_menulist}" varStatus="status" > + <input type="hidden" name="tmp_menuNmVal" value="${result1.menuNo}|${result1.upperMenuId}|${result1.menuNm}|${result1.menuOrdr}|${result1.chkURL}|"> + </c:forEach> + + <div class="tree" style="width:480px;" id="treeSiteMap"> + <script language="javascript" type="text/javaScript"> + var Tree = new Array; + var baseObj = document.getElementById("treeSiteMap"); + if ( typeof document.menuCreatManageSiteMapForm.tmp_menuNmVal == "undefined" + || typeof document.menuCreatManageSiteMapForm.tmp_menuNmVal.length == "undefined" ) { + alert("<spring:message code="comSymMnuMpm.MenuCreatSiteMap.validate.menuNmVal.none2" />"); //사이트맵 생성 데이타가 존재하지 않습니다. \n 메뉴를 생성하신 후 작업하세요. + window.close(); + } else { + for (var j = 0; j < document.menuCreatManageSiteMapForm.tmp_menuNmVal.length; j++) { + Tree[j] = document.menuCreatManageSiteMapForm.tmp_menuNmVal[j].value; + } + createTree(baseObj,Tree); + } + </script> + </div> +</div> + +</form> + +</body> +</html> + + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mcm/EgovMenuCreatSiteMap.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mcm/EgovMenuCreatManage.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mcm/EgovMenuCreatManage.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mcm/EgovMenuCreatManage.jsp (revision 7) @@ -0,0 +1,146 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovMenuCreatManage.jsp + * @Description : 메뉴생성관리 조회 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2018.09.10 신용호 표준프레임워크 v3.8 개선 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + + /* Image Path 설정 */ + String imagePath_icon = "/images/egovframework/com/sym/mnu/mcm/icon/"; + String imagePath_button = "/images/egovframework/com/sym/mnu/mcm/button/"; +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymMnuMpm.menuCreatManage.title" /></title><!-- 메뉴생성관리 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 최초조회 함수 + ******************************************************** */ +function fMenuCreatManageSelect(){ + document.menuCreatManageForm.action = "<c:url value='/sym/mnu/mcm/EgovMenuCreatManageSelect.do'/>"; + document.menuCreatManageForm.submit(); +} + +/* ******************************************************** + * 페이징 처리 함수 + ******************************************************** */ +function linkPage(pageNo){ + document.menuCreatManageForm.pageIndex.value = pageNo; + document.menuCreatManageForm.action = "<c:url value='/sym/mnu/mcm/EgovMenuCreatManageSelect.do'/>"; + document.menuCreatManageForm.submit(); +} + +/* ******************************************************** + * 조회 처리 함수 + ******************************************************** */ +function selectMenuCreatManageList() { + document.menuCreatManageForm.pageIndex.value = 1; + document.menuCreatManageForm.action = "<c:url value='/sym/mnu/mcm/EgovMenuCreatManageSelect.do'/>"; + document.menuCreatManageForm.submit(); +} + +/* ******************************************************** + * 메뉴생성 화면 호출 + ******************************************************** */ +function selectMenuCreat(vAuthorCode) { + document.menuCreatManageForm.authorCode.value = vAuthorCode; + document.menuCreatManageForm.action = "<c:url value='/sym/mnu/mcm/EgovMenuCreatSelect.do'/>"; + document.menuCreatManageForm.submit(); +} +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> +</head> +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<div class="board"> + <h1><spring:message code="comSymMnuMpm.menuCreatManage.pageTop.title" /></h1><!-- 메뉴생성관리 --> + + <form name="menuCreatManageForm" action ="<c:url value='/sym/mnu/mcm/EgovMenuCreatManageSelect.do'/>" method="post"> + <input name="checkedMenuNoForDel" type="hidden" /> + <input name="authorCode" type="hidden" /> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"><!-- 이 레이아웃은 하단 정보를 대한 검색 정보로 구성되어 있습니다. --> + <ul> + <li> + <label for=""><spring:message code="comSymMnuMpm.menuCreatManage.authCode" /> : </label><!-- 보안설정대상ID --> + <input class="s_input2 vat" name="searchKeyword" type="text" value='<c:out value="${searchVO.searchKeyword}"/>' size="80" maxlength="60" title="검색조건" /> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="selectMenuCreatManageList(); return false;" /> + </li> + </ul> + </div> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:20%" /> + <col style="width:20%" /> + <col style="width:20%" /> + <col style="width:20%" /> + <col style="width:20%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comSymMnuMpm.menuCreatManage.authCode" /></th><!-- 권한코드 --> + <th scope="col"><spring:message code="comSymMnuMpm.menuCreatManage.authName" /></th><!-- 권한명 --> + <th scope="col"><spring:message code="comSymMnuMpm.menuCreatManage.authDesc" /></th><!-- 권한 설명 --> + <th scope="col"><spring:message code="comSymMnuMpm.menuCreatManage.creationStatus" /></th><!-- 메뉴생성여부 --> + <th scope="col"><spring:message code="comSymMnuMpm.menuCreatManage.createMenu" /></th><!-- 메뉴생성 --> + </tr> + </thead> + <tbody> + <c:forEach var="result" items="${list_menumanage}" varStatus="status"> + <tr> + <td><c:out value="${result.authorCode}"/></td> + <td><c:out value="${result.authorNm}"/></td> + <td><c:out value="${result.authorDc}"/></td> + <td> + <c:if test="${result.chkYeoBu > 0}">Y</c:if> + <c:if test="${result.chkYeoBu == 0}">N</c:if> + </td> + <td> + <a class="btn02" href="<c:url value='/sym/mnu/mcm/EgovMenuCreatSelect.do'/>?authorCode='<c:out value="${result.authorCode}"/>'" onclick="selectMenuCreat('<c:out value="${result.authorCode}"/>'); return false;">메뉴생성</a> + </td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> + + <input type="hidden" name="req_menuNo"> + </form> + +</div> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mcm/EgovMenuCreatManage.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuBndeRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuBndeRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuBndeRegist.jsp (revision 7) @@ -0,0 +1,127 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<% + /** + * @Class Name : EgovMenuBndeRegist.jsp + * @Description : 메뉴프로그램목록 일괄 등록 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2018.09.10 신용호 표준프레임워크 v3.8 개선 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ + String imagePath_icon = "/images/egovframework/com/sym/mnu/mpm/icon"; + String imagePath_button = "/images/egovframework/com/sym/mnu/mpm/button/"; +%> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymMnuMpm.menuRegist.title"/></title> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script language="javascript1.2" type="text/javaScript"> +/* ******************************************************** + * 메뉴일괄생성처리 함수 + ******************************************************** */ +function insertMenuManage() { + if(confirm("<spring:message code="comSymMnuMpm.menuBndeRegist.validate.confirm.insert"/>")){ //메뉴 일괄등록을 하시겠습니까?. \n 메뉴정보와 프로그램목록, 프로그램 변경내역 존재시 삭제 하실 수 없습니다. + if(checkFile()){ + document.menuManageRegistForm.action ="<c:url value='/sym/mnu/mpm/EgovMenuBndeRegist.do' />"; + document.menuManageRegistForm.submit(); + } + } +} +/* ******************************************************** + * 메뉴일괄삭제처리 함수 + ******************************************************** */ +function deleteMenuList() { + if(confirm("<spring:message code="comSymMnuMpm.menuBndeRegist.validate.confirm.delete"/>")){ //메뉴일괄삭제를 하시겠습니까?. \n 메뉴정보와 프로그램목록, 프로그램 변경내역 데이타 모두 삭제 됩니다. + document.menuManageRegistForm.action ="<c:url value='/sym/mnu/mpm/EgovMenuBndeAllDelete.do' />"; + document.menuManageRegistForm.submit(); + } +} +/* ******************************************************** + * 메뉴일괄등록시 등록파일 체크 함수 + ******************************************************** */ +function checkFile(){ + if(document.menuManageRegistForm.file.value==""){ + alert("<spring:message code="comSymMnuMpm.menuBndeRegist.validate.alert.checkFile"/>"); //업로드 할 파일을 지정해 주세요 + return false; + } + + var str_dotlocation,str_ext,str_low; + str_value = document.menuManageRegistForm.file.value; + str_low = str_value.toLowerCase(str_value); + str_dotlocation = str_low.lastIndexOf("."); + str_ext = str_low.substring(str_dotlocation+1); + + switch (str_ext) { + case "xls" : + case "xlsx" : + return true; + break; + default: + alert("<spring:message code="comSymMnuMpm.menuBndeRegist.validate.checkFile"/>"); //파일 형식이 맞지 않습니다.\n xls,xlsx만 업로드가 가능합니다! + return false; + } +} + +/* ******************************************************** + * 목록조회 함수 + ******************************************************** */ +function selectList(){ + location.href = "<c:url value='/sym/mnu/mpm/EgovMenuManageSelect.do' />"; +} + +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +</script> +</head> +<body> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comSymMnuMpm.menuRegist.pageTop.title"/></h2> + + <form name="menuManageRegistForm" action ="<c:url value='/sym/mnu/mpm/EgovMenuBndeRegist.do'/>" method="post" enctype="multipart/form-data"> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymMnuMpm.menuBndeRegist.menuNo"/> <span class="pilsu">*</span></th> + <td class="left"> + <input type = "file" name="file" size="40" title="<spring:message code='title.attachedFileSelect'/>"> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.bulkUpload" />" onclick="insertMenuManage(); return false;" /><!-- 일괄등록 --> + <span class="btn_s"><a href="<c:url value='/sym/mnu/mpm/EgovMenuManageSelect.do'/>" onclick="selectList(); return false;"><spring:message code="button.list"/></a></span><!-- 목록 --> + </div> + <div style="clear:both;"></div> + + <input name="cmd" type="hidden" value="<c:out value='bndeInsert'/>"/> + </form> + +</div> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuBndeRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuManage.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuManage.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuManage.jsp (revision 7) @@ -0,0 +1,235 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovMenuManage.jsp + * @Description : 메뉴관리 조회 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + 2011.07.27 서준식 메뉴 삭제 자바스크립트 오류 수정 + 2018.08.09 신용호 삭제시 목록이 1개인경우 예외처리 수정 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ + String imagePath_icon = "/images/egovframework/com/sym/mnu/mpm/icon"; + String imagePath_button = "/images/egovframework/com/sym/mnu/mpm/button"; +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymMnuMpm.menuManage.title"/></title><!-- 메뉴관리리스트 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 모두선택 처리 함수 + ******************************************************** */ +function fCheckAll() { + var checkField = document.menuManageForm.checkField; + if(document.menuManageForm.checkAll.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} +/* ******************************************************** + * 멀티삭제 처리 함수 + ******************************************************** */ +function fDeleteMenuList() { + var checkField = document.menuManageForm.checkField; + var menuNo = document.menuManageForm.checkMenuNo; + var checkMenuNos = ""; + var checkedCount = 0; + if(checkField) { + + if(typeof(checkField.length) != "undefined") { + for(var i=0; i < checkField.length; i++) { + if(checkField[i].checked) { + checkMenuNos += ((checkedCount==0? "" : ",") + menuNo[i].value); + checkedCount++; + } + } + } else { + if(checkField.checked) { + checkMenuNos = menuNo.value; + checkedCount = 1; + } + } + } + + if(checkedCount ==0){ + alert("선택된 메뉴가 없습니다."); + return false; + } + + if(confirm("<spring:message code="common.delete.msg" />")){ //삭제하시겠습니까? + document.menuManageForm.checkedMenuNoForDel.value=checkMenuNos; + document.menuManageForm.action = "<c:url value='/sym/mnu/mpm/EgovMenuManageListDelete.do'/>"; + document.menuManageForm.submit(); + } +} + +/* ******************************************************** + * 페이징 처리 함수 + ******************************************************** */ +function linkPage(pageNo){ +// document.menuManageForm.searchKeyword.value = + document.menuManageForm.pageIndex.value = pageNo; + document.menuManageForm.action = "<c:url value='/sym/mnu/mpm/EgovMenuManageSelect.do'/>"; + document.menuManageForm.submit(); +} + +/* ******************************************************** + * 조회 처리 함수 + ******************************************************** */ +function selectMenuManageList() { + document.menuManageForm.pageIndex.value = 1; + document.menuManageForm.action = "<c:url value='/sym/mnu/mpm/EgovMenuManageSelect.do'/>"; + document.menuManageForm.submit(); +} + +/* ******************************************************** + * 입력 화면 호출 함수 + ******************************************************** */ +function insertMenuManage() { + document.menuManageForm.action = "<c:url value='/sym/mnu/mpm/EgovMenuRegistInsert.do'/>"; + document.menuManageForm.submit(); +} + +/* ******************************************************** + * 일괄처리 화면호출 함수 + ******************************************************** */ +/* function bndeInsertMenuManage() { + document.menuManageForm.action = "<c:url value='/sym/mnu/mpm/EgovMenuRegistInsert.do'/>"; + document.menuManageForm.submit(); + } + */ +function bndeInsertMenuManage() { + document.menuManageForm.action = "<c:url value='/sym/mnu/mpm/EgovMenuBndeRegist.do'/>"; + document.menuManageForm.submit(); +} +/* ******************************************************** + * 상세조회처리 함수 + ******************************************************** */ +function selectUpdtMenuManageDetail(menuNo) { + document.menuManageForm.req_menuNo.value = menuNo; + document.menuManageForm.action = "<c:url value='/sym/mnu/mpm/EgovMenuManageListDetailSelect.do'/>"; + document.menuManageForm.submit(); +} +/* ******************************************************** + * 최초조회 함수 + ******************************************************** */ +function fMenuManageSelect(){ + document.menuManageForm.action = "<c:url value='/sym/mnu/mpm/EgovMenuManageSelect.do'/>"; + document.menuManageForm.submit(); +} +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> + +</head> +<body> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<form name="menuManageForm" action ="<c:url value='/sym/mnu/mpm/EgovMenuManageSelect.do'/>" method="post"> +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> +<input name="checkedMenuNoForDel" type="hidden" /> +<input name="req_menuNo" type="hidden" /> + +<div class="board"> + <h1><spring:message code="comSymMnuMpm.menuManage.pageTop.title"/></h1><!-- 메뉴관리리스트 --> + + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"><!-- 이 레이아웃은 하단 정보를 대한 검색 정보로 구성되어 있습니다. --> + <ul> + <li> + <label for=""><spring:message code="comSymMnuMpm.menuManage.menuNm"/> : </label><!-- 메뉴명 --> + <input class="s_input2 vat" name="searchKeyword" type="text" value="${searchVO.searchKeyword }" size="25" title="<spring:message code="title.searchCondition"/>" /><!-- 검색조건 --> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="selectMenuManageList(); return false;" /><!-- 조회 --> + <span class="btn_b"><a href="<c:url value='/sym/mnu/mpm/EgovMenuRegistInsert.do'/>" onclick="bndeInsertMenuManage(); return false;" title="<spring:message code="button.bulkUpload" />"><spring:message code="button.bulkUpload" /></a></span><!-- 일괄등록 --> + <span class="btn_b"><a href="<c:url value='/sym/mnu/mpm/EgovMenuRegistInsert.do'/>" onclick="insertMenuManage(); return false;" title='<spring:message code="button.create" />'><spring:message code="button.create" /></a></span><!-- 등록 --> + <span class="btn_b"><a href="#" onclick="fDeleteMenuList(); return false;" title='<spring:message code="button.delete" />'><spring:message code="button.delete" /></a></span><!-- 삭제 --> + </li> + </ul> + </div> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:30px" /> + <col style="width:100px" /> + <col style="width:120px" /> + <col style="width:200px" /> + <col style="width:167px" /> + <col style="width:100px" /> + </colgroup> + <thead> + <tr> + <th scope="col"><input type="checkbox" name="checkAll" class="check2" onclick="fCheckAll();" title="전체선택"/></th><!-- 전체선택 --> + <th scope="col"><spring:message code="comSymMnuMpm.menuManage.menuNo"/></th><!-- 메뉴ID --> + <th scope="col"><spring:message code="comSymMnuMpm.menuManage.menuNmHn"/></th><!-- 메뉴한글명 --> + <th scope="col"><spring:message code="comSymMnuMpm.menuManage.progrmFileNm"/></th><!-- 프로그램파일명 --> + <th scope="col"><spring:message code="comSymMnuMpm.menuManage.menuDc"/></th><!-- 메뉴설명 --> + <th scope="col"><spring:message code="comSymMnuMpm.menuManage.upperMenuId"/></th><!-- 상위메뉴ID --> + </tr> + </thead> + <tbody> + <c:forEach var="result" items="${list_menumanage}" varStatus="status"> + <tr> + <td> + <input type="checkbox" name="checkField" class="check2" title="선택"/> + <input name="checkMenuNo" type="hidden" value="<c:out value='${result.menuNo}'/>"/> + </td> + <td><c:out value="${result.menuNo}"/></td> + <td style="cursor:hand;"> + <span class="link"><a href="<c:url value='/sym/mnu/mpm/EgovMenuManageListDetailSelect.do?req_menuNo='/>${result.menuNo}" onclick="selectUpdtMenuManageDetail('<c:out value="${result.menuNo}"/>'); return false;"><c:out value="${result.menuNm}"/></a></span> + </td> + <td><c:out value="${result.progrmFileNm}"/></td> + <td><c:out value="${result.menuDc}"/></td> + <td><c:out value="${result.upperMenuId}"/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> +</div> +</form> +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuManage.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuMvmnNew.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuMvmnNew.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuMvmnNew.jsp (revision 7) @@ -0,0 +1,134 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<% + /** + * @Class Name : EgovMenuMvmn.jsp + * @Description : 메뉴이동 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2018.09.10 신용호 표준프레임워크 v3.8 개선 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ + String imagePath_icon = "/images/egovframework/com/sym/mnu/mpm/icon/"; + String imagePath_button = "/images/egovframework/com/sym/mnu/mpm/button/"; + +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymMnuMpm.menuMvmn.title"/></title><!-- 메뉴이동 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript"> +var imgpath = "<c:url value='/images/egovframework/com/cmm/utl/'/>"; +</script> +<script language="javascript1.2" type="text/javaScript" src="<c:url value='/js/egovframework/com/sym/mnu/mpm/EgovMenuList.js' />" /></script> +<script language="javascript1.2" type="text/javaScript"> +<!-- +function selectProgramListSearch() { + progrmManageForm.submit(); +} +function choisProgramListSearch(vFileNm) { + eval("parent.document.all."+parent.document.all.tmp_SearchElementName.value).value = vFileNm; + parent.$('.ui-dialog-content').dialog('close'); +} + +/* ******************************************************** + * 상세내역조회 함수 + ******************************************************** */ +function choiceNodes(nodeNum) { + var nodeValues = treeNodes[nodeNum].split("|"); + parent.document.menuManageVO.upperMenuId.value = nodeValues[4]; + parent.$('.ui-dialog-content').dialog('close'); +} +/* ******************************************************** + * 조회 함수 + ******************************************************** */ +function selectMenuListTmp() { + document.menuListForm.req_RetrunPath.value = "<c:url value='/sym/mnu/mpm/EgovMenuMvmn'/>"; + document.menuListForm.action = "<c:url value='/sym/mnu/mpm/EgovMenuListSelectTmp.do'/>"; + document.menuListForm.submit(); +} +--> +</script> +</head> +<body> +<form name="searchUpperMenuIdForm" action ="<c:url value='/sym/mnu/mpm/EgovMenuListSelectTmp.do'/>" method="post"> +<div style="visibility:hidden;display:none;"><input name="iptSubmit" type="submit" value="전송" title="전송"></div> +<input type="hidden" name="req_RetrunPath" value="/sym/mnu/mpm/EgovMenuMvmn"> +<c:forEach var="result" items="${list_menulist}" varStatus="status" > +<input type="hidden" name="tmp_menuNmVal" value="${result.menuNo}|${result.upperMenuId}|${result.menuNm}|${result.progrmFileNm}|${result.menuNo}|${result.menuOrdr}|${result.menuNm}|${result.upperMenuId}|${result.menuDc}|${result.relateImagePath}|${result.relateImageNm}|${result.progrmFileNm}|"> +</c:forEach> + +<div class="wTableFrm" style="width:580px"> + <!-- 타이틀 --> + <h2><spring:message code="comSymMnuMpm.menuMvmn.pageTop.title"/></h2><!-- 메뉴이동 --> + + <!-- 등록폼 --> +<%-- + <table class="wTable"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymMnuMpm.menuMvmn.menuNo"/></th><!-- 이동할메뉴명 --> + <td class="left"> + <input name="progrmFileNm" type="text" size="30" value="" maxlength="60" title="<spring:message code="comSymMnuMpm.menuMvmn.menuNo"/>" readonly="readonly"/> + </td> + </tr> + </table> +--%> + <div style="clear:both;"></div> +</div> + +<DIV id="main" style="display:"> + +<table width="570" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td height="10">&nbsp;</td> + </tr> +</table> + +<table width="570" cellpadding="8" class="table-line"> + <tr> + <td> + <div class="tree" style="width:400px;"> + <script language="javascript" type="text/javaScript"> + + var Tree = new Array; + + if ( typeof document.searchUpperMenuIdForm.req_RetrunPath == "object" + && typeof document.searchUpperMenuIdForm.tmp_menuNmVal == "object" + && document.searchUpperMenuIdForm.tmp_menuNmVal.length > 0 ) { + for (var j = 0; j < document.searchUpperMenuIdForm.tmp_menuNmVal.length; j++) { + Tree[j] = document.searchUpperMenuIdForm.tmp_menuNmVal[j].value; + } + createTree(Tree, true); + }else{ + alert("<spring:message code="comSymMnuMpm.menuMvmn.validate.alert.menu"/>"); + window.close(); + } + </script> + </div> + </td> + </tr> +</table> +</DIV> + +</form> +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuMvmnNew.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuRegist.jsp (revision 7) @@ -0,0 +1,256 @@ +<!DOCTYPE html> +<%-- + /** + * @Class Name : EgovMenuRegist.jsp + * @Description : 메뉴정보 등록 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2018.09.10 신용호 표준프레임워크 v3.8 개선 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="ImgUrl" value="${pageContext.request.contextPath}/images/egovframework/com/sym/mnu/mpm/"/> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymMnuMpm.menuRegist.title"/></title><!-- 메뉴정보등록 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> + +<script type="text/javascript" src="<c:url value="/validator.do" />"></script> +<validator:javascript formName="menuManageVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 메뉴이동 화면 호출 함수 + ******************************************************** */ +function mvmnMenuList() { + window.open("<c:url value='/sym/mnu/mpm/EgovMenuListSelectMvmn.do' />",'Pop_Mvmn','scrollbars=yes,width=600,height=600'); +} + +/* ******************************************************** +* 입력값 validator 함수 +******************************************************** */ +function fn_validatorMenuList() { + + if(document.menuManageVO.menuNo.value == ""){alert("<spring:message code="comSymMnuMpm.menuList.validate.menuNo.notNull" />"); return false;} //메뉴번호는 핍수입력 항목입니다. + if(!checkNumber(document.menuManageVO.menuNo.value)){alert("<spring:message code="comSymMnuMpm.menuList.validate.menuNo.onlyNumber" />"); return false;} //메뉴번호는 숫자만 입력 가능합니다. + + if(document.menuManageVO.menuOrdr.value == ""){alert("<spring:message code="comSymMnuMpm.menuList.validate.menuOrdr.notNull" />"); return false;} //메뉴순서는 핍수입력 항목입니다. + if(!checkNumber(document.menuManageVO.menuOrdr.value)){alert("<spring:message code="comSymMnuMpm.menuList.validate.menuOrdr.onlyNumber" />"); return false;} //메뉴순서는 숫자만 입력 가능합니다. + + if(document.menuManageVO.upperMenuId.value == ""){alert("<spring:message code="comSymMnuMpm.menuList.validate.upperMenuId.notNull" />"); return false;} //상위메뉴번호는 핍수입력 항목입니다. + if(!checkNumber(document.menuManageVO.upperMenuId.value)){alert("<spring:message code="comSymMnuMpm.menuList.validate.upperMenuId.onlyNumber" />"); return false;} //상위메뉴번호는 숫자만 입력 가능합니다. + + if(document.menuManageVO.progrmFileNm.value == ""){alert("<spring:message code="comSymMnuMpm.menuList.validate.progrmFileNm.notNull" />"); return false;} //프로그램파일명은 핍수입력 항목입니다. + if(document.menuManageVO.menuNm.value == ""){alert("<spring:message code="comSymMnuMpm.menuList.validate.menuNm.notNull" />"); return false;} //메뉴명은 핍수입력 항목입니다. + + return true; +} + +/* ******************************************************** +* 필드값 Number 체크 함수 +******************************************************** */ +function checkNumber(str) { + var flag=true; + if (str.length > 0) { + for (i = 0; i < str.length; i++) { + if (str.charAt(i) < '0' || str.charAt(i) > '9') { + flag=false; + } + } + } + return flag; +} + +/* ******************************************************** + * 입력처리 함수 + ******************************************************** */ +function insertMenuManage(form) { + if(!fn_validatorMenuList()){return;} + if(confirm("<spring:message code="common.save.msg" />")){ + + if(!validateMenuManageVO(form)){ + return; + }else{ + form.submit(); + } + } +} + +/* ******************************************************** + * 파일목록조회 함수 + ******************************************************** */ +function searchFileNm() { + document.all.tmp_SearchElementName.value = "progrmFileNm"; + window.open("<c:url value='/sym/prm/EgovProgramListSearch.do' />",'Pop_progrmFileNm','width=500,height=600'); +} + +/* ******************************************************** + * 목록조회 함수 + ******************************************************** */ +function selectList(){ + location.href = "<c:url value='/sym/mnu/mpm/EgovMenuManageSelect.do' />"; +} +/* ******************************************************** + * 파일명 엔터key 목록조회 함수 + ******************************************************** */ +function press() { + if (event.keyCode==13) { + searchFileNm(); // 원래 검색 function 호출 + } +} +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> +<script type="text/javascript"> + $(document).ready(function () { + // 파일검색 화면 호출 함수 + $('#popupProgrmFileNm').click(function (e) { + e.preventDefault(); + //var page = $(this).attr("href"); + var pagetitle = $(this).attr("title"); + var page = "<c:url value='/sym/prm/EgovProgramListSearchNew.do'/>"; + var $dialog = $('<div></div>') + .html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>') + .dialog({ + autoOpen: false, + modal: true, + width: 550, + height: 650, + title: pagetitle + }); + $dialog.dialog('open'); + }); + // 메뉴이동 화면 호출 함수 + $('#popupUpperMenuId').click(function (e) { + e.preventDefault(); + //var page = $(this).attr("href"); + var pagetitle = $(this).attr("title"); + var page = "<c:url value='/sym/mnu/mpm/EgovMenuListSelectMvmnNew.do'/>"; + var $dialog = $('<div style="overflow:hidden;padding: 0px 0px 0px 0px;"></div>') + .html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>') + .dialog({ + autoOpen: false, + modal: true, + width: 610, + height: 550, + title: pagetitle + }); + $dialog.dialog('open'); + }); + }); +</script> +</head> +<body> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<form:form commandName="menuManageVO" name="menuManageVO" method="post" action="${pageContext.request.contextPath}/sym/mnu/mpm/EgovMenuRegistInsert.do"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comSymMnuMpm.menuRegist.pageTop.title"/></h2><!-- 메뉴 등록 --> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymMnuMpm.menuRegist.menuNo"/> <span class="pilsu">*</span></th><!-- 메뉴No --> + <td class="left"> + <form:input path="menuNo" maxlength="10" title="<spring:message code='comSymMnuMpm.menuRegist.menuNo'/>" cssStyle="width:50px" /><!-- 메뉴No --> + <form:errors path="menuNo" /> + </td> + <th><spring:message code="comSymMnuMpm.menuRegist.menuOrder"/> <span class="pilsu">*</span></th><!-- 메뉴순서 --> + <td class="left"> + <form:input path="menuOrdr" maxlength="10" title="<spring:message code='comSymMnuMpm.menuRegist.menuOrder'/>" cssStyle="width:50px" /><!-- 메뉴순서 --> + <form:errors path="menuOrdr" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuMpm.menuRegist.menuNm"/> <span class="pilsu">*</span></th><!-- 메뉴명 --> + <td class="left"> + <form:input path="menuNm" maxlength="30" title="<spring:message code='comSymMnuMpm.menuRegist.menuNm'/>" /><!-- 메뉴명 --> + <form:errors path="menuNm" /> + </td> + <th><spring:message code="comSymMnuMpm.menuRegist.upperMenuId"/> <span class="pilsu">*</span></th><!-- 상위메뉴No --> + <td class="left"> + <form:input path="upperMenuId" maxlength="10" title="<spring:message code='comSymMnuMpm.menuRegist.upperMenuId'/>" readonly="true" class="readOnlyClass" cssStyle="width:50px" /><!-- 상위메뉴No --> + <form:errors path="upperMenuId" /> + <a id="popupUpperMenuId" href="<c:url value='/sym/mnu/mpm/EgovMenuListSelectMvmn.do' />" target="_blank" title="<spring:message code="comSymMnuMpm.menuRegist.newWindow"/>"><img src="<c:url value='/images/egovframework/com/cmm/icon/search2.gif' />" + alt='' />(<spring:message code="comSymMnuMpm.menuRegist.selectMenuSearch"/>)</a><!-- 새창으로 --><!-- 메뉴선택 검색 --> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuMpm.menuRegist.progrmFileNm"/> <span class="pilsu">*</span></th><!-- --> + <td class="left" colspan="3"> + <form:input path="progrmFileNm" maxlength="60" onkeypress="press();" title="파일명" readonly="true" class="readOnlyClass" cssStyle="width:350px" /><!-- 파일명 --> + <form:errors path="progrmFileNm" /> + <a id="popupProgrmFileNm" href="<c:url value='/sym/prm/EgovProgramListSearch.do'/>?tmp_SearchElementName=progrmFileNm" target="_blank" title="<spring:message code="comSymMnuMpm.menuRegist.newWindow"/>"> + <img src="<c:url value='/images/egovframework/com/cmm/icon/search2.gif' />" alt='' />(<spring:message code="comSymMnuMpm.menuRegist.programFileNameSearch"/>)</a><!-- 새창으로 --><!-- 프로그램파일명 검색 --> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuMpm.menuRegist.relateImageNm"/> <span class="pilsu">*</span></th><!-- 관련이미지명 --> + <td class="left"> + <form:input path="relateImageNm" maxlength="30" title="<spring:message code='comSymMnuMpm.menuRegist.relateImageNm'/>"/><!-- 관련이미지명 --> + <form:errors path="relateImageNm" /> + </td> + <th><spring:message code="comSymMnuMpm.menuRegist.relateImagePath"/> <span class="pilsu">*</span></th><!-- 관련이미지경로 --> + <td class="left"> + <form:input path="relateImagePath" maxlength="30" title="<spring:message code='comSymMnuMpm.menuRegist.relateImagePath'/>"/><!-- 관련이미지경로 --> + <form:errors path="relateImagePath" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuMpm.menuRegist.menuDc"/> <span class="pilsu">*</span></th><!-- 메뉴설명 --> + <td class="left" colspan="3"> + <form:textarea path="menuDc" rows="14" cols="75" cssClass="txaClass" title="<spring:message code='comSymMnuMpm.menuRegist.menuDc'/>" cssStyle="height:200px"/><!-- 메뉴설명 --> + <form:errors path="menuDc"/> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.create" />' onclick="insertMenuManage(document.forms[0]); return false;" /><!-- 등록 --> + <span class="btn_s"><a href="<c:url value='/sym/mnu/mpm/EgovMenuManageSelect.do'/>" onclick="selectList(); return false;"><spring:message code="button.list"/></a></span><!-- 목록 --> + </div> + <div style="clear:both;"></div> +</div> + +<input type="hidden" name="tmp_SearchElementName" value=""> +<input type="hidden" name="tmp_SearchElementVal" value=""> +<input name="cmd" type="hidden" value="<c:out value='insert'/>"> + +</form:form> + +</body> +</html> + + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuDetailSelectUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuDetailSelectUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuDetailSelectUpdt.jsp (revision 7) @@ -0,0 +1,255 @@ +<!DOCTYPE html> +<%-- + /** + * @Class Name : EgovMenuDetailSelectUpdt.jsp + * @Description : 메뉴정보 상세조회및 수정 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2018.09.10 신용호 표준프레임워크 v3.8 개선 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="ImgUrl" value="/images/egovframework/com/sym/mnu/mpm/"/> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymMnuMpm.menuDetailSelectUpdt.title"/></title><!-- 메뉴상세조회및 수정 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> + +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="menuManageVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script language="javascript1.2" type="text/javaScript"> +<!-- + +/* ******************************************************** +* 입력값 validator 함수 +******************************************************** */ +function fn_validatorMenuList() { + + if(document.menuManageVO.menuNo.value == ""){alert("<spring:message code="comSymMnuMpm.menuList.validate.menuNo.notNull" />"); return false;} //메뉴번호는 필수 항목입니다. + if(!checkNumber(document.menuManageVO.menuNo.value)){alert("<spring:message code="comSymMnuMpm.menuList.validate.menuNo.onlyNumber" />"); return false;} //메뉴번호는 숫자만 입력 가능합니다. + + if(document.menuManageVO.menuOrdr.value == ""){alert("<spring:message code="comSymMnuMpm.menuList.validate.menuOrdr.notNull" />"); return false;} // 메뉴순서는 필수 항목입니다. + if(!checkNumber(document.menuManageVO.menuOrdr.value)){alert("<spring:message code="comSymMnuMpm.menuList.validate.menuOrdr.onlyNumber" />"); return false;} //메뉴순서는 숫자만 입력 가능합니다. + + if(document.menuManageVO.upperMenuId.value == ""){alert("<spring:message code="comSymMnuMpm.menuList.validate.upperMenuId.notNull" />"); return false;} //상위메뉴번호는 필수 항목입니다. + if(!checkNumber(document.menuManageVO.upperMenuId.value)){alert("<spring:message code="comSymMnuMpm.menuList.validate.upperMenuId.onlyNumber" />"); return false;} //상위메뉴번호는 숫자만 입력 가능합니다. + + if(document.menuManageVO.progrmFileNm.value == ""){alert("<spring:message code="comSymMnuMpm.menuList.validate.progrmFileNm.notNull" />"); return false;} //프로그램파일명은 필수 항목입니다. + if(document.menuManageVO.menuNm.value == ""){alert("<spring:message code="comSymMnuMpm.menuList.validate.menuNm.notNull" />"); return false;} //메뉴명은 필수 항목입니다. + + return true; +} + + +/* ******************************************************** +* 필드값 Number 체크 함수 +******************************************************** */ +function checkNumber(str) { + var flag=true; + if (str.length > 0) { + for (i = 0; i < str.length; i++) { + if (str.charAt(i) < '0' || str.charAt(i) > '9') { + flag=false; + } + } + } + return flag; +} + +/* ******************************************************** + * 수정처리 함수 + ******************************************************** */ +function updateMenuManage(form) { + if(!fn_validatorMenuList()){return;} + if(confirm("<spring:message code="common.save.msg"/>")){ + + if(!validateMenuManageVO(form)){ + return; + }else{ + form.action="<c:url value='/sym/mnu/mpm/EgovMenuDetailSelectUpdt.do' />"; + form.submit(); + } + } +} + +/* ******************************************************** + * 삭제처리함수 + ******************************************************** */ +function deleteMenuManage(form) { + if(confirm("<spring:message code="common.delete.msg"/>")){ + form.action="<c:url value='/sym/mnu/mpm/EgovMenuManageDelete.do' />"; + form.submit(); + } +} +/* ******************************************************** + * 목록조회 함수 + ******************************************************** */ +function selectList(){ + location.href = "<c:url value='/sym/mnu/mpm/EgovMenuManageSelect.do' />"; +} + +/* ******************************************************** + * 파일명 엔터key 목록조회 함수 + ******************************************************** */ +function press() { + if (event.keyCode==13) { + searchFileNm(); // 원래 검색 function 호출 + } +} + + +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> +<script type="text/javascript"> + $(document).ready(function () { + // 파일검색 화면 호출 함수 + $('#popupProgrmFileNm').click(function (e) { + e.preventDefault(); + //var page = $(this).attr("href"); + var pagetitle = $(this).attr("title"); + var page = "<c:url value='/sym/prm/EgovProgramListSearchNew.do'/>"; + var $dialog = $('<div></div>') + .html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>') + .dialog({ + autoOpen: false, + modal: true, + width: 550, + height: 650, + title: pagetitle + }); + $dialog.dialog('open'); + }); + // 메뉴이동 화면 호출 함수 + $('#popupUpperMenuId').click(function (e) { + e.preventDefault(); + //var page = $(this).attr("href"); + var pagetitle = $(this).attr("title"); + var page = "<c:url value='/sym/mnu/mpm/EgovMenuListSelectMvmnNew.do'/>"; + var $dialog = $('<div style="overflow:hidden;padding: 0px 0px 0px 0px;"></div>') + .html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>') + .dialog({ + autoOpen: false, + modal: true, + width: 610, + height: 550, + title: pagetitle + }); + $dialog.dialog('open'); + }); + }); +</script> +</head> +<body> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<form:form commandName="menuManageVO" name="menuManageVO" action ="<c:url value='/sym/mnu/mpm/EgovMenuDetailSelectUpdt.do' />" method="post"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comSymMnuMpm.menuDetailSelectUpdt.pageTop.title"/></h2><!-- 메뉴상세조회및 수정 --> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymMnuMpm.menuDetailSelectUpdt.menuNo"/> <span class="pilsu">*</span></th><!-- 메뉴No --> + <td class="left"> + <c:out value="${menuManageVO.menuNo}"/> + <form:hidden path="menuNo" /> + <form:errors path="menuNo" /> + </td> + <th><spring:message code="comSymMnuMpm.menuDetailSelectUpdt.menuOrder"/> <span class="pilsu">*</span></th><!-- 메뉴순서 --> + <td class="left"> + <form:input path="menuOrdr" maxlength="10" title="<spring:message code='comSymMnuMpm.menuDetailSelectUpdt.menuOrder'/>" cssStyle="width:50px"/><!-- 메뉴순서 --> + <form:errors path="menuOrdr" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuMpm.menuDetailSelectUpdt.menuNm"/> <span class="pilsu">*</span></th><!-- 메뉴명 --> + <td class="left"> + <form:input path="menuNm" size="30" maxlength="30" title="<spring:message code='comSymMnuMpm.menuDetailSelectUpdt.menuNm'/>"/><!-- 메뉴명 --> + <form:errors path="menuNm" /> + </td> + <th><spring:message code="comSymMnuMpm.menuDetailSelectUpdt.upperMenuId"/> <span class="pilsu">*</span></th><!-- 상위메뉴No --> + <td class="left"> + <form:input path="upperMenuId" maxlength="10" title="<spring:message code='comSymMnuMpm.menuDetailSelectUpdt.upperMenuId'/>" cssStyle="width:50px"/><!-- 상위메뉴No --> + <form:errors path="upperMenuId" /> + <a id="popupUpperMenuId" href="<c:url value='/sym/mnu/mpm/EgovMenuListSelectMvmn.do' />" target="_blank" title="<spring:message code="comSymMnuMpm.menuDetailSelectUpdt.newWindow"/>"><img src="<c:url value='/images/egovframework/com/cmm/icon/search2.gif' />" + alt='' width="15" height="15" />(<spring:message code="comSymMnuMpm.menuDetailSelectUpdt.selectMenuSearch"/>)</a><!--새창으로 --><!-- 메뉴선택 검색 --> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuMpm.menuDetailSelectUpdt.progrmFileNm"/> <span class="pilsu">*</span></th><!-- 파일명 --> + <td class="left" colspan="3"> + <form:input path="progrmFileNm" size="60" maxlength="60" title="<spring:message code='comSymMnuMpm.menuDetailSelectUpdt.progrmFileNm'/>" cssStyle="width:350px"/><!-- 파일명 --> + <form:errors path="progrmFileNm" /> + <a id="popupProgrmFileNm" href="<c:url value='/sym/prm/EgovProgramListSearch.do' />" target="_blank" title="<spring:message code="comSymMnuMpm.menuDetailSelectUpdt.newWindow"/>"><img src="<c:url value='/images/egovframework/com/cmm/icon/search2.gif' />" + alt='' width="15" height="15" />(<spring:message code="comSymMnuMpm.menuDetailSelectUpdt.programFileNameSearch"/>)</a><!-- 새창으로 이동 --><!-- 프로그램파일명 검색 --> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuMpm.menuDetailSelectUpdt.relateImageNm"/> <span class="pilsu">*</span></th><!-- 관련이미지명 --> + <td class="left"> + <form:input path="relateImageNm" size="30" maxlength="30" title="<spring:message code='comSymMnuMpm.menuDetailSelectUpdt.relateImageNm'/>"/><!-- 관련이미지명 --> + <form:errors path="relateImageNm" /> + </td> + <th><spring:message code="comSymMnuMpm.menuDetailSelectUpdt.relateImagePath"/> <span class="pilsu">*</span></th><!-- 관련이미지경로 --> + <td class="left"> + <form:input path="relateImagePath" size="30" maxlength="30" title="<spring:message code='comSymMnuMpm.menuDetailSelectUpdt.relateImagePath'/>"/><!-- 관련이미지경로 --> + <form:errors path="relateImagePath" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuMpm.menuDetailSelectUpdt.menuDc"/> <span class="pilsu">*</span></th><!-- 메뉴설명 --> + <td class="left" colspan="3"> + <form:textarea path="menuDc" rows="14" cols="75" title="<spring:message code='comSymMnuMpm.menuDetailSelectUpdt.menuDc'/>" cssStyle="height:200px"/><!-- 메뉴설명 --> + <form:errors path="menuDc"/> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.update" />' onclick="updateMenuManage(document.forms[0]); return false;" /><!-- 수정 --> + <span class="btn_s"><a href="<c:url value='/uss/ion/evt/selectEventRceptList.do'/>?menuNo=<c:out value='${menuManageVO.menuNo}'/>" onclick="deleteMenuManage(document.forms[0]); return false;"><spring:message code="button.delete" /></a></span><!-- 삭제 --> + <span class="btn_s"><a href="<c:url value='/sym/mnu/mpm/EgovMenuManageSelect.do'/>" onclick="selectList(); return false;"><spring:message code="button.list"/></a></span><!-- 목록 --> + </div> + <div style="clear:both;"></div> +</div> + +<input type="hidden" name="tmp_SearchElementName" value=""/> +<input type="hidden" name="tmp_SearchElementVal" value=""/> +<input name="cmd" type="hidden" value="update"/> +</form:form> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuDetailSelectUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuMvmn.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuMvmn.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuMvmn.jsp (revision 7) @@ -0,0 +1,133 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<% + /** + * @Class Name : EgovMenuMvmn.jsp + * @Description : 메뉴이동 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2018.09.10 신용호 표준프레임워크 v3.8 개선 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ + String imagePath_icon = "/images/egovframework/com/sym/mnu/mpm/icon/"; + String imagePath_button = "/images/egovframework/com/sym/mnu/mpm/button/"; + +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymMnuMpm.menuMvmn.title"/></title><!-- 메뉴이동 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript"> +var imgpath = "<c:url value='/images/egovframework/com/cmm/utl/'/>"; +</script> +<script language="javascript1.2" type="text/javaScript" src="<c:url value='/js/egovframework/com/sym/mnu/mpm/EgovMenuList.js' />" /></script> +<script language="javascript1.2" type="text/javaScript"> +<!-- +function selectProgramListSearch() { + progrmManageForm.submit(); +} +function choisProgramListSearch(vFileNm) { + eval("opener.document.all."+opener.document.all.tmp_SearchElementName.value).value = vFileNm; + window.close(); +} + +/* ******************************************************** + * 상세내역조회 함수 + ******************************************************** */ +function choiceNodes(nodeNum) { + var nodeValues = treeNodes[nodeNum].split("|"); + opener.document.menuManageVO.upperMenuId.value = nodeValues[4]; + window.close(); +} +/* ******************************************************** + * 조회 함수 + ******************************************************** */ +function selectMenuListTmp() { + document.menuListForm.req_RetrunPath.value = "<c:url value='/sym/mnu/mpm/EgovMenuMvmn'/>"; + document.menuListForm.action = "<c:url value='/sym/mnu/mpm/EgovMenuListSelectTmp.do'/>"; + document.menuListForm.submit(); +} +--> +</script> +</head> +<body style="overflow-x:hidden;overflow-y:auto"> +<form name="searchUpperMenuIdForm" action ="<c:url value='/sym/mnu/mpm/EgovMenuListSelectTmp.do'/>" method="post"> +<div style="visibility:hidden;display:none;"><input name="iptSubmit" type="submit" value="전송" title="전송"></div> +<input type="hidden" name="req_RetrunPath" value="/sym/mnu/mpm/EgovMenuMvmn"> +<c:forEach var="result" items="${list_menulist}" varStatus="status" > +<input type="hidden" name="tmp_menuNmVal" value="${result.menuNo}|${result.upperMenuId}|${result.menuNm}|${result.progrmFileNm}|${result.menuNo}|${result.menuOrdr}|${result.menuNm}|${result.upperMenuId}|${result.menuDc}|${result.relateImagePath}|${result.relateImageNm}|${result.progrmFileNm}|"> +</c:forEach> + +<div class="wTableFrm" style="width:580px"> + <!-- 타이틀 --> + <h2><spring:message code="comSymMnuMpm.menuMvmn.pageTop.title"/></h2><!-- 메뉴이동 --> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymMnuMpm.menuMvmn.menuNo"/></th><!-- 이동할메뉴명 --> + <td class="left"> + <input name="progrmFileNm" type="text" size="30" value="" maxlength="60" title="<spring:message code="comSymMnuMpm.menuMvmn.menuNo"/>"/> + </td> + </tr> + </table> + + <div style="clear:both;"></div> +</div> + +<DIV id="main" style="display:"> + +<table width="570" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td height="10">&nbsp;</td> + </tr> +</table> + +<table width="570" cellpadding="8" class="table-line"> + <tr> + <td> + <div class="tree" style="width:400px;"> + <script language="javascript" type="text/javaScript"> + + var Tree = new Array; + + if ( typeof document.searchUpperMenuIdForm.req_RetrunPath == "object" + && typeof document.searchUpperMenuIdForm.tmp_menuNmVal == "object" + && document.searchUpperMenuIdForm.tmp_menuNmVal.length > 0 ) { + for (var j = 0; j < document.searchUpperMenuIdForm.tmp_menuNmVal.length; j++) { + Tree[j] = document.searchUpperMenuIdForm.tmp_menuNmVal[j].value; + } + createTree(Tree, true); + }else{ + alert("<spring:message code="comSymMnuMpm.menuMvmn.validate.alert.menu"/>"); + window.close(); + } + </script> + </div> + </td> + </tr> +</table> +</DIV> + +</form> +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuMvmn.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuList.jsp (revision 7) @@ -0,0 +1,387 @@ +<!DOCTYPE html> + +<%-- + /** + * @Class Name : EgovMenuList.jsp + * @Description : 메뉴목록 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2013.10.04 이기하 메뉴트리 위치 변경 + * 2018.09.10 신용호 표준프레임워크 v3.8 개선 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + + /* Image Path 설정 */ +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<% +//String imagePath_icon = "/images/egovframework/com/sym/mnu/mpm/icon/"; +//String imagePath_button = "/images/egovframework/com/sym/mnu/mpm/button/"; +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title><spring:message code="comSymMnuMpm.menuList.title" /></title> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value="/validator.do" />"></script> +<script type="text/javascript"> +var imgpath = "<c:url value='/images/egovframework/com/cmm/utl/'/>"; +</script> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> + +<script language="javascript1.2" type="text/javaScript" src="<c:url value='/js/egovframework/com/sym/mnu/mpm/EgovMenuList.js' />"></script> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 메뉴등록 처리 함수 + ******************************************************** */ +function insertMenuList() { + if(!fn_validatorMenuList()){return;} + if(document.menuManageVO.tmp_CheckVal.value == "U"){alert("<spring:message code="comSymMnuMpm.menuList.validate.checkVal" />"); return;} //상세조회시는 수정혹은 삭제만 가능합니다. + document.menuManageVO.action = "<c:url value='/sym/mnu/mpm/EgovMenuListInsert.do'/>"; + menuManageVO.submit(); + +} + +/* ******************************************************** + * 메뉴수정 처리 함수 + ******************************************************** */ +function updateMenuList() { + if(!fn_validatorMenuList()){return;} + if(document.menuManageVO.tmp_CheckVal.value != "U"){alert("<spring:message code="comSymMnuMpm.menuList.validate.checkVal.update" />"); return;} //상세조회시는 수정혹은 삭제만 가능합니다. 초기화 하신 후 등록하세요. + document.menuManageVO.action = "<c:url value='/sym/mnu/mpm/EgovMenuListUpdt.do'/>"; + menuManageVO.submit(); +} + +/* ******************************************************** + * 메뉴삭제 처리 함수 + ******************************************************** */ +function deleteMenuList() { + if(!fn_validatorMenuList()){return;} + if(document.menuManageVO.tmp_CheckVal.value != "U"){alert("<spring:message code="comSymMnuMpm.menuList.validate.checkVal" />"); return;} //상세조회시는 수정혹은 삭제만 가능합니다. + document.menuManageVO.action = "<c:url value='/sym/mnu/mpm/EgovMenuListDelete.do'/>"; + menuManageVO.submit(); +} + +/* ******************************************************** + * 메뉴리스트 조회 함수 + ******************************************************** */ +function selectMenuList() { + document.menuManageVO.action = "<c:url value='/sym/mnu/mpm/EgovMenuListSelect.do'/>"; + document.menuManageVO.submit(); +} + +/* ******************************************************** + * 초기화 함수 + ******************************************************** */ +function initlMenuList() { + document.menuManageVO.menuNo.value=""; + document.menuManageVO.menuOrdr.value=""; + document.menuManageVO.menuNm.value=""; + document.menuManageVO.upperMenuId.value=""; + document.menuManageVO.menuDc.value=""; + document.menuManageVO.relateImagePath.value=""; + document.menuManageVO.relateImageNm.value=""; + document.menuManageVO.progrmFileNm.value=""; + document.menuManageVO.menuNo.readOnly=false; + document.menuManageVO.tmp_CheckVal.value = ""; +} + +/* ******************************************************** + * 조회 함수 + + ******************************************************** */ +function selectMenuListTmp() { + document.menuManageVO.req_RetrunPath.value = "/sym/mnu/mpm/EgovMenuList"; + document.menuManageVO.action = "<c:url value='/sym/mnu/mpm/EgovMenuListSelectTmp.do'/>"; + document.menuManageVO.submit(); +} + +/* ******************************************************** + * 상세내역조회 함수 + ******************************************************** */ + function choiceNodes(nodeNum) { + var nodeValues = treeNodes[nodeNum].split("|"); + document.menuManageVO.menuNo.value = nodeValues[4]; + document.menuManageVO.menuOrdr.value = nodeValues[5]; + document.menuManageVO.menuNm.value = nodeValues[6]; + document.menuManageVO.upperMenuId.value = nodeValues[7]; + document.menuManageVO.menuDc.value = nodeValues[8]; + document.menuManageVO.relateImagePath.value = nodeValues[9]; + document.menuManageVO.relateImageNm.value = nodeValues[10]; + document.menuManageVO.progrmFileNm.value = nodeValues[11]; + document.menuManageVO.menuNo.readOnly=true; + document.menuManageVO.tmp_CheckVal.value = "U"; +} + +/* ******************************************************** + * 입력값 validator 함수 + ******************************************************** */ +function fn_validatorMenuList() { + + if(document.menuManageVO.menuNo.value == ""){alert("<spring:message code="comSymMnuMpm.menuList.validate.menuNo.notNull" />"); return false;} //메뉴번호는 Not Null 항목입니다. + if(!checkNumber(document.menuManageVO.menuNo.value)){alert("<spring:message code="comSymMnuMpm.menuList.validate.menuNo.onlyNumber" />"); return false;} //메뉴번호는 숫자만 입력 가능합니다. + + if(document.menuManageVO.menuOrdr.value == ""){alert("<spring:message code="comSymMnuMpm.menuList.validate.menuOrdr.notNull" />"); return false;} //메뉴순서는 Not Null 항목입니다. + if(!checkNumber(document.menuManageVO.menuOrdr.value)){alert("<spring:message code="comSymMnuMpm.menuList.validate.menuOrdr.onlyNumber" />"); return false;} //메뉴순서는 숫자만 입력 가능합니다. + + if(document.menuManageVO.upperMenuId.value == ""){alert("<spring:message code="comSymMnuMpm.menuList.validate.upperMenuId.notNull" />"); return false;} //상위메뉴번호는 Not Null 항목입니다. + if(!checkNumber(document.menuManageVO.upperMenuId.value)){alert("<spring:message code="comSymMnuMpm.menuList.validate.upperMenuId.onlyNumber" />"); return false;} //상위메뉴번호는 숫자만 입력 가능합니다. + + if(document.menuManageVO.progrmFileNm.value == ""){alert("<spring:message code="comSymMnuMpm.menuList.validate.progrmFileNm.notNull" />"); return false;} //프로그램파일명은 Not Null 항목입니다. + if(document.menuManageVO.menuNm.value == ""){alert("<spring:message code="comSymMnuMpm.menuList.validate.menuNm.notNull" />"); return false;} //메뉴명은 Not Null 항목입니다. + + return true; +} + +/* ******************************************************** + * 필드값 Number 체크 함수 + ******************************************************** */ +function checkNumber(str) { + var flag=true; + if (str.length > 0) { + for (i = 0; i < str.length; i++) { + if (str.charAt(i) < '0' || str.charAt(i) > '9') { + flag=false; + } + } + } + return flag; +} +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> +<script type="text/javascript"> + $(document).ready(function () { + // 파일검색 화면 호출 함수 + $('#popupProgrmFileNm').click(function (e) { + e.preventDefault(); + //var page = $(this).attr("href"); + var pagetitle = $(this).attr("title"); + var page = "<c:url value='/sym/prm/EgovProgramListSearchNew.do'/>"; + var $dialog = $('<div></div>') + .html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>') + .dialog({ + autoOpen: false, + modal: true, + width: 550, + height: 650, + title: pagetitle + }); + $dialog.dialog('open'); + }); + // 메뉴이동 화면 호출 함수 + $('#popupUpperMenuId').click(function (e) { + e.preventDefault(); + //var page = $(this).attr("href"); + var pagetitle = $(this).attr("title"); + var page = "<c:url value='/sym/mnu/mpm/EgovMenuListSelectMvmnNew.do'/>"; + var $dialog = $('<div style="overflow:hidden;padding: 0px 0px 0px 0px;"></div>') + .html('<iframe style="border: 0px; " src="' + page + '" width="100%" height="100%"></iframe>') + .dialog({ + autoOpen: false, + modal: true, + width: 600, + height: 550, + title: pagetitle + }); + $dialog.dialog('open'); + }); + }); +</script> + +</head> +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<div id="border" style="width:730px"> +<table border="0"> + <tr> + <td width="700"> +<!-- ********** 여기서 부터 본문 내용 *************** --> + + +<form name="menuManageVO" action ="<c:url value='/sym/mnu/mpm/EgovMenuListInsert.do' />" method="post"> +<input type="hidden" name="req_RetrunPath" value="/sym/mnu/mpm/EgovMenuList"> + +<div class="board"> + <h1 style="background-position:left 3px"><spring:message code="comSymMnuMpm.menuList.pageTop.title" /></h1><!-- 메뉴 목록 --> + + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"><!-- 이 레이아웃은 하단 정보를 대한 검색 정보로 구성되어 있습니다. --> + <ul> + <li> + <span class="btn_b"><a href="<c:url value='/sym/mnu/mpm/EgovMenuListSelect.do'/>" onclick="initlMenuList(); return false;" title="<spring:message code="button.init" />"><spring:message code="button.init" /></a></span><!-- 초기화 --> + <input class="s_btn" type="submit" value='<spring:message code="button.save" />' title='<spring:message code="button.save" />' onclick="insertMenuList(); return false;" /> + <span class="btn_b"><a href="#LINK" onclick="updateMenuList(); return false;" title='<spring:message code="button.update" />'><spring:message code="button.update" /></a></span> + <span class="btn_b"><a href="#LINK" onclick="deleteMenuList(); return false;" title='<spring:message code="button.delete" />'><spring:message code="button.delete" /></a></span> + </li> + </ul> + </div> +</div> + + + +<div id="main" style="display:"> + +<%-- <table width="717" cellpadding="8" class="table-search" border="0"> + <tr> + <td width="100%" class="title_left"> + <h1><img src="<c:url value='/images/egovframework/com/cmm/icon/tit_icon.gif' />" width="16" height="16" hspace="3" alt="">&nbsp;메뉴 목록</h1></td> + </tr> +</table> --%> + + +<table> + <colgroup> + <col style="width:240px" /> + <col style="" /> + </colgroup> + <tr> + <td style="vertical-align:top"> + <c:forEach var="result" items="${list_menulist}" varStatus="status" > + <input type="hidden" name="tmp_menuNmVal" value="${result.menuNo}|${result.upperMenuId}|${result.menuNm}|${result.progrmFileNm}|${result.menuNo}|${result.menuOrdr}|${result.menuNm}|${result.upperMenuId}|${result.menuDc}|${result.relateImagePath}|${result.relateImageNm}|${result.progrmFileNm}|"> + </c:forEach> + + <div class="tree" style="overflow:scroll; width:218px; height:383px; padding:5px; border:1px solid #ddd"> + <script language="javascript" type="text/javaScript"> + var chk_Object = true; + var chk_browse = ""; + if (eval(document.menuManageVO.req_RetrunPath)=="[object]") chk_browse = "IE"; + if (eval(document.menuManageVO.req_RetrunPath)=="[object NodeList]") chk_browse = "Fox"; + if (eval(document.menuManageVO.req_RetrunPath)=="[object Collection]") chk_browse = "safai"; + + var Tree = new Array; + if(chk_browse=="IE"&&eval(document.menuManageVO.tmp_menuNmVal)!="[object]"){ + alert("<spring:message code="comSymMnuMpm.menuList.validate.chkBrowse" />"); //메뉴 목록 데이타가 존재하지 않습니다. + chk_Object = false; + } + if(chk_browse=="Fox"&&eval(document.menuManageVO.tmp_menuNmVal)!="[object NodeList]"){ + alert("<spring:message code="comSymMnuMpm.menuList.validate.chkBrowse" />"); //메뉴 목록 데이타가 존재하지 않습니다. + chk_Object = false; + } + if(chk_browse=="safai"&&eval(document.menuManageVO.tmp_menuNmVal)!="[object Collection]"){ + alert("<spring:message code="comSymMnuMpm.menuList.validate.chkBrowse" />"); //메뉴 목록 데이타가 존재하지 않습니다. + chk_Object = false; + } + if( chk_Object ){ + for (var j = 0; j < document.menuManageVO.tmp_menuNmVal.length; j++) { + Tree[j] = document.menuManageVO.tmp_menuNmVal[j].value; + } + createTree(Tree); + }else{ + alert("<spring:message code="comSymMnuMpm.menuList.validate.chkObject" />"); //메뉴가 존재하지 않습니다. 메뉴 등록 후 사용하세요. + } + </script> + </div> + </td> + <%-- <td width="*" class="title_left"> + <table border="0" cellspacing="0" cellpadding="0" align="left"> + <tr> + <td width="90%"></td> + <td><span class="button"><a href="<c:url value='/sym/mnu/mpm/EgovMenuListSelect.do'/>" onclick="initlMenuList(); return false;">초기화</a></span></td> + <td width="2%"></td> + <td><span class="button"><input type="submit" value="<spring:message code="button.save" />" onclick="insertMenuList(); return false;"></span></td> + <td width="2%"></td> + <td><span class="button"><a href="#LINK" onclick="updateMenuList(); return false;"><spring:message code="button.update" /></a></span></td> + <td width="2%"></td> + <td><span class="button"><a href="#LINK" onclick="deleteMenuList(); return false;"><spring:message code="button.delete" /></a></span></td> + </tr> + </table> + </td> --%> + <td style="vertical-align:top"> + + <table class="wTable" > + <colgroup> + <col style="width:30%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymMnuMpm.menuList.menuNo" /> <span class="pilsu">*</span></th><!-- 메뉴No --> + <td class="left"> + <input name="menuNo" type="text" value="" maxlength="10" title="<spring:message code="comSymMnuMpm.menuList.menuNo" />" style="width:68px"/> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuMpm.menuList.menuOrdr" /> <span class="pilsu">*</span></th><!-- 메뉴순서 --> + <td class="left"> + <input name="menuOrdr" type="text" value="" maxlength="10" title="<spring:message code="comSymMnuMpm.menuList.menuOrdr" />" style="width:68px"/> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuMpm.menuList.menuNm" /> <span class="pilsu">*</span></th><!-- 메뉴명 --> + <td class="left"> + <input name="menuNm" type="text" size="30" value="" maxlength="30" title="<spring:message code="comSymMnuMpm.menuList.menuNm" />"> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuMpm.menuList.upperMenuId" /> <span class="pilsu">*</span></th><!-- 상위메뉴No --> + <td class="left"> + <input name="upperMenuId" type="text" value="" maxlength="10" title="<spring:message code="comSymMnuMpm.menuList.upperMenuId" />" style="width:190px"/> + <a id="popupUpperMenuId" href="/sym/mnu/mpm/EgovMenuListSelectMvmn.do" target="_blank" title="<spring:message code="comSymMnuMpm.menuList.upperMenuId" />" style="selector-dummy:expression(this.hideFocus=false);"><img src="<c:url value='/images/egovframework/com/cmm/icon/search2.gif' />" + alt='' width="15" height="15" />(<spring:message code="comSymMnuMpm.menuList.mvmnMenuList" />)</a><!-- 메뉴선택 검색 --> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuMpm.menuList.progrmFileNm" /> <span class="pilsu">*</span></th><!-- 파일명 --> + <td class="left"> + <input name="progrmFileNm" type="text" size="30" value="" maxlength="60" title="<spring:message code="comSymMnuMpm.menuList.progrmFileNm" />" style="width:190px"/> + <a id="popupProgrmFileNm" href="/sym/prm/EgovProgramListSearch.do" target="_blank" title="<spring:message code="comSymMnuMpm.menuList.progrmFileNm" />" style="selector-dummy:expression(this.hideFocus=false);"><img src="<c:url value='/images/egovframework/com/cmm/icon/search2.gif' />" + alt='' width="15" height="15" />(<spring:message code="comSymMnuMpm.menuList.searchFileNm" />)</a> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuMpm.menuList.relateImageNm" /> <span class="pilsu">*</span></th><!-- 관련이미지명 --> + <td width="70%" nowrap> + <input name="relateImageNm" type="text" size="30" value="" maxlength="30" title="<spring:message code="comSymMnuMpm.menuList.relateImageNm" />"> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuMpm.menuList.relateImagePath" /> <span class="pilsu">*</span></th><!-- 관련이미지경로 --> + <td> + <input name="relateImagePath" type="text" size="30" value="" maxlength="60" title="<spring:message code="comSymMnuMpm.menuList.relateImagePath" />"> + </td> + </tr> + <tr> + <th><spring:message code="comSymMnuMpm.menuList.menuDc" /></th><!-- 메뉴설명 --> + <td width="70%"> + &nbsp; <textarea name="menuDc" class="textarea" cols="45" rows="8" style="width:350px;" title="<spring:message code="comSymMnuMpm.menuList.menuDc" />"></textarea> + </td> + </tr> + </table> + + </td> + </tr> +</table> + + <input type="hidden" name="tmp_SearchElementName" value=""> + <input type="hidden" name="tmp_SearchElementVal" value=""> + <input type="hidden" name="tmp_CheckVal" value=""> +</div> + +</form> + +<!-- ********** 여기까지 내용 *************** --> +</td> +</tr> +</table> +</DIV> +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/mpm/EgovMenuList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/stm/EgovSiteMap.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/stm/EgovSiteMap.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/stm/EgovSiteMap.jsp (revision 7) @@ -0,0 +1,169 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovSiteMap.jsp + * @Description : 사이트맵 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ + + /* Image Path 설정 */ +// String imagePath_icon = "/images/egovframework/com/sym/mnu/stm/icon/"; +// String imagePath_button = "/images/egovframework/com/sym/mnu/stm/button/"; +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<link rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />" type="text/css"> +<link rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />" type="text/css"> +<title>메뉴생성</title> +<style type="text/css"> + h1 {font-size:12px;} + caption {visibility:hidden; font-size:0; height:0; margin:0; padding:0; line-height:0;} +</style> +<script type="text/javascript"> +var imgpath = "<c:url value='/images/egovframework/com/cmm/utl/'/>"; +</script> +<script language="javascript1.2" type="text/javaScript" src="<c:url value='/js/egovframework/com/sym/mnu/mcm/EgovMenuCreatSiteMap.js' />" /></script> +<script language="javascript1.2" type="text/javaScript"> +<!-- + + +/* ******************************************************** + * 메뉴 호출 함수 + ******************************************************** */ +function fCallUrl(url) { + + window.open(url,'dokdo','width=800,height=600,menubar=no,toolbar=no,location=no,resizable=no,status=no,scrollbars=no,top=300,left=700'); +} + +/* ******************************************************** + * 조회 함수 + ******************************************************** */ +function selectMenuCreatTmp() { + document.menuCreatManageForm.action = "<c:url value='/sym/mnu/mcm/EgovMenuCreatSelect.do'/>"; + document.menuCreatManageForm.submit(); +} + +/* ******************************************************** + * 멀티입력 처리 함수 + ******************************************************** */ +function fInsertMenuCreat() { + var checkField = document.menuCreatManageForm.checkField; + var checkMenuNos = ""; + var checkedCount = 0; + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + if(checkField[i].checked) { + checkMenuNos += ((checkedCount==0? "" : ",") + checkField[i].value); + checkedCount++; + } + } + } else { + if(checkField.checked) { + checkMenuNos = checkField.value; + } + } + } + document.menuCreatManageForm.checkedMenuNoForInsert.value=checkMenuNos; + document.menuCreatManageForm.checkedAuthorForInsert.value=document.menuCreatManageForm.authorCode.value; + document.menuCreatManageForm.action = "<c:url value='/sym/mnu/mcm/EgovMenuCreatInsert.do'/>"; + document.menuCreatManageForm.submit(); +} +/* ******************************************************** + * 메뉴사이트맵 생성 화면 호출 + ******************************************************** */ +function fMenuCreatSiteMap() { + id = document.menuCreatManageForm.authorCode.value; + window.open("<c:url value='/sym/mnu/mcm/EgovMenuCreatSiteMapSelect.do'/>?authorCode="+id,'Pop_SiteMap','scrollbars=yes, width=550, height=700'); +} +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> + +</head> +<body> +<form name="menuCreatManageForm" action ="<c:url value='/sym/mnu/mcm/EgovMenuCreatSelect.do' />" method="post"> +<div style="visibility:hidden;display:none;"><input name="iptSubmit" type="submit" value="전송" title="전송"></div> +<input name="checkedMenuNoForInsert" type="hidden" /> +<input name="checkedAuthorForInsert" type="hidden" /> + +<DIV id="main" style="display:width:700px;"> + + + +<table width="717" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td height="10"> + <c:forEach var="result1" items="${list_menulist}" varStatus="status" > + <input type="hidden" name="tmp_menuNmVal" value="${result1.menuNo}|${result1.upperMenuId}|${result1.menuNm}|${result1.menuOrdr}|${result1.chkURL}|"> + </c:forEach> + </td> + </tr> +</table> +<table width="717" cellpadding="8" class="table-line" summary="메뉴목록"> + <caption>메뉴목록</caption> + <tr> + <td width='20'>&nbsp;</td> + <td> + <div class="tree" style="width:700px;"> + <script language="javascript" type="text/javaScript"> + var chk_Object = true; + var chk_browse = ""; + if (eval(document.menuCreatManageForm.authorCode)=="[object]") chk_browse = "IE"; + if (eval(document.menuCreatManageForm.authorCode)=="[object NodeList]") chk_browse = "Fox"; + if (eval(document.menuCreatManageForm.authorCode)=="[object Collection]") chk_browse = "safai"; + + var Tree = new Array; + if(chk_browse=="IE"&&eval(document.menuCreatManageForm.tmp_menuNmVal)!="[object]"){ + alert("메뉴 목록 데이타가 존재하지 않습니다."); + chk_Object = false; + } + if(chk_browse=="Fox"&&eval(document.menuCreatManageForm.tmp_menuNmVal)!="[object NodeList]"){ + alert("메뉴 목록 데이타가 존재하지 않습니다."); + chk_Object = false; + } + if(chk_browse=="safai"&&eval(document.menuCreatManageForm.tmp_menuNmVal)!="[object Collection]"){ + alert("메뉴 목록 데이타가 존재하지 않습니다."); + chk_Object = false; + } + if( chk_Object ){ + for (var j = 0; j < document.menuCreatManageForm.tmp_menuNmVal.length; j++) { + Tree[j] = document.menuCreatManageForm.tmp_menuNmVal[j].value; + } + createTree(Tree); + }else{ + alert("메뉴가 존재하지 않습니다. 메뉴 등록 후 사용하세요."); + window.close(); + } + </script> + </div> + </td> + <td> + + </td> + </tr> +</table> + +</DIV> +<input type="hidden" name="req_menuNo"> +</form> +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/stm/EgovSiteMap.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/stm/EgovSiteMapng.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/stm/EgovSiteMapng.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/stm/EgovSiteMapng.jsp (revision 7) @@ -0,0 +1,80 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> + +<% + /** + * @Class Name : EgovSiteMapng.jsp + * @Description : 사이트맵 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2011.07.29 서준식 사이트 맵 생성이 안되었을 때 발생하는 오류 수정 + * 2018.10.11 이정은 공통컴포넌트 3.8 개선(사이트 맵 생성이 안되었을 때 안내 메시지 추가, 다국어처리, 퍼블리싱) + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + +%> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<title><spring:message code="comSymMnuStm.siteMapng.siteMap"/></title><!-- 사이트맵 --> +<!-- <style type="text/css"> +.location{ font-family:"돋움"; font-size:8pt; color:#6d6d6d ;padding-top:1px; padding-left:3px; + vertical-align: middle; text-dacoration: none} +</style> --> +<script language="javascript1.2"> +<!-- +/* ******************************************************** + * 조회 함수 + ******************************************************** */ +function fSiteMapng() { + document.siteMapngForm.action = "<c:url value='/sym/mnu/stm/EgovSiteMapng.do'/>"; + document.siteMapngForm.submit(); +} +/* ******************************************************** + * Url Call 함수 + ******************************************************** */ +function fCallUrl(fURL){ + var vPath = "<c:url value='/'/>" +fURL; + window.location = vPath.replace("//","/"); +} +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> +</head> +<body> + +<title><spring:message code="comSymMnuStm.siteMapng.siteMap"/></title><!-- 사이트맵 --> + + +<div class="wTableFrm"> +<form name="siteMapngForm" action ="javascript:fSiteMapng()" method="post"> +<!-- 타이틀 --> +<h2><spring:message code="comSymMnuStm.siteMapng.siteMap"/></h2><!-- 사이트맵 --> +<!-- 가로배열 --> +<table> + <tr> + <input type="hidden" name="scrtyId" value=""> + <c:if test="${!empty resultVO.bndeFileNm}"> + <c:import url="${fn:trim(resultVO.bndeFileNm)}" /> + </c:if> + <c:if test="${empty resultVO.bndeFileNm}"> + <span><spring:message code="comSymMnuStm.siteMapng.emptySiteMap"/></span> + <!-- 1100.메뉴생성관리 > [메뉴생성]클릭 > 목록에서 체크선택 > [메뉴생성]클릭 > [사이트맵생성] 클릭 > 팝업에서 [사이트맵생성]클릭 과정을 거쳐야 사이트맵 생성이 됩니다. --> + </c:if> + </tr> +</table> +</div> +</form> +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/mnu/stm/EgovSiteMapng.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangRequstDetailSelectUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangRequstDetailSelectUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangRequstDetailSelectUpdt.jsp (revision 7) @@ -0,0 +1,212 @@ +<!DOCTYPE html> +<%-- + /** + * @Class Name : EgovProgramChangRequstDetailSelectUpdt.jsp + * @Description : 프로그램변경요청 상세조회및 수정 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2018.09.04 신용호 공통컴포넌트 3.8 개선 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ + //String imagePath_icon = "/images/egovframework/com/sym/prm/icon/"; + //String imagePath_button = "/images/egovframework/com/sym/prm/button/"; +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="ImgUrl" value="/images/egovframework/com/sym/prm/"/> +<c:set var="CssUrl" value="/css/egovframework/com/sym/prm/"/> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.title"/></title><!-- 프로그램변경요청 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value="/validator.do" />"></script> +<validator:javascript formName="progrmManageDtlVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 파일검색 화면 호출 함수 + ******************************************************** */ +function searchFileNm() { + document.progrmChangeRequstForm.tmp_SearchElementName.value = "progrmFileNm"; + window.open("<c:url value='/sym/prm/EgovProgramListSearch.do' />",'','width=500,height=600'); +} + +/* ******************************************************** + * 수정 처리 함수 + ******************************************************** */ +function updateProgrmChangeRequst(form) { + if(confirm("<spring:message code="common.save.msg"/>")){ + if(!validateProgrmManageDtlVO(form)){ + return; + }else{ + form.action ="<c:url value='/sym/prm/EgovProgramChangRequstDetailSelectUpdt.do'/>"; + form.submit(); + } + } +} + + +/* ******************************************************** + * 삭제처리 함수 + ******************************************************** */ +function deleteProgrmChangeRequst(form) { + form.action = "<c:url value='/sym/prm/EgovProgramChangRequstDelete.do'/>"; + form.submit(); +} + +/* ******************************************************** + * 목록조회 처리 함수 + ******************************************************** */ +function selectList(){ + location.href = "<c:url value='/sym/prm/EgovProgramChangeRequstSelect.do' />"; +} + +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> +</head> +<body> +<c:set var="vrqesterSj"><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.rqesterSj"/></c:set> +<c:set var="vchangerqesterCn"><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.changerqesterCn"/></c:set> +<c:set var="vrqesterProcessCn"><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.rqesterProcessCn"/></c:set> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg"/></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<form:form commandName="progrmManageDtlVO" method="post"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.pageTop.title"/></h2><!-- 프로그램변경요청 상세조회 /수정 --> + + <!-- 등록폼 --> + <h2 class="tit02" style="margin:0 0 10px 0"><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.title.sub1"/></h2><!-- 변경요청내역 --> + <table class="wTable mb20"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.rqesterNo"/> <span class="pilsu">*</span></th><!-- 요청번호 --> + <td class="left"> + <c:out value="${progrmManageDtlVO.rqesterNo}"/> + <form:hidden path="rqesterNo" /> + <form:errors path="rqesterNo" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.progrmFileNm"/> <span class="pilsu">*</span></th><!-- 프로그램파일명 --> + <td class="left"> + <c:out value="${progrmManageDtlVO.progrmFileNm}"/> + <form:hidden path="progrmFileNm" /> + <form:errors path="progrmFileNm" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.rqesterPersonId"/> <span class="pilsu">*</span></th><!-- 요청자ID --> + <td class="left"> + <c:out value="${progrmManageDtlVO.rqesterPersonId}"/> + <form:hidden path="rqesterPersonId" /> + <form:errors path="rqesterPersonId" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.rqesterDe"/> <span class="pilsu">*</span></th><!-- 요청일자 --> + <td class="left"> + <c:out value="${progrmManageDtlVO.rqesterDe}"/> + <form:hidden path="rqesterDe" /> + <form:errors path="rqesterDe" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.rqesterSj"/> <span class="pilsu">*</span></th><!-- 요청제목 --> + <td class="left"> + <form:input path="rqesterSj" size="60" maxlength="60" title="${vrqesterSj}"/> + <form:errors path="rqesterSj" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.changerqesterCn"/> </th><!-- 변경요청내용 --> + <td class="left"> + <form:textarea path="changerqesterCn" rows="4" cols="75" title="${vchangerqesterCn}"/><!-- 변경요청내용 --> + <form:errors path="changerqesterCn"/> + </td> + </tr> + </table> + + <h2 class="tit02" style="margin:0 0 10px 0"><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.title.sub2"/></h2><!-- 변경처리내역 --> + <table class="wTable"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.processDe"/> <span class="pilsu">*</span></th><!-- 변경처리일자 --> + <td class="left"> + <c:out value="${progrmManageDtlVO.processDe}"/> + <form:hidden path="processDe" /> + <form:errors path="processDe" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.opetrId"/> <span class="pilsu">*</span></th><!-- 변경처리자 --> + <td class="left"> + <c:out value="${progrmManageDtlVO.opetrId}"/> + <form:hidden path="opetrId" /> + <form:errors path="opetrId" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.processSttus"/> <span class="pilsu">*</span></th><!-- 변경처리상태 --> + <td class="left"> + <c:if test="${empty progrmManageDtlVO.processSttus}">N/A</c:if> + <c:if test="${progrmManageDtlVO.processSttus == 'A'}"><spring:message code="comSymPrm.programChangeRequst.processSttusA"/></c:if><!-- 신청중 --> + <c:if test="${progrmManageDtlVO.processSttus == 'P'}"><spring:message code="comSymPrm.programChangeRequst.processSttusP"/></c:if><!-- 진행중 --> + <c:if test="${progrmManageDtlVO.processSttus == 'R'}"><spring:message code="comSymPrm.programChangeRequst.processSttusR"/></c:if><!-- 반려 --> + <c:if test="${progrmManageDtlVO.processSttus == 'C'}"><spring:message code="comSymPrm.programChangeRequst.processSttusC"/></c:if><!-- 처리완료 --> + <form:hidden path="processSttus" /> + <form:errors path="processSttus" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstDetailSelectUpdt.rqesterProcessCn"/></th><!-- 변경처리내용 --> + <td class="left"> + <textarea id="rqesterProcessCn" name="rqesterProcessCn" rows="4" readonly cols="75" title="${vrqesterProcessCn}">${progrmManageDtlVO.rqesterProcessCn }</textarea><!-- 변경처리내용 --> + <form:errors path="rqesterProcessCn"/> + </td> + </tr> + </table> + + + <!-- 하단 버튼 --> + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/sym/prm/EgovProgramChangeRequstSelect.do'/>" onclick="selectList(); return false;"><spring:message code="button.list"/></a></span><!-- 목록 --> + <input class="s_submit" type="submit" value='<spring:message code="button.update" />' onclick="updateProgrmChangeRequst(document.forms[0]); return false;" /><!-- 수정 --> + <span class="btn_s"><a href="#LINK" onclick="deleteProgrmChangeRequst(document.forms[0]); return false;"><spring:message code="button.delete"/></a></span><!-- 삭제 --> + </div> + <div style="clear:both;"></div> +</div> + +<input type="hidden" name="tmp_SearchElementName" value=""> +<input type="hidden" name="tmp_SearchElementVal" value=""> + +</form:form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangRequstDetailSelectUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovFileNmSearch.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovFileNmSearch.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovFileNmSearch.jsp (revision 7) @@ -0,0 +1,121 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovFileNmSearch.jsp + * @Description : 프로그램파일명 검색 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2011.10.18 서준식 프로그램파일명 검색 결과를 부모창으로 넘겨주는 자바스크립트 수정(브라우저 호환성 문제로 수정함) + + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ + String imagePath_icon = "/images/egovframework/com/sym/prm/icon/"; + String imagePath_button = "/images/egovframework/com/sym/prm/button/"; +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title><spring:message code="comSymPrm.fileNmSearch.title"/></title><!-- 프로그램파일명 검색 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/jquery-1.4.2.min.js' />" ></script> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 페이징 처리 함수 + ******************************************************** */ +function linkPage(pageNo){ + document.progrmManageForm.pageIndex.value = pageNo; + document.progrmManageForm.action = "<c:url value='/sym/prm/EgovProgramListSearch.do'/>"; + document.progrmManageForm.submit(); +} + +/* ******************************************************** + * 조회 처리 함수 + ******************************************************** */ +function selectProgramListSearch() { + document.progrmManageForm.pageIndex.value = 1; + document.progrmManageForm.action = "<c:url value='/sym/prm/EgovProgramListSearch.do'/>"; + document.progrmManageForm.submit(); +} + +/* ******************************************************** + * 프로그램목록 선택 처리 함수 + ******************************************************** */ +function choisProgramListSearch(vFileNm) { + //eval("opener.document.all."+opener.document.all.tmp_SearchElementName.value).value = vFileNm; + //opener.document.menuManageVO.progrmFileNm.value = vFileNm; + var parentFrom = opener.document.getElementsByTagName('form'); + parentFrom[0].progrmFileNm.value = vFileNm; + window.close(); +} +--> +</script> +</head> +<body> +<form name="progrmManageForm" action ="<c:url value='/sym/prm/EgovProgramListSearch.do'/>" method="post"> +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + +<div class="board" style="width:480px"> + <h1><spring:message code="comSymPrm.fileNmSearch.pageTop.title"/></h1><!-- 프로그램파일명 검색 --> + + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"><!-- 이 레이아웃은 하단 정보를 대한 검색 정보로 구성되어 있습니다. --> + <ul> + <li> + <label for=""><spring:message code="comSymPrm.fileNmSearch.progrmFileNm"/> : </label><!-- 프로그램파일명 --> + <input class="s_input2 vat" name="searchKeyword" type="text" value="" size="30" maxlength="60" title="<spring:message code="title.searchCondition"/>" /><!-- 검색조건 --> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title="<spring:message code="title.inquire"/>" onclick="selectProgramListSearch(); return false;" /><!-- 조회 --> + </li> + </ul> + </div> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:50%" /> + <col style="width:50%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comSymPrm.fileNmSearch.progrmFileNm"/></th><!-- 프로그램파일명 --> + <th scope="col"><spring:message code="comSymPrm.fileNmSearch.progrmNm"/></th><!-- 프로그램명 --> + </tr> + </thead> + <tbody> + <c:forEach var="result" items="${list_progrmmanage}" varStatus="status"> + <tr> + <td> + <span class="link"><a href="#LINK" onclick="choisProgramListSearch('<c:out value="${result.progrmFileNm}"/>'); return false;"> + <c:out value="${result.progrmFileNm}"/></a></span></td> + <td><c:out value="${result.progrmKoreanNm}"/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> +</div> + +</form> +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovFileNmSearch.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangeRequstProcess.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangeRequstProcess.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangeRequstProcess.jsp (revision 7) @@ -0,0 +1,214 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovProgramChangeRequstProcess.jsp + * @Description : 프로그램변경요청처리 조회 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2018.09.04 신용호 공통컴포넌트 3.8 개선 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ + String imagePath_icon = "/images/egovframework/com/sym/prm/icon/"; + String imagePath_button = "/images/egovframework/com/sym/prm/button/"; +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymPrm.programChangeRequstProcess.title"/></title><!-- 프로그램변경요청처리 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<script language="javascript1.2" type="text/javaScript"> +<!-- +function initCalendar(){ + + $("#searchKeywordFrom").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + $("#searchKeywordTo").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + +} + +/* ******************************************************** + * 페이징 처리 함수 + ******************************************************** */ +function linkPage(pageNo){ + document.programChangeRequstProcessListForm.pageIndex.value = pageNo; + document.programChangeRequstProcessListForm.action = "<c:url value='/sym/prm/EgovProgramChangeRequstProcessListSelect.do'/>"; + document.programChangeRequstProcessListForm.submit(); +} + +/* ******************************************************** + * 조회 처리 함수 + ******************************************************** */ +function selectProgramChangeRequstProcessList() { + document.programChangeRequstProcessListForm.pageIndex.value = 1; + document.programChangeRequstProcessListForm.action = "<c:url value='/sym/prm/EgovProgramChangeRequstProcessListSelect.do'/>"; + document.programChangeRequstProcessListForm.submit(); +} + +/* ******************************************************** + * 상세조회처리 함수 + ******************************************************** */ +function selectChangeRequstProcessListDetail(progrmFileNm, tmpNo) { + document.programChangeRequstProcessListForm.tmpProgrmNm.value = progrmFileNm; + document.programChangeRequstProcessListForm.tmpRqesterNo.value = tmpNo; + document.programChangeRequstProcessListForm.action = "<c:url value='/sym/prm/EgovProgramChangRequstProcessDetailSelect.do'/>"; + document.programChangeRequstProcessListForm.submit(); +} + +/* ******************************************************** + * 검색조건 처리 함수 + ******************************************************** */ +function fncSearchSpan(vSearch) { + searchSpan.innerHTML = "&nbsp;&nbsp;" + if(vSearch == "1"){ + searchSpan.innerHTML += "<spring:message code="comSymPrm.programChangeRequstProcess.searchKeyword.all"/>&nbsp; <input name='searchKeyword' type='hidden' size='10' value='%' maxlength='20' >"; + }else if(vSearch == "2"){ + searchSpan.innerHTML += "<spring:message code="comSymPrm.programChangeRequstProcess.searchCondition.opt2"/>&nbsp; <select name='searchKeyword'> <option value=A><spring:message code="comSymPrm.programChangeRequstProcess.processSttusA"/> <//option> <option value=P><spring:message code="comSymPrm.programChangeRequstProcess.processSttusP"/> <//option> <option value=R><spring:message code="comSymPrm.programChangeRequstProcess.processSttusR"/> <//option> <option value=C><spring:message code="comSymPrm.programChangeRequstProcess.processSttusC"/> <//option> <//select>";//처리상태/신청중/진행중/반려/처리완료 + }else if(vSearch == "3"){ + searchSpan.innerHTML += "<spring:message code="comSymPrm.programChangeRequstProcess.rqesterDe"/>&nbsp;" + + "<input type='hidden' name='cal_url' value=\"<c:url value='/sym/cal/EgovNormalCalPopup.do'/>\" />" + + "<input id='searchKeywordFrom' name='searchKeywordFrom' type='text' size='10' value='' maxlength='10'>" + + "&nbsp;&nbsp;<input id='searchKeywordTo' name='searchKeywordTo' type='text' size='10' value='' maxlength='10'>"; + initCalendar(); + }else if(vSearch == "4"){ + searchSpan.innerHTML += "<spring:message code="comSymPrm.programChangeRequstProcess.rqesterPersonId"/> &nbsp;<input name='searchKeyword' type='text' size='10' value='' maxlength='20' >"; + } +} +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> + +</head> +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<div class="board"> + <h1><spring:message code="comSymPrm.programChangeRequstProcess.pageTop.title"/></h1><!-- 프로그램변경요청처리 --> + + <form name="programChangeRequstProcessListForm" method="post" action=""> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"><!-- 이 레이아웃은 하단 정보를 대한 검색 정보로 구성되어 있습니다. --> + <ul> + <li> + <select name="searchCondition" onchange="fncSearchSpan(this.value);" title="검색조건"> + <option value="1"><spring:message code="comSymPrm.programChangeRequstProcess.searchCondition.opt1"/></option><!-- 전체 --> + <option value="2"><spring:message code="comSymPrm.programChangeRequstProcess.searchCondition.opt2"/></option><!-- 처리상태 --> + <option value="3"><spring:message code="comSymPrm.programChangeRequstProcess.searchCondition.opt3"/></option><!-- 요청일자 --> + <option value="4"><spring:message code="comSymPrm.programChangeRequstProcess.searchCondition.opt4"/></option><!-- 요청자 --> + </select> + <span id="searchSpan" >&nbsp;&nbsp;<spring:message code="comSymPrm.programChangeRequstProcess.searchKeyword.all"/>&nbsp;<input name='searchKeyword' type='hidden' size='10' value='%' maxlength='20' title="<spring:message code="comSymPrm.programChangeRequstProcess.searchKeyword.value"/>"></span><!-- 전체조회 --><!-- 검색조건값 --> + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="selectProgramChangeRequstProcessList(); return false;" /><!-- 조회 --> + </li> + </ul> + </div> + <input type="hidden" name="tmpProgrmNm"> + <input type="hidden" name="tmpRqesterNo"> + </form> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:80px" /> + <col style="width:177px" /> + <col style="width:80px" /> + <col style="width:200px" /> + <col style="width:80px" /> + <col style="width:100px" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comSymPrm.programChangeRequstProcess.rqesterNo"/></th><!-- 요청번호 --> + <th scope="col"><spring:message code="comSymPrm.programChangeRequstProcess.progrmNm"/></th><!-- 프로그램파일명 --> + <th scope="col"><spring:message code="comSymPrm.programChangeRequstProcess.processSttus"/></th><!-- 처리상태 --> + <th scope="col"><spring:message code="comSymPrm.programChangeRequstProcess.rqesterSj"/></th><!-- 요청제목 --> + <th scope="col"><spring:message code="comSymPrm.programChangeRequstProcess.rqesterPersonId"/></th><!-- 요청자 --> + <th scope="col"><spring:message code="comSymPrm.programChangeRequstProcess.rqesterDe"/></th><!-- 요청일자 --> + </tr> + </thead> + <tbody> + <c:if test="${fn:length(list_changerequst) == 0}"> + <tr> + <td colspan="6"> + <spring:message code="common.nodata.msg" /> + </td> + </tr> + </c:if> + <c:forEach var="result" items="${list_changerequst}" varStatus="status"> + <%-- 데이터를 없을때 화면에 메세지를 출력해준다 --%> + <tr> + <td><c:out value="${result.rqesterNo}"/></td> + <td> + <form name="item" method="post" action="<c:url value='/sym/prm/EgovProgramChangRequstProcessDetailSelect.do'/>"> + <input type="hidden" name="tmpProgrmNm" value="<c:out value="${result.progrmFileNm }"/>"/> + <input type="hidden" name="tmpRqesterNo" value="<c:out value="${result.rqesterNo }"/>"/> + <span class="link"><input type="submit" value="<c:out value="${result.progrmFileNm }"/>" onclick="selectChangeRequstProcessListDetail('<c:out value="${result.progrmFileNm}"/>','<c:out value="${result.rqesterNo}"/>'); return false;"></span> + </form> + </td> + <td> + <c:if test="${empty result.processSttus}">N/A</c:if> + <c:if test="${result.processSttus == 'A'}"><spring:message code="comSymPrm.programChangeRequstProcess.processSttusA"/></c:if><!-- 신청중 --> + <c:if test="${result.processSttus == 'P'}"><spring:message code="comSymPrm.programChangeRequstProcess.processSttusP"/></c:if><!-- 진행중 --> + <c:if test="${result.processSttus == 'R'}"><spring:message code="comSymPrm.programChangeRequstProcess.processSttusR"/></c:if><!-- 반려 --> + <c:if test="${result.processSttus == 'C'}"><spring:message code="comSymPrm.programChangeRequstProcess.processSttusC"/></c:if><!-- 처리완료 --> + </td> + <td><c:out value="${result.rqesterSj}"/></td> + <td><c:out value="${result.rqesterPersonId}"/></td> + <td><c:out value="${result.rqesterDe}"/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> +</div> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangeRequstProcess.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramListManage.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramListManage.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramListManage.jsp (revision 7) @@ -0,0 +1,249 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovProgramListManage.jsp + * @Description : 프로그램목록 조회 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2018.09.03 신용호 공통컴포넌트 3.8 개선 + * 2019.12.11 신용호 KISA 보안약점 조치 (크로스사이트 스크립트) + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ + String imagePath_icon = "/images/egovframework/com/sym/prm/icon/"; + String imagePath_button = "/images/egovframework/com/sym/prm/button/"; +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymPrm.programListManage.title" /></title><!-- 프로그램목록리스트 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 모두선택 처리 함수 + ******************************************************** */ +function fCheckAll() { + var checkField = document.progrmManageForm.checkField; + if(document.progrmManageForm.checkAll.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} + +/* ******************************************************** + * 멀티삭제 처리 함수 + ******************************************************** */ +function fDeleteProgrmManageList() { + var checkField = document.progrmManageForm.checkField; + var ProgrmFileNm = document.progrmManageForm.checkProgrmFileNm; + var checkProgrmFileNms = ""; + var checkedCount = 0; + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + if(checkField[i].checked) { + checkProgrmFileNms += ((checkedCount==0? "" : ",") + ProgrmFileNm[i].value); + checkedCount++; + } + } + } else { + if(checkField.checked) { + checkProgrmFileNms = ProgrmFileNm.value; + } + } + } + + if(checkedCount ==0){ + alert("선택된 메뉴가 없습니다."); + return false; + } + + if(confirm("<spring:message code="common.delete.msg" />")){ //삭제하시겠습니까? + document.progrmManageForm.checkedProgrmFileNmForDel.value=checkProgrmFileNms; + document.progrmManageForm.action = "<c:url value='/sym/prm/EgovProgrmManageListDelete.do'/>"; + document.progrmManageForm.submit(); + } +} + +/* ******************************************************** + * 페이징 처리 함수 + ******************************************************** */ +function linkPage(pageNo){ +// document.menuManageForm.searchKeyword.value = + document.progrmManageForm.pageIndex.value = pageNo; + document.progrmManageForm.action = "<c:url value='/sym/prm/EgovProgramListManageSelect.do'/>"; + document.progrmManageForm.submit(); +} + +/* ******************************************************** + * 조회 처리 함수 + ******************************************************** */ +function selectProgramListManage() { + document.progrmManageForm.pageIndex.value = 1; + document.progrmManageForm.action = "<c:url value='/sym/prm/EgovProgramListManageSelect.do'/>"; + document.progrmManageForm.submit(); +} +/* ******************************************************** + * 입력 화면 호출 함수 + ******************************************************** */ +function insertProgramListManage() { + document.progrmManageForm.action = "<c:url value='/sym/prm/EgovProgramListRegist.do'/>"; + document.progrmManageForm.submit(); +} +/* ******************************************************** + * 상세조회처리 함수 + ******************************************************** */ +function selectUpdtProgramListDetail(progrmFileNm) { + document.progrmManageForm.tmp_progrmNm.value = progrmFileNm; + document.progrmManageForm.action = "<c:url value='/sym/prm/EgovProgramListDetailSelect.do'/>"; + document.progrmManageForm.submit(); +} +/* ******************************************************** + * focus 시작점 지정함수 + ******************************************************** */ + function fn_FocusStart(){ + var objFocus = document.getElementById('F1'); + objFocus.focus(); + } + +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> +</head> +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="board"> + <h1><spring:message code="comSymPrm.programListManage.pageTop.title" /></h1><!-- 프로그램목록관리 --> + <form name="progrmManageForm" action ="<c:url value='/sym/prm/EgovProgramListManageSelect.do' />" method="post"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + <input name="checkedProgrmFileNmForDel" type="hidden" /> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <label for=""><spring:message code="comSymPrm.programListManage.programName" /> : </label><!-- 프로그램명 --> + <input id="F1" class="s_input2 vat" name="searchKeyword" type="text" value="<c:out value='${searchVO.searchKeyword}'/>" size="60" maxlength="60" onkeypress="press();" title="<spring:message code="title.searchCondition" />" /><!-- 검색조건 --> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="selectProgramListManage(); return false;" /><!-- 조회 --> + <span class="btn_b"><a href="<c:url value='/sym/prm/EgovProgramListRegist.do'/>" onclick="insertProgramListManage(); return false;" title='<spring:message code="button.create" />'><spring:message code="button.create" /></a></span><!-- 등록 --> + <span class="btn_b"><a href="#LINK" onclick="fDeleteProgrmManageList(); return false;" title='<spring:message code="button.delete" />'><spring:message code="button.delete" /></a></span><!-- 삭제 --> + </li> + </ul> + </div> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:20px" /> + <col style="" /> + <col style="width:137px" /> + <col style="width:260px" /> + <col style="width:150px" /> + </colgroup> + <thead> + <tr> + <th scope="col"><input type="checkbox" name="checkAll" class="check2" onclick="fCheckAll();" title="전체선택" /></th> + <th scope="col"><spring:message code="comSymPrm.programListManage.programFileName" /></th><!-- 프로그램파일명 --> + <th scope="col"><spring:message code="comSymPrm.programListManage.programName" /></th><!-- 프로그램명 --> + <th scope="col">URL</th> + <th scope="col"><spring:message code="comSymPrm.programListManage.ProgramDescription" /></th><!-- 프로그램설명 --> + </tr> + </thead> + <tbody> + <%-- 데이터를 없을때 화면에 메세지를 출력해준다 --%> + <c:if test="${fn:length(list_progrmmanage) == 0}"> + <tr> + <td colspan="5"> + <spring:message code="common.nodata.msg" /> + </td> + </tr> + </c:if> + + <c:forEach var="result" items="${list_progrmmanage}" varStatus="status"> + <tr> + <td> + <input type="checkbox" name="checkField" class="check2" title="선택"> + <input name="checkProgrmFileNm" type="hidden" value="<c:out value='${result.progrmFileNm}'/>"/> + </td> + <td> + <span class="link"><a href="<c:url value='/sym/prm/EgovProgramListDetailSelect.do'/>?tmp_progrmNm=<c:out value="${result.progrmFileNm}"/>" onclick="selectUpdtProgramListDetail('<c:out value="${result.progrmFileNm}"/>'); return false;"> + + <c:if test="${fn:length(result.progrmFileNm)> 22}"> + <c:out value="${fn:substring(result.progrmFileNm,0, 22)}"/>... + </c:if> + <c:if test="${fn:length(result.progrmFileNm)<= 22}"> + <c:out value="${result.progrmFileNm}"/> + </c:if> + + </a></span> + </td> + <td> + <c:if test="${fn:length(result.progrmKoreanNm)> 12}"> + <c:out value="${fn:substring(result.progrmKoreanNm,0, 12)}"/>... + </c:if> + <c:if test="${fn:length(result.progrmKoreanNm)<= 12}"> + <c:out value="${result.progrmKoreanNm}"/> + </c:if> + </td> + <td> + <c:if test="${fn:length(result.URL)> 35}"> + <c:out value="${fn:substring(result.URL,0, 35)}"/>... + </c:if> + <c:if test="${fn:length(result.URL)<= 35}"> + <c:out value="${result.URL}"/> + </c:if> + + </td> + <td><c:out value="${result.progrmDc}"/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> + + <input type="hidden" name="cmd"> + <input type="hidden" name="tmp_progrmNm"> + </form> + +</div> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramListManage.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramListRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramListRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramListRegist.jsp (revision 7) @@ -0,0 +1,155 @@ +<!DOCTYPE html> +<%-- + /** + * @Class Name : EgovProgramListRegist.jsp + * @Description : 프로그램목록 등록 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2018.09.03 신용호 공통컴포넌트 3.8 개선 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ + //String imagePath_icon = "/images/egovframework/com/sym/prm/icon/"; + // String imagePath_button = "/images/egovframework/com/sym/prm/button/"; +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="ImgUrl" value="/images/egovframework/com/sym/prm/"/> +<c:set var="CssUrl" value="/css/egovframework/com/sym/prm/"/> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymPrm.programListRegist.title" /></title><!-- 프로그램목록등록 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value="/validator.do" />"></script> +<validator:javascript formName="progrmManageVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 입력 처리 함수 + ******************************************************** */ +function insertProgramListManage(form) { + if(confirm("<spring:message code="common.save.msg"/>")){ + if(!validateProgrmManageVO(form)){ + return; + }else{ + + form.submit(); + } + } +} +/* ******************************************************** + * 목록조회 함수 + ******************************************************** */ +function selectList(){ + location.href = "<c:url value='/sym/prm/EgovProgramListManageSelect.do' />"; +} + +/* ******************************************************** + * focus 시작점 지정함수 + ******************************************************** */ + function fn_FocusStart(){ + var objFocus = document.getElementById('F1'); + objFocus.focus(); + } + + +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> +</head> +<body> +<c:set var="vprogrmFileNm"><spring:message code="comSymPrm.programListRegist.progrmFileNm"/></c:set> +<c:set var="vprogrmStrePath"><spring:message code="comSymPrm.programListRegist.progrmStrePath"/></c:set> +<c:set var="vprogrmKoreanNm"><spring:message code="comSymPrm.programListRegist.progrmKoreanNm"/></c:set> +<c:set var="vprogrmDc"><spring:message code="comSymPrm.programListRegist.progrmDc"/></c:set> +<c:set var="vurl"><spring:message code="comSymPrm.programListDetailSelectUpdt.url"/></c:set> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<div id="border" style="width:730px"> +<table border="0"> + <tr> + <td width="700"> +<!-- ********** 여기서 부터 본문 내용 *************** --> +<form:form commandName="progrmManageVO" method="post" > + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comSymPrm.programListRegist.pageTop.title" /></h2><!-- 프로그램목록 등록 --> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymPrm.programListRegist.progrmFileNm"/><span class="pilsu">*</span></th><!-- 프로그램파일명 --> + <td class="left"> + <form:input path="progrmFileNm" size="50" maxlength="50" id="F1" title="${vprogrmFileNm}"/><!-- 프로그램파일명 --> + <form:errors path="progrmFileNm" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programListRegist.progrmStrePath"/><span class="pilsu">*</span></th><!-- 저장경로 --> + <td class="left"> + <form:input path="progrmStrePath" size="60" maxlength="60" title="${vprogrmStrePath}"/><!-- 저장경로 --> + <form:errors path="progrmStrePath" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programListRegist.progrmKoreanNm"/> <span class="pilsu">*</span></th><!-- 한글명 --> + <td class="left"> + <form:input path="progrmKoreanNm" size="60" maxlength="60" title="${vprogrmKoreanNm}"/><!-- 한글명 --> + <form:errors path="progrmKoreanNm"/> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programListRegist.url"/> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="URL" size="60" maxlength="60" title="${vurl}"/> + <form:errors path="URL"/> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programListRegist.progrmDc"/></th><!-- 프로그램설명 --> + <td class="left"> + <form:textarea path="progrmDc" rows="14" cols="75" cssClass="txaClass" title="${vprogrmDc}"/><!-- 프로그램설명 --> + <form:errors path="progrmDc"/> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.save" />' onclick="insertProgramListManage(document.forms[0]); return false;" /><!-- 저장 --> + <span class="btn_s"><a href="<c:url value='/sym/prm/EgovProgramListManageSelect.do'/>" onclick="selectList(); return false;"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div> + <div style="clear:both;"></div> +</div> + +<input name="cmd" type="hidden" value="<c:out value='insert'/>"/> +</form:form> +<!-- ********** 여기까지 내용 *************** --> +</td> +</tr> +</table> +</DIV> +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramListRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramListDetailSelectUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramListDetailSelectUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramListDetailSelectUpdt.jsp (revision 7) @@ -0,0 +1,155 @@ +<!DOCTYPE html> +<%-- + /** + * @Class Name : EgovProgramListDetailSelectUpdt.jsp + * @Description : 프로그램목록 상세조회및 수정 화면 + * @Modification Ination + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2018.09.03 신용호 공통컴포넌트 3.8 개선 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ + //String imagePath_icon = "/images/egovframework/com/sym/prm/icon/"; + //String imagePath_button = "/images/egovframework/com/sym/prm/button/"; +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="ImgUrl" value="/images/egovframework/com/sym/prm/"/> +<c:set var="CssUrl" value="/css/egovframework/com/sym/prm/"/> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymPrm.programListDetailSelectUpdt.title"/></title><!-- 프로그램목록 상세조회 /수정 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="progrmManageVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 수정처리 함수 + ******************************************************** */ +function updateProgramListManage(form) { + if(confirm("<spring:message code="common.save.msg" />")){ + if(!validateProgrmManageVO(form)){ + return; + }else{ + form.action="<c:url value='/sym/prm/EgovProgramListDetailSelectUpdt.do' />"; + form.submit(); + } + } +} + +/* ******************************************************** + * 삭제처리함수 + ******************************************************** */ +function deleteProgramListManage(form) { + if(confirm("<spring:message code="common.delete.msg" />")){ + form.action="<c:url value='/sym/prm/EgovProgramListManageDelete.do' />"; + form.submit(); + } +} + +/* ******************************************************** + * 목록조회 함수 + ******************************************************** */ +function selectList(){ + + var varForm = document.getElementById("progrmManageVO"); + varForm.action = "<c:url value='/sym/prm/EgovProgramListManageSelect.do' />"; + varForm.submit(); + +} +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> +</head> +<body> +<c:set var="vprogrmFileNm"><spring:message code="comSymPrm.programListDetailSelectUpdt.progrmFileNm"/></c:set> +<c:set var="vprogrmStrePath"><spring:message code="comSymPrm.programListDetailSelectUpdt.progrmStrePath"/></c:set> +<c:set var="vprogrmKoreanNm"><spring:message code="comSymPrm.programListDetailSelectUpdt.progrmKoreanNm"/></c:set> +<c:set var="vprogrmDc"><spring:message code="comSymPrm.programListDetailSelectUpdt.progrmDc"/></c:set> +<c:set var="vurl"><spring:message code="comSymPrm.programListDetailSelectUpdt.url"/></c:set> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form:form commandName="progrmManageVO" method="post"> + <!-- 검색조건 유지 --> + <input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>"/> + <input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>"/> + <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}' default='1' />"/> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comSymPrm.programListDetailSelectUpdt.pageTop.title"/></h2><!-- 프로그램목록 상세조회 /수정 --> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymPrm.programListDetailSelectUpdt.progrmFileNm"/> <span class="pilsu">*</span></th><!-- 프로그램파일명 --> + <td class="left"> + <form:input path="progrmFileNm" size="50" maxlength="50" title="${vprogrmFileNm}"/><!-- 프로그램파일명 --> + <form:errors path="progrmFileNm"/> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programListDetailSelectUpdt.progrmStrePath"/> <span class="pilsu">*</span></th><!-- 저장경로 --> + <td class="left"> + <form:input path="progrmStrePath" size="50" maxlength="50" title="${vprogrmStrePath}"/><!-- 저장경로 --> + <form:errors path="progrmStrePath"/> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programListDetailSelectUpdt.progrmKoreanNm"/> <span class="pilsu">*</span></th><!-- 한글명 --> + <td class="left"> + <form:input path="progrmKoreanNm" size="60" maxlength="60" title="${vprogrmKoreanNm}"/><!-- 한글명 --> + <form:errors path="progrmKoreanNm" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programListDetailSelectUpdt.url"/> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="URL" size="60" maxlength="60" title="${vurl}" /> + <form:errors path="URL" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programListDetailSelectUpdt.progrmDc"/> <span class="pilsu">*</span></th><!-- 프로그램설명 --> + <td class="left"> + <form:textarea path="progrmDc" rows="14" cols="75" title="${vprogrmDc}"/><!-- 프로그램설명 --> + <form:errors path="progrmDc"/> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <span class="btn_s"><a onclick="selectList(); return false;"><spring:message code="button.list"/></a></span><!-- 목록 --> + <input class="s_submit" type="submit" value='<spring:message code="button.update" />' onclick="updateProgramListManage(document.forms[0]); return false;" /><!-- 수정 --> + <span class="btn_s"><a href="<c:url value='/sym/prm/EgovProgramListManageDelete.do'/>?progrmFileNm=<c:out value="${progrmManageVO.progrmFileNm }"/>" onclick="deleteProgramListManage(document.forms[0]); return false;"><spring:message code="button.delete" /></a></span><!-- 삭제 --> + </div> + <div style="clear:both;"></div> +</div> + +<input name="cmd" type="hidden" value="<c:out value='update'/>"/> +</form:form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramListDetailSelectUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChgHst.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChgHst.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChgHst.jsp (revision 7) @@ -0,0 +1,151 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovProgramChgHst.jsp + * @Description : 프로그램변경이력 조회 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2018.09.04 신용호 공통컴포넌트 3.8 개선 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ + String imagePath_icon = "/images/egovframework/com/sym/prm/icon/"; + String imagePath_button = "/images/egovframework/com/sym/prm/button/"; +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymPrm.programChgHst.title"/></title><!-- 프로그램변경이력 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 페이징 처리 함수 + ******************************************************** */ +function linkPage(pageNo){ +// document.programChgHstForm.searchKeyword.value = + document.programChgHstForm.pageIndex.value = pageNo; + document.programChgHstForm.action = "<c:url value='/sym/prm/EgovProgramChgHstListSelect.do'/>"; + document.programChgHstForm.submit(); +} + +/* ******************************************************** + * 조회 처리 함수 + ******************************************************** */ +function selectProgrmChgHstList() { + document.programChgHstForm.pageIndex.value = 1; + document.programChgHstForm.action = "<c:url value='/sym/prm/EgovProgramChgHstListSelect.do'/>"; + document.programChgHstForm.submit(); +} + +/* ******************************************************** + * 상세조회처리 함수 + ******************************************************** */ +function selectChgHstListDetail(progrmFileNm, tmp_no) { + document.programChgHstForm.tmpRqesterNo.value = ''; + document.programChgHstForm.tmpProgrmNm.value = progrmFileNm; + document.programChgHstForm.tmp_rqesterNo.value = tmp_no; + document.programChgHstForm.action = "<c:url value='/sym/prm/EgovProgramChgHstListDetailSelect.do'/>"; + document.programChgHstForm.submit(); +} +--> +</script> +</head> +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<div class="board"> + <h1><spring:message code="comSymPrm.programChgHst.pageTop.title"/></h1><!--프로그램변경이력--> + + <form name="programChgHstForm" action ="<c:url value='/sym/prm/EgovProgramChgHstListSelect.do'/>" method="post"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + <div class="search_box" title="이 레이아웃은 하단 정보를 대한 검색 정보로 구성되어 있습니다."> + <ul> + <li> + <label for=""><spring:message code="comSymPrm.programChgHst.progrmFileNm"/> : </label><!--프로그램파일명--> + <input class="s_input2 vat" name="searchKeyword" type="text" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="60" size="80" title="<spring:message code="title.searchCondition"/>" /><!-- 검색조건 --> + <input class="s_btn" type="submit" value="<spring:message code="title.inquire"/>" title="<spring:message code="title.inquire"/>" onclick="selectProgrmChgHstList(); return false;" /><!-- 조회 --> + </li> + </ul> + </div> + <input type="hidden" name="tmpProgrmNm"> + <input type="hidden" name="tmpRqesterNo"> + </form> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:15%" /> + <col style="width:10%" /> + <col style="width:30%" /> + <col style="width:15%" /> + <col style="width:15%" /> + <col style="width:15%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comSymPrm.programChgHst.progrmFileNm"/></th><!--프로그램파일명--> + <th scope="col"><spring:message code="comSymPrm.programChgHst.processSttus"/></th><!-- 처리상태 --> + <th scope="col"><spring:message code="comSymPrm.programChgHst.rqesterProcessCn"/></th><!-- 처리내용 --> + <th scope="col"><spring:message code="comSymPrm.programChgHst.rqesterPersonId"/></th><!-- 변경요청자 --> + <th scope="col"><spring:message code="comSymPrm.programChgHst.rqesterDe"/></th><!-- 변경요청일자 --> + <th scope="col"><spring:message code="comSymPrm.programChgHst.processDe"/></th><!-- 변경완료일자 --> + </tr> + </thead> + <tbody> + <%-- 데이터를 없을때 화면에 메세지를 출력해준다 --%> + <c:if test="${fn:length(list_changerequst) == 0}"> + <tr> + <td colspan="6"> + <spring:message code="common.nodata.msg" /> + </td> + </tr> + </c:if> + <c:forEach var="result" items="${list_changerequst}" varStatus="status"> + <tr> + <td style="cursor:hand;"> + <form name="item" method="post" action="<c:url value='/sym/prm/EgovProgramChgHstListDetailSelect.do'/>"> + <input type="hidden" name="tmpProgrmNm" value="<c:out value="${result.progrmFileNm }"/>"/> + <input type="hidden" name="tmpRqesterNo" value="<c:out value="${result.rqesterNo }"/>"/> + <span class="link"><input type="submit" value="<c:out value="${result.progrmFileNm}"/>" onclick="selectChgHstListDetail('<c:out value="${result.progrmFileNm}"/>','<c:out value="${result.rqesterNo}"/>'); return false;"></span> + </form></td> + <td> + <c:if test="${empty result.processSttus}">N/A</c:if> + <c:if test="${result.processSttus == 'A'}"><spring:message code="comSymPrm.programChgHst.processSttusA"/></c:if><!-- 신청중 --> + <c:if test="${result.processSttus == 'P'}"><spring:message code="comSymPrm.programChgHst.processSttusP"/></c:if><!-- 진행중 --> + <c:if test="${result.processSttus == 'R'}"><spring:message code="comSymPrm.programChgHst.processSttusR"/></c:if><!-- 반려 --> + <c:if test="${result.processSttus == 'C'}"><spring:message code="comSymPrm.programChgHst.processSttusC"/></c:if><!-- 처리완료 --> + </td> + <td><c:out value="${result.rqesterProcessCn}"/></td> + <td><c:out value="${result.rqesterPersonId}"/></td> + <td><c:out value="${result.rqesterDe}"/></td> + <td><c:out value="${result.processDe}"/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> +</div> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChgHst.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangeRequst.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangeRequst.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangeRequst.jsp (revision 7) @@ -0,0 +1,169 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovProgramChangeRequst.jsp + * @Description : 프로그램변경요청 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2011.09.14 서준식 리스트 내용 없음 표시 + * 2018.09.03 신용호 공통컴포넌트 3.8 개선 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ + String imagePath_icon = "/images/egovframework/com/sym/prm/icon/"; + String imagePath_button = "/images/egovframework/com/sym/prm/button/"; +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymPrm.programChangeRequst.title"/></title><!-- 프로그램변경요청 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 페이징 처리 함수 + ******************************************************** */ +function linkPage(pageNo){ +// document.progrmChangeRequstForm.searchKeyword.value = + document.progrmChangeRequstForm.pageIndex.value = pageNo; + document.progrmChangeRequstForm.action = "<c:url value='/sym/prm/EgovProgramChangeRequstSelect.do'/>"; + document.progrmChangeRequstForm.submit(); +} + +/* ******************************************************** + * 조회 처리 함수 + ******************************************************** */ +function selectProgrmChangeRequstList() { + document.progrmChangeRequstForm.pageIndex.value = 1; + document.progrmChangeRequstForm.action = "<c:url value='/sym/prm/EgovProgramChangeRequstSelect.do'/>"; + document.progrmChangeRequstForm.submit(); +} + +/* ******************************************************** + * 입력 화면 호출 함수 + ******************************************************** */ +function insertChangeRequst() { + document.progrmChangeRequstForm.action = "<c:url value='/sym/prm/EgovProgramChangRequstStre.do'/>"; + document.progrmChangeRequstForm.submit(); +} + +/* ******************************************************** + * 상세조회처리 함수 + ******************************************************** */ +function selectUpdtChangeRequstListDetail(progrmFileNm, tmpNo) { + document.progrmChangeRequstForm.tmpProgrmNm.value = progrmFileNm; + document.progrmChangeRequstForm.tmpRqesterNo.value = tmpNo; + document.progrmChangeRequstForm.action = "<c:url value='/sym/prm/EgovProgramChangRequstDetailSelect.do'/>"; + document.progrmChangeRequstForm.submit(); +} + +function deleteChangeRequstList() { + progrmChangeRequstForm.submit(); +} +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> +</head> +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg"/></noscript> + +<div class="board"> + <h1><spring:message code="comSymPrm.programChangeRequst.pageTop.title"/></h1><!-- 프로그램변경요청 --> + + <form name="progrmChangeRequstForm" action ="<c:url value='/sym/prm/EgovProgramChangeRequstSelect.do'/>?pageIndex=1" method="post"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"><!-- 이 레이아웃은 하단 정보를 대한 검색 정보로 구성되어 있습니다. --> + <ul> + <li> + <label for=""><spring:message code="comSymPrm.programChangeRequst.progrmFileNm"/> : </label><!-- 프로그램파일명 --> + <input class="s_input2 vat" name="searchKeyword" type="text" value="" size="80" maxlength="60" title="<spring:message code="title.searchCondition"/>" /><!-- 검색조건 --> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title="조회" onclick="selectProgrmChangeRequstList(); return false;" /><!-- 조회 --> + <span class="btn_b"><a href="<c:url value='/sym/prm/EgovProgramChangRequstStre.do'/>" onclick="insertChangeRequst(); return false;" title='<spring:message code="button.create" />'><spring:message code="button.create" /></a></span><!-- 등록 --> + </li> + </ul> + </div> + <input type="hidden" name="tmpProgrmNm"> + <input type="hidden" name="tmpRqesterNo"> + </form> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:80px" /> + <col style="width:177px" /> + <col style="width:200px" /> + <col style="width:80px" /> + <col style="width:100px" /> + <col style="width:80px" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comSymPrm.programChangeRequst.rqesterNo"/></th><!-- 요청번호 --> + <th scope="col"><spring:message code="comSymPrm.programChangeRequst.progrmFileNm"/></th><!-- 프로그램파일명 --> + <th scope="col"><spring:message code="comSymPrm.programChangeRequst.rqesterSj"/></th><!-- 요청제목 --> + <th scope="col"><spring:message code="comSymPrm.programChangeRequst.rqesterPersonId"/></th><!-- 요청자 --> + <th scope="col"><spring:message code="comSymPrm.programChangeRequst.rqesterDe"/></th><!-- 요청일자 --> + <th scope="col"><spring:message code="comSymPrm.programChangeRequst.processSttus"/></th><!-- 처리여부 --> + </tr> + </thead> + <tbody> + <%-- 데이터를 없을때 화면에 메세지를 출력해준다 --%> + <c:if test="${fn:length(list_changerequst) == 0}"> + <tr> + <td colspan="6"> + <spring:message code="common.nodata.msg" /> + </td> + </tr> + </c:if> + <c:forEach var="result" items="${list_changerequst}" varStatus="status"> + <tr> + <td><c:out value="${result.rqesterNo}"/></td> + <td> + <form name="item" method="post" action="<c:url value='/sym/prm/EgovProgramChangRequstDetailSelect.do'/>"> + <input type="hidden" name="tmpProgrmNm" value="<c:out value="${result.progrmFileNm }"/>"/> + <input type="hidden" name="tmpRqesterNo" value="<c:out value="${result.rqesterNo }"/>"/> + <span class="link"><input type="submit" value="<c:out value="${result.progrmFileNm }"/>" onclick="selectUpdtChangeRequstListDetail('<c:out value="${result.progrmFileNm}"/>','<c:out value="${result.rqesterNo}"/>'); return false;"></span> + </form> + </td> + <td><c:out value="${result.rqesterSj}"/></td> + <td><c:out value="${result.rqesterPersonId}"/></td> + <td><c:out value="${result.rqesterDe}"/></td> + <td> + <c:if test="${empty result.processSttus}">N/A</c:if> + <c:if test="${result.processSttus == 'A'}"><spring:message code="comSymPrm.programChangeRequst.processSttusA"/></c:if><!-- 신청중 --> + <c:if test="${result.processSttus == 'P'}"><spring:message code="comSymPrm.programChangeRequst.processSttusP"/></c:if><!-- 진행중 --> + <c:if test="${result.processSttus == 'R'}"><spring:message code="comSymPrm.programChangeRequst.processSttusR"/></c:if><!-- 반려 --> + <c:if test="${result.processSttus == 'C'}"><spring:message code="comSymPrm.programChangeRequst.processSttusC"/></c:if><!-- 처리완료 --> + </td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> +</div> + + + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangeRequst.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChgHstDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChgHstDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChgHstDetail.jsp (revision 7) @@ -0,0 +1,160 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovProgramChgHstDetail.jsp + * @Description : 프로그램변경이력 상세조회 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2018.09.04 신용호 공통컴포넌트 3.8 개선 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ + String imagePath_icon = "/images/egovframework/com/sym/prm/icon/"; + String imagePath_button = "/images/egovframework/com/sym/prm/button/"; +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymPrm.programChgHstDetail.title"/></title><!-- 프로그램변경이력상세 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 수정 처리 함수 + ******************************************************** */ +function updateChangRequstProcess() { + progrmChangRequstProcessForm.submit(); +} + +/* ******************************************************** + * 삭제 처리 함수 + ******************************************************** */ +function deleteChangRequstProcess() { + document.progrmChangRequstProcessForm.action = "<c:url value='EgovProgramChangeRequstProcessDelete.do'/>"; + document.progrmChangRequstProcessForm.submit(); +} + +/* ******************************************************** + * 목록조회 함수 + ******************************************************** */ +function selectList(){ + location.href = "<c:url value='/sym/prm/EgovProgramChgHstListSelect.do' />"; +} +--> +</script> +</head> +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<form name="progrmChangeRequstForm" action ="<c:url value='/sym/prm/EgovProgramChgHstListSelect.do'/>" method="post"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comSymPrm.programChgHstDetail.pageTop.title"/></h2><!-- 프로그램변경이력상세조회 --> + + <h2 class="tit02" style="margin:0 0 10px 0"><spring:message code="comSymPrm.programChgHstDetail.title.sub1"/></h2><!-- 변경요청내역 --> + + <!-- 등록폼 --> + <table class="wTable mb20"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymPrm.programChgHstDetail.rqesterNo"/></th><!-- 요청번호 --> + <td class="left"> + <c:out value="${resultVO.rqesterNo}"/> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChgHstDetail.progrmFileNm"/></th><!-- 프로그램파일명 --> + <td class="left"> + <c:out value="${resultVO.progrmFileNm}"/> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChgHstDetail.rqesterPersonId"/></th><!-- 요청자ID --> + <td class="left"> + <c:out value="${resultVO.rqesterPersonId}"/> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChgHstDetail.rqesterDe"/></th><!-- 요청일자 --> + <td class="left"> + <c:out value="${resultVO.rqesterDe}"/> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChgHstDetail.rqesterSj"/></th><!-- 요청제목 --> + <td class="left"> + <c:out value="${resultVO.rqesterSj}"/> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChgHstDetail.changerqesterCn"/></th><!-- 변경요청내용 --> + <td class="left"> + <textarea name="changerqesterCn" class="textarea" cols="75" rows="5" readOnly="readOnly" style="width:450px;border:0;background-color:transparent;filter: chroma(color=ffffff);" title="<spring:message code="comSymPrm.programChgHstDetail.changerqesterCn"/>"><c:out value="${resultVO.changerqesterCn}"/></textarea> + </td> + </tr> + </table> + + <h2 class="tit02" style="margin:0 0 10px 0"><spring:message code="comSymPrm.programChgHstDetail.title.sub2"/></h2><!-- 변경처리내역 --> + <table class="wTable"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymPrm.programChgHstDetail.processDe"/></th><!-- 변경처리일자 --> + <td class="left"> + <c:out value="${resultVO.processDe}"/> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChgHstDetail.opetrId"/></th><!-- 변경처리자 --> + <td class="left"> + <c:out value="${resultVO.opetrId}"/> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChgHstDetail.processSttus"/></th><!-- 변경처리상태 --> + <td class="left"> + <c:if test="${empty resultVO.processSttus}">N/A</c:if> + <c:if test="${resultVO.processSttus == 'A'}"><spring:message code="comSymPrm.programChgHstDetail.processSttusA"/></c:if><!-- 신청중 --> + <c:if test="${resultVO.processSttus == 'P'}"><spring:message code="comSymPrm.programChgHstDetail.processSttusP"/></c:if><!-- 진행중 --> + <c:if test="${resultVO.processSttus == 'R'}"><spring:message code="comSymPrm.programChgHstDetail.processSttusR"/></c:if><!-- 반려 --> + <c:if test="${resultVO.processSttus == 'C'}"><spring:message code="comSymPrm.programChgHstDetail.processSttusC"/></c:if><!-- 처리완료 --> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChgHstDetail.rqesterProcessCn"/></th><!-- 변경처리내용 --> + <td class="left"> + <textarea name="rqesterProcessCn" class="textarea" cols="75" rows="5" readOnly="readOnly" style="width:450px;border:0;background-color:transparent;filter: chroma(color=ffffff);" title="<spring:message code="comSymPrm.programChgHstDetail.rqesterProcessCn"/>"><c:out value="${resultVO.rqesterProcessCn}"/></textarea> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value=목록 onclick="selectList(); return false;" /> + </div> + <div style="clear:both;"></div> +</div> + +</form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChgHstDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovFileNmSearchNew.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovFileNmSearchNew.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovFileNmSearchNew.jsp (revision 7) @@ -0,0 +1,120 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovFileNmSearch.jsp + * @Description : 프로그램파일명 검색 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2011.10.18 서준식 프로그램파일명 검색 결과를 부모창으로 넘겨주는 자바스크립트 수정(브라우저 호환성 문제로 수정함) + + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ + String imagePath_icon = "/images/egovframework/com/sym/prm/icon/"; + String imagePath_button = "/images/egovframework/com/sym/prm/button/"; +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title><spring:message code="comSymPrm.fileNmSearch.title"/></title><!-- 프로그램파일명 검색 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/jquery-1.4.2.min.js' />" ></script> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 페이징 처리 함수 + ******************************************************** */ +function linkPage(pageNo){ + document.progrmManageForm.pageIndex.value = pageNo; + document.progrmManageForm.action = "<c:url value='/sym/prm/EgovProgramListSearchNew.do'/>"; + document.progrmManageForm.submit(); +} + +/* ******************************************************** + * 조회 처리 함수 + ******************************************************** */ +function selectProgramListSearch() { + document.progrmManageForm.pageIndex.value = 1; + document.progrmManageForm.action = "<c:url value='/sym/prm/EgovProgramListSearchNew.do'/>"; + document.progrmManageForm.submit(); +} + +/* ******************************************************** + * 프로그램목록 선택 처리 함수 + ******************************************************** */ +function choisProgramListSearch(vFileNm) { + //eval("opener.document.all."+opener.document.all.tmp_SearchElementName.value).value = vFileNm; + //opener.document.menuManageVO.progrmFileNm.value = vFileNm; + var parentFrom = parent.document.getElementsByTagName('form'); + parentFrom[0].progrmFileNm.value = vFileNm; + parent.$('.ui-dialog-content').dialog('close'); +} +--> +</script> +</head> +<body> +<form name="progrmManageForm" action ="<c:url value='/sym/prm/EgovProgramListSearchNew.do'/>" method="post"> +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> +<div class="board" style="width:480px"> + <h1><spring:message code="comSymPrm.fileNmSearch.pageTop.title"/></h1><!-- 프로그램파일명 검색 --> + + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"><!-- 이 레이아웃은 하단 정보를 대한 검색 정보로 구성되어 있습니다. --> + <ul> + <li> + <label for=""><spring:message code="comSymPrm.fileNmSearch.progrmNm"/> : </label><!-- 프로그램명 --> + <input class="s_input2 vat" name="searchKeyword" type="text" value='<c:out value="${searchVO.searchKeyword}"/>' size="30" maxlength="60" title="<spring:message code="title.searchCondition"/>" /><!-- 검색조건 --> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title="<spring:message code="title.inquire"/>" onclick="selectProgramListSearch(); return false;" /><!-- 조회 --> + </li> + </ul> + </div> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:50%" /> + <col style="width:50%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comSymPrm.fileNmSearch.progrmFileNm"/></th><!-- 프로그램파일명 --> + <th scope="col"><spring:message code="comSymPrm.fileNmSearch.progrmNm"/></th><!-- 프로그램명 --> + </tr> + </thead> + <tbody> + <c:forEach var="result" items="${list_progrmmanage}" varStatus="status"> + <tr> + <td> + <span class="link"><a href="#LINK" onclick="choisProgramListSearch('<c:out value="${result.progrmFileNm}"/>'); return false;"> + <c:out value="${result.progrmFileNm}"/></a></span></td> + <td><c:out value="${result.progrmKoreanNm}"/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> +</div> + +</form> +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovFileNmSearchNew.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangRequstProcessDetailSelectUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangRequstProcessDetailSelectUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangRequstProcessDetailSelectUpdt.jsp (revision 7) @@ -0,0 +1,227 @@ +<!DOCTYPE html> +<%-- + /** + * @Class Name : EgovProgramChangRequstProcessDetailSelectUpdt.jsp + * @Description : 프로그램변경요청처리상세조회/수정 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2011.09.14 서준식 변경처리 요청내용 Readonly로 변경 + * 2018.09.04 신용호 공통컴포넌트 3.8 개선 + + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="ImgUrl" value="/images/egovframework/com/sym/prm/"/> +<c:set var="CssUrl" value="/css/egovframework/com/sym/prm/"/> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.title"/></title><!-- 프로그램변경요청처리상세조회/수정 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<validator:javascript formName="progrmManageDtlVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript" src="<c:url value="/validator.do" />"></script> +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 수정 처리 함수 + ******************************************************** */ +function updateChangRequstProcess(form) { + if(confirm("<spring:message code="common.save.msg"/>")){ + if(!validateProgrmManageDtlVO(form)){ + return; + }else{ + form.action ="<c:url value='/sym/prm/EgovProgramChangRequstProcessDetailSelectUpdt.do' />"; + form.submit(); + } + } +} + +/* ******************************************************** + * 삭제 처리 함수 + ******************************************************** */ +function deleteChangRequstProcess(form) { + form.action = "<c:url value='/sym/prm/EgovProgramChangeRequstProcessDelete.do' />"; + form.submit(); +} + +/* ******************************************************** + * 목록조회 처리 함수 + ******************************************************** */ +function selectList(){ + location.href = "<c:url value='/sym/prm/EgovProgramChangeRequstProcessListSelect.do' />"; +} + +function initCalendar(){ + + $("#processDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + +} + +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> +</head> +<body onload="initCalendar()"> +<c:set var="vprocessDe"><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.processDe"/></c:set> +<c:set var="vopetrId"><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.opetrId"/></c:set> +<c:set var="vprocessSttus"><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttus"/></c:set> +<c:set var="vrqesterProcessCn"><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterProcessCn"/></c:set> +<c:set var="vchangerqesterCn"><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.changerqesterCn"/></c:set> +<c:set var="vprocessSttusA"><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttusA"/></c:set> +<c:set var="vprocessSttusP"><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttusP"/></c:set> +<c:set var="vprocessSttusR"><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttusR"/></c:set> +<c:set var="vprocessSttusC"><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttusC"/></c:set> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<form:form commandName="progrmManageDtlVO" method="post"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.pageTop.title"/></h2><!-- 프로그램변경요청처리상세조회/수정 --> + + <h2 class="tit02" style="margin:0 0 10px 0"><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.title.sub1"/></h2><!-- 변경처리내역 --> + + <!-- 등록폼 --> + <table class="wTable mb20"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.processDe"/> <span class="pilsu">*</span></th><!-- 변경처리일자 --> + <td class="left"> + <input type="hidden" name="cal_url" value="<c:url value='/sym/cal/EgovNormalCalPopup.do'/>" /> + <form:input path="processDe" cssClass="txaIpt" title="${vprocessDe}" readonly="true" cssStyle="width:70px"/> + <form:errors path="processDe"/> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.opetrId"/> <span class="pilsu">*</span></th><!-- 변경처리자 --> + <td class="left"> + <form:input path="opetrId" cssClass="txaIpt" maxlength="30" title="${vopetrId}" readonly="true"/> + <form:errors path="opetrId" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.processSttus"/> <span class="pilsu">*</span></th><!-- 변경처리상태 --> + <td class="left"> + <form:select path="processSttus" title="${vprocessSttus}"> + <form:option value="" label="N/A"/> + <form:option value="A" label="${vprocessSttusA}"/><!-- 신청중 --> + <form:option value="P" label="${vprocessSttusP}"/><!-- 진행중 --> + <form:option value="R" label="${vprocessSttusR}"/><!-- 반려 --> + <form:option value="C" label="${vprocessSttusC}"/><!-- 처리완료 --> + </form:select> + <div><form:errors path="processSttus" /></div> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterProcessCn"/></th><!-- 변경처리내용 --> + <td class="left"> + <form:textarea path="rqesterProcessCn" rows="5" cols="75" cssClass="txaClass" title="${vrqesterProcessCn}"/> + <form:errors path="rqesterProcessCn"/> + </td> + </tr> + </table> + + <h2 class="tit02" style="margin:0 0 10px 0"><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.title.sub2"/></h2><!-- 변경요청내역 --> + <table class="wTable"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterNo"/> <span class="pilsu">*</span></th><!-- 요청번호 --> + <td class="left"> + <c:out value="${progrmManageDtlVO.rqesterNo}"/> + <form:hidden path="rqesterNo" /> + <form:errors path="rqesterNo" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.progrmFileNm"/> <span class="pilsu">*</span></th><!-- 프로그램파일명 --> + <td class="left"> + <c:out value="${progrmManageDtlVO.progrmFileNm}"/> + <form:hidden path="progrmFileNm" /> + <form:errors path="progrmFileNm" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterPersonId"/> <span class="pilsu">*</span></th><!-- 요청자ID --> + <td class="left"> + <c:out value="${progrmManageDtlVO.rqesterPersonId}"/> + <form:hidden path="rqesterPersonId" /> + <form:errors path="rqesterPersonId" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterDe"/> <span class="pilsu">*</span></th><!-- 요청일자 --> + <td class="left"> + <c:out value="${progrmManageDtlVO.rqesterDe}"/> + <form:hidden path="rqesterDe" /> + <form:errors path="rqesterDe" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.rqesterSj"/> <span class="pilsu">*</span></th><!-- 요청제목 --> + <td class="left"> + <c:out value="${progrmManageDtlVO.rqesterSj}" /> + <form:hidden path="rqesterSj" /> + <form:errors path="rqesterSj" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstProcessDetailSelectUpdt.changerqesterCn"/> <span class="pilsu">*</span></th><!-- 변경요청내용 --> + <td class="left"> + <form:textarea path="changerqesterCn" rows="5" cols="75" readonly="true" cssClass="txaClass" title="변경요청내용"/> + <form:errors path="changerqesterCn"/> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/sym/prm/EgovProgramChangeRequstProcessListSelect.do'/>" onclick="selectList(); return false;"><spring:message code="button.list" /></a></span><!-- 목록 --> + <input class="s_submit" type="submit" value='<spring:message code="button.update" />' onclick="updateChangRequstProcess(document.forms[0]); return false;" /><!-- 수정 --> + </div> + <div style="clear:both;"></div> +</div> + +</form:form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangRequstProcessDetailSelectUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangRequstStre.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangRequstStre.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangRequstStre.jsp (revision 7) @@ -0,0 +1,186 @@ +<!DOCTYPE html> +<%-- + /** + * @Class Name : EgovProgramChangRequstStre.jsp + * @Description : 프로그램변경요청 등록 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * 2018.09.04 신용호 공통컴포넌트 3.8 개선 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * + */ + /* Image Path 설정 */ + //String imagePath_icon = "/images/egovframework/com/sym/prm/icon/"; + //String imagePath_button = "/images/egovframework/com/sym/prm/button/"; +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="ImgUrl" value="/images/egovframework/com/sym/prm/"/> +<c:set var="CssUrl" value="/css/egovframework/com/sym/prm/"/> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" > +<title><spring:message code="comSymPrm.programChangRequstStre.title"/></title><!-- 프로그램변경요청 등록 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do" />"></script> +<validator:javascript formName="progrmManageDtlVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> + +<script language="javascript1.2" type="text/javaScript"> +<!-- +/* ******************************************************** + * 파일목록조회 함수 + ******************************************************** */ +function searchFileNm() { + document.all.tmp_SearchElementName.value = "progrmFileNm"; + window.open("<c:url value='/sym/prm/EgovProgramListSearch.do' />",'','width=500,height=600'); +} + +/* ******************************************************** + * 입력 처리 함수 + ******************************************************** */ +function insertProgrmChangeRequst(form) { + if(confirm("<spring:message code="common.save.msg" />")){ + + if(!validateProgrmManageDtlVO(form)){ + return; + }else{ + form.action = "<c:url value='/sym/prm/EgovProgramChangRequstStre.do'/>"; + form.submit(); + } + } +// progrmListRegistForm.submit(); +} + +function initCalendar(){ + + $("#rqesterDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + +} + +/* ******************************************************** + * 목록조회 처리 함수 + ******************************************************** */ +function selectList(){ + location.href = "<c:url value='/sym/prm/EgovProgramChangeRequstSelect.do' />"; +} +<c:if test="${!empty resultMsg}">alert("${resultMsg}");</c:if> +--> +</script> +</head> +<body onload="initCalendar()"> +<c:set var="vrqesterNo"><spring:message code="comSymPrm.programChangRequstStre.rqesterNo"/></c:set> +<c:set var="vrqesterPersonId"><spring:message code="comSymPrm.programChangRequstStre.rqesterPersonId"/></c:set> +<c:set var="vrqesterSj"><spring:message code="comSymPrm.programChangRequstStre.rqesterSj"/></c:set> +<c:set var="vchangerqesterCn"><spring:message code="comSymPrm.programChangRequstStre.changerqesterCn"/></c:set> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg"/></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<form:form commandName="progrmManageDtlVO" name="progrmManageDtlVO" action ="<c:url value='/sym/prm/EgovProgramChangRequstStre.do'/>" method="post"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comSymPrm.programChangRequstStre.pageTop.title"/></h2><!-- 프로그램변경요청 등록 --> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comSymPrm.programChangRequstStre.rqesterNo"/> <span class="pilsu">*</span></th><!-- 요청번호 --> + <td class="left"> + <form:input path="rqesterNo" size="50" maxlength="50" title="${vrqesterNo}" readonly="true"/><!-- 요청번호 --> + <form:errors path="rqesterNo" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstStre.progrmFileNm"/> <span class="pilsu">*</span></th><!-- 프로그램파일명 --> + <td class="left"> + <input id="progrmFileNm" name="progrmFileNm" maxlength="50" title="<spring:message code="comSymPrm.programChangRequstStre.progrmFileNm"/>" readonly="readonly"/><!-- 프로그램파일명 --> + <form:errors path="progrmFileNm" /> + <a href="<c:url value='/sym/prm/EgovProgramListSearch.do'/>?tmp_SearchElementName=progrmFileNm" target="_blank" onclick="searchFileNm(); return false;" style="selector-dummy:expression(this.hideFocus=false);" title="새 창으로 이동"><!-- 새 창으로 이동 --> + <img src="<c:url value='/images/egovframework/com/cmm/icon/search2.gif' />" alt='(<spring:message code="comSymPrm.programChangRequstStre.searchProgrmFileNm"/>)' width="15" height="15" /></a><!-- 프로그램파일명 검색 --> + (<spring:message code="comSymPrm.programChangRequstStre.searchProgrmFileNm"/>)<!-- 프로그램파일명 검색 --> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstStre.rqesterPersonId"/> <span class="pilsu">*</span></th><!-- 요청자 --> + <td class="left"> + <form:input path="rqesterPersonId" size="20" maxlength="20" title="${vrqesterPersonId}" readonly="true"/><!-- 요청자 --> + <form:errors path="rqesterPersonId" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstStre.rqesterDe"/> <span class="pilsu">*</span></th><!-- 요청일자 --> + <td class="left"> + <input type="hidden" name="cal_url" value="<c:url value='/sym/cal/EgovNormalCalPopup.do'/>" /> + <input id="rqesterDe" name="rqesterDe" maxlength="50" title="<spring:message code="comSymPrm.programChangRequstStre.rqesterDe"/>" readonly="readonly" style="width:70px"/><!-- 요청일자 --> + <form:errors path="rqesterDe"/> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstStre.rqesterSj"/> <span class="pilsu">*</span></th><!-- 요청제목 --> + <td class="left"> + <form:input path="rqesterSj" size="50" maxlength="50" title="${vrqesterSj}"/><!-- 요청제목 --> + <form:errors path="rqesterSj" /> + </td> + </tr> + <tr> + <th><spring:message code="comSymPrm.programChangRequstStre.changerqesterCn"/></th><!-- 변경요청내용 --> + <td class="left"> + <form:textarea path="changerqesterCn" rows="14" cols="75" title="${changerqesterCn}"/><!-- 변경요청내용 --> + <form:errors path="changerqesterCn"/> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.create" />' onclick="insertProgrmChangeRequst(document.forms[0]); return false;" /><!-- 등록 --> + <span class="btn_s"><a href="<c:url value='/sym/prm/EgovProgramChangeRequstSelect.do'/>" onclick="selectList(); return false;"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div> + <div style="clear:both;"></div> +</div> + +<form:hidden path="rqesterProcessCn" /> +<form:hidden path="opetrId" /> +<form:hidden path="processSttus" /> +<form:hidden path="processDe" /> +<input name="cmd" type="hidden" value="insert"/> +</form:form> +<input type="hidden" name="tmp_SearchElementName"/> +<input type="hidden" name="tmp_SearchElementVal"/> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/prm/EgovProgramChangRequstStre.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeUpdt.jsp (revision 7) @@ -0,0 +1,150 @@ +<% + /** + * @Class Name : EgovCcmCmmnCodeUpdt.jsp + * @Description : 공통코드 수정하는 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2017.08.09 이정은 표준프레임워크 v3.7 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comSymCcmCca.cmmnCodeVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle } <spring:message code="title.update" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="cmmnCodeVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.getElementById("cmmnCodeVO").codeIdNm.focus(); +} +/* ******************************************************** + * 저장처리화면 + ******************************************************** */ +function fn_egov_updt_code(form){ + //input item Client-Side validate + if (!validateCmmnCodeVO(form)) { + return false; + } else { + if(confirm("<spring:message code="common.update.msg" />")){ + form.submit(); + } + } +} +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_inqire_code() { + cmmnCodeVO.action = "<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeList.do'/>"; + cmmnCodeVO.submit(); +} +</script> +</head> +<body onLoad="fn_egov_init();"> + + +<!-- 상단타이틀 --> +<form:form commandName="cmmnCodeVO" action="${pageContext.request.contextPath}/sym/ccm/cca/UpdateCcmCmmnCode.do" method="post" onSubmit="fn_egov_updt_code(document.forms[0]); return false;"> +<div class="wTableFrm"> + <h2>${pageTitle} <spring:message code="title.update" /></h2> + + <!-- 수정폼 --> + <table class="wTable" summary="<spring:message code="common.summary.update" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.update" /></caption> + <colgroup> + <col style="width: 20%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputYes"><spring:message code="input.yes" /></c:set> + <c:set var="inputNo"><spring:message code="input.no" /></c:set> + + <!-- 분류코드명 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.clCodeNm"/> </c:set> + <tr> + <th><label for="clCode">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="clCode" type="hidden"/> + <form:input path="clCodeNm" title="${title} ${inputTxt}" size="70" maxlength="70" readonly="true" /> + <div><form:errors path="clCode" cssClass="error" /></div> + </td> + </tr> + + <!-- 코드ID --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeId"/> </c:set> + <tr> + <th><label for="codeId">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="codeId" title="${title} ${inputTxt}" size="70" maxlength="70" readonly="true" /> + <div><form:errors path="codeId" cssClass="error" /></div> + </td> + </tr> + + <!-- 코드ID명 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdNm"/> </c:set> + <tr> + <th><label for="codeIdNm">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="codeIdNm" title="${title} ${inputTxt}" size="70" maxlength="70" /> + <div><form:errors path="codeIdNm" cssClass="error" /></div> + </td> + </tr> + + <!-- 코드ID설명 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdDc"/> </c:set> + <tr> + <th><label for="codeIdDc">${title } <span class="pilsu">*</span></label></th> + <td class="nopd"> + <form:textarea path="codeIdDc" title="${title} ${inputTxt}" cols="300" rows="20" /> + <div><form:errors path="codeIdDc" cssClass="error" /></div> + </td> + </tr> + + <!-- 사용여부 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.useAt"/> </c:set> + <tr> + <th><label for="useAt">${title } <span class="pilsu">*</span></label></th> + <td class="left"> + <form:select path="useAt" title="${title} ${inputTxt }" cssClass="txt"> + <form:option value="Y" label=" ${inputYes}"/> + <form:option value="N" label=" ${inputNo}"/> + </form:select> + <div><form:errors path="useAt" cssClass="error" /></div> + </td> + </tr> + + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="button.update" /> <spring:message code="input.button" />" /> + <a href="<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeList.do' />" class="btn_s" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a> + </div><div style="clear:both;"></div> + +</div> +</form:form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeList.jsp (revision 7) @@ -0,0 +1,143 @@ +<% + /** + * @Class Name : EgovCcmCmmnCodeList.jsp + * @Description : 공통코드 목록 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2017.08.08 이정은 표준프레임워크 v3.7 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comSymCcmCca.cmmnCodeVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.CcmCodeForm.searchCondition.focus(); +} + +/********************************************************* + * 페이징 처리 함수 + ******************************************************** */ +function fn_egov_select_linkPage(pageNo){ + document.CcmCodeForm.pageIndex.value = pageNo; + document.CcmCodeForm.action = "<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeList.do'/>"; + document.CcmCodeForm.submit(); +} +/********************************************************* + * 조회 처리 함수 + ******************************************************** */ +function fn_egov_search_code(){ + document.CcmCodeForm.pageIndex.value = 1; + document.CcmCodeForm.submit(); +} +/* ******************************************************** + * 상세회면 처리 함수 + ******************************************************** */ +function fn_egov_inquire_codedetail(codeId) { + // 사이트 키값(siteId) 셋팅. + document.CcmCodeForm.codeId.value = codeId; + document.CcmCodeForm.action = "<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeDetail.do'/>"; + document.CcmCodeForm.submit(); +} +</script> +</head> +<body onload="fn_egov_init()"> + +<form name="CcmCodeForm" action="<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeList.do'/>" method="post" onSubmit="fn_egov_search_code(); return false;"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + + <!-- 검색영역 --> + <!-- 검색조건선택 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <select name="searchCondition" title="<spring:message code="title.searchCondition" />"> + <%-- <option <c:if test="${searchVO.searchCondition == ''}">selected="selected"</c:if>><spring:message code="input.select" /></option><!-- 선택하세요 --> --%> + <option selected value=''><spring:message code="input.select" /></option><!-- 선택하세요 --> + <option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if> ><spring:message code="comSymCcmCca.cmmnCodeVO.codeId" /></option><!-- 코드ID --> + <option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if> ><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdNm" /></option><!-- 코드ID명 --> + </select> + </li> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="155" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /> + <span class="btn_b"><a href="<c:url value='/sym/ccm/cca/RegistCcmCmmnCodeView.do' />" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span> + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle}<spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 9%;"> + <col style="width: 40%;"> + <col style="width: 13%;"> + <col style="width: 40%;"> + <col style="width: 13%;"> + </colgroup> + <thead> + <tr> + <th><spring:message code="table.num" /></th><!-- 번호 --> + <th><spring:message code="comSymCcmCca.cmmnCodeVO.clCodeNm" /></th><!-- 분류코드명 --> + <th class="board_th_link"><spring:message code="comSymCcmCca.cmmnCodeVO.codeId" /></th><!-- 코드ID --> + <th><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdNm"/></th><!-- 코드ID --> + <th><spring:message code="comSymCcmCca.cmmnCodeVO.useAt" /></th><!-- 사용여부 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="5"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value='${resultInfo.clCodeNm}'/></td> + <td><a href="<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeDetail.do'/>?codeId=${resultInfo.codeId}" onClick="fn_egov_inquire_codedetail('<c:out value="${resultInfo.codeId}"/>');return false;"><c:out value='${fn:substring(resultInfo.codeId, 0, 40)}'/></a></td> + <td><a href="<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeDetail.do'/>?codeId=${resultInfo.codeId}" onClick="fn_egov_inquire_codedetail('<c:out value="${resultInfo.codeId}"/>');return false;"><c:out value='${fn:substring(resultInfo.codeIdNm, 0, 40)}'/></a></td> + <td><c:out value='${resultInfo.useAt}'/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_linkPage"/> + </ul> + </div> + +</div> + +<input name="codeId" type="hidden" value=""> +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> +</form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeDetail.jsp (revision 7) @@ -0,0 +1,104 @@ +<% + /** + * @Class Name : EgovCcmCmmnCodeDetail.jsp + * @Description : 공통코드 상세조회 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2017.08.09 이정은 표준프레임워크 v3.7 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<c:set var="pageTitle"><spring:message code="comSymCcmCca.cmmnCodeVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.detail" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript"> +/* ******************************************************** + * 삭제처리 + ******************************************************** */ + function fn_egov_delete_code(codeId){ + if(confirm("<spring:message code="common.delete.msg" />")){ + // Delete하기 위한 키값을 셋팅 + document.CcmCodeForm.codeId.value = codeId; + document.CcmCodeForm.action = "<c:url value='/sym/ccm/cca/RemoveCcmCmmnCode.do'/>"; + document.CcmCodeForm.submit(); + } +} +</script> +</head> +<body> + +<form name="CcmCodeForm" action="<c:url value='/sym/ccm/cca/UpdateCcmCmmnCodeView.do'/>" method="post"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.detail" /></h2> + + <!-- 상세조회 --> + <table class="wTable" summary="<spring:message code="common.summary.inqire" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.detail" /></caption> + <colgroup> + <col style="width: 20%;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 분류코드명 --> + <tr> + <th><spring:message code="comSymCcmCca.cmmnCodeVO.clCodeNm" /></th> + <td class="left"><c:out value="${result.clCodeNm}"/></td> + </tr> + <!-- 코드ID --> + <tr> + <th><spring:message code="comSymCcmCca.cmmnCodeVO.codeId" /></th> + <td class="left"><c:out value="${result.codeId}"/></td> + </tr> + <!-- 코드ID명 --> + <tr> + <th><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdNm" /></th> + <td class="left"><c:out value="${result.codeIdNm}"/></td> + </tr> + <!-- 코드ID설명 --> + <tr> + <th class="vtop"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdDc" /></th> + <td class="cnt"> + <c:out value="${fn:replace(result.codeIdDc , crlf , '<br/>')}" escapeXml="false" /> + </td> + </tr> + <!-- 사용여부 --> + <tr> + <th><spring:message code="comSymCcmCca.cmmnCodeVO.useAt" /></th> + <td class="left"><c:out value="${result.useAt}"/></td> + </tr> + + + </tbody> + </table> + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="title.update" /> <spring:message code="input.button" />" /> + <span class="btn_s"><a href="<c:url value='/sym/ccm/cca/RemoveCcmCmmnCode.do?codeId=${result.codeId}' />" onClick="fn_egov_delete_code('<c:out value="${result.codeId}"/>'); return false;" title="<spring:message code="title.delete" /> <spring:message code="input.button" />"><spring:message code="button.delete" /></a></span> + <span class="btn_s"><a href="<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeList.do' />" title="<spring:message code="title.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + </div><div style="clear:both;"></div> + +</div> + +<input name="codeId" type="hidden" value="<c:out value="${result.codeId}" />"> +</form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeRegist.jsp (revision 7) @@ -0,0 +1,167 @@ +<% + /** + * @Class Name : EgovCcmCmmnCodeRegist.jsp + * @Description : 공통코드 등록 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2017.08.18 이정은 표준프레임워크 v3.7 개선 + * + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comSymCcmCca.cmmnCodeVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="cmmnCodeVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + + // 첫 입력란에 포커스 + document.getElementById("cmmnCodeVO").codeId.focus(); + +} +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_list_code(){ + location.href = "<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeList.do' />"; +} +/* ******************************************************** + * 저장처리화면 + ******************************************************** */ +function fn_egov_regist_code(form){ + //input item Client-Side validate + if (!validateCmmnCodeVO(form)) { + return false; + } else { + if(confirm("<spring:message code="common.regist.msg" />")){ + form.submit(); + } + } +} + +/* ******************************************************** +* 서버 처리 후 메세지 화면에 보여주기 +******************************************************** */ +function fncShowMessg(){ + if("<c:out value='${message}'/>" != ''){ + alert("<c:out value='${message}'/>"); + } +} + +</script> + +</head> +<body onLoad="fn_egov_init(); fncShowMessg();"> + +<form:form commandName="cmmnCodeVO" action="${pageContext.request.contextPath}/sym/ccm/cca/RegistCcmCmmnCode.do" method="post" onSubmit="fn_egov_regist_code(document.forms[0]); return false;"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle } <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 20%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력/선택 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputSelect"><spring:message code="input.select"/></c:set> + <c:set var="inputYes"><spring:message code="input.yes" /></c:set> + <c:set var="inputNo"><spring:message code="input.no" /></c:set> + <!-- 분류코드명 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.clCodeNm"/> </c:set> + <tr> + <th><label for="clCode">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:select path="clCode" title="${title} ${inputSelect }" > + <form:option value="" label="${inputSelect}"/> + <form:options items="${clCodeList}" itemValue="clCode" itemLabel="clCodeNm"/> + </form:select> + <div><form:errors path="clCode" cssClass="error" /></div> + </td> + </tr> + + <!-- 코드ID --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeId"/> </c:set> + <tr> + <th><label for="codeId">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="codeId" title="${title} ${inputTxt}" size="70" maxlength="70" /> + <div><form:errors path="codeId" cssClass="error" /></div> + </td> + </tr> + + <!-- 코드ID명 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdNm"/> </c:set> + <tr> + <th><label for="codeIdNm">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="codeIdNm" title="${title} ${inputTxt}" size="70" maxlength="70" /> + <div><form:errors path="codeIdNm" cssClass="error" /></div> + </td> + </tr> + + <!-- 코드ID설명 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.codeIdDc"/> </c:set> + <tr> + <th><label for="codeIdDc">${title } <span class="pilsu">*</span></label></th> + <td class="nopd"> + <form:textarea path="codeIdDc" title="${title} ${inputTxt}" cols="300" rows="20" /> + <div><form:errors path="codeIdDc" cssClass="error" /></div> + </td> + </tr> + + <!-- 사용여부 --> + <c:set var="title"><spring:message code="comSymCcmCca.cmmnCodeVO.useAt"/> </c:set> + <tr> + <th>${title } <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="useAt" title="${title} ${inputTxt }" cssClass="txt"> + <form:option value="Y" label=" ${inputYes}"/> + <form:option value="N" label=" ${inputNo}"/> + </form:select> + <div><form:errors path="useAt" cssClass="error" /></div> + </td> + </tr> + + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /> + <span class="btn_s"><a href="<c:url value='/sym/ccm/cca/SelectCcmCmmnCodeList.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + </div><div style="clear:both;"></div> + +</div> + +<input name="cmd" type="hidden" value="<c:out value='save'/>"> +</form:form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cca/EgovCcmCmmnCodeRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.jsp (revision 7) @@ -0,0 +1,149 @@ +<% + /** + * @Class Name : EgovCcmCmmnClCodeRegist.jsp + * @Description : 공통분류코드 등록 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2017.08.07 이정은 표준프레임워크 v3.7 개선 + * + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comSymCcmCcc.cmmnClCodeVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="cmmnClCodeVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + + // 첫 입력란에 포커스 + document.getElementById("cmmnClCodeVO").clCode.focus(); + +} +/* ******************************************************** + * 저장처리화면 + ******************************************************** */ +function fn_egov_regist_code(form){ + //input item Client-Side validate + if (!validateCmmnClCodeVO(form)) { + return false; + } else { + if(confirm("<spring:message code="common.regist.msg" />")){ + form.submit(); + } + } +} + +/* ******************************************************** +* 서버 처리 후 메세지 화면에 보여주기 +******************************************************** */ +function fncShowMessg(){ + if("<c:out value='${message}'/>" != ''){ + alert("<c:out value='${message}'/>"); + } +} + +</script> + +</head> +<body onLoad="fn_egov_init(); fncShowMessg();"> + +<form:form commandName="cmmnClCodeVO" action="${pageContext.request.contextPath}/sym/ccm/ccc/RegistCcmCmmnClCode.do" method="post" onSubmit="fn_egov_regist_code(document.forms[0]); return false;"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle } <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 20%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputYes"><spring:message code="input.yes" /></c:set> + <c:set var="inputNo"><spring:message code="input.no" /></c:set> + + <!-- 분류코드 --> + <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCode"/> </c:set> + <tr> + <th><label for="clCode">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="clCode" title="${title} ${inputTxt}" size="70" maxlength="70" /> + <div><form:errors path="clCode" cssClass="error" /></div> + </td> + </tr> + + <!-- 분류코드명 --> + <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeNm"/> </c:set> + <tr> + <th><label for="clCodeNm">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="clCodeNm" title="${title} ${inputTxt}" size="70" maxlength="70" /> + <div><form:errors path="clCodeNm" cssClass="error" /></div> + </td> + </tr> + + <!-- 분류코드설명 --> + <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeDc"/> </c:set> + <tr> + <th><label for="clCodeDc">${title } <span class="pilsu">*</span></label></th> + <td class="nopd"> + <form:textarea path="clCodeDc" title="${title} ${inputTxt}" cols="300" rows="20" /> + <div><form:errors path="clCodeDc" cssClass="error" /></div> + </td> + </tr> + + <!-- 사용여부 --> + <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.useAt"/> </c:set> + <tr> + <th>${title } <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="useAt" title="${title} ${inputTxt}" cssClass="txt"> + <form:option value="Y" label=" ${inputYes}"/> + <form:option value="N" label=" ${inputNo}"/> + </form:select> + <div><form:errors path="useAt" cssClass="error" /></div> + </td> + </tr> + + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /> + <span class="btn_s"><a href="<c:url value='/sym/ccm/ccc/SelectCcmCmmnClCodeList.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + </div><div style="clear:both;"></div> + +</div> + +<input name="cmd" type="hidden" value="<c:out value='save'/>"> +</form:form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeUpdt.jsp (revision 7) @@ -0,0 +1,136 @@ +<% + /** + * @Class Name : EgovCcmCmmnClCodeUpdt.jsp + * @Description : 공통분류코드 수정하는 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2017.08.04 이정은 표준프레임워크 v3.7 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comSymCcmCcc.cmmnClCodeVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle } <spring:message code="title.update" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="cmmnClCodeVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.getElementById("cmmnClCodeVO").clCodeNm.focus(); +} +/* ******************************************************** + * 저장처리화면 + ******************************************************** */ +function fn_egov_updt_code(form){ + if (!validateCmmnClCodeVO(form)) { + return false; + } else { + if(confirm("<spring:message code="common.update.msg" />")){ + form.submit(); + } + } +} +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_inqire_code() { + cmmnClCodeVO.action = "<c:url value='/sym/ccm/ccc/SelectCcmCmmnClCodeList.do'/>"; + cmmnClCodeVO.submit(); +} +</script> +</head> +<body onLoad="fn_egov_init();"> + +<!-- 상단타이틀 --> +<form:form commandName="cmmnClCodeVO" action="${pageContext.request.contextPath}/sym/ccm/ccc/UpdateCcmCmmnClCode.do" method="post" onSubmit="fn_egov_updt_code(document.forms[0]); return false;"> +<div class="wTableFrm"> + <h2>${pageTitle} <spring:message code="title.update" /></h2> + + <!-- 수정폼 --> + <table class="wTable" summary="<spring:message code="common.summary.update" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.update" /></caption> + <colgroup> + <col style="width: 20%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputYes"><spring:message code="input.yes" /></c:set> + <c:set var="inputNo"><spring:message code="input.no" /></c:set> + + <!-- 분류코드 --> + <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCode"/> </c:set> + <tr> + <th><label for="clCode">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="clCode" title="${title} ${inputTxt}" size="70" maxlength="70" readonly="true" /> + <div><form:errors path="clCode" cssClass="error" /></div> + </td> + </tr> + <!-- 분류코드명 --> + <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeNm"/> </c:set> + <tr> + <th><label for="clCodeNm">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="clCodeNm" title="${title} ${inputTxt}" size="70" maxlength="70" /> + <div><form:errors path="clCodeNm" cssClass="error" /></div> + </td> + </tr> + + <!-- 분류코드설명 --> + <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeDc"/> </c:set> + <tr> + <th><label for="clCodeDc">${title } <span class="pilsu">*</span></label></th> + <td class="nopd"> + <form:textarea path="clCodeDc" title="${title} ${inputTxt}" cols="300" rows="20" /> + <div><form:errors path="clCodeDc" cssClass="error" /></div> + </td> + </tr> + + <!-- 사용여부 --> + <c:set var="title"><spring:message code="comSymCcmCcc.cmmnClCodeVO.useAt"/> </c:set> + <tr> + <th><label for="useAt">${title } <span class="pilsu">*</span></label></th> + <td class="left"> + <form:select path="useAt" title="${title} ${inputTxt }" cssClass="txt"> + <form:option value="Y" label=" ${inputYes}"/> + <form:option value="N" label=" ${inputNo}"/> + </form:select> + <div><form:errors path="useAt" cssClass="error" /></div> + </td> + </tr> + + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="button.update" /> <spring:message code="input.button" />" /> + <a href="<c:url value='/sym/ccm/ccc/SelectCcmCmmnClCodeList.do' />" class="btn_s" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a> + </div><div style="clear:both;"></div> + +</div> +</form:form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeList.jsp (revision 7) @@ -0,0 +1,141 @@ +<% + /** + * @Class Name : EgovCcmCmmnClCodeList.jsp + * @Description : 공통분류코드 목록 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2017.07.20 이정은 표준프레임워크 v3.7 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comSymCcmCcc.cmmnClCodeVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.CcmClCodeForm.searchCondition.focus(); +} + +/********************************************************* + * 페이징 처리 함수 + ******************************************************** */ +function fn_egov_select_linkPage(pageNo){ + document.CcmClCodeForm.pageIndex.value = pageNo; + document.CcmClCodeForm.action = "<c:url value='/sym/ccm/ccc/SelectCcmCmmnClCodeList.do'/>"; + document.CcmClCodeForm.submit(); +} +/********************************************************* + * 조회 처리 함수 + ******************************************************** */ +function fn_egov_search_code(){ + document.CcmClCodeForm.pageIndex.value = 1; + document.CcmClCodeForm.submit(); +} +/* ******************************************************** + * 상세회면 처리 함수 + ******************************************************** */ +function fn_egov_inquire_codedetail(clCode) { + // 사이트 키값(siteId) 셋팅. + document.CcmClCodeForm.clCode.value = clCode; + document.CcmClCodeForm.action = "<c:url value='/sym/ccm/ccc/SelectCcmCmmnClCodeDetail.do'/>"; + document.CcmClCodeForm.submit(); +} +</script> +</head> +<body onload="fn_egov_init()"> + +<form name="CcmClCodeForm" action="<c:url value='/sym/ccm/ccc/SelectCcmCmmnClCodeList.do'/>" method="post" onSubmit="fn_egov_search_code(); return false;"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + + <!-- 검색영역 --> + <!-- 검색조건선택 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <select name="searchCondition" title="<spring:message code="title.searchCondition" />"> + + <%-- <option <c:if test="${searchVO.searchCondition == ''}">selected="selected"</c:if>><spring:message code="input.select" /></option><!-- 선택하세요 --> --%> + <option selected value=''><spring:message code="input.select" /></option><!-- 선택하세요 --> + <option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if> ><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCode" /></option><!-- 분류코드 --> + <option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if> ><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeNm" /></option><!-- 분류코드명 --> + </select> + </li> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="155" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /> + <span class="btn_b"><a href="<c:url value='/sym/ccm/ccc/RegistCcmCmmnClCodeView.do' />" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span> + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle}<spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 9%;"> + <col style="width: 13%;"> + <col style="width: 40%;"> + <col style="width: 13%;"> + </colgroup> + <thead> + <tr> + <th><spring:message code="table.num" /></th><!-- 번호 --> + <th><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCode" /></th><!-- 분류코드 --> + <th class="board_th_link"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeNm" /></th><!-- 분류코드명 --> + <th><spring:message code="comSymCcmCcc.cmmnClCodeVO.useAt" /></th><!-- 사용여부 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="4"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value='${resultInfo.clCode}'/></td> + <td><a href="<c:url value='/sym/ccm/ccc/SelectCcmCmmnClCodeDetail.do'/>?clCode=${resultInfo.clCode}" onClick="fn_egov_inquire_codedetail('<c:out value="${resultInfo.clCode}"/>');return false;"><c:out value='${fn:substring(resultInfo.clCodeNm, 0, 40)}'/></a></td> + <td><c:out value='${resultInfo.useAt}'/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_linkPage"/> + </ul> + </div> + +</div> + +<input name="clCode" type="hidden" value=""> +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> +</form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeDetail.jsp (revision 7) @@ -0,0 +1,99 @@ +<% + /** + * @Class Name : EgovCcmCmmnClCodeDetail.jsp + * @Description : 공통분류코드 상세조회 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2017.08.03 이정은 표준프레임워크 v3.7 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<c:set var="pageTitle"><spring:message code="comSymCcmCcc.cmmnClCodeVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.detail" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript"> +/* ******************************************************** + * 삭제처리 + ******************************************************** */ + function fn_egov_delete_code(clCode){ + if(confirm("<spring:message code="common.delete.msg" />")){ + // Delete하기 위한 키값을 셋팅 + document.CcmClCodeForm.clCode.value = clCode; + document.CcmClCodeForm.action = "<c:url value='/sym/ccm/ccc/RemoveCcmCmmnClCode.do'/>"; + document.CcmClCodeForm.submit(); + } +} +</script> +</head> +<body> + +<form name="CcmClCodeForm" action="<c:url value='/sym/ccm/ccc/UpdateCcmCmmnClCodeView.do'/>" method="post"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.detail" /></h2> + + <!-- 상세조회 --> + <table class="wTable" summary="<spring:message code="common.summary.inqire" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.detail" /></caption> + <colgroup> + <col style="width: 20%;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 분류코드 --> + <tr> + <th><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCode" /></th> + <td class="left"><c:out value="${result.clCode}"/></td> + </tr> + <!-- 분류코드명 --> + <tr> + <th><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeNm" /></th> + <td class="left"><c:out value="${result.clCodeNm}"/></td> + </tr> + <!-- 분류코드설명 --> + <tr> + <th class="vtop"><spring:message code="comSymCcmCcc.cmmnClCodeVO.clCodeDc" /></th> + <td class="cnt"> + <c:out value="${fn:replace(result.clCodeDc , crlf , '<br/>')}" escapeXml="false" /> + </td> + </tr> + <!-- 사용여부 --> + <tr> + <th><spring:message code="comSymCcmCcc.cmmnClCodeVO.useAt" /></th> + <td class="left"><c:out value="${result.useAt}"/></td> + </tr> + + + </tbody> + </table> + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="title.update" /> <spring:message code="input.button" />" /> + <span class="btn_s"><a href="<c:url value='/sym/ccm/ccc/RemoveCcmCmmnClCode.do?clCode=${result.clCode}' />" onClick="fn_egov_delete_code('<c:out value="${result.clCode}"/>'); return false;" title="<spring:message code="title.delete" /> <spring:message code="input.button" />"><spring:message code="button.delete" /></a></span> + <span class="btn_s"><a href="<c:url value='/sym/ccm/ccc/SelectCcmCmmnClCodeList.do' />" title="<spring:message code="title.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + </div><div style="clear:both;"></div> + +</div> + +<input name="clCode" type="hidden" value="<c:out value="${result.clCode}" />"> +</form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/ccc/EgovCcmCmmnClCodeDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeUpdt.jsp (revision 7) @@ -0,0 +1,151 @@ +<% + /** + * @Class Name : EgovCcmCmmnDetailCodeUpdt.jsp + * @Description : 공통상세코드 수정하는 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2017.09.04 이정은 표준프레임워크 v3.7 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.update" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="cmmnDetailCodeVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.getElementById("cmmnDetailCodeVO").codeNm.focus(); +} +/* ******************************************************** + * 저장처리화면 + ******************************************************** */ +function fn_egov_updt_code(form){ + //input item Client-Side validate + if (!validateCmmnDetailCodeVO(form)) { + return false; + } else { + if(confirm("<spring:message code="common.update.msg" />")){ + form.submit(); + } + } +} +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_inqire_code() { + document.CcmDeCodeForm.action = "<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do'/>"; + document.CcmDeCodeForm.submit(); +} +</script> +</head> +<body onLoad="fn_egov_init();"> + + +<!-- 상단타이틀 --> +<form:form commandName="cmmnDetailCodeVO" action="${pageContext.request.contextPath}/sym/ccm/cde/UpdateCcmCmmnDetailCode.do" method="post" onSubmit="fn_egov_updt_code(document.forms[0]); return false;"> +<div class="wTableFrm"> + <h2>${pageTitle} <spring:message code="title.update" /></h2> + + <!-- 수정폼 --> + <table class="wTable" summary="<spring:message code="common.summary.update" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.update" /></caption> + <colgroup> + <col style="width: 20%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputSelect"><spring:message code="input.select"/></c:set> + <c:set var="inputYes"><spring:message code="input.yes" /></c:set> + <c:set var="inputNo"><spring:message code="input.no" /></c:set> + + <!-- 코드ID --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeId"/> </c:set> + <tr> + <th><label for="codeId">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="codeId" title="${title} ${inputSelect}" readonly="true"/> + <div><form:errors path="codeId" cssClass="error" /></div> + + </td> + </tr> + + <!-- 상세코드 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.code"/> </c:set> + <tr> + <th><label for="code">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="code" title="${title} ${inputTxt}" size="70" maxlength="70" readonly="true" /> + <div><form:errors path="code" cssClass="error" /></div> + </td> + </tr> + + <!-- 상세코드명 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeNm"/> </c:set> + <tr> + <th><label for="codeNm">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="codeNm" title="${title} ${inputTxt}" size="70" maxlength="70" /> + <div><form:errors path="codeNm" cssClass="error" /></div> + </td> + </tr> + + <!-- 상세코드설명 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeDc"/> </c:set> + <tr> + <th><label for="codeDc">${title } <span class="pilsu">*</span></label></th> + <td class="nopd"> + <form:textarea path="codeDc" title="${title} ${inputTxt}" cols="300" rows="20" /> + <div><form:errors path="codeDc" cssClass="error" /></div> + </td> + </tr> + + <!-- 사용여부 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.useAt"/> </c:set> + <tr> + <th><label for="useAt">${title } <span class="pilsu">*</span></label></th> + <td class="left"> + <form:select path="useAt" title="${title} ${inputTxt }" cssClass="txt"> + <form:option value="Y" label=" ${inputYes}"/> + <form:option value="N" label=" ${inputNo}"/> + </form:select> + <div><form:errors path="useAt" cssClass="error" /></div> + </td> + </tr> + + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="button.update" /> <spring:message code="input.button" />" /> + <a href="<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do' />" class="btn_s" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a> + </div><div style="clear:both;"></div> + +</div> +</form:form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeList.jsp (revision 7) @@ -0,0 +1,145 @@ +<% + /** + * @Class Name : EgovCcmCmmnDetailCodeList.jsp + * @Description : 공통상세코드 목록 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2017.08.31 이정은 표준프레임워크 v3.7 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.list" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + // 첫 입력란에 포커스.. + document.CcmDeCodeForm.searchCondition.focus(); +} + +/********************************************************* + * 페이징 처리 함수 + ******************************************************** */ +function fn_egov_select_linkPage(pageNo){ + document.CcmDeCodeForm.pageIndex.value = pageNo; + document.CcmDeCodeForm.action = "<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do'/>"; + document.CcmDeCodeForm.submit(); +} +/********************************************************* + * 조회 처리 함수 + ******************************************************** */ +function fn_egov_search_code(){ + document.CcmDeCodeForm.pageIndex.value = 1; + document.CcmDeCodeForm.submit(); +} +/* ******************************************************** + * 상세회면 처리 함수 + ******************************************************** */ +function fn_egov_inquire_codedetail(codeId, code) { + // 사이트 키값(siteId) 셋팅. + document.CcmDeCodeForm.codeId.value = codeId; + document.CcmDeCodeForm.code.value = code; + document.CcmDeCodeForm.action = "<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeDetail.do'/>"; + document.CcmDeCodeForm.submit(); +} +</script> +</head> +<body onload="fn_egov_init()"> + +<form name="CcmDeCodeForm" action="<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do'/>" method="post" onSubmit="fn_egov_search_code(); return false;"> +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + + <!-- 검색영역 --> + <!-- 검색조건선택 --> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <select name="searchCondition" title="<spring:message code="title.searchCondition" />"> + <option selected value=''><spring:message code="input.select" /></option><!-- 선택하세요 --> + <option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if> ><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeId" /></option><!-- 코드ID --> + <option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if> ><spring:message code="comSymCcmCde.cmmnDetailCodeVO.code" /></option><!-- 코드ID --> + <option value="3" <c:if test="${searchVO.searchCondition == '3'}">selected="selected"</c:if> ><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeNm" /></option><!-- 코드명 --> + </select> + </li> + <!-- 검색키워드 및 조회버튼 --> + <li> + <input class="s_input" name="searchKeyword" type="text" size="35" title="<spring:message code="title.search" /> <spring:message code="input.input" />" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="155" > + <input type="submit" class="s_btn" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire" /> <spring:message code="input.button" />" /> + <span class="btn_b"><a href="<c:url value='/sym/ccm/cde/RegistCcmCmmnDetailCodeView.do' />" title="<spring:message code="button.create" /> <spring:message code="input.button" />"><spring:message code="button.create" /></a></span> + </li> + </ul> + </div> + + <!-- 목록영역 --> + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle}<spring:message code="title.list" /></caption> + <colgroup> + <col style="width: 9%;"> + <col style="width: 40%;"> + <col style="width: 13%;"> + <col style="width: 40%;"> + <col style="width: 13%;"> + </colgroup> + <thead> + <tr> + <th><spring:message code="table.num" /></th><!-- 번호 --> + <th><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeId" /></th><!-- 코드ID --> + <th class="board_th_link"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.code" /></th><!-- 코드 --> + <th><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeNm"/></th><!-- 코드명 --> + <th><spring:message code="comSymCcmCde.cmmnDetailCodeVO.useAt" /></th><!-- 사용여부 --> + </tr> + </thead> + <tbody class="ov"> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="5"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value='${resultInfo.codeId}'/></td> + <td><c:out value='${resultInfo.code}'/></td> + <td><a href="<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeDetail.do'/>?codeId=${resultInfo.codeId}&amp;code=${resultInfo.code}" onClick="fn_egov_inquire_codedetail('<c:out value="${resultInfo.codeId}"/>','<c:out value="${resultInfo.code}"/>');return false;"><c:out value='${fn:substring(resultInfo.codeNm, 0, 40)}'/></a></td> + <td><c:out value='${resultInfo.useAt}'/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_linkPage"/> + </ul> + </div> + +</div> + +<input name="codeId" type="hidden" value=""> +<input name="code" type="hidden" value=""> +<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> +</form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeDetail.jsp (revision 7) @@ -0,0 +1,106 @@ +<% + /** + * @Class Name : EgovCcmCmmnDetailCodeDetail.jsp + * @Description : 공통상세코드 상세조회 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2017.08.09 이정은 표준프레임워크 v3.7 개선 + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<c:set var="pageTitle"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.detail" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript"> +/* ******************************************************** + * 삭제처리 + ******************************************************** */ + function fn_egov_delete_code(codeId, code){ + if(confirm("<spring:message code="common.delete.msg" />")){ + // Delete하기 위한 키값을 셋팅 + document.CcmDeCodeForm.codeId.value = codeId; + document.CcmDeCodeForm.code.value = code; + document.CcmDeCodeForm.action = "<c:url value='/sym/ccm/cde/RemoveCcmCmmnDetailCode.do'/>"; + document.CcmDeCodeForm.submit(); + } +} +</script> +</head> +<body> + +<form name="CcmDeCodeForm" action="<c:url value='/sym/ccm/cde/UpdateCcmCmmnDetailCodeView.do'/>" method="post"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.detail" /></h2> + + <!-- 상세조회 --> + <table class="wTable" summary="<spring:message code="common.summary.inqire" arguments="${pageTitle}" />"> + <caption>${pageTitle} <spring:message code="title.detail" /></caption> + <colgroup> + <col style="width: 20%;"> + <col style="width: ;"> + </colgroup> + <tbody> + <!-- 코드ID명 --> + <tr> + <th><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeIdNm" /></th> + <td class="left"><c:out value="${result.codeIdNm}"/></td> + </tr> + <!-- 상세코드 --> + <tr> + <th><spring:message code="comSymCcmCde.cmmnDetailCodeVO.code" /></th> + <td class="left"><c:out value="${result.code}"/></td> + </tr> + <!-- 상세코드명 --> + <tr> + <th><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeNm" /></th> + <td class="left"><c:out value="${result.codeNm}"/></td> + </tr> + <!-- 상세코드설명 --> + <tr> + <th class="vtop"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeDc" /></th> + <td class="cnt"> + <c:out value="${fn:replace(result.codeDc , crlf , '<br/>')}" escapeXml="false" /> + </td> + </tr> + <!-- 사용여부 --> + <tr> + <th><spring:message code="comSymCcmCde.cmmnDetailCodeVO.useAt" /></th> + <td class="left"><c:out value="${result.useAt}"/></td> + </tr> + + + </tbody> + </table> + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.update" />" title="<spring:message code="title.update" /> <spring:message code="input.button" />" /> + <span class="btn_s"><a href="<c:url value='/sym/ccm/cde/RemoveCcmCmmnDetailCode.do?codeId=${result.codeId}&amp;code=${result.code}' />" onClick="fn_egov_delete_code('<c:out value="${result.codeId}"/>','<c:out value="${result.code}"/>'); return false;" title="<spring:message code="title.delete" /> <spring:message code="input.button" />"><spring:message code="button.delete" /></a></span> + <span class="btn_s"><a href="<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do' />" title="<spring:message code="title.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + </div><div style="clear:both;"></div> + +</div> + +<input name="codeId" type="hidden" value="<c:out value="${result.codeId}" />"> +<input name="code" type="hidden" value="<c:out value="${result.code}" />"> +</form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.jsp (revision 7) @@ -0,0 +1,182 @@ +<% + /** + * @Class Name : EgovCcmCmmnDetailCodeRegist.jsp + * @Description : 공통상세코드 등록 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 박정규 최초 생성 + * 2017.09.04 이정은 표준프레임워크 v3.7 개선 + * + * @author 공통서비스팀 + * @since 2009.02.01 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} <spring:message code="title.create" /></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="cmmnDetailCodeVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + + // 첫 입력란에 포커스 + document.getElementById("cmmnDetailCodeVO").clCode.focus(); + +} +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_list_code(){ + location.href = "<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do' />"; +} +/* ******************************************************** + * 저장처리화면 + ******************************************************** */ +function fn_egov_regist_code(form){ + //input item Client-Side validate + if (!validateCmmnDetailCodeVO(form)) { + return false; + } else { + if(confirm("<spring:message code="common.regist.msg" />")){ + form.action="<c:url value='/sym/ccm/cde/RegistCcmCmmnDetailCode.do'/>"; + form.submit(); + } + } +} +/* ******************************************************** + * CodeId 가져오기 + ******************************************************** */ +function fn_egov_get_CodeId(form){ + + form.action="<c:url value='/sym/ccm/cde/RegistCcmCmmnDetailCodeView.do'/>"; + form.submit(); +} + +/* ******************************************************** +* 서버 처리 후 메세지 화면에 보여주기 +******************************************************** */ +function fncShowMessg(){ + if("<c:out value='${message}'/>" != ''){ + alert("<c:out value='${message}'/>"); + } +} + +</script> + +</head> +<body onLoad="fn_egov_init(); fncShowMessg();"> + +<form:form commandName="cmmnDetailCodeVO" method="post" onSubmit="fn_egov_regist_code(document.forms[0]); return false;"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2> + + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption>${pageTitle } <spring:message code="title.create" /></caption> + <colgroup> + <col style="width: 20%;"><col style="width: ;"> + </colgroup> + <tbody> + <!-- 입력/선택 --> + <c:set var="inputTxt"><spring:message code="input.input" /></c:set> + <c:set var="inputSelect"><spring:message code="input.select"/></c:set> + <c:set var="inputYes"><spring:message code="input.yes" /></c:set> + <c:set var="inputNo"><spring:message code="input.no" /></c:set> + <!-- 코드ID --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeId"/> </c:set> + <tr> + <th><label for="codeId">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:select path="clCode" title="${title} ${inputSelect}" onChange="fn_egov_get_CodeId(cmmnDetailCodeVO);"> + <form:option value="" label="${inputSelect}"/> + <form:options items="${clCodeList}" itemValue="clCode" itemLabel="clCodeNm"/> + </form:select> + + <form:select path="codeId" title="${title} ${inputSelect}" > + <form:option value="" label="${inputSelect}"/> + <form:options items="${codeList}" itemValue="codeId" itemLabel="codeIdNm"/> + </form:select> + <div><form:errors path="codeId" cssClass="error" /></div> + + </td> + </tr> + + <!-- 상세코드 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.code"/> </c:set> + <tr> + <th><label for="code">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="code" title="${title} ${inputTxt}" size="70" maxlength="70" /> + <div><form:errors path="code" cssClass="error" /></div> + </td> + </tr> + + <!-- 상세코드명 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeNm"/> </c:set> + <tr> + <th><label for="codeNm">${title} <span class="pilsu">*</span></label></th> + <td class="left"> + <form:input path="codeNm" title="${title} ${inputTxt}" size="70" maxlength="70" /> + <div><form:errors path="codeNm" cssClass="error" /></div> + </td> + </tr> + + <!-- 상세코드설명 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.codeDc"/> </c:set> + <tr> + <th><label for="codeDc">${title } <span class="pilsu">*</span></label></th> + <td class="nopd"> + <form:textarea path="codeDc" title="${title} ${inputTxt}" cols="300" rows="20" /> + <div><form:errors path="codeDc" cssClass="error" /></div> + </td> + </tr> + + <!-- 사용여부 --> + <c:set var="title"><spring:message code="comSymCcmCde.cmmnDetailCodeVO.useAt"/> </c:set> + <tr> + <th>${title } <span class="pilsu">*</span></th> + <td class="left"> + <form:select path="useAt" title="${title} ${inputTxt }" cssClass="txt"> + <form:option value="Y" label=" ${inputYes}"/> + <form:option value="N" label=" ${inputNo}"/> + </form:select> + <div><form:errors path="useAt" cssClass="error" /></div> + </td> + </tr> + + </tbody> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input type="submit" class="s_submit" value="<spring:message code="button.create" />" title="<spring:message code="button.create" /> <spring:message code="input.button" />" /> + <span class="btn_s"><a href="<c:url value='/sym/ccm/cde/SelectCcmCmmnDetailCodeList.do' />" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + </div><div style="clear:both;"></div> + +</div> + +<%-- <input name="cmd" type="hidden" value="<c:out value='save'/>"> --%> +</form:form> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/sym/ccm/cde/EgovCcmCmmnDetailCodeRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uap/EgovLoginPolicyRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uap/EgovLoginPolicyRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uap/EgovLoginPolicyRegist.jsp (revision 7) @@ -0,0 +1,169 @@ +<%-- +/** + * @Class Name : EgovLoginPolicyRegist.java + * @Description : EgovLoginPolicyRegist jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 lee.m.j 최초 생성 + * @ 2018.09.03 신용호 공통컴포넌트 3.8 개선 + * + * @author lee.m.j + * @since 2009.03.11 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ + --%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<title><spring:message code="comUatUap.loginPolicyRegist.title"/></title><!-- 로그인정책 등록 --> +<%-- <script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFile.js'/>" ></script> --%> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFiles.js'/>" ></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="loginPolicy" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript"> + +function fncSelectLoginPolicyList() { + var varFrom = document.getElementById("loginPolicy"); + varFrom.action = "<c:url value='/uat/uap/selectLoginPolicyList.do'/>"; + varFrom.submit(); +} + +function fncLoginPolicyInsert() { + + var varFrom = document.getElementById("loginPolicy"); + varFrom.action = "<c:url value='/uat/uap/addLoginPolicy.do'/>"; + + if(confirm("<spring:message code="comUatUap.loginPolicyRegist.validate.confirm.save"/>")){ //저장 하시겠습니까? + if(!validateLoginPolicy(varFrom)){ + return; + }else{ + if(ipValidate()) + varFrom.submit(); + else + return; + } + } +} + +function ipValidate() { + + var varFrom = document.getElementById("loginPolicy"); + var IPvalue = varFrom.ipInfo.value; + + var ipPattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; + var ipArray = IPvalue.match(ipPattern); + + var result = ""; + var thisSegment; + + if(IPvalue == "0.0.0.0") { + alert(IPvalue + " : <spring:message code="comUatUap.loginPolicyRegist.validate.info.exceptionIP"/>"); //예외 아이피 입니다. + result = false; + } else if (IPvalue == "255.255.255.255") { + alert(result =IPvalue + " : <spring:message code="comUatUap.loginPolicyRegist.validate.info.exceptionIP"/>"); //예외 아이피 입니다. + result = false; + } else { + result = true; + } + + if(ipArray == null) { + alert("<spring:message code="comUatUap.loginPolicyRegist.validate.info.invalidForm"/>"); //형식이 일치 하지않습니다. + result = false; + } else { + for (var i=1; i<5; i++) { + + thisSegment = ipArray[i]; + + if (thisSegment > 255) { + alert("<spring:message code="comUatUap.loginPolicyRegist.validate.info.invalidForm"/>"); //형식이 일치 하지않습니다. + result = false; + } + + if ((i == 0) && (thisSegment > 255)) { + alert("<spring:message code="comUatUap.loginPolicyRegist.validate.info.invalidForm"/>"); //형식이 일치 하지않습니다. + result = false; + } + } + } + + return result; +} + +</script> +</head> + +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comUatUap.loginPolicyRegist.pageTop.title"/></h2><!-- 로그인정책 등록 --> + <form:form commandName="loginPolicy" method="post" action="${pageContext.request.contextPath}/uat/uap/addLoginPolicy.do' />"> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUatUap.loginPolicyRegist.emplyrId"/> <span class="pilsu">*</span></th><!-- 사용자ID --> + <td class="left"> + <input id="emplyrId" name="emplyrId" type="text" value="<c:out value='${loginPolicy.emplyrId}'/>" title="<spring:message code="comUatUap.loginPolicyRegist.emplyrId"/>" size="30" maxlength="30" readonly="readonly" /><!-- 사용자ID --> + </td> + </tr> + <tr> + <th><spring:message code="comUatUap.loginPolicyRegist.emplyrNm"/> <span class="pilsu">*</span></th><!-- 사용자명 --> + <td class="left"> + <input id="emplyrNm" type="text" name="emplyrNm" value="<c:out value='${loginPolicy.emplyrNm}'/>" title="<spring:message code="comUatUap.loginPolicyRegist.emplyrNm"/>" size="30" maxlength="50" readonly="readonly" /><!-- 사용자명 --> + </td> + </tr> + <tr> + <th><spring:message code="comUatUap.loginPolicyRegist.ipInfo"/> <span class="pilsu">*</span></th><!-- IP정보 --> + <td class="left"> + <input id="ipInfo" type="text" name="ipInfo" title="<spring:message code="comUatUap.loginPolicyRegist.ipInfo"/>" size="30" maxLength="23" />&nbsp;<form:errors path="ipInfo" /><!-- IP정보 --> + </td> + </tr> + <tr> + <th><spring:message code="comUatUap.loginPolicyRegist.lmttAt"/> <span class="pilsu">*</span></th><!-- IP제한여부 --> + <td class="left"> + <select name="lmttAt" id="lmttAt" title="<spring:message code="comUatUap.loginPolicyRegist.lmttAt"/>"><!-- IP제한여부 --> + <option value="Y">Y</option> + <option value="N">N</option> + </select>&nbsp;<form:errors path="lmttAt" /> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.save" />" onclick="fncLoginPolicyInsert(); return false;" /><!-- 저장 --> + <span class="btn_s"><a href="<c:url value='/uat/uap/selectLoginPolicyList.do'/>?pageIndex=<c:out value='${loginPolicyVO.pageIndex}'/>&amp;searchKeyword=<c:out value="${loginPolicyVO.searchKeyword}"/>&amp;searchCondition=1" onclick="fncSelectLoginPolicyList(); return false;"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div> + <div style="clear:both;"></div> + <input type="hidden" name="dplctPermAt" value="Y" > + <input type="hidden" name="searchCondition" value="<c:out value='${loginPolicyVO.searchCondition}'/>" > + <input type="hidden" name="searchKeyword" value="<c:out value='${loginPolicyVO.searchKeyword}'/>" > + <input type="hidden" name="pageIndex" value="<c:out value='${loginPolicyVO.pageIndex}'/>" > + </form:form> +</div> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uap/EgovLoginPolicyRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uap/EgovLoginPolicyUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uap/EgovLoginPolicyUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uap/EgovLoginPolicyUpdt.jsp (revision 7) @@ -0,0 +1,187 @@ +<!DOCTYPE html> +<%-- +/** + * @Class Name : EgovLoginPolicyUpdt.java + * @Description : EgovLoginPolicyUpdt jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.02.01 lee.m.j 최초 생성 + * @ 2018.09.03 신용호 공통컴포넌트 3.8 개선 + * + * @author lee.m.j + * @since 2009.03.11 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ + --%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title><spring:message code="comUatUap.loginPolicyUpdt.title"/></title><!-- 로그인정책 수정 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<%-- <script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFile.js'/>" ></script> --%> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFiles.js'/>" ></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="loginPolicy" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- + +function fncSelectLoginPolicyList() { + var varFrom = document.getElementById("loginPolicy"); + varFrom.action = "<c:url value='/uat/uap/selectLoginPolicyList.do'/>"; + varFrom.submit(); +} + +function fncLoginPolicyUpdate() { + var varFrom = document.getElementById("loginPolicy"); + varFrom.action = "<c:url value='/uat/uap/updtLoginPolicy.do'/>"; + + if(confirm("<spring:message code="comUatUap.loginPolicyUpdt.validate.confirm.save"/>")){ //저장 하시겠습니까? + if(!validateLoginPolicy(varFrom)){ + return; + }else{ + if(ipValidate()) + varFrom.submit(); + else + return; + } + } +} + +function fncLoginPolicyDelete() { + var varFrom = document.getElementById("loginPolicy"); + varFrom.action = "<c:url value='/uat/uap/removeLoginPolicy.do'/>"; + if(confirm("<spring:message code="comUatUap.loginPolicyUpdt.validate.confirm.delete"/>")){ //삭제 하시겠습니까? + varFrom.submit(); + } +} + +function ipValidate() { + + var varFrom = document.getElementById("loginPolicy"); + var IPvalue = varFrom.ipInfo.value; + + var ipPattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; + var ipArray = IPvalue.match(ipPattern); + + var result = ""; + var thisSegment; + + if(IPvalue == "0.0.0.0") { + alert(IPvalue + " : <spring:message code="comUatUap.loginPolicyUpdt.validate.info.exceptionIP"/>"); //예외 아이피 입니다. + result = false; + } else if (IPvalue == "255.255.255.255") { + alert(result =IPvalue + " : <spring:message code="comUatUap.loginPolicyUpdt.validate.info.exceptionIP"/>"); //예외 아이피 입니다. + result = false; + } else { + result = true; + } + + if(ipArray == null) { + alert("<spring:message code="comUatUap.loginPolicyUpdt.validate.info.invalidForm"/>"); //형식이 일치 하지않습니다. + result = false; + } else { + for (var i=1; i<5; i++) { + + thisSegment = ipArray[i]; + + if (thisSegment > 255) { + alert("<spring:message code="comUatUap.loginPolicyUpdt.validate.info.invalidForm"/>"); //형식이 일치 하지않습니다. + result = false; + } + + if ((i == 0) && (thisSegment > 255)) { + alert("<spring:message code="comUatUap.loginPolicyUpdt.validate.info.invalidForm"/>"); //형식이 일치 하지않습니다. + result = false; + } + } + } + + return result; +} + +--> +</script> +</head> + +<body> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> +<form:form commandName="loginPolicy" method="post" action="${pageContext.request.contextPath}/uat/uap/updtLoginPolicy.do' />"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comUatUap.loginPolicyUpdt.pageTop.title"/></h2><!-- 로그인정책 수정 --> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUatUap.loginPolicyUpdt.emplyrId"/> <span class="pilsu">*</span></th><!-- 사용자ID --> + <td class="left"> + <input name="emplyrId" id="emplyrId" title="<spring:message code="comUatUap.loginPolicyUpdt.emplyrId"/>" type="text" <c:if test="${registerFlag == 'UPDATE'}">readonly</c:if> value="<c:out value='${loginPolicy.emplyrId}'/>" readonly="readonly" style="width:180px" /> + </td> + </tr> + <tr> + <th><spring:message code="comUatUap.loginPolicyUpdt.emplyrNm"/> <span class="pilsu">*</span></th><!-- 사용자명 --> + <td class="left"> + <input name="emplyrNm" id="emplyrNm" title="<spring:message code="comUatUap.loginPolicyUpdt.emplyrNm"/>" type="text" value="<c:out value='${loginPolicy.emplyrNm}'/>" maxLength="50" readonly="readonly" style="width:180px" /><!-- 사용자명 --> + </td> + </tr> + <tr> + <th><spring:message code="comUatUap.loginPolicyUpdt.ipInfo"/> <span class="pilsu">*</span></th><!-- IP정보 --> + <td class="left"> + <input name="ipInfo" id="ipInfo" title="<spring:message code="comUatUap.loginPolicyUpdt.ipInfo"/>" type="text" value="<c:out value='${loginPolicy.ipInfo}'/>" maxLength="23" size="30" >&nbsp;<form:errors path="ipInfo" /><!-- IP정보 --> + </td> + </tr> + <tr> + <th><spring:message code="comUatUap.loginPolicyUpdt.lmttAt"/> <span class="pilsu">*</span></th><!-- IP제한여부 --> + <td class="left"> + <select name="lmttAt" id="lmttAt" title="<spring:message code="comUatUap.loginPolicyUpdt.lmttAt"/>"><!-- IP제한여부 --> + <option value="Y" <c:if test="${loginPolicy.lmttAt == 'Y'}">selected</c:if> >Y</option> + <option value="N" <c:if test="${loginPolicy.lmttAt == 'N'}">selected</c:if> >N</option> + </select> + </td> + </tr> + <tr> + <th><spring:message code="comUatUap.loginPolicyUpdt.regDate"/> <span class="pilsu">*</span></th><!-- 등록일시 --> + <td class="left"> + <input name="regDate" id="regDate" title="<spring:message code="comUatUap.loginPolicyUpdt.regDate"/>" type="text" value="<c:out value='${loginPolicy.regDate}'/>" maxLength="50" readonly="readonly" style="width:180px" /><!-- 등록일시 --> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.save" />' onclick="fncLoginPolicyUpdate();return false;" /><!-- 저장 --> + <span class="btn_s"><a href="<c:url value='/uat/uap/removeLoginPolicy.do'/>?emplyrId=<c:out value='${loginPolicyVO.emplyrId}'/>" onclick="fncLoginPolicyDelete(); return false;"><spring:message code="button.delete" /></a></span><!-- 삭제 --> + <span class="btn_s"><a href="<c:url value='/uat/uap/selectLoginPolicyList.do'/>?pageIndex=<c:out value='${loginPolicyVO.pageIndex}'/>&amp;searchKeyword=<c:out value="${loginPolicyVO.searchKeyword}"/>&amp;searchCondition=1" onclick="fncSelectLoginPolicyList(); return false;"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div> + <div style="clear:both;"></div> +</div> + +<!-- 검색조건 유지 --> +<input type="hidden" name="dplctPermAt" value="Y" > +<input type="hidden" name="searchCondition" value="<c:out value='${loginPolicyVO.searchCondition}'/>" > +<input type="hidden" name="searchKeyword" value="<c:out value='${loginPolicyVO.searchKeyword}'/>" > +<input type="hidden" name="pageIndex" value="<c:out value='${loginPolicyVO.pageIndex}'/>" > +</form:form> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uap/EgovLoginPolicyUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uap/EgovLoginPolicyList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uap/EgovLoginPolicyList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uap/EgovLoginPolicyList.jsp (revision 7) @@ -0,0 +1,269 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ page import="egovframework.com.cmm.LoginVO" %> +<%@ page import="egovframework.com.cmm.util.EgovUserDetailsHelper" %> +<% +/** + * @Class Name : EgovLoginPolicyList.java + * @Description : EgovLoginPolicyList jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2009.02.01 lee.m.j 최초 생성 + * @ 2011.09.30 이기하 데이터 없을시 메시지 추가 + * @ 2018.09.03 신용호 공통컴포넌트 3.8 개선 + * + * @author lee.m.j + * @since 2009.03.21 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title><spring:message code="comUatUap.LoginPolicyList.title" /></title><!-- 로그인정책 목록조회 --> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- + +function fncCheckAll() { + var checkField = document.listForm.delYn; + if(document.listForm.checkAll.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} + +function fncManageChecked() { + + var checkField = document.listForm.delYn; + var checkId = document.listForm.checkId; + var returnValue = ""; + var returnBoolean = false; + var checkCount = 0; + + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i<checkField.length; i++) { + if(checkField[i].checked) { + checkCount++; + checkField[i].value = checkId[i].value; + if(returnValue == "") + returnValue = checkField[i].value; + else + returnValue = returnValue + ";" + checkField[i].value; + } + } + if(checkCount > 0) + returnBoolean = true; + else { + alert("<spring:message code="comUatUap.LoginPolicyList.validate.checkCount"/>");//선택된 로그인정책이 없습니다. + returnBoolean = false; + } + } else { + if(document.listForm.delYn.checked == false) { + alert("<spring:message code="comUatUap.LoginPolicyList.validate.checkCount"/>");//선택된 로그인정책이 없습니다. + returnBoolean = false; + } + else { + returnValue = checkId.value; + returnBoolean = true; + } + } + } else { + alert("<spring:message code="comUatUap.LoginPolicyList.validate.checkField"/>");//조회된 결과가 없습니다. + } + + document.listForm.emplyrIds.value = returnValue; + return returnBoolean; +} + +function fncSelectLoginPolicyList(pageNo){ + document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/uat/uap/selectLoginPolicyList.do'/>"; + document.listForm.submit(); +} + +function fncSelectLoginPolicy(emplyrId) { + document.listForm.emplyrId.value = emplyrId; + document.listForm.action = "<c:url value='/uat/uap/getLoginPolicy.do'/>"; + document.listForm.submit(); +} + +function fncInsertCheckId() { + + var checkedCounter = 0; + var checkIds = document.listForm.delYn; + var checkIdv = document.listForm.checkId; + var checkReg = document.listForm.regYn; + + if(checkIds == null) { + alert("<spring:message code="comUatUap.LoginPolicyList.validate.checkIds"/>");//조회 후 등록하시기 바랍니다. + return; + } + else { + + for(var i=0; i<checkIds.length; i++) { + if(checkIds[i].checked) { + if(checkReg[i].value == 'Y' ) { + alert("<spring:message code="comUatUap.LoginPolicyList.validate.checkReg"/>");//이미 로그인정책이 등록되어 있습니다. + return; + } + checkedCounter++; + document.listForm.emplyrId.value = checkIdv[i].value; + } + } + + if(checkedCounter > 1) { + alert("<spring:message code="comUatUap.LoginPolicyList.validate.checkedCounter.onlyOne"/>");//등록대상 하나만 선택하십시오. + return false; + } else if(checkedCounter < 1) { + alert("<spring:message code="comUatUap.LoginPolicyList.validate.checkedCounter.none"/>");//선택된 등록대상이 없습니다. + return false; + } + + return true; + } +} + +function fncAddLoginPolicyInsert() { + + if(fncInsertCheckId()) { + document.listForm.action = "<c:url value='/uat/uap/addLoginPolicyView.do'/>"; + document.listForm.submit(); + } +} + +function fncLoginPolicyListDelete() { + if(fncManageChecked()) { + if(confirm("<spring:message code="comUatUap.LoginPolicyList.validate.delete"/>")) {//삭제하시겠습니까? + document.listForm.action = "<c:url value='/uat/uap/removeLoginPolicyList.do'/>"; + document.listForm.submit(); + } + } +} + +function linkPage(pageNo){ + document.listForm.searchCondition.value = "1"; + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/uat/uap/selectLoginPolicyList.do'/>"; + document.listForm.submit(); +} + +function press() { + + if (event.keyCode==13) { + fncSelectLoginPolicyList('1'); + } +} +--> +</script> + +</head> + +<body> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="board"> + <h1><spring:message code="comUatUap.LoginPolicyList.caption" /></h1> + + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <form name="listForm" action="<c:url value='/uat/uap/selectLoginPolicyList.do'/>" method="post"> + + <ul> + <li> + <label for=""><spring:message code="comUatUap.LoginPolicyList.userName" /> : </label><!-- 사용자 명 --> + <input class="s_input2 vat" name="searchKeyword" type="text" value="<c:out value="${loginPolicyVO.searchKeyword}"/>" size="25" onkeypress="press();" title="<spring:message code="comUatUap.LoginPolicyList.userNameSearch" />" /><!-- 사용자명검색 --> + <input class="s_btn" type="submit" value="<spring:message code="button.inquire" />" title="<spring:message code="title.inquire"/>" onclick="fncSelectLoginPolicyList('1'); return false;" /><!-- 조회 --> + </li> + </ul> + <input type="hidden" name="emplyrId"> + <input type="hidden" name="pageIndex" value="<c:if test="${empty loginPolicyVO.pageIndex }">1</c:if><c:if test="${!empty loginPolicyVO.pageIndex }"><c:out value='${loginPolicyVO.pageIndex}'/></c:if>"> + <input type="hidden" name="searchCondition" value="1" > + </form> + </div> + + <table class="board_list"> + <caption><spring:message code="comUatUap.LoginPolicyList.caption" /></caption><!-- 로그인정책 관리 --> + <colgroup> + <col style="width:20%" /> + <col style="width:25%" /> + <col style="width:20%" /> + <col style="width:15%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUatUap.LoginPolicyList.userId"/></th><!-- 사용자 ID --> + <th scope="col"><spring:message code="comUatUap.LoginPolicyList.userName" /></th><!-- 사용자 명 --> + <th scope="col"><spring:message code="comUatUap.LoginPolicyList.ipInfo" /></th><!-- IP 정보 --> + <th scope="col"><spring:message code="comUatUap.LoginPolicyList.restricted" /></th><!-- 제한여부 --> + </tr> + </thead> + <tbody> + <%-- 데이터를 없을때 화면에 메세지를 출력해준다 --%> + <c:if test="${fn:length(loginPolicyList) == 0}"> + <tr> + <td colspan="4"> + <spring:message code="common.nodata.msg" /> + </td> + </tr> + </c:if> + <c:forEach var="loginPolicy" items="${loginPolicyList}" varStatus="status"> + <tr> + <td> + <form name="item" action="<c:url value='/uat/uap/getLoginPolicy.do'/>"> + <input type="hidden" name="emplyrId" value="<c:out value="${loginPolicy.emplyrId}"/>"> + <input type="hidden" name="pageIndex" value="<c:out value='${loginPolicyVO.pageIndex}'/>"> + <input type="hidden" name="searchCondition" value="<c:out value='${loginPolicyVO.searchCondition}'/>"> + <input type="hidden" name="searchKeyword" value="<c:out value="${loginPolicyVO.searchKeyword}"/>"> + <span class="link ac"><input type="submit" value="<c:out value="${loginPolicy.emplyrId}"/>" onclick="fncSelectLoginPolicy('<c:out value="${loginPolicy.emplyrId}"/>'); return false;"></span> + </form> + </td> + <td><c:out value="${loginPolicy.emplyrNm}"/></td> + <td><c:out value="${loginPolicy.ipInfo}"/></td> + <td><c:if test="${loginPolicy.lmttAt == 'Y'}">Y</c:if><c:if test="${loginPolicy.lmttAt == 'N'}">N</c:if></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <c:if test="${!empty loginPolicyVO.pageIndex }"> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> + </c:if> + +</div> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uap/EgovLoginPolicyList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovIdPasswordSearch.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovIdPasswordSearch.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovIdPasswordSearch.jsp (revision 7) @@ -0,0 +1,192 @@ +<% + /** + * @Class Name : EgovIdPasswordSearch.jsp + * @Description : 아이디/비밀번호 찾기 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.09 박지욱 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * @author 공통서비스팀 + * @since 2009.03.09 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<c:set var="pageTitle"><spring:message code="comUatUia.idPw.title"/></c:set> +<!DOCTYPE html> +<html> +<head> +<title>${pageTitle} </title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/uat/uia/idpw.css' />"> +<script> + +function fnCheckUsrId(userSe) { + // 일반회원 + if (userSe == "GNR") { + document.getElementById("idGnr").className = "on"; + document.getElementById("idEnt").className = ""; + document.getElementById("idUsr").className = ""; + document.idForm.userSe.value = "GNR"; + // 기업회원 + } else if (userSe == "ENT") { + document.getElementById("idGnr").className = ""; + document.getElementById("idEnt").className = "on"; + document.getElementById("idUsr").className = ""; + document.idForm.userSe.value = "ENT"; + // 업무사용자 + } else if (userSe == "USR") { + document.getElementById("idGnr").className = ""; + document.getElementById("idEnt").className = ""; + document.getElementById("idUsr").className = "on"; + document.idForm.userSe.value = "USR"; + } +} + +function fnCheckUsrPassword(userSe) { + // 일반회원 + if (userSe == "GNR") { + document.getElementById("pwGnr").className = "on"; + document.getElementById("pwEnt").className = ""; + document.getElementById("pwUsr").className = ""; + document.passwordForm.userSe.value = "GNR"; + // 기업회원 + } else if (userSe == "ENT") { + document.getElementById("pwGnr").className = ""; + document.getElementById("pwEnt").className = "on"; + document.getElementById("pwUsr").className = ""; + document.passwordForm.userSe.value = "ENT"; + // 업무사용자 + } else if (userSe == "USR") { + document.getElementById("pwGnr").className = ""; + document.getElementById("pwEnt").className = ""; + document.getElementById("pwUsr").className = "on"; + document.passwordForm.userSe.value = "USR"; + } +} + +function fnSearchId() { + if (document.idForm.name.value =="") { + alert("<spring:message code="comUatUia.idPw.validate.name" />"); + } else if (document.idForm.email.value =="") { + alert("<spring:message code="comUatUia.idPw.validate.email" />"); + } else { + document.idForm.submit(); + } +} + +function fnSearchPassword() { + if (document.passwordForm.id.value =="") { + alert("<spring:message code="comUatUia.idPw.validate.id" />"); + } else if (document.passwordForm.name.value =="") { + alert("<spring:message code="comUatUia.idPw.validate.name" />"); + } else if (document.passwordForm.email.value =="") { + alert("<spring:message code="comUatUia.idPw.validate.email" />"); + } else if (document.passwordForm.passwordHint.value =="") { + alert("<spring:message code="comUatUia.idPw.validate.passwordHint" />"); + } else if (document.passwordForm.passwordCnsr.value =="") { + alert("<spring:message code="comUatUia.idPw.validate.passwordCnsr" />"); + } else { + document.passwordForm.submit(); + } +} + +</script> +</head> +<body> +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="idpw_form"> + + <!-- 아이디 찾기 --> + <fieldset class="id_search"> + <form name="idForm" action ="<c:url value='/uat/uia/searchId.do'/>" method="post"> + <legend><spring:message code="comUatUia.idPw.searchId" /></legend> + <h2><spring:message code="comUatUia.idPw.searchId" /></h2> + <div class="login_type"> + <ul> + <li><a id="idGnr" onClick="fnCheckUsrId('GNR');" class="on"><spring:message code="comUatUia.idPw.gnr" /></a></li> + <li><a id="idEnt" onClick="fnCheckUsrId('ENT');"><spring:message code="comUatUia.idPw.ent" /></a></li> + <li><a id="idUsr" onClick="fnCheckUsrId('USR');"><spring:message code="comUatUia.idPw.usr" /></a></li> + </ul> + </div> + <div class="login_input"> + <ul> + <li> + <label for="name"><spring:message code="comUatUia.idPw.name" /></label> + <input type="text" name="name" maxlength="20" title="<spring:message code="comUatUia.idPw.name" />" placeholder="<spring:message code="comUatUia.idPw.name" />" /> + </li> + <li> + <label for="email"><spring:message code="comUatUia.idPw.email" /></label> + <input type="text" name="email" maxlength="30" title="<spring:message code="comUatUia.idPw.email" />" placeholder="<spring:message code="comUatUia.idPw.email" />" /> + </li> + <li> + <input type="button" class="btn_login" onClick="fnSearchId();" value="<spring:message code="comUatUia.idPw.searchId" />" /> + </li> + </ul> + </div> + <input name="userSe" type="hidden" value="GNR"> + </form> + </fieldset> + <!-- 아이디 찾기 //--> + + <!-- 비밀번호 찾기 --> + <fieldset class="pw_search"> + <form name="passwordForm" action ="<c:url value='/uat/uia/searchPassword.do'/>" method="post"> + <legend><spring:message code="comUatUia.idPw.searchPassword" /></legend> + <h2><spring:message code="comUatUia.idPw.searchPassword" /></h2> + <div class="login_type"> + <ul> + <li><a id="pwGnr" onClick="fnCheckUsrPassword('GNR');" class="on"><spring:message code="comUatUia.idPw.gnr" /></a></li> + <li><a id="pwEnt" onClick="fnCheckUsrPassword('ENT');"><spring:message code="comUatUia.idPw.ent" /></a></li> + <li><a id="pwUsr" onClick="fnCheckUsrPassword('USR');"><spring:message code="comUatUia.idPw.usr" /></a></li> + </ul> + </div> + <div class="login_input"> + <ul> + <li> + <label for="id"><spring:message code="comUatUia.idPw.id" /></label> + <input type="text" name="id" maxlength="15" title="<spring:message code="comUatUia.idPw.id" />" placeholder="<spring:message code="comUatUia.idPw.id" />" /> + </li> + <li> + <label for="name"><spring:message code="comUatUia.idPw.name" /></label> + <input type="text" name="name" maxlength="20" title="<spring:message code="comUatUia.idPw.name" />" placeholder="<spring:message code="comUatUia.idPw.name" />" /> + </li> + <li> + <label for="email"><spring:message code="comUatUia.idPw.email" /></label> + <input type="text" name="email" maxlength="30" title="<spring:message code="comUatUia.idPw.email" />" placeholder="<spring:message code="comUatUia.idPw.email" />" /> + </li> + <li> + <select name="passwordHint" title="<spring:message code="comUatUia.idPw.passwordHint" />"> + <option selected value=''><spring:message code="comUatUia.idPw.validate.passwordHint" /></option><!-- --선택하세요-- --> + <c:forEach var="result" items="${pwhtCdList}" varStatus="status"> + <option value='<c:out value="${result.code}"/>'><c:out value="${result.codeNm}"/></option> + </c:forEach> + </select> + </li> + <li> + <label for="passwordCnsr"><spring:message code="comUatUia.idPw.passwordCnsr" /></label> + <input type="text" name="passwordCnsr" maxlength="50" title="<spring:message code="comUatUia.idPw.passwordCnsr" />" placeholder="<spring:message code="comUatUia.idPw.passwordCnsr" />"> + </li> + <li> + <input type="button" class="btn_login" onClick="fnSearchPassword();" value="<spring:message code="comUatUia.idPw.searchPassword" />"> + </li> + </ul> + </div> + <input name="userSe" type="hidden" value="GNR"> + </form> + </fieldset> + <!-- 비밀번호 찾기 //--> +</div> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovIdPasswordSearch.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovIdPasswordResult.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovIdPasswordResult.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovIdPasswordResult.jsp (revision 7) @@ -0,0 +1,71 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovIdPasswordResult.jsp + * @Description : 아이디/비밀번호 찾기 결과화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.17 박지욱 최초 생성 + * 2016.06.13 김연호 표준프레임워크 v3.6 개선 + * + * @author 공통서비스 개발팀 박지욱 + * @since 2009.03.17 + * @version 1.0 + * @see + * + */ +%> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<link rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />" type="text/css"> +<c:set var="pageTitle"><spring:message code="comUatUia.idPw.title"/> <spring:message code="comUatUia.idPw.result"/></c:set> +<title>${pageTitle}</title> +<script> +/* ******************************************************** + * 뒤로 처리 함수 + ******************************************************** */ +function fncGoAfterPage(){ + history.back(-2); +} + +function fncGoIdPwd(){ + location.href="<c:url value='/uat/uia/egovIdPasswordSearch.do'/>"; +} + +function fncGoLogin(){ + location.href="<c:url value='/uat/uia/egovLoginUsr.do'/>"; +} + +</script> +</head> +<body> + <div style="width: 1000px; margin: 50px auto 50px;"> + <p style="font-size: 18px; color: #000; margin-bottom: 10px; "><img src="<c:url value='/images/egovframework/com/cmm/er_logo.jpg' />" width="379" height="57" /></p> + <div style="border: 0px solid #666; padding: 20px;"> + <p style="color:red; margin-bottom: 8px; "></p> + + <div class="boxType1" style="width: 500px;"> + <div class="box"> + <div class="error"> + <p class="title">${pageTitle}</p> + <p class="cont mb20">${resultInfo}<br /></p> + <span class="btn_style1 blue"><a href="javascript:fncGoIdPwd();"><spring:message code="comUatUia.idPasswordResult.searchIdPwd" /></a></span><!-- 아이디 및 비밀번호 찾기 --> + <span class="btn_style1 blue"><a href="javascript:fncGoLogin();"><spring:message code="comUatUia.loginForm.login" /></a></span><!-- 로그인 --> + </div> + </div> + </div> + </div> + + </div> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovIdPasswordResult.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovLoginUsr.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovLoginUsr.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovLoginUsr.jsp (revision 7) @@ -0,0 +1,316 @@ +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovLoginUsr.jsp + * @Description : Login 인증 화면 + * @Modification Information + * + * @수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2009.03.03 박지욱 최초 생성 + * 2011.09.25 서준식 사용자 관리 패키지가 미포함 되었을때에 회원가입 오류 메시지 표시 + * 2011.10.27 서준식 사용자 입력 탭 순서 변경 + * 2017.07.21 장동한 로그인인증제한 작업 + * 2019.12.11 신용호 KISA 보안약점 조치 (크로스사이트 스크립트) + * 2020.06.23 신용호 세션만료시간 보여주기 + * + * @author 공통서비스 개발팀 박지욱 + * @since 2009.03.03 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> + +<!DOCTYPE html> +<html> +<head> +<title><spring:message code="comUatUia.title" /></title><!-- 로그인 --> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/uat/uia/login.css' />"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/showModalDialog.js'/>" ></script> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/jquery.js'/>" ></script> +<script type="text/javaScript" language="javascript"> +function checkLogin(userSe) { + // 일반회원 + if (userSe == "GNR") { + document.loginForm.rdoSlctUsr[0].checked = true; + document.loginForm.rdoSlctUsr[1].checked = false; + document.loginForm.rdoSlctUsr[2].checked = false; + document.loginForm.userSe.value = "GNR"; + // 기업회원 + } else if (userSe == "ENT") { + document.loginForm.rdoSlctUsr[0].checked = false; + document.loginForm.rdoSlctUsr[1].checked = true; + document.loginForm.rdoSlctUsr[2].checked = false; + document.loginForm.userSe.value = "ENT"; + // 업무사용자 + } else if (userSe == "USR") { + document.loginForm.rdoSlctUsr[0].checked = false; + document.loginForm.rdoSlctUsr[1].checked = false; + document.loginForm.rdoSlctUsr[2].checked = true; + document.loginForm.userSe.value = "USR"; + } +} + +function actionLogin() { + if (document.loginForm.id.value =="") { + alert("<spring:message code="comUatUia.validate.idCheck" />"); <%-- 아이디를 입력하세요 --%> + } else if (document.loginForm.password.value =="") { + alert("<spring:message code="comUatUia.validate.passCheck" />"); <%-- 비밀번호를 입력하세요 --%> + } else { + document.loginForm.action="<c:url value='/uat/uia/actionLogin.do'/>"; + //document.loginForm.j_username.value = document.loginForm.userSe.value + document.loginForm.username.value; + //document.loginForm.action="<c:url value='/j_spring_security_check'/>"; + document.loginForm.submit(); + } +} + +function actionCrtfctLogin() { + document.defaultForm.action="<c:url value='/uat/uia/actionCrtfctLogin.do'/>"; + document.defaultForm.submit(); +} + +function goFindId() { + document.defaultForm.action="<c:url value='/uat/uia/egovIdPasswordSearch.do'/>"; + document.defaultForm.submit(); +} + +function goRegiUsr() { + + var useMemberManage = '${useMemberManage}'; + + if(useMemberManage != 'true'){ + <%-- 사용자 관리 컴포넌트가 설치되어 있지 않습니다. \n관리자에게 문의하세요. --%> + alert("<spring:message code="comUatUia.validate.userManagmentCheck" />"); + return false; + } + + var userSe = document.loginForm.userSe.value; + + // 일반회원 + if (userSe == "GNR") { + document.loginForm.action="<c:url value='/uss/umt/EgovStplatCnfirmMber.do'/>"; + document.loginForm.submit(); + // 기업회원 + } else if (userSe == "ENT") { + document.loginForm.action="<c:url value='/uss/umt/EgovStplatCnfirmEntrprs.do'/>"; + document.loginForm.submit(); + // 업무사용자 + } else if (userSe == "USR") { + <%-- 업무사용자는 별도의 회원가입이 필요하지 않습니다. --%> + alert("<spring:message code="comUatUia.validate.membershipCheck" />"); + } +} + +function goGpkiIssu() { + document.defaultForm.action="<c:url value='/uat/uia/egovGpkiIssu.do'/>"; + document.defaultForm.submit(); +} + +function setCookie (name, value, expires) { + document.cookie = name + "=" + escape (value) + "; path=/; expires=" + expires.toGMTString(); +} + +function getCookie(Name) { + var search = Name + "="; + if (document.cookie.length > 0) { // 쿠키가 설정되어 있다면 + offset = document.cookie.indexOf(search); + if (offset != -1) { // 쿠키가 존재하면 + offset += search.length; + // set index of beginning of value + end = document.cookie.indexOf(";", offset); + // 쿠키 값의 마지막 위치 인덱스 번호 설정 + if (end == -1) + end = document.cookie.length; + return unescape(document.cookie.substring(offset, end)); + } + } + return ""; +} + +function saveid(form) { + var expdate = new Date(); + // 기본적으로 30일동안 기억하게 함. 일수를 조절하려면 * 30에서 숫자를 조절하면 됨 + if (form.checkId.checked) + expdate.setTime(expdate.getTime() + 1000 * 3600 * 24 * 30); // 30일 + else + expdate.setTime(expdate.getTime() - 1); // 쿠키 삭제조건 + setCookie("saveid", form.id.value, expdate); +} + +function getid(form) { + form.checkId.checked = ((form.id.value = getCookie("saveid")) != ""); +} + +function fnInit() { + /* if (document.getElementById('loginForm').message.value != null) { + var message = document.getElementById('loginForm').message.value; + } */ + /* if ("<c:out value='${message}'/>" != "") { + alert("<c:out value='${message}'/>"); + } */ + + /* ************************* + document.loginForm.rdoSlctUsr[0].checked = false; + document.loginForm.rdoSlctUsr[1].checked = false; + document.loginForm.rdoSlctUsr[2].checked = true; + document.loginForm.userSe.value = "USR"; + document.loginForm.id.value="TEST1"; + document.loginForm.password.value="rhdxhd12"; + **************************** */ + + //getid(document.loginForm); + // 포커스 + //document.loginForm.rdoSlctUsr.focus(); + + getid(document.loginForm); + + fnLoginTypeSelect("typeGnr"); + + <c:if test="${not empty fn:trim(loginMessage) && loginMessage ne ''}"> + alert("loginMessage:<c:out value='${loginMessage}'/>"); + </c:if> + + // reload "_top" frame page + if (parent.frames["_top"] == undefined) + console.log("'_top' frame is not exist!"); + parent.frames["_top"].location.reload(); +} + +function fnLoginTypeSelect(objName){ + + document.getElementById("typeGnr").className = ""; + document.getElementById("typeEnt").className = ""; + document.getElementById("typeUsr").className = ""; + + document.getElementById(objName).className = "on"; + + if(objName == "typeGnr"){ //일반회원 + document.loginForm.userSe.value = "GNR"; + }else if(objName == "typeEnt"){ //기업회원 + document.loginForm.userSe.value = "ENT"; + }else if(objName == "typeUsr"){ //업무사용자 + document.loginForm.userSe.value = "USR"; + } + +} + +function fnShowLogin(stat) { + if (stat < 1) { //일반로그인 + $(".login_input").eq(0).show(); + $(".login_input").eq(1).hide(); + } else { //공인인증서 로그인 + $(".login_input").eq(0).hide(); + $(".login_type").hide(); + $(".login_input").eq(1).show(); + } +} + +</script> +</head> +<body onLoad="fnInit();"> + +<!-- javascript warning tag --> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + + +<!-- 일반로그인 --> +<div class="login_form"> + <form name="loginForm" id="loginForm" action="<c:url value='/uat/uia/actionLogin.do'/>" method="post"> + <input type="hidden" id="message" name="message" value="<c:out value='${message}'/>"> + + <fieldset> + <img src="<c:url value='/images/egovframework/com/uat/uia/login_tit.png'/>" style="margin:30px 0 0px 60px" alt="login title image" title="login title image"> + <div class="login_type"> + <ul id="ulLoginType"> + <li><a href="javascript:fnLoginTypeSelect('typeGnr');" id="typeGnr" title=""><spring:message code="comUatUia.loginForm.GNR"/></a></li> <!-- 일반 --> + <li><a href="javascript:fnLoginTypeSelect('typeEnt');" id="typeEnt" title=""><spring:message code="comUatUia.loginForm.ENT"/></a></li> <!-- 기업 --> + <li><a href="javascript:fnLoginTypeSelect('typeUsr');" id="typeUsr" title=""><spring:message code="comUatUia.loginForm.USR"/></a></li> <!-- 업무 --> + </ul> + </div> + + <div class="login_input"> + <ul> + <!-- 아이디 --> + <c:set var="title"><spring:message code="comUatUia.loginForm.id"/></c:set> + <li> + <label for="id">${title}</label> + <input type="text" name="id" id="id" maxlength="20" title="${title} ${inputTxt}" placeholder="${title} ${inputTxt}"> + </li> + <!-- 비밀번호 --> + <c:set var="title"><spring:message code="comUatUia.loginForm.pw"/></c:set> + <li> + <label for="password">${title}</label> + <input type="password" name="password" id="password" maxlength="20" title="${title} ${inputTxt}" placeholder="${title} ${inputTxt}"> + </li> + <!-- 아이디 저장 --> + <c:set var="title"><spring:message code="comUatUia.loginForm.idSave"/></c:set> + <li class="chk"> + <input type="checkbox" name="checkId" class="check2" onclick="javascript:saveid(document.loginForm);" id="checkId">${title} + </li> + <li> + <input type="button" class="btn_login" value="<spring:message code="comUatUia.loginForm.login"/>" onclick="actionLogin()"> <!-- 로그인 --> + </li> + <li> + <ul class="btn_idpw" > + <li><a href="#" onclick="goRegiUsr(); return false;"><spring:message code="comUatUia.loginForm.regist"/></a></li> <!-- 회원가입 --> + </ul> + </li> + <li> + <ul class="btn_idpw" > + <li><a href="#" onclick="fnShowLogin(1);"><spring:message code="comUatUia.loginForm.login.gpki"/></a></li><!-- 인증서로그인 --> + <li><a href="<c:url value='/uat/uia/egovGpkiIssu.do'/>"><spring:message code="comUatUia.loginForm.gpki.info"/></a></li><!-- 인증서안내 --> + </ul> + </li> + + </ul> + </div> + + <div class="login_input" style="display: none"> + <ul> + <li> + <label for="password"><spring:message code="comUatUia.loginForm.pw"/></label><!-- 비밀번호 --> + <input type="password" name="pwd" id="" maxlength="20" title="${title} ${inputTxt}" placeholder="<spring:message code="comUatUia.loginForm.pw"/>"><!-- 비밀번호 --> + </li> + <li> + <input type="button" class="btn_login" value="<spring:message code="comUatUia.loginForm.login.gpki"/>" onclick="actionLogin()"><!-- 인증서로그인 --> + </li> + <li> + <ul class="btn_idpw" > + <li><a href="#" onclick="fnShowLogin(0);"><spring:message code="comUatUia.loginForm.login.normal"/></a></li><!-- 일반로그인 --> + </ul> + <ul class="btn_idpw" > + <li>※ <spring:message code="comUatUia.loginForm.gpki.descrption"/></li> + </ul> + </li> + </ul> + + </div> + </fieldset> + + <input name="userSe" type="hidden" value="GNR"/> + <input name="j_username" type="hidden"/> + </form> +</div> + +<!-- 팝업 폼 --> +<form name="defaultForm" action ="" method="post" target="_blank"> +<div style="visibility:hidden;display:none;"> +<input name="iptSubmit3" type="submit" value="<spring:message code="comUatUia.loginForm.submit"/>" title="<spring:message code="comUatUia.loginForm.submit"/>"> +</div> +</form> +<!-- login영역 //--> + + + +</body> +</html> + + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovLoginUsr.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovExpirePwd.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovExpirePwd.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovExpirePwd.jsp (revision 7) @@ -0,0 +1,132 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovUnitContent.jsp + * @Description : 로그인 성공후 컨텐츠 영역 + * @Modification Information + * + * @수정일 수정자 수정내용 + * ---------- -------- --------------------------- + * 2020.07.08 신용호 비밀번호 만료 처리 + * + * @author 공통서비스 개발팀 신용호 + * @since 2020.07.08 + * @version 3.10 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>eGovFrame <spring:message code="comCmm.unitContent.20"/></title> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/jquery.js'/>" ></script> +<script type="text/javascript"> +var flagTopFrame = false; + +// 기업회원 (ENTERPRISE) +function fnPasswordMoveEnt(){ + document.pwdManage.action = "<c:url value='/uss/umt/EgovEntrprsPasswordUpdtView.do'/>"; + document.pwdManage.submit(); +} +// 일반회원 (USER) +function fnPasswordMoveMber(){ + document.pwdManage.action = "<c:url value='/uss/umt/EgovMberPasswordUpdtView.do'/>"; + document.pwdManage.submit(); +} +// 업무사용자 (TEST1/webmaster) +function fnPasswordMoveUser(){ + document.pwdManage.action = "<c:url value='/uss/umt/EgovUserPasswordUpdtView.do'/>"; + document.pwdManage.submit(); +} + +function fn_egov_init() { + + switch ( $("#userSe").val() ) { + case "USR" : + $("#emplyrId").val($("#loginId").val()); + $("#userSeName").text("<spring:message code="comCmm.expirePwdContent.10"/>"); //업무사용자 + break; + case "ENT" : + $("#entrprsmberId").val($("#loginId").val()); + $("#userSeName").text("<spring:message code="comCmm.expirePwdContent.11"/>"); //기업회원 + break; + case "GNR" : + $("#mberId").val($("#loginId").val()); + $("#userSeName").text("<spring:message code="comCmm.expirePwdContent.12"/>"); //일반회원 + break; + } + +} + +function fn_egov_change_pwd() { + + switch ( $("#userSe").val() ) { + case "USR" : // 업무사용자 + console.log("<spring:message code="comCmm.expirePwdContent.10"/>"); //업무사용자 + fnPasswordMoveUser(); + break; + case "ENT" : // 기업회원 + console.log("<spring:message code="comCmm.expirePwdContent.11"/>"); //기업회원 + fnPasswordMoveEnt(); + break; + case "GNR" : //일반회원 + console.log("<spring:message code="comCmm.expirePwdContent.12"/>"); //일반회원 + fnPasswordMoveMber(); + break; + } +} + +</script> +</head> +<body onload="fn_egov_init()"> + <c:if test="${loginVO != null}"> + <spring:message code="comCmm.expirePwdContent.1"/> ID : ${loginVO.id}<br><!-- 로그인 --> + <spring:message code="comCmm.expirePwdContent.2"/> : <span id="userSeName"></span><!-- 로그인 구분 --> + <!-- + <br>passedDay = ${passedDay} + <br>expirePwdDay = ${expirePwdDay} + <br>elapsedTimeExpiration = ${elapsedTimeExpiration} + --> + <script type="text/javaScript" language="javascript"> + flagTopFrame = true; + </script> + </c:if> + <p/><p/><p/> + <b><spring:message code="comCmm.expirePwdContent.21"/></b><br/><!-- 비밀번호 유효기간의 변경은 다음 파일을 참조하여 주세요. --> + src/main/resources/egovframework/egovProps/globals.properties + <p/> + <b><img src="${pageContext.request.contextPath }/images/egovframework/com/cmm/icon/tit_icon.png"> <spring:message code="comCmm.expirePwdContent.22"/> </b><p/><!-- 비밀번호 유효기간 만료 --> + <spring:message code="comCmm.expirePwdContent.23"/><p/><!-- 비밀번호 유효기간이 만료 되었습니다. --> + <spring:message code="comCmm.expirePwdContent.24"/><p/><!-- 안전한 개인정보 보호를 위해 지금 비밀번호를 변경해 주세요! --> + + <br /><b><img src="${pageContext.request.contextPath }/images/egovframework/com/cmm/icon/tit_icon.png"> <spring:message code="comCmm.expirePwdContent.25"/></b><p/><!-- 비밀번호 유효기간 초과일수 --> + + <spring:message code="comCmm.expirePwdContent.26"/> : ${expirePwdDay}<spring:message code="comCmm.expirePwdContent.30"/><br /><!-- 비밀번호 유효기간 --> + <spring:message code="comCmm.expirePwdContent.27"/> : ${passedDay}<spring:message code="comCmm.expirePwdContent.30"/><br /><!-- 비밀번호 변경후 경과일수 --> + <spring:message code="comCmm.expirePwdContent.28"/> : ${elapsedTimeExpiration}<spring:message code="comCmm.expirePwdContent.30"/><br /><p/><!-- 비밀번호 유효기간 초과일수 --> + <spring:message code="comCmm.expirePwdContent.29"/><p/><!-- 주기적으로 비밀번호를 변경해 주세요. --> + <br/> + <div align="center"> + <input class="btn_03" type="submit" value="<spring:message code="comCmm.expirePwdContent.50"/>" title="<spring:message code="comCmm.expirePwdContent.50"/>" onclick="fn_egov_change_pwd(); return false;" /><!-- 지금 즉시 변경하기 --> + <input class="btn_03" type="submit" value="<spring:message code="comCmm.expirePwdContent.51"/>" title="<spring:message code="comCmm.expirePwdContent.51"/>" onclick="parent.$dialog.dialog('close'); return false;" /><!-- 다음에 변경하기 --> + </div> + + <form id="pwdManage" name="pwdManage" method="post" target="_parent"> + <input type="hidden" id="loginId" name="loginId" readonly="readonly" value="${loginVO.id}"/> + <input type="hidden" id="uniqId" name="uniqId" readonly="readonly" value="${loginVO.uniqId}"/> + <input type="hidden" id="userSe" name="userSe" readonly="readonly" value="${loginVO.userSe}"/> + <br><br><br> + <!-- 일반회원 --><input type="hidden" id="mberId" name="mberId" readonly="readonly" value=""/><!-- USER --> + <!-- 기업회원 --><input type="hidden" id="entrprsmberId" name="entrprsmberId" readonly="readonly" value=""/><!-- ENTERPRISE --> + <!-- 업무사용자 --><input type="hidden" id="emplyrId" name="emplyrId" readonly="readonly" value=""/><!-- TEST1/webmaster --> + </form> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/uat/uia/EgovExpirePwd.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/head.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/head.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/head.jsp (revision 7) @@ -0,0 +1,47 @@ +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ page import="egovframework.com.cmm.util.EgovUserDetailsHelper" %> +<script language="text/javascript" src="<c:url value='/js/egovframework/com/main.js' />"></script> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/main_portal.css' />"> +<script type="text/javascript"> + function fn_main_headPageMove(menuNo, url){ + document.selectOne.menuNo.value=menuNo; + document.selectOne.chkURL.value=url; + document.selectOne.action = "<c:url value='/sym/mnu/mpm/EgovMainMenuIndex.do'/>"; + document.selectOne.submit(); + } + + function actionLogout() + { + document.selectOne.action = "<c:url value='/uat/uia/actionLogout.do'/>"; + document.selectOne.submit(); + //top.document.location.href = "<c:url value='/j_spring_security_logout'/>"; + } +</script> + +<form name="selectOne"> +<input name="menuNo" type="hidden" /> +<input name="chkURL" type="hidden" /> + <div id="gnb"> + <div id="top_logo"><a href="<c:url value='/sym/mnu/mpm/EgovMainMenuHome.do' />" target=_top><img src="<c:url value='/images/egovframework/com/cmm/main/logo_01.gif' />" alt="egovframe" /></a></div> + <div id="use_descri"> + <ul> + <li><spring:message code="comSymMnuMpm.head.head"/></li><!-- 공통서비스 테스트 사이트 --> + <li><a href="javascript:actionLogout()"><img src="<c:url value='/images/egovframework/com/cmm/main/logout_btn.gif' />" alt="로그아웃" /></a></li> + </ul> + </div> + </div> + <div id="new_topnavi"> + <ul> + <li><a href="<c:url value='/sym/mnu/mpm/EgovMainMenuHome.do' />" target="_top">HOME</a></li> + <c:forEach var="result" items="${list_headmenu}" varStatus="status"> + <li class="gap"> l </li> + <li><a href="javascript:fn_main_headPageMove('<c:out value="${result.menuNo}"/>','<c:out value="${result.chkURL}"/>')"><c:out value="${result.menuNm}"/></a></li> + </c:forEach> + </ul> + </div> + +</form> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/head.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/main_bottom.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/main_bottom.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/main_bottom.jsp (revision 7) @@ -0,0 +1,22 @@ +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/main_portal.css' />"> +<title><spring:message code="comSymMnuMpm.main_bottom.mainBottomTitle"/></title><!-- 아래메인 --> +</head> +<body leftmargin="0" topmargin="0" marginwidth="0" marginheight= "0"> + <div id="new_footer"> + <ul> + <li style="float:left"><img src="<c:url value='/images/egovframework/com/cmm/main/bottom_logo.png' />" alt="안전행전부" /></li> + <li style="font-size:11px; float:left; margin: 10px"><spring:message code="comSymMnuMpm.main_bottom.address"/></p> + © Ministry of the Interior and Safety. All rights reserved.</li> + </ul> + </div> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/main_bottom.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/menu_index.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/menu_index.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/menu_index.jsp (revision 7) @@ -0,0 +1,38 @@ +<!DOCTYPE html> +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<% + /** + * @Class Name : EgovMainMenuIndex.jsp + * @Description : MainMenuIndex Page + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2009.03.10 이용 최초 생성 + * + * @author 공통서비스 개발팀 이용 + * @since 2009.03.10 + * @version 1.0 + * @see + * ?vStartP=<c:out value="${result.menuNo}"/> <c:out value="${result.chkURL}"/> + */ + +%> + +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>Menu Index frame</title> +</head> + +<frameset rows="122,*,50" frameborder="0" > + <frame src="<c:url value='/sym/mnu/mpm/EgovMainMenuHead.do' />" name="main_top" marginwidth="0" marginheight="0"> + <frameset cols="273,*" frameborder="0"> + <frame src="<c:url value='/sym/mnu/mpm/EgovMainMenuLeft.do' />?vStartP=<c:out value="${resultVO.menuNo}" />" scrolling="no" name="main_left" marginwidth="0" marginheight="0"> + <frame src="<c:url value='/sym/mnu/mpm/EgovMainMenuRight.do' />?vStartP=<c:out value="${resultVO.menuNo}" />" name="main_right" marginwidth="0" marginheight="0"> + </frameset> + <frame src="<c:url value='/EgovPageLink.do' />?link=/egovframework/com/main_bottom" scrolling="no" name="main_bottom" marginwidth="0" marginheight="0"> +</frameset> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/menu_index.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/mdl/EgovModal.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/mdl/EgovModal.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/mdl/EgovModal.jsp (revision 7) @@ -0,0 +1,68 @@ +<% + /** + * @Class Name : EgovModal.jsp + * @Description : 모달 JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2016.07.13 장동한 최초 생성 + * + * @author 2016 표준프레임워크유지보수 개발팀 장동한 + * @since 2016.07.13 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>modal</title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script type="text/javaScript" language="javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + $('#egovBtn').egovModal( 'egovModal' ); + $('#egovBtn2').egovModal( 'egovModal2' ); +} +</script> +<style> +.modal-content {width: 80%;} +</style> +</head> +<body onload="fn_egov_init()"> + + +<!-- Trigger/Open The Modal --> +<button id="egovBtn">Open Modal</button> +<button id="egovBtn2">Open Modal2</button> + + +<!-- Egov Modal include --> +<c:import url="/EgovModal.do" charEncoding="utf-8"> + <c:param name="scriptYn" value="Y" /> + <c:param name="modalName" value="egovModal" /> +</c:import> + + +<!-- Egov Modal include --> +<c:import url="/EgovModal.do" charEncoding="utf-8"> + <c:param name="scriptYn" value="N" /> + <c:param name="modalName" value="egovModal2" /> +</c:import> + + + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/mdl/EgovModal.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/jso/EgovUtlJsonInquire.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/jso/EgovUtlJsonInquire.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/jso/EgovUtlJsonInquire.jsp (revision 7) @@ -0,0 +1,77 @@ +<% + /** + * @Class Name : EgovUtlJsonInquire.jsp + * @Description : 요소기술 - 단건 AJAX JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2016.07.13 장동한 최초 생성 + * + * @author 2016 표준프레임워크유지보수 장동한 + * @since 2016.07.13 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>AJAX</title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script type="text/javaScript" language="javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ +} + +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_json_inquire(){ + + $.ajax({ + type:"POST", + url:"<c:url value='/utl/jso/EgovUtlJsonInquire.do' />", + data:{ + "param1":"param1", + "param2":"파라미터2" + }, + dataType:'json', + timeout:(1000*30), + success:function(returnData, status){ + + console.trace("상태값>"+status); + console.trace("결과값>"+returnData); + $.each(returnData, function(key, value) { + console.trace(key + ': ' + value); + }); + + if(status == "success") { + }else{ alert("ERROR!");return;} + } + }); + + +} +</script> +</head> +<body onload="fn_egov_init()"> + +<div class="board"> +<!-- Trigger/Open The Modal --> +<button id="egovBtn" onclick="fn_egov_json_inquire()">단건 조회 AJAX</button> + + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/jso/EgovUtlJsonInquire.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/jso/EgovUtlJsonMultiInquire.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/jso/EgovUtlJsonMultiInquire.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/jso/EgovUtlJsonMultiInquire.jsp (revision 7) @@ -0,0 +1,88 @@ +<% + /** + * @Class Name : EgovUtlJsonInquire.jsp + * @Description : 요소기술 - 다건 AJAX JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2016.07.13 장동한 최초 생성 + * + * @author 2016 표준프레임워크유지보수 장동한 + * @since 2016.07.13 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>AJAX</title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script type="text/javaScript" language="javascript"> +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_init(){ +} + +/********************************************************* + * 초기화 + ******************************************************** */ +function fn_egov_json_inquire(){ + + var gListCurrent=1; + $.ajax({ + type:"POST", + url:"<c:url value='/utl/jso/EgovUtlJsonMultiInquire.do' />", + data:{ + "param1":"param1", + "param2":"파라미터2" + }, + dataType:'json', + timeout:(1000*30), + success:function(returnData, status){ + + console.trace("상태값>"+status); + console.trace("결과값>"+returnData); + $.each(returnData, function(key, value) { + if(key == "list"){ + $.each(value, function(key2, value2) { + console.trace("[list"+ gListCurrent++ +"]"); + $.each(value2, function(key3, value3) { + console.trace(key3 + ': ' + value3); + }); + + }); + }else{ + console.trace(key + ': ' + value); + } + }); + + if(status == "success") { + }else{ alert("ERROR!");return;} + } + }); + + +} +</script> +</head> +<body onload="fn_egov_init()"> + +<div class="board"> +<!-- Trigger/Open The Modal --> +<button id="egovBtn" onclick="fn_egov_json_inquire()">다건 조회 AJAX</button> + + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/jso/EgovUtlJsonMultiInquire.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/wed/EgovInsertImage.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/wed/EgovInsertImage.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/wed/EgovInsertImage.jsp (revision 7) @@ -0,0 +1,444 @@ +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovInsertImage.jsp + * @Description : 웹에디터 이미지 upload 기능을 위한 팝업 화면 (기존 insert_image.html 대체) + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ----------- -------- --------------------------- + * @ 2009.08.26 한성곤 최초 생성 + * @ 2012.12.18 이기하 image alt 생성기능 추가 + * + * @author 공통컴포넌트개발팀 한성곤 + * @since 2009.08.26 + * @version 1.0 + * @see + */ + + //htmlArea v3.0 - Copyright (c) 2002, 2003 interactivetools.com, inc. + //This copyright notice MUST stay intact for use (see license.txt). + // + //Portions (c) dynarch.com, 2003 + // + //A free WYSIWYG editor replacement for <textarea> fields. + //For full source code and docs, visit http://www.htmlarea.com/ + // + //Version 3.0 developed by Mihai Bazon. + //http://dynarch.com/mishoo + // + //$Id: popup.js,v 1.12 2005/01/24 18:29:48 itools Exp $ +%> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta http-equiv="X-UA-Compatible" content="IE=edge" /> +<title>이미지 추가</title> +<script type="text/javascript"> + function getAbsolutePos(el) { + var r = { + x : el.offsetLeft, + y : el.offsetTop + }; + if (el.offsetParent) { + var tmp = getAbsolutePos(el.offsetParent); + r.x += tmp.x; + r.y += tmp.y; + } + return r; + }; + + function comboSelectValue(c, val) { + var ops = c.getElementsByTagName("option"); + for ( var i = ops.length; --i >= 0;) { + var op = ops[i]; + op.selected = (op.value == val); + } + c.value = val; + }; + + function __dlg_onclose() { + opener.Dialog._return(null); + }; + + function __dlg_init(bottom) { + var body = document.body; + var body_height = 0; + if (typeof bottom == "undefined") { + var div = document.createElement("div"); + body.appendChild(div); + var pos = getAbsolutePos(div); + body_height = pos.y; + } else { + var pos = getAbsolutePos(bottom); + body_height = pos.y + bottom.offsetHeight; + } + window.dialogArguments = opener.Dialog._arguments; + if (!document.all) { + //window.sizeToContent(); + //window.sizeToContent(); // for reasons beyond understanding, + // only if we call it twice we get the + // correct size. + window.addEventListener("unload", __dlg_onclose, true); + window.innerWidth = body.offsetWidth + 5; + window.innerHeight = body_height + 2; + // center on parent + var x = opener.screenX + (opener.outerWidth - window.outerWidth) + / 2; + var y = opener.screenY + (opener.outerHeight - window.outerHeight) + / 2; + window.moveTo(x, y); + if (navigator.userAgent.toLowerCase().indexOf("chrome") != -1) { // chrome 경우는 alert()을 추가해 주어야만 사이징이 됨... 허허 + alert('삽입할 그림에 대한 정보를 설정해 주십시오.'); + self.resizeTo(body.offsetWidth + 50, body_height + 90); + } else { + self.resizeTo(body.offsetWidth + 50, body_height + 90); + } + } else { // IE + // window.dialogHeight = body.offsetHeight + 50 + "px"; + // window.dialogWidth = body.offsetWidth + "px"; + window.resizeTo(body.offsetWidth + 30, body_height + 90); + var ch = body.clientHeight; + var cw = body.clientWidth; + window.resizeBy(body.offsetWidth - cw, body_height - ch); + var W = body.offsetWidth; + var H = 2 * body_height - ch; + var x = (screen.availWidth - W) / 2; + var y = (screen.availHeight - H) / 2; + window.moveTo(x, y); + } + document.body.onkeypress = __dlg_close_on_esc; + }; + + function __dlg_translate(i18n) { + var types = [ "input", "select", "legend", "span", "option", "td", + "button", "div" ]; + for ( var type = 0; type < types.length; ++type) { + var spans = document.getElementsByTagName(types[type]); + for ( var i = spans.length; --i >= 0;) { + var span = spans[i]; + if (span.firstChild && span.firstChild.data) { + var txt = i18n[span.firstChild.data]; + if (txt) + span.firstChild.data = txt; + } + if (span.title) { + var txt = i18n[span.title]; + if (txt) + span.title = txt; + } + } + } + var txt = i18n[document.title]; + if (txt) + document.title = txt; + }; + + //closes the dialog and passes the return info upper. + function __dlg_close(val) { + opener.Dialog._return(val); + window.close(); + }; + + function __dlg_close_on_esc(ev) { + ev || (ev = window.event); + if (ev.keyCode == 27) { + window.close(); + return false; + } + return true; + }; +</script> +<script type="text/javascript"> + window.resizeTo(420, 120); + function Init() { + __dlg_init(); + + var param = window.dialogArguments; + + if (param) { + document.getElementById("f_url").value = param["f_url"]; + document.getElementById("f_alt").value = param["f_alt"]; + document.getElementById("f_border").value = param["f_border"]; + document.getElementById("f_align").value = param["f_align"]; + document.getElementById("f_vert").value = param["f_vert"]; + document.getElementById("f_horiz").value = param["f_horiz"]; + + window.ipreview.location.replace(param.f_url); + } else { + if (document.getElementById("f_url").value) { + window.ipreview.location.replace(document + .getElementById("f_url").value); + } + } + + document.getElementById("f_url").focus(); + + var msg = "${msg}"; + if ( msg!="" ) alert(msg); + }; + + function onOK() { + + var required = { + "f_url" : "You must enter the URL" + }; + + for ( var i in required) { + var el = document.getElementById(i); + + if (!el.value) { + alert(required[i]); + el.focus(); + + return false; + } + } + + // pass data back to the calling window + + var fields = [ "f_url", "f_alt", "f_align", "f_border", "f_horiz", + "f_vert" ]; + + var param = new Object(); + + for ( var i in fields) { + var id = fields[i]; + var el = document.getElementById(id); + + param[id] = el.value; + } + + // alert(param["f_url"]); + // alert(param["f_alt"]); + + __dlg_close(param); + + return false; + }; + + function onCancel() { + __dlg_close(null); + + return false; + }; + + function onPreview() { + var f_url = document.getElementById("f_url"); + var url = f_url.value; + + if (!url) { + alert("You have to enter an URL first"); + f_url.focus(); + + return false; + } + + window.ipreview.location.replace(url); + + return false; + }; + + function onUpload() { + var f_upload = document.getElementById("f_upload"); + var file = f_upload.value; + + if (!file) { + alert("You have to select image file first"); + f_upload.focus(); + + return false; + } + + var frm = document.getElementsByTagName("form")[0]; + + frm.submit(); + + return false; + }; +</script> + +<style type="text/css"> +html,body { + background: ButtonFace; + color: ButtonText; + font: 11px Tahoma, Verdana, sans-serif; + margin: 0px; + padding: 0px; +} + +body { + padding: 5px; +} + +table { + font: 11px Tahoma, Verdana, sans-serif; +} + +form p { + margin-top: 5px; + margin-bottom: 5px; +} + +.fl { + width: 9em; + float: left; + padding: 2px 5px; + text-align: right; +} + +.fr { + width: 6em; + float: left; + padding: 2px 5px; + text-align: right; +} + +fieldset { + padding: 0px 10px 5px 5px; +} + +select,input,button { + font: 11px Tahoma, Verdana, sans-serif; +} + +button { + width: 70px; +} + +.space { + padding: 2px; +} + +.title { + background: #ddf; + color: #000; + font-weight: bold; + font-size: 120%; + padding: 3px 10px; + margin-bottom: 10px; + border-bottom: 1px solid black; + letter-spacing: 2px; +} + +form { + padding: 0px; + margin: 0px; +} +</style> +</head> +<body onload="Init()"> + <div class="title">이미지 추가</div> + <form action="" method="post" enctype="multipart/form-data"> + <table border="0" width="100%" style="padding: 0px; margin: 0px"> + <tbody> + <tr> + <td style="width: 7em; text-align: right"><label + for="f_upload">Image Upload:</label></td> + <td><input type="file" name="file" id="f_upload" + style="width: 100%" title="Select upload image here" /> + <button name="upload" onclick="return onUpload();" + title="Upload image file">Upload</button></td> + </tr> + <tr> + <td style="width: 7em; text-align: right"><label + for="f_url">Image URL:</label></td> + <td><input type="text" name="url" id="f_url" + style="width: 75%" title="Enter the image URL here" value="${url}" /> + <button name="preview" onclick="return onPreview();" + title="Preview the image in a new window">Preview</button></td> + </tr> + <tr> + <td style="width: 7em; text-align: right"><label + for="f_alt">Alternate text:</label></td> + <td><input type="text" name="alt" id="f_alt" value="${alt}" + style="width: 100%" title="For browsers that don't support images" /></td> + </tr> + </tbody> + </table> + + <p /> + + <fieldset style="float: left; margin-left: 5px;"> + + <legend>Layout</legend> + + <div class="space"></div> + + <div class="fl"> + <label for="f_align">Alignment:</label> + </div> + + <select size="1" name="align" id="f_align" + title="Positioning of this image"> + <option value="">Not set</option> + <option value="left">Left</option> + <option value="right">Right</option> + <option value="texttop">Texttop</option> + <option value="absmiddle">Absmiddle</option> + <option value="baseline" selected="selected">Baseline</option> + <option value="absbottom">Absbottom</option> + <option value="bottom">Bottom</option> + <option value="middle">Middle</option> + <option value="top">Top</option> + </select> + + <p /> + + <div class="fl"> + <label for="f_border">Border thickness:</label> + </div> + + <input type="text" name="border" id="f_border" size="5" + title="Leave empty for no border" /> + + <div class="space"></div> + + </fieldset> + + <fieldset style="float: right; margin-right: 5px;"> + + <legend>Spacing</legend> + + <div class="space"></div> + + <div class="fr"><label for="f_horiz">Horizontal:</label></div> + + <input type="text" name="horiz" id="f_horiz" size="5" + title="Horizontal padding" /> + <p /> + + <div class="fr"><label for="f_vert">Vertical:</label></div> + + <input type="text" name="vert" id="f_vert" size="5" + title="Vertical padding" /> + + <div class="space"></div> + + </fieldset> + + <br clear="all" /> + + <table width="100%" style="margin-bottom: 0.2em"> + <tr> + <td valign="bottom"><label for="ipreview">Image Preview:</label><br /> <iframe + name="ipreview" id="ipreview" frameborder="0" + style="border: 1px solid gray;" height="200" width="300" src="" + title="이미지 미리보기"></iframe> + </td> + <td valign="bottom" style="text-align: right"> + <button type="button" name="ok" onclick="return onOK();">OK</button> + <br /> + <button type="button" name="cancel" onclick="return onCancel();">Cancel</button> + </td> + </tr> + </table> + </form> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/wed/EgovInsertImage.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/wed/EgovUploadImageComplete.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/wed/EgovUploadImageComplete.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/wed/EgovUploadImageComplete.jsp (revision 7) @@ -0,0 +1,24 @@ +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% + /** + * @Class Name : EgovUploadImageComplte.jsp + * @Description : 웹에디터 이미지 upload 기능을 위한 팝업 화면 (기존 insert_image.html 대체) + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ----------- -------- --------------------------- + * @ 2018.05.31 신용호 최초 생성 + * + * @author 공통컴포넌트개발팀 한성곤 + * @since 2009.08.26 + * @version 1.0 + * @see + */ +%> +<script type='text/javascript'> +window.parent.CKEDITOR.tools.callFunction('${ckEditorFuncNum}', '${url}', '${msg}'); +</script> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/wed/EgovUploadImageComplete.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngUpdt.jsp (revision 7) @@ -0,0 +1,154 @@ +<% +/** + * @Class Name : EgovFileSysMntrngUpdt.jsp + * @Description : 파일시스템모니터대상 수정 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.08.18 장철호 최초 생성 + * + * @author 공통컴포넌트개발팀 장철호 + * @since 2010.08.18 + * @version 1.0 + * @see + * + */ +%> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUtlSysFsm.fileSysMntrng.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/cal/EgovCalPopup.js' />"></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="fileSysMntrngVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + function fn_egov_init_FileSysMntrng(){ + + } + + function fn_egov_update_filesysmntrng() { + if (!validateFileSysMntrngVO(document.fileSysMntrngVO)){ + return; + } + + if(eval(document.fileSysMntrngVO.fileSysMg.value) < 1){ + alert("<spring:message code="comUtlSysFsm.fileSysMntrngUpdt.fileSysMg"/>");/* 파일시스템 크기를 1G 이상 입력하여야 합니다. */ + return; + } + + if(eval(document.fileSysMntrngVO.fileSysThrhld.value) < 1){ + alert("<spring:message code="comUtlSysFsm.fileSysMntrngUpdt.fileSysThrhldG"/>");/* 파일시스템 임계치를 1G 이상 입력하여야 합니다. */ + return; + } + + if(eval(document.fileSysMntrngVO.fileSysThrhld.value) > eval(document.fileSysMntrngVO.fileSysMg.value)){ + alert("<spring:message code="comUtlSysFsm.fileSysMntrngUpdt.fileSysThrhldLimit"/>");/* 파일시스템 임계치는 파일시스템 크기보다 클 수 없습니다. */ + return; + } + + if (confirm('<spring:message code="common.regist.msg" />')) { + document.fileSysMntrngVO.action = "<c:url value='/utl/sys/fsm/updateFileSysMntrng.do'/>"; + document.fileSysMntrngVO.submit(); + } + } + + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fn_egov_list_filesysmntrng(){ + document.fileSysMntrngVO.action = "<c:url value='/utl/sys/fsm/selectFileSysMntrngList.do'/>"; + document.fileSysMntrngVO.submit(); + } + +</script> +<title>${pageTitle} <spring:message code="title.update" /></title> +</head> +<body onLoad="fn_egov_init_FileSysMntrng()"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.update" /></h2> + + <form:form commandName="fileSysMntrngVO" name="fileSysMntrngVO" method="post" action="${pageContext.request.contextPath}/utl/sys/fsm/updateFileSysMntrng.do"> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.fileSysNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="fileSysNm" size="50" maxlength="60" title="<spring:message code='comUtlSysFsm.fileSysMntrng.fileSysNm.label' />"/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.fileSysManageNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="fileSysManageNm" size="65" maxlength="255" title="<spring:message code='comUtlSysFsm.fileSysMntrng.fileSysManageNm.label' />"/> + <div><form:errors path="fileSysManageNm" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.fileSysMg.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${fileSysMntrngVO.fileSysMg}'/>G + <input type="hidden" name="fileSysMg" id="fileSysMg" value="<c:out value='${fileSysMntrngVO.fileSysMg}'/>"/> + <div><form:errors path="fileSysMg" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.fileSysThrhld.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="fileSysThrhld" maxlength="8" title="<spring:message code='comUtlSysFsm.fileSysMntrng.fileSysThrhld.label' />" cssStyle="width:50px"/>G + <div><form:errors path="fileSysThrhld" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.mngrNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="mngrNm" maxlength="60" title="<spring:message code='comUtlSysFsm.fileSysMntrng.mngrNm.label' />" cssStyle="width:150px"/> + <div><form:errors path="mngrNm" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.mngrEmailAddr.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="mngrEmailAddr" size="25" maxlength="50" title="<spring:message code='comUtlSysFsm.fileSysMntrng.mngrEmailAddr.label' />"/> + <div><form:errors path="mngrEmailAddr" cssClass="error"/></div> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.save" />' onclick="fn_egov_update_filesysmntrng()" /> + <span class="btn_s"><a href="<c:url value='/utl/sys/fsm/selectFileSysMntrngList.do'/>?searchWrd=<c:out value='${fileSysMntrngVO.searchWrd}'/>&amp;searchCnd=<c:out value='${fileSysMntrngVO.searchCnd}'/>&amp;pageIndex=<c:out value='${fileSysMntrngVO.pageIndex}'/>" onclick="fn_egov_list_filesysmntrng(); return false;"><spring:message code="button.list" /></a></span> + </div> + <div style="clear:both;"></div> + + <input type="hidden" name="fileSysId" value="<c:out value='${fileSysMntrngVO.fileSysId}'/>" /> + <!-- 검색조건 유지 --> + <input type="hidden" name="searchWrd" value="<c:out value='${fileSysMntrngVO.searchWrd}'/>" /> + <input type="hidden" name="searchCnd" value="<c:out value='${fileSysMntrngVO.searchCnd}'/>" /> + <input type="hidden" name="pageIndex" value="<c:out value='${fileSysMntrngVO.pageIndex}'/>" /> + <!-- 검색조건 유지 --> + </form:form> + +</div> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngList.jsp (revision 7) @@ -0,0 +1,162 @@ +<% +/** + * @Class Name : EgovFileSysMntrngList.jsp + * @Description : 파일시스템모니터링 대상 목록조회 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.08.18 장철호 최초 생성 + * + * @author 공통컴포넌트개발팀 장철호 + * @since 2010.08.18 + * @version 1.0 + * @see + * + */ +%> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comUtlSysFsm.fileSysMntrng.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle} <spring:message code="title.list" /></title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/cal/EgovCalPopup.js' />"></script> +<script type="text/javascript"> + + function fn_egov_init_filesysmntrng(){ + + } + + function press(event) { + if (event.keyCode==13) { + fn_egov_select_filesysmntrng('1'); + } + } + + function fn_egov_select_filesysmntrng(pageNo) { + document.frm.pageIndex.value = pageNo; + document.frm.action = "<c:url value='/utl/sys/fsm/selectFileSysMntrngList.do'/>"; + document.frm.submit(); + } + + function fn_egov_inqire_filesysmntrng(fileSysId) { + document.frm.fileSysId.value = fileSysId; + document.frm.action = "<c:url value='/utl/sys/fsm/selectFileSysMntrng.do'/>"; + document.frm.submit(); + } + + function fn_egov_insert_filesysmntrng(){ + document.frm.action = "<c:url value='/utl/sys/fsm/addFileSysMntrng.do'/>"; + document.frm.submit(); + } + + function fn_egov_log_filesysmntrng(){ + document.frm.action = "<c:url value='/utl/sys/fsm/selectFileSysMntrngLogList.do'/>"; + document.frm.submit(); + } +</script> +</head> +<body onLoad="fn_egov_init_filesysmntrng()"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + + <span>※ 1. <spring:message code="comUtlSysFsm.fileSysMntrngList.guideOne" /></span><br> + <span>※ 2. <spring:message code="comUtlSysFsm.fileSysMntrngList.guideTwo" /></span> + + <form name="frm" method="post" action="<c:url value='/utl/sys/fsm/selectFileSysMntrngList.do'/>"> + + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <input type="hidden" name="fileSysId"> + + <div class="search_box" title="<spring:message code='common.searchCondition.msg' />"> + <ul> + <li> + <select name="searchCnd" class="select" title="<spring:message code='select.searchCondition' />"> + <option value="" <c:if test="${searchVO.searchCnd == ''}">selected="selected"</c:if>>--<spring:message code="input.select" />--</option><!-- 선택하세요 --> + <option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected="selected"</c:if> ><spring:message code="comUtlSysFsm.fileSysMntrngList.fileSysNm.label" /></option> + <option value="1" <c:if test="${searchVO.searchCnd == '1'}">selected="selected"</c:if> ><spring:message code="comUtlSysFsm.fileSysMntrngList.fileSysManageNm.label" /></option> + <option value="2" <c:if test="${searchVO.searchCnd == '2'}">selected="selected"</c:if> ><spring:message code="comUtlSysFsm.fileSysMntrngList.mngrNm.label" /></option> + <option value="3" <c:if test="${searchVO.searchCnd == '3'}">selected="selected"</c:if> ><spring:message code="comUtlSysFsm.fileSysMntrngList.mntrngSttus.label" /></option> + </select> + <input class="s_input2 vat" name="searchWrd" type="text" value='<c:out value="${searchVO.searchWrd}"/>' maxlength="35" size="27" onkeypress="press(event);" title="<spring:message code='title.search' /> <spring:message code='input.input' />" /> + + <input class="s_btn" type="submit" value="<spring:message code='title.inquire' />" title="<spring:message code='title.inquire' />" onclick="fn_egov_select_filesysmntrng('1'); return false;" /> + <span class="btn_b"><a href="<c:url value='/utl/sys/fsm/addFileSysMntrng.do'/>" onclick="fn_egov_insert_filesysmntrng('1'); return false;" title='<spring:message code="button.create" />'><spring:message code="button.create" /></a></span> + <span class="btn_b"><a href="<c:url value='/utl/sys/fsm/selectFileSysMntrngLogList.do'/>" onclick="fn_egov_log_filesysmntrng(); return false;" title='<spring:message code="button.log" />'><spring:message code="button.log" /></a></span> + </li> + </ul> + </div> + </form> + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:10%" /> + <col style="width:20%" /> + <col style="width:20%" /> + <col style="width:8%" /> + <col style="width:11%" /> + <col style="width:11%" /> + <col style="width:10%" /> + <col style="width:10%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngList.seq.label" /></th> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngList.fileSysNm.label" /></th> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngList.fileSysManageNm.label" /></th> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngList.fileSysMg.label" /></th> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngList.fileSysThrhld.label" /></th> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngList.fileSysUsgQty.label" /></th> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngList.mntrngSttus.label" /></th> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngList.mngrNm.label" /></th> + </tr> + </thead> + <tbody> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value="${result.fileSysNm}"/></td> + <td> + <form name="fileSysMntrngVO" method="post" action="<c:url value='/utl/sys/fsm/selectFileSysMntrng.do'/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <input name="searchCnd" type="hidden" value="<c:out value='${searchVO.searchCnd}'/>"> + <input name="searchWrd" type="hidden" value="<c:out value='${searchVO.searchWrd}'/>"> + <input type="hidden" name="fileSysId" value="<c:out value="${result.fileSysId}"/>"> + <span class="link"><input type="submit" value="<c:out value="${result.fileSysManageNm}"/>" onclick="javascript:fn_egov_inqire_filesysmntrng('<c:out value="${result.fileSysId}"/>'); return false;" style="text-align : left;"></span> + </form> + </td> + <td><c:out value="${result.fileSysMg}"/>G</td> + <td><c:out value="${result.fileSysThrhldRt}"/>%(<c:out value="${result.fileSysThrhld}"/>G)</td> + <td><c:out value="${result.fileSysUsgRt}"/>%(<c:out value="${result.fileSysUsgQty}"/>G)</td> + <td><c:out value="${result.mntrngSttus}"/></td> + <td><c:out value="${result.mngrNm}"/></td> + </tr> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="8"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_filesysmntrng"/> + </ul> + </div> +</div> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngDetail.jsp (revision 7) @@ -0,0 +1,154 @@ +<% +/** + * @Class Name : EgovFileSysMntrngDetail.jsp + * @Description : 파일시스템모니터링 상세조회 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.08.18 장철호 최초 생성 + * + * @author 공통컴포넌트개발팀 장철호 + * @since 2010.08.18 + * @version 1.0 + * @see + * + */ +%> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="ImgUrl" value="/images/egovframework/com/cmm/"/> +<c:set var="pageTitle"><spring:message code="comUtlSysFsm.fileSysMntrng.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/cal/EgovCalPopup.js' />"></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="fileSysMntrngVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + function fn_egov_init_FileSysMntrng(){ + + } + + function fn_egov_update_filesysmntrng() { + document.fileSysMntrngVO.action = "<c:url value='/utl/sys/fsm/modifyFileSysMntrng.do'/>"; + document.fileSysMntrngVO.submit(); + } + + function fn_egov_delete_filesysmntrng(){ + if(confirm("<spring:message code='common.delete.msg' />")){ + document.fileSysMntrngVO.action = "<c:url value='/utl/sys/fsm/deleteFileSysMntrng.do'/>"; + document.fileSysMntrngVO.submit(); + } + } + + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fn_egov_list_filesysmntrng(){ + document.fileSysMntrngVO.action = "<c:url value='/utl/sys/fsm/selectFileSysMntrngList.do'/>"; + document.fileSysMntrngVO.submit(); + } + +</script> +<title>${pageTitle} <spring:message code="title.detail" /></title> +</head> +<body onLoad="fn_egov_init_FileSysMntrng()"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form:form commandName="fileSysMntrngVO" name="fileSysMntrngVO" method="post" action="${pageContext.request.contextPath}/utl/sys/fsm/modifyFileSysMntrng.do"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.detail" /></h2> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.fileSysNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${fileSysMntrngVO.fileSysNm}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.fileSysManageNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${fileSysMntrngVO.fileSysManageNm}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.fileSysMg.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${fileSysMntrngVO.fileSysMg}'/>G + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.fileSysThrhld.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${fileSysMntrngVO.fileSysThrhldRt}'/>% (<c:out value='${fileSysMntrngVO.fileSysThrhld}'/>G) + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.fileSysUsgQty.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${fileSysMntrngVO.fileSysUsgRt}'/>% (<c:out value='${fileSysMntrngVO.fileSysUsgQty}'/>G) + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.mngrNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${fileSysMntrngVO.mngrNm}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.mngrEmailAddr.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${fileSysMntrngVO.mngrEmailAddr}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.mntrngSttus.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value="${fileSysMntrngVO.mntrngSttus}" />&nbsp; + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.creatDt.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value="${fileSysMntrngVO.creatDt}" />&nbsp; + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.update" />' onclick="fn_egov_update_filesysmntrng()" /> + <span class="btn_s"><a href="<c:url value='/utl/sys/fsm/deleteFileSysMntrng.do'/>?fileSysId=<c:out value='${fileSysMntrngVO.fileSysId}'/>" onclick="fn_egov_delete_filesysmntrng(); return false;"><spring:message code="button.delete" /></a></span> + <span class="btn_s"><a href="<c:url value='/utl/sys/fsm/selectFileSysMntrngList.do'/>?searchWrd=<c:out value='${fileSysMntrngVO.searchWrd}'/>&amp;searchCnd=<c:out value='${fileSysMntrngVO.searchCnd}'/>&amp;pageIndex=<c:out value='${fileSysMntrngVO.pageIndex}'/>" onclick="fn_egov_list_filesysmntrng(); return false;"><spring:message code="button.list" /></a></span> + </div> + <div style="clear:both;"></div> + +</div> + + <input type="hidden" name="fileSysId" value="<c:out value='${fileSysMntrngVO.fileSysId}'/>" /> + <!-- 검색조건 유지 --> + <input type="hidden" name="searchWrd" value="<c:out value='${fileSysMntrngVO.searchWrd}'/>" /> + <input type="hidden" name="searchCnd" value="<c:out value='${fileSysMntrngVO.searchCnd}'/>" /> + <input type="hidden" name="pageIndex" value="<c:out value='${fileSysMntrngVO.pageIndex}'/>" /> + <!-- 검색조건 유지 --> +</form:form> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngLogList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngLogList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngLogList.jsp (revision 7) @@ -0,0 +1,258 @@ +<% +/** + * @Class Name : EgovFileSysMntrngLogList.jsp + * @Description : 파일시스템모니터링 로그 목록조회 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.08.18 장철호 최초 생성 + * + * @author 공통컴포넌트개발팀 장철호 + * @since 2010.08.18 + * @version 1.0 + * @see + * + */ +%> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comUtlSysFsm.fileSysMntrngLog.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle} <spring:message code="title.list" /></title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/utl/EgovCmmUtl.js' />"></script> +<script type="text/javascript"> + + function fn_egov_init_filesysmntrng(){ + document.frm.searchBgnHour.value = '<c:out value="${searchVO.searchBgnHour}"/>'; + document.frm.searchEndHour.value = '<c:out value="${searchVO.searchEndHour}"/>'; + + $("#searchBgnDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + $("#searchEndDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + } + + function press(event) { + if (event.keyCode==13) { + fn_egov_select_filesysmntrnglog('1'); + } + } + + function fn_egov_select_filesysmntrnglog(pageNo) { + document.frm.pageIndex.value = pageNo; + document.frm.action = "<c:url value='/utl/sys/fsm/selectFileSysMntrngLogList.do'/>"; + + var bgnDe = document.frm.searchBgnDe.value; + var endDe = document.frm.searchEndDe.value; + + if(bgnDe != ""){ + if(isDate(bgnDe, "<spring:message code="comUtlSysFsm.fileSysMntrngLogList.validate.bgnDe"/>") == false) { /* 검색시작일자 */ + return; + } + } + + if(endDe != ""){ + if(isDate(endDe, "<spring:message code="comUtlSysFsm.fileSysMntrngLogList.validate.endDe"/>") == false) { /* 검색종료일자 */ + return; + } + } + + if(bgnDe.length == 8){ + bgnDe = bgnDe.substring(0,4) + "-" + bgnDe.substring(4,6) + "-" + bgnDe.substring(6,8); + document.frm.searchBgnDe.value = bgnDe; + } + + if(endDe.length == 8){ + endDe = endDe.substring(0,4) + "-" + endDe.substring(4,6) + "-" + endDe.substring(6,8); + document.frm.searchEndDe.value = endDe; + } + + var bgnHour = document.frm.searchBgnHour.value; + var endHour = document.frm.searchEndHour.value; + + var bgnDeHour = ""; + var endDeHour = ""; + if(bgnDe != "" && endDe != ""){ + if(bgnHour == ""){ + document.frm.searchBgnHour.value = "00"; + bgnHour = "00"; + } + if(endHour == ""){ + document.frm.searchEndHour.value = "00"; + endHour = "00"; + } + bgnDeHour = bgnDe + bgnHour; + endDeHour = endDe + endHour; + + if(bgnDeHour > endDeHour){ + alert("<spring:message code="comUtlSysFsm.fileSysMntrngLogList.validate.bgnDeHourendDeHour"/>");/* 검색종료일시가 검색시작일시보다 빠를수 없습니다. */ + return; + } + } + document.frm.submit(); + } + + function fn_egov_inqire_filesysmntrnglog(fileSysId, logId) { + document.frm.fileSysId.value = fileSysId; + document.frm.logId.value = logId; + document.frm.action = "<c:url value='/utl/sys/fsm/selectFileSysMntrngLog.do'/>"; + document.frm.submit(); + } + + function fn_egov_select_filesysmntrng(){ + document.frm.action = "<c:url value='/utl/sys/fsm/selectFileSysMntrngList.do'/>"; + document.frm.submit(); + } + + +</script> +</head> +<body onLoad="fn_egov_init_filesysmntrng()"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + + <form name="frm" method="post" action="<c:url value='/utl/sys/fsm/selectFileSysMntrngLogList.do'/>"> + + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <input type="hidden" name="fileSysId"> + <input type="hidden" name="logId"> + + <div class="search_box" title="<spring:message code='common.searchCondition.msg' />"> + <ul> + <li> + <input name="searchBgnDe" id="searchBgnDe" type="text" size="10" maxlength="10" value="<c:out value="${searchVO.searchBgnDe}"/>" title="조회시작일자 입력"> + <select name="searchBgnHour" class="select" title="조회시작 시 선택"> + <c:forEach var="bgnHour" items="${searchBgnHour}" varStatus="status"> + <option value="<c:out value="${bgnHour.code}"/>"><c:out value="${bgnHour.codeNm}"/></option> + </c:forEach> + </select> + ~ + <input name="searchEndDe" id="searchEndDe" type="text" size="10" maxlength="10" value="<c:out value="${searchVO.searchEndDe}"/>" title="조회종료일자 입력"> + <select name="searchEndHour" class="select" title="조회종료 시 선택"> + <c:forEach var="endHour" items="${searchEndHour}" varStatus="status"> + <option value="<c:out value="${endHour.code}"/>"><c:out value="${endHour.codeNm}"/></option> + </c:forEach> + </select> + + <select name="searchCnd" class="select" title="조회조건 선택"> + <option value=''>--<spring:message code="comUtlSysFsm.fileSysMntrngLogList.select"/>--</option><!-- 선택하세요 --> + <option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected="selected"</c:if> ><spring:message code="comUtlSysFsm.fileSysMntrngLogList.fileSysNm.label" /></option> + <option value="1" <c:if test="${searchVO.searchCnd == '1'}">selected="selected"</c:if> ><spring:message code="comUtlSysFsm.fileSysMntrngLogList.fileSysManageNm.label" /></option> + <option value="2" <c:if test="${searchVO.searchCnd == '2'}">selected="selected"</c:if> ><spring:message code="comUtlSysFsm.fileSysMntrngLogList.mngrNm.label" /></option> + <option value="3" <c:if test="${searchVO.searchCnd == '3'}">selected="selected"</c:if> ><spring:message code="comUtlSysFsm.fileSysMntrngLogList.mntrngSttus.label" /></option> + </select> + <input class="s_input2 vat" name="searchWrd" type="text" value='<c:out value="${searchVO.searchWrd}"/>' maxlength="35" size="27" onkeypress="press(event);" title="검색어 입력" /> + <input class="s_btn" type="submit" value="<spring:message code="title.inquire"/>" title="<spring:message code="title.inquire"/>" onclick="fn_egov_select_filesysmntrnglog('1'); return false;" /><!-- 조회 --> + <span class="btn_b"><a href="<c:url value='/utl/sys/fsm/selectFileSysMntrngList.do'/>" onclick="fn_egov_select_filesysmntrng(); return false;" title="<spring:message code="comUtlSysFsm.fileSysMntrngLogList.list"/>"><spring:message code="comUtlSysFsm.fileSysMntrngLogList.list"/></a></span><!-- 목록 --> + </li> + </ul> + </div> + </form> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:10%" /> + <col style="width:17%" /> + <col style="width:17%" /> + <col style="width:8%" /> + <col style="width:11%" /> + <col style="width:11%" /> + <col style="width:10%" /> + <col style="width:16%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngLogList.seq.label" /></th> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngLogList.fileSysNm.label" /></th> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngLogList.fileSysManageNm.label" /></th> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngLogList.fileSysMg.label" /></th> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngLogList.fileSysThrhld.label" /></th> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngLogList.fileSysUsgQty.label" /></th> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngLogList.mntrngSttus.label" /></th> + <th scope="col"><spring:message code="comUtlSysFsm.fileSysMntrngLogList.creatDt.label" /></th> + </tr> + </thead> + <tbody> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value="${result.fileSysNm}"/></td> + <td> + <form name="fileSysMntrngLogVO" method="post" action="<c:url value='/utl/sys/fsm/selectFileSysMntrngLog.do'/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <input name="searchCnd" type="hidden" value="<c:out value='${searchVO.searchCnd}'/>"> + <input name="searchWrd" type="hidden" value="<c:out value='${searchVO.searchWrd}'/>"> + <input name="searchBgnDe" type="hidden" value="<c:out value='${searchVO.searchBgnDe}'/>"> + <input name="searchEndDe" type="hidden" value="<c:out value='${searchVO.searchEndDe}'/>"> + <input name="searchBgnHour" type="hidden" value="<c:out value='${searchVO.searchBgnHour}'/>"> + <input name="searchEndHour" type="hidden" value="<c:out value='${searchVO.searchEndHour}'/>"> + <input type="hidden" name="fileSysId" value="<c:out value="${result.fileSysId}"/>"> + <span class="link"><input type="submit" value="<c:out value="${result.fileSysManageNm}"/>" onclick="javascript:fn_egov_inqire_filesysmntrnglog('<c:out value="${result.fileSysId}"/>', '<c:out value="${result.logId}"/>'); return false;" style="text-align : left;"></span> + </form> + </td> + <td><c:out value="${result.fileSysMg}"/>G</td> + <td><c:out value="${result.fileSysThrhldRt}"/>%(<c:out value="${result.fileSysThrhld}"/>G)</td> + <td><c:out value="${result.fileSysUsgRt}"/>%(<c:out value="${result.fileSysUsgQty}"/>G)</td> + <td><c:out value="${result.mntrngSttus}"/></td> + <td><c:out value="${result.creatDt}"/></td> + </tr> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="8"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_filesysmntrnglog"/> + </ul> + </div> +</div> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngLogList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngLogDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngLogDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngLogDetail.jsp (revision 7) @@ -0,0 +1,145 @@ +<% +/** + * @Class Name : EgovFileSysMntrngLogDetail.jsp + * @Description : 파일시스템모니터링로그 상세조회 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.08.18 장철호 최초 생성 + * + * @author 공통컴포넌트개발팀 장철호 + * @since 2010.08.18 + * @version 1.0 + * @see + * + */ +%> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUtlSysFsm.fileSysMntrngLog.title"/></c:set> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/cal/EgovCalPopup.js' />"></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="fileSysMntrngLogVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + function fn_egov_init_FileSysMntrng(){ + + } + + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fn_egov_list_filesysmntrnglog(){ + document.fileSysMntrngLogVO.action = "<c:url value='/utl/sys/fsm/selectFileSysMntrngLogList.do'/>"; + document.fileSysMntrngLogVO.submit(); + } + +</script> +<title>${pageTitle} <spring:message code="title.detail" /></title> +</head> +<body onLoad="fn_egov_init_FileSysMntrng()"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.detail" /></h2> + + <form:form commandName="fileSysMntrngLogVO" name="fileSysMntrngLogVO" method="post" action="${pageContext.request.contextPath}/utl/sys/fsm/selectFileSysMntrngLogList.do"> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrngLog.logId.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value="${fileSysMntrngLog.logId}" escapeXml="false" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrngLog.fileSysNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${fileSysMntrngLog.fileSysNm}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrngLog.fileSysManageNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${fileSysMntrngLog.fileSysManageNm}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrngLog.fileSysMg.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${fileSysMntrngLog.fileSysMg}'/>G + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrngLog.fileSysThrhld.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${fileSysMntrngLog.fileSysThrhldRt}'/>% (<c:out value='${fileSysMntrngLog.fileSysThrhld}'/>G) + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrngLog.fileSysUsgQty.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${fileSysMntrngLog.fileSysUsgRt}'/>% (<c:out value='${fileSysMntrngLog.fileSysUsgQty}'/>G) + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrngLog.mntrngSttus.label" /></th> + <td class="left"> + <c:out value="${fileSysMntrngLog.mntrngSttus}" escapeXml="false" /> + </td> + </tr> + <c:if test="${fileSysMntrngLog.mntrngSttus} ne '정상'"> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrngLog.logInfo.label" /></th> + <td class="left"> + <textarea id="logInfo" name="logInfo" rows="10" cols="75" title="<spring:message code='comUtlSysFsm.fileSysMntrngLog.logInfo.label' />" readonly><c:out value="${fileSysMntrngLog.logInfo}" escapeXml="false" /></textarea> + </td> + </tr> + </c:if> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrngLog.creatDt.label" /></th> + <td class="left"> + <c:out value="${fileSysMntrngLog.creatDt}" escapeXml="false" /> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.list" />' onclick="fn_egov_list_filesysmntrnglog()" /> + </div> + <div style="clear:both;"></div> + + <input type="hidden" name="fileSysId" value="<c:out value='${fileSysMntrngLog.fileSysId}'/>" /> + <input type="hidden" name="logId" value="<c:out value='${fileSysMntrngLog.logId}'/>" /> + <!-- 검색조건 유지 --> + <input type="hidden" name="searchWrd" value="<c:out value='${fileSysMntrngLogVO.searchWrd}'/>" /> + <input type="hidden" name="searchCnd" value="<c:out value='${fileSysMntrngLogVO.searchCnd}'/>" /> + <input type="hidden" name="pageIndex" value="<c:out value='${fileSysMntrngLogVO.pageIndex}'/>" /> + <input name="searchBgnDe" type="hidden" value="<c:out value='${fileSysMntrngLogVO.searchBgnDe}'/>"> + <input name="searchEndDe" type="hidden" value="<c:out value='${fileSysMntrngLogVO.searchEndDe}'/>"> + <input name="searchBgnHour" type="hidden" value="<c:out value='${fileSysMntrngLogVO.searchBgnHour}'/>"> + <input name="searchEndHour" type="hidden" value="<c:out value='${fileSysMntrngLogVO.searchEndHour}'/>"> + <!-- 검색조건 유지 --> +</form:form> +</div> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngLogDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngRegist.jsp (revision 7) @@ -0,0 +1,162 @@ +<% +/** + * @Class Name : EgovFileSysMntrngRegist.jsp + * @Description : 파일시스템모니터대상 등록 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.08.18 장철호 최초 생성 + * + * @author 공통컴포넌트개발팀 장철호 + * @since 2010.08.18 + * @version 1.0 + * @see + * + */ +%> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUtlSysFsm.fileSysMntrng.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle} <spring:message code="title.create" /></title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/cal/EgovCalPopup.js' />"></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="fileSysMntrngVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + function fn_egov_init_FileSysMntrng(){ + document.fileSysMntrngVO.fileSysMg.value = "<c:out value='${fileSysMgValue}'/>"; + if(document.fileSysMntrngVO.fileSysMg.value == ""){ + document.fileSysMntrngVO.fileSysMg.value = 0; + } + + if("${notApplicableFileSys}" == "true"){ + alert("<spring:message code="comUtlSysFsm.fileSysMntrngRegist.notApplicableFileSysTrue"/>");/* 파일시스템명이 올바르지 않습니다. */ + } + } + + function fn_egov_insert_filesysmntrng() { + if (!validateFileSysMntrngVO(document.fileSysMntrngVO)){ + return; + } + + if(eval(document.fileSysMntrngVO.fileSysMg.value) < 1){ + alert("<spring:message code="comUtlSysFsm.fileSysMntrngRegist.fileSysMg"/>");/* 파일시스템확인 버튼을 클릭하여, 파일시스템의 크기를 확인해야 합니다. */ + return; + } + + if(eval(document.fileSysMntrngVO.fileSysThrhld.value) < 1){ + alert("<spring:message code="comUtlSysFsm.fileSysMntrngRegist.fileSysThrhldG"/>");/* 파일시스템 임계치를 1G 이상 입력하여야 합니다. */ + return; + } + + if(eval(document.fileSysMntrngVO.fileSysThrhld.value) > eval(document.fileSysMntrngVO.fileSysMg.value)){ + alert("<spring:message code="comUtlSysFsm.fileSysMntrngRegist.fileSysThrhldLimit"/>");/* 파일시스템 임계치는 파일시스템 크기보다 클 수 없습니다. */ + return; + } + + if (confirm('<spring:message code="common.regist.msg" />')) { + document.fileSysMntrngVO.action = "<c:url value='/utl/sys/fsm/insertFileSysMntrng.do'/>"; + document.fileSysMntrngVO.submit(); + } + } + + function fn_egov_select_filesysmg() { + document.fileSysMntrngVO.action = "<c:url value='/utl/sys/fsm/selectFileSysMg.do'/>"; + document.fileSysMntrngVO.submit(); + } + + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fn_egov_list_filesysmntrng(){ + document.fileSysMntrngVO.action = "<c:url value='/utl/sys/fsm/selectFileSysMntrngList.do'/>"; + document.fileSysMntrngVO.submit(); + } + +</script> +</head> +<body onLoad="fn_egov_init_FileSysMntrng()"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form:form commandName="fileSysMntrngVO" name="fileSysMntrngVO" method="post" action="${pageContext.request.contextPath}/utl/sys/fsm/insertFileSysMntrng.do"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.fileSysNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="fileSysNm" maxlength="60" title="<spring:message code='comUtlSysFsm.fileSysMntrng.fileSysNm.label' />" cssStyle="width:250px"/> + <a class="btn02" href="<c:url value='/utl/sys/fsm/selectFileSysMg.do'/>?searchWrd=<c:out value='${fileSysMntrngVO.searchWrd}'/>&amp;searchCnd=<c:out value='${fileSysMntrngVO.searchCnd}'/>&amp;pageIndex=<c:out value='${fileSysMntrngVO.pageIndex}'/>" onclick="fn_egov_select_filesysmg(); return false;"><spring:message code="comUtlSysFsm.fileSysMntrngRegist.selectFileSysMg"/></a><!-- 파일시스템확인 --> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.fileSysManageNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="fileSysManageNm" size="65" maxlength="255" title="<spring:message code='comUtlSysFsm.fileSysMntrng.fileSysManageNm.label' />"/> + <div><form:errors path="fileSysManageNm" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.fileSysMg.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="fileSysMg" maxlength="8" title="<spring:message code='comUtlSysFsm.fileSysMntrng.fileSysMg.label' />" readonly="true" cssStyle="width:50px"/>G + <div><form:errors path="fileSysMg" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.fileSysThrhld.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="fileSysThrhld" maxlength="8" title="<spring:message code='comUtlSysFsm.fileSysMntrng.fileSysThrhld.label' />" cssStyle="width:50px"/>G + <div><form:errors path="fileSysThrhld" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.mngrNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="mngrNm" size="5" maxlength="60" title="<spring:message code='comUtlSysFsm.fileSysMntrng.mngrNm.label' />" cssStyle="width:100px"/> + <div><form:errors path="mngrNm" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysFsm.fileSysMntrng.mngrEmailAddr.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <form:input path="mngrEmailAddr" size="25" maxlength="50" title="<spring:message code='comUtlSysFsm.fileSysMntrng.mngrEmailAddr.label' />"/> + <div><form:errors path="mngrEmailAddr" cssClass="error"/></div> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.save" />' onclick="fn_egov_insert_filesysmntrng(); return false;" /> + <span class="btn_s"><a href="<c:url value='/utl/sys/fsm/selectFileSysMntrngList.do'/>?searchWrd=<c:out value='${fileSysMntrngVO.searchWrd}'/>&amp;searchCnd=<c:out value='${fileSysMntrngVO.searchCnd}'/>&amp;pageIndex=<c:out value='${fileSysMntrngVO.pageIndex}'/>" onclick="fn_egov_list_filesysmntrng(); return false;"><spring:message code="button.list" /></a></span> + </div> + <div style="clear:both;"></div> +</div> + + <input type="hidden" name="searchWrd" value="<c:out value='${fileSysMntrngVO.searchWrd}'/>" /> + <input type="hidden" name="searchCnd" value="<c:out value='${fileSysMntrngVO.searchCnd}'/>" /> + <input type="hidden" name="pageIndex" value="<c:out value='${fileSysMntrngVO.pageIndex}'/>" /> +</form:form> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/fsm/EgovFileSysMntrngRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonModify.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonModify.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonModify.jsp (revision 7) @@ -0,0 +1,116 @@ +<% + /** + * @Class Name : EgovComUtlHttpMonModify.jsp + * @Description : EgovComUtlHttpMonModify 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.06.30 박종선 최초 생성 + * + * @author 공통서비스팀 + * @since 2010.05.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> + +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUtlSysHtm.comUtlHttpMonModify.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> + <head> + <title>${pageTitle}</title> + <meta http-equiv="content-type" content="text/html; charset=utf-8" /> + <link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> + <link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> + <script type="text/javascript" src="<c:url value="/validator.do"/>"></script> + <validator:javascript formName="httpMon" staticJavascript="false" xhtml="true" cdata="false"/> + + <script type="text/javaScript" language="javascript"> + <!-- + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fn_egov_list_HttpMon(){ + location.href = "<c:url value='/utl/sys/htm/EgovComUtlHttpMonList.do'/>"; + } + /* ******************************************************** + * 저장처리화면 + ******************************************************** */ + function fn_egov_modify_HttpMon(form){ + if(confirm("<spring:message code="common.save.msg" />")){ + if(!validateHttpMon(form)){ + return; + }else{ + form.submit(); + } + } + } + --> + </script> + </head> + + <body> + <DIV class="wTableFrm"> + <form:form commandName="httpMon" name="httpMon" method="post"> + <input name="cmd" type="hidden" value="Modify"> + <form:hidden path="sysId"/> + + <!-- 상단 타이틀 영역 --> + <h2>&nbsp;${pageTitle}</h2> + + <table width="700" border="0" cellpadding="0" cellspacing="1" class="wTable" + summary="<spring:message code="comUtlSysHtm.comUtlHttpMonModify.summary" />"> + <caption>${pageTitle}</caption> + <tr> + <th scope="row" width="20%" height="23" class="required_text" nowrap><spring:message code="comUtlSysHtm.comUtlHttpMon.webService" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 웹서비스종류 --> + <td class="left"> + <select name="webKind" title="웹서비스종류 선택"> + <option value="TOMCAT" <c:if test="${httpMon.webKind == 'TOMCAT'}">selected</c:if> >TOMCAT</option> + <option value="WEBLOGIC" <c:if test="${httpMon.webKind == 'WEBLOGIC'}">selected</c:if> >WEBLOGIC</option> + <option value="JEUS" <c:if test="${httpMon.webKind == 'JEUS'}">selected</c:if> >JEUS</option> + <option value="JBOSS" <c:if test="${httpMon.webKind == 'JBOSS'}">selected</c:if> >JBOSS</option> + </select> + </td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text" nowrap><spring:message code="comUtlSysHtm.comUtlHttpMon.systemURL" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 시스템URL --> + <td width="80%" class="left"> + <form:input path="siteUrl" size="60" maxlength="100"/> + <form:errors path="siteUrl"/> + </td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text" nowrap><spring:message code="comUtlSysHtm.comUtlHttpMon.managerName" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 관리자명 --> + <td width="80%" class="left"> + <form:input path="mngrNm" size="60" maxlength="60"/> + <form:errors path="mngrNm"/> + </td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text" nowrap><spring:message code="comUtlSysHtm.comUtlHttpMon.managerEmail" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 관리자이메일 --> + <td width="80%" class="left"> + <form:input path="mngrEmailAddr" size="60" maxlength="60"/> + <form:errors path="mngrEmailAddr"/> + </td> + </tr> + </table> + + <!-- 목록/저장버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.save" />" onclick="fn_egov_modify_HttpMon(); return false;" /> + <input class="s_submit" type="submit" value="<spring:message code="button.list" />" onclick="fn_egov_list_HttpMon(); return false;" /> + </div> + </form:form> + </DIV> + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonModify.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonList.jsp (revision 7) @@ -0,0 +1,156 @@ +<% + /** + * @Class Name : EgovComUtlHttpMonList.jsp + * @Description : EgovComUtlHttpMonList 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.06.30 박종선 최초 생성 + * + * @author 공통서비스팀 + * @since 2010.05.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> + +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ page import="java.util.*" %> +<%@ page import="java.io.*" %> +<c:set var="pageTitle"><spring:message code="comUtlSysHtm.comUtlHttpMonList.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> + <head> + <meta http-equiv="content-type" content="text/html; charset=utf-8"> + <title>${pageTitle}</title> + <link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> + <link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> + + <script type="text/javascript" src="/js/egovframework/com/cmm/utl/EgovCmmUtl.js"></script> + <script type="text/javaScript" language="javascript"> + <!-- + /* ******************************************************** + * 초기화 + ******************************************************** */ + function fn_egov_initl_HttpMon(){ + // 첫 입력란에 포커스.. + var form = document.listForm; + form.searchCondition.focus(); + } + /* ******************************************************** + * 페이징 처리 함수 + ******************************************************** */ + function linkPage(pageNo){ + var form = document.listForm; + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/utl/sys/htm/EgovComUtlHttpMonList.do'/>"; + form.submit(); + } + /* ******************************************************** + * 조회 처리 + ******************************************************** */ + function fnSearch(){ + var form = document.listForm; + form.pageIndex.value = 1; + form.submit(); + } + /* ******************************************************** + * 로그조회 함수 + ******************************************************** */ + function fnSearchLog(){ + location.href = "<c:url value='/utl/sys/htm/EgovComUtlHttpMonLogList.do'/>"; + } + --> + </script> + </head> + + <body onLoad="fn_egov_initl_HttpMon();"> + + <!-- 자바스크립트 경고 태그 --> + <noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + + <div class="board"> + <h1>${pageTitle}</h1> + + <form name="listForm" action="<c:url value='/utl/sys/htm/EgovComUtlHttpMonList.do'/>" method="post"> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <select name="searchCondition" class="select" title="조회조건 선택"> + <option value=''>--<spring:message code="input.select" />--</option> + <option value='1' <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if>><spring:message code="comUtlSysHtm.comUtlHttpMon.managerName" /></option><!-- 관리자명 --> + <option value='2' <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if>><spring:message code="comUtlSysHtm.comUtlHttpMon.status" /></option><!-- 상태 --> + </select> + <input class="s_input2 vat" name="searchKeyword" type="text" value='${searchVO.searchKeyword}' maxlength="35" size="35" onkeypress="press();" title="검색어 입력" /> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="fnSearch(); return false;" /> + <span class="btn_b"><a href="<c:url value='/utl/sys/htm/EgovComUtlHttpMonRegist.do'/>" onclick="" title='<spring:message code="button.create" />'><spring:message code="button.create" /></a></span> + <input class="s_btn" type="submit" value="<spring:message code="button.log" />" title="<spring:message code="button.log" />" onclick="fnSearchLog(); return false;" /> + </li> + </ul> + </div> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:10%" /> + <col style="width:15%" /> + <col style="width:20%" /> + <col style="width:15%" /> + <col style="width:20%" /> + <col style="width:25%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysHtm.comUtlHttpMon.seq" /></th><!-- 순번 --> + <th scope="col"><spring:message code="comUtlSysHtm.comUtlHttpMon.webService" /></th><!-- 웹서비스종류 --> + <th scope="col"><spring:message code="comUtlSysHtm.comUtlHttpMon.systemURL" /></th><!-- 시스템URL --> + <th scope="col"><spring:message code="comUtlSysHtm.comUtlHttpMon.status" /></th><!-- 상태 --> + <th scope="col"><spring:message code="comUtlSysHtm.comUtlHttpMon.managerName" /></th><!-- 관리자명 --> + <th scope="col"><spring:message code="comUtlSysHtm.comUtlHttpMon.createdDateTime" /></th><!-- 생성일시 --> + </tr> + </thead> + <tbody> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex - 1) * searchVO.pageSize + status.count}"/></td> + <td>${resultInfo.webKind}</td> + <td> + <a href="<c:url value='/utl/sys/htm/EgovComUtlHttpMonDetail.do'/>?pageIndex=${searchVO.pageIndex}&amp;sysId=${resultInfo.sysId}"><c:out value="${resultInfo.siteUrl}"/></a> + </td> + <td>${resultInfo.httpSttusCd}</td> + <td>${resultInfo.mngrNm}</td> + <td>${resultInfo.creatDt}</td> + </tr> + </c:forEach> + + <!-- 데이터가 없을때 화면에 메세지를 출력해준다 --> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="6"> + <spring:message code="common.nodata.msg" /> + </td> + </tr> + </c:if> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> + + </form> + </div> + + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonDetail.jsp (revision 7) @@ -0,0 +1,115 @@ +<% + /** + * @Class Name : EgovComUtlHttpMonDetail.jsp + * @Description : EgovComUtlHttpMonDetail 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.06.30 박종선 최초 생성 + * + * @author 공통서비스팀 + * @since 2010.05.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> + +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comUtlSysHtm.comUtlHttpMonDetail.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> + <head> + <title>${pageTitle}</title> + <meta http-equiv="content-type" content="text/html; charset=utf-8" /> + <link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> + <link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> + + <script type="text/javaScript" language="javascript"> + <!-- + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fnList(){ + location.href = "<c:url value='/utl/sys/htm/EgovComUtlHttpMonList.do'/>"; + } + /* ******************************************************** + * 수정화면으로 바로가기 + ******************************************************** */ + function fnModify(){ + var varForm = document.all["Form"]; + varForm.action = "<c:url value='/utl/sys/htm/EgovComUtlHttpMonModify.do'/>"; + varForm.sysId.value = "${result.sysId}"; + varForm.submit(); + } + /* ******************************************************** + * 삭제 처리 함수 + ******************************************************** */ + function fnDelete(){ + if (confirm("<spring:message code="common.delete.msg" />")) { + var varForm = document.all["Form"]; + varForm.action = "<c:url value='/utl/sys/htm/EgovComUtlHttpMonRemove.do'/>"; + varForm.sysId.value = "${result.sysId}"; + varForm.submit(); + } + } + --> + </script> + </head> + + <body> + + <!-- 자바스크립트 경고 태그 --> + <noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + + <DIV class="wTableFrm"> + <form name="Form" action="" method="post"> + <input name="sysId" type="hidden"> + + <!-- 상단 타이틀 영역 --> + <h2>&nbsp;${pageTitle}</h2> + + <table width="700" border="0" cellpadding="0" cellspacing="1" class="wTable" + summary="<spring:message code="comUtlSysHtm.comUtlHttpMonDetail.summary" />"> + <caption>${pageTitle}</caption> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysHtm.comUtlHttpMon.webService" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 웹서비스종류 --> + <!-- <td> + <c:if test="${result.webKind == '001'}">TOMCAT</c:if> + <c:if test="${result.webKind == '002'}">WEBLOGIC</c:if> + <c:if test="${result.webKind == '003'}">JEUS</c:if> + <c:if test="${result.webKind == '004'}">JBOSS</c:if> + </td> --> + <td class="left">${result.webKind}</td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysHtm.comUtlHttpMon.systemURL" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 시스템URL --> + <td class="left">${result.siteUrl}</td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysHtm.comUtlHttpMon.managerName" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 관리자명 --> + <td class="left">${result.mngrNm}</td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysHtm.comUtlHttpMon.managerEmail" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 관리자이메일 --> + <td class="left">${result.mngrEmailAddr}</td> + </tr> + </table> + + <!-- 목록/저장버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.update" />" onclick="fnModify(); return false;" /> + <input class="s_submit" type="submit" value="<spring:message code="button.delete" />" onclick="fnDelete(); return false;" /> + <input class="s_submit" type="submit" value="<spring:message code="button.list" />" onclick="fnList(); return false;" /> + </div> + + </form> + </DIV> + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonLogList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonLogList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonLogList.jsp (revision 7) @@ -0,0 +1,256 @@ +<% +/** + * @Class Name : EgovComUtlHttpMonLogList.jsp + * @Description : EgovComUtlHttpMonLogList 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.09.7 박종선 최초 생성 + * + * @author 공통서비스팀 + * @since 2010.05.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comUtlSysHtm.comUtlHttpMonLogList.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> + <head> + <title>${pageTitle}</title> + + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> + <link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> + <link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> + <script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/cal/EgovCalPopup.js' />"></script> + <script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/utl/EgovCmmUtl.js' />"></script> + <script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> + <script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> + + <script type="text/javascript"> + + function fn_egov_init_httpMonLog(){ + document.frm.searchBgnHour.value = '<c:out value="${searchVO.searchBgnHour}"/>'; + document.frm.searchEndHour.value = '<c:out value="${searchVO.searchEndHour}"/>'; + + $("#searchBgnDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + + $("#searchEndDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + document.frm.searchKeyword.focus(); + } + + function press(event) { + if (event.keyCode==13) { + fn_egov_select_httpMonLog('1'); + } + } + + function fn_egov_select_httpMonLog(pageNo) { + document.frm.pageIndex.value = pageNo; + document.frm.action = "<c:url value='/utl/sys/htm/EgovComUtlHttpMonLogList.do'/>"; + + var bgnDe = document.frm.searchBgnDe.value; + var endDe = document.frm.searchEndDe.value; + + if(bgnDe != ""){ + if(isDate(bgnDe, "검색시작일자") == false) { + return; + } + } + + if(endDe != ""){ + if(isDate(endDe, "검색종료일자") == false) { + return; + } + } + + var bgnHour = document.frm.searchBgnHour.value; + var endHour = document.frm.searchEndHour.value; + + var bgnDeHour = ""; + var endDeHour = ""; + if(bgnDe != "" && endDe != ""){ + if(bgnHour == ""){ + document.frm.searchBgnHour.value = "00"; + bgnHour = "00"; + } + if(endHour == ""){ + document.frm.searchEndHour.value = "00"; + endHour = "00"; + } + bgnDeHour = bgnDe + bgnHour; + endDeHour = endDe + endHour; + + if(bgnDeHour > endDeHour){ + alert("검색종료일시가 검색시작일시보다 빠를수 없습니다."); + return; + } + } + document.frm.submit(); + } + + function fn_egov_inqire_httpMonLog(webKind, logId) { + document.frm.webKind.value = webKind; + document.frm.logId.value = logId; + document.frm.action = "<c:url value='/utl/sys/htm/EgovComUtlHttpMonDetailLog.do'/>"; + document.frm.submit(); + } + + /* ******************************************************** + * 마스터목록조회 함수 + ******************************************************** */ + function fnSearch(){ + location.href = "<c:url value='/utl/sys/htm/EgovComUtlHttpMonList.do'/>"; + } + </script> + </head> + + <body onLoad="fn_egov_init_httpMonLog()"> + + <noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + + <div class="board"> + + <h1>${pageTitle}</h1> + + <form name="frm" method="post" action="<c:url value='/utl/sys/prm/EgovComUtlProcessMonLogList.do'/>"> + + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <input type="hidden" name="webKind"> + <input type="hidden" name="logId"> + + + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <input type="hidden" name="cal_url" id="cal_url" value="<c:url value='/sym/cal/EgovNormalCalPopup.do'/>" > + <input name="searchBgnDe" id="searchBgnDe" type="text" size="10" maxlength="10" value="<c:out value="${searchVO.searchBgnDe}"/>" title="<spring:message code="comUtlSysPrm.comUtlProcessMon.searchBgnDe" />"><!-- 조회시작일자 입력 --> + <select name="searchBgnHour" class="select" title="<spring:message code="comUtlSysPrm.comUtlProcessMon.searchBgnHour" />"><!-- 조회시작 시 선택 --> + <c:forEach var="bgnHour" items="${searchBgnHour}" varStatus="status"> + <option value="<c:out value="${bgnHour.code}"/>"><c:out value="${bgnHour.codeNm}"/></option> + </c:forEach> + </select> + ~ + <input name="searchEndDe" id="searchEndDe"type="text" size="10" maxlength="10" value="<c:out value="${searchVO.searchEndDe}"/>" title="<spring:message code="comUtlSysPrm.comUtlProcessMon.searchEndDe" />"><!-- 조회종료일자 입력 --> + <select name="searchEndHour" class="select" title="<spring:message code="comUtlSysPrm.comUtlProcessMon.searchEndHour" />"><!-- 조회종료 시 선택 --> + <c:forEach var="endHour" items="${searchEndHour}" varStatus="status"> + <option value="<c:out value="${endHour.code}"/>"><c:out value="${endHour.codeNm}"/></option> + </c:forEach> + </select> + + <select name="searchCondition" class="select" title="<spring:message code="select.searchCondition" />"> + <option value=''>--<spring:message code="input.select" />--</option><!-- 선택하세요 --> + <option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if> ><spring:message code="comUtlSysHtm.comUtlHttpMon.webService" /></option><!-- 웹서비스종류 --> + <option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if> ><spring:message code="comUtlSysHtm.comUtlHttpMon.status" /></option><!-- 상태 --> + </select> + <input name="searchKeyword" type="text" size="27" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="35" onkeypress="press(event);" title="검색어 입력"> + + <!-- <input class="s_input2 vat" name="searchKeyword" type="text" value="" size="25" onkeypress="press();" title="사용자명검색" /> --> + <input class="s_btn" type="submit" value="<spring:message code="button.search" />" title="<spring:message code="button.search" />" onclick="fn_egov_select_httpMonLog('1'); return false;" /> + <input class="s_btn" type="submit" value="<spring:message code="button.list" />" title="<spring:message code="button.list" />" onclick="fnSearch(); return false;" /> + </li> + </ul> + </div> + + </form> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:9%" /> + <col style="width:22%" /> + <col style="width:15%" /> + <col style="width:22%" /> + <col style="width:9%" /> + <col style="width:23%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysHtm.comUtlHttpMon.seq" /></th><!-- 순번 --> + <th scope="col"><spring:message code="comUtlSysHtm.comUtlHttpMon.logID" /></th><!-- 로그ID --> + <th scope="col"><spring:message code="comUtlSysHtm.comUtlHttpMon.webService" /></th><!-- 웹서비스종류 --> + <th scope="col"><spring:message code="comUtlSysHtm.comUtlHttpMon.systemURL" /></th><!-- 시스템URL --> + <th scope="col"><spring:message code="comUtlSysHtm.comUtlHttpMon.status" /></th><!-- 상태 --> + <th scope="col"><spring:message code="comUtlSysHtm.comUtlHttpMon.createdDateTime" /></th><!-- 생성일시 --> + </tr> + </thead> + <tbody> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value="${result.logId}"/></td> + <td> + <form name="httpMonLogVO" method="post" action="<c:url value='EgovComUtlHttpMonLogList.do'/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <input name="searchCondition" type="hidden" value="<c:out value='${searchVO.searchCondition}'/>"> + <input name="searchKeyword" type="hidden" value="<c:out value='${searchVO.searchKeyword}'/>"> + <input name="searchBgnDe" type="hidden" value="<c:out value='${searchVO.searchBgnDe}'/>"> + <input name="searchEndDe" type="hidden" value="<c:out value='${searchVO.searchEndDe}'/>"> + <input name="searchBgnHour" type="hidden" value="<c:out value='${searchVO.searchBgnHour}'/>"> + <input name="searchEndHour" type="hidden" value="<c:out value='${searchVO.searchEndHour}'/>"> + <span class="link"><input type="submit" value="<c:out value="${result.webKind}"/>" + onclick="javascript:fn_egov_inqire_httpMonLog('<c:out value="${result.webKind}"/>' + , '<c:out value="${result.logId}"/>'); return false;" style="text-align : left;"></span> + </form> + </td> + <td><c:out value="${result.siteUrl}"/></td> + <td><c:out value="${result.httpSttusCd}"/></td> + <td><c:out value="${result.creatDt}"/></td> + </tr> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="6"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_processMonLog"/> + </ul> + </div> + + </div> + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonLogList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonDetailLog.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonDetailLog.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonDetailLog.jsp (revision 7) @@ -0,0 +1,97 @@ +<% + /** + * @Class Name : EgovComUtlHttpMonDetailLog.jsp + * @Description : EgovComUtlHttpMonDetailLog 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.06.30 박종선 최초 생성 + * + * @author 공통서비스팀 + * @since 2010.05.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> + +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comUtlSysHtm.comUtlHttpMonLogDetail.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> + <head> + <title>${pageTitle}</title> + <meta http-equiv="content-type" content="text/html; charset=utf-8" /> + <link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> + <link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> + + <script type="text/javaScript" language="javascript"> + <!-- + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fnList(){ + location.href = "<c:url value='/utl/sys/htm/EgovComUtlHttpMonLogList.do'/>"; + } + --> + </script> + </head> + + <body> + + <!-- 자바스크립트 경고 태그 --> + <noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + + <DIV class="wTableFrm"> + <form name="Form" action="" method="post"> + <input name="webKind" type="hidden"> + + <!-- 상단 타이틀 영역 --> + <h2>&nbsp;${pageTitle}</h2> + + <table width="700" border="0" cellpadding="0" cellspacing="1" class="wTable" + summary="<spring:message code="comUtlSysHtm.comUtlHttpMonLogDetail.summary" />"> + <caption>${pageTitle}</caption> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysHtm.comUtlHttpMon.logID" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 로그ID --> + <td class="left">${result.logId}</td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysHtm.comUtlHttpMon.processID" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 프로세스ID --> + <td class="left">${result.sysId}</td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysHtm.comUtlHttpMon.webService" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 웹서비스종류 --> + <td class="left">${result.webKind}</td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysHtm.comUtlHttpMon.status" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 상태 --> + <td class="left">${result.httpSttusCd}</td> + </tr> + <c:if test="${result.httpSttusCd == '오류'}"> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysHtm.comUtlHttpMon.logInfo" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 로그 --> + <td class="left">${result.logInfo}</td> + </tr> + </c:if> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysHtm.comUtlHttpMon.lastCreatedDateTime" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 마지막 생성일시 --> + <td class="left">${result.creatDt}</td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.list" />" onclick="fnList(); return false;" /> + </div> + + </form> + </DIV> + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonDetailLog.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonRegist.jsp (revision 7) @@ -0,0 +1,128 @@ +<% + /** + * @Class Name : EgovComUtlHttpMonRegist.jsp + * @Description : EgovComUtlHttpMonRegist 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.06.30 박종선 최초 생성 + * + * @author 공통서비스팀 + * @since 2010.05.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> + +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUtlSysHtm.comUtlHttpMonRegist.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> + <head> + <meta http-equiv="content-type" content="text/html; charset=utf-8" /> + <title>${pageTitle}</title> + <link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> + <link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> + <script type="text/javascript" src="<c:url value="/validator.do"/>"></script> + <validator:javascript formName="httpMon" staticJavascript="false" xhtml="true" cdata="false"/> + + <script type="text/javaScript" language="javascript"> + <!-- + /* ******************************************************** + * 초기화 + ******************************************************** */ + function fn_egov_initl_HttpMon(){ + // 첫 입력란에 포커스.. + httpMon.webKind.focus(); + } + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fn_egov_list_HttpMon(){ + location.href = "<c:url value='/utl/sys/htm/EgovComUtlHttpMonList.do'/>"; + } + /* ******************************************************** + * 저장처리화면 + ******************************************************** */ + function fn_egov_regist_HttpMon(form){ + if(confirm("<spring:message code="common.save.msg" />")){ + if(!validateHttpMon(form)){ + return; + }else{ + form.submit(); + } + } + } + --> + </script> + </head> + + <body onLoad="fn_egov_initl_HttpMon();"> + + <form:form commandName="httpMon" name="httpMon" method="post"> + + <div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle}</h2> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysHtm.comUtlHttpMon.webService" /> <span class="pilsu">*</span></th><!-- 웹서비스종류 --> + <td class="left"> + <select name="webKind" title="<spring:message code="comUtlSysHtm.comUtlHttpMon.webService" />"> + <option value="TOMCAT">TOMCAT</option> + <option value="WEBLOGIC">WEBLOGIC</option> + <option value="JEUS">JEUS</option> + <option value="JBOSS">JBOSS</option> + </select> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysHtm.comUtlHttpMon.systemURL" /> <span class="pilsu">*</span></th><!-- 시스템URL --> + <td class="left"> + <form:input path="siteUrl" size="30" maxlength="30"/> + <form:errors path="siteUrl"/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysHtm.comUtlHttpMon.managerName" /> <span class="pilsu">*</span></th><!-- 관리자명 --> + <td class="left"> + <form:input path="mngrNm" size="60" maxlength="60"/> + <form:errors path="mngrNm"/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysHtm.comUtlHttpMon.managerEmail" /> <span class="pilsu">*</span></th><!-- 관리자이메일 --> + <td class="left"> + <form:input path="mngrEmailAddr" size="60" maxlength="60"/> + <form:errors path="mngrEmailAddr"/> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="저장" onclick="fn_egov_regist_HttpMon(document.httpMon); return false;" /> + <input class="s_submit" type="submit" value='<spring:message code="button.list" />' onclick="fn_egov_list_HttpMon(); return false;" /> + </div> + <div style="clear:both;"></div> + </div> + + </form:form> + + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/htm/EgovComUtlHttpMonRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcList.jsp (revision 7) @@ -0,0 +1,145 @@ +<%-- +/** + * @Class Name : EgovProxySvcList.java + * @Description : EgovProxySvcList jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2010.07.01 lee.m.j 최초 생성 + * + * @author lee.m.j + * @since 2010.07.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +--%> + +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<c:set var="pageTitle"><spring:message code="comUtlSysPxy.proxySvc.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle} <spring:message code="title.list" /></title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> + +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- + +function fncSelectProxySvcList(pageNo){ + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/utl/sys/pxy/selectProxySvcList.do'/>"; + document.listForm.submit(); +} + +function fncSelectProxySvc(proxyId) { + document.listForm.proxyId.value = proxyId; + document.listForm.action = "<c:url value='/utl/sys/pxy/getProxySvc.do'/>"; + document.listForm.submit(); +} + +function fncAddProxySvcInsert() { + if(document.listForm.pageIndex.value == "") { + document.listForm.pageIndex.value = 1; + } + document.listForm.action = "<c:url value='/utl/sys/pxy/addViewProxySvc.do'/>"; + document.listForm.submit(); +} + +function linkPage(pageNo){ + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/utl/sys/pxy/selectProxySvcList.do'/>"; + document.listForm.submit(); +} + +function press() { + if (event.keyCode==13) { + fncSelectProxySvcList('1'); + } +} + +--> +</script> +</head> +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + <form name="listForm" action="<c:url value='/utl/sys/pxy/selectProxySvcList.do'/>" method="post"> + <div class="search_box" title="<spring:message code='common.searchCondition.msg' />"> + <ul> + <li> + <label for=""><spring:message code="comUtlSysPxy.proxySvcList.proxyNm.label" /> : </label> + <input class="s_input2 vat" name="strProxyNm" type="text" value='<c:out value="${proxySvcVO.strProxyNm}"/>' size="30" onkeypress="press();" title="검색" /> + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="fncSelectProxySvcList('1'); return false;" /> + <span class="btn_b"><a href="<c:url value='/utl/sys/pxy/addViewProxySvc.do'/>?pageIndex=<c:out value='${proxySvcVO.pageIndex}'/>&amp;strProxyNm=<c:out value="${proxySvcVO.strProxyNm}"/>" onclick="fncAddProxySvcInsert(); return false;" title='<spring:message code="button.create" />'><spring:message code="button.create" /></a></span> + <span class="btn_b"><a href="<c:url value='/utl/sys/pxy/selectProxyLogList.do'/>" onclick="" title="<spring:message code="comUtlSysPxy.proxyLog.log"/>"><spring:message code="comUtlSysPxy.proxyLog.log"/></a></span><!-- 로그 --> + </li> + </ul> + </div> + </form> + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:25%" /> + <col style="width:17%" /> + <col style="width:11%" /> + <col style="width:19%" /> + <col style="width:20%" /> + <col style="width:8%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysPxy.proxySvcList.proxyId.label" /></th> + <th scope="col"><spring:message code="comUtlSysPxy.proxySvcList.proxyNm.label" /></th> + <th scope="col"><spring:message code="comUtlSysPxy.proxySvcList.proxyPort.label" /></th> + <th scope="col"><spring:message code="comUtlSysPxy.proxySvcList.trgetSvcNm.label" /></th> + <th scope="col"><spring:message code="comUtlSysPxy.proxySvcList.svcIp.label" /></th> + <th scope="col"><spring:message code="comUtlSysPxy.proxySvcList.svcSttusNm.label" /></th> + </tr> + </thead> + <tbody> + <c:forEach var="proxySvc" items="${proxySvcList}" varStatus="status"> + <tr> + <td> + <form name="item" method="post" action="<c:url value='/utl/sys/pxy/getProxySvc.do'/>"> + <input type="hidden" name="proxyId" value="<c:out value="${proxySvc.proxyId}"/>"> + <input type="hidden" name="pageIndex" value="<c:out value='${proxySvcVO.pageIndex}'/>"> + <input type="hidden" name="strProxyNm" value="<c:out value="${proxySvcVO.strProxyNm}"/>"> + <span class="link"><input type="submit" value="<c:out value="${proxySvc.proxyId}"/>" onclick="fncSelectProxySvc('<c:out value="${proxySvc.proxyId}"/>'); return false;"></span> + </form> + </td> + <td><c:out value="${proxySvc.proxyNm}"/></td> + <td><c:out value="${proxySvc.proxyPort}"/></td> + <td><c:out value="${proxySvc.trgetSvcNm}"/></td> + <td><c:out value="${proxySvc.svcIp}"/>:<c:out value="${proxySvc.svcPort}"/></td> + <td><c:out value="${proxySvc.svcSttusNm}"/></td> + </tr> + </c:forEach> + <c:if test="${fn:length(proxySvcList) == 0}"> + <tr> + <td colspan="6"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> +</div> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcDetail.jsp (revision 7) @@ -0,0 +1,149 @@ +<%-- +/** + * @Class Name : EgovProxySvcDetail.java + * @Description : EgovProxySvcDetail jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2010.07.01 lee.m.j 최초 생성 + * + * @author lee.m.j + * @since 2010.07.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +--%> + +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<c:set var="pageTitle"><spring:message code="comUtlSysPxy.proxySvc.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<title>${pageTitle} <spring:message code="title.detail" /></title> + +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- +function fncSelectProxySvcList() { + var varFrom = document.getElementById("proxySvc"); + varFrom.action = "<c:url value='/utl/sys/pxy/selectProxySvcList.do'/>"; + varFrom.submit(); +} + +function fncProxySvcUpdateView(proxyId) { + var varFrom = document.getElementById("proxySvc"); + varFrom.proxyId.value = proxyId; + varFrom.action = "<c:url value='/utl/sys/pxy/updtViewProxySvc.do'/>"; + varFrom.submit(); +} + +function fncProxySvcDelete(proxyId) { + var varFrom = document.getElementById("proxySvc"); + varFrom.proxyId.value = proxyId; + varFrom.action = "<c:url value='/utl/sys/pxy/removeProxySvc.do'/>"; + if(confirm("<spring:message code='common.delete.msg' />")){ + varFrom.submit(); + } +} +--> +</script> +</head> + +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comUtlSysPxy.proxySvcDetail.title" /></h2><!-- 프록시설정 상세조회 --> + + <form:form commandName="proxySvc" method="post" action="${pageContext.request.contextPath}/utl/sys/pxy/removeProxySvc.do"> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.proxyId.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${proxySvc.proxyId}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.proxyNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${proxySvc.proxyNm}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.proxyIp.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${proxySvc.proxyIp}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.proxyPort.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${proxySvc.proxyPort}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.trgetSvcNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${proxySvc.trgetSvcNm}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.svcDc.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${proxySvc.svcDc}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.svcIp.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${proxySvc.svcIp}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.svcPort.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${proxySvc.svcPort}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.svcSttusNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${proxySvc.svcSttusNm}'/> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/utl/sys/pxy/updtViewProxySvc.do'/>?proxyId=<c:out value='${proxySvc.proxyId}'/>" onclick="fncProxySvcUpdateView('${proxySvc.proxyId}'); return false;"><spring:message code="button.update" /></a></span> + <input class="s_submit" type="submit" value='<spring:message code="button.delete" />' onclick="fncProxySvcDelete('${proxySvc.proxyId}')" /> + <span class="btn_s"><a href="<c:url value='/utl/sys/pxy/selectProxySvcList.do'/>?pageIndex=<c:out value='${proxySvcVO.pageIndex}'/>&amp;strProxyNm=<c:out value="${proxySvcVO.strProxyNm}"/>" onclick="fncSelectProxySvcList(); return false;"><spring:message code="button.list" /></a></span> + </div> + <div style="clear:both;"></div> + + <input type="hidden" name="proxyId" value="<c:out value='${proxySvc.proxyId}'/>" /> + <!-- 검색조건 유지 --> + <input type="hidden" name="strProxyNm" value="<c:out value='${proxySvcVO.strProxyNm}'/>" /> + <input type="hidden" name="pageIndex" value="<c:out value='${proxySvcVO.pageIndex}'/>" /> + </form:form> + +</div> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxyLogList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxyLogList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxyLogList.jsp (revision 7) @@ -0,0 +1,200 @@ +<%-- +/** + * @Class Name : EgovProxyLogList.java + * @Description : EgovProxyLogList jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2010.07.01 lee.m.j 최초 생성 + * + * @author lee.m.j + * @since 2010.07.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +--%> + +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<c:set var="pageTitle"><spring:message code="comUtlSysPxy.proxyLog.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle} <spring:message code="title.list" /></title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- + +function fn_egov_init_calendar(){ + + $("#strStartDate").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + $("#strEndDate").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); +} + +function fncSelectProxyLogList(pageNo){ + + var fromDate = document.listForm.strStartDate.value; + var endDate = document.listForm.strEndDate.value; + + // var tmpFromDate = fromDate.substring(0,4)+fromDate.substring(5,7)+fromDate.substring(8,10); + // var tmpEndDate = endDate.substring(0,4)+endDate.substring(5,7)+endDate.substring(8,10); + + var tmpFromDate = fromDate.split("-"); + var tmpEndDate = endDate.split("-"); + + var strTmpFromDate = ""; + var strTmpEndDate = ""; + + for(var i=0;i<tmpFromDate.length;i++) { + strTmpFromDate = strTmpFromDate + tmpFromDate[i]; + } + + for(var j=0;j<tmpEndDate.length;j++) { + strTmpEndDate = strTmpEndDate + tmpEndDate[j]; + } + + if(strTmpFromDate.length != 8 || strTmpEndDate.length != 8 || !checknum(strTmpFromDate) || !checknum(strTmpEndDate)) { + alert("<spring:message code="comUtlSysPxy.proxySvcList.checknum"/>");/* 날짜 형식이 잘못되었습니다 */ + return; + } else { + if(strTmpFromDate > strTmpEndDate) { + alert("<spring:message code="comUtlSysPxy.proxySvcList.strTmpFromDateEndDate"/>");/* 시작일자는 종료일자보다 클 수 없습니다 */ + return; + } + } + + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/utl/sys/pxy/selectProxyLogList.do'/>"; + document.listForm.submit(); +} + +function linkPage(pageNo){ + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/utl/sys/pxy/selectProxyLogList.do'/>"; + document.listForm.submit(); +} + +function press() { + if (event.keyCode==13) { + fncSelectProxyLogList('1'); + } +} + +function checknum(number) { + + var rtnMsg = true; + var pattern = /^[0-9]+$/; + + if(!pattern.test(number)) { + rtnMsg = false; + } + + return rtnMsg; +} +--> +</script> +</head> +<body onLoad="fn_egov_init_calendar();"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + + <form name="listForm" action="<c:url value='/utl/sys/pxy/selectProxyLogList.do'/>" method="post"> + + <div class="search_box" title="<spring:message code='common.searchCondition.msg' />"> + <ul> + <li> + <label for=""><spring:message code="comUtlSysPxy.proxyLog.period.label" /> : </label> + <input type="text" name="strStartDate" id="strStartDate" value="<c:out value='${pmProxyLogVO.strStartDate}'/>" size="10" maxlength="10" title="<spring:message code="comUtlSysPxy.proxySvcList.pmProxyLogVO.strStartDate"/>" ><!-- 프록시로그 시작일자 --> + ~ + <input type="text" name="strEndDate" id="strEndDate" value="<c:out value='${pmProxyLogVO.strEndDate}'/>" size="10" maxlength="10" title="<spring:message code="comUtlSysPxy.proxySvcList.pmProxyLogVO.strEndDate"/>" ><!-- 프록시로그 종료일자 --> + <input type="hidden" name="strProxyDate" value=""/> + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="fncSelectProxyLogList('1'); return false;" /> + <span class="btn_b"><a href="<c:url value='/utl/sys/pxy/selectProxySvcList.do'/>" onclick="" title="<spring:message code="title.list"/>"><spring:message code="title.list"/></a></span><!-- 목록 --> + </li> + </ul> + </div> + + </form> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:20%" /> + <col style="width:25%" /> + <col style="width:15%" /> + <col style="width:20%" /> + <col style="width:20%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysPxy.proxyLog.proxyId.label" /></th> + <th scope="col"><spring:message code="comUtlSysPxy.proxyLog.proxyNm.label" /></th> + <th scope="col"><spring:message code="comUtlSysPxy.proxyLog.clntPort.label" /></th> + <th scope="col"><spring:message code="comUtlSysPxy.proxyLog.clntIp.label" /></th> + <th scope="col"><spring:message code="comUtlSysPxy.proxyLog.conectTime.label" /></th> + </tr> + </thead> + <tbody> + <c:forEach var="proxyLog" items="${proxyLogList}" varStatus="status"> + <tr> + <td><c:out value="${proxyLog.proxyId}"/></td> + <td><c:out value="${proxyLog.proxyNm}"/></td> + <td><c:out value="${proxyLog.clntPort}"/></td> + <td><c:out value="${proxyLog.clntIp}"/></td> + <td><c:out value="${proxyLog.conectTime}"/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> +</div> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxyLogList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcRegist.jsp (revision 7) @@ -0,0 +1,188 @@ +<%-- +/** + * @Class Name : EgovProxySvcRegist.java + * @Description : EgovProxySvcRegist jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2010.07.01 lee.m.j 최초 생성 + * + * @author lee.m.j + * @since 2010.07.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +--%> + +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUtlSysPxy.proxySvc.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle} <spring:message code="title.create" /></title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="proxySvc" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- +function fncSelectProxySvcList() { + var varFrom = document.getElementById("proxySvc"); + varFrom.action = "<c:url value='/utl/sys/pxy/selectProxySvcList.do'/>"; + varFrom.submit(); +} + +function fncProxySvcInsert() { + var varFrom = document.getElementById("proxySvc"); + varFrom.action = "<c:url value='/utl/sys/pxy/addProxySvc.do'/>"; + + if(confirm("<spring:message code='common.save.msg' />")){ + if(!validateProxySvc(varFrom)){ + return; + }else{ + if(!ipValidate(varFrom.proxyIp.value)) + return; + else if(!ipValidate(varFrom.svcIp.value)) + return; + else + varFrom.submit(); + } + } +} + +function ipValidate(ipValue) { + + var varFrom = document.getElementById("serverEqpmn"); + var IPvalue = ipValue; + + var ipPattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; + var ipArray = IPvalue.match(ipPattern); + + var result = ""; + var thisSegment; + + if(IPvalue == "0.0.0.0") { + alert(IPvalue + "<spring:message code="comUtlSysPxy.proxySvcRegist.ipValueException"/>");/* 는 예외 아이피 입니다.. */ + result = false; + } else if (IPvalue == "255.255.255.255") { + alert(result =IPvalue + "<spring:message code="comUtlSysPxy.proxySvcRegist.ipValueException"/>");/* 는 예외 아이피 입니다.. */ + result = false; + } else { + result = true; + } + + if(ipArray == null) { + alert("<spring:message code="comUtlSysPxy.proxySvcRegist.ipFormalException"/> ");/* IP 형식이 일치 하지않습니다. */ + result = false; + } else { + for (var i=1; i<5; i++) { + + thisSegment = ipArray[i]; + + if (thisSegment > 255) { + alert("<spring:message code="comUtlSysPxy.proxySvcRegist.ipFormalException"/> ");/* IP 형식이 일치 하지않습니다. */ + result = false; + } + + if ((i == 0) && (thisSegment > 255)) { + alert("<spring:message code="comUtlSysPxy.proxySvcRegist.ipFormalException"/> ");/* IP 형식이 일치 하지않습니다. */ + result = false; + } + } + } + return result; +} + +--> +</script> +</head> + +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2> + <form:form commandName="proxySvc" method="post" action="${pageContext.request.contextPath}/utl/sys/pxy/addProxySvc.do"> + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.proxyNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <label for="proxyNm"><input name="proxyNm" id="proxyNm" type="text" maxLength="60" size="60" >&nbsp;<form:errors path="proxyNm" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.proxyIp.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <label for="proxyIp"><input name="proxyIp" id="proxyIp" type="text" maxLength="23" style="width:128px" />&nbsp;<form:errors path="proxyIp" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.proxyPort.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <label for="proxyPort"><input name="proxyPort" id="proxyPort" type="text" maxLength="10" style="width:50px" />&nbsp;<form:errors path="proxyPort" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.trgetSvcNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <label for="trgetSvcNm"><input name="trgetSvcNm" id="trgetSvcNm" type="text" maxLength="30" size="30" >&nbsp;<form:errors path="trgetSvcNm" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.svcDc.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <label for="svcDc"><input name="svcDc" id="svcDc" type="text" maxLength="255" size="60" ></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.svcIp.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <label for="svcDc"><input name="svcIp" id="svcIp" type="text" maxLength="23" style="width:128px" />&nbsp;<form:errors path="svcIp" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.svcPort.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <label for="svcDc"><input name="svcPort" id="svcPort" type="text" maxLength="10" style="width:50px" />&nbsp;<form:errors path="svcPort" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.svcSttusNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <select name="svcSttus"> + <option value="01"><spring:message code="comUtlSysPxy.proxySvcRegist.svcSttus.run"/></option><!-- 정상 --> + <option value="03"><spring:message code="comUtlSysPxy.proxySvcRegist.svcSttus.stop"/></option><!-- 중지 --> + </select> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.save" />' onclick="fncProxySvcInsert(); return false;" /> + <span class="btn_s"><a href="<c:url value='/utl/sys/pxy/selectProxySvcList.do'/>?pageIndex=<c:out value='${proxySvcVO.pageIndex}'/>&amp;strProxyNm=<c:out value="${proxySvcVO.strProxyNm}"/>" onclick="fncSelectProxySvcList(); return false;"><spring:message code="button.list" /></a></span> + </div> + <div style="clear:both;"></div> + + <input type="hidden" name="strProxyNm" value="<c:out value='${proxySvcVO.strProxyNm}'/>" /> + <input type="hidden" name="pageIndex" value="<c:out value='${proxySvcVO.pageIndex}'/>" > + </form:form> +</div> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcUpdt.jsp (revision 7) @@ -0,0 +1,207 @@ +<%-- +/** + * @Class Name : EgovProxySvcUpdt.java + * @Description : EgovProxySvcUpdt jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2010.07.01 lee.m.j 최초 생성 + * + * @author lee.m.j + * @since 2010.07.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +--%> + +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUtlSysPxy.proxySvc.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<title>${pageTitle} <spring:message code="title.update" /></title> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="proxySvc" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- +function fncSelectProxySvcList() { + var varFrom = document.getElementById("proxySvc"); + varFrom.action = "<c:url value='/utl/sys/pxy/selectProxySvcList.do'/>"; + varFrom.submit(); +} + +function fncProxySvcUpdate() { + var varFrom = document.getElementById("proxySvc"); + varFrom.action = "<c:url value='/utl/sys/pxy/updtProxySvc.do'/>"; + + if(confirm("<spring:message code='common.save.msg' />")){ + if(!validateProxySvc(varFrom)){ + return; + }else{ + if(!ipValidate(varFrom.proxyIp.value)) + return; + else if(!ipValidate(varFrom.svcIp.value)) + return; + else + varFrom.submit(); + } + } +} + +function fncProxySvcDelete() { + var varFrom = document.getElementById("proxySvc"); + varFrom.action = "<c:url value='/utl/sys/pxy/removeProxySvc.do'/>"; + if(confirm("<spring:message code='common.delete.msg' />")){ + varFrom.submit(); + } +} + +function ipValidate(ipValue) { + + var varFrom = document.getElementById("serverEqpmn"); + var IPvalue = ipValue; + + var ipPattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; + var ipArray = IPvalue.match(ipPattern); + + var result = ""; + var thisSegment; + + if(IPvalue == "0.0.0.0") { + alert(IPvalue + "<spring:message code="comUtlSysPxy.proxySvcUpdt.ipValueException"/>");/* 는 예외 아이피 입니다. */ + result = false; + } else if (IPvalue == "255.255.255.255") { + alert(IPvalue + "<spring:message code="comUtlSysPxy.proxySvcUpdt.ipValueException"/>");/* 는 예외 아이피 입니다. */ + result = false; + } else { + result = true; + } + + if(ipArray == null) { + alert("<spring:message code="comUtlSysPxy.proxySvcUpdt.ipFormalException"/>");/* IP 형식이 일치 하지않습니다. */ + result = false; + } else { + for (var i=1; i<5; i++) { + + thisSegment = ipArray[i]; + + if (thisSegment > 255) { + alert("<spring:message code="comUtlSysPxy.proxySvcUpdt.ipFormalException"/>");/* IP 형식이 일치 하지않습니다. */ + result = false; + } + + if ((i == 0) && (thisSegment > 255)) { + alert("<spring:message code="comUtlSysPxy.proxySvcUpdt.ipFormalException"/>");/* IP 형식이 일치 하지않습니다. */ + result = false; + } + } + } + + return result; +} + +--> +</script> +</head> + +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comUtlSysPxy.proxySvcUpdtl.title" /></h2><!-- 프록시설정 수정 --> + + <form:form commandName="proxySvc" method="post" action="${pageContext.request.contextPath}/utl/sys/pxy/updtProxySvc.do"> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.proxyId.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <input name="proxyId" id="proxyId" type="text" value="<c:out value='${proxySvc.proxyId}'/>" size="30" class="readOnlyClass" readOnly> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.proxyNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <input name="proxyNm" id="proxyNm" type="text" value="<c:out value='${proxySvc.proxyNm}'/>" maxLength="60" size="60" >&nbsp;<form:errors path="proxyNm" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.proxyIp.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <input name="proxyIp" id="proxyIp" type="text" value="<c:out value='${proxySvc.proxyIp}'/>" maxLength="23" style="width:50%">&nbsp;<form:errors path="proxyIp" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.proxyPort.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <input name="proxyPort" id="proxyPort" type="text" value="<c:out value='${proxySvc.proxyPort}'/>" maxLength="10" style="width:60px">&nbsp;<form:errors path="proxyPort" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.trgetSvcNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <input name="trgetSvcNm" id="trgetSvcNm" type="text" value="<c:out value='${proxySvc.trgetSvcNm}'/>" maxLength="30" size="30" >&nbsp;<form:errors path="trgetSvcNm" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.svcDc.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <input name="svcDc" id="svcDc" type="text" value="<c:out value='${proxySvc.svcDc}'/>" maxLength="255" size="60" > + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.svcIp.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <input name="svcIp" id="svcIp" type="text" value="<c:out value='${proxySvc.svcIp}'/>" maxLength="23" style="width:50%">&nbsp;<form:errors path="svcIp" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.svcPort.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <input name="svcPort" id="svcPort" type="text" value="<c:out value='${proxySvc.svcPort}'/>" maxLength="10" style="width:60px">&nbsp;<form:errors path="svcPort" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPxy.proxySvc.svcSttusNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <select name="svcSttus"> + <option value="01" <c:if test="${proxySvc.svcSttus == '01'}">selected</c:if>><spring:message code="comUtlSysPxy.proxySvcUpdt.svcSttus.run"/></option><!-- 정상 --> + <option value="03" <c:if test="${proxySvc.svcSttus == '03'}">selected</c:if>><spring:message code="comUtlSysPxy.proxySvcUpdt.svcSttus.stop"/></option><!-- 중지 --> + </select> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.save" />' onclick="fncProxySvcUpdate()" /> + <span class="btn_s"><a href="<c:url value='/utl/sys/pxy/selectProxySvcList.do'/>?pageIndex=<c:out value='${proxySvcVO.pageIndex}'/>&amp;strProxyNm=<c:out value="${proxySvcVO.strProxyNm}"/>" onclick="fncSelectProxySvcList(); return false;"><spring:message code="button.list" /></a></span> + </div> + <div style="clear:both;"></div> + + <input type="hidden" name="strPreSvcSttus" value="<c:out value='${proxySvc.svcSttus}'/>" /> + <!-- 검색조건 유지 --> + <input type="hidden" name="strProxyNm" value="<c:out value='${proxySvcVO.strProxyNm}'/>" /> + <input type="hidden" name="pageIndex" value="<c:out value='${proxySvcVO.pageIndex}'/>" > +</form:form> +</div> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/pxy/EgovProxySvcUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/rsc/EgovLoginSesionCheck.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/rsc/EgovLoginSesionCheck.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/rsc/EgovLoginSesionCheck.jsp (revision 7) @@ -0,0 +1,109 @@ +<%-- +/** + * @Class Name : EgovLoginSesionCheck.java + * @Description : EgovLoginSesionCheck jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2010.09.01 lee.m.j 최초 생성 + * @ 2015.04.09 전여철 기본 url을 /index.do로 변경 + * @ 2018.11.02 이정은 공통컴포넌트 3.8 개선 + * + * @author lee.m.j + * @since 2010.07.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +--%> + +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title><spring:message code="utlSysRsc.loginSessionCheck.loginSessionCheck"/></title><!-- 로그인 세션정보 체크 --> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="proxySvc" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- + +function fncSelectLoginSession() { + var varFrom = document.getElementById("loginSessionCheck"); + varFrom.action = "<c:url value='/utl/sys/rsc/loginSessionView.do'/>"; + varFrom.submit(); +} + +function fncSetLoginSession() { + var varFrom = document.getElementById("loginSessionCheck"); + varFrom.action = "<c:url value='/utl/sys/rsc/setLoginSession.do'/>"; + + if(confirm("<spring:message code="utlSysRsc.loginSessionCheck.validate.confirmSetLoginSession"/>")){/* 설정 하시겠습니까? */ + varFrom.submit(); + } +} + +function fncgetLoginSessionView(url) { + window.open(url,"notice","width=800, height=600, top=50, left=20, scrollbars=no, resizable=no"); +} + +--> +</script> +</head> + <% + // 세션 정보를 가져온다. LoginVO + egovframework.com.cmm.LoginVO user = (egovframework.com.cmm.LoginVO)egovframework.com.cmm.util.EgovUserDetailsHelper.getAuthenticatedUser(); + String contextPath = request.getContextPath(); + if(user != null && (user.getUrl() == null || user.getUrl().equals(""))) + user.setUrl(contextPath+"/index.do"); + %> +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<div class="wTableFrm"> +<form:form commandName="loginSessionCheck" method="post" action="${pageContext.request.contextPath}/utl/sys/rsc/setLoginSession.do"> + <!-- 타이틀 --> + <h2><spring:message code="utlSysRsc.loginSessionCheck.loginSessionCheck"/></h2><!-- 로그인 세션정보 체크 --> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="utlSysRsc.loginSessionCheck.url"/> <span class="pilsu">*</span></th><!-- URL --> + <td class="left"> + <label for="url"><input name="url" id="url" type="text" maxLength="1000" size="80" /></label> + </td> + </tr> + <tr> + <th><spring:message code="utlSysRsc.loginSessionCheck.sessionURL"/> <span class="pilsu">*</span></th><!-- 세션 URL --> + <td class="left"> + <label for="sessionUrl"><input name="sessionUrl" id="sessionUrl" value="<%=(user == null || user.getUrl() == null) ? "" : user.getUrl() %>" type="text" maxLength="1000" size="80" readonly="readonly" class="readOnlyClass"></label> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/utl/sys/rsc/loginSessionView.do'/>" onclick="fncSelectLoginSession(); return false;"><spring:message code="button.inquire" /></a></span> + <input class="s_submit" type="submit" value="<spring:message code="utlSysRsc.loginSessionCheck.set"/>" onclick="fncSetLoginSession(); return false;" /><!-- 설정 --> + <span class="btn_s"><a href="<%=user.getUrl() %>" onclick="" target=“_blank” title="새창" onclick="fncgetLoginSessionView('<%=(user == null || user.getUrl() == null) ? "" : user.getUrl() %>'); return false;"><spring:message code="utlSysRsc.loginSessionCheck.sessionView"/></a></span><!-- 이동 --> + </div> + <div style="clear:both;"></div> +</form:form> +</div> + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/rsc/EgovLoginSesionCheck.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngDetail.jsp (revision 7) @@ -0,0 +1,147 @@ +<% +/** + * @Class Name : EgovNtwrkSvcMntrngDetail.jsp + * @Description : 네트워크서비스모니터대상 상세보기 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2010.08.17 장철호 최초 생성 + * @ 2018.11.02 신용호 최초 생성 + * + * @author 공통컴포넌트개발팀 장철호 + * @since 2010.08.17 + * @version 1.0 + * @see + * + */ +%> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle} <spring:message code="title.detail" /></title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="ntwrkSvcMntrngVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + function fn_egov_init_NtwrkSvcMntrng(){ + + } + + function fn_egov_update_ntwrksvcmntrng() { + document.ntwrkSvcMntrngVO.action = "<c:url value='/utl/sys/nsm/modifyNtwrkSvcMntrng.do'/>"; + document.ntwrkSvcMntrngVO.submit(); + } + + function fn_egov_delete_ntwrksvcmntrng(){ + if(confirm("<spring:message code='common.delete.msg' />")){ + document.ntwrkSvcMntrngVO.action = "<c:url value='/utl/sys/nsm/deleteNtwrkSvcMntrng.do'/>"; + document.ntwrkSvcMntrngVO.submit(); + } + } + + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fn_egov_list_ntwrksvcmntrng(){ + document.ntwrkSvcMntrngVO.action = "<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngList.do'/>"; + document.ntwrkSvcMntrngVO.submit(); + } + +</script> +</head> +<body onLoad="fn_egov_init_NtwrkSvcMntrng()"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form:form commandName="ntwrkSvcMntrngVO" name="ntwrkSvcMntrngVO" method="post" action="${pageContext.request.contextPath}/utl/sys/nsm/modifyNtwrkSvcMntrng.do"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.detail" /></h2> + + <!-- 등록폼 --> + <table class="wTable"> + <caption>네트워크서비스모니터대상 상세보기</caption> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.sysIp.label" /> <span class="pilsu">*</span></th><!-- 시스템IP --> + <td class="left"> + <c:out value="${ntwrkSvcMntrngVO.sysIp1}" escapeXml="false" />.<c:out value="${ntwrkSvcMntrngVO.sysIp2}" escapeXml="false" />.<c:out value="${ntwrkSvcMntrngVO.sysIp3}" escapeXml="false" />.<c:out value="${ntwrkSvcMntrngVO.sysIp4}" escapeXml="false" /> + <div><form:errors path="sysIp1" cssClass="error"/></div> + <div><form:errors path="sysIp2" cssClass="error"/></div> + <div><form:errors path="sysIp3" cssClass="error"/></div> + <div><form:errors path="sysIp4" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.sysPort.label" /> <span class="pilsu">*</span></th><!-- 시스템포트 --> + <td class="left"> + <c:out value="${ntwrkSvcMntrngVO.sysPort}" escapeXml="false" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.sysNm.label" /> <span class="pilsu">*</span></th><!-- 시스템명 --> + <td class="left"> + <c:out value="${ntwrkSvcMntrngVO.sysNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.mngrNm.label" /> <span class="pilsu">*</span></th><!-- 관리자명 --> + <td class="left"> + <c:out value="${ntwrkSvcMntrngVO.mngrNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.mngrEmailAddr.label" /> <span class="pilsu">*</span></th><!-- 관리자이메일주소 --> + <td class="left"> + <c:out value="${ntwrkSvcMntrngVO.mngrEmailAddr}" escapeXml="false" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.mntrngSttus.label" /> <span class="pilsu">*</span></th><!-- 모니터링상태 --> + <td class="left"> + <c:out value="${ntwrkSvcMntrngVO.mntrngSttus}" escapeXml="false" />&nbsp; + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.creatDt.label" /> <span class="pilsu">*</span></th><!-- 마지막 생성일시 --> + <td class="left"> + <c:out value="${ntwrkSvcMntrngVO.creatDt}" escapeXml="false" />&nbsp; + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.update" />' onclick="fn_egov_update_ntwrksvcmntrng(); return false;" /><!-- 수정 --> + <span class="btn_s"><a href="<c:url value='/utl/sys/nsm/deleteNtwrkSvcMntrng.do'/>?sysIp=<c:out value='${ntwrkSvcMntrngVO.sysIp}'/>&amp;sysPort=<c:out value='${ntwrkSvcMntrngVO.sysPort}'/>" onclick="fn_egov_delete_ntwrksvcmntrng(); return false;"><spring:message code="button.delete" /></a></span><!-- 삭제 --> + <span class="btn_s"><a href="<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngList.do'/>?searchWrd=<c:out value='${ntwrkSvcMntrngVO.searchWrd}'/>&amp;searchCnd=<c:out value='${ntwrkSvcMntrngVO.searchCnd}'/>&amp;pageIndex=<c:out value='${ntwrkSvcMntrngVO.pageIndex}'/>" onclick="fn_egov_list_ntwrksvcmntrng(); return false;"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div> + <div style="clear:both;"></div> +</div> + +<input type="hidden" id="sysIp" name="sysIp" value="<c:out value='${ntwrkSvcMntrngVO.sysIp}'/>"/> +<input type="hidden" id="sysPort" name="sysPort" value="<c:out value='${ntwrkSvcMntrngVO.sysPort}'/>"/> +<!-- 검색조건 유지 --> +<input type="hidden" name="searchWrd" value="<c:out value='${ntwrkSvcMntrngVO.searchWrd}'/>" /> +<input type="hidden" name="searchCnd" value="<c:out value='${ntwrkSvcMntrngVO.searchCnd}'/>" /> +<input type="hidden" name="pageIndex" value="<c:out value='${ntwrkSvcMntrngVO.pageIndex}'/>" /> +<!-- 검색조건 유지 --> +</form:form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngLogList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngLogList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngLogList.jsp (revision 7) @@ -0,0 +1,266 @@ +<% +/** + * @Class Name : EgovNtwrkSvcMntrngLogList.jsp + * @Description : 네트워크서비스모니터링 로그 목록조회 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2010.08.17 장철호 최초 생성 + * 2018.11.02 신용호 표준프레임워크 v3.8 개선 + * + * @author 공통컴포넌트개발팀 장철호 + * @since 2010.08.17 + * @version 1.0 + * @see + * + */ +%> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle} <spring:message code="title.list" /></title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/utl/EgovCmmUtl.js' />"></script> +<script type="text/javascript"> + + function initCalendar() { + $("#searchBgnDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'both' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + $("#searchEndDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'both' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + } + + function fn_egov_init_ntwrksvcmntrnglog(){ + initCalendar(); + document.frm.searchBgnHour.value = '<c:out value="${searchVO.searchBgnHour}"/>'; + document.frm.searchEndHour.value = '<c:out value="${searchVO.searchEndHour}"/>'; + } + + function press(event) { + if (event.keyCode==13) { + fn_egov_select_ntwrksvcmntrnglog('1'); + } + } + + function fn_egov_select_ntwrksvcmntrnglog(pageNo) { + document.frm.pageIndex.value = pageNo; + document.frm.action = "<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngLogList.do'/>"; + + var bgnDe = document.frm.searchBgnDe.value; + var endDe = document.frm.searchEndDe.value; + + if(bgnDe != ""){ + if(isDate(bgnDe, "<spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.validate.alert.bgnDe" />") == false) { //검색시작일자 + return; + } + } + + if(endDe != ""){ + if(isDate(endDe, "<spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.validate.alert.endDe" />") == false) { //검색종료일자 + return; + } + } + + if(bgnDe.length == 8){ + bgnDe = bgnDe.substring(0,4) + "-" + bgnDe.substring(4,6) + "-" + bgnDe.substring(6,8); + document.frm.searchBgnDe.value = bgnDe; + } + + if(endDe.length == 8){ + endDe = endDe.substring(0,4) + "-" + endDe.substring(4,6) + "-" + endDe.substring(6,8); + document.frm.searchEndDe.value = endDe; + } + + var bgnHour = document.frm.searchBgnHour.value; + var endHour = document.frm.searchEndHour.value; + + var bgnDeHour = ""; + var endDeHour = ""; + if(bgnDe != "" && endDe != ""){ + if(bgnHour == ""){ + document.frm.searchBgnHour.value = "00"; + bgnHour = "00"; + } + if(endHour == ""){ + document.frm.searchEndHour.value = "00"; + endHour = "00"; + } + bgnDeHour = bgnDe + bgnHour; + endDeHour = endDe + endHour; + + if(bgnDeHour > endDeHour){ + alert("<spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.validate.alert.diffBgnDeEndDe" />"); //검색종료일시가 검색시작일시보다 빠를수 없습니다. + return; + } + } + + document.frm.submit(); + } + + function fn_egov_inqire_ntwrksvcmntrnglog(sysIp, sysPort, logId) { + document.frm.sysIp.value = sysIp; + document.frm.sysPort.value = sysPort; + document.frm.logId.value = logId; + document.frm.action = "<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngLog.do'/>"; + document.frm.submit(); + } + + function fn_egov_select_ntwrksvcmntrng(){ + document.frm.action = "<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngList.do'/>"; + document.frm.submit(); + } + +</script> +</head> +<body onLoad="fn_egov_init_ntwrksvcmntrnglog()"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + + <form name="frm" method="post" action="<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngLogList.do'/>"> + + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <input type="hidden" name="sysIp"> + <input type="hidden" name="sysPort"> + <input type="hidden" name="logId"> + + <div class="search_box" title="<spring:message code='common.searchCondition.msg' />"> + <ul> + <li> + <input type="hidden" name="cal_url" id="cal_url" value="<c:url value='/sym/cal/EgovNormalCalPopup.do'/>" > + <input id="searchBgnDe" name="searchBgnDe" type="text" size="10" maxlength="10" value="<c:out value="${searchVO.searchBgnDe}"/>" title="<spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.title.searchBgnDe" />"><!-- 조회시작일자 입력 --> + <select name="searchBgnHour" class="select" title="<spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.title.searchBgnHour" />"><!-- 조회시작 시간 선택 --> + <c:forEach var="bgnHour" items="${searchBgnHour}" varStatus="status"> + <option value="<c:out value="${bgnHour.code}"/>"><c:out value="${bgnHour.codeNm}"/></option> + </c:forEach> + </select> + ~ + <input id="searchEndDe" name="searchEndDe" type="text" size="10" maxlength="10" value="<c:out value="${searchVO.searchEndDe}"/>" title="<spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.title.searchEndDe" />"><!-- 조회종료일자 입력 --> + <select name="searchEndHour" class="select" title="<spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.title.searchEndHour" />"><!-- 조회종료 시간 선택 --> + <c:forEach var="endHour" items="${searchEndHour}" varStatus="status"> + <option value="<c:out value="${endHour.code}"/>"><c:out value="${endHour.codeNm}"/></option> + </c:forEach> + </select> + + <select name="searchCnd" class="select" title="<spring:message code='common.searchCondition.msg' />"> + <option value="">--<spring:message code="input.select" />--</option><!-- 선택하세요 --> + <option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected</c:if> ><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.sysNm.label" /></option> + <option value="1" <c:if test="${searchVO.searchCnd == '1'}">selected</c:if> ><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.sysIp.label" /></option> + <option value="2" <c:if test="${searchVO.searchCnd == '2'}">selected</c:if> ><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.mngrNm.label" /></option> + <option value="3" <c:if test="${searchVO.searchCnd == '3'}">selected</c:if> ><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.mntrngSttus.label" /></option> + </select> + <input class="s_input2 vat" name="searchWrd" type="text" value='<c:out value="${searchVO.searchWrd}"/>' maxlength="35" size="27" onkeypress="press(event);" title="<spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.title.searchWrd" />" /><!-- 검색어 입력 --> + + <input class="s_btn" type="submit" value="<spring:message code='title.inquire' />" title="<spring:message code='title.inquire' />" onclick="fn_egov_select_ntwrksvcmntrnglog('1'); return false;" /><!-- 조회 --> + <span class="btn_b"><a href="<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngList.do'/>" onclick="fn_egov_select_ntwrksvcmntrng(); return false;" title="<spring:message code='title.list' />"><spring:message code='title.list' /></a></span><!-- 목록 --> + </li> + </ul> + </div> + + </form> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:10%" /> + <col style="width:20%" /> + <col style="width:10%" /> + <col style="width:30%" /> + <col style="width:14%" /> + <col style="width:16%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.num.label" /></th><!-- 번호 --> + <th scope="col"><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.sysIp.label" /></th><!-- 시스템IP --> + <th scope="col"><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.sysPort.label" /></th><!-- 시스템포트 --> + <th scope="col"><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.sysNm.label" /></th><!-- 시스템명 --> + <th scope="col"><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.mntrngSttus.label" /></th><!-- 모니터링상태 --> + <th scope="col"><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.creatDt.label" /></th><!-- 생성일시 --> + </tr> + </thead> + <tbody> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value="${result.sysIp}"/></td> + <td><c:out value="${result.sysPort}"/></td> + <td> + <form name="ntwrkSvcMntrngVO" method="post" action="<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngLog.do'/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <input name="searchCnd" type="hidden" value="<c:out value='${searchVO.searchCnd}'/>"> + <input name="searchWrd" type="hidden" value="<c:out value='${searchVO.searchWrd}'/>"> + <input name="searchBgnDe" type="hidden" value="<c:out value='${searchVO.searchBgnDe}'/>"> + <input name="searchEndDe" type="hidden" value="<c:out value='${searchVO.searchEndDe}'/>"> + <input name="searchBgnHour" type="hidden" value="<c:out value='${searchVO.searchBgnHour}'/>"> + <input name="searchEndHour" type="hidden" value="<c:out value='${searchVO.searchEndHour}'/>"> + <input type="hidden" name="sysIp" value="<c:out value="${result.sysIp}"/>"> + <input type="hidden" name="sysPort" value="<c:out value="${result.sysPort}"/>"> + <input type="hidden" name="logId" value="<c:out value="${result.logId}"/>"> + <span class="link"><input type="submit" value="<c:out value="${result.sysNm}"/>" onclick="javascript:fn_egov_inqire_ntwrksvcmntrnglog('<c:out value="${result.sysIp}"/>', '<c:out value="${result.sysPort}"/>', '<c:out value="${result.logId}"/>'); return false;" style="text-align : left;"></span> + </form> + </td> + <td><c:out value="${result.mntrngSttus}"/></td> + <td><c:out value="${result.creatDt}"/></td> + </tr> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="6"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_ntwrksvcmntrnglog"/> + </ul> + </div> +</div> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngLogList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngRegist.jsp (revision 7) @@ -0,0 +1,143 @@ +<% +/** + * @Class Name : EgovNtwrkSvcMntrngRegist.jsp + * @Description : 네트워크서비스모니터대상 등록 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.08.17 장철호 최초 생성 + * @ 2010.09.01 장철호 수정 (보안관련 분리) + * 2018.11.02 신용호 표준프레임워크 v3.8 개선 + * + * @author 공통컴포넌트개발팀 장철호 + * @since 2010.08.17 + * @version 1.0 + * @see + * + */ +%> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.title"/></c:set> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle} <spring:message code="title.create" /></title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="ntwrkSvcMntrngVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + function fn_egov_init_NtwrkSvcMntrng(){ + if("${ntwrkSvcMntrngDuplicated}" == "true"){ + alert("<spring:message code="comUtlSysNsm.ntwrkSvcMntrng.validate.alert.duplicate" />"); //중복된 네트워크서비스의 IP와 Port가 있습니다. + } + } + + function fn_egov_insert_ntwrksvcmntrng() { + if (!validateNtwrkSvcMntrngVO(document.ntwrkSvcMntrngVO)){ + return; + } + + if (confirm('<spring:message code="common.regist.msg" />')) { + document.ntwrkSvcMntrngVO.action = "<c:url value='/utl/sys/nsm/insertNtwrkSvcMntrng.do'/>"; + document.ntwrkSvcMntrngVO.submit(); + } + } + + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fn_egov_list_ntwrksvcmntrng(){ + document.ntwrkSvcMntrngVO.action = "<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngList.do'/>"; + document.ntwrkSvcMntrngVO.submit(); + } + +</script> + +</head> +<body onLoad="fn_egov_init_NtwrkSvcMntrng()"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form:form commandName="ntwrkSvcMntrngVO" name="ntwrkSvcMntrngVO" method="post" action="${pageContext.request.contextPath}/utl/sys/nsm/insertNtwrkSvcMntrng.do"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.create" /></h2> + + <!-- 등록폼 --> + <table class="wTable"> + <caption>네트워크서비스모니터대상 등록</caption> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.sysIp.label" /> <span class="pilsu">*</span></th><!-- 시스템IP --> + <td class="left"> + <form:input path="sysIp1" maxlength="3" title="시스템IP1" cssStyle="width:30px" /> . + <form:input path="sysIp2" maxlength="3" title="시스템IP2" cssStyle="width:30px" /> . + <form:input path="sysIp3" maxlength="3" title="시스템IP3" cssStyle="width:30px" /> . + <form:input path="sysIp4" maxlength="3" title="시스템IP4" cssStyle="width:30px" /> + <div><form:errors path="sysIp1" cssClass="error"/></div> + <div><form:errors path="sysIp2" cssClass="error"/></div> + <div><form:errors path="sysIp3" cssClass="error"/></div> + <div><form:errors path="sysIp4" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.sysPort.label" /> <span class="pilsu">*</span></th><!-- 시스템포트 --> + <td class="left"> + <form:input path="sysPort" maxlength="5" title="<spring:message code='comUtlSysNsm.ntwrkSvcMntrng.sysPort.label' />" cssStyle="width:40px" /> + <div><form:errors path="sysPort" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.sysNm.label" /> <span class="pilsu">*</span></th><!-- 시스템명 --> + <td class="left"> + <form:input path="sysNm" size="65" maxlength="255" title="<spring:message code='comUtlSysNsm.ntwrkSvcMntrng.sysNm.label' />"/> + <div><form:errors path="sysNm" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.mngrNm.label" /> <span class="pilsu">*</span></th><!-- 관리자명 --> + <td class="left"> + <form:input path="mngrNm" size="5" maxlength="60" title="<spring:message code='comUtlSysNsm.ntwrkSvcMntrng.mngrNm.label' />" cssStyle="width:100px"/> + <div><form:errors path="mngrNm" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.mngrEmailAddr.label" /> <span class="pilsu">*</span></th><!-- 관리자이메일주소 --> + <td class="left"> + <form:input path="mngrEmailAddr" size="25" maxlength="50" title="<spring:message code='comUtlSysNsm.ntwrkSvcMntrng.mngrEmailAddr.label' />"/> + <div><form:errors path="mngrEmailAddr" cssClass="error"/></div> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.save" />' onclick="fn_egov_insert_ntwrksvcmntrng(); return false;" /><!-- 저장 --> + <span class="btn_s"><a href="<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngList.do'/>?searchWrd=<c:out value='${ntwrkSvcMntrngVO.searchWrd}'/>&amp;searchCnd=<c:out value='${ntwrkSvcMntrngVO.searchCnd}'/>&amp;pageIndex=<c:out value='${ntwrkSvcMntrngVO.pageIndex}'/>" onclick="fn_egov_list_ntwrksvcmntrng(); return false;"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div> + <div style="clear:both;"></div> +</div> + +<!-- 검색조건 유지 --> +<input type="hidden" name="searchWrd" value="<c:out value='${ntwrkSvcMntrngVO.searchWrd}'/>" /> +<input type="hidden" name="searchCnd" value="<c:out value='${ntwrkSvcMntrngVO.searchCnd}'/>" /> +<input type="hidden" name="pageIndex" value="<c:out value='${ntwrkSvcMntrngVO.pageIndex}'/>" /> +<!-- 검색조건 유지 --> + +</form:form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngLogDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngLogDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngLogDetail.jsp (revision 7) @@ -0,0 +1,134 @@ +<% +/** + * @Class Name : EgovNtwrkSvcMntrngLogDetail.jsp + * @Description : 네트워크서비스모니터로그 상세보기 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2010.08.17 장철호 최초 생성 + * @ 2018.11.02 신용호 최초 생성 + * + * @author 공통컴포넌트개발팀 장철호 + * @since 2010.08.17 + * @version 1.0 + * @see + * + */ +%> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/cal/EgovCalPopup.js' />"></script> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="ntwrkSvcMntrngLogVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + function fn_egov_init_NtwrkSvcMntrngLog(){ + + } + + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fn_egov_list_ntwrksvcmntrnglog(){ + document.ntwrkSvcMntrngLogVO.action = "<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngLogList.do'/>"; + document.ntwrkSvcMntrngLogVO.submit(); + } + +</script> +<title>${pageTitle} <spring:message code="title.detail" /></title> +</head> +<body onLoad="fn_egov_init_NtwrkSvcMntrngLog()"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form:form commandName="ntwrkSvcMntrngLogVO" name="ntwrkSvcMntrngLogVO" method="post" action="${pageContext.request.contextPath}/utl/sys/nsm/selectNtwrkSvcMntrngLogList.do"> +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.detail" /></h2><!-- 네트워크서비스모니터링로그 상세조회 --> + + <!-- 등록폼 --> + <table class="wTable" summary="이 표는 네트워크서비스모니터링 로그 정보를 제공하며, 로그ID, 시스템IP, 시스템포트, 시스템명, 모니터링상태, 로그정보, 생성일시 정보로 구성되어 있습니다 ."> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.logId.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value="${ntwrkSvcMntrngLog.logId}" escapeXml="false" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.sysIp.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value="${ntwrkSvcMntrngLog.sysIp}" escapeXml="false" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.sysPort.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value="${ntwrkSvcMntrngLog.sysPort}" escapeXml="false" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.sysNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value="${ntwrkSvcMntrngLog.sysNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.mntrngSttus.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value="${ntwrkSvcMntrngLog.mntrngSttus}" escapeXml="false" /> + </td> + </tr> + <c:if test="${ntwrkSvcMntrngLog.mntrngSttus} ne '정상'"> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.logInfo.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <textarea id="logInfo" name="logInfo" rows="10" cols="75" title="로그정보"><c:out value="${ntwrkSvcMntrngLog.logInfo}" escapeXml="false" /></textarea> + </td> + </tr> + </c:if> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrngLog.creatDt.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value="${ntwrkSvcMntrngLog.creatDt}" escapeXml="false" /> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.list" />' onclick="fn_egov_list_ntwrksvcmntrnglog(); return false;" /><!-- 목록 --> + </div> + <div style="clear:both;"></div> +</div> + +<input type="hidden" id="sysIp" name="sysIp" value="<c:out value='${ntwrkSvcMntrngLog.sysIp}'/>"/> +<input type="hidden" id="sysPort" name="sysPort" value="<c:out value='${ntwrkSvcMntrngLog.sysPort}'/>"/> +<input type="hidden" id="logId" name="logId" value="<c:out value='${ntwrkSvcMntrngLog.logId}'/>"/> +<!-- 검색조건 유지 --> +<input type="hidden" name="searchWrd" value="<c:out value='${ntwrkSvcMntrngLogVO.searchWrd}'/>" /> +<input type="hidden" name="searchCnd" value="<c:out value='${ntwrkSvcMntrngLogVO.searchCnd}'/>" /> +<input type="hidden" name="pageIndex" value="<c:out value='${ntwrkSvcMntrngLogVO.pageIndex}'/>" /> +<input name="searchBgnDe" type="hidden" value="<c:out value='${ntwrkSvcMntrngLogVO.searchBgnDe}'/>"> +<input name="searchEndDe" type="hidden" value="<c:out value='${ntwrkSvcMntrngLogVO.searchEndDe}'/>"> +<input name="searchBgnHour" type="hidden" value="<c:out value='${ntwrkSvcMntrngLogVO.searchBgnHour}'/>"> +<input name="searchEndHour" type="hidden" value="<c:out value='${ntwrkSvcMntrngLogVO.searchEndHour}'/>"> +<!-- 검색조건 유지 --> +</form:form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngLogDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngUpdt.jsp (revision 7) @@ -0,0 +1,141 @@ +<% +/** + * @Class Name : EgovNtwrkSvcMntrngUpdt.jsp + * @Description : 네트워크서비스모니터대상 수정 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2010.08.17 장철호 최초 생성 + * 2018.11.02 신용호 표준프레임워크 v3.8 개선 + * + * @author 공통컴포넌트개발팀 장철호 + * @since 2010.08.17 + * @version 1.0 + * @see + * + */ +%> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle} <spring:message code="title.update" /></title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="ntwrkSvcMntrngVO" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javascript"> + function fn_egov_init_NtwrkSvcMntrng(){ + + } + + function fn_egov_update_ntwrksvcmntrng() { + if (!validateNtwrkSvcMntrngVO(document.ntwrkSvcMntrngVO)){ + return; + } + + if (confirm('<spring:message code="common.regist.msg" />')) { + document.ntwrkSvcMntrngVO.action = "<c:url value='/utl/sys/nsm/updateNtwrkSvcMntrng.do'/>"; + document.ntwrkSvcMntrngVO.submit(); + } + } + + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fn_egov_list_ntwrksvcmntrng(){ + document.ntwrkSvcMntrngVO.action = "<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngList.do'/>"; + document.ntwrkSvcMntrngVO.submit(); + } + +</script> +</head> +<body onLoad="fn_egov_init_NtwrkSvcMntrng()"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form:form commandName="ntwrkSvcMntrngVO" name="ntwrkSvcMntrngVO" method="post" action="${pageContext.request.contextPath}/utl/sys/nsm/updateNtwrkSvcMntrng.do"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.update" /></h2> + + <!-- 등록폼 --> + <table class="wTable"> + <caption>네트워크서비스모니터대상 수정</caption> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.sysIp.label" /> <span class="pilsu">*</span></th><!-- 시스템IP --> + <td class="left"> + <form:input path="sysIp1" maxlength="3" title="시스템IP1" cssStyle="width:30px" /> . + <form:input path="sysIp2" maxlength="3" title="시스템IP2" cssStyle="width:30px" /> . + <form:input path="sysIp3" maxlength="3" title="시스템IP3" cssStyle="width:30px" /> . + <form:input path="sysIp4" maxlength="3" title="시스템IP4" cssStyle="width:30px" /> + <div><form:errors path="sysIp1" cssClass="error"/></div> + <div><form:errors path="sysIp2" cssClass="error"/></div> + <div><form:errors path="sysIp3" cssClass="error"/></div> + <div><form:errors path="sysIp4" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.sysPort.label" /> <span class="pilsu">*</span></th><!-- 시스템포트 --> + <td class="left"> + <form:input path="sysPort" maxlength="5" title="<spring:message code='comUtlSysNsm.ntwrkSvcMntrng.sysPort.label' />" cssStyle="width:40px"/> + <div><form:errors path="sysPort" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.sysNm.label" /> <span class="pilsu">*</span></th><!-- 시스템명 --> + <td class="left"> + <form:input path="sysNm" size="65" maxlength="255" title="<spring:message code='comUtlSysNsm.ntwrkSvcMntrng.sysNm.label' />"/> + <div><form:errors path="sysNm" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.mngrNm.label" /> <span class="pilsu">*</span></th><!-- 관리자명 --> + <td class="left"> + <form:input path="mngrNm" maxlength="60" title="<spring:message code='comUtlSysNsm.ntwrkSvcMntrng.mngrNm.label' />" cssStyle="width:100px"/> + <div><form:errors path="mngrNm" cssClass="error"/></div> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.mngrEmailAddr.label" /> <span class="pilsu">*</span></th><!-- 관리자이메일주소 --> + <td class="left"> + <form:input path="mngrEmailAddr" size="25" maxlength="50" title="<spring:message code='comUtlSysNsm.ntwrkSvcMntrng.mngrEmailAddr.label' />"/> + <div><form:errors path="mngrEmailAddr" cssClass="error"/></div> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.save" />' onclick="fn_egov_update_ntwrksvcmntrng(); return false;" /><!-- 저장 --> + <span class="btn_s"><a href="<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngList.do'/>?searchWrd=<c:out value='${ntwrkSvcMntrngVO.searchWrd}'/>&amp;searchCnd=<c:out value='${ntwrkSvcMntrngVO.searchCnd}'/>&amp;pageIndex=<c:out value='${ntwrkSvcMntrngVO.pageIndex}'/>" onclick="fn_egov_list_ntwrksvcmntrng(); return false;"><spring:message code="button.list" /></a></span><!-- 목록 --> + </div> + <div style="clear:both;"></div> +</div> + +<input type="hidden" id="oldSysIp" name="oldSysIp" value="<c:out value='${ntwrkSvcMntrngVO.sysIp}'/>"/> +<input type="hidden" id="oldSysPort" name="oldSysPort" value="<c:out value='${ntwrkSvcMntrngVO.sysPort}'/>"/> +<!-- 검색조건 유지 --> +<input type="hidden" name="searchWrd" value="<c:out value='${ntwrkSvcMntrngVO.searchWrd}'/>" /> +<input type="hidden" name="searchCnd" value="<c:out value='${ntwrkSvcMntrngVO.searchCnd}'/>" /> +<input type="hidden" name="pageIndex" value="<c:out value='${ntwrkSvcMntrngVO.pageIndex}'/>" /> +<!-- 검색조건 유지 --> + +</form:form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngList.jsp (revision 7) @@ -0,0 +1,158 @@ +<% +/** + * @Class Name : EgovNtwrkSvcMntrngList.jsp + * @Description : 네트워크서비스모니터링 목록조회 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2010.08.17 장철호 최초 생성 + * @ 2018.11.02 신용호 최초 생성 + * + * @author 공통컴포넌트개발팀 장철호 + * @since 2010.08.17 + * @version 1.0 + * @see + * + */ +%> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comUtlSysNsm.ntwrkSvcMntrng.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle} <spring:message code="title.list" /></title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<script type="text/javascript"> + + function fn_egov_init_ntwrksvcmntrng(){ + + } + + function press(event) { + if (event.keyCode==13) { + fn_egov_select_ntwrksvcmntrng('1'); + } + } + + function fn_egov_select_ntwrksvcmntrng(pageNo) { + document.frm.pageIndex.value = pageNo; + document.frm.action = "<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngList.do'/>"; + document.frm.submit(); + } + + function fn_egov_inqire_ntwrksvcmntrng(sysIp, sysPort) { + document.frm.sysIp.value = sysIp; + document.frm.sysPort.value = sysPort; + document.frm.action = "<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrng.do'/>"; + document.frm.submit(); + } + + function fn_egov_insert_ntwrksvcmntrng(){ + document.frm.action = "<c:url value='/utl/sys/nsm/addNtwrkSvcMntrng.do'/>"; + document.frm.submit(); + } + + function fn_egov_log_ntwrksvcmntrng(){ + document.frm.action = "<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngLogList.do'/>"; + document.frm.submit(); + } +</script> +</head> +<body onLoad="fn_egov_init_ntwrksvcmntrng()"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + + <form name="frm" method="post" action="<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngList.do'/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <input type="hidden" name="sysIp"> + <input type="hidden" name="sysPort"> + + <div class="search_box" title="<spring:message code='common.searchCondition.msg' />"> + <ul> + <li> + <select name="searchCnd" class="select" title="<spring:message code='select.searchCondition' />"> + <option value="">--<spring:message code="input.select" />--</option><!-- 선택하세요 --> + <option value="0" <c:if test="${searchVO.searchCnd == '0'}">selected="selected"</c:if> ><spring:message code="comUtlSysNsm.ntwrkSvcMntrngList.sysNm.label" /></option> + <option value="1" <c:if test="${searchVO.searchCnd == '1'}">selected="selected"</c:if> ><spring:message code="comUtlSysNsm.ntwrkSvcMntrngList.sysIp.label" /></option> + <option value="2" <c:if test="${searchVO.searchCnd == '2'}">selected="selected"</c:if> ><spring:message code="comUtlSysNsm.ntwrkSvcMntrngList.mngrNm.label" /></option> + <option value="3" <c:if test="${searchVO.searchCnd == '3'}">selected="selected"</c:if> ><spring:message code="comUtlSysNsm.ntwrkSvcMntrngList.mntrngSttus.label" /></option> + </select> + <input class="s_input2 vat" name="searchWrd" type="text" value='<c:out value="${searchVO.searchWrd}"/>' maxlength="35" size="27" onkeypress="press(event);" title="검색어 입력" /> + + <input class="s_btn" type="submit" value="<spring:message code='title.inquire' />" title="<spring:message code='title.inquire' />" onclick="fn_egov_select_ntwrksvcmntrng('1'); return false;" /><!-- 조회 --> + <span class="btn_b"><a href="<c:url value='/utl/sys/nsm/addNtwrkSvcMntrng.do'/>" onclick="fn_egov_insert_ntwrksvcmntrng('1'); return false;" title='<spring:message code="button.create" />'><spring:message code="button.create" /></a></span><!-- 등록 --> + <span class="btn_b"><a href="<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrngLogList.do'/>" onclick="fn_egov_log_ntwrksvcmntrng(); return false;" title='<spring:message code="button.log" />'><spring:message code="button.log" /></a></span><!-- 로그 --> + </li> + </ul> + </div> + + </form> + + <table class="board_list"> + <caption>네트워크서비스모니터링대상 목록</caption> + <colgroup> + <col style="width:10%" /> + <col style="width:20%" /> + <col style="width:10%" /> + <col style="width:30%" /> + <col style="width:15%" /> + <col style="width:15%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysNsm.ntwrkSvcMntrngList.num.label" /></th> + <th scope="col"><spring:message code="comUtlSysNsm.ntwrkSvcMntrngList.sysIp.label" /></th> + <th scope="col"><spring:message code="comUtlSysNsm.ntwrkSvcMntrngList.sysPort.label" /></th> + <th scope="col"><spring:message code="comUtlSysNsm.ntwrkSvcMntrngList.sysNm.label" /></th> + <th scope="col"><spring:message code="comUtlSysNsm.ntwrkSvcMntrngList.mntrngSttus.label" /></th> + <th scope="col"><spring:message code="comUtlSysNsm.ntwrkSvcMntrngList.mngrNm.label" /></th> + </tr> + </thead> + <tbody> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value="${result.sysIp}"/></td> + <td><c:out value="${result.sysPort}"/></td> + <td> + <form name="ntwrkSvcMntrngVO" method="post" action="<c:url value='/utl/sys/nsm/selectNtwrkSvcMntrng.do'/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <input name="searchCnd" type="hidden" value="<c:out value='${searchVO.searchCnd}'/>"> + <input name="searchWrd" type="hidden" value="<c:out value='${searchVO.searchWrd}'/>"> + <input type="hidden" name="sysIp" value="<c:out value="${result.sysIp}"/>"> + <input type="hidden" name="sysPort" value="<c:out value="${result.sysPort}"/>"> + <span class="link"><input type="submit" value="<c:out value="${result.sysNm}"/>" onclick="fn_egov_inqire_ntwrksvcmntrng('<c:out value="${result.sysIp}"/>', '<c:out value="${result.sysPort}"/>'); return false;" style="text-align : left;"></span> + </form> + </td> + <td><c:out value="${result.mntrngSttus}"/></td> + <td><c:out value="${result.mngrNm}"/></td> + </tr> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="6"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_ntwrksvcmntrng"/> + </ul> + </div> +</div> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/nsm/EgovNtwrkSvcMntrngList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerRegist.jsp (revision 7) @@ -0,0 +1,176 @@ +<%-- +/** + * @Class Name : EgovSynchrnServerRegist.java + * @Description : EgovSynchrnServerRegist jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2010.07.01 lee.m.j 최초 생성 + * @ 2018.11.08 이정은 공통컴포넌트 3.8 개선 + * + * @author lee.m.j + * @since 2010.07.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +--%> + +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title><spring:message code="comUtlSysSsy.synchrnServer.title" /> <spring:message code="title.create" /></title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="synchrnServer" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- +function fncSelectSynchrnServerList() { + var varFrom = document.getElementById("synchrnServer"); + varFrom.action = "<c:url value='/utl/sys/ssy/selectSynchrnServerList.do'/>"; + varFrom.submit(); +} + +function fncSynchrnServerInsert() { + var varFrom = document.getElementById("synchrnServer"); + varFrom.action = "<c:url value='/utl/sys/ssy/addSynchrnServer.do'/>"; + + if(confirm("<spring:message code='common.save.msg' />")){ + if(!validateSynchrnServer(varFrom)){ + return; + }else{ + if(!ipValidate(varFrom.serverIp.value)) + return; + else + varFrom.submit(); + } + } +} + +function ipValidate(ipValue) { + + var varFrom = document.getElementById("serverEqpmn"); + var IPvalue = ipValue; + + var ipPattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; + var ipArray = IPvalue.match(ipPattern); + + var result = ""; + var thisSegment; + + if(IPvalue == "0.0.0.0") { + alert(IPvalue + "<spring:message code="comUtlSysSsy.synchrnServer.validate.exceptIP"/>");/* 는 예외 아이피 입니다. */ + result = false; + } else if (IPvalue == "255.255.255.255") { + alert(result =IPvalue + "<spring:message code="comUtlSysSsy.synchrnServer.validate.exceptIP"/>");/* 는 예외 아이피 입니다. */ + result = false; + } else { + result = true; + } + + if(ipArray == null) { + alert("<spring:message code="comUtlSysSsy.synchrnServer.validate.misMatchIP"/> ");/* IP 형식이 일치 하지않습니다. */ + result = false; + } else { + for (var i=1; i<5; i++) { + + thisSegment = ipArray[i]; + + if (thisSegment > 255) { + alert("<spring:message code="comUtlSysSsy.synchrnServer.validate.misMatchIP"/> ");/* IP 형식이 일치 하지않습니다. */ + result = false; + } + + if ((i == 0) && (thisSegment > 255)) { + alert("<spring:message code="comUtlSysSsy.synchrnServer.validate.misMatchIP"/> ");/* IP 형식이 일치 하지않습니다. */ + result = false; + } + } + } + + return result; +} + +--> +</script> +</head> + +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form:form commandName="synchrnServer" method="post" action="${pageContext.request.contextPath}/utl/sys/ssy/addSynchrnServer.do"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comUtlSysSsy.synchrnServer.title" /> <spring:message code="title.create" /></h2> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.serverNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <label for="serverNm"><input name="serverNm" id="serverNm" type="text" maxLength="60" size="60" >&nbsp;<form:errors path="serverNm" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.serverIp.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <label for="serverIp"><input name="serverIp" id="serverIp" type="text" maxLength="23" style="width:128px" />&nbsp;<form:errors path="serverIp" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.serverPort.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <label for="serverPort"><input name="serverPort" id="serverPort" type="text" maxLength="10" style="width:50px" >&nbsp;<form:errors path="serverPort" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.ftpId.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <label for="ftpId"><input name="ftpId" id="ftpId" type="text" maxLength="20" style="width:128px" />&nbsp;<form:errors path="ftpId" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.ftpPassword.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <label for="ftpPassword"><input name="ftpPassword" id="ftpPassword" type="text" maxLength="20" style="width:128px" />&nbsp;<form:errors path="ftpPassword" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.synchrnLc.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <label for="synchrnLc"><input name="synchrnLc" id="synchrnLc" type="text" maxLength="255" size="60" >&nbsp;<form:errors path="synchrnLc" /></label> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.save" />' onclick="fncSynchrnServerInsert(); return false;" /> + <span class="btn_s"><a href="<c:url value='/utl/sys/ssy/selectSynchrnServerList.do'/>?pageIndex=<c:out value='${synchrnServerVO.pageIndex}'/>&amp;strServerNm=<c:out value="${synchrnServerVO.strSynchrnServerNm}"/>" onclick="fncSelectSynchrnServerList(); return false;"><spring:message code="button.list" /></a></span> + </div> + <div style="clear:both;"></div> +</div> + + <!-- 검색조건 유지 --> + <input type="hidden" name="strSynchrnServerNm" value="<c:out value='${synchrnServerVO.strSynchrnServerNm}'/>" /> + <input type="hidden" name="pageIndex" value="<c:out value='${synchrnServerVO.pageIndex}'/>" > +</form:form> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerUpdt.jsp (revision 7) @@ -0,0 +1,188 @@ +<%-- +/** + * @Class Name : EgovSynchrnServerUpdt.java + * @Description : EgovSynchrnServerUpdt jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2010.07.01 lee.m.j 최초 생성 + * @ 2018.11.02 이정은 공통컴포넌트 3.8 개선 + * + * @author lee.m.j + * @since 2010.07.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +--%> + +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<title><spring:message code="comUtlSysSsy.synchrnServer.title" /> <spring:message code="title.update" /></title> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="synchrnServer" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- +function fncSelectSynchrnServerList() { + var varFrom = document.getElementById("synchrnServer"); + varFrom.action = "<c:url value='/utl/sys/ssy/selectSynchrnServerList.do'/>"; + varFrom.submit(); +} + +function fncSynchrnServerUpdate() { + var varFrom = document.getElementById("synchrnServer"); + varFrom.action = "<c:url value='/utl/sys/ssy/updtSynchrnServer.do'/>"; + + if(confirm("<spring:message code='common.save.msg' />")){ + if(!validateSynchrnServer(varFrom)){ + return; + }else{ + if(!ipValidate(varFrom.serverIp.value)) + return; + else + varFrom.submit(); + } + } +} + +function fncSynchrnServerDelete() { + var varFrom = document.getElementById("synchrnServer"); + varFrom.action = "<c:url value='/utl/sys/ssy/removeSynchrnServer.do'/>"; + if(confirm("<spring:message code='common.delete.msg' />")){ + varFrom.submit(); + } +} + +function ipValidate(ipValue) { + + var varFrom = document.getElementById("serverEqpmn"); + var IPvalue = ipValue; + + var ipPattern = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; + var ipArray = IPvalue.match(ipPattern); + + var result = ""; + var thisSegment; + + if(IPvalue == "0.0.0.0") { + alert(IPvalue + "는 예외 아이피 입니다.");/* 는 예외 아이피 입니다. */ + result = false; + } else if (IPvalue == "255.255.255.255") { + alert(result =IPvalue + "는 예외 아이피 입니다.");/* 는 예외 아이피 입니다. */ + result = false; + } else { + result = true; + } + + if(ipArray == null) { + alert("IP 형식이 일치 하지않습니다. ");/* IP 형식이 일치 하지않습니다. */ + result = false; + } else { + for (var i=1; i<5; i++) { + + thisSegment = ipArray[i]; + + if (thisSegment > 255) { + alert("IP 형식이 일치 하지않습니다. ");/* IP 형식이 일치 하지않습니다. */ + result = false; + } + + if ((i == 0) && (thisSegment > 255)) { + alert("IP 형식이 일치 하지않습니다. ");/* IP 형식이 일치 하지않습니다. */ + result = false; + } + } + } + + return result; +} +--> +</script> +</head> + +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form:form commandName="synchrnServer" method="post" action="${pageContext.request.contextPath}/utl/sys/ssy/updtSynchrnServer.do"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comUtlSysSsy.synchrnServer.title" /> <spring:message code="title.update" /></h2><!-- 동기화대상 서버정보 수정 --> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.serverId.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <input name="serverId" id="serverId" type="text" value="<c:out value='${synchrnServer.serverId}'/>" style="width:50%" readonly> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.serverNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <input name="serverNm" id="serverNm" type="text" value="<c:out value='${synchrnServer.serverNm}'/>" maxLength="30" style="width:50%">&nbsp;<form:errors path="serverNm" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.serverIp.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <input name="serverIp" id="serverIp" type="text" value="<c:out value='${synchrnServer.serverIp}'/>" maxLength="30" style="width:50%">&nbsp;<form:errors path="serverIp" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.serverPort.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <input name="serverPort" id="serverPort" type="text" value="<c:out value='${synchrnServer.serverPort}'/>" maxLength="30" style="width:70px">&nbsp;<form:errors path="serverPort" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.ftpId.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <input name="ftpId" id="ftpId" type="text" value="<c:out value='${synchrnServer.ftpId}'/>" maxLength="30" style="width:50%">&nbsp;<form:errors path="ftpId" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.ftpPassword.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <input name="ftpPassword" id="ftpPassword" type="text" value="<c:out value='${synchrnServer.ftpPassword}'/>" maxLength="30" style="width:50%">&nbsp;<form:errors path="ftpPassword" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.synchrnLc.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <input name="synchrnLc" id="synchrnLc" type="text" value="<c:out value='${synchrnServer.synchrnLc}'/>" maxLength="30" style="width:50%">&nbsp;<form:errors path="synchrnLc" /> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.save" />' onclick="fncSynchrnServerUpdate()" /> + <span class="btn_s"><a href="<c:url value='/utl/sys/ssy/selectSynchrnServerList.do'/>?pageIndex=<c:out value='${synchrnServerVO.pageIndex}'/>&amp;strSynchrnServerNm=<c:out value="${synchrnServerVO.strSynchrnServerNm}"/>" onclick="fncSelectSynchrnServerList(); return false;"><spring:message code="button.list" /></a></span> + </div> + <div style="clear:both;"></div> +</div> + <!-- 검색조건 유지 --> + <input type="hidden" name="strServerNm" value="<c:out value='${synchrnServerVO.strSynchrnServerNm}'/>" /> + <input type="hidden" name="pageIndex" value="<c:out value='${synchrnServerVO.pageIndex}'/>" > +</form:form> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerList.jsp (revision 7) @@ -0,0 +1,343 @@ +<%-- +/** + * @Class Name : EgovSynchrnServerList.java + * @Description : EgovSynchrnServerList jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2010.07.01 lee.m.j 최초 생성 + * @ 2018.11.08 이정은 공통컴포넌트 3.8 개선 + * @ 2019.12.09 신용호 KISA 보안약점 조치 (위험한 형식 파일 업로드) + * + * @author lee.m.j + * @since 2010.07.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +--%> + +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> + +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title><spring:message code="comUtlSysSsy.synchrnServer.title" /><spring:message code="title.list" /></title><!-- 동기화대상 서버 목록 --> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> + +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/fms/EgovMultiFiles.js'/>" ></script> +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- + +function fncSelectSynchrnServerList(pageNo){ + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/utl/sys/ssy/selectSynchrnServerList.do'/>"; + document.listForm.submit(); +} + +function fncSelectSynchrnServer(serverId) { + document.listForm.serverId.value = serverId; + document.listForm.action = "<c:url value='/utl/sys/ssy/getSynchrnServer.do'/>"; + document.listForm.submit(); +} + +function fncAddSynchrnServerInsert() { + if(document.listForm.pageIndex.value == "") { + document.listForm.pageIndex.value = 1; + } + document.listForm.action = "<c:url value='/utl/sys/ssy/addViewSynchrnServer.do'/>"; + document.listForm.submit(); +} + +function linkPage(pageNo){ + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/utl/sys/ssy/selectSynchrnServerList.do'/>"; + document.listForm.submit(); +} + +function press() { + if (event.keyCode==13) { + fncSelectSynchrnServerList('1'); + } +} + +function fncProcessSynchrn(){ + + if(document.hiddenForm.totalRecordCount.value == null || + document.hiddenForm.totalRecordCount.value == '' || + document.hiddenForm.totalRecordCount.value == 0) { + alert("<spring:message code="comUtlSysSsy.synchrnServer.validate.noList"/>");/* 동기화 대상목록이 없습니다 */ + return; + } + + if(confirm("<spring:message code='comUtlSysSsy.sync.msg' />")) { + document.listForm.action = "<c:url value='/utl/sys/ssy/processSynchrn.do'/>"; + document.listForm.submit(); + } +} + +function fncUploadFile(){ + if(document.fileForm.file.value.length > 0){ + + var resultExtension = EgovMultiFilesChecker.checkExtensions("egovComFileUploader", "<c:out value='${fileUploadExtensions}'/>"); // 결과가 false인경우 허용되지 않음 + if (!resultExtension) return true; + var resultSize = EgovMultiFilesChecker.checkFileSize("egovComFileUploader", <c:out value='${fileUploadMaxSize}'/>); // 파일당 1M까지 허용 (1K=1024), 결과가 false인경우 허용되지 않음 + if (!resultSize) return true; + + document.fileForm.action = "<c:url value='/utl/sys/ssy/uploadFile.do'/>"; + document.fileForm.submit(); + }else{ + alert("<spring:message code="comUtlSysSsy.synchrnServer.validate.noSelectedFile"/>");/* 선택된 파일이 없습니다. */ + return; + } +} + +function fncDeleteFile(deleteFileNm){ + if(confirm("<spring:message code='common.delete.msg' />")){ + document.fileForm.deleteFileNm.value = deleteFileNm; + document.fileForm.action = "<c:url value='/utl/sys/ssy/deleteFile.do'/>"; + document.fileForm.submit(); + } +} + +function fncCheckAll() { + var checkField = document.deleteForm.delYn; + if(document.deleteForm.checkAll.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} + +function fncManageChecked() { + + var checkField = document.deleteForm.delYn; + var checkId = document.deleteForm.checkId; + var returnValue = ""; + var returnBoolean = false; + var checkCount = 0; + + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i<checkField.length; i++) { + if(checkField[i].checked) { + checkCount++; + checkField[i].value = checkId[i].value; + if(returnValue == "") + returnValue = checkField[i].value; + else + returnValue = returnValue + ";" + checkField[i].value; + } + } + if(checkCount > 0) + returnBoolean = true; + else { + alert("<spring:message code="comUtlSysSsy.synchrnServer.validate.noSelectedFile"/>");/* 선택된 파일이 없습니다. */ + returnBoolean = false; + } + } else { + if(document.deleteForm.delYn.checked == false) { + alert("<spring:message code="comUtlSysSsy.synchrnServer.validate.noSelectedFile"/>");/* 선택된 파일이 없습니다. */ + returnBoolean = false; + } + else { + returnValue = checkId.value; + returnBoolean = true; + } + } + } else { + alert("<spring:message code="comUtlSysSsy.synchrnServer.validate.noQueryResult"/>");/* 조회된 결과가 없습니다. */ + } + + document.deleteForm.deleteFiles.value = returnValue; + return returnBoolean; +} + +function fncFileListDelete() { + if(fncManageChecked()) { + if(confirm("<spring:message code='common.delete.msg' />")) { + document.deleteForm.action = "<c:url value='/utl/sys/ssy/deleteFile.do'/>"; + document.deleteForm.submit(); + } + } +} + +function checkResultMessage() { + + var resultMessage = "<c:out value='${fileUploadResultMessage}'/>"; + if ( resultMessage != "" ) alert(resultMessage); +} + +--> +</script> + +</head> + +<body onload="checkResultMessage();"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<form name="listForm" action="<c:url value='/utl/sys/ssy/selectSynchrnServerList.do'/>" method="post"> + +<div class="board"> + <h1><spring:message code="comUtlSysSsy.synchrnServer.title" /> <spring:message code="title.management" /></h1><!-- 동기화대상 서버 관리 --> + + <div class="search_box" title="<spring:message code='common.searchCondition.msg' />"> + <ul> + <li> + <label for=""><spring:message code="comUtlSysSsy.synchrnServer.serverNm.label" /> : </label> + <input id="strSynchrnServerNm" class="s_input2 vat" name="strSynchrnServerNm" type="text" value='<c:out value="${synchrnServerVO.strSynchrnServerNm}"/>' size="30" onkeypress="press();" title="검색" /> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="fncSelectSynchrnServerList('1'); return false;" /> + <span class="btn_b"><a href="<c:url value='/utl/sys/ssy/addViewSynchrnServer.do'/>?pageIndex=<c:out value='${synchrnServerVO.pageIndex}'/>&amp;strSynchrnServerNm=<c:out value="${synchrnServerVO.strSynchrnServerNm}"/>" onclick="fncAddSynchrnServerInsert(); return false;" title='<spring:message code="button.create" />'><spring:message code="button.create" /></a></span> + <span class="btn_b"><a href="<c:url value='/utl/sys/ssy/processSynchrn.do'/>?pageIndex=<c:out value='${synchrnServerVO.pageIndex}'/>" onclick="fncProcessSynchrn(); return false;" title="동기화"><spring:message code="comUtlSysSsy.synchrnServer.synch"/></a></span><!-- 동기화 --> + </li> + </ul> + </div> +<input type="hidden" name="serverId"> +<input type="hidden" name="pageIndex" value="<c:if test="${empty synchrnServerVO.pageIndex }">1</c:if><c:if test="${!empty synchrnServerVO.pageIndex }"><c:out value='${synchrnServerVO.pageIndex}'/></c:if>"> +</form> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:25%" /> + <col style="width:25%" /> + <col style="width:20%" /> + <col style="width:15%" /> + <col style="width:15%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysSsy.synchrnServer.serverId.label" /></th> + <th scope="col"><spring:message code="comUtlSysSsy.synchrnServer.serverNm.label" /></th> + <th scope="col"><spring:message code="comUtlSysSsy.synchrnServer.serverIp.label" /></th> + <th scope="col"><spring:message code="comUtlSysSsy.synchrnServer.reflctAt.label" /></th> + <th scope="col"><spring:message code="comUtlSysSsy.synchrnServer.lastUpdusrId.label" /></th> + </tr> + </thead> + <tbody> + <c:forEach var="synchrnServer" items="${synchrnServerList}" varStatus="status"> + <tr> + <td> + <form name="item" method="post" action="<c:url value='/utl/sys/ssy/getSynchrnServer.do'/>"> + <input type="hidden" name="serverId" value="<c:out value="${synchrnServer.serverId}"/>"> + <input type="hidden" name="pageIndex" value="<c:out value='${synchrnServerVO.pageIndex}'/>"> + <input type="hidden" name="strSynchrnServerNm" value="<c:out value="${synchrnServerVO.strSynchrnServerNm}"/>"> + <span class="link"><input type="submit" value="<c:out value="${synchrnServer.serverId}"/>" onclick="fncSelectSynchrnServer('<c:out value="${synchrnServer.serverId}"/>'); return false;"></span> + </form> + </td> + <td><c:out value="${synchrnServer.serverNm}"/></td> + <td><c:out value="${synchrnServer.serverIp}"/></td> + <td><c:out value="${synchrnServer.reflctAt}"/></td> + <td><c:out value="${synchrnServer.lastUpdusrId}"/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> +</div> + +<form name="hiddenForm"> + <input type="hidden" name="totalRecordCount" value="<c:out value="${paginationInfo.totalRecordCount}"/>"/> +</form> + +<div class="wTableFrm"> +<form name="fileForm" action="<c:url value='/utl/sys/ssy/uploadFile.do'/>" method="post" enctype="multipart/form-data"> + <!-- 타이틀 --> + <h2><spring:message code="comUtlSysSsy.synchrnServerFile.title" /> <spring:message code="title.create" /></h2><!-- 동기화대상 파일 등록 --> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.fileSelect.label" /></th> + <td class="left"> + <input id="egovComFileUploader" name="file" type="file" size="30" title="<spring:message code='comUtlSysSsy.synchrnServerFile.title' />" > + </td> + </tr> + </table> +</form> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.create" />' onclick="fncUploadFile(); return false;" /> + </div> + <div style="clear:both;"></div> +</div> + +<div class="board"> +<form name="deleteForm" action="<c:url value='/utl/sys/ssy/deleteFile.do'/>" method="post"> + <h1><spring:message code="comUtlSysSsy.synchrnServerFile.title" /> <spring:message code="title.list" /></h1> <!-- 동기화대상 파일 목록 --> + + <div class="search_box" title="<spring:message code='common.searchCondition.msg' />"> + <ul> + <li> + <input class="s_btn" type="submit" value='<spring:message code="button.delete" />' title='<spring:message code="button.delete" />' onclick="fncFileListDelete(); return false;" /> + </li> + </ul> + </div> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:10%" /> + <col style="width:10%" /> + <col style="width:80%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><input type="checkbox" name="checkAll" class="check2" onclick="fncCheckAll()" title="전체선택체크박스" /></th> + <th scope="col"><spring:message code="comUtlSysSsy.synchrnServer.seq.label" /></th> + <th scope="col"><spring:message code="comUtlSysSsy.synchrnServer.fileNm.label" /></th> + </tr> + </thead> + <tbody> + <c:forEach var="file" items="${fileList}" varStatus="status"> + <tr> + <td><input type="checkbox" name="delYn" value="<c:out value="${file}"/>"><input type="hidden" name="checkId" value="<c:out value="${file}"/>" /></td> + <td><c:out value="${status.count}"/></td> + <td><c:out value="${file}"/></td> + </tr> + </c:forEach> + </tbody> + </table> + <input type="hidden" name="pageIndex" value="<c:out value='${synchrnServerVO.pageIndex}'/>" /> + <input type="hidden" name="deleteFiles" /> +</form> +</div> +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerDetail.jsp (revision 7) @@ -0,0 +1,192 @@ +<%-- +/** + * @Class Name : EgovSynchrnServerDetail.java + * @Description : EgovSynchrnServerDetail jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2010.07.01 lee.m.j 최초 생성 + * @ 2018.11.02 이정은 공통컴포넌트 3.8 개선 + * + * @author lee.m.j + * @since 2010.07.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +--%> + +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> + +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/button.css' />"> +<title><spring:message code="comUtlSysSsy.synchrnServer.title" /> <spring:message code="title.detail" /></title> <!-- 동기화대상 서버 상세보기 --> + +<script type="text/javaScript" language="javascript" defer="defer"> +<!-- +function fncSelectSynchrnServerList() { + var varFrom = document.getElementById("synchrnServer"); + varFrom.action = "<c:url value='/utl/sys/ssy/selectSynchrnServerList.do'/>"; + varFrom.submit(); +} + +function fncSynchrnServerUpdateView(serverId) { + var varFrom = document.getElementById("synchrnServer"); + varFrom.serverId.value = serverId; + varFrom.action = "<c:url value='/utl/sys/ssy/updtViewSynchrnServer.do'/>"; + varFrom.submit(); +} + +function fncSynchrnServerDelete(serverId) { + var varFrom = document.getElementById("synchrnServer"); + varFrom.serverId.value = serverId; + varFrom.action = "<c:url value='/utl/sys/ssy/removeSynchrnServer.do'/>"; + if(confirm("<spring:message code='common.delete.msg' />")){ + varFrom.submit(); + } +} + +function fncRemoveSynchrnServerFile(fileNm) { + var varFrom = document.getElementById("fileList"); + varFrom.fileNm.value = fileNm; + varFrom.action = "<c:url value='/utl/sys/ssy/removeSynchrnServerFile.do'/>"; + if(confirm("<spring:message code='common.delete.msg' />")){ + varFrom.submit(); + } +} + +function fncDownSynchrnServerFile(fileNm) { + var varFrom = document.getElementById("fileList"); + varFrom.fileNm.value = fileNm; + varFrom.action = "<c:url value='/utl/sys/ssy/getSynchrnServerFile.do'/>"; + if(confirm("<spring:message code='comUtlSysSsy.download.msg' />")){ + varFrom.submit(); + } +} + +--> +</script> +</head> + +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2><spring:message code="comUtlSysSsy.synchrnServer.title" /> <spring:message code="title.detail" /></h2><!-- 동기화대상 서버정보 상세조회 --> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.serverId.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${synchrnServer.serverId}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.serverNm.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${synchrnServer.serverNm}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.serverIp.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${synchrnServer.serverIp}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.serverPort.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${synchrnServer.serverPort}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.ftpId.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${synchrnServer.ftpId}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.ftpPassword.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${synchrnServer.ftpPassword}'/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysSsy.synchrnServer.synchrnLc.label" /> <span class="pilsu">*</span></th> + <td class="left"> + <c:out value='${synchrnServer.synchrnLc}'/> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <span class="btn_s"><a href="<c:url value='/utl/sys/ssy/updtViewSynchrnServer.do'/>?serverId=<c:out value='${synchrnServer.serverId}'/>" onclick="fncSynchrnServerUpdateView('${synchrnServer.serverId}'); return false;"><spring:message code="button.update" /></a></span> + <span class="btn_s"><a href="<c:url value='/utl/sys/ssy/removeSynchrnServer.do'/>?serverId=<c:out value='${synchrnServer.serverId}'/>" onclick="fncSynchrnServerDelete('${synchrnServer.serverId}'); return false;"><spring:message code="button.delete" /></a></span> + <span class="btn_s"><a href="<c:url value='/utl/sys/ssy/selectSynchrnServerList.do'/>?pageIndex=<c:out value='${synchrnServerVO.pageIndex}'/>&amp;strSynchrnServerNm=<c:out value="${synchrnServerVO.strSynchrnServerNm}"/>" onclick="fncSelectSynchrnServerList(); return false;"><spring:message code="button.list" /></a></span> + </div> + <div style="clear:both;"></div> +</div> + +<div class="board"> +<form:form commandName="fileList" method="post" action="${pageContext.request.contextPath}/utl/sys/ssy/removeSynchrnServerFile.do"> + <h1><spring:message code="comUtlSysSsy.synchrn.title" /> <spring:message code="title.list" /></h1><!-- 동기화 파일 목록 --> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:100px" /> + <col style="" /> + <col style="width:100px" /> + <col style="width:100px" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysSsy.synchrnServer.seq.label" /></th> + <th scope="col"><spring:message code="comUtlSysSsy.synchrnServer.fileList.label" /></th> + <th scope="col"><spring:message code="comUtlSysSsy.synchrnServer.fileDownload.label" /></th> + <th scope="col"><spring:message code="comUtlSysSsy.synchrnServer.fileDelete.label" /></th> + </tr> + </thead> + <tbody> + <c:forEach var="file" items="${fileList}" varStatus="status"> + <tr> + <c:if test="${file != 'noList'}"> + <td><c:out value="${status.count}"/></td> + <td><c:out value="${file}"/>&nbsp;</td> + <td><span class="button"><a href="<c:url value='/utl/sys/ssy/getSynchrnServerFile.do'/>?pageIndex=<c:out value='${synchrnServerVO.pageIndex}'/>&amp;strSynchrnServerNm=<c:out value="${synchrnServerVO.strSynchrnServerNm}"/>" onclick="fncDownSynchrnServerFile('<c:out value="${file}"/>'); return false;"><spring:message code="comUtlSysSsy.synchrnServer.fileDownload.label" /></a></span>&nbsp;</td><!-- 다운로드 --> + <!-- 동기화대상서버 파일 삭제 기능 --> + <td><span class="button"><input type="submit" value="<spring:message code="button.delete" />" onclick="fncRemoveSynchrnServerFile('<c:out value="${file}"/>'); return false;"></span></td> + </c:if> + <c:if test="${file == 'noList'}"> + <td colspan="4"><spring:message code="comUtlSysSsy.synchrnServer.nofile.label" /></td> + </c:if> + </tr> + </c:forEach> + </tbody> + </table> + <input type="hidden" name="serverId" value="<c:out value='${synchrnServer.serverId}'/>" /> + <input type="hidden" name="fileNm" /> +</form:form> +</div> + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/ssy/EgovSynchrnServerDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonRegist.jsp (revision 7) @@ -0,0 +1,136 @@ +<% + /** + * @Class Name : EgovComUtlProcessMonRegist.jsp + * @Description : EgovComUtlProcessMonRegist 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.06.30 박종선 최초 생성 + * + * @author 공통서비스팀 + * @since 2010.05.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> + +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUtlSysPrm.comUtlProcessMonRegist.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> + <head> + <meta http-equiv="content-type" content="text/html; charset=utf-8" /> + <title>${pageTitle}</title> + <link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> + <link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> + <script type="text/javascript" src="<c:url value="/validator.do"/>"></script> + <validator:javascript formName="processMonVO" staticJavascript="false" xhtml="true" cdata="false"/> + + <script type="text/javaScript" language="javascript"> + <!-- + /* ******************************************************** + * 초기화 + ******************************************************** */ + function fn_egov_initl_ProcessMon(){ + // 첫 입력란에 포커스.. + processMonVO.processNm.focus(); + } + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fn_egov_list_ProcessMon(){ + location.href = "<c:url value='/utl/sys/prm/EgovComUtlProcessMonList.do'/>"; + } + /* ******************************************************** + * 저장처리화면 + ******************************************************** */ + function fn_egov_regist_ProcessMon(form){ + if(confirm("<spring:message code="common.save.msg" />")){ + if(!validateProcessMonVO(form)){ + return; + }else{ + form.submit(); + } + } + } + /* ******************************************************** + * '~`!@#$%%^&*-=+\|[{]};:\',<.>/?' 문자열은 제거한다. + ******************************************************** */ + function cleanQueryTerm(form) { + var specialChars='~`!@#$%%^&*-=+\|[{]};:\',<>/?'; + var str=processMonVO.processNm.value; + var i, j; + if (str == '') { + return false; + } + for (i = 0; i < str.length; i++) { + for (j = 0; j < specialChars.length; j++) { + if (str.charAt(i) == specialChars.charAt(j)) + str = str.replace(str.charAt(i), " "); + } + } + processMonVO.processNm.value = str; + } + --> + </script> + </head> + + <body onLoad="fn_egov_initl_ProcessMon();"> + + <form:form commandName="processMonVO" name="processMonVO" method="post"> + + <div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle}</h2> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysPrm.comUtlProcessMon.processName" /> <span class="pilsu">*</span></th><!-- 프로세스명 --> + <td class="left"> + <form:input onkeyup="cleanQueryTerm()" path="processNm" size="30" maxlength="30"/> + <form:errors path="processNm"/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPrm.comUtlProcessMon.managerName" /> <span class="pilsu">*</span></th><!-- 관리자명 --> + <td class="left"> + <form:input path="mngrNm" maxlength="60" cssStyle="width:128px"/> + <form:errors path="mngrNm"/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysPrm.comUtlProcessMon.managerEmail" /> <span class="pilsu">*</span></th><!-- 관리자이메일 --> + <td class="left"> + <form:input path="mngrEmailAddr" size="60" maxlength="60"/> + <form:errors path="mngrEmailAddr"/> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.save" />" onclick="fn_egov_regist_ProcessMon(document.processMonVO); return false;" /> + <input class="s_submit" type="submit" value='<spring:message code="button.list" />' onclick="fn_egov_list_ProcessMon(); return false;" /> + </div> + <div style="clear:both;"></div> + </div> + + + </form:form> + + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonModify.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonModify.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonModify.jsp (revision 7) @@ -0,0 +1,133 @@ +<% + /** + * @Class Name : EgovComUtlProcessMonModify.jsp + * @Description : EgovComUtlProcessMonModify 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.06.30 박종선 최초 생성 + * + * @author 공통서비스팀 + * @since 2010.05.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> + +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUtlSysPrm.comUtlProcessMonModify.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> + <head> + <title>${pageTitle}</title> + <meta http-equiv="content-type" content="text/html; charset=utf-8" /> + <link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> + <link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> + <script type="text/javascript" src="<c:url value="/validator.do"/>"></script> + <validator:javascript formName="processMonVO" staticJavascript="false" xhtml="true" cdata="false"/> + + <script type="text/javaScript" language="javascript"> + <!-- + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fn_egov_list_ProcessMon(){ + location.href = "<c:url value='/utl/sys/prm/EgovComUtlProcessMonList.do'/>"; + } + /* ******************************************************** + * '~`!@#$%%^&*-=+\|[{]};:\',<.>/?' 문자열은 제거한다. + ******************************************************** */ + function cleanQueryTerm(form) { + var specialChars='~`!@#$%%^&*-=+\|[{]};:\',<>/?'; + var str=processMonVO.processNm.value; + var i, j; + if (str == '') { + return false; + } + for (i = 0; i < str.length; i++) { + for (j = 0; j < specialChars.length; j++) { + if (str.charAt(i) == specialChars.charAt(j)) + str = str.replace(str.charAt(i), " "); + } + } + processMonVO.processNm.value = str; + } + /* ******************************************************** + * 저장처리화면 + ******************************************************** */ + function fn_egov_modify_ProcessMon(form){ + if(confirm("<spring:message code="common.save.msg" />")){ + if(!validateProcessMonVO(form)){ + return; + }else{ + form.submit(); + } + } + } + --> + </script> + </head> + + <body> + <div class="wTableFrm"> + <form:form commandName="processMonVO" name="processMonVO" method="post"> + <input name="cmd" type="hidden" value="Modify"> + <form:hidden path="processId"/> + <!-- 상단 타이틀 영역 --> + <h2>&nbsp;${pageTitle}</h2> + + <table width="700" border="0" cellpadding="0" cellspacing="1" class="wTable" + summary="<spring:message code="comUtlSysPrm.comUtlProcessMonDetail.summary" />"> + <caption>${pageTitle}</caption> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysPrm.comUtlProcessMon.processName" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 프로세스명 --> + <td width="80%"> + <form:input onkeyup="cleanQueryTerm()" path="processNm" size="60" maxlength="60"/> + <form:errors path="processNm"/> + </td> + </tr> + <!-- <tr> + <th scope="row" width="20%" height="23" class="required_text">상태<img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th> + <td>${processMonVO.procsSttus}</td> + </tr> --> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysPrm.comUtlProcessMon.managerName" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 관리자명 --> + <td width="80%"> + <form:input path="mngrNm" size="60" maxlength="60"/> + <form:errors path="mngrNm"/> + </td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysPrm.comUtlProcessMon.managerEmail" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 관리자이메일 --> + <td width="80%"> + <form:input path="mngrEmailAddr" size="60" maxlength="60"/> + <form:errors path="mngrEmailAddr"/> + </td> + </tr> + </table> + + <table width="700" border="0" cellspacing="0" cellpadding="0"> + <tr> + <td height="10"></td> + </tr> + </table> + + <!-- 목록/저장버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.save" />" onclick="fn_egov_modify_ProcessMon(document.processMonVO); return false;" /> + <input class="s_submit" type="submit" value="<spring:message code="button.list" />" onclick="fn_egov_list_ProcessMon(); return false;" /> + </div> + + </form:form> + </DIV> + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonModify.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonList.jsp (revision 7) @@ -0,0 +1,156 @@ +<% + /** + * @Class Name : EgovComUtlProcessMonList.jsp + * @Description : EgovComUtlProcessMonList 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.09.7 박종선 최초 생성 + * + * @author 공통서비스팀 + * @since 2010.05.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> + +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comUtlSysPrm.comUtlProcessMonList.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> + <head> + <meta http-equiv="content-type" content="text/html; charset=utf-8"> + <title>${pageTitle}</title> + <link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> + <link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> + + <script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/utl/EgovCmmUtl.js'/>"></script> + <script type="text/javaScript" language="javascript"> + <!-- + /* ******************************************************** + * 초기화 + ******************************************************** */ + function fn_egov_initl_ProcessMon(){ + // 첫 입력란에 포커스.. + var form = document.listForm; + form.searchCondition.focus(); + } + /* ******************************************************** + * 페이징 처리 함수 + ******************************************************** */ + function linkPage(pageNo){ + var form = document.listForm; + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/utl/sys/prm/EgovComUtlProcessMonList.do'/>"; + form.submit(); + } + /* ******************************************************** + * 조회 처리 + ******************************************************** */ + function fnSearch(){ + var form = document.listForm; + form.pageIndex.value = 1; + form.submit(); + } + /* ******************************************************** + * 로그조회 함수 + ******************************************************** */ + function fnSearchLog(){ + location.href = "<c:url value='/utl/sys/prm/EgovComUtlProcessMonLogList.do'/>"; + } + --> + </script> + </head> + + <body onLoad="fn_egov_initl_ProcessMon();"> + + <!-- 자바스크립트 경고 태그 --> + <noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + + <div class="board"> + <h1>${pageTitle}</h1> + + <form name="listForm" action="<c:url value='/utl/sys/prm/EgovComUtlProcessMonList.do'/>" method="post"> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <select name="searchCondition" class="select" title="조회조건 선택"> + <option value=''>--<spring:message code="input.select" />--</option><!-- --선택하세요-- --> + <option value='1' <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if>><spring:message code="comUtlSysPrm.comUtlProcessMon.processName" /></option><!-- 프로세스명 --> + <option value='2' <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if>><spring:message code="comUtlSysPrm.comUtlProcessMon.status" /></option><!-- 상태 --> + </select> + <input class="s_input2 vat" name="searchKeyword" type="text" value='${searchVO.searchKeyword}' size="35" title="검색어 입력" /> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="fnSearch(); return false;" /> + <span class="btn_b"><a href="<c:url value='/utl/sys/prm/EgovComUtlProcessMonRegist.do'/>" onclick="" title='<spring:message code="button.create" />'><spring:message code="button.create" /></a></span> + <input class="s_btn" type="submit" value='<spring:message code="button.log" />' title="<spring:message code="button.log" />" onclick="fnSearchLog(); return false;" /> + </li> + </ul> + </div> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:10%" /> + <col style="width:15%" /> + <col style="width:10%" /> + <col style="width:15%" /> + <col style="width:25%" /> + <col style="width:25%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysPrm.comUtlProcessMon.seq" /></th><!-- 순번 --> + <th scope="col"><spring:message code="comUtlSysPrm.comUtlProcessMon.processName" /></th><!-- 프로세스명 --> + <th scope="col"><spring:message code="comUtlSysPrm.comUtlProcessMon.status" /></th><!-- 상태 --> + <th scope="col"><spring:message code="comUtlSysPrm.comUtlProcessMon.managerName" /></th><!-- 관리자명 --> + <th scope="col"><spring:message code="comUtlSysPrm.comUtlProcessMon.managerEmail" /></th><!-- 관리자이메일 --> + <th scope="col"><spring:message code="comUtlSysPrm.comUtlProcessMon.createdDateTime" /></th><!-- 생성일시 --> + </tr> + </thead> + <tbody> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex - 1) * searchVO.pageSize + status.count}"/></td> + <td> + <a href="<c:url value='/utl/sys/prm/EgovComUtlProcessMon.do'/>?pageIndex=${searchVO.pageIndex}&amp;processNm=${resultInfo.processNm}"><c:out value="${resultInfo.processNm}"/></a> + </td> + <td>${resultInfo.procsSttus}</td> + <td>${resultInfo.mngrNm}</td> + <td>${resultInfo.mngrEmailAddr}</td> + <td>${resultInfo.creatDt}</td> + </tr> + </c:forEach> + <!-- 데이터가 없을때 화면에 메세지를 출력해준다 --> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="6"> + <spring:message code="common.nodata.msg" /> + </td> + </tr> + </c:if> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> + + <input type="hidden" name="processNm"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"/> + </form> + + </div> + + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonLogList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonLogList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonLogList.jsp (revision 7) @@ -0,0 +1,249 @@ +<% +/** + * @Class Name : EgovComUtlProcessMonLogList.jsp + * @Description : EgovComUtlProcessMonLogList 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.09.7 박종선 최초 생성 + * + * @author 공통서비스팀 + * @since 2010.05.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comUtlSysPrm.comUtlProcessMonLogList.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> + <head> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <title>${pageTitle}</title> + <link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> + <link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> + <link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> + <script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/cal/EgovCalPopup.js'/>" ></script> + <script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> + <script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> + + <script type="text/javascript"> + + function fn_egov_init_processMonLog(){ + document.frm.searchBgnHour.value = '<c:out value="${searchVO.searchBgnHour}"/>'; + document.frm.searchEndHour.value = '<c:out value="${searchVO.searchEndHour}"/>'; + + $("#searchBgnDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + + $("#searchEndDe").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + document.frm.searchKeyword.focus(); + + + } + + function press(event) { + if (event.keyCode==13) { + fn_egov_select_processMonLog('1'); + } + } + + function fn_egov_select_processMonLog(pageNo) { + document.frm.pageIndex.value = pageNo; + document.frm.action = "<c:url value='/utl/sys/prm/EgovComUtlProcessMonLogList.do'/>"; + + var bgnDe = document.frm.searchBgnDe.value; + var endDe = document.frm.searchEndDe.value; + + if(bgnDe != ""){ + if(isDate(bgnDe, "검색시작일자") == false) { + return; + } + } + + if(endDe != ""){ + if(isDate(endDe, "검색종료일자") == false) { + return; + } + } + + var bgnHour = document.frm.searchBgnHour.value; + var endHour = document.frm.searchEndHour.value; + + var bgnDeHour = ""; + var endDeHour = ""; + if(bgnDe != "" && endDe != ""){ + if(bgnHour == ""){ + document.frm.searchBgnHour.value = "00"; + bgnHour = "00"; + } + if(endHour == ""){ + document.frm.searchEndHour.value = "00"; + endHour = "00"; + } + bgnDeHour = bgnDe + bgnHour; + endDeHour = endDe + endHour; + + if(bgnDeHour > endDeHour){ + alert("검색종료일시가 검색시작일시보다 빠를수 없습니다."); + return; + } + } + document.frm.submit(); + } + + function fn_egov_inqire_processMonLog(processNm, logId) { + document.frm.processNm.value = processNm; + document.frm.logId.value = logId; + document.frm.action = "<c:url value='/utl/sys/prm/EgovComUtlProcessMonLog.do'/>"; + document.frm.submit(); + } + + /* ******************************************************** + * 마스터목록조회 함수 + ******************************************************** */ + function fnSearch(){ + location.href = "<c:url value='/utl/sys/prm/EgovComUtlProcessMonList.do'/>"; + } + </script> + </head> + + <body onLoad="fn_egov_init_processMonLog()"> + + <noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + + <div class="board"> + <h1>${pageTitle}</h1> + + <form name="frm" method="post" action="<c:url value='/utl/sys/prm/EgovComUtlProcessMonLogList.do'/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <input type="hidden" name="processNm"> + <input type="hidden" name="logId"> + + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <input type="hidden" name="cal_url" id="cal_url" value="<c:url value='/sym/cal/EgovNormalCalPopup.do'/>" > + <input name="searchBgnDe" id="searchBgnDe" type="text" size="10" maxlength="10" value="<c:out value="${searchVO.searchBgnDe}"/>" title="<spring:message code="comUtlSysPrm.comUtlProcessMon.searchBgnDe" />"><!-- 조회시작일자 입력 --> + <select name="searchBgnHour" class="select" title="<spring:message code="comUtlSysPrm.comUtlProcessMon.searchBgnHour" />"><!-- 조회시작 시 선택 --> + <c:forEach var="bgnHour" items="${searchBgnHour}" varStatus="status"> + <option value="<c:out value="${bgnHour.code}"/>"><c:out value="${bgnHour.codeNm}"/></option> + </c:forEach> + </select> + ~ + <input name="searchEndDe" id="searchEndDe"type="text" size="10" maxlength="10" value="<c:out value="${searchVO.searchEndDe}"/>" title="<spring:message code="comUtlSysPrm.comUtlProcessMon.searchEndDe" />"><!-- 조회종료일자 입력 --> + <select name="searchEndHour" class="select" title="<spring:message code="comUtlSysPrm.comUtlProcessMon.searchEndHour" />"><!-- 조회종료 시 선택 --> + <c:forEach var="endHour" items="${searchEndHour}" varStatus="status"> + <option value="<c:out value="${endHour.code}"/>"><c:out value="${endHour.codeNm}"/></option> + </c:forEach> + </select> + + <select name="searchCondition" class="select" title="<spring:message code="select.searchCondition" />"> + <option value=''>--<spring:message code="input.select" />--</option><!-- 선택하세요 --> + <option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if> ><spring:message code="comUtlSysPrm.comUtlProcessMon.processName" /></option><!-- 프로세스명 --> + <option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if> ><spring:message code="comUtlSysPrm.comUtlProcessMon.status" /></option><!-- 상태 --> + </select> + <input name="searchKeyword" type="text" size="27" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="35" onkeypress="press(event);" title="검색어 입력"> + + <!-- <input class="s_input2 vat" name="searchKeyword" type="text" value="" size="25" onkeypress="press();" title="사용자명검색" /> --> + <input class="s_btn" type="submit" value="<spring:message code="button.search" />" title="<spring:message code="button.search" />" onclick="fn_egov_select_processMonLog('1'); return false;" /> + <input class="s_btn" type="submit" value="<spring:message code="button.list" />" title="<spring:message code="button.list" />" onclick="fnSearch(); return false;" /> + </li> + </ul> + </div> + </form> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:10%" /> + <col style="width:30%" /> + <col style="width:20%" /> + <col style="width:15%" /> + <col style="width:25%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysPrm.comUtlProcessMon.seq" /></th><!-- 순번 --> + <th scope="col"><spring:message code="comUtlSysPrm.comUtlProcessMon.logID" /></th><!-- 로그ID --> + <th scope="col"><spring:message code="comUtlSysPrm.comUtlProcessMon.processName" /></th><!-- 프로세스명 --> + <th scope="col"><spring:message code="comUtlSysPrm.comUtlProcessMon.status" /></th><!-- 상태 --> + <th scope="col"><spring:message code="comUtlSysPrm.comUtlProcessMon.createdDateTime" /></th><!-- 생성일시 --> + </tr> + </thead> + <tbody> + <c:forEach var="result" items="${resultList}" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td><c:out value="${result.logId}"/></td> + <td> + <form name="processMonLogVO" method="post" action="<c:url value='EgovComUtlProcessMonLogList.do'/>"> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>"> + <input name="searchCondition" type="hidden" value="<c:out value='${searchVO.searchCondition}'/>"> + <input name="searchKeyword" type="hidden" value="<c:out value='${searchVO.searchKeyword}'/>"> + <input name="searchBgnDe" type="hidden" value="<c:out value='${searchVO.searchBgnDe}'/>"> + <input name="searchEndDe" type="hidden" value="<c:out value='${searchVO.searchEndDe}'/>"> + <input name="searchBgnHour" type="hidden" value="<c:out value='${searchVO.searchBgnHour}'/>"> + <input name="searchEndHour" type="hidden" value="<c:out value='${searchVO.searchEndHour}'/>"> + <span class="link"><input type="submit" value="<c:out value="${result.processNm}"/>" + onclick="javascript:fn_egov_inqire_processMonLog('<c:out value="${result.processNm}"/>' + , '<c:out value="${result.logId}"/>'); return false;" style="text-align : left;"></span> + </form> + </td> + <td><c:out value="${result.procsSttus}"/></td> + <td><c:out value="${result.creatDt}"/></td> + </tr> + </c:forEach> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="5"><spring:message code="common.nodata.msg" /></td> + </tr> + </c:if> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_select_processMonLog"/> + </ul> + </div> + </div> + + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonLogList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonDetail.jsp (revision 7) @@ -0,0 +1,107 @@ +<% + /** + * @Class Name : EgovComUtlProcessMonDetail.jsp + * @Description : EgovComUtlProcessMonDetail 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.06.30 박종선 최초 생성 + * + * @author 공통서비스팀 + * @since 2010.05.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> + +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comUtlSysPrm.comUtlProcessMonDetail.title"/></c:set> + +<!DOCTYPE html> +<html lang="ko"> + <head> + <title>${pageTitle}</title> + <meta http-equiv="content-type" content="text/html; charset=utf-8" /> + <link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> + <link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> + + <script type="text/javaScript" language="javascript"> + <!-- + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fnList(){ + location.href = "<c:url value='/utl/sys/prm/EgovComUtlProcessMonList.do'/>"; + } + /* ******************************************************** + * 수정화면으로 바로가기 + ******************************************************** */ + function fnModify(){ + var varForm = document.all["Form"]; + varForm.action = "<c:url value='/utl/sys/prm/EgovComUtlProcessMonModify.do'/>"; + varForm.processNm.value = "${result.processNm}"; + varForm.submit(); + } + /* ******************************************************** + * 삭제 처리 함수 + ******************************************************** */ + function fnDelete(){ + if (confirm("<spring:message code="common.delete.msg" />")) { + var varForm = document.all["Form"]; + varForm.action = "<c:url value='/utl/sys/prm/EgovComUtlProcessMonRemove.do'/>"; + varForm.processNm.value = "${result.processNm}"; + varForm.submit(); + } + } + --> + </script> + </head> + + <body> + + <!-- 자바스크립트 경고 태그 --> + <noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + + <div class="wTableFrm"> + <form name="Form" action="" method="post"> + <input name="processNm" type="hidden"> + <h2>&nbsp;${pageTitle}</h2> + <table width="700" border="0" cellpadding="0" cellspacing="1" class="wTable" + summary="<spring:message code="comUtlSysPrm.comUtlProcessMonDetail.summary" />"> + <caption>${pageTitle}</caption> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysPrm.comUtlProcessMon.processName" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 프로세스명 --> + <td class="left">${result.processNm}</td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysPrm.comUtlProcessMon.status" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 상태 --> + <td class="left">${result.procsSttus}</td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysPrm.comUtlProcessMon.managerName" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 관리자명 --> + <td class="left">${result.mngrNm}</td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysPrm.comUtlProcessMon.managerEmail" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 관리자이메일 --> + <td class="left">${result.mngrEmailAddr}</td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.update" />" onclick="fnModify(); return false;" /> + <input class="s_submit" type="submit" value="<spring:message code="button.delete" />" onclick="fnDelete(); return false;" /> + <input class="s_submit" type="submit" value="<spring:message code="button.list" />" onclick="fnList(); return false;" /> + </div> + + </form> + </DIV> + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonLogDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonLogDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonLogDetail.jsp (revision 7) @@ -0,0 +1,96 @@ +<% + /** + * @Class Name : EgovComUtlProcessMonLogDetail.jsp + * @Description : EgovComUtlProcessMonLogDetail 화면 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.06.30 박종선 최초 생성 + * + * @author 공통서비스팀 + * @since 2010.05.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> + +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comUtlSysPrm.comUtlProcessMonLogDetail.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> + <head> + <title>${pageTitle}</title> + <meta http-equiv="content-type" content="text/html; charset=utf-8" /> + <link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> + <link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> + + <script type="text/javaScript" language="javascript"> + <!-- + /* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ + function fnList(){ + location.href = "<c:url value='/utl/sys/prm/EgovComUtlProcessMonLogList.do'/>"; + } + --> + </script> + </head> + + <body> + + <!-- 자바스크립트 경고 태그 --> + <noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + + <DIV class="wTableFrm"> + <form name="Form" action="" method="post"> + <input name="processNm" type="hidden"> + + <!-- 상단 타이틀 영역 --> + <h2>&nbsp;${pageTitle}</h2> + + <table width="700" border="0" cellpadding="0" cellspacing="1" class="wTable" + summary="<spring:message code="comUtlSysPrm.comUtlProcessMonLogDetail.summary" />"> + <caption>${pageTitle}</caption> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysPrm.comUtlProcessMon.logID" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 로그ID --> + <td class="left">${result.logId}</td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysPrm.comUtlProcessMon.processID" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 프로세스ID --> + <td class="left">${result.processId}</td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysPrm.comUtlProcessMon.processName" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 프로세스명 --> + <td class="left">${result.processNm}</td> + </tr> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysPrm.comUtlProcessMon.status" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 상태 --> + <td class="left">${result.procsSttus}</td> + </tr> + <c:if test="${result.procsSttus == '오류'}"> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysPrm.comUtlProcessMon.logInfo" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 로그 --> + <td class="left">${result.logInfo}</td> + </tr> + </c:if> + <tr> + <th scope="row" width="20%" height="23" class="required_text"><spring:message code="comUtlSysPrm.comUtlProcessMon.lastCreatedDateTime" /><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력표시" width="15" height="15"></th><!-- 마지막 생성일시 --> + <td class="left">${result.creatDt}</td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.list" />" onclick="fnList(); return false;" /> + </div> + </form> + </DIV> + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovComUtlProcessMonLogDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovProcessMon.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovProcessMon.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovProcessMon.jsp (revision 7) @@ -0,0 +1,32 @@ +<%@ page language="java" import= "java.io.*,java.util.*" contentType="text/html; charset=euc-kr" session="false" %> + +<html lang="ko"> +<% + + String command = "netstat -an"; // <---- ������ ����ɾ� + int lineCount = 0; + String line=""; + + Runtime rt = Runtime.getRuntime(); + Process ps = null; + + try { + ps = rt.exec(command); + + BufferedReader br = + new BufferedReader( + new InputStreamReader( + new SequenceInputStream(ps.getInputStream(), ps.getErrorStream()))); + + while((line = br.readLine()) != null){ +%> + <%=line%><br> <!-- ��� ȭ�鿡 �Ѹ���... --> +<% + } + br.close(); + + } catch(IOException e) { + throw new RuntimeException(e); + } +%> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/prm/EgovProcessMon.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspectionUriDirect.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspectionUriDirect.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspectionUriDirect.jsp (revision 7) @@ -0,0 +1,337 @@ +<%-- + Class Name : EgovWebStandardInspectionUriDirect.jsp + Description : 웹표준검사 + Modification Information + + 수정일 수정자 수정내용 + ---------- -------- --------------------------- + 2010.10.05 박종선 최초 생성 + 2020.10.29 신용호 KISA 보안약점 조치 (경로 조작 및 자원 삽입) + + author : 박종선 + since : 2010.10.05 +--%> +<%@ page language="java" contentType="text/html; charset=utf-8" + buffer="none"%> +<%@page import="java.util.*"%> +<%@page import="java.util.regex.*"%> +<%@page import="java.io.*"%> +<%@page import="java.net.*"%> +<%@page import="egovframework.com.utl.fcc.service.EgovNumberCheckUtil"%> +<%@page import="egovframework.com.cmm.EgovWebUtil"%> +<%@page import="egovframework.com.cmm.util.EgovResourceCloseHelper"%> +<%!public class HttpRequestor { + + public static final String CRLF = "\r\n"; + + /** + * 연결할 URL + */ + private URL targetURL; + + /** + * 파라미터 목록을 저장하고 있다. + * 파라미터 이름과 값이 차례대로 저장된다. + */ + private ArrayList list; + + public HttpRequestor(URL target) { + this(target, 20); + } + + /** + * 파라미터를 추가한다. + * @param parameterName 파라미터 이름 + * @param parameterValue 파라미터 값 + * @exception IllegalArgumentException parameterValue가 null일 경우 + */ + public void addParameter(String parameterName, String parameterValue) { + if (parameterValue == null) + throw new IllegalArgumentException("parameterValue can't be null!"); + + list.add(parameterName); + list.add(parameterValue); + } + + public void addParameterBuf(String parameterName, StringBuffer parameterValue) { + if (parameterValue == null) + throw new IllegalArgumentException("parameterValue can't be null!"); + + list.add(parameterName); + list.add((StringBuffer) parameterValue); + } + + /** + * HttpRequest를 생성한다. + * + * @param target HTTP 메시지를 전송할 대상 URL + */ + public HttpRequestor(URL target, int initialCapicity) { + this.targetURL = target; + this.list = new ArrayList(); + } + + private String makeDelimeter() { + return "---------------------------7d115d2a20060c"; + } + + public InputStream sendMultipartPost() throws IOException { + + HttpURLConnection conn = (HttpURLConnection) targetURL.openConnection(); + + // Delimeter 생성 + String delimeter = makeDelimeter(); + byte[] newLineBytes = CRLF.getBytes("utf-8"); + byte[] delimeterBytes = delimeter.getBytes("utf-8"); + byte[] dispositionBytes = "Content-Disposition: form-data; name=".getBytes("utf-8"); + String dispositionStr = "Content-Disposition: form-data; name="; + byte[] quotationBytes = "\"".getBytes("utf-8"); + byte[] contentTypeBytes = "Content-Type: application/octet-stream".getBytes("utf-8"); + byte[] fileNameBytes = "; filename=".getBytes("utf-8"); + byte[] twoDashBytes = "--".getBytes("utf-8"); + + conn.setRequestMethod("POST"); + conn.setRequestProperty("Charset", "utf-8"); + conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + delimeter); + conn.setDoInput(true); + conn.setDoOutput(true); + conn.setUseCaches(false); + + BufferedOutputStream out = null; + + try { + out = new BufferedOutputStream(conn.getOutputStream()); + + Object[] obj = new Object[list.size()]; + list.toArray(obj); + + for (int i = 0; i < obj.length; i += 2) { + // Delimeter 전송 + out.write(twoDashBytes); + out.write(delimeterBytes); + out.write(newLineBytes); + + // 파라미터 이름 출력 + out.write(dispositionBytes); + out.write(quotationBytes); + out.write(((String) obj[i]).getBytes("utf-8")); + out.write(quotationBytes); + + if (obj[i + 1] instanceof String) { + // String 이라면 + out.write(newLineBytes); + out.write(newLineBytes); + // 값 출력 + out.write(((String) obj[i + 1]).getBytes("utf-8")); + out.write(newLineBytes); + } else if (obj[i + 1] instanceof StringBuffer) { + // StringBuffer 이라면 + out.write(newLineBytes); + out.write(newLineBytes); + // 값 출력 + + out.write(((StringBuffer) obj[i + 1]).toString().getBytes("utf-8")); + out.write(newLineBytes); + //System.out.println("HttpRequestor>" + ((StringBuffer)obj[i+1]).toString().replaceAll("\t","").substring(0,130).toString()); + } else { + // 파라미터의 값이 File 이나 NullFile인 경우 + if (obj[i + 1] instanceof File) { + File file = (File) obj[i + 1]; + // File이 존재하는 지 검사한다. + out.write(fileNameBytes); + out.write(quotationBytes); + out.write(file.getAbsolutePath().getBytes("utf-8")); + out.write(quotationBytes); + } else { + // NullFile 인 경우 + out.write(fileNameBytes); + out.write(quotationBytes); + out.write(quotationBytes); + } + out.write(newLineBytes); + out.write(contentTypeBytes); + out.write(newLineBytes); + out.write(newLineBytes); + // File 데이터를 전송한다. + if (obj[i + 1] instanceof File) { + File file = (File) obj[i + 1]; + // file에 있는 내용을 전송한다. + BufferedInputStream is = null; + try { + is = new BufferedInputStream(new FileInputStream(file)); + byte[] fileBuffer = new byte[1024 * 8]; // 8k + int len = -1; + while ((len = is.read(fileBuffer)) != -1) { + out.write(fileBuffer, 0, len); + } + } finally { + if (is != null) + try { + is.close(); + } catch (IOException ex) { + throw new RuntimeException(ex); + } + } + } + out.write(newLineBytes); + } // 파일 데이터의 전송 블럭 끝 + if (i + 2 == obj.length) { + // 마지막 Delimeter 전송 + out.write(twoDashBytes); + out.write(delimeterBytes); + out.write(twoDashBytes); + out.write(newLineBytes); + } + } // for 루프의 끝 + + out.flush(); + } finally { + if (out != null) + out.close(); + } + return conn.getInputStream(); + } + }%> +<% + response.setContentType("text/html;charset=utf-8"); + request.setCharacterEncoding("utf-8"); + + String sUri = request.getParameter("uri") == null ? "" : (String) request.getParameter("uri"); + String sNum = request.getParameter("num") == null ? "" : (String) request.getParameter("num"); + + sUri = EgovWebUtil.clearXSSMinimum(sUri); + sNum = EgovWebUtil.clearXSSMinimum(sNum); + + String sMatcherFind = ""; + int nLine = 0; + String[] arrMatcherFind; + String str = null; + + StringBuffer strBufInputHtml = new StringBuffer(); + + String boundary = "nvnvnvnvnvnvnvnvnvnvnvnvnvnvnvnvnvnvnvnvnvnv"; + int bufferSize = 16384; + + BufferedReader buffResInput = null; + BufferedReader buffResOld = null; + try { + + //URL 체크 + sUri = EgovWebUtil.filePathBlackList(sUri); + URL urlCheck = new URL(sUri); + urlCheck.openStream(); + + URLConnection urlConn = urlCheck.openConnection(); + urlConn.setRequestProperty("Cookie", "JSESSIONID=" + session.getId()); + + buffResOld = new BufferedReader(new InputStreamReader(urlConn.getInputStream(), "utf-8")); + while ((str = buffResOld.readLine()) != null) { + strBufInputHtml.append(str + "\r\n"); + //out.println(str); + } + + HttpRequestor requestor = new HttpRequestor(new URL("http://validator.w3.org/check")); + requestor.addParameterBuf("fragment", (StringBuffer) strBufInputHtml); + requestor.addParameter("direct_prefill_no", "0"); + requestor.addParameter("direct-doctype", "Inline"); + requestor.addParameter("group", "0"); + requestor.addParameter("direct_prefill_no", "0"); + + BufferedReader br = null; + + try { + br = new BufferedReader(new InputStreamReader(requestor.sendMultipartPost(), "utf-8")); + + StringBuffer resp = new StringBuffer(); + + String line; + Pattern pattern; + Matcher matcher; + + if (1 == 1) { // 연결이 성공적일때 + //out.println("<xmp>"); BufferedReader br = new BufferedReader(new InputStreamReader(is)); + //buffResInput = new BufferedReader(new InputStreamReader(uc.getInputStream(), "utf-8")); + while ((str = br.readLine()) != null) { + if (str != null) { + //1차검색 + pattern = Pattern.compile("\\sErrors*|\\swarning*|Passed"); + matcher = pattern.matcher(str); + + if (matcher.find()) { + sMatcherFind = str; + break; + } + } + + if (nLine > 100) { + break; + } + + nLine++; + } + + if (buffResInput != null) + buffResInput.close(); + //out.println("</xmp>"); + } + } finally { + EgovResourceCloseHelper.close(br); + } + + if (sMatcherFind.trim().equals("Passed")) { +%> +<script type="text/javaScript" language="javascript"> + parent.document.getElementById("divErr<%=sNum%>").innerHTML = '0 Errors'; + parent.document.getElementById("divWar<%=sNum%>").innerHTML = '0 warning(s)'; + </script> + +<% + } else if (!sMatcherFind.equals("")) { + + if (sMatcherFind.indexOf(",") > -1) { + arrMatcherFind = sMatcherFind.split(","); +%> + +<script type="text/javaScript" language="javascript"> + parent.document.getElementById("divErr<%=sNum%>").innerHTML = '<%=arrMatcherFind[0].replaceAll("<(/)?([a-zA-Z0-9]*)(\\s[a-zA-Z0-9]*=[^>]*)?(\\s)*(/)?>", "")%>'; + parent.document.getElementById("divWar<%=sNum%>").innerHTML = '<%=arrMatcherFind[1].replaceAll("<(/)?([a-zA-Z0-9]*)(\\s[a-zA-Z0-9]*=[^>]*)?(\\s)*(/)?>", "")%>'; + </script> + +<% + } else if (sMatcherFind.indexOf("E") > -1) { +%> +<script type="text/javaScript" language="javascript"> + parent.document.getElementById("divErr<%=sNum%>").innerHTML = '<%=sMatcherFind.replaceAll("<(/)?([a-zA-Z0-9]*)(\\s[a-zA-Z0-9]*=[^>]*)?(\\s)*(/)?>", "")%>'; + parent.document.getElementById("divWar<%=sNum%>").innerHTML = '0 warning(s)'; + </script> +<% + } else if (sMatcherFind.indexOf("s") > -1) { +%> +<script type="text/javaScript" language="javascript"> + parent.document.getElementById("divErr<%=sNum%>").innerHTML = '0 Errors'; + parent.document.getElementById("divWar<%=sNum%>").innerHTML = '<%=sMatcherFind.replaceAll("<(/)?([a-zA-Z0-9]*)(\\s[a-zA-Z0-9]*=[^>]*)?(\\s)*(/)?>", "")%>'; + </script> +<% + } +%> +<% + } + } catch (java.net.UnknownHostException ex) { +%> +<script type="text/javaScript" language="javascript"> + alert("입력하신 URL[<%=sUri%>] \n\n잘못 되었습니다!"); + </script> +<% + } catch (java.net.MalformedURLException ex) { +%> +<script type="text/javaScript" language="javascript"> + alert("입력하신 URL[<%=sUri%>] \n\n잘못 되었습니다!"); + </script> +<% + } catch (Exception ex) { + throw new RuntimeException(ex); + } finally { + EgovResourceCloseHelper.close(buffResInput, buffResOld); + } +%> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspectionUriDirect.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspection.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspection.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspection.jsp (revision 7) @@ -0,0 +1,204 @@ +<% + /** + * @Class Name : EgovWebStandardInspection.jsp + * @Description : 웹표준검사 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.10.05 박종선 최초 생성 + * + * @author 공통서비스팀 + * @since 2010.10.05 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" buffer="none"%> +<%@page import="java.util.*" %> +<%@page import="java.util.regex.*" %> +<%@page import="java.text.*" %> +<%@page import="java.io.*" %> +<!DOCTYPE html> +<html lang="ko"> +<head> +<title>웹표준 검사</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8"> +<link href="/css/egovframework/com/cmm/utl/com.css" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="/js/egovframework/com/uss/ion/rss/jquery.js"></script> +<script type="text/javaScript" language="javascript"> +/* ******************************************************** + * 저장처리화면 + ******************************************************** a*/ +function fn_egov_init_WebStandardInspection(){ + + + + +} +/* ******************************************************** + * 화면 검사 + ******************************************************** a*/ +function fn_egov_submit_WebStandardInspection(form, nNmm){ + + document.getElementById('divErr'+nNmm).innerHTML=''; + document.getElementById('divWar'+nNmm).innerHTML=''; + + //url 검사 모드시 + /* + if(form.rdoUri[1].checked){ + var name=form.uri.value; + var reg_name=/(127\.0\.0\.1|localhost)/g; + + if( reg_name.test(name) ){ + alert("Url 검사 에서는[localhost/127.0.0.1] 해당 주소를 검사 할수 없습니다.!"); + return false; + } + + } + */ + + if(form.uri.value == ''){ + alert('웹표준검사 URL을 입력해주세요!'); + form.uri.focus(); + return false; + } + + if(form.rdoUri[0].checked == true){ + form.action='/EgovPageLink.do?link=utl/sys/wsi/EgovWebStandardInspectionUriDirect'; + }else{ + form.action='/EgovPageLink.do?link=utl/sys/wsi/EgovWebStandardInspectionUri'; + } + + return true; + +} + +/* ******************************************************** + * 상세보기 스크립트 + ******************************************************** */ + function fn_egov_submit_WebStandardInspectionLink(form){ + + if(form.uri.value == ''){ + alert('웹표준검사 URL을 입력해주세요!'); + form.uri.focus(); + return; + } + + document.formHidden.uri.value = form.uri.value; + + if(form.rdoUri[0].checked == true){ + document.formHidden.action = "/EgovPageLink.do?link=utl/sys/wsi/EgovWebStandardInspectionUriDirectLink"; + }else{ + document.formHidden.action = "http://validator.w3.org/check"; + } + + document.formHidden.submit(); +} + +</script> +<style type="text/css"> +.btnNew { +border : 0 solid #000; +color : #000000; +background-image : url(/images/egovframework/com/cmm/uss/umt/button/bu2_bg.gif); +cursor : pointer; +} +</style> +</head> +<body onLoad="fn_egov_init_WebStandardInspection()"> +<DIV id="content" style="width:712px"> +<!-- noscript 테그 --> +<noscript class="noScriptTitle">자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다.</noscript> + +<!-- 상단 타이틀 영역 --> +<table width="100%" cellpadding="8" class="table-search" border="0" summary="상단 타이틀을 제공한다."> + <tr> + <td width="100%"class="title_left"> + <h1><img src="/images/egovframework/com/cmm/uss/umt/icon/tit_icon.gif" width="16" height="16" hspace="3" style="vertical-align:middle; display:inline-block;" alt="">&nbsp;웹표준 검사</h1></td> + </tr> +</table> + +<!-- 줄간격조정 --> +<table width="100%" cellspacing="0" cellpadding="0" border="0" summary="줄간격을제공한다."> +<tr> + <td height="3px"></td> +</tr> +</table> + +<!-- 상단 등롬폼 영역 START --> +<table width="100%" border="1" cellpadding="0" cellspacing="1" class="table-register" +summary="이 표는 웹표준검사 대상 정보를 제공하며, URL명, Public IP 여부, Warniing, 상세보기 정보로 구성되어 있습니다 ."> +<tr> + <th scope="col" height="23" class="required_text"><center>URL명</center></th> + <th scope="col" width="170px" height="23" class="required_text" align="center"><center>Public IP 여부</center></th> + <th scope="col" width="90px" height="23" class="required_text" align="center"><center>Errors</center></th> + <th scope="col" width="90px" height="23" class="required_text" align="center"><center>Warniing</center></th> + <th scope="col" width="70px" height="23" class="required_text" align="center"><center>상세보기</center></th> + +</tr> +</table> +<% + for(int i=1 ; i<10; i++){ +%> +<form name="webInspection" method="post" action="/EgovPageLink.do?link=utl/sys/wsi/EgovWebStandardInspectionUri" target="ifr_hidden"> +<table width="100%" border="1" cellpadding="0" cellspacing="1" class="table-register" summary=" "> +<tr> + <td style="padding:2px 2px 2px 2px;" height="23"> + <input name="uri" type="text" size="73" value="" maxlength="250" style="width:98%;"> + </td> + <td width="170px" align="center"> + <div style="float:left;"> + <input type="radio" name="rdoUri" value="dUri">Private<input type="radio" name="rdoUri" value="uri" checked>Public&nbsp;&nbsp; + </div> + <div style="float:left;"> + <table border="0" cellspacing="0" cellpadding="0" align="center" summary="목록/저장버튼을 제공한다."> + <tr> + <td>&nbsp;</td> + <td><img src="/images/egovframework/com/cmm/uss/umt/btn/bu2_left.gif" width="8" height="20"></td> + <td class="btnBackground" nowrap><input type="submit" value="검색" name="btnSearch" onClick="if(fn_egov_submit_WebStandardInspection(this.form,'<%=i%>') == false){return false;};" class="btnNew" style="height:20px;width:26px;" > + </td> + <td><img src="/images/egovframework/com/cmm/uss/umt/btn/bu2_right.gif" width="8" height="20"></td> + </tr> + </table> + + </div> + </td> + <td width="90px" align="center"><div id="divErr<%=i%>">&nbsp;</div></td> + <td width="90px" align="center"><div id="divWar<%=i%>">&nbsp;</div></td> + <td width="70px" align="center"> + + <table border="0" cellspacing="0" cellpadding="0" align="center" summary="목록/저장버튼을 제공한다."> + <tr> + <td>&nbsp;</td> + <td><img src="/images/egovframework/com/cmm/uss/umt/btn/bu2_left.gif" width="8" height="20"></td> + <td class="btnBackground" nowrap><input type="button" value="보기" name="btnSearch" onClick="fn_egov_submit_WebStandardInspectionLink(this.form);" class="btnNew" style="height:20px;width:26px;" ></td> + <td><img src="/images/egovframework/com/cmm/uss/umt/btn/bu2_right.gif" width="8" height="20"></td> + </tr> + </table> + <input name="num" type="hidden" value="<%=i%>"> + </td> +</tr> +</table> +</form> +<% + } +%> + +<!-- 줄간격조정 --> +<table width="100%" cellspacing="0" cellpadding="0" border="0" summary="화면 줄간격을 조정한다."> +<tr> + <td height="3px"></td> +</tr> + +</table> +<!-- Hiden frame visibility: hidden; --> +<iframe name="ifr_hidden" id="ifr_hidden1" src="about:blank;" style="width:100%;height:400px;visibility: hidden;"></iframe> +<form name="formHidden" id="formHidden" action="http://validator.w3.org/check" method="post" target="_blank" > +<input name="uri" type="hidden" value=""> +</form> +</DIV> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspection.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspectionUri.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspectionUri.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspectionUri.jsp (revision 7) @@ -0,0 +1,130 @@ +<%-- + Class Name : govWebStandardInspectionUri.jsp + Description : 웹표준검사 + Modification Information + + 수정일 수정자 수정내용 + ---------- -------- --------------------------- + 2010.10.05 박종선 최초 생성 + 2020.10.29 신용호 KISA 보안약점 조치 (경로 조작 및 자원 삽입) + + author : 박종선 + since : 2010.10.05 +--%> +<%@ page language="java" contentType="text/html; charset=UTF-8" buffer="none"%> +<%@page import="egovframework.com.utl.fcc.service.EgovNumberCheckUtil"%> +<%@page import="java.util.*" %> +<%@page import="java.util.regex.*" %> +<%@page import="java.io.*" %> +<%@page import="java.net.*" %> +<%@ page import="egovframework.com.cmm.EgovWebUtil" %> +<% + +String sUri = request.getParameter("uri") == null ? "" : (String)request.getParameter("uri"); +String sNum = request.getParameter("num") == null ? "" : (String)request.getParameter("num"); + +// 2011.10.25 보안점검 후속조치 +sUri = EgovWebUtil.clearXSSMinimum(sUri); +sNum = EgovWebUtil.clearXSSMinimum(sNum); + + +BufferedReader buf = null; +String sMatcherFind = ""; +int nLine = 0; +String[] arrMatcherFind; + +try { + sUri = EgovWebUtil.filePathBlackList(sUri); + URL urlCheck = new URL(sUri); + urlCheck.openStream(); + + //URLConnection 객체를 생성하기 위해 URL객체의 openConnection메소드 이용 + //반환형은 InputStream 1차 스트림 형태이므로 BufferedRead형태 사용 가능 + URL url = new URL("http://validator.w3.org/check?uri="+sUri); + + URLConnection uc = url.openConnection(); + uc.setRequestProperty("Cookie","JSESSIONID="+session.getId()); + + + buf = new BufferedReader(new InputStreamReader(uc.getInputStream(), "utf-8")); + String str = null; + + + Pattern pattern; + Matcher matcher; + if(!sUri.equals("")){ + while((str = buf.readLine())!=null){ + + if(str != null){ + //1차검색 + pattern = Pattern.compile("\\sErrors*|\\swarning*|Passed"); + matcher = pattern.matcher(str); + + if(matcher.find()){sMatcherFind = str;break;} + } + + if(nLine > 150){break;} + + nLine++; + } + } + + + + if(sMatcherFind.trim().equals("Passed")){ + +%> +<script type="text/javaScript" language="javascript"> + parent.document.getElementById("divErr<%=sNum%>").innerHTML = '0 Errors'; + parent.document.getElementById("divWar<%=sNum%>").innerHTML = '0 warning(s)'; +</script> + +<% + + }else if(!sMatcherFind.equals("")){ + + + if(sMatcherFind.indexOf(",") > -1 ){ + arrMatcherFind = sMatcherFind.split(","); +%> + +<script type="text/javaScript" language="javascript"> + parent.document.getElementById("divErr<%=sNum%>").innerHTML = '<%=arrMatcherFind[0]%>'; + parent.document.getElementById("divWar<%=sNum%>").innerHTML = '<%=arrMatcherFind[1]%>'; +</script> + <%}else if(sMatcherFind.indexOf("E") > -1){ %> + <script type="text/javaScript" language="javascript"> + parent.document.getElementById("divErr<%=sNum%>").innerHTML = '<%=sMatcherFind%>'; + parent.document.getElementById("divWar<%=sNum%>").innerHTML = '0 warning(s)'; + </script> + <%}else if(sMatcherFind.indexOf("s") > -1){ %> + <script type="text/javaScript" language="javascript"> + parent.document.getElementById("divErr<%=sNum%>").innerHTML = '0 Errors'; + parent.document.getElementById("divWar<%=sNum%>").innerHTML = '<%=sMatcherFind%>'; + </script> + <%}%> +<% + } + +} catch (java.net.UnknownHostException ex){ +%> + <script type="text/javaScript" language="javascript"> + alert("입력하신 URL[<%=sUri%>] \n\n잘못 되었습니다!"); + </script> +<% +} catch (java.net.MalformedURLException ex){ + %> + <script type="text/javaScript" language="javascript"> + alert("입력하신 URL[<%=sUri%>] \n\n잘못 되었습니다!"); + </script> + <% +} catch (Exception ex) { + //ex.printStackTrace(); + throw new RuntimeException(ex); // 2011.10.10 보안점검 후속조치 +} finally { // 2012.11 KISA 보안조치 + if (buf != null) { + buf.close(); + } +} +%> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspectionUri.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspectionUriDirectLink.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspectionUriDirectLink.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspectionUriDirectLink.jsp (revision 7) @@ -0,0 +1,297 @@ +<%-- + Class Name : EgovWebStandardInspectionUriDirect.jsp + Description : 웹표준검사 + Modification Information + + 수정일 수정자 수정내용 + ---------- --------- --------------------------- + 2010.10.05 박종선 최초 생성 + 2019.11.29 신용호 KISA 보안약점 조치 (부적절한 자원 해제, 경로조작및 자원 삽입) + 2020.10.29 신용호 KISA 보안약점 조치 (크로스사이트 스크립트) + + author : 박종선 + since : 2010.10.05 +--%> +<%@ page language="java" contentType="text/html; charset=utf-8" buffer="none"%> +<%@page import="java.util.*" %> +<%@page import="java.util.regex.*" %> +<%@page import="java.io.*" %> +<%@page import="java.net.*" %> +<%@page import="egovframework.com.utl.fcc.service.EgovNumberCheckUtil"%> +<%@page import="egovframework.com.cmm.util.EgovResourceCloseHelper"%> +<%@page import="egovframework.com.cmm.EgovWebUtil"%> +<%!public class HttpRequestor { + + public static final String CRLF = "\r\n"; + + /** + * 연결할 URL + */ + private URL targetURL; + + /** + * 파라미터 목록을 저장하고 있다. + * 파라미터 이름과 값이 차례대로 저장된다. + */ + private ArrayList list; + + public HttpRequestor(URL target) { + this(target, 20); + } + + /** + * 파라미터를 추가한다. + * @param parameterName 파라미터 이름 + * @param parameterValue 파라미터 값 + * @exception IllegalArgumentException parameterValue가 null일 경우 + */ + public void addParameter(String parameterName, String parameterValue) { + if (parameterValue == null) + throw new IllegalArgumentException("parameterValue can't be null!"); + + list.add(parameterName); + list.add(parameterValue); + } + + public void addParameterBuf(String parameterName, StringBuffer parameterValue) { + if (parameterValue == null) + throw new IllegalArgumentException("parameterValue can't be null!"); + + list.add(parameterName); + list.add((StringBuffer) parameterValue); + } + + /** + * HttpRequest를 생성한다. + * + * @param target HTTP 메시지를 전송할 대상 URL + */ + public HttpRequestor(URL target, int initialCapicity) { + this.targetURL = target; + this.list = new ArrayList(); + } + + private String makeDelimeter() { + return "---------------------------7d115d2a20060c"; + } + + public InputStream sendMultipartPost() throws IOException { + + HttpURLConnection conn = (HttpURLConnection) targetURL.openConnection(); + + // Delimeter 생성 + String delimeter = makeDelimeter(); + byte[] newLineBytes = CRLF.getBytes("utf-8"); + byte[] delimeterBytes = delimeter.getBytes("utf-8"); + byte[] dispositionBytes = "Content-Disposition: form-data; name=".getBytes("utf-8"); + String dispositionStr = "Content-Disposition: form-data; name="; + byte[] quotationBytes = "\"".getBytes("utf-8"); + byte[] contentTypeBytes = "Content-Type: application/octet-stream".getBytes("utf-8"); + byte[] fileNameBytes = "; filename=".getBytes("utf-8"); + byte[] twoDashBytes = "--".getBytes("utf-8"); + + conn.setRequestMethod("POST"); + conn.setRequestProperty("Charset", "utf-8"); + conn.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + delimeter); + conn.setDoInput(true); + conn.setDoOutput(true); + conn.setUseCaches(false); + + BufferedOutputStream out = null; + + try { + out = new BufferedOutputStream(conn.getOutputStream()); + + Object[] obj = new Object[list.size()]; + list.toArray(obj); + + for (int i = 0; i < obj.length; i += 2) { + // Delimeter 전송 + out.write(twoDashBytes); + out.write(delimeterBytes); + out.write(newLineBytes); + + // 파라미터 이름 출력 + out.write(dispositionBytes); + out.write(quotationBytes); + out.write(((String) obj[i]).getBytes("utf-8")); + out.write(quotationBytes); + + if (obj[i + 1] instanceof String) { + // String 이라면 + out.write(newLineBytes); + out.write(newLineBytes); + // 값 출력 + out.write(((String) obj[i + 1]).getBytes("utf-8")); + out.write(newLineBytes); + } else if (obj[i + 1] instanceof StringBuffer) { + // StringBuffer 이라면 + out.write(newLineBytes); + out.write(newLineBytes); + // 값 출력 + + out.write(((StringBuffer) obj[i + 1]).toString().getBytes("utf-8")); + out.write(newLineBytes); + //System.out.println("HttpRequestor>" + ((StringBuffer)obj[i+1]).toString().replaceAll("\t","").substring(0,130).toString()); + } else { + // 파라미터의 값이 File 이나 NullFile인 경우 + if (obj[i + 1] instanceof File) { + File file = (File) obj[i + 1]; + // File이 존재하는 지 검사한다. + out.write(fileNameBytes); + out.write(quotationBytes); + out.write(file.getAbsolutePath().getBytes("utf-8")); + out.write(quotationBytes); + } else { + // NullFile 인 경우 + out.write(fileNameBytes); + out.write(quotationBytes); + out.write(quotationBytes); + } + out.write(newLineBytes); + out.write(contentTypeBytes); + out.write(newLineBytes); + out.write(newLineBytes); + // File 데이터를 전송한다. + if (obj[i + 1] instanceof File) { + File file = (File) obj[i + 1]; + // file에 있는 내용을 전송한다. + BufferedInputStream is = null; + try { + is = new BufferedInputStream(new FileInputStream(file)); + byte[] fileBuffer = new byte[1024 * 8]; // 8k + int len = -1; + while ((len = is.read(fileBuffer)) != -1) { + out.write(fileBuffer, 0, len); + } + } finally { + if (is != null) + try { + is.close(); + } catch (IOException ex) { + throw new RuntimeException(ex); + } + } + } + out.write(newLineBytes); + } // 파일 데이터의 전송 블럭 끝 + if (i + 2 == obj.length) { + // 마지막 Delimeter 전송 + out.write(twoDashBytes); + out.write(delimeterBytes); + out.write(twoDashBytes); + out.write(newLineBytes); + } + } // for 루프의 끝 + + out.flush(); + } finally { + if (out != null) + out.close(); + } + return conn.getInputStream(); + } + }%> +<html lang="ko"> + <head><title></title></head> + <body> +<% + response.setContentType("text/html;charset=utf-8"); + request.setCharacterEncoding("utf-8"); + + String sUri = request.getParameter("uri") == null ? "" : (String) request.getParameter("uri"); + String sNum = request.getParameter("num") == null ? "" : (String) request.getParameter("num"); + + String sMatcherFind = ""; + int nLine = 0; + String[] arrMatcherFind; + String str = null; + + StringBuffer strBufInputHtml = new StringBuffer(); + + String boundary = "nvnvnvnvnvnvnvnvnvnvnvnvnvnvnvnvnvnvnvnvnvnv"; + int bufferSize = 16384; + + BufferedReader buffResInput = null; + BufferedReader buffResOld = null; + try { + + sUri = EgovWebUtil.removeCRLF(sUri); + sUri = EgovWebUtil.filePathBlackList(sUri); + sUri = EgovWebUtil.clearXSSMinimum(sUri); + + //URL 체크 + URL urlCheck = new URL(sUri); + urlCheck.openStream(); + + URLConnection urlConn = urlCheck.openConnection(); + urlConn.setRequestProperty("Cookie", "JSESSIONID=" + session.getId()); + + buffResOld = new BufferedReader(new InputStreamReader(urlConn.getInputStream(), "utf-8")); + while ((str = buffResOld.readLine()) != null) { + strBufInputHtml.append(str + "\r\n"); + //out.println(str); + } + + HttpRequestor requestor = new HttpRequestor(new URL("http://validator.w3.org/check")); + requestor.addParameterBuf("fragment", (StringBuffer) strBufInputHtml); + requestor.addParameter("direct_prefill_no", "0"); + requestor.addParameter("direct-doctype", "Inline"); + requestor.addParameter("group", "0"); + requestor.addParameter("direct_prefill_no", "0"); + + BufferedReader br = null; + + try { + br = new BufferedReader(new InputStreamReader(requestor.sendMultipartPost(), "utf-8")); + + StringBuffer resp = new StringBuffer(); + + String line; + Pattern pattern; + Matcher matcher; + + if (1 == 1) { // 연결이 성공적일때 + //out.println("<xmp>"); BufferedReader br = new BufferedReader(new InputStreamReader(is)); + //buffResInput = new BufferedReader(new InputStreamReader(uc.getInputStream(), "utf-8")); + while ((str = br.readLine()) != null) { + str = str.replaceAll("\\./", "http://validator.w3.org/"); + str = str.replaceAll("\\<form", "<form action=\"http://validator.w3.org/check\""); + str = str.replaceAll("\"images/", "\"http://validator.w3.org/images/"); + + out.println(str); + } + + } + + } finally { + if (br != null) { + br.close(); + } + if (buffResInput != null) + buffResInput.close(); + } +%> + + +<% + } catch (java.net.UnknownHostException ex) { +%> + <script type="text/javaScript" language="javascript"> + alert("입력하신 URL[<%=sUri%>] \n\n잘못 되었습니다!"); + </script> +<% + } catch (java.net.MalformedURLException ex) { +%> + <script type="text/javaScript" language="javascript"> + alert("입력하신 URL[<%=sUri%>] \n\n잘못 되었습니다!"); + </script> +<% + } catch (Exception ex) { + throw new RuntimeException(ex); + } finally { + EgovResourceCloseHelper.close(buffResInput, buffResOld); + } +%> + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/wsi/EgovWebStandardInspectionUriDirectLink.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/srm/EgovServerResrceMntrngDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/srm/EgovServerResrceMntrngDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/srm/EgovServerResrceMntrngDetail.jsp (revision 7) @@ -0,0 +1,143 @@ +<%-- +/** + * @Class Name : EgovServerResrceMntrngDetail.java + * @Description : EgovServerResrceMntrngDetail jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2010.07.01 lee.m.j 최초 생성 + * @ 2018.10.05 공통컴포넌트 3.8 개선 + * + * @author lee.m.j + * @since 2010.07.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +--%> + +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<c:set var="pageTitle"><spring:message code="ultSysScm.mntrngServerDetail.Title"/></c:set> + +<!DOCTYPE html> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle} <spring:message code="title.detail" /></title> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript"> + +function fncSelectServerResrceMntrngList() { + var varFrom = document.getElementById("proxySvc"); + varFrom.action = "<c:url value='/utl/sys/srm/selectServerResrceMntrngList.do'/>"; + varFrom.submit(); +} + +</script> +</head> + +<body> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle} <spring:message code="title.detail" /></h2> + + <form:form commandName="serverResrceMntrng" method="post" action="${pageContext.request.contextPath}/utl/sys/srm/selectServerResrceMntrngList.do"> + <!-- 등록폼 --> + <table class="wTable" summary="<spring:message code="common.summary.inqire" arguments="${pageTitle}" />"> + <colgroup> + <col style="width:16%" /> + <col style="" /> + </colgroup> + <!-- 로그ID --> + <tr> + <th><spring:message code="ultSysScm.mntrngServerDetail.logId" /></th> + <td class="left"> + <c:out value='${serverResrceMntrng.logId}'/> + </td> + </tr> + <!-- 서버H/W 명 --> + <tr> + <th><spring:message code="ultSysScm.mntrngServerDetail.serverName" /></th> + <td class="left"> + <c:out value='${serverResrceMntrng.serverNm}'/> + </td> + </tr> + <!-- 서버H/W IP --> + <tr> + <th><spring:message code="ultSysScm.mntrngServerDetail.serverIp" /></th> + <td class="left"> + <c:out value='${serverResrceMntrng.serverEqpmnIp}'/> + </td> + </tr> + <!-- CPU사용률 --> + <tr> + <th><spring:message code="ultSysScm.mntrngServerDetail.cpuUse" /></th> + <td class="left"> + <c:out value='${serverResrceMntrng.cpuUseRt}'/> + </td> + </tr> + <!-- 메모리사용률 --> + <tr> + <th><spring:message code="ultSysScm.mntrngServerDetail.memoryUse" /></th> + <td class="left"> + <c:out value='${serverResrceMntrng.moryUseRt}'/> + </td> + </tr> + <!-- 서비스상태 --> + <tr> + <th><spring:message code="ultSysScm.mntrngServerDetail.serviceStatus" /></th> + <td class="left"> + <c:out value='${serverResrceMntrng.svcSttusNm}'/> + </td> + </tr> + <c:if test="${serverResrceMntrng.svcSttus == '02' }"> + <!-- 로그정보 --> + <tr> + <th><spring:message code="ultSysScm.mntrngServerDetail.logInfo" /></th> + <td class="left"> + <textarea rows="5" cols="80" readOnly><c:out value='${serverResrceMntrng.logInfo}'/></textarea> + </td> + </tr> + </c:if> + <!-- 생성일시 --> + <tr> + <th><spring:message code="ultSysScm.mntrngServerDetail.crateDate" /></th> + <td class="left"> + <c:out value='${serverResrceMntrng.creatDt}'/> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.list" />' onclick="fncSelectServerResrceMntrngList(); return false;" /> + </div> + <div style="clear:both;"></div> + + + <input type="hidden" name="logId" value="<c:out value='${serverResrceMntrng.logId}'/>" /> + <!-- 검색조건 유지 --> + <input type="hidden" name="strServerNm" value="<c:out value='${serverResrceMntrngVO.strServerNm}'/>" /> + <input type="hidden" name="pageIndex" value="<c:out value='${serverResrceMntrngVO.pageIndex}'/>" /> + <input type="hidden" name="strStartDt" value="<c:out value='${pmServerResrceMntrng.strStartDt}'/>" /> + <input type="hidden" name="strEndDt" value="<c:out value='${pmServerResrceMntrng.strEndDt}'/>" /> + </form:form> +</div> + + + + + +</body> +</html> + Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/srm/EgovServerResrceMntrngDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/srm/EgovMntrngServerList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/srm/EgovMntrngServerList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/srm/EgovMntrngServerList.jsp (revision 7) @@ -0,0 +1,122 @@ +<%-- +/** + * @Class Name : EgovMntrngServerList.java + * @Description : EgovMntrngServerList jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2010.07.01 lee.m.j 최초 생성 + * @ 2018.10.05 공통컴포넌트 3.8 개선 + * + * @author lee.m.j + * @since 2010.09.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +--%> + +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<c:set var="pageTitle"><spring:message code="ultSysScm.mntrngServer.Title"/></c:set> + +<!DOCTYPE html> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle} <spring:message code="title.list" /></title> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javaScript" language="javascript" defer="defer"> + +function fncSelectMntrngServerList(pageNo) { + + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/utl/sys/srm/selectMntrngServerList.do'/>"; + document.listForm.submit(); +} + +function linkPage(pageNo){ + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/utl/sys/srm/selectMntrngServerList.do'/>"; + document.listForm.submit(); +} + +function press() { + if (event.keyCode==13) { + fncSelectMntrngServerList('1'); + } +} + + +</script> +</head> + +<body> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<div class="board"> + <h1>${pageTitle} <spring:message code="title.list" /></h1> + + <form name="listForm" action="<c:url value='/utl/sys/srm/selectMntrngServerList.do'/>" method="post"> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <label for=""><spring:message code="ultSysScm.mntrngServerList.ServerName" /> : </label> + <input id="strServerNm" class="s_input2 vat" name="strServerNm" type="text" value='<c:out value="${serverResrceMntrngVO.strServerNm}"/>' size="20" onkeypress="press();" title="<spring:message code="ultSysScm.mntrngServerList.ServerName" /> <spring:message code="input.input" />" /><!-- 서버H/W 명 --> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="fncSelectMntrngServerList('1'); return false;" /> + <span class="btn_b"><a href="<c:url value='/utl/sys/srm/selectServerResrceMntrngList.do'/>" onclick="" title="<spring:message code="ultSysScm.mntrngServerList.btnLog" /> <spring:message code="input.button" />"><spring:message code="ultSysScm.mntrngServerList.btnLog" /></a></span><!-- 로그 --> + </li> + </ul> + </div> + <input type="hidden" name="logId"> + <input type="hidden" name="pageIndex" value="<c:if test="${empty serverResrceMntrngVO.pageIndex }">1</c:if><c:if test="${!empty serverResrceMntrngVO.pageIndex }"><c:out value='${serverResrceMntrngVO.pageIndex}'/></c:if>"> + </form> + + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption></caption> + <colgroup> + <col style="width:25%" /> + <col style="width:25%" /> + <col style="width:25%" /> + <col style="width:25%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="ultSysScm.mntrngServerList.ServerId" /></th><!-- 서버H/W ID --> + <th scope="col"><spring:message code="ultSysScm.mntrngServerList.ServerName" /></th><!-- 서버H/W 명 --> + <th scope="col"><spring:message code="ultSysScm.mntrngServerList.ServerIp" /></th><!-- 서버H/W IP --> + <th scope="col"><spring:message code="ultSysScm.mntrngServerList.ServerEmail" /></th><!--담당자 E-Mail --> + </tr> + </thead> + <tbody> + <c:forEach var="mntrngServer" items="${mntrngServerList}" varStatus="status"> + <tr> + <td><c:out value="${mntrngServer.serverEqpmnId}"/></td> + <td><c:out value="${mntrngServer.serverNm}"/><c:if test="${serverResrceMntrng.cpuUseRt != null}">%</c:if></td> + <td><c:out value="${mntrngServer.serverEqpmnIp}"/><c:if test="${serverResrceMntrng.cpuUseRt != null}">%</c:if></td> + <td><c:out value="${mntrngServer.mngrEamilAddr}"/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> +</div> + + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/srm/EgovMntrngServerList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/srm/EgovServerResrceMntrngList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/srm/EgovServerResrceMntrngList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/srm/EgovServerResrceMntrngList.jsp (revision 7) @@ -0,0 +1,235 @@ +<%-- +/** + * @Class Name : EgovServerResrceMntrngList.java + * @Description : EgovServerResrceMntrngList jsp + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ --------- -------- --------------------------- + * @ 2010.07.01 lee.m.j 최초 생성 + * @ 2018.10.05 공통컴포넌트 3.8 개선 + * + * @author lee.m.j + * @since 2010.09.01 + * @version 1.0 + * @see + * + * Copyright (C) 2009 by MOPAS All right reserved. + */ +--%> + +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<c:set var="pageTitle"><spring:message code="ultSysScm.mntrngResrceServerList.Title"/></c:set> + +<!DOCTYPE html> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle} <spring:message code="title.list" /></title> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<script type="text/javascript"> + +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + + $("#strStartDt").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + + $("#strEndDt").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); +} + +function fncSelectServerResrceMntrngList(pageNo) { + + var fromDate = document.listForm.strStartDt.value; + var endDate = document.listForm.strEndDt.value; + + // var tmpFromDate = fromDate.substring(0,4)+fromDate.substring(5,7)+fromDate.substring(8,10); + // var tmpEndDate = endDate.substring(0,4)+endDate.substring(5,7)+endDate.substring(8,10); + + var tmpFromDate = fromDate.split("-"); + var tmpEndDate = endDate.split("-"); + + var strTmpFromDate = ""; + var strTmpEndDate = ""; + + for(var i=0;i<tmpFromDate.length;i++) { + strTmpFromDate = strTmpFromDate + tmpFromDate[i]; + } + + for(var j=0;j<tmpEndDate.length;j++) { + strTmpEndDate = strTmpEndDate + tmpEndDate[j]; + } + + if(strTmpFromDate.length != 8 || strTmpEndDate.length != 8 || !checknum(strTmpFromDate) || !checknum(strTmpEndDate)) { + alert("<spring:message code="ultSysScm.mntrngResrceServerList.validate.datatFail" />"); + return; + } else { + if(strTmpFromDate > strTmpEndDate) { + alert("<spring:message code="ultSysScm.mntrngResrceServerList.validate.datatCheck" />"); + return; + } + } + + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/utl/sys/srm/selectServerResrceMntrngList.do'/>"; + document.listForm.submit(); + +} + +function fncSelectServerResrceMntrng(logId) { + document.listForm.logId.value = logId; + document.listForm.action = "<c:url value='/utl/sys/srm/getServerResrceMntrng.do'/>"; + document.listForm.submit(); +} + +function linkPage(pageNo){ + document.listForm.pageIndex.value = pageNo; + document.listForm.action = "<c:url value='/utl/sys/srm/selectServerResrceMntrngList.do'/>"; + document.listForm.submit(); +} + +function press() { + if (event.keyCode==13) { + fncSelectServerResrceMntrngList('1'); + } +} + +function checknum(number) { + + var rtnMsg = true; + var pattern = /^[0-9]+$/; + + if(!pattern.test(number)) { + rtnMsg = false; + } + + return rtnMsg; +} + +</script> +</head> + +<body onload="fn_egov_init()"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript><!-- 자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다. --> + +<div class="board"> + + <h1>${pageTitle} <spring:message code="title.list" /></h1> + + <form name="listForm" action="<c:url value='/utl/sys/srm/selectServerResrceMntrngList.do'/>" method="post"> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <label for=""><spring:message code="ultSysScm.mntrngResrceServerList.scServerName" /> : </label><!-- 서버H/W 명 --> + <input id="strServerNm" class="s_input2 vat" name="strServerNm" type="text" value='<c:out value="${serverResrceMntrngVO.strServerNm}"/>' size="8" onkeypress="press();" title="<spring:message code="ultSysScm.mntrngResrceServerList.scServerName" /> <spring:message code="input.input" />" /> + + <label for=""><spring:message code="ultSysScm.mntrngResrceServerList.scBetween" /> : </label><!-- 기간 --> + <input type="text" name="strStartDt" id="strStartDt" value="<c:out value='${pmServerResrceMntrng.strStartDt}'/>" size="12" maxlength="10" title="<spring:message code="ultSysScm.mntrngResrceServerList.scFromDate" /> <spring:message code="input.input" />" /> + + + ~ <input type="text" name="strEndDt" id="strEndDt" value="<c:out value='${pmServerResrceMntrng.strEndDt}'/>" size="12" maxlength="10" title="<spring:message code="ultSysScm.mntrngResrceServerList.scToDate" /> <spring:message code="input.input" />" /> + + <input type="hidden" name="strServerResrceMntrngDate" value=""/> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="fncSelectServerResrceMntrngList('1'); return false;" /> + <span class="btn_b"><a href="<c:url value='/utl/sys/srm/selectMntrngServerList.do'/>" onclick="" title="<spring:message code="button.list" /> <spring:message code="input.button" />"><spring:message code="button.list" /></a></span> + </li> + </ul> + </div> + <input type="hidden" name="logId"> + <input type="hidden" name="pageIndex" value="<c:if test="${empty serverResrceMntrngVO.pageIndex }">1</c:if><c:if test="${!empty serverResrceMntrngVO.pageIndex }"><c:out value='${serverResrceMntrngVO.pageIndex}'/></c:if>"> + </form> + + <table class="board_list" summary="<spring:message code="common.summary.list" arguments="${pageTitle}" />"> + <caption></caption> + <colgroup> + <col style="width:20%" /> + <col style="width:15%" /> + <col style="width:15%" /> + <col style="width:15%" /> + <col style="width:15%" /> + <col style="width:20%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="ultSysScm.mntrngResrceServerList.listServerName" /></th><!-- 서버H/W 명 --> + <th scope="col"><spring:message code="ultSysScm.mntrngResrceServerList.listServerIp" /></th><!-- >서버H/W IP --> + <th scope="col"><spring:message code="ultSysScm.mntrngResrceServerList.listCpuUse" /></th><!-- CPU사용률 --> + <th scope="col"><spring:message code="ultSysScm.mntrngResrceServerList.lisMemoryUse" /></th><!--메모리사용률 --> + <th scope="col"><spring:message code="ultSysScm.mntrngResrceServerList.listServerStatus" /></th><!-- 서비스상태 --> + <th scope="col"><spring:message code="ultSysScm.mntrngResrceServerList.listCreateDatetime" /></th><!-- 생성일시 --> + </tr> + </thead> + <tbody> + <c:forEach var="serverResrceMntrng" items="${serverResrceMntrngList}" varStatus="status"> + <tr> + <td> + <form name="item" method="post" action="<c:url value='/utl/sys/srm/getServerResrceMntrng.do'/>"> + <input type="hidden" name="logId" value="<c:out value="${serverResrceMntrng.logId}"/>"> + <input type="hidden" name="pageIndex" value="<c:out value='${serverResrceMntrngVO.pageIndex}'/>"> + <input type="hidden" name="strServerNm" value="<c:out value="${serverResrceMntrngVO.strServerNm}"/>"> + <span class="link"><input type="submit" value="<c:out value="${serverResrceMntrng.serverNm}"/>" onclick="fncSelectServerResrceMntrng('<c:out value="${serverResrceMntrng.logId}"/>'); return false;"></span> + </form> + </td> + <td><c:out value="${serverResrceMntrng.serverEqpmnIp}"/></td> + <td><c:out value="${serverResrceMntrng.cpuUseRt}"/><c:if test="${serverResrceMntrng.cpuUseRt != null}">%</c:if></td> + <td><c:out value="${serverResrceMntrng.moryUseRt}"/><c:if test="${serverResrceMntrng.cpuUseRt != null}">%</c:if></td> + <td><c:out value="${serverResrceMntrng.svcSttusNm}"/></td> + <td><c:out value="${serverResrceMntrng.creatDt}"/></td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="linkPage"/> + </ul> + </div> +</div> + + + + + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/srm/EgovServerResrceMntrngList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngUpdt.jsp (revision 7) @@ -0,0 +1,146 @@ +<%-- + Class Name : EgovDbMntrngUpdate.jsp + Description : DB서비스모니터링 수정 페이지 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2010.07.09 김진만 최초 생성 + + author : 공통서비스 개발팀 김진만 + since : 2010.07.09 + +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<c:set var="pageTitle"><spring:message code="comUtlSysDbm.dbMntrngModify.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<title>${pageTitle}</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" > +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="dbMntrng" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript"> + + +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_list_db_mntrng(){ + var varForm = document.getElementById("dbMntrng"); + varForm.action = "<c:url value='/utl/sys/dbm/getDbMntrngList.do'/>"; + varForm.submit() +} +/* ******************************************************** + * 저장처리화면 + ******************************************************** */ +function fn_egov_save_db_mntrng(){ + var varForm = document.getElementById("dbMntrng"); + + if(confirm("<spring:message code='common.save.msg' />")){ + varForm.action = "<c:url value='/utl/sys/dbm/updateDbMntrng.do'/>"; + + if(!validateDbMntrng(varForm)){ + return; + }else{ + varForm.submit(); + } + } +} + +</script> +</head> +<body> + +<%-- noscript 태그 --%> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<DIV class="wTableFrm"> +<!-- 상단타이틀 --> +<form:form commandName="dbMntrng" id="dbMntrng" action="<c:url value='/utl/sys/dbm/updateDbMntrng.do'/>" method="post"> + + <!-- 검색조건 유지 --> + <input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>"/> + <input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>"/> + <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}' default='1' />"/> + + <input type="hidden" name="mntrngSttus" value="<c:out value='${dbMntrng.mntrngSttus}'/>"/> + + <!-- 상단 타이틀 영역 --> + <h2>&nbsp;${pageTitle}</h2> + + <!-- 등록 폼 영역 --> + <table width="100%" border="0" cellpadding="0" cellspacing="1" class="wTable" summary="<spring:message code="comUtlSysDbm.dbMntrngModify.summary" />"><!-- DB서비스모니터링 수정기능을 제공한다. --> + <tr> + <th width="20%" height="23" class="required_text" nowrap ><label id="IdDataSourcNm" for="dataSourcNm"><spring:message code="comUtlSysDbm.dbMntrng.dataSourceName" /></label><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력" title="필수입력" width="15" height="15"></th><!-- 데이타소스명 --> + <td width="80%" nowrap class="left"> + <form:input path="dataSourcNm" size="60" maxlength="60" readonly="true" cssClass="readOnlyClass"/> + <div><form:errors path="dataSourcNm" cssClass="error" /></div> + </td> + </tr> + + <tr> + <th width="20%" height="23" class="required_text" nowrap ><label id="IdServerNm" for="serverNm"><spring:message code="comUtlSysDbm.dbMntrng.serverName" /></label><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력" title="필수입력" width="15" height="15"></th><!-- 서버명 --> + <td class="left"> + <form:input path="serverNm" size="60" maxlength="60" /> + <div><form:errors path="serverNm" cssClass="error" /></div> + </td> + </tr> + + <tr> + <th width="20%" height="23" class="required_text" nowrap ><label id="IdDbmsKind" for="dbmsKind"><spring:message code="comUtlSysDbm.dbMntrng.dbms" /></label><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력" title="필수입력" width="15" height="15"></th><!-- DBMS종류 --> + <td class="left"> + <form:select path="dbmsKind"> + <form:option value="" label="--선택하세요--"/> + <form:options items="${dbmsKindList}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <div><form:errors path="dbmsKind" cssClass="error"/></div> + </td> + </tr> + + <tr> + <th width="20%" height="23" class="required_text" nowrap ><label id="IdCeckSql" for="ceckSql"><spring:message code="comUtlSysDbm.dbMntrng.checkSQL" /></label><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력" title="필수입력" width="15" height="15"></th><!-- 체크SQL --> + <td class="left"> + <form:input path="ceckSql" size="60" maxlength="250" cssStyle="width:95%;" /> + <div><form:errors path="ceckSql" cssClass="error" /></div> + </td> + </tr> + + <tr> + <th width="20%" height="23" class="required_text" nowrap ><label id="IdMngrNm" for="mngrNm"><spring:message code="comUtlSysDbm.dbMntrng.managerName" /></label><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력" title="필수입력" width="15" height="15"></th><!-- 관리자명 --> + <td class="left"> + <form:input path="mngrNm" size="60" maxlength="60" /> + <div><form:errors path="mngrNm" cssClass="error" /></div> + </td> + </tr> + <tr> + <th width="20%" height="23" class="required_text" nowrap ><label id="IdMngrEmailAddr" for="mngrEmailAddr"><spring:message code="comUtlSysDbm.dbMntrng.managerEmail" /></label><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력" title="필수입력" width="15" height="15"></th><!-- 관리자이메일주소 --> + <td class="left"> + <form:input path="mngrEmailAddr" size="50" maxlength="50" /> + <div><form:errors path="mngrEmailAddr" cssClass="error" /></div> + </td> + </tr> + + </table> + + <!-- 목록/저장버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.save" />" onclick="fn_egov_save_db_mntrng(); return false;" /> + <input class="s_submit" type="submit" value="<spring:message code="button.list" />" onclick="fn_egov_list_db_mntrng(); return false;" /> + </div> + +</form:form> +</DIV> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngList.jsp (revision 7) @@ -0,0 +1,168 @@ +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comUtlSysDbm.dbMntrngList.title"/></c:set> +<% +/** + * @Class Name : EgovDbMntrngList.jsp + * @Description : DB서비스모니터링 목록조회 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.07.05 김진만 최초 생성 + * + * @author 김진만 + * @since 2010.07.05 + * @version 1.0 + * @see + * + */ +%> + +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle}</title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javascript"> + + function press(event) { + if (event.keyCode==13) { + fn_egov_get_db_mntrng_list('1'); + } + } + + function fn_egov_get_db_mntrng_list(pageNo) { + if (document.frm.searchKeyword.value != "") { + if (document.frm.searchCondition.value == "") { + alert("검색조건을 선택하세요."); + return; + } + } + document.frm.pageIndex.value = pageNo; + document.frm.action = "<c:url value='/utl/sys/dbm/getDbMntrngList.do'/>"; + document.frm.submit(); + } + + function fn_egov_get_db_mntrng(dataSourcNm) { + document.frm.dataSourcNm.value = dataSourcNm; + document.frm.action = "<c:url value='/utl/sys/dbm/getDbMntrng.do'/>"; + document.frm.submit(); + } + /* ******************************************************** + * 등록 처리 함수 + ******************************************************** */ + function fn_egov_regist_db_mntrng(){ + document.frm.action = "<c:url value='/utl/sys/dbm/getDbMntrngForRegist.do'/>"; + document.frm.submit(); + } + + function fn_egov_log_db_mntrng_list(){ + document.frm.action = "<c:url value='/utl/sys/dbm/getDbMntrngLogList.do'/>"; + document.frm.submit(); + } +</script> + +</head> +<body> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="board"> + <h1>${pageTitle}</h1> + + <form name="frm" id="frm" action="<c:url value='/utl/sys/dbm/getDbMntrngList.do'/>" method="post"> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <select name="searchCondition" class="select" title="검색조건구분" > + <option value=''>--<spring:message code="input.select" />--</option> + <option value="0" <c:if test="${searchVO.searchCondition == '0'}">selected="selected"</c:if> ><spring:message code="comUtlSysDbm.dbMntrng.dataSourceName" /></option><!-- 데이타소스명 --> + <option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if> ><spring:message code="comUtlSysDbm.dbMntrng.serverName" /></option><!-- 서버명 --> + <option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if> ><spring:message code="comUtlSysDbm.dbMntrng.managerName" /></option><!-- 관리자명 --> + <option value="3" <c:if test="${searchVO.searchCondition == '3'}">selected="selected"</c:if> ><spring:message code="comUtlSysDbm.dbMntrng.status" /></option><!-- 상태 --> + </select> + <input class="s_input2 vat" name="searchKeyword" type="text" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="35" size="25" onkeypress="press(event);" title="검색키워드" /> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="fn_egov_get_db_mntrng_list('1'); return false;" /> + <span class="btn_b"><a href="<c:url value='/utl/sys/dbm/getDbMntrngForRegist.do'></c:url>" onclick="fn_egov_regist_db_mntrng(); return false;" title='<spring:message code="button.create" />'><spring:message code="button.create" /></a></span> + <span class="btn_b"><a href="<c:url value='/utl/sys/dbm/getDbMntrngLogList.do'/>" onclick="fn_egov_log_db_mntrng_list(); return false;" title="로그">로그</a></span> + </li> + </ul> + </div> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}' default="1"/>"> + <input name="dataSourcNm" type="hidden" value=""> + </form> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:5%" /> + <col style="width:17%" /> + <col style="width:10%" /> + <col style="width:10%" /> + <col style="width:10%" /> + <col style="width:18%" /> + <col style="width:10%" /> + <col style="width:20%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysDbm.dbMntrng.seq" /></th><!-- 순번 --> + <th scope="col"><spring:message code="comUtlSysDbm.dbMntrng.dataSourceName" /></th><!-- 데이타소스명 --> + <th scope="col"><spring:message code="comUtlSysDbm.dbMntrng.serverName" /></th><!-- 서버명 --> + <th scope="col"><spring:message code="comUtlSysDbm.dbMntrng.dbms" /></th><!-- DBMS종류 --> + <th scope="col"><spring:message code="comUtlSysDbm.dbMntrng.managerName" /></th><!-- 관리자명 --> + <th scope="col"><spring:message code="comUtlSysDbm.dbMntrng.managerEmail" /></th><!-- 관리자이메일주소 --> + <th scope="col"><spring:message code="comUtlSysDbm.dbMntrng.status" /></th><!-- 상태 --> + <th scope="col"><spring:message code="comUtlSysDbm.dbMntrng.monitoringDatetime" /></th><!-- 모니터링시각 --> + </tr> + </thead> + <tbody> + <%-- 데이터를 없을때 화면에 메세지를 출력해준다 --%> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="8"> + <spring:message code="common.nodata.msg" /> + </td> + </tr> + </c:if> + <%-- 데이터를 화면에 출력해준다 --%> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td><c:out value="${(searchVO.pageIndex-1) * searchVO.pageSize + status.count}"/></td> + <td> + <form name="item" method="post" action="<c:url value='/utl/sys/dbm/getDbMntrng.do'/>"> + <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"> + <input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>"> + <input type="hidden" name="searchKeyword" value="<c:out value="${searchVO.searchKeyword}"/>"> + <input type="hidden" name="dataSourcNm" value=""> + <span class="link"><input type="submit" value="<c:out value="${resultInfo.dataSourcNm}"/>" onclick="fn_egov_get_db_mntrng('<c:out value="${resultInfo.dataSourcNm}"/>'); return false;" style="text-align : left;"></span> + </form> + </td> + <td>${resultInfo.serverNm}</td> + <td>${resultInfo.dbmsKindNm}</td> + <td>${resultInfo.mngrNm}</td> + <td>${resultInfo.mngrEmailAddr}</td> + <td>${resultInfo.mntrngSttusNm}</td> + <td>${resultInfo.creatDt}</td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_get_db_mntrng_list"/> + </ul> + </div> +</div> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngDetail.jsp (revision 7) @@ -0,0 +1,144 @@ +<%-- + Class Name : EgovDbMntrngDetail.jsp + Description : DB서비스모니터링 상세조회 페이지 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2010.07.07 김진만 최초 생성 + + author : 공통서비스 개발팀 김진만 + since : 2010.07.07 + +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<c:set var="pageTitle"><spring:message code="comUtlSysDbm.dbMntrngDetail.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<title>${pageTitle}</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" > +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javaScript" language="javascript"> + + +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_list(){ + var varForm = document.getElementById("dbMntrngForm"); + varForm.action = "<c:url value='/utl/sys/dbm/getDbMntrngList.do'/>"; + varForm.submit() +} +/* ******************************************************** + * 수정화면으로 바로가기 + ******************************************************** */ +function fn_egov_update_view(){ + var varForm = document.getElementById("dbMntrngForm"); + + varForm.action = "<c:url value='/utl/sys/dbm/getDbMntrngForUpdate.do'/>"; + varForm.submit(); +} +/* ******************************************************** + * 삭제 처리 + ******************************************************** */ + function fn_egov_delete(){ + var vForm = document.dbMntrngForm; + if(confirm("<spring:message code='common.delete.msg' />")){ + vForm.action = "<c:url value='/utl/sys/dbm/deleteDbMntrng.do'/>"; + vForm.submit(); + } +} +</script> +</head> + +<body > + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<DIV class="wTableFrm"> + +<form name="dbMntrngForm" id="dbMntrngForm" action="<c:url value='/utl/sys/dbm/getDbMntrng.do'/>" method="post"> + <input name="dataSourcNm" type="hidden" value="<c:out value='${resultInfo.dataSourcNm}'/>"/> + <!-- 검색조건 유지 --> + <input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>"/> + <input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>"/> + <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}' default='1' />"/> + + <!-- 상단 타이틀 영역 --> + <h2>&nbsp;${pageTitle}</h2> + + <!-- 등록 폼 영역 --> + <table width="100%" border="0" cellpadding="0" cellspacing="1" class="wTable" summary="<spring:message code="comUtlSysDbm.dbMntrngDetail.summary" />"> + <tr> + <th width="20%" height="23" class="required_text" nowrap="nowrap" ><spring:message code="comUtlSysDbm.dbMntrng.dataSourceName" /></th><!-- 데이타소스명 --> + <td width="80%" class="left"> + <c:out value="${resultInfo.dataSourcNm}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysDbm.dbMntrng.serverName" /></th><!-- 서버명 --> + <td class="left"> + <c:out value="${resultInfo.serverNm}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysDbm.dbMntrng.dbms" /></th><!-- DBMS종류 --> + <td class="left"> + <c:out value="${resultInfo.dbmsKindNm}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysDbm.dbMntrng.checkSQL" /></th><!-- 체크SQL --> + <td class="left"> + <c:out value="${resultInfo.ceckSql}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysDbm.dbMntrng.managerName" /></th><!-- 관리자명 --> + <td class="left"> + <c:out value="${resultInfo.mngrNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysDbm.dbMntrng.managerEmail" /></th><!-- 관리자이메일주소 --> + <td class="left"> + <c:out value="${resultInfo.mngrEmailAddr}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysDbm.dbMntrng.status" /></th><!-- 모니터링상태 --> + <td class="left"> + <c:out value="${resultInfo.mntrngSttusNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysDbm.dbMntrng.monitoringDatetime" /></th><!-- 모니터링시각 --> + <td class="left"> + <c:out value="${resultInfo.lastUpdusrPnttm}" escapeXml="false" /> + </td> + </tr> + </table> + + <!-- 목록/저장버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.update" />" onclick="fn_egov_update_view(); return false;" /> + <input class="s_submit" type="submit" value="<spring:message code="button.delete" />" onclick="fn_egov_delete(); return false;" /> + <input class="s_submit" type="submit" value="<spring:message code="button.list" />" onclick="fn_egov_list(); return false;" /> + </div> + +</form> +</DIV> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngLogList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngLogList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngLogList.jsp (revision 7) @@ -0,0 +1,345 @@ +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<c:set var="pageTitle"><spring:message code="comUtlSysDbm.dbMntrngLogList.title"/></c:set> +<% +/** + * @Class Name : EgovDbMntrngLogList.jsp + * @Description : DB서비스모니터링로그 목록조회 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.08.07 김진만 최초 생성 + * @ 2018.08.03 신용호 fn_egov_remove_string을 replace function으로 삭제 + * + * @author 김진만 + * @since 2010.08.07 + * @version 1.0 + * @see + * + */ +%> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle}</title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/cal/EgovCalPopup.js'/>" ></script> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<script type="text/javascript"> + +/* ******************************************************** + * 초기화 + ******************************************************** */ +function fn_egov_init(){ + + var vForm = document.frm; + + if (vForm.searchKeywordFrom.value == "") { + // 조회일자에 현재날짜 세팅 + //vForm.searchStartDate.value = fn_egov_getToday(); + //vForm.searchEndDate.value = fn_egov_getToday(); + //vForm.searchEndHour.options[23].selected = true; + } else { + // 조회조건 지정된 것 설정하기. + // 조회시작일자 + vForm.searchStartDate.value = vForm.searchKeywordFrom.value.substring(0,4) + '-' + vForm.searchKeywordFrom.value.substring(4,6) + '-' + vForm.searchKeywordFrom.value.substring(6,8); + for(i = 0; i < vForm.searchStartHour.options.length; i++) { + if (vForm.searchStartHour.options[i].value == vForm.searchKeywordFrom.value.substring(8,10)) { + vForm.searchStartHour.options[i].selected = true; + break; + } + } + for(i = 0; i < vForm.searchStartMin.options.length; i++) { + if (vForm.searchStartMin.options[i].value == vForm.searchKeywordFrom.value.substring(10,12)) { + vForm.searchStartMin.options[i].selected = true; + break; + } + } + // 조회종료일자 + vForm.searchEndDate.value = vForm.searchKeywordTo.value.substring(0,4) + '-' + vForm.searchKeywordTo.value.substring(4,6) + '-' + vForm.searchKeywordTo.value.substring(6,8); + for(i = 0; i < vForm.searchEndHour.options.length; i++) { + if (vForm.searchEndHour.options[i].value == vForm.searchKeywordTo.value.substring(8,10)) { + vForm.searchEndHour.options[i].selected = true; + break; + } + } + for(i = 0; i < vForm.searchEndMin.options.length; i++) { + if (vForm.searchEndMin.options[i].value == vForm.searchKeywordTo.value.substring(10,12)) { + vForm.searchEndMin.options[i].selected = true; + break; + } + } + } + + $("#searchStartDate").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + + $("#searchEndDate").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + vForm.searchKeyword.focus(); + +} + +/* ******************************************************** + * 현재날짜 가져오기 + ******************************************************** */ +function fn_egov_getToday(){ + + var today = new Date(); + var currentYear = today.getYear(); + var currentMonth = (today.getMonth()+1).toString(); + var currentDay = today.getDate().toString(); + + var currentToday = currentYear + "-" + fn_egov_getLpad(2,currentMonth) + "-" + fn_egov_getLpad(2,currentDay); + + return currentToday; +} + +/* ******************************************************** + * LPAD 처리 + ******************************************************** */ +function fn_egov_getLpad(rtnSize, sourceStr) +{ + rtnStr = sourceStr; + + for( i= sourceStr.length; i<parseInt(rtnSize); i++) + rtnStr = "0" + rtnStr; + + return rtnStr; +} + +function press(event) { + if (event.keyCode==13) { + fn_egov_get_db_mntrng_log_list('1'); + } +} + +function fn_egov_get_db_mntrng_log_list(pageNo) { + + if (document.frm.searchKeyword.value != "") { + if (document.frm.searchCondition.value == "") { + alert("검색조건을 선택하세요."); + return; + } + } + /* 폼전송 데이타 조립. */ + var startDate = ""; + var endDate = ""; + if (document.frm.searchStartDate.value != "") { + startDate = document.frm.searchStartDate.value; + startDate = startDate.replace(/-/gi,""); + } + if (document.frm.searchEndDate.value != "") { + endDate = document.frm.searchEndDate.value; + endDate = endDate.replace(/-/gi,""); + } + document.frm.searchKeywordFrom.value = startDate + document.frm.searchStartHour.value + document.frm.searchStartMin.value; + document.frm.searchKeywordTo.value = endDate + document.frm.searchEndHour.value + document.frm.searchEndMin.value; + + /* + 검색조건 체크 + */ + + if (document.frm.searchStartDate.value != "" || document.frm.searchEndDate.value != "") { + if (document.frm.searchStartDate.value == "") { + alert("검색시작일자를 입력하세요"); + return ; + } + if (document.frm.searchEndDate.value == "") { + alert("검색종료일자를 입력하세요"); + return ; + } + if(isDate(document.frm.searchStartDate.value, "조회시작일자") == false) { + return; + } + + if(isDate(document.frm.searchEndDate.value, "조회종료일자") == false) { + return; + } + if(document.frm.searchKeywordFrom.value > document.frm.searchKeywordTo.value) { + alert("검색종료시각가 검색시작시각보다 빠를수 없습니다."); + return ; + } + } + + + document.frm.pageIndex.value = pageNo; + document.frm.action = "<c:url value='/utl/sys/dbm/getDbMntrngLogList.do'/>"; + document.frm.submit(); +} + +function fn_egov_get_db_mntrng_log(logId) { + document.frm.logId.value = logId; + document.frm.action = "<c:url value='/utl/sys/dbm/getDbMntrngLog.do'/>"; + document.frm.submit(); +} + +function fn_egov_select_db_mntrng(){ + document.frm.action = "<c:url value='/utl/sys/dbm/getDbMntrngList.do'/>"; + document.frm.submit(); +} +</script> + +</head> +<body onLoad="fn_egov_init();"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="board"> + <h1>${pageTitle}</h1> + + <form name="frm" id="frm" action="<c:url value='/utl/sys/dbm/getDbMntrngLogList.do'/>" method="post"> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <select name="searchCondition" class="select" title="검색조건구분"> + <option value=''>--<spring:message code="input.select" />--</option> + <option value="0" <c:if test="${searchVO.searchCondition == '0'}">selected="selected"</c:if> ><spring:message code="comUtlSysDbm.dbMntrng.dataSourceName" /></option><!-- 데이타소스명 --> + <option value="1" <c:if test="${searchVO.searchCondition == '1'}">selected="selected"</c:if> ><spring:message code="comUtlSysDbm.dbMntrng.serverName" /></option><!-- 서버명 --> + <option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if> ><spring:message code="comUtlSysDbm.dbMntrng.managerName" /></option><!-- 관리자명 --> + </select> + <input class="s_input2 vat" name="searchKeyword" type="text" value='<c:out value="${searchVO.searchKeyword}"/>' onkeypress="press(event);" title="검색키워드" style="width:60px" /> + + + <label for=""><spring:message code="comUtlSysDbm.dbMntrng.period" /> : </label><!-- 기간 --> + <input type="hidden" name="cal_url" id="cal_url" value="<c:url value='/sym/cal/EgovNormalCalPopup.do'/>" > + <input type="text" name="searchStartDate" id="searchStartDate" title="<spring:message code="comUtlSysDbm.dbMntrng.searchStartDate" />" style="width:70px; margin-right:-9px"><!-- 검색시작일자 --> + <select name="searchStartHour" id="searchStartHour" title="<spring:message code="comUtlSysDbm.dbMntrng.searchStartHour" />"><!-- 검색시작시간 --> + <option value=""><spring:message code="input.cSelect" /></option><!-- 선택 --> + <c:forEach var="h" begin="1" end="24" step="1"> + <option value="<fmt:formatNumber value="${h}" pattern="00"/>"><fmt:formatNumber value="${h}" pattern="00"/></option> + </c:forEach> + </select> + : + <select name="searchStartMin" id="searchStartMin" title="<spring:message code="comUtlSysDbm.dbMntrng.searchStartMin" />"><!-- 검색시작분 --> + <option value=""><spring:message code="input.cSelect" /></option> + <c:forEach var="h" begin="0" end="59" step="1"> + <option value="<fmt:formatNumber value="${h}" pattern="00"/>"><fmt:formatNumber value="${h}" pattern="00"/></option> + </c:forEach> + </select> + ~ + <input type="text" name="searchEndDate" id="searchEndDate" title="<spring:message code="comUtlSysDbm.dbMntrng.searchEndDate" />" style="width:70px; margin-right:-9px"><!-- 검색종료일자 --> + <select name="searchEndHour" id="searchEndHour" title="<spring:message code="comUtlSysDbm.dbMntrng.searchEndHour" />"><!-- 검색종료시간 --> + <option value=""><spring:message code="input.cSelect" /></option> + <c:forEach var="h" begin="1" end="24" step="1"> + <option value="<fmt:formatNumber value="${h}" pattern="00"/>"><fmt:formatNumber value="${h}" pattern="00"/></option> + </c:forEach> + </select> + : + <select name="searchEndMin" id="searchEndMin" title="<spring:message code="comUtlSysDbm.dbMntrng.searchEndMin" />"><!-- 검색종료분 --> + <option value=""><spring:message code="input.cSelect" /></option> + <c:forEach var="h" begin="0" end="59" step="1"> + <option value="<fmt:formatNumber value="${h}" pattern="00"/>"><fmt:formatNumber value="${h}" pattern="00"/></option> + </c:forEach> + </select> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="fn_egov_get_db_mntrng_log_list('1'); return false;" /> + <span class="btn_b"><a href="<c:url value='/utl/sys/dbm/getDbMntrngList.do'/>" onclick="fn_egov_select_db_mntrng(); return false;" title="<spring:message code="button.list" />"><spring:message code="button.list" /></a></span> + </li> + </ul> + </div> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}' default="1"/>"> + <input name="searchKeywordFrom" type="hidden" value="<c:out value='${searchVO.searchKeywordFrom}'/>"> + <input name="searchKeywordTo" type="hidden" value="<c:out value='${searchVO.searchKeywordTo}'/>"> + <input name="logId" type="hidden" value=""> + </form> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:20%" /> + <col style="width:10%" /> + <col style="width:10%" /> + <col style="width:10%" /> + <col style="width:20%" /> + <col style="width:10%" /> + <col style="width:20%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysDbm.dbMntrng.dataSourceName" /></th><!-- 데이타소스명 --> + <th scope="col"><spring:message code="comUtlSysDbm.dbMntrng.serverName" /></th><!-- 서버명 --> + <th scope="col"><spring:message code="comUtlSysDbm.dbMntrng.dbms" /></th><!-- DBMS종류 --> + <th scope="col"><spring:message code="comUtlSysDbm.dbMntrng.managerName" /></th><!-- 관리자명 --> + <th scope="col"><spring:message code="comUtlSysDbm.dbMntrng.managerEmail" /></th><!-- 관리자이메일주소 --> + <th scope="col"><spring:message code="comUtlSysDbm.dbMntrng.status" /></th><!-- 상태 --> + <th scope="col"><spring:message code="comUtlSysDbm.dbMntrng.monitoringDatetime" /></th><!-- 모니터링시각 --> + </tr> + </thead> + <tbody> + <%-- 데이터를 없을때 화면에 메세지를 출력해준다 --%> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="7"> + <spring:message code="common.nodata.msg" /> + </td> + </tr> + </c:if> + <%-- 데이터를 화면에 출력해준다 --%> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td> + <form name="item" method="post" action="<c:url value='/utl/sys/dbm/getDbMntrngLog.do'/>"> + <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"> + <input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>"> + <input type="hidden" name="searchKeyword" value="<c:out value="${searchVO.searchKeyword}"/>"> + <input type="hidden" name="logId" value="<c:out value="${resultInfo.logId}"/>"> + <span class="link"><input type="submit" value="<c:out value="${resultInfo.dataSourcNm}"/>" onclick="fn_egov_get_db_mntrng_log('<c:out value="${resultInfo.logId}"/>'); return false;" style="text-align : left;"></span> + </form> + </td> + <td>${resultInfo.serverNm}</td> + <td class="lt_text3" nowrap>${resultInfo.dbmsKindNm}</td> + <td>${resultInfo.mngrNm}</td> + <td>${resultInfo.mngrEmailAddr}</td> + <td>${resultInfo.mntrngSttusNm}</td> + <td>${resultInfo.creatDt}</td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_get_db_mntrng_log_list"/> + </ul> + </div> +</div> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngLogList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngRegist.jsp (revision 7) @@ -0,0 +1,142 @@ +<%-- + Class Name : EgovDbMntrngRegist.jsp + Description : DB서비스모니터링 등록 페이지 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2010.07.07 김진만 최초 생성 + + author : 공통서비스 개발팀 김진만 + since : 2010.07.07 + +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUtlSysDbm.dbMntrngRegist.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="content-type" content="text/html; charset=utf-8" > +<title>${pageTitle}</title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/cal/EgovCalPopup.js' />"></script> +<validator:javascript formName="dbMntrng" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript"> + + +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_get_db_mntrng_list(){ + var varForm = document.getElementById("dbMntrng"); + varForm.action = "<c:url value='/utl/sys/dbm/getDbMntrngList.do'/>"; + varForm.submit() +} +/* ******************************************************** + * 저장처리화면 + ******************************************************** */ +function fn_egov_save_db_mntrng(){ + var varForm = document.getElementById("dbMntrng"); + varForm.action = "<c:url value='/utl/sys/dbm/addDbMntrng.do'/>"; + if(confirm("<spring:message code='common.save.msg' />")){ + + if(!validateDbMntrng(varForm)){ + return; + }else{ + varForm.submit(); + } + } +} + +</script> +</head> +<body> + +<%-- noscript 테그 --%> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form:form commandName="dbMntrng" action="<c:url value='/utl/sys/dbm/addDbMntrng.do'/>" method="post"> + +<!-- 검색조건 유지 --> +<input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>"/> +<input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>"/> +<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}' default='1' />"/> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle}</h2> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysDbm.dbMntrng.dataSourceName" /> <span class="pilsu">*</span></th><!-- 데이타소스명 --> + <td class="left"> + <form:input path="dataSourcNm" size="60" maxlength="60"/> + <form:errors path="dataSourcNm" cssClass="error" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysDbm.dbMntrng.serverName" /> <span class="pilsu">*</span></th><!-- 서버명 --> + <td class="left"> + <form:input path="serverNm" size="60" maxlength="60"/> + <form:errors path="serverNm" cssClass="error" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysDbm.dbMntrng.dbms" /> <span class="pilsu">*</span></th><!-- DBMS종류 --> + <td class="left"> + <form:select path="dbmsKind"> + <form:option value="" label="--선택하세요--"/> + <form:options items="${dbmsKindList}" itemValue="code" itemLabel="codeNm"/> + </form:select> + <form:errors path="dbmsKind" cssClass="error"/> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysDbm.dbMntrng.checkSQL" /> <span class="pilsu">*</span></th><!-- 체크SQL --> + <td class="left"> + <form:input path="ceckSql" size="60" maxlength="250"/> + <form:errors path="ceckSql" cssClass="error" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysDbm.dbMntrng.managerName" /> <span class="pilsu">*</span></th><!-- 관리자명 --> + <td class="left"> + <form:input path="mngrNm" size="60" maxlength="60"/> + <form:errors path="mngrNm" cssClass="error" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysDbm.dbMntrng.managerEmail" /> <span class="pilsu">*</span></th><!-- 관리자이메일주소 --> + <td class="left"> + <form:input path="mngrEmailAddr" size="50" maxlength="50"/> + <form:errors path="mngrEmailAddr" cssClass="error" /> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.save" />' onclick="fn_egov_save_db_mntrng(); return false;" /> + <span class="btn_s"><a href="<c:url value='/utl/sys/dbm/getDbMntrngList.do'></c:url>" onclick="fn_egov_get_db_mntrng_list(); return false;"><spring:message code="button.list" /></a></span> + </div> + <div style="clear:both;"></div> +</div> + +</form:form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngLogDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngLogDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngLogDetail.jsp (revision 7) @@ -0,0 +1,138 @@ +<%-- + Class Name : EgovDbMntrngLogDetail.jsp + Description : DB서비스모니터링로그 상세조회 페이지 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2010.08.07 김진만 최초 생성 + + author : 공통서비스 개발팀 김진만 + since : 2010.08.07 + +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> + +<%pageContext.setAttribute("crlf", "\r\n"); %> +<c:set var="pageTitle"><spring:message code="comUtlSysDbm.dbMntrngLogDetail.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<title>${pageTitle}</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" > +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javaScript" language="javascript"> + + +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_list(){ + var varForm = document.getElementById("dbMntrngLogForm"); + varForm.action = "<c:url value='/utl/sys/dbm/getDbMntrngLogList.do'/>"; + varForm.submit() +} +</script> +</head> + +<body > + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<DIV class="wTableFrm"> + +<form name="dbMntrngLogForm" id="dbMntrngLogForm" action="<c:url value='/utl/sys/dbm/getDbMntrngLog.do'/>" method="post"> + <input name="logId" type="hidden" value="<c:out value='${resultInfo.logId}'/>"/> + <!-- 검색조건 유지 --> + <input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>"/> + <input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>"/> + <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}' default='1' />"/> + <input type="hidden" name="searchKeywordFrom" value="<c:out value='${searchVO.searchKeywordFrom}'/>"> + <input type="hidden" name="searchKeywordTo" value="<c:out value='${searchVO.searchKeywordTo}'/>"> + + <!-- 상단 타이틀 영역 --> + <h2>&nbsp;${pageTitle}</h2> + + <!-- 등록 폼 영역 --> + <table width="100%" border="0" cellpadding="0" cellspacing="1" class="wTable" summary="<spring:message code="comUtlSysDbm.dbMntrngLogDetail.summary" />"><!-- 등록된 DB서비스모니터링로그에 대한 상세정보를 제공합니다. --> + <tr> + <th width="20%" height="23" class="required_text" nowrap="nowrap" ><spring:message code="comUtlSysDbm.dbMntrng.logID" /></th><!-- 로그ID --> + <td width="80%" class="left"> + <c:out value="${resultInfo.logId}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th width="20%" height="23" class="required_text" nowrap="nowrap" ><spring:message code="comUtlSysDbm.dbMntrng.dataSourceName" /></th><!-- 데이타소스명 --> + <td width="80%" class="left"> + <c:out value="${resultInfo.dataSourcNm}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysDbm.dbMntrng.serverName" /></th><!-- 서버명 --> + <td class="left"> + <c:out value="${resultInfo.serverNm}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysDbm.dbMntrng.dbms" /></th><!-- DBMS종류 --> + <td class="left"> + <c:out value="${resultInfo.dbmsKindNm}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysDbm.dbMntrng.checkSQL" /></th><!-- 체크SQL --> + <td class="left"> + <c:out value="${resultInfo.ceckSql}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysDbm.dbMntrng.managerName" /></th><!-- 관리자명 --> + <td class="left"> + <c:out value="${resultInfo.mngrNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysDbm.dbMntrng.managerEmail" /></th><!-- 관리자이메일주소 --> + <td class="left"> + <c:out value="${resultInfo.mngrEmailAddr}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysDbm.dbMntrng.status" /></th><!-- 모니터링상태 --> + <td class="left"> + <c:out value="${resultInfo.mntrngSttusNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysDbm.dbMntrng.logInfo" /></th><!-- 로그정보 --> + <td class="left"> + <c:out value="${resultInfo.logInfo}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysDbm.dbMntrng.monitoringDatetime" /></th><!-- 모니터링시각 --> + <td class="left"> + <c:out value="${resultInfo.creatDt}" escapeXml="false" /> + </td> + </tr> + </table> + + <!-- 목록버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.list" />" onclick="fn_egov_list(); return false;" /> + </div> +</form> +</DIV> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/dbm/EgovDbMntrngLogDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngUpdt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngUpdt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngUpdt.jsp (revision 7) @@ -0,0 +1,159 @@ +<%-- + Class Name : EgovTrsmrcvMntrngUpdate.jsp + Description : 송수신모니터링 수정 페이지 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2010.07.22 김진만 최초 생성 + + author : 공통서비스 개발팀 김진만 + since : 2010.07.22 + +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<c:set var="pageTitle"><spring:message code="comUtlSysTrm.trsmrcvMntrngUpdt.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<title>${pageTitle}</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" > +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<validator:javascript formName="trsmrcvMntrng" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript"> + + +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_get_list(){ + var varForm = document.getElementById("trsmrcvMntrng"); + varForm.action = "<c:url value='/utl/sys/trm/getTrsmrcvMntrngList.do'/>"; + varForm.submit() +} +/* ******************************************************** + * 저장처리화면 + ******************************************************** */ +function fn_egov_save(){ + var varForm = document.getElementById("trsmrcvMntrng"); + + if(confirm("<spring:message code='common.save.msg' />")){ + varForm.action = "<c:url value='/utl/sys/trm/updateTrsmrcvMntrng.do'/>"; + + if(!validateTrsmrcvMntrng(varForm)){ + return; + }else{ + varForm.submit(); + } + } +} + +</script> +</head> +<body> +<%-- noscript 태그 --%> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> +<div class="wTableFrm"> +<!-- 상단타이틀 --> +<form:form commandName="trsmrcvMntrng" id="trsmrcvMntrng" action="<c:url value='/utl/sys/trm/updateTrsmrcvMntrng.do'/>" method="post"> + + <!-- 검색조건 유지 --> + <input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>"/> + <input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>"/> + <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}' default='1' />"/> + + <input type="hidden" name="cntcId" value="<c:out value='${trsmrcvMntrng.cntcId}'/>"/> + <input type="hidden" name="mntrngSttus" value="<c:out value='${trsmrcvMntrng.mntrngSttus}'/>"/> + <!-- 상단 타이틀 영역 --> + <h2>&nbsp;${pageTitle}</h2> + + <!-- 등록 폼 영역 --> + <table width="100%" border="0" cellpadding="0" cellspacing="1" class="wTable" summary="<spring:message code="comUtlSysTrm.trsmrcvMntrngUpdt.summary" />"><!-- 송수신모니터링 수정기능을 제공한다. --> + <tr> + <th width="20%" height="23" class="required_text" nowrap ><spring:message code="comUtlSysTrm.trsmrcvMntrng.interOperationID" /></th><!-- 연계ID --> + <td width="80%" nowrap class="left"> + <c:out value="${trsmrcvMntrng.cntcId}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.interOperationName" /></th><!-- 연계명 --> + <td class="left"> + <c:out value="${trsmrcvMntrng.cntcNm}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.provider" /></th><!-- 제공기관 --> + <td class="left"> + <c:out value="${trsmrcvMntrng.provdInsttNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.provideSystem" /></th><!-- 제공시스템 --> + <td class="left"> + <c:out value="${trsmrcvMntrng.provdSysNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.service" /></th><!-- 제공서비스 --> + <td class="left"> + <c:out value="${trsmrcvMntrng.provdSvcNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.requester" /></th><!-- 요청기관 --> + <td class="left"> + <c:out value="${trsmrcvMntrng.requstInsttNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.requestSystem" /></th><!-- 요청시스템 --> + <td class="left"> + <c:out value="${trsmrcvMntrng.requstSysNm}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th width="20%" height="23" class="required_text" nowrap ><label id="idTestClassNm" for="testClassNm"><spring:message code="comUtlSysTrm.trsmrcvMntrng.testClassName" /></label><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력" title="필수입력" width="15" height="15"></th><!-- 테스트클래스명 --> + <td class="left"> + <form:input path="testClassNm" size="100" maxlength="255" /> + <form:errors path="testClassNm" cssClass="error" /> + </td> + </tr> + + <tr> + <th width="20%" height="23" class="required_text" nowrap ><label id="IdMngrNm" for="mngrNm"><spring:message code="comUtlSysTrm.trsmrcvMntrng.managerName" /></label><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력" title="필수입력" width="15" height="15"></th><!-- 관리자명 --> + <td class="left"> + <form:input path="mngrNm" size="60" maxlength="60"/> + <form:errors path="mngrNm" cssClass="error" /> + </td> + </tr> + <tr> + <th width="20%" height="23" class="required_text" nowrap ><label id="IdMngrEmailAddr" for="mngrEmailAddr"><spring:message code="comUtlSysTrm.trsmrcvMntrng.managerEmail" /></label><img src="<c:url value='/images/egovframework/com/cmm/icon/required.gif'/>" alt="필수입력" title="필수입력" width="15" height="15"></th><!-- 관리자이메일주소 --> + <td class="left"> + <form:input path="mngrEmailAddr" size="50" maxlength="50"/> + <form:errors path="mngrEmailAddr" cssClass="error" /> + </td> + </tr> + </table> + <!-- 목록/저장버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.save" />" onclick="fn_egov_save(); return false;" /> + <input class="s_submit" type="submit" value="<spring:message code="button.list" />" onclick="fn_egov_get_list(); return false;" /> + </div> +</form:form> +</DIV> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngUpdt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngLogDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngLogDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngLogDetail.jsp (revision 7) @@ -0,0 +1,160 @@ +<%-- + Class Name : EgovTrsmrcvMntrngLogDetail.jsp + Description : 송수신모니터링로그 상세조회 페이지 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2010.08.17 김진만 최초 생성 + + author : 공통서비스 개발팀 김진만 + +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<c:set var="pageTitle"><spring:message code="comUtlSysTrm.trsmrcvMntrngLogDetail.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<title>${pageTitle}</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" > +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javaScript" language="javascript"> + + +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_list(){ + var varForm = document.getElementById("trsmrcvMntrngLogForm"); + varForm.action = "<c:url value='/utl/sys/trm/getTrsmrcvMntrngLogList.do'/>"; + varForm.submit() +} +</script> +</head> + +<body > + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<DIV class="wTableFrm"> + +<form name="trsmrcvMntrngLogForm" id="trsmrcvMntrngLogForm" action="<c:url value='/utl/sys/trm/getTrsmrcvMntrngLogList.do'/>" method="post"> + <input name="cntcId" type="hidden" value="<c:out value='${resultInfo.cntcId}'/>"/> + <!-- 검색조건 유지 --> + <input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>"/> + <input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>"/> + <input type="hidden" name="searchKeywordFrom" value="<c:out value='${searchVO.searchKeywordFrom}'/>"> + <input type="hidden" name="searchKeywordTo" value="<c:out value='${searchVO.searchKeywordTo}'/>"> + <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}' default='1' />"/> + + <!-- 상단 타이틀 영역 --> + <h2>&nbsp;${pageTitle}</h2> + + <!-- 등록 폼 영역 --> + <table width="100%" border="0" cellpadding="0" cellspacing="1" class="wTable" summary="<spring:message code="comUtlSysTrm.trsmrcvMntrngLogDetail.summary" />"> + <tr> + <th width="20%" height="23" class="required_text" nowrap="nowrap" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.logID" /></th><!-- 로그ID --> + <td width="80%" class="left"> + <c:out value="${resultInfo.logId}" escapeXml="false" /> + </td> + </tr> + <tr> + <th width="20%" height="23" class="required_text" nowrap="nowrap" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.interOperationID" /></th><!-- 연계ID --> + <td width="80%" class="left"> + <c:out value="${resultInfo.cntcId}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.interOperationName" /></th><!-- 연계명 --> + <td class="left"> + <c:out value="${resultInfo.cntcNm}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.provider" /></th><!-- 제공기관 --> + <td class="left"> + <c:out value="${resultInfo.provdInsttNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.provideSystem" /></th><!-- 제공시스템 --> + <td class="left"> + <c:out value="${resultInfo.provdSysNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.service" /></th><!-- 제공서비스 --> + <td class="left"> + <c:out value="${resultInfo.provdSvcNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.requester" /></th><!-- 요청기관 --> + <td class="left"> + <c:out value="${resultInfo.requstInsttNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.requestSystem" /></th><!-- 요청시스템 --> + <td class="left"> + <c:out value="${resultInfo.requstSysNm}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.testClassName" /></th><!-- 테스트클래스명 --> + <td class="left"> + <c:out value="${resultInfo.testClassNm}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.managerName" /></th><!-- 관리자명 --> + <td class="left"> + <c:out value="${resultInfo.mngrNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.managerEmail" /></th><!-- 관리자이메일주소 --> + <td class="left"> + <c:out value="${resultInfo.mngrEmailAddr}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.status" /></th><!-- 모니터링상태 --> + <td class="left"> + <c:out value="${resultInfo.mntrngSttusNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.logInfo" /></th><!-- 로그정보 --> + <td class="left"> + <c:out value="${resultInfo.logInfo}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.monitoringDateTime" /></th><!-- 모니터링시각 --> + <td class="left"> + <c:out value="${resultInfo.creatDt}" escapeXml="false" /> + </td> + </tr> + </table> + + <!-- 목록/저장버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.list" />" onclick="fn_egov_list(); return false;" /> + </div> + +</form> +</DIV> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngLogDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngList.jsp (revision 7) @@ -0,0 +1,179 @@ +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="pageTitle"><spring:message code="comUtlSysTrm.trsmrcvMntrngList.title"/></c:set> +<% +/** + * @Class Name : EgovTrsmrcvMntrngList.jsp + * @Description : 송수신모니터링 목록조회 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.07.19 김진만 최초 생성 + * + * @author 김진만 + * @since 2010.07.19 + * @version 1.0 + * @see + * + */ +%> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle}</title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javascript"> + + function press(event) { + if (event.keyCode==13) { + fn_egov_get_list('1'); + } + } + + function fn_egov_get_list(pageNo) { + if (document.frm.searchKeyword.value != "") { + if (document.frm.searchCondition.value == "") { + alert("검색조건을 선택하세요."); + return; + } + } + document.frm.pageIndex.value = pageNo; + document.frm.action = "<c:url value='/utl/sys/trm/getTrsmrcvMntrngList.do'/>"; + document.frm.submit(); + } + + function fn_egov_get_detail_view(cntcId) { + document.frm.cntcId.value = cntcId; + document.frm.action = "<c:url value='/utl/sys/trm/getTrsmrcvMntrng.do'/>"; + document.frm.submit(); + } + /* ******************************************************** + * 등록 처리 함수 + ******************************************************** */ + function fn_egov_get_regist_view(){ + document.frm.action = "<c:url value='/utl/sys/trm/getTrsmrcvMntrngForRegist.do'/>"; + document.frm.submit(); + } + + function fn_egov_log_mntrng_list(){ + document.frm.action = "<c:url value='/utl/sys/trm/getTrsmrcvMntrngLogList.do'/>"; + document.frm.submit(); + } +</script> + +</head> +<body> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="board"> + <h1>${pageTitle}</h1> + + <form name="frm" id="frm" action="<c:url value='/utl/sys/trm/getTrsmrcvMntrngList.do'/>" method="post"> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <select name="searchCondition" class="select" title="검색조건"> + <option value=''>--<spring:message code="input.select" />--</option><!-- 선택하세요 --> + <option value="0" <c:if test="${searchVO.searchCondition == '0'}">selected="selected"</c:if> ><spring:message code="comUtlSysTrm.trsmrcvMntrng.interOperationName" /></option><!-- 연계명 --> + <option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if> ><spring:message code="comUtlSysTrm.trsmrcvMntrng.managerName" /></option><!-- 관리자명 --> + <option value="3" <c:if test="${searchVO.searchCondition == '3'}">selected="selected"</c:if> ><spring:message code="comUtlSysTrm.trsmrcvMntrng.status" /></option><!-- 상태 --> + </select> + <input class="s_input2 vat" name="searchKeyword" type="text" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="35" size="25" onkeypress="press(event);" title="검색키워드" /> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="fn_egov_get_list('1'); return false;" /> + <span class="btn_b"><a href="<c:url value='/utl/sys/trm/getTrsmrcvMntrngForRegist.do'/>" onclick="fn_egov_get_regist_view(); return false;" title='<spring:message code="button.create" />'><spring:message code="button.create" /></a></span> + <span class="btn_b"><a href="<c:url value='/utl/sys/trm/getTrsmrcvMntrngLogList.do'/>" onclick="fn_egov_log_mntrng_list(); return false;" title="<spring:message code="button.log" />"><spring:message code="button.log" /></a></span> + </li> + </ul> + </div> + + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}' default='1' />"> + <input name="cntcId" type="hidden" value=""> + + </form> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:10%" /> + <col style="width:15%" /> + <col style="width:27%" /> + <col style="width:10%" /> + <col style="width:20%" /> + <col style="width:18%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.interOperationID" /></th><!-- 연계ID --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.interOperationName" /></th><!-- 연계명 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.testClassName" /></th><!-- 테스트클래스명 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.managerName" /></th><!-- 관리자명 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.managerEmail" /></th><!-- 관리자이메일주소 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.monitoringDateTime" /></th><!-- 모니터링시각 --> + </tr> + <tr> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.provider" /></th><!-- 제공기관 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.provideSystem" /></th><!-- 제공시스템 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.service" /></th><!-- 제공서비스 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.requester" /></th><!-- 요청기관 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.requestSystem" /></th><!-- 요청시스템 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.status" /></th><!-- 상태 --> + </tr> + </thead> + <tbody> + <%-- 데이터를 없을때 화면에 메세지를 출력해준다 --%> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="6"> + <spring:message code="common.nodata.msg" /> + </td> + </tr> + </c:if> + <%-- 데이터를 화면에 출력해준다 --%> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td>${resultInfo.cntcId}</td> + <td> + <form name="item" method="post" action="/utl/sys/trm/getTrsmrcvMntrng.do"> + <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"> + <input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>"> + <input type="hidden" name="searchKeyword" value="<c:out value="${searchVO.searchKeyword}"/>"> + <input type="hidden" name="dataSourcNm" value=""> + <span class="link"><input type="submit" value="<c:out value="${resultInfo.cntcNm}"/>" onclick="fn_egov_get_detail_view('<c:out value="${resultInfo.cntcId}"/>'); return false;"></span> + </form> + </td> + <td>${resultInfo.testClassNm}</td> + <td>${resultInfo.mngrNm}</td> + <td>${resultInfo.mngrEmailAddr}</td> + <td>${resultInfo.creatDt}</td> + </tr> + <tr> + <td>${resultInfo.provdInsttNm}</td> + <td>${resultInfo.provdSysNm}</td> + <td>${resultInfo.provdSvcNm}</td> + <td>${resultInfo.requstInsttNm}</td> + <td>${resultInfo.requstSysNm}</td> + <td>${resultInfo.mntrngSttusNm}</td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_get_list"/> + </ul> + </div> + +</div> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovCntcListPopup.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovCntcListPopup.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovCntcListPopup.jsp (revision 7) @@ -0,0 +1,158 @@ +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<% +/** + * @Class Name : EgovCntcListPopup.jsp + * @Description : 연계 목록조회 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ---------- -------- --------------------------- + * @ 2010.07.22 김진만 최초 생성 + * @ 2020.06.30 신용호 화면 오류 수정 + * + * @author 김진만 + * @since 2010.07.22 + * @version 1.0 + * @see + * + */ +%> + +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>연계 조회</title> +<link href="<c:url value="/css/egovframework/com/com.css"/>" rel="stylesheet" type="text/css"> +<link href="<c:url value="/css/egovframework/com/button.css"/>" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/cmm/showModalDialogCallee.js'/>" ></script> +<script type="text/javascript"> + + function press(event) { + if (event.keyCode==13) { + fn_egov_get_list('1'); + } + } + + function fn_egov_get_list(pageNo) { + if (document.frm.searchKeyword.value != "") { + if (document.frm.searchCondition.value == "") { + alert("검색조건을 선택하세요."); + return; + } + } + document.frm.pageIndex.value = pageNo; + document.frm.action = "<c:url value='/utl/sys/trm/getCntcList.do'/>"; + document.frm.submit(); + } + + // 팝업검색 결과를 호출자에게 리턴하고 화면을 닫는다. + function fn_egov_return_cntc(cntcId, cntcNm, provdInsttNm, provdSysNm, provdSvcNm, requstInsttNm, requstSysNm) { + getDialogArguments(); + var opener = parent.window.dialogArguments; + + opener.document.getElementById("cntcId").value = cntcId; + opener.document.getElementById("cntcNm").value = cntcNm; + opener.document.getElementById("provdInsttNm").innerHTML = provdInsttNm; + opener.document.getElementById("provdSysNm").innerHTML = provdSysNm; + opener.document.getElementById("provdSvcNm").innerHTML = provdSvcNm; + opener.document.getElementById("requstInsttNm").innerHTML = requstInsttNm; + opener.document.getElementById("requstSysNm").innerHTML = requstSysNm; + + setReturnValue(true); + parent.window.returnValue = true; + parent.window.close(); + } + +</script> + +</head> +<body> + +<noscript class="noScriptTitle">자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다.</noscript> + +<div class="board"> + <h1>연계 조회</h1> + + <div class="search_box" title="이 레이아웃은 하단 정보를 대한 검색 정보로 구성되어 있습니다."> + <ul> + <li> + <select name="searchCondition" class="select" title="검색조건"> + <option value=''>--선택하세요--</option> + <option value="0" <c:if test="${searchVO.searchCondition == '0'}">selected="selected"</c:if> >연계명</option> + </select> + <input class="s_input2 vat" name="searchKeyword" type="text" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="35" size="35" onkeypress="press(event);" title="검색조건" /> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="fn_egov_get_list('1'); return false;" /> + </li> + </ul> + </div> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:15%" /> + <col style="width:15%" /> + <col style="width:15%" /> + <col style="width:20%" /> + <col style="width:15%" /> + <col style="width:15%" /> + <col style="width:5%" /> + + </colgroup> + <thead> + <tr> + <th scope="col">연계명</th> + <th scope="col">제공기관</th> + <th scope="col">제공시스템</th> + <th scope="col">제공서비스</th> + <th scope="col">요청기관</th> + <th scope="col">요청시스템</th> + <th scope="col">&nbsp;</th> + </tr> + </thead> + <tbody> + <%-- 데이터를 없을때 화면에 메세지를 출력해준다 --%> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="7"> + <spring:message code="common.nodata.msg" /> + </td> + </tr> + </c:if> + <%-- 데이터를 화면에 출력해준다 --%> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td>${resultInfo.cntcNm}</td> + <td>${resultInfo.provdInsttNm}</td> + <td>${resultInfo.provdSysNm}</td> + <td>${resultInfo.provdSvcNm}</td> + <td>${resultInfo.requstInsttNm}</td> + <td>${resultInfo.requstSysNm}</td> + <td> + <input class="btn01" type="submit" value="선택" + onclick="fn_egov_return_cntc('<c:out value="${resultInfo.cntcId}"/>', '<c:out value="${resultInfo.cntcNm}"/>', + '<c:out value="${resultInfo.provdInsttNm}"/>', '<c:out value="${resultInfo.provdSysNm}"/>', + '<c:out value="${resultInfo.provdSvcNm}"/>', '<c:out value="${resultInfo.requstInsttNm}"/>', + '<c:out value="${resultInfo.requstSysNm}"/>'); return false;"> + </td> + + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_get_list"/> + </ul> + </div> +</div> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovCntcListPopup.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngDetail.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngDetail.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngDetail.jsp (revision 7) @@ -0,0 +1,171 @@ +<%-- + Class Name : EgovTrsmrcvMntrngDetail.jsp + Description : 송수신모니터링 상세조회 페이지 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2010.07.22 김진만 최초 생성 + + author : 공통서비스 개발팀 김진만 + since : 2010.07.22 + +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%pageContext.setAttribute("crlf", "\r\n"); %> +<c:set var="pageTitle"><spring:message code="comUtlSysTrm.trsmrcvMntrngDetail.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<title>${pageTitle}</title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" > +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javaScript" language="javascript"> + + +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_list(){ + var varForm = document.getElementById("Form"); + varForm.action = "<c:url value='/utl/sys/trm/getTrsmrcvMntrngList.do'/>"; + varForm.submit() +} +/* ******************************************************** + * 수정화면으로 바로가기 + ******************************************************** */ +function fn_egov_update_view(){ + var varForm = document.getElementById("Form"); + + varForm.action = "<c:url value='/utl/sys/trm/getTrsmrcvMntrngForUpdate.do'/>"; + varForm.submit(); +} +/* ******************************************************** + * 삭제 처리 + ******************************************************** */ + function fn_egov_delete(){ + var vForm = document.Form; + if(confirm("<spring:message code='common.delete.msg' />")){ + vForm.action = "<c:url value='/utl/sys/trm/deleteTrsmrcvMntrng.do'/>"; + vForm.submit(); + } +} +</script> +</head> + +<body > + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<DIV class="wTableFrm"> + +<form name="Form" id="Form" action="<c:url value='/utl/sys/trm/getTrsmrcvMntrng.do'/>" method="post"> + <input name="cntcId" type="hidden" value="<c:out value='${resultInfo.cntcId}'/>"/> + <!-- 검색조건 유지 --> + <input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>"/> + <input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>"/> + <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}' default='1' />"/> + + <!-- 상단 타이틀 영역 --> + <h2>&nbsp;${pageTitle}</h2> + + <!-- 등록 폼 영역 --> + <table width="700" border="0" cellpadding="0" cellspacing="1" class="wTable" + summary="<spring:message code="comUtlSysTrm.trsmrcvMntrngDetail.summary" />"><!-- 등록된 송수신모니터링에 대한 상세정보를 제공합니다. --> + <caption>${pageTitle}</caption> + <tr> + <th height="23" class="required_text" nowrap="nowrap" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.interOperationID" /></th><!-- 연계ID --> + <td class="left"> + <c:out value="${resultInfo.cntcId}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.interOperationName" /></th><!-- 연계명 --> + <td class="left"> + <c:out value="${resultInfo.cntcNm}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.provider" /></th><!-- 제공기관 --> + <td class="left"> + <c:out value="${resultInfo.provdInsttNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.provideSystem" /></th><!-- 제공시스템 --> + <td class="left"> + <c:out value="${resultInfo.provdSysNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.service" /></th><!-- 제공서비스 --> + <td class="left"> + <c:out value="${resultInfo.provdSvcNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.requester" /></th><!-- 요청기관 --> + <td class="left"> + <c:out value="${resultInfo.requstInsttNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.requestSystem" /></th><!-- 요청시스템 --> + <td class="left"> + <c:out value="${resultInfo.requstSysNm}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.testClassName" /></th><!-- 테스트클래스명 --> + <td class="left"> + <c:out value="${resultInfo.testClassNm}" escapeXml="false" /> + </td> + </tr> + + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.managerName" /></th><!-- 관리자명 --> + <td class="left"> + <c:out value="${resultInfo.mngrNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.managerEmail" /></th><!-- 관리자이메일주소 --> + <td class="left"> + <c:out value="${resultInfo.mngrEmailAddr}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.status" /></th><!-- 모니터링상태 --> + <td class="left"> + <c:out value="${resultInfo.mntrngSttusNm}" escapeXml="false" /> + </td> + </tr> + <tr> + <th height="23" class="required_text" ><spring:message code="comUtlSysTrm.trsmrcvMntrng.monitoringDateTime" /></th><!-- 모니터링시각 --> + <td class="left"> + <c:out value="${resultInfo.creatDt}" escapeXml="false" /> + </td> + </tr> + </table> + + <!-- 목록/저장버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value="<spring:message code="button.update" />" onclick="fn_egov_update_view(); return false;" /> + <input class="s_submit" type="submit" value="<spring:message code="button.delete" />" onclick="fn_egov_delete(); return false;" /> + <input class="s_submit" type="submit" value="<spring:message code="button.list" />" onclick="fn_egov_list(); return false;" /> + </div> + + +</form> +</DIV> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngDetail.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovCntcListPopupFrame.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovCntcListPopupFrame.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovCntcListPopupFrame.jsp (revision 7) @@ -0,0 +1,38 @@ +<%-- + Class Name : EgovCntcListPopupFrame.jsp + Description : 연계정보 목록 조회를 위한 Frame화면 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2010.07.22 김진만 최초 생성 + + author : 공통서비스 개발팀 김진만 + since : 2010.07.22 + +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<c:set var="imgUrl" value="/images/egovframework/com/cmm/"/> +<c:set var="cssUrl" value="/css/egovframework/com/"/> +<html lang="ko"> +<head> +<title></title> +<meta http-equiv="content-type" content="text/html; charset=utf-8" /> +<link type="text/css" rel="stylesheet" href="${cssUrl}com.css" /> +<script type="text/javaScript" language="javascript"> + +</script> +</head> +<body> +<DIV id="content" style="width:775px"> +<!-- iframe --> +<iframe title="연계목록" id="cntcPopupFrame" src="<c:url value='/utl/sys/trm/getCntcList.do' />" width="100%" height="475px" frameborder="0" scrolling="no" marginwidth="0" marginheight="0" > +</iframe> +</DIV> +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovCntcListPopupFrame.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngRegist.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngRegist.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngRegist.jsp (revision 7) @@ -0,0 +1,180 @@ +<%-- + Class Name : EgovTrsmrcvMntrngRegist.jsp + Description : 송수신모니터링 등록 페이지 + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2010.07.22 김진만 최초 생성 + + author : 공통서비스 개발팀 김진만 + since : 2010.07.22 + +--%> +<%@ page contentType="text/html; charset=utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> +<c:set var="pageTitle"><spring:message code="comUtlSysTrm.trsmrcvMntrngRegist.title"/></c:set> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="content-type" content="text/html; charset=utf-8" > +<title>${pageTitle}</title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<script type="text/javascript" src="<c:url value="/validator.do"/>"></script> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/cal/EgovCalPopup.js' />"></script> +<validator:javascript formName="trsmrcvMntrng" staticJavascript="false" xhtml="true" cdata="false"/> +<script type="text/javaScript" language="javascript"> + + +/* ******************************************************** + * 목록 으로 가기 + ******************************************************** */ +function fn_egov_get_list(){ + var varForm = document.getElementById("trsmrcvMntrng"); + varForm.action = "<c:url value='/utl/sys/trm/getTrsmrcvMntrngList.do' />"; + varForm.submit() +} +/* ******************************************************** + * 저장처리화면 + ******************************************************** */ +function fn_egov_save(){ + var varForm = document.getElementById("trsmrcvMntrng"); + varForm.action = "<c:url value='/utl/sys/trm/addTrsmrcvMntrng.do' />"; + + if(!validateTrsmrcvMntrng(varForm)){ + return; + }else{ + if(confirm("<spring:message code='common.save.msg' />")){ + varForm.submit(); + } + } + +} + +/* ******************************************************** +* 연계검색 팝업화면 +******************************************************** */ +function fn_egov_popup_cntc_list(){ + + var retVal; + var url = "<c:url value='/utl/sys/trm/getCntcListPopup.do' />"; + var openParam = "dialogWidth: 850px; dialogHeight: 360px; resizable: 0, scroll: 1, center: 1"; + + retVal = window.showModalDialog(url,window,openParam); + +} + +function showModalDialogCallback(retVal) { +} + +</script> +</head> +<body> + +<%-- noscript 테그 --%> +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<form:form commandName="trsmrcvMntrng" id="trsmrcvMntrng" action="" method="post"> + +<!-- 검색조건 유지 --> +<input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>"> +<input type="hidden" name="searchKeyword" value="<c:out value='${searchVO.searchKeyword}'/>"> +<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}' default='1' />"> + +<div class="wTableFrm"> + <!-- 타이틀 --> + <h2>${pageTitle}</h2> + + <!-- 등록폼 --> + <table class="wTable"> + <colgroup> + <col style="width:20%" /> + <col style="" /> + </colgroup> + <tr> + <th><spring:message code="comUtlSysTrm.trsmrcvMntrng.interOperationID" /> <span class="pilsu">*</span></th><!-- 연계ID --> + <td class="left"> + <form:input path="cntcId" maxlength="8" readonly="true" cssClass="readOnlyClass" cssStyle="width:128px"/> + <form:errors path="cntcId" cssClass="error" /> + <a href="#LINK" onclick="fn_egov_popup_cntc_list(); return false;"><img src="<c:url value='/images/egovframework/com/cmm/icon/search2.gif' />" alt="<spring:message code="comUtlSysTrm.trsmrcvMntrng.interOperationPopup" />"/></a><!-- 연계정보조회팝업 제공 --> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysTrm.trsmrcvMntrng.interOperationName" /> <span class="pilsu">*</span></th><!-- 연계명 --> + <td class="left"> + <form:input path="cntcNm" size="60" maxlength="100" readonly="true" cssClass="readOnlyClass"/> + <form:errors path="cntcNm" cssClass="error" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysTrm.trsmrcvMntrng.provider" /></th><!-- 제공기관 --> + <td class="left"> + <label id="provdInsttNm"><c:out value="${resultInfo.provdInsttNm}" escapeXml="false" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysTrm.trsmrcvMntrng.provideSystem" /></th><!-- 제공시스템 --> + <td class="left"> + <label id="provdSysNm"><c:out value="${resultInfo.provdSysNm}" escapeXml="false" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysTrm.trsmrcvMntrng.service" /></th><!-- 제공서비스 --> + <td class="left"> + <label id="provdSvcNm"><c:out value="${resultInfo.provdSvcNm}" escapeXml="false" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysTrm.trsmrcvMntrng.requester" /></th><!-- 요청기관 --> + <td class="left"> + <label id="requstInsttNm"><c:out value="${resultInfo.requstInsttNm}" escapeXml="false" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysTrm.trsmrcvMntrng.requestSystem" /></th><!-- 요청시스템 --> + <td class="left"> + <label id="requstSysNm"><c:out value="${resultInfo.requstSysNm}" escapeXml="false" /></label> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysTrm.trsmrcvMntrng.testClassName" /> <span class="pilsu">*</span></th><!-- 테스트클래스명 --> + <td class="left"> + <form:input path="testClassNm" size="100" maxlength="255"/> + <form:errors path="testClassNm" cssClass="error" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysTrm.trsmrcvMntrng.managerName" /> <span class="pilsu">*</span></th><!-- 관리자명 --> + <td class="left"> + <form:input path="mngrNm" size="60" maxlength="60"/> + <form:errors path="mngrNm" cssClass="error" /> + </td> + </tr> + <tr> + <th><spring:message code="comUtlSysTrm.trsmrcvMntrng.managerEmail" /> <span class="pilsu">*</span></th><!-- 관리자이메일주소 --> + <td class="left"> + <form:input path="mngrEmailAddr" size="50" maxlength="50"/> + <form:errors path="mngrEmailAddr" cssClass="error" /> + </td> + </tr> + </table> + + <!-- 하단 버튼 --> + <div class="btn"> + <input class="s_submit" type="submit" value='<spring:message code="button.save" />' onclick="fn_egov_save(); return false;" /> + <span class="btn_s"><a href="<c:url value='/utl/sys/trm/getTrsmrcvMntrngList.do'/>" onclick="fn_egov_get_list(); return false;"><spring:message code="button.list" /></a></span> + </div> + <div style="clear:both;"></div> +</div> + +</form:form> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngRegist.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngLogList.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngLogList.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngLogList.jsp (revision 7) @@ -0,0 +1,349 @@ +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<c:set var="pageTitle"><spring:message code="comUtlSysTrm.trsmrcvMntrngLogList.title"/></c:set> +<% +/** + * @Class Name : EgovTrsmrcvMntrngLogList.jsp + * @Description : 송수신모니터링로그 목록조회 + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2010.08.17 김진만 최초 생성 + * @ 2018.08.03 신용호 fn_egov_remove_string을 replace function으로 삭제 + * + * @author 김진만 + * @version 1.0 + * @see + * + */ +%> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<title>${pageTitle}</title> +<link href="<c:url value='/css/egovframework/com/com.css' />" rel="stylesheet" type="text/css"> +<link href="<c:url value='/css/egovframework/com/button.css' />" rel="stylesheet" type="text/css"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script type="text/javascript" src="<c:url value='/js/egovframework/com/sym/cal/EgovCalPopup.js'/>" ></script> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<script type="text/javascript"> +/* ******************************************************** + * 초기화 + ******************************************************** */ + function fn_egov_init(){ + + var vForm = document.frm; + + if (vForm.searchKeywordFrom.value == "") { + // 조회일자에 현재날짜 세팅 + //alert("빈문자열입니다. "); + //vForm.searchStartDate.value = fn_egov_getToday(); + //vForm.searchEndDate.value = fn_egov_getToday(); + //vForm.searchEndHour.options[23].selected = true; + } else { + // 조회조건 지정된 것 설정하기. + // 조회시작일자 + vForm.searchStartDate.value = vForm.searchKeywordFrom.value.substring(0,4) + '-' + vForm.searchKeywordFrom.value.substring(4,6) + '-' + vForm.searchKeywordFrom.value.substring(6,8); + for(i = 0; i < vForm.searchStartHour.options.length; i++) { + if (vForm.searchStartHour.options[i].value == vForm.searchKeywordFrom.value.substring(8,10)) { + vForm.searchStartHour.options[i].selected = true; + break; + } + } + for(i = 0; i < vForm.searchStartMin.options.length; i++) { + if (vForm.searchStartMin.options[i].value == vForm.searchKeywordFrom.value.substring(10,12)) { + vForm.searchStartMin.options[i].selected = true; + break; + } + } + // 조회종료일자 + vForm.searchEndDate.value = vForm.searchKeywordTo.value.substring(0,4) + '-' + vForm.searchKeywordTo.value.substring(4,6) + '-' + vForm.searchKeywordTo.value.substring(6,8); + for(i = 0; i < vForm.searchEndHour.options.length; i++) { + if (vForm.searchEndHour.options[i].value == vForm.searchKeywordTo.value.substring(8,10)) { + vForm.searchEndHour.options[i].selected = true; + break; + } + } + for(i = 0; i < vForm.searchEndMin.options.length; i++) { + if (vForm.searchEndMin.options[i].value == vForm.searchKeywordTo.value.substring(10,12)) { + vForm.searchEndMin.options[i].selected = true; + break; + } + } + } + + $("#searchStartDate").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + + $("#searchEndDate").datepicker( + {dateFormat:'yy-mm-dd' + , showOn: 'button' + , buttonImage: '<c:url value='/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif'/>' + , buttonImageOnly: true + + , showMonthAfterYear: true + , showOtherMonths: true + , selectOtherMonths: true + + , changeMonth: true // 월선택 select box 표시 (기본은 false) + , changeYear: true // 년선택 selectbox 표시 (기본은 false) + , showButtonPanel: true // 하단 today, done 버튼기능 추가 표시 (기본은 false) + }); + + vForm.searchKeyword.focus(); + + +} + +/* ******************************************************** + * 현재날짜 가져오기 + ******************************************************** */ +function fn_egov_getToday(){ + + var today = new Date(); + var currentYear = today.getYear(); + var currentMonth = (today.getMonth()+1).toString(); + var currentDay = today.getDate().toString(); + + var currentToday = currentYear + "-" + fn_egov_getLpad(2,currentMonth) + "-" + fn_egov_getLpad(2,currentDay); + + return currentToday; +} + +/* ******************************************************** + * LPAD 처리 + ******************************************************** */ +function fn_egov_getLpad(rtnSize, sourceStr) +{ + rtnStr = sourceStr; + + for( i= sourceStr.length; i<parseInt(rtnSize); i++) + rtnStr = "0" + rtnStr; + + return rtnStr; +} + +function press(event) { + if (event.keyCode==13) { + fn_egov_get_list('1'); + } +} + +function fn_egov_get_list(pageNo) { + + if (document.frm.searchKeyword.value != "") { + if (document.frm.searchCondition.value == "") { + alert("검색조건을 선택하세요."); + return; + } + } + /* 폼전송 데이타 조립. */ + var startDate = ""; + var endDate = ""; + if (document.frm.searchStartDate.value != "") { + startDate = document.frm.searchStartDate.value; + startDate = startDate.replace(/-/gi,""); + } + if (document.frm.searchEndDate.value != "") { + endDate = document.frm.searchEndDate.value; + endDate = endDate.replace(/-/gi,""); + } + document.frm.searchKeywordFrom.value = startDate + document.frm.searchStartHour.value + document.frm.searchStartMin.value; + document.frm.searchKeywordTo.value = endDate + document.frm.searchEndHour.value + document.frm.searchEndMin.value; + /* + 검색조건 체크 + */ + if (document.frm.searchKeywordFrom.value != "" || document.frm.searchKeywordTo.value != "") { + if (document.frm.searchKeywordFrom.value == "") { + alert("검색시작일자를 입력하세요"); + return ; + } + if (document.frm.searchKeywordTo.value == "") { + alert("검색종료일자를 입력하세요"); + return ; + } + if(document.frm.searchKeywordFrom.value > document.frm.searchKeywordTo.value) { + alert("검색종료시각이 검색시작시각보다 빠를수 없습니다."); + return ; + } + } + + document.frm.pageIndex.value = pageNo; + document.frm.action = "<c:url value='/utl/sys/trm/getTrsmrcvMntrngLogList.do'/>"; + document.frm.submit(); +} + +function fn_egov_get_detail_view(logId) { + document.frm.logId.value = logId; + document.frm.action = "<c:url value='/utl/sys/trm/getTrsmrcvMntrngLog.do'/>"; + document.frm.submit(); +} + +function fn_egov_select_mntrng(){ + document.frm.action = "<c:url value='/utl/sys/trm/getTrsmrcvMntrngList.do'/>"; + document.frm.submit(); +} +</script> + +</head> +<body onLoad="fn_egov_init();"> + +<noscript class="noScriptTitle"><spring:message code="common.noScriptTitle.msg" /></noscript> + +<div class="board"> + <h1>${pageTitle}</h1> + + <form name="frm" id="frm" action="<c:url value='/utl/sys/trm/getTrsmrcvMntrngLogList.do'/>" method="post"> + <div class="search_box" title="<spring:message code="common.searchCondition.msg" />"> + <ul> + <li> + <select name="searchCondition" class="select" title="검색조건구분"> + <option value=''>--<spring:message code="input.select" />--</option> + <option value="0" <c:if test="${searchVO.searchCondition == '0'}">selected="selected"</c:if> ><spring:message code="comUtlSysTrm.trsmrcvMntrng.interOperationName" /></option><!-- 연계명 --> + <option value="2" <c:if test="${searchVO.searchCondition == '2'}">selected="selected"</c:if> ><spring:message code="comUtlSysTrm.trsmrcvMntrng.managerName" /></option><!-- 관리자명 --> + </select> + <input class="s_input2 vat" name="searchKeyword" type="text" value='<c:out value="${searchVO.searchKeyword}"/>' maxlength="35" onkeypress="press(event);" title="검색키워드" style="width:72px"/> + + <label for="">기간 : </label> + <input type="hidden" name="cal_url" id="cal_url" value="<c:url value='/sym/cal/EgovNormalCalPopup.do'/>" > + <input type="text" name="searchStartDate" id="searchStartDate" title="검색시작일자" style="width:70px" readonly="readonly" /> + <select name="searchStartHour" id="searchStartHour" title="검색시작시간"> + <option value="">선택</option> + <c:forEach var="h" begin="1" end="24" step="1"> + <option value="<fmt:formatNumber value="${h}" pattern="00"/>"><fmt:formatNumber value="${h}" pattern="00"/></option> + </c:forEach> + </select> + : + <select name="searchStartMin" id="searchStartMin" title="검색시작분"> + <option value="">선택</option> + <c:forEach var="h" begin="0" end="59" step="1"> + <option value="<fmt:formatNumber value="${h}" pattern="00"/>"><fmt:formatNumber value="${h}" pattern="00"/></option> + </c:forEach> + </select> + ~ + <input type="text" name="searchEndDate" id="searchEndDate" title="검색종료일자" style="width:70px" readonly="readonly" /> + <select name="searchEndHour" id="searchEndHour" title="검색종료시간"> + <option value="">선택</option> + <c:forEach var="h" begin="1" end="24" step="1"> + <option value="<fmt:formatNumber value="${h}" pattern="00"/>"><fmt:formatNumber value="${h}" pattern="00"/></option> + </c:forEach> + </select> + : + <select name="searchEndMin" id="searchEndMin" title="검색종료분"> + <option value="">선택</option> + <c:forEach var="h" begin="0" end="59" step="1"> + <option value="<fmt:formatNumber value="${h}" pattern="00"/>"><fmt:formatNumber value="${h}" pattern="00"/></option> + </c:forEach> + </select> + + <input class="s_btn" type="submit" value='<spring:message code="button.inquire" />' title='<spring:message code="button.inquire" />' onclick="fn_egov_get_list('1'); return false;" /> + <span class="btn_b"><a href="<c:url value='/utl/sys/trm/getTrsmrcvMntrngList.do'/>" onclick="fn_egov_select_mntrng(); return false;" title="<spring:message code="button.list" />"><spring:message code="button.list" /></a></span> + </li> + </ul> + </div> + <input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}' default='1' />"> + <input name="searchKeywordFrom" type="hidden" value="<c:out value='${searchVO.searchKeywordFrom}'/>"> + <input name="searchKeywordTo" type="hidden" value="<c:out value='${searchVO.searchKeywordTo}'/>"> + <input name="logId" type="hidden" value=""> + </form> + + <table class="board_list"> + <caption></caption> + <colgroup> + <col style="width:10%" /> + <col style="width:15%" /> + <col style="width:27%" /> + <col style="width:10%" /> + <col style="width:20%" /> + <col style="width:18%" /> + </colgroup> + <thead> + <tr> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.interOperationID" /></th><!-- 연계ID --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.interOperationName" /></th><!-- 연계명 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.testClassName" /></th><!-- 테스트클래스명 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.managerName" /></th><!-- 관리자명 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.managerEmail" /></th><!-- 관리자이메일주소 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.monitoringDateTime" /></th><!-- 모니터링시각 --> + </tr> + <tr> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.provider" /></th><!-- 제공기관 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.provideSystem" /></th><!-- 제공시스템 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.service" /></th><!-- 제공서비스 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.requester" /></th><!-- 요청기관 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.requestSystem" /></th><!-- 요청시스템 --> + <th scope="col"><spring:message code="comUtlSysTrm.trsmrcvMntrng.status" /></th><!-- 상태 --> + </tr> + </thead> + <tbody> + <%-- 데이터를 없을때 화면에 메세지를 출력해준다 --%> + <c:if test="${fn:length(resultList) == 0}"> + <tr> + <td colspan="6"> + <spring:message code="common.nodata.msg" /> + </td> + </tr> + </c:if> + <%-- 데이터를 화면에 출력해준다 --%> + <c:forEach items="${resultList}" var="resultInfo" varStatus="status"> + <tr> + <td>${resultInfo.cntcId}</td> + <td> + <form name="item" method="post" action="/utl/sys/trm/getTrsmrcvMntrngLog.do"> + <input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>"> + <input type="hidden" name="searchCondition" value="<c:out value='${searchVO.searchCondition}'/>"> + <input type="hidden" name="searchKeyword" value="<c:out value="${searchVO.searchKeyword}"/>"> + <input type="hidden" name="searchKeywordFrom" value="<c:out value='${searchVO.searchKeywordFrom}'/>"> + <input type="hidden" name="searchKeywordTo" value="<c:out value='${searchVO.searchKeywordTo}'/>"> + <input type="hidden" name="logid" value="<c:out value="${resultInfo.logId}"/>"> + <span class="link"><input type="submit" value="<c:out value="${resultInfo.cntcNm}"/>" onclick="fn_egov_get_detail_view('<c:out value="${resultInfo.logId}"/>'); return false;"></span> + </form> + </td> + <td>${resultInfo.testClassNm}</td> + <td>${resultInfo.mngrNm}</td> + <td>${resultInfo.mngrEmailAddr}</td> + <td nowrap="nowrap">${resultInfo.creatDt}</td> + </tr> + <tr> + <td>${resultInfo.provdInsttNm}</td> + <td>${resultInfo.provdSysNm}</td> + <td>${resultInfo.provdSvcNm}</td> + <td>${resultInfo.requstInsttNm}</td> + <td>${resultInfo.requstSysNm}</td> + <td>${resultInfo.mntrngSttusNm}</td> + </tr> + </c:forEach> + </tbody> + </table> + + <!-- paging navigation --> + <div class="pagination"> + <ul> + <ui:pagination paginationInfo="${paginationInfo}" type="image" jsFunction="fn_egov_get_list"/> + </ul> + </div> +</div> + + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/sys/trm/EgovTrsmrcvMntrngLogList.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/cal/EgovCalendar.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/cal/EgovCalendar.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/cal/EgovCalendar.jsp (revision 7) @@ -0,0 +1,64 @@ +<% + /** + * @Class Name : EgovCalendar.jsp + * @Description : 캘린더 JSP + * @Modification Information + * @ + * @ 수정일 수정자 수정내용 + * @ ------- -------- --------------------------- + * @ 2016.07.13 장동한 최초 생성 + * + * @author 2016 표준프레임워크유지보수 장동한 + * @since 2016.07.13 + * @version 1.0 + * @see + * + */ +%> +<%@ page language="java" contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %> +<!DOCTYPE html> +<html> +<head> +<meta charset="UTF-8"> +<title>calendar</title> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />"> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/cmm/jqueryui.css' />"> +<script src="<c:url value='/js/egovframework/com/cmm/jquery.js' />"></script> +<script src="<c:url value='/js/egovframework/com/cmm/jqueryui.js' />"></script> +<script> + $(function() { + $( "#datepicker" ).datepicker({ + showMonthAfterYear: true, + showOtherMonths: true, + selectOtherMonths: true, + dateFormat: "yy-mm-dd" + }); + }); + +/* + $(function() { + $( "#datepicker" ).datepicker({ + showMonthAfterYear: true, + //yearSuffix: "년", + //monthNames: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], + //dayNamesMin: ["일", "월", "화", "수", "목", "금", "토"], + showOtherMonths: true, + selectOtherMonths: true, + dateFormat: "yy-mm-dd" + }); + }); +*/ +</script> + + +</head> +<body> +<p>Date: <input type="text" id="datepicker" value="2016-07-16"></p> + +</body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/cal/EgovCalendar.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/pao/EgovErncslOutpt.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/pao/EgovErncslOutpt.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/pao/EgovErncslOutpt.jsp (revision 7) @@ -0,0 +1,134 @@ +<%-- + Filename : ComUtlPaoErncslOutpt.jsp + Description : 전자관인 출력 TEST JSP + Modification Information + + 수정일 수정자 수정내용 + ------- -------- --------------------------- + 2008.02.26 이중호 최초 생성 + + author : 이중호 + since : 2009.02.26 + +--%> +<%@ page language="java" contentType="text/html; charset=UTF-8" session="false" %> +<%@page import="egovframework.com.utl.pao.service.EgovPrntngOutpt" %> +<%@page import="java.util.*" %> +<%@page import="java.io.*" %> +<%@page import="javax.imageio.*" %> +<%@page import="java.awt.*" %> +<%@page import="java.awt.image.*" %> + +<link href="/css/egovframework/com/cmm/utl/com.css" rel="stylesheet" type="text/css"> + +<% +// 준비화면, 실행결과 출력화면의 구분 +String execFlag = request.getParameter("execFlag"); +String CmdStr = "ComUtlPaoErncslOutpt"; +if(execFlag==null || execFlag.equals("")) { + execFlag="READY"; +} +%> + +<% +if(!execFlag.equals("EgovPrntngOutpt")){ +%> + +<!-- 준비화면 시작--> +<form name="ready" action ="/utl/pao/EgovPrntngOutpt.do" method="post"> +<input type = "hidden" name="execFlag" value="EgovPrntngOutpt"> +<input type = "hidden" name="cmdStr" value="<%=CmdStr%>"> +<table border="1"> + <tr> + <td> + 기능설명: + </td> + <td> + 전자관인 출력<br> + </td> + </tr> + <tr> + <td> + 테스트: + </td> + <td> + 기관코드:10, 관인구분:1 로 관인이미지 확인 + </td> + </tr> + <tr> + <td> + 기관코드 (10): + </td> + <td> <input type = "text" name="sOrgCode" size=10> + </td> + </tr> + <tr> + <td> + 관인구분 (1): + </td> + <td> <input type = "text" name="sErncslSe" size=2><input type = "button" method="post" value="실행!" onclick="ready.submit()"> + </td> + </tr> + +</table> +</form> +<!-- 준비화면 끝 --> +<% +} +%> + +<% +if(execFlag.equals("EgovPrntngOutpt")){ +%> +<% +//실행결과 출력화면인 경우 결과정보 확인 - util 형태로 바로 확인 +String sOrgCode = request.getParameter("sOrgCode"); +String sErncslSe = request.getParameter("sErncslSe"); + +%> + +<!-- 결과화면 시작 --> +<form name="result" action ="/utl/pao/EgovPrntngOutpt.do"> +<input type = "hidden" name="execFlag" value="READY"> +<input type = "hidden" name="cmdStr" value="<%=CmdStr%>"> +<table border="1"> + <tr> + <td>기관코드 : (<c:out value="${sOrgCode}"/>) + </td> + </tr> + <tr> + <td>관인구분 : (<c:out value="${sErncslSe}"/>) + </td> + </tr> + <tr> + <td> + <img src="/utl/pao/EgovErncsl.do?sOrgCode=<c:out value="${sOrgCode}"/>&sErncslSe=<c:out value="${sErncslSe}"/>"> + </td> + </tr> +</table> +<br> +<input type = "button" method="post" value="테스트로 돌아가기" onclick="result.submit()"> +</form> +<!-- 결과화면 끝 --> +<% +} +%> + + +<%-- +테스트를 위한 테이블 정보 + +DROP TABLE IMGTEMP; + +CREATE TABLE IMGTEMP ( + ORG_CODE VARCHAR(7) NULL, + ERNCSL_SE VARCHAR(2) NULL, + IMG_INFO MEDIUMBLOB NOT NULL, + IMG_TYPE VARCHAR(16) NULL +); + +ALTER TABLE IMGTEMP +ADD PRIMARY KEY (ORG_CODE,ERNCSL_SE) +; + +--%> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/utl/pao/EgovErncslOutpt.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/main_head.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/main_head.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/main_head.jsp (revision 7) @@ -0,0 +1,66 @@ +<%@ 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="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<link type="text/css" rel="stylesheet" href="<c:url value='/css/egovframework/com/main_portal.css' />"> +<!DOCTYPE html> +<html lang="ko"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>HeadMenu</title> +<script type="text/javascript"> +var getContextPath = "${pageContext.request.contextPath}"; +</script> +<script language="javascript" src="<c:url value='/js/egovframework/com/main.js' />"></script> +<script type="text/javascript"> + function fn_main_headPageMove(menuNo, url){ + document.selectOne.vStartP.value=menuNo; + document.selectOne.chkURL.value=url; + document.selectOne.action = "<c:url value='/sym/mnu/mpm/EgovMainMenuLeft.do'/>"; + document.selectOne.target = "main_left"; + document.selectOne.submit(); + document.selectOne.action = "<c:url value='/sym/mnu/mpm/EgovMainMenuRight.do'/>"; + document.selectOne.target = "main_right"; + document.selectOne.submit(); + } + + function actionLogout() + { + document.selectOne.action = "<c:url value='/uat/uia/actionLogout.do'/>"; + document.selectOne.target = "_top"; + document.selectOne.submit(); + //top.document.location.href = "<c:url value='/j_spring_security_logout'/>"; + } +</script> +</head> +<body leftmargin="0" topmargin="0" marginwidth="0" marginheight= "0"> +<link rel="stylesheet" type="text/css" href="<c:url value='/css/egovframework/com/common.css' />" /> +<link rel="stylesheet" href="<c:url value='/css/egovframework/com/com.css' />" type="text/css" /> +<form name="selectOne"> +<input name="vStartP" type="hidden" /> +<input name="chkURL" type="hidden" /> +</form> + + <div id="gnb"> + <div id="top_logo"><a href="<c:url value='/sym/mnu/mpm/EgovMainMenuHome.do' />" target=_top><img src="<c:url value='/images/egovframework/com/cmm/main/logo_01.gif' />" alt="egovframe" /></a></div> + <div id="use_descri"> + <ul> + <li>공통서비스 테스트 사이트</li> + <li><a href="javascript:actionLogout()"><img src="<c:url value='/images/egovframework/com/cmm/main/logout_btn.gif' />" alt="로그아웃" /></a></li> + </ul> + </div> + </div> + <div id="new_topnavi"> + <ul> + <li><a href="<c:url value='/sym/mnu/mpm/EgovMainMenuHome.do' />" target="_top">HOME</a></li> + <c:forEach var="result" items="${list_headmenu}" varStatus="status"> + <li class="gap"> l </li> + <li><a href="javascript:fn_main_headPageMove('<c:out value="${result.menuNo}"/>','<c:out value="${result.chkURL}"/>')"><c:out value="${result.menuNm}"/></a></li> + </c:forEach> + </ul> + </div> + + +</body> +</html> Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/egovframework/com/main_head.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/index.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/index.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/index.jsp (revision 7) @@ -0,0 +1,4 @@ +<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%--<jsp:forward page="/sym/mms/EgovMainMenuHome.do"/>--%> +<%--<jsp:forward page="WEB-INF/jsp/egovframework/com/cmm/EgovUnitMain.jsp"/>--%> +<jsp:forward page="/EgovContent.do"/> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/index.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/jsp/blank.jsp =================================================================== --- base3.10/src/main/webapp/WEB-INF/jsp/blank.jsp (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/jsp/blank.jsp (revision 7) @@ -0,0 +1 @@ +<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/jsp/blank.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/tlds/egovc.tld =================================================================== --- base3.10/src/main/webapp/WEB-INF/tlds/egovc.tld (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/tlds/egovc.tld (revision 7) @@ -0,0 +1,552 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<taglib xmlns="http://java.sun.com/xml/ns/j2ee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" + version="2.0"> + + <description>Egov CrossSite Tag Replace Special Html Code Convert(JSTL 1.1 core library 기반)</description> + <display-name>Egov JSTL core</display-name> + <tlib-version>1.1</tlib-version> + <short-name>egovc</short-name> + <tag> + <description> + Catches any Throwable that occurs in its body and optionally + exposes it. + </description> + <name>catch</name> + <tag-class>org.apache.taglibs.standard.tag.common.core.CatchTag</tag-class> + <body-content>JSP</body-content> + <attribute> + <description> +Name of the exported scoped variable for the +exception thrown from a nested action. The type of the +scoped variable is the type of the exception thrown. + </description> + <name>var</name> + <required>false</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + </tag> + + <tag> + <description> + Simple conditional tag that establishes a context for + mutually exclusive conditional operations, marked by + &lt;when&gt; and &lt;otherwise&gt; + </description> + <name>choose</name> + <tag-class>org.apache.taglibs.standard.tag.common.core.ChooseTag</tag-class> + <body-content>JSP</body-content> + </tag> + + <tag> + <description> + Simple conditional tag, which evalutes its body if the + supplied condition is true and optionally exposes a Boolean + scripting variable representing the evaluation of this condition + </description> + <name>if</name> + <tag-class>org.apache.taglibs.standard.tag.rt.core.IfTag</tag-class> + <body-content>JSP</body-content> + <attribute> + <description> +The test condition that determines whether or +not the body content should be processed. + </description> + <name>test</name> + <required>true</required> + <rtexprvalue>true</rtexprvalue> + <type>boolean</type> + </attribute> + <attribute> + <description> +Name of the exported scoped variable for the +resulting value of the test condition. The type +of the scoped variable is Boolean. + </description> + <name>var</name> + <required>false</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + <attribute> + <description> +Scope for var. + </description> + <name>scope</name> + <required>false</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + </tag> + + <tag> + <description> + Retrieves an absolute or relative URL and exposes its contents + to either the page, a String in 'var', or a Reader in 'varReader'. + </description> + <name>import</name> + <tag-class>org.apache.taglibs.standard.tag.rt.core.ImportTag</tag-class> + <tei-class>org.apache.taglibs.standard.tei.ImportTEI</tei-class> + <body-content>JSP</body-content> + <attribute> + <description> +The URL of the resource to import. + </description> + <name>url</name> + <required>true</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + <attribute> + <description> +Name of the exported scoped variable for the +resource's content. The type of the scoped +variable is String. + </description> + <name>var</name> + <required>false</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + <attribute> + <description> +Scope for var. + </description> + <name>scope</name> + <required>false</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + <attribute> + <description> +Name of the exported scoped variable for the +resource's content. The type of the scoped +variable is Reader. + </description> + <name>varReader</name> + <required>false</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + <attribute> + <description> +Name of the context when accessing a relative +URL resource that belongs to a foreign +context. + </description> + <name>context</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + <attribute> + <description> +Character encoding of the content at the input +resource. + </description> + <name>charEncoding</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + </tag> + + <tag> + <description> + The basic iteration tag, accepting many different + collection types and supporting subsetting and other + functionality + </description> + <name>forEach</name> + <tag-class>org.apache.taglibs.standard.tag.rt.core.ForEachTag</tag-class> + <tei-class>org.apache.taglibs.standard.tei.ForEachTEI</tei-class> + <body-content>JSP</body-content> + <attribute> + <description> +Collection of items to iterate over. + </description> + <name>items</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + <type>java.lang.Object</type> + </attribute> + <attribute> + <description> +If items specified: +Iteration begins at the item located at the +specified index. First item of the collection has +index 0. +If items not specified: +Iteration begins with index set at the value +specified. + </description> + <name>begin</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + <type>int</type> + </attribute> + <attribute> + <description> +If items specified: +Iteration ends at the item located at the +specified index (inclusive). +If items not specified: +Iteration ends when index reaches the value +specified. + </description> + <name>end</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + <type>int</type> + </attribute> + <attribute> + <description> +Iteration will only process every step items of +the collection, starting with the first one. + </description> + <name>step</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + <type>int</type> + </attribute> + <attribute> + <description> +Name of the exported scoped variable for the +current item of the iteration. This scoped +variable has nested visibility. Its type depends +on the object of the underlying collection. + </description> + <name>var</name> + <required>false</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + <attribute> + <description> +Name of the exported scoped variable for the +status of the iteration. Object exported is of type +javax.servlet.jsp.jstl.core.LoopTagStatus. This scoped variable has nested +visibility. + </description> + <name>varStatus</name> + <required>false</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + </tag> + + <tag> + <description> + Iterates over tokens, separated by the supplied delimeters + </description> + <name>forTokens</name> + <tag-class>org.apache.taglibs.standard.tag.rt.core.ForTokensTag</tag-class> + <body-content>JSP</body-content> + <attribute> + <description> +String of tokens to iterate over. + </description> + <name>items</name> + <required>true</required> + <rtexprvalue>true</rtexprvalue> + <type>java.lang.String</type> + </attribute> + <attribute> + <description> +The set of delimiters (the characters that +separate the tokens in the string). + </description> + <name>delims</name> + <required>true</required> + <rtexprvalue>true</rtexprvalue> + <type>java.lang.String</type> + </attribute> + <attribute> + <description> +Iteration begins at the token located at the +specified index. First token has index 0. + </description> + <name>begin</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + <type>int</type> + </attribute> + <attribute> + <description> +Iteration ends at the token located at the +specified index (inclusive). + </description> + <name>end</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + <type>int</type> + </attribute> + <attribute> + <description> +Iteration will only process every step tokens +of the string, starting with the first one. + </description> + <name>step</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + <type>int</type> + </attribute> + <attribute> + <description> +Name of the exported scoped variable for the +current item of the iteration. This scoped +variable has nested visibility. + </description> + <name>var</name> + <required>false</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + <attribute> + <description> +Name of the exported scoped variable for the +status of the iteration. Object exported is of +type +javax.servlet.jsp.jstl.core.LoopTag +Status. This scoped variable has nested +visibility. + </description> + <name>varStatus</name> + <required>false</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + </tag> + + <tag> + <description> + Like &lt;%= ... &gt;, but for expressions. + </description> + <name>out</name> + <tag-class>egovframework.com.cmm.EgovComCrossSiteHndlr</tag-class> + <body-content>JSP</body-content> + <attribute> + <description> +Expression to be evaluated. + </description> + <name>value</name> + <required>true</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + <attribute> + <description> +Default value if the resulting value is null. + </description> + <name>default</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + <attribute> + <description> +Determines whether characters &lt;,&gt;,&amp;,'," in the +resulting string should be converted to their +corresponding character entity codes. Default value is +true. + </description> + <name>escapeXml</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + </tag> + + + <tag> + <description> + Subtag of &lt;choose&gt; that follows &lt;when&gt; tags + and runs only if all of the prior conditions evaluated to + 'false' + </description> + <name>otherwise</name> + <tag-class>org.apache.taglibs.standard.tag.common.core.OtherwiseTag</tag-class> + <body-content>JSP</body-content> + </tag> + + <tag> + <description> + Adds a parameter to a containing 'import' tag's URL. + </description> + <name>param</name> + <tag-class>org.apache.taglibs.standard.tag.rt.core.ParamTag</tag-class> + <body-content>JSP</body-content> + <attribute> + <description> +Name of the query string parameter. + </description> + <name>name</name> + <required>true</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + <attribute> + <description> +Value of the parameter. + </description> + <name>value</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + </tag> + + <tag> + <description> + Redirects to a new URL. + </description> + <name>redirect</name> + <tag-class>org.apache.taglibs.standard.tag.rt.core.RedirectTag</tag-class> + <body-content>JSP</body-content> + <attribute> + <description> +The URL of the resource to redirect to. + </description> + <name>url</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + <attribute> + <description> +Name of the context when redirecting to a relative URL +resource that belongs to a foreign context. + </description> + <name>context</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + </tag> + + <tag> + <description> + Removes a scoped variable (from a particular scope, if specified). + </description> + <name>remove</name> + <tag-class>org.apache.taglibs.standard.tag.common.core.RemoveTag</tag-class> + <body-content>empty</body-content> + <attribute> + <description> +Name of the scoped variable to be removed. + </description> + <name>var</name> + <required>true</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + <attribute> + <description> +Scope for var. + </description> + <name>scope</name> + <required>false</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + </tag> + + <tag> + <description> + Sets the result of an expression evaluation in a 'scope' + </description> + <name>set</name> + <tag-class>org.apache.taglibs.standard.tag.rt.core.SetTag</tag-class> + <body-content>JSP</body-content> + <attribute> + <description> +Name of the exported scoped variable to hold the value +specified in the action. The type of the scoped variable is +whatever type the value expression evaluates to. + </description> + <name>var</name> + <required>false</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + <attribute> + <description> +Expression to be evaluated. + </description> + <name>value</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + <attribute> + <description> +Target object whose property will be set. Must evaluate to +a JavaBeans object with setter property property, or to a +java.util.Map object. + </description> + <name>target</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + <attribute> + <description> +Name of the property to be set in the target object. + </description> + <name>property</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + <attribute> + <description> +Scope for var. + </description> + <name>scope</name> + <required>false</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + </tag> + + <tag> + <description> + Creates a URL with optional query parameters. + </description> + <name>url</name> + <tag-class>org.apache.taglibs.standard.tag.rt.core.UrlTag</tag-class> + <body-content>JSP</body-content> + <attribute> + <description> +Name of the exported scoped variable for the +processed url. The type of the scoped variable is +String. + </description> + <name>var</name> + <required>false</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + <attribute> + <description> +Scope for var. + </description> + <name>scope</name> + <required>false</required> + <rtexprvalue>false</rtexprvalue> + </attribute> + <attribute> + <description> +URL to be processed. + </description> + <name>value</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + <attribute> + <description> +Name of the context when specifying a relative URL +resource that belongs to a foreign context. + </description> + <name>context</name> + <required>false</required> + <rtexprvalue>true</rtexprvalue> + </attribute> + </tag> + + <tag> + <description> + Subtag of &lt;choose&gt; that includes its body if its + condition evalutes to 'true' + </description> + <name>when</name> + <tag-class>org.apache.taglibs.standard.tag.rt.core.WhenTag</tag-class> + <body-content>JSP</body-content> + <attribute> + <description> +The test condition that determines whether or not the +body content should be processed. + </description> + <name>test</name> + <required>true</required> + <rtexprvalue>true</rtexprvalue> + <type>boolean</type> + </attribute> + </tag> + +</taglib> Property changes on: base3.10/src/main/webapp/WEB-INF/tlds/egovc.tld ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/META-INF/double-submit.tld =================================================================== --- base3.10/src/main/webapp/WEB-INF/META-INF/double-submit.tld (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/META-INF/double-submit.tld (revision 7) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE taglib + PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" + "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"> +<taglib> + <tlib-version>1.3</tlib-version> + <jsp-version>1.2</jsp-version> + <short-name>double-submit</short-name> + <uri>http://www.egovframe.go.kr/tags/double-submit/jsp</uri> + + <tag> + <name>preventer</name> + <tag-class>egovframework.com.cmm.taglibs.DoubleSubmitTag</tag-class> + <attribute> + <name>tokenKey</name> + <rtexprvalue>false</rtexprvalue> + </attribute> + </tag> + +</taglib> + Property changes on: base3.10/src/main/webapp/WEB-INF/META-INF/double-submit.tld ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/WEB-INF/web.xml =================================================================== --- base3.10/src/main/webapp/WEB-INF/web.xml (nonexistent) +++ base3.10/src/main/webapp/WEB-INF/web.xml (revision 7) @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8"?> +<web-app id="WebApp_ID" version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"> +<!-- + 수정일 수성자 수정내용 + ========== ======== ================================================= + 2011.9.19 이기하 filter 정리 + 2013.5.31 이기하 미사용 filter 정리(.mdo, .action) + 2016.6.34 장동한 WebApplicationInitializer 방식으로 변경 +--> + + <welcome-file-list> + <welcome-file>index.jsp</welcome-file> + <welcome-file>egovDevIndex.jsp</welcome-file> + </welcome-file-list> + + <login-config> + <auth-method>BASIC</auth-method> + </login-config> + + <session-config> + <session-timeout>60</session-timeout> + <!-- <tracking-mode>COOKIE</tracking-mode> --> + </session-config> + + <error-page> + <error-code>404</error-code> + <location>/code404.jsp</location> + </error-page> + + <error-page> + <error-code>500</error-code> + <location>/code500.jsp</location> + </error-page> + +</web-app> \ No newline at end of file Property changes on: base3.10/src/main/webapp/WEB-INF/web.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/images/custom/icon_login_fff.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_login_fff.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_login_fff.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 29.1 36.7" style="enable-background:new 0 0 29.1 36.7;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M4.2,8.3c0-3.7,3-6.8,6.8-6.8h9.9c3.7,0,6.8,3,6.8,6.8v20.1c0,3.7-3,6.8-6.8,6.8H11c-3.7,0-6.8-3-6.8-6.8"/> + <polyline class="st0" points="12.9,11.4 19.8,18.3 12.9,25.3 "/> + <line class="st0" x1="19.8" y1="18.3" x2="1.7" y2="18.3"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/box_body3.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/box_body3.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_tos4.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tos4.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tos4.svg (revision 7) @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 33.3 29.3" style="enable-background:new 0 0 33.3 29.3;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="22.2,13.1 22.2,1 1,1 1,28.3 22.2,28.3 22.2,18 "/> + <line class="st0" x1="5.4" y1="7.2" x2="17.8" y2="7.2"/> + <line class="st0" x1="5.4" y1="12.4" x2="17.8" y2="12.4"/> + <line class="st0" x1="5.4" y1="17.7" x2="16" y2="17.7"/> + <line class="st0" x1="10.8" y1="23" x2="17.8" y2="23"/> + <polygon class="st0" points="30.6,8.7 17.5,15.9 14.5,19.5 19.2,18.9 32.3,11.7 "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_circle.svg =================================================================== --- base3.10/src/main/webapp/images/custom/bg_circle.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/bg_circle.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 200.1 200.1" style="enable-background:new 0 0 200.1 200.1;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#4FE179;} + .st1{fill:#3BBCFD;} +</style> +<g> + <path class="st0" d="M29.3,29.3c-39.1,39.1-39.1,102.4,0,141.5c19.5,19.5,45.1,29.3,70.7,29.3l0-200.1C74.4,0,48.8,9.8,29.3,29.3z" + /> + <path class="st1" d="M100.1,200.1c25.6,0,51.2-9.8,70.7-29.3c39.1-39.1,39.1-102.4,0-141.5C151.3,9.8,125.7,0,100.1,0L100.1,200.1z + "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_more_navy.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_more_navy.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_more_navy.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 25 16.9" style="enable-background:new 0 0 25 16.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#002F6A;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="16.5,1.5 23.5,8.5 16.5,15.4 "/> + <line class="st0" x1="23.5" y1="8.5" x2="1.5" y2="8.5"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/appchart.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/appchart.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/noimg.svg =================================================================== --- base3.10/src/main/webapp/images/custom/noimg.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/noimg.svg (revision 7) @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 500 500" style="enable-background:new 0 0 500 500;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;} + .st1{opacity:0.5;} + .st2{fill:url(#XMLID_2_);} + .st3{fill:url(#XMLID_3_);} + .st4{fill:#A9A9A8;} +</style> +<g> + <rect class="st0" width="500" height="500"/> + <g id="XMLID_6_" class="st1"> + <g id="XMLID_7_"> + <g id="XMLID_8_"> + + <linearGradient id="XMLID_2_" gradientUnits="userSpaceOnUse" x1="251.9379" y1="988.471" x2="312.5685" y2="1034.3879" gradientTransform="matrix(1 0 0 1 0 -794.0002)"> + <stop offset="0" style="stop-color:#23ADE0"/> + <stop offset="0.1885" style="stop-color:#21A9DD"/> + <stop offset="0.4351" style="stop-color:#1E9FD5"/> + <stop offset="0.7139" style="stop-color:#178FC8"/> + <stop offset="1" style="stop-color:#1479B8"/> + </linearGradient> + <path id="XMLID_10_" class="st2" d="M295,231.7c4.6,1.9,3.3,7.4-1.9,7.4h-34.8c-0.9,0-1.9,0.9-1.9,2.3v4.6 + c0,0.9,0.9,2.3,1.9,2.3h40.4c9.3,0,16.7-4.6,16.7-13.9c0-6.5-2.8-11.6-9.8-14.4c-4.2-1.9-29.7-12.5-29.7-12.5 + c-4.6-1.9-3.7-7.4,1.9-7.4h34.8c0.9,0,1.9-0.9,1.9-1.9v-4.6c0-1.4-0.9-1.9-1.9-1.9h-40.4c-9.3,0-16.7,4.6-16.7,13.9 + c0,6.5,2.8,11.6,9.8,14.4C269,221,295,231.7,295,231.7z"/> + + <linearGradient id="XMLID_3_" gradientUnits="userSpaceOnUse" x1="194.7408" y1="974.0473" x2="239.5644" y2="1019.9628" gradientTransform="matrix(1 0 0 1 0 -794.0002)"> + <stop offset="5.618000e-03" style="stop-color:#F5C41E"/> + <stop offset="1" style="stop-color:#EA7E26"/> + </linearGradient> + <path id="XMLID_9_" class="st3" d="M253.3,190.3h-67.3c-0.9,0-1.9,0.9-1.9,1.9v4.6c0,0.9,0.9,1.9,1.9,1.9h24.1v46.4 + c0,0.9,0.9,2.3,1.9,2.3l0,0h14.9l0,0c0.9,0,1.9-0.9,1.9-2.3v-46.4h24.1c0.9,0,1.9-0.9,1.9-1.9v-4.6 + C255.1,191.3,254.2,190.3,253.3,190.3z"/> + </g> + </g> + </g> + <g> + <path class="st4" d="M145,272.5h6.5l9.3,17.6l3.3,7l0,0c-0.5-3.3-0.9-7.9-0.9-11.6v-13h6V305h-6.5l-9.3-17.6l-3.3-7l0,0 + c0.5,3.7,0.9,7.9,0.9,11.6v13h-6V272.5z"/> + <path class="st4" d="M176.6,288.8c0-10.7,6-16.7,14.9-16.7c8.8,0,14.9,6,14.9,16.7c0,10.7-6,17.2-14.9,17.2 + C182.7,306,176.6,299.5,176.6,288.8z M198.9,288.8c0-7-3.3-11.1-7.9-11.1c-4.6,0-7.9,4.2-7.9,11.1c0,7,3.3,11.6,7.9,11.6 + C195.7,300.4,198.9,295.7,198.9,288.8z"/> + <path class="st4" d="M222.1,272.5h6.5V305h-6.5V272.5z"/> + <path class="st4" d="M237,272.5h7.4l5.6,15.3c0.9,1.9,1.4,4.2,1.9,6.5l0,0c0.9-1.9,1.4-4.2,1.9-6.5l5.6-15.3h7.4V305h-6v-13.5 + c0-3.3,0.5-7.9,0.9-10.7l0,0l-2.8,7.9l-5.1,13.9H250l-5.1-13.9l-2.8-7.9l0,0c0.5,3.3,0.9,7.9,0.9,10.7V305h-6V272.5L237,272.5z"/> + <path class="st4" d="M281.1,272.5h7.9l10.7,33h-7l-2.3-8.4h-10.7l-2.8,7.9h-6.5L281.1,272.5z M280.7,291.6h7.9l-0.9-3.7 + c-0.9-3.3-1.9-7-2.8-10.7l0,0c-0.9,3.7-1.9,7.4-2.8,10.7L280.7,291.6z"/> + <path class="st4" d="M301.1,288.8c0-10.7,7-17.2,15.8-17.2c4.6,0,7.9,1.9,10.2,4.2l-3.3,4.2c-1.4-1.4-3.7-2.8-6.5-2.8 + c-5.6,0-9.3,4.2-9.3,11.1c0,7,3.3,11.6,9.8,11.6c1.4,0,3.3-0.5,4.2-1.4V292h-5.6v-5.6H328v14.9c-2.3,2.3-6,3.7-10.7,3.7 + C307.6,306,301.1,299.9,301.1,288.8z"/> + <path class="st4" d="M334.5,272.5h20v5.6H341v7.4h11.1v5.6h-11.6v8.8h13.9v5.1h-20.4L334.5,272.5L334.5,272.5z"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_m.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_m.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_m.svg (revision 7) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="24.166px" height="24.165px" viewBox="0 0 24.166 24.165" enable-background="new 0 0 24.166 24.165" xml:space="preserve"> +<path fill="#FFFFFF" d="M2.097,23.588c-0.84,0-1.523-0.685-1.523-1.521V2.099c0-0.84,0.684-1.522,1.523-1.522h19.966 + c0.84,0,1.522,0.683,1.522,1.522v19.968c0,0.84-0.685,1.521-1.522,1.521H2.097z"/> +<path d="M22.063,0H2.096c-1.158,0-2.1,0.941-2.1,2.099v19.968c0,1.156,0.942,2.098,2.1,2.098h19.966 + c1.159,0,2.102-0.941,2.102-2.098V2.099C24.162,0.942,23.219,0,22.063,0z M22.063,23.01H2.096c-0.522,0-0.947-0.424-0.947-0.945 + V2.099c0-0.521,0.425-0.946,0.947-0.946l19.966-0.002c0.522,0,0.947,0.425,0.947,0.946v19.968 + C23.01,22.586,22.585,23.01,22.063,23.01z"/> +<path d="M19.432,12.083c0,0.742-0.602,1.344-1.344,1.344H6.072c-0.742,0-1.344-0.602-1.344-1.344l0,0 + c0-0.742,0.602-1.344,1.344-1.344h12.016C18.83,10.739,19.432,11.34,19.432,12.083L19.432,12.083z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_filedown_on.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_filedown_on.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_filedown_on.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 37 30" style="enable-background:new 0 0 37 30;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#007DC3;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="25.5,13.1 18.5,20.1 11.5,13.1 "/> + <polyline class="st0" points="35.5,16.5 35.5,28.5 1.5,28.5 1.5,16.5 "/> + <line class="st0" x1="18.5" y1="20.1" x2="18.5" y2="1.5"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/main_job1.svg =================================================================== --- base3.10/src/main/webapp/images/custom/main_job1.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/main_job1.svg (revision 7) @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 118 106.4" style="enable-background:new 0 0 118 106.4;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#ABC5E3;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#FFFFFF;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st2{fill:none;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st3{fill:#FFFFFF;stroke:#38383B;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st4{fill:none;stroke:#38383B;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st5{fill:#ABC5E3;stroke:#365587;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st6{fill:#DADAE0;} + .st7{fill:#FFFFFF;} +</style> +<g> + <g> + <g> + <path class="st3" d="M1.8,61.1V31.2c0-4.6,3.8-8.4,8.4-8.4l22.3,0l28,20.8c2.1,1.6,2.5,4.5,1,6.6l0,0c-1.6,2.1-4.5,2.5-6.6,1 + l-22.9-17"/> + <g> + <path class="st4" d="M27.3,10.1c0,4.6-3.8,8.4-8.4,8.4c-4.6,0-8.4-3.8-8.4-8.4c0-4.6,3.8-8.4,8.4-8.4 + C23.5,1.8,27.3,5.5,27.3,10.1z"/> + <polyline class="st3" points="8.9,38.1 8.9,104.6 18.7,104.6 18.7,70.3 18.7,104.6 28.5,104.6 28.5,38.1 "/> + </g> + </g> + <g> + <path class="st3" d="M116.2,61.1V31.2c0-4.6-3.8-8.4-8.4-8.4l-22.3,0l-28,20.8c-2.1,1.6-2.5,4.5-1,6.6l0,0c1.6,2.1,4.5,2.5,6.6,1 + l22.9-17"/> + <g> + <path class="st4" d="M90.7,10.1c0,4.6,3.8,8.4,8.4,8.4c4.6,0,8.4-3.8,8.4-8.4c0-4.6-3.8-8.4-8.4-8.4 + C94.5,1.8,90.7,5.5,90.7,10.1z"/> + <polyline class="st3" points="109.1,38.1 109.1,104.6 99.3,104.6 99.3,70.3 99.3,104.6 89.5,104.6 89.5,38.1 "/> + </g> + </g> + </g> + <g> + <polygon class="st0" points="73.9,67 73.9,88 66.3,97.2 66.3,74.2 "/> + <rect x="41" y="74" class="st0" width="25.4" height="23.2"/> + <polygon class="st0" points="66.3,74.1 41,74.1 48.5,67 73.9,67 "/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/logo_v.svg =================================================================== --- base3.10/src/main/webapp/images/custom/logo_v.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/logo_v.svg (revision 7) @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 141.1 74.8" style="enable-background:new 0 0 141.1 74.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:url(#XMLID_2_);} + .st1{fill:url(#XMLID_3_);} + .st2{fill:#FFFFFF;} +</style> +<g> + <g id="XMLID_6_"> + <g id="XMLID_7_"> + <g id="XMLID_8_"> + + <linearGradient id="XMLID_2_" gradientUnits="userSpaceOnUse" x1="72.0314" y1="414.8975" x2="103.9891" y2="439.0998" gradientTransform="matrix(1 0 0 1 0 -413.01)"> + <stop offset="0" style="stop-color:#00AFEC"/> + <stop offset="0.1679" style="stop-color:#00ADEB"/> + <stop offset="0.3876" style="stop-color:#00A4E4"/> + <stop offset="0.6361" style="stop-color:#0096D9"/> + <stop offset="0.9038" style="stop-color:#0082C9"/> + <stop offset="1" style="stop-color:#0079C3"/> + </linearGradient> + <path id="XMLID_10_" class="st0" d="M94.5,21.7c2.4,1,1.8,3.9-1,3.9H75.1c-0.5,0-1,0.5-1,1.1v2.4c0,0.6,0.4,1.1,1,1.1h21.4 + c5,0,8.9-2.4,8.9-7.4c0-3.3-1.5-6-5.1-7.6c-2.1-1-15.7-6.7-15.7-6.7c-2.4-1-1.8-3.9,1-3.9h18.3c0.5,0,1-0.5,1-1.1V1.1 + c0-0.6-0.4-1.1-1-1.1H82.6c-5,0-8.9,2.4-8.9,7.4c0,3.3,1.5,6,5.1,7.6C80.9,16,94.5,21.7,94.5,21.7z"/> + + <linearGradient id="XMLID_3_" gradientUnits="userSpaceOnUse" x1="41.6288" y1="407.6165" x2="65.255" y2="431.8181" gradientTransform="matrix(1 0 0 1 0 -413.01)"> + <stop offset="5.618000e-03" style="stop-color:#FDD000"/> + <stop offset="1" style="stop-color:#F08300"/> + </linearGradient> + <path id="XMLID_9_" class="st1" d="M72.5,0H37.1c-0.5,0-1,0.5-1,1.1v2.4c0,0.6,0.5,1.1,1,1.1h12.8v24.6c0,0.6,0.5,1.1,1,1.1l0,0 + h7.9l0,0c0.5,0,1-0.5,1-1.1V4.6h12.8c0.5,0,1-0.5,1-1.1V1.1C73.5,0.5,73,0,72.5,0z"/> + </g> + </g> + </g> + <g> + <path class="st2" d="M28,61.5v3.5h-6.7v8.9h-4.1v-8.9h-6.4v8.9H6.7v-8.9H0v-3.5H28z M24.4,59.1H3.6V44.7h20.4v3.4H7.8v2.1h16v3.4 + h-16v2.1h16.6V59.1z"/> + <path class="st2" d="M30.1,45.1h4.2v10.3c2.3,0,4.4-0.1,6.5-0.2s4.2-0.3,6.3-0.5l0.4,3.5c-1,0.1-2.1,0.2-3.2,0.3 + c-1.1,0.1-2.4,0.2-3.7,0.2c-1.4,0.1-2.9,0.1-4.6,0.1c-1.7,0-3.6,0-5.8,0V45.1z M44.2,74.8c-1.4,0-2.6-0.1-3.8-0.4 + c-1.2-0.3-2.2-0.7-3-1.2c-0.9-0.5-1.5-1.1-2-1.9s-0.7-1.6-0.7-2.5v-1.4c0-0.9,0.2-1.8,0.7-2.5c0.5-0.7,1.2-1.4,2-1.9 + c0.9-0.5,1.9-0.9,3-1.2c1.2-0.3,2.4-0.4,3.8-0.4c1.4,0,2.6,0.1,3.8,0.4c1.2,0.3,2.2,0.7,3,1.2c0.9,0.5,1.5,1.1,2,1.9 + c0.5,0.7,0.7,1.6,0.7,2.5v1.4c0,0.9-0.2,1.8-0.7,2.5s-1.2,1.4-2,1.9c-0.9,0.5-1.9,0.9-3,1.2C46.8,74.7,45.6,74.8,44.2,74.8z + M44.2,64.8c-0.7,0-1.4,0.1-2.1,0.2c-0.7,0.2-1.2,0.4-1.7,0.6c-0.5,0.3-0.9,0.6-1.2,0.9c-0.3,0.4-0.5,0.7-0.5,1.1v0.9 + c0,0.4,0.2,0.8,0.5,1.1c0.3,0.4,0.7,0.7,1.2,0.9c0.5,0.3,1.1,0.5,1.7,0.6c0.7,0.2,1.3,0.2,2.1,0.2c0.7,0,1.4-0.1,2.1-0.2 + s1.2-0.4,1.7-0.6c0.5-0.3,0.9-0.6,1.2-0.9c0.3-0.4,0.5-0.7,0.5-1.1v-0.9c0-0.4-0.2-0.8-0.5-1.1c-0.3-0.3-0.7-0.7-1.2-0.9 + c-0.5-0.3-1.1-0.5-1.7-0.6S44.9,64.8,44.2,64.8z M53.7,61.3h-4.1v-18h4.1V61.3z"/> + <path class="st2" d="M65,58c-1.2,0-2.3-0.2-3.3-0.6c-1-0.4-1.8-0.9-2.4-1.5c-0.7-0.6-1.2-1.3-1.5-2.1c-0.4-0.8-0.5-1.6-0.5-2.4 + v-1.1c0-0.8,0.2-1.6,0.5-2.4c0.4-0.8,0.9-1.5,1.5-2.1c0.7-0.6,1.5-1.1,2.4-1.5c1-0.4,2.1-0.6,3.3-0.6c1.2,0,2.3,0.2,3.3,0.6 + c1,0.4,1.8,0.9,2.4,1.5c0.7,0.6,1.2,1.3,1.5,2.1c0.3,0.8,0.5,1.6,0.5,2.4v1.1c0,0.8-0.2,1.6-0.5,2.4c-0.4,0.8-0.9,1.5-1.5,2.1 + c-0.7,0.6-1.5,1.1-2.4,1.5S66.3,58,65,58z M65,47.3c-0.6,0-1.2,0.1-1.6,0.3s-0.9,0.4-1.2,0.7s-0.6,0.6-0.7,1 + c-0.2,0.4-0.2,0.8-0.2,1.2v0.9c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.4,0.7,0.7,1s0.7,0.5,1.2,0.7c0.5,0.2,1,0.3,1.6,0.3 + c0.6,0,1.2-0.1,1.6-0.3c0.5-0.2,0.9-0.4,1.2-0.7c0.3-0.3,0.6-0.6,0.7-1c0.2-0.4,0.2-0.8,0.2-1.2v-0.9c0-0.4-0.1-0.8-0.2-1.2 + c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.2-0.7S65.6,47.3,65,47.3z M80.8,59.9v8.7H65.7v2.3h16v3.3h-20v-8.7h15.1v-2.3H61.5 + v-3.3H80.8z M80.8,49h4v3.6h-4v5.9h-4.1V43.3h4.1V49z"/> + <path class="st2" d="M91.1,63.1h3.2c1.5,0,3.1,0,4.7-0.1c1.6-0.1,3.2-0.2,4.7-0.4l0.5,3.5c-1.6,0.2-3.3,0.4-5.1,0.5 + c-1.8,0.1-3.8,0.1-5.8,0.1H87V54.2h9.9v-5H87v-3.5h14v11.9h-9.9V63.1z M110.6,73.9h-4.2V43.3h4.2V73.9z"/> + <path class="st2" d="M122.7,66.6V55.9h4.1v10.7h14.2v3.5h-28v-3.5H122.7z M132,62.8c0.4-2,0.7-3.9,0.8-5.8 + c0.2-1.8,0.2-3.7,0.2-5.7v-1.9h-16.6v-3.6h20.8v4.4c0,2.6-0.1,4.9-0.3,7c-0.2,2.1-0.4,4.1-0.8,6L132,62.8z"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_brand.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_brand.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_list_on.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_list_on.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_list_on.svg (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 52.7 34.7" style="enable-background:new 0 0 52.7 34.7;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <g> + <line class="st0" x1="3" y1="3" x2="3" y2="3"/> + <line class="st0" x1="3" y1="17.4" x2="3" y2="17.4"/> + <line class="st0" x1="3" y1="31.7" x2="3" y2="31.7"/> + </g> + <g> + <line class="st0" x1="49.7" y1="3" x2="14.9" y2="3"/> + <line class="st0" x1="49.7" y1="17.4" x2="14.9" y2="17.4"/> + <line class="st0" x1="49.7" y1="31.7" x2="14.9" y2="31.7"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_dq.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_dq.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_dq.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 5.1 4.4" style="enable-background:new 0 0 5.1 4.4;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#16315F;} +</style> +<g> + <path class="st0" d="M0,2.8C0,1.6,0.7,0.6,1.8,0l0.4,0.7c-0.8,0.4-1.3,1.1-1.3,2l0.2,1L0.4,2.8c0.2-0.2,0.5-0.4,0.8-0.4 + c0.5,0,0.9,0.4,0.9,0.9c0,0.6-0.4,1-1,1C0.5,4.4,0,3.8,0,2.8z M2.9,2.8c0-1.2,0.7-2.2,1.8-2.8l0.4,0.7c-0.8,0.4-1.3,1.1-1.3,2 + l0.2,1L3.3,2.8c0.2-0.2,0.5-0.4,0.8-0.4C4.6,2.4,5,2.8,5,3.4c0,0.6-0.4,1-1,1C3.3,4.4,2.9,3.8,2.9,2.8z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/map2.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/map2.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/box_cover1.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/box_cover1.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/bg_cmtintro_1.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_cmtintro_1.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/main_job2.svg =================================================================== --- base3.10/src/main/webapp/images/custom/main_job2.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/main_job2.svg (revision 7) @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 107.8 117.3" style="enable-background:new 0 0 107.8 117.3;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#ABC5E3;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#FFFFFF;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st2{fill:none;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st3{fill:#FFFFFF;stroke:#38383B;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st4{fill:none;stroke:#38383B;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st5{fill:#ABC5E3;stroke:#365587;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st6{fill:#DADAE0;} + .st7{fill:#FFFFFF;} +</style> +<g> + <path class="st4" d="M24.2,19.1V4.3c0-1.4,1.1-2.6,2.6-2.6h26.5c1.4,0,2.6,1.1,2.6,2.6v14.8"/> + <g> + <path class="st0" d="M68.1,41.6H12C6.4,41.6,1.8,37,1.8,31.3v40.3h76.6V31.3C78.3,37,73.7,41.6,68.1,41.6z"/> + <path class="st3" d="M1.8,31.3C1.8,37,6.4,41.6,12,41.6h56.1c5.6,0,10.2-4.6,10.2-10.2V17.6H1.8V31.3z"/> + </g> + <g> + <line class="st4" x1="25.7" y1="30.8" x2="29.8" y2="30.8"/> + <line class="st4" x1="33.9" y1="30.8" x2="38" y2="30.8"/> + <line class="st4" x1="42.1" y1="30.8" x2="46.2" y2="30.8"/> + <line class="st4" x1="50.2" y1="30.8" x2="54.3" y2="30.8"/> + </g> + <g> + <g> + <path class="st1" d="M56,48c-4.1,0-7.4,3.3-7.4,7.4v51.8c0-4.1,3.3-7.4,7.4-7.4h50V48H56z"/> + <path class="st1" d="M48.6,107.2v0.9c0,4.1,3.3,7.4,7.4,7.4h50V99.8H56C51.9,99.8,48.6,103.1,48.6,107.2z"/> + </g> + <line class="st1" x1="54.8" y1="108.2" x2="104.9" y2="108.2"/> + <line class="st1" x1="60.8" y1="48" x2="60.8" y2="99.2"/> + <rect x="70" y="58.7" class="st1" width="28.6" height="11.6"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/chatbot_arrow_bg.svg =================================================================== --- base3.10/src/main/webapp/images/custom/chatbot_arrow_bg.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/chatbot_arrow_bg.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 11.88 11.88" style="enable-background:new 0 0 11.88 11.88;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} + .st1{fill:#E4E4E4;} +</style> +<g> + <polygon class="st0" points="11.88,11.18 11.88,0.5 1.21,0.5 "/> + <path class="st1" d="M11.88,11.88L0,0h11.88V11.88z M2.41,1l9.47,9.68V1H2.41z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_checkbox_false_disable.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_checkbox_false_disable.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_checkbox_false_disable.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="24.166px" height="24.165px" viewBox="0 0 24.166 24.165" enable-background="new 0 0 24.166 24.165" xml:space="preserve"> +<path fill="#DDDDDD" d="M2.1,23.588c-0.84,0-1.523-0.685-1.523-1.521V2.099c0-0.839,0.684-1.522,1.523-1.522h19.966 + c0.84,0,1.522,0.683,1.522,1.522v19.968c0,0.84-0.685,1.521-1.522,1.521H2.1z"/> +<path fill="#8C8C8C" d="M22.065,0H2.099c-1.158,0-2.1,0.942-2.1,2.099v19.967c0,1.156,0.942,2.098,2.1,2.098h19.966 + c1.159,0,2.102-0.941,2.102-2.098V2.099C24.165,0.942,23.222,0,22.065,0z M22.065,23.01H2.099c-0.522,0-0.947-0.424-0.947-0.945V2.1 + c0-0.522,0.425-0.946,0.947-0.946l19.966-0.002c0.522,0,0.947,0.424,0.947,0.946v19.967C23.013,22.586,22.588,23.01,22.065,23.01z" + /> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_more.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_more.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_more.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 25 16.9" style="enable-background:new 0 0 25 16.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#323232;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="16.5,1.5 23.5,8.5 16.5,15.4 "/> + <line class="st0" x1="23.5" y1="8.5" x2="1.5" y2="8.5"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/box_cover2.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/box_cover2.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/main_job3.svg =================================================================== --- base3.10/src/main/webapp/images/custom/main_job3.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/main_job3.svg (revision 7) @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 125.9 110.4" style="enable-background:new 0 0 125.9 110.4;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#ABC5E3;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#FFFFFF;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st2{fill:none;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st3{fill:#FFFFFF;stroke:#38383B;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st4{fill:none;stroke:#38383B;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st5{fill:#ABC5E3;stroke:#365587;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st6{fill:#DADAE0;} + .st7{fill:#FFFFFF;} +</style> +<g> + <g> + <g> + <rect x="1.8" y="36.5" class="st0" width="102.9" height="56.2"/> + <g> + <g> + <path class="st1" d="M97.6,30.9h-36c-4.7,0-8.4,3.8-8.4,8.4v58.1c0-4.7,3.8-8.4,8.4-8.4h36c0.2,0,0.4,0,0.6,0V31 + C98,30.9,97.8,30.9,97.6,30.9z"/> + </g> + <g> + <path class="st1" d="M8.8,30.9h36c4.7,0,8.4,3.8,8.4,8.4v58.1c0-4.7-3.8-8.4-8.4-8.4h-36c-0.2,0-0.4,0-0.6,0V31 + C8.4,30.9,8.6,30.9,8.8,30.9z"/> + </g> + <g> + <path class="st1" d="M13.4,23.2l32.2,7.7c4.9,1.9,7.6,3.8,7.6,8.4v58.1c0-4.7-3.1-6.2-7.6-8.4l-32.2-7.7 + c-0.2,0-0.3-2.8-0.5-2.8V23.2C13.1,23.2,13.3,23.2,13.4,23.2z"/> + </g> + <g> + <path class="st1" d="M19.5,20.4l27.3,10.5c4.1,1.9,6.4,3.8,6.4,8.4v58.1c0-4.7-2.6-6.2-6.4-8.4L19.5,78.5c-0.1,0-0.3,0-0.4,0 + V20.4C19.3,20.4,19.4,20.4,19.5,20.4z"/> + </g> + </g> + <line class="st2" x1="69.4" y1="44.4" x2="90.2" y2="44.4"/> + <line class="st2" x1="69.4" y1="54" x2="90.2" y2="54"/> + <line class="st2" x1="69.4" y1="63.5" x2="90.2" y2="63.5"/> + <line class="st2" x1="69.4" y1="73.1" x2="90.2" y2="73.1"/> + </g> + <line class="st1" x1="27.6" y1="35.6" x2="44.7" y2="42.2"/> + <line class="st1" x1="27.6" y1="44.6" x2="44.7" y2="51.2"/> + <line class="st1" x1="27.6" y1="53.6" x2="44.7" y2="60.2"/> + <line class="st1" x1="27.6" y1="62.6" x2="44.7" y2="69.2"/> + </g> + <g> + + <rect x="87.4" y="72.6" transform="matrix(0.7071 -0.7072 0.7072 0.7071 -28.5897 98.2779)" class="st1" width="33.9" height="22.2"/> + <g> + <polygon class="st1" points="100.2,103.5 92.3,95.6 84.5,87.8 81.2,101.2 86.8,106.8 "/> + <polygon class="st1" points="86.8,106.8 81.2,101.2 79.3,108.7 "/> + </g> + <g> + <line class="st1" x1="95" y1="98.3" x2="119" y2="74.4"/> + <line class="st1" x1="89.6" y1="92.9" x2="113.6" y2="69"/> + </g> + </g> + <polygon class="st0" points="57.7,13.3 57.7,1.8 45,1.8 45,13.3 38.2,13.3 51.4,26.5 64.6,13.3 "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/arrow_left_fff.svg =================================================================== --- base3.10/src/main/webapp/images/custom/arrow_left_fff.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/arrow_left_fff.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 37.8 66.6" style="enable-background:new 0 0 37.8 66.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<polyline class="st0" points="33.3,62.1 4.5,33.3 33.3,4.5 "/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tba1.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tba1.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tba1.svg (revision 7) @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 63.7 52.3" style="enable-background:new 0 0 63.7 52.3;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#5DA3C0;} + .st1{fill:none;stroke:#38383B;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st2{fill:#FFFFFF;} + .st3{clip-path:url(#SVGID_2_);fill:#DADAE0;} + .st4{clip-path:url(#SVGID_4_);fill:#DADAE0;} + .st5{clip-path:url(#SVGID_6_);fill:#DADAE0;} + .st6{clip-path:url(#SVGID_8_);fill:#DADAE0;} + .st7{fill:#E67677;} + .st8{clip-path:url(#SVGID_10_);fill:#DADAE0;} + .st9{clip-path:url(#SVGID_12_);fill:#DADAE0;} +</style> +<g> + <path class="st0" d="M43.8,1C52.6,1,60,6.2,62.1,13.3c0.1,0.4,0.2,0.9,0.3,1.3c0.2,0.9,0.3,1.9,0.3,2.9c0,4.9-2.4,9.2-6.2,12.2 + c1.4,3.1,3.7,5.4,6.1,6.1c-4.5,0.3-8.6-0.9-11.2-3.3c-2.3,0.9-4.9,1.4-7.6,1.4c-10.4,0-18.9-7.4-18.9-16.5C24.9,8.4,33.4,1,43.8,1" + /> + <path class="st1" d="M43.8,1C52.6,1,60,6.2,62.1,13.3c0.1,0.4,0.2,0.9,0.3,1.3c0.2,0.9,0.3,1.9,0.3,2.9c0,4.9-2.4,9.2-6.2,12.2 + c1.4,3.1,3.7,5.4,6.1,6.1c-4.5,0.3-8.6-0.9-11.2-3.3c-2.3,0.9-4.9,1.4-7.6,1.4c-10.4,0-18.9-7.4-18.9-16.5C24.9,8.4,33.4,1,43.8,1z + "/> + <path class="st2" d="M19.9,16.4c-8.8,0-16.2,5.2-18.3,12.3c-0.1,0.4-0.2,0.9-0.3,1.3C1.1,30.9,1,31.9,1,32.9 + c0,4.9,2.4,9.2,6.2,12.2c-1.4,3.1-3.7,5.4-6.1,6.1c4.5,0.3,8.6-0.9,11.2-3.3c2.3,0.9,4.9,1.4,7.6,1.4c10.4,0,18.9-7.4,18.9-16.5 + C38.9,23.8,30.4,16.4,19.9,16.4"/> + <path class="st1" d="M19.9,16.4c-8.8,0-16.2,5.2-18.3,12.3c-0.1,0.4-0.2,0.9-0.3,1.3C1.1,30.9,1,31.9,1,32.9 + c0,4.9,2.4,9.2,6.2,12.2c-1.4,3.1-3.7,5.4-6.1,6.1c4.5,0.3,8.6-0.9,11.2-3.3c2.3,0.9,4.9,1.4,7.6,1.4c10.4,0,18.9-7.4,18.9-16.5 + C38.9,23.8,30.4,16.4,19.9,16.4z"/> + <path class="st1" d="M25.4,21.3c1.3,4.6,4.7,8.5,9.4,10.7"/> + <line class="st1" x1="15.1" y1="33.8" x2="15.9" y2="33.8"/> + <line class="st1" x1="19.3" y1="33.8" x2="20.1" y2="33.8"/> + <line class="st1" x1="23.5" y1="33.8" x2="24.3" y2="33.8"/> + <line class="st1" x1="39.7" y1="18.4" x2="40.5" y2="18.4"/> + <line class="st1" x1="43.9" y1="18.4" x2="44.7" y2="18.4"/> + <line class="st1" x1="48.1" y1="18.4" x2="48.9" y2="18.4"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_reply.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_reply.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_reply.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 25.2 25.2" style="enable-background:new 0 0 25.2 25.2;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#323232;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<polyline class="st0" points="23.7,23.7 1.5,23.7 1.5,1.5 "/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="43.738px" height="36.29px" viewBox="0 0 43.738 36.29" enable-background="new 0 0 43.738 36.29" xml:space="preserve"> +<g> + <polygon fill="#F8E38F" points="42.839,6.43 42.839,35.39 0.899,35.39 0.899,0.9 15.368,0.9 18.759,6.43 "/> + + <polygon fill="none" stroke="#343340" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 42.839,6.43 42.839,35.39 0.899,35.39 0.899,0.9 15.368,0.9 18.759,6.43 "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_filedown_w.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_filedown_w.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_filedown_w.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 37 30" style="enable-background:new 0 0 37 30;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="25.5,13.1 18.5,20.1 11.5,13.1 "/> + <polyline class="st0" points="35.5,16.5 35.5,28.5 1.5,28.5 1.5,16.5 "/> + <line class="st0" x1="18.5" y1="20.1" x2="18.5" y2="1.5"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/jobkorea.svg =================================================================== --- base3.10/src/main/webapp/images/custom/jobkorea.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/jobkorea.svg (revision 7) @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 249 35.7" style="enable-background:new 0 0 249 35.7;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} +</style> +<g> + <path class="st0" d="M155,17.8c0,3.6-0.1,6.7-0.4,8.2c-0.5,2.7-1.1,4.3-2.9,6c-2.8,2.7-6.5,3.6-10.6,3.6c-4.1,0-7.7-0.9-10.5-3.6 + c-1.8-1.7-2.4-3.3-2.9-6c-0.3-1.5-0.4-4.6-0.4-8.2c0-3.6,0.1-6.8,0.4-8.3c0.5-2.6,1.1-4.2,2.9-5.9C133.4,0.9,137,0,141.1,0 + c4,0,7.7,0.9,10.6,3.7c1.8,1.7,2.4,3.3,2.9,5.9C154.8,11,155,14.3,155,17.8 M141.1,7.3c-2.9,0-5.6,1.7-5.6,5.7v4.8v4.5 + c0,4.9,3.4,5.8,5.6,5.8c2.1,0,5.6-0.9,5.6-5.8v-4.5V13C146.7,9,144,7.3,141.1,7.3"/> + <polygon class="st0" points="128.1,35.4 118.7,35.4 110.3,20.7 106.3,25.5 106.3,35.4 98.2,35.4 98.2,0.3 106.3,0.3 106.3,14.1 + 117.9,0.3 127.4,0.3 115.7,14.4 "/> + <path class="st0" d="M187.6,35.4h-8.8l-5.2-13h-5v13h-8.2V0.2h15.9c4.4,0,10.7,2.8,10.7,10.9c0,4.6-2.2,7.6-5.8,9.9L187.6,35.4z + M178.7,11.4c0-3.4-2.7-3.9-3.9-3.9h-6.3v7.8h6.3C176,15.3,178.7,14.9,178.7,11.4"/> + <polygon class="st0" points="215.8,35.4 191.3,35.4 191.3,0.3 216,0.3 216,7.4 199.4,7.4 199.4,14.1 213.6,14.1 213.6,21.3 + 199.4,21.3 199.4,28 215.8,28 "/> + <path class="st0" d="M249,35.4h-8.6l-2.3-7h-11.1l-2.2,7h-8.7l12.2-35.1h8.5L249,35.4z M236.1,21.7l-3.5-12.3l-3.7,12.3L236.1,21.7 + z"/> + <path class="st0" d="M60.7,17.8c0,3.6-0.1,6.7-0.4,8.2c-0.5,2.7-1.2,4.3-2.9,6c-2.8,2.7-6.5,3.6-10.6,3.6c-4.1,0-7.7-0.9-10.5-3.6 + c-1.8-1.7-2.4-3.3-2.9-6c-0.3-1.5-0.4-4.6-0.4-8.2c0-3.6,0.1-6.8,0.4-8.3c0.5-2.6,1.2-4.2,2.9-5.9C39.1,0.9,42.8,0,46.9,0 + c4.1,0,7.7,0.9,10.6,3.7c1.8,1.7,2.5,3.3,2.9,5.9C60.6,11,60.7,14.3,60.7,17.8 M46.9,7.3c-2.9,0-5.6,1.7-5.6,5.7v4.8v4.5 + c0,4.9,3.4,5.8,5.6,5.8c2.1,0,5.6-0.9,5.6-5.8v-4.5V13C52.4,9,49.8,7.3,46.9,7.3"/> + <path class="st0" d="M93.4,25c0,3.3-1.2,6.1-3.3,7.9c-2.1,1.8-4.6,2.4-7.9,2.4H66.3V0.3h15.1c3.7,0,6.4,0.4,8.4,2.2 + c2,1.8,3,4.2,3,7.3c0,2.9-1.6,5.6-4.2,7C91.6,18.4,93.4,21.7,93.4,25 M84.5,10.5c0-1.8-1.4-3-3.6-3h-6.7v6.2h6.4 + C83.4,13.7,84.5,12.4,84.5,10.5 M84.8,24.4c0-2.4-1.5-3.7-3.6-3.7h-6.9V28H81C83.7,28,84.8,26.5,84.8,24.4"/> + <path class="st0" d="M19.3,0.3v17.4h0v4.5c0,4.2-2.6,5.5-4.7,5.7C14.3,28,14,28,13.7,28c-2.1,0-5.6-0.9-5.6-5.8v-0.9H0 + c0.1,1.9,0.2,3.5,0.3,4.5c0.5,2.7,1.2,4.3,2.9,6c2.8,2.7,6.4,3.6,10.5,3.6c0.3,0,0.6,0,0.9,0c1.5-0.1,2.8-0.2,4.2-0.6 + c1.7-0.4,3.2-1.1,4.7-2.2c2.9-2.3,4.1-4.9,4.1-9.4V0.3H19.3z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_say.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_say.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_say.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 39.9 36.9" style="enable-background:new 0 0 39.9 36.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#38383B;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M19.9,1c8.8,0,16.2,5.2,18.3,12.3c0.1,0.4,0.2,0.9,0.3,1.3c0.2,0.9,0.3,1.9,0.3,2.9c0,4.9-2.4,9.2-6.2,12.2 + c1.4,3.1,3.7,5.4,6.1,6.1c-4.5,0.3-8.6-0.9-11.2-3.3c-2.3,0.9-4.9,1.4-7.6,1.4C9.5,33.9,1,26.6,1,17.5S9.5,1,19.9,1z"/> + <line class="st0" x1="21.4" y1="18.4" x2="18.5" y2="18.4"/> + <line class="st0" x1="13" y1="18.4" x2="10" y2="18.4"/> + <line class="st0" x1="30.2" y1="18.4" x2="27.2" y2="18.4"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_gnb.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_gnb.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_gnb.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="&#xB808;&#xC774;&#xC5B4;_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" viewBox="0 0 51.731 44.75" style="enable-background:new 0 0 51.731 44.75;" xml:space="preserve"> +<g> + + <line style="fill:none;stroke:#343231;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;" x1="47.731" y1="4" x2="4" y2="4"/> + + <line style="fill:none;stroke:#343231;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;" x1="47.731" y1="22.375" x2="4" y2="22.375"/> + + <line style="fill:none;stroke:#343231;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;" x1="47.731" y1="40.75" x2="4" y2="40.75"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_fileup.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_fileup.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_fileup.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 37 30" style="enable-background:new 0 0 37 30;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#323232;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="11.5,8.5 18.5,1.5 25.5,8.5 "/> + <polyline class="st0" points="35.5,16.5 35.5,28.5 1.5,28.5 1.5,16.5 "/> + <line class="st0" x1="18.5" y1="1.5" x2="18.5" y2="20.1"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_fileup_w.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_fileup_w.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_fileup_w.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 37 30" style="enable-background:new 0 0 37 30;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="11.5,8.5 18.5,1.5 25.5,8.5 "/> + <polyline class="st0" points="35.5,16.5 35.5,28.5 1.5,28.5 1.5,16.5 "/> + <line class="st0" x1="18.5" y1="1.5" x2="18.5" y2="20.1"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_car2.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_car2.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_home.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_home.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_home.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 29.1 24" style="enable-background:new 0 0 29.1 24;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="0.8,10.4 14.5,0.8 28.3,10.4 "/> + <path class="st0" d="M4,12.1v11.1h7.2v-4.7c0-1.9,1.5-3.4,3.4-3.4h0c1.9,0,3.4,1.5,3.4,3.4v4.7h7.2V12.1"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_arrow_plus.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_arrow_plus.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_arrow_plus.svg (revision 7) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"> +<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="16.131px" height="17.402px" viewBox="0 0 16.131 17.402" xml:space="preserve"> +<g> + <polygon points="9.308,5.174 14.608,8.701 9.308,12.228 "/> + <path d="M1.986,9.451c-0.256,0-0.462-0.335-0.462-0.751c0-0.417,0.206-0.753,0.462-0.753h9.22c0.252,0,0.459,0.336,0.459,0.753 + c0,0.415-0.207,0.751-0.459,0.751H1.986z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/sad.svg =================================================================== --- base3.10/src/main/webapp/images/custom/sad.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/sad.svg (revision 7) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 32.6 32.6" style="enable-background:new 0 0 32.6 32.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#383838;} + .st1{fill:none;stroke:#383838;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <circle class="st0" cx="9.3" cy="12.7" r="2.4"/> + <circle class="st0" cx="23.3" cy="12.7" r="2.4"/> + <path class="st1" d="M10.6,24.1c0-2.2,2.6-4,5.7-4s5.7,1.8,5.7,4"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/itme4.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/itme4.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_map.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_map.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_map.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 21.5 28" style="enable-background:new 0 0 21.5 28;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M20.7,10.7c0,4.4-6.4,12.9-9,15.8c-0.5,0.6-1.5,0.6-2,0c-2.5-3-9-11.4-9-15.8c0-5.5,4.5-10,10-10 + C16.3,0.8,20.7,5.2,20.7,10.7z"/> + <path class="st0" d="M14.5,10.7c0,2.1-1.7,3.8-3.8,3.8c-2.1,0-3.8-1.7-3.8-3.8C7,8.7,8.7,7,10.7,7C12.8,7,14.5,8.7,14.5,10.7z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_plus_on.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_plus_on.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_plus_on.svg (revision 7) @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 27 27" style="enable-background:new 0 0 27 27;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#007DC3;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<line class="st0" x1="2.3" y1="13.5" x2="24.7" y2="13.5"/> +<line class="st0" x1="13.8" y1="2.3" x2="13.8" y2="24.7"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree2.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree2.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree2.svg (revision 7) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="21.773px" height="16.693px" viewBox="0 0 21.773 16.693" enable-background="new 0 0 21.773 16.693" xml:space="preserve"> +<g> + <path fill="#828282" d="M20.333,11.014h-1.954V8.083c0-0.18-0.146-0.326-0.326-0.326h-6.84V5.15h4.561 + c0.18,0,0.325-0.146,0.325-0.326V0.916c0-0.18-0.146-0.326-0.325-0.326H6.001c-0.18,0-0.326,0.146-0.326,0.326v3.909 + c0,0.18,0.146,0.326,0.326,0.326h4.56v2.606h-6.84c-0.18,0-0.326,0.146-0.326,0.326v2.931H1.44c-0.181,0-0.326,0.146-0.326,0.326 + v3.908c0,0.18,0.146,0.326,0.326,0.326h4.561c0.18,0,0.325-0.146,0.325-0.326V11.34c0-0.18-0.146-0.326-0.325-0.326H4.046V8.408 + h6.515v2.606H8.606c-0.18,0-0.326,0.146-0.326,0.326v3.908c0,0.18,0.146,0.326,0.326,0.326h4.561c0.18,0,0.326-0.146,0.326-0.326 + V11.34c0-0.18-0.146-0.326-0.326-0.326h-1.954V8.408h6.515v2.606h-1.954c-0.18,0-0.326,0.146-0.326,0.326v3.908 + c0,0.18,0.146,0.326,0.326,0.326h4.56c0.181,0,0.326-0.146,0.326-0.326V11.34C20.659,11.16,20.514,11.014,20.333,11.014z + M6.326,1.242h9.121v3.257H6.326V1.242z M5.675,14.922H1.766v-3.256h3.909V14.922z M12.842,14.922h-3.91v-3.256h3.91V14.922z + M20.008,14.922h-3.909v-3.256h3.909V14.922z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/chrome-logo.svg =================================================================== --- base3.10/src/main/webapp/images/custom/chrome-logo.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/chrome-logo.svg (revision 7) @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48" viewBox="0 0 192 192"><defs><circle id="a" cx="96" cy="96" r="88"/></defs><clipPath id="b"><use xlink:href="#a" overflow="visible"/></clipPath><g clip-path="url(#b)"><path fill="#DB4437" d="M21.97 8v108h39.39L96 56h88V8z"/><linearGradient id="c" gradientUnits="userSpaceOnUse" x1="29.337" y1="75.021" x2="81.837" y2="44.354"><stop offset="0" stop-color="#a52714" stop-opacity=".6"/><stop offset=".66" stop-color="#a52714" stop-opacity="0"/></linearGradient><path fill="url(#c)" d="M21.97 8v108h39.39L96 56h88V8z"/></g><path clip-path="url(#b)" fill="#3E2723" fill-opacity=".15" d="M62.31 115.65L22.48 47.34l-.58 1 39.54 67.8z"/><g clip-path="url(#b)"><path fill="#0F9D58" d="M8 184h83.77l38.88-38.88V116H61.36L8 24.48z"/><linearGradient id="d" gradientUnits="userSpaceOnUse" x1="110.872" y1="164.495" x2="52.538" y2="130.329"><stop offset="0" stop-color="#055524" stop-opacity=".4"/><stop offset=".33" stop-color="#055524" stop-opacity="0"/></linearGradient><path fill="url(#d)" d="M8 184h83.77l38.88-38.88V116H61.36L8 24.48z"/></g><path clip-path="url(#b)" fill="#263238" fill-opacity=".15" d="M129.84 117.33l-.83-.48L90.62 184h1.15l38.1-66.64z"/><g clip-path="url(#b)"><defs><path id="e" d="M8 184h83.77l38.88-38.88V116H61.36L8 24.48z"/></defs><clipPath id="f"><use xlink:href="#e" overflow="visible"/></clipPath><g clip-path="url(#f)"><path fill="#FFCD40" d="M96 56l34.65 60-38.88 68H184V56z"/><linearGradient id="g" gradientUnits="userSpaceOnUse" x1="121.858" y1="49.804" x2="136.547" y2="114.13"><stop offset="0" stop-color="#ea6100" stop-opacity=".3"/><stop offset=".66" stop-color="#ea6100" stop-opacity="0"/></linearGradient><path fill="url(#g)" d="M96 56l34.65 60-38.88 68H184V56z"/></g></g><g clip-path="url(#b)"><path fill="#FFCD40" d="M96 56l34.65 60-38.88 68H184V56z"/><linearGradient id="h" gradientUnits="userSpaceOnUse" x1="121.858" y1="49.804" x2="136.547" y2="114.13"><stop offset="0" stop-color="#ea6100" stop-opacity=".3"/><stop offset=".66" stop-color="#ea6100" stop-opacity="0"/></linearGradient><path fill="url(#h)" d="M96 56l34.65 60-38.88 68H184V56z"/></g><g clip-path="url(#b)"><defs><path id="i" d="M96 56l34.65 60-38.88 68H184V56z"/></defs><clipPath id="j"><use xlink:href="#i" overflow="visible"/></clipPath><g clip-path="url(#j)"><path fill="#DB4437" d="M21.97 8v108h39.39L96 56h88V8z"/><linearGradient id="k" gradientUnits="userSpaceOnUse" x1="29.337" y1="75.021" x2="81.837" y2="44.354"><stop offset="0" stop-color="#a52714" stop-opacity=".6"/><stop offset=".66" stop-color="#a52714" stop-opacity="0"/></linearGradient><path fill="url(#k)" d="M21.97 8v108h39.39L96 56h88V8z"/></g></g><radialGradient id="l" cx="668.176" cy="55.948" r="84.078" gradientTransform="translate(-576)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3e2723" stop-opacity=".2"/><stop offset="1" stop-color="#3e2723" stop-opacity="0"/></radialGradient><path clip-path="url(#b)" fill="url(#l)" d="M96 56v20.95L174.4 56z"/><g clip-path="url(#b)"><defs><path id="m" d="M21.97 8v40.34L61.36 116 96 56h88V8z"/></defs><clipPath id="n"><use xlink:href="#m" overflow="visible"/></clipPath><g clip-path="url(#n)"><path fill="#0F9D58" d="M8 184h83.77l38.88-38.88V116H61.36L8 24.48z"/><linearGradient id="o" gradientUnits="userSpaceOnUse" x1="110.872" y1="164.495" x2="52.538" y2="130.329"><stop offset="0" stop-color="#055524" stop-opacity=".4"/><stop offset=".33" stop-color="#055524" stop-opacity="0"/></linearGradient><path fill="url(#o)" d="M8 184h83.77l38.88-38.88V116H61.36L8 24.48z"/></g></g><radialGradient id="p" cx="597.875" cy="48.52" r="78.044" gradientTransform="translate(-576)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#3e2723" stop-opacity=".2"/><stop offset="1" stop-color="#3e2723" stop-opacity="0"/></radialGradient><path clip-path="url(#b)" fill="url(#p)" d="M21.97 48.45l57.25 57.24L61.36 116z"/><radialGradient id="q" cx="671.844" cy="96.138" r="87.87" gradientTransform="translate(-576)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#263238" stop-opacity=".2"/><stop offset="1" stop-color="#263238" stop-opacity="0"/></radialGradient><path clip-path="url(#b)" fill="url(#q)" d="M91.83 183.89l20.96-78.2L130.65 116z"/><g clip-path="url(#b)"><circle fill="#F1F1F1" cx="96" cy="96" r="40"/><circle fill="#4285F4" cx="96" cy="96" r="32"/></g><g clip-path="url(#b)"><path fill="#3E2723" fill-opacity=".2" d="M96 55c-22.09 0-40 17.91-40 40v1c0-22.09 17.91-40 40-40h88v-1H96z"/><path fill="#FFF" fill-opacity=".1" d="M130.6 116c-6.92 11.94-19.81 20-34.6 20-14.8 0-27.69-8.06-34.61-20h-.04L8 24.48v1L61.36 117h.04c6.92 11.94 19.81 20 34.61 20 14.79 0 27.68-8.05 34.6-20h.05v-1h-.06z"/><path opacity=".1" fill="#3E2723" d="M97 56c-.17 0-.33.02-.5.03C118.36 56.3 136 74.08 136 96s-17.64 39.7-39.5 39.97c.17 0 .33.03.5.03 22.09 0 40-17.91 40-40s-17.91-40-40-40z"/><path fill="#FFF" fill-opacity=".2" d="M131 117.33c3.4-5.88 5.37-12.68 5.37-19.96 0-4.22-.66-8.28-1.87-12.09.95 3.42 1.5 7.01 1.5 10.73 0 7.28-1.97 14.08-5.37 19.96l.02.04-38.88 68h1.16l38.09-66.64-.02-.04z"/></g><g clip-path="url(#b)"><path fill="#FFF" fill-opacity=".2" d="M96 9c48.43 0 87.72 39.13 87.99 87.5 0-.17.01-.33.01-.5 0-48.6-39.4-88-88-88S8 47.4 8 96c0 .17.01.33.01.5C8.28 48.13 47.57 9 96 9z"/><path fill="#3E2723" fill-opacity=".15" d="M96 183c48.43 0 87.72-39.13 87.99-87.5 0 .17.01.33.01.5 0 48.6-39.4 88-88 88S8 144.6 8 96c0-.17.01-.33.01-.5C8.28 143.87 47.57 183 96 183z"/></g><radialGradient id="r" cx="34.286" cy="32.014" r="176.746" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff" stop-opacity=".1"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></radialGradient><circle fill="url(#r)" cx="96" cy="96" r="88"/><path fill="none" d="M0 0h192v192H0z"/></svg> \ No newline at end of file Index: base3.10/src/main/webapp/images/custom/satisfaction_fill.svg =================================================================== --- base3.10/src/main/webapp/images/custom/satisfaction_fill.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/satisfaction_fill.svg (revision 7) @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 205.34 35.73" style="enable-background:new 0 0 205.34 35.73;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#F7DB37;} +</style> +<g> + <path class="st0" d="M20.31,1.01l4.38,8.87c0.26,0.53,0.77,0.9,1.36,0.99l9.79,1.42c1.48,0.22,2.07,2.03,1,3.08l-7.08,6.9 + c-0.43,0.41-0.62,1.01-0.52,1.6l1.67,9.75c0.25,1.47-1.3,2.6-2.62,1.9l-8.75-4.6c-0.53-0.28-1.15-0.28-1.68,0l-8.75,4.6 + c-1.32,0.7-2.87-0.43-2.62-1.9l1.67-9.75c0.1-0.59-0.09-1.18-0.52-1.6l-7.08-6.9c-1.07-1.04-0.48-2.86,1-3.08l9.79-1.42 + c0.59-0.09,1.1-0.45,1.36-0.99l4.38-8.87C17.73-0.34,19.65-0.34,20.31,1.01z"/> + <path class="st0" d="M62.3,1.01l4.38,8.87c0.26,0.53,0.77,0.9,1.36,0.99l9.79,1.42c1.48,0.22,2.07,2.03,1,3.08l-7.08,6.9 + c-0.43,0.41-0.62,1.01-0.52,1.6l1.67,9.75c0.25,1.47-1.3,2.6-2.62,1.9l-8.75-4.6c-0.53-0.28-1.15-0.28-1.68,0l-8.75,4.6 + c-1.32,0.7-2.87-0.43-2.62-1.9l1.67-9.75c0.1-0.59-0.09-1.18-0.52-1.6l-7.08-6.9c-1.07-1.04-0.48-2.86,1-3.08l9.79-1.42 + c0.59-0.09,1.1-0.45,1.36-0.99l4.38-8.87C59.72-0.34,61.64-0.34,62.3,1.01z"/> + <path class="st0" d="M104.29,1.01l4.38,8.87c0.26,0.53,0.77,0.9,1.36,0.99l9.79,1.42c1.48,0.22,2.07,2.03,1,3.08l-7.08,6.9 + c-0.43,0.41-0.62,1.01-0.52,1.6l1.67,9.75c0.25,1.47-1.3,2.6-2.62,1.9l-8.75-4.6c-0.53-0.28-1.15-0.28-1.68,0l-8.75,4.6 + c-1.32,0.7-2.87-0.43-2.62-1.9l1.67-9.75c0.1-0.59-0.09-1.18-0.52-1.6l-7.08-6.9c-1.07-1.04-0.48-2.86,1-3.08l9.79-1.42 + c0.59-0.09,1.1-0.45,1.36-0.99l4.38-8.87C101.71-0.34,103.63-0.34,104.29,1.01z"/> + <path class="st0" d="M146.28,1.01l4.38,8.87c0.26,0.53,0.77,0.9,1.36,0.99l9.79,1.42c1.48,0.22,2.07,2.03,1,3.08l-7.08,6.9 + c-0.43,0.41-0.62,1.01-0.52,1.6l1.67,9.75c0.25,1.47-1.3,2.6-2.62,1.9l-8.75-4.6c-0.53-0.28-1.15-0.28-1.68,0l-8.75,4.6 + c-1.32,0.7-2.87-0.43-2.62-1.9l1.67-9.75c0.1-0.59-0.09-1.18-0.52-1.6l-7.08-6.9c-1.07-1.04-0.48-2.86,1-3.08l9.79-1.42 + c0.59-0.09,1.1-0.45,1.36-0.99l4.38-8.87C143.7-0.34,145.62-0.34,146.28,1.01z"/> + <path class="st0" d="M188.27,1.01l4.38,8.87c0.26,0.53,0.77,0.9,1.36,0.99l9.79,1.42c1.48,0.22,2.07,2.03,1,3.08l-7.08,6.9 + c-0.43,0.41-0.62,1.01-0.52,1.6l1.67,9.75c0.25,1.47-1.3,2.6-2.62,1.9l-8.75-4.6c-0.53-0.28-1.15-0.28-1.68,0l-8.75,4.6 + c-1.32,0.7-2.87-0.43-2.62-1.9l1.67-9.75c0.1-0.59-0.09-1.18-0.52-1.6l-7.08-6.9c-1.07-1.04-0.48-2.86,1-3.08l9.79-1.42 + c0.59-0.09,1.1-0.45,1.36-0.99l4.38-8.87C185.69-0.34,187.61-0.34,188.27,1.01z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/arrow_top.svg =================================================================== --- base3.10/src/main/webapp/images/custom/arrow_top.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/arrow_top.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 27.52 14.61" style="enable-background:new 0 0 27.52 14.61;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#333333;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <line class="st0" x1="1.5" y1="13.11" x2="13.76" y2="1.5"/> + <line class="st0" x1="26.02" y1="13.11" x2="13.76" y2="1.5"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_shrink.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_shrink.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_shrink.svg (revision 7) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="22.062px" height="22.062px" viewBox="0.54 0.404 22.062 22.062" enable-background="new 0.54 0.404 22.062 22.062" + xml:space="preserve"> +<g> + <path fill="#221F1F" d="M16.782,12.204H6.359c-0.425,0-0.77-0.345-0.77-0.77s0.345-0.77,0.77-0.77h10.423 + c0.425,0,0.77,0.345,0.77,0.77S17.207,12.204,16.782,12.204z"/> + <path fill="#221F1F" d="M11.571,22.466c-6.083,0-11.031-4.948-11.031-11.031c0-6.083,4.949-11.031,11.031-11.031 + s11.031,4.948,11.031,11.031C22.602,17.518,17.653,22.466,11.571,22.466z M11.571,1.943c-5.234,0-9.492,4.258-9.492,9.492 + c0,5.233,4.258,9.492,9.492,9.492s9.492-4.259,9.492-9.492C21.063,6.201,16.805,1.943,11.571,1.943z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_update_on.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_update_on.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_update_on.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 39.4 39.2" style="enable-background:new 0 0 39.4 39.2;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#007DC3;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M31.8,21.2V31c0,3.7-3,6.8-6.8,6.8H8.3c-3.7,0-6.8-3-6.8-6.8V14.2c0-3.7,3-6.8,6.8-6.8H18"/> + <path class="st0" d="M18.8,25.1l-6.3,1.7l1.7-6.3L32.3,2.4c1.3-1.3,3.3-1.3,4.6,0s1.3,3.3,0,4.6L18.8,25.1z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/tech_img.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/tech_img.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_mouse.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_mouse.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_mouse.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 76.4 110" style="enable-background:new 0 0 76.4 110;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;stroke:#333333;stroke-width:9;stroke-miterlimit:10;} + .st1{fill:none;stroke:#333333;stroke-width:9;stroke-linejoin:bevel;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M43.9,105H32.5C17.4,105,5,92.6,5,77.5V32.5C5,17.4,17.4,5,32.5,5h11.4C59,5,71.4,17.4,71.4,32.5v44.9 + C71.4,92.6,59.3,105,43.9,105"/> + <line class="st1" x1="38.3" y1="5" x2="38.3" y2="39.8"/> + <line class="st1" x1="5" y1="39.8" x2="71.4" y2="39.8"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/drop1.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/drop1.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_tree_checkbox_true_full.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_checkbox_true_full.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_checkbox_true_full.svg (revision 7) @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="24.166px" height="24.165px" viewBox="33.75 0 24.166 24.165" enable-background="new 33.75 0 24.166 24.165" + xml:space="preserve"> +<path fill="#FFFFFF" d="M35.85,23.588c-0.84,0-1.523-0.684-1.523-1.521V2.099c0-0.839,0.684-1.522,1.523-1.522h19.967 + c0.84,0,1.523,0.683,1.523,1.522v19.968c0,0.84-0.684,1.521-1.523,1.521H35.85z"/> +<path fill="#338200" d="M55.816,0H35.85c-1.158,0-2.101,0.942-2.101,2.099v19.968c0,1.156,0.942,2.098,2.101,2.098h19.967 + c1.159,0,2.102-0.941,2.102-2.098V2.098C57.916,0.941,56.973,0,55.816,0z M55.816,23.01H35.85c-0.522,0-0.947-0.424-0.947-0.945 + V2.099c0-0.522,0.425-0.946,0.947-0.946h19.967V1.151c0.522,0,0.947,0.424,0.947,0.946v19.968 + C56.764,22.586,56.339,23.01,55.816,23.01z"/> +<path fill="#338200" d="M43.988,17.477c-0.264,0-0.531-0.102-0.734-0.305l-4.193-4.191c-0.406-0.406-0.406-1.063,0-1.469 + c0.404-0.404,1.061-0.407,1.467,0l3.461,3.457l7.15-7.149c0.406-0.405,1.063-0.405,1.469,0c0.406,0.406,0.406,1.063,0,1.469 + l-7.885,7.884C44.52,17.375,44.256,17.477,43.988,17.477z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_checkbox_disable.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_checkbox_disable.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_checkbox_disable.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="24.166px" height="24.165px" viewBox="0 0 24.166 24.165" enable-background="new 0 0 24.166 24.165" xml:space="preserve"> +<path fill="#DDDDDD" d="M2.1,23.588c-0.84,0-1.523-0.685-1.523-1.521V2.099c0-0.839,0.684-1.522,1.523-1.522h19.966 + c0.84,0,1.522,0.683,1.522,1.522v19.968c0,0.84-0.685,1.521-1.522,1.521H2.1z"/> +<path fill="#8C8C8C" d="M22.065,0H2.099c-1.158,0-2.1,0.942-2.1,2.099v19.967c0,1.156,0.942,2.098,2.1,2.098h19.966 + c1.159,0,2.102-0.941,2.102-2.098V2.099C24.165,0.942,23.222,0,22.065,0z M22.065,23.01H2.099c-0.522,0-0.947-0.424-0.947-0.945V2.1 + c0-0.522,0.425-0.946,0.947-0.946l19.966-0.002c0.522,0,0.947,0.424,0.947,0.946v19.967C23.013,22.586,22.588,23.01,22.065,23.01z" + /> +<path fill="#8C8C8C" d="M10.235,17.063c-0.264,0-0.53-0.102-0.733-0.305L5.31,12.567c-0.406-0.406-0.406-1.063,0-1.469 + c0.403-0.404,1.061-0.407,1.467,0l3.461,3.457l7.15-7.149c0.405-0.405,1.063-0.405,1.469,0c0.406,0.406,0.406,1.063,0,1.469 + l-7.885,7.883C10.769,16.961,10.504,17.063,10.235,17.063z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_cloud2.svg =================================================================== --- base3.10/src/main/webapp/images/custom/bg_cloud2.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/bg_cloud2.svg (revision 7) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 179.1 124.6" style="enable-background:new 0 0 179.1 124.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#6E8CFD;} + .st1{fill:#3BBCFD;} +</style> +<g> + <path class="st0" d="M64.2,107.2c-0.4,0-0.8,0-1.3,0.1c-2-3.9-6-6.7-10.7-6.7c-0.1,0-0.3,0-0.4,0c-1.9-9-9.9-15.7-19.4-15.7 + c-9.5,0-17.5,6.7-19.4,15.7c-0.3,0-0.7,0-1,0c-6.6,0-12,5.4-12,12s5.4,12,12,12h52.2c4.8,0,8.7-3.9,8.7-8.7 + C72.9,111.1,69,107.2,64.2,107.2z"/> + <path class="st1" d="M165,36c-0.7,0-1.4,0.1-2,0.1c-3.2-6.4-9.8-10.8-17.4-10.8c-0.2,0-0.5,0-0.7,0C141.9,10.9,129,0,113.6,0 + C98.1,0,85.3,10.9,82.2,25.4c-0.5,0-1.1-0.1-1.6-0.1c-10.7,0-19.4,8.7-19.4,19.4c0,10.7,8.7,19.4,19.4,19.4H165 + c7.8,0,14.1-6.3,14.1-14.1C179.1,42.3,172.8,36,165,36z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_blank_w_focus.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_blank_w_focus.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_blank_w_focus.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 37.3 37.3" style="enable-background:new 0 0 37.3 37.3;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="25.8,1.5 35.8,1.5 35.8,11.5 "/> + <line class="st0" x1="35.8" y1="1.5" x2="18.2" y2="19.1"/> +</g> +<path class="st0" d="M35.8,17.1v11c0,4.2-3.4,7.7-7.7,7.7h-19c-4.2,0-7.7-3.4-7.7-7.7v-19c0-4.2,3.4-7.7,7.7-7.7h11"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tos1.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tos1.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tos1.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 28.7 29" style="enable-background:new 0 0 28.7 29;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:1.2209;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <line class="st0" x1="9.9" y1="16.9" x2="18.8" y2="21.4"/> + <path class="st0" d="M9.9,14.5c0,2.6-2.1,4.6-4.6,4.6c-2.6,0-4.6-2.1-4.6-4.6s2.1-4.6,4.6-4.6C7.8,9.9,9.9,12,9.9,14.5z"/> + <path class="st0" d="M28.1,5.2c0,2.6-2.1,4.6-4.6,4.6c-2.6,0-4.6-2.1-4.6-4.6s2.1-4.6,4.6-4.6C26,0.6,28.1,2.7,28.1,5.2z"/> + <path class="st0" d="M28.1,23.8c0,2.6-2.1,4.6-4.6,4.6c-2.6,0-4.6-2.1-4.6-4.6s2.1-4.6,4.6-4.6C26,19.1,28.1,21.2,28.1,23.8z"/> + <line class="st0" x1="10.1" y1="12" x2="18.8" y2="7.6"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/chatbot_arrow_bg.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/chatbot_arrow_bg.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/item.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/item.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/drop2.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/drop2.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/symbol.svg =================================================================== --- base3.10/src/main/webapp/images/custom/symbol.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/symbol.svg (revision 7) @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="58px" height="58px" viewBox="0 0 58 58" enable-background="new 0 0 58 58" xml:space="preserve"> +<g> + <g> + <g> + <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-4.1538" y1="5.4268" x2="47.8462" y2="47.4268"> + <stop offset="0" style="stop-color:#0089CC"/> + <stop offset="1" style="stop-color:#37308F"/> + </linearGradient> + <path fill="url(#SVGID_1_)" d="M31.729,57.867c13.733-1.281,24.686-12.138,26.111-25.828 + C44.127,33.326,33.16,44.197,31.729,57.867z"/> + <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-2.583" y1="3.4819" x2="49.417" y2="45.4819"> + <stop offset="0" style="stop-color:#0089CC"/> + <stop offset="1" style="stop-color:#37308F"/> + </linearGradient> + <path fill="url(#SVGID_2_)" d="M38.771,8.106c4.61,0,8.98,1.026,12.916,2.841C46.375,4.278,38.189,0,29,0C12.984,0,0,12.982,0,29 + c0,8.822,3.945,16.719,10.161,22.037C8.622,47.362,7.77,43.334,7.77,39.106C7.771,22.014,21.677,8.106,38.771,8.106z"/> + <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-3.6348" y1="4.7837" x2="48.3652" y2="46.7837"> + <stop offset="0" style="stop-color:#0089CC"/> + <stop offset="1" style="stop-color:#37308F"/> + </linearGradient> + <path fill="url(#SVGID_3_)" d="M20.563,49.899c0,2.451,0.318,4.828,0.896,7.104C23.864,57.647,26.391,58,29,58 + c0.238,0,0.475-0.015,0.711-0.019c1.398-14.873,13.348-26.715,28.264-27.959C57.986,29.684,58,29.344,58,29 + c0-2.449-0.307-4.825-0.878-7.097c-2.41-0.653-4.944-1.004-7.56-1.004C33.572,20.899,20.563,33.91,20.563,49.899z"/> + <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-3.1323" y1="4.1621" x2="48.8677" y2="46.1621"> + <stop offset="0" style="stop-color:#0089CC"/> + <stop offset="1" style="stop-color:#37308F"/> + </linearGradient> + <path fill="url(#SVGID_4_)" d="M9.771,39.106c0,5.285,1.426,10.242,3.908,14.513c1.738,1.084,3.597,1.989,5.555,2.688 + c-0.438-2.067-0.67-4.211-0.67-6.408c0-17.094,13.907-31,31-31c2.371,0,4.679,0.277,6.898,0.785 + c-0.611-1.803-1.395-3.524-2.331-5.149c-4.457-2.8-9.719-4.429-15.36-4.429C22.78,10.106,9.771,23.117,9.771,39.106z"/> + </g> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/box_body1.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/box_body1.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_plus.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_plus.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_plus.svg (revision 7) @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="27px" height="27px" viewBox="0 0 27 27" enable-background="new 0 0 27 27" xml:space="preserve"> +<line fill="none" stroke="#282828" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="2.333" y1="13.5" x2="24.668" y2="13.5"/> +<line fill="none" stroke="#282828" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="13.775" y1="2.333" x2="13.775" y2="24.666"/> +</svg> Index: base3.10/src/main/webapp/images/custom/logo.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/logo.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_tos2.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tos2.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tos2.svg (revision 7) @@ -0,0 +1,253 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 31.8 31.5" style="enable-background:new 0 0 31.8 31.5;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <g> + <g> + <path class="st0" d="M13.1,6.4C13.1,6.4,13.1,6.4,13.1,6.4C13.1,6.4,13.1,6.4,13.1,6.4C13.1,6.4,13.1,6.4,13.1,6.4z"/> + <path class="st0" d="M13.3,6.4c0,0-0.1,0-0.1,0C13.2,6.4,13.3,6.4,13.3,6.4C13.3,6.4,13.3,6.4,13.3,6.4z"/> + <path class="st0" d="M16.2,8c-0.1,0-0.1-0.1-0.2-0.1C16.1,7.9,16.1,7.9,16.2,8C16.1,8,16.2,8,16.2,8z"/> + <path class="st0" d="M15.8,7.7c-0.1,0-0.1-0.1-0.1-0.1C15.7,7.7,15.7,7.7,15.8,7.7C15.8,7.7,15.8,7.7,15.8,7.7z"/> + <path class="st0" d="M15.9,7.8C15.9,7.8,15.9,7.8,15.9,7.8C15.9,7.8,15.9,7.8,15.9,7.8C15.9,7.8,15.9,7.8,15.9,7.8z"/> + <path class="st0" d="M12.6,6.3c0,0,0.1,0,0.1,0C12.6,6.3,12.6,6.3,12.6,6.3z"/> + <path class="st0" d="M13,6.4C13,6.4,13,6.3,13,6.4C13,6.3,13,6.4,13,6.4L13,6.4z"/> + <path class="st0" d="M13.6,6.6L13.6,6.6L13.6,6.6z"/> + <path class="st0" d="M12.8,6.3C12.8,6.3,12.7,6.3,12.8,6.3C12.7,6.3,12.7,6.3,12.8,6.3C12.8,6.3,12.8,6.3,12.8,6.3z"/> + <path class="st0" d="M12.9,6.3c-0.1,0-0.1,0-0.1,0c0,0,0,0,0,0C12.9,6.3,12.9,6.3,12.9,6.3z"/> + <path class="st0" d="M15.3,7.4c-0.1,0-0.1-0.1-0.2-0.1c0,0,0,0,0,0C15.2,7.4,15.2,7.4,15.3,7.4z"/> + <path class="st0" d="M14.7,7.1C14.6,7,14.5,7,14.5,6.9C14.5,7,14.6,7,14.7,7.1C14.7,7.1,14.7,7.1,14.7,7.1z"/> + <polygon class="st0" points="14.4,6.9 14.4,6.9 14.4,6.9 "/> + <path class="st0" d="M13.4,6.5c0.1,0,0.1,0.1,0.2,0.1C13.5,6.5,13.5,6.5,13.4,6.5z"/> + <path class="st0" d="M14.3,6.9c0,0-0.1,0-0.1-0.1C14.2,6.8,14.3,6.8,14.3,6.9C14.3,6.9,14.3,6.9,14.3,6.9z"/> + <path class="st0" d="M12.5,6.3c0,0-0.1,0-0.1,0C12.4,6.3,12.4,6.3,12.5,6.3L12.5,6.3z"/> + <path class="st0" d="M14.7,7.1L14.7,7.1L14.7,7.1z"/> + <polygon class="st0" points="13.9,6.7 13.9,6.7 13.9,6.7 "/> + <path class="st0" d="M13.9,6.7c-0.1,0-0.1-0.1-0.2-0.1c0,0,0,0,0,0C13.8,6.6,13.8,6.6,13.9,6.7z"/> + <path class="st0" d="M15.6,7.6C15.6,7.6,15.6,7.6,15.6,7.6C15.5,7.6,15.5,7.6,15.6,7.6C15.6,7.6,15.6,7.6,15.6,7.6z"/> + <path class="st0" d="M14.1,6.8c0,0-0.1,0-0.1-0.1C14,6.7,14,6.7,14.1,6.8C14.1,6.8,14.1,6.8,14.1,6.8z"/> + <path class="st0" d="M14.8,7.1c0.1,0,0.1,0.1,0.2,0.1C14.9,7.2,14.8,7.1,14.8,7.1z"/> + <path class="st0" d="M15.5,7.5c0,0-0.1,0-0.1-0.1C15.4,7.5,15.4,7.5,15.5,7.5C15.4,7.5,15.4,7.5,15.5,7.5z"/> + <path class="st0" d="M12,6.3C12,6.3,11.9,6.3,12,6.3C11.9,6.3,11.9,6.3,12,6.3C11.9,6.3,12,6.3,12,6.3z"/> + <path class="st0" d="M16.6,8.3c-0.1-0.1-0.1-0.1-0.2-0.1C16.4,8.2,16.5,8.2,16.6,8.3C16.5,8.2,16.5,8.3,16.6,8.3z"/> + <path class="st0" d="M11.7,6.4C11.7,6.4,11.7,6.4,11.7,6.4C11.7,6.4,11.7,6.4,11.7,6.4C11.7,6.4,11.7,6.4,11.7,6.4z"/> + <path class="st0" d="M12.1,6.3C12.1,6.3,12,6.3,12.1,6.3C12,6.3,12,6.3,12.1,6.3C12.1,6.3,12.1,6.3,12.1,6.3z"/> + <path class="st0" d="M11.5,6.5C11.5,6.6,11.5,6.6,11.5,6.5C11.5,6.6,11.5,6.6,11.5,6.5C11.5,6.6,11.5,6.5,11.5,6.5z"/> + <path class="st0" d="M16.7,8.4c0.1,0.1,0.2,0.2,0.3,0.2C16.9,8.5,16.8,8.4,16.7,8.4z"/> + <path class="st0" d="M11.6,6.4C11.6,6.4,11.6,6.5,11.6,6.4C11.6,6.5,11.6,6.5,11.6,6.4C11.6,6.5,11.6,6.4,11.6,6.4z"/> + <path class="st0" d="M11.4,6.7C11.4,6.7,11.4,6.7,11.4,6.7C11.4,6.7,11.4,6.7,11.4,6.7z"/> + <path class="st0" d="M11.8,6.4C11.8,6.3,11.8,6.3,11.8,6.4C11.8,6.3,11.8,6.3,11.8,6.4z"/> + <path class="st0" d="M9.7,10.5L10,9.9C9.9,10.1,9.8,10.3,9.7,10.5z"/> + <path class="st0" d="M11.6,6.5L11.6,6.5C11.6,6.5,11.6,6.5,11.6,6.5C11.6,6.5,11.6,6.5,11.6,6.5z"/> + <path class="st0" d="M10.4,9l1-2.3C11.1,7.5,10.7,8.3,10.4,9z"/> + <path class="st0" d="M12.3,6.3C12.3,6.3,12.3,6.3,12.3,6.3C12.3,6.3,12.3,6.3,12.3,6.3C12.3,6.3,12.3,6.3,12.3,6.3z"/> + <path class="st0" d="M11.7,6.4C11.7,6.4,11.7,6.4,11.7,6.4C11.7,6.4,11.7,6.4,11.7,6.4C11.7,6.4,11.7,6.4,11.7,6.4z"/> + <path class="st0" d="M12.2,6.3C12.1,6.3,12.1,6.3,12.2,6.3C12.1,6.3,12.1,6.3,12.2,6.3C12.1,6.3,12.1,6.3,12.2,6.3z"/> + <path class="st0" d="M12.3,6.3C12.2,6.3,12.2,6.3,12.3,6.3C12.2,6.3,12.2,6.3,12.3,6.3C12.2,6.3,12.3,6.3,12.3,6.3z"/> + <polygon class="st0" points="11.4,6.7 11.4,6.7 11.4,6.7 "/> + <path class="st0" d="M23.6,15.4c0.1,0.1,0.1,0.2,0.2,0.3C23.7,15.6,23.6,15.5,23.6,15.4z"/> + <path class="st0" d="M18.8,10.1c0.3,0.2,0.5,0.5,0.8,0.8C19.4,10.6,19.1,10.4,18.8,10.1z"/> + <path class="st0" d="M23.9,15.9c0.1,0.1,0.1,0.2,0.2,0.3C24,16.1,23.9,16,23.9,15.9z"/> + <path class="st0" d="M18,9.4c0.3,0.2,0.6,0.5,0.9,0.7C18.5,9.8,18.2,9.6,18,9.4z"/> + <path class="st0" d="M21.8,13.2c0.1,0.1,0.2,0.2,0.3,0.3C22,13.4,21.9,13.3,21.8,13.2z"/> + <path class="st0" d="M20.6,11.8c0.1,0.1,0.2,0.2,0.3,0.3C20.8,12,20.7,11.9,20.6,11.8z"/> + <path class="st0" d="M21.4,12.7c0.1,0.1,0.2,0.2,0.3,0.4C21.6,13,21.5,12.8,21.4,12.7z"/> + <path class="st0" d="M21,12.3c0.1,0.1,0.2,0.3,0.4,0.4C21.2,12.5,21.1,12.4,21,12.3z"/> + <path class="st0" d="M22.6,14.1c0.1,0.1,0.2,0.2,0.3,0.3C22.8,14.3,22.7,14.2,22.6,14.1z"/> + <path class="st0" d="M22.2,13.6c0.1,0.1,0.2,0.3,0.3,0.4C22.4,13.9,22.3,13.8,22.2,13.6z"/> + <path class="st0" d="M22.9,14.5c0.1,0.1,0.2,0.2,0.2,0.3C23.1,14.8,23,14.7,22.9,14.5z"/> + <path class="st0" d="M19.7,10.9c0.3,0.3,0.5,0.5,0.8,0.8C20.2,11.5,20,11.2,19.7,10.9z"/> + <path class="st0" d="M23.2,15c0.1,0.1,0.2,0.3,0.3,0.4C23.4,15.2,23.3,15.1,23.2,15z"/> + <path class="st0" d="M24.9,20.1C24.9,20.1,24.9,20.1,24.9,20.1C24.9,20.1,24.9,20.1,24.9,20.1z"/> + <path class="st0" d="M25,20C25,20,25,20,25,20C25,20,25,20,25,20z"/> + <path class="st0" d="M25.2,19.6C25.2,19.6,25.2,19.6,25.2,19.6C25.2,19.6,25.2,19.6,25.2,19.6z"/> + <path class="st0" d="M24.8,20.1C24.8,20.1,24.8,20.1,24.8,20.1C24.8,20.1,24.8,20.1,24.8,20.1z"/> + <path class="st0" d="M25.1,19.9C25.1,19.9,25.1,19.9,25.1,19.9C25.1,19.9,25.1,19.9,25.1,19.9z"/> + <path class="st0" d="M25.2,19.7C25.2,19.8,25.2,19.8,25.2,19.7C25.2,19.8,25.2,19.8,25.2,19.7z"/> + <path class="st0" d="M11.4,6.7C11.4,6.7,11.4,6.7,11.4,6.7C11.4,6.7,11.4,6.7,11.4,6.7z"/> + <path class="st0" d="M11.6,6.5C11.6,6.5,11.6,6.5,11.6,6.5C11.5,6.5,11.5,6.5,11.6,6.5C11.5,6.5,11.5,6.6,11.6,6.5 + C11.5,6.5,11.6,6.5,11.6,6.5z"/> + <path class="st0" d="M11.5,6.6C11.5,6.6,11.5,6.6,11.5,6.6C11.4,6.7,11.4,6.7,11.5,6.6c-0.1,0.1-0.1,0.1-0.1,0.1l0,0 + C11.4,6.7,11.4,6.6,11.5,6.6z"/> + <path class="st0" d="M11.5,6.5C11.5,6.5,11.6,6.5,11.5,6.5C11.5,6.5,11.5,6.5,11.5,6.5z"/> + <path class="st0" d="M24.1,16.2c0.1,0.1,0.1,0.2,0.2,0.4C24.2,16.5,24.2,16.4,24.1,16.2z"/> + <path class="st0" d="M24.7,17.4c0,0.1,0.1,0.2,0.1,0.3C24.8,17.7,24.8,17.5,24.7,17.4z"/> + <path class="st0" d="M25,18.2c0,0.1,0.1,0.2,0.1,0.3C25.1,18.4,25.1,18.3,25,18.2z"/> + <path class="st0" d="M24.9,17.9c0,0.1,0.1,0.2,0.1,0.2C25,18,25,17.9,24.9,17.9z"/> + <path class="st0" d="M24.4,16.7c0,0.1,0.1,0.2,0.1,0.3C24.5,16.9,24.4,16.8,24.4,16.7z"/> + <path class="st0" d="M25.2,19.5L25.2,19.5L25.2,19.5z"/> + <path class="st0" d="M24.6,17.1c0,0.1,0.1,0.2,0.1,0.3C24.7,17.3,24.6,17.2,24.6,17.1z"/> + <path class="st0" d="M25.3,19.1C25.3,19.1,25.3,19.2,25.3,19.1C25.3,19.1,25.3,19.1,25.3,19.1z"/> + <path class="st0" d="M25.3,19.3C25.3,19.3,25.3,19.3,25.3,19.3C25.3,19.3,25.3,19.3,25.3,19.3z"/> + <path class="st0" d="M25.2,18.9C25.2,18.9,25.2,18.9,25.2,18.9C25.2,18.9,25.2,18.9,25.2,18.9z"/> + <path class="st0" d="M25.2,18.7C25.2,18.7,25.2,18.7,25.2,18.7C25.2,18.7,25.2,18.7,25.2,18.7z"/> + <path class="st0" d="M12.2,6.3C12.2,6.3,12.2,6.3,12.2,6.3L12.2,6.3c-0.1,0-0.1,0-0.1,0C12.1,6.3,12.2,6.3,12.2,6.3z"/> + <path class="st0" d="M13.1,6.4C13.1,6.4,13.2,6.4,13.1,6.4C13.2,6.4,13.1,6.4,13.1,6.4z"/> + <path class="st0" d="M13.4,6.5C13.4,6.5,13.4,6.5,13.4,6.5C13.4,6.4,13.4,6.5,13.4,6.5C13.4,6.5,13.4,6.5,13.4,6.5z"/> + <path class="st0" d="M12,6.3C12,6.3,12,6.3,12,6.3C12,6.3,12,6.3,12,6.3z"/> + <path class="st0" d="M13.3,6.4C13.2,6.4,13.2,6.4,13.3,6.4c-0.1,0-0.1,0-0.2-0.1c0,0,0,0,0,0C13.1,6.4,13.2,6.4,13.3,6.4z"/> + <path class="st0" d="M11.9,6.3C11.9,6.3,11.9,6.3,11.9,6.3L11.9,6.3C11.9,6.3,11.9,6.3,11.9,6.3z"/> + <path class="st0" d="M11.9,6.3L11.9,6.3C11.8,6.3,11.8,6.3,11.9,6.3c-0.1,0-0.1,0-0.1,0h0C11.8,6.3,11.8,6.3,11.9,6.3z"/> + <path class="st0" d="M11.7,6.4C11.8,6.4,11.8,6.4,11.7,6.4C11.8,6.4,11.8,6.4,11.7,6.4z"/> + <path class="st0" d="M13.9,6.7L13.9,6.7C13.9,6.7,13.9,6.7,13.9,6.7c-0.1-0.1-0.2-0.1-0.3-0.1C13.8,6.6,13.9,6.7,13.9,6.7z"/> + <path class="st0" d="M11.7,6.4C11.7,6.4,11.7,6.4,11.7,6.4C11.6,6.4,11.6,6.4,11.7,6.4c-0.1,0.1-0.1,0.1-0.1,0.1 + C11.6,6.4,11.7,6.4,11.7,6.4z"/> + <path class="st0" d="M13.6,6.6L13.6,6.6C13.6,6.6,13.6,6.6,13.6,6.6c-0.1,0-0.2-0.1-0.2-0.1c0,0,0,0,0,0 + C13.5,6.5,13.6,6.5,13.6,6.6z"/> + <path class="st0" d="M12.9,6.3C12.9,6.3,12.9,6.3,12.9,6.3C12.9,6.3,12.9,6.3,12.9,6.3z"/> + <path class="st0" d="M11.5,6.6C11.5,6.6,11.5,6.6,11.5,6.6C11.5,6.6,11.5,6.6,11.5,6.6C11.5,6.6,11.5,6.6,11.5,6.6z"/> + <path class="st0" d="M11.6,6.4C11.6,6.4,11.6,6.4,11.6,6.4C11.6,6.4,11.6,6.4,11.6,6.4z"/> + <path class="st0" d="M12.6,6.3C12.5,6.3,12.5,6.3,12.6,6.3C12.5,6.3,12.5,6.3,12.6,6.3C12.5,6.3,12.6,6.3,12.6,6.3z"/> + <path class="st0" d="M12.5,6.3c0,0-0.1,0-0.1,0c0,0,0,0-0.1,0s0,0,0,0C12.4,6.3,12.4,6.3,12.5,6.3z"/> + <path class="st0" d="M12.8,6.3C12.8,6.3,12.7,6.3,12.8,6.3C12.7,6.3,12.7,6.3,12.8,6.3c-0.1,0-0.2,0-0.2,0c0,0,0,0,0,0 + C12.6,6.3,12.7,6.3,12.8,6.3z"/> + <path class="st0" d="M13,6.4C13,6.4,13,6.3,13,6.4C12.9,6.3,12.9,6.3,13,6.4c-0.1,0-0.1,0-0.2,0C12.9,6.3,12.9,6.3,13,6.4z"/> + <path class="st0" d="M12.1,6.3C12,6.3,12,6.3,12.1,6.3C12,6.3,12,6.3,12.1,6.3c-0.1,0-0.1,0-0.1,0C11.9,6.3,12,6.3,12.1,6.3z"/> + <path class="st0" d="M12.7,6.3C12.7,6.3,12.7,6.3,12.7,6.3C12.7,6.3,12.7,6.3,12.7,6.3z"/> + <path class="st0" d="M12.2,6.3L12.2,6.3C12.2,6.3,12.2,6.3,12.2,6.3z"/> + <path class="st0" d="M16.7,8.4c0,0-0.1-0.1-0.1-0.1C16.6,8.3,16.6,8.3,16.7,8.4C16.7,8.3,16.7,8.4,16.7,8.4z"/> + <path class="st0" d="M15.6,7.6C15.6,7.6,15.6,7.6,15.6,7.6C15.6,7.6,15.6,7.6,15.6,7.6z"/> + <path class="st0" d="M13.6,6.6C13.6,6.6,13.6,6.6,13.6,6.6C13.6,6.6,13.6,6.6,13.6,6.6z"/> + <path class="st0" d="M16.1,8C16.1,7.9,16.1,7.9,16.1,8C16,7.9,16,7.9,16,7.8c0,0,0,0-0.1,0C16,7.9,16,7.9,16.1,8z"/> + <path class="st0" d="M15.3,7.4c0,0,0.1,0,0.1,0.1C15.3,7.4,15.3,7.4,15.3,7.4z"/> + <path class="st0" d="M15.8,7.7c0,0-0.1-0.1-0.1-0.1c0,0,0,0-0.1,0c0,0,0,0,0,0C15.6,7.6,15.7,7.7,15.8,7.7z"/> + <path class="st0" d="M17,8.6c-0.1-0.1-0.2-0.2-0.3-0.2c0,0,0,0,0,0C16.8,8.4,16.9,8.5,17,8.6z"/> + <path class="st0" d="M14.7,7.1C14.7,7.1,14.7,7.1,14.7,7.1C14.7,7.1,14.7,7.1,14.7,7.1z"/> + <path class="st0" d="M16.4,8.1c0,0-0.1-0.1-0.1-0.1c0,0,0,0,0,0C16.3,8.1,16.3,8.1,16.4,8.1z"/> + <path class="st0" d="M12.3,6.3C12.3,6.3,12.4,6.3,12.3,6.3C12.4,6.3,12.3,6.3,12.3,6.3z"/> + <path class="st0" d="M16.5,8.2c0,0-0.1-0.1-0.1-0.1c0,0-0.1-0.1-0.1-0.1C16.4,8.1,16.4,8.2,16.5,8.2z"/> + <path class="st0" d="M15.9,7.8C16,7.9,16,7.9,15.9,7.8C16,7.9,16,7.9,15.9,7.8z"/> + <path class="st0" d="M13.9,6.7C13.9,6.7,13.9,6.7,13.9,6.7C13.9,6.7,13.9,6.7,13.9,6.7z"/> + <path class="st0" d="M14.3,6.8C14.2,6.8,14.2,6.8,14.3,6.8c-0.1-0.1-0.1-0.1-0.2-0.1c0,0-0.1,0-0.1,0C14.1,6.8,14.2,6.8,14.3,6.8 + z"/> + <path class="st0" d="M17,8.6c0.3,0.2,0.6,0.5,0.9,0.7C17.6,9.1,17.3,8.8,17,8.6z"/> + <path class="st0" d="M14.7,7.1c-0.1,0-0.1-0.1-0.2-0.1c0,0-0.1,0-0.1,0l0,0C14.5,6.9,14.6,7,14.7,7.1z"/> + <path class="st0" d="M14.1,6.8C14.1,6.8,14.2,6.8,14.1,6.8C14.2,6.8,14.1,6.8,14.1,6.8z"/> + <path class="st0" d="M14.4,6.9C14.4,6.9,14.4,6.9,14.4,6.9C14.4,6.9,14.4,6.9,14.4,6.9z"/> + <path class="st0" d="M15.1,7.3C15.1,7.3,15,7.2,15.1,7.3C15,7.2,15,7.3,15.1,7.3C15.1,7.3,15.1,7.3,15.1,7.3z"/> + <path class="st0" d="M15.4,7.5C15.4,7.5,15.4,7.5,15.4,7.5c-0.1-0.1-0.1-0.1-0.2-0.1s-0.1-0.1-0.1-0.1 + C15.2,7.4,15.3,7.4,15.4,7.5z"/> + <path class="st0" d="M15.1,7.3C15,7.3,15,7.3,15.1,7.3c-0.1-0.1-0.2-0.1-0.3-0.2c0,0,0,0-0.1,0l0,0C14.8,7.1,14.9,7.2,15.1,7.3z" + /> + <path class="st0" d="M25.1,18.5c0,0.1,0,0.1,0,0.2C25.2,18.6,25.2,18.6,25.1,18.5z"/> + <path class="st0" d="M25,20C25,20,25,20,25,20C25,20,25,20,25,20z"/> + <path class="st0" d="M25.3,19.2c0,0,0,0.1,0,0.1C25.3,19.2,25.3,19.2,25.3,19.2z"/> + <path class="st0" d="M25.2,18.8c0,0,0,0.1,0,0.1C25.2,18.9,25.2,18.8,25.2,18.8z"/> + <path class="st0" d="M25.3,19.3c0,0,0,0.1,0,0.1C25.3,19.4,25.3,19.4,25.3,19.3z"/> + <path class="st0" d="M25.2,18.9c0,0.1,0,0.1,0,0.2C25.3,19.1,25.2,19,25.2,18.9z"/> + <path class="st0" d="M25.1,19.9C25.1,19.9,25,20,25.1,19.9C25,19.9,25.1,19.9,25.1,19.9z"/> + <path class="st0" d="M25.2,19.5c0,0,0,0.1,0,0.1C25.2,19.6,25.2,19.5,25.2,19.5z"/> + <path class="st0" d="M25.2,19.8c0,0,0,0.1-0.1,0.1C25.1,19.8,25.1,19.8,25.2,19.8z"/> + <path class="st0" d="M25.2,19.7c0,0,0,0.1,0,0.1C25.2,19.7,25.2,19.7,25.2,19.7z"/> + <path class="st0" d="M24.9,20.1C24.9,20.1,24.9,20.1,24.9,20.1C24.9,20.1,24.9,20.1,24.9,20.1z"/> + <path class="st0" d="M22,19.5c0,0,0.1,0,0.1,0.1C22,19.5,22,19.5,22,19.5z"/> + <path class="st0" d="M22.4,19.7C22.4,19.7,22.4,19.7,22.4,19.7C22.4,19.7,22.4,19.7,22.4,19.7z"/> + <path class="st0" d="M23,20C23.1,20,23.1,20,23,20C23.1,20,23.1,20,23,20z"/> + <path class="st0" d="M22.7,19.9C22.8,19.9,22.8,19.9,22.7,19.9C22.8,19.9,22.8,19.9,22.7,19.9z"/> + <path class="st0" d="M20.4,18.5c0,0,0.1,0.1,0.1,0.1C20.5,18.6,20.4,18.5,20.4,18.5z"/> + <path class="st0" d="M21.3,19.1C21.3,19.1,21.3,19.1,21.3,19.1C21.3,19.1,21.3,19.1,21.3,19.1z"/> + <path class="st0" d="M20.8,18.8C20.8,18.8,20.9,18.8,20.8,18.8C20.9,18.8,20.8,18.8,20.8,18.8z"/> + <path class="st0" d="M23.3,20.1C23.4,20.1,23.4,20.1,23.3,20.1C23.4,20.1,23.4,20.1,23.3,20.1z"/> + <path class="st0" d="M24.2,20.3C24.2,20.3,24.1,20.3,24.2,20.3C24.1,20.2,24.2,20.3,24.2,20.3z"/> + <path class="st0" d="M24.6,20.2C24.6,20.2,24.6,20.2,24.6,20.2C24.6,20.2,24.6,20.2,24.6,20.2z"/> + <path class="st0" d="M24.8,20.2C24.8,20.2,24.8,20.2,24.8,20.2C24.8,20.2,24.8,20.2,24.8,20.2C24.8,20.2,24.8,20.2,24.8,20.2z"/> + <path class="st0" d="M23.6,20.2C23.7,20.2,23.7,20.2,23.6,20.2C23.7,20.2,23.7,20.2,23.6,20.2z"/> + <path class="st0" d="M20,18.2c0,0,0.1,0.1,0.1,0.1C20,18.3,20,18.2,20,18.2z"/> + <path class="st0" d="M23.9,20.2C23.9,20.2,23.9,20.2,23.9,20.2C24,20.2,23.9,20.2,23.9,20.2z"/> + <path class="st0" d="M24.4,20.2L24.4,20.2C24.4,20.2,24.4,20.2,24.4,20.2z"/> + <path class="st0" d="M21.6,19.3c0,0,0.1,0,0.1,0.1C21.7,19.3,21.7,19.3,21.6,19.3z"/> + <path class="st0" d="M24.6,20.2c0,0,0.1,0,0.1,0C24.7,20.2,24.7,20.2,24.6,20.2z"/> + <path class="st0" d="M22.1,19.6c0.1,0.1,0.2,0.1,0.3,0.2C22.3,19.7,22.2,19.6,22.1,19.6z"/> + <path class="st0" d="M22.4,19.7c0.1,0,0.2,0.1,0.3,0.1C22.6,19.8,22.5,19.8,22.4,19.7z"/> + <path class="st0" d="M23.1,20c0.1,0,0.1,0,0.2,0.1C23.3,20.1,23.2,20,23.1,20z"/> + <path class="st0" d="M24.4,20.2c0.1,0,0.1,0,0.2,0C24.5,20.2,24.5,20.2,24.4,20.2z"/> + <path class="st0" d="M23.4,20.1c0.1,0,0.2,0,0.3,0.1C23.6,20.2,23.5,20.1,23.4,20.1z"/> + <path class="st0" d="M23.7,20.2c0.1,0,0.1,0,0.2,0C23.8,20.2,23.8,20.2,23.7,20.2z"/> + <path class="st0" d="M22.8,19.9c0.1,0,0.1,0.1,0.2,0.1C23,20,22.9,19.9,22.8,19.9z"/> + <path class="st0" d="M24,20.2c0,0,0.1,0,0.2,0C24.1,20.2,24,20.2,24,20.2z"/> + <path class="st0" d="M24.4,20.2c-0.1,0-0.1,0-0.2,0C24.3,20.3,24.3,20.3,24.4,20.2z"/> + <path class="st0" d="M19.6,17.9c0.1,0.1,0.3,0.2,0.4,0.3C19.8,18.1,19.7,18,19.6,17.9z"/> + <path class="st0" d="M20.5,18.6c0.1,0.1,0.2,0.1,0.3,0.2C20.7,18.7,20.6,18.7,20.5,18.6z"/> + <path class="st0" d="M20.1,18.3c0.1,0.1,0.2,0.1,0.3,0.2C20.3,18.4,20.2,18.4,20.1,18.3z"/> + <path class="st0" d="M21.7,19.4c0.1,0,0.2,0.1,0.2,0.1C21.9,19.5,21.8,19.4,21.7,19.4z"/> + <path class="st0" d="M21.4,19.1c0.1,0.1,0.2,0.1,0.3,0.2C21.5,19.2,21.4,19.2,21.4,19.1z"/> + <path class="st0" d="M20.9,18.8c0.1,0.1,0.2,0.2,0.4,0.2C21.1,19,21,18.9,20.9,18.8z"/> + <path class="st0" d="M15.6,7.6C15.5,7.6,15.5,7.6,15.6,7.6C15.5,7.6,15.5,7.6,15.6,7.6L15.6,7.6C15.5,7.6,15.5,7.6,15.6,7.6z"/> + <path class="st0" d="M16.3,8.1C16.2,8,16.2,8,16.3,8.1C16.2,8,16.1,8,16.1,8C16.2,8,16.2,8,16.3,8.1z"/> + <path class="st0" d="M16.6,8.3C16.6,8.3,16.6,8.3,16.6,8.3C16.5,8.3,16.5,8.2,16.6,8.3C16.5,8.3,16.6,8.3,16.6,8.3z"/> + <path class="st0" d="M15.9,7.8C15.9,7.8,15.9,7.8,15.9,7.8c-0.1,0-0.1-0.1-0.1-0.1c0,0,0,0,0,0C15.8,7.8,15.9,7.8,15.9,7.8z"/> + <path class="st0" d="M14,6.7C14,6.7,14,6.7,14,6.7c-0.1,0-0.1,0-0.1,0l0,0C14,6.7,14,6.7,14,6.7z"/> + <path class="st0" d="M14.4,6.9L14.4,6.9C14.3,6.9,14.3,6.9,14.4,6.9c-0.1,0-0.1,0-0.1-0.1C14.3,6.9,14.3,6.9,14.4,6.9z"/> + <path class="st0" d="M13.7,6.6C13.7,6.6,13.7,6.6,13.7,6.6C13.7,6.6,13.7,6.6,13.7,6.6L13.7,6.6C13.7,6.6,13.7,6.6,13.7,6.6z"/> + <path class="st0" d="M15.1,7.3C15.1,7.3,15.1,7.3,15.1,7.3C15.1,7.3,15.1,7.3,15.1,7.3C15.1,7.3,15.1,7.3,15.1,7.3z"/> + <path class="st0" d="M13.3,6.5C13.3,6.5,13.3,6.4,13.3,6.5C13.3,6.4,13.3,6.4,13.3,6.5C13.3,6.4,13.3,6.4,13.3,6.5z"/> + <path class="st0" d="M14.7,7.1C14.7,7.1,14.7,7.1,14.7,7.1C14.7,7.1,14.7,7.1,14.7,7.1C14.7,7.1,14.7,7.1,14.7,7.1 + C14.7,7.1,14.7,7.1,14.7,7.1z"/> + <path class="st0" d="M15.5,7.5L15.5,7.5C15.5,7.5,15.5,7.5,15.5,7.5C15.5,7.5,15.4,7.5,15.5,7.5C15.4,7.5,15.5,7.5,15.5,7.5z"/> + <path class="st0" d="M12.8,6.3C12.8,6.3,12.8,6.3,12.8,6.3C12.8,6.3,12.8,6.3,12.8,6.3L12.8,6.3C12.8,6.3,12.8,6.3,12.8,6.3z"/> + <path class="st0" d="M11.7,6.4C11.7,6.4,11.7,6.4,11.7,6.4C11.7,6.4,11.7,6.4,11.7,6.4C11.7,6.4,11.7,6.4,11.7,6.4 + C11.7,6.4,11.7,6.4,11.7,6.4z"/> + <path class="st0" d="M11.6,6.5C11.6,6.5,11.6,6.5,11.6,6.5C11.6,6.5,11.6,6.5,11.6,6.5L11.6,6.5C11.6,6.5,11.6,6.5,11.6,6.5z"/> + <polygon class="st0" points="11.9,6.3 11.9,6.3 11.9,6.3 "/> + <path class="st0" d="M12.5,6.3L12.5,6.3L12.5,6.3z"/> + <path class="st0" d="M12.3,6.3C12.3,6.3,12.3,6.3,12.3,6.3C12.3,6.3,12.3,6.3,12.3,6.3C12.3,6.3,12.3,6.3,12.3,6.3 + C12.3,6.3,12.3,6.3,12.3,6.3z"/> + <path class="st0" d="M12.1,6.3C12.1,6.3,12.1,6.3,12.1,6.3C12.1,6.3,12.1,6.3,12.1,6.3L12.1,6.3C12.1,6.3,12.1,6.3,12.1,6.3z"/> + <path class="st0" d="M13.1,6.4C13.1,6.4,13.1,6.4,13.1,6.4C13,6.4,13,6.4,13.1,6.4L13.1,6.4C13,6.4,13.1,6.4,13.1,6.4z"/> + <path class="st0" d="M11.3,7.6c0,0,0,0.1,0,0.1C11.3,7.7,11.3,7.6,11.3,7.6z"/> + <path class="st0" d="M11.3,6.9C11.3,6.9,11.3,7,11.3,6.9C11.3,7,11.3,6.9,11.3,6.9z"/> + <path class="st0" d="M11.5,6.6L11.5,6.6C11.5,6.6,11.5,6.6,11.5,6.6C11.5,6.6,11.5,6.6,11.5,6.6z"/> + <path class="st0" d="M11.3,7.1C11.3,7.1,11.3,7.1,11.3,7.1C11.3,7.1,11.3,7.1,11.3,7.1z"/> + <path class="st0" d="M11.3,7.4c0,0,0,0.1,0,0.1C11.3,7.5,11.3,7.4,11.3,7.4z"/> + <path class="st0" d="M11.4,7.8c0,0.1,0,0.1,0.1,0.2C11.4,7.9,11.4,7.9,11.4,7.8z"/> + <path class="st0" d="M11.3,7.3C11.3,7.3,11.3,7.3,11.3,7.3C11.3,7.3,11.3,7.3,11.3,7.3z"/> + <path class="st0" d="M11.4,6.7L11.4,6.7c0,0,0,0.1,0,0.1C11.4,6.8,11.4,6.8,11.4,6.7z"/> + <path class="st0" d="M10.4,9c-0.1,0.3-0.2,0.6-0.4,0.9l-0.3,0.6c-0.1,0.3-0.3,0.6-0.4,0.9c-2.2,5.1-4.7,10.8-6.9,15.8l-1,2.3 + c-0.1,0.3-0.2,0.5-0.4,0.8c7.9-3.4,15.8-6.9,23.8-10.3c0,0,0,0,0,0c0,0-0.1,0-0.1,0c0,0,0,0,0,0c0,0-0.1,0-0.2,0c0,0,0,0,0,0 + c-0.1,0-0.1,0-0.2,0c0,0,0,0-0.1,0c0,0-0.1,0-0.2,0c0,0,0,0-0.1,0c-0.1,0-0.1,0-0.2,0c0,0,0,0-0.1,0c-0.1,0-0.2,0-0.3-0.1 + c0,0,0,0-0.1,0c-0.1,0-0.1,0-0.2-0.1c0,0-0.1,0-0.1,0c-0.1,0-0.1,0-0.2-0.1c0,0-0.1,0-0.1,0c-0.1,0-0.2-0.1-0.3-0.1c0,0,0,0,0,0 + c-0.1,0-0.2-0.1-0.3-0.2c0,0-0.1,0-0.1-0.1c-0.1,0-0.2-0.1-0.2-0.1c0,0-0.1,0-0.1-0.1c-0.1,0-0.2-0.1-0.3-0.2c0,0-0.1,0-0.1,0 + c-0.1-0.1-0.2-0.1-0.4-0.2c0,0-0.1,0-0.1-0.1c-0.1-0.1-0.2-0.1-0.3-0.2c0,0-0.1-0.1-0.1-0.1c-0.1-0.1-0.2-0.1-0.3-0.2 + c0,0-0.1-0.1-0.1-0.1c-0.1-0.1-0.3-0.2-0.4-0.3c-1-0.7-1.9-1.6-2.9-2.5c-1.4-1.4-2.6-2.8-3.6-4.2C12.3,10,11.7,8.9,11.4,8 + c0-0.1,0-0.1,0-0.2c0,0,0-0.1,0-0.1c0-0.1,0-0.1,0-0.1c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1 + c0,0,0,0,0-0.1s0-0.1,0-0.1c0,0,0,0,0-0.1c0,0,0-0.1,0-0.1c0,0,0,0,0,0c0,0,0-0.1,0-0.1L10.4,9z"/> + <path class="st0" d="M11.5,6.6C11.5,6.6,11.5,6.6,11.5,6.6C11.5,6.6,11.5,6.6,11.5,6.6c-0.1,0.1-0.1,0.1-0.1,0.2c0,0,0,0.1,0,0.1 + c0,0,0,0,0,0c0,0,0,0.1,0,0.1c0,0,0,0,0,0.1c0,0,0,0.1,0,0.1c0,0,0,0,0,0.1s0,0.1,0,0.1c0,0,0,0.1,0,0.1c0,0,0,0.1,0,0.1 + c0,0,0,0.1,0,0.1c0,0,0,0.1,0,0.1c0,0,0,0,0,0.1c0,0.1,0,0.1,0.1,0.2c0.2,0.9,0.9,2,1.7,3.2c0.9,1.4,2.2,2.8,3.6,4.2 + c0.9,0.9,1.9,1.7,2.9,2.5c0.1,0.1,0.3,0.2,0.4,0.3c0,0,0.1,0.1,0.1,0.1c0.1,0.1,0.2,0.1,0.3,0.2c0,0,0.1,0.1,0.1,0.1 + c0.1,0.1,0.2,0.1,0.3,0.2c0,0,0.1,0,0.1,0.1c0.1,0.1,0.2,0.2,0.4,0.2c0,0,0.1,0,0.1,0c0.1,0.1,0.2,0.1,0.3,0.2c0,0,0.1,0,0.1,0.1 + c0.1,0,0.2,0.1,0.2,0.1c0,0,0.1,0,0.1,0.1c0.1,0.1,0.2,0.1,0.3,0.2c0,0,0,0,0,0c0.1,0,0.2,0.1,0.3,0.1c0,0,0.1,0,0.1,0 + c0.1,0,0.1,0.1,0.2,0.1c0,0,0.1,0,0.1,0c0.1,0,0.1,0,0.2,0.1c0,0,0,0,0.1,0c0.1,0,0.2,0,0.3,0.1c0,0,0,0,0.1,0c0.1,0,0.1,0,0.2,0 + c0,0,0,0,0.1,0c0,0,0.1,0,0.2,0c0,0,0,0,0.1,0c0.1,0,0.1,0,0.2,0h0c0.1,0,0.1,0,0.2,0c0,0,0,0,0,0c0,0,0.1,0,0.1,0c0,0,0,0,0.1,0 + c0,0,0,0,0,0c0,0,0.1,0,0.1,0c0,0,0,0,0,0c0,0,0.1,0,0.1-0.1c0,0,0,0,0,0c0,0,0,0,0.1-0.1c0,0,0,0,0,0c0,0,0-0.1,0.1-0.1 + c0,0,0,0,0,0c0,0,0-0.1,0-0.1c0,0,0,0,0,0c0,0,0-0.1,0-0.1v0c0,0,0-0.1,0-0.1c0,0,0,0,0,0c0,0,0-0.1,0-0.1c0,0,0,0,0,0 + c0-0.1,0-0.1,0-0.2c0,0,0,0,0,0c0,0,0-0.1,0-0.1c0,0,0,0,0-0.1c0-0.1,0-0.1,0-0.2c0-0.1-0.1-0.2-0.1-0.3c0,0,0-0.1,0-0.1 + c0-0.1-0.1-0.2-0.1-0.2c0,0,0-0.1,0-0.1c0-0.1-0.1-0.2-0.1-0.3c0,0,0,0,0,0c0-0.1-0.1-0.2-0.1-0.3c0,0,0-0.1,0-0.1 + c0-0.1-0.1-0.2-0.1-0.3c0,0,0-0.1,0-0.1c-0.1-0.1-0.1-0.2-0.2-0.4c0,0,0,0,0-0.1c-0.1-0.1-0.1-0.2-0.2-0.3c0,0,0-0.1-0.1-0.1 + c-0.1-0.1-0.1-0.2-0.2-0.3c0,0,0-0.1-0.1-0.1c-0.1-0.1-0.2-0.3-0.3-0.4c0,0,0-0.1-0.1-0.1c-0.1-0.1-0.2-0.2-0.2-0.3 + c0,0-0.1-0.1-0.1-0.1c-0.1-0.1-0.2-0.2-0.3-0.3c0,0,0-0.1-0.1-0.1c-0.1-0.1-0.2-0.3-0.3-0.4c0,0-0.1-0.1-0.1-0.1 + c-0.1-0.1-0.2-0.2-0.3-0.3c0,0-0.1-0.1-0.1-0.1c-0.1-0.1-0.2-0.2-0.3-0.4c0,0,0,0,0-0.1c-0.1-0.1-0.2-0.3-0.4-0.4 + c0,0-0.1-0.1-0.1-0.1c-0.1-0.1-0.2-0.2-0.3-0.3c0,0,0-0.1-0.1-0.1c0,0,0,0,0,0c-0.3-0.3-0.5-0.5-0.8-0.8c0,0,0,0,0-0.1 + c-0.3-0.3-0.5-0.5-0.8-0.8c0,0,0,0,0,0c-0.3-0.2-0.6-0.5-0.9-0.7c0,0,0,0-0.1-0.1C17.6,9,17.3,8.8,17,8.6 + c-0.1-0.1-0.2-0.2-0.4-0.3c0,0,0,0-0.1-0.1c0,0,0,0-0.1-0.1c-0.1-0.1-0.2-0.1-0.2-0.2c0,0,0,0,0,0c0,0-0.1-0.1-0.1-0.1 + C16,7.9,16,7.8,15.9,7.8c-0.1,0-0.1-0.1-0.1-0.1c-0.1-0.1-0.1-0.1-0.2-0.1c0,0,0,0-0.1,0c0,0,0,0-0.1,0c-0.1,0-0.2-0.1-0.3-0.1 + c0,0-0.1,0-0.1,0c0,0,0,0,0,0c-0.1-0.1-0.2-0.1-0.3-0.2c0,0,0,0,0,0C14.6,7,14.5,7,14.4,6.9c0,0-0.1,0-0.1-0.1 + c-0.1,0-0.1-0.1-0.2-0.1c0,0-0.1,0-0.1,0c-0.1,0-0.2-0.1-0.3-0.1c0,0,0,0-0.1,0c-0.1,0-0.2-0.1-0.3-0.1c0,0,0,0,0,0 + c0,0,0,0-0.1,0c-0.1,0-0.1,0-0.2-0.1c0,0-0.1,0-0.1,0c-0.1,0-0.1,0-0.2,0c0,0,0,0-0.1,0c-0.1,0-0.1,0-0.2,0c0,0,0,0,0,0l0,0 + c-0.1,0-0.1,0-0.2,0c0,0,0,0-0.1,0c-0.1,0-0.1,0-0.1,0c0,0,0,0-0.1,0c-0.1,0-0.1,0-0.1,0h0c0,0,0,0,0,0c-0.1,0-0.1,0-0.1,0.1 + c0,0,0,0,0,0c0,0-0.1,0-0.1,0.1C11.6,6.5,11.6,6.5,11.5,6.6C11.6,6.5,11.5,6.5,11.5,6.6z"/> + <path class="st0" d="M11.3,7.5C11.3,7.5,11.3,7.6,11.3,7.5C11.3,7.6,11.3,7.5,11.3,7.5z"/> + <path class="st0" d="M11.3,7.2C11.3,7.2,11.3,7.2,11.3,7.2C11.3,7.2,11.3,7.2,11.3,7.2z"/> + <path class="st0" d="M11.3,7C11.3,7,11.3,7,11.3,7C11.3,7,11.3,7,11.3,7z"/> + <path class="st0" d="M11.3,7.3C11.3,7.4,11.3,7.4,11.3,7.3C11.3,7.4,11.3,7.4,11.3,7.3z"/> + <path class="st0" d="M11.4,7.7C11.4,7.7,11.4,7.8,11.4,7.7C11.4,7.8,11.4,7.8,11.4,7.7z"/> + <path class="st0" d="M11.4,6.9C11.4,6.9,11.3,6.9,11.4,6.9C11.3,6.9,11.4,6.9,11.4,6.9z"/> + </g> + <line class="st0" x1="22.5" y1="6.9" x2="23.1" y2="1"/> + <line class="st0" x1="27.9" y1="11" x2="30.8" y2="9.8"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/imgalt1.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/imgalt1.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_map_on.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_map_on.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_map_on.svg (revision 7) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 21.5 28" style="enable-background:new 0 0 21.5 28;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#143B84;} +</style> +<path class="st0" d="M10.7,0.7c-5.5,0-10,4.5-10,10c0,4.4,6.5,12.8,9,15.8c0.5,0.6,1.5,0.6,2,0c2.6-2.9,9-11.4,9-15.8 + C20.7,5.2,16.3,0.8,10.7,0.7z M10.7,14.5c-2.1,0-3.8-1.7-3.8-3.8C7,8.7,8.7,7,10.7,7c2.1,0,3.8,1.7,3.8,3.7 + C14.5,12.8,12.8,14.5,10.7,14.5z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/arrow_down_blue.svg =================================================================== --- base3.10/src/main/webapp/images/custom/arrow_down_blue.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/arrow_down_blue.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 66.6 37.8" style="enable-background:new 0 0 66.6 37.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#0A52AD;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<polyline class="st0" points="62.1,4.5 33.3,33.3 4.5,4.5 "/> +</svg> Index: base3.10/src/main/webapp/images/custom/map.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/map.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/drop3.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/drop3.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/box_body2.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/box_body2.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_besttc.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_besttc.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_besttc.svg (revision 7) @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 26.5 36" style="enable-background:new 0 0 26.5 36;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#F8CB0C;} + .st1{fill:none;stroke:#38383B;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st2{fill:#FFFFFF;} +</style> +<g> + <g> + <polygon class="st0" points="1.2,32.1 5.6,31.2 7.4,35.3 13.6,23 7.4,19.9 "/> + <polygon class="st1" points="1.2,32.1 5.6,31.2 7.4,35.3 13.6,23 7.4,19.9 "/> + <polygon class="st0" points="25.4,32.1 21,31.2 19.1,35.3 12.9,23 19.2,19.9 "/> + <polygon class="st1" points="25.4,32.1 21,31.2 19.1,35.3 12.9,23 19.2,19.9 "/> + <path class="st2" d="M15.7,1.9L15.7,1.9c0.7,0.9,1.9,1.4,3.1,1.1c2-0.4,3.8,1.1,3.7,3.1c-0.1,1.2,0.6,2.3,1.6,2.9 + c1.8,0.9,2.2,3.3,0.8,4.8c-0.8,0.9-1,2.1-0.6,3.2c0.8,1.9-0.4,3.9-2.4,4.2c-1.2,0.2-2.2,1-2.5,2.1c-0.6,1.9-2.9,2.7-4.6,1.7 + c-1-0.6-2.3-0.6-3.3,0c-1.7,1.1-4,0.3-4.6-1.7c-0.4-1.1-1.3-2-2.5-2.1c-2-0.3-3.2-2.3-2.4-4.2c0.5-1.1,0.2-2.4-0.6-3.2 + C0.2,12.3,0.6,10,2.4,9C3.5,8.5,4.1,7.4,4,6.2C4,4.2,5.8,2.6,7.8,3.1c1.2,0.3,2.4-0.2,3.1-1.1C12.1,0.4,14.5,0.4,15.7,1.9"/> + <path class="st1" d="M15.7,1.9L15.7,1.9c0.7,0.9,1.9,1.4,3.1,1.1c2-0.4,3.8,1.1,3.7,3.1c-0.1,1.2,0.6,2.3,1.6,2.9 + c1.8,0.9,2.2,3.3,0.8,4.8c-0.8,0.9-1,2.1-0.6,3.2c0.8,1.9-0.4,3.9-2.4,4.2c-1.2,0.2-2.2,1-2.5,2.1c-0.6,1.9-2.9,2.7-4.6,1.7 + c-1-0.6-2.3-0.6-3.3,0c-1.7,1.1-4,0.3-4.6-1.7c-0.4-1.1-1.3-2-2.5-2.1c-2-0.3-3.2-2.3-2.4-4.2c0.5-1.1,0.2-2.4-0.6-3.2 + C0.2,12.3,0.6,10,2.4,9C3.5,8.5,4.1,7.4,4,6.2C4,4.2,5.8,2.6,7.8,3.1c1.2,0.3,2.4-0.2,3.1-1.1C12.1,0.4,14.5,0.4,15.7,1.9z"/> + </g> + <circle class="st0" cx="13" cy="13.3" r="7.2"/> + <circle class="st1" cx="13.2" cy="13.3" r="7.2"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tos3.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tos3.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tos3.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 34 28.8" style="enable-background:new 0 0 34 28.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="11.7,16.9 11.7,21.1 24.8,21.1 29,27.8 29,21.1 33,21.1 33,5.3 26.6,5.3 "/> + <polygon class="st0" points="1,1 1,16.9 5,16.9 5,23.5 9.2,16.9 26.6,16.9 26.6,1 "/> + <line class="st0" x1="7.1" y1="8.9" x2="9.8" y2="8.9"/> + <line class="st0" x1="12.8" y1="8.9" x2="15.4" y2="8.9"/> + <line class="st0" x1="18.4" y1="8.9" x2="21.1" y2="8.9"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/imgalt2.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/imgalt2.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_yes.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_yes.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_yes.svg (revision 7) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Isolation_Mode" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" width="17.168px" height="17.168px" viewBox="0 0 17.168 17.168" enable-background="new 0 0 17.168 17.168" + xml:space="preserve"> +<g> + <path fill="#FFFFFF" d="M8.587,16.701c-4.474,0-8.114-3.641-8.114-8.114s3.64-8.114,8.114-8.114c4.474,0,8.114,3.641,8.114,8.114 + S13.061,16.701,8.587,16.701z M8.587,2.363c-3.431,0-6.224,2.793-6.224,6.224c0,3.433,2.792,6.224,6.224,6.224 + c3.433,0,6.224-2.791,6.224-6.224C14.811,5.156,12.02,2.363,8.587,2.363z"/> + <path fill="#FFFFFF" d="M8.587,17.174C3.852,17.174,0,13.321,0,8.587C0,3.852,3.852,0,8.587,0c4.734,0,8.587,3.852,8.587,8.587 + C17.174,13.321,13.321,17.174,8.587,17.174z M8.587,0.945c-4.214,0-7.641,3.428-7.641,7.642s3.427,7.642,7.641,7.642 + s7.642-3.428,7.642-7.642S12.801,0.945,8.587,0.945z M8.587,15.283c-3.693,0-6.697-3.004-6.697-6.696 + c0-3.693,3.004-6.697,6.697-6.697c3.692,0,6.696,3.004,6.696,6.697C15.283,12.279,12.279,15.283,8.587,15.283z M8.587,2.836 + c-3.17,0-5.751,2.58-5.751,5.751s2.581,5.751,5.751,5.751c3.171,0,5.751-2.58,5.751-5.751S11.758,2.836,8.587,2.836z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/smile1.svg =================================================================== --- base3.10/src/main/webapp/images/custom/smile1.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/smile1.svg (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 32.6 32.6" style="enable-background:new 0 0 32.6 32.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#F3CE64;} + .st1{fill:#383838;} + .st2{fill:#D96151;} + .st3{fill:none;stroke:#383838;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <circle class="st2" cx="16.3" cy="16.3" r="16.3"/> + <path class="st1" d="M10.5,25.8c0-1.4,0.6-2.7,1.5-3.6l0.1-0.1c0.9-0.9,2.2-1.5,3.7-1.5h1.1c1.5,0,2.8,0.6,3.8,1.6 + c0.9,0.9,1.5,2.2,1.5,3.6H10.5z"/> + <circle class="st1" cx="10.6" cy="14.3" r="2.9"/> + <line class="st3" x1="13.9" y1="12.5" x2="8.1" y2="9.1"/> + <circle class="st1" cx="22" cy="14.3" r="2.9"/> + <line class="st3" x1="18.7" y1="12.5" x2="24.5" y2="9.1"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_entrps.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_entrps.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/sns2.svg =================================================================== --- base3.10/src/main/webapp/images/custom/sns2.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/sns2.svg (revision 7) @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 25 22.8" style="enable-background:new 0 0 25 22.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#1A1A1C;} +</style> +<path class="st0" d="M12.5,0C5.6,0,0,4.1,0,9.3c0,3.4,2.5,6.4,6.1,8l-1.3,5.5l5.8-4.3c0.6,0.1,1.2,0.1,1.8,0.1 + c6.9,0,12.5-4.1,12.5-9.3S19.4,0,12.5,0z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_check.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_check.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_check.svg (revision 7) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 110 110" style="enable-background:new 0 0 110 110;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#333333;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="12.3,60.8 36.6,85.6 97.7,24.4 "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/imgalt3.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/imgalt3.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_sucess.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_sucess.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_sucess.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 110 110" style="enable-background:new 0 0 110 110;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#3C9303;stroke-width:10;stroke-miterlimit:10;} + .st1{fill:none;stroke:#3C9303;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <circle class="st0" cx="55" cy="55" r="50"/> + <polyline class="st1" points="31,58.3 44.6,72.2 79,37.8 "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/smile2.svg =================================================================== --- base3.10/src/main/webapp/images/custom/smile2.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/smile2.svg (revision 7) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 32.6 32.6" style="enable-background:new 0 0 32.6 32.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#F3CE64;} + .st1{fill:#383838;} + .st2{fill:#D96151;} + .st3{fill:none;stroke:#383838;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <circle class="st0" cx="16.3" cy="16.3" r="16.3"/> + <circle class="st1" cx="9.3" cy="12.7" r="2.4"/> + <circle class="st1" cx="23.3" cy="12.7" r="2.4"/> + <path class="st3" d="M10.6,24.1c0-2.2,2.6-4,5.7-4s5.7,1.8,5.7,4"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/banner1.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/banner1.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/webacc.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/webacc.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/bg_main_section3.svg =================================================================== --- base3.10/src/main/webapp/images/custom/bg_main_section3.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/bg_main_section3.svg (revision 7) @@ -0,0 +1,488 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 2228.5 276.9" style="enable-background:new 0 0 2228.5 276.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#1984FD;} + .st1{fill:#4953D3;} + .st2{fill:#4FE179;} + .st3{fill:#3BBCFD;} + .st4{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;} + .st5{fill:#6E8CFD;} +</style> +<g> + <g> + <g> + <circle class="st0" cx="629.1" cy="94.4" r="47.5"/> + <path class="st1" d="M631.9,164.4h-5.5v-48.1c0-1.5,1.2-2.8,2.8-2.8l0,0c1.5,0,2.8,1.2,2.8,2.8V164.4z"/> + </g> + <g> + <path class="st2" d="M719.9,141.9L719.9,141.9c-15.1,0-27.4-12.3-27.4-27.4V74.3c0-15.1,12.3-27.4,27.4-27.4l0,0 + c15.1,0,27.4,12.3,27.4,27.4v40.2C747.2,129.6,735,141.9,719.9,141.9z"/> + <path class="st1" d="M722.6,164.4h-5.5v-48.1c0-1.5,1.2-2.8,2.8-2.8l0,0c1.5,0,2.8,1.2,2.8,2.8V164.4z"/> + </g> + <path class="st3" d="M853.7,325.8L853.7,325.8c0-95.6-77.5-173.1-173.1-173.1h0c-95.6,0-173.1,77.5-173.1,173.1v0H853.7z"/> + <path class="st3" d="M507.5,325.8L507.5,325.8c0-95.6-77.5-173.1-173.1-173.1h0c-95.6,0-173.1,77.5-173.1,173.1v0H507.5z"/> + <g> + <path class="st4" d="M164.5,313.4c1.5,0.1,2.7,1.4,2.6,2.9c-0.1,1.5-1.3,2.7-2.9,2.6c-1.5-0.1-2.8-1.4-2.7-2.9 + C161.6,314.5,163,313.3,164.5,313.4z"/> + <path class="st4" d="M166.1,298.7c1.5,0.2,2.5,1.6,2.3,3.1c-0.2,1.5-1.6,2.6-3.1,2.4c-1.5-0.2-2.6-1.6-2.4-3.2 + C163.2,299.5,164.6,298.4,166.1,298.7z"/> + <path class="st4" d="M169.1,284.1c1.5,0.4,2.4,1.9,2.1,3.3c-0.3,1.5-1.8,2.4-3.3,2.1c-1.5-0.3-2.4-1.8-2.1-3.3 + C166.2,284.7,167.7,283.7,169.1,284.1z"/> + <path class="st4" d="M173.4,269.9c1.4,0.5,2.2,2.1,1.7,3.5c-0.5,1.4-2.1,2.2-3.5,1.8c-1.5-0.5-2.2-2-1.7-3.5 + C170.4,270.2,172,269.4,173.4,269.9z"/> + <path class="st4" d="M178.9,256.1c1.4,0.6,2,2.3,1.4,3.6c-0.6,1.4-2.2,2.1-3.6,1.5c-1.4-0.6-2.1-2.2-1.5-3.7 + C175.9,256.1,177.5,255.4,178.9,256.1z"/> + <path class="st4" d="M185.6,242.8c1.3,0.8,1.8,2.4,1.1,3.7c-0.7,1.3-2.4,1.9-3.7,1.2c-1.4-0.7-1.9-2.4-1.2-3.8 + C182.5,242.5,184.3,242,185.6,242.8z"/> + <path class="st4" d="M193.4,230.1c1.2,0.9,1.6,2.6,0.8,3.9c-0.8,1.3-2.5,1.6-3.8,0.8c-1.3-0.8-1.7-2.5-0.8-3.9 + C190.4,229.6,192.1,229.2,193.4,230.1z"/> + <path class="st4" d="M202.3,218.2c1.2,1,1.4,2.7,0.5,3.9c-0.9,1.2-2.7,1.4-3.9,0.5c-1.2-0.9-1.4-2.7-0.5-3.9 + C199.3,217.4,201.1,217.2,202.3,218.2z"/> + <path class="st4" d="M212.2,207.1c1.1,1.1,1.1,2.8,0.1,3.9c-1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.2-2.8-0.1-3.9 + C209.3,206.1,211.1,206,212.2,207.1z"/> + <path class="st4" d="M223,196.9c1,1.2,0.9,2.9-0.3,3.9c-1.2,1-2.9,0.9-3.9-0.2c-1-1.1-1-2.9,0.2-3.9 + C220.2,195.6,222,195.7,223,196.9z"/> + <path class="st4" d="M234.6,187.7c0.9,1.2,0.6,3-0.6,3.8c-1.2,0.9-2.9,0.7-3.9-0.5c-0.9-1.2-0.7-3,0.5-3.9 + C232,186.1,233.7,186.4,234.6,187.7z"/> + <path class="st4" d="M247,179.4c0.8,1.3,0.3,3-0.9,3.8c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.3-0.4-3,0.9-3.9 + C244.5,177.7,246.2,178.1,247,179.4z"/> + <path class="st4" d="M260.1,172.4c0.7,1.4,0.1,3.1-1.2,3.7c-1.3,0.7-3,0.1-3.7-1.2c-0.7-1.3-0.2-3,1.2-3.7 + C257.8,170.5,259.4,171,260.1,172.4z"/> + <path class="st4" d="M273.8,166.5c0.5,1.4-0.2,3-1.6,3.6c-1.4,0.6-3-0.1-3.6-1.5c-0.6-1.4,0.1-3,1.6-3.6 + C271.6,164.4,273.2,165.1,273.8,166.5z"/> + <path class="st4" d="M287.9,161.8c0.4,1.5-0.4,3-1.9,3.4c-1.5,0.4-3-0.4-3.5-1.8c-0.5-1.4,0.3-3.1,1.9-3.5 + C285.9,159.5,287.5,160.4,287.9,161.8z"/> + <path class="st4" d="M302.3,158.4c0.3,1.5-0.7,2.9-2.2,3.2c-1.5,0.3-2.9-0.6-3.3-2.1c-0.3-1.5,0.6-3,2.2-3.3 + C300.6,155.9,302.1,156.9,302.3,158.4z"/> + <path class="st4" d="M317.1,156.2c0.1,1.5-0.9,2.9-2.4,3.1c-1.5,0.2-2.9-0.9-3.1-2.4c-0.2-1.5,0.9-2.9,2.4-3.1 + C315.5,153.6,316.9,154.7,317.1,156.2z"/> + <path class="st4" d="M331.9,155.4c0,1.5-1.2,2.8-2.7,2.8c-1.5,0-2.8-1.2-2.9-2.7c-0.1-1.5,1.1-2.8,2.7-2.8 + C330.6,152.7,331.9,153.9,331.9,155.4z"/> + <path class="st4" d="M346.8,155.8c-0.1,1.5-1.4,2.7-2.9,2.6c-1.5-0.1-2.7-1.3-2.6-2.9c0.1-1.5,1.4-2.8,2.9-2.7 + C345.7,153,346.9,154.3,346.8,155.8z"/> + <path class="st4" d="M361.5,157.5c-0.2,1.5-1.6,2.5-3.1,2.3c-1.5-0.2-2.6-1.6-2.4-3.1c0.2-1.5,1.6-2.6,3.2-2.4 + C360.7,154.5,361.8,156,361.5,157.5z"/> + <path class="st4" d="M376.1,160.5c-0.4,1.5-1.9,2.4-3.3,2.1c-1.5-0.3-2.4-1.8-2.1-3.3c0.3-1.5,1.8-2.4,3.3-2.1 + C375.5,157.5,376.5,159,376.1,160.5z"/> + <path class="st4" d="M390.3,164.8c-0.5,1.4-2.1,2.2-3.5,1.7c-1.4-0.5-2.2-2.1-1.8-3.5c0.4-1.5,2-2.2,3.5-1.7 + C390.1,161.8,390.8,163.3,390.3,164.8z"/> + <path class="st4" d="M404.2,170.3c-0.6,1.4-2.3,2-3.6,1.4c-1.4-0.6-2.1-2.2-1.5-3.6c0.6-1.4,2.2-2.1,3.7-1.5 + C404.1,167.2,404.8,168.9,404.2,170.3z"/> + <path class="st4" d="M417.4,176.9c-0.8,1.3-2.4,1.8-3.7,1.1c-1.3-0.7-1.9-2.4-1.2-3.7c0.7-1.4,2.4-1.9,3.8-1.2 + C417.7,173.9,418.2,175.6,417.4,176.9z"/> + <path class="st4" d="M430.1,184.7c-0.9,1.2-2.6,1.6-3.9,0.8c-1.3-0.8-1.6-2.5-0.8-3.8c0.8-1.3,2.5-1.7,3.9-0.8 + C430.6,181.7,431,183.4,430.1,184.7z"/> + <path class="st4" d="M442,193.6c-1,1.2-2.7,1.4-3.9,0.5c-1.2-0.9-1.4-2.7-0.5-3.9c0.9-1.2,2.7-1.4,3.9-0.5 + C442.8,190.7,443,192.4,442,193.6z"/> + <path class="st4" d="M453.1,203.5c-1.1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.1-2.8-0.1-3.9c1-1.1,2.8-1.2,3.9-0.1 + C454.1,200.7,454.2,202.4,453.1,203.5z"/> + <path class="st4" d="M463.3,214.3c-1.2,1-2.9,0.9-3.9-0.3c-1-1.2-0.9-2.9,0.2-3.9c1.1-1,2.9-1,3.9,0.2 + C464.6,211.6,464.5,213.3,463.3,214.3z"/> + <path class="st4" d="M472.6,226c-1.2,0.9-3,0.6-3.8-0.6c-0.9-1.2-0.7-2.9,0.5-3.9c1.2-0.9,3-0.7,3.9,0.5 + C474.1,223.3,473.8,225.1,472.6,226z"/> + <path class="st4" d="M480.8,238.4c-1.3,0.8-3,0.3-3.8-0.9c-0.8-1.3-0.4-3,0.8-3.8c1.3-0.8,3-0.4,3.9,0.9 + C482.5,235.9,482.1,237.6,480.8,238.4z"/> + <path class="st4" d="M487.8,251.5c-1.4,0.7-3.1,0.1-3.7-1.2c-0.7-1.3-0.1-3,1.2-3.7c1.3-0.7,3-0.2,3.7,1.2 + C489.8,249.1,489.2,250.8,487.8,251.5z"/> + <path class="st4" d="M493.7,265.1c-1.4,0.5-3-0.2-3.6-1.6c-0.6-1.4,0.1-3,1.5-3.6c1.4-0.6,3,0.1,3.6,1.6 + C495.8,263,495.1,264.6,493.7,265.1z"/> + <path class="st4" d="M498.4,279.2c-1.5,0.4-3-0.4-3.4-1.9c-0.4-1.5,0.4-3,1.8-3.5c1.4-0.5,3.1,0.3,3.5,1.9 + C500.7,277.3,499.9,278.8,498.4,279.2z"/> + <path class="st4" d="M501.8,293.7c-1.5,0.3-2.9-0.7-3.2-2.2c-0.3-1.5,0.6-2.9,2.1-3.3c1.5-0.3,3,0.6,3.3,2.2 + C504.3,291.9,503.3,293.4,501.8,293.7z"/> + <path class="st4" d="M504,308.4c-1.5,0.1-2.9-0.9-3.1-2.4c-0.2-1.5,0.9-2.9,2.4-3.1c1.5-0.2,2.9,0.9,3.1,2.4 + C506.6,306.9,505.5,308.3,504,308.4z"/> + <path class="st4" d="M504.8,323.3c-1.5,0-2.8-1.2-2.8-2.7c0-1.5,1.2-2.8,2.7-2.9c1.5-0.1,2.8,1.1,2.8,2.7 + C507.5,322,506.3,323.2,504.8,323.3z"/> + <path class="st4" d="M179.6,313.5c1.5,0.1,2.7,1.4,2.6,2.9c-0.1,1.5-1.4,2.7-2.9,2.6c-1.5-0.1-2.8-1.4-2.6-2.9 + C176.8,314.6,178.1,313.4,179.6,313.5z"/> + <path class="st4" d="M181.5,298.9c1.5,0.3,2.5,1.7,2.2,3.2c-0.2,1.5-1.6,2.5-3.1,2.3c-1.5-0.2-2.6-1.6-2.4-3.2 + C178.5,299.6,180,298.6,181.5,298.9z"/> + <path class="st4" d="M184.7,284.4c1.5,0.4,2.3,1.9,1.9,3.4c-0.3,1.5-1.8,2.4-3.3,2c-1.5-0.3-2.4-1.9-2.1-3.4 + C181.7,284.9,183.2,284,184.7,284.4z"/> + <path class="st4" d="M189.3,270.4c1.4,0.6,2.1,2.1,1.6,3.5c-0.5,1.4-2,2.2-3.5,1.7c-1.4-0.5-2.2-2.1-1.7-3.6 + C186.2,270.6,187.9,269.8,189.3,270.4z"/> + <path class="st4" d="M195.2,256.8c1.4,0.7,1.9,2.3,1.3,3.7c-0.6,1.4-2.3,2-3.6,1.3c-1.4-0.6-2-2.3-1.4-3.7 + C192.1,256.7,193.9,256.2,195.2,256.8z"/> + <path class="st4" d="M202.4,243.9c1.3,0.8,1.7,2.5,0.9,3.8c-0.7,1.3-2.4,1.7-3.8,1c-1.3-0.8-1.8-2.5-1-3.8 + C199.3,243.5,201.1,243.1,202.4,243.9z"/> + <path class="st4" d="M210.8,231.8c1.2,0.9,1.4,2.6,0.6,3.9c-0.9,1.2-2.6,1.5-3.8,0.6c-1.2-0.9-1.5-2.6-0.6-3.9 + C207.8,231.1,209.6,230.8,210.8,231.8z"/> + <path class="st4" d="M220.3,220.4c1.1,1,1.2,2.7,0.2,3.9c-1,1.1-2.7,1.2-3.9,0.3c-1.2-1-1.3-2.8-0.3-3.9 + C217.4,219.5,219.2,219.4,220.3,220.4z"/> + <path class="st4" d="M230.8,210.1c1,1.1,0.9,2.9-0.2,3.9c-1.1,1-2.8,1-3.9-0.1c-1.1-1.1-1-2.9,0.1-3.9 + C228,208.8,229.8,208.9,230.8,210.1z"/> + <path class="st4" d="M242.3,200.7c0.9,1.2,0.6,2.9-0.5,3.9c-1.2,0.9-2.9,0.7-3.9-0.5c-1-1.2-0.7-2.9,0.5-3.9 + C239.6,199.2,241.4,199.5,242.3,200.7z"/> + <path class="st4" d="M254.6,192.5c0.8,1.3,0.4,3-0.9,3.8c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.3-0.5-3,0.9-3.8 + C252.1,190.8,253.8,191.2,254.6,192.5z"/> + <path class="st4" d="M267.6,185.5c0.6,1.4,0.1,3-1.2,3.7c-1.3,0.7-3,0.1-3.7-1.2c-0.7-1.4-0.2-3,1.2-3.7 + C265.3,183.6,267,184.1,267.6,185.5z"/> + <path class="st4" d="M281.2,179.8c0.5,1.4-0.2,3-1.6,3.6c-1.4,0.5-3-0.2-3.6-1.6c-0.6-1.4,0.1-3,1.6-3.6 + C279.1,177.6,280.7,178.3,281.2,179.8z"/> + <path class="st4" d="M295.4,175.4c0.4,1.5-0.5,3-1.9,3.4c-1.4,0.4-3-0.4-3.4-1.9c-0.4-1.5,0.4-3,1.9-3.4 + C293.5,173.1,295,173.9,295.4,175.4z"/> + <path class="st4" d="M309.8,172.4c0.2,1.5-0.8,3-2.2,3.2c-1.5,0.3-2.9-0.7-3.2-2.2c-0.3-1.5,0.7-2.9,2.2-3.2 + C308.2,169.9,309.6,170.9,309.8,172.4z"/> + <path class="st4" d="M324.5,170.8c0.1,1.5-1,2.9-2.5,3c-1.5,0.1-2.8-1-3-2.6c-0.2-1.5,1-2.9,2.5-3 + C323.1,168.1,324.4,169.3,324.5,170.8z"/> + <path class="st4" d="M339.3,170.6c-0.1,1.5-1.3,2.7-2.8,2.7c-1.5-0.1-2.7-1.3-2.7-2.8c0-1.5,1.2-2.8,2.8-2.7 + C338.1,167.8,339.4,169,339.3,170.6z"/> + <path class="st4" d="M354,171.7c-0.2,1.5-1.6,2.6-3,2.4c-1.5-0.2-2.6-1.5-2.5-3c0.1-1.5,1.5-2.7,3.1-2.5 + C353.1,168.8,354.2,170.2,354,171.7z"/> + <path class="st4" d="M368.6,174.3c-0.3,1.5-1.8,2.4-3.3,2.1c-1.5-0.3-2.4-1.7-2.2-3.2c0.3-1.5,1.7-2.5,3.3-2.2 + C368,171.3,368.9,172.8,368.6,174.3z"/> + <path class="st4" d="M382.9,178.2c-0.5,1.5-2,2.2-3.4,1.8c-1.4-0.4-2.3-1.9-1.9-3.4c0.4-1.5,2-2.3,3.5-1.9 + C382.5,175.1,383.3,176.7,382.9,178.2z"/> + <path class="st4" d="M396.7,183.5c-0.6,1.4-2.2,2-3.6,1.5c-1.4-0.5-2.1-2.2-1.5-3.6c0.6-1.4,2.2-2.1,3.6-1.5 + C396.6,180.4,397.3,182.1,396.7,183.5z"/> + <path class="st4" d="M409.9,190c-0.8,1.4-2.4,1.8-3.7,1.1c-1.3-0.7-1.9-2.3-1.2-3.7c0.7-1.4,2.4-1.9,3.8-1.2 + C410.2,186.9,410.6,188.7,409.9,190z"/> + <path class="st4" d="M422.5,197.8c-0.9,1.3-2.5,1.5-3.8,0.8c-1.3-0.8-1.6-2.5-0.8-3.8c0.8-1.3,2.5-1.7,3.9-0.8 + C423,194.8,423.3,196.6,422.5,197.8z"/> + <path class="st4" d="M434.2,206.8c-1,1.2-2.7,1.3-3.9,0.4c-1.2-0.9-1.4-2.7-0.4-3.9c0.9-1.2,2.7-1.4,3.9-0.4 + C435.1,203.8,435.2,205.6,434.2,206.8z"/> + <path class="st4" d="M445.1,216.8c-1.1,1.1-2.8,1-3.9,0c-1.1-1-1.1-2.8-0.1-3.9c1-1.1,2.8-1.1,3.9-0.1 + C446.2,213.9,446.2,215.7,445.1,216.8z"/> + <path class="st4" d="M455,227.8c-1.2,1-2.9,0.8-3.9-0.3c-1-1.1-0.8-2.9,0.3-3.9c1.1-1,2.9-0.9,3.9,0.3 + C456.3,225.1,456.1,226.8,455,227.8z"/> + <path class="st4" d="M463.7,239.7c-1.3,0.8-3,0.5-3.8-0.7c-0.9-1.2-0.6-2.9,0.7-3.8c1.2-0.9,3-0.6,3.9,0.7 + C465.4,237.1,465,238.9,463.7,239.7z"/> + <path class="st4" d="M471.3,252.4c-1.3,0.7-3,0.2-3.8-1.1c-0.7-1.3-0.3-3,1-3.8c1.3-0.8,3-0.3,3.8,1 + C473.2,250,472.7,251.7,471.3,252.4z"/> + <path class="st4" d="M477.7,265.7c-1.4,0.6-3-0.1-3.7-1.4c-0.6-1.4,0-3,1.4-3.6c1.4-0.6,3,0,3.7,1.4 + C479.8,263.5,479.1,265.1,477.7,265.7z"/> + <path class="st4" d="M482.8,279.6c-1.5,0.4-3-0.3-3.5-1.8c-0.5-1.4,0.3-3,1.7-3.5c1.4-0.5,3,0.3,3.5,1.8 + C485,277.6,484.2,279.2,482.8,279.6z"/> + <path class="st4" d="M486.5,293.9c-1.5,0.3-3-0.6-3.3-2.1c-0.3-1.5,0.6-2.9,2.1-3.3c1.5-0.4,3,0.6,3.3,2.1 + C488.9,292.1,488,293.6,486.5,293.9z"/> + <path class="st4" d="M488.8,308.5c-1.5,0.2-2.9-0.9-3.1-2.4c-0.2-1.5,0.9-2.9,2.4-3.1c1.5-0.2,2.9,0.8,3.1,2.4 + C491.4,307,490.3,308.4,488.8,308.5z"/> + <path class="st4" d="M489.7,323.3c-1.5,0-2.8-1.2-2.8-2.7c0-1.5,1.2-2.8,2.7-2.9c1.5-0.1,2.8,1.1,2.8,2.7 + C492.4,322,491.2,323.3,489.7,323.3z"/> + <path class="st4" d="M194.8,313.6c1.5,0.1,2.7,1.4,2.6,2.9c-0.1,1.5-1.4,2.6-2.9,2.6c-1.5-0.1-2.7-1.4-2.6-2.9 + C191.9,314.6,193.2,313.5,194.8,313.6z"/> + <path class="st4" d="M196.8,299.1c1.5,0.3,2.5,1.7,2.2,3.2c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.2-2.5-1.6-2.2-3.2 + C193.8,299.8,195.3,298.8,196.8,299.1z"/> + <path class="st4" d="M200.3,284.8c1.5,0.5,2.3,2,1.9,3.4c-0.4,1.4-1.9,2.3-3.4,1.9c-1.5-0.4-2.3-1.9-1.9-3.4 + C197.3,285.2,198.8,284.4,200.3,284.8z"/> + <path class="st4" d="M205.3,271c1.4,0.6,2.1,2.2,1.6,3.6c-0.5,1.4-2.1,2.1-3.6,1.5c-1.4-0.5-2.1-2.1-1.6-3.6 + C202.3,271.1,203.9,270.4,205.3,271z"/> + <path class="st4" d="M211.8,257.8c1.3,0.7,1.8,2.4,1.1,3.7c-0.7,1.3-2.3,1.8-3.7,1.2c-1.4-0.7-1.9-2.4-1.2-3.7 + C208.7,257.6,210.4,257.1,211.8,257.8z"/> + <path class="st4" d="M219.5,245.4c1.3,0.9,1.6,2.6,0.7,3.8c-0.8,1.3-2.5,1.6-3.8,0.8c-1.3-0.8-1.7-2.6-0.8-3.9 + C216.5,244.8,218.3,244.5,219.5,245.4z"/> + <path class="st4" d="M228.6,233.8c1.1,1,1.3,2.7,0.3,3.9c-1,1.1-2.6,1.3-3.9,0.4c-1.2-0.9-1.4-2.7-0.4-3.9 + C225.7,233,227.4,232.8,228.6,233.8z"/> + <path class="st4" d="M238.8,223.3c1,1.1,1,2.9-0.1,3.9c-1.1,1-2.8,1-3.9-0.1c-1.1-1.1-1.1-2.8,0-3.9 + C236,222.1,237.7,222.2,238.8,223.3z"/> + <path class="st4" d="M250,213.8c0.9,1.2,0.7,3-0.5,3.9c-1.2,0.9-2.9,0.7-3.9-0.5c-1-1.2-0.8-2.9,0.5-3.9 + C247.3,212.4,249.1,212.6,250,213.8z"/> + <path class="st4" d="M262.2,205.6c0.8,1.3,0.4,3-0.9,3.8c-1.2,0.8-2.9,0.4-3.8-0.9c-0.8-1.3-0.5-3,0.8-3.8 + C259.7,203.9,261.4,204.3,262.2,205.6z"/> + <path class="st4" d="M275.1,198.7c0.7,1.4,0,3-1.3,3.7c-1.3,0.7-3,0.1-3.7-1.2c-0.7-1.4-0.2-3,1.2-3.7 + C272.8,196.7,274.5,197.3,275.1,198.7z"/> + <path class="st4" d="M288.7,193.2c0.5,1.4-0.2,3-1.7,3.5c-1.4,0.5-3-0.2-3.5-1.6c-0.6-1.4,0.2-3,1.6-3.6 + C286.6,191,288.2,191.8,288.7,193.2z"/> + <path class="st4" d="M302.8,189.2c0.3,1.5-0.6,3-2,3.3c-1.4,0.3-2.9-0.5-3.3-2c-0.4-1.5,0.5-3.1,2-3.4 + C301,186.8,302.5,187.7,302.8,189.2z"/> + <path class="st4" d="M317.3,186.6c0.2,1.5-0.9,2.9-2.3,3.1c-1.5,0.2-2.9-0.8-3.1-2.3c-0.2-1.5,0.8-3,2.3-3.2 + C315.7,184,317.1,185.1,317.3,186.6z"/> + <path class="st4" d="M331.9,185.6c0,1.5-1.2,2.8-2.7,2.8c-1.5,0-2.8-1.1-2.8-2.7c-0.1-1.5,1.1-2.9,2.6-2.9 + C330.6,182.9,331.9,184.1,331.9,185.6z"/> + <path class="st4" d="M346.6,186.1c-0.1,1.5-1.4,2.7-2.9,2.6c-1.5-0.1-2.6-1.4-2.6-2.9c0.1-1.5,1.4-2.7,2.9-2.6 + C345.6,183.3,346.7,184.6,346.6,186.1z"/> + <path class="st4" d="M361.1,188.1c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.3-2.5-1.7-2.2-3.2c0.2-1.5,1.7-2.5,3.2-2.2 + C360.4,185.2,361.4,186.6,361.1,188.1z"/> + <path class="st4" d="M375.4,191.6c-0.5,1.5-2,2.3-3.4,1.9c-1.4-0.4-2.3-1.9-1.9-3.4c0.4-1.5,1.9-2.3,3.4-1.9 + C375,188.7,375.8,190.2,375.4,191.6z"/> + <path class="st4" d="M389.2,196.7c-0.6,1.4-2.2,2.1-3.6,1.6c-1.4-0.5-2.1-2.1-1.5-3.6c0.5-1.4,2.1-2.1,3.6-1.6 + C389.1,193.6,389.8,195.2,389.2,196.7z"/> + <path class="st4" d="M402.4,203.1c-0.7,1.3-2.4,1.8-3.7,1.1c-1.3-0.7-1.8-2.3-1.2-3.7c0.7-1.4,2.4-1.9,3.7-1.2 + C402.6,200,403.1,201.8,402.4,203.1z"/> + <path class="st4" d="M414.8,210.9c-0.9,1.3-2.6,1.6-3.8,0.7c-1.3-0.8-1.6-2.5-0.8-3.8c0.8-1.3,2.6-1.7,3.9-0.8 + C415.4,207.9,415.7,209.7,414.8,210.9z"/> + <path class="st4" d="M426.4,219.9c-1,1.1-2.7,1.3-3.9,0.3c-1.1-1-1.3-2.6-0.4-3.9c0.9-1.2,2.7-1.4,3.9-0.4 + C427.2,217,427.4,218.8,426.4,219.9z"/> + <path class="st4" d="M436.9,230.1c-1.1,1-2.9,1-3.9-0.1c-1-1.1-1-2.8,0.1-3.9c1.1-1.1,2.8-1.1,3.9,0 + C438.1,227.3,438.1,229.1,436.9,230.1z"/> + <path class="st4" d="M446.4,241.4c-1.2,0.9-3,0.7-3.9-0.5c-0.9-1.2-0.7-2.9,0.5-3.9c1.2-1,2.9-0.8,3.9,0.5 + C447.8,238.7,447.6,240.4,446.4,241.4z"/> + <path class="st4" d="M454.6,253.5c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.2-0.4-2.9,0.9-3.8c1.3-0.8,3-0.5,3.8,0.8 + C456.3,251,455.9,252.7,454.6,253.5z"/> + <path class="st4" d="M461.5,266.5c-1.4,0.7-3,0-3.7-1.3c-0.7-1.3-0.1-3,1.2-3.7c1.4-0.7,3-0.2,3.7,1.2 + C463.5,264.1,462.9,265.8,461.5,266.5z"/> + <path class="st4" d="M467,280.1c-1.4,0.5-3-0.2-3.5-1.7c-0.5-1.4,0.2-3,1.6-3.5c1.4-0.6,3,0.2,3.6,1.6 + C469.2,278,468.4,279.6,467,280.1z"/> + <path class="st4" d="M471,294.2c-1.5,0.3-3-0.6-3.3-2c-0.3-1.4,0.5-2.9,2-3.3c1.5-0.4,3.1,0.5,3.4,2 + C473.5,292.4,472.5,293.9,471,294.2z"/> + <path class="st4" d="M473.6,308.7c-1.5,0.2-2.9-0.9-3.1-2.3c-0.2-1.5,0.8-2.9,2.3-3.1c1.5-0.2,3,0.8,3.2,2.3 + C476.2,307.1,475.1,308.5,473.6,308.7z"/> + <path class="st4" d="M474.6,323.3c-1.5,0-2.8-1.2-2.8-2.7c0-1.5,1.1-2.8,2.7-2.9c1.5-0.1,2.9,1.1,2.9,2.6 + C477.3,322,476.1,323.3,474.6,323.3z"/> + <path class="st4" d="M209.9,313.5c1.5,0.2,2.7,1.5,2.6,3c-0.1,1.5-1.4,2.6-3,2.6c-1.5-0.1-2.7-1.4-2.6-3 + C207.1,314.5,208.4,313.3,209.9,313.5z"/> + <path class="st4" d="M212.2,298.8c1.5,0.3,2.4,1.8,2.1,3.3c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.3-2.5-1.7-2.2-3.3 + C209.2,299.5,210.8,298.5,212.2,298.8z"/> + <path class="st4" d="M216.3,284.6c1.4,0.5,2.2,2.1,1.7,3.5c-0.5,1.4-2,2.2-3.5,1.8c-1.5-0.4-2.3-2-1.8-3.5 + C213.3,284.9,214.8,284.1,216.3,284.6z"/> + <path class="st4" d="M222,270.9c1.4,0.7,1.9,2.3,1.3,3.7c-0.6,1.4-2.3,2-3.7,1.4c-1.4-0.6-2-2.3-1.4-3.7 + C218.9,270.8,220.6,270.2,222,270.9z"/> + <path class="st4" d="M229.3,258c1.3,0.8,1.7,2.5,0.9,3.8c-0.8,1.3-2.4,1.7-3.8,0.9c-1.3-0.8-1.8-2.5-0.9-3.8 + C226.3,257.6,228,257.2,229.3,258z"/> + <path class="st4" d="M238,246c1.2,1,1.4,2.7,0.4,3.9c-0.9,1.2-2.7,1.4-3.9,0.5c-1.2-0.9-1.4-2.7-0.5-3.9 + C235.1,245.3,236.8,245,238,246z"/> + <path class="st4" d="M248.2,235.2c1.1,1.1,1,2.9-0.1,3.9c-1,1.1-2.8,1.1-3.9,0c-1.1-1-1.1-2.8,0-4 + C245.3,234.1,247.1,234.1,248.2,235.2z"/> + <path class="st4" d="M259.4,225.6c0.9,1.2,0.7,3-0.5,3.9c-1.2,0.9-2.9,0.7-3.9-0.5c-1-1.2-0.8-2.9,0.5-3.9 + C256.8,224.2,258.5,224.4,259.4,225.6z"/> + <path class="st4" d="M271.8,217.5c0.8,1.3,0.3,3-1,3.8c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.3-0.4-3,0.9-3.9 + C269.3,215.7,271.1,216.1,271.8,217.5z"/> + <path class="st4" d="M285.1,210.8c0.6,1.4,0,3.1-1.4,3.7c-1.4,0.6-3,0-3.7-1.4c-0.7-1.4-0.1-3,1.4-3.7 + C282.8,208.8,284.5,209.4,285.1,210.8z"/> + <path class="st4" d="M299,205.8c0.4,1.5-0.4,2.9-1.8,3.4c-1.4,0.5-3-0.3-3.5-1.7c-0.5-1.4,0.3-3,1.8-3.5 + C297,203.4,298.6,204.3,299,205.8z"/> + <path class="st4" d="M313.5,202.4c0.2,1.5-0.7,2.9-2.2,3.2c-1.5,0.2-2.9-0.7-3.2-2.2c-0.3-1.5,0.6-3,2.2-3.3 + C311.8,199.9,313.2,200.9,313.5,202.4z"/> + <path class="st4" d="M328.2,200.8c0.1,1.5-1.1,2.9-2.6,3c-1.5,0.1-2.8-1-3-2.6c-0.1-1.5,1-2.9,2.6-3 + C326.8,198.1,328.1,199.3,328.2,200.8z"/> + <path class="st4" d="M343,201c-0.1,1.5-1.4,2.6-2.9,2.6c-1.5,0-2.7-1.3-2.7-2.8c0-1.5,1.3-2.7,2.9-2.7 + C342,198.1,343.1,199.5,343,201z"/> + <path class="st4" d="M357.7,202.9c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.3-2.5-1.6-2.3-3.2c0.2-1.5,1.7-2.6,3.2-2.3 + C357,199.9,358,201.4,357.7,202.9z"/> + <path class="st4" d="M372.1,206.4c-0.5,1.4-2,2.3-3.4,1.9c-1.4-0.4-2.3-1.9-1.9-3.4c0.4-1.5,1.9-2.3,3.4-1.9 + C371.7,203.4,372.6,205,372.1,206.4z"/> + <path class="st4" d="M386,211.8c-0.6,1.4-2.3,2-3.6,1.4c-1.4-0.6-2.1-2.2-1.5-3.6c0.6-1.4,2.2-2.1,3.7-1.5 + C385.9,208.7,386.6,210.4,386,211.8z"/> + <path class="st4" d="M399.1,218.6c-0.8,1.3-2.5,1.8-3.8,1c-1.3-0.7-1.8-2.4-1-3.8c0.7-1.3,2.4-1.8,3.8-1 + C399.4,215.6,399.9,217.3,399.1,218.6z"/> + <path class="st4" d="M411.3,227.1c-0.9,1.2-2.7,1.4-3.8,0.5c-1.2-0.9-1.5-2.6-0.6-3.8c0.9-1.2,2.6-1.5,3.9-0.6 + C412,224.1,412.2,225.9,411.3,227.1z"/> + <path class="st4" d="M422.4,236.8c-1.1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.1-2.8-0.1-3.9c1-1.2,2.8-1.2,3.9-0.1 + C423.5,234,423.5,235.8,422.4,236.8z"/> + <path class="st4" d="M432.3,247.9c-1.2,1-2.9,0.7-3.9-0.4c-1-1.1-0.8-2.9,0.3-3.9c1.1-1,2.9-0.9,3.9,0.3 + C433.7,245.2,433.5,247,432.3,247.9z"/> + <path class="st4" d="M440.9,260c-1.3,0.8-3,0.4-3.8-0.8c-0.8-1.3-0.4-3,0.8-3.8c1.3-0.9,3-0.5,3.8,0.8 + C442.5,257.5,442.2,259.2,440.9,260z"/> + <path class="st4" d="M447.9,273.1c-1.4,0.6-3,0-3.7-1.3c-0.7-1.3-0.1-3,1.2-3.7c1.4-0.7,3-0.2,3.7,1.3 + C449.9,270.7,449.3,272.4,447.9,273.1z"/> + <path class="st4" d="M453.3,286.8c-1.5,0.5-3-0.3-3.5-1.7c-0.5-1.4,0.2-3,1.7-3.5c1.4-0.5,3.1,0.2,3.6,1.7 + C455.6,284.8,454.8,286.4,453.3,286.8z"/> + <path class="st4" d="M457.1,301.2c-1.5,0.3-3-0.7-3.3-2.1c-0.3-1.5,0.6-2.9,2.1-3.3c1.5-0.4,3,0.6,3.3,2.1 + C459.6,299.4,458.6,300.9,457.1,301.2z"/> + <path class="st4" d="M459.1,315.9c-1.5,0.1-2.9-1-3-2.5c-0.2-1.5,0.9-2.8,2.4-3c1.5-0.2,2.9,0.9,3.1,2.5 + C461.8,314.4,460.6,315.7,459.1,315.9z"/> + <path class="st4" d="M225.1,313.6c1.5,0.2,2.6,1.5,2.5,3c-0.1,1.5-1.4,2.6-3,2.5c-1.5-0.1-2.7-1.4-2.5-3 + C222.2,314.5,223.6,313.4,225.1,313.6z"/> + <path class="st4" d="M227.7,299.1c1.5,0.4,2.4,1.8,2.1,3.3c-0.4,1.4-1.8,2.4-3.3,2.1c-1.5-0.3-2.5-1.8-2.1-3.3 + C224.7,299.7,226.2,298.8,227.7,299.1z"/> + <path class="st4" d="M232.2,285.1c1.4,0.6,2.1,2.2,1.6,3.5c-0.5,1.4-2,2.1-3.5,1.6c-1.4-0.5-2.2-2.1-1.7-3.6 + C229.2,285.3,230.8,284.6,232.2,285.1z"/> + <path class="st4" d="M238.5,271.9c1.3,0.8,1.8,2.4,1.1,3.7c-0.7,1.3-2.3,1.8-3.7,1.2c-1.4-0.7-1.9-2.4-1.2-3.8 + C235.4,271.6,237.2,271.1,238.5,271.9z"/> + <path class="st4" d="M246.6,259.6c1.2,0.9,1.5,2.6,0.6,3.8c-0.9,1.2-2.6,1.5-3.8,0.6c-1.3-0.9-1.6-2.6-0.7-3.9 + C243.6,258.9,245.3,258.6,246.6,259.6z"/> + <path class="st4" d="M256.2,248.5c1.1,1.1,1.1,2.8,0.1,3.9c-1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.2-2.8-0.1-3.9 + C253.3,247.4,255.1,247.4,256.2,248.5z"/> + <path class="st4" d="M267.2,238.7c0.9,1.2,0.7,2.9-0.4,3.9c-1.2,0.9-2.8,0.8-3.9-0.4c-1-1.1-0.9-3,0.4-3.9 + C264.5,237.3,266.3,237.5,267.2,238.7z"/> + <path class="st4" d="M279.4,230.5c0.8,1.3,0.3,3-0.9,3.8c-1.2,0.8-2.9,0.4-3.8-0.9c-0.8-1.3-0.4-3,0.9-3.8 + C276.9,228.7,278.6,229.2,279.4,230.5z"/> + <path class="st4" d="M292.6,224c0.6,1.4-0.1,3-1.4,3.6c-1.3,0.6-3,0-3.6-1.4c-0.7-1.4,0-3,1.4-3.7 + C290.3,221.9,292,222.6,292.6,224z"/> + <path class="st4" d="M306.5,219.3c0.4,1.5-0.5,3-1.9,3.4c-1.4,0.4-2.9-0.4-3.4-1.9c-0.5-1.5,0.4-3,1.9-3.4 + C304.6,217,306.1,217.9,306.5,219.3z"/> + <path class="st4" d="M320.9,216.6c0.2,1.5-0.9,2.9-2.3,3.1c-1.5,0.2-2.9-0.8-3.1-2.3c-0.3-1.5,0.8-3,2.3-3.2 + C319.3,214,320.8,215.1,320.9,216.6z"/> + <path class="st4" d="M335.6,215.8c0,1.5-1.2,2.7-2.7,2.8c-1.5,0-2.7-1.2-2.8-2.7c-0.1-1.5,1.2-2.8,2.7-2.8 + C334.4,213,335.6,214.3,335.6,215.8z"/> + <path class="st4" d="M350.3,216.9c-0.2,1.5-1.6,2.6-3.1,2.4c-1.5-0.2-2.5-1.5-2.4-3.1c0.1-1.5,1.5-2.7,3.1-2.4 + C349.4,214,350.5,215.4,350.3,216.9z"/> + <path class="st4" d="M364.6,220c-0.4,1.5-1.9,2.3-3.3,1.9c-1.4-0.3-2.3-1.8-2-3.3c0.3-1.5,1.8-2.4,3.4-2.1 + C364.2,217,365.1,218.5,364.6,220z"/> + <path class="st4" d="M378.5,225c-0.6,1.4-2.2,2-3.6,1.5c-1.4-0.5-2.1-2.1-1.5-3.6c0.5-1.4,2.1-2.1,3.6-1.6 + C378.4,221.9,379.1,223.6,378.5,225z"/> + <path class="st4" d="M391.5,231.7c-0.8,1.3-2.5,1.8-3.8,1c-1.3-0.7-1.7-2.4-1-3.8c0.7-1.4,2.4-1.8,3.8-1 + C391.9,228.7,392.3,230.4,391.5,231.7z"/> + <path class="st4" d="M403.5,240.2c-1,1.2-2.7,1.4-3.9,0.5c-1.1-0.9-1.4-2.6-0.5-3.8c0.9-1.2,2.7-1.5,3.9-0.5 + C404.3,237.3,404.5,239,403.5,240.2z"/> + <path class="st4" d="M414.3,250.2c-1.1,1-2.8,1-3.9,0c-1.1-1-1.1-2.8,0-3.9c1-1.1,2.8-1.1,3.9,0 + C415.4,247.4,415.4,249.1,414.3,250.2z"/> + <path class="st4" d="M423.7,261.5c-1.3,0.9-2.9,0.6-3.8-0.5c-0.9-1.2-0.7-2.9,0.5-3.8c1.2-1,2.9-0.7,3.9,0.5 + C425.2,258.8,424.9,260.6,423.7,261.5z"/> + <path class="st4" d="M431.5,273.9c-1.3,0.7-3,0.2-3.8-1c-0.7-1.3-0.3-3,1-3.8c1.3-0.8,3-0.3,3.8,1 + C433.3,271.5,432.8,273.2,431.5,273.9z"/> + <path class="st4" d="M437.5,287.3c-1.4,0.5-3-0.2-3.6-1.5c-0.5-1.4,0.1-3,1.5-3.6c1.4-0.6,3.1,0,3.6,1.5 + C439.7,285.2,439,286.8,437.5,287.3z"/> + <path class="st4" d="M441.7,301.4c-1.5,0.3-3-0.6-3.3-2c-0.4-1.4,0.5-2.9,2-3.3c1.5-0.4,3,0.5,3.4,2 + C444.1,299.6,443.2,301.1,441.7,301.4z"/> + <path class="st4" d="M444,315.9c-1.5,0.1-2.8-1-3-2.4c-0.2-1.5,0.9-2.8,2.4-3c1.5-0.2,2.9,0.9,3.1,2.4 + C446.7,314.4,445.5,315.8,444,315.9z"/> + <path class="st4" d="M240.4,313.5c1.5,0.2,2.5,1.6,2.3,3c-0.1,1.5-1.4,2.6-2.9,2.5c-1.5-0.1-2.7-1.5-2.6-3.1 + C237.5,314.4,238.9,313.2,240.4,313.5z"/> + <path class="st4" d="M243.4,298.9c1.5,0.4,2.4,2,2,3.4c-0.4,1.4-1.9,2.3-3.4,2c-1.5-0.3-2.4-1.9-2-3.4 + C240.5,299.3,242,298.4,243.4,298.9z"/> + <path class="st4" d="M248.8,285c1.4,0.7,2,2.3,1.3,3.6c-0.7,1.3-2.2,2-3.6,1.4c-1.4-0.6-2.2-2.3-1.4-3.7 + C245.8,285,247.4,284.3,248.8,285z"/> + <path class="st4" d="M256.2,272.1c0.6,0.4,1,1.1,1.1,1.8c0.2,0.7,0.1,1.5-0.3,2.1c-0.8,1.3-2.5,1.7-3.8,0.9 + c-1.3-0.8-1.7-2.5-0.9-3.9c0.4-0.7,1-1.1,1.7-1.3C254.8,271.5,255.6,271.6,256.2,272.1z"/> + <path class="st4" d="M265.6,260.5c1.1,1.1,1.2,2.8,0.2,3.9c-1,1.1-2.8,1.2-3.9,0.2c-1.2-1-1.3-2.7-0.2-3.9 + C262.7,259.6,264.5,259.5,265.6,260.5z"/> + <path class="st4" d="M276.7,250.6c0.9,1.2,0.7,2.9-0.5,3.8c-1.2,0.9-2.8,0.9-3.8-0.3c-1-1.1-0.9-3,0.3-4 + C274,249.2,275.7,249.4,276.7,250.6z"/> + <path class="st4" d="M289.1,242.4c0.7,1.3,0.3,3.1-1,3.8c-1.3,0.8-3,0.3-3.8-0.9c-0.8-1.3-0.4-3,1-3.8 + C286.7,240.6,288.4,241,289.1,242.4z"/> + <path class="st4" d="M302.7,236.4c0.5,1.4-0.2,3-1.6,3.5c-1.4,0.5-3-0.2-3.6-1.6c-0.6-1.4,0.1-3,1.6-3.5 + C300.6,234.2,302.2,235,302.7,236.4z"/> + <path class="st4" d="M317.1,232.5c0.3,1.5-0.7,2.8-2.2,3.2c-1.4,0.4-2.9-0.5-3.3-2c-0.4-1.5,0.6-3,2.1-3.4 + C315.3,229.9,316.8,231.1,317.1,232.5z"/> + <path class="st4" d="M331.9,231c0,1.5-1.1,2.8-2.6,2.9c-1.5,0.1-2.8-1.1-2.9-2.6c-0.1-1.5,1-2.8,2.6-2.9 + C330.5,228.3,331.9,229.5,331.9,231z"/> + <path class="st4" d="M346.8,231.8c-0.2,1.5-1.6,2.5-3,2.3c-1.5-0.1-2.6-1.4-2.5-2.9c0.1-1.5,1.5-2.7,3.1-2.6 + C345.9,228.8,347,230.3,346.8,231.8z"/> + <path class="st4" d="M361.3,234.8c-0.4,1.5-2,2.4-3.4,2c-1.4-0.4-2.3-1.9-2-3.4c0.3-1.5,1.9-2.4,3.4-2 + C360.9,231.8,361.8,233.3,361.3,234.8z"/> + <path class="st4" d="M375.2,240.2c-0.7,1.4-2.3,2-3.6,1.3c-1.3-0.7-2-2.2-1.4-3.6c0.6-1.4,2.3-2.2,3.7-1.4 + C375.2,237.1,375.9,238.8,375.2,240.2z"/> + <path class="st4" d="M388.1,247.6c-0.4,0.6-1.1,1-1.8,1.1c-0.7,0.2-1.5,0.1-2.1-0.3c-1.3-0.8-1.7-2.5-0.9-3.8 + c0.8-1.3,2.5-1.7,3.9-0.9c0.7,0.4,1.1,1,1.3,1.7C388.7,246.2,388.6,246.9,388.1,247.6z"/> + <path class="st4" d="M399.7,257c-1.1,1.1-2.8,1.2-3.9,0.2c-1.1-1-1.2-2.8-0.2-3.9c1-1.2,2.7-1.3,3.9-0.2 + C400.6,254.1,400.7,255.9,399.7,257z"/> + <path class="st4" d="M409.6,268c-1.2,0.9-2.9,0.7-3.8-0.5c-0.9-1.2-0.9-2.8,0.3-3.8c1.1-1,3-0.9,4,0.3 + C411.1,265.3,410.8,267.1,409.6,268z"/> + <path class="st4" d="M417.8,280.4c-1.3,0.7-3.1,0.3-3.8-1c-0.8-1.3-0.3-3,0.9-3.8s3-0.4,3.8,1C419.6,278,419.2,279.7,417.8,280.4 + z"/> + <path class="st4" d="M423.8,294.1c-1.4,0.5-3-0.2-3.5-1.6c-0.5-1.4,0.2-3,1.6-3.6c1.4-0.6,3,0.1,3.5,1.6 + C426,292,425.2,293.6,423.8,294.1z"/> + <path class="st4" d="M427.7,308.5c-1.5,0.3-2.8-0.7-3.2-2.2c-0.4-1.4,0.5-2.9,2-3.3c1.5-0.4,3,0.6,3.4,2.1 + C430.3,306.7,429.1,308.2,427.7,308.5z"/> + <path class="st4" d="M429.2,323.3c-1.5,0-2.8-1.1-2.9-2.6c-0.1-1.5,1.1-2.8,2.6-2.9c1.5-0.1,2.8,1,2.9,2.6 + C431.9,321.9,430.7,323.2,429.2,323.3z"/> + <path class="st4" d="M255.6,313.6c1.5,0.2,2.6,1.6,2.3,3.1c-0.3,1.4-1.5,2.5-3,2.4c-1.5-0.1-2.8-1.5-2.5-3.1 + C252.7,314.4,254.1,313.4,255.6,313.6z"/> + <path class="st4" d="M259.2,299.3c1.4,0.5,2.2,2.1,1.7,3.4c-0.4,1.4-1.9,2.2-3.3,1.8c-1.5-0.4-2.4-2-1.9-3.5 + C256.2,299.6,257.8,298.8,259.2,299.3z"/> + <path class="st4" d="M265.3,286c1.3,0.8,1.7,2.4,1.1,3.7c-0.6,1.3-2.3,1.8-3.6,1.2c-1.4-0.7-1.9-2.4-1.2-3.8 + C262.2,285.6,264,285.2,265.3,286z"/> + <path class="st4" d="M273.8,273.9c1.2,1,1.2,2.6,0.4,3.9c-0.9,1.2-2.6,1.4-3.8,0.5c-1.2-0.9-1.5-2.7-0.5-3.9 + C270.8,273,272.7,272.9,273.8,273.9z"/> + <path class="st4" d="M284.4,263.7c0.5,0.6,0.7,1.3,0.6,2c-0.1,0.7-0.3,1.4-0.9,1.9c-1.1,1-2.8,0.9-3.9-0.2c-1-1.1-0.9-2.9,0.2-4 + c0.6-0.5,1.3-0.8,2-0.7C283.2,262.7,283.9,263.1,284.4,263.7z"/> + <path class="st4" d="M296.6,255.5c0.7,1.3,0.3,3-1,3.8c-1.3,0.8-2.9,0.3-3.8-1c-0.8-1.3-0.4-3,1-3.8 + C294.2,253.7,295.9,254.1,296.6,255.5z"/> + <path class="st4" d="M310.2,249.7c0.5,1.5-0.3,3.1-1.7,3.6c-1.4,0.5-3-0.2-3.5-1.7s0.2-3,1.7-3.6 + C308.2,247.5,309.7,248.3,310.2,249.7z"/> + <path class="st4" d="M324.6,246.6c0.2,1.5-0.9,2.9-2.3,3.2c-1.4,0.2-2.9-0.8-3.2-2.3c-0.3-1.5,0.7-2.9,2.3-3.1 + C323,244.1,324.4,245.1,324.6,246.6z"/> + <path class="st4" d="M339.3,246.2c-0.1,1.5-1.4,2.7-2.8,2.6c-1.5-0.1-2.7-1.3-2.7-2.8c0-1.6,1.2-2.8,2.8-2.7 + C338.2,243.4,339.4,244.7,339.3,246.2z"/> + <path class="st4" d="M353.8,248.4c-0.4,1.5-1.8,2.4-3.3,2c-1.4-0.3-2.4-1.7-2.1-3.2c0.3-1.5,1.8-2.6,3.3-2.2 + C353.3,245.4,354.2,247,353.8,248.4z"/> + <path class="st4" d="M367.7,253.3c-0.7,1.4-2.2,2-3.6,1.4c-1.4-0.5-2.1-2.1-1.5-3.5c0.5-1.4,2.2-2.2,3.7-1.6 + C367.7,250.2,368.4,251.9,367.7,253.3z"/> + <path class="st4" d="M380.5,260.7c-0.9,1.3-2.5,1.5-3.8,0.7c-1.3-0.8-1.6-2.4-0.8-3.7c0.8-1.3,2.5-1.7,3.9-0.9 + C381.1,257.6,381.3,259.5,380.5,260.7z"/> + <path class="st4" d="M391.7,270.2c-1.1,1.1-2.8,1-3.9,0.1c-1.1-1-1.1-2.7-0.1-3.9c1-1.1,2.8-1.2,4-0.1 + C392.8,267.3,392.8,269.2,391.7,270.2z"/> + <path class="st4" d="M400.9,281.7c-1.3,0.8-3,0.5-3.9-0.6c-0.9-1.2-0.6-2.9,0.6-3.8c1.2-0.9,3-0.7,3.9,0.6 + C402.5,279.1,402.2,280.8,400.9,281.7z"/> + <path class="st4" d="M407.9,294.6c-1.4,0.6-3.1,0-3.7-1.3c-0.6-1.3,0-3,1.3-3.7c1.4-0.7,3-0.1,3.7,1.3 + C409.9,292.4,409.3,294,407.9,294.6z"/> + <path class="st4" d="M412.4,308.7c-1.5,0.3-3-0.6-3.4-2c-0.4-1.4,0.5-2.9,2-3.4c1.5-0.4,3,0.5,3.4,2 + C414.7,306.9,413.8,308.4,412.4,308.7z"/> + <path class="st4" d="M414.1,323.3c-1.5,0-2.8-1.1-2.9-2.6c-0.1-1.5,1.1-2.8,2.6-2.9c1.5-0.2,2.8,1,2.9,2.6 + C416.8,321.9,415.6,323.2,414.1,323.3z"/> + <path class="st4" d="M270.9,313.8c1.5,0.3,2.5,1.7,2.3,3.1c-0.2,1.4-1.6,2.4-3.2,2.3c-1.5-0.1-2.6-1.5-2.3-3.1 + C268,314.5,269.4,313.5,270.9,313.8z"/> + <path class="st4" d="M275.1,300c0.7,0.3,1.2,0.9,1.5,1.5c0.3,0.6,0.4,1.4,0.1,2c-0.5,1.3-2.1,2-3.5,1.6c-1.4-0.5-2.2-2.1-1.6-3.6 + c0.3-0.7,0.8-1.3,1.4-1.6C273.6,299.6,274.4,299.7,275.1,300z"/> + <path class="st4" d="M282.4,287.4c1.2,0.9,1.5,2.6,0.7,3.7c-0.7,1.2-2.4,1.6-3.7,0.8c-1.3-0.8-1.7-2.5-0.9-3.9 + C279.4,286.8,281.2,286.5,282.4,287.4z"/> + <path class="st4" d="M292.2,276.8c1,1.2,0.9,2.9-0.1,3.9c-1.1,0.9-2.8,0.9-3.9-0.1c-1.1-1.1-1.1-2.8,0.1-3.9 + C289.5,275.6,291.2,275.6,292.2,276.8z"/> + <path class="st4" d="M304.2,268.6c0.7,1.3,0.3,3-1,3.7c-1.2,0.7-2.9,0.3-3.7-1c-0.8-1.3-0.4-3,0.9-3.8 + C301.7,266.7,303.4,267.2,304.2,268.6z"/> + <path class="st4" d="M317.6,263.4c0.4,1.5-0.4,3-1.8,3.3c-1.3,0.5-2.9-0.3-3.4-1.7c-0.5-1.4,0.2-3,1.7-3.6 + C315.7,261,317.3,261.9,317.6,263.4z"/> + <path class="st4" d="M332,261.2c0,1.5-1.1,2.8-2.5,2.9c-1.4,0-2.7-1-2.9-2.5c-0.2-1.5,0.9-3,2.5-3 + C330.6,258.5,331.9,259.7,332,261.2z"/> + <path class="st4" d="M346.4,262.2c-0.3,1.5-1.7,2.5-3.1,2.3c-1.4-0.2-2.4-1.6-2.3-3.2c0.1-1.5,1.5-2.6,3.1-2.3 + C345.7,259.3,346.7,260.7,346.4,262.2z"/> + <path class="st4" d="M360.3,266.5c-0.3,0.7-0.9,1.2-1.5,1.5c-0.6,0.3-1.4,0.4-2,0.1c-1.3-0.5-2-2.1-1.6-3.5 + c0.5-1.4,2.1-2.2,3.6-1.6c0.7,0.3,1.3,0.8,1.6,1.4C360.6,265,360.6,265.8,360.3,266.5z"/> + <path class="st4" d="M372.8,273.8c-0.9,1.2-2.6,1.5-3.7,0.7c-1.2-0.7-1.6-2.4-0.8-3.7c0.8-1.3,2.5-1.7,3.9-0.9 + C373.4,270.8,373.7,272.5,372.8,273.8z"/> + <path class="st4" d="M383.4,283.6c-1.2,1-2.9,0.9-3.9-0.1c-0.9-1.1-0.9-2.8,0.1-3.9c1.1-1.1,2.8-1.1,3.9,0.1 + C384.7,280.8,384.6,282.6,383.4,283.6z"/> + <path class="st4" d="M391.6,295.5c-1.3,0.7-3,0.3-3.7-1c-0.7-1.2-0.3-2.9,1-3.7c1.3-0.8,3-0.4,3.8,0.9 + C393.5,293.1,393,294.8,391.6,295.5z"/> + <path class="st4" d="M396.9,309c-1.5,0.4-3-0.4-3.3-1.8c-0.5-1.3,0.3-2.9,1.7-3.4c1.4-0.5,3,0.2,3.6,1.7 + C399.2,307.1,398.3,308.6,396.9,309z"/> + <path class="st4" d="M399,323.3c-1.5,0-2.8-1.1-2.9-2.5c0-1.4,1-2.7,2.5-2.9c1.5-0.2,3,0.9,3,2.5 + C401.7,322,400.5,323.3,399,323.3z"/> + <path class="st4" d="M286.4,313.6c1.5,0.4,2.3,1.8,2.1,3.2c-0.2,1.4-1.6,2.4-3.1,2.2c-1.5-0.2-2.5-1.7-2.3-3.3 + C283.3,314.2,284.9,313.2,286.4,313.6z"/> + <path class="st4" d="M292.1,300c1.3,0.8,1.7,2.4,1,3.7c-0.6,1.3-2.3,1.8-3.6,1.2c-1.4-0.6-1.9-2.3-1.2-3.8 + C289.1,299.6,290.8,299.2,292.1,300z"/> + <path class="st4" d="M301.6,288.7c1,1.2,1,2.9-0.1,3.8c-1,1-2.7,1.1-3.8,0.1c-1.1-1-1.2-2.8-0.1-4 + C298.8,287.5,300.6,287.5,301.6,288.7z"/> + <path class="st4" d="M314,280.6c0.6,1.4,0.1,3-1.2,3.7c-1.3,0.6-2.9,0.3-3.7-1.1c-0.8-1.3-0.3-3.1,1.1-3.8 + C311.7,278.7,313.4,279.2,314,280.6z"/> + <path class="st4" d="M328.2,276.6c0.2,1.5-0.8,2.9-2.3,3.1c-1.4,0.2-2.8-0.6-3.2-2.1c-0.4-1.4,0.6-3.1,2.2-3.3 + C326.6,274.1,328,275.1,328.2,276.6z"/> + <path class="st4" d="M343,277c-0.3,1.5-1.7,2.6-3.1,2.3c-1.4-0.2-2.5-1.4-2.4-3c0.1-1.5,1.5-2.8,3.1-2.5 + C342.2,274,343.3,275.5,343,277z"/> + <path class="st4" d="M357,281.7c-0.7,1.4-2.3,2-3.6,1.3c-1.3-0.6-2-2.1-1.5-3.6c0.5-1.4,2.2-2.2,3.7-1.5 + C357.1,278.6,357.7,280.3,357,281.7z"/> + <path class="st4" d="M369,290.3c-1.1,1.1-2.8,1.2-3.9,0.2c-1-1-1.3-2.6-0.3-3.9c0.9-1.2,2.8-1.5,4-0.3 + C370,287.4,370.1,289.2,369,290.3z"/> + <path class="st4" d="M378,302c-1.3,0.7-3.1,0.3-3.8-0.9c-0.4-0.6-0.4-1.4-0.3-2c0.1-0.7,0.5-1.3,1.1-1.8c0.6-0.4,1.4-0.6,2.1-0.4 + c0.7,0.2,1.3,0.6,1.8,1.3C379.7,299.6,379.3,301.3,378,302z"/> + <path class="st4" d="M383,315.9c-1.5,0.3-3-0.6-3.4-2c-0.3-1.4,0.5-2.9,1.9-3.4c1.5-0.5,3,0.4,3.4,2 + C385.4,314.1,384.6,315.6,383,315.9z"/> + <path class="st4" d="M302,314c1.5,0.6,2.1,2,1.8,3.3c-0.3,1.3-1.8,2.2-3.3,1.9c-1.5-0.3-2.5-1.8-2-3.4 + C298.9,314.3,300.6,313.5,302,314z"/> + <path class="st4" d="M309.6,301.9c1.1,1.1,1.2,2.8,0.3,3.8c-0.8,1.1-2.5,1.3-3.8,0.4c-1.3-0.9-1.5-2.6-0.5-3.9 + C306.7,300.9,308.5,300.8,309.6,301.9z"/> + <path class="st4" d="M321.5,293.8c0.5,1.4,0,3-1.2,3.6c-1.2,0.5-2.8,0.2-3.6-1.2c-0.8-1.3-0.4-3.1,1.1-3.8 + C319.2,291.8,320.9,292.4,321.5,293.8z"/> + <path class="st4" d="M335.6,291.3c-0.1,1.5-1.2,2.7-2.6,2.8c-0.7,0-1.3-0.2-1.8-0.7c-0.5-0.4-0.9-1.1-1-1.8 + c-0.1-0.8,0.1-1.5,0.6-2.1c0.5-0.5,1.2-0.9,2-0.9C334.4,288.5,335.7,289.8,335.6,291.3z"/> + <path class="st4" d="M349.5,294.8c-0.7,1.4-2.2,1.9-3.5,1.5c-1.3-0.5-1.9-2.1-1.5-3.5c0.4-1.5,2-2.2,3.6-1.7 + C349.6,291.7,350.2,293.5,349.5,294.8z"/> + <path class="st4" d="M360.8,303.6c-1.2,1-2.9,0.9-3.8-0.1c-1-0.9-1-2.6,0-3.8c1-1.2,2.8-1.2,4-0.1 + C362.1,300.8,362,302.6,360.8,303.6z"/> + <path class="st4" d="M367.6,316.2c-0.7,0.2-1.5,0.1-2.1-0.2c-0.6-0.3-1.1-0.8-1.4-1.4c-0.4-1.3,0.2-2.8,1.5-3.5 + c1.4-0.7,3.1,0,3.6,1.5c0.3,0.8,0.2,1.6-0.1,2.2C368.9,315.5,368.3,316,367.6,316.2z"/> + <path class="st4" d="M319,314c1.2,1,1.5,2.6,0.9,3.7c-0.3,0.6-0.8,1-1.5,1.2c-0.6,0.2-1.4,0.3-2.1,0c-0.7-0.3-1.3-0.8-1.5-1.5 + c-0.2-0.7-0.2-1.6,0.3-2.4C315.9,313.5,317.8,313.1,319,314z"/> + <path class="st4" d="M331.9,306.6c0.2,1.5-0.8,2.9-2,3.2c-1.3,0.4-2.8-0.3-3.4-1.7c-0.7-1.4,0.1-3.1,1.9-3.7 + C330.1,304,331.7,305.1,331.9,306.6z"/> + <path class="st4" d="M346.2,310.4c-1,1.2-2.6,1.5-3.7,0.9c-0.6-0.3-1-0.8-1.2-1.5c-0.2-0.6-0.3-1.4,0-2.1 + c0.3-0.7,0.8-1.3,1.5-1.5c0.7-0.2,1.6-0.2,2.4,0.3C346.7,307.3,347.1,309.2,346.2,310.4z"/> + <path class="st4" d="M353.6,323.2c-1.5,0.2-2.9-0.8-3.2-2c-0.4-1.3,0.3-2.8,1.7-3.4c1.4-0.7,3.1,0.1,3.7,1.9 + C356.2,321.4,355.1,323.1,353.6,323.2z"/> + </g> + </g> +</g> +<g> + <g> + <circle class="st3" cx="1993.3" cy="201.9" r="54"/> + <path class="st1" d="M1990.2,281.6h6.3v-54.7c0-1.7-1.4-3.1-3.1-3.1l0,0c-1.7,0-3.1,1.4-3.1,3.1V281.6z"/> + </g> + <g> + <path class="st2" d="M1890,255.9L1890,255.9c17.2,0,31.1-13.9,31.1-31.1V179c0-17.2-13.9-31.1-31.1-31.1l0,0 + c-17.2,0-31.1,13.9-31.1,31.1v45.8C1858.9,242,1872.8,255.9,1890,255.9z"/> + <path class="st1" d="M1886.9,281.6h6.3v-54.7c0-1.7-1.4-3.1-3.1-3.1l0,0c-1.7,0-3.1,1.4-3.1,3.1V281.6z"/> + </g> + <g> + <path class="st5" d="M1773,255.9L1773,255.9c17.2,0,31.1-13.9,31.1-31.1v0c0-17.2-13.9-31.1-31.1-31.1l0,0 + c-17.2,0-31.1,13.9-31.1,31.1v0C1741.9,242,1755.8,255.9,1773,255.9z"/> + <path class="st5" d="M1773,204.1L1773,204.1c17.2,0,31.1-13.9,31.1-31.1v0c0-17.2-13.9-31.1-31.1-31.1l0,0 + c-17.2,0-31.1,13.9-31.1,31.1v0C1741.9,190.2,1755.8,204.1,1773,204.1z"/> + <path class="st1" d="M1769.9,281.6h6.3v-54.7c0-1.7-1.4-3.1-3.1-3.1l0,0c-1.7,0-3.1,1.4-3.1,3.1V281.6z"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_play.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_play.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_play.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 30.5 34.5" style="enable-background:new 0 0 30.5 34.5;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#221E1F;stroke:#221E1F;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<polygon class="st0" points="28,17.2 2.5,2.5 2.5,32 "/> +</svg> Index: base3.10/src/main/webapp/images/custom/smile3.svg =================================================================== --- base3.10/src/main/webapp/images/custom/smile3.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/smile3.svg (revision 7) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 32.6 32.6" style="enable-background:new 0 0 32.6 32.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#F3CE64;} + .st1{fill:#383838;} + .st2{fill:#D96151;} + .st3{fill:none;stroke:#383838;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <circle class="st0" cx="16.3" cy="16.3" r="16.3"/> + <circle class="st1" cx="9.3" cy="12.7" r="2.4"/> + <circle class="st1" cx="23.4" cy="12.7" r="2.4"/> + <line class="st3" x1="11.6" y1="24.9" x2="21" y2="24.9"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_turn_left.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_turn_left.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_turn_left.svg (revision 7) @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="19.222px" height="20.192px" viewBox="6.665 -2.284 19.222 20.192" enable-background="new 6.665 -2.284 19.222 20.192" + xml:space="preserve"> +<g> + <path fill="#221F1F" d="M25.285,7.039c-0.332,0-0.602-0.27-0.602-0.602c0-2.819-2.293-5.113-5.111-5.113 + c-0.332,0-0.602-0.27-0.602-0.602s0.27-0.602,0.602-0.602c3.482,0,6.314,2.834,6.314,6.317C25.887,6.769,25.617,7.039,25.285,7.039 + z"/> + <g> + <polygon fill="#221F1F" points="17.531,-1.936 12.926,0.723 17.531,3.381 "/> + <path fill="#221F1F" d="M17.531,3.729c-0.061,0-0.121-0.016-0.174-0.047l-4.605-2.658c-0.107-0.062-0.174-0.177-0.174-0.301 + s0.066-0.239,0.174-0.301l4.605-2.659c0.107-0.063,0.24-0.063,0.348,0c0.107,0.062,0.174,0.177,0.174,0.301v5.316 + c0,0.125-0.066,0.239-0.174,0.301C17.651,3.713,17.591,3.729,17.531,3.729z M13.623,0.723l3.56,2.055v-4.111L13.623,0.723z"/> + </g> + <path fill="#221F1F" d="M19.966,17.909H8.494c-1.009,0-1.829-0.821-1.829-1.829V7.845c0-1.008,0.82-1.828,1.829-1.828h11.472 + c1.008,0,1.827,0.82,1.827,1.828v8.234C21.793,17.087,20.974,17.909,19.966,17.909z M8.494,7.556c-0.16,0-0.29,0.13-0.29,0.289 + v8.234c0,0.16,0.13,0.29,0.29,0.29h11.472c0.159,0,0.288-0.13,0.288-0.29V7.845c0-0.162-0.127-0.289-0.288-0.289H8.494z"/> + <path fill="#221F1F" d="M19.18,1.325h-1.953c-0.333,0-0.603-0.27-0.603-0.602s0.27-0.602,0.603-0.602h1.953 + c0.332,0,0.602,0.27,0.602,0.602S19.512,1.325,19.18,1.325z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/banner2.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/banner2.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/bg_sitemap.svg =================================================================== --- base3.10/src/main/webapp/images/custom/bg_sitemap.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/bg_sitemap.svg (revision 7) @@ -0,0 +1,467 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 692.3 278.9" style="enable-background:new 0 0 692.3 278.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#1984FD;} + .st1{fill:#4953D3;} + .st2{fill:#4FE179;} + .st3{fill:#3BBCFD;} + .st4{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;} +</style> +<g> + <g> + <circle class="st0" cx="467.7" cy="47.5" r="47.5"/> + <path class="st1" d="M470.5,117.5H465V69.4c0-1.5,1.2-2.8,2.8-2.8l0,0c1.5,0,2.8,1.2,2.8,2.8V117.5z"/> + </g> + <g> + <path class="st2" d="M558.5,95L558.5,95c-15.1,0-27.4-12.3-27.4-27.4V27.4c0-15.1,12.3-27.4,27.4-27.4l0,0 + c15.1,0,27.4,12.3,27.4,27.4v40.2C585.9,82.7,573.6,95,558.5,95z"/> + <path class="st1" d="M561.3,117.5h-5.5V69.4c0-1.5,1.2-2.8,2.8-2.8l0,0c1.5,0,2.8,1.2,2.8,2.8V117.5z"/> + </g> + <path class="st3" d="M692.3,278.9L692.3,278.9c0-95.6-77.5-173.1-173.1-173.1h0c-95.6,0-173.1,77.5-173.1,173.1v0H692.3z"/> + <path class="st3" d="M346.2,278.9L346.2,278.9c0-95.6-77.5-173.1-173.1-173.1h0C77.5,105.8,0,183.3,0,278.9v0H346.2z"/> + <g> + <path class="st4" d="M3.1,266.6c1.5,0.1,2.7,1.4,2.6,2.9c-0.1,1.5-1.3,2.7-2.9,2.6c-1.5-0.1-2.8-1.4-2.7-2.9 + C0.3,267.6,1.6,266.4,3.1,266.6z"/> + <path class="st4" d="M4.8,251.8c1.5,0.2,2.5,1.6,2.3,3.1c-0.2,1.5-1.6,2.6-3.1,2.4c-1.5-0.2-2.6-1.6-2.4-3.2 + C1.8,252.6,3.3,251.5,4.8,251.8z"/> + <path class="st4" d="M7.8,237.2c1.5,0.4,2.4,1.9,2.1,3.3C9.5,242,8,243,6.5,242.6c-1.5-0.3-2.4-1.8-2.1-3.3 + C4.8,237.8,6.3,236.8,7.8,237.2z"/> + <path class="st4" d="M12.1,223c1.4,0.5,2.2,2.1,1.7,3.5c-0.5,1.4-2.1,2.2-3.5,1.8c-1.5-0.5-2.2-2-1.7-3.5 + C9,223.3,10.6,222.5,12.1,223z"/> + <path class="st4" d="M17.6,209.2c1.4,0.6,2,2.3,1.4,3.6c-0.6,1.4-2.2,2.1-3.6,1.5c-1.4-0.6-2.1-2.2-1.5-3.7 + C14.5,209.2,16.2,208.5,17.6,209.2z"/> + <path class="st4" d="M24.2,195.9c1.3,0.8,1.8,2.4,1.1,3.7c-0.7,1.3-2.4,1.9-3.7,1.2c-1.4-0.7-1.9-2.4-1.2-3.8 + C21.1,195.6,22.9,195.1,24.2,195.9z"/> + <path class="st4" d="M32,183.2c1.2,0.9,1.6,2.6,0.8,3.9c-0.8,1.3-2.5,1.6-3.8,0.8c-1.3-0.8-1.7-2.5-0.8-3.9 + C29,182.7,30.7,182.3,32,183.2z"/> + <path class="st4" d="M40.9,171.3c1.2,1,1.4,2.7,0.5,3.9c-0.9,1.2-2.7,1.4-3.9,0.5c-1.2-0.9-1.4-2.7-0.5-3.9 + C38,170.5,39.7,170.3,40.9,171.3z"/> + <path class="st4" d="M50.8,160.2c1.1,1.1,1.1,2.8,0.1,3.9c-1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.2-2.8-0.1-3.9 + C48,159.2,49.7,159.1,50.8,160.2z"/> + <path class="st4" d="M61.6,150c1,1.2,0.9,2.9-0.3,3.9c-1.2,1-2.9,0.9-3.9-0.2c-1-1.1-1-2.9,0.2-3.9 + C58.9,148.7,60.6,148.8,61.6,150z"/> + <path class="st4" d="M73.3,140.8c0.9,1.2,0.6,3-0.6,3.8c-1.2,0.9-2.9,0.7-3.9-0.5c-0.9-1.2-0.7-3,0.5-3.9 + C70.6,139.2,72.4,139.5,73.3,140.8z"/> + <path class="st4" d="M85.7,132.6c0.8,1.3,0.3,3-0.9,3.8c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.3-0.4-3,0.9-3.9 + C83.2,130.8,84.9,131.2,85.7,132.6z"/> + <path class="st4" d="M98.8,125.5c0.7,1.4,0.1,3.1-1.2,3.7c-1.3,0.7-3,0.1-3.7-1.2c-0.7-1.3-0.2-3,1.2-3.7 + C96.4,123.6,98.1,124.1,98.8,125.5z"/> + <path class="st4" d="M112.4,119.6c0.5,1.4-0.2,3-1.6,3.6c-1.4,0.6-3-0.1-3.6-1.5c-0.6-1.4,0.1-3,1.6-3.6 + C110.3,117.5,111.9,118.2,112.4,119.6z"/> + <path class="st4" d="M126.5,114.9c0.4,1.5-0.4,3-1.9,3.4c-1.5,0.4-3-0.4-3.5-1.8c-0.5-1.4,0.3-3.1,1.9-3.5 + C124.6,112.6,126.1,113.5,126.5,114.9z"/> + <path class="st4" d="M141,111.5c0.3,1.5-0.7,2.9-2.2,3.2c-1.5,0.3-2.9-0.6-3.3-2.1c-0.3-1.5,0.6-3,2.2-3.3 + C139.2,109,140.7,110,141,111.5z"/> + <path class="st4" d="M155.7,109.3c0.1,1.5-0.9,2.9-2.4,3.1c-1.5,0.2-2.9-0.9-3.1-2.4c-0.2-1.5,0.9-2.9,2.4-3.1 + C154.2,106.7,155.6,107.8,155.7,109.3z"/> + <path class="st4" d="M170.6,108.5c0,1.5-1.2,2.8-2.7,2.8c-1.5,0-2.8-1.2-2.9-2.7c-0.1-1.5,1.1-2.8,2.7-2.8 + C169.2,105.8,170.5,107,170.6,108.5z"/> + <path class="st4" d="M185.4,108.9c-0.1,1.5-1.4,2.7-2.9,2.6c-1.5-0.1-2.7-1.3-2.6-2.9c0.1-1.5,1.4-2.8,2.9-2.7 + C184.3,106.1,185.5,107.4,185.4,108.9z"/> + <path class="st4" d="M200.2,110.6c-0.2,1.5-1.6,2.5-3.1,2.3c-1.5-0.2-2.6-1.6-2.4-3.1c0.2-1.5,1.6-2.6,3.2-2.4 + C199.4,107.6,200.4,109.1,200.2,110.6z"/> + <path class="st4" d="M214.8,113.6c-0.4,1.5-1.9,2.4-3.3,2.1c-1.5-0.3-2.4-1.8-2.1-3.3c0.3-1.5,1.8-2.4,3.3-2.1 + C214.2,110.6,215.1,112.1,214.8,113.6z"/> + <path class="st4" d="M229,117.9c-0.5,1.4-2.1,2.2-3.5,1.7c-1.4-0.5-2.2-2.1-1.8-3.5c0.4-1.5,2-2.2,3.5-1.7 + C228.7,114.9,229.5,116.4,229,117.9z"/> + <path class="st4" d="M242.8,123.4c-0.6,1.4-2.3,2-3.6,1.4c-1.4-0.6-2.1-2.2-1.5-3.6c0.6-1.4,2.2-2.1,3.7-1.5 + C242.8,120.3,243.4,122,242.8,123.4z"/> + <path class="st4" d="M256.1,130c-0.8,1.3-2.4,1.8-3.7,1.1c-1.3-0.7-1.9-2.4-1.2-3.7c0.7-1.4,2.4-1.9,3.8-1.2 + C256.4,127,256.8,128.7,256.1,130z"/> + <path class="st4" d="M268.8,137.8c-0.9,1.2-2.6,1.6-3.9,0.8c-1.3-0.8-1.6-2.5-0.8-3.8c0.8-1.3,2.5-1.7,3.9-0.8 + C269.3,134.8,269.6,136.6,268.8,137.8z"/> + <path class="st4" d="M280.7,146.7c-1,1.2-2.7,1.4-3.9,0.5c-1.2-0.9-1.4-2.7-0.5-3.9c0.9-1.2,2.7-1.4,3.9-0.5 + C281.4,143.8,281.6,145.5,280.7,146.7z"/> + <path class="st4" d="M291.8,156.6c-1.1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.1-2.8-0.1-3.9c1-1.1,2.8-1.2,3.9-0.1 + C292.8,153.8,292.8,155.5,291.8,156.6z"/> + <path class="st4" d="M302,167.4c-1.2,1-2.9,0.9-3.9-0.3c-1-1.2-0.9-2.9,0.2-3.9c1.1-1,2.9-1,3.9,0.2 + C303.2,164.7,303.1,166.4,302,167.4z"/> + <path class="st4" d="M311.2,179.1c-1.2,0.9-3,0.6-3.8-0.6c-0.9-1.2-0.7-2.9,0.5-3.9c1.2-0.9,3-0.7,3.9,0.5 + C312.7,176.4,312.4,178.2,311.2,179.1z"/> + <path class="st4" d="M319.4,191.5c-1.3,0.8-3,0.3-3.8-0.9c-0.8-1.3-0.4-3,0.8-3.8c1.3-0.8,3-0.4,3.9,0.9 + C321.2,189,320.7,190.7,319.4,191.5z"/> + <path class="st4" d="M326.5,204.6c-1.4,0.7-3.1,0.1-3.7-1.2c-0.7-1.3-0.1-3,1.2-3.7c1.3-0.7,3-0.2,3.7,1.2 + C328.4,202.2,327.9,203.9,326.5,204.6z"/> + <path class="st4" d="M332.4,218.2c-1.4,0.5-3-0.2-3.6-1.6c-0.6-1.4,0.1-3,1.5-3.6c1.4-0.6,3,0.1,3.6,1.6 + C334.5,216.1,333.8,217.7,332.4,218.2z"/> + <path class="st4" d="M337,232.3c-1.5,0.4-3-0.4-3.4-1.9c-0.4-1.5,0.4-3,1.8-3.5c1.4-0.5,3.1,0.3,3.5,1.9 + C339.4,230.4,338.5,231.9,337,232.3z"/> + <path class="st4" d="M340.5,246.8c-1.5,0.3-2.9-0.7-3.2-2.2c-0.3-1.5,0.6-2.9,2.1-3.3c1.5-0.3,3,0.6,3.3,2.2 + C343,245,342,246.5,340.5,246.8z"/> + <path class="st4" d="M342.6,261.5c-1.5,0.1-2.9-0.9-3.1-2.4c-0.2-1.5,0.9-2.9,2.4-3.1c1.5-0.2,2.9,0.9,3.1,2.4 + C345.2,260,344.2,261.4,342.6,261.5z"/> + <path class="st4" d="M343.5,276.4c-1.5,0-2.8-1.2-2.8-2.7c0-1.5,1.2-2.8,2.7-2.9c1.5-0.1,2.8,1.1,2.8,2.7 + C346.2,275.1,345,276.3,343.5,276.4z"/> + <path class="st4" d="M18.3,266.6c1.5,0.1,2.7,1.4,2.6,2.9c-0.1,1.5-1.4,2.7-2.9,2.6c-1.5-0.1-2.8-1.4-2.6-2.9 + C15.4,267.7,16.7,266.5,18.3,266.6z"/> + <path class="st4" d="M20.1,252c1.5,0.3,2.5,1.7,2.2,3.2c-0.2,1.5-1.6,2.5-3.1,2.3c-1.5-0.2-2.6-1.6-2.4-3.2 + C17.2,252.7,18.6,251.7,20.1,252z"/> + <path class="st4" d="M23.3,237.5c1.5,0.4,2.3,1.9,1.9,3.4c-0.3,1.5-1.8,2.4-3.3,2c-1.5-0.3-2.4-1.9-2.1-3.4 + C20.3,238,21.9,237.1,23.3,237.5z"/> + <path class="st4" d="M27.9,223.5c1.4,0.6,2.1,2.1,1.6,3.5c-0.5,1.4-2,2.2-3.5,1.7c-1.4-0.5-2.2-2.1-1.7-3.6 + C24.9,223.7,26.5,222.9,27.9,223.5z"/> + <path class="st4" d="M33.9,210c1.4,0.7,1.9,2.3,1.3,3.7c-0.6,1.4-2.3,2-3.6,1.3c-1.4-0.6-2-2.3-1.4-3.7 + C30.8,209.8,32.5,209.3,33.9,210z"/> + <path class="st4" d="M41.1,197c1.3,0.8,1.7,2.5,0.9,3.8c-0.7,1.3-2.4,1.7-3.8,1c-1.3-0.8-1.8-2.5-1-3.8 + C38,196.6,39.8,196.2,41.1,197z"/> + <path class="st4" d="M49.4,184.9c1.2,0.9,1.4,2.6,0.6,3.9c-0.9,1.2-2.6,1.5-3.8,0.6c-1.2-0.9-1.5-2.6-0.6-3.9 + C46.4,184.2,48.2,183.9,49.4,184.9z"/> + <path class="st4" d="M59,173.5c1.1,1,1.2,2.7,0.2,3.9c-1,1.1-2.7,1.2-3.9,0.3c-1.2-1-1.3-2.8-0.3-3.9 + C56,172.6,57.8,172.5,59,173.5z"/> + <path class="st4" d="M69.5,163.2c1,1.1,0.9,2.9-0.2,3.9c-1.1,1-2.8,1-3.9-0.1c-1.1-1.1-1-2.9,0.1-3.9 + C66.7,161.9,68.5,162,69.5,163.2z"/> + <path class="st4" d="M80.9,153.8c0.9,1.2,0.6,2.9-0.5,3.9c-1.2,0.9-2.9,0.7-3.9-0.5c-1-1.2-0.7-2.9,0.5-3.9 + C78.3,152.3,80,152.6,80.9,153.8z"/> + <path class="st4" d="M93.2,145.6c0.8,1.3,0.4,3-0.9,3.8c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.3-0.5-3,0.9-3.8 + C90.7,143.9,92.5,144.3,93.2,145.6z"/> + <path class="st4" d="M106.3,138.6c0.6,1.4,0.1,3-1.2,3.7c-1.3,0.7-3,0.1-3.7-1.2c-0.7-1.4-0.2-3,1.2-3.7 + C103.9,136.7,105.6,137.2,106.3,138.6z"/> + <path class="st4" d="M119.9,132.9c0.5,1.4-0.2,3-1.6,3.6c-1.4,0.5-3-0.2-3.6-1.6c-0.6-1.4,0.1-3,1.6-3.6 + C117.8,130.8,119.4,131.4,119.9,132.9z"/> + <path class="st4" d="M134,128.5c0.4,1.5-0.5,3-1.9,3.4c-1.4,0.4-3-0.4-3.4-1.9c-0.4-1.5,0.4-3,1.9-3.4 + C132.1,126.2,133.6,127,134,128.5z"/> + <path class="st4" d="M148.5,125.5c0.2,1.5-0.8,3-2.2,3.2c-1.5,0.3-2.9-0.7-3.2-2.2c-0.3-1.5,0.7-2.9,2.2-3.2 + C146.8,123,148.2,124,148.5,125.5z"/> + <path class="st4" d="M163.2,123.9c0.1,1.5-1,2.9-2.5,3c-1.5,0.1-2.8-1-3-2.6c-0.2-1.5,1-2.8,2.5-3 + C161.8,121.2,163.1,122.4,163.2,123.9z"/> + <path class="st4" d="M178,123.7c-0.1,1.5-1.3,2.7-2.8,2.7c-1.5-0.1-2.7-1.3-2.7-2.8c0-1.5,1.2-2.8,2.8-2.7 + C176.8,120.9,178,122.1,178,123.7z"/> + <path class="st4" d="M192.7,124.8c-0.2,1.5-1.6,2.6-3,2.4c-1.5-0.2-2.6-1.5-2.5-3c0.1-1.5,1.5-2.7,3.1-2.5 + C191.8,121.9,192.9,123.3,192.7,124.8z"/> + <path class="st4" d="M207.3,127.4c-0.3,1.5-1.8,2.4-3.3,2.1c-1.5-0.3-2.4-1.7-2.2-3.2c0.3-1.5,1.7-2.5,3.3-2.2 + C206.6,124.4,207.6,125.9,207.3,127.4z"/> + <path class="st4" d="M221.5,131.3c-0.5,1.5-2,2.2-3.4,1.8c-1.4-0.4-2.3-1.9-1.9-3.4c0.4-1.5,2-2.3,3.5-1.9 + C221.2,128.2,222,129.9,221.5,131.3z"/> + <path class="st4" d="M235.3,136.6c-0.6,1.4-2.2,2-3.6,1.5c-1.4-0.5-2.1-2.2-1.5-3.6c0.6-1.4,2.2-2.1,3.6-1.5 + C235.3,133.5,235.9,135.2,235.3,136.6z"/> + <path class="st4" d="M248.6,143.1c-0.8,1.4-2.4,1.8-3.7,1.1c-1.3-0.7-1.9-2.3-1.2-3.7c0.7-1.4,2.4-1.9,3.8-1.2 + C248.8,140,249.3,141.8,248.6,143.1z"/> + <path class="st4" d="M261.1,150.9c-0.9,1.3-2.5,1.5-3.8,0.8c-1.3-0.8-1.6-2.5-0.8-3.8c0.8-1.3,2.5-1.7,3.9-0.8 + C261.7,147.9,262,149.7,261.1,150.9z"/> + <path class="st4" d="M272.9,159.9c-1,1.2-2.7,1.3-3.9,0.4c-1.2-0.9-1.4-2.7-0.4-3.9c0.9-1.2,2.7-1.4,3.9-0.4 + C273.7,156.9,273.9,158.7,272.9,159.9z"/> + <path class="st4" d="M283.7,169.9c-1.1,1.1-2.8,1-3.9,0c-1.1-1-1.1-2.8-0.1-3.9c1-1.1,2.8-1.1,3.9-0.1 + C284.9,167,284.8,168.8,283.7,169.9z"/> + <path class="st4" d="M293.6,180.9c-1.2,1-2.9,0.8-3.9-0.3c-1-1.1-0.8-2.9,0.3-3.9c1.1-1,2.9-0.9,3.9,0.3 + C295,178.2,294.8,180,293.6,180.9z"/> + <path class="st4" d="M302.4,192.8c-1.3,0.8-3,0.5-3.8-0.7c-0.9-1.2-0.6-2.9,0.7-3.8c1.2-0.9,3-0.6,3.9,0.7 + C304,190.2,303.7,192,302.4,192.8z"/> + <path class="st4" d="M310,205.5c-1.3,0.7-3,0.2-3.8-1.1c-0.7-1.3-0.3-3,1-3.8c1.3-0.8,3-0.3,3.8,1 + C311.9,203.1,311.4,204.8,310,205.5z"/> + <path class="st4" d="M316.4,218.8c-1.4,0.6-3-0.1-3.7-1.4c-0.6-1.4,0-3,1.4-3.6c1.4-0.6,3,0,3.7,1.4 + C318.4,216.6,317.8,218.2,316.4,218.8z"/> + <path class="st4" d="M321.4,232.7c-1.5,0.4-3-0.3-3.5-1.8c-0.5-1.4,0.3-3,1.7-3.5c1.4-0.5,3,0.3,3.5,1.8 + C323.7,230.7,322.9,232.3,321.4,232.7z"/> + <path class="st4" d="M325.1,247c-1.5,0.3-3-0.6-3.3-2.1c-0.3-1.5,0.6-2.9,2.1-3.3c1.5-0.4,3,0.6,3.3,2.1 + C327.6,245.2,326.6,246.7,325.1,247z"/> + <path class="st4" d="M327.4,261.6c-1.5,0.2-2.9-0.9-3.1-2.4c-0.2-1.5,0.9-2.9,2.4-3.1c1.5-0.2,2.9,0.8,3.1,2.4 + C330,260.1,329,261.5,327.4,261.6z"/> + <path class="st4" d="M328.4,276.4c-1.5,0-2.8-1.2-2.8-2.7c0-1.5,1.2-2.8,2.7-2.9c1.5-0.1,2.8,1.1,2.8,2.7 + C331.1,275.1,329.9,276.4,328.4,276.4z"/> + <path class="st4" d="M33.4,266.7c1.5,0.1,2.7,1.4,2.6,2.9c-0.1,1.5-1.4,2.6-2.9,2.6c-1.5-0.1-2.7-1.4-2.6-2.9 + C30.5,267.7,31.9,266.6,33.4,266.7z"/> + <path class="st4" d="M35.4,252.2c1.5,0.3,2.5,1.7,2.2,3.2c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.2-2.5-1.6-2.2-3.2 + C32.5,252.9,33.9,251.9,35.4,252.2z"/> + <path class="st4" d="M38.9,237.9c1.5,0.5,2.3,2,1.9,3.4c-0.4,1.4-1.9,2.3-3.4,1.9c-1.5-0.4-2.3-1.9-1.9-3.4 + C35.9,238.3,37.5,237.5,38.9,237.9z"/> + <path class="st4" d="M43.9,224.1c1.4,0.6,2.1,2.2,1.6,3.6c-0.5,1.4-2.1,2.1-3.6,1.5c-1.4-0.5-2.1-2.1-1.6-3.6 + C40.9,224.2,42.5,223.5,43.9,224.1z"/> + <path class="st4" d="M50.4,210.9c1.3,0.7,1.8,2.4,1.1,3.7c-0.7,1.3-2.3,1.8-3.7,1.2c-1.4-0.7-1.9-2.4-1.2-3.7 + C47.3,210.7,49.1,210.2,50.4,210.9z"/> + <path class="st4" d="M58.2,198.5c1.3,0.9,1.6,2.6,0.7,3.8c-0.8,1.3-2.5,1.6-3.8,0.8c-1.3-0.8-1.7-2.6-0.8-3.9 + C55.2,197.9,57,197.6,58.2,198.5z"/> + <path class="st4" d="M67.2,186.9c1.1,1,1.3,2.7,0.3,3.9c-1,1.1-2.6,1.3-3.9,0.4c-1.2-0.9-1.4-2.7-0.4-3.9 + C64.3,186.1,66.1,185.9,67.2,186.9z"/> + <path class="st4" d="M77.4,176.4c1,1.1,1,2.9-0.1,3.9c-1.1,1-2.8,1-3.9-0.1c-1.1-1.1-1.1-2.8,0-3.9 + C74.6,175.2,76.4,175.3,77.4,176.4z"/> + <path class="st4" d="M88.7,166.9c0.9,1.2,0.7,3-0.5,3.9c-1.2,0.9-2.9,0.7-3.9-0.5c-1-1.2-0.8-2.9,0.5-3.9 + C86,165.5,87.7,165.7,88.7,166.9z"/> + <path class="st4" d="M100.8,158.7c0.8,1.3,0.4,3-0.9,3.8c-1.2,0.8-2.9,0.4-3.8-0.9c-0.8-1.3-0.5-3,0.8-3.8 + C98.3,157,100,157.4,100.8,158.7z"/> + <path class="st4" d="M113.8,151.8c0.7,1.4,0,3-1.3,3.7c-1.3,0.7-3,0.1-3.7-1.2c-0.7-1.4-0.2-3,1.2-3.7 + C111.4,149.8,113.1,150.4,113.8,151.8z"/> + <path class="st4" d="M127.4,146.3c0.5,1.4-0.2,3-1.7,3.5c-1.4,0.5-3-0.2-3.5-1.6c-0.6-1.4,0.2-3,1.6-3.6 + C125.3,144.1,126.9,144.9,127.4,146.3z"/> + <path class="st4" d="M141.5,142.3c0.3,1.5-0.6,3-2,3.3c-1.4,0.3-2.9-0.5-3.3-2c-0.4-1.5,0.5-3.1,2-3.4 + C139.6,139.9,141.1,140.8,141.5,142.3z"/> + <path class="st4" d="M155.9,139.7c0.2,1.5-0.9,2.9-2.3,3.1c-1.5,0.2-2.9-0.8-3.1-2.3c-0.2-1.5,0.8-3,2.3-3.2 + C154.4,137.1,155.8,138.2,155.9,139.7z"/> + <path class="st4" d="M170.6,138.7c0,1.5-1.2,2.8-2.7,2.8c-1.5,0-2.8-1.1-2.8-2.7c-0.1-1.5,1.1-2.9,2.6-2.9 + C169.3,136,170.6,137.2,170.6,138.7z"/> + <path class="st4" d="M185.3,139.2c-0.1,1.5-1.4,2.7-2.9,2.6c-1.5-0.1-2.6-1.4-2.6-2.9c0.1-1.5,1.4-2.7,2.9-2.6 + C184.2,136.4,185.4,137.7,185.3,139.2z"/> + <path class="st4" d="M199.8,141.2c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.3-2.5-1.7-2.2-3.2c0.2-1.5,1.7-2.5,3.2-2.2 + C199.1,138.3,200.1,139.7,199.8,141.2z"/> + <path class="st4" d="M214,144.8c-0.5,1.5-2,2.3-3.4,1.9c-1.4-0.4-2.3-1.9-1.9-3.4c0.4-1.5,1.9-2.3,3.4-1.9 + C213.6,141.8,214.5,143.3,214,144.8z"/> + <path class="st4" d="M227.8,149.8c-0.6,1.4-2.2,2.1-3.6,1.6c-1.4-0.5-2.1-2.1-1.5-3.6c0.5-1.4,2.1-2.1,3.6-1.6 + C227.8,146.7,228.4,148.3,227.8,149.8z"/> + <path class="st4" d="M241,156.2c-0.7,1.3-2.4,1.8-3.7,1.1c-1.3-0.7-1.8-2.3-1.2-3.7c0.7-1.4,2.4-1.9,3.7-1.2 + C241.3,153.1,241.8,154.9,241,156.2z"/> + <path class="st4" d="M253.5,164c-0.9,1.3-2.6,1.6-3.8,0.7c-1.3-0.8-1.6-2.5-0.8-3.8c0.8-1.3,2.6-1.7,3.9-0.8 + C254,161,254.3,162.8,253.5,164z"/> + <path class="st4" d="M265,173.1c-1,1.1-2.7,1.3-3.9,0.3c-1.1-1-1.3-2.6-0.4-3.9c0.9-1.2,2.7-1.4,3.9-0.4 + C265.9,170.1,266,171.9,265,173.1z"/> + <path class="st4" d="M275.6,183.2c-1.1,1-2.9,1-3.9-0.1c-1-1.1-1-2.8,0.1-3.9c1.1-1.1,2.8-1.1,3.9,0 + C276.7,180.4,276.7,182.2,275.6,183.2z"/> + <path class="st4" d="M285,194.5c-1.2,0.9-3,0.7-3.9-0.5c-0.9-1.2-0.7-2.9,0.5-3.9c1.2-1,2.9-0.8,3.9,0.5 + C286.5,191.8,286.3,193.6,285,194.5z"/> + <path class="st4" d="M293.3,206.6c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.2-0.4-2.9,0.9-3.8c1.3-0.8,3-0.5,3.8,0.8 + C295,204.1,294.6,205.8,293.3,206.6z"/> + <path class="st4" d="M300.2,219.6c-1.4,0.7-3,0-3.7-1.3c-0.7-1.3-0.1-3,1.2-3.7c1.4-0.7,3-0.2,3.7,1.2 + C302.2,217.2,301.5,219,300.2,219.6z"/> + <path class="st4" d="M305.7,233.2c-1.4,0.5-3-0.2-3.5-1.7c-0.5-1.4,0.2-3,1.6-3.5c1.4-0.6,3,0.2,3.6,1.6 + C307.9,231.1,307.1,232.7,305.7,233.2z"/> + <path class="st4" d="M309.7,247.3c-1.5,0.3-3-0.6-3.3-2c-0.3-1.4,0.5-2.9,2-3.3c1.5-0.4,3.1,0.5,3.4,2 + C312.1,245.5,311.2,247,309.7,247.3z"/> + <path class="st4" d="M312.2,261.8c-1.5,0.2-2.9-0.9-3.1-2.3c-0.2-1.5,0.8-2.9,2.3-3.1c1.5-0.2,3,0.8,3.2,2.3 + C314.8,260.2,313.7,261.6,312.2,261.8z"/> + <path class="st4" d="M313.2,276.4c-1.5,0-2.8-1.2-2.8-2.7c0-1.5,1.1-2.8,2.7-2.9c1.5-0.1,2.9,1.1,2.9,2.6 + C316,275.1,314.8,276.4,313.2,276.4z"/> + <path class="st4" d="M48.6,266.6c1.5,0.2,2.7,1.5,2.6,3c-0.1,1.5-1.4,2.6-3,2.6c-1.5-0.1-2.7-1.4-2.6-3 + C45.7,267.6,47,266.4,48.6,266.6z"/> + <path class="st4" d="M50.9,252c1.5,0.3,2.4,1.8,2.1,3.3c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.3-2.5-1.7-2.2-3.3 + C47.8,252.6,49.4,251.6,50.9,252z"/> + <path class="st4" d="M54.9,237.7c1.4,0.5,2.2,2.1,1.7,3.5c-0.5,1.4-2,2.2-3.5,1.8c-1.5-0.4-2.3-2-1.8-3.5 + C51.9,238,53.5,237.2,54.9,237.7z"/> + <path class="st4" d="M60.6,224c1.4,0.7,1.9,2.3,1.3,3.7c-0.6,1.4-2.3,2-3.7,1.4c-1.4-0.6-2-2.3-1.4-3.7 + C57.6,223.9,59.2,223.3,60.6,224z"/> + <path class="st4" d="M67.9,211.1c1.3,0.8,1.7,2.5,0.9,3.8c-0.8,1.3-2.4,1.7-3.8,0.9c-1.3-0.8-1.8-2.5-0.9-3.8 + C64.9,210.7,66.6,210.3,67.9,211.1z"/> + <path class="st4" d="M76.7,199.1c1.2,1,1.4,2.7,0.4,3.9c-0.9,1.2-2.7,1.4-3.9,0.5c-1.2-0.9-1.4-2.7-0.5-3.9 + C73.7,198.4,75.5,198.1,76.7,199.1z"/> + <path class="st4" d="M86.8,188.3c1.1,1.1,1,2.9-0.1,3.9c-1,1.1-2.8,1.1-3.9,0c-1.1-1-1.1-2.8,0-4C84,187.2,85.8,187.2,86.8,188.3z + "/> + <path class="st4" d="M98.1,178.7c0.9,1.2,0.7,3-0.5,3.9c-1.2,0.9-2.9,0.7-3.9-0.5c-1-1.2-0.8-2.9,0.5-3.9 + C95.4,177.3,97.2,177.5,98.1,178.7z"/> + <path class="st4" d="M110.5,170.6c0.8,1.3,0.3,3-1,3.8c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.3-0.4-3,0.9-3.9 + C108,168.8,109.7,169.2,110.5,170.6z"/> + <path class="st4" d="M123.7,163.9c0.6,1.4,0,3.1-1.4,3.7c-1.4,0.6-3,0-3.7-1.4c-0.7-1.4-0.1-3,1.4-3.7 + C121.5,161.9,123.1,162.5,123.7,163.9z"/> + <path class="st4" d="M137.7,158.9c0.4,1.5-0.4,2.9-1.8,3.4c-1.4,0.5-3-0.3-3.5-1.7c-0.5-1.4,0.3-3,1.8-3.5 + C135.7,156.5,137.3,157.4,137.7,158.9z"/> + <path class="st4" d="M152.1,155.5c0.2,1.5-0.7,2.9-2.2,3.2c-1.5,0.2-2.9-0.7-3.2-2.2c-0.3-1.5,0.6-3,2.2-3.3 + C150.4,153,151.9,154,152.1,155.5z"/> + <path class="st4" d="M166.9,153.9c0.1,1.5-1.1,2.9-2.6,3c-1.5,0.1-2.8-1-3-2.6c-0.1-1.5,1-2.9,2.6-3 + C165.5,151.2,166.8,152.4,166.9,153.9z"/> + <path class="st4" d="M181.7,154.1c-0.1,1.5-1.4,2.6-2.9,2.6c-1.5,0-2.7-1.3-2.7-2.8c0-1.5,1.3-2.7,2.9-2.7 + C180.6,151.2,181.8,152.6,181.7,154.1z"/> + <path class="st4" d="M196.4,156c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.3-2.5-1.6-2.3-3.2c0.2-1.5,1.7-2.6,3.2-2.3 + C195.6,153,196.7,154.5,196.4,156z"/> + <path class="st4" d="M210.8,159.6c-0.5,1.4-2,2.3-3.4,1.9c-1.4-0.4-2.3-1.9-1.9-3.4c0.4-1.5,1.9-2.3,3.4-1.9 + C210.4,156.5,211.2,158.1,210.8,159.6z"/> + <path class="st4" d="M224.6,164.9c-0.6,1.4-2.3,2-3.6,1.4c-1.4-0.6-2.1-2.2-1.5-3.6c0.6-1.4,2.2-2.1,3.7-1.5 + C224.6,161.8,225.2,163.5,224.6,164.9z"/> + <path class="st4" d="M237.7,171.7c-0.8,1.3-2.5,1.8-3.8,1c-1.3-0.7-1.8-2.4-1-3.8c0.7-1.3,2.4-1.8,3.8-1 + C238.1,168.7,238.5,170.4,237.7,171.7z"/> + <path class="st4" d="M249.9,180.2c-0.9,1.2-2.7,1.4-3.8,0.5c-1.2-0.9-1.5-2.6-0.6-3.8c0.9-1.2,2.6-1.5,3.9-0.6 + C250.6,177.2,250.9,179,249.9,180.2z"/> + <path class="st4" d="M261.1,190c-1.1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.1-2.8-0.1-3.9c1-1.2,2.8-1.2,3.9-0.1 + C262.1,187.1,262.2,188.9,261.1,190z"/> + <path class="st4" d="M271,201c-1.2,1-2.9,0.7-3.9-0.4c-1-1.1-0.8-2.9,0.3-3.9c1.1-1,2.9-0.9,3.9,0.3 + C272.4,198.3,272.2,200.1,271,201z"/> + <path class="st4" d="M279.5,213.1c-1.3,0.8-3,0.4-3.8-0.8c-0.8-1.3-0.4-3,0.8-3.8c1.3-0.9,3-0.5,3.8,0.8 + C281.2,210.6,280.8,212.3,279.5,213.1z"/> + <path class="st4" d="M286.5,226.2c-1.4,0.6-3,0-3.7-1.3c-0.7-1.3-0.1-3,1.2-3.7c1.4-0.7,3-0.2,3.7,1.3 + C288.6,223.8,287.9,225.5,286.5,226.2z"/> + <path class="st4" d="M292,239.9c-1.5,0.5-3-0.3-3.5-1.7c-0.5-1.4,0.2-3,1.7-3.5c1.4-0.5,3.1,0.2,3.6,1.7 + C294.2,237.9,293.4,239.5,292,239.9z"/> + <path class="st4" d="M295.8,254.3c-1.5,0.3-3-0.7-3.3-2.1c-0.3-1.5,0.6-2.9,2.1-3.3c1.5-0.4,3,0.6,3.3,2.1 + C298.2,252.5,297.3,254,295.8,254.3z"/> + <path class="st4" d="M297.8,269c-1.5,0.1-2.9-1-3-2.5c-0.2-1.5,0.9-2.8,2.4-3c1.5-0.2,2.9,0.9,3.1,2.5 + C300.4,267.5,299.3,268.9,297.8,269z"/> + <path class="st4" d="M63.7,266.7c1.5,0.2,2.6,1.5,2.5,3c-0.1,1.5-1.4,2.6-3,2.5c-1.5-0.1-2.7-1.4-2.5-3 + C60.8,267.6,62.2,266.5,63.7,266.7z"/> + <path class="st4" d="M66.3,252.2c1.5,0.4,2.4,1.8,2.1,3.3c-0.4,1.4-1.8,2.4-3.3,2.1c-1.5-0.3-2.5-1.8-2.1-3.3 + C63.4,252.8,64.8,251.9,66.3,252.2z"/> + <path class="st4" d="M70.8,238.2c1.4,0.6,2.1,2.2,1.6,3.5c-0.5,1.4-2,2.1-3.5,1.6c-1.4-0.5-2.2-2.1-1.7-3.6 + C67.8,238.4,69.4,237.7,70.8,238.2z"/> + <path class="st4" d="M77.2,225c1.3,0.8,1.8,2.4,1.1,3.7c-0.7,1.3-2.3,1.8-3.7,1.2c-1.4-0.7-1.9-2.4-1.2-3.8 + C74.1,224.7,75.9,224.2,77.2,225z"/> + <path class="st4" d="M85.2,212.7c1.2,0.9,1.5,2.6,0.6,3.8c-0.9,1.2-2.6,1.5-3.8,0.6c-1.3-0.9-1.6-2.6-0.7-3.9 + C82.2,212,84,211.7,85.2,212.7z"/> + <path class="st4" d="M94.8,201.6c1.1,1.1,1.1,2.8,0.1,3.9c-1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.2-2.8-0.1-3.9 + C92,200.5,93.7,200.5,94.8,201.6z"/> + <path class="st4" d="M105.8,191.8c0.9,1.2,0.7,2.9-0.4,3.9c-1.2,0.9-2.8,0.8-3.9-0.4c-1-1.1-0.9-3,0.4-3.9 + C103.2,190.4,104.9,190.6,105.8,191.8z"/> + <path class="st4" d="M118,183.6c0.8,1.3,0.3,3-0.9,3.8c-1.2,0.8-2.9,0.4-3.8-0.9c-0.8-1.3-0.4-3,0.9-3.8 + C115.5,181.9,117.3,182.3,118,183.6z"/> + <path class="st4" d="M131.2,177.1c0.6,1.4-0.1,3-1.4,3.6c-1.3,0.6-3,0-3.6-1.4c-0.7-1.4,0-3,1.4-3.7 + C129,175,130.6,175.7,131.2,177.1z"/> + <path class="st4" d="M145.1,172.5c0.4,1.5-0.5,3-1.9,3.4c-1.4,0.4-2.9-0.4-3.4-1.9c-0.5-1.5,0.4-3,1.9-3.4 + C143.2,170.1,144.8,171,145.1,172.5z"/> + <path class="st4" d="M159.6,169.7c0.2,1.5-0.9,2.9-2.3,3.1c-1.5,0.2-2.9-0.8-3.1-2.3c-0.3-1.5,0.8-3,2.3-3.2 + C158,167.1,159.4,168.2,159.6,169.7z"/> + <path class="st4" d="M174.3,168.9c0,1.5-1.2,2.7-2.7,2.8c-1.5,0-2.7-1.2-2.8-2.7c-0.1-1.5,1.2-2.8,2.7-2.8 + C173,166.1,174.3,167.4,174.3,168.9z"/> + <path class="st4" d="M188.9,170c-0.2,1.5-1.6,2.6-3.1,2.4c-1.5-0.2-2.5-1.5-2.4-3.1c0.1-1.5,1.5-2.7,3.1-2.4 + C188.1,167.1,189.1,168.5,188.9,170z"/> + <path class="st4" d="M203.3,173.1c-0.4,1.5-1.9,2.3-3.3,1.9c-1.4-0.3-2.3-1.8-2-3.3c0.3-1.5,1.8-2.4,3.4-2.1 + C202.8,170.1,203.7,171.6,203.3,173.1z"/> + <path class="st4" d="M217.1,178.1c-0.6,1.4-2.2,2-3.6,1.5c-1.4-0.5-2.1-2.1-1.5-3.6c0.5-1.4,2.1-2.1,3.6-1.6 + C217.1,175,217.7,176.7,217.1,178.1z"/> + <path class="st4" d="M230.2,184.8c-0.8,1.3-2.5,1.8-3.8,1c-1.3-0.7-1.7-2.4-1-3.8c0.7-1.4,2.4-1.8,3.8-1 + C230.5,181.8,231,183.5,230.2,184.8z"/> + <path class="st4" d="M242.2,193.3c-1,1.2-2.7,1.4-3.9,0.5c-1.1-0.9-1.4-2.6-0.5-3.8c0.9-1.2,2.7-1.5,3.9-0.5 + C242.9,190.4,243.1,192.1,242.2,193.3z"/> + <path class="st4" d="M253,203.3c-1.1,1-2.8,1-3.9,0c-1.1-1-1.1-2.8,0-3.9c1-1.1,2.8-1.1,3.9,0C254.1,200.5,254.1,202.2,253,203.3z + "/> + <path class="st4" d="M262.3,214.6c-1.3,0.9-2.9,0.6-3.8-0.5c-0.9-1.2-0.7-2.9,0.5-3.8c1.2-1,2.9-0.7,3.9,0.5 + C263.9,211.9,263.6,213.7,262.3,214.6z"/> + <path class="st4" d="M270.1,227.1c-1.3,0.7-3,0.2-3.8-1c-0.7-1.3-0.3-3,1-3.8c1.3-0.8,3-0.3,3.8,1 + C272,224.6,271.5,226.3,270.1,227.1z"/> + <path class="st4" d="M276.2,240.4c-1.4,0.5-3-0.2-3.6-1.5c-0.5-1.4,0.1-3,1.5-3.6c1.4-0.6,3.1,0,3.6,1.5 + C278.3,238.3,277.6,239.9,276.2,240.4z"/> + <path class="st4" d="M280.4,254.5c-1.5,0.3-3-0.6-3.3-2c-0.4-1.4,0.5-2.9,2-3.3c1.5-0.4,3,0.5,3.4,2 + C282.8,252.7,281.8,254.2,280.4,254.5z"/> + <path class="st4" d="M282.6,269.1c-1.5,0.1-2.8-1-3-2.4c-0.2-1.5,0.9-2.8,2.4-3c1.5-0.2,2.9,0.9,3.1,2.4 + C285.3,267.5,284.1,268.9,282.6,269.1z"/> + <path class="st4" d="M79.1,266.6c1.5,0.2,2.5,1.6,2.3,3c-0.1,1.5-1.4,2.6-2.9,2.5c-1.5-0.1-2.7-1.5-2.6-3.1 + C76.1,267.5,77.5,266.4,79.1,266.6z"/> + <path class="st4" d="M82.1,252c1.5,0.4,2.4,2,2,3.4c-0.4,1.4-1.9,2.3-3.4,2c-1.5-0.3-2.4-1.9-2-3.4 + C79.1,252.4,80.6,251.5,82.1,252z"/> + <path class="st4" d="M87.5,238.1c1.4,0.7,2,2.3,1.3,3.6c-0.7,1.3-2.2,2-3.6,1.4c-1.4-0.6-2.2-2.3-1.4-3.7 + C84.4,238.1,86.1,237.4,87.5,238.1z"/> + <path class="st4" d="M94.8,225.2c0.6,0.4,1,1.1,1.1,1.8c0.2,0.7,0.1,1.5-0.3,2.1c-0.8,1.3-2.5,1.7-3.8,0.9 + c-1.3-0.8-1.7-2.5-0.9-3.9c0.4-0.7,1-1.1,1.7-1.3C93.5,224.6,94.2,224.8,94.8,225.2z"/> + <path class="st4" d="M104.3,213.6c1.1,1.1,1.2,2.8,0.2,3.9c-1,1.1-2.8,1.2-3.9,0.2c-1.2-1-1.3-2.7-0.2-3.9 + C101.4,212.7,103.2,212.6,104.3,213.6z"/> + <path class="st4" d="M115.3,203.7c0.9,1.2,0.7,2.9-0.5,3.8c-1.2,0.9-2.8,0.9-3.8-0.3c-1-1.1-0.9-3,0.3-4 + C112.6,202.3,114.4,202.5,115.3,203.7z"/> + <path class="st4" d="M127.7,195.5c0.7,1.3,0.3,3.1-1,3.8c-1.3,0.8-3,0.3-3.8-0.9c-0.8-1.3-0.4-3,1-3.8 + C125.3,193.7,127,194.1,127.7,195.5z"/> + <path class="st4" d="M141.4,189.5c0.5,1.4-0.2,3-1.6,3.5c-1.4,0.5-3-0.2-3.6-1.6c-0.6-1.4,0.1-3,1.6-3.5 + C139.2,187.3,140.9,188.1,141.4,189.5z"/> + <path class="st4" d="M155.7,185.6c0.3,1.5-0.7,2.8-2.2,3.2c-1.4,0.4-2.9-0.5-3.3-2c-0.4-1.5,0.6-3,2.1-3.4 + C154,183,155.5,184.2,155.7,185.6z"/> + <path class="st4" d="M170.5,184.1c0,1.5-1.1,2.8-2.6,2.9c-1.5,0.1-2.8-1.1-2.9-2.6c-0.1-1.5,1-2.8,2.6-2.9 + C169.2,181.4,170.5,182.6,170.5,184.1z"/> + <path class="st4" d="M185.4,184.9c-0.2,1.5-1.6,2.5-3,2.3c-1.5-0.1-2.6-1.4-2.5-2.9c0.1-1.5,1.5-2.7,3.1-2.6 + C184.5,181.9,185.6,183.4,185.4,184.9z"/> + <path class="st4" d="M200,187.9c-0.4,1.5-2,2.4-3.4,2c-1.4-0.4-2.3-1.9-2-3.4c0.3-1.5,1.9-2.4,3.4-2 + C199.5,184.9,200.4,186.4,200,187.9z"/> + <path class="st4" d="M213.9,193.3c-0.7,1.4-2.3,2-3.6,1.3c-1.3-0.7-2-2.2-1.4-3.6c0.6-1.4,2.3-2.2,3.7-1.4 + C213.9,190.2,214.5,191.9,213.9,193.3z"/> + <path class="st4" d="M226.8,200.7c-0.4,0.6-1.1,1-1.8,1.1c-0.7,0.2-1.5,0.1-2.1-0.3c-1.3-0.8-1.7-2.5-0.9-3.8 + c0.8-1.3,2.5-1.7,3.9-0.9c0.7,0.4,1.1,1,1.3,1.7C227.4,199.3,227.2,200,226.8,200.7z"/> + <path class="st4" d="M238.3,210.1c-1.1,1.1-2.8,1.2-3.9,0.2c-1.1-1-1.2-2.8-0.2-3.9c1-1.2,2.7-1.3,3.9-0.2 + C239.3,207.2,239.4,209,238.3,210.1z"/> + <path class="st4" d="M248.3,221.1c-1.2,0.9-2.9,0.7-3.8-0.5c-0.9-1.2-0.9-2.8,0.3-3.8c1.1-1,3-0.9,4,0.3 + C249.7,218.4,249.5,220.2,248.3,221.1z"/> + <path class="st4" d="M256.5,233.6c-1.3,0.7-3.1,0.3-3.8-1c-0.8-1.3-0.3-3,0.9-3.8s3-0.4,3.8,1 + C258.2,231.1,257.8,232.8,256.5,233.6z"/> + <path class="st4" d="M262.5,247.2c-1.4,0.5-3-0.2-3.5-1.6c-0.5-1.4,0.2-3,1.6-3.6c1.4-0.6,3,0.1,3.5,1.6 + C264.6,245.1,263.9,246.7,262.5,247.2z"/> + <path class="st4" d="M266.3,261.6c-1.5,0.3-2.8-0.7-3.2-2.2c-0.4-1.4,0.5-2.9,2-3.3c1.5-0.4,3,0.6,3.4,2.1 + C269,259.8,267.8,261.3,266.3,261.6z"/> + <path class="st4" d="M267.9,276.4c-1.5,0-2.8-1.1-2.9-2.6c-0.1-1.5,1.1-2.8,2.6-2.9c1.5-0.1,2.8,1,2.9,2.6 + C270.6,275,269.4,276.3,267.9,276.4z"/> + <path class="st4" d="M94.3,266.7c1.5,0.2,2.6,1.6,2.3,3.1c-0.3,1.4-1.5,2.5-3,2.4c-1.5-0.1-2.8-1.5-2.5-3.1 + C91.4,267.5,92.8,266.5,94.3,266.7z"/> + <path class="st4" d="M97.9,252.4c1.4,0.5,2.2,2.1,1.7,3.4c-0.4,1.4-1.9,2.2-3.3,1.8c-1.5-0.4-2.4-2-1.9-3.5 + C94.8,252.7,96.4,251.9,97.9,252.4z"/> + <path class="st4" d="M104,239.1c1.3,0.8,1.7,2.4,1.1,3.7c-0.6,1.3-2.3,1.8-3.6,1.2c-1.4-0.7-1.9-2.4-1.2-3.8 + C100.9,238.7,102.7,238.3,104,239.1z"/> + <path class="st4" d="M112.5,227c1.2,1,1.2,2.6,0.4,3.9c-0.9,1.2-2.6,1.4-3.8,0.5c-1.2-0.9-1.5-2.7-0.5-3.9 + C109.5,226.1,111.3,226.1,112.5,227z"/> + <path class="st4" d="M123,216.8c0.5,0.6,0.7,1.3,0.6,2c-0.1,0.7-0.3,1.4-0.9,1.9c-1.1,1-2.8,0.9-3.9-0.2c-1-1.1-0.9-2.9,0.2-4 + c0.6-0.5,1.3-0.8,2-0.7C121.9,215.8,122.5,216.2,123,216.8z"/> + <path class="st4" d="M135.3,208.6c0.7,1.3,0.3,3-1,3.8c-1.3,0.8-2.9,0.3-3.8-1c-0.8-1.3-0.4-3,1-3.8 + C132.9,206.8,134.5,207.2,135.3,208.6z"/> + <path class="st4" d="M148.8,202.9c0.5,1.5-0.3,3.1-1.7,3.6c-1.4,0.5-3-0.2-3.5-1.7c-0.6-1.4,0.2-3,1.7-3.6 + C146.8,200.6,148.4,201.4,148.8,202.9z"/> + <path class="st4" d="M163.2,199.7c0.2,1.5-0.9,2.9-2.3,3.2c-1.4,0.2-2.9-0.8-3.2-2.3c-0.3-1.5,0.7-2.9,2.3-3.1 + C161.6,197.2,163.1,198.2,163.2,199.7z"/> + <path class="st4" d="M177.9,199.3c-0.1,1.5-1.4,2.7-2.8,2.6c-1.5-0.1-2.7-1.3-2.7-2.8c0-1.6,1.2-2.8,2.8-2.7 + C176.8,196.5,178,197.8,177.9,199.3z"/> + <path class="st4" d="M192.5,201.6c-0.4,1.5-1.8,2.4-3.3,2c-1.4-0.3-2.4-1.7-2.1-3.2c0.3-1.5,1.8-2.6,3.3-2.2 + C191.9,198.6,192.9,200.1,192.5,201.6z"/> + <path class="st4" d="M206.4,206.4c-0.7,1.4-2.2,2-3.6,1.4c-1.4-0.5-2.1-2.1-1.5-3.5c0.5-1.4,2.2-2.2,3.7-1.6 + C206.4,203.3,207,205.1,206.4,206.4z"/> + <path class="st4" d="M219.1,213.8c-0.9,1.3-2.5,1.5-3.8,0.7c-1.3-0.8-1.6-2.4-0.8-3.7c0.8-1.3,2.5-1.7,3.9-0.9 + C219.7,210.7,220,212.6,219.1,213.8z"/> + <path class="st4" d="M230.3,223.3c-1.1,1.1-2.8,1-3.9,0.1c-1.1-1-1.1-2.7-0.1-3.9c1-1.1,2.8-1.2,4-0.1 + C231.5,220.4,231.4,222.3,230.3,223.3z"/> + <path class="st4" d="M239.6,234.8c-1.3,0.8-3,0.5-3.9-0.6c-0.9-1.2-0.6-2.9,0.6-3.8c1.2-0.9,3-0.7,3.9,0.6 + C241.2,232.2,240.9,233.9,239.6,234.8z"/> + <path class="st4" d="M246.6,247.7c-1.4,0.6-3.1,0-3.7-1.3c-0.6-1.3,0-3,1.3-3.7c1.4-0.7,3-0.1,3.7,1.3 + C248.6,245.5,248,247.1,246.6,247.7z"/> + <path class="st4" d="M251,261.8c-1.5,0.3-3-0.6-3.4-2c-0.4-1.4,0.5-2.9,2-3.4c1.5-0.4,3,0.5,3.4,2 + C253.4,260,252.5,261.5,251,261.8z"/> + <path class="st4" d="M252.8,276.4c-1.5,0-2.8-1.1-2.9-2.6c-0.1-1.5,1.1-2.8,2.6-2.9c1.5-0.2,2.8,1,2.9,2.6 + C255.5,275,254.3,276.4,252.8,276.4z"/> + <path class="st4" d="M109.5,266.9c1.5,0.3,2.5,1.7,2.3,3.1c-0.2,1.4-1.6,2.4-3.2,2.3c-1.5-0.1-2.6-1.5-2.3-3.1 + C106.6,267.6,108,266.6,109.5,266.9z"/> + <path class="st4" d="M113.8,253.1c0.7,0.3,1.2,0.9,1.5,1.5c0.3,0.6,0.4,1.4,0.1,2c-0.5,1.3-2.1,2-3.5,1.6 + c-1.4-0.5-2.2-2.1-1.6-3.6c0.3-0.7,0.8-1.3,1.4-1.6C112.3,252.8,113.1,252.8,113.8,253.1z"/> + <path class="st4" d="M121,240.5c1.2,0.9,1.5,2.6,0.7,3.7c-0.7,1.2-2.4,1.6-3.7,0.8c-1.3-0.8-1.7-2.5-0.9-3.9 + C118.1,239.9,119.8,239.6,121,240.5z"/> + <path class="st4" d="M130.9,229.9c1,1.2,0.9,2.9-0.1,3.9c-1.1,0.9-2.8,0.9-3.9-0.1c-1.1-1.1-1.1-2.8,0.1-3.9 + C128.1,228.7,129.9,228.7,130.9,229.9z"/> + <path class="st4" d="M142.8,221.7c0.7,1.3,0.3,3-1,3.7c-1.2,0.7-2.9,0.3-3.7-1c-0.8-1.3-0.4-3,0.9-3.8 + C140.4,219.8,142.1,220.3,142.8,221.7z"/> + <path class="st4" d="M156.3,216.5c0.4,1.5-0.4,3-1.8,3.3c-1.3,0.5-2.9-0.3-3.4-1.7c-0.5-1.4,0.2-3,1.7-3.6 + C154.4,214.1,155.9,215,156.3,216.5z"/> + <path class="st4" d="M170.6,214.3c0,1.5-1.1,2.8-2.5,2.9c-1.4,0-2.7-1-2.9-2.5c-0.2-1.5,0.9-3,2.5-3 + C169.3,211.6,170.6,212.8,170.6,214.3z"/> + <path class="st4" d="M185.1,215.3c-0.3,1.5-1.7,2.5-3.1,2.3c-1.4-0.2-2.4-1.6-2.3-3.2c0.1-1.5,1.5-2.6,3.1-2.3 + C184.3,212.4,185.4,213.8,185.1,215.3z"/> + <path class="st4" d="M198.9,219.6c-0.3,0.7-0.9,1.2-1.5,1.5c-0.6,0.3-1.4,0.4-2,0.1c-1.3-0.5-2-2.1-1.6-3.5 + c0.5-1.4,2.1-2.2,3.6-1.6c0.7,0.3,1.3,0.8,1.6,1.4C199.2,218.1,199.2,218.9,198.9,219.6z"/> + <path class="st4" d="M211.4,226.9c-0.9,1.2-2.6,1.5-3.7,0.7c-1.2-0.7-1.6-2.4-0.8-3.7c0.8-1.3,2.5-1.7,3.9-0.9 + C212.1,223.9,212.3,225.6,211.4,226.9z"/> + <path class="st4" d="M222.1,236.7c-1.2,1-2.9,0.9-3.9-0.1c-0.9-1.1-0.9-2.8,0.1-3.9c1.1-1.1,2.8-1.1,3.9,0.1 + C223.3,233.9,223.2,235.7,222.1,236.7z"/> + <path class="st4" d="M230.2,248.6c-1.3,0.7-3,0.3-3.7-1c-0.7-1.2-0.3-2.9,1-3.7c1.3-0.8,3-0.4,3.8,0.9 + C232.1,246.2,231.6,247.9,230.2,248.6z"/> + <path class="st4" d="M235.5,262.1c-1.5,0.4-3-0.4-3.3-1.8c-0.5-1.3,0.3-2.9,1.7-3.4c1.4-0.5,3,0.2,3.6,1.7 + C237.9,260.2,237,261.7,235.5,262.1z"/> + <path class="st4" d="M237.7,276.4c-1.5,0-2.8-1.1-2.9-2.5c0-1.4,1-2.7,2.5-2.9c1.5-0.2,3,0.9,3,2.5 + C240.4,275.1,239.2,276.4,237.7,276.4z"/> + <path class="st4" d="M125,266.7c1.5,0.4,2.3,1.8,2.1,3.2c-0.2,1.4-1.6,2.4-3.1,2.2c-1.5-0.2-2.5-1.7-2.3-3.3 + C122,267.3,123.6,266.3,125,266.7z"/> + <path class="st4" d="M130.8,253.1c1.3,0.8,1.7,2.4,1,3.7c-0.6,1.3-2.3,1.8-3.6,1.2c-1.4-0.6-1.9-2.3-1.2-3.8 + C127.7,252.7,129.5,252.3,130.8,253.1z"/> + <path class="st4" d="M140.3,241.8c1,1.2,1,2.9-0.1,3.8c-1,1-2.7,1.1-3.8,0.1c-1.1-1-1.2-2.8-0.1-4 + C137.5,240.6,139.3,240.6,140.3,241.8z"/> + <path class="st4" d="M152.6,233.7c0.6,1.4,0.1,3-1.2,3.7c-1.3,0.6-2.9,0.3-3.7-1.1c-0.8-1.3-0.3-3.1,1.1-3.8 + C150.3,231.8,152,232.3,152.6,233.7z"/> + <path class="st4" d="M166.9,229.7c0.2,1.5-0.8,2.9-2.3,3.1c-1.4,0.2-2.8-0.6-3.2-2.1c-0.4-1.4,0.6-3.1,2.2-3.3 + C165.2,227.2,166.7,228.2,166.9,229.7z"/> + <path class="st4" d="M181.6,230.1c-0.3,1.5-1.7,2.6-3.1,2.3c-1.4-0.2-2.5-1.4-2.4-3c0.1-1.5,1.5-2.8,3.1-2.5 + C180.8,227.2,181.9,228.6,181.6,230.1z"/> + <path class="st4" d="M195.6,234.8c-0.7,1.4-2.3,2-3.6,1.3c-1.3-0.6-2-2.1-1.5-3.6c0.5-1.4,2.2-2.2,3.7-1.5 + C195.7,231.7,196.4,233.4,195.6,234.8z"/> + <path class="st4" d="M207.7,243.4c-1.1,1.1-2.8,1.2-3.9,0.2c-1-1-1.3-2.6-0.3-3.9c0.9-1.2,2.8-1.5,4-0.3 + C208.6,240.5,208.7,242.3,207.7,243.4z"/> + <path class="st4" d="M216.6,255.1c-1.3,0.7-3.1,0.3-3.8-0.9c-0.4-0.6-0.4-1.4-0.3-2c0.1-0.7,0.5-1.3,1.1-1.8 + c0.6-0.4,1.4-0.6,2.1-0.4c0.7,0.2,1.3,0.6,1.8,1.3C218.4,252.7,218,254.4,216.6,255.1z"/> + <path class="st4" d="M221.7,269c-1.5,0.3-3-0.6-3.4-2c-0.3-1.4,0.5-2.9,1.9-3.4c1.5-0.5,3,0.4,3.4,2 + C224.1,267.2,223.2,268.7,221.7,269z"/> + <path class="st4" d="M140.7,267.1c1.5,0.6,2.1,2,1.8,3.3c-0.3,1.3-1.8,2.2-3.3,1.9c-1.5-0.3-2.5-1.8-2-3.4 + C137.5,267.4,139.3,266.6,140.7,267.1z"/> + <path class="st4" d="M148.2,255c1.1,1.1,1.2,2.8,0.3,3.8c-0.8,1.1-2.5,1.3-3.8,0.4c-1.3-0.9-1.5-2.6-0.5-3.9 + C145.4,254,147.2,253.9,148.2,255z"/> + <path class="st4" d="M160.1,246.9c0.5,1.4,0,3-1.2,3.6c-1.2,0.5-2.8,0.2-3.6-1.2c-0.8-1.3-0.4-3.1,1.1-3.8 + C157.9,244.9,159.5,245.5,160.1,246.9z"/> + <path class="st4" d="M174.2,244.5c-0.1,1.5-1.2,2.7-2.6,2.8c-0.7,0-1.3-0.2-1.8-0.7c-0.5-0.4-0.9-1.1-1-1.8 + c-0.1-0.8,0.1-1.5,0.6-2.1c0.5-0.5,1.2-0.9,2-0.9C173,241.6,174.3,242.9,174.2,244.5z"/> + <path class="st4" d="M188.1,247.9c-0.7,1.4-2.2,1.9-3.5,1.5c-1.3-0.5-1.9-2.1-1.5-3.5c0.4-1.5,2-2.2,3.6-1.7 + C188.2,244.8,188.8,246.6,188.1,247.9z"/> + <path class="st4" d="M199.5,256.7c-1.2,1-2.9,0.9-3.8-0.1c-1-0.9-1-2.6,0-3.8c1-1.2,2.8-1.2,4-0.1 + C200.7,254,200.6,255.7,199.5,256.7z"/> + <path class="st4" d="M206.2,269.3c-0.7,0.2-1.5,0.1-2.1-0.2c-0.6-0.3-1.1-0.8-1.4-1.4c-0.4-1.3,0.2-2.8,1.5-3.5 + c1.4-0.7,3.1,0,3.6,1.5c0.3,0.8,0.2,1.6-0.1,2.2C207.5,268.6,206.9,269.1,206.2,269.3z"/> + <path class="st4" d="M157.7,267.1c1.2,1,1.5,2.6,0.9,3.7c-0.3,0.6-0.8,1-1.5,1.2c-0.6,0.2-1.4,0.3-2.1,0c-0.7-0.3-1.3-0.8-1.5-1.5 + c-0.2-0.7-0.2-1.6,0.3-2.4C154.6,266.6,156.5,266.2,157.7,267.1z"/> + <path class="st4" d="M170.5,259.7c0.2,1.5-0.8,2.9-2,3.2c-1.3,0.4-2.8-0.3-3.4-1.7c-0.7-1.4,0.1-3.1,1.9-3.7 + C168.7,257.1,170.3,258.2,170.5,259.7z"/> + <path class="st4" d="M184.8,263.5c-1,1.2-2.6,1.5-3.7,0.9c-0.6-0.3-1-0.8-1.2-1.5c-0.2-0.6-0.3-1.4,0-2.1c0.3-0.7,0.8-1.3,1.5-1.5 + c0.7-0.2,1.6-0.2,2.4,0.3C185.4,260.4,185.8,262.3,184.8,263.5z"/> + <path class="st4" d="M192.3,276.3c-1.5,0.2-2.9-0.8-3.2-2c-0.4-1.3,0.3-2.8,1.7-3.4c1.4-0.7,3.1,0.1,3.7,1.9 + C194.9,274.5,193.8,276.2,192.3,276.3z"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/kia.svg =================================================================== --- base3.10/src/main/webapp/images/custom/kia.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/kia.svg (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 224.8 52.9" style="enable-background:new 0 0 224.8 52.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#05141F;} +</style> +<g> + <g> + <path class="st0" d="M130.5,46.8c0,0.4,0.1,0.7,0.4,0.7c0.2,0,0.3-0.1,0.5-0.2l70.1-45.5c1.2-0.8,2.4-1.2,4-1.2h15.4 + c2.4,0,4,1.6,4,4v29.4c0,3.6-0.8,5.6-3.9,7.5l-18.7,11.2c-0.2,0.2-0.4,0.2-0.6,0.2c-0.2,0-0.4-0.2-0.4-0.8l0-34.3 + c0-0.4-0.1-0.7-0.4-0.7c-0.2,0-0.3,0.1-0.5,0.2L149,50.6c-1.4,0.9-2.6,1.2-3.9,1.2h-34c-2.4,0-3.9-1.6-3.9-4l0-42.4 + c0-0.3-0.1-0.6-0.4-0.6c-0.2,0-0.3,0.1-0.6,0.2L72.4,25.3c-0.3,0.2-0.4,0.4-0.4,0.5c0,0.1,0.1,0.3,0.3,0.5l24.1,24.1 + c0.3,0.3,0.5,0.6,0.5,0.8c0,0.3-0.4,0.4-0.8,0.4H74.4c-1.7,0-3-0.3-4-1.2L55.8,35.9c-0.1-0.1-0.3-0.2-0.4-0.2 + c-0.1,0-0.3,0.1-0.5,0.2L30.4,50.6c-1.5,0.9-2.5,1.2-4,1.2H3.9c-2.4,0-3.9-1.6-3.9-4V18.9c0-3.6,0.8-5.6,4-7.5L22.7,0.2 + C22.9,0,23.1,0,23.3,0c0.3,0,0.4,0.3,0.4,0.9v38.6c0,0.4,0.1,0.6,0.4,0.6c0.2,0,0.3-0.1,0.6-0.2L88.1,1.7c1.5-0.9,2.4-1.2,4.2-1.2 + h34.2c2.4,0,4,1.6,4,4V46.8z"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_checkbox_true_part.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_checkbox_true_part.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_checkbox_true_part.svg (revision 7) @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="24.166px" height="24.165px" viewBox="33.75 0 24.166 24.165" enable-background="new 33.75 0 24.166 24.165" + xml:space="preserve"> +<g> + <path fill="none" d="M35.85,23.588c-0.84,0-1.523-0.684-1.523-1.521V2.099c0-0.839,0.684-1.522,1.523-1.522h19.967 + c0.84,0,1.523,0.683,1.523,1.522v19.968c0,0.84-0.684,1.521-1.523,1.521H35.85z"/> + <path fill="#828282" d="M55.815,0H35.849c-1.158,0-2.101,0.942-2.101,2.099v19.968c0,1.156,0.942,2.098,2.101,2.098h19.967 + c1.159,0,2.102-0.941,2.102-2.098V2.098C57.915,0.941,56.972,0,55.815,0z M55.815,23.01H35.849c-0.522,0-0.947-0.424-0.947-0.945 + V2.099c0-0.522,0.425-0.946,0.947-0.946h19.967V1.151c0.522,0,0.947,0.424,0.947,0.946v19.968 + C56.763,22.586,56.338,23.01,55.815,23.01z"/> +</g> +<path fill="#828282" d="M43.985,17.061c-0.264,0-0.53-0.102-0.733-0.305l-4.192-4.191c-0.406-0.404-0.406-1.062,0-1.468 + c0.403-0.404,1.061-0.406,1.467,0l3.461,3.456l7.15-7.147C51.543,7,52.2,7,52.606,7.406c0.406,0.406,0.406,1.063,0,1.469 + l-7.885,7.882C44.519,16.959,44.254,17.061,43.985,17.061z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/ts_chatting_view_bg.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/ts_chatting_view_bg.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/bg_main_section4.svg =================================================================== --- base3.10/src/main/webapp/images/custom/bg_main_section4.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/bg_main_section4.svg (revision 7) @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 2228.5 745.8" style="enable-background:new 0 0 2228.5 745.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#1984FD;} + .st1{fill:#4953D3;} + .st2{fill:#6E8CFD;} + .st3{fill:#4FE179;} + .st4{fill:#3BBCFD;} +</style> +<g> + <path class="st0" d="M1878.6,571.5v175h0.2c193.2-0.1,349.7-156.7,349.7-349.9v0v0l-175,0C2053.5,493.1,1975.2,571.5,1878.6,571.5" + /> + <path class="st1" d="M1528.7,571.2l0-175h-0.2c-193.2,0.1-349.7,156.7-349.7,349.9v0v0l175,0 + C1353.8,649.6,1432.1,571.2,1528.7,571.2"/> + <path class="st2" d="M1878.6,571.5L1878.6,571.5c0-24.2-19.6-43.7-43.7-43.7l0,0c-24.2,0-43.7,19.6-43.7,43.7l0,0H1878.6z"/> + <path class="st2" d="M1703.7,571.5L1703.7,571.5c0,24.2,19.6,43.7,43.7,43.7l0,0c24.2,0,43.7-19.6,43.7-43.7l0,0L1703.7,571.5z"/> + <path class="st2" d="M1703.7,571.5L1703.7,571.5c0-24.2-19.6-43.7-43.7-43.7h0c-24.2,0-43.7,19.6-43.7,43.7l0,0H1703.7z"/> + <path class="st2" d="M1528.7,571.5L1528.7,571.5c0,24.2,19.6,43.7,43.7,43.7h0c24.2,0,43.7-19.6,43.7-43.7l0,0L1528.7,571.5z"/> + <path class="st2" d="M1878.6,658.9L1878.6,658.9c0-24.2-19.6-43.7-43.7-43.7l0,0c-24.2,0-43.7,19.6-43.7,43.7v0H1878.6z"/> + <path class="st2" d="M1703.7,658.9L1703.7,658.9c0,24.2,19.6,43.7,43.7,43.7l0,0c24.2,0,43.7-19.6,43.7-43.7l0,0L1703.7,658.9z"/> + <path class="st2" d="M1703.7,658.9L1703.7,658.9c0-24.2-19.6-43.7-43.7-43.7h0c-24.2,0-43.7,19.6-43.7,43.7v0H1703.7z"/> + <path class="st2" d="M1528.7,658.9L1528.7,658.9c0,24.2,19.6,43.7,43.7,43.7h0c24.2,0,43.7-19.6,43.7-43.7l0,0L1528.7,658.9z"/> + <path class="st2" d="M1878.6,746.4L1878.6,746.4c0-24.2-19.6-43.7-43.7-43.7l0,0c-24.2,0-43.7,19.6-43.7,43.7l0,0H1878.6z"/> + <path class="st2" d="M1703.7,746.4L1703.7,746.4c0-24.2-19.6-43.7-43.7-43.7h0c-24.2,0-43.7,19.6-43.7,43.7l0,0H1703.7z"/> + <g> + <path class="st3" d="M1491.3,376.8L1491.3,376.8c-15.3,0-27.7-12.4-27.7-27.7v0c0-15.3,12.4-27.7,27.7-27.7l0,0 + c15.3,0,27.7,12.4,27.7,27.7v0C1518.9,364.4,1506.6,376.8,1491.3,376.8z"/> + <path class="st3" d="M1491.3,330.7L1491.3,330.7c-15.3,0-27.7-12.4-27.7-27.7v0c0-15.3,12.4-27.7,27.7-27.7l0,0 + c15.3,0,27.7,12.4,27.7,27.7v0C1518.9,318.3,1506.6,330.7,1491.3,330.7z"/> + <path class="st1" d="M1494.1,399.5h-5.6v-48.6c0-1.5,1.3-2.8,2.8-2.8l0,0c1.5,0,2.8,1.3,2.8,2.8V399.5z"/> + </g> + <g> + <circle class="st3" cx="2097.5" cy="325.7" r="48"/> + <path class="st1" d="M2100.3,396.5h-5.6v-48.6c0-1.5,1.3-2.8,2.8-2.8l0,0c1.5,0,2.8,1.3,2.8,2.8V396.5z"/> + </g> + <g> + <path class="st4" d="M2189.3,373.7L2189.3,373.7c-15.3,0-27.7-12.4-27.7-27.7v-40.7c0-15.3,12.4-27.7,27.7-27.7l0,0 + c15.3,0,27.7,12.4,27.7,27.7v40.7C2216.9,361.3,2204.5,373.7,2189.3,373.7z"/> + <path class="st1" d="M2192,396.5h-5.6v-48.6c0-1.5,1.3-2.8,2.8-2.8l0,0c1.5,0,2.8,1.3,2.8,2.8V396.5z"/> + </g> +</g> +<path class="st2" d="M173.1,400.6L0,400.6v0.2c0.1,191.1,155,346,346.2,346h0h0l0-173.1C250.6,573.7,173.1,496.2,173.1,400.6"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_arrow_allminus.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_arrow_allminus.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_arrow_allminus.svg (revision 7) @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"> +<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="16.131px" height="17.402px" viewBox="0 0 16.131 17.402" xml:space="preserve"> +<g> + <polygon points="15.23,15.702 6.624,15.702 6.624,14.802 14.33,14.802 14.33,2.601 4.503,2.601 4.503,15.251 3.602,15.251 + 3.602,1.702 15.23,1.702 "/> + <rect x="7.083" y="4.689" width="4.976" height="0.9"/> + <rect x="7.083" y="6.94" width="4.976" height="0.9"/> + <rect x="7.232" y="9.191" width="4.976" height="0.902"/> + <rect x="7.083" y="11.477" width="4.976" height="0.9"/> + <g> + <g> + + <polygon fill="none" stroke="#FFFFFF" stroke-width="1.4679" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 5.409,13.12 0.532,9.875 5.409,6.631 "/> + + <path fill="none" stroke="#FFFFFF" stroke-width="1.4679" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d=" + M12.151,9.186c0.235,0,0.424,0.307,0.424,0.688c0,0.386-0.191,0.693-0.427,0.693H3.662c-0.234,0-0.424-0.31-0.424-0.693 + c0-0.382,0.19-0.688,0.424-0.688H12.151z"/> + </g> + <g> + <polygon fill="#3CA123" points="5.409,13.12 0.532,9.875 5.409,6.631 "/> + <path fill="#3CA123" d="M12.151,9.186c0.235,0,0.424,0.307,0.424,0.688c0,0.386-0.191,0.693-0.427,0.693H3.662 + c-0.234,0-0.424-0.31-0.424-0.693c0-0.382,0.19-0.688,0.424-0.688H12.151z"/> + </g> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_copy.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_copy.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_copy.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 23.3 26.3" style="enable-background:new 0 0 23.3 26.3;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st1{fill:none;stroke:#000000;stroke-width:1.5;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="18.2,0.9 0.8,0.9 0.8,21.3 "/> + <rect x="5" y="5.2" class="st0" width="17.5" height="20.4"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_line_width.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/icon_tree_line_width.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/item1.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/item1.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_tree_logo.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/icon_tree_logo.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/tooltip.svg =================================================================== --- base3.10/src/main/webapp/images/custom/tooltip.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/tooltip.svg (revision 7) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 10 7" style="enable-background:new 0 0 10 7;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} + .st1{fill:#CCCCCC;} +</style> +<g> + <polygon class="st0" points="2.6,7 7.4,7 5,2.2 "/> + <polygon class="st1" points="5,1.7 7.8,7 8.5,7 5,0 1.5,7 2.3,7 "/> + <polygon class="st1" points="2.3,7 2.6,7 5,2.2 7.4,7 7.8,7 5,1.7 "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/techbanner1.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/techbanner1.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/bg_main_section5.svg =================================================================== --- base3.10/src/main/webapp/images/custom/bg_main_section5.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/bg_main_section5.svg (revision 7) @@ -0,0 +1,916 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 2228.5 276.9" style="enable-background:new 0 0 2228.5 276.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#4FE179;} + .st1{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;} + .st2{fill:#1984FD;} + .st3{fill:#4953D3;} + .st4{fill:#3BBCFD;} +</style> +<g> + <g> + <path class="st0" d="M681.3,346.2L681.3,346.2c0-95.6-77.5-173.1-173.1-173.1h0c-95.6,0-173.1,77.5-173.1,173.1v0H681.3z"/> + <path class="st0" d="M335.2,346.2L335.2,346.2c0-95.6-77.5-173.1-173.1-173.1h0C66.5,173.1-11,250.6-11,346.2v0H335.2z"/> + <g> + <path class="st1" d="M338.3,333.8c1.5,0.1,2.7,1.4,2.6,2.9c-0.1,1.5-1.3,2.7-2.9,2.6c-1.5-0.1-2.8-1.4-2.7-2.9 + C335.4,334.9,336.8,333.7,338.3,333.8z"/> + <path class="st1" d="M340,319c1.5,0.2,2.5,1.6,2.3,3.1c-0.2,1.5-1.6,2.6-3.1,2.4c-1.5-0.2-2.6-1.6-2.4-3.2 + C337,319.9,338.4,318.8,340,319z"/> + <path class="st1" d="M342.9,304.5c1.5,0.4,2.4,1.9,2.1,3.3c-0.3,1.5-1.8,2.4-3.3,2.1c-1.5-0.3-2.4-1.8-2.1-3.3 + C340,305,341.5,304.1,342.9,304.5z"/> + <path class="st1" d="M347.2,290.2c1.4,0.5,2.2,2.1,1.7,3.5c-0.5,1.4-2.1,2.2-3.5,1.8c-1.5-0.5-2.2-2-1.7-3.5 + C344.2,290.5,345.8,289.7,347.2,290.2z"/> + <path class="st1" d="M352.7,276.4c1.4,0.6,2,2.3,1.4,3.6c-0.6,1.4-2.2,2.1-3.6,1.5c-1.4-0.6-2.1-2.2-1.5-3.7 + C349.7,276.4,351.3,275.8,352.7,276.4z"/> + <path class="st1" d="M359.4,263.1c1.3,0.8,1.8,2.4,1.1,3.7c-0.7,1.3-2.4,1.9-3.7,1.2c-1.4-0.7-1.9-2.4-1.2-3.8 + C356.3,262.9,358.1,262.4,359.4,263.1z"/> + <path class="st1" d="M367.2,250.5c1.2,0.9,1.6,2.6,0.8,3.9c-0.8,1.3-2.5,1.6-3.8,0.8c-1.3-0.8-1.7-2.5-0.8-3.9 + C364.2,250,365.9,249.6,367.2,250.5z"/> + <path class="st1" d="M376.1,238.6c1.2,1,1.4,2.7,0.5,3.9c-0.9,1.2-2.7,1.4-3.9,0.5c-1.2-0.9-1.4-2.7-0.5-3.9 + C373.1,237.8,374.9,237.6,376.1,238.6z"/> + <path class="st1" d="M386,227.5c1.1,1.1,1.1,2.8,0.1,3.9c-1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.2-2.8-0.1-3.9 + C383.1,226.4,384.9,226.4,386,227.5z"/> + <path class="st1" d="M396.8,217.3c1,1.2,0.9,2.9-0.3,3.9c-1.2,1-2.9,0.9-3.9-0.2c-1-1.1-1-2.9,0.2-3.9 + C394,216,395.8,216.1,396.8,217.3z"/> + <path class="st1" d="M408.4,208c0.9,1.2,0.6,3-0.6,3.8c-1.2,0.9-2.9,0.7-3.9-0.5c-0.9-1.2-0.7-3,0.5-3.9 + C405.8,206.5,407.5,206.8,408.4,208z"/> + <path class="st1" d="M420.8,199.8c0.8,1.3,0.3,3-0.9,3.8c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.3-0.4-3,0.9-3.9 + C418.3,198.1,420.1,198.5,420.8,199.8z"/> + <path class="st1" d="M433.9,192.7c0.7,1.4,0.1,3.1-1.2,3.7c-1.3,0.7-3,0.1-3.7-1.2c-0.7-1.3-0.2-3,1.2-3.7 + C431.6,190.8,433.2,191.4,433.9,192.7z"/> + <path class="st1" d="M447.6,186.9c0.5,1.4-0.2,3-1.6,3.6c-1.4,0.6-3-0.1-3.6-1.5c-0.6-1.4,0.1-3,1.6-3.6 + C445.4,184.7,447,185.4,447.6,186.9z"/> + <path class="st1" d="M461.7,182.2c0.4,1.5-0.4,3-1.9,3.4c-1.5,0.4-3-0.4-3.5-1.8c-0.5-1.4,0.3-3.1,1.9-3.5 + C459.7,179.9,461.3,180.7,461.7,182.2z"/> + <path class="st1" d="M476.2,178.8c0.3,1.5-0.7,2.9-2.2,3.2c-1.5,0.3-2.9-0.6-3.3-2.1c-0.3-1.5,0.6-3,2.2-3.3 + C474.4,176.2,475.9,177.3,476.2,178.8z"/> + <path class="st1" d="M490.9,176.6c0.1,1.5-0.9,2.9-2.4,3.1c-1.5,0.2-2.9-0.9-3.1-2.4c-0.2-1.5,0.9-2.9,2.4-3.1 + C489.3,174,490.7,175.1,490.9,176.6z"/> + <path class="st1" d="M505.7,175.8c0,1.5-1.2,2.8-2.7,2.8c-1.5,0-2.8-1.2-2.9-2.7c-0.1-1.5,1.1-2.8,2.7-2.8 + C504.4,173,505.7,174.2,505.7,175.8z"/> + <path class="st1" d="M520.6,176.2c-0.1,1.5-1.4,2.7-2.9,2.6c-1.5-0.1-2.7-1.3-2.6-2.9c0.1-1.5,1.4-2.8,2.9-2.7 + C519.5,173.3,520.7,174.7,520.6,176.2z"/> + <path class="st1" d="M535.3,177.9c-0.2,1.5-1.6,2.5-3.1,2.3c-1.5-0.2-2.6-1.6-2.4-3.1c0.2-1.5,1.6-2.6,3.2-2.4 + C534.5,174.9,535.6,176.4,535.3,177.9z"/> + <path class="st1" d="M549.9,180.9c-0.4,1.5-1.9,2.4-3.3,2.1c-1.5-0.3-2.4-1.8-2.1-3.3c0.3-1.5,1.8-2.4,3.3-2.1 + C549.4,177.9,550.3,179.4,549.9,180.9z"/> + <path class="st1" d="M564.1,185.1c-0.5,1.4-2.1,2.2-3.5,1.7c-1.4-0.5-2.2-2.1-1.8-3.5c0.4-1.5,2-2.2,3.5-1.7 + C563.9,182.1,564.7,183.7,564.1,185.1z"/> + <path class="st1" d="M578,190.6c-0.6,1.4-2.3,2-3.6,1.4c-1.4-0.6-2.1-2.2-1.5-3.6c0.6-1.4,2.2-2.1,3.7-1.5 + C577.9,187.6,578.6,189.2,578,190.6z"/> + <path class="st1" d="M591.3,197.3c-0.8,1.3-2.4,1.8-3.7,1.1c-1.3-0.7-1.9-2.4-1.2-3.7c0.7-1.4,2.4-1.9,3.8-1.2 + C591.5,194.2,592,196,591.3,197.3z"/> + <path class="st1" d="M603.9,205.1c-0.9,1.2-2.6,1.6-3.9,0.8c-1.3-0.8-1.6-2.5-0.8-3.8c0.8-1.3,2.5-1.7,3.9-0.8 + C604.4,202.1,604.8,203.8,603.9,205.1z"/> + <path class="st1" d="M615.8,214c-1,1.2-2.7,1.4-3.9,0.5c-1.2-0.9-1.4-2.7-0.5-3.9c0.9-1.2,2.7-1.4,3.9-0.5 + C616.6,211.1,616.8,212.8,615.8,214z"/> + <path class="st1" d="M626.9,223.9c-1.1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.1-2.8-0.1-3.9c1-1.1,2.8-1.2,3.9-0.1 + C627.9,221,628,222.8,626.9,223.9z"/> + <path class="st1" d="M637.1,234.7c-1.2,1-2.9,0.9-3.9-0.3c-1-1.2-0.9-2.9,0.2-3.9c1.1-1,2.9-1,3.9,0.2 + C638.4,231.9,638.3,233.7,637.1,234.7z"/> + <path class="st1" d="M646.4,246.4c-1.2,0.9-3,0.6-3.8-0.6c-0.9-1.2-0.7-2.9,0.5-3.9c1.2-0.9,3-0.7,3.9,0.5 + C647.9,243.7,647.6,245.5,646.4,246.4z"/> + <path class="st1" d="M654.6,258.8c-1.3,0.8-3,0.3-3.8-0.9c-0.8-1.3-0.4-3,0.8-3.8c1.3-0.8,3-0.4,3.9,0.9 + C656.3,256.2,655.9,258,654.6,258.8z"/> + <path class="st1" d="M661.6,271.8c-1.4,0.7-3.1,0.1-3.7-1.2c-0.7-1.3-0.1-3,1.2-3.7c1.3-0.7,3-0.2,3.7,1.2 + C663.6,269.5,663,271.2,661.6,271.8z"/> + <path class="st1" d="M667.5,285.5c-1.4,0.5-3-0.2-3.6-1.6c-0.6-1.4,0.1-3,1.5-3.6c1.4-0.6,3,0.1,3.6,1.6 + C669.6,283.3,669,285,667.5,285.5z"/> + <path class="st1" d="M672.2,299.6c-1.5,0.4-3-0.4-3.4-1.9c-0.4-1.5,0.4-3,1.8-3.5c1.4-0.5,3.1,0.3,3.5,1.9 + C674.5,297.6,673.7,299.2,672.2,299.6z"/> + <path class="st1" d="M675.6,314.1c-1.5,0.3-2.9-0.7-3.2-2.2c-0.3-1.5,0.6-2.9,2.1-3.3c1.5-0.3,3,0.6,3.3,2.2 + C678.1,312.3,677.1,313.8,675.6,314.1z"/> + <path class="st1" d="M677.8,328.8c-1.5,0.1-2.9-0.9-3.1-2.4c-0.2-1.5,0.9-2.9,2.4-3.1c1.5-0.2,2.9,0.9,3.1,2.4 + C680.4,327.2,679.3,328.6,677.8,328.8z"/> + <path class="st1" d="M678.6,343.6c-1.5,0-2.8-1.2-2.8-2.7c0-1.5,1.2-2.8,2.7-2.9c1.5-0.1,2.8,1.1,2.8,2.7 + C681.3,342.3,680.1,343.6,678.6,343.6z"/> + <path class="st1" d="M353.4,333.9c1.5,0.1,2.7,1.4,2.6,2.9c-0.1,1.5-1.4,2.7-2.9,2.6c-1.5-0.1-2.8-1.4-2.6-2.9 + C350.6,334.9,351.9,333.8,353.4,333.9z"/> + <path class="st1" d="M355.3,319.2c1.5,0.3,2.5,1.7,2.2,3.2c-0.2,1.5-1.6,2.5-3.1,2.3c-1.5-0.2-2.6-1.6-2.4-3.2 + C352.3,320,353.8,319,355.3,319.2z"/> + <path class="st1" d="M358.5,304.8c1.5,0.4,2.3,1.9,1.9,3.4c-0.3,1.5-1.8,2.4-3.3,2c-1.5-0.3-2.4-1.9-2.1-3.4 + C355.5,305.3,357,304.4,358.5,304.8z"/> + <path class="st1" d="M363.1,290.8c1.4,0.6,2.1,2.1,1.6,3.5c-0.5,1.4-2,2.2-3.5,1.7c-1.4-0.5-2.2-2.1-1.7-3.6 + C360,290.9,361.7,290.2,363.1,290.8z"/> + <path class="st1" d="M369,277.2c1.4,0.7,1.9,2.3,1.3,3.7c-0.6,1.4-2.3,2-3.6,1.3c-1.4-0.6-2-2.3-1.4-3.7 + C365.9,277.1,367.7,276.5,369,277.2z"/> + <path class="st1" d="M376.2,264.3c1.3,0.8,1.7,2.5,0.9,3.8c-0.7,1.3-2.4,1.7-3.8,1c-1.3-0.8-1.8-2.5-1-3.8 + C373.1,263.9,374.9,263.5,376.2,264.3z"/> + <path class="st1" d="M384.6,252.1c1.2,0.9,1.4,2.6,0.6,3.9c-0.9,1.2-2.6,1.5-3.8,0.6c-1.2-0.9-1.5-2.6-0.6-3.9 + C381.6,251.4,383.4,251.2,384.6,252.1z"/> + <path class="st1" d="M394.1,240.8c1.1,1,1.2,2.7,0.2,3.9c-1,1.1-2.7,1.2-3.9,0.3c-1.2-1-1.3-2.8-0.3-3.9 + C391.2,239.8,393,239.8,394.1,240.8z"/> + <path class="st1" d="M404.6,230.4c1,1.1,0.9,2.9-0.2,3.9c-1.1,1-2.8,1-3.9-0.1c-1.1-1.1-1-2.9,0.1-3.9 + C401.8,229.2,403.6,229.3,404.6,230.4z"/> + <path class="st1" d="M416.1,221.1c0.9,1.2,0.6,2.9-0.5,3.9c-1.2,0.9-2.9,0.7-3.9-0.5c-1-1.2-0.7-2.9,0.5-3.9 + C413.4,219.6,415.2,219.9,416.1,221.1z"/> + <path class="st1" d="M428.4,212.9c0.8,1.3,0.4,3-0.9,3.8c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.3-0.5-3,0.9-3.8 + C425.9,211.1,427.6,211.6,428.4,212.9z"/> + <path class="st1" d="M441.4,205.9c0.6,1.4,0.1,3-1.2,3.7c-1.3,0.7-3,0.1-3.7-1.2c-0.7-1.4-0.2-3,1.2-3.7 + C439.1,203.9,440.8,204.5,441.4,205.9z"/> + <path class="st1" d="M455,200.2c0.5,1.4-0.2,3-1.6,3.6c-1.4,0.5-3-0.2-3.6-1.6c-0.6-1.4,0.1-3,1.6-3.6 + C452.9,198,454.5,198.7,455,200.2z"/> + <path class="st1" d="M469.2,195.8c0.4,1.5-0.5,3-1.9,3.4c-1.4,0.4-3-0.4-3.4-1.9c-0.4-1.5,0.4-3,1.9-3.4 + C467.3,193.4,468.8,194.3,469.2,195.8z"/> + <path class="st1" d="M483.6,192.8c0.2,1.5-0.8,3-2.2,3.2c-1.5,0.3-2.9-0.7-3.2-2.2c-0.3-1.5,0.7-2.9,2.2-3.2 + C482,190.3,483.4,191.3,483.6,192.8z"/> + <path class="st1" d="M498.3,191.2c0.1,1.5-1,2.9-2.5,3c-1.5,0.1-2.8-1-3-2.6c-0.2-1.5,1-2.8,2.5-3 + C496.9,188.5,498.2,189.6,498.3,191.2z"/> + <path class="st1" d="M513.1,190.9c-0.1,1.5-1.3,2.7-2.8,2.7c-1.5-0.1-2.7-1.3-2.7-2.8c0-1.5,1.2-2.8,2.8-2.7 + C511.9,188.1,513.2,189.4,513.1,190.9z"/> + <path class="st1" d="M527.8,192.1c-0.2,1.5-1.6,2.6-3,2.4c-1.5-0.2-2.6-1.5-2.5-3c0.1-1.5,1.5-2.7,3.1-2.5 + C526.9,189.2,528,190.6,527.8,192.1z"/> + <path class="st1" d="M542.4,194.6c-0.3,1.5-1.8,2.4-3.3,2.1c-1.5-0.3-2.4-1.7-2.2-3.2c0.3-1.5,1.7-2.5,3.3-2.2 + C541.8,191.6,542.7,193.1,542.4,194.6z"/> + <path class="st1" d="M556.7,198.6c-0.5,1.5-2,2.2-3.4,1.8c-1.4-0.4-2.3-1.9-1.9-3.4c0.4-1.5,2-2.3,3.5-1.9 + C556.3,195.5,557.1,197.1,556.7,198.6z"/> + <path class="st1" d="M570.5,203.8c-0.6,1.4-2.2,2-3.6,1.5c-1.4-0.5-2.1-2.2-1.5-3.6c0.6-1.4,2.2-2.1,3.6-1.5 + C570.4,200.7,571.1,202.4,570.5,203.8z"/> + <path class="st1" d="M583.7,210.4c-0.8,1.4-2.4,1.8-3.7,1.1c-1.3-0.7-1.9-2.3-1.2-3.7c0.7-1.4,2.4-1.9,3.8-1.2 + C584,207.3,584.5,209.1,583.7,210.4z"/> + <path class="st1" d="M596.3,218.2c-0.9,1.3-2.5,1.5-3.8,0.8c-1.3-0.8-1.6-2.5-0.8-3.8c0.8-1.3,2.5-1.7,3.9-0.8 + C596.8,215.2,597.1,216.9,596.3,218.2z"/> + <path class="st1" d="M608,227.1c-1,1.2-2.7,1.3-3.9,0.4c-1.2-0.9-1.4-2.7-0.4-3.9c0.9-1.2,2.7-1.4,3.9-0.4 + C608.9,224.2,609,226,608,227.1z"/> + <path class="st1" d="M618.9,237.2c-1.1,1.1-2.8,1-3.9,0c-1.1-1-1.1-2.8-0.1-3.9c1-1.1,2.8-1.1,3.9-0.1 + C620,234.3,620,236.1,618.9,237.2z"/> + <path class="st1" d="M628.8,248.2c-1.2,1-2.9,0.8-3.9-0.3c-1-1.1-0.8-2.9,0.3-3.9c1.1-1,2.9-0.9,3.9,0.3 + C630.1,245.4,629.9,247.2,628.8,248.2z"/> + <path class="st1" d="M637.5,260.1c-1.3,0.8-3,0.5-3.8-0.7c-0.9-1.2-0.6-2.9,0.7-3.8c1.2-0.9,3-0.6,3.9,0.7 + C639.2,257.5,638.8,259.2,637.5,260.1z"/> + <path class="st1" d="M645.1,272.7c-1.3,0.7-3,0.2-3.8-1.1c-0.7-1.3-0.3-3,1-3.8c1.3-0.8,3-0.3,3.8,1 + C647,270.3,646.5,272,645.1,272.7z"/> + <path class="st1" d="M651.5,286.1c-1.4,0.6-3-0.1-3.7-1.4c-0.6-1.4,0-3,1.4-3.6c1.4-0.6,3,0,3.7,1.4 + C653.6,283.9,652.9,285.5,651.5,286.1z"/> + <path class="st1" d="M656.6,300c-1.5,0.4-3-0.3-3.5-1.8c-0.5-1.4,0.3-3,1.7-3.5c1.4-0.5,3,0.3,3.5,1.8 + C658.8,298,658.1,299.5,656.6,300z"/> + <path class="st1" d="M660.3,314.3c-1.5,0.3-3-0.6-3.3-2.1c-0.3-1.5,0.6-2.9,2.1-3.3c1.5-0.4,3,0.6,3.3,2.1 + C662.7,312.5,661.8,314,660.3,314.3z"/> + <path class="st1" d="M662.6,328.9c-1.5,0.2-2.9-0.9-3.1-2.4c-0.2-1.5,0.9-2.9,2.4-3.1c1.5-0.2,2.9,0.8,3.1,2.4 + C665.2,327.3,664.1,328.7,662.6,328.9z"/> + <path class="st1" d="M663.5,343.6c-1.5,0-2.8-1.2-2.8-2.7c0-1.5,1.2-2.8,2.7-2.9c1.5-0.1,2.8,1.1,2.8,2.7 + C666.2,342.3,665,343.6,663.5,343.6z"/> + <path class="st1" d="M368.6,334c1.5,0.1,2.7,1.4,2.6,2.9c-0.1,1.5-1.4,2.6-2.9,2.6c-1.5-0.1-2.7-1.4-2.6-2.9 + C365.7,335,367,333.8,368.6,334z"/> + <path class="st1" d="M370.6,319.4c1.5,0.3,2.5,1.7,2.2,3.2c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.2-2.5-1.6-2.2-3.2 + C367.6,320.1,369.1,319.1,370.6,319.4z"/> + <path class="st1" d="M374.1,305.2c1.5,0.5,2.3,2,1.9,3.4c-0.4,1.4-1.9,2.3-3.4,1.9c-1.5-0.4-2.3-1.9-1.9-3.4 + C371.1,305.6,372.6,304.7,374.1,305.2z"/> + <path class="st1" d="M379.1,291.4c1.4,0.6,2.1,2.2,1.6,3.6c-0.5,1.4-2.1,2.1-3.6,1.5c-1.4-0.5-2.1-2.1-1.6-3.6 + C376.1,291.5,377.7,290.8,379.1,291.4z"/> + <path class="st1" d="M385.6,278.2c1.3,0.7,1.8,2.4,1.1,3.7c-0.7,1.3-2.3,1.8-3.7,1.2c-1.4-0.7-1.9-2.4-1.2-3.7 + C382.5,277.9,384.2,277.5,385.6,278.2z"/> + <path class="st1" d="M393.4,265.8c1.3,0.9,1.6,2.6,0.7,3.8c-0.8,1.3-2.5,1.6-3.8,0.8c-1.3-0.8-1.7-2.6-0.8-3.9 + C390.3,265.2,392.1,264.9,393.4,265.8z"/> + <path class="st1" d="M402.4,254.2c1.1,1,1.3,2.7,0.3,3.9c-1,1.1-2.7,1.3-3.9,0.4c-1.2-0.9-1.4-2.7-0.4-3.9 + C399.5,253.3,401.2,253.2,402.4,254.2z"/> + <path class="st1" d="M412.6,243.6c1,1.1,1,2.9-0.1,3.9c-1.1,1-2.8,1-3.9-0.1c-1.1-1.1-1.1-2.8,0-3.9 + C409.8,242.5,411.5,242.5,412.6,243.6z"/> + <path class="st1" d="M423.8,234.2c0.9,1.2,0.7,3-0.5,3.9c-1.2,0.9-2.9,0.7-3.9-0.5c-1-1.2-0.8-2.9,0.5-3.9 + C421.2,232.8,422.9,233,423.8,234.2z"/> + <path class="st1" d="M436,226c0.8,1.3,0.4,3-0.9,3.8c-1.2,0.8-2.9,0.4-3.8-0.9c-0.8-1.3-0.5-3,0.8-3.8 + C433.5,224.2,435.2,224.6,436,226z"/> + <path class="st1" d="M448.9,219.1c0.7,1.4,0,3-1.3,3.7c-1.3,0.7-3,0.1-3.7-1.2c-0.7-1.4-0.2-3,1.2-3.7 + C446.6,217,448.3,217.7,448.9,219.1z"/> + <path class="st1" d="M462.5,213.6c0.5,1.4-0.2,3-1.7,3.5c-1.4,0.5-3-0.2-3.5-1.6c-0.6-1.4,0.2-3,1.6-3.6 + C460.4,211.4,462,212.1,462.5,213.6z"/> + <path class="st1" d="M476.6,209.5c0.3,1.5-0.6,3-2,3.3c-1.4,0.3-2.9-0.5-3.3-2c-0.4-1.5,0.5-3,2-3.4 + C474.8,207.1,476.3,208,476.6,209.5z"/> + <path class="st1" d="M491.1,207c0.2,1.5-0.9,2.9-2.3,3.1c-1.5,0.2-2.9-0.8-3.1-2.3c-0.2-1.5,0.8-3,2.3-3.2 + C489.5,204.4,490.9,205.5,491.1,207z"/> + <path class="st1" d="M505.7,206c0,1.5-1.2,2.8-2.6,2.8c-1.5,0-2.8-1.1-2.8-2.7c-0.1-1.5,1.1-2.9,2.6-2.9 + C504.4,203.2,505.7,204.5,505.7,206z"/> + <path class="st1" d="M520.4,206.5c-0.1,1.5-1.4,2.7-2.9,2.6c-1.5-0.1-2.6-1.4-2.6-2.9c0.1-1.5,1.4-2.7,2.9-2.6 + C519.4,203.6,520.5,205,520.4,206.5z"/> + <path class="st1" d="M534.9,208.5c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.3-2.5-1.7-2.2-3.2c0.2-1.5,1.7-2.5,3.2-2.2 + C534.2,205.6,535.2,207,534.9,208.5z"/> + <path class="st1" d="M549.2,212c-0.5,1.5-2,2.3-3.4,1.9c-1.4-0.4-2.3-1.9-1.9-3.4c0.4-1.5,1.9-2.3,3.4-1.9 + C548.8,209,549.6,210.6,549.2,212z"/> + <path class="st1" d="M563,217c-0.6,1.4-2.2,2.1-3.6,1.6c-1.4-0.5-2.1-2.1-1.5-3.6c0.5-1.4,2.1-2.1,3.6-1.6 + C562.9,214,563.6,215.6,563,217z"/> + <path class="st1" d="M576.2,223.5c-0.7,1.3-2.4,1.8-3.7,1.1c-1.3-0.7-1.8-2.3-1.2-3.7c0.7-1.4,2.4-1.9,3.7-1.2 + C576.4,220.4,576.9,222.2,576.2,223.5z"/> + <path class="st1" d="M588.6,231.3c-0.9,1.3-2.6,1.6-3.8,0.7c-1.3-0.8-1.6-2.5-0.8-3.8c0.8-1.3,2.6-1.7,3.9-0.8 + C589.2,228.3,589.5,230,588.6,231.3z"/> + <path class="st1" d="M600.2,240.3c-1,1.1-2.7,1.3-3.9,0.3c-1.1-1-1.3-2.6-0.4-3.9c0.9-1.2,2.7-1.4,3.9-0.4 + C601,237.4,601.2,239.2,600.2,240.3z"/> + <path class="st1" d="M610.7,250.5c-1.1,1-2.9,1-3.9-0.1c-1-1.1-1-2.8,0.1-3.9c1.1-1.1,2.8-1.1,3.9,0 + C611.9,247.7,611.9,249.5,610.7,250.5z"/> + <path class="st1" d="M620.2,261.7c-1.2,0.9-3,0.7-3.9-0.5c-0.9-1.2-0.7-2.9,0.5-3.9c1.2-1,2.9-0.8,3.9,0.5 + C621.6,259.1,621.4,260.8,620.2,261.7z"/> + <path class="st1" d="M628.4,273.9c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.2-0.4-2.9,0.9-3.8c1.3-0.8,3-0.5,3.8,0.8 + C630.1,271.4,629.7,273.1,628.4,273.9z"/> + <path class="st1" d="M635.3,286.8c-1.4,0.7-3,0-3.7-1.3c-0.7-1.3-0.1-3,1.2-3.7c1.4-0.7,3-0.2,3.7,1.2 + C637.3,284.5,636.7,286.2,635.3,286.8z"/> + <path class="st1" d="M640.8,300.5c-1.4,0.5-3-0.2-3.5-1.7c-0.5-1.4,0.2-3,1.6-3.5c1.4-0.6,3,0.2,3.6,1.6 + C643,298.4,642.3,300,640.8,300.5z"/> + <path class="st1" d="M644.8,314.6c-1.5,0.3-3-0.6-3.3-2c-0.3-1.4,0.5-2.9,2-3.3c1.5-0.4,3,0.5,3.4,2 + C647.3,312.7,646.3,314.2,644.8,314.6z"/> + <path class="st1" d="M647.4,329c-1.5,0.2-2.9-0.9-3.1-2.3c-0.2-1.5,0.8-2.9,2.3-3.1c1.5-0.2,3,0.8,3.2,2.3 + C650,327.4,648.9,328.8,647.4,329z"/> + <path class="st1" d="M648.4,343.7c-1.5,0-2.8-1.2-2.8-2.6c0-1.5,1.1-2.8,2.7-2.9c1.5-0.1,2.9,1.1,2.9,2.6 + C651.1,342.4,649.9,343.6,648.4,343.7z"/> + <path class="st1" d="M383.7,333.9c1.5,0.2,2.7,1.5,2.6,3c-0.1,1.5-1.4,2.6-3,2.6c-1.5-0.1-2.7-1.4-2.6-3 + C380.9,334.9,382.2,333.7,383.7,333.9z"/> + <path class="st1" d="M386,319.2c1.5,0.3,2.4,1.8,2.1,3.3c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.3-2.5-1.7-2.2-3.3 + C383,319.8,384.6,318.9,386,319.2z"/> + <path class="st1" d="M390.1,305c1.4,0.5,2.2,2.1,1.7,3.5c-0.5,1.4-2,2.2-3.5,1.8c-1.5-0.4-2.3-2-1.8-3.5 + C387.1,305.2,388.6,304.4,390.1,305z"/> + <path class="st1" d="M395.8,291.3c1.4,0.7,1.9,2.3,1.3,3.7c-0.6,1.4-2.3,2-3.7,1.4c-1.4-0.6-2-2.3-1.4-3.7 + C392.7,291.2,394.4,290.6,395.8,291.3z"/> + <path class="st1" d="M403.1,278.4c1.3,0.8,1.7,2.5,0.9,3.8c-0.8,1.3-2.4,1.7-3.8,0.9c-1.3-0.8-1.8-2.5-0.9-3.8 + C400.1,277.9,401.8,277.5,403.1,278.4z"/> + <path class="st1" d="M411.8,266.4c1.2,1,1.4,2.7,0.4,3.9c-0.9,1.2-2.7,1.4-3.9,0.5c-1.2-0.9-1.4-2.7-0.5-3.9 + C408.9,265.6,410.6,265.4,411.8,266.4z"/> + <path class="st1" d="M422,255.6c1.1,1.1,1,2.9-0.1,3.9c-1,1.1-2.8,1.1-3.9,0c-1.1-1-1.1-2.8,0-4 + C419.1,254.4,420.9,254.5,422,255.6z"/> + <path class="st1" d="M433.3,246c0.9,1.2,0.7,3-0.5,3.9c-1.2,0.9-2.9,0.7-3.9-0.5c-1-1.2-0.8-2.9,0.5-3.9 + C430.6,244.5,432.3,244.7,433.3,246z"/> + <path class="st1" d="M445.6,237.8c0.8,1.3,0.3,3-1,3.8c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.3-0.4-3,0.9-3.9 + C443.1,236.1,444.9,236.5,445.6,237.8z"/> + <path class="st1" d="M458.9,231.2c0.6,1.4,0,3.1-1.4,3.7c-1.4,0.6-3,0-3.7-1.4c-0.7-1.4-0.1-3,1.4-3.7 + C456.6,229.1,458.3,229.7,458.9,231.2z"/> + <path class="st1" d="M472.8,226.1c0.4,1.5-0.4,2.9-1.8,3.4c-1.4,0.5-3-0.3-3.5-1.7c-0.5-1.4,0.3-3,1.8-3.5 + C470.8,223.8,472.4,224.7,472.8,226.1z"/> + <path class="st1" d="M487.3,222.8c0.2,1.5-0.7,2.9-2.2,3.2c-1.5,0.2-2.9-0.7-3.2-2.2c-0.3-1.5,0.6-3,2.2-3.3 + C485.6,220.3,487,221.3,487.3,222.8z"/> + <path class="st1" d="M502,221.2c0.1,1.5-1.1,2.9-2.6,3c-1.5,0.1-2.8-1-3-2.6c-0.1-1.5,1-2.9,2.6-3 + C500.6,218.5,501.9,219.6,502,221.2z"/> + <path class="st1" d="M516.8,221.4c-0.1,1.5-1.4,2.6-2.9,2.6c-1.5,0-2.7-1.3-2.7-2.8c0-1.5,1.3-2.7,2.9-2.7 + C515.8,218.5,516.9,219.8,516.8,221.4z"/> + <path class="st1" d="M531.5,223.2c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.3-2.5-1.6-2.3-3.2c0.2-1.5,1.7-2.6,3.2-2.3 + C530.8,220.3,531.8,221.7,531.5,223.2z"/> + <path class="st1" d="M545.9,226.8c-0.5,1.4-2,2.3-3.4,1.9c-1.4-0.4-2.3-1.9-1.9-3.4c0.4-1.5,1.9-2.3,3.4-1.9 + C545.5,223.8,546.4,225.3,545.9,226.8z"/> + <path class="st1" d="M559.8,232.1c-0.6,1.4-2.3,2-3.6,1.4c-1.4-0.6-2.1-2.2-1.5-3.6c0.6-1.4,2.2-2.1,3.7-1.5 + C559.7,229.1,560.4,230.7,559.8,232.1z"/> + <path class="st1" d="M572.9,239c-0.8,1.3-2.5,1.8-3.8,1c-1.3-0.7-1.8-2.4-1-3.8c0.7-1.3,2.4-1.8,3.8-1 + C573.2,236,573.7,237.7,572.9,239z"/> + <path class="st1" d="M585.1,247.4c-0.9,1.2-2.7,1.4-3.8,0.5c-1.2-0.9-1.5-2.6-0.6-3.8c0.9-1.2,2.6-1.5,3.9-0.6 + C585.8,244.5,586,246.2,585.1,247.4z"/> + <path class="st1" d="M596.2,257.2c-1.1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.1-2.8-0.1-3.9c1-1.2,2.8-1.2,3.9-0.1 + C597.3,254.4,597.3,256.1,596.2,257.2z"/> + <path class="st1" d="M606.1,268.3c-1.2,1-2.9,0.7-3.9-0.4c-1-1.1-0.8-2.9,0.3-3.9c1.1-1,2.9-0.9,3.9,0.3 + C607.5,265.5,607.3,267.3,606.1,268.3z"/> + <path class="st1" d="M614.7,280.4c-1.3,0.8-3,0.4-3.8-0.8c-0.8-1.3-0.4-3,0.8-3.8c1.3-0.9,3-0.5,3.8,0.8 + C616.3,277.8,616,279.6,614.7,280.4z"/> + <path class="st1" d="M621.7,293.4c-1.4,0.6-3,0-3.7-1.3c-0.7-1.3-0.1-3,1.2-3.7c1.4-0.7,3-0.2,3.7,1.3 + C623.7,291.1,623.1,292.8,621.7,293.4z"/> + <path class="st1" d="M627.1,307.2c-1.5,0.5-3-0.3-3.5-1.7c-0.5-1.4,0.2-3,1.7-3.5c1.4-0.5,3.1,0.2,3.6,1.7 + C629.4,305.1,628.6,306.7,627.1,307.2z"/> + <path class="st1" d="M630.9,321.5c-1.5,0.3-3-0.7-3.3-2.1c-0.3-1.5,0.6-2.9,2.1-3.3c1.5-0.4,3,0.6,3.3,2.1 + C633.4,319.8,632.4,321.2,630.9,321.5z"/> + <path class="st1" d="M632.9,336.2c-1.5,0.1-2.9-1-3-2.5c-0.2-1.5,0.9-2.8,2.4-3c1.5-0.2,2.9,0.9,3.1,2.5 + C635.6,334.8,634.5,336.1,632.9,336.2z"/> + <path class="st1" d="M398.9,334c1.5,0.2,2.6,1.5,2.5,3c-0.1,1.5-1.4,2.6-3,2.5c-1.5-0.1-2.7-1.4-2.5-3 + C396,334.9,397.4,333.8,398.9,334z"/> + <path class="st1" d="M401.5,319.5c1.5,0.4,2.4,1.8,2.1,3.3c-0.4,1.4-1.8,2.4-3.3,2.1c-1.5-0.3-2.5-1.8-2.1-3.3 + C398.5,320.1,400,319.1,401.5,319.5z"/> + <path class="st1" d="M406,305.5c1.4,0.6,2.1,2.2,1.6,3.5c-0.5,1.4-2,2.1-3.5,1.6c-1.4-0.5-2.2-2.1-1.7-3.6 + C403,305.7,404.6,304.9,406,305.5z"/> + <path class="st1" d="M412.3,292.3c1.3,0.8,1.8,2.4,1.1,3.7c-0.7,1.3-2.3,1.8-3.7,1.2c-1.4-0.7-1.9-2.4-1.2-3.8 + C409.2,292,411,291.5,412.3,292.3z"/> + <path class="st1" d="M420.4,279.9c1.2,0.9,1.5,2.6,0.6,3.8c-0.9,1.2-2.6,1.5-3.8,0.6c-1.3-0.9-1.6-2.6-0.7-3.9 + C417.4,279.3,419.1,279,420.4,279.9z"/> + <path class="st1" d="M430,268.8c1.1,1.1,1.1,2.8,0.1,3.9c-1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.2-2.8-0.1-3.9 + C427.1,267.8,428.9,267.8,430,268.8z"/> + <path class="st1" d="M441,259.1c0.9,1.2,0.7,2.9-0.4,3.9c-1.2,0.9-2.8,0.8-3.9-0.4c-1-1.1-0.9-3,0.4-3.9 + C438.3,257.7,440.1,257.9,441,259.1z"/> + <path class="st1" d="M453.2,250.9c0.8,1.3,0.3,3-0.9,3.8c-1.2,0.8-2.9,0.4-3.8-0.9c-0.8-1.3-0.4-3,0.9-3.8 + C450.7,249.1,452.4,249.6,453.2,250.9z"/> + <path class="st1" d="M466.4,244.4c0.6,1.4-0.1,3-1.4,3.6c-1.3,0.6-3,0-3.6-1.4c-0.7-1.4,0-3,1.4-3.7 + C464.1,242.3,465.8,243,466.4,244.4z"/> + <path class="st1" d="M480.3,239.7c0.4,1.5-0.5,3-1.9,3.4c-1.4,0.4-2.9-0.4-3.4-1.9c-0.5-1.5,0.4-3,1.9-3.4 + C478.4,237.4,479.9,238.2,480.3,239.7z"/> + <path class="st1" d="M494.7,237c0.2,1.5-0.9,2.9-2.3,3.1c-1.5,0.2-2.9-0.8-3.1-2.3c-0.3-1.5,0.8-3,2.3-3.2 + C493.2,234.4,494.6,235.5,494.7,237z"/> + <path class="st1" d="M509.4,236.2c0,1.5-1.2,2.7-2.7,2.8c-1.5,0-2.7-1.2-2.8-2.7c-0.1-1.5,1.2-2.8,2.7-2.8 + C508.2,233.3,509.4,234.6,509.4,236.2z"/> + <path class="st1" d="M524.1,237.3c-0.2,1.5-1.6,2.6-3.1,2.4c-1.5-0.2-2.5-1.5-2.4-3.1c0.1-1.5,1.5-2.7,3.1-2.4 + C523.2,234.4,524.3,235.8,524.1,237.3z"/> + <path class="st1" d="M538.4,240.4c-0.4,1.5-1.9,2.3-3.3,1.9c-1.4-0.3-2.3-1.8-2-3.3c0.3-1.5,1.8-2.4,3.4-2.1 + C538,237.4,538.9,238.9,538.4,240.4z"/> + <path class="st1" d="M552.3,245.3c-0.6,1.4-2.2,2-3.6,1.5c-1.4-0.5-2.1-2.1-1.5-3.6c0.5-1.4,2.1-2.1,3.6-1.6 + C552.2,242.2,552.9,243.9,552.3,245.3z"/> + <path class="st1" d="M565.3,252.1c-0.8,1.3-2.5,1.8-3.8,1c-1.3-0.7-1.7-2.4-1-3.8c0.7-1.4,2.4-1.8,3.8-1 + C565.7,249.1,566.1,250.8,565.3,252.1z"/> + <path class="st1" d="M577.3,260.6c-1,1.2-2.7,1.4-3.9,0.5c-1.1-0.9-1.4-2.6-0.5-3.8c0.9-1.2,2.7-1.5,3.9-0.5 + C578.1,257.6,578.3,259.4,577.3,260.6z"/> + <path class="st1" d="M588.1,270.5c-1.1,1-2.8,1-3.9,0c-1.1-1-1.1-2.8,0-3.9c1-1.1,2.8-1.1,3.9,0 + C589.3,267.7,589.2,269.5,588.1,270.5z"/> + <path class="st1" d="M597.5,281.9c-1.3,0.9-2.9,0.6-3.8-0.5c-0.9-1.2-0.7-2.9,0.5-3.8c1.2-1,2.9-0.7,3.9,0.5 + C599,279.2,598.7,281,597.5,281.9z"/> + <path class="st1" d="M605.3,294.3c-1.3,0.7-3,0.2-3.8-1c-0.7-1.3-0.3-3,1-3.8c1.3-0.8,3-0.3,3.8,1 + C607.1,291.9,606.6,293.6,605.3,294.3z"/> + <path class="st1" d="M611.3,307.7c-1.4,0.5-3-0.2-3.6-1.5c-0.5-1.4,0.1-3,1.5-3.6c1.4-0.6,3.1,0,3.6,1.5 + C613.5,305.6,612.8,307.2,611.3,307.7z"/> + <path class="st1" d="M615.5,321.8c-1.5,0.3-3-0.6-3.3-2c-0.4-1.4,0.5-2.9,2-3.3c1.5-0.4,3,0.5,3.4,2 + C617.9,320,617,321.5,615.5,321.8z"/> + <path class="st1" d="M617.8,336.3c-1.5,0.1-2.8-1-3-2.4c-0.2-1.5,0.9-2.8,2.4-3c1.5-0.2,2.9,0.9,3.1,2.4 + C620.5,334.8,619.3,336.2,617.8,336.3z"/> + <path class="st1" d="M414.2,333.8c1.5,0.2,2.5,1.6,2.3,3c-0.1,1.5-1.4,2.6-2.9,2.5c-1.5-0.1-2.7-1.5-2.6-3.1 + C411.3,334.7,412.7,333.6,414.2,333.8z"/> + <path class="st1" d="M417.2,319.2c1.5,0.4,2.4,2,2,3.4c-0.4,1.4-1.9,2.3-3.4,2c-1.5-0.3-2.4-1.9-2-3.4 + C414.3,319.7,415.8,318.8,417.2,319.2z"/> + <path class="st1" d="M422.6,305.4c1.4,0.7,2,2.3,1.3,3.6c-0.7,1.3-2.2,2-3.6,1.4c-1.4-0.6-2.2-2.3-1.4-3.7 + C419.6,305.3,421.2,304.7,422.6,305.4z"/> + <path class="st1" d="M430,292.4c0.6,0.4,1,1.1,1.1,1.8c0.2,0.7,0.1,1.5-0.3,2.1c-0.8,1.3-2.5,1.7-3.8,0.9 + c-1.3-0.8-1.7-2.5-0.9-3.9c0.4-0.7,1-1.1,1.7-1.3C428.6,291.9,429.4,292,430,292.4z"/> + <path class="st1" d="M439.4,280.9c1.1,1.1,1.2,2.8,0.2,3.9c-1,1.1-2.8,1.2-3.9,0.2c-1.2-1-1.3-2.7-0.2-3.9 + C436.5,280,438.3,279.9,439.4,280.9z"/> + <path class="st1" d="M450.5,271c0.9,1.2,0.7,2.9-0.5,3.8c-1.2,0.9-2.8,0.9-3.8-0.3c-1-1.1-0.9-3,0.3-4 + C447.8,269.5,449.5,269.7,450.5,271z"/> + <path class="st1" d="M462.9,262.7c0.7,1.3,0.3,3.1-1,3.8c-1.3,0.8-3,0.3-3.8-0.9c-0.8-1.3-0.4-3,1-3.8 + C460.5,261,462.2,261.4,462.9,262.7z"/> + <path class="st1" d="M476.5,256.8c0.5,1.4-0.2,3-1.6,3.5c-1.4,0.5-3-0.2-3.6-1.6c-0.6-1.4,0.1-3,1.6-3.5S476,255.3,476.5,256.8z" + /> + <path class="st1" d="M490.9,252.9c0.3,1.5-0.7,2.8-2.2,3.2c-1.4,0.4-2.9-0.5-3.3-2c-0.4-1.5,0.6-3,2.1-3.4 + C489.1,250.3,490.6,251.4,490.9,252.9z"/> + <path class="st1" d="M505.7,251.4c0,1.5-1.1,2.8-2.6,2.9c-1.5,0.1-2.8-1.1-2.9-2.6c-0.1-1.5,1-2.8,2.6-2.9 + C504.4,248.7,505.7,249.8,505.7,251.4z"/> + <path class="st1" d="M520.6,252.1c-0.2,1.5-1.6,2.5-3,2.3c-1.5-0.1-2.6-1.4-2.5-2.9c0.1-1.5,1.5-2.7,3.1-2.6 + C519.7,249.2,520.8,250.6,520.6,252.1z"/> + <path class="st1" d="M535.1,255.2c-0.4,1.5-2,2.4-3.4,2c-1.4-0.4-2.3-1.9-2-3.4c0.3-1.5,1.9-2.4,3.4-2 + C534.7,252.2,535.6,253.7,535.1,255.2z"/> + <path class="st1" d="M549,260.5c-0.7,1.4-2.3,2-3.6,1.3c-1.3-0.7-2-2.2-1.4-3.6c0.6-1.4,2.3-2.2,3.7-1.4 + C549.1,257.5,549.7,259.2,549,260.5z"/> + <path class="st1" d="M561.9,267.9c-0.4,0.6-1.1,1-1.8,1.1c-0.7,0.2-1.5,0.1-2.1-0.3c-1.3-0.8-1.7-2.5-0.9-3.8 + c0.8-1.3,2.5-1.7,3.9-0.9c0.7,0.4,1.1,1,1.3,1.7C562.5,266.5,562.4,267.3,561.9,267.9z"/> + <path class="st1" d="M573.5,277.3c-1.1,1.1-2.8,1.2-3.9,0.2c-1.1-1-1.2-2.8-0.2-3.9c1-1.2,2.7-1.3,3.9-0.2 + C574.4,274.5,574.5,276.2,573.5,277.3z"/> + <path class="st1" d="M583.4,288.4c-1.2,0.9-2.9,0.7-3.8-0.5c-0.9-1.2-0.9-2.8,0.3-3.9c1.1-1,3-0.9,4,0.3 + C584.9,285.7,584.6,287.5,583.4,288.4z"/> + <path class="st1" d="M591.6,300.8c-1.3,0.7-3.1,0.3-3.8-1c-0.8-1.3-0.3-3,0.9-3.8c1.3-0.8,3-0.4,3.8,1 + C593.4,298.4,593,300.1,591.6,300.8z"/> + <path class="st1" d="M597.6,314.5c-1.4,0.5-3-0.2-3.5-1.6c-0.5-1.4,0.2-3,1.6-3.6c1.4-0.6,3,0.1,3.5,1.6 + C599.8,312.3,599.1,314,597.6,314.5z"/> + <path class="st1" d="M601.5,328.8c-1.5,0.3-2.8-0.7-3.2-2.2c-0.4-1.4,0.5-2.9,2-3.3c1.5-0.4,3,0.6,3.4,2.1 + C604.1,327,603,328.6,601.5,328.8z"/> + <path class="st1" d="M603,343.6c-1.5,0-2.8-1.1-2.9-2.6c-0.1-1.5,1.1-2.8,2.6-2.9c1.5-0.1,2.8,1,2.9,2.6 + C605.7,342.3,604.5,343.6,603,343.6z"/> + <path class="st1" d="M429.4,334c1.5,0.2,2.6,1.6,2.3,3.1c-0.3,1.4-1.5,2.5-3,2.4c-1.5-0.1-2.8-1.5-2.5-3.1 + C426.5,334.8,427.9,333.7,429.4,334z"/> + <path class="st1" d="M433,319.7c1.4,0.5,2.2,2,1.7,3.4c-0.4,1.4-1.9,2.2-3.3,1.8c-1.5-0.4-2.4-2-1.9-3.5 + C430,320,431.6,319.2,433,319.7z"/> + <path class="st1" d="M439.1,306.3c1.3,0.8,1.7,2.4,1.1,3.7c-0.6,1.3-2.3,1.8-3.6,1.2c-1.4-0.7-1.9-2.4-1.2-3.8 + C436,306,437.8,305.6,439.1,306.3z"/> + <path class="st1" d="M447.6,294.3c1.2,1,1.2,2.6,0.4,3.9c-0.9,1.2-2.6,1.4-3.8,0.5c-1.2-0.9-1.5-2.7-0.5-3.9 + C444.6,293.4,446.5,293.3,447.6,294.3z"/> + <path class="st1" d="M458.2,284c0.5,0.6,0.7,1.3,0.6,2c-0.1,0.7-0.3,1.4-0.9,1.9c-1.1,1-2.8,0.9-3.9-0.2c-1-1.1-0.9-2.9,0.2-4 + c0.6-0.5,1.3-0.8,2-0.7C457,283.1,457.7,283.4,458.2,284z"/> + <path class="st1" d="M470.4,275.9c0.7,1.3,0.3,3-1,3.8c-1.3,0.8-2.9,0.3-3.8-1c-0.8-1.3-0.4-3,1-3.8 + C468,274.1,469.7,274.5,470.4,275.9z"/> + <path class="st1" d="M484,270.1c0.5,1.5-0.3,3.1-1.7,3.6c-1.4,0.5-3-0.2-3.5-1.7c-0.6-1.4,0.2-3,1.7-3.6 + C482,267.9,483.5,268.7,484,270.1z"/> + <path class="st1" d="M498.4,267c0.2,1.5-0.9,2.9-2.3,3.2c-1.4,0.2-2.9-0.8-3.2-2.3c-0.3-1.5,0.7-2.9,2.3-3.1 + C496.8,264.5,498.2,265.5,498.4,267z"/> + <path class="st1" d="M513.1,266.6c-0.1,1.5-1.4,2.7-2.8,2.6c-1.5-0.1-2.7-1.3-2.7-2.8c0-1.6,1.2-2.8,2.8-2.7 + C512,263.8,513.2,265.1,513.1,266.6z"/> + <path class="st1" d="M527.6,268.8c-0.4,1.5-1.8,2.4-3.3,2c-1.4-0.3-2.4-1.7-2.1-3.2c0.3-1.5,1.8-2.6,3.3-2.2 + C527.1,265.8,528,267.3,527.6,268.8z"/> + <path class="st1" d="M541.5,273.7c-0.7,1.4-2.2,2-3.6,1.4c-1.4-0.5-2.1-2.1-1.5-3.5c0.5-1.4,2.2-2.2,3.7-1.6 + C541.5,270.6,542.2,272.3,541.5,273.7z"/> + <path class="st1" d="M554.3,281c-0.9,1.3-2.5,1.5-3.8,0.7c-1.3-0.8-1.6-2.4-0.8-3.7c0.8-1.3,2.5-1.7,3.9-0.9 + C554.9,277.9,555.1,279.8,554.3,281z"/> + <path class="st1" d="M565.5,290.6c-1.1,1.1-2.8,1-3.9,0.1c-1.1-1-1.1-2.7-0.1-3.9c1-1.1,2.8-1.2,4-0.1 + C566.6,287.7,566.6,289.5,565.5,290.6z"/> + <path class="st1" d="M574.7,302c-1.3,0.8-3,0.5-3.9-0.6c-0.9-1.2-0.6-2.9,0.6-3.8c1.2-0.9,3-0.7,3.9,0.6 + C576.3,299.4,576,301.2,574.7,302z"/> + <path class="st1" d="M581.7,315c-1.4,0.6-3.1,0-3.7-1.3c-0.6-1.3,0-3,1.3-3.7c1.4-0.7,3-0.1,3.7,1.3 + C583.7,312.8,583.1,314.4,581.7,315z"/> + <path class="st1" d="M586.2,329c-1.5,0.3-3-0.6-3.4-2c-0.4-1.4,0.5-2.9,2-3.4c1.5-0.4,3,0.5,3.4,2 + C588.5,327.2,587.6,328.7,586.2,329z"/> + <path class="st1" d="M587.9,343.7c-1.5,0-2.8-1.1-2.9-2.6c-0.1-1.5,1.1-2.8,2.6-2.9c1.5-0.2,2.8,1,2.9,2.6 + C590.6,342.3,589.4,343.6,587.9,343.7z"/> + <path class="st1" d="M444.7,334.2c1.5,0.3,2.5,1.7,2.3,3.1c-0.2,1.4-1.6,2.4-3.2,2.3c-1.5-0.1-2.6-1.5-2.3-3.1 + C441.8,334.9,443.2,333.9,444.7,334.2z"/> + <path class="st1" d="M448.9,320.3c0.7,0.3,1.2,0.9,1.5,1.5c0.3,0.6,0.4,1.4,0.1,2c-0.5,1.3-2.1,2-3.5,1.6 + c-1.4-0.5-2.2-2.1-1.6-3.6c0.3-0.7,0.8-1.3,1.4-1.6C447.4,320,448.2,320,448.9,320.3z"/> + <path class="st1" d="M456.2,307.8c1.2,0.9,1.5,2.6,0.7,3.7c-0.7,1.2-2.4,1.6-3.7,0.8c-1.3-0.8-1.7-2.5-0.9-3.9 + C453.2,307.2,455,306.9,456.2,307.8z"/> + <path class="st1" d="M466,297.2c1,1.2,0.9,2.9-0.1,3.9c-1.1,0.9-2.8,0.9-3.9-0.1c-1.1-1.1-1.1-2.9,0.1-3.9 + C463.3,295.9,465,296,466,297.2z"/> + <path class="st1" d="M478,289c0.7,1.3,0.3,3-1,3.7c-1.2,0.7-2.9,0.3-3.7-1c-0.8-1.3-0.4-3,0.9-3.8 + C475.5,287.1,477.2,287.6,478,289z"/> + <path class="st1" d="M491.5,283.7c0.4,1.5-0.4,3-1.8,3.3c-1.3,0.5-2.9-0.3-3.4-1.7c-0.5-1.4,0.2-3,1.7-3.6 + C489.5,281.3,491.1,282.3,491.5,283.7z"/> + <path class="st1" d="M505.8,281.6c0,1.5-1.1,2.8-2.5,2.9c-1.4,0-2.7-1-2.9-2.5c-0.2-1.5,0.9-3,2.5-3 + C504.4,278.9,505.7,280,505.8,281.6z"/> + <path class="st1" d="M520.2,282.6c-0.3,1.5-1.7,2.5-3.1,2.3c-1.4-0.2-2.4-1.6-2.3-3.2c0.1-1.5,1.5-2.6,3.1-2.3 + C519.5,279.7,520.5,281.1,520.2,282.6z"/> + <path class="st1" d="M534.1,286.8c-0.3,0.7-0.9,1.2-1.5,1.5c-0.6,0.3-1.4,0.4-2,0.1c-1.3-0.5-2-2.1-1.6-3.5 + c0.5-1.4,2.1-2.2,3.6-1.6c0.7,0.3,1.3,0.8,1.6,1.4C534.4,285.4,534.4,286.1,534.1,286.8z"/> + <path class="st1" d="M546.6,294.1c-0.9,1.2-2.6,1.5-3.7,0.7c-1.2-0.7-1.6-2.4-0.8-3.7c0.8-1.3,2.5-1.7,3.9-0.9 + C547.2,291.1,547.5,292.9,546.6,294.1z"/> + <path class="st1" d="M557.2,303.9c-1.2,1-2.9,0.9-3.9-0.1c-0.9-1.1-0.9-2.8,0.1-3.9c1.1-1.1,2.9-1.1,3.9,0.1 + C558.5,301.2,558.4,303,557.2,303.9z"/> + <path class="st1" d="M565.4,315.9c-1.3,0.7-3,0.3-3.7-1c-0.7-1.2-0.3-2.9,1-3.7c1.3-0.8,3-0.4,3.8,0.9 + C567.3,313.5,566.8,315.2,565.4,315.9z"/> + <path class="st1" d="M570.7,329.4c-1.5,0.4-3-0.4-3.3-1.8c-0.5-1.3,0.3-2.9,1.7-3.4c1.4-0.5,3,0.2,3.6,1.7 + C573,327.4,572.1,329,570.7,329.4z"/> + <path class="st1" d="M572.8,343.7c-1.5,0-2.8-1.1-2.9-2.5c0-1.4,1-2.7,2.5-2.9c1.5-0.2,3,0.9,3,2.5 + C575.5,342.3,574.3,343.6,572.8,343.7z"/> + <path class="st1" d="M460.2,334c1.5,0.4,2.3,1.8,2.1,3.2c-0.2,1.4-1.6,2.4-3.1,2.2c-1.5-0.2-2.5-1.7-2.3-3.3 + C457.1,334.5,458.7,333.6,460.2,334z"/> + <path class="st1" d="M465.9,320.4c1.3,0.8,1.7,2.4,1,3.7c-0.6,1.3-2.3,1.8-3.6,1.2c-1.4-0.6-1.9-2.3-1.2-3.8 + C462.9,320,464.6,319.6,465.9,320.4z"/> + <path class="st1" d="M475.4,309c1,1.2,1,2.9-0.1,3.8c-1,1-2.7,1.1-3.8,0.1c-1.1-1-1.2-2.8-0.1-4 + C472.6,307.8,474.4,307.9,475.4,309z"/> + <path class="st1" d="M487.8,301c0.6,1.4,0.1,3-1.2,3.7c-1.3,0.6-2.9,0.3-3.7-1.1c-0.8-1.3-0.3-3.1,1.1-3.8 + C485.5,299,487.2,299.6,487.8,301z"/> + <path class="st1" d="M502,297c0.2,1.5-0.8,2.9-2.3,3.1c-1.4,0.2-2.8-0.6-3.2-2.1c-0.4-1.4,0.6-3.1,2.2-3.3 + C500.4,294.4,501.8,295.5,502,297z"/> + <path class="st1" d="M516.8,297.3c-0.3,1.5-1.7,2.6-3.1,2.3c-1.4-0.2-2.5-1.4-2.4-3c0.1-1.5,1.5-2.8,3.1-2.5 + C516,294.4,517.1,295.8,516.8,297.3z"/> + <path class="st1" d="M530.8,302c-0.7,1.4-2.3,2-3.6,1.3c-1.3-0.6-2-2.1-1.5-3.6c0.5-1.4,2.2-2.2,3.7-1.5 + C530.9,299,531.5,300.7,530.8,302z"/> + <path class="st1" d="M542.8,310.6c-1.1,1.1-2.8,1.2-3.9,0.2c-1-1-1.3-2.6-0.3-3.9c0.9-1.2,2.8-1.5,4-0.3 + C543.8,307.8,543.9,309.6,542.8,310.6z"/> + <path class="st1" d="M551.8,322.4c-1.3,0.7-3.1,0.3-3.8-0.9c-0.4-0.6-0.4-1.4-0.3-2c0.1-0.7,0.5-1.3,1.1-1.8 + c0.6-0.4,1.4-0.6,2.1-0.4c0.7,0.2,1.3,0.6,1.8,1.3C553.5,320,553.1,321.7,551.8,322.4z"/> + <path class="st1" d="M556.8,336.3c-1.5,0.3-3-0.6-3.4-2c-0.3-1.4,0.5-2.9,1.9-3.4c1.5-0.5,3,0.4,3.4,2 + C559.2,334.5,558.4,336,556.8,336.3z"/> + <path class="st1" d="M475.8,334.4c1.5,0.6,2.1,2,1.8,3.3c-0.3,1.3-1.8,2.2-3.3,1.9c-1.5-0.3-2.5-1.8-2-3.4 + C472.7,334.6,474.4,333.9,475.8,334.4z"/> + <path class="st1" d="M483.4,322.2c1.1,1.1,1.2,2.8,0.3,3.8c-0.8,1.1-2.5,1.3-3.8,0.4c-1.3-0.9-1.5-2.6-0.5-3.9 + C480.5,321.3,482.3,321.2,483.4,322.2z"/> + <path class="st1" d="M495.3,314.2c0.5,1.4,0,3-1.2,3.6c-1.2,0.5-2.8,0.2-3.6-1.2c-0.8-1.3-0.4-3.1,1.1-3.8 + C493,312.1,494.7,312.7,495.3,314.2z"/> + <path class="st1" d="M509.4,311.7c-0.1,1.5-1.2,2.7-2.6,2.8c-0.7,0-1.3-0.2-1.8-0.7c-0.5-0.4-0.9-1.1-1-1.8 + c-0.1-0.8,0.1-1.5,0.6-2.1c0.5-0.5,1.2-0.9,2-0.9C508.2,308.8,509.5,310.2,509.4,311.7z"/> + <path class="st1" d="M523.3,315.2c-0.7,1.4-2.2,1.9-3.5,1.5c-1.3-0.5-1.9-2.1-1.5-3.5c0.4-1.5,2-2.2,3.6-1.7 + C523.4,312,524,313.8,523.3,315.2z"/> + <path class="st1" d="M534.6,324c-1.2,1-2.9,0.9-3.8-0.1c-1-0.9-1-2.6,0-3.8c1-1.2,2.8-1.2,4-0.1C535.9,321.2,535.8,323,534.6,324 + z"/> + <path class="st1" d="M541.4,336.6c-0.7,0.2-1.5,0.1-2.1-0.2c-0.6-0.3-1.1-0.8-1.4-1.4c-0.4-1.3,0.2-2.8,1.5-3.5 + c1.4-0.7,3.1,0,3.6,1.5c0.3,0.8,0.2,1.6-0.1,2.2C542.7,335.9,542.1,336.4,541.4,336.6z"/> + <path class="st1" d="M492.8,334.4c1.2,1,1.5,2.6,0.9,3.7c-0.3,0.6-0.8,1-1.5,1.2c-0.6,0.2-1.4,0.3-2.1,0 + c-0.7-0.3-1.3-0.8-1.5-1.5c-0.2-0.7-0.2-1.6,0.3-2.4C489.8,333.8,491.6,333.4,492.8,334.4z"/> + <path class="st1" d="M505.7,327c0.2,1.5-0.8,2.9-2,3.2c-1.3,0.4-2.8-0.3-3.4-1.7c-0.7-1.4,0.1-3.1,1.9-3.7 + C503.9,324.4,505.5,325.5,505.7,327z"/> + <path class="st1" d="M520,330.8c-1,1.2-2.6,1.5-3.7,0.9c-0.6-0.3-1-0.8-1.2-1.5c-0.2-0.6-0.3-1.4,0-2.1c0.3-0.7,0.8-1.3,1.5-1.5 + c0.7-0.2,1.6-0.2,2.4,0.3C520.6,327.7,520.9,329.6,520,330.8z"/> + <path class="st1" d="M527.4,343.6c-1.5,0.2-2.9-0.8-3.2-2c-0.4-1.3,0.3-2.8,1.7-3.4c1.4-0.7,3.1,0.1,3.7,1.9 + C530,341.8,528.9,343.4,527.4,343.6z"/> + </g> + </g> + <g> + <g> + <circle class="st2" cx="1749.4" cy="114.7" r="47.5"/> + <path class="st3" d="M1752.1,184.8h-5.5v-48.1c0-1.5,1.2-2.8,2.8-2.8l0,0c1.5,0,2.8,1.2,2.8,2.8V184.8z"/> + </g> + <g> + <path class="st0" d="M1840.1,162.2L1840.1,162.2c-15.1,0-27.4-12.3-27.4-27.4V94.6c0-15.1,12.3-27.4,27.4-27.4l0,0 + c15.1,0,27.4,12.3,27.4,27.4v40.2C1867.5,150,1855.3,162.2,1840.1,162.2z"/> + <path class="st3" d="M1842.9,184.8h-5.5v-48.1c0-1.5,1.2-2.8,2.8-2.8l0,0c1.5,0,2.8,1.2,2.8,2.8V184.8z"/> + </g> + <path class="st4" d="M1973.9,346.2L1973.9,346.2c0-95.6-77.5-173.1-173.1-173.1h0c-95.6,0-173.1,77.5-173.1,173.1v0H1973.9z"/> + <path class="st4" d="M1627.8,346.2L1627.8,346.2c0-95.6-77.5-173.1-173.1-173.1h0c-95.6,0-173.1,77.5-173.1,173.1v0H1627.8z"/> + <polygon class="st3" points="2320.1,0 2320.1,346.2 1973.9,346.2 "/> + <g> + <path class="st1" d="M1284.7,333.8c1.5,0.1,2.7,1.4,2.6,2.9c-0.1,1.5-1.3,2.7-2.9,2.6c-1.5-0.1-2.8-1.4-2.7-2.9 + C1281.9,334.9,1283.2,333.7,1284.7,333.8z"/> + <path class="st1" d="M1286.4,319c1.5,0.2,2.5,1.6,2.3,3.1c-0.2,1.5-1.6,2.6-3.1,2.4c-1.5-0.2-2.6-1.6-2.4-3.2 + C1283.4,319.9,1284.9,318.8,1286.4,319z"/> + <path class="st1" d="M1289.4,304.5c1.5,0.4,2.4,1.9,2.1,3.3c-0.3,1.5-1.8,2.4-3.3,2.1c-1.5-0.3-2.4-1.8-2.1-3.3 + C1286.4,305,1287.9,304.1,1289.4,304.5z"/> + <path class="st1" d="M1293.7,290.2c1.4,0.5,2.2,2.1,1.7,3.5c-0.5,1.4-2.1,2.2-3.5,1.8c-1.5-0.5-2.2-2-1.7-3.5 + C1290.7,290.5,1292.2,289.7,1293.7,290.2z"/> + <path class="st1" d="M1299.2,276.4c1.4,0.6,2,2.3,1.4,3.6c-0.6,1.4-2.2,2.1-3.6,1.5c-1.4-0.6-2.1-2.2-1.5-3.7 + C1296.1,276.4,1297.8,275.8,1299.2,276.4z"/> + <path class="st1" d="M1305.8,263.1c1.3,0.8,1.8,2.4,1.1,3.7c-0.7,1.3-2.4,1.9-3.7,1.2c-1.4-0.7-1.9-2.4-1.2-3.8 + C1302.8,262.9,1304.5,262.4,1305.8,263.1z"/> + <path class="st1" d="M1313.6,250.5c1.2,0.9,1.6,2.6,0.8,3.9c-0.8,1.3-2.5,1.6-3.8,0.8c-1.3-0.8-1.7-2.5-0.8-3.9 + C1310.6,250,1312.4,249.6,1313.6,250.5z"/> + <path class="st1" d="M1322.5,238.6c1.2,1,1.4,2.7,0.5,3.9c-0.9,1.2-2.7,1.4-3.9,0.5c-1.2-0.9-1.4-2.7-0.5-3.9 + C1319.6,237.8,1321.3,237.6,1322.5,238.6z"/> + <path class="st1" d="M1332.4,227.5c1.1,1.1,1.1,2.8,0.1,3.9c-1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.2-2.8-0.1-3.9 + C1329.6,226.4,1331.3,226.4,1332.4,227.5z"/> + <path class="st1" d="M1343.2,217.3c1,1.2,0.9,2.9-0.3,3.9c-1.2,1-2.9,0.9-3.9-0.2c-1-1.1-1-2.9,0.2-3.9 + C1340.5,216,1342.2,216.1,1343.2,217.3z"/> + <path class="st1" d="M1354.9,208c0.9,1.2,0.6,3-0.6,3.8c-1.2,0.9-2.9,0.7-3.9-0.5c-0.9-1.2-0.7-3,0.5-3.9 + C1352.2,206.5,1354,206.8,1354.9,208z"/> + <path class="st1" d="M1367.3,199.8c0.8,1.3,0.3,3-0.9,3.8c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.3-0.4-3,0.9-3.9 + C1364.8,198.1,1366.5,198.5,1367.3,199.8z"/> + <path class="st1" d="M1380.4,192.7c0.7,1.4,0.1,3.1-1.2,3.7c-1.3,0.7-3,0.1-3.7-1.2c-0.7-1.3-0.2-3,1.2-3.7 + C1378,190.8,1379.7,191.4,1380.4,192.7z"/> + <path class="st1" d="M1394,186.9c0.5,1.4-0.2,3-1.6,3.6c-1.4,0.6-3-0.1-3.6-1.5c-0.6-1.4,0.1-3,1.6-3.6 + C1391.9,184.7,1393.5,185.4,1394,186.9z"/> + <path class="st1" d="M1408.1,182.2c0.4,1.5-0.4,3-1.9,3.4c-1.5,0.4-3-0.4-3.5-1.8c-0.5-1.4,0.3-3.1,1.9-3.5 + C1406.2,179.9,1407.7,180.7,1408.1,182.2z"/> + <path class="st1" d="M1422.6,178.8c0.3,1.5-0.7,2.9-2.2,3.2c-1.5,0.3-2.9-0.6-3.3-2.1c-0.3-1.5,0.6-3,2.2-3.3 + C1420.8,176.2,1422.3,177.3,1422.6,178.8z"/> + <path class="st1" d="M1437.3,176.6c0.1,1.5-0.9,2.9-2.4,3.1c-1.5,0.2-2.9-0.9-3.1-2.4c-0.2-1.5,0.9-2.9,2.4-3.1 + C1435.8,174,1437.2,175.1,1437.3,176.6z"/> + <path class="st1" d="M1452.2,175.8c0,1.5-1.2,2.8-2.7,2.8c-1.5,0-2.8-1.2-2.9-2.7c-0.1-1.5,1.1-2.8,2.7-2.8 + C1450.9,173,1452.1,174.2,1452.2,175.8z"/> + <path class="st1" d="M1467,176.2c-0.1,1.5-1.4,2.7-2.9,2.6c-1.5-0.1-2.7-1.3-2.6-2.9c0.1-1.5,1.4-2.8,2.9-2.7 + C1466,173.3,1467.1,174.7,1467,176.2z"/> + <path class="st1" d="M1481.8,177.9c-0.2,1.5-1.6,2.5-3.1,2.3c-1.5-0.2-2.6-1.6-2.4-3.1c0.2-1.5,1.6-2.6,3.2-2.4 + C1481,174.9,1482,176.4,1481.8,177.9z"/> + <path class="st1" d="M1496.4,180.9c-0.4,1.5-1.9,2.4-3.3,2.1c-1.5-0.3-2.4-1.8-2.1-3.3c0.3-1.5,1.8-2.4,3.3-2.1 + C1495.8,177.9,1496.7,179.4,1496.4,180.9z"/> + <path class="st1" d="M1510.6,185.1c-0.5,1.4-2.1,2.2-3.5,1.7c-1.4-0.5-2.2-2.1-1.8-3.5c0.4-1.5,2-2.2,3.5-1.7 + C1510.3,182.1,1511.1,183.7,1510.6,185.1z"/> + <path class="st1" d="M1524.4,190.6c-0.6,1.4-2.3,2-3.6,1.4c-1.4-0.6-2.1-2.2-1.5-3.6c0.6-1.4,2.2-2.1,3.7-1.5 + C1524.4,187.6,1525.1,189.2,1524.4,190.6z"/> + <path class="st1" d="M1537.7,197.3c-0.8,1.3-2.4,1.8-3.7,1.1c-1.3-0.7-1.9-2.4-1.2-3.7c0.7-1.4,2.4-1.9,3.8-1.2 + C1538,194.2,1538.5,196,1537.7,197.3z"/> + <path class="st1" d="M1550.4,205.1c-0.9,1.2-2.6,1.6-3.9,0.8c-1.3-0.8-1.6-2.5-0.8-3.8c0.8-1.3,2.5-1.7,3.9-0.8 + C1550.9,202.1,1551.2,203.8,1550.4,205.1z"/> + <path class="st1" d="M1562.3,214c-1,1.2-2.7,1.4-3.9,0.5c-1.2-0.9-1.4-2.7-0.5-3.9c0.9-1.2,2.7-1.4,3.9-0.5 + C1563,211.1,1563.3,212.8,1562.3,214z"/> + <path class="st1" d="M1573.4,223.9c-1.1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.1-2.8-0.1-3.9c1-1.1,2.8-1.2,3.9-0.1 + C1574.4,221,1574.5,222.8,1573.4,223.9z"/> + <path class="st1" d="M1583.6,234.7c-1.2,1-2.9,0.9-3.9-0.3c-1-1.2-0.9-2.9,0.2-3.9c1.1-1,2.9-1,3.9,0.2 + C1584.9,231.9,1584.7,233.7,1583.6,234.7z"/> + <path class="st1" d="M1592.8,246.4c-1.2,0.9-3,0.6-3.8-0.6c-0.9-1.2-0.7-2.9,0.5-3.9c1.2-0.9,3-0.7,3.9,0.5 + C1594.3,243.7,1594.1,245.5,1592.8,246.4z"/> + <path class="st1" d="M1601,258.8c-1.3,0.8-3,0.3-3.8-0.9c-0.8-1.3-0.4-3,0.8-3.8c1.3-0.8,3-0.4,3.9,0.9 + C1602.8,256.2,1602.3,258,1601,258.8z"/> + <path class="st1" d="M1608.1,271.8c-1.4,0.7-3.1,0.1-3.7-1.2c-0.7-1.3-0.1-3,1.2-3.7c1.3-0.7,3-0.2,3.7,1.2 + C1610,269.5,1609.5,271.2,1608.1,271.8z"/> + <path class="st1" d="M1614,285.5c-1.4,0.5-3-0.2-3.6-1.6c-0.6-1.4,0.1-3,1.5-3.6c1.4-0.6,3,0.1,3.6,1.6 + C1616.1,283.3,1615.4,285,1614,285.5z"/> + <path class="st1" d="M1618.6,299.6c-1.5,0.4-3-0.4-3.4-1.9c-0.4-1.5,0.4-3,1.8-3.5c1.4-0.5,3.1,0.3,3.5,1.9 + C1621,297.6,1620.1,299.2,1618.6,299.6z"/> + <path class="st1" d="M1622.1,314.1c-1.5,0.3-2.9-0.7-3.2-2.2c-0.3-1.5,0.6-2.9,2.1-3.3c1.5-0.3,3,0.6,3.3,2.2 + C1624.6,312.3,1623.6,313.8,1622.1,314.1z"/> + <path class="st1" d="M1624.3,328.8c-1.5,0.1-2.9-0.9-3.1-2.4c-0.2-1.5,0.9-2.9,2.4-3.1c1.5-0.2,2.9,0.9,3.1,2.4 + C1626.9,327.2,1625.8,328.6,1624.3,328.8z"/> + <path class="st1" d="M1625.1,343.6c-1.5,0-2.8-1.2-2.8-2.7c0-1.5,1.2-2.8,2.7-2.9c1.5-0.1,2.8,1.1,2.8,2.7 + C1627.8,342.3,1626.6,343.6,1625.1,343.6z"/> + <path class="st1" d="M1299.9,333.9c1.5,0.1,2.7,1.4,2.6,2.9c-0.1,1.5-1.4,2.7-2.9,2.6c-1.5-0.1-2.8-1.4-2.6-2.9 + C1297,334.9,1298.4,333.8,1299.9,333.9z"/> + <path class="st1" d="M1301.7,319.2c1.5,0.3,2.5,1.7,2.2,3.2c-0.2,1.5-1.6,2.5-3.1,2.3c-1.5-0.2-2.6-1.6-2.4-3.2 + C1298.8,320,1300.2,319,1301.7,319.2z"/> + <path class="st1" d="M1305,304.8c1.5,0.4,2.3,1.9,1.9,3.4c-0.3,1.5-1.8,2.4-3.3,2c-1.5-0.3-2.4-1.9-2.1-3.4 + C1301.9,305.3,1303.5,304.4,1305,304.8z"/> + <path class="st1" d="M1309.6,290.8c1.4,0.6,2.1,2.1,1.6,3.5c-0.5,1.4-2,2.2-3.5,1.7c-1.4-0.5-2.2-2.1-1.7-3.6 + C1306.5,290.9,1308.1,290.2,1309.6,290.8z"/> + <path class="st1" d="M1315.5,277.2c1.4,0.7,1.9,2.3,1.3,3.7c-0.6,1.4-2.3,2-3.6,1.3c-1.4-0.6-2-2.3-1.4-3.7 + C1312.4,277.1,1314.1,276.5,1315.5,277.2z"/> + <path class="st1" d="M1322.7,264.3c1.3,0.8,1.7,2.5,0.9,3.8c-0.7,1.3-2.4,1.7-3.8,1c-1.3-0.8-1.8-2.5-1-3.8 + C1319.6,263.9,1321.4,263.5,1322.7,264.3z"/> + <path class="st1" d="M1331.1,252.1c1.2,0.9,1.4,2.6,0.6,3.9c-0.9,1.2-2.6,1.5-3.8,0.6c-1.2-0.9-1.5-2.6-0.6-3.9 + C1328.1,251.4,1329.9,251.2,1331.1,252.1z"/> + <path class="st1" d="M1340.6,240.8c1.1,1,1.2,2.7,0.2,3.9c-1,1.1-2.7,1.2-3.9,0.3c-1.2-1-1.3-2.8-0.3-3.9 + C1337.6,239.8,1339.5,239.8,1340.6,240.8z"/> + <path class="st1" d="M1351.1,230.4c1,1.1,0.9,2.9-0.2,3.9c-1.1,1-2.8,1-3.9-0.1c-1.1-1.1-1-2.9,0.1-3.9 + C1348.3,229.2,1350.1,229.3,1351.1,230.4z"/> + <path class="st1" d="M1362.6,221.1c0.9,1.2,0.6,2.9-0.5,3.9c-1.2,0.9-2.9,0.7-3.9-0.5c-1-1.2-0.7-2.9,0.5-3.9 + C1359.9,219.6,1361.7,219.9,1362.6,221.1z"/> + <path class="st1" d="M1374.9,212.9c0.8,1.3,0.4,3-0.9,3.8c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.3-0.5-3,0.9-3.8 + C1372.3,211.1,1374.1,211.6,1374.9,212.9z"/> + <path class="st1" d="M1387.9,205.9c0.6,1.4,0.1,3-1.2,3.7c-1.3,0.7-3,0.1-3.7-1.2c-0.7-1.4-0.2-3,1.2-3.7 + C1385.5,203.9,1387.2,204.5,1387.9,205.9z"/> + <path class="st1" d="M1401.5,200.2c0.5,1.4-0.2,3-1.6,3.6c-1.4,0.5-3-0.2-3.6-1.6c-0.6-1.4,0.1-3,1.6-3.6 + C1399.4,198,1401,198.7,1401.5,200.2z"/> + <path class="st1" d="M1415.6,195.8c0.4,1.5-0.5,3-1.9,3.4c-1.4,0.4-3-0.4-3.4-1.9c-0.4-1.5,0.4-3,1.9-3.4 + C1413.7,193.4,1415.2,194.3,1415.6,195.8z"/> + <path class="st1" d="M1430.1,192.8c0.2,1.5-0.8,3-2.2,3.2c-1.5,0.3-2.9-0.7-3.2-2.2c-0.3-1.5,0.7-2.9,2.2-3.2 + C1428.4,190.3,1429.9,191.3,1430.1,192.8z"/> + <path class="st1" d="M1444.8,191.2c0.1,1.5-1,2.9-2.5,3c-1.5,0.1-2.8-1-3-2.6c-0.2-1.5,1-2.8,2.5-3 + C1443.4,188.5,1444.7,189.6,1444.8,191.2z"/> + <path class="st1" d="M1459.6,190.9c-0.1,1.5-1.3,2.7-2.8,2.7c-1.5-0.1-2.7-1.3-2.7-2.8c0-1.5,1.2-2.8,2.8-2.7 + C1458.4,188.1,1459.6,189.4,1459.6,190.9z"/> + <path class="st1" d="M1474.3,192.1c-0.2,1.5-1.6,2.6-3,2.4c-1.5-0.2-2.6-1.5-2.5-3c0.1-1.5,1.5-2.7,3.1-2.5 + C1473.4,189.2,1474.5,190.6,1474.3,192.1z"/> + <path class="st1" d="M1488.9,194.6c-0.3,1.5-1.8,2.4-3.3,2.1c-1.5-0.3-2.4-1.7-2.2-3.2c0.3-1.5,1.7-2.5,3.3-2.2 + C1488.2,191.6,1489.2,193.1,1488.9,194.6z"/> + <path class="st1" d="M1503.1,198.6c-0.5,1.5-2,2.2-3.4,1.8c-1.4-0.4-2.3-1.9-1.9-3.4c0.4-1.5,2-2.3,3.5-1.9 + C1502.8,195.5,1503.6,197.1,1503.1,198.6z"/> + <path class="st1" d="M1516.9,203.8c-0.6,1.4-2.2,2-3.6,1.5c-1.4-0.5-2.1-2.2-1.5-3.6c0.6-1.4,2.2-2.1,3.6-1.5 + C1516.9,200.7,1517.5,202.4,1516.9,203.8z"/> + <path class="st1" d="M1530.2,210.4c-0.8,1.4-2.4,1.8-3.7,1.1c-1.3-0.7-1.9-2.3-1.2-3.7c0.7-1.4,2.4-1.9,3.8-1.2 + C1530.5,207.3,1530.9,209.1,1530.2,210.4z"/> + <path class="st1" d="M1542.7,218.2c-0.9,1.3-2.5,1.5-3.8,0.8c-1.3-0.8-1.6-2.5-0.8-3.8c0.8-1.3,2.5-1.7,3.9-0.8 + C1543.3,215.1,1543.6,216.9,1542.7,218.2z"/> + <path class="st1" d="M1554.5,227.1c-1,1.2-2.7,1.3-3.9,0.4c-1.2-0.9-1.4-2.7-0.4-3.9c0.9-1.2,2.7-1.4,3.9-0.4 + C1555.3,224.2,1555.5,226,1554.5,227.1z"/> + <path class="st1" d="M1565.4,237.2c-1.1,1.1-2.8,1-3.9,0c-1.1-1-1.1-2.8-0.1-3.9c1-1.1,2.8-1.1,3.9-0.1 + C1566.5,234.3,1566.4,236.1,1565.4,237.2z"/> + <path class="st1" d="M1575.2,248.2c-1.2,1-2.9,0.8-3.9-0.3c-1-1.1-0.8-2.9,0.3-3.9c1.1-1,2.9-0.9,3.9,0.3 + C1576.6,245.4,1576.4,247.2,1575.2,248.2z"/> + <path class="st1" d="M1584,260.1c-1.3,0.8-3,0.5-3.8-0.7c-0.9-1.2-0.6-2.9,0.7-3.8c1.2-0.9,3-0.6,3.9,0.7 + C1585.6,257.5,1585.3,259.2,1584,260.1z"/> + <path class="st1" d="M1591.6,272.7c-1.3,0.7-3,0.2-3.8-1.1c-0.7-1.3-0.3-3,1-3.8c1.3-0.8,3-0.3,3.8,1 + C1593.5,270.3,1593,272,1591.6,272.7z"/> + <path class="st1" d="M1598,286.1c-1.4,0.6-3-0.1-3.7-1.4c-0.6-1.4,0-3,1.4-3.6c1.4-0.6,3,0,3.7,1.4 + C1600,283.9,1599.4,285.5,1598,286.1z"/> + <path class="st1" d="M1603,300c-1.5,0.4-3-0.3-3.5-1.8c-0.5-1.4,0.3-3,1.7-3.5c1.4-0.5,3,0.3,3.5,1.8 + C1605.3,298,1604.5,299.5,1603,300z"/> + <path class="st1" d="M1606.7,314.3c-1.5,0.3-3-0.6-3.3-2.1c-0.3-1.5,0.6-2.9,2.1-3.3c1.5-0.4,3,0.6,3.3,2.1 + C1609.2,312.5,1608.2,314,1606.7,314.3z"/> + <path class="st1" d="M1609.1,328.9c-1.5,0.2-2.9-0.9-3.1-2.4c-0.2-1.5,0.9-2.9,2.4-3.1c1.5-0.2,2.9,0.8,3.1,2.4 + C1611.6,327.3,1610.6,328.7,1609.1,328.9z"/> + <path class="st1" d="M1610,343.6c-1.5,0-2.8-1.2-2.8-2.7c0-1.5,1.2-2.8,2.7-2.9c1.5-0.1,2.8,1.1,2.8,2.7 + C1612.7,342.3,1611.5,343.6,1610,343.6z"/> + <path class="st1" d="M1315,334c1.5,0.1,2.7,1.4,2.6,2.9c-0.1,1.5-1.4,2.6-2.9,2.6c-1.5-0.1-2.7-1.4-2.6-2.9 + C1312.2,335,1313.5,333.8,1315,334z"/> + <path class="st1" d="M1317,319.4c1.5,0.3,2.5,1.7,2.2,3.2c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.2-2.5-1.6-2.2-3.2 + C1314.1,320.1,1315.5,319.1,1317,319.4z"/> + <path class="st1" d="M1320.6,305.2c1.5,0.5,2.3,2,1.9,3.4c-0.4,1.4-1.9,2.3-3.4,1.9c-1.5-0.4-2.3-1.9-1.9-3.4 + C1317.6,305.6,1319.1,304.7,1320.6,305.2z"/> + <path class="st1" d="M1325.6,291.4c1.4,0.6,2.1,2.2,1.6,3.6c-0.5,1.4-2.1,2.1-3.6,1.5c-1.4-0.5-2.1-2.1-1.6-3.6 + C1322.5,291.5,1324.1,290.8,1325.6,291.4z"/> + <path class="st1" d="M1332,278.2c1.3,0.7,1.8,2.4,1.1,3.7c-0.7,1.3-2.3,1.8-3.7,1.2c-1.4-0.7-1.9-2.4-1.2-3.7 + C1328.9,277.9,1330.7,277.5,1332,278.2z"/> + <path class="st1" d="M1339.8,265.8c1.3,0.9,1.6,2.6,0.7,3.8c-0.8,1.3-2.5,1.6-3.8,0.8c-1.3-0.8-1.7-2.6-0.8-3.9 + C1336.8,265.2,1338.6,264.9,1339.8,265.8z"/> + <path class="st1" d="M1348.9,254.2c1.1,1,1.3,2.7,0.3,3.9c-1,1.1-2.6,1.3-3.9,0.4c-1.2-0.9-1.4-2.7-0.4-3.9 + C1345.9,253.3,1347.7,253.2,1348.9,254.2z"/> + <path class="st1" d="M1359,243.6c1,1.1,1,2.9-0.1,3.9c-1.1,1-2.8,1-3.9-0.1c-1.1-1.1-1.1-2.8,0-3.9 + C1356.2,242.5,1358,242.5,1359,243.6z"/> + <path class="st1" d="M1370.3,234.2c0.9,1.2,0.7,3-0.5,3.9c-1.2,0.9-2.9,0.7-3.9-0.5c-1-1.2-0.8-2.9,0.5-3.9 + C1367.6,232.8,1369.4,233,1370.3,234.2z"/> + <path class="st1" d="M1382.4,226c0.8,1.3,0.4,3-0.9,3.8c-1.2,0.8-2.9,0.4-3.8-0.9c-0.8-1.3-0.5-3,0.8-3.8 + C1379.9,224.2,1381.6,224.6,1382.4,226z"/> + <path class="st1" d="M1395.4,219.1c0.7,1.4,0,3-1.3,3.7c-1.3,0.7-3,0.1-3.7-1.2c-0.7-1.4-0.2-3,1.2-3.7 + C1393.1,217,1394.8,217.7,1395.4,219.1z"/> + <path class="st1" d="M1409,213.6c0.5,1.4-0.2,3-1.7,3.5c-1.4,0.5-3-0.2-3.5-1.6c-0.6-1.4,0.2-3,1.6-3.6 + C1406.9,211.4,1408.5,212.1,1409,213.6z"/> + <path class="st1" d="M1423.1,209.5c0.3,1.5-0.6,3-2,3.3c-1.4,0.3-2.9-0.5-3.3-2c-0.4-1.5,0.5-3.1,2-3.4 + C1421.3,207.1,1422.8,208,1423.1,209.5z"/> + <path class="st1" d="M1437.6,207c0.2,1.5-0.9,2.9-2.3,3.1c-1.5,0.2-2.9-0.8-3.1-2.3c-0.2-1.5,0.8-3,2.3-3.2 + C1436,204.4,1437.4,205.5,1437.6,207z"/> + <path class="st1" d="M1452.2,206c0,1.5-1.2,2.8-2.7,2.8c-1.5,0-2.8-1.1-2.8-2.7c-0.1-1.5,1.1-2.9,2.6-2.9 + C1450.9,203.2,1452.2,204.5,1452.2,206z"/> + <path class="st1" d="M1466.9,206.5c-0.1,1.5-1.4,2.7-2.9,2.6c-1.5-0.1-2.6-1.4-2.6-2.9c0.1-1.5,1.4-2.7,2.9-2.6 + C1465.9,203.6,1467,205,1466.9,206.5z"/> + <path class="st1" d="M1481.4,208.5c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.3-2.5-1.7-2.2-3.2c0.2-1.5,1.7-2.5,3.2-2.2 + C1480.7,205.6,1481.7,207,1481.4,208.5z"/> + <path class="st1" d="M1495.7,212c-0.5,1.5-2,2.3-3.4,1.9c-1.4-0.4-2.3-1.9-1.9-3.4c0.4-1.5,1.9-2.3,3.4-1.9 + C1495.3,209,1496.1,210.6,1495.7,212z"/> + <path class="st1" d="M1509.5,217c-0.6,1.4-2.2,2.1-3.6,1.6c-1.4-0.5-2.1-2.1-1.5-3.6c0.5-1.4,2.1-2.1,3.6-1.6 + C1509.4,214,1510.1,215.6,1509.5,217z"/> + <path class="st1" d="M1522.6,223.5c-0.7,1.3-2.4,1.8-3.7,1.1c-1.3-0.7-1.8-2.3-1.2-3.7c0.7-1.4,2.4-1.9,3.7-1.2 + C1522.9,220.4,1523.4,222.2,1522.6,223.5z"/> + <path class="st1" d="M1535.1,231.3c-0.9,1.3-2.6,1.6-3.8,0.7c-1.3-0.8-1.6-2.5-0.8-3.8c0.8-1.3,2.6-1.7,3.9-0.8 + C1535.6,228.3,1535.9,230,1535.1,231.3z"/> + <path class="st1" d="M1546.6,240.3c-1,1.1-2.7,1.3-3.9,0.3c-1.1-1-1.3-2.6-0.4-3.9c0.9-1.2,2.7-1.4,3.9-0.4 + C1547.5,237.4,1547.6,239.2,1546.6,240.3z"/> + <path class="st1" d="M1557.2,250.5c-1.1,1-2.9,1-3.9-0.1c-1-1.1-1-2.8,0.1-3.9c1.1-1.1,2.8-1.1,3.9,0 + C1558.4,247.7,1558.3,249.5,1557.2,250.5z"/> + <path class="st1" d="M1566.7,261.7c-1.2,0.9-3,0.7-3.9-0.5c-0.9-1.2-0.7-2.9,0.5-3.9c1.2-1,2.9-0.8,3.9,0.5 + C1568.1,259.1,1567.9,260.8,1566.7,261.7z"/> + <path class="st1" d="M1574.9,273.9c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.2-0.4-2.9,0.9-3.8c1.3-0.8,3-0.5,3.8,0.8 + C1576.6,271.4,1576.2,273.1,1574.9,273.9z"/> + <path class="st1" d="M1581.8,286.8c-1.4,0.7-3,0-3.7-1.3c-0.7-1.3-0.1-3,1.2-3.7c1.4-0.7,3-0.2,3.7,1.2 + C1583.8,284.5,1583.1,286.2,1581.8,286.8z"/> + <path class="st1" d="M1587.3,300.5c-1.4,0.5-3-0.2-3.5-1.7c-0.5-1.4,0.2-3,1.6-3.5c1.4-0.6,3,0.2,3.6,1.6 + C1589.5,298.4,1588.7,300,1587.3,300.5z"/> + <path class="st1" d="M1591.3,314.6c-1.5,0.3-3-0.6-3.3-2c-0.3-1.4,0.5-2.9,2-3.3c1.5-0.4,3.1,0.5,3.4,2 + C1593.7,312.7,1592.8,314.2,1591.3,314.6z"/> + <path class="st1" d="M1593.8,329c-1.5,0.2-2.9-0.9-3.1-2.3c-0.2-1.5,0.8-2.9,2.3-3.1c1.5-0.2,3,0.8,3.2,2.3 + C1596.4,327.4,1595.4,328.8,1593.8,329z"/> + <path class="st1" d="M1594.9,343.7c-1.5,0-2.8-1.2-2.8-2.7c0-1.5,1.1-2.8,2.7-2.9c1.5-0.1,2.9,1.1,2.9,2.6 + C1597.6,342.4,1596.4,343.6,1594.9,343.7z"/> + <path class="st1" d="M1330.2,333.9c1.5,0.2,2.7,1.5,2.6,3c-0.1,1.5-1.4,2.6-3,2.6c-1.5-0.1-2.7-1.4-2.6-3 + C1327.3,334.9,1328.7,333.7,1330.2,333.9z"/> + <path class="st1" d="M1332.5,319.2c1.5,0.3,2.4,1.8,2.1,3.3c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.3-2.5-1.7-2.2-3.3 + C1329.5,319.8,1331,318.9,1332.5,319.2z"/> + <path class="st1" d="M1336.5,305c1.4,0.5,2.2,2.1,1.7,3.5c-0.5,1.4-2,2.2-3.5,1.8c-1.5-0.4-2.3-2-1.8-3.5 + C1333.5,305.2,1335.1,304.4,1336.5,305z"/> + <path class="st1" d="M1342.2,291.3c1.4,0.7,1.9,2.3,1.3,3.7c-0.6,1.4-2.3,2-3.7,1.4c-1.4-0.6-2-2.3-1.4-3.7 + C1339.2,291.2,1340.8,290.6,1342.2,291.3z"/> + <path class="st1" d="M1349.5,278.4c1.3,0.8,1.7,2.5,0.9,3.8c-0.8,1.3-2.4,1.7-3.8,0.9c-1.3-0.8-1.8-2.5-0.9-3.8 + C1346.5,277.9,1348.3,277.5,1349.5,278.4z"/> + <path class="st1" d="M1358.3,266.4c1.2,1,1.4,2.7,0.4,3.9c-0.9,1.2-2.7,1.4-3.9,0.5c-1.2-0.9-1.4-2.7-0.5-3.9 + C1355.4,265.6,1357.1,265.4,1358.3,266.4z"/> + <path class="st1" d="M1368.4,255.6c1.1,1.1,1,2.9-0.1,3.9c-1,1.1-2.8,1.1-3.9,0c-1.1-1-1.1-2.8,0-4 + C1365.6,254.4,1367.4,254.5,1368.4,255.6z"/> + <path class="st1" d="M1379.7,246c0.9,1.2,0.7,3-0.5,3.9c-1.2,0.9-2.9,0.7-3.9-0.5c-1-1.2-0.8-2.9,0.5-3.9 + C1377.1,244.5,1378.8,244.7,1379.7,246z"/> + <path class="st1" d="M1392.1,237.8c0.8,1.3,0.3,3-1,3.8c-1.3,0.8-3,0.4-3.8-0.9c-0.8-1.3-0.4-3,0.9-3.9 + C1389.6,236.1,1391.3,236.5,1392.1,237.8z"/> + <path class="st1" d="M1405.3,231.2c0.6,1.4,0,3.1-1.4,3.7c-1.4,0.6-3,0-3.7-1.4c-0.7-1.4-0.1-3,1.4-3.7 + C1403.1,229.1,1404.7,229.7,1405.3,231.2z"/> + <path class="st1" d="M1419.3,226.1c0.4,1.5-0.4,2.9-1.8,3.4c-1.4,0.5-3-0.3-3.5-1.7c-0.5-1.4,0.3-3,1.8-3.5 + C1417.3,223.8,1418.9,224.7,1419.3,226.1z"/> + <path class="st1" d="M1433.7,222.8c0.2,1.5-0.7,2.9-2.2,3.2c-1.5,0.2-2.9-0.7-3.2-2.2c-0.3-1.5,0.6-3,2.2-3.3 + C1432,220.3,1433.5,221.3,1433.7,222.8z"/> + <path class="st1" d="M1448.5,221.2c0.1,1.5-1.1,2.9-2.6,3c-1.5,0.1-2.8-1-3-2.6c-0.1-1.5,1-2.9,2.6-3 + C1447.1,218.5,1448.4,219.6,1448.5,221.2z"/> + <path class="st1" d="M1463.3,221.4c-0.1,1.5-1.4,2.6-2.9,2.6c-1.5,0-2.7-1.3-2.7-2.8c0-1.5,1.3-2.7,2.9-2.7 + C1462.2,218.5,1463.4,219.8,1463.3,221.4z"/> + <path class="st1" d="M1478,223.2c-0.3,1.5-1.7,2.5-3.2,2.2c-1.5-0.3-2.5-1.6-2.3-3.2c0.2-1.5,1.7-2.6,3.2-2.3 + C1477.3,220.3,1478.3,221.7,1478,223.2z"/> + <path class="st1" d="M1492.4,226.8c-0.5,1.4-2,2.3-3.4,1.9c-1.4-0.4-2.3-1.9-1.9-3.4c0.4-1.5,1.9-2.3,3.4-1.9 + C1492,223.8,1492.8,225.3,1492.4,226.8z"/> + <path class="st1" d="M1506.2,232.1c-0.6,1.4-2.3,2-3.6,1.4c-1.4-0.6-2.1-2.2-1.5-3.6c0.6-1.4,2.2-2.1,3.7-1.5 + C1506.2,229.1,1506.9,230.7,1506.2,232.1z"/> + <path class="st1" d="M1519.3,239c-0.8,1.3-2.5,1.8-3.8,1c-1.3-0.7-1.8-2.4-1-3.8c0.7-1.3,2.4-1.8,3.8-1 + C1519.7,236,1520.1,237.7,1519.3,239z"/> + <path class="st1" d="M1531.5,247.4c-0.9,1.2-2.7,1.4-3.8,0.5c-1.2-0.9-1.5-2.6-0.6-3.8c0.9-1.2,2.6-1.5,3.9-0.6 + C1532.3,244.5,1532.5,246.2,1531.5,247.4z"/> + <path class="st1" d="M1542.7,257.2c-1.1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.1-2.8-0.1-3.9c1-1.2,2.8-1.2,3.9-0.1 + C1543.7,254.4,1543.8,256.1,1542.7,257.2z"/> + <path class="st1" d="M1552.6,268.3c-1.2,1-2.9,0.7-3.9-0.4c-1-1.1-0.8-2.9,0.3-3.9c1.1-1,2.9-0.9,3.9,0.3 + C1554,265.5,1553.8,267.3,1552.6,268.3z"/> + <path class="st1" d="M1561.1,280.4c-1.3,0.8-3,0.4-3.8-0.8c-0.8-1.3-0.4-3,0.8-3.8c1.3-0.9,3-0.5,3.8,0.8 + C1562.8,277.8,1562.4,279.6,1561.1,280.4z"/> + <path class="st1" d="M1568.2,293.4c-1.4,0.6-3,0-3.7-1.3c-0.7-1.3-0.1-3,1.2-3.7c1.4-0.7,3-0.2,3.7,1.3 + C1570.2,291.1,1569.5,292.8,1568.2,293.4z"/> + <path class="st1" d="M1573.6,307.2c-1.5,0.5-3-0.3-3.5-1.7c-0.5-1.4,0.2-3,1.7-3.5c1.4-0.5,3.1,0.2,3.6,1.7 + C1575.8,305.1,1575.1,306.7,1573.6,307.2z"/> + <path class="st1" d="M1577.4,321.5c-1.5,0.3-3-0.7-3.3-2.1c-0.3-1.5,0.6-2.9,2.1-3.3c1.5-0.4,3,0.6,3.3,2.1 + C1579.9,319.8,1578.9,321.2,1577.4,321.5z"/> + <path class="st1" d="M1579.4,336.2c-1.5,0.1-2.9-1-3-2.5c-0.2-1.5,0.9-2.8,2.4-3c1.5-0.2,2.9,0.9,3.1,2.5 + C1582.1,334.8,1580.9,336.1,1579.4,336.2z"/> + <path class="st1" d="M1345.4,334c1.5,0.2,2.6,1.5,2.5,3c-0.1,1.5-1.4,2.6-3,2.5c-1.5-0.1-2.7-1.4-2.5-3 + C1342.4,334.9,1343.8,333.8,1345.4,334z"/> + <path class="st1" d="M1347.9,319.5c1.5,0.4,2.4,1.8,2.1,3.3c-0.4,1.4-1.8,2.4-3.3,2.1c-1.5-0.3-2.5-1.8-2.1-3.3 + C1345,320.1,1346.5,319.1,1347.9,319.5z"/> + <path class="st1" d="M1352.5,305.5c1.4,0.6,2.1,2.2,1.6,3.5c-0.5,1.4-2,2.1-3.5,1.6c-1.4-0.5-2.2-2.1-1.7-3.6 + C1349.4,305.7,1351,304.9,1352.5,305.5z"/> + <path class="st1" d="M1358.8,292.3c1.3,0.8,1.8,2.4,1.1,3.7c-0.7,1.3-2.3,1.8-3.7,1.2c-1.4-0.7-1.9-2.4-1.2-3.8 + C1355.7,292,1357.5,291.5,1358.8,292.3z"/> + <path class="st1" d="M1366.8,279.9c1.2,0.9,1.5,2.6,0.6,3.8c-0.9,1.2-2.6,1.5-3.8,0.6c-1.3-0.9-1.6-2.6-0.7-3.9 + C1363.9,279.3,1365.6,279,1366.8,279.9z"/> + <path class="st1" d="M1376.4,268.8c1.1,1.1,1.1,2.8,0.1,3.9c-1,1.1-2.8,1.1-3.9,0.1c-1.1-1-1.2-2.8-0.1-3.9 + C1373.6,267.8,1375.4,267.8,1376.4,268.8z"/> + <path class="st1" d="M1387.4,259.1c0.9,1.2,0.7,2.9-0.4,3.9c-1.2,0.9-2.8,0.8-3.9-0.4c-1-1.1-0.9-3,0.4-3.9 + C1384.8,257.7,1386.5,257.9,1387.4,259.1z"/> + <path class="st1" d="M1399.6,250.9c0.8,1.3,0.3,3-0.9,3.8c-1.2,0.8-2.9,0.4-3.8-0.9c-0.8-1.3-0.4-3,0.9-3.8 + C1397.2,249.1,1398.9,249.6,1399.6,250.9z"/> + <path class="st1" d="M1412.8,244.4c0.6,1.4-0.1,3-1.4,3.6c-1.3,0.6-3,0-3.6-1.4c-0.7-1.4,0-3,1.4-3.7 + C1410.6,242.3,1412.2,243,1412.8,244.4z"/> + <path class="st1" d="M1426.8,239.7c0.4,1.5-0.5,3-1.9,3.4c-1.4,0.4-2.9-0.4-3.4-1.9c-0.5-1.5,0.4-3,1.9-3.4 + C1424.8,237.4,1426.4,238.2,1426.8,239.7z"/> + <path class="st1" d="M1441.2,237c0.2,1.5-0.9,2.9-2.3,3.1c-1.5,0.2-2.9-0.8-3.1-2.3c-0.3-1.5,0.8-3,2.3-3.2 + C1439.6,234.4,1441,235.5,1441.2,237z"/> + <path class="st1" d="M1455.9,236.2c0,1.5-1.2,2.7-2.7,2.8c-1.5,0-2.7-1.2-2.8-2.7c-0.1-1.5,1.2-2.8,2.7-2.8 + C1454.6,233.3,1455.9,234.6,1455.9,236.2z"/> + <path class="st1" d="M1470.5,237.3c-0.2,1.5-1.6,2.6-3.1,2.4c-1.5-0.2-2.5-1.5-2.4-3.1c0.1-1.5,1.5-2.7,3.1-2.4 + C1469.7,234.4,1470.7,235.8,1470.5,237.3z"/> + <path class="st1" d="M1484.9,240.4c-0.4,1.5-1.9,2.3-3.3,1.9c-1.4-0.3-2.3-1.8-2-3.3c0.3-1.5,1.8-2.4,3.4-2.1 + C1484.4,237.4,1485.3,238.9,1484.9,240.4z"/> + <path class="st1" d="M1498.7,245.3c-0.6,1.4-2.2,2-3.6,1.5c-1.4-0.5-2.1-2.1-1.5-3.6c0.5-1.4,2.1-2.1,3.6-1.6 + C1498.7,242.2,1499.3,243.9,1498.7,245.3z"/> + <path class="st1" d="M1511.8,252.1c-0.8,1.3-2.5,1.8-3.8,1c-1.3-0.7-1.7-2.4-1-3.8c0.7-1.4,2.4-1.8,3.8-1 + C1512.1,249.1,1512.6,250.8,1511.8,252.1z"/> + <path class="st1" d="M1523.8,260.6c-1,1.2-2.7,1.4-3.9,0.5c-1.1-0.9-1.4-2.6-0.5-3.8c0.9-1.2,2.7-1.5,3.9-0.5 + C1524.5,257.6,1524.8,259.4,1523.8,260.6z"/> + <path class="st1" d="M1534.6,270.5c-1.1,1-2.8,1-3.9,0c-1.1-1-1.1-2.8,0-3.9c1-1.1,2.8-1.1,3.9,0 + C1535.7,267.7,1535.7,269.5,1534.6,270.5z"/> + <path class="st1" d="M1543.9,281.9c-1.3,0.9-2.9,0.6-3.8-0.5c-0.9-1.2-0.7-2.9,0.5-3.8c1.2-1,2.9-0.7,3.9,0.5 + C1545.5,279.2,1545.2,281,1543.9,281.9z"/> + <path class="st1" d="M1551.7,294.3c-1.3,0.7-3,0.2-3.8-1c-0.7-1.3-0.3-3,1-3.8c1.3-0.8,3-0.3,3.8,1 + C1553.6,291.9,1553.1,293.6,1551.7,294.3z"/> + <path class="st1" d="M1557.8,307.7c-1.4,0.5-3-0.2-3.6-1.5c-0.5-1.4,0.1-3,1.5-3.6c1.4-0.6,3.1,0,3.6,1.5 + C1559.9,305.6,1559.2,307.2,1557.8,307.7z"/> + <path class="st1" d="M1562,321.8c-1.5,0.3-3-0.6-3.3-2c-0.4-1.4,0.5-2.9,2-3.3c1.5-0.4,3,0.5,3.4,2 + C1564.4,320,1563.5,321.5,1562,321.8z"/> + <path class="st1" d="M1564.3,336.3c-1.5,0.1-2.8-1-3-2.4c-0.2-1.5,0.9-2.8,2.4-3c1.5-0.2,2.9,0.9,3.1,2.4 + C1567,334.8,1565.8,336.2,1564.3,336.3z"/> + <path class="st1" d="M1360.7,333.8c1.5,0.2,2.5,1.6,2.3,3c-0.1,1.5-1.4,2.6-2.9,2.5c-1.5-0.1-2.7-1.5-2.6-3.1 + C1357.7,334.7,1359.2,333.6,1360.7,333.8z"/> + <path class="st1" d="M1363.7,319.2c1.5,0.4,2.4,2,2,3.4c-0.4,1.4-1.9,2.3-3.4,2c-1.5-0.3-2.4-1.9-2-3.4 + C1360.7,319.7,1362.2,318.8,1363.7,319.2z"/> + <path class="st1" d="M1369.1,305.4c1.4,0.7,2,2.3,1.3,3.6c-0.7,1.3-2.2,2-3.6,1.4c-1.4-0.6-2.2-2.3-1.4-3.7 + C1366,305.3,1367.7,304.7,1369.1,305.4z"/> + <path class="st1" d="M1376.5,292.4c0.6,0.4,1,1.1,1.1,1.8c0.2,0.7,0.1,1.5-0.3,2.1c-0.8,1.3-2.5,1.7-3.8,0.9 + c-1.3-0.8-1.7-2.5-0.9-3.9c0.4-0.7,1-1.1,1.7-1.3C1375.1,291.9,1375.8,292,1376.5,292.4z"/> + <path class="st1" d="M1385.9,280.9c1.1,1.1,1.2,2.8,0.2,3.9c-1,1.1-2.8,1.2-3.9,0.2c-1.2-1-1.3-2.7-0.2-3.9 + C1383,280,1384.8,279.9,1385.9,280.9z"/> + <path class="st1" d="M1396.9,271c0.9,1.2,0.7,2.9-0.5,3.8c-1.2,0.9-2.8,0.9-3.8-0.3c-1-1.1-0.9-3,0.3-4 + C1394.2,269.5,1396,269.7,1396.9,271z"/> + <path class="st1" d="M1409.4,262.7c0.7,1.3,0.3,3.1-1,3.8c-1.3,0.8-3,0.3-3.8-0.9c-0.8-1.3-0.4-3,1-3.8 + C1406.9,261,1408.6,261.4,1409.4,262.7z"/> + <path class="st1" d="M1423,256.8c0.5,1.4-0.2,3-1.6,3.5c-1.4,0.5-3-0.2-3.6-1.6c-0.6-1.4,0.1-3,1.6-3.5 + C1420.9,254.6,1422.5,255.3,1423,256.8z"/> + <path class="st1" d="M1437.4,252.9c0.3,1.5-0.7,2.8-2.2,3.2c-1.4,0.4-2.9-0.5-3.3-2c-0.4-1.5,0.6-3,2.1-3.4 + C1435.6,250.3,1437.1,251.4,1437.4,252.9z"/> + <path class="st1" d="M1452.2,251.4c0,1.5-1.1,2.8-2.6,2.9c-1.5,0.1-2.8-1.1-2.9-2.6c-0.1-1.5,1-2.8,2.6-2.9 + C1450.8,248.7,1452.1,249.8,1452.2,251.4z"/> + <path class="st1" d="M1467,252.1c-0.2,1.5-1.6,2.5-3,2.3c-1.5-0.1-2.6-1.4-2.5-2.9c0.1-1.5,1.5-2.7,3.1-2.6 + C1466.1,249.2,1467.2,250.6,1467,252.1z"/> + <path class="st1" d="M1481.6,255.2c-0.4,1.5-2,2.4-3.4,2c-1.4-0.4-2.3-1.9-2-3.4c0.3-1.5,1.9-2.4,3.4-2 + C1481.1,252.2,1482,253.7,1481.6,255.2z"/> + <path class="st1" d="M1495.5,260.5c-0.7,1.4-2.3,2-3.6,1.3c-1.3-0.7-2-2.2-1.4-3.6c0.6-1.4,2.3-2.2,3.7-1.4 + C1495.5,257.5,1496.1,259.2,1495.5,260.5z"/> + <path class="st1" d="M1508.4,267.9c-0.4,0.6-1.1,1-1.8,1.1c-0.7,0.2-1.5,0.1-2.1-0.3c-1.3-0.8-1.7-2.5-0.9-3.8 + c0.8-1.3,2.5-1.7,3.9-0.9c0.7,0.4,1.1,1,1.3,1.7C1509,266.5,1508.8,267.3,1508.4,267.9z"/> + <path class="st1" d="M1519.9,277.3c-1.1,1.1-2.8,1.2-3.9,0.2c-1.1-1-1.2-2.8-0.2-3.9c1-1.2,2.7-1.3,3.9-0.2 + C1520.9,274.5,1521,276.2,1519.9,277.3z"/> + <path class="st1" d="M1529.9,288.4c-1.2,0.9-2.9,0.7-3.8-0.5c-0.9-1.2-0.9-2.8,0.3-3.8c1.1-1,3-0.9,4,0.3 + C1531.3,285.7,1531.1,287.5,1529.9,288.4z"/> + <path class="st1" d="M1538.1,300.8c-1.3,0.7-3.1,0.3-3.8-1c-0.8-1.3-0.3-3,0.9-3.8s3-0.4,3.8,1 + C1539.9,298.4,1539.4,300.1,1538.1,300.8z"/> + <path class="st1" d="M1544.1,314.5c-1.4,0.5-3-0.2-3.5-1.6c-0.5-1.4,0.2-3,1.6-3.6c1.4-0.6,3,0.1,3.5,1.6 + C1546.2,312.3,1545.5,314,1544.1,314.5z"/> + <path class="st1" d="M1548,328.8c-1.5,0.3-2.8-0.7-3.2-2.2c-0.4-1.4,0.5-2.9,2-3.3c1.5-0.4,3,0.6,3.4,2.1 + C1550.6,327,1549.4,328.6,1548,328.8z"/> + <path class="st1" d="M1549.5,343.6c-1.5,0-2.8-1.1-2.9-2.6c-0.1-1.5,1.1-2.8,2.6-2.9c1.5-0.1,2.8,1,2.9,2.6 + C1552.2,342.3,1551,343.6,1549.5,343.6z"/> + <path class="st1" d="M1375.9,334c1.5,0.2,2.6,1.6,2.3,3.1c-0.3,1.4-1.5,2.5-3,2.4c-1.5-0.1-2.8-1.5-2.5-3.1 + C1373,334.8,1374.4,333.7,1375.9,334z"/> + <path class="st1" d="M1379.5,319.7c1.4,0.5,2.2,2.1,1.7,3.4c-0.4,1.4-1.9,2.2-3.3,1.8c-1.5-0.4-2.4-2-1.9-3.5 + C1376.4,320,1378,319.2,1379.5,319.7z"/> + <path class="st1" d="M1385.6,306.3c1.3,0.8,1.7,2.4,1.1,3.7c-0.6,1.3-2.3,1.8-3.6,1.2c-1.4-0.7-1.9-2.4-1.2-3.8 + C1382.5,306,1384.3,305.6,1385.6,306.3z"/> + <path class="st1" d="M1394.1,294.3c1.2,1,1.2,2.6,0.4,3.9c-0.9,1.2-2.6,1.4-3.8,0.5c-1.2-0.9-1.5-2.7-0.5-3.9 + C1391.1,293.4,1393,293.3,1394.1,294.3z"/> + <path class="st1" d="M1404.6,284c0.5,0.6,0.7,1.3,0.6,2c-0.1,0.7-0.3,1.4-0.9,1.9c-1.1,1-2.8,0.9-3.9-0.2c-1-1.1-0.9-2.9,0.2-4 + c0.6-0.5,1.3-0.8,2-0.7C1403.5,283.1,1404.2,283.4,1404.6,284z"/> + <path class="st1" d="M1416.9,275.9c0.7,1.3,0.3,3-1,3.8c-1.3,0.8-2.9,0.3-3.8-1c-0.8-1.3-0.4-3,1-3.8 + C1414.5,274.1,1416.2,274.5,1416.9,275.9z"/> + <path class="st1" d="M1430.5,270.1c0.5,1.5-0.3,3.1-1.7,3.6c-1.4,0.5-3-0.2-3.5-1.7c-0.6-1.4,0.2-3,1.7-3.6 + C1428.4,267.9,1430,268.7,1430.5,270.1z"/> + <path class="st1" d="M1444.8,267c0.2,1.5-0.9,2.9-2.3,3.2c-1.4,0.2-2.9-0.8-3.2-2.3c-0.3-1.5,0.7-2.9,2.3-3.1 + C1443.2,264.5,1444.7,265.5,1444.8,267z"/> + <path class="st1" d="M1459.6,266.6c-0.1,1.5-1.4,2.7-2.8,2.6c-1.5-0.1-2.7-1.3-2.7-2.8c0-1.6,1.2-2.8,2.8-2.7 + C1458.5,263.8,1459.7,265.1,1459.6,266.6z"/> + <path class="st1" d="M1474.1,268.8c-0.4,1.5-1.8,2.4-3.3,2c-1.4-0.3-2.4-1.7-2.1-3.2c0.3-1.5,1.8-2.6,3.3-2.2 + C1473.5,265.8,1474.5,267.3,1474.1,268.8z"/> + <path class="st1" d="M1488,273.7c-0.7,1.4-2.2,2-3.6,1.4c-1.4-0.5-2.1-2.1-1.5-3.5c0.5-1.4,2.2-2.2,3.7-1.6 + C1488,270.6,1488.6,272.3,1488,273.7z"/> + <path class="st1" d="M1500.7,281c-0.9,1.3-2.5,1.5-3.8,0.7c-1.3-0.8-1.6-2.4-0.8-3.7c0.8-1.3,2.5-1.7,3.9-0.9 + C1501.4,277.9,1501.6,279.8,1500.7,281z"/> + <path class="st1" d="M1511.9,290.6c-1.1,1.1-2.8,1-3.9,0.1c-1.1-1-1.1-2.7-0.1-3.9c1-1.1,2.8-1.2,4-0.1 + C1513.1,287.7,1513,289.5,1511.9,290.6z"/> + <path class="st1" d="M1521.2,302c-1.3,0.8-3,0.5-3.9-0.6c-0.9-1.2-0.6-2.9,0.6-3.8c1.2-0.9,3-0.7,3.9,0.6 + C1522.8,299.4,1522.5,301.2,1521.2,302z"/> + <path class="st1" d="M1528.2,315c-1.4,0.6-3.1,0-3.7-1.3c-0.6-1.3,0-3,1.3-3.7c1.4-0.7,3-0.1,3.7,1.3 + C1530.2,312.8,1529.6,314.4,1528.2,315z"/> + <path class="st1" d="M1532.6,329c-1.5,0.3-3-0.6-3.4-2c-0.4-1.4,0.5-2.9,2-3.4c1.5-0.4,3,0.5,3.4,2 + C1535,327.2,1534.1,328.7,1532.6,329z"/> + <path class="st1" d="M1534.4,343.7c-1.5,0-2.8-1.1-2.9-2.6c-0.1-1.5,1.1-2.8,2.6-2.9c1.5-0.2,2.8,1,2.9,2.6 + C1537.1,342.3,1535.9,343.6,1534.4,343.7z"/> + <path class="st1" d="M1391.1,334.2c1.5,0.3,2.5,1.7,2.3,3.1c-0.2,1.4-1.6,2.4-3.2,2.3c-1.5-0.1-2.6-1.5-2.3-3.1 + C1388.2,334.9,1389.6,333.9,1391.1,334.2z"/> + <path class="st1" d="M1395.4,320.3c0.7,0.3,1.2,0.9,1.5,1.5c0.3,0.6,0.4,1.4,0.1,2c-0.5,1.3-2.1,2-3.5,1.6 + c-1.4-0.5-2.2-2.1-1.6-3.6c0.3-0.7,0.8-1.3,1.4-1.6C1393.9,320,1394.7,320,1395.4,320.3z"/> + <path class="st1" d="M1402.7,307.8c1.2,0.9,1.5,2.6,0.7,3.7c-0.7,1.2-2.4,1.6-3.7,0.8c-1.3-0.8-1.7-2.5-0.9-3.9 + C1399.7,307.2,1401.4,306.9,1402.7,307.8z"/> + <path class="st1" d="M1412.5,297.2c1,1.2,0.9,2.9-0.1,3.9c-1.1,0.9-2.8,0.9-3.9-0.1c-1.1-1.1-1.1-2.8,0.1-3.9 + C1409.7,295.9,1411.5,296,1412.5,297.2z"/> + <path class="st1" d="M1424.4,289c0.7,1.3,0.3,3-1,3.7c-1.2,0.7-2.9,0.3-3.7-1c-0.8-1.3-0.4-3,0.9-3.8 + C1422,287.1,1423.7,287.6,1424.4,289z"/> + <path class="st1" d="M1437.9,283.7c0.4,1.5-0.4,3-1.8,3.3c-1.3,0.5-2.9-0.3-3.4-1.7c-0.5-1.4,0.2-3,1.7-3.6 + C1436,281.3,1437.5,282.3,1437.9,283.7z"/> + <path class="st1" d="M1452.2,281.6c0,1.5-1.1,2.8-2.5,2.9c-1.4,0-2.7-1-2.9-2.5c-0.2-1.5,0.9-3,2.5-3 + C1450.9,278.9,1452.2,280,1452.2,281.6z"/> + <path class="st1" d="M1466.7,282.6c-0.3,1.5-1.7,2.5-3.1,2.3c-1.4-0.2-2.4-1.6-2.3-3.2c0.1-1.5,1.5-2.6,3.1-2.3 + C1465.9,279.7,1467,281.1,1466.7,282.6z"/> + <path class="st1" d="M1480.5,286.8c-0.3,0.7-0.9,1.2-1.5,1.5c-0.6,0.3-1.4,0.4-2,0.1c-1.3-0.5-2-2.1-1.6-3.5 + c0.5-1.4,2.1-2.2,3.6-1.6c0.7,0.3,1.3,0.8,1.6,1.4C1480.8,285.4,1480.8,286.1,1480.5,286.8z"/> + <path class="st1" d="M1493,294.1c-0.9,1.2-2.6,1.5-3.7,0.7c-1.2-0.7-1.6-2.4-0.8-3.7c0.8-1.3,2.5-1.7,3.9-0.9 + C1493.7,291.1,1494,292.9,1493,294.1z"/> + <path class="st1" d="M1503.7,303.9c-1.2,1-2.9,0.9-3.9-0.1c-0.9-1.1-0.9-2.8,0.1-3.9c1.1-1.1,2.8-1.1,3.9,0.1 + C1504.9,301.2,1504.8,303,1503.7,303.9z"/> + <path class="st1" d="M1511.9,315.9c-1.3,0.7-3,0.3-3.7-1c-0.7-1.2-0.3-2.9,1-3.7c1.3-0.8,3-0.4,3.8,0.9 + C1513.7,313.5,1513.2,315.2,1511.9,315.9z"/> + <path class="st1" d="M1517.1,329.4c-1.5,0.4-3-0.4-3.3-1.8c-0.5-1.3,0.3-2.9,1.7-3.4c1.4-0.5,3,0.2,3.6,1.7 + C1519.5,327.4,1518.6,329,1517.1,329.4z"/> + <path class="st1" d="M1519.3,343.7c-1.5,0-2.8-1.1-2.9-2.5c0-1.4,1-2.7,2.5-2.9c1.5-0.2,3,0.9,3,2.5 + C1522,342.3,1520.8,343.6,1519.3,343.7z"/> + <path class="st1" d="M1406.7,334c1.5,0.4,2.3,1.8,2.1,3.2c-0.2,1.4-1.6,2.4-3.1,2.2c-1.5-0.2-2.5-1.7-2.3-3.3 + C1403.6,334.5,1405.2,333.6,1406.7,334z"/> + <path class="st1" d="M1412.4,320.4c1.3,0.8,1.7,2.4,1,3.7c-0.6,1.3-2.3,1.8-3.6,1.2c-1.4-0.6-1.9-2.3-1.2-3.8 + C1409.3,320,1411.1,319.6,1412.4,320.4z"/> + <path class="st1" d="M1421.9,309c1,1.2,1,2.9-0.1,3.8c-1,1-2.7,1.1-3.8,0.1c-1.1-1-1.2-2.8-0.1-4 + C1419.1,307.8,1420.9,307.9,1421.9,309z"/> + <path class="st1" d="M1434.3,301c0.6,1.4,0.1,3-1.2,3.7c-1.3,0.6-2.9,0.3-3.7-1.1c-0.8-1.3-0.3-3.1,1.1-3.8 + C1431.9,299,1433.6,299.6,1434.3,301z"/> + <path class="st1" d="M1448.5,297c0.2,1.5-0.8,2.9-2.3,3.1c-1.4,0.2-2.8-0.6-3.2-2.1c-0.4-1.4,0.6-3.1,2.2-3.3 + C1446.9,294.4,1448.3,295.5,1448.5,297z"/> + <path class="st1" d="M1463.3,297.3c-0.3,1.5-1.7,2.6-3.1,2.3c-1.4-0.2-2.5-1.4-2.4-3c0.1-1.5,1.5-2.8,3.1-2.5 + C1462.4,294.4,1463.5,295.8,1463.3,297.3z"/> + <path class="st1" d="M1477.3,302c-0.7,1.4-2.3,2-3.6,1.3c-1.3-0.6-2-2.1-1.5-3.6c0.5-1.4,2.2-2.2,3.7-1.5 + C1477.4,299,1478,300.7,1477.3,302z"/> + <path class="st1" d="M1489.3,310.6c-1.1,1.1-2.8,1.2-3.9,0.2c-1-1-1.3-2.6-0.3-3.9c0.9-1.2,2.8-1.5,4-0.3 + C1490.2,307.8,1490.3,309.6,1489.3,310.6z"/> + <path class="st1" d="M1498.2,322.4c-1.3,0.7-3.1,0.3-3.8-0.9c-0.4-0.6-0.4-1.4-0.3-2c0.1-0.7,0.5-1.3,1.1-1.8 + c0.6-0.4,1.4-0.6,2.1-0.4c0.7,0.2,1.3,0.6,1.8,1.3C1500,320,1499.6,321.7,1498.2,322.4z"/> + <path class="st1" d="M1503.3,336.3c-1.5,0.3-3-0.6-3.4-2c-0.3-1.4,0.5-2.9,1.9-3.4c1.5-0.5,3,0.4,3.4,2 + C1505.7,334.5,1504.8,336,1503.3,336.3z"/> + <path class="st1" d="M1422.3,334.4c1.5,0.6,2.1,2,1.8,3.3c-0.3,1.3-1.8,2.2-3.3,1.9c-1.5-0.3-2.5-1.8-2-3.4 + C1419.2,334.6,1420.9,333.9,1422.3,334.4z"/> + <path class="st1" d="M1429.9,322.2c1.1,1.1,1.2,2.8,0.3,3.8c-0.8,1.1-2.5,1.3-3.8,0.4c-1.3-0.9-1.5-2.6-0.5-3.9 + C1427,321.3,1428.8,321.2,1429.9,322.2z"/> + <path class="st1" d="M1441.7,314.2c0.5,1.4,0,3-1.2,3.6c-1.2,0.5-2.8,0.2-3.6-1.2c-0.8-1.3-0.4-3.1,1.1-3.8 + C1439.5,312.1,1441.2,312.7,1441.7,314.2z"/> + <path class="st1" d="M1455.8,311.7c-0.1,1.5-1.2,2.7-2.6,2.8c-0.7,0-1.3-0.2-1.8-0.7c-0.5-0.4-0.9-1.1-1-1.8 + c-0.1-0.8,0.1-1.5,0.6-2.1c0.5-0.5,1.2-0.9,2-0.9C1454.7,308.8,1455.9,310.2,1455.8,311.7z"/> + <path class="st1" d="M1469.8,315.2c-0.7,1.4-2.2,1.9-3.5,1.5c-1.3-0.5-1.9-2.1-1.5-3.5c0.4-1.5,2-2.2,3.6-1.7 + C1469.8,312,1470.4,313.8,1469.8,315.2z"/> + <path class="st1" d="M1481.1,324c-1.2,1-2.9,0.9-3.8-0.1c-1-0.9-1-2.6,0-3.8c1-1.2,2.8-1.2,4-0.1 + C1482.3,321.2,1482.3,323,1481.1,324z"/> + <path class="st1" d="M1487.8,336.6c-0.7,0.2-1.5,0.1-2.1-0.2c-0.6-0.3-1.1-0.8-1.4-1.4c-0.4-1.3,0.2-2.8,1.5-3.5 + c1.4-0.7,3.1,0,3.6,1.5c0.3,0.8,0.2,1.6-0.1,2.2C1489.1,335.9,1488.5,336.4,1487.8,336.6z"/> + <path class="st1" d="M1439.3,334.4c1.2,1,1.5,2.6,0.9,3.7c-0.3,0.6-0.8,1-1.5,1.2c-0.6,0.2-1.4,0.3-2.1,0 + c-0.7-0.3-1.3-0.8-1.5-1.5c-0.2-0.7-0.2-1.6,0.3-2.4C1436.2,333.8,1438.1,333.4,1439.3,334.4z"/> + <path class="st1" d="M1452.1,327c0.2,1.5-0.8,2.9-2,3.2c-1.3,0.4-2.8-0.3-3.4-1.7c-0.7-1.4,0.1-3.1,1.9-3.7 + C1450.3,324.4,1452,325.5,1452.1,327z"/> + <path class="st1" d="M1466.4,330.8c-1,1.2-2.6,1.5-3.7,0.9c-0.6-0.3-1-0.8-1.2-1.5c-0.2-0.6-0.3-1.4,0-2.1 + c0.3-0.7,0.8-1.3,1.5-1.5c0.7-0.2,1.6-0.2,2.4,0.3C1467,327.7,1467.4,329.6,1466.4,330.8z"/> + <path class="st1" d="M1473.9,343.6c-1.5,0.2-2.9-0.8-3.2-2c-0.4-1.3,0.3-2.8,1.7-3.4c1.4-0.7,3.1,0.1,3.7,1.9 + C1476.5,341.8,1475.4,343.4,1473.9,343.6z"/> + </g> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/item2.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/item2.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_calendar.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_calendar.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_calendar.svg (revision 7) @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="20.924px" height="22.231px" viewBox="249.647 262.968 20.924 22.231" + enable-background="new 249.647 262.968 20.924 22.231" xml:space="preserve"> +<g> + <path fill="#221F1F" d="M268.098,285.199H252.12c-1.363,0-2.473-1.109-2.473-2.473v-13.841c0-1.363,1.109-2.473,2.473-2.473h15.979 + c1.363,0,2.473,1.109,2.473,2.473v13.841C270.571,284.09,269.462,285.199,268.098,285.199z M252.12,268.523 + c-0.199,0-0.361,0.163-0.361,0.362v13.841c0,0.199,0.162,0.362,0.361,0.362h15.979c0.199,0,0.361-0.163,0.361-0.362v-13.841 + c0-0.2-0.162-0.362-0.361-0.362H252.12z"/> + <g> + <path fill="#221F1F" d="M256.969,266.559c0,0.157-0.127,0.284-0.283,0.284h-2.184c-0.156,0-0.283-0.127-0.283-0.284v-3.308 + c0-0.157,0.127-0.284,0.283-0.284h2.184c0.156,0,0.283,0.127,0.283,0.284V266.559z"/> + <path fill="#221F1F" d="M266,266.559c0,0.157-0.127,0.284-0.283,0.284h-2.184c-0.156,0-0.283-0.127-0.283-0.284v-3.308 + c0-0.157,0.127-0.284,0.283-0.284h2.184c0.156,0,0.283,0.127,0.283,0.284V266.559z"/> + </g> + <g> + <path fill="#221F1F" d="M256.89,274.411c0,0.313-0.254,0.567-0.567,0.567h-1.615c-0.313,0-0.567-0.254-0.567-0.567v-1.616 + c0-0.313,0.254-0.567,0.567-0.567h1.615c0.313,0,0.567,0.254,0.567,0.567V274.411z"/> + <path fill="#221F1F" d="M261.484,274.411c0,0.313-0.254,0.567-0.567,0.567h-1.615c-0.313,0-0.567-0.254-0.567-0.567v-1.616 + c0-0.313,0.254-0.567,0.567-0.567h1.615c0.313,0,0.567,0.254,0.567,0.567V274.411z"/> + <path fill="#221F1F" d="M266.078,274.411c0,0.313-0.254,0.567-0.567,0.567h-1.615c-0.313,0-0.567-0.254-0.567-0.567v-1.616 + c0-0.313,0.254-0.567,0.567-0.567h1.615c0.313,0,0.567,0.254,0.567,0.567V274.411z"/> + <path fill="#221F1F" d="M256.89,278.816c0,0.313-0.254,0.567-0.567,0.567h-1.615c-0.313,0-0.567-0.254-0.567-0.567v-1.615 + c0-0.313,0.254-0.567,0.567-0.567h1.615c0.313,0,0.567,0.254,0.567,0.567V278.816z"/> + <path fill="#221F1F" d="M261.484,278.816c0,0.313-0.254,0.567-0.567,0.567h-1.615c-0.313,0-0.567-0.254-0.567-0.567v-1.615 + c0-0.313,0.254-0.567,0.567-0.567h1.615c0.313,0,0.567,0.254,0.567,0.567V278.816z"/> + <path fill="#221F1F" d="M266.078,278.816c0,0.313-0.254,0.567-0.567,0.567h-1.615c-0.313,0-0.567-0.254-0.567-0.567v-1.615 + c0-0.313,0.254-0.567,0.567-0.567h1.615c0.313,0,0.567,0.254,0.567,0.567V278.816z"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/techbanner2.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/techbanner2.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/item3.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/item3.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/file_word.svg =================================================================== --- base3.10/src/main/webapp/images/custom/file_word.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/file_word.svg (revision 7) @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="446.461px" height="595.397px" viewBox="197.715 -0.116 446.461 595.397" + enable-background="new 197.715 -0.116 446.461 595.397" xml:space="preserve"> +<path fill="#424242" d="M627.782,113.824l-97.547-97.547C519.771,5.813,505.587-0.116,490.821-0.116H253.522 + C222.712,0,197.715,24.997,197.715,55.808v483.665c0,30.811,24.997,55.809,55.808,55.809h334.846 + c30.811,0,55.808-24.998,55.808-55.809V153.354C644.176,138.589,638.246,124.288,627.782,113.824z M583.834,148.82h-88.479V60.342 + L583.834,148.82z M253.522,539.472V55.808h186.025v120.916c0,15.463,12.44,27.904,27.903,27.904h120.917v334.845H253.522z + M509.424,280.64c-6.628,0-12.324,4.65-13.604,11.045c-23.95,113.592-23.718,110.918-24.416,120.336 + c-0.232-1.396-0.465-3.023-0.813-5c-0.931-5.93,0.349,0.232-27.438-115.684c-1.512-6.279-7.093-10.697-13.604-10.697h-15.464 + c-6.395,0-11.975,4.418-13.603,10.58c-28.369,115.104-27.904,111.848-28.834,120.568c-0.116-1.279-0.232-2.908-0.581-4.885 + c-0.814-6.045-16.394-85.223-22.207-115.102c-1.279-6.512-6.976-11.278-13.72-11.278h-19.532c-9.068,0-15.696,8.487-13.604,17.208 + c9.302,37.902,31.043,127.311,38.601,158.121c1.512,6.277,7.092,10.58,13.604,10.58h29.299c6.395,0,11.975-4.303,13.486-10.58 + l20.812-83.014c1.744-7.209,2.907-13.953,3.488-20.115l3.372,20.115c0.116,0.465,14.649,58.713,20.812,83.014 + c1.511,6.162,7.092,10.58,13.486,10.58h28.718c6.395,0,11.976-4.303,13.487-10.58c24.183-95.223,35.112-138.357,40.111-158.121 + c2.209-8.838-4.418-17.324-13.487-17.324h-18.369V280.64z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/item_l.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/item_l.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/webacc.svg =================================================================== --- base3.10/src/main/webapp/images/custom/webacc.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/webacc.svg (revision 7) @@ -0,0 +1,396 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 242.8 172.2" style="enable-background:new 0 0 242.8 172.2;" xml:space="preserve"> +<style type="text/css"> + .st0{clip-path:url(#SVGID_2_);fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;} + .st1{clip-path:url(#SVGID_2_);fill:none;stroke:#89BF44;stroke-width:2;} + .st2{clip-path:url(#SVGID_2_);fill-rule:evenodd;clip-rule:evenodd;fill:#8DC63F;} + .st3{clip-path:url(#SVGID_2_);fill-rule:evenodd;clip-rule:evenodd;fill:#89BF44;} + .st4{clip-path:url(#SVGID_2_);fill-rule:evenodd;clip-rule:evenodd;fill:#388841;} + .st5{clip-path:url(#SVGID_4_);fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;} + .st6{clip-path:url(#SVGID_6_);fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;} + .st7{clip-path:url(#SVGID_8_);fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;} + .st8{clip-path:url(#SVGID_10_);fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;} + .st9{clip-path:url(#SVGID_12_);fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;} + .st10{fill:none;stroke:#000000;stroke-linecap:round;stroke-linejoin:round;} + .st11{fill:#398841;} + .st12{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;} + .st13{fill:none;} + .st14{fill:#FFFFFF;} +</style> +<g id="레이어_1"> +</g> +<g id="나눔바른고딕_1_"> +</g> +<g id="나눔바른고딕_outline"> +</g> +<g id="Layer_4"> + <g> + <g> + <defs> + <rect id="SVGID_1_" width="242.8" height="171.3"/> + </defs> + <clipPath id="SVGID_2_"> + <use xlink:href="#SVGID_1_" style="overflow:visible;"/> + </clipPath> + <path class="st0" d="M238,78.4c0,42-52.2,76-116.5,76c-64.4,0-116.5-34-116.5-76c0-42,52.2-76,116.5-76 + C185.8,2.4,238,36.4,238,78.4"/> + <ellipse class="st1" cx="121.4" cy="78.4" rx="116.5" ry="76"/> + <path class="st2" d="M162.1,62.2c2.9,0,5.3-2.3,5.3-5.2c0-2.9-2.4-5.2-5.3-5.2c-2.9,0-5.3,2.3-5.3,5.2 + C156.8,59.8,159.2,62.2,162.1,62.2"/> + <path class="st2" d="M179,72.5c1.1,1.7,2.2,3.3,3.1,4.6c4.7,2.2,7.9,7,7.9,12.5c0,7.7-6.2,13.9-13.9,13.9 + c-7.7,0-13.9-6.2-13.9-13.9c0-0.3,0-0.6,0-0.9h-0.7c-0.1,0.2-1.2,1.9-2.5,4c1.5,8.1,8.6,14.2,17,14.2c9.6,0,17.3-7.8,17.3-17.3 + C193.5,81,187.2,73.9,179,72.5"/> + <path class="st2" d="M153,101.4l8.2-13.3H179c2.1,0,7.1-3.5,4.5-7.5c0,0-11.2-16.8-12.1-17.7c-0.9-0.9-3.9-1.8-6.4-0.1 + c-2,1.3-6.2,10.9-6.2,10.9s-4.8,0.1-6.3,0c-1.4-0.1-1.9,4.9-0.1,4.9h8.7l3.3-5.6l6.8,10.3h-13.8l-10.8,18.2 + c-0.6,1.1-0.5,2.7,1.6,2.7C150.3,104.1,151.6,103.2,153,101.4"/> + <rect x="146.5" y="75.8" class="st2" width="15.5" height="4.3"/> + <polygon class="st2" points="148.3,76 146.6,77.2 137.6,64.3 139.2,63.1 "/> + <path class="st3" d="M74.1,118.4c13.7,5.1,30.4,8.1,48.4,8.1c47.2,0,85.6-20.8,85.6-46.6c0-13.2-12.2-30.3-43.1-30.3 + c-22.4,0-42,9.9-42,22.1c0,2.1,1.3,4.5,2.9,6.1c2.5,2.9,3.3,6.4,3.3,9.6c0,14.9-22.2,26.9-49.5,26.9c-18,0-34.6-5-42.7-13.2 + c-6.5-6.5-8.6-13.9-8.6-21.3c0-28.4,42.2-51.5,94.2-51.5c52.1,0,94.3,23.1,94.3,51.5c0,28.4-42.2,51.5-94.3,51.5 + c-20.5,0-39.6-3.6-55-9.6L74.1,118.4z"/> + <path class="st4" d="M73.4,114.2c13.7,5.1,30.4,8.1,48.4,8.1c47.2,0,85.6-20.8,85.6-46.6c0-13.2-12.2-30.3-43.1-30.3 + c-22.4,0-42,9.9-42,22.1c0,2.1,1.3,4.5,2.9,6.1c2.5,2.9,3.3,6.4,3.3,9.6c0,14.9-22.2,26.9-49.5,26.9c-18,0-34.6-5-42.7-13.2 + c-6.5-6.5-8.6-13.9-8.6-21.3c0-28.4,42.2-51.5,94.2-51.5c52.1,0,94.3,23.1,94.3,51.5c0,28.4-42.2,51.5-94.3,51.5 + c-20.5,0-39.6-3.6-55-9.6L73.4,114.2z"/> + </g> + <g> + <path d="M81.3,132.1l-6.6,11.3l-1.9-0.5l0.5-15.5l1.7,0.5L74.4,141l6.7-11.4l1.7,0.5l-0.5,13.4l6.6-11.6l1.6,0.5l-7.8,13.4 + l-1.9-0.6L81.3,132.1z"/> + </g> + <g> + <defs> + <rect id="SVGID_3_" width="242.8" height="171.3"/> + </defs> + <clipPath id="SVGID_4_"> + <use xlink:href="#SVGID_3_" style="overflow:visible;"/> + </clipPath> + <polygon class="st5" points="80.9,145.2 82.8,145.7 90.6,132.3 89,131.9 82.4,143.5 82.9,130.1 81.1,129.6 74.4,141 74.9,127.8 + 73.3,127.3 72.8,142.8 74.7,143.4 81.3,132.1 "/> + </g> + <g> + <path d="M98.9,148.9l-9.2-1.6l2.6-14.9l9.2,1.6l-0.3,1.5l-7.5-1.3l-0.8,4.5l6.9,1.2l-0.2,1.5l-6.9-1.2l-1,5.9l7.5,1.3L98.9,148.9 + z"/> + </g> + <g> + <defs> + <rect id="SVGID_5_" width="242.8" height="171.3"/> + </defs> + <clipPath id="SVGID_6_"> + <use xlink:href="#SVGID_5_" style="overflow:visible;"/> + </clipPath> + <polygon class="st6" points="99.2,147.4 91.7,146.1 92.7,140.2 99.6,141.4 99.9,139.9 93,138.7 93.7,134.2 101.2,135.5 + 101.5,134 92.3,132.4 89.7,147.3 98.9,148.9 "/> + </g> + <g> + <path d="M107.2,149.7l-5.1-0.5l1.3-15l5,0.4c0.7,0.1,1.3,0.2,1.8,0.4c0.5,0.2,0.9,0.5,1.3,0.8c0.3,0.3,0.6,0.7,0.7,1.1 + c0.1,0.4,0.2,0.9,0.2,1.3c-0.1,0.8-0.4,1.5-0.9,2.1c-0.5,0.6-1.2,0.9-2.1,1.1l0,0c0.5,0.1,1,0.3,1.4,0.5c0.4,0.2,0.7,0.5,1,0.9 + c0.3,0.4,0.5,0.8,0.6,1.2c0.1,0.5,0.2,0.9,0.1,1.4c0,0.5-0.2,1.1-0.4,1.6c-0.2,0.5-0.6,1-1,1.3c-0.5,0.4-1,0.7-1.7,0.9 + C108.8,149.7,108.1,149.8,107.2,149.7z M107.3,142.2l-2.8-0.2l-0.5,5.9l3.1,0.3c1.1,0.1,1.9-0.1,2.5-0.6c0.6-0.5,1-1.2,1-2.1 + c0.1-1-0.1-1.7-0.7-2.3C109.4,142.7,108.6,142.3,107.3,142.2z M107.9,136.1l-2.8-0.3l-0.4,4.7l2.6,0.2c1,0.1,1.7,0,2.3-0.3 + c0.6-0.3,0.9-0.9,1-1.8c0.1-0.8-0.1-1.4-0.6-1.8C109.6,136.4,108.9,136.2,107.9,136.1z"/> + </g> + <g> + <defs> + <rect id="SVGID_7_" width="242.8" height="171.3"/> + </defs> + <clipPath id="SVGID_8_"> + <use xlink:href="#SVGID_7_" style="overflow:visible;"/> + </clipPath> + <path class="st7" d="M109.5,149.5c0.6-0.2,1.2-0.5,1.7-0.9c0.5-0.4,0.8-0.8,1-1.3c0.2-0.5,0.4-1,0.4-1.6c0-0.5,0-1-0.1-1.4 + c-0.1-0.5-0.3-0.9-0.6-1.2c-0.3-0.3-0.6-0.6-1-0.9c-0.4-0.2-0.9-0.4-1.4-0.5l0,0c0.9-0.2,1.5-0.5,2.1-1.1 + c0.5-0.6,0.8-1.3,0.9-2.1c0-0.5,0-0.9-0.2-1.3c-0.1-0.4-0.4-0.8-0.7-1.1c-0.3-0.3-0.8-0.6-1.3-0.8c-0.5-0.2-1.1-0.4-1.8-0.4 + l-5-0.4l-1.3,15l5.1,0.5C108.1,149.8,108.8,149.7,109.5,149.5z M110,143.3c0.5,0.6,0.8,1.3,0.7,2.3c-0.1,0.9-0.4,1.6-1,2.1 + c-0.6,0.5-1.4,0.7-2.5,0.6l-3.1-0.3l0.5-5.9l2.8,0.2C108.6,142.4,109.4,142.7,110,143.3z M110.1,136.8c0.5,0.4,0.7,1,0.6,1.8 + c-0.1,0.9-0.4,1.5-1,1.8c-0.6,0.3-1.4,0.4-2.3,0.4l-2.6-0.2l0.4-4.7l2.8,0.3C108.9,136.2,109.6,136.4,110.1,136.8z"/> + </g> + <g> + <path d="M125.3,140.4c0.2,0.3,0.5,0.5,0.8,0.8c0.3,0.3,0.6,0.5,1,0.7c0.3,0.2,0.7,0.4,1,0.6c0.3,0.2,0.7,0.3,1,0.5l-0.9,1.2 + c-0.7-0.3-1.4-0.7-2-1.2c-0.7-0.5-1.3-1-1.8-1.5c-0.7,0.8-1.5,1.5-2.4,2c-0.9,0.6-1.7,1-2.4,1.3l-1.1-1.1 + c0.8-0.3,1.5-0.7,2.3-1.1c0.7-0.5,1.4-1,1.9-1.5c0.6-0.6,1.1-1.1,1.5-1.7c0.4-0.6,0.7-1.2,0.8-1.8c-0.6,0-1.3,0.1-1.9,0.1 + c-0.6,0-1.3,0-1.9,0.1l-1.6,0l0-1.3l2.8-0.1c0.8,0,1.5,0,2.3-0.1c0.8,0,1.6-0.1,2.4-0.1c-0.1,0.8-0.2,1.5-0.5,2.3 + C126.1,139.1,125.8,139.8,125.3,140.4z M132.5,151.5l-10.3,0.3l-0.2-6.3l1.5,0l0,1.4l7.2-0.2l0-1.5l1.5,0L132.5,151.5z + M130.9,150.2l-0.1-2.2l-7.2,0.2l0.1,2.2L130.9,150.2z M127.7,140.5l0-1.4l2.9-0.1l-0.1-3.7l1.5,0l0.3,8.9l-1.5,0l-0.1-3.8 + L127.7,140.5z"/> + </g> + <g> + <defs> + <rect id="SVGID_9_" width="242.8" height="171.3"/> + </defs> + <clipPath id="SVGID_10_"> + <use xlink:href="#SVGID_9_" style="overflow:visible;"/> + </clipPath> + <path class="st8" d="M123.7,150.4l-0.1-2.2l7.2-0.2l0.1,2.2L123.7,150.4z M132.3,145.1l-1.5,0l0,1.5l-7.2,0.2l0-1.4l-1.5,0 + l0.2,6.3l10.3-0.3L132.3,145.1z M130.6,140.4l0.1,3.8l1.5,0l-0.3-8.9l-1.5,0l0.1,3.7l-2.9,0.1l0,1.4L130.6,140.4z M126.4,138.4 + c0.3-0.7,0.5-1.5,0.5-2.3c-0.8,0-1.6,0.1-2.4,0.1c-0.8,0-1.5,0-2.3,0.1l-2.8,0.1l0,1.3l1.6,0c0.6,0,1.3,0,1.9-0.1 + c0.6,0,1.3-0.1,1.9-0.1c-0.1,0.6-0.4,1.2-0.8,1.8c-0.4,0.6-0.9,1.2-1.5,1.7c-0.6,0.6-1.2,1.1-1.9,1.5c-0.7,0.5-1.5,0.8-2.3,1.1 + l1.1,1.1c0.7-0.3,1.6-0.7,2.4-1.3c0.9-0.6,1.7-1.3,2.4-2c0.5,0.6,1.1,1.1,1.8,1.5c0.7,0.5,1.3,0.9,2,1.2l0.9-1.2 + c-0.3-0.1-0.7-0.3-1-0.5c-0.3-0.2-0.7-0.4-1-0.6c-0.3-0.2-0.7-0.5-1-0.7c-0.3-0.3-0.6-0.5-0.8-0.8 + C125.7,139.8,126.1,139.1,126.4,138.4z"/> + </g> + <g> + <path d="M145.7,141.1c0-0.9,0-1.8-0.1-2.8c0-1-0.1-1.9-0.2-2.8l-9.1,1.2l-0.2-1.3l10.6-1.4c0.1,0.6,0.1,1.3,0.2,1.9 + c0.1,0.6,0.1,1.3,0.1,1.8c0,0.6,0.1,1.2,0.1,1.7c0,0.5,0,1,0,1.5l3-0.4l0.2,1.3l-15.6,2.1l-0.2-1.3L145.7,141.1z M149.2,149.5 + l-10.8,1.5l-0.7-5.4l1.5-0.2l0.6,4.1l9.3-1.3L149.2,149.5z"/> + </g> + <g> + <defs> + <rect id="SVGID_11_" width="242.8" height="171.3"/> + </defs> + <clipPath id="SVGID_12_"> + <use xlink:href="#SVGID_11_" style="overflow:visible;"/> + </clipPath> + <path class="st9" d="M149,148.2l-9.3,1.3l-0.6-4.1l-1.5,0.2l0.7,5.4l10.8-1.5L149,148.2z M134.6,142.6l0.2,1.3l15.6-2.1l-0.2-1.3 + l-3,0.4c0-0.4,0-0.9,0-1.5c0-0.5-0.1-1.1-0.1-1.7c0-0.6-0.1-1.2-0.1-1.8c-0.1-0.6-0.1-1.3-0.2-1.9l-10.6,1.4l0.2,1.3l9.1-1.2 + c0.1,0.9,0.2,1.8,0.2,2.8c0,1,0.1,1.9,0.1,2.8L134.6,142.6z"/> + </g> + <g> + <path d="M155.2,132c0.1,0.5,0.2,1,0.3,1.5c0.1,0.5,0.1,1,0.1,1.5c0.7,0.8,1.5,1.4,2.4,1.9c0.9,0.5,1.8,0.9,2.9,1.1l-0.7,1.3 + c-0.9-0.2-1.8-0.6-2.6-1c-0.8-0.5-1.5-1-2.2-1.6c-0.2,1-0.5,1.9-1,2.8c-0.5,0.9-1.1,1.6-1.9,2.3l-1.3-0.7c1.3-1.2,2.1-2.5,2.6-4 + c0.4-1.4,0.4-3-0.2-4.7L155.2,132z M165.8,142.8c0.1,0.4,0.1,0.9,0,1.3c-0.1,0.4-0.4,0.8-0.7,1.2s-0.9,0.7-1.5,1.1 + c-0.6,0.3-1.4,0.6-2.2,0.8c-0.9,0.2-1.7,0.3-2.4,0.3c-0.7,0-1.3-0.1-1.8-0.2c-0.5-0.2-0.9-0.4-1.2-0.7c-0.3-0.3-0.5-0.7-0.6-1.1 + c-0.1-0.4-0.1-0.9,0-1.3c0.1-0.4,0.4-0.8,0.7-1.2c0.4-0.4,0.9-0.7,1.5-1.1c0.6-0.3,1.4-0.6,2.2-0.8c0.9-0.2,1.7-0.3,2.4-0.3 + c0.7,0,1.3,0.1,1.8,0.2s0.9,0.4,1.2,0.7C165.5,142,165.7,142.3,165.8,142.8z M164.3,143.2c-0.1-0.2-0.2-0.5-0.4-0.6 + c-0.2-0.2-0.5-0.3-0.8-0.4c-0.4-0.1-0.8-0.1-1.3-0.1c-0.5,0-1.1,0.1-1.7,0.3c-0.6,0.2-1.2,0.3-1.6,0.6c-0.4,0.2-0.8,0.5-1.1,0.7 + c-0.3,0.3-0.4,0.5-0.5,0.8c-0.1,0.3-0.1,0.5,0,0.8c0.1,0.2,0.2,0.4,0.4,0.6c0.2,0.2,0.5,0.3,0.8,0.4c0.4,0.1,0.8,0.1,1.3,0.1 + c0.5,0,1.1-0.1,1.7-0.3c0.6-0.2,1.2-0.4,1.6-0.6c0.4-0.2,0.8-0.4,1.1-0.7c0.3-0.2,0.4-0.5,0.5-0.8 + C164.3,143.7,164.3,143.4,164.3,143.2z M158.9,135.7l-0.3-1.3l3.2-0.8l-0.9-3.4l1.5-0.4l2.4,9.6l-1.5,0.4l-1.2-4.8L158.9,135.7z" + /> + </g> + <path class="st10" d="M164.2,143.9c-0.1,0.3-0.3,0.5-0.5,0.8c-0.3,0.2-0.6,0.5-1.1,0.7c-0.4,0.2-1,0.4-1.6,0.6 + c-0.6,0.2-1.2,0.2-1.7,0.3c-0.5,0-0.9,0-1.3-0.1c-0.4-0.1-0.6-0.2-0.8-0.4s-0.3-0.4-0.4-0.6c-0.1-0.2,0-0.5,0-0.8 + c0.1-0.3,0.3-0.5,0.5-0.8c0.3-0.3,0.6-0.5,1.1-0.7c0.4-0.2,1-0.4,1.6-0.6c0.6-0.2,1.2-0.2,1.7-0.3c0.5,0,0.9,0,1.3,0.1 + c0.4,0.1,0.6,0.2,0.8,0.4c0.2,0.2,0.3,0.4,0.4,0.6C164.3,143.4,164.3,143.7,164.2,143.9z M165.2,141.6c-0.3-0.3-0.7-0.6-1.2-0.7 + c-0.5-0.2-1.1-0.2-1.8-0.2c-0.7,0-1.5,0.1-2.4,0.3c-0.9,0.2-1.6,0.5-2.2,0.8c-0.6,0.3-1.1,0.7-1.5,1.1c-0.4,0.4-0.6,0.8-0.7,1.2 + c-0.1,0.4-0.1,0.9,0,1.3c0.1,0.4,0.3,0.8,0.6,1.1c0.3,0.3,0.7,0.6,1.2,0.7c0.5,0.2,1.1,0.2,1.8,0.2c0.7,0,1.5-0.1,2.4-0.3 + c0.9-0.2,1.6-0.5,2.2-0.8c0.6-0.3,1.1-0.7,1.5-1.1c0.4-0.4,0.6-0.8,0.7-1.2c0.1-0.4,0.1-0.9,0-1.3 + C165.7,142.3,165.5,141.9,165.2,141.6z M162.1,134.9l1.2,4.8l1.5-0.4l-2.4-9.6l-1.5,0.4l0.9,3.4l-3.2,0.8l0.3,1.3L162.1,134.9z + M153.7,132.4c0.5,1.7,0.6,3.3,0.2,4.7c-0.4,1.4-1.3,2.7-2.6,4l1.3,0.7c0.8-0.7,1.4-1.5,1.9-2.3c0.5-0.9,0.8-1.8,1-2.8 + c0.6,0.6,1.4,1.2,2.2,1.6c0.8,0.5,1.7,0.8,2.6,1l0.7-1.3c-1.1-0.2-2.1-0.6-2.9-1.1c-0.9-0.5-1.6-1.1-2.4-1.9c0-0.5,0-1-0.1-1.5 + c-0.1-0.5-0.2-1-0.3-1.5L153.7,132.4z"/> + <path class="st11" d="M46.7,33.5c-0.9-2.2-1.7-3.7-2.4-4.9l-5.2,3.1l-0.9-1.6l7.1-4.3L46,27c0.8,1.3,1.8,3,2.8,5.5L46.7,33.5z + M46.7,35.9c1.3-0.8,2.6-1.7,3.8-2.6l1,1.4c-2.5,2.2-5.6,4.1-8,5.5l-1.2-1.5c0.8-0.5,1.6-1,2.5-1.5L42.3,33l1.9-1.2L46.7,35.9z + M53.8,28.7L52,29.8l4,6.6l-2,1.2l-8.3-13.9l2-1.2l3.3,5.6l1.9-1.1L53.8,28.7z"/> + <path class="st11" d="M65,18.5l-8.8,3.4l-0.7-1.7l3.3-1.3l-0.5-1.4l2.2-0.8l0.5,1.4l3.3-1.3L65,18.5z M62.9,26.3 + c-2.2,0.8-4.1,0.3-4.8-1.4c-0.6-1.6,0.5-3.4,2.6-4.2c2.2-0.8,4.1-0.3,4.7,1.3C66.1,23.7,65.1,25.4,62.9,26.3 M62.3,24.6 + c1-0.4,1.5-1,1.2-1.8c-0.3-0.8-1.1-0.9-2.1-0.5c-1,0.4-1.5,1-1.2,1.8C60.5,24.9,61.3,25,62.3,24.6 M60.7,28.3l10-3.8l1.9,5 + l-2.2,0.8L69.2,27l-7.9,3L60.7,28.3z M71,19.3L69,20l1.5,3.8l-2.2,0.8l-3.6-9.4l2.2-0.8l1.5,3.9l2-0.8L71,19.3z"/> + <path class="st11" d="M83,11.6c1.1,4.8,0.4,9.1-4.5,13.1l-1.6-1.5c3.5-2.9,4.7-5.7,4.2-9.3l-5.2,1.2l-0.4-1.8L83,11.6z M87.3,8.9 + L91,24.6l-2.3,0.5L85,9.4L87.3,8.9z"/> + <path class="st11" d="M103.3,14.8l0.1,1l4.3-0.5l0.5,4.2l-8.8,1l0.1,0.9l9.2-1l0.2,1.7l-11.4,1.3L97,19.2l8.8-1l-0.1-0.9l-8.8,1 + l-0.2-1.7l4.4-0.5l-0.1-1l-6.1,0.7L94.7,14l14.4-1.6l0.2,1.8L103.3,14.8z M107.6,11.8c-2.8,0-4.9-0.8-6.1-2.1 + c-0.8,1.6-2.7,2.9-5.4,3.5l-0.9-1.6c3.6-0.8,5.1-2.6,4.9-4.1l0-0.3l2.4-0.3l0,0.3c0.2,1.5,2.1,3,5.7,2.9L107.6,11.8z"/> + <path class="st11" d="M122.7,14.8c-1.8-0.6-3-1.7-3.7-3.1c-0.7,1.6-1.9,3-3.8,3.6l-1.2-1.8c2.5-0.9,3.7-3,3.7-5l-3.2,0l0-1.9 + l8.6-0.1l0,1.9l-3.1,0c0.1,1.8,1.2,3.7,3.7,4.5L122.7,14.8z M127.6,18.7c0,2-2.1,3.1-5.5,3.2c-3.4,0-5.5-1.1-5.5-3.1 + c0-2,2.1-3.1,5.5-3.2C125.5,15.6,127.6,16.7,127.6,18.7 M125.3,18.7c0-0.9-1.1-1.3-3.2-1.3c-2.1,0-3.2,0.5-3.2,1.4 + c0,0.9,1.1,1.3,3.2,1.3C124.2,20.1,125.3,19.6,125.3,18.7 M125.2,9.5l0-3.9l2.3,0l0.1,9.6l-2.3,0l0-3.8l-2.4,0l0-1.9L125.2,9.5z" + /> + <path class="st11" d="M147.4,19.7l-0.2,1.9l-14.5-1.5l0.2-1.9l6.1,0.6l0.3-2.9l-4.6-0.5l0.8-8.4l2.3,0.2l-0.3,2.5l6.8,0.7l0.3-2.5 + l2.3,0.2l-0.8,8.4l-4.5-0.5l-0.3,2.9L147.4,19.7z M137.2,13.8l6.9,0.7l0.2-2.2l-6.8-0.7L137.2,13.8z"/> + <path class="st11" d="M166.6,19.5l-0.4,1.8L152,18.1l0.4-1.8l6,1.3l0.2-1l-4.2-0.9l1.5-6.7l10.8,2.4l-0.4,1.7l-8.6-1.9l-0.2,0.8 + l8.2,1.8l-0.4,1.6l-8.2-1.8l-0.2,0.9l8.7,1.9l-0.4,1.7l-4.5-1l-0.2,1L166.6,19.5z M163.8,24.2c-0.4,1.7-2.6,2.1-6,1.4 + c-3.4-0.8-5.2-2.1-4.9-3.8c0.4-1.7,2.6-2.1,6-1.4C162.4,21.1,164.2,22.5,163.8,24.2 M161.6,23.7c0.1-0.7-0.8-1.1-3-1.6 + c-2.2-0.5-3.2-0.4-3.4,0.2c-0.1,0.7,0.8,1.2,3,1.6C160.3,24.4,161.4,24.3,161.6,23.7"/> + <path class="st11" d="M182.2,30.8l-0.6,1.7l-10.4-3.8l1.8-4.9l2.2,0.8l-1.2,3.2L182.2,30.8z M179,24.7c-1.5-1.2-2.2-2.7-2.3-4.4 + c-1.2,1.3-2.9,2.1-4.9,2.1l-0.5-2.1c2.8,0.1,4.7-1.7,5.4-3.7l0.5-1.5l2.2,0.8l-0.5,1.5c-0.7,2-0.4,4.3,1.8,6L179,24.7z + M182.6,28.6l-2.2-0.8l4-11l2.2,0.8L182.6,28.6z"/> + <path class="st11" d="M200.7,37.4l-5.4-3.1l-2.5,4.4l-2-1.1l2.5-4.4l-5.3-3l0.9-1.6l12.7,7.2L200.7,37.4z M200.8,33.6l-9.7-5.5 + l3.5-6.2l2,1.1l-0.9,1.6l5.8,3.3l0.9-1.6l2,1.1L200.8,33.6z M200.6,29.4l-5.8-3.3l-0.8,1.4l5.8,3.3L200.6,29.4z"/> + <polygon class="st12" points="77.1,93.1 69.5,93.1 68.4,67.9 52.2,93.1 44.5,93.1 44.4,51.7 54,51.7 53.4,77.8 69.8,51.7 + 76.7,51.7 77.4,77.8 92.6,51.7 102.2,51.7 "/> + <path class="st12" d="M108.4,93.4l0.1-7.3H97L93,93.4H81.9l25-41.5h10.9l1.8,41.5H108.4z M109.1,64.1l-8.5,15.1h8.3L109.1,64.1z" + /> + <rect class="st13" width="242.8" height="171.3"/> + <g> + <path class="st14" d="M22.4,136.9c0,0,0-0.1-0.1-0.1l-1.3-1.1c0,0-0.1,0-0.1,0c0,0-0.1,0-0.1,0.1l-0.5,0.6l-3.7-3.2l0.4-0.5 + c0.1-0.1,0-0.2,0-0.2l-1.3-1.1c0,0-0.1,0-0.1,0c0,0-0.1,0-0.1,0.1l-2.9,3.4c-0.1,0.1,0,0.2,0,0.2l6.6,5.7c0,0,0.1,0,0.1,0 + c0,0,0,0,0,0c0,0,0.1,0,0.1-0.1l3-3.5C22.4,136.9,22.4,136.9,22.4,136.9z M15,134.8l0.4-0.5l3.8,3.2l-0.4,0.5L15,134.8z"/> + <path class="st14" d="M19.1,131.3c-0.1-0.1-0.2,0-0.2,0l-0.8,0.9c-0.1,0.1,0,0.2,0,0.2l1.3,1.1l-0.3,0.4c-0.1,0.1,0,0.2,0,0.2 + l1.2,1c0,0,0.1,0,0.1,0c0,0,0,0,0,0c0,0,0.1,0,0.1-0.1l5.6-6.6c0.1-0.1,0-0.2,0-0.2l-1.2-1c0,0-0.1,0-0.1,0c0,0-0.1,0-0.1,0.1 + l-4.3,5L19.1,131.3z"/> + <path class="st14" d="M18.2,127.8c0.2,0.3,0.5,0.6,0.8,0.9c0.3,0.3,0.7,0.5,1,0.6c0.3,0.1,0.7,0.2,1,0.2c0,0,0,0,0.1,0 + c0.3,0,0.6-0.1,0.9-0.2c0.3-0.1,0.6-0.3,0.8-0.6c0.2-0.3,0.4-0.6,0.5-0.9c0.1-0.3,0.1-0.7,0-1c-0.1-0.3-0.2-0.7-0.4-1 + c-0.2-0.3-0.4-0.6-0.8-0.9c-0.3-0.3-0.6-0.5-1-0.6c-0.3-0.1-0.7-0.2-1-0.2c0,0,0,0,0,0c-0.3,0-0.7,0.1-1,0.2 + c-0.3,0.1-0.6,0.3-0.8,0.6c-0.2,0.3-0.4,0.6-0.5,0.9c-0.1,0.3-0.1,0.6,0,1C17.9,127.2,18,127.5,18.2,127.8z M19.6,126.9 + c0-0.2,0-0.4,0.2-0.6c0.2-0.2,0.3-0.3,0.6-0.3c0.2,0,0.5,0.1,0.7,0.3c0.2,0.2,0.4,0.4,0.4,0.7c0,0.2,0,0.4-0.2,0.6 + c-0.2,0.2-0.3,0.3-0.6,0.3c-0.2,0-0.5-0.1-0.7-0.3C19.7,127.3,19.6,127.1,19.6,126.9z"/> + <path class="st14" d="M16.7,129.2c0.1,0.1,0.3,0.2,0.4,0.3l-1.3,1.5c0,0,0,0.1,0,0.1c0,0,0,0.1,0.1,0.1l1.2,1c0,0,0.1,0,0.1,0 + c0,0,0.1,0,0.1-0.1l1.4-1.6c0.3,0.2,0.6,0.4,0.9,0.6c0.3,0.2,0.7,0.4,1,0.7c0.1,0,0.1,0,0.2,0l0.9-1c0,0,0-0.1,0-0.1 + c0,0,0-0.1-0.1-0.1c-0.4-0.2-0.7-0.5-1.1-0.8c-0.4-0.3-0.7-0.5-1.1-0.8c-0.4-0.3-0.7-0.5-1.1-0.8c-0.3-0.3-0.7-0.5-0.9-0.8 + l-1.1-0.9c-0.1-0.1-0.2,0-0.2,0l-0.9,1c-0.1,0.1,0,0.2,0,0.2L16.7,129.2z"/> + <path class="st14" d="M21.2,135.5c0,0,0,0.1,0.1,0.1l1.2,1.1c0,0,0.1,0,0.1,0c0,0,0.1,0,0.1-0.1l5.5-6.5c0,0,0-0.1,0-0.1 + c0,0,0-0.1-0.1-0.1l-1.2-1.1c-0.1-0.1-0.2,0-0.2,0l-5.5,6.5C21.2,135.4,21.2,135.4,21.2,135.5z"/> + <path class="st14" d="M34,142.6c0,0,0.1,0,0.1,0c0,0,0.1,0,0.1-0.1l0.9-1.3c0-0.1,0-0.2,0-0.2l-1.5-1l2.9-4.2c0,0,0-0.1,0-0.1 + c0,0,0-0.1-0.1-0.1l-1.4-1c0,0-0.1,0-0.1,0c0,0-0.1,0-0.1,0.1L27,146.1c0,0,0,0.1,0,0.1c0,0,0,0.1,0.1,0.1l1.4,1c0,0,0.1,0,0.1,0 + c0,0,0.1,0,0.1-0.1l3.9-5.6L34,142.6z"/> + <path class="st14" d="M28.5,143.5C28.6,143.5,28.6,143.5,28.5,143.5c0.1,0,0.2,0,0.2-0.1l0.9-1.2c0,0,0-0.1,0-0.1 + c0,0,0-0.1-0.1-0.1c-0.5-0.2-0.9-0.5-1.4-0.8c-0.4-0.2-0.9-0.5-1.3-0.8l0.9-1.4c0.3,0.1,0.7,0.2,1,0.2c0.4,0,0.8,0,1.1-0.2 + c0.4-0.1,0.7-0.3,1-0.5c0.3-0.2,0.6-0.5,0.8-0.9c0.3-0.4,0.5-0.9,0.6-1.3c0.1-0.5,0.1-0.9,0-1.4c-0.1-0.4-0.3-0.9-0.5-1.3 + c-0.3-0.4-0.6-0.7-1-1c-0.4-0.3-0.9-0.5-1.3-0.6c-0.5-0.1-0.9-0.1-1.4,0c-0.4,0.1-0.9,0.2-1.3,0.5c-0.4,0.3-0.7,0.6-1,1 + c-0.2,0.4-0.4,0.7-0.5,1.1c-0.1,0.4-0.1,0.8-0.1,1.2c0,0.4,0.1,0.8,0.3,1.1c0.1,0.3,0.3,0.6,0.6,0.9l-1,1.4 + c-0.2-0.1-0.4-0.3-0.6-0.4l-2.1-1.5c-0.1,0-0.2,0-0.2,0l-0.9,1.3c0,0.1,0,0.2,0,0.2l1.5,1c0.4,0.3,0.9,0.6,1.4,0.9 + c0.5,0.3,1,0.6,1.5,0.9c0.5,0.3,1,0.6,1.5,0.9C27.6,143,28.1,143.3,28.5,143.5z M27.5,134.8c0.3-0.5,0.7-0.7,1.1-0.8 + c0.1,0,0.2,0,0.3,0c0.3,0,0.6,0.1,0.9,0.3c0.4,0.3,0.6,0.6,0.7,1c0.1,0.4-0.1,0.9-0.4,1.3c-0.3,0.5-0.7,0.7-1.1,0.8 + c-0.4,0.1-0.8,0-1.2-0.3c-0.4-0.3-0.6-0.6-0.7-1C27.1,135.7,27.2,135.3,27.5,134.8z"/> + <path class="st14" d="M41.1,141.1C41.2,141.1,41.2,141.1,41.1,141.1c0.1,0,0.1,0,0.1,0c0,0,0.1,0,0.1-0.1l0.8-1.4 + c0-0.1,0-0.2-0.1-0.2l-3.8-2.1c-0.1,0-0.2,0-0.2,0.1l-0.8,1.4c0,0,0,0.1,0,0.1c0,0,0,0.1,0.1,0.1L41.1,141.1z"/> + <path class="st14" d="M46.5,141.3l-1.5-0.9c0,0-0.1,0-0.1,0c0,0-0.1,0-0.1,0.1l-6.8,12.1c0,0,0,0.1,0,0.1c0,0,0,0.1,0.1,0.1 + l1.5,0.9c0,0,0.1,0,0.1,0c0.1,0,0.1,0,0.1-0.1l6.8-12.1C46.6,141.5,46.5,141.4,46.5,141.3z"/> + <path class="st14" d="M38,149.6l1.7-0.6c0,0,0.1,0,0.1-0.1c0,0,0-0.1,0-0.1c-0.3-0.7-0.5-1.3-0.7-1.9c-0.2-0.6-0.3-1.2-0.4-1.9 + c0.6-0.3,1.1-0.7,1.6-1.2c0.5-0.5,1-1,1.4-1.6c0,0,0-0.1,0-0.1c0,0,0-0.1-0.1-0.1c-0.7-0.4-1.3-0.7-1.9-1l-3.6-2 + c-0.1,0-0.2,0-0.2,0.1l-0.8,1.4c0,0,0,0.1,0,0.1c0,0,0,0.1,0.1,0.1l2.6,1.5c0.3,0.2,0.6,0.3,0.9,0.5c-0.3,0.3-0.6,0.6-1,0.8 + c-0.5,0.3-1.1,0.6-1.7,0.8c-0.6,0.2-1.3,0.4-2,0.5c-0.7,0.1-1.4,0.2-2.2,0.1c0,0-0.1,0-0.1,0.1c0,0,0,0.1,0,0.1l0.4,1.6 + c0,0.1,0.1,0.1,0.2,0.1c0,0,0,0,0,0c0.8,0,1.6-0.1,2.4-0.2c0.7-0.1,1.5-0.3,2.2-0.6c0.1,0.6,0.2,1.2,0.3,1.7 + c0.2,0.6,0.4,1.2,0.7,1.9C37.8,149.6,37.9,149.6,38,149.6C38,149.6,38,149.6,38,149.6z"/> + <path class="st14" d="M62.8,149.5c0,0,0-0.1-0.1-0.1l-1.7-0.7c-0.1,0-0.1,0-0.2,0.1l-4.6,6.8l-0.1,0.2l1.5-8.4 + c0-0.1,0-0.1-0.1-0.2l-1.9-0.8c-0.1,0-0.1,0-0.2,0.1l-4.7,6.8l-0.1,0.2l1.6-8.4c0-0.1,0-0.1-0.1-0.2l-0.8-0.3 + c0.3-0.2,0.5-0.3,0.8-0.5c0.1,0,0.1-0.1,0.1-0.1c0-0.1,0-0.1-0.1-0.1l-1.3-0.6c0,0-0.1,0-0.1,0c-0.6,0.3-1.2,0.6-1.8,0.9 + c-0.6,0.3-1.1,0.7-1.6,1.2c-0.5,0.4-1,0.9-1.4,1.4c-0.4,0.5-0.8,1.1-1,1.7c-0.3,0.6-0.5,1.2-0.6,1.8c-0.1,0.7-0.2,1.3-0.3,2 + c0,0.7,0,1.3,0.1,2c0.1,0.7,0.2,1.3,0.4,1.9c0,0,0,0.1,0.1,0.1l1.3,0.6c0.1,0,0.1,0,0.2,0c0,0,0.1-0.1,0.1-0.1 + c-0.2-1.6-0.3-2.9-0.1-4.1c0.2-1.2,0.5-2.3,0.9-3.2c0.2-0.5,0.5-0.9,0.8-1.4c0.3-0.5,0.7-0.9,1.1-1.3c0.4-0.4,0.8-0.8,1.3-1.1 + l-1.6,10.6c0,0.1,0,0.1,0.1,0.2l1.8,0.7c0.1,0,0.1,0,0.2-0.1l4.8-6.9l0.1-0.2l-1.5,8.6c0,0.1,0,0.1,0.1,0.2l1.8,0.7 + c0,0,0,0,0.1,0c0,0,0.1,0,0.1-0.1l6.9-9.6C62.8,149.6,62.8,149.5,62.8,149.5z"/> + <path class="st14" d="M72.5,155.7c-0.3-0.3-0.7-0.5-1.1-0.6c-0.4-0.1-0.9-0.2-1.3-0.1c-0.3,0-0.6,0.1-0.9,0.3l1.2-4.2 + c0,0,0-0.1,0-0.1c0,0-0.1-0.1-0.1-0.1l-1.7-0.5c-0.1,0-0.2,0-0.2,0.1l-1.6,5.3c0-0.3-0.1-0.6-0.2-0.9c-0.3-0.9-1.1-1.6-2.2-2 + c-0.6-0.2-1.1-0.3-1.7-0.2c-0.5,0.1-1,0.2-1.5,0.5c-0.5,0.3-0.9,0.6-1.2,1.1c-0.4,0.5-0.7,1-0.9,1.7c-0.2,0.7-0.3,1.3-0.3,1.9 + c0,0.6,0.1,1.1,0.3,1.6c0.2,0.5,0.5,0.9,0.9,1.3c0.4,0.4,0.9,0.6,1.4,0.8c0.6,0.2,1.3,0.3,1.9,0.3c0.6,0,1.1-0.1,1.5-0.4 + c0,0,0.1,0,0.1-0.1l0.5-1.4c0-0.1,0-0.2-0.1-0.3c-0.1-0.1-0.2-0.1-0.3-0.1c-0.4,0.2-0.9,0.3-1.4,0.4c-0.5,0.1-0.9,0-1.4-0.2 + c-0.6-0.2-1-0.5-1.3-1c-0.2-0.5-0.3-1-0.1-1.7l5,1.7l-1,3.5c0,0,0,0.1,0,0.1c0,0,0.1,0.1,0.1,0.1l1.6,0.5c0.1,0,0.2,0,0.2-0.1 + l0.2-0.5c0.1,0.3,0.3,0.5,0.5,0.7c0.3,0.3,0.7,0.5,1.1,0.6c0.3,0.1,0.7,0.1,1,0.1c0.1,0,0.3,0,0.4,0c0.5-0.1,0.9-0.2,1.4-0.5 + c0.4-0.3,0.8-0.7,1.1-1.2c0.3-0.5,0.6-1.1,0.8-1.9c0.2-0.7,0.3-1.3,0.3-1.9c0-0.6-0.1-1.1-0.3-1.5 + C73.1,156.3,72.8,155.9,72.5,155.7z M71.2,159.6c-0.3,0.9-0.6,1.6-1.1,2c-0.4,0.4-0.9,0.5-1.4,0.3c-0.5-0.1-0.8-0.4-1-0.8 + c-0.2-0.4-0.2-0.9,0-1.5l0.4-1.3c0.1-0.3,0.2-0.6,0.4-0.8c0.2-0.2,0.4-0.4,0.6-0.6c0.2-0.1,0.4-0.2,0.7-0.3c0.1,0,0.2,0,0.3,0 + c0.1,0,0.3,0,0.4,0.1c0.4,0.1,0.7,0.4,0.9,0.9C71.5,158.1,71.5,158.7,71.2,159.6z M61.5,155.5c0.3-0.4,0.6-0.8,1-1 + c0.4-0.2,0.8-0.2,1.3-0.1c0.5,0.2,0.8,0.4,0.9,0.8c0.1,0.4,0.1,0.8,0,1.3L61.5,155.5z"/> + <path class="st14" d="M87.1,156c0,0-0.1-0.1-0.1-0.1l-1.8-0.4c-0.1,0-0.1,0-0.2,0.1l-3.4,7.5l-0.1,0.3l0.1-8.5 + c0-0.1,0-0.1-0.1-0.2l-2-0.5c-0.1,0-0.1,0-0.2,0.1l-3.5,7.5l-0.1,0.3l0.2-8.5c0-0.1,0-0.1-0.1-0.2l-1.8-0.4c0,0-0.1,0-0.1,0 + c0,0-0.1,0.1-0.1,0.1l0.1,11.9c0,0.1,0.1,0.1,0.1,0.1l1.9,0.4c0.1,0,0.1,0,0.2-0.1l3.6-7.6l0.1-0.3l-0.1,8.7c0,0.1,0,0.1,0.1,0.2 + l1.9,0.4c0,0,0,0,0,0c0.1,0,0.1,0,0.1-0.1l5.3-10.6C87.2,156.1,87.2,156.1,87.1,156z"/> + <path class="st14" d="M107.4,170.5c0.1,0,0.1-0.1,0.2-0.1l0.5-5.2c0.1-1.2-0.1-2.1-0.5-2.7c-0.4-0.6-1.1-1-2.1-1.1 + c-0.5,0-1,0-1.4,0.3c-0.3,0.1-0.6,0.3-0.8,0.5l0.4-4.5c0,0,0-0.1,0-0.1c0,0-0.1-0.1-0.1-0.1l-1.8-0.2c-0.1,0-0.2,0.1-0.2,0.1 + l-0.4,4.1c-0.2-0.2-0.5-0.3-0.7-0.5c-0.4-0.2-0.9-0.3-1.3-0.4c-0.6-0.1-1.2,0-1.8,0.1c-0.5,0.1-1,0.4-1.4,0.7l0.1-0.8 + c0,0,0-0.1,0-0.1s-0.1-0.1-0.1-0.1l-1.8-0.3l0.3-1.8c0,0,0-0.1,0-0.1c0,0-0.1-0.1-0.1-0.1l-1.7-0.3c-0.1,0-0.2,0-0.2,0.1 + l-0.3,1.8l-1.1-0.2c0,0-0.1,0-0.1,0c0,0-0.1,0.1-0.1,0.1l0,0.1c-0.4-0.5-1-0.8-1.9-0.9c-0.6-0.1-1.2-0.1-1.8,0 + c-0.5,0.1-1.1,0.3-1.6,0.5c0,0-0.1,0.1-0.1,0.1l-0.3,1.6c0,0.1,0,0.2,0.1,0.3c0.1,0.1,0.2,0.1,0.3,0c0.5-0.3,1-0.5,1.5-0.6 + c0.4-0.1,0.9-0.1,1.3,0c0.4,0.1,0.7,0.2,0.8,0.4c0.1,0.2,0.1,0.6,0.1,1l-2.1,0c-0.9,0-1.7,0.2-2.3,0.6c-0.6,0.4-1,1.1-1.1,1.9 + c-0.1,0.8,0,1.5,0.4,2.1c0.4,0.5,1,0.9,1.9,1.1c0.5,0.1,1,0.1,1.5-0.1c0.3-0.1,0.6-0.3,0.9-0.5l-0.1,0.7c0,0.1,0,0.2,0.1,0.2 + l1.5,0.3c0.1,0,0.2,0,0.2-0.1l1-5.6c0.1-0.4,0.1-0.8,0.1-1.2l0.5,0.1l-0.7,4.8c-0.1,0.8,0,1.4,0.3,1.8c0.3,0.4,0.8,0.7,1.6,0.8 + c0.3,0,0.7,0.1,1,0c0.3,0,0.6-0.1,0.9-0.3c0,0,0.1-0.1,0.1-0.1l0.1-0.5c0,0,0.1,0.1,0.1,0.1c0.3,0.4,0.7,0.8,1.2,1 + c0.5,0.3,1.1,0.4,1.7,0.5c0.5,0.1,1,0.1,1.4,0c0.3-0.1,0.7-0.2,1-0.4l0,0.4c0,0.1,0.1,0.2,0.1,0.2l1.8,0.2c0.1,0,0.2-0.1,0.2-0.1 + l0.4-4.6c0-0.4,0.1-0.7,0.2-1c0.1-0.3,0.3-0.5,0.4-0.7c0.2-0.2,0.4-0.3,0.6-0.4c0.2-0.1,0.4-0.1,0.7-0.1c0.4,0,0.7,0.2,0.9,0.4 + c0.2,0.3,0.3,0.7,0.2,1.4l-0.5,5.3c0,0,0,0.1,0,0.1s0.1,0.1,0.1,0.1L107.4,170.5C107.4,170.5,107.4,170.5,107.4,170.5z + M98.4,167.9c-0.7-0.1-1.3-0.4-1.5-0.9c-0.3-0.5-0.4-1.2-0.3-2.1c0-0.4,0.1-0.8,0.3-1.1c0.1-0.3,0.3-0.6,0.5-0.8 + c0.2-0.2,0.4-0.4,0.7-0.5c0.2-0.1,0.4-0.1,0.6-0.1c0.1,0,0.2,0,0.3,0c0.4,0.1,0.8,0.2,1.1,0.4c0.3,0.2,0.6,0.5,0.8,0.8 + c0,0,0,0,0,0.1l-0.3,3.3c0,0-0.1,0-0.1,0.1c-0.3,0.3-0.7,0.6-1,0.7C99.2,168,98.8,168,98.4,167.9z M94.5,166.7 + c0,0.2,0.1,0.3,0.1,0.4c-0.1,0.1-0.2,0.1-0.3,0.1c-0.2,0-0.4,0-0.6,0c-0.2,0-0.3-0.1-0.4-0.2c-0.1-0.1-0.1-0.3,0-0.5l0.7-4.6 + l1.4,0.2c-0.2,0.2-0.4,0.5-0.5,0.8c-0.3,0.5-0.4,1.2-0.5,1.9C94.3,165.5,94.4,166.1,94.5,166.7z M86,165c0.1-0.4,0.2-0.7,0.5-0.9 + c0.3-0.2,0.6-0.3,1-0.3c0,0,0.1,0,0.1,0l1.6,0l-0.1,0.7c0,0.2-0.1,0.4-0.3,0.6c-0.1,0.2-0.3,0.4-0.5,0.5 + c-0.2,0.1-0.4,0.3-0.7,0.3c-0.2,0.1-0.5,0.1-0.7,0c-0.3-0.1-0.6-0.2-0.7-0.4C85.9,165.6,85.9,165.3,86,165z"/> + <path class="st14" d="M111.4,161.3C111.4,161.3,111.4,161.3,111.4,161.3c-0.2-0.6-0.5-1.2-0.8-1.8c-0.3-0.6-0.7-1.1-1.1-1.7 + c0,0-0.1-0.1-0.1-0.1l-1.4-0.1c-0.1,0-0.1,0-0.1,0.1s0,0.1,0,0.2c0.4,0.7,0.8,1.3,1.1,2c0.3,0.6,0.5,1.2,0.7,1.8 + c0.2,0.6,0.3,1.2,0.3,1.7c0,0.6,0.1,1.1,0,1.6c-0.1,1-0.3,2.1-0.7,3.3c-0.4,1.1-1.1,2.3-2.1,3.6c0,0,0,0.1,0,0.2 + c0,0.1,0.1,0.1,0.1,0.1l1.4,0.1c0,0,0,0,0,0c0,0,0.1,0,0.1,0c0.4-0.4,0.8-0.9,1.2-1.5c0.4-0.5,0.7-1.1,1-1.7 + c0.3-0.6,0.5-1.2,0.7-1.9c0.2-0.6,0.3-1.3,0.3-1.9c0-0.7,0-1.3-0.1-2C111.8,162.5,111.7,161.9,111.4,161.3z"/> + <path class="st14" d="M129.6,164.9c0-2.1-0.4-3.7-1.1-4.6c-0.7-1-1.6-1.5-2.9-1.4c-1.2,0-2.2,0.5-2.8,1.6 + c-0.2,0.4-0.4,0.8-0.6,1.3c-0.1-0.8-0.4-1.5-0.9-2c-0.6-0.5-1.5-0.8-2.6-0.8c-0.6,0-1.2,0.1-1.8,0.3c-0.6,0.2-1.1,0.6-1.5,0.9 + c0,0,0,0.1-0.1,0.1l0,1.5c0,0.2,0.1,0.2,0.1,0.3c0,0,0.2,0.1,0.3-0.1c0.5-0.4,0.9-0.8,1.4-1c0.5-0.2,0.9-0.3,1.4-0.3 + c0.5,0,0.9,0.2,1.1,0.4c0.2,0.3,0.4,0.6,0.3,1.1c0,0.2,0,0.4-0.1,0.7c0,0.2-0.1,0.5-0.3,0.7c-0.1,0.3-0.3,0.5-0.5,0.9 + c-0.2,0.3-0.5,0.7-0.8,1l-3.4,3.8c0,0,0,0.1,0,0.1l0,1.4c0,0.1,0.1,0.2,0.2,0.2l7,0.1c0,0,0,0,0,0c0,0,0.1,0,0.1,0 + c0,0,0-0.1,0-0.1l0-1.5c0-0.1-0.1-0.2-0.2-0.2l-4.6-0.1l2.5-2.7c0.3-0.3,0.6-0.6,0.8-1c0.3-0.3,0.5-0.7,0.7-1 + c0.1-0.2,0.2-0.4,0.3-0.7c0,0.4,0,0.9,0,1.4c0,2.1,0.4,3.7,1.1,4.6c0.7,1,1.6,1.4,2.8,1.4c0,0,0.1,0,0.1,0c1.2,0,2.2-0.5,2.8-1.6 + C129.3,168.6,129.6,167,129.6,164.9z M124.5,168.4c-0.3-0.7-0.5-1.8-0.6-3.4c0-1.6,0.1-2.7,0.4-3.4c0.3-0.7,0.7-1,1.2-1 + c0,0,0,0,0,0c0.5,0,0.9,0.3,1.3,1c0.3,0.7,0.5,1.8,0.6,3.4c0,1.6-0.1,2.7-0.4,3.4c-0.3,0.7-0.7,1-1.2,1 + C125.3,169.3,124.8,169,124.5,168.4z"/> + <path class="st14" d="M136.7,168.6c0,0-0.1,0-0.1,0l-4.6,0.3l2.3-2.9c0.3-0.3,0.5-0.7,0.8-1c0.2-0.3,0.5-0.7,0.6-1.1 + c0.2-0.4,0.3-0.7,0.4-1.1c0.1-0.4,0.1-0.7,0.1-1.1c-0.1-1.1-0.4-1.9-1.1-2.4c-0.6-0.5-1.5-0.7-2.6-0.7c-0.6,0-1.2,0.2-1.8,0.5 + c-0.5,0.3-1,0.6-1.4,1.1c0,0,0,0.1,0,0.1l0.1,1.5c0,0.2,0.1,0.2,0.2,0.2c0,0,0.2,0.1,0.3-0.1c0.4-0.5,0.9-0.8,1.3-1.1 + c0.4-0.2,0.9-0.4,1.4-0.4c0.5,0,0.9,0.1,1.1,0.3c0.3,0.3,0.4,0.6,0.4,1.1c0,0.2,0,0.4,0,0.7c0,0.2-0.1,0.5-0.2,0.7 + c-0.1,0.3-0.3,0.6-0.5,0.9c-0.2,0.3-0.5,0.7-0.8,1.1l-3.1,4c0,0,0,0.1,0,0.1l0.1,1.4c0,0.1,0.1,0.1,0.2,0.1c0,0,0,0,0,0l7-0.4 + c0.1,0,0.2-0.1,0.1-0.2l-0.1-1.5C136.7,168.7,136.7,168.7,136.7,168.6z"/> + <path class="st14" d="M140.6,158.1l-1.8,0.2c0,0-0.1,0-0.1,0.1c-0.2,0.4-0.5,0.7-0.8,1c-0.3,0.3-0.6,0.6-1,0.8 + c-0.1,0-0.1,0.1-0.1,0.1l0.1,1.1c0,0.1,0.1,0.2,0.1,0.2c0.1,0,0.1,0,0.3,0c0.3-0.1,0.6-0.3,0.9-0.5c0.2-0.2,0.4-0.3,0.6-0.5 + l0.9,9.4c0,0.1,0.1,0.1,0.2,0.1c0,0,0,0,0,0l1.8-0.2c0,0,0.1,0,0.1-0.1c0,0,0-0.1,0-0.1l-1.1-11.5 + C140.8,158.2,140.7,158.1,140.6,158.1z"/> + <path class="st14" d="M146.3,167.3C146.3,167.3,146.3,167.3,146.3,167.3c-0.3-0.2-0.6-0.3-1-0.3c-0.4,0-0.7,0.2-0.9,0.5 + c-0.2,0.3-0.3,0.6-0.3,1c0,0.4,0.2,0.7,0.5,0.9c0.2,0.2,0.5,0.3,0.8,0.3c0.1,0,0.1,0,0.2,0c0.4,0,0.7-0.2,0.9-0.5 + c0.2-0.3,0.3-0.6,0.3-1C146.7,167.8,146.5,167.5,146.3,167.3z"/> + <path class="st14" d="M150.3,156.9l-1.8,0.3c0,0-0.1,0-0.1,0.1c-0.2,0.4-0.5,0.7-0.8,1c-0.3,0.3-0.6,0.6-1,0.8 + c-0.1,0-0.1,0.1-0.1,0.2l0.2,1.1c0,0.1,0.1,0.2,0.2,0.2c0.1,0,0.1,0,0.3,0c0.3-0.2,0.6-0.4,0.9-0.6c0.2-0.2,0.4-0.3,0.6-0.5 + l1.4,9.3c0,0,0,0.1,0.1,0.1c0,0,0.1,0,0.1,0c0,0,0,0,0,0l1.8-0.3c0.1,0,0.1-0.1,0.1-0.2l-1.7-11.4 + C150.5,156.9,150.4,156.8,150.3,156.9z"/> + <path class="st14" d="M161.2,165.1l-4.6,0.9l1.9-3.2c0.2-0.4,0.4-0.7,0.6-1.1c0.2-0.4,0.4-0.8,0.5-1.1c0.1-0.4,0.2-0.8,0.3-1.1 + c0-0.4,0-0.8,0-1.1c-0.2-1.1-0.7-1.8-1.4-2.2c-0.7-0.4-1.6-0.5-2.7-0.3c-0.6,0.1-1.2,0.4-1.7,0.7c-0.5,0.3-0.9,0.8-1.3,1.2 + c0,0,0,0.1,0,0.1l0.3,1.4c0,0.2,0.1,0.2,0.2,0.2c0,0,0.2,0,0.3-0.1c0.4-0.5,0.8-1,1.2-1.2c0.4-0.3,0.8-0.5,1.3-0.6 + c0.5-0.1,0.9,0,1.2,0.2c0.3,0.2,0.5,0.6,0.6,1c0,0.2,0.1,0.4,0.1,0.7c0,0.2,0,0.5-0.1,0.8c-0.1,0.3-0.2,0.6-0.3,0.9 + c-0.2,0.3-0.4,0.7-0.6,1.2l-2.6,4.4c0,0,0,0.1,0,0.1l0.3,1.4c0,0,0,0.1,0.1,0.1c0,0,0.1,0,0.1,0c0,0,0,0,0,0l6.9-1.3 + c0,0,0.1,0,0.1-0.1s0-0.1,0-0.1l-0.3-1.5C161.4,165.1,161.3,165.1,161.2,165.1z"/> + <path class="st14" d="M163.6,164.2C163.6,164.2,163.6,164.2,163.6,164.2c-0.3-0.2-0.7-0.3-1.1-0.2c-0.4,0.1-0.7,0.3-0.9,0.6 + c-0.2,0.3-0.3,0.7-0.2,1c0.1,0.4,0.3,0.6,0.6,0.9c0.2,0.1,0.5,0.2,0.7,0.2c0.1,0,0.2,0,0.3,0c0.4-0.1,0.7-0.3,0.9-0.6 + c0.2-0.3,0.3-0.7,0.2-1C164.1,164.7,163.9,164.5,163.6,164.2z"/> + <path class="st14" d="M170.5,158.9L170.5,158.9c-0.3-0.4-0.6-0.8-1-1.1c-0.4-0.3-0.8-0.5-1.2-0.5c-0.5-0.1-0.9-0.1-1.4,0.1 + c-0.5,0.1-0.9,0.3-1.3,0.7c-0.3,0.2-0.5,0.5-0.6,0.8c0-0.4,0-0.7,0-1c0.1-0.5,0.2-0.9,0.3-1.3c0.2-0.4,0.4-0.7,0.6-0.9 + c0.3-0.2,0.5-0.4,0.9-0.5c0.4-0.1,0.8-0.1,1.1-0.1c0.3,0,0.6,0.1,0.9,0.2c0.1,0.1,0.2,0,0.3,0c0.1-0.1,0.1-0.2,0.1-0.3l-0.3-1.4 + c0-0.1-0.1-0.1-0.1-0.1c-0.3-0.1-0.7-0.2-1.1-0.2c-0.4,0-0.9,0-1.3,0.2c-0.7,0.2-1.3,0.5-1.7,0.9c-0.5,0.5-0.8,1-1.1,1.7 + c-0.2,0.7-0.4,1.4-0.4,2.3c0,0.9,0.1,1.8,0.4,2.8c0.2,0.8,0.4,1.5,0.7,2c0.3,0.6,0.7,1.1,1.1,1.5c0.4,0.4,0.9,0.7,1.4,0.8 + c0.2,0.1,0.5,0.1,0.8,0.1c0.3,0,0.7,0,1-0.1c0.5-0.1,1-0.4,1.4-0.7c0.4-0.3,0.7-0.7,0.9-1.1c0.2-0.4,0.4-0.9,0.4-1.5 + c0.1-0.5,0-1.1-0.1-1.7C170.9,159.8,170.7,159.3,170.5,158.9z M169.2,161.9c0,0.3-0.1,0.6-0.2,0.8c-0.1,0.2-0.2,0.4-0.4,0.6 + c-0.2,0.2-0.4,0.3-0.7,0.3c-0.2,0.1-0.5,0.1-0.7,0c-0.2-0.1-0.5-0.2-0.7-0.3c-0.2-0.2-0.4-0.4-0.6-0.6c-0.2-0.2-0.3-0.5-0.4-0.8 + c-0.1-0.7-0.1-1.3,0.1-1.8c0.2-0.5,0.5-0.8,1.1-0.9c0.2,0,0.3-0.1,0.5-0.1c0.3,0,0.6,0.1,0.8,0.3c0.4,0.3,0.7,0.8,0.8,1.6 + C169.2,161.3,169.2,161.6,169.2,161.9z"/> + <path class="st14" d="M177.1,155c0-0.2-0.2-0.2-0.3-0.2c-0.1,0-0.2,0-0.3,0.3c-0.1,0.3-0.2,0.6-0.3,0.9c-0.2,0.2-0.4,0.4-0.7,0.5 + c-0.2,0.1-0.4,0.1-0.5,0c-0.2,0-0.4-0.1-0.7-0.2c-0.6-0.3-1.2-0.3-1.9-0.1c-0.4,0.1-0.7,0.3-1,0.6c-0.3,0.3-0.5,0.7-0.6,1.1 + c0,0,0,0.1,0,0.1l0.4,1.5c0,0.1,0.1,0.2,0.3,0.2c0,0,0,0,0,0c0.1,0,0.2,0,0.3-0.3c0-0.3,0.2-0.6,0.3-0.9c0.2-0.3,0.4-0.4,0.7-0.5 + c0.2-0.1,0.4-0.1,0.5,0c0.2,0,0.4,0.1,0.7,0.3c0.3,0.1,0.6,0.2,0.9,0.2c0.3,0,0.6,0,1-0.1c0.4-0.1,0.7-0.3,1-0.6 + c0.3-0.3,0.5-0.7,0.6-1.1c0,0,0-0.1,0-0.1L177.1,155z"/> + <path class="st14" d="M189.3,147.2C189.3,147.2,189.3,147.2,189.3,147.2c-1-0.7-2.1-0.8-3.2-0.3c-1.1,0.5-1.8,1.3-2.1,2.5 + c-0.1,0.5-0.1,1,0,1.6c-0.4-0.8-0.9-1.4-1.6-1.7c-0.8-0.3-1.7-0.3-2.7,0.1c-0.6,0.2-1.1,0.5-1.6,0.9c-0.4,0.4-0.8,0.9-1.1,1.4 + c0,0,0,0.1,0,0.1l0.5,1.4c0.1,0.2,0.2,0.2,0.2,0.2c0,0,0.2,0,0.3-0.2c0.3-0.6,0.6-1.1,1-1.4c0.4-0.4,0.8-0.6,1.2-0.8 + c0.5-0.2,0.9-0.2,1.2,0c0.3,0.2,0.6,0.5,0.7,0.9c0.1,0.2,0.1,0.4,0.2,0.7c0,0.2,0,0.5,0,0.8c0,0.3-0.1,0.6-0.2,1 + c-0.1,0.4-0.2,0.8-0.4,1.3l-1.9,4.7c0,0,0,0.1,0,0.1l0.5,1.3c0,0.1,0.1,0.1,0.1,0.1c0,0,0,0,0.1,0l6.6-2.3c0,0,0.1,0,0.1-0.1 + c0,0,0-0.1,0-0.1l-0.5-1.4c0-0.1-0.1-0.1-0.2-0.1l-4.4,1.5l1.4-3.4c0.2-0.4,0.3-0.8,0.4-1.2c0.1-0.4,0.2-0.8,0.3-1.2 + c0.1-0.3,0.1-0.7,0.1-1c0.1,0.5,0.3,1,0.5,1.5c0.8,2,1.7,3.3,2.7,3.9c0.6,0.4,1.2,0.6,1.8,0.6c0.4,0,0.9-0.1,1.4-0.3 + c1.1-0.5,1.8-1.3,2.1-2.5c0.2-1.1,0-2.7-0.8-4.7C191.1,149.2,190.2,147.9,189.3,147.2z M190.8,155.2c0,0.7-0.3,1.2-0.8,1.4 + c-0.5,0.2-1,0.1-1.5-0.4c-0.6-0.5-1.1-1.5-1.7-2.9c-0.6-1.4-0.9-2.6-0.8-3.3c0-0.7,0.3-1.2,0.8-1.4c0.1-0.1,0.3-0.1,0.4-0.1 + c0.4,0,0.7,0.2,1.1,0.5c0.6,0.5,1.1,1.5,1.7,2.9C190.6,153.4,190.9,154.5,190.8,155.2z"/> + <path class="st14" d="M200,152.1C200,152,200,152,200,152.1c-0.1-0.1-0.2-0.1-0.2-0.1l-4.2,1.9l1.1-3.6c0.1-0.4,0.2-0.8,0.3-1.2 + c0.1-0.4,0.2-0.8,0.2-1.2c0-0.4,0-0.8,0-1.2c-0.1-0.4-0.2-0.7-0.3-1.1c-0.5-1-1.1-1.6-1.9-1.9c-0.8-0.2-1.7-0.1-2.7,0.3 + c-0.6,0.3-1.1,0.6-1.5,1.1c-0.4,0.5-0.7,1-0.9,1.5c0,0,0,0.1,0,0.1l0.6,1.3c0.1,0.1,0.2,0.2,0.2,0.2c0.1,0,0.2,0,0.3-0.2 + c0.2-0.6,0.5-1.1,0.8-1.5c0.3-0.4,0.7-0.7,1.1-0.9c0.5-0.2,0.9-0.2,1.2-0.1c0.3,0.2,0.6,0.4,0.8,0.8c0.1,0.2,0.2,0.4,0.2,0.6 + c0.1,0.2,0.1,0.5,0.1,0.8c0,0.3,0,0.6-0.1,1c-0.1,0.4-0.2,0.8-0.3,1.3l-1.4,4.9c0,0,0,0.1,0,0.1l0.6,1.3c0,0,0,0.1,0.1,0.1 + c0,0,0,0,0.1,0c0,0,0,0,0.1,0l6.3-2.9c0.1,0,0.1-0.1,0.1-0.2L200,152.1z"/> + <path class="st14" d="M206.6,148.6c0-0.1-0.1-0.1-0.2-0.1l-4.1,2.2l0.9-3.6c0.1-0.4,0.2-0.8,0.3-1.3c0.1-0.4,0.1-0.8,0.1-1.2 + c0-0.4,0-0.8-0.1-1.2c-0.1-0.4-0.2-0.7-0.4-1.1c-0.5-1-1.2-1.6-2-1.8c-0.8-0.2-1.7,0-2.7,0.5c-0.6,0.3-1,0.7-1.4,1.2 + c-0.4,0.5-0.7,1-0.9,1.5c0,0,0,0.1,0,0.1l0.7,1.3c0.1,0.1,0.2,0.2,0.2,0.2c0.1,0,0.2,0,0.2-0.2c0.2-0.6,0.5-1.1,0.8-1.5 + c0.3-0.4,0.7-0.7,1.1-0.9c0.5-0.2,0.9-0.3,1.2-0.2c0.3,0.1,0.6,0.4,0.8,0.8c0.1,0.2,0.2,0.4,0.3,0.6c0.1,0.2,0.1,0.5,0.1,0.8 + c0,0.3,0,0.6-0.1,1c0,0.4-0.1,0.8-0.3,1.3l-1.2,4.9c0,0,0,0.1,0,0.1l0.7,1.2c0,0,0.1,0.1,0.1,0.1c0,0,0,0,0,0c0,0,0,0,0.1,0 + l6.2-3.3c0,0,0.1-0.1,0.1-0.1c0,0,0-0.1,0-0.1L206.6,148.6z"/> + <path class="st14" d="M208.4,147c-0.4-0.1-0.7-0.1-1.1,0.1c-0.3,0.2-0.5,0.5-0.6,0.8c-0.1,0.4,0,0.7,0.1,1 + c0.2,0.3,0.5,0.5,0.8,0.6c0.1,0,0.2,0.1,0.4,0.1c0.2,0,0.5-0.1,0.7-0.2c0.3-0.2,0.6-0.5,0.7-0.8c0.1-0.4,0-0.7-0.1-1 + C209,147.3,208.7,147.1,208.4,147z"/> + <path class="st14" d="M208.2,135.9c0-0.1-0.1-0.1-0.2,0l-1.5,0.9c0,0-0.1,0.1-0.1,0.1c0,0.4-0.1,0.9-0.3,1.3 + c-0.1,0.4-0.3,0.8-0.6,1.1c0,0.1,0,0.1,0,0.2l0.6,0.9c0.1,0.1,0.1,0.2,0.2,0.2c0,0,0,0,0,0c0.1,0,0.1,0,0.2-0.1 + c0.2-0.3,0.4-0.6,0.6-0.9c0.1-0.2,0.3-0.5,0.4-0.7l5,8c0,0,0.1,0.1,0.1,0.1c0,0,0,0,0,0c0,0,0.1,0,0.1,0l1.5-0.9 + c0.1,0,0.1-0.1,0-0.2L208.2,135.9z"/> + <path class="st14" d="M221.5,138.8c0,0-0.1-0.1-0.1-0.1c0,0-0.1,0-0.1,0l-3.8,2.7l0.4-3.7c0-0.4,0.1-0.9,0.1-1.3 + c0-0.4,0-0.8,0-1.2c0-0.4-0.1-0.8-0.2-1.1c-0.1-0.4-0.3-0.7-0.5-1c-0.6-0.9-1.4-1.4-2.2-1.5c-0.8-0.1-1.7,0.2-2.6,0.8 + c-0.5,0.4-0.9,0.8-1.2,1.3c-0.3,0.5-0.5,1.1-0.6,1.6c0,0,0,0.1,0,0.1l0.9,1.2c0.1,0.1,0.2,0.1,0.3,0.1c0.1,0,0.2,0,0.2-0.2 + c0.1-0.6,0.3-1.2,0.5-1.6c0.2-0.4,0.6-0.8,0.9-1.1c0.4-0.3,0.8-0.4,1.2-0.3c0.4,0.1,0.7,0.3,0.9,0.7c0.1,0.2,0.2,0.4,0.3,0.6 + c0.1,0.2,0.2,0.5,0.2,0.7c0,0.3,0.1,0.6,0.1,1c0,0.4,0,0.8-0.1,1.3l-0.5,5c0,0,0,0.1,0,0.1l0.8,1.1c0,0,0.1,0.1,0.1,0.1 + c0,0,0.1,0,0.1,0l5.7-4.1c0.1,0,0.1-0.1,0-0.2L221.5,138.8z"/> + <path class="st14" d="M223.1,137C223.1,137,223.1,137,223.1,137c-0.4-0.1-0.7,0-1,0.3c-0.3,0.2-0.5,0.6-0.5,0.9 + c0,0.4,0.1,0.7,0.3,1c0.2,0.3,0.5,0.5,0.9,0.5c0.1,0,0.1,0,0.2,0c0.3,0,0.6-0.1,0.8-0.3c0.3-0.2,0.5-0.6,0.5-0.9 + c0-0.4-0.1-0.7-0.3-1C223.8,137.2,223.5,137,223.1,137z"/> + <path class="st14" d="M229,131.6c-0.2-0.5-0.5-1-0.8-1.4c-0.3-0.4-0.7-0.7-1.2-0.9c-0.4-0.2-0.9-0.3-1.3-0.3 + c-0.5,0-0.9,0.1-1.4,0.3c-0.5,0.2-0.9,0.5-1.4,0.9c-0.2,0.2-0.4,0.3-0.5,0.5c-0.1,0.1-0.2,0.2-0.3,0.4l-1.6-2l3.2-2.8 + c0,0,0.1-0.1,0.1-0.1c0,0,0-0.1,0-0.1l-1-1.1c-0.1-0.1-0.2-0.1-0.2,0l-4.5,3.9c-0.1,0.1-0.1,0.1,0,0.2l3.7,4.8 + c0,0,0.1,0.1,0.1,0.1c0,0,0,0,0,0c0.1,0,0.1,0,0.1-0.1c0.5-0.7,1-1.3,1.6-1.8c0.6-0.5,1.2-0.8,1.7-0.8c0.6,0,1,0.2,1.4,0.7 + c0.2,0.2,0.4,0.5,0.5,0.8c0.1,0.3,0.1,0.5,0.1,0.8c0,0.3-0.1,0.5-0.2,0.8c-0.1,0.2-0.3,0.5-0.5,0.7c-0.4,0.4-0.9,0.7-1.3,0.9 + c-0.4,0.2-1,0.3-1.5,0.3c-0.1,0-0.2,0.1-0.3,0.2c0,0.1,0,0.2,0.1,0.3l0.9,1c0,0,0.1,0.1,0.1,0.1c0,0,0,0,0,0 + c0.6,0,1.2-0.2,1.7-0.4c0.5-0.2,1-0.6,1.5-1c0.5-0.4,0.8-0.9,1.1-1.4c0.2-0.5,0.4-1,0.4-1.5C229.3,132.6,229.2,132.1,229,131.6z" + /> + </g> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/chatbot_menu01.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/chatbot_menu01.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_arrow_ascend.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_arrow_ascend.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_arrow_ascend.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"> +<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="16.131px" height="17.402px" viewBox="0 0 16.131 17.402" xml:space="preserve"> +<g> + <text transform="matrix(1 0 0 1 1.7466 7.2292)" font-family="'KoPubDotumBold'" font-size="8.3945">A</text> + <text transform="matrix(1 0 0 1 2.1191 15.7908)" fill="#3CA123" font-family="'KoPubDotumBold'" font-size="8.3945">Z</text> +</g> +<g> + <polygon points="15.119,9.943 11.592,15.243 8.065,9.943 "/> + <path d="M10.843,2.621c0-0.256,0.336-0.462,0.749-0.462c0.417,0,0.755,0.206,0.755,0.462v9.221c0,0.254-0.338,0.459-0.755,0.459 + c-0.413,0-0.749-0.205-0.749-0.459V2.621z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/file_hwp.svg =================================================================== --- base3.10/src/main/webapp/images/custom/file_hwp.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/file_hwp.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" viewBox="0 0 446.5 595.4" style="enable-background:new 0 0 446.5 595.4;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#424242;} + .st1{fill:#424242;stroke:#424242;stroke-width:11;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<path class="st0" d="M430.1,113.9l-97.5-97.5C322.1,5.9,307.9,0,293.1,0H55.8C25,0.1,0,25.1,0,55.9v483.7c0,30.8,25,55.8,55.8,55.8 + h334.8c30.8,0,55.8-25,55.8-55.8V153.5C446.5,138.7,440.5,124.4,430.1,113.9z M386.1,148.9h-88.5V60.5L386.1,148.9z M55.8,539.6 + V55.9h186v120.9c0,15.5,12.4,27.9,27.9,27.9h120.9v334.8L55.8,539.6L55.8,539.6z M311.7,280.5"/> +<g> + <path class="st1" d="M160.1,273.4h33.7v66.5h63.8v-66.5h33.5v168.9h-33.5v-72.9h-63.8v72.9h-33.7V273.4z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_search.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_search.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_search.svg (revision 7) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 100.67 104.57" style="enable-background:new 0 0 100.67 104.57;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#343231;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st1{fill:none;stroke:#343231;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + + <ellipse transform="matrix(0.7071 -0.7071 0.7071 0.7071 -17.1727 41.4582)" class="st0" cx="41.46" cy="41.46" rx="36.46" ry="36.46"/> + <line class="st0" x1="65.21" y1="69.11" x2="95.67" y2="99.57"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/check_on.svg =================================================================== --- base3.10/src/main/webapp/images/custom/check_on.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/check_on.svg (revision 7) @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 8.8 8.8" style="enable-background:new 0 0 8.8 8.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#333333;} + .st1{fill:#FFFFFF;} +</style> +<g> + <g> + <g> + <path class="st0" d="M3.6,7.3C3.4,7.3,3.2,7.2,3,7L0.8,5c-0.2-0.3-0.2-0.7,0-1.1V3.8l0.6-0.6C1.5,3.1,1.7,3,1.9,3s0.3,0,0.5,0.1 + h0.1l1.1,1.1l2.7-2.7c0.1-0.1,0.3-0.2,0.6-0.2c0.2,0,0.3,0,0.5,0.1h0.1L8.1,2c0.3,0.3,0.3,0.7,0.1,1.1v0.1L4.2,7 + C4.1,7.2,3.8,7.3,3.6,7.3z"/> + <path class="st1" d="M6.9,1.8c0.1,0,0.2,0,0.3,0.1l0.5,0.5c0.1,0.1,0.1,0.3,0,0.5L3.8,6.7c-0.3,0.2-0.5,0-0.5,0L1.2,4.6 + c-0.1-0.1-0.3-0.3,0-0.5l0.5-0.5c0.1-0.1,0.2-0.1,0.2-0.1c0.1,0,0.2,0,0.3,0.1L3.6,5l3.1-3.1C6.8,1.8,6.8,1.8,6.9,1.8 M6.9,0.8 + C6.6,0.8,6.2,1,6,1.2L3.6,3.6L2.9,2.9L2.8,2.8L2.6,2.7C2.4,2.6,2.2,2.5,1.9,2.5S1.2,2.7,1,2.9L0.5,3.4L0.4,3.5L0.3,3.7 + C0,4.2,0.1,4.9,0.5,5.3l2.1,2.1c0.4,0.4,0.7,0.4,1,0.4c0.4,0,0.8-0.2,1-0.5l3.8-3.7l0.1-0.1l0.1-0.2c0.3-0.6,0.2-1.2-0.2-1.7 + L7.9,1.2L7.8,1.1L7.6,1C7.4,0.9,7.2,0.8,6.9,0.8L6.9,0.8z"/> + </g> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/chatbot_menu02.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/chatbot_menu02.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/E8C64609.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/E8C64609.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_arrow_descend.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_arrow_descend.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_arrow_descend.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"> +<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="16.131px" height="17.402px" viewBox="0 0 16.131 17.402" xml:space="preserve"> +<g> + <text transform="matrix(1 0 0 1 1.7461 7.2292)" fill="#3CA123" font-family="'KoPubDotumBold'" font-size="8.3945">A</text> + <text transform="matrix(1 0 0 1 2.1294 15.7908)" font-family="'KoPubDotumBold'" font-size="8.3945">Z</text> +</g> +<g> + <polygon points="15.119,9.943 11.592,15.243 8.065,9.943 "/> + <path d="M10.843,2.621c0-0.256,0.335-0.462,0.749-0.462c0.417,0,0.754,0.206,0.754,0.462v9.221c0,0.253-0.337,0.459-0.754,0.459 + c-0.414,0-0.749-0.206-0.749-0.459V2.621z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_market.svg =================================================================== --- base3.10/src/main/webapp/images/custom/bg_market.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/bg_market.svg (revision 7) @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 297.9 55.5" style="enable-background:new 0 0 297.9 55.5;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#ECECEB;} +</style> +<g> + <path class="st0" d="M28.7,23.8L28.7,23.8c-0.5,1.6-1,3.1-1.4,4.8c-0.3,1-0.6,2-0.9,3c-0.1-0.5-0.3-1-0.4-1.4 + c-0.6-2.1-1.2-4.3-1.9-6.3L15.4,0H0v55.5h13.2V36.2c0-3.4-0.4-7.8-0.8-11.9l2.1,6.4L22,51h8.3l7.4-20.3L40,24 + c-0.5,4.2-0.9,8.8-0.9,12.2v19.3h13.5V0H37.2L28.7,23.8z"/> + <path class="st0" d="M73.3,0L56.1,55.5h14.9l3.1-12.4h14.5l3.1,12.4h15.4L90,0H73.3z M85.8,31.5h-8.8L78,28 + c1.1-4.5,2.4-9.7,3.5-14.5c0.4,1.8,0.9,3.6,1.3,5.4c0.7,3.1,1.5,6.3,2.2,9.1L85.8,31.5z"/> + <path class="st0" d="M153.2,17.8c0-6.3-2.2-11.1-6.6-14.1C143,1.3,137.9,0,131.4,0h-20.5v55.5h14.6v-19h4.8l9.9,19h16.4l-12.2-21.8 + C148.5,31.5,153.2,26.9,153.2,17.8z M125.4,11.9h4.9c6.1,0,8.5,1.6,8.5,5.9c0,4.6-2.9,6.9-8.5,6.9h-4.9V11.9z"/> + <polygon class="st0" points="206.9,0 190.6,0 176.5,19.8 176.5,0 161.9,0 161.9,55.5 176.5,55.5 176.5,40.8 181.4,34.2 193.6,55.5 + 209.7,55.5 190,22.5 "/> + <polygon class="st0" points="227.5,33.2 245.5,33.2 245.5,20.7 227.5,20.7 227.5,12.4 248.6,12.4 248.6,0 212.9,0 212.9,55.5 + 249.4,55.5 249.4,43 227.5,43 "/> + <polygon class="st0" points="254.2,0 254.2,12.4 268.7,12.4 268.7,55.5 283.3,55.5 283.3,12.4 297.9,12.4 297.9,0 "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_add.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_add.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_add.svg (revision 7) @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="36.771px" height="37.685px" viewBox="0 0 36.771 37.685" enable-background="new 0 0 36.771 37.685" xml:space="preserve"> +<g> + <rect x="0.714" y="6.165" fill="#E9EFEE" width="26.518" height="30.807"/> + + <rect x="0.714" y="6.165" fill="none" stroke="#343340" stroke-width="1.4272" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" width="26.518" height="30.807"/> + <g> + <g> + <defs> + <rect id="SVGID_3_" x="8.928" y="8.788" width="18.304" height="19.051"/> + </defs> + <clipPath id="SVGID_2_"> + <use xlink:href="#SVGID_3_" overflow="visible"/> + </clipPath> + <polygon clip-path="url(#SVGID_2_)" fill="#C4CCCE" points="30.602,8.788 30.602,16.19 16.79,25.972 8.928,27.837 13.301,21.04 + "/> + </g> + </g> + + <rect x="21.053" y="-1.229" transform="matrix(0.7073 0.7069 -0.7069 0.7073 16.0225 -13.3031)" fill="#B7DFCD" width="6.044" height="27.848"/> + + <rect x="21.053" y="-1.229" transform="matrix(0.7073 0.7069 -0.7069 0.7073 16.0225 -13.3031)" fill="none" stroke="#343340" stroke-width="1.4272" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" width="6.044" height="27.848"/> + <polygon fill="#E9EFEE" points="16.364,24.679 12.092,20.405 10.76,23.534 13.235,26.009 "/> + + <polygon fill="none" stroke="#343340" stroke-width="1.4272" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 16.364,24.679 12.092,20.405 10.76,23.534 13.235,26.009 "/> + <polygon fill="#8F9999" points="13.235,26.009 10.761,23.534 8.928,27.843 "/> + + <polygon fill="none" stroke="#343340" stroke-width="1.4272" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 13.235,26.009 10.761,23.534 8.928,27.843 "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/arrow_double_left.svg =================================================================== --- base3.10/src/main/webapp/images/custom/arrow_double_left.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/arrow_double_left.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 61 66.6" style="enable-background:new 0 0 61 66.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#3C3C3C;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="56.5,62.1 27.7,33.3 56.5,4.5 "/> + <polyline class="st0" points="33.3,62.1 4.5,33.3 33.3,4.5 "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_main_section3.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_main_section3.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/arrow_right_navy.svg =================================================================== --- base3.10/src/main/webapp/images/custom/arrow_right_navy.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/arrow_right_navy.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 37.8 66.6" style="enable-background:new 0 0 37.8 66.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#093B80;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<polyline class="st0" points="4.5,4.5 33.3,33.3 4.5,62.1 "/> +</svg> Index: base3.10/src/main/webapp/images/custom/arrow_down_fff.svg =================================================================== --- base3.10/src/main/webapp/images/custom/arrow_down_fff.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/arrow_down_fff.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="66.609px" height="37.805px" viewBox="-14.402 14.403 66.609 37.805" enable-background="new -14.402 14.403 66.609 37.805" + xml:space="preserve"> +<polyline fill="none" stroke="#FFFFFF" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 47.707,18.903 18.903,47.707 -9.902,18.903 "/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_clock.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_clock.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_clock.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 110 110" style="enable-background:new 0 0 110 110;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#333333;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M105,55c0,27.6-22.4,50-50,50C27.4,105,5,82.6,5,55C5,27.4,27.4,5,55,5C82.6,5,105,27.4,105,55"/> + <path class="st0" d="M105,55"/> + <polyline class="st0" points="36,55 55,55 55,25.5 "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_del.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_del.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_del.svg (revision 7) @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="29.215px" height="37.497px" viewBox="0 0 29.215 37.497" enable-background="new 0 0 29.215 37.497" xml:space="preserve"> +<g> + <path fill="#9AA9A9" d="M22.4,36.815H6.816c-2.027,0-3.674-1.643-3.674-3.672V9.692h22.93v23.451 + C26.072,35.172,24.43,36.815,22.4,36.815"/> + + <path fill="none" stroke="#343340" stroke-width="1.3618" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d=" + M22.4,36.815H6.816c-2.027,0-3.674-1.643-3.674-3.672V9.692h22.93v23.451C26.072,35.172,24.43,36.815,22.4,36.815z"/> + <rect x="0.68" y="5.235" fill="#9AA9A9" width="27.855" height="4.457"/> + + <rect x="0.68" y="5.235" fill="none" stroke="#343340" stroke-width="1.3618" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" width="27.855" height="4.457"/> + <g> + <g> + <defs> + <rect id="SVGID_1_" x="3.145" y="9.692" width="22.93" height="3.207"/> + </defs> + <clipPath id="SVGID_2_"> + <use xlink:href="#SVGID_1_" overflow="visible"/> + </clipPath> + <rect x="3.143" y="9.692" clip-path="url(#SVGID_2_)" fill="#8F9999" width="22.93" height="3.207"/> + </g> + </g> + + <rect x="8.709" y="0.681" fill="none" stroke="#343340" stroke-width="1.3618" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" width="11.799" height="4.554"/> + + <path fill="none" stroke="#343340" stroke-width="1.3618" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d=" + M14.609,14.776v16.955V14.776z"/> + + <path fill="none" stroke="#343340" stroke-width="1.3618" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d=" + M9.389,14.776v16.955V14.776z"/> + + <path fill="none" stroke="#343340" stroke-width="1.3618" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d=" + M19.828,14.776v16.955V14.776z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/chatbot_img.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/chatbot_img.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/bg_main_section4.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_main_section4.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/triangle.svg =================================================================== --- base3.10/src/main/webapp/images/custom/triangle.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/triangle.svg (revision 7) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 7 7" style="enable-background:new 0 0 7 7;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} +</style> +<g> + <polygon class="st0" points="0,0 3.5,7 7,0 "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_gd3.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_gd3.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_gd3.svg (revision 7) @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 29.5 22.4" style="enable-background:new 0 0 29.5 22.4;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#666666;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st1{fill:#666666;stroke:#666666;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="10.7,7.7 7.8,6.4 1,9.4 1,21.4 7.8,18.4 14.7,21.4 21.6,18.4 28.5,21.4 28.5,9.4 21.6,6.4 "/> + <line class="st0" x1="7.8" y1="6.4" x2="7.8" y2="18.4"/> + <line class="st0" x1="14.7" y1="13.2" x2="14.7" y2="21.4"/> + <polyline class="st0" points="18.2,7.7 21.6,6.4 21.6,18.4 "/> + <path class="st0" d="M19,5.3c0,2.3-4.3,7.9-4.3,7.9s-4.2-5.5-4.2-7.9C10.5,3,12.3,1,14.8,1C17.1,1.1,19,3,19,5.3"/> + <path class="st0" d="M19,5.3c0,2.3-4.3,7.9-4.3,7.9s-4.2-5.5-4.2-7.9C10.5,3,12.3,1,14.8,1C17.1,1.1,19,3,19,5.3z"/> + <path class="st1" d="M15.9,5.3c0,0.6-0.6,1.2-1.2,1.2s-1.2-0.6-1.2-1.2s0.6-1.2,1.2-1.2C15.4,4.2,15.9,4.7,15.9,5.3z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_cmtintro_4_1.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_cmtintro_4_1.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_question_mark.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_question_mark.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_question_mark.svg (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="16.131px" height="17.402px" viewBox="0 0 16.131 17.402" enable-background="new 0 0 16.131 17.402" xml:space="preserve"> +<g> + <path d="M4.484,6.318c0-0.454,0.146-0.914,0.438-1.38C5.214,4.471,5.639,4.085,6.198,3.78C6.757,3.473,7.41,3.321,8.156,3.321 + c0.692,0,1.304,0.128,1.835,0.384c0.53,0.256,0.94,0.604,1.229,1.043s0.434,0.918,0.434,1.435c0,0.406-0.082,0.763-0.247,1.068 + s-0.361,0.569-0.588,0.792s-0.635,0.597-1.223,1.122c-0.162,0.148-0.293,0.279-0.391,0.39C9.108,9.668,9.035,9.771,8.987,9.863 + c-0.048,0.094-0.085,0.188-0.111,0.279C8.85,10.236,8.81,10.4,8.758,10.635c-0.091,0.496-0.376,0.746-0.854,0.746 + c-0.248,0-0.458-0.082-0.627-0.244c-0.17-0.162-0.255-0.404-0.255-0.725c0-0.402,0.063-0.748,0.187-1.043 + c0.124-0.294,0.289-0.552,0.495-0.775c0.205-0.222,0.482-0.485,0.831-0.792c0.306-0.268,0.527-0.47,0.664-0.606 + c0.136-0.136,0.25-0.287,0.344-0.454c0.094-0.168,0.14-0.35,0.14-0.546c0-0.382-0.142-0.705-0.427-0.968 + c-0.284-0.263-0.651-0.395-1.1-0.395c-0.526,0-0.914,0.133-1.162,0.398C6.745,5.496,6.535,5.888,6.363,6.404 + C6.2,6.945,5.892,7.214,5.438,7.214c-0.269,0-0.494-0.095-0.678-0.283C4.576,6.742,4.484,6.537,4.484,6.318z M7.983,14.176 + c-0.292,0-0.546-0.094-0.764-0.281c-0.218-0.189-0.326-0.453-0.326-0.793c0-0.301,0.105-0.555,0.315-0.76 + c0.21-0.207,0.469-0.309,0.774-0.309c0.301,0,0.555,0.102,0.76,0.309c0.206,0.205,0.309,0.459,0.309,0.76 + c0,0.334-0.107,0.598-0.322,0.789C8.514,14.082,8.266,14.176,7.983,14.176z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_cmtintro_3_2.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_cmtintro_3_2.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/file_img.svg =================================================================== --- base3.10/src/main/webapp/images/custom/file_img.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/file_img.svg (revision 7) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="446.461px" height="595.397px" viewBox="197.715 -0.116 446.461 595.397" + enable-background="new 197.715 -0.116 446.461 595.397" xml:space="preserve"> +<path fill="#333333" d="M627.782,113.824l-97.547-97.547C519.771,5.813,505.587-0.116,490.821-0.116H253.522 + C222.712,0,197.715,24.997,197.715,55.808v483.665c0,30.811,24.997,55.809,55.808,55.809h334.846 + c30.811,0,55.808-24.998,55.808-55.809V153.354C644.176,138.589,638.246,124.288,627.782,113.824z M583.834,148.82h-88.479V60.342 + L583.834,148.82z M253.522,539.472V55.808h186.025v120.916c0,15.463,12.44,27.904,27.903,27.904h120.917v334.845H253.522z + M290.727,483.666h260.436v-148.82l-27.322-27.322c-5.465-5.465-14.301-5.465-19.766,0L402.343,409.255l-45.925-45.926 + c-5.465-5.463-14.301-5.463-19.766,0l-45.925,45.926V483.666z M346.535,204.627c-30.811,0-55.808,24.997-55.808,55.808 + s24.997,55.807,55.808,55.807s55.808-24.996,55.808-55.807S377.345,204.627,346.535,204.627z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/file_ppt.svg =================================================================== --- base3.10/src/main/webapp/images/custom/file_ppt.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/file_ppt.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="446.461px" height="595.397px" viewBox="197.715 -0.116 446.461 595.397" + enable-background="new 197.715 -0.116 446.461 595.397" xml:space="preserve"> +<path fill="#333333" d="M627.782,113.824l-97.547-97.547C519.771,5.813,505.587-0.116,490.821-0.116H253.522 + C222.712,0,197.715,24.997,197.715,55.808v483.665c0,30.811,24.997,55.809,55.808,55.809h334.846 + c30.811,0,55.808-24.998,55.808-55.809V153.354C644.176,138.589,638.246,124.288,627.782,113.824z M583.834,148.82h-88.479V60.342 + L583.834,148.82z M253.522,539.472V55.808h186.025v120.916c0,15.463,12.44,27.904,27.903,27.904h120.917v334.845H253.522z + M337.233,469.712V274.387c0-7.674,6.278-13.952,13.952-13.952h80.456c42.67,0,73.015,31.392,73.015,77.084 + c0,86.385-79.874,77.316-111.033,77.316v54.877c0,7.674-6.278,13.953-13.952,13.953h-28.485 + C343.511,483.666,337.233,477.386,337.233,469.712z M393.623,368.097h26.74c9.186,0,16.162-2.791,21.045-8.371 + c9.883-11.395,9.767-33.137,0.116-43.949c-4.767-5.348-11.511-8.139-20.23-8.139h-27.787v60.459H393.623z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_lock.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_lock.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_lock.svg (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 24.1 28.8" style="enable-background:new 0 0 24.1 28.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} + .st1{fill:none;stroke:#333333;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st2{fill:#D5D6D5;} +</style> +<g> + <rect x="0.8" y="10.2" class="st0" width="22.6" height="17.9"/> + <rect x="0.8" y="10.2" class="st1" width="22.6" height="17.9"/> + <path class="st2" d="M14.1,17.3c0,1.1-0.9,2-2,2c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2C13.2,15.3,14.1,16.2,14.1,17.3"/> + <path class="st1" d="M14.1,17.3c0,1.1-0.9,2-2,2c-1.1,0-2-0.9-2-2c0-1.1,0.9-2,2-2C13.2,15.3,14.1,16.2,14.1,17.3z"/> + <line class="st0" x1="12.1" y1="19.4" x2="12.1" y2="24"/> + <line class="st1" x1="12.1" y1="19.4" x2="12.1" y2="24"/> + <path class="st0" d="M18.4,10.2H5.7V4.6c0-2.1,1.7-3.8,3.8-3.8h5c2.1,0,3.8,1.7,3.8,3.8V10.2z"/> + <path class="st1" d="M18.4,10.2H5.7V4.6c0-2.1,1.7-3.8,3.8-3.8h5c2.1,0,3.8,1.7,3.8,3.8V10.2z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_say_on.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_say_on.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_say_on.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 39.9 36.9" style="enable-background:new 0 0 39.9 36.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M19.9,1c8.8,0,16.2,5.2,18.3,12.3c0.1,0.4,0.2,0.9,0.3,1.3c0.2,0.9,0.3,1.9,0.3,2.9c0,4.9-2.4,9.2-6.2,12.2 + c1.4,3.1,3.7,5.4,6.1,6.1c-4.5,0.3-8.6-0.9-11.2-3.3c-2.3,0.9-4.9,1.4-7.6,1.4C9.5,33.9,1,26.6,1,17.5S9.5,1,19.9,1z"/> + <line class="st0" x1="21.4" y1="18.4" x2="18.5" y2="18.4"/> + <line class="st0" x1="13" y1="18.4" x2="10" y2="18.4"/> + <line class="st0" x1="30.2" y1="18.4" x2="27.2" y2="18.4"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_main_section5.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_main_section5.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_mic.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_mic.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_mic.svg (revision 7) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 22.4 22.4" style="enable-background:new 0 0 22.4 22.4;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} + .st1{fill:none;stroke:#D0301A;stroke-width:2;stroke-linejoin:round;} +</style> +<g> + <g> + <path class="st0" d="M17.3,11.1L17,11.3c1-0.2,2.1-0.6,2.9-1.5c2-2,2-5.3,0-7.4c-2-2-5.3-2-7.4,0c-0.8,0.8-1.3,1.8-1.5,2.9 + l0.2-0.3L17.3,11.1z"/> + <polygon class="st0" points="11.3,5.1 11,5.4 9.5,7.3 8,9.4 2.5,16.8 5.6,19.9 13,14.3 15,12.8 17,11.3 17.3,11.1 "/> + </g> + <line class="st0" x1="4.1" y1="18.3" x2="0.7" y2="21.6"/> +</g> +<g> + <g> + <path class="st1" d="M17.3,11.1L17,11.3c1-0.2,2.1-0.6,2.9-1.5c2-2,2-5.3,0-7.4c-2-2-5.3-2-7.4,0c-0.8,0.8-1.3,1.8-1.5,2.9 + l0.2-0.3L17.3,11.1z"/> + <polygon class="st1" points="11.3,5.1 11,5.4 9.5,7.3 8,9.4 2.5,16.8 5.6,19.9 13,14.3 15,12.8 17,11.3 17.3,11.1 "/> + </g> + <line class="st1" x1="4.1" y1="18.3" x2="0.7" y2="21.6"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/sns1.svg =================================================================== --- base3.10/src/main/webapp/images/custom/sns1.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/sns1.svg (revision 7) @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="83.963px" height="76.928px" viewBox="0 0 83.963 76.928" enable-background="new 0 0 83.963 76.928" xml:space="preserve"> +<polyline fill="#FFFFFF" points="45.788,63.141 55.231,76.928 83.963,76.928 83.963,0 55.325,0 55.325,38.815 28.742,0 0,0 + 0,76.928 28.644,76.928 28.644,38.114 45.788,63.141 "/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_fileup_on.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_fileup_on.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_fileup_on.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 37 30" style="enable-background:new 0 0 37 30;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#007DC3;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="11.5,8.5 18.5,1.5 25.5,8.5 "/> + <polyline class="st0" points="35.5,16.5 35.5,28.5 1.5,28.5 1.5,16.5 "/> + <line class="st0" x1="18.5" y1="1.5" x2="18.5" y2="20.1"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_cmtintro_4_2.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_cmtintro_4_2.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/hyundai.svg =================================================================== --- base3.10/src/main/webapp/images/custom/hyundai.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/hyundai.svg (revision 7) @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 85.9 57.3" style="enable-background:new 0 0 85.9 57.3;" xml:space="preserve"> +<style type="text/css"> + .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#003B83;} +</style> +<g> + <polygon class="st0" points="11.6,43.5 11.6,57.3 8.9,57.3 8.9,51.6 2.8,51.6 2.8,57.3 0,57.3 0,43.5 2.8,43.5 2.8,49 8.9,49 + 8.9,43.5 11.6,43.5 "/> + <polygon class="st0" points="83.1,57.3 85.9,57.3 85.9,43.5 83.1,43.5 83.1,57.3 "/> + <path class="st0" d="M36,53.6c0,0.9-0.1,1.1-0.9,1.1c-0.8,0-5,0-5,0V43.5h-2.7v13.8h9c0,0,2.3-0.2,2.3-3.1c0-3,0-10.8,0-10.8H36 + C36,43.5,36,52.9,36,53.6L36,53.6z"/> + <path class="st0" d="M49.8,57.3h2.8c0,0,0-7.8,0-10.8c0-2.9-2.4-3.1-2.4-3.1h-9v13.8h2.8V46.2c0,0,4.1,0,4.9,0 + c0.7,0,0.9,0.2,0.9,1.1C49.8,47.9,49.8,57.3,49.8,57.3L49.8,57.3z"/> + <polygon class="st0" points="26.3,43.5 22.8,43.5 19.5,49.4 16.2,43.5 12.8,43.5 18.2,52.4 18.2,57.3 20.9,57.3 20.9,52.3 + 26.3,43.5 "/> + <path class="st0" d="M55.1,57.3c0,0,6.5,0,8.9,0c2.4,0,2.6-2.7,2.6-2.7v-8.3c0,0-0.2-2.7-2.6-2.7c-2.4,0-8.9,0-8.9,0V57.3 + L55.1,57.3z M63.8,53.6c0,0,0,1.1-0.9,1.1c-0.7,0-5.1,0-5.1,0v-8.5c0,0,4.4,0,5.1,0c0.9,0,0.9,1.1,0.9,1.1V53.6L63.8,53.6z"/> + <path class="st0" d="M80.8,43.5v13.8h-2.8v-4h-6.2v4H69V47.1c0-3.7,3-3.5,3-3.5H80.8L80.8,43.5z M77.9,50.7v-4.6h-5.3 + c0,0-0.9,0-0.9,1.3c0,1.1,0,3.3,0,3.3H77.9L77.9,50.7z"/> + <path class="st0" d="M74.8,17.9c0,9.8-14.3,17.8-31.9,17.8c-17.6,0-31.9-8-31.9-17.8C11.1,8,25.4,0,43,0C60.5,0,74.8,8,74.8,17.9 + L74.8,17.9z M41.5,15.4c2.7-0.6,5.4-1.6,7.5-2.5c6.8-2.6,10-5.4,10.6-6C60.5,6,59.8,5.7,59,5.4C54.4,3.9,47.4,2.7,42.9,3 + c-3.3,0.1-5.1,4-5.8,5.7C33.7,16.6,39.8,15.8,41.5,15.4L41.5,15.4z M20.7,26.7c0.1-0.3,5.5-14.2,11.8-21.8c0.8-0.8-0.1-1-1.1-0.7 + c-10.4,2.2-17.6,7.5-17.6,13.6c0,3.4,2.2,6.5,5.8,9C20,27.1,20.5,26.9,20.7,26.7L20.7,26.7z M44.4,20.3c-2.7,0.6-5.4,1.6-7.5,2.5 + c-6.8,2.6-10,5.5-10.6,6.1c-0.9,0.8-0.2,1.2,0.6,1.4c4.6,1.5,11.6,2.7,16.1,2.5c3.2-0.2,5.1-4.1,5.9-5.8 + C52.2,19.1,46.1,20,44.4,20.3L44.4,20.3z M72.2,17.9c0-3.4-2.1-6.4-5.8-8.9c-0.5-0.4-0.9-0.2-1.2,0.2c-0.1,0.2-5.5,14.1-11.8,21.7 + c-0.7,0.9,0.1,1,1.1,0.8C64.9,29.3,72.2,24,72.2,17.9L72.2,17.9z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/ts_logo_v.svg =================================================================== --- base3.10/src/main/webapp/images/custom/ts_logo_v.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/ts_logo_v.svg (revision 7) @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 144.1 60.6" style="enable-background:new 0 0 144.1 60.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:url(#XMLID_2_);} + .st1{fill:url(#XMLID_3_);} + .st2{fill:#898989;} +</style> +<g id="XMLID_5131_"> + <g id="XMLID_5164_"> + + <linearGradient id="XMLID_2_" gradientUnits="userSpaceOnUse" x1="73.137" y1="24.3083" x2="100.1552" y2="3.8466" gradientTransform="matrix(1 0 0 -1 0 25.89)"> + <stop offset="0" style="stop-color:#23ADE0"/> + <stop offset="0.1885" style="stop-color:#21A9DD"/> + <stop offset="0.4351" style="stop-color:#1E9FD5"/> + <stop offset="0.7139" style="stop-color:#178FC8"/> + <stop offset="1" style="stop-color:#1479B8"/> + </linearGradient> + <path id="XMLID_5166_" class="st0" d="M92.2,18.4c2,0.8,1.5,3.3-0.9,3.3H75.8c-0.4,0-0.8,0.4-0.8,0.9v2c0,0.5,0.4,0.9,0.8,0.9 + h18.1c4.2,0,7.5-2.1,7.5-6.3c0-2.8-1.2-5.1-4.3-6.5C95.2,12,83.8,7.2,83.8,7.2c-2.1-0.8-1.6-3.3,0.9-3.3h15.5 + c0.4,0,0.8-0.4,0.8-0.9V1c0-0.5-0.4-0.9-0.8-0.9H82.1c-4.2,0-7.5,2-7.5,6.3c0,2.8,1.2,5.1,4.3,6.5C80.7,13.6,92.2,18.4,92.2,18.4z + "/> + + <linearGradient id="XMLID_3_" gradientUnits="userSpaceOnUse" x1="47.4322" y1="30.4603" x2="67.4074" y2="9.9984" gradientTransform="matrix(1 0 0 -1 0 25.89)"> + <stop offset="5.618000e-03" style="stop-color:#F5C41E"/> + <stop offset="1" style="stop-color:#EA7E26"/> + </linearGradient> + <path id="XMLID_5165_" class="st1" d="M73.6,0h-30c-0.4,0-0.8,0.4-0.8,0.9v2c0,0.5,0.4,0.9,0.8,0.9h10.8v20.8 + c0,0.5,0.4,0.9,0.8,0.9l0,0h6.7l0,0c0.5,0,0.8-0.4,0.8-0.9V3.9h10.8c0.4,0,0.8-0.4,0.8-0.9V1C74.4,0.4,74,0,73.6,0z"/> + </g> + <g id="XMLID_5132_"> + <path id="XMLID_5161_" class="st2" d="M49,44H37.9v-1.5h13.8v13.8H49C49,56.3,49,44,49,44z M46.7,49.4H44v8.5h-2.3v-8.5H39v8.5 + h-2.4v1.5h16.5v-1.5h-6.5L46.7,49.4L46.7,49.4z"/> + <path id="XMLID_5158_" class="st2" d="M144.1,46v1.5h-2.4V55H139v-4c-1.1,0.2-3,0.4-4.9,0.4c-2.8,0-4.6-0.3-5.3-0.5l0,0l0,0l0,0 + c-0.9-0.2-1.4-0.8-1.4-1.5v-6.9h8.9V44h-6.2v5.5c0.4,0.1,1.4,0.3,4,0.3c1.9,0,3.9-0.2,5-0.4V42h2.7v3.9L144.1,46L144.1,46z + M131.9,58.2v-4.9h-2.7v4.6c0,0-0.1,1.2,1.5,1.5c0.7,0.2,2.4,0.5,5.3,0.5c2.9,0,5.8-0.6,5.8-0.6v-1.5c-0.2,0.1-3.1,0.5-5.9,0.5 + C133.2,58.4,132.2,58.3,131.9,58.2z"/> + <path id="XMLID_5153_" class="st2" d="M88.2,45.9h2.6v1.5h-2.6v7.5h-2.7V42h2.7V45.9z M78.4,58.2v-4.9h-2.7v4.6 + c0,0-0.1,1.2,1.5,1.5c0.7,0.2,2.4,0.5,5.3,0.5c2.9,0,5.8-0.6,5.8-0.6v-1.5c-0.2,0.1-3.1,0.5-5.9,0.5 + C79.8,58.4,78.8,58.3,78.4,58.2z M78.1,52.2c-2.8,0-5-2.3-5-5.1c0-2.8,2.2-5.1,5-5.1s5,2.3,5,5.1C83.1,49.9,80.9,52.2,78.1,52.2z + M78.1,50.7c1.3,0,2.3-1.6,2.3-3.6s-1-3.6-2.3-3.6s-2.3,1.6-2.3,3.6C75.8,49.1,76.8,50.7,78.1,50.7z"/> + <path id="XMLID_5149_" class="st2" d="M63.1,52.2c-3.7,0-6.7,1.9-6.7,4.2c0,2.3,3,4.2,6.7,4.2s6.7-1.9,6.7-4.2 + C69.8,54.1,66.8,52.2,63.1,52.2z M63.1,59.1c-2.1,0-3.8-1.2-3.8-2.7s1.7-2.7,3.8-2.7s3.8,1.2,3.8,2.7 + C66.9,57.8,65.2,59.1,63.1,59.1z M64.5,50.1h7v1.5H54.8v-1.5h7v-0.8c-2.2-0.1-3.5-0.3-4.2-0.4c-1.8-0.4-1.7-1.5-1.7-1.5v-4.9h14.3 + V44H58.6v1.1h11.6v1.5H58.6v1c0.8,0.1,1.9,0.3,4.9,0.3c3.2,0,6.5-0.4,6.8-0.5v1.5c0,0-2.8,0.5-5.8,0.5L64.5,50.1L64.5,50.1z"/> + <path id="XMLID_5145_" class="st2" d="M123.6,49.6h1.9v1.5h-16.7v-1.5h5.7v-2.9h2.7v2.9h3.8V44h-10.5v-1.5h13.2L123.6,49.6 + L123.6,49.6z M123.8,56.4c0,2.3-3,4.2-6.7,4.2s-6.7-1.9-6.7-4.2c0-2.3,3-4.2,6.7-4.2C120.9,52.2,123.8,54,123.8,56.4z M121,56.4 + c0-1.5-1.7-2.7-3.8-2.7s-3.8,1.2-3.8,2.7s1.7,2.7,3.8,2.7C119.3,59,121,57.8,121,56.4z"/> + <path id="XMLID_5141_" class="st2" d="M104,47.4h-2.5v-1.5h2.5V42h2.7v12.9H104V47.4z M96.8,58.2v-4.9h-2.7v4.6 + c0,0-0.1,1.2,1.5,1.5c0.7,0.2,2.4,0.5,5.3,0.5c2.9,0,5.8-0.6,5.8-0.6v-1.5c-0.2,0.1-3.1,0.5-5.9,0.5 + C98.2,58.4,97.2,58.3,96.8,58.2z M96.6,48.5c1,1.5,2.8,2.7,4.2,3.5l1.1-1.3c-2.4-1.6-3.8-3.5-3.8-6.2V44h3.3v-1.5H92V44h3.3v0.4 + c0,2.8-1.4,4.6-3.8,6.2l1.1,1.3C93.8,51.2,95.6,49.9,96.6,48.5z"/> + <path id="XMLID_5135_" class="st2" d="M14.9,45.9h2.6v1.5h-2.6v7.5h-2.7V42h2.7V45.9z M5.1,58.2v-4.9H2.4v4.6c0,0-0.1,1.2,1.5,1.5 + c0.7,0.2,2.4,0.5,5.3,0.5s5.8-0.6,5.8-0.6v-1.5c-0.2,0.1-3.1,0.5-5.9,0.5C6.5,58.4,5.5,58.3,5.1,58.2z M9.5,47.9 + c0-1.2-0.5-2.2-1.4-3h1.4v-1.5H6.3V42h-3v1.4H0v1.5h1.4c-0.8,0.8-1.4,1.8-1.4,3c0,2.3,2.1,4.2,4.7,4.2C7.4,52.1,9.5,50.2,9.5,47.9 + z M2.6,47.8c0-1.6,1-2.8,2.2-2.8S7,46.3,7,47.8c0,1.6-1,2.8-2.2,2.8S2.6,49.3,2.6,47.8z"/> + <path id="XMLID_5133_" class="st2" d="M34.6,51.1h-7.2v2.2h5.4v7.2h-2.7v-5.7H19.2v-1.5h5.4v-2.2h-7.2v-1.5h12.5V44H19.5v-1.5 + h13.2v7h2L34.6,51.1L34.6,51.1z"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_prog2.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_prog2.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_prog2.svg (revision 7) @@ -0,0 +1,76 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 70.5 61.3" style="enable-background:new 0 0 70.5 61.3;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} + .st1{fill:none;stroke:#38383B;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st2{fill:#DADBE1;} + .st3{fill:#0E8DCC;} + .st4{fill:#FF7F79;} + .st5{clip-path:url(#SVGID_4_);fill:#DADBE1;} + .st6{clip-path:url(#SVGID_6_);fill:#DADBE1;} +</style> +<g> + <g> + <g> + <defs> + <rect id="SVGID_1_" x="13.8" y="3.7" width="42.9" height="42.9"/> + </defs> + <clipPath id="SVGID_2_"> + <use xlink:href="#SVGID_1_" style="overflow:visible;"/> + </clipPath> + </g> + </g> + <polygon class="st0" points="45.7,17.8 69.5,24.2 59,29.9 35.2,23.6 "/> + <polygon class="st1" points="45.7,17.8 69.5,24.2 59,29.9 35.2,23.6 "/> + <polygon class="st0" points="24.7,17.8 1,24.2 11.5,29.9 35.2,23.6 "/> + <polygon class="st1" points="24.7,17.8 1,24.2 11.5,29.9 35.2,23.6 "/> + <polygon class="st2" points="35.2,23.6 59,29.9 59,53.9 35.2,45.6 "/> + <polygon class="st1" points="35.2,23.6 59,29.9 59,53.9 35.2,45.6 "/> + <polygon class="st2" points="35.2,23.6 11.5,29.9 11.5,53.9 35.2,45.6 "/> + <polygon class="st1" points="35.2,23.6 11.5,29.9 11.5,53.9 35.2,45.6 "/> + <polygon class="st3" points="35.2,38.1 20.2,34.1 20.2,15.8 35.2,19.8 "/> + <polygon class="st1" points="35.2,38.1 20.2,34.1 20.2,15.8 35.2,19.8 "/> + <polygon class="st3" points="35.2,38.1 50.2,34.1 50.2,15.8 35.2,19.8 "/> + <polygon class="st1" points="35.2,38.1 50.2,34.1 50.2,15.8 35.2,19.8 "/> + <polygon class="st3" points="20.2,15.8 35.2,19.8 50.2,15.8 35.2,11.7 "/> + <polygon class="st1" points="20.2,15.8 35.2,19.8 50.2,15.8 35.2,11.7 "/> + <polygon class="st0" points="35.2,60.3 11.5,53.9 11.5,29.9 35.2,36.3 "/> + <polygon class="st1" points="35.2,60.3 11.5,53.9 11.5,29.9 35.2,36.3 "/> + <polygon class="st0" points="59,29.9 59,53.9 35.2,60.3 35.2,36.3 "/> + <polygon class="st1" points="59,29.9 59,53.9 35.2,60.3 35.2,36.3 "/> + <line class="st4" x1="35.2" y1="7.3" x2="35.2" y2="1"/> + <line class="st1" x1="35.2" y1="7.3" x2="35.2" y2="1"/> + <line class="st4" x1="27.8" y1="8.7" x2="25.4" y2="2.9"/> + <line class="st1" x1="27.8" y1="8.7" x2="25.4" y2="2.9"/> + <line class="st4" x1="42.6" y1="8.7" x2="45.1" y2="2.9"/> + <line class="st1" x1="42.6" y1="8.7" x2="45.1" y2="2.9"/> + <g> + <g> + <defs> + <rect id="SVGID_3_" x="35.2" y="29.9" width="23.7" height="17.8"/> + </defs> + <clipPath id="SVGID_4_"> + <use xlink:href="#SVGID_3_" style="overflow:visible;"/> + </clipPath> + <polygon class="st5" points="59,29.9 59,43.3 42.1,47.8 35.2,36.3 "/> + </g> + </g> + <g> + <g> + <defs> + <rect id="SVGID_5_" x="11.5" y="29.9" width="23.7" height="17.8"/> + </defs> + <clipPath id="SVGID_6_"> + <use xlink:href="#SVGID_5_" style="overflow:visible;"/> + </clipPath> + <polygon class="st6" points="11.5,29.9 11.5,43.3 28.4,47.8 35.2,36.3 "/> + </g> + </g> + <polygon class="st0" points="45.7,42.1 69.5,35.7 59,29.9 35.2,36.3 "/> + <polygon class="st1" points="45.7,42.1 69.5,35.7 59,29.9 35.2,36.3 "/> + <polygon class="st0" points="24.7,42.1 1,35.7 11.5,29.9 35.2,36.3 "/> + <polygon class="st1" points="24.7,42.1 1,35.7 11.5,29.9 35.2,36.3 "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_star2.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_star2.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_star2.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 37.38 35.83" style="enable-background:new 0 0 37.38 35.83;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#ECECEB;} +</style> +<path class="st0" d="M20.31,1.06l4.38,8.87c0.26,0.53,0.77,0.9,1.36,0.99l9.79,1.42c1.48,0.22,2.07,2.03,1,3.08l-7.08,6.9 + c-0.43,0.41-0.62,1.01-0.52,1.6l1.67,9.75c0.25,1.47-1.3,2.6-2.62,1.9l-8.75-4.6c-0.53-0.28-1.15-0.28-1.68,0l-8.75,4.6 + c-1.32,0.7-2.87-0.43-2.62-1.9l1.67-9.75c0.1-0.59-0.09-1.18-0.52-1.6l-7.08-6.9c-1.07-1.04-0.48-2.86,1-3.08l9.79-1.42 + c0.59-0.09,1.1-0.45,1.36-0.99l4.38-8.87C17.73-0.28,19.65-0.28,20.31,1.06z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/text_arrow_blue.svg =================================================================== --- base3.10/src/main/webapp/images/custom/text_arrow_blue.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/text_arrow_blue.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 11.9 11.9" style="enable-background:new 0 0 11.9 11.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#7AAAC5;} + .st1{fill:#68A4C5;} +</style> +<g> + <polygon class="st0" points="0,11.2 0,0.5 10.7,0.5 "/> + <path class="st1" d="M0,11.9L11.9,0H0V11.9z M9.5,1L0,10.7V1H9.5z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_login.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_login.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_login.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 29.1 36.7" style="enable-background:new 0 0 29.1 36.7;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#323232;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M4.2,8.3c0-3.7,3-6.8,6.8-6.8h9.9c3.7,0,6.8,3,6.8,6.8v20.1c0,3.7-3,6.8-6.8,6.8h-9.9c-3.7,0-6.8-3-6.8-6.8"/> + <polyline class="st0" points="12.9,11.4 19.8,18.3 12.9,25.3 "/> + <line class="st0" x1="19.8" y1="18.3" x2="1.7" y2="18.3"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/radio_on.svg =================================================================== --- base3.10/src/main/webapp/images/custom/radio_on.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/radio_on.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 8.8 8.8" style="enable-background:new 0 0 8.8 8.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#333333;} +</style> +<g> + <g> + <g> + <circle class="st0" cx="4.4" cy="4.4" r="4.4"/> + </g> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_lock_bold.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_lock_bold.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_lock_bold.svg (revision 7) @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 24.1 28.8" style="enable-background:new 0 0 24.1 28.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} + .st1{fill:none;stroke:#333333;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st2{fill:#D5D6D5;} + .st3{fill:none;} +</style> +<rect x="1.3" y="10.4" class="st0" width="21.5" height="17"/> +<rect x="1.3" y="10.4" class="st1" width="21.5" height="17"/> +<path class="st2" d="M14,17.2c0,1-0.9,1.9-1.9,1.9s-1.9-0.9-1.9-1.9c0-1,0.9-1.9,1.9-1.9C13.1,15.3,14,16.1,14,17.2"/> +<path class="st1" d="M14,17.2c0,1-0.9,1.9-1.9,1.9s-1.9-0.9-1.9-1.9c0-1,0.9-1.9,1.9-1.9C13.1,15.3,14,16.1,14,17.2z"/> +<line class="st3" x1="12.1" y1="19.2" x2="12.1" y2="23.5"/> +<line class="st1" x1="12.1" y1="19.2" x2="12.1" y2="23.5"/> +<path class="st0" d="M18.1,10.4H6V5.1c0-2,1.6-3.6,3.6-3.6h4.8c2,0,3.6,1.6,3.6,3.6L18.1,10.4L18.1,10.4z"/> +<path class="st1" d="M18.1,10.4H6V5.1c0-2,1.6-3.6,3.6-3.6h4.8c2,0,3.6,1.6,3.6,3.6L18.1,10.4L18.1,10.4z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/box_body4.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/box_body4.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/youtube_link.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/youtube_link.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_tos5.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tos5.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tos5.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 30.8 30.8" style="enable-background:new 0 0 30.8 30.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:9.9998;} + .st1{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <rect x="13.8" y="7.7" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -2.9117 16.8528)" class="st0" width="10.1" height="8.4"/> + <rect x="22" y="0.2" transform="matrix(0.7072 -0.707 0.707 0.7072 1.8634 18.8243)" class="st0" width="3.4" height="14"/> + <line class="st1" x1="11.4" y1="19.4" x2="1" y2="29.8"/> + <path class="st1" d="M17.8,25.7L5.1,13l0.3-0.3c2-2,5.2-2,7.1,0l5.6,5.6c2,2,2,5.2,0,7.1L17.8,25.7z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/satisfaction.svg =================================================================== --- base3.10/src/main/webapp/images/custom/satisfaction.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/satisfaction.svg (revision 7) @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 205.34 35.73" style="enable-background:new 0 0 205.34 35.73;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#ECECEB;} +</style> +<g> + <path class="st0" d="M20.31,1.01l4.38,8.87c0.26,0.53,0.77,0.9,1.36,0.99l9.79,1.42c1.48,0.22,2.07,2.03,1,3.08l-7.08,6.9 + c-0.43,0.41-0.62,1.01-0.52,1.6l1.67,9.75c0.25,1.47-1.3,2.6-2.62,1.9l-8.75-4.6c-0.53-0.28-1.15-0.28-1.68,0l-8.75,4.6 + c-1.32,0.7-2.87-0.43-2.62-1.9l1.67-9.75c0.1-0.59-0.09-1.18-0.52-1.6l-7.08-6.9c-1.07-1.04-0.48-2.86,1-3.08l9.79-1.42 + c0.59-0.09,1.1-0.45,1.36-0.99l4.38-8.87C17.73-0.34,19.65-0.34,20.31,1.01z"/> + <path class="st0" d="M62.3,1.01l4.38,8.87c0.26,0.53,0.77,0.9,1.36,0.99l9.79,1.42c1.48,0.22,2.07,2.03,1,3.08l-7.08,6.9 + c-0.43,0.41-0.62,1.01-0.52,1.6l1.67,9.75c0.25,1.47-1.3,2.6-2.62,1.9l-8.75-4.6c-0.53-0.28-1.15-0.28-1.68,0l-8.75,4.6 + c-1.32,0.7-2.87-0.43-2.62-1.9l1.67-9.75c0.1-0.59-0.09-1.18-0.52-1.6l-7.08-6.9c-1.07-1.04-0.48-2.86,1-3.08l9.79-1.42 + c0.59-0.09,1.1-0.45,1.36-0.99l4.38-8.87C59.72-0.34,61.64-0.34,62.3,1.01z"/> + <path class="st0" d="M104.29,1.01l4.38,8.87c0.26,0.53,0.77,0.9,1.36,0.99l9.79,1.42c1.48,0.22,2.07,2.03,1,3.08l-7.08,6.9 + c-0.43,0.41-0.62,1.01-0.52,1.6l1.67,9.75c0.25,1.47-1.3,2.6-2.62,1.9l-8.75-4.6c-0.53-0.28-1.15-0.28-1.68,0l-8.75,4.6 + c-1.32,0.7-2.87-0.43-2.62-1.9l1.67-9.75c0.1-0.59-0.09-1.18-0.52-1.6l-7.08-6.9c-1.07-1.04-0.48-2.86,1-3.08l9.79-1.42 + c0.59-0.09,1.1-0.45,1.36-0.99l4.38-8.87C101.71-0.34,103.63-0.34,104.29,1.01z"/> + <path class="st0" d="M146.28,1.01l4.38,8.87c0.26,0.53,0.77,0.9,1.36,0.99l9.79,1.42c1.48,0.22,2.07,2.03,1,3.08l-7.08,6.9 + c-0.43,0.41-0.62,1.01-0.52,1.6l1.67,9.75c0.25,1.47-1.3,2.6-2.62,1.9l-8.75-4.6c-0.53-0.28-1.15-0.28-1.68,0l-8.75,4.6 + c-1.32,0.7-2.87-0.43-2.62-1.9l1.67-9.75c0.1-0.59-0.09-1.18-0.52-1.6l-7.08-6.9c-1.07-1.04-0.48-2.86,1-3.08l9.79-1.42 + c0.59-0.09,1.1-0.45,1.36-0.99l4.38-8.87C143.7-0.34,145.62-0.34,146.28,1.01z"/> + <path class="st0" d="M188.27,1.01l4.38,8.87c0.26,0.53,0.77,0.9,1.36,0.99l9.79,1.42c1.48,0.22,2.07,2.03,1,3.08l-7.08,6.9 + c-0.43,0.41-0.62,1.01-0.52,1.6l1.67,9.75c0.25,1.47-1.3,2.6-2.62,1.9l-8.75-4.6c-0.53-0.28-1.15-0.28-1.68,0l-8.75,4.6 + c-1.32,0.7-2.87-0.43-2.62-1.9l1.67-9.75c0.1-0.59-0.09-1.18-0.52-1.6l-7.08-6.9c-1.07-1.04-0.48-2.86,1-3.08l9.79-1.42 + c0.59-0.09,1.1-0.45,1.36-0.99l4.38-8.87C185.69-0.34,187.61-0.34,188.27,1.01z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/arrow_double_right.svg =================================================================== --- base3.10/src/main/webapp/images/custom/arrow_double_right.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/arrow_double_right.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 61 66.6" style="enable-background:new 0 0 61 66.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#3C3C3C;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="4.5,4.5 33.3,33.3 4.5,62.1 "/> + <polyline class="st0" points="27.7,4.5 56.5,33.3 27.7,62.1 "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_list.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_list.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_list.svg (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 52.7 34.7" style="enable-background:new 0 0 52.7 34.7;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#323232;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <g> + <line class="st0" x1="3" y1="3" x2="3" y2="3"/> + <line class="st0" x1="3" y1="17.4" x2="3" y2="17.4"/> + <line class="st0" x1="3" y1="31.7" x2="3" y2="31.7"/> + </g> + <g> + <line class="st0" x1="49.7" y1="3" x2="14.9" y2="3"/> + <line class="st0" x1="49.7" y1="17.4" x2="14.9" y2="17.4"/> + <line class="st0" x1="49.7" y1="31.7" x2="14.9" y2="31.7"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_minus_on.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_minus_on.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_minus_on.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 27 27" style="enable-background:new 0 0 27 27;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#007DC3;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<line class="st0" x1="2.3" y1="13.5" x2="24.7" y2="13.5"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_filedown.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_filedown.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_filedown.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 37 30" style="enable-background:new 0 0 37 30;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#323232;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="25.5,13.1 18.5,20.1 11.5,13.1 "/> + <polyline class="st0" points="35.5,16.5 35.5,28.5 1.5,28.5 1.5,16.5 "/> + <line class="st0" x1="18.5" y1="20.1" x2="18.5" y2="1.5"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_home_fff.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_home_fff.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_home_fff.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 29.1 24" style="enable-background:new 0 0 29.1 24;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="0.8,10.4 14.5,0.8 28.3,10.4 "/> + <path class="st0" d="M4,12.1v11.1h7.2v-4.7c0-1.9,1.5-3.4,3.4-3.4l0,0c1.9,0,3.4,1.5,3.4,3.4v4.7h7.2V12.1"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_trash_on.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_trash_on.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_trash_on.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" focusable="false" + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 448 512" + style="enable-background:new 0 0 448 512;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#007DC3;} +</style> +<path class="st0" d="M268,416h24c6.6,0,12-5.4,12-12V188c0-6.6-5.4-12-12-12h-24c-6.6,0-12,5.4-12,12v216 + C256,410.6,261.4,416,268,416z M432,80h-82.4l-34-56.7C306.9,8.8,291.3,0,274.4,0H173.6c-16.9,0-32.5,8.8-41.2,23.3L98.4,80H16 + C7.2,80,0,87.2,0,96v16c0,8.8,7.2,16,16,16h16v336c0,26.5,21.5,48,48,48l0,0h288c26.5,0,48-21.5,48-48l0,0V128h16 + c8.8,0,16-7.2,16-16V96C448,87.2,440.8,80,432,80z M171.8,50.9c1.1-1.8,3-2.9,5.2-2.9h94c2.1,0,4.1,1.1,5.1,2.9L293.6,80H154.4 + L171.8,50.9z M368,464H80V128h288V464z M156,416h24c6.6,0,12-5.4,12-12V188c0-6.6-5.4-12-12-12h-24c-6.6,0-12,5.4-12,12v216 + C144,410.6,149.4,416,156,416z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/item_ex.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/item_ex.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_tos6.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tos6.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tos6.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 23.1 31" style="enable-background:new 0 0 23.1 31;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <line class="st0" x1="1" y1="30" x2="10.6" y2="30"/> + <polygon class="st0" points="22.1,14.6 5.8,14.6 5.8,4.4 22.1,4.4 17.6,9.5 "/> + <line class="st0" x1="5.8" y1="1" x2="5.8" y2="30"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree1.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree1.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree1.svg (revision 7) @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="12.13px" height="15.643px" viewBox="0 0 12.13 15.643" enable-background="new 0 0 12.13 15.643" xml:space="preserve"> +<g> + <g> + <g> + <rect x="2.284" y="2.933" fill="#828282" width="1.495" height="0.81"/> + <rect x="4.922" y="2.933" fill="#828282" width="2.285" height="0.81"/> + <rect x="8.349" y="2.933" fill="#828282" width="1.496" height="0.81"/> + </g> + <g> + <rect x="2.284" y="5.454" fill="#828282" width="1.495" height="0.81"/> + <rect x="4.922" y="5.454" fill="#828282" width="2.285" height="0.81"/> + <rect x="8.349" y="5.454" fill="#828282" width="1.496" height="0.81"/> + </g> + <g> + <rect x="2.284" y="7.974" fill="#828282" width="1.495" height="0.81"/> + <rect x="4.922" y="7.974" fill="#828282" width="2.285" height="0.81"/> + <rect x="8.349" y="7.974" fill="#828282" width="1.496" height="0.81"/> + </g> + </g> + <path fill="#828282" d="M4.922,15.076h2.285v-3.001H4.922V15.076z"/> + <g> + <path fill="#828282" d="M6.533,15.643h5.233c0.2,0,0.363-0.162,0.363-0.362V0.363C12.13,0.163,11.967,0,11.767,0H0.363 + C0.163,0,0,0.163,0,0.363V15.28c0,0.2,0.163,0.362,0.363,0.362h5.443 M0.727,0.726h10.677v14.191H0.727V0.726z"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_people.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_people.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_people.svg (revision 7) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 106.45 110.07" style="enable-background:new 0 0 106.45 110.07;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#343231;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st1{fill:none;stroke:#343231;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M78.87,30.64c0,14.16-11.48,25.64-25.64,25.64c-14.16,0-25.64-11.48-25.64-25.64C27.59,16.48,39.07,5,53.23,5 + C67.39,5,78.87,16.48,78.87,30.64z"/> + <path class="st0" d="M5,105.07L5,105.07c0-17.28,14.01-31.29,31.29-31.29h33.88c17.28,0,31.29,14.01,31.29,31.29l0,0"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tos7.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tos7.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tos7.svg (revision 7) @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 145.4 112.4" style="enable-background:new 0 0 145.4 112.4;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polygon class="st0" points="125.8,81 40.2,81 26.5,19.1 139.5,19.1 "/> + <polygon class="st0" points="125.8,81 40.2,81 26.5,19.1 139.5,19.1 "/> + <polyline class="st0" points="40.2,81 23.5,5.3 5.9,5.3 "/> + <polyline class="st0" points="40.2,81 23.5,5.3 5.9,5.3 "/> + <path class="st0" d="M56,99.2c0,4.4-3.5,7.9-7.9,7.9c-4.3,0-7.9-3.5-7.9-7.9c0-4.4,3.5-7.9,7.9-7.9C52.5,91.3,56,94.9,56,99.2"/> + <path class="st0" d="M56,99.2c0,4.4-3.5,7.9-7.9,7.9c-4.3,0-7.9-3.5-7.9-7.9c0-4.4,3.5-7.9,7.9-7.9C52.5,91.3,56,94.9,56,99.2z"/> + <path class="st0" d="M110.4,99.2c0,4.4,3.5,7.9,7.9,7.9s7.9-3.5,7.9-7.9c0-4.4-3.5-7.9-7.9-7.9C114,91.3,110.4,94.9,110.4,99.2"/> + <path class="st0" d="M110.4,99.2c0,4.4,3.5,7.9,7.9,7.9s7.9-3.5,7.9-7.9c0-4.4-3.5-7.9-7.9-7.9C114,91.3,110.4,94.9,110.4,99.2z"/> + <line class="st0" x1="83" y1="35.4" x2="83" y2="65.3"/> + <line class="st0" x1="83" y1="35.4" x2="83" y2="65.3"/> + <line class="st0" x1="58" y1="35.4" x2="61.6" y2="65.3"/> + <line class="st0" x1="58" y1="35.4" x2="61.6" y2="65.3"/> + <line class="st0" x1="108" y1="35.4" x2="104.4" y2="65.3"/> + <line class="st0" x1="108" y1="35.4" x2="104.4" y2="65.3"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_radio_true_part.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_radio_true_part.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_radio_true_part.svg (revision 7) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="24.038px" height="24.039px" viewBox="0 0 24.038 24.039" enable-background="new 0 0 24.038 24.039" xml:space="preserve"> +<circle fill="#FFFFFF" cx="12.02" cy="12.02" r="11.33"/> +<path fill="#838383" d="M12.02,24.039C5.393,24.039,0,18.648,0,12.02C0,5.393,5.393,0,12.02,0c6.626,0,12.019,5.392,12.019,12.02 + C24.039,18.648,18.646,24.039,12.02,24.039z M12.02,1.379c-5.867,0-10.641,4.773-10.641,10.641S6.153,22.66,12.02,22.66 + c5.867,0,10.64-4.772,10.64-10.64S17.887,1.379,12.02,1.379z"/> +<circle fill="#838383" cx="12.019" cy="12.021" r="6.078"/> +</svg> Index: base3.10/src/main/webapp/images/custom/arrow_right_fff.svg =================================================================== --- base3.10/src/main/webapp/images/custom/arrow_right_fff.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/arrow_right_fff.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 37.8 66.6" style="enable-background:new 0 0 37.8 66.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<polyline class="st0" points="4.5,4.5 33.3,33.3 4.5,62.1 "/> +</svg> Index: base3.10/src/main/webapp/images/custom/box_cover3.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/box_cover3.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_full.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_full.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_full.svg (revision 7) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="17.352px" height="17.352px" viewBox="-1.679 18.564 17.352 17.352" enable-background="new -1.679 18.564 17.352 17.352" + xml:space="preserve"> +<g> + <path fill="#221F1F" d="M14.923,24.746c-0.414,0-0.75-0.336-0.75-0.75v-3.874h-3.9c-0.414,0-0.75-0.336-0.75-0.75 + s0.336-0.75,0.75-0.75h4.65c0.414,0,0.75,0.336,0.75,0.75v4.624C15.673,24.41,15.337,24.746,14.923,24.746z"/> + <path fill="#221F1F" d="M10.413,24.632c-0.191,0-0.383-0.074-0.529-0.221c-0.293-0.293-0.293-0.768,0-1.061l3.977-3.977 + c0.293-0.293,0.768-0.293,1.061,0s0.293,0.768,0,1.061l-3.977,3.977C10.798,24.558,10.606,24.632,10.413,24.632z"/> + <path fill="#221F1F" d="M-0.872,24.715c-0.414,0-0.75-0.336-0.75-0.75v-4.651c0-0.414,0.336-0.75,0.75-0.75h4.623 + c0.414,0,0.75,0.336,0.75,0.75s-0.336,0.75-0.75,0.75h-3.873v3.901C-0.122,24.379-0.458,24.715-0.872,24.715z"/> + <path fill="#221F1F" d="M3.64,24.573c-0.191,0-0.384-0.073-0.53-0.22l-3.979-3.977c-0.293-0.293-0.293-0.768,0-1.061 + c0.292-0.293,0.768-0.295,1.061,0l3.979,3.977c0.293,0.293,0.293,0.768,0,1.061C4.024,24.5,3.833,24.573,3.64,24.573z"/> + <path fill="#221F1F" d="M3.721,35.859h-4.65c-0.414,0-0.75-0.336-0.75-0.75v-4.625c0-0.414,0.336-0.75,0.75-0.75 + s0.75,0.336,0.75,0.75v3.875h3.9c0.414,0,0.75,0.336,0.75,0.75S4.135,35.859,3.721,35.859z"/> + <path fill="#221F1F" d="M-0.398,35.326c-0.192,0-0.384-0.073-0.53-0.22c-0.293-0.293-0.293-0.768,0-1.061l3.978-3.978 + c0.293-0.293,0.768-0.293,1.061,0s0.293,0.768,0,1.061l-3.978,3.978C-0.014,35.252-0.206,35.326-0.398,35.326z"/> + <path fill="#221F1F" d="M14.864,35.916h-4.623c-0.414,0-0.75-0.336-0.75-0.75s0.336-0.75,0.75-0.75h3.873v-3.9 + c0-0.414,0.336-0.75,0.75-0.75s0.75,0.336,0.75,0.75v4.65C15.614,35.58,15.278,35.916,14.864,35.916z"/> + <path fill="#221F1F" d="M14.333,35.384c-0.191,0-0.385-0.072-0.531-0.219l-3.979-3.978c-0.293-0.292-0.293-0.768,0-1.061 + c0.293-0.292,0.768-0.294,1.061,0l3.979,3.978c0.293,0.292,0.293,0.768,0,1.061C14.716,35.312,14.524,35.384,14.333,35.384z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_p.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_p.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_p.svg (revision 7) @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="24.166px" height="24.165px" viewBox="0 0 24.166 24.165" enable-background="new 0 0 24.166 24.165" xml:space="preserve"> +<path fill="#FFFFFF" d="M2.097,23.588c-0.84,0-1.523-0.685-1.523-1.521V2.099c0-0.84,0.684-1.522,1.523-1.522h19.966 + c0.84,0,1.522,0.683,1.522,1.522v19.968c0,0.84-0.685,1.521-1.522,1.521H2.097z"/> +<path d="M22.063,0H2.096c-1.158,0-2.1,0.941-2.1,2.099v19.968c0,1.156,0.942,2.098,2.1,2.098h19.966 + c1.159,0,2.102-0.941,2.102-2.098V2.099C24.162,0.942,23.219,0,22.063,0z M22.063,23.01H2.096c-0.522,0-0.947-0.424-0.947-0.945 + V2.099c0-0.521,0.425-0.946,0.947-0.946l19.966-0.002c0.522,0,0.947,0.425,0.947,0.946v19.968 + C23.01,22.586,22.585,23.01,22.063,23.01z"/> +<path d="M12.08,19.434c-0.742,0-1.344-0.602-1.344-1.344V6.075c0-0.742,0.602-1.344,1.344-1.344l0,0 + c0.742,0,1.344,0.602,1.344,1.344V18.09C13.424,18.833,12.822,19.434,12.08,19.434L12.08,19.434z"/> +<path d="M19.433,12.083c0,0.743-0.602,1.344-1.344,1.344H6.073c-0.742,0-1.344-0.602-1.344-1.344l0,0 + c0-0.742,0.602-1.344,1.344-1.344h12.016C18.831,10.739,19.433,11.341,19.433,12.083L19.433,12.083z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/main_job4.svg =================================================================== --- base3.10/src/main/webapp/images/custom/main_job4.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/main_job4.svg (revision 7) @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 109.5 83" style="enable-background:new 0 0 109.5 83;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#ABC5E3;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#FFFFFF;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st2{fill:none;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st3{fill:#FFFFFF;stroke:#38383B;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st4{fill:none;stroke:#38383B;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st5{fill:#ABC5E3;stroke:#365587;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st6{fill:#DADAE0;} + .st7{fill:#FFFFFF;} +</style> +<g> + <g> + <path class="st0" d="M27.9,7.9c0,3.4-2.8,6.2-6.2,6.2s-6.2-2.8-6.2-6.2c0-3.4,2.8-6.2,6.2-6.2S27.9,4.5,27.9,7.9z"/> + <path class="st3" d="M9,42.4v-19c0-3.4,2.8-6.2,6.2-6.2h12.9c3.4,0,6.2,2.8,6.2,6.2v19"/> + <polyline class="st3" points="14.3,28.6 14.3,77.6 21.5,77.6 21.5,52.3 21.5,77.6 28.8,77.6 28.8,28.6 "/> + <path class="st0" d="M62.2,7.9c0,3.4-2.8,6.2-6.2,6.2c-3.4,0-6.2-2.8-6.2-6.2c0-3.4,2.8-6.2,6.2-6.2C59.4,1.8,62.2,4.5,62.2,7.9z" + /> + <path class="st3" d="M43.3,42.4v-19c0-3.4,2.8-6.2,6.2-6.2h12.9c3.4,0,6.2,2.8,6.2,6.2v19"/> + <polyline class="st3" points="48.6,28.6 48.6,77.6 55.8,77.6 55.8,52.3 55.8,77.6 63.1,77.6 63.1,28.6 "/> + <path class="st0" d="M96.5,7.9c0,3.4-2.8,6.2-6.2,6.2c-3.4,0-6.2-2.8-6.2-6.2c0-3.4,2.8-6.2,6.2-6.2C93.7,1.8,96.5,4.5,96.5,7.9z" + /> + <path class="st3" d="M77.6,42.4v-19c0-3.4,2.8-6.2,6.2-6.2h12.9c3.4,0,6.2,2.8,6.2,6.2v19"/> + <polyline class="st3" points="82.9,28.6 82.9,77.6 90.1,77.6 90.1,52.3 90.1,77.6 97.4,77.6 97.4,28.6 "/> + </g> + <rect x="1.8" y="38.3" class="st3" width="106" height="43"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tba2.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tba2.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tba2.svg (revision 7) @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 58 48" style="enable-background:new 0 0 58 48;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#5DA3C0;} + .st1{fill:none;stroke:#38383B;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st2{fill:#FFFFFF;} + .st3{clip-path:url(#SVGID_2_);fill:#DADAE0;} + .st4{clip-path:url(#SVGID_4_);fill:#DADAE0;} + .st5{clip-path:url(#SVGID_6_);fill:#DADAE0;} + .st6{clip-path:url(#SVGID_8_);fill:#DADAE0;} + .st7{fill:#E67677;} + .st8{clip-path:url(#SVGID_10_);fill:#DADAE0;} + .st9{clip-path:url(#SVGID_12_);fill:#DADAE0;} +</style> +<g> + <path class="st2" d="M49.7,4.6C49.7,4.7,49.7,4.7,49.7,4.6L49.7,4.6L49.7,4.6z"/> + <path class="st1" d="M49.7,4.6C49.7,4.7,49.7,4.7,49.7,4.6L49.7,4.6L49.7,4.6z"/> + <path class="st2" d="M49.7,4.6C49.7,4.6,49.7,4.6,49.7,4.6C49.7,4.6,49.7,4.6,49.7,4.6L49.7,4.6L49.7,4.6z"/> + <path class="st1" d="M49.7,4.6C49.7,4.6,49.7,4.6,49.7,4.6C49.7,4.6,49.7,4.6,49.7,4.6L49.7,4.6L49.7,4.6z"/> + <path class="st2" d="M57,4.6c0-2-1.6-3.6-3.6-3.6c0,0,0,0,0,0c-2,0-3.6,1.6-3.6,3.6v0v0v3.6H57V4.6L57,4.6C57,4.6,57,4.6,57,4.6"/> + <path class="st1" d="M57,4.6c0-2-1.6-3.6-3.6-3.6c0,0,0,0,0,0c-2,0-3.6,1.6-3.6,3.6v0v0v3.6H57V4.6L57,4.6C57,4.6,57,4.6,57,4.6z" + /> + <path class="st2" d="M49.7,43.4L49.7,43.4L49.7,43.4C49.7,43.3,49.7,43.3,49.7,43.4"/> + <path class="st1" d="M49.7,43.4L49.7,43.4L49.7,43.4C49.7,43.3,49.7,43.3,49.7,43.4z"/> + <path class="st2" d="M49.7,43.4C49.7,43.4,49.7,43.4,49.7,43.4L49.7,43.4L49.7,43.4C49.7,43.4,49.7,43.4,49.7,43.4"/> + <path class="st1" d="M49.7,43.4C49.7,43.4,49.7,43.4,49.7,43.4L49.7,43.4L49.7,43.4C49.7,43.4,49.7,43.4,49.7,43.4z"/> + <path class="st2" d="M49.7,43.5c0,0,0-0.1,0-0.1v0v0C49.7,43.4,49.7,43.5,49.7,43.5"/> + <path class="st1" d="M49.7,43.5c0,0,0-0.1,0-0.1v0v0C49.7,43.4,49.7,43.5,49.7,43.5z"/> + <path class="st2" d="M49.7,1H18.1c-2,0-3.6,1.6-3.6,3.6v19.1h0v15.9h28v3.6c0,0,0,0,0,0c0,2,1.6,3.6,3.6,3.6c0,0,0,0,0,0 + c1.9,0,3.5-1.5,3.6-3.5c0,0,0-0.1,0-0.1v0v0v-3.6V24.2h0V8.3V4.7c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0,0,0c0-2,1.6-3.6,3.6-3.6 + c0,0,0,0,0,0v0H49.7z"/> + <path class="st1" d="M49.7,1H18.1c-2,0-3.6,1.6-3.6,3.6v19.1h0v15.9h28v3.6c0,0,0,0,0,0c0,2,1.6,3.6,3.6,3.6c0,0,0,0,0,0 + c1.9,0,3.5-1.5,3.6-3.5c0,0,0-0.1,0-0.1v0v0v-3.6V24.2h0V8.3V4.7c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0,0,0c0-2,1.6-3.6,3.6-3.6 + c0,0,0,0,0,0v0H49.7z"/> + <path class="st2" d="M46.1,47C46.1,47,46.1,47,46.1,47c-2,0-3.6-1.6-3.6-3.6c0,0,0,0,0,0h0v-3.6h-28h0H7.2v3.6l0,0c0,0,0,0,0,0 + c0,2,1.6,3.6,3.6,3.6c0,0,0,0,0,0H46.1c2,0,3.5-1.5,3.6-3.5C49.6,45.4,48.1,47,46.1,47"/> + <path class="st1" d="M46.1,47C46.1,47,46.1,47,46.1,47c-2,0-3.6-1.6-3.6-3.6c0,0,0,0,0,0h0v-3.6h-28h0H7.2v3.6l0,0c0,0,0,0,0,0 + c0,2,1.6,3.6,3.6,3.6c0,0,0,0,0,0H46.1c2,0,3.5-1.5,3.6-3.5C49.6,45.4,48.1,47,46.1,47z"/> + <polygon class="st2" points="24.2,25.1 26.8,29.9 29.5,34.8 24.6,32.1 19.9,29.5 "/> + <polygon class="st1" points="24.2,25.1 26.8,29.9 29.5,34.8 24.6,32.1 19.9,29.5 "/> + <path class="st0" d="M1.2,10.9l18.6,18.6c0.6,0.6,2,0.1,3.2-1.1c1.2-1.2,1.7-2.7,1.1-3.2L5.6,6.5L1.2,10.9z"/> + <path class="st1" d="M1.2,10.9l18.6,18.6c0.6,0.6,2,0.1,3.2-1.1c1.2-1.2,1.7-2.7,1.1-3.2L5.6,6.5L1.2,10.9z"/> + <path class="st2" d="M5.6,6.5c0.6,0.6,0.1,2-1.1,3.2c-1.2,1.2-2.7,1.7-3.2,1.1c-0.6-0.6-0.1-2,1.1-3.2C3.6,6.4,5,5.9,5.6,6.5"/> + <path class="st1" d="M5.6,6.5c0.6,0.6,0.1,2-1.1,3.2c-1.2,1.2-2.7,1.7-3.2,1.1c-0.6-0.6-0.1-2,1.1-3.2C3.6,6.4,5,5.9,5.6,6.5z"/> + <polygon class="st7" points="26.8,29.9 29.5,34.8 24.6,32.1 "/> + <polygon class="st1" points="26.8,29.9 29.5,34.8 24.6,32.1 "/> + <line class="st1" x1="21.7" y1="8.7" x2="42.2" y2="8.7"/> + <line class="st1" x1="21.7" y1="15" x2="42.2" y2="15"/> + <line class="st1" x1="27.1" y1="21.3" x2="42.2" y2="21.3"/> + <line class="st1" x1="30.8" y1="27.6" x2="42.2" y2="27.6"/> + <line class="st1" x1="34.9" y1="33.9" x2="42.2" y2="33.9"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/chatbot_icon.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/chatbot_icon.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/bg_cloud1.svg =================================================================== --- base3.10/src/main/webapp/images/custom/bg_cloud1.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/bg_cloud1.svg (revision 7) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 66.1 36" style="enable-background:new 0 0 66.1 36;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#3BBCFD;} +</style> +<path class="st0" d="M58.2,20.2c-0.4,0-0.8,0-1.1,0.1c-1.8-3.6-5.5-6-9.7-6c-0.1,0-0.3,0-0.4,0C45.2,6.1,38,0,29.4,0 + c-8.7,0-15.9,6.1-17.6,14.3c-0.3,0-0.6,0-0.9,0C4.9,14.2,0,19.1,0,25.1C0,31.1,4.9,36,10.9,36h47.4c4.4,0,7.9-3.5,7.9-7.9 + C66.1,23.7,62.6,20.2,58.2,20.2z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/file_zip.svg =================================================================== --- base3.10/src/main/webapp/images/custom/file_zip.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/file_zip.svg (revision 7) @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="446.461px" height="595.396px" viewBox="0 0 446.461 595.396" enable-background="new 0 0 446.461 595.396" + xml:space="preserve"> +<path fill="#333333" d="M430.066,113.824l-97.547-97.547C322.055,5.813,307.871-0.116,293.105-0.116H55.806 + C24.997,0,0,24.997,0,55.808v483.665c0,30.813,24.997,55.811,55.808,55.811h334.845c30.813,0,55.81-24.998,55.81-55.811V153.354 + C446.46,138.589,440.53,124.288,430.066,113.824z M386.117,148.82h-88.479V60.342L386.117,148.82z M55.806,539.472V55.808h186.025 + v120.916c0,15.463,12.438,27.904,27.901,27.904H390.65v334.845L55.806,539.472L55.806,539.472z"/> +<g> + <path fill="#333333" d="M121.884,404.763l45.889-70.229h-41.5v-16.36h65.574v11.705l-45.756,70.229h46.288v16.493h-70.496V404.763z + "/> + <path fill="#333333" d="M209.799,318.173h19.686v98.428h-19.686V318.173z"/> + <path fill="#333333" d="M253.688,318.173h32.322c21.814,0,38.574,7.581,38.574,30.858c0,22.479-16.893,32.588-38.041,32.588 + h-13.168v34.981h-19.688V318.173z M285.213,366.057c13.566,0,20.084-5.72,20.084-17.025c0-11.439-7.184-15.297-20.75-15.297 + h-11.172v32.322H285.213z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_blank.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_blank.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_blank.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 37.3 37.3" style="enable-background:new 0 0 37.3 37.3;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#323232;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="17.3,10 27.3,10 27.3,20 "/> + <line class="st0" x1="27.3" y1="10" x2="9.7" y2="27.6"/> +</g> +<path class="st0" d="M35.8,17.1v11c0,4.2-3.4,7.7-7.7,7.7h-19c-4.2,0-7.7-3.4-7.7-7.7v-19c0-4.2,3.4-7.7,7.7-7.7h11"/> +</svg> Index: base3.10/src/main/webapp/images/custom/arrow_right.svg =================================================================== --- base3.10/src/main/webapp/images/custom/arrow_right.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/arrow_right.svg (revision 7) @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="37.805px" height="66.61px" viewBox="0 0 37.805 66.61" enable-background="new 0 0 37.805 66.61" xml:space="preserve"> +<polyline fill="none" stroke="#3C3C3C" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 4.5,4.5 33.305,33.305 4.5,62.11 "/> +</svg> Index: base3.10/src/main/webapp/images/custom/box_cover4.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/box_cover4.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_arrow_down.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_arrow_down.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_arrow_down.svg (revision 7) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"> +<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="16.131px" height="17.402px" viewBox="0 0 16.131 17.402" xml:space="preserve"> +<g> + <polygon points="11.593,9.943 8.065,15.243 4.539,9.943 "/> + <path d="M7.316,2.621c0-0.256,0.334-0.462,0.75-0.462c0.417,0,0.753,0.206,0.753,0.462v9.22c0,0.253-0.336,0.459-0.753,0.459 + c-0.415,0-0.75-0.206-0.75-0.459V2.621z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/logo_b.svg =================================================================== --- base3.10/src/main/webapp/images/custom/logo_b.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/logo_b.svg (revision 7) @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 219.8 34.5" style="enable-background:new 0 0 219.8 34.5;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:url(#XMLID_2_);} + .st1{fill:url(#XMLID_3_);} + .st2{fill:#373838;} +</style> +<g> + <g id="XMLID_6_"> + <g id="XMLID_7_"> + <g id="XMLID_8_"> + + <linearGradient id="XMLID_2_" gradientUnits="userSpaceOnUse" x1="35.956" y1="29.9652" x2="67.9137" y2="5.7629" gradientTransform="matrix(1 0 0 -1 0 33.89)"> + <stop offset="0" style="stop-color:#00AFEC"/> + <stop offset="0.1679" style="stop-color:#00ADEB"/> + <stop offset="0.3876" style="stop-color:#00A4E4"/> + <stop offset="0.6361" style="stop-color:#0096D9"/> + <stop offset="0.9038" style="stop-color:#0082C9"/> + <stop offset="1" style="stop-color:#0079C3"/> + </linearGradient> + <path id="XMLID_10_" class="st0" d="M58.4,23.8c2.4,1,1.8,3.9-1,3.9H39c-0.5,0-1,0.5-1,1.1v2.4c0,0.6,0.4,1.1,1,1.1h21.4 + c5,0,8.9-2.4,8.9-7.4c0-3.3-1.5-6-5.1-7.6c-2.1-1-15.7-6.7-15.7-6.7c-2.4-1-1.8-3.9,1-3.9h18.3c0.5,0,1-0.5,1-1.1V3.2 + c0-0.6-0.4-1.1-1-1.1H46.5c-5,0-8.9,2.4-8.9,7.4c0,3.3,1.5,6,5.1,7.6C44.8,18.1,58.4,23.8,58.4,23.8z"/> + + <linearGradient id="XMLID_3_" gradientUnits="userSpaceOnUse" x1="5.5248" y1="37.2072" x2="29.151" y2="13.0055" gradientTransform="matrix(1 0 0 -1 0 33.89)"> + <stop offset="5.618000e-03" style="stop-color:#FDD000"/> + <stop offset="1" style="stop-color:#F08300"/> + </linearGradient> + <path id="XMLID_9_" class="st1" d="M36.4,2.1H1c-0.5,0-1,0.5-1,1.1v2.4c0,0.6,0.4,1.1,1,1.1h12.8v24.6c0,0.6,0.5,1.1,1,1.1l0,0 + h7.9l0,0c0.5,0,1-0.5,1-1.1V6.6h12.8c0.5,0,1-0.5,1-1.1V3.2C37.4,2.6,36.9,2.1,36.4,2.1z"/> + </g> + </g> + </g> +</g> +<g> + <path class="st2" d="M106.7,19.6v3.5H100V32h-4.1v-8.9h-6.4V32h-4.1v-8.9h-6.7v-3.5H106.7z M103.1,17.2H82.3V2.8h20.4v3.4H86.4v2.1 + h16v3.4h-16v2.1h16.6V17.2z"/> + <path class="st2" d="M108.8,3.2h4.2v10.3c2.3,0,4.4-0.1,6.5-0.2c2.1-0.1,4.2-0.3,6.3-0.5l0.4,3.5c-1,0.1-2.1,0.2-3.2,0.3 + c-1.1,0.1-2.4,0.2-3.7,0.2c-1.4,0.1-2.9,0.1-4.6,0.1c-1.7,0-3.6,0-5.8,0V3.2z M122.9,33c-1.4,0-2.6-0.1-3.8-0.4 + c-1.2-0.3-2.2-0.7-3-1.2c-0.9-0.5-1.5-1.1-2-1.9s-0.7-1.6-0.7-2.5v-1.4c0-0.9,0.2-1.8,0.7-2.5c0.5-0.7,1.2-1.4,2-1.9 + c0.9-0.5,1.9-0.9,3-1.2c1.2-0.3,2.4-0.4,3.8-0.4c1.4,0,2.6,0.1,3.8,0.4c1.2,0.3,2.2,0.7,3,1.2c0.9,0.5,1.5,1.1,2,1.9 + c0.5,0.7,0.7,1.6,0.7,2.5V27c0,0.9-0.2,1.8-0.7,2.5s-1.2,1.4-2,1.9c-0.9,0.5-1.9,0.9-3,1.2C125.5,32.8,124.2,33,122.9,33z + M122.9,22.9c-0.7,0-1.4,0.1-2.1,0.2c-0.7,0.2-1.2,0.4-1.7,0.6c-0.5,0.3-0.9,0.6-1.2,0.9c-0.3,0.4-0.5,0.7-0.5,1.1v0.9 + c0,0.4,0.2,0.8,0.5,1.1c0.3,0.4,0.7,0.7,1.2,0.9c0.5,0.3,1.1,0.5,1.7,0.6c0.7,0.2,1.3,0.2,2.1,0.2c0.7,0,1.4-0.1,2.1-0.2 + s1.2-0.4,1.7-0.6c0.5-0.3,0.9-0.6,1.2-0.9c0.3-0.4,0.5-0.7,0.5-1.1v-0.9c0-0.4-0.2-0.8-0.5-1.1c-0.3-0.3-0.7-0.7-1.2-0.9 + c-0.5-0.3-1.1-0.5-1.7-0.6S123.6,22.9,122.9,22.9z M132.4,19.4h-4.1v-18h4.1V19.4z"/> + <path class="st2" d="M143.7,16.2c-1.2,0-2.3-0.2-3.3-0.6c-1-0.4-1.8-0.9-2.4-1.5c-0.7-0.6-1.2-1.3-1.5-2.1 + c-0.4-0.8-0.5-1.6-0.5-2.4V8.5c0-0.8,0.2-1.6,0.5-2.4c0.4-0.8,0.9-1.5,1.5-2.1c0.7-0.6,1.5-1.1,2.4-1.5c1-0.4,2.1-0.6,3.3-0.6 + c1.2,0,2.3,0.2,3.3,0.6c1,0.4,1.8,0.9,2.4,1.5c0.7,0.6,1.2,1.3,1.5,2.1c0.3,0.8,0.5,1.6,0.5,2.4v1.1c0,0.8-0.2,1.6-0.5,2.4 + c-0.4,0.8-0.9,1.5-1.5,2.1c-0.7,0.6-1.5,1.1-2.4,1.5C146,16,144.9,16.2,143.7,16.2z M143.7,5.4c-0.6,0-1.2,0.1-1.6,0.3 + c-0.5,0.2-0.9,0.4-1.2,0.7s-0.6,0.6-0.7,1c-0.2,0.4-0.2,0.8-0.2,1.2v0.9c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.4,0.7,0.7,1 + s0.7,0.5,1.2,0.7c0.5,0.2,1,0.3,1.6,0.3c0.6,0,1.2-0.1,1.6-0.3c0.5-0.2,0.9-0.4,1.2-0.7c0.3-0.3,0.6-0.6,0.7-1s0.2-0.8,0.2-1.2V8.6 + c0-0.4-0.1-0.8-0.2-1.2c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.2-0.7C144.9,5.5,144.3,5.4,143.7,5.4z M159.5,18v8.7h-15.1V29 + h16v3.3h-20v-8.7h15.1v-2.3h-15.3V18H159.5z M159.5,7.1h4v3.6h-4v5.9h-4.1V1.5h4.1V7.1z"/> + <path class="st2" d="M169.7,21.3h3.2c1.5,0,3.1,0,4.7-0.1c1.6-0.1,3.2-0.2,4.7-0.4l0.5,3.5c-1.6,0.2-3.3,0.4-5.1,0.5 + c-1.8,0.1-3.8,0.1-5.8,0.1h-6.3V12.3h9.9v-5h-9.9V3.8h14v11.9h-9.9V21.3z M189.2,32h-4.2V1.5h4.2V32z"/> + <path class="st2" d="M201.4,24.7V14h4.1v10.7h14.2v3.5h-28v-3.5H201.4z M210.7,21c0.4-2,0.7-3.9,0.8-5.8c0.2-1.8,0.2-3.7,0.2-5.7 + V7.6h-16.6V4.1h20.8v4.4c0,2.6-0.1,4.9-0.3,7s-0.4,4.1-0.8,6L210.7,21z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/main_job5.svg =================================================================== --- base3.10/src/main/webapp/images/custom/main_job5.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/main_job5.svg (revision 7) @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 107.7 69.3" style="enable-background:new 0 0 107.7 69.3;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#ABC5E3;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#FFFFFF;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st2{fill:none;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st3{fill:#FFFFFF;stroke:#38383B;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st4{fill:none;stroke:#38383B;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st5{fill:#ABC5E3;stroke:#365587;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st6{fill:#DADAE0;} + .st7{fill:#FFFFFF;} +</style> +<g> + <path class="st3" d="M94.1,3.8L81,9L62.1,1.8L40.5,4.1L29.4,14c0,0-2.5,2.3-1.3,6.7c1.2,4.4,7.4,2.2,9.2,1.2c1.8-1,9-4.9,9-4.9 + L85,38.8L106,27.6"/> + <path class="st3" d="M1.8,30.1l11.7,4.7l6,9.6l22.1,9.4l0.5-0.7l20.4,13.1c2,1.3,4.8,0.7,6.1-1.3c1.3-2,0.7-4.8-1.3-6.1l-6.7-4.3 + l9,5.8c2,1.3,4.8,0.7,6.1-1.3c1.3-2,0.7-4.8-1.3-6.1l2.9,1.9c2,1.3,4.8,0.7,6.1-1.3c1.3-2,0.7-4.8-1.3-6.1l-26.3-17l0.1-0.2 + l29.6,19c2.5,1.6,5.8,0.9,7.4-1.6c1.6-2.5,0.9-5.8-1.6-7.4L54,16.3c-1.8-1.2-4-1.1-5.7,0l-8.5-6.7L27.9,8.8L12.3,2.4"/> + <g> + <path class="st3" d="M36.2,54.7c-1.3,2.8-4.6,3.9-7.4,2.6l0,0c-2.8-1.3-3.9-4.6-2.6-7.4l3.4-7.1c1.3-2.8,4.6-3.9,7.4-2.6l0,0 + c2.8,1.3,3.9,4.6,2.6,7.4L36.2,54.7z"/> + <path class="st3" d="M46.2,59.8c-1.3,2.8-4.7,4-7.5,2.7l0,0c-2.8-1.3-4-4.7-2.7-7.5l3.4-7.2c1.3-2.8,4.7-4,7.5-2.7l0,0 + c2.8,1.3,4,4.7,2.7,7.5L46.2,59.8z"/> + <path class="st3" d="M54.4,65c-1.1,2.2-3.8,3.2-6,2.1l0,0c-2.2-1.1-3.2-3.8-2.1-6l2.8-5.8c1.1-2.2,3.8-3.2,6-2.1l0,0 + c2.2,1.1,3.2,3.8,2.1,6L54.4,65z"/> + <path class="st3" d="M25.9,49.6c-1.1,2.2-3.8,3.2-6,2.1l0,0c-2.2-1.1-3.2-3.8-2.1-6l2.8-5.8c1.1-2.2,3.8-3.2,6-2.1l0,0 + c2.2,1.1,3.2,3.8,2.1,6L25.9,49.6z"/> + </g> + <line class="st3" x1="74.4" y1="52.8" x2="51.9" y2="38.9"/> + <line class="st3" x1="60.6" y1="54.4" x2="50.5" y2="48.8"/> + <path class="st3" d="M55.2,17.1c-5.7-1.3-8.9-0.1-8.9-0.1s-7.2,3.9-9,4.9c-1.8,1-8,3.2-9.2-1.2c-1.2-4.4,1.3-6.7,1.3-6.7l11.1-9.9 + l21.6-2.3"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tba3.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tba3.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tba3.svg (revision 7) @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 65.7 44" style="enable-background:new 0 0 65.7 44;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#5DA3C0;} + .st1{fill:none;stroke:#38383B;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st2{fill:#FFFFFF;} + .st3{clip-path:url(#SVGID_2_);fill:#DADAE0;} + .st4{clip-path:url(#SVGID_4_);fill:#DADAE0;} + .st5{clip-path:url(#SVGID_6_);fill:#DADAE0;} + .st6{clip-path:url(#SVGID_8_);fill:#DADAE0;} + .st7{fill:#E67677;} + .st8{clip-path:url(#SVGID_10_);fill:#DADAE0;} + .st9{clip-path:url(#SVGID_12_);fill:#DADAE0;} +</style> +<g> + <rect x="1" y="6.7" class="st0" width="63.7" height="21.6"/> + <rect x="1" y="6.7" class="st1" width="63.7" height="21.6"/> + <polygon class="st0" points="64.7,6.7 1,6.7 5.3,2.3 60.4,2.3 "/> + <polygon class="st1" points="64.7,6.7 1,6.7 5.3,2.3 60.4,2.3 "/> + <rect x="6.3" y="11.9" class="st2" width="53.2" height="11.1"/> + <rect x="6.3" y="11.9" class="st1" width="53.2" height="11.1"/> + <g> + <g> + <defs> + <rect id="SVGID_1_" x="6.3" y="11.9" width="4" height="11.1"/> + </defs> + <clipPath id="SVGID_2_"> + <use xlink:href="#SVGID_1_" style="overflow:visible;"/> + </clipPath> + <rect x="6.3" y="11.9" class="st3" width="4" height="11.1"/> + </g> + </g> + <g> + <g> + <defs> + <rect id="SVGID_3_" x="10.3" y="11.9" width="49.1" height="4"/> + </defs> + <clipPath id="SVGID_4_"> + <use xlink:href="#SVGID_3_" style="overflow:visible;"/> + </clipPath> + <rect x="10.3" y="11.9" class="st4" width="49.1" height="4"/> + </g> + </g> + + <rect x="40.8" y="21.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -6.3561 38.5699)" class="st2" width="5.2" height="10.9"/> + + <rect x="40.8" y="21.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -6.3561 38.5699)" class="st1" width="5.2" height="10.9"/> + <rect x="48.6" y="28.8" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.9672 47.2876)" class="st0" width="7" height="13.8"/> + <rect x="48.6" y="28.8" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.9672 47.2876)" class="st1" width="7" height="13.8"/> + <path class="st2" d="M43.3,5.4c5.9,5.9,5.9,15.5,0,21.4c-5.9,5.9-15.5,5.9-21.4,0c-5.9-5.9-5.9-15.5,0-21.4 + C27.8-0.5,37.4-0.5,43.3,5.4"/> + <path class="st1" d="M43.3,5.4c5.9,5.9,5.9,15.5,0,21.4c-5.9,5.9-15.5,5.9-21.4,0c-5.9-5.9-5.9-15.5,0-21.4 + C27.8-0.5,37.4-0.5,43.3,5.4z"/> + <path class="st2" d="M39.5,9.2c3.8,3.8,3.8,10.1,0,13.9c-3.8,3.8-10.1,3.8-13.9,0c-3.8-3.8-3.8-10.1,0-13.9 + C29.5,5.3,35.7,5.3,39.5,9.2"/> + <path class="st1" d="M39.5,9.2c3.8,3.8,3.8,10.1,0,13.9c-3.8,3.8-10.1,3.8-13.9,0c-3.8-3.8-3.8-10.1,0-13.9 + C29.5,5.3,35.7,5.3,39.5,9.2z"/> + <g> + <g> + <defs> + <rect id="SVGID_5_" x="22.7" y="6.3" width="12.3" height="19.7"/> + </defs> + <clipPath id="SVGID_6_"> + <use xlink:href="#SVGID_5_" style="overflow:visible;"/> + </clipPath> + <path class="st5" d="M35,6.6c-1.7,0.4-3.2,1.3-4.5,2.6c-3.8,3.8-3.8,10.1,0,13.9c1.3,1.3,2.9,2.2,4.5,2.6 + c-3.2,0.8-6.8-0.1-9.4-2.6c-3.8-3.8-3.8-10.1,0-13.9C28.1,6.6,31.7,5.8,35,6.6"/> + </g> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_sharing.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_sharing.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_sharing.svg (revision 7) @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 30 30.3" style="enable-background:new 0 0 30 30.3;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#323232;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st1{fill:none;stroke:#373737;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <line class="st0" x1="10.5" y1="17.5" x2="19.5" y2="22.1"/> + <path class="st1" d="M10.5,15.1c0,2.6-2.1,4.6-4.6,4.6c-2.6,0-4.6-2.1-4.6-4.6s2.1-4.6,4.6-4.6C8.4,10.5,10.5,12.6,10.5,15.1z"/> + <path class="st1" d="M28.7,5.9c0,2.6-2.1,4.6-4.6,4.6c-2.6,0-4.6-2.1-4.6-4.6s2.1-4.6,4.6-4.6C26.6,1.2,28.7,3.3,28.7,5.9z"/> + <path class="st1" d="M28.7,24.4c0,2.6-2.1,4.6-4.6,4.6c-2.6,0-4.6-2.1-4.6-4.6s2.1-4.6,4.6-4.6C26.6,19.8,28.7,21.9,28.7,24.4z"/> + <line class="st0" x1="10.7" y1="12.7" x2="19.5" y2="8.2"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_cart.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_cart.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_cart.svg (revision 7) @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 145.37 112.45" style="enable-background:new 0 0 145.37 112.45;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#343231;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polygon class="st0" points="125.77,81.05 40.25,81.05 26.53,19.09 139.49,19.09 "/> + <polygon class="st0" points="125.77,81.05 40.25,81.05 26.53,19.09 139.49,19.09 "/> + <polyline class="st0" points="40.25,81.05 23.48,5.32 5.88,5.32 "/> + <polyline class="st0" points="40.25,81.05 23.48,5.32 5.88,5.32 "/> + <path class="st0" d="M56.03,99.25c0,4.36-3.53,7.9-7.9,7.9c-4.35,0-7.89-3.53-7.89-7.9c0-4.36,3.53-7.9,7.89-7.9 + C52.5,91.35,56.03,94.88,56.03,99.25"/> + <path class="st0" d="M56.03,99.25c0,4.36-3.53,7.9-7.9,7.9c-4.35,0-7.89-3.53-7.89-7.9c0-4.36,3.53-7.9,7.89-7.9 + C52.5,91.35,56.03,94.88,56.03,99.25z"/> + <path class="st0" d="M110.43,99.25c0,4.36,3.53,7.9,7.89,7.9s7.9-3.53,7.9-7.9c0-4.36-3.53-7.9-7.9-7.9 + C113.96,91.35,110.43,94.88,110.43,99.25"/> + <path class="st0" d="M110.43,99.25c0,4.36,3.53,7.9,7.89,7.9s7.9-3.53,7.9-7.9c0-4.36-3.53-7.9-7.9-7.9 + C113.96,91.35,110.43,94.88,110.43,99.25z"/> + <line class="st0" x1="83" y1="35.43" x2="83" y2="65.32"/> + <line class="st0" x1="83" y1="35.43" x2="83" y2="65.32"/> + <line class="st0" x1="58.04" y1="35.43" x2="61.62" y2="65.32"/> + <line class="st0" x1="58.04" y1="35.43" x2="61.62" y2="65.32"/> + <line class="st0" x1="107.97" y1="35.43" x2="104.39" y2="65.32"/> + <line class="st0" x1="107.97" y1="35.43" x2="104.39" y2="65.32"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_cmtintro_5.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_cmtintro_5.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/main_job6.svg =================================================================== --- base3.10/src/main/webapp/images/custom/main_job6.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/main_job6.svg (revision 7) @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 88.9 102.4" style="enable-background:new 0 0 88.9 102.4;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#ABC5E3;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st1{fill:#FFFFFF;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st2{fill:none;stroke:#38393A;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st3{fill:#FFFFFF;stroke:#38383B;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st4{fill:none;stroke:#38383B;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st5{fill:#ABC5E3;stroke:#365587;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round;} + .st6{fill:#DADAE0;} + .st7{fill:#FFFFFF;} +</style> +<g> + <path class="st5" d="M49.2,88.5c-2.2,5.2-8.3,7.7-13.5,5.4c-5.2-2.2-7.7-8.3-5.5-13.5c2.2-5.2,8.3-7.7,13.5-5.5 + C49,77.2,51.5,83.3,49.2,88.5z"/> + <g> + <g> + <path class="st6" d="M64.5,95L15,73.9c3-7.1,8.7-11.8,13.7-11.9l15.4-32.6c5.8-13.7,17.8-21.7,26.7-17.9 + c8.9,3.8,11.4,18,5.6,31.6L63.6,76.8C67,80.6,67.6,87.9,64.5,95"/> + </g> + </g> + <path class="st4" d="M49.2,88.5c-2.2,5.2-8.3,7.7-13.5,5.4c-5.2-2.2-7.7-8.3-5.5-13.5c2.2-5.2,8.3-7.7,13.5-5.5 + C49,77.2,51.5,83.3,49.2,88.5"/> + <path class="st7" d="M73.1,16.9l-7.7-3.3l4-9.3c0.9-2.1,3.4-3.1,5.5-2.2C77,3,77.9,5.4,77,7.6L73.1,16.9z"/> + <path class="st4" d="M73.1,16.9l-7.7-3.3l4-9.3c0.9-2.1,3.4-3.1,5.5-2.2C77,3,77.9,5.4,77,7.6L73.1,16.9z"/> + <path class="st7" d="M70.8,11.5C57.1,5.7,41.3,12,35.5,25.7L18.6,59.6l53.8,22.9L85,46.8C90.9,33.1,84.5,17.3,70.8,11.5"/> + <path class="st4" d="M70.8,11.5C57.1,5.7,41.3,12,35.5,25.7L18.6,59.6l53.8,22.9L85,46.8C90.9,33.1,84.5,17.3,70.8,11.5z"/> + <path class="st7" d="M77.7,100.6l-76-32.4c3.7-8.7,13.7-12.7,22.4-9l44.5,19C77.4,81.9,81.4,91.9,77.7,100.6"/> + <path class="st4" d="M77.7,100.6l-76-32.4c3.7-8.7,13.7-12.7,22.4-9l44.5,19C77.4,81.9,81.4,91.9,77.7,100.6z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tba4.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tba4.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tba4.svg (revision 7) @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 57.7 60.9" style="enable-background:new 0 0 57.7 60.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#5DA3C0;} + .st1{fill:none;stroke:#38383B;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st2{fill:#FFFFFF;} + .st3{clip-path:url(#SVGID_2_);fill:#DADAE0;} + .st4{clip-path:url(#SVGID_4_);fill:#DADAE0;} + .st5{clip-path:url(#SVGID_6_);fill:#DADAE0;} + .st6{clip-path:url(#SVGID_8_);fill:#DADAE0;} + .st7{fill:#E67677;} + .st8{clip-path:url(#SVGID_10_);fill:#DADAE0;} + .st9{clip-path:url(#SVGID_12_);fill:#DADAE0;} +</style> +<g> + <g> + <g> + <defs> + <rect id="SVGID_9_" x="14.2" y="49" width="33.6" height="12"/> + </defs> + <clipPath id="SVGID_2_"> + <use xlink:href="#SVGID_9_" style="overflow:visible;"/> + </clipPath> + <path class="st3" d="M47.8,54.9c0,3.3-7.5,6-16.8,6c-9.3,0-16.8-2.7-16.8-6c0-3.3,7.5-6,16.8-6C40.3,49,47.8,51.6,47.8,54.9"/> + </g> + </g> + <path class="st1" d="M14.7,11.3c-1.3-1.9-3.1-3.7-5.4-4.2c-3.2-0.7-6.6,1.4-7.8,4.5c-1.2,3.1-0.3,6.7,1.7,9.2c2,2.6,5.1,4.2,8.2,5 + c1.6,0.4,3.3,0.7,4.4,2c1,1.1,1.2,2.8,0.4,4.1c-0.7,1.3-2.3,2-3.7,1.8c-1-0.2-2.1-1-2.1-2c-0.1-1.1,1.2-2,2.1-1.4"/> + <path class="st1" d="M43,11.3c1.3-1.9,3.1-3.7,5.4-4.2c3.2-0.7,6.6,1.4,7.8,4.5c1.2,3.1,0.3,6.7-1.7,9.2c-2,2.6-5.1,4.2-8.2,5 + c-1.6,0.4-3.3,0.7-4.4,2c-1,1.1-1.2,2.8-0.4,4.1c0.7,1.3,2.3,2,3.7,1.8c1-0.2,2.1-1,2.1-2c0.1-1.1-1.2-2-2.1-1.4"/> + <path class="st2" d="M36.1,33.6c3.7-2.1,6.3-5.8,7.1-10.2l3.2-19.1h-35l3.2,19.1c0.7,4.4,3.4,8.1,7.1,10.2c2.2,1.3,3.6,3.6,3.6,6.1 + c0,2.5-1.3,4.9-3.6,6.1c-1.5,0.8-2.7,2-3.5,3.5L16,53.2c-0.3,0.3-0.4,0.5-0.4,0.8c0,1.8,5.9,3.2,13.3,3.2c7.3,0,13.3-1.5,13.3-3.2 + c0-0.3-0.2-0.5-0.4-0.8l-2.1-3.9c-0.8-1.5-2.1-2.8-3.5-3.5c-2.2-1.2-3.6-3.6-3.6-6.1C32.5,37.1,33.9,34.9,36.1,33.6"/> + <path class="st1" d="M36.1,33.6c3.7-2.1,6.3-5.8,7.1-10.2l3.2-19.1h-35l3.2,19.1c0.7,4.4,3.4,8.1,7.1,10.2c2.2,1.3,3.6,3.6,3.6,6.1 + c0,2.5-1.3,4.9-3.6,6.1c-1.5,0.8-2.7,2-3.5,3.5L16,53.2c-0.3,0.3-0.4,0.5-0.4,0.8c0,1.8,5.9,3.2,13.3,3.2c7.3,0,13.3-1.5,13.3-3.2 + c0-0.3-0.2-0.5-0.4-0.8l-2.1-3.9c-0.8-1.5-2.1-2.8-3.5-3.5c-2.2-1.2-3.6-3.6-3.6-6.1C32.5,37.1,33.9,34.9,36.1,33.6z"/> + <polygon class="st0" points="28.9,13.4 31,17.8 35.8,18.5 32.3,21.9 33.2,26.7 28.9,24.4 24.5,26.7 25.4,21.9 21.9,18.5 26.7,17.8 + "/> + <polygon class="st1" points="28.9,13.4 31,17.8 35.8,18.5 32.3,21.9 33.2,26.7 28.9,24.4 24.5,26.7 25.4,21.9 21.9,18.5 26.7,17.8 + "/> + <g> + <g> + <defs> + <rect id="SVGID_11_" x="28.9" y="4.2" width="17.5" height="53"/> + </defs> + <clipPath id="SVGID_4_"> + <use xlink:href="#SVGID_11_" style="overflow:visible;"/> + </clipPath> + <path class="st4" d="M32.5,39.7c0,2.5,1.3,4.9,3.6,6.1c1.5,0.8,2.7,2,3.5,3.5l2.1,3.9c0.3,0.3,0.4,0.5,0.4,0.8 + c0,1.8-5.9,3.2-13.3,3.2c4.5,0,8.2-1.5,8.2-3.2c0-0.3-0.1-0.5-0.3-0.8l-1.3-3.9c-0.5-1.5-1.3-2.8-2.2-3.5 + c-1.4-1.2-2.2-3.6-2.2-6.1s0.9-4.8,2.2-6.1c2.3-2.1,3.9-5.8,4.4-10.2l1.9-19.1h6.7l-3.2,19.1c-0.7,4.4-3.4,8.1-7.1,10.2 + C33.9,34.9,32.5,37.1,32.5,39.7"/> + </g> + </g> + <path class="st2" d="M46.3,4.2c0,1.8-7.8,3.2-17.5,3.2c-9.7,0-17.5-1.5-17.5-3.2c0-1.8,7.8-3.2,17.5-3.2C38.5,1,46.3,2.5,46.3,4.2" + /> + <path class="st1" d="M46.3,4.2c0,1.8-7.8,3.2-17.5,3.2c-9.7,0-17.5-1.5-17.5-3.2c0-1.8,7.8-3.2,17.5-3.2C38.5,1,46.3,2.5,46.3,4.2z + "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_car.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_car.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_update.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_update.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_update.svg (revision 7) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 39.36 39.25" style="enable-background:new 0 0 39.36 39.25;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#323232;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M31.8,21.23v9.75c0,3.74-3.03,6.77-6.77,6.77H8.27c-3.74,0-6.77-3.03-6.77-6.77V14.23 + c0-3.74,3.03-6.77,6.77-6.77h9.75"/> + <path class="st0" d="M18.82,25.14l-6.28,1.68l1.68-6.28L32.31,2.45c1.27-1.27,3.33-1.27,4.6,0c1.27,1.27,1.27,3.33,0,4.6 + L18.82,25.14z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_blank_focus.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_blank_focus.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_blank_focus.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 37.3 37.3" style="enable-background:new 0 0 37.3 37.3;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#323232;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="25.8,1.5 35.8,1.5 35.8,11.5 "/> + <line class="st0" x1="35.8" y1="1.5" x2="18.2" y2="19.1"/> +</g> +<path class="st0" d="M35.8,17.1v11c0,4.2-3.4,7.7-7.7,7.7h-19c-4.2,0-7.7-3.4-7.7-7.7v-19c0-4.2,3.4-7.7,7.7-7.7h11"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_print.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_print.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_print.svg (revision 7) @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 23.9 22.7" style="enable-background:new 0 0 23.9 22.7;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st1{fill:none;stroke:#000000;stroke-width:1.5;stroke-miterlimit:10;} +</style> +<g> + <path class="st1" d="M18.2,21.9H5.7c-0.8,0-1.5-0.7-1.5-1.5v-5.9c0-0.8,0.7-1.5,1.5-1.5h12.4c0.8,0,1.5,0.7,1.5,1.5v5.9 + C19.7,21.3,19,21.9,18.2,21.9z"/> + <path class="st1" d="M4.2,6.9V2.4c0-0.9,0.7-1.6,1.6-1.6h12.2c0.9,0,1.6,0.7,1.6,1.6v4.5"/> + <path class="st1" d="M4.2,17.5H2.4c-0.9,0-1.6-0.7-1.6-1.6V8.5c0-0.9,0.7-1.6,1.6-1.6h19.1c0.9,0,1.6,0.7,1.6,1.6v7.3 + c0,0.9-0.7,1.6-1.6,1.6h-1.8"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/triangle_a_blue.svg =================================================================== --- base3.10/src/main/webapp/images/custom/triangle_a_blue.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/triangle_a_blue.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 10 10" style="enable-background:new 0 0 10 10;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#7AAAC5;} + .st1{fill:#68A4C5;} +</style> +<g> + <polygon class="st0" points="5,10 10,0 0,0 "/> + <path class="st1" d="M8.9,0L5,7.8L1.1,0H8.9 M10,0H0l5,10L10,0L10,0z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_arrow_up.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_arrow_up.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_arrow_up.svg (revision 7) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"> +<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="16.131px" height="17.402px" viewBox="0 0 16.131 17.402" xml:space="preserve"> +<g> + <polygon points="4.539,7.459 8.066,2.159 11.593,7.459 "/> + <path d="M8.815,14.781c0,0.256-0.334,0.462-0.75,0.462c-0.417,0-0.753-0.206-0.753-0.462v-9.22c0-0.253,0.336-0.459,0.753-0.459 + c0.415,0,0.75,0.206,0.75,0.459V14.781z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_move.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_move.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_move.svg (revision 7) @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="16.913px" height="21.707px" viewBox="2.94 -1.844 16.913 21.707" enable-background="new 2.94 -1.844 16.913 21.707" + xml:space="preserve"> +<g> + <polygon fill="#221F1F" points="12.273,9.042 15.14,11.244 12.273,13.447 "/> + <path fill="#221F1F" d="M12.273,13.857c-0.062,0-0.124-0.014-0.182-0.043c-0.14-0.068-0.229-0.211-0.229-0.367V9.042 + c0-0.156,0.089-0.3,0.229-0.368c0.142-0.068,0.308-0.052,0.432,0.043l2.866,2.202c0.102,0.078,0.16,0.198,0.16,0.325 + c0,0.128-0.059,0.248-0.16,0.326l-2.866,2.202C12.45,13.828,12.362,13.857,12.273,13.857z M12.684,9.875v2.738l1.782-1.369 + L12.684,9.875z"/> +</g> +<path fill="#221F1F" d="M12.604,11.994h-4.61c-0.414,0-0.75-0.336-0.75-0.75s0.336-0.75,0.75-0.75h4.61 + c0.414,0,0.75,0.336,0.75,0.75S13.019,11.994,12.604,11.994z"/> +<path fill="#221F1F" d="M18.098,6.306h-4.136c-0.706,0-1.281-0.578-1.281-1.288V0.89c0-0.303,0.183-0.577,0.463-0.693 + c0.28-0.117,0.604-0.052,0.817,0.163l4.667,4.666c0.215,0.214,0.278,0.537,0.163,0.817C18.675,6.123,18.401,6.306,18.098,6.306z + M14.181,4.806h2.105L14.181,2.7V4.806z"/> +<path fill="#221F1F" d="M17.8,17.735H5.416c-0.706,0-1.28-0.578-1.28-1.289V1.428c0-0.71,0.574-1.288,1.28-1.288h8.248 + c0.199,0,0.39,0.079,0.53,0.22l4.667,4.666c0.141,0.141,0.22,0.332,0.22,0.53v10.89C19.081,17.157,18.506,17.735,17.8,17.735z + M5.636,16.235h11.945V5.866L13.354,1.64H5.636V16.235z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/text_arrow_lightblue.svg =================================================================== --- base3.10/src/main/webapp/images/custom/text_arrow_lightblue.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/text_arrow_lightblue.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 11.9 11.9" style="enable-background:new 0 0 11.9 11.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#EBF0F7;} + .st1{fill:#DBE0E6;} +</style> +<g> + <polygon class="st0" points="0,11.2 0,0.5 10.7,0.5 "/> + <path class="st1" d="M0,11.9L11.9,0H0V11.9z M9.5,1L0,10.7V1H9.5z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/arrow_down.svg =================================================================== --- base3.10/src/main/webapp/images/custom/arrow_down.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/arrow_down.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="66.609px" height="37.805px" viewBox="-14.402 14.403 66.609 37.805" enable-background="new -14.402 14.403 66.609 37.805" + xml:space="preserve"> +<polyline fill="none" stroke="#3C3C3C" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 47.707,18.903 18.903,47.707 -9.902,18.903 "/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_turn_right.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_turn_right.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_turn_right.svg (revision 7) @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="19.261px" height="20.193px" viewBox="-3.673 1.313 19.261 20.193" enable-background="new -3.673 1.313 19.261 20.193" + xml:space="preserve"> +<g> + <path fill="#221F1F" d="M-3.07,10.636c-0.333,0-0.603-0.27-0.603-0.603c0-3.483,2.838-6.317,6.327-6.317 + c0.333,0,0.603,0.27,0.603,0.603s-0.27,0.603-0.603,0.603c-2.824,0-5.122,2.293-5.122,5.112 + C-2.468,10.366-2.737,10.636-3.07,10.636z"/> + <g> + <polygon fill="#221F1F" points="4.7,1.661 9.315,4.32 4.7,6.978 "/> + <path fill="#221F1F" d="M4.7,7.326c-0.06,0-0.121-0.016-0.174-0.047C4.418,7.217,4.352,7.102,4.352,6.978V1.661 + c0-0.125,0.066-0.239,0.174-0.302c0.107-0.063,0.241-0.063,0.348,0l4.615,2.659C9.597,4.08,9.664,4.195,9.664,4.32 + S9.597,4.56,9.489,4.622L4.874,7.279C4.821,7.311,4.76,7.326,4.7,7.326z M5.049,2.264v4.111L8.617,4.32L5.049,2.264z"/> + </g> + <path fill="#221F1F" d="M13.758,21.506H2.26c-1.009,0-1.83-0.822-1.83-1.83v-8.234c0-1.008,0.821-1.828,1.83-1.828h11.498 + c1.01,0,1.83,0.82,1.83,1.828v8.234C15.588,20.684,14.768,21.506,13.758,21.506z M2.26,11.153c-0.163,0-0.291,0.127-0.291,0.289 + v8.234c0,0.16,0.13,0.291,0.291,0.291h11.498c0.16,0,0.291-0.131,0.291-0.291v-8.234c0-0.159-0.131-0.289-0.291-0.289H2.26z"/> + <path fill="#221F1F" d="M5.006,4.922H3.048c-0.333,0-0.603-0.27-0.603-0.603s0.27-0.603,0.603-0.603h1.958 + c0.333,0,0.603,0.27,0.603,0.603S5.339,4.922,5.006,4.922z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_radio.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_radio.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_radio.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="24.038px" height="24.039px" viewBox="0 0 24.038 24.039" enable-background="new 0 0 24.038 24.039" xml:space="preserve"> +<path fill="#22211F" d="M12.02,24.039C5.393,24.039,0,18.647,0,12.02S5.393,0,12.02,0s12.019,5.392,12.019,12.02 + S18.646,24.039,12.02,24.039z M12.02,1.379c-5.867,0-10.641,4.773-10.641,10.641c0,5.867,4.773,10.64,10.641,10.64 + c5.866,0,10.64-4.773,10.64-10.64C22.659,6.152,17.886,1.379,12.02,1.379z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_logout.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_logout.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_logout.svg (revision 7) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 38.88 36.68" style="enable-background:new 0 0 38.88 36.68;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#323232;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M24.92,28.41c0,3.74-3.03,6.77-6.77,6.77H8.27c-3.74,0-6.77-3.03-6.77-6.77V8.27c0-3.74,3.03-6.77,6.77-6.77 + l9.87,0c3.74,0,6.77,3.03,6.77,6.77"/> + <polyline class="st0" points="30.43,11.39 37.38,18.34 30.43,25.29 "/> + <line class="st0" x1="37.38" y1="18.34" x2="14.33" y2="18.34"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/file_reg.svg =================================================================== --- base3.10/src/main/webapp/images/custom/file_reg.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/file_reg.svg (revision 7) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="446.461px" height="595.397px" viewBox="197.715 -0.116 446.461 595.397" + enable-background="new 197.715 -0.116 446.461 595.397" xml:space="preserve"> +<path fill="#333333" d="M627.782,113.824l-97.547-97.547C519.771,5.813,505.587-0.116,490.821-0.116H253.522 + C222.712,0,197.715,24.997,197.715,55.808v483.665c0,30.811,24.997,55.809,55.808,55.809h334.846 + c30.811,0,55.808-24.998,55.808-55.809V153.354C644.176,138.589,638.246,124.288,627.782,113.824z M583.834,148.82h-88.479V60.342 + L583.834,148.82z M253.522,539.472V55.808h186.025v120.916c0,15.463,12.44,27.904,27.903,27.904h120.917v334.845H253.522z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/car.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/car.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/text_arrow_white.svg =================================================================== --- base3.10/src/main/webapp/images/custom/text_arrow_white.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/text_arrow_white.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 11.9 11.9" style="enable-background:new 0 0 11.9 11.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} + .st1{fill:#C4D9E4;} +</style> +<g> + <polygon class="st0" points="11.9,11.2 11.9,0.5 1.2,0.5 "/> + <path class="st1" d="M11.9,11.9L0,0h11.9V11.9z M2.4,1l9.5,9.7V1H2.4z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_write.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_write.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_write.svg (revision 7) @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 48.6 47" style="enable-background:new 0 0 48.6 47;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#333333;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="33.9,25 33.9,1.5 1.5,1.5 1.5,45.5 33.9,45.5 33.9,31.4 "/> + <line class="st0" x1="7.3" y1="9.6" x2="28.1" y2="9.6"/> + <line class="st0" x1="7.3" y1="16.5" x2="28.1" y2="16.5"/> + <line class="st0" x1="7.3" y1="23.5" x2="28.1" y2="23.5"/> + <line class="st0" x1="18.9" y1="38.5" x2="28.1" y2="38.5"/> + <polygon class="st0" points="44.9,19.7 27.7,29.2 23.7,34 29.9,33.2 47.1,23.8 "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/popup.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/popup.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_prog1.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_prog1.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_prog1.svg (revision 7) @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 58 48" style="enable-background:new 0 0 58 48;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} + .st1{fill:none;stroke:#38383B;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st2{fill:#FFAF10;} +</style> +<g> + <path class="st0" d="M49.7,4.6C49.7,4.7,49.7,4.7,49.7,4.6L49.7,4.6L49.7,4.6z"/> + <path class="st1" d="M49.7,4.6C49.7,4.7,49.7,4.7,49.7,4.6L49.7,4.6L49.7,4.6z"/> + <path class="st0" d="M49.7,4.6C49.7,4.6,49.7,4.6,49.7,4.6C49.7,4.6,49.7,4.6,49.7,4.6L49.7,4.6L49.7,4.6z"/> + <path class="st1" d="M49.7,4.6C49.7,4.6,49.7,4.6,49.7,4.6C49.7,4.6,49.7,4.6,49.7,4.6L49.7,4.6L49.7,4.6z"/> + <path class="st0" d="M57,4.6c0-2-1.6-3.6-3.6-3.6c0,0,0,0,0,0c-2,0-3.6,1.6-3.6,3.6v0v0v3.6H57V4.6L57,4.6C57,4.6,57,4.6,57,4.6"/> + <path class="st1" d="M57,4.6c0-2-1.6-3.6-3.6-3.6c0,0,0,0,0,0c-2,0-3.6,1.6-3.6,3.6v0v0v3.6H57V4.6L57,4.6C57,4.6,57,4.6,57,4.6z" + /> + <path class="st0" d="M49.7,43.4L49.7,43.4L49.7,43.4C49.7,43.3,49.7,43.3,49.7,43.4"/> + <path class="st1" d="M49.7,43.4L49.7,43.4L49.7,43.4C49.7,43.3,49.7,43.3,49.7,43.4z"/> + <path class="st0" d="M49.7,43.4C49.7,43.4,49.7,43.4,49.7,43.4L49.7,43.4L49.7,43.4C49.7,43.4,49.7,43.4,49.7,43.4"/> + <path class="st1" d="M49.7,43.4C49.7,43.4,49.7,43.4,49.7,43.4L49.7,43.4L49.7,43.4C49.7,43.4,49.7,43.4,49.7,43.4z"/> + <path class="st0" d="M49.7,43.5c0,0,0-0.1,0-0.1v0v0C49.7,43.4,49.7,43.5,49.7,43.5"/> + <path class="st1" d="M49.7,43.5c0,0,0-0.1,0-0.1v0v0C49.7,43.4,49.7,43.5,49.7,43.5z"/> + <path class="st0" d="M49.7,1H18.1c-2,0-3.6,1.6-3.6,3.6v19.1h0v15.9h28v3.6c0,0,0,0,0,0c0,2,1.6,3.6,3.6,3.6c0,0,0,0,0,0 + c1.9,0,3.5-1.5,3.6-3.5c0,0,0-0.1,0-0.1v0v0v-3.6V24.2h0V8.3V4.7c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0,0,0c0-2,1.6-3.6,3.6-3.6 + c0,0,0,0,0,0v0H49.7z"/> + <path class="st1" d="M49.7,1H18.1c-2,0-3.6,1.6-3.6,3.6v19.1h0v15.9h28v3.6c0,0,0,0,0,0c0,2,1.6,3.6,3.6,3.6c0,0,0,0,0,0 + c1.9,0,3.5-1.5,3.6-3.5c0,0,0-0.1,0-0.1v0v0v-3.6V24.2h0V8.3V4.7c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0,0,0c0-2,1.6-3.6,3.6-3.6 + c0,0,0,0,0,0v0H49.7z"/> + <path class="st0" d="M46.1,47C46.1,47,46.1,47,46.1,47c-2,0-3.6-1.6-3.6-3.6c0,0,0,0,0,0h0v-3.6h-28h0H7.2v3.6l0,0c0,0,0,0,0,0 + c0,2,1.6,3.6,3.6,3.6c0,0,0,0,0,0H46.1c2,0,3.5-1.5,3.6-3.5C49.6,45.4,48.1,47,46.1,47"/> + <path class="st1" d="M46.1,47C46.1,47,46.1,47,46.1,47c-2,0-3.6-1.6-3.6-3.6c0,0,0,0,0,0h0v-3.6h-28h0H7.2v3.6l0,0c0,0,0,0,0,0 + c0,2,1.6,3.6,3.6,3.6c0,0,0,0,0,0H46.1c2,0,3.5-1.5,3.6-3.5C49.6,45.4,48.1,47,46.1,47z"/> + <polygon class="st0" points="24.2,25.1 26.8,29.9 29.5,34.8 24.6,32.1 19.9,29.5 "/> + <polygon class="st1" points="24.2,25.1 26.8,29.9 29.5,34.8 24.6,32.1 19.9,29.5 "/> + <path class="st2" d="M1.2,10.9l18.6,18.6c0.6,0.6,2,0.1,3.2-1.1c1.2-1.2,1.7-2.7,1.1-3.2L5.6,6.5L1.2,10.9z"/> + <path class="st1" d="M1.2,10.9l18.6,18.6c0.6,0.6,2,0.1,3.2-1.1c1.2-1.2,1.7-2.7,1.1-3.2L5.6,6.5L1.2,10.9z"/> + <path class="st0" d="M5.6,6.5c0.6,0.6,0.1,2-1.1,3.2c-1.2,1.2-2.6,1.7-3.2,1.1c-0.6-0.6-0.1-2,1.1-3.2C3.6,6.4,5,5.9,5.6,6.5"/> + <path class="st1" d="M5.6,6.5c0.6,0.6,0.1,2-1.1,3.2c-1.2,1.2-2.6,1.7-3.2,1.1c-0.6-0.6-0.1-2,1.1-3.2C3.6,6.4,5,5.9,5.6,6.5z"/> + <polygon class="st2" points="26.8,29.9 29.5,34.8 24.6,32.1 "/> + <polygon class="st1" points="26.8,29.9 29.5,34.8 24.6,32.1 "/> + <line class="st1" x1="21.7" y1="8.7" x2="42.2" y2="8.7"/> + <line class="st1" x1="21.7" y1="15" x2="42.2" y2="15"/> + <line class="st1" x1="27.1" y1="21.3" x2="42.2" y2="21.3"/> + <line class="st1" x1="30.8" y1="27.6" x2="42.2" y2="27.6"/> + <line class="st1" x1="34.9" y1="33.9" x2="42.2" y2="33.9"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_star1.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_star1.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_star1.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 37.38 35.83" style="enable-background:new 0 0 37.38 35.83;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#F7DB37;} +</style> +<path class="st0" d="M20.31,1.06l4.38,8.87c0.26,0.53,0.77,0.9,1.36,0.99l9.79,1.42c1.48,0.22,2.07,2.03,1,3.08l-7.08,6.9 + c-0.43,0.41-0.62,1.01-0.52,1.6l1.67,9.75c0.25,1.47-1.3,2.6-2.62,1.9l-8.75-4.6c-0.53-0.28-1.15-0.28-1.68,0l-8.75,4.6 + c-1.32,0.7-2.87-0.43-2.62-1.9l1.67-9.75c0.1-0.59-0.09-1.18-0.52-1.6l-7.08-6.9c-1.07-1.04-0.48-2.86,1-3.08l9.79-1.42 + c0.59-0.09,1.1-0.45,1.36-0.99l4.38-8.87C17.73-0.28,19.65-0.28,20.31,1.06z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_trash.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_trash.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_trash.svg (revision 7) @@ -0,0 +1 @@ +<svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="trash-alt" class="svg-inline--fa fa-trash-alt fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M268 416h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12zM432 80h-82.41l-34-56.7A48 48 0 0 0 274.41 0H173.59a48 48 0 0 0-41.16 23.3L98.41 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16v336a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM171.84 50.91A6 6 0 0 1 177 48h94a6 6 0 0 1 5.15 2.91L293.61 80H154.39zM368 464H80V128h288zm-212-48h24a12 12 0 0 0 12-12V188a12 12 0 0 0-12-12h-24a12 12 0 0 0-12 12v216a12 12 0 0 0 12 12z"></path></svg> \ No newline at end of file Index: base3.10/src/main/webapp/images/custom/bg_balloon.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_balloon.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/arrow_left.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/arrow_left.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_more_fff.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_more_fff.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_more_fff.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 25 16.9" style="enable-background:new 0 0 25 16.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="16.5,1.5 23.5,8.5 16.5,15.4 "/> + <line class="st0" x1="23.5" y1="8.5" x2="1.5" y2="8.5"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_minus.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_minus.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_minus.svg (revision 7) @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="27px" height="27px" viewBox="0 0 27 27" enable-background="new 0 0 27 27" xml:space="preserve"> +<line fill="none" stroke="#282828" stroke-width="4" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="2.334" y1="13.5" x2="24.668" y2="13.5"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_line_center.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/icon_tree_line_center.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/editor.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/editor.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_file.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_file.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_file.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 41.8 42.5" style="enable-background:new 0 0 41.8 42.5;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#373737;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M7.6,27.5l17.3-17.3L26,9.1c1.9-1.9,4.9-1.9,6.7,0l0,0c1.9,1.9,1.9,4.9,0,6.7l-7.3,7.3l-9.3,9.3l-1.8,1.8 + c-3,3-7.8,3-10.8,0l0,0c-3-3-3-7.8,0-10.8L8.9,18l8.8-8.8l4.8-4.8c4.1-4.1,10.8-4.1,14.9,0l0,0c4.1,4.1,4.1,10.8,0,14.9l-22,22"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_search_detail.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_search_detail.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_search_detail.svg (revision 7) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 41.7 41.2" style="enable-background:new 0 0 41.7 41.2;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#373737;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M16.9,5.9c0,2.6-2.1,4.6-4.6,4.6c-2.6,0-4.6-2.1-4.6-4.6c0-2.6,2.1-4.6,4.6-4.6C14.8,1.2,16.9,3.3,16.9,5.9z" + /> + <path class="st0" d="M34.6,20.6c0,2.6-2.1,4.6-4.6,4.6c-2.6,0-4.6-2.1-4.6-4.6S27.4,16,30,16C32.6,16,34.6,18,34.6,20.6z"/> + <path class="st0" d="M16.9,35.3c0,2.6-2.1,4.6-4.6,4.6c-2.6,0-4.6-2.1-4.6-4.6c0-2.6,2.1-4.6,4.6-4.6 + C14.8,30.7,16.9,32.8,16.9,35.3z"/> + <line class="st0" x1="1.2" y1="5.9" x2="7.6" y2="5.9"/> + <line class="st0" x1="1.2" y1="20.6" x2="25.4" y2="20.6"/> + <line class="st0" x1="18.1" y1="5.9" x2="40.5" y2="5.9"/> + <line class="st0" x1="1.2" y1="35.3" x2="7.6" y2="35.3"/> + <line class="st0" x1="18.1" y1="35.3" x2="40.5" y2="35.3"/> + <line class="st0" x1="35" y1="20.6" x2="40.5" y2="20.6"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/arrow_right.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/arrow_right.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/E8C6460F.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/E8C6460F.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_camera.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_camera.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_camera.svg (revision 7) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 41.9 32.1" style="enable-background:new 0 0 41.9 32.1;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="10.6,6.3 14.1,0.8 27.8,0.8 31.3,6.3 "/> + <rect x="0.8" y="6.3" class="st0" width="40.4" height="25"/> + <circle class="st0" cx="20.9" cy="18.8" r="7.8"/> + <line class="st0" x1="33.6" y1="11.6" x2="35.5" y2="11.6"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/logo.svg =================================================================== --- base3.10/src/main/webapp/images/custom/logo.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/logo.svg (revision 7) @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 219.8 34.5" style="enable-background:new 0 0 219.8 34.5;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:url(#XMLID_2_);} + .st1{fill:url(#XMLID_3_);} + .st2{fill:#FFFFFF;} +</style> +<g> + <g id="XMLID_6_"> + <g id="XMLID_7_"> + <g id="XMLID_8_"> + + <linearGradient id="XMLID_2_" gradientUnits="userSpaceOnUse" x1="35.956" y1="29.9652" x2="67.9137" y2="5.7629" gradientTransform="matrix(1 0 0 -1 0 33.89)"> + <stop offset="0" style="stop-color:#00AFEC"/> + <stop offset="0.1679" style="stop-color:#00ADEB"/> + <stop offset="0.3876" style="stop-color:#00A4E4"/> + <stop offset="0.6361" style="stop-color:#0096D9"/> + <stop offset="0.9038" style="stop-color:#0082C9"/> + <stop offset="1" style="stop-color:#0079C3"/> + </linearGradient> + <path id="XMLID_10_" class="st0" d="M58.4,23.8c2.4,1,1.8,3.9-1,3.9H39c-0.5,0-1,0.5-1,1.1v2.4c0,0.6,0.4,1.1,1,1.1h21.4 + c5,0,8.9-2.4,8.9-7.4c0-3.3-1.5-6-5.1-7.6c-2.1-1-15.7-6.7-15.7-6.7c-2.4-1-1.8-3.9,1-3.9h18.3c0.5,0,1-0.5,1-1.1V3.2 + c0-0.6-0.4-1.1-1-1.1H46.5c-5,0-8.9,2.4-8.9,7.4c0,3.3,1.5,6,5.1,7.6C44.8,18.1,58.4,23.8,58.4,23.8z"/> + + <linearGradient id="XMLID_3_" gradientUnits="userSpaceOnUse" x1="5.5248" y1="37.2072" x2="29.151" y2="13.0055" gradientTransform="matrix(1 0 0 -1 0 33.89)"> + <stop offset="5.618000e-03" style="stop-color:#FDD000"/> + <stop offset="1" style="stop-color:#F08300"/> + </linearGradient> + <path id="XMLID_9_" class="st1" d="M36.4,2.1H1c-0.5,0-1,0.5-1,1.1v2.4c0,0.6,0.4,1.1,1,1.1h12.8v24.6c0,0.6,0.5,1.1,1,1.1l0,0 + h7.9l0,0c0.5,0,1-0.5,1-1.1V6.6h12.8c0.5,0,1-0.5,1-1.1V3.2C37.4,2.6,36.9,2.1,36.4,2.1z"/> + </g> + </g> + </g> + <g> + <path class="st2" d="M106.7,19.6v3.5H100V32h-4.1v-8.9h-6.4V32h-4.1v-8.9h-6.7v-3.5H106.7z M103.1,17.2H82.3V2.8h20.4v3.4H86.4 + v2.1h16v3.4h-16v2.1h16.6V17.2z"/> + <path class="st2" d="M108.8,3.2h4.2v10.3c2.3,0,4.4-0.1,6.5-0.2c2.1-0.1,4.2-0.3,6.3-0.5l0.4,3.5c-1,0.1-2.1,0.2-3.2,0.3 + c-1.1,0.1-2.4,0.2-3.7,0.2c-1.4,0.1-2.9,0.1-4.6,0.1c-1.7,0-3.6,0-5.8,0V3.2z M122.9,33c-1.4,0-2.6-0.1-3.8-0.4 + c-1.2-0.3-2.2-0.7-3-1.2c-0.9-0.5-1.5-1.1-2-1.9s-0.7-1.6-0.7-2.5v-1.4c0-0.9,0.2-1.8,0.7-2.5c0.5-0.7,1.2-1.4,2-1.9 + c0.9-0.5,1.9-0.9,3-1.2c1.2-0.3,2.4-0.4,3.8-0.4c1.4,0,2.6,0.1,3.8,0.4c1.2,0.3,2.2,0.7,3,1.2c0.9,0.5,1.5,1.1,2,1.9 + c0.5,0.7,0.7,1.6,0.7,2.5V27c0,0.9-0.2,1.8-0.7,2.5s-1.2,1.4-2,1.9c-0.9,0.5-1.9,0.9-3,1.2C125.5,32.8,124.2,33,122.9,33z + M122.9,22.9c-0.7,0-1.4,0.1-2.1,0.2c-0.7,0.2-1.2,0.4-1.7,0.6c-0.5,0.3-0.9,0.6-1.2,0.9c-0.3,0.4-0.5,0.7-0.5,1.1v0.9 + c0,0.4,0.2,0.8,0.5,1.1c0.3,0.4,0.7,0.7,1.2,0.9c0.5,0.3,1.1,0.5,1.7,0.6c0.7,0.2,1.3,0.2,2.1,0.2c0.7,0,1.4-0.1,2.1-0.2 + s1.2-0.4,1.7-0.6c0.5-0.3,0.9-0.6,1.2-0.9c0.3-0.4,0.5-0.7,0.5-1.1v-0.9c0-0.4-0.2-0.8-0.5-1.1c-0.3-0.3-0.7-0.7-1.2-0.9 + c-0.5-0.3-1.1-0.5-1.7-0.6S123.6,22.9,122.9,22.9z M132.4,19.4h-4.1v-18h4.1V19.4z"/> + <path class="st2" d="M143.7,16.2c-1.2,0-2.3-0.2-3.3-0.6c-1-0.4-1.8-0.9-2.4-1.5c-0.7-0.6-1.2-1.3-1.5-2.1 + c-0.4-0.8-0.5-1.6-0.5-2.4V8.5c0-0.8,0.2-1.6,0.5-2.4c0.4-0.8,0.9-1.5,1.5-2.1c0.7-0.6,1.5-1.1,2.4-1.5c1-0.4,2.1-0.6,3.3-0.6 + c1.2,0,2.3,0.2,3.3,0.6c1,0.4,1.8,0.9,2.4,1.5c0.7,0.6,1.2,1.3,1.5,2.1c0.3,0.8,0.5,1.6,0.5,2.4v1.1c0,0.8-0.2,1.6-0.5,2.4 + c-0.4,0.8-0.9,1.5-1.5,2.1c-0.7,0.6-1.5,1.1-2.4,1.5C146,16,144.9,16.2,143.7,16.2z M143.7,5.4c-0.6,0-1.2,0.1-1.6,0.3 + c-0.5,0.2-0.9,0.4-1.2,0.7s-0.6,0.6-0.7,1c-0.2,0.4-0.2,0.8-0.2,1.2v0.9c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.4,0.7,0.7,1 + s0.7,0.5,1.2,0.7c0.5,0.2,1,0.3,1.6,0.3c0.6,0,1.2-0.1,1.6-0.3c0.5-0.2,0.9-0.4,1.2-0.7c0.3-0.3,0.6-0.6,0.7-1s0.2-0.8,0.2-1.2 + V8.6c0-0.4-0.1-0.8-0.2-1.2c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.2-0.7C144.9,5.5,144.3,5.4,143.7,5.4z M159.5,18v8.7h-15.1 + V29h16v3.3h-20v-8.7h15.1v-2.3h-15.3V18H159.5z M159.5,7.1h4v3.6h-4v5.9h-4.1V1.5h4.1V7.1z"/> + <path class="st2" d="M169.7,21.3h3.2c1.5,0,3.1,0,4.7-0.1c1.6-0.1,3.2-0.2,4.7-0.4l0.5,3.5c-1.6,0.2-3.3,0.4-5.1,0.5 + c-1.8,0.1-3.8,0.1-5.8,0.1h-6.3V12.3h9.9v-5h-9.9V3.8h14v11.9h-9.9V21.3z M189.2,32h-4.2V1.5h4.2V32z"/> + <path class="st2" d="M201.4,24.7V14h4.1v10.7h14.2v3.5h-28v-3.5H201.4z M210.7,21c0.4-2,0.7-3.9,0.8-5.8c0.2-1.8,0.2-3.7,0.2-5.7 + V7.6h-16.6V4.1h20.8v4.4c0,2.6-0.1,4.9-0.3,7s-0.4,4.1-0.8,6L210.7,21z"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/sns3.svg =================================================================== --- base3.10/src/main/webapp/images/custom/sns3.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/sns3.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="75.39px" height="76.928px" viewBox="0 0 75.39 76.928" enable-background="new 0 0 75.39 76.928" xml:space="preserve"> +<path fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF" d="M74.691,31.471H38.465V46.35h20.701 + c-0.893,4.809-3.603,8.882-7.676,11.609l0,0l0,0c-3.445,2.308-7.852,3.672-13.025,3.672c-10.019,0-18.498-6.767-21.523-15.858l0,0 + l0,0c-0.77-2.308-1.206-4.772-1.206-7.308s0.437-5,1.206-7.308v0c3.025-9.092,11.505-15.858,21.523-15.858 + c5.646,0,10.717,1.941,14.703,5.752l11.033-11.033C57.539,3.812,48.832,0,38.465,0C23.428,0,10.42,8.62,4.092,21.191l0,0l0,0 + C1.486,26.383,0,32.258,0,38.465c0,6.206,1.486,12.081,4.092,17.274l0,0c6.328,12.57,19.336,21.189,34.373,21.189 + c10.385,0,19.092-3.443,25.456-9.318c7.273-6.695,11.47-16.557,11.47-28.271C75.391,36.611,75.145,33.989,74.691,31.471z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/map_position.svg =================================================================== --- base3.10/src/main/webapp/images/custom/map_position.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/map_position.svg (revision 7) @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin: auto; background: none; display: block; shape-rendering: auto;" width="64px" height="64px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"> +<circle cx="50" cy="50" r="0" fill="none" stroke="#ce0f30" stroke-width="25"> + <animate attributeName="r" repeatCount="indefinite" dur="1.2195121951219512s" values="0;40" keyTimes="0;1" keySplines="0 0.2 0.8 1" calcMode="spline" begin="0s"></animate> + <animate attributeName="opacity" repeatCount="indefinite" dur="1.2195121951219512s" values="1;0" keyTimes="0;1" keySplines="0.2 0 0.8 1" calcMode="spline" begin="0s"></animate> +</circle><circle cx="50" cy="50" r="0" fill="none" stroke="#e795a6" stroke-width="25"> + <animate attributeName="r" repeatCount="indefinite" dur="1.2195121951219512s" values="0;40" keyTimes="0;1" keySplines="0 0.2 0.8 1" calcMode="spline" begin="-0.6097560975609756s"></animate> + <animate attributeName="opacity" repeatCount="indefinite" dur="1.2195121951219512s" values="1;0" keyTimes="0;1" keySplines="0.2 0 0.8 1" calcMode="spline" begin="-0.6097560975609756s"></animate> +</circle> +<!-- [ldio] generated by https://loading.io/ --></svg> \ No newline at end of file Index: base3.10/src/main/webapp/images/custom/icon_cardlist.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_cardlist.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_cardlist.svg (revision 7) @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 35 33.6" style="enable-background:new 0 0 35 33.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#323232;} +</style> +<g> + <path class="st0" d="M7.8,8.9H1.1C0.5,8.9,0,8.4,0,7.8V1.1C0,0.5,0.5,0,1.1,0h6.7c0.6,0,1.1,0.5,1.1,1.1v6.7 + C8.9,8.4,8.4,8.9,7.8,8.9z"/> + <path class="st0" d="M20.9,8.9h-6.7c-0.6,0-1.1-0.5-1.1-1.1V1.1C13,0.5,13.5,0,14.1,0h6.7C21.5,0,22,0.5,22,1.1v6.7 + C22,8.4,21.5,8.9,20.9,8.9z"/> + <path class="st0" d="M33.9,8.9h-6.7c-0.6,0-1.1-0.5-1.1-1.1V1.1c0-0.6,0.5-1.1,1.1-1.1h6.7C34.5,0,35,0.5,35,1.1v6.7 + C35,8.4,34.5,8.9,33.9,8.9z"/> + <path class="st0" d="M7.8,21.2H1.1c-0.6,0-1.1-0.5-1.1-1.1v-6.7c0-0.6,0.5-1.1,1.1-1.1h6.7c0.6,0,1.1,0.5,1.1,1.1v6.7 + C8.9,20.8,8.4,21.2,7.8,21.2z"/> + <path class="st0" d="M20.9,21.2h-6.7c-0.6,0-1.1-0.5-1.1-1.1v-6.7c0-0.6,0.5-1.1,1.1-1.1h6.7c0.6,0,1.1,0.5,1.1,1.1v6.7 + C22,20.8,21.5,21.2,20.9,21.2z"/> + <path class="st0" d="M33.9,21.2h-6.7c-0.6,0-1.1-0.5-1.1-1.1v-6.7c0-0.6,0.5-1.1,1.1-1.1h6.7c0.6,0,1.1,0.5,1.1,1.1v6.7 + C35,20.8,34.5,21.2,33.9,21.2z"/> + <path class="st0" d="M7.8,33.6H1.1c-0.6,0-1.1-0.5-1.1-1.1v-6.7c0-0.6,0.5-1.1,1.1-1.1h6.7c0.6,0,1.1,0.5,1.1,1.1v6.7 + C8.9,33.1,8.4,33.6,7.8,33.6z"/> + <path class="st0" d="M20.9,33.6h-6.7c-0.6,0-1.1-0.5-1.1-1.1v-6.7c0-0.6,0.5-1.1,1.1-1.1h6.7c0.6,0,1.1,0.5,1.1,1.1v6.7 + C22,33.1,21.5,33.6,20.9,33.6z"/> + <path class="st0" d="M33.9,33.6h-6.7c-0.6,0-1.1-0.5-1.1-1.1v-6.7c0-0.6,0.5-1.1,1.1-1.1h6.7c0.6,0,1.1,0.5,1.1,1.1v6.7 + C35,33.1,34.5,33.6,33.9,33.6z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_say_blue.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_say_blue.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_say_blue.svg (revision 7) @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 24.1 22.4" style="enable-background:new 0 0 24.1 22.4;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} + .st1{fill:none;stroke:#124A92;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st2{fill:#FFFFFF;stroke:#124A92;stroke-width:0;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M12.1,1C6.9,1,2.6,4,1.4,8.2C1.3,8.4,1.2,8.7,1.2,8.9C1.1,9.5,1,10.1,1,10.6c0,2.8,1.4,5.4,3.7,7.2 + c-0.8,1.8-2.2,3.2-3.6,3.6c2.6,0.2,5-0.5,6.5-1.9c1.4,0.5,2.9,0.8,4.5,0.8c6.1,0,11.1-4.3,11.1-9.6C23.1,5.3,18.2,1,12.1,1z"/> + <path class="st1" d="M12.1,1C6.9,1,2.6,4,1.4,8.2C1.3,8.4,1.2,8.7,1.2,8.9C1.1,9.5,1,10.1,1,10.6c0,2.8,1.4,5.4,3.7,7.2 + c-0.8,1.8-2.2,3.2-3.6,3.6c2.6,0.2,5-0.5,6.5-1.9c1.4,0.5,2.9,0.8,4.5,0.8c6.1,0,11.1-4.3,11.1-9.6C23.1,5.3,18.2,1,12.1,1z"/> + <line class="st2" x1="7.2" y1="11.2" x2="8" y2="11.2"/> + <line class="st1" x1="7.2" y1="11.2" x2="8" y2="11.2"/> + <line class="st2" x1="11.4" y1="11.2" x2="12.3" y2="11.2"/> + <line class="st1" x1="11.4" y1="11.2" x2="12.3" y2="11.2"/> + <line class="st2" x1="15.6" y1="11.2" x2="16.5" y2="11.2"/> + <line class="st1" x1="15.6" y1="11.2" x2="16.5" y2="11.2"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/loading.svg =================================================================== --- base3.10/src/main/webapp/images/custom/loading.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/loading.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin: auto; background: none; display: block; shape-rendering: auto;" width="237px" height="237px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"> +<circle cx="50" cy="50" r="32" stroke-width="8" stroke="#e84a5f" stroke-dasharray="50.26548245743669 50.26548245743669" fill="none" stroke-linecap="round"> + <animateTransform attributeName="transform" type="rotate" dur="1s" repeatCount="indefinite" keyTimes="0;1" values="0 50 50;360 50 50"></animateTransform> +</circle> +<circle cx="50" cy="50" r="23" stroke-width="8" stroke="#a08dff" stroke-dasharray="36.12831551628262 36.12831551628262" stroke-dashoffset="36.12831551628262" fill="none" stroke-linecap="round"> + <animateTransform attributeName="transform" type="rotate" dur="1s" repeatCount="indefinite" keyTimes="0;1" values="0 50 50;-360 50 50"></animateTransform> +</circle> +<!-- [ldio] generated by https://loading.io/ --></svg> \ No newline at end of file Index: base3.10/src/main/webapp/images/custom/file.svg =================================================================== --- base3.10/src/main/webapp/images/custom/file.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/file.svg (revision 7) @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="122.775px" height="141px" viewBox="236.254 350.445 122.775 141" + enable-background="new 236.254 350.445 122.775 141" xml:space="preserve"> +<g> + <path fill="#333333" d="M348.056,419.52c-0.935-0.915-2.523-0.877-3.425,0.042l-48.805,49.926 + c-5.063,5.179-11.786,8.033-18.925,8.033c-7.186,0-13.937-2.888-19.017-8.124c-10.462-10.797-10.309-28.452,0.348-39.349 + l59.502-60.867c6.081-6.205,16.58-6.193,22.645,0c6.362,6.515,6.362,17.105,0,23.612l-51.866,52.999 + c-2.039,2.077-5.51,2.044-7.504-0.065c-2.093-2.227-2.002-5.866,0.207-8.125l40.771-41.648c0.935-0.956,0.918-2.49-0.033-3.429 + l-6.486-6.341c-0.918-0.91-2.523-0.894-3.425,0.033l-40.771,41.648c-7.368,7.537-7.542,19.823-0.389,27.402 + c3.678,3.896,8.617,6.039,13.92,6.039c5.162,0,10.011-2.052,13.655-5.774l51.866-53.008c11.607-11.873,11.607-31.195,0-43.067 + c-5.676-5.808-13.229-9.01-21.271-9.01s-15.596,3.202-21.271,9.01l-59.502,60.863c-15.881,16.24-16.055,42.6-0.385,58.766 + c7.728,7.968,18.032,12.361,29.023,12.361c10.9,0,21.151-4.344,28.861-12.236l48.805-49.922c0.455-0.464,0.695-1.067,0.688-1.713 + c0-0.653-0.266-1.258-0.729-1.704L348.056,419.52z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_arrow_minus.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_arrow_minus.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_arrow_minus.svg (revision 7) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"> +<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="16.131px" height="17.402px" viewBox="0 0 16.131 17.402" xml:space="preserve"> +<g> + <polygon points="6.823,12.227 1.522,8.701 6.823,5.174 "/> + <path d="M14.145,7.951c0.256,0,0.462,0.335,0.462,0.751c0,0.417-0.206,0.753-0.462,0.753h-9.22c-0.252,0-0.459-0.336-0.459-0.753 + c0-0.415,0.207-0.751,0.459-0.751H14.145z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_line.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/icon_tree_line.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/smile4.svg =================================================================== --- base3.10/src/main/webapp/images/custom/smile4.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/smile4.svg (revision 7) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 32.6 32.6" style="enable-background:new 0 0 32.6 32.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#F3CE64;} + .st1{fill:#383838;} + .st2{fill:#D96151;} + .st3{fill:none;stroke:#383838;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <circle class="st0" cx="16.3" cy="16.3" r="16.3"/> + <circle class="st1" cx="9.3" cy="12.7" r="2.4"/> + <circle class="st1" cx="23.3" cy="12.7" r="2.4"/> + <path class="st3" d="M22,20c0,2.2-2.6,4-5.7,4s-5.7-1.8-5.7-4"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/file_excel.svg =================================================================== --- base3.10/src/main/webapp/images/custom/file_excel.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/file_excel.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="446.461px" height="595.396px" viewBox="0 0 446.461 595.396" enable-background="new 0 0 446.461 595.396" + xml:space="preserve"> +<path fill="#333333" d="M430.067,113.824L332.52,16.277C322.056,5.813,307.872-0.116,293.106-0.116H55.807 + C24.997,0,0,24.997,0,55.808v483.665c0,30.812,24.997,55.81,55.808,55.81h334.846c30.812,0,55.809-24.998,55.809-55.81V153.354 + C446.461,138.589,440.531,124.288,430.067,113.824z M386.118,148.82H297.64V60.342L386.118,148.82z M55.807,539.472V55.808h186.025 + v120.916c0,15.463,12.439,27.904,27.902,27.904h120.917v334.845L55.807,539.472L55.807,539.472z"/> +<polygon fill="#333333" points="244.78,360.992 305.906,270.969 262.334,270.969 222.994,328.907 183.653,270.969 140.082,270.969 + 201.208,360.992 140.453,450.469 184.024,450.469 222.993,393.076 261.963,450.469 305.534,450.469 "/> +</svg> Index: base3.10/src/main/webapp/images/custom/banner3.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/banner3.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_tree_radio_false_disable.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_radio_false_disable.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_radio_false_disable.svg (revision 7) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="24.038px" height="24.039px" viewBox="0 0 24.038 24.039" enable-background="new 0 0 24.038 24.039" xml:space="preserve"> +<circle fill="#EAEAEA" cx="12.018" cy="12.02" r="11.329"/> +<circle fill="#C9C9C9" cx="12.02" cy="12.02" r="11.33"/> +<path fill="#838383" d="M12.02,24.039C5.393,24.039,0,18.648,0,12.02C0,5.393,5.393,0,12.02,0c6.626,0,12.019,5.392,12.019,12.02 + C24.039,18.648,18.646,24.039,12.02,24.039z M12.02,1.379c-5.867,0-10.641,4.773-10.641,10.641S6.153,22.66,12.02,22.66 + c5.867,0,10.64-4.772,10.64-10.64S17.887,1.379,12.02,1.379z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/box_in1.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/box_in1.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_love_active.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_love_active.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_love_active.svg (revision 7) @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 45.8 46.5" style="enable-background:new 0 0 45.8 46.5;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#D11818;stroke:#D11818;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<path class="st0" d="M33.7,2c-5.9-0.2-10.8,4.6-10.8,10.4C22.9,6.6,18,1.8,12.1,2C6.4,2.2,2,7.2,2,12.9c0,5.9,2.2,11.5,6.2,15.8 + l14.7,15.8l14.7-15.8c4-4.3,6.2-9.9,6.2-15.8C43.8,7.2,39.4,2.2,33.7,2z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_modify.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_modify.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_modify.svg (revision 7) @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="37.18px" height="37.179px" viewBox="0 0 37.18 37.179" enable-background="new 0 0 37.18 37.179" xml:space="preserve"> +<g> + <path fill="#A1C6D1" d="M36.448,20.655v-4.131l-3.987-0.892c-0.365-1.723-1.047-3.325-1.976-4.754l2.193-3.456l-2.922-2.922 + l-3.455,2.193c-1.429-0.928-3.032-1.61-4.756-1.976l-0.891-3.987h-4.131l-0.891,3.987c-1.723,0.365-3.325,1.048-4.755,1.976 + L7.423,4.501l-2.92,2.922l2.193,3.456c-0.93,1.429-1.611,3.031-1.977,4.754l-3.988,0.892v4.131l3.988,0.891 + c0.365,1.722,1.047,3.326,1.977,4.755l-2.193,3.455l2.92,2.923l3.456-2.195c1.43,0.93,3.032,1.611,4.755,1.977l0.891,3.987h4.131 + l0.891-3.987c1.724-0.365,3.327-1.047,4.756-1.977l3.455,2.195l2.922-2.923l-2.193-3.455c0.929-1.429,1.61-3.033,1.976-4.755 + L36.448,20.655z M18.591,22.557c-2.192,0-3.968-1.775-3.968-3.968c0-2.191,1.775-3.968,3.968-3.968 + c2.191,0,3.968,1.776,3.968,3.968C22.559,20.781,20.782,22.557,18.591,22.557"/> + + <path fill="none" stroke="#343340" stroke-width="1.4628" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d=" + M36.448,20.655v-4.131l-3.987-0.892c-0.365-1.723-1.047-3.325-1.976-4.754l2.193-3.456l-2.922-2.922l-3.455,2.193 + c-1.429-0.928-3.032-1.61-4.756-1.976l-0.891-3.987h-4.131l-0.891,3.987c-1.723,0.365-3.325,1.048-4.755,1.976L7.423,4.501 + l-2.92,2.922l2.193,3.456c-0.93,1.429-1.611,3.031-1.977,4.754l-3.988,0.892v4.131l3.988,0.891 + c0.365,1.722,1.047,3.326,1.977,4.755l-2.193,3.455l2.92,2.923l3.456-2.195c1.43,0.93,3.032,1.611,4.755,1.977l0.891,3.987h4.131 + l0.891-3.987c1.724-0.365,3.327-1.047,4.756-1.977l3.455,2.195l2.922-2.923l-2.193-3.455c0.929-1.429,1.61-3.033,1.976-4.755 + L36.448,20.655z M18.591,22.557c-2.192,0-3.968-1.775-3.968-3.968c0-2.191,1.775-3.968,3.968-3.968 + c2.191,0,3.968,1.776,3.968,3.968C22.559,20.781,20.782,22.557,18.591,22.557z"/> + <g> + <g> + <defs> + <rect id="SVGID_5_" x="13.029" y="13.028" width="7.442" height="7.442"/> + </defs> + <clipPath id="SVGID_2_"> + <use xlink:href="#SVGID_5_" overflow="visible"/> + </clipPath> + <path clip-path="url(#SVGID_2_)" fill="#7EAFB7" d="M18.591,14.621c0.684,0,1.318,0.189,1.881,0.494 + c-0.673-1.236-1.967-2.086-3.475-2.086c-2.191,0-3.968,1.776-3.968,3.967c0,1.508,0.851,2.803,2.087,3.474 + c-0.305-0.562-0.493-1.195-0.493-1.88C14.623,16.398,16.398,14.621,18.591,14.621"/> + </g> + </g> + <g> + <g> + <defs> + <rect id="SVGID_7_" x="5.831" y="28.892" width="8.487" height="3.786"/> + </defs> + <clipPath id="SVGID_4_"> + <use xlink:href="#SVGID_7_" overflow="visible"/> + </clipPath> + <path clip-path="url(#SVGID_4_)" fill="#7EAFB7" d="M9.286,28.892l-3.455,2.193l1.592,1.594l3.456-2.195 + c1.059,0.688,2.212,1.238,3.44,1.627l-0.279-1.243C12.318,30.502,10.715,29.82,9.286,28.892"/> + </g> + </g> + <g> + <g> + <defs> + <rect id="SVGID_9_" x="0.731" y="19.418" width="2.744" height="1.851"/> + </defs> + <clipPath id="SVGID_6_"> + <use xlink:href="#SVGID_9_" overflow="visible"/> + </clipPath> + <path clip-path="url(#SVGID_6_)" fill="#7EAFB7" d="M0.731,19.418v1.236l2.744,0.614c-0.137-0.431-0.254-0.868-0.349-1.316 + L0.731,19.418z"/> + </g> + </g> + <g> + <g> + <defs> + <rect id="SVGID_11_" x="19.419" y="0.731" width="1.851" height="2.744"/> + </defs> + <clipPath id="SVGID_8_"> + <use xlink:href="#SVGID_11_" overflow="visible"/> + </clipPath> + <path clip-path="url(#SVGID_8_)" fill="#7EAFB7" d="M21.27,3.476l-0.614-2.744h-1.236l0.535,2.394 + C20.401,3.221,20.84,3.34,21.27,3.476"/> + </g> + </g> + <g> + <g> + <defs> + <rect id="SVGID_13_" x="16.169" y="16.167" width="20.279" height="20.281"/> + </defs> + <clipPath id="SVGID_10_"> + <use xlink:href="#SVGID_13_" overflow="visible"/> + </clipPath> + <path clip-path="url(#SVGID_10_)" fill="#7EAFB7" d="M36.448,20.655v-4.131l-1.592-0.356v2.895l-3.988,0.891 + c-0.365,1.723-1.048,3.325-1.977,4.755l2.195,3.455l-2.922,2.922l-3.457-2.193c-1.429,0.929-3.032,1.611-4.754,1.976 + l-0.891,3.987h-2.895l0.355,1.593h4.131l0.893-3.987c1.722-0.365,3.325-1.046,4.754-1.976l3.455,2.192l2.922-2.92l-2.193-3.456 + c0.929-1.43,1.61-3.032,1.976-4.755L36.448,20.655z"/> + </g> + </g> + <g> + <g> + <defs> + <rect id="SVGID_15_" x="28.892" y="5.83" width="3.787" height="8.488"/> + </defs> + <clipPath id="SVGID_12_"> + <use xlink:href="#SVGID_15_" overflow="visible"/> + </clipPath> + <path clip-path="url(#SVGID_12_)" fill="#7EAFB7" d="M30.868,14.04l1.244,0.278c-0.389-1.228-0.939-2.381-1.627-3.44l2.193-3.455 + L31.085,5.83l-2.193,3.455C29.82,10.715,30.503,12.316,30.868,14.04"/> + </g> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/main_news1.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/main_news1.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_copylink.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_copylink.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_copylink.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 15.4 15.4" style="enable-background:new 0 0 15.4 15.4;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M7.8,3.1l1.4-1.4c1.3-1.3,3.3-1.3,4.6,0l0,0C15,2.9,15,5,13.7,6.2l-2.5,2.5C10,10,7.9,10,6.7,8.8l0,0"/> + <path class="st0" d="M7.6,12.3l-1.4,1.4C5,15,2.9,15,1.7,13.7l0,0c-1.3-1.3-1.3-3.3,0-4.6l2.5-2.5c1.3-1.3,3.3-1.3,4.6,0l0,0"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_open.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_open.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_open.svg (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="50.12px" height="36.29px" viewBox="0 0 50.12 36.29" enable-background="new 0 0 50.12 36.29" xml:space="preserve"> +<g> + <polygon fill="#F8E38F" points="42.838,6.43 42.838,35.39 0.9,35.39 0.9,0.9 15.369,0.9 18.759,6.43 "/> + <g> + <polygon fill="#F8D290" points="45.168,12.109 42.838,20.629 39.649,32.27 0.899,32.27 0.899,20.629 4.088,8.989 42.838,8.989 + 42.838,12.109 "/> + </g> + + <polygon fill="none" stroke="#343340" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 42.838,6.43 42.838,35.39 0.9,35.39 0.9,0.9 15.369,0.9 18.759,6.43 "/> + <polygon fill="#F8E38F" points="49.219,12.109 42.838,35.39 0.9,35.39 1.749,32.27 7.27,12.109 "/> + + <polygon fill="none" stroke="#343340" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 49.219,12.109 42.838,35.39 0.9,35.39 1.749,32.27 7.27,12.109 "/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/smile5.svg =================================================================== --- base3.10/src/main/webapp/images/custom/smile5.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/smile5.svg (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 32.6 32.6" style="enable-background:new 0 0 32.6 32.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#F3CE64;} + .st1{fill:#383838;} + .st2{fill:#D96151;} + .st3{fill:none;stroke:#383838;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <circle class="st0" cx="16.3" cy="16.3" r="16.3"/> + <path class="st1" d="M25.3,18.9c0,2.2-0.9,4.2-2.3,5.6l-0.1,0.1c-1.5,1.5-3.5,2.4-5.7,2.4h-1.7c-2.3,0-4.4-1-5.9-2.5 + C8.2,23,7.3,21,7.3,18.9H25.3z"/> + <path class="st2" d="M23,24.5l-0.1,0.1c-1.5,1.5-3.5,2.4-5.7,2.4h-1.7c-2.3,0-4.4-1-5.9-2.5c0,0,0.1-0.1,0.1-0.1 + c1.5-1.5,3.5-2.4,5.7-2.4h1.7C19.5,22,21.5,22.9,23,24.5z"/> + <circle class="st1" cx="9.3" cy="12.7" r="2.4"/> + <circle class="st1" cx="23.3" cy="12.7" r="2.4"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_balloon.svg =================================================================== --- base3.10/src/main/webapp/images/custom/bg_balloon.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/bg_balloon.svg (revision 7) @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 123.7 168.9" style="enable-background:new 0 0 123.7 168.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#D7D7D7;} + .st1{fill:#4FE179;} + .st2{fill:#FFFFFF;} + .st3{fill:#4953D3;} + .st4{fill:#3BBCFD;} +</style> +<g> + <g> + <g> + + <rect x="46.1" y="118.9" transform="matrix(6.703938e-03 -1 1 6.703938e-03 -59.7436 181.4303)" class="st0" width="30.8" height="3.8"/> + <g> + + <rect x="68" y="124.7" transform="matrix(0.2131 -0.977 0.977 0.2131 -58.0644 181.0889)" class="st0" width="30.9" height="3.8"/> + <rect x="37.6" y="110.9" transform="matrix(0.9798 -0.2 0.2 0.9798 -24.4621 10.4406)" class="st0" width="3.8" height="30.9"/> + </g> + </g> + <g> + <path class="st1" d="M0,61.4c-0.2,34.2,27.3,62,61.4,62.3c34.2,0.2,62-27.3,62.3-61.4c0.2-34.2-27.3-62-61.4-62.3 + C28.1-0.2,0.2,27.3,0,61.4z"/> + <path class="st2" d="M19.8,61.6c-0.2,34.1,18.4,61.9,41.6,62.1c23.2,0.2,42.2-27.4,42.5-61.5C104.1,28,85.5,0.2,62.3,0.1 + C39-0.1,20,27.5,19.8,61.6z"/> + <path class="st1" d="M46.4,61.8c-0.2,34.1,6.5,61.9,15.1,61.9C70,123.7,77.1,96.1,77.3,62c0.2-34.1-6.5-61.9-15.1-61.9 + C53.7,0,46.6,27.6,46.4,61.8z"/> + </g> + <g> + + <rect x="55.7" y="112.6" transform="matrix(6.679417e-03 -1 1 6.679417e-03 -80.9245 202.1947)" class="st3" width="11.3" height="58.5"/> + <polygon class="st3" points="38.4,168.6 83.8,168.9 86.8,147.6 35.7,147.3 "/> + <polygon class="st4" points="36.4,152.5 35.7,147.3 86.8,147.6 86.1,152.8 "/> + </g> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_recomm.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_recomm.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_recomm.svg (revision 7) @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 27.5 25.9" style="enable-background:new 0 0 27.5 25.9;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#000000;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st1{fill:none;stroke:#000000;stroke-width:1.5;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M18.3,21.7c-0.9,2.1-3,3.5-5.5,3.5H3.9c-1.5,0-2.7-1.2-2.7-2.6c0-0.6,0.2-1.2,0.6-1.6 + c-0.5-0.5-0.9-1.1-0.9-1.9c0-0.7,0.3-1.2,0.7-1.7c-0.5-0.5-0.8-1.1-0.8-1.8c0-0.7,0.3-1.4,0.8-1.8c-0.4-0.5-0.7-1-0.7-1.7 + c0-1.4,1.2-2.6,2.7-2.6h4.7C8.2,8.9,8.1,8.5,8,8C8,7.7,7.9,7.4,7.8,7c-0.3-1.4-0.3-5.5,2.6-6.2c0.7-0.2,1.4-0.1,1.9,0.3 + c0.9,0.7,1,1.9,1.1,3.1c0,0.4,0.1,0.9,0.2,1.2c0.6,2.2,1.2,3.5,3.1,5.4c0.2,0.2,0.4,0.3,0.5,0.5l0,0c0.2,0.2,0.4,0.4,0.5,0.6 + c0.2,0.3,0.4,0.6,0.5,0.9"/> + <path class="st0" d="M25.8,25.1h-6.5c-0.5,0-1-0.4-1-1V9.9c0-0.5,0.4-1,1-1h6.5c0.5,0,1,0.4,1,1v14.3 + C26.7,24.7,26.3,25.1,25.8,25.1z"/> +</g> +<line class="st0" x1="1.6" y1="13.6" x2="5.5" y2="13.6"/> +<line class="st0" x1="1.6" y1="17.3" x2="5.5" y2="17.3"/> +<line class="st0" x1="1.8" y1="21" x2="5.5" y2="21"/> +</svg> Index: base3.10/src/main/webapp/images/custom/arrow_left.svg =================================================================== --- base3.10/src/main/webapp/images/custom/arrow_left.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/arrow_left.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 37.8 66.6" style="enable-background:new 0 0 37.8 66.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#3C3C3C;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<polyline class="st0" points="33.3,62.1 4.5,33.3 33.3,4.5 "/> +</svg> Index: base3.10/src/main/webapp/images/custom/banner4.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/banner4.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_noting.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_noting.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_noting.svg (revision 7) @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" width="674.005px" height="674.003px" viewBox="-62.005 52.381 674.005 674.003" + enable-background="new -62.005 52.381 674.005 674.003" xml:space="preserve"> +<g> + <path fill="#A5A5A5" d="M274.997,726.385c-45.487,0-89.624-8.912-131.182-26.49c-40.132-16.975-76.17-41.271-107.115-72.215 + s-55.241-66.982-72.215-107.115c-17.578-41.558-26.49-85.693-26.49-131.181c0-45.488,8.913-89.624,26.49-131.182 + c16.974-40.132,41.271-76.17,72.215-107.115s66.983-55.241,107.115-72.215c41.558-17.578,85.694-26.49,131.182-26.49 + s89.624,8.913,131.182,26.49c40.132,16.974,76.171,41.271,107.115,72.215s55.241,66.983,72.216,107.115 + C603.087,299.76,612,343.896,612,389.384c0,45.487-8.913,89.623-26.49,131.181c-16.975,40.133-41.271,76.172-72.217,107.115 + c-30.943,30.943-66.982,55.24-107.114,72.215C364.621,717.473,320.485,726.385,274.997,726.385z M274.997,86.381 + c-167.076,0-303.002,135.926-303.002,303.002c0,167.075,135.926,303.001,303.002,303.001C442.073,692.385,578,556.459,578,389.384 + C578,222.308,442.073,86.381,274.997,86.381z"/> + <g> + <circle fill="#A5A5A5" cx="274.997" cy="555.982" r="34.499"/> + <path fill="#A5A5A5" d="M309.496,222.783c0-19.053-15.446-34.499-34.499-34.499l0,0c-19.053,0-34.499,15.446-34.499,34.499 + v227.986c0,19.053,15.446,34.498,34.499,34.498l0,0c19.053,0,34.499-15.445,34.499-34.498V222.783z"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/favicon.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/favicon.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_sharing_fff.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_sharing_fff.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_sharing_fff.svg (revision 7) @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 30 30.3" style="enable-background:new 0 0 30 30.3;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st1{fill:none;stroke:#FFFFFF;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <line class="st0" x1="10.5" y1="17.5" x2="19.5" y2="22.1"/> + <path class="st1" d="M10.5,14.4c0.4,2.9-1.9,5.3-4.6,5.3c-2.6,0-4.6-2.1-4.6-4.6c0-3.1,3.2-5.6,6.4-4.2 + C9.2,11.5,10.2,12.9,10.5,14.4z"/> + <path class="st1" d="M28.7,5.9c0,2.6-2.1,4.6-4.6,4.6c-2.6,0-4.6-2.1-4.6-4.6s2.1-4.6,4.6-4.6C26.6,1.2,28.7,3.3,28.7,5.9z"/> + <path class="st1" d="M28.7,23.7c0.4,2.9-1.9,5.3-4.6,5.3c-2.6,0-4.6-2.1-4.6-4.6c0-3.1,3.2-5.6,6.4-4.2 + C27.4,20.8,28.4,22.2,28.7,23.7z"/> + <line class="st0" x1="10.7" y1="12.7" x2="19.5" y2="8.2"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_checkbox.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_checkbox.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_checkbox.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="24.166px" height="24.165px" viewBox="0 0 24.166 24.165" enable-background="new 0 0 24.166 24.165" xml:space="preserve"> +<path fill="#FFFFFF" d="M2.099,23.588c-0.84,0-1.523-0.685-1.523-1.521V2.099c0-0.839,0.684-1.522,1.523-1.522h19.966 + c0.84,0,1.522,0.683,1.522,1.522v19.968c0,0.84-0.685,1.521-1.522,1.521H2.099z"/> +<path d="M22.065,0H2.099c-1.158,0-2.1,0.942-2.1,2.099v19.968c0,1.156,0.942,2.098,2.1,2.098h19.966 + c1.159,0,2.102-0.941,2.102-2.098V2.099C24.165,0.941,23.222,0,22.065,0z M22.065,23.01H2.099c-0.522,0-0.947-0.424-0.947-0.945 + V2.099c0-0.522,0.425-0.946,0.947-0.946l19.966-0.002c0.522,0,0.947,0.424,0.947,0.946v19.968 + C23.013,22.586,22.588,23.01,22.065,23.01z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_gd1.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_gd1.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_gd1.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 18 25.1" style="enable-background:new 0 0 18 25.1;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#666666;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st1{fill:#666666;stroke:#666666;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M17,9.1c0,4.4-8.1,15-8.1,15S1,13.7,1,9.1C1,4.7,4.5,1,9.1,1C13.5,1.2,17,4.7,17,9.1"/> + <path class="st0" d="M17,9.1c0,4.4-8.1,15-8.1,15S1,13.7,1,9.1C1,4.7,4.5,1,9.1,1C13.5,1.2,17,4.7,17,9.1z"/> + <path class="st0" d="M12,9.1c0,1.7-1.5,3.1-3.1,3.1s-3.1-1.5-3.1-3.1S7.2,6,8.9,6C10.8,6.2,12,7.4,12,9.1"/> + <path class="st0" d="M12,9.1c0,1.7-1.5,3.1-3.1,3.1s-3.1-1.5-3.1-3.1S7.2,6,8.9,6C10.8,6.2,12,7.4,12,9.1z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_map_off.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_map_off.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_map_off.svg (revision 7) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 21.5 28" style="enable-background:new 0 0 21.5 28;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#7F7F7F;} +</style> +<path class="st0" d="M10.7,0.7c-5.5,0-10,4.5-10,10c0,4.4,6.5,12.8,9,15.8c0.5,0.6,1.5,0.6,2,0c2.6-2.9,9-11.4,9-15.8 + C20.7,5.2,16.3,0.8,10.7,0.7z M10.7,14.5c-2.1,0-3.8-1.7-3.8-3.8C7,8.7,8.7,7,10.7,7c2.1,0,3.8,1.7,3.8,3.7 + C14.5,12.8,12.8,14.5,10.7,14.5z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_blank_w.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_blank_w.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_blank_w.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 37.3 37.3" style="enable-background:new 0 0 37.3 37.3;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="17.3,10 27.3,10 27.3,20 "/> + <line class="st0" x1="27.3" y1="10" x2="9.7" y2="27.6"/> +</g> +<path class="st0" d="M35.8,17.1v11c0,4.2-3.4,7.7-7.7,7.7h-19c-4.2,0-7.7-3.4-7.7-7.7v-19c0-4.2,3.4-7.7,7.7-7.7h11"/> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_cmtintro_2_1.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_cmtintro_2_1.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/techbanner3.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/techbanner3.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/bg_joboffer.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_joboffer.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_tree_radio_true_disable.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_radio_true_disable.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_radio_true_disable.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="24.038px" height="24.039px" viewBox="0 0 24.038 24.039" enable-background="new 0 0 24.038 24.039" xml:space="preserve"> +<circle fill="#EAEAEA" cx="12.018" cy="12.02" r="11.329"/> +<circle fill="#C9C9C9" cx="12.02" cy="12.02" r="11.33"/> +<path fill="#838383" d="M12.02,24.039C5.393,24.039,0,18.648,0,12.02C0,5.393,5.393,0,12.02,0c6.626,0,12.019,5.392,12.019,12.02 + C24.039,18.648,18.646,24.039,12.02,24.039z M12.02,1.379c-5.867,0-10.641,4.773-10.641,10.641S6.153,22.66,12.02,22.66 + c5.867,0,10.64-4.772,10.64-10.64S17.887,1.379,12.02,1.379z"/> +<circle fill="#A3A2A2" cx="12.019" cy="12.021" r="6.078"/> +</svg> Index: base3.10/src/main/webapp/images/custom/arrow_top_fff.svg =================================================================== --- base3.10/src/main/webapp/images/custom/arrow_top_fff.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/arrow_top_fff.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 27.5 14.6" style="enable-background:new 0 0 27.5 14.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <line class="st0" x1="1.5" y1="13.1" x2="13.8" y2="1.5"/> + <line class="st0" x1="26" y1="13.1" x2="13.8" y2="1.5"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_gd2.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_gd2.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_gd2.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 27 27" style="enable-background:new 0 0 27 27;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#666666;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st1{fill:#666666;stroke:#666666;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M8.7,10.1l2.7-2.7L4.9,1L3.7,2.2l-1,1C0.8,5.1,0.5,8,1.9,10.3c1.8,2.8,4,5.6,6.6,8.2s5.4,4.8,8.2,6.6 + c2.3,1.4,5.2,1.1,7.1-0.8l1-1l1.2-1.2l-6.5-6.5l-2.7,2.7c-1.5-1.2-2.9-2.5-4.3-3.9C11.2,13,9.9,11.6,8.7,10.1z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_cmtintro_3_1.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_cmtintro_3_1.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/ts.svg =================================================================== --- base3.10/src/main/webapp/images/custom/ts.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/ts.svg (revision 7) @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 58.6 25.5" style="enable-background:new 0 0 58.6 25.5;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:url(#XMLID_2_);} + .st1{fill:url(#XMLID_3_);} +</style> +<g id="XMLID_5164_"> + + <linearGradient id="XMLID_2_" gradientUnits="userSpaceOnUse" x1="30.387" y1="817.4723" x2="57.4052" y2="837.934" gradientTransform="matrix(1 0 0 1 0 -815.8906)"> + <stop offset="0" style="stop-color:#2EA3D1"/> + <stop offset="0.1885" style="stop-color:#2E9FCE"/> + <stop offset="0.4351" style="stop-color:#2896C7"/> + <stop offset="0.7139" style="stop-color:#2287BB"/> + <stop offset="1" style="stop-color:#1D73AC"/> + </linearGradient> + <path id="XMLID_5166_" class="st0" d="M49.4,18.4c2,0.8,1.5,3.3-0.9,3.3H33c-0.4,0-0.8,0.4-0.8,0.9v2c0,0.5,0.4,0.9,0.8,0.9h18.1 + c4.2,0,7.5-2.1,7.5-6.3c0-2.8-1.2-5.1-4.3-6.5C52.5,12,41,7.2,41,7.2c-2.1-0.8-1.6-3.3,0.9-3.3h15.5c0.4,0,0.8-0.4,0.8-0.9V1 + c0-0.5-0.4-0.9-0.8-0.9H39.3c-4.2,0-7.5,2-7.5,6.3c0,2.8,1.2,5.1,4.3,6.5C37.9,13.6,49.4,18.4,49.4,18.4z"/> + + <linearGradient id="XMLID_3_" gradientUnits="userSpaceOnUse" x1="4.6822" y1="811.3204" x2="24.6574" y2="831.7823" gradientTransform="matrix(1 0 0 1 0 -815.8906)"> + <stop offset="5.618000e-03" style="stop-color:#ECBE2A"/> + <stop offset="1" style="stop-color:#E17B2B"/> + </linearGradient> + <path id="XMLID_5165_" class="st1" d="M30.8,0h-30C0.4,0,0,0.4,0,0.9v2c0,0.5,0.4,0.9,0.8,0.9h10.8v20.8c0,0.5,0.4,0.9,0.8,0.9l0,0 + h6.7l0,0c0.5,0,0.8-0.4,0.8-0.9V3.9h10.8c0.4,0,0.8-0.4,0.8-0.9V1C31.6,0.4,31.2,0,30.8,0z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_cmtintro_2_2.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_cmtintro_2_2.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_logout_fff.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_logout_fff.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_logout_fff.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 38.9 36.7" style="enable-background:new 0 0 38.9 36.7;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#FFFFFF;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M24.9,28.4c0,3.7-3,6.8-6.8,6.8H8.3c-3.7,0-6.8-3-6.8-6.8V8.3c0-3.7,3-6.8,6.8-6.8h9.9c3.7,0,6.8,3,6.8,6.8"/> + <polyline class="st0" points="30.4,11.4 37.4,18.3 30.4,25.3 "/> + <line class="st0" x1="37.4" y1="18.3" x2="14.3" y2="18.3"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/techbanner4.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/techbanner4.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_arrow_allplus.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_arrow_allplus.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_arrow_allplus.svg (revision 7) @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"> +<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="16.131px" height="17.402px" viewBox="0 0 16.131 17.402" xml:space="preserve"> +<g> + <polygon points="12.575,15.702 3.969,15.702 3.969,14.802 11.675,14.802 11.675,2.601 1.848,2.601 1.848,15.251 0.946,15.251 + 0.946,1.702 12.575,1.702 "/> + <rect x="4.428" y="4.689" width="4.976" height="0.9"/> + <rect x="4.428" y="6.94" width="4.976" height="0.9"/> + <rect x="4.577" y="9.191" width="4.976" height="0.902"/> + <rect x="4.428" y="11.477" width="4.976" height="0.9"/> + <g> + <g> + + <polygon fill="none" stroke="#FFFFFF" stroke-width="1.4679" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 11.015,6.631 15.892,9.876 11.015,13.12 "/> + + <path fill="none" stroke="#FFFFFF" stroke-width="1.4679" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d=" + M4.272,10.564c-0.235,0-0.424-0.307-0.424-0.688c0-0.386,0.191-0.693,0.427-0.693h8.487c0.234,0,0.424,0.31,0.424,0.693 + c0,0.382-0.189,0.688-0.424,0.688H4.272z"/> + </g> + <g> + <polygon fill="#3CA123" points="11.015,6.631 15.892,9.876 11.015,13.12 "/> + <path fill="#3CA123" d="M4.272,10.564c-0.235,0-0.424-0.307-0.424-0.688c0-0.386,0.191-0.693,0.427-0.693h8.487 + c0.234,0,0.424,0.31,0.424,0.693c0,0.382-0.189,0.688-0.424,0.688H4.272z"/> + </g> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_help.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_help.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_help.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 110.7 110.7" style="enable-background:new 0 0 110.7 110.7;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#343231;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} + .st1{fill:#343231;} +</style> +<g> + <circle class="st0" cx="55.3" cy="55.3" r="50.3"/> + <path class="st1" d="M60,42.1c0-3.4-2.3-5.6-5.8-5.6c-2,0-3.8,0.7-5.4,1.9c-1.5,1-3.4,0.9-4.8-0.3l0,0c-1.7-1.6-1.7-4.4,0.2-5.8 + c3.1-2.3,6.8-3.8,11.1-3.8c8.2,0,14.3,4.2,14.3,13c0,8.7-9.4,12.2-10.8,19.7c-0.3,1.8-1.9,3-3.7,3h-1.3c-2.4,0-4.2-2.2-3.8-4.6 + C51.6,51.7,60,47.7,60,42.1z M61.3,77.5c0,3.8-3.1,6.9-6.9,6.9s-6.9-3.1-6.9-6.9c0-3.8,3.1-6.9,6.9-6.9S61.3,73.7,61.3,77.5z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/onepass.svg =================================================================== --- base3.10/src/main/webapp/images/custom/onepass.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/onepass.svg (revision 7) @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 97.2 14.6" style="enable-background:new 0 0 97.2 14.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#848380;} + .st1{fill:none;stroke:#848380;stroke-width:1.025;stroke-linecap:round;stroke-miterlimit:10;} + .st2{fill:none;stroke:#848380;stroke-width:0.293;stroke-miterlimit:10;} +</style> +<g> + <polygon class="st0" points="27,3.9 28.3,3.9 28.3,1.3 30.9,1.3 30.9,0 27,0 "/> + <polygon class="st0" points="43.1,0 39.2,0 39.2,1.3 41.8,1.3 41.8,3.9 43.1,5.3 "/> + <polygon class="st0" points="28.3,10.7 27,10.7 27,14.6 30.9,14.6 30.9,13.3 28.3,13.3 "/> + <path class="st0" d="M39.2,10.3c-0.2-0.3-0.7-0.4-1-0.1c-0.3,0.2-0.4,0.7-0.1,1c0.3,0.4,1.2,1.5,2.3,2.5c0.4,0.3,0.8,0.7,1.2,1h1.5 + v-0.6c-0.1,0-0.2-0.1-0.2-0.1C41.4,12.9,39.6,10.8,39.2,10.3 M37.8,4.6c-0.4,0-0.8,0.1-1.2,0.2c-0.4,0.1-0.6,0.5-0.5,0.8 + C36.2,6,36.6,6.2,37,6.1C37.3,6,37.5,6,37.8,6c1,0,2,0.6,3.1,1.4c0.8,0.6,1.5,1.4,2.3,2.1V7.6c-0.4-0.4-0.9-0.8-1.4-1.2 + C40.6,5.4,39.3,4.6,37.8,4.6 M34.5,9.4c0-0.8,0.2-1.6,0.9-2.5c0.2-0.3,0.2-0.7-0.1-1c-0.3-0.2-0.7-0.2-1,0.1h0 + c-1,1.1-1.2,2.3-1.2,3.3c0,0.9,0.2,1.8,0.2,2.3c0,0.4-0.1,0.6-0.2,0.8c-0.1,0.2-0.4,0.5-1,0.7c-0.4,0.1-0.5,0.5-0.4,0.9 + c0.1,0.3,0.4,0.4,0.6,0.4c0.1,0,0.2,0,0.3,0c0.8-0.3,1.3-0.7,1.7-1.2c0.4-0.5,0.4-1.1,0.4-1.6C34.7,10.9,34.5,10.1,34.5,9.4 + M40.8,8.6c-0.7-0.6-1.1-1.1-1.6-1.3C38.7,7.1,38.3,7,37.9,7c-0.8,0-1.4,0.4-1.8,0.9c-0.4,0.5-0.6,1.2-0.6,1.9c0,0.4,0,0.7,0.1,1.1 + c0.3,1,1.1,2.3,2.3,3.6h1.9c-0.1-0.1-0.1-0.1-0.2-0.2c-1.4-1.3-2.5-3-2.7-3.8c-0.1-0.3-0.1-0.5-0.1-0.8c0-0.5,0.1-0.9,0.3-1.1 + c0.2-0.2,0.4-0.3,0.7-0.4c0.2,0,0.4,0,0.7,0.2c0.1,0,0.7,0.5,1.3,1.1c0.6,0.6,1.3,1.3,2.1,2c0.4,0.4,0.8,0.7,1.2,1v-1.8 + c-0.1-0.1-0.2-0.2-0.3-0.3C42.1,9.9,41.4,9.2,40.8,8.6 M43.1,4.4c-1.5-1.3-3.4-2.1-5.4-2.1c-1.3,0-2.7,0.4-4,1.3 + c-2.3,1.6-3.1,3.9-3,6.2c0,0.7,0.1,1.4,0.2,2.1c0.1,0.4,0.4,0.6,0.8,0.6c0.4-0.1,0.6-0.4,0.6-0.8c-0.1-0.6-0.1-1.3-0.1-1.9 + c0-2,0.5-3.7,2.5-5c1-0.7,2.1-1,3.2-1c1.6,0,3.2,0.7,4.5,1.8c0.3,0.3,0.6,0.5,0.9,0.8L43.1,4.4C43.1,4.4,43.1,4.4,43.1,4.4 + M35.7,12.9c-0.4,0-0.7,0.2-0.8,0.6c0,0.1-0.1,0.5-0.4,1c0,0-0.1,0.1-0.1,0.1H36c0.2-0.5,0.3-0.9,0.3-1 + C36.3,13.2,36,12.9,35.7,12.9"/> + <line class="st1" x1="10.8" y1="4.2" x2="10.8" y2="5.5"/> + <line class="st1" x1="5.3" y1="4.2" x2="5.3" y2="5.5"/> + <path class="st1" d="M12,8c0,2-1.8,3.5-4,3.5c-2.2,0-4-1.6-4-3.5"/> + <polygon class="st0" points="0,3.9 1.3,3.9 1.3,1.3 3.9,1.3 3.9,0 0,0 "/> + <polygon class="st0" points="16.1,10.7 14.8,10.7 14.8,13.3 12.2,13.3 12.2,14.6 16.1,14.6 "/> + <polygon class="st0" points="0,14.6 3.9,14.6 3.9,13.3 1.3,13.3 1.3,10.7 0,10.7 "/> + <polygon class="st0" points="12.2,0 12.2,1.3 14.8,1.3 14.8,3.9 16.1,3.9 16.1,0 "/> + <polygon class="st0" points="54,3.9 55.4,3.9 55.4,1.3 58,1.3 58,0 54,0 "/> + <polygon class="st0" points="70.1,10.7 68.8,10.7 68.8,13.3 66.2,13.3 66.2,14.6 70.1,14.6 "/> + <polygon class="st0" points="54,14.6 58,14.6 58,13.3 55.4,13.3 55.4,10.7 54,10.7 "/> + <polygon class="st0" points="66.2,0 66.2,1.3 68.8,1.3 68.8,3.9 70.1,3.9 70.1,0 "/> + <polygon class="st0" points="81.1,3.9 82.4,3.9 82.4,1.3 85,1.3 85,0 81.1,0 "/> + <polygon class="st0" points="97.2,10.7 95.8,10.7 95.8,13.3 93.2,13.3 93.2,14.6 97.2,14.6 "/> + <polygon class="st0" points="81.1,14.6 85,14.6 85,13.3 82.4,13.3 82.4,10.7 81.1,10.7 "/> + <polygon class="st0" points="93.2,0 93.2,1.3 95.8,1.3 95.8,3.9 97.2,3.9 97.2,0 "/> + <polygon class="st0" points="85.7,7.5 84.9,7.9 84.8,7.8 85.6,7.3 84.8,6.8 84.9,6.6 85.7,7.1 85.7,6.2 85.9,6.2 85.9,7.1 + 86.7,6.6 86.8,6.8 86.1,7.3 86.8,7.8 86.7,7.9 85.9,7.5 85.9,8.4 85.7,8.4 "/> + <polygon class="st2" points="85.7,7.5 84.9,7.9 84.8,7.8 85.6,7.3 84.8,6.8 84.9,6.6 85.7,7.1 85.7,6.2 85.9,6.2 85.9,7.1 + 86.7,6.6 86.8,6.8 86.1,7.3 86.8,7.8 86.7,7.9 85.9,7.5 85.9,8.4 85.7,8.4 "/> + <polygon class="st0" points="89.5,7.5 88.7,7.9 88.6,7.8 89.4,7.3 88.6,6.8 88.7,6.6 89.5,7.1 89.5,6.2 89.7,6.2 89.7,7.1 + 90.6,6.6 90.7,6.8 89.9,7.3 90.7,7.8 90.6,7.9 89.7,7.5 89.7,8.4 89.5,8.4 "/> + <polygon class="st2" points="89.5,7.5 88.7,7.9 88.6,7.8 89.4,7.3 88.6,6.8 88.7,6.6 89.5,7.1 89.5,6.2 89.7,6.2 89.7,7.1 + 90.6,6.6 90.7,6.8 89.9,7.3 90.7,7.8 90.6,7.9 89.7,7.5 89.7,8.4 89.5,8.4 "/> + <polygon class="st0" points="93.3,7.5 92.5,7.9 92.4,7.8 93.2,7.3 92.4,6.8 92.5,6.6 93.3,7.1 93.3,6.2 93.5,6.2 93.6,7.1 + 94.4,6.6 94.5,6.8 93.7,7.3 94.5,7.8 94.4,7.9 93.6,7.5 93.5,8.4 93.3,8.4 "/> + <polygon class="st2" points="93.3,7.5 92.5,7.9 92.4,7.8 93.2,7.3 92.4,6.8 92.5,6.6 93.3,7.1 93.3,6.2 93.5,6.2 93.6,7.1 + 94.4,6.6 94.5,6.8 93.7,7.3 94.5,7.8 94.4,7.9 93.6,7.5 93.5,8.4 93.3,8.4 "/> + <path class="st0" d="M62.4,9.7c-0.3,0-0.5,0.1-0.7,0.2l-2.1-2.1c0.1-0.2,0.2-0.5,0.2-0.7c0-0.3-0.1-0.5-0.2-0.8L61,4.7 + c0.2,0.1,0.4,0.2,0.6,0.2c0.8,0,1.4-0.6,1.4-1.4c0-0.8-0.6-1.4-1.4-1.4c-0.8,0-1.4,0.6-1.4,1.4c0,0.2,0.1,0.5,0.2,0.7l-1.5,1.7 + c-0.2-0.1-0.4-0.1-0.6-0.1c-0.8,0-1.4,0.6-1.4,1.4c0,0.8,0.6,1.4,1.4,1.4c0.2,0,0.4-0.1,0.6-0.1l2.2,2.2c-0.1,0.2-0.1,0.4-0.1,0.6 + c0,0.8,0.6,1.4,1.4,1.4c0.8,0,1.4-0.6,1.4-1.4C63.8,10.3,63.2,9.7,62.4,9.7 M61.6,2.8c0.4,0,0.7,0.3,0.7,0.7c0,0.4-0.3,0.7-0.7,0.7 + c-0.4,0-0.7-0.3-0.7-0.7C61,3.1,61.3,2.8,61.6,2.8 M58.4,7.8c-0.4,0-0.7-0.3-0.7-0.7s0.3-0.7,0.7-0.7c0.4,0,0.7,0.3,0.7,0.7 + S58.7,7.8,58.4,7.8 M62.4,11.8c-0.4,0-0.7-0.3-0.7-0.7s0.3-0.7,0.7-0.7c0.4,0,0.7,0.3,0.7,0.7S62.8,11.8,62.4,11.8"/> + <path class="st0" d="M65.9,6.3c-0.8,0-1.4,0.6-1.4,1.3c0,0.2,0,0.5,0.1,0.7L63,9.9l0.6,0.5l1.5-1.6c0.2,0.1,0.4,0.2,0.6,0.2 + c0.8,0,1.4-0.6,1.4-1.3C67.2,7,66.7,6.4,65.9,6.3 M65.8,8.4c-0.4,0-0.7-0.3-0.6-0.7c0-0.4,0.3-0.7,0.7-0.6c0.4,0,0.7,0.3,0.6,0.7 + C66.5,8.1,66.2,8.4,65.8,8.4"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/E8C6460B.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/E8C6460B.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/file_pdf.svg =================================================================== --- base3.10/src/main/webapp/images/custom/file_pdf.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/file_pdf.svg (revision 7) @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="446.461px" height="595.397px" viewBox="197.715 -0.116 446.461 595.397" + enable-background="new 197.715 -0.116 446.461 595.397" xml:space="preserve"> +<path fill="#333333" d="M627.782,113.824l-97.547-97.547C519.771,5.813,505.587-0.116,490.821-0.116H253.522 + C222.712,0,197.715,24.997,197.715,55.808v483.665c0,30.811,24.997,55.809,55.808,55.809h334.846 + c30.811,0,55.808-24.998,55.808-55.809V153.354C644.176,138.589,638.246,124.288,627.782,113.824z M583.834,148.82h-88.479V60.342 + L583.834,148.82z M253.522,539.472V55.808h186.025v120.916c0,15.463,12.44,27.904,27.903,27.904h120.917v334.845H253.522z + M544.42,372.4c-14.185-13.953-54.646-10.115-74.876-7.559c-19.997-12.207-33.368-29.066-42.785-53.83 + c4.534-18.719,11.743-47.205,6.278-65.109c-4.883-30.461-43.949-27.438-49.529-6.86c-5.116,18.719-0.465,44.763,8.139,78.014 + c-11.627,27.787-28.95,65.109-41.158,86.502c-23.253,11.975-54.646,30.461-59.296,53.715c-3.837,18.369,30.229,64.178,88.479-36.275 + c26.043-8.604,54.412-19.184,79.525-23.369c21.975,11.859,47.669,19.766,64.877,19.766C553.72,417.394,556.627,384.607,544.42,372.4 + z M314.096,462.853c5.93-15.928,28.485-34.297,35.345-40.693C327.351,457.388,314.096,463.667,314.096,462.853z M408.969,241.251 + c8.604,0,7.79,37.321,2.093,47.436C405.947,272.527,406.063,241.251,408.969,241.251z M380.6,400.07 + c11.278-19.648,20.928-43.018,28.718-63.598c9.65,17.557,21.975,31.625,34.996,41.275C420.131,382.746,399.087,392.978,380.6,400.07 + z M533.606,394.257c0,0-5.813,6.975-43.367-9.068C531.049,382.166,537.792,391.466,533.606,394.257z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_pause.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_pause.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_pause.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 21.3 36.5" style="enable-background:new 0 0 21.3 36.5;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#221E1F;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <line class="st0" x1="3.5" y1="3.5" x2="3.5" y2="33"/> + <line class="st0" x1="17.8" y1="3.5" x2="17.8" y2="33"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_line_bottom.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/icon_tree_line_bottom.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/smile.svg =================================================================== --- base3.10/src/main/webapp/images/custom/smile.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/smile.svg (revision 7) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 32.6 32.6" style="enable-background:new 0 0 32.6 32.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#383838;} + .st1{fill:none;stroke:#383838;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <circle class="st0" cx="9.3" cy="12.7" r="2.4"/> + <circle class="st0" cx="23.3" cy="12.7" r="2.4"/> + <path class="st1" d="M22,20c0,2.2-2.6,4-5.7,4s-5.7-1.8-5.7-4"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_love.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_love.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_love.svg (revision 7) @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 45.8 46.5" style="enable-background:new 0 0 45.8 46.5;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#323232;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<path class="st0" d="M33.7,2c-5.9-0.2-10.8,4.6-10.8,10.4C22.9,6.6,18,1.8,12.1,2C6.4,2.2,2,7.2,2,12.9c0,5.9,2.2,11.5,6.2,15.8 + l14.7,15.8l14.7-15.8c4-4.3,6.2-9.9,6.2-15.8C43.8,7.2,39.4,2.2,33.7,2z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_textbox.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_textbox.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_textbox.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 10 10" style="enable-background:new 0 0 10 10;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#F6F7FC;} + .st1{fill:#E6EAF6;} +</style> +<g> + <polygon class="st0" points="5,10 10,0 0,0 "/> + <path class="st1" d="M8.88,0L5,7.76L1.12,0L8.88,0 M10,0H0l5,10L10,0L10,0z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/bg_sub05.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/custom/bg_sub05.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/custom/icon_tree_checkbox_full.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_checkbox_full.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_checkbox_full.svg (revision 7) @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="24.166px" height="24.165px" viewBox="33.75 0 24.166 24.165" enable-background="new 33.75 0 24.166 24.165" + xml:space="preserve"> +<g> + <path fill="#FFFFFF" stroke="#000000" stroke-miterlimit="10" d="M35.85,23.588c-0.84,0-1.523-0.684-1.523-1.521V2.099 + c0-0.839,0.684-1.522,1.523-1.522h19.967c0.84,0,1.523,0.683,1.523,1.522v19.968c0,0.84-0.684,1.521-1.523,1.521H35.85z"/> + <path stroke="#000000" stroke-width="0.5" stroke-miterlimit="10" d="M55.816,0.901c0.66,0,1.197,0.537,1.197,1.196v19.968 + c0,0.66-0.537,1.195-1.197,1.195H35.85c-0.66,0-1.197-0.535-1.197-1.195V2.099c0-0.659,0.537-1.196,1.197-1.196L55.816,0.901 + M55.816,0.25H35.85c-1.021,0-1.851,0.828-1.851,1.849v19.968c0,1.02,0.828,1.848,1.851,1.848h19.967 + c1.021,0,1.852-0.828,1.852-1.848V2.099C57.666,1.077,56.838,0.25,55.816,0.25L55.816,0.25z"/> +</g> +<path d="M43.988,17.477c-0.264,0-0.531-0.102-0.734-0.305l-4.193-4.191c-0.406-0.406-0.406-1.063,0-1.469 + c0.404-0.404,1.061-0.407,1.467,0l3.461,3.457l7.15-7.149c0.406-0.405,1.063-0.405,1.469,0c0.406,0.406,0.406,1.063,0,1.469 + l-7.885,7.884C44.52,17.375,44.256,17.477,43.988,17.477z"/> +</svg> Index: base3.10/src/main/webapp/images/custom/x.svg =================================================================== --- base3.10/src/main/webapp/images/custom/x.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/x.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="70.473px" height="70.473px" viewBox="0 0 70.473 70.473" enable-background="new 0 0 70.473 70.473" xml:space="preserve"> +<g> + + <line fill="none" stroke="#3C3C3C" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="4.5" y1="4.5" x2="65.973" y2="65.973"/> + + <line fill="none" stroke="#3C3C3C" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="65.973" y1="4.5" x2="4.5" y2="65.973"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_excel.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_excel.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_excel.svg (revision 7) @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="30px" height="30px" viewBox="266.5 266.5 30 30" enable-background="new 266.5 266.5 30 30" xml:space="preserve"> +<g id="_48"> + <rect x="281.499" y="270.786" fill="#FFFFFF" width="13.574" height="20.714"/> + <path fill="#237447" d="M295.073,270.786V291.5h-13.574v-20.714H295.073 M295.073,269.357h-13.574 + c-0.789,0-1.427,0.639-1.427,1.428V291.5c0,0.79,0.638,1.43,1.427,1.43h13.574c0.788,0,1.427-0.639,1.427-1.43v-20.714 + C296.499,269.997,295.861,269.357,295.073,269.357z"/> + <rect x="287.927" y="272.928" fill="#237447" width="5" height="2.144"/> + <rect x="287.927" y="276.5" fill="#237447" width="5" height="2.143"/> + <rect x="287.927" y="280.073" fill="#237447" width="5" height="2.144"/> + <rect x="287.927" y="283.642" fill="#237447" width="5" height="2.145"/> + <rect x="287.927" y="287.216" fill="#237447" width="5" height="2.141"/> + <rect x="281.499" y="272.928" fill="#237447" width="5" height="2.144"/> + <rect x="281.499" y="276.5" fill="#237447" width="5" height="2.143"/> + <rect x="281.499" y="280.073" fill="#237447" width="5" height="2.144"/> + <rect x="281.499" y="283.642" fill="#237447" width="5" height="2.145"/> + <rect x="281.499" y="287.216" fill="#237447" width="5" height="2.141"/> + <path fill="#237447" d="M284.357,266.5L266.5,269.63v23.743l17.857,3.128V266.5z"/> + <path fill="#FFFFFF" d="M279.257,275.072l-2.492,0.149l-1.522,3.571l-0.1,0.323l-0.072,0.242l-0.065,0.235l-0.051,0.193l0,0 + c0-0.095-0.021-0.186-0.064-0.271l-0.065-0.25l-0.073-0.235l-0.078-0.215l-1.306-3.393l-2.406,0.15l2.564,5.558l-2.835,5.557 + l2.349,0.144l1.579-3.644l0.072-0.251l0.058-0.222l0.049-0.185v-0.15l0,0l0.05,0.264l0.051,0.223l0.043,0.172l0.043,0.122 + l1.644,3.885l2.729,0.173l-3.072-6.123L279.257,275.072"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_admin.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_admin.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_admin.svg (revision 7) @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 32.3 32.3" style="enable-background:new 0 0 32.3 32.3;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#333333;stroke-width:2;stroke-linejoin:bevel;stroke-miterlimit:10;} +</style> +<g> + <path class="st0" d="M31.3,18.7v-5L27.6,13c-0.3-0.9-0.6-1.8-1.1-2.6l2.2-3.1l-3.6-3.6L22,5.8c-0.8-0.5-1.7-0.8-2.6-1.1L18.7,1h-5 + L13,4.7C12,5,11.2,5.4,10.3,5.8L7.2,3.7L3.7,7.2l2.2,3.1C5.4,11.2,5,12,4.7,13L1,13.7v5l3.7,0.7C5,20.3,5.4,21.2,5.8,22l-2.2,3.1 + l3.6,3.6l3.1-2.2c0.8,0.5,1.7,0.8,2.6,1.1l0.7,3.7h5l0.7-3.7c0.9-0.3,1.8-0.6,2.6-1.1l3.1,2.2l3.6-3.6L26.5,22 + c0.5-0.8,0.8-1.7,1.1-2.6L31.3,18.7z"/> + <path class="st0" d="M19.5,16.2c0,1.9-1.5,3.4-3.4,3.4c-1.9,0-3.4-1.5-3.4-3.4s1.5-3.4,3.4-3.4C18,12.8,19.5,14.3,19.5,16.2z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/triangle_blue.svg =================================================================== --- base3.10/src/main/webapp/images/custom/triangle_blue.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/triangle_blue.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 10 10" style="enable-background:new 0 0 10 10;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} + .st1{fill:#C4D9E4;} +</style> +<g> + <polygon class="st0" points="5,10 10,0 0,0 "/> + <path class="st1" d="M8.9,0L5,7.8L1.1,0H8.9 M10,0H0l5,10L10,0L10,0z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_expansion.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_expansion.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_expansion.svg (revision 7) @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="22.062px" height="22.062px" viewBox="-25.63 0.47 22.062 22.062" enable-background="new -25.63 0.47 22.062 22.062" + xml:space="preserve"> +<g> + <path fill="#221F1F" d="M-14.599,17.096c-0.425,0-0.77-0.344-0.77-0.77V6.674c0-0.425,0.345-0.77,0.77-0.77s0.77,0.345,0.77,0.77 + v9.652C-13.83,16.752-14.174,17.096-14.599,17.096z"/> + <path fill="#221F1F" d="M-9.772,12.27h-9.653c-0.425,0-0.77-0.344-0.77-0.769s0.345-0.77,0.77-0.77h9.653 + c0.424,0,0.77,0.345,0.77,0.77S-9.348,12.27-9.772,12.27z"/> + <path fill="#221F1F" d="M-14.599,22.531c-6.083,0-11.031-4.947-11.031-11.03c0-6.083,4.948-11.031,11.031-11.031 + c6.083,0,11.031,4.949,11.031,11.031C-3.568,17.584-8.516,22.531-14.599,22.531z M-14.599,2.009c-5.234,0-9.492,4.258-9.492,9.492 + c0,5.233,4.258,9.491,9.492,9.491c5.233,0,9.492-4.258,9.492-9.491C-5.107,6.267-9.366,2.009-14.599,2.009z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_cart_none.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_cart_none.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_cart_none.svg (revision 7) @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 247 190" style="enable-background:new 0 0 247 190;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#343231;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polygon class="st0" points="174.4,123.3 88.9,123.3 75.2,61.3 188.1,61.3 "/> + <polyline class="st0" points="88.9,123.3 72.1,47.6 54.5,47.6 "/> + <path class="st0" d="M104.7,141.5c0,4.4-3.5,7.9-7.9,7.9c-4.3,0-7.9-3.5-7.9-7.9c0-4.4,3.5-7.9,7.9-7.9 + C101.2,133.6,104.7,137.1,104.7,141.5"/> + <path class="st0" d="M159.1,141.5c0,4.4,3.5,7.9,7.9,7.9s7.9-3.5,7.9-7.9c0-4.4-3.5-7.9-7.9-7.9 + C162.6,133.6,159.1,137.1,159.1,141.5"/> +</g> +<line class="st0" x1="145.2" y1="81.7" x2="122" y2="104.9"/> +<line class="st0" x1="122" y1="81.7" x2="145.2" y2="104.9"/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_child.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_child.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_child.svg (revision 7) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="31.764px" height="38.035px" viewBox="0 0 31.764 38.035" enable-background="new 0 0 31.764 38.035" xml:space="preserve"> +<polygon fill="#FFFFFF" points="30.823,37.093 0.94,37.093 0.94,1.205 18.913,1.205 25.757,8.08 30.823,12.852 "/> +<g> + <g> + <g> + <defs> + <rect id="SVGID_1_" x="18.913" y="12.852" width="11.912" height="3.607"/> + </defs> + <clipPath id="SVGID_2_"> + <use xlink:href="#SVGID_1_" overflow="visible"/> + </clipPath> + <rect x="18.913" y="12.852" clip-path="url(#SVGID_2_)" fill="#E9EFEE" width="11.912" height="3.607"/> + </g> + </g> +</g> +<polygon fill="none" stroke="#343340" stroke-width="1.8808" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 30.823,12.852 30.823,37.093 0.94,37.093 0.94,0.941 18.913,0.941 "/> +<polygon fill="#FFFFFF" points="30.823,12.852 18.913,12.852 18.913,0.941 "/> +<polygon fill="none" stroke="#343340" stroke-width="1.8808" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 30.823,12.852 18.913,12.852 18.913,0.941 "/> +</svg> Index: base3.10/src/main/webapp/images/custom/icon_tree_radio_true_full.svg =================================================================== --- base3.10/src/main/webapp/images/custom/icon_tree_radio_true_full.svg (nonexistent) +++ base3.10/src/main/webapp/images/custom/icon_tree_radio_true_full.svg (revision 7) @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="24.038px" height="24.039px" viewBox="0 0 24.038 24.039" enable-background="new 0 0 24.038 24.039" xml:space="preserve"> +<path fill="#838383" d="M12.02,24.039C5.393,24.039,0,18.647,0,12.02S5.393,0,12.02,0s12.019,5.392,12.019,12.02 + S18.646,24.039,12.02,24.039z M12.02,1.379c-5.867,0-10.641,4.773-10.641,10.641c0,5.867,4.773,10.64,10.641,10.64 + c5.866,0,10.64-4.773,10.64-10.64C22.659,6.152,17.886,1.379,12.02,1.379z"/> +<circle fill="#838383" cx="12.019" cy="12.02" r="6.078"/> +</svg> Index: base3.10/src/main/webapp/images/egovframework/com/cmm/bg_bar01.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/bg_bar01.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/er_logo.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/er_logo.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/bg_tab01.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/bg_tab01.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/left_bg.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/left_bg.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/index_login.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/index_login.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/menu_bg.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/menu_bg.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/logo.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/logo.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/left_menu_bg.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/left_menu_bg.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/left_menu_top.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/left_menu_top.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/left_menu_btm.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/left_menu_btm.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/bg_list_th.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/bg_list_th.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/left_bg.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/left_bg.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/login_btn.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/login_btn.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/contents.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/contents.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/btn_kne.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/btn_kne.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/join_btn.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/join_btn.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/bu2.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/bu2.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/login_bg01.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/login_bg01.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/login_id_save.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/login_id_save.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/btn_logout.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/btn_logout.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/bg_list_thEnd.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/bg_list_thEnd.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/page_title.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/page_title.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/index_login.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/uss/umt/index_login.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/bg_tab01_on.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/bg_tab01_on.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/bul/bul_i.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/bul/bul_i.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/bul/bullet_arrow.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/bul/bullet_arrow.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/bu_icon_carlendar.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/search2.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/search2.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/no_required.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/no_required.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/icon_next.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/icon_next.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/icon_prev.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/icon_prev.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/icon_tit2.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/icon_tit2.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/tit_icon.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/tit_icon.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/required.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/required.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/action_delete.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/action_delete.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/action_add.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/action_add.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/search.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/search.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/tit_icon.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/icon/tit_icon.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/main/top_logo.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/main/top_logo.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/main/navi_bg.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/main/navi_bg.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/main/bottom_logo.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/main/bottom_logo.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/main/logo_01.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/main/logo_01.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/main/logout_btn.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/main/logout_btn.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_hr.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_hr.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_indent_less.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_indent_less.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_align_justify.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_align_justify.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_align_right.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_align_right.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/insert_table.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/insert_table.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/fullscreen_maximize.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/fullscreen_maximize.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_format_italic.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_format_italic.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_format_strike.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_format_strike.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_indent_more.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_indent_more.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_format_bold.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_format_bold.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_image.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_image.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_color_fg.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_color_fg.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_color_bg.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_color_bg.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_html.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_html.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_help.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_help.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_left_to_right.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_left_to_right.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_undo.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_undo.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_killword.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_killword.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_right_to_left.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_right_to_left.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_rmformat.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_rmformat.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_format_sub.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_format_sub.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_link.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_link.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_redo.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_redo.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_cut.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_cut.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_format_underline.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_format_underline.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_format_sup.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_format_sup.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_about.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_about.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_align_center.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_align_center.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_paste.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_paste.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_list_num.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_list_num.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_copy.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_copy.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_align_left.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_align_left.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_list_bullet.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/toolbar/ed_list_bullet.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/btn_close.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/btn_close.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/btn_next.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/btn_next.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/btn_prev.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/btn_prev.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/btn_search.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/btn_search.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/bg_btn_02.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/bg_btn_02.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/bu2_right.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/bu2_right.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/btn_del.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/btn_del.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/btn_search.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/btn_search.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/bu2_left.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/btn/bu2_left.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/btn_search.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/btn_search.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_first.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_first.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_last.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_last.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_first_on.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_first_on.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_last_on.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_last_on.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_next_on.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_next_on.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_prev_on.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_prev_on.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_next.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_next.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_prev.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/paging/pagination_prev.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_nolines_minus.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_nolines_minus.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_page.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_page.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_musicfolder.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_musicfolder.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_empty.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_empty.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/ui-icons_555555_256x240.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/ui-icons_555555_256x240.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/ui-icons_777777_256x240.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/ui-icons_777777_256x240.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/ui-icons_cc0000_256x240.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/ui-icons_cc0000_256x240.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_base.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_base.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_joinbottom.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_joinbottom.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_plus.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_plus.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_question.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_question.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_minusbottom.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_minusbottom.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_nolines_plus.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_nolines_plus.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_cd.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_cd.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_join.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_join.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/ui-icons_777620_256x240.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/ui-icons_777620_256x240.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_folder.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_folder.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_minus.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_minus.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_line.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_line.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_folderopen.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_folderopen.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_trash.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_trash.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_globe.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_globe.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/ui-icons_444444_256x240.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/ui-icons_444444_256x240.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/ui-icons_ffffff_256x240.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/ui-icons_ffffff_256x240.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_imgfolder.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_imgfolder.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_plusbottom.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/utl/menu_plusbottom.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/chart/chart1.JPG =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/chart/chart1.JPG ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/chart/chart2.JPG =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/chart/chart2.JPG ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/chart/chart3.JPG =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/chart/chart3.JPG ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/chart/chart4.JPG =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/chart/chart4.JPG ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/chart/chart5.JPG =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/chart/chart5.JPG ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cmm/chart/chart6.JPG =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cmm/chart/chart6.JPG ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/more_08.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/more_08.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/cal.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/cal.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/right_gap.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/right_gap.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/top_menu_bg.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/top_menu_bg.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/left_menu_top.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/left_menu_top.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/logo_com.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/logo_com.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/top_menu_left.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/top_menu_left.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/1_step_right.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/1_step_right.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/temple_top01.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/temple_top01.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/dot.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/dot.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/1_step_bg.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/1_step_bg.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/gray_line_03.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/gray_line_03.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/bull.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/bull.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/left_menu_bottom.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/left_menu_bottom.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/1_step_left.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/1_step_left.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/gray_white.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/gray_white.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/top_menu_right.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/top_menu_right.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/gray_line_01.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/gray_line_01.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/top_menu_gap.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/top_menu_gap.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/gray_line_02.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/tpl/gray_line_02.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/bl03.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/bl03.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/top_logo.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/top_logo.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/btn_next.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/btn_next.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/btn_more.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/btn_more.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/community_title_bg2.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/community_title_bg2.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/bl01.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/bl01.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/community_bg.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/community_bg.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/bg_gnb_r.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/bg_gnb_r.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/txt_gray_dot.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/txt_gray_dot.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/bg_lnb_tit.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/bg_lnb_tit.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/bg_bar01.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/bg_bar01.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/community_title.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/community_title.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/community_title_bg.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/community_title_bg.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/bl02.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/com/cmy/bl02.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/tbl_check.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/tbl_check.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/dot_gray.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/dot_gray.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/icon_write.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/icon_write.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/community_bg.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/community_bg.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/bg_bot01.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/bg_bot01.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/bg_gnb_r.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/bg_gnb_r.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/pencil.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/pencil.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/icon_up.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/icon_up.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/bg_bar01.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/bg_bar01.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/icon_notice.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/icon_notice.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/community_title_bg.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/community_title_bg.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/icon_reply.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/icon_reply.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/icon_down.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/icon_down.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/img01.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/img01.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/pencil_add.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/pencil_add.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/icon_lock.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/icon_lock.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/img02.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/img02.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/img04.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/img04.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/bg_blog_tit.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/bg_blog_tit.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/btn_write.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/btn_write.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/img03.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/bbs/img03.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/smt/sdm/btn_next.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/smt/sdm/btn_next.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/smt/sdm/btn_prev.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/smt/sdm/btn_prev.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/cop/smt/sdm/bullet_arrow.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/cop/smt/sdm/bullet_arrow.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/uss/ion/ntm/check.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/uss/ion/ntm/check.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/uss/ion/tir/twitter_regist_detail.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/uss/ion/tir/twitter_regist_detail.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/uss/ion/tir/twitter_regist.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/uss/ion/tir/twitter_regist.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/sym/cal/bu_icon_carlendar.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/sym/cal/bu_icon_carlendar.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/sym/cal/icon_aft_month.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/sym/cal/icon_aft_month.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/sym/cal/icon_pre_month.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/sym/cal/icon_pre_month.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/sym/cal/icon_pre_year.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/sym/cal/icon_pre_year.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/sym/cal/icon_aft_year.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/sym/cal/icon_aft_year.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/uat/uia/google-login.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/uat/uia/google-login.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/uat/uia/login_tit.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/uat/uia/login_tit.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/uat/uia/naver-login.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/uat/uia/naver-login.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/egovframework/com/uat/uia/kakao-login.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/egovframework/com/uat/uia/kakao-login.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/admin/arrow_right_gray.svg =================================================================== --- base3.10/src/main/webapp/images/admin/arrow_right_gray.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/arrow_right_gray.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="44.694px" height="80.388px" viewBox="17.847 -17.847 44.694 80.388" enable-background="new 17.847 -17.847 44.694 80.388" + xml:space="preserve"> +<polyline fill="none" stroke="#999999" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 22.348,-13.346 58.042,22.347 22.348,58.042 "/> +</svg> Index: base3.10/src/main/webapp/images/admin/bg_project.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/admin/bg_project.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/admin/arrow_down_gray.svg =================================================================== --- base3.10/src/main/webapp/images/admin/arrow_down_gray.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/arrow_down_gray.svg (revision 7) @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="80.389px" height="44.693px" viewBox="0 0 80.389 44.693" enable-background="new 0 0 80.389 44.693" xml:space="preserve"> +<polyline fill="none" stroke="#999999" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 75.889,4.5 40.196,40.194 4.501,4.5 "/> +</svg> Index: base3.10/src/main/webapp/images/admin/icon_minus.svg =================================================================== --- base3.10/src/main/webapp/images/admin/icon_minus.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/icon_minus.svg (revision 7) @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="21.567px" height="21.567px" viewBox="11.563 27.577 21.567 21.567" enable-background="new 11.563 27.577 21.567 21.567" + xml:space="preserve"> +<g> + + <line fill="none" stroke="#112B53" stroke-width="3.2351" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="31.513" y1="38.361" x2="13.181" y2="38.361"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/smile2.svg =================================================================== --- base3.10/src/main/webapp/images/admin/smile2.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/smile2.svg (revision 7) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 32.6 32.6" style="enable-background:new 0 0 32.6 32.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#F3CE64;} + .st1{fill:#383838;} + .st2{fill:#D96151;} + .st3{fill:none;stroke:#383838;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <circle class="st0" cx="16.3" cy="16.3" r="16.3"/> + <circle class="st1" cx="9.3" cy="12.7" r="2.4"/> + <circle class="st1" cx="23.3" cy="12.7" r="2.4"/> + <path class="st3" d="M10.6,24.1c0-2.2,2.6-4,5.7-4s5.7,1.8,5.7,4"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/smile4.svg =================================================================== --- base3.10/src/main/webapp/images/admin/smile4.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/smile4.svg (revision 7) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 32.6 32.6" style="enable-background:new 0 0 32.6 32.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#F3CE64;} + .st1{fill:#383838;} + .st2{fill:#D96151;} + .st3{fill:none;stroke:#383838;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <circle class="st0" cx="16.3" cy="16.3" r="16.3"/> + <circle class="st1" cx="9.3" cy="12.7" r="2.4"/> + <circle class="st1" cx="23.3" cy="12.7" r="2.4"/> + <path class="st3" d="M22,20c0,2.2-2.6,4-5.7,4s-5.7-1.8-5.7-4"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/icon_x.svg =================================================================== --- base3.10/src/main/webapp/images/admin/icon_x.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/icon_x.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="21.566px" height="21.566px" viewBox="0 0 21.566 21.566" enable-background="new 0 0 21.566 21.566" xml:space="preserve"> +<g> + + <line fill="none" stroke="#112B53" stroke-width="3.2351" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="17.265" y1="4.302" x2="4.302" y2="17.265"/> + + <line fill="none" stroke="#112B53" stroke-width="3.2351" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="17.265" y1="17.265" x2="4.302" y2="4.302"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/arrow_down_white.svg =================================================================== --- base3.10/src/main/webapp/images/admin/arrow_down_white.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/arrow_down_white.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="80.388px" height="44.695px" viewBox="0.002 0 80.388 44.695" enable-background="new 0.002 0 80.388 44.695" + xml:space="preserve"> +<polyline fill="none" stroke="#FFFFFF" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 75.89,4.5 40.197,40.195 4.502,4.5 "/> +</svg> Index: base3.10/src/main/webapp/images/admin/icon_calendar.svg =================================================================== --- base3.10/src/main/webapp/images/admin/icon_calendar.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/icon_calendar.svg (revision 7) @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="20.924px" height="22.231px" viewBox="249.647 262.968 20.924 22.231" + enable-background="new 249.647 262.968 20.924 22.231" xml:space="preserve"> +<g> + <path fill="#221F1F" d="M268.098,285.199H252.12c-1.363,0-2.473-1.109-2.473-2.473v-13.841c0-1.363,1.109-2.473,2.473-2.473h15.979 + c1.363,0,2.473,1.109,2.473,2.473v13.841C270.571,284.09,269.462,285.199,268.098,285.199z M252.12,268.523 + c-0.199,0-0.361,0.163-0.361,0.362v13.841c0,0.199,0.162,0.362,0.361,0.362h15.979c0.199,0,0.361-0.163,0.361-0.362v-13.841 + c0-0.2-0.162-0.362-0.361-0.362H252.12z"/> + <g> + <path fill="#221F1F" d="M256.969,266.559c0,0.157-0.127,0.284-0.283,0.284h-2.184c-0.156,0-0.283-0.127-0.283-0.284v-3.308 + c0-0.157,0.127-0.284,0.283-0.284h2.184c0.156,0,0.283,0.127,0.283,0.284V266.559z"/> + <path fill="#221F1F" d="M266,266.559c0,0.157-0.127,0.284-0.283,0.284h-2.184c-0.156,0-0.283-0.127-0.283-0.284v-3.308 + c0-0.157,0.127-0.284,0.283-0.284h2.184c0.156,0,0.283,0.127,0.283,0.284V266.559z"/> + </g> + <g> + <path fill="#221F1F" d="M256.89,274.411c0,0.313-0.254,0.567-0.567,0.567h-1.615c-0.313,0-0.567-0.254-0.567-0.567v-1.616 + c0-0.313,0.254-0.567,0.567-0.567h1.615c0.313,0,0.567,0.254,0.567,0.567V274.411z"/> + <path fill="#221F1F" d="M261.484,274.411c0,0.313-0.254,0.567-0.567,0.567h-1.615c-0.313,0-0.567-0.254-0.567-0.567v-1.616 + c0-0.313,0.254-0.567,0.567-0.567h1.615c0.313,0,0.567,0.254,0.567,0.567V274.411z"/> + <path fill="#221F1F" d="M266.078,274.411c0,0.313-0.254,0.567-0.567,0.567h-1.615c-0.313,0-0.567-0.254-0.567-0.567v-1.616 + c0-0.313,0.254-0.567,0.567-0.567h1.615c0.313,0,0.567,0.254,0.567,0.567V274.411z"/> + <path fill="#221F1F" d="M256.89,278.816c0,0.313-0.254,0.567-0.567,0.567h-1.615c-0.313,0-0.567-0.254-0.567-0.567v-1.615 + c0-0.313,0.254-0.567,0.567-0.567h1.615c0.313,0,0.567,0.254,0.567,0.567V278.816z"/> + <path fill="#221F1F" d="M261.484,278.816c0,0.313-0.254,0.567-0.567,0.567h-1.615c-0.313,0-0.567-0.254-0.567-0.567v-1.615 + c0-0.313,0.254-0.567,0.567-0.567h1.615c0.313,0,0.567,0.254,0.567,0.567V278.816z"/> + <path fill="#221F1F" d="M266.078,278.816c0,0.313-0.254,0.567-0.567,0.567h-1.615c-0.313,0-0.567-0.254-0.567-0.567v-1.615 + c0-0.313,0.254-0.567,0.567-0.567h1.615c0.313,0,0.567,0.254,0.567,0.567V278.816z"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/bg_select_fff.svg =================================================================== --- base3.10/src/main/webapp/images/admin/bg_select_fff.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/bg_select_fff.svg (revision 7) @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="14.578px" height="8.082px" viewBox="47.978 22.834 14.578 8.082" enable-background="new 47.978 22.834 14.578 8.082" + xml:space="preserve"> +<path fill="#FFFFFF" d="M55.267,30.916c-0.203,0-0.405-0.078-0.56-0.232l-6.497-6.497c-0.31-0.31-0.31-0.811,0-1.121 + c0.309-0.309,0.811-0.309,1.119,0l5.938,5.938l5.937-5.938c0.309-0.309,0.812-0.309,1.121,0c0.309,0.31,0.309,0.811,0,1.121 + l-6.498,6.498C55.672,30.838,55.47,30.916,55.267,30.916z"/> +</svg> Index: base3.10/src/main/webapp/images/admin/icon_fileup.svg =================================================================== --- base3.10/src/main/webapp/images/admin/icon_fileup.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/icon_fileup.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 37 30" style="enable-background:new 0 0 37 30;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#323232;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <polyline class="st0" points="11.5,8.5 18.5,1.5 25.5,8.5 "/> + <polyline class="st0" points="35.5,16.5 35.5,28.5 1.5,28.5 1.5,16.5 "/> + <line class="st0" x1="18.5" y1="1.5" x2="18.5" y2="20.1"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/logo.svg =================================================================== --- base3.10/src/main/webapp/images/admin/logo.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/logo.svg (revision 7) @@ -0,0 +1,168 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 277.49 34.51" style="enable-background:new 0 0 277.49 34.51;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:url(#XMLID_2_);} + .st1{fill:url(#XMLID_3_);} + .st2{fill:#FFFFFF;} +</style> +<g> + <g id="XMLID_6_"> + <g id="XMLID_7_"> + <g id="XMLID_8_"> + <linearGradient id="XMLID_2_" gradientUnits="userSpaceOnUse" x1="35.9578" y1="3.9224" x2="67.9155" y2="28.1247"> + <stop offset="0" style="stop-color:#00AFEC"/> + <stop offset="0.1679" style="stop-color:#00ADEB"/> + <stop offset="0.3876" style="stop-color:#00A4E4"/> + <stop offset="0.6361" style="stop-color:#0096D9"/> + <stop offset="0.9038" style="stop-color:#0082C9"/> + <stop offset="1" style="stop-color:#0079C3"/> + </linearGradient> + <path id="XMLID_10_" class="st0" d="M58.4,23.79c2.42,0.96,1.8,3.91-1.05,3.91H39c-0.53,0-0.96,0.49-0.96,1.11v2.35 + c0,0.61,0.43,1.11,0.96,1.11h21.38c5,0,8.93-2.44,8.93-7.43c0-3.31-1.47-6.01-5.05-7.63c-2.14-0.99-15.72-6.67-15.72-6.67 + c-2.44-0.96-1.84-3.91,1.04-3.91h18.34c0.52,0,0.96-0.49,0.96-1.1V3.19c0-0.63-0.44-1.09-0.96-1.09h-21.4 + c-4.98,0-8.91,2.41-8.91,7.4c0,3.32,1.47,6.01,5.06,7.64C44.8,18.12,58.4,23.79,58.4,23.79z"/> + <linearGradient id="XMLID_3_" gradientUnits="userSpaceOnUse" x1="5.5249" y1="-3.3173" x2="29.1511" y2="20.8844"> + <stop offset="5.618000e-03" style="stop-color:#FDD000"/> + <stop offset="1" style="stop-color:#F08300"/> + </linearGradient> + <path id="XMLID_9_" class="st1" d="M36.39,2.08H0.97C0.45,2.08,0,2.56,0,3.17v2.37c0,0.6,0.45,1.09,0.97,1.09h12.76v24.58 + c0,0.6,0.46,1.11,0.99,1.11l0,0h7.92l0,0c0.53,0,0.98-0.51,0.98-1.11V6.63h12.77c0.52,0,0.96-0.49,0.96-1.09V3.17 + C37.36,2.56,36.91,2.08,36.39,2.08z"/> + </g> + </g> + </g> + <g> + <path class="st2" d="M89.25,5.37c0,2.95,1.46,6.38,4.48,7.85l-1.46,2.19c-2.04-0.99-3.48-2.93-4.3-5.22 + c-0.82,2.53-2.3,4.65-4.4,5.71l-1.48-2.21c3.02-1.47,4.52-5.12,4.52-8.32V4.3h-3.82V2h10.12V4.3h-3.66V5.37z M99.59,9.83h-2.68 + v9.71h-2.64V0.15h2.64v7.39h2.68V9.83z"/> + <path class="st2" d="M116.97,9.27v2.21h-16.66V9.27h7v-1.6h-4.98v-6.7h12.64v2.21h-10.02v2.27h10.12v2.21h-5.12v1.6H116.97z + M114.97,16c0,2.27-2.42,3.56-6.4,3.56c-3.98,0-6.38-1.28-6.38-3.56c0-2.29,2.4-3.58,6.38-3.58 + C112.55,12.42,114.97,13.71,114.97,16z M112.29,16c0-1.01-1.26-1.47-3.72-1.47c-2.46,0-3.72,0.46-3.72,1.47s1.26,1.45,3.72,1.45 + C111.03,17.46,112.29,17.02,112.29,16z"/> + <path class="st2" d="M124.76,6.19c0,2.74,1.3,5.88,4.18,7.33l-1.4,2.11c-1.96-0.95-3.3-2.76-4.06-4.91 + c-0.8,2.32-2.22,4.27-4.28,5.24l-1.42-2.13c2.98-1.45,4.36-4.74,4.36-7.64V5.52h-3.74V3.31h3.74v-2.7h2.64v2.7h3.64v2.21h-3.66 + V6.19z M135.2,9.98h-2.68v9.56h-2.64V0.17h2.64v7.52h2.68V9.98z"/> + <path class="st2" d="M152.56,13.84h-3.8v5.71h-2.66v-5.71h-3.7v5.71h-2.66v-5.71h-3.86V11.6h16.68V13.84z M150.82,10.28h-12.86 + V0.93h12.68v2.19h-10.06v1.41h9.66v2.11h-9.66v1.47h10.24V10.28z"/> + <path class="st2" d="M165.17,9.46c-3.02,0.67-5.92,0.86-8.82,0.86h-1.6V1.37h2.62v6.67c2.46-0.06,4.94-0.29,7.52-0.84L165.17,9.46 + z M169.03,15.6c0,2.46-2.44,3.96-6.3,3.96c-3.84,0-6.28-1.5-6.28-3.96c0-2.46,2.44-3.96,6.28-3.96 + C166.59,11.65,169.03,13.14,169.03,15.6z M166.41,15.6c0-1.2-1.3-1.75-3.68-1.75c-2.36,0-3.66,0.55-3.66,1.75 + c0,1.18,1.3,1.75,3.66,1.75C165.11,17.35,166.41,16.78,166.41,15.6z M168.95,11.37h-2.64V0.15h2.64V11.37z"/> + <path class="st2" d="M188.16,9.44v2.21h-16.64V9.44h6.98V7.1h2.64v2.34H188.16z M172.21,6.02c3.44-0.29,5.24-1.56,5.7-2.86h-4.88 + V0.95h13.62v2.21h-4.9c0.46,1.31,2.26,2.57,5.7,2.86l-0.92,2.19c-3.46-0.36-5.74-1.71-6.7-3.56c-0.98,1.85-3.24,3.2-6.72,3.56 + L172.21,6.02z M186.19,16.13c0,2.19-2.4,3.43-6.4,3.43s-6.38-1.24-6.38-3.43c0-2.19,2.38-3.43,6.38-3.43 + S186.19,13.94,186.19,16.13z M183.51,16.13c0-0.93-1.24-1.35-3.72-1.35s-3.72,0.42-3.72,1.35c0,0.95,1.24,1.35,3.72,1.35 + S183.51,17.08,183.51,16.13z"/> + <path class="st2" d="M200.16,4.02H189.3V1.85h4.1V0h2.66v1.85h4.12L200.16,4.02z M194.74,11.41c-2.66,0-4.52-1.39-4.52-3.43 + c0-2.06,1.86-3.43,4.52-3.43c2.66,0,4.52,1.37,4.52,3.43C199.26,10.02,197.4,11.41,194.74,11.41z M201.2,12.24h2.62v7.1h-11.98 + v-7.1h2.62v1.47h6.74V12.24z M194.74,9.39c1.18,0,2-0.48,2-1.41s-0.82-1.41-2-1.41c-1.18,0-2,0.48-2,1.41S193.56,9.39,194.74,9.39 + z M201.2,15.82h-6.74v1.35h6.74V15.82z M206.26,7.08h-2.44v4.42h-2.64V0.15h2.64V4.8h2.44V7.08z"/> + <path class="st2" d="M214.24,5.37c0,3.16,1.48,6.51,4.56,7.85l-1.44,2.19c-2.14-0.97-3.6-2.86-4.42-5.2 + c-0.82,2.53-2.3,4.65-4.46,5.69l-1.5-2.21c3.08-1.45,4.58-5.01,4.58-8.32V4.3h-3.84V2h10.32V4.3h-3.8V5.37z M222.39,0.15v19.39 + h-2.64V0.15H222.39z"/> + <path class="st2" d="M240.83,17v2.21h-13.66v-5.77h2.56v-2.59c-1.62,0.08-3.16,0.11-4.54,0.11l-0.34-2.21 + c3.36-0.02,7.84-0.06,11.72-0.59l0.18,1.98c-1.44,0.27-2.92,0.44-4.4,0.55v3.66h-2.54V17H240.83z M226.19,4.28 + c0-2.06,1.9-3.47,4.6-3.47c2.68,0,4.58,1.41,4.58,3.47s-1.9,3.45-4.58,3.45C228.09,7.73,226.19,6.34,226.19,4.28z M228.69,4.28 + c0,0.95,0.86,1.43,2.1,1.43c1.22,0,2.08-0.48,2.08-1.43c0-0.95-0.86-1.45-2.08-1.45C229.55,2.82,228.69,3.33,228.69,4.28z + M237.79,11.41V0.15h2.64v14.7h-2.64v-1.54h-3.46v-1.9H237.79z"/> + <path class="st2" d="M259.42,15.12v2.23h-16.68v-2.23h6.98v-3.45h-5.58V9.46h2.4v-5.5h-2.5V1.75h14v2.21h-2.5v5.5h2.44v2.21h-5.62 + v3.45H259.42z M249.16,9.46h3.76v-5.5h-3.76V9.46z"/> + <path class="st2" d="M270.7,9.65c-2.42,0.36-4.48,0.38-7.88,0.38h-1.44v-8.8h8.5v2.15H264v1.2h5.32v2.02H264v1.26 + c2.64-0.02,4.42-0.06,6.5-0.38L270.7,9.65z M276.46,17.31v2.08h-12.64v-5.14h9.5V13.2h-9.54v-2.08h12.16v5.1h-9.52v1.09H276.46z + M273.3,6.45h-2.92V4.25h2.92V0.15h2.64V10.4h-2.64V6.45z"/> + </g> + <g> + <path class="st2" d="M82.52,25.76h0.83v3.3h0.03l2.74-3.3h0.93L85,28.26l2.37,4.07h-0.93l-1.96-3.42l-1.13,1.34v2.08h-0.83V25.76z + "/> + <path class="st2" d="M90.23,26.46h-1.99v-0.7h4.81v0.7h-1.99v5.87h-0.83V26.46z"/> + <path class="st2" d="M94.07,31.47l0.49-0.56c0.47,0.49,1.14,0.81,1.82,0.81c0.86,0,1.38-0.43,1.38-1.07 + c0-0.67-0.47-0.89-1.09-1.17l-0.95-0.41c-0.61-0.26-1.33-0.72-1.33-1.68c0-1.01,0.88-1.75,2.07-1.75c0.78,0,1.47,0.33,1.93,0.81 + l-0.44,0.53c-0.4-0.38-0.89-0.62-1.5-0.62c-0.74,0-1.23,0.38-1.23,0.97c0,0.64,0.57,0.88,1.08,1.09l0.94,0.4 + c0.76,0.33,1.35,0.78,1.35,1.75c0,1.04-0.86,1.86-2.23,1.86C95.44,32.45,94.65,32.07,94.07,31.47z"/> + <path class="st2" d="M103.63,30.32h-2.4l-0.64,2.01h-0.84l2.23-6.57h0.92l2.23,6.57h-0.88L103.63,30.32z M103.42,29.66l-0.31-1 + c-0.24-0.74-0.45-1.46-0.66-2.22h-0.04c-0.21,0.77-0.42,1.48-0.65,2.22l-0.32,1H103.42z"/> + <path class="st2" d="M106.53,31.83c0-0.37,0.27-0.64,0.59-0.64c0.32,0,0.59,0.27,0.59,0.64s-0.27,0.62-0.59,0.62 + C106.8,32.45,106.53,32.19,106.53,31.83z"/> + <path class="st2" d="M115.72,30.32h-2.4l-0.64,2.01h-0.84l2.23-6.57h0.92l2.23,6.57h-0.88L115.72,30.32z M115.51,29.66l-0.31-1 + c-0.24-0.74-0.45-1.46-0.66-2.22h-0.04c-0.21,0.77-0.42,1.48-0.65,2.22l-0.32,1H115.51z"/> + <path class="st2" d="M118.67,30.55v-3.08h0.82v2.98c0,0.9,0.27,1.29,0.91,1.29c0.5,0,0.85-0.24,1.32-0.82v-3.45h0.81v4.86h-0.68 + l-0.06-0.76h-0.03c-0.46,0.53-0.94,0.88-1.61,0.88C119.13,32.45,118.67,31.78,118.67,30.55z"/> + <path class="st2" d="M125.03,30.82v-2.7h-0.73v-0.62l0.76-0.04l0.1-1.36h0.68v1.36h1.32v0.66h-1.32v2.71 + c0,0.6,0.19,0.94,0.75,0.94c0.17,0,0.39-0.06,0.56-0.13l0.16,0.61c-0.28,0.09-0.6,0.18-0.9,0.18 + C125.38,32.45,125.03,31.8,125.03,30.82z"/> + <path class="st2" d="M128.49,29.9c0-1.62,1.07-2.56,2.26-2.56S133,28.28,133,29.9c0,1.61-1.07,2.54-2.26,2.54 + S128.49,31.51,128.49,29.9z M132.16,29.9c0-1.12-0.57-1.88-1.42-1.88s-1.41,0.76-1.41,1.88c0,1.12,0.56,1.86,1.41,1.86 + S132.16,31.02,132.16,29.9z"/> + <path class="st2" d="M135,27.47h0.67l0.07,0.71h0.03c0.42-0.47,0.93-0.83,1.51-0.83c0.74,0,1.15,0.36,1.34,0.93 + c0.5-0.55,1.01-0.93,1.6-0.93c1,0,1.48,0.66,1.48,1.91v3.08h-0.81v-2.97c0-0.91-0.29-1.3-0.9-1.3c-0.38,0-0.77,0.24-1.23,0.74 + v3.53h-0.81v-2.97c0-0.91-0.29-1.3-0.9-1.3c-0.37,0-0.78,0.24-1.23,0.74v3.53H135V27.47z"/> + <path class="st2" d="M143.65,29.9c0-1.62,1.07-2.56,2.26-2.56s2.26,0.94,2.26,2.56c0,1.61-1.07,2.54-2.26,2.54 + S143.65,31.51,143.65,29.9z M147.32,29.9c0-1.12-0.57-1.88-1.42-1.88s-1.41,0.76-1.41,1.88c0,1.12,0.56,1.86,1.41,1.86 + S147.32,31.02,147.32,29.9z"/> + <path class="st2" d="M150.14,30.82v-2.7h-0.73v-0.62l0.76-0.04l0.1-1.36h0.68v1.36h1.32v0.66h-1.32v2.71 + c0,0.6,0.19,0.94,0.75,0.94c0.17,0,0.39-0.06,0.56-0.13l0.16,0.61c-0.28,0.09-0.6,0.18-0.9,0.18 + C150.49,32.45,150.14,31.8,150.14,30.82z"/> + <path class="st2" d="M153.94,25.93c0-0.33,0.24-0.53,0.56-0.53c0.32,0,0.56,0.2,0.56,0.53c0,0.3-0.24,0.53-0.56,0.53 + C154.18,26.46,153.94,26.24,153.94,25.93z M154.09,27.47h0.81v4.86h-0.81V27.47z"/> + <path class="st2" d="M156.57,27.47h0.85l0.91,2.77c0.15,0.47,0.3,0.98,0.46,1.43h0.04c0.14-0.46,0.3-0.96,0.45-1.43l0.92-2.77H161 + l-1.73,4.86h-0.95L156.57,27.47z"/> + <path class="st2" d="M162.26,29.9c0-1.58,1.07-2.56,2.19-2.56c1.24,0,1.93,0.9,1.93,2.28c0,0.18-0.02,0.35-0.04,0.47h-3.28 + c0.05,1.04,0.69,1.7,1.61,1.7c0.47,0,0.86-0.14,1.22-0.39l0.3,0.54c-0.43,0.28-0.95,0.5-1.61,0.5 + C163.3,32.45,162.26,31.5,162.26,29.9z M165.67,29.51c0-0.99-0.45-1.51-1.21-1.51c-0.69,0-1.3,0.55-1.4,1.51H165.67z"/> + <path class="st2" d="M172.48,26.46h-1.99v-0.7h4.81v0.7h-1.99v5.87h-0.83V26.46z"/> + <path class="st2" d="M176.59,30.55v-3.08h0.82v2.98c0,0.9,0.27,1.29,0.91,1.29c0.5,0,0.85-0.24,1.32-0.82v-3.45h0.81v4.86h-0.68 + l-0.06-0.76h-0.03c-0.46,0.53-0.94,0.88-1.61,0.88C177.05,32.45,176.59,31.78,176.59,30.55z"/> + <path class="st2" d="M182.81,27.47h0.67l0.07,0.7h0.03c0.47-0.46,0.97-0.82,1.63-0.82c1.02,0,1.49,0.66,1.49,1.91v3.08h-0.81 + v-2.97c0-0.91-0.28-1.3-0.92-1.3c-0.5,0-0.84,0.25-1.33,0.74v3.53h-0.81V27.47z"/> + <path class="st2" d="M188.85,25.93c0-0.33,0.24-0.53,0.56-0.53c0.32,0,0.56,0.2,0.56,0.53c0,0.3-0.24,0.53-0.56,0.53 + C189.1,26.46,188.85,26.24,188.85,25.93z M189.01,27.47h0.81v4.86h-0.81V27.47z"/> + <path class="st2" d="M192.19,27.47h0.67l0.07,0.7h0.03c0.47-0.46,0.97-0.82,1.63-0.82c1.02,0,1.49,0.66,1.49,1.91v3.08h-0.81 + v-2.97c0-0.91-0.28-1.3-0.92-1.3c-0.5,0-0.84,0.25-1.33,0.74v3.53h-0.81V27.47z"/> + <path class="st2" d="M198.01,33.26c0-0.41,0.27-0.81,0.73-1.1v-0.04c-0.26-0.15-0.45-0.41-0.45-0.8c0-0.4,0.3-0.73,0.55-0.91 + v-0.04c-0.32-0.26-0.64-0.73-0.64-1.31c0-1.07,0.84-1.74,1.83-1.74c0.27,0,0.51,0.06,0.68,0.13h1.69v0.63h-0.99 + c0.23,0.22,0.39,0.58,0.39,1c0,1.04-0.79,1.69-1.77,1.69c-0.24,0-0.51-0.06-0.73-0.17c-0.18,0.15-0.31,0.31-0.31,0.58 + c0,0.31,0.2,0.53,0.85,0.53h0.95c1.13,0,1.69,0.36,1.69,1.16c0,0.9-0.95,1.68-2.45,1.68C198.83,34.57,198.01,34.1,198.01,33.26z + M201.69,33.01c0-0.45-0.35-0.6-0.99-0.6h-0.84c-0.18,0-0.41-0.03-0.63-0.08c-0.35,0.25-0.5,0.54-0.5,0.82 + c0,0.52,0.53,0.86,1.42,0.86C201.07,34.01,201.69,33.52,201.69,33.01z M201.05,29.08c0-0.71-0.46-1.14-1.03-1.14 + s-1.04,0.42-1.04,1.14c0,0.71,0.47,1.16,1.04,1.16C200.58,30.23,201.05,29.79,201.05,29.08z"/> + <path class="st2" d="M206.47,31.47l0.49-0.56c0.47,0.49,1.14,0.81,1.82,0.81c0.86,0,1.38-0.43,1.38-1.07 + c0-0.67-0.47-0.89-1.09-1.17l-0.95-0.41c-0.61-0.26-1.33-0.72-1.33-1.68c0-1.01,0.88-1.75,2.07-1.75c0.78,0,1.47,0.33,1.93,0.81 + l-0.44,0.53c-0.4-0.38-0.89-0.62-1.5-0.62c-0.74,0-1.23,0.38-1.23,0.97c0,0.64,0.57,0.88,1.08,1.09l0.94,0.4 + c0.76,0.33,1.35,0.78,1.35,1.75c0,1.04-0.86,1.86-2.23,1.86C207.84,32.45,207.04,32.07,206.47,31.47z"/> + <path class="st2" d="M212.88,30.55v-3.08h0.81v2.98c0,0.9,0.27,1.29,0.91,1.29c0.5,0,0.85-0.24,1.32-0.82v-3.45h0.82v4.86h-0.68 + l-0.06-0.76h-0.03c-0.46,0.53-0.94,0.88-1.61,0.88C213.33,32.45,212.88,31.78,212.88,30.55z"/> + <path class="st2" d="M219.1,27.47h0.67l0.07,0.55h0.03c0.44-0.36,0.99-0.68,1.55-0.68c1.25,0,1.93,0.99,1.93,2.48 + c0,1.67-0.99,2.62-2.11,2.62c-0.44,0-0.9-0.21-1.34-0.56l0.02,0.85v1.65h-0.81V27.47z M222.5,29.83c0-1.08-0.36-1.8-1.28-1.8 + c-0.41,0-0.83,0.23-1.31,0.67v2.55c0.44,0.38,0.87,0.51,1.19,0.51C221.91,31.76,222.5,31.04,222.5,29.83z"/> + <path class="st2" d="M225.37,27.47h0.67l0.07,0.55h0.03c0.44-0.36,0.98-0.68,1.55-0.68c1.25,0,1.93,0.99,1.93,2.48 + c0,1.67-0.99,2.62-2.11,2.62c-0.44,0-0.9-0.21-1.34-0.56l0.02,0.85v1.65h-0.81V27.47z M228.77,29.83c0-1.08-0.36-1.8-1.28-1.8 + c-0.41,0-0.83,0.23-1.31,0.67v2.55c0.44,0.38,0.87,0.51,1.19,0.51C228.18,31.76,228.77,31.04,228.77,29.83z"/> + <path class="st2" d="M231.28,29.9c0-1.62,1.07-2.56,2.26-2.56s2.26,0.94,2.26,2.56c0,1.61-1.07,2.54-2.26,2.54 + S231.28,31.51,231.28,29.9z M234.95,29.9c0-1.12-0.57-1.88-1.42-1.88s-1.41,0.76-1.41,1.88c0,1.12,0.56,1.86,1.41,1.86 + S234.95,31.02,234.95,29.9z"/> + <path class="st2" d="M237.79,27.47h0.67l0.07,0.89h0.03c0.34-0.62,0.83-1.01,1.38-1.01c0.21,0,0.37,0.03,0.52,0.11l-0.15,0.72 + c-0.16-0.06-0.28-0.08-0.47-0.08c-0.4,0-0.9,0.29-1.23,1.12v3.13h-0.81V27.47z"/> + <path class="st2" d="M242.13,30.82v-2.7h-0.73v-0.62l0.76-0.04l0.1-1.36h0.68v1.36h1.32v0.66h-1.32v2.71 + c0,0.6,0.19,0.94,0.75,0.94c0.17,0,0.39-0.06,0.55-0.13l0.16,0.61c-0.28,0.09-0.6,0.18-0.9,0.18 + C242.48,32.45,242.13,31.8,242.13,30.82z"/> + <path class="st2" d="M248.88,25.76h1.87c1.48,0,2.46,0.49,2.46,1.93c0,1.39-0.99,2.03-2.42,2.03h-1.08v2.61h-0.83V25.76z + M250.69,29.05c1.16,0,1.7-0.42,1.7-1.36c0-0.95-0.58-1.25-1.74-1.25h-0.94v2.62H250.69z"/> + <path class="st2" d="M254.58,29.9c0-1.62,1.07-2.56,2.26-2.56c1.19,0,2.26,0.94,2.26,2.56c0,1.61-1.07,2.54-2.26,2.54 + C255.65,32.45,254.58,31.51,254.58,29.9z M258.26,29.9c0-1.12-0.57-1.88-1.42-1.88c-0.84,0-1.41,0.76-1.41,1.88 + c0,1.12,0.56,1.86,1.41,1.86C257.68,31.76,258.26,31.02,258.26,29.9z"/> + <path class="st2" d="M261.1,27.47h0.67l0.07,0.89h0.03c0.34-0.62,0.83-1.01,1.38-1.01c0.21,0,0.37,0.03,0.52,0.11l-0.15,0.72 + c-0.16-0.06-0.28-0.08-0.47-0.08c-0.4,0-0.9,0.29-1.23,1.12v3.13h-0.81V27.47z"/> + <path class="st2" d="M265.44,30.82v-2.7h-0.73v-0.62l0.76-0.04l0.1-1.36h0.68v1.36h1.32v0.66h-1.32v2.71 + c0,0.6,0.19,0.94,0.75,0.94c0.17,0,0.39-0.06,0.55-0.13l0.16,0.61c-0.28,0.09-0.6,0.18-0.9,0.18 + C265.79,32.45,265.44,31.8,265.44,30.82z"/> + <path class="st2" d="M268.87,31.07c0-1.06,0.92-1.59,2.99-1.82c0-0.63-0.21-1.23-1-1.23c-0.56,0-1.08,0.26-1.46,0.52l-0.32-0.56 + c0.45-0.29,1.14-0.64,1.92-0.64c1.18,0,1.68,0.8,1.68,2v2.99h-0.67l-0.07-0.58h-0.03c-0.47,0.38-1.01,0.7-1.61,0.7 + C269.48,32.45,268.87,31.94,268.87,31.07z M271.86,31.15v-1.36c-1.64,0.2-2.19,0.6-2.19,1.23c0,0.55,0.38,0.78,0.86,0.78 + C271,31.79,271.39,31.57,271.86,31.15z"/> + <path class="st2" d="M274.95,31.36V25.2h0.81v6.22c0,0.25,0.11,0.35,0.23,0.35c0.04,0,0.08,0,0.17-0.02l0.12,0.63 + c-0.12,0.04-0.26,0.07-0.47,0.07C275.2,32.45,274.95,32.05,274.95,31.36z"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/smile3.svg =================================================================== --- base3.10/src/main/webapp/images/admin/smile3.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/smile3.svg (revision 7) @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 32.6 32.6" style="enable-background:new 0 0 32.6 32.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#F3CE64;} + .st1{fill:#383838;} + .st2{fill:#D96151;} + .st3{fill:none;stroke:#383838;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <circle class="st0" cx="16.3" cy="16.3" r="16.3"/> + <circle class="st1" cx="9.3" cy="12.7" r="2.4"/> + <circle class="st1" cx="23.4" cy="12.7" r="2.4"/> + <line class="st3" x1="11.6" y1="24.9" x2="21" y2="24.9"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/smile5.svg =================================================================== --- base3.10/src/main/webapp/images/admin/smile5.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/smile5.svg (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 32.6 32.6" style="enable-background:new 0 0 32.6 32.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#F3CE64;} + .st1{fill:#383838;} + .st2{fill:#D96151;} + .st3{fill:none;stroke:#383838;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <circle class="st0" cx="16.3" cy="16.3" r="16.3"/> + <path class="st1" d="M25.3,18.9c0,2.2-0.9,4.2-2.3,5.6l-0.1,0.1c-1.5,1.5-3.5,2.4-5.7,2.4h-1.7c-2.3,0-4.4-1-5.9-2.5 + C8.2,23,7.3,21,7.3,18.9H25.3z"/> + <path class="st2" d="M23,24.5l-0.1,0.1c-1.5,1.5-3.5,2.4-5.7,2.4h-1.7c-2.3,0-4.4-1-5.9-2.5c0,0,0.1-0.1,0.1-0.1 + c1.5-1.5,3.5-2.4,5.7-2.4h1.7C19.5,22,21.5,22.9,23,24.5z"/> + <circle class="st1" cx="9.3" cy="12.7" r="2.4"/> + <circle class="st1" cx="23.3" cy="12.7" r="2.4"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/Ellipsis-1s-84px.svg =================================================================== --- base3.10/src/main/webapp/images/admin/Ellipsis-1s-84px.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/Ellipsis-1s-84px.svg (revision 7) @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin: auto; background: none; display: block; shape-rendering: auto;" width="84px" height="84px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"> +<circle cx="84" cy="50" r="10" fill="#1d3f72"> + <animate attributeName="r" repeatCount="indefinite" dur="0.25s" calcMode="spline" keyTimes="0;1" values="10;0" keySplines="0 0.5 0.5 1" begin="0s"></animate> + <animate attributeName="fill" repeatCount="indefinite" dur="1s" calcMode="discrete" keyTimes="0;0.25;0.5;0.75;1" values="#1d3f72;#71c2cc;#d8ebf9;#5699d2;#1d3f72" begin="0s"></animate> +</circle><circle cx="16" cy="50" r="10" fill="#1d3f72"> + <animate attributeName="r" repeatCount="indefinite" dur="1s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="0s"></animate> + <animate attributeName="cx" repeatCount="indefinite" dur="1s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="0s"></animate> +</circle><circle cx="50" cy="50" r="10" fill="#5699d2"> + <animate attributeName="r" repeatCount="indefinite" dur="1s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-0.25s"></animate> + <animate attributeName="cx" repeatCount="indefinite" dur="1s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-0.25s"></animate> +</circle><circle cx="84" cy="50" r="10" fill="#d8ebf9"> + <animate attributeName="r" repeatCount="indefinite" dur="1s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-0.5s"></animate> + <animate attributeName="cx" repeatCount="indefinite" dur="1s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-0.5s"></animate> +</circle><circle cx="16" cy="50" r="10" fill="#71c2cc"> + <animate attributeName="r" repeatCount="indefinite" dur="1s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="0;0;10;10;10" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-0.75s"></animate> + <animate attributeName="cx" repeatCount="indefinite" dur="1s" calcMode="spline" keyTimes="0;0.25;0.5;0.75;1" values="16;16;16;50;84" keySplines="0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1;0 0.5 0.5 1" begin="-0.75s"></animate> +</circle> +<!-- [ldio] generated by https://loading.io/ --></svg> \ No newline at end of file Index: base3.10/src/main/webapp/images/admin/icon_cog.svg =================================================================== --- base3.10/src/main/webapp/images/admin/icon_cog.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/icon_cog.svg (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" focusable="false" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + x="0px" y="0px" width="1000px" height="1920px" viewBox="0 0 1000 1920" enable-background="new 0 0 1000 1920" + xml:space="preserve"> +<path fill="#333333" d="M951.953,1076.602l-83.203-48.047c8.398-45.313,8.398-91.797,0-137.109l83.203-48.047 + c9.57-5.469,13.867-16.797,10.742-27.344c-21.68-69.531-58.594-132.422-106.836-184.766c-7.422-8.008-19.531-9.961-28.906-4.492 + l-83.203,48.047c-34.961-30.078-75.195-53.32-118.75-68.555v-95.898c0-10.938-7.617-20.508-18.359-22.852 + c-71.68-16.016-145.117-15.234-213.281,0C382.617,489.883,375,499.453,375,510.391v96.094 + c-43.359,15.43-83.594,38.672-118.75,68.555l-83.008-48.047c-9.57-5.469-21.484-3.711-28.906,4.492 + C96.094,683.633,59.18,746.523,37.5,816.25c-3.32,10.547,1.172,21.875,10.742,27.344l83.203,48.047 + c-8.398,45.313-8.398,91.797,0,137.109l-83.203,48.047c-9.57,5.469-13.867,16.797-10.742,27.344 + c21.68,69.531,58.594,132.422,106.836,184.766c7.422,8.008,19.531,9.961,28.906,4.492l83.203-48.047 + c34.961,30.078,75.195,53.32,118.75,68.555V1410c0,10.938,7.617,20.508,18.359,22.852c71.68,16.016,145.117,15.234,213.281,0 + c10.742-2.344,18.359-11.914,18.359-22.852v-96.094c43.359-15.43,83.594-38.672,118.75-68.555l83.203,48.047 + c9.57,5.469,21.484,3.711,28.906-4.492c48.242-52.148,85.156-115.039,106.836-184.766 + C965.821,1093.398,961.524,1082.07,951.953,1076.602z M500,1116.25c-86.133,0-156.25-70.117-156.25-156.25 + S413.867,803.75,500,803.75S656.25,873.867,656.25,960S586.133,1116.25,500,1116.25z"/> +</svg> Index: base3.10/src/main/webapp/images/admin/favicon.ico =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/admin/favicon.ico ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/admin/arrow_right_white.svg =================================================================== --- base3.10/src/main/webapp/images/admin/arrow_right_white.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/arrow_right_white.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="44.694px" height="80.388px" viewBox="17.848 -17.846 44.694 80.388" enable-background="new 17.848 -17.846 44.694 80.388" + xml:space="preserve"> +<polyline fill="none" stroke="#FFFFFF" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 22.348,-13.346 58.042,22.347 22.348,58.042 "/> +</svg> Index: base3.10/src/main/webapp/images/admin/arrow_down.svg =================================================================== --- base3.10/src/main/webapp/images/admin/arrow_down.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/arrow_down.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="66.609px" height="37.805px" viewBox="-14.402 14.403 66.609 37.805" enable-background="new -14.402 14.403 66.609 37.805" + xml:space="preserve"> +<polyline fill="none" stroke="#3C3C3C" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 47.707,18.903 18.903,47.707 -9.902,18.903 "/> +</svg> Index: base3.10/src/main/webapp/images/admin/icon_plus.svg =================================================================== --- base3.10/src/main/webapp/images/admin/icon_plus.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/icon_plus.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="21.567px" height="21.567px" viewBox="11.563 27.577 21.567 21.567" enable-background="new 11.563 27.577 21.567 21.567" + xml:space="preserve"> +<g> + + <line fill="none" stroke="#112B53" stroke-width="3.2351" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="22.347" y1="29.195" x2="22.347" y2="47.527"/> + + <line fill="none" stroke="#112B53" stroke-width="3.2351" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="31.513" y1="38.361" x2="13.181" y2="38.361"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/bg_select.svg =================================================================== --- base3.10/src/main/webapp/images/admin/bg_select.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/bg_select.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="14.578px" height="8.082px" viewBox="0 0 14.578 8.082" enable-background="new 0 0 14.578 8.082" xml:space="preserve"> +<path fill="#2B363A" d="M7.29,8.081c-0.203,0-0.405-0.078-0.561-0.232L0.231,1.353c-0.309-0.311-0.309-0.812,0-1.121 + c0.31-0.309,0.812-0.309,1.121,0l5.937,5.938l5.937-5.938c0.309-0.309,0.813-0.309,1.121,0c0.309,0.31,0.309,0.811,0,1.121 + L7.849,7.849C7.694,8.003,7.493,8.081,7.29,8.081z"/> +</svg> Index: base3.10/src/main/webapp/images/admin/arrow_top.svg =================================================================== --- base3.10/src/main/webapp/images/admin/arrow_top.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/arrow_top.svg (revision 7) @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="27.523px" height="14.614px" viewBox="0 0 27.523 14.614" enable-background="new 0 0 27.523 14.614" xml:space="preserve"> +<g> + + <line fill="none" stroke="#666666" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="1.5" y1="13.114" x2="13.762" y2="1.5"/> + + <line fill="none" stroke="#666666" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="26.023" y1="13.114" x2="13.762" y2="1.5"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/smile1.svg =================================================================== --- base3.10/src/main/webapp/images/admin/smile1.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/smile1.svg (revision 7) @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 32.6 32.6" style="enable-background:new 0 0 32.6 32.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#F3CE64;} + .st1{fill:#383838;} + .st2{fill:#D96151;} + .st3{fill:none;stroke:#383838;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<g> + <circle class="st2" cx="16.3" cy="16.3" r="16.3"/> + <path class="st1" d="M10.5,25.8c0-1.4,0.6-2.7,1.5-3.6l0.1-0.1c0.9-0.9,2.2-1.5,3.7-1.5h1.1c1.5,0,2.8,0.6,3.8,1.6 + c0.9,0.9,1.5,2.2,1.5,3.6H10.5z"/> + <circle class="st1" cx="10.6" cy="14.3" r="2.9"/> + <line class="st3" x1="13.9" y1="12.5" x2="8.1" y2="9.1"/> + <circle class="st1" cx="22" cy="14.3" r="2.9"/> + <line class="st3" x1="18.7" y1="12.5" x2="24.5" y2="9.1"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/logo_v.svg =================================================================== --- base3.10/src/main/webapp/images/admin/logo_v.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/logo_v.svg (revision 7) @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 141.1 74.8" style="enable-background:new 0 0 141.1 74.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:url(#XMLID_2_);} + .st1{fill:url(#XMLID_3_);} + .st2{fill:#FFFFFF;} +</style> +<g> + <g id="XMLID_6_"> + <g id="XMLID_7_"> + <g id="XMLID_8_"> + + <linearGradient id="XMLID_2_" gradientUnits="userSpaceOnUse" x1="72.0314" y1="414.8975" x2="103.9891" y2="439.0998" gradientTransform="matrix(1 0 0 1 0 -413.01)"> + <stop offset="0" style="stop-color:#00AFEC"/> + <stop offset="0.1679" style="stop-color:#00ADEB"/> + <stop offset="0.3876" style="stop-color:#00A4E4"/> + <stop offset="0.6361" style="stop-color:#0096D9"/> + <stop offset="0.9038" style="stop-color:#0082C9"/> + <stop offset="1" style="stop-color:#0079C3"/> + </linearGradient> + <path id="XMLID_10_" class="st0" d="M94.5,21.7c2.4,1,1.8,3.9-1,3.9H75.1c-0.5,0-1,0.5-1,1.1v2.4c0,0.6,0.4,1.1,1,1.1h21.4 + c5,0,8.9-2.4,8.9-7.4c0-3.3-1.5-6-5.1-7.6c-2.1-1-15.7-6.7-15.7-6.7c-2.4-1-1.8-3.9,1-3.9h18.3c0.5,0,1-0.5,1-1.1V1.1 + c0-0.6-0.4-1.1-1-1.1H82.6c-5,0-8.9,2.4-8.9,7.4c0,3.3,1.5,6,5.1,7.6C80.9,16,94.5,21.7,94.5,21.7z"/> + + <linearGradient id="XMLID_3_" gradientUnits="userSpaceOnUse" x1="41.6288" y1="407.6165" x2="65.255" y2="431.8181" gradientTransform="matrix(1 0 0 1 0 -413.01)"> + <stop offset="5.618000e-03" style="stop-color:#FDD000"/> + <stop offset="1" style="stop-color:#F08300"/> + </linearGradient> + <path id="XMLID_9_" class="st1" d="M72.5,0H37.1c-0.5,0-1,0.5-1,1.1v2.4c0,0.6,0.5,1.1,1,1.1h12.8v24.6c0,0.6,0.5,1.1,1,1.1l0,0 + h7.9l0,0c0.5,0,1-0.5,1-1.1V4.6h12.8c0.5,0,1-0.5,1-1.1V1.1C73.5,0.5,73,0,72.5,0z"/> + </g> + </g> + </g> + <g> + <path class="st2" d="M28,61.5v3.5h-6.7v8.9h-4.1v-8.9h-6.4v8.9H6.7v-8.9H0v-3.5H28z M24.4,59.1H3.6V44.7h20.4v3.4H7.8v2.1h16v3.4 + h-16v2.1h16.6V59.1z"/> + <path class="st2" d="M30.1,45.1h4.2v10.3c2.3,0,4.4-0.1,6.5-0.2s4.2-0.3,6.3-0.5l0.4,3.5c-1,0.1-2.1,0.2-3.2,0.3 + c-1.1,0.1-2.4,0.2-3.7,0.2c-1.4,0.1-2.9,0.1-4.6,0.1c-1.7,0-3.6,0-5.8,0V45.1z M44.2,74.8c-1.4,0-2.6-0.1-3.8-0.4 + c-1.2-0.3-2.2-0.7-3-1.2c-0.9-0.5-1.5-1.1-2-1.9s-0.7-1.6-0.7-2.5v-1.4c0-0.9,0.2-1.8,0.7-2.5c0.5-0.7,1.2-1.4,2-1.9 + c0.9-0.5,1.9-0.9,3-1.2c1.2-0.3,2.4-0.4,3.8-0.4c1.4,0,2.6,0.1,3.8,0.4c1.2,0.3,2.2,0.7,3,1.2c0.9,0.5,1.5,1.1,2,1.9 + c0.5,0.7,0.7,1.6,0.7,2.5v1.4c0,0.9-0.2,1.8-0.7,2.5s-1.2,1.4-2,1.9c-0.9,0.5-1.9,0.9-3,1.2C46.8,74.7,45.6,74.8,44.2,74.8z + M44.2,64.8c-0.7,0-1.4,0.1-2.1,0.2c-0.7,0.2-1.2,0.4-1.7,0.6c-0.5,0.3-0.9,0.6-1.2,0.9c-0.3,0.4-0.5,0.7-0.5,1.1v0.9 + c0,0.4,0.2,0.8,0.5,1.1c0.3,0.4,0.7,0.7,1.2,0.9c0.5,0.3,1.1,0.5,1.7,0.6c0.7,0.2,1.3,0.2,2.1,0.2c0.7,0,1.4-0.1,2.1-0.2 + s1.2-0.4,1.7-0.6c0.5-0.3,0.9-0.6,1.2-0.9c0.3-0.4,0.5-0.7,0.5-1.1v-0.9c0-0.4-0.2-0.8-0.5-1.1c-0.3-0.3-0.7-0.7-1.2-0.9 + c-0.5-0.3-1.1-0.5-1.7-0.6S44.9,64.8,44.2,64.8z M53.7,61.3h-4.1v-18h4.1V61.3z"/> + <path class="st2" d="M65,58c-1.2,0-2.3-0.2-3.3-0.6c-1-0.4-1.8-0.9-2.4-1.5c-0.7-0.6-1.2-1.3-1.5-2.1c-0.4-0.8-0.5-1.6-0.5-2.4 + v-1.1c0-0.8,0.2-1.6,0.5-2.4c0.4-0.8,0.9-1.5,1.5-2.1c0.7-0.6,1.5-1.1,2.4-1.5c1-0.4,2.1-0.6,3.3-0.6c1.2,0,2.3,0.2,3.3,0.6 + c1,0.4,1.8,0.9,2.4,1.5c0.7,0.6,1.2,1.3,1.5,2.1c0.3,0.8,0.5,1.6,0.5,2.4v1.1c0,0.8-0.2,1.6-0.5,2.4c-0.4,0.8-0.9,1.5-1.5,2.1 + c-0.7,0.6-1.5,1.1-2.4,1.5S66.3,58,65,58z M65,47.3c-0.6,0-1.2,0.1-1.6,0.3s-0.9,0.4-1.2,0.7s-0.6,0.6-0.7,1 + c-0.2,0.4-0.2,0.8-0.2,1.2v0.9c0,0.4,0.1,0.8,0.2,1.2c0.2,0.4,0.4,0.7,0.7,1s0.7,0.5,1.2,0.7c0.5,0.2,1,0.3,1.6,0.3 + c0.6,0,1.2-0.1,1.6-0.3c0.5-0.2,0.9-0.4,1.2-0.7c0.3-0.3,0.6-0.6,0.7-1c0.2-0.4,0.2-0.8,0.2-1.2v-0.9c0-0.4-0.1-0.8-0.2-1.2 + c-0.2-0.4-0.4-0.7-0.7-1c-0.3-0.3-0.7-0.5-1.2-0.7S65.6,47.3,65,47.3z M80.8,59.9v8.7H65.7v2.3h16v3.3h-20v-8.7h15.1v-2.3H61.5 + v-3.3H80.8z M80.8,49h4v3.6h-4v5.9h-4.1V43.3h4.1V49z"/> + <path class="st2" d="M91.1,63.1h3.2c1.5,0,3.1,0,4.7-0.1c1.6-0.1,3.2-0.2,4.7-0.4l0.5,3.5c-1.6,0.2-3.3,0.4-5.1,0.5 + c-1.8,0.1-3.8,0.1-5.8,0.1H87V54.2h9.9v-5H87v-3.5h14v11.9h-9.9V63.1z M110.6,73.9h-4.2V43.3h4.2V73.9z"/> + <path class="st2" d="M122.7,66.6V55.9h4.1v10.7h14.2v3.5h-28v-3.5H122.7z M132,62.8c0.4-2,0.7-3.9,0.8-5.8 + c0.2-1.8,0.2-3.7,0.2-5.7v-1.9h-16.6v-3.6h20.8v4.4c0,2.6-0.1,4.9-0.3,7c-0.2,2.1-0.4,4.1-0.8,6L132,62.8z"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/bg_project.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/images/admin/bg_project.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/images/admin/arrow_left_gray.svg =================================================================== --- base3.10/src/main/webapp/images/admin/arrow_left_gray.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/arrow_left_gray.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="44.694px" height="80.388px" viewBox="17.847 -17.847 44.694 80.388" enable-background="new 17.847 -17.847 44.694 80.388" + xml:space="preserve"> +<polyline fill="none" stroke="#999999" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 58.041,58.041 22.347,22.347 58.041,-13.347 "/> +</svg> Index: base3.10/src/main/webapp/images/admin/arrow_left.svg =================================================================== --- base3.10/src/main/webapp/images/admin/arrow_left.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/arrow_left.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 37.8 66.6" style="enable-background:new 0 0 37.8 66.6;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:none;stroke:#3C3C3C;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;} +</style> +<polyline class="st0" points="33.3,62.1 4.5,33.3 33.3,4.5 "/> +</svg> Index: base3.10/src/main/webapp/images/admin/arrow_top_gray.svg =================================================================== --- base3.10/src/main/webapp/images/admin/arrow_top_gray.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/arrow_top_gray.svg (revision 7) @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="80.389px" height="44.693px" viewBox="0 0 80.389 44.693" enable-background="new 0 0 80.389 44.693" xml:space="preserve"> +<polyline fill="none" stroke="#999999" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 4.5,40.194 40.194,4.5 75.888,40.194 "/> +</svg> Index: base3.10/src/main/webapp/images/admin/logo_b.svg =================================================================== --- base3.10/src/main/webapp/images/admin/logo_b.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/logo_b.svg (revision 7) @@ -0,0 +1,168 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.2.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="레이어_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" + y="0px" viewBox="0 0 277.49 34.51" style="enable-background:new 0 0 277.49 34.51;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:url(#XMLID_2_);} + .st1{fill:url(#XMLID_3_);} + .st2{fill:#373838;} +</style> +<g> + <g id="XMLID_6_"> + <g id="XMLID_7_"> + <g id="XMLID_8_"> + <linearGradient id="XMLID_2_" gradientUnits="userSpaceOnUse" x1="35.9578" y1="3.9224" x2="67.9155" y2="28.1247"> + <stop offset="0" style="stop-color:#00AFEC"/> + <stop offset="0.1679" style="stop-color:#00ADEB"/> + <stop offset="0.3876" style="stop-color:#00A4E4"/> + <stop offset="0.6361" style="stop-color:#0096D9"/> + <stop offset="0.9038" style="stop-color:#0082C9"/> + <stop offset="1" style="stop-color:#0079C3"/> + </linearGradient> + <path id="XMLID_10_" class="st0" d="M58.4,23.79c2.42,0.96,1.8,3.91-1.05,3.91H39c-0.53,0-0.96,0.49-0.96,1.11v2.35 + c0,0.61,0.43,1.11,0.96,1.11h21.38c5,0,8.93-2.44,8.93-7.43c0-3.31-1.47-6.01-5.05-7.63c-2.14-0.99-15.72-6.67-15.72-6.67 + c-2.44-0.96-1.84-3.91,1.04-3.91h18.34c0.52,0,0.96-0.49,0.96-1.1V3.19c0-0.63-0.44-1.09-0.96-1.09h-21.4 + c-4.98,0-8.91,2.41-8.91,7.4c0,3.32,1.47,6.01,5.06,7.64C44.8,18.12,58.4,23.79,58.4,23.79z"/> + <linearGradient id="XMLID_3_" gradientUnits="userSpaceOnUse" x1="5.5249" y1="-3.3173" x2="29.1511" y2="20.8844"> + <stop offset="5.618000e-03" style="stop-color:#FDD000"/> + <stop offset="1" style="stop-color:#F08300"/> + </linearGradient> + <path id="XMLID_9_" class="st1" d="M36.39,2.08H0.97C0.45,2.08,0,2.56,0,3.17v2.37c0,0.6,0.45,1.09,0.97,1.09h12.76v24.58 + c0,0.6,0.46,1.11,0.99,1.11l0,0h7.92l0,0c0.53,0,0.98-0.51,0.98-1.11V6.63h12.77c0.52,0,0.96-0.49,0.96-1.09V3.17 + C37.36,2.56,36.91,2.08,36.39,2.08z"/> + </g> + </g> + </g> + <g> + <path class="st2" d="M89.25,5.37c0,2.95,1.46,6.38,4.48,7.85l-1.46,2.19c-2.04-0.99-3.48-2.93-4.3-5.22 + c-0.82,2.53-2.3,4.65-4.4,5.71l-1.48-2.21c3.02-1.47,4.52-5.12,4.52-8.32V4.3h-3.82V2h10.12V4.3h-3.66V5.37z M99.59,9.83h-2.68 + v9.71h-2.64V0.15h2.64v7.39h2.68V9.83z"/> + <path class="st2" d="M116.97,9.27v2.21h-16.66V9.27h7v-1.6h-4.98v-6.7h12.64v2.21h-10.02v2.27h10.12v2.21h-5.12v1.6H116.97z + M114.97,16c0,2.27-2.42,3.56-6.4,3.56c-3.98,0-6.38-1.28-6.38-3.56c0-2.29,2.4-3.58,6.38-3.58 + C112.55,12.42,114.97,13.71,114.97,16z M112.29,16c0-1.01-1.26-1.47-3.72-1.47c-2.46,0-3.72,0.46-3.72,1.47s1.26,1.45,3.72,1.45 + C111.03,17.46,112.29,17.02,112.29,16z"/> + <path class="st2" d="M124.76,6.19c0,2.74,1.3,5.88,4.18,7.33l-1.4,2.11c-1.96-0.95-3.3-2.76-4.06-4.91 + c-0.8,2.32-2.22,4.27-4.28,5.24l-1.42-2.13c2.98-1.45,4.36-4.74,4.36-7.64V5.52h-3.74V3.31h3.74v-2.7h2.64v2.7h3.64v2.21h-3.66 + V6.19z M135.2,9.98h-2.68v9.56h-2.64V0.17h2.64v7.52h2.68V9.98z"/> + <path class="st2" d="M152.56,13.84h-3.8v5.71h-2.66v-5.71h-3.7v5.71h-2.66v-5.71h-3.86V11.6h16.68V13.84z M150.82,10.28h-12.86 + V0.93h12.68v2.19h-10.06v1.41h9.66v2.11h-9.66v1.47h10.24V10.28z"/> + <path class="st2" d="M165.17,9.46c-3.02,0.67-5.92,0.86-8.82,0.86h-1.6V1.37h2.62v6.67c2.46-0.06,4.94-0.29,7.52-0.84L165.17,9.46 + z M169.03,15.6c0,2.46-2.44,3.96-6.3,3.96c-3.84,0-6.28-1.5-6.28-3.96c0-2.46,2.44-3.96,6.28-3.96 + C166.59,11.65,169.03,13.14,169.03,15.6z M166.41,15.6c0-1.2-1.3-1.75-3.68-1.75c-2.36,0-3.66,0.55-3.66,1.75 + c0,1.18,1.3,1.75,3.66,1.75C165.11,17.35,166.41,16.78,166.41,15.6z M168.95,11.37h-2.64V0.15h2.64V11.37z"/> + <path class="st2" d="M188.16,9.44v2.21h-16.64V9.44h6.98V7.1h2.64v2.34H188.16z M172.21,6.02c3.44-0.29,5.24-1.56,5.7-2.86h-4.88 + V0.95h13.62v2.21h-4.9c0.46,1.31,2.26,2.57,5.7,2.86l-0.92,2.19c-3.46-0.36-5.74-1.71-6.7-3.56c-0.98,1.85-3.24,3.2-6.72,3.56 + L172.21,6.02z M186.19,16.13c0,2.19-2.4,3.43-6.4,3.43s-6.38-1.24-6.38-3.43c0-2.19,2.38-3.43,6.38-3.43 + S186.19,13.94,186.19,16.13z M183.51,16.13c0-0.93-1.24-1.35-3.72-1.35s-3.72,0.42-3.72,1.35c0,0.95,1.24,1.35,3.72,1.35 + S183.51,17.08,183.51,16.13z"/> + <path class="st2" d="M200.16,4.02H189.3V1.85h4.1V0h2.66v1.85h4.12L200.16,4.02z M194.74,11.41c-2.66,0-4.52-1.39-4.52-3.43 + c0-2.06,1.86-3.43,4.52-3.43c2.66,0,4.52,1.37,4.52,3.43C199.26,10.02,197.4,11.41,194.74,11.41z M201.2,12.24h2.62v7.1h-11.98 + v-7.1h2.62v1.47h6.74V12.24z M194.74,9.39c1.18,0,2-0.48,2-1.41s-0.82-1.41-2-1.41c-1.18,0-2,0.48-2,1.41S193.56,9.39,194.74,9.39 + z M201.2,15.82h-6.74v1.35h6.74V15.82z M206.26,7.08h-2.44v4.42h-2.64V0.15h2.64V4.8h2.44V7.08z"/> + <path class="st2" d="M214.24,5.37c0,3.16,1.48,6.51,4.56,7.85l-1.44,2.19c-2.14-0.97-3.6-2.86-4.42-5.2 + c-0.82,2.53-2.3,4.65-4.46,5.69l-1.5-2.21c3.08-1.45,4.58-5.01,4.58-8.32V4.3h-3.84V2h10.32V4.3h-3.8V5.37z M222.39,0.15v19.39 + h-2.64V0.15H222.39z"/> + <path class="st2" d="M240.83,17v2.21h-13.66v-5.77h2.56v-2.59c-1.62,0.08-3.16,0.11-4.54,0.11l-0.34-2.21 + c3.36-0.02,7.84-0.06,11.72-0.59l0.18,1.98c-1.44,0.27-2.92,0.44-4.4,0.55v3.66h-2.54V17H240.83z M226.19,4.28 + c0-2.06,1.9-3.47,4.6-3.47c2.68,0,4.58,1.41,4.58,3.47s-1.9,3.45-4.58,3.45C228.09,7.73,226.19,6.34,226.19,4.28z M228.69,4.28 + c0,0.95,0.86,1.43,2.1,1.43c1.22,0,2.08-0.48,2.08-1.43c0-0.95-0.86-1.45-2.08-1.45C229.55,2.82,228.69,3.33,228.69,4.28z + M237.79,11.41V0.15h2.64v14.7h-2.64v-1.54h-3.46v-1.9H237.79z"/> + <path class="st2" d="M259.42,15.12v2.23h-16.68v-2.23h6.98v-3.45h-5.58V9.46h2.4v-5.5h-2.5V1.75h14v2.21h-2.5v5.5h2.44v2.21h-5.62 + v3.45H259.42z M249.16,9.46h3.76v-5.5h-3.76V9.46z"/> + <path class="st2" d="M270.7,9.65c-2.42,0.36-4.48,0.38-7.88,0.38h-1.44v-8.8h8.5v2.15H264v1.2h5.32v2.02H264v1.26 + c2.64-0.02,4.42-0.06,6.5-0.38L270.7,9.65z M276.46,17.31v2.08h-12.64v-5.14h9.5V13.2h-9.54v-2.08h12.16v5.1h-9.52v1.09H276.46z + M273.3,6.45h-2.92V4.25h2.92V0.15h2.64V10.4h-2.64V6.45z"/> + </g> + <g> + <path class="st2" d="M82.52,25.76h0.83v3.3h0.03l2.74-3.3h0.93L85,28.26l2.37,4.07h-0.93l-1.96-3.42l-1.13,1.34v2.08h-0.83V25.76z + "/> + <path class="st2" d="M90.23,26.46h-1.99v-0.7h4.81v0.7h-1.99v5.87h-0.83V26.46z"/> + <path class="st2" d="M94.07,31.47l0.49-0.56c0.47,0.49,1.14,0.81,1.82,0.81c0.86,0,1.38-0.43,1.38-1.07 + c0-0.67-0.47-0.89-1.09-1.17l-0.95-0.41c-0.61-0.26-1.33-0.72-1.33-1.68c0-1.01,0.88-1.75,2.07-1.75c0.78,0,1.47,0.33,1.93,0.81 + l-0.44,0.53c-0.4-0.38-0.89-0.62-1.5-0.62c-0.74,0-1.23,0.38-1.23,0.97c0,0.64,0.57,0.88,1.08,1.09l0.94,0.4 + c0.76,0.33,1.35,0.78,1.35,1.75c0,1.04-0.86,1.86-2.23,1.86C95.44,32.45,94.65,32.07,94.07,31.47z"/> + <path class="st2" d="M103.63,30.32h-2.4l-0.64,2.01h-0.84l2.23-6.57h0.92l2.23,6.57h-0.88L103.63,30.32z M103.42,29.66l-0.31-1 + c-0.24-0.74-0.45-1.46-0.66-2.22h-0.04c-0.21,0.77-0.42,1.48-0.65,2.22l-0.32,1H103.42z"/> + <path class="st2" d="M106.53,31.83c0-0.37,0.27-0.64,0.59-0.64c0.32,0,0.59,0.27,0.59,0.64s-0.27,0.62-0.59,0.62 + C106.8,32.45,106.53,32.19,106.53,31.83z"/> + <path class="st2" d="M115.72,30.32h-2.4l-0.64,2.01h-0.84l2.23-6.57h0.92l2.23,6.57h-0.88L115.72,30.32z M115.51,29.66l-0.31-1 + c-0.24-0.74-0.45-1.46-0.66-2.22h-0.04c-0.21,0.77-0.42,1.48-0.65,2.22l-0.32,1H115.51z"/> + <path class="st2" d="M118.67,30.55v-3.08h0.82v2.98c0,0.9,0.27,1.29,0.91,1.29c0.5,0,0.85-0.24,1.32-0.82v-3.45h0.81v4.86h-0.68 + l-0.06-0.76h-0.03c-0.46,0.53-0.94,0.88-1.61,0.88C119.13,32.45,118.67,31.78,118.67,30.55z"/> + <path class="st2" d="M125.03,30.82v-2.7h-0.73v-0.62l0.76-0.04l0.1-1.36h0.68v1.36h1.32v0.66h-1.32v2.71 + c0,0.6,0.19,0.94,0.75,0.94c0.17,0,0.39-0.06,0.56-0.13l0.16,0.61c-0.28,0.09-0.6,0.18-0.9,0.18 + C125.38,32.45,125.03,31.8,125.03,30.82z"/> + <path class="st2" d="M128.49,29.9c0-1.62,1.07-2.56,2.26-2.56S133,28.28,133,29.9c0,1.61-1.07,2.54-2.26,2.54 + S128.49,31.51,128.49,29.9z M132.16,29.9c0-1.12-0.57-1.88-1.42-1.88s-1.41,0.76-1.41,1.88c0,1.12,0.56,1.86,1.41,1.86 + S132.16,31.02,132.16,29.9z"/> + <path class="st2" d="M135,27.47h0.67l0.07,0.71h0.03c0.42-0.47,0.93-0.83,1.51-0.83c0.74,0,1.15,0.36,1.34,0.93 + c0.5-0.55,1.01-0.93,1.6-0.93c1,0,1.48,0.66,1.48,1.91v3.08h-0.81v-2.97c0-0.91-0.29-1.3-0.9-1.3c-0.38,0-0.77,0.24-1.23,0.74 + v3.53h-0.81v-2.97c0-0.91-0.29-1.3-0.9-1.3c-0.37,0-0.78,0.24-1.23,0.74v3.53H135V27.47z"/> + <path class="st2" d="M143.65,29.9c0-1.62,1.07-2.56,2.26-2.56s2.26,0.94,2.26,2.56c0,1.61-1.07,2.54-2.26,2.54 + S143.65,31.51,143.65,29.9z M147.32,29.9c0-1.12-0.57-1.88-1.42-1.88s-1.41,0.76-1.41,1.88c0,1.12,0.56,1.86,1.41,1.86 + S147.32,31.02,147.32,29.9z"/> + <path class="st2" d="M150.14,30.82v-2.7h-0.73v-0.62l0.76-0.04l0.1-1.36h0.68v1.36h1.32v0.66h-1.32v2.71 + c0,0.6,0.19,0.94,0.75,0.94c0.17,0,0.39-0.06,0.56-0.13l0.16,0.61c-0.28,0.09-0.6,0.18-0.9,0.18 + C150.49,32.45,150.14,31.8,150.14,30.82z"/> + <path class="st2" d="M153.94,25.93c0-0.33,0.24-0.53,0.56-0.53c0.32,0,0.56,0.2,0.56,0.53c0,0.3-0.24,0.53-0.56,0.53 + C154.18,26.46,153.94,26.24,153.94,25.93z M154.09,27.47h0.81v4.86h-0.81V27.47z"/> + <path class="st2" d="M156.57,27.47h0.85l0.91,2.77c0.15,0.47,0.3,0.98,0.46,1.43h0.04c0.14-0.46,0.3-0.96,0.45-1.43l0.92-2.77H161 + l-1.73,4.86h-0.95L156.57,27.47z"/> + <path class="st2" d="M162.26,29.9c0-1.58,1.07-2.56,2.19-2.56c1.24,0,1.93,0.9,1.93,2.28c0,0.18-0.02,0.35-0.04,0.47h-3.28 + c0.05,1.04,0.69,1.7,1.61,1.7c0.47,0,0.86-0.14,1.22-0.39l0.3,0.54c-0.43,0.28-0.95,0.5-1.61,0.5 + C163.3,32.45,162.26,31.5,162.26,29.9z M165.67,29.51c0-0.99-0.45-1.51-1.21-1.51c-0.69,0-1.3,0.55-1.4,1.51H165.67z"/> + <path class="st2" d="M172.48,26.46h-1.99v-0.7h4.81v0.7h-1.99v5.87h-0.83V26.46z"/> + <path class="st2" d="M176.59,30.55v-3.08h0.82v2.98c0,0.9,0.27,1.29,0.91,1.29c0.5,0,0.85-0.24,1.32-0.82v-3.45h0.81v4.86h-0.68 + l-0.06-0.76h-0.03c-0.46,0.53-0.94,0.88-1.61,0.88C177.05,32.45,176.59,31.78,176.59,30.55z"/> + <path class="st2" d="M182.81,27.47h0.67l0.07,0.7h0.03c0.47-0.46,0.97-0.82,1.63-0.82c1.02,0,1.49,0.66,1.49,1.91v3.08h-0.81 + v-2.97c0-0.91-0.28-1.3-0.92-1.3c-0.5,0-0.84,0.25-1.33,0.74v3.53h-0.81V27.47z"/> + <path class="st2" d="M188.85,25.93c0-0.33,0.24-0.53,0.56-0.53c0.32,0,0.56,0.2,0.56,0.53c0,0.3-0.24,0.53-0.56,0.53 + C189.1,26.46,188.85,26.24,188.85,25.93z M189.01,27.47h0.81v4.86h-0.81V27.47z"/> + <path class="st2" d="M192.19,27.47h0.67l0.07,0.7h0.03c0.47-0.46,0.97-0.82,1.63-0.82c1.02,0,1.49,0.66,1.49,1.91v3.08h-0.81 + v-2.97c0-0.91-0.28-1.3-0.92-1.3c-0.5,0-0.84,0.25-1.33,0.74v3.53h-0.81V27.47z"/> + <path class="st2" d="M198.01,33.26c0-0.41,0.27-0.81,0.73-1.1v-0.04c-0.26-0.15-0.45-0.41-0.45-0.8c0-0.4,0.3-0.73,0.55-0.91 + v-0.04c-0.32-0.26-0.64-0.73-0.64-1.31c0-1.07,0.84-1.74,1.83-1.74c0.27,0,0.51,0.06,0.68,0.13h1.69v0.63h-0.99 + c0.23,0.22,0.39,0.58,0.39,1c0,1.04-0.79,1.69-1.77,1.69c-0.24,0-0.51-0.06-0.73-0.17c-0.18,0.15-0.31,0.31-0.31,0.58 + c0,0.31,0.2,0.53,0.85,0.53h0.95c1.13,0,1.69,0.36,1.69,1.16c0,0.9-0.95,1.68-2.45,1.68C198.83,34.57,198.01,34.1,198.01,33.26z + M201.69,33.01c0-0.45-0.35-0.6-0.99-0.6h-0.84c-0.18,0-0.41-0.03-0.63-0.08c-0.35,0.25-0.5,0.54-0.5,0.82 + c0,0.52,0.53,0.86,1.42,0.86C201.07,34.01,201.69,33.52,201.69,33.01z M201.05,29.08c0-0.71-0.46-1.14-1.03-1.14 + s-1.04,0.42-1.04,1.14c0,0.71,0.47,1.16,1.04,1.16C200.58,30.23,201.05,29.79,201.05,29.08z"/> + <path class="st2" d="M206.47,31.47l0.49-0.56c0.47,0.49,1.14,0.81,1.82,0.81c0.86,0,1.38-0.43,1.38-1.07 + c0-0.67-0.47-0.89-1.09-1.17l-0.95-0.41c-0.61-0.26-1.33-0.72-1.33-1.68c0-1.01,0.88-1.75,2.07-1.75c0.78,0,1.47,0.33,1.93,0.81 + l-0.44,0.53c-0.4-0.38-0.89-0.62-1.5-0.62c-0.74,0-1.23,0.38-1.23,0.97c0,0.64,0.57,0.88,1.08,1.09l0.94,0.4 + c0.76,0.33,1.35,0.78,1.35,1.75c0,1.04-0.86,1.86-2.23,1.86C207.84,32.45,207.04,32.07,206.47,31.47z"/> + <path class="st2" d="M212.88,30.55v-3.08h0.81v2.98c0,0.9,0.27,1.29,0.91,1.29c0.5,0,0.85-0.24,1.32-0.82v-3.45h0.82v4.86h-0.68 + l-0.06-0.76h-0.03c-0.46,0.53-0.94,0.88-1.61,0.88C213.33,32.45,212.88,31.78,212.88,30.55z"/> + <path class="st2" d="M219.1,27.47h0.67l0.07,0.55h0.03c0.44-0.36,0.99-0.68,1.55-0.68c1.25,0,1.93,0.99,1.93,2.48 + c0,1.67-0.99,2.62-2.11,2.62c-0.44,0-0.9-0.21-1.34-0.56l0.02,0.85v1.65h-0.81V27.47z M222.5,29.83c0-1.08-0.36-1.8-1.28-1.8 + c-0.41,0-0.83,0.23-1.31,0.67v2.55c0.44,0.38,0.87,0.51,1.19,0.51C221.91,31.76,222.5,31.04,222.5,29.83z"/> + <path class="st2" d="M225.37,27.47h0.67l0.07,0.55h0.03c0.44-0.36,0.98-0.68,1.55-0.68c1.25,0,1.93,0.99,1.93,2.48 + c0,1.67-0.99,2.62-2.11,2.62c-0.44,0-0.9-0.21-1.34-0.56l0.02,0.85v1.65h-0.81V27.47z M228.77,29.83c0-1.08-0.36-1.8-1.28-1.8 + c-0.41,0-0.83,0.23-1.31,0.67v2.55c0.44,0.38,0.87,0.51,1.19,0.51C228.18,31.76,228.77,31.04,228.77,29.83z"/> + <path class="st2" d="M231.28,29.9c0-1.62,1.07-2.56,2.26-2.56s2.26,0.94,2.26,2.56c0,1.61-1.07,2.54-2.26,2.54 + S231.28,31.51,231.28,29.9z M234.95,29.9c0-1.12-0.57-1.88-1.42-1.88s-1.41,0.76-1.41,1.88c0,1.12,0.56,1.86,1.41,1.86 + S234.95,31.02,234.95,29.9z"/> + <path class="st2" d="M237.79,27.47h0.67l0.07,0.89h0.03c0.34-0.62,0.83-1.01,1.38-1.01c0.21,0,0.37,0.03,0.52,0.11l-0.15,0.72 + c-0.16-0.06-0.28-0.08-0.47-0.08c-0.4,0-0.9,0.29-1.23,1.12v3.13h-0.81V27.47z"/> + <path class="st2" d="M242.13,30.82v-2.7h-0.73v-0.62l0.76-0.04l0.1-1.36h0.68v1.36h1.32v0.66h-1.32v2.71 + c0,0.6,0.19,0.94,0.75,0.94c0.17,0,0.39-0.06,0.55-0.13l0.16,0.61c-0.28,0.09-0.6,0.18-0.9,0.18 + C242.48,32.45,242.13,31.8,242.13,30.82z"/> + <path class="st2" d="M248.88,25.76h1.87c1.48,0,2.46,0.49,2.46,1.93c0,1.39-0.99,2.03-2.42,2.03h-1.08v2.61h-0.83V25.76z + M250.69,29.05c1.16,0,1.7-0.42,1.7-1.36c0-0.95-0.58-1.25-1.74-1.25h-0.94v2.62H250.69z"/> + <path class="st2" d="M254.58,29.9c0-1.62,1.07-2.56,2.26-2.56c1.19,0,2.26,0.94,2.26,2.56c0,1.61-1.07,2.54-2.26,2.54 + C255.65,32.45,254.58,31.51,254.58,29.9z M258.26,29.9c0-1.12-0.57-1.88-1.42-1.88c-0.84,0-1.41,0.76-1.41,1.88 + c0,1.12,0.56,1.86,1.41,1.86C257.68,31.76,258.26,31.02,258.26,29.9z"/> + <path class="st2" d="M261.1,27.47h0.67l0.07,0.89h0.03c0.34-0.62,0.83-1.01,1.38-1.01c0.21,0,0.37,0.03,0.52,0.11l-0.15,0.72 + c-0.16-0.06-0.28-0.08-0.47-0.08c-0.4,0-0.9,0.29-1.23,1.12v3.13h-0.81V27.47z"/> + <path class="st2" d="M265.44,30.82v-2.7h-0.73v-0.62l0.76-0.04l0.1-1.36h0.68v1.36h1.32v0.66h-1.32v2.71 + c0,0.6,0.19,0.94,0.75,0.94c0.17,0,0.39-0.06,0.55-0.13l0.16,0.61c-0.28,0.09-0.6,0.18-0.9,0.18 + C265.79,32.45,265.44,31.8,265.44,30.82z"/> + <path class="st2" d="M268.87,31.07c0-1.06,0.92-1.59,2.99-1.82c0-0.63-0.21-1.23-1-1.23c-0.56,0-1.08,0.26-1.46,0.52l-0.32-0.56 + c0.45-0.29,1.14-0.64,1.92-0.64c1.18,0,1.68,0.8,1.68,2v2.99h-0.67l-0.07-0.58h-0.03c-0.47,0.38-1.01,0.7-1.61,0.7 + C269.48,32.45,268.87,31.94,268.87,31.07z M271.86,31.15v-1.36c-1.64,0.2-2.19,0.6-2.19,1.23c0,0.55,0.38,0.78,0.86,0.78 + C271,31.79,271.39,31.57,271.86,31.15z"/> + <path class="st2" d="M274.95,31.36V25.2h0.81v6.22c0,0.25,0.11,0.35,0.23,0.35c0.04,0,0.08,0,0.17-0.02l0.12,0.63 + c-0.12,0.04-0.26,0.07-0.47,0.07C275.2,32.45,274.95,32.05,274.95,31.36z"/> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/arrow_right.svg =================================================================== --- base3.10/src/main/webapp/images/admin/arrow_right.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/arrow_right.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="44.694px" height="80.388px" viewBox="17.848 -17.846 44.694 80.388" enable-background="new 17.848 -17.846 44.694 80.388" + xml:space="preserve"> +<polyline fill="none" stroke="#112B53" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 22.348,-13.346 58.042,22.347 22.348,58.042 "/> +</svg> Index: base3.10/src/main/webapp/images/admin/check_on.svg =================================================================== --- base3.10/src/main/webapp/images/admin/check_on.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/check_on.svg (revision 7) @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 8.8 8.8" style="enable-background:new 0 0 8.8 8.8;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#333333;} + .st1{fill:#FFFFFF;} +</style> +<g> + <g> + <g> + <path class="st0" d="M3.6,7.3C3.4,7.3,3.2,7.2,3,7L0.8,5c-0.2-0.3-0.2-0.7,0-1.1V3.8l0.6-0.6C1.5,3.1,1.7,3,1.9,3s0.3,0,0.5,0.1 + h0.1l1.1,1.1l2.7-2.7c0.1-0.1,0.3-0.2,0.6-0.2c0.2,0,0.3,0,0.5,0.1h0.1L8.1,2c0.3,0.3,0.3,0.7,0.1,1.1v0.1L4.2,7 + C4.1,7.2,3.8,7.3,3.6,7.3z"/> + <path class="st1" d="M6.9,1.8c0.1,0,0.2,0,0.3,0.1l0.5,0.5c0.1,0.1,0.1,0.3,0,0.5L3.8,6.7c-0.3,0.2-0.5,0-0.5,0L1.2,4.6 + c-0.1-0.1-0.3-0.3,0-0.5l0.5-0.5c0.1-0.1,0.2-0.1,0.2-0.1c0.1,0,0.2,0,0.3,0.1L3.6,5l3.1-3.1C6.8,1.8,6.8,1.8,6.9,1.8 M6.9,0.8 + C6.6,0.8,6.2,1,6,1.2L3.6,3.6L2.9,2.9L2.8,2.8L2.6,2.7C2.4,2.6,2.2,2.5,1.9,2.5S1.2,2.7,1,2.9L0.5,3.4L0.4,3.5L0.3,3.7 + C0,4.2,0.1,4.9,0.5,5.3l2.1,2.1c0.4,0.4,0.7,0.4,1,0.4c0.4,0,0.8-0.2,1-0.5l3.8-3.7l0.1-0.1l0.1-0.2c0.3-0.6,0.2-1.2-0.2-1.7 + L7.9,1.2L7.8,1.1L7.6,1C7.4,0.9,7.2,0.8,6.9,0.8L6.9,0.8z"/> + </g> + </g> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/icon_pin.svg =================================================================== --- base3.10/src/main/webapp/images/admin/icon_pin.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/icon_pin.svg (revision 7) @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="67.924px" height="67.924px" viewBox="-0.03 0.053 67.924 67.924" enable-background="new -0.03 0.053 67.924 67.924" + xml:space="preserve"> +<g> + + <rect x="32.372" y="15.988" transform="matrix(0.7072 0.7071 -0.7071 0.7072 30.9415 -21.3796)" fill="none" stroke="#333333" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" width="17.819" height="21.353"/> + + <rect x="36.555" y="13.011" transform="matrix(0.7071 0.7071 -0.7071 0.7071 26.7734 -31.4597)" fill="none" stroke="#333333" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" width="29.611" height="7.152"/> + + <line fill="none" stroke="#333333" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" x1="25.566" y1="42.382" x2="3.506" y2="64.441"/> + <path fill="none" stroke="#333333" stroke-width="5" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" d=" + M38.978,55.794L12.153,28.97l0.645-0.645c4.154-4.154,10.888-4.154,15.044,0l11.783,11.78c4.152,4.154,4.152,10.89,0,15.043 + L38.978,55.794z"/> +</g> +</svg> Index: base3.10/src/main/webapp/images/admin/arrow_left_white.svg =================================================================== --- base3.10/src/main/webapp/images/admin/arrow_left_white.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/arrow_left_white.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="44.694px" height="80.388px" viewBox="17.848 -17.846 44.694 80.388" enable-background="new 17.848 -17.846 44.694 80.388" + xml:space="preserve"> +<polyline fill="none" stroke="#FFFFFF" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 58.042,58.042 22.348,22.348 58.042,-13.346 "/> +</svg> Index: base3.10/src/main/webapp/images/admin/arrow_down_fff.svg =================================================================== --- base3.10/src/main/webapp/images/admin/arrow_down_fff.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/arrow_down_fff.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="66.609px" height="37.805px" viewBox="-14.402 14.403 66.609 37.805" enable-background="new -14.402 14.403 66.609 37.805" + xml:space="preserve"> +<polyline fill="none" stroke="#FFFFFF" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 47.707,18.903 18.903,47.707 -9.902,18.903 "/> +</svg> Index: base3.10/src/main/webapp/images/admin/arrow_top_white.svg =================================================================== --- base3.10/src/main/webapp/images/admin/arrow_top_white.svg (nonexistent) +++ base3.10/src/main/webapp/images/admin/arrow_top_white.svg (revision 7) @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + width="80.388px" height="44.695px" viewBox="0.002 0 80.388 44.695" enable-background="new 0.002 0 80.388 44.695" + xml:space="preserve"> +<polyline fill="none" stroke="#FFFFFF" stroke-width="9" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" points=" + 4.502,40.196 40.196,4.501 75.89,40.196 "/> +</svg> Index: base3.10/src/main/webapp/META-INF/license =================================================================== --- base3.10/src/main/webapp/META-INF/license (nonexistent) +++ base3.10/src/main/webapp/META-INF/license (revision 7) @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. Index: base3.10/src/main/webapp/META-INF/osslicenses =================================================================== --- base3.10/src/main/webapp/META-INF/osslicenses (nonexistent) +++ base3.10/src/main/webapp/META-INF/osslicenses (revision 7) @@ -0,0 +1,1688 @@ +전자정부 표준프레임워크에 포함된 다음 오픈소스소프트웨어는 아래 명시된 +------- +Apache License 2.0 +* spring +* spring-social-sa mples +* Spring Social Config +* godsoft +* egovframework +* Commons IO +------- +BSD 3-clause "New" or "Revised" License +* HTMLarea Editor For XOOPS +------- +GNU Lesser General Public License v2.1 or later +* FCKeditor - CKEditor +------- +JSON License +* JSON in Java +------- +MIT License +* jsTree +* Prototype JavaScript Framework +* jQuery +* jsx-requirejs-plu gin +* jQuery +* jQuery UI +------- +htmlArea License +* htmlArea +* HTMLarea Editor For XOOPS +------- +라이센스 적용을 받습니다. + . + . + . + Oss License Details +--------------------------------------------------------------------------------- +Apache License 2.0 +* spring +* spring-social-sa mples +* Spring Social Config +* godsoft +* egovframework +* Commons IO + +---------------------------------------------- +* spring +* spring-social-sa mples +* Spring Social Config +* godsoft +* egovframework +* Commons IO + +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all +other entities that control, are controlled by, or are under common +control with that entity. For the purposes of this definition, +"control" means (i) the power, direct or indirect, to cause the +direction or management of such entity, whether by contract or +otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation +source, and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or +Object form, made available under the License, as indicated by a +copyright notice that is included in or attached to the work +(an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object +form, that is based on (or derived from) the Work and for which the +editorial revisions, annotations, elaborations, or other modifications +represent, as a whole, an original work of authorship. For the purposes +of this License, Derivative Works shall not include works that remain +separable from, or merely link (or bind by name) to the interfaces of, +the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including +the original version of the Work and any modifications or additions +to that Work or Derivative Works thereof, that is intentionally +submitted to Licensor for inclusion in the Work by the copyright owner +or by an individual or Legal Entity authorized to submit on behalf of +the copyright owner. For the purposes of this definition, "submitted" +means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, +and issue tracking systems that are managed by, or on behalf of, the +Licensor for the purpose of discussing and improving the Work, but +excluding communication that is conspicuously marked or otherwise +designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work, +where such license applies only to those patent claims licensable +by such Contributor that are necessarily infringed by their +Contribution(s) alone or by combination of their Contribution(s) +with the Work to which such Contribution(s) was submitted. If You +institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work +or a Contribution incorporated within the Work constitutes direct +or contributory patent infringement, then any patent licenses +granted to You under this License for that Work shall terminate +as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof in any medium, with or without +modifications, and in Source or Object form, provided that You +meet the following conditions: + +(a) You must give any other recipients of the Work or +Derivative Works a copy of this License; and + +(b) You must cause any modified files to carry prominent notices +stating that You changed the files; and + +(c) You must retain, in the Source form of any Derivative Works +that You distribute, all copyright, patent, trademark, and +attribution notices from the Source form of the Work, +excluding those notices that do not pertain to any part of +the Derivative Works; and + +(d) If the Work includes a "NOTICE" text file as part of its +distribution, then any Derivative Works that You distribute must +include a readable copy of the attribution notices contained +within such NOTICE file, excluding those notices that do not +pertain to any part of the Derivative Works, in at least one +of the following places: within a NOTICE text file distributed +as part of the Derivative Works; within the Source form or +documentation, if provided along with the Derivative Works; or, +within a display generated by the Derivative Works, if and +wherever such third-party notices normally appear. The contents +of the NOTICE file are for informational purposes only and +do not modify the License. You may add Your own attribution +notices within Derivative Works that You distribute, alongside +or as an addendum to the NOTICE text from the Work, provided +that such additional attribution notices cannot be construed +as modifying the License. + +You may add Your own copyright statement to Your modifications and +may provide additional or different license terms and conditions +for use, reproduction, or distribution of Your modifications, or +for any such Derivative Works as a whole, provided Your use, +reproduction, and distribution of the Work otherwise complies with +the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + +To apply the Apache License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets "[]" +replaced with your own identifying information. (Don't include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same "printed page" as the copyright notice for easier +identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +--------------------------------------------------------------------------------- +BSD 3-clause "New" or "Revised" License +-* HTMLarea Editor For XOOPS +htmlArea License (based on BSD license) +Copyright (c) 2002-2004, interactivetools.com, inc. +Copyright (c) 2003-2005 dynarch.com +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1) Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2) Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3) Neither the name of interactivetools.com, inc. nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +zCONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +--------------------------------------------------------------------------------- +GNU Lesser General Public License v2.1 or later +* FCKeditor - CKEditor +---------------------------------------------- +Software License Agreement +========================== + +CKEditor - The text editor for Internet - http://ckeditor.com +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + +Licensed under the terms of any of the following licenses at your +choice: + + - GNU General Public License Version 2 or later (the "GPL") + http://www.gnu.org/licenses/gpl.html + (See Appendix A) + + - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + http://www.gnu.org/licenses/lgpl.html + (See Appendix B) + + - Mozilla Public License Version 1.1 or later (the "MPL") + http://www.mozilla.org/MPL/MPL-1.1.html + (See Appendix C) + +You are not required to, but if you want to explicitly declare the +license you have chosen to be bound to when using, reproducing, +modifying and distributing this software, just include a text file +titled "legal.txt" in your version of this software, indicating your +license choice. In any case, your choice will not restrict any +recipient of your version of this software to use, reproduce, modify +and distribute this software under any of the above licenses. + +Sources of Intellectual Property Included in CKEditor +----------------------------------------------------- + +Where not otherwise indicated, all CKEditor content is authored by +CKSource engineers and consists of CKSource-owned intellectual +property. In some specific instances, CKEditor will incorporate work +done by developers outside of CKSource with their express permission. + +Trademarks +---------- + +CKEditor is a trademark of CKSource - Frederico Knabben. All other brand +and product names are trademarks, registered trademarks or service +marks of their respective holders. + +--- + +Appendix A: The GPL License +--------------------------- + +GNU GENERAL PUBLIC LICENSE +Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software-to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + +GNU GENERAL PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + +NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + + +Appendix B: The LGPL License +---------------------------- + +GNU LESSER GENERAL PUBLIC LICENSE +Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + +Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software-to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages-typically libraries-of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + +GNU LESSER GENERAL PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + +NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + +END OF TERMS AND CONDITIONS + + +Appendix C: The MPL License +--------------------------- + +MOZILLA PUBLIC LICENSE +Version 1.1 + +1. Definitions. + + 1.0.1. "Commercial Use" means distribution or otherwise making the + Covered Code available to a third party. + + 1.1. "Contributor" means each entity that creates or contributes to + the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Code, prior Modifications used by a Contributor, and the Modifications + made by that particular Contributor. + + 1.3. "Covered Code" means the Original Code or Modifications or the + combination of the Original Code and Modifications, in each case + including portions thereof. + + 1.4. "Electronic Distribution Mechanism" means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + + 1.5. "Executable" means Covered Code in any form other than Source + Code. + + 1.6. "Initial Developer" means the individual or entity identified + as the Initial Developer in the Source Code notice required by Exhibit + A. + + 1.7. "Larger Work" means a work which combines Covered Code or + portions thereof with code not governed by the terms of this License. + + 1.8. "License" means this document. + + 1.8.1. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. When Covered Code is released as a series of files, a + Modification is: + A. Any addition to or deletion from the contents of a file + containing Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or + previous Modifications. + + 1.10. "Original Code" means Source Code of computer software code + which is described in the Source Code notice required by Exhibit A as + Original Code, and which, at the time of its release under this + License is not already Covered Code governed by this License. + + 1.10.1. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, + and apparatus claims, in any patent Licensable by grantor. + + 1.11. "Source Code" means the preferred form of the Covered Code for + making modifications to it, including all modules it contains, plus + any associated interface definition files, scripts used to control + compilation and installation of an Executable, or source code + differential comparisons against either the Original Code or another + well known, available Covered Code of the Contributor's choice. The + Source Code can be in a compressed or archival form, provided the + appropriate decompression or de-archiving software is widely available + for no charge. + + 1.12. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, this + License or a future version of this License issued under Section 6.1. + For legal entities, "You" includes any entity which controls, is + controlled by, or is under common control with You. For purposes of + this definition, "control" means (a) the power, direct or indirect, + to cause the direction or management of such entity, whether by + contract or otherwise, or (b) ownership of more than fifty percent + (50%) of the outstanding shares or beneficial ownership of such + entity. + +2. Source Code License. + + 2.1. The Initial Developer Grant. + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer to use, reproduce, + modify, display, perform, sublicense and distribute the Original + Code (or portions thereof) with or without Modifications, and/or + as part of a Larger Work; and + + (b) under Patents Claims infringed by the making, using or + selling of Original Code, to make, have made, use, practice, + sell, and offer for sale, and/or otherwise dispose of the + Original Code (or portions thereof). + + (c) the licenses granted in this Section 2.1(a) and (b) are + effective on the date Initial Developer first distributes + Original Code under the terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: 1) for code that You delete from the Original Code; 2) + separate from the Original Code; or 3) for infringements caused + by: i) the modification of the Original Code or ii) the + combination of the Original Code with other software or devices. + + 2.2. Contributor Grant. + Subject to third party intellectual property claims, each Contributor + hereby grants You a world-wide, royalty-free, non-exclusive license + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor, to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications + created by such Contributor (or portions thereof) either on an + unmodified basis, with other Modifications, as Covered Code + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using, or + selling of Modifications made by that Contributor either alone + and/or in combination with its Contributor Version (or portions + of such combination), to make, use, sell, offer for sale, have + made, and/or otherwise dispose of: 1) Modifications made by that + Contributor (or portions thereof); and 2) the combination of + Modifications made by that Contributor with its Contributor + Version (or portions of such combination). + + (c) the licenses granted in Sections 2.2(a) and 2.2(b) are + effective on the date Contributor first makes Commercial Use of + the Covered Code. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: 1) for any code that Contributor has deleted from the + Contributor Version; 2) separate from the Contributor Version; + 3) for infringements caused by: i) third party modifications of + Contributor Version or ii) the combination of Modifications made + by that Contributor with other software (except as part of the + Contributor Version) or other devices; or 4) under Patent Claims + infringed by Covered Code in the absence of Modifications made by + that Contributor. + +3. Distribution Obligations. + + 3.1. Application of License. + The Modifications which You create or to which You contribute are + governed by the terms of this License, including without limitation + Section 2.2. The Source Code version of Covered Code may be + distributed only under the terms of this License or a future version + of this License released under Section 6.1, and You must include a + copy of this License with every copy of the Source Code You + distribute. You may not offer or impose any terms on any Source Code + version that alters or restricts the applicable version of this + License or the recipients' rights hereunder. However, You may include + an additional document offering the additional rights described in + Section 3.5. + + 3.2. Availability of Source Code. + Any Modification which You create or to which You contribute must be + made available in Source Code form under the terms of this License + either on the same media as an Executable version or via an accepted + Electronic Distribution Mechanism to anyone to whom you made an + Executable version available; and if made available via Electronic + Distribution Mechanism, must remain available for at least twelve (12) + months after the date it initially became available, or at least six + (6) months after a subsequent version of that particular Modification + has been made available to such recipients. You are responsible for + ensuring that the Source Code version remains available even if the + Electronic Distribution Mechanism is maintained by a third party. + + 3.3. Description of Modifications. + You must cause all Covered Code to which You contribute to contain a + file documenting the changes You made to create that Covered Code and + the date of any change. You must include a prominent statement that + the Modification is derived, directly or indirectly, from Original + Code provided by the Initial Developer and including the name of the + Initial Developer in (a) the Source Code, and (b) in any notice in an + Executable version or related documentation in which You describe the + origin or ownership of the Covered Code. + + 3.4. Intellectual Property Matters + (a) Third Party Claims. + If Contributor has knowledge that a license under a third party's + intellectual property rights is required to exercise the rights + granted by such Contributor under Sections 2.1 or 2.2, + Contributor must include a text file with the Source Code + distribution titled "LEGAL" which describes the claim and the + party making the claim in sufficient detail that a recipient will + know whom to contact. If Contributor obtains such knowledge after + the Modification is made available as described in Section 3.2, + Contributor shall promptly modify the LEGAL file in all copies + Contributor makes available thereafter and shall take other steps + (such as notifying appropriate mailing lists or newsgroups) + reasonably calculated to inform those who received the Covered + Code that new knowledge has been obtained. + + (b) Contributor APIs. + If Contributor's Modifications include an application programming + interface and Contributor has knowledge of patent licenses which + are reasonably necessary to implement that API, Contributor must + also include this information in the LEGAL file. + + (c) Representations. + Contributor represents that, except as disclosed pursuant to + Section 3.4(a) above, Contributor believes that Contributor's + Modifications are Contributor's original creation(s) and/or + Contributor has sufficient rights to grant the rights conveyed by + this License. + + 3.5. Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source + Code. If it is not possible to put such notice in a particular Source + Code file due to its structure, then You must include such notice in a + location (such as a relevant directory) where a user would be likely + to look for such a notice. If You created one or more Modification(s) + You may add your name as a Contributor to the notice described in + Exhibit A. You must also duplicate this License in any documentation + for the Source Code where You describe recipients' rights or ownership + rights relating to Covered Code. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Code. However, You + may do so only on Your own behalf, and not on behalf of the Initial + Developer or any Contributor. You must make it absolutely clear than + any such warranty, support, indemnity or liability obligation is + offered by You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred by the + Initial Developer or such Contributor as a result of warranty, + support, indemnity or liability terms You offer. + + 3.6. Distribution of Executable Versions. + You may distribute Covered Code in Executable form only if the + requirements of Section 3.1-3.5 have been met for that Covered Code, + and if You include a notice stating that the Source Code version of + the Covered Code is available under the terms of this License, + including a description of how and where You have fulfilled the + obligations of Section 3.2. The notice must be conspicuously included + in any notice in an Executable version, related documentation or + collateral in which You describe recipients' rights relating to the + Covered Code. You may distribute the Executable version of Covered + Code or ownership rights under a license of Your choice, which may + contain terms different from this License, provided that You are in + compliance with the terms of this License and that the license for the + Executable version does not attempt to limit or alter the recipient's + rights in the Source Code version from the rights set forth in this + License. If You distribute the Executable version under a different + license You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial + Developer or any Contributor. You hereby agree to indemnify the + Initial Developer and every Contributor for any liability incurred by + the Initial Developer or such Contributor as a result of any such + terms You offer. + + 3.7. Larger Works. + You may create a Larger Work by combining Covered Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Code due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description + must be included in the LEGAL file described in Section 3.4 and must + be included with all distributions of the Source Code. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Application of this License. + + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A and to related Covered Code. + +6. Versions of the License. + + 6.1. New Versions. + Netscape Communications Corporation ("Netscape") may publish revised + and/or new versions of the License from time to time. Each version + will be given a distinguishing version number. + + 6.2. Effect of New Versions. + Once Covered Code has been published under a particular version of the + License, You may always continue to use it under the terms of that + version. You may also choose to use such Covered Code under the terms + of any subsequent version of the License published by Netscape. No one + other than Netscape has the right to modify the terms applicable to + Covered Code created under this License. + + 6.3. Derivative Works. + If You create or use a modified version of this License (which you may + only do in order to apply it to code which is not already Covered Code + governed by this License), You must (a) rename Your license so that + the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", + "MPL", "NPL" or any confusingly similar phrase do not appear in your + license (except to note that your license differs from this License) + and (b) otherwise make it clear that Your version of the license + contains terms which differ from the Mozilla Public License and + Netscape Public License. (Filling in the name of the Initial + Developer, Original Code or Contributor in the notice described in + Exhibit A shall not of themselves be deemed to be modifications of + this License.) + +7. DISCLAIMER OF WARRANTY. + + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE + IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE + COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER + OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + + 8.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Covered Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + + 8.2. If You initiate litigation by asserting a patent infringement + claim (excluding declatory judgment actions) against Initial Developer + or a Contributor (the Initial Developer or Contributor against whom + You file such action is referred to as "Participant") alleging that: + + (a) such Participant's Contributor Version directly or indirectly + infringes any patent, then any and all rights granted by such + Participant to You under Sections 2.1 and/or 2.2 of this License + shall, upon 60 days notice from Participant terminate prospectively, + unless if within 60 days after receipt of notice You either: (i) + agree in writing to pay Participant a mutually agreeable reasonable + royalty for Your past and future use of Modifications made by such + Participant, or (ii) withdraw Your litigation claim with respect to + the Contributor Version against such Participant. If within 60 days + of notice, a reasonable royalty and payment arrangement are not + mutually agreed upon in writing by the parties or the litigation claim + is not withdrawn, the rights granted by Participant to You under + Sections 2.1 and/or 2.2 automatically terminate at the expiration of + the 60 day notice period specified above. + + (b) any software, hardware, or device, other than such Participant's + Contributor Version, directly or indirectly infringes any patent, then + any rights granted to You by such Participant under Sections 2.1(b) + and 2.2(b) are revoked effective as of the date You first made, used, + sold, distributed, or had made, Modifications made by that + Participant. + + 8.3. If You assert a patent infringement claim against Participant + alleging that such Participant's Contributor Version directly or + indirectly infringes any patent where such claim is resolved (such as + by license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 8.4. In the event of termination under Sections 8.1 or 8.2 above, + all end user license agreements (excluding distributors and resellers) + which have been validly granted by You or any distributor hereunder + prior to termination shall survive termination. + +9. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL + DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, + OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR + ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY + CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY + RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW + PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO + THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + + The Covered Code is a "commercial item," as that term is defined in + 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer + software" and "commercial computer software documentation," as such + terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 + C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), + all U.S. Government End Users acquire Covered Code with only those + rights set forth herein. + +11. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + California law provisions (except to the extent applicable law, if + any, provides otherwise), excluding its conflict-of-law provisions. + With respect to disputes in which at least one party is a citizen of, + or an entity chartered or registered to do business in the United + States of America, any litigation relating to this License shall be + subject to the jurisdiction of the Federal Courts of the Northern + District of California, with venue lying in Santa Clara County, + California, with the losing party responsible for costs, including + without limitation, court costs and reasonable attorneys' fees and + expenses. The application of the United Nations Convention on + Contracts for the International Sale of Goods is expressly excluded. + Any law or regulation which provides that the language of a contract + shall be construed against the drafter shall not apply to this + License. + +12. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +13. MULTIPLE-LICENSED CODE. + + Initial Developer may designate portions of the Covered Code as + "Multiple-Licensed". "Multiple-Licensed" means that the Initial + Developer permits you to utilize portions of the Covered Code under + Your choice of the NPL or the alternative licenses, if any, specified + by the Initial Developer in the file described in Exhibit A. + +EXHIBIT A -Mozilla Public License. + + ``The contents of this file are subject to the Mozilla Public License + Version 1.1 (the "License"); you may not use this file except in + compliance with the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + License for the specific language governing rights and limitations + under the License. + + The Original Code is ______________________________________. + + The Initial Developer of the Original Code is ________________________. + Portions created by ______________________ are Copyright (C) ______ + _______________________. All Rights Reserved. + + Contributor(s): ______________________________________. + + Alternatively, the contents of this file may be used under the terms + of the _____ license (the "[___] License"), in which case the + provisions of [______] License are applicable instead of those + above. If you wish to allow use of your version of this file only + under the terms of the [____] License and not to allow others to use + your version of this file under the MPL, indicate your decision by + deleting the provisions above and replace them with the notice and + other provisions required by the [___] License. If you do not delete + the provisions above, a recipient may use your version of this file + under either the MPL or the [___] License." + + [NOTE: The text of this Exhibit A may differ slightly from the text of + the notices in the Source Code files of the Original Code. You should + use the text of this Exhibit A rather than the text found in the + Original Code Source Code for Your Modifications.] + +--------------------------------------------------------------------------------- +JSON License +* JSON in Java +---------------------------------------------- +Copyright (c) 2002 JSON.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +The Software shall be used for Good, not Evil. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +--------------------------------------------------------------------------------- +MIT License +* jsTree +* Prototype JavaScript Framework +* jsx-requirejs-plu gin +* jQuery +* jQuery UI +---------------------------------------------- +* Prototype JavaScript Framework +Prototype is Copyright © 2005-2007 Sam Stephenson. It is freely distributable under the terms of an MIT-style license. + +Copyright (c) 2005-2010 Sam Stephenson + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +The Prototype documentation is Copyright © 2007 The Prototype Core Team. It is released under the Creative Commons Attribution-ShareAlike 3.0 license. +---------------------------------------------- +* jsTree +Copyright (c) 2014 Ivan Bozhanov + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +---------------------------------------------- +* jQuery +Copyright JS Foundation and other contributors, https://js.foundation/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +--------------------------------------------------------------------------------- +htmlArea License +* htmlArea +* HTMLarea Editor For XOOPS +---------------------------------------------- +htmlArea License (based on BSD license) +Copyright (c) 2002-2004, interactivetools.com, inc. +Copyright (c) 2003-2005 dynarch.com +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1) Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2) Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3) Neither the name of interactivetools.com, inc. nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. +--------------------------------------------------------------------------------- \ No newline at end of file Index: base3.10/src/main/webapp/META-INF/MANIFEST.MF =================================================================== --- base3.10/src/main/webapp/META-INF/MANIFEST.MF (nonexistent) +++ base3.10/src/main/webapp/META-INF/MANIFEST.MF (revision 7) @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + Property changes on: base3.10/src/main/webapp/META-INF/MANIFEST.MF ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/META-INF/readme =================================================================== --- base3.10/src/main/webapp/META-INF/readme (nonexistent) +++ base3.10/src/main/webapp/META-INF/readme (revision 7) @@ -0,0 +1,10 @@ +Copyright Since 2009 전자정부 표준프레임워크 + +전자정부 표준프레임워크는 공통컴포넌트는 + +Apache License 2.0, BSD 3, GNU 2.1, JSON License, MIT License, htmlArea License 의 적용을 받는 오픈소스소프트웨어를 기반으로 만들어졌습니다. + +전자정부 표준프레임워크를 수정 혹은 확장한 2차적 저작물을 사용하거나 배포하여 발생하는 모든 손해나 법적 문제에 대해 +전자정부 표준프레임워크의 저작권자는 일체의 책임을 지지 않습니다. + +전자정부 표준프레임워크에 사용된 오픈 소스소프트웨어의 라이선스는 osslicenses 파일을 참조하십시오 Index: base3.10/src/main/webapp/js/com/fontawesome.js =================================================================== --- base3.10/src/main/webapp/js/com/fontawesome.js (nonexistent) +++ base3.10/src/main/webapp/js/com/fontawesome.js (revision 7) @@ -0,0 +1,7 @@ +// JavaScript Document + +/*! + * Font Awesome Free 5.0.7 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +!function(){"use strict";var c={};try{"undefined"!=typeof window&&(c=window)}catch(c){}var l=(c.navigator||{}).userAgent,h=void 0===l?"":l,v=c,z=(~h.indexOf("MSIE")||h.indexOf("Trident/"),"___FONT_AWESOME___"),e=function(){try{return!0}catch(c){return!1}}(),a=[1,2,3,4,5,6,7,8,9,10],m=a.concat([11,12,13,14,15,16,17,18,19,20]);["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter"].concat(a.map(function(c){return c+"x"})).concat(m.map(function(c){return"w-"+c}));var t=v||{};t[z]||(t[z]={}),t[z].styles||(t[z].styles={}),t[z].hooks||(t[z].hooks={}),t[z].shims||(t[z].shims=[]);var s=t[z],r=Object.assign||function(c){for(var l=1;l<arguments.length;l++){var h=arguments[l];for(var v in h)Object.prototype.hasOwnProperty.call(h,v)&&(c[v]=h[v])}return c};var f={"500px":[448,512,[],"f26e","M103.3 344.3c-6.5-14.2-6.9-18.3 7.4-23.1 25.6-8 8 9.2 43.2 49.2h.3v-93.9c1.2-50.2 44-92.2 97.7-92.2 53.9 0 97.7 43.5 97.7 96.8 0 63.4-60.8 113.2-128.5 93.3-10.5-4.2-2.1-31.7 8.5-28.6 53 0 89.4-10.1 89.4-64.4 0-61-77.1-89.6-116.9-44.6-23.5 26.4-17.6 42.1-17.6 157.6 50.7 31 118.3 22 160.4-20.1 24.8-24.8 38.5-58 38.5-93 0-35.2-13.8-68.2-38.8-93.3-24.8-24.8-57.8-38.5-93.3-38.5s-68.8 13.8-93.5 38.5c-.3.3-16 16.5-21.2 23.9l-.5.6c-3.3 4.7-6.3 9.1-20.1 6.1-6.9-1.7-14.3-5.8-14.3-11.8V20c0-5 3.9-10.5 10.5-10.5h241.3c8.3 0 8.3 11.6 8.3 15.1 0 3.9 0 15.1-8.3 15.1H130.3v132.9h.3c104.2-109.8 282.8-36 282.8 108.9 0 178.1-244.8 220.3-310.1 62.8zm63.3-260.8c-.5 4.2 4.6 24.5 14.6 20.6C306 56.6 384 144.5 390.6 144.5c4.8 0 22.8-15.3 14.3-22.8-93.2-89-234.5-57-238.3-38.2zM393 414.7C283 524.6 94 475.5 61 310.5c0-12.2-30.4-7.4-28.9 3.3 24 173.4 246 256.9 381.6 121.3 6.9-7.8-12.6-28.4-20.7-20.4zM213.6 306.6c0 4 4.3 7.3 5.5 8.5 3 3 6.1 4.4 8.5 4.4 3.8 0 2.6.2 22.3-19.5 19.6 19.3 19.1 19.5 22.3 19.5 5.4 0 18.5-10.4 10.7-18.2L265.6 284l18.2-18.2c6.3-6.8-10.1-21.8-16.2-15.7L249.7 268c-18.6-18.8-18.4-19.5-21.5-19.5-5 0-18 11.7-12.4 17.3L234 284c-18.1 17.9-20.4 19.2-20.4 22.6z"],"accessible-icon":[448,512,[],"f368","M423.9 255.8L411 413.1c-3.3 40.7-63.9 35.1-60.6-4.9l10-122.5-41.1 2.3c10.1 20.7 15.8 43.9 15.8 68.5 0 41.2-16.1 78.7-42.3 106.5l-39.3-39.3c57.9-63.7 13.1-167.2-74-167.2-25.9 0-49.5 9.9-67.2 26L73 243.2c22-20.7 50.1-35.1 81.4-40.2l75.3-85.7-42.6-24.8-51.6 46c-30 26.8-70.6-18.5-40.5-45.4l68-60.7c9.8-8.8 24.1-10.2 35.5-3.6 0 0 139.3 80.9 139.5 81.1 16.2 10.1 20.7 36 6.1 52.6L285.7 229l106.1-5.9c18.5-1.1 33.6 14.4 32.1 32.7zm-64.9-154c28.1 0 50.9-22.8 50.9-50.9C409.9 22.8 387.1 0 359 0c-28.1 0-50.9 22.8-50.9 50.9 0 28.1 22.8 50.9 50.9 50.9zM179.6 456.5c-80.6 0-127.4-90.6-82.7-156.1l-39.7-39.7C36.4 287 24 320.3 24 356.4c0 130.7 150.7 201.4 251.4 122.5l-39.7-39.7c-16 10.9-35.3 17.3-56.1 17.3z"],accusoft:[640,512,[],"f369","M482.2 372.1C476.5 365.2 250 75 242.3 65.5c-13.7-17.2 0-16.8 19.2-16.9 9.7-.1 106.3-.6 116.5-.6 24.1-.1 28.7.6 38.4 12.8 2.1 2.7 205.1 245.8 207.2 248.3 5.5 6.7 15.2 19.1 7.2 23.4-2.4 1.3-114.6 47.7-117.8 48.9-10.1 4-17.5 6.8-30.8-9.3m114.7-5.6s-115 50.4-117.5 51.6c-16 7.3-26.9-3.2-36.7-14.6l-57.1-74c-5.4-.9-60.4-9.6-65.3-9.3-3.1.2-9.6.8-14.4 2.9-4.9 2.1-145.2 52.8-150.2 54.7-5.1 2-11.4 3.6-11.1 7.6.2 2.5 2 2.6 4.6 3.5 2.7.8 300.9 67.6 308 69.1 15.6 3.3 38.5 10.5 53.6 1.7 2.1-1.2 123.8-76.4 125.8-77.8 5.4-4 4.3-6.8-1.7-8.2-2.3-.3-24.6-4.7-38-7.2m-326-181.3s-12 1.6-25 15.1c-9 9.3-242.1 239.1-243.4 240.9-7 10 1.6 6.8 15.7 1.7.8 0 114.5-36.6 114.5-36.6.5-.6-.1-.1.6-.6-.4-5.1-.8-26.2-1-27.7-.6-5.2 2.2-6.9 7-8.9l92.6-33.8c.6-.8 88.5-81.7 90.2-83.3v-1l-51.2-65.8"],adn:[496,512,[],"f170","M248 167.5l64.9 98.8H183.1l64.9-98.8zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-99.8 82.7L248 115.5 99.8 338.7h30.4l33.6-51.7h168.6l33.6 51.7h30.2z"],adversal:[512,512,[],"f36a","M482.1 32H28.7C5.8 32 0 37.9 0 60.9v390.2C0 474.4 5.8 480 28.7 480h453.4c24.4 0 29.9-5.2 29.9-29.7V62.2c0-24.6-5.4-30.2-29.9-30.2zM178.4 220.3c-27.5-20.2-72.1-8.7-84.2 23.4-4.3 11.1-9.3 9.5-17.5 8.3-9.7-1.5-17.2-3.2-22.5-5.5-28.8-11.4 8.6-55.3 24.9-64.3 41.1-21.4 83.4-22.2 125.3-4.8 40.9 16.8 34.5 59.2 34.5 128.5 2.7 25.8-4.3 58.3 9.3 88.8 1.9 4.4.4 7.9-2.7 10.7-8.4 6.7-39.3 2.2-46.6-7.4-1.9-2.2-1.8-3.6-3.9-6.2-3.6-3.9-7.3-2.2-11.9 1-57.4 36.4-140.3 21.4-147-43.3-3.1-29.3 12.4-57.1 39.6-71 38.2-19.5 112.2-11.8 114-30.9 1.1-10.2-1.9-20.1-11.3-27.3zm286.7 222c0 15.1-11.1 9.9-17.8 9.9H52.4c-7.4 0-18.2 4.8-17.8-10.7.4-13.9 10.5-9.1 17.1-9.1 132.3-.4 264.5-.4 396.8 0 6.8 0 16.6-4.4 16.6 9.9zm3.8-340.5v291c0 5.7-.7 13.9-8.1 13.9-12.4-.4-27.5 7.1-36.1-5.6-5.8-8.7-7.8-4-12.4-1.2-53.4 29.7-128.1 7.1-144.4-85.2-6.1-33.4-.7-67.1 15.7-100 11.8-23.9 56.9-76.1 136.1-30.5v-71c0-26.2-.1-26.2 26-26.2 3.1 0 6.6.4 9.7 0 10.1-.8 13.6 4.4 13.6 14.3-.1.2-.1.3-.1.5zm-51.5 232.3c-19.5 47.6-72.9 43.3-90 5.2-15.1-33.3-15.5-68.2.4-101.5 16.3-34.1 59.7-35.7 81.5-4.8 20.6 28.8 14.9 84.6 8.1 101.1zm-294.8 35.3c-7.5-1.3-33-3.3-33.7-27.8-.4-13.9 7.8-23 19.8-25.8 24.4-5.9 49.3-9.9 73.7-14.7 8.9-2 7.4 4.4 7.8 9.5 1.4 33-26.1 59.2-67.6 58.8z"],affiliatetheme:[512,512,[],"f36b","M159.7 237.4C108.4 308.3 43.1 348.2 14 326.6-15.2 304.9 2.8 230 54.2 159.1c51.3-70.9 116.6-110.8 145.7-89.2 29.1 21.6 11.1 96.6-40.2 167.5zm351.2-57.3C437.1 303.5 319 367.8 246.4 323.7c-25-15.2-41.3-41.2-49-73.8-33.6 64.8-92.8 113.8-164.1 133.2 49.8 59.3 124.1 96.9 207 96.9 150 0 271.6-123.1 271.6-274.9.1-8.5-.3-16.8-1-25z"],algolia:[448,512,[],"f36c","M229.3 182.6c-49.3 0-89.2 39.9-89.2 89.2 0 49.3 39.9 89.2 89.2 89.2s89.2-39.9 89.2-89.2c0-49.3-40-89.2-89.2-89.2zm62.7 56.6l-58.9 30.6c-1.8.9-3.8-.4-3.8-2.3V201c0-1.5 1.3-2.7 2.7-2.6 26.2 1 48.9 15.7 61.1 37.1.7 1.3.2 3-1.1 3.7zM389.1 32H58.9C26.4 32 0 58.4 0 90.9V421c0 32.6 26.4 59 58.9 59H389c32.6 0 58.9-26.4 58.9-58.9V90.9C448 58.4 421.6 32 389.1 32zm-202.6 84.7c0-10.8 8.7-19.5 19.5-19.5h45.3c10.8 0 19.5 8.7 19.5 19.5v15.4c0 1.8-1.7 3-3.3 2.5-12.3-3.4-25.1-5.1-38.1-5.1-13.5 0-26.7 1.8-39.4 5.5-1.7.5-3.4-.8-3.4-2.5v-15.8zm-84.4 37l9.2-9.2c7.6-7.6 19.9-7.6 27.5 0l7.7 7.7c1.1 1.1 1 3-.3 4-6.2 4.5-12.1 9.4-17.6 14.9-5.4 5.4-10.4 11.3-14.8 17.4-1 1.3-2.9 1.5-4 .3l-7.7-7.7c-7.6-7.5-7.6-19.8 0-27.4zm127.2 244.8c-70 0-126.6-56.7-126.6-126.6s56.7-126.6 126.6-126.6c70 0 126.6 56.6 126.6 126.6 0 69.8-56.7 126.6-126.6 126.6z"],amazon:[448,512,[],"f270","M257.2 162.7c-48.7 1.8-169.5 15.5-169.5 117.5 0 109.5 138.3 114 183.5 43.2 6.5 10.2 35.4 37.5 45.3 46.8l56.8-56S341 288.9 341 261.4V114.3C341 89 316.5 32 228.7 32 140.7 32 94 87 94 136.3l73.5 6.8c16.3-49.5 54.2-49.5 54.2-49.5 40.7-.1 35.5 29.8 35.5 69.1zm0 86.8c0 80-84.2 68-84.2 17.2 0-47.2 50.5-56.7 84.2-57.8v40.6zm136 163.5c-7.7 10-70 67-174.5 67S34.2 408.5 9.7 379c-6.8-7.7 1-11.3 5.5-8.3C88.5 415.2 203 488.5 387.7 401c7.5-3.7 13.3 2 5.5 12zm39.8 2.2c-6.5 15.8-16 26.8-21.2 31-5.5 4.5-9.5 2.7-6.5-3.8s19.3-46.5 12.7-55c-6.5-8.3-37-4.3-48-3.2-10.8 1-13 2-14-.3-2.3-5.7 21.7-15.5 37.5-17.5 15.7-1.8 41-.8 46 5.7 3.7 5.1 0 27.1-6.5 43.1z"],"amazon-pay":[611,512,[],"f42c","M0 325.2c2.3-4.2 5.2-4.9 9.7-2.5 10.4 5.6 20.6 11.4 31.2 16.7 40.7 20.4 83.2 35.6 127.4 46.3 20.9 5 41.9 9 63.2 11.8 31.5 4.2 63.2 6 95 5.2 17.4-.4 34.8-1.8 52.1-3.8 56.4-6.7 110.9-20.8 163.3-42.8 2.9-1.2 5.9-2 9.1-1.2 6.7 1.8 9 9 4.1 13.9-2.8 2.8-6.3 5.1-9.6 7.4-30.7 21.1-64.2 36.4-99.6 47.9-24.6 7.9-49.6 13.8-75.1 17.6-17.6 2.6-35.4 4.4-53.2 4.8-.8 0-1.7.2-2.5.3H294c-.8-.1-1.7-.3-2.5-.3-3.6-.2-7.2-.3-10.7-.4-16.9-.7-33.7-2.6-50.4-5.3-27.4-4.5-54.2-11.4-80.4-20.9-54.1-19.6-102.6-48.6-145.6-87-1.8-1.6-3-3.8-4.4-5.7v-2zM158 65c-1.4.2-2.9.4-4.3.6-14 1.7-26.6 6.9-38 15.1-2.4 1.7-4.6 3.5-7.1 5.4-.2-.5-.4-1-.4-1.4-.4-2.7-.8-5.5-1.3-8.2-.7-4.6-3-6.6-7.6-6.6H87.8c-6.9 0-8.2 1.3-8.2 8.2v209.3c0 1 0 2 .1 3 .2 3 2 4.9 4.9 5 7 .1 14.1.1 21.1 0 2.9 0 4.7-2 5-5 .1-1 .1-2 .1-3V215c1.1.9 1.7 1.4 2.2 1.9 17.9 14.9 38.5 19.8 61 15.4 20.4-4 34.6-16.5 43.8-34.9 7-13.9 9.9-28.7 10.3-44.1.5-17.1-1.2-33.9-8.1-49.8-8.5-19.6-22.6-32.5-43.9-36.9-3.2-.7-6.5-1-9.8-1.5-2.8-.1-5.5-.1-8.3-.1zm-47.4 41.9c0-1.5.4-2.4 1.7-3.3 13.7-9.5 28.8-14.5 45.6-13.2 14.9 1.1 27.1 8.4 33.5 25.9 3.9 10.7 4.9 21.8 4.9 33 0 10.4-.8 20.6-4 30.6-6.8 21.3-22.4 29.4-42.6 28.5-14-.6-26.2-6-37.4-13.9-1.2-.9-1.7-1.7-1.7-3.3.1-14.1 0-28.1 0-42.2 0-14 .1-28 0-42.1zM316.3 65c-1 .1-2 .3-2.9.4-9.8.5-19.4 1.7-28.9 4.1-6.1 1.6-12 3.8-17.9 5.8-3.6 1.2-5.4 3.8-5.3 7.7.1 3.3-.1 6.6 0 9.9.1 4.8 2.1 6.1 6.8 4.9 7.8-2 15.6-4.2 23.5-5.7 12.3-2.3 24.7-3.3 37.2-1.4 6.5 1 12.6 2.9 16.8 8.4 3.7 4.8 5.1 10.5 5.3 16.4.3 8.3.2 16.6.3 24.9 0 .4-.1.9-.2 1.4-.5-.1-.9 0-1.3-.1-10.5-2.5-21.1-4.3-32-4.9-11.3-.6-22.5.1-33.3 3.9-12.9 4.5-23.3 12.3-29.4 24.9-4.7 9.8-5.4 20.2-3.9 30.7 2 14 9 24.8 21.4 31.7 11.9 6.6 24.8 7.4 37.9 5.4 15.1-2.3 28.5-8.7 40.3-18.4.4-.4.9-.7 1.6-1.1.6 3.8 1.1 7.4 1.8 11 .6 3.1 2.5 5.1 5.4 5.2 5.4.1 10.9.1 16.3 0 2.7-.1 4.5-1.9 4.8-4.7.1-.9.1-1.9.1-2.8v-106c0-4.3-.2-8.6-.9-12.9-1.9-12.9-7.4-23.5-19-30.4-6.7-4-14.1-6-21.8-7.1-3.6-.5-7.2-.8-10.8-1.3-3.9.1-7.9.1-11.9.1zm35 127.7c0 1.3-.4 2.2-1.5 3-11.2 8.1-23.5 13.5-37.4 14.9-5.7.6-11.4.4-16.8-1.8-6.3-2.5-10.4-6.9-12.4-13.3s-2-13-.1-19.4c2.5-8.3 8.4-13 16.4-15.6 8.1-2.6 16.5-3 24.8-2.2 8.4.7 16.6 2.3 25 3.4 1.6.2 2.1 1 2.1 2.6-.1 4.8 0 9.5 0 14.3-.1 4.7-.2 9.4-.1 14.1zm259.9 129.4c-1-5-4.8-6.9-9.1-8.3-6.8-2.3-13.9-3.3-21-3.9-13.1-1.1-26.2-.5-39.2 1.9-14.3 2.7-27.9 7.3-40 15.6-1.4 1-2.8 2.1-3.7 3.5-.7 1.1-.9 2.8-.5 4 .4 1.5 2.1 1.9 3.6 1.8.7 0 1.5 0 2.2-.1 7.8-.8 15.5-1.7 23.3-2.5 11.4-1.1 22.9-1.8 34.3-.9 4.8.3 9.7 1.4 14.4 2.7 5.1 1.4 7.4 5.2 7.6 10.4.4 8-1.4 15.7-3.5 23.3-4.1 15.4-10 30.3-15.8 45.1-.4 1-.8 2-1 3-.5 2.9 1.2 4.8 4.1 4.1 1.7-.4 3.6-1.3 4.8-2.5 4.4-4.3 8.9-8.6 12.7-13.4 12.8-16.4 20.3-35.3 24.7-55.6.8-3.6 1.4-7.3 2.1-10.9v-17.3zM479.1 198.9c-12.9-35.7-25.8-71.5-38.7-107.2-2-5.7-4.2-11.3-6.3-16.9-1.1-2.9-3.2-4.8-6.4-4.8-7.6-.1-15.2-.2-22.9-.1-2.5 0-3.7 2-3.2 4.5.5 2.1 1.1 4.1 1.9 6.1 19.6 48.5 39.3 97.1 59.1 145.5 1.7 4.1 2.1 7.6.2 11.8-3.3 7.3-5.9 15-9.3 22.3-3 6.5-8 11.4-15.2 13.3-5.1 1.4-10.2 1.6-15.4 1.1-2.5-.2-5-.8-7.5-1-3.4-.2-5.1 1.3-5.2 4.8-.1 3.3-.1 6.6 0 9.9.1 5.5 2 8 7.4 8.9 5.6 1 11.3 1.9 16.9 2 17.1.4 30.7-6.5 39.5-21.4 3.5-5.9 6.7-12.1 9.2-18.4 23.7-59.8 47.1-119.7 70.6-179.6.7-1.8 1.3-3.6 1.6-5.5.4-2.8-.9-4.4-3.7-4.4-6.6-.1-13.3 0-19.9 0-3.7 0-6.3 1.6-7.7 5.2-.5 1.4-1.1 2.7-1.6 4.1-11.6 33.3-23.2 66.6-34.8 100-2.5 7.2-5.1 14.5-7.7 22.2-.4-1.1-.6-1.7-.9-2.4z"],amilia:[448,512,[],"f36d","M240.1 32c-61.9 0-131.5 16.9-184.2 55.4-5.1 3.1-9.1 9.2-7.2 19.4 1.1 5.1 5.1 27.4 10.2 39.6 4.1 10.2 14.2 10.2 20.3 6.1 32.5-22.3 96.5-47.7 152.3-47.7 57.9 0 58.9 28.4 58.9 73.1v38.5C203 227.7 78.2 251 46.7 264.2 11.2 280.5 16.3 357.7 16.3 376s15.2 104 124.9 104c47.8 0 113.7-20.7 153.3-42.1v25.4c0 3 2.1 8.2 6.1 9.1 3.1 1 50.7 2 59.9 2s62.5.3 66.5-.7c4.1-1 5.1-6.1 5.1-9.1V168c-.1-80.3-57.9-136-192-136zm-87.9 327.7c0-12.2-3-42.7 18.3-52.9 24.3-13.2 75.1-29.4 119.8-33.5V380c-21.4 13.2-48.7 24.4-79.1 24.4-52.8 0-58.9-33.5-59-44.7"],android:[448,512,[],"f17b","M89.6 204.5v115.8c0 15.4-12.1 27.7-27.5 27.7-15.3 0-30.1-12.4-30.1-27.7V204.5c0-15.1 14.8-27.5 30.1-27.5 15.1 0 27.5 12.4 27.5 27.5zm10.8 157c0 16.4 13.2 29.6 29.6 29.6h19.9l.3 61.1c0 36.9 55.2 36.6 55.2 0v-61.1h37.2v61.1c0 36.7 55.5 36.8 55.5 0v-61.1h20.2c16.2 0 29.4-13.2 29.4-29.6V182.1H100.4v179.4zm248-189.1H99.3c0-42.8 25.6-80 63.6-99.4l-19.1-35.3c-2.8-4.9 4.3-8 6.7-3.8l19.4 35.6c34.9-15.5 75-14.7 108.3 0L297.5 34c2.5-4.3 9.5-1.1 6.7 3.8L285.1 73c37.7 19.4 63.3 56.6 63.3 99.4zm-170.7-55.5c0-5.7-4.6-10.5-10.5-10.5-5.7 0-10.2 4.8-10.2 10.5s4.6 10.5 10.2 10.5c5.9 0 10.5-4.8 10.5-10.5zm113.4 0c0-5.7-4.6-10.5-10.2-10.5-5.9 0-10.5 4.8-10.5 10.5s4.6 10.5 10.5 10.5c5.6 0 10.2-4.8 10.2-10.5zm94.8 60.1c-15.1 0-27.5 12.1-27.5 27.5v115.8c0 15.4 12.4 27.7 27.5 27.7 15.4 0 30.1-12.4 30.1-27.7V204.5c0-15.4-14.8-27.5-30.1-27.5z"],angellist:[448,512,[],"f209","M347.1 215.4c11.7-32.6 45.4-126.9 45.4-157.1 0-26.6-15.7-48.9-43.7-48.9-44.6 0-84.6 131.7-97.1 163.1C242 144 196.6 0 156.6 0c-31.1 0-45.7 22.9-45.7 51.7 0 35.3 34.2 126.8 46.6 162-6.3-2.3-13.1-4.3-20-4.3-23.4 0-48.3 29.1-48.3 52.6 0 8.9 4.9 21.4 8 29.7-36.9 10-51.1 34.6-51.1 71.7C46 435.6 114.4 512 210.6 512c118 0 191.4-88.6 191.4-202.9 0-43.1-6.9-82-54.9-93.7zM311.7 108c4-12.3 21.1-64.3 37.1-64.3 8.6 0 10.9 8.9 10.9 16 0 19.1-38.6 124.6-47.1 148l-34-6 33.1-93.7zM142.3 48.3c0-11.9 14.5-45.7 46.3 47.1l34.6 100.3c-15.6-1.3-27.7-3-35.4 1.4-10.9-28.8-45.5-119.7-45.5-148.8zM140 244c29.3 0 67.1 94.6 67.1 107.4 0 5.1-4.9 11.4-10.6 11.4-20.9 0-76.9-76.9-76.9-97.7.1-7.7 12.7-21.1 20.4-21.1zm184.3 186.3c-29.1 32-66.3 48.6-109.7 48.6-59.4 0-106.3-32.6-128.9-88.3-17.1-43.4 3.8-68.3 20.6-68.3 11.4 0 54.3 60.3 54.3 73.1 0 4.9-7.7 8.3-11.7 8.3-16.1 0-22.4-15.5-51.1-51.4-29.7 29.7 20.5 86.9 58.3 86.9 26.1 0 43.1-24.2 38-42 3.7 0 8.3.3 11.7-.6 1.1 27.1 9.1 59.4 41.7 61.7 0-.9 2-7.1 2-7.4 0-17.4-10.6-32.6-10.6-50.3 0-28.3 21.7-55.7 43.7-71.7 8-6 17.7-9.7 27.1-13.1 9.7-3.7 20-8 27.4-15.4-1.1-11.2-5.7-21.1-16.9-21.1-27.7 0-120.6 4-120.6-39.7 0-6.7.1-13.1 17.4-13.1 32.3 0 114.3 8 138.3 29.1 18.1 16.1 24.3 113.2-31 174.7zm-98.6-126c9.7 3.1 19.7 4 29.7 6-7.4 5.4-14 12-20.3 19.1-2.8-8.5-6.2-16.8-9.4-25.1z"],angrycreative:[640,512,[],"f36e","M640 238.2l-3.2 28.2-34.5 2.3-2 18.1 34.5-2.3-3.2 28.2-34.4 2.2-2.3 20.1 34.4-2.2-3 26.1-64.7 4.1 12.7-113.2L527 365.2l-31.9 2-23.8-117.8 30.3-2 13.6 79.4 31.7-82.4 93.1-6.2zM426.8 371.5l28.3-1.8L468 249.6l-28.4 1.9-12.8 120zM162 388.1l-19.4-36-3.5 37.4-28.2 1.7 2.7-29.1c-11 18-32 34.3-56.9 35.8C23.9 399.9-3 377 .3 339.7c2.6-29.3 26.7-62.8 67.5-65.4 37.7-2.4 47.6 23.2 51.3 28.8l2.8-30.8 38.9-2.5c20.1-1.3 38.7 3.7 42.5 23.7l2.6-26.6 64.8-4.2-2.7 27.9-36.4 2.4-1.7 17.9 36.4-2.3-2.7 27.9-36.4 2.3-1.9 19.9 36.3-2.3-2.1 20.8 55-117.2 23.8-1.6L370.4 369l8.9-85.6-22.3 1.4 2.9-27.9 75-4.9-3 28-24.3 1.6-9.7 91.9-58 3.7-4.3-15.6-39.4 2.5-8 16.3-126.2 7.7zm-44.3-70.2l-26.4 1.7C84.6 307.2 76.9 303 65 303.8c-19 1.2-33.3 17.5-34.6 33.3-1.4 16 7.3 32.5 28.7 31.2 12.8-.8 21.3-8.6 28.9-18.9l27-1.7 2.7-29.8zm56.1-7.7c1.2-12.9-7.6-13.6-26.1-12.4l-2.7 28.5c14.2-.9 27.5-2.1 28.8-16.1zm21.1 70.8l5.8-60c-5 13.5-14.7 21.1-27.9 26.6l22.1 33.4zm135.4-45l-7.9-37.8-15.8 39.3 23.7-1.5zm-170.1-74.6l-4.3-17.5-39.6 2.6-8.1 18.2-31.9 2.1 57-121.9 23.9-1.6 30.7 102 9.9-104.7 27-1.8 37.8 63.6 6.5-66.6 28.5-1.9-4 41.2c7.4-13.5 22.9-44.7 63.6-47.5 40.5-2.8 52.4 29.3 53.4 30.3l3.3-32 39.3-2.7c12.7-.9 27.8.3 36.3 9.7l-4.4-11.9 32.2-2.2 12.9 43.2 23-45.7 31-2.2-43.6 78.4-4.8 44.3-28.4 1.9 4.8-44.3-15.8-43c1 22.3-9.2 40.1-32 49.6l25.2 38.8-36.4 2.4-19.2-36.8-4 38.3-28.4 1.9 3.3-31.5c-6.7 9.3-19.7 35.4-59.6 38-26.2 1.7-45.6-10.3-55.4-39.2l-4 40.3-25 1.6-37.6-63.3-6.3 66.2-56.8 3.7zm276.6-82.1c10.2-.7 17.5-2.1 21.6-4.3 4.5-2.4 7-6.4 7.6-12.1.6-5.3-.6-8.8-3.4-10.4-3.6-2.1-10.6-2.8-22.9-2l-2.9 28.8zM327.7 214c5.6 5.9 12.7 8.5 21.3 7.9 4.7-.3 9.1-1.8 13.3-4.1 5.5-3 10.6-8 15.1-14.3l-34.2 2.3 2.4-23.9 63.1-4.3 1.2-12-31.2 2.1c-4.1-3.7-7.8-6.6-11.1-8.1-4-1.7-8.1-2.8-12.2-2.5-8 .5-15.3 3.6-22 9.2-7.7 6.4-12 14.5-12.9 24.4-1.1 9.6 1.4 17.3 7.2 23.3zm-201.3 8.2l23.8-1.6-8.3-37.6-15.5 39.2z"],angular:[415,512,[],"f420","M169.7 268.1h76.2l-38.1-91.6-38.1 91.6zM207.8 32L0 106.4l31.8 275.7 176 97.9 176-97.9 31.8-275.7L207.8 32zM338 373.8h-48.6l-26.2-65.4H152.6l-26.2 65.4H77.7L207.8 81.5 338 373.8z"],"app-store":[512,512,[],"f36f","M255.9 120.9l9.1-15.7c5.6-9.8 18.1-13.1 27.9-7.5 9.8 5.6 13.1 18.1 7.5 27.9l-87.5 151.5h63.3c20.5 0 32 24.1 23.1 40.8H113.8c-11.3 0-20.4-9.1-20.4-20.4 0-11.3 9.1-20.4 20.4-20.4h52l66.6-115.4-20.8-36.1c-5.6-9.8-2.3-22.2 7.5-27.9 9.8-5.6 22.2-2.3 27.9 7.5l8.9 15.7zm-78.7 218l-19.6 34c-5.6 9.8-18.1 13.1-27.9 7.5-9.8-5.6-13.1-18.1-7.5-27.9l14.6-25.2c16.4-5.1 29.8-1.2 40.4 11.6zm168.9-61.7h53.1c11.3 0 20.4 9.1 20.4 20.4 0 11.3-9.1 20.4-20.4 20.4h-29.5l19.9 34.5c5.6 9.8 2.3 22.2-7.5 27.9-9.8 5.6-22.2 2.3-27.9-7.5-33.5-58.1-58.7-101.6-75.4-130.6-17.1-29.5-4.9-59.1 7.2-69.1 13.4 23 33.4 57.7 60.1 104zM256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm216 248c0 118.7-96.1 216-216 216-118.7 0-216-96.1-216-216 0-118.7 96.1-216 216-216 118.7 0 216 96.1 216 216z"],"app-store-ios":[448,512,[],"f370","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM127 384.5c-5.5 9.6-17.8 12.8-27.3 7.3-9.6-5.5-12.8-17.8-7.3-27.3l14.3-24.7c16.1-4.9 29.3-1.1 39.6 11.4L127 384.5zm138.9-53.9H84c-11 0-20-9-20-20s9-20 20-20h51l65.4-113.2-20.5-35.4c-5.5-9.6-2.2-21.8 7.3-27.3 9.6-5.5 21.8-2.2 27.3 7.3l8.9 15.4 8.9-15.4c5.5-9.6 17.8-12.8 27.3-7.3 9.6 5.5 12.8 17.8 7.3 27.3l-85.8 148.6h62.1c20.2 0 31.5 23.7 22.7 40zm98.1 0h-29l19.6 33.9c5.5 9.6 2.2 21.8-7.3 27.3-9.6 5.5-21.8 2.2-27.3-7.3-32.9-56.9-57.5-99.7-74-128.1-16.7-29-4.8-58 7.1-67.8 13.1 22.7 32.7 56.7 58.9 102h52c11 0 20 9 20 20 0 11.1-9 20-20 20z"],apper:[640,512,[],"f371","M42.1 239.1c22.2 0 29 2.8 33.5 14.6h.8v-22.9c0-11.3-4.8-15.4-17.9-15.4-11.3 0-14.4 2.5-15.1 12.8H4.8c.3-13.9 1.5-19.1 5.8-24.4C17.9 195 29.5 192 56.7 192c33 0 47.1 5 53.9 18.9 2 4.3 4 15.6 4 23.7v76.3H76.3l1.3-19.1h-1c-5.3 15.6-13.6 20.4-35.5 20.4-30.3 0-41.1-10.1-41.1-37.3 0-25.2 12.3-35.8 42.1-35.8zm17.1 48.1c13.1 0 16.9-3 16.9-13.4 0-9.1-4.3-11.6-19.6-11.6-13.1 0-17.9 3-17.9 12.1-.1 10.4 3.7 12.9 20.6 12.9zm77.8-94.9h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.2 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3H137v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm57.9-60.7h38.3l-1.5 20.6h.8c9.1-17.1 15.9-20.9 37.5-20.9 14.4 0 24.7 3 31.5 9.1 9.8 8.6 12.8 20.4 12.8 48.1 0 30-3 43.1-12.1 52.9-6.8 7.3-16.4 10.1-33.3 10.1-20.4 0-29.2-5.5-33.8-21.2h-.8v70.3h-39.5v-169zm80.9 60.7c0-27.5-3.3-32.5-20.7-32.5-16.9 0-20.7 5-20.7 28.7 0 28 3.5 33.5 21.2 33.5 16.4 0 20.2-5.6 20.2-29.7zm53.8-3.8c0-25.4 3.3-37.8 12.3-45.8 8.8-8.1 22.2-11.3 45.1-11.3 42.8 0 55.7 12.8 55.7 55.7v11.1h-75.3c-.3 2-.3 4-.3 4.8 0 16.9 4.5 21.9 20.1 21.9 13.9 0 17.9-3 17.9-13.9h37.5v2.3c0 9.8-2.5 18.9-6.8 24.7-7.3 9.8-19.6 13.6-44.3 13.6-27.5 0-41.6-3.3-50.6-12.3-8.5-8.5-11.3-21.3-11.3-50.8zm76.4-11.6c-.3-1.8-.3-3.3-.3-3.8 0-12.3-3.3-14.6-19.6-14.6-14.4 0-17.1 3-18.1 15.1l-.3 3.3h38.3zm55.6-45.3h38.3l-1.8 19.9h.7c6.8-14.9 14.4-20.2 29.7-20.2 10.8 0 19.1 3.3 23.4 9.3 5.3 7.3 6.8 14.4 6.8 34 0 1.5 0 5 .2 9.3h-35c.3-1.8.3-3.3.3-4 0-15.4-2-19.4-10.3-19.4-6.3 0-10.8 3.3-13.1 9.3-1 3-1 4.3-1 12.3v68h-38.3V192.3z"],apple:[376,512,[],"f179","M314.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C59.3 141.2 0 184.8 0 273.5c0 26.2 4.8 53.3 14.4 81.2 12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"],"apple-pay":[640,512,[],"f415","M116.9 158.5c-7.5 8.9-19.5 15.9-31.5 14.9-1.5-12 4.4-24.8 11.3-32.6 7.5-9.1 20.6-15.6 31.3-16.1 1.2 12.4-3.7 24.7-11.1 33.8m10.9 17.2c-17.4-1-32.3 9.9-40.5 9.9-8.4 0-21-9.4-34.8-9.1-17.9.3-34.5 10.4-43.6 26.5-18.8 32.3-4.9 80 13.3 106.3 8.9 13 19.5 27.3 33.5 26.8 13.3-.5 18.5-8.6 34.5-8.6 16.1 0 20.8 8.6 34.8 8.4 14.5-.3 23.6-13 32.5-26 10.1-14.8 14.3-29.1 14.5-29.9-.3-.3-28-10.9-28.3-42.9-.3-26.8 21.9-39.5 22.9-40.3-12.5-18.6-32-20.6-38.8-21.1m100.4-36.2v194.9h30.3v-66.6h41.9c38.3 0 65.1-26.3 65.1-64.3s-26.4-64-64.1-64h-73.2zm30.3 25.5h34.9c26.3 0 41.3 14 41.3 38.6s-15 38.8-41.4 38.8h-34.8V165zm162.2 170.9c19 0 36.6-9.6 44.6-24.9h.6v23.4h28v-97c0-28.1-22.5-46.3-57.1-46.3-32.1 0-55.9 18.4-56.8 43.6h27.3c2.3-12 13.4-19.9 28.6-19.9 18.5 0 28.9 8.6 28.9 24.5v10.8l-37.8 2.3c-35.1 2.1-54.1 16.5-54.1 41.5.1 25.2 19.7 42 47.8 42zm8.2-23.1c-16.1 0-26.4-7.8-26.4-19.6 0-12.3 9.9-19.4 28.8-20.5l33.6-2.1v11c0 18.2-15.5 31.2-36 31.2zm102.5 74.6c29.5 0 43.4-11.3 55.5-45.4L640 193h-30.8l-35.6 115.1h-.6L537.4 193h-31.6L557 334.9l-2.8 8.6c-4.6 14.6-12.1 20.3-25.5 20.3-2.4 0-7-.3-8.9-.5v23.4c1.8.4 9.3.7 11.6.7z"],asymmetrik:[576,512,[],"f372","M517.5 309.2c38.8-40 58.1-80 58.5-116.1.8-65.5-59.4-118.2-169.4-135C277.9 38.4 118.1 73.6 0 140.5 52 114 110.6 92.3 170.7 82.3c74.5-20.5 153-25.4 221.3-14.8C544.5 91.3 588.8 195 490.8 299.2c-10.2 10.8-22 21.1-35 30.6L304.9 103.4 114.7 388.9c-65.6-29.4-76.5-90.2-19.1-151.2 20.8-22.2 48.3-41.9 79.5-58.1 20-12.2 39.7-22.6 62-30.7-65.1 20.3-122.7 52.9-161.6 92.9-27.7 28.6-41.4 57.1-41.7 82.9-.5 35.1 23.4 65.1 68.4 83l-34.5 51.7h101.6l22-34.4c22.2 1 45.3 0 68.6-2.7l-22.8 37.1h135.5L340 406.3c18.6-5.3 36.9-11.5 54.5-18.7l45.9 71.8H542L468.6 349c18.5-12.1 35-25.5 48.9-39.8zm-187.6 80.5l-25-40.6-32.7 53.3c-23.4 3.5-46.7 5.1-69.2 4.4l101.9-159.3 78.7 123c-17.2 7.4-35.3 13.9-53.7 19.2z"],audible:[640,512,[],"f373","M640 199.9v54l-320 200L0 254v-54l320 200 320-200.1zm-194.5 72l47.1-29.4c-37.2-55.8-100.7-92.6-172.7-92.6-72 0-135.5 36.7-172.6 92.4h.3c2.5-2.3 5.1-4.5 7.7-6.7 89.7-74.4 219.4-58.1 290.2 36.3zm-220.1 18.8c16.9-11.9 36.5-18.7 57.4-18.7 34.4 0 65.2 18.4 86.4 47.6l45.4-28.4c-20.9-29.9-55.6-49.5-94.8-49.5-38.9 0-73.4 19.4-94.4 49zM103.6 161.1c131.8-104.3 318.2-76.4 417.5 62.1l.7 1 48.8-30.4C517.1 112.1 424.8 58.1 319.9 58.1c-103.5 0-196.6 53.5-250.5 135.6 9.9-10.5 22.7-23.5 34.2-32.6zm467 32.7z"],autoprefixer:[640,512,[],"f41c","M318.4 16l-161 480h77.5l25.4-81.4h119.5L405 496h77.5L318.4 16zm-40.3 341.9l41.2-130.4h1.5l40.9 130.4h-83.6zM640 405l-10-31.4L462.1 358l19.4 56.5L640 405zm-462.1-47L10 373.7 0 405l158.5 9.4 19.4-56.4z"],avianex:[512,512,[],"f374","M453.1 32h-312c-38.9 0-76.2 31.2-83.3 69.7L1.2 410.3C-5.9 448.8 19.9 480 58.9 480h312c38.9 0 76.2-31.2 83.3-69.7l56.7-308.5c7-38.6-18.8-69.8-57.8-69.8zm-58.2 347.3l-32 13.5-115.4-110c-14.7 10-29.2 19.5-41.7 27.1l22.1 64.2-17.9 12.7-40.6-61-52.4-48.1 15.7-15.4 58 31.1c9.3-10.5 20.8-22.6 32.8-34.9L203 228.9l-68.8-99.8 18.8-28.9 8.9-4.8L265 207.8l4.9 4.5c19.4-18.8 33.8-32.4 33.8-32.4 7.7-6.5 21.5-2.9 30.7 7.9 9 10.5 10.6 24.7 2.7 31.3-1.8 1.3-15.5 11.4-35.3 25.6l4.5 7.3 94.9 119.4-6.3 7.9z"],aviato:[640,512,[],"f421","M107.2 283.5l-19-41.8H36.1l-19 41.8H0l62.2-131.4 62.2 131.4h-17.2zm-45-98.1l-19.6 42.5h39.2l-19.6-42.5zm112.7 102.4l-62.2-131.4h17.1l45.1 96 45.1-96h17l-62.1 131.4zm80.6-4.3V156.4H271v127.1h-15.5zm209.1-115.6v115.6h-17.3V167.9h-41.2v-11.5h99.6v11.5h-41.1zM640 218.8c0 9.2-1.7 17.8-5.1 25.8-3.4 8-8.2 15.1-14.2 21.1-6 6-13.1 10.8-21.1 14.2-8 3.4-16.6 5.1-25.8 5.1s-17.8-1.7-25.8-5.1c-8-3.4-15.1-8.2-21.1-14.2-6-6-10.8-13-14.2-21.1-3.4-8-5.1-16.6-5.1-25.8s1.7-17.8 5.1-25.8c3.4-8 8.2-15.1 14.2-21.1 6-6 13-8.4 21.1-11.9 8-3.4 16.6-5.1 25.8-5.1s17.8 1.7 25.8 5.1c8 3.4 15.1 5.8 21.1 11.9 6 6 10.7 13.1 14.2 21.1 3.4 8 5.1 16.6 5.1 25.8zm-15.5 0c0-7.3-1.3-14-3.9-20.3-2.6-6.3-6.2-11.7-10.8-16.3-4.6-4.6-10-8.2-16.2-10.9-6.2-2.7-12.8-4-19.8-4s-13.6 1.3-19.8 4c-6.2 2.7-11.6 6.3-16.2 10.9-4.6 4.6-8.2 10-10.8 16.3-2.6 6.3-3.9 13.1-3.9 20.3 0 7.3 1.3 14 3.9 20.3 2.6 6.3 6.2 11.7 10.8 16.3 4.6 4.6 10 8.2 16.2 10.9 6.2 2.7 12.8 4 19.8 4s13.6-1.3 19.8-4c6.2-2.7 11.6-6.3 16.2-10.9 4.6-4.6 8.2-10 10.8-16.3 2.6-6.3 3.9-13.1 3.9-20.3zm-94.8 96.7v-6.3l88.9-10-242.9 13.4c.6-2.2 1.1-4.6 1.4-7.2.3-2 .5-4.2.6-6.5l64.8-8.1-64.9 1.9c0-.4-.1-.7-.1-1.1-2.8-17.2-25.5-23.7-25.5-23.7l-1.1-26.3h23.8l19 41.8h17.1L348.6 152l-62.2 131.4h17.1l19-41.8h23.6L345 268s-22.7 6.5-25.5 23.7c-.1.3-.1.7-.1 1.1l-64.9-1.9 64.8 8.1c.1 2.3.3 4.4.6 6.5.3 2.6.8 5 1.4 7.2L78.4 299.2l88.9 10v6.3c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4 0-6.2-4.6-11.3-10.5-12.2v-5.8l80.3 9v5.4c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-4.9l28.4 3.2v23.7h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9V323l38.3 4.3c8.1 11.4 19 13.6 19 13.6l-.1 6.7-5.1.2-.1 12.1h4.1l.1-5h5.2l.1 5h4.1l-.1-12.1-5.1-.2-.1-6.7s10.9-2.1 19-13.6l38.3-4.3v23.2h-5.9V360h5.9v-6.6h5v6.6h5.9v-13.8h-5.9v-23.7l28.4-3.2v4.9c-5.7 1.1-9.9 6.2-9.9 12.1 0 6.8 5.6 10.2 12.4 10.2 6.8 0 12.4-3.4 12.4-10.2 0-6-4.3-11-9.9-12.1v-5.4l80.3-9v5.8c-5.9.9-10.5 6-10.5 12.2 0 6.8 5.6 12.4 12.4 12.4 6.8 0 12.4-5.6 12.4-12.4-.2-6.3-4.7-11.4-10.7-12.3zm-200.8-87.6l19.6-42.5 19.6 42.5h-17.9l-1.7-40.3-1.7 40.3h-17.9z"],aws:[512,512,[],"f375","M261.2 136.1c-14 57.5-13.1 54.4-25.8 107-1.6 6.5-4.1 8.4-10.7 8.5h-14.4c-5.8-.1-8.2-1.6-9.9-7.3-12.3-39.4-28.8-94.1-39.9-130.7-4.1-13.5-1.4-13.2 9.3-12.9 3.7.1 7.3 0 11 0 5.1.1 7.7 2 9.1 7.1 3.6 12.9 6 22.8 26.6 104.1.4 1.6.9 3.1 1.4 4.6h1.1c.5-2 1.1-3.9 1.6-5.9 7.8-32.9 15.5-65.9 23.3-98.8 2.4-10.2 6.7-11.2 17-11.2h7.6c6.9.1 9 1.5 10.7 8.3 6 23.4 23.5 101.8 26.7 110.4 5.1-18.3-1.8 7.9 28.5-109 2.1-8.1 4.1-9.7 12.3-9.7h12.7c5.4.1 7 1.8 5.7 7.1-2.4 9.5-2.9 9.9-41.3 132.9-3.1 9.9-4.2 10.8-14.6 10.8h-10.6c-7.3 0-9.2-1.3-11-8.4-4.3-16.2-23.3-95.7-26.4-106.9zM125.4 247.3c4.2 5.8 8.1 6.3 14.1 2.4l6.3-4.2c6.8-4.5 7.3-6.3 3.6-13.5-4.3-8.4-6.4-17.3-6.3-26.9 0-3.1.6-55.7-.9-66.8-2.7-19.3-12.5-32.8-31.7-38.7-10.7-3.4-21.7-3.3-32.7-3-15.1.4-29.4 4.6-42.8 11.4-1.8.9-3.7 3.1-4.1 4.9-.8 3.9-1.1 8.1-.7 12.1.6 5.9 2.6 7 8.2 5.1 5.1-1.7 10-3.9 15.1-5.4 14.5-4.4 29.2-6.4 44.1-1.7 7.1 2.2 11.7 6.9 14.3 13.8 3 7.9 2.4 16.1 2.4 24.2 0 5.5-.1 5.5-5.5 4.5-13.9-2.6-27.7-5-41.9-3.1-15.2 2.1-28.6 7.3-38.2 20-9.1 12-10 25.6-7.4 39.5 2.8 15 11.8 25.7 26.4 30.4 20.6 6.7 40.1 3.3 57.7-9.5 3.8-2.8 7.2-6.2 11.1-9.5 3.1 5 5.8 9.7 8.9 14zm-15.3-61.6c3 .4 4.5 1.9 4.3 5.1-.2 3.8.1 7.6-.3 11.4-1.2 11.7-7.7 19.7-17.9 24.9-8.2 4.2-16.9 5.8-26.1 5-15.2-1.3-21-13.1-19.6-26.3C51.8 193.2 59 186.2 72 184c13.8-2.4 16-1.1 38.1 1.7zm348.8 65.1c21.3-8.6 32.9-26.2 29.2-50-2.2-14.6-11.8-24.2-25.2-29.5-14.7-5.9-33.8-10.3-48.1-18.2-4.4-2.4-7.4-6.3-7.6-11.9-.4-11.1 4.2-17.2 15.4-19.8 9.3-2.1 18.8-2.2 28.1-.4 7.3 1.4 14.3 4.2 21.4 6.3 2.8.9 5.9 2.1 7.8-1.6 3.8-7.3.4-18.7-7.3-21.8-22.5-9-45.5-11.6-68.2-1.6-14.6 6.4-24.6 17.4-26 34.2-1.6 19.3 6.9 33.4 24.1 41.7 7.7 3.7 16.1 5.9 24.2 8.9 8.1 3 16.2 5.8 24.1 9.1 12.3 5.3 11.6 24.2 1.2 30-27.7 15.3-64.9-2.4-69.2-3.8-3.3-1.1-5.3.2-6.3 3.7-3 11.3.7 18.8 11.6 22.7 21.7 7.9 49.6 10.5 70.8 2zM296 413.5c50.8-5.8 98.7-20.8 142.7-47 8-4.7 15.5-10.3 23.1-15.7 7.3-5.2 3.2-18.4-11.3-12.2-54.4 23.2-111.2 36.1-170.2 38.9-30.5 1.5-60.8-.3-91.1-4.7-63.1-9.2-122.4-29.2-177.6-61.2-2.1-1.2-4.2-2.5-6.5-3-4.9-1.1-7.7 4.7-2.4 9.7 24 22.1 50.3 40.8 79.1 55.7 53.7 27.7 110.5 42.7 171.2 42 14.4-.8 28.8-.9 43-2.5zm174.7-92.2c14.8.8 19.4 5.9 15.7 20.2-3.8 14.8-9.3 29.2-13.9 43.8-.9 2.9-4.2 6.3-.8 8.8 3.7 2.6 6.5-1 9-3.3 10.2-9.5 17.4-21 22.5-33.8 5.4-13.4 9.3-27.2 8.7-41.9-.2-6.2-1.8-8.8-7.8-10.5-5.4-1.5-11-2.8-16.5-3.2-21.6-1.8-42.5.5-62 10.6-3.1 1.6-6 3.7-8.7 5.9-1.1.9-3.2 5.3 2.4 6.1 1.9.3 3.9-.1 5.9-.3 16.9-1.6 28.6-3.3 45.5-2.4z"],bandcamp:[496,512,[],"f2d5","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm48.2 326.1h-181L199.9 178h181l-84.7 156.1z"],behance:[576,512,[],"f1b4","M232 237.2c31.8-15.2 48.4-38.2 48.4-74 0-70.6-52.6-87.8-113.3-87.8H0v354.4h171.8c64.4 0 124.9-30.9 124.9-102.9 0-44.5-21.1-77.4-64.7-89.7zM77.9 135.9H151c28.1 0 53.4 7.9 53.4 40.5 0 30.1-19.7 42.2-47.5 42.2h-79v-82.7zm83.3 233.7H77.9V272h84.9c34.3 0 56 14.3 56 50.6 0 35.8-25.9 47-57.6 47zm358.5-240.7H376V94h143.7v34.9zM576 305.2c0-75.9-44.4-139.2-124.9-139.2-78.2 0-131.3 58.8-131.3 135.8 0 79.9 50.3 134.7 131.3 134.7 61.3 0 101-27.6 120.1-86.3H509c-6.7 21.9-34.3 33.5-55.7 33.5-41.3 0-63-24.2-63-65.3h185.1c.3-4.2.6-8.7.6-13.2zM390.4 274c2.3-33.7 24.7-54.8 58.5-54.8 35.4 0 53.2 20.8 56.2 54.8H390.4z"],"behance-square":[448,512,[],"f1b5","M186.5 293c0 19.3-14 25.4-31.2 25.4h-45.1v-52.9h46c18.6.1 30.3 7.8 30.3 27.5zm-7.7-82.3c0-17.7-13.7-21.9-28.9-21.9h-39.6v44.8H153c15.1 0 25.8-6.6 25.8-22.9zm132.3 23.2c-18.3 0-30.5 11.4-31.7 29.7h62.2c-1.7-18.5-11.3-29.7-30.5-29.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM271.7 185h77.8v-18.9h-77.8V185zm-43 110.3c0-24.1-11.4-44.9-35-51.6 17.2-8.2 26.2-17.7 26.2-37 0-38.2-28.5-47.5-61.4-47.5H68v192h93.1c34.9-.2 67.6-16.9 67.6-55.9zM380 280.5c0-41.1-24.1-75.4-67.6-75.4-42.4 0-71.1 31.8-71.1 73.6 0 43.3 27.3 73 71.1 73 33.2 0 54.7-14.9 65.1-46.8h-33.7c-3.7 11.9-18.6 18.1-30.2 18.1-22.4 0-34.1-13.1-34.1-35.3h100.2c.1-2.3.3-4.8.3-7.2z"],bimobject:[448,512,[],"f378","M416 32H32C14.4 32 0 46.4 0 64v384c0 17.6 14.4 32 32 32h384c17.6 0 32-14.4 32-32V64c0-17.6-14.4-32-32-32zm-64 257.4c0 49.4-11.4 82.6-103.8 82.6h-16.9c-44.1 0-62.4-14.9-70.4-38.8h-.9V368H96V136h64v74.7h1.1c4.6-30.5 39.7-38.8 69.7-38.8h17.3c92.4 0 103.8 33.1 103.8 82.5v35zm-64-28.9v22.9c0 21.7-3.4 33.8-38.4 33.8h-45.3c-28.9 0-44.1-6.5-44.1-35.7v-19c0-29.3 15.2-35.7 44.1-35.7h45.3c35-.2 38.4 12 38.4 33.7z"],bitbucket:[512,512,[],"f171","M23.1 32C14.2 31.9 7 38.9 6.9 47.8c0 .9.1 1.8.2 2.8L74.9 462c1.7 10.4 10.7 18 21.2 18.1h325.1c7.9.1 14.7-5.6 16-13.4l67.8-416c1.4-8.7-4.5-16.9-13.2-18.3-.9-.1-1.8-.2-2.8-.2L23.1 32zm285.3 297.3H204.6l-28.1-146.8h157l-25.1 146.8z"],bitcoin:[512,512,[],"f379","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-141.651-35.33c4.937-32.999-20.191-50.739-54.55-62.573l11.146-44.702-27.213-6.781-10.851 43.524c-7.154-1.783-14.502-3.464-21.803-5.13l10.929-43.81-27.198-6.781-11.153 44.686c-5.922-1.349-11.735-2.682-17.377-4.084l.031-.14-37.53-9.37-7.239 29.062s20.191 4.627 19.765 4.913c11.022 2.751 13.014 10.044 12.68 15.825l-12.696 50.925c.76.194 1.744.473 2.829.907-.907-.225-1.876-.473-2.876-.713l-17.796 71.338c-1.349 3.348-4.767 8.37-12.471 6.464.271.395-19.78-4.937-19.78-4.937l-13.51 31.147 35.414 8.827c6.588 1.651 13.045 3.379 19.4 5.006l-11.262 45.213 27.182 6.781 11.153-44.733a1038.209 1038.209 0 0 0 21.687 5.627l-11.115 44.523 27.213 6.781 11.262-45.128c46.404 8.781 81.299 5.239 95.986-36.727 11.836-33.79-.589-53.281-25.004-65.991 17.78-4.098 31.174-15.792 34.747-39.949zm-62.177 87.179c-8.41 33.79-65.308 15.523-83.755 10.943l14.944-59.899c18.446 4.603 77.6 13.717 68.811 48.956zm8.417-87.667c-7.673 30.736-55.031 15.12-70.393 11.292l13.548-54.327c15.363 3.828 64.836 10.973 56.845 43.035z"],bity:[496,512,[],"f37a","M78.4 67.2C173.8-22 324.5-24 421.5 71c14.3 14.1-6.4 37.1-22.4 21.5-84.8-82.4-215.8-80.3-298.9-3.2-16.3 15.1-36.5-8.3-21.8-22.1zm98.9 418.6c19.3 5.7 29.3-23.6 7.9-30C73 421.9 9.4 306.1 37.7 194.8c5-19.6-24.9-28.1-30.2-7.1-32.1 127.4 41.1 259.8 169.8 298.1zm148.1-2c121.9-40.2 192.9-166.9 164.4-291-4.5-19.7-34.9-13.8-30 7.9 24.2 107.7-37.1 217.9-143.2 253.4-21.2 7-10.4 36 8.8 29.7zm-62.9-79l.2-71.8c0-8.2-6.6-14.8-14.8-14.8-8.2 0-14.8 6.7-14.8 14.8l-.2 71.8c0 8.2 6.6 14.8 14.8 14.8s14.8-6.6 14.8-14.8zm71-269c2.1 90.9 4.7 131.9-85.5 132.5-92.5-.7-86.9-44.3-85.5-132.5 0-21.8-32.5-19.6-32.5 0v71.6c0 69.3 60.7 90.9 118 90.1 57.3.8 118-20.8 118-90.1v-71.6c0-19.6-32.5-21.8-32.5 0z"],"black-tie":[448,512,[],"f27e","M0 32v448h448V32H0zm316.5 325.2L224 445.9l-92.5-88.7 64.5-184-64.5-86.6h184.9L252 173.2l64.5 184z"],blackberry:[512,512,[],"f37b","M166 116.9c0 23.4-16.4 49.1-72.5 49.1H23.4l21-88.8h67.8c42.1 0 53.8 23.3 53.8 39.7zm126.2-39.7h-67.8L205.7 166h70.1c53.8 0 70.1-25.7 70.1-49.1.1-16.4-11.6-39.7-53.7-39.7zM88.8 208.1H21L0 296.9h70.1c56.1 0 72.5-23.4 72.5-49.1 0-16.3-11.7-39.7-53.8-39.7zm180.1 0h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1 0-16.3-11.7-39.7-53.7-39.7zm189.3-53.8h-67.8l-18.7 88.8h70.1c53.8 0 70.1-23.4 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7zm-28 137.9h-67.8L343.7 381h70.1c56.1 0 70.1-23.4 70.1-49.1 0-16.3-11.6-39.7-53.7-39.7zM240.8 346H173l-18.7 88.8h70.1c56.1 0 70.1-25.7 70.1-49.1.1-16.3-11.6-39.7-53.7-39.7z"],blogger:[448,512,[],"f37c","M162.4 196c4.8-4.9 6.2-5.1 36.4-5.1 27.2 0 28.1.1 32.1 2.1 5.8 2.9 8.3 7 8.3 13.6 0 5.9-2.4 10-7.6 13.4-2.8 1.8-4.5 1.9-31.1 2.1-16.4.1-29.5-.2-31.5-.8-10.3-2.9-14.1-17.7-6.6-25.3zm61.4 94.5c-53.9 0-55.8.2-60.2 4.1-3.5 3.1-5.7 9.4-5.1 13.9.7 4.7 4.8 10.1 9.2 12 2.2 1 14.1 1.7 56.3 1.2l47.9-.6 9.2-1.5c9-5.1 10.5-17.4 3.1-24.4-5.3-4.7-5-4.7-60.4-4.7zm223.4 130.1c-3.5 28.4-23 50.4-51.1 57.5-7.2 1.8-9.7 1.9-172.9 1.8-157.8 0-165.9-.1-172-1.8-8.4-2.2-15.6-5.5-22.3-10-5.6-3.8-13.9-11.8-17-16.4-3.8-5.6-8.2-15.3-10-22C.1 423 0 420.3 0 256.3 0 93.2 0 89.7 1.8 82.6 8.1 57.9 27.7 39 53 33.4c7.3-1.6 332.1-1.9 340-.3 21.2 4.3 37.9 17.1 47.6 36.4 7.7 15.3 7-1.5 7.3 180.6.2 115.8 0 164.5-.7 170.5zm-85.4-185.2c-1.1-5-4.2-9.6-7.7-11.5-1.1-.6-8-1.3-15.5-1.7-12.4-.6-13.8-.8-17.8-3.1-6.2-3.6-7.9-7.6-8-18.3 0-20.4-8.5-39.4-25.3-56.5-12-12.2-25.3-20.5-40.6-25.1-3.6-1.1-11.8-1.5-39.2-1.8-42.9-.5-52.5.4-67.1 6.2-27 10.7-46.3 33.4-53.4 62.4-1.3 5.4-1.6 14.2-1.9 64.3-.4 62.8 0 72.1 4 84.5 9.7 30.7 37.1 53.4 64.6 58.4 9.2 1.7 122.2 2.1 133.7.5 20.1-2.7 35.9-10.8 50.7-25.9 10.7-10.9 17.4-22.8 21.8-38.5 3.2-10.9 2.9-88.4 1.7-93.9z"],"blogger-b":[448,512,[],"f37d","M446.6 222.7c-1.8-8-6.8-15.4-12.5-18.5-1.8-1-13-2.2-25-2.7-20.1-.9-22.3-1.3-28.7-5-10.1-5.9-12.8-12.3-12.9-29.5-.1-33-13.8-63.7-40.9-91.3-19.3-19.7-40.9-33-65.5-40.5-5.9-1.8-19.1-2.4-63.3-2.9-69.4-.8-84.8.6-108.4 10C45.9 59.5 14.7 96.1 3.3 142.9 1.2 151.7.7 165.8.2 246.8c-.6 101.5.1 116.4 6.4 136.5 15.6 49.6 59.9 86.3 104.4 94.3 14.8 2.7 197.3 3.3 216 .8 32.5-4.4 58-17.5 81.9-41.9 17.3-17.7 28.1-36.8 35.2-62.1 4.9-17.6 4.5-142.8 2.5-151.7zm-322.1-63.6c7.8-7.9 10-8.2 58.8-8.2 43.9 0 45.4.1 51.8 3.4 9.3 4.7 13.4 11.3 13.4 21.9 0 9.5-3.8 16.2-12.3 21.6-4.6 2.9-7.3 3.1-50.3 3.3-26.5.2-47.7-.4-50.8-1.2-16.6-4.7-22.8-28.5-10.6-40.8zm191.8 199.8l-14.9 2.4-77.5.9c-68.1.8-87.3-.4-90.9-2-7.1-3.1-13.8-11.7-14.9-19.4-1.1-7.3 2.6-17.3 8.2-22.4 7.1-6.4 10.2-6.6 97.3-6.7 89.6-.1 89.1-.1 97.6 7.8 12.1 11.3 9.5 31.2-4.9 39.4z"],bluetooth:[448,512,[],"f293","M292.6 171.1L249.7 214l-.3-86 43.2 43.1m-43.2 219.8l43.1-43.1-42.9-42.9-.2 86zM416 259.4C416 465 344.1 512 230.9 512S32 465 32 259.4 115.4 0 228.6 0 416 53.9 416 259.4zm-158.5 0l79.4-88.6L211.8 36.5v176.9L138 139.6l-27 26.9 92.7 93-92.7 93 26.9 26.9 73.8-73.8 2.3 170 127.4-127.5-83.9-88.7z"],"bluetooth-b":[320,512,[],"f294","M196.48 260.023l92.626-103.333L143.125 0v206.33l-86.111-86.111-31.406 31.405 108.061 108.399L25.608 368.422l31.406 31.405 86.111-86.111L145.84 512l148.552-148.644-97.912-103.333zm40.86-102.996l-49.977 49.978-.338-100.295 50.315 50.317zM187.363 313.04l49.977 49.978-50.315 50.316.338-100.294z"],btc:[384,512,[],"f15a","M310.204 242.638c27.73-14.18 45.377-39.39 41.28-81.3-5.358-57.351-52.458-76.573-114.85-81.929V0h-48.528v77.203c-12.605 0-25.525.315-38.444.63V0h-48.528v79.409c-17.842.539-38.622.276-97.37 0v51.678c38.314-.678 58.417-3.14 63.023 21.427v217.429c-2.925 19.492-18.524 16.685-53.255 16.071L3.765 443.68c88.481 0 97.37.315 97.37.315V512h48.528v-67.06c13.234.315 26.154.315 38.444.315V512h48.528v-68.005c81.299-4.412 135.647-24.894 142.895-101.467 5.671-61.446-23.32-88.862-69.326-99.89zM150.608 134.553c27.415 0 113.126-8.507 113.126 48.528 0 54.515-85.71 48.212-113.126 48.212v-96.74zm0 251.776V279.821c32.772 0 133.127-9.138 133.127 53.255-.001 60.186-100.355 53.253-133.127 53.253z"],buromobelexperte:[448,512,[],"f37f","M0 32v128h128V32H0zm120 120H8V40h112v112zm40-120v128h128V32H160zm120 120H168V40h112v112zm40-120v128h128V32H320zm120 120H328V40h112v112zM0 192v128h128V192H0zm120 120H8V200h112v112zm40-120v128h128V192H160zm120 120H168V200h112v112zm40-120v128h128V192H320zm120 120H328V200h112v112zM0 352v128h128V352H0zm120 120H8V360h112v112zm40-120v128h128V352H160zm120 120H168V360h112v112zm40-120v128h128V352H320z"],buysellads:[448,512,[],"f20d","M224 150.7l42.9 160.7h-85.8L224 150.7zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-65.3 325.3l-94.5-298.7H159.8L65.3 405.3H156l111.7-91.6 24.2 91.6h90.8z"],"cc-amazon-pay":[576,512,[],"f42d","M124.7 201.8c.1-11.8 0-23.5 0-35.3v-35.3c0-1.3.4-2 1.4-2.7 11.5-8 24.1-12.1 38.2-11.1 12.5.9 22.7 7 28.1 21.7 3.3 8.9 4.1 18.2 4.1 27.7 0 8.7-.7 17.3-3.4 25.6-5.7 17.8-18.7 24.7-35.7 23.9-11.7-.5-21.9-5-31.4-11.7-.9-.8-1.4-1.6-1.3-2.8zm154.9 14.6c4.6 1.8 9.3 2 14.1 1.5 11.6-1.2 21.9-5.7 31.3-12.5.9-.6 1.3-1.3 1.3-2.5-.1-3.9 0-7.9 0-11.8 0-4-.1-8 0-12 0-1.4-.4-2-1.8-2.2-7-.9-13.9-2.2-20.9-2.9-7-.6-14-.3-20.8 1.9-6.7 2.2-11.7 6.2-13.7 13.1-1.6 5.4-1.6 10.8.1 16.2 1.6 5.5 5.2 9.2 10.4 11.2zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zm-207.5 23.9c.4 1.7.9 3.4 1.6 5.1 16.5 40.6 32.9 81.3 49.5 121.9 1.4 3.5 1.7 6.4.2 9.9-2.8 6.2-4.9 12.6-7.8 18.7-2.6 5.5-6.7 9.5-12.7 11.2-4.2 1.1-8.5 1.3-12.9.9-2.1-.2-4.2-.7-6.3-.8-2.8-.2-4.2 1.1-4.3 4-.1 2.8-.1 5.6 0 8.3.1 4.6 1.6 6.7 6.2 7.5 4.7.8 9.4 1.6 14.2 1.7 14.3.3 25.7-5.4 33.1-17.9 2.9-4.9 5.6-10.1 7.7-15.4 19.8-50.1 39.5-100.3 59.2-150.5.6-1.5 1.1-3 1.3-4.6.4-2.4-.7-3.6-3.1-3.7-5.6-.1-11.1 0-16.7 0-3.1 0-5.3 1.4-6.4 4.3-.4 1.1-.9 2.3-1.3 3.4l-29.1 83.7c-2.1 6.1-4.2 12.1-6.5 18.6-.4-.9-.6-1.4-.8-1.9-10.8-29.9-21.6-59.9-32.4-89.8-1.7-4.7-3.5-9.5-5.3-14.2-.9-2.5-2.7-4-5.4-4-6.4-.1-12.8-.2-19.2-.1-2.2 0-3.3 1.6-2.8 3.7zM242.4 206c1.7 11.7 7.6 20.8 18 26.6 9.9 5.5 20.7 6.2 31.7 4.6 12.7-1.9 23.9-7.3 33.8-15.5.4-.3.8-.6 1.4-1 .5 3.2.9 6.2 1.5 9.2.5 2.6 2.1 4.3 4.5 4.4 4.6.1 9.1.1 13.7 0 2.3-.1 3.8-1.6 4-3.9.1-.8.1-1.6.1-2.3v-88.8c0-3.6-.2-7.2-.7-10.8-1.6-10.8-6.2-19.7-15.9-25.4-5.6-3.3-11.8-5-18.2-5.9-3-.4-6-.7-9.1-1.1h-10c-.8.1-1.6.3-2.5.3-8.2.4-16.3 1.4-24.2 3.5-5.1 1.3-10 3.2-15 4.9-3 1-4.5 3.2-4.4 6.5.1 2.8-.1 5.6 0 8.3.1 4.1 1.8 5.2 5.7 4.1 6.5-1.7 13.1-3.5 19.7-4.8 10.3-1.9 20.7-2.7 31.1-1.2 5.4.8 10.5 2.4 14.1 7 3.1 4 4.2 8.8 4.4 13.7.3 6.9.2 13.9.3 20.8 0 .4-.1.7-.2 1.2-.4 0-.8 0-1.1-.1-8.8-2.1-17.7-3.6-26.8-4.1-9.5-.5-18.9.1-27.9 3.2-10.8 3.8-19.5 10.3-24.6 20.8-4.1 8.3-4.6 17-3.4 25.8zM98.7 106.9v175.3c0 .8 0 1.7.1 2.5.2 2.5 1.7 4.1 4.1 4.2 5.9.1 11.8.1 17.7 0 2.5 0 4-1.7 4.1-4.1.1-.8.1-1.7.1-2.5v-60.7c.9.7 1.4 1.2 1.9 1.6 15 12.5 32.2 16.6 51.1 12.9 17.1-3.4 28.9-13.9 36.7-29.2 5.8-11.6 8.3-24.1 8.7-37 .5-14.3-1-28.4-6.8-41.7-7.1-16.4-18.9-27.3-36.7-30.9-2.7-.6-5.5-.8-8.2-1.2h-7c-1.2.2-2.4.3-3.6.5-11.7 1.4-22.3 5.8-31.8 12.7-2 1.4-3.9 3-5.9 4.5-.1-.5-.3-.8-.4-1.2-.4-2.3-.7-4.6-1.1-6.9-.6-3.9-2.5-5.5-6.4-5.6h-9.7c-5.9-.1-6.9 1-6.9 6.8zM493.6 339c-2.7-.7-5.1 0-7.6 1-43.9 18.4-89.5 30.2-136.8 35.8-14.5 1.7-29.1 2.8-43.7 3.2-26.6.7-53.2-.8-79.6-4.3-17.8-2.4-35.5-5.7-53-9.9-37-8.9-72.7-21.7-106.7-38.8-8.8-4.4-17.4-9.3-26.1-14-3.8-2.1-6.2-1.5-8.2 2.1v1.7c1.2 1.6 2.2 3.4 3.7 4.8 36 32.2 76.6 56.5 122 72.9 21.9 7.9 44.4 13.7 67.3 17.5 14 2.3 28 3.8 42.2 4.5 3 .1 6 .2 9 .4.7 0 1.4.2 2.1.3h17.7c.7-.1 1.4-.3 2.1-.3 14.9-.4 29.8-1.8 44.6-4 21.4-3.2 42.4-8.1 62.9-14.7 29.6-9.6 57.7-22.4 83.4-40.1 2.8-1.9 5.7-3.8 8-6.2 4.3-4.4 2.3-10.4-3.3-11.9zm50.4-27.7c-.8-4.2-4-5.8-7.6-7-5.7-1.9-11.6-2.8-17.6-3.3-11-.9-22-.4-32.8 1.6-12 2.2-23.4 6.1-33.5 13.1-1.2.8-2.4 1.8-3.1 3-.6.9-.7 2.3-.5 3.4.3 1.3 1.7 1.6 3 1.5.6 0 1.2 0 1.8-.1l19.5-2.1c9.6-.9 19.2-1.5 28.8-.8 4.1.3 8.1 1.2 12 2.2 4.3 1.1 6.2 4.4 6.4 8.7.3 6.7-1.2 13.1-2.9 19.5-3.5 12.9-8.3 25.4-13.3 37.8-.3.8-.7 1.7-.8 2.5-.4 2.5 1 4 3.4 3.5 1.4-.3 3-1.1 4-2.1 3.7-3.6 7.5-7.2 10.6-11.2 10.7-13.8 17-29.6 20.7-46.6.7-3 1.2-6.1 1.7-9.1.2-4.7.2-9.6.2-14.5z"],"cc-amex":[576,512,[],"f1f3","M576 255.4c-37.9-.2-44.2-.9-54.5 5v-5c-45.3 0-53.5-1.7-64.9 5.2v-5.2h-78.2v5.1c-11.4-6.5-21.4-5.1-75.7-5.1v5.6c-6.3-3.7-14.5-5.6-24.3-5.6h-58c-3.5 3.8-12.5 13.7-15.7 17.2-12.7-14.1-10.5-11.6-15.5-17.2h-83.1v92.3h82c3.3-3.5 12.9-13.9 16.1-17.4 12.7 14.3 10.3 11.7 15.4 17.4h48.9c0-14.7.1-8.3.1-23 11.5.2 24.3-.2 34.3-6.2 0 13.9-.1 17.1-.1 29.2h39.6c0-18.5.1-7.4.1-25.3 6.2 0 7.7 0 9.4.1.1 1.3 0 0 0 25.2 152.8 0 145.9 1.1 156.7-4.5v4.5c34.8 0 54.8 2.2 67.5-6.1V432c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V228.3h26.6c4.2-10.1 2.2-5.3 6.4-15.3h19.2c4.2 10 2.2 5.2 6.4 15.3h52.9v-11.4c2.2 5 1.1 2.5 5.1 11.4h29.5c2.4-5.5 2.6-5.8 5.1-11.4v11.4h135.5v-25.1c6.4 0 8-.1 9.8.2 0 0-.2 10.9.1 24.8h66.5v-8.9c7.4 5.9 17.4 8.9 29.7 8.9h26.8c4.2-10.1 2.2-5.3 6.4-15.3h19c6.5 15 .2.5 6.6 15.3h52.8v-21.9c11.8 19.7 7.8 12.9 13.2 21.9h41.6v-92h-39.9v18.4c-12.2-20.2-6.3-10.4-11.2-18.4h-43.3v20.6c-6.2-14.6-4.6-10.8-8.8-20.6h-32.4c-.4 0-2.3.2-2.3-.3h-27.6c-12.8 0-23.1 3.2-30.7 9.3v-9.3h-39.9v5.3c-10.8-6.1-20.7-5.1-64.4-5.3-.1 0-11.6-.1-11.6 0h-103c-2.5 6.1-6.8 16.4-12.6 30-2.8-6-11-23.8-13.9-30h-46V157c-7.4-17.4-4.7-11-9-21.1H22.9c-3.4 7.9-13.7 32-23.1 53.9V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48v175.4zm-186.6-80.6c-.3.2-1.4 2.2-1.4 7.6 0 6 .9 7.7 1.1 7.9.2.1 1.1.5 3.4.5l7.3-16.9c-1.1 0-2.1-.1-3.1-.1-5.6 0-7 .7-7.3 1zm-19.9 130.9c9.2 3.3 11 9.5 11 18.4l-.1 13.8h-16.6l.1-11.5c0-11.8-3.8-13.8-14.8-13.8h-17.6l-.1 25.3h-16.6l.1-69.3h39.4c13 0 27.1 2.3 27.1 18.7-.1 7.6-4.2 15.3-11.9 18.4zm-6.3-15.4c0-6.4-5.6-7.4-10.7-7.4h-21v15.6h20.7c5.6 0 11-1.3 11-8.2zm181.7-7.1H575v-14.6h-32.9c-12.8 0-23.8 6.6-23.8 20.7 0 33 42.7 12.8 42.7 27.4 0 5.1-4.3 6.4-8.4 6.4h-32l-.1 14.8h32c8.4 0 17.6-1.8 22.5-8.9v-25.8c-10.5-13.8-39.3-1.3-39.3-13.5 0-5.8 4.6-6.5 9.2-6.5zm-99.2-.3v-14.3h-55.2l-.1 69.3h55.2l.1-14.3-38.6-.3v-13.8H445v-14.1h-37.8v-12.5h38.5zm42.2 40.1h-32.2l-.1 14.8h32.2c14.8 0 26.2-5.6 26.2-22 0-33.2-42.9-11.2-42.9-26.3 0-5.6 4.9-6.4 9.2-6.4h30.4v-14.6h-33.2c-12.8 0-23.5 6.6-23.5 20.7 0 33 42.7 12.5 42.7 27.4-.1 5.4-4.7 6.4-8.8 6.4zm-78.1-158.7c-17.4-.3-33.2-4.1-33.2 19.7 0 11.8 2.8 19.9 16.1 19.9h7.4l23.5-54.5h24.8l27.9 65.4v-65.4h25.3l29.1 48.1v-48.1h16.9v69H524l-31.2-51.9v51.9h-33.7l-6.6-15.3h-34.3l-6.4 15.3h-19.2c-22.8 0-33-11.8-33-34 0-23.3 10.5-35.3 34-35.3h16.1v15.2zm14.3 24.5h22.8l-11.2-27.6-11.6 27.6zm-72.6-39.6h-16.9v69.3h16.9v-69.3zm-38.1 37.3c9.5 3.3 11 9.2 11 18.4v13.5h-16.6c-.3-14.8 3.6-25.1-14.8-25.1h-18v25.1h-16.4v-69.3l39.1.3c13.3 0 27.4 2 27.4 18.4.1 8-4.3 15.7-11.7 18.7zm-6.7-15.3c0-6.4-5.6-7.4-10.7-7.4h-21v15.3h20.7c5.7 0 11-1.3 11-7.9zm-59.5-7.4v-14.6h-55.5v69.3h55.5v-14.3h-38.9v-13.8h37.8v-14.1h-37.8v-12.5h38.9zm-84.6 54.7v-54.2l-24 54.2H124l-24-54.2v54.2H66.2l-6.4-15.3H25.3l-6.4 15.3H1l29.7-69.3h24.5l28.1 65.7v-65.7h27.1l21.7 47 19.7-47h27.6v69.3h-16.8zM53.9 188.8l-11.5-27.6-11.2 27.6h22.7zm253 102.5c0 27.9-30.4 23.3-49.3 23.3l-.1 23.3h-32.2l-20.4-23-21.3 23h-65.4l.1-69.3h66.5l20.5 22.8 21-22.8H279c15.6 0 27.9 5.4 27.9 22.7zm-112.7 11.8l-17.9-20.2h-41.7v12.5h36.3v14.1h-36.3v13.8h40.6l19-20.2zM241 276l-25.3 27.4 25.3 28.1V276zm48.3 15.3c0-6.1-4.6-8.4-10.2-8.4h-21.5v17.6h21.2c5.9 0 10.5-2.8 10.5-9.2z"],"cc-apple-pay":[576,512,[],"f416","M302.2 218.4c0 17.2-10.5 27.1-29 27.1h-24.3v-54.2h24.4c18.4 0 28.9 9.8 28.9 27.1zm47.5 62.6c0 8.3 7.2 13.7 18.5 13.7 14.4 0 25.2-9.1 25.2-21.9v-7.7l-23.5 1.5c-13.3.9-20.2 5.8-20.2 14.4zM576 79v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM127.8 197.2c8.4.7 16.8-4.2 22.1-10.4 5.2-6.4 8.6-15 7.7-23.7-7.4.3-16.6 4.9-21.9 11.3-4.8 5.5-8.9 14.4-7.9 22.8zm60.6 74.5c-.2-.2-19.6-7.6-19.8-30-.2-18.7 15.3-27.7 16-28.2-8.8-13-22.4-14.4-27.1-14.7-12.2-.7-22.6 6.9-28.4 6.9-5.9 0-14.7-6.6-24.3-6.4-12.5.2-24.2 7.3-30.5 18.6-13.1 22.6-3.4 56 9.3 74.4 6.2 9.1 13.7 19.1 23.5 18.7 9.3-.4 13-6 24.2-6 11.3 0 14.5 6 24.3 5.9 10.2-.2 16.5-9.1 22.8-18.2 6.9-10.4 9.8-20.4 10-21zm135.4-53.4c0-26.6-18.5-44.8-44.9-44.8h-51.2v136.4h21.2v-46.6h29.3c26.8 0 45.6-18.4 45.6-45zm90 23.7c0-19.7-15.8-32.4-40-32.4-22.5 0-39.1 12.9-39.7 30.5h19.1c1.6-8.4 9.4-13.9 20-13.9 13 0 20.2 6 20.2 17.2v7.5l-26.4 1.6c-24.6 1.5-37.9 11.6-37.9 29.1 0 17.7 13.7 29.4 33.4 29.4 13.3 0 25.6-6.7 31.2-17.4h.4V310h19.6v-68zM516 210.9h-21.5l-24.9 80.6h-.4l-24.9-80.6H422l35.9 99.3-1.9 6c-3.2 10.2-8.5 14.2-17.9 14.2-1.7 0-4.9-.2-6.2-.3v16.4c1.2.4 6.5.5 8.1.5 20.7 0 30.4-7.9 38.9-31.8L516 210.9z"],"cc-diners-club":[576,512,[],"f24c","M239.7 79.9c-96.9 0-175.8 78.6-175.8 175.8 0 96.9 78.9 175.8 175.8 175.8 97.2 0 175.8-78.9 175.8-175.8 0-97.2-78.6-175.8-175.8-175.8zm-39.9 279.6c-41.7-15.9-71.4-56.4-71.4-103.8s29.7-87.9 71.4-104.1v207.9zm79.8.3V151.6c41.7 16.2 71.4 56.7 71.4 104.1s-29.7 87.9-71.4 104.1zM528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM329.7 448h-90.3c-106.2 0-193.8-85.5-193.8-190.2C45.6 143.2 133.2 64 239.4 64h90.3c105 0 200.7 79.2 200.7 193.8 0 104.7-95.7 190.2-200.7 190.2z"],"cc-discover":[576,512,[],"f1f2","M83 212.1c0 7.9-3.2 15.5-8.9 20.7-4.9 4.4-11.6 6.4-21.9 6.4H48V185h4.2c10.3 0 16.7 1.7 21.9 6.6 5.7 5 8.9 12.6 8.9 20.5zM504.8 184h-4.9v24.9h4.7c10.3 0 15.8-4.4 15.8-12.8 0-7.9-5.5-12.1-15.6-12.1zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM428 253h45.3v-13.8H444V217h28.3v-13.8H444V185h29.3v-14H428v82zm-86.2-82l35 84.2h8.6l35.5-84.2h-17.5l-22.2 55.2-21.9-55.2h-17.5zm-83 41.6c0 24.6 19.9 44.6 44.6 44.6 24.6 0 44.6-19.9 44.6-44.6 0-24.6-19.9-44.6-44.6-44.6-24.6 0-44.6 19.9-44.6 44.6zm-68-.5c0 32.5 33.6 52.5 63.3 38.2v-19c-19.3 19.3-46.8 5.8-46.8-19.2 0-23.7 26.7-39.1 46.8-19v-19c-30.2-15-63.3 6.8-63.3 38zm-33.9 28.3c-7.6 0-13.8-3.7-17.5-10.8l-10.3 9.9c17.8 26.1 56.6 18.2 56.6-11.3 0-13.1-5.4-19-23.6-25.6-9.6-3.4-12.3-5.9-12.3-10.3 0-8.7 14.5-14.1 24.9-2.5l8.4-10.8c-19.1-17.1-49.7-8.9-49.7 14.3 0 11.3 5.2 17.2 20.2 22.7 25.7 9.1 14.7 24.4 3.3 24.4zm-57.4-28.3c0-24.1-18-41.1-44.1-41.1H32v82h23.4c30.9 0 44.1-22.4 44.1-40.9zm23.4-41.1h-16v82h16v-82zM544 288c-33.3 20.8-226.4 124.4-416 160h401c8.2 0 15-6.8 15-15V288zm0-35l-25.9-34.5c12.1-2.5 18.7-10.6 18.7-23.2 0-28.5-30.3-24.4-52.9-24.4v82h16v-32.8h2.2l22.2 32.8H544z"],"cc-jcb":[576,512,[],"f24b","M431.5 244.3V212c41.2 0 38.5.2 38.5.2 7.3 1.3 13.3 7.3 13.3 16 0 8.8-6 14.5-13.3 15.8-1.2.4-3.3.3-38.5.3zm42.8 20.2c-2.8-.7-3.3-.5-42.8-.5v35c39.6 0 40 .2 42.8-.5 7.5-1.5 13.5-8 13.5-17 0-8.7-6-15.5-13.5-17zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM182 192.3h-57c0 67.1 10.7 109.7-35.8 109.7-19.5 0-38.8-5.7-57.2-14.8v28c30 8.3 68 8.3 68 8.3 97.9 0 82-47.7 82-131.2zm178.5 4.5c-63.4-16-165-14.9-165 59.3 0 77.1 108.2 73.6 165 59.2V287C312.9 311.7 253 309 253 256s59.8-55.6 107.5-31.2v-28zM544 286.5c0-18.5-16.5-30.5-38-32v-.8c19.5-2.7 30.3-15.5 30.3-30.2 0-19-15.7-30-37-31 0 0 6.3-.3-120.3-.3v127.5h122.7c24.3.1 42.3-12.9 42.3-33.2z"],"cc-mastercard":[576,512,[],"f1f1","M482.9 410.3c0 6.8-4.6 11.7-11.2 11.7-6.8 0-11.2-5.2-11.2-11.7 0-6.5 4.4-11.7 11.2-11.7 6.6 0 11.2 5.2 11.2 11.7zm-310.8-11.7c-7.1 0-11.2 5.2-11.2 11.7 0 6.5 4.1 11.7 11.2 11.7 6.5 0 10.9-4.9 10.9-11.7-.1-6.5-4.4-11.7-10.9-11.7zm117.5-.3c-5.4 0-8.7 3.5-9.5 8.7h19.1c-.9-5.7-4.4-8.7-9.6-8.7zm107.8.3c-6.8 0-10.9 5.2-10.9 11.7 0 6.5 4.1 11.7 10.9 11.7 6.8 0 11.2-4.9 11.2-11.7 0-6.5-4.4-11.7-11.2-11.7zm105.9 26.1c0 .3.3.5.3 1.1 0 .3-.3.5-.3 1.1-.3.3-.3.5-.5.8-.3.3-.5.5-1.1.5-.3.3-.5.3-1.1.3-.3 0-.5 0-1.1-.3-.3 0-.5-.3-.8-.5-.3-.3-.5-.5-.5-.8-.3-.5-.3-.8-.3-1.1 0-.5 0-.8.3-1.1 0-.5.3-.8.5-1.1.3-.3.5-.3.8-.5.5-.3.8-.3 1.1-.3.5 0 .8 0 1.1.3.5.3.8.3 1.1.5s.2.6.5 1.1zm-2.2 1.4c.5 0 .5-.3.8-.3.3-.3.3-.5.3-.8 0-.3 0-.5-.3-.8-.3 0-.5-.3-1.1-.3h-1.6v3.5h.8V426h.3l1.1 1.4h.8l-1.1-1.3zM576 81v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V81c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM64 220.6c0 76.5 62.1 138.5 138.5 138.5 27.2 0 53.9-8.2 76.5-23.1-72.9-59.3-72.4-171.2 0-230.5-22.6-15-49.3-23.1-76.5-23.1-76.4-.1-138.5 62-138.5 138.2zm224 108.8c70.5-55 70.2-162.2 0-217.5-70.2 55.3-70.5 162.6 0 217.5zm-142.3 76.3c0-8.7-5.7-14.4-14.7-14.7-4.6 0-9.5 1.4-12.8 6.5-2.4-4.1-6.5-6.5-12.2-6.5-3.8 0-7.6 1.4-10.6 5.4V392h-8.2v36.7h8.2c0-18.9-2.5-30.2 9-30.2 10.2 0 8.2 10.2 8.2 30.2h7.9c0-18.3-2.5-30.2 9-30.2 10.2 0 8.2 10 8.2 30.2h8.2v-23zm44.9-13.7h-7.9v4.4c-2.7-3.3-6.5-5.4-11.7-5.4-10.3 0-18.2 8.2-18.2 19.3 0 11.2 7.9 19.3 18.2 19.3 5.2 0 9-1.9 11.7-5.4v4.6h7.9V392zm40.5 25.6c0-15-22.9-8.2-22.9-15.2 0-5.7 11.9-4.8 18.5-1.1l3.3-6.5c-9.4-6.1-30.2-6-30.2 8.2 0 14.3 22.9 8.3 22.9 15 0 6.3-13.5 5.8-20.7.8l-3.5 6.3c11.2 7.6 32.6 6 32.6-7.5zm35.4 9.3l-2.2-6.8c-3.8 2.1-12.2 4.4-12.2-4.1v-16.6h13.1V392h-13.1v-11.2h-8.2V392h-7.6v7.3h7.6V416c0 17.6 17.3 14.4 22.6 10.9zm13.3-13.4h27.5c0-16.2-7.4-22.6-17.4-22.6-10.6 0-18.2 7.9-18.2 19.3 0 20.5 22.6 23.9 33.8 14.2l-3.8-6c-7.8 6.4-19.6 5.8-21.9-4.9zm59.1-21.5c-4.6-2-11.6-1.8-15.2 4.4V392h-8.2v36.7h8.2V408c0-11.6 9.5-10.1 12.8-8.4l2.4-7.6zm10.6 18.3c0-11.4 11.6-15.1 20.7-8.4l3.8-6.5c-11.6-9.1-32.7-4.1-32.7 15 0 19.8 22.4 23.8 32.7 15l-3.8-6.5c-9.2 6.5-20.7 2.6-20.7-8.6zm66.7-18.3H408v4.4c-8.3-11-29.9-4.8-29.9 13.9 0 19.2 22.4 24.7 29.9 13.9v4.6h8.2V392zm33.7 0c-2.4-1.2-11-2.9-15.2 4.4V392h-7.9v36.7h7.9V408c0-11 9-10.3 12.8-8.4l2.4-7.6zm40.3-14.9h-7.9v19.3c-8.2-10.9-29.9-5.1-29.9 13.9 0 19.4 22.5 24.6 29.9 13.9v4.6h7.9v-51.7zm7.6-75.1v4.6h.8V302h1.9v-.8h-4.6v.8h1.9zm6.6 123.8c0-.5 0-1.1-.3-1.6-.3-.3-.5-.8-.8-1.1-.3-.3-.8-.5-1.1-.8-.5 0-1.1-.3-1.6-.3-.3 0-.8.3-1.4.3-.5.3-.8.5-1.1.8-.5.3-.8.8-.8 1.1-.3.5-.3 1.1-.3 1.6 0 .3 0 .8.3 1.4 0 .3.3.8.8 1.1.3.3.5.5 1.1.8.5.3 1.1.3 1.4.3.5 0 1.1 0 1.6-.3.3-.3.8-.5 1.1-.8.3-.3.5-.8.8-1.1.3-.6.3-1.1.3-1.4zm3.2-124.7h-1.4l-1.6 3.5-1.6-3.5h-1.4v5.4h.8v-4.1l1.6 3.5h1.1l1.4-3.5v4.1h1.1v-5.4zm4.4-80.5c0-76.2-62.1-138.3-138.5-138.3-27.2 0-53.9 8.2-76.5 23.1 72.1 59.3 73.2 171.5 0 230.5 22.6 15 49.5 23.1 76.5 23.1 76.4.1 138.5-61.9 138.5-138.4z"],"cc-paypal":[576,512,[],"f1f4","M186.3 258.2c0 12.2-9.7 21.5-22 21.5-9.2 0-16-5.2-16-15 0-12.2 9.5-22 21.7-22 9.3 0 16.3 5.7 16.3 15.5zM80.5 209.7h-4.7c-1.5 0-3 1-3.2 2.7l-4.3 26.7 8.2-.3c11 0 19.5-1.5 21.5-14.2 2.3-13.4-6.2-14.9-17.5-14.9zm284 0H360c-1.8 0-3 1-3.2 2.7l-4.2 26.7 8-.3c13 0 22-3 22-18-.1-10.6-9.6-11.1-18.1-11.1zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM128.3 215.4c0-21-16.2-28-34.7-28h-40c-2.5 0-5 2-5.2 4.7L32 294.2c-.3 2 1.2 4 3.2 4h19c2.7 0 5.2-2.9 5.5-5.7l4.5-26.6c1-7.2 13.2-4.7 18-4.7 28.6 0 46.1-17 46.1-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.2 8.2-5.8-8.5-14.2-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9 0 20.2-4.9 26.5-11.9-.5 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H200c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm40.5 97.9l63.7-92.6c.5-.5.5-1 .5-1.7 0-1.7-1.5-3.5-3.2-3.5h-19.2c-1.7 0-3.5 1-4.5 2.5l-26.5 39-11-37.5c-.8-2.2-3-4-5.5-4h-18.7c-1.7 0-3.2 1.8-3.2 3.5 0 1.2 19.5 56.8 21.2 62.1-2.7 3.8-20.5 28.6-20.5 31.6 0 1.8 1.5 3.2 3.2 3.2h19.2c1.8-.1 3.5-1.1 4.5-2.6zm159.3-106.7c0-21-16.2-28-34.7-28h-39.7c-2.7 0-5.2 2-5.5 4.7l-16.2 102c-.2 2 1.3 4 3.2 4h20.5c2 0 3.5-1.5 4-3.2l4.5-29c1-7.2 13.2-4.7 18-4.7 28.4 0 45.9-17 45.9-45.8zm84.2 8.8h-19c-3.8 0-4 5.5-4.3 8.2-5.5-8.5-14-10-23.7-10-24.5 0-43.2 21.5-43.2 45.2 0 19.5 12.2 32.2 31.7 32.2 9.3 0 20.5-4.9 26.5-11.9-.3 1.5-1 4.7-1 6.2 0 2.3 1 4 3.2 4H484c2.7 0 5-2.9 5.5-5.7l10.2-64.3c.3-1.9-1.2-3.9-3.2-3.9zm47.5-33.3c0-2-1.5-3.5-3.2-3.5h-18.5c-1.5 0-3 1.2-3.2 2.7l-16.2 104-.3.5c0 1.8 1.5 3.5 3.5 3.5h16.5c2.5 0 5-2.9 5.2-5.7L544 191.2v-.3zm-90 51.8c-12.2 0-21.7 9.7-21.7 22 0 9.7 7 15 16.2 15 12 0 21.7-9.2 21.7-21.5.1-9.8-6.9-15.5-16.2-15.5z"],"cc-stripe":[576,512,[],"f1f5","M396.9 256.5c0 19.1-8.8 33.4-21.9 33.4-8.3 0-13.3-3-16.8-6.7l-.2-52.8c3.7-4.1 8.8-7 17-7 12.9-.1 21.9 14.5 21.9 33.1zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM122.2 281.1c0-42.3-54.3-34.7-54.3-50.7 0-5.5 4.6-7.7 12.1-7.7 10.8 0 24.5 3.3 35.3 9.1v-33.4c-11.8-4.7-23.5-6.5-35.3-6.5-28.8 0-48 15-48 40.2 0 39.3 54 32.9 54 49.9 0 6.6-5.7 8.7-13.6 8.7-11.8 0-26.9-4.9-38.9-11.3v33.9c13.2 5.7 26.6 8.1 38.8 8.1 29.6-.2 49.9-14.7 49.9-40.3zm68.9-86.9h-27v-30.8l-34.7 7.4-.2 113.9c0 21 15.8 36.5 36.9 36.5 11.6 0 20.2-2.1 24.9-4.7v-28.9c-4.5 1.8-27 8.3-27-12.6v-50.5h27v-30.3zm73.8 0c-4.7-1.7-21.3-4.8-29.6 10.5l-2.2-10.5h-30.7v124.5h35.5v-84.4c8.4-11 22.6-8.9 27.1-7.4v-32.7zm44.2 0h-35.7v124.5h35.7V194.2zm0-47.3l-35.7 7.6v28.9l35.7-7.6v-28.9zm122.7 108.8c0-41.3-23.5-63.8-48.4-63.8-13.9 0-22.9 6.6-27.8 11.1l-1.8-8.8h-31.3V360l35.5-7.5.1-40.2c5.1 3.7 12.7 9 25.1 9 25.4-.1 48.6-20.5 48.6-65.6zm112.2 1.2c0-36.4-17.6-65.1-51.3-65.1-33.8 0-54.3 28.7-54.3 64.9 0 42.8 24.2 64.5 58.8 64.5 17 0 29.7-3.9 39.4-9.2v-28.6c-9.7 4.9-20.8 7.9-34.9 7.9-13.8 0-26-4.9-27.6-21.5h69.5c.1-2 .4-9.4.4-12.9zm-51.6-36.1c-8.9 0-18.7 6.7-18.7 22.7h36.7c0-16-9.3-22.7-18-22.7z"],"cc-visa":[576,512,[],"f1f0","M470.1 231.3s7.6 37.2 9.3 45H446c3.3-8.9 16-43.5 16-43.5-.2.3 3.3-9.1 5.3-14.9l2.8 13.4zM576 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48zM152.5 331.2L215.7 176h-42.5l-39.3 106-4.3-21.5-14-71.4c-2.3-9.9-9.4-12.7-18.2-13.1H32.7l-.7 3.1c15.8 4 29.9 9.8 42.2 17.1l35.8 135h42.5zm94.4.2L272.1 176h-40.2l-25.1 155.4h40.1zm139.9-50.8c.2-17.7-10.6-31.2-33.7-42.3-14.1-7.1-22.7-11.9-22.7-19.2.2-6.6 7.3-13.4 23.1-13.4 13.1-.3 22.7 2.8 29.9 5.9l3.6 1.7 5.5-33.6c-7.9-3.1-20.5-6.6-36-6.6-39.7 0-67.6 21.2-67.8 51.4-.3 22.3 20 34.7 35.2 42.2 15.5 7.6 20.8 12.6 20.8 19.3-.2 10.4-12.6 15.2-24.1 15.2-16 0-24.6-2.5-37.7-8.3l-5.3-2.5-5.6 34.9c9.4 4.3 26.8 8.1 44.8 8.3 42.2.1 69.7-20.8 70-53zM528 331.4L495.6 176h-31.1c-9.6 0-16.9 2.8-21 12.9l-59.7 142.5H426s6.9-19.2 8.4-23.3H486c1.2 5.5 4.8 23.3 4.8 23.3H528z"],centercode:[512,512,[],"f380","M329.2 268.6c-3.8 35.2-35.4 60.6-70.6 56.8-35.2-3.8-60.6-35.4-56.8-70.6 3.8-35.2 35.4-60.6 70.6-56.8 35.1 3.8 60.6 35.4 56.8 70.6zm-85.8 235.1C96.7 496-8.2 365.5 10.1 224.3c11.2-86.6 65.8-156.9 139.1-192 161-77.1 349.7 37.4 354.7 216.6 4.1 147-118.4 262.2-260.5 254.8zm179.9-180c27.9-118-160.5-205.9-237.2-234.2-57.5 56.3-69.1 188.6-33.8 344.4 68.8 15.8 169.1-26.4 271-110.2z"],chrome:[496,512,[],"f268","M131.5 217.5L55.1 100.1c47.6-59.2 119-91.8 192-92.1 42.3-.3 85.5 10.5 124.8 33.2 43.4 25.2 76.4 61.4 97.4 103L264 133.4c-58.1-3.4-113.4 29.3-132.5 84.1zm32.9 38.5c0 46.2 37.4 83.6 83.6 83.6s83.6-37.4 83.6-83.6-37.4-83.6-83.6-83.6-83.6 37.3-83.6 83.6zm314.9-89.2L339.6 174c37.9 44.3 38.5 108.2 6.6 157.2L234.1 503.6c46.5 2.5 94.4-7.7 137.8-32.9 107.4-62 150.9-192 107.4-303.9zM133.7 303.6L40.4 120.1C14.9 159.1 0 205.9 0 256c0 124 90.8 226.7 209.5 244.9l63.7-124.8c-57.6 10.8-113.2-20.8-139.5-72.5z"],cloudscale:[448,512,[],"f383","M318.1 154l-9.4 7.6c-22.5-19.3-51.5-33.6-83.3-33.6C153.8 128 96 188.8 96 260.3c0 6.6.4 13.1 1.4 19.4-2-56 41.8-97.4 92.6-97.4 24.2 0 46.2 9.4 62.6 24.7l-25.2 20.4c-8.3-.9-16.8 1.8-23.1 8.1-11.1 11-11.1 28.9 0 40 11.1 11 28.9 11 40 0 6.3-6.3 9-14.9 8.1-23.1l75.2-88.8c6.3-6.5-3.3-15.9-9.5-9.6zm-83.8 111.5c-5.6 5.5-14.6 5.5-20.2 0-5.6-5.6-5.6-14.6 0-20.2s14.6-5.6 20.2 0 5.6 14.7 0 20.2zM224 32C100.5 32 0 132.5 0 256s100.5 224 224 224 224-100.5 224-224S347.5 32 224 32zm0 384c-88.2 0-160-71.8-160-160S135.8 96 224 96s160 71.8 160 160-71.8 160-160 160z"],cloudsmith:[332,512,[],"f384","M332.5 419.9c0 46.4-37.6 84.1-84 84.1s-84-37.7-84-84.1 37.6-84 84-84 84 37.6 84 84zm-84-243.9c46.4 0 80-37.6 80-84s-33.6-84-80-84-88 37.6-88 84-29.6 76-76 76-84 41.6-84 88 37.6 80 84 80 84-33.6 84-80 33.6-80 80-80z"],cloudversify:[616,512,[],"f385","M148.6 304c8.2 68.5 67.4 115.5 146 111.3 51.2 43.3 136.8 45.8 186.4-5.6 69.2 1.1 118.5-44.6 131.5-99.5 14.8-62.5-18.2-132.5-92.1-155.1-33-88.1-131.4-101.5-186.5-85-57.3 17.3-84.3 53.2-99.3 109.7-7.8 2.7-26.5 8.9-45 24.1 11.7 0 15.2 8.9 15.2 19.5v20.4c0 10.7-8.7 19.5-19.5 19.5h-20.2c-10.7 0-19.5-6-19.5-16.7V240H98.8C95 240 88 244.3 88 251.9v40.4c0 6.4 5.3 11.8 11.7 11.8h48.9zm227.4 8c-10.7 46.3 21.7 72.4 55.3 86.8C324.1 432.6 259.7 348 296 288c-33.2 21.6-33.7 71.2-29.2 92.9-17.9-12.4-53.8-32.4-57.4-79.8-3-39.9 21.5-75.7 57-93.9C297 191.4 369.9 198.7 400 248c-14.1-48-53.8-70.1-101.8-74.8 30.9-30.7 64.4-50.3 114.2-43.7 69.8 9.3 133.2 82.8 67.7 150.5 35-16.3 48.7-54.4 47.5-76.9l10.5 19.6c11.8 22 15.2 47.6 9.4 72-9.2 39-40.6 68.8-79.7 76.5-32.1 6.3-83.1-5.1-91.8-59.2zM128 208H88.2c-8.9 0-16.2-7.3-16.2-16.2v-39.6c0-8.9 7.3-16.2 16.2-16.2H128c8.9 0 16.2 7.3 16.2 16.2v39.6c0 8.9-7.3 16.2-16.2 16.2zM10.1 168C4.5 168 0 163.5 0 157.9v-27.8c0-5.6 4.5-10.1 10.1-10.1h27.7c5.5 0 10.1 4.5 10.1 10.1v27.8c0 5.6-4.5 10.1-10.1 10.1H10.1zM168 142.7v-21.4c0-5.1 4.2-9.3 9.3-9.3h21.4c5.1 0 9.3 4.2 9.3 9.3v21.4c0 5.1-4.2 9.3-9.3 9.3h-21.4c-5.1 0-9.3-4.2-9.3-9.3zM56 235.5v25c0 6.3-5.1 11.5-11.4 11.5H19.4C13.1 272 8 266.8 8 260.5v-25c0-6.3 5.1-11.5 11.4-11.5h25.1c6.4 0 11.5 5.2 11.5 11.5z"],codepen:[512,512,[],"f1cb","M502.285 159.704l-234-156c-7.987-4.915-16.511-4.96-24.571 0l-234 156C3.714 163.703 0 170.847 0 177.989v155.999c0 7.143 3.714 14.286 9.715 18.286l234 156.022c7.987 4.915 16.511 4.96 24.571 0l234-156.022c6-3.999 9.715-11.143 9.715-18.286V177.989c-.001-7.142-3.715-14.286-9.716-18.285zM278 63.131l172.286 114.858-76.857 51.429L278 165.703V63.131zm-44 0v102.572l-95.429 63.715-76.857-51.429L234 63.131zM44 219.132l55.143 36.857L44 292.846v-73.714zm190 229.715L61.714 333.989l76.857-51.429L234 346.275v102.572zm22-140.858l-77.715-52 77.715-52 77.715 52-77.715 52zm22 140.858V346.275l95.429-63.715 76.857 51.429L278 448.847zm190-156.001l-55.143-36.857L468 219.132v73.714z"],codiepie:[472,512,[],"f284","M422.5 202.9c30.7 0 33.5 53.1-.3 53.1h-10.8v44.3h-26.6v-97.4h37.7zM472 352.6C429.9 444.5 350.4 504 248 504 111 504 0 393 0 256S111 8 248 8c97.4 0 172.8 53.7 218.2 138.4l-186 108.8L472 352.6zm-38.5 12.5l-60.3-30.7c-27.1 44.3-70.4 71.4-122.4 71.4-82.5 0-149.2-66.7-149.2-148.9 0-82.5 66.7-149.2 149.2-149.2 48.4 0 88.9 23.5 116.9 63.4l59.5-34.6c-40.7-62.6-104.7-100-179.2-100-121.2 0-219.5 98.3-219.5 219.5S126.8 475.5 248 475.5c78.6 0 146.5-42.1 185.5-110.4z"],connectdevelop:[576,512,[],"f20e","M550.5 241l-50.089-86.786c1.071-2.142 1.875-4.553 1.875-7.232 0-8.036-6.696-14.733-14.732-15.001l-55.447-95.893c.536-1.607 1.071-3.214 1.071-4.821 0-8.571-6.964-15.268-15.268-15.268-4.821 0-8.839 2.143-11.786 5.625H299.518C296.839 18.143 292.821 16 288 16s-8.839 2.143-11.518 5.625H170.411C167.464 18.143 163.447 16 158.625 16c-8.303 0-15.268 6.696-15.268 15.268 0 1.607.536 3.482 1.072 4.821l-55.983 97.233c-5.356 2.41-9.107 7.5-9.107 13.661 0 .535.268 1.071.268 1.607l-53.304 92.143c-7.232 1.339-12.59 7.5-12.59 15 0 7.232 5.089 13.393 12.054 15l55.179 95.358c-.536 1.607-.804 2.946-.804 4.821 0 7.232 5.089 13.393 12.054 14.732l51.697 89.732c-.536 1.607-1.071 3.482-1.071 5.357 0 8.571 6.964 15.268 15.268 15.268 4.821 0 8.839-2.143 11.518-5.357h106.875C279.161 493.857 283.447 496 288 496s8.839-2.143 11.518-5.357h107.143c2.678 2.946 6.696 4.821 10.982 4.821 8.571 0 15.268-6.964 15.268-15.268 0-1.607-.267-2.946-.803-4.285l51.697-90.268c6.964-1.339 12.054-7.5 12.054-14.732 0-1.607-.268-3.214-.804-4.821l54.911-95.358c6.964-1.339 12.322-7.5 12.322-15-.002-7.232-5.092-13.393-11.788-14.732zM153.535 450.732l-43.66-75.803h43.66v75.803zm0-83.839h-43.66c-.268-1.071-.804-2.142-1.339-3.214l44.999-47.41v50.624zm0-62.411l-50.357 53.304c-1.339-.536-2.679-1.34-4.018-1.607L43.447 259.75c.535-1.339.535-2.679.535-4.018s0-2.41-.268-3.482l51.965-90c2.679-.268 5.357-1.072 7.768-2.679l50.089 51.965v92.946zm0-102.322l-45.803-47.41c1.339-2.143 2.143-4.821 2.143-7.767 0-.268-.268-.804-.268-1.072l43.928-15.804v72.053zm0-80.625l-43.66 15.804 43.66-75.536v59.732zm326.519 39.108l.804 1.339L445.5 329.125l-63.75-67.232 98.036-101.518.268.268zM291.75 355.107l11.518 11.786H280.5l11.25-11.786zm-.268-11.25l-83.303-85.446 79.553-84.375 83.036 87.589-79.286 82.232zm5.357 5.893l79.286-82.232 67.5 71.25-5.892 28.125H313.714l-16.875-17.143zM410.411 44.393c1.071.536 2.142 1.072 3.482 1.34l57.857 100.714v.536c0 2.946.803 5.624 2.143 7.767L376.393 256l-83.035-87.589L410.411 44.393zm-9.107-2.143L287.732 162.518l-57.054-60.268 166.339-60h4.287zm-123.483 0c2.678 2.678 6.16 4.285 10.179 4.285s7.5-1.607 10.179-4.285h75L224.786 95.821 173.893 42.25h103.928zm-116.249 5.625l1.071-2.142a33.834 33.834 0 0 0 2.679-.804l51.161 53.84-54.911 19.821V47.875zm0 79.286l60.803-21.964 59.732 63.214-79.553 84.107-40.982-42.053v-83.304zm0 92.678L198 257.607l-36.428 38.304v-76.072zm0 87.858l42.053-44.464 82.768 85.982-17.143 17.678H161.572v-59.196zm6.964 162.053c-1.607-1.607-3.482-2.678-5.893-3.482l-1.071-1.607v-89.732h99.91l-91.607 94.821h-1.339zm129.911 0c-2.679-2.41-6.428-4.285-10.447-4.285s-7.767 1.875-10.447 4.285h-96.429l91.607-94.821h38.304l91.607 94.821H298.447zm120-11.786l-4.286 7.5c-1.339.268-2.41.803-3.482 1.339l-89.196-91.875h114.376l-17.412 83.036zm12.856-22.232l12.858-60.803h21.964l-34.822 60.803zm34.822-68.839h-20.357l4.553-21.16 17.143 18.214c-.535.803-1.071 1.874-1.339 2.946zm66.161-107.411l-55.447 96.697c-1.339.535-2.679 1.071-4.018 1.874l-20.625-21.964 34.554-163.928 45.803 79.286c-.267 1.339-.803 2.678-.803 4.285 0 1.339.268 2.411.536 3.75z"],contao:[512,512,[],"f26d","M45.4 305c14.4 67.1 26.4 129 68.2 175H34c-18.7 0-34-15.2-34-34V66c0-18.7 15.2-34 34-34h57.7C77.9 44.6 65.6 59.2 54.8 75.6c-45.4 70-27 146.8-9.4 229.4zM478 32h-90.2c21.4 21.4 39.2 49.5 52.7 84.1l-137.1 29.3c-14.9-29-37.8-53.3-82.6-43.9-24.6 5.3-41 19.3-48.3 34.6-8.8 18.7-13.2 39.8 8.2 140.3 21.1 100.2 33.7 117.7 49.5 131.2 12.9 11.1 33.4 17 58.3 11.7 44.5-9.4 55.7-40.7 57.4-73.2l137.4-29.6c3.2 71.5-18.7 125.2-57.4 163.6H478c18.7 0 34-15.2 34-34V66c0-18.8-15.2-34-34-34z"],cpanel:[640,512,[],"f388","M52.9 213.7h40l-6.2 23.6c-1.9 6.5-7.4 10.9-14.3 10.9H53.8c-24.9 0-24.7 37.4 0 37.4h11.3c4.2 0 7.6 3.9 6.4 8.3L64.4 320H52c-33.5 0-59-31.4-50.3-65.2 7.3-27 28.3-41.1 51.2-41.1M73.1 320L108 189.9c1.8-6.4 7.2-10.9 14.3-10.9h37c24.1 0 45.4 16.4 51 41.2 6.6 29.1-14.5 65.3-51.7 65.3h-32l6.4-23.8c1.8-6.2 7.3-10.8 14.3-10.8h10.3c12.4 0 20.8-11.7 18.3-22.6-2.1-9.2-9.9-14.8-18.3-14.8h-19.8L112 309.2c-1.9 6.2-7.4 10.7-14.2 10.7l-24.7.1m220.6-69.4c.3-1 1.9-5.3-2.1-5.3h-57.5c-9.7 0-16.6-8.9-14.2-18.5l3.5-13.4h77.9c18.8 0 33.3 17.6 28.5 36.8l-14 51.8c-2.8 10.6-12.2 17.8-23.4 17.8l-57.5-.2c-42.9 0-38.5-63.8.7-63.8H284l-3.5 13.2c-1.9 6.2-7.4 10.8-14.2 10.8h-21.6c-5.3 0-5.3 7.9 0 7.9h34.9c4.6 0 5.1-3.9 5.5-5.3l8.6-31.8m103.1-36.9c34.4 0 59.3 32.3 50.3 65.4l-8.8 33.1c-1.2 4.9-5.7 7.8-10.3 7.8h-19.1c-4.5 0-7.6-4-6.4-8.3l10.6-40c3.3-11.6-5.6-23.4-18.1-23.4h-19.8l-17.2 64c-1.2 4.8-5.6 7.8-10.4 7.8h-18.9c-4.2 0-7.6-3.9-6.4-8.3l26.2-98h48.3M498 251.6l-8 30c-.9 3.3 1.5 6.7 5.1 6.7h73.3l-5.7 21c-1.9 6.2-7.4 10.7-14.2 10.7h-66.7c-20 0-33.3-19-28.3-36.7l10.8-40c4.8-17.6 20.7-29.6 38.6-29.6h47.3c19 0 33.2 17.7 28.3 36.8l-3.2 12c-2.9 11-12.7 17.6-23.2 17.6h-53.4l3.5-13c1.6-6.2 7.2-10.8 14.2-10.8H538c2 0 3.3-1 3.9-3l.7-2.6c.7-2.7-1.3-5.1-3.9-5.1h-32.9c-4.1 0-6.9 2.1-7.8 6zm70.2 68.4l35.6-133.1c1.2-4.7 5.5-7.9 10.4-7.9h18.9c4.5 0 7.7 4 6.5 8.3l-26.5 98.2c-5.1 20.7-24.2 34.5-44.9 34.5"],"creative-commons":[512,512,[],"f25e","M255.547 8C392.884 8 504 114.439 504 256.004 504 405.979 381.106 504 255.562 504 122.319 504 8 394.557 8 256.004 8 124.825 113.486 8 255.547 8zm.899 44.734c-120.341 0-203.727 100.568-203.727 203.278 0 106.515 88.984 202.394 203.727 202.394 101.528 0 202.821-79.442 202.821-202.387-.001-114.773-91.773-203.285-202.821-203.285zm-3.108 162.093l-33.225 17.275c-5.395-11.203-15.25-19.926-27.459-19.926-22.134 0-33.217 14.609-33.217 43.842 0 23.842 9.446 43.842 33.217 43.842 14.469 0 24.653-7.091 30.566-21.259l30.551 15.5c-12.813 23.899-36.887 38.975-65.101 38.975-43.162 0-73.959-27.272-73.959-77.052 0-49.541 32.706-77.059 72.634-77.059 30.714-.013 52.701 11.946 65.993 35.862zm143.044 0l-32.775 17.275c-5.517-11.482-15.324-19.926-27.9-19.926-22.142 0-33.225 14.609-33.225 43.842 0 23.906 9.502 43.842 33.225 43.842 14.454 0 24.645-7.091 30.543-21.259l31 15.5c-13.363 23.869-37.451 38.975-65.086 38.975-43.439 0-73.959-26.988-73.959-77.052 0-49.523 32.698-77.059 72.626-77.059 30.706-.013 52.569 11.946 65.551 35.862z"],css3:[512,512,[],"f13c","M480 32l-64 368-223.3 80L0 400l19.6-94.8h82l-8 40.6L210 390.2l134.1-44.4 18.8-97.1H29.5l16-82h333.7l10.5-52.7H56.3l16.3-82H480z"],"css3-alt":[384,512,[],"f38b","M0 32l34.9 395.8L192 480l157.1-52.2L384 32H0zm313.1 80l-4.8 47.3L193 208.6l-.3.1h111.5l-12.8 146.6-98.2 28.7-98.8-29.2-6.4-73.9h48.9l3.2 38.3 52.6 13.3 54.7-15.4 3.7-61.6-166.3-.5v-.1l-.2.1-3.6-46.3L193.1 162l6.5-2.7H76.7L70.9 112h242.2z"],cuttlefish:[440,512,[],"f38c","M344 305.5c-17.5 31.6-57.4 54.5-96 54.5-56.6 0-104-47.4-104-104s47.4-104 104-104c38.6 0 78.5 22.9 96 54.5 13.7-50.9 41.7-93.3 87-117.8C385.7 39.1 320.5 8 248 8 111 8 0 119 0 256s111 248 248 248c72.5 0 137.7-31.1 183-80.7-45.3-24.5-73.3-66.9-87-117.8z"],"d-and-d":[576,512,[],"f38d","M82.5 98.9c-.6-17.2 2-33.8 12.7-48.2.3 7.4 1.2 14.5 4.2 21.6 5.9-27.5 19.7-49.3 42.3-65.5-1.9 5.9-3.5 11.8-3 17.7 8.7-7.4 18.8-17.8 44.4-22.7 14.7-2.8 29.7-2 42.1 1 38.5 9.3 61 34.3 69.7 72.3 5.3 23.1.7 45-8.3 66.4-5.2 12.4-12 24.4-20.7 35.1-2-1.9-3.9-3.8-5.8-5.6-42.8-40.8-26.8-25.2-37.4-37.4-1.1-1.2-1-2.2-.1-3.6 8.3-13.5 11.8-28.2 10-44-1.1-9.8-4.3-18.9-11.3-26.2-14.5-15.3-39.2-15-53.5.6-11.4 12.5-14.1 27.4-10.9 43.6.2 1.3.4 2.7 0 3.9-3.4 13.7-4.6 27.6-2.5 41.6.1.5.1 1.1.1 1.6 0 .3-.1.5-.2 1.1-21.8-11-36-28.3-43.2-52.2-8.3 17.8-11.1 35.5-6.6 54.1-15.6-15.2-21.3-34.3-22-55.2zm469.6 123.2c-11.6-11.6-25-20.4-40.1-26.6-12.8-5.2-26-7.9-39.9-7.1-10 .6-19.6 3.1-29 6.4-2.5.9-5.1 1.6-7.7 2.2-4.9 1.2-7.3-3.1-4.7-6.8 3.2-4.6 3.4-4.2 15-12 .6-.4 1.2-.8 2.2-1.5h-2.5c-.6 0-1.2.2-1.9.3-19.3 3.3-30.7 15.5-48.9 29.6-10.4 8.1-13.8 3.8-12-.5 1.4-3.5 3.3-6.7 5.1-10 1-1.8 2.3-3.4 3.5-5.1-.2-.2-.5-.3-.7-.5-27 18.3-46.7 42.4-57.7 73.3.3.3.7.6 1 .9.3-.6.5-1.2.9-1.7 10.4-12.1 22.8-21.8 36.6-29.8 18.2-10.6 37.5-18.3 58.7-20.2 4.3-.4 8.7-.1 13.1-.1-1.8.7-3.5.9-5.3 1.1-18.5 2.4-35.5 9-51.5 18.5-30.2 17.9-54.5 42.2-75.1 70.4-.3.4-.4.9-.7 1.3 14.5 5.3 24 17.3 36.1 25.6.2-.1.3-.2.4-.4l1.2-2.7c12.2-26.9 27-52.3 46.7-74.5 16.7-18.8 38-25.3 62.5-20 5.9 1.3 11.4 4.4 17.2 6.8 2.3-1.4 5.1-3.2 8-4.7 8.4-4.3 17.4-7 26.7-9 14.7-3.1 29.5-4.9 44.5-1.3v-.5c-.5-.4-1.2-.8-1.7-1.4zM316.7 397.6c-39.4-33-22.8-19.5-42.7-35.6-.8.9 0-.2-1.9 3-11.2 19.1-25.5 35.3-44 47.6-10.3 6.8-21.5 11.8-34.1 11.8-21.6 0-38.2-9.5-49.4-27.8-12-19.5-13.3-40.7-8.2-62.6 7.8-33.8 30.1-55.2 38.6-64.3-18.7-6.2-33 1.7-46.4 13.9.8-13.9 4.3-26.2 11.8-37.3-24.3 10.6-45.9 25-64.8 43.9-.3-5.8 5.4-43.7 5.6-44.7.3-2.7-.6-5.3-3-7.4-24.2 24.7-44.5 51.8-56.1 84.6 7.4-5.9 14.9-11.4 23.6-16.2-8.3 22.3-19.6 52.8-7.8 101.1 4.6 19 11.9 36.8 24.1 52.3 2.9 3.7 6.3 6.9 9.5 10.3.2-.2.4-.3.6-.5-1.4-7-2.2-14.1-1.5-21.9 2.2 3.2 3.9 6 5.9 8.6 12.6 16 28.7 27.4 47.2 35.6 25 11.3 51.1 13.3 77.9 8.6 54.9-9.7 90.7-48.6 116-98.8 1-1.8.6-2.9-.9-4.2zm172-46.4c-9.5-3.1-22.2-4.2-28.7-2.9 9.9 4 14.1 6.6 18.8 12 12.6 14.4 10.4 34.7-5.4 45.6-11.7 8.1-24.9 10.5-38.9 9.1-1.2-.1-2.3-.4-3-.6 2.8-3.7 6-7 8.1-10.8 9.4-16.8 5.4-42.1-8.7-56.1-2.1-2.1-4.6-3.9-7-5.9-.3 1.3-.1 2.1.1 2.8 4.2 16.6-8.1 32.4-24.8 31.8-7.6-.3-13.9-3.8-19.6-8.5-19.5-16.1-39.1-32.1-58.5-48.3-5.9-4.9-12.5-8.1-20.1-8.7-4.6-.4-9.3-.6-13.9-.9-5.9-.4-8.8-2.8-10.4-8.4-.9-3.4-1.5-6.8-2.2-10.2-1.5-8.1-6.2-13-14.3-14.2-4.4-.7-8.9-1-13.3-1.5-13-1.4-19.8-7.4-22.6-20.3-5 11-1.6 22.4 7.3 29.9 4.5 3.8 9.3 7.3 13.8 11.2 4.6 3.8 7.4 8.7 7.9 14.8.4 4.7.8 9.5 1.8 14.1 2.2 10.6 8.9 18.4 17 25.1 16.5 13.7 33 27.3 49.5 41.1 17.9 15 13.9 32.8 13 56-.9 22.9 12.2 42.9 33.5 51.2 1 .4 2 .6 3.6 1.1-15.7-18.2-10.1-44.1.7-52.3.3 2.2.4 4.3.9 6.4 9.4 44.1 45.4 64.2 85 56.9 16-2.9 30.6-8.9 42.9-19.8 2-1.8 3.7-4.1 5.9-6.5-19.3 4.6-35.8.1-50.9-10.6.7-.3 1.3-.3 1.9-.3 21.3 1.8 40.6-3.4 57-17.4 19.5-16.6 26.6-42.9 17.4-66-8.3-20.1-23.6-32.3-43.8-38.9zM99.4 179.3c-5.3-9.2-13.2-15.6-22.1-21.3 13.7-.5 26.6.2 39.6 3.7-7-12.2-8.5-24.7-5-38.7 5.3 11.9 13.7 20.1 23.6 26.8 19.7 13.2 35.7 19.6 46.7 30.2 3.4 3.3 6.3 7.1 9.6 10.9-.8-2.1-1.4-4.1-2.2-6-5-10.6-13-18.6-22.6-25-1.8-1.2-2.8-2.5-3.4-4.5-3.3-12.5-3-25.1-.7-37.6 1-5.5 2.8-10.9 4.5-16.3.8-2.4 2.3-4.6 4-6.6.6 6.9 0 25.5 19.6 46 10.8 11.3 22.4 21.9 33.9 32.7 9 8.5 18.3 16.7 25.5 26.8 1.1 1.6 2.2 3.3 3.8 4.7-5-13-14.2-24.1-24.2-33.8-9.6-9.3-19.4-18.4-29.2-27.4-3.3-3-4.6-6.7-5.1-10.9-1.2-10.4 0-20.6 4.3-30.2.5-1 1.1-2 1.9-3.3.5 4.2.6 7.9 1.4 11.6 4.8 23.1 20.4 36.3 49.3 63.5 10 9.4 19.3 19.2 25.6 31.6 4.8 9.3 7.3 19 5.7 29.6-.1.6.5 1.7 1.1 2 6.2 2.6 10 6.9 9.7 14.3 7.7-2.6 12.5-8 16.4-14.5 4.2 20.2-9.1 50.3-27.2 58.7.4-4.5 5-23.4-16.5-27.7-6.8-1.3-12.8-1.3-22.9-2.1 4.7-9 10.4-20.6.5-22.4-24.9-4.6-52.8 1.9-57.8 4.6 8.2.4 16.3 1 23.5 3.3-2 6.5-4 12.7-5.8 18.9-1.9 6.5 2.1 14.6 9.3 9.6 1.2-.9 2.3-1.9 3.3-2.7-3.1 17.9-2.9 15.9-2.8 18.3.3 10.2 9.5 7.8 15.7 7.3-2.5 11.8-29.5 27.3-45.4 25.8 7-4.7 12.7-10.3 15.9-17.9-6.5.8-12.9 1.6-19.2 2.4l-.3-.9c4.7-3.4 8-7.8 10.2-13.1 8.7-21.1-3.6-38-25-39.9-9.1-.8-17.8.8-25.9 5.5 6.2-15.6 17.2-26.6 32.6-34.5-15.2-4.3-8.9-2.7-24.6-6.3 14.6-9.3 30.2-13.2 46.5-14.6-5.2-3.2-48.1-3.6-70.2 20.9 7.9 1.4 15.5 2.8 23.2 4.2-23.8 7-44 19.7-62.4 35.6 1.1-4.8 2.7-9.5 3.3-14.3.6-4.5.8-9.2.1-13.6-1.5-9.4-8.9-15.1-19.7-16.3-7.9-.9-15.6.1-23.3 1.3-.9.1-1.7.3-2.9 0 15.8-14.8 36-21.7 53.1-33.5 6-4.5 6.8-8.2 3-14.9zm128.4 26.8c3.3 16 12.6 25.5 23.8 24.3-4.6-11.3-12.1-19.5-23.8-24.3z"],dashcube:[448,512,[],"f210","M326.6 104H110.4c-51.1 0-91.2 43.3-91.2 93.5V427c0 50.5 40.1 85 91.2 85h227.2c51.1 0 91.2-34.5 91.2-85V0L326.6 104zM153.9 416.5c-17.7 0-32.4-15.1-32.4-32.8V240.8c0-17.7 14.7-32.5 32.4-32.5h140.7c17.7 0 32 14.8 32 32.5v123.5l51.1 52.3H153.9z"],delicious:[448,512,[],"f1a5","M446.5 68c-.4-1.5-.9-3-1.4-4.5-.9-2.5-2-4.8-3.3-7.1-1.4-2.4-3-4.8-4.7-6.9-2.1-2.5-4.4-4.8-6.9-6.8-1.1-.9-2.2-1.7-3.3-2.5-1.3-.9-2.6-1.7-4-2.4-1.8-1-3.6-1.8-5.5-2.5-1.7-.7-3.5-1.3-5.4-1.7-3.8-1-7.9-1.5-12-1.5H48C21.5 32 0 53.5 0 80v352c0 4.1.5 8.2 1.5 12 2 7.7 5.8 14.6 11 20.3 1 1.1 2.1 2.2 3.3 3.3 5.7 5.2 12.6 9 20.3 11 3.8 1 7.9 1.5 12 1.5h352c26.5 0 48-21.5 48-48V80c-.1-4.1-.6-8.2-1.6-12zM416 432c0 8.8-7.2 16-16 16H224V256H32V80c0-8.8 7.2-16 16-16h176v192h192v176z"],deploydog:[512,512,[],"f38e","M382.2 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.6 0-33.2 16.4-33.2 32.6zM188.5 136h51.7v239.6h-51.7v-20.7c-19.8 24.8-52.8 24.1-73.8 14.7-26.2-11.7-44.3-38.1-44.3-71.8 0-29.8 14.8-57.9 43.3-70.8 20.2-9.1 52.7-10.6 74.8 12.9V136zm-64.7 161.8c0 18.2 13.6 33.5 33.2 33.5 19.8 0 33.2-16.4 33.2-32.9 0-17.1-13.7-33.2-33.2-33.2-19.7 0-33.2 16.4-33.2 32.6zM448 96c17.5 0 32 14.4 32 32v256c0 17.5-14.4 32-32 32H64c-17.5 0-32-14.4-32-32V128c0-17.5 14.4-32 32-32h384m0-32H64C28.8 64 0 92.8 0 128v256c0 35.2 28.8 64 64 64h384c35.2 0 64-28.8 64-64V128c0-35.2-28.8-64-64-64z"],deskpro:[480,512,[],"f38f","M205.9 512l31.1-38.4c12.3-.2 25.6-1.4 36.5-6.6 38.9-18.6 38.4-61.9 38.3-63.8-.1-5-.8-4.4-28.9-37.4H362c-.2 50.1-7.3 68.5-10.2 75.7-9.4 23.7-43.9 62.8-95.2 69.4-8.7 1.1-32.8 1.2-50.7 1.1zm200.4-167.7c38.6 0 58.5-13.6 73.7-30.9l-175.5-.3-17.4 31.3 119.2-.1zm-43.6-223.9v168.3h-73.5l-32.7 55.5H250c-52.3 0-58.1-56.5-58.3-58.9-1.2-13.2-21.3-11.6-20.1 1.8 1.4 15.8 8.8 40 26.4 57.1h-91c-25.5 0-110.8-26.8-107-114V16.9C0 .9 9.7.3 15 .1h82c.2 0 .3.1.5.1 4.3-.4 50.1-2.1 50.1 43.7 0 13.3 20.2 13.4 20.2 0 0-18.2-5.5-32.8-15.8-43.7h84.2c108.7-.4 126.5 79.4 126.5 120.2zm-132.5 56l64 29.3c13.3-45.5-42.2-71.7-64-29.3z"],deviantart:[320,512,[],"f1bd","M320 93.2l-98.2 179.1 7.4 9.5H320v127.7H159.1l-13.5 9.2-43.7 84c-.3 0-8.6 8.6-9.2 9.2H0v-93.2l93.2-179.4-7.4-9.2H0V102.5h156l13.5-9.2 43.7-84c.3 0 8.6-8.6 9.2-9.2H320v93.1z"],digg:[512,512,[],"f1a6","M81.7 172.3H0v174.4h132.7V96h-51v76.3zm0 133.4H50.9v-92.3h30.8v92.3zm297.2-133.4v174.4h81.8v28.5h-81.8V416H512V172.3H378.9zm81.8 133.4h-30.8v-92.3h30.8v92.3zm-235.6 41h82.1v28.5h-82.1V416h133.3V172.3H225.1v174.4zm51.2-133.3h30.8v92.3h-30.8v-92.3zM153.3 96h51.3v51h-51.3V96zm0 76.3h51.3v174.4h-51.3V172.3z"],"digital-ocean":[512,512,[],"f391","M256 504v-96.1c101.8 0 180.8-100.9 141.7-208-14.3-39.6-46.1-71.4-85.8-85.7-107.1-38.8-208.1 39.9-208.1 141.7H8C8 93.7 164.9-32.8 335 20.3c74.2 23.3 133.6 82.4 156.6 156.6C544.8 347.2 418.6 504 256 504zm.3-191.4h-95.6v95.6h95.6v-95.6zm-95.6 95.6H87v73.6h73.7v-73.6zM87 346.6H25.4v61.6H87v-61.6z"],discord:[448,512,[],"f392","M297.216 243.2c0 15.616-11.52 28.416-26.112 28.416-14.336 0-26.112-12.8-26.112-28.416s11.52-28.416 26.112-28.416c14.592 0 26.112 12.8 26.112 28.416zm-119.552-28.416c-14.592 0-26.112 12.8-26.112 28.416s11.776 28.416 26.112 28.416c14.592 0 26.112-12.8 26.112-28.416.256-15.616-11.52-28.416-26.112-28.416zM448 52.736V512c-64.494-56.994-43.868-38.128-118.784-107.776l13.568 47.36H52.48C23.552 451.584 0 428.032 0 398.848V52.736C0 23.552 23.552 0 52.48 0h343.04C424.448 0 448 23.552 448 52.736zm-72.96 242.688c0-82.432-36.864-149.248-36.864-149.248-36.864-27.648-71.936-26.88-71.936-26.88l-3.584 4.096c43.52 13.312 63.744 32.512 63.744 32.512-60.811-33.329-132.244-33.335-191.232-7.424-9.472 4.352-15.104 7.424-15.104 7.424s21.248-20.224 67.328-33.536l-2.56-3.072s-35.072-.768-71.936 26.88c0 0-36.864 66.816-36.864 149.248 0 0 21.504 37.12 78.08 38.912 0 0 9.472-11.52 17.152-21.248-32.512-9.728-44.8-30.208-44.8-30.208 3.766 2.636 9.976 6.053 10.496 6.4 43.21 24.198 104.588 32.126 159.744 8.96 8.96-3.328 18.944-8.192 29.44-15.104 0 0-12.8 20.992-46.336 30.464 7.68 9.728 16.896 20.736 16.896 20.736 56.576-1.792 78.336-38.912 78.336-38.912z"],discourse:[448,512,[],"f393","M225.9 32C103.3 32 0 130.5 0 252.1 0 256 .1 480 .1 480l225.8-.2c122.7 0 222.1-102.3 222.1-223.9C448 134.3 348.6 32 225.9 32zM224 384c-19.4 0-37.9-4.3-54.4-12.1L88.5 392l22.9-75c-9.8-18.1-15.4-38.9-15.4-61 0-70.7 57.3-128 128-128s128 57.3 128 128-57.3 128-128 128z"],dochub:[416,512,[],"f394","M397.9 160H256V19.6L397.9 160zM304 192v130c0 66.8-36.5 100.1-113.3 100.1H96V84.8h94.7c12 0 23.1.8 33.1 2.5v-84C212.9 1.1 201.4 0 189.2 0H0v512h189.2C329.7 512 400 447.4 400 318.1V192h-96z"],docker:[640,512,[],"f395","M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z"],draft2digital:[480,512,[],"f396","M369.9 425.4V371l47.1 27.2-47.1 27.2zM82.4 380.6c25.5-27.3 97.7-104.7 150.9-170 35.1-43.1 40.3-82.4 28.4-112.7-7.4-18.8-17.5-30.2-24.3-35.7 45.3 2.1 68 23.4 82.2 38.3 0 0 42.4 48.2 5.8 113.3-37 65.9-110.9 147.5-128.5 166.7H82.4zm51.8-219.2c0 12.4-10 22.4-22.4 22.4-12.4 0-22.4-10-22.4-22.4 0-12.4 10-22.4 22.4-22.4 12.4 0 22.4 10.1 22.4 22.4M336 315.9v64.7h-91.3c30.8-35 81.8-95.9 111.8-149.3 35.2-62.6 16.1-123.4-12.8-153.3-4.4-4.6-62.2-62.9-166-41.2-59.1 12.4-89.4 43.4-104.3 67.3-13.1 20.9-17 39.8-18.2 47.7-5.5 33 19.4 67.1 56.7 67.1 31.7 0 57.3-25.7 57.3-57.4 0-27.1-19.7-52.1-48-56.8 1.8-7.3 17.7-21.1 26.3-24.7 41.1-17.3 78 5.2 83.3 33.5 8.3 44.3-37.1 90.4-69.7 127.6C84.5 328.1 18.3 396.8 0 415.9l336-.1V480l144-81.9-144-82.2z"],dribbble:[512,512,[],"f17d","M256 8C119.252 8 8 119.252 8 256s111.252 248 248 248 248-111.252 248-248S392.748 8 256 8zm163.97 114.366c29.503 36.046 47.369 81.957 47.835 131.955-6.984-1.477-77.018-15.682-147.502-6.818-5.752-14.041-11.181-26.393-18.617-41.614 78.321-31.977 113.818-77.482 118.284-83.523zM396.421 97.87c-3.81 5.427-35.697 48.286-111.021 76.519-34.712-63.776-73.185-116.168-79.04-124.008 67.176-16.193 137.966 1.27 190.061 47.489zm-230.48-33.25c5.585 7.659 43.438 60.116 78.537 122.509-99.087 26.313-186.36 25.934-195.834 25.809C62.38 147.205 106.678 92.573 165.941 64.62zM44.17 256.323c0-2.166.043-4.322.108-6.473 9.268.19 111.92 1.513 217.706-30.146 6.064 11.868 11.857 23.915 17.174 35.949-76.599 21.575-146.194 83.527-180.531 142.306C64.794 360.405 44.17 310.73 44.17 256.323zm81.807 167.113c22.127-45.233 82.178-103.622 167.579-132.756 29.74 77.283 42.039 142.053 45.189 160.638-68.112 29.013-150.015 21.053-212.768-27.882zm248.38 8.489c-2.171-12.886-13.446-74.897-41.152-151.033 66.38-10.626 124.7 6.768 131.947 9.055-9.442 58.941-43.273 109.844-90.795 141.978z"],"dribbble-square":[448,512,[],"f397","M90.2 228.2c8.9-42.4 37.4-77.7 75.7-95.7 3.6 4.9 28 38.8 50.7 79-64 17-120.3 16.8-126.4 16.7zM314.6 154c-33.6-29.8-79.3-41.1-122.6-30.6 3.8 5.1 28.6 38.9 51 80 48.6-18.3 69.1-45.9 71.6-49.4zM140.1 364c40.5 31.6 93.3 36.7 137.3 18-2-12-10-53.8-29.2-103.6-55.1 18.8-93.8 56.4-108.1 85.6zm98.8-108.2c-3.4-7.8-7.2-15.5-11.1-23.2C159.6 253 93.4 252.2 87.4 252c0 1.4-.1 2.8-.1 4.2 0 35.1 13.3 67.1 35.1 91.4 22.2-37.9 67.1-77.9 116.5-91.8zm34.9 16.3c17.9 49.1 25.1 89.1 26.5 97.4 30.7-20.7 52.5-53.6 58.6-91.6-4.6-1.5-42.3-12.7-85.1-5.8zm-20.3-48.4c4.8 9.8 8.3 17.8 12 26.8 45.5-5.7 90.7 3.4 95.2 4.4-.3-32.3-11.8-61.9-30.9-85.1-2.9 3.9-25.8 33.2-76.3 53.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 176c0-88.2-71.8-160-160-160S64 167.8 64 256s71.8 160 160 160 160-71.8 160-160z"],dropbox:[528,512,[],"f16b","M264.4 116.3l-132 84.3 132 84.3-132 84.3L0 284.1l132.3-84.3L0 116.3 132.3 32l132.1 84.3zM131.6 395.7l132-84.3 132 84.3-132 84.3-132-84.3zm132.8-111.6l132-84.3-132-83.6L395.7 32 528 116.3l-132.3 84.3L528 284.8l-132.3 84.3-131.3-85z"],drupal:[448,512,[],"f1a9","M319.5 114.7c-22.2-14-43.5-19.5-64.7-33.5-13-8.8-31.3-30-46.5-48.3-2.7 29.3-11.5 41.2-22 49.5-21.3 17-34.8 22.2-53.5 32.3C117 123 32 181.5 32 290.5 32 399.7 123.8 480 225.8 480 327.5 480 416 406 416 294c0-112.3-83-171-96.5-179.3zm2.5 325.6c-20.1 20.1-90.1 28.7-116.7 4.2-4.8-4.8.3-12 6.5-12 0 0 17 13.3 51.5 13.3 27 0 46-7.7 54.5-14 6.1-4.6 8.4 4.3 4.2 8.5zm-54.5-52.6c8.7-3.6 29-3.8 36.8 1.3 4.1 2.8 16.1 18.8 6.2 23.7-8.4 4.2-1.2-15.7-26.5-15.7-14.7 0-19.5 5.2-26.7 11-7 6-9.8 8-12.2 4.7-6-8.2 15.9-22.3 22.4-25zM360 405c-15.2-1-45.5-48.8-65-49.5-30.9-.9-104.1 80.7-161.3 42-38.8-26.6-14.6-104.8 51.8-105.2 49.5-.5 83.8 49 108.5 48.5 21.3-.3 61.8-41.8 81.8-41.8 48.7 0 23.3 109.3-15.8 106z"],dyalog:[416,512,[],"f399","M0 32v119.2h64V96h107.2C284.6 96 352 176.2 352 255.9 352 332 293.4 416 171.2 416H0v64h171.2C331.9 480 416 367.3 416 255.9c0-58.7-22.1-113.4-62.3-154.3C308.9 56 245.7 32 171.2 32H0z"],earlybirds:[480,512,[],"f39a","M313.2 47.5c1.2-13 21.3-14 36.6-8.7.9.3 26.2 9.7 19 15.2-27.9-7.4-56.4 18.2-55.6-6.5zm-201 6.9c30.7-8.1 62 20 61.1-7.1-1.3-14.2-23.4-15.3-40.2-9.6-1 .3-28.7 10.5-20.9 16.7zM319.4 160c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm-159.7 0c-8.8 0-16 7.2-16 16s7.2 16 16 16 16-7.2 16-16-7.2-16-16-16zm318.5 163.2c-9.9 24-40.7 11-63.9-1.2-13.5 69.1-58.1 111.4-126.3 124.2.3.9-2-.1 24 1 33.6 1.4 63.8-3.1 97.4-8-19.8-13.8-11.4-37.1-9.8-38.1 1.4-.9 14.7 1.7 21.6 11.5 8.6-12.5 28.4-14.8 30.2-13.6 1.6 1.1 6.6 20.9-6.9 34.6 4.7-.9 8.2-1.6 9.8-2.1 2.6-.8 17.7 11.3 3.1 13.3-14.3 2.3-22.6 5.1-47.1 10.8-45.9 10.7-85.9 11.8-117.7 12.8l1 11.6c3.8 18.1-23.4 24.3-27.6 6.2.8 17.9-27.1 21.8-28.4-1l-.5 5.3c-.7 18.4-28.4 17.9-28.3-.6-7.5 13.5-28.1 6.8-26.4-8.5l1.2-12.4c-36.7.9-59.7 3.1-61.8 3.1-20.9 0-20.9-31.6 0-31.6 2.4 0 27.7 1.3 63.2 2.8-61.1-15.5-103.7-55-114.9-118.2-25 12.8-57.5 26.8-68.2.8-10.5-25.4 21.5-42.6 66.8-73.4.7-6.6 1.6-13.3 2.7-19.8-14.4-19.6-11.6-36.3-16.1-60.4-16.8 2.4-23.2-9.1-23.6-23.1.3-7.3 2.1-14.9 2.4-15.4 1.1-1.8 10.1-2 12.7-2.6 6-31.7 50.6-33.2 90.9-34.5 19.7-21.8 45.2-41.5 80.9-48.3C203.3 29 215.2 8.5 216.2 8c1.7-.8 21.2 4.3 26.3 23.2 5.2-8.8 18.3-11.4 19.6-10.7 1.1.6 6.4 15-4.9 25.9 40.3 3.5 72.2 24.7 96 50.7 36.1 1.5 71.8 5.9 77.1 34 2.7.6 11.6.8 12.7 2.6.3.5 2.1 8.1 2.4 15.4-.5 13.9-6.8 25.4-23.6 23.1-3.2 17.3-2.7 32.9-8.7 47.7 2.4 11.7 4 23.8 4.8 36.4 37 25.4 70.3 42.5 60.3 66.9zM207.4 159.9c.9-44-37.9-42.2-78.6-40.3-21.7 1-38.9 1.9-45.5 13.9-11.4 20.9 5.9 92.9 23.2 101.2 9.8 4.7 73.4 7.9 86.3-7.1 8.2-9.4 15-49.4 14.6-67.7zm52 58.3c-4.3-12.4-6-30.1-15.3-32.7-2-.5-9-.5-11 0-10 2.8-10.8 22.1-17 37.2 15.4 0 19.3 9.7 23.7 9.7 4.3 0 6.3-11.3 19.6-14.2zm135.7-84.7c-6.6-12.1-24.8-12.9-46.5-13.9-40.2-1.9-78.2-3.8-77.3 40.3-.5 18.3 5 58.3 13.2 67.8 13 14.9 76.6 11.8 86.3 7.1 15.8-7.6 36.5-78.9 24.3-101.3z"],edge:[512,512,[],"f282","M25.714 228.163c.111-.162.23-.323.342-.485-.021.162-.045.323-.065.485h-.277zm460.572 15.508c0-44.032-7.754-84.465-28.801-122.405C416.498 47.879 343.912 8.001 258.893 8.001 118.962 7.724 40.617 113.214 26.056 227.679c42.429-61.312 117.073-121.376 220.375-124.966 0 0 109.666 0 99.419 104.957H169.997c6.369-37.386 18.554-58.986 34.339-78.926-75.048 34.893-121.85 96.096-120.742 188.315.83 71.448 50.124 144.836 120.743 171.976 83.357 31.847 192.776 7.2 240.132-21.324V363.307c-80.864 56.494-270.871 60.925-272.255-67.572h314.073v-52.064z"],elementor:[448,512,[],"f430","M425.6 32H22.4C10 32 0 42 0 54.4v403.2C0 470 10 480 22.4 480h403.2c12.4 0 22.4-10 22.4-22.4V54.4C448 42 438 32 425.6 32M164.3 355.5h-39.8v-199h39.8v199zm159.3 0H204.1v-39.8h119.5v39.8zm0-79.6H204.1v-39.8h119.5v39.8zm0-79.7H204.1v-39.8h119.5v39.8z"],ember:[640,512,[],"f423","M639.9 254.6c-1.1-10.7-10.7-6.8-10.7-6.8s-15.6 12.1-29.3 10.7c-13.7-1.3-9.4-32-9.4-32s3-28.1-5.1-30.4c-8.1-2.4-18 7.3-18 7.3s-12.4 13.7-18.3 31.2l-1.6.5s1.9-30.6-.3-37.6c-1.6-3.5-16.4-3.2-18.8 3s-14.2 49.2-15 67.2c0 0-23.1 19.6-43.3 22.8s-25-9.4-25-9.4 54.8-15.3 52.9-59.1c-1.9-43.8-44.2-27.6-49-24-4.6 3.5-29.4 18.4-36.6 59.7-.2 1.4-.7 7.5-.7 7.5s-21.2 14.2-33 18c0 0 33-55.6-7.3-80.9-18.3-11-32.8 12.1-32.8 12.1s54.5-60.7 42.5-112c-5.8-24.4-18-27.1-29.2-23.1-17 6.7-23.5 16.7-23.5 16.7s-22 32-27.1 79.5-12.6 105.1-12.6 105.1-10.5 10.2-20.2 10.7-5.4-28.7-5.4-28.7 7.5-44.6 7-52.1-1.1-11.6-9.9-14.2c-8.9-2.7-18.5 8.6-18.5 8.6s-25.5 38.7-27.7 44.6l-1.3 2.4-1.3-1.6s18-52.7.8-53.5c-17.2-.8-28.5 18.8-28.5 18.8s-19.6 32.8-20.4 36.5l-1.3-1.6s8.1-38.2 6.4-47.6c-1.6-9.4-10.5-7.5-10.5-7.5s-11.3-1.3-14.2 5.9-13.7 55.3-15 70.7c0 0-28.2 20.2-46.8 20.4-18.5.3-16.7-11.8-16.7-11.8s68-23.3 49.4-69.2c-8.3-11.8-18-15.5-31.7-15.3-13.7.3-30.3 8.6-41.3 33.3-5.3 11.8-6.8 23-7.8 31.5 0 0-12.3 2.4-18.8-2.9s-10 0-10 0-11.2 14-.1 18.3 28.1 6.1 28.1 6.1c1.6 7.5 6.2 19.5 19.6 29.7 20.2 15.3 58.8-1.3 58.8-1.3l15.9-8.8s.5 14.6 12.1 16.7c11.6 2.1 16.4 1 36.5-47.9 11.8-25 12.6-23.6 12.6-23.6l1.3-.3s-9.1 46.8-5.6 59.7C187.7 319.4 203 318 203 318s8.3 2.4 15-21.2c6.7-23.6 19.6-49.9 19.6-49.9h1.6s-5.6 48.1 3 63.7c8.6 15.6 30.9 5.3 30.9 5.3s15.6-7.8 18-10.2c0 0 18.5 15.8 44.6 12.9 58.3-11.5 79.1-25.9 79.1-25.9s10 24.4 41.1 26.7c35.5 2.7 54.8-18.6 54.8-18.6s-.3 13.5 12.1 18.6c12.4 5.1 20.7-22.8 20.7-22.8l20.7-57.2h1.9s1.1 37.3 21.5 43.2 47-13.7 47-13.7 6.4-3.5 5.3-14.3zm-578 5.3c.8-32 21.8-45.9 29-39 7.3 7 4.6 22-9.1 31.4-13.7 9.5-19.9 7.6-19.9 7.6zm272.8-123.8s19.1-49.7 23.6-25.5-40 96.2-40 96.2c.5-16.2 16.4-70.7 16.4-70.7zm22.8 138.4c-12.6 33-43.3 19.6-43.3 19.6s-3.5-11.8 6.4-44.9 33.3-20.2 33.3-20.2 16.2 12.4 3.6 45.5zm84.6-14.6s-3-10.5 8.1-30.6c11-20.2 19.6-9.1 19.6-9.1s9.4 10.2-1.3 25.5-26.4 14.2-26.4 14.2z"],empire:[496,512,[],"f1d1","M287.6 54.2c-10.8-2.2-22.1-3.3-33.5-3.6V32.4c78.1 2.2 146.1 44 184.6 106.6l-15.8 9.1c-6.1-9.7-12.7-18.8-20.2-27.1l-18 15.5c-26-29.6-61.4-50.7-101.9-58.4l4.8-23.9zM53.4 322.4l23-7.7c-6.4-18.3-10-38.2-10-58.7s3.3-40.4 9.7-58.7l-22.7-7.7c3.6-10.8 8.3-21.3 13.6-31l-15.8-9.1C34 181 24.1 217.5 24.1 256s10 75 27.1 106.6l15.8-9.1c-5.3-10-9.7-20.3-13.6-31.1zM213.1 434c-40.4-8-75.8-29.1-101.9-58.7l-18 15.8c-7.5-8.6-14.4-17.7-20.2-27.4l-16 9.4c38.5 62.3 106.8 104.3 184.9 106.6v-18.3c-11.3-.3-22.7-1.7-33.5-3.6l4.7-23.8zM93.3 120.9l18 15.5c26-29.6 61.4-50.7 101.9-58.4l-4.7-23.8c10.8-2.2 22.1-3.3 33.5-3.6V32.4C163.9 34.6 95.9 76.4 57.4 139l15.8 9.1c6-9.7 12.6-18.9 20.1-27.2zm309.4 270.2l-18-15.8c-26 29.6-61.4 50.7-101.9 58.7l4.7 23.8c-10.8 1.9-22.1 3.3-33.5 3.6v18.3c78.1-2.2 146.4-44.3 184.9-106.6l-16.1-9.4c-5.7 9.7-12.6 18.8-20.1 27.4zM496 256c0 137-111 248-248 248S0 393 0 256 111 8 248 8s248 111 248 248zm-12.2 0c0-130.1-105.7-235.8-235.8-235.8S12.2 125.9 12.2 256 117.9 491.8 248 491.8 483.8 386.1 483.8 256zm-39-106.6l-15.8 9.1c5.3 9.7 10 20.2 13.6 31l-22.7 7.7c6.4 18.3 9.7 38.2 9.7 58.7s-3.6 40.4-10 58.7l23 7.7c-3.9 10.8-8.3 21-13.6 31l15.8 9.1C462 331 471.9 294.5 471.9 256s-9.9-75-27.1-106.6zm-183 177.7c16.3-3.3 30.4-11.6 40.7-23.5l51.2 44.8c11.9-13.6 21.3-29.3 27.1-46.8l-64.2-22.1c2.5-7.5 3.9-15.2 3.9-23.5s-1.4-16.1-3.9-23.5l64.5-22.1c-6.1-17.4-15.5-33.2-27.4-46.8l-51.2 44.8c-10.2-11.9-24.4-20.5-40.7-23.8l13.3-66.4c-8.6-1.9-17.7-2.8-27.1-2.8-9.4 0-18.5.8-27.1 2.8l13.3 66.4c-16.3 3.3-30.4 11.9-40.7 23.8l-51.2-44.8c-11.9 13.6-21.3 29.3-27.4 46.8l64.5 22.1c-2.5 7.5-3.9 15.2-3.9 23.5s1.4 16.1 3.9 23.5l-64.2 22.1c5.8 17.4 15.2 33.2 27.1 46.8l51.2-44.8c10.2 11.9 24.4 20.2 40.7 23.5l-13.3 66.7c8.6 1.7 17.7 2.8 27.1 2.8 9.4 0 18.5-1.1 27.1-2.8l-13.3-66.7z"],envira:[448,512,[],"f299","M0 32c477.6 0 366.6 317.3 367.1 366.3L448 480h-26l-70.4-71.2c-39 4.2-124.4 34.5-214.4-37C47 300.3 52 214.7 0 32zm79.7 46c-49.7-23.5-5.2 9.2-5.2 9.2 45.2 31.2 66 73.7 90.2 119.9 31.5 60.2 79 139.7 144.2 167.7 65 28 34.2 12.5 6-8.5-28.2-21.2-68.2-87-91-130.2-31.7-60-61-118.6-144.2-158.1z"],erlang:[640,512,[],"f39d","M21.7 246.4c-.1 86.8 29 159.5 78.7 212.1H0v-405h87.2c-41.5 50.2-65.6 116.2-65.5 192.9zM640 53.6h-83.6c31.4 42.7 48.7 97.5 46.2 162.7.5 6 .5 11.7 0 24.1H230.2c-.2 109.7 38.9 194.9 138.6 195.3 68.5-.3 118-51 151.9-106.1l96.4 48.2c-17.4 30.9-36.5 57.8-57.9 80.8H640v-405zm-80.8 405s0-.1 0 0h-.2.2zm-3.1-405h.3l-.1-.1-.2.1zm-230.7 9.6c-45.9.1-85.1 33.5-89.2 83.2h169.9c-1.1-49.7-34.5-83.1-80.7-83.2z"],ethereum:[320,512,[],"f42e","M311.9 260.8L160 353.6 8 260.8 160 0l151.9 260.8zM160 383.4L8 290.6 160 512l152-221.4-152 92.8z"],etsy:[384,512,[],"f2d7","M384 348c-1.75 10.75-13.75 110-15.5 132-117.879-4.299-219.895-4.743-368.5 0v-25.5c45.457-8.948 60.627-8.019 61-35.25 1.793-72.322 3.524-244.143 0-322-1.029-28.46-12.13-26.765-61-36v-25.5c73.886 2.358 255.933 8.551 362.999-3.75-3.5 38.25-7.75 126.5-7.75 126.5H332C320.947 115.665 313.241 68 277.25 68h-137c-10.25 0-10.75 3.5-10.75 9.75V241.5c58 .5 88.5-2.5 88.5-2.5 29.77-.951 27.56-8.502 40.75-65.251h25.75c-4.407 101.351-3.91 61.829-1.75 160.25H257c-9.155-40.086-9.065-61.045-39.501-61.5 0 0-21.5-2-88-2v139c0 26 14.25 38.25 44.25 38.25H263c63.636 0 66.564-24.996 98.751-99.75H384z"],expeditedssl:[496,512,[],"f23e","M248 43.4C130.6 43.4 35.4 138.6 35.4 256S130.6 468.6 248 468.6 460.6 373.4 460.6 256 365.4 43.4 248 43.4zm-97.4 132.9c0-53.7 43.7-97.4 97.4-97.4s97.4 43.7 97.4 97.4v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6c0-82.1-124-82.1-124 0v26.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-26.6zM389.7 380c0 9.7-8 17.7-17.7 17.7H124c-9.7 0-17.7-8-17.7-17.7V238.3c0-9.7 8-17.7 17.7-17.7h248c9.7 0 17.7 8 17.7 17.7V380zm-248-137.3v132.9c0 2.5-1.9 4.4-4.4 4.4h-8.9c-2.5 0-4.4-1.9-4.4-4.4V242.7c0-2.5 1.9-4.4 4.4-4.4h8.9c2.5 0 4.4 1.9 4.4 4.4zm141.7 48.7c0 13-7.2 24.4-17.7 30.4v31.6c0 5-3.9 8.9-8.9 8.9h-17.7c-5 0-8.9-3.9-8.9-8.9v-31.6c-10.5-6.1-17.7-17.4-17.7-30.4 0-19.7 15.8-35.4 35.4-35.4s35.5 15.8 35.5 35.4zM248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 478.3C121 486.3 17.7 383 17.7 256S121 25.7 248 25.7 478.3 129 478.3 256 375 486.3 248 486.3z"],facebook:[448,512,[],"f09a","M448 56.7v398.5c0 13.7-11.1 24.7-24.7 24.7H309.1V306.5h58.2l8.7-67.6h-67v-43.2c0-19.6 5.4-32.9 33.5-32.9h35.8v-60.5c-6.2-.8-27.4-2.7-52.2-2.7-51.6 0-87 31.5-87 89.4v49.9h-58.4v67.6h58.4V480H24.7C11.1 480 0 468.9 0 455.3V56.7C0 43.1 11.1 32 24.7 32h398.5c13.7 0 24.8 11.1 24.8 24.7z"],"facebook-f":[264,512,[],"f39e","M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"],"facebook-messenger":[448,512,[],"f39f","M224 32C15.9 32-77.5 278 84.6 400.6V480l75.7-42c142.2 39.8 285.4-59.9 285.4-198.7C445.8 124.8 346.5 32 224 32zm23.4 278.1L190 250.5 79.6 311.6l121.1-128.5 57.4 59.6 110.4-61.1-121.1 128.5z"],"facebook-square":[448,512,[],"f082","M448 80v352c0 26.5-21.5 48-48 48h-85.3V302.8h60.6l8.7-67.6h-69.3V192c0-19.6 5.4-32.9 33.5-32.9H384V98.7c-6.2-.8-27.4-2.7-52.2-2.7-51.6 0-87 31.5-87 89.4v49.9H184v67.6h60.9V480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48z"],firefox:[480,512,[],"f269","M478.1 235.3c-.7-4.5-1.4-7.1-1.4-7.1s-1.8 2-4.7 5.9c-.9-10.7-2.8-21.2-5.8-31.6-3.7-12.9-8.5-25.4-14.5-37.4-3.8-8-8.2-15.6-13.3-22.8-1.8-2.7-3.7-5.4-5.6-7.9-8.8-14.4-19-23.3-30.7-40-7.6-12.8-12.9-26.9-15.4-41.6-3.2 8.9-5.7 18-7.4 27.3-12.1-12.2-22.5-20.8-28.9-26.7C319.4 24.2 323 9.1 323 9.1S264.7 74.2 289.9 142c8.7 23 23.8 43.1 43.4 57.9 24.4 20.2 50.8 36 64.7 76.6-11.2-21.3-28.1-39.2-48.8-51.5 6.2 14.7 9.4 30.6 9.3 46.5 0 61-49.6 110.5-110.6 110.4-8.3 0-16.5-.9-24.5-2.8-9.5-1.8-18.7-4.9-27.4-9.3-12.9-7.8-24-18.1-32.8-30.3l-.2-.3 2 .7c4.6 1.6 9.2 2.8 14 3.7 18.7 4 38.3 1.7 55.6-6.6 17.5-9.7 28-16.9 36.6-14h.2c8.4 2.7 15-5.5 9-14-10.4-13.4-27.4-20-44.2-17-17.5 2.5-33.5 15-56.4 2.9-1.5-.8-2.9-1.6-4.3-2.5-1.6-.9 4.9 1.3 3.4.3-5-2.5-9.8-5.4-14.4-8.6-.3-.3 3.5 1.1 3.1.8-5.9-4-11-9.2-15-15.2-4.1-7.4-4.5-16.4-1-24.1 2.1-3.8 5.4-6.9 9.3-8.7 3 1.5 4.8 2.6 4.8 2.6s-1.3-2.5-2.1-3.8c.3-.1.5 0 .8-.2 2.6 1.1 8.3 4 11.4 5.8 2.1 1.1 3.8 2.7 5.2 4.7 0 0 1-.5.3-2.7-1.1-2.7-2.9-5-5.4-6.6h.2c2.3 1.2 4.5 2.6 6.6 4.1 1.9-4.4 2.8-9.2 2.6-14 .2-2.6-.2-5.3-1.1-7.8-.8-1.6.5-2.2 1.9-.5-.2-1.3-.7-2.5-1.2-3.7v-.1s.8-1.1 1.2-1.5c1-1 2.1-1.9 3.4-2.7 7.2-4.5 14.8-8.4 22.7-11.6 6.4-2.8 11.7-4.9 12.8-5.6 1.6-1 3.1-2.2 4.5-3.5 5.3-4.5 9-10.8 10.2-17.7.1-.9.2-1.8.3-2.8v-1.5c-.9-3.5-6.9-6.1-38.4-9.1-11.1-1.8-20-10.1-22.5-21.1v.1c-.4 1.1-.9 2.3-1.3 3.5.4-1.2.8-2.3 1.3-3.5v-.2c6-15.7 16.8-29.1 30.8-38.3.8-.7-3.2.2-2.4-.5 2.7-1.3 5.4-2.5 8.2-3.5 1.4-.6-6-3.4-12.6-2.7-4 .2-8 1.2-11.7 2.8 1.6-1.3 6.2-3.1 5.1-3.1-8.4 1.6-16.5 4.7-23.9 9 0-.8.1-1.5.5-2.2-5.9 2.5-11 6.5-15 11.5.1-.9.2-1.8.2-2.7-2.7 2-5.2 4.3-7.3 6.9l-.1.1c-17.4-6.7-36.3-8.3-54.6-4.7l-.2-.1h.2c-3.8-3.1-7.1-6.7-9.7-10.9l-.2.1-.4-.2c-1.2-1.8-2.4-3.8-3.7-6-.9-1.6-1.8-3.4-2.7-5.2 0-.1-.1-.2-.2-.2-.4 0-.6 1.7-.9 1.3v-.1c-3.2-8.3-4.7-17.2-4.4-26.2l-.2.1c-5.1 3.5-9 8.6-11.1 14.5-.9 2.1-1.6 3.3-2.2 4.5v-.5c.1-1.1.6-3.3.5-3.1-.1.2-.2.3-.3.4-1.5 1.7-2.9 3.7-3.9 5.8-.9 1.9-1.7 3.9-2.3 5.9-.1.3 0-.3 0-1s.1-2 0-1.7l-.3.7c-6.7 14.9-10.9 30.8-12.4 47.1-.4 2.8-.6 5.6-.5 8.3v.2c-4.8 5.2-9 11-12.7 17.1-12.1 20.4-21.1 42.5-26.8 65.6 4-8.8 8.8-17.2 14.3-25.1C5.5 228.5 0 257.4 0 286.6c1.8-8.6 4.2-17 7-25.3-1.7 34.5 4.9 68.9 19.4 100.3 19.4 43.5 51.6 80 92.3 104.7 16.6 11.2 34.7 19.9 53.8 25.8 2.5.9 5.1 1.8 7.7 2.7-.8-.3-1.6-.7-2.4-1 22.6 6.8 46.2 10.3 69.8 10.3 83.7 0 111.3-31.9 113.8-35 4.1-3.7 7.5-8.2 9.9-13.3 1.6-.7 3.2-1.4 4.9-2.1l1-.5 1.9-.9c12.6-5.9 24.5-13.4 35.3-22.1 16.3-11.7 27.9-28.7 32.9-48.1 3-7.1 3.1-15 .4-22.2.9-1.4 1.7-2.8 2.7-4.3 18-28.9 28.2-61.9 29.6-95.9v-2.8c0-7.3-.6-14.5-1.9-21.6z"],"first-order":[448,512,[],"f2b0","M12.9 229.2c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4h-.2zM224 96.6c-7.1 0-14.6.6-21.4 1.7l3.7 67.4-22-64c-14.3 3.7-27.7 9.4-40 16.6l29.4 61.4-45.1-50.9c-11.4 8.9-21.7 19.1-30.6 30.9l50.6 45.4-61.1-29.7c-7.1 12.3-12.9 25.7-16.6 40l64.3 22.6-68-4c-.9 7.1-1.4 14.6-1.4 22s.6 14.6 1.4 21.7l67.7-4-64 22.6c3.7 14.3 9.4 27.7 16.6 40.3l61.1-29.7L97.7 352c8.9 11.7 19.1 22.3 30.9 30.9l44.9-50.9-29.5 61.4c12.3 7.4 25.7 13.1 40 16.9l22.3-64.6-4 68c7.1 1.1 14.6 1.7 21.7 1.7 7.4 0 14.6-.6 21.7-1.7l-4-68.6 22.6 65.1c14.3-4 27.7-9.4 40-16.9L274.9 332l44.9 50.9c11.7-8.9 22-19.1 30.6-30.9l-50.6-45.1 61.1 29.4c7.1-12.3 12.9-25.7 16.6-40.3l-64-22.3 67.4 4c1.1-7.1 1.4-14.3 1.4-21.7s-.3-14.9-1.4-22l-67.7 4 64-22.3c-3.7-14.3-9.1-28-16.6-40.3l-60.9 29.7 50.6-45.4c-8.9-11.7-19.1-22-30.6-30.9l-45.1 50.9 29.4-61.1c-12.3-7.4-25.7-13.1-40-16.9L241.7 166l4-67.7c-7.1-1.2-14.3-1.7-21.7-1.7zM443.4 128v256L224 512 4.6 384V128L224 0l219.4 128zm-17.1 10.3L224 20.9 21.7 138.3v235.1L224 491.1l202.3-117.7V138.3zM224 37.1l187.7 109.4v218.9L224 474.9 36.3 365.4V146.6L224 37.1zm0 50.9c-92.3 0-166.9 75.1-166.9 168 0 92.6 74.6 167.7 166.9 167.7 92 0 166.9-75.1 166.9-167.7 0-92.9-74.9-168-166.9-168z"],firstdraft:[384,512,[],"f3a1","M384 192h-64v128H192v128H0v-25.6h166.4v-128h128v-128H384V192zm-25.6 38.4v128h-128v128H64V512h192V384h128V230.4h-25.6zm25.6 192h-89.6V512H320v-64h64v-25.6zM0 0v384h128V256h128V128h128V0H0z"],flickr:[448,512,[],"f16e","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM144.5 319c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5zm159 0c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5z"],flipboard:[448,512,[],"f44d","M0 32v448h448V32H0zm175.7 175.7v184.4H87.8V119.9h87.8v87.8zm184.5 0h-87.9v96.6h-87.8v-87.8h87.8v-8.8h-87.8v-87.8h175.7v87.8z"],fly:[384,512,[],"f417","M197.8 427.8c12.9 11.7 33.7 33.3 33.2 50.7 0 .8-.1 1.6-.1 2.5-1.8 19.8-18.8 31.1-39.1 31-25-.1-39.9-16.8-38.7-35.8 1-16.2 20.5-36.7 32.4-47.6 2.3-2.1 2.7-2.7 5.6-3.6 3.4 0 3.9.3 6.7 2.8zM331.9 67.3c-16.3-25.7-38.6-40.6-63.3-52.1C243.1 4.5 214-.2 192 0c-44.1 0-71.2 13.2-81.1 17.3C57.3 45.2 26.5 87.2 28 158.6c7.1 82.2 97 176 155.8 233.8 1.7 1.6 4.5 4.5 6.2 5.1l3.3.1c2.1-.7 1.8-.5 3.5-2.1 52.3-49.2 140.7-145.8 155.9-215.7 7-39.2 3.1-72.5-20.8-112.5zM186.8 351.9c-28-51.1-65.2-130.7-69.3-189-3.4-47.5 11.4-131.2 69.3-136.7v325.7zM328.7 180c-16.4 56.8-77.3 128-118.9 170.3C237.6 298.4 275 217 277 158.4c1.6-45.9-9.8-105.8-48-131.4 88.8 18.3 115.5 98.1 99.7 153z"],"font-awesome":[448,512,[],"f2b4","M397.8 32H50.2C22.7 32 0 54.7 0 82.2v347.6C0 457.3 22.7 480 50.2 480h347.6c27.5 0 50.2-22.7 50.2-50.2V82.2c0-27.5-22.7-50.2-50.2-50.2zm-45.4 284.3c0 4.2-3.6 6-7.8 7.8-16.7 7.2-34.6 13.7-53.8 13.7-26.9 0-39.4-16.7-71.7-16.7-23.3 0-47.8 8.4-67.5 17.3-1.2.6-2.4.6-3.6 1.2V385c0 1.8 0 3.6-.6 4.8v1.2c-2.4 8.4-10.2 14.3-19.1 14.3-11.3 0-20.3-9-20.3-20.3V166.4c-7.8-6-13.1-15.5-13.1-26.3 0-18.5 14.9-33.5 33.5-33.5 18.5 0 33.5 14.9 33.5 33.5 0 10.8-4.8 20.3-13.1 26.3v18.5c1.8-.6 3.6-1.2 5.4-2.4 18.5-7.8 40.6-14.3 61.5-14.3 22.7 0 40.6 6 60.9 13.7 4.2 1.8 8.4 2.4 13.1 2.4 22.7 0 47.8-16.1 53.8-16.1 4.8 0 9 3.6 9 7.8v140.3z"],"font-awesome-alt":[448,512,[],"f35c","M397.8 67.8c7.8 0 14.3 6.6 14.3 14.3v347.6c0 7.8-6.6 14.3-14.3 14.3H50.2c-7.8 0-14.3-6.6-14.3-14.3V82.2c0-7.8 6.6-14.3 14.3-14.3h347.6m0-35.9H50.2C22.7 32 0 54.7 0 82.2v347.6C0 457.3 22.7 480 50.2 480h347.6c27.5 0 50.2-22.7 50.2-50.2V82.2c0-27.5-22.7-50.2-50.2-50.2zm-58.5 139.2c-6 0-29.9 15.5-52.6 15.5-4.2 0-8.4-.6-12.5-2.4-19.7-7.8-37-13.7-59.1-13.7-20.3 0-41.8 6.6-59.7 13.7-1.8.6-3.6 1.2-4.8 1.8v-17.9c7.8-6 12.5-14.9 12.5-25.7 0-17.9-14.3-32.3-32.3-32.3s-32.3 14.3-32.3 32.3c0 10.2 4.8 19.7 12.5 25.7v212.1c0 10.8 9 19.7 19.7 19.7 9 0 16.1-6 18.5-13.7V385c.6-1.8.6-3 .6-4.8V336c1.2 0 2.4-.6 3-1.2 19.7-8.4 43-16.7 65.7-16.7 31.1 0 43 16.1 69.3 16.1 18.5 0 36.4-6.6 52-13.7 4.2-1.8 7.2-3.6 7.2-7.8V178.3c1.8-4.1-2.3-7.1-7.7-7.1z"],"font-awesome-flag":[448,512,[],"f425","M444.373 359.424c0 7.168-6.144 10.24-13.312 13.312-28.672 12.288-59.392 23.552-92.16 23.552-46.08 0-67.584-28.672-122.88-28.672-39.936 0-81.92 14.336-115.712 29.696-2.048 1.024-4.096 1.024-6.144 2.048v77.824c0 21.405-16.122 34.816-33.792 34.816-19.456 0-34.816-15.36-34.816-34.816V102.4C12.245 92.16 3.029 75.776 3.029 57.344 3.029 25.6 28.629 0 60.373 0s57.344 25.6 57.344 57.344c0 18.432-8.192 34.816-22.528 45.056v31.744c4.124-1.374 58.768-28.672 114.688-28.672 65.27 0 97.676 27.648 126.976 27.648 38.912 0 81.92-27.648 92.16-27.648 8.192 0 15.36 6.144 15.36 13.312v240.64z"],fonticons:[448,512,[],"f280","M0 32v448h448V32H0zm167.4 196h67.4l-11.1 37.3H168v112.9c0 5.8-2 6.7 3.2 7.3l43.5 4.1v25.1H84V389l21.3-2c5.2-.6 6.7-2.3 6.7-7.9V267.7c0-2.3-2.9-2.3-5.8-2.3H84V228h28v-21c0-49.6 26.5-70 77.3-70 34.1 0 64.7 8.2 64.7 52.8l-50.7 6.1c.3-18.7-4.4-23-16.3-23-18.4 0-19 9.9-19 27.4v23.3c0 2.4-3.5 4.4-.6 4.4zM364 414.7H261.3v-25.1l20.4-2.6c5.2-.6 7.6-1.7 7.6-7.3V271.8c0-4.1-2.9-6.7-6.7-7.9l-24.2-6.4 6.7-29.5h80.2v151.7c0 5.8-2.6 6.4 2.9 7.3l15.7 2.6v25.1zm-21.9-255.5l9 33.2-7.3 7.3-31.2-16.6-31.2 16.6-7.3-7.3 9-33.2-21.8-24.2 3.5-9.6h27.7l15.5-28h9.3l15.5 28h27.7l3.5 9.6-21.9 24.2z"],"fonticons-fi":[384,512,[],"f3a2","M114.4 224h92.4l-15.2 51.2h-76.4V433c0 8-2.8 9.2 4.4 10l59.6 5.6V483H0v-35.2l29.2-2.8c7.2-.8 9.2-3.2 9.2-10.8V278.4c0-3.2-4-3.2-8-3.2H0V224h38.4v-28.8c0-68 36.4-96 106-96 46.8 0 88.8 11.2 88.8 72.4l-69.6 8.4c.4-25.6-6-31.6-22.4-31.6-25.2 0-26 13.6-26 37.6v32c0 3.2-4.8 6-.8 6zM384 483H243.2v-34.4l28-3.6c7.2-.8 10.4-2.4 10.4-10V287c0-5.6-4-9.2-9.2-10.8l-33.2-8.8 9.2-40.4h110v208c0 8-3.6 8.8 4 10l21.6 3.6V483zm-30-347.2l12.4 45.6-10 10-42.8-22.8-42.8 22.8-10-10 12.4-45.6-30-36.4 4.8-10h38L307.2 51H320l21.2 38.4h38l4.8 13.2-30 33.2z"],"fort-awesome":[512,512,[],"f286","M489.2 287.9h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6V146.2c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32h-36.6v-32c0-6-8-4.6-11.7-4.6v-38c8.3-2 17.1-3.4 25.7-3.4 10.9 0 20.9 4.3 31.4 4.3 4.6 0 27.7-1.1 27.7-8v-60c0-2.6-2-4.6-4.6-4.6-5.1 0-15.1 4.3-24 4.3-9.7 0-20.9-4.3-32.6-4.3-8 0-16 1.1-23.7 2.9v-4.9c5.4-2.6 9.1-8.3 9.1-14.3 0-20.7-31.4-20.8-31.4 0 0 6 3.7 11.7 9.1 14.3v111.7c-3.7 0-11.7-1.4-11.7 4.6v32h-36.6v-32c0-2.6-2-4.6-4.6-4.6h-27.4c-2.6 0-4.6 2-4.6 4.6v32H128v-32c0-2.6-2-4.6-4.6-4.6H96c-2.6 0-4.6 2-4.6 4.6v178.3H54.8v-32c0-2.6-2-4.6-4.6-4.6H22.8c-2.6 0-4.6 2-4.6 4.6V512h182.9v-96c0-72.6 109.7-72.6 109.7 0v96h182.9V292.5c.1-2.6-1.9-4.6-4.5-4.6zm-288.1-4.5c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64zm146.4 0c0 2.6-2 4.6-4.6 4.6h-27.4c-2.6 0-4.6-2-4.6-4.6v-64c0-2.6 2-4.6 4.6-4.6h27.4c2.6 0 4.6 2 4.6 4.6v64z"],"fort-awesome-alt":[512,512,[],"f3a3","M211.7 241.1v51.7c0 2.1-1.6 3.7-3.7 3.7h-22.2c-2.1 0-3.7-1.6-3.7-3.7v-51.7c0-2.1 1.6-3.7 3.7-3.7H208c2.1 0 3.7 1.6 3.7 3.7zm114.5-3.7H304c-2.1 0-3.7 1.6-3.7 3.7v51.7c0 2.1 1.6 3.7 3.7 3.7h22.2c2.1 0 3.7-1.6 3.7-3.7v-51.7c-.1-2.1-1.7-3.7-3.7-3.7zm-29.1 263.2c-.9.1-1.7.3-2.6.4-1 .2-2.1.3-3.1.5-.9.1-1.8.3-2.8.4-1 .1-2 .3-3 .4-1 .1-2 .2-2.9.3-1 .1-1.9.2-2.9.3-1 .1-2.1.2-3.1.3-.9.1-1.8.2-2.7.2-1.1.1-2.3.1-3.4.2-.8 0-1.7.1-2.5.1-1.3.1-2.6.1-3.9.1-.7 0-1.4.1-2.1.1-2 0-4 .1-6 .1s-4 0-6-.1c-.7 0-1.4 0-2.1-.1-1.3 0-2.6-.1-3.9-.1-.8 0-1.7-.1-2.5-.1-1.1-.1-2.3-.1-3.4-.2-.9-.1-1.8-.1-2.7-.2-1-.1-2.1-.2-3.1-.3-1-.1-1.9-.2-2.9-.3-1-.1-2-.2-2.9-.3-1-.1-2-.2-3-.4-.9-.1-1.8-.3-2.8-.4-1-.1-2.1-.3-3.1-.5-.9-.1-1.7-.3-2.6-.4-65.6-10.9-122.5-47.7-160-99.4-.2-.2-.3-.5-.5-.7-.8-1.1-1.6-2.2-2.3-3.3-.3-.4-.6-.8-.8-1.2-.7-1.1-1.4-2.1-2.1-3.2-.3-.5-.6-.9-.9-1.4-.7-1.1-1.4-2.1-2-3.2-.3-.5-.6-.9-.9-1.4-.7-1.1-1.3-2.2-2-3.3-.2-.4-.5-.8-.7-1.2-2.4-4-4.6-8.1-6.8-12.2-.1-.2-.2-.3-.3-.5-.6-1.1-1.1-2.2-1.7-3.3-.3-.6-.6-1.1-.8-1.7-.5-1-1-2.1-1.5-3.1-.3-.7-.6-1.3-.9-2-.5-1-.9-2-1.4-3l-.9-2.1c-.4-1-.9-2-1.3-3-.3-.7-.6-1.5-.9-2.2l-1.2-3c-.3-.8-.6-1.5-.9-2.3-.4-1-.8-2-1.1-3-.3-.9-.6-1.8-1-2.8-.6-1.6-1.1-3.3-1.7-4.9-.3-.9-.6-1.8-.9-2.8-.3-.9-.5-1.8-.8-2.7-.3-.9-.6-1.9-.8-2.8-.3-.9-.5-1.8-.8-2.7-.3-1-.5-1.9-.8-2.9-.2-.9-.5-1.8-.7-2.7-.3-1-.5-2-.7-3-.2-.9-.4-1.7-.6-2.6-.2-1.1-.5-2.2-.7-3.2-.2-.8-.3-1.6-.5-2.4-.3-1.3-.5-2.7-.8-4-.1-.6-.2-1.1-.3-1.7l-.9-5.7c-.1-.6-.2-1.3-.3-1.9-.2-1.3-.4-2.6-.5-3.9-.1-.8-.2-1.5-.3-2.3-.1-1.2-.3-2.4-.4-3.6-.1-.8-.2-1.6-.2-2.4-.1-1.2-.2-2.4-.3-3.5-.1-.8-.1-1.6-.2-2.4-.1-1.2-.2-2.4-.2-3.7 0-.8-.1-1.5-.1-2.3-.1-1.3-.1-2.7-.2-4 0-.7 0-1.3-.1-2 0-2-.1-4-.1-6 0-53.5 16.9-103 45.8-143.6 2.3-3.2 4.7-6.4 7.1-9.5 4.9-6.2 10.1-12.3 15.6-18 2.7-2.9 5.5-5.7 8.4-8.4 2.9-2.7 5.8-5.4 8.8-8 4.5-3.9 9.1-7.6 13.9-11.2 1.6-1.2 3.2-2.4 4.8-3.5C140 34.2 171.7 20.1 206 13c16.1-3.3 32.9-5 50-5s33.8 1.7 50 5c34.3 7 66 21.1 93.6 40.7 1.6 1.2 3.2 2.3 4.8 3.5 4.8 3.6 9.4 7.3 13.9 11.2 12 10.4 23 21.9 32.8 34.4 2.5 3.1 4.8 6.3 7.1 9.5C487.1 153 504 202.5 504 256c0 2 0 4-.1 6 0 .7 0 1.3-.1 2 0 1.3-.1 2.7-.2 4 0 .8-.1 1.5-.1 2.3-.1 1.2-.1 2.4-.2.7-.1.8-.1 1.6-.2 2.4-.1 1.2-.2 2.4-.3 3.5-.1.8-.2 1.6-.2 2.4-.1 1.2-.3 2.4-.4 3.6-.1.8-.2 1.5-.3 2.3-.2 1.3-.4 2.6-.5 3.9-.1.6-.2 1.3-.3 1.9l-.9 5.7c-.1.6-.2 1.1-.3 1.7-.2 1.3-.5 2.7-.8 4-.2.8-.3 1.6-.5 2.4-.2 1.1-.5 2.2-.7 3.2-.2.9-.4 1.7-.6 2.6-.2 1-.5 2-.7 3-.2.9-.5 1.8-.7 2.7-.3 1-.5 1.9-.8 2.9-.2.9-.5 1.8-.8 2.7-.3.9-.6 1.9-.8 2.8-.3.9-.5 1.8-.8 2.7-.3.9-.6 1.8-.9 2.8-.5 1.6-1.1 3.3-1.7 4.9-.3.9-.6 1.8-1 2.8-.4 1-.7 2-1.1 3-.3.8-.6 1.5-.9 2.3l-1.2 3c-.3.7-.6 1.5-.9 2.2-.4 1-.8 2-1.3 3l-.9 2.1c-.4 1-.9 2-1.4 3-.3.7-.6 1.3-.9 2-.5 1-1 2.1-1.5 3.1-.3.6-.6 1.1-.8 1.7-.6 1.1-1.1 2.2-1.7 3.3-.1.2-.2.3-.3.5-2.2 4.1-4.4 8.2-6.8 12.2-.2.4-.5.8-.7 1.2-.7 1.1-1.3 2.2-2 3.3-.3.5-.6.9-.9 1.4-.7 1.1-1.4 2.1-2 3.2-.3.5-.6.9-.9 1.4-.7 1.1-1.4 2.1-2.1 3.2-.3.4-.6.8-.8 1.2-.8 1.1-1.5 2.2-2.3 3.3-.2.2-.3.5-.5.7-37.6 54.7-94.5 91.4-160.1 102.4zm117.3-86.2c13-13 24.2-27.4 33.6-42.9v-71.3c0-2.1-1.6-3.7-3.7-3.7h-22.2c-2.1 0-3.7 1.6-3.7 3.7V326h-29.5V182c0-2.1-1.6-3.7-3.7-3.7h-22.1c-2.1 0-3.7 1.6-3.7 3.7v25.9h-29.5V182c0-2.1-1.6-3.7-3.7-3.7H304c-2.1 0-3.7 1.6-3.7 3.7v25.9h-29.5V182c0-4.8-6.5-3.7-9.5-3.7v-30.7c6.7-1.6 13.8-2.8 20.8-2.8 8.8 0 16.8 3.5 25.4 3.5 3.7 0 22.4-.9 22.4-6.5V93.4c0-2.1-1.6-3.7-3.7-3.7-4.2 0-12.2 3.5-19.4 3.5-7.9 0-16.9-3.5-26.3-3.5-6.5 0-12.9.9-19.2 2.3v-3.9c4.4-2.1 7.4-6.7 7.4-11.5 0-16.8-25.4-16.8-25.4 0 0 4.8 3 9.5 7.4 11.5v90.2c-3 0-9.5-1.1-9.5 3.7v25.9h-29.5V182c0-2.1-1.6-3.7-3.7-3.7h-22.2c-2.1 0-3.7 1.6-3.7 3.7v25.9h-29.5V182c0-2.1-1.6-3.7-3.7-3.7h-22.1c-2.1 0-3.7 1.6-3.7 3.7v144H93.5v-25.8c0-2.1-1.6-3.7-3.7-3.7H67.7c-2.1 0-3.7 1.6-3.7 3.7v71.3c9.4 15.5 20.6 29.9 33.6 42.9 20.6 20.6 44.5 36.7 71.2 48 13.9 5.9 28.2 10.3 42.9 13.2v-75.8c0-58.6 88.6-58.6 88.6 0v75.8c14.7-2.9 29-7.4 42.9-13.2 26.7-11.3 50.6-27.4 71.2-48"],forumbee:[448,512,[],"f211","M5.8 309.7C2 292.7 0 275.5 0 258.3 0 135 99.8 35 223.1 35c16.6 0 33.3 2 49.3 5.5C149 87.5 51.9 186 5.8 309.7zm392.9-189.2C385 103 369 87.8 350.9 75.2c-149.6 44.3-266.3 162.1-309.7 312 12.5 18.1 28 35.6 45.2 49 43.1-151.3 161.2-271.7 312.3-315.7zm15.8 252.7c15.2-25.1 25.4-53.7 29.5-82.8-79.4 42.9-145 110.6-187.6 190.3 30-4.4 58.9-15.3 84.6-31.3 35 13.1 70.9 24.3 107 33.6-9.3-36.5-20.4-74.5-33.5-109.8zm29.7-145.5c-2.6-19.5-7.9-38.7-15.8-56.8C290.5 216.7 182 327.5 137.1 466c18.1 7.6 37 12.5 56.6 15.2C240 367.1 330.5 274.4 444.2 227.7z"],foursquare:[368,512,[],"f180","M323.1 3H49.9C12.4 3 0 31.3 0 49.1v433.8c0 20.3 12.1 27.7 18.2 30.1 6.2 2.5 22.8 4.6 32.9-7.1C180 356.5 182.2 354 182.2 354c3.1-3.4 3.4-3.1 6.8-3.1h83.4c35.1 0 40.6-25.2 44.3-39.7l48.6-243C373.8 25.8 363.1 3 323.1 3zm-16.3 73.8l-11.4 59.7c-1.2 6.5-9.5 13.2-16.9 13.2H172.1c-12 0-20.6 8.3-20.6 20.3v13c0 12 8.6 20.6 20.6 20.6h90.4c8.3 0 16.6 9.2 14.8 18.2-1.8 8.9-10.5 53.8-11.4 58.8-.9 4.9-6.8 13.5-16.9 13.5h-73.5c-13.5 0-17.2 1.8-26.5 12.6 0 0-8.9 11.4-89.5 108.3-.9.9-1.8.6-1.8-.3V75.9c0-7.7 6.8-16.6 16.6-16.6h219c8.2 0 15.6 7.7 13.5 17.5z"],"free-code-camp":[576,512,[],"f2c5","M69.3 144.5c-41 68.5-36.4 163 1 227C92.5 409.7 120 423.9 120 438c0 6.8-6 13-12.8 13C87.7 451 8 375.5 8 253.2c0-111.5 78-186 97.1-186 6 0 14.9 4.8 14.9 11.1 0 12.7-28.3 28.6-50.7 66.2zm195.8 213.8c4.5 1.8 12.3 5.2 12.3-1.2 0-2.7-2.2-2.9-4.3-3.6-8.5-3.4-14-7.7-19.1-15.2-8.2-12.1-10.1-24.2-10.1-38.6 0-32.1 44.2-37.9 44.2-70 0-12.3-7.7-15.9-7.7-19.3 0-2.2.7-2.2 2.9-2.2 8 0 19.1 13.3 22.5 19.8 2.2 4.6 2.4 6 2.4 11.1 0 7-.7 14.2-.7 21.3 0 27 31.9 19.8 31.9 6.8 0-6-3.6-11.6-3.6-17.4 0-.7 0-1.2.7-1.2 3.4 0 9.4 7.7 11.1 10.1 5.8 8.9 8.5 20.8 8.5 31.4 0 32.4-29.5 49-29.5 56 0 1 2.9 7.7 12.1 1.9 29.7-15.1 53.1-47.6 53.1-89.8 0-33.6-8.7-57.7-32.1-82.6-3.9-4.1-16.4-16.9-22.5-16.9-8.2 0 7.2 18.6 7.2 31.2 0 7.2-4.8 12.3-12.3 12.3-11.6 0-14.5-25.4-15.9-33.3-5.8-33.8-12.8-58.2-46.4-74.1-10.4-5-36.5-11.8-36.5-2.2 0 2.4 2.7 4.1 4.6 5.1 9.2 5.6 19.6 21.4 19.6 38.2 0 46.1-57.7 88.2-57.7 136.2-.2 40.3 28.1 72.6 65.3 86.2zM470.4 67c-6 0-14.4 6.5-14.4 12.6 0 8.7 12.1 19.6 17.6 25.4 81.6 85.1 78.6 214.3 17.6 291-7 8.9-35.3 35.3-35.3 43.5 0 5.1 8.2 11.4 13.2 11.4 25.4 0 98.8-80.8 98.8-185.7C568 145.9 491.8 67 470.4 67zm-42.3 323.1H167c-9.4 0-15.5 7.5-15.5 16.4 0 8.5 7 15.5 15.5 15.5h261.1c9.4 0 11.9-7.5 11.9-16.4 0-8.5-3.5-15.5-11.9-15.5z"],freebsd:[448,512,[],"f3a4","M303.7 96.2c11.1-11.1 115.5-77 139.2-53.2 23.7 23.7-42.1 128.1-53.2 139.2-11.1 11.1-39.4.9-63.1-22.9-23.8-23.7-34.1-52-22.9-63.1zM109.9 68.1C73.6 47.5 22 24.6 5.6 41.1c-16.6 16.6 7.1 69.4 27.9 105.7 18.5-32.2 44.8-59.3 76.4-78.7zM406.7 174c3.3 11.3 2.7 20.7-2.7 26.1-20.3 20.3-87.5-27-109.3-70.1-18-32.3-11.1-53.4 14.9-48.7 5.7-3.6 12.3-7.6 19.6-11.6-29.8-15.5-63.6-24.3-99.5-24.3-119.1 0-215.6 96.5-215.6 215.6 0 119 96.5 215.6 215.6 215.6S445.3 380.1 445.3 261c0-38.4-10.1-74.5-27.7-105.8-3.9 7-7.6 13.3-10.9 18.8z"],"get-pocket":[448,512,[],"f265","M407.6 64h-367C18.5 64 0 82.5 0 104.6v135.2C0 364.5 99.7 464 224.2 464c124 0 223.8-99.5 223.8-224.2V104.6c0-22.4-17.7-40.6-40.4-40.6zm-162 268.5c-12.4 11.8-31.4 11.1-42.4 0C89.5 223.6 88.3 227.4 88.3 209.3c0-16.9 13.8-30.7 30.7-30.7 17 0 16.1 3.8 105.2 89.3 90.6-86.9 88.6-89.3 105.5-89.3 16.9 0 30.7 13.8 30.7 30.7 0 17.8-2.9 15.7-114.8 123.2z"],gg:[512,512,[],"f260","M179.2 230.4l102.4 102.4-102.4 102.4L0 256 179.2 76.8l44.8 44.8-25.6 25.6-19.2-19.2-128 128 128 128 51.5-51.5-77.1-76.5 25.6-25.6zM332.8 76.8L230.4 179.2l102.4 102.4 25.6-25.6-77.1-76.5 51.5-51.5 128 128-128 128-19.2-19.2-25.6 25.6 44.8 44.8L512 256 332.8 76.8z"],"gg-circle":[512,512,[],"f261","M257 8C120 8 9 119 9 256s111 248 248 248 248-111 248-248S394 8 257 8zm-49.5 374.8L81.8 257.1l125.7-125.7 35.2 35.4-24.2 24.2-11.1-11.1-77.2 77.2 77.2 77.2 26.6-26.6-53.1-52.9 24.4-24.4 77.2 77.2-75 75.2zm99-2.2l-35.2-35.2 24.1-24.4 11.1 11.1 77.2-77.2-77.2-77.2-26.5 26.5 53.1 52.9-24.4 24.4-77.2-77.2 75-75L432.2 255 306.5 380.6z"],git:[448,512,[],"f1d3","M18.8 221.7c0 25.3 16.2 60 41.5 68.5v1c-18.8 8.3-24 50.6 1 65.8v1C34 367 16 384.3 16 414.2c0 51.5 48.8 65.8 91.5 65.8 52 0 90.7-18.7 90.7-76 0-70.5-101-44.5-101-82.8 0-13.5 7.2-18.7 19.7-21.3 41.5-7.7 67.5-40 67.5-82.2 0-7.3-1.5-14.2-4-21 6.7-1.5 13.2-3.3 19.7-5.5v-50.5c-17.2 6.8-35.7 11.8-54.5 11.8-53.8-31-126.8 1.3-126.8 69.2zm87.7 163.8c17 0 41.2 3 41.2 25 0 21.8-19.5 26.3-37.7 26.3-17.3 0-43.3-2.7-43.3-25.2.1-22.3 22.1-26.1 39.8-26.1zM103.3 256c-22 0-31.3-13-31.3-33.8 0-49.3 61-48.8 61-.5 0 20.3-8 34.3-29.7 34.3zM432 305.5v49c-13.3 7.3-30.5 9.8-45.5 9.8-53.5 0-59.8-42.2-59.8-85.7v-87.7h.5v-1c-7 0-7.3-1.6-24 1v-47.5h24c0-22.3.3-31-1.5-41.2h56.7c-2 13.8-1.5 27.5-1.5 41.2h51v47.5s-19.3-1-51-1V281c0 14.8 3.3 32.8 21.8 32.8 9.8 0 21.3-2.8 29.3-8.3zM286 68.7c0 18.7-14.5 36.2-33.8 36.2-19.8 0-34.5-17.2-34.5-36.2 0-19.3 14.5-36.7 34.5-36.7C272 32 286 50 286 68.7zm-6.2 74.5c-1.8 14.6-1.6 199.8 0 217.8h-55.5c1.6-18.1 1.8-203 0-217.8h55.5z"],"git-square":[448,512,[],"f1d2","M140.1 348.5c12.1 0 29.5 2.1 29.5 17.9 0 15.5-13.9 18.8-27 18.8-12.3 0-30.9-2-30.9-18s15.7-18.7 28.4-18.7zm-24.7-116.6c0 14.8 6.6 24.1 22.3 24.1 15.5 0 21.2-10 21.2-24.5.1-34.4-43.5-34.8-43.5.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-241 93.7c-12.3 4.8-25.5 8.4-38.9 8.4-38.5-22.1-90.7.9-90.7 49.5 0 18 11.6 42.9 29.6 48.9v.7c-13.4 5.9-17.1 36.1.7 47v.7c-19.5 6.4-32.3 18.8-32.3 40.2 0 36.8 34.8 47 65.4 47 37.1 0 64.8-13.4 64.8-54.3 0-50.4-72.1-31.8-72.1-59.1 0-9.6 5.2-13.4 14.1-15.2 29.6-5.5 48.2-28.6 48.2-58.7 0-5.2-1.1-10.2-2.9-15 4.8-1.1 9.5-2.3 14.1-3.9v-36.2zm56.8 1.8h-39.6c1.3 10.6 1.1 142.6 0 155.5h39.6c-1.1-12.8-1.2-145.1 0-155.5zm4.5-53.3c0-13.4-10-26.2-24.1-26.2-14.3 0-24.6 12.5-24.6 26.2 0 13.6 10.5 25.9 24.6 25.9 13.7 0 24.1-12.5 24.1-25.9zm104.3 53.3h-36.4c0-9.8-.4-19.6 1.1-29.5h-40.5c1.3 7.3 1.1 13.6 1.1 29.5h-17.1v33.9c11.9-1.9 12.1-.7 17.1-.7v.7h-.4v62.7c0 31.1 4.5 61.2 42.7 61.2 10.7 0 23-1.8 32.5-7v-35c-5.7 3.9-13.9 5.9-20.9 5.9-13.2 0-15.5-12.9-15.5-23.4v-65.2c22.7 0 36.4.7 36.4.7v-33.8z"],github:[496,512,[],"f09b","M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"],"github-alt":[480,512,[],"f113","M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z"],"github-square":[448,512,[],"f092","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM277.3 415.7c-8.4 1.5-11.5-3.7-11.5-8 0-5.4.2-33 .2-55.3 0-15.6-5.2-25.5-11.3-30.7 37-4.1 76-9.2 76-73.1 0-18.2-6.5-27.3-17.1-39 1.7-4.3 7.4-22-1.7-45-13.9-4.3-45.7 17.9-45.7 17.9-13.2-3.7-27.5-5.6-41.6-5.6-14.1 0-28.4 1.9-41.6 5.6 0 0-31.8-22.2-45.7-17.9-9.1 22.9-3.5 40.6-1.7 45-10.6 11.7-15.6 20.8-15.6 39 0 63.6 37.3 69 74.3 73.1-4.8 4.3-9.1 11.7-10.6 22.3-9.5 4.3-33.8 11.7-48.3-13.9-9.1-15.8-25.5-17.1-25.5-17.1-16.2-.2-1.1 10.2-1.1 10.2 10.8 5 18.4 24.2 18.4 24.2 9.7 29.7 56.1 19.7 56.1 19.7 0 13.9.2 36.5.2 40.6 0 4.3-3 9.5-11.5 8-66-22.1-112.2-84.9-112.2-158.3 0-91.8 70.2-161.5 162-161.5S388 165.6 388 257.4c.1 73.4-44.7 136.3-110.7 158.3zm-98.1-61.1c-1.9.4-3.7-.4-3.9-1.7-.2-1.5 1.1-2.8 3-3.2 1.9-.2 3.7.6 3.9 1.9.3 1.3-1 2.6-3 3zm-9.5-.9c0 1.3-1.5 2.4-3.5 2.4-2.2.2-3.7-.9-3.7-2.4 0-1.3 1.5-2.4 3.5-2.4 1.9-.2 3.7.9 3.7 2.4zm-13.7-1.1c-.4 1.3-2.4 1.9-4.1 1.3-1.9-.4-3.2-1.9-2.8-3.2.4-1.3 2.4-1.9 4.1-1.5 2 .6 3.3 2.1 2.8 3.4zm-12.3-5.4c-.9 1.1-2.8.9-4.3-.6-1.5-1.3-1.9-3.2-.9-4.1.9-1.1 2.8-.9 4.3.6 1.3 1.3 1.8 3.3.9 4.1zm-9.1-9.1c-.9.6-2.6 0-3.7-1.5s-1.1-3.2 0-3.9c1.1-.9 2.8-.2 3.7 1.3 1.1 1.5 1.1 3.3 0 4.1zm-6.5-9.7c-.9.9-2.4.4-3.5-.6-1.1-1.3-1.3-2.8-.4-3.5.9-.9 2.4-.4 3.5.6 1.1 1.3 1.3 2.8.4 3.5zm-6.7-7.4c-.4.9-1.7 1.1-2.8.4-1.3-.6-1.9-1.7-1.5-2.6.4-.6 1.5-.9 2.8-.4 1.3.7 1.9 1.8 1.5 2.6z"],gitkraken:[592,512,[],"f3a6","M565.7 118.1c-2.3-6.1-9.3-9.2-15.3-6.6-5.7 2.4-8.5 8.9-6.3 14.6 10.9 29 16.9 60.5 16.9 93.3 0 134.6-100.3 245.7-230.2 262.7V358.4c7.9-1.5 15.5-3.6 23-6.2v104c106.7-25.9 185.9-122.1 185.9-236.8 0-91.8-50.8-171.8-125.8-213.3-5.7-3.2-13-.9-15.9 5-2.7 5.5-.6 12.2 4.7 15.1 67.9 37.6 113.9 110 113.9 193.2 0 93.3-57.9 173.1-139.8 205.4v-92.2c14.2-4.5 24.9-17.7 24.9-33.5 0-13.1-6.8-24.4-17.3-30.5 8.3-79.5 44.5-58.6 44.5-83.9V170c0-38-87.9-161.8-129-164.7-2.5-.2-5-.2-7.6 0C251.1 8.3 163.2 132 163.2 170v14.8c0 25.3 36.3 4.3 44.5 83.9-10.6 6.1-17.3 17.4-17.3 30.5 0 15.8 10.6 29 24.8 33.5v92.2c-81.9-32.2-139.8-112-139.8-205.4 0-83.1 46-155.5 113.9-193.2 5.4-3 7.4-9.6 4.7-15.1-2.9-5.9-10.1-8.2-15.9-5-75 41.5-125.8 121.5-125.8 213.3 0 114.7 79.2 210.8 185.9 236.8v-104c7.6 2.5 15.1 4.6 23 6.2v123.7C131.4 465.2 31 354.1 31 219.5c0-32.8 6-64.3 16.9-93.3 2.2-5.8-.6-12.2-6.3-14.6-6-2.6-13 .4-15.3 6.6C14.5 149.7 8 183.8 8 219.5c0 155.1 122.6 281.6 276.3 287.8V361.4c6.8.4 15 .5 23.4 0v145.8C461.4 501.1 584 374.6 584 219.5c0-35.7-6.5-69.8-18.3-101.4zM365.9 275.5c13 0 23.7 10.5 23.7 23.7 0 13.1-10.6 23.7-23.7 23.7-13 0-23.7-10.5-23.7-23.7 0-13.1 10.6-23.7 23.7-23.7zm-139.8 47.3c-13.2 0-23.7-10.7-23.7-23.7s10.5-23.7 23.7-23.7c13.1 0 23.7 10.6 23.7 23.7 0 13-10.5 23.7-23.7 23.7z"],gitlab:[512,512,[],"f296","M29.782 199.732L256 493.714 8.074 309.699c-6.856-5.142-9.712-13.996-7.141-21.993l28.849-87.974zm75.405-174.806c-3.142-8.854-15.709-8.854-18.851 0L29.782 199.732h131.961L105.187 24.926zm56.556 174.806L256 493.714l94.257-293.982H161.743zm349.324 87.974l-28.849-87.974L256 493.714l247.926-184.015c6.855-5.142 9.711-13.996 7.141-21.993zm-85.404-262.78c-3.142-8.854-15.709-8.854-18.851 0l-56.555 174.806h131.961L425.663 24.926z"],gitter:[384,512,[],"f426","M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"],glide:[448,512,[],"f2a5","M252.8 148.6c0 8.8-1.6 17.7-3.4 26.4-5.8 27.8-11.6 55.8-17.3 83.6-1.4 6.3-8.3 4.9-13.7 4.9-23.8 0-30.5-26-30.5-45.5 0-29.3 11.2-68.1 38.5-83.1 4.3-2.5 9.2-4.2 14.1-4.2 11.4 0 12.3 8.3 12.3 17.9zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-64 187c0-5.1-20.8-37.7-25.5-39.5-2.2-.9-7.2-2.3-9.6-2.3-23.1 0-38.7 10.5-58.2 21.5l-.5-.5c4.3-29.4 14.6-57.2 14.6-87.4 0-44.6-23.8-62.7-67.5-62.7-71.7 0-108 70.8-108 123.5 0 54.7 32 85 86.3 85 7.5 0 6.9-.6 6.9 2.3-10.5 80.3-56.5 82.9-56.5 58.9 0-24.4 28-36.5 28.3-38-.2-7.6-29.3-17.2-36.7-17.2-21.1 0-32.7 33-32.7 50.6 0 32.3 20.4 54.7 53.3 54.7 48.2 0 83.4-49.7 94.3-91.7 9.4-37.7 7-39.4 12.3-42.1 20-10.1 35.8-16.8 58.4-16.8 11.1 0 19 2.3 36.7 5.2 1.8.1 4.1-1.7 4.1-3.5z"],"glide-g":[448,512,[],"f2a6","M407.1 211.2c-3.5-1.4-11.6-3.8-15.4-3.8-37.1 0-62.2 16.8-93.5 34.5l-.9-.9c7-47.3 23.5-91.9 23.5-140.4C320.8 29.1 282.6 0 212.4 0 97.3 0 39 113.7 39 198.4 39 286.3 90.3 335 177.6 335c12 0 11-1 11 3.8-16.9 128.9-90.8 133.1-90.8 94.6 0-39.2 45-58.6 45.5-61-.3-12.2-47-27.6-58.9-27.6-33.9.1-52.4 51.2-52.4 79.3C32 476 64.8 512 117.5 512c77.4 0 134-77.8 151.4-145.4 15.1-60.5 11.2-63.3 19.7-67.6 32.2-16.2 57.5-27 93.8-27 17.8 0 30.5 3.7 58.9 8.4 2.9 0 6.7-2.9 6.7-5.8 0-8-33.4-60.5-40.9-63.4zm-175.3-84.4c-9.3 44.7-18.6 89.6-27.8 134.3-2.3 10.2-13.3 7.8-22 7.8-38.3 0-49-41.8-49-73.1 0-47 18-109.3 61.8-133.4 7-4.1 14.8-6.7 22.6-6.7 18.6 0 20 13.3 20 28.7-.1 14.3-2.7 28.5-5.6 42.4z"],gofore:[400,512,[],"f3a7","M324 319.8h-13.2v34.7c-24.5 23.1-56.3 35.8-89.9 35.8-73.2 0-132.4-60.2-132.4-134.4 0-74.1 59.2-134.4 132.4-134.4 35.3 0 68.6 14 93.6 39.4l62.3-63.3C335 55.3 279.7 32 220.7 32 98 32 0 132.6 0 256c0 122.5 97 224 220.7 224 63.2 0 124.5-26.2 171-82.5-2-27.6-13.4-77.7-67.7-77.7zm-12.1-112.5H205.6v89H324c33.5 0 60.5 15.1 76 41.8v-30.6c0-65.2-40.4-100.2-88.1-100.2z"],goodreads:[448,512,[],"f3a8","M299.9 191.2c5.1 37.3-4.7 79-35.9 100.7-22.3 15.5-52.8 14.1-70.8 5.7-37.1-17.3-49.5-58.6-46.8-97.2 4.3-60.9 40.9-87.9 75.3-87.5 46.9-.2 71.8 31.8 78.2 78.3zM448 88v336c0 30.9-25.1 56-56 56H56c-30.9 0-56-25.1-56-56V88c0-30.9 25.1-56 56-56h336c30.9 0 56 25.1 56 56zM330 313.2s-.1-34-.1-217.3h-29v40.3c-.8.3-1.2-.5-1.6-1.2-9.6-20.7-35.9-46.3-76-46-51.9.4-87.2 31.2-100.6 77.8-4.3 14.9-5.8 30.1-5.5 45.6 1.7 77.9 45.1 117.8 112.4 115.2 28.9-1.1 54.5-17 69-45.2.5-1 1.1-1.9 1.7-2.9.2.1.4.1.6.2.3 3.8.2 30.7.1 34.5-.2 14.8-2 29.5-7.2 43.5-7.8 21-22.3 34.7-44.5 39.5-17.8 3.9-35.6 3.8-53.2-1.2-21.5-6.1-36.5-19-41.1-41.8-.3-1.6-1.3-1.3-2.3-1.3h-26.8c.8 10.6 3.2 20.3 8.5 29.2 24.2 40.5 82.7 48.5 128.2 37.4 49.9-12.3 67.3-54.9 67.4-106.3z"],"goodreads-g":[384,512,[],"f3a9","M42.6 403.3h2.8c12.7 0 25.5 0 38.2.1 1.6 0 3.1-.4 3.6 2.1 7.1 34.9 30 54.6 62.9 63.9 26.9 7.6 54.1 7.8 81.3 1.8 33.8-7.4 56-28.3 68-60.4 8-21.5 10.7-43.8 11-66.5.1-5.8.3-47-.2-52.8l-.9-.3c-.8 1.5-1.7 2.9-2.5 4.4-22.1 43.1-61.3 67.4-105.4 69.1-103 4-169.4-57-172-176.2-.5-23.7 1.8-46.9 8.3-69.7C58.3 47.7 112.3.6 191.6 0c61.3-.4 101.5 38.7 116.2 70.3.5 1.1 1.3 2.3 2.4 1.9V10.6h44.3c0 280.3.1 332.2.1 332.2-.1 78.5-26.7 143.7-103 162.2-69.5 16.9-159 4.8-196-57.2-8-13.5-11.8-28.3-13-44.5zM188.9 36.5c-52.5-.5-108.5 40.7-115 133.8-4.1 59 14.8 122.2 71.5 148.6 27.6 12.9 74.3 15 108.3-8.7 47.6-33.2 62.7-97 54.8-154-9.7-71.1-47.8-120-119.6-119.7z"],google:[488,512,[],"f1a0","M488 261.8C488 403.3 391.1 504 248 504 110.8 504 0 393.2 0 256S110.8 8 248 8c66.8 0 123 24.5 166.3 64.9l-67.5 64.9C258.5 52.6 94.3 116.6 94.3 256c0 86.5 69.1 156.6 153.7 156.6 98.2 0 135-70.4 140.8-106.9H248v-85.3h236.1c2.3 12.7 3.9 24.9 3.9 41.4z"],"google-drive":[512,512,[],"f3aa","M339 314.9L175.4 32h161.2l163.6 282.9H339zm-137.5 23.6L120.9 480h310.5L512 338.5H201.5zM154.1 67.4L0 338.5 80.6 480 237 208.8 154.1 67.4z"],"google-play":[512,512,[],"f3ab","M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l256.6-256L47 0zm425.2 225.6l-58.9-34.1-65.7 64.5 65.7 64.5 60.1-34.1c18-14.3 18-46.5-1.2-60.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z"],"google-plus":[496,512,[],"f2b3","M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm-70.7 372c-68.8 0-124-55.5-124-124s55.2-124 124-124c31.3 0 60.1 11 83 32.3l-33.6 32.6c-13.2-12.9-31.3-19.1-49.4-19.1-42.9 0-77.2 35.5-77.2 78.1s34.2 78.1 77.2 78.1c32.6 0 64.9-19.1 70.1-53.3h-70.1v-42.6h116.9c1.3 6.8 1.9 13.6 1.9 20.7 0 70.8-47.5 121.2-118.8 121.2zm230.2-106.2v35.5H372v-35.5h-35.5v-35.5H372v-35.5h35.5v35.5h35.2v35.5h-35.2z"],"google-plus-g":[640,512,[],"f0d5","M386.061 228.496c1.834 9.692 3.143 19.384 3.143 31.956C389.204 370.205 315.599 448 204.8 448c-106.084 0-192-85.915-192-192s85.916-192 192-192c51.864 0 95.083 18.859 128.611 50.292l-52.126 50.03c-14.145-13.621-39.028-29.599-76.485-29.599-65.484 0-118.92 54.221-118.92 121.277 0 67.056 53.436 121.277 118.92 121.277 75.961 0 104.513-54.745 108.965-82.773H204.8v-66.009h181.261zm185.406 6.437V179.2h-56.001v55.733h-55.733v56.001h55.733v55.733h56.001v-55.733H627.2v-56.001h-55.733z"],"google-plus-square":[448,512,[],"f0d4","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM164 356c-55.3 0-100-44.7-100-100s44.7-100 100-100c27 0 49.5 9.8 67 26.2l-27.1 26.1c-7.4-7.1-20.3-15.4-39.8-15.4-34.1 0-61.9 28.2-61.9 63.2 0 34.9 27.8 63.2 61.9 63.2 39.6 0 54.4-28.5 56.8-43.1H164v-34.4h94.4c1 5 1.6 10.1 1.6 16.6 0 57.1-38.3 97.6-96 97.6zm220-81.8h-29v29h-29.2v-29h-29V245h29v-29H355v29h29v29.2z"],"google-wallet":[448,512,[],"f1ee","M156.8 126.8c37.6 60.6 64.2 113.1 84.3 162.5-8.3 33.8-18.8 66.5-31.3 98.3-13.2-52.3-26.5-101.3-56-148.5 6.5-36.4 2.3-73.6 3-112.3zM109.3 200H16.1c-6.5 0-10.5 7.5-6.5 12.7C51.8 267 81.3 330.5 101.3 400h103.5c-16.2-69.7-38.7-133.7-82.5-193.5-3-4-8-6.5-13-6.5zm47.8-88c68.5 108 130 234.5 138.2 368H409c-12-138-68.4-265-143.2-368H157.1zm251.8-68.5c-1.8-6.8-8.2-11.5-15.2-11.5h-88.3c-5.3 0-9 5-7.8 10.3 13.2 46.5 22.3 95.5 26.5 146 48.2 86.2 79.7 178.3 90.6 270.8 15.8-60.5 25.3-133.5 25.3-203 0-73.6-12.1-145.1-31.1-212.6z"],gratipay:[496,512,[],"f184","M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm114.6 226.4l-113 152.7-112.7-152.7c-8.7-11.9-19.1-50.4 13.6-72 28.1-18.1 54.6-4.2 68.5 11.9 15.9 17.9 46.6 16.9 61.7 0 13.9-16.1 40.4-30 68.1-11.9 32.9 21.6 22.6 60 13.8 72z"],grav:[512,512,[],"f2d6","M301.1 212c4.4 4.4 4.4 11.9 0 16.3l-9.7 9.7c-4.4 4.7-11.9 4.7-16.6 0l-10.5-10.5c-4.4-4.7-4.4-11.9 0-16.6l9.7-9.7c4.4-4.4 11.9-4.4 16.6 0l10.5 10.8zm-30.2-19.7c3-3 3-7.8 0-10.5-2.8-3-7.5-3-10.5 0-2.8 2.8-2.8 7.5 0 10.5 3.1 2.8 7.8 2.8 10.5 0zm-26 5.3c-3 2.8-3 7.5 0 10.2 2.8 3 7.5 3 10.5 0 2.8-2.8 2.8-7.5 0-10.2-3-3-7.7-3-10.5 0zm72.5-13.3c-19.9-14.4-33.8-43.2-11.9-68.1 21.6-24.9 40.7-17.2 59.8.8 11.9 11.3 29.3 24.9 17.2 48.2-12.5 23.5-45.1 33.2-65.1 19.1zm47.7-44.5c-8.9-10-23.3 6.9-15.5 16.1 7.4 9 32.1 2.4 15.5-16.1zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-66.2 42.6c2.5-16.1-20.2-16.6-25.2-25.7-13.6-24.1-27.7-36.8-54.5-30.4 11.6-8 23.5-6.1 23.5-6.1.3-6.4 0-13-9.4-24.9 3.9-12.5.3-22.4.3-22.4 15.5-8.6 26.8-24.4 29.1-43.2 3.6-31-18.8-59.2-49.8-62.8-22.1-2.5-43.7 7.7-54.3 25.7-23.2 40.1 1.4 70.9 22.4 81.4-14.4-1.4-34.3-11.9-40.1-34.3-6.6-25.7 2.8-49.8 8.9-61.4 0 0-4.4-5.8-8-8.9 0 0-13.8 0-24.6 5.3 11.9-15.2 25.2-14.4 25.2-14.4 0-6.4-.6-14.9-3.6-21.6-5.4-11-23.8-12.9-31.7 2.8.1-.2.3-.4.4-.5-5 11.9-1.1 55.9 16.9 87.2-2.5 1.4-9.1 6.1-13 10-21.6 9.7-56.2 60.3-56.2 60.3-28.2 10.8-77.2 50.9-70.6 79.7.3 3 1.4 5.5 3 7.5-2.8 2.2-5.5 5-8.3 8.3-11.9 13.8-5.3 35.2 17.7 24.4 15.8-7.2 29.6-20.2 36.3-30.4 0 0-5.5-5-16.3-4.4 27.7-6.6 34.3-9.4 46.2-9.1 8 3.9 8-34.3 8-34.3 0-14.7-2.2-31-11.1-41.5 12.5 12.2 29.1 32.7 28 60.6-.8 18.3-15.2 23-15.2 23-9.1 16.6-43.2 65.9-30.4 106 0 0-9.7-14.9-10.2-22.1-17.4 19.4-46.5 52.3-24.6 64.5 26.6 14.7 108.8-88.6 126.2-142.3 34.6-20.8 55.4-47.3 63.9-65 22 43.5 95.3 94.5 101.1 59z"],gripfire:[384,512,[],"f3ac","M171.8 503.8c0-5.3 4.8-12.2 4.8-22.3 0-15.2-13-39.9-78.1-86.6C64.2 365.8 32 336.4 32 286.6 32 171.9 179.1 110.1 179.1 18c0-3.3-.2-6.7-.6-10 5.1 2.4 39.1 43.3 39.1 90.4 0 80.5-105.1 129.2-105.1 203 0 26.9 16.6 47.2 32.6 69.5 22.5 30.2 44.2 56.9 44.2 86.5-.1 14.5-4.4 29.7-17.5 46.4zm146-241.4c1.5 8.4 2.2 16.6 2.2 24.6 0 51.8-29.4 97.5-67.3 136.8-1 1-2.2 2.4-3.2 2.4-3.6 0-35.5-41.6-35.5-53.2 0 0 41.8-55.7 41.8-96.9 0-10.8-2.7-21.7-9.1-33.4-1.5 32.3-55.7 87.7-58.1 87.7-2.7 0-17.9-22-17.9-42.1 0-5.3 1-10.7 3.2-15.8 2.4-5.5 56.6-72 56.6-116.7 0-6.2-1-12-3.4-17.1l-4-7.2c16.7 6.5 82.6 64.1 94.7 130.9"],grunt:[384,512,[],"f3ad","M61.3 189.3c-1.1 10 5.2 19.1 5.2 19.1.7-7.5 2.2-12.8 4-16.6.4 10.3 3.2 23.5 12.8 34.1 6.9 7.6 35.6 23.3 54.9 6.1 1 2.4 2.1 5.3 3 8.5 2.9 10.3-2.7 25.3-2.7 25.3s15.1-17.1 13.9-32.5c10.8-.5 21.4-8.4 21.1-19.5 0 0-18.9 10.4-35.5-8.8-9.7-11.2-40.9-42-83.1-31.8 4.3 1 8.9 2.4 13.5 4.1h-.1c-4.2 2-6.5 7.1-7 12zm28.3-1.8c19.5 11 37.4 25.7 44.9 37-5.7 3.3-21.7 10.4-38-1.7-10.3-7.6-9.8-26.2-6.9-35.3zm79.2 233.7c2.2 2.3 1.5 5.3.9 6.8-1.1 2.7-5.5 11.6-13 19.8-2.7 2.9-6.6 4.6-11 4.6-4.3 0-8.7-1.6-11.8-4.3-2.3-2.1-10.2-9.5-13.7-18.6-1.3-3.4-1-6.1.9-8.1 1.3-1.3 4-2.9 9.5-2.9H160c4.1 0 7 .9 8.8 2.7zm62.9-187.9c-1.2 15.5 13.9 32.5 13.9 32.5s-5.6-15-2.7-25.3c.9-3.2 2-6 3-8.5 19.3 17.3 48 1.5 54.8-6.1 9.6-10.6 12.3-23.8 12.8-34.1 1.8 3.8 3.4 9.1 4 16.6 0 0 6.4-9.1 5.2-19.1-.6-5-2.9-10-7-11.8h-.1c4.6-1.8 9.2-3.2 13.5-4.1-42.3-10.2-73.4 20.6-83.1 31.8-16.7 19.2-35.5 8.8-35.5 8.8-.2 10.9 10.4 18.9 21.2 19.3zm17.8-8.8c7.5-11.4 25.4-26 44.9-37 3 9.1 3.4 27.7-7 35.4-16.3 12.1-32.2 5-37.9 1.6-.1.1 0 0 0 0zM263 421.4c1.9 1.9 2.2 4.6.9 7.9-3.5 8.9-11.4 16.1-13.7 18.1-3.1 2.6-7.4 4.2-11.8 4.2s-8.3-1.6-11-4.5c-7.5-8-12-16.7-13-19.3-.6-1.5-1.3-4.4.9-6.7 1.7-1.8 4.7-2.7 8.9-2.7h29.4c5.4.1 8.1 1.7 9.4 3zm-98.3-251.5c9.9 6 18.8 8.1 27.3 8.3 8.5-.2 17.4-2.3 27.3-8.3 0 0-14.5 17.7-27.2 17.8h-.2c-12.7-.2-27.2-17.8-27.2-17.8zm184.5 147.4c-2.4 17.9-13 33.8-24.6 43.7-3.1-22.7-3.7-55.5-3.7-62.4 0-14.7 9.5-24.5 12.2-26.1 2.5-1.5 5.4-3 8.3-4.6 18-9.6 40.4-21.6 40.4-43.7 0-16.2-9.3-23.2-15.4-27.8-.8-.6-1.5-1.1-2.2-1.7-2.1-1.7-3.7-3-4.3-4.4-4.4-9.8-3.6-34.2-1.7-37.6.6-.6 16.7-20.9 11.8-39.2-2-7.4-6.9-13.3-14.1-17-5.3-2.7-11.9-4.2-19.5-4.5-.1-2-.5-3.9-.9-5.9-.6-2.6-1.1-5.3-.9-8.1.4-4.7.8-9 2.2-11.3 8.4-13.3 28.8-17.6 29-17.6l12.3-2.4-8.1-9.5c-.1-.2-17.3-17.5-46.3-17.5-7.9 0-16 1.3-24.1 3.9-24.2 7.8-42.9 30.5-49.4 39.3-3.1-1-6.3-1.9-9.6-2.7-4.2-15.8 9-38.5 9-38.5s-13.6-3-33.7 15.2c-2.6-6.5-8.1-20.5-1.8-37.2C184.6 10.1 177.2 26 175 40.4c-7.6-5.4-6.7-23.1-7.2-27.6-7.5.9-29.2 21.9-28.2 48.3-2 .5-3.9 1.1-5.9 1.7-6.5-8.8-25.1-31.5-49.4-39.3-7.9-2.2-16-3.5-23.9-3.5-29 0-46.1 17.3-46.3 17.5L6 46.9l12.3 2.4c.2 0 20.6 4.3 29 17.6 1.4 2.2 1.8 6.6 2.2 11.3.2 2.8-.4 5.5-.9 8.1-.4 1.9-.8 3.9-.9 5.9-7.7.3-14.2 1.8-19.5 4.5-7.2 3.7-12.1 9.6-14.1 17-5 18.2 11.2 38.5 11.8 39.2 1.9 3.4 2.7 27.8-1.7 37.6-.6 1.4-2.2 2.7-4.3 4.4-.7.5-1.4 1.1-2.2 1.7-6.1 4.6-15.4 11.7-15.4 27.8 0 22.1 22.4 34.1 40.4 43.7 3 1.6 5.8 3.1 8.3 4.6 2.7 1.6 12.2 11.4 12.2 26.1 0 6.9-.6 39.7-3.7 62.4-11.6-9.9-22.2-25.9-24.6-43.8 0 0-29.2 22.6-20.6 70.8 5.2 29.5 23.2 46.1 47 54.7 8.8 19.1 29.4 45.7 67.3 49.6C143 504.3 163 512 192.2 512h.2c29.1 0 49.1-7.7 63.6-19.5 37.9-3.9 58.5-30.5 67.3-49.6 23.8-8.7 41.7-25.2 47-54.7 8.2-48.4-21.1-70.9-21.1-70.9zM305.7 37.7c5.6-1.8 11.6-2.7 17.7-2.7 11 0 19.9 3 24.7 5-3.1 1.4-6.4 3.2-9.7 5.3-2.4-.4-5.6-.8-9.2-.8-10.5 0-20.5 3.1-28.7 8.9-12.3 8.7-18 16.9-20.7 22.4-2.2-1.3-4.5-2.5-7.1-3.7-1.6-.8-3.1-1.5-4.7-2.2 6.1-9.1 19.9-26.5 37.7-32.2zm21 18.2c-.8 1-1.6 2.1-2.3 3.2-3.3 5.2-3.9 11.6-4.4 17.8-.5 6.4-1.1 12.5-4.4 17-4.2.8-8.1 1.7-11.5 2.7-2.3-3.1-5.6-7-10.5-11.2 1.4-4.8 5.5-16.1 13.5-22.5 5.6-4.3 12.2-6.7 19.6-7zM45.6 45.3c-3.3-2.2-6.6-4-9.7-5.3 4.8-2 13.7-5 24.7-5 6.1 0 12 .9 17.7 2.7 17.8 5.8 31.6 23.2 37.7 32.1-1.6.7-3.2 1.4-4.8 2.2-2.5 1.2-4.9 2.5-7.1 3.7-2.6-5.4-8.3-13.7-20.7-22.4-8.3-5.8-18.2-8.9-28.8-8.9-3.4.1-6.6.5-9 .9zm44.7 40.1c-4.9 4.2-8.3 8-10.5 11.2-3.4-.9-7.3-1.9-11.5-2.7C65 89.5 64.5 83.4 64 77c-.5-6.2-1.1-12.6-4.4-17.8-.7-1.1-1.5-2.2-2.3-3.2 7.4.3 14 2.6 19.5 7 8 6.3 12.1 17.6 13.5 22.4zM58.1 259.9c-2.7-1.6-5.6-3.1-8.4-4.6-14.9-8-30.2-16.3-30.2-30.5 0-11.1 4.3-14.6 8.9-18.2l.5-.4c.7-.6 1.4-1.2 2.2-1.8-.9 7.2-1.9 13.3-2.7 14.9 0 0 12.1-15 15.7-44.3 1.4-11.5-1.1-34.3-5.1-43 .2 4.9 0 9.8-.3 14.4-.4-.8-.8-1.6-1.3-2.2-3.2-4-11.8-17.5-9.4-26.6.9-3.5 3.1-6 6.7-7.8 3.8-1.9 8.8-2.9 15.1-2.9 12.3 0 25.9 3.7 32.9 6 25.1 8 55.4 30.9 64.1 37.7.2.2.4.3.4.3l5.6 3.9-3.5-5.8c-.2-.3-19.1-31.4-53.2-46.5 2-2.9 7.4-8.1 21.6-15.1 21.4-10.5 46.5-15.8 74.3-15.8 27.9 0 52.9 5.3 74.3 15.8 14.2 6.9 19.6 12.2 21.6 15.1-34 15.1-52.9 46.2-53.1 46.5l-3.5 5.8 5.6-3.9s.2-.1.4-.3c8.7-6.8 39-29.8 64.1-37.7 7-2.2 20.6-6 32.9-6 6.3 0 11.3 1 15.1 2.9 3.5 1.8 5.7 4.4 6.7 7.8 2.5 9.1-6.1 22.6-9.4 26.6-.5.6-.9 1.3-1.3 2.2-.3-4.6-.5-9.5-.3-14.4-4 8.8-6.5 31.5-5.1 43 3.6 29.3 15.7 44.3 15.7 44.3-.8-1.6-1.8-7.7-2.7-14.9.7.6 1.5 1.2 2.2 1.8l.5.4c4.6 3.7 8.9 7.1 8.9 18.2 0 14.2-15.4 22.5-30.2 30.5-2.9 1.5-5.7 3.1-8.4 4.6-8.7 5-18 16.7-19.1 34.2-.9 14.6.9 49.9 3.4 75.9-12.4 4.8-26.7 6.4-39.7 6.8-2-4.1-3.9-8.5-5.5-13.1-.7-2-19.6-51.1-26.4-62.2 5.5 39 17.5 73.7 23.5 89.6-3.5-.5-7.3-.7-11.7-.7h-117c-4.4 0-8.3.3-11.7.7 6-15.9 18.1-50.6 23.5-89.6-6.8 11.2-25.7 60.3-26.4 62.2-1.6 4.6-3.5 9-5.5 13.1-13-.4-27.2-2-39.7-6.8 2.5-26 4.3-61.2 3.4-75.9-.9-17.4-10.3-29.2-19-34.2zM34.8 404.6c-12.1-20-8.7-54.1-3.7-59.1 10.9 34.4 47.2 44.3 74.4 45.4-2.7 4.2-5.2 7.6-7 10l-1.4 1.4c-7.2 7.8-8.6 18.5-4.1 31.8-22.7-.1-46.3-9.8-58.2-29.5zm45.7 43.5c6 1.1 12.2 1.9 18.6 2.4 3.5 8 7.4 15.9 12.3 23.1-14.4-5.9-24.4-16-30.9-25.5zM192 498.2c-60.6-.1-78.3-45.8-84.9-64.7-3.7-10.5-3.4-18.2.9-23.1 2.9-3.3 9.5-7.2 24.6-7.2h118.8c15.1 0 21.8 3.9 24.6 7.2 4.2 4.8 4.5 12.6.9 23.1-6.6 18.8-24.3 64.6-84.9 64.7zm80.6-24.6c4.9-7.2 8.8-15.1 12.3-23.1 6.4-.5 12.6-1.3 18.6-2.4-6.5 9.5-16.5 19.6-30.9 25.5zm76.6-69c-12 19.7-35.6 29.3-58.1 29.7 4.5-13.3 3.1-24.1-4.1-31.8-.4-.5-.9-1-1.4-1.5-1.8-2.4-4.3-5.8-7-10 27.2-1.2 63.5-11 74.4-45.4 5 5 8.4 39.1-3.8 59z"],gulp:[256,512,[],"f3ae","M209.8 391.1l-14.1 24.6-4.6 80.2c0 8.9-28.3 16.1-63.1 16.1s-63.1-7.2-63.1-16.1l-5.8-79.4-14.9-25.4c41.2 17.3 126 16.7 165.6 0zm-196-253.3l13.6 125.5c5.9-20 20.8-47 40-55.2 6.3-2.7 12.7-2.7 18.7.9 5.2 3 9.6 9.3 10.1 11.8 1.2 6.5-2 9.1-4.5 9.1-3 0-5.3-4.6-6.8-7.3-4.1-7.3-10.3-7.6-16.9-2.8-6.9 5-12.9 13.4-17.1 20.7-5.1 8.8-9.4 18.5-12 28.2-1.5 5.6-2.9 14.6-.6 19.9 1 2.2 2.5 3.6 4.9 3.6 5 0 12.3-6.6 15.8-10.1 4.5-4.5 10.3-11.5 12.5-16l5.2-15.5c2.6-6.8 9.9-5.6 9.9 0 0 10.2-3.7 13.6-10 34.7-5.8 19.5-7.6 25.8-7.6 25.8-.7 2.8-3.4 7.5-6.3 7.5-1.2 0-2.1-.4-2.6-1.2-1-1.4-.9-5.3-.8-6.3.2-3.2 6.3-22.2 7.3-25.2-2 2.2-4.1 4.4-6.4 6.6-5.4 5.1-14.1 11.8-21.5 11.8-3.4 0-5.6-.9-7.7-2.4l7.6 79.6c2 5 39.2 17.1 88.2 17.1 49.1 0 86.3-12.2 88.2-17.1l10.9-94.6c-5.7 5.2-12.3 11.6-19.6 14.8-5.4 2.3-17.4 3.8-17.4-5.7 0-5.2 9.1-14.8 14.4-21.5 1.4-1.7 4.7-5.9 4.7-8.1 0-2.9-6-2.2-11.7 2.5-3.2 2.7-6.2 6.3-8.7 9.7-4.3 6-6.6 11.2-8.5 15.5-6.2 14.2-4.1 8.6-9.1 22-5 13.3-4.2 11.8-5.2 14-.9 1.9-2.2 3.5-4 4.5-1.9 1-4.5.9-6.1-.3-.9-.6-1.3-1.9-1.3-3.7 0-.9.1-1.8.3-2.7 1.5-6.1 7.8-18.1 15-34.3 1.6-3.7 1-2.6.8-2.3-6.2 6-10.9 8.9-14.4 10.5-5.8 2.6-13 2.6-14.5-4.1-.1-.4-.1-.8-.2-1.2-11.8 9.2-24.3 11.7-20-8.1-4.6 8.2-12.6 14.9-22.4 14.9-4.1 0-7.1-1.4-8.6-5.1-2.3-5.5 1.3-14.9 4.6-23.8 1.7-4.5 4-9.9 7.1-16.2 1.6-3.4 4.2-5.4 7.6-4.5.6.2 1.1.4 1.6.7 2.6 1.8 1.6 4.5.3 7.2-3.8 7.5-7.1 13-9.3 20.8-.9 3.3-2 9 1.5 9 2.4 0 4.7-.8 6.9-2.4 4.6-3.4 8.3-8.5 11.1-13.5 2-3.6 4.4-8.3 5.6-12.3.5-1.7 1.1-3.3 1.8-4.8 1.1-2.5 2.6-5.1 5.2-5.1 1.3 0 2.4.5 3.2 1.5 1.7 2.2 1.3 4.5.4 6.9-2 5.6-4.7 10.6-6.9 16.7-1.3 3.5-2.7 8-2.7 11.7 0 3.4 3.7 2.6 6.8 1.2 2.4-1.1 4.8-2.8 6.8-4.5 1.2-4.9.9-3.8 26.4-68.2 1.3-3.3 3.7-4.7 6.1-4.7 1.2 0 2.2.4 3.2 1.1 1.7 1.3 1.7 4.1 1 6.2-.7 1.9-.6 1.3-4.5 10.5-5.2 12.1-8.6 20.8-13.2 31.9-1.9 4.6-7.7 18.9-8.7 22.3-.6 2.2-1.3 5.8 1 5.8 5.4 0 19.3-13.1 23.1-17 .2-.3.5-.4.9-.6.6-1.9 1.2-3.7 1.7-5.5 1.4-3.8 2.7-8.2 5.3-11.3.8-1 1.7-1.6 2.7-1.6 2.8 0 4.2 1.2 4.2 4 0 1.1-.7 5.1-1.1 6.2 1.4-1.5 2.9-3 4.5-4.5 15-13.9 25.7-6.8 25.7.2 0 7.4-8.9 17.7-13.8 23.4-1.6 1.9-4.9 5.4-5 6.4 0 1.3.9 1.8 2.2 1.8 2 0 6.4-3.5 8-4.7 5-3.9 11.8-9.9 16.6-14.1l14.8-136.8c-30.5 17.1-197.6 17.2-228.3.2zm229.7-8.5c0 21-231.2 21-231.2 0 0-8.8 51.8-15.9 115.6-15.9 9 0 17.8.1 26.3.4l12.6-48.7L228.1.6c1.4-1.4 5.8-.2 9.9 3.5s6.6 7.9 5.3 9.3l-.1.1L185.9 74l-10 40.7c39.9 2.6 67.6 8.1 67.6 14.6zm-69.4 4.6c0-.8-.9-1.5-2.5-2.1l-.2.8c0 1.3-5 2.4-11.1 2.4s-11.1-1.1-11.1-2.4c0-.1 0-.2.1-.3l.2-.7c-1.8.6-3 1.4-3 2.3 0 2.1 6.2 3.7 13.7 3.7 7.7.1 13.9-1.6 13.9-3.7z"],"hacker-news":[448,512,[],"f1d4","M0 32v448h448V32H0zm21.2 197.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z"],"hacker-news-square":[448,512,[],"f3af","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM21.2 229.2H21c.1-.1.2-.3.3-.4 0 .1 0 .3-.1.4zm218 53.9V384h-31.4V281.3L128 128h37.3c52.5 98.3 49.2 101.2 59.3 125.6 12.3-27 5.8-24.4 60.6-125.6H320l-80.8 155.1z"],hips:[640,512,[],"f452","M0 80.2c0-1.8.9-2.7 2.7-2.7h40.9c1.9 0 2.8.9 2.8 2.7v81.2c15.2-7.7 31.7-11.5 49.8-11.4 24 .1 44.2 6.2 60.3 18 18.7 13.5 28 31.9 28 55.3v136.1c0 1.9-.9 2.8-2.7 2.8h-27.3c-9.1 0-16.4-7.3-16.4-16.3V223.3c0-.9 2.7-27-45.8-27-48.6 0-45.8 26.2-45.8 27v136.1c0 1.9-.9 2.8-2.8 2.8h-41c-1.8 0-2.7-.9-2.7-2.8V80.2zm497.7 221.5c13.7 10.2 34.1 19.1 58.4 19.1 23.3 0 32.8-4.5 36.5-13.6 3-7.9-.6-16.1-12.2-21.2l-53.6-23.5c-21.4-9.4-33.8-24-37.2-43.6-5.7-33.7 22.2-53.3 22.7-53.7 13.2-9.6 32-15.4 58.5-15.4 19 0 37.4 3.3 55.1 9.9 1.3.5 1.9 1.3 1.9 2.6V207c0 2.1-2.3 3.4-4 2.4-39.7-20.7-76.6-12.3-84-6.8-6.6 4.9-6 12.5 2.6 16.1L600 244c16.5 7.1 28.1 18.4 34.9 34.1 5.5 12.6 6.6 25.6 3.1 39.1-9.6 36.9-44.9 45.5-45.6 45.8-10.5 3.1-23.6 4.3-36.3 4.3-16.6 0-32.6-2.7-48.2-8.2-9.7-3.4-14.6-10.3-14.6-20.7V304c0-2.1 2.3-3.7 4.4-2.3zM376.2 149.8c-31.7 0-104.2 20.1-104.2 103.5v183.5c0 .8.6 2.7 2.7 2.7h40.9c1.9 0 2.8-.9 2.8-2.7V348c16.5 12.7 35.8 19.1 57.7 19.1 60.5 0 108.7-48.5 108.7-108.7.1-60.3-48.2-108.6-108.6-108.6zm0 170.9c-17.2 0-31.9-6.1-44-18.2-12.2-12.2-18.2-26.8-18.2-44 0-34.5 27.6-62.2 62.2-62.2 34.5 0 62.2 27.6 62.2 62.2.1 34.3-27.3 62.2-62.2 62.2zm-124.6 38.7c0 1.9-.9 2.8-2.8 2.8h-40.9c-1.6 0-2.7-1.4-2.7-2.8V157.6c0-1.4 1.1-2.8 2.7-2.8h40.9c1.9 0 2.8.9 2.8 2.8v201.8M228.3 72.5c15.9 0 28.9 12.7 28.9 28.9 0 15.8-12.7 28.9-28.9 28.9s-28.9-13.3-28.9-28.9c.1-16 13-28.9 28.9-28.9"],"hire-a-helper":[512,512,[],"f3b0","M443.1 0H71.9C67.9 37.3 37.4 67.8 0 71.7v371.5c37.4 4.9 66 32.4 71.9 68.8h372.2c3-36.4 32.5-65.8 67.9-69.8V71.7c-36.4-5.9-65-35.3-68.9-71.7zm-37 404.9c-36.3 0-18.8-2-55.1-2-35.8 0-21 2-56.1 2-5.9 0-4.9-8.2 0-9.8 22.8-7.6 22.9-10.2 24.6-12.8 10.4-15.6 5.9-83 5.9-113 0-5.3-6.4-12.8-13.8-12.8H200.4c-7.4 0-13.8 7.5-13.8 12.8 0 30-4.5 97.4 5.9 113 1.7 2.5 1.8 5.2 24.6 12.8 4.9 1.6 6 9.8 0 9.8-35.1 0-20.3-2-56.1-2-36.3 0-18.8 2-55.1 2-7.9 0-5.8-10.8 0-10.8 10.2-3.4 13.5-3.5 21.7-13.8 7.7-12.9 7.9-44.4 7.9-127.8V151.3c0-22.2-12.2-28.3-28.6-32.4-8.8-2.2-4-11.8 1-11.8 36.5 0 20.6 2 57.1 2 32.7 0 16.5-2 49.2-2 3.3 0 8.5 8.3 1 10.8-4.9 1.6-27.6 3.7-27.6 39.3 0 45.6-.2 55.8 1 68.8 0 1.3 2.3 12.8 12.8 12.8h109.2c10.5 0 12.8-11.5 12.8-12.8 1.2-13 1-23.2 1-68.8 0-35.6-22.7-37.7-27.6-39.3-7.5-2.5-2.3-10.8 1-10.8 32.7 0 16.5 2 49.2 2 36.5 0 20.6-2 57.1-2 4.9 0 9.9 9.6 1 11.8-16.4 4.1-28.6 10.3-28.6 32.4v101.2c0 83.4.1 114.9 7.9 127.8 8.2 10.2 11.4 10.4 21.7 13.8 5.8 0 7.8 10.8 0 10.8z"],hooli:[640,512,[],"f427","M508.4 352h57.9V156.7L508.4 184v168zm73.7-110.5V352H640V241.5h-57.9zm-250.7-8.9c-18.2-18.2-50.4-17.1-50.4-17.1s-32.2-1.1-50.4 17.1c-1.9 1.9-3.7 3.9-5.3 6-38.2-29.6-72.5-46.5-102.1-61.1v-20.7l-22.5 10.6c-54.4-22.1-89-18.2-97.3.1 0 0-24.9 32.8 61.9 110.9v-31c-48.8-54.6-39-76.1-35.3-79.2 13.5-11.4 37.5-8 64.4 2.1L65.2 184v63.3c13.1 14.7 30.5 31.5 53.5 50.4l4.5 3.6v-29.8c0-6.9 1.7-18.2 10.8-18.2s10.6 6.9 10.6 15V317c18 12.2 37.3 22.1 57.7 29.6v-93.9c0-18.7-13.4-37.4-40.6-37.4-15.8-.1-30.5 8.2-38.5 21.9v-54.3c41.9 20.9 83.9 46.5 99.9 58.3-10.2 14.6-9.3 28.1-9.3 43.7 0 18.7-1.4 34.3 16.8 52.5 18.2 18.2 50.4 17.1 50.4 17.1s32.3 1.1 50.4-17.1c18.2-18.2 16.7-33.8 16.7-52.5 0-18.5 1.5-34.2-16.7-52.3zm-39.7 71.9c0 3.6-1.8 12.5-10.7 12.5-8.9 0-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9 3.4 0 10.7 2.1 10.7 10.9v40.4zm185.7-71.9c-18.2-18.2-50.4-17.1-50.4-17.1s-32.3-1.1-50.4 17.1c-18.2 18.2-16.8 33.9-16.8 52.6 0 18.7-1.4 34.3 16.8 52.5 18.2 18.2 50.4 17.1 50.4 17.1s32.3 1.1 50.4-17.1c18.2-18.2 16.8-33.8 16.8-52.5-.1-18.8 1.3-34.5-16.8-52.6zm-39.8 71.9c0 3.6-1.8 12.5-10.7 12.5-8.9 0-10.7-8.9-10.7-12.5v-40.4c0-8.7 7.3-10.9 10.7-10.9 3.4 0 10.7 2.1 10.7 10.9v40.4zm173.5-73c15.9 0 28.9-12.9 28.9-28.9s-12.9-24.5-28.9-24.5c-15.9 0-28.9 8.6-28.9 24.5s12.9 28.9 28.9 28.9zM144.5 352l38.3.8c-13.2-4.6-26-10.2-38.3-16.8v16zm-21.4 0v-28.6c-6.5-4.2-13-8.7-19.4-13.6-14.8-11.2-27.5-21.7-38.5-31.5V352h57.9zm59.7.8c36.5 12.5 69.9 14.2 94.7 7.2-19.9.2-45.8-2.6-75.3-13.3v5.3l-19.4.8z"],hotjar:[448,512,[],"f3b1","M414.9 161.5C340.2 29 121.1 0 121.1 0S222.2 110.4 93 197.7C11.3 252.8-21 324.4 14 402.6c26.8 59.9 83.5 84.3 144.6 93.4-29.2-55.1-6.6-122.4-4.1-129.6 57.1 86.4 165 0 110.8-93.9 71 15.4 81.6 138.6 27.1 215.5 80.5-25.3 134.1-88.9 148.8-145.6 15.5-59.3 3.7-127.9-26.3-180.9z"],houzz:[320,512,[],"f27c","M12.2 256L160 341.1 12.2 426.6V256M160 512l147.8-85.4V256L160 341.1V512zm0-512L12.2 85.4V256L160 170.6V0zm0 170.6L307.8 256V85.4L160 170.6z"],html5:[384,512,[],"f13b","M0 32l34.9 395.8L191.5 480l157.6-52.2L384 32H0zm308.2 127.9H124.4l4.1 49.4h175.6l-13.6 148.4-97.9 27v.3h-1.1l-98.7-27.3-6-75.8h47.7L138 320l53.5 14.5 53.7-14.5 6-62.2H84.3L71.5 112.2h241.1l-4.4 47.7z"],hubspot:[512,512,[],"f3b2","M267.4 211.6c-25.1 23.7-40.8 57.3-40.8 94.6 0 29.3 9.7 56.3 26 78L203.1 434c-4.4-1.6-9.1-2.5-14-2.5-10.8 0-20.9 4.2-28.5 11.8-7.6 7.6-11.8 17.8-11.8 28.6s4.2 20.9 11.8 28.5c7.6 7.6 17.8 11.6 28.5 11.6 10.8 0 20.9-3.9 28.6-11.6 7.6-7.6 11.8-17.8 11.8-28.5 0-4.2-.6-8.2-1.9-12.1l50-50.2c22 16.9 49.4 26.9 79.3 26.9 71.9 0 130-58.3 130-130.2 0-65.2-47.7-119.2-110.2-128.7V116c17.5-7.4 28.2-23.8 28.2-42.9 0-26.1-20.9-47.9-47-47.9S311.2 47 311.2 73.1c0 19.1 10.7 35.5 28.2 42.9v61.2c-15.2 2.1-29.6 6.7-42.7 13.6-27.6-20.9-117.5-85.7-168.9-124.8 1.2-4.4 2-9 2-13.8C129.8 23.4 106.3 0 77.4 0 48.6 0 25.2 23.4 25.2 52.2c0 28.9 23.4 52.3 52.2 52.3 9.8 0 18.9-2.9 26.8-7.6l163.2 114.7zm89.5 163.6c-38.1 0-69-30.9-69-69s30.9-69 69-69 69 30.9 69 69-30.9 69-69 69z"],imdb:[448,512,[],"f2d8","M350.5 288.7c0 5.4 1.6 14.4-6.2 14.4-1.6 0-3-.8-3.8-2.4-2.2-5.1-1.1-44.1-1.1-44.7 0-3.8-1.1-12.7 4.9-12.7 7.3 0 6.2 7.3 6.2 12.7v32.7zM265 229.9c0-9.7 1.6-16-10.3-16v83.7c12.2.3 10.3-8.7 10.3-18.4v-49.3zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM21.3 228.8c-.1.1-.2.3-.3.4h.3v-.4zM97 192H64v127.8h33V192zm113.3 0h-43.1l-7.6 59.9c-2.7-20-5.4-40.1-8.7-59.9h-42.8v127.8h29v-84.5l12.2 84.5h20.6l11.6-86.4v86.4h28.7V192zm86.3 45.3c0-8.1.3-16.8-1.4-24.4-4.3-22.5-31.4-20.9-49-20.9h-24.6v127.8c86.1.1 75 6 75-82.5zm85.9 17.3c0-17.3-.8-30.1-22.2-30.1-8.9 0-14.9 2.7-20.9 9.2V192h-31.7v127.8h29.8l1.9-8.1c5.7 6.8 11.9 9.8 20.9 9.8 19.8 0 22.2-15.2 22.2-30.9v-36z"],instagram:[448,512,[],"f16d","M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"],"internet-explorer":[512,512,[],"f26b","M483.049 159.706c10.855-24.575 21.424-60.438 21.424-87.871 0-72.722-79.641-98.371-209.673-38.577-107.632-7.181-211.221 73.67-237.098 186.457 30.852-34.862 78.271-82.298 121.977-101.158C125.404 166.85 79.128 228.002 43.992 291.725 23.246 329.651 0 390.94 0 436.747c0 98.575 92.854 86.5 180.251 42.006 31.423 15.43 66.559 15.573 101.695 15.573 97.124 0 184.249-54.294 216.814-146.022H377.927c-52.509 88.593-196.819 52.996-196.819-47.436H509.9c6.407-43.581-1.655-95.715-26.851-141.162zM64.559 346.877c17.711 51.15 53.703 95.871 100.266 123.304-88.741 48.94-173.267 29.096-100.266-123.304zm115.977-108.873c2-55.151 50.276-94.871 103.98-94.871 53.418 0 101.981 39.72 103.981 94.871H180.536zm184.536-187.6c21.425-10.287 48.563-22.003 72.558-22.003 31.422 0 54.274 21.717 54.274 53.722 0 20.003-7.427 49.007-14.569 67.867-26.28-42.292-65.986-81.584-112.263-99.586z"],ioxhost:[640,512,[],"f208","M616 160h-67.3C511.2 70.7 422.9 8 320 8 183 8 72 119 72 256c0 16.4 1.6 32.5 4.7 48H24c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h67.3c37.5 89.3 125.8 152 228.7 152 137 0 248-111 248-248 0-16.4-1.6-32.5-4.7-48H616c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24zm-96 96c0 110.5-89.5 200-200 200-75.7 0-141.6-42-175.5-104H424c13.3 0 24-10.8 24-24 0-13.3-10.7-24-24-24H125.8c-3.8-15.4-5.8-31.4-5.8-48 0-110.5 89.5-200 200-200 75.7 0 141.6 42 175.5 104H216c-13.3 0-24 10.8-24 24 0 13.3 10.7 24 24 24h298.2c3.8 15.4 5.8 31.4 5.8 48zm-304-24h208c13.3 0 24 10.7 24 24 0 13.2-10.7 24-24 24H216c-13.3 0-24-10.7-24-24 0-13.2 10.7-24 24-24z"],itunes:[448,512,[],"f3b4","M223.6 80.3C129 80.3 52.5 157 52.5 251.5S129 422.8 223.6 422.8s171.2-76.7 171.2-171.2c0-94.6-76.7-171.3-171.2-171.3zm79.4 240c-3.2 13.6-13.5 21.2-27.3 23.8-12.1 2.2-22.2 2.8-31.9-5-11.8-10-12-26.4-1.4-36.8 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 3.2-3.6 2.2-2 2.2-80.8 0-5.6-2.7-7.1-8.4-6.1-4 .7-91.9 17.1-91.9 17.1-5 1.1-6.7 2.6-6.7 8.3 0 116.1.5 110.8-1.2 118.5-2.1 9-7.6 15.8-14.9 19.6-8.3 4.6-23.4 6.6-31.4 5.2-21.4-4-28.9-28.7-14.4-42.9 8.4-8 20.3-9.6 38-12.8 3-.5 5.6-1.2 7.7-3.7 5-5.7.9-127 2.6-133.7.4-2.6 1.5-4.8 3.5-6.4 2.1-1.7 5.8-2.7 6.7-2.7 101-19 113.3-21.4 115.1-21.4 5.7-.4 9 3 9 8.7-.1 170.6.4 161.4-1 167.6zM345.2 32H102.8C45.9 32 0 77.9 0 134.8v242.4C0 434.1 45.9 480 102.8 480h242.4c57 0 102.8-45.9 102.8-102.8V134.8C448 77.9 402.1 32 345.2 32zM223.6 444c-106.3 0-192.5-86.2-192.5-192.5S117.3 59 223.6 59s192.5 86.2 192.5 192.5S329.9 444 223.6 444z"],"itunes-note":[384,512,[],"f3b5","M381.9 388.2c-6.4 27.4-27.2 42.8-55.1 48-24.5 4.5-44.9 5.6-64.5-10.2-23.9-20.1-24.2-53.4-2.7-74.4 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 6.4-7.2 4.4-4.1 4.4-163.2 0-11.2-5.5-14.3-17-12.3-8.2 1.4-185.7 34.6-185.7 34.6-10.2 2.2-13.4 5.2-13.4 16.7 0 234.7 1.1 223.9-2.5 239.5-4.2 18.2-15.4 31.9-30.2 39.5-16.8 9.3-47.2 13.4-63.4 10.4-43.2-8.1-58.4-58-29.1-86.6 17-16.2 40.9-19.5 76.8-25.8 6-1.1 11.2-2.5 15.6-7.4 10.1-11.5 1.8-256.6 5.2-270.2.8-5.2 3-9.6 7.1-12.9 4.2-3.5 11.8-5.5 13.4-5.5 204-38.2 228.9-43.1 232.4-43.1 11.5-.8 18.1 6 18.1 17.6.2 344.5 1.1 326-1.8 338.5z"],jenkins:[512,512,[],"f3b6","M487.1 425c-1.4-11.2-19-23.1-28.2-31.9-5.1-5-29-23.1-30.4-29.9-1.4-6.6 9.7-21.5 13.3-28.9 5.1-10.7 8.8-23.7 11.3-32.6 18.8-66.1 20.7-156.9-6.2-211.2-10.2-20.6-38.6-49-56.4-62.5-42-31.7-119.6-35.3-170.1-16.6-14.1 5.2-27.8 9.8-40.1 17.1-33.1 19.4-68.3 32.5-78.1 71.6-24.2 10.8-31.5 41.8-30.3 77.8.2 7 4.1 15.8 2.7 22.4-.7 3.3-5.2 7.6-6.1 9.8-11.6 27.7-2.3 64 11.1 83.7 8.1 11.9 21.5 22.4 39.2 25.2.7 10.6 3.3 19.7 8.2 30.4 3.1 6.8 14.7 19 10.4 27.7-2.2 4.4-21 13.8-27.3 17.6C89 407.2 73.7 415 54.2 429c-12.6 9-32.3 10.2-29.2 31.1 2.1 14.1 10.1 31.6 14.7 45.8.7 2 1.4 4.1 2.1 6h422c4.9-15.3 9.7-30.9 14.6-47.2 3.4-11.4 10.2-27.8 8.7-39.7zM205.9 33.7c1.8-.5 3.4.7 4.9 2.4-.2 5.2-5.4 5.1-8.9 6.8-5.4 6.7-13.4 9.8-20 17.2-6.8 7.5-14.4 27.7-23.4 30-4.5 1.1-9.7-.8-13.6-.5-10.4.7-17.7 6-28.3 7.5 13.6-29.9 56.1-54 89.3-63.4zm-104.8 93.6c13.5-14.9 32.1-24.1 54.8-25.9 11.7 29.7-8.4 65-.9 97.6 2.3 9.9 10.2 25.4-2.4 25.7.3-28.3-34.8-46.3-61.3-29.6-1.8-21.5-4.9-51.7 9.8-67.8zm36.7 200.2c-1-4.1-2.7-12.9-2.3-15.1 1.6-8.7 17.1-12.5 11-24.7-11.3-.1-13.8 10.2-24.1 11.3-26.7 2.6-45.6-35.4-44.4-58.4 1-19.5 17.6-38.2 40.1-35.8 16 1.8 21.4 19.2 24.5 34.7 9.2.5 22.5-.4 26.9-7.6-.6-17.5-8.8-31.6-8.2-47.7 1-30.3 17.5-57.6 4.8-87.4 13.6-30.9 53.5-55.3 83.1-70 36.6-18.3 94.9-3.7 129.3 15.8 19.7 11.1 34.4 32.7 48.3 50.7-19.5-5.8-36.1 4.2-33.1 20.3 16.3-14.9 44.2-.2 52.5 16.4 7.9 15.8 7.8 39.3 9 62.8 2.9 57-10.4 115.9-39.1 157.1-7.7 11-14.1 23-24.9 30.6-26 18.2-65.4 34.7-99.2 23.4-44.7-15-65-44.8-89.5-78.8.7 18.7 13.8 34.1 26.8 48.4 11.3 12.5 25 26.6 39.7 32.4-12.3-2.9-31.1-3.8-36.2 7.2-28.6-1.9-55.1-4.8-68.7-24.2-10.6-15.4-21.4-41.4-26.3-61.4zm222 124.1c4.1-3 11.1-2.9 17.4-3.6-5.4-2.7-13-3.7-19.3-2.2-.1-4.2-2-6.8-3.2-10.2 10.6-3.8 35.5-28.5 49.6-20.3 6.7 3.9 9.5 26.2 10.1 37 .4 9-.8 18-4.5 22.8-18.8-.6-35.8-2.8-50.7-7 .9-6.1-1-12.1.6-16.5zm-17.2-20c-16.8.8-26-1.2-38.3-10.8.2-.8 1.4-.5 1.5-1.4 18 8 40.8-3.3 59-4.9-7.9 5.1-14.6 11.6-22.2 17.1zm-12.1 33.2c-1.6-9.4-3.5-12-2.8-20.2 25-16.6 29.7 28.6 2.8 20.2zM226 438.6c-11.6-.7-48.1-14-38.5-23.7 9.4 6.5 27.5 4.9 41.3 7.3.8 4.4-2.8 10.2-2.8 16.4zM57.7 497.1c-4.3-12.7-9.2-25.1-14.8-36.9 30.8-23.8 65.3-48.9 102.2-63.5 2.8-1.1 23.2 25.4 26.2 27.6 16.5 11.7 37 21 56.2 30.2 1.2 8.8 3.9 20.2 8.7 35.5.7 2.3 1.4 4.7 2.2 7.2H57.7zm240.6 5.7h-.8c.3-.2.5-.4.8-.5v.5zm7.5-5.7c2.1-1.4 4.3-2.8 6.4-4.3 1.1 1.4 2.2 2.8 3.2 4.3h-9.6zm15.1-24.7c-10.8 7.3-20.6 18.3-33.3 25.2-6 3.3-27 11.7-33.4 10.2-3.6-.8-3.9-5.3-5.4-9.5-3.1-9-10.1-23.4-10.8-37-.8-17.2-2.5-46 16-42.4 14.9 2.9 32.3 9.7 43.9 16.1 7.1 3.9 11.1 8.6 21.9 9.5-.1 1.4-.1 2.8-.2 4.3-5.9 3.9-15.3 3.8-21.8 7.1 9.5.4 17 2.7 23.5 5.9-.1 3.4-.3 7-.4 10.6zm53.4 24.7h-14c-.1-3.2-2.8-5.8-6.1-5.8s-5.9 2.6-6.1 5.8h-17.4c-2.8-4.4-5.7-8.6-8.9-12.5 2.1-2.2 4-4.7 6-6.9 9 3.7 14.8-4.9 21.7-4.2 7.9.8 14.2 11.7 25.4 11l-.6 12.6zm8.7 0c.2-4 .4-7.8.6-11.5 15.6-7.3 29 1.3 35.7 11.5H383zm83.4-37c-2.3 11.2-5.8 24-9.9 37.1-.2-.1-.4-.1-.6-.1H428c.6-1.1 1.2-2.2 1.9-3.3-2.6-6.1-9-8.7-10.9-15.5 12.1-22.7 6.5-93.4-24.2-78.5 4.3-6.3 15.6-11.5 20.8-19.3 13 10.4 20.8 20.3 33.2 31.4 6.8 6 20 13.3 21.4 23.1.8 5.5-2.6 18.9-3.8 25.1zM222.2 130.5c5.4-14.9 27.2-34.7 45-32 7.7 1.2 18 8.2 12.2 17.7-30.2-7-45.2 12.6-54.4 33.1-8.1-2-4.9-13.1-2.8-18.8zm184.1 63.1c8.2-3.6 22.4-.7 29.6-5.3-4.2-11.5-10.3-21.4-9.3-37.7.5 0 1 0 1.4.1 6.8 14.2 12.7 29.2 21.4 41.7-5.7 13.5-43.6 25.4-43.1 1.2zm20.4-43zm-117.2 45.7c-6.8-10.9-19-32.5-14.5-45.3 6.5 11.9 8.6 24.4 17.8 33.3 4.1 4 12.2 9 8.2 20.2-.9 2.7-7.8 8.6-11.7 9.7-14.4 4.3-47.9.9-36.6-17.1 11.9.7 27.9 7.8 36.8-.8zm27.3 70c3.8 6.6 1.4 18.7 12.1 20.6 20.2 3.4 43.6-12.3 58.1-17.8 9-15.2-.8-20.7-8.9-30.5-16.6-20-38.8-44.8-38-74.7 6.7-4.9 7.3 7.4 8.2 9.7 8.7 20.3 30.4 46.2 46.3 63.5 3.9 4.3 10.3 8.4 11 11.2 2.1 8.2-5.4 18-4.5 23.5-21.7 13.9-45.8 29.1-81.4 25.6-7.4-6.7-10.3-21.4-2.9-31.1zm-201.3-9.2c-6.8-3.9-8.4-21-16.4-21.4-11.4-.7-9.3 22.2-9.3 35.5-7.8-7.1-9.2-29.1-3.5-40.3-6.6-3.2-9.5 3.6-13.1 5.9 4.7-34.1 49.8-15.8 42.3 20.3zm299.6 28.8c-10.1 19.2-24.4 40.4-54 41-.6-6.2-1.1-15.6 0-19.4 22.7-2.2 36.6-13.7 54-21.6zm-141.9 12.4c18.9 9.9 53.6 11 79.3 10.2 1.4 5.6 1.3 12.6 1.4 19.4-33 1.8-72-6.4-80.7-29.6zm92.2 46.7c-1.7 4.3-5.3 9.3-9.8 11.1-12.1 4.9-45.6 8.7-62.4-.3-10.7-5.7-17.5-18.5-23.4-26-2.8-3.6-16.9-12.9-.2-12.9 13.1 32.7 58 29 95.8 28.1z"],joget:[496,512,[],"f3b7","M227.5 468.7c-9-13.6-19.9-33.3-23.7-42.4-5.7-13.7-27.2-45.6 31.2-67.1 51.7-19.1 176.7-16.5 208.8-17.6-4 9-8.6 17.9-13.9 26.6-40.4 65.5-110.4 101.5-182 101.5-6.8 0-13.6-.4-20.4-1M66.1 143.9C128 43.4 259.6 12.2 360.1 74.1c74.8 46.1 111.2 130.9 99.3 212.7-24.9-.5-179.3-3.6-230.3-4.9-55.5-1.4-81.7-20.8-58.5-48.2 23.2-27.4 51.1-40.7 68.9-51.2 17.9-10.5 27.3-33.7-23.6-29.7C87.3 161.5 48.6 252.1 37.6 293c-8.8-49.7-.1-102.7 28.5-149.1m-29.2-18c-71.9 116.6-35.6 269.3 81 341.2 116.6 71.9 269.3 35.6 341.2-80.9 71.9-116.6 35.6-269.4-81-341.2-40.5-25.1-85.5-37-129.9-37C165 8 83.8 49.9 36.9 125.9m244.4 110.4c-31.5 20.5-65.3 31.3-65.3 31.3l169.5-1.6 46.5-23.4s3.6-9.5-19.1-15.5c-22.7-6-57 11.3-86.7 27.2-29.7 15.8-31.1 8.2-31.1 8.2s40.2-28.1 50.7-34.5c10.5-6.4 31.9-14 13.4-24.6-3.2-1.8-6.7-2.7-10.4-2.7-17.8 0-41.5 18.7-67.5 35.6"],joomla:[448,512,[],"f1aa","M.6 92.1C.6 58.8 27.4 32 60.4 32c30 0 54.5 21.9 59.2 50.2 32.6-7.6 67.1.6 96.5 30l-44.3 44.3c-20.5-20.5-42.6-16.3-55.4-3.5-14.3 14.3-14.3 37.9 0 52.2l99.5 99.5-44 44.3c-87.7-87.2-49.7-49.7-99.8-99.7-26.8-26.5-35-64.8-24.8-98.9C20.4 144.6.6 120.7.6 92.1zm129.5 116.4l44.3 44.3c10-10 89.7-89.7 99.7-99.8 14.3-14.3 37.6-14.3 51.9 0 12.8 12.8 17 35-3.5 55.4l44 44.3c31.2-31.2 38.5-67.6 28.9-101.2 29.2-4.1 51.9-29.2 51.9-59.5 0-33.2-26.8-60.1-59.8-60.1-30.3 0-55.4 22.5-59.5 51.6-33.8-9.9-71.7-1.5-98.3 25.1-18.3 19.1-71.1 71.5-99.6 99.9zm266.3 152.2c8.2-32.7-.9-68.5-26.3-93.9-11.8-12.2 5 4.7-99.5-99.7l-44.3 44.3 99.7 99.7c14.3 14.3 14.3 37.6 0 51.9-12.8 12.8-35 17-55.4-3.5l-44 44.3c27.6 30.2 68 38.8 102.7 28 5.5 27.4 29.7 48.1 58.9 48.1 33 0 59.8-26.8 59.8-60.1 0-30.2-22.5-55-51.6-59.1zm-84.3-53.1l-44-44.3c-87 86.4-50.4 50.4-99.7 99.8-14.3 14.3-37.6 14.3-51.9 0-13.1-13.4-16.9-35.3 3.2-55.4l-44-44.3c-30.2 30.2-38 65.2-29.5 98.3-26.7 6-46.2 29.9-46.2 58.2C0 453.2 26.8 480 59.8 480c28.6 0 52.5-19.8 58.6-46.7 32.7 8.2 68.5-.6 94.2-26 32.1-32 12.2-12.4 99.5-99.7z"],js:[448,512,[],"f3b8","M0 32v448h448V32H0zm243.8 349.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z"],"js-square":[448,512,[],"f3b9","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5l34.3-20.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5V237.7h42.1v143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43l34.3-19.8c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z"],jsfiddle:[576,512,[],"f1cc","M510.634 237.462c-4.727-2.621-5.664-5.748-6.381-10.776-2.352-16.488-3.539-33.619-9.097-49.095-35.895-99.957-153.99-143.386-246.849-91.646-27.37 15.25-48.971 36.369-65.493 63.903-3.184-1.508-5.458-2.71-7.824-3.686-30.102-12.421-59.049-10.121-85.331 9.167-25.531 18.737-36.422 44.548-32.676 76.408.355 3.025-1.967 7.621-4.514 9.545-39.712 29.992-56.031 78.065-41.902 124.615 13.831 45.569 57.514 79.796 105.608 81.433 30.291 1.031 60.637.546 90.959.539 84.041-.021 168.09.531 252.12-.48 52.664-.634 96.108-36.873 108.212-87.293 11.54-48.074-11.144-97.3-56.832-122.634zm21.107 156.88c-18.23 22.432-42.343 35.253-71.28 35.65-56.874.781-113.767.23-170.652.23 0 .7-163.028.159-163.728.154-43.861-.332-76.739-19.766-95.175-59.995-18.902-41.245-4.004-90.848 34.186-116.106 9.182-6.073 12.505-11.566 10.096-23.136-5.49-26.361 4.453-47.956 26.42-62.981 22.987-15.723 47.422-16.146 72.034-3.083 10.269 5.45 14.607 11.564 22.198-2.527 14.222-26.399 34.557-46.727 60.671-61.294 97.46-54.366 228.37 7.568 230.24 132.697.122 8.15 2.412 12.428 9.848 15.894 57.56 26.829 74.456 96.122 35.142 144.497zm-87.789-80.499c-5.848 31.157-34.622 55.096-66.666 55.095-16.953-.001-32.058-6.545-44.079-17.705-27.697-25.713-71.141-74.98-95.937-93.387-20.056-14.888-41.99-12.333-60.272 3.782-49.996 44.071 15.859 121.775 67.063 77.188 4.548-3.96 7.84-9.543 12.744-12.844 8.184-5.509 20.766-.884 13.168 10.622-17.358 26.284-49.33 38.197-78.863 29.301-28.897-8.704-48.84-35.968-48.626-70.179 1.225-22.485 12.364-43.06 35.414-55.965 22.575-12.638 46.369-13.146 66.991 2.474C295.68 280.7 320.467 323.97 352.185 343.47c24.558 15.099 54.254 7.363 68.823-17.506 28.83-49.209-34.592-105.016-78.868-63.46-3.989 3.744-6.917 8.932-11.41 11.72-10.975 6.811-17.333-4.113-12.809-10.353 20.703-28.554 50.464-40.44 83.271-28.214 31.429 11.714 49.108 44.366 42.76 78.186z"],keycdn:[512,512,[],"f3ba","M63.8 409.3l60.5-59c32.1 42.8 71.1 66 126.6 67.4 30.5.7 60.3-7 86.4-22.4 5.1 5.3 18.5 19.5 20.9 22-32.2 20.7-69.6 31.1-108.1 30.2-43.3-1.1-84.6-16.7-117.7-44.4.3-.6-38.2 37.5-38.6 37.9 9.5 29.8-13.1 62.4-46.3 62.4C20.7 503.3 0 481.7 0 454.9c0-34.3 33.1-56.6 63.8-45.6zm354.9-252.4c19.1 31.3 29.6 67.4 28.7 104-1.1 44.8-19 87.5-48.6 121 .3.3 23.8 25.2 24.1 25.5 9.6-1.3 19.2 2 25.9 9.1 11.3 12 10.9 30.9-1.1 42.4-12 11.3-30.9 10.9-42.4-1.1-6.7-7-9.4-16.8-7.6-26.3-24.9-26.6-44.4-47.2-44.4-47.2 42.7-34.1 63.3-79.6 64.4-124.2.7-28.9-7.2-57.2-21.1-82.2l22.1-21zM104 53.1c6.7 7 9.4 16.8 7.6 26.3l45.9 48.1c-4.7 3.8-13.3 10.4-22.8 21.3-25.4 28.5-39.6 64.8-40.7 102.9-.7 28.9 6.1 57.2 20 82.4l-22 21.5C72.7 324 63.1 287.9 64.2 250.9c1-44.6 18.3-87.6 47.5-121.1l-25.3-26.4c-9.6 1.3-19.2-2-25.9-9.1-11.3-12-10.9-30.9 1.1-42.4C73.5 40.7 92.2 41 104 53.1zM464.9 8c26 0 47.1 22.4 47.1 48.3S490.9 104 464.9 104c-6.3.1-14-1.1-15.9-1.8l-62.9 59.7c-32.7-43.6-76.7-65.9-126.9-67.2-30.5-.7-60.3 6.8-86.2 22.4l-21.1-22C184.1 74.3 221.5 64 260 64.9c43.3 1.1 84.6 16.7 117.7 44.6l41.1-38.6c-1.5-4.7-2.2-9.6-2.2-14.5C416.5 29.7 438.9 8 464.9 8zM256.7 113.4c5.5 0 10.9.4 16.4 1.1 78.1 9.8 133.4 81.1 123.8 159.1-9.8 78.1-81.1 133.4-159.1 123.8-78.1-9.8-133.4-81.1-123.8-159.2 9.3-72.4 70.1-124.6 142.7-124.8zm-59 119.4c.6 22.7 12.2 41.8 32.4 52.2l-11 51.7h73.7l-11-51.7c20.1-10.9 32.1-29 32.4-52.2-.4-32.8-25.8-57.5-58.3-58.3-32.1.8-57.3 24.8-58.2 58.3zM256 160"],kickstarter:[448,512,[],"f3bb","M400 480H48c-26.4 0-48-21.6-48-48V80c0-26.4 21.6-48 48-48h352c26.4 0 48 21.6 48 48v352c0 26.4-21.6 48-48 48zM199.6 178.5c0-30.7-17.6-45.1-39.7-45.1-25.8 0-40 19.8-40 44.5v154.8c0 25.8 13.7 45.6 40.5 45.6 21.5 0 39.2-14 39.2-45.6v-41.8l60.6 75.7c12.3 14.9 39 16.8 55.8 0 14.6-15.1 14.8-36.8 4-50.4l-49.1-62.8 40.5-58.7c9.4-13.5 9.5-34.5-5.6-49.1-16.4-15.9-44.6-17.3-61.4 7l-44.8 64.7v-38.8z"],"kickstarter-k":[384,512,[],"f3bc","M147.3 114.4c0-56.2-32.5-82.4-73.4-82.4C26.2 32 0 68.2 0 113.4v283c0 47.3 25.3 83.4 74.9 83.4 39.8 0 72.4-25.6 72.4-83.4v-76.5l112.1 138.3c22.7 27.2 72.1 30.7 103.2 0 27-27.6 27.3-67.4 7.4-92.2l-90.8-114.8 74.9-107.4c17.4-24.7 17.5-63.1-10.4-89.8-30.3-29-82.4-31.6-113.6 12.8L147.3 185v-70.6z"],korvue:[446,512,[],"f42f","M386.5 34h-327C26.8 34 0 60.8 0 93.5v327.1C0 453.2 26.8 480 59.5 480h327.1c33 0 59.5-26.8 59.5-59.5v-327C446 60.8 419.2 34 386.5 34zM87.1 120.8h96v116l61.8-116h110.9l-81.2 132H87.1v-132zm161.8 272.1l-65.7-113.6v113.6h-96V262.1h191.5l88.6 130.8H248.9z"],laravel:[640,512,[],"f3bd","M637.5 241.6c-4.2-4.8-62.8-78.1-73.1-90.5-10.3-12.4-15.4-10.2-21.7-9.3-6.4.9-80.5 13.4-89.1 14.8-8.6 1.5-14 4.9-8.7 12.3 4.7 6.6 53.4 75.7 64.2 90.9l-193.7 46.4L161.2 48.7c-6.1-9.1-7.4-12.3-21.4-11.6-14 .6-120.9 9.5-128.5 10.2-7.6.6-16 4-8.4 22s129 279.6 132.4 287.2c3.4 7.6 12.2 20 32.8 15 21.1-5.1 94.3-24.2 134.3-34.7 21.1 38.3 64.2 115.9 72.2 127 10.6 14.9 18 12.4 34.3 7.4 12.8-3.9 199.6-71.1 208-74.5 8.4-3.5 13.6-5.9 7.9-14.4-4.2-6.2-53.5-72.2-79.3-106.8 17.7-4.7 80.6-21.4 87.3-23.3 7.9-2 9-5.8 4.7-10.6zm-352.2 72c-2.3.5-110.8 26.5-116.6 27.8-5.8 1.3-5.8.7-6.5-1.3-.7-2-129-266.7-130.8-270-1.8-3.3-1.7-5.9 0-5.9s102.5-9 106-9.2c3.6-.2 3.2.6 4.5 2.8 0 0 142.2 245.4 144.6 249.7 2.6 4.3 1.1 5.6-1.2 6.1zm306 57.4c1.7 2.7 3.5 4.5-2 6.4-5.4 2-183.7 62.1-187.1 63.6-3.5 1.5-6.2 2-10.6-4.5s-62.4-106.8-62.4-106.8L518 280.6c4.7-1.5 6.2-2.5 9.2 2.2 2.9 4.8 62.4 85.5 64.1 88.2zm12.1-134.1c-4.2.9-73.6 18.1-73.6 18.1l-56.7-77.8c-1.6-2.3-2.9-4.5 1.1-5s68.4-12.2 71.3-12.8c2.9-.7 5.4-1.5 9 3.4 3.6 4.9 52.6 67 54.5 69.4 1.8 2.3-1.4 3.7-5.6 4.7z"],lastfm:[512,512,[],"f202","M225.8 367.1l-18.8-51s-30.5 34-76.2 34c-40.5 0-69.2-35.2-69.2-91.5 0-72.1 36.4-97.9 72.1-97.9 66.5 0 74.8 53.3 100.9 134.9 18.8 56.9 54 102.6 155.4 102.6 72.7 0 122-22.3 122-80.9 0-72.9-62.7-80.6-115-92.1-25.8-5.9-33.4-16.4-33.4-34 0-19.9 15.8-31.7 41.6-31.7 28.2 0 43.4 10.6 45.7 35.8l58.6-7c-4.7-52.8-41.1-74.5-100.9-74.5-52.8 0-104.4 19.9-104.4 83.9 0 39.9 19.4 65.1 68 76.8 44.9 10.6 79.8 13.8 79.8 45.7 0 21.7-21.1 30.5-61 30.5-59.2 0-83.9-31.1-97.9-73.9-32-96.8-43.6-163-161.3-163C45.7 113.8 0 168.3 0 261c0 89.1 45.7 137.2 127.9 137.2 66.2 0 97.9-31.1 97.9-31.1z"],"lastfm-square":[448,512,[],"f203","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-92.2 312.9c-63.4 0-85.4-28.6-97.1-64.1-16.3-51-21.5-84.3-63-84.3-22.4 0-45.1 16.1-45.1 61.2 0 35.2 18 57.2 43.3 57.2 28.6 0 47.6-21.3 47.6-21.3l11.7 31.9s-19.8 19.4-61.2 19.4c-51.3 0-79.9-30.1-79.9-85.8 0-57.9 28.6-92 82.5-92 73.5 0 80.8 41.4 100.8 101.9 8.8 26.8 24.2 46.2 61.2 46.2 24.9 0 38.1-5.5 38.1-19.1 0-19.9-21.8-22-49.9-28.6-30.4-7.3-42.5-23.1-42.5-48 0-40 32.3-52.4 65.2-52.4 37.4 0 60.1 13.6 63 46.6l-36.7 4.4c-1.5-15.8-11-22.4-28.6-22.4-16.1 0-26 7.3-26 19.8 0 11 4.8 17.6 20.9 21.3 32.7 7.1 71.8 12 71.8 57.5.1 36.7-30.7 50.6-76.1 50.6z"],leanpub:[576,512,[],"f212","M386.539 111.485l15.096 248.955-10.979-.275c-36.232-.824-71.64 8.783-102.657 27.997-31.016-19.214-66.424-27.997-102.657-27.997-45.564 0-82.07 10.705-123.516 27.723L93.117 129.6c28.546-11.803 61.484-18.115 92.226-18.115 41.173 0 73.836 13.175 102.657 42.544 27.723-28.271 59.013-41.721 98.539-42.544zM569.07 448c-25.526 0-47.485-5.215-70.542-15.645-34.31-15.645-69.993-24.978-107.871-24.978-38.977 0-74.934 12.901-102.657 40.623-27.723-27.723-63.68-40.623-102.657-40.623-37.878 0-73.561 9.333-107.871 24.978C55.239 442.236 32.731 448 8.303 448H6.93L49.475 98.859C88.726 76.626 136.486 64 181.775 64 218.83 64 256.984 71.685 288 93.095 319.016 71.685 357.17 64 394.225 64c45.289 0 93.049 12.626 132.3 34.859L569.07 448zm-43.368-44.741l-34.036-280.246c-30.742-13.999-67.248-21.41-101.009-21.41-38.428 0-74.385 12.077-102.657 38.702-28.272-26.625-64.228-38.702-102.657-38.702-33.761 0-70.267 7.411-101.009 21.41L50.298 403.259c47.211-19.487 82.894-33.486 135.045-33.486 37.604 0 70.817 9.606 102.657 29.644 31.84-20.038 65.052-29.644 102.657-29.644 52.151 0 87.834 13.999 135.045 33.486z"],less:[640,512,[],"f41d","M612.7 219c0-20.5 3.2-32.6 3.2-54.6 0-34.2-12.6-45.2-40.5-45.2h-20.5v24.2h6.3c14.2 0 17.3 4.7 17.3 22.1 0 16.3-1.6 32.6-1.6 51.5 0 24.2 7.9 33.6 23.6 37.3v1.6c-15.8 3.7-23.6 13.1-23.6 37.3 0 18.9 1.6 34.2 1.6 51.5 0 17.9-3.7 22.6-17.3 22.6v.5h-6.3V393h20.5c27.8 0 40.5-11 40.5-45.2 0-22.6-3.2-34.2-3.2-54.6 0-11 6.8-22.6 27.3-23.6v-27.3c-20.5-.7-27.3-12.3-27.3-23.3zm-105.6 32c-15.8-6.3-30.5-10-30.5-20.5 0-7.9 6.3-12.6 17.9-12.6s22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-21 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51s-22.5-41-43-47.8zm-358.9 59.4c-3.7 0-8.4-3.2-8.4-13.1V119.1H65.2c-28.4 0-41 11-41 45.2 0 22.6 3.2 35.2 3.2 54.6 0 11-6.8 22.6-27.3 23.6v27.3c20.5.5 27.3 12.1 27.3 23.1 0 19.4-3.2 31-3.2 53.6 0 34.2 12.6 45.2 40.5 45.2h20.5v-24.2h-6.3c-13.1 0-17.3-5.3-17.3-22.6s1.6-32.1 1.6-51.5c0-24.2-7.9-33.6-23.6-37.3v-1.6c15.8-3.7 23.6-13.1 23.6-37.3 0-18.9-1.6-34.2-1.6-51.5s3.7-22.1 17.3-22.1H93v150.8c0 32.1 11 53.1 43.1 53.1 10 0 17.9-1.6 23.6-3.7l-5.3-34.2c-3.1.8-4.6.8-6.2.8zM379.9 251c-16.3-6.3-31-10-31-20.5 0-7.9 6.3-12.6 17.9-12.6 11.6 0 22.1 4.7 33.6 13.1l21-27.8c-13.1-10-31-20.5-55.2-20.5-35.7 0-59.9 20.5-59.9 49.4 0 25.7 22.6 38.9 41.5 46.2 16.3 6.3 32.1 11.6 32.1 22.1 0 7.9-6.3 13.1-20.5 13.1-13.1 0-26.3-5.3-40.5-16.3l-20.5 30.5c15.8 13.1 39.9 22.1 59.9 22.1 42 0 64.6-22.1 64.6-51 .1-28.9-22.5-41-43-47.8zm-155-68.8c-38.4 0-75.1 32.1-74.1 82.5 0 52 34.2 82.5 79.3 82.5 18.9 0 39.9-6.8 56.2-17.9l-15.8-27.8c-11.6 6.8-22.6 10-34.2 10-21 0-37.3-10-41.5-34.2H290c.5-3.7 1.6-11 1.6-19.4.6-42.6-22.6-75.7-66.7-75.7zm-30 66.2c3.2-21 15.8-31 30.5-31 18.9 0 26.3 13.1 26.3 31h-56.8z"],line:[448,512,[],"f3c0","M272.1 204.2v71.1c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.1 0-2.1-.6-2.6-1.3l-32.6-44v42.2c0 1.8-1.4 3.2-3.2 3.2h-11.4c-1.8 0-3.2-1.4-3.2-3.2v-71.1c0-1.8 1.4-3.2 3.2-3.2H219c1 0 2.1.5 2.6 1.4l32.6 44v-42.2c0-1.8 1.4-3.2 3.2-3.2h11.4c1.8-.1 3.3 1.4 3.3 3.1zm-82-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 1.8 1.4 3.2 3.2 3.2h11.4c1.8 0 3.2-1.4 3.2-3.2v-71.1c0-1.7-1.4-3.2-3.2-3.2zm-27.5 59.6h-31.1v-56.4c0-1.8-1.4-3.2-3.2-3.2h-11.4c-1.8 0-3.2 1.4-3.2 3.2v71.1c0 .9.3 1.6.9 2.2.6.5 1.3.9 2.2.9h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.7-1.4-3.2-3.1-3.2zM332.1 201h-45.7c-1.7 0-3.2 1.4-3.2 3.2v71.1c0 1.7 1.4 3.2 3.2 3.2h45.7c1.8 0 3.2-1.4 3.2-3.2v-11.4c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2V234c0-1.8-1.4-3.2-3.2-3.2H301v-12h31.1c1.8 0 3.2-1.4 3.2-3.2v-11.4c-.1-1.7-1.5-3.2-3.2-3.2zM448 113.7V399c-.1 44.8-36.8 81.1-81.7 81H81c-44.8-.1-81.1-36.9-81-81.7V113c.1-44.8 36.9-81.1 81.7-81H367c44.8.1 81.1 36.8 81 81.7zm-61.6 122.6c0-73-73.2-132.4-163.1-132.4-89.9 0-163.1 59.4-163.1 132.4 0 65.4 58 120.2 136.4 130.6 19.1 4.1 16.9 11.1 12.6 36.8-.7 4.1-3.3 16.1 14.1 8.8 17.4-7.3 93.9-55.3 128.2-94.7 23.6-26 34.9-52.3 34.9-81.5z"],linkedin:[448,512,[],"f08c","M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"],"linkedin-in":[448,512,[],"f0e1","M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"],linode:[448,512,[],"f2b8","M437.4 226.3c-.3-.9-.9-1.4-1.4-2l-70-38.6c-.9-.6-2-.6-3.1 0l-58.9 36c-.9.6-1.4 1.7-1.4 2.6l-.9 31.4-24-16c-.9-.6-2.3-.6-3.1 0L240 260.9l-1.4-35.1c0-.9-.6-2-1.4-2.3l-36-24.3 33.7-17.4c1.1-.6 1.7-1.7 1.7-2.9l-5.7-132.3c0-.9-.9-2-1.7-2.6L138.6.3c-.9-.3-1.7-.3-2.3-.3L12.6 38.6c-1.4.6-2.3 2-2 3.7L38 175.4c.9 3.4 34 27.4 38.6 30.9l-26.9 12.9c-1.4.9-2 2.3-1.7 3.4l20.6 100.3c.6 2.9 23.7 23.1 27.1 26.3l-17.4 10.6c-.9.6-1.7 2-1.4 3.1 1.4 7.1 15.4 77.7 16.9 79.1l65.1 69.1c.6.6 1.4.6 2.3.9.6 0 1.1-.3 1.7-.6l83.7-66.9c.9-.6 1.1-1.4 1.1-2.3l-2-46 28 23.7c1.1.9 2.9.9 4 0l66.9-53.4c.9-.6 1.1-1.4 1.1-2.3l2.3-33.4 20.3 14c1.1.9 2.6.9 3.7 0l54.6-43.7c.6-.3 1.1-1.1 1.1-2 .9-6.5 10.3-70.8 9.7-72.8zm-204.8 4.8l4 92.6-90.6 61.2-14-96.6 100.6-57.2zm-7.7-180l5.4 126-106.6 55.4L104 97.7l120.9-46.6zM44 173.1L18 48l79.7 49.4 19.4 132.9L44 173.1zm30.6 147.8L55.7 230l70 58.3 13.7 93.4-64.8-60.8zm24.3 117.7l-13.7-67.1 61.7 60.9 9.7 67.4-57.7-61.2zm64.5 64.5l-10.6-70.9 85.7-61.4 3.1 70-78.2 62.3zm82-115.1c0-3.4.9-22.9-2-25.1l-24.3-20 22.3-14.9c2.3-1.7 1.1-5.7 1.1-8l29.4 22.6.6 68.3-27.1-22.9zm94.3-25.4l-60.9 48.6-.6-68.6 65.7-46.9-4.2 66.9zm27.7-25.7l-19.1-13.4 2-34c.3-.9-.3-2-1.1-2.6L308 259.7l.6-30 64.6 40.6-5.8 66.6zm54.6-39.8l-48.3 38.3 5.7-65.1 51.1-36.6-8.5 63.4z"],linux:[448,512,[],"f17c","M196.1 123.6c-.2-1.4 1.9-2.3 3.2-2.9 1.7-.7 3.9-1 5.5-.1.4.2.8.7.6 1.1-.4 1.2-2.4 1-3.5 1.6-1 .5-1.8 1.7-3 1.7-1 .1-2.7-.4-2.8-1.4zm24.7-.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm214.7 310.2c-.5 8.2-6.5 13.8-13.9 18.3-14.9 9-37.3 15.8-50.9 32.2l-2.6-2.2 2.6 2.2c-14.2 16.9-31.7 26.6-48.3 27.9-16.5 1.3-32-6.3-40.3-23v-.1c-1.1-2.1-1.9-4.4-2.5-6.7-21.5 1.2-40.2-5.3-55.1-4.1-22 1.2-35.8 6.5-48.3 6.6-4.8 10.6-14.3 17.6-25.9 20.2-16 3.7-36.1 0-55.9-10.4l1.6-3-1.6 3c-18.5-9.8-42-8.9-59.3-12.5-8.7-1.8-16.3-5-20.1-12.3-3.7-7.3-3-17.3 2.2-31.7 1.7-5.1.4-12.7-.8-20.8-.6-3.9-1.2-7.9-1.2-11.8 0-4.3.7-8.5 2.8-12.4 4.5-8.5 11.8-12.1 18.5-14.5 6.7-2.4 12.8-4 17-8.3 5.2-5.5 10.1-14.4 16.6-20.2-2.6-17.2.2-35.4 6.2-53.3 12.6-37.9 39.2-74.2 58.1-96.7 16.1-22.9 20.8-41.3 22.5-64.7C158 103.4 132.4-.2 234.8 0c80.9.1 76.3 85.4 75.8 131.3-.3 30.1 16.3 50.5 33.4 72 15.2 18 35.1 44.3 46.5 74.4 9.3 24.6 12.9 51.8 3.7 79.1 1.4.5 2.8 1.2 4.1 2 1.4.8 2.7 1.8 4 2.9 6.6 5.6 8.7 14.3 10.5 22.4 1.9 8.1 3.6 15.7 7.2 19.7 11.1 12.4 15.9 21.5 15.5 29.7zM220.8 109.1c3.6.9 8.9 2.4 13 4.4-2.1-12.2 4.5-23.5 11.8-23 8.9.3 13.9 15.5 9.1 27.3-.8 1.9-2.8 3.4-3.9 4.6 6.7 2.3 11 4.1 12.6 4.9 7.9-9.5 10.8-26.2 4.3-40.4-9.8-21.4-34.2-21.8-44 .4-3.2 7.2-3.9 14.9-2.9 21.8zm-46.2 18.8c7.8-5.7 6.9-4.7 5.9-5.5-8-6.9-6.6-27.4 1.8-28.1 6.3-.5 10.8 10.7 9.6 19.6 3.1-2.1 6.7-3.6 10.2-4.6 1.7-19.3-9-33.5-19.1-33.5-18.9 0-24 37.5-8.4 52.1zm-9.4 20.9c1.5 4.9 6.1 10.5 14.7 15.3 7.8 4.6 12 11.5 20 15 2.6 1.1 5.7 1.9 9.6 2.1 18.4 1.1 27.1-11.3 38.2-14.9 11.7-3.7 20.1-11 22.7-18.1 3.2-8.5-2.1-14.7-10.5-18.2-11.3-4.9-16.3-5.2-22.6-9.3-10.3-6.6-18.8-8.9-25.9-8.9-14.4 0-23.2 9.8-27.9 14.2-.5.5-7.9 5.9-14.1 10.5-4.2 3.3-5.6 7.4-4.2 12.3zm-33.5 252.8L112.1 366c-6.8-9.2-13.8-14.8-21.9-16-7.7-1.2-12.6 1.4-17.7 6.9-4.8 5.1-8.8 12.3-14.3 18-7.8 6.5-9.3 6.2-19.6 9.9-6.3 2.2-11.3 4.6-14.8 11.3-2.7 5-2.1 12.2-.9 20 1.2 7.9 3 16.3.6 23.9v.2c-5 13.7-5 21.7-2.6 26.4 7.9 15.4 46.6 6.1 76.5 21.9 31.4 16.4 72.6 17.1 75.3-18 2.1-20.5-31.5-49-41-68.9zm153.9 35.8c3.2-11 6.3-21.3 6.8-29 .8-15.2 1.6-28.7 4.4-39.9 3.1-12.6 9.3-23.1 21.4-27.3 2.3-21.1 18.7-21.1 38.3-12.5 18.9 8.5 26 16 22.8 26.1 1 0 2-.1 4.2 0 5.2-16.9-14.3-28-30.7-34.8 2.9-12 2.4-24.1-.4-35.7-6-25.3-22.6-47.8-35.2-59-2.3-.1-2.1 1.9 2.6 6.5 11.6 10.7 37.1 49.2 23.3 84.9-3.9-1-7.6-1.5-10.9-1.4-5.3-29.1-17.5-53.2-23.6-64.6-11.5-21.4-29.5-65.3-37.2-95.7-4.5 6.4-12.4 11.9-22.3 15-4.7 1.5-9.7 5.5-15.9 9-13.9 8-30 8.8-42.4-1.2-4.5-3.6-8-7.6-12.6-10.3-1.6-.9-5.1-3.3-6.2-4.1-2 37.8-27.3 85.3-39.3 112.7-8.3 19.7-13.2 40.8-13.8 61.5-21.8-29.1-5.9-66.3 2.6-82.4 9.5-17.6 11-22.5 8.7-20.8-8.6 14-22 36.3-27.2 59.2-2.7 11.9-3.2 24 .3 35.2 3.5 11.2 11.1 21.5 24.6 29.9 0 0 24.8 14.3 38.3 32.5 7.4 10 9.7 18.7 7.4 24.9-2.5 6.7-9.6 8.9-16.7 8.9 4.8 6 10.3 13 14.4 19.6 37.6 25.7 82.2 15.7 114.3-7.2zM415 408.5c-10-11.3-7.2-33.1-17.1-41.6-6.9-6-13.6-5.4-22.6-5.1-7.7 8.8-25.8 19.6-38.4 16.3-11.5-2.9-18-16.3-18.8-29.5-.3.2-.7.3-1 .5-7.1 3.9-11.1 10.8-13.7 21.1-2.5 10.2-3.4 23.5-4.2 38.7-.7 11.8-6.2 26.4-9.9 40.6-3.5 13.2-5.8 25.2-1.1 36.3 7.2 14.5 19.5 20.4 33.7 19.3 14.2-1.1 30.4-9.8 43.6-25.5 22-26.6 62.3-29.7 63.2-46.5.3-5.1-3.1-13-13.7-24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4 3.9-3.4 5.9-6.3 3.1-6.6-2.8-.3-2.6 2.6-6 5.1-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2-10.4 0-18.7-4.8-24.9-9.7-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"],lyft:[512,512,[],"f3c3","M0 81.1h77.8v208.7c0 33.1 15 52.8 27.2 61-12.7 11.1-51.2 20.9-80.2-2.8C7.8 334 0 310.7 0 289V81.1zm485.9 173.5v-22h23.8v-76.8h-26.1c-10.1-46.3-51.2-80.7-100.3-80.7-56.6 0-102.7 46-102.7 102.7V357c16 2.3 35.4-.3 51.7-14 17.1-14 24.8-37.2 24.8-59v-6.7h38.8v-76.8h-38.8v-23.3c0-34.6 52.2-34.6 52.2 0v77.1c0 56.6 46 102.7 102.7 102.7v-76.5c-14.5 0-26.1-11.7-26.1-25.9zm-294.3-99v113c0 15.4-23.8 15.4-23.8 0v-113H91v132.7c0 23.8 8 54 45 63.9 37 9.8 58.2-10.6 58.2-10.6-2.1 13.4-14.5 23.3-34.9 25.3-15.5 1.6-35.2-3.6-45-7.8v70.3c25.1 7.5 51.5 9.8 77.6 4.7 47.1-9.1 76.8-48.4 76.8-100.8V155.1h-77.1v.5z"],magento:[448,512,[],"f3c4","M445.7 127.9V384l-63.4 36.5V164.7L223.8 73.1 65.2 164.7l.4 255.9L2.3 384V128.1L224.2 0l221.5 127.9zM255.6 420.5L224 438.9l-31.8-18.2v-256l-63.3 36.6.1 255.9 94.9 54.9 95.1-54.9v-256l-63.4-36.6v255.9z"],maxcdn:[512,512,[],"f136","M461.1 442.7h-97.4L415.6 200c2.3-10.2.9-19.5-4.4-25.7-5-6.1-13.7-9.6-24.2-9.6h-49.3l-59.5 278h-97.4l59.5-278h-83.4l-59.5 278H0l59.5-278-44.6-95.4H387c39.4 0 75.3 16.3 98.3 44.9 23.3 28.6 31.8 67.4 23.6 105.9l-47.8 222.6z"],medapps:[320,512,[],"f3c6","M118.3 238.4c3.5-12.5 6.9-33.6 13.2-33.6 8.3 1.8 9.6 23.4 18.6 36.6 4.6-23.5 5.3-85.1 14.1-86.7 9-.7 19.7 66.5 22 77.5 9.9 4.1 48.9 6.6 48.9 6.6 1.9 7.3-24 7.6-40 7.8-4.6 14.8-5.4 27.7-11.4 28-4.7.2-8.2-28.8-17.5-49.6l-9.4 65.5c-4.4 13-15.5-22.5-21.9-39.3-3.3-.1-62.4-1.6-47.6-7.8l31-5zM228 448c21.2 0 21.2-32 0-32H92c-21.2 0-21.2 32 0 32h136zm-24 64c21.2 0 21.2-32 0-32h-88c-21.2 0-21.2 32 0 32h88zm34.2-141.5c3.2-18.9 5.2-36.4 11.9-48.8 7.9-14.7 16.1-28.1 24-41 24.6-40.4 45.9-75.2 45.9-125.5C320 69.6 248.2 0 160 0S0 69.6 0 155.2c0 50.2 21.3 85.1 45.9 125.5 7.9 12.9 16 26.3 24 41 6.7 12.5 8.7 29.8 11.9 48.9 3.5 21 36.1 15.7 32.6-5.1-3.6-21.7-5.6-40.7-15.3-58.6C66.5 246.5 33 211.3 33 155.2 33 87.3 90 32 160 32s127 55.3 127 123.2c0 56.1-33.5 91.3-66.1 151.6-9.7 18-11.7 37.4-15.3 58.6-3.4 20.6 29 26.4 32.6 5.1z"],medium:[448,512,[],"f23a","M0 32v448h448V32H0zm372.2 106.1l-24 23c-2.1 1.6-3.1 4.2-2.7 6.7v169.3c-.4 2.6.6 5.2 2.7 6.7l23.5 23v5.1h-118V367l24.3-23.6c2.4-2.4 2.4-3.1 2.4-6.7V199.8l-67.6 171.6h-9.1L125 199.8v115c-.7 4.8 1 9.7 4.4 13.2l31.6 38.3v5.1H71.2v-5.1l31.6-38.3c3.4-3.5 4.9-8.4 4.1-13.2v-133c.4-3.7-1-7.3-3.8-9.8L75 138.1V133h87.3l67.4 148L289 133.1h83.2v5z"],"medium-m":[512,512,[],"f3c7","M71.5 142.3c.6-5.9-1.7-11.8-6.1-15.8L20.3 72.1V64h140.2l108.4 237.7L364.2 64h133.7v8.1l-38.6 37c-3.3 2.5-5 6.7-4.3 10.8v272c-.7 4.1 1 8.3 4.3 10.8l37.7 37v8.1H307.3v-8.1l39.1-37.9c3.8-3.8 3.8-5 3.8-10.8V171.2L241.5 447.1h-14.7L100.4 171.2v184.9c-1.1 7.8 1.5 15.6 7 21.2l50.8 61.6v8.1h-144v-8L65 377.3c5.4-5.6 7.9-13.5 6.5-21.2V142.3z"],medrt:[544,512,[],"f3c8","M113.7 256c0 121.8 83.9 222.8 193.5 241.1-18.7 4.5-38.2 6.9-58.2 6.9C111.4 504 0 393 0 256S111.4 8 248.9 8c20.1 0 39.6 2.4 58.2 6.9C197.5 33.2 113.7 134.2 113.7 256m297.4 100.3c-77.7 55.4-179.6 47.5-240.4-14.6 5.5 14.1 12.7 27.7 21.7 40.5 61.6 88.2 182.4 109.3 269.7 47 87.3-62.3 108.1-184.3 46.5-272.6-9-12.9-19.3-24.3-30.5-34.2 37.4 78.8 10.7 178.5-67 233.9m-218.8-244c-1.4 1-2.7 2.1-4 3.1 64.3-17.8 135.9 4 178.9 60.5 35.7 47 42.9 106.6 24.4 158 56.7-56.2 67.6-142.1 22.3-201.8-50-65.5-149.1-74.4-221.6-19.8M296 224c-4.4 0-8-3.6-8-8v-40c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v40c0 4.4-3.6 8-8 8h-40c-4.4 0-8 3.6-8 8v48c0 4.4 3.6 8 8 8h40c4.4 0 8 3.6 8 8v40c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-40c0-4.4 3.6-8 8-8h40c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8h-40z"],meetup:[512,512,[],"f2e0","M99 414.3c1.1 5.7-2.3 11.1-8 12.3-5.4 1.1-10.9-2.3-12-8-1.1-5.4 2.3-11.1 7.7-12.3 5.4-1.2 11.1 2.3 12.3 8zm143.1 71.4c-6.3 4.6-8 13.4-3.7 20 4.6 6.6 13.4 8.3 20 3.7 6.3-4.6 8-13.4 3.4-20-4.2-6.5-13.1-8.3-19.7-3.7zm-86-462.3c6.3-1.4 10.3-7.7 8.9-14-1.1-6.6-7.4-10.6-13.7-9.1-6.3 1.4-10.3 7.7-9.1 14 1.4 6.6 7.6 10.6 13.9 9.1zM34.4 226.3c-10-6.9-23.7-4.3-30.6 6-6.9 10-4.3 24 5.7 30.9 10 7.1 23.7 4.6 30.6-5.7 6.9-10.4 4.3-24.1-5.7-31.2zm272-170.9c10.6-6.3 13.7-20 7.7-30.3-6.3-10.6-19.7-14-30-7.7s-13.7 20-7.4 30.6c6 10.3 19.4 13.7 29.7 7.4zm-191.1 58c7.7-5.4 9.4-16 4.3-23.7s-15.7-9.4-23.1-4.3c-7.7 5.4-9.4 16-4.3 23.7 5.1 7.8 15.6 9.5 23.1 4.3zm372.3 156c-7.4 1.7-12.3 9.1-10.6 16.9 1.4 7.4 8.9 12.3 16.3 10.6 7.4-1.4 12.3-8.9 10.6-16.6-1.5-7.4-8.9-12.3-16.3-10.9zm39.7-56.8c-1.1-5.7-6.6-9.1-12-8-5.7 1.1-9.1 6.9-8 12.6 1.1 5.4 6.6 9.1 12.3 8 5.4-1.5 9.1-6.9 7.7-12.6zM447 138.9c-8.6 6-10.6 17.7-4.9 26.3 5.7 8.6 17.4 10.6 26 4.9 8.3-6 10.3-17.7 4.6-26.3-5.7-8.7-17.4-10.9-25.7-4.9zm-6.3 139.4c26.3 43.1 15.1 100-26.3 129.1-17.4 12.3-37.1 17.7-56.9 17.1-12 47.1-69.4 64.6-105.1 32.6-1.1.9-2.6 1.7-3.7 2.9-39.1 27.1-92.3 17.4-119.4-22.3-9.7-14.3-14.6-30.6-15.1-46.9-65.4-10.9-90-94-41.1-139.7-28.3-46.9.6-107.4 53.4-114.9C151.6 70 234.1 38.6 290.1 82c67.4-22.3 136.3 29.4 130.9 101.1 41.1 12.6 52.8 66.9 19.7 95.2zm-70 74.3c-3.1-20.6-40.9-4.6-43.1-27.1-3.1-32 43.7-101.1 40-128-3.4-24-19.4-29.1-33.4-29.4-13.4-.3-16.9 2-21.4 4.6-2.9 1.7-6.6 4.9-11.7-.3-6.3-6-11.1-11.7-19.4-12.9-12.3-2-17.7 2-26.6 9.7-3.4 2.9-12 12.9-20 9.1-3.4-1.7-15.4-7.7-24-11.4-16.3-7.1-40 4.6-48.6 20-12.9 22.9-38 113.1-41.7 125.1-8.6 26.6 10.9 48.6 36.9 47.1 11.1-.6 18.3-4.6 25.4-17.4 4-7.4 41.7-107.7 44.6-112.6 2-3.4 8.9-8 14.6-5.1 5.7 3.1 6.9 9.4 6 15.1-1.1 9.7-28 70.9-28.9 77.7-3.4 22.9 26.9 26.6 38.6 4 3.7-7.1 45.7-92.6 49.4-98.3 4.3-6.3 7.4-8.3 11.7-8 3.1 0 8.3.9 7.1 10.9-1.4 9.4-35.1 72.3-38.9 87.7-4.6 20.6 6.6 41.4 24.9 50.6 11.4 5.7 62.5 15.7 58.5-11.1zm5.7 92.3c-10.3 7.4-12.9 22-5.7 32.6 7.1 10.6 21.4 13.1 32 6 10.6-7.4 13.1-22 6-32.6-7.4-10.6-21.7-13.5-32.3-6z"],microsoft:[448,512,[],"f3ca","M0 32h214.6v214.6H0V32zm233.4 0H448v214.6H233.4V32zM0 265.4h214.6V480H0V265.4zm233.4 0H448V480H233.4V265.4z"],mix:[448,512,[],"f3cb","M0 64v348.9c0 56.2 88 58.1 88 0V174.3c7.9-52.9 88-50.4 88 6.5v175.3c0 57.9 96 58 96 0V240c5.3-54.7 88-52.5 88 4.3v23.8c0 59.9 88 56.6 88 0V64H0z"],mixcloud:[640,512,[],"f289","M424.43 219.729C416.124 134.727 344.135 68 256.919 68c-72.266 0-136.224 46.516-159.205 114.074-54.545 8.029-96.63 54.822-96.63 111.582 0 62.298 50.668 112.966 113.243 112.966h289.614c52.329 0 94.969-42.362 94.969-94.693 0-45.131-32.118-83.063-74.48-92.2zm-20.489 144.53H114.327c-39.04 0-70.881-31.564-70.881-70.604s31.841-70.604 70.881-70.604c18.827 0 36.548 7.475 49.838 20.766 19.963 19.963 50.133-10.227 30.18-30.18-14.675-14.398-32.672-24.365-52.053-29.349 19.935-44.3 64.79-73.926 114.628-73.926 69.496 0 125.979 56.483 125.979 125.702 0 13.568-2.215 26.857-6.369 39.594-8.943 27.517 32.133 38.939 40.147 13.29 2.769-8.306 4.984-16.889 6.369-25.472 19.381 7.476 33.502 26.303 33.502 48.453 0 28.795-23.535 52.33-52.607 52.33zm235.069-52.33c0 44.024-12.737 86.386-37.102 122.657-4.153 6.092-10.798 9.414-17.72 9.414-16.317 0-27.127-18.826-17.443-32.949 19.381-29.349 29.903-63.682 29.903-99.122s-10.521-69.773-29.903-98.845c-15.655-22.831 19.361-47.24 35.163-23.534 24.366 35.993 37.102 78.356 37.102 122.379zm-70.88 0c0 31.565-9.137 62.021-26.857 88.325-4.153 6.091-10.798 9.136-17.72 9.136-17.201 0-27.022-18.979-17.443-32.948 13.013-19.104 19.658-41.255 19.658-64.513 0-22.981-6.645-45.408-19.658-64.512-15.761-22.986 19.008-47.095 35.163-23.535 17.719 26.026 26.857 56.483 26.857 88.047z"],mizuni:[496,512,[],"f3cc","M248 8C111 8 0 119.1 0 256c0 137 111 248 248 248s248-111 248-248C496 119.1 385 8 248 8zm-80 351.9c-31.4 10.6-58.8 27.3-80 48.2V136c0-22.1 17.9-40 40-40s40 17.9 40 40v223.9zm120-9.9c-12.9-2-26.2-3.1-39.8-3.1-13.8 0-27.2 1.1-40.2 3.1V136c0-22.1 17.9-40 40-40s40 17.9 40 40v214zm120 57.7c-21.2-20.8-48.6-37.4-80-48V136c0-22.1 17.9-40 40-40s40 17.9 40 40v271.7z"],modx:[448,512,[],"f285","M356 241.8l36.7 23.7V480l-133-83.8L356 241.8zM440 75H226.3l-23 37.8 153.5 96.5L440 75zm-89 142.8L55.2 32v214.5l46 29L351 217.8zM97 294.2L8 437h213.7l125-200.5L97 294.2z"],monero:[496,512,[],"f3d0","M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z"],napster:[496,512,[],"f3d2","M298.3 373.6c-14.2 13.6-31.3 24.1-50.4 30.5-19-6.4-36.2-16.9-50.3-30.5h100.7zm44-199.6c20-16.9 43.6-29.2 69.6-36.2V299c0 219.4-328 217.6-328 .3V137.7c25.9 6.9 49.6 19.6 69.5 36.4 56.8-40 132.5-39.9 188.9-.1zm-208.8-58.5c64.4-60 164.3-60.1 228.9-.2-7.1 3.5-13.9 7.3-20.6 11.5-58.7-30.5-129.2-30.4-187.9.1-6.3-4-13.9-8.2-20.4-11.4zM43.8 93.2v69.3c-58.4 36.5-58.4 121.1.1 158.3 26.4 245.1 381.7 240.3 407.6 1.5l.3-1.7c58.7-36.3 58.9-121.7.2-158.2V93.2c-17.3.5-34 3-50.1 7.4-82-91.5-225.5-91.5-307.5.1-16.3-4.4-33.1-7-50.6-7.5zM259.2 352s36-.3 61.3-1.5c10.2-.5 21.1-4 25.5-6.5 26.3-15.1 25.4-39.2 26.2-47.4-79.5-.6-99.9-3.9-113 55.4zm-135.5-55.3c.8 8.2-.1 32.3 26.2 47.4 4.4 2.5 15.2 6 25.5 6.5 25.3 1.1 61.3 1.5 61.3 1.5-13.2-59.4-33.7-56.1-113-55.4zm169.1 123.4c-3.2-5.3-6.9-7.3-6.9-7.3-24.8 7.3-52.2 6.9-75.9 0 0 0-2.9 1.5-6.4 6.6-2.8 4.1-3.7 9.6-3.7 9.6 29.1 17.6 67.1 17.6 96.2 0-.1-.1-.3-4-3.3-8.9z"],"nintendo-switch":[448,512,[],"f418","M95.9 33.5c-44.6 8-80.5 41-91.8 84.4C0 133.6-.3 142.8.2 264.4.4 376 .5 378.6 2.4 387.3c10.3 46.5 43.3 79.6 90.3 90.5 6.1 1.4 13.9 1.7 64.1 1.9 51.9.4 57.3.3 58.7-1.1 1.4-1.4 1.5-19.3 1.5-222.2 0-150.5-.3-221.3-.9-222.6-.9-1.7-2.5-1.8-56.9-1.7-44.2.1-57.5.4-63.3 1.4zm83.9 222.6V444l-37.8-.5c-34.8-.4-38.5-.6-45.5-2.3-29.9-7.7-52-30.7-58.3-60.7-2-9.4-2-240.1-.1-249.3 5.6-26.1 23.7-47.7 48-57.4 12.2-4.9 17.9-5.5 57.6-5.6l35.9-.1v188zm-75.9-131.2c-5.8 1.1-14.7 5.6-19.5 9.7-9.7 8.4-14.6 20.4-13.8 34.5.4 7.3.8 9.3 3.8 15.2 4.4 9 10.9 15.6 19.9 20 6.2 3.1 7.8 3.4 15.9 3.7 7.3.3 9.9 0 14.8-1.7 20.1-6.8 32.3-26.3 28.8-46.4-3.9-23.7-26.6-39.7-49.9-35zm158.2-92.3c-.4.3-.6 100.8-.6 223.5 0 202.3.1 222.8 1.5 223.4 2.5.9 74.5.6 83.4-.4 37.7-4.3 71-27.2 89-61.2 2.3-4.4 5.4-11.7 7-16.2 5.8-17.4 5.7-12.8 5.7-146.1 0-106.4-.2-122.3-1.5-129-9.2-48.3-46.1-84.8-94.5-93.1-6.5-1.1-16.5-1.4-48.8-1.4-22.4-.1-40.9.2-41.2.5zm99.1 202.1c14.5 3.8 26.3 14.8 31.2 28.9 3.1 8.7 3 21.5-.1 29.5-5.7 14.7-16.8 25-31.1 28.8-23.2 6-47.9-8-54.6-31-2-7-1.9-18.9.4-26.2 6.9-22.7 31-36.1 54.2-30z"],node:[640,512,[],"f419","M316.3 452c-2.1 0-4.2-.6-6.1-1.6L291 439c-2.9-1.6-1.5-2.2-.5-2.5 3.8-1.3 4.6-1.6 8.7-4 .4-.2 1-.1 1.4.1l14.8 8.8c.5.3 1.3.3 1.8 0L375 408c.5-.3.9-.9.9-1.6v-66.7c0-.7-.3-1.3-.9-1.6l-57.8-33.3c-.5-.3-1.2-.3-1.8 0l-57.8 33.3c-.6.3-.9 1-.9 1.6v66.7c0 .6.4 1.2.9 1.5l15.8 9.1c8.6 4.3 13.9-.8 13.9-5.8v-65.9c0-.9.7-1.7 1.7-1.7h7.3c.9 0 1.7.7 1.7 1.7v65.9c0 11.5-6.2 18-17.1 18-3.3 0-6 0-13.3-3.6l-15.2-8.7c-3.7-2.2-6.1-6.2-6.1-10.5v-66.7c0-4.3 2.3-8.4 6.1-10.5l57.8-33.4c3.7-2.1 8.5-2.1 12.1 0l57.8 33.4c3.7 2.2 6.1 6.2 6.1 10.5v66.7c0 4.3-2.3 8.4-6.1 10.5l-57.8 33.4c-1.7 1.1-3.8 1.7-6 1.7zm46.7-65.8c0-12.5-8.4-15.8-26.2-18.2-18-2.4-19.8-3.6-19.8-7.8 0-3.5 1.5-8.1 14.8-8.1 11.9 0 16.3 2.6 18.1 10.6.2.8.8 1.3 1.6 1.3h7.5c.5 0 .9-.2 1.2-.5.3-.4.5-.8.4-1.3-1.2-13.8-10.3-20.2-28.8-20.2-16.5 0-26.3 7-26.3 18.6 0 12.7 9.8 16.1 25.6 17.7 18.9 1.9 20.4 4.6 20.4 8.3 0 6.5-5.2 9.2-17.4 9.2-15.3 0-18.7-3.8-19.8-11.4-.1-.8-.8-1.4-1.7-1.4h-7.5c-.9 0-1.7.7-1.7 1.7 0 9.7 5.3 21.3 30.6 21.3 18.5 0 29-7.2 29-19.8zm54.5-50.1c0 6.1-5 11.1-11.1 11.1s-11.1-5-11.1-11.1c0-6.3 5.2-11.1 11.1-11.1 6-.1 11.1 4.8 11.1 11.1zm-1.8 0c0-5.2-4.2-9.3-9.4-9.3-5.1 0-9.3 4.1-9.3 9.3 0 5.2 4.2 9.4 9.3 9.4 5.2-.1 9.4-4.3 9.4-9.4zm-4.5 6.2h-2.6c-.1-.6-.5-3.8-.5-3.9-.2-.7-.4-1.1-1.3-1.1h-2.2v5h-2.4v-12.5h4.3c1.5 0 4.4 0 4.4 3.3 0 2.3-1.5 2.8-2.4 3.1 1.7.1 1.8 1.2 2.1 2.8.1 1 .3 2.7.6 3.3zm-2.8-8.8c0-1.7-1.2-1.7-1.8-1.7h-2v3.5h1.9c1.6 0 1.9-1.1 1.9-1.8zM137.3 191c0-2.7-1.4-5.1-3.7-6.4l-61.3-35.3c-1-.6-2.2-.9-3.4-1h-.6c-1.2 0-2.3.4-3.4 1L3.7 184.6C1.4 185.9 0 188.4 0 191l.1 95c0 1.3.7 2.5 1.8 3.2 1.1.7 2.5.7 3.7 0L42 268.3c2.3-1.4 3.7-3.8 3.7-6.4v-44.4c0-2.6 1.4-5.1 3.7-6.4l15.5-8.9c1.2-.7 2.4-1 3.7-1 1.3 0 2.6.3 3.7 1l15.5 8.9c2.3 1.3 3.7 3.8 3.7 6.4v44.4c0 2.6 1.4 5.1 3.7 6.4l36.4 20.9c1.1.7 2.6.7 3.7 0 1.1-.6 1.8-1.9 1.8-3.2l.2-95zM472.5 87.3v176.4c0 2.6-1.4 5.1-3.7 6.4l-61.3 35.4c-2.3 1.3-5.1 1.3-7.4 0l-61.3-35.4c-2.3-1.3-3.7-3.8-3.7-6.4v-70.8c0-2.6 1.4-5.1 3.7-6.4l61.3-35.4c2.3-1.3 5.1-1.3 7.4 0l15.3 8.8c1.7 1 3.9-.3 3.9-2.2v-94c0-2.8 3-4.6 5.5-3.2l36.5 20.4c2.3 1.2 3.8 3.7 3.8 6.4zm-46 128.9c0-.7-.4-1.3-.9-1.6l-21-12.2c-.6-.3-1.3-.3-1.9 0l-21 12.2c-.6.3-.9.9-.9 1.6v24.3c0 .7.4 1.3.9 1.6l21 12.1c.6.3 1.3.3 1.8 0l21-12.1c.6-.3.9-.9.9-1.6v-24.3zm209.8-.7c2.3-1.3 3.7-3.8 3.7-6.4V192c0-2.6-1.4-5.1-3.7-6.4l-60.9-35.4c-2.3-1.3-5.1-1.3-7.4 0l-61.3 35.4c-2.3 1.3-3.7 3.8-3.7 6.4v70.8c0 2.7 1.4 5.1 3.7 6.4l60.9 34.7c2.2 1.3 5 1.3 7.3 0l36.8-20.5c2.5-1.4 2.5-5 0-6.4L550 241.6c-1.2-.7-1.9-1.9-1.9-3.2v-22.2c0-1.3.7-2.5 1.9-3.2l19.2-11.1c1.1-.7 2.6-.7 3.7 0l19.2 11.1c1.1.7 1.9 1.9 1.9 3.2v17.4c0 2.8 3.1 4.6 5.6 3.2l36.7-21.3zM559 219c-.4.3-.7.7-.7 1.2v13.6c0 .5.3 1 .7 1.2l11.8 6.8c.4.3 1 .3 1.4 0L584 235c.4-.3.7-.7.7-1.2v-13.6c0-.5-.3-1-.7-1.2l-11.8-6.8c-.4-.3-1-.3-1.4 0L559 219zm-254.2 43.5v-70.4c0-2.6-1.6-5.1-3.9-6.4l-61.1-35.2c-2.1-1.2-5-1.4-7.4 0l-61.1 35.2c-2.3 1.3-3.9 3.7-3.9 6.4v70.4c0 2.8 1.9 5.2 4 6.4l61.2 35.2c2.4 1.4 5.2 1.3 7.4 0l61-35.2c1.8-1 3.1-2.7 3.6-4.7.1-.5.2-1.1.2-1.7zm-74.3-124.9l-.8.5h1.1l-.3-.5zm76.2 130.2l-.4-.7v.9l.4-.2z"],"node-js":[448,512,[],"f3d3","M224 508c-6.7 0-13.5-1.8-19.4-5.2l-61.7-36.5c-9.2-5.2-4.7-7-1.7-8 12.3-4.3 14.8-5.2 27.9-12.7 1.4-.8 3.2-.5 4.6.4l47.4 28.1c1.7 1 4.1 1 5.7 0l184.7-106.6c1.7-1 2.8-3 2.8-5V149.3c0-2.1-1.1-4-2.9-5.1L226.8 37.7c-1.7-1-4-1-5.7 0L36.6 144.3c-1.8 1-2.9 3-2.9 5.1v213.1c0 2 1.1 4 2.9 4.9l50.6 29.2c27.5 13.7 44.3-2.4 44.3-18.7V167.5c0-3 2.4-5.3 5.4-5.3h23.4c2.9 0 5.4 2.3 5.4 5.3V378c0 36.6-20 57.6-54.7 57.6-10.7 0-19.1 0-42.5-11.6l-48.4-27.9C8.1 389.2.7 376.3.7 362.4V149.3c0-13.8 7.4-26.8 19.4-33.7L204.6 9c11.7-6.6 27.2-6.6 38.8 0l184.7 106.7c12 6.9 19.4 19.8 19.4 33.7v213.1c0 13.8-7.4 26.7-19.4 33.7L243.4 502.8c-5.9 3.4-12.6 5.2-19.4 5.2zm149.1-210.1c0-39.9-27-50.5-83.7-58-57.4-7.6-63.2-11.5-63.2-24.9 0-11.1 4.9-25.9 47.4-25.9 37.9 0 51.9 8.2 57.7 33.8.5 2.4 2.7 4.2 5.2 4.2h24c1.5 0 2.9-.6 3.9-1.7s1.5-2.6 1.4-4.1c-3.7-44.1-33-64.6-92.2-64.6-52.7 0-84.1 22.2-84.1 59.5 0 40.4 31.3 51.6 81.8 56.6 60.5 5.9 65.2 14.8 65.2 26.7 0 20.6-16.6 29.4-55.5 29.4-48.9 0-59.6-12.3-63.2-36.6-.4-2.6-2.6-4.5-5.3-4.5h-23.9c-3 0-5.3 2.4-5.3 5.3 0 31.1 16.9 68.2 97.8 68.2 58.4-.1 92-23.2 92-63.4z"],npm:[576,512,[],"f3d4","M288 288h-32v-64h32v64zm288-128v192H288v32H160v-32H0V160h576zm-416 32H32v128h64v-96h32v96h32V192zm160 0H192v160h64v-32h64V192zm224 0H352v128h64v-96h32v96h32v-96h32v96h32V192z"],ns8:[640,512,[],"f3d5","M187.1 159.9l-34.2 113.7-54.5-113.7H49L0 320h44.9L76 213.5 126.6 320h56.9L232 159.9h-44.9zm452.5-.9c-2.9-18-23.9-28.1-42.1-31.3-44.6-7.8-101.9 16.3-88.5 58.8v.1c-43.8 8.7-74.3 26.8-94.2 48.2-3-9.8-13.6-16.6-34-16.6h-87.6c-9.3 0-12.9-2.3-11.5-7.4 1.6-5.5 1.9-6.8 3.7-12.2 2.1-6.4 7.8-7.1 13.3-7.1h133.5l9.7-31.5c-139.7 0-144.5-.5-160.1 1.2-12.3 1.3-23.5 4.8-30.6 15-6.8 9.9-14.4 35.6-17.6 47.1-5.4 19.4-.6 28.6 32.8 28.6h87.3c7.8 0 8.8 2.7 7.7 6.6-1.1 4.4-2.8 10-4.5 14.6-1.6 4.2-4.7 7.4-13.8 7.4H216.3L204.7 320c139.9 0 145.3-.6 160.9-2.3 6.6-.7 13-2.1 18.5-4.9.2 3.7.5 7.3 1.2 10.8 5.4 30.5 27.4 52.3 56.8 59.5 48.6 11.9 108.7-16.8 135.1-68 18.7-36.2 14.1-76.2-3.4-105.5h.1c29.6-5.9 70.3-22 65.7-50.6zM530.7 263.7c-5.9 29.5-36.6 47.8-61.6 43.9-30.9-4.8-38.5-39.5-14.1-64.8 16.2-16.8 45.2-24 68.5-26.9 6.7 14.1 10.3 32 7.2 47.8zm21.8-83.1c-4.2-6-9.8-18.5-2.5-26.3 6.7-7.2 20.9-10.1 31.8-7.7 15.3 3.4 19.7 15.9 4.9 24.4-10.7 6.1-23.6 8.1-34.2 9.6z"],nutritionix:[400,512,[],"f3d6","M88 8.1S221.4-.1 209 112.5c0 0 19.1-74.9 103-40.6 0 0-17.7 74-88 56 0 0 14.6-54.6 66.1-56.6 0 0-39.9-10.3-82.1 48.8 0 0-19.8-94.5-93.6-99.7 0 0 75.2 19.4 77.6 107.5 0 .1-106.4 7-104-119.8zm312 315.6c0 48.5-9.7 95.3-32 132.3-42.2 30.9-105 48-168 48-62.9 0-125.8-17.1-168-48C9.7 419 0 372.2 0 323.7 0 275.3 17.7 229 40 192c42.2-30.9 97.1-48.6 160-48.6 63 0 117.8 17.6 160 48.6 22.3 37 40 83.3 40 131.7zM120 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM192 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM264 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zM336 428c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm0-66.2c0-15.5-12.5-28-28-28s-28 12.5-28 28 12.5 28 28 28 28-12.5 28-28zm24-39.6c-4.8-22.3-7.4-36.9-16-56-38.8-19.9-90.5-32-144-32S94.8 180.1 56 200c-8.8 19.5-11.2 33.9-16 56 42.2-7.9 98.7-14.8 160-14.8s117.8 6.9 160 14.8z"],odnoklassniki:[320,512,[],"f263","M275.1 334c-27.4 17.4-65.1 24.3-90 26.9l20.9 20.6 76.3 76.3c27.9 28.6-17.5 73.3-45.7 45.7-19.1-19.4-47.1-47.4-76.3-76.6L84 503.4c-28.2 27.5-73.6-17.6-45.4-45.7 19.4-19.4 47.1-47.4 76.3-76.3l20.6-20.6c-24.6-2.6-62.9-9.1-90.6-26.9-32.6-21-46.9-33.3-34.3-59 7.4-14.6 27.7-26.9 54.6-5.7 0 0 36.3 28.9 94.9 28.9s94.9-28.9 94.9-28.9c26.9-21.1 47.1-8.9 54.6 5.7 12.4 25.7-1.9 38-34.5 59.1zM30.3 129.7C30.3 58 88.6 0 160 0s129.7 58 129.7 129.7c0 71.4-58.3 129.4-129.7 129.4s-129.7-58-129.7-129.4zm66 0c0 35.1 28.6 63.7 63.7 63.7s63.7-28.6 63.7-63.7c0-35.4-28.6-64-63.7-64s-63.7 28.6-63.7 64z"],"odnoklassniki-square":[448,512,[],"f264","M184.2 177.1c0-22.1 17.9-40 39.8-40s39.8 17.9 39.8 40c0 22-17.9 39.8-39.8 39.8s-39.8-17.9-39.8-39.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-305.1 97.1c0 44.6 36.4 80.9 81.1 80.9s81.1-36.2 81.1-80.9c0-44.8-36.4-81.1-81.1-81.1s-81.1 36.2-81.1 81.1zm174.5 90.7c-4.6-9.1-17.3-16.8-34.1-3.6 0 0-22.7 18-59.3 18s-59.3-18-59.3-18c-16.8-13.2-29.5-5.5-34.1 3.6-7.9 16.1 1.1 23.7 21.4 37 17.3 11.1 41.2 15.2 56.6 16.8l-12.9 12.9c-18.2 18-35.5 35.5-47.7 47.7-17.6 17.6 10.7 45.8 28.4 28.6l47.7-47.9c18.2 18.2 35.7 35.7 47.7 47.9 17.6 17.2 46-10.7 28.6-28.6l-47.7-47.7-13-12.9c15.5-1.6 39.1-5.9 56.2-16.8 20.4-13.3 29.3-21 21.5-37z"],opencart:[640,512,[],"f23d","M423.3 440.7c0 25.3-20.3 45.6-45.6 45.6s-45.8-20.3-45.8-45.6 20.6-45.8 45.8-45.8c25.4 0 45.6 20.5 45.6 45.8zm-253.9-45.8c-25.3 0-45.6 20.6-45.6 45.8s20.3 45.6 45.6 45.6 45.8-20.3 45.8-45.6-20.5-45.8-45.8-45.8zm291.7-270C158.9 124.9 81.9 112.1 0 25.7c34.4 51.7 53.3 148.9 373.1 144.2 333.3-5 130 86.1 70.8 188.9 186.7-166.7 319.4-233.9 17.2-233.9z"],openid:[448,512,[],"f19b","M271.5 432l-68 32C88.5 453.7 0 392.5 0 318.2c0-71.5 82.5-131 191.7-144.3v43c-71.5 12.5-124 53-124 101.3 0 51 58.5 93.3 135.7 103v-340l68-33.2v384zM448 291l-131.3-28.5 36.8-20.7c-19.5-11.5-43.5-20-70-24.8v-43c46.2 5.5 87.7 19.5 120.3 39.3l35-19.8L448 291z"],opera:[496,512,[],"f26a","M313.9 32.7c-170.2 0-252.6 223.8-147.5 355.1 36.5 45.4 88.6 75.6 147.5 75.6 36.3 0 70.3-11.1 99.4-30.4-43.8 39.2-101.9 63-165.3 63-3.9 0-8 0-11.9-.3C104.6 489.6 0 381.1 0 248 0 111 111 0 248 0h.8c63.1.3 120.7 24.1 164.4 63.1-29-19.4-63.1-30.4-99.3-30.4zm101.8 397.7c-40.9 24.7-90.7 23.6-132-5.8 56.2-20.5 97.7-91.6 97.7-176.6 0-84.7-41.2-155.8-97.4-176.6 41.8-29.2 91.2-30.3 132.9-5 105.9 98.7 105.5 265.7-1.2 364z"],"optin-monster":[576,512,[],"f23c","M550.671 450.303c0 11.62-15.673 19.457-32.158 14.863-12.16-3.243-31.346-17.565-36.211-27.294-5.674-11.62 4.054-32.698 18.916-30.806 15.674 1.621 49.453 25.401 49.453 43.237zM372.86 75.223c-3.783-72.151-100.796-79.718-125.928-23.51 44.588-24.321 90.257-15.673 125.928 23.51zM74.795 407.066c-15.673 1.621-49.452 25.401-49.452 43.237 0 11.62 15.673 19.457 32.157 14.863 12.16-3.243 31.076-17.565 35.94-27.294 5.946-11.62-3.782-32.698-18.645-30.806zm497.765 14.322c1.081 3.513 1.892 7.026 1.892 10.809.81 31.616-44.317 64.045-73.503 65.125-17.295.81-34.59-8.377-42.696-23.51-113.497 4.053-226.994 4.864-340.22 0-8.377 15.133-25.672 24.05-42.967 23.51-28.915-1.081-74.043-33.509-73.503-65.125.27-3.783.811-7.296 1.892-10.809-5.566-9.463-4.845-15.282 5.405-11.62 3.243-5.134 7.026-9.458 11.08-13.782-2.57-10.917 1.27-14.094 11.079-9.188 4.594-3.243 9.998-6.485 15.944-9.188 0-15.757 11.839-11.131 17.295-5.675 12.467-1.78 20.129.709 26.753 5.675v-19.726c-12.987 0-40.641-11.375-45.94-36.212-4.974-20.725 2.607-38.075 25.132-47.56.81-5.945 8.107-14.052 14.862-15.944 7.567-1.892 12.431 4.594 14.052 10.269 7.425 0 17.757 1.465 21.078 8.107 5.405-.541 11.079-1.352 16.484-1.892-2.432-1.892-5.134-3.513-8.107-4.594-5.134-8.917-13.782-11.079-24.591-11.62 0-.81 0-1.621.27-2.702-19.727-.541-44.048-5.675-54.857-17.835-21.321-23.638-15.935-83.577 12.16-103.498 8.377-5.675 21.618-.811 22.699 9.728 2.425 20.598.399 26.833 26.212 25.942 8.107-7.836 16.755-14.592 26.483-19.997-14.862-1.352-28.914 1.621-43.778 3.783 12.752-12.48 23.953-25.442 56.748-42.427 23.511-11.89 49.993-20.808 76.205-23.239-18.646-7.837-39.993-11.891-59.721-16.484 76.475-16.214 174.569-22.159 244.289 37.562 18.105 15.403 32.427 36.211 42.696 59.992 39.799 4.853 36.47-5.581 38.643-25.132 1.081-10.269 14.322-15.403 22.699-9.458 14.862 10.539 22.159 30.806 24.59 48.101 2.162 17.835.27 41.345-12.43 55.127-10.809 12.16-34.32 17.565-53.776 18.105v2.703c-11.08.27-20.268 2.432-25.673 11.62-2.972 1.081-5.674 2.703-8.377 4.594 5.675.54 11.35 1.351 16.755 1.891 1.869-5.619 12.535-8.377 21.077-8.377 1.621-5.405 6.756-11.89 14.052-10.269s14.052 9.998 14.863 15.944c10.809 4.324 22.159 12.16 25.131 25.672 1.892 8.107 1.621 15.133.27 21.888-5.726 25.262-33.361 36.212-45.939 36.212 0 6.756 0 13.241-.27 19.726 8.01-6.006 16.367-7.158 26.752-5.675 5.919-5.919 17.565-9.41 17.565 5.675 5.675 2.703 11.349 5.945 15.944 9.188 10.1-5.051 13.669-.539 10.809 9.188 4.053 4.323 8.107 8.917 11.079 13.782 10.136-3.62 11.021 2.078 5.409 11.62zm-73.773-254.016c17.295 6.756 26.212 22.159 30.265 35.67 1.081-10.539-2.702-39.453-13.782-51.073-7.296-7.296-14.052-5.134-14.052.81.001 6.216-1.35 11.62-2.431 14.593zm-18.646 12.43c12.971 15.673 17.024 41.615 12.7 62.963 10.809-2.162 20.537-6.215 26.212-12.16 1.892-2.162 3.783-4.864 4.864-7.566-1.081-21.348-10.269-42.697-29.725-48.912-3.242 3.243-9.187 4.864-14.051 5.675zm-21.889.811c7.567 20.537 12.431 42.696 14.322 64.585 3.513 0 7.567-.27 11.62-.811 5.945-24.321-.27-51.614-14.052-63.504-3.783 0-8.107 0-11.89-.27zM77.768 167.372c-1.081-2.973-2.432-8.377-2.432-14.593 0-5.945-7.026-8.107-14.052-.81-11.35 11.62-14.863 40.534-13.782 51.073 4.053-13.512 12.971-28.915 30.266-35.67zm5.675 75.394c-4.324-21.348-.27-47.291 12.701-62.963-4.865-.811-10.809-2.432-14.052-5.675-19.457 6.215-28.375 27.563-29.726 48.912 1.351 2.702 2.972 5.404 4.864 7.566 5.675 6.215 15.403 9.998 26.213 12.16zm41.345-61.073c-5.134 1.081-9.998 2.973-14.862 4.865l-12.16 5.134v-.27c-7.296 14.052-9.999 34.319-5.405 52.965 4.594.541 8.647.811 12.7.811 2.432-22.159 9.188-43.778 19.727-63.505zm88.095-23.239c0 42.155 34.319 76.205 76.205 76.205s76.205-34.05 76.205-76.205c0-41.886-34.319-75.935-76.205-75.935s-76.205 34.049-76.205 75.935zm152.41 97.283c9.969 50.608 3.299 64.692 16.484 58.099 15.944-8.107 22.699-39.183 22.97-57.019-12.971-.81-26.213-.81-39.454-1.08zm-71.611-.541v-.27c-.27 5.134.27 38.103 4.324 41.075 11.079 5.405 39.453 4.594 51.073 1.081 5.405-1.621 2.432-37.022 1.621-41.886-18.916-.27-38.102-.27-57.018 0zm-14.053 0v-.27c-19.456.27-38.642.27-57.829.811-1.892 9.187-4.594 48.911 1.892 51.614 12.971 5.675 41.616 5.134 54.586 1.621 4.595-2.432 2.433-45.399 1.351-53.776zm-85.662 57.56c5.405 2.432 8.647 2.432 9.728-4.324 1.892-8.647 2.432-36.752 4.865-52.155-12.16.27-24.591.811-36.752 1.621-5.405 19.727.27 45.129 22.159 54.858zm-65.666-11.08c43.778 47.02 92.689 85.663 155.923 106.47 67.558-19.186 115.659-59.991 163.219-107.011-11.095-4.315-7.715-10.363-7.296-11.62-8.918-.81-17.835-1.892-26.483-2.702-9.458 32.968-35.94 52.965-46.75 31.616-2.702-5.134-3.513-11.62-4.594-16.754-3.783 8.377-13.242 8.107-24.591 8.918-13.241 1.081-31.617 1.351-44.048-2.972-2.972 12.971-11.079 12.971-26.752 14.322-14.052 1.352-48.642 4.054-54.857-10.809-1.081 28.644-35.13 9.998-45.129-7.026-3.243-5.675-5.405-11.35-7.026-17.565-7.837.81-15.673 1.621-23.511 2.702 2.443 3.663 1.549 9.052-8.105 12.431zM115.6 453.545c-5.674-23.239-18.646-49.722-33.508-54.046-22.429-6.756-68.909 23.51-66.207 54.586 12.701 19.457 39.994 35.67 59.181 36.481 17.835.81 35.94-11.08 39.724-28.914.539-2.432.81-5.134.81-8.107zm7.296-5.944c33.509-19.457 69.179-35.671 105.931-47.02-38.643-20.537-68.098-47.831-97.283-77.016-2.162 1.352-5.134 2.432-7.836 3.513-1.637 4.91 8.718 5.33 5.405 12.431-2.162 4.054-8.648 7.567-15.133 9.188-2.161 2.702-5.134 4.864-7.836 6.485h-.27c-.27 13.511-.27 27.024.27 40.535 8.939 15.964 15.426 33.314 16.752 51.884zm320.764 12.7c-36.752-21.348-74.044-41.345-115.659-52.965-13.782 6.215-27.833 11.349-42.155 15.403-2.162.811-2.162.811-4.324 0-11.89-3.783-23.239-8.107-34.859-13.241-40.265 11.62-77.286 29.185-112.416 50.803h-.27v.27c.27 0 .27 0 .27-.27 103.227 4.054 206.455 3.513 309.413 0zm27.023-64.045l-.27.27c.541-13.782.811-27.563.811-41.345-2.973-1.621-5.675-4.054-8.107-6.756-6.485-1.351-12.971-5.134-15.133-8.918-1.892-4.053 1.351-7.566 5.945-10.269-.27-.541-.541-1.621-.541-2.432-2.972-.811-5.405-1.892-7.567-3.243-31.616 29.455-65.396 56.749-103.498 76.746 38.914 11.62 75.935 28.104 111.875 47.561 1.05-14.692 7.231-35.749 16.485-51.614zm23.24 3.244c-14.593 4.323-27.834 30.806-33.509 54.046 0 23.826 21.278 37.897 40.534 37.022 19.186-.811 46.48-17.024 59.181-36.481 2.973-31.077-43.507-61.344-66.206-54.587zM290.709 134.133c.045 0 .089.003.134.003.046 0 .09-.003.136-.003h-.27zm0 96.743c28.645 0 51.884-21.618 51.884-48.371 0-36.092-40.507-58.079-72.151-44.318 9.458 2.972 16.484 11.62 16.484 21.618 0 23.257-33.291 31.955-46.48 11.35-7.297 34.067 19.368 59.721 50.263 59.721zM68.039 474.083c.54 6.486 12.16 12.701 21.618 9.458 6.756-2.703 14.593-10.539 17.295-16.214 2.973-7.026-1.081-19.997-9.728-18.375-8.917 1.621-29.725 16.754-29.185 25.131zm410.75-25.131c-8.377-1.621-12.431 11.349-9.458 18.375 2.432 5.675 10.269 13.511 17.295 16.214 9.187 3.243 21.078-2.972 21.348-9.458.811-8.377-20.267-23.51-29.185-25.131z"],osi:[495,512,[],"f41a","M0 259.2C2.3 123.4 97.4 26.8 213.8 11.1c138.8-18.6 255.6 75.8 278 201.1 21.3 118.8-44 230-151.6 274-9.3 3.8-14.4 1.7-18-7.7-17.8-46.3-35.6-92.7-53.4-139-3.1-8.1-1-13.2 7-16.8 24.2-11 39.3-29.4 43.3-55.8 6.4-42.4-24.5-78.7-64.5-82.2-39-3.4-71.8 23.7-77.5 59.7-5.2 33 11.1 63.7 41.9 77.7 9.6 4.4 11.5 8.6 7.8 18.4-17.9 46.6-35.8 93.2-53.7 139.9-2.6 6.9-8.3 9.3-15.5 6.5-52.6-20.3-101.4-61-130.8-119C1.9 318.7 1.6 280.2 0 259.2zm20.9-1.9c.4 6.6.6 14.3 1.3 22.1 6.3 71.9 49.6 143.5 131 183.1 3.2 1.5 4.4.8 5.6-2.3 14.9-39.1 29.9-78.2 45-117.3 1.3-3.3.6-4.8-2.4-6.7-31.6-19.9-47.3-48.5-45.6-86 1-21.6 9.3-40.5 23.8-56.3 30-32.7 77-39.8 115.5-17.6 31.9 18.4 49.5 53.8 45.2 90.4-3.6 30.6-19.3 53.9-45.7 69.8-2.7 1.6-3.5 2.9-2.3 6 15.2 39.2 30.2 78.4 45.2 117.7 1.2 3.1 2.4 3.8 5.6 2.3 35.5-16.6 65.2-40.3 88.1-72 34.8-48.2 49.1-101.9 42.3-161C459.8 112 354.1 14.7 218 31.5 111.9 44.5 22.7 134 20.9 257.3z"],page4:[496,512,[],"f3d7","M248 504C111 504 0 393 0 256S111 8 248 8c20.9 0 41.3 2.6 60.7 7.5L42.3 392H248v112zm0-143.6V146.8L98.6 360.4H248zm96 31.6v92.7c45.7-19.2 84.5-51.7 111.4-92.7H344zm57.4-138.2l-21.2 8.4 21.2 8.3v-16.7zm-20.3 54.5c-6.7 0-8 6.3-8 12.9v7.7h16.2v-10c0-5.9-2.3-10.6-8.2-10.6zM496 256c0 37.3-8.2 72.7-23 104.4H344V27.3C433.3 64.8 496 153.1 496 256zM360.4 143.6h68.2V96h-13.9v32.6h-13.9V99h-13.9v29.6h-12.7V96h-13.9v47.6zm68.1 185.3H402v-11c0-15.4-5.6-25.2-20.9-25.2-15.4 0-20.7 10.6-20.7 25.9v25.3h68.2v-15zm0-103l-68.2 29.7V268l68.2 29.5v-16.6l-14.4-5.7v-26.5l14.4-5.9v-16.9zm-4.8-68.5h-35.6V184H402v-12.2h11c8.6 15.8 1.3 35.3-18.6 35.3-22.5 0-28.3-25.3-15.5-37.7l-11.6-10.6c-16.2 17.5-12.2 63.9 27.1 63.9 34 0 44.7-35.9 29.3-65.3z"],pagelines:[384,512,[],"f18c","M384 312.7c-55.1 136.7-187.1 54-187.1 54-40.5 81.8-107.4 134.4-184.6 134.7-16.1 0-16.6-24.4 0-24.4 64.4-.3 120.5-42.7 157.2-110.1-41.1 15.9-118.6 27.9-161.6-82.2 109-44.9 159.1 11.2 178.3 45.5 9.9-24.4 17-50.9 21.6-79.7 0 0-139.7 21.9-149.5-98.1 119.1-47.9 152.6 76.7 152.6 76.7 1.6-16.7 3.3-52.6 3.3-53.4 0 0-106.3-73.7-38.1-165.2 124.6 43 61.4 162.4 61.4 162.4.5 1.6.5 23.8 0 33.4 0 0 45.2-89 136.4-57.5-4.2 134-141.9 106.4-141.9 106.4-4.4 27.4-11.2 53.4-20 77.5 0 0 83-91.8 172-20z"],palfed:[576,512,[],"f3d8","M384.9 193.9c0-47.4-55.2-44.2-95.4-29.8-1.3 39.4-2.5 80.7-3 119.8.7 2.8 2.6 6.2 15.1 6.2 36.8 0 83.4-42.8 83.3-96.2zm-194.5 72.2c.2 0 6.5-2.7 11.2-2.7 26.6 0 20.7 44.1-14.4 44.1-21.5 0-37.1-18.1-37.1-43 0-42 42.9-95.6 100.7-126.5 1-12.4 3-22 10.5-28.2 11.2-9 26.6-3.5 29.5 11.1 72.2-22.2 135.2 1 135.2 72 0 77.9-79.3 152.6-140.1 138.2-.1 39.4.9 74.4 2.7 100v.2c.2 3.4.6 12.5-5.3 19.1-9.6 10.6-33.4 10-36.4-22.3-4.1-44.4.2-206.1 1.4-242.5-21.5 15-58.5 50.3-58.5 75.9.2 2.5.4 4 .6 4.6zM8 181.1s-.1 37.4 38.4 37.4h30l22.4 217.2s0 44.3 44.7 44.3h288.9s44.7-.4 44.7-44.3l22.4-217.2h30s38.4 1.2 38.4-37.4c0 0 .1-37.4-38.4-37.4h-30.1c-7.3-25.6-30.2-74.3-119.4-74.3h-28V50.3s-2.7-18.4-21.1-18.4h-85.8s-21.1 0-21.1 18.4v19.1h-28.1s-105 4.2-120.5 74.3h-29S8 142.5 8 181.1z"],patreon:[512,512,[],"f3d9","M512 194.8c0 101.3-82.4 183.8-183.8 183.8-101.7 0-184.4-82.4-184.4-183.8 0-101.6 82.7-184.3 184.4-184.3C429.6 10.5 512 93.2 512 194.8zM0 501.5h90v-491H0v491z"],paypal:[384,512,[],"f1ed","M111.4 295.9c-3.5 19.2-17.4 108.7-21.5 134-.3 1.8-1 2.5-3 2.5H12.3c-7.6 0-13.1-6.6-12.1-13.9L58.8 46.6c1.5-9.6 10.1-16.9 20-16.9 152.3 0 165.1-3.7 204 11.4 60.1 23.3 65.6 79.5 44 140.3-21.5 62.6-72.5 89.5-140.1 90.3-43.4.7-69.5-7-75.3 24.2zM357.1 152c-1.8-1.3-2.5-1.8-3 1.3-2 11.4-5.1 22.5-8.8 33.6-39.9 113.8-150.5 103.9-204.5 103.9-6.1 0-10.1 3.3-10.9 9.4-22.6 140.4-27.1 169.7-27.1 169.7-1 7.1 3.5 12.9 10.6 12.9h63.5c8.6 0 15.7-6.3 17.4-14.9.7-5.4-1.1 6.1 14.4-91.3 4.6-22 14.3-19.7 29.3-19.7 71 0 126.4-28.8 142.9-112.3 6.5-34.8 4.6-71.4-23.8-92.6z"],periscope:[448,512,[],"f3da","M370 63.6C331.4 22.6 280.5 0 226.6 0 111.9 0 18.5 96.2 18.5 214.4c0 75.1 57.8 159.8 82.7 192.7C137.8 455.5 192.6 512 226.6 512c41.6 0 112.9-94.2 120.9-105 24.6-33.1 82-118.3 82-192.6 0-56.5-21.1-110.1-59.5-150.8zM226.6 493.9c-42.5 0-190-167.3-190-279.4 0-107.4 83.9-196.3 190-196.3 100.8 0 184.7 89 184.7 196.3.1 112.1-147.4 279.4-184.7 279.4zM338 206.8c0 59.1-51.1 109.7-110.8 109.7-100.6 0-150.7-108.2-92.9-181.8v.4c0 24.5 20.1 44.4 44.8 44.4 24.7 0 44.8-19.9 44.8-44.4 0-18.2-11.1-33.8-26.9-40.7 76.6-19.2 141 39.3 141 112.4z"],phabricator:[496,512,[],"f3db","M323 262.1l-.1-13s21.7-19.8 21.1-21.2l-9.5-20c-.6-1.4-29.5-.5-29.5-.5l-9.4-9.3s.2-28.5-1.2-29.1l-20.1-9.2c-1.4-.6-20.7 21-20.7 21l-13.1-.2s-20.5-21.4-21.9-20.8l-20 8.3c-1.4.5.2 28.9.2 28.9l-9.1 9.1s-29.2-.9-29.7.4l-8.1 19.8c-.6 1.4 21 21 21 21l.1 12.9s-21.7 19.8-21.1 21.2l9.5 20c.6 1.4 29.5.5 29.5.5l9.4 9.3s-.2 31.8 1.2 32.3l20.1 8.3c1.4.6 20.7-23.5 20.7-23.5l13.1.2s20.5 23.8 21.8 23.3l20-7.5c1.4-.6-.2-32.1-.2-32.1l9.1-9.1s29.2.9 29.7-.5l8.1-19.8c.7-1.1-20.9-20.7-20.9-20.7zm-44.9-8.7c.7 17.1-12.8 31.6-30.1 32.4-17.3.8-32.1-12.5-32.8-29.6-.7-17.1 12.8-31.6 30.1-32.3 17.3-.8 32.1 12.5 32.8 29.5zm201.2-37.9l-97-97-.1.1c-75.1-73.3-195.4-72.8-269.8 1.6-50.9 51-27.8 27.9-95.7 95.3-22.3 22.3-22.3 58.7 0 81 69.9 69.4 46.4 46 97.4 97l.1-.1c75.1 73.3 195.4 72.9 269.8-1.6 51-50.9 27.9-27.9 95.3-95.3 22.3-22.3 22.3-58.7 0-81zM140.4 363.8c-59.6-59.5-59.6-156 0-215.5 59.5-59.6 156-59.5 215.6 0 59.5 59.5 59.6 156 0 215.6-59.6 59.5-156 59.4-215.6-.1z"],"phoenix-framework":[640,512,[],"f3dc","M212.9 344.3c3.8-.1 22.8-1.4 25.6-2.2-2.4-2.6-43.6-1-68-49.6-4.3-8.6-7.5-17.6-6.4-27.6 2.9-25.5 32.9-30 52-18.5 36 21.6 63.3 91.3 113.7 97.5 37 4.5 84.6-17 108.2-45.4-.6-.1-.8-.2-1-.1-.4.1-.8.2-1.1.3-33.3 12.1-94.3 9.7-134.7-14.8-37.6-22.8-53.1-58.7-51.8-74.6 1.8-21.3 22.9-23.2 35.9-19.6 14.4 3.9 24.4 17.6 38.9 27.4 15.6 10.4 32.9 13.7 51.3 10.3 14.9-2.7 34.4-12.3 36.5-14.5-1.1-.1-1.8-.1-2.5-.2-6.2-.6-12.4-.8-18.5-1.7C279.8 194.5 262.1 47.4 138.5 37.9 94.2 34.5 39.1 46 2.2 72.9c-.8.6-1.5 1.2-2.2 1.8.1.2.1.3.2.5.8 0 1.6-.1 2.4-.2 6.3-1 12.5-.8 18.7.3 23.8 4.3 47.7 23.1 55.9 76.5 5.3 34.3-.7 50.8 8 86.1 19 77.1 91 107.6 127.7 106.4zM75.3 64.9c-.9-1-.9-1.2-1.3-2 12.1-2.6 24.2-4.1 36.6-4.8-1.1 14.7-22.2 21.3-35.3 6.8zm196.9 350.5c-42.8 1.2-92-26.7-123.5-61.4-4.6-5-16.8-20.2-18.6-23.4l.4-.4c6.6 4.1 25.7 18.6 54.8 27 24.2 7 48.1 6.3 71.6-3.3 22.7-9.3 41-.5 43.1 2.9-18.5 3.8-20.1 4.4-24 7.9-5.1 4.4-4.6 11.7 7 17.2 26.2 12.4 63-2.8 97.2 25.4 2.4 2 8.1 7.8 10.1 10.7-.1.2-.3.3-.4.5-4.8-1.5-16.4-7.5-40.2-9.3-24.7-2-46.3 5.3-77.5 6.2zm174.8-252c16.4-5.2 41.3-13.4 66.5-3.3 16.1 6.5 26.2 18.7 32.1 34.6 3.5 9.4 5.1 19.7 5.1 28.7-.2 0-.4 0-.6.1-.2-.4-.4-.9-.5-1.3-5-22-29.9-43.8-67.6-29.9-50.2 18.6-130.4 9.7-176.9-48-.7-.9-2.4-1.7-1.3-3.2.1-.2 2.1.6 3 1.3 18.1 13.4 38.3 21.9 60.3 26.2 30.5 6.1 54.6 2.9 79.9-5.2zm102.7 117.5c-32.4.2-33.8 50.1-103.6 64.4-18.2 3.7-38.7 4.6-44.9 4.2v-.4c2.8-1.5 14.7-2.6 29.7-16.6 7.9-7.3 15.3-15.1 22.8-22.9 19.5-20.2 41.4-42.2 81.9-39 23.1 1.8 29.3 8.2 36.1 12.7.3.2.4.5.7.9-.5 0-.7.1-.9 0-7-2.7-14.3-3.3-21.8-3.3zm-12.3-24.1c-.1.2-.1.4-.2.6-28.9-4.4-48-7.9-68.5 4-17 9.9-31.4 20.5-62 24.4-27.1 3.4-45.1 2.4-66.1-8-.3-.2-.6-.4-1-.6 0-.2.1-.3.1-.5 24.9 3.8 36.4 5.1 55.5-5.8 22.3-12.9 40.1-26.6 71.3-31 29.6-4.1 51.3 2.5 70.9 16.9zM268.6 97.3c-.6-.6-1.1-1.2-2.1-2.3 7.6 0 29.7-1.2 53.4 8.4 19.7 8 32.2 21 50.2 32.9 11.1 7.3 23.4 9.3 36.4 8.1 4.3-.4 8.5-1.2 12.8-1.7.4-.1.9 0 1.5.3-.6.4-1.2.9-1.8 1.2-8.1 4-16.7 6.3-25.6 7.1-26.1 2.6-50.3-3.7-73.4-15.4-19.3-9.9-36.4-22.9-51.4-38.6zM640 335.7c-3.5 3.1-22.7 11.6-42.7 5.3-12.3-3.9-19.5-14.9-31.6-24.1-10-7.6-20.9-7.9-28.1-8.4.6-.8.9-1.2 1.2-1.4 14.8-9.2 30.5-12.2 47.3-6.5 12.5 4.2 19.2 13.5 30.4 24.2 10.8 10.4 21 9.9 23.1 10.5.1-.1.2 0 .4.4zm-212.5 137c2.2 1.2 1.6 1.5 1.5 2-18.5-1.4-33.9-7.6-46.8-22.2-21.8-24.7-41.7-27.9-48.6-29.7.5-.2.8-.4 1.1-.4 13.1.1 26.1.7 38.9 3.9 25.3 6.4 35 25.4 41.6 35.3 3.2 4.8 7.3 8.3 12.3 11.1z"],php:[640,512,[],"f457","M320 104.5c171.4 0 303.2 72.2 303.2 151.5S491.3 407.5 320 407.5c-171.4 0-303.2-72.2-303.2-151.5S148.7 104.5 320 104.5m0-16.8C143.3 87.7 0 163 0 256s143.3 168.3 320 168.3S640 349 640 256 496.7 87.7 320 87.7zM218.2 242.5c-7.9 40.5-35.8 36.3-70.1 36.3l13.7-70.6c38 0 63.8-4.1 56.4 34.3zM97.4 350.3h36.7l8.7-44.8c41.1 0 66.6 3 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7h-70.7L97.4 350.3zm185.7-213.6h36.5l-8.7 44.8c31.5 0 60.7-2.3 74.8 10.7 14.8 13.6 7.7 31-8.3 113.1h-37c15.4-79.4 18.3-86 12.7-92-5.4-5.8-17.7-4.6-47.4-4.6l-18.8 96.6h-36.5l32.7-168.6zM505 242.5c-8 41.1-36.7 36.3-70.1 36.3l13.7-70.6c38.2 0 63.8-4.1 56.4 34.3zM384.2 350.3H421l8.7-44.8c43.2 0 67.1 2.5 90.2-19.1 26.1-24 32.9-66.7 14.3-88.1-9.7-11.2-25.3-16.7-46.5-16.7H417l-32.8 168.7z"],"pied-piper":[640,512,[],"f2ae","M640 24.9c-80.8 53.6-89.4 92.5-96.4 104.4-6.7 12.2-11.7 60.3-23.3 83.6-11.7 23.6-54.2 42.2-66.1 50-11.7 7.8-28.3 38.1-41.9 64.2-108.1-4.4-167.4 38.8-259.2 93.6 29.4-9.7 43.3-16.7 43.3-16.7 94.2-36 139.3-68.3 281.1-49.2 1.1 0 1.9.6 2.8.8 3.9 2.2 5.3 6.9 3.1 10.8l-53.9 95.8c-2.5 4.7-7.8 7.2-13.1 6.1-126.8-23.8-226.9 17.3-318.9 18.6C24.1 488 0 453.4 0 451.8c0-1.1.6-1.7 1.7-1.7 0 0 38.3 0 103.1-15.3C178.4 294.5 244 245.4 315.4 245.4c0 0 71.7 0 90.6 61.9 22.8-39.7 28.3-49.2 28.3-49.2 5.3-9.4 35-77.2 86.4-141.4 51.5-64 90.4-79.9 119.3-91.8z"],"pied-piper-alt":[576,512,[],"f1a8","M242 187c6.3-11.8 13.2-17 25.9-21.8 27.3-10.3 40.2-30.5 58.9-51.1 11.9 8.4 12 24.6 31.6 23v21.8l6.3.3c37.4-14.4 74.7-30.2 106.6-54.6 48.3-36.8 52.9-50 81.3-100l2-2.6c-.6 14.1-6.3 27.3-12.4 39.9-30.5 63.8-78.7 100.3-146.8 116.7-12.4 2.9-26.4 3.2-37.6 8.9 1.4 9.8 13.2 18.1 13.2 23 0 3.4-5.5 7.2-7.5 8.6-11.2-12.9-16.1-19.3-22.7-22.1-7.6-3.5-63.9-6.4-98.8 10zm137.9 256.9c-19 0-64.1 9.5-79.9 19.8l6.9 45.1c35.7 6.1 70.1 3.6 106-9.8-4.8-10-23.5-55.1-33-55.1zM244 246c-3.2-2-6.3-2.9-10.1-2.9-6.6 0-12.6 3.2-19.3 3.7l1.7 4.9L244 246zm-12.6 31.8l24.1 61.2 21-13.8-31.3-50.9-13.8 3.5zM555.5 0l-.6 1.1-.3.9.6-.6.3-1.4zm-59.2 382.1c-33.9-56.9-75.3-118.4-150-115.5l-.3-6c-1.1-13.5 32.8 3.2 35.1-31l-14.4 7.2c-19.8-45.7-8.6-54.3-65.5-54.3-14.7 0-26.7 1.7-41.4 4.6 2.9 18.6 2.2 36.7-10.9 50.3l19.5 5.5c-1.7 3.2-2.9 6.3-2.9 9.8 0 21 42.8 2.9 42.8 33.6 0 18.4-36.8 60.1-54.9 60.1-8 0-53.7-50-53.4-60.1l.3-4.6 52.3-11.5c13-2.6 12.3-22.7-2.9-22.7-3.7 0-43.1 9.2-49.4 10.6-2-5.2-7.5-14.1-13.8-14.1-3.2 0-6.3 3.2-9.5 4-9.2 2.6-31 2.9-21.5 20.1L15.9 298.5c-5.5 1.1-8.9 6.3-8.9 11.8 0 6 5.5 10.9 11.5 10.9 8 0 131.3-28.4 147.4-32.2 2.6 3.2 4.6 6.3 7.8 8.6 20.1 14.4 59.8 85.9 76.4 85.9 24.1 0 58-22.4 71.3-41.9 3.2-4.3 6.9-7.5 12.4-6.9.6 13.8-31.6 34.2-33 43.7-1.4 10.2-1 35.2-.3 41.1 26.7 8.1 52-3.6 77.9-2.9 4.3-21 10.6-41.9 9.8-63.5l-.3-9.5c-1.4-34.2-10.9-38.5-34.8-58.6-1.1-1.1-2.6-2.6-3.7-4 2.2-1.4 1.1-1 4.6-1.7 88.5 0 56.3 183.6 111.5 229.9 33.1-15 72.5-27.9 103.5-47.2-29-25.6-52.6-45.7-72.7-79.9zm-196.2 46v27.3l11.8-3.4-2.9-23.8h-8.9zm76.1 2.9c0-1.4-.6-3.2-.9-4.6-26.8 0-36.9 3.8-59.5 6.3l2 12.4c9-1.5 58.4-6.6 58.4-14.1z"],"pied-piper-pp":[448,512,[],"f1a7","M205.3 174.6c0 21.1-14.2 38.1-31.7 38.1-7.1 0-12.8-1.2-17.2-3.7v-68c4.4-2.7 10.1-4.2 17.2-4.2 17.5 0 31.7 16.9 31.7 37.8zm52.6 67c-7.1 0-12.8 1.5-17.2 4.2v68c4.4 2.5 10.1 3.7 17.2 3.7 17.4 0 31.7-16.9 31.7-37.8 0-21.1-14.3-38.1-31.7-38.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM185 255.1c41 0 74.2-35.6 74.2-79.6 0-44-33.2-79.6-74.2-79.6-12 0-24.1 3.2-34.6 8.8h-45.7V311l51.8-10.1v-50.6c8.6 3.1 18.1 4.8 28.5 4.8zm158.4 25.3c0-44-33.2-79.6-73.9-79.6-3.2 0-6.4.2-9.6.7-3.7 12.5-10.1 23.8-19.2 33.4-13.8 15-32.2 23.8-51.8 24.8V416l51.8-10.1v-50.6c8.6 3.2 18.2 4.7 28.7 4.7 40.8 0 74-35.6 74-79.6z"],pinterest:[496,512,[],"f0d2","M496 256c0 137-111 248-248 248-25.6 0-50.2-3.9-73.4-11.1 10.1-16.5 25.2-43.5 30.8-65 3-11.6 15.4-59 15.4-59 8.1 15.4 31.7 28.5 56.8 28.5 74.8 0 128.7-68.8 128.7-154.3 0-81.9-66.9-143.2-152.9-143.2-107 0-163.9 71.8-163.9 150.1 0 36.4 19.4 81.7 50.3 96.1 4.7 2.2 7.2 1.2 8.3-3.3.8-3.4 5-20.3 6.9-28.1.6-2.5.3-4.7-1.7-7.1-10.1-12.5-18.3-35.3-18.3-56.6 0-54.7 41.4-107.6 112-107.6 60.9 0 103.6 41.5 103.6 100.9 0 67.1-33.9 113.6-78 113.6-24.3 0-42.6-20.1-36.7-44.8 7-29.5 20.5-61.3 20.5-82.6 0-19-10.2-34.9-31.4-34.9-24.9 0-44.9 25.7-44.9 60.2 0 22 7.4 36.8 7.4 36.8s-24.5 103.8-29 123.2c-5 21.4-3 51.6-.9 71.2C65.4 450.9 0 361.1 0 256 0 119 111 8 248 8s248 111 248 248z"],"pinterest-p":[384,512,[],"f231","M204 6.5C101.4 6.5 0 74.9 0 185.6 0 256 39.6 296 63.6 296c9.9 0 15.6-27.6 15.6-35.4 0-9.3-23.7-29.1-23.7-67.8 0-80.4 61.2-137.4 140.4-137.4 68.1 0 118.5 38.7 118.5 109.8 0 53.1-21.3 152.7-90.3 152.7-24.9 0-46.2-18-46.2-43.8 0-37.8 26.4-74.4 26.4-113.4 0-66.2-93.9-54.2-93.9 25.8 0 16.8 2.1 35.4 9.6 50.7-13.8 59.4-42 147.9-42 209.1 0 18.9 2.7 37.5 4.5 56.4 3.4 3.8 1.7 3.4 6.9 1.5 50.4-69 48.6-82.5 71.4-172.8 12.3 23.4 44.1 36 69.3 36 106.2 0 153.9-103.5 153.9-196.8C384 71.3 298.2 6.5 204 6.5z"],"pinterest-square":[448,512,[],"f0d3","M448 80v352c0 26.5-21.5 48-48 48H154.4c9.8-16.4 22.4-40 27.4-59.3 3-11.5 15.3-58.4 15.3-58.4 8 15.3 31.4 28.2 56.3 28.2 74.1 0 127.4-68.1 127.4-152.7 0-81.1-66.2-141.8-151.4-141.8-106 0-162.2 71.1-162.2 148.6 0 36 19.2 80.8 49.8 95.1 4.7 2.2 7.1 1.2 8.2-3.3.8-3.4 5-20.1 6.8-27.8.6-2.5.3-4.6-1.7-7-10.1-12.3-18.3-34.9-18.3-56 0-54.2 41-106.6 110.9-106.6 60.3 0 102.6 41.1 102.6 99.9 0 66.4-33.5 112.4-77.2 112.4-24.1 0-42.1-19.9-36.4-44.4 6.9-29.2 20.3-60.7 20.3-81.8 0-53-75.5-45.7-75.5 25 0 21.7 7.3 36.5 7.3 36.5-31.4 132.8-36.1 134.5-29.6 192.6l2.2.8H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48z"],playstation:[576,512,[],"f3df","M570.9 372.3c-11.3 14.2-38.8 24.3-38.8 24.3L327 470.2v-54.3l150.9-53.8c17.1-6.1 19.8-14.8 5.8-19.4-13.9-4.6-39.1-3.3-56.2 2.9L327 381.1v-56.4c23.2-7.8 47.1-13.6 75.7-16.8 40.9-4.5 90.9.6 130.2 15.5 44.2 14 49.2 34.7 38 48.9zm-224.4-92.5v-139c0-16.3-3-31.3-18.3-35.6-11.7-3.8-19 7.1-19 23.4v347.9l-93.8-29.8V32c39.9 7.4 98 24.9 129.2 35.4C424.1 94.7 451 128.7 451 205.2c0 74.5-46 102.8-104.5 74.6zM43.2 410.2c-45.4-12.8-53-39.5-32.3-54.8 19.1-14.2 51.7-24.9 51.7-24.9l134.5-47.8v54.5l-96.8 34.6c-17.1 6.1-19.7 14.8-5.8 19.4 13.9 4.6 39.1 3.3 56.2-2.9l46.4-16.9v48.8c-51.6 9.3-101.4 7.3-153.9-10z"],"product-hunt":[512,512,[],"f288","M326.3 218.8c0 20.5-16.7 37.2-37.2 37.2h-70.3v-74.4h70.3c20.5 0 37.2 16.7 37.2 37.2zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-128.1-37.2c0-47.9-38.9-86.8-86.8-86.8H169.2v248h49.6v-74.4h70.3c47.9 0 86.8-38.9 86.8-86.8z"],pushed:[432,512,[],"f3e1","M407 111.9l-98.5-9 14-33.4c10.4-23.5-10.8-40.4-28.7-37L22.5 76.9c-15.1 2.7-26 18.3-21.4 36.6l105.1 348.3c6.5 21.3 36.7 24.2 47.7 7l35.3-80.8 235.2-231.3c16.4-16.8 4.3-42.9-17.4-44.8zM297.6 53.6c5.1-.7 7.5 2.5 5.2 7.4L286 100.9 108.6 84.6l189-31zM22.7 107.9c-3.1-5.1 1-10 6.1-9.1l248.7 22.7-96.9 230.7L22.7 107.9zM136 456.4c-2.6 4-7.9 3.1-9.4-1.2L43.5 179.7l127.7 197.6c-7 15-35.2 79.1-35.2 79.1zm272.8-314.5L210.1 337.3l89.7-213.7 106.4 9.7c4 1.1 5.7 5.3 2.6 8.6z"],python:[448,512,[],"f3e2","M167.8 36.4c-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1zm-6.7 28.4c11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4zm185.2 81.4v47.5c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6-7.7-30.9-22.3-54.2-53.4-54.2h-40.1zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3z"],qq:[448,512,[],"f1d6","M433.754 420.445c-11.526 1.393-44.86-52.741-44.86-52.741 0 31.345-16.136 72.247-51.051 101.786 16.842 5.192 54.843 19.167 45.803 34.421-7.316 12.343-125.51 7.881-159.632 4.037-34.122 3.844-152.316 8.306-159.632-4.037-9.045-15.25 28.918-29.214 45.783-34.415-34.92-29.539-51.059-70.445-51.059-101.792 0 0-33.334 54.134-44.859 52.741-5.37-.65-12.424-29.644 9.347-99.704 10.261-33.024 21.995-60.478 40.144-105.779C60.683 98.063 108.982.006 224 0c113.737.006 163.156 96.133 160.264 214.963 18.118 45.223 29.912 72.85 40.144 105.778 21.768 70.06 14.716 99.053 9.346 99.704z"],quinscape:[489,512,[],"f459","M301.9 474.6h-1.3c-87.3 0-158.1-70.8-158.1-158.1s70.8-158.1 158.1-158.1c94.9 0 168.2 83.1 157 176.6 4 5.1 8.2 9.6 11.2 15.3 13.4-30.3 20.3-62.4 20.3-97.7C489.1 117.5 379.6 8 244.5 8 109.5 8 0 117.5 0 252.6s109.5 244.6 244.5 244.6c24.8 0 47.8-3.2 70.4-10.1-5.2-3.5-9-8.2-13.4-12.6l.4.1zm-21.2-69.8c0-54.8 44.4-99.2 99.2-99.2 54.8 0 99.2 44.4 99.2 99.2 0 54.8-44.4 99.2-99.2 99.2-54.8 0-99.2-44.4-99.2-99.2"],quora:[448,512,[],"f2c4","M440.5 386.7h-29.3c-1.5 13.5-10.5 30.8-33 30.8-20.5 0-35.3-14.2-49.5-35.8 44.2-34.2 74.7-87.5 74.7-153C403.5 111.2 306.8 32 205 32 105.3 32 7.3 111.7 7.3 228.7c0 134.1 131.3 221.6 249 189C276 451.3 302 480 351.5 480c81.8 0 90.8-75.3 89-93.3zM297 329.2C277.5 300 253.3 277 205.5 277c-30.5 0-54.3 10-69 22.8l12.2 24.3c6.2-3 13-4 19.8-4 35.5 0 53.7 30.8 69.2 61.3-10 3-20.7 4.2-32.7 4.2-75 0-107.5-53-107.5-156.7C97.5 124.5 130 71 205 71c76.2 0 108.7 53.5 108.7 157.7.1 41.8-5.4 75.6-16.7 100.5z"],ravelry:[512,512,[],"f2d9","M407.4 61.5C331.6 22.1 257.8 31 182.9 66c-11.3 5.2-15.5 10.6-19.9 19-10.3 19.2-16.2 37.4-19.9 52.7-21.2 25.6-36.4 56.1-43.3 89.9-10.6 18-20.9 41.4-23.1 71.4 0 0-.7 7.6-.5 7.9-35.3-4.6-76.2-27-76.2-27 9.1 14.5 61.3 32.3 76.3 37.9 0 0 1.7 98 64.5 131.2-11.3-17.2-13.3-20.2-13.3-20.2S94.8 369 100.4 324.7c.7 0 1.5.2 2.2.2 23.9 87.4 103.2 151.4 196.9 151.4 6.2 0 12.1-.2 18-.7 14 1.5 27.6.5 40.1-3.9 6.9-2.2 13.8-6.4 20.2-10.8 70.2-39.1 100.9-82 123.1-147.7 5.4-16 8.1-35.5 9.8-52.2 8.7-82.3-30.6-161.6-103.3-199.5zM138.8 163.2s-1.2 12.3-.7 19.7c-3.4 2.5-10.1 8.1-18.2 16.7 5.2-12.8 11.3-25.1 18.9-36.4zm-31.2 121.9c4.4-17.2 13.3-39.1 29.8-55.1 0 0 1.7 48 15.8 90.1l-41.4-6.9c-2.2-9.2-3.5-18.5-4.2-28.1zm7.9 42.8c14.8 3.2 34 7.6 43.1 9.1 27.3 76.8 108.3 124.3 108.3 124.3 1 .5 1.7.7 2.7 1-73.1-11.6-132.7-64.7-154.1-134.4zM386 444.1c-14.5 4.7-36.2 8.4-64.7 3.7 0 0-91.1-23.1-127.5-107.8 38.2.7 52.4-.2 78-3.9 39.4-5.7 79-16.2 115-33 11.8-5.4 11.1-19.4 9.6-29.8-2-12.8-11.1-12.1-21.4-4.7 0 0-82 58.6-189.8 53.7-18.7-32-26.8-110.8-26.8-110.8 41.4-35.2 83.2-59.6 168.4-52.4.2-6.4 3-27.1-20.4-28.1 0 0-93.5-11.1-146 33.5 2.5-16.5 5.9-29.3 11.1-39.4 34.2-30.8 79-49.5 128.3-49.5 106.4 0 193 87.1 193 194.5-.2 76-43.8 142-106.8 174z"],react:[512,512,[],"f41b","M418.2 177.2c-5.4-1.8-10.8-3.5-16.2-5.1.9-3.7 1.7-7.4 2.5-11.1 12.3-59.6 4.2-107.5-23.1-123.3-26.3-15.1-69.2.6-112.6 38.4-4.3 3.7-8.5 7.6-12.5 11.5-2.7-2.6-5.5-5.2-8.3-7.7-45.5-40.4-91.1-57.4-118.4-41.5-26.2 15.2-34 60.3-23 116.7 1.1 5.6 2.3 11.1 3.7 16.7-6.4 1.8-12.7 3.8-18.6 5.9C38.3 196.2 0 225.4 0 255.6c0 31.2 40.8 62.5 96.3 81.5 4.5 1.5 9 3 13.6 4.3-1.5 6-2.8 11.9-4 18-10.5 55.5-2.3 99.5 23.9 114.6 27 15.6 72.4-.4 116.6-39.1 3.5-3.1 7-6.3 10.5-9.7 4.4 4.3 9 8.4 13.6 12.4 42.8 36.8 85.1 51.7 111.2 36.6 27-15.6 35.8-62.9 24.4-120.5-.9-4.4-1.9-8.9-3-13.5 3.2-.9 6.3-1.9 9.4-2.9 57.7-19.1 99.5-50 99.5-81.7 0-30.3-39.4-59.7-93.8-78.4zM282.9 92.3c37.2-32.4 71.9-45.1 87.7-36 16.9 9.7 23.4 48.9 12.8 100.4-.7 3.4-1.4 6.7-2.3 10-22.2-5-44.7-8.6-67.3-10.6-13-18.6-27.2-36.4-42.6-53.1 3.9-3.7 7.7-7.2 11.7-10.7zm-130 189.1c4.6 8.8 9.3 17.5 14.3 26.1 5.1 8.7 10.3 17.4 15.8 25.9-15.6-1.7-31.1-4.2-46.4-7.5 4.4-14.4 9.9-29.3 16.3-44.5zm0-50.6c-6.3-14.9-11.6-29.5-16-43.6 14.4-3.2 29.7-5.8 45.6-7.8-5.3 8.3-10.5 16.8-15.4 25.4-4.9 8.5-9.7 17.2-14.2 26zm11.4 25.3c6.6-13.8 13.8-27.3 21.4-40.6 7.6-13.3 15.8-26.2 24.4-38.9 15-1.1 30.3-1.7 45.9-1.7 15.6 0 31 .6 45.9 1.7 8.5 12.6 16.6 25.5 24.3 38.7 7.7 13.2 14.9 26.7 21.7 40.4-6.7 13.8-13.9 27.4-21.6 40.8-7.6 13.3-15.7 26.2-24.2 39-14.9 1.1-30.4 1.6-46.1 1.6-15.7 0-30.9-.5-45.6-1.4-8.7-12.7-16.9-25.7-24.6-39-7.7-13.3-14.8-26.8-21.5-40.6zm180.6 51.2c5.1-8.8 9.9-17.7 14.6-26.7 6.4 14.5 12 29.2 16.9 44.3-15.5 3.5-31.2 6.2-47 8 5.4-8.4 10.5-17 15.5-25.6zm14.4-76.5c-4.7-8.8-9.5-17.6-14.5-26.2-4.9-8.5-10-16.9-15.3-25.2 16.1 2 31.5 4.7 45.9 8-4.6 14.8-10 29.2-16.1 43.4zM256.2 118.3c10.5 11.4 20.4 23.4 29.6 35.8-19.8-.9-39.7-.9-59.5 0 9.8-12.9 19.9-24.9 29.9-35.8zM140.2 57c16.8-9.8 54.1 4.2 93.4 39 2.5 2.2 5 4.6 7.6 7-15.5 16.7-29.8 34.5-42.9 53.1-22.6 2-45 5.5-67.2 10.4-1.3-5.1-2.4-10.3-3.5-15.5-9.4-48.4-3.2-84.9 12.6-94zm-24.5 263.6c-4.2-1.2-8.3-2.5-12.4-3.9-21.3-6.7-45.5-17.3-63-31.2-10.1-7-16.9-17.8-18.8-29.9 0-18.3 31.6-41.7 77.2-57.6 5.7-2 11.5-3.8 17.3-5.5 6.8 21.7 15 43 24.5 63.6-9.6 20.9-17.9 42.5-24.8 64.5zm116.6 98c-16.5 15.1-35.6 27.1-56.4 35.3-11.1 5.3-23.9 5.8-35.3 1.3-15.9-9.2-22.5-44.5-13.5-92 1.1-5.6 2.3-11.2 3.7-16.7 22.4 4.8 45 8.1 67.9 9.8 13.2 18.7 27.7 36.6 43.2 53.4-3.2 3.1-6.4 6.1-9.6 8.9zm24.5-24.3c-10.2-11-20.4-23.2-30.3-36.3 9.6.4 19.5.6 29.5.6 10.3 0 20.4-.2 30.4-.7-9.2 12.7-19.1 24.8-29.6 36.4zm130.7 30c-.9 12.2-6.9 23.6-16.5 31.3-15.9 9.2-49.8-2.8-86.4-34.2-4.2-3.6-8.4-7.5-12.7-11.5 15.3-16.9 29.4-34.8 42.2-53.6 22.9-1.9 45.7-5.4 68.2-10.5 1 4.1 1.9 8.2 2.7 12.2 4.9 21.6 5.7 44.1 2.5 66.3zm18.2-107.5c-2.8.9-5.6 1.8-8.5 2.6-7-21.8-15.6-43.1-25.5-63.8 9.6-20.4 17.7-41.4 24.5-62.9 5.2 1.5 10.2 3.1 15 4.7 46.6 16 79.3 39.8 79.3 58 0 19.6-34.9 44.9-84.8 61.4zM256 210.2c25.3 0 45.8 20.5 45.8 45.8 0 25.3-20.5 45.8-45.8 45.8-25.3 0-45.8-20.5-45.8-45.8 0-25.3 20.5-45.8 45.8-45.8"],rebel:[512,512,[],"f1d0","M256.5 504C117.2 504 9 387.8 13.2 249.9 16 170.7 56.4 97.7 129.7 49.5c.3 0 1.9-.6 1.1.8-5.8 5.5-111.3 129.8-14.1 226.4 49.8 49.5 90 2.5 90 2.5 38.5-50.1-.6-125.9-.6-125.9-10-24.9-45.7-40.1-45.7-40.1l28.8-31.8c24.4 10.5 43.2 38.7 43.2 38.7.8-29.6-21.9-61.4-21.9-61.4L255.1 8l44.3 50.1c-20.5 28.8-21.9 62.6-21.9 62.6 13.8-23 43.5-39.3 43.5-39.3l28.5 31.8c-27.4 8.9-45.4 39.9-45.4 39.9-15.8 28.5-27.1 89.4.6 127.3 32.4 44.6 87.7-2.8 87.7-2.8 102.7-91.9-10.5-225-10.5-225-6.1-5.5.8-2.8.8-2.8 50.1 36.5 114.6 84.4 116.2 204.8C500.9 400.2 399 504 256.5 504z"],"red-river":[448,512,[],"f3e3","M353.2 32H94.8C42.4 32 0 74.4 0 126.8v258.4C0 437.6 42.4 480 94.8 480h258.4c52.4 0 94.8-42.4 94.8-94.8V126.8c0-52.4-42.4-94.8-94.8-94.8zM144.9 200.9v56.3c0 27-21.9 48.9-48.9 48.9V151.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9h-56.3c-12.3-.6-24.6 11.6-24 24zm176.3 72h-56.3c-12.3-.6-24.6 11.6-24 24v56.3c0 27-21.9 48.9-48.9 48.9V247.9c0-13.2 10.7-23.9 23.9-23.9h154.2c0 27-21.9 48.9-48.9 48.9z"],reddit:[512,512,[],"f1a1","M201.5 305.5c-13.8 0-24.9-11.1-24.9-24.6 0-13.8 11.1-24.9 24.9-24.9 13.6 0 24.6 11.1 24.6 24.9 0 13.6-11.1 24.6-24.6 24.6zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-132.3-41.2c-9.4 0-17.7 3.9-23.8 10-22.4-15.5-52.6-25.5-86.1-26.6l17.4-78.3 55.4 12.5c0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.3 24.9-24.9s-11.1-24.9-24.9-24.9c-9.7 0-18 5.8-22.1 13.8l-61.2-13.6c-3-.8-6.1 1.4-6.9 4.4l-19.1 86.4c-33.2 1.4-63.1 11.3-85.5 26.8-6.1-6.4-14.7-10.2-24.1-10.2-34.9 0-46.3 46.9-14.4 62.8-1.1 5-1.7 10.2-1.7 15.5 0 52.6 59.2 95.2 132 95.2 73.1 0 132.3-42.6 132.3-95.2 0-5.3-.6-10.8-1.9-15.8 31.3-16 19.8-62.5-14.9-62.5zM302.8 331c-18.2 18.2-76.1 17.9-93.6 0-2.2-2.2-6.1-2.2-8.3 0-2.5 2.5-2.5 6.4 0 8.6 22.8 22.8 87.3 22.8 110.2 0 2.5-2.2 2.5-6.1 0-8.6-2.2-2.2-6.1-2.2-8.3 0zm7.7-75c-13.6 0-24.6 11.1-24.6 24.9 0 13.6 11.1 24.6 24.6 24.6 13.8 0 24.9-11.1 24.9-24.6 0-13.8-11-24.9-24.9-24.9z"],"reddit-alien":[512,512,[],"f281","M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z"],"reddit-square":[448,512,[],"f1a2","M283.2 345.5c2.7 2.7 2.7 6.8 0 9.2-24.5 24.5-93.8 24.6-118.4 0-2.7-2.4-2.7-6.5 0-9.2 2.4-2.4 6.5-2.4 8.9 0 18.7 19.2 81 19.6 100.5 0 2.4-2.3 6.6-2.3 9 0zm-91.3-53.8c0-14.9-11.9-26.8-26.5-26.8-14.9 0-26.8 11.9-26.8 26.8 0 14.6 11.9 26.5 26.8 26.5 14.6 0 26.5-11.9 26.5-26.5zm90.7-26.8c-14.6 0-26.5 11.9-26.5 26.8 0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-11.9 26.8-26.5 0-14.9-11.9-26.8-26.8-26.8zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-99.7 140.6c-10.1 0-19 4.2-25.6 10.7-24.1-16.7-56.5-27.4-92.5-28.6l18.7-84.2 59.5 13.4c0 14.6 11.9 26.5 26.5 26.5 14.9 0 26.8-12.2 26.8-26.8 0-14.6-11.9-26.8-26.8-26.8-10.4 0-19.3 6.2-23.8 14.9l-65.7-14.6c-3.3-.9-6.5 1.5-7.4 4.8l-20.5 92.8c-35.7 1.5-67.8 12.2-91.9 28.9-6.5-6.8-15.8-11-25.9-11-37.5 0-49.8 50.4-15.5 67.5-1.2 5.4-1.8 11-1.8 16.7 0 56.5 63.7 102.3 141.9 102.3 78.5 0 142.2-45.8 142.2-102.3 0-5.7-.6-11.6-2.1-17 33.6-17.2 21.2-67.2-16.1-67.2z"],rendact:[496,512,[],"f3e4","M248 8C111 8 0 119 0 256s111 248 248 248c18.6 0 36.7-2.1 54.1-5.9-5.6-7.4-10.8-14.4-15.9-21.3-12.4 2.1-25.2 3.3-38.3 3.3C124.3 480 24 379.7 24 256S124.3 32 248 32s224 100.3 224 224c0 71-33 134.2-84.5 175.3-25.9 18.8-39.1 21.4-83.5-44.2-78.7-112.9-48-71.1-73.7-108.3 72.8 8.9 228.5-72 168.6-168.6C314-26.8 15 93.8 59.7 226.4c3.2 9.8 14.4 38.6 45.6 38.6 2 0 2.6-.6 2-1.7-4.4-8.7-20.1-9.8-20.1-37.4 0-40.5 40.5-89.6 100.3-120 66.1-32.3 131.9-30.2 158.2 5.4 27.2 38.3-20.9 119.2-120.4 136.9 7.5-9.4 57-75.2 62.8-84 22.7-34.6 23.6-49 14-59.2-15.5-16.9-29.5-10.3-50.7-11.7-10.8-.9-113.7 181.2-136.4 216.9-5.9 9-21.2 34.1-21.2 50.9 0 21.3 2.8 51.4 20.6 51.4 10.6 0 8-18.7 8-26.6 0-12.9 27.4-49.4 74.8-104.6 20.4 36.1 57.7 114.3 130.2 209.7 98-33.1 168.5-125.8 168.5-235C496 119 385 8 248 8z"],renren:[512,512,[],"f18b","M214 169.1c0 110.4-61 205.4-147.6 247.4C30 373.2 8 317.7 8 256.6 8 133.9 97.1 32.2 214 12.5v156.6zM255 504c-42.9 0-83.3-11-118.5-30.4C193.7 437.5 239.9 382.9 255 319c15.5 63.9 61.7 118.5 118.8 154.7C338.7 493 298.3 504 255 504zm190.6-87.5C359 374.5 298 279.6 298 169.1V12.5c116.9 19.7 206 121.4 206 244.1 0 61.1-22 116.6-58.4 159.9z"],replyd:[448,512,[],"f3e6","M320 480H128C57.6 480 0 422.4 0 352V160C0 89.6 57.6 32 128 32h192c70.4 0 128 57.6 128 128v192c0 70.4-57.6 128-128 128zM193.4 273.2c-6.1-2-11.6-3.1-16.4-3.1-7.2 0-13.5 1.9-18.9 5.6-5.4 3.7-9.6 9-12.8 15.8h-1.1l-4.2-18.3h-28v138.9h36.1v-89.7c1.5-5.4 4.4-9.8 8.7-13.2 4.3-3.4 9.8-5.1 16.2-5.1 4.6 0 9.8 1 15.6 3.1l4.8-34zm115.2 103.4c-3.2 2.4-7.7 4.8-13.7 7.1-6 2.3-12.8 3.5-20.4 3.5-12.2 0-21.1-3-26.5-8.9-5.5-5.9-8.5-14.7-9-26.4h83.3c.9-4.8 1.6-9.4 2.1-13.9.5-4.4.7-8.6.7-12.5 0-10.7-1.6-19.7-4.7-26.9-3.2-7.2-7.3-13-12.5-17.2-5.2-4.3-11.1-7.3-17.8-9.2-6.7-1.8-13.5-2.8-20.6-2.8-21.1 0-37.5 6.1-49.2 18.3s-17.5 30.5-17.5 55c0 22.8 5.2 40.7 15.6 53.7 10.4 13.1 26.8 19.6 49.2 19.6 10.7 0 20.9-1.5 30.4-4.6 9.5-3.1 17.1-6.8 22.6-11.2l-12-23.6zm-21.8-70.3c3.8 5.4 5.3 13.1 4.6 23.1h-51.7c.9-9.4 3.7-17 8.2-22.6 4.5-5.6 11.5-8.5 21-8.5 8.2-.1 14.1 2.6 17.9 8zm79.9 2.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4s2 11.7 6.1 15.6zm0 100.5c4.1 3.9 9.4 5.8 16.1 5.8 7 0 12.6-1.9 16.7-5.8s6.1-9.1 6.1-15.6-2-11.6-6.1-15.4c-4.1-3.8-9.6-5.7-16.7-5.7-6.7 0-12 1.9-16.1 5.7-4.1 3.8-6.1 8.9-6.1 15.4 0 6.6 2 11.7 6.1 15.6z"],resolving:[496,512,[],"f3e7","M281.2 278.2c46-13.3 49.6-23.5 44-43.4L314 195.5c-6.1-20.9-18.4-28.1-71.1-12.8L54.7 236.8l28.6 98.6 197.9-57.2zM248.5 8C131.4 8 33.2 88.7 7.2 197.5l221.9-63.9c34.8-10.2 54.2-11.7 79.3-8.2 36.3 6.1 52.7 25 61.4 55.2l10.7 37.8c8.2 28.1 1 50.6-23.5 73.6-19.4 17.4-31.2 24.5-61.4 33.2L203 351.8l220.4 27.1 9.7 34.2-48.1 13.3-286.8-37.3 23 80.2c36.8 22 80.3 34.7 126.3 34.7 137 0 248.5-111.4 248.5-248.3C497 119.4 385.5 8 248.5 8zM38.3 388.6L0 256.8c0 48.5 14.3 93.4 38.3 131.8z"],rocketchat:[448,512,[],"f3e8","M448 256.2c0-87.2-99.6-153.3-219.8-153.3-18.8 0-37.3 1.6-55.3 4.8-11.1-10.5-24.2-20-38-27.4C61.2 44.2 0 79.4 0 79.4s56.9 47.1 47.6 88.3c-52.3 52.3-52.5 124.1 0 176.6C56.9 385.6 0 432.6 0 432.6s61.2 35.2 134.9-.8c13.8-7.5 26.9-16.9 38-27.4 18 3.2 36.5 4.8 55.3 4.8 120.3-.1 219.8-65.8 219.8-153zm-219.7 124c-23.7 0-46.3-2.8-67.3-7.8-21.3 25.8-68.1 61.7-113.6 50.1 14.8-16 36.7-43.1 32-87.6-27.3-21.4-43.6-48.7-43.6-78.5 0-68.4 86.2-123.9 192.5-123.9S420.8 188 420.8 256.4c0 68.3-86.2 123.8-192.5 123.8zm25.6-123.9c0 14.2-11.5 25.8-25.6 25.8-14.1 0-25.6-11.5-25.6-25.8 0-14.2 11.5-25.8 25.6-25.8 14.1 0 25.6 11.6 25.6 25.8zm88.9 0c0 14.2-11.4 25.8-25.6 25.8-14.1 0-25.6-11.5-25.6-25.8 0-14.2 11.4-25.8 25.6-25.8 14.1 0 25.6 11.6 25.6 25.8zm-177.9 0c0 14.2-11.4 25.8-25.6 25.8-14.1 0-25.6-11.5-25.6-25.8 0-14.2 11.4-25.8 25.6-25.8 14.2 0 25.6 11.6 25.6 25.8z"],rockrms:[496,512,[],"f3e9","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm157.4 419.5h-90l-112-131.3c-17.9-20.4-3.9-56.1 26.6-56.1h75.3l-84.6-99.3-84.3 98.9h-90L193.5 67.2c14.4-18.4 41.3-17.3 54.5 0l157.7 185.1c19 22.8 2 57.2-27.6 56.1-.6 0-74.2.2-74.2.2l101.5 118.9z"],safari:[512,512,[],"f267","M236.9 256.8c0-9.1 6.6-17.7 16.3-17.7 8.9 0 17.4 6.4 17.4 16.1 0 9.1-6.4 17.7-16.1 17.7-9 0-17.6-6.7-17.6-16.1zM504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-26.6 0c0-122.3-99.1-221.4-221.4-221.4S34.6 133.7 34.6 256 133.7 477.4 256 477.4 477.4 378.3 477.4 256zm-72.5 96.6c0 3.6 13 10.2 16.3 12.2-27.4 41.5-69.8 71.4-117.9 83.3l-4.4-18.5c-.3-2.5-1.9-2.8-4.2-2.8-1.9 0-3 2.8-2.8 4.2l4.4 18.8c-13.3 2.8-26.8 4.2-40.4 4.2-36.3 0-72-10.2-103-29.1 1.7-2.8 12.2-18 12.2-20.2 0-1.9-1.7-3.6-3.6-3.6-3.9 0-12.2 16.6-14.7 19.9-41.8-27.7-72-70.6-83.6-119.6l19.1-4.2c2.2-.6 2.8-2.2 2.8-4.2 0-1.9-2.8-3-4.4-2.8L62 294.5c-2.5-12.7-3.9-25.5-3.9-38.5 0-37.1 10.5-73.6 30.2-104.9 2.8 1.7 16.1 10.8 18.3 10.8 1.9 0 3.6-1.4 3.6-3.3 0-3.9-14.7-11.3-18-13.6 28.2-41.2 71.1-70.9 119.8-81.9l4.2 18.5c.6 2.2 2.2 2.8 4.2 2.8s3-2.8 2.8-4.4L219 61.7c12.2-2.2 24.6-3.6 37.1-3.6 37.1 0 73.3 10.5 104.9 30.2-1.9 2.8-10.8 15.8-10.8 18 0 1.9 1.4 3.6 3.3 3.6 3.9 0 11.3-14.4 13.3-17.7 41 27.7 70.3 70 81.7 118.2l-15.5 3.3c-2.5.6-2.8 2.2-2.8 4.4 0 1.9 2.8 3 4.2 2.8l15.8-3.6c2.5 12.7 3.9 25.7 3.9 38.7 0 36.3-10 72-28.8 102.7-2.8-1.4-14.4-9.7-16.6-9.7-2.1 0-3.8 1.7-3.8 3.6zm-33.2-242.2c-13 12.2-134.2 123.7-137.6 129.5l-96.6 160.5c12.7-11.9 134.2-124 137.3-129.3l96.9-160.7z"],sass:[640,512,[],"f41e","M551.1 291.9c-22.4.1-41.8 5.5-58 13.5-5.9-11.9-12-22.3-13-30.1-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2c-.1-1.1-1.4-6.6-14.3-6.7-12.9-.1-24 2.5-25.3 5.9-1.3 3.4-3.8 11.1-5.3 19.1-2.3 11.7-25.8 53.5-39.1 75.3-4.4-8.5-8.1-16-8.9-22-1.2-9.1-2.5-14.5-1.1-25.3s7.7-26.1 7.6-27.2c-.1-1.1-1.4-6.6-14.3-6.7-12.9-.1-24 2.5-25.3 5.9-1.3 3.4-2.7 11.4-5.3 19.1-2.6 7.7-33.9 77.3-42.1 95.4-4.2 9.2-7.8 16.6-10.4 21.6s-.2.3-.4.9c-2.2 4.3-3.5 6.7-3.5 6.7v.1c-1.7 3.2-3.6 6.1-4.5 6.1-.6 0-1.9-8.4.3-19.9 4.7-24.2 15.8-61.8 15.7-63.1-.1-.7 2.1-7.2-7.3-10.7-9.1-3.3-12.4 2.2-13.2 2.2-.8 0-1.4 2-1.4 2s10.1-42.4-19.4-42.4c-18.4 0-44 20.2-56.6 38.5-7.9 4.3-25 13.6-43 23.5-6.9 3.8-14 7.7-20.7 11.4-.5-.5-.9-1-1.4-1.5-35.8-38.2-101.9-65.2-99.1-116.5 1-18.7 7.5-67.8 127.1-127.4 98-48.8 176.4-35.4 189.9-5.6 19.4 42.5-41.9 121.6-143.7 133-38.8 4.3-59.2-10.7-64.3-16.3-5.3-5.9-6.1-6.2-8.1-5.1-3.3 1.8-1.2 7 0 10.1 3 7.9 15.5 21.9 36.8 28.9 18.7 6.1 64.2 9.5 119.2-11.8C367 196.5 415.1 130.2 401 74.7 386.6 18.3 293.1-.2 204.6 31.2 151.9 49.9 94.9 79.3 53.9 117.6 5.2 163.2-2.6 202.9.6 219.5c11.4 58.9 92.6 97.3 125.1 125.7-1.6.9-3.1 1.7-4.5 2.5-16.3 8.1-78.2 40.5-93.7 74.7-17.5 38.8 2.9 66.6 16.3 70.4 41.8 11.6 84.6-9.3 107.6-43.6s20.2-79.1 9.6-99.5c-.1-.3-.3-.5-.4-.8 4.2-2.5 8.5-5 12.8-7.5 8.3-4.9 16.4-9.4 23.5-13.3-4 10.8-6.9 23.8-8.4 42.6-1.8 22 7.3 50.5 19.1 61.7 5.2 4.9 11.5 5 15.4 5 13.8 0 20-11.4 26.9-25 8.5-16.6 16-35.9 16-35.9s-9.4 52.2 16.3 52.2c9.4 0 18.8-12.1 23-18.3v.1s.2-.4.7-1.2c1-1.5 1.5-2.4 1.5-2.4v-.3c3.8-6.5 12.1-21.4 24.6-46 16.2-31.8 31.7-71.5 31.7-71.5s1.4 9.7 6.2 25.8c2.8 9.5 8.7 19.9 13.4 30-3.8 5.2-6.1 8.2-6.1 8.2s0 .1.1.2c-3 4-6.4 8.3-9.9 12.5-12.8 15.2-28 32.6-30 37.6-2.4 5.9-1.8 10.3 2.8 13.7 3.4 2.6 9.4 3 15.7 2.5 11.5-.8 19.6-3.6 23.5-5.4 6.2-2.2 13.4-5.7 20.2-10.6 12.5-9.2 20.1-22.4 19.4-39.8-.4-9.6-3.5-19.2-7.3-28.2 1.1-1.6 2.3-3.3 3.4-5 19.8-28.9 35.1-60.6 35.1-60.6s1.4 9.7 6.2 25.8c2.4 8.1 7.1 17 11.4 25.7-18.6 15.1-30.1 32.6-34.1 44.1-7.4 21.3-1.6 30.9 9.3 33.1 4.9 1 11.9-1.3 17.1-3.5 6.5-2.2 14.3-5.7 21.6-11.1 12.5-9.2 24.6-22.1 23.8-39.6-.3-7.9-2.5-15.8-5.4-23.4 15.7-6.6 36.1-10.2 62.1-7.2 55.7 6.5 66.6 41.3 64.5 55.8-2.1 14.6-13.8 22.6-17.7 25-3.9 2.4-5.1 3.3-4.8 5.1.5 2.6 2.3 2.5 5.6 1.9 4.6-.8 29.2-11.8 30.3-38.7 1.6-34-31.1-71.4-89-71.1zM121.8 436.6c-18.4 20.1-44.2 27.7-55.3 21.3C54.6 451 59.3 421.4 82 400c13.8-13 31.6-25 43.4-32.4 2.7-1.6 6.6-4 11.4-6.9.8-.5 1.2-.7 1.2-.7.9-.6 1.9-1.1 2.9-1.7 8.3 30.4.3 57.2-19.1 78.3zm134.4-91.4c-6.4 15.7-19.9 55.7-28.1 53.6-7-1.8-11.3-32.3-1.4-62.3 5-15.1 15.6-33.1 21.9-40.1 10.1-11.3 21.2-14.9 23.8-10.4 3.5 5.9-12.2 49.4-16.2 59.2zm111 53c-2.7 1.4-5.2 2.3-6.4 1.6-.9-.5 1.1-2.4 1.1-2.4s13.9-14.9 19.4-21.7c3.2-4 6.9-8.7 10.9-13.9 0 .5.1 1 .1 1.6-.1 17.9-17.3 30-25.1 34.8zm85.6-19.5c-2-1.4-1.7-6.1 5-20.7 2.6-5.7 8.6-15.3 19-24.5 1.2 3.8 1.9 7.4 1.9 10.8-.1 22.5-16.2 30.9-25.9 34.4z"],schlix:[448,512,[],"f3ea","M350.5 157.7l-54.2-46.1 73.4-39 78.3 44.2-97.5 40.9zM192 122.1l45.7-28.2 34.7 34.6-55.4 29-25-35.4zm-65.1 6.6l31.9-22.1L176 135l-36.7 22.5-12.4-28.8zm-23.3 88.2l-8.8-34.8 29.6-18.3 13.1 35.3-33.9 17.8zm-21.2-83.7l23.9-18.1 8.9 24-26.7 18.3-6.1-24.2zM59 206.5l-3.6-28.4 22.3-15.5 6.1 28.7L59 206.5zm-30.6 16.6l20.8-12.8 3.3 33.4-22.9 12-1.2-32.6zM1.4 268l19.2-10.2.4 38.2-21 8.8L1.4 268zm59.1 59.3l-28.3 8.3-1.6-46.8 25.1-10.7 4.8 49.2zM99 263.2l-31.1 13-5.2-40.8L90.1 221l8.9 42.2zM123.2 377l-41.6 5.9-8.1-63.5 35.2-10.8 14.5 68.4zm28.5-139.9l21.2 57.1-46.2 13.6-13.7-54.1 38.7-16.6zm85.7 230.5l-70.9-3.3-24.3-95.8 55.2-8.6 40 107.7zm-84.9-279.7l42.2-22.4 28 45.9-50.8 21.3-19.4-44.8zm41 94.9l61.3-18.7 52.8 86.6-79.8 11.3-34.3-79.2zm51.4-85.6l67.3-28.8 65.5 65.4-88.6 26.2-44.2-62.8z"],scribd:[384,512,[],"f28a","M42.3 252.7c-16.1-19-24.7-45.9-24.8-79.9 0-100.4 75.2-153.1 167.2-153.1 98.6-1.6 156.8 49 184.3 70.6l-50.5 72.1-37.3-24.6 26.9-38.6c-36.5-24-79.4-36.5-123-35.8-50.7-.8-111.7 27.2-111.7 76.2 0 18.7 11.2 20.7 28.6 15.6 23.3-5.3 41.9.6 55.8 14 26.4 24.3 23.2 67.6-.7 91.9-29.2 29.5-85.2 27.3-114.8-8.4zm317.7 5.9c-15.5-18.8-38.9-29.4-63.2-28.6-38.1-2-71.1 28-70.5 67.2-.7 16.8 6 33 18.4 44.3 14.1 13.9 33 19.7 56.3 14.4 17.4-5.1 28.6-3.1 28.6 15.6 0 4.3-.5 8.5-1.4 12.7-16.7 40.9-59.5 64.4-121.4 64.4-51.9.2-102.4-16.4-144.1-47.3l33.7-39.4-35.6-27.4L0 406.3l15.4 13.8c52.5 46.8 120.4 72.5 190.7 72.2 51.4 0 94.4-10.5 133.6-44.1 57.1-51.4 54.2-149.2 20.3-189.6z"],searchengin:[460,512,[],"f3eb","M220.6 130.3l-67.2 28.2V43.2L98.7 233.5l54.7-24.2v130.3l67.2-209.3zm-83.2-96.7l-1.3 4.7-15.2 52.9C80.6 106.7 52 145.8 52 191.5c0 52.3 34.3 95.9 83.4 105.5v53.6C57.5 340.1 0 272.4 0 191.6c0-80.5 59.8-147.2 137.4-158zm311.4 447.2c-11.2 11.2-23.1 12.3-28.6 10.5-5.4-1.8-27.1-19.9-60.4-44.4-33.3-24.6-33.6-35.7-43-56.7-9.4-20.9-30.4-42.6-57.5-52.4l-9.7-14.7c-24.7 16.9-53 26.9-81.3 28.7l2.1-6.6 15.9-49.5c46.5-11.9 80.9-54 80.9-104.2 0-54.5-38.4-102.1-96-107.1V32.3C254.4 37.4 320 106.8 320 191.6c0 33.6-11.2 64.7-29 90.4l14.6 9.6c9.8 27.1 31.5 48 52.4 57.4s32.2 9.7 56.8 43c24.6 33.2 42.7 54.9 44.5 60.3s.7 17.3-10.5 28.5zm-9.9-17.9c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8 8-3.6 8-8z"],sellcast:[448,512,[],"f2da","M353.4 32H94.7C42.6 32 0 74.6 0 126.6v258.7C0 437.4 42.6 480 94.7 480h258.7c52.1 0 94.7-42.6 94.7-94.6V126.6c0-52-42.6-94.6-94.7-94.6zm-50 316.4c-27.9 48.2-89.9 64.9-138.2 37.2-22.9 39.8-54.9 8.6-42.3-13.2l15.7-27.2c5.9-10.3 19.2-13.9 29.5-7.9 18.6 10.8-.1-.1 18.5 10.7 27.6 15.9 63.4 6.3 79.4-21.3 15.9-27.6 6.3-63.4-21.3-79.4-17.8-10.2-.6-.4-18.6-10.6-24.6-14.2-3.4-51.9 21.6-37.5 18.6 10.8-.1-.1 18.5 10.7 48.4 28 65.1 90.3 37.2 138.5zm21.8-208.8c-17 29.5-16.3 28.8-19 31.5-6.5 6.5-16.3 8.7-26.5 3.6-18.6-10.8.1.1-18.5-10.7-27.6-15.9-63.4-6.3-79.4 21.3s-6.3 63.4 21.3 79.4c0 0 18.5 10.6 18.6 10.6 24.6 14.2 3.4 51.9-21.6 37.5-18.6-10.8.1.1-18.5-10.7-48.2-27.8-64.9-90.1-37.1-138.4 27.9-48.2 89.9-64.9 138.2-37.2l4.8-8.4c14.3-24.9 52-3.3 37.7 21.5z"],sellsy:[640,512,[],"f213","M539.71 237.308c3.064-12.257 4.29-24.821 4.29-37.384C544 107.382 468.618 32 376.076 32c-77.22 0-144.634 53.012-163.02 127.781-15.322-13.176-34.934-20.53-55.157-20.53-46.271 0-83.962 37.69-83.962 83.961 0 7.354.92 15.015 3.065 22.369-42.9 20.225-70.785 63.738-70.785 111.234C6.216 424.843 61.68 480 129.401 480h381.198c67.72 0 123.184-55.157 123.184-123.184.001-56.384-38.916-106.025-94.073-119.508zM199.88 401.554c0 8.274-7.048 15.321-15.321 15.321H153.61c-8.274 0-15.321-7.048-15.321-15.321V290.626c0-8.273 7.048-15.321 15.321-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v110.928zm89.477 0c0 8.274-7.048 15.321-15.322 15.321h-30.949c-8.274 0-15.321-7.048-15.321-15.321V270.096c0-8.274 7.048-15.321 15.321-15.321h30.949c8.274 0 15.322 7.048 15.322 15.321v131.458zm89.477 0c0 8.274-7.047 15.321-15.321 15.321h-30.949c-8.274 0-15.322-7.048-15.322-15.321V238.84c0-8.274 7.048-15.321 15.322-15.321h30.949c8.274 0 15.321 7.048 15.321 15.321v162.714zm87.027 0c0 8.274-7.048 15.321-15.322 15.321h-28.497c-8.274 0-15.321-7.048-15.321-15.321V176.941c0-8.579 7.047-15.628 15.321-15.628h28.497c8.274 0 15.322 7.048 15.322 15.628v224.613z"],servicestack:[496,512,[],"f3ec","M88 216c81.7 10.2 273.7 102.3 304 232H0c99.5-8.1 184.5-137 88-232zm32-152c32.3 35.6 47.7 83.9 46.4 133.6C249.3 231.3 373.7 321.3 400 448h96C455.3 231.9 222.8 79.5 120 64z"],shirtsinbulk:[448,512,[],"f214","M395.208 221.583H406v33.542h-10.792v-33.542zm0-9.625H406v-33.542h-10.792v33.542zm0 86.333H406V264.75h-10.792v33.541zM358.75 135.25h-33.542v10.5h33.542v-10.5zm36.458 206.208H406v-33.542h-10.792v33.542zM311.5 135.25h-33.542v10.5H311.5v-10.5zm-47.25 0H231v10.5h33.25v-10.5zm-47.25 0h-33.25v10.5H217v-10.5zm178.208 33.542H406V135.25h-33.542v10.5h22.75v23.042zm-255.792 259l30.625 13.417 4.375-9.917-30.625-13.417-4.375 9.917zM179.083 445l30.334 13.708 4.374-9.916-30.333-13.417-4.375 9.625zm216.125-60.375H406v-33.542h-10.792v33.542zm-334.833 8.167L91 406.208l4.375-9.624-30.625-13.709-4.375 9.917zm39.666 17.499l30.625 13.417 4.375-9.917-30.625-13.416-4.375 9.916zm132.417 38.501l4.375 9.916L267.459 445l-4.375-9.625-30.626 13.417zm118.417-52.208l4.375 9.624 30.624-13.416-4.374-9.917-30.625 13.709zM311.5 413.791l4.375 9.917 30.625-13.417-4.374-9.916-30.626 13.416zm-39.667 17.501l4.375 9.917 30.625-13.417-4.375-9.917-30.625 13.417zM311.5 46.583h-33.542v10.5H311.5v-10.5zm94.209 0h-33.251v10.5h33.251v-10.5zm-188.709 0h-33.25v10.5H217v-10.5zm141.75 0h-33.542v10.5h33.542v-10.5zm-94.5 0H231v10.5h33.25v-10.5zM448 3.708v406l-226.334 98.584L0 409.708v-406h448zm-29.166 116.958H29.166V390.75l192.792 85.75 196.875-85.75V120.666zm0-87.791H29.166V91.5h389.667V32.875zM75.542 46.583H42.291v10.5h33.251v-10.5zm94.5 0H136.5v10.5h33.542v-10.5zm-47.251 0H89.25v10.5h33.542v-10.5zm7.584 236.542c0-50.167 41.125-91.292 91.292-91.292 50.458 0 91.292 41.125 91.292 91.292 0 50.458-40.833 91.292-91.292 91.292-50.167-.001-91.292-40.834-91.292-91.292zm120.75 18.084c0 13.125-23.917 14.291-32.666 14.291-12.25 0-29.75-2.625-35.875-14.875h-.875L172.666 319c14.876 9.333 29.167 12.25 47.25 12.25 19.542 0 51.042-5.833 51.042-31.209 0-48.125-78.458-16.333-78.458-37.916 0-13.125 20.708-14.875 29.75-14.875 10.791 0 29.166 3.208 35.583 13.124h.875l8.751-16.916c-15.167-6.125-27.417-11.959-44.334-11.959-20.125 0-49.583 6.417-49.583 31.792 0 44.334 77.583 11.959 77.583 37.918zM122.791 135.25H89.25v10.5h33.542v-10.5zm-69.999 10.5h22.75v-10.5H42v33.542h10.792V145.75zm0 32.666H42v33.542h10.792v-33.542zm117.25-43.166H136.5v10.5h33.542v-10.5zm-117.25 86.333H42v33.542h10.792v-33.542zm0 86.334H42v33.542h10.792v-33.542zm0-43.167H42v33.542h10.792V264.75zm0 86.333H42v33.542h10.792v-33.542z"],simplybuilt:[512,512,[],"f215","M481.2 64h-106c-14.5 0-26.6 11.8-26.6 26.3v39.6H163.3V90.3c0-14.5-12-26.3-26.6-26.3h-106C16.1 64 4.3 75.8 4.3 90.3v331.4c0 14.5 11.8 26.3 26.6 26.3h450.4c14.8 0 26.6-11.8 26.6-26.3V90.3c-.2-14.5-12-26.3-26.7-26.3zM149.8 355.8c-36.6 0-66.4-29.7-66.4-66.4 0-36.9 29.7-66.6 66.4-66.6 36.9 0 66.6 29.7 66.6 66.6 0 36.7-29.7 66.4-66.6 66.4zm212.4 0c-36.9 0-66.6-29.7-66.6-66.6 0-36.6 29.7-66.4 66.6-66.4 36.6 0 66.4 29.7 66.4 66.4 0 36.9-29.8 66.6-66.4 66.6z"],sistrix:[448,512,[],"f3ee","M448 449L301.2 300.2c20-27.9 31.9-62.2 31.9-99.2 0-93.1-74.7-168.9-166.5-168.9C74.7 32 0 107.8 0 200.9s74.7 168.9 166.5 168.9c39.8 0 76.3-14.2 105-37.9l146 148.1 30.5-31zM166.5 330.8c-70.6 0-128.1-58.3-128.1-129.9S95.9 71 166.5 71s128.1 58.3 128.1 129.9-57.4 129.9-128.1 129.9z"],skyatlas:[640,512,[],"f216","M640 329.3c0 65.9-52.5 114.4-117.5 114.4-165.9 0-196.6-249.7-359.7-249.7-146.9 0-147.1 212.2 5.6 212.2 42.5 0 90.9-17.8 125.3-42.5 5.6-4.1 16.9-16.3 22.8-16.3s10.9 5 10.9 10.9c0 7.8-13.1 19.1-18.7 24.1-40.9 35.6-100.3 61.2-154.7 61.2-83.4.1-154-59-154-144.9s67.5-149.1 152.8-149.1c185.3 0 222.5 245.9 361.9 245.9 99.9 0 94.8-139.7 3.4-139.7-17.5 0-35 11.6-46.9 11.6-8.4 0-15.9-7.2-15.9-15.6 0-11.6 5.3-23.7 5.3-36.3 0-66.6-50.9-114.7-116.9-114.7-53.1 0-80 36.9-88.8 36.9-6.2 0-11.2-5-11.2-11.2 0-5.6 4.1-10.3 7.8-14.4 25.3-28.8 64.7-43.7 102.8-43.7 79.4 0 139.1 58.4 139.1 137.8 0 6.9-.3 13.7-1.2 20.6 11.9-3.1 24.1-4.7 35.9-4.7 60.7 0 111.9 45.3 111.9 107.2z"],skype:[448,512,[],"f17e","M424.7 299.8c2.9-14 4.7-28.9 4.7-43.8 0-113.5-91.9-205.3-205.3-205.3-14.9 0-29.7 1.7-43.8 4.7C161.3 40.7 137.7 32 112 32 50.2 32 0 82.2 0 144c0 25.7 8.7 49.3 23.3 68.2-2.9 14-4.7 28.9-4.7 43.8 0 113.5 91.9 205.3 205.3 205.3 14.9 0 29.7-1.7 43.8-4.7 19 14.6 42.6 23.3 68.2 23.3 61.8 0 112-50.2 112-112 .1-25.6-8.6-49.2-23.2-68.1zm-194.6 91.5c-65.6 0-120.5-29.2-120.5-65 0-16 9-30.6 29.5-30.6 31.2 0 34.1 44.9 88.1 44.9 25.7 0 42.3-11.4 42.3-26.3 0-18.7-16-21.6-42-28-62.5-15.4-117.8-22-117.8-87.2 0-59.2 58.6-81.1 109.1-81.1 55.1 0 110.8 21.9 110.8 55.4 0 16.9-11.4 31.8-30.3 31.8-28.3 0-29.2-33.5-75-33.5-25.7 0-42 7-42 22.5 0 19.8 20.8 21.8 69.1 33 41.4 9.3 90.7 26.8 90.7 77.6 0 59.1-57.1 86.5-112 86.5z"],slack:[448,512,[],"f198","M244.2 217.5l19.3 57.7-59.8 20-19.3-57.7 59.8-20zm41.4 243.7C131.6 507.4 65 471.6 18.8 317.6S8.4 97 162.4 50.8C316.4 4.6 383 40.4 429.2 194.4c46.2 154 10.4 220.6-143.6 266.8zM366.2 265c-3.9-12.2-17.2-18.6-29.4-14.7l-29 9.7-19.3-57.7 29-9.7c12.2-3.9 18.6-17.2 14.7-29.4-3.9-12.2-17.2-18.6-29.4-14.7l-29 9.7-10-30.1c-3.9-12.2-17.2-18.6-29.4-14.7-12.2 3.9-18.6 17.2-14.7 29.4l10 30.1-59.8 20.1-10-30.1c-3.9-12.2-17.2-18.6-29.4-14.7-12.2 3.9-18.6 17.2-14.7 29.4l10 30.1-29 9.7c-12.2 3.9-18.6 17.2-14.7 29.4 3.2 9.3 12.2 15.4 21.5 15.8 4.3.6 7.7-1 36.9-10.7l19.3 57.7-29 9.7c-12.2 3.9-18.6 17.2-14.7 29.4 3.2 9.3 12.2 15.4 21.5 15.8 4.3.6 7.7-1 36.9-10.7l10 30.1c3.7 10.8 15.8 18.6 29.4 14.7 12.2-3.9 18.6-17.2 14.7-29.4l-10-30.1 59.8-20.1 10 30.1c3.7 10.8 15.8 18.6 29.4 14.7 12.2-3.9 18.6-17.2 14.7-29.4l-10-30.1 29-9.7c12.2-4.2 18.6-17.5 14.7-29.6z"],"slack-hash":[448,512,[],"f3ef","M446.2 270.4c-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-30.3-90 45.4-15.1c19.1-6.2 29.1-26.8 23-45.9-6.2-19-26.9-29.1-46-22.9l-45.4 15.1-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-93.4 31.2-15.7-47c-6.2-19-26.9-29.1-46-22.9-19.1 6.2-29.1 26.8-23 45.9l15.7 47-45.3 15c-19.1 6.2-29.1 26.8-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l30.3 90L78 354.8c-19 6.2-29.1 26.9-23 45.9 5 14.5 19.1 24 33.6 24.6 6.8 1 12-1.6 57.7-16.8l15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 93.6-31.3 15.7 47c5.9 16.9 24.7 29 46 22.9 19.1-6.2 29.1-26.8 23-45.9l-15.7-47 45.4-15.1c19-6 29.1-26.7 22.9-45.7zm-254.1 47.2l-30.3-90.2 93.5-31.3 30.3 90.2-93.5 31.3z"],slideshare:[512,512,[],"f1e7","M249.429 211.436c0 31.716-27.715 57.717-61.717 57.717-34.001 0-61.716-26.001-61.716-57.717 0-32.001 27.715-57.716 61.716-57.716 34.001 0 61.717 25.715 61.717 57.716zm254.294 50.002c-18.286 22.573-53.144 50.288-106.289 72.003C453.722 525.163 260 555.735 263.143 457.446c0 1.714-.286-52.859-.286-93.432-4.285-.858-8.571-2-13.714-3.143 0 40.858-.286 98.289-.286 96.575C252 555.735 58.278 525.163 114.566 333.441c-53.145-21.715-88.003-49.43-106.29-72.003-9.143-13.714.858-28.287 16.001-17.715 2 1.428 4.285 2.857 6.285 4.285V49.716C30.563 22.287 51.135 0 76.565 0h359.157c25.429 0 46.002 22.287 46.002 49.716v198.293l6-4.285c15.143-10.573 25.143 4 15.999 17.714zm-46.572-189.15c0-32.858-10.572-45.716-40.859-45.716H98.566c-31.716 0-40.573 10.858-40.573 45.716v192.293c67.717 35.43 125.72 29.144 157.435 28.001 13.429-.286 22.001 2.286 27.144 7.715 1.689 1.687 10.023 9.446 20.287 17.143 1.143-15.715 10.001-25.715 33.716-24.858 32.287 1.428 91.718 7.715 160.577-29.716V72.288zM331.146 153.72c-34.002 0-61.716 25.715-61.716 57.716 0 31.716 27.715 57.717 61.716 57.717 34.287 0 61.716-26.001 61.716-57.717 0-32.001-27.429-57.716-61.716-57.716z"],snapchat:[496,512,[],"f2ab","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm169.5 338.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C183.1 100 230.7 96 244.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z"],"snapchat-ghost":[512,512,[],"f2ac","M510.846 392.673c-5.211 12.157-27.239 21.089-67.36 27.318-2.064 2.786-3.775 14.686-6.507 23.956-1.625 5.566-5.623 8.869-12.128 8.869l-.297-.005c-9.395 0-19.203-4.323-38.852-4.323-26.521 0-35.662 6.043-56.254 20.588-21.832 15.438-42.771 28.764-74.027 27.399-31.646 2.334-58.025-16.908-72.871-27.404-20.714-14.643-29.828-20.582-56.241-20.582-18.864 0-30.736 4.72-38.852 4.72-8.073 0-11.213-4.922-12.422-9.04-2.703-9.189-4.404-21.263-6.523-24.13-20.679-3.209-67.31-11.344-68.498-32.15a10.627 10.627 0 0 1 8.877-11.069c69.583-11.455 100.924-82.901 102.227-85.934.074-.176.155-.344.237-.515 3.713-7.537 4.544-13.849 2.463-18.753-5.05-11.896-26.872-16.164-36.053-19.796-23.715-9.366-27.015-20.128-25.612-27.504 2.437-12.836 21.725-20.735 33.002-15.453 8.919 4.181 16.843 6.297 23.547 6.297 5.022 0 8.212-1.204 9.96-2.171-2.043-35.936-7.101-87.29 5.687-115.969C158.122 21.304 229.705 15.42 250.826 15.42c.944 0 9.141-.089 10.11-.089 52.148 0 102.254 26.78 126.723 81.643 12.777 28.65 7.749 79.792 5.695 116.009 1.582.872 4.357 1.942 8.599 2.139 6.397-.286 13.815-2.389 22.069-6.257 6.085-2.846 14.406-2.461 20.48.058l.029.01c9.476 3.385 15.439 10.215 15.589 17.87.184 9.747-8.522 18.165-25.878 25.018-2.118.835-4.694 1.655-7.434 2.525-9.797 3.106-24.6 7.805-28.616 17.271-2.079 4.904-1.256 11.211 2.46 18.748.087.168.166.342.239.515 1.301 3.03 32.615 74.46 102.23 85.934 6.427 1.058 11.163 7.877 7.725 15.859z"],"snapchat-square":[448,512,[],"f2ad","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6.5 314.9c-3.5 8.1-18.1 14-44.8 18.2-1.4 1.9-2.5 9.8-4.3 15.9-1.1 3.7-3.7 5.9-8.1 5.9h-.2c-6.2 0-12.8-2.9-25.8-2.9-17.6 0-23.7 4-37.4 13.7-14.5 10.3-28.4 19.1-49.2 18.2-21 1.6-38.6-11.2-48.5-18.2-13.8-9.7-19.8-13.7-37.4-13.7-12.5 0-20.4 3.1-25.8 3.1-5.4 0-7.5-3.3-8.3-6-1.8-6.1-2.9-14.1-4.3-16-13.8-2.1-44.8-7.5-45.5-21.4-.2-3.6 2.3-6.8 5.9-7.4 46.3-7.6 67.1-55.1 68-57.1 0-.1.1-.2.2-.3 2.5-5 3-9.2 1.6-12.5-3.4-7.9-17.9-10.7-24-13.2-15.8-6.2-18-13.4-17-18.3 1.6-8.5 14.4-13.8 21.9-10.3 5.9 2.8 11.2 4.2 15.7 4.2 3.3 0 5.5-.8 6.6-1.4-1.4-23.9-4.7-58 3.8-77.1C159.1 100 206.7 96 220.7 96c.6 0 6.1-.1 6.7-.1 34.7 0 68 17.8 84.3 54.3 8.5 19.1 5.2 53.1 3.8 77.1 1.1.6 2.9 1.3 5.7 1.4 4.3-.2 9.2-1.6 14.7-4.2 4-1.9 9.6-1.6 13.6 0 6.3 2.3 10.3 6.8 10.4 11.9.1 6.5-5.7 12.1-17.2 16.6-1.4.6-3.1 1.1-4.9 1.7-6.5 2.1-16.4 5.2-19 11.5-1.4 3.3-.8 7.5 1.6 12.5.1.1.1.2.2.3.9 2 21.7 49.5 68 57.1 4 1 7.1 5.5 4.9 10.8z"],soundcloud:[640,512,[],"f1be","M111.4 256.3l5.8 65-5.8 68.3c-.3 2.5-2.2 4.4-4.4 4.4s-4.2-1.9-4.2-4.4l-5.6-68.3 5.6-65c0-2.2 1.9-4.2 4.2-4.2 2.2 0 4.1 2 4.4 4.2zm21.4-45.6c-2.8 0-4.7 2.2-5 5l-5 105.6 5 68.3c.3 2.8 2.2 5 5 5 2.5 0 4.7-2.2 4.7-5l5.8-68.3-5.8-105.6c0-2.8-2.2-5-4.7-5zm25.5-24.1c-3.1 0-5.3 2.2-5.6 5.3l-4.4 130 4.4 67.8c.3 3.1 2.5 5.3 5.6 5.3 2.8 0 5.3-2.2 5.3-5.3l5.3-67.8-5.3-130c0-3.1-2.5-5.3-5.3-5.3zM7.2 283.2c-1.4 0-2.2 1.1-2.5 2.5L0 321.3l4.7 35c.3 1.4 1.1 2.5 2.5 2.5s2.2-1.1 2.5-2.5l5.6-35-5.6-35.6c-.3-1.4-1.1-2.5-2.5-2.5zm23.6-21.9c-1.4 0-2.5 1.1-2.5 2.5l-6.4 57.5 6.4 56.1c0 1.7 1.1 2.8 2.5 2.8s2.5-1.1 2.8-2.5l7.2-56.4-7.2-57.5c-.3-1.4-1.4-2.5-2.8-2.5zm25.3-11.4c-1.7 0-3.1 1.4-3.3 3.3L47 321.3l5.8 65.8c.3 1.7 1.7 3.1 3.3 3.1 1.7 0 3.1-1.4 3.1-3.1l6.9-65.8-6.9-68.1c0-1.9-1.4-3.3-3.1-3.3zm25.3-2.2c-1.9 0-3.6 1.4-3.6 3.6l-5.8 70 5.8 67.8c0 2.2 1.7 3.6 3.6 3.6s3.6-1.4 3.9-3.6l6.4-67.8-6.4-70c-.3-2.2-2-3.6-3.9-3.6zm241.4-110.9c-1.1-.8-2.8-1.4-4.2-1.4-2.2 0-4.2.8-5.6 1.9-1.9 1.7-3.1 4.2-3.3 6.7v.8l-3.3 176.7 1.7 32.5 1.7 31.7c.3 4.7 4.2 8.6 8.9 8.6s8.6-3.9 8.6-8.6l3.9-64.2-3.9-177.5c-.4-3-2-5.8-4.5-7.2zm-26.7 15.3c-1.4-.8-2.8-1.4-4.4-1.4s-3.1.6-4.4 1.4c-2.2 1.4-3.6 3.9-3.6 6.7l-.3 1.7-2.8 160.8s0 .3 3.1 65.6v.3c0 1.7.6 3.3 1.7 4.7 1.7 1.9 3.9 3.1 6.4 3.1 2.2 0 4.2-1.1 5.6-2.5 1.7-1.4 2.5-3.3 2.5-5.6l.3-6.7 3.1-58.6-3.3-162.8c-.3-2.8-1.7-5.3-3.9-6.7zm-111.4 22.5c-3.1 0-5.8 2.8-5.8 6.1l-4.4 140.6 4.4 67.2c.3 3.3 2.8 5.8 5.8 5.8 3.3 0 5.8-2.5 6.1-5.8l5-67.2-5-140.6c-.2-3.3-2.7-6.1-6.1-6.1zm376.7 62.8c-10.8 0-21.1 2.2-30.6 6.1-6.4-70.8-65.8-126.4-138.3-126.4-17.8 0-35 3.3-50.3 9.4-6.1 2.2-7.8 4.4-7.8 9.2v249.7c0 5 3.9 8.6 8.6 9.2h218.3c43.3 0 78.6-35 78.6-78.3.1-43.6-35.2-78.9-78.5-78.9zm-296.7-60.3c-4.2 0-7.5 3.3-7.8 7.8l-3.3 136.7 3.3 65.6c.3 4.2 3.6 7.5 7.8 7.5 4.2 0 7.5-3.3 7.5-7.5l3.9-65.6-3.9-136.7c-.3-4.5-3.3-7.8-7.5-7.8zm-53.6-7.8c-3.3 0-6.4 3.1-6.4 6.7l-3.9 145.3 3.9 66.9c.3 3.6 3.1 6.4 6.4 6.4 3.6 0 6.4-2.8 6.7-6.4l4.4-66.9-4.4-145.3c-.3-3.6-3.1-6.7-6.7-6.7zm26.7 3.4c-3.9 0-6.9 3.1-6.9 6.9L227 321.3l3.9 66.4c.3 3.9 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9l4.2-66.4-4.2-141.7c0-3.9-3-6.9-6.9-6.9z"],speakap:[448,512,[],"f3f3","M352 32H96C43.2 32 0 75.2 0 128v256c0 52.8 43.2 96 96 96h256c52.8 0 96-43.2 96-96V128c0-52.8-43.2-96-96-96zM221 382.9c-39.6 0-81.9-17.8-81.9-53.7V302H179v17.8c0 15.1 19.5 24.5 41.9 24.5 24.2 0 41.3-10.4 41.3-29.5 0-23.8-27.2-31.9-54.7-42.6-31.9-12.4-63.1-26.2-63.1-69.1 0-48 38.6-66.4 79.9-66.4 37.6 0 75.5 14.1 75.5 41.9v31.2h-39.9v-16.1c0-12.1-17.8-18.5-35.6-18.5-19.5 0-35.6 8.1-35.6 26.2 0 22.1 22.5 29.2 47 38.9 35.9 12.4 71.1 27.2 71.1 71.5.1 48.6-40.8 71.1-85.8 71.1z"],spotify:[496,512,[],"f1bc","M248 8C111.1 8 0 119.1 0 256s111.1 248 248 248 248-111.1 248-248S384.9 8 248 8zm100.7 364.9c-4.2 0-6.8-1.3-10.7-3.6-62.4-37.6-135-39.2-206.7-24.5-3.9 1-9 2.6-11.9 2.6-9.7 0-15.8-7.7-15.8-15.8 0-10.3 6.1-15.2 13.6-16.8 81.9-18.1 165.6-16.5 237 26.2 6.1 3.9 9.7 7.4 9.7 16.5s-7.1 15.4-15.2 15.4zm26.9-65.6c-5.2 0-8.7-2.3-12.3-4.2-62.5-37-155.7-51.9-238.6-29.4-4.8 1.3-7.4 2.6-11.9 2.6-10.7 0-19.4-8.7-19.4-19.4s5.2-17.8 15.5-20.7c27.8-7.8 56.2-13.6 97.8-13.6 64.9 0 127.6 16.1 177 45.5 8.1 4.8 11.3 11 11.3 19.7-.1 10.8-8.5 19.5-19.4 19.5zm31-76.2c-5.2 0-8.4-1.3-12.9-3.9-71.2-42.5-198.5-52.7-280.9-29.7-3.6 1-8.1 2.6-12.9 2.6-13.2 0-23.3-10.3-23.3-23.6 0-13.6 8.4-21.3 17.4-23.9 35.2-10.3 74.6-15.2 117.5-15.2 73 0 149.5 15.2 205.4 47.8 7.8 4.5 12.9 10.7 12.9 22.6 0 13.6-11 23.3-23.2 23.3z"],"stack-exchange":[448,512,[],"f18d","M17.7 332.3h412.7v22c0 37.7-29.3 68-65.3 68h-19L259.3 512v-89.7H83c-36 0-65.3-30.3-65.3-68v-22zm0-23.6h412.7v-85H17.7v85zm0-109.4h412.7v-85H17.7v85zM365 0H83C47 0 17.7 30.3 17.7 67.7V90h412.7V67.7C430.3 30.3 401 0 365 0z"],"stack-overflow":[384,512,[],"f16c","M293.7 300l-181.2-84.5 16.7-36.5 181.3 84.7-16.8 36.3zm48-76L188.2 95.7l-25.5 30.8 153.5 128.3 25.5-30.8zm39.6-31.7L262 32l-32 24 119.3 160.3 32-24zM290.7 311L95 269.7 86.8 309l195.7 41 8.2-39zm31.6 129H42.7V320h-40v160h359.5V320h-40v120zm-39.8-80h-200v39.7h200V360z"],staylinked:[440,512,[],"f3f5","M201.6 127.4c4.1-3.2 10.3-3 13.8.5l170 167.3-2.7-2.7 44.3 41.3c3.7 3.5 3.3 9-.7 12.2l-198 163.9c-9.9 7.6-17.3.8-17.3.8L2.3 314.6c-3.5-3.5-3-9 1.2-12.2l45.8-34.9c4.2-3.2 10.4-3 13.9.5l151.9 147.5c3.7 3.5 10 3.7 14.2.4l93.2-74c4.1-3.2 4.5-8.7.9-12.2l-84-81.3c-3.6-3.5-9.9-3.7-14-.5l-.1.1c-4.1 3.2-10.4 3-14-.5l-68.1-64.3c-3.5-3.5-3.1-9 1.1-12.2l57.3-43.6m14.8 257.3c3.7 3.5 10.1 3.7 14.3.4l50.2-38.8-.3-.3 7.7-6c4.2-3.2 4.6-8.7.9-12.2l-57.1-54.4c-3.6-3.5-10-3.7-14.2-.5l-.1.1c-4.2 3.2-10.5 3.1-14.2-.4L109 180.8c-3.6-3.5-3.1-8.9 1.1-12.2l92.2-71.5c4.1-3.2 10.3-3 13.9.5l160.4 159c3.7 3.5 10 3.7 14.1.5l45.8-35.8c4.1-3.2 4.4-8.7.7-12.2L226.7 2.5c-1.5-1.2-8-5.5-16.3 1.1L3.6 165.7c-4.2 3.2-4.8 8.7-1.2 12.2l42.3 41.7"],steam:[496,512,[],"f1b6","M496 256c0 137-111.2 248-248.4 248-113.8 0-209.6-76.3-239-180.4l95.2 39.3c6.4 32.1 34.9 56.4 68.9 56.4 39.2 0 71.9-32.4 70.2-73.5l84.5-60.2c52.1 1.3 95.8-40.9 95.8-93.5 0-51.6-42-93.5-93.7-93.5s-93.7 42-93.7 93.5v1.2L176.6 279c-15.5-.9-30.7 3.4-43.5 12.1L0 236.1C10.2 108.4 117.1 8 247.6 8 384.8 8 496 119 496 256zM155.7 384.3l-30.5-12.6a52.79 52.79 0 0 0 27.2 25.8c26.9 11.2 57.8-1.6 69-28.4 5.4-13 5.5-27.3.1-40.3-5.4-13-15.5-23.2-28.5-28.6-12.9-5.4-26.7-5.2-38.9-.6l31.5 13c19.8 8.2 29.2 30.9 20.9 50.7-8.3 19.9-31 29.2-50.8 21zm173.8-129.9c-34.4 0-62.4-28-62.4-62.3s28-62.3 62.4-62.3 62.4 28 62.4 62.3-27.9 62.3-62.4 62.3zm.1-15.6c25.9 0 46.9-21 46.9-46.8 0-25.9-21-46.8-46.9-46.8s-46.9 21-46.9 46.8c.1 25.8 21.1 46.8 46.9 46.8z"],"steam-square":[448,512,[],"f1b7","M185.2 356.5c7.7-18.5-1-39.7-19.6-47.4l-29.5-12.2c11.4-4.3 24.3-4.5 36.4.5 12.2 5.1 21.6 14.6 26.7 26.7 5 12.2 5 25.6-.1 37.7-10.5 25.1-39.4 37-64.6 26.5-11.6-4.8-20.4-13.6-25.4-24.2l28.5 11.8c18.6 7.8 39.9-.9 47.6-19.4zM400 32H48C21.5 32 0 53.5 0 80v160.7l116.6 48.1c12-8.2 26.2-12.1 40.7-11.3l55.4-80.2v-1.1c0-48.2 39.3-87.5 87.6-87.5s87.6 39.3 87.6 87.5c0 49.2-40.9 88.7-89.6 87.5l-79 56.3c1.6 38.5-29.1 68.8-65.7 68.8-31.8 0-58.5-22.7-64.5-52.7L0 319.2V432c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-99.7 222.5c-32.2 0-58.4-26.1-58.4-58.3s26.2-58.3 58.4-58.3 58.4 26.2 58.4 58.3-26.2 58.3-58.4 58.3zm.1-14.6c24.2 0 43.9-19.6 43.9-43.8 0-24.2-19.6-43.8-43.9-43.8-24.2 0-43.9 19.6-43.9 43.8 0 24.2 19.7 43.8 43.9 43.8z"],"steam-symbol":[448,512,[],"f3f6","M395.5 177.5c0 33.8-27.5 61-61 61-33.8 0-61-27.3-61-61s27.3-61 61-61c33.5 0 61 27.2 61 61zm52.5.2c0 63-51 113.8-113.7 113.8L225 371.3c-4 43-40.5 76.8-84.5 76.8-40.5 0-74.7-28.8-83-67L0 358V250.7L97.2 290c15.1-9.2 32.2-13.3 52-11.5l71-101.7c.5-62.3 51.5-112.8 114-112.8C397 64 448 115 448 177.7zM203 363c0-34.7-27.8-62.5-62.5-62.5-4.5 0-9 .5-13.5 1.5l26 10.5c25.5 10.2 38 39 27.7 64.5-10.2 25.5-39.2 38-64.7 27.5-10.2-4-20.5-8.3-30.7-12.2 10.5 19.7 31.2 33.2 55.2 33.2 34.7 0 62.5-27.8 62.5-62.5zm207.5-185.3c0-42-34.3-76.2-76.2-76.2-42.3 0-76.5 34.2-76.5 76.2 0 42.2 34.3 76.2 76.5 76.2 41.9.1 76.2-33.9 76.2-76.2z"],"sticker-mule":[576,512,[],"f3f7","M353.1 509.8c-5.9 2.9-32.1 3.2-36.5-.5-4.1-3-2.2-11.9-1.5-15 2.2-15-2.5-7.9-9.8-11.5-3.1-1.5-4.1-5.5-4.6-10-.5-1.5-1-2.5-1.5-3.5-1.7-10.7 6.8-33.6 8.2-43.4 4.9-23.7-.7-37.2 1.5-46.9 3.7-16.2 4.1-3.5 4.1-29.9-1.4-25.9 3.3-36.9.5-38.9-14.8 0-64.3 10.7-112.2 2-46.1-8.9-59.4-29-65.4-30.9-10.3-4.5-23.2.5-27.3 7-.1.1-35 70.6-39.6 87.8-6.2 20.5-.5 47.4 4.1 66.8 0 .1 4.5 14.6 10.3 19.5 2.1 1.5 5.1 2.5 7.2 4.5 2.8 2.7 9.4 15.2 9.8 16 2.6 4.5 3.6 8-1.5 10.5-3.6 2-9.3 2.5-14.4 2.5-2.6.5-1.5 3.5-3.1 5-2.9 2.8-20.7 6.1-29.9 2.5-2.6-1-5.7-3-6.2-5-1.5-4 2.1-9-1-12.5-4.5-2.9-13.1-2-17-12-2.2-5.4-2.6-7.6-2.6-49.4 0-9.7-5.9-38.7-8.2-46.9-1.5-5.5-1.5-11.5 0-16 .3-.9 4.1-4.6 4.1-13-1-1.5-4.6-.5-5.1-1.5-10.4-80.6-5.9-79-7.7-98.3-1.5-16-10.9-43.9-6.7-64.3.5-2.4 3.4-21 24.2-38.9 31-26.7 48.4-38.3 159-11.5 1.1.4 66.3 21.1 110.7-9 15.5-11.3 28.8-11.3 35.5-16 .1-.1 61.7-52.1 87-65.3 47.2-29.4 69.9-16.7 75.1-18 4.7-1 13.4-25.8 17-25.8 5.5 0 1.6 20.2 3.6 25.9.5 2 3.6 5 6.2 5 2.3 0 1.7-.8 10.3-5 8.4-5.4 14.9-17.6 20.6-17 11.7 1.6-19 41.6-19 46.9 0 2 .2.8 4.6 9.5 2.6 5.5 4.6 13.5 6.2 20 8.3 29.7 5.7 14.6 13.4 36.9 20.2 50.1 20.6 45.2 20.6 52.9 0 7.5-4.1 11-7.2 16.5-1.5 3-4.6 7.5-7.2 8-2.7.7 7-1.5-13.4 2.5-7.2 1-13.4-4.5-14.9-9.5-1.6-4.7 2.8-10.1-11.8-22.9-10.3-10-21.1-11.3-31.9-17-9.8-5.7-11.9 1-18 8-18 22.9-34 46.9-52 69.8-11.8 15-24.2 30.4-33.5 47.4-3.9 6.8-9.5 28.1-10.3 29.9-6.2 17.7-5.5 25.8-16.5 68.3-3.1 10-5.7 21.4-8.7 32.4-2.2 6.8-7.4 49.3-.5 59.4 2.1 3.5 8.7 4.5 11.3 8 .1.1 9.6 18.2 9.3 20 0 6.1-9.4 5.6-11.3 6.5-4.8 2.9-3.8 5.9-6.4 7.4"],strava:[369,512,[],"f428","M301.6 292l-43.9 88.2-44.6-88.2h-67.6l112.2 220 111.5-220h-67.6zM151.4 0L0 292h89.2l62.2-116.1L213.1 292h88.5L151.4 0z"],stripe:[640,512,[],"f429","M640 261.6c0-45.5-22-81.4-64.2-81.4s-67.9 35.9-67.9 81.1c0 53.5 30.3 78.2 73.5 78.2 21.2 0 37.1-4.8 49.2-11.5v-33.4c-12.1 6.1-26 9.8-43.6 9.8-17.3 0-32.5-6.1-34.5-26.9h86.9c.2-2.3.6-11.6.6-15.9m-87.9-16.8c0-20 12.3-28.4 23.4-28.4 10.9 0 22.5 8.4 22.5 28.4h-45.9zm-112.9-64.6c-17.4 0-28.6 8.2-34.8 13.9l-2.3-11H363v204.8l44.4-9.4.1-50.2c6.4 4.7 15.9 11.2 31.4 11.2 31.8 0 60.8-23.2 60.8-79.6.1-51.6-29.3-79.7-60.5-79.7m-10.6 122.5c-10.4 0-16.6-3.8-20.9-8.4l-.3-66c4.6-5.1 11-8.8 21.2-8.8 16.2 0 27.4 18.2 27.4 41.4.1 23.9-10.9 41.8-27.4 41.8M346.4 124v36.2l-44.6 9.5v-36.2l44.6-9.5m-44.5 59.2h44.6v153.2h-44.6V183.2zm-47.8 13.1c10.4-19.1 31.1-15.2 37.1-13.1V224c-5.7-1.8-23.4-4.5-33.9 9.3v103.1H213V183.2h38.4l2.7 13.1m-89-13.1h33.7V221h-33.7v63.2c0 26.2 28 18 33.7 15.7v33.8c-5.9 3.2-16.6 5.9-31.2 5.9-26.3 0-46.1-17-46.1-43.3l.2-142.4 43.3-9.2.1 38.5zM44.9 228.3c0 20 67.9 10.5 67.9 63.4 0 32-25.4 47.8-62.3 47.8-15.3 0-32-3-48.5-10.1v-40c14.9 8.1 33.9 14.2 48.6 14.2 9.9 0 17-2.7 17-10.9 0-21.2-67.5-13.2-67.5-62.4 0-31.4 24-50.2 60-50.2 14.7 0 29.4 2.3 44.1 8.1V230c-13.5-7.3-30.7-11.4-44.2-11.4-9.3.1-15.1 2.8-15.1 9.7"],"stripe-s":[362,512,[],"f42a","M144.3 154.6c0-22.3 18.6-30.9 48.4-30.9 43.4 0 98.5 13.3 141.9 36.7V26.1C287.3 7.2 240.1 0 192.8 0 77.1 0 0 60.4 0 161.4c0 157.9 216.8 132.3 216.8 200.4 0 26.4-22.9 34.9-54.7 34.9-47.2 0-108.2-19.5-156.1-45.5v128.5c53 22.8 106.8 32.4 156 32.4 118.6 0 200.3-51 200.3-153.6 0-170.2-218-139.7-218-203.9"],studiovinari:[512,512,[],"f3f8","M480.3 187.7l4.2 28v28l-25.1 44.1-39.8 78.4-56.1 67.5-79.1 37.8-17.7 24.5-7.7 12-9.6 4s17.3-63.6 19.4-63.6c2.1 0 20.3.7 20.3.7l66.7-38.6-92.5 26.1-55.9 36.8-22.8 28-6.6 1.4 20.8-73.6 6.9-5.5 20.7 12.9 88.3-45.2 56.8-51.5 14.8-68.4-125.4 23.3 15.2-18.2-173.4-53.3 81.9-10.5-166-122.9L133.5 108 32.2 0l252.9 126.6-31.5-38L378 163 234.7 64l18.7 38.4-49.6-18.1L158.3 0l194.6 122L310 66.2l108 96.4 12-8.9-21-16.4 4.2-37.8L451 89.1l29.2 24.7 11.5 4.2-7 6.2 8.5 12-13.1 7.4-10.3 20.2 10.5 23.9z"],stumbleupon:[512,512,[],"f1a4","M502.9 266v69.7c0 62.1-50.3 112.4-112.4 112.4-61.8 0-112.4-49.8-112.4-111.3v-70.2l34.3 16 51.1-15.2V338c0 14.7 12 26.5 26.7 26.5S417 352.7 417 338v-72h85.9zm-224.7-58.2l34.3 16 51.1-15.2V173c0-60.5-51.1-109-112.1-109-60.8 0-112.1 48.2-112.1 108.2v162.4c0 14.9-12 26.7-26.7 26.7S86 349.5 86 334.6V266H0v69.7C0 397.7 50.3 448 112.4 448c61.6 0 112.4-49.5 112.4-110.8V176.9c0-14.7 12-26.7 26.7-26.7s26.7 12 26.7 26.7v30.9z"],"stumbleupon-circle":[496,512,[],"f1a3","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 177.5c-9.8 0-17.8 8-17.8 17.8v106.9c0 40.9-33.9 73.9-74.9 73.9-41.4 0-74.9-33.5-74.9-74.9v-46.5h57.3v45.8c0 10 8 17.8 17.8 17.8s17.8-7.9 17.8-17.8V200.1c0-40 34.2-72.1 74.7-72.1 40.7 0 74.7 32.3 74.7 72.6v23.7l-34.1 10.1-22.9-10.7v-20.6c.1-9.6-7.9-17.6-17.7-17.6zm167.6 123.6c0 41.4-33.5 74.9-74.9 74.9-41.2 0-74.9-33.2-74.9-74.2V263l22.9 10.7 34.1-10.1v47.1c0 9.8 8 17.6 17.8 17.6s17.8-7.9 17.8-17.6v-48h57.3c-.1 45.9-.1 46.4-.1 46.4z"],superpowers:[448,512,[],"f2dd","M448 32c-83.3 11-166.8 22-250 33-92 12.5-163.3 86.7-169 180-3.3 55.5 18 109.5 57.8 148.2L0 480c83.3-11 166.5-22 249.8-33 91.8-12.5 163.3-86.8 168.7-179.8 3.5-55.5-18-109.5-57.7-148.2L448 32zm-79.7 232.3c-4.2 79.5-74 139.2-152.8 134.5-79.5-4.7-140.7-71-136.3-151 4.5-79.2 74.3-139.3 153-134.5 79.3 4.7 140.5 71 136.1 151z"],supple:[640,512,[],"f3f9","M640 262.5c0 64.1-109 116.1-243.5 116.1-24.8 0-48.6-1.8-71.1-5 7.7.4 15.5.6 23.4.6 134.5 0 243.5-56.9 243.5-127.1 0-29.4-19.1-56.4-51.2-78 60 21.1 98.9 55.1 98.9 93.4zM47.7 227.9c-.1-70.2 108.8-127.3 243.3-127.6 7.9 0 15.6.2 23.3.5-22.5-3.2-46.3-4.9-71-4.9C108.8 96.3-.1 148.5 0 212.6c.1 38.3 39.1 72.3 99.3 93.3-32.3-21.5-51.5-48.6-51.6-78zm60.2 39.9s10.5 13.2 29.3 13.2c17.9 0 28.4-11.5 28.4-25.1 0-28-40.2-25.1-40.2-39.7 0-5.4 5.3-9.1 12.5-9.1 5.7 0 11.3 2.6 11.3 6.6v3.9h14.2v-7.9c0-12.1-15.4-16.8-25.4-16.8-16.5 0-28.5 10.2-28.5 24.1 0 26.6 40.2 25.4 40.2 39.9 0 6.6-5.8 10.1-12.3 10.1-11.9 0-20.7-10.1-20.7-10.1l-8.8 10.9zm120.8-73.6v54.4c0 11.3-7.1 17.8-17.8 17.8-10.7 0-17.8-6.5-17.8-17.7v-54.5h-15.8v55c0 18.9 13.4 31.9 33.7 31.9 20.1 0 33.4-13 33.4-31.9v-55h-15.7zm34.4 85.4h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.8-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5.1 14.7-14 14.7h-12.6zm57 43h15.8v-29.5h15.5c16 0 27.2-11.5 27.2-28.1s-11.2-27.8-27.2-27.8h-39.1v13.4h7.8v72zm15.7-43v-29.1h12.9c8.7 0 13.7 5.7 13.7 14.4 0 8.9-5 14.7-14 14.7h-12.6zm57.1 34.8c0 5.8 2.4 8.2 8.2 8.2h37.6c5.8 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-18.6c-1.7 0-2.6-1-2.6-2.6v-61.2c0-5.7-2.4-8.2-8.2-8.2H401v13.4h5.2c1.7 0 2.6 1 2.6 2.6v61.2zm63.4 0c0 5.8 2.4 8.2 8.2 8.2H519c5.7 0 8.2-2.4 8.2-8.2v-13h-14.3v5.2c0 1.7-1 2.6-2.6 2.6h-19.7c-1.7 0-2.6-1-2.6-2.6v-20.3h27.7v-13.4H488v-22.4h19.2c1.7 0 2.6 1 2.6 2.6v5.2H524v-13c0-5.7-2.5-8.2-8.2-8.2h-51.6v13.4h7.8v63.9zm58.9-76v5.9h1.6v-5.9h2.7v-1.2h-7v1.2h2.7zm5.7-1.2v7.1h1.5v-5.7l2.3 5.7h1.3l2.3-5.7v5.7h1.5v-7.1h-2.3l-2.1 5.1-2.1-5.1h-2.4z"],telegram:[496,512,[],"f2c6","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm121.8 169.9l-40.7 191.8c-3 13.6-11.1 16.9-22.4 10.5l-62-45.7-29.9 28.8c-3.3 3.3-6.1 6.1-12.5 6.1l4.4-63.1 114.9-103.8c5-4.4-1.1-6.9-7.7-2.5l-142 89.4-61.2-19.1c-13.3-4.2-13.6-13.3 2.8-19.7l239.1-92.2c11.1-4 20.8 2.7 17.2 19.5z"],"telegram-plane":[448,512,[],"f3fe","M446.7 98.6l-67.6 318.8c-5.1 22.5-18.4 28.1-37.3 17.5l-103-75.9-49.7 47.8c-5.5 5.5-10.1 10.1-20.7 10.1l7.4-104.9 190.9-172.5c8.3-7.4-1.8-11.5-12.9-4.1L117.8 284 16.2 252.2c-22.1-6.9-22.5-22.1 4.6-32.7L418.2 66.4c18.4-6.9 34.5 4.1 28.5 32.2z"],"tencent-weibo":[384,512,[],"f1d5","M72.3 495.8c1.4 19.9-27.6 22.2-29.7 2.9C31 368.8 73.7 259.2 144 185.5c-15.6-34 9.2-77.1 50.6-77.1 30.3 0 55.1 24.6 55.1 55.1 0 44-49.5 70.8-86.9 45.1-65.7 71.3-101.4 169.8-90.5 287.2zM192 .1C66.1.1-12.3 134.3 43.7 242.4 52.4 259.8 79 246.9 70 229 23.7 136.4 91 29.8 192 29.8c75.4 0 136.9 61.4 136.9 136.9 0 90.8-86.9 153.9-167.7 133.1-19.1-4.1-25.6 24.4-6.6 29.1 110.7 23.2 204-60 204-162.3C358.6 74.7 284 .1 192 .1z"],themeisle:[512,512,[],"f2b2","M208 88.286c0-10 6.286-21.714 17.715-21.714 11.142 0 17.714 11.714 17.714 21.714 0 10.285-6.572 21.714-17.714 21.714C214.286 110 208 98.571 208 88.286zm304 160c0 36.001-11.429 102.286-36.286 129.714-22.858 24.858-87.428 61.143-120.857 70.572l-1.143.286v32.571c0 16.286-12.572 30.571-29.143 30.571-10 0-19.429-5.714-24.572-14.286-5.427 8.572-14.856 14.286-24.856 14.286-10 0-19.429-5.714-24.858-14.286-5.142 8.572-14.571 14.286-24.57 14.286-10.286 0-19.429-5.714-24.858-14.286-5.143 8.572-14.571 14.286-24.571 14.286-18.857 0-29.429-15.714-29.429-32.857-16.286 12.285-35.715 19.428-56.571 19.428-22 0-43.429-8.285-60.286-22.857 10.285-.286 20.571-2.286 30.285-5.714-20.857-5.714-39.428-18.857-52-36.286 21.37 4.645 46.209 1.673 67.143-11.143-22-22-56.571-58.857-68.572-87.428C1.143 321.714 0 303.714 0 289.429c0-49.714 20.286-160 86.286-160 10.571 0 18.857 4.858 23.143 14.857a158.792 158.792 0 0 1 12-15.428c2-2.572 5.714-5.429 7.143-8.286 7.999-12.571 11.714-21.142 21.714-34C182.571 45.428 232 17.143 285.143 17.143c6 0 12 .285 17.714 1.143C313.714 6.571 328.857 0 344.572 0c14.571 0 29.714 6 40 16.286.857.858 1.428 2.286 1.428 3.428 0 3.714-10.285 13.429-12.857 16.286 4.286 1.429 15.714 6.858 15.714 12 0 2.857-2.857 5.143-4.571 7.143 31.429 27.714 49.429 67.143 56.286 108 4.286-5.143 10.285-8.572 17.143-8.572 10.571 0 20.857 7.144 28.571 14.001C507.143 187.143 512 221.714 512 248.286zM188 89.428c0 18.286 12.571 37.143 32.286 37.143 19.714 0 32.285-18.857 32.285-37.143 0-18-12.571-36.857-32.285-36.857-19.715 0-32.286 18.858-32.286 36.857zM237.714 194c0-19.714 3.714-39.143 8.571-58.286-52.039 79.534-13.531 184.571 68.858 184.571 21.428 0 42.571-7.714 60-20 2-7.429 3.714-14.857 3.714-22.572 0-14.286-6.286-21.428-20.572-21.428-4.571 0-9.143.857-13.429 1.714-63.343 12.668-107.142 3.669-107.142-63.999zm-41.142 254.858c0-11.143-8.858-20.857-20.286-20.857-11.429 0-20 9.715-20 20.857v32.571c0 11.143 8.571 21.142 20 21.142 11.428 0 20.286-9.715 20.286-21.142v-32.571zm49.143 0c0-11.143-8.572-20.857-20-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20-10 20-21.142v-32.571zm49.713 0c0-11.143-8.857-20.857-20.285-20.857-11.429 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.857 21.142 20.286 21.142 11.428 0 20.285-9.715 20.285-21.142v-32.571zm49.715 0c0-11.143-8.857-20.857-20.286-20.857-11.428 0-20.286 9.715-20.286 20.857v32.571c0 11.143 8.858 21.142 20.286 21.142 11.429 0 20.286-10 20.286-21.142v-32.571zM421.714 286c-30.857 59.142-90.285 102.572-158.571 102.572-96.571 0-160.571-84.572-160.571-176.572 0-16.857 2-33.429 6-49.714-20 33.715-29.714 72.572-29.714 111.429 0 60.286 24.857 121.715 71.429 160.857 5.143-9.714 14.857-16.286 26-16.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.571-14.286 24.858-14.286 10 0 19.428 5.714 24.571 14.286 5.429-8.571 14.857-14.286 24.858-14.286 10 0 19.428 5.714 24.857 14.286 5.143-8.571 14.571-14.286 24.572-14.286 10.857 0 20.857 6.572 25.714 16 43.427-36.286 68.569-92 71.426-148.286zm10.572-99.714c0-53.714-34.571-105.714-92.572-105.714-30.285 0-58.571 15.143-78.857 36.857C240.862 183.812 233.41 254 302.286 254c28.805 0 97.357-28.538 84.286 36.857 28.857-26 45.714-65.714 45.714-104.571z"],trello:[448,512,[],"f181","M392 32H56C25.1 32 0 57.1 0 88v336c0 30.9 25.1 56 56 56h336c30.9 0 56-25.1 56-56V88c0-30.9-25.1-56-56-56zM194.9 371.4c0 14.8-12 26.9-26.9 26.9H85.1c-14.8 0-26.9-12-26.9-26.9V117.1c0-14.8 12-26.9 26.9-26.9H168c14.8 0 26.9 12 26.9 26.9v254.3zm194.9-112c0 14.8-12 26.9-26.9 26.9H280c-14.8 0-26.9-12-26.9-26.9V117.1c0-14.8 12-26.9 26.9-26.9h82.9c14.8 0 26.9 12 26.9 26.9v142.3z"],tripadvisor:[576,512,[],"f262","M166.4 280.521c0 13.236-10.73 23.966-23.966 23.966s-23.966-10.73-23.966-23.966 10.73-23.966 23.966-23.966 23.966 10.729 23.966 23.966zm264.962-23.956c-13.23 0-23.956 10.725-23.956 23.956 0 13.23 10.725 23.956 23.956 23.956 13.23 0 23.956-10.725 23.956-23.956-.001-13.231-10.726-23.956-23.956-23.956zm89.388 139.49c-62.667 49.104-153.276 38.109-202.379-24.559l-30.979 46.325-30.683-45.939c-48.277 60.39-135.622 71.891-197.885 26.055-64.058-47.158-77.759-137.316-30.601-201.374A186.762 186.762 0 0 0 0 139.416l90.286-.05a358.48 358.48 0 0 1 197.065-54.03 350.382 350.382 0 0 1 192.181 53.349l96.218.074a185.713 185.713 0 0 0-28.352 57.649c46.793 62.747 34.964 151.37-26.648 199.647zM259.366 281.761c-.007-63.557-51.535-115.075-115.092-115.068C80.717 166.7 29.2 218.228 29.206 281.785c.007 63.557 51.535 115.075 115.092 115.068 63.513-.075 114.984-51.539 115.068-115.052v-.04zm28.591-10.455c5.433-73.44 65.51-130.884 139.12-133.022a339.146 339.146 0 0 0-139.727-27.812 356.31 356.31 0 0 0-140.164 27.253c74.344 1.582 135.299 59.424 140.771 133.581zm251.706-28.767c-21.992-59.634-88.162-90.148-147.795-68.157-59.634 21.992-90.148 88.162-68.157 147.795v.032c22.038 59.607 88.198 90.091 147.827 68.113 59.615-22.004 90.113-88.162 68.125-147.783zm-326.039 37.975v.115c-.057 39.328-31.986 71.163-71.314 71.106-39.328-.057-71.163-31.986-71.106-71.314.057-39.328 31.986-71.163 71.314-71.106 39.259.116 71.042 31.94 71.106 71.199zm-24.512 0v-.084c-.051-25.784-20.994-46.645-46.778-46.594-25.784.051-46.645 20.994-46.594 46.777.051 25.784 20.994 46.645 46.777 46.594 25.726-.113 46.537-20.968 46.595-46.693zm313.423 0v.048c-.02 39.328-31.918 71.194-71.247 71.173s-71.194-31.918-71.173-71.247c.02-39.328 31.918-71.194 71.247-71.173 39.29.066 71.121 31.909 71.173 71.199zm-24.504-.008c-.009-25.784-20.918-46.679-46.702-46.67-25.784.009-46.679 20.918-46.67 46.702.009 25.784 20.918 46.678 46.702 46.67 25.765-.046 46.636-20.928 46.67-46.693v-.009z"],tumblr:[320,512,[],"f173","M309.8 480.3c-13.6 14.5-50 31.7-97.4 31.7-120.8 0-147-88.8-147-140.6v-144H17.9c-5.5 0-10-4.5-10-10v-68c0-7.2 4.5-13.6 11.3-16 62-21.8 81.5-76 84.3-117.1.8-11 6.5-16.3 16.1-16.3h70.9c5.5 0 10 4.5 10 10v115.2h83c5.5 0 10 4.4 10 9.9v81.7c0 5.5-4.5 10-10 10h-83.4V360c0 34.2 23.7 53.6 68 35.8 4.8-1.9 9-3.2 12.7-2.2 3.5.9 5.8 3.4 7.4 7.9l22 64.3c1.8 5 3.3 10.6-.4 14.5z"],"tumblr-square":[448,512,[],"f174","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-82.3 364.2c-8.5 9.1-31.2 19.8-60.9 19.8-75.5 0-91.9-55.5-91.9-87.9v-90h-29.7c-3.4 0-6.2-2.8-6.2-6.2v-42.5c0-4.5 2.8-8.5 7.1-10 38.8-13.7 50.9-47.5 52.7-73.2.5-6.9 4.1-10.2 10-10.2h44.3c3.4 0 6.2 2.8 6.2 6.2v72h51.9c3.4 0 6.2 2.8 6.2 6.2v51.1c0 3.4-2.8 6.2-6.2 6.2h-52.1V321c0 21.4 14.8 33.5 42.5 22.4 3-1.2 5.6-2 8-1.4 2.2.5 3.6 2.1 4.6 4.9l13.8 40.2c1 3.2 2 6.7-.3 9.1z"],twitch:[448,512,[],"f1e8","M40.1 32L10 108.9v314.3h107V480h60.2l56.8-56.8h87l117-117V32H40.1zm357.8 254.1L331 353H224l-56.8 56.8V353H76.9V72.1h321v214zM331 149v116.9h-40.1V149H331zm-107 0v116.9h-40.1V149H224z"],twitter:[512,512,[],"f099","M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"],"twitter-square":[448,512,[],"f081","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z"],typo3:[433,512,[],"f42b","M330.8 341c-7 2.3-11.6 2.3-18.5 2.3-57.2 0-140.6-198.5-140.6-264.9 0-24.7 5.4-32.4 13.9-39.4-69.5 8.5-149.3 34-176.3 66.4-5.4 7.7-9.3 20.8-9.3 37.1C0 246 106.8 480 184.1 480c36.3 0 97.3-59.5 146.7-139M294.5 32c71.8 0 138.8 11.6 138.8 52.5 0 82.6-52.5 182.3-78.8 182.3-47.9 0-101.7-132.1-101.7-198.5 0-30.9 11.6-36.3 41.7-36.3"],uber:[448,512,[],"f402","M414.1 32H33.9C15.2 32 0 47.2 0 65.9V446c0 18.8 15.2 34 33.9 34H414c18.7 0 33.9-15.2 33.9-33.9V65.9C448 47.2 432.8 32 414.1 32zM237.6 391.1C163 398.6 96.4 344.2 88.9 269.6h94.4V290c0 3.7 3 6.8 6.8 6.8H258c3.7 0 6.8-3 6.8-6.8v-67.9c0-3.7-3-6.8-6.8-6.8h-67.9c-3.7 0-6.8 3-6.8 6.8v20.4H88.9c7-69.4 65.4-122.2 135.1-122.2 69.7 0 128.1 52.8 135.1 122.2 7.5 74.5-46.9 141.1-121.5 148.6z"],uikit:[448,512,[],"f403","M443.9 128v256L218 512 0 384V169.7l87.6 45.1v117l133.5 75.5 135.8-75.5v-151l-101.1-57.6 87.6-53.1L443.9 128zM308.6 49.1L223.8 0l-88.6 54.8 86 47.3 87.4-53z"],uniregistry:[384,512,[],"f404","M281.1 220.1H384v-14.8H281.1v14.8zm0-37.1H384v-12.4H281.1V183zm0 74.2H384v-17.3H281.1v17.3zm-157.7 86.7H8.5c2.6 8.5 5.8 16.8 9.6 24.8h138.3c-12.9-5.7-24.1-14.2-33-24.8m145.7-12.4h109.7c1.8-7.3 3.1-14.7 3.9-22.3H278.3c-2.1 7.9-5.2 15.4-9.2 22.3m-41.5 37.1H367c3.7-8 5.8-16.2 8.5-24.8h-115c-8.8 10.7-20.1 19.2-32.9 24.8M384 32H281.1v2.5H384V32zM192 480c39.5 0 76.2-11.8 106.8-32.2H85.3C115.8 468.2 152.5 480 192 480m89.1-334.2H384V136H281.1v9.8zm0-37.1H384v-7.4H281.1v7.4zm0-37.1H384v-4.9H281.1v4.9zm-178.2 99H0V183h102.9v-12.4zM38.8 405.7h305.3c6.7-8.5 12.6-17.6 17.8-27.2H23c5.2 9.6 9.2 18.7 15.8 27.2m64.1-118.8v-12.4H0v12.4c0 2.5 0 5 .1 7.4h103.1c-.2-2.4-.3-4.9-.3-7.4m178.2 0c0 2.5-.1 5-.4 7.4h103.1c.1-2.5.2-4.9.2-7.4v-12.4H281.1v12.4zm-203 156h227.7c11.8-8.7 22.7-18.6 32.2-29.7H44.9c9.6 11 21.4 21 33.2 29.7m24.8-376.2H0v4.9h102.9v-4.9zm0-34.7H0v2.5h102.9V32zm0 173.3H0v14.8h102.9v-14.8zm0 34.6H0v17.3h102.9v-17.3zm0-103.9H0v9.9h102.9V136zm0-34.7H0v7.4h102.9v-7.4zm2.8 207.9H1.3c.9 7.6 2.2 15 3.9 22.3h109.7c-4-6.9-7.2-14.4-9.2-22.3"],untappd:[640,512,[],"f405","M401.3 49.9c-79.8 160.1-84.6 152.5-87.9 173.2l-5.2 32.8c-1.9 12-6.6 23.5-13.7 33.4L145.6 497.1c-7.6 10.6-20.4 16.2-33.4 14.6-40.3-5-77.8-32.2-95.3-68.5-5.7-11.8-4.5-25.8 3.1-36.4l148.9-207.9c7.1-9.9 16.4-18 27.2-23.7l29.3-15.5c18.5-9.8 9.7-11.9 135.6-138.9 1-4.8 1-7.3 3.6-8 3-.7 6.6-1 6.3-4.6l-.4-4.6c-.2-1.9 1.3-3.6 3.2-3.6 4.5-.1 13.2 1.2 25.6 10 12.3 8.9 16.4 16.8 17.7 21.1.6 1.8-.6 3.7-2.4 4.2l-4.5 1.1c-3.4.9-2.5 4.4-2.3 7.4.1 2.8-2.3 3.6-6.5 6.1zM230.1 36.4c3.4.9 2.5 4.4 2.3 7.4-.2 2.7 2.1 3.5 6.4 6 7.9 15.9 15.3 30.5 22.2 44 .7 1.3 2.3 1.5 3.3.5 11.2-12 24.6-26.2 40.5-42.6 1.3-1.4 1.4-3.5.1-4.9-8-8.2-16.5-16.9-25.6-26.1-1-4.7-1-7.3-3.6-8-3-.8-6.6-1-6.3-4.6.3-3.3 1.4-8.1-2.8-8.2-4.5-.1-13.2 1.1-25.6 10-12.3 8.9-16.4 16.8-17.7 21.1-1.4 4.2 3.6 4.6 6.8 5.4zM620 406.7L471.2 198.8c-13.2-18.5-26.6-23.4-56.4-39.1-11.2-5.9-14.2-10.9-30.5-28.9-1-1.1-2.9-.9-3.6.5-46.3 88.8-47.1 82.8-49 94.8-1.7 10.7-1.3 20 .3 29.8 1.9 12 6.6 23.5 13.7 33.4l148.9 207.9c7.6 10.6 20.2 16.2 33.1 14.7 40.3-4.9 78-32 95.7-68.6 5.4-11.9 4.3-25.9-3.4-36.6z"],usb:[640,512,[],"f287","M641.5 256c0 3.1-1.7 6.1-4.5 7.5L547.9 317c-1.4.8-2.8 1.4-4.5 1.4-1.4 0-3.1-.3-4.5-1.1-2.8-1.7-4.5-4.5-4.5-7.8v-35.6H295.7c25.3 39.6 40.5 106.9 69.6 106.9H392V354c0-5 3.9-8.9 8.9-8.9H490c5 0 8.9 3.9 8.9 8.9v89.1c0 5-3.9 8.9-8.9 8.9h-89.1c-5 0-8.9-3.9-8.9-8.9v-26.7h-26.7c-75.4 0-81.1-142.5-124.7-142.5H140.3c-8.1 30.6-35.9 53.5-69 53.5C32 327.3 0 295.3 0 256s32-71.3 71.3-71.3c33.1 0 61 22.8 69 53.5 39.1 0 43.9 9.5 74.6-60.4C255 88.7 273 95.7 323.8 95.7c7.5-20.9 27-35.6 50.4-35.6 29.5 0 53.5 23.9 53.5 53.5s-23.9 53.5-53.5 53.5c-23.4 0-42.9-14.8-50.4-35.6H294c-29.1 0-44.3 67.4-69.6 106.9h310.1v-35.6c0-3.3 1.7-6.1 4.5-7.8 2.8-1.7 6.4-1.4 8.9.3l89.1 53.5c2.8 1.1 4.5 4.1 4.5 7.2z"],ussunnah:[512,512,[],"f407","M156.8 285.1l5.7 14.4h-8.2c-1.3-3.2-3.1-7.7-3.8-9.5-2.5-6.3-1.1-8.4 0-10 1.9-2.7 3.2-4.4 3.6-5.2 0 2.2.8 5.7 2.7 10.3zm297.3 18.8c-2.1 13.8-5.7 27.1-10.5 39.7l43 23.4-44.8-18.8c-5.3 13.2-12 25.6-19.9 37.2l34.2 30.2-36.8-26.4c-8.4 11.8-18 22.6-28.7 32.3l24.9 34.7-28.1-31.8c-11 9.6-23.1 18-36.1 25.1l15.7 37.2-19.3-35.3c-13.1 6.8-27 12.1-41.6 15.9l6.7 38.4-10.5-37.4c-14.3 3.4-29.2 5.3-44.5 5.4L256 512l-1.9-38.4c-15.3-.1-30.2-2-44.5-5.3L199 505.6l6.7-38.2c-14.6-3.7-28.6-9.1-41.7-15.8l-19.2 35.1 15.6-37c-13-7-25.2-15.4-36.2-25.1l-27.9 31.6 24.7-34.4c-10.7-9.7-20.4-20.5-28.8-32.3l-36.5 26.2 33.9-29.9c-7.9-11.6-14.6-24.1-20-37.3l-44.4 18.7L67.8 344c-4.8-12.7-8.4-26.1-10.5-39.9l-51 9 50.3-14.2c-1.1-8.5-1.7-17.1-1.7-25.9 0-4.7.2-9.4.5-14.1L0 256l56-2.8c1.3-13.1 3.8-25.8 7.5-38.1L6.4 199l58.9 10.4c4-12 9.1-23.5 15.2-34.4l-55.1-30 58.3 24.6C90 159 97.2 149.2 105.3 140L55.8 96.4l53.9 38.7c8.1-8.6 17-16.5 26.6-23.6l-40-55.6 45.6 51.6c9.5-6.6 19.7-12.3 30.3-17.2l-27.3-64.9 33.8 62.1c10.5-4.4 21.4-7.9 32.7-10.4L199 6.4l19.5 69.2c11-2.1 22.3-3.2 33.8-3.4L256 0l3.6 72.2c11.5.2 22.8 1.4 33.8 3.5L313 6.4l-12.4 70.7c11.3 2.6 22.2 6.1 32.6 10.5l33.9-62.2-27.4 65.1c10.6 4.9 20.7 10.7 30.2 17.2l45.8-51.8-40.1 55.9c9.5 7.1 18.4 15 26.5 23.6l54.2-38.9-49.7 43.9c8 9.1 15.2 18.9 21.5 29.4l58.7-24.7-55.5 30.2c6.1 10.9 11.1 22.3 15.1 34.3l59.3-10.4-57.5 16.2c3.7 12.2 6.2 24.9 7.5 37.9L512 256l-56 2.8c.3 4.6.5 9.3.5 14.1 0 8.7-.6 17.3-1.6 25.8l50.7 14.3-51.5-9.1zm-21.8-31c0-97.5-79-176.5-176.5-176.5s-176.5 79-176.5 176.5 79 176.5 176.5 176.5 176.5-79 176.5-176.5zm-24 0c0 84.3-68.3 152.6-152.6 152.6s-152.6-68.3-152.6-152.6 68.3-152.6 152.6-152.6 152.6 68.3 152.6 152.6zM195 241c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-40.7-19c0 2.1 1.3 3.8 3.6 5.1 3.5 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.5 6.8-9.6 10.9-9.6 12.6zm-19 0c0 2.1 1.3 3.8 3.6 5.1 3.3 1.9 6.2 4.6 8.2 8.2 2.8-5.7 4.3-9.5 4.3-11.2 0-2.2-1.1-4.4-3.2-7-2.1-2.5-3.2-5.2-3.3-7.7-6.4 6.8-9.6 10.9-9.6 12.6zm204.9 87.9c-8.4-3-8.7-6.8-8.7-15.6V182c-8.2 12.5-14.2 18.6-18 18.6 6.3 14.4 9.5 23.9 9.5 28.3v64.3c0 2.2-2.2 6.5-4.7 6.5h-18c-2.8-7.5-10.2-26.9-15.3-40.3-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3 2.6 6.7 6.4 16.5 7.9 20.2h-9.2c-3.9-10.4-9.6-25.4-11.8-31.1-2 2.5-7.2 9.2-10.7 13.7 2.4 1.6 4.1 3.6 5.2 6.3.8 2 2.8 7.3 4.3 10.9H256c-1.5-4.1-5.6-14.6-8.4-22-2 2.5-7.2 9.2-10.7 13.7 2.5 1.6 4.3 3.6 5.2 6.3.2.6.5 1.4.6 1.7H225c-4.6-13.9-11.4-27.7-11.4-34.1 0-2.2.3-5.1 1.1-8.2-8.8 10.8-14 15.9-14 25 0 7.5 10.4 28.3 10.4 33.3 0 1.7-.5 3.3-1.4 4.9-9.6-12.7-15.5-20.7-18.8-20.7h-12l-11.2-28c-3.8-9.6-5.7-16-5.7-18.8 0-3.8.5-7.7 1.7-12.2-1 1.3-3.7 4.7-5.5 7.1-.8-2.1-3.1-7.7-4.6-11.5-2.1 2.5-7.5 9.1-11.2 13.6.9 2.3 3.3 8.1 4.9 12.2-2.5 3.3-9.1 11.8-13.6 17.7-4 5.3-5.8 13.3-2.7 21.8 2.5 6.7 2 7.9-1.7 14.1H191c5.5 0 14.3 14 15.5 22 13.2-16 15.4-19.6 16.8-21.6h107c3.9 0 7.2-1.9 9.9-5.8zm20.1-26.6V181.7c-9 12.5-15.9 18.6-20.7 18.6 7.1 14.4 10.7 23.9 10.7 28.3v66.3c0 17.5 8.6 20.4 24 20.4 8.1 0 12.5-.8 13.7-2.7-4.3-1.6-7.6-2.5-9.9-3.3-8.1-3.2-17.8-7.4-17.8-26z"],vaadin:[448,512,[],"f408","M224.5 140.7c1.5-17.6 4.9-52.7 49.8-52.7h98.6c20.7 0 32.1-7.8 32.1-21.6V54.1c0-12.2 9.3-22.1 21.5-22.1S448 41.9 448 54.1v36.5c0 42.9-21.5 62-66.8 62H280.7c-30.1 0-33 14.7-33 27.1 0 1.3-.1 2.5-.2 3.7-.7 12.3-10.9 22.2-23.4 22.2s-22.7-9.8-23.4-22.2c-.1-1.2-.2-2.4-.2-3.7 0-12.3-3-27.1-33-27.1H66.8c-45.3 0-66.8-19.1-66.8-62V54.1C0 41.9 9.4 32 21.6 32s21.5 9.9 21.5 22.1v12.3C43.1 80.2 54.5 88 75.2 88h98.6c44.8 0 48.3 35.1 49.8 52.7h.9zM224 456c11.5 0 21.4-7 25.7-16.3 1.1-1.8 97.1-169.6 98.2-171.4 11.9-19.6-3.2-44.3-27.2-44.3-13.9 0-23.3 6.4-29.8 20.3L224 362l-66.9-117.7c-6.4-13.9-15.9-20.3-29.8-20.3-24 0-39.1 24.6-27.2 44.3 1.1 1.9 97.1 169.6 98.2 171.4 4.3 9.3 14.2 16.3 25.7 16.3z"],viacoin:[384,512,[],"f237","M384 32h-64l-80.7 192h-94.5L64 32H0l48 112H0v48h68.5l13.8 32H0v48h102.8L192 480l89.2-208H384v-48h-82.3l13.8-32H384v-48h-48l48-112zM192 336l-27-64h54l-27 64z"],viadeo:[448,512,[],"f2a9","M276.2 150.5v.7C258.3 98.6 233.6 47.8 205.4 0c43.3 29.2 67 100 70.8 150.5zm32.7 121.7c7.6 18.2 11 37.5 11 57 0 77.7-57.8 141-137.8 139.4l3.8-.3c74.2-46.7 109.3-118.6 109.3-205.1 0-38.1-6.5-75.9-18.9-112 1 11.7 1 23.7 1 35.4 0 91.8-18.1 241.6-116.6 280C95 455.2 49.4 398 49.4 329.2c0-75.6 57.4-142.3 135.4-142.3 16.8 0 33.7 3.1 49.1 9.6 1.7-15.1 6.5-29.9 13.4-43.3-19.9-7.2-41.2-10.7-62.5-10.7-161.5 0-238.7 195.9-129.9 313.7 67.9 74.6 192 73.9 259.8 0 56.6-61.3 60.9-142.4 36.4-201-12.7 8-27.1 13.9-42.2 17zM418.1 11.7c-31 66.5-81.3 47.2-115.8 80.1-12.4 12-20.6 34-20.6 50.5 0 14.1 4.5 27.1 12 38.8 47.4-11 98.3-46 118.2-90.7-.7 5.5-4.8 14.4-7.2 19.2-20.3 35.7-64.6 65.6-99.7 84.9 14.8 14.4 33.7 25.8 55 25.8 79 0 110.1-134.6 58.1-208.6z"],"viadeo-square":[448,512,[],"f2aa","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM280.7 381.2c-42.4 46.2-120 46.6-162.4 0-68-73.6-19.8-196.1 81.2-196.1 13.3 0 26.6 2.1 39.1 6.7-4.3 8.4-7.3 17.6-8.4 27.1-9.7-4.1-20.2-6-30.7-6-48.8 0-84.6 41.7-84.6 88.9 0 43 28.5 78.7 69.5 85.9 61.5-24 72.9-117.6 72.9-175 0-7.3 0-14.8-.6-22.1-11.2-32.9-26.6-64.6-44.2-94.5 27.1 18.3 41.9 62.5 44.2 94.1v.4c7.7 22.5 11.8 46.2 11.8 70 0 54.1-21.9 99-68.3 128.2l-2.4.2c50 1 86.2-38.6 86.2-87.2 0-12.2-2.1-24.3-6.9-35.7 9.5-1.9 18.5-5.6 26.4-10.5 15.3 36.6 12.6 87.3-22.8 125.6zM309 233.7c-13.3 0-25.1-7.1-34.4-16.1 21.9-12 49.6-30.7 62.3-53 1.5-3 4.1-8.6 4.5-12-12.5 27.9-44.2 49.8-73.9 56.7-4.7-7.3-7.5-15.5-7.5-24.3 0-10.3 5.2-24.1 12.9-31.6 21.6-20.5 53-8.5 72.4-50 32.5 46.2 13.1 130.3-36.3 130.3z"],viber:[512,512,[],"f409","M444 49.9C431.3 38.2 379.9.9 265.3.4c0 0-135.1-8.1-200.9 52.3C27.8 89.3 14.9 143 13.5 209.5c-1.4 66.5-3.1 191.1 117 224.9h.1l-.1 51.6s-.8 20.9 13 25.1c16.6 5.2 26.4-10.7 42.3-27.8 8.7-9.4 20.7-23.2 29.8-33.7 82.2 6.9 145.3-8.9 152.5-11.2 16.6-5.4 110.5-17.4 125.7-142 15.8-128.6-7.6-209.8-49.8-246.5zM457.9 287c-12.9 104-89 110.6-103 115.1-6 1.9-61.5 15.7-131.2 11.2 0 0-52 62.7-68.2 79-5.3 5.3-11.1 4.8-11-5.7 0-6.9.4-85.7.4-85.7-.1 0-.1 0 0 0-101.8-28.2-95.8-134.3-94.7-189.8 1.1-55.5 11.6-101 42.6-131.6 55.7-50.5 170.4-43 170.4-43 96.9.4 143.3 29.6 154.1 39.4 35.7 30.6 53.9 103.8 40.6 211.1zm-139-80.8c.4 8.6-12.5 9.2-12.9.6-1.1-22-11.4-32.7-32.6-33.9-8.6-.5-7.8-13.4.7-12.9 27.9 1.5 43.4 17.5 44.8 46.2zm20.3 11.3c1-42.4-25.5-75.6-75.8-79.3-8.5-.6-7.6-13.5.9-12.9 58 4.2 88.9 44.1 87.8 92.5-.1 8.6-13.1 8.2-12.9-.3zm47 13.4c.1 8.6-12.9 8.7-12.9.1-.6-81.5-54.9-125.9-120.8-126.4-8.5-.1-8.5-12.9 0-12.9 73.7.5 133 51.4 133.7 139.2zM374.9 329v.2c-10.8 19-31 40-51.8 33.3l-.2-.3c-21.1-5.9-70.8-31.5-102.2-56.5-16.2-12.8-31-27.9-42.4-42.4-10.3-12.9-20.7-28.2-30.8-46.6-21.3-38.5-26-55.7-26-55.7-6.7-20.8 14.2-41 33.3-51.8h.2c9.2-4.8 18-3.2 23.9 3.9 0 0 12.4 14.8 17.7 22.1 5 6.8 11.7 17.7 15.2 23.8 6.1 10.9 2.3 22-3.7 26.6l-12 9.6c-6.1 4.9-5.3 14-5.3 14s17.8 67.3 84.3 84.3c0 0 9.1.8 14-5.3l9.6-12c4.6-6 15.7-9.8 26.6-3.7 14.7 8.3 33.4 21.2 45.8 32.9 7 5.7 8.6 14.4 3.8 23.6z"],vimeo:[448,512,[],"f40a","M403.2 32H44.8C20.1 32 0 52.1 0 76.8v358.4C0 459.9 20.1 480 44.8 480h358.4c24.7 0 44.8-20.1 44.8-44.8V76.8c0-24.7-20.1-44.8-44.8-44.8zM377 180.8c-1.4 31.5-23.4 74.7-66 129.4-44 57.2-81.3 85.8-111.7 85.8-18.9 0-34.8-17.4-47.9-52.3-25.5-93.3-36.4-148-57.4-148-2.4 0-10.9 5.1-25.4 15.2l-15.2-19.6c37.3-32.8 72.9-69.2 95.2-71.2 25.2-2.4 40.7 14.8 46.5 51.7 20.7 131.2 29.9 151 67.6 91.6 13.5-21.4 20.8-37.7 21.8-48.9 3.5-33.2-25.9-30.9-45.8-22.4 15.9-52.1 46.3-77.4 91.2-76 33.3.9 49 22.5 47.1 64.7z"],"vimeo-square":[448,512,[],"f194","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16.2 149.6c-1.4 31.1-23.2 73.8-65.3 127.9-43.5 56.5-80.3 84.8-110.4 84.8-18.7 0-34.4-17.2-47.3-51.6-25.2-92.3-35.9-146.4-56.7-146.4-2.4 0-10.8 5-25.1 15.1L64 192c36.9-32.4 72.1-68.4 94.1-70.4 24.9-2.4 40.2 14.6 46 51.1 20.5 129.6 29.6 149.2 66.8 90.5 13.4-21.2 20.6-37.2 21.5-48.3 3.4-32.8-25.6-30.6-45.2-22.2 15.7-51.5 45.8-76.5 90.1-75.1 32.9 1 48.4 22.4 46.5 64z"],"vimeo-v":[448,512,[],"f27d","M447.8 153.6c-2 43.6-32.4 103.3-91.4 179.1-60.9 79.2-112.4 118.8-154.6 118.8-26.1 0-48.2-24.1-66.3-72.3C100.3 250 85.3 174.3 56.2 174.3c-3.4 0-15.1 7.1-35.2 21.1L0 168.2c51.6-45.3 100.9-95.7 131.8-98.5 34.9-3.4 56.3 20.5 64.4 71.5 28.7 181.5 41.4 208.9 93.6 126.7 18.7-29.6 28.8-52.1 30.2-67.6 4.8-45.9-35.8-42.8-63.3-31 22-72.1 64.1-107.1 126.2-105.1 45.8 1.2 67.5 31.1 64.9 89.4z"],vine:[384,512,[],"f1ca","M384 254.7v52.1c-18.4 4.2-36.9 6.1-52.1 6.1-36.9 77.4-103 143.8-125.1 156.2-14 7.9-27.1 8.4-42.7-.8C137 452 34.2 367.7 0 102.7h74.5C93.2 261.8 139 343.4 189.3 404.5c27.9-27.9 54.8-65.1 75.6-106.9-49.8-25.3-80.1-80.9-80.1-145.6 0-65.6 37.7-115.1 102.2-115.1 114.9 0 106.2 127.9 81.6 181.5 0 0-46.4 9.2-63.5-20.5 3.4-11.3 8.2-30.8 8.2-48.5 0-31.3-11.3-46.6-28.4-46.6-18.2 0-30.8 17.1-30.8 50 .1 79.2 59.4 118.7 129.9 101.9z"],vk:[576,512,[],"f189","M545 117.7c3.7-12.5 0-21.7-17.8-21.7h-58.9c-15 0-21.9 7.9-25.6 16.7 0 0-30 73.1-72.4 120.5-13.7 13.7-20 18.1-27.5 18.1-3.7 0-9.4-4.4-9.4-16.9V117.7c0-15-4.2-21.7-16.6-21.7h-92.6c-9.4 0-15 7-15 13.5 0 14.2 21.2 17.5 23.4 57.5v86.8c0 19-3.4 22.5-10.9 22.5-20 0-68.6-73.4-97.4-157.4-5.8-16.3-11.5-22.9-26.6-22.9H38.8c-16.8 0-20.2 7.9-20.2 16.7 0 15.6 20 93.1 93.1 195.5C160.4 378.1 229 416 291.4 416c37.5 0 42.1-8.4 42.1-22.9 0-66.8-3.4-73.1 15.4-73.1 8.7 0 23.7 4.4 58.7 38.1 40 40 46.6 57.9 69 57.9h58.9c16.8 0 25.3-8.4 20.4-25-11.2-34.9-86.9-106.7-90.3-111.5-8.7-11.2-6.2-16.2 0-26.2.1-.1 72-101.3 79.4-135.6z"],vnv:[640,512,[],"f40b","M104.9 352c-34.1 0-46.4-30.4-46.4-30.4L2.6 210.1S-7.8 192 13 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.7-74.5c5.6-9.5 8.4-18.1 18.8-18.1h32.8c20.8 0 10.4 18.1 10.4 18.1l-55.8 111.5S174.2 352 140 352h-35.1zm395 0c-34.1 0-46.4-30.4-46.4-30.4l-55.9-111.5S387.2 192 408 192h32.8c10.4 0 13.2 8.7 18.8 18.1l36.7 74.5s5.2 13.1 21.1 13.1 21.1-13.1 21.1-13.1l36.8-74.5c5.6-9.5 8.4-18.1 18.8-18.1H627c20.8 0 10.4 18.1 10.4 18.1l-55.9 111.5S569.3 352 535.1 352h-35.2zM337.6 192c34.1 0 46.4 30.4 46.4 30.4l55.9 111.5s10.4 18.1-10.4 18.1h-32.8c-10.4 0-13.2-8.7-18.8-18.1l-36.7-74.5s-5.2-13.1-21.1-13.1c-15.9 0-21.1 13.1-21.1 13.1l-36.7 74.5c-5.6 9.4-8.4 18.1-18.8 18.1h-32.9c-20.8 0-10.4-18.1-10.4-18.1l55.9-111.5s12.2-30.4 46.4-30.4h35.1z"],vuejs:[448,512,[],"f41f","M356.9 64.3H280l-56 88.6-48-88.6H0L224 448 448 64.3h-91.1zm-301.2 32h53.8L224 294.5 338.4 96.3h53.8L224 384.5 55.7 96.3z"],weibo:[512,512,[],"f18a","M407 177.6c7.6-24-13.4-46.8-37.4-41.7-22 4.8-28.8-28.1-7.1-32.8 50.1-10.9 92.3 37.1 76.5 84.8-6.8 21.2-38.8 10.8-32-10.3zM214.8 446.7C108.5 446.7 0 395.3 0 310.4c0-44.3 28-95.4 76.3-143.7C176 67 279.5 65.8 249.9 161c-4 13.1 12.3 5.7 12.3 6 79.5-33.6 140.5-16.8 114 51.4-3.7 9.4 1.1 10.9 8.3 13.1 135.7 42.3 34.8 215.2-169.7 215.2zm143.7-146.3c-5.4-55.7-78.5-94-163.4-85.7-84.8 8.6-148.8 60.3-143.4 116s78.5 94 163.4 85.7c84.8-8.6 148.8-60.3 143.4-116zM347.9 35.1c-25.9 5.6-16.8 43.7 8.3 38.3 72.3-15.2 134.8 52.8 111.7 124-7.4 24.2 29.1 37 37.4 12 31.9-99.8-55.1-195.9-157.4-174.3zm-78.5 311c-17.1 38.8-66.8 60-109.1 46.3-40.8-13.1-58-53.4-40.3-89.7 17.7-35.4 63.1-55.4 103.4-45.1 42 10.8 63.1 50.2 46 88.5zm-86.3-30c-12.9-5.4-30 .3-38 12.9-8.3 12.9-4.3 28 8.6 34 13.1 6 30.8.3 39.1-12.9 8-13.1 3.7-28.3-9.7-34zm32.6-13.4c-5.1-1.7-11.4.6-14.3 5.4-2.9 5.1-1.4 10.6 3.7 12.9 5.1 2 11.7-.3 14.6-5.4 2.8-5.2 1.1-10.9-4-12.9z"],weixin:[576,512,[],"f1d7","M385.2 167.6c6.4 0 12.6.3 18.8 1.1C387.4 90.3 303.3 32 207.7 32 100.5 32 13 104.8 13 197.4c0 53.4 29.3 97.5 77.9 131.6l-19.3 58.6 68-34.1c24.4 4.8 43.8 9.7 68.2 9.7 6.2 0 12.1-.3 18.3-.8-4-12.9-6.2-26.6-6.2-40.8-.1-84.9 72.9-154 165.3-154zm-104.5-52.9c14.5 0 24.2 9.7 24.2 24.4 0 14.5-9.7 24.2-24.2 24.2-14.8 0-29.3-9.7-29.3-24.2.1-14.7 14.6-24.4 29.3-24.4zm-136.4 48.6c-14.5 0-29.3-9.7-29.3-24.2 0-14.8 14.8-24.4 29.3-24.4 14.8 0 24.4 9.7 24.4 24.4 0 14.6-9.6 24.2-24.4 24.2zM563 319.4c0-77.9-77.9-141.3-165.4-141.3-92.7 0-165.4 63.4-165.4 141.3S305 460.7 397.6 460.7c19.3 0 38.9-5.1 58.6-9.9l53.4 29.3-14.8-48.6C534 402.1 563 363.2 563 319.4zm-219.1-24.5c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.8 0 24.4 9.7 24.4 19.3 0 10-9.7 19.6-24.4 19.6zm107.1 0c-9.7 0-19.3-9.7-19.3-19.6 0-9.7 9.7-19.3 19.3-19.3 14.5 0 24.4 9.7 24.4 19.3.1 10-9.9 19.6-24.4 19.6z"],whatsapp:[448,512,[],"f232","M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z"],"whatsapp-square":[448,512,[],"f40c","M224 122.8c-72.7 0-131.8 59.1-131.9 131.8 0 24.9 7 49.2 20.2 70.1l3.1 5-13.3 48.6 49.9-13.1 4.8 2.9c20.2 12 43.4 18.4 67.1 18.4h.1c72.6 0 133.3-59.1 133.3-131.8 0-35.2-15.2-68.3-40.1-93.2-25-25-58-38.7-93.2-38.7zm77.5 188.4c-3.3 9.3-19.1 17.7-26.7 18.8-12.6 1.9-22.4.9-47.5-9.9-39.7-17.2-65.7-57.2-67.7-59.8-2-2.6-16.2-21.5-16.2-41s10.2-29.1 13.9-33.1c3.6-4 7.9-5 10.6-5 2.6 0 5.3 0 7.6.1 2.4.1 5.7-.9 8.9 6.8 3.3 7.9 11.2 27.4 12.2 29.4s1.7 4.3.3 6.9c-7.6 15.2-15.7 14.6-11.6 21.6 15.3 26.3 30.6 35.4 53.9 47.1 4 2 6.3 1.7 8.6-1 2.3-2.6 9.9-11.6 12.5-15.5 2.6-4 5.3-3.3 8.9-2 3.6 1.3 23.1 10.9 27.1 12.9s6.6 3 7.6 4.6c.9 1.9.9 9.9-2.4 19.1zM400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM223.9 413.2c-26.6 0-52.7-6.7-75.8-19.3L64 416l22.5-82.2c-13.9-24-21.2-51.3-21.2-79.3C65.4 167.1 136.5 96 223.9 96c42.4 0 82.2 16.5 112.2 46.5 29.9 30 47.9 69.8 47.9 112.2 0 87.4-72.7 158.5-160.1 158.5z"],whmcs:[448,512,[],"f40d","M448 161v-21.3l-28.5-8.8-2.2-10.4 20.1-20.7L427 80.4l-29 7.5-7.2-7.5 7.5-28.2-19.1-11.6-21.3 21-10.7-3.2-7-26.4h-22.6l-6.2 26.4-12.1 3.2-19.7-21-19.4 11 8.1 27.7-8.1 8.4-28.5-7.5-11 19.1 20.7 21-2.9 10.4-28.5 7.8-.3 21.7 28.8 7.5 2.4 12.1-20.1 19.9 10.4 18.5 29.6-7.5 7.2 8.6-8.1 26.9 19.9 11.6 19.4-20.4 11.6 2.9 6.7 28.5 22.6.3 6.7-28.8 11.6-3.5 20.7 21.6 20.4-12.1-8.8-28 7.8-8.1 28.8 8.8 10.3-20.1-20.9-18.8 2.2-12.1 29.1-7zm-119.2 45.2c-31.3 0-56.8-25.4-56.8-56.8s25.4-56.8 56.8-56.8 56.8 25.4 56.8 56.8c0 31.5-25.4 56.8-56.8 56.8zm72.3 16.4l46.9 14.5V277l-55.1 13.4-4.1 22.7 38.9 35.3-19.2 37.9-54-16.7-14.6 15.2 16.7 52.5-38.3 22.7-38.9-40.5-21.7 6.6-12.6 54-42.4-.5-12.6-53.6-21.7-5.6-36.4 38.4-37.4-21.7 15.2-50.5-13.7-16.1-55.5 14.1-19.7-34.8 37.9-37.4-4.8-22.8-54-14.1.5-40.9L54 219.9l5.7-19.7-38.9-39.4L41.5 125l53.6 14.1 15.2-15.7-15.2-52 36.4-20.7 36.8 39.4L191 84l11.6-52H245l11.6 45.9L234 72l-6.3-1.7-3.3 5.7-11 19.1-3.3 5.6 4.6 4.6 17.2 17.4-.3 1-23.8 6.5-6.2 1.7-.1 6.4-.2 12.9C153.8 161.6 118 204 118 254.7c0 58.3 47.3 105.7 105.7 105.7 50.5 0 92.7-35.4 103.2-82.8l13.2.2 6.9.1 1.6-6.7 5.6-24 1.9-.6 17.1 17.8 4.7 4.9 5.8-3.4 20.4-12.1 5.8-3.5-2-6.5-6.8-21.2z"],"wikipedia-w":[640,512,[],"f266","M640 51.2l-.3 12.2c-28.1.8-45 15.8-55.8 40.3-25 57.8-103.3 240-155.3 358.6H415l-81.9-193.1c-32.5 63.6-68.3 130-99.2 193.1-.3.3-15 0-15-.3C172 352.3 122.8 243.4 75.8 133.4 64.4 106.7 26.4 63.4.2 63.7c0-3.1-.3-10-.3-14.2h161.9v13.9c-19.2 1.1-52.8 13.3-43.3 34.2 21.9 49.7 103.6 240.3 125.6 288.6 15-29.7 57.8-109.2 75.3-142.8-13.9-28.3-58.6-133.9-72.8-160-9.7-17.8-36.1-19.4-55.8-19.7V49.8l142.5.3v13.1c-19.4.6-38.1 7.8-29.4 26.1 18.9 40 30.6 68.1 48.1 104.7 5.6-10.8 34.7-69.4 48.1-100.8 8.9-20.6-3.9-28.6-38.6-29.4.3-3.6 0-10.3.3-13.6 44.4-.3 111.1-.3 123.1-.6v13.6c-22.5.8-45.8 12.8-58.1 31.7l-59.2 122.8c6.4 16.1 63.3 142.8 69.2 156.7L559.2 91.8c-8.6-23.1-36.4-28.1-47.2-28.3V49.6l127.8 1.1.2.5z"],windows:[448,512,[],"f17a","M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z"],wordpress:[512,512,[],"f19a","M61.7 169.4l101.5 278C92.2 413 43.3 340.2 43.3 256c0-30.9 6.6-60.1 18.4-86.6zm337.9 75.9c0-26.3-9.4-44.5-17.5-58.7-10.8-17.5-20.9-32.4-20.9-49.9 0-19.6 14.8-37.8 35.7-37.8.9 0 1.8.1 2.8.2-37.9-34.7-88.3-55.9-143.7-55.9-74.3 0-139.7 38.1-177.8 95.9 5 .2 9.7.3 13.7.3 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l77.5 230.4L249.8 247l-33.1-90.8c-11.5-.7-22.3-2-22.3-2-11.5-.7-10.1-18.2 1.3-17.5 0 0 35.1 2.7 56 2.7 22.2 0 56.7-2.7 56.7-2.7 11.5-.7 12.8 16.2 1.4 17.5 0 0-11.5 1.3-24.3 2l76.9 228.7 21.2-70.9c9-29.4 16-50.5 16-68.7zm-139.9 29.3l-63.8 185.5c19.1 5.6 39.2 8.7 60.1 8.7 24.8 0 48.5-4.3 70.6-12.1-.6-.9-1.1-1.9-1.5-2.9l-65.4-179.2zm183-120.7c.9 6.8 1.4 14 1.4 21.9 0 21.6-4 45.8-16.2 76.2l-65 187.9C426.2 403 468.7 334.5 468.7 256c0-37-9.4-71.8-26-102.1zM504 256c0 136.8-111.3 248-248 248C119.2 504 8 392.7 8 256 8 119.2 119.2 8 256 8c136.7 0 248 111.2 248 248zm-11.4 0c0-130.5-106.2-236.6-236.6-236.6C125.5 19.4 19.4 125.5 19.4 256S125.6 492.6 256 492.6c130.5 0 236.6-106.1 236.6-236.6z"],"wordpress-simple":[512,512,[],"f411","M256 8C119.3 8 8 119.2 8 256c0 136.7 111.3 248 248 248s248-111.3 248-248C504 119.2 392.7 8 256 8zM33 256c0-32.3 6.9-63 19.3-90.7l106.4 291.4C84.3 420.5 33 344.2 33 256zm223 223c-21.9 0-43-3.2-63-9.1l66.9-194.4 68.5 187.8c.5 1.1 1 2.1 1.6 3.1-23.1 8.1-48 12.6-74 12.6zm30.7-327.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-21.9 0-58.7-2.8-58.7-2.8-12-.7-13.4 17.7-1.4 18.4 0 0 11.4 1.4 23.4 2.1l34.7 95.2L200.6 393l-81.2-241.5c13.4-.7 25.5-2.1 25.5-2.1 12-1.4 10.6-19.1-1.4-18.4 0 0-36.1 2.8-59.4 2.8-4.2 0-9.1-.1-14.4-.3C109.6 73 178.1 33 256 33c58 0 110.9 22.2 150.6 58.5-1-.1-1.9-.2-2.9-.2-21.9 0-37.4 19.1-37.4 39.6 0 18.4 10.6 33.9 21.9 52.3 8.5 14.8 18.4 33.9 18.4 61.5 0 19.1-7.3 41.2-17 72.1l-22.2 74.3-80.7-239.6zm81.4 297.2l68.1-196.9c12.7-31.8 17-57.2 17-79.9 0-8.2-.5-15.8-1.5-22.9 17.4 31.8 27.3 68.2 27.3 107 0 82.3-44.6 154.1-110.9 192.7z"],wpbeginner:[512,512,[],"f297","M462.799 322.374C519.01 386.682 466.961 480 370.944 480c-39.602 0-78.824-17.687-100.142-50.04-6.887.356-22.702.356-29.59 0C219.848 462.381 180.588 480 141.069 480c-95.49 0-148.348-92.996-91.855-157.626C-29.925 190.523 80.479 32 256.006 32c175.632 0 285.87 158.626 206.793 290.374zm-339.647-82.972h41.529v-58.075h-41.529v58.075zm217.18 86.072v-23.839c-60.506 20.915-132.355 9.198-187.589-33.971l.246 24.897c51.101 46.367 131.746 57.875 187.343 32.913zm-150.753-86.072h166.058v-58.075H189.579v58.075z"],wpexplorer:[512,512,[],"f2de","M512 256c0 141.2-114.7 256-256 256C114.8 512 0 397.3 0 256S114.7 0 256 0s256 114.7 256 256zm-32 0c0-123.2-100.3-224-224-224C132.5 32 32 132.5 32 256s100.5 224 224 224 224-100.5 224-224zM160.9 124.6l86.9 37.1-37.1 86.9-86.9-37.1 37.1-86.9zm110 169.1l46.6 94h-14.6l-50-100-48.9 100h-14l51.1-106.9-22.3-9.4 6-14 68.6 29.1-6 14.3-16.5-7.1zm-11.8-116.3l68.6 29.4-29.4 68.3L230 246l29.1-68.6zm80.3 42.9l54.6 23.1-23.4 54.3-54.3-23.1 23.1-54.3z"],wpforms:[448,512,[],"f298","M448 75.2v361.7c0 24.3-19 43.2-43.2 43.2H43.2C19.3 480 0 461.4 0 436.8V75.2C0 51.1 18.8 32 43.2 32h361.7c24 0 43.1 18.8 43.1 43.2zm-37.3 361.6V75.2c0-3-2.6-5.8-5.8-5.8h-9.3L285.3 144 224 94.1 162.8 144 52.5 69.3h-9.3c-3.2 0-5.8 2.8-5.8 5.8v361.7c0 3 2.6 5.8 5.8 5.8h361.7c3.2.1 5.8-2.7 5.8-5.8zM150.2 186v37H76.7v-37h73.5zm0 74.4v37.3H76.7v-37.3h73.5zm11.1-147.3l54-43.7H96.8l64.5 43.7zm210 72.9v37h-196v-37h196zm0 74.4v37.3h-196v-37.3h196zm-84.6-147.3l64.5-43.7H232.8l53.9 43.7zM371.3 335v37.3h-99.4V335h99.4z"],xbox:[512,512,[],"f412","M369.9 318.2c44.3 54.3 64.7 98.8 54.4 118.7-7.9 15.1-56.7 44.6-92.6 55.9-29.6 9.3-68.4 13.3-100.4 10.2-38.2-3.7-76.9-17.4-110.1-39C93.3 445.8 87 438.3 87 423.4c0-29.9 32.9-82.3 89.2-142.1 32-33.9 76.5-73.7 81.4-72.6 9.4 2.1 84.3 75.1 112.3 109.5zM188.6 143.8c-29.7-26.9-58.1-53.9-86.4-63.4-15.2-5.1-16.3-4.8-28.7 8.1-29.2 30.4-53.5 79.7-60.3 122.4-5.4 34.2-6.1 43.8-4.2 60.5 5.6 50.5 17.3 85.4 40.5 120.9 9.5 14.6 12.1 17.3 9.3 9.9-4.2-11-.3-37.5 9.5-64 14.3-39 53.9-112.9 120.3-194.4zm311.6 63.5C483.3 127.3 432.7 77 425.6 77c-7.3 0-24.2 6.5-36 13.9-23.3 14.5-41 31.4-64.3 52.8C367.7 197 427.5 283.1 448.2 346c6.8 20.7 9.7 41.1 7.4 52.3-1.7 8.5-1.7 8.5 1.4 4.6 6.1-7.7 19.9-31.3 25.4-43.5 7.4-16.2 15-40.2 18.6-58.7 4.3-22.5 3.9-70.8-.8-93.4zM141.3 43C189 40.5 251 77.5 255.6 78.4c.7.1 10.4-4.2 21.6-9.7 63.9-31.1 94-25.8 107.4-25.2-63.9-39.3-152.7-50-233.9-11.7-23.4 11.1-24 11.9-9.4 11.2z"],xing:[384,512,[],"f168","M162.7 210c-1.8 3.3-25.2 44.4-70.1 123.5-4.9 8.3-10.8 12.5-17.7 12.5H9.8c-7.7 0-12.1-7.5-8.5-14.4l69-121.3c.2 0 .2-.1 0-.3l-43.9-75.6c-4.3-7.8.3-14.1 8.5-14.1H100c7.3 0 13.3 4.1 18 12.2l44.7 77.5zM382.6 46.1l-144 253v.3L330.2 466c3.9 7.1.2 14.1-8.5 14.1h-65.2c-7.6 0-13.6-4-18-12.2l-92.4-168.5c3.3-5.8 51.5-90.8 144.8-255.2 4.6-8.1 10.4-12.2 17.5-12.2h65.7c8 0 12.3 6.7 8.5 14.1z"],"xing-square":[448,512,[],"f169","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM140.4 320.2H93.8c-5.5 0-8.7-5.3-6-10.3l49.3-86.7c.1 0 .1-.1 0-.2l-31.4-54c-3-5.6.2-10.1 6-10.1h46.6c5.2 0 9.5 2.9 12.9 8.7l31.9 55.3c-1.3 2.3-18 31.7-50.1 88.2-3.5 6.2-7.7 9.1-12.6 9.1zm219.7-214.1L257.3 286.8v.2l65.5 119c2.8 5.1.1 10.1-6 10.1h-46.6c-5.5 0-9.7-2.9-12.9-8.7l-66-120.3c2.3-4.1 36.8-64.9 103.4-182.3 3.3-5.8 7.4-8.7 12.5-8.7h46.9c5.7-.1 8.8 4.7 6 10z"],"y-combinator":[448,512,[],"f23b","M448 32v448H0V32h448zM236 287.5L313.5 142h-32.7L235 233c-4.7 9.3-9 18.3-12.8 26.8L210 233l-45.2-91h-35l76.7 143.8v94.5H236v-92.8z"],yahoo:[448,512,[],"f19e","M252 292l4 220c-12.7-2.2-23.5-3.9-32.3-3.9-8.4 0-19.2 1.7-32.3 3.9l4-220C140.4 197.2 85 95.2 21.4 0c11.9 3.1 23 3.9 33.2 3.9 9 0 20.4-.8 34.1-3.9 40.9 72.2 82.1 138.7 135 225.5C261 163.9 314.8 81.4 358.6 0c11.1 2.9 22 3.9 32.9 3.9 11.5 0 23.2-1 35-3.9C392.1 47.9 294.9 216.9 252 292z"],yandex:[256,512,[],"f413","M153.1 315.8L65.7 512H2l96-209.8c-45.1-22.9-75.2-64.4-75.2-141.1C22.7 53.7 90.8 0 171.7 0H254v512h-55.1V315.8h-45.8zm45.8-269.3h-29.4c-44.4 0-87.4 29.4-87.4 114.6 0 82.3 39.4 108.8 87.4 108.8h29.4V46.5z"],"yandex-international":[320,512,[],"f414","M129.5 512V345.9L18.5 48h55.8l81.8 229.7L250.2 0h51.3L180.8 347.8V512h-51.3z"],yelp:[384,512,[],"f1e9","M136.9 328c-1 .3-109.2 35.7-115.8 35.7-15.2-.9-18.5-16.2-19.9-31.2-1.5-14.2-1.4-29.8.3-46.8 1.9-18.8 5.5-45.1 24.2-44 4.8 0 67.1 25.9 112.7 44.4 17.1 6.8 18.6 35.8-1.5 41.9zm57.9-113.9c1.8 38.2-25.5 48.5-47.2 14.3L41.3 60.4c-1.5-6.6.3-12.4 5.3-17.4C62.2 26.5 146 3.2 168.1 8.9c7.5 1.9 12.1 6.1 13.8 12.6 1.3 8.3 11.5 167.4 12.9 192.6zm-1.4 164.8c0 4.6.2 116.4-1.7 121.5-2.3 6-7 9.7-14.3 11.2-10.1 1.7-27.1-1.9-51-10.7-22-8.1-56.7-21.5-49.3-42.5 2.8-6.9 51.4-62.8 77.3-93.6 12-15.2 39.8-5.5 39 14.1zm180.2-117.8c-5.6 3.7-110.8 28.2-118.1 30.6l.3-.6c-18.1 4.7-35.4-18.5-23.3-34.6 3.7-3.7 65.9-92.4 72.8-97 5.2-3.6 11.3-3.8 18.3-.6 18.4 8.8 55.1 63.1 57.4 84.6-.1 2.9 1.2 11.7-7.4 17.6zm10.1 130.7c-2.7 20.6-44.5 73.4-63.8 81-6.9 2.6-12.9 2-17.7-2-5-3.5-61.8-97.1-64.9-102.3-10.9-16.2 6.8-39.8 25.6-33.2 0 0 110.5 35.7 114.7 39.4 5.2 4.1 7.2 9.8 6.1 17.1z"],yoast:[448,512,[],"f2b1","M91.3 76h186l-7 18.9h-179c-39.7 0-71.9 31.6-71.9 70.3v205.4c0 35.4 24.9 70.3 84 70.3V460H91.3C41.2 460 0 419.8 0 370.5V165.2C0 115.9 40.7 76 91.3 76zm229.1-56h66.5C243.1 398.1 241.2 418.9 202.2 459.3c-20.8 21.6-49.3 31.7-78.3 32.7v-51.1c49.2-7.7 64.6-49.9 64.6-75.3 0-20.1.6-12.6-82.1-223.2h61.4L218.2 299 320.4 20zM448 161.5V460H234c6.6-9.6 10.7-16.3 12.1-19.4h182.5V161.5c0-32.5-17.1-51.9-48.2-62.9l6.7-17.6c41.7 13.6 60.9 43.1 60.9 80.5z"],youtube:[576,512,[],"f167","M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"],"youtube-square":[448,512,[],"f431","M186.8 202.1l95.2 54.1-95.2 54.1V202.1zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-42 176.3s0-59.6-7.6-88.2c-4.2-15.8-16.5-28.2-32.2-32.4C337.9 128 224 128 224 128s-113.9 0-142.2 7.7c-15.7 4.2-28 16.6-32.2 32.4-7.6 28.5-7.6 88.2-7.6 88.2s0 59.6 7.6 88.2c4.2 15.8 16.5 27.7 32.2 31.9C110.1 384 224 384 224 384s113.9 0 142.2-7.7c15.7-4.2 28-16.1 32.2-31.9 7.6-28.5 7.6-88.1 7.6-88.1z"]};!function(c){try{c()}catch(c){if(!e)throw c}}(function(){!function c(l,h){var v=Object.keys(h).reduce(function(c,l){var v=h[l];return v.icon?c[v.iconName]=v.icon:c[l]=v,c},{});"function"==typeof s.hooks.addPack?s.hooks.addPack(l,v):s.styles[l]=r({},s.styles[l]||{},v),"fas"===l&&c("fa",h)}("fab",f)})}(),function(){"use strict";var c={};try{"undefined"!=typeof window&&(c=window)}catch(c){}var l=(c.navigator||{}).userAgent,h=void 0===l?"":l,v=c,z=(~h.indexOf("MSIE")||h.indexOf("Trident/"),"___FONT_AWESOME___"),e=function(){try{return!0}catch(c){return!1}}(),a=[1,2,3,4,5,6,7,8,9,10],m=a.concat([11,12,13,14,15,16,17,18,19,20]);["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter"].concat(a.map(function(c){return c+"x"})).concat(m.map(function(c){return"w-"+c}));var t=v||{};t[z]||(t[z]={}),t[z].styles||(t[z].styles={}),t[z].hooks||(t[z].hooks={}),t[z].shims||(t[z].shims=[]);var s=t[z],r=Object.assign||function(c){for(var l=1;l<arguments.length;l++){var h=arguments[l];for(var v in h)Object.prototype.hasOwnProperty.call(h,v)&&(c[v]=h[v])}return c};var f={"address-book":[448,512,[],"f2b9","M436 160c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V48c0-26.51-21.49-48-48-48H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h20c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20v-64h20c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20v-64h20zm-74 304H54a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v404a6 6 0 0 1-6 6zM128 208c0-44.183 35.817-80 80-80s80 35.817 80 80-35.817 80-80 80-80-35.817-80-80zm208 133.477V360c0 13.255-10.745 24-24 24H104c-13.255 0-24-10.745-24-24v-18.523c0-22.026 14.99-41.225 36.358-46.567l35.657-8.914c29.101 20.932 74.509 26.945 111.97 0l35.657 8.914C321.01 300.252 336 319.452 336 341.477z"],"address-card":[512,512,[],"f2bb","M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zm-54-176H300c-6.627 0-12-5.373-12-12v-16c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v16c0 6.627-5.373 12-12 12zm0 72H300c-6.627 0-12-5.373-12-12v-16c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v16c0 6.627-5.373 12-12 12zM176 160c33.137 0 60 26.863 60 60s-26.863 60-60 60-60-26.863-60-60 26.863-60 60-60zm68.731 125.183l-26.742-6.686c-28.096 20.209-62.152 15.699-83.978 0l-26.742 6.686C91.243 289.189 80 303.589 80 320.108V334c0 9.941 8.059 18 18 18h156c9.941 0 18-8.059 18-18v-13.892c0-16.519-11.243-30.919-27.269-34.925z"],"arrow-alt-circle-down":[512,512,[],"f358","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm-32-316v116h-67c-10.7 0-16 12.9-8.5 20.5l99 99c4.7 4.7 12.3 4.7 17 0l99-99c7.6-7.6 2.2-20.5-8.5-20.5h-67V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12z"],"arrow-alt-circle-left":[512,512,[],"f359","M8 256c0 137 111 248 248 248s248-111 248-248S393 8 256 8 8 119 8 256zm448 0c0 110.5-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56s200 89.5 200 200zm-72-20v40c0 6.6-5.4 12-12 12H256v67c0 10.7-12.9 16-20.5 8.5l-99-99c-4.7-4.7-4.7-12.3 0-17l99-99c7.6-7.6 20.5-2.2 20.5 8.5v67h116c6.6 0 12 5.4 12 12z"],"arrow-alt-circle-right":[512,512,[],"f35a","M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm72 20v-40c0-6.6 5.4-12 12-12h116v-67c0-10.7 12.9-16 20.5-8.5l99 99c4.7 4.7 4.7 12.3 0 17l-99 99c-7.6 7.6-20.5 2.2-20.5-8.5v-67H140c-6.6 0-12-5.4-12-12z"],"arrow-alt-circle-up":[512,512,[],"f35b","M256 504c137 0 248-111 248-248S393 8 256 8 8 119 8 256s111 248 248 248zm0-448c110.5 0 200 89.5 200 200s-89.5 200-200 200S56 366.5 56 256 145.5 56 256 56zm20 328h-40c-6.6 0-12-5.4-12-12V256h-67c-10.7 0-16-12.9-8.5-20.5l99-99c4.7-4.7 12.3-4.7 17 0l99 99c7.6 7.6 2.2 20.5-8.5 20.5h-67v116c0 6.6-5.4 12-12 12z"],bell:[448,512,[],"f0f3","M425.403 330.939c-16.989-16.785-34.546-34.143-34.546-116.083 0-83.026-60.958-152.074-140.467-164.762A31.843 31.843 0 0 0 256 32c0-17.673-14.327-32-32-32s-32 14.327-32 32a31.848 31.848 0 0 0 5.609 18.095C118.101 62.783 57.143 131.831 57.143 214.857c0 81.933-17.551 99.292-34.543 116.078C-25.496 378.441 9.726 448 66.919 448H160c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64h93.08c57.19 0 92.415-69.583 44.323-117.061zM224 472c-13.234 0-24-10.766-24-24h48c0 13.234-10.766 24-24 24zm157.092-72H66.9c-16.762 0-25.135-20.39-13.334-32.191 28.585-28.585 51.577-55.724 51.577-152.952C105.143 149.319 158.462 96 224 96s118.857 53.319 118.857 118.857c0 97.65 23.221 124.574 51.568 152.952C406.278 379.661 397.783 400 381.092 400z"],"bell-slash":[576,512,[],"f1f6","M130.9 400c-16.762 0-25.135-20.39-13.334-32.191 25.226-25.226 46.094-49.338 50.649-121.48l-46.777-41.274a168.48 168.48 0 0 0-.296 9.802c0 81.933-17.551 99.292-34.543 116.078C38.504 378.441 73.726 448 130.919 448H224c0 35.346 28.654 64 64 64s64-28.654 64-64h44.777l-54.4-48H130.9zM288 472c-13.234 0-24-10.766-24-24h48c0 13.234-10.766 24-24 24zm283.867.553l-67.931-59.571c13.104-24.118 11.524-56.318-14.532-82.042-16.989-16.785-34.546-34.143-34.546-116.083 0-83.026-60.958-152.074-140.467-164.762A31.848 31.848 0 0 0 320 32c0-17.673-14.327-32-32-32s-32 14.327-32 32a31.848 31.848 0 0 0 5.609 18.095c-41.471 6.618-77.891 28.571-103.249 59.841L36.459 3.037c-5.058-4.436-12.777-3.956-17.24 1.071L3.056 22.313C-1.407 27.34-.925 35.012 4.134 39.447l535.408 469.516c5.058 4.436 12.777 3.956 17.24-1.071l16.163-18.205c4.462-5.027 3.98-12.699-1.078-17.134zM288 96c65.538 0 118.857 53.319 118.857 118.857 0 97.65 23.221 124.574 51.568 152.952 2.908 2.908 4.573 6.328 5.209 9.832L194.482 141.612C216.258 113.867 250.075 96 288 96z"],bookmark:[384,512,[],"f02e","M336 0H48C21.49 0 0 21.49 0 48v464l192-112 192 112V48c0-26.51-21.49-48-48-48zm0 428.43l-144-84-144 84V54a6 6 0 0 1 6-6h276c3.314 0 6 2.683 6 5.996V428.43z"],building:[448,512,[],"f1ad","M128 148v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12zm140 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-128 96h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm128 0h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm-76 84v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm76 12h40c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12zm180 124v36H0v-36c0-6.6 5.4-12 12-12h19.5V24c0-13.3 10.7-24 24-24h337c13.3 0 24 10.7 24 24v440H436c6.6 0 12 5.4 12 12zM79.5 463H192v-67c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v67h112.5V49L80 48l-.5 415z"],calendar:[448,512,[],"f133","M400 64h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V160h352v298c0 3.3-2.7 6-6 6z"],"calendar-alt":[448,512,[],"f073","M148 288h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm108-12v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 96v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-40c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm96-260v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"calendar-check":[448,512,[],"f274","M400 64h-48V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H160V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v52H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V160h352v298a6 6 0 0 1-6 6zm-52.849-200.65L198.842 404.519c-4.705 4.667-12.303 4.637-16.971-.068l-75.091-75.699c-4.667-4.705-4.637-12.303.068-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l44.104 44.461 111.072-110.181c4.705-4.667 12.303-4.637 16.971.068l22.536 22.718c4.667 4.705 4.636 12.303-.069 16.97z"],"calendar-minus":[448,512,[],"f272","M124 328c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H124zm324-216v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"calendar-plus":[448,512,[],"f271","M336 292v24c0 6.6-5.4 12-12 12h-76v76c0 6.6-5.4 12-12 12h-24c-6.6 0-12-5.4-12-12v-76h-76c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h76v-76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v76h76c6.6 0 12 5.4 12 12zm112-180v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"calendar-times":[448,512,[],"f273","M311.7 374.7l-17 17c-4.7 4.7-12.3 4.7-17 0L224 337.9l-53.7 53.7c-4.7 4.7-12.3 4.7-17 0l-17-17c-4.7-4.7-4.7-12.3 0-17l53.7-53.7-53.7-53.7c-4.7-4.7-4.7-12.3 0-17l17-17c4.7-4.7 12.3-4.7 17 0l53.7 53.7 53.7-53.7c4.7-4.7 12.3-4.7 17 0l17 17c4.7 4.7 4.7 12.3 0 17L257.9 304l53.7 53.7c4.8 4.7 4.8 12.3.1 17zM448 112v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48zm-48 346V160H48v298c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"caret-square-down":[448,512,[],"f150","M125.1 208h197.8c10.7 0 16.1 13 8.5 20.5l-98.9 98.3c-4.7 4.7-12.2 4.7-16.9 0l-98.9-98.3c-7.7-7.5-2.3-20.5 8.4-20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"caret-square-left":[448,512,[],"f191","M272 157.1v197.8c0 10.7-13 16.1-20.5 8.5l-98.3-98.9c-4.7-4.7-4.7-12.2 0-16.9l98.3-98.9c7.5-7.7 20.5-2.3 20.5 8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"caret-square-right":[448,512,[],"f152","M176 354.9V157.1c0-10.7 13-16.1 20.5-8.5l98.3 98.9c4.7 4.7 4.7 12.2 0 16.9l-98.3 98.9c-7.5 7.7-20.5 2.3-20.5-8.4zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"caret-square-up":[448,512,[],"f151","M322.9 304H125.1c-10.7 0-16.1-13-8.5-20.5l98.9-98.3c4.7-4.7 12.2-4.7 16.9 0l98.9 98.3c7.7 7.5 2.3 20.5-8.4 20.5zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"chart-bar":[512,512,[],"f080","M500 400c6.6 0 12 5.4 12 12v24c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h24c6.6 0 12 5.4 12 12v324h452zm-356-60v-72c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v72c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12zm96 0V140c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v200c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12zm96 0V204c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v136c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12zm96 0V108c0-6.6-5.4-12-12-12h-24c-6.6 0-12 5.4-12 12v232c0 6.6 5.4 12 12 12h24c6.6 0 12-5.4 12-12z"],"check-circle":[512,512,[],"f058","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z"],"check-square":[448,512,[],"f14a","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm0 400H48V80h352v352zm-35.864-241.724L191.547 361.48c-4.705 4.667-12.303 4.637-16.97-.068l-90.781-91.516c-4.667-4.705-4.637-12.303.069-16.971l22.719-22.536c4.705-4.667 12.303-4.637 16.97.069l59.792 60.277 141.352-140.216c4.705-4.667 12.303-4.637 16.97.068l22.536 22.718c4.667 4.706 4.637 12.304-.068 16.971z"],circle:[512,512,[],"f111","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200z"],clipboard:[384,512,[],"f328","M336 64h-80c0-35.29-28.71-64-64-64s-64 28.71-64 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h42v36c0 6.627 5.373 12 12 12h168c6.627 0 12-5.373 12-12v-36h42a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zM192 40c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24"],clock:[512,512,[],"f017","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm61.8-104.4l-84.9-61.7c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v141.7l66.8 48.6c5.4 3.9 6.5 11.4 2.6 16.8L334.6 349c-3.9 5.3-11.4 6.5-16.8 2.6z"],clone:[512,512,[],"f24d","M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 0 1-6 6zm96-96H150a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v308a6 6 0 0 1-6 6z"],"closed-captioning":[512,512,[],"f20a","M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zm-6 336H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v276c0 3.3-2.7 6-6 6zm-211.1-85.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7zm190.4 0c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.9-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 220.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6 2.8-2.5 7.1-2.1 9.2.9l19.6 27.7z"],comment:[576,512,[],"f075","M288 32C129 32 0 125.1 0 240c0 49.3 23.7 94.5 63.3 130.2-8.7 23.3-22.1 32.7-37.1 43.1C15.1 421-6 433 1.6 456.5c5.1 15.4 20.9 24.7 38.1 23.3 57.7-4.6 111.2-19.2 157-42.5 28.7 6.9 59.4 10.7 91.2 10.7 159.1 0 288-93 288-208C576 125.1 447.1 32 288 32zm0 368c-32.5 0-65.4-4.4-97.3-14-32.3 19-78.7 46-134.7 54 32-24 56.8-61.6 61.2-88.4C79.1 325.6 48 286.7 48 240c0-70.9 86.3-160 240-160s240 89.1 240 160c0 71-86.3 160-240 160z"],"comment-alt":[576,512,[],"f27a","M288 32C129 32 0 125.1 0 240c0 49.3 23.7 94.5 63.3 130.2-8.7 23.3-22.1 32.7-37.1 43.1C15.1 421-6 433 1.6 456.5c5.1 15.4 20.9 24.7 38.1 23.3 57.7-4.6 111.2-19.2 157-42.5 28.7 6.9 59.4 10.7 91.2 10.7 159.1 0 288-93 288-208C576 125.1 447.1 32 288 32zm0 368c-32.5 0-65.4-4.4-97.3-14-32.3 19-78.7 46-134.7 54 32-24 56.8-61.6 61.2-88.4C79.1 325.6 48 286.7 48 240c0-70.9 86.3-160 240-160s240 89.1 240 160c0 71-86.3 160-240 160zm-64-160c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zm112 0c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48zm112 0c0 26.5-21.5 48-48 48s-48-21.5-48-48 21.5-48 48-48 48 21.5 48 48z"],comments:[576,512,[],"f086","M574.507 443.86c-5.421 21.261-24.57 36.14-46.511 36.14-32.246 0-66.511-9.99-102.1-29.734-50.64 11.626-109.151 7.877-157.96-13.437 41.144-2.919 80.361-12.339 116.331-28.705 16.322-1.22 32.674-4.32 48.631-9.593C454.404 412.365 490.663 432 527.996 432c-32-17.455-43.219-38.958-46.159-58.502 25.443-18.848 46.159-47.183 46.159-81.135 0-10.495-2.383-21.536-7.041-32.467 7.405-25.93 8.656-50.194 5.185-73.938 32.164 30.461 49.856 69.128 49.856 106.405 0 33.893-12.913 65.047-34.976 91.119 2.653 2.038 5.924 4.176 9.962 6.378 19.261 10.508 28.947 32.739 23.525 54zM240.002 80C117.068 80 48.004 152.877 48.004 210.909c0 38.196 24.859 70.072 55.391 91.276-3.527 21.988-16.991 46.179-55.391 65.815 44.8 0 88.31-22.089 114.119-37.653 25.52 7.906 51.883 11.471 77.879 11.471C362.998 341.818 432 268.976 432 210.909 432 152.882 362.943 80 240.002 80m0-48C390.193 32 480 126.026 480 210.909c0 22.745-6.506 46.394-18.816 68.391-11.878 21.226-28.539 40.294-49.523 56.674-21.593 16.857-46.798 30.045-74.913 39.197-29.855 9.719-62.405 14.646-96.746 14.646-24.449 0-48.34-2.687-71.292-8.004C126.311 404.512 85.785 416 48.004 416c-22.18 0-41.472-15.197-46.665-36.761-5.194-21.563 5.064-43.878 24.811-53.976 7.663-3.918 13.324-7.737 17.519-11.294-7.393-7.829-13.952-16.124-19.634-24.844C8.09 264.655.005 238.339.005 210.909.005 126.259 89.508 32 240.002 32z"],compass:[512,512,[],"f14e","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm91.326-312.131l-33.359 137.779a24.005 24.005 0 0 1-6.772 11.729l-102.64 97.779c-17.104 16.293-45.56.434-39.88-23.024l33.359-137.779a23.997 23.997 0 0 1 6.772-11.729l102.642-97.779c17.285-16.47 45.494-.175 39.878 23.024zM256 224c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z"],copy:[448,512,[],"f0c5","M433.941 65.941l-51.882-51.882A48 48 0 0 0 348.118 0H176c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h224c26.51 0 48-21.49 48-48v-48h80c26.51 0 48-21.49 48-48V99.882a48 48 0 0 0-14.059-33.941zM266 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h74v224c0 26.51 21.49 48 48 48h96v42a6 6 0 0 1-6 6zm128-96H182a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h106v88c0 13.255 10.745 24 24 24h88v202a6 6 0 0 1-6 6zm6-256h-64V48h9.632c1.591 0 3.117.632 4.243 1.757l48.368 48.368a6 6 0 0 1 1.757 4.243V112z"],copyright:[512,512,[],"f1f9","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm107.351-101.064c-9.614 9.712-45.53 41.396-104.065 41.396-82.43 0-140.484-61.425-140.484-141.567 0-79.152 60.275-139.401 139.762-139.401 55.531 0 88.738 26.62 97.593 34.779a11.965 11.965 0 0 1 1.936 15.322l-18.155 28.113c-3.841 5.95-11.966 7.282-17.499 2.921-8.595-6.776-31.814-22.538-61.708-22.538-48.303 0-77.916 35.33-77.916 80.082 0 41.589 26.888 83.692 78.277 83.692 32.657 0 56.843-19.039 65.726-27.225 5.27-4.857 13.596-4.039 17.82 1.738l19.865 27.17a11.947 11.947 0 0 1-1.152 15.518z"],"credit-card":[576,512,[],"f09d","M527.9 32H48.1C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48.1 48h479.8c26.6 0 48.1-21.5 48.1-48V80c0-26.5-21.5-48-48.1-48zM54.1 80h467.8c3.3 0 6 2.7 6 6v42H48.1V86c0-3.3 2.7-6 6-6zm467.8 352H54.1c-3.3 0-6-2.7-6-6V256h479.8v170c0 3.3-2.7 6-6 6zM192 332v40c0 6.6-5.4 12-12 12h-72c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12zm192 0v40c0 6.6-5.4 12-12 12H236c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12z"],"dot-circle":[512,512,[],"f192","M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 168c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80z"],edit:[576,512,[],"f044","M402.3 344.9l32-32c5-5 13.7-1.5 13.7 5.7V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V112c0-26.5 21.5-48 48-48h273.5c7.1 0 10.7 8.6 5.7 13.7l-32 32c-1.5 1.5-3.5 2.3-5.7 2.3H48v352h352V350.5c0-2.1.8-4.1 2.3-5.6zm156.6-201.8L296.3 405.7l-90.4 10c-26.2 2.9-48.5-19.2-45.6-45.6l10-90.4L432.9 17.1c22.9-22.9 59.9-22.9 82.7 0l43.2 43.2c22.9 22.9 22.9 60 .1 82.8zM460.1 174L402 115.9 216.2 301.8l-7.3 65.3 65.3-7.3L460.1 174zm64.8-79.7l-43.2-43.2c-4.1-4.1-10.8-4.1-14.8 0L436 82l58.1 58.1 30.9-30.9c4-4.2 4-10.8-.1-14.9z"],envelope:[512,512,[],"f0e0","M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z"],"envelope-open":[512,512,[],"f2b6","M494.586 164.516c-4.697-3.883-111.723-89.95-135.251-108.657C337.231 38.191 299.437 0 256 0c-43.205 0-80.636 37.717-103.335 55.859-24.463 19.45-131.07 105.195-135.15 108.549A48.004 48.004 0 0 0 0 201.485V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V201.509a48 48 0 0 0-17.414-36.993zM464 458a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V204.347c0-1.813.816-3.526 2.226-4.665 15.87-12.814 108.793-87.554 132.364-106.293C200.755 78.88 232.398 48 256 48c23.693 0 55.857 31.369 73.41 45.389 23.573 18.741 116.503 93.493 132.366 106.316a5.99 5.99 0 0 1 2.224 4.663V458zm-31.991-187.704c4.249 5.159 3.465 12.795-1.745 16.981-28.975 23.283-59.274 47.597-70.929 56.863C336.636 362.283 299.205 400 256 400c-43.452 0-81.287-38.237-103.335-55.86-11.279-8.967-41.744-33.413-70.927-56.865-5.21-4.187-5.993-11.822-1.745-16.981l15.258-18.528c4.178-5.073 11.657-5.843 16.779-1.726 28.618 23.001 58.566 47.035 70.56 56.571C200.143 320.631 232.307 352 256 352c23.602 0 55.246-30.88 73.41-45.389 11.994-9.535 41.944-33.57 70.563-56.568 5.122-4.116 12.601-3.346 16.778 1.727l15.258 18.526z"],"eye-slash":[576,512,[],"f070","M272.702 359.139c-80.483-9.011-136.212-86.886-116.93-167.042l116.93 167.042zM288 392c-102.556 0-192.092-54.701-240-136 21.755-36.917 52.1-68.342 88.344-91.658l-27.541-39.343C67.001 152.234 31.921 188.741 6.646 231.631a47.999 47.999 0 0 0 0 48.739C63.004 376.006 168.14 440 288 440a332.89 332.89 0 0 0 39.648-2.367l-32.021-45.744A284.16 284.16 0 0 1 288 392zm281.354-111.631c-33.232 56.394-83.421 101.742-143.554 129.492l48.116 68.74c3.801 5.429 2.48 12.912-2.949 16.712L450.23 509.83c-5.429 3.801-12.912 2.48-16.712-2.949L102.084 33.399c-3.801-5.429-2.48-12.912 2.949-16.712L125.77 2.17c5.429-3.801 12.912-2.48 16.712 2.949l55.526 79.325C226.612 76.343 256.808 72 288 72c119.86 0 224.996 63.994 281.354 159.631a48.002 48.002 0 0 1 0 48.738zM528 256c-44.157-74.933-123.677-127.27-216.162-135.007C302.042 131.078 296 144.83 296 160c0 30.928 25.072 56 56 56s56-25.072 56-56l-.001-.042c30.632 57.277 16.739 130.26-36.928 171.719l26.695 38.135C452.626 346.551 498.308 306.386 528 256z"],file:[384,512,[],"f15b","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48z"],"file-alt":[384,512,[],"f15c","M288 248v28c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-28c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm-12 72H108c-6.6 0-12 5.4-12 12v28c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-28c0-6.6-5.4-12-12-12zm108-188.1V464c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V48C0 21.5 21.5 0 48 0h204.1C264.8 0 277 5.1 286 14.1L369.9 98c9 8.9 14.1 21.2 14.1 33.9zm-128-80V128h76.1L256 51.9zM336 464V176H232c-13.3 0-24-10.7-24-24V48H48v416h288z"],"file-archive":[384,512,[],"f1c6","M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM256 51.882L332.118 128H256V51.882zM336 464H48V48h79.714v16h32V48H208v104c0 13.255 10.745 24 24 24h104v288zM192.27 96h-32V64h32v32zm-32 0v32h-32V96h32zm0 64v32h-32v-32h32zm32 0h-32v-32h32v32zm1.909 105.678A12 12 0 0 0 182.406 256H160.27v-32h-32v32l-19.69 97.106C101.989 385.611 126.834 416 160 416c33.052 0 57.871-30.192 51.476-62.62l-17.297-87.702zM160.27 390.073c-17.918 0-32.444-12.105-32.444-27.036 0-14.932 14.525-27.036 32.444-27.036s32.444 12.105 32.444 27.036c0 14.931-14.526 27.036-32.444 27.036zm32-166.073h-32v-32h32v32z"],"file-audio":[384,512,[],"f1c7","M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm144-76.024c0 10.691-12.926 16.045-20.485 8.485L136 360.486h-28c-6.627 0-12-5.373-12-12v-56c0-6.627 5.373-12 12-12h28l35.515-36.947c7.56-7.56 20.485-2.206 20.485 8.485v135.952zm41.201-47.13c9.051-9.297 9.06-24.133.001-33.439-22.149-22.752 12.235-56.246 34.395-33.481 27.198 27.94 27.212 72.444.001 100.401-21.793 22.386-56.947-10.315-34.397-33.481z"],"file-code":[384,512,[],"f1c9","M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm101.677-115.115L116.854 320l32.822-28.885a8.793 8.793 0 0 0 .605-12.624l-17.403-18.564c-3.384-3.613-8.964-3.662-12.438-.401L62.78 313.58c-3.703 3.474-3.704 9.367.001 12.84l57.659 54.055a8.738 8.738 0 0 0 6.012 2.381 8.746 8.746 0 0 0 6.427-2.782l17.403-18.563a8.795 8.795 0 0 0-.605-12.626zm84.284-127.85l-24.401-7.084a8.796 8.796 0 0 0-10.905 5.998L144.04 408.061c-1.353 4.66 1.338 9.552 5.998 10.905l24.403 7.084c4.68 1.355 9.557-1.354 10.905-5.998l54.612-188.112c1.354-4.66-1.337-9.552-5.997-10.905zm87.258 92.545l-57.658-54.055c-3.526-3.307-9.099-3.165-12.439.401l-17.403 18.563a8.795 8.795 0 0 0 .605 12.625L267.146 320l-32.822 28.885a8.793 8.793 0 0 0-.605 12.624l17.403 18.564a8.797 8.797 0 0 0 12.439.401h-.001l57.66-54.055c3.703-3.473 3.703-9.366-.001-12.839z"],"file-excel":[384,512,[],"f1c3","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm212-240h-28.8c-4.4 0-8.4 2.4-10.5 6.3-18 33.1-22.2 42.4-28.6 57.7-13.9-29.1-6.9-17.3-28.6-57.7-2.1-3.9-6.2-6.3-10.6-6.3H124c-9.3 0-15 10-10.4 18l46.3 78-46.3 78c-4.7 8 1.1 18 10.4 18h28.9c4.4 0 8.4-2.4 10.5-6.3 21.7-40 23-45 28.6-57.7 14.9 30.2 5.9 15.9 28.6 57.7 2.1 3.9 6.2 6.3 10.6 6.3H260c9.3 0 15-10 10.4-18L224 320c.7-1.1 30.3-50.5 46.3-78 4.7-8-1.1-18-10.3-18z"],"file-image":[384,512,[],"f1c5","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm32-48h224V288l-23.5-23.5c-4.7-4.7-12.3-4.7-17 0L176 352l-39.5-39.5c-4.7-4.7-12.3-4.7-17 0L80 352v64zm48-240c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z"],"file-pdf":[384,512,[],"f1c1","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z"],"file-powerpoint":[384,512,[],"f1c4","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm72-60V236c0-6.6 5.4-12 12-12h69.2c36.7 0 62.8 27 62.8 66.3 0 74.3-68.7 66.5-95.5 66.5V404c0 6.6-5.4 12-12 12H132c-6.6 0-12-5.4-12-12zm48.5-87.4h23c7.9 0 13.9-2.4 18.1-7.2 8.5-9.8 8.4-28.5.1-37.8-4.1-4.6-9.9-7-17.4-7h-23.9v52z"],"file-video":[384,512,[],"f1c8","M369.941 97.941l-83.882-83.882A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V131.882a48 48 0 0 0-14.059-33.941zM332.118 128H256V51.882L332.118 128zM48 464V48h160v104c0 13.255 10.745 24 24 24h104v288H48zm228.687-211.303L224 305.374V268c0-11.046-8.954-20-20-20H100c-11.046 0-20 8.954-20 20v104c0 11.046 8.954 20 20 20h104c11.046 0 20-8.954 20-20v-37.374l52.687 52.674C286.704 397.318 304 390.28 304 375.986V264.011c0-14.311-17.309-21.319-27.313-11.314z"],"file-word":[384,512,[],"f1c2","M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm220.1-208c-5.7 0-10.6 4-11.7 9.5-20.6 97.7-20.4 95.4-21 103.5-.2-1.2-.4-2.6-.7-4.3-.8-5.1.3.2-23.6-99.5-1.3-5.4-6.1-9.2-11.7-9.2h-13.3c-5.5 0-10.3 3.8-11.7 9.1-24.4 99-24 96.2-24.8 103.7-.1-1.1-.2-2.5-.5-4.2-.7-5.2-14.1-73.3-19.1-99-1.1-5.6-6-9.7-11.8-9.7h-16.8c-7.8 0-13.5 7.3-11.7 14.8 8 32.6 26.7 109.5 33.2 136 1.3 5.4 6.1 9.1 11.7 9.1h25.2c5.5 0 10.3-3.7 11.6-9.1l17.9-71.4c1.5-6.2 2.5-12 3-17.3l2.9 17.3c.1.4 12.6 50.5 17.9 71.4 1.3 5.3 6.1 9.1 11.6 9.1h24.7c5.5 0 10.3-3.7 11.6-9.1 20.8-81.9 30.2-119 34.5-136 1.9-7.6-3.8-14.9-11.6-14.9h-15.8z"],flag:[512,512,[],"f024","M336.174 80c-49.132 0-93.305-32-161.913-32-31.301 0-58.303 6.482-80.721 15.168a48.04 48.04 0 0 0 2.142-20.727C93.067 19.575 74.167 1.594 51.201.104 23.242-1.71 0 20.431 0 48c0 17.764 9.657 33.262 24 41.562V496c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-83.443C109.869 395.28 143.259 384 199.826 384c49.132 0 93.305 32 161.913 32 58.479 0 101.972-22.617 128.548-39.981C503.846 367.161 512 352.051 512 335.855V95.937c0-34.459-35.264-57.768-66.904-44.117C409.193 67.309 371.641 80 336.174 80zM464 336c-21.783 15.412-60.824 32-102.261 32-59.945 0-102.002-32-161.913-32-43.361 0-96.379 9.403-127.826 24V128c21.784-15.412 60.824-32 102.261-32 59.945 0 102.002 32 161.913 32 43.271 0 96.32-17.366 127.826-32v240z"],folder:[512,512,[],"f07b","M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48zm-6 272H54c-3.314 0-6-2.678-6-5.992V117.992A5.993 5.993 0 0 1 54 112h134.118l64 64H458a6 6 0 0 1 6 6v212a6 6 0 0 1-6 6z"],"folder-open":[576,512,[],"f07c","M527.943 224H480v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h400a48.001 48.001 0 0 0 40.704-22.56l79.942-128c19.948-31.917-3.038-73.44-40.703-73.44zM54 112h134.118l64 64H426a6 6 0 0 1 6 6v42H152a48 48 0 0 0-41.098 23.202L48 351.449V117.993A5.993 5.993 0 0 1 54 112zm394 288H72l77.234-128H528l-80 128z"],frown:[512,512,[],"f119","M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm64 136c-9.535 0-18.512 2.386-26.37 6.589h.017c12.735 0 23.059 10.324 23.059 23.059 0 12.735-10.324 23.059-23.059 23.059s-23.059-10.324-23.059-23.059v-.017C266.386 181.488 264 190.465 264 200c0 30.928 25.072 56 56 56s56-25.072 56-56-25.072-56-56-56zm-128 0c-9.535 0-18.512 2.386-26.37 6.589h.017c12.735 0 23.059 10.324 23.059 23.059 0 12.735-10.324 23.059-23.059 23.059-12.735 0-23.059-10.324-23.059-23.059v-.017C138.386 181.488 136 190.465 136 200c0 30.928 25.072 56 56 56s56-25.072 56-56-25.072-56-56-56zm171.547 201.782c-56.595-76.964-158.383-77.065-215.057-.001-18.82 25.593 19.858 54.018 38.67 28.438 37.511-51.01 100.365-50.796 137.717-.001 18.509 25.172 57.821-2.395 38.67-28.436z"],futbol:[496,512,[],"f1e3","M483.8 179.4C449.8 74.6 352.6 8 248.1 8c-25.4 0-51.2 3.9-76.7 12.2C41.2 62.5-30.1 202.4 12.2 332.6 46.2 437.4 143.4 504 247.9 504c25.4 0 51.2-3.9 76.7-12.2 130.2-42.3 201.5-182.2 159.2-312.4zm-74.5 193.7l-52.2 6.4-43.7-60.9 24.4-75.2 71.1-22.1 38.9 36.4c-.2 30.7-7.4 61.1-21.7 89.2-4.7 9.3-10.7 17.8-16.8 26.2zm0-235.4l-10.4 53.1-70.7 22-64.2-46.5V92.5l47.4-26.2c39.2 13 73.4 38 97.9 71.4zM184.9 66.4L232 92.5v73.8l-64.2 46.5-70.6-22-10.1-52.5c24.3-33.4 57.9-58.6 97.8-71.9zM139 379.5L85.9 373c-14.4-20.1-37.3-59.6-37.8-115.3l39-36.4 71.1 22.2 24.3 74.3-43.5 61.7zm48.2 67l-22.4-48.1 43.6-61.7H287l44.3 61.7-22.4 48.1c-6.2 1.8-57.6 20.4-121.7 0z"],gem:[576,512,[],"f3a5","M464 0H112c-4 0-7.8 2-10 5.4L2 152.6c-2.9 4.4-2.6 10.2.7 14.2l276 340.8c4.8 5.9 13.8 5.9 18.6 0l276-340.8c3.3-4.1 3.6-9.8.7-14.2L474.1 5.4C471.8 2 468.1 0 464 0zm-19.3 48l63.3 96h-68.4l-51.7-96h56.8zm-202.1 0h90.7l51.7 96H191l51.6-96zm-111.3 0h56.8l-51.7 96H68l63.3-96zm-43 144h51.4L208 352 88.3 192zm102.9 0h193.6L288 435.3 191.2 192zM368 352l68.2-160h51.4L368 352z"],"hand-lizard":[576,512,[],"f258","M556.686 290.542L410.328 64.829C397.001 44.272 374.417 32 349.917 32H56C25.121 32 0 57.122 0 88v8c0 44.112 35.888 80 80 80h196.042l-18.333 48H144c-48.523 0-88 39.477-88 88 0 30.879 25.121 56 56 56h131.552c2.987 0 5.914.549 8.697 1.631L352 408.418V480h224V355.829c0-23.225-6.679-45.801-19.314-65.287zM528 432H400v-23.582c0-19.948-12.014-37.508-30.604-44.736l-99.751-38.788A71.733 71.733 0 0 0 243.552 320H112c-4.411 0-8-3.589-8-8 0-22.056 17.944-40 40-40h113.709c19.767 0 37.786-12.407 44.84-30.873l24.552-64.281c8.996-23.553-8.428-48.846-33.63-48.846H80c-17.645 0-32-14.355-32-32v-8c0-4.411 3.589-8 8-8h293.917c8.166 0 15.693 4.09 20.137 10.942l146.358 225.715A71.84 71.84 0 0 1 528 355.829V432z"],"hand-paper":[448,512,[],"f256","M372.57 112.641v-10.825c0-43.612-40.52-76.691-83.039-65.546-25.629-49.5-94.09-47.45-117.982.747C130.269 26.456 89.144 57.945 89.144 102v126.13c-19.953-7.427-43.308-5.068-62.083 8.871-29.355 21.796-35.794 63.333-14.55 93.153L132.48 498.569a32 32 0 0 0 26.062 13.432h222.897c14.904 0 27.835-10.289 31.182-24.813l30.184-130.958A203.637 203.637 0 0 0 448 310.564V179c0-40.62-35.523-71.992-75.43-66.359zm27.427 197.922c0 11.731-1.334 23.469-3.965 34.886L368.707 464h-201.92L51.591 302.303c-14.439-20.27 15.023-42.776 29.394-22.605l27.128 38.079c8.995 12.626 29.031 6.287 29.031-9.283V102c0-25.645 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V67c0-25.663 36.571-24.81 36.571.691V256c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16V101.125c0-25.672 36.57-24.81 36.57.691V256c0 8.837 7.163 16 16 16h6.857c8.837 0 16-7.163 16-16v-76.309c0-26.242 36.57-25.64 36.57-.691v131.563z"],"hand-peace":[448,512,[],"f25b","M362.146 191.976c-13.71-21.649-38.761-34.016-65.006-30.341V74c0-40.804-32.811-74-73.141-74-40.33 0-73.14 33.196-73.14 74L160 168l-18.679-78.85C126.578 50.843 83.85 32.11 46.209 47.208 8.735 62.238-9.571 104.963 5.008 142.85l55.757 144.927c-30.557 24.956-43.994 57.809-24.733 92.218l54.853 97.999C102.625 498.97 124.73 512 148.575 512h205.702c30.744 0 57.558-21.44 64.555-51.797l27.427-118.999a67.801 67.801 0 0 0 1.729-15.203L448 256c0-44.956-43.263-77.343-85.854-64.024zM399.987 326c0 1.488-.169 2.977-.502 4.423l-27.427 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H148.575c-6.486 0-12.542-3.621-15.805-9.449l-54.854-98c-4.557-8.141-2.619-18.668 4.508-24.488l26.647-21.764a16 16 0 0 0 4.812-18.139l-64.09-166.549C37.226 92.956 84.37 74.837 96.51 106.389l59.784 155.357A16 16 0 0 0 171.227 272h11.632c8.837 0 16-7.163 16-16V74c0-34.375 50.281-34.43 50.281 0v182c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16v-28c0-25.122 36.567-25.159 36.567 0v28c0 8.837 7.163 16 16 16h6.856c8.837 0 16-7.163 16-16 0-25.12 36.567-25.16 36.567 0v70z"],"hand-point-down":[448,512,[],"f0a7","M188.8 512c45.616 0 83.2-37.765 83.2-83.2v-35.647a93.148 93.148 0 0 0 22.064-7.929c22.006 2.507 44.978-3.503 62.791-15.985C409.342 368.1 448 331.841 448 269.299V248c0-60.063-40-98.512-40-127.2v-2.679c4.952-5.747 8-13.536 8-22.12V32c0-17.673-12.894-32-28.8-32H156.8C140.894 0 128 14.327 128 32v64c0 8.584 3.048 16.373 8 22.12v2.679c0 6.964-6.193 14.862-23.668 30.183l-.148.129-.146.131c-9.937 8.856-20.841 18.116-33.253 25.851C48.537 195.798 0 207.486 0 252.8c0 56.928 35.286 92 83.2 92 8.026 0 15.489-.814 22.4-2.176V428.8c0 45.099 38.101 83.2 83.2 83.2zm0-48c-18.7 0-35.2-16.775-35.2-35.2V270.4c-17.325 0-35.2 26.4-70.4 26.4-26.4 0-35.2-20.625-35.2-44 0-8.794 32.712-20.445 56.1-34.926 14.575-9.074 27.225-19.524 39.875-30.799 18.374-16.109 36.633-33.836 39.596-59.075h176.752C364.087 170.79 400 202.509 400 248v21.299c0 40.524-22.197 57.124-61.325 50.601-8.001 14.612-33.979 24.151-53.625 12.925-18.225 19.365-46.381 17.787-61.05 4.95V428.8c0 18.975-16.225 35.2-35.2 35.2zM328 64c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24z"],"hand-point-left":[512,512,[],"f0a5","M0 220.8C0 266.416 37.765 304 83.2 304h35.647a93.148 93.148 0 0 0 7.929 22.064c-2.507 22.006 3.503 44.978 15.985 62.791C143.9 441.342 180.159 480 242.701 480H264c60.063 0 98.512-40 127.2-40h2.679c5.747 4.952 13.536 8 22.12 8h64c17.673 0 32-12.894 32-28.8V188.8c0-15.906-14.327-28.8-32-28.8h-64c-8.584 0-16.373 3.048-22.12 8H391.2c-6.964 0-14.862-6.193-30.183-23.668l-.129-.148-.131-.146c-8.856-9.937-18.116-20.841-25.851-33.253C316.202 80.537 304.514 32 259.2 32c-56.928 0-92 35.286-92 83.2 0 8.026.814 15.489 2.176 22.4H83.2C38.101 137.6 0 175.701 0 220.8zm48 0c0-18.7 16.775-35.2 35.2-35.2h158.4c0-17.325-26.4-35.2-26.4-70.4 0-26.4 20.625-35.2 44-35.2 8.794 0 20.445 32.712 34.926 56.1 9.074 14.575 19.524 27.225 30.799 39.875 16.109 18.374 33.836 36.633 59.075 39.596v176.752C341.21 396.087 309.491 432 264 432h-21.299c-40.524 0-57.124-22.197-50.601-61.325-14.612-8.001-24.151-33.979-12.925-53.625-19.365-18.225-17.787-46.381-4.95-61.05H83.2C64.225 256 48 239.775 48 220.8zM448 360c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z"],"hand-point-right":[512,512,[],"f0a4","M428.8 137.6h-86.177a115.52 115.52 0 0 0 2.176-22.4c0-47.914-35.072-83.2-92-83.2-45.314 0-57.002 48.537-75.707 78.784-7.735 12.413-16.994 23.317-25.851 33.253l-.131.146-.129.148C135.662 161.807 127.764 168 120.8 168h-2.679c-5.747-4.952-13.536-8-22.12-8H32c-17.673 0-32 12.894-32 28.8v230.4C0 435.106 14.327 448 32 448h64c8.584 0 16.373-3.048 22.12-8h2.679c28.688 0 67.137 40 127.2 40h21.299c62.542 0 98.8-38.658 99.94-91.145 12.482-17.813 18.491-40.785 15.985-62.791A93.148 93.148 0 0 0 393.152 304H428.8c45.435 0 83.2-37.584 83.2-83.2 0-45.099-38.101-83.2-83.2-83.2zm0 118.4h-91.026c12.837 14.669 14.415 42.825-4.95 61.05 11.227 19.646 1.687 45.624-12.925 53.625 6.524 39.128-10.076 61.325-50.6 61.325H248c-45.491 0-77.21-35.913-120-39.676V215.571c25.239-2.964 42.966-21.222 59.075-39.596 11.275-12.65 21.725-25.3 30.799-39.875C232.355 112.712 244.006 80 252.8 80c23.375 0 44 8.8 44 35.2 0 35.2-26.4 53.075-26.4 70.4h158.4c18.425 0 35.2 16.5 35.2 35.2 0 18.975-16.225 35.2-35.2 35.2zM88 384c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z"],"hand-point-up":[448,512,[],"f0a6","M105.6 83.2v86.177a115.52 115.52 0 0 0-22.4-2.176c-47.914 0-83.2 35.072-83.2 92 0 45.314 48.537 57.002 78.784 75.707 12.413 7.735 23.317 16.994 33.253 25.851l.146.131.148.129C129.807 376.338 136 384.236 136 391.2v2.679c-4.952 5.747-8 13.536-8 22.12v64c0 17.673 12.894 32 28.8 32h230.4c15.906 0 28.8-14.327 28.8-32v-64c0-8.584-3.048-16.373-8-22.12V391.2c0-28.688 40-67.137 40-127.2v-21.299c0-62.542-38.658-98.8-91.145-99.94-17.813-12.482-40.785-18.491-62.791-15.985A93.148 93.148 0 0 0 272 118.847V83.2C272 37.765 234.416 0 188.8 0c-45.099 0-83.2 38.101-83.2 83.2zm118.4 0v91.026c14.669-12.837 42.825-14.415 61.05 4.95 19.646-11.227 45.624-1.687 53.625 12.925 39.128-6.524 61.325 10.076 61.325 50.6V264c0 45.491-35.913 77.21-39.676 120H183.571c-2.964-25.239-21.222-42.966-39.596-59.075-12.65-11.275-25.3-21.725-39.875-30.799C80.712 279.645 48 267.994 48 259.2c0-23.375 8.8-44 35.2-44 35.2 0 53.075 26.4 70.4 26.4V83.2c0-18.425 16.5-35.2 35.2-35.2 18.975 0 35.2 16.225 35.2 35.2zM352 424c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24z"],"hand-pointer":[448,512,[],"f25a","M358.182 179.361c-19.493-24.768-52.679-31.945-79.872-19.098-15.127-15.687-36.182-22.487-56.595-19.629V67c0-36.944-29.736-67-66.286-67S89.143 30.056 89.143 67v161.129c-19.909-7.41-43.272-5.094-62.083 8.872-29.355 21.795-35.793 63.333-14.55 93.152l109.699 154.001C134.632 501.59 154.741 512 176 512h178.286c30.802 0 57.574-21.5 64.557-51.797l27.429-118.999A67.873 67.873 0 0 0 448 326v-84c0-46.844-46.625-79.273-89.818-62.639zM80.985 279.697l27.126 38.079c8.995 12.626 29.031 6.287 29.031-9.283V67c0-25.12 36.571-25.16 36.571 0v175c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16v-35c0-25.12 36.571-25.16 36.571 0v35c0 8.836 7.163 16 16 16H272c8.837 0 16-7.164 16-16v-21c0-25.12 36.571-25.16 36.571 0v21c0 8.836 7.163 16 16 16h6.857c8.837 0 16-7.164 16-16 0-25.121 36.571-25.16 36.571 0v84c0 1.488-.169 2.977-.502 4.423l-27.43 119.001c-1.978 8.582-9.29 14.576-17.782 14.576H176c-5.769 0-11.263-2.878-14.697-7.697l-109.712-154c-14.406-20.223 14.994-42.818 29.394-22.606zM176.143 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.733 0-14-7.163-14-16zm75.428 0v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16zM327 400v-96c0-8.837 6.268-16 14-16h6c7.732 0 14 7.163 14 16v96c0 8.837-6.268 16-14 16h-6c-7.732 0-14-7.163-14-16z"],"hand-rock":[512,512,[],"f255","M408.864 79.052c-22.401-33.898-66.108-42.273-98.813-23.588-29.474-31.469-79.145-31.093-108.334-.022-47.16-27.02-108.71 5.055-110.671 60.806C44.846 105.407 0 140.001 0 187.429v56.953c0 32.741 14.28 63.954 39.18 85.634l97.71 85.081c4.252 3.702 3.11 5.573 3.11 32.903 0 17.673 14.327 32 32 32h252c17.673 0 32-14.327 32-32 0-23.513-1.015-30.745 3.982-42.37l42.835-99.656c6.094-14.177 9.183-29.172 9.183-44.568V146.963c0-52.839-54.314-88.662-103.136-67.911zM464 261.406a64.505 64.505 0 0 1-5.282 25.613l-42.835 99.655c-5.23 12.171-7.883 25.04-7.883 38.25V432H188v-10.286c0-16.37-7.14-31.977-19.59-42.817l-97.71-85.08C56.274 281.255 48 263.236 48 244.381v-56.953c0-33.208 52-33.537 52 .677v41.228a16 16 0 0 0 5.493 12.067l7 6.095A16 16 0 0 0 139 235.429V118.857c0-33.097 52-33.725 52 .677v26.751c0 8.836 7.164 16 16 16h7c8.836 0 16-7.164 16-16v-41.143c0-33.134 52-33.675 52 .677v40.466c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16v-27.429c0-33.03 52-33.78 52 .677v26.751c0 8.836 7.163 16 16 16h7c8.837 0 16-7.164 16-16 0-33.146 52-33.613 52 .677v114.445z"],"hand-scissors":[512,512,[],"f257","M256 480l70-.013c5.114 0 10.231-.583 15.203-1.729l118.999-27.427C490.56 443.835 512 417.02 512 386.277V180.575c0-23.845-13.03-45.951-34.005-57.69l-97.999-54.853c-34.409-19.261-67.263-5.824-92.218 24.733L142.85 37.008c-37.887-14.579-80.612 3.727-95.642 41.201-15.098 37.642 3.635 80.37 41.942 95.112L168 192l-94-9.141c-40.804 0-74 32.811-74 73.14 0 40.33 33.196 73.141 74 73.141h87.635c-3.675 26.245 8.692 51.297 30.341 65.006C178.657 436.737 211.044 480 256 480zm0-48.013c-25.16 0-25.12-36.567 0-36.567 8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16h-28c-25.159 0-25.122-36.567 0-36.567h28c8.837 0 16-7.163 16-16v-6.856c0-8.837-7.163-16-16-16H74c-34.43 0-34.375-50.281 0-50.281h182c8.837 0 16-7.163 16-16v-11.632a16 16 0 0 0-10.254-14.933L106.389 128.51c-31.552-12.14-13.432-59.283 19.222-46.717l166.549 64.091a16.001 16.001 0 0 0 18.139-4.812l21.764-26.647c5.82-7.127 16.348-9.064 24.488-4.508l98 54.854c5.828 3.263 9.449 9.318 9.449 15.805v205.701c0 8.491-5.994 15.804-14.576 17.782l-119.001 27.427a19.743 19.743 0 0 1-4.423.502h-70z"],"hand-spock":[512,512,[],"f259","M21.096 381.79l129.092 121.513a32 32 0 0 0 21.932 8.698h237.6c14.17 0 26.653-9.319 30.68-22.904l31.815-107.313A115.955 115.955 0 0 0 477 348.811v-36.839c0-4.051.476-8.104 1.414-12.045l31.73-133.41c10.099-42.412-22.316-82.738-65.544-82.525-4.144-24.856-22.543-47.165-49.85-53.992-35.803-8.952-72.227 12.655-81.25 48.75L296.599 184 274.924 52.01c-8.286-36.07-44.303-58.572-80.304-50.296-29.616 6.804-50.138 32.389-51.882 61.295-42.637.831-73.455 40.563-64.071 81.844l31.04 136.508c-27.194-22.515-67.284-19.992-91.482 5.722-25.376 26.961-24.098 69.325 2.871 94.707zm32.068-61.811l.002-.001c7.219-7.672 19.241-7.98 26.856-.813l53.012 49.894C143.225 378.649 160 371.4 160 357.406v-69.479c0-1.193-.134-2.383-.397-3.546l-34.13-150.172c-5.596-24.617 31.502-32.86 37.054-8.421l30.399 133.757a16 16 0 0 0 15.603 12.454h8.604c10.276 0 17.894-9.567 15.594-19.583l-41.62-181.153c-5.623-24.469 31.39-33.076 37.035-8.508l45.22 196.828A16 16 0 0 0 288.956 272h13.217a16 16 0 0 0 15.522-12.119l42.372-169.49c6.104-24.422 42.962-15.159 36.865 9.217L358.805 252.12c-2.521 10.088 5.115 19.88 15.522 19.88h9.694a16 16 0 0 0 15.565-12.295L426.509 146.6c5.821-24.448 42.797-15.687 36.966 8.802L431.72 288.81a100.094 100.094 0 0 0-2.72 23.162v36.839c0 6.548-.943 13.051-2.805 19.328L397.775 464h-219.31L53.978 346.836c-7.629-7.18-7.994-19.229-.814-26.857z"],handshake:[640,512,[],"f2b5","M616 96h-48c-7.107 0-13.49 3.091-17.884 8H526.59l-31.13-36.3-.16-.18A103.974 103.974 0 0 0 417.03 32h-46.55c-17.75 0-34.9 4.94-49.69 14.01C304.33 36.93 285.67 32 266.62 32h-32.11c-28.903 0-57.599 11.219-79.2 32.8L116.12 104H89.884C85.49 99.091 79.107 96 72 96H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h48c10.449 0 19.334-6.68 22.629-16h18.801l75.35 67.57c25.542 26.45 59.925 44.43 96.58 44.43 16.39 0 32.28-3.85 46.1-10.93 24.936.496 51.101-10.368 69.07-31.41 19.684-5.579 37.503-17.426 50.72-34.6 20.989-4.401 40.728-16.492 53.42-35.06h40.701c3.295 9.32 12.18 16 22.629 16h48c13.255 0 24-10.745 24-24V120c0-13.255-10.745-24-24-24zM48 352c-8.837 0-16-7.163-16-16s7.163-16 16-16 16 7.163 16 16-7.163 16-16 16zm412.52-5.76c-15.35 14.295-36.884 11.328-39.95 8 1.414 13.382-18.257 41.043-49.08 38.88-5.541 18.523-28.218 33.826-51.49 25.75-8.89 8.89-22.46 13.13-34.64 13.13-24.95 0-47.77-14.54-63.14-30.91l-81.3-72.91a31.976 31.976 0 0 0-21.36-8.18H96V152h26.75c8.48 0 16.62-3.37 22.62-9.37l43.88-43.88A64.004 64.004 0 0 1 234.51 80h32.11c5.8 0 11.51.79 17 2.3l-43.27 50.49c-23.56 27.48-23.84 67.62-.66 95.44 32.388 38.866 91.378 39.228 124.48 1.98l25.98-30.08L462.59 296c13.44 14.6 10.95 38.13-2.07 50.24zM544 320h-24.458c.104-20.261-6.799-39.33-19.762-54.4L421.7 162.28c4.51-9.51 2.34-21.23-6.01-28.45-10.075-8.691-25.23-7.499-33.86 2.48l-53.63 62.12c-13.828 15.41-38.223 15.145-51.64-.93a25.857 25.857 0 0 1 .23-33.47l57.92-67.58A47.09 47.09 0 0 1 370.48 80h46.55c16.11 0 31.44 6.94 42.07 19.04L504.52 152H544v168zm48 32c-8.837 0-16-7.163-16-16s7.163-16 16-16 16 7.163 16 16-7.163 16-16 16z"],hdd:[576,512,[],"f0a0","M567.403 235.642L462.323 84.589A48 48 0 0 0 422.919 64H153.081a48 48 0 0 0-39.404 20.589L8.597 235.642A48.001 48.001 0 0 0 0 263.054V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V263.054c0-9.801-3-19.366-8.597-27.412zM153.081 112h269.838l77.913 112H75.168l77.913-112zM528 400H48V272h480v128zm-32-64c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32zm-96 0c0 17.673-14.327 32-32 32s-32-14.327-32-32 14.327-32 32-32 32 14.327 32 32z"],heart:[576,512,[],"f004","M257.3 475.4L92.5 313.6C85.4 307 24 248.1 24 174.8 24 84.1 80.8 24 176 24c41.4 0 80.6 22.8 112 49.8 31.3-27 70.6-49.8 112-49.8 91.7 0 152 56.5 152 150.8 0 52-31.8 103.5-68.1 138.7l-.4.4-164.8 161.5a43.7 43.7 0 0 1-61.4 0zM125.9 279.1L288 438.3l161.8-158.7c27.3-27 54.2-66.3 54.2-104.8C504 107.9 465.8 72 400 72c-47.2 0-92.8 49.3-112 68.4-17-17-64-68.4-112-68.4-65.9 0-104 35.9-104 102.8 0 37.3 26.7 78.9 53.9 104.3z"],hospital:[448,512,[],"f0f8","M128 244v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12zm140 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm-76 84v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm76 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm180 124v36H0v-36c0-6.627 5.373-12 12-12h19.5V85.035C31.5 73.418 42.245 64 55.5 64H144V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v40h88.5c13.255 0 24 9.418 24 21.035V464H436c6.627 0 12 5.373 12 12zM79.5 463H192v-67c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v67h112.5V112H304v24c0 13.255-10.745 24-24 24H168c-13.255 0-24-10.745-24-24v-24H79.5v351zM266 64h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6z"],hourglass:[384,512,[],"f254","M368 48h4c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12H12C5.373 0 0 5.373 0 12v24c0 6.627 5.373 12 12 12h4c0 80.564 32.188 165.807 97.18 208C47.899 298.381 16 383.9 16 464h-4c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12h-4c0-80.564-32.188-165.807-97.18-208C336.102 213.619 368 128.1 368 48zM64 48h256c0 101.62-57.307 184-128 184S64 149.621 64 48zm256 416H64c0-101.62 57.308-184 128-184s128 82.38 128 184z"],"id-badge":[384,512,[],"f2c1","M0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48H48C21.49 0 0 21.49 0 48zm336 32v378a6 6 0 0 1-6 6H54a6 6 0 0 1-6-6V80h288zm-144 80c38.66 0 70 31.34 70 70s-31.34 70-70 70-70-31.34-70-70 31.34-70 70-70zm80.187 146.047l-31.2-7.8c-32.779 23.577-72.51 18.316-97.974 0l-31.2 7.8C93.116 310.721 80 327.52 80 346.793V363c0 11.598 9.402 21 21 21h182c11.598 0 21-9.402 21-21v-16.207c0-19.273-13.116-36.072-31.813-40.746z"],"id-card":[512,512,[],"f2c2","M404 256H300c-6.627 0-12-5.373-12-12v-16c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v16c0 6.627-5.373 12-12 12zm12 60v-16c0-6.627-5.373-12-12-12H300c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h104c6.627 0 12-5.373 12-12zm96-204v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zm-48 282V144H48v250a6 6 0 0 0 6 6h404a6 6 0 0 0 6-6zM176 192c27.614 0 50 22.386 50 50s-22.386 50-50 50-50-22.386-50-50 22.386-50 50-50zm57.276 104.319l-22.285-5.571c-23.413 16.841-51.793 13.083-69.981 0l-22.285 5.571C105.369 299.658 96 311.657 96 325.423V337c0 8.284 6.716 15 15 15h130c8.284 0 15-6.716 15-15v-11.577c0-13.766-9.369-25.765-22.724-29.104z"],image:[512,512,[],"f03e","M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-6 336H54a6 6 0 0 1-6-6V118a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v276a6 6 0 0 1-6 6zM128 152c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zM96 352h320v-80l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L192 304l-39.515-39.515c-4.686-4.686-12.284-4.686-16.971 0L96 304v48z"],images:[576,512,[],"f302","M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v48H54a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6v-10h48zm42-336H150a6 6 0 0 0-6 6v244a6 6 0 0 0 6 6h372a6 6 0 0 0 6-6V86a6 6 0 0 0-6-6zm6-48c26.51 0 48 21.49 48 48v256c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h384zM264 144c0 22.091-17.909 40-40 40s-40-17.909-40-40 17.909-40 40-40 40 17.909 40 40zm-72 96l39.515-39.515c4.686-4.686 12.284-4.686 16.971 0L288 240l103.515-103.515c4.686-4.686 12.284-4.686 16.971 0L480 208v80H192v-48z"],keyboard:[576,512,[],"f11c","M528 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm8 336c0 4.411-3.589 8-8 8H48c-4.411 0-8-3.589-8-8V112c0-4.411 3.589-8 8-8h480c4.411 0 8 3.589 8 8v288zM170 270v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-336 82v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm384 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zM122 188v-28c0-6.627-5.373-12-12-12H82c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm96 0v-28c0-6.627-5.373-12-12-12h-28c-6.627 0-12 5.373-12 12v28c0 6.627 5.373 12 12 12h28c6.627 0 12-5.373 12-12zm-98 158v-16c0-6.627-5.373-12-12-12H180c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h216c6.627 0 12-5.373 12-12z"],lemon:[512,512,[],"f094","M484.112 27.889C455.989-.233 416.108-8.057 387.059 8.865 347.604 31.848 223.504-41.111 91.196 91.197-41.277 223.672 31.923 347.472 8.866 387.058c-16.922 29.051-9.1 68.932 19.022 97.054 28.135 28.135 68.011 35.938 97.057 19.021 39.423-22.97 163.557 49.969 295.858-82.329 132.474-132.477 59.273-256.277 82.331-295.861 16.922-29.05 9.1-68.931-19.022-97.054zm-22.405 72.894c-38.8 66.609 45.6 165.635-74.845 286.08-120.44 120.443-219.475 36.048-286.076 74.843-22.679 13.207-64.035-27.241-50.493-50.488 38.8-66.609-45.6-165.635 74.845-286.08C245.573 4.702 344.616 89.086 411.219 50.292c22.73-13.24 64.005 27.288 50.488 50.491zm-169.861 8.736c1.37 10.96-6.404 20.957-17.365 22.327-54.846 6.855-135.779 87.787-142.635 142.635-1.373 10.989-11.399 18.734-22.326 17.365-10.961-1.37-18.735-11.366-17.365-22.326 9.162-73.286 104.167-168.215 177.365-177.365 10.953-1.368 20.956 6.403 22.326 17.364z"],"life-ring":[512,512,[],"f1cd","M256 504c136.967 0 248-111.033 248-248S392.967 8 256 8 8 119.033 8 256s111.033 248 248 248zm-103.398-76.72l53.411-53.411c31.806 13.506 68.128 13.522 99.974 0l53.411 53.411c-63.217 38.319-143.579 38.319-206.796 0zM336 256c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zm91.28 103.398l-53.411-53.411c13.505-31.806 13.522-68.128 0-99.974l53.411-53.411c38.319 63.217 38.319 143.579 0 206.796zM359.397 84.72l-53.411 53.411c-31.806-13.505-68.128-13.522-99.973 0L152.602 84.72c63.217-38.319 143.579-38.319 206.795 0zM84.72 152.602l53.411 53.411c-13.506 31.806-13.522 68.128 0 99.974L84.72 359.398c-38.319-63.217-38.319-143.579 0-206.796z"],lightbulb:[384,512,[],"f0eb","M272 428v28c0 10.449-6.68 19.334-16 22.629V488c0 13.255-10.745 24-24 24h-80c-13.255 0-24-10.745-24-24v-9.371c-9.32-3.295-16-12.18-16-22.629v-28c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12zM128 176c0-35.29 28.71-64 64-64 8.837 0 16-7.164 16-16s-7.163-16-16-16c-52.935 0-96 43.065-96 96 0 8.836 7.164 16 16 16s16-7.164 16-16zm64-128c70.734 0 128 57.254 128 128 0 77.602-37.383 60.477-80.98 160h-94.04C101.318 236.33 64 253.869 64 176c0-70.735 57.254-128 128-128m0-48C94.805 0 16 78.803 16 176c0 101.731 51.697 91.541 90.516 192.674 3.55 9.249 12.47 15.326 22.376 15.326h126.215c9.906 0 18.826-6.078 22.376-15.326C316.303 267.541 368 277.731 368 176 368 78.803 289.195 0 192 0z"],"list-alt":[512,512,[],"f022","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zm-6 400H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h404a6 6 0 0 1 6 6v340a6 6 0 0 1-6 6zm-42-92v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm0-96v24c0 6.627-5.373 12-12 12H204c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h200c6.627 0 12 5.373 12 12zm-252 12c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm0 96c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z"],map:[576,512,[],"f279","M508.505 36.17L381.517 92.576 207.179 34.463a47.992 47.992 0 0 0-34.674 1.674l-144 64A48 48 0 0 0 0 144v287.967c0 34.938 35.991 57.864 67.495 43.863l126.988-56.406 174.339 58.113a47.992 47.992 0 0 0 34.674-1.674l144-64A48 48 0 0 0 576 368V80.033c0-34.938-35.991-57.864-67.495-43.863zM360 424l-144-48V88l144 48v288zm-312 8V144l120-53.333v288L48 432zm480-64l-120 53.333v-288L528 80v288z"],meh:[512,512,[],"f11a","M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm64 136c-9.535 0-18.512 2.386-26.37 6.589h.017c12.735 0 23.059 10.324 23.059 23.059 0 12.735-10.324 23.059-23.059 23.059s-23.059-10.324-23.059-23.059v-.017C266.386 181.488 264 190.465 264 200c0 30.928 25.072 56 56 56s56-25.072 56-56-25.072-56-56-56zm-128 0c-9.535 0-18.512 2.386-26.37 6.589h.017c12.735 0 23.059 10.324 23.059 23.059 0 12.735-10.324 23.059-23.059 23.059-12.735 0-23.059-10.324-23.059-23.059v-.017C138.386 181.488 136 190.465 136 200c0 30.928 25.072 56 56 56s56-25.072 56-56-25.072-56-56-56zm136 184H184c-31.776 0-31.749 48 0 48h144c31.776 0 31.749-48 0-48z"],"minus-square":[448,512,[],"f146","M108 284c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h232c6.6 0 12 5.4 12 12v32c0 6.6-5.4 12-12 12H108zM448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"money-bill-alt":[640,512,[],"f3d1","M320 144c-53.021 0-96 50.143-96 112 0 61.847 42.977 112 96 112 53 0 96-50.13 96-112 0-61.857-42.979-112-96-112zm48 164.428c0 7.477-3.917 11.572-11.572 11.572h-67.293c-7.656 0-11.573-4.095-11.573-11.572v-8.901c0-7.477 3.917-11.572 11.573-11.572h15.131v-39.878c0-5.163.534-10.503.534-10.503h-.356s-1.779 2.67-2.848 3.738c-4.451 4.273-10.504 4.451-15.666-1.068l-5.518-6.231c-5.342-5.341-4.984-11.216.534-16.379l21.72-19.939c4.449-4.095 8.366-5.697 14.42-5.697h12.105c7.656 0 11.75 3.916 11.75 11.572v84.384h15.488c7.655 0 11.572 4.094 11.572 11.572v8.902zM616 64H24C10.745 64 0 74.745 0 88v335c0 13.255 10.745 24 24 24h592c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM512 400H128c0-44.183-35.817-80-80-80V192c44.183 0 80-35.817 80-80h384c0 44.183 35.817 80 80 80v128c-44.183 0-80 35.817-80 80z"],moon:[512,512,[],"f186","M279.135 512c78.756 0 150.982-35.804 198.844-94.775 28.27-34.831-2.558-85.722-46.249-77.401-82.348 15.683-158.272-47.268-158.272-130.792 0-48.424 26.06-92.292 67.434-115.836 38.745-22.05 28.999-80.788-15.022-88.919A257.936 257.936 0 0 0 279.135 0c-141.36 0-256 114.575-256 256 0 141.36 114.576 256 256 256zm0-464c12.985 0 25.689 1.201 38.016 3.478-54.76 31.163-91.693 90.042-91.693 157.554 0 113.848 103.641 199.2 215.252 177.944C402.574 433.964 344.366 464 279.135 464c-114.875 0-208-93.125-208-208s93.125-208 208-208z"],newspaper:[576,512,[],"f1ea","M552 64H112c-20.858 0-38.643 13.377-45.248 32H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h496c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24zM48 392V144h16v248c0 4.411-3.589 8-8 8s-8-3.589-8-8zm480 8H111.422c.374-2.614.578-5.283.578-8V112h416v288zM172 280h136c6.627 0 12-5.373 12-12v-96c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v96c0 6.627 5.373 12 12 12zm28-80h80v40h-80v-40zm-40 140v-24c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H172c-6.627 0-12-5.373-12-12zm192 0v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0-144v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12zm0 72v-24c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12H364c-6.627 0-12-5.373-12-12z"],"object-group":[512,512,[],"f247","M500 128c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v256H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V128h12zm-52-64h32v32h-32V64zM32 64h32v32H32V64zm32 384H32v-32h32v32zm416 0h-32v-32h32v32zm-40-64h-12c-6.627 0-12 5.373-12 12v12H96v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h320v12c0 6.627 5.373 12 12 12h12v256zm-36-192h-84v-52c0-6.628-5.373-12-12-12H108c-6.627 0-12 5.372-12 12v168c0 6.628 5.373 12 12 12h84v52c0 6.628 5.373 12 12 12h200c6.627 0 12-5.372 12-12V204c0-6.628-5.373-12-12-12zm-268-24h144v112H136V168zm240 176H232v-24h76c6.627 0 12-5.372 12-12v-76h56v112z"],"object-ungroup":[576,512,[],"f248","M564 224c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12h-88v-24h12c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v12H96V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v72c0 6.627 5.373 12 12 12h12v160H12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h88v24h-12c-6.627 0-12 5.373-12 12v72c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12V224h12zM352 64h32v32h-32V64zm0 256h32v32h-32v-32zM64 352H32v-32h32v32zm0-256H32V64h32v32zm32 216v-12c0-6.627-5.373-12-12-12H72V128h12c6.627 0 12-5.373 12-12v-12h224v12c0 6.627 5.373 12 12 12h12v160h-12c-6.627 0-12 5.373-12 12v12H96zm128 136h-32v-32h32v32zm280-64h-12c-6.627 0-12 5.373-12 12v12H256v-12c0-6.627-5.373-12-12-12h-12v-24h88v12c0 6.627 5.373 12 12 12h72c6.627 0 12-5.373 12-12v-72c0-6.627-5.373-12-12-12h-12v-88h88v12c0 6.627 5.373 12 12 12h12v160zm40 64h-32v-32h32v32zm0-256h-32v-32h32v32z"],"paper-plane":[512,512,[],"f1d8","M440 6.5L24 246.4c-34.4 19.9-31.1 70.8 5.7 85.9L144 379.6V464c0 46.4 59.2 65.5 86.6 28.6l43.8-59.1 111.9 46.2c5.9 2.4 12.1 3.6 18.3 3.6 8.2 0 16.3-2.1 23.6-6.2 12.8-7.2 21.6-20 23.9-34.5l59.4-387.2c6.1-40.1-36.9-68.8-71.5-48.9zM192 464v-64.6l36.6 15.1L192 464zm212.6-28.7l-153.8-63.5L391 169.5c10.7-15.5-9.5-33.5-23.7-21.2L155.8 332.6 48 288 464 48l-59.4 387.3z"],"pause-circle":[512,512,[],"f28b","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm96-280v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16zm-112 0v160c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16z"],"play-circle":[512,512,[],"f144","M371.7 238l-176-107c-15.8-8.8-35.7 2.5-35.7 21v208c0 18.4 19.8 29.8 35.7 21l176-101c16.4-9.1 16.4-32.8 0-42zM504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256z"],"plus-square":[448,512,[],"f0fe","M352 240v32c0 6.6-5.4 12-12 12h-88v88c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-88h-88c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h88v-88c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v88h88c6.6 0 12 5.4 12 12zm96-160v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zm-48 346V86c0-3.3-2.7-6-6-6H54c-3.3 0-6 2.7-6 6v340c0 3.3 2.7 6 6 6h340c3.3 0 6-2.7 6-6z"],"question-circle":[512,512,[],"f059","M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 448c-110.532 0-200-89.431-200-200 0-110.495 89.472-200 200-200 110.491 0 200 89.471 200 200 0 110.53-89.431 200-200 200zm107.244-255.2c0 67.052-72.421 68.084-72.421 92.863V300c0 6.627-5.373 12-12 12h-45.647c-6.627 0-12-5.373-12-12v-8.659c0-35.745 27.1-50.034 47.579-61.516 17.561-9.845 28.324-16.541 28.324-29.579 0-17.246-21.999-28.693-39.784-28.693-23.189 0-33.894 10.977-48.942 29.969-4.057 5.12-11.46 6.071-16.666 2.124l-27.824-21.098c-5.107-3.872-6.251-11.066-2.644-16.363C184.846 131.491 214.94 112 261.794 112c49.071 0 101.45 38.304 101.45 88.8zM298 368c0 23.159-18.841 42-42 42s-42-18.841-42-42 18.841-42 42-42 42 18.841 42 42z"],registered:[512,512,[],"f25d","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 448c-110.532 0-200-89.451-200-200 0-110.531 89.451-200 200-200 110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200zm110.442-81.791c-53.046-96.284-50.25-91.468-53.271-96.085 24.267-13.879 39.482-41.563 39.482-73.176 0-52.503-30.247-85.252-101.498-85.252h-78.667c-6.617 0-12 5.383-12 12V380c0 6.617 5.383 12 12 12h38.568c6.617 0 12-5.383 12-12v-83.663h31.958l47.515 89.303a11.98 11.98 0 0 0 10.593 6.36h42.81c9.14 0 14.914-9.799 10.51-17.791zM256.933 239.906h-33.875v-64.14h27.377c32.417 0 38.929 12.133 38.929 31.709-.001 20.913-11.518 32.431-32.431 32.431z"],save:[448,512,[],"f0c7","M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM272 80v80H144V80h128zm122 352H54a6 6 0 0 1-6-6V86a6 6 0 0 1 6-6h42v104c0 13.255 10.745 24 24 24h176c13.255 0 24-10.745 24-24V83.882l78.243 78.243a6 6 0 0 1 1.757 4.243V426a6 6 0 0 1-6 6zM224 232c-48.523 0-88 39.477-88 88s39.477 88 88 88 88-39.477 88-88-39.477-88-88-88zm0 128c-22.056 0-40-17.944-40-40s17.944-40 40-40 40 17.944 40 40-17.944 40-40 40z"],"share-square":[576,512,[],"f14d","M561.938 158.06L417.94 14.092C387.926-15.922 336 5.097 336 48.032v57.198c-42.45 1.88-84.03 6.55-120.76 17.99-35.17 10.95-63.07 27.58-82.91 49.42C108.22 199.2 96 232.6 96 271.94c0 61.697 33.178 112.455 84.87 144.76 37.546 23.508 85.248-12.651 71.02-55.74-15.515-47.119-17.156-70.923 84.11-78.76V336c0 42.993 51.968 63.913 81.94 33.94l143.998-144c18.75-18.74 18.75-49.14 0-67.88zM384 336V232.16C255.309 234.082 166.492 255.35 206.31 376 176.79 357.55 144 324.08 144 271.94c0-109.334 129.14-118.947 240-119.85V48l144 144-144 144zm24.74 84.493a82.658 82.658 0 0 0 20.974-9.303c7.976-4.952 18.286.826 18.286 10.214V464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h132c6.627 0 12 5.373 12 12v4.486c0 4.917-2.987 9.369-7.569 11.152-13.702 5.331-26.396 11.537-38.05 18.585a12.138 12.138 0 0 1-6.28 1.777H54a6 6 0 0 0-6 6v340a6 6 0 0 0 6 6h340a6 6 0 0 0 6-6v-25.966c0-5.37 3.579-10.059 8.74-11.541z"],smile:[512,512,[],"f118","M256 56c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m0-48C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm64 136c-9.535 0-18.512 2.386-26.37 6.589h.017c12.735 0 23.059 10.324 23.059 23.059 0 12.735-10.324 23.059-23.059 23.059s-23.059-10.324-23.059-23.059v-.017C266.386 181.488 264 190.465 264 200c0 30.928 25.072 56 56 56s56-25.072 56-56-25.072-56-56-56zm-128 0c-9.535 0-18.512 2.386-26.37 6.589h.017c12.735 0 23.059 10.324 23.059 23.059 0 12.735-10.324 23.059-23.059 23.059-12.735 0-23.059-10.324-23.059-23.059v-.017C138.386 181.488 136 190.465 136 200c0 30.928 25.072 56 56 56s56-25.072 56-56-25.072-56-56-56zm195.372 182.219c18.819-25.592-19.856-54.017-38.67-28.438-50.135 68.177-135.229 68.18-185.367 0-18.828-25.601-57.478 2.861-38.67 28.438 69.298 94.231 193.323 94.351 262.707 0z"],snowflake:[448,512,[],"f2dc","M438.237 355.927l-66.574-38.54 59.448-10.327c5.846-1.375 10.609-5.183 13.458-10.13 2.48-4.307 3.506-9.478 2.524-14.651-2.11-11.115-12.686-18.039-23.621-15.467l-85.423 31.115L255.914 256l82.136-41.926 85.423 31.115c10.936 2.572 21.512-4.352 23.621-15.467 2.111-11.115-5.046-22.209-15.981-24.781l-59.448-10.327 66.573-38.54c9.54-5.523 12.615-18.092 6.867-28.074-5.748-9.982-18.14-13.596-27.68-8.074l-66.574 38.54 20.805-56.787c3.246-10.782-2.758-22.542-13.413-26.268-10.654-3.725-21.922 1.997-25.168 12.779l-15.838 89.735-72.423 41.926V136l69.585-58.621c7.689-8.21 6.997-20.856-1.548-28.245-8.545-7.391-21.705-6.723-29.394 1.486l-38.644 46.46V20c0-11.046-9.318-20-20.813-20s-20.813 8.954-20.813 20v77.08l-38.644-46.46c-7.689-8.21-20.849-8.876-29.394-1.486-8.544 7.389-9.236 20.035-1.547 28.245L203.187 136v83.853l-72.423-41.926-15.838-89.736c-3.247-10.782-14.515-16.504-25.169-12.779-10.656 3.725-16.659 15.486-13.413 26.268l20.805 56.787-66.573-38.54c-9.54-5.523-21.933-1.908-27.68 8.074s-2.673 22.551 6.867 28.074l66.574 38.54-59.449 10.328C5.953 207.515-1.202 218.609.907 229.724c2.11 11.114 12.686 18.038 23.622 15.466l85.422-31.115L192.086 256l-82.136 41.926-85.423-31.115c-10.936-2.572-21.511 4.352-23.622 15.466-2.109 11.113 5.046 22.209 15.981 24.781l59.449 10.328-66.574 38.54C.223 361.449-2.852 374.018 2.896 384s18.14 13.597 27.68 8.074l66.574-38.54-20.805 56.786c-1.735 5.764-.828 11.805 2.02 16.751 2.48 4.307 6.433 7.784 11.392 9.517 10.655 3.725 21.923-1.997 25.169-12.779l15.838-89.736 72.423-41.926V376l-69.585 58.621c-7.69 8.21-6.997 20.855 1.547 28.245 8.544 7.388 21.705 6.723 29.394-1.487l38.644-46.46V492c0 11.046 9.318 20 20.813 20s20.813-8.954 20.813-20v-77.081l38.644 46.46c4.111 4.389 9.782 6.621 15.478 6.621 4.96 0 9.939-1.694 13.916-5.134 8.545-7.39 9.237-20.035 1.548-28.245L244.813 376v-83.853l72.423 41.926 15.838 89.736c3.246 10.782 14.514 16.504 25.168 12.779 10.653-3.726 16.659-15.487 13.412-26.268l-20.805-56.787 66.574 38.54c9.54 5.523 21.933 1.908 27.68-8.074 5.749-9.981 2.675-22.55-6.866-28.072z"],square:[448,512,[],"f0c8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-6 400H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h340c3.3 0 6 2.7 6 6v340c0 3.3-2.7 6-6 6z"],star:[576,512,[],"f005","M528.1 171.5L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6zM388.6 312.3l23.7 138.4L288 385.4l-124.3 65.3 23.7-138.4-100.6-98 139-20.2 62.2-126 62.2 126 139 20.2-100.6 98z"],"star-half":[576,512,[],"f089","M288 385.3l-124.3 65.4 23.7-138.4-100.6-98 139-20.2 62.2-126V0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6v-54.3z"],"sticky-note":[448,512,[],"f249","M448 348.106V80c0-26.51-21.49-48-48-48H48C21.49 32 0 53.49 0 80v351.988c0 26.51 21.49 48 48 48h268.118a48 48 0 0 0 33.941-14.059l83.882-83.882A48 48 0 0 0 448 348.106zm-128 80v-76.118h76.118L320 428.106zM400 80v223.988H296c-13.255 0-24 10.745-24 24v104H48V80h352z"],"stop-circle":[512,512,[],"f28d","M504 256C504 119 393 8 256 8S8 119 8 256s111 248 248 248 248-111 248-248zm-448 0c0-110.5 89.5-200 200-200s200 89.5 200 200-89.5 200-200 200S56 366.5 56 256zm296-80v160c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16z"],sun:[512,512,[],"f185","M220.116 487.936l-20.213-49.425a3.992 3.992 0 0 0-5.808-1.886l-45.404 28.104c-29.466 18.24-66.295-8.519-58.054-42.179l12.699-51.865a3.993 3.993 0 0 0-3.59-4.941l-53.251-3.951c-34.554-2.562-48.632-45.855-22.174-68.247L65.08 259.05a3.992 3.992 0 0 0 0-6.106l-40.76-34.497c-26.45-22.384-12.39-65.682 22.174-68.246l53.251-3.951a3.993 3.993 0 0 0 3.59-4.941L90.637 89.443c-8.239-33.656 28.581-60.42 58.054-42.179l45.403 28.104a3.993 3.993 0 0 0 5.808-1.887l20.213-49.425c13.116-32.071 58.638-32.081 71.758 0l20.212 49.424a3.994 3.994 0 0 0 5.809 1.887l45.403-28.104c29.464-18.236 66.297 8.513 58.054 42.179l-12.699 51.865a3.995 3.995 0 0 0 3.59 4.941l53.251 3.951c34.553 2.563 48.633 45.854 22.175 68.246l-40.76 34.497a3.993 3.993 0 0 0 0 6.107l40.76 34.496c26.511 22.441 12.322 65.689-22.175 68.247l-53.251 3.951a3.993 3.993 0 0 0-3.589 4.942l12.698 51.864c8.241 33.658-28.583 60.421-58.054 42.18l-45.403-28.104a3.994 3.994 0 0 0-5.809 1.887l-20.212 49.424c-13.159 32.178-58.675 31.993-71.757 0zm16.814-64.568l19.064 46.616 19.064-46.615c10.308-25.2 40.778-35.066 63.892-20.759l42.822 26.507-11.976-48.919c-6.475-26.444 12.38-52.339 39.487-54.349l50.226-3.726-38.444-32.536c-20.782-17.591-20.747-49.621.001-67.18l38.442-32.536-50.225-3.727c-27.151-2.015-45.95-27.948-39.488-54.349l11.978-48.919-42.823 26.507c-23.151 14.327-53.603 4.4-63.892-20.76l-19.064-46.615-19.064 46.617c-10.305 25.198-40.778 35.066-63.891 20.76l-42.823-26.508 11.977 48.918c6.474 26.446-12.381 52.338-39.488 54.35l-50.224 3.726 38.443 32.537c20.782 17.588 20.747 49.619 0 67.178L52.48 322.123l50.226 3.726c27.151 2.014 45.95 27.947 39.487 54.349l-11.977 48.919 42.823-26.507c23.188-14.355 53.622-4.352 63.891 20.758zM256 384c-70.58 0-128-57.421-128-128 0-70.58 57.42-128 128-128 70.579 0 128 57.42 128 128 0 70.579-57.421 128-128 128zm0-208c-44.112 0-80 35.888-80 80s35.888 80 80 80 80-35.888 80-80-35.888-80-80-80z"],"thumbs-down":[512,512,[],"f165","M466.27 225.31c4.674-22.647.864-44.538-8.99-62.99 2.958-23.868-4.021-48.565-17.34-66.99C438.986 39.423 404.117 0 327 0c-7 0-15 .01-22.22.01C201.195.01 168.997 40 128 40h-10.845c-5.64-4.975-13.042-8-21.155-8H32C14.327 32 0 46.327 0 64v240c0 17.673 14.327 32 32 32h64c11.842 0 22.175-6.438 27.708-16h7.052c19.146 16.953 46.013 60.653 68.76 83.4 13.667 13.667 10.153 108.6 71.76 108.6 57.58 0 95.27-31.936 95.27-104.73 0-18.41-3.93-33.73-8.85-46.54h36.48c48.602 0 85.82-41.565 85.82-85.58 0-19.15-4.96-34.99-13.73-49.84zM64 296c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm330.18 16.73H290.19c0 37.82 28.36 55.37 28.36 94.54 0 23.75 0 56.73-47.27 56.73-18.91-18.91-9.46-66.18-37.82-94.54C206.9 342.89 167.28 272 138.92 272H128V85.83c53.611 0 100.001-37.82 171.64-37.82h37.82c35.512 0 60.82 17.12 53.12 65.9 15.2 8.16 26.5 36.44 13.94 57.57 21.581 20.384 18.699 51.065 5.21 65.62 9.45 0 22.36 18.91 22.27 37.81-.09 18.91-16.71 37.82-37.82 37.82z"],"thumbs-up":[512,512,[],"f164","M466.27 286.69C475.04 271.84 480 256 480 236.85c0-44.015-37.218-85.58-85.82-85.58H357.7c4.92-12.81 8.85-28.13 8.85-46.54C366.55 31.936 328.86 0 271.28 0c-61.607 0-58.093 94.933-71.76 108.6-22.747 22.747-49.615 66.447-68.76 83.4H32c-17.673 0-32 14.327-32 32v240c0 17.673 14.327 32 32 32h64c14.893 0 27.408-10.174 30.978-23.95 44.509 1.001 75.06 39.94 177.802 39.94 7.22 0 15.22.01 22.22.01 77.117 0 111.986-39.423 112.94-95.33 13.319-18.425 20.299-43.122 17.34-66.99 9.854-18.452 13.664-40.343 8.99-62.99zm-61.75 53.83c12.56 21.13 1.26 49.41-13.94 57.57 7.7 48.78-17.608 65.9-53.12 65.9h-37.82c-71.639 0-118.029-37.82-171.64-37.82V240h10.92c28.36 0 67.98-70.89 94.54-97.46 28.36-28.36 18.91-75.63 37.82-94.54 47.27 0 47.27 32.98 47.27 56.73 0 39.17-28.36 56.72-28.36 94.54h103.99c21.11 0 37.73 18.91 37.82 37.82.09 18.9-12.82 37.81-22.27 37.81 13.489 14.555 16.371 45.236-5.21 65.62zM88 432c0 13.255-10.745 24-24 24s-24-10.745-24-24 10.745-24 24-24 24 10.745 24 24z"],"times-circle":[512,512,[],"f057","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 448c-110.5 0-200-89.5-200-200S145.5 56 256 56s200 89.5 200 200-89.5 200-200 200zm101.8-262.2L295.6 256l62.2 62.2c4.7 4.7 4.7 12.3 0 17l-22.6 22.6c-4.7 4.7-12.3 4.7-17 0L256 295.6l-62.2 62.2c-4.7 4.7-12.3 4.7-17 0l-22.6-22.6c-4.7-4.7-4.7-12.3 0-17l62.2-62.2-62.2-62.2c-4.7-4.7-4.7-12.3 0-17l22.6-22.6c4.7-4.7 12.3-4.7 17 0l62.2 62.2 62.2-62.2c4.7-4.7 12.3-4.7 17 0l22.6 22.6c4.7 4.7 4.7 12.3 0 17z"],"trash-alt":[448,512,[],"f2ed","M192 188v216c0 6.627-5.373 12-12 12h-24c-6.627 0-12-5.373-12-12V188c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12zm100-12h-24c-6.627 0-12 5.373-12 12v216c0 6.627 5.373 12 12 12h24c6.627 0 12-5.373 12-12V188c0-6.627-5.373-12-12-12zm132-96c13.255 0 24 10.745 24 24v12c0 6.627-5.373 12-12 12h-20v336c0 26.51-21.49 48-48 48H80c-26.51 0-48-21.49-48-48V128H12c-6.627 0-12-5.373-12-12v-12c0-13.255 10.745-24 24-24h74.411l34.018-56.696A48 48 0 0 1 173.589 0h100.823a48 48 0 0 1 41.16 23.304L349.589 80H424zm-269.611 0h139.223L276.16 50.913A6 6 0 0 0 271.015 48h-94.028a6 6 0 0 0-5.145 2.913L154.389 80zM368 128H80v330a6 6 0 0 0 6 6h276a6 6 0 0 0 6-6V128z"],user:[512,512,[],"f007","M423.309 291.025L402.221 285C431.798 243.89 436 202.294 436 180 436 80.649 355.484 0 256 0 156.649 0 76 80.516 76 180c0 22.299 4.198 63.884 33.779 105l-21.088 6.025C21.28 310.285 0 371.59 0 408.605v25.681C0 477.138 34.862 512 77.714 512h356.571C477.138 512 512 477.138 512 434.286v-25.681c0-36.247-20.725-98.161-88.691-117.58zM256 48c72.902 0 132 59.099 132 132s-59.098 132-132 132-132-59.099-132-132S183.098 48 256 48zm208 386.286c0 16.41-13.304 29.714-29.714 29.714H77.714C61.304 464 48 450.696 48 434.286v-25.681c0-33.167 21.987-62.316 53.878-71.427l46.103-13.172C162.683 335.058 200.427 360 256 360s93.317-24.942 108.019-35.994l46.103 13.172C442.013 346.29 464 375.438 464 408.605v25.681z"],"user-circle":[512,512,[],"f2bd","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.457 0 200 89.543 200 200 0 36.982-10.049 71.611-27.548 101.328-7.072-25.444-25.663-54.208-63.93-65.374C377.207 271.782 384 248.414 384 224c0-70.689-57.189-128-128-128-70.689 0-128 57.19-128 128 0 24.414 6.793 47.783 19.478 67.954-38.299 11.175-56.876 39.913-63.938 65.362C66.046 327.601 56 292.976 56 256c0-110.457 89.543-200 200-200zm80 168c0 44.183-35.817 80-80 80s-80-35.817-80-80 35.817-80 80-80 80 35.817 80 80zM128 409.669v-27.758c0-20.41 13.53-38.348 33.156-43.955l24.476-6.993C206.342 344.648 230.605 352 256 352s49.658-7.352 70.369-21.038l24.476 6.993C370.47 343.563 384 361.5 384 381.911v27.758C349.315 438.592 304.693 456 256 456s-93.315-17.408-128-46.331z"],"window-close":[512,512,[],"f410","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V86c0-3.3 2.7-6 6-6h404c3.3 0 6 2.7 6 6v340zM356.5 194.6L295.1 256l61.4 61.4c4.6 4.6 4.6 12.1 0 16.8l-22.3 22.3c-4.6 4.6-12.1 4.6-16.8 0L256 295.1l-61.4 61.4c-4.6 4.6-12.1 4.6-16.8 0l-22.3-22.3c-4.6-4.6-4.6-12.1 0-16.8l61.4-61.4-61.4-61.4c-4.6-4.6-4.6-12.1 0-16.8l22.3-22.3c4.6-4.6 12.1-4.6 16.8 0l61.4 61.4 61.4-61.4c4.6-4.6 12.1-4.6 16.8 0l22.3 22.3c4.7 4.6 4.7 12.1 0 16.8z"],"window-maximize":[512,512,[],"f2d0","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm0 394c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V192h416v234z"],"window-minimize":[512,512,[],"f2d1","M480 480H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h448c17.7 0 32 14.3 32 32s-14.3 32-32 32z"],"window-restore":[512,512,[],"f2d2","M464 0H144c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h320c26.5 0 48-21.5 48-48v-48h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-96 464H48V256h320v208zm96-96h-48V144c0-26.5-21.5-48-48-48H144V48h320v320z"]};!function(c){try{c()}catch(c){if(!e)throw c}}(function(){!function c(l,h){var v=Object.keys(h).reduce(function(c,l){var v=h[l];return v.icon?c[v.iconName]=v.icon:c[l]=v,c},{});"function"==typeof s.hooks.addPack?s.hooks.addPack(l,v):s.styles[l]=r({},s.styles[l]||{},v),"fas"===l&&c("fa",h)}("far",f)})}(),function(){"use strict";var c={};try{"undefined"!=typeof window&&(c=window)}catch(c){}var l=(c.navigator||{}).userAgent,h=void 0===l?"":l,v=c,z=(~h.indexOf("MSIE")||h.indexOf("Trident/"),"___FONT_AWESOME___"),e=function(){try{return!0}catch(c){return!1}}(),a=[1,2,3,4,5,6,7,8,9,10],m=a.concat([11,12,13,14,15,16,17,18,19,20]);["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter"].concat(a.map(function(c){return c+"x"})).concat(m.map(function(c){return"w-"+c}));var t=v||{};t[z]||(t[z]={}),t[z].styles||(t[z].styles={}),t[z].hooks||(t[z].hooks={}),t[z].shims||(t[z].shims=[]);var s=t[z],r=Object.assign||function(c){for(var l=1;l<arguments.length;l++){var h=arguments[l];for(var v in h)Object.prototype.hasOwnProperty.call(h,v)&&(c[v]=h[v])}return c};var f={"address-book":[448,512,[],"f2b9","M436 160c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V48c0-26.51-21.49-48-48-48H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h20c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20v-64h20c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20v-64h20zm-228-32c44.183 0 80 35.817 80 80s-35.817 80-80 80-80-35.817-80-80 35.817-80 80-80zm128 232c0 13.255-10.745 24-24 24H104c-13.255 0-24-10.745-24-24v-18.523c0-22.026 14.99-41.225 36.358-46.567l35.657-8.914c29.101 20.932 74.509 26.945 111.97 0l35.657 8.914C321.01 300.252 336 319.452 336 341.477V360z"],"address-card":[512,512,[],"f2bb","M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm-288 80c38.66 0 70 31.34 70 70s-31.34 70-70 70-70-31.34-70-70 31.34-70 70-70zm112 203c0 11.598-9.402 21-21 21H85c-11.598 0-21-9.402-21-21v-16.207c0-19.272 13.116-36.072 31.813-40.746l31.2-7.8c25.464 18.316 65.195 23.577 97.974 0l31.2 7.8C274.884 294.721 288 311.52 288 330.793V347zm160-39c0 6.627-5.373 12-12 12H332c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v8zm0-64c0 6.627-5.373 12-12 12H332c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v8zm0-64c0 6.627-5.373 12-12 12H332c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v8z"],adjust:[512,512,[],"f042","M8 256c0 136.966 111.033 248 248 248s248-111.034 248-248S392.966 8 256 8 8 119.033 8 256zm248 184V72c101.705 0 184 82.311 184 184 0 101.705-82.311 184-184 184z"],"align-center":[448,512,[],"f037","M352 44v40c0 8.837-7.163 16-16 16H112c-8.837 0-16-7.163-16-16V44c0-8.837 7.163-16 16-16h224c8.837 0 16 7.163 16 16zM16 228h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 256h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm320-200H112c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16h224c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16z"],"align-justify":[448,512,[],"f039","M0 84V44c0-8.837 7.163-16 16-16h416c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16zm16 144h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 256h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0-128h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"],"align-left":[448,512,[],"f036","M288 44v40c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16V44c0-8.837 7.163-16 16-16h256c8.837 0 16 7.163 16 16zM0 172v40c0 8.837 7.163 16 16 16h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16zm16 312h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm256-200H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16h256c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16z"],"align-right":[448,512,[],"f038","M160 84V44c0-8.837 7.163-16 16-16h256c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H176c-8.837 0-16-7.163-16-16zM16 228h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 256h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm160-128h256c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H176c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"],ambulance:[640,512,[],"f0f9","M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm144-248c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48zm176 248c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"],"american-sign-language-interpreting":[640,512,[],"f2a3","M290.547 189.039c-20.295-10.149-44.147-11.199-64.739-3.89 42.606 0 71.208 20.475 85.578 50.576 8.576 17.899-5.148 38.071-23.617 38.071 18.429 0 32.211 20.136 23.617 38.071-14.725 30.846-46.123 50.854-80.298 50.854-.557 0-94.471-8.615-94.471-8.615l-66.406 33.347c-9.384 4.693-19.815.379-23.895-7.781L1.86 290.747c-4.167-8.615-1.111-18.897 6.946-23.621l58.072-33.069L108 159.861c6.39-57.245 34.731-109.767 79.743-146.726 11.391-9.448 28.341-7.781 37.51 3.613 9.446 11.394 7.78 28.067-3.612 37.516-12.503 10.559-23.618 22.509-32.509 35.57 21.672-14.729 46.679-24.732 74.186-28.067 14.725-1.945 28.063 8.336 29.73 23.065 1.945 14.728-8.336 28.067-23.062 29.734-16.116 1.945-31.12 7.503-44.178 15.284 26.114-5.713 58.712-3.138 88.079 11.115 13.336 6.669 18.893 22.509 12.224 35.848-6.389 13.06-22.504 18.617-35.564 12.226zm-27.229 69.472c-6.112-12.505-18.338-20.286-32.231-20.286a35.46 35.46 0 0 0-35.565 35.57c0 21.428 17.808 35.57 35.565 35.57 13.893 0 26.119-7.781 32.231-20.286 4.446-9.449 13.614-15.006 23.339-15.284-9.725-.277-18.893-5.835-23.339-15.284zm374.821-37.237c4.168 8.615 1.111 18.897-6.946 23.621l-58.071 33.069L532 352.16c-6.39 57.245-34.731 109.767-79.743 146.726-10.932 9.112-27.799 8.144-37.51-3.613-9.446-11.394-7.78-28.067 3.613-37.516 12.503-10.559 23.617-22.509 32.508-35.57-21.672 14.729-46.679 24.732-74.186 28.067-10.021 2.506-27.552-5.643-29.73-23.065-1.945-14.728 8.336-28.067 23.062-29.734 16.116-1.946 31.12-7.503 44.178-15.284-26.114 5.713-58.712 3.138-88.079-11.115-13.336-6.669-18.893-22.509-12.224-35.848 6.389-13.061 22.505-18.619 35.565-12.227 20.295 10.149 44.147 11.199 64.739 3.89-42.606 0-71.208-20.475-85.578-50.576-8.576-17.899 5.148-38.071 23.617-38.071-18.429 0-32.211-20.136-23.617-38.071 14.033-29.396 44.039-50.887 81.966-50.854l92.803 8.615 66.406-33.347c9.408-4.704 19.828-.354 23.894 7.781l44.455 88.926zm-229.227-18.618c-13.893 0-26.119 7.781-32.231 20.286-4.446 9.449-13.614 15.006-23.339 15.284 9.725.278 18.893 5.836 23.339 15.284 6.112 12.505 18.338 20.286 32.231 20.286a35.46 35.46 0 0 0 35.565-35.57c0-21.429-17.808-35.57-35.565-35.57z"],anchor:[576,512,[],"f13d","M12.971 352h32.394C67.172 454.735 181.944 512 288 512c106.229 0 220.853-57.38 242.635-160h32.394c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0l-67.029 67.029c-7.56 7.56-2.206 20.485 8.485 20.485h35.146c-20.29 54.317-84.963 86.588-144.117 94.015V256h52c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-52v-5.47c37.281-13.178 63.995-48.725 64-90.518C384.005 43.772 341.605.738 289.37.01 235.723-.739 192 42.525 192 96c0 41.798 26.716 77.35 64 90.53V192h-52c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v190.015c-58.936-7.399-123.82-39.679-144.117-94.015h35.146c10.691 0 16.045-12.926 8.485-20.485l-67.029-67.029c-4.686-4.686-12.284-4.686-16.971 0L4.485 331.515C-3.074 339.074 2.28 352 12.971 352zM288 64c17.645 0 32 14.355 32 32s-14.355 32-32 32-32-14.355-32-32 14.355-32 32-32z"],"angle-double-down":[320,512,[],"f103","M143 256.3L7 120.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0L313 86.3c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.4 9.5-24.6 9.5-34 .1zm34 192l136-136c9.4-9.4 9.4-24.6 0-33.9l-22.6-22.6c-9.4-9.4-24.6-9.4-33.9 0L160 352.1l-96.4-96.4c-9.4-9.4-24.6-9.4-33.9 0L7 278.3c-9.4 9.4-9.4 24.6 0 33.9l136 136c9.4 9.5 24.6 9.5 34 .1z"],"angle-double-left":[448,512,[],"f100","M223.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L319.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L393.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34zm-192 34l136 136c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9L127.9 256l96.4-96.4c9.4-9.4 9.4-24.6 0-33.9L201.7 103c-9.4-9.4-24.6-9.4-33.9 0l-136 136c-9.5 9.4-9.5 24.6-.1 34z"],"angle-double-right":[448,512,[],"f101","M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34zm192-34l-136-136c-9.4-9.4-24.6-9.4-33.9 0l-22.6 22.6c-9.4 9.4-9.4 24.6 0 33.9l96.4 96.4-96.4 96.4c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l136-136c9.4-9.2 9.4-24.4 0-33.8z"],"angle-double-up":[320,512,[],"f102","M177 255.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 351.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 425.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1zm-34-192L7 199.7c-9.4 9.4-9.4 24.6 0 33.9l22.6 22.6c9.4 9.4 24.6 9.4 33.9 0l96.4-96.4 96.4 96.4c9.4 9.4 24.6 9.4 33.9 0l22.6-22.6c9.4-9.4 9.4-24.6 0-33.9l-136-136c-9.2-9.4-24.4-9.4-33.8 0z"],"angle-down":[320,512,[],"f107","M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z"],"angle-left":[256,512,[],"f104","M31.7 239l136-136c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9L127.9 256l96.4 96.4c9.4 9.4 9.4 24.6 0 33.9L201.7 409c-9.4 9.4-24.6 9.4-33.9 0l-136-136c-9.5-9.4-9.5-24.6-.1-34z"],"angle-right":[256,512,[],"f105","M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z"],"angle-up":[320,512,[],"f106","M177 159.7l136 136c9.4 9.4 9.4 24.6 0 33.9l-22.6 22.6c-9.4 9.4-24.6 9.4-33.9 0L160 255.9l-96.4 96.4c-9.4 9.4-24.6 9.4-33.9 0L7 329.7c-9.4-9.4-9.4-24.6 0-33.9l136-136c9.4-9.5 24.6-9.5 34-.1z"],archive:[512,512,[],"f187","M488 128H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h464c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24zm-8 328V184c0-13.255-10.745-24-24-24H56c-13.255 0-24 10.745-24 24v272c0 13.255 10.745 24 24 24h400c13.255 0 24-10.745 24-24zM308 256H204c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12z"],"arrow-alt-circle-down":[512,512,[],"f358","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM212 140v116h-70.9c-10.7 0-16.1 13-8.5 20.5l114.9 114.3c4.7 4.7 12.2 4.7 16.9 0l114.9-114.3c7.6-7.6 2.2-20.5-8.5-20.5H300V140c0-6.6-5.4-12-12-12h-64c-6.6 0-12 5.4-12 12z"],"arrow-alt-circle-left":[512,512,[],"f359","M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm116-292H256v-70.9c0-10.7-13-16.1-20.5-8.5L121.2 247.5c-4.7 4.7-4.7 12.2 0 16.9l114.3 114.9c7.6 7.6 20.5 2.2 20.5-8.5V300h116c6.6 0 12-5.4 12-12v-64c0-6.6-5.4-12-12-12z"],"arrow-alt-circle-right":[512,512,[],"f35a","M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z"],"arrow-alt-circle-up":[512,512,[],"f35b","M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm292 116V256h70.9c10.7 0 16.1-13 8.5-20.5L264.5 121.2c-4.7-4.7-12.2-4.7-16.9 0l-115 114.3c-7.6 7.6-2.2 20.5 8.5 20.5H212v116c0 6.6 5.4 12 12 12h64c6.6 0 12-5.4 12-12z"],"arrow-circle-down":[512,512,[],"f0ab","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-143.6-28.9L288 302.6V120c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v182.6l-72.4-75.5c-9.3-9.7-24.8-9.9-34.3-.4l-10.9 11c-9.4 9.4-9.4 24.6 0 33.9L239 404.3c9.4 9.4 24.6 9.4 33.9 0l132.7-132.7c9.4-9.4 9.4-24.6 0-33.9l-10.9-11c-9.5-9.5-25-9.3-34.3.4z"],"arrow-circle-left":[512,512,[],"f0a8","M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zm28.9-143.6L209.4 288H392c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24H209.4l75.5-72.4c9.7-9.3 9.9-24.8.4-34.3l-11-10.9c-9.4-9.4-24.6-9.4-33.9 0L107.7 239c-9.4 9.4-9.4 24.6 0 33.9l132.7 132.7c9.4 9.4 24.6 9.4 33.9 0l11-10.9c9.5-9.5 9.3-25-.4-34.3z"],"arrow-circle-right":[512,512,[],"f0a9","M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm-28.9 143.6l75.5 72.4H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h182.6l-75.5 72.4c-9.7 9.3-9.9 24.8-.4 34.3l11 10.9c9.4 9.4 24.6 9.4 33.9 0L404.3 273c9.4-9.4 9.4-24.6 0-33.9L271.6 106.3c-9.4-9.4-24.6-9.4-33.9 0l-11 10.9c-9.5 9.6-9.3 25.1.4 34.4z"],"arrow-circle-up":[512,512,[],"f0aa","M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm143.6 28.9l72.4-75.5V392c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24V209.4l72.4 75.5c9.3 9.7 24.8 9.9 34.3.4l10.9-11c9.4-9.4 9.4-24.6 0-33.9L273 107.7c-9.4-9.4-24.6-9.4-33.9 0L106.3 240.4c-9.4 9.4-9.4 24.6 0 33.9l10.9 11c9.6 9.5 25.1 9.3 34.4-.4z"],"arrow-down":[448,512,[],"f063","M413.1 222.5l22.2 22.2c9.4 9.4 9.4 24.6 0 33.9L241 473c-9.4 9.4-24.6 9.4-33.9 0L12.7 278.6c-9.4-9.4-9.4-24.6 0-33.9l22.2-22.2c9.5-9.5 25-9.3 34.3.4L184 343.4V56c0-13.3 10.7-24 24-24h32c13.3 0 24 10.7 24 24v287.4l114.8-120.5c9.3-9.8 24.8-10 34.3-.4z"],"arrow-left":[448,512,[],"f060","M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z"],"arrow-right":[448,512,[],"f061","M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z"],"arrow-up":[448,512,[],"f062","M34.9 289.5l-22.2-22.2c-9.4-9.4-9.4-24.6 0-33.9L207 39c9.4-9.4 24.6-9.4 33.9 0l194.3 194.3c9.4 9.4 9.4 24.6 0 33.9L413 289.4c-9.5 9.5-25 9.3-34.3-.4L264 168.6V456c0 13.3-10.7 24-24 24h-32c-13.3 0-24-10.7-24-24V168.6L69.2 289.1c-9.3 9.8-24.8 10-34.3.4z"],"arrows-alt":[512,512,[],"f0b2","M352.201 425.775l-79.196 79.196c-9.373 9.373-24.568 9.373-33.941 0l-79.196-79.196c-15.119-15.119-4.411-40.971 16.971-40.97h51.162L228 284H127.196v51.162c0 21.382-25.851 32.09-40.971 16.971L7.029 272.937c-9.373-9.373-9.373-24.569 0-33.941L86.225 159.8c15.119-15.119 40.971-4.411 40.971 16.971V228H228V127.196h-51.23c-21.382 0-32.09-25.851-16.971-40.971l79.196-79.196c9.373-9.373 24.568-9.373 33.941 0l79.196 79.196c15.119 15.119 4.411 40.971-16.971 40.971h-51.162V228h100.804v-51.162c0-21.382 25.851-32.09 40.97-16.971l79.196 79.196c9.373 9.373 9.373 24.569 0 33.941L425.773 352.2c-15.119 15.119-40.971 4.411-40.97-16.971V284H284v100.804h51.23c21.382 0 32.09 25.851 16.971 40.971z"],"arrows-alt-h":[512,512,[],"f337","M377.941 169.941V216H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.568 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296h243.882v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.568 0-33.941l-86.059-86.059c-15.119-15.12-40.971-4.412-40.971 16.97z"],"arrows-alt-v":[256,512,[],"f338","M214.059 377.941H168V134.059h46.059c21.382 0 32.09-25.851 16.971-40.971L144.971 7.029c-9.373-9.373-24.568-9.373-33.941 0L24.971 93.088c-15.119 15.119-4.411 40.971 16.971 40.971H88v243.882H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.568 9.373 33.941 0l86.059-86.059c15.12-15.119 4.412-40.971-16.97-40.971z"],"assistive-listening-systems":[512,512,[],"f2a2","M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm-80 236c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zM32 448c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm480-187.993c0-1.518-.012-3.025-.045-4.531C510.076 140.525 436.157 38.47 327.994 1.511c-14.633-4.998-30.549 2.809-35.55 17.442-5 14.633 2.81 30.549 17.442 35.55 85.906 29.354 144.61 110.513 146.077 201.953l.003.188c.026 1.118.033 2.236.033 3.363 0 15.464 12.536 28 28 28s28.001-12.536 28.001-28zM152.971 439.029l-80-80L39.03 392.97l80 80 33.941-33.941z"],asterisk:[512,512,[],"f069","M478.21 334.093L336 256l142.21-78.093c11.795-6.477 15.961-21.384 9.232-33.037l-19.48-33.741c-6.728-11.653-21.72-15.499-33.227-8.523L296 186.718l3.475-162.204C299.763 11.061 288.937 0 275.48 0h-38.96c-13.456 0-24.283 11.061-23.994 24.514L216 186.718 77.265 102.607c-11.506-6.976-26.499-3.13-33.227 8.523l-19.48 33.741c-6.728 11.653-2.562 26.56 9.233 33.037L176 256 33.79 334.093c-11.795 6.477-15.961 21.384-9.232 33.037l19.48 33.741c6.728 11.653 21.721 15.499 33.227 8.523L216 325.282l-3.475 162.204C212.237 500.939 223.064 512 236.52 512h38.961c13.456 0 24.283-11.061 23.995-24.514L296 325.282l138.735 84.111c11.506 6.976 26.499 3.13 33.227-8.523l19.48-33.741c6.728-11.653 2.563-26.559-9.232-33.036z"],at:[512,512,[],"f1fa","M256 8C118.941 8 8 118.919 8 256c0 137.059 110.919 248 248 248 48.154 0 95.342-14.14 135.408-40.223 12.005-7.815 14.625-24.288 5.552-35.372l-10.177-12.433c-7.671-9.371-21.179-11.667-31.373-5.129C325.92 429.757 291.314 440 256 440c-101.458 0-184-82.542-184-184S154.542 72 256 72c100.139 0 184 57.619 184 160 0 38.786-21.093 79.742-58.17 83.693-17.349-.454-16.91-12.857-13.476-30.024l23.433-121.11C394.653 149.75 383.308 136 368.225 136h-44.981a13.518 13.518 0 0 0-13.432 11.993l-.01.092c-14.697-17.901-40.448-21.775-59.971-21.775-74.58 0-137.831 62.234-137.831 151.46 0 65.303 36.785 105.87 96 105.87 26.984 0 57.369-15.637 74.991-38.333 9.522 34.104 40.613 34.103 70.71 34.103C462.609 379.41 504 307.798 504 232 504 95.653 394.023 8 256 8zm-21.68 304.43c-22.249 0-36.07-15.623-36.07-40.771 0-44.993 30.779-72.729 58.63-72.729 22.292 0 35.601 15.241 35.601 40.77 0 45.061-33.875 72.73-58.161 72.73z"],"audio-description":[512,512,[],"f29e","M162.925 238.709l8.822 30.655h-25.606l9.041-30.652c1.277-4.421 2.651-9.994 3.872-15.245 1.22 5.251 2.594 10.823 3.871 15.242zm166.474-32.099h-14.523v98.781h14.523c29.776 0 46.175-17.678 46.175-49.776 0-32.239-17.49-49.005-46.175-49.005zM512 112v288c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48zM245.459 336.139l-57.097-168A12.001 12.001 0 0 0 177 160h-35.894a12.001 12.001 0 0 0-11.362 8.139l-57.097 168C70.003 343.922 75.789 352 84.009 352h29.133a12 12 0 0 0 11.535-8.693l8.574-29.906h51.367l8.793 29.977A12 12 0 0 0 204.926 352h29.172c8.22 0 14.006-8.078 11.361-15.861zm184.701-80.525c0-58.977-37.919-95.614-98.96-95.614h-57.366c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12H331.2c61.041 0 98.96-36.933 98.96-96.386z"],backward:[512,512,[],"f04a","M11.5 280.6l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2zm256 0l192 160c20.6 17.2 52.5 2.8 52.5-24.6V96c0-27.4-31.9-41.8-52.5-24.6l-192 160c-15.3 12.8-15.3 36.4 0 49.2z"],"balance-scale":[640,512,[],"f24e","M352 448h168c13.255 0 24 10.745 24 24v16c0 13.255-10.745 24-24 24H120c-13.255 0-24-10.745-24-24v-16c0-13.255 10.745-24 24-24h168V153.324C264.469 143.04 246.836 121.778 241.603 96H120c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h135.999C270.594 12.57 293.828 0 320 0s49.406 12.57 64.001 32H520c13.255 0 24 10.745 24 24v16c0 13.255-10.745 24-24 24H398.397c-5.233 25.778-22.866 47.04-46.397 57.324V448zm287.981-112c.001-16.182 1.342-8.726-85.048-181.506-17.647-35.294-68.186-35.358-85.865 0C381.94 328.75 384.019 320.331 384.019 336H384c0 44.183 57.308 80 128 80s128-35.817 128-80h-.019zM512 176l72 144H440l72-144zM255.981 336c.001-16.182 1.342-8.726-85.048-181.506-17.647-35.294-68.186-35.358-85.865 0C-2.06 328.75.019 320.331.019 336H0c0 44.183 57.308 80 128 80s128-35.817 128-80h-.019zM128 176l72 144H56l72-144z"],ban:[512,512,[],"f05e","M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248 248-111.034 248-248S392.967 8 256 8zm130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676zM125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676z"],"band-aid":[640,512,[],"f462","M0 160v192c0 35.3 28.7 64 64 64h96V96H64c-35.3 0-64 28.7-64 64zm576-64h-96v320h96c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64zM192 416h256V96H192v320zm176-232c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm-96-96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm0 96c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24z"],barcode:[512,512,[],"f02a","M0 448V64h18v384H0zm26.857-.273V64H36v383.727h-9.143zm27.143 0V64h8.857v383.727H54zm44.857 0V64h8.857v383.727h-8.857zm36 0V64h17.714v383.727h-17.714zm44.857 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm18 0V64h8.857v383.727h-8.857zm35.715 0V64h18v383.727h-18zm44.857 0V64h18v383.727h-18zm35.999 0V64h18.001v383.727h-18.001zm36.001 0V64h18.001v383.727h-18.001zm26.857 0V64h18v383.727h-18zm45.143 0V64h26.857v383.727h-26.857zm35.714 0V64h9.143v383.727H476zm18 .273V64h18v384h-18z"],bars:[448,512,[],"f0c9","M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"],"baseball-ball":[496,512,[],"f433","M368.5 363.9l28.8-13.9c11.1 22.9 26 43.2 44.1 60.9 34-42.5 54.5-96.3 54.5-154.9 0-58.5-20.4-112.2-54.2-154.6-17.8 17.3-32.6 37.1-43.6 59.5l-28.7-14.1c12.8-26 30-49 50.8-69C375.6 34.7 315 8 248 8 181.1 8 120.5 34.6 75.9 77.7c20.7 19.9 37.9 42.9 50.7 68.8l-28.7 14.1c-11-22.3-25.7-42.1-43.5-59.4C20.4 143.7 0 197.4 0 256c0 58.6 20.4 112.3 54.4 154.7 18.2-17.7 33.2-38 44.3-61l28.8 13.9c-12.9 26.7-30.3 50.3-51.5 70.7 44.5 43.1 105.1 69.7 172 69.7 66.8 0 127.3-26.5 171.9-69.5-21.1-20.4-38.5-43.9-51.4-70.6zm-228.3-32l-30.5-9.8c14.9-46.4 12.7-93.8-.6-134l30.4-10c15 45.6 18 99.9.7 153.8zm216.3-153.4l30.4 10c-13.2 40.1-15.5 87.5-.6 134l-30.5 9.8c-17.3-54-14.3-108.3.7-153.8z"],"basketball-ball":[496,512,[],"f434","M212.3 10.3c-43.8 6.3-86.2 24.1-122.2 53.8l77.4 77.4c27.8-35.8 43.3-81.2 44.8-131.2zM248 222L405.9 64.1c-42.4-35-93.6-53.5-145.5-56.1-1.2 63.9-21.5 122.3-58.7 167.7L248 222zM56.1 98.1c-29.7 36-47.5 78.4-53.8 122.2 50-1.5 95.5-17 131.2-44.8L56.1 98.1zm272.2 204.2c45.3-37.1 103.7-57.4 167.7-58.7-2.6-51.9-21.1-103.1-56.1-145.5L282 256l46.3 46.3zM248 290L90.1 447.9c42.4 34.9 93.6 53.5 145.5 56.1 1.3-64 21.6-122.4 58.7-167.7L248 290zm191.9 123.9c29.7-36 47.5-78.4 53.8-122.2-50.1 1.6-95.5 17.1-131.2 44.8l77.4 77.4zM167.7 209.7C122.3 246.9 63.9 267.3 0 268.4c2.6 51.9 21.1 103.1 56.1 145.5L214 256l-46.3-46.3zm116 292c43.8-6.3 86.2-24.1 122.2-53.8l-77.4-77.4c-27.7 35.7-43.2 81.2-44.8 131.2z"],bath:[512,512,[],"f2cd","M488 256H80V112c0-17.645 14.355-32 32-32 11.351 0 21.332 5.945 27.015 14.88-16.492 25.207-14.687 59.576 6.838 83.035-4.176 4.713-4.021 11.916.491 16.428l11.314 11.314c4.686 4.686 12.284 4.686 16.971 0l95.03-95.029c4.686-4.686 4.686-12.284 0-16.971l-11.314-11.314c-4.512-4.512-11.715-4.666-16.428-.491-17.949-16.469-42.294-21.429-64.178-15.365C163.281 45.667 139.212 32 112 32c-44.112 0-80 35.888-80 80v144h-8c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h8v32c0 28.43 12.362 53.969 32 71.547V456c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-8h256v8c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-32.453c19.638-17.578 32-43.117 32-71.547v-32h8c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z"],"battery-empty":[640,512,[],"f244","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48z"],"battery-full":[640,512,[],"f240","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-48 96H96v128h416V192z"],"battery-half":[640,512,[],"f242","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-240 96H96v128h224V192z"],"battery-quarter":[640,512,[],"f243","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-336 96H96v128h128V192z"],"battery-three-quarters":[640,512,[],"f241","M544 160v64h32v64h-32v64H64V160h480m16-64H48c-26.51 0-48 21.49-48 48v224c0 26.51 21.49 48 48 48h512c26.51 0 48-21.49 48-48v-16h8c13.255 0 24-10.745 24-24V184c0-13.255-10.745-24-24-24h-8v-16c0-26.51-21.49-48-48-48zm-144 96H96v128h320V192z"],bed:[576,512,[],"f236","M552 288c13.255 0 24 10.745 24 24v136h-96v-64H96v64H0V88c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24v200h456zM192 96c-44.183 0-80 35.817-80 80s35.817 80 80 80 80-35.817 80-80-35.817-80-80-80zm384 128c0-53.019-42.981-96-96-96H312c-13.255 0-24 10.745-24 24v104h288v-32z"],beer:[448,512,[],"f0fc","M368 96h-48V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24v-42.11l80.606-35.977C429.396 365.063 448 336.388 448 304.86V176c0-44.112-35.888-80-80-80zm16 208.86a16.018 16.018 0 0 1-9.479 14.611L320 343.805V160h48c8.822 0 16 7.178 16 16v128.86zM208 384c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16zm-96 0c-8.836 0-16-7.164-16-16V144c0-8.836 7.164-16 16-16s16 7.164 16 16v224c0 8.836-7.164 16-16 16z"],bell:[448,512,[],"f0f3","M433.884 366.059C411.634 343.809 384 316.118 384 208c0-79.394-57.831-145.269-133.663-157.83A31.845 31.845 0 0 0 256 32c0-17.673-14.327-32-32-32s-32 14.327-32 32c0 6.75 2.095 13.008 5.663 18.17C121.831 62.731 64 128.606 64 208c0 108.118-27.643 135.809-49.893 158.059C-16.042 396.208 5.325 448 48.048 448H160c0 35.346 28.654 64 64 64s64-28.654 64-64h111.943c42.638 0 64.151-51.731 33.941-81.941zM224 472a8 8 0 0 1 0 16c-22.056 0-40-17.944-40-40h16c0 13.234 10.766 24 24 24z"],"bell-slash":[576,512,[],"f1f6","M78.107 366.059C47.958 396.208 69.325 448 112.048 448H224c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64h32.685L127.848 221.379c-2.198 97.078-28.439 123.378-49.741 144.68zM264 448c0 13.234 10.766 24 24 24a8 8 0 0 1 0 16c-22.056 0-40-17.944-40-40h16zm305.896 43.733l-10.762 12.086c-8.915 10.012-24.333 10.967-34.437 2.133L8.256 54.393C-1.848 45.558-2.811 30.28 6.104 20.267L16.865 8.181C25.781-1.831 41.199-2.786 51.303 6.049l113.81 99.512c24.017-28.778 57.946-48.996 96.55-55.39A31.85 31.85 0 0 1 256 32c0-17.673 14.327-32 32-32s32 14.327 32 32c0 6.75-2.095 13.008-5.663 18.17C390.169 62.731 448 128.606 448 208c0 108.118 27.634 135.809 49.884 158.059 12.149 12.149 15.923 27.776 13.33 42.121l56.53 49.427c10.104 8.835 11.067 24.113 2.152 34.126z"],bicycle:[640,512,[],"f206","M512.509 192.001c-16.373-.064-32.03 2.955-46.436 8.495l-77.68-125.153A24 24 0 0 0 368.001 64h-64c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h50.649l14.896 24H256.002v-16c0-8.837-7.163-16-16-16h-87.459c-13.441 0-24.777 10.999-24.536 24.437.232 13.044 10.876 23.563 23.995 23.563h48.726l-29.417 47.52c-13.433-4.83-27.904-7.483-42.992-7.52C58.094 191.83.412 249.012.002 319.236-.413 390.279 57.055 448 128.002 448c59.642 0 109.758-40.793 123.967-96h52.033a24 24 0 0 0 20.406-11.367L410.37 201.77l14.938 24.067c-25.455 23.448-41.385 57.081-41.307 94.437.145 68.833 57.899 127.051 126.729 127.719 70.606.685 128.181-55.803 129.255-125.996 1.086-70.941-56.526-129.72-127.476-129.996zM186.75 265.772c9.727 10.529 16.673 23.661 19.642 38.228h-43.306l23.664-38.228zM128.002 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c5.869 0 11.586.653 17.099 1.859l-45.505 73.509C89.715 331.327 101.213 352 120.002 352h81.3c-12.37 28.225-40.562 48-73.3 48zm162.63-96h-35.624c-3.96-31.756-19.556-59.894-42.383-80.026L237.371 184h127.547l-74.286 120zm217.057 95.886c-41.036-2.165-74.049-35.692-75.627-76.755-.812-21.121 6.633-40.518 19.335-55.263l44.433 71.586c4.66 7.508 14.524 9.816 22.032 5.156l13.594-8.437c7.508-4.66 9.817-14.524 5.156-22.032l-44.468-71.643a79.901 79.901 0 0 1 19.858-2.497c44.112 0 80 35.888 80 80-.001 45.54-38.252 82.316-84.313 79.885z"],binoculars:[512,512,[],"f1e5","M192 104H96V56c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24v48zm224-48c0-13.255-10.745-24-24-24h-48c-13.255 0-24 10.745-24 24v48h96V56zM0 456c0 13.255 10.745 24 24 24h120c13.255 0 24-10.745 24-24v-16H0v16zm88-328c-13.255 0-24 10.745-24 24C64 256 0 272 0 416h168V312c0-13.255 10.745-24 24-24V128H88zm256 328c0 13.255 10.745 24 24 24h120c13.255 0 24-10.745 24-24v-16H344v16zM216 128v160h80V128h-80zm128 288h168c0-144-64-160-64-264 0-13.255-10.745-24-24-24H320v160c13.255 0 24 10.745 24 24v104z"],"birthday-cake":[448,512,[],"f1fd","M448 384c-28.02 0-31.26-32-74.5-32-43.43 0-46.825 32-74.75 32-27.695 0-31.454-32-74.75-32-42.842 0-47.218 32-74.5 32-28.148 0-31.202-32-74.75-32-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48v80zm0 128H0v-96c43.356 0 46.767-32 74.75-32 27.951 0 31.253 32 74.75 32 42.843 0 47.217-32 74.5-32 28.148 0 31.201 32 74.75 32 43.357 0 46.767-32 74.75-32 27.488 0 31.252 32 74.5 32v96zM96 96c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40zm128 0c-17.75 0-32-14.25-32-32 0-31 32-23 32-64 12 0 32 29.5 32 56s-14.25 40-32 40z"],blind:[384,512,[],"f29d","M380.15 510.837a8 8 0 0 1-10.989-2.687l-125.33-206.427a31.923 31.923 0 0 0 12.958-9.485l126.048 207.608a8 8 0 0 1-2.687 10.991zM142.803 314.338l-32.54 89.485 36.12 88.285c6.693 16.36 25.377 24.192 41.733 17.501 16.357-6.692 24.193-25.376 17.501-41.734l-62.814-153.537zM96 88c24.301 0 44-19.699 44-44S120.301 0 96 0 52 19.699 52 44s19.699 44 44 44zm154.837 169.128l-120-152c-4.733-5.995-11.75-9.108-18.837-9.112V96H80v.026c-7.146.003-14.217 3.161-18.944 9.24L0 183.766v95.694c0 13.455 11.011 24.791 24.464 24.536C37.505 303.748 48 293.1 48 280v-79.766l16-20.571v140.698L9.927 469.055c-6.04 16.609 2.528 34.969 19.138 41.009 16.602 6.039 34.968-2.524 41.009-19.138L136 309.638V202.441l-31.406-39.816a4 4 0 1 1 6.269-4.971l102.3 129.217c9.145 11.584 24.368 11.339 33.708 3.965 10.41-8.216 12.159-23.334 3.966-33.708z"],bold:[384,512,[],"f032","M304.793 243.891c33.639-18.537 53.657-54.16 53.657-95.693 0-48.236-26.25-87.626-68.626-104.179C265.138 34.01 240.849 32 209.661 32H24c-8.837 0-16 7.163-16 16v33.049c0 8.837 7.163 16 16 16h33.113v318.53H24c-8.837 0-16 7.163-16 16V464c0 8.837 7.163 16 16 16h195.69c24.203 0 44.834-1.289 66.866-7.584C337.52 457.193 376 410.647 376 350.014c0-52.168-26.573-91.684-71.207-106.123zM142.217 100.809h67.444c16.294 0 27.536 2.019 37.525 6.717 15.828 8.479 24.906 26.502 24.906 49.446 0 35.029-20.32 56.79-53.029 56.79h-76.846V100.809zm112.642 305.475c-10.14 4.056-22.677 4.907-31.409 4.907h-81.233V281.943h84.367c39.645 0 63.057 25.38 63.057 63.057.001 28.425-13.66 52.483-34.782 61.284z"],bolt:[320,512,[],"f0e7","M295.973 160H180.572L215.19 30.184C219.25 14.956 207.756 0 192 0H56C43.971 0 33.8 8.905 32.211 20.828l-31.996 240C-1.704 275.217 9.504 288 24.004 288h118.701L96.646 482.466C93.05 497.649 104.659 512 119.992 512c8.35 0 16.376-4.374 20.778-11.978l175.973-303.997c9.244-15.967-2.288-36.025-20.77-36.025z"],bomb:[512,512,[],"f1e2","M440.5 88.5l-52 52L415 167c9.4 9.4 9.4 24.6 0 33.9l-17.4 17.4c11.8 26.1 18.4 55.1 18.4 85.6 0 114.9-93.1 208-208 208S0 418.9 0 304 93.1 96 208 96c30.5 0 59.5 6.6 85.6 18.4L311 97c9.4-9.4 24.6-9.4 33.9 0l26.5 26.5 52-52 17.1 17zM500 60h-24c-6.6 0-12 5.4-12 12s5.4 12 12 12h24c6.6 0 12-5.4 12-12s-5.4-12-12-12zM440 0c-6.6 0-12 5.4-12 12v24c0 6.6 5.4 12 12 12s12-5.4 12-12V12c0-6.6-5.4-12-12-12zm33.9 55l17-17c4.7-4.7 4.7-12.3 0-17-4.7-4.7-12.3-4.7-17 0l-17 17c-4.7 4.7-4.7 12.3 0 17 4.8 4.7 12.4 4.7 17 0zm-67.8 0c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17zm67.8 34c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17l17 17c4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17l-17-17zM112 272c0-35.3 28.7-64 64-64 8.8 0 16-7.2 16-16s-7.2-16-16-16c-52.9 0-96 43.1-96 96 0 8.8 7.2 16 16 16s16-7.2 16-16z"],book:[448,512,[],"f02d","M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z"],bookmark:[384,512,[],"f02e","M0 512V48C0 21.49 21.49 0 48 0h288c26.51 0 48 21.49 48 48v464L192 400 0 512z"],"bowling-ball":[496,512,[],"f436","M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zM120 192c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm64-96c0-17.7 14.3-32 32-32s32 14.3 32 32-14.3 32-32 32-32-14.3-32-32zm48 144c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"],box:[512,512,[],"f466","M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z"],boxes:[576,512,[],"f468","M560 288h-80v96l-32-21.3-32 21.3v-96h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16zm-384-64h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-80v96l-32-21.3L256 96V0h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16zm64 64h-80v96l-32-21.3L96 384v-96H16c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16z"],braille:[640,512,[],"f2a1","M128 256c0 35.346-28.654 64-64 64S0 291.346 0 256s28.654-64 64-64 64 28.654 64 64zM64 384c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352C28.654 32 0 60.654 0 96s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm224 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zm160 192c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0 160c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm0-320c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z"],briefcase:[512,512,[],"f0b1","M320 288h192v144c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V288h192v20c0 6.627 5.373 12 12 12h104c6.627 0 12-5.373 12-12v-20zm192-112v80H0v-80c0-26.51 21.49-48 48-48h80V80c0-26.51 21.49-48 48-48h160c26.51 0 48 21.49 48 48v48h80c26.51 0 48 21.49 48 48zM320 96H192v32h128V96z"],bug:[512,512,[],"f188","M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.759 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z"],building:[448,512,[],"f1ad","M436 480h-20V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v456H12c-6.627 0-12 5.373-12 12v20h448v-20c0-6.627-5.373-12-12-12zM128 76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76zm0 96c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40zm52 148h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12zm76 160h-64v-84c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v84zm64-172c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40zm0-96c0 6.627-5.373 12-12 12h-40c-6.627 0-12-5.373-12-12V76c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v40z"],bullhorn:[576,512,[],"f0a1","M576 224c0-20.896-13.36-38.666-32-45.258V64c0-35.346-28.654-64-64-64-64.985 56-142.031 128-272 128H48c-26.51 0-48 21.49-48 48v96c0 26.51 21.49 48 48 48h43.263c-18.742 64.65 2.479 116.379 18.814 167.44 1.702 5.32 5.203 9.893 9.922 12.88 20.78 13.155 68.355 15.657 93.773 5.151 16.046-6.633 19.96-27.423 7.522-39.537-18.508-18.026-30.136-36.91-19.795-60.858a12.278 12.278 0 0 0-1.045-11.673c-16.309-24.679-3.581-62.107 28.517-72.752C346.403 327.887 418.591 395.081 480 448c35.346 0 64-28.654 64-64V269.258c18.64-6.592 32-24.362 32-45.258zm-96 139.855c-54.609-44.979-125.033-92.94-224-104.982v-69.747c98.967-12.042 169.391-60.002 224-104.982v279.711z"],bullseye:[512,512,[],"f140","M256 72c101.689 0 184 82.295 184 184 0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-101.689 82.295-184 184-184m0-64C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 184c35.29 0 64 28.71 64 64s-28.71 64-64 64-64-28.71-64-64 28.71-64 64-64m0-64c-70.692 0-128 57.308-128 128s57.308 128 128 128 128-57.308 128-128-57.308-128-128-128z"],bus:[512,512,[],"f207","M512 152v80c0 13.255-10.745 24-24 24h-8v168c0 13.255-10.745 24-24 24h-8v40c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24v-40H160v40c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24v-40h-8c-13.255 0-24-10.745-24-24V256h-8c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h8V80C32 35.817 132.288 0 256 0s224 35.817 224 80v48h8c13.255 0 24 10.745 24 24zM112 320c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm288 0c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm32-56V120c0-13.255-10.745-24-24-24H104c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z"],calculator:[448,512,[],"f1ec","M0 464V48C0 21.49 21.49 0 48 0h352c26.51 0 48 21.49 48 48v416c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm384-284V76c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v104c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12zM128 308v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm256 128V268c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v168c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-256 0v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm128-128v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm0 128v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"],calendar:[448,512,[],"f133","M12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm436-44v-36c0-26.5-21.5-48-48-48h-48V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H160V12c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v52H48C21.5 64 0 85.5 0 112v36c0 6.6 5.4 12 12 12h424c6.6 0 12-5.4 12-12z"],"calendar-alt":[448,512,[],"f073","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm116 204c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm0-128c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm128 128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm0-128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm128 128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40zm0-128c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-40z"],"calendar-check":[448,512,[],"f274","M436 160H12c-6.627 0-12-5.373-12-12v-36c0-26.51 21.49-48 48-48h48V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h128V12c0-6.627 5.373-12 12-12h40c6.627 0 12 5.373 12 12v52h48c26.51 0 48 21.49 48 48v36c0 6.627-5.373 12-12 12zM12 192h424c6.627 0 12 5.373 12 12v260c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V204c0-6.627 5.373-12 12-12zm333.296 95.947l-28.169-28.398c-4.667-4.705-12.265-4.736-16.97-.068L194.12 364.665l-45.98-46.352c-4.667-4.705-12.266-4.736-16.971-.068l-28.397 28.17c-4.705 4.667-4.736 12.265-.068 16.97l82.601 83.269c4.667 4.705 12.265 4.736 16.97.068l142.953-141.805c4.705-4.667 4.736-12.265.068-16.97z"],"calendar-minus":[448,512,[],"f272","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm304 192c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H132c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h184z"],"calendar-plus":[448,512,[],"f271","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm316 140c0-6.6-5.4-12-12-12h-60v-60c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v60h-60c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h60v60c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-60h60c6.6 0 12-5.4 12-12v-40z"],"calendar-times":[448,512,[],"f273","M436 160H12c-6.6 0-12-5.4-12-12v-36c0-26.5 21.5-48 48-48h48V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h128V12c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h48c26.5 0 48 21.5 48 48v36c0 6.6-5.4 12-12 12zM12 192h424c6.6 0 12 5.4 12 12v260c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V204c0-6.6 5.4-12 12-12zm257.3 160l48.1-48.1c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0L224 306.7l-48.1-48.1c-4.7-4.7-12.3-4.7-17 0l-28.3 28.3c-4.7 4.7-4.7 12.3 0 17l48.1 48.1-48.1 48.1c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l48.1-48.1 48.1 48.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L269.3 352z"],camera:[512,512,[],"f030","M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z"],"camera-retro":[512,512,[],"f083","M48 32C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48H48zm0 32h106c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H38c-3.3 0-6-2.7-6-6V80c0-8.8 7.2-16 16-16zm426 96H38c-3.3 0-6-2.7-6-6v-36c0-3.3 2.7-6 6-6h138l30.2-45.3c1.1-1.7 3-2.7 5-2.7H464c8.8 0 16 7.2 16 16v74c0 3.3-2.7 6-6 6zM256 424c-66.2 0-120-53.8-120-120s53.8-120 120-120 120 53.8 120 120-53.8 120-120 120zm0-208c-48.5 0-88 39.5-88 88s39.5 88 88 88 88-39.5 88-88-39.5-88-88-88zm-48 104c-8.8 0-16-7.2-16-16 0-35.3 28.7-64 64-64 8.8 0 16 7.2 16 16s-7.2 16-16 16c-17.6 0-32 14.4-32 32 0 8.8-7.2 16-16 16z"],car:[512,512,[],"f1b9","M499.991 168h-54.815l-7.854-20.944c-9.192-24.513-25.425-45.351-46.942-60.263S343.651 64 317.472 64H194.528c-26.18 0-51.391 7.882-72.908 22.793-21.518 14.912-37.75 35.75-46.942 60.263L66.824 168H12.009c-8.191 0-13.974 8.024-11.384 15.795l8 24A12 12 0 0 0 20.009 216h28.815l-.052.14C29.222 227.093 16 247.997 16 272v48c0 16.225 6.049 31.029 16 42.309V424c0 13.255 10.745 24 24 24h48c13.255 0 24-10.745 24-24v-40h256v40c0 13.255 10.745 24 24 24h48c13.255 0 24-10.745 24-24v-61.691c9.951-11.281 16-26.085 16-42.309v-48c0-24.003-13.222-44.907-32.772-55.86l-.052-.14h28.815a12 12 0 0 0 11.384-8.205l8-24c2.59-7.771-3.193-15.795-11.384-15.795zm-365.388 1.528C143.918 144.689 168 128 194.528 128h122.944c26.528 0 50.61 16.689 59.925 41.528L391.824 208H120.176l14.427-38.472zM88 328c-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32s48 30.327 48 48-30.327 16-48 16zm336 0c-17.673 0-48 1.673-48-16 0-17.673 30.327-48 48-48s32 14.327 32 32c0 17.673-14.327 32-32 32z"],"caret-down":[320,512,[],"f0d7","M31.3 192h257.3c17.8 0 26.7 21.5 14.1 34.1L174.1 354.8c-7.8 7.8-20.5 7.8-28.3 0L17.2 226.1C4.6 213.5 13.5 192 31.3 192z"],"caret-left":[192,512,[],"f0d9","M192 127.338v257.324c0 17.818-21.543 26.741-34.142 14.142L29.196 270.142c-7.81-7.81-7.81-20.474 0-28.284l128.662-128.662c12.599-12.6 34.142-3.676 34.142 14.142z"],"caret-right":[192,512,[],"f0da","M0 384.662V127.338c0-17.818 21.543-26.741 34.142-14.142l128.662 128.662c7.81 7.81 7.81 20.474 0 28.284L34.142 398.804C21.543 411.404 0 402.48 0 384.662z"],"caret-square-down":[448,512,[],"f150","M448 80v352c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48zM92.5 220.5l123 123c4.7 4.7 12.3 4.7 17 0l123-123c7.6-7.6 2.2-20.5-8.5-20.5H101c-10.7 0-16.1 12.9-8.5 20.5z"],"caret-square-left":[448,512,[],"f191","M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM259.515 124.485l-123.03 123.03c-4.686 4.686-4.686 12.284 0 16.971l123.029 123.029c7.56 7.56 20.485 2.206 20.485-8.485V132.971c.001-10.691-12.925-16.045-20.484-8.486z"],"caret-square-right":[448,512,[],"f152","M48 32h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48zm140.485 355.515l123.029-123.029c4.686-4.686 4.686-12.284 0-16.971l-123.029-123.03c-7.56-7.56-20.485-2.206-20.485 8.485v246.059c0 10.691 12.926 16.045 20.485 8.486z"],"caret-square-up":[448,512,[],"f151","M0 432V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm355.515-140.485l-123.03-123.03c-4.686-4.686-12.284-4.686-16.971 0L92.485 291.515c-7.56 7.56-2.206 20.485 8.485 20.485h246.059c10.691 0 16.045-12.926 8.486-20.485z"],"caret-up":[320,512,[],"f0d8","M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"],"cart-arrow-down":[576,512,[],"f218","M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM403.029 192H360v-60c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v60h-43.029c-10.691 0-16.045 12.926-8.485 20.485l67.029 67.029c4.686 4.686 12.284 4.686 16.971 0l67.029-67.029c7.559-7.559 2.205-20.485-8.486-20.485z"],"cart-plus":[576,512,[],"f217","M504.717 320H211.572l6.545 32h268.418c15.401 0 26.816 14.301 23.403 29.319l-5.517 24.276C523.112 414.668 536 433.828 536 456c0 31.202-25.519 56.444-56.824 55.994-29.823-.429-54.35-24.631-55.155-54.447-.44-16.287 6.085-31.049 16.803-41.548H231.176C241.553 426.165 248 440.326 248 456c0 31.813-26.528 57.431-58.67 55.938-28.54-1.325-51.751-24.385-53.251-52.917-1.158-22.034 10.436-41.455 28.051-51.586L93.883 64H24C10.745 64 0 53.255 0 40V24C0 10.745 10.745 0 24 0h102.529c11.401 0 21.228 8.021 23.513 19.19L159.208 64H551.99c15.401 0 26.816 14.301 23.403 29.319l-47.273 208C525.637 312.246 515.923 320 504.717 320zM408 168h-48v-40c0-8.837-7.163-16-16-16h-16c-8.837 0-16 7.163-16 16v40h-48c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h48v40c0 8.837 7.163 16 16 16h16c8.837 0 16-7.163 16-16v-40h48c8.837 0 16-7.163 16-16v-16c0-8.837-7.163-16-16-16z"],certificate:[512,512,[],"f0a3","M458.622 255.92l45.985-45.005c13.708-12.977 7.316-36.039-10.664-40.339l-62.65-15.99 17.661-62.015c4.991-17.838-11.829-34.663-29.661-29.671l-61.994 17.667-15.984-62.671C337.085.197 313.765-6.276 300.99 7.228L256 53.57 211.011 7.229c-12.63-13.351-36.047-7.234-40.325 10.668l-15.984 62.671-61.995-17.667C74.87 57.907 58.056 74.738 63.046 92.572l17.661 62.015-62.65 15.99C.069 174.878-6.31 197.944 7.392 210.915l45.985 45.005-45.985 45.004c-13.708 12.977-7.316 36.039 10.664 40.339l62.65 15.99-17.661 62.015c-4.991 17.838 11.829 34.663 29.661 29.671l61.994-17.667 15.984 62.671c4.439 18.575 27.696 24.018 40.325 10.668L256 458.61l44.989 46.001c12.5 13.488 35.987 7.486 40.325-10.668l15.984-62.671 61.994 17.667c17.836 4.994 34.651-11.837 29.661-29.671l-17.661-62.015 62.65-15.99c17.987-4.302 24.366-27.367 10.664-40.339l-45.984-45.004z"],"chart-area":[512,512,[],"f1fe","M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM372.7 159.5L288 216l-85.3-113.7c-5.1-6.8-15.5-6.3-19.9 1L96 248v104h384l-89.9-187.8c-3.2-6.5-11.4-8.7-17.4-4.7z"],"chart-bar":[512,512,[],"f080","M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zm-308-44v-72c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v72c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0V204c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v136c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm-96 0V140c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v200c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0V108c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v232c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"],"chart-line":[512,512,[],"f201","M500 384c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v308h436zM456 96H344c-21.4 0-32.1 25.9-17 41l32.9 32.9-72 72.9-55.6-55.6c-4.7-4.7-12.2-4.7-16.9 0L96.4 305c-4.7 4.6-4.8 12.2-.2 16.9l28.5 29.4c4.7 4.8 12.4 4.9 17.1.1l82.1-82.1 55.5 55.5c4.7 4.7 12.3 4.7 17 0l109.2-109.2L439 249c15.1 15.1 41 4.4 41-17V120c0-13.3-10.7-24-24-24z"],"chart-pie":[576,512,[],"f200","M288 12.3V240h227.7c6.9 0 12.3-5.8 12-12.7-6.4-122.4-104.5-220.6-227-227-6.9-.3-12.7 5.1-12.7 12zM552.7 288c6.9 0 12.3 5.8 12 12.7-2.8 53.2-23.2 105.6-61.2 147.8-4.6 5.1-12.6 5.4-17.5.5L325 288h227.7zM401 433c4.8 4.8 4.7 12.8-.4 17.3-42.6 38.4-99 61.7-160.8 61.7C107.6 511.9-.2 403.8 0 271.5.2 143.4 100.8 38.9 227.3 32.3c6.9-.4 12.7 5.1 12.7 12V272l161 161z"],check:[512,512,[],"f00c","M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z"],"check-circle":[512,512,[],"f058","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM227.314 387.314l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.249-16.379-6.249-22.628 0L216 308.118l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.249 16.379 6.249 22.628.001z"],"check-square":[448,512,[],"f14a","M400 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zm-204.686-98.059l184-184c6.248-6.248 6.248-16.379 0-22.627l-22.627-22.627c-6.248-6.248-16.379-6.249-22.628 0L184 302.745l-70.059-70.059c-6.248-6.248-16.379-6.248-22.628 0l-22.627 22.627c-6.248 6.248-6.248 16.379 0 22.627l104 104c6.249 6.25 16.379 6.25 22.628.001z"],chess:[512,512,[],"f439","M199.821 217.633a6 6 0 0 1 6 6l-.001 20.766a6 6 0 0 1-6 6h-25.805c0 31.715-2.153 96.201 17.398 153.229H64.597C84.54 345.452 82.02 279.245 82.02 250.399H56.183a6 6 0 0 1-6-6l.002-20.766a6 6 0 0 1 6-6h143.636zM41.554 115.088l34.58 95.071h103.734l34.572-95.072c2.846-7.826-2.95-16.101-11.278-16.101H152v-30.22h21.57a6 6 0 0 0 6-6V40.383a6 6 0 0 0-6-6h-28.367V6a6 6 0 0 0-6-6H116.82a6 6 0 0 0-6 6v28.383H82.421a6 6 0 0 0-6 6v22.383a6 6 0 0 0 6 6H104v30.219H52.831c-8.328.001-14.124 8.276-11.277 16.103zM222.678 445.17v-28.067a6 6 0 0 0-6-6H39.322a6 6 0 0 0-6 6v28.067l-22.148 14.164a6 6 0 0 0-2.767 5.055V506a6 6 0 0 0 6 6h227.187a6 6 0 0 0 6-6v-41.612a6 6 0 0 0-2.767-5.055l-22.149-14.163zm90.578-144.225l24.88 16.963c.09 18.124-.167 63.904-11.905 114.522h147.526c-11.713-50.475-11.969-96.324-11.882-114.537l24.859-16.949a3.856 3.856 0 0 0 1.684-3.187v-69.901a3.857 3.857 0 0 0-3.857-3.857h-27.655a3.857 3.857 0 0 0-3.857 3.857v31.514h-22.737v-31.514a3.857 3.857 0 0 0-3.858-3.857h-52.918a3.857 3.857 0 0 0-3.857 3.857v31.514h-22.737v-31.514a3.857 3.857 0 0 0-3.857-3.857H315.43a3.857 3.857 0 0 0-3.857 3.857v69.901a3.855 3.855 0 0 0 1.683 3.188zm71.585 51.906c0-8.372 6.787-15.158 15.159-15.158s15.158 6.787 15.158 15.158v30.318h-30.317v-30.318zM504.62 470.059l-13.664-10.639v-15.552a3.857 3.857 0 0 0-3.857-3.857H312.915a3.857 3.857 0 0 0-3.857 3.857v15.552l-13.677 10.639a3.857 3.857 0 0 0-1.488 3.044v35.039a3.857 3.857 0 0 0 3.857 3.857h204.5a3.857 3.857 0 0 0 3.857-3.857v-35.04a3.859 3.859 0 0 0-1.487-3.043z"],"chess-bishop":[320,512,[],"f43a","M123.158 77.881C107.369 72.53 96 57.597 96 40c0-22.091 17.909-40 40-40h47.796c22.091 0 40 17.909 40 40 0 17.541-11.295 32.434-27.005 37.829 23.993 16.657 48.577 46.839 68.703 82.05L144.929 280.443a6 6 0 0 0 0 8.485l14.142 14.142a6 6 0 0 0 8.485 0L280.9 189.726c17.758 38.297 29.371 79.443 29.371 114.273 0 53.786-22.897 75.788-58.446 86.033V448H68.174v-57.97C32.631 379.784 9.739 357.781 9.739 304c0-78.029 58.281-187.766 113.419-226.119zM320 500v-24c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12z"],"chess-board":[512,512,[],"f43c","M256 256v64h-64v-64h64zm0-256h-64v64h64V0zm0 256h64v-64h-64v64zM384 0h-64v64h64V0zm0 512h64v-64h-64v64zm128-64v-64h-64v64h64zm-384 64h64v-64h-64v64zm0-512H64v64h64V0zm384 192v-64h-64v64h64zm0 128v-64h-64v64h64zM0 512h64v-64H0v64zM0 64v64h64V64H0zm0 128v64h64v-64H0zm0 128v64h64v-64H0zm256 192h64v-64h-64v64zm-64-128v64h64v-64h-64zm64-192v-64h-64v64h64zM64 384v64h64v-64H64zm64-128H64v64h64v-64zm256 128h64v-64h-64v64zM512 0h-64v64h64V0zM384 256h64v-64h-64v64zm0-192v64h64V64h-64zm-64 320v64h64v-64h-64zm-192-64v64h64v-64h-64zm128 0v64h64v-64h-64zm-64-128h-64v64h64v-64zm-64-64H64v64h64v-64zm192 192h64v-64h-64v64zM192 128V64h-64v64h64zm128 0V64h-64v64h64zm0 64h64v-64h-64v64z"],"chess-king":[448,512,[],"f43f","M416 476v24c0 6.627-5.373 12-12 12H44c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12zm-8.033-324H248v-48h50a6 6 0 0 0 6-6V62a6 6 0 0 0-6-6h-50V6a6 6 0 0 0-6-6h-36a6 6 0 0 0-6 6v50h-50a6 6 0 0 0-6 6v36a6 6 0 0 0 6 6h50v48H40.033c-27.574 0-46.879 27.244-37.738 53.259L87.582 448h272.836l85.287-242.741C454.846 179.244 435.541 152 407.967 152z"],"chess-knight":[384,512,[],"f441","M352 224v224H32v-46.557c0-30.302 17.12-58.003 44.223-71.554l57.243-28.622A48 48 0 0 0 160 258.334V208l-22.127 11.063a23.996 23.996 0 0 0-12.55 15.645l-11.835 47.338a12 12 0 0 1-7.185 8.231l-29.601 11.84a11.998 11.998 0 0 1-9.33-.176L7.126 275.167A12 12 0 0 1 0 264.201v-158.26c0-6.365 2.529-12.47 7.03-16.971L16 80 1.789 51.578A16.937 16.937 0 0 1 0 44c0-6.627 5.373-12 12-12h148c106.039 0 192 85.961 192 192zm20 240H12c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h360c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12zM52 128c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z"],"chess-pawn":[320,512,[],"f443","M264 448H56s60-42.743 60-176H84c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h40.209C95.721 210.56 76 181.588 76 148c0-46.392 37.608-84 84-84s84 37.608 84 84c0 33.588-19.721 62.56-48.209 76H236c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12h-32c0 133.257 60 176 60 176zm28 16H28c-6.627 0-12 5.373-12 12v24c0 6.627 5.373 12 12 12h264c6.627 0 12-5.373 12-12v-24c0-6.627-5.373-12-12-12z"],"chess-queen":[512,512,[],"f445","M436 512H76c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v24c0 6.627-5.373 12-12 12zM255.579 0c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zm204.568 154.634c-5.768-3.045-12.916-.932-16.082 4.77-8.616 15.516-22.747 37.801-44.065 37.801-28.714 0-30.625-19.804-31.686-57.542-.183-6.492-5.501-11.664-11.995-11.664h-41.006c-5.175 0-9.754 3.328-11.388 8.238-8.89 26.709-26.073 40.992-47.925 40.992s-39.034-14.283-47.925-40.992c-1.634-4.91-6.213-8.238-11.388-8.238h-41.005c-6.495 0-11.813 5.174-11.995 11.667-1.052 37.642-2.934 57.539-31.688 57.539-20.691 0-33.817-20.224-44.425-38.025-3.266-5.48-10.258-7.431-15.899-4.453l-39.179 20.679a12 12 0 0 0-5.51 15.145L112 448h288l105.014-257.448a12 12 0 0 0-5.51-15.145l-39.357-20.773z"],"chess-rook":[384,512,[],"f447","M81.241 215.027C80.957 258.92 77.411 348.076 48 448h287.982c-29.4-99.604-32.936-188.912-33.221-232.975l45.418-42.312a11.998 11.998 0 0 0 3.82-8.78V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v44h-48V44c0-6.627-5.373-12-12-12h-72c-6.627 0-12 5.373-12 12v44H96V44c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v119.932c0 3.33 1.384 6.51 3.82 8.78l45.421 42.315zM160 256c0-17.673 14.327-32 32-32 17.673 0 32 14.327 32 32v64.004h-64V256zm224 220v24c0 6.627-5.373 12-12 12H12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12z"],"chevron-circle-down":[512,512,[],"f13a","M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM273 369.9l135.5-135.5c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L256 285.1 154.4 183.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L239 369.9c9.4 9.4 24.6 9.4 34 0z"],"chevron-circle-left":[512,512,[],"f137","M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zM142.1 273l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L226.9 256l101.6-101.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L142.1 239c-9.4 9.4-9.4 24.6 0 34z"],"chevron-circle-right":[512,512,[],"f138","M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z"],"chevron-circle-up":[512,512,[],"f139","M8 256C8 119 119 8 256 8s248 111 248 248-111 248-248 248S8 393 8 256zm231-113.9L103.5 277.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L256 226.9l101.6 101.6c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L273 142.1c-9.4-9.4-24.6-9.4-34 0z"],"chevron-down":[448,512,[],"f078","M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z"],"chevron-left":[320,512,[],"f053","M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z"],"chevron-right":[320,512,[],"f054","M285.476 272.971L91.132 467.314c-9.373 9.373-24.569 9.373-33.941 0l-22.667-22.667c-9.357-9.357-9.375-24.522-.04-33.901L188.505 256 34.484 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L285.475 239.03c9.373 9.372 9.373 24.568.001 33.941z"],"chevron-up":[448,512,[],"f077","M240.971 130.524l194.343 194.343c9.373 9.373 9.373 24.569 0 33.941l-22.667 22.667c-9.357 9.357-24.522 9.375-33.901.04L224 227.495 69.255 381.516c-9.379 9.335-24.544 9.317-33.901-.04l-22.667-22.667c-9.373-9.373-9.373-24.569 0-33.941L207.03 130.525c9.372-9.373 24.568-9.373 33.941-.001z"],child:[384,512,[],"f1ae","M120 72c0-39.765 32.235-72 72-72s72 32.235 72 72c0 39.764-32.235 72-72 72s-72-32.236-72-72zm254.627 1.373c-12.496-12.497-32.758-12.497-45.254 0L242.745 160H141.254L54.627 73.373c-12.496-12.497-32.758-12.497-45.254 0-12.497 12.497-12.497 32.758 0 45.255L104 213.254V480c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V368h16v112c0 17.673 14.327 32 32 32h16c17.673 0 32-14.327 32-32V213.254l94.627-94.627c12.497-12.497 12.497-32.757 0-45.254z"],circle:[512,512,[],"f111","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8z"],"circle-notch":[512,512,[],"f1ce","M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184-101.689 0-184-82.295-184-184 0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056z"],clipboard:[384,512,[],"f328","M384 112v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h80c0-35.29 28.71-64 64-64s64 28.71 64 64h80c26.51 0 48 21.49 48 48zM192 40c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24m96 114v-20a6 6 0 0 0-6-6H102a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6h180a6 6 0 0 0 6-6z"],"clipboard-check":[384,512,[],"f46c","M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm121.2 231.8l-143 141.8c-4.7 4.7-12.3 4.6-17-.1l-82.6-83.3c-4.7-4.7-4.6-12.3.1-17L99.1 285c4.7-4.7 12.3-4.6 17 .1l46 46.4 106-105.2c4.7-4.7 12.3-4.6 17 .1l28.2 28.4c4.7 4.8 4.6 12.3-.1 17z"],"clipboard-list":[384,512,[],"f46d","M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM96 424c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm0-96c-13.3 0-24-10.7-24-24s10.7-24 24-24 24 10.7 24 24-10.7 24-24 24zm96-192c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm128 368c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-96c0 4.4-3.6 8-8 8H168c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"],clock:[512,512,[],"f017","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm57.1 350.1L224.9 294c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v137.7l63.5 46.2c5.4 3.9 6.5 11.4 2.6 16.8l-28.2 38.8c-3.9 5.3-11.4 6.5-16.8 2.6z"],clone:[512,512,[],"f24d","M464 0c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48H176c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h288M176 416c-44.112 0-80-35.888-80-80V128H48c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-48H176z"],"closed-captioning":[512,512,[],"f20a","M464 64H48C21.5 64 0 85.5 0 112v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM218.1 287.7c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.6 56.8-172.8 32.1-172.8-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7l-17.5 30.5c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2.1 48 51.1 70.5 92.3 32.6zm190.4 0c2.8-2.5 7.1-2.1 9.2.9l19.5 27.7c1.7 2.4 1.5 5.6-.5 7.7-53.5 56.9-172.7 32.1-172.7-67.9 0-97.3 121.7-119.5 172.5-70.1 2.1 2 2.5 3.2 1 5.7L420 222.2c-1.9 3.1-6.2 4-9.1 1.7-40.8-32-94.6-14.9-94.6 31.2 0 48 51 70.5 92.2 32.6z"],cloud:[640,512,[],"f0c2","M537.585 226.56C541.725 215.836 544 204.184 544 192c0-53.019-42.981-96-96-96-19.729 0-38.065 5.954-53.316 16.159C367.042 64.248 315.288 32 256 32c-88.366 0-160 71.634-160 160 0 2.728.07 5.439.204 8.133C40.171 219.845 0 273.227 0 336c0 79.529 64.471 144 144 144h368c70.692 0 128-57.308 128-128 0-61.93-43.983-113.586-102.415-125.44z"],"cloud-download-alt":[640,512,[],"f381","M640 352c0 70.692-57.308 128-128 128H144C64.471 480 0 415.529 0 336c0-62.773 40.171-116.155 96.204-135.867A163.68 163.68 0 0 1 96 192c0-88.366 71.634-160 160-160 59.288 0 111.042 32.248 138.684 80.159C409.935 101.954 428.271 96 448 96c53.019 0 96 42.981 96 96 0 12.184-2.275 23.836-6.415 34.56C596.017 238.414 640 290.07 640 352zm-246.627-64H328V176c0-8.837-7.164-16-16-16h-48c-8.836 0-16 7.163-16 16v112h-65.373c-14.254 0-21.393 17.234-11.314 27.314l105.373 105.373c6.248 6.248 16.379 6.248 22.627 0l105.373-105.373c10.08-10.08 2.941-27.314-11.313-27.314z"],"cloud-upload-alt":[640,512,[],"f382","M640 352c0 70.692-57.308 128-128 128H144C64.471 480 0 415.529 0 336c0-62.773 40.171-116.155 96.204-135.867A163.68 163.68 0 0 1 96 192c0-88.366 71.634-160 160-160 59.288 0 111.042 32.248 138.684 80.159C409.935 101.954 428.271 96 448 96c53.019 0 96 42.981 96 96 0 12.184-2.275 23.836-6.415 34.56C596.017 238.414 640 290.07 640 352zm-235.314-91.314L299.314 155.314c-6.248-6.248-16.379-6.248-22.627 0L171.314 260.686c-10.08 10.08-2.941 27.314 11.313 27.314H248v112c0 8.837 7.164 16 16 16h48c8.836 0 16-7.163 16-16V288h65.373c14.254 0 21.393-17.234 11.313-27.314z"],code:[640,512,[],"f121","M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z"],"code-branch":[384,512,[],"f126","M384 144c0-44.2-35.8-80-80-80s-80 35.8-80 80c0 36.4 24.3 67.1 57.5 76.8-.6 16.1-4.2 28.5-11 36.9-15.4 19.2-49.3 22.4-85.2 25.7-28.2 2.6-57.4 5.4-81.3 16.9v-144c32.5-10.2 56-40.5 56-76.3 0-44.2-35.8-80-80-80S0 35.8 0 80c0 35.8 23.5 66.1 56 76.3v199.3C23.5 365.9 0 396.2 0 432c0 44.2 35.8 80 80 80s80-35.8 80-80c0-34-21.2-63.1-51.2-74.6 3.1-5.2 7.8-9.8 14.9-13.4 16.2-8.2 40.4-10.4 66.1-12.8 42.2-3.9 90-8.4 118.2-43.4 14-17.4 21.1-39.8 21.6-67.9 31.6-10.8 54.4-40.7 54.4-75.9zM80 64c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16zm0 384c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16zm224-320c8.8 0 16 7.2 16 16s-7.2 16-16 16-16-7.2-16-16 7.2-16 16-16z"],coffee:[640,512,[],"f0f4","M192 384h192c53 0 96-43 96-96h32c70.6 0 128-57.4 128-128S582.6 32 512 32H120c-13.3 0-24 10.7-24 24v232c0 53 43 96 96 96zM512 96c35.3 0 64 28.7 64 64s-28.7 64-64 64h-32V96h32zm47.7 384H48.3c-47.6 0-61-64-36-64h583.3c25 0 11.8 64-35.9 64z"],cog:[512,512,[],"f013","M444.788 291.1l42.616 24.599c4.867 2.809 7.126 8.618 5.459 13.985-11.07 35.642-29.97 67.842-54.689 94.586a12.016 12.016 0 0 1-14.832 2.254l-42.584-24.595a191.577 191.577 0 0 1-60.759 35.13v49.182a12.01 12.01 0 0 1-9.377 11.718c-34.956 7.85-72.499 8.256-109.219.007-5.49-1.233-9.403-6.096-9.403-11.723v-49.184a191.555 191.555 0 0 1-60.759-35.13l-42.584 24.595a12.016 12.016 0 0 1-14.832-2.254c-24.718-26.744-43.619-58.944-54.689-94.586-1.667-5.366.592-11.175 5.459-13.985L67.212 291.1a193.48 193.48 0 0 1 0-70.199l-42.616-24.599c-4.867-2.809-7.126-8.618-5.459-13.985 11.07-35.642 29.97-67.842 54.689-94.586a12.016 12.016 0 0 1 14.832-2.254l42.584 24.595a191.577 191.577 0 0 1 60.759-35.13V25.759a12.01 12.01 0 0 1 9.377-11.718c34.956-7.85 72.499-8.256 109.219-.007 5.49 1.233 9.403 6.096 9.403 11.723v49.184a191.555 191.555 0 0 1 60.759 35.13l42.584-24.595a12.016 12.016 0 0 1 14.832 2.254c24.718 26.744 43.619 58.944 54.689 94.586 1.667 5.366-.592 11.175-5.459 13.985L444.788 220.9a193.485 193.485 0 0 1 0 70.2zM336 256c0-44.112-35.888-80-80-80s-80 35.888-80 80 35.888 80 80 80 80-35.888 80-80z"],cogs:[640,512,[],"f085","M512.1 191l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0L552 6.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zm-10.5-58.8c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.7-82.4 14.3-52.8 52.8zM386.3 286.1l33.7 16.8c10.1 5.8 14.5 18.1 10.5 29.1-8.9 24.2-26.4 46.4-42.6 65.8-7.4 8.9-20.2 11.1-30.3 5.3l-29.1-16.8c-16 13.7-34.6 24.6-54.9 31.7v33.6c0 11.6-8.3 21.6-19.7 23.6-24.6 4.2-50.4 4.4-75.9 0-11.5-2-20-11.9-20-23.6V418c-20.3-7.2-38.9-18-54.9-31.7L74 403c-10 5.8-22.9 3.6-30.3-5.3-16.2-19.4-33.3-41.6-42.2-65.7-4-10.9.4-23.2 10.5-29.1l33.3-16.8c-3.9-20.9-3.9-42.4 0-63.4L12 205.8c-10.1-5.8-14.6-18.1-10.5-29 8.9-24.2 26-46.4 42.2-65.8 7.4-8.9 20.2-11.1 30.3-5.3l29.1 16.8c16-13.7 34.6-24.6 54.9-31.7V57.1c0-11.5 8.2-21.5 19.6-23.5 24.6-4.2 50.5-4.4 76-.1 11.5 2 20 11.9 20 23.6v33.6c20.3 7.2 38.9 18 54.9 31.7l29.1-16.8c10-5.8 22.9-3.6 30.3 5.3 16.2 19.4 33.2 41.6 42.1 65.8 4 10.9.1 23.2-10 29.1l-33.7 16.8c3.9 21 3.9 42.5 0 63.5zm-117.6 21.1c59.2-77-28.7-164.9-105.7-105.7-59.2 77 28.7 164.9 105.7 105.7zm243.4 182.7l-8.2 14.3c-3 5.3-9.4 7.5-15.1 5.4-11.8-4.4-22.6-10.7-32.1-18.6-4.6-3.8-5.8-10.5-2.8-15.7l8.2-14.3c-6.9-8-12.3-17.3-15.9-27.4h-16.5c-6 0-11.2-4.3-12.2-10.3-2-12-2.1-24.6 0-37.1 1-6 6.2-10.4 12.2-10.4h16.5c3.6-10.1 9-19.4 15.9-27.4l-8.2-14.3c-3-5.2-1.9-11.9 2.8-15.7 9.5-7.9 20.4-14.2 32.1-18.6 5.7-2.1 12.1.1 15.1 5.4l8.2 14.3c10.5-1.9 21.2-1.9 31.7 0l8.2-14.3c3-5.3 9.4-7.5 15.1-5.4 11.8 4.4 22.6 10.7 32.1 18.6 4.6 3.8 5.8 10.5 2.8 15.7l-8.2 14.3c6.9 8 12.3 17.3 15.9 27.4h16.5c6 0 11.2 4.3 12.2 10.3 2 12 2.1 24.6 0 37.1-1 6-6.2 10.4-12.2 10.4h-16.5c-3.6 10.1-9 19.4-15.9 27.4l8.2 14.3c3 5.2 1.9 11.9-2.8 15.7-9.5 7.9-20.4 14.2-32.1 18.6-5.7 2.1-12.1-.1-15.1-5.4l-8.2-14.3c-10.4 1.9-21.2 1.9-31.7 0zM501.6 431c38.5 29.6 82.4-14.3 52.8-52.8-38.5-29.6-82.4 14.3-52.8 52.8z"],columns:[512,512,[],"f0db","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64V160h160v256zm224 0H288V160h160v256z"],comment:[576,512,[],"f075","M576 240c0 115-129 208-288 208-48.3 0-93.9-8.6-133.9-23.8-40.3 31.2-89.8 50.3-142.4 55.7-5.2.6-10.2-2.8-11.5-7.7-1.3-5 2.7-8.1 6.6-11.8 19.3-18.4 42.7-32.8 51.9-94.6C21.9 330.9 0 287.3 0 240 0 125.1 129 32 288 32s288 93.1 288 208z"],"comment-alt":[576,512,[],"f27a","M576 240c0 115-129 208-288 208-48.3 0-93.9-8.6-133.9-23.8-40.3 31.2-89.8 50.3-142.4 55.7-5.2.6-10.2-2.8-11.5-7.7-1.3-5 2.7-8.1 6.6-11.8 19.3-18.4 42.7-32.8 51.9-94.6C21.9 330.9 0 287.3 0 240 0 125.1 129 32 288 32s288 93.1 288 208zm-416-48c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm128 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48zm128 0c-26.5 0-48 21.5-48 48s21.5 48 48 48 48-21.5 48-48-21.5-48-48-48z"],comments:[576,512,[],"f086","M224 358.857c-37.599 0-73.027-6.763-104.143-18.7-31.375 24.549-69.869 39.508-110.764 43.796a8.632 8.632 0 0 1-.89.047c-3.736 0-7.111-2.498-8.017-6.061-.98-3.961 2.088-6.399 5.126-9.305 15.017-14.439 33.222-25.79 40.342-74.297C17.015 266.886 0 232.622 0 195.429 0 105.16 100.297 32 224 32s224 73.159 224 163.429c-.001 90.332-100.297 163.428-224 163.428zm347.067 107.174c-13.944-13.127-30.849-23.446-37.46-67.543 68.808-64.568 52.171-156.935-37.674-207.065.031 1.334.066 2.667.066 4.006 0 122.493-129.583 216.394-284.252 211.222 38.121 30.961 93.989 50.492 156.252 50.492 34.914 0 67.811-6.148 96.704-17 29.134 22.317 64.878 35.916 102.853 39.814 3.786.395 7.363-1.973 8.27-5.467.911-3.601-1.938-5.817-4.759-8.459z"],compass:[512,512,[],"f14e","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM307.446 120.844l-102.642 97.779a23.997 23.997 0 0 0-6.772 11.729l-33.359 137.779c-5.68 23.459 22.777 39.318 39.88 23.024l102.64-97.779a23.99 23.99 0 0 0 6.772-11.729l33.359-137.779c5.618-23.198-22.591-39.493-39.878-23.024zM256 224c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z"],compress:[448,512,[],"f066","M436 192H312c-13.3 0-24-10.7-24-24V44c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v84h84c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12zm-276-24V44c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v84H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24zm0 300V344c0-13.3-10.7-24-24-24H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12zm192 0v-84h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12H312c-13.3 0-24 10.7-24 24v124c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"],copy:[448,512,[],"f0c5","M320 448v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h72v296c0 30.879 25.121 56 56 56h168zm0-344V0H152c-13.255 0-24 10.745-24 24v368c0 13.255 10.745 24 24 24h272c13.255 0 24-10.745 24-24V128H344c-13.2 0-24-10.8-24-24zm120.971-31.029L375.029 7.029A24 24 0 0 0 358.059 0H352v96h96v-6.059a24 24 0 0 0-7.029-16.97z"],copyright:[512,512,[],"f1f9","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm117.134 346.753c-1.592 1.867-39.776 45.731-109.851 45.731-84.692 0-144.484-63.26-144.484-145.567 0-81.303 62.004-143.401 143.762-143.401 66.957 0 101.965 37.315 103.422 38.904a12 12 0 0 1 1.238 14.623l-22.38 34.655c-4.049 6.267-12.774 7.351-18.234 2.295-.233-.214-26.529-23.88-61.88-23.88-46.116 0-73.916 33.575-73.916 76.082 0 39.602 25.514 79.692 74.277 79.692 38.697 0 65.28-28.338 65.544-28.625 5.132-5.565 14.059-5.033 18.508 1.053l24.547 33.572a12.001 12.001 0 0 1-.553 14.866z"],"credit-card":[576,512,[],"f09d","M0 432c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V256H0v176zm192-68c0-6.6 5.4-12 12-12h136c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H204c-6.6 0-12-5.4-12-12v-40zm-128 0c0-6.6 5.4-12 12-12h72c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12v-40zM576 80v48H0V80c0-26.5 21.5-48 48-48h480c26.5 0 48 21.5 48 48z"],crop:[512,512,[],"f125","M488 352h-40V109.3l57-57c9.4-9.4 9.4-24.6 0-33.9L493.7 7c-9.4-9.4-24.6-9.4-33.9 0l-57 57H160V24c0-13.3-10.7-24-24-24H88C74.7 0 64 10.7 64 24v40H24C10.7 64 0 74.7 0 88v48c0 13.3 10.7 24 24 24h40v264c0 13.3 10.7 24 24 24h264v40c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24v-40h40c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zM306.7 160L160 306.7V160h146.7zM205.3 352L352 205.3V352H205.3z"],crosshairs:[512,512,[],"f05b","M500 224h-30.364C455.724 130.325 381.675 56.276 288 42.364V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v30.364C130.325 56.276 56.276 130.325 42.364 224H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h30.364C56.276 381.675 130.325 455.724 224 469.636V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-30.364C381.675 455.724 455.724 381.675 469.636 288H500c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zM288 404.634V364c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40.634C165.826 392.232 119.783 346.243 107.366 288H148c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40.634C119.768 165.826 165.757 119.783 224 107.366V148c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40.634C346.174 119.768 392.217 165.757 404.634 224H364c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40.634C392.232 346.174 346.243 392.217 288 404.634zM288 256c0 17.673-14.327 32-32 32s-32-14.327-32-32c0-17.673 14.327-32 32-32s32 14.327 32 32z"],cube:[512,512,[],"f1b2","M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z"],cubes:[512,512,[],"f1b3","M488.6 250.2L392 214V105.5c0-15-9.3-28.4-23.4-33.7l-100-37.5c-8.1-3.1-17.1-3.1-25.3 0l-100 37.5c-14.1 5.3-23.4 18.7-23.4 33.7V214l-96.6 36.2C9.3 255.5 0 268.9 0 283.9V394c0 13.6 7.7 26.1 19.9 32.2l100 50c10.1 5.1 22.1 5.1 32.2 0l103.9-52 103.9 52c10.1 5.1 22.1 5.1 32.2 0l100-50c12.2-6.1 19.9-18.6 19.9-32.2V283.9c0-15-9.3-28.4-23.4-33.7zM358 214.8l-85 31.9v-68.2l85-37v73.3zM154 104.1l102-38.2 102 38.2v.6l-102 41.4-102-41.4v-.6zm84 291.1l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6zm240 112l-85 42.5v-79.1l85-38.8v75.4zm0-112l-102 41.4-102-41.4v-.6l102-38.2 102 38.2v.6z"],cut:[448,512,[],"f0c4","M444.485 422.426c4.689 4.689 4.684 12.287 0 16.971-32.804 32.804-85.991 32.804-118.795 0L210.176 323.883l-24.859 24.859C189.63 359.657 192 371.552 192 384c0 53.019-42.981 96-96 96S0 437.019 0 384s42.981-96 96-96c4.536 0 8.995.322 13.363.93l32.93-32.93-32.93-32.93c-4.368.608-8.827.93-13.363.93-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96c0 12.448-2.37 24.343-6.682 35.258l24.859 24.859L325.69 72.603c32.804-32.804 85.991-32.804 118.795 0 4.684 4.684 4.689 12.282 0 16.971L278.059 256l166.426 166.426zM96 96c-17.645 0-32 14.355-32 32s14.355 32 32 32 32-14.355 32-32-14.355-32-32-32m0 256c-17.645 0-32 14.355-32 32s14.355 32 32 32 32-14.355 32-32-14.355-32-32-32m112-108c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12z"],database:[448,512,[],"f1c0","M448 73.143v45.714C448 159.143 347.667 192 224 192S0 159.143 0 118.857V73.143C0 32.857 100.333 0 224 0s224 32.857 224 73.143zM448 176v102.857C448 319.143 347.667 352 224 352S0 319.143 0 278.857V176c48.125 33.143 136.208 48.572 224 48.572S399.874 209.143 448 176zm0 160v102.857C448 479.143 347.667 512 224 512S0 479.143 0 438.857V336c48.125 33.143 136.208 48.572 224 48.572S399.874 369.143 448 336z"],deaf:[512,512,[],"f2a4","M216 260c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-44.112 35.888-80 80-80s80 35.888 80 80c0 15.464-12.536 28-28 28s-28-12.536-28-28c0-13.234-10.767-24-24-24s-24 10.766-24 24zm24-176c-97.047 0-176 78.953-176 176 0 15.464 12.536 28 28 28s28-12.536 28-28c0-66.168 53.832-120 120-120s120 53.832 120 120c0 75.164-71.009 70.311-71.997 143.622L288 404c0 28.673-23.327 52-52 52-15.464 0-28 12.536-28 28s12.536 28 28 28c59.475 0 107.876-48.328 108-107.774.595-34.428 72-48.24 72-144.226 0-97.047-78.953-176-176-176zm268.485-52.201L480.2 3.515c-4.687-4.686-12.284-4.686-16.971 0L376.2 90.544c-4.686 4.686-4.686 12.284 0 16.971l28.285 28.285c4.686 4.686 12.284 4.686 16.97 0l87.03-87.029c4.687-4.688 4.687-12.286 0-16.972zM168.97 314.745c-4.686-4.686-12.284-4.686-16.97 0L3.515 463.23c-4.686 4.686-4.686 12.284 0 16.971L31.8 508.485c4.687 4.686 12.284 4.686 16.971 0L197.256 360c4.686-4.686 4.686-12.284 0-16.971l-28.286-28.284z"],desktop:[576,512,[],"f108","M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z"],dna:[448,512,[],"f471","M447.9 17.9C449 8.4 441.6.1 432 .1L399.6 0c-8.1 0-14.9 5.9-16 13.9-.7 4.9-1.8 11.1-3.4 18.1H67.9c-1.6-6.9-2.9-13.2-3.5-18.1-1.1-8-7.9-14-16-13.9L16.1.1C6.5.1-1 8.4.1 17.9c4.6 37.9 25.6 129 118.9 207.7 17.6-12.4 37.1-24.2 58.5-35.4-6.2-4.6-11.4-9.4-17-14.2h127.6c-21.3 18.1-47 35.6-78.7 51.4C37.5 312.9 5.9 446.2.1 494.1c-1.1 9.5 6.3 17.8 15.9 17.8l32.3.1c8.1 0 14.9-5.9 16-13.9.7-4.9 1.8-11.1 3.4-18.1h312.4c1.6 7 2.7 13.1 3.4 18.1 1.1 8 7.9 14 16 13.9l32.3-.1c9.6 0 17.1-8.3 15.9-17.8-5-42.9-31.1-153.9-159.7-238.1C416.5 171.8 442.7 60.8 447.9 17.9zM224 292.4c25.1 13.7 46.4 28.4 64.3 43.6H159.7c17.9-15.2 39.2-30 64.3-43.6zM92.9 416c5.8-10.4 12.8-21.1 21-32h220c8.3 10.9 15.3 21.6 21 32h-262zM355.1 96c-5.8 10.4-12.8 21.1-21 32H114.6c-8.3-10.9-15.4-21.6-21.2-32h261.7z"],"dollar-sign":[320,512,[],"f155","M113.411 169.375c0-23.337 21.536-38.417 54.865-38.417 26.726 0 54.116 12.263 76.461 28.333 5.88 4.229 14.13 2.354 17.575-4.017l23.552-43.549c2.649-4.898 1.596-10.991-2.575-14.68-24.281-21.477-59.135-34.09-91.289-37.806V12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v49.832c-58.627 13.29-97.299 55.917-97.299 108.639 0 123.533 184.765 110.81 184.765 169.414 0 19.823-16.311 41.158-52.124 41.158-30.751 0-62.932-15.88-87.848-35.887-5.31-4.264-13.082-3.315-17.159 2.14l-30.389 40.667c-3.627 4.854-3.075 11.657 1.302 15.847 24.049 23.02 59.249 41.255 98.751 47.973V500c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-47.438c65.72-10.215 106.176-59.186 106.176-116.516.001-119.688-184.764-103.707-184.764-166.671z"],dolly:[576,512,[],"f472","M294.2 277.7c18 5 34.7 13.4 49.5 24.7l161.5-53.8c8.4-2.8 12.9-11.9 10.1-20.2L454.9 47.2c-2.8-8.4-11.9-12.9-20.2-10.1l-61.1 20.4 33.1 99.4L346 177l-33.1-99.4-61.6 20.5c-8.4 2.8-12.9 11.9-10.1 20.2l53 159.4zm281 48.7L565 296c-2.8-8.4-11.9-12.9-20.2-10.1l-213.5 71.2c-17.2-22-43.6-36.4-73.5-37L158.4 21.9C154 8.8 141.8 0 128 0H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h88.9l92.2 276.7c-26.1 20.4-41.7 53.6-36 90.5 6.1 39.4 37.9 72.3 77.3 79.2 60.2 10.7 112.3-34.8 113.4-92.6l213.3-71.2c8.3-2.8 12.9-11.8 10.1-20.2zM256 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"],"dolly-flatbed":[640,512,[],"f474","M208 320h384c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H448v128l-48-32-48 32V32H208c-8.8 0-16 7.2-16 16v256c0 8.8 7.2 16 16 16zm416 64H128V16c0-8.8-7.2-16-16-16H16C7.2 0 0 7.2 0 16v32c0 8.8 7.2 16 16 16h48v368c0 8.8 7.2 16 16 16h82.9c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H451c-1.8 5-2.9 10.4-2.9 16 0 26.5 21.5 48 48 48s48-21.5 48-48c0-5.6-1.2-11-2.9-16H624c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"],"dot-circle":[512,512,[],"f192","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm80 248c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80z"],download:[512,512,[],"f019","M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"],edit:[576,512,[],"f044","M402.6 83.2l90.2 90.2c3.8 3.8 3.8 10 0 13.8L274.4 405.6l-92.8 10.3c-12.4 1.4-22.9-9.1-21.5-21.5l10.3-92.8L388.8 83.2c3.8-3.8 10-3.8 13.8 0zm162-22.9l-48.8-48.8c-15.2-15.2-39.9-15.2-55.2 0l-35.4 35.4c-3.8 3.8-3.8 10 0 13.8l90.2 90.2c3.8 3.8 10 3.8 13.8 0l35.4-35.4c15.2-15.3 15.2-40 0-55.2zM384 346.2V448H64V128h229.8c3.2 0 6.2-1.3 8.5-3.5l40-40c7.6-7.6 2.2-20.5-8.5-20.5H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V306.2c0-10.7-12.9-16-20.5-8.5l-40 40c-2.2 2.3-3.5 5.3-3.5 8.5z"],eject:[448,512,[],"f052","M448 384v64c0 17.673-14.327 32-32 32H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h384c17.673 0 32 14.327 32 32zM48.053 320h351.886c41.651 0 63.581-49.674 35.383-80.435L259.383 47.558c-19.014-20.743-51.751-20.744-70.767 0L12.67 239.565C-15.475 270.268 6.324 320 48.053 320z"],"ellipsis-h":[512,512,[],"f141","M328 256c0 39.8-32.2 72-72 72s-72-32.2-72-72 32.2-72 72-72 72 32.2 72 72zm104-72c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72zm-352 0c-39.8 0-72 32.2-72 72s32.2 72 72 72 72-32.2 72-72-32.2-72-72-72z"],"ellipsis-v":[192,512,[],"f142","M96 184c39.8 0 72 32.2 72 72s-32.2 72-72 72-72-32.2-72-72 32.2-72 72-72zM24 80c0 39.8 32.2 72 72 72s72-32.2 72-72S135.8 8 96 8 24 40.2 24 80zm0 352c0 39.8 32.2 72 72 72s72-32.2 72-72-32.2-72-72-72-72 32.2-72 72z"],envelope:[512,512,[],"f0e0","M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"],"envelope-open":[512,512,[],"f2b6","M512 464c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V200.724a48 48 0 0 1 18.387-37.776c24.913-19.529 45.501-35.365 164.2-121.511C199.412 29.17 232.797-.347 256 .003c23.198-.354 56.596 29.172 73.413 41.433 118.687 86.137 139.303 101.995 164.2 121.512A48 48 0 0 1 512 200.724V464zm-65.666-196.605c-2.563-3.728-7.7-4.595-11.339-1.907-22.845 16.873-55.462 40.705-105.582 77.079-16.825 12.266-50.21 41.781-73.413 41.43-23.211.344-56.559-29.143-73.413-41.43-50.114-36.37-82.734-60.204-105.582-77.079-3.639-2.688-8.776-1.821-11.339 1.907l-9.072 13.196a7.998 7.998 0 0 0 1.839 10.967c22.887 16.899 55.454 40.69 105.303 76.868 20.274 14.781 56.524 47.813 92.264 47.573 35.724.242 71.961-32.771 92.263-47.573 49.85-36.179 82.418-59.97 105.303-76.868a7.998 7.998 0 0 0 1.839-10.967l-9.071-13.196z"],"envelope-square":[448,512,[],"f199","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM178.117 262.104C87.429 196.287 88.353 196.121 64 177.167V152c0-13.255 10.745-24 24-24h272c13.255 0 24 10.745 24 24v25.167c-24.371 18.969-23.434 19.124-114.117 84.938-10.5 7.655-31.392 26.12-45.883 25.894-14.503.218-35.367-18.227-45.883-25.895zM384 217.775V360c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V217.775c13.958 10.794 33.329 25.236 95.303 70.214 14.162 10.341 37.975 32.145 64.694 32.01 26.887.134 51.037-22.041 64.72-32.025 61.958-44.965 81.325-59.406 95.283-70.199z"],eraser:[512,512,[],"f12d","M497.941 273.941c18.745-18.745 18.745-49.137 0-67.882l-160-160c-18.745-18.745-49.136-18.746-67.883 0l-256 256c-18.745 18.745-18.745 49.137 0 67.882l96 96A48.004 48.004 0 0 0 144 480h356c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H355.883l142.058-142.059zm-302.627-62.627l137.373 137.373L265.373 416H150.628l-80-80 124.686-124.686z"],"euro-sign":[320,512,[],"f153","M310.706 413.765c-1.314-6.63-7.835-10.872-14.424-9.369-10.692 2.439-27.422 5.413-45.426 5.413-56.763 0-101.929-34.79-121.461-85.449h113.689a12 12 0 0 0 11.708-9.369l6.373-28.36c1.686-7.502-4.019-14.631-11.708-14.631H115.22c-1.21-14.328-1.414-28.287.137-42.245H261.95a12 12 0 0 0 11.723-9.434l6.512-29.755c1.638-7.484-4.061-14.566-11.723-14.566H130.184c20.633-44.991 62.69-75.03 117.619-75.03 14.486 0 28.564 2.25 37.851 4.145 6.216 1.268 12.347-2.498 14.002-8.623l11.991-44.368c1.822-6.741-2.465-13.616-9.326-14.917C290.217 34.912 270.71 32 249.635 32 152.451 32 74.03 92.252 45.075 176H12c-6.627 0-12 5.373-12 12v29.755c0 6.627 5.373 12 12 12h21.569c-1.009 13.607-1.181 29.287-.181 42.245H12c-6.627 0-12 5.373-12 12v28.36c0 6.627 5.373 12 12 12h30.114C67.139 414.692 145.264 480 249.635 480c26.301 0 48.562-4.544 61.101-7.788 6.167-1.595 10.027-7.708 8.788-13.957l-8.818-44.49z"],"exchange-alt":[512,512,[],"f362","M0 168v-16c0-13.255 10.745-24 24-24h360V80c0-21.367 25.899-32.042 40.971-16.971l80 80c9.372 9.373 9.372 24.569 0 33.941l-80 80C409.956 271.982 384 261.456 384 240v-48H24c-13.255 0-24-10.745-24-24zm488 152H128v-48c0-21.314-25.862-32.08-40.971-16.971l-80 80c-9.372 9.373-9.372 24.569 0 33.941l80 80C102.057 463.997 128 453.437 128 432v-48h360c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24z"],exclamation:[192,512,[],"f12a","M176 432c0 44.112-35.888 80-80 80s-80-35.888-80-80 35.888-80 80-80 80 35.888 80 80zM25.26 25.199l13.6 272C39.499 309.972 50.041 320 62.83 320h66.34c12.789 0 23.331-10.028 23.97-22.801l13.6-272C167.425 11.49 156.496 0 142.77 0H49.23C35.504 0 24.575 11.49 25.26 25.199z"],"exclamation-circle":[512,512,[],"f06a","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],"exclamation-triangle":[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],expand:[448,512,[],"f065","M0 180V56c0-13.3 10.7-24 24-24h124c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12H64v84c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12zM288 44v40c0 6.6 5.4 12 12 12h84v84c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V56c0-13.3-10.7-24-24-24H300c-6.6 0-12 5.4-12 12zm148 276h-40c-6.6 0-12 5.4-12 12v84h-84c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h124c13.3 0 24-10.7 24-24V332c0-6.6-5.4-12-12-12zM160 468v-40c0-6.6-5.4-12-12-12H64v-84c0-6.6-5.4-12-12-12H12c-6.6 0-12 5.4-12 12v124c0 13.3 10.7 24 24 24h124c6.6 0 12-5.4 12-12z"],"expand-arrows-alt":[448,512,[],"f31e","M448.1 344v112c0 13.3-10.7 24-24 24h-112c-21.4 0-32.1-25.9-17-41l36.2-36.2L224 295.6 116.8 402.9 153 439c15.1 15.1 4.4 41-17 41H24c-13.3 0-24-10.7-24-24V344c0-21.4 25.9-32.1 41-17l36.2 36.2L184.5 256 77.2 148.7 41 185c-15.1 15.1-41 4.4-41-17V56c0-13.3 10.7-24 24-24h112c21.4 0 32.1 25.9 17 41l-36.2 36.2L224 216.4l107.3-107.3L295.1 73c-15.1-15.1-4.4-41 17-41h112c13.3 0 24 10.7 24 24v112c0 21.4-25.9 32.1-41 17l-36.2-36.2L263.6 256l107.3 107.3 36.2-36.2c15.1-15.2 41-4.5 41 16.9z"],"external-link-alt":[576,512,[],"f35d","M576 24v127.984c0 21.461-25.96 31.98-40.971 16.971l-35.707-35.709-243.523 243.523c-9.373 9.373-24.568 9.373-33.941 0l-22.627-22.627c-9.373-9.373-9.373-24.569 0-33.941L442.756 76.676l-35.703-35.705C391.982 25.9 402.656 0 424.024 0H552c13.255 0 24 10.745 24 24zM407.029 270.794l-16 16A23.999 23.999 0 0 0 384 303.765V448H64V128h264a24.003 24.003 0 0 0 16.97-7.029l16-16C376.089 89.851 365.381 64 344 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V287.764c0-21.382-25.852-32.09-40.971-16.97z"],"external-link-square-alt":[448,512,[],"f360","M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-88 16H248.029c-21.313 0-32.08 25.861-16.971 40.971l31.984 31.987L67.515 364.485c-4.686 4.686-4.686 12.284 0 16.971l31.029 31.029c4.687 4.686 12.285 4.686 16.971 0l195.526-195.526 31.988 31.991C358.058 263.977 384 253.425 384 231.979V120c0-13.255-10.745-24-24-24z"],eye:[576,512,[],"f06e","M569.354 231.631C512.969 135.949 407.81 72 288 72 168.14 72 63.004 135.994 6.646 231.631a47.999 47.999 0 0 0 0 48.739C63.031 376.051 168.19 440 288 440c119.86 0 224.996-63.994 281.354-159.631a47.997 47.997 0 0 0 0-48.738zM288 392c-75.162 0-136-60.827-136-136 0-75.162 60.826-136 136-136 75.162 0 136 60.826 136 136 0 75.162-60.826 136-136 136zm104-136c0 57.438-46.562 104-104 104s-104-46.562-104-104c0-17.708 4.431-34.379 12.236-48.973l-.001.032c0 23.651 19.173 42.823 42.824 42.823s42.824-19.173 42.824-42.823c0-23.651-19.173-42.824-42.824-42.824l-.032.001C253.621 156.431 270.292 152 288 152c57.438 0 104 46.562 104 104z"],"eye-dropper":[512,512,[],"f1fb","M177.38 206.64L39.03 344.97A24.01 24.01 0 0 0 32 361.94V424L0 480l32 32 56-32h62.06c6.36 0 12.47-2.53 16.97-7.03l138.35-138.33-128-128zm225.552 30.47l16.952 16.95c9.37 9.37 9.37 24.57 0 33.94l-40.973 40.97c-9.292 9.312-24.506 9.434-33.94 0L183.028 167.03c-9.37-9.37-9.37-24.57 0-33.94L224 92.12c9.289-9.309 24.502-9.438 33.94 0l16.992 16.99 82.606-82.601c35.19-35.19 92.5-35.5 128 0 40.49 48.08 29.66 98.34 0 128l-82.606 82.601z"],"eye-slash":[576,512,[],"f070","M286.693 391.984l32.579 46.542A333.958 333.958 0 0 1 288 440C168.19 440 63.031 376.051 6.646 280.369a47.999 47.999 0 0 1 0-48.739c24.023-40.766 56.913-75.775 96.024-102.537l57.077 81.539C154.736 224.82 152 240.087 152 256c0 74.736 60.135 135.282 134.693 135.984zm282.661-111.615c-31.667 53.737-78.747 97.46-135.175 125.475l.011.015 41.47 59.2c7.6 10.86 4.96 25.82-5.9 33.42l-13.11 9.18c-10.86 7.6-25.82 4.96-33.42-5.9L100.34 46.94c-7.6-10.86-4.96-25.82 5.9-33.42l13.11-9.18c10.86-7.6 25.82-4.96 33.42 5.9l51.038 72.617C230.68 75.776 258.905 72 288 72c119.81 0 224.969 63.949 281.354 159.631a48.002 48.002 0 0 1 0 48.738zM424 256c0-75.174-60.838-136-136-136-17.939 0-35.056 3.473-50.729 9.772l19.299 27.058c25.869-8.171 55.044-6.163 80.4 7.41h-.03c-23.65 0-42.82 19.17-42.82 42.82 0 23.626 19.147 42.82 42.82 42.82 23.65 0 42.82-19.17 42.82-42.82v-.03c18.462 34.49 16.312 77.914-8.25 110.95v.01l19.314 27.061C411.496 321.2 424 290.074 424 256zM262.014 356.727l-77.53-110.757c-5.014 52.387 29.314 98.354 77.53 110.757z"],"fast-backward":[512,512,[],"f049","M0 436V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v151.9L235.5 71.4C256.1 54.3 288 68.6 288 96v131.9L459.5 71.4C480.1 54.3 512 68.6 512 96v320c0 27.4-31.9 41.7-52.5 24.6L288 285.3V416c0 27.4-31.9 41.7-52.5 24.6L64 285.3V436c0 6.6-5.4 12-12 12H12c-6.6 0-12-5.4-12-12z"],"fast-forward":[512,512,[],"f050","M512 76v360c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V284.1L276.5 440.6c-20.6 17.2-52.5 2.8-52.5-24.6V284.1L52.5 440.6C31.9 457.8 0 443.4 0 416V96c0-27.4 31.9-41.7 52.5-24.6L224 226.8V96c0-27.4 31.9-41.7 52.5-24.6L448 226.8V76c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12z"],fax:[512,512,[],"f1ac","M128 144v320c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V144c0-26.51 21.49-48 48-48h32c26.51 0 48 21.49 48 48zm384 64v256c0 26.51-21.49 48-48 48H192c-26.51 0-48-21.49-48-48V40c0-22.091 17.909-40 40-40h207.432a39.996 39.996 0 0 1 28.284 11.716l48.569 48.569A39.999 39.999 0 0 1 480 88.568v74.174c18.641 6.591 32 24.36 32 45.258zm-320-16h240V96h-24c-13.203 0-24-10.797-24-24V48H192v144zm96 204c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zm0-128c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zm128 128c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zm0-128c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40z"],female:[256,512,[],"f182","M128 0c35.346 0 64 28.654 64 64s-28.654 64-64 64c-35.346 0-64-28.654-64-64S92.654 0 128 0m119.283 354.179l-48-192A24 24 0 0 0 176 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H80a24 24 0 0 0-23.283 18.179l-48 192C4.935 369.305 16.383 384 32 384h56v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V384h56c15.591 0 27.071-14.671 23.283-29.821z"],"fighter-jet":[640,512,[],"f0fb","M544 224l-128-16-48-16h-24L227.158 44h39.509C278.333 44 288 41.375 288 38s-9.667-6-21.333-6H152v12h16v164h-48l-66.667-80H18.667L8 138.667V208h8v16h48v2.666l-64 8v42.667l64 8V288H16v16H8v69.333L18.667 384h34.667L120 304h48v164h-16v12h114.667c11.667 0 21.333-2.625 21.333-6s-9.667-6-21.333-6h-39.509L344 320h24l48-16 128-16c96-21.333 96-26.583 96-32 0-5.417 0-10.667-96-32z"],file:[384,512,[],"f15b","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm160-14.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"],"file-alt":[384,512,[],"f15c","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm64 236c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-64c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12v8zm0-72v8c0 6.6-5.4 12-12 12H108c-6.6 0-12-5.4-12-12v-8c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm96-114.1v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"],"file-archive":[384,512,[],"f1c6","M224 136V0h-63.6v32h-32V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zM95.9 32h32v32h-32V32zm32.3 384c-33.2 0-58-30.4-51.4-62.9L96.4 256v-32h32v-32h-32v-32h32v-32h-32V96h32V64h32v32h-32v32h32v32h-32v32h32v32h-32v32h22.1c5.7 0 10.7 4.1 11.8 9.7l17.3 87.7c6.4 32.4-18.4 62.6-51.4 62.6zm32.7-53c0 14.9-14.5 27-32.4 27S96 378 96 363c0-14.9 14.5-27 32.4-27s32.5 12.1 32.5 27zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"],"file-audio":[384,512,[],"f1c7","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm-64 268c0 10.7-12.9 16-20.5 8.5L104 376H76c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h28l35.5-36.5c7.6-7.6 20.5-2.2 20.5 8.5v136zm33.2-47.6c9.1-9.3 9.1-24.1 0-33.4-22.1-22.8 12.2-56.2 34.4-33.5 27.2 27.9 27.2 72.4 0 100.4-21.8 22.3-56.9-10.4-34.4-33.5zm86-117.1c54.4 55.9 54.4 144.8 0 200.8-21.8 22.4-57-10.3-34.4-33.5 36.2-37.2 36.3-96.5 0-133.8-22.1-22.8 12.3-56.3 34.4-33.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"],"file-code":[384,512,[],"f1c9","M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zM123.206 400.505a5.4 5.4 0 0 1-7.633.246l-64.866-60.812a5.4 5.4 0 0 1 0-7.879l64.866-60.812a5.4 5.4 0 0 1 7.633.246l19.579 20.885a5.4 5.4 0 0 1-.372 7.747L101.65 336l40.763 35.874a5.4 5.4 0 0 1 .372 7.747l-19.579 20.884zm51.295 50.479l-27.453-7.97a5.402 5.402 0 0 1-3.681-6.692l61.44-211.626a5.402 5.402 0 0 1 6.692-3.681l27.452 7.97a5.4 5.4 0 0 1 3.68 6.692l-61.44 211.626a5.397 5.397 0 0 1-6.69 3.681zm160.792-111.045l-64.866 60.812a5.4 5.4 0 0 1-7.633-.246l-19.58-20.885a5.4 5.4 0 0 1 .372-7.747L284.35 336l-40.763-35.874a5.4 5.4 0 0 1-.372-7.747l19.58-20.885a5.4 5.4 0 0 1 7.633-.246l64.866 60.812a5.4 5.4 0 0 1-.001 7.879z"],"file-excel":[384,512,[],"f1c3","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm60.1 106.5L224 336l60.1 93.5c5.1 8-.6 18.5-10.1 18.5h-34.9c-4.4 0-8.5-2.4-10.6-6.3C208.9 405.5 192 373 192 373c-6.4 14.8-10 20-36.6 68.8-2.1 3.9-6.1 6.3-10.5 6.3H110c-9.5 0-15.2-10.5-10.1-18.5l60.3-93.5-60.3-93.5c-5.2-8 .6-18.5 10.1-18.5h34.8c4.4 0 8.5 2.4 10.6 6.3 26.1 48.8 20 33.6 36.6 68.5 0 0 6.1-11.7 36.6-68.5 2.1-3.9 6.2-6.3 10.6-6.3H274c9.5-.1 15.2 10.4 10.1 18.4zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"],"file-image":[384,512,[],"f1c5","M384 121.941V128H256V0h6.059a24 24 0 0 1 16.97 7.029l97.941 97.941a24.002 24.002 0 0 1 7.03 16.971zM248 160c-13.2 0-24-10.8-24-24V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248zm-135.455 16c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.491-48 48-48zm208 240h-256l.485-48.485L104.545 328c4.686-4.686 11.799-4.201 16.485.485L160.545 368 264.06 264.485c4.686-4.686 12.284-4.686 16.971 0L320.545 304v112z"],"file-pdf":[384,512,[],"f1c1","M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM248 160h136v328c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V24C0 10.7 10.7 0 24 0h200v136c0 13.2 10.8 24 24 24zm-8 171.8c-20-12.2-33.3-29-42.7-53.8 4.5-18.5 11.6-46.6 6.2-64.2-4.7-29.4-42.4-26.5-47.8-6.8-5 18.3-.4 44.1 8.1 77-11.6 27.6-28.7 64.6-40.8 85.8-.1 0-.1.1-.2.1-27.1 13.9-73.6 44.5-54.5 68 5.6 6.9 16 10 21.5 10 17.9 0 35.7-18 61.1-61.8 25.8-8.5 54.1-19.1 79-23.2 21.7 11.8 47.1 19.5 64 19.5 29.2 0 31.2-32 19.7-43.4-13.9-13.6-54.3-9.7-73.6-7.2zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-74.1 255.3c4.1-2.7-2.5-11.9-42.8-9 37.1 15.8 42.8 9 42.8 9z"],"file-powerpoint":[384,512,[],"f1c4","M193.7 271.2c8.8 0 15.5 2.7 20.3 8.1 9.6 10.9 9.8 32.7-.2 44.1-4.9 5.6-11.9 8.5-21.1 8.5h-26.9v-60.7h27.9zM377 105L279 7c-4.5-4.5-10.6-7-17-7h-6v128h128v-6.1c0-6.3-2.5-12.4-7-16.9zm-153 31V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm53 165.2c0 90.3-88.8 77.6-111.1 77.6V436c0 6.6-5.4 12-12 12h-30.8c-6.6 0-12-5.4-12-12V236.2c0-6.6 5.4-12 12-12h81c44.5 0 72.9 32.8 72.9 77z"],"file-video":[384,512,[],"f1c8","M384 121.941V128H256V0h6.059c6.365 0 12.47 2.529 16.971 7.029l97.941 97.941A24.005 24.005 0 0 1 384 121.941zM224 136V0H24C10.745 0 0 10.745 0 24v464c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V160H248c-13.2 0-24-10.8-24-24zm96 144.016v111.963c0 21.445-25.943 31.998-40.971 16.971L224 353.941V392c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24V280c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v38.059l55.029-55.013c15.011-15.01 40.971-4.491 40.971 16.97z"],"file-word":[384,512,[],"f1c2","M224 136V0H24C10.7 0 0 10.7 0 24v464c0 13.3 10.7 24 24 24h336c13.3 0 24-10.7 24-24V160H248c-13.2 0-24-10.8-24-24zm57.1 120H305c7.7 0 13.4 7.1 11.7 14.7l-38 168c-1.2 5.5-6.1 9.3-11.7 9.3h-38c-5.5 0-10.3-3.8-11.6-9.1-25.8-103.5-20.8-81.2-25.6-110.5h-.5c-1.1 14.3-2.4 17.4-25.6 110.5-1.3 5.3-6.1 9.1-11.6 9.1H117c-5.6 0-10.5-3.9-11.7-9.4l-37.8-168c-1.7-7.5 4-14.6 11.7-14.6h24.5c5.7 0 10.7 4 11.8 9.7 15.6 78 20.1 109.5 21 122.2 1.6-10.2 7.3-32.7 29.4-122.7 1.3-5.4 6.1-9.1 11.7-9.1h29.1c5.6 0 10.4 3.8 11.7 9.2 24 100.4 28.8 124 29.6 129.4-.2-11.2-2.6-17.8 21.6-129.2 1-5.6 5.9-9.5 11.5-9.5zM384 121.9v6.1H256V0h6.1c6.4 0 12.5 2.5 17 7l97.9 98c4.5 4.5 7 10.6 7 16.9z"],film:[512,512,[],"f008","M488 64h-8v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12V64H96v20c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12V64h-8C10.7 64 0 74.7 0 88v336c0 13.3 10.7 24 24 24h8v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h320v-20c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v20h8c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM96 372c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12H44c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm272 208c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm0-168c0 6.6-5.4 12-12 12H156c-6.6 0-12-5.4-12-12v-96c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v96zm112 152c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40zm0-96c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v40z"],filter:[512,512,[],"f0b0","M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z"],fire:[384,512,[],"f06d","M216 23.858c0-23.802-30.653-32.765-44.149-13.038C48 191.851 224 200 224 288c0 35.629-29.114 64.458-64.85 63.994C123.98 351.538 96 322.22 96 287.046v-85.51c0-21.703-26.471-32.225-41.432-16.504C27.801 213.158 0 261.332 0 320c0 105.869 86.131 192 192 192s192-86.131 192-192c0-170.29-168-193.003-168-296.142z"],"fire-extinguisher":[448,512,[],"f134","M434.027 26.329l-168 28C254.693 56.218 256 67.8 256 72h-58.332C208.353 36.108 181.446 0 144 0c-39.435 0-66.368 39.676-52.228 76.203-52.039 13.051-75.381 54.213-90.049 90.884-4.923 12.307 1.063 26.274 13.37 31.197 12.317 4.926 26.279-1.075 31.196-13.37C75.058 112.99 106.964 120 168 120v27.076c-41.543 10.862-72 49.235-72 94.129V488c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V240c0-44.731-30.596-82.312-72-92.97V120h40c0 2.974-1.703 15.716 10.027 17.671l168 28C441.342 166.89 448 161.25 448 153.834V38.166c0-7.416-6.658-13.056-13.973-11.837zM144 72c-8.822 0-16-7.178-16-16s7.178-16 16-16 16 7.178 16 16-7.178 16-16 16z"],"first-aid":[576,512,[],"f479","M0 80v352c0 26.5 21.5 48 48 48h48V32H48C21.5 32 0 53.5 0 80zm128 400h320V32H128v448zm64-248c0-4.4 3.6-8 8-8h56v-56c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v56h56c4.4 0 8 3.6 8 8v48c0 4.4-3.6 8-8 8h-56v56c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-56h-56c-4.4 0-8-3.6-8-8v-48zM528 32h-48v448h48c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"],flag:[512,512,[],"f024","M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z"],"flag-checkered":[512,512,[],"f11e","M466.515 66.928C487.731 57.074 512 72.551 512 95.944v243.1c0 10.526-5.161 20.407-13.843 26.358-35.837 24.564-74.335 40.858-122.505 40.858-67.373 0-111.63-34.783-165.217-34.783-50.853 0-86.124 10.058-114.435 22.122V488c0 13.255-10.745 24-24 24H56c-13.255 0-24-10.745-24-24V101.945C17.497 91.825 8 75.026 8 56 8 24.296 34.345-1.254 66.338.048c28.468 1.158 51.779 23.968 53.551 52.404.52 8.342-.81 16.31-3.586 23.562C137.039 68.384 159.393 64 184.348 64c67.373 0 111.63 34.783 165.217 34.783 40.496 0 82.612-15.906 116.95-31.855zM96 134.63v70.49c29-10.67 51.18-17.83 73.6-20.91v-71.57c-23.5 2.17-40.44 9.79-73.6 21.99zm220.8 9.19c-26.417-4.672-49.886-13.979-73.6-21.34v67.42c24.175 6.706 47.566 16.444 73.6 22.31v-68.39zm-147.2 40.39v70.04c32.796-2.978 53.91-.635 73.6 3.8V189.9c-25.247-7.035-46.581-9.423-73.6-5.69zm73.6 142.23c26.338 4.652 49.732 13.927 73.6 21.34v-67.41c-24.277-6.746-47.54-16.45-73.6-22.32v68.39zM96 342.1c23.62-8.39 47.79-13.84 73.6-16.56v-71.29c-26.11 2.35-47.36 8.04-73.6 17.36v70.49zm368-221.6c-21.3 8.85-46.59 17.64-73.6 22.47v71.91c27.31-4.36 50.03-14.1 73.6-23.89V120.5zm0 209.96v-70.49c-22.19 14.2-48.78 22.61-73.6 26.02v71.58c25.07-2.38 48.49-11.04 73.6-27.11zM316.8 212.21v68.16c25.664 7.134 46.616 9.342 73.6 5.62v-71.11c-25.999 4.187-49.943 2.676-73.6-2.67z"],flask:[448,512,[],"f0c3","M437.2 403.5L320 215V64h8c13.3 0 24-10.7 24-24V24c0-13.3-10.7-24-24-24H120c-13.3 0-24 10.7-24 24v16c0 13.3 10.7 24 24 24h8v151L10.8 403.5C-18.5 450.6 15.3 512 70.9 512h306.2c55.7 0 89.4-61.5 60.1-108.5zM137.9 320l48.2-77.6c3.7-5.2 5.8-11.6 5.8-18.4V64h64v160c0 6.9 2.2 13.2 5.8 18.4l48.2 77.6h-172z"],folder:[512,512,[],"f07b","M464 128H272l-64-64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V176c0-26.51-21.49-48-48-48z"],"folder-open":[576,512,[],"f07c","M572.694 292.093L500.27 416.248A63.997 63.997 0 0 1 444.989 448H45.025c-18.523 0-30.064-20.093-20.731-36.093l72.424-124.155A64 64 0 0 1 152 256h399.964c18.523 0 30.064 20.093 20.73 36.093zM152 224h328v-48c0-26.51-21.49-48-48-48H272l-64-64H48C21.49 64 0 85.49 0 112v278.046l69.077-118.418C86.214 242.25 117.989 224 152 224z"],font:[448,512,[],"f031","M152 416h-24.013l26.586-80.782H292.8L319.386 416H296c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h136c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16h-26.739L275.495 42.746A16 16 0 0 0 260.382 32h-72.766a16 16 0 0 0-15.113 10.746L42.739 416H16c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h136c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16zm64.353-271.778c4.348-15.216 6.61-28.156 7.586-34.644.839 6.521 2.939 19.476 7.727 34.706l41.335 124.006h-98.619l41.971-124.068z"],"football-ball":[496,512,[],"f44e","M481.5 60.3c-4.8-18.2-19.1-32.5-37.3-37.4C420.3 16.5 383 8.9 339.4 8L496 164.8c-.8-43.5-8.2-80.6-14.5-104.5zm-467 391.4c4.8 18.2 19.1 32.5 37.3 37.4 23.9 6.4 61.2 14 104.8 14.9L0 347.2c.8 43.5 8.2 80.6 14.5 104.5zM4.2 283.4L220.4 500c132.5-19.4 248.8-118.7 271.5-271.4L275.6 12C143.1 31.4 26.8 130.7 4.2 283.4zm317.3-123.6c3.1-3.1 8.2-3.1 11.3 0l11.3 11.3c3.1 3.1 3.1 8.2 0 11.3l-28.3 28.3 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-22.6 22.7 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L248 278.6l-22.6 22.6 28.3 28.3c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-28.3-28.3-28.3 28.3c-3.1 3.1-8.2 3.1-11.3 0l-11.3-11.3c-3.1-3.1-3.1-8.2 0-11.3l28.3-28.3-28.3-28.2c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 22.6-22.6-28.3-28.3c-3.1-3.1-3.1-8.2 0-11.3l11.3-11.3c3.1-3.1 8.2-3.1 11.3 0l28.3 28.3 28.3-28.5z"],forward:[512,512,[],"f04e","M500.5 231.4l-192-160C287.9 54.3 256 68.6 256 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2zm-256 0l-192-160C31.9 54.3 0 68.6 0 96v320c0 27.4 31.9 41.8 52.5 24.6l192-160c15.3-12.8 15.3-36.4 0-49.2z"],frown:[512,512,[],"f119","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-396-64c0 37.497 30.503 68 68 68s68-30.503 68-68-30.503-68-68-68-68 30.503-68 68zm160.5 0c0 37.221 30.279 67.5 67.5 67.5s67.5-30.279 67.5-67.5-30.279-67.5-67.5-67.5-67.5 30.279-67.5 67.5zm67.5-48a47.789 47.789 0 0 0-22.603 5.647h.015c10.916 0 19.765 8.849 19.765 19.765s-8.849 19.765-19.765 19.765-19.765-8.849-19.765-19.765v-.015A47.789 47.789 0 0 0 288 192c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48zm-160 0a47.789 47.789 0 0 0-22.603 5.647h.015c10.916 0 19.765 8.849 19.765 19.765s-8.849 19.765-19.765 19.765-19.765-8.849-19.765-19.765v-.015A47.789 47.789 0 0 0 128 192c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48zm192.551 212.66c-59.128-91.455-165.846-91.594-225.064 0-11.502 17.79 15.383 35.148 26.873 17.374 46.626-72.118 124.862-71.855 171.318 0 11.328 17.524 38.548.684 26.873-17.374z"],futbol:[512,512,[],"f1e3","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-48 0l-.003-.282-26.064 22.741-62.679-58.5 16.454-84.355 34.303 3.072c-24.889-34.216-60.004-60.089-100.709-73.141l13.651 31.939L256 139l-74.953-41.525 13.651-31.939c-40.631 13.028-75.78 38.87-100.709 73.141l34.565-3.073 16.192 84.355-62.678 58.5-26.064-22.741-.003.282c0 43.015 13.497 83.952 38.472 117.991l7.704-33.897 85.138 10.447 36.301 77.826-29.902 17.786c40.202 13.122 84.29 13.148 124.572 0l-29.902-17.786 36.301-77.826 85.138-10.447 7.704 33.897C442.503 339.952 456 299.015 456 256zm-248.102 69.571l-29.894-91.312L256 177.732l77.996 56.527-29.622 91.312h-96.476z"],gamepad:[640,512,[],"f11b","M480 96H160C71.6 96 0 167.6 0 256s71.6 160 160 160c44.8 0 85.2-18.4 114.2-48h91.5c29 29.6 69.5 48 114.2 48 88.4 0 160-71.6 160-160S568.4 96 480 96zM256 276c0 6.6-5.4 12-12 12h-52v52c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-52H76c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h52v-52c0-6.6 5.4-12 12-12h40c6.6 0 12 5.4 12 12v52h52c6.6 0 12 5.4 12 12v40zm184 68c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-80c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"],gavel:[512,512,[],"f0e3","M504.971 199.362l-22.627-22.627c-9.373-9.373-24.569-9.373-33.941 0l-5.657 5.657L329.608 69.255l5.657-5.657c9.373-9.373 9.373-24.569 0-33.941L312.638 7.029c-9.373-9.373-24.569-9.373-33.941 0L154.246 131.48c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l5.657-5.657 39.598 39.598-81.04 81.04-5.657-5.657c-12.497-12.497-32.758-12.497-45.255 0L9.373 412.118c-12.497 12.497-12.497 32.758 0 45.255l45.255 45.255c12.497 12.497 32.758 12.497 45.255 0l114.745-114.745c12.497-12.497 12.497-32.758 0-45.255l-5.657-5.657 81.04-81.04 39.598 39.598-5.657 5.657c-9.373 9.373-9.373 24.569 0 33.941l22.627 22.627c9.373 9.373 24.569 9.373 33.941 0l124.451-124.451c9.372-9.372 9.372-24.568 0-33.941z"],gem:[576,512,[],"f3a5","M485.5 0L576 160H474.9L405.7 0h79.8zm-128 0l69.2 160H149.3L218.5 0h139zm-267 0h79.8l-69.2 160H0L90.5 0zM0 192h100.7l123 251.7c1.5 3.1-2.7 5.9-5 3.3L0 192zm148.2 0h279.6l-137 318.2c-1 2.4-4.5 2.4-5.5 0L148.2 192zm204.1 251.7l123-251.7H576L357.3 446.9c-2.3 2.7-6.5-.1-5-3.2z"],genderless:[288,512,[],"f22d","M144 176c44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80 35.9-80 80-80m0-64C64.5 112 0 176.5 0 256s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144z"],gift:[512,512,[],"f06b","M488 192h-64.512C438.72 175.003 448 152.566 448 128c0-52.935-43.065-96-96-96-41.997 0-68.742 20.693-95.992 54.15C226.671 50.192 199.613 32 160 32c-52.935 0-96 43.065-96 96 0 24.566 9.28 47.003 24.512 64H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h8v112c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V320h8c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zm-208-32c24-56 55.324-64 72-64 17.645 0 32 14.355 32 32s-14.355 32-32 32h-72zM160 96c16.676 0 48 8 72 64h-72c-17.645 0-32-14.355-32-32s14.355-32 32-32zm48 128h96v184c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24V224z"],"glass-martini":[512,512,[],"f000","M507.3 27.3c10-10 2.9-27.3-11.3-27.3H16C1.8 0-5.4 17.2 4.7 27.3L216 238.6V472h-92c-15.5 0-28 12.5-28 28 0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12 0-15.5-12.5-28-28-28h-92V238.6L507.3 27.3z"],globe:[512,512,[],"f0ac","M364.215 192h131.43c5.439 20.419 8.354 41.868 8.354 64s-2.915 43.581-8.354 64h-131.43c5.154-43.049 4.939-86.746 0-128zM185.214 352c10.678 53.68 33.173 112.514 70.125 151.992.221.001.44.008.661.008s.44-.008.661-.008c37.012-39.543 59.467-98.414 70.125-151.992H185.214zm174.13-192h125.385C452.802 84.024 384.128 27.305 300.95 12.075c30.238 43.12 48.821 96.332 58.394 147.925zm-27.35 32H180.006c-5.339 41.914-5.345 86.037 0 128h151.989c5.339-41.915 5.345-86.037-.001-128zM152.656 352H27.271c31.926 75.976 100.6 132.695 183.778 147.925-30.246-43.136-48.823-96.35-58.393-147.925zm206.688 0c-9.575 51.605-28.163 104.814-58.394 147.925 83.178-15.23 151.852-71.949 183.778-147.925H359.344zm-32.558-192c-10.678-53.68-33.174-112.514-70.125-151.992-.221 0-.44-.008-.661-.008s-.44.008-.661.008C218.327 47.551 195.872 106.422 185.214 160h141.572zM16.355 192C10.915 212.419 8 233.868 8 256s2.915 43.581 8.355 64h131.43c-4.939-41.254-5.154-84.951 0-128H16.355zm136.301-32c9.575-51.602 28.161-104.81 58.394-147.925C127.872 27.305 59.198 84.024 27.271 160h125.385z"],"golf-ball":[416,512,[],"f450","M96 416h224c0 17.7-14.3 32-32 32h-16c-17.7 0-32 14.3-32 32v20c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-20c0-17.7-14.3-32-32-32h-16c-17.7 0-32-14.3-32-32zm320-208c0 74.2-39 139.2-97.5 176h-221C39 347.2 0 282.2 0 208 0 93.1 93.1 0 208 0s208 93.1 208 208zm-180.1 43.9c18.3 0 33.1-14.8 33.1-33.1 0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1zm49.1 46.9c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1zm64-64c0-14.4-9.3-26.3-22.1-30.9 9.6 26.8-15.6 51.3-41.9 41.9 4.6 12.8 16.5 22.1 30.9 22.1 18.3 0 33.1-14.9 33.1-33.1z"],"graduation-cap":[640,512,[],"f19d","M622.884 199.005l-275.817 85.1a96 96 0 0 1-54.134 0L92.398 222.232c-8.564 11.438-11.018 23.05-11.918 38.335C89.778 266.165 96 276.355 96 288c0 11.952-6.557 22.366-16.265 27.861l16.197 123.096c.63 4.786-3.1 9.043-7.932 9.043H40c-4.828 0-8.562-4.253-7.932-9.044L48.265 315.86C38.557 310.366 32 299.952 32 288c0-12.034 6.646-22.511 16.465-27.976.947-17.951 3.974-33.231 12.152-47.597l-43.502-13.422c-22.876-6.801-22.766-39.241 0-46.01l275.817-85.1a96 96 0 0 1 54.134 0l275.817 85.1c22.877 6.801 22.767 39.241.001 46.01zM356.503 314.682l-.207.064-.207.061a127.998 127.998 0 0 1-72.177 0l-.207-.061-.207-.064-150.914-46.57L120 352c0 35.346 89.543 64 200 64s200-28.654 200-64l-12.583-83.888-150.914 46.57z"],"h-square":[448,512,[],"f0fd","M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zm-112 48h-32c-8.837 0-16 7.163-16 16v80H160v-80c0-8.837-7.163-16-16-16h-32c-8.837 0-16 7.163-16 16v224c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16v-80h128v80c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144c0-8.837-7.163-16-16-16z"],"hand-lizard":[576,512,[],"f258","M384 480h192V363.778a95.998 95.998 0 0 0-14.833-51.263L398.127 54.368A48 48 0 0 0 357.544 32H24C10.745 32 0 42.745 0 56v16c0 30.928 25.072 56 56 56h229.981c12.844 0 21.556 13.067 16.615 24.923l-21.41 51.385A32 32 0 0 1 251.648 224H128c-35.346 0-64 28.654-64 64v8c0 13.255 10.745 24 24 24h147.406a47.995 47.995 0 0 1 25.692 7.455l111.748 70.811A24.001 24.001 0 0 1 384 418.539V480z"],"hand-paper":[448,512,[],"f256","M408.781 128.007C386.356 127.578 368 146.36 368 168.79V256h-8V79.79c0-22.43-18.356-41.212-40.781-40.783C297.488 39.423 280 57.169 280 79v177h-8V40.79C272 18.36 253.644-.422 231.219.007 209.488.423 192 18.169 192 40v216h-8V80.79c0-22.43-18.356-41.212-40.781-40.783C121.488 40.423 104 58.169 104 80v235.992l-31.648-43.519c-12.993-17.866-38.009-21.817-55.877-8.823-17.865 12.994-21.815 38.01-8.822 55.877l125.601 172.705A48 48 0 0 0 172.073 512h197.59c22.274 0 41.622-15.324 46.724-37.006l26.508-112.66a192.011 192.011 0 0 0 5.104-43.975V168c.001-21.831-17.487-39.577-39.218-39.993z"],"hand-peace":[448,512,[],"f25b","M408 216c-22.092 0-40 17.909-40 40h-8v-32c0-22.091-17.908-40-40-40s-40 17.909-40 40v32h-8V48c0-26.51-21.49-48-48-48s-48 21.49-48 48v208h-13.572L92.688 78.449C82.994 53.774 55.134 41.63 30.461 51.324 5.787 61.017-6.356 88.877 3.337 113.551l74.765 190.342-31.09 24.872c-15.381 12.306-19.515 33.978-9.741 51.081l64 112A39.998 39.998 0 0 0 136 512h240c18.562 0 34.686-12.77 38.937-30.838l32-136A39.97 39.97 0 0 0 448 336v-80c0-22.091-17.908-40-40-40z"],"hand-point-down":[384,512,[],"f0a7","M91.826 467.2V317.966c-8.248 5.841-16.558 10.57-24.918 14.153C35.098 345.752-.014 322.222 0 288c.008-18.616 10.897-32.203 29.092-40 28.286-12.122 64.329-78.648 77.323-107.534 7.956-17.857 25.479-28.453 43.845-28.464l.001-.002h171.526c11.812 0 21.897 8.596 23.703 20.269 7.25 46.837 38.483 61.76 38.315 123.731-.007 2.724.195 13.254.195 16 0 50.654-22.122 81.574-71.263 72.6-9.297 18.597-39.486 30.738-62.315 16.45-21.177 24.645-53.896 22.639-70.944 6.299V467.2c0 24.15-20.201 44.8-43.826 44.8-23.283 0-43.826-21.35-43.826-44.8zM112 72V24c0-13.255 10.745-24 24-24h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24zm212-24c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z"],"hand-point-left":[512,512,[],"f0a5","M44.8 155.826h149.234c-5.841-8.248-10.57-16.558-14.153-24.918C166.248 99.098 189.778 63.986 224 64c18.616.008 32.203 10.897 40 29.092 12.122 28.286 78.648 64.329 107.534 77.323 17.857 7.956 28.453 25.479 28.464 43.845l.002.001v171.526c0 11.812-8.596 21.897-20.269 23.703-46.837 7.25-61.76 38.483-123.731 38.315-2.724-.007-13.254.195-16 .195-50.654 0-81.574-22.122-72.6-71.263-18.597-9.297-30.738-39.486-16.45-62.315-24.645-21.177-22.639-53.896-6.299-70.944H44.8c-24.15 0-44.8-20.201-44.8-43.826 0-23.283 21.35-43.826 44.8-43.826zM440 176h48c13.255 0 24 10.745 24 24v192c0 13.255-10.745 24-24 24h-48c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24zm24 212c11.046 0 20-8.954 20-20s-8.954-20-20-20-20 8.954-20 20 8.954 20 20 20z"],"hand-point-right":[512,512,[],"f0a4","M512 199.652c0 23.625-20.65 43.826-44.8 43.826h-99.851c16.34 17.048 18.346 49.766-6.299 70.944 14.288 22.829 2.147 53.017-16.45 62.315C353.574 425.878 322.654 448 272 448c-2.746 0-13.276-.203-16-.195-61.971.168-76.894-31.065-123.731-38.315C120.596 407.683 112 397.599 112 385.786V214.261l.002-.001c.011-18.366 10.607-35.889 28.464-43.845 28.886-12.994 95.413-49.038 107.534-77.323 7.797-18.194 21.384-29.084 40-29.092 34.222-.014 57.752 35.098 44.119 66.908-3.583 8.359-8.312 16.67-14.153 24.918H467.2c23.45 0 44.8 20.543 44.8 43.826zM96 200v192c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V200c0-13.255 10.745-24 24-24h48c13.255 0 24 10.745 24 24zM68 368c0-11.046-8.954-20-20-20s-20 8.954-20 20 8.954 20 20 20 20-8.954 20-20z"],"hand-point-up":[384,512,[],"f0a6","M135.652 0c23.625 0 43.826 20.65 43.826 44.8v99.851c17.048-16.34 49.766-18.346 70.944 6.299 22.829-14.288 53.017-2.147 62.315 16.45C361.878 158.426 384 189.346 384 240c0 2.746-.203 13.276-.195 16 .168 61.971-31.065 76.894-38.315 123.731C343.683 391.404 333.599 400 321.786 400H150.261l-.001-.002c-18.366-.011-35.889-10.607-43.845-28.464C93.421 342.648 57.377 276.122 29.092 264 10.897 256.203.008 242.616 0 224c-.014-34.222 35.098-57.752 66.908-44.119 8.359 3.583 16.67 8.312 24.918 14.153V44.8c0-23.45 20.543-44.8 43.826-44.8zM136 416h192c13.255 0 24 10.745 24 24v48c0 13.255-10.745 24-24 24H136c-13.255 0-24-10.745-24-24v-48c0-13.255 10.745-24 24-24zm168 28c-11.046 0-20 8.954-20 20s8.954 20 20 20 20-8.954 20-20-8.954-20-20-20z"],"hand-pointer":[448,512,[],"f25a","M448 240v96c0 3.084-.356 6.159-1.063 9.162l-32 136C410.686 499.23 394.562 512 376 512H168a40.004 40.004 0 0 1-32.35-16.473l-127.997-176c-12.993-17.866-9.043-42.883 8.822-55.876 17.867-12.994 42.884-9.043 55.877 8.823L104 315.992V40c0-22.091 17.908-40 40-40s40 17.909 40 40v200h8v-40c0-22.091 17.908-40 40-40s40 17.909 40 40v40h8v-24c0-22.091 17.908-40 40-40s40 17.909 40 40v24h8c0-22.091 17.908-40 40-40s40 17.909 40 40zm-256 80h-8v96h8v-96zm88 0h-8v96h8v-96zm88 0h-8v96h8v-96z"],"hand-rock":[512,512,[],"f255","M512 128.79c0-26.322-20.861-48.344-47.18-48.783C437.935 79.558 416 101.217 416 128h-8V96.79c0-26.322-20.861-48.344-47.18-48.783C333.935 47.558 312 69.217 312 96v32h-8V80.79c0-26.322-20.861-48.344-47.18-48.783C229.935 31.558 208 53.217 208 80v48h-8V96.79c0-26.322-20.861-48.344-47.18-48.783C125.935 47.558 104 69.217 104 96v136l-8-7.111V176.79c0-26.322-20.861-48.344-47.18-48.783C21.935 127.558 0 149.217 0 176v66.445a95.998 95.998 0 0 0 32.221 71.751l111.668 99.261A47.999 47.999 0 0 1 160 449.333V456c0 13.255 10.745 24 24 24h240c13.255 0 24-10.745 24-24v-2.921a96.01 96.01 0 0 1 7.523-37.254l48.954-116.265A96.002 96.002 0 0 0 512 262.306V128.79z"],"hand-scissors":[512,512,[],"f257","M216 440c0-22.092 17.909-40 40-40v-8h-32c-22.091 0-40-17.908-40-40s17.909-40 40-40h32v-8H48c-26.51 0-48-21.49-48-48s21.49-48 48-48h208v-13.572l-177.551-69.74c-24.674-9.694-36.818-37.555-27.125-62.228 9.693-24.674 37.554-36.817 62.228-27.124l190.342 74.765 24.872-31.09c12.306-15.381 33.978-19.515 51.081-9.741l112 64A40.002 40.002 0 0 1 512 168v240c0 18.562-12.77 34.686-30.838 38.937l-136 32A39.982 39.982 0 0 1 336 480h-80c-22.091 0-40-17.908-40-40z"],"hand-spock":[512,512,[],"f259","M10.872 316.585c15.139-16.086 40.454-16.854 56.543-1.713L128 371.893v-79.405L88.995 120.865c-4.896-21.542 8.598-42.974 30.14-47.87 21.549-4.894 42.975 8.599 47.87 30.141L201.747 256h9.833L164.016 48.966c-4.946-21.531 8.498-42.994 30.028-47.94 21.532-4.95 42.994 8.498 47.94 30.028L293.664 256h15.105l48.425-193.702c5.357-21.432 27.075-34.462 48.507-29.104 21.432 5.358 34.463 27.075 29.104 48.507L391.231 256h11.08l30.768-129.265c5.117-21.491 26.685-34.768 48.177-29.647 21.491 5.117 34.765 26.686 29.647 48.177l-36.292 152.467A96.024 96.024 0 0 0 472 319.967v42.102a96.002 96.002 0 0 1-3.96 27.287l-26.174 88.287C435.825 498.022 417.101 512 395.846 512H179.172a48.002 48.002 0 0 1-32.898-13.046L12.585 373.128c-16.087-15.141-16.853-40.456-1.713-56.543z"],handshake:[640,512,[],"f2b5","M72 112H24c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h48c13.255 0 24-10.745 24-24V136c0-13.255-10.745-24-24-24zM48 340c-11.046 0-20-8.954-20-20s8.954-20 20-20 20 8.954 20 20-8.954 20-20 20zm568-228h-48c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h48c13.255 0 24-10.745 24-24V136c0-13.255-10.745-24-24-24zm-24 228c-11.046 0-20-8.954-20-20s8.954-20 20-20 20 8.954 20 20-8.954 20-20 20zM485.94 92.67L528 140.74V320h-19.17c.56-14.96-4.38-28.98-14-39.71l-80.92-98.91c2.93-3.2 2.76-8.16-.38-11.16-2.82-2.7-7.08-2.92-10.14-.76-.42.3-60.35 62.93-60.35 62.93l-.2.21c-23.904 26.905-66.127 26.204-89.15-1.42-15.48-18.58-15.29-45.39.45-63.76l66.57-77.67C334.304 73.88 354.534 64 376.7 64h46.05a83.98 83.98 0 0 1 63.19 28.67zm-3.37 197.92c15.46 16.78 12.59 43.83-2.37 57.75-17.711 16.462-42.433 13.004-45.93 9.2 1.653 15.658-21.389 47.249-56.42 44.68-6.325 21.185-32.298 38.909-59.18 29.61-10.22 10.21-25.82 14.97-39.81 14.97-28.69 0-54.92-11.99-72.58-30.8L112 320V135.52l61.36-50.57A71.52 71.52 0 0 1 223.93 64h37.42c16.73 0 32.68 6.84 44.21 18.85l-63.57 74.16c-20.84 24.31-21.09 59.81-.59 84.42 29.375 35.247 83.007 35.853 113.31 1.92L402.82 193l79.75 97.59z"],hashtag:[448,512,[],"f292","M440.667 182.109l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l14.623-81.891C377.123 38.754 371.468 32 363.997 32h-40.632a12 12 0 0 0-11.813 9.891L296.175 128H197.54l14.623-81.891C213.477 38.754 207.822 32 200.35 32h-40.632a12 12 0 0 0-11.813 9.891L132.528 128H53.432a12 12 0 0 0-11.813 9.891l-7.143 40C33.163 185.246 38.818 192 46.289 192h74.81L98.242 320H19.146a12 12 0 0 0-11.813 9.891l-7.143 40C-1.123 377.246 4.532 384 12.003 384h74.81L72.19 465.891C70.877 473.246 76.532 480 84.003 480h40.632a12 12 0 0 0 11.813-9.891L151.826 384h98.634l-14.623 81.891C234.523 473.246 240.178 480 247.65 480h40.632a12 12 0 0 0 11.813-9.891L315.472 384h79.096a12 12 0 0 0 11.813-9.891l7.143-40c1.313-7.355-4.342-14.109-11.813-14.109h-74.81l22.857-128h79.096a12 12 0 0 0 11.813-9.891zM261.889 320h-98.634l22.857-128h98.634l-22.857 128z"],hdd:[576,512,[],"f0a0","M576 304v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48zm-48-80a79.557 79.557 0 0 1 30.777 6.165L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L17.223 230.165A79.557 79.557 0 0 1 48 224h480zm-48 96c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32zm-96 0c-17.673 0-32 14.327-32 32s14.327 32 32 32 32-14.327 32-32-14.327-32-32-32z"],heading:[512,512,[],"f1dc","M496 80V48c0-8.837-7.163-16-16-16H320c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h37.621v128H154.379V96H192c8.837 0 16-7.163 16-16V48c0-8.837-7.163-16-16-16H32c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h37.275v320H32c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h160c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16h-37.621V288H357.62v128H320c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h160c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16h-37.275V96H480c8.837 0 16-7.163 16-16z"],headphones:[512,512,[],"f025","M256 32C114.52 32 0 146.496 0 288v48a32 32 0 0 0 17.689 28.622l14.383 7.191C34.083 431.903 83.421 480 144 480h24c13.255 0 24-10.745 24-24V280c0-13.255-10.745-24-24-24h-24c-31.342 0-59.671 12.879-80 33.627V288c0-105.869 86.131-192 192-192s192 86.131 192 192v1.627C427.671 268.879 399.342 256 368 256h-24c-13.255 0-24 10.745-24 24v176c0 13.255 10.745 24 24 24h24c60.579 0 109.917-48.098 111.928-108.187l14.382-7.191A32 32 0 0 0 512 336v-48c0-141.479-114.496-256-256-256z"],heart:[576,512,[],"f004","M414.9 24C361.8 24 312 65.7 288 89.3 264 65.7 214.2 24 161.1 24 70.3 24 16 76.9 16 165.5c0 72.6 66.8 133.3 69.2 135.4l187 180.8c8.8 8.5 22.8 8.5 31.6 0l186.7-180.2c2.7-2.7 69.5-63.5 69.5-136C560 76.9 505.7 24 414.9 24z"],heartbeat:[512,512,[],"f21e","M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z"],history:[512,512,[],"f1da","M504 255.531c.253 136.64-111.18 248.372-247.82 248.468-59.015.042-113.223-20.53-155.822-54.911-11.077-8.94-11.905-25.541-1.839-35.607l11.267-11.267c8.609-8.609 22.353-9.551 31.891-1.984C173.062 425.135 212.781 440 256 440c101.705 0 184-82.311 184-184 0-101.705-82.311-184-184-184-48.814 0-93.149 18.969-126.068 49.932l50.754 50.754c10.08 10.08 2.941 27.314-11.313 27.314H24c-8.837 0-16-7.163-16-16V38.627c0-14.254 17.234-21.393 27.314-11.314l49.372 49.372C129.209 34.136 189.552 8 256 8c136.81 0 247.747 110.78 248 247.531zm-180.912 78.784l9.823-12.63c8.138-10.463 6.253-25.542-4.21-33.679L288 256.349V152c0-13.255-10.745-24-24-24h-16c-13.255 0-24 10.745-24 24v135.651l65.409 50.874c10.463 8.137 25.541 6.253 33.679-4.21z"],"hockey-puck":[512,512,[],"f453","M0 160c0-53 114.6-96 256-96s256 43 256 96-114.6 96-256 96S0 213 0 160zm0 82.2V352c0 53 114.6 96 256 96s256-43 256-96V242.2c-113.4 82.3-398.5 82.4-512 0z"],home:[576,512,[],"f015","M488 312.7V456c0 13.3-10.7 24-24 24H348c-6.6 0-12-5.4-12-12V356c0-6.6-5.4-12-12-12h-72c-6.6 0-12 5.4-12 12v112c0 6.6-5.4 12-12 12H112c-13.3 0-24-10.7-24-24V312.7c0-3.6 1.6-7 4.4-9.3l188-154.8c4.4-3.6 10.8-3.6 15.3 0l188 154.8c2.7 2.3 4.3 5.7 4.3 9.3zm83.6-60.9L488 182.9V44.4c0-6.6-5.4-12-12-12h-56c-6.6 0-12 5.4-12 12V117l-89.5-73.7c-17.7-14.6-43.3-14.6-61 0L4.4 251.8c-5.1 4.2-5.8 11.8-1.6 16.9l25.5 31c4.2 5.1 11.8 5.8 16.9 1.6l235.2-193.7c4.4-3.6 10.8-3.6 15.3 0l235.2 193.7c5.1 4.2 12.7 3.5 16.9-1.6l25.5-31c4.2-5.2 3.4-12.7-1.7-16.9z"],hospital:[448,512,[],"f0f8","M448 492v20H0v-20c0-6.627 5.373-12 12-12h20V120c0-13.255 10.745-24 24-24h88V24c0-13.255 10.745-24 24-24h112c13.255 0 24 10.745 24 24v72h88c13.255 0 24 10.745 24 24v360h20c6.627 0 12 5.373 12 12zM308 192h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-168 64h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12zm104 128h-40c-6.627 0-12 5.373-12 12v84h64v-84c0-6.627-5.373-12-12-12zm64-96h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12zm-116 12c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40zM182 96h26v26a6 6 0 0 0 6 6h20a6 6 0 0 0 6-6V96h26a6 6 0 0 0 6-6V70a6 6 0 0 0-6-6h-26V38a6 6 0 0 0-6-6h-20a6 6 0 0 0-6 6v26h-26a6 6 0 0 0-6 6v20a6 6 0 0 0 6 6z"],"hospital-symbol":[512,512,[],"f47e","M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256 256-114.6 256-256S397.4 0 256 0zm112 376c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8v-88h-96v88c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V136c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v88h96v-88c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v240z"],hourglass:[384,512,[],"f254","M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64z"],"hourglass-end":[384,512,[],"f253","M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64zM192 208c-57.787 0-104-66.518-104-144h208c0 77.945-46.51 144-104 144z"],"hourglass-half":[384,512,[],"f252","M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-75.078 384H99.08c17.059-46.797 52.096-80 92.92-80 40.821 0 75.862 33.196 92.922 80zm.019-256H99.078C91.988 108.548 88 86.748 88 64h208c0 22.805-3.987 44.587-11.059 64z"],"hourglass-start":[384,512,[],"f251","M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-64 448H88c0-77.458 46.204-144 104-144 57.786 0 104 66.517 104 144z"],"i-cursor":[256,512,[],"f246","M256 52.048V12.065C256 5.496 250.726.148 244.158.066 211.621-.344 166.469.011 128 37.959 90.266.736 46.979-.114 11.913.114 5.318.157 0 5.519 0 12.114v39.645c0 6.687 5.458 12.078 12.145 11.998C38.111 63.447 96 67.243 96 112.182V224H60c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h36v112c0 44.932-56.075 48.031-83.95 47.959C5.404 447.942 0 453.306 0 459.952v39.983c0 6.569 5.274 11.917 11.842 11.999 32.537.409 77.689.054 116.158-37.894 37.734 37.223 81.021 38.073 116.087 37.845 6.595-.043 11.913-5.405 11.913-12V460.24c0-6.687-5.458-12.078-12.145-11.998C217.889 448.553 160 444.939 160 400V288h36c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-36V112.182c0-44.932 56.075-48.213 83.95-48.142 6.646.018 12.05-5.346 12.05-11.992z"],"id-badge":[384,512,[],"f2c1","M336 0H48C21.49 0 0 21.49 0 48v416c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM128 44c0-6.627 5.373-12 12-12h104c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12H140c-6.627 0-12-5.373-12-12v-8zm64 116c44.183 0 80 35.817 80 80s-35.817 80-80 80-80-35.817-80-80 35.817-80 80-80zm128 232c0 13.255-10.745 24-24 24H88c-13.255 0-24-10.745-24-24v-18.523c0-22.026 14.99-41.225 36.358-46.567l35.656-8.914c29.101 20.932 74.509 26.945 111.97 0l35.656 8.914c21.37 5.342 36.36 24.542 36.36 46.567V392z"],"id-card":[512,512,[],"f2c2","M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zM256 350c0 9.941-8.059 18-18 18H82c-9.941 0-18-8.059-18-18v-13.892c0-16.519 11.243-30.919 27.269-34.925l26.742-6.686c21.826 15.699 55.882 20.209 83.978 0l26.743 6.686C244.757 305.189 256 319.589 256 336.108V350zM100 236c0-33.137 26.863-60 60-60s60 26.863 60 60-26.863 60-60 60-60-26.863-60-60zm348 104c0 6.627-5.373 12-12 12H300c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v8zm0-64c0 6.627-5.373 12-12 12H300c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v8zm0-64c0 6.627-5.373 12-12 12H300c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12v8zm32-96c0 6.627-5.373 12-12 12H44c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v8z"],image:[512,512,[],"f03e","M464 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM112 120c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56zM64 384h384V272l-87.515-87.515c-4.686-4.686-12.284-4.686-16.971 0L208 320l-55.515-55.515c-4.686-4.686-12.284-4.686-16.971 0L64 336v48z"],images:[576,512,[],"f302","M480 416v16c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v208c0 44.112 35.888 80 80 80h336zm96-80V80c0-26.51-21.49-48-48-48H144c-26.51 0-48 21.49-48 48v256c0 26.51 21.49 48 48 48h384c26.51 0 48-21.49 48-48zM256 128c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-96 144l55.515-55.515c4.686-4.686 12.284-4.686 16.971 0L272 256l135.515-135.515c4.686-4.686 12.284-4.686 16.971 0L512 208v112H160v-48z"],inbox:[576,512,[],"f01c","M567.938 243.908L462.25 85.374A48.003 48.003 0 0 0 422.311 64H153.689a48 48 0 0 0-39.938 21.374L8.062 243.908A47.994 47.994 0 0 0 0 270.533V400c0 26.51 21.49 48 48 48h480c26.51 0 48-21.49 48-48V270.533a47.994 47.994 0 0 0-8.062-26.625zM162.252 128h251.497l85.333 128H376l-32 64H232l-32-64H76.918l85.334-128z"],indent:[448,512,[],"f03c","M0 84V44c0-8.837 7.163-16 16-16h416c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16zm176 144h256c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H176c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM16 484h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm160-128h256c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H176c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm-52.687-111.313l-96-95.984C17.266 138.652 0 145.776 0 160.016v191.975c0 14.329 17.325 21.304 27.313 11.313l96-95.992c6.249-6.247 6.249-16.377 0-22.625z"],industry:[512,512,[],"f275","M475.115 163.781L336 252.309v-68.28c0-18.916-20.931-30.399-36.885-20.248L160 252.309V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56v400c0 13.255 10.745 24 24 24h464c13.255 0 24-10.745 24-24V184.029c0-18.917-20.931-30.399-36.885-20.248z"],info:[192,512,[],"f129","M20 424.229h20V279.771H20c-11.046 0-20-8.954-20-20V212c0-11.046 8.954-20 20-20h112c11.046 0 20 8.954 20 20v212.229h20c11.046 0 20 8.954 20 20V492c0 11.046-8.954 20-20 20H20c-11.046 0-20-8.954-20-20v-47.771c0-11.046 8.954-20 20-20zM96 0C56.235 0 24 32.235 24 72s32.235 72 72 72 72-32.235 72-72S135.764 0 96 0z"],"info-circle":[512,512,[],"f05a","M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z"],italic:[320,512,[],"f033","M204.758 416h-33.849l62.092-320h40.725a16 16 0 0 0 15.704-12.937l6.242-32C297.599 41.184 290.034 32 279.968 32H120.235a16 16 0 0 0-15.704 12.937l-6.242 32C96.362 86.816 103.927 96 113.993 96h33.846l-62.09 320H46.278a16 16 0 0 0-15.704 12.935l-6.245 32C22.402 470.815 29.967 480 40.034 480h158.479a16 16 0 0 0 15.704-12.935l6.245-32c1.927-9.88-5.638-19.065-15.704-19.065z"],key:[512,512,[],"f084","M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.827-3.069l-24.012 27.014A23.999 23.999 0 0 1 261.223 384H224v40c0 13.255-10.745 24-24 24h-40v40c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-78.059c0-6.365 2.529-12.47 7.029-16.971l161.802-161.802C163.108 213.814 160 195.271 160 176 160 78.798 238.797.001 335.999 0 433.488-.001 512 78.511 512 176.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z"],keyboard:[576,512,[],"f11c","M528 448H48c-26.51 0-48-21.49-48-48V112c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v288c0 26.51-21.49 48-48 48zM128 180v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H172c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"],language:[640,512,[],"f1ab","M304 416H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h280v320zm-120.676-72.622A12 12 0 0 0 194.839 352h22.863c8.22 0 14.007-8.078 11.362-15.861L171.61 167.085a12 12 0 0 0-11.362-8.139h-32.489a12.001 12.001 0 0 0-11.362 8.139L58.942 336.139C56.297 343.922 62.084 352 70.304 352h22.805a12 12 0 0 0 11.535-8.693l9.118-31.807h60.211l9.351 31.878zm-39.051-140.42s4.32 21.061 7.83 33.21l10.8 37.531h-38.07l11.07-37.531c3.51-12.15 7.83-33.21 7.83-33.21h.54zM616 416H336V96h280c13.255 0 24 10.745 24 24v272c0 13.255-10.745 24-24 24zm-36-228h-64v-16c0-6.627-5.373-12-12-12h-16c-6.627 0-12 5.373-12 12v16h-64c-6.627 0-12 5.373-12 12v16c0 6.627 5.373 12 12 12h114.106c-6.263 14.299-16.518 28.972-30.023 43.206-6.56-6.898-12.397-13.91-17.365-20.933-3.639-5.144-10.585-6.675-15.995-3.446l-7.28 4.346-6.498 3.879c-5.956 3.556-7.693 11.421-3.735 17.117 6.065 8.729 13.098 17.336 20.984 25.726-8.122 6.226-16.841 12.244-26.103 17.964-5.521 3.41-7.381 10.556-4.162 16.19l7.941 13.896c3.362 5.883 10.935 7.826 16.706 4.276 12.732-7.831 24.571-16.175 35.443-24.891 10.917 8.761 22.766 17.102 35.396 24.881 5.774 3.556 13.353 1.618 16.717-4.27l7.944-13.903c3.213-5.623 1.37-12.76-4.135-16.171a312.737 312.737 0 0 1-26.06-18.019c21.024-22.425 35.768-46.289 42.713-69.85H580c6.627 0 12-5.373 12-12v-16c0-6.625-5.373-11.998-12-11.998z"],laptop:[640,512,[],"f109","M512 64v256H128V64h384m16-64H112C85.5 0 64 21.5 64 48v288c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm100 416H389.5c-3 0-5.5 2.1-5.9 5.1C381.2 436.3 368 448 352 448h-64c-16 0-29.2-11.7-31.6-26.9-.5-2.9-3-5.1-5.9-5.1H12c-6.6 0-12 5.4-12 12v36c0 26.5 21.5 48 48 48h544c26.5 0 48-21.5 48-48v-36c0-6.6-5.4-12-12-12z"],leaf:[576,512,[],"f06c","M395.4 420.8c-43.4 21.6-91.9 34.4-140.8 34.4-82.2 0-151.1-40.1-151.1-40.1-16.1 0-35.4 64.9-63.3 64.9-27 0-40.2-24-40.2-38.5 0-33.1 63.6-58.9 63.6-77.3 0 0-12.5-21.2-12.5-59.2 0-101.2 81.3-173.4 172.6-203.3 65.9-21.6 206 3.5 250.7-38.5C492.1 47 500.8 32 527.8 32c36.3 0 48.2 93.2 48.2 120.3 0 110.9-54.5 206.5-180.6 268.5zm-254.3-75.6c63.5-89.9 144.5-128.8 257.7-120 8.8.7 16.5-5.9 17.2-14.7.7-8.8-5.9-16.5-14.7-17.2-124-9.6-215.9 33.9-286.3 133.5-5.1 7.2-3.4 17.2 3.8 22.3 7.2 5.1 17.2 3.4 22.3-3.9z"],lemon:[512,512,[],"f094","M489.038 22.963C465.944-.13 434.648-5.93 413.947 6.129c-58.906 34.312-181.25-53.077-321.073 86.746S40.441 355.041 6.129 413.945c-12.059 20.702-6.26 51.999 16.833 75.093 23.095 23.095 54.392 28.891 75.095 16.832 58.901-34.31 181.246 53.079 321.068-86.743S471.56 156.96 505.871 98.056c12.059-20.702 6.261-51.999-16.833-75.093zM243.881 95.522c-58.189 14.547-133.808 90.155-148.358 148.358-1.817 7.27-8.342 12.124-15.511 12.124-1.284 0-2.59-.156-3.893-.481-8.572-2.144-13.784-10.83-11.642-19.403C81.901 166.427 166.316 81.93 236.119 64.478c8.575-2.143 17.261 3.069 19.403 11.642s-3.069 17.259-11.641 19.402z"],"level-down-alt":[320,512,[],"f3be","M313.553 392.331L209.587 504.334c-9.485 10.214-25.676 10.229-35.174 0L70.438 392.331C56.232 377.031 67.062 352 88.025 352H152V80H68.024a11.996 11.996 0 0 1-8.485-3.515l-56-56C-4.021 12.926 1.333 0 12.024 0H208c13.255 0 24 10.745 24 24v328h63.966c20.878 0 31.851 24.969 17.587 40.331z"],"level-up-alt":[320,512,[],"f3bf","M313.553 119.669L209.587 7.666c-9.485-10.214-25.676-10.229-35.174 0L70.438 119.669C56.232 134.969 67.062 160 88.025 160H152v272H68.024a11.996 11.996 0 0 0-8.485 3.515l-56 56C-4.021 499.074 1.333 512 12.024 512H208c13.255 0 24-10.745 24-24V160h63.966c20.878 0 31.851-24.969 17.587-40.331z"],"life-ring":[512,512,[],"f1cd","M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm173.696 119.559l-63.399 63.399c-10.987-18.559-26.67-34.252-45.255-45.255l63.399-63.399a218.396 218.396 0 0 1 45.255 45.255zM256 352c-53.019 0-96-42.981-96-96s42.981-96 96-96 96 42.981 96 96-42.981 96-96 96zM127.559 82.304l63.399 63.399c-18.559 10.987-34.252 26.67-45.255 45.255l-63.399-63.399a218.372 218.372 0 0 1 45.255-45.255zM82.304 384.441l63.399-63.399c10.987 18.559 26.67 34.252 45.255 45.255l-63.399 63.399a218.396 218.396 0 0 1-45.255-45.255zm302.137 45.255l-63.399-63.399c18.559-10.987 34.252-26.67 45.255-45.255l63.399 63.399a218.403 218.403 0 0 1-45.255 45.255z"],lightbulb:[384,512,[],"f0eb","M272 428v28c0 10.449-6.68 19.334-16 22.629V488c0 13.255-10.745 24-24 24h-80c-13.255 0-24-10.745-24-24v-9.371c-9.32-3.295-16-12.18-16-22.629v-28c0-6.627 5.373-12 12-12h136c6.627 0 12 5.373 12 12zm-143.107-44c-9.907 0-18.826-6.078-22.376-15.327C67.697 267.541 16 277.731 16 176 16 78.803 94.805 0 192 0s176 78.803 176 176c0 101.731-51.697 91.541-90.516 192.673-3.55 9.249-12.47 15.327-22.376 15.327H128.893zM112 176c0-44.112 35.888-80 80-80 8.837 0 16-7.164 16-16s-7.163-16-16-16c-61.757 0-112 50.243-112 112 0 8.836 7.164 16 16 16s16-7.164 16-16z"],link:[512,512,[],"f0c1","M326.612 185.391c59.747 59.809 58.927 155.698.36 214.59-.11.12-.24.25-.36.37l-67.2 67.2c-59.27 59.27-155.699 59.262-214.96 0-59.27-59.26-59.27-155.7 0-214.96l37.106-37.106c9.84-9.84 26.786-3.3 27.294 10.606.648 17.722 3.826 35.527 9.69 52.721 1.986 5.822.567 12.262-3.783 16.612l-13.087 13.087c-28.026 28.026-28.905 73.66-1.155 101.96 28.024 28.579 74.086 28.749 102.325.51l67.2-67.19c28.191-28.191 28.073-73.757 0-101.83-3.701-3.694-7.429-6.564-10.341-8.569a16.037 16.037 0 0 1-6.947-12.606c-.396-10.567 3.348-21.456 11.698-29.806l21.054-21.055c5.521-5.521 14.182-6.199 20.584-1.731a152.482 152.482 0 0 1 20.522 17.197zM467.547 44.449c-59.261-59.262-155.69-59.27-214.96 0l-67.2 67.2c-.12.12-.25.25-.36.37-58.566 58.892-59.387 154.781.36 214.59a152.454 152.454 0 0 0 20.521 17.196c6.402 4.468 15.064 3.789 20.584-1.731l21.054-21.055c8.35-8.35 12.094-19.239 11.698-29.806a16.037 16.037 0 0 0-6.947-12.606c-2.912-2.005-6.64-4.875-10.341-8.569-28.073-28.073-28.191-73.639 0-101.83l67.2-67.19c28.239-28.239 74.3-28.069 102.325.51 27.75 28.3 26.872 73.934-1.155 101.96l-13.087 13.087c-4.35 4.35-5.769 10.79-3.783 16.612 5.864 17.194 9.042 34.999 9.69 52.721.509 13.906 17.454 20.446 27.294 10.606l37.106-37.106c59.271-59.259 59.271-155.699.001-214.959z"],"lira-sign":[384,512,[],"f195","M371.994 256h-48.019C317.64 256 312 260.912 312 267.246 312 368 230.179 416 144 416V256.781l134.603-29.912A12 12 0 0 0 288 215.155v-40.976c0-7.677-7.109-13.38-14.603-11.714L144 191.219V160.78l134.603-29.912A12 12 0 0 0 288 119.154V78.179c0-7.677-7.109-13.38-14.603-11.714L144 95.219V44c0-6.627-5.373-12-12-12H76c-6.627 0-12 5.373-12 12v68.997L9.397 125.131A12 12 0 0 0 0 136.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 178.558v30.439L9.397 221.131A12 12 0 0 0 0 232.845v40.976c0 7.677 7.109 13.38 14.603 11.714L64 274.558V468c0 6.627 5.373 12 12 12h79.583c134.091 0 223.255-77.834 228.408-211.592.261-6.782-5.211-12.408-11.997-12.408z"],list:[512,512,[],"f03a","M128 116V76c0-8.837 7.163-16 16-16h352c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H144c-8.837 0-16-7.163-16-16zm16 176h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM16 144h64c8.837 0 16-7.163 16-16V64c0-8.837-7.163-16-16-16H16C7.163 48 0 55.163 0 64v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16zm0 160h64c8.837 0 16-7.163 16-16v-64c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v64c0 8.837 7.163 16 16 16z"],"list-alt":[512,512,[],"f022","M464 480H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h416c26.51 0 48 21.49 48 48v352c0 26.51-21.49 48-48 48zM128 120c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm0 96c-22.091 0-40 17.909-40 40s17.909 40 40 40 40-17.909 40-40-17.909-40-40-40zm288-136v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12zm0 96v-32c0-6.627-5.373-12-12-12H204c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h200c6.627 0 12-5.373 12-12z"],"list-ol":[512,512,[],"f0cb","M3.263 139.527c0-7.477 3.917-11.572 11.573-11.572h15.131V88.078c0-5.163.534-10.503.534-10.503h-.356s-1.779 2.67-2.848 3.738c-4.451 4.273-10.504 4.451-15.666-1.068l-5.518-6.231c-5.342-5.341-4.984-11.216.534-16.379l21.72-19.938C32.815 33.602 36.732 32 42.785 32H54.89c7.656 0 11.749 3.916 11.749 11.572v84.384h15.488c7.655 0 11.572 4.094 11.572 11.572v8.901c0 7.477-3.917 11.572-11.572 11.572H14.836c-7.656 0-11.573-4.095-11.573-11.572v-8.902zM2.211 304.591c0-47.278 50.955-56.383 50.955-69.165 0-7.18-5.954-8.755-9.28-8.755-3.153 0-6.479 1.051-9.455 3.852-5.079 4.903-10.507 7.004-16.111 2.451l-8.579-6.829c-5.779-4.553-7.18-9.805-2.803-15.409C13.592 201.981 26.025 192 47.387 192c19.437 0 44.476 10.506 44.476 39.573 0 38.347-46.753 46.402-48.679 56.909h39.049c7.529 0 11.557 4.027 11.557 11.382v8.755c0 7.354-4.028 11.382-11.557 11.382h-67.94c-7.005 0-12.083-4.028-12.083-11.382v-4.028zM5.654 454.61l5.603-9.28c3.853-6.654 9.105-7.004 15.584-3.152 4.903 2.101 9.63 3.152 14.359 3.152 10.155 0 14.358-3.502 14.358-8.23 0-6.654-5.604-9.106-15.934-9.106h-4.728c-5.954 0-9.28-2.101-12.258-7.88l-1.05-1.926c-2.451-4.728-1.226-9.806 2.801-14.884l5.604-7.004c6.829-8.405 12.257-13.483 12.257-13.483v-.35s-4.203 1.051-12.608 1.051H16.685c-7.53 0-11.383-4.028-11.383-11.382v-8.755c0-7.53 3.853-11.382 11.383-11.382h58.484c7.529 0 11.382 4.027 11.382 11.382v3.327c0 5.778-1.401 9.806-5.079 14.183l-17.509 20.137c19.611 5.078 28.716 20.487 28.716 34.845 0 21.363-14.358 44.126-48.503 44.126-16.636 0-28.192-4.728-35.896-9.455-5.779-4.202-6.304-9.805-2.626-15.934zM144 132h352c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"],"list-ul":[512,512,[],"f0ca","M96 96c0 26.51-21.49 48-48 48S0 122.51 0 96s21.49-48 48-48 48 21.49 48 48zM48 208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm0 160c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm96-236h352c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h352c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H144c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z"],"location-arrow":[512,512,[],"f124","M443.683 4.529L27.818 196.418C-18.702 217.889-3.39 288 47.933 288H224v175.993c0 51.727 70.161 66.526 91.582 20.115L507.38 68.225c18.905-40.961-23.752-82.133-63.697-63.696z"],lock:[448,512,[],"f023","M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z"],"lock-open":[576,512,[],"f3c1","M423.5 0C339.5.3 272 69.5 272 153.5V224H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48h-48v-71.1c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v80c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-80C576 68 507.5-.3 423.5 0z"],"long-arrow-alt-down":[256,512,[],"f309","M168 345.941V44c0-6.627-5.373-12-12-12h-56c-6.627 0-12 5.373-12 12v301.941H41.941c-21.382 0-32.09 25.851-16.971 40.971l86.059 86.059c9.373 9.373 24.569 9.373 33.941 0l86.059-86.059c15.119-15.119 4.411-40.971-16.971-40.971H168z"],"long-arrow-alt-left":[448,512,[],"f30a","M134.059 296H436c6.627 0 12-5.373 12-12v-56c0-6.627-5.373-12-12-12H134.059v-46.059c0-21.382-25.851-32.09-40.971-16.971L7.029 239.029c-9.373 9.373-9.373 24.569 0 33.941l86.059 86.059c15.119 15.119 40.971 4.411 40.971-16.971V296z"],"long-arrow-alt-right":[448,512,[],"f30b","M313.941 216H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h301.941v46.059c0 21.382 25.851 32.09 40.971 16.971l86.059-86.059c9.373-9.373 9.373-24.569 0-33.941l-86.059-86.059c-15.119-15.119-40.971-4.411-40.971 16.971V216z"],"long-arrow-alt-up":[256,512,[],"f30c","M88 166.059V468c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12V166.059h46.059c21.382 0 32.09-25.851 16.971-40.971l-86.059-86.059c-9.373-9.373-24.569-9.373-33.941 0l-86.059 86.059c-15.119 15.119-4.411 40.971 16.971 40.971H88z"],"low-vision":[576,512,[],"f2a8","M569.344 231.631C512.96 135.949 407.81 72 288 72c-28.468 0-56.102 3.619-82.451 10.409L152.778 10.24c-7.601-10.858-22.564-13.5-33.423-5.9l-13.114 9.178c-10.86 7.601-13.502 22.566-5.9 33.426l43.131 58.395C89.449 131.73 40.228 174.683 6.682 231.581c-.01.017-.023.033-.034.05-8.765 14.875-8.964 33.528 0 48.739 38.5 65.332 99.742 115.862 172.859 141.349L55.316 244.302A272.194 272.194 0 0 1 83.61 208.39l119.4 170.58h.01l40.63 58.04a330.055 330.055 0 0 0 78.94 1.17l-189.98-271.4a277.628 277.628 0 0 1 38.777-21.563l251.836 356.544c7.601 10.858 22.564 13.499 33.423 5.9l13.114-9.178c10.86-7.601 13.502-22.567 5.9-33.426l-43.12-58.377-.007-.009c57.161-27.978 104.835-72.04 136.81-126.301a47.938 47.938 0 0 0 .001-48.739zM390.026 345.94l-19.066-27.23c24.682-32.567 27.711-76.353 8.8-111.68v.03c0 23.65-19.17 42.82-42.82 42.82-23.828 0-42.82-19.349-42.82-42.82 0-23.65 19.17-42.82 42.82-42.82h.03c-24.75-13.249-53.522-15.643-79.51-7.68l-19.068-27.237C253.758 123.306 270.488 120 288 120c75.162 0 136 60.826 136 136 0 34.504-12.833 65.975-33.974 89.94z"],magic:[512,512,[],"f0d0","M101.1 505L7 410.9c-9.4-9.4-9.4-24.6 0-33.9L377 7c9.4-9.4 24.6-9.4 33.9 0l94.1 94.1c9.4 9.4 9.4 24.6 0 33.9L135 505c-9.3 9.3-24.5 9.3-33.9 0zM304 159.2l48.8 48.8 89.9-89.9-48.8-48.8-89.9 89.9zM138.9 39.3l-11.7 23.8-26.2 3.8c-4.7.7-6.6 6.5-3.2 9.8l19 18.5-4.5 26.1c-.8 4.7 4.1 8.3 8.3 6.1L144 115l23.4 12.3c4.2 2.2 9.1-1.4 8.3-6.1l-4.5-26.1 19-18.5c3.4-3.3 1.5-9.1-3.2-9.8L160.8 63l-11.7-23.8c-2-4.1-8.1-4.1-10.2.1zm97.7-20.7l-7.8 15.8-17.5 2.6c-3.1.5-4.4 4.3-2.1 6.5l12.6 12.3-3 17.4c-.5 3.1 2.8 5.5 5.6 4L240 69l15.6 8.2c2.8 1.5 6.1-.9 5.6-4l-3-17.4 12.6-12.3c2.3-2.2 1-6.1-2.1-6.5l-17.5-2.5-7.8-15.8c-1.4-3-5.4-3-6.8-.1zm-192 0l-7.8 15.8L19.3 37c-3.1.5-4.4 4.3-2.1 6.5l12.6 12.3-3 17.4c-.5 3.1 2.8 5.5 5.6 4L48 69l15.6 8.2c2.8 1.5 6.1-.9 5.6-4l-3-17.4 12.6-12.3c2.3-2.2 1-6.1-2.1-6.5l-17.5-2.5-7.8-15.8c-1.4-3-5.4-3-6.8-.1zm416 223.5l-7.8 15.8-17.5 2.5c-3.1.5-4.4 4.3-2.1 6.5l12.6 12.3-3 17.4c-.5 3.1 2.8 5.5 5.6 4l15.6-8.2 15.6 8.2c2.8 1.5 6.1-.9 5.6-4l-3-17.4 12.6-12.3c2.3-2.2 1-6.1-2.1-6.5l-17.5-2.5-7.8-15.8c-1.4-2.8-5.4-2.8-6.8 0z"],magnet:[512,512,[],"f076","M164.1 160H12c-6.6 0-12-5.4-12-12V68c0-19.9 16.1-36 36-36h104c19.9 0 36 16.1 36 36v80c.1 6.6-5.3 12-11.9 12zm348-12V67.9c0-19.9-16.1-36-36-36h-104c-19.9 0-36 16.1-36 36v80c0 6.6 5.4 12 12 12h152c6.6.1 12-5.3 12-11.9zm-164 44c-6.6 0-12 5.4-12 12v52c0 128.1-160 127.9-160 0v-52c0-6.6-5.4-12-12-12h-152c-6.7 0-12 5.4-12 12.1.1 21.4.6 40.3 0 53.3C.1 408 136.3 504 256.9 504 377.5 504 512 408 512 257.3c-.6-12.8-.2-33 0-53.2 0-6.7-5.3-12.1-12-12.1H348.1z"],male:[192,512,[],"f183","M96 0c35.346 0 64 28.654 64 64s-28.654 64-64 64-64-28.654-64-64S60.654 0 96 0m48 144h-11.36c-22.711 10.443-49.59 10.894-73.28 0H48c-26.51 0-48 21.49-48 48v136c0 13.255 10.745 24 24 24h16v136c0 13.255 10.745 24 24 24h64c13.255 0 24-10.745 24-24V352h16c13.255 0 24-10.745 24-24V192c0-26.51-21.49-48-48-48z"],map:[576,512,[],"f279","M576 56.015v335.97a23.998 23.998 0 0 1-13.267 21.466l-128 64C418.948 485.344 400 473.992 400 455.985v-335.97a23.998 23.998 0 0 1 13.267-21.466l128-64C557.052 26.656 576 38.008 576 56.015zm-206.253 42.07l-144-64c-15.751-7-33.747 4.461-33.747 21.932v335.967a24 24 0 0 0 14.253 21.931l144 64c15.751 7 33.747-4.461 33.747-21.931V120.017a24 24 0 0 0-14.253-21.932zm-228.48-63.536l-128 63.985A23.998 23.998 0 0 0 0 120v335.985c0 18.007 18.948 29.359 34.733 21.466l128-63.985A23.998 23.998 0 0 0 176 392V56.015c0-18.007-18.948-29.359-34.733-21.466z"],"map-marker":[384,512,[],"f041","M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0z"],"map-marker-alt":[384,512,[],"f3c5","M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z"],"map-pin":[320,512,[],"f276","M192 300.813v172.82l-22.015 33.023c-4.75 7.125-15.219 7.125-19.969 0L128 473.633v-172.82a162.221 162.221 0 0 0 64 0zM160 0c79.529 0 144 64.471 144 144s-64.471 144-144 144S16 223.529 16 144 80.471 0 160 0M80 136c0-39.701 32.299-72 72-72a8 8 0 0 0 0-16c-48.523 0-88 39.477-88 88a8 8 0 0 0 16 0z"],"map-signs":[512,512,[],"f277","M487.515 104.485L439.03 152.97a23.998 23.998 0 0 1-16.97 7.029H56c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h160v-8c0-13.255 10.745-24 24-24h32c13.255 0 24 10.745 24 24v8h126.059a24 24 0 0 1 16.97 7.029l48.485 48.485c4.687 4.687 4.687 12.285.001 16.971zM216 368v120c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V368h-80zm240-144H296v-48h-80v48H89.941a24 24 0 0 0-16.97 7.029l-48.485 48.485c-4.686 4.686-4.686 12.284 0 16.971l48.485 48.485a23.998 23.998 0 0 0 16.97 7.029H456c13.255 0 24-10.745 24-24v-80C480 234.745 469.255 224 456 224z"],mars:[384,512,[],"f222","M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c0-6.6-5.4-12-12-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"],"mars-double":[512,512,[],"f227","M340 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C198.5 72.1 172.2 64 144 64 64.5 64 0 128.5 0 208s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.5 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 288c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80zm356-128.1h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7c-18.2-11.4-39-18.9-61.5-21.3-2.1 21.8-8.2 43.3-18.4 63.3 1.1 0 2.2-.1 3.2-.1 44.1 0 80 35.9 80 80s-35.9 80-80 80-80-35.9-80-80c0-1.1 0-2.2.1-3.2-20 10.2-41.5 16.4-63.3 18.4C168.4 455.6 229.6 512 304 512c79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12v-79c0-6.7-5.4-12.1-12-12.1z"],"mars-stroke":[384,512,[],"f229","M372 64h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-17.5 17.5-14.1-14.1c-4.7-4.7-12.3-4.7-17 0L224.5 133c-4.7 4.7-4.7 12.3 0 17l14.1 14.1-18 18c-22.2-14-48.5-22.1-76.7-22.1C64.5 160 0 224.5 0 304s64.5 144 144 144 144-64.5 144-144c0-28.2-8.1-54.5-22.1-76.7l18-18 14.1 14.1c4.7 4.7 12.3 4.7 17 0l28.3-28.3c4.7-4.7 4.7-12.3 0-17L329.2 164l17.5-17.5 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V76c-.1-6.6-5.5-12-12.1-12zM144 384c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"],"mars-stroke-h":[480,512,[],"f22b","M476.2 247.5l-55.9-55.9c-7.6-7.6-20.5-2.2-20.5 8.5V224H376v-20c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12v20h-27.6c-5.8-25.6-18.7-49.9-38.6-69.8C189.6 98 98.4 98 42.2 154.2c-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 19.9-19.9 32.8-44.2 38.6-69.8H312v20c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-20h23.9v23.9c0 10.7 12.9 16 20.5 8.5l55.9-55.9c4.6-4.7 4.6-12.3-.1-17zm-275.6 65.1c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z"],"mars-stroke-v":[288,512,[],"f22a","M245.8 234.2c-19.9-19.9-44.2-32.8-69.8-38.6v-25.4h20c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-20V81.4h23.9c10.7 0 16-12.9 8.5-20.5L152.5 5.1c-4.7-4.7-12.3-4.7-17 0L79.6 61c-7.6 7.6-2.2 20.5 8.5 20.5H112v24.7H92c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h20v25.4c-25.6 5.8-49.9 18.7-69.8 38.6-56.2 56.2-56.2 147.4 0 203.6 56.2 56.2 147.4 56.2 203.6 0 56.3-56.2 56.3-147.4 0-203.6zm-45.2 158.4c-31.2 31.2-81.9 31.2-113.1 0-31.2-31.2-31.2-81.9 0-113.1 31.2-31.2 81.9-31.2 113.1 0 31.2 31.1 31.2 81.9 0 113.1z"],medkit:[512,512,[],"f0fa","M96 480h320V128h-32V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v48H96v352zm96-384h128v32H192V96zm320 80v256c0 26.51-21.49 48-48 48h-16V128h16c26.51 0 48 21.49 48 48zM64 480H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v352zm288-208v32c0 8.837-7.163 16-16 16h-48v48c0 8.837-7.163 16-16 16h-32c-8.837 0-16-7.163-16-16v-48h-48c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h48v-48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v48h48c8.837 0 16 7.163 16 16z"],meh:[512,512,[],"f11a","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-396-64c0 37.497 30.503 68 68 68s68-30.503 68-68-30.503-68-68-68-68 30.503-68 68zm160.5 0c0 37.221 30.279 67.5 67.5 67.5s67.5-30.279 67.5-67.5-30.279-67.5-67.5-67.5-67.5 30.279-67.5 67.5zm67.5-48a47.789 47.789 0 0 0-22.603 5.647h.015c10.916 0 19.765 8.849 19.765 19.765s-8.849 19.765-19.765 19.765-19.765-8.849-19.765-19.765v-.015A47.789 47.789 0 0 0 288 192c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48zm-160 0a47.789 47.789 0 0 0-22.603 5.647h.015c10.916 0 19.765 8.849 19.765 19.765s-8.849 19.765-19.765 19.765-19.765-8.849-19.765-19.765v-.015A47.789 47.789 0 0 0 128 192c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48zm160 208H176c-21.178 0-21.169 32 0 32h160c21.178 0 21.169-32 0-32z"],mercury:[288,512,[],"f223","M288 208c0-44.2-19.9-83.7-51.2-110.1 2.5-1.8 4.9-3.8 7.2-5.8 24.7-21.2 39.8-48.8 43.2-78.8.9-7.1-4.7-13.3-11.9-13.3h-40.5C229 0 224.1 4.1 223 9.8c-2.4 12.5-9.6 24.3-20.7 33.8C187 56.8 166.3 64 144 64s-43-7.2-58.4-20.4C74.5 34.1 67.4 22.3 64.9 9.8 63.8 4.1 58.9 0 53.2 0H12.7C5.5 0-.1 6.2.8 13.3 4.2 43.4 19.2 71 44 92.2c2.3 2 4.7 3.9 7.2 5.8C19.9 124.3 0 163.8 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z"],microchip:[512,512,[],"f2db","M416 48v416c0 26.51-21.49 48-48 48H144c-26.51 0-48-21.49-48-48V48c0-26.51 21.49-48 48-48h224c26.51 0 48 21.49 48 48zm96 58v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42V88h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zm0 96v12a6 6 0 0 1-6 6h-18v6a6 6 0 0 1-6 6h-42v-48h42a6 6 0 0 1 6 6v6h18a6 6 0 0 1 6 6zM30 376h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6zm0-96h42v48H30a6 6 0 0 1-6-6v-6H6a6 6 0 0 1-6-6v-12a6 6 0 0 1 6-6h18v-6a6 6 0 0 1 6-6z"],microphone:[384,512,[],"f130","M96 256V96c0-53.019 42.981-96 96-96s96 42.981 96 96v160c0 53.019-42.981 96-96 96s-96-42.981-96-96zm252-56h-24c-6.627 0-12 5.373-12 12v42.68c0 66.217-53.082 120.938-119.298 121.318C126.213 376.38 72 322.402 72 256v-44c0-6.627-5.373-12-12-12H36c-6.627 0-12 5.373-12 12v44c0 84.488 62.693 154.597 144 166.278V468h-68c-6.627 0-12 5.373-12 12v20c0 6.627 5.373 12 12 12h184c6.627 0 12-5.373 12-12v-20c0-6.627-5.373-12-12-12h-68v-45.722c81.307-11.681 144-81.79 144-166.278v-44c0-6.627-5.373-12-12-12z"],"microphone-slash":[512,512,[],"f131","M421.45 285.195L376 239.746V212c0-6.627 5.373-12 12-12h24c6.627 0 12 5.373 12 12v44c0 9.957-.881 19.71-2.55 29.195zM352 96c0-53.019-42.981-96-96-96-32.574 0-61.354 16.227-78.71 41.035L352 215.746V96zm152.971 363.716L52.284 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 18.343c-9.372 9.373-9.372 24.568 0 33.941L160 205.254v49.577c0 53.089 43.436 97.452 96.524 97.167 14.626-.078 28.471-3.44 40.854-9.366l17.746 17.746c-17.529 9.971-37.794 15.666-59.372 15.622C189.355 375.864 136 321.053 136 254.656V212c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v44c0 84.488 62.693 154.597 144 166.278V468h-68c-6.627 0-12 5.373-12 12v20c0 6.627 5.373 12 12 12h184c6.627 0 12-5.373 12-12v-20c0-6.627-5.373-12-12-12h-68v-45.722c25.625-3.682 49.396-13.172 69.942-27.083L459.717 504.97c9.373 9.373 24.569 9.373 33.941 0l11.313-11.313c9.372-9.373 9.372-24.568 0-33.941z"],minus:[448,512,[],"f068","M424 318.2c13.3 0 24-10.7 24-24v-76.4c0-13.3-10.7-24-24-24H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h400z"],"minus-circle":[512,512,[],"f056","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zM124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H124z"],"minus-square":[448,512,[],"f146","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM92 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12H92z"],mobile:[320,512,[],"f10b","M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"],"mobile-alt":[320,512,[],"f3cd","M272 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM160 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm112-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h200c6.6 0 12 5.4 12 12v312z"],"money-bill-alt":[640,512,[],"f3d1","M640 120v272c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V120c0-13.255 10.745-24 24-24h592c13.255 0 24 10.745 24 24zM96 384c0-35.346-28.654-64-64-64v64h64zm0-256H32v64c35.346 0 64-28.654 64-64zm304 128c0-53.021-35.816-96-80-96s-80 42.979-80 96c0 53.012 35.814 96 80 96 44.167 0 80-42.969 80-96zm208 64c-35.346 0-64 28.654-64 64h64v-64zm0-192h-64c0 35.346 28.654 64 64 64v-64zM277.563 299.527c0-7.477 3.917-11.572 11.573-11.572h15.131v-39.878c0-5.163.534-10.503.534-10.503h-.356s-1.779 2.67-2.848 3.738c-4.451 4.273-10.504 4.451-15.666-1.068l-5.518-6.231c-5.342-5.341-4.984-11.216.534-16.379l21.72-19.939c4.449-4.095 8.366-5.697 14.42-5.697h12.105c7.656 0 11.749 3.916 11.749 11.572v84.384h15.488c7.655 0 11.572 4.094 11.572 11.572v8.901c0 7.477-3.917 11.572-11.572 11.572h-67.293c-7.656 0-11.573-4.095-11.573-11.572v-8.9z"],moon:[512,512,[],"f186","M283.211 512c78.962 0 151.079-35.925 198.857-94.792 7.068-8.708-.639-21.43-11.562-19.35-124.203 23.654-238.262-71.576-238.262-196.954 0-72.222 38.662-138.635 101.498-174.394 9.686-5.512 7.25-20.197-3.756-22.23A258.156 258.156 0 0 0 283.211 0c-141.309 0-256 114.511-256 256 0 141.309 114.511 256 256 256z"],motorcycle:[640,512,[],"f21c","M512.949 192.003c-14.862-.108-29.14 2.322-42.434 6.874L437.589 144H520c13.255 0 24-10.745 24-24V88c0-13.255-10.745-24-24-24h-45.311a24 24 0 0 0-17.839 7.945l-37.496 41.663-22.774-37.956A24 24 0 0 0 376 64h-80c-8.837 0-16 7.163-16 16v16c0 8.837 7.163 16 16 16h66.411l19.2 32H227.904c-17.727-23.073-44.924-40-99.904-40H72.54c-13.455 0-24.791 11.011-24.536 24.464C48.252 141.505 58.9 152 72 152h56c24.504 0 38.686 10.919 47.787 24.769l-11.291 20.529c-13.006-3.865-26.871-5.736-41.251-5.21C55.857 194.549 1.565 249.605.034 317.021-1.603 389.076 56.317 448 128 448c59.642 0 109.744-40.794 123.953-96h84.236c13.673 0 24.589-11.421 23.976-25.077-2.118-47.12 17.522-93.665 56.185-125.026l12.485 20.808c-27.646 23.654-45.097 58.88-44.831 98.179.47 69.556 57.203 126.452 126.758 127.11 71.629.678 129.839-57.487 129.234-129.099-.588-69.591-57.455-126.386-127.047-126.892zM128 400c-44.112 0-80-35.888-80-80s35.888-80 80-80c4.242 0 8.405.341 12.469.982L98.97 316.434C90.187 332.407 101.762 352 120 352h81.297c-12.37 28.225-40.56 48-73.297 48zm388.351-.116C470.272 402.337 432 365.554 432 320c0-21.363 8.434-40.781 22.125-55.144l49.412 82.352c4.546 7.577 14.375 10.034 21.952 5.488l13.72-8.232c7.577-4.546 10.034-14.375 5.488-21.952l-48.556-80.927A80.005 80.005 0 0 1 512 240c45.554 0 82.338 38.273 79.884 84.352-2.16 40.558-34.974 73.372-75.533 75.532z"],"mouse-pointer":[320,512,[],"f245","M302.189 329.126H196.105l55.831 135.993c3.889 9.428-.555 19.999-9.444 23.999l-49.165 21.427c-9.165 4-19.443-.571-23.332-9.714l-53.053-129.136-86.664 89.138C18.729 472.71 0 463.554 0 447.977V18.299C0 1.899 19.921-6.096 30.277 5.443l284.412 292.542c11.472 11.179 3.007 31.141-12.5 31.141z"],music:[512,512,[],"f001","M470.4 1.5l-304 96C153.1 101.7 144 114 144 128v264.6c-14.1-5.4-30.5-8.6-48-8.6-53 0-96 28.7-96 64s43 64 96 64 96-28.7 96-64V220.5l272-85.9v194c-14.1-5.4-30.5-8.6-48-8.6-53 0-96 28.7-96 64s43 64 96 64 96-28.7 96-64V32c0-21.7-21.1-37-41.6-30.5z"],neuter:[288,512,[],"f22c","M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V468c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12V316.4c64.1-14.5 112-71.9 112-140.4zm-144 80c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"],newspaper:[576,512,[],"f1ea","M552 64H88c-13.255 0-24 10.745-24 24v8H24c-13.255 0-24 10.745-24 24v272c0 30.928 25.072 56 56 56h472c26.51 0 48-21.49 48-48V88c0-13.255-10.745-24-24-24zM56 400a8 8 0 0 1-8-8V144h16v248a8 8 0 0 1-8 8zm236-16H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm-208-96H140c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm208 0H348c-6.627 0-12-5.373-12-12v-8c0-6.627 5.373-12 12-12h152c6.627 0 12 5.373 12 12v8c0 6.627-5.373 12-12 12zm0-96H140c-6.627 0-12-5.373-12-12v-40c0-6.627 5.373-12 12-12h360c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12z"],"object-group":[512,512,[],"f247","M480 128V96h20c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v20H64V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v40c0 6.627 5.373 12 12 12h20v320H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-20h384v20c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-20V128zM96 276V140c0-6.627 5.373-12 12-12h168c6.627 0 12 5.373 12 12v136c0 6.627-5.373 12-12 12H108c-6.627 0-12-5.373-12-12zm320 96c0 6.627-5.373 12-12 12H236c-6.627 0-12-5.373-12-12v-52h72c13.255 0 24-10.745 24-24v-72h84c6.627 0 12 5.373 12 12v136z"],"object-ungroup":[576,512,[],"f248","M64 320v26a6 6 0 0 1-6 6H6a6 6 0 0 1-6-6v-52a6 6 0 0 1 6-6h26V96H6a6 6 0 0 1-6-6V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v26h288V38a6 6 0 0 1 6-6h52a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-26v192h26a6 6 0 0 1 6 6v52a6 6 0 0 1-6 6h-52a6 6 0 0 1-6-6v-26H64zm480-64v-32h26a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-52a6 6 0 0 0-6 6v26H408v72h8c13.255 0 24 10.745 24 24v64c0 13.255-10.745 24-24 24h-64c-13.255 0-24-10.745-24-24v-8H192v72h-26a6 6 0 0 0-6 6v52a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-26h288v26a6 6 0 0 0 6 6h52a6 6 0 0 0 6-6v-52a6 6 0 0 0-6-6h-26V256z"],outdent:[448,512,[],"f03b","M0 84V44c0-8.837 7.163-16 16-16h416c8.837 0 16 7.163 16 16v40c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16zm208 144h224c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H208c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM16 484h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm192-128h224c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H208c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zM4.687 267.313l96 95.984C110.734 373.348 128 366.224 128 351.984V160.008c0-14.329-17.325-21.304-27.313-11.313l-96 95.992c-6.249 6.248-6.249 16.378 0 22.626z"],"paint-brush":[512,512,[],"f1fc","M269.9 364.6c1.4 6.4 2.1 13 2.1 19.7 0 81.2-54.2 127.7-134.8 127.7C41.5 512 0 435.1 0 347.6c10.4 7.1 46.9 36.5 58.7 36.5 7 0 13-4 15.5-10.6 23.6-62.2 66.5-76.5 112.9-77.4 15.6 33.8 46.1 59.6 82.8 68.5zM460.6 0c-14.4 0-27.9 6.4-38.2 15.7C228.2 190 208 194.1 208 245.4c0 48.8 40.5 90.6 90.2 90.6 59 0 93.2-43.4 200.6-244.8 7-13.7 13.2-28.5 13.2-43.9C512 19.7 487.3 0 460.6 0z"],pallet:[640,512,[],"f482","M144 256h352c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16H384v128l-64-32-64 32V0H144c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm480 128c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v64H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h608c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-48v-64h48zm-336 64H128v-64h160v64zm224 0H352v-64h160v64z"],"paper-plane":[512,512,[],"f1d8","M476 3.2L12.5 270.6c-18.1 10.4-15.8 35.6 2.2 43.2L121 358.4l287.3-253.2c5.5-4.9 13.3 2.6 8.6 8.3L176 407v80.5c0 23.6 28.5 32.9 42.5 15.8L282 426l124.6 52.2c14.2 6 30.4-2.9 33-18.2l72-432C515 7.8 493.3-6.8 476 3.2z"],paperclip:[448,512,[],"f0c6","M43.246 466.142c-58.43-60.289-57.341-157.511 1.386-217.581L254.392 34c44.316-45.332 116.351-45.336 160.671 0 43.89 44.894 43.943 117.329 0 162.276L232.214 383.128c-29.855 30.537-78.633 30.111-107.982-.998-28.275-29.97-27.368-77.473 1.452-106.953l143.743-146.835c6.182-6.314 16.312-6.422 22.626-.241l22.861 22.379c6.315 6.182 6.422 16.312.241 22.626L171.427 319.927c-4.932 5.045-5.236 13.428-.648 18.292 4.372 4.634 11.245 4.711 15.688.165l182.849-186.851c19.613-20.062 19.613-52.725-.011-72.798-19.189-19.627-49.957-19.637-69.154 0L90.39 293.295c-34.763 35.56-35.299 93.12-1.191 128.313 34.01 35.093 88.985 35.137 123.058.286l172.06-175.999c6.177-6.319 16.307-6.433 22.626-.256l22.877 22.364c6.319 6.177 6.434 16.307.256 22.626l-172.06 175.998c-59.576 60.938-155.943 60.216-214.77-.485z"],paragraph:[448,512,[],"f1dd","M408 32H177.531C88.948 32 16.045 103.335 16 191.918 15.956 280.321 87.607 352 176 352v104c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V112h32v344c0 13.255 10.745 24 24 24h32c13.255 0 24-10.745 24-24V112h40c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24z"],paste:[448,512,[],"f0ea","M128 184c0-30.879 25.122-56 56-56h136V56c0-13.255-10.745-24-24-24h-80.61C204.306 12.89 183.637 0 160 0s-44.306 12.89-55.39 32H24C10.745 32 0 42.745 0 56v336c0 13.255 10.745 24 24 24h104V184zm32-144c13.255 0 24 10.745 24 24s-10.745 24-24 24-24-10.745-24-24 10.745-24 24-24zm184 248h104v200c0 13.255-10.745 24-24 24H184c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h136v104c0 13.2 10.8 24 24 24zm104-38.059V256h-96v-96h6.059a24 24 0 0 1 16.97 7.029l65.941 65.941a24.002 24.002 0 0 1 7.03 16.971z"],pause:[448,512,[],"f04c","M144 479H48c-26.5 0-48-21.5-48-48V79c0-26.5 21.5-48 48-48h96c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm304-48V79c0-26.5-21.5-48-48-48h-96c-26.5 0-48 21.5-48 48v352c0 26.5 21.5 48 48 48h96c26.5 0 48-21.5 48-48z"],"pause-circle":[512,512,[],"f28b","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm-16 328c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160zm112 0c0 8.8-7.2 16-16 16h-48c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h48c8.8 0 16 7.2 16 16v160z"],paw:[512,512,[],"f1b0","M85.231 330.958C36 330.958 0 273.792 0 231.5c0-28.292 16-58.042 49.538-58.042 49.231 0 85.231 57.458 85.231 99.75 0 28.292-15.692 57.75-49.538 57.75zm348 106.167c0 37.042-32 42.875-63.385 42.875-41.231 0-74.462-26.25-113.846-26.25-41.231 0-76.308 25.958-120.923 25.958-29.847 0-56.308-9.625-56.308-42.583C78.769 368 180.616 265.333 256 265.333s177.231 102.959 177.231 171.792zM182.462 203.792c-49.847 0-80-59.5-80-100.333C102.462 70.792 120.308 32 160 32c50.154 0 80 59.5 80 100.333 0 32.667-17.846 71.459-57.538 71.459zM272 132.333C272 91.5 301.846 32 352 32c39.692 0 57.539 38.792 57.539 71.458 0 40.833-30.154 100.333-80.001 100.333C289.846 203.792 272 165 272 132.333zM512 231.5c0 42.292-36 99.458-85.231 99.458-33.847 0-49.538-29.458-49.538-57.75 0-42.291 35.999-99.75 85.231-99.75C496 173.458 512 203.208 512 231.5z"],"pen-square":[448,512,[],"f14b","M400 480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zM238.1 177.9L102.4 313.6l-6.3 57.1c-.8 7.6 5.6 14.1 13.3 13.3l57.1-6.3L302.2 242c2.3-2.3 2.3-6.1 0-8.5L246.7 178c-2.5-2.4-6.3-2.4-8.6-.1zM345 165.1L314.9 135c-9.4-9.4-24.6-9.4-33.9 0l-23.1 23.1c-2.3 2.3-2.3 6.1 0 8.5l55.5 55.5c2.3 2.3 6.1 2.3 8.5 0L345 199c9.3-9.3 9.3-24.5 0-33.9z"],"pencil-alt":[512,512,[],"f303","M497.9 142.1l-46.1 46.1c-4.7 4.7-12.3 4.7-17 0l-111-111c-4.7-4.7-4.7-12.3 0-17l46.1-46.1c18.7-18.7 49.1-18.7 67.9 0l60.1 60.1c18.8 18.7 18.8 49.1 0 67.9zM284.2 99.8L21.6 362.4.4 483.9c-2.9 16.4 11.4 30.6 27.8 27.8l121.5-21.3 262.6-262.6c4.7-4.7 4.7-12.3 0-17l-111-111c-4.8-4.7-12.4-4.7-17.1 0zM124.1 339.9c-5.5-5.5-5.5-14.3 0-19.8l154-154c5.5-5.5 14.3-5.5 19.8 0s5.5 14.3 0 19.8l-154 154c-5.5 5.5-14.3 5.5-19.8 0zM88 424h48v36.3l-64.5 11.3-31.1-31.1L51.7 376H88v48z"],percent:[448,512,[],"f295","M112 224c61.9 0 112-50.1 112-112S173.9 0 112 0 0 50.1 0 112s50.1 112 112 112zm0-160c26.5 0 48 21.5 48 48s-21.5 48-48 48-48-21.5-48-48 21.5-48 48-48zm224 224c-61.9 0-112 50.1-112 112s50.1 112 112 112 112-50.1 112-112-50.1-112-112-112zm0 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zM392.3.2l31.6-.1c19.4-.1 30.9 21.8 19.7 37.8L77.4 501.6a23.95 23.95 0 0 1-19.6 10.2l-33.4.1c-19.5 0-30.9-21.9-19.7-37.8l368-463.7C377.2 4 384.5.2 392.3.2z"],phone:[512,512,[],"f095","M493.397 24.615l-104-23.997c-11.314-2.611-22.879 3.252-27.456 13.931l-48 111.997a24 24 0 0 0 6.862 28.029l60.617 49.596c-35.973 76.675-98.938 140.508-177.249 177.248l-49.596-60.616a24 24 0 0 0-28.029-6.862l-111.997 48C3.873 366.516-1.994 378.08.618 389.397l23.997 104C27.109 504.204 36.748 512 48 512c256.087 0 464-207.532 464-464 0-11.176-7.714-20.873-18.603-23.385z"],"phone-square":[448,512,[],"f098","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM94 416c-7.033 0-13.057-4.873-14.616-11.627l-14.998-65a15 15 0 0 1 8.707-17.16l69.998-29.999a15 15 0 0 1 17.518 4.289l30.997 37.885c48.944-22.963 88.297-62.858 110.781-110.78l-37.886-30.997a15.001 15.001 0 0 1-4.289-17.518l30-69.998a15 15 0 0 1 17.16-8.707l65 14.998A14.997 14.997 0 0 1 384 126c0 160.292-129.945 290-290 290z"],"phone-volume":[384,512,[],"f2a0","M97.333 506.966c-129.874-129.874-129.681-340.252 0-469.933 5.698-5.698 14.527-6.632 21.263-2.422l64.817 40.513a17.187 17.187 0 0 1 6.849 20.958l-32.408 81.021a17.188 17.188 0 0 1-17.669 10.719l-55.81-5.58c-21.051 58.261-20.612 122.471 0 179.515l55.811-5.581a17.188 17.188 0 0 1 17.669 10.719l32.408 81.022a17.188 17.188 0 0 1-6.849 20.958l-64.817 40.513a17.19 17.19 0 0 1-21.264-2.422zM247.126 95.473c11.832 20.047 11.832 45.008 0 65.055-3.95 6.693-13.108 7.959-18.718 2.581l-5.975-5.726c-3.911-3.748-4.793-9.622-2.261-14.41a32.063 32.063 0 0 0 0-29.945c-2.533-4.788-1.65-10.662 2.261-14.41l5.975-5.726c5.61-5.378 14.768-4.112 18.718 2.581zm91.787-91.187c60.14 71.604 60.092 175.882 0 247.428-4.474 5.327-12.53 5.746-17.552.933l-5.798-5.557c-4.56-4.371-4.977-11.529-.93-16.379 49.687-59.538 49.646-145.933 0-205.422-4.047-4.85-3.631-12.008.93-16.379l5.798-5.557c5.022-4.813 13.078-4.394 17.552.933zm-45.972 44.941c36.05 46.322 36.108 111.149 0 157.546-4.39 5.641-12.697 6.251-17.856 1.304l-5.818-5.579c-4.4-4.219-4.998-11.095-1.285-15.931 26.536-34.564 26.534-82.572 0-117.134-3.713-4.836-3.115-11.711 1.285-15.931l5.818-5.579c5.159-4.947 13.466-4.337 17.856 1.304z"],pills:[576,512,[],"f484","M112 32C50.1 32 0 82.1 0 144v224c0 61.9 50.1 112 112 112s112-50.1 112-112V144c0-61.9-50.1-112-112-112zm48 224H64V144c0-26.5 21.5-48 48-48s48 21.5 48 48v112zm139.7-29.7c-3.5-3.5-9.4-3.1-12.3.8-45.3 62.5-40.4 150.1 15.9 206.4 56.3 56.3 143.9 61.2 206.4 15.9 4-2.9 4.3-8.8.8-12.3L299.7 226.3zm229.8-19c-56.3-56.3-143.9-61.2-206.4-15.9-4 2.9-4.3 8.8-.8 12.3l210.8 210.8c3.5 3.5 9.4 3.1 12.3-.8 45.3-62.6 40.5-150.1-15.9-206.4z"],plane:[576,512,[],"f072","M472 200H360.211L256.013 5.711A12 12 0 0 0 245.793 0h-57.787c-7.85 0-13.586 7.413-11.616 15.011L209.624 200H99.766l-34.904-58.174A12 12 0 0 0 54.572 136H12.004c-7.572 0-13.252 6.928-11.767 14.353l21.129 105.648L.237 361.646c-1.485 7.426 4.195 14.354 11.768 14.353l42.568-.002c4.215 0 8.121-2.212 10.289-5.826L99.766 312h109.858L176.39 496.989c-1.97 7.599 3.766 15.011 11.616 15.011h57.787a12 12 0 0 0 10.22-5.711L360.212 312H472c57.438 0 104-25.072 104-56s-46.562-56-104-56z"],play:[448,512,[],"f04b","M424.4 214.7L72.4 6.6C43.8-10.3 0 6.1 0 47.9V464c0 37.5 40.7 60.1 72.4 41.3l352-208c31.4-18.5 31.5-64.1 0-82.6z"],"play-circle":[512,512,[],"f144","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm115.7 272l-176 101c-15.8 8.8-35.7-2.5-35.7-21V152c0-18.4 19.8-29.8 35.7-21l176 107c16.4 9.2 16.4 32.9 0 42z"],plug:[384,512,[],"f1e6","M256 144V32c0-17.673 14.327-32 32-32s32 14.327 32 32v112h-64zm112 16H16c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16h16v32c0 77.406 54.969 141.971 128 156.796V512h64v-99.204c73.031-14.825 128-79.39 128-156.796v-32h16c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16zm-240-16V32c0-17.673-14.327-32-32-32S64 14.327 64 32v112h64z"],plus:[448,512,[],"f067","M448 294.2v-76.4c0-13.3-10.7-24-24-24H286.2V56c0-13.3-10.7-24-24-24h-76.4c-13.3 0-24 10.7-24 24v137.8H24c-13.3 0-24 10.7-24 24v76.4c0 13.3 10.7 24 24 24h137.8V456c0 13.3 10.7 24 24 24h76.4c13.3 0 24-10.7 24-24V318.2H424c13.3 0 24-10.7 24-24z"],"plus-circle":[512,512,[],"f055","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],"plus-square":[448,512,[],"f0fe","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-32 252c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92H92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12v56z"],podcast:[448,512,[],"f2ce","M267.429 488.563C262.286 507.573 242.858 512 224 512c-18.857 0-38.286-4.427-43.428-23.437C172.927 460.134 160 388.898 160 355.75c0-35.156 31.142-43.75 64-43.75s64 8.594 64 43.75c0 32.949-12.871 104.179-20.571 132.813zM156.867 288.554c-18.693-18.308-29.958-44.173-28.784-72.599 2.054-49.724 42.395-89.956 92.124-91.881C274.862 121.958 320 165.807 320 220c0 26.827-11.064 51.116-28.866 68.552-2.675 2.62-2.401 6.986.628 9.187 9.312 6.765 16.46 15.343 21.234 25.363 1.741 3.654 6.497 4.66 9.449 1.891 28.826-27.043 46.553-65.783 45.511-108.565-1.855-76.206-63.595-138.208-139.793-140.369C146.869 73.753 80 139.215 80 220c0 41.361 17.532 78.7 45.55 104.989 2.953 2.771 7.711 1.77 9.453-1.887 4.774-10.021 11.923-18.598 21.235-25.363 3.029-2.2 3.304-6.566.629-9.185zM224 0C100.204 0 0 100.185 0 224c0 89.992 52.602 165.647 125.739 201.408 4.333 2.118 9.267-1.544 8.535-6.31-2.382-15.512-4.342-30.946-5.406-44.339-.146-1.836-1.149-3.486-2.678-4.512-47.4-31.806-78.564-86.016-78.187-147.347.592-96.237 79.29-174.648 175.529-174.899C320.793 47.747 400 126.797 400 224c0 61.932-32.158 116.49-80.65 147.867-.999 14.037-3.069 30.588-5.624 47.23-.732 4.767 4.203 8.429 8.535 6.31C395.227 389.727 448 314.187 448 224 448 100.205 347.815 0 224 0zm0 160c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64z"],"pound-sign":[320,512,[],"f154","M308 352h-45.495c-6.627 0-12 5.373-12 12v50.848H128V288h84c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-84v-63.556c0-32.266 24.562-57.086 61.792-57.086 23.658 0 45.878 11.505 57.652 18.849 5.151 3.213 11.888 2.051 15.688-2.685l28.493-35.513c4.233-5.276 3.279-13.005-2.119-17.081C273.124 54.56 236.576 32 187.931 32 106.026 32 48 84.742 48 157.961V224H20c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h28v128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h296c6.627 0 12-5.373 12-12V364c0-6.627-5.373-12-12-12z"],"power-off":[512,512,[],"f011","M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z"],print:[512,512,[],"f02f","M464 192h-16V81.941a24 24 0 0 0-7.029-16.97L383.029 7.029A24 24 0 0 0 366.059 0H88C74.745 0 64 10.745 64 24v168H48c-26.51 0-48 21.49-48 48v132c0 6.627 5.373 12 12 12h52v104c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V384h52c6.627 0 12-5.373 12-12V240c0-26.51-21.49-48-48-48zm-80 256H128v-96h256v96zM128 224V64h192v40c0 13.2 10.8 24 24 24h40v96H128zm304 72c-13.254 0-24-10.746-24-24s10.746-24 24-24 24 10.746 24 24-10.746 24-24 24z"],"puzzle-piece":[576,512,[],"f12e","M519.442 288.651c-41.519 0-59.5 31.593-82.058 31.593C377.409 320.244 432 144 432 144s-196.288 80-196.288-3.297c0-35.827 36.288-46.25 36.288-85.985C272 19.216 243.885 0 210.539 0c-34.654 0-66.366 18.891-66.366 56.346 0 41.364 31.711 59.277 31.711 81.75C175.885 207.719 0 166.758 0 166.758v333.237s178.635 41.047 178.635-28.662c0-22.473-40-40.107-40-81.471 0-37.456 29.25-56.346 63.577-56.346 33.673 0 61.788 19.216 61.788 54.717 0 39.735-36.288 50.158-36.288 85.985 0 60.803 129.675 25.73 181.23 25.73 0 0-34.725-120.101 25.827-120.101 35.962 0 46.423 36.152 86.308 36.152C556.712 416 576 387.99 576 354.443c0-34.199-18.962-65.792-56.558-65.792z"],qrcode:[448,512,[],"f029","M0 224h192V32H0v192zM64 96h64v64H64V96zm192-64v192h192V32H256zm128 128h-64V96h64v64zM0 480h192V288H0v192zm64-128h64v64H64v-64zm352-64h32v128h-96v-32h-32v96h-64V288h96v32h64v-32zm0 160h32v32h-32v-32zm-64 0h32v32h-32v-32z"],question:[384,512,[],"f128","M202.021 0C122.202 0 70.503 32.703 29.914 91.026c-7.363 10.58-5.093 25.086 5.178 32.874l43.138 32.709c10.373 7.865 25.132 6.026 33.253-4.148 25.049-31.381 43.63-49.449 82.757-49.449 30.764 0 68.816 19.799 68.816 49.631 0 22.552-18.617 34.134-48.993 51.164-35.423 19.86-82.299 44.576-82.299 106.405V320c0 13.255 10.745 24 24 24h72.471c13.255 0 24-10.745 24-24v-5.773c0-42.86 125.268-44.645 125.268-160.627C377.504 66.256 286.902 0 202.021 0zM192 373.459c-38.196 0-69.271 31.075-69.271 69.271 0 38.195 31.075 69.27 69.271 69.27s69.271-31.075 69.271-69.271-31.075-69.27-69.271-69.27z"],"question-circle":[512,512,[],"f059","M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zM262.655 90c-54.497 0-89.255 22.957-116.549 63.758-3.536 5.286-2.353 12.415 2.715 16.258l34.699 26.31c5.205 3.947 12.621 3.008 16.665-2.122 17.864-22.658 30.113-35.797 57.303-35.797 20.429 0 45.698 13.148 45.698 32.958 0 14.976-12.363 22.667-32.534 33.976C247.128 238.528 216 254.941 216 296v4c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-1.333c0-28.462 83.186-29.647 83.186-106.667 0-58.002-60.165-102-116.531-102zM256 338c-25.365 0-46 20.635-46 46 0 25.364 20.635 46 46 46s46-20.636 46-46c0-25.365-20.635-46-46-46z"],quidditch:[640,512,[],"f458","M256.5 216.8L343.2 326s-16.6 102.4-76.6 150.1C206.7 523.8 0 510.2 0 510.2s3.8-23.1 11-55.4l94.6-112.2c4-4.7-.9-11.6-6.6-9.5l-60.4 22.1c14.4-41.7 32.7-80 54.6-97.5 59.9-47.8 163.3-40.9 163.3-40.9zm238 135c-44 0-79.8 35.8-79.8 79.9 0 44.1 35.7 79.9 79.8 79.9 44.1 0 79.8-35.8 79.8-79.9 0-44.2-35.8-79.9-79.8-79.9zM636.5 31L616.7 6c-5.5-6.9-15.5-8-22.4-2.6L361.8 181.3l-34.1-43c-5.1-6.4-15.1-5.2-18.6 2.2l-25.3 54.6 86.7 109.2 58.8-12.4c8-1.7 11.4-11.2 6.3-17.6l-34.1-42.9L634 53.5c6.9-5.5 8-15.6 2.5-22.5z"],"quote-left":[512,512,[],"f10d","M0 432V304C0 166.982 63.772 67.676 193.827 32.828 209.052 28.748 224 40.265 224 56.027v33.895c0 10.057-6.228 19.133-15.687 22.55C142.316 136.312 104 181.946 104 256h72c26.51 0 48 21.49 48 48v128c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48zm336 48h128c26.51 0 48-21.49 48-48V304c0-26.51-21.49-48-48-48h-72c0-74.054 38.316-119.688 104.313-143.528C505.772 109.055 512 99.979 512 89.922V56.027c0-15.762-14.948-27.279-30.173-23.199C351.772 67.676 288 166.982 288 304v128c0 26.51 21.49 48 48 48z"],"quote-right":[512,512,[],"f10e","M512 80v128c0 137.018-63.772 236.324-193.827 271.172-15.225 4.08-30.173-7.437-30.173-23.199v-33.895c0-10.057 6.228-19.133 15.687-22.55C369.684 375.688 408 330.054 408 256h-72c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h128c26.51 0 48 21.49 48 48zM176 32H48C21.49 32 0 53.49 0 80v128c0 26.51 21.49 48 48 48h72c0 74.054-38.316 119.688-104.313 143.528C6.228 402.945 0 412.021 0 422.078v33.895c0 15.762 14.948 27.279 30.173 23.199C160.228 444.324 224 345.018 224 208V80c0-26.51-21.49-48-48-48z"],random:[512,512,[],"f074","M504.971 359.029c9.373 9.373 9.373 24.569 0 33.941l-80 79.984c-15.01 15.01-40.971 4.49-40.971-16.971V416h-58.785a12.004 12.004 0 0 1-8.773-3.812l-70.556-75.596 53.333-57.143L352 336h32v-39.981c0-21.438 25.943-31.998 40.971-16.971l80 79.981zM12 176h84l52.781 56.551 53.333-57.143-70.556-75.596A11.999 11.999 0 0 0 122.785 96H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12zm372 0v39.984c0 21.46 25.961 31.98 40.971 16.971l80-79.984c9.373-9.373 9.373-24.569 0-33.941l-80-79.981C409.943 24.021 384 34.582 384 56.019V96h-58.785a12.004 12.004 0 0 0-8.773 3.812L96 336H12c-6.627 0-12 5.373-12 12v56c0 6.627 5.373 12 12 12h110.785c3.326 0 6.503-1.381 8.773-3.812L352 176h32z"],recycle:[512,512,[],"f1b8","M184.561 261.903c3.232 13.997-12.123 24.635-24.068 17.168l-40.736-25.455-50.867 81.402C55.606 356.273 70.96 384 96.012 384H148c6.627 0 12 5.373 12 12v40c0 6.627-5.373 12-12 12H96.115c-75.334 0-121.302-83.048-81.408-146.88l50.822-81.388-40.725-25.448c-12.081-7.547-8.966-25.961 4.879-29.158l110.237-25.45c8.611-1.988 17.201 3.381 19.189 11.99l25.452 110.237zm98.561-182.915l41.289 66.076-40.74 25.457c-12.051 7.528-9 25.953 4.879 29.158l110.237 25.45c8.672 1.999 17.215-3.438 19.189-11.99l25.45-110.237c3.197-13.844-11.99-24.719-24.068-17.168l-40.687 25.424-41.263-66.082c-37.521-60.033-125.209-60.171-162.816 0l-17.963 28.766c-3.51 5.62-1.8 13.021 3.82 16.533l33.919 21.195c5.62 3.512 13.024 1.803 16.536-3.817l17.961-28.743c12.712-20.341 41.973-19.676 54.257-.022zM497.288 301.12l-27.515-44.065c-3.511-5.623-10.916-7.334-16.538-3.821l-33.861 21.159c-5.62 3.512-7.33 10.915-3.818 16.536l27.564 44.112c13.257 21.211-2.057 48.96-27.136 48.96H320V336.02c0-14.213-17.242-21.383-27.313-11.313l-80 79.981c-6.249 6.248-6.249 16.379 0 22.627l80 79.989C302.689 517.308 320 510.3 320 495.989V448h95.88c75.274 0 121.335-82.997 81.408-146.88z"],redo:[512,512,[],"f01e","M500.333 0h-47.411c-6.853 0-12.314 5.729-11.986 12.574l3.966 82.759C399.416 41.899 331.672 8 256.001 8 119.34 8 7.899 119.526 8 256.187 8.101 393.068 119.096 504 256 504c63.926 0 122.202-24.187 166.178-63.908 5.113-4.618 5.354-12.561.482-17.433l-33.971-33.971c-4.466-4.466-11.64-4.717-16.38-.543C341.308 415.448 300.606 432 256 432c-97.267 0-176-78.716-176-176 0-97.267 78.716-176 176-176 60.892 0 114.506 30.858 146.099 77.8l-101.525-4.865c-6.845-.328-12.574 5.133-12.574 11.986v47.411c0 6.627 5.373 12 12 12h200.333c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12z"],"redo-alt":[512,512,[],"f2f9","M256.455 8c66.269.119 126.437 26.233 170.859 68.685l35.715-35.715C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.75c-30.864-28.899-70.801-44.907-113.23-45.273-92.398-.798-170.283 73.977-169.484 169.442C88.764 348.009 162.184 424 256 424c41.127 0 79.997-14.678 110.629-41.556 4.743-4.161 11.906-3.908 16.368.553l39.662 39.662c4.872 4.872 4.631 12.815-.482 17.433C378.202 479.813 319.926 504 256 504 119.034 504 8.001 392.967 8 256.002 7.999 119.193 119.646 7.755 256.455 8z"],registered:[512,512,[],"f25d","M285.363 207.475c0 18.6-9.831 28.431-28.431 28.431h-29.876v-56.14h23.378c28.668 0 34.929 8.773 34.929 27.709zM504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zM363.411 360.414c-46.729-84.825-43.299-78.636-44.702-80.98 23.432-15.172 37.945-42.979 37.945-74.486 0-54.244-31.5-89.252-105.498-89.252h-70.667c-13.255 0-24 10.745-24 24V372c0 13.255 10.745 24 24 24h22.567c13.255 0 24-10.745 24-24v-71.663h25.556l44.129 82.937a24.001 24.001 0 0 0 21.188 12.727h24.464c18.261-.001 29.829-19.591 21.018-35.587z"],reply:[512,512,[],"f3e5","M8.309 189.836L184.313 37.851C199.719 24.546 224 35.347 224 56.015v80.053c160.629 1.839 288 34.032 288 186.258 0 61.441-39.581 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 45.344-145.012-21.507-183.51-176.59-185.742V360c0 20.7-24.3 31.453-39.687 18.164l-176.004-152c-11.071-9.562-11.086-26.753 0-36.328z"],"reply-all":[576,512,[],"f122","M136.309 189.836L312.313 37.851C327.72 24.546 352 35.348 352 56.015v82.763c129.182 10.231 224 52.212 224 183.548 0 61.441-39.582 122.309-83.333 154.132-13.653 9.931-33.111-2.533-28.077-18.631 38.512-123.162-3.922-169.482-112.59-182.015v84.175c0 20.701-24.3 31.453-39.687 18.164L136.309 226.164c-11.071-9.561-11.086-26.753 0-36.328zm-128 36.328L184.313 378.15C199.7 391.439 224 380.687 224 359.986v-15.818l-108.606-93.785A55.96 55.96 0 0 1 96 207.998a55.953 55.953 0 0 1 19.393-42.38L224 71.832V56.015c0-20.667-24.28-31.469-39.687-18.164L8.309 189.836c-11.086 9.575-11.071 26.767 0 36.328z"],retweet:[640,512,[],"f079","M629.657 343.598L528.971 444.284c-9.373 9.372-24.568 9.372-33.941 0L394.343 343.598c-9.373-9.373-9.373-24.569 0-33.941l10.823-10.823c9.562-9.562 25.133-9.34 34.419.492L480 342.118V160H292.451a24.005 24.005 0 0 1-16.971-7.029l-16-16C244.361 121.851 255.069 96 276.451 96H520c13.255 0 24 10.745 24 24v222.118l40.416-42.792c9.285-9.831 24.856-10.054 34.419-.492l10.823 10.823c9.372 9.372 9.372 24.569-.001 33.941zm-265.138 15.431A23.999 23.999 0 0 0 347.548 352H160V169.881l40.416 42.792c9.286 9.831 24.856 10.054 34.419.491l10.822-10.822c9.373-9.373 9.373-24.569 0-33.941L144.971 67.716c-9.373-9.373-24.569-9.373-33.941 0L10.343 168.402c-9.373 9.373-9.373 24.569 0 33.941l10.822 10.822c9.562 9.562 25.133 9.34 34.419-.491L96 169.881V392c0 13.255 10.745 24 24 24h243.549c21.382 0 32.09-25.851 16.971-40.971l-16.001-16z"],road:[576,512,[],"f018","M567.3 383.6L429.9 78.2C426 69.5 417.4 64 408 64h-96.1l1.9 18.8c.7 7.1-4.8 13.2-11.9 13.2H274c-7.1 0-12.7-6.2-11.9-13.2L264 64h-96c-9.4 0-18 5.5-21.9 14.2L8.7 383.6C3.2 395.8 0 409.6 0 424c0 13.3 10.7 24 24 24h213.6c-7.1 0-12.7-6.2-11.9-13.2l10.8-104c.6-6.1 5.8-10.8 11.9-10.8h79.2c6.1 0 11.3 4.6 11.9 10.8l10.8 104c.7 7.1-4.8 13.2-11.9 13.2H552c13.2 0 24-10.7 24-24 0-13.9-3-27.7-8.7-40.4zM254.7 154.8l3.3-32c.6-6.1 5.8-10.8 11.9-10.8h36.2c6.1 0 11.3 4.6 11.9 10.8l3.3 32c.7 7.1-4.8 13.2-11.9 13.2h-42.8c-7.1 0-12.7-6.2-11.9-13.2zM321.8 288h-67.6c-7.1 0-12.7-6.2-11.9-13.2l7.4-72c.6-6.1 5.8-10.8 11.9-10.8h52.7c6.1 0 11.3 4.6 11.9 10.8l7.4 72c.9 7-4.7 13.2-11.8 13.2z"],rocket:[512,512,[],"f135","M505.1 19.1C503.8 13 499 8.2 492.9 6.9 460.7 0 435.5 0 410.4 0 307.2 0 245.3 55.2 199.1 128H94.9c-18.2 0-34.8 10.3-42.9 26.5L2.6 253.3c-8 16 3.6 34.7 21.5 34.7h95.1c-5.9 12.8-11.9 25.5-18 37.7-3.1 6.2-1.9 13.6 3 18.5l63.6 63.6c4.9 4.9 12.3 6.1 18.5 3 12.2-6.1 24.9-12 37.7-17.9V488c0 17.8 18.8 29.4 34.7 21.5l98.7-49.4c16.3-8.1 26.5-24.8 26.5-42.9V312.8c72.6-46.3 128-108.4 128-211.1.1-25.2.1-50.4-6.8-82.6zM400 160c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z"],rss:[448,512,[],"f09e","M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"],"rss-square":[448,512,[],"f143","M400 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM112 416c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm157.533 0h-34.335c-6.011 0-11.051-4.636-11.442-10.634-5.214-80.05-69.243-143.92-149.123-149.123-5.997-.39-10.633-5.431-10.633-11.441v-34.335c0-6.535 5.468-11.777 11.994-11.425 110.546 5.974 198.997 94.536 204.964 204.964.352 6.526-4.89 11.994-11.425 11.994zm103.027 0h-34.334c-6.161 0-11.175-4.882-11.427-11.038-5.598-136.535-115.204-246.161-251.76-251.76C68.882 152.949 64 147.935 64 141.774V107.44c0-6.454 5.338-11.664 11.787-11.432 167.83 6.025 302.21 141.191 308.205 308.205.232 6.449-4.978 11.787-11.432 11.787z"],"ruble-sign":[384,512,[],"f158","M239.36 320C324.48 320 384 260.542 384 175.071S324.48 32 239.36 32H76c-6.627 0-12 5.373-12 12v206.632H12c-6.627 0-12 5.373-12 12V308c0 6.627 5.373 12 12 12h52v32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h52v52c0 6.627 5.373 12 12 12h58.56c6.627 0 12-5.373 12-12v-52H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12H146.56v-32h92.8zm-92.8-219.252h78.72c46.72 0 74.88 29.11 74.88 74.323 0 45.832-28.16 75.561-76.16 75.561h-77.44V100.748z"],"rupee-sign":[320,512,[],"f156","M308 96c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12H12C5.373 32 0 37.373 0 44v44.748c0 6.627 5.373 12 12 12h85.28c27.308 0 48.261 9.958 60.97 27.252H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h158.757c-6.217 36.086-32.961 58.632-74.757 58.632H12c-6.627 0-12 5.373-12 12v53.012c0 3.349 1.4 6.546 3.861 8.818l165.052 152.356a12.001 12.001 0 0 0 8.139 3.182h82.562c10.924 0 16.166-13.408 8.139-20.818L116.871 319.906c76.499-2.34 131.144-53.395 138.318-127.906H308c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-58.69c-3.486-11.541-8.28-22.246-14.252-32H308z"],save:[448,512,[],"f0c7","M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"],search:[512,512,[],"f002","M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z"],"search-minus":[512,512,[],"f010","M304 192v32c0 6.6-5.4 12-12 12H124c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h168c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z"],"search-plus":[512,512,[],"f00e","M304 192v32c0 6.6-5.4 12-12 12h-56v56c0 6.6-5.4 12-12 12h-32c-6.6 0-12-5.4-12-12v-56h-56c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h56v-56c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v56h56c6.6 0 12 5.4 12 12zm201 284.7L476.7 505c-9.4 9.4-24.6 9.4-33.9 0L343 405.3c-4.5-4.5-7-10.6-7-17V372c-35.3 27.6-79.7 44-128 44C93.1 416 0 322.9 0 208S93.1 0 208 0s208 93.1 208 208c0 48.3-16.4 92.7-44 128h16.3c6.4 0 12.5 2.5 17 7l99.7 99.7c9.3 9.4 9.3 24.6 0 34zM344 208c0-75.2-60.8-136-136-136S72 132.8 72 208s60.8 136 136 136 136-60.8 136-136z"],server:[512,512,[],"f233","M480 160H32c-17.673 0-32-14.327-32-32V64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm112 248H32c-17.673 0-32-14.327-32-32v-64c0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32v64c0 17.673-14.327 32-32 32zm-48-88c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24zm-64 0c-13.255 0-24 10.745-24 24s10.745 24 24 24 24-10.745 24-24-10.745-24-24-24z"],share:[512,512,[],"f064","M503.691 189.836L327.687 37.851C312.281 24.546 288 35.347 288 56.015v80.053C127.371 137.907 0 170.1 0 322.326c0 61.441 39.581 122.309 83.333 154.132 13.653 9.931 33.111-2.533 28.077-18.631C66.066 312.814 132.917 274.316 288 272.085V360c0 20.7 24.3 31.453 39.687 18.164l176.004-152c11.071-9.562 11.086-26.753 0-36.328z"],"share-alt":[448,512,[],"f1e0","M352 320c-22.608 0-43.387 7.819-59.79 20.895l-102.486-64.054a96.551 96.551 0 0 0 0-41.683l102.486-64.054C308.613 184.181 329.392 192 352 192c53.019 0 96-42.981 96-96S405.019 0 352 0s-96 42.981-96 96c0 7.158.79 14.13 2.276 20.841L155.79 180.895C139.387 167.819 118.608 160 96 160c-53.019 0-96 42.981-96 96s42.981 96 96 96c22.608 0 43.387-7.819 59.79-20.895l102.486 64.054A96.301 96.301 0 0 0 256 416c0 53.019 42.981 96 96 96s96-42.981 96-96-42.981-96-96-96z"],"share-alt-square":[448,512,[],"f1e1","M448 80v352c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48V80c0-26.51 21.49-48 48-48h352c26.51 0 48 21.49 48 48zM304 296c-14.562 0-27.823 5.561-37.783 14.671l-67.958-40.775a56.339 56.339 0 0 0 0-27.793l67.958-40.775C276.177 210.439 289.438 216 304 216c30.928 0 56-25.072 56-56s-25.072-56-56-56-56 25.072-56 56c0 4.797.605 9.453 1.74 13.897l-67.958 40.775C171.823 205.561 158.562 200 144 200c-30.928 0-56 25.072-56 56s25.072 56 56 56c14.562 0 27.823-5.561 37.783-14.671l67.958 40.775a56.088 56.088 0 0 0-1.74 13.897c0 30.928 25.072 56 56 56s56-25.072 56-56C360 321.072 334.928 296 304 296z"],"share-square":[576,512,[],"f14d","M568.482 177.448L424.479 313.433C409.3 327.768 384 317.14 384 295.985v-71.963c-144.575.97-205.566 35.113-164.775 171.353 4.483 14.973-12.846 26.567-25.006 17.33C155.252 383.105 120 326.488 120 269.339c0-143.937 117.599-172.5 264-173.312V24.012c0-21.174 25.317-31.768 40.479-17.448l144.003 135.988c10.02 9.463 10.028 25.425 0 34.896zM384 379.128V448H64V128h50.916a11.99 11.99 0 0 0 8.648-3.693c14.953-15.568 32.237-27.89 51.014-37.676C185.708 80.83 181.584 64 169.033 64H48C21.49 64 0 85.49 0 112v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-88.806c0-8.288-8.197-14.066-16.011-11.302a71.83 71.83 0 0 1-34.189 3.377c-7.27-1.046-13.8 4.514-13.8 11.859z"],"shekel-sign":[448,512,[],"f20b","M170.12 96H80v372c0 6.627-5.373 12-12 12H12c-6.627 0-12-5.373-12-12V44c0-6.627 5.373-12 12-12h168.36C265.48 32 325 89.6 325 175.071V359c0 6.627-5.373 12-12 12h-44c-13.255 0-24-10.745-24-24V170.323C245 125.11 216.839 96 170.12 96zM436 32h-56c-6.627 0-12 5.373-12 12v372h-90.12c-46.72 0-74.88-29.11-74.88-74.323V165c0-13.255-10.745-24-24-24h-44c-6.627 0-12 5.373-12 12v183.929C123 422.4 182.52 480 267.64 480H436c6.627 0 12-5.373 12-12V44c0-6.627-5.373-12-12-12z"],"shield-alt":[512,512,[],"f3ed","M496 128c0 221.282-135.934 344.645-221.539 380.308a48 48 0 0 1-36.923 0C130.495 463.713 16 326.487 16 128a48 48 0 0 1 29.539-44.308l192-80a48 48 0 0 1 36.923 0l192 80A48 48 0 0 1 496 128zM256 446.313l.066.034c93.735-46.689 172.497-156.308 175.817-307.729L256 65.333v380.98z"],ship:[640,512,[],"f21a","M496.616 372.639l70.012-70.012c16.899-16.9 9.942-45.771-12.836-53.092L512 236.102V96c0-17.673-14.327-32-32-32h-64V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v40h-64c-17.673 0-32 14.327-32 32v140.102l-41.792 13.433c-22.753 7.313-29.754 36.173-12.836 53.092l70.012 70.012C125.828 416.287 85.587 448 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24 61.023 0 107.499-20.61 143.258-59.396C181.677 487.432 216.021 512 256 512h128c39.979 0 74.323-24.568 88.742-59.396C508.495 491.384 554.968 512 616 512c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24-60.817 0-101.542-31.001-119.384-75.361zM192 128h256v87.531l-118.208-37.995a31.995 31.995 0 0 0-19.584 0L192 215.531V128z"],"shipping-fast":[640,512,[],"f48b","M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48v48H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h272c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H40c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"],"shopping-bag":[448,512,[],"f290","M352 160v-32C352 57.42 294.579 0 224 0 153.42 0 96 57.42 96 128v32H0v272c0 44.183 35.817 80 80 80h288c44.183 0 80-35.817 80-80V160h-96zm-192-32c0-35.29 28.71-64 64-64s64 28.71 64 64v32H160v-32zm160 120c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zm-192 0c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24z"],"shopping-basket":[576,512,[],"f291","M576 216v16c0 13.255-10.745 24-24 24h-8l-26.113 182.788C514.509 462.435 494.257 480 470.37 480H105.63c-23.887 0-44.139-17.565-47.518-41.212L32 256h-8c-13.255 0-24-10.745-24-24v-16c0-13.255 10.745-24 24-24h67.341l106.78-146.821c10.395-14.292 30.407-17.453 44.701-7.058 14.293 10.395 17.453 30.408 7.058 44.701L170.477 192h235.046L326.12 82.821c-10.395-14.292-7.234-34.306 7.059-44.701 14.291-10.395 34.306-7.235 44.701 7.058L484.659 192H552c13.255 0 24 10.745 24 24zM312 392V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm112 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24zm-224 0V280c0-13.255-10.745-24-24-24s-24 10.745-24 24v112c0 13.255 10.745 24 24 24s24-10.745 24-24z"],"shopping-cart":[576,512,[],"f07a","M528.12 301.319l47.273-208C578.806 78.301 567.391 64 551.99 64H159.208l-9.166-44.81C147.758 8.021 137.93 0 126.529 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24h69.883l70.248 343.435C147.325 417.1 136 435.222 136 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-15.674-6.447-29.835-16.824-40h209.647C430.447 426.165 424 440.326 424 456c0 30.928 25.072 56 56 56s56-25.072 56-56c0-22.172-12.888-41.332-31.579-50.405l5.517-24.276c3.413-15.018-8.002-29.319-23.403-29.319H218.117l-6.545-32h293.145c11.206 0 20.92-7.754 23.403-18.681z"],shower:[512,512,[],"f2cc","M389.66 135.6L231.6 293.66c-9.37 9.37-24.57 9.37-33.94 0l-11.32-11.32c-9.37-9.37-9.37-24.57 0-33.94l.11-.11c-34.03-40.21-35.16-98.94-3.39-140.38-11.97-7.55-26.14-11.91-41.3-11.91C98.88 96 64 130.88 64 173.76V480H0V173.76C0 95.59 63.59 32 141.76 32c36.93 0 70.61 14.2 95.86 37.42 35.9-11.51 76.5-4.5 106.67 21.03l.11-.11c9.37-9.37 24.57-9.37 33.94 0l11.32 11.32c9.37 9.37 9.37 24.57 0 33.94zM384 208c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm32 0c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16zm96 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-160 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm48-16c8.837 0 16 7.163 16 16s-7.163 16-16 16-16-7.163-16-16 7.163-16 16-16zm80 16c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-160 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm32 0c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16zm96 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-128 32c0-8.837 7.163-16 16-16s16 7.163 16 16-7.163 16-16 16-16-7.163-16-16zm96 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-96 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm64 0c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-32 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16zm-32 32c0 8.837-7.163 16-16 16s-16-7.163-16-16 7.163-16 16-16 16 7.163 16 16z"],"sign-in-alt":[512,512,[],"f2f6","M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L201 79c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h136v96c0 21.5 26 32 41 17l168-168c9.3-9.4 9.3-24.6 0-34z"],"sign-language":[448,512,[],"f2a7","M91.434 483.987c-.307-16.018 13.109-29.129 29.13-29.129h62.293v-5.714H56.993c-16.021 0-29.437-13.111-29.13-29.129C28.16 404.491 40.835 392 56.428 392h126.429v-5.714H29.136c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h154.286v-5.714H57.707c-16.021 0-29.437-13.111-29.13-29.129.297-15.522 12.973-28.013 28.566-28.013h168.566l-31.085-22.606c-12.762-9.281-15.583-27.149-6.302-39.912 9.281-12.761 27.15-15.582 39.912-6.302l123.361 89.715a34.287 34.287 0 0 1 14.12 27.728v141.136c0 15.91-10.946 29.73-26.433 33.374l-80.471 18.934a137.16 137.16 0 0 1-31.411 3.646H120c-15.593-.001-28.269-12.492-28.566-28.014zm73.249-225.701h36.423l-11.187-8.136c-18.579-13.511-20.313-40.887-3.17-56.536l-13.004-16.7c-9.843-12.641-28.43-15.171-40.88-5.088-12.065 9.771-14.133 27.447-4.553 39.75l36.371 46.71zm283.298-2.103l-5.003-152.452c-.518-15.771-13.722-28.136-29.493-27.619-15.773.518-28.137 13.722-27.619 29.493l1.262 38.415L283.565 11.019c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l76.889 98.745-4.509 3.511-94.79-121.734c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l94.443 121.288-4.509 3.511-77.675-99.754c-9.58-12.303-27.223-14.63-39.653-5.328-12.827 9.599-14.929 28.24-5.086 40.881l52.053 66.849c12.497-8.257 29.055-8.285 41.69.904l123.36 89.714c10.904 7.93 17.415 20.715 17.415 34.198v16.999l61.064-47.549a34.285 34.285 0 0 0 13.202-28.177z"],"sign-out-alt":[512,512,[],"f2f5","M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z"],signal:[640,512,[],"f012","M36 384h56c6.6 0 12 5.4 12 12v104c0 6.6-5.4 12-12 12H36c-6.6 0-12-5.4-12-12V396c0-6.6 5.4-12 12-12zm116-36v152c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V348c0-6.6-5.4-12-12-12h-56c-6.6 0-12 5.4-12 12zm128-80v232c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V268c0-6.6-5.4-12-12-12h-56c-6.6 0-12 5.4-12 12zm128-112v344c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V156c0-6.6-5.4-12-12-12h-56c-6.6 0-12 5.4-12 12zM536 12v488c0 6.6 5.4 12 12 12h56c6.6 0 12-5.4 12-12V12c0-6.6-5.4-12-12-12h-56c-6.6 0-12 5.4-12 12z"],sitemap:[640,512,[],"f0e8","M616 320h-48v-48c0-22.056-17.944-40-40-40H344v-40h48c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H248c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h48v40H112c-22.056 0-40 17.944-40 40v48H24c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V344c0-13.255-10.745-24-24-24h-48v-40h176v40h-48c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V344c0-13.255-10.745-24-24-24h-48v-40h176v40h-48c-13.255 0-24 10.745-24 24v144c0 13.255 10.745 24 24 24h144c13.255 0 24-10.745 24-24V344c0-13.255-10.745-24-24-24z"],"sliders-h":[576,512,[],"f1de","M576 80v40c0 6.6-5.4 12-12 12H160v8c0 13.3-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24v-8H12c-6.6 0-12-5.4-12-12V80c0-6.6 5.4-12 12-12h84v-8c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24v8h404c6.6 0 12 5.4 12 12zm-12 148h-84v-8c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v8H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h404v8c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-8h84c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12zm0 160H288v-8c0-13.3-10.7-24-24-24h-16c-13.3 0-24 10.7-24 24v8H12c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h212v8c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-8h276c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12z"],smile:[512,512,[],"f118","M504 256c0 136.967-111.033 248-248 248S8 392.967 8 256 119.033 8 256 8s248 111.033 248 248zm-122.526 75.34c11.479-17.755-15.349-35.194-26.873-17.374-53.418 82.627-143.71 82.681-197.164 0-11.502-17.79-38.364-.401-26.873 17.374 66.014 102.107 184.795 102.265 250.91 0zM108 192c0 37.497 30.503 68 68 68s68-30.503 68-68-30.503-68-68-68-68 30.503-68 68zm160.5 0c0 37.221 30.279 67.5 67.5 67.5s67.5-30.279 67.5-67.5-30.279-67.5-67.5-67.5-67.5 30.279-67.5 67.5zm67.5-48a47.789 47.789 0 0 0-22.603 5.647h.015c10.916 0 19.765 8.849 19.765 19.765s-8.849 19.765-19.765 19.765-19.765-8.849-19.765-19.765v-.015A47.789 47.789 0 0 0 288 192c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48zm-160 0a47.789 47.789 0 0 0-22.603 5.647h.015c10.916 0 19.765 8.849 19.765 19.765s-8.849 19.765-19.765 19.765-19.765-8.849-19.765-19.765v-.015A47.789 47.789 0 0 0 128 192c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48z"],snowflake:[448,512,[],"f2dc","M444.816 301.639a24.12 24.12 0 0 0 2.661-16.978c-2.725-12.966-15.339-21.245-28.174-18.492l-87.407 25.046L264 256l67.896-35.215 87.407 25.046c12.835 2.753 25.449-5.526 28.174-18.492 2.725-12.966-5.471-25.708-18.305-28.461l-47.477-7.137 53.077-30.956c11.363-6.627 15.257-21.306 8.696-32.785-6.561-11.479-21.091-15.412-32.454-8.785l-53.077 30.956 17.621-45.104c4.057-12.606-2.768-26.146-15.247-30.245-12.478-4.099-25.883 2.797-29.94 15.402l-22.232 88.99-60.38 35.215V144l65.175-63.945c8.778-9.852 7.987-25.027-1.766-33.894-9.753-8.867-24.775-8.068-33.552 1.784l-29.857 37.967V24c0-13.255-10.637-24-23.758-24s-23.758 10.745-23.758 24v61.912l-29.857-37.967c-8.779-9.852-23.799-10.652-33.552-1.784-9.753 8.867-10.543 24.042-1.766 33.894L200.242 144v70.431l-60.38-35.215-22.232-88.99c-4.057-12.605-17.462-19.501-29.94-15.402-12.478 4.099-19.304 17.64-15.247 30.245l17.62 45.104-53.077-30.956c-11.363-6.627-25.893-2.694-32.454 8.785s-2.667 26.157 8.696 32.785l53.077 30.956-47.477 7.137C5.993 201.634-2.203 214.375.523 227.341c2.725 12.965 15.339 21.245 28.174 18.492l87.407-25.046L184 256l-67.896 35.215-87.406-25.045c-12.835-2.753-25.449 5.526-28.174 18.492-2.725 12.967 5.47 25.708 18.305 28.461l47.477 7.137-53.077 30.956C1.866 357.843-2.027 372.521 4.533 384s21.091 15.412 32.454 8.785l53.077-30.956-17.62 45.104a24.157 24.157 0 0 0 2.022 19.428c2.831 4.953 7.416 8.909 13.224 10.816 12.478 4.099 25.883-2.797 29.94-15.402l22.232-88.99 60.38-35.215V368l-65.175 63.945c-8.778 9.852-7.987 25.027 1.766 33.894 9.754 8.868 24.774 8.068 33.552-1.784l29.857-37.967V488c0 13.255 10.637 24 23.758 24s23.758-10.745 23.758-24v-61.912l29.857 37.967A23.59 23.59 0 0 0 295.282 472a23.534 23.534 0 0 0 15.885-6.161c9.753-8.867 10.544-24.042 1.766-33.894L247.758 368v-70.431l60.38 35.215 22.232 88.99c4.057 12.605 17.462 19.501 29.94 15.402 12.479-4.099 19.304-17.64 15.247-30.245l-17.621-45.104 53.077 30.956c11.363 6.627 25.893 2.694 32.454-8.785s2.667-26.157-8.696-32.785l-53.077-30.956 47.477-7.137c6.86-1.469 12.394-5.793 15.645-11.481z"],sort:[320,512,[],"f0dc","M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z"],"sort-alpha-down":[448,512,[],"f15d","M187.298 395.314l-79.984 80.002c-6.248 6.247-16.383 6.245-22.627 0L4.705 395.314C-5.365 385.244 1.807 368 16.019 368H64V48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v320h47.984c14.241 0 21.363 17.264 11.314 27.314zm119.075-180.007A12 12 0 0 1 294.838 224h-35.717c-8.22 0-14.007-8.078-11.362-15.861l57.096-168A12 12 0 0 1 316.217 32h39.566c5.139 0 9.708 3.273 11.362 8.139l57.096 168C426.886 215.922 421.1 224 412.879 224h-35.735a12 12 0 0 1-11.515-8.622l-8.301-28.299h-42.863l-8.092 28.228zm22.857-78.697h13.367l-6.6-22.937-6.767 22.937zm12.575 287.323l67.451-95.698a12 12 0 0 0 2.192-6.913V300c0-6.627-5.373-12-12-12H274.522c-6.627 0-12 5.373-12 12v28.93c0 6.627 5.373 12 12 12h56.469c-.739.991-1.497 2.036-2.27 3.133l-67.203 95.205a12.001 12.001 0 0 0-2.196 6.92V468c0 6.627 5.373 12 12 12h129.355c6.627 0 12-5.373 12-12v-28.93c0-6.627-5.373-12-12-12h-61.146c.74-.993 1.5-2.039 2.274-3.137z"],"sort-alpha-up":[448,512,[],"f15e","M4.702 116.686l79.984-80.002c6.248-6.247 16.383-6.245 22.627 0l79.981 80.002c10.07 10.07 2.899 27.314-11.314 27.314H128v320c0 8.837-7.163 16-16 16H80c-8.837 0-16-7.163-16-16V144H16.016c-14.241 0-21.363-17.264-11.314-27.314zm301.671 98.621A12 12 0 0 1 294.838 224h-35.717c-8.22 0-14.007-8.078-11.362-15.861l57.096-168A12 12 0 0 1 316.217 32h39.566c5.139 0 9.708 3.273 11.362 8.139l57.096 168C426.886 215.922 421.1 224 412.879 224h-35.735a12 12 0 0 1-11.515-8.622l-8.301-28.299h-42.863l-8.092 28.228zm22.857-78.697h13.367l-6.6-22.937-6.767 22.937zm12.575 287.323l67.451-95.698a12 12 0 0 0 2.192-6.913V300c0-6.627-5.373-12-12-12H274.522c-6.627 0-12 5.373-12 12v28.93c0 6.627 5.373 12 12 12h56.469c-.739.991-1.497 2.036-2.27 3.133l-67.203 95.205a12.001 12.001 0 0 0-2.196 6.92V468c0 6.627 5.373 12 12 12h129.355c6.627 0 12-5.373 12-12v-28.93c0-6.627-5.373-12-12-12h-61.146c.74-.993 1.5-2.039 2.274-3.137z"],"sort-amount-down":[512,512,[],"f160","M187.298 395.314l-79.984 80.002c-6.248 6.247-16.383 6.245-22.627 0L4.705 395.314C-5.365 385.244 1.807 368 16.019 368H64V48c0-8.837 7.163-16 16-16h32c8.837 0 16 7.163 16 16v320h47.984c14.241 0 21.363 17.264 11.314 27.314zM240 96h256c8.837 0 16-7.163 16-16V48c0-8.837-7.163-16-16-16H240c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16zm-16 112v-32c0-8.837 7.163-16 16-16h192c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H240c-8.837 0-16-7.163-16-16zm0 256v-32c0-8.837 7.163-16 16-16h64c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-64c-8.837 0-16-7.163-16-16zm0-128v-32c0-8.837 7.163-16 16-16h128c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H240c-8.837 0-16-7.163-16-16z"],"sort-amount-up":[512,512,[],"f161","M4.702 116.686l79.984-80.002c6.248-6.247 16.383-6.245 22.627 0l79.981 80.002c10.07 10.07 2.899 27.314-11.314 27.314H128v320c0 8.837-7.163 16-16 16H80c-8.837 0-16-7.163-16-16V144H16.016c-14.241 0-21.363-17.264-11.314-27.314zM240 96h256c8.837 0 16-7.163 16-16V48c0-8.837-7.163-16-16-16H240c-8.837 0-16 7.163-16 16v32c0 8.837 7.163 16 16 16zm-16 112v-32c0-8.837 7.163-16 16-16h192c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H240c-8.837 0-16-7.163-16-16zm0 256v-32c0-8.837 7.163-16 16-16h64c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-64c-8.837 0-16-7.163-16-16zm0-128v-32c0-8.837 7.163-16 16-16h128c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H240c-8.837 0-16-7.163-16-16z"],"sort-down":[320,512,[],"f0dd","M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41z"],"sort-numeric-down":[448,512,[],"f162","M308.811 113.787l-19.448-20.795c-4.522-4.836-4.274-12.421.556-16.95l43.443-40.741a11.999 11.999 0 0 1 8.209-3.247h31.591c6.627 0 12 5.373 12 12v127.07h25.66c6.627 0 12 5.373 12 12v28.93c0 6.627-5.373 12-12 12H301.649c-6.627 0-12-5.373-12-12v-28.93c0-6.627 5.373-12 12-12h25.414v-57.938c-7.254 6.58-14.211 4.921-18.252.601zm-30.57 238.569c0-32.653 23.865-67.356 68.094-67.356 38.253 0 79.424 28.861 79.424 92.228 0 51.276-32.237 105.772-91.983 105.772-17.836 0-30.546-3.557-38.548-6.781-5.79-2.333-8.789-8.746-6.922-14.703l9.237-29.48c2.035-6.496 9.049-9.983 15.467-7.716 13.029 4.602 27.878 5.275 38.103-4.138-38.742 5.072-72.872-25.36-72.872-67.826zm92.273 19.338c0-22.285-15.302-36.505-25.835-36.505-8.642 0-13.164 7.965-13.164 15.832 0 5.669 1.815 24.168 25.168 24.168 9.973 0 13.377-2.154 13.744-2.731.021-.046.087-.291.087-.764zM175.984 368H128V48c0-8.837-7.163-16-16-16H80c-8.837 0-16 7.163-16 16v320H16.019c-14.212 0-21.384 17.244-11.314 27.314l79.981 80.002c6.245 6.245 16.38 6.247 22.627 0l79.984-80.002c10.05-10.05 2.928-27.314-11.313-27.314z"],"sort-numeric-up":[448,512,[],"f163","M308.811 113.787l-19.448-20.795c-4.522-4.836-4.274-12.421.556-16.95l43.443-40.741a11.999 11.999 0 0 1 8.209-3.247h31.591c6.627 0 12 5.373 12 12v127.07h25.66c6.627 0 12 5.373 12 12v28.93c0 6.627-5.373 12-12 12H301.649c-6.627 0-12-5.373-12-12v-28.93c0-6.627 5.373-12 12-12h25.414v-57.938c-7.254 6.58-14.211 4.921-18.252.601zm-30.57 238.569c0-32.653 23.865-67.356 68.094-67.356 38.253 0 79.424 28.861 79.424 92.228 0 51.276-32.237 105.772-91.983 105.772-17.836 0-30.546-3.557-38.548-6.781-5.79-2.333-8.789-8.746-6.922-14.703l9.237-29.48c2.035-6.496 9.049-9.983 15.467-7.716 13.029 4.602 27.878 5.275 38.103-4.138-38.742 5.072-72.872-25.36-72.872-67.826zm92.273 19.338c0-22.285-15.302-36.505-25.835-36.505-8.642 0-13.164 7.965-13.164 15.832 0 5.669 1.815 24.168 25.168 24.168 9.973 0 13.377-2.154 13.744-2.731.021-.046.087-.291.087-.764zM16.016 144H64v320c0 8.837 7.163 16 16 16h32c8.837 0 16-7.163 16-16V144h47.981c14.212 0 21.384-17.244 11.314-27.314l-79.981-80.002c-6.245-6.245-16.38-6.247-22.627 0L4.702 116.686C-5.347 126.736 1.775 144 16.016 144z"],"sort-up":[320,512,[],"f0de","M279 224H41c-21.4 0-32.1-25.9-17-41L143 64c9.4-9.4 24.6-9.4 33.9 0l119 119c15.2 15.1 4.5 41-16.9 41z"],"space-shuttle":[640,512,[],"f197","M592.604 208.244C559.735 192.836 515.777 184 472 184H186.327c-4.952-6.555-10.585-11.978-16.72-16H376C229.157 137.747 219.403 32 96.003 32H96v128H80V32c-26.51 0-48 28.654-48 64v64c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v16c-23.197 0-32 10.032-32 24v40c0 13.983 8.819 24 32 24v64c0 35.346 21.49 64 48 64V352h16v128h.003c123.4 0 133.154-105.747 279.997-136H169.606c6.135-4.022 11.768-9.445 16.72-16H472c43.777 0 87.735-8.836 120.604-24.244C622.282 289.845 640 271.992 640 256s-17.718-33.845-47.396-47.756zM488 296a8 8 0 0 1-8-8v-64a8 8 0 0 1 8-8c31.909 0 31.942 80 0 80z"],spinner:[512,512,[],"f110","M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z"],square:[448,512,[],"f0c8","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"],"square-full":[512,512,[],"f45c","M512 512H0V0h512v512z"],star:[576,512,[],"f005","M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z"],"star-half":[576,512,[],"f089","M288 0c-11.4 0-22.8 5.9-28.7 17.8L194 150.2 47.9 171.4c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.1 23 46 46.4 33.7L288 439.6V0z"],"step-backward":[448,512,[],"f048","M64 468V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12v176.4l195.5-181C352.1 22.3 384 36.6 384 64v384c0 27.4-31.9 41.7-52.5 24.6L136 292.7V468c0 6.6-5.4 12-12 12H76c-6.6 0-12-5.4-12-12z"],"step-forward":[448,512,[],"f051","M384 44v424c0 6.6-5.4 12-12 12h-48c-6.6 0-12-5.4-12-12V291.6l-195.5 181C95.9 489.7 64 475.4 64 448V64c0-27.4 31.9-41.7 52.5-24.6L312 219.3V44c0-6.6 5.4-12 12-12h48c6.6 0 12 5.4 12 12z"],stethoscope:[512,512,[],"f0f1","M447.1 112c-34.2.5-62.3 28.4-63 62.6-.5 24.3 12.5 45.6 32 56.8V344c0 57.3-50.2 104-112 104-60 0-109.2-44.1-111.9-99.2C265 333.8 320 269.2 320 192V36.6c0-11.4-8.1-21.3-19.3-23.5L237.8.5c-13-2.6-25.6 5.8-28.2 18.8L206.4 35c-2.6 13 5.8 25.6 18.8 28.2l30.7 6.1v121.4c0 52.9-42.2 96.7-95.1 97.2-53.4.5-96.9-42.7-96.9-96V69.4l30.7-6.1c13-2.6 21.4-15.2 18.8-28.2l-3.1-15.7C107.7 6.4 95.1-2 82.1.6L19.3 13C8.1 15.3 0 25.1 0 36.6V192c0 77.3 55.1 142 128.1 156.8C130.7 439.2 208.6 512 304 512c97 0 176-75.4 176-168V231.4c19.1-11.1 32-31.7 32-55.4 0-35.7-29.2-64.5-64.9-64zm.9 80c-8.8 0-16-7.2-16-16s7.2-16 16-16 16 7.2 16 16-7.2 16-16 16z"],"sticky-note":[448,512,[],"f249","M312 320h136V56c0-13.3-10.7-24-24-24H24C10.7 32 0 42.7 0 56v400c0 13.3 10.7 24 24 24h264V344c0-13.2 10.8-24 24-24zm129 55l-98 98c-4.5 4.5-10.6 7-17 7h-6V352h128v6.1c0 6.3-2.5 12.4-7 16.9z"],stop:[448,512,[],"f04d","M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48z"],"stop-circle":[512,512,[],"f28d","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm96 328c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V176c0-8.8 7.2-16 16-16h160c8.8 0 16 7.2 16 16v160z"],stopwatch:[448,512,[],"f2f2","M432 304c0 114.9-93.1 208-208 208S16 418.9 16 304c0-104 76.3-190.2 176-205.5V64h-28c-6.6 0-12-5.4-12-12V12c0-6.6 5.4-12 12-12h120c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-28v34.5c37.5 5.8 71.7 21.6 99.7 44.6l27.5-27.5c4.7-4.7 12.3-4.7 17 0l28.3 28.3c4.7 4.7 4.7 12.3 0 17l-29.4 29.4-.6.6C419.7 223.3 432 262.2 432 304zm-176 36V188.5c0-6.6-5.4-12-12-12h-40c-6.6 0-12 5.4-12 12V340c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12z"],"street-view":[512,512,[],"f21d","M192 64c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zm112 80h-11.36c-22.711 10.443-49.59 10.894-73.28 0H208c-26.51 0-48 21.49-48 48v104c0 13.255 10.745 24 24 24h16v104c0 13.255 10.745 24 24 24h64c13.255 0 24-10.745 24-24V320h16c13.255 0 24-10.745 24-24V192c0-26.51-21.49-48-48-48zm85.642 189.152a72.503 72.503 0 0 1-29.01 27.009C391.133 365.251 480 385.854 480 416c0 46.304-167.656 64-224 64-70.303 0-224-20.859-224-64 0-30.123 88.361-50.665 119.367-55.839a72.516 72.516 0 0 1-29.01-27.009C74.959 343.395 0 367.599 0 416c0 77.111 178.658 96 256 96 77.249 0 256-18.865 256-96 0-48.403-74.967-72.606-122.358-82.848z"],strikethrough:[512,512,[],"f0cc","M496 288H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h480c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16zm-214.666 16c27.258 12.937 46.524 28.683 46.524 56.243 0 33.108-28.977 53.676-75.621 53.676-32.325 0-76.874-12.08-76.874-44.271V368c0-8.837-7.164-16-16-16H113.75c-8.836 0-16 7.163-16 16v19.204c0 66.845 77.717 101.82 154.487 101.82 88.578 0 162.013-45.438 162.013-134.424 0-19.815-3.618-36.417-10.143-50.6H281.334zm-30.952-96c-32.422-13.505-56.836-28.946-56.836-59.683 0-33.92 30.901-47.406 64.962-47.406 42.647 0 64.962 16.593 64.962 32.985V136c0 8.837 7.164 16 16 16h45.613c8.836 0 16-7.163 16-16v-30.318c0-52.438-71.725-79.875-142.575-79.875-85.203 0-150.726 40.972-150.726 125.646 0 22.71 4.665 41.176 12.777 56.547h129.823z"],subscript:[512,512,[],"f12c","M395.198 416c3.461-10.526 18.796-21.28 36.265-32.425 16.625-10.605 35.467-22.626 50.341-38.862 17.458-19.054 25.944-40.175 25.944-64.567 0-60.562-50.702-88.146-97.81-88.146-42.491 0-76.378 22.016-94.432 50.447-4.654 7.329-2.592 17.036 4.623 21.865l30.328 20.296c7.032 4.706 16.46 3.084 21.63-3.614 8.022-10.394 18.818-18.225 31.667-18.225 19.387 0 26.266 12.901 26.266 23.948 0 36.159-119.437 57.023-119.437 160.024 0 6.654.561 13.014 1.415 19.331 1.076 7.964 7.834 13.928 15.87 13.928H496c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16H395.198zM272 256c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-62.399a16 16 0 0 1-13.541-7.478l-45.701-72.615c-2.297-3.352-4.422-6.969-6.195-10.209-1.65 3.244-3.647 6.937-5.874 10.582l-44.712 72.147a15.999 15.999 0 0 1-13.6 7.572H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h26.325l56.552-82.709L46.111 96H16C7.163 96 0 88.837 0 80V48c0-8.837 7.163-16 16-16h68.806a16 16 0 0 1 13.645 7.644l39.882 65.126c2.072 3.523 4.053 7.171 5.727 10.37 1.777-3.244 3.92-6.954 6.237-10.537l40.332-65.035A15.999 15.999 0 0 1 204.226 32H272c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-27.979l-52.69 75.671L249.974 256H272z"],subway:[448,512,[],"f239","M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zM200 232V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm200 0V120c0-13.255-10.745-24-24-24H272c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h104c13.255 0 24-10.745 24-24zm-48 56c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm-256 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z"],suitcase:[512,512,[],"f0f2","M96 480h320V128h-32V80c0-26.51-21.49-48-48-48H176c-26.51 0-48 21.49-48 48v48H96v352zm96-384h128v32H192V96zm320 80v256c0 26.51-21.49 48-48 48h-16V128h16c26.51 0 48 21.49 48 48zM64 480H48c-26.51 0-48-21.49-48-48V176c0-26.51 21.49-48 48-48h16v352z"],sun:[512,512,[],"f185","M274.835 12.646l25.516 62.393c4.213 10.301 16.671 14.349 26.134 8.492l57.316-35.479c15.49-9.588 34.808 4.447 30.475 22.142l-16.03 65.475c-2.647 10.81 5.053 21.408 16.152 22.231l67.224 4.987c18.167 1.348 25.546 24.057 11.641 35.826L441.81 242.26c-8.495 7.19-8.495 20.289 0 27.479l51.454 43.548c13.906 11.769 6.527 34.478-11.641 35.826l-67.224 4.987c-11.099.823-18.799 11.421-16.152 22.231l16.03 65.475c4.332 17.695-14.986 31.73-30.475 22.142l-57.316-35.479c-9.463-5.858-21.922-1.81-26.134 8.492l-25.516 62.393c-6.896 16.862-30.774 16.862-37.67 0l-25.516-62.393c-4.213-10.301-16.671-14.349-26.134-8.492l-57.317 35.479c-15.49 9.588-34.808-4.447-30.475-22.142l16.03-65.475c2.647-10.81-5.053-21.408-16.152-22.231l-67.224-4.987c-18.167-1.348-25.546-24.057-11.641-35.826L70.19 269.74c8.495-7.19 8.495-20.289 0-27.479l-51.454-43.548c-13.906-11.769-6.527-34.478 11.641-35.826l67.224-4.987c11.099-.823 18.799-11.421 16.152-22.231l-16.03-65.475c-4.332-17.695 14.986-31.73 30.475-22.142l57.317 35.479c9.463 5.858 21.921 1.81 26.134-8.492l25.516-62.393c6.896-16.861 30.774-16.861 37.67 0zM392 256c0-74.991-61.01-136-136-136-74.991 0-136 61.009-136 136s61.009 136 136 136c74.99 0 136-61.009 136-136zm-32 0c0 57.346-46.654 104-104 104s-104-46.654-104-104 46.654-104 104-104 104 46.654 104 104z"],superscript:[512,512,[],"f12b","M395.198 256c3.461-10.526 18.796-21.28 36.265-32.425 16.625-10.605 35.467-22.626 50.341-38.862 17.458-19.054 25.944-40.175 25.944-64.567 0-60.562-50.702-88.146-97.81-88.146-42.491 0-76.378 22.016-94.432 50.447-4.654 7.329-2.592 17.036 4.623 21.865l30.328 20.296c7.032 4.706 16.46 3.084 21.63-3.614 8.022-10.394 18.818-18.225 31.667-18.225 19.387 0 26.266 12.901 26.266 23.948 0 36.159-119.437 57.023-119.437 160.024 0 6.654.561 13.014 1.415 19.331 1.076 7.964 7.834 13.928 15.87 13.928H496c8.837 0 16-7.163 16-16v-32c0-8.837-7.163-16-16-16H395.198zM272 416c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-62.399a16 16 0 0 1-13.541-7.478l-45.701-72.615c-2.297-3.352-4.422-6.969-6.195-10.209-1.65 3.244-3.647 6.937-5.874 10.582l-44.712 72.147a15.999 15.999 0 0 1-13.6 7.572H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h26.325l56.552-82.709L46.111 256H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h68.806a16 16 0 0 1 13.645 7.644l39.882 65.126c2.072 3.523 4.053 7.171 5.727 10.37 1.777-3.244 3.92-6.954 6.237-10.537l40.332-65.035a16 16 0 0 1 13.598-7.567H272c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-27.979l-52.69 75.671L249.974 416H272z"],sync:[512,512,[],"f021","M440.935 12.574l3.966 82.766C399.416 41.904 331.674 8 256 8 134.813 8 33.933 94.924 12.296 209.824 10.908 217.193 16.604 224 24.103 224h49.084c5.57 0 10.377-3.842 11.676-9.259C103.407 137.408 172.931 80 256 80c60.893 0 114.512 30.856 146.104 77.801l-101.53-4.865c-6.845-.328-12.574 5.133-12.574 11.986v47.411c0 6.627 5.373 12 12 12h200.333c6.627 0 12-5.373 12-12V12c0-6.627-5.373-12-12-12h-47.411c-6.853 0-12.315 5.729-11.987 12.574zM256 432c-60.895 0-114.517-30.858-146.109-77.805l101.868 4.871c6.845.327 12.573-5.134 12.573-11.986v-47.412c0-6.627-5.373-12-12-12H12c-6.627 0-12 5.373-12 12V500c0 6.627 5.373 12 12 12h47.385c6.863 0 12.328-5.745 11.985-12.599l-4.129-82.575C112.725 470.166 180.405 504 256 504c121.187 0 222.067-86.924 243.704-201.824 1.388-7.369-4.308-14.176-11.807-14.176h-49.084c-5.57 0-10.377 3.842-11.676 9.259C408.593 374.592 339.069 432 256 432z"],"sync-alt":[512,512,[],"f2f1","M370.72 133.28C339.458 104.008 298.888 87.962 255.848 88c-77.458.068-144.328 53.178-162.791 126.85-1.344 5.363-6.122 9.15-11.651 9.15H24.103c-7.498 0-13.194-6.807-11.807-14.176C33.933 94.924 134.813 8 256 8c66.448 0 126.791 26.136 171.315 68.685L463.03 40.97C478.149 25.851 504 36.559 504 57.941V192c0 13.255-10.745 24-24 24H345.941c-21.382 0-32.09-25.851-16.971-40.971l41.75-41.749zM32 296h134.059c21.382 0 32.09 25.851 16.971 40.971l-41.75 41.75c31.262 29.273 71.835 45.319 114.876 45.28 77.418-.07 144.315-53.144 162.787-126.849 1.344-5.363 6.122-9.15 11.651-9.15h57.304c7.498 0 13.194 6.807 11.807 14.176C478.067 417.076 377.187 504 256 504c-66.448 0-126.791-26.136-171.315-68.685L48.97 471.03C33.851 486.149 8 475.441 8 454.059V320c0-13.255 10.745-24 24-24z"],syringe:[512,512,[],"f48e","M201.5 174.8l55.7 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-55.7-55.8-45.3 45.3 55.8 55.8c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L111 265.2l-26.4 26.4c-17.3 17.3-25.6 41.1-23 65.4l7.1 63.6L2.3 487c-3.1 3.1-3.1 8.2 0 11.3l11.3 11.3c3.1 3.1 8.2 3.1 11.3 0l66.3-66.3 63.6 7.1c23.9 2.6 47.9-5.4 65.4-23l181.9-181.9-135.7-135.7-64.9 65zm308.2-93.3L430.5 2.3c-3.1-3.1-8.2-3.1-11.3 0l-11.3 11.3c-3.1 3.1-3.1 8.2 0 11.3l28.3 28.3-45.3 45.3-56.6-56.6-17-17c-3.1-3.1-8.2-3.1-11.3 0l-33.9 33.9c-3.1 3.1-3.1 8.2 0 11.3l17 17L424.8 223l17 17c3.1 3.1 8.2 3.1 11.3 0l33.9-34c3.1-3.1 3.1-8.2 0-11.3l-73.5-73.5 45.3-45.3 28.3 28.3c3.1 3.1 8.2 3.1 11.3 0l11.3-11.3c3.1-3.2 3.1-8.2 0-11.4z"],table:[512,512,[],"f0ce","M464 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V80c0-26.51-21.49-48-48-48zM224 416H64v-96h160v96zm0-160H64v-96h160v96zm224 160H288v-96h160v96zm0-160H288v-96h160v96z"],"table-tennis":[512,512,[],"f45d","M496.2 296.5C527.7 218.7 512 126.2 449 63.1 365.1-21 229-21 145.1 63.1l-56 56.1 211.5 211.5c46.1-62.1 131.5-77.4 195.6-34.2zm-217.9 79.7L57.9 155.9c-27.3 45.3-21.7 105 17.3 144.1l34.5 34.6L6.7 424c-8.6 7.5-9.1 20.7-1 28.8l53.4 53.5c8 8.1 21.2 7.6 28.7-1L177.1 402l35.7 35.7c19.7 19.7 44.6 30.5 70.3 33.3-7.1-17-11-35.6-11-55.1-.1-13.8 2.5-27 6.2-39.7zM416 320c-53 0-96 43-96 96s43 96 96 96 96-43 96-96-43-96-96-96z"],tablet:[448,512,[],"f10a","M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z"],"tablet-alt":[448,512,[],"f3fa","M400 0H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zM224 480c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm176-108c0 6.6-5.4 12-12 12H60c-6.6 0-12-5.4-12-12V60c0-6.6 5.4-12 12-12h328c6.6 0 12 5.4 12 12v312z"],"tachometer-alt":[576,512,[],"f3fd","M75.694 480a48.02 48.02 0 0 1-42.448-25.571C12.023 414.3 0 368.556 0 320 0 160.942 128.942 32 288 32s288 128.942 288 288c0 48.556-12.023 94.3-33.246 134.429A48.018 48.018 0 0 1 500.306 480H75.694zM512 288c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32zM288 128c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32s-32 14.327-32 32c0 17.673 14.327 32 32 32zM64 288c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32zm65.608-158.392c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32zm316.784 0c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32s32-14.327 32-32c0-17.673-14.327-32-32-32zm-87.078 31.534c-12.627-4.04-26.133 2.92-30.173 15.544l-45.923 143.511C250.108 322.645 224 350.264 224 384c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64 0-19.773-8.971-37.447-23.061-49.187l45.919-143.498c4.039-12.625-2.92-26.133-15.544-30.173z"],tag:[512,512,[],"f02b","M0 252.118V48C0 21.49 21.49 0 48 0h204.118a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882L293.823 497.941c-18.745 18.745-49.137 18.745-67.882 0L14.059 286.059A48 48 0 0 1 0 252.118zM112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z"],tags:[640,512,[],"f02c","M497.941 225.941L286.059 14.059A48 48 0 0 0 252.118 0H48C21.49 0 0 21.49 0 48v204.118a48 48 0 0 0 14.059 33.941l211.882 211.882c18.744 18.745 49.136 18.746 67.882 0l204.118-204.118c18.745-18.745 18.745-49.137 0-67.882zM112 160c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zm513.941 133.823L421.823 497.941c-18.745 18.745-49.137 18.745-67.882 0l-.36-.36L527.64 323.522c16.999-16.999 26.36-39.6 26.36-63.64s-9.362-46.641-26.36-63.64L331.397 0h48.721a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882z"],tasks:[512,512,[],"f0ae","M208 132h288c8.8 0 16-7.2 16-16V76c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16zm0 160h288c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16zm0 160h288c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16H208c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16zM64 368c-26.5 0-48.6 21.5-48.6 48s22.1 48 48.6 48 48-21.5 48-48-21.5-48-48-48zm92.5-299l-72.2 72.2-15.6 15.6c-4.7 4.7-12.9 4.7-17.6 0L3.5 109.4c-4.7-4.7-4.7-12.3 0-17l15.7-15.7c4.7-4.7 12.3-4.7 17 0l22.7 22.1 63.7-63.3c4.7-4.7 12.3-4.7 17 0l17 16.5c4.6 4.7 4.6 12.3-.1 17zm0 159.6l-72.2 72.2-15.7 15.7c-4.7 4.7-12.9 4.7-17.6 0L3.5 269c-4.7-4.7-4.7-12.3 0-17l15.7-15.7c4.7-4.7 12.3-4.7 17 0l22.7 22.1 63.7-63.7c4.7-4.7 12.3-4.7 17 0l17 17c4.6 4.6 4.6 12.2-.1 16.9z"],taxi:[512,512,[],"f1ba","M461.951 243.865l-21.816-87.268A79.885 79.885 0 0 0 362.522 96H352V56c0-13.255-10.745-24-24-24H184c-13.255 0-24 10.745-24 24v40h-10.522a79.885 79.885 0 0 0-77.612 60.597L50.05 243.865C25.515 252.823 8 276.366 8 304v48c0 20.207 9.374 38.214 24 49.943V456c0 13.255 10.745 24 24 24h48c13.255 0 24-10.745 24-24v-40h256v40c0 13.255 10.745 24 24 24h48c13.255 0 24-10.745 24-24v-54.057c14.626-11.729 24-29.737 24-49.943v-48c0-27.634-17.515-51.177-42.049-60.135zM149.478 160h213.045a15.975 15.975 0 0 1 15.522 12.12l16.97 67.88h-278.03l16.97-67.881A15.976 15.976 0 0 1 149.478 160zM132 336c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36zm320 0c0 19.882-16.118 36-36 36s-36-16.118-36-36 16.118-36 36-36 36 16.118 36 36z"],terminal:[640,512,[],"f120","M257.981 272.971L63.638 467.314c-9.373 9.373-24.569 9.373-33.941 0L7.029 444.647c-9.357-9.357-9.375-24.522-.04-33.901L161.011 256 6.99 101.255c-9.335-9.379-9.317-24.544.04-33.901l22.667-22.667c9.373-9.373 24.569-9.373 33.941 0L257.981 239.03c9.373 9.372 9.373 24.568 0 33.941zM640 456v-32c0-13.255-10.745-24-24-24H312c-13.255 0-24 10.745-24 24v32c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24z"],"text-height":[576,512,[],"f034","M16 32h288c8.837 0 16 7.163 16 16v96c0 8.837-7.163 16-16 16h-35.496c-8.837 0-16-7.163-16-16V96h-54.761v320H232c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H88c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h34.257V96H67.496v48c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16V48c0-8.837 7.163-16 16-16zm475.308 4.685l79.995 80.001C581.309 126.693 574.297 144 559.99 144H512v224h48c15.639 0 20.635 17.991 11.313 27.314l-79.995 80.001c-6.247 6.247-16.381 6.245-22.626 0l-79.995-80.001C378.691 385.307 385.703 368 400.01 368H448V144h-48c-15.639 0-20.635-17.991-11.313-27.314l79.995-80.001c6.247-6.248 16.381-6.245 22.626 0z"],"text-width":[448,512,[],"f035","M16 32h416c8.837 0 16 7.163 16 16v96c0 8.837-7.163 16-16 16h-35.496c-8.837 0-16-7.163-16-16V96H261.743v128H296c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H152c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16h34.257V96H67.496v48c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16V48c0-8.837 7.163-16 16-16zm427.315 340.682l-80.001-79.995C353.991 283.365 336 288.362 336 304v48H112v-47.99c0-14.307-17.307-21.319-27.314-11.313L4.685 372.692c-6.245 6.245-6.247 16.379 0 22.626l80.001 79.995C94.009 484.635 112 479.638 112 464v-48h224v47.99c0 14.307 17.307 21.319 27.314 11.313l80.001-79.995c6.245-6.245 6.248-16.379 0-22.626z"],th:[512,512,[],"f00a","M149.333 56v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zm181.334 240v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm32-240v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24zm-32 80V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.256 0 24.001-10.745 24.001-24zm-205.334 56H24c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm386.667-56H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm0 160H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H386.667c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zM181.333 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24z"],"th-large":[512,512,[],"f009","M296 32h192c13.255 0 24 10.745 24 24v160c0 13.255-10.745 24-24 24H296c-13.255 0-24-10.745-24-24V56c0-13.255 10.745-24 24-24zm-80 0H24C10.745 32 0 42.745 0 56v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zM0 296v160c0 13.255 10.745 24 24 24h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zm296 184h192c13.255 0 24-10.745 24-24V296c0-13.255-10.745-24-24-24H296c-13.255 0-24 10.745-24 24v160c0 13.255 10.745 24 24 24z"],"th-list":[512,512,[],"f00b","M149.333 216v80c0 13.255-10.745 24-24 24H24c-13.255 0-24-10.745-24-24v-80c0-13.255 10.745-24 24-24h101.333c13.255 0 24 10.745 24 24zM0 376v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H24c-13.255 0-24 10.745-24 24zM125.333 32H24C10.745 32 0 42.745 0 56v80c0 13.255 10.745 24 24 24h101.333c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24zm80 448H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24zm-24-424v80c0 13.255 10.745 24 24 24H488c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24zm24 264H488c13.255 0 24-10.745 24-24v-80c0-13.255-10.745-24-24-24H205.333c-13.255 0-24 10.745-24 24v80c0 13.255 10.745 24 24 24z"],thermometer:[512,512,[],"f491","M476.8 20.4c-37.5-30.7-95.5-26.3-131.9 10.2l-45.7 46 50.5 50.5c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.4-50.5-45.1 45.4 50.3 50.4c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0L209 167.4l-45.1 45.4L214 263c3.1 3.1 3.1 8.2 0 11.3l-11.3 11.3c-3.1 3.1-8.2 3.1-11.3 0l-50.1-50.2L96 281.1V382L7 471c-9.4 9.4-9.4 24.6 0 33.9 9.4 9.4 24.6 9.4 33.9 0l89-89h99.9L484 162.6c34.9-34.9 42.2-101.5-7.2-142.2z"],"thermometer-empty":[256,512,[],"f2cb","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"],"thermometer-full":[256,512,[],"f2c7","M224 96c0-53.019-42.981-96-96-96S32 42.981 32 96v203.347C12.225 321.756.166 351.136.002 383.333c-.359 70.303 56.787 128.176 127.089 128.664.299.002.61.003.909.003 70.698 0 128-57.304 128-128 0-32.459-12.088-62.09-32-84.653V96zm-96 368l-.576-.002c-43.86-.304-79.647-36.544-79.423-80.42.173-33.98 19.266-51.652 31.999-66.08V96c0-26.467 21.533-48 48-48s48 21.533 48 48v221.498c12.63 14.312 32 32.164 32 66.502 0 44.112-35.888 80-80 80zm64-80c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V96c0-17.673 14.327-32 32-32s32 14.327 32 32v232.583c19.124 11.068 32 31.732 32 55.417z"],"thermometer-half":[256,512,[],"f2c9","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V224c0-17.673 14.327-32 32-32s32 14.327 32 32v104.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"],"thermometer-quarter":[256,512,[],"f2ca","M192 384c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-23.685 12.876-44.349 32-55.417V288c0-17.673 14.327-32 32-32s32 14.327 32 32v40.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"],"thermometer-three-quarters":[256,512,[],"f2c8","M192 384c0 35.346-28.654 64-64 64-35.346 0-64-28.654-64-64 0-23.685 12.876-44.349 32-55.417V160c0-17.673 14.327-32 32-32s32 14.327 32 32v168.583c19.124 11.068 32 31.732 32 55.417zm32-84.653c19.912 22.563 32 52.194 32 84.653 0 70.696-57.303 128-128 128-.299 0-.609-.001-.909-.003C56.789 511.509-.357 453.636.002 383.333.166 351.135 12.225 321.755 32 299.347V96c0-53.019 42.981-96 96-96s96 42.981 96 96v203.347zM208 384c0-34.339-19.37-52.19-32-66.502V96c0-26.467-21.533-48-48-48S80 69.533 80 96v221.498c-12.732 14.428-31.825 32.1-31.999 66.08-.224 43.876 35.563 80.116 79.423 80.42L128 464c44.112 0 80-35.888 80-80z"],"thumbs-down":[512,512,[],"f165","M0 56v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V56c0-13.255-10.745-24-24-24H24C10.745 32 0 42.745 0 56zm40 200c0-13.255 10.745-24 24-24s24 10.745 24 24-10.745 24-24 24-24-10.745-24-24zm272 256c-20.183 0-29.485-39.293-33.931-57.795-5.206-21.666-10.589-44.07-25.393-58.902-32.469-32.524-49.503-73.967-89.117-113.111a11.98 11.98 0 0 1-3.558-8.521V59.901c0-6.541 5.243-11.878 11.783-11.998 15.831-.29 36.694-9.079 52.651-16.178C256.189 17.598 295.709.017 343.995 0h2.844c42.777 0 93.363.413 113.774 29.737 8.392 12.057 10.446 27.034 6.148 44.632 16.312 17.053 25.063 48.863 16.382 74.757 17.544 23.432 19.143 56.132 9.308 79.469l.11.11c11.893 11.949 19.523 31.259 19.439 49.197-.156 30.352-26.157 58.098-59.553 58.098H350.723C358.03 364.34 384 388.132 384 430.548 384 504 336 512 312 512z"],"thumbs-up":[512,512,[],"f164","M104 224H24c-13.255 0-24 10.745-24 24v240c0 13.255 10.745 24 24 24h80c13.255 0 24-10.745 24-24V248c0-13.255-10.745-24-24-24zM64 472c-13.255 0-24-10.745-24-24s10.745-24 24-24 24 10.745 24 24-10.745 24-24 24zM384 81.452c0 42.416-25.97 66.208-33.277 94.548h101.723c33.397 0 59.397 27.746 59.553 58.098.084 17.938-7.546 37.249-19.439 49.197l-.11.11c9.836 23.337 8.237 56.037-9.308 79.469 8.681 25.895-.069 57.704-16.382 74.757 4.298 17.598 2.244 32.575-6.148 44.632C440.202 511.587 389.616 512 346.839 512l-2.845-.001c-48.287-.017-87.806-17.598-119.56-31.725-15.957-7.099-36.821-15.887-52.651-16.178-6.54-.12-11.783-5.457-11.783-11.998v-213.77c0-3.2 1.282-6.271 3.558-8.521 39.614-39.144 56.648-80.587 89.117-113.111 14.804-14.832 20.188-37.236 25.393-58.902C282.515 39.293 291.817 0 312 0c24 0 72 8 72 81.452z"],thumbtack:[384,512,[],"f08d","M298.028 214.267L285.793 96H328c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H56C42.745 0 32 10.745 32 24v48c0 13.255 10.745 24 24 24h42.207L85.972 214.267C37.465 236.82 0 277.261 0 328c0 13.255 10.745 24 24 24h136v104.007c0 1.242.289 2.467.845 3.578l24 48c2.941 5.882 11.364 5.893 14.311 0l24-48a8.008 8.008 0 0 0 .845-3.578V352h136c13.255 0 24-10.745 24-24-.001-51.183-37.983-91.42-85.973-113.733z"],"ticket-alt":[576,512,[],"f3ff","M128 160h320v192H128V160zm400 96c0 26.51 21.49 48 48 48v96c0 26.51-21.49 48-48 48H48c-26.51 0-48-21.49-48-48v-96c26.51 0 48-21.49 48-48s-21.49-48-48-48v-96c0-26.51 21.49-48 48-48h480c26.51 0 48 21.49 48 48v96c-26.51 0-48 21.49-48 48zm-48-104c0-13.255-10.745-24-24-24H120c-13.255 0-24 10.745-24 24v208c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24V152z"],times:[384,512,[],"f00d","M323.1 441l53.9-53.9c9.4-9.4 9.4-24.5 0-33.9L279.8 256l97.2-97.2c9.4-9.4 9.4-24.5 0-33.9L323.1 71c-9.4-9.4-24.5-9.4-33.9 0L192 168.2 94.8 71c-9.4-9.4-24.5-9.4-33.9 0L7 124.9c-9.4 9.4-9.4 24.5 0 33.9l97.2 97.2L7 353.2c-9.4 9.4-9.4 24.5 0 33.9L60.9 441c9.4 9.4 24.5 9.4 33.9 0l97.2-97.2 97.2 97.2c9.3 9.3 24.5 9.3 33.9 0z"],"times-circle":[512,512,[],"f057","M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z"],tint:[384,512,[],"f043","M192 512c-98.435 0-178.087-79.652-178.087-178.087 0-111.196 101.194-154.065 148.522-311.825 9.104-30.116 51.099-28.778 59.13 0 47.546 158.486 148.522 200.069 148.522 311.825C370.087 432.348 290.435 512 192 512zm-42.522-171.826c-1.509-5.533-9.447-5.532-10.956 0-9.223 29.425-27.913 37.645-27.913 58.435C110.609 417.13 125.478 432 144 432s33.391-14.87 33.391-33.391c0-20.839-18.673-28.956-27.913-58.435z"],"toggle-off":[576,512,[],"f204","M384 64H192C85.961 64 0 149.961 0 256s85.961 192 192 192h192c106.039 0 192-85.961 192-192S490.039 64 384 64zM64 256c0-70.741 57.249-128 128-128 70.741 0 128 57.249 128 128 0 70.741-57.249 128-128 128-70.741 0-128-57.249-128-128zm320 128h-48.905c65.217-72.858 65.236-183.12 0-256H384c70.741 0 128 57.249 128 128 0 70.74-57.249 128-128 128z"],"toggle-on":[576,512,[],"f205","M576 256c0 106.039-85.961 192-192 192H192C85.961 448 0 362.039 0 256S85.961 64 192 64h192c106.039 0 192 85.961 192 192zM384 128c-70.741 0-128 57.249-128 128 0 70.741 57.249 128 128 128 70.741 0 128-57.249 128-128 0-70.741-57.249-128-128-128"],trademark:[640,512,[],"f25c","M97.119 163.133H12c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h248.559c6.627 0 12 5.373 12 12v43.133c0 6.627-5.373 12-12 12H175.44V404c0 6.627-5.373 12-12 12h-54.322c-6.627 0-12-5.373-12-12V163.133zM329.825 96h65.425a12 12 0 0 1 11.346 8.093l43.759 127.068c7.161 20.588 16.111 52.812 16.111 52.812h.896s8.95-32.224 16.111-52.812l43.758-127.068A12 12 0 0 1 538.577 96h65.41a12 12 0 0 1 11.961 11.03l24.012 296c.567 6.987-4.951 12.97-11.961 12.97h-54.101a12 12 0 0 1-11.972-11.182l-9.082-132.93c-1.79-24.168 0-53.706 0-53.706h-.896s-10.741 33.566-17.902 53.706l-30.7 84.731a12 12 0 0 1-11.282 7.912h-50.302a12 12 0 0 1-11.282-7.912l-30.7-84.731c-7.161-20.14-17.903-53.706-17.903-53.706h-.895s1.79 29.538 0 53.706l-9.082 132.93c-.428 6.295-5.66 11.182-11.97 11.182H305.4c-7.017 0-12.536-5.994-11.959-12.987l24.425-296A11.999 11.999 0 0 1 329.825 96z"],train:[448,512,[],"f238","M448 96v256c0 51.815-61.624 96-130.022 96l62.98 49.721C386.905 502.417 383.562 512 376 512H72c-7.578 0-10.892-9.594-4.957-14.279L130.022 448C61.82 448 0 403.954 0 352V96C0 42.981 64 0 128 0h192c65 0 128 42.981 128 96zm-48 136V120c0-13.255-10.745-24-24-24H72c-13.255 0-24 10.745-24 24v112c0 13.255 10.745 24 24 24h304c13.255 0 24-10.745 24-24zm-176 64c-30.928 0-56 25.072-56 56s25.072 56 56 56 56-25.072 56-56-25.072-56-56-56z"],transgender:[384,512,[],"f224","M372 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C198.5 104.1 172.2 96 144 96 64.5 96 0 160.5 0 240c0 68.5 47.9 125.9 112 140.4V408H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM144 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"],"transgender-alt":[480,512,[],"f225","M468 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-80.7 80.7C294.5 104.1 268.2 96 240 96c-28.2 0-54.5 8.1-76.7 22.1l-16.5-16.5 19.8-19.8c4.7-4.7 4.7-12.3 0-17l-28.3-28.3c-4.7-4.7-12.3-4.7-17 0l-19.8 19.8-19-19 16.9-16.9C107.1 12.9 101.7 0 91 0H12C5.4 0 0 5.4 0 12v79c0 10.7 12.9 16 20.5 8.5l16.9-16.9 19 19-19.8 19.8c-4.7 4.7-4.7 12.3 0 17l28.3 28.3c4.7 4.7 12.3 4.7 17 0l19.8-19.8 16.5 16.5C104.1 185.5 96 211.8 96 240c0 68.5 47.9 125.9 112 140.4V408h-36c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v28c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-28h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-27.6c64.1-14.6 112-71.9 112-140.4 0-28.2-8.1-54.5-22.1-76.7l80.7-80.7 16.9 16.9c7.6 7.6 20.5 2.2 20.5-8.5V12c0-6.6-5.4-12-12-12zM240 320c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"],trash:[448,512,[],"f1f8","M0 84V56c0-13.3 10.7-24 24-24h112l9.4-18.7c4-8.2 12.3-13.3 21.4-13.3h114.3c9.1 0 17.4 5.1 21.5 13.3L312 32h112c13.3 0 24 10.7 24 24v28c0 6.6-5.4 12-12 12H12C5.4 96 0 90.6 0 84zm415.2 56.7L394.8 467c-1.6 25.3-22.6 45-47.9 45H101.1c-25.3 0-46.3-19.7-47.9-45L32.8 140.7c-.4-6.9 5.1-12.7 12-12.7h358.5c6.8 0 12.3 5.8 11.9 12.7z"],"trash-alt":[448,512,[],"f2ed","M0 84V56c0-13.3 10.7-24 24-24h112l9.4-18.7c4-8.2 12.3-13.3 21.4-13.3h114.3c9.1 0 17.4 5.1 21.5 13.3L312 32h112c13.3 0 24 10.7 24 24v28c0 6.6-5.4 12-12 12H12C5.4 96 0 90.6 0 84zm416 56v324c0 26.5-21.5 48-48 48H80c-26.5 0-48-21.5-48-48V140c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12zm-272 68c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V208zm96 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V208zm96 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V208z"],tree:[384,512,[],"f1bb","M377.33 375.429L293.906 288H328c21.017 0 31.872-25.207 17.448-40.479L262.79 160H296c20.878 0 31.851-24.969 17.587-40.331l-104-112.003c-9.485-10.214-25.676-10.229-35.174 0l-104 112.003C56.206 134.969 67.037 160 88 160h33.21l-82.659 87.521C24.121 262.801 34.993 288 56 288h34.094L6.665 375.429C-7.869 390.655 2.925 416 24.025 416H144c0 32.781-11.188 49.26-33.995 67.506C98.225 492.93 104.914 512 120 512h144c15.086 0 21.776-19.069 9.995-28.494-19.768-15.814-33.992-31.665-33.995-67.496V416h119.97c21.05 0 31.929-25.309 17.36-40.571z"],trophy:[576,512,[],"f091","M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 35.7 22.5 72.4 61.9 100.7 31.5 22.7 69.8 37.1 110 41.7C203.3 338.5 240 360 240 360v72h-48c-35.3 0-64 20.7-64 56v12c0 6.6 5.4 12 12 12h296c6.6 0 12-5.4 12-12v-12c0-35.3-28.7-56-64-56h-48v-72s36.7-21.5 68.1-73.6c40.3-4.6 78.6-19 110-41.7 39.3-28.3 61.9-65 61.9-100.7V88c0-13.3-10.7-24-24-24zM99.3 192.8C74.9 175.2 64 155.6 64 144v-16h64.2c1 32.6 5.8 61.2 12.8 86.2-15.1-5.2-29.2-12.4-41.7-21.4zM512 144c0 16.1-17.7 36.1-35.3 48.8-12.5 9-26.7 16.2-41.8 21.4 7-25 11.8-53.6 12.8-86.2H512v16z"],truck:[640,512,[],"f0d1","M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h16c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z"],tty:[512,512,[],"f1e4","M5.37 103.822c138.532-138.532 362.936-138.326 501.262 0 6.078 6.078 7.074 15.496 2.583 22.681l-43.214 69.138a18.332 18.332 0 0 1-22.356 7.305l-86.422-34.569a18.335 18.335 0 0 1-11.434-18.846L351.741 90c-62.145-22.454-130.636-21.986-191.483 0l5.953 59.532a18.331 18.331 0 0 1-11.434 18.846l-86.423 34.568a18.334 18.334 0 0 1-22.356-7.305L2.787 126.502a18.333 18.333 0 0 1 2.583-22.68zM96 308v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm-336 96v-40c0-6.627-5.373-12-12-12H92c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zM96 500v-40c0-6.627-5.373-12-12-12H44c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12zm288 0v-40c0-6.627-5.373-12-12-12H140c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h232c6.627 0 12-5.373 12-12zm96 0v-40c0-6.627-5.373-12-12-12h-40c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h40c6.627 0 12-5.373 12-12z"],tv:[640,512,[],"f26c","M592 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h245.1v32h-160c-17.7 0-32 14.3-32 32s14.3 32 32 32h384c17.7 0 32-14.3 32-32s-14.3-32-32-32h-160v-32H592c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h512v288z"],umbrella:[576,512,[],"f0e9","M557.011 267.631c-51.432-45.217-107.572-43.698-158.567 30.731-5.298 7.861-14.906 7.165-19.736 0-2.483-3.624-32.218-60.808-90.708-60.808-45.766 0-70.542 31.378-90.709 60.808-4.829 7.165-14.436 7.861-19.734 0-50.904-74.285-106.613-76.406-158.567-30.731-10.21 8.264-20.912-1.109-18.696-9.481C32.146 134.573 158.516 64.612 288.001 64.612c128.793 0 256.546 69.961 287.706 193.538 2.206 8.322-8.426 17.793-18.696 9.481zM256 261.001V416c0 17.645-14.355 32-32 32s-32-14.355-32-32c0-17.673-14.327-32-32-32s-32 14.327-32 32c0 52.935 43.065 96 96 96s96-43.065 96-96V261.288c-21.836-10.806-45.425-9.737-64-.287zm64-211.007V32c0-17.673-14.327-32-32-32s-32 14.327-32 32v17.987a372.105 372.105 0 0 1 64 .007z"],underline:[448,512,[],"f0cd","M224.264 388.24c-91.669 0-156.603-51.165-156.603-151.392V64H39.37c-8.837 0-16-7.163-16-16V16c0-8.837 7.163-16 16-16h137.39c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-28.813v172.848c0 53.699 28.314 79.444 76.317 79.444 46.966 0 75.796-25.434 75.796-79.965V64h-28.291c-8.837 0-16-7.163-16-16V16c0-8.837 7.163-16 16-16h136.868c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16h-28.291v172.848c0 99.405-64.881 151.392-156.082 151.392zM16 448h416c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H16c-8.837 0-16-7.163-16-16v-32c0-8.837 7.163-16 16-16z"],undo:[512,512,[],"f0e2","M212.333 224.333H12c-6.627 0-12-5.373-12-12V12C0 5.373 5.373 0 12 0h48c6.627 0 12 5.373 12 12v78.112C117.773 39.279 184.26 7.47 258.175 8.007c136.906.994 246.448 111.623 246.157 248.532C504.041 393.258 393.12 504 256.333 504c-64.089 0-122.496-24.313-166.51-64.215-5.099-4.622-5.334-12.554-.467-17.42l33.967-33.967c4.474-4.474 11.662-4.717 16.401-.525C170.76 415.336 211.58 432 256.333 432c97.268 0 176-78.716 176-176 0-97.267-78.716-176-176-176-58.496 0-110.28 28.476-142.274 72.333h98.274c6.627 0 12 5.373 12 12v48c0 6.627-5.373 12-12 12z"],"undo-alt":[512,512,[],"f2ea","M255.545 8c-66.269.119-126.438 26.233-170.86 68.685L48.971 40.971C33.851 25.851 8 36.559 8 57.941V192c0 13.255 10.745 24 24 24h134.059c21.382 0 32.09-25.851 16.971-40.971l-41.75-41.75c30.864-28.899 70.801-44.907 113.23-45.273 92.398-.798 170.283 73.977 169.484 169.442C423.236 348.009 349.816 424 256 424c-41.127 0-79.997-14.678-110.63-41.556-4.743-4.161-11.906-3.908-16.368.553L89.34 422.659c-4.872 4.872-4.631 12.815.482 17.433C133.798 479.813 192.074 504 256 504c136.966 0 247.999-111.033 248-247.998C504.001 119.193 392.354 7.755 255.545 8z"],"universal-access":[512,512,[],"f29a","M256 48c114.953 0 208 93.029 208 208 0 114.953-93.029 208-208 208-114.953 0-208-93.029-208-208 0-114.953 93.029-208 208-208m0-40C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 56C149.961 64 64 149.961 64 256s85.961 192 192 192 192-85.961 192-192S362.039 64 256 64zm0 44c19.882 0 36 16.118 36 36s-16.118 36-36 36-36-16.118-36-36 16.118-36 36-36zm117.741 98.023c-28.712 6.779-55.511 12.748-82.14 15.807.851 101.023 12.306 123.052 25.037 155.621 3.617 9.26-.957 19.698-10.217 23.315-9.261 3.617-19.699-.957-23.316-10.217-8.705-22.308-17.086-40.636-22.261-78.549h-9.686c-5.167 37.851-13.534 56.208-22.262 78.549-3.615 9.255-14.05 13.836-23.315 10.217-9.26-3.617-13.834-14.056-10.217-23.315 12.713-32.541 24.185-54.541 25.037-155.621-26.629-3.058-53.428-9.027-82.141-15.807-8.6-2.031-13.926-10.648-11.895-19.249s10.647-13.926 19.249-11.895c96.686 22.829 124.283 22.783 220.775 0 8.599-2.03 17.218 3.294 19.249 11.895 2.029 8.601-3.297 17.219-11.897 19.249z"],university:[512,512,[],"f19c","M496 128v16a8 8 0 0 1-8 8h-24v12c0 6.627-5.373 12-12 12H60c-6.627 0-12-5.373-12-12v-12H24a8 8 0 0 1-8-8v-16a8 8 0 0 1 4.941-7.392l232-88a7.996 7.996 0 0 1 6.118 0l232 88A8 8 0 0 1 496 128zm-24 304H40c-13.255 0-24 10.745-24 24v16a8 8 0 0 0 8 8h464a8 8 0 0 0 8-8v-16c0-13.255-10.745-24-24-24zM96 192v192H60c-6.627 0-12 5.373-12 12v20h416v-20c0-6.627-5.373-12-12-12h-36V192h-64v192h-64V192h-64v192h-64V192H96z"],unlink:[512,512,[],"f127","M304.083 405.907c4.686 4.686 4.686 12.284 0 16.971l-44.674 44.674c-59.263 59.262-155.693 59.266-214.961 0-59.264-59.265-59.264-155.696 0-214.96l44.675-44.675c4.686-4.686 12.284-4.686 16.971 0l39.598 39.598c4.686 4.686 4.686 12.284 0 16.971l-44.675 44.674c-28.072 28.073-28.072 73.75 0 101.823 28.072 28.072 73.75 28.073 101.824 0l44.674-44.674c4.686-4.686 12.284-4.686 16.971 0l39.597 39.598zm-56.568-260.216c4.686 4.686 12.284 4.686 16.971 0l44.674-44.674c28.072-28.075 73.75-28.073 101.824 0 28.072 28.073 28.072 73.75 0 101.823l-44.675 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.598 39.598c4.686 4.686 12.284 4.686 16.971 0l44.675-44.675c59.265-59.265 59.265-155.695 0-214.96-59.266-59.264-155.695-59.264-214.961 0l-44.674 44.674c-4.686 4.686-4.686 12.284 0 16.971l39.597 39.598zm234.828 359.28l22.627-22.627c9.373-9.373 9.373-24.569 0-33.941L63.598 7.029c-9.373-9.373-24.569-9.373-33.941 0L7.029 29.657c-9.373 9.373-9.373 24.569 0 33.941l441.373 441.373c9.373 9.372 24.569 9.372 33.941 0z"],unlock:[448,512,[],"f09c","M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48z"],"unlock-alt":[448,512,[],"f13e","M400 256H152V152.9c0-39.6 31.7-72.5 71.3-72.9 40-.4 72.7 32.1 72.7 72v16c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24v-16C376 68 307.5-.3 223.5 0 139.5.3 72 69.5 72 153.5V256H48c-26.5 0-48 21.5-48 48v160c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V304c0-26.5-21.5-48-48-48zM264 408c0 22.1-17.9 40-40 40s-40-17.9-40-40v-48c0-22.1 17.9-40 40-40s40 17.9 40 40v48z"],upload:[512,512,[],"f093","M296 384h-80c-13.3 0-24-10.7-24-24V192h-87.7c-17.8 0-26.7-21.5-14.1-34.1L242.3 5.7c7.5-7.5 19.8-7.5 27.3 0l152.2 152.2c12.6 12.6 3.7 34.1-14.1 34.1H320v168c0 13.3-10.7 24-24 24zm216-8v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h136v8c0 30.9 25.1 56 56 56h80c30.9 0 56-25.1 56-56v-8h136c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z"],user:[512,512,[],"f007","M256 0c88.366 0 160 71.634 160 160s-71.634 160-160 160S96 248.366 96 160 167.634 0 256 0zm183.283 333.821l-71.313-17.828c-74.923 53.89-165.738 41.864-223.94 0l-71.313 17.828C29.981 344.505 0 382.903 0 426.955V464c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48v-37.045c0-44.052-29.981-82.45-72.717-93.134z"],"user-circle":[512,512,[],"f2bd","M8 256C8 119.033 119.033 8 256 8s248 111.033 248 248-111.033 248-248 248S8 392.967 8 256zm72.455 125.868C119.657 436.446 183.673 472 256 472s136.343-35.554 175.545-90.132c-3.141-26.99-22.667-49.648-49.538-56.366l-32.374-8.093C323.565 339.79 290.722 352 256 352s-67.565-12.21-93.634-34.591l-32.374 8.093c-26.87 6.718-46.396 29.376-49.537 56.366zM144 208c0 61.856 50.144 112 112 112s112-50.144 112-112S317.856 96 256 96s-112 50.144-112 112z"],"user-md":[448,512,[],"f0f0","M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zM104 424c0 13.3 10.7 24 24 24s24-10.7 24-24-10.7-24-24-24-24 10.7-24 24zm250.4-151.6l-34.4-5.7v55c36.5 7.4 64 39.8 64 78.4v56c0 7.6-5.4 14.2-12.9 15.7l-32.2 6.4c-4.3.9-8.5-1.9-9.4-6.3l-3.1-15.7c-.9-4.3 1.9-8.6 6.3-9.4l19.3-3.9V400c0-29.6-26.9-53-57.6-47.1-22.8 4.4-38.4 25.8-38.4 49v41l19.3 3.9c4.3.9 7.1 5.1 6.3 9.4l-3.1 15.7c-.9 4.3-5.1 7.1-9.4 6.3l-31.2-4.2c-7.9-1.1-13.8-7.8-13.8-15.9v-58c0-38.6 27.5-70.9 64-78.4v-47.2c-19.6 8.6-41.2 13.6-64 13.6-29.3 0-56.4-8.5-80-22.3v104.9c23.1 6.9 40 28.1 40 53.4 0 30.9-25.1 56-56 56s-56-25.1-56-56c0-25.3 16.9-46.5 40-53.4V269.3l-18.4 3.1c-54 9-93.6 55.7-93.6 110.5V480c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32v-97.1c-.1-54.8-39.7-101.5-93.7-110.5z"],"user-plus":[640,512,[],"f234","M224 32c77.32 0 140 62.68 140 140s-62.68 140-140 140S84 249.32 84 172 146.68 32 224 32zm160.373 292.093l-62.399-15.6c-65.557 47.154-145.021 36.631-195.948 0l-62.399 15.6C26.233 333.442 0 367.04 0 405.585V438c0 23.196 18.804 42 42 42h364c23.196 0 42-18.804 42-42v-32.415c0-38.545-26.233-72.143-63.627-81.492zM628 224.889h-68.889V156c0-6.627-5.373-12-12-12h-38.222c-6.627 0-12 5.373-12 12l-.002 68.887-68.887.002c-6.627 0-12 5.373-12 12v38.222c0 6.627 5.373 12 12 12l68.887.002.002 68.887c0 6.627 5.373 12 12 12h38.222c6.627 0 12-5.373 12-12l.002-68.887 68.887-.002c6.627 0 12-5.373 12-12v-38.222c0-6.627-5.373-12-12-12z"],"user-secret":[448,512,[],"f21b","M388.829 295.324l20.972-55.052c2.992-7.854-2.809-16.272-11.214-16.272H340.39c7.45-16.236 11.61-34.297 11.61-53.333 0-3.631-.16-7.224-.456-10.778C391.083 152.074 416 140.684 416 128c0-13.263-27.231-25.112-69.947-32.937-9.185-32.805-27.178-65.797-40.714-82.85-9.452-11.908-25.873-15.634-39.471-8.834l-27.557 13.779a31.997 31.997 0 0 1-28.622 0l-27.557-13.78c-13.599-6.799-30.02-3.074-39.471 8.834-13.536 17.053-31.529 50.045-40.714 82.85C59.231 102.888 32 114.737 32 128c0 12.684 24.917 24.074 64.456 31.889A129.362 129.362 0 0 0 96 170.667c0 19.037 4.159 37.098 11.608 53.333h-57.41c-8.615 0-14.423 8.808-11.029 16.727l22.906 53.447C25.799 307.882 0 342.925 0 384v80c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48v-80c0-39.97-24.43-74.231-59.171-88.676zM184 488l-48-192 48 24 24 40-24 128zm80 0l-24-128 24-40 48-24-48 192zm54.778-303.746c-.008.043-4.299 3.231-5.125 5.771-3.861 11.864-7.026 24.572-16.514 33.359-10.071 9.327-47.957 22.405-63.996-25.029-2.837-8.395-15.447-8.398-18.285 0-16.963 50.168-56.019 32.417-63.996 25.029-9.488-8.786-12.653-21.495-16.514-33.359-.826-2.54-5.118-5.728-5.125-5.771-.554-2.925-.981-5.884-1.22-8.85-.309-3.848 10.078-3.658 11.078-3.747 26.303-2.326 52.303-.579 78.023 5.497 2.563.606 11.553.529 13.793 0 25.72-6.076 51.72-7.824 78.023-5.497 1.002.089 11.387-.102 11.078 3.747-.239 2.966-.666 5.925-1.22 8.85z"],"user-times":[640,512,[],"f235","M224 32c77.32 0 140 62.68 140 140s-62.68 140-140 140S84 249.32 84 172 146.68 32 224 32zm160.373 292.093l-62.399-15.6c-65.557 47.154-145.021 36.631-195.948 0l-62.399 15.6C26.233 333.442 0 367.04 0 405.585V438c0 23.196 18.804 42 42 42h364c23.196 0 42-18.804 42-42v-32.415c0-38.545-26.233-72.143-63.627-81.492zM587.897 256l48.596-48.598c4.675-4.675 4.675-12.256 0-16.931l-26.964-26.964c-4.675-4.675-12.256-4.675-16.931 0L544 212.105l-48.598-48.598c-4.675-4.675-12.256-4.675-16.931 0l-26.964 26.964c-4.675 4.675-4.675 12.256 0 16.931L500.103 256l-48.596 48.598c-4.675 4.675-4.675 12.256 0 16.931l26.964 26.964c4.675 4.675 12.256 4.675 16.931 0L544 299.897l48.598 48.596c4.675 4.675 12.256 4.675 16.931 0l26.964-26.964c4.675-4.675 4.675-12.256 0-16.931L587.897 256z"],users:[640,512,[],"f0c0","M320 64c57.99 0 105 47.01 105 105s-47.01 105-105 105-105-47.01-105-105S262.01 64 320 64zm113.463 217.366l-39.982-9.996c-49.168 35.365-108.766 27.473-146.961 0l-39.982 9.996C174.485 289.379 152 318.177 152 351.216V412c0 19.882 16.118 36 36 36h264c19.882 0 36-16.118 36-36v-60.784c0-33.039-22.485-61.837-54.537-69.85zM528 300c38.66 0 70-31.34 70-70s-31.34-70-70-70-70 31.34-70 70 31.34 70 70 70zm-416 0c38.66 0 70-31.34 70-70s-31.34-70-70-70-70 31.34-70 70 31.34 70 70 70zm24 112v-60.784c0-16.551 4.593-32.204 12.703-45.599-29.988 14.72-63.336 8.708-85.69-7.37l-26.655 6.664C14.99 310.252 0 329.452 0 351.477V392c0 13.255 10.745 24 24 24h112.169a52.417 52.417 0 0 1-.169-4zm467.642-107.09l-26.655-6.664c-27.925 20.086-60.89 19.233-85.786 7.218C499.369 318.893 504 334.601 504 351.216V412c0 1.347-.068 2.678-.169 4H616c13.255 0 24-10.745 24-24v-40.523c0-22.025-14.99-41.225-36.358-46.567z"],"utensil-spoon":[512,512,[],"f2e5","M480.1 31.9c-55-55.1-164.9-34.5-227.8 28.5-49.3 49.3-55.1 110-28.8 160.4L9 413.2c-11.6 10.5-12.1 28.5-1 39.5L59.3 504c11 11 29.1 10.5 39.5-1.1l192.4-214.4c50.4 26.3 111.1 20.5 160.4-28.8 63-62.9 83.6-172.8 28.5-227.8z"],utensils:[416,512,[],"f2e7","M207.9 15.2c.8 4.7 16.1 94.5 16.1 128.8 0 52.3-27.8 89.6-68.9 104.6L168 486.7c.7 13.7-10.2 25.3-24 25.3H80c-13.7 0-24.7-11.5-24-25.3l12.9-238.1C27.7 233.6 0 196.2 0 144 0 109.6 15.3 19.9 16.1 15.2 19.3-5.1 61.4-5.4 64 16.3v141.2c1.3 3.4 15.1 3.2 16 0 1.4-25.3 7.9-139.2 8-141.8 3.3-20.8 44.7-20.8 47.9 0 .2 2.7 6.6 116.5 8 141.8.9 3.2 14.8 3.4 16 0V16.3c2.6-21.6 44.8-21.4 48-1.1zm119.2 285.7l-15 185.1c-1.2 14 9.9 26 23.9 26h56c13.3 0 24-10.7 24-24V24c0-13.2-10.7-24-24-24-82.5 0-221.4 178.5-64.9 300.9z"],venus:[288,512,[],"f221","M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80z"],"venus-double":[512,512,[],"f226","M288 176c0-79.5-64.5-144-144-144S0 96.5 0 176c0 68.5 47.9 125.9 112 140.4V368H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.5 112-71.9 112-140.4zm-224 0c0-44.1 35.9-80 80-80s80 35.9 80 80-35.9 80-80 80-80-35.9-80-80zm336 140.4V368h36c6.6 0 12 5.4 12 12v40c0 6.6-5.4 12-12 12h-36v36c0 6.6-5.4 12-12 12h-40c-6.6 0-12-5.4-12-12v-36h-36c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h36v-51.6c-21.2-4.8-40.6-14.3-57.2-27.3 14-16.7 25-36 32.1-57.1 14.5 14.8 34.7 24 57.1 24 44.1 0 80-35.9 80-80s-35.9-80-80-80c-22.3 0-42.6 9.2-57.1 24-7.1-21.1-18-40.4-32.1-57.1C303.4 43.6 334.3 32 368 32c79.5 0 144 64.5 144 144 0 68.5-47.9 125.9-112 140.4z"],"venus-mars":[576,512,[],"f228","M564 0h-79c-10.7 0-16 12.9-8.5 20.5l16.9 16.9-48.7 48.7C422.5 72.1 396.2 64 368 64c-33.7 0-64.6 11.6-89.2 30.9 14 16.7 25 36 32.1 57.1 14.5-14.8 34.7-24 57.1-24 44.1 0 80 35.9 80 80s-35.9 80-80 80c-22.3 0-42.6-9.2-57.1-24-7.1 21.1-18 40.4-32.1 57.1 24.5 19.4 55.5 30.9 89.2 30.9 79.5 0 144-64.5 144-144 0-28.2-8.1-54.5-22.1-76.7l48.7-48.7 16.9 16.9c2.4 2.4 5.4 3.5 8.4 3.5 6.2 0 12.1-4.8 12.1-12V12c0-6.6-5.4-12-12-12zM144 64C64.5 64 0 128.5 0 208c0 68.5 47.9 125.9 112 140.4V400H76c-6.6 0-12 5.4-12 12v40c0 6.6 5.4 12 12 12h36v36c0 6.6 5.4 12 12 12h40c6.6 0 12-5.4 12-12v-36h36c6.6 0 12-5.4 12-12v-40c0-6.6-5.4-12-12-12h-36v-51.6c64.1-14.6 112-71.9 112-140.4 0-79.5-64.5-144-144-144zm0 224c-44.1 0-80-35.9-80-80s35.9-80 80-80 80 35.9 80 80-35.9 80-80 80z"],video:[576,512,[],"f03d","M528 64h-12.118a48 48 0 0 0-33.941 14.059L384 176v-64c0-26.51-21.49-48-48-48H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h288c26.51 0 48-21.49 48-48v-64l97.941 97.941A48 48 0 0 0 515.882 448H528c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48z"],"volleyball-ball":[495,512,[],"f45f","M223.3 243.4c-.9-37-8.6-72.8-22.7-105.7-90.8 42.4-157.5 122.4-180.3 216.8 13.4 30.8 32.9 58.3 56.9 81.1 22.7-79.2 74.2-147.8 146.1-192.2zM186.4 109c-15-26.4-34.5-50.1-57.4-70.7C38 88.1-15.8 191.2 4 300.5c33.4-83.1 98.4-152 182.4-191.5zM374 274.1c8.6-99.8-27.3-197.5-97.5-264.4-14.7-1.7-51.6-5.5-98.9 8.5 57.3 59.3 91 138.2 93.5 222.7 32.5 17.7 67.3 29 102.9 33.2zm-124.7 9.5c-31.6 19.3-58.7 43.9-80.2 72.6 82 57.3 184.5 75.1 277.5 47.8 19.7-26.4 34.2-56.8 42.2-89.9-26.6 6.6-53.7 10.4-80.9 10.4-54.6-.1-108.9-14.1-158.6-40.9zM151 383.3c-15.2 26-25.7 54.4-32.1 84.2 37.6 23 81.7 36.5 129.1 36.5 61 0 116.7-22.1 159.9-58.6C295 461.5 204.6 420.6 151 383.3zM331.3 22.7c55.3 70.4 82.5 161.2 74.6 253.6 30.3.2 60.5-4.8 89.7-14.2 0-2 .3-4 .3-6 0-107.8-68.7-199.1-164.6-233.4z"],"volume-down":[384,512,[],"f027","M256 88.017v335.964c0 21.438-25.943 31.998-40.971 16.971L126.059 352H24c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h102.059l88.971-88.954c15.01-15.01 40.97-4.49 40.97 16.971zM384 256c0-33.717-17.186-64.35-45.972-81.944-15.079-9.214-34.775-4.463-43.992 10.616s-4.464 34.775 10.615 43.992C314.263 234.538 320 244.757 320 256a32.056 32.056 0 0 1-13.802 26.332c-14.524 10.069-18.136 30.006-8.067 44.53 10.07 14.525 30.008 18.136 44.53 8.067C368.546 316.983 384 287.478 384 256z"],"volume-off":[256,512,[],"f026","M256 88.017v335.964c0 21.438-25.943 31.998-40.971 16.971L126.059 352H24c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h102.059l88.971-88.954c15.01-15.01 40.97-4.49 40.97 16.971z"],"volume-up":[576,512,[],"f028","M256 88.017v335.964c0 21.438-25.943 31.998-40.971 16.971L126.059 352H24c-13.255 0-24-10.745-24-24V184c0-13.255 10.745-24 24-24h102.059l88.971-88.954c15.01-15.01 40.97-4.49 40.97 16.971zm182.056-77.876C422.982.92 403.283 5.668 394.061 20.745c-9.221 15.077-4.473 34.774 10.604 43.995C468.967 104.063 512 174.983 512 256c0 73.431-36.077 142.292-96.507 184.206-14.522 10.072-18.129 30.01-8.057 44.532 10.076 14.528 30.016 18.126 44.531 8.057C529.633 438.927 576 350.406 576 256c0-103.244-54.579-194.877-137.944-245.859zM480 256c0-68.547-36.15-129.777-91.957-163.901-15.076-9.22-34.774-4.471-43.994 10.607-9.22 15.078-4.471 34.774 10.607 43.994C393.067 170.188 416 211.048 416 256c0 41.964-20.62 81.319-55.158 105.276-14.521 10.073-18.128 30.01-8.056 44.532 6.216 8.96 16.185 13.765 26.322 13.765a31.862 31.862 0 0 0 18.21-5.709C449.091 377.953 480 318.938 480 256zm-96 0c0-33.717-17.186-64.35-45.972-81.944-15.079-9.214-34.775-4.463-43.992 10.616s-4.464 34.775 10.615 43.992C314.263 234.538 320 244.757 320 256a32.056 32.056 0 0 1-13.802 26.332c-14.524 10.069-18.136 30.006-8.067 44.53 10.07 14.525 30.008 18.136 44.53 8.067C368.546 316.983 384 287.478 384 256z"],warehouse:[640,512,[],"f494","M504 352H136.4c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0 96H136.1c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8h368c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm0-192H136.6c-4.4 0-8 3.6-8 8l-.1 48c0 4.4 3.6 8 8 8H504c4.4 0 8-3.6 8-8v-48c0-4.4-3.6-8-8-8zm106.5-139L338.4 3.7a48.15 48.15 0 0 0-36.9 0L29.5 117C11.7 124.5 0 141.9 0 161.3V504c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V256c0-17.6 14.6-32 32.6-32h382.8c18 0 32.6 14.4 32.6 32v248c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V161.3c0-19.4-11.7-36.8-29.5-44.3z"],weight:[512,512,[],"f496","M448 64h-26c16.4 28.3 26 61 26 96 0 105.9-86.1 192-192 192S64 265.9 64 160c0-35 9.6-67.7 26-96H64C28.7 64 0 92.7 0 128v320c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64zM256 320c88.4 0 160-71.6 160-160S344.4 0 256 0 96 71.6 96 160s71.6 160 160 160zm-.3-151.9l33.6-78.4c3.5-8.2 12.9-11.9 21-8.4s11.9 12.9 8.4 21L285 180.9c6.7 7.1 10.9 16.6 10.9 27.1 0 22.1-17.9 40-40 40s-40-17.9-40-40c.1-22 17.9-39.8 39.8-39.9z"],wheelchair:[512,512,[],"f193","M496.101 385.669l14.227 28.663c3.929 7.915.697 17.516-7.218 21.445l-65.465 32.886c-16.049 7.967-35.556 1.194-43.189-15.055L331.679 320H192c-15.925 0-29.426-11.71-31.679-27.475C126.433 55.308 128.38 70.044 128 64c0-36.358 30.318-65.635 67.052-63.929 33.271 1.545 60.048 28.905 60.925 62.201.868 32.933-23.152 60.423-54.608 65.039l4.67 32.69H336c8.837 0 16 7.163 16 16v32c0 8.837-7.163 16-16 16H215.182l4.572 32H352a32 32 0 0 1 28.962 18.392L438.477 396.8l36.178-18.349c7.915-3.929 17.517-.697 21.446 7.218zM311.358 352h-24.506c-7.788 54.204-54.528 96-110.852 96-61.757 0-112-50.243-112-112 0-41.505 22.694-77.809 56.324-97.156-3.712-25.965-6.844-47.86-9.488-66.333C45.956 198.464 0 261.963 0 336c0 97.047 78.953 176 176 176 71.87 0 133.806-43.308 161.11-105.192L311.358 352z"],wifi:[640,512,[],"f1eb","M384 416c0 35.346-28.654 64-64 64s-64-28.654-64-64c0-35.346 28.654-64 64-64s64 28.654 64 64zm136.659-124.443c6.465-6.465 6.245-17.065-.564-23.167-113.793-101.985-286.526-101.869-400.19 0-6.809 6.102-7.029 16.702-.564 23.167l34.006 34.006c5.927 5.927 15.464 6.32 21.769.796 82.88-72.609 207.074-72.447 289.768 0 6.305 5.524 15.842 5.132 21.769-.796l34.006-34.006zm112.11-113.718c6.385-6.385 6.254-16.816-.35-22.973-175.768-163.86-449.134-163.8-624.837 0-6.604 6.157-6.735 16.589-.35 22.973l33.966 33.966c6.095 6.095 15.891 6.231 22.224.383 144.763-133.668 368.356-133.702 513.156 0 6.333 5.848 16.129 5.712 22.224-.383l33.967-33.966z"],"window-close":[512,512,[],"f410","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-83.6 290.5c4.8 4.8 4.8 12.6 0 17.4l-40.5 40.5c-4.8 4.8-12.6 4.8-17.4 0L256 313.3l-66.5 67.1c-4.8 4.8-12.6 4.8-17.4 0l-40.5-40.5c-4.8-4.8-4.8-12.6 0-17.4l67.1-66.5-67.1-66.5c-4.8-4.8-4.8-12.6 0-17.4l40.5-40.5c4.8-4.8 12.6-4.8 17.4 0l66.5 67.1 66.5-67.1c4.8-4.8 12.6-4.8 17.4 0l40.5 40.5c4.8 4.8 4.8 12.6 0 17.4L313.3 256l67.1 66.5z"],"window-maximize":[512,512,[],"f2d0","M464 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-16 160H64v-84c0-6.6 5.4-12 12-12h360c6.6 0 12 5.4 12 12v84z"],"window-minimize":[512,512,[],"f2d1","M464 352H48c-26.5 0-48 21.5-48 48v32c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48v-32c0-26.5-21.5-48-48-48z"],"window-restore":[512,512,[],"f2d2","M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z"],"won-sign":[576,512,[],"f159","M564 192c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-48.028l18.572-80.61c1.732-7.518-3.978-14.694-11.693-14.694h-46.107a11.998 11.998 0 0 0-11.736 9.5L450.73 128H340.839l-19.725-85.987a12 12 0 0 0-11.696-9.317H265.43a12 12 0 0 0-11.687 9.277L233.696 128H124.975L107.5 42.299a12 12 0 0 0-11.758-9.602H53.628c-7.686 0-13.39 7.124-11.709 14.624L60 128H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h62.342l7.171 32H12c-6.627 0-12 5.373-12 12v40c0 6.627 5.373 12 12 12h83.856l40.927 182.624A12 12 0 0 0 148.492 480h56.767c5.583 0 10.428-3.85 11.689-9.288L259.335 288h55.086l42.386 182.712A12 12 0 0 0 368.496 480h56.826a12 12 0 0 0 11.694-9.306L479.108 288H564c6.627 0 12-5.373 12-12v-40c0-6.627-5.373-12-12-12h-70.146l7.373-32H564zm-425.976 0h80.757l-7.457 32h-66.776l-6.524-32zm45.796 150.029c-6.194 25.831-6.758 47.25-7.321 47.25h-1.126s-1.689-22.05-6.758-47.25L157.599 288h38.812l-12.591 54.029zM274.182 224l1.996-8.602c1.856-7.962 3.457-15.968 4.803-23.398h11.794c1.347 7.43 2.947 15.436 4.803 23.398l1.996 8.602h-25.392zm130.959 118.029c-5.068 25.2-6.758 47.25-6.758 47.25h-1.126c-.563 0-1.126-21.42-7.321-47.25L377.542 288h39.107l-11.508 54.029zM430.281 224h-67.42l-7.34-32h81.577l-6.817 32z"],wrench:[512,512,[],"f0ad","M481.156 200c9.3 0 15.12 10.155 10.325 18.124C466.295 259.992 420.419 288 368 288c-79.222 0-143.501-63.974-143.997-143.079C223.505 65.469 288.548-.001 368.002 0c52.362.001 98.196 27.949 123.4 69.743C496.24 77.766 490.523 88 481.154 88H376l-40 56 40 56h105.156zm-171.649 93.003L109.255 493.255c-24.994 24.993-65.515 24.994-90.51 0-24.993-24.994-24.993-65.516 0-90.51L218.991 202.5c16.16 41.197 49.303 74.335 90.516 90.503zM104 432c0-13.255-10.745-24-24-24s-24 10.745-24 24 10.745 24 24 24 24-10.745 24-24z"],"yen-sign":[384,512,[],"f157","M351.208 32h-65.277a12 12 0 0 0-10.778 6.724l-55.39 113.163c-14.513 34.704-27.133 71.932-27.133 71.932h-1.262s-12.62-37.228-27.133-71.932l-55.39-113.163A11.997 11.997 0 0 0 98.068 32H32.792c-9.057 0-14.85 9.65-10.59 17.643L102.322 200H44c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h88.162L152 293.228V320H44c-6.627 0-12 5.373-12 12v32c0 6.627 5.373 12 12 12h108v92c0 6.627 5.373 12 12 12h56c6.627 0 12-5.373 12-12v-92h108c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12H232v-26.772L251.838 256H340c6.627 0 12-5.373 12-12v-32c0-6.627-5.373-12-12-12h-58.322l80.12-150.357C366.058 41.65 360.266 32 351.208 32z"]};!function(c){try{c()}catch(c){if(!e)throw c}}(function(){!function c(l,h){var v=Object.keys(h).reduce(function(c,l){var v=h[l];return v.icon?c[v.iconName]=v.icon:c[l]=v,c},{});"function"==typeof s.hooks.addPack?s.hooks.addPack(l,v):s.styles[l]=r({},s.styles[l]||{},v),"fas"===l&&c("fa",h)}("fas",f)})}(),function(){"use strict";var c=function(){},l={},h={},v=null,z={mark:c,measure:c};try{"undefined"!=typeof window&&(l=window),"undefined"!=typeof document&&(h=document),"undefined"!=typeof MutationObserver&&(v=MutationObserver),"undefined"!=typeof performance&&(z=performance)}catch(c){}var e=(l.navigator||{}).userAgent,a=void 0===e?"":e,m=l,t=h,s=v,r=z,f=!!m.document,M=!!t.documentElement&&!!t.head&&"function"==typeof t.addEventListener&&"function"==typeof t.createElement,i=~a.indexOf("MSIE")||~a.indexOf("Trident/"),n="___FONT_AWESOME___",H=16,o="svg-inline--fa",V="data-fa-i2svg",C="data-fa-pseudo-element",L="fontawesome-i2svg",u=function(){try{return!0}catch(c){return!1}}(),d=[1,2,3,4,5,6,7,8,9,10],p=d.concat([11,12,13,14,15,16,17,18,19,20]),b=["class","data-prefix","data-icon","data-fa-transform","data-fa-mask"],g=["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter"].concat(d.map(function(c){return c+"x"})).concat(p.map(function(c){return"w-"+c})),y=function(c,l){if(!(c instanceof l))throw new TypeError("Cannot call a class as a function")},w=function(){function c(c,l){for(var h=0;h<l.length;h++){var v=l[h];v.enumerable=v.enumerable||!1,v.configurable=!0,"value"in v&&(v.writable=!0),Object.defineProperty(c,v.key,v)}}return function(l,h,v){return h&&c(l.prototype,h),v&&c(l,v),l}}(),k=Object.assign||function(c){for(var l=1;l<arguments.length;l++){var h=arguments[l];for(var v in h)Object.prototype.hasOwnProperty.call(h,v)&&(c[v]=h[v])}return c},S=function(c){if(Array.isArray(c)){for(var l=0,h=Array(c.length);l<c.length;l++)h[l]=c[l];return h}return Array.from(c)},x=m.FontAwesomeConfig||{},A=Object.keys(x),q=k({familyPrefix:"fa",replacementClass:o,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0},x);q.autoReplaceSvg||(q.observeMutations=!1);var O=k({},q);function j(c){var l=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).asNewDefault,h=void 0!==l&&l,v=Object.keys(O),z=h?function(c){return~v.indexOf(c)&&!~A.indexOf(c)}:function(c){return~v.indexOf(c)};Object.keys(c).forEach(function(l){z(l)&&(O[l]=c[l])})}m.FontAwesomeConfig=O;var N=m||{};N[n]||(N[n]={}),N[n].styles||(N[n].styles={}),N[n].hooks||(N[n].hooks={}),N[n].shims||(N[n].shims=[]);var E=N[n],P=[],_=!1;M&&((_=(t.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(t.readyState))||t.addEventListener("DOMContentLoaded",function c(){t.removeEventListener("DOMContentLoaded",c),_=1,P.map(function(c){return c()})}));var T=function(c){M&&(_?setTimeout(c,0):P.push(c))},F=H,I={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function R(c){if(c&&M){var l=t.createElement("style");l.setAttribute("type","text/css"),l.innerHTML=c;for(var h=t.head.childNodes,v=null,z=h.length-1;z>-1;z--){var e=h[z],a=(e.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(a)>-1&&(v=e)}return t.head.insertBefore(l,v),c}}var W=0;function B(){return++W}function D(c){for(var l=[],h=(c||[]).length>>>0;h--;)l[h]=c[h];return l}function X(c){return c.classList?D(c.classList):(c.getAttribute("class")||"").split(" ").filter(function(c){return c})}function Y(c,l){var h,v=l.split("-"),z=v[0],e=v.slice(1).join("-");return z!==c||""===e||(h=e,~g.indexOf(h))?null:e}function U(c){return(""+c).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function K(c){return Object.keys(c||{}).reduce(function(l,h){return l+(h+": ")+c[h]+";"},"")}function G(c){return c.size!==I.size||c.x!==I.x||c.y!==I.y||c.rotate!==I.rotate||c.flipX||c.flipY}function J(c){var l=c.transform,h=c.containerWidth,v=c.iconWidth;return{outer:{transform:"translate("+h/2+" 256)"},inner:{transform:"translate("+32*l.x+", "+32*l.y+") "+" "+("scale("+l.size/16*(l.flipX?-1:1)+", "+l.size/16*(l.flipY?-1:1)+") ")+" "+("rotate("+l.rotate+" 0 0)")},path:{transform:"translate("+v/2*-1+" -256)"}}}var Q={x:0,y:0,width:"100%",height:"100%"},Z=function(c){var l=c.children,h=c.attributes,v=c.main,z=c.mask,e=c.transform,a=v.width,m=v.icon,t=z.width,s=z.icon,r=J({transform:e,containerWidth:t,iconWidth:a}),f={tag:"rect",attributes:k({},Q,{fill:"white"})},M={tag:"g",attributes:k({},r.inner),children:[{tag:"path",attributes:k({},m.attributes,r.path,{fill:"black"})}]},i={tag:"g",attributes:k({},r.outer),children:[M]},n="mask-"+B(),H="clip-"+B(),o={tag:"defs",children:[{tag:"clipPath",attributes:{id:H},children:[s]},{tag:"mask",attributes:k({},Q,{id:n,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[f,i]}]};return l.push(o,{tag:"rect",attributes:k({fill:"currentColor","clip-path":"url(#"+H+")",mask:"url(#"+n+")"},Q)}),{children:l,attributes:h}},$=function(c){var l=c.children,h=c.attributes,v=c.main,z=c.transform,e=K(c.styles);if(e.length>0&&(h.style=e),G(z)){var a=J({transform:z,containerWidth:v.width,iconWidth:v.width});l.push({tag:"g",attributes:k({},a.outer),children:[{tag:"g",attributes:k({},a.inner),children:[{tag:v.icon.tag,children:v.icon.children,attributes:k({},v.icon.attributes,a.path)}]}]})}else l.push(v.icon);return{children:l,attributes:h}},cc=function(c){var l=c.children,h=c.main,v=c.mask,z=c.attributes,e=c.styles,a=c.transform;if(G(a)&&h.found&&!v.found){var m=h.width/h.height/2,t=.5;z.style=K(k({},e,{"transform-origin":m+a.x/16+"em "+(t+a.y/16)+"em"}))}return[{tag:"svg",attributes:z,children:l}]},lc=function(c){var l=c.prefix,h=c.iconName,v=c.children,z=c.attributes,e=c.symbol,a=!0===e?l+"-"+O.familyPrefix+"-"+h:e;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:k({},z,{id:a}),children:v}]}]};function hc(c){var l=c.icons,h=l.main,v=l.mask,z=c.prefix,e=c.iconName,a=c.transform,m=c.symbol,t=c.title,s=c.extra,r=c.watchable,f=void 0!==r&&r,M=v.found?v:h,i=M.width,n=M.height,H="fa-w-"+Math.ceil(i/n*16),o=[O.replacementClass,e?O.familyPrefix+"-"+e:"",H].concat(s.classes).join(" "),C={children:[],attributes:k({},s.attributes,{"data-prefix":z,"data-icon":e,class:o,role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 "+i+" "+n})};f&&(C.attributes[V]=""),t&&C.children.push({tag:"title",attributes:{id:C.attributes["aria-labelledby"]||"title-"+B()},children:[t]});var L=k({},C,{prefix:z,iconName:e,main:h,mask:v,transform:a,symbol:m,styles:s.styles}),u=v.found&&h.found?Z(L):$(L),d=u.children,p=u.attributes;return L.children=d,L.attributes=p,m?lc(L):cc(L)}function vc(c){var l=c.content,h=c.width,v=c.height,z=c.transform,e=c.title,a=c.extra,m=c.watchable,t=void 0!==m&&m,s=k({},a.attributes,e?{title:e}:{},{class:a.classes.join(" ")});t&&(s[V]="");var r,f,M,n,o,C,L,u,d,p=k({},a.styles);G(z)&&(p.transform=(f=(r={transform:z,startCentered:!0,width:h,height:v}).transform,M=r.width,n=void 0===M?H:M,o=r.height,C=void 0===o?H:o,L=r.startCentered,d="",d+=(u=void 0!==L&&L)&&i?"translate("+(f.x/F-n/2)+"em, "+(f.y/F-C/2)+"em) ":u?"translate(calc(-50% + "+f.x/F+"em), calc(-50% + "+f.y/F+"em)) ":"translate("+f.x/F+"em, "+f.y/F+"em) ",d+="scale("+f.size/F*(f.flipX?-1:1)+", "+f.size/F*(f.flipY?-1:1)+") ",d+="rotate("+f.rotate+"deg) "),p["-webkit-transform"]=p.transform);var b=K(p);b.length>0&&(s.style=b);var g=[];return g.push({tag:"span",attributes:s,children:[l]}),e&&g.push({tag:"span",attributes:{class:"sr-only"},children:[e]}),g}var zc=function(){},ec=O.measurePerformance&&r&&r.mark&&r.measure?r:{mark:zc,measure:zc},ac='FA "5.0.7"',mc=function(c){ec.mark(ac+" "+c+" ends"),ec.measure(ac+" "+c,ac+" "+c+" begins",ac+" "+c+" ends")},tc={begin:function(c){return ec.mark(ac+" "+c+" begins"),function(){return mc(c)}},end:mc},sc=function(c,l,h,v){var z,e,a,m,t,s=Object.keys(c),r=s.length,f=void 0!==v?(m=l,t=v,function(c,l,h,v){return m.call(t,c,l,h,v)}):l;for(void 0===h?(z=1,a=c[s[0]]):(z=0,a=h);z<r;z++)a=f(a,c[e=s[z]],e,c);return a},rc=E.styles,fc=E.shims,Mc={},ic={},nc={},Hc=function(){var c=function(c){return sc(rc,function(l,h,v){return l[v]=sc(h,c,{}),l},{})};Mc=c(function(c,l,h){return c[l[3]]=h,c}),ic=c(function(c,l,h){var v=l[2];return c[h]=h,v.forEach(function(l){c[l]=h}),c});var l="far"in rc;nc=sc(fc,function(c,h){var v=h[0],z=h[1],e=h[2];return"far"!==z||l||(z="fas"),c[v]={prefix:z,iconName:e},c},{})};Hc();var oc=E.styles,Vc=function(){return{prefix:null,iconName:null,rest:[]}};function Cc(c){return c.reduce(function(c,l){var h=Y(O.familyPrefix,l);if(oc[l])c.prefix=l;else if(h){var v="fa"===c.prefix?nc[h]||{prefix:null,iconName:null}:{};c.iconName=v.iconName||h,c.prefix=v.prefix||c.prefix}else l!==O.replacementClass&&0!==l.indexOf("fa-w-")&&c.rest.push(l);return c},Vc())}function Lc(c,l,h){if(c&&c[l]&&c[l][h])return{prefix:l,iconName:h,icon:c[l][h]}}function uc(c){var l,h=c.tag,v=c.attributes,z=void 0===v?{}:v,e=c.children,a=void 0===e?[]:e;return"string"==typeof c?U(c):"<"+h+" "+(l=z,Object.keys(l||{}).reduce(function(c,h){return c+(h+'="')+U(l[h])+'" '},"").trim())+">"+a.map(uc).join("")+"</"+h+">"}var dc=function(){};function pc(c){return"string"==typeof(c.getAttribute?c.getAttribute(V):null)}var bc={replace:function(c){var l=c[0],h=c[1].map(function(c){return uc(c)}).join("\n");if(l.parentNode&&l.outerHTML)l.outerHTML=h+(O.keepOriginalSource&&"svg"!==l.tagName.toLowerCase()?"\x3c!-- "+l.outerHTML+" --\x3e":"");else if(l.parentNode){var v=document.createElement("span");l.parentNode.replaceChild(v,l),v.outerHTML=h}},nest:function(c){var l=c[0],h=c[1];if(~X(l).indexOf(O.replacementClass))return bc.replace(c);var v=new RegExp(O.familyPrefix+"-.*");delete h[0].attributes.style;var z=h[0].attributes.class.split(" ").reduce(function(c,l){return l===O.replacementClass||l.match(v)?c.toSvg.push(l):c.toNode.push(l),c},{toNode:[],toSvg:[]});h[0].attributes.class=z.toSvg.join(" ");var e=h.map(function(c){return uc(c)}).join("\n");l.setAttribute("class",z.toNode.join(" ")),l.setAttribute(V,""),l.innerHTML=e}};function gc(c,l){var h="function"==typeof l?l:dc;0===c.length?h():(m.requestAnimationFrame||function(c){return c()})(function(){var l=!0===O.autoReplaceSvg?bc.replace:bc[O.autoReplaceSvg]||bc.replace,v=tc.begin("mutate");c.map(l),v(),h()})}var yc=!1;var wc=null;var kc=function(c){var l=c.getAttribute("style"),h=[];return l&&(h=l.split(";").reduce(function(c,l){var h=l.split(":"),v=h[0],z=h.slice(1);return v&&z.length>0&&(c[v]=z.join(":").trim()),c},{})),h};var Sc=function(c){var l,h,v,z,e=c.getAttribute("data-prefix"),a=c.getAttribute("data-icon"),m=void 0!==c.innerText?c.innerText.trim():"",t=Cc(X(c));return e&&a&&(t.prefix=e,t.iconName=a),t.prefix&&m.length>1?t.iconName=(v=t.prefix,z=c.innerText,ic[v][z]):t.prefix&&1===m.length&&(t.iconName=(l=t.prefix,h=function(c){for(var l="",h=0;h<c.length;h++)l+=("000"+c.charCodeAt(h).toString(16)).slice(-4);return l}(c.innerText),Mc[l][h])),t},xc=function(c){var l={size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0};return c?c.toLowerCase().split(" ").reduce(function(c,l){var h=l.toLowerCase().split("-"),v=h[0],z=h.slice(1).join("-");if(v&&"h"===z)return c.flipX=!0,c;if(v&&"v"===z)return c.flipY=!0,c;if(z=parseFloat(z),isNaN(z))return c;switch(v){case"grow":c.size=c.size+z;break;case"shrink":c.size=c.size-z;break;case"left":c.x=c.x-z;break;case"right":c.x=c.x+z;break;case"up":c.y=c.y-z;break;case"down":c.y=c.y+z;break;case"rotate":c.rotate=c.rotate+z}return c},l):l},Ac=function(c){return xc(c.getAttribute("data-fa-transform"))},qc=function(c){var l=c.getAttribute("data-fa-symbol");return null!==l&&(""===l||l)},Oc=function(c){var l=D(c.attributes).reduce(function(c,l){return"class"!==c.name&&"style"!==c.name&&(c[l.name]=l.value),c},{}),h=c.getAttribute("title");return O.autoA11y&&(h?l["aria-labelledby"]=O.replacementClass+"-title-"+B():l["aria-hidden"]="true"),l},jc=function(c){var l=c.getAttribute("data-fa-mask");return l?Cc(l.split(" ").map(function(c){return c.trim()})):Vc()};function Nc(c){this.name="MissingIcon",this.message=c||"Icon unavailable",this.stack=(new Error).stack}(Nc.prototype=Object.create(Error.prototype)).constructor=Nc;var Ec={fill:"currentColor"},Pc={attributeType:"XML",repeatCount:"indefinite",dur:"2s"},_c={tag:"path",attributes:k({},Ec,{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})},Tc=k({},Pc,{attributeName:"opacity"}),Fc={tag:"g",children:[_c,{tag:"circle",attributes:k({},Ec,{cx:"256",cy:"364",r:"28"}),children:[{tag:"animate",attributes:k({},Pc,{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:k({},Tc,{values:"1;0;1;1;0;1;"})}]},{tag:"path",attributes:k({},Ec,{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:[{tag:"animate",attributes:k({},Tc,{values:"1;0;0;0;0;1;"})}]},{tag:"path",attributes:k({},Ec,{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:k({},Tc,{values:"0;0;1;1;0;0;"})}]}]},Ic=E.styles,Rc="fa-layers-text",Wc=/Font Awesome 5 (Solid|Regular|Light|Brands)/,Bc={Solid:"fas",Regular:"far",Light:"fal",Brands:"fab"};function Dc(c,l){var h={found:!1,width:512,height:512,icon:Fc};if(c&&l&&Ic[l]&&Ic[l][c]){var v=Ic[l][c];h={found:!0,width:v[0],height:v[1],icon:{tag:"path",attributes:{fill:"currentColor",d:v.slice(4)[0]}}}}else if(c&&l&&!O.showMissingIcons)throw new Nc("Icon is missing for prefix "+l+" with icon name "+c);return h}function Xc(c){var l,h,v,z,e,a,m,t,s,r,f,M,n,H,o,V,C,L,u,d=(h=Sc(l=c),v=h.iconName,z=h.prefix,e=h.rest,a=kc(l),m=Ac(l),t=qc(l),s=Oc(l),r=jc(l),{iconName:v,title:l.getAttribute("title"),prefix:z,transform:m,symbol:t,mask:r,extra:{classes:e,styles:a,attributes:s}});return~d.extra.classes.indexOf(Rc)?function(c,l){var h=l.title,v=l.transform,z=l.extra,e=null,a=null;if(i){var m=parseInt(getComputedStyle(c).fontSize,10),t=c.getBoundingClientRect();e=t.width/m,a=t.height/m}return O.autoA11y&&!h&&(z.attributes["aria-hidden"]="true"),[c,vc({content:c.innerHTML,width:e,height:a,transform:v,title:h,extra:z,watchable:!0})]}(c,d):(f=c,n=(M=d).iconName,H=M.title,o=M.prefix,V=M.transform,C=M.symbol,L=M.mask,u=M.extra,[f,hc({icons:{main:Dc(n,o),mask:Dc(L.iconName,L.prefix)},prefix:o,iconName:n,transform:V,symbol:C,mask:L,title:H,extra:u,watchable:!0})])}function Yc(c){"function"==typeof c.remove?c.remove():c&&c.parentNode&&c.parentNode.removeChild(c)}function Uc(c){if(M){var l=tc.begin("searchPseudoElements");yc=!0,function(){D(c.querySelectorAll("*")).forEach(function(c){[":before",":after"].forEach(function(l){var h=m.getComputedStyle(c,l),v=h.getPropertyValue("font-family").match(Wc),z=D(c.children).filter(function(c){return c.getAttribute(C)===l})[0];if(z&&(z.nextSibling&&z.nextSibling.textContent.indexOf(C)>-1&&Yc(z.nextSibling),Yc(z),z=null),v&&!z){var e=h.getPropertyValue("content"),a=t.createElement("i");a.setAttribute("class",""+Bc[v[1]]),a.setAttribute(C,l),a.innerText=3===e.length?e.substr(1,1):e,":before"===l?c.insertBefore(a,c.firstChild):c.appendChild(a)}})})}(),yc=!1,l()}}function Kc(c){var l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(M){var h=t.documentElement.classList,v=function(c){return h.add(L+"-"+c)},z=function(c){return h.remove(L+"-"+c)},e=Object.keys(Ic),a=["."+Rc+":not(["+V+"])"].concat(e.map(function(c){return"."+c+":not(["+V+"])"})).join(", ");if(0!==a.length){var m=D(c.querySelectorAll(a));if(m.length>0){v("pending"),z("complete");var s=tc.begin("onTree"),r=m.reduce(function(c,l){try{var h=Xc(l);h&&c.push(h)}catch(c){u||c instanceof Nc&&console.error(c)}return c},[]);s(),gc(r,function(){v("active"),v("complete"),z("pending"),"function"==typeof l&&l()})}}}}function Gc(c){var l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,h=Xc(c);h&&gc([h],l)}var Jc=function(){var c=o,l=O.familyPrefix,h=O.replacementClass,v="svg:not(:root).svg-inline--fa{overflow:visible}.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-lg{vertical-align:-.225em}.svg-inline--fa.fa-w-1{width:.0625em}.svg-inline--fa.fa-w-2{width:.125em}.svg-inline--fa.fa-w-3{width:.1875em}.svg-inline--fa.fa-w-4{width:.25em}.svg-inline--fa.fa-w-5{width:.3125em}.svg-inline--fa.fa-w-6{width:.375em}.svg-inline--fa.fa-w-7{width:.4375em}.svg-inline--fa.fa-w-8{width:.5em}.svg-inline--fa.fa-w-9{width:.5625em}.svg-inline--fa.fa-w-10{width:.625em}.svg-inline--fa.fa-w-11{width:.6875em}.svg-inline--fa.fa-w-12{width:.75em}.svg-inline--fa.fa-w-13{width:.8125em}.svg-inline--fa.fa-w-14{width:.875em}.svg-inline--fa.fa-w-15{width:.9375em}.svg-inline--fa.fa-w-16{width:1em}.svg-inline--fa.fa-w-17{width:1.0625em}.svg-inline--fa.fa-w-18{width:1.125em}.svg-inline--fa.fa-w-19{width:1.1875em}.svg-inline--fa.fa-w-20{width:1.25em}.svg-inline--fa.fa-pull-left{margin-right:.3em;width:auto}.svg-inline--fa.fa-pull-right{margin-left:.3em;width:auto}.svg-inline--fa.fa-border{height:1.5em}.svg-inline--fa.fa-li{width:2em}.svg-inline--fa.fa-fw{width:1.25em}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:#ff253a;border-radius:1em;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:0;text-overflow:ellipsis;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:0;right:0;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:0;left:0;right:auto;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{right:0;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:0;right:auto;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top left;transform-origin:top left}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1em}.svg-inline--fa.fa-stack-2x{height:2em;width:2em}.fa-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}";if("fa"!==l||h!==c){var z=new RegExp("\\.fa\\-","g"),e=new RegExp("\\."+c,"g");v=v.replace(z,"."+l+"-").replace(e,"."+h)}return v};var Qc=function(){function c(){y(this,c),this.definitions={}}return w(c,[{key:"add",value:function(){for(var c=this,l=arguments.length,h=Array(l),v=0;v<l;v++)h[v]=arguments[v];var z=h.reduce(this._pullDefinitions,{});Object.keys(z).forEach(function(l){c.definitions[l]=k({},c.definitions[l]||{},z[l]),function c(l,h){var v=Object.keys(h).reduce(function(c,l){var v=h[l];return v.icon?c[v.iconName]=v.icon:c[l]=v,c},{});"function"==typeof E.hooks.addPack?E.hooks.addPack(l,v):E.styles[l]=k({},E.styles[l]||{},v),"fas"===l&&c("fa",h)}(l,z[l])})}},{key:"reset",value:function(){this.definitions={}}},{key:"_pullDefinitions",value:function(c,l){var h=l.prefix&&l.iconName&&l.icon?{0:l}:l;return Object.keys(h).map(function(l){var v=h[l],z=v.prefix,e=v.iconName,a=v.icon;c[z]||(c[z]={}),c[z][e]=a}),c}}]),c}();function Zc(c){return{found:!0,width:c[0],height:c[1],icon:{tag:"path",attributes:{fill:"currentColor",d:c.slice(4)[0]}}}}var $c=!1;function cl(){O.autoAddCss&&($c||R(Jc()),$c=!0)}function ll(c,l){return Object.defineProperty(c,"abstract",{get:l}),Object.defineProperty(c,"html",{get:function(){return c.abstract.map(function(c){return uc(c)})}}),Object.defineProperty(c,"node",{get:function(){if(M){var l=t.createElement("div");return l.innerHTML=c.html,l.children}}}),c}function hl(c){var l=c.prefix,h=void 0===l?"fa":l,v=c.iconName;if(v)return Lc(zl.definitions,h,v)||Lc(E.styles,h,v)}var vl,zl=new Qc,el=(vl=function(c){var l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},h=l.transform,v=void 0===h?I:h,z=l.symbol,e=void 0!==z&&z,a=l.mask,m=void 0===a?null:a,t=l.title,s=void 0===t?null:t,r=l.classes,f=void 0===r?[]:r,M=l.attributes,i=void 0===M?{}:M,n=l.styles,H=void 0===n?{}:n;if(c){var o=c.prefix,V=c.iconName,C=c.icon;return ll(k({type:"icon"},c),function(){return cl(),O.autoA11y&&(s?i["aria-labelledby"]=O.replacementClass+"-title-"+B():i["aria-hidden"]="true"),hc({icons:{main:Zc(C),mask:m?Zc(m.icon):{found:!1,width:null,height:null,icon:{}}},prefix:o,iconName:V,transform:k({},I,v),symbol:e,title:s,extra:{attributes:i,styles:H,classes:f}})})}},function(c){var l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},h=(c||{}).icon?c:hl(c||{}),v=l.mask;return v&&(v=(v||{}).icon?v:hl(v||{})),vl(h,k({},l,{mask:v}))}),al={noAuto:function(){var c;j({autoReplaceSvg:c=!1,observeMutations:c}),wc&&wc.disconnect()},dom:{i2svg:function(){var c=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(M){cl();var l=c.node,h=void 0===l?t:l,v=c.callback,z=void 0===v?function(){}:v;O.searchPseudoElements&&Uc(h),Kc(h,z)}},css:Jc,insertCss:function(){R(Jc())}},library:zl,parse:{transform:function(c){return xc(c)}},findIconDefinition:hl,icon:el,text:function(c){var l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},h=l.transform,v=void 0===h?I:h,z=l.title,e=void 0===z?null:z,a=l.classes,m=void 0===a?[]:a,t=l.attributes,s=void 0===t?{}:t,r=l.styles,f=void 0===r?{}:r;return ll({type:"text",content:c},function(){return cl(),vc({content:c,transform:k({},I,v),title:e,extra:{attributes:s,styles:f,classes:[O.familyPrefix+"-layers-text"].concat(S(m))}})})},layer:function(c){return ll({type:"layer"},function(){cl();var l=[];return c(function(c){Array.isArray(c)?c.map(function(c){l=l.concat(c.abstract)}):l=l.concat(c.abstract)}),[{tag:"span",attributes:{class:O.familyPrefix+"-layers"},children:l}]})}},ml=function(){M&&O.autoReplaceSvg&&al.dom.i2svg({node:t})};Object.defineProperty(al,"config",{get:function(){return O},set:function(c){j(c)}}),function(c){try{c()}catch(c){if(!u)throw c}}(function(){f&&(m.FontAwesome||(m.FontAwesome=al),T(function(){Object.keys(E.styles).length>0&&ml(),O.observeMutations&&"function"==typeof MutationObserver&&function(c){if(s){var l=c.treeCallback,h=c.nodeCallback,v=c.pseudoElementsCallback;wc=new s(function(c){yc||D(c).forEach(function(c){if("childList"===c.type&&c.addedNodes.length>0&&!pc(c.addedNodes[0])&&(O.searchPseudoElements&&v(c.target),l(c.target)),"attributes"===c.type&&c.target.parentNode&&O.searchPseudoElements&&v(c.target.parentNode),"attributes"===c.type&&pc(c.target)&&~b.indexOf(c.attributeName))if("class"===c.attributeName){var z=Cc(X(c.target)),e=z.prefix,a=z.iconName;e&&c.target.setAttribute("data-prefix",e),a&&c.target.setAttribute("data-icon",a)}else h(c.target)})}),M&&wc.observe(t.getElementsByTagName("body")[0],{childList:!0,attributes:!0,characterData:!0,subtree:!0})}}({treeCallback:Kc,nodeCallback:Gc,pseudoElementsCallback:Uc})})),E.hooks=k({},E.hooks,{addPack:function(c,l){E.styles[c]=k({},E.styles[c]||{},l),Hc(),ml()},addShims:function(c){var l;(l=E.shims).push.apply(l,S(c)),Hc(),ml()}})})}(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/com/fontawesome.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/jquery.cookie.js =================================================================== --- base3.10/src/main/webapp/js/com/jquery.cookie.js (nonexistent) +++ base3.10/src/main/webapp/js/com/jquery.cookie.js (revision 7) @@ -0,0 +1,117 @@ +/*! + * jQuery Cookie Plugin v1.4.1 + * https://github.com/carhartl/jquery-cookie + * + * Copyright 2013 Klaus Hartl + * Released under the MIT license + */ +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD + define(['jquery'], factory); + } else if (typeof exports === 'object') { + // CommonJS + factory(require('jquery')); + } else { + // Browser globals + factory(jQuery); + } +}(function ($) { + + var pluses = /\+/g; + + function encode(s) { + return config.raw ? s : encodeURIComponent(s); + } + + function decode(s) { + return config.raw ? s : decodeURIComponent(s); + } + + function stringifyCookieValue(value) { + return encode(config.json ? JSON.stringify(value) : String(value)); + } + + function parseCookieValue(s) { + if (s.indexOf('"') === 0) { + // This is a quoted cookie as according to RFC2068, unescape... + s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); + } + + try { + // Replace server-side written pluses with spaces. + // If we can't decode the cookie, ignore it, it's unusable. + // If we can't parse the cookie, ignore it, it's unusable. + s = decodeURIComponent(s.replace(pluses, ' ')); + return config.json ? JSON.parse(s) : s; + } catch(e) {} + } + + function read(s, converter) { + var value = config.raw ? s : parseCookieValue(s); + return $.isFunction(converter) ? converter(value) : value; + } + + var config = $.cookie = function (key, value, options) { + + // Write + + if (value !== undefined && !$.isFunction(value)) { + options = $.extend({}, config.defaults, options); + + if (typeof options.expires === 'number') { + var days = options.expires, t = options.expires = new Date(); + t.setTime(+t + days * 864e+5); + } + + return (document.cookie = [ + encode(key), '=', stringifyCookieValue(value), + options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE + options.path ? '; path=' + options.path : '', + options.domain ? '; domain=' + options.domain : '', + options.secure ? '; secure' : '' + ].join('')); + } + + // Read + + var result = key ? undefined : {}; + + // To prevent the for loop in the first place assign an empty array + // in case there are no cookies at all. Also prevents odd result when + // calling $.cookie(). + var cookies = document.cookie ? document.cookie.split('; ') : []; + + for (var i = 0, l = cookies.length; i < l; i++) { + var parts = cookies[i].split('='); + var name = decode(parts.shift()); + var cookie = parts.join('='); + + if (key && key === name) { + // If second argument (value) is a function it's a converter... + result = read(cookie, value); + break; + } + + // Prevent storing a cookie that we couldn't decode. + if (!key && (cookie = read(cookie)) !== undefined) { + result[name] = cookie; + } + } + + return result; + }; + + config.defaults = {}; + + $.removeCookie = function (key, options) { + if ($.cookie(key) === undefined) { + return false; + } + + // Must not alter options, thus extending a fresh object... + $.cookie(key, '', $.extend({}, options, { expires: -1 })); + return !$.cookie(key); + }; + +})); Property changes on: base3.10/src/main/webapp/js/com/jquery.cookie.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/jquery.blockUI.js =================================================================== --- base3.10/src/main/webapp/js/com/jquery.blockUI.js (nonexistent) +++ base3.10/src/main/webapp/js/com/jquery.blockUI.js (revision 7) @@ -0,0 +1,621 @@ +/*! + * jQuery blockUI plugin + * Version 2.66.0-2013.10.09 + * Requires jQuery v1.7 or later + * + * Examples at: http://malsup.com/jquery/block/ + * Copyright (c) 2007-2013 M. Alsup + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + * + * Thanks to Amir-Hossein Sobhi for some excellent contributions! + */ + +;(function() { +/*jshint eqeqeq:false curly:false latedef:false */ +"use strict"; + + function setup($) { + $.fn._fadeIn = $.fn.fadeIn; + + var noOp = $.noop || function() {}; + + // this bit is to ensure we don't call setExpression when we shouldn't (with extra muscle to handle + // confusing userAgent strings on Vista) + var msie = /MSIE/.test(navigator.userAgent); + var ie6 = /MSIE 6.0/.test(navigator.userAgent) && ! /MSIE 8.0/.test(navigator.userAgent); + var mode = document.documentMode || 0; + var setExpr = $.isFunction( document.createElement('div').style.setExpression ); + + // global $ methods for blocking/unblocking the entire page + $.blockUI = function(opts) { install(window, opts); }; + $.unblockUI = function(opts) { remove(window, opts); }; + + // convenience method for quick growl-like notifications (http://www.google.com/search?q=growl) + $.growlUI = function(title, message, timeout, onClose) { + var $m = $('<div class="growlUI"></div>'); + if (title) $m.append('<h1>'+title+'</h1>'); + if (message) $m.append('<h2>'+message+'</h2>'); + if (timeout === undefined) timeout = 3000; + + // Added by konapun: Set timeout to 30 seconds if this growl is moused over, like normal toast notifications + var callBlock = function(opts) { + opts = opts || {}; + + $.blockUI({ + message: $m, + fadeIn : typeof opts.fadeIn !== 'undefined' ? opts.fadeIn : 700, + fadeOut: typeof opts.fadeOut !== 'undefined' ? opts.fadeOut : 1000, + timeout: typeof opts.timeout !== 'undefined' ? opts.timeout : timeout, + centerY: false, + showOverlay: false, + onUnblock: onClose, + css: $.blockUI.defaults.growlCSS + }); + }; + + callBlock(); + var nonmousedOpacity = $m.css('opacity'); + $m.mouseover(function() { + callBlock({ + fadeIn: 0, + timeout: 30000 + }); + + var displayBlock = $('.blockMsg'); + displayBlock.stop(); // cancel fadeout if it has started + displayBlock.fadeTo(300, 1); // make it easier to read the message by removing transparency + }).mouseout(function() { + $('.blockMsg').fadeOut(1000); + }); + // End konapun additions + }; + + // plugin method for blocking element content + $.fn.block = function(opts) { + if ( this[0] === window ) { + $.blockUI( opts ); + return this; + } + var fullOpts = $.extend({}, $.blockUI.defaults, opts || {}); + this.each(function() { + var $el = $(this); + if (fullOpts.ignoreIfBlocked && $el.data('blockUI.isBlocked')) + return; + $el.unblock({ fadeOut: 0 }); + }); + + return this.each(function() { + if ($.css(this,'position') == 'static') { + this.style.position = 'relative'; + $(this).data('blockUI.static', true); + } + this.style.zoom = 1; // force 'hasLayout' in ie + install(this, opts); + }); + }; + + // plugin method for unblocking element content + $.fn.unblock = function(opts) { + if ( this[0] === window ) { + $.unblockUI( opts ); + return this; + } + return this.each(function() { + remove(this, opts); + }); + }; + + $.blockUI.version = 2.66; // 2nd generation blocking at no extra cost! + + // override these in your code to change the default behavior and style + $.blockUI.defaults = { + // message displayed when blocking (use null for no message) + //message: '<h1>Please wait...</h1>', +// message: '<i class="fa fa-refresh fa-spin" style="font-size:600%"></i>', + message: '<img src="' + CONTEXT_PATH + '/images/custom/loading.svg" style="width:80px; height:auto;"/>', + + title: null, // title string; only used when theme == true + draggable: true, // only used when theme == true (requires jquery-ui.js to be loaded) + + theme: false, // set to true to use with jQuery UI themes + + // styles for the message when blocking; if you wish to disable + // these and use an external stylesheet then do this in your code: + // $.blockUI.defaults.css = {}; + css: { + padding: 0, + margin: 0, + width: '30%', + top: '40%', + left: '35%', + textAlign: 'center', + color: '#000', + backgroundColor : 'rgba(0,0,0,0,0)', + border : '0px solid #a00', + cursor: 'wait' + }, + + // minimal style set used when themes are used + themedCSS: { + width: '30%', + top: '40%', + left: '35%' + }, + + // styles for the overlay + overlayCSS: { + backgroundColor: '#000', + opacity: 0.6, + cursor: 'wait' + }, + + // style to replace wait cursor before unblocking to correct issue + // of lingering wait cursor + cursorReset: 'default', + + // styles applied when using $.growlUI + growlCSS: { + width: '350px', + top: '10px', + left: '', + right: '10px', + border: 'none', + padding: '5px', + opacity: 0.6, + cursor: 'default', + color: '#fff', + backgroundColor: '#000', + '-webkit-border-radius':'10px', + '-moz-border-radius': '10px', + 'border-radius': '10px' + }, + + // IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w + // (hat tip to Jorge H. N. de Vasconcelos) + /*jshint scripturl:true */ + iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank', + + // force usage of iframe in non-IE browsers (handy for blocking applets) + forceIframe: false, + + // z-index for the blocking overlay + baseZ: 99999, + + // set these to true to have the message automatically centered + centerX: true, // <-- only effects element blocking (page block controlled via css above) + centerY: true, + + // allow body element to be stetched in ie6; this makes blocking look better + // on "short" pages. disable if you wish to prevent changes to the body height + allowBodyStretch: true, + + // enable if you want key and mouse events to be disabled for content that is blocked + bindEvents: true, + + // be default blockUI will supress tab navigation from leaving blocking content + // (if bindEvents is true) + constrainTabKey: true, + + // fadeIn time in millis; set to 0 to disable fadeIn on block + fadeIn: 200, + + // fadeOut time in millis; set to 0 to disable fadeOut on unblock + fadeOut: 400, + + // time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock + timeout: 0, + + // disable if you don't want to show the overlay + showOverlay: true, + + // if true, focus will be placed in the first available input field when + // page blocking + focusInput: true, + + // elements that can receive focus + focusableElements: ':input:enabled:visible', + + // suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity) + // no longer needed in 2012 + // applyPlatformOpacityRules: true, + + // callback method invoked when fadeIn has completed and blocking message is visible + onBlock: null, + + // callback method invoked when unblocking has completed; the callback is + // passed the element that has been unblocked (which is the window object for page + // blocks) and the options that were passed to the unblock call: + // onUnblock(element, options) + onUnblock: null, + + // callback method invoked when the overlay area is clicked. + // setting this will turn the cursor to a pointer, otherwise cursor defined in overlayCss will be used. + onOverlayClick: null, + + // don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493 + quirksmodeOffsetHack: 4, + + // class name of the message block + blockMsgClass: 'blockMsg', + + // if it is already blocked, then ignore it (don't unblock and reblock) + ignoreIfBlocked: false + }; + + // private data and functions follow... + + var pageBlock = null; + var pageBlockEls = []; + + function install(el, opts) { + var css, themedCSS; + var full = (el == window); + var msg = (opts && opts.message !== undefined ? opts.message : undefined); + opts = $.extend({}, $.blockUI.defaults, opts || {}); + + if (opts.ignoreIfBlocked && $(el).data('blockUI.isBlocked')) + return; + + opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {}); + css = $.extend({}, $.blockUI.defaults.css, opts.css || {}); + if (opts.onOverlayClick) + opts.overlayCSS.cursor = 'pointer'; + + themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {}); + msg = msg === undefined ? opts.message : msg; + + // remove the current block (if there is one) + if (full && pageBlock) + remove(window, {fadeOut:0}); + + // if an existing element is being used as the blocking content then we capture + // its current place in the DOM (and current display style) so we can restore + // it when we unblock + if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) { + var node = msg.jquery ? msg[0] : msg; + var data = {}; + $(el).data('blockUI.history', data); + data.el = node; + data.parent = node.parentNode; + data.display = node.style.display; + data.position = node.style.position; + if (data.parent) + data.parent.removeChild(node); + } + + $(el).data('blockUI.onUnblock', opts.onUnblock); + var z = opts.baseZ; + + // blockUI uses 3 layers for blocking, for simplicity they are all used on every platform; + // layer1 is the iframe layer which is used to supress bleed through of underlying content + // layer2 is the overlay layer which has opacity and a wait cursor (by default) + // layer3 is the message content that is displayed while blocking + var lyr1, lyr2, lyr3, s; + if (msie || opts.forceIframe) + lyr1 = $('<iframe class="blockUI" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+opts.iframeSrc+'"></iframe>'); + else + lyr1 = $('<div class="blockUI" style="display:none"></div>'); + + if (opts.theme) + lyr2 = $('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+ (z++) +';display:none"></div>'); + else + lyr2 = $('<div class="blockUI blockOverlay" style="z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'); + + if (opts.theme && full) { + s = '<div class="blockUI ' + opts.blockMsgClass + ' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:fixed">'; + if ( opts.title ) { + s += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || '&nbsp;')+'</div>'; + } + s += '<div class="ui-widget-content ui-dialog-content"></div>'; + s += '</div>'; + } + else if (opts.theme) { + s = '<div class="blockUI ' + opts.blockMsgClass + ' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(z+10)+';display:none;position:absolute">'; + if ( opts.title ) { + s += '<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(opts.title || '&nbsp;')+'</div>'; + } + s += '<div class="ui-widget-content ui-dialog-content"></div>'; + s += '</div>'; + } + else if (full) { + s = '<div class="blockUI ' + opts.blockMsgClass + ' blockPage" style="z-index:'+(z+10)+';display:none;position:fixed"></div>'; + } + else { + s = '<div class="blockUI ' + opts.blockMsgClass + ' blockElement" style="z-index:'+(z+10)+';display:none;position:absolute"></div>'; + } + lyr3 = $(s); + + // if we have a message, style it + if (msg) { + if (opts.theme) { + lyr3.css(themedCSS); + lyr3.addClass('ui-widget-content'); + } + else + lyr3.css(css); + } + + // style the overlay + if (!opts.theme /*&& (!opts.applyPlatformOpacityRules)*/) + lyr2.css(opts.overlayCSS); + lyr2.css('position', full ? 'fixed' : 'absolute'); + + // make iframe layer transparent in IE + if (msie || opts.forceIframe) + lyr1.css('opacity',0.0); + + //$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el); + var layers = [lyr1,lyr2,lyr3], $par = full ? $('body') : $(el); + $.each(layers, function() { + this.appendTo($par); + }); + + if (opts.theme && opts.draggable && $.fn.draggable) { + lyr3.draggable({ + handle: '.ui-dialog-titlebar', + cancel: 'li' + }); + } + + // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling) + var expr = setExpr && (!$.support.boxModel || $('object,embed', full ? null : el).length > 0); + if (ie6 || expr) { + // give body 100% height + if (full && opts.allowBodyStretch && $.support.boxModel) + $('html,body').css('height','100%'); + + // fix ie6 issue when blocked element has a border width + if ((ie6 || !$.support.boxModel) && !full) { + var t = sz(el,'borderTopWidth'), l = sz(el,'borderLeftWidth'); + var fixT = t ? '(0 - '+t+')' : 0; + var fixL = l ? '(0 - '+l+')' : 0; + } + + // simulate fixed position + $.each(layers, function(i,o) { + var s = o[0].style; + s.position = 'absolute'; + if (i < 2) { + if (full) + s.setExpression('height','Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:'+opts.quirksmodeOffsetHack+') + "px"'); + else + s.setExpression('height','this.parentNode.offsetHeight + "px"'); + if (full) + s.setExpression('width','jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"'); + else + s.setExpression('width','this.parentNode.offsetWidth + "px"'); + if (fixL) s.setExpression('left', fixL); + if (fixT) s.setExpression('top', fixT); + } + else if (opts.centerY) { + if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'); + s.marginTop = 0; + } + else if (!opts.centerY && full) { + var top = (opts.css && opts.css.top) ? parseInt(opts.css.top, 10) : 0; + var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + "px"'; + s.setExpression('top',expression); + } + }); + } + + // show the message + if (msg) { + if (opts.theme) + lyr3.find('.ui-widget-content').append(msg); + else + lyr3.append(msg); + if (msg.jquery || msg.nodeType) + $(msg).show(); + } + + if ((msie || opts.forceIframe) && opts.showOverlay) + lyr1.show(); // opacity is zero + if (opts.fadeIn) { + var cb = opts.onBlock ? opts.onBlock : noOp; + var cb1 = (opts.showOverlay && !msg) ? cb : noOp; + var cb2 = msg ? cb : noOp; + if (opts.showOverlay) + lyr2._fadeIn(opts.fadeIn, cb1); + if (msg) + lyr3._fadeIn(opts.fadeIn, cb2); + } + else { + if (opts.showOverlay) + lyr2.show(); + if (msg) + lyr3.show(); + if (opts.onBlock) + opts.onBlock(); + } + + // bind key and mouse events + bind(1, el, opts); + + if (full) { + pageBlock = lyr3[0]; + pageBlockEls = $(opts.focusableElements,pageBlock); + if (opts.focusInput) + setTimeout(focus, 20); + } + else + center(lyr3[0], opts.centerX, opts.centerY); + + if (opts.timeout) { + // auto-unblock + var to = setTimeout(function() { + if (full) + $.unblockUI(opts); + else + $(el).unblock(opts); + }, opts.timeout); + $(el).data('blockUI.timeout', to); + } + } + + // remove the block + function remove(el, opts) { + var count; + var full = (el == window); + var $el = $(el); + var data = $el.data('blockUI.history'); + var to = $el.data('blockUI.timeout'); + if (to) { + clearTimeout(to); + $el.removeData('blockUI.timeout'); + } + opts = $.extend({}, $.blockUI.defaults, opts || {}); + bind(0, el, opts); // unbind events + + if (opts.onUnblock === null) { + opts.onUnblock = $el.data('blockUI.onUnblock'); + $el.removeData('blockUI.onUnblock'); + } + + var els; + if (full) // crazy selector to handle odd field errors in ie6/7 + els = $('body').children().filter('.blockUI').add('body > .blockUI'); + else + els = $el.find('>.blockUI'); + + // fix cursor issue + if ( opts.cursorReset ) { + if ( els.length > 1 ) + els[1].style.cursor = opts.cursorReset; + if ( els.length > 2 ) + els[2].style.cursor = opts.cursorReset; + } + + if (full) + pageBlock = pageBlockEls = null; + + if (opts.fadeOut) { + count = els.length; + els.stop().fadeOut(opts.fadeOut, function() { + if ( --count === 0) + reset(els,data,opts,el); + }); + } + else + reset(els, data, opts, el); + } + + // move blocking element back into the DOM where it started + function reset(els,data,opts,el) { + var $el = $(el); + if ( $el.data('blockUI.isBlocked') ) + return; + + els.each(function(i,o) { + // remove via DOM calls so we don't lose event handlers + if (this.parentNode) + this.parentNode.removeChild(this); + }); + + if (data && data.el) { + data.el.style.display = data.display; + data.el.style.position = data.position; + if (data.parent) + data.parent.appendChild(data.el); + $el.removeData('blockUI.history'); + } + + if ($el.data('blockUI.static')) { + $el.css('position', 'static'); // #22 + } + + if (typeof opts.onUnblock == 'function') + opts.onUnblock(el,opts); + + // fix issue in Safari 6 where block artifacts remain until reflow + var body = $(document.body), w = body.width(), cssW = body[0].style.width; + body.width(w-1).width(w); + body[0].style.width = cssW; + } + + // bind/unbind the handler + function bind(b, el, opts) { + var full = el == window, $el = $(el); + + // don't bother unbinding if there is nothing to unbind + if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked'))) + return; + + $el.data('blockUI.isBlocked', b); + + // don't bind events when overlay is not in use or if bindEvents is false + if (!full || !opts.bindEvents || (b && !opts.showOverlay)) + return; + + // bind anchors and inputs for mouse and key events + var events = 'mousedown mouseup keydown keypress keyup touchstart touchend touchmove'; + if (b) + $(document).bind(events, opts, handler); + else + $(document).unbind(events, handler); + + // former impl... + // var $e = $('a,:input'); + // b ? $e.bind(events, opts, handler) : $e.unbind(events, handler); + } + + // event handler to suppress keyboard/mouse events when blocking + function handler(e) { + // allow tab navigation (conditionally) + if (e.type === 'keydown' && e.keyCode && e.keyCode == 9) { + if (pageBlock && e.data.constrainTabKey) { + var els = pageBlockEls; + var fwd = !e.shiftKey && e.target === els[els.length-1]; + var back = e.shiftKey && e.target === els[0]; + if (fwd || back) { + setTimeout(function(){focus(back);},10); + return false; + } + } + } + var opts = e.data; + var target = $(e.target); + if (target.hasClass('blockOverlay') && opts.onOverlayClick) + opts.onOverlayClick(e); + + // allow events within the message content + if (target.parents('div.' + opts.blockMsgClass).length > 0) + return true; + + // allow events for content that is not being blocked + return target.parents().children().filter('div.blockUI').length === 0; + } + + function focus(back) { + if (!pageBlockEls) + return; + var e = pageBlockEls[back===true ? pageBlockEls.length-1 : 0]; + if (e) + e.focus(); + } + + function center(el, x, y) { + var p = el.parentNode, s = el.style; + var l = ((p.offsetWidth - el.offsetWidth)/2) - sz(p,'borderLeftWidth'); + var t = ((p.offsetHeight - el.offsetHeight)/2) - sz(p,'borderTopWidth'); + if (x) s.left = l > 0 ? (l+'px') : '0'; + if (y) s.top = t > 0 ? (t+'px') : '0'; + } + + function sz(el, p) { + return parseInt($.css(el,p),10)||0; + } + + } + + + /*global define:true */ + if (typeof define === 'function' && define.amd && define.amd.jQuery) { + define(['jquery'], setup); + } else { + setup(jQuery); + } + +})(); Property changes on: base3.10/src/main/webapp/js/com/jquery.blockUI.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/html5shiv.js =================================================================== --- base3.10/src/main/webapp/js/com/html5shiv.js (nonexistent) +++ base3.10/src/main/webapp/js/com/html5shiv.js (revision 7) @@ -0,0 +1,326 @@ +/** +* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed +*/ +;(function(window, document) { +/*jshint evil:true */ + /** version */ + var version = '3.7.3'; + + /** Preset options */ + var options = window.html5 || {}; + + /** Used to skip problem elements */ + var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i; + + /** Not all elements can be cloned in IE **/ + var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i; + + /** Detect whether the browser supports default html5 styles */ + var supportsHtml5Styles; + + /** Name of the expando, to work with multiple documents or to re-shiv one document */ + var expando = '_html5shiv'; + + /** The id for the the documents expando */ + var expanID = 0; + + /** Cached data for each document */ + var expandoData = {}; + + /** Detect whether the browser supports unknown elements */ + var supportsUnknownElements; + + (function() { + try { + var a = document.createElement('a'); + a.innerHTML = '<xyz></xyz>'; + //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles + supportsHtml5Styles = ('hidden' in a); + + supportsUnknownElements = a.childNodes.length == 1 || (function() { + // assign a false positive if unable to shiv + (document.createElement)('a'); + var frag = document.createDocumentFragment(); + return ( + typeof frag.cloneNode == 'undefined' || + typeof frag.createDocumentFragment == 'undefined' || + typeof frag.createElement == 'undefined' + ); + }()); + } catch(e) { + // assign a false positive if detection fails => unable to shiv + supportsHtml5Styles = true; + supportsUnknownElements = true; + } + + }()); + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a style sheet with the given CSS text and adds it to the document. + * @private + * @param {Document} ownerDocument The document. + * @param {String} cssText The CSS text. + * @returns {StyleSheet} The style element. + */ + function addStyleSheet(ownerDocument, cssText) { + var p = ownerDocument.createElement('p'), + parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement; + + p.innerHTML = 'x<style>' + cssText + '</style>'; + return parent.insertBefore(p.lastChild, parent.firstChild); + } + + /** + * Returns the value of `html5.elements` as an array. + * @private + * @returns {Array} An array of shived element node names. + */ + function getElements() { + var elements = html5.elements; + return typeof elements == 'string' ? elements.split(' ') : elements; + } + + /** + * Extends the built-in list of html5 elements + * @memberOf html5 + * @param {String|Array} newElements whitespace separated list or array of new element names to shiv + * @param {Document} ownerDocument The context document. + */ + function addElements(newElements, ownerDocument) { + var elements = html5.elements; + if(typeof elements != 'string'){ + elements = elements.join(' '); + } + if(typeof newElements != 'string'){ + newElements = newElements.join(' '); + } + html5.elements = elements +' '+ newElements; + shivDocument(ownerDocument); + } + + /** + * Returns the data associated to the given document + * @private + * @param {Document} ownerDocument The document. + * @returns {Object} An object of data. + */ + function getExpandoData(ownerDocument) { + var data = expandoData[ownerDocument[expando]]; + if (!data) { + data = {}; + expanID++; + ownerDocument[expando] = expanID; + expandoData[expanID] = data; + } + return data; + } + + /** + * returns a shived element for the given nodeName and document + * @memberOf html5 + * @param {String} nodeName name of the element + * @param {Document|DocumentFragment} ownerDocument The context document. + * @returns {Object} The shived element. + */ + function createElement(nodeName, ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createElement(nodeName); + } + if (!data) { + data = getExpandoData(ownerDocument); + } + var node; + + if (data.cache[nodeName]) { + node = data.cache[nodeName].cloneNode(); + } else if (saveClones.test(nodeName)) { + node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode(); + } else { + node = data.createElem(nodeName); + } + + // Avoid adding some elements to fragments in IE < 9 because + // * Attributes like `name` or `type` cannot be set/changed once an element + // is inserted into a document/fragment + // * Link elements with `src` attributes that are inaccessible, as with + // a 403 response, will cause the tab/window to crash + // * Script elements appended to fragments will execute when their `src` + // or `text` property is set + return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node; + } + + /** + * returns a shived DocumentFragment for the given document + * @memberOf html5 + * @param {Document} ownerDocument The context document. + * @returns {Object} The shived DocumentFragment. + */ + function createDocumentFragment(ownerDocument, data){ + if (!ownerDocument) { + ownerDocument = document; + } + if(supportsUnknownElements){ + return ownerDocument.createDocumentFragment(); + } + data = data || getExpandoData(ownerDocument); + var clone = data.frag.cloneNode(), + i = 0, + elems = getElements(), + l = elems.length; + for(;i<l;i++){ + clone.createElement(elems[i]); + } + return clone; + } + + /** + * Shivs the `createElement` and `createDocumentFragment` methods of the document. + * @private + * @param {Document|DocumentFragment} ownerDocument The document. + * @param {Object} data of the document. + */ + function shivMethods(ownerDocument, data) { + if (!data.cache) { + data.cache = {}; + data.createElem = ownerDocument.createElement; + data.createFrag = ownerDocument.createDocumentFragment; + data.frag = data.createFrag(); + } + + + ownerDocument.createElement = function(nodeName) { + //abort shiv + if (!html5.shivMethods) { + return data.createElem(nodeName); + } + return createElement(nodeName, ownerDocument, data); + }; + + ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' + + 'var n=f.cloneNode(),c=n.createElement;' + + 'h.shivMethods&&(' + + // unroll the `createElement` calls + getElements().join().replace(/[\w\-:]+/g, function(nodeName) { + data.createElem(nodeName); + data.frag.createElement(nodeName); + return 'c("' + nodeName + '")'; + }) + + ');return n}' + )(html5, data.frag); + } + + /*--------------------------------------------------------------------------*/ + + /** + * Shivs the given document. + * @memberOf html5 + * @param {Document} ownerDocument The document to shiv. + * @returns {Document} The shived document. + */ + function shivDocument(ownerDocument) { + if (!ownerDocument) { + ownerDocument = document; + } + var data = getExpandoData(ownerDocument); + + if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) { + data.hasCSS = !!addStyleSheet(ownerDocument, + // corrects block display not defined in IE6/7/8/9 + 'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' + + // adds styling not present in IE6/7/8/9 + 'mark{background:#FF0;color:#000}' + + // hides non-rendered elements + 'template{display:none}' + ); + } + if (!supportsUnknownElements) { + shivMethods(ownerDocument, data); + } + return ownerDocument; + } + + /*--------------------------------------------------------------------------*/ + + /** + * The `html5` object is exposed so that more elements can be shived and + * existing shiving can be detected on iframes. + * @type Object + * @example + * + * // options can be changed before the script is included + * html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false }; + */ + var html5 = { + + /** + * An array or space separated string of node names of the elements to shiv. + * @memberOf html5 + * @type Array|String + */ + 'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video', + + /** + * current version of html5shiv + */ + 'version': version, + + /** + * A flag to indicate that the HTML5 style sheet should be inserted. + * @memberOf html5 + * @type Boolean + */ + 'shivCSS': (options.shivCSS !== false), + + /** + * Is equal to true if a browser supports creating unknown/HTML5 elements + * @memberOf html5 + * @type boolean + */ + 'supportsUnknownElements': supportsUnknownElements, + + /** + * A flag to indicate that the document's `createElement` and `createDocumentFragment` + * methods should be overwritten. + * @memberOf html5 + * @type Boolean + */ + 'shivMethods': (options.shivMethods !== false), + + /** + * A string to describe the type of `html5` object ("default" or "default print"). + * @memberOf html5 + * @type String + */ + 'type': 'default', + + // shivs the document according to the specified `html5` object options + 'shivDocument': shivDocument, + + //creates a shived element + createElement: createElement, + + //creates a shived documentFragment + createDocumentFragment: createDocumentFragment, + + //extends list of elements + addElements: addElements + }; + + /*--------------------------------------------------------------------------*/ + + // expose html5 + window.html5 = html5; + + // shiv the document + shivDocument(document); + + if(typeof module == 'object' && module.exports){ + module.exports = html5; + } + +}(typeof window !== "undefined" ? window : this, document)); Property changes on: base3.10/src/main/webapp/js/com/html5shiv.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/examples.js =================================================================== --- base3.10/src/main/webapp/js/com/examples.js (nonexistent) +++ base3.10/src/main/webapp/js/com/examples.js (revision 7) @@ -0,0 +1,15 @@ +$(document).ready(function(){ + $("#demosMenu").change(function(){ + window.location.href = $(this).find("option:selected").attr("id") + '.html'; + }); + + $(".gnbbtn").click(function(){ + $(this).toggleClass("on"); + $(".sitemap").toggleClass("on"); + }); + + $(".closebtn").click(function(){ + $(".explain").addClass("hide"); + }); +}); + Property changes on: base3.10/src/main/webapp/js/com/examples.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/designJS.js =================================================================== --- base3.10/src/main/webapp/js/com/designJS.js (nonexistent) +++ base3.10/src/main/webapp/js/com/designJS.js (revision 7) @@ -0,0 +1,1149 @@ +(function() { + /**함수**/ + var board = { + 'survey' : function() { + //설문조사 결과 bar 채우기 + $(".bar").each(function(){ + var bar_width = $(this).parent(".per_bar").prev(".item_text").children(".per_no").children("em").text(); + $(this).css({ width: bar_width + '%'}); + }); + }, + 'calendar' : function(){ + $(".schedule_wrap").each(function(){ + var calendarH = $(this).height(); + var dayH = $(".calendar.month .day_wrap li").outerHeight() / .6; + if (calendarH > dayH){ + $(this).parent("li").addClass("long"); + $(this).after("<button type='button' class='clickmore'>더보기</button>"); + } + }); + //댓글더보기 클릭시 내용 펼쳐짐 + $(".clickmore").click(function(){ + $(this).hide().parent("li").removeClass("long"); + }) + + }, + 'marketH' : function(){ + + var picmaskH = $(".pic_mask").height(); + if (picmaskH < 500){ + $(".pic_mask").removeClass("long"); + $(".pic_mask").next("button").hide(); + } + else { + $(".pic_mask").addClass("long"); + $(".pic_mask").next("button").show(); + } + + //댓글더보기 클릭시 내용 펼쳐짐 + $(".clickmore").click(function(){ + $(this).text("간단히 보기"); + $(this).toggleClass("more"); + $(".pic_mask").removeClass("long"); + }); + + $(window).resize(function(){ + + }); + }, + 'marketImg' : function(){ +// $(".pic_mask").find("img").attr("alt", "제품 상세 설명 이미지"); + }, + 'overX' : function(){ + //반응형 설정 + var overLi = $(".scatg ul li"); + var overTotal = 0; + overLi.each(function(){ + overTotal = overTotal += Number($(this).outerWidth() + 10); + }); + + $(".scatg ul").css({ width : overTotal }) + + $(window).resize(function(){ + var overLi = $(".scatg ul li"); + var overTotal = 0; + overLi.each(function(){ + overTotal = overTotal += Number($(this).outerWidth() + 10); + }); + + $(".scatg ul").css({ width : overTotal }) + }); + }, + 'design' : function(){ + $(".btn_group .fr").prev(".pagination").addClass("onpage"); + + if ( $(".btn_group div").hasClass("fl") ){ + $(this).parent(".btn_group").removeClass("goList"); + } + + //$("button:contains('목록')").addClass("goList").closest(".btn_group").addClass("goList"); + $("button:contains('주소찾기')").addClass("btnAddress"); + + $(".modal").attr("tabindex", "1"); + + //must * 추가 + $(".must .board_label, .must .tit, em.must").append("<b class='mustText'>*</b>"); + + //캘린더 표기 앞글자 추가 + $(".calendar_control ul li p").each(function(){ + var calText = $(this).text(); + let calem = calText.charAt(0); + $(this).prepend("<em>" + calem + "</em>"); + }); + + //대체텍스트 입력 방법 toggle + $(".openSample").attr("title", "이미지 대체텍스트 등록방법보기"); + $(".openSample").on('click', function(){ + $(this).toggleClass("on"); + $(".imgUpsample").slideToggle(); + }); + + //게시판에 img alt값 없을떄 제목(해당 게시물 h2) 넣기 + //$(".fr-view").find("img").each(function(){ + // var imgAlt = $(this).attr("alt"); + // var h2title = $(".board_header h2").text(); + // if (imgAlt == null) { + // $(this).attr("alt", h2title); + // } + //}); + + //이미지 alt추가 + $(".imgUpsample").find("li").each(function(){ + var imgsample = $(this).find("p").text(); + $(this).find("img").attr("alt", imgsample); + }) + + } + } + + var skip = { + 'skipPage' : function() { + //웹접근성을 위한 본문 바로가기 + //본문 바로가기 + $('.skip a').on('focus', function(){ + $(this).stop().animate({"top":0, "opacity":1}); + }); + $('.skip a').on('click', function(){ + $(this).stop().animate({"top":"-30px", "opacity":0}); + }); + $('.skip a').on('focusout', function(){ + $(this).stop().animate({"top":"-30px", "opacity":0}); + }); + } + } + + var gnb = { + 'show' : function() { + $(".gnb").on("mouseenter focusin", function(){ + $("body").addClass("gnbOn"); + }).on("mouseleave focusout", function(){ + $("body").removeClass("gnbOn"); + $(".submenu_wrap").css("opacity", "0"); + }) + + //gnb mousrover 시 submanu 열림 + $(".gnb li.depth1").on("mouseenter focusin", function(){ + $(".submenu_wrap").css("opacity", "0").removeClass("active"); + $(".gnb li.depth1").removeClass("on"); + $(this).addClass("on"); + $(this).find(".submenu_wrap").css("opacity", "1") + }) + + }, + 'hide' : function() { + //header mouseleave 시 gnb 닫힘 + $(".header").on("mouseleave ", function(){ + $("body").removeClass("gnbOn"); + $(".gnb li.depth1").removeClass("on"); + $(".submenu_wrap").removeClass("active"); + }); + + }, + 'gnbTabKey' : function() { + //웹접근성을 위한 gnb tab 키 적용 + $(".gnb li.depth1").last().find(".depth2 li").last().focusout(function(){ + $(".submenu_wrap").removeClass("active"); + $("body").removeClass("gnbOn"); + }); + + + }, + 'btnMypage' : function() { + //마이페이지 서브메뉴 펼쳐짐 + $(".mnb li.gnb_mypage").on("mouseenter focusin", function(){ + $(".mnb_sub").addClass("active"); + }).on("mouseleave focusout", function(){ + $(".mnb_sub").removeClass("active"); + }); + }, + 'breadcrumb' : function(){ + + //현재위치표시 + $(".btn_location .now").on({ + click : function(){ + if ($(this).next(".location").css('display') == 'none') { + $('.location').slideUp(); + $('.btn_location .now').removeClass('on'); + $(this).toggleClass("on"); + $(this).next(".location").slideToggle(); + } else { + $('.location').slideUp(); + $(this).removeClass('on'); + } + } + }); + + $(".location li:last-child").on({ + focusout : function(){ + $('.location').slideUp(); + $(".now").removeClass('on'); + } + }); + + if ( $(window).width() < 701){ + //반응형 설정 + var locationLi = $(".breadcrumb .location li"); + var locationTotal = 0; + locationLi.each(function(){ + locationTotal = locationTotal += Number($(this).outerWidth() + 10); + }); + $(".location").css({ width : locationTotal }) + + } + else { + $(".location").css({ width: "100%" }); + } + + $(window).resize(function(){ + + if ( $(window).width() < 701){ + + //반응형 설정 + var locationLi = $(".breadcrumb .location li"); + var locationTotal = 0; + locationLi.each(function(){ + locationTotal = locationTotal += Number($(this).outerWidth() + 10); + }); + $(".location").css({ width : locationTotal }) + + } + else { + $(".location").css({ width: "100%" }); + } + }); + }, + 'mypageGnb' : function() { + var mypageMenu = $(".mypage_lnb"); + var mypagesubMenu = mypageMenu.find("li.active").html(); + //mypage + $(".mpage").find(".sub_title").before("<div class='mypage_submenu overX'></div>"); + $(".mypage_submenu").html(mypagesubMenu); + $(".mysub").parent("li").addClass("have"); + $(".mypage_submenu .mysub").parent(".mypage_submenu").addClass("have"); + + if ( $(window).width() < 1200){ + $(".mypage_submenu").before(mypageMenu); + } + else { + $(".my_content_wrap").before(mypageMenu); + } + + $(window).resize(function(){ + if ( $(window).width() < 1200){ + $(".mypage_submenu").before(mypageMenu); + } + else { + $(".my_content_wrap").before(mypageMenu); + } + }); + + if ( $(window).width() < 701){ + var mymainLi = $(".mypage_lnb > ul > li"); + var mymaintotalWidth = 0; + mymainLi.each(function(){ + mymaintotalWidth = mymaintotalWidth += Number($(this).outerWidth() + 5); + }) + $(".mypage_lnb ul").css({ width : mymaintotalWidth }); + + var mysubLi = $(".mypage_submenu > ul > li"); + var mysubtotalWidth = 0; + mysubLi.each(function(){ + mysubtotalWidth = mysubtotalWidth += Number($(this).outerWidth() + 15); + }) + $(".mypage_submenu ul").css({ width : mysubtotalWidth }); + + } + else { + $(".mypage_lnb ul").css({ width: "100%" }); + } + + $(window).resize(function(){ + + if ( $(window).width() < 701){ + var mymainLi = $(".mypage_lnb > ul > li"); + var mymaintotalWidth = 0; + mymainLi.each(function(){ + mymaintotalWidth = mymaintotalWidth += Number($(this).outerWidth() + 5); + }) + $(".mypage_lnb ul").css({ width : mymaintotalWidth }); + + var mysubLi = $(".mypage_submenu > ul > li"); + var mysubtotalWidth = 0; + mysubLi.each(function(){ + mysubtotalWidth = mysubtotalWidth += Number($(this).outerWidth() + 15); + }) + $(".mypage_submenu ul").css({ width : mysubtotalWidth }); + + } + else { + $(".mypage_lnb ul").css({ width: "100%" }); + } + }); + }, + 'gnbMobile' : function(){ + var depth2Menu = $(".gnb ul").find("li.active").find(".submenu").html(); + var depth3Menu = $(".gnb").find(".depth2").find("li.active").find(".depth3_wrap").html(); + $(".gnb_2depth_mobile").html(depth2Menu) + $(".gnb_3depth_mobile").html(depth3Menu) + $(".gnb_mobile").find(".depth3").parent(".gnb_3depth_mobile").addClass("have") + + var mgLi2 = $(".gnb_2depth_mobile ul li"); + var mg2totalWidth = 0; + mgLi2.each(function(){ + mg2totalWidth = mg2totalWidth += Number($(this).outerWidth() + 10); + }) + $(".gnb_2depth_mobile ul").css({ width : mg2totalWidth }) + + var mgLi3 = $(".gnb_3depth_mobile ul li"); + var mg3totalWidth = 0; + mgLi3.each(function(){ + mg3totalWidth = mg3totalWidth += Number($(this).outerWidth() + 30); + }) + $(".gnb_3depth_mobile ul").css({ width : mg3totalWidth }) + + $(window).resize(function(){ + var mgLi2 = $(".gnb_2depth_mobile ul li"); + var mg2totalWidth = 0; + mgLi2.each(function(){ + mg2totalWidth = mg2totalWidth += Number($(this).outerWidth() + 10); + }) + $(".gnb_2depth_mobile ul").css({ width : mg2totalWidth }) + + var mgLi3 = $(".gnb_3depth_mobile ul li"); + var mg3totalWidth = 0; + mgLi3.each(function(){ + mg3totalWidth = mg3totalWidth += Number($(this).outerWidth() + 30); + }) + $(".gnb_3depth_mobile ul").css({ width : mg3totalWidth }) + }); + } + } + + + var clickEvent = { + + 'familysite' : function(){ + //familysite toggle + $(".btn_family").on("click", function(){ + $(".familysite").toggleClass("active"); + if ($(".familysite").hasClass('active')){ + $(".btn_family").attr("title", "관련사이트 닫기"); + } else{ + $(".btn_family").attr("title", "관련사이트 열기"); + } + }); + $(".familysite li ul li:last-child").on("focusout", function(){ + $(".btn_family").focus(); + }); + }, + 'map' : function(){ + //지도 넓게 보기 + $(".btn_fold").on('click', function(){ + $(".map_list_wrap").toggleClass("wide"); + }); + }, + 'productView' : function(){ + //상품 상세설명 더보기 버튼 + $('.pic_sub button').on('click', function (){ + $(this).toggleClass("active"); + $(".pic_mask").toggleClass("show"); + if ($(this).hasClass('active')){ + $(this).attr("title", "상세정보 간단히 보기").text("간단히 보기"); + } else{ + $(this).attr("title", "상세정보 더보기").text("자세히 보기"); + } + }); + + }, + 'terms' : function(){ + //회원가입 약관 + // $(".btn_terms").on('click', function(){ + // $(this).toggleClass("active"); + // $(this).parent(".terms_wrap").next(".textarea_member_wrap").slideToggle(); + // }); + + $('.btn_terms').on('click', function(){ + if ($(this).parent(".terms_wrap").next(".textarea_member_wrap").css('display') == 'none') { + $('.textarea_member_wrap').slideUp(); + $('.btn_terms').removeClass('active'); + $(this).toggleClass("active"); + $(this).parent(".terms_wrap").next(".textarea_member_wrap").slideToggle(); + } else { + $('.textarea_member_wrap').slideUp(); + $(this).removeClass('active'); + } + }); + + }, + 'howto' : function(){ + //신청방법 + $(".howto_wrap button").on('click', function(){ + $(this).toggleClass("active"); + $(".title_box").toggleClass("active"); + $(".howto").slideToggle(); + }); + }, + 'skip_top' : function(){ + if ($("body").hasClass("index_body")) { + //$(".skip_top").attr("onclick", "location.href='/vtsp/'"); + $(".skip_top").attr("onclick", "location.href='#anchor1'"); + $(".skip_top").addClass("forIndex"); + } + }, + 'productImg' : function(){ + //상품이미지 변경 + $('.thumb_list li').on('click', function(){ + $('.thumb_list li').removeClass("active"); + $(this).addClass("active"); + var thubImg = $(this).children(".bg_box").children("img").attr("src"); + $(".img_frame").children(".bg_box").css({ backgroundImage: "url(" + thubImg + ")" }); + }); + }, + 'inputCategory' : function(){ + //검색, 선택 버튼 설정 + $(".btn_input").on("click", function(){ + $(this).addClass("active"); + $(".btn_select").removeClass("active"); + $(".input_show").show(); + $(".select_show").hide(); + }); + $(".btn_select").on("click", function(){ + $(this).addClass("active"); + $(".btn_input").removeClass("active"); + $(".select_show").show(); + $(".input_show").hide(); + }); + }, + 'mapShow' : function(){ + //지도 show + $(".show_map").on("click", function(){ + $(this).hide(); + $(".show_list").show(); + $(".map_list_wrap, .map_wrap").addClass("active"); + }); + }, + 'mapHide' : function(){ + ///지도 hide + $(".show_list").on("click", function(){ + $(this).hide(); + $(".show_map").show(); + $(".map_list_wrap, .map_wrap").removeClass("active"); + }); + }, + 'showmore' : function(){ + $(".tbac_sub_info button").click(function(){ + $(this).parent(".btn_group").hide(); + $(".board_view").show(); + }) + } + } + + // toggle events + var toggle = { + 'toggleList' : function(){ + //toggle list + $('.toggle_tit').on('click', function(){ + if ($(this).next('.toggle_box').css('display') == 'none') { + $('.toggle_box').slideUp(); + $('.toggle_tit').removeClass('active'); + $(this).addClass('active'); + $(this).next(".toggle_box").slideDown(); + } else { + $('.toggle_box').slideUp(); + $(this).removeClass('active'); + } + }); + }, + + 'toggleBtn' : function(){ + $('.btn_toggle').on('click', function(){ + $(this).toggleClass("active"); + $(this).parent(".toggle_btn_tit").next(".toggle_box").slideToggle(); + }); + }, + 'arrowBtn' : function(){ + $('.btn_arrow_down').on('click', function(){ + $(this).toggleClass("active") + $(this).parent(".toggle_wrap").find(".toggle_content").slideToggle(); + }); + }, + 'estToggle' : function(){ + //견적항목 담기 목록 + $(document).on('click', '.est_sel_title', function() { + $(this).parent(".est_selected li").toggleClass("active"); + $(this).toggleClass("on"); + $(this).next(".est_sel_content_wrap").stop().slideToggle(); + var titleText = $(this).closest("li").attr("title"); + + if ($(this).hasClass("on")){ + $(this).attr("title",titleText+" 접기"); + } + else{ + $(this).attr("title",titleText+" 펼치기"); + } + }); + }, + 'activeToggle' : function(){ + $('.active_toggle').on('click', function(){ + $('.active_toggle').removeClass("active"); + $(this).toggleClass("active"); + }); + }, + 'jobList' : function(){ + var widwidth = $(window).width(); + if (widwidth < 500){ + $(".toggle").addClass("mobile"); + $(".toggle .toggle_content").hide(); + $(".toggle .tit_wrap").on('click', function(){ + $(this).toggleClass("on") + $(this).next(".toggle_content").slideToggle(); + }); + } + else { + $(".toggle").removeClass("mobile"); + $(".toggle .toggle_content").show(); + $(".toggle .tit_wrap").on('click', function(){ + $(this).removeClass("on"); + $(this).next(".toggle_content").slideDown(); + }); + } + } + } + + var sitemap = { + 'close' : function(){ + + $(".gnb_sitemap a").on("click", function(){ + $(".sitemap_wrap").addClass("open"); + $(".close_sitemap").focus() + }); + + $(".close_sitemap").on("click", function(){ + $(".sitemap_wrap").removeClass("open"); + $(".gnb_sitemap a").focus(); //표시해둔 곳으로 초점 이동 + }); + + $(".sitemap_left .depth1:last-child .submenu .depth2 > li:last-child").on('focusout', function() { + //$(".sitemap_wrap").removeClass("active"); + $(".close_sitemap").focus() + }); + } + } + + var popup = { + 'open' : function(){ + // $(".openpopup").on("click", function(){ + // var popupname = $(this).attr("name"); + // $("." + popupname).show().addClass("open").find(".btn_close").focus(); + // var el = $(this); + // el.attr('data-focus','on'); //레이어 팝업이 닫힐떄를 위한 표시 - 접근성 + // }); + + $(".openpopup").on('click', function(){ + + var op = $(this); + var lp = $("#" + $(this).attr("aria-controls")); + var lpObj = lp.find(".modal_box"); + var lpObjClose = lp.find(".btn_close"); + var lpObjTabbale = lpObj.find("button, input:not([type='hidden']), select, iframe, textarea, [href], [tabindex]:not([tabindex='-1'])"); + var lpObjTabbaleFirst = lpObjTabbale && lpObjTabbale.first() + var lpObjTabbaleLast = lpObjTabbale && lpObjTabbale.last() + var lpOuterObjHidden = $("") //레이어 바깥요소 + var all = $("").add(lp); + var tabDisable; + var nowScrollPos = $(window).scrollTop(); + + + function lpClose() { + $("body").removeClass("scroll-off").css("top", "").off("scroll touchmove mousewheel"); + $(window).scrollTop(nowScrollPos); // 레이어 닫은 후 화면 최상단으로 이동 방지 + if (tabDisable === true) lpObj.attr("tabindex", "-1"); + all.removeClass("open"); + lpOuterObjHidden.removeAttr("aria-hidden"); + op.focus(); //레이어 닫은 후 원래 있던 곳으로 초점 이동 + $(document).off("keydown.lp_keydown"); + + } + + $(this).blur(); + all.addClass("open"); + lpOuterObjHidden.attr("aria-hidden", "true"); //레이어 바깥 영역을 스크린리더가 읽지 않게 + + lpObjTabbale.length ? lpObjTabbaleFirst.focus().on("keydown", function(event){ + if (event.shiftkey && (event.keycode || event.which) === 9) { + + event.preventDefault(); + lpObjTabbaleLast.focus(); + + } + + }) : lpObj.attr("tabindex", "0").focus().on("keydown", function(){ + tabDisabble = true; + if ((event.keyCode || event.which) === 9) event.preventDefault(); + // 레이어 밖으로 초점이동 안되게 + }); + + lpObjTabbaleLast.on("keydown", function(event){ + if (!event.shiftkey && (event.keycode || event.which) === 9) { + event.preventDefault(); + lpObjTabbaleFirst.focus(); + } + }) + + lpObjClose.on("click", lpClose); //레이어 닫기 + + lp.on("click", function(){ + if (event.target === event.currentTarget) { + lpClose(); //반투명 배경 클릭시 레이어 닫기 + } + }); + + $(document).on("keydown.lp_keydown", function(event){ + //esc키 : 레이어닫기 + var keyType = event.keycode || event.which; + if (keyType === 27 && lp.hasClass("open")){ + lpClose() + } + }) + }) + + + }, + 'close' : function(){ + //$(".close, .btn_close, .member_close").on('click', function(){ + // $(".modal, .member_wrap").hide().removeClass("open"); + // $("a[data-focus~=on]").focus(); //표시해둔 곳으로 초점 이동 + // + //}); + + } + } + + var search = { + init : function() { + this.addEvent(); + }, + 'issearch' : function(){ + $(".btn_is").on('click', function(){ + $(".int_search").addClass("open"); + $(".is_search .inputText").focus() + }); + $(".close_is").on('click', function(){ + $(".int_search").removeClass("open"); + $(".btn_is").focus(); + }); + $(".close_is").on('focusout', function(){ + $(".is_search .inputText").focus(); + }); //통합검색 포커스 + + $(".keyword_footer .btn_close").on('focusout', function(){ + $("#cmmTotalSearchAuto li:first-child a").focus(); + }); //연관 검색어 포커스 + + } + } + + // 배경 이미지 넣기 + var itemImg = { + 'bgImg' : function() { + $(".bg_box, .item_img").each(function(){ + var item_img_box = $(this).children("img").attr("src"); + $(this).css({backgroundImage: "url(" + item_img_box + ")"}); + }); + }, + //버튼 배경 이미지 넣기 + 'btnImg' : function() { + $(".btn_img").each(function(){ + var btn_img = $(this).children("img").attr("src"); + $(this).css({backgroundImage: "url(" + btn_img + ")"}); + }); + } + } + + function inputFocus() { + //input focus event + //포커스시 + $(document).on('focus', '.inputText, .textArea', function() { + $(this).parent('.text_show').addClass("focus"); + }); + //포커스아웃시 + $(document).on('focusout', '.inputText, .textArea', function() { + if($(this).val() == '') { + $(this).parent('.text_show').removeClass("focus"); + } + }); + var inputText = $('.inputText, .textArea'); + inputText.each(function() { + if ($(this).val().trim() != '') { + $(this).parent('.text_show').addClass('focus'); + } + }); + } + + //slick slide + var slideShow = { + 'cardSlide' : function() { + $(".card_wrap").slick({ + centerMode: true, + centerPadding: '0', + slidesToShow: 1, + dots: true, + accessibility:true, + customPaging: function(slider, i){ + return '<a href="#!" class="dot" title="' + $(slider.$slides[i]).find('.slick_list').attr('data-dot-title') + '번째로 이동">슬라이드이동버튼</a>'; + }, + }); + + $(".card_wrap3").slick({ + rows: 1, + centerMode: true, + infinite : true, + centerPadding: '0', + slidesToShow: 3, + keyboard: true, + dots: true, + accessibility:true, + }); + + + //index 아이콘 title + $(".m_slide").each(function(){ + var modaldot = $(this).index() + 1; + $(this).attr("data-dot-title", modaldot + "번째로 이동"); + }) + + //index 아이콘 title + $(".slick-dots li").each(function(){ + var indexdot = $(this).index() + 1; + $(this).find("a").attr("title", indexdot + "번째 페이지로 이동"); + }) + + $(".modal_slide").slick({ + centerMode: true, + centerPadding: '0', + slidesToShow: 1, + dots: true, + arrow: true, + accessibility:true, + customPaging: function(slider, i){ + return '<a href="#!" class="dot" title="' + $(slider.$slides[i]).find('.m_slide').attr('data-dot-title') + '">슬라이드이동버튼</a>'; + }, + }); + + var $reiviewSlider = $(".review_wrap").slick({ + dot: false, + centerMode: true, + arrow: true, + infinite : true, + slideToScroll: 1, + keyboard: true, + dots: true, + accessibility:true, + variableWidth: true, + responsive:[ + + { + breakpoint:1200, + settings:{ + centerPadding: '0', + slidesToShow: 1, + slidesToScroll: 1, + } + } + ] + }); + + $reiviewSlider.on('beforeChange', function(event, slick, currentSlide, nextSlide){ + var slideNo = nextSlide+1; + $(".reviewAcnt").html("0"+slideNo); + }) + + $(".graph").slick({ + rows: 1, + //centerMode: true, + centerPadding: '10%', + slidesToShow: 2, + slidesToScroll: 2, + dots: true, + customPaging: function(slider, i){ + return '<a href="#!" class="dot" title="' + $(slider.$slides[i]).find('.graph_list').attr('data-dot-title') + '번째로 이동">슬라이드이동버튼</a>'; + }, + keyboard: true, + accessibility:true, + responsive:[ + { + breakpoint:1500, + settings:{ + centerMode: true, + centerPadding: '20%', + slidesToShow: 1, + slidesToScroll: 1, + } + }, + { + breakpoint:1200, + settings:{ + centerMode: true, + centerPadding: '10%', + slidesToShow: 1, + slidesToScroll: 1, + } + }, + { + breakpoint:500, + settings:{ + centerMode: true, + centerPadding: '0', + slidesToShow: 1, + slidesToScroll: 1, + } + } + ] + }); + + $(".index_slide").slick({ + rows: 1, + //infinite : true, + centerMode: true, + centerPadding: '0', + slidesToShow: 1, + slidesToScroll: 1, + dots: true, + customPaging: function(slider, i){ + return '<a href="#!" class="dot" title="' + $(slider.$slides[i]).find('.slick_list').attr('data-dot-title') + '">슬라이드이동버튼</a>'; + }, + arrows: true, + autoplay: true, + autoplaySpeed: 4000, + keyboard: true, + accessibility:true, + speed: 1000, + }); + $(".btn_play").on("click", function(){ + $(this).addClass("on"); + $(".btn_pause").removeClass("on"); + $(".index_slide").slick("slickPlay"); + }) + $(".btn_pause").on("click", function(){ + $(this).addClass("on"); + $(".btn_play").removeClass("on"); + $(".index_slide").slick("slickPause"); + }); + + }, + 'slideButton' : function() { + //slick button title + $(".slick-prev").attr("title", "이전컨텐츠"); + $(".slick-next").attr("title", "다음컨텐츠"); + } + + } + + // 스크롤 시 top버튼 토글 함수 + function scrollTopToggle() { + var scroll = $(window).scrollTop(); + var windowH = $(window).height(); + var htmlH = $("html").outerHeight(); + var headerH = $(".header").outerHeight(); + var footerH = $("footer").outerHeight(); + var subtitleH = $(".sub_title").outerHeight(); + var picMainH = $(".pic_main").outerHeight(); + var headnameH = $(".headname").outerHeight(); + var categoryH = $(".market_category").outerHeight(); + var searchH = $(".detail_search_wrap").outerHeight(); + var cmtintro1 = $(".cmtintro.section1").outerHeight(); + var cmtintro2 = $(".cmtintro.section2").outerHeight(); + var cmtintro3 = $(".cmtintro.section3").outerHeight(); + var cmtintro4 = $(".cmtintro.section4").outerHeight(); + var cmtintro5 = $(".cmtintro.section5").outerHeight(); + + $(".familysite").removeClass("active"); + + //포털소개 + if (scroll >= 150) { + $(".cmtintro.section1").addClass("active"); + $(".cmtintro.section2").removeClass("active"); + } else { + $(".cmtintro.section1").removeClass("active"); + } + if (scroll >= headerH + cmtintro1) { + $(".cmtintro.section1").addClass("gone"); + $(".cmtintro.section2").addClass("active"); + $(".cmtintro.section3").removeClass("active"); + } else { + $(".cmtintro.section1").removeClass("gone"); + } + if (scroll >= headerH + cmtintro1 + cmtintro2) { + $(".cmtintro.section1").addClass("gone"); + $(".cmtintro.section3").addClass("active"); + $(".cmtintro.section4").removeClass("active"); + } else { + $(".cmtintro.section2").removeClass("gone"); + } + if (scroll >= headerH + cmtintro1 + cmtintro2 + cmtintro3) { + $(".cmtintro.section2").addClass("gone"); + $(".cmtintro.section4").addClass("active"); + $(".cmtintro.section5").removeClass("active"); + } else { + $(".cmtintro.section3").removeClass("gone"); + } + if (scroll >= headerH + cmtintro1 + cmtintro2 + cmtintro3 + cmtintro4) { + $(".cmtintro.section3").addClass("gone"); + $(".cmtintro.section5").addClass("active"); + $(".cmtintro.section6").removeClass("active"); + } else { + $(".cmtintro.section4").removeClass("gone"); + } + if (scroll >= headerH + cmtintro1 + cmtintro2 + cmtintro3 + cmtintro4 + cmtintro5) { + $(".cmtintro.section4").addClass("gone"); + $(".cmtintro.section6").addClass("active"); + } else { + $(".cmtintro.section5").removeClass("gone"); + } + + //스크롤시 skip top 버튼 toggle + if (scroll >= 150) { + $(".skip_top").addClass("fix"); + } else { + $(".skip_top").removeClass("fix"); + } + + //마이페이지메뉴, 마켓 정보박스 fix + if (scroll >= headerH + subtitleH - 50) { + $(".payment, .price_wrap").addClass("fix"); + } else { + $(".payment, .price_wrap").removeClass("fix"); + } + + //브랜드관 animation + if (scroll >= headerH + subtitleH + headnameH - 150) { + $(".brand_header").addClass("on"); + } else { + $(".brand_header").removeClass("on"); + } + + //하단 도달 시 마이페이지메뉴, 마켓 정보박스 아래 띄움 + if (scroll >= htmlH - windowH - footerH + 150) { + $(".payment").addClass("nofix"); + } else { + $(".payment").removeClass("nofix"); + } + + //스크롤 시 마켓 카테고리 fix + if (scroll >= headerH + subtitleH + picMainH + categoryH - 10) { + $(".market_category, .pic_sub, .text_sub, .market_info, .market_view_wrap").addClass("fix"); + $(".payment").addClass("morefix"); + } else { + $(".market_category, .pic_sub, .text_sub, .market_info, .market_view_wrap").removeClass("fix"); + $(".payment").removeClass("morefix"); + } + + //하단 도달 시 마이페이지메뉴, 마켓 정보박스 아래 띄움 + if (scroll >= htmlH - windowH - footerH - 20) { + $(".payment").addClass("bottom"); + $(".price_wrap").addClass("nofix"); + } else { + $(".payment").removeClass("bottom"); + $(".price_wrap").removeClass("nofix") + } + + //하단 도달 시 마이페이지메뉴, 마켓 정보박스 아래 띄움 + if (scroll >= headerH + subtitleH + searchH) { + $(".search_result").addClass("fix"); + } else { + $(".search_result").removeClass("fix"); + } + + } + + // switch 체크 시 라인 active + function checkSwitch() { + if ($("input[type='checkbox'].switch").is(":checked")) { + $(".row").addClass("active"); + } else { + $(".row").removeClass("active"); + } + } + + // 이미지 사이즈 함수 + function boardContentImg() { + var img_length = $(".board_content img, .item_info_wrap img").length; + var _div_width = $(".board_content, .item_info_wrap").width(); + var _div_height = $(".board_content, .item_info_wrap").height(); + + for(var i=0;i<img_length;i++){ + var _width = $(".board_content img, .item_info_wrap img").eq(i).width(); + var _height = $(".board_content img, .item_info_wrap img").eq(i).height(); + if(_width < _div_width){ + $(".board_content img, .item_info_wrap img").eq(i).width(_width); + } else{ + $(".board_content img, .item_info_wrap img").eq(i).width("100%"); + } + if(_height < _div_height){ + $(".board_content img, .item_info_wrap img").eq(i).height("auto"); + } else{ + $(".board_content img, .item_info_wrap img").eq(i).height("auto"); + } + } + + $(window).resize(function(){ + var img_length = $(".board_content img").length; + var _div_width = $(".board_content").width(); + var _div_height = $(".board_content").height(); + + for(var i=0;i<img_length;i++){ + var _width = $(".board_content img").eq(i).width(); + var _height = $(".board_content img").eq(i).height(); + if(_width < _div_width){ + $(".board_content img").eq(i).width(_width); + } else{ + $(".board_content img").eq(i).width("100%"); + } + if(_height < _div_height){ + $(".board_content img").eq(i).height("auto"); + } else{ + $(".board_content img").eq(i).height("auto"); + } + } + }); + } + + // 마켓 카테고리 active + function pageSection() { + var scrollDistance = $(window).scrollTop(); + // Assign active class to nav links while scolling + $('.page-section').each(function(i) { + if ($(this).position().top <= scrollDistance) { + $('.market_category ul li.active, .search_category ul li.active').removeClass('active'); + $('.market_category ul li, .search_category ul li').eq(i).addClass('active'); + } + }); + } + + //a title 추가 + function addTitle() { + + $(".fr-file").each(function(){ + var filename = $(this).text() + $(this).attr("title", filename + " 다운받기") + }) + + } + + //tab 설정 + function tabs() { + // Default Action + $("ul.tabs li").children("a").attr("title", "선택안됨"); + $("ul.tabs").each(function() { + $(this).children("li:first").addClass("active") // Activate first tab + $(this).children("li:first").children("a").attr("title", "선택됨"); + + $(this).closest(".tab_wrap").find(".tab_content").hide(); // Hide all tab content + var activeTab = $(this).find("a").attr("href"); + $(activeTab).show(); + }); + + // On Click Event + $("ul.tabs li").click(function() { + $(this).parent("ul.tabs").children("li").removeClass("active");// Remove any "active" class + $(this).addClass("active"); // Add "active" class to selected tab + $(this).closest(".tab_wrap").find(".tab_content").hide(); // Hide all tab content + $("ul.tabs li").children("a").attr("title", "선택안됨"); + $(this).children("a").attr("title", "선택됨"); + var clickTab = $(this).find("a").attr("href"); // Find the rel + $(clickTab).fadeIn(); // Fade in the active content + return false; + }); + + } + + + $(document).ready(function() { + + /**이벤트**/ + $(window).scroll(function() { + //마켓 카테고리 active + pageSection(); + //scroll events + scrollTopToggle() + }); + + inputFocus(); //inputText focus 이벤트 + checkSwitch(); //카테고리 스위치 + addTitle(); //a 에 title 넣기 + tabs(); //tab + + board.survey(".bar"); //설문조사 bar 채우기 + board.calendar(); //달력 일정 숨기기 + board.marketH() //상세설명 높이 설정 + board.marketImg() //상세이미지 alt추가 + board.overX() + board.design() + + //popup + popup.open(); + popup.close(); + + skip.skipPage(); //웹접근성을 위한 본문 바로가기 + + //gnb + gnb.show(); + gnb.hide(); + gnb.gnbTabKey(); //gnb웹접근성(키보드로 이동) + gnb.btnMypage(); //header mypage button toggle + gnb.breadcrumb() //현재위치표시 toggle + gnb.mypageGnb() //마이페이지메뉴 + gnb.gnbMobile() + + //click events + clickEvent.familysite(); //패밀리사이트 toggle + clickEvent.map(); //지도넓게보기 + clickEvent.productView(); //상품 상세설명 더보기 버튼 + clickEvent.terms(); //회원가입 약관 toggle + clickEvent.howto(); //신청방법 toggle + clickEvent.skip_top(); //top으로가기버튼 event + clickEvent.productImg(); //상품이미지 변경 toggle + clickEvent.inputCategory() //input category toggle + clickEvent.mapShow() //반응형 지도 show + clickEvent.mapHide() //반응형 지도 hide + clickEvent.showmore() + + //toggle events + toggle.toggleList(); + toggle.toggleBtn(); + toggle.arrowBtn(); //견적서 toggle + toggle.estToggle(); //견적서 선택된 차종 리스트 toggle + toggle.activeToggle() //active toggle 설정 + toggle.jobList() + + search.issearch() //통합검색 포커스 이동 + + sitemap.close(".sitemap_wrap"); //사이트맵 close + itemImg.bgImg(); //자식요소 img 에 src 를 이용한 배경이미지 넣기 + itemImg.btnImg(); //버튼의 자식요소 img 에 src 를 이용한 배경이미지 넣기 + slideShow.cardSlide(".card_wrap"); //카드 형식의 슬라이드쇼 + slideShow.slideButton() + boardContentImg() //img 넓이가 부모요소의 넓이 이상 이면 100% 로 맞추기 + + }); +})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/com/designJS.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/cookie.js =================================================================== --- base3.10/src/main/webapp/js/com/cookie.js (nonexistent) +++ base3.10/src/main/webapp/js/com/cookie.js (revision 7) @@ -0,0 +1,45 @@ +/** + * 쿠키 정보 + */ +/** 쿠기정보를 가져온다.ㅣ */ +function getCookie(cookieName) { + var search = cookieName + '='; + var cookie = document.cookie; + var startIndex, endIndex; + + /* 현재 쿠키가 존재할 경우 */ + if (cookie.length > 0) { + /* 해당 쿠키명이 존재하는지 검색한 후 존재하면 위치를 리턴. */ + startIndex = cookie.indexOf(cookieName); + + /* 존재한다면 */ + if (startIndex != -1) { + /* 값을 얻어내기 위해 시작 인덱스 조절 */ + startIndex += cookieName.length; + + /* 값을 얻어내기 위해 종료 인덱스 추출 */ + endIndex = cookie.indexOf(';', startIndex); + + /* 만약 종료 인덱스를 못찾게 되면 쿠키 전체길이로 설정 */ + if (endIndex == -1) { + endIndex = cookie.length; + } + + /* 쿠키값을 추출하여 리턴 */ + return unescape(cookie.substring(startIndex + 1, endIndex)); + } else { + /* 쿠키 내에 해당 쿠키가 존재하지 않을 경우 */ + return false; + } + } else { + /* 쿠키 자체가 없을 경우 */ + return false; + } +} + +/** 쿠키정보를 설정한다. */ +function setCookie(name, value, expiredays) { + var todayDate = new Date(); + todayDate.setDate(todayDate.getDate() + expiredays); + document.cookie = name + '=' + escape(value) + '; path=/; expires=' + todayDate.toGMTString() + ';'; +} Property changes on: base3.10/src/main/webapp/js/com/cookie.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/jquery.easing.1.3.js =================================================================== --- base3.10/src/main/webapp/js/com/jquery.easing.1.3.js (nonexistent) +++ base3.10/src/main/webapp/js/com/jquery.easing.1.3.js (revision 7) @@ -0,0 +1,202 @@ +/* +* jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ +* +* Uses the built in easing capabilities added In jQuery 1.1 +* to offer multiple easing options +* +* TERMS OF USE - jQuery Easing +* +* Open source under the BSD License. +* +* Copyright © 2008 George McGinley Smith +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without modification, +* are permitted provided that the following conditions are met: +* +* Redistributions of source code must retain the above copyright notice, this list of +* conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this list +* of conditions and the following disclaimer in the documentation and/or other materials +* provided with the distribution. +* +* Neither the name of the author nor the names of contributors may be used to endorse +* or promote products derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +* OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ +// t: current time, b: begInnIng value, c: change In value, d: duration +jQuery.easing['jswing'] = jQuery.easing['swing']; +jQuery.extend( jQuery.easing, +{ +def: 'easeOutQuad', +swing: function (x, t, b, c, d) { +//alert(jQuery.easing.default); +return jQuery.easing[jQuery.easing.def](x, t, b, c, d); +}, +easeInQuad: function (x, t, b, c, d) { +return c*(t/=d)*t + b; +}, +easeOutQuad: function (x, t, b, c, d) { +return -c *(t/=d)*(t-2) + b; +}, +easeInOutQuad: function (x, t, b, c, d) { +if ((t/=d/2) < 1) return c/2*t*t + b; +return -c/2 * ((--t)*(t-2) - 1) + b; +}, +easeInCubic: function (x, t, b, c, d) { +return c*(t/=d)*t*t + b; +}, +easeOutCubic: function (x, t, b, c, d) { +return c*((t=t/d-1)*t*t + 1) + b; +}, +easeInOutCubic: function (x, t, b, c, d) { +if ((t/=d/2) < 1) return c/2*t*t*t + b; +return c/2*((t-=2)*t*t + 2) + b; +}, +easeInQuart: function (x, t, b, c, d) { +return c*(t/=d)*t*t*t + b; +}, +easeOutQuart: function (x, t, b, c, d) { +return -c * ((t=t/d-1)*t*t*t - 1) + b; +}, +easeInOutQuart: function (x, t, b, c, d) { +if ((t/=d/2) < 1) return c/2*t*t*t*t + b; +return -c/2 * ((t-=2)*t*t*t - 2) + b; +}, +easeInQuint: function (x, t, b, c, d) { +return c*(t/=d)*t*t*t*t + b; +}, +easeOutQuint: function (x, t, b, c, d) { +return c*((t=t/d-1)*t*t*t*t + 1) + b; +}, +easeInOutQuint: function (x, t, b, c, d) { +if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; +return c/2*((t-=2)*t*t*t*t + 2) + b; +}, +easeInSine: function (x, t, b, c, d) { +return -c * Math.cos(t/d * (Math.PI/2)) + c + b; +}, +easeOutSine: function (x, t, b, c, d) { +return c * Math.sin(t/d * (Math.PI/2)) + b; +}, +easeInOutSine: function (x, t, b, c, d) { +return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; +}, +easeInExpo: function (x, t, b, c, d) { +return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; +}, +easeOutExpo: function (x, t, b, c, d) { +return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; +}, +easeInOutExpo: function (x, t, b, c, d) { +if (t==0) return b; +if (t==d) return b+c; +if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; +return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; +}, +easeInCirc: function (x, t, b, c, d) { +return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; +}, +easeOutCirc: function (x, t, b, c, d) { +return c * Math.sqrt(1 - (t=t/d-1)*t) + b; +}, +easeInOutCirc: function (x, t, b, c, d) { +if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; +return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; +}, +easeInElastic: function (x, t, b, c, d) { +var s=1.70158;var p=0;var a=c; +if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; +if (a < Math.abs(c)) { a=c; var s=p/4; } +else var s = p/(2*Math.PI) * Math.asin (c/a); +return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; +}, +easeOutElastic: function (x, t, b, c, d) { +var s=1.70158;var p=0;var a=c; +if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; +if (a < Math.abs(c)) { a=c; var s=p/4; } +else var s = p/(2*Math.PI) * Math.asin (c/a); +return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; +}, +easeInOutElastic: function (x, t, b, c, d) { +var s=1.70158;var p=0;var a=c; +if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); +if (a < Math.abs(c)) { a=c; var s=p/4; } +else var s = p/(2*Math.PI) * Math.asin (c/a); +if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; +return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; +}, +easeInBack: function (x, t, b, c, d, s) { +if (s == undefined) s = 1.70158; +return c*(t/=d)*t*((s+1)*t - s) + b; +}, +easeOutBack: function (x, t, b, c, d, s) { +if (s == undefined) s = 1.70158; +return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; +}, +easeInOutBack: function (x, t, b, c, d, s) { +if (s == undefined) s = 1.70158; +if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; +return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; +}, +easeInBounce: function (x, t, b, c, d) { +return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; +}, +easeOutBounce: function (x, t, b, c, d) { +if ((t/=d) < (1/2.75)) { +return c*(7.5625*t*t) + b; +} else if (t < (2/2.75)) { +return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; +} else if (t < (2.5/2.75)) { +return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; +} else { +return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; +} +}, +easeInOutBounce: function (x, t, b, c, d) { +if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; +return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; +} +}); +/* +* +* TERMS OF USE - EASING EQUATIONS +* +* Open source under the BSD License. +* +* Copyright © 2001 Robert Penner +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without modification, +* are permitted provided that the following conditions are met: +* +* Redistributions of source code must retain the above copyright notice, this list of +* conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this list +* of conditions and the following disclaimer in the documentation and/or other materials +* provided with the distribution. +* +* Neither the name of the author nor the names of contributors may be used to endorse +* or promote products derived from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY +* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED +* OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ Property changes on: base3.10/src/main/webapp/js/com/jquery.easing.1.3.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/sockjs.min.js.map =================================================================== --- base3.10/src/main/webapp/js/com/sockjs.min.js.map (nonexistent) +++ base3.10/src/main/webapp/js/com/sockjs.min.js.map (revision 7) @@ -0,0 +1 @@ +{"version":3,"sources":["node_modules/browser-pack/_prelude.js","lib/entry.js","lib/event/close.js","lib/event/emitter.js","lib/event/event.js","lib/event/eventtarget.js","lib/event/trans-message.js","lib/facade.js","lib/iframe-bootstrap.js","lib/info-ajax.js","lib/info-iframe-receiver.js","lib/info-iframe.js","lib/info-receiver.js","lib/location.js","lib/main.js","lib/shims.js","lib/transport-list.js","lib/transport/browser/abstract-xhr.js","lib/transport/browser/eventsource.js","lib/transport/browser/websocket.js","lib/transport/eventsource.js","lib/transport/htmlfile.js","lib/transport/iframe.js","lib/transport/jsonp-polling.js","lib/transport/lib/ajax-based.js","lib/transport/lib/buffered-sender.js","lib/transport/lib/iframe-wrap.js","lib/transport/lib/polling.js","lib/transport/lib/sender-receiver.js","lib/transport/receiver/eventsource.js","lib/transport/receiver/htmlfile.js","lib/transport/receiver/jsonp.js","lib/transport/receiver/xhr.js","lib/transport/sender/jsonp.js","lib/transport/sender/xdr.js","lib/transport/sender/xhr-cors.js","lib/transport/sender/xhr-fake.js","lib/transport/sender/xhr-local.js","lib/transport/websocket.js","lib/transport/xdr-polling.js","lib/transport/xdr-streaming.js","lib/transport/xhr-polling.js","lib/transport/xhr-streaming.js","lib/utils/browser-crypto.js","lib/utils/browser.js","lib/utils/escape.js","lib/utils/event.js","lib/utils/iframe.js","lib/utils/log.js","lib/utils/object.js","lib/utils/random.js","lib/utils/transport.js","lib/utils/url.js","lib/version.js","node_modules/inherits/inherits_browser.js","node_modules/json3/lib/json3.js","node_modules/querystringify/index.js","node_modules/requires-port/index.js","node_modules/url-parse/index.js"],"names":["f","exports","module","define","amd","window","global","self","this","SockJS","r","e","n","t","o","i","c","require","u","a","Error","code","p","call","length","1","transportList","setTimeout","_sockjs_onload","inherits","Event","CloseEvent","initEvent","wasClean","reason","EventTarget","EventEmitter","prototype","removeAllListeners","type","_listeners","once","listener","fired","on","g","removeListener","apply","arguments","emit","listeners","l","args","Array","ai","addListener","addEventListener","removeEventListener","eventType","canBubble","cancelable","bubbles","timeStamp","Date","stopPropagation","preventDefault","CAPTURING_PHASE","AT_TARGET","BUBBLING_PHASE","arr","indexOf","concat","idx","slice","dispatchEvent","event","TransportMessageEvent","data","JSON3","iframeUtils","FacadeJS","transport","_transport","_transportMessage","bind","_transportClose","postMessage","stringify","frame","_send","send","_close","close","urlUtils","eventUtils","InfoIframeReceiver","loc","debug","availableTransports","parentOrigin","transportMap","forEach","at","facadeTransport","transportName","bootstrap_iframe","facade","currentWindowId","hash","attachEvent","source","parent","origin","iframeMessage","parse","ignored","windowId","version","transUrl","baseUrl","isOriginEqual","href","objectUtils","InfoAjax","url","AjaxObject","t0","xo","status","text","info","rtt","isObject","XHRLocalObject","InfoReceiverIframe","ir","utils","IframeTransport","InfoIframe","go","ifr","msg","d","document","body","enabled","XDR","XHRCors","XHRLocal","XHRFake","InfoReceiver","urlInfo","doXhr","_getReceiver","sameOrigin","sameScheme","addPath","timeoutRef","_cleanup","timeout","clearTimeout","location","protocol","host","port","transports","URL","random","escape","browser","log","protocols","options","TypeError","readyState","CONNECTING","extensions","protocols_whitelist","warn","_transportsWhitelist","_transportOptions","transportOptions","_timeout","sessionId","_generateSessionId","string","_server","server","numberString","parsedUrl","SyntaxError","secure","isArray","sortedProtocols","sort","proto","getOrigin","_origin","toLowerCase","set","pathname","replace","_urlInfo","nullOrigin","hasDomain","isSchemeEqual","_ir","_receiveInfo","userSetCode","CLOSING","CLOSED","OPEN","quote","_rto","countRTO","_transUrl","base_url","extend","enabledTransports","filterToEnabled","_transports","main","_connect","Transport","shift","needBody","unshift","timeoutMs","Math","max","roundTrips","_transportTimeoutId","_transportTimeout","transportUrl","transportObj","payload","content","_open","forceFail","onmessage","onclose","onerror","isFunction","val","ObjectPrototype","toString","isString","obj","_toString","defineProperty","ArrayPrototype","Object","FunctionPrototype","Function","StringPrototype","String","array_slice","supportsDescriptors","object","name","method","forceAssign","configurable","enumerable","writable","value","defineProperties","map","hasOwnProperty","toObject","Empty","that","target","boundLength","boundArgs","push","bound","join","result","properlyBoxesNonStrict","properlyBoxesStrict","boxedString","splitString","fun","split","thisp","_","__","context","hasFirefox2IndexOfBug","sought","num","floor","abs","toInteger","compliantExecNpcg","string_split","exec","separator","limit","separator2","match","lastIndex","lastLength","output","flags","ignoreCase","multiline","extended","sticky","lastLastIndex","RegExp","x","ToUint32","index","test","string_substr","substr","hasNegativeSubstrBug","start","XHR","XMLHttpRequest","AbstractXHRObject","opts","_start","xhr","addQuery","unloadRef","unloadAdd","open","ontimeout","noCredentials","supportsCORS","withCredentials","headers","key","setRequestHeader","onreadystatechange","responseText","abort","unloadDel","axo","cors","EventSource","Driver","WebSocket","MozWebSocket","undefined","AjaxBasedTransport","EventSourceReceiver","XHRCorsObject","EventSourceDriver","EventSourceTransport","HtmlfileReceiver","HtmlFileTransport","iframeUrl","iframeObj","createIframe","onmessageCallback","_message","detachEvent","cleanup","loaded","cdata","post","message","iframeEnabled","SenderReceiver","JsonpReceiver","jsonpSender","JsonPTransport","urlSuffix","Receiver","callback","opt","Content-type","ajaxUrl","err","createAjaxSender","BufferedSender","sender","sendBuffer","sendStop","sendSchedule","sendScheduleWait","tref","IframeWrapTransport","iframeInfo","Polling","receiveUrl","_scheduleReceiver","poll","pollIsClosing","senderFunc","pollUrl","es","decodeURI","polluteGlobalNamespace","id","decodeURIComponent","WPrefix","htmlfileEnabled","constructFunc","createHtmlfile","stop","urlWithId","encodeURIComponent","_callback","_createScript","timeoutId","_abort","scriptErrorTimeout","aborting","script2","parentNode","removeChild","script","onload","onclick","_scriptError","errorTimer","loadedOkay","createElement","src","charset","htmlFor","async","isOpera","head","getElementsByTagName","insertBefore","firstChild","XhrReceiver","bufferPosition","_chunkHandler","buf","form","area","style","display","position","enctype","acceptCharset","appendChild","action","iframe","submit","completed","XDRObject","xdr","XDomainRequest","_error","onprogress","XhrDriver","to","WebsocketDriver","WebSocketTransport","ignore","ws","XdrStreamingTransport","XdrPollingTransport","cookie_needed","XhrPollingTransport","XhrStreamingTransport","crypto","getRandomValues","randomBytes","bytes","Uint8Array","navigator","userAgent","isKonqueror","domain","extraLookup","extraEscapable","quoted","escapable","unrolled","fromCharCode","charCodeAt","unrollLookup","onUnload","afterUnload","isChromePackagedApp","chrome","app","runtime","ref","triggerUnloadCallbacks","errorCallback","unattach","contentWindow","doc","CollectGarbage","write","parentWindow","logObject","level","levelExists","console","prop","_randomStringChars","ret","number","transportsWhitelist","trans","websocket","hostname","b","res","path","qs","q","create","ctor","superCtor","super_","constructor","TempCtor","objectTypes","function","freeExports","nodeType","root","freeGlobal","runInContext","Number","nativeJSON","isProperty","undef","objectProto","getClass","isExtended","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","exception","has","isSupported","serialized","stringifySupported","toJSON","parseSupported","functionClass","numberClass","stringClass","arrayClass","charIndexBuggy","Months","getDay","year","month","property","members","__proto__","original","Properties","size","valueOf","isConstructor","hasProperty","toPaddedString","width","useCharIndex","symbols","charCode","Escapes","charAt","92","34","8","12","10","13","9","serialize","properties","whitespace","indentation","stack","className","date","time","hours","minutes","seconds","milliseconds","results","element","prefix","pop","filter","Index","Source","lex","begin","isSigned","Unescapes","update","walk","47","98","116","110","102","114","get","hasMembers","JSON","previousJSON","isRestored","noConflict","decode","input","pairs","query","part","parser","required","protocolre","slashes","rules","address","NaN","lolcation","finaldestination","Url","unescape","extractProtocol","rest","relative","extracted","instruction","instructions","base","last","up","splice","resolve","username","password","auth","fn","char","ins"],"mappings":";CAAA,SAAAA,GAAA,GAAA,iBAAAC,SAAA,oBAAAC,OAAAA,OAAAD,QAAAD,SAAA,GAAA,mBAAAG,QAAAA,OAAAC,IAAAD,OAAA,GAAAH,OAAA,EAAA,oBAAAK,OAAAA,OAAA,oBAAAC,OAAAA,OAAA,oBAAAC,KAAAA,KAAAC,MAAAC,OAAAT,KAAA,CAAA,WAAA,OAAA,SAAAU,EAAAC,EAAAC,EAAAC,GAAA,SAAAC,EAAAC,EAAAf,GAAA,IAAAY,EAAAG,GAAA,CAAA,IAAAJ,EAAAI,GAAA,CAAA,IAAAC,EAAA,mBAAAC,SAAAA,QAAA,IAAAjB,GAAAgB,EAAA,OAAAA,EAAAD,GAAA,GAAA,GAAAG,EAAA,OAAAA,EAAAH,GAAA,GAAA,IAAAI,EAAA,IAAAC,MAAA,uBAAAL,EAAA,KAAA,MAAAI,EAAAE,KAAA,mBAAAF,EAAA,IAAAG,EAAAV,EAAAG,GAAA,CAAAd,QAAA,IAAAU,EAAAI,GAAA,GAAAQ,KAAAD,EAAArB,QAAA,SAAAS,GAAA,OAAAI,EAAAH,EAAAI,GAAA,GAAAL,IAAAA,IAAAY,EAAAA,EAAArB,QAAAS,EAAAC,EAAAC,EAAAC,GAAA,OAAAD,EAAAG,GAAAd,QAAA,IAAA,IAAAiB,EAAA,mBAAAD,SAAAA,QAAAF,EAAA,EAAAA,EAAAF,EAAAW,OAAAT,IAAAD,EAAAD,EAAAE,IAAA,OAAAD,EAAA,CAAA,CAAAW,EAAA,CAAA,SAAAR,EAAAf,EAAAD,gBCAA,aAEA,IAAAyB,EAAAT,EAAA,oBAEAf,EAAAD,QAAAgB,EAAA,SAAAA,CAAAS,GAGA,mBAAApB,GACAqB,WAAArB,EAAAsB,eAAA,8KCRA,aAEA,IAAAC,EAAAZ,EAAA,YACAa,EAAAb,EAAA,WAGA,SAAAc,IACAD,EAAAP,KAAAf,MACAA,KAAAwB,UAAA,SAAA,GAAA,GACAxB,KAAAyB,UAAA,EACAzB,KAAAa,KAAA,EACAb,KAAA0B,OAAA,GAGAL,EAAAE,EAAAD,GAEA5B,EAAAD,QAAA8B,mDChBA,aAEA,IAAAF,EAAAZ,EAAA,YACAkB,EAAAlB,EAAA,iBAGA,SAAAmB,IACAD,EAAAZ,KAAAf,MAGAqB,EAAAO,EAAAD,GAEAC,EAAAC,UAAAC,mBAAA,SAAAC,GACAA,SACA/B,KAAAgC,WAAAD,GAEA/B,KAAAgC,WAAA,IAIAJ,EAAAC,UAAAI,KAAA,SAAAF,EAAAG,GACA,IAAAnC,EAAAC,KACAmC,GAAA,EAWAnC,KAAAoC,GAAAL,EATA,SAAAM,IACAtC,EAAAuC,eAAAP,EAAAM,GAEAF,IACAA,GAAA,EACAD,EAAAK,MAAAvC,KAAAwC,eAOAZ,EAAAC,UAAAY,KAAA,WACA,IAAAV,EAAAS,UAAA,GACAE,EAAA1C,KAAAgC,WAAAD,GACA,GAAAW,EAAA,CAMA,IAFA,IAAAC,EAAAH,UAAAxB,OACA4B,EAAA,IAAAC,MAAAF,EAAA,GACAG,EAAA,EAAAA,EAAAH,EAAAG,IACAF,EAAAE,EAAA,GAAAN,UAAAM,GAEA,IAAA,IAAAvC,EAAA,EAAAA,EAAAmC,EAAA1B,OAAAT,IACAmC,EAAAnC,GAAAgC,MAAAvC,KAAA4C,KAIAhB,EAAAC,UAAAO,GAAAR,EAAAC,UAAAkB,YAAApB,EAAAE,UAAAmB,iBACApB,EAAAC,UAAAS,eAAAX,EAAAE,UAAAoB,oBAEAvD,EAAAD,QAAAmC,aAAAA,yDCxDA,aAEA,SAAAN,EAAA4B,GACAlD,KAAA+B,KAAAmB,EAGA5B,EAAAO,UAAAL,UAAA,SAAA0B,EAAAC,EAAAC,GAKA,OAJApD,KAAA+B,KAAAmB,EACAlD,KAAAqD,QAAAF,EACAnD,KAAAoD,WAAAA,EACApD,KAAAsD,WAAA,IAAAC,KACAvD,MAGAsB,EAAAO,UAAA2B,gBAAA,aACAlC,EAAAO,UAAA4B,eAAA,aAEAnC,EAAAoC,gBAAA,EACApC,EAAAqC,UAAA,EACArC,EAAAsC,eAAA,EAEAlE,EAAAD,QAAA6B,0BCrBA,aAMA,SAAAK,IACA3B,KAAAgC,WAAA,GAGAL,EAAAE,UAAAmB,iBAAA,SAAAE,EAAAhB,GACAgB,KAAAlD,KAAAgC,aACAhC,KAAAgC,WAAAkB,GAAA,IAEA,IAAAW,EAAA7D,KAAAgC,WAAAkB,IAEA,IAAAW,EAAAC,QAAA5B,KAEA2B,EAAAA,EAAAE,OAAA,CAAA7B,KAEAlC,KAAAgC,WAAAkB,GAAAW,GAGAlC,EAAAE,UAAAoB,oBAAA,SAAAC,EAAAhB,GACA,IAAA2B,EAAA7D,KAAAgC,WAAAkB,GACA,GAAAW,EAAA,CAGA,IAAAG,EAAAH,EAAAC,QAAA5B,IACA,IAAA8B,IACA,EAAAH,EAAA7C,OAEAhB,KAAAgC,WAAAkB,GAAAW,EAAAI,MAAA,EAAAD,GAAAD,OAAAF,EAAAI,MAAAD,EAAA,WAEAhE,KAAAgC,WAAAkB,MAMAvB,EAAAE,UAAAqC,cAAA,WACA,IAAAC,EAAA3B,UAAA,GACAnC,EAAA8D,EAAApC,KAEAa,EAAA,IAAAJ,UAAAxB,OAAA,CAAAmD,GAAAtB,MAAAN,MAAA,KAAAC,WAQA,GAHAxC,KAAA,KAAAK,IACAL,KAAA,KAAAK,GAAAkC,MAAAvC,KAAA4C,GAEAvC,KAAAL,KAAAgC,WAGA,IADA,IAAAU,EAAA1C,KAAAgC,WAAA3B,GACAE,EAAA,EAAAA,EAAAmC,EAAA1B,OAAAT,IACAmC,EAAAnC,GAAAgC,MAAAvC,KAAA4C,IAKAlD,EAAAD,QAAAkC,0BC7DA,aAEA,IAAAN,EAAAZ,EAAA,YACAa,EAAAb,EAAA,WAGA,SAAA2D,EAAAC,GACA/C,EAAAP,KAAAf,MACAA,KAAAwB,UAAA,WAAA,GAAA,GACAxB,KAAAqE,KAAAA,EAGAhD,EAAA+C,EAAA9C,GAEA5B,EAAAD,QAAA2E,mDCdA,aAEA,IAAAE,EAAA7D,EAAA,SACA8D,EAAA9D,EAAA,kBAGA,SAAA+D,EAAAC,IACAzE,KAAA0E,WAAAD,GACArC,GAAA,UAAApC,KAAA2E,kBAAAC,KAAA5E,OACAyE,EAAArC,GAAA,QAAApC,KAAA6E,gBAAAD,KAAA5E,OAGAwE,EAAA3C,UAAAgD,gBAAA,SAAAhE,EAAAa,GACA6C,EAAAO,YAAA,IAAAR,EAAAS,UAAA,CAAAlE,EAAAa,MAEA8C,EAAA3C,UAAA8C,kBAAA,SAAAK,GACAT,EAAAO,YAAA,IAAAE,IAEAR,EAAA3C,UAAAoD,MAAA,SAAAZ,GACArE,KAAA0E,WAAAQ,KAAAb,IAEAG,EAAA3C,UAAAsD,OAAA,WACAnF,KAAA0E,WAAAU,QACApF,KAAA0E,WAAA5C,sBAGApC,EAAAD,QAAA+E,wDC1BA,aAEA,IAAAa,EAAA5E,EAAA,eACA6E,EAAA7E,EAAA,iBACA6D,EAAA7D,EAAA,SACA+D,EAAA/D,EAAA,YACA8E,EAAA9E,EAAA,0BACA8D,EAAA9D,EAAA,kBACA+E,EAAA/E,EAAA,cAGAgF,EAAA,aAKA/F,EAAAD,QAAA,SAAAQ,EAAAyF,GACA,IAUAC,EAVAC,EAAA,GACAF,EAAAG,QAAA,SAAAC,GACAA,EAAAC,kBACAH,EAAAE,EAAAC,gBAAAC,eAAAF,EAAAC,mBAMAH,EAAAL,EAAAS,eAAAT,EAIAtF,EAAAgG,iBAAA,WAEA,IAAAC,EACA3B,EAAA4B,gBAAAX,EAAAY,KAAAnC,MAAA,GA+DAqB,EAAAe,YAAA,UA9DA,SAAAlG,GACA,GAAAA,EAAAmG,SAAAC,cAGA,IAAAZ,IACAA,EAAAxF,EAAAqG,QAEArG,EAAAqG,SAAAb,GAAA,CAIA,IAAAc,EACA,IACAA,EAAAnC,EAAAoC,MAAAvG,EAAAkE,MACA,MAAAsC,GAEA,YADAlB,EAAA,WAAAtF,EAAAkE,MAIA,GAAAoC,EAAAG,WAAArC,EAAA4B,gBAGA,OAAAM,EAAA1E,MACA,IAAA,IACA,IAAAjB,EACA,IACAA,EAAAwD,EAAAoC,MAAAD,EAAApC,MACA,MAAAsC,GACAlB,EAAA,WAAAgB,EAAApC,MACA,MAEA,IAAAwC,EAAA/F,EAAA,GACA2D,EAAA3D,EAAA,GACAgG,EAAAhG,EAAA,GACAiG,EAAAjG,EAAA,GAGA,GAFA2E,EAAAoB,EAAApC,EAAAqC,EAAAC,GAEAF,IAAA5G,EAAA4G,QACA,MAAA,IAAAjG,MAAA,yCACAiG,EAAA,mBACA5G,EAAA4G,QAAA,MAGA,IAAAxB,EAAA2B,cAAAF,EAAAtB,EAAAyB,QACA5B,EAAA2B,cAAAD,EAAAvB,EAAAyB,MACA,MAAA,IAAArG,MAAA,6DACA4E,EAAAyB,KAAA,KAAAH,EAAA,KAAAC,EAAA,KAEAb,EAAA,IAAA1B,EAAA,IAAAoB,EAAAnB,GAAAqC,EAAAC,IACA,MACA,IAAA,IACAb,EAAAjB,MAAAwB,EAAApC,MACA,MACA,IAAA,IACA6B,GACAA,EAAAf,SAEAe,EAAA,SAQA3B,EAAAO,YAAA,yKCnGA,aAEA,IAAAlD,EAAAnB,EAAA,UAAAmB,aACAP,EAAAZ,EAAA,YACA6D,EAAA7D,EAAA,SACAyG,EAAAzG,EAAA,kBAGAgF,EAAA,aAKA,SAAA0B,EAAAC,EAAAC,GACAzF,EAAAb,KAAAf,MAEA,IAAAD,EAAAC,KACAsH,GAAA,IAAA/D,KACAvD,KAAAuH,GAAA,IAAAF,EAAA,MAAAD,GAEApH,KAAAuH,GAAAtF,KAAA,SAAA,SAAAuF,EAAAC,GACA,IAAAC,EAAAC,EACA,GAAA,MAAAH,EAAA,CAEA,GADAG,GAAA,IAAApE,KAAA+D,EACAG,EACA,IACAC,EAAApD,EAAAoC,MAAAe,GACA,MAAAtH,GACAsF,EAAA,WAAAgC,GAIAP,EAAAU,SAAAF,KACAA,EAAA,IAGA3H,EAAA0C,KAAA,SAAAiF,EAAAC,GACA5H,EAAA+B,uBAIAT,EAAA8F,EAAAvF,GAEAuF,EAAAtF,UAAAuD,MAAA,WACApF,KAAA8B,qBACA9B,KAAAuH,GAAAnC,SAGA1F,EAAAD,QAAA0H,iGChDA,aAEA,IAAA9F,EAAAZ,EAAA,YACAmB,EAAAnB,EAAA,UAAAmB,aACA0C,EAAA7D,EAAA,SACAoH,EAAApH,EAAA,gCACA0G,EAAA1G,EAAA,eAGA,SAAAqH,EAAAhB,GACA,IAAA/G,EAAAC,KACA4B,EAAAb,KAAAf,MAEAA,KAAA+H,GAAA,IAAAZ,EAAAL,EAAAe,GACA7H,KAAA+H,GAAA9F,KAAA,SAAA,SAAAyF,EAAAC,GACA5H,EAAAgI,GAAA,KACAhI,EAAA0C,KAAA,UAAA6B,EAAAS,UAAA,CAAA2C,EAAAC,OAIAtG,EAAAyG,EAAAlG,GAEAkG,EAAA9B,cAAA,uBAEA8B,EAAAjG,UAAAuD,MAAA,WACApF,KAAA+H,KACA/H,KAAA+H,GAAA3C,QACApF,KAAA+H,GAAA,MAEA/H,KAAA8B,sBAGApC,EAAAD,QAAAqI,6HChCA,aAEA,IAAAlG,EAAAnB,EAAA,UAAAmB,aACAP,EAAAZ,EAAA,YACA6D,EAAA7D,EAAA,SACAuH,EAAAvH,EAAA,iBACAwH,EAAAxH,EAAA,sBACAqH,EAAArH,EAAA,0BAGAgF,EAAA,aAKA,SAAAyC,EAAAnB,EAAAK,GACA,IAAArH,EAAAC,KACA4B,EAAAb,KAAAf,MAEA,SAAAmI,IACA,IAAAC,EAAArI,EAAAqI,IAAA,IAAAH,EAAAH,EAAA9B,cAAAoB,EAAAL,GAEAqB,EAAAnG,KAAA,UAAA,SAAAoG,GACA,GAAAA,EAAA,CACA,IAAAC,EACA,IACAA,EAAAhE,EAAAoC,MAAA2B,GACA,MAAAlI,GAIA,OAHAsF,EAAA,WAAA4C,GACAtI,EAAA0C,KAAA,eACA1C,EAAAqF,QAIA,IAAAsC,EAAAY,EAAA,GAAAX,EAAAW,EAAA,GACAvI,EAAA0C,KAAA,SAAAiF,EAAAC,GAEA5H,EAAAqF,UAGAgD,EAAAnG,KAAA,QAAA,WACAlC,EAAA0C,KAAA,UACA1C,EAAAqF,UAKAtF,EAAAyI,SAAAC,KAGAL,IAFAH,EAAA3B,YAAA,OAAA8B,GAMA9G,EAAA6G,EAAAtG,GAEAsG,EAAAO,QAAA,WACA,OAAAR,EAAAQ,WAGAP,EAAArG,UAAAuD,MAAA,WACApF,KAAAoI,KACApI,KAAAoI,IAAAhD,QAEApF,KAAA8B,qBACA9B,KAAAoI,IAAA,MAGA1I,EAAAD,QAAAyI,sQCpEA,aAEA,IAAAtG,EAAAnB,EAAA,UAAAmB,aACAP,EAAAZ,EAAA,YACA4E,EAAA5E,EAAA,eACAiI,EAAAjI,EAAA,0BACAkI,EAAAlI,EAAA,+BACAmI,EAAAnI,EAAA,gCACAoI,EAAApI,EAAA,+BACAyH,EAAAzH,EAAA,iBACA0G,EAAA1G,EAAA,eAGAgF,EAAA,aAKA,SAAAqD,EAAA/B,EAAAgC,GACAtD,EAAAsB,GACA,IAAAhH,EAAAC,KACA4B,EAAAb,KAAAf,MAEAmB,WAAA,WACApB,EAAAiJ,MAAAjC,EAAAgC,IACA,GAGA1H,EAAAyH,EAAAlH,GAIAkH,EAAAG,aAAA,SAAAlC,EAAAK,EAAA2B,GAEA,OAAAA,EAAAG,WACA,IAAA/B,EAAAC,EAAAwB,GAEAD,EAAAF,QACA,IAAAtB,EAAAC,EAAAuB,GAEAD,EAAAD,SAAAM,EAAAI,WACA,IAAAhC,EAAAC,EAAAsB,GAEAR,EAAAO,UACA,IAAAP,EAAAnB,EAAAK,GAEA,IAAAD,EAAAC,EAAAyB,IAGAC,EAAAjH,UAAAmH,MAAA,SAAAjC,EAAAgC,GACA,IAAAhJ,EAAAC,KACAoH,EAAA/B,EAAA+D,QAAArC,EAAA,SAEAtB,EAAA,QAAA2B,GAEApH,KAAAuH,GAAAuB,EAAAG,aAAAlC,EAAAK,EAAA2B,GAEA/I,KAAAqJ,WAAAlI,WAAA,WACAsE,EAAA,WACA1F,EAAAuJ,UAAA,GACAvJ,EAAA0C,KAAA,WACAqG,EAAAS,SAEAvJ,KAAAuH,GAAAtF,KAAA,SAAA,SAAAyF,EAAAC,GACAlC,EAAA,SAAAiC,EAAAC,GACA5H,EAAAuJ,UAAA,GACAvJ,EAAA0C,KAAA,SAAAiF,EAAAC,MAIAmB,EAAAjH,UAAAyH,SAAA,SAAA7H,GACAgE,EAAA,YACA+D,aAAAxJ,KAAAqJ,YACArJ,KAAAqJ,WAAA,MACA5H,GAAAzB,KAAAuH,IACAvH,KAAAuH,GAAAnC,QAEApF,KAAAuH,GAAA,MAGAuB,EAAAjH,UAAAuD,MAAA,WACAK,EAAA,SACAzF,KAAA8B,qBACA9B,KAAAsJ,UAAA,IAGAR,EAAAS,QAAA,IAEA7J,EAAAD,QAAAqJ,mQCxFA,aAEApJ,EAAAD,QAAAK,EAAA2J,UAAA,CACAjD,OAAA,sBACAkD,SAAA,QACAC,KAAA,YACAC,KAAA,GACA3C,KAAA,oBACAb,KAAA,4JCRA,aAEA3F,EAAA,WAEA,IAwBAoJ,EAxBAC,EAAArJ,EAAA,aACAY,EAAAZ,EAAA,YACA6D,EAAA7D,EAAA,SACAsJ,EAAAtJ,EAAA,kBACAuJ,EAAAvJ,EAAA,kBACA4E,EAAA5E,EAAA,eACA6E,EAAA7E,EAAA,iBACAgE,EAAAhE,EAAA,qBACAyG,EAAAzG,EAAA,kBACAwJ,EAAAxJ,EAAA,mBACAyJ,EAAAzJ,EAAA,eACAa,EAAAb,EAAA,iBACAkB,EAAAlB,EAAA,uBACA+E,EAAA/E,EAAA,cACAc,EAAAd,EAAA,iBACA2D,EAAA3D,EAAA,yBACAqI,EAAArI,EAAA,mBAGAgF,EAAA,aAQA,SAAAxF,EAAAmH,EAAA+C,EAAAC,GACA,KAAApK,gBAAAC,GACA,OAAA,IAAAA,EAAAmH,EAAA+C,EAAAC,GAEA,GAAA5H,UAAAxB,OAAA,EACA,MAAA,IAAAqJ,UAAA,wEAEA1I,EAAAZ,KAAAf,MAEAA,KAAAsK,WAAArK,EAAAsK,WACAvK,KAAAwK,WAAA,GACAxK,KAAA0J,SAAA,IAGAU,EAAAA,GAAA,IACAK,qBACAP,EAAAQ,KAAA,kEAEA1K,KAAA2K,qBAAAP,EAAAP,WACA7J,KAAA4K,kBAAAR,EAAAS,kBAAA,GACA7K,KAAA8K,SAAAV,EAAAb,SAAA,EAEA,IAAAwB,EAAAX,EAAAW,WAAA,EACA,GAAA,mBAAAA,EACA/K,KAAAgL,mBAAAD,MACA,CAAA,GAAA,iBAAAA,EAKA,MAAA,IAAAV,UAAA,+EAJArK,KAAAgL,mBAAA,WACA,OAAAjB,EAAAkB,OAAAF,IAMA/K,KAAAkL,QAAAd,EAAAe,QAAApB,EAAAqB,aAAA,KAGA,IAAAC,EAAA,IAAAvB,EAAA1C,GACA,IAAAiE,EAAA1B,OAAA0B,EAAA3B,SACA,MAAA,IAAA4B,YAAA,YAAAlE,EAAA,gBACA,GAAAiE,EAAAjF,KACA,MAAA,IAAAkF,YAAA,uCACA,GAAA,UAAAD,EAAA3B,UAAA,WAAA2B,EAAA3B,SACA,MAAA,IAAA4B,YAAA,yDAAAD,EAAA3B,SAAA,qBAGA,IAAA6B,EAAA,WAAAF,EAAA3B,SAEA,GAAA,WAAAlE,EAAAkE,WAAA6B,EACA,MAAA,IAAA3K,MAAA,mGAKAuJ,EAEAtH,MAAA2I,QAAArB,KACAA,EAAA,CAAAA,IAFAA,EAAA,GAMA,IAAAsB,EAAAtB,EAAAuB,OACAD,EAAA5F,QAAA,SAAA8F,EAAApL,GACA,IAAAoL,EACA,MAAA,IAAAL,YAAA,wBAAAK,EAAA,iBAEA,GAAApL,EAAAkL,EAAAzK,OAAA,GAAA2K,IAAAF,EAAAlL,EAAA,GACA,MAAA,IAAA+K,YAAA,wBAAAK,EAAA,sBAKA,IAAArL,EAAA+E,EAAAuG,UAAApG,EAAAyB,MACAjH,KAAA6L,QAAAvL,EAAAA,EAAAwL,cAAA,KAGAT,EAAAU,IAAA,WAAAV,EAAAW,SAAAC,QAAA,OAAA,KAGAjM,KAAAoH,IAAAiE,EAAApE,KACAxB,EAAA,YAAAzF,KAAAoH,KAKApH,KAAAkM,SAAA,CACAC,YAAAlC,EAAAmC,YACAlD,WAAA7D,EAAA2B,cAAAhH,KAAAoH,IAAA5B,EAAAyB,MACAkC,WAAA9D,EAAAgH,cAAArM,KAAAoH,IAAA5B,EAAAyB,OAGAjH,KAAAsM,IAAA,IAAAxD,EAAA9I,KAAAoH,IAAApH,KAAAkM,UACAlM,KAAAsM,IAAArK,KAAA,SAAAjC,KAAAuM,aAAA3H,KAAA5E,OAKA,SAAAwM,EAAA3L,GACA,OAAA,MAAAA,GAAA,KAAAA,GAAAA,GAAA,KAHAQ,EAAApB,EAAA0B,GAMA1B,EAAA4B,UAAAuD,MAAA,SAAAvE,EAAAa,GAEA,GAAAb,IAAA2L,EAAA3L,GACA,MAAA,IAAAD,MAAA,oCAGA,GAAAc,GAAA,IAAAA,EAAAV,OACA,MAAA,IAAAsK,YAAA,yCAIA,GAAAtL,KAAAsK,aAAArK,EAAAwM,SAAAzM,KAAAsK,aAAArK,EAAAyM,OAAA,CAMA1M,KAAAmF,OAAAtE,GAAA,IAAAa,GAAA,kBADA,KAIAzB,EAAA4B,UAAAqD,KAAA,SAAAb,GAMA,GAHA,iBAAAA,IACAA,EAAA,GAAAA,GAEArE,KAAAsK,aAAArK,EAAAsK,WACA,MAAA,IAAA3J,MAAA,kEAEAZ,KAAAsK,aAAArK,EAAA0M,MAGA3M,KAAA0E,WAAAQ,KAAA8E,EAAA4C,MAAAvI,KAGApE,EAAA4G,QAAApG,EAAA,aAEAR,EAAAsK,WAAA,EACAtK,EAAA0M,KAAA,EACA1M,EAAAwM,QAAA,EACAxM,EAAAyM,OAAA,EAEAzM,EAAA4B,UAAA0K,aAAA,SAAA7E,EAAAC,GAGA,GAFAlC,EAAA,eAAAkC,GACA3H,KAAAsM,IAAA,KACA5E,EAAA,CAOA1H,KAAA6M,KAAA7M,KAAA8M,SAAAnF,GAEA3H,KAAA+M,UAAArF,EAAAsF,SAAAtF,EAAAsF,SAAAhN,KAAAoH,IACAM,EAAAR,EAAA+F,OAAAvF,EAAA1H,KAAAkM,UACAzG,EAAA,OAAAiC,GAEA,IAAAwF,EAAArD,EAAAsD,gBAAAnN,KAAA2K,qBAAAjD,GACA1H,KAAAoN,YAAAF,EAAAG,KACA5H,EAAAzF,KAAAoN,YAAApM,OAAA,uBAEAhB,KAAAsN,gBAhBAtN,KAAAmF,OAAA,KAAA,6BAmBAlF,EAAA4B,UAAAyL,SAAA,WACA,IAAA,IAAAC,EAAAvN,KAAAoN,YAAAI,QAAAD,EAAAA,EAAAvN,KAAAoN,YAAAI,QAAA,CAEA,GADA/H,EAAA,UAAA8H,EAAAvH,eACAuH,EAAAE,YACA3N,EAAAyI,SAAAC,WACA,IAAA1I,EAAAyI,SAAA+B,YACA,aAAAxK,EAAAyI,SAAA+B,YACA,gBAAAxK,EAAAyI,SAAA+B,YAIA,OAHA7E,EAAA,oBACAzF,KAAAoN,YAAAM,QAAAH,QACAjI,EAAAe,YAAA,OAAArG,KAAAsN,SAAA1I,KAAA5E,OAMA,IAAA2N,EAAAC,KAAAC,IAAA7N,KAAA8K,SAAA9K,KAAA6M,KAAAU,EAAAO,YAAA,KACA9N,KAAA+N,oBAAA5M,WAAAnB,KAAAgO,kBAAApJ,KAAA5E,MAAA2N,GACAlI,EAAA,gBAAAkI,GAEA,IAAAM,EAAA5I,EAAA+D,QAAApJ,KAAA+M,UAAA,IAAA/M,KAAAkL,QAAA,IAAAlL,KAAAgL,sBACAZ,EAAApK,KAAA4K,kBAAA2C,EAAAvH,eACAP,EAAA,gBAAAwI,GACA,IAAAC,EAAA,IAAAX,EAAAU,EAAAjO,KAAA+M,UAAA3C,GAMA,OALA8D,EAAA9L,GAAA,UAAApC,KAAA2E,kBAAAC,KAAA5E,OACAkO,EAAAjM,KAAA,QAAAjC,KAAA6E,gBAAAD,KAAA5E,OACAkO,EAAAlI,cAAAuH,EAAAvH,mBACAhG,KAAA0E,WAAAwJ,GAIAlO,KAAAmF,OAAA,IAAA,yBAAA,IAGAlF,EAAA4B,UAAAmM,kBAAA,WACAvI,EAAA,qBACAzF,KAAAsK,aAAArK,EAAAsK,aACAvK,KAAA0E,YACA1E,KAAA0E,WAAAU,QAGApF,KAAA6E,gBAAA,KAAA,yBAIA5E,EAAA4B,UAAA8C,kBAAA,SAAA0D,GACA5C,EAAA,oBAAA4C,GACA,IAGA8F,EAHApO,EAAAC,KACA+B,EAAAsG,EAAApE,MAAA,EAAA,GACAmK,EAAA/F,EAAApE,MAAA,GAKA,OAAAlC,GACA,IAAA,IAEA,YADA/B,KAAAqO,QAEA,IAAA,IAGA,OAFArO,KAAAkE,cAAA,IAAA5C,EAAA,mBACAmE,EAAA,YAAAzF,KAAAyE,WAIA,GAAA2J,EACA,IACAD,EAAA7J,EAAAoC,MAAA0H,GACA,MAAAjO,GACAsF,EAAA,WAAA2I,GAIA,QAAA,IAAAD,EAKA,OAAApM,GACA,IAAA,IACAc,MAAA2I,QAAA2C,IACAA,EAAAtI,QAAA,SAAA/E,GACA2E,EAAA,UAAA1F,EAAA0E,UAAA3D,GACAf,EAAAmE,cAAA,IAAAE,EAAAtD,MAGA,MACA,IAAA,IACA2E,EAAA,UAAAzF,KAAAyE,UAAA0J,GACAnO,KAAAkE,cAAA,IAAAE,EAAA+J,IACA,MACA,IAAA,IACAtL,MAAA2I,QAAA2C,IAAA,IAAAA,EAAAnN,QACAhB,KAAAmF,OAAAgJ,EAAA,GAAAA,EAAA,IAAA,QAnBA1I,EAAA,gBAAA2I,IAyBAnO,EAAA4B,UAAAgD,gBAAA,SAAAhE,EAAAa,GACA+D,EAAA,kBAAAzF,KAAAyE,UAAA5D,EAAAa,GACA1B,KAAA0E,aACA1E,KAAA0E,WAAA5C,qBACA9B,KAAA0E,WAAA,KACA1E,KAAAyE,UAAA,MAGA+H,EAAA3L,IAAA,MAAAA,GAAAb,KAAAsK,aAAArK,EAAAsK,WAKAvK,KAAAmF,OAAAtE,EAAAa,GAJA1B,KAAAsN,YAOArN,EAAA4B,UAAAwM,MAAA,WACA5I,EAAA,QAAAzF,KAAA0E,YAAA1E,KAAA0E,WAAAsB,cAAAhG,KAAAsK,YACAtK,KAAAsK,aAAArK,EAAAsK,YACAvK,KAAA+N,sBACAvE,aAAAxJ,KAAA+N,qBACA/N,KAAA+N,oBAAA,MAEA/N,KAAAsK,WAAArK,EAAA0M,KACA3M,KAAAyE,UAAAzE,KAAA0E,WAAAsB,cACAhG,KAAAkE,cAAA,IAAA5C,EAAA,SACAmE,EAAA,YAAAzF,KAAAyE,YAIAzE,KAAAmF,OAAA,KAAA,wBAIAlF,EAAA4B,UAAAsD,OAAA,SAAAtE,EAAAa,EAAAD,GACAgE,EAAA,SAAAzF,KAAAyE,UAAA5D,EAAAa,EAAAD,EAAAzB,KAAAsK,YACA,IAAAgE,GAAA,EAaA,GAXAtO,KAAAsM,MACAgC,GAAA,EACAtO,KAAAsM,IAAAlH,QACApF,KAAAsM,IAAA,MAEAtM,KAAA0E,aACA1E,KAAA0E,WAAAU,QACApF,KAAA0E,WAAA,KACA1E,KAAAyE,UAAA,MAGAzE,KAAAsK,aAAArK,EAAAyM,OACA,MAAA,IAAA9L,MAAA,qDAGAZ,KAAAsK,WAAArK,EAAAwM,QACAtL,WAAA,WACAnB,KAAAsK,WAAArK,EAAAyM,OAEA4B,GACAtO,KAAAkE,cAAA,IAAA5C,EAAA,UAGA,IAAAnB,EAAA,IAAAoB,EAAA,SACApB,EAAAsB,SAAAA,IAAA,EACAtB,EAAAU,KAAAA,GAAA,IACAV,EAAAuB,OAAAA,EAEA1B,KAAAkE,cAAA/D,GACAH,KAAAuO,UAAAvO,KAAAwO,QAAAxO,KAAAyO,QAAA,KACAhJ,EAAA,iBACAb,KAAA5E,MAAA,IAKAC,EAAA4B,UAAAiL,SAAA,SAAAnF,GAOA,OAAA,IAAAA,EACA,EAAAA,EAEA,IAAAA,GAGAjI,EAAAD,QAAA,SAAAiG,GAGA,OAFAmE,EAAApF,EAAAiB,GACAjF,EAAA,qBAAAA,CAAAR,EAAAyF,GACAzF,+gBC9XA,aAWA,SAAAyO,EAAAC,GACA,MAAA,sBAAAC,EAAAC,SAAA9N,KAAA4N,GAKA,SAAAG,EAAAC,GACA,MAAA,oBAAAC,EAAAjO,KAAAgO,GAdA,IA4BAE,EA5BAC,EAAArM,MAAAhB,UACA+M,EAAAO,OAAAtN,UACAuN,EAAAC,SAAAxN,UACAyN,EAAAC,OAAA1N,UACA2N,EAAAN,EAAAjL,MAEA+K,EAAAJ,EAAAC,SAWAY,EAAAN,OAAAF,gBAAA,WACA,IAEA,OADAE,OAAAF,eAAA,GAAA,IAAA,KACA,EACA,MAAA9O,GACA,OAAA,GALA,GAaA8O,EADAQ,EACA,SAAAC,EAAAC,EAAAC,EAAAC,IACAA,GAAAF,KAAAD,GACAP,OAAAF,eAAAS,EAAAC,EAAA,CACAG,cAAA,EACAC,YAAA,EACAC,UAAA,EACAC,MAAAL,KAIA,SAAAF,EAAAC,EAAAC,EAAAC,IACAA,GAAAF,KAAAD,IACAA,EAAAC,GAAAC,IAGA,SAAAM,EAAAR,EAAAS,EAAAN,GACA,IAAA,IAAAF,KAAAQ,EACAvB,EAAAwB,eAAArP,KAAAoP,EAAAR,IACAV,EAAAS,EAAAC,EAAAQ,EAAAR,GAAAE,GAKA,SAAAQ,EAAA/P,GACA,GAAA,MAAAA,EACA,MAAA,IAAA+J,UAAA,iBAAA/J,EAAA,cAEA,OAAA6O,OAAA7O,GAkCA,SAAAgQ,KAEAJ,EAAAd,EAAA,CACAxK,KAAA,SAAA2L,GAEA,IAAAC,EAAAxQ,KAEA,IAAA0O,EAAA8B,GACA,MAAA,IAAAnG,UAAA,kDAAAmG,GAmFA,IA9EA,IAAA5N,EAAA4M,EAAAzO,KAAAyB,UAAA,GAyEAiO,EAAA7C,KAAAC,IAAA,EAAA2C,EAAAxP,OAAA4B,EAAA5B,QAIA0P,EAAA,GACAnQ,EAAA,EAAAA,EAAAkQ,EAAAlQ,IACAmQ,EAAAC,KAAA,IAAApQ,GASA,IAAAqQ,EAAAvB,SAAA,SAAA,oBAAAqB,EAAAG,KAAA,KAAA,6CAAAxB,CA9EA,WAEA,GAAArP,gBAAA4Q,EAAA,CAiBA,IAAAE,EAAAN,EAAAjO,MACAvC,KACA4C,EAAAmB,OAAAyL,EAAAzO,KAAAyB,aAEA,OAAA2M,OAAA2B,KAAAA,EACAA,EAEA9Q,KAsBA,OAAAwQ,EAAAjO,MACAgO,EACA3N,EAAAmB,OAAAyL,EAAAzO,KAAAyB,eA0DA,OA5BAgO,EAAA3O,YACAyO,EAAAzO,UAAA2O,EAAA3O,UACA+O,EAAA/O,UAAA,IAAAyO,EAEAA,EAAAzO,UAAA,MAwBA+O,KAYAV,EAAArN,MAAA,CAAA2I,QAhOA,SAAAuD,GACA,MAAA,mBAAAC,EAAAjO,KAAAgO,MAkOA,IAGAa,EAEAmB,EACAC,EANAC,EAAA9B,OAAA,KACA+B,EAAA,MAAAD,EAAA,MAAA,KAAAA,GAmBAf,EAAAhB,EAAA,CACArJ,QAAA,SAAAsL,EAAA,GACA,IAAAzB,EAAAW,EAAArQ,MACAD,EAAAmR,GAAApC,EAAA9O,MAAAA,KAAAoR,MAAA,IAAA1B,EACA2B,EAHA,EAIA9Q,GAAA,EACAS,EAAAjB,EAAAiB,SAAA,EAGA,IAAA0N,EAAAyC,GACA,MAAA,IAAA9G,UAGA,OAAA9J,EAAAS,GACAT,KAAAR,GAIAoR,EAAApQ,KAAAsQ,EAAAtR,EAAAQ,GAAAA,EAAAmP,MAnCAE,EAuCAV,EAAArJ,QApCAmL,EADAD,GAAA,EAEAnB,IACAA,EAAA7O,KAAA,MAAA,SAAAuQ,EAAAC,EAAAC,GACA,iBAAAA,IAAAT,GAAA,KAGAnB,EAAA7O,KAAA,CAAA,GAAA,WAEAiQ,EAAA,iBAAAhR,MACA,QAEA4P,GAAAmB,GAAAC,KA8BA,IAAAS,EAAA5O,MAAAhB,UAAAiC,UAAA,IAAA,CAAA,EAAA,GAAAA,QAAA,EAAA,GACAoM,EAAAhB,EAAA,CACApL,QAAA,SAAA4N,EAAA,GACA,IAAA3R,EAAAmR,GAAApC,EAAA9O,MAAAA,KAAAoR,MAAA,IAAAf,EAAArQ,MACAgB,EAAAjB,EAAAiB,SAAA,EAEA,IAAAA,EACA,OAAA,EAGA,IAAAT,EAAA,EAOA,IANA,EAAAiC,UAAAxB,SACAT,EAnOA,SAAAoR,GACA,IAAAvR,GAAAuR,EAMA,OALAvR,GAAAA,EACAA,EAAA,EACA,IAAAA,GAAAA,IAAA,EAAA,GAAAA,KAAA,EAAA,IACAA,GAAA,EAAAA,IAAA,GAAAwN,KAAAgE,MAAAhE,KAAAiE,IAAAzR,KAEAA,EA4NA0R,CAVA,IAcAvR,EAAA,GAAAA,EAAAA,EAAAqN,KAAAC,IAAA,EAAA7M,EAAAT,GACAA,EAAAS,EAAAT,IACA,GAAAA,KAAAR,GAAAA,EAAAQ,KAAAmR,EACA,OAAAnR,EAGA,OAAA,IAEAkR,GAsBA,IAUAM,EAVAC,EAAA1C,EAAA8B,MAEA,IAAA,KAAAA,MAAA,WAAApQ,QACA,IAAA,IAAAoQ,MAAA,YAAApQ,QACA,MAAA,QAAAoQ,MAAA,QAAA,IACA,IAAA,OAAAA,MAAA,QAAA,GAAApQ,QACA,GAAAoQ,MAAA,MAAApQ,QACA,EAAA,IAAAoQ,MAAA,QAAApQ,QAGA+Q,OAAA,IAAA,OAAAE,KAAA,IAAA,GAEA3C,EAAA8B,MAAA,SAAAc,EAAAC,GACA,IAAAlH,EAAAjL,KACA,QAAA,IAAAkS,GAAA,IAAAC,EACA,MAAA,GAIA,GAAA,oBAAAnD,EAAAjO,KAAAmR,GACA,OAAAF,EAAAjR,KAAAf,KAAAkS,EAAAC,GAGA,IAOAC,EAAAC,EAAAC,EAAAC,EAPAC,EAAA,GACAC,GAAAP,EAAAQ,WAAA,IAAA,KACAR,EAAAS,UAAA,IAAA,KACAT,EAAAU,SAAA,IAAA,KACAV,EAAAW,OAAA,IAAA,IACAC,EAAA,EAmBA,IAhBAZ,EAAA,IAAAa,OAAAb,EAAA5L,OAAAmM,EAAA,KACAxH,GAAA,GACA8G,IAEAK,EAAA,IAAAW,OAAA,IAAAb,EAAA5L,OAAA,WAAAmM,IASAN,OAAA,IAAAA,GACA,IAAA,EAxSA,SAAAa,GACA,OAAAA,IAAA,EAwSAC,CAAAd,IACAE,EAAAH,EAAAD,KAAAhH,OAGA6H,GADAR,EAAAD,EAAAa,MAAAb,EAAA,GAAArR,UAEAwR,EAAA7B,KAAA1F,EAAAhH,MAAA6O,EAAAT,EAAAa,SAGAnB,GAAA,EAAAM,EAAArR,QACAqR,EAAA,GAAApG,QAAAmG,EAAA,WACA,IAAA,IAAA7R,EAAA,EAAAA,EAAAiC,UAAAxB,OAAA,EAAAT,SACA,IAAAiC,UAAAjC,KACA8R,EAAA9R,QAAA,KAKA,EAAA8R,EAAArR,QAAAqR,EAAAa,MAAAjI,EAAAjK,QACAkO,EAAAyB,KAAApO,MAAAiQ,EAAAH,EAAApO,MAAA,IAEAsO,EAAAF,EAAA,GAAArR,OACA8R,EAAAR,EACAE,EAAAxR,QAAAmR,KAIAD,EAAAI,YAAAD,EAAAa,OACAhB,EAAAI,YAUA,OAPAQ,IAAA7H,EAAAjK,QACAuR,GAAAL,EAAAiB,KAAA,KACAX,EAAA7B,KAAA,IAGA6B,EAAA7B,KAAA1F,EAAAhH,MAAA6O,IAEAN,EAAAxR,OAAAmR,EAAAK,EAAAvO,MAAA,EAAAkO,GAAAK,IAUA,IAAApB,WAAA,EAAA,GAAApQ,SACAsO,EAAA8B,MAAA,SAAAc,EAAAC,GACA,YAAA,IAAAD,GAAA,IAAAC,EAAA,GACAH,EAAAjR,KAAAf,KAAAkS,EAAAC,KASA,IAAAiB,EAAA9D,EAAA+D,OACAC,EAAA,GAAAD,QAAA,MAAA,KAAAA,QAAA,GACAnD,EAAAZ,EAAA,CACA+D,OAAA,SAAAE,EAAAvS,GACA,OAAAoS,EAAArS,KACAf,KACAuT,EAAA,IAAAA,EAAAvT,KAAAgB,OAAAuS,GAAA,EAAA,EAAAA,EACAvS,KAGAsS,4BCncA,aAEA5T,EAAAD,QAAA,CAEAgB,EAAA,yBACAA,EAAA,6BACAA,EAAA,6BACAA,EAAA,2BACAA,EAAA,8BAAAA,CAAAA,EAAA,4BAGAA,EAAA,wBACAA,EAAA,8BAAAA,CAAAA,EAAA,yBACAA,EAAA,2BACAA,EAAA,2BACAA,EAAA,8BAAAA,CAAAA,EAAA,4BACAA,EAAA,6UChBA,aAEA,IAAAmB,EAAAnB,EAAA,UAAAmB,aACAP,EAAAZ,EAAA,YACAuH,EAAAvH,EAAA,qBACA4E,EAAA5E,EAAA,mBACA+S,EAAA1T,EAAA2T,eAGAhO,EAAA,aAKA,SAAAiO,EAAA9D,EAAAxI,EAAA+G,EAAAwF,GACAlO,EAAAmK,EAAAxI,GACA,IAAArH,EAAAC,KACA4B,EAAAb,KAAAf,MAEAmB,WAAA,WACApB,EAAA6T,OAAAhE,EAAAxI,EAAA+G,EAAAwF,IACA,GAGAtS,EAAAqS,EAAA9R,GAEA8R,EAAA7R,UAAA+R,OAAA,SAAAhE,EAAAxI,EAAA+G,EAAAwF,GACA,IAAA5T,EAAAC,KAEA,IACAA,KAAA6T,IAAA,IAAAL,EACA,MAAAR,IAIA,IAAAhT,KAAA6T,IAIA,OAHApO,EAAA,UACAzF,KAAAyC,KAAA,SAAA,EAAA,uBACAzC,KAAAsJ,WAKAlC,EAAA/B,EAAAyO,SAAA1M,EAAA,OAAA,IAAA7D,MAIAvD,KAAA+T,UAAA/L,EAAAgM,UAAA,WACAvO,EAAA,kBACA1F,EAAAuJ,UAAA,KAEA,IACAtJ,KAAA6T,IAAAI,KAAArE,EAAAxI,GAAA,GACApH,KAAAuJ,SAAA,YAAAvJ,KAAA6T,MACA7T,KAAA6T,IAAAtK,QAAAvJ,KAAAuJ,QACAvJ,KAAA6T,IAAAK,UAAA,WACAzO,EAAA,eACA1F,EAAA0C,KAAA,SAAA,EAAA,IACA1C,EAAAuJ,UAAA,KAGA,MAAAnJ,GAKA,OAJAsF,EAAA,YAAAtF,GAEAH,KAAAyC,KAAA,SAAA,EAAA,SACAzC,KAAAsJ,UAAA,GAWA,GAPAqK,GAAAA,EAAAQ,gBAAAT,EAAAU,eACA3O,EAAA,mBAIAzF,KAAA6T,IAAAQ,iBAAA,GAEAV,GAAAA,EAAAW,QACA,IAAA,IAAAC,KAAAZ,EAAAW,QACAtU,KAAA6T,IAAAW,iBAAAD,EAAAZ,EAAAW,QAAAC,IAIAvU,KAAA6T,IAAAY,mBAAA,WACA,GAAA1U,EAAA8T,IAAA,CACA,IACApM,EAAAD,EADAwL,EAAAjT,EAAA8T,IAGA,OADApO,EAAA,aAAAuN,EAAA1I,YACA0I,EAAA1I,YACA,KAAA,EAGA,IACA9C,EAAAwL,EAAAxL,OACAC,EAAAuL,EAAA0B,aACA,MAAAvU,IAGAsF,EAAA,SAAA+B,GAEA,OAAAA,IACAA,EAAA,KAIA,MAAAA,GAAAC,GAAA,EAAAA,EAAAzG,SACAyE,EAAA,SACA1F,EAAA0C,KAAA,QAAA+E,EAAAC,IAEA,MACA,KAAA,EACAD,EAAAwL,EAAAxL,OACA/B,EAAA,SAAA+B,GAEA,OAAAA,IACAA,EAAA,KAIA,QAAAA,GAAA,QAAAA,IACAA,EAAA,GAGA/B,EAAA,SAAA+B,EAAAwL,EAAA0B,cACA3U,EAAA0C,KAAA,SAAA+E,EAAAwL,EAAA0B,cACA3U,EAAAuJ,UAAA,MAMA,IACAvJ,EAAA8T,IAAA3O,KAAAiJ,GACA,MAAAhO,GACAJ,EAAA0C,KAAA,SAAA,EAAA,IACA1C,EAAAuJ,UAAA,KAIAoK,EAAA7R,UAAAyH,SAAA,SAAAqL,GAEA,GADAlP,EAAA,WACAzF,KAAA6T,IAAA,CAYA,GATA7T,KAAA8B,qBACAkG,EAAA4M,UAAA5U,KAAA+T,WAGA/T,KAAA6T,IAAAY,mBAAA,aACAzU,KAAA6T,IAAAK,YACAlU,KAAA6T,IAAAK,UAAA,MAGAS,EACA,IACA3U,KAAA6T,IAAAc,QACA,MAAA3B,IAIAhT,KAAA+T,UAAA/T,KAAA6T,IAAA,OAGAH,EAAA7R,UAAAuD,MAAA,WACAK,EAAA,SACAzF,KAAAsJ,UAAA,IAGAoK,EAAAjL,UAAA+K,EAGA,IAAAqB,EAAA,CAAA,UAAA9Q,OAAA,UAAA8M,KAAA,MACA6C,EAAAjL,SAAAoM,KAAA/U,IACA2F,EAAA,6BAQAiO,EAAAjL,UAAA,IAPA+K,EAAA,WACA,IACA,OAAA,IAAA1T,EAAA+U,GAAA,qBACA,MAAA1U,GACA,OAAA,SAMA,IAAA2U,GAAA,EACA,IACAA,EAAA,oBAAA,IAAAtB,EACA,MAAA7M,IAIA+M,EAAAU,aAAAU,EAEApV,EAAAD,QAAAiU,6OChMAhU,EAAAD,QAAAK,EAAAiV,oKCAA,aAEA,IAAAC,EAAAlV,EAAAmV,WAAAnV,EAAAoV,aAEAxV,EAAAD,QADAuV,EACA,SAAA5N,GACA,OAAA,IAAA4N,EAAA5N,SAGA+N,6ICRA,aAEA,IAAA9T,EAAAZ,EAAA,YACA2U,EAAA3U,EAAA,oBACA4U,EAAA5U,EAAA,0BACA6U,EAAA7U,EAAA,qBACA8U,EAAA9U,EAAA,eAGA,SAAA+U,EAAA1O,GACA,IAAA0O,EAAA/M,UACA,MAAA,IAAA7H,MAAA,mCAGAwU,EAAArU,KAAAf,KAAA8G,EAAA,eAAAuO,EAAAC,GAGAjU,EAAAmU,EAAAJ,GAEAI,EAAA/M,QAAA,WACA,QAAA8M,GAGAC,EAAAxP,cAAA,cACAwP,EAAA1H,WAAA,EAEApO,EAAAD,QAAA+V,kIC1BA,aAEA,IAAAnU,EAAAZ,EAAA,YACAgV,EAAAhV,EAAA,uBACAoH,EAAApH,EAAA,sBACA2U,EAAA3U,EAAA,oBAGA,SAAAiV,EAAA5O,GACA,IAAA2O,EAAAhN,QACA,MAAA,IAAA7H,MAAA,mCAEAwU,EAAArU,KAAAf,KAAA8G,EAAA,YAAA2O,EAAA5N,GAGAxG,EAAAqU,EAAAN,GAEAM,EAAAjN,QAAA,SAAAf,GACA,OAAA+N,EAAAhN,SAAAf,EAAAwB,YAGAwM,EAAA1P,cAAA,WACA0P,EAAA5H,WAAA,EAEApO,EAAAD,QAAAiW,+GCxBA,aAUA,IAAArU,EAAAZ,EAAA,YACA6D,EAAA7D,EAAA,SACAmB,EAAAnB,EAAA,UAAAmB,aACAiF,EAAApG,EAAA,cACA4E,EAAA5E,EAAA,gBACA8D,EAAA9D,EAAA,mBACA6E,EAAA7E,EAAA,kBACAsJ,EAAAtJ,EAAA,mBAGAgF,EAAA,aAKA,SAAAwC,EAAAxD,EAAAqC,EAAAC,GACA,IAAAkB,EAAAQ,UACA,MAAA,IAAA7H,MAAA,mCAEAgB,EAAAb,KAAAf,MAEA,IAAAD,EAAAC,KACAA,KAAAwG,OAAAnB,EAAAuG,UAAA7E,GACA/G,KAAA+G,QAAAA,EACA/G,KAAA8G,SAAAA,EACA9G,KAAAyE,UAAAA,EACAzE,KAAA4G,SAAAmD,EAAAkB,OAAA,GAEA,IAAA0K,EAAAtQ,EAAA+D,QAAArC,EAAA,gBAAA,IAAA/G,KAAA4G,SACAnB,EAAAhB,EAAAqC,EAAA6O,GAEA3V,KAAA4V,UAAArR,EAAAsR,aAAAF,EAAA,SAAAzV,GACAuF,EAAA,gBACA1F,EAAA0C,KAAA,QAAA,KAAA,6BAAAvC,EAAA,KACAH,EAAAqF,UAGApF,KAAA8V,kBAAA9V,KAAA+V,SAAAnR,KAAA5E,MACAsF,EAAAe,YAAA,UAAArG,KAAA8V,mBAGAzU,EAAA4G,EAAArG,GAEAqG,EAAApG,UAAAuD,MAAA,WAGA,GAFAK,EAAA,SACAzF,KAAA8B,qBACA9B,KAAA4V,UAAA,CACAtQ,EAAA0Q,YAAA,UAAAhW,KAAA8V,mBACA,IAGA9V,KAAA8E,YAAA,KACA,MAAAkO,IAGAhT,KAAA4V,UAAAK,UACAjW,KAAA4V,UAAA,KACA5V,KAAA8V,kBAAA9V,KAAA4V,UAAA,OAIA3N,EAAApG,UAAAkU,SAAA,SAAA5V,GAEA,GADAsF,EAAA,UAAAtF,EAAAkE,MACAgB,EAAA2B,cAAA7G,EAAAqG,OAAAxG,KAAAwG,QAAA,CAKA,IAAAC,EACA,IACAA,EAAAnC,EAAAoC,MAAAvG,EAAAkE,MACA,MAAAsC,GAEA,YADAlB,EAAA,WAAAtF,EAAAkE,MAIA,GAAAoC,EAAAG,WAAA5G,KAAA4G,SAKA,OAAAH,EAAA1E,MACA,IAAA,IACA/B,KAAA4V,UAAAM,SAEAlW,KAAA8E,YAAA,IAAAR,EAAAS,UAAA,CACA8B,EACA7G,KAAAyE,UACAzE,KAAA8G,SACA9G,KAAA+G,WAEA,MACA,IAAA,IACA/G,KAAAyC,KAAA,UAAAgE,EAAApC,MACA,MACA,IAAA,IACA,IAAA8R,EACA,IACAA,EAAA7R,EAAAoC,MAAAD,EAAApC,MACA,MAAAsC,GAEA,YADAlB,EAAA,WAAAgB,EAAApC,MAGArE,KAAAyC,KAAA,QAAA0T,EAAA,GAAAA,EAAA,IACAnW,KAAAoF,aA3BAK,EAAA,uBAAAgB,EAAAG,SAAA5G,KAAA4G,eAbAnB,EAAA,kBAAAtF,EAAAqG,OAAAxG,KAAAwG,SA6CAyB,EAAApG,UAAAiD,YAAA,SAAA/C,EAAAsC,GACAoB,EAAA,cAAA1D,EAAAsC,GACArE,KAAA4V,UAAAQ,KAAA9R,EAAAS,UAAA,CACA6B,SAAA5G,KAAA4G,SACA7E,KAAAA,EACAsC,KAAAA,GAAA,KACArE,KAAAwG,SAGAyB,EAAApG,UAAAqD,KAAA,SAAAmR,GACA5Q,EAAA,OAAA4Q,GACArW,KAAA8E,YAAA,IAAAuR,IAGApO,EAAAQ,QAAA,WACA,OAAAlE,EAAA+R,eAGArO,EAAAjC,cAAA,SACAiC,EAAA6F,WAAA,EAEApO,EAAAD,QAAAwI,0LC5IA,aAUA,IAAA5G,EAAAZ,EAAA,YACA8V,EAAA9V,EAAA,yBACA+V,EAAA/V,EAAA,oBACAgW,EAAAhW,EAAA,kBAGA,SAAAiW,EAAA5P,GACA,IAAA4P,EAAAjO,UACA,MAAA,IAAA7H,MAAA,mCAEA2V,EAAAxV,KAAAf,KAAA8G,EAAA,SAAA2P,EAAAD,GAGAnV,EAAAqV,EAAAH,GAEAG,EAAAjO,QAAA,WACA,QAAA3I,EAAAyI,UAGAmO,EAAA1Q,cAAA,gBACA0Q,EAAA5I,WAAA,EACA4I,EAAAjJ,UAAA,EAEA/N,EAAAD,QAAAiX,+NCjCA,aAEA,IAAArV,EAAAZ,EAAA,YACA4E,EAAA5E,EAAA,mBACA8V,EAAA9V,EAAA,qBAGAgF,EAAA,aAmCA,SAAA2P,EAAAtO,EAAA6P,EAAAC,EAAAvP,GACAkP,EAAAxV,KAAAf,KAAA8G,EAAA6P,EA/BA,SAAAtP,GACA,OAAA,SAAAD,EAAA+G,EAAA0I,GACApR,EAAA,qBAAA2B,EAAA+G,GACA,IAAA2I,EAAA,GACA,iBAAA3I,IACA2I,EAAAxC,QAAA,CAAAyC,eAAA,eAEA,IAAAC,EAAA3R,EAAA+D,QAAAhC,EAAA,aACAG,EAAA,IAAAF,EAAA,OAAA2P,EAAA7I,EAAA2I,GAUA,OATAvP,EAAAtF,KAAA,SAAA,SAAAuF,GAIA,GAHA/B,EAAA,SAAA+B,GACAD,EAAA,KAEA,MAAAC,GAAA,MAAAA,EACA,OAAAqP,EAAA,IAAAjW,MAAA,eAAA4G,IAEAqP,MAEA,WACApR,EAAA,SACA8B,EAAAnC,QACAmC,EAAA,KAEA,IAAA0P,EAAA,IAAArW,MAAA,WACAqW,EAAApW,KAAA,IACAgW,EAAAI,KAMAC,CAAA7P,GAAAuP,EAAAvP,GAGAhG,EAAA+T,EAAAmB,GAEA7W,EAAAD,QAAA2V,mGChDA,aAEA,IAAA/T,EAAAZ,EAAA,YACAmB,EAAAnB,EAAA,UAAAmB,aAGA6D,EAAA,aAKA,SAAA0R,EAAA/P,EAAAgQ,GACA3R,EAAA2B,GACAxF,EAAAb,KAAAf,MACAA,KAAAqX,WAAA,GACArX,KAAAoX,OAAAA,EACApX,KAAAoH,IAAAA,EAGA/F,EAAA8V,EAAAvV,GAEAuV,EAAAtV,UAAAqD,KAAA,SAAAmR,GACA5Q,EAAA,OAAA4Q,GACArW,KAAAqX,WAAA1G,KAAA0F,GACArW,KAAAsX,UACAtX,KAAAuX,gBAYAJ,EAAAtV,UAAA2V,iBAAA,WACA/R,EAAA,oBACA,IACAgS,EADA1X,EAAAC,KAEAA,KAAAsX,SAAA,WACA7R,EAAA,YACA1F,EAAAuX,SAAA,KACA9N,aAAAiO,IAEAA,EAAAtW,WAAA,WACAsE,EAAA,WACA1F,EAAAuX,SAAA,KACAvX,EAAAwX,gBACA,KAGAJ,EAAAtV,UAAA0V,aAAA,WACA9R,EAAA,eAAAzF,KAAAqX,WAAArW,QACA,IAAAjB,EAAAC,KACA,GAAA,EAAAA,KAAAqX,WAAArW,OAAA,CACA,IAAAmN,EAAA,IAAAnO,KAAAqX,WAAAxG,KAAA,KAAA,IACA7Q,KAAAsX,SAAAtX,KAAAoX,OAAApX,KAAAoH,IAAA+G,EAAA,SAAA8I,GACAlX,EAAAuX,SAAA,KACAL,GACAxR,EAAA,QAAAwR,GACAlX,EAAA0C,KAAA,QAAAwU,EAAApW,MAAA,KAAA,kBAAAoW,GACAlX,EAAAqF,SAEArF,EAAAyX,qBAGAxX,KAAAqX,WAAA,KAIAF,EAAAtV,UAAAyH,SAAA,WACA7D,EAAA,YACAzF,KAAA8B,sBAGAqV,EAAAtV,UAAAuD,MAAA,WACAK,EAAA,SACAzF,KAAAsJ,WACAtJ,KAAAsX,WACAtX,KAAAsX,WACAtX,KAAAsX,SAAA,OAIA5X,EAAAD,QAAA0X,+ECtFA,aAEA,IAAA9V,EAAAZ,EAAA,YACAwH,EAAAxH,EAAA,aACAyG,EAAAzG,EAAA,sBAGAf,EAAAD,QAAA,SAAAgF,GAEA,SAAAiT,EAAA5Q,EAAAC,GACAkB,EAAAlH,KAAAf,KAAAyE,EAAAuB,cAAAc,EAAAC,GAqBA,OAlBA1F,EAAAqW,EAAAzP,GAEAyP,EAAAjP,QAAA,SAAArB,EAAAM,GACA,IAAA5H,EAAAyI,SACA,OAAA,EAGA,IAAAoP,EAAAzQ,EAAA+F,OAAA,GAAAvF,GAEA,OADAiQ,EAAAzO,YAAA,EACAzE,EAAAgE,QAAAkP,IAAA1P,EAAAQ,WAGAiP,EAAA1R,cAAA,UAAAvB,EAAAuB,cACA0R,EAAAjK,UAAA,EACAiK,EAAA5J,WAAA7F,EAAA6F,WAAArJ,EAAAqJ,WAAA,EAEA4J,EAAA3R,gBAAAtB,EAEAiT,kMC/BA,aAEA,IAAArW,EAAAZ,EAAA,YACAmB,EAAAnB,EAAA,UAAAmB,aAGA6D,EAAA,aAKA,SAAAmS,EAAAhB,EAAAiB,EAAAxQ,GACA5B,EAAAoS,GACAjW,EAAAb,KAAAf,MACAA,KAAA4W,SAAAA,EACA5W,KAAA6X,WAAAA,EACA7X,KAAAqH,WAAAA,EACArH,KAAA8X,oBAGAzW,EAAAuW,EAAAhW,GAEAgW,EAAA/V,UAAAiW,kBAAA,WACArS,EAAA,qBACA,IAAA1F,EAAAC,KACA+X,EAAA/X,KAAA+X,KAAA,IAAA/X,KAAA4W,SAAA5W,KAAA6X,WAAA7X,KAAAqH,YAEA0Q,EAAA3V,GAAA,UAAA,SAAAiG,GACA5C,EAAA,UAAA4C,GACAtI,EAAA0C,KAAA,UAAA4F,KAGA0P,EAAA9V,KAAA,QAAA,SAAApB,EAAAa,GACA+D,EAAA,QAAA5E,EAAAa,EAAA3B,EAAAiY,eACAjY,EAAAgY,KAAAA,EAAA,KAEAhY,EAAAiY,gBACA,YAAAtW,EACA3B,EAAA+X,qBAEA/X,EAAA0C,KAAA,QAAA5B,GAAA,KAAAa,GACA3B,EAAA+B,0BAMA8V,EAAA/V,UAAA8S,MAAA,WACAlP,EAAA,SACAzF,KAAA8B,qBACA9B,KAAAgY,eAAA,EACAhY,KAAA+X,MACA/X,KAAA+X,KAAApD,SAIAjV,EAAAD,QAAAmY,kECxDA,aAEA,IAAAvW,EAAAZ,EAAA,YACA4E,EAAA5E,EAAA,mBACA0W,EAAA1W,EAAA,qBACAmX,EAAAnX,EAAA,aAGAgF,EAAA,aAKA,SAAA8Q,EAAAzP,EAAA6P,EAAAsB,EAAArB,EAAAvP,GACA,IAAA6Q,EAAA7S,EAAA+D,QAAAtC,EAAA6P,GACAlR,EAAAyS,GACA,IAAAnY,EAAAC,KACAmX,EAAApW,KAAAf,KAAA8G,EAAAmR,GAEAjY,KAAA+X,KAAA,IAAAH,EAAAhB,EAAAsB,EAAA7Q,GACArH,KAAA+X,KAAA3V,GAAA,UAAA,SAAAiG,GACA5C,EAAA,eAAA4C,GACAtI,EAAA0C,KAAA,UAAA4F,KAEArI,KAAA+X,KAAA9V,KAAA,QAAA,SAAApB,EAAAa,GACA+D,EAAA,aAAA5E,EAAAa,GACA3B,EAAAgY,KAAA,KACAhY,EAAA0C,KAAA,QAAA5B,EAAAa,GACA3B,EAAAqF,UAIA/D,EAAAkV,EAAAY,GAEAZ,EAAA1U,UAAAuD,MAAA,WACA+R,EAAAtV,UAAAuD,MAAArE,KAAAf,MACAyF,EAAA,SACAzF,KAAA8B,qBACA9B,KAAA+X,OACA/X,KAAA+X,KAAApD,QACA3U,KAAA+X,KAAA,OAIArY,EAAAD,QAAA8W,kHC5CA,aAEA,IAAAlV,EAAAZ,EAAA,YACAmB,EAAAnB,EAAA,UAAAmB,aACA2T,EAAA9U,EAAA,eAGAgF,EAAA,aAKA,SAAA4P,EAAAjO,GACA3B,EAAA2B,GACAxF,EAAAb,KAAAf,MAEA,IAAAD,EAAAC,KACAmY,EAAAnY,KAAAmY,GAAA,IAAA5C,EAAAnO,GACA+Q,EAAA5J,UAAA,SAAApO,GACAsF,EAAA,UAAAtF,EAAAkE,MACAtE,EAAA0C,KAAA,UAAA2V,UAAAjY,EAAAkE,QAEA8T,EAAA1J,QAAA,SAAAtO,GACAsF,EAAA,QAAA0S,EAAA7N,WAAAnK,GAGA,IAAAuB,EAAA,IAAAyW,EAAA7N,WAAA,UAAA,YACAvK,EAAAuJ,WACAvJ,EAAAoF,OAAAzD,IAIAL,EAAAgU,EAAAzT,GAEAyT,EAAAxT,UAAA8S,MAAA,WACAlP,EAAA,SACAzF,KAAAsJ,WACAtJ,KAAAmF,OAAA,SAGAkQ,EAAAxT,UAAAyH,SAAA,WACA7D,EAAA,WACA,IAAA0S,EAAAnY,KAAAmY,GACAA,IACAA,EAAA5J,UAAA4J,EAAA1J,QAAA,KACA0J,EAAA/S,QACApF,KAAAmY,GAAA,OAIA9C,EAAAxT,UAAAsD,OAAA,SAAAzD,GACA+D,EAAA,QAAA/D,GACA,IAAA3B,EAAAC,KAIAmB,WAAA,WACApB,EAAA0C,KAAA,QAAA,KAAAf,GACA3B,EAAA+B,sBACA,MAGApC,EAAAD,QAAA4V,gGC9DA,aAEA,IAAAhU,EAAAZ,EAAA,YACA8D,EAAA9D,EAAA,sBACA4E,EAAA5E,EAAA,mBACAmB,EAAAnB,EAAA,UAAAmB,aACAmI,EAAAtJ,EAAA,sBAGAgF,EAAA,aAKA,SAAAgQ,EAAArO,GACA3B,EAAA2B,GACAxF,EAAAb,KAAAf,MACA,IAAAD,EAAAC,KACAuE,EAAA8T,yBAEArY,KAAAsY,GAAA,IAAAvO,EAAAkB,OAAA,GACA7D,EAAA/B,EAAAyO,SAAA1M,EAAA,KAAAmR,mBAAAhU,EAAAiU,QAAA,IAAAxY,KAAAsY,KAEA7S,EAAA,iBAAAgQ,EAAAgD,iBACA,IAAAC,EAAAjD,EAAAgD,gBACAlU,EAAAoU,eAAApU,EAAAsR,aAEA/V,EAAAyE,EAAAiU,SAAAxY,KAAAsY,IAAA,CACA/E,MAAA,WACA9N,EAAA,SACA1F,EAAA6V,UAAAM,UAEAG,QAAA,SAAAhS,GACAoB,EAAA,UAAApB,GACAtE,EAAA0C,KAAA,UAAA4B,IAEAuU,KAAA,WACAnT,EAAA,QACA1F,EAAAuJ,WACAvJ,EAAAoF,OAAA,aAGAnF,KAAA4V,UAAA8C,EAAAtR,EAAA,WACA3B,EAAA,YACA1F,EAAAuJ,WACAvJ,EAAAoF,OAAA,eAIA9D,EAAAoU,EAAA7T,GAEA6T,EAAA5T,UAAA8S,MAAA,WACAlP,EAAA,SACAzF,KAAAsJ,WACAtJ,KAAAmF,OAAA,SAGAsQ,EAAA5T,UAAAyH,SAAA,WACA7D,EAAA,YACAzF,KAAA4V,YACA5V,KAAA4V,UAAAK,UACAjW,KAAA4V,UAAA,aAEA9V,EAAAyE,EAAAiU,SAAAxY,KAAAsY,KAGA7C,EAAA5T,UAAAsD,OAAA,SAAAzD,GACA+D,EAAA,SAAA/D,GACA1B,KAAAyC,KAAA,QAAA,KAAAf,GACA1B,KAAA8B,sBAGA2T,EAAAgD,iBAAA,EAGA,IAAA5D,EAAA,CAAA,UAAA9Q,OAAA,UAAA8M,KAAA,KACA,GAAAgE,KAAA/U,EACA,IACA2V,EAAAgD,kBAAA,IAAA3Y,EAAA+U,GAAA,YACA,MAAA7B,IAKAyC,EAAAhN,QAAAgN,EAAAgD,iBAAAlU,EAAA+R,cAEA5W,EAAAD,QAAAgW,sQCtFA,aAEA,IAAAzN,EAAAvH,EAAA,sBACAsJ,EAAAtJ,EAAA,sBACAwJ,EAAAxJ,EAAA,uBACA4E,EAAA5E,EAAA,mBACAY,EAAAZ,EAAA,YACAmB,EAAAnB,EAAA,UAAAmB,aAGA6D,EAAA,aAKA,SAAA+Q,EAAApP,GACA3B,EAAA2B,GACA,IAAArH,EAAAC,KACA4B,EAAAb,KAAAf,MAEAgI,EAAAqQ,yBAEArY,KAAAsY,GAAA,IAAAvO,EAAAkB,OAAA,GACA,IAAA4N,EAAAxT,EAAAyO,SAAA1M,EAAA,KAAA0R,mBAAA9Q,EAAAwQ,QAAA,IAAAxY,KAAAsY,KAEAxY,EAAAkI,EAAAwQ,SAAAxY,KAAAsY,IAAAtY,KAAA+Y,UAAAnU,KAAA5E,MACAA,KAAAgZ,cAAAH,GAGA7Y,KAAAiZ,UAAA9X,WAAA,WACAsE,EAAA,WACA1F,EAAAmZ,OAAA,IAAAtY,MAAA,8CACA4V,EAAAjN,SAGAlI,EAAAmV,EAAA5U,GAEA4U,EAAA3U,UAAA8S,MAAA,WAEA,GADAlP,EAAA,SACA3F,EAAAkI,EAAAwQ,SAAAxY,KAAAsY,IAAA,CACA,IAAArB,EAAA,IAAArW,MAAA,2BACAqW,EAAApW,KAAA,IACAb,KAAAkZ,OAAAjC,KAIAT,EAAAjN,QAAA,KACAiN,EAAA2C,mBAAA,IAEA3C,EAAA3U,UAAAkX,UAAA,SAAA1U,GACAoB,EAAA,YAAApB,GACArE,KAAAsJ,WAEAtJ,KAAAoZ,WAIA/U,IACAoB,EAAA,UAAApB,GACArE,KAAAyC,KAAA,UAAA4B,IAEArE,KAAAyC,KAAA,QAAA,KAAA,WACAzC,KAAA8B,uBAGA0U,EAAA3U,UAAAqX,OAAA,SAAAjC,GACAxR,EAAA,SAAAwR,GACAjX,KAAAsJ,WACAtJ,KAAAoZ,UAAA,EACApZ,KAAAyC,KAAA,QAAAwU,EAAApW,KAAAoW,EAAAZ,SACArW,KAAA8B,sBAGA0U,EAAA3U,UAAAyH,SAAA,WAOA,GANA7D,EAAA,YACA+D,aAAAxJ,KAAAiZ,WACAjZ,KAAAqZ,UACArZ,KAAAqZ,QAAAC,WAAAC,YAAAvZ,KAAAqZ,SACArZ,KAAAqZ,QAAA,MAEArZ,KAAAwZ,OAAA,CACA,IAAAA,EAAAxZ,KAAAwZ,OAGAA,EAAAF,WAAAC,YAAAC,GACAA,EAAA/E,mBAAA+E,EAAA/K,QACA+K,EAAAC,OAAAD,EAAAE,QAAA,KACA1Z,KAAAwZ,OAAA,YAEA1Z,EAAAkI,EAAAwQ,SAAAxY,KAAAsY,KAGA9B,EAAA3U,UAAA8X,aAAA,WACAlU,EAAA,gBACA,IAAA1F,EAAAC,KACAA,KAAA4Z,aAIA5Z,KAAA4Z,WAAAzY,WAAA,WACApB,EAAA8Z,YACA9Z,EAAAmZ,OAAA,IAAAtY,MAAA,8CAEA4V,EAAA2C,sBAGA3C,EAAA3U,UAAAmX,cAAA,SAAA5R,GACA3B,EAAA,gBAAA2B,GACA,IAEAiS,EAFAtZ,EAAAC,KACAwZ,EAAAxZ,KAAAwZ,OAAA1Z,EAAAyI,SAAAuR,cAAA,UA0CA,GAvCAN,EAAAlB,GAAA,IAAAvO,EAAAkB,OAAA,GACAuO,EAAAO,IAAA3S,EACAoS,EAAAzX,KAAA,kBACAyX,EAAAQ,QAAA,QACAR,EAAA/K,QAAAzO,KAAA2Z,aAAA/U,KAAA5E,MACAwZ,EAAAC,OAAA,WACAhU,EAAA,UACA1F,EAAAmZ,OAAA,IAAAtY,MAAA,6CAKA4Y,EAAA/E,mBAAA,WAEA,GADAhP,EAAA,qBAAA+T,EAAAlP,YACA,gBAAA6I,KAAAqG,EAAAlP,YAAA,CACA,GAAAkP,GAAAA,EAAAS,SAAAT,EAAAE,QAAA,CACA3Z,EAAA8Z,YAAA,EACA,IAEAL,EAAAE,UACA,MAAA1G,KAIAwG,GACAzZ,EAAAmZ,OAAA,IAAAtY,MAAA,+DAcA,IAAA4Y,EAAAU,OAAApa,EAAAyI,SAAAlC,YAIA,GAAA4D,EAAAkQ,WAWAd,EAAArZ,KAAAqZ,QAAAvZ,EAAAyI,SAAAuR,cAAA,WACArS,KAAA,wCAAA+R,EAAAlB,GAAA,oCACAkB,EAAAU,MAAAb,EAAAa,OAAA,MAbA,CAEA,IACAV,EAAAS,QAAAT,EAAAlB,GACAkB,EAAArV,MAAA,UACA,MAAA6O,IAGAwG,EAAAU,OAAA,OAQA,IAAAV,EAAAU,QACAV,EAAAU,OAAA,GAGA,IAAAE,EAAAta,EAAAyI,SAAA8R,qBAAA,QAAA,GACAD,EAAAE,aAAAd,EAAAY,EAAAG,YACAlB,GACAe,EAAAE,aAAAjB,EAAAe,EAAAG,aAIA7a,EAAAD,QAAA+W,kRCtLA,aAEA,IAAAnV,EAAAZ,EAAA,YACAmB,EAAAnB,EAAA,UAAAmB,aAGA6D,EAAA,aAKA,SAAA+U,EAAApT,EAAAC,GACA5B,EAAA2B,GACAxF,EAAAb,KAAAf,MACA,IAAAD,EAAAC,KAEAA,KAAAya,eAAA,EAEAza,KAAAuH,GAAA,IAAAF,EAAA,OAAAD,EAAA,MACApH,KAAAuH,GAAAnF,GAAA,QAAApC,KAAA0a,cAAA9V,KAAA5E,OACAA,KAAAuH,GAAAtF,KAAA,SAAA,SAAAuF,EAAAC,GACAhC,EAAA,SAAA+B,EAAAC,GACA1H,EAAA2a,cAAAlT,EAAAC,GACA1H,EAAAwH,GAAA,KACA,IAAA7F,EAAA,MAAA8F,EAAA,UAAA,YACA/B,EAAA,QAAA/D,GACA3B,EAAA0C,KAAA,QAAA,KAAAf,GACA3B,EAAAuJ,aAIAjI,EAAAmZ,EAAA5Y,GAEA4Y,EAAA3Y,UAAA6Y,cAAA,SAAAlT,EAAAC,GAEA,GADAhC,EAAA,gBAAA+B,GACA,MAAAA,GAAAC,EAIA,IAAA,IAAAzD,GAAA,GAAAhE,KAAAya,gBAAAzW,EAAA,EAAA,CACA,IAAA2W,EAAAlT,EAAAxD,MAAAjE,KAAAya,gBAEA,IAAA,KADAzW,EAAA2W,EAAA7W,QAAA,OAEA,MAEA,IAAAuE,EAAAsS,EAAA1W,MAAA,EAAAD,GACAqE,IACA5C,EAAA,UAAA4C,GACArI,KAAAyC,KAAA,UAAA4F,MAKAmS,EAAA3Y,UAAAyH,SAAA,WACA7D,EAAA,YACAzF,KAAA8B,sBAGA0Y,EAAA3Y,UAAA8S,MAAA,WACAlP,EAAA,SACAzF,KAAAuH,KACAvH,KAAAuH,GAAAnC,QACAK,EAAA,SACAzF,KAAAyC,KAAA,QAAA,KAAA,QACAzC,KAAAuH,GAAA,MAEAvH,KAAAsJ,YAGA5J,EAAAD,QAAA+a,+ECrEA,aAEA,IASAI,EAAAC,EATA9Q,EAAAtJ,EAAA,sBACA4E,EAAA5E,EAAA,mBAGAgF,EAAA,aAmCA/F,EAAAD,QAAA,SAAA2H,EAAA+G,EAAA0I,GACApR,EAAA2B,EAAA+G,GACAyM,IAjBAnV,EAAA,eACAmV,EAAA9a,EAAAyI,SAAAuR,cAAA,SACAgB,MAAAC,QAAA,OACAH,EAAAE,MAAAE,SAAA,WACAJ,EAAAhL,OAAA,OACAgL,EAAAK,QAAA,oCACAL,EAAAM,cAAA,SAEAL,EAAA/a,EAAAyI,SAAAuR,cAAA,aACAnK,KAAA,IACAiL,EAAAO,YAAAN,GAEA/a,EAAAyI,SAAAC,KAAA2S,YAAAP,IAQA,IAAAtC,EAAA,IAAAvO,EAAAkB,OAAA,GACA2P,EAAApK,OAAA8H,EACAsC,EAAAQ,OAAA/V,EAAAyO,SAAAzO,EAAA+D,QAAAhC,EAAA,eAAA,KAAAkR,GAEA,IAAA+C,EArCA,SAAA/C,GACA7S,EAAA,eAAA6S,GACA,IAEA,OAAAxY,EAAAyI,SAAAuR,cAAA,iBAAAxB,EAAA,MACA,MAAAtF,GACA,IAAAqI,EAAAvb,EAAAyI,SAAAuR,cAAA,UAEA,OADAuB,EAAA1L,KAAA2I,EACA+C,GA6BAxF,CAAAyC,GACA+C,EAAA/C,GAAAA,EACA+C,EAAAP,MAAAC,QAAA,OACAH,EAAAO,YAAAE,GAEA,IACAR,EAAA5K,MAAA9B,EACA,MAAAhO,IAGAya,EAAAU,SAEA,SAAAC,EAAAtE,GACAxR,EAAA,YAAA6S,EAAArB,GACAoE,EAAA5M,UAGA4M,EAAA5G,mBAAA4G,EAAA5M,QAAA4M,EAAA5B,OAAA,KAGAtY,WAAA,WACAsE,EAAA,cAAA6S,GACA+C,EAAA/B,WAAAC,YAAA8B,GACAA,EAAA,MACA,KACAR,EAAA5K,MAAA,GAGA4G,EAAAI,IAgBA,OAdAoE,EAAA5M,QAAA,WACAhJ,EAAA,UAAA6S,GACAiD,KAEAF,EAAA5B,OAAA,WACAhU,EAAA,SAAA6S,GACAiD,KAEAF,EAAA5G,mBAAA,SAAAtU,GACAsF,EAAA,qBAAA6S,EAAA+C,EAAA/Q,WAAAnK,GACA,aAAAkb,EAAA/Q,YACAiR,KAGA,WACA9V,EAAA,UAAA6S,GACAiD,EAAA,IAAA3a,MAAA,iOChGA,aAEA,IAAAgB,EAAAnB,EAAA,UAAAmB,aACAP,EAAAZ,EAAA,YACA6E,EAAA7E,EAAA,qBACAwJ,EAAAxJ,EAAA,uBACA4E,EAAA5E,EAAA,mBAGAgF,EAAA,aASA,SAAA+V,EAAA5L,EAAAxI,EAAA+G,GACA1I,EAAAmK,EAAAxI,GACA,IAAArH,EAAAC,KACA4B,EAAAb,KAAAf,MAEAmB,WAAA,WACApB,EAAA6T,OAAAhE,EAAAxI,EAAA+G,IACA,GAGA9M,EAAAma,EAAA5Z,GAEA4Z,EAAA3Z,UAAA+R,OAAA,SAAAhE,EAAAxI,EAAA+G,GACA1I,EAAA,UACA,IAAA1F,EAAAC,KACAyb,EAAA,IAAA3b,EAAA4b,eAEAtU,EAAA/B,EAAAyO,SAAA1M,EAAA,OAAA,IAAA7D,MAEAkY,EAAAhN,QAAA,WACAhJ,EAAA,WACA1F,EAAA4b,UAEAF,EAAAvH,UAAA,WACAzO,EAAA,aACA1F,EAAA4b,UAEAF,EAAAG,WAAA,WACAnW,EAAA,WAAAgW,EAAA/G,cACA3U,EAAA0C,KAAA,QAAA,IAAAgZ,EAAA/G,eAEA+G,EAAAhC,OAAA,WACAhU,EAAA,QACA1F,EAAA0C,KAAA,SAAA,IAAAgZ,EAAA/G,cACA3U,EAAAuJ,UAAA,IAEAtJ,KAAAyb,IAAAA,EACAzb,KAAA+T,UAAAzO,EAAA0O,UAAA,WACAjU,EAAAuJ,UAAA,KAEA,IAEAtJ,KAAAyb,IAAAxH,KAAArE,EAAAxI,GACApH,KAAAuJ,UACAvJ,KAAAyb,IAAAlS,QAAAvJ,KAAAuJ,SAEAvJ,KAAAyb,IAAAvW,KAAAiJ,GACA,MAAA6E,GACAhT,KAAA2b,WAIAH,EAAA3Z,UAAA8Z,OAAA,WACA3b,KAAAyC,KAAA,SAAA,EAAA,IACAzC,KAAAsJ,UAAA,IAGAkS,EAAA3Z,UAAAyH,SAAA,SAAAqL,GAEA,GADAlP,EAAA,UAAAkP,GACA3U,KAAAyb,IAAA,CAOA,GAJAzb,KAAA8B,qBACAwD,EAAAsP,UAAA5U,KAAA+T,WAEA/T,KAAAyb,IAAAvH,UAAAlU,KAAAyb,IAAAhN,QAAAzO,KAAAyb,IAAAG,WAAA5b,KAAAyb,IAAAhC,OAAA,KACA9E,EACA,IACA3U,KAAAyb,IAAA9G,QACA,MAAA3B,IAIAhT,KAAA+T,UAAA/T,KAAAyb,IAAA,OAGAD,EAAA3Z,UAAAuD,MAAA,WACAK,EAAA,SACAzF,KAAAsJ,UAAA,IAIAkS,EAAA/S,WAAA3I,EAAA4b,iBAAAzR,EAAAmC,aAEA1M,EAAAD,QAAA+b,yPCtGA,aAEA,IAAAna,EAAAZ,EAAA,YACAob,EAAApb,EAAA,iBAGA,SAAA6U,EAAA1F,EAAAxI,EAAA+G,EAAAwF,GACAkI,EAAA9a,KAAAf,KAAA4P,EAAAxI,EAAA+G,EAAAwF,GAGAtS,EAAAiU,EAAAuG,GAEAvG,EAAA7M,QAAAoT,EAAApT,SAAAoT,EAAAzH,aAEA1U,EAAAD,QAAA6V,2DCdA,aAEA,IAAA1T,EAAAnB,EAAA,UAAAmB,aAIA,SAAAiH,IACA,IAAA9I,EAAAC,KACA4B,EAAAb,KAAAf,MAEAA,KAAA8b,GAAA3a,WAAA,WACApB,EAAA0C,KAAA,SAAA,IAAA,OACAoG,EAAAU,SATA9I,EAAA,WAYAY,CAAAwH,EAAAjH,GAEAiH,EAAAhH,UAAAuD,MAAA,WACAoE,aAAAxJ,KAAA8b,KAGAjT,EAAAU,QAAA,IAEA7J,EAAAD,QAAAoJ,mDCvBA,aAEA,IAAAxH,EAAAZ,EAAA,YACAob,EAAApb,EAAA,iBAGA,SAAAoH,EAAA+H,EAAAxI,EAAA+G,GACA0N,EAAA9a,KAAAf,KAAA4P,EAAAxI,EAAA+G,EAAA,CACAgG,eAAA,IAIA9S,EAAAwG,EAAAgU,GAEAhU,EAAAY,QAAAoT,EAAApT,QAEA/I,EAAAD,QAAAoI,2DChBA,aAEA,IAAAG,EAAAvH,EAAA,kBACA4E,EAAA5E,EAAA,gBACAY,EAAAZ,EAAA,YACAmB,EAAAnB,EAAA,UAAAmB,aACAma,EAAAtb,EAAA,sBAGAgF,EAAA,aAKA,SAAAuW,EAAAlV,EAAAmV,EAAA7R,GACA,IAAA4R,EAAAvT,UACA,MAAA,IAAA7H,MAAA,mCAGAgB,EAAAb,KAAAf,MACAyF,EAAA,cAAAqB,GAEA,IAAA/G,EAAAC,KACAoH,EAAA/B,EAAA+D,QAAAtC,EAAA,cAEAM,EADA,UAAAA,EAAAnD,MAAA,EAAA,GACA,MAAAmD,EAAAnD,MAAA,GAEA,KAAAmD,EAAAnD,MAAA,GAEAjE,KAAAoH,IAAAA,EAEApH,KAAAkc,GAAA,IAAAH,EAAA/b,KAAAoH,IAAA,GAAAgD,GACApK,KAAAkc,GAAA3N,UAAA,SAAApO,GACAsF,EAAA,gBAAAtF,EAAAkE,MACAtE,EAAA0C,KAAA,UAAAtC,EAAAkE,OAQArE,KAAA+T,UAAA/L,EAAAgM,UAAA,WACAvO,EAAA,UACA1F,EAAAmc,GAAA9W,UAEApF,KAAAkc,GAAA1N,QAAA,SAAArO,GACAsF,EAAA,cAAAtF,EAAAU,KAAAV,EAAAuB,QACA3B,EAAA0C,KAAA,QAAAtC,EAAAU,KAAAV,EAAAuB,QACA3B,EAAAuJ,YAEAtJ,KAAAkc,GAAAzN,QAAA,SAAAtO,GACAsF,EAAA,cAAAtF,GACAJ,EAAA0C,KAAA,QAAA,KAAA,+BACA1C,EAAAuJ,YAIAjI,EAAA2a,EAAApa,GAEAoa,EAAAna,UAAAqD,KAAA,SAAAb,GACA,IAAAgE,EAAA,IAAAhE,EAAA,IACAoB,EAAA,OAAA4C,GACArI,KAAAkc,GAAAhX,KAAAmD,IAGA2T,EAAAna,UAAAuD,MAAA,WACAK,EAAA,SACA,IAAAyW,EAAAlc,KAAAkc,GACAlc,KAAAsJ,WACA4S,GACAA,EAAA9W,SAIA4W,EAAAna,UAAAyH,SAAA,WACA7D,EAAA,YACA,IAAAyW,EAAAlc,KAAAkc,GACAA,IACAA,EAAA3N,UAAA2N,EAAA1N,QAAA0N,EAAAzN,QAAA,MAEAzG,EAAA4M,UAAA5U,KAAA+T,WACA/T,KAAA+T,UAAA/T,KAAAkc,GAAA,KACAlc,KAAA8B,sBAGAka,EAAAvT,QAAA,WAEA,OADAhD,EAAA,aACAsW,GAEAC,EAAAhW,cAAA,YAMAgW,EAAAlO,WAAA,EAEApO,EAAAD,QAAAuc,gIClGA,aAEA,IAAA3a,EAAAZ,EAAA,YACA2U,EAAA3U,EAAA,oBACA0b,EAAA1b,EAAA,mBACA+Z,EAAA/Z,EAAA,kBACA+a,EAAA/a,EAAA,gBAGA,SAAA2b,EAAAtV,GACA,IAAA0U,EAAA/S,QACA,MAAA,IAAA7H,MAAA,mCAEAwU,EAAArU,KAAAf,KAAA8G,EAAA,OAAA0T,EAAAgB,GAGAna,EAAA+a,EAAAhH,GAEAgH,EAAA3T,QAAA0T,EAAA1T,QACA2T,EAAApW,cAAA,cACAoW,EAAAtO,WAAA,EAEApO,EAAAD,QAAA2c,yHCtBA,aAEA,IAAA/a,EAAAZ,EAAA,YACA2U,EAAA3U,EAAA,oBACA+Z,EAAA/Z,EAAA,kBACA+a,EAAA/a,EAAA,gBAOA,SAAA0b,EAAArV,GACA,IAAA0U,EAAA/S,QACA,MAAA,IAAA7H,MAAA,mCAEAwU,EAAArU,KAAAf,KAAA8G,EAAA,iBAAA0T,EAAAgB,GAGAna,EAAA8a,EAAA/G,GAEA+G,EAAA1T,QAAA,SAAAf,GACA,OAAAA,EAAA2U,gBAAA3U,EAAAyE,aAGAqP,EAAA/S,SAAAf,EAAAyB,aAGAgT,EAAAnW,cAAA,gBACAmW,EAAArO,WAAA,EAEApO,EAAAD,QAAA0c,oGC/BA,aAEA,IAAA9a,EAAAZ,EAAA,YACA2U,EAAA3U,EAAA,oBACA+Z,EAAA/Z,EAAA,kBACA6U,EAAA7U,EAAA,qBACAoH,EAAApH,EAAA,sBAGA,SAAA6b,EAAAxV,GACA,IAAAe,EAAAY,UAAA6M,EAAA7M,QACA,MAAA,IAAA7H,MAAA,mCAEAwU,EAAArU,KAAAf,KAAA8G,EAAA,OAAA0T,EAAAlF,GAGAjU,EAAAib,EAAAlH,GAEAkH,EAAA7T,QAAA,SAAAf,GACA,OAAAA,EAAAyE,gBAIAtE,EAAAY,UAAAf,EAAAwB,aAGAoM,EAAA7M,UAGA6T,EAAAtW,cAAA,cACAsW,EAAAxO,WAAA,EAEApO,EAAAD,QAAA6c,8IChCA,aAEA,IAAAjb,EAAAZ,EAAA,YACA2U,EAAA3U,EAAA,oBACA+Z,EAAA/Z,EAAA,kBACA6U,EAAA7U,EAAA,qBACAoH,EAAApH,EAAA,sBACAwJ,EAAAxJ,EAAA,oBAGA,SAAA8b,EAAAzV,GACA,IAAAe,EAAAY,UAAA6M,EAAA7M,QACA,MAAA,IAAA7H,MAAA,mCAEAwU,EAAArU,KAAAf,KAAA8G,EAAA,iBAAA0T,EAAAlF,GAGAjU,EAAAkb,EAAAnH,GAEAmH,EAAA9T,QAAA,SAAAf,GACA,OAAAA,EAAAyE,cAKAlC,EAAAkQ,WAIA7E,EAAA7M,UAGA8T,EAAAvW,cAAA,gBACAuW,EAAAzO,WAAA,EAKAyO,EAAA9O,WAAA3N,EAAAyI,SAEA7I,EAAAD,QAAA8c,sRCxCA,aAEAzc,EAAA0c,QAAA1c,EAAA0c,OAAAC,gBACA/c,EAAAD,QAAAid,YAAA,SAAA1b,GACA,IAAA2b,EAAA,IAAAC,WAAA5b,GAEA,OADAlB,EAAA0c,OAAAC,gBAAAE,GACAA,GAGAjd,EAAAD,QAAAid,YAAA,SAAA1b,GAEA,IADA,IAAA2b,EAAA,IAAA9Z,MAAA7B,GACAT,EAAA,EAAAA,EAAAS,EAAAT,IACAoc,EAAApc,GAAAqN,KAAAgE,MAAA,IAAAhE,KAAA7D,UAEA,OAAA4S,2JCdA,aAEAjd,EAAAD,QAAA,CACA0a,QAAA,WACA,OAAAra,EAAA+c,WACA,SAAA1J,KAAArT,EAAA+c,UAAAC,YAGAC,YAAA,WACA,OAAAjd,EAAA+c,WACA,aAAA1J,KAAArT,EAAA+c,UAAAC,YAIA1Q,UAAA,WAEA,IAAAtM,EAAAyI,SACA,OAAA,EAGA,IACA,QAAAzI,EAAAyI,SAAAyU,OACA,MAAA7c,GACA,OAAA,gJCvBA,aAEA,IAMA8c,EANA3Y,EAAA7D,EAAA,SAKAyc,EAAA,0/BAwBAxd,EAAAD,QAAA,CACAmN,MAAA,SAAA3B,GACA,IAAAkS,EAAA7Y,EAAAS,UAAAkG,GAIA,OADAiS,EAAA5K,UAAA,EACA4K,EAAA/J,KAAAgK,IAKAF,EADAA,GA7BA,SAAAG,GACA,IAAA7c,EACA8c,EAAA,GACA7c,EAAA,GACA,IAAAD,EAAA,EAAAA,EAAA,MAAAA,IACAC,EAAAmQ,KAAApB,OAAA+N,aAAA/c,IAQA,OANA6c,EAAA9K,UAAA,EACA9R,EAAAqQ,KAAA,IAAA5E,QAAAmR,EAAA,SAAAzc,GAEA,OADA0c,EAAA1c,GAAA,OAAA,OAAAA,EAAA4c,WAAA,GAAA1O,SAAA,KAAA5K,OAAA,GACA,KAEAmZ,EAAA9K,UAAA,EACA+K,EAiBAG,CAAAN,GAGAC,EAAAlR,QAAAiR,EAAA,SAAAvc,GACA,OAAAsc,EAAAtc,MARAwc,oDCtCA,aAEA,IAAApT,EAAAtJ,EAAA,YAEAgd,EAAA,GACAC,GAAA,EAEAC,EAAA7d,EAAA8d,QAAA9d,EAAA8d,OAAAC,KAAA/d,EAAA8d,OAAAC,IAAAC,QAGApe,EAAAD,QAAA,CACA4G,YAAA,SAAAlC,EAAAjC,QACA,IAAApC,EAAAkD,iBACAlD,EAAAkD,iBAAAmB,EAAAjC,GAAA,GACApC,EAAAyI,UAAAzI,EAAAuG,cAIAvG,EAAAyI,SAAAlC,YAAA,KAAAlC,EAAAjC,GAEApC,EAAAuG,YAAA,KAAAlC,EAAAjC,KAIA8T,YAAA,SAAA7R,EAAAjC,QACA,IAAApC,EAAAkD,iBACAlD,EAAAmD,oBAAAkB,EAAAjC,GAAA,GACApC,EAAAyI,UAAAzI,EAAAkW,cACAlW,EAAAyI,SAAAyN,YAAA,KAAA7R,EAAAjC,GACApC,EAAAkW,YAAA,KAAA7R,EAAAjC,KAIA8R,UAAA,SAAA9R,GACA,GAAAyb,EACA,OAAA,KAGA,IAAAI,EAAAhU,EAAAkB,OAAA,GAKA,OAJAwS,EAAAM,GAAA7b,EACAwb,GACAvc,WAAAnB,KAAAge,uBAAA,GAEAD,GAGAnJ,UAAA,SAAAmJ,GACAA,KAAAN,UACAA,EAAAM,IAIAC,uBAAA,WACA,IAAA,IAAAD,KAAAN,EACAA,EAAAM,YACAN,EAAAM,KAeAJ,GACAje,EAAAD,QAAA4G,YAAA,SAXA,WACAqX,IAGAA,GAAA,EACAhe,EAAAD,QAAAue,iMCjEA,aAEA,IAAA1Y,EAAA7E,EAAA,WACA6D,EAAA7D,EAAA,SACAwJ,EAAAxJ,EAAA,aAGAgF,EAAA,aAKA/F,EAAAD,QAAA,CACA+Y,QAAA,MACArS,gBAAA,KAEAkS,uBAAA,WACA3Y,EAAAD,QAAA+Y,WAAA1Y,IACAA,EAAAJ,EAAAD,QAAA+Y,SAAA,KAIA1T,YAAA,SAAA/C,EAAAsC,GACAvE,EAAAyG,SAAAzG,EACAA,EAAAyG,OAAAzB,YAAAR,EAAAS,UAAA,CACA6B,SAAAlH,EAAAD,QAAA0G,gBACApE,KAAAA,EACAsC,KAAAA,GAAA,KACA,KAEAoB,EAAA,wCAAA1D,EAAAsC,IAIAwR,aAAA,SAAAF,EAAAsI,GAGA,SAAAC,IACAzY,EAAA,YACA+D,aAAAiO,GAEA,IACA4D,EAAA5B,OAAA,KACA,MAAAzG,IAGAqI,EAAA5M,QAAA,KAEA,SAAAwH,IACAxQ,EAAA,WACA4V,IACA6C,IAIA/c,WAAA,WACAka,GACAA,EAAA/B,WAAAC,YAAA8B,GAEAA,EAAA,MACA,GACA/V,EAAAsP,UAAAb,IAGA,SAAAtF,EAAAwI,GACAxR,EAAA,UAAAwR,GACAoE,IACApF,IACAgI,EAAAhH,IAjCA,IACAQ,EAAA1D,EADAsH,EAAAvb,EAAAyI,SAAAuR,cAAA,UAuEA,OApBAuB,EAAAtB,IAAApE,EACA0F,EAAAP,MAAAC,QAAA,OACAM,EAAAP,MAAAE,SAAA,WACAK,EAAA5M,QAAA,WACAA,EAAA,YAEA4M,EAAA5B,OAAA,WACAhU,EAAA,UAGA+D,aAAAiO,GACAA,EAAAtW,WAAA,WACAsN,EAAA,mBACA,MAEA3O,EAAAyI,SAAAC,KAAA2S,YAAAE,GACA5D,EAAAtW,WAAA,WACAsN,EAAA,YACA,MACAsF,EAAAzO,EAAA0O,UAAAiC,GACA,CACAG,KApCA,SAAA/N,EAAA7B,GACAf,EAAA,OAAA4C,EAAA7B,GACArF,WAAA,WACA,IAGAka,GAAAA,EAAA8C,eACA9C,EAAA8C,cAAArZ,YAAAuD,EAAA7B,GAEA,MAAAwM,MAGA,IAyBAiD,QAAAA,EACAC,OAAAgI,IAKAvF,eAAA,SAAAhD,EAAAsI,GAKA,SAAAC,IACA1U,aAAAiO,GACA4D,EAAA5M,QAAA,KAEA,SAAAwH,IACAmI,IACAF,IACA5Y,EAAAsP,UAAAb,GACAsH,EAAA/B,WAAAC,YAAA8B,GACAA,EAAA+C,EAAA,KACAC,kBAGA,SAAA5P,EAAAvO,GACAuF,EAAA,UAAAvF,GACAke,IACAnI,IACAgI,EAAA/d,IArBA,IAEAuX,EAAA1D,EACAsH,EAHAxG,EAAA,CAAA,UAAA9Q,OAAA,UAAA8M,KAAA,KACAuN,EAAA,IAAAte,EAAA+U,GAAA,YAqCAuJ,EAAAnK,OACAmK,EAAAE,MAAA,kCACAxe,EAAAyI,SAAAyU,OAAA,uBAEAoB,EAAAhZ,QACAgZ,EAAAG,aAAA7e,EAAAD,QAAA+Y,SAAA1Y,EAAAJ,EAAAD,QAAA+Y,SACA,IAAAhY,EAAA4d,EAAAtE,cAAA,OAYA,OAXAsE,EAAA5V,KAAA2S,YAAA3a,GACA6a,EAAA+C,EAAAtE,cAAA,UACAtZ,EAAA2a,YAAAE,GACAA,EAAAtB,IAAApE,EACA0F,EAAA5M,QAAA,WACAA,EAAA,YAEAgJ,EAAAtW,WAAA,WACAsN,EAAA,YACA,MACAsF,EAAAzO,EAAA0O,UAAAiC,GACA,CACAG,KAjCA,SAAA/N,EAAA7B,GACA,IAGArF,WAAA,WACAka,GAAAA,EAAA8C,eACA9C,EAAA8C,cAAArZ,YAAAuD,EAAA7B,IAEA,GACA,MAAAwM,MAyBAiD,QAAAA,EACAC,OAAAgI,KAKAxe,EAAAD,QAAA6W,eAAA,EACAxW,EAAAyI,WAGA7I,EAAAD,QAAA6W,eAAA,mBAAAxW,EAAAgF,aACA,iBAAAhF,EAAAgF,eAAAmF,EAAA8S,4NCxLA,aAEA,IAAAyB,EAAA,GACA,CAAA,MAAA,QAAA,QAAA3Y,QAAA,SAAA4Y,GACA,IAAAC,EAEA,IACAA,EAAA5e,EAAA6e,SAAA7e,EAAA6e,QAAAF,IAAA3e,EAAA6e,QAAAF,GAAAlc,MACA,MAAApC,IAIAqe,EAAAC,GAAAC,EAAA,WACA,OAAA5e,EAAA6e,QAAAF,GAAAlc,MAAAzC,EAAA6e,QAAAnc,YACA,QAAAic,EAAA,aAAAD,EAAAtU,MAGAxK,EAAAD,QAAA+e,6ICjBA,aAEA9e,EAAAD,QAAA,CACAmI,SAAA,SAAAmH,GACA,IAAAhN,SAAAgN,EACA,MAAA,YAAAhN,GAAA,UAAAA,KAAAgN,GAGA9B,OAAA,SAAA8B,GACA,IAAA/O,KAAA4H,SAAAmH,GACA,OAAAA,EAGA,IADA,IAAAzI,EAAAsY,EACAre,EAAA,EAAAS,EAAAwB,UAAAxB,OAAAT,EAAAS,EAAAT,IAEA,IAAAqe,KADAtY,EAAA9D,UAAAjC,GAEA4O,OAAAtN,UAAAuO,eAAArP,KAAAuF,EAAAsY,KACA7P,EAAA6P,GAAAtY,EAAAsY,IAIA,OAAA7P,6BCrBA,aAGA,IAAAyN,EAAA/b,EAAA,UAIAoe,EAAA,mCACAnf,EAAAD,QAAA,CACAwL,OAAA,SAAAjK,GAIA,IAHA,IAAA6M,EAAAgR,EAAA7d,OACA2b,EAAAH,EAAAE,YAAA1b,GACA8d,EAAA,GACAve,EAAA,EAAAA,EAAAS,EAAAT,IACAue,EAAAnO,KAAAkO,EAAAxL,OAAAsJ,EAAApc,GAAAsN,EAAA,IAEA,OAAAiR,EAAAjO,KAAA,KAGAkO,OAAA,SAAAlR,GACA,OAAAD,KAAAgE,MAAAhE,KAAA7D,SAAA8D,IAGAzC,aAAA,SAAAyC,GACA,IAAAxN,GAAA,IAAAwN,EAAA,IAAA7M,OAEA,OADA,IAAA6B,MAAAxC,EAAA,GAAAwQ,KAAA,KACA7Q,KAAA+e,OAAAlR,IAAA5J,OAAA5D,yCC1BA,aAEA,IAAAoF,EAAA,aAKA/F,EAAAD,QAAA,SAAAiG,GACA,MAAA,CACAyH,gBAAA,SAAA6R,EAAAtX,GACA,IAAAmC,EAAA,CACAwD,KAAA,GACAnH,OAAA,IAkCA,OAhCA8Y,EAEA,iBAAAA,IACAA,EAAA,CAAAA,IAFAA,EAAA,GAKAtZ,EAAAG,QAAA,SAAAoZ,GACAA,IAIA,cAAAA,EAAAjZ,gBAAA,IAAA0B,EAAAwX,UAKAF,EAAAhe,SACA,IAAAge,EAAAlb,QAAAmb,EAAAjZ,eACAP,EAAA,mBAAAwZ,EAAAjZ,eAIAiZ,EAAAxW,QAAAf,IACAjC,EAAA,UAAAwZ,EAAAjZ,eACA6D,EAAAwD,KAAAsD,KAAAsO,GACAA,EAAAlZ,iBACA8D,EAAA3D,OAAAyK,KAAAsO,EAAAlZ,kBAGAN,EAAA,WAAAwZ,EAAAjZ,eAjBAP,EAAA,uBAAA,gBAoBAoE,4CC9CA,aAEA,IAAAC,EAAArJ,EAAA,aAEAgF,EAAA,aAKA/F,EAAAD,QAAA,CACAmM,UAAA,SAAAxE,GACA,IAAAA,EACA,OAAA,KAGA,IAAAtG,EAAA,IAAAgJ,EAAA1C,GACA,GAAA,UAAAtG,EAAA4I,SACA,OAAA,KAGA,IAAAE,EAAA9I,EAAA8I,KAKA,OAHAA,EADAA,IACA,WAAA9I,EAAA4I,SAAA,MAAA,MAGA5I,EAAA4I,SAAA,KAAA5I,EAAAqe,SAAA,IAAAvV,GAGA5C,cAAA,SAAArG,EAAAye,GACA,IAAAC,EAAArf,KAAA4L,UAAAjL,KAAAX,KAAA4L,UAAAwT,GAEA,OADA3Z,EAAA,OAAA9E,EAAAye,EAAAC,GACAA,GAGAhT,cAAA,SAAA1L,EAAAye,GACA,OAAAze,EAAAyQ,MAAA,KAAA,KAAAgO,EAAAhO,MAAA,KAAA,IAGAhI,QAAA,SAAAhC,EAAAkY,GACA,IAAAC,EAAAnY,EAAAgK,MAAA,KACA,OAAAmO,EAAA,GAAAD,GAAAC,EAAA,GAAA,IAAAA,EAAA,GAAA,KAGAzL,SAAA,SAAA1M,EAAAoY,GACA,OAAApY,IAAA,IAAAA,EAAAtD,QAAA,KAAA,IAAA0b,EAAA,IAAAA,2DC5CA9f,EAAAD,QAAA,iCCAA,mBAAA0P,OAAAsQ,OAEA/f,EAAAD,QAAA,SAAAigB,EAAAC,GACAD,EAAAE,OAAAD,EACAD,EAAA7d,UAAAsN,OAAAsQ,OAAAE,EAAA9d,UAAA,CACAge,YAAA,CACA5P,MAAAyP,EACA3P,YAAA,EACAC,UAAA,EACAF,cAAA,MAMApQ,EAAAD,QAAA,SAAAigB,EAAAC,GACAD,EAAAE,OAAAD,EACA,SAAAG,KACAA,EAAAje,UAAA8d,EAAA9d,UACA6d,EAAA7d,UAAA,IAAAie,EACAJ,EAAA7d,UAAAge,YAAAH,0CCnBA,WAGA,IAGAK,EAAA,CACAC,YAAA,EACAtQ,UAAA,GAIAuQ,EAAAF,SAAAtgB,IAAAA,IAAAA,EAAAygB,UAAAzgB,EAMA0gB,EAAAJ,SAAAlgB,SAAAA,QAAAG,KACAogB,EAAAH,GAAAF,SAAArgB,IAAAA,IAAAA,EAAAwgB,UAAA,iBAAApgB,GAAAA,EAQA,SAAAugB,EAAA7O,EAAA/R,GACA+R,EAAAA,GAAA2O,EAAA,SACA1gB,EAAAA,GAAA0gB,EAAA,SAGA,IAAAG,EAAA9O,EAAA,QAAA2O,EAAA,OACA5Q,EAAAiC,EAAA,QAAA2O,EAAA,OACAhR,EAAAqC,EAAA,QAAA2O,EAAA,OACA5c,EAAAiO,EAAA,MAAA2O,EAAA,KACA7U,EAAAkG,EAAA,aAAA2O,EAAA,YACA9V,EAAAmH,EAAA,WAAA2O,EAAA,UACAvS,EAAA4D,EAAA,MAAA2O,EAAA,KACAI,EAAA/O,EAAA,MAAA2O,EAAA,KAGA,iBAAAI,GAAAA,IACA9gB,EAAAsF,UAAAwb,EAAAxb,UACAtF,EAAAiH,MAAA6Z,EAAA7Z,OAIA,IAEA8Z,EAAA3a,EAAA4a,EAFAC,EAAAvR,EAAAtN,UACA8e,EAAAD,EAAA7R,SAIA+R,EAAA,IAAArd,GAAA,iBACA,IAGAqd,GAAA,QAAAA,EAAAC,kBAAA,IAAAD,EAAAE,eAAA,IAAAF,EAAAG,cAIA,IAAAH,EAAAI,eAAA,IAAAJ,EAAAK,iBAAA,GAAAL,EAAAM,iBAAA,KAAAN,EAAAO,qBACA,MAAAC,IAIA,SAAAC,EAAA1R,GACA,GAAA0R,EAAA1R,KAAA8Q,EAEA,OAAAY,EAAA1R,GAEA,IAAA2R,EACA,GAAA,yBAAA3R,EAGA2R,EAAA,KAAA,IAAA,QACA,GAAA,QAAA3R,EAGA2R,EAAAD,EAAA,mBAAAA,EAAA,kBACA,CACA,IAAApR,EAAAsR,EAAA,qDAEA,GAAA,kBAAA5R,EAAA,CACA,IAAA5K,EAAAtF,EAAAsF,UAAAyc,EAAA,mBAAAzc,GAAA6b,EACA,GAAAY,EAAA,EAEAvR,EAAA,WACA,OAAA,IACAwR,OAAAxR,EACA,IACAuR,EAGA,MAAAzc,EAAA,IAGA,MAAAA,EAAA,IAAAub,IACA,MAAAvb,EAAA,IAAAwK,IAKAxK,EAAA4b,KAAAF,GAGA1b,EAAA0b,KAAAA,GAGA1b,MAAA0b,GAMA,MAAA1b,EAAAkL,IACA,OAAAlL,EAAA,CAAAkL,KAGA,UAAAlL,EAAA,CAAA0b,KAEA,QAAA1b,EAAA,OAKA,oBAAAA,EAAA,CAAA0b,EAAAE,EAAA,QAGA5b,EAAA,CAAApE,IAAA,CAAAsP,GAAA,GAAA,EAAA,KAAA,mBAAAsR,GAEA,MAAAxc,EAAA,KAAAkL,IACA,iBAAAlL,EAAA,CAAA,EAAA,GAAA,KAAA,IAGA,iCAAAA,EAAA,IAAAxB,GAAA,UAEA,iCAAAwB,EAAA,IAAAxB,EAAA,UAGA,iCAAAwB,EAAA,IAAAxB,GAAA,eAGA,8BAAAwB,EAAA,IAAAxB,GAAA,IACA,MAAA6d,GACAI,GAAA,GAGAF,EAAAE,EAGA,GAAA,cAAA7R,EAAA,CACA,IAAAjJ,EAAAjH,EAAAiH,MACA,GAAA,mBAAAA,EACA,IAIA,GAAA,IAAAA,EAAA,OAAAA,GAAA,GAAA,CAGA,IAAAgb,EAAA,IADAzR,EAAAvJ,EAAA6a,IACA,EAAAvgB,QAAA,IAAAiP,EAAA,EAAA,GACA,GAAAyR,EAAA,CACA,IAEAA,GAAAhb,EAAA,QACA,MAAA0a,IACA,GAAAM,EACA,IAIAA,EAAA,IAAAhb,EAAA,MACA,MAAA0a,IAEA,GAAAM,EACA,IAIAA,EAAA,IAAAhb,EAAA,MACA,MAAA0a,OAIA,MAAAA,GACAM,GAAA,EAGAJ,EAAAI,GAGA,OAAAL,EAAA1R,KAAA2R,EAGA,IAAAD,EAAA,QAAA,CAEA,IAAAM,EAAA,oBAEAC,EAAA,kBACAC,EAAA,kBACAC,EAAA,iBAIAC,EAAAV,EAAA,yBAGA,IAAAT,EACA,IAAAhP,EAAAhE,EAAAgE,MAGAoQ,EAAA,CAAA,EAAA,GAAA,GAAA,GAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,KAGAC,EAAA,SAAAC,EAAAC,GACA,OAAAH,EAAAG,GAAA,KAAAD,EAAA,MAAAtQ,GAAAsQ,EAAA,MAAAC,IAAA,EAAAA,KAAA,GAAAvQ,GAAAsQ,EAAA,KAAAC,GAAA,KAAAvQ,GAAAsQ,EAAA,KAAAC,GAAA,MAwHA,IAlHA3B,EAAAE,EAAAtQ,kBACAoQ,EAAA,SAAA4B,GACA,IAAAvC,EAAAwC,EAAA,GA4BA,OApBA7B,GAPA6B,EAAAC,UAAA,KAAAD,EAAAC,UAAA,CAGAzT,WAAA,GACAwT,GAAAxT,UAAA8R,EAGA,SAAAyB,GAIA,IAAAG,EAAAviB,KAAAsiB,UAAAxR,EAAAsR,KAAApiB,KAAAsiB,UAAA,KAAAtiB,MAGA,OADAA,KAAAsiB,UAAAC,EACAzR,IAIA+O,EAAAwC,EAAAxC,YAGA,SAAAuC,GACA,IAAA7b,GAAAvG,KAAA6f,aAAAA,GAAAhe,UACA,OAAAugB,KAAApiB,QAAAoiB,KAAA7b,GAAAvG,KAAAoiB,KAAA7b,EAAA6b,MAGAC,EAAA,KACA7B,EAAAzf,KAAAf,KAAAoiB,KAMAvc,EAAA,SAAA6J,EAAAmH,GACA,IAAA2L,EAAAH,EAAAD,EAAAK,EAAA,EAWA,IAAAL,KANAI,EAAA,WACAxiB,KAAA0iB,QAAA,IACA7gB,UAAA6gB,QAAA,EAGAL,EAAA,IAAAG,EAGAhC,EAAAzf,KAAAshB,EAAAD,IACAK,IAsDA,OAnDAD,EAAAH,EAAA,MAuBAxc,EApBA4c,EAkBA,GAAAA,EAEA,SAAA/S,EAAAmH,GAEA,IAAAuL,EAAAC,EAAA,GAAA3T,EAAAiS,EAAA5f,KAAA2O,IAAAiS,EACA,IAAAS,KAAA1S,EAIAhB,GAAA,aAAA0T,GAAA5B,EAAAzf,KAAAshB,EAAAD,MAAAC,EAAAD,GAAA,KAAA5B,EAAAzf,KAAA2O,EAAA0S,IACAvL,EAAAuL,IAMA,SAAA1S,EAAAmH,GACA,IAAAuL,EAAAO,EAAAjU,EAAAiS,EAAA5f,KAAA2O,IAAAiS,EACA,IAAAS,KAAA1S,EACAhB,GAAA,aAAA0T,IAAA5B,EAAAzf,KAAA2O,EAAA0S,KAAAO,EAAA,gBAAAP,IACAvL,EAAAuL,IAKAO,GAAAnC,EAAAzf,KAAA2O,EAAA0S,EAAA,iBACAvL,EAAAuL,KA1CAC,EAAA,CAAA,UAAA,WAAA,iBAAA,uBAAA,gBAAA,iBAAA,eAGA,SAAA3S,EAAAmH,GACA,IAAAuL,EAAAphB,EAAA0N,EAAAiS,EAAA5f,KAAA2O,IAAAiS,EACAiB,GAAAlU,GAAA,mBAAAgB,EAAAmQ,aAAAE,SAAArQ,EAAAU,iBAAAV,EAAAU,gBAAAoQ,EACA,IAAA4B,KAAA1S,EAGAhB,GAAA,aAAA0T,IAAAQ,EAAA7hB,KAAA2O,EAAA0S,IACAvL,EAAAuL,GAIA,IAAAphB,EAAAqhB,EAAArhB,OAAAohB,EAAAC,IAAArhB,GAAA4hB,EAAA7hB,KAAA2O,EAAA0S,IAAAvL,EAAAuL,QAgCA1S,EAAAmH,KASAwK,EAAA,kBAAA,CAeA,SAAAwB,EAAAC,EAAA7S,GAGA,OAJA,UAIAA,GAAA,IAAAhM,OAAA6e,GAQA,SAAAlW,EAAAqD,GAGA,IAFA,IAAAa,EAAA,IAAAoC,EAAA,EAAAlS,EAAAiP,EAAAjP,OAAA+hB,GAAAhB,GAAA,GAAA/gB,EACAgiB,EAAAD,IAAAhB,EAAA9R,EAAAmB,MAAA,IAAAnB,GACAiD,EAAAlS,EAAAkS,IAAA,CACA,IAAA+P,EAAAhT,EAAAsN,WAAArK,GAGA,OAAA+P,GACA,KAAA,EAAA,KAAA,EAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GACAnS,GAAAoS,EAAAD,GACA,MACA,QACA,GAAAA,EAAA,GAAA,CACAnS,GAdA,QAcA+R,EAAA,EAAAI,EAAApU,SAAA,KACA,MAEAiC,GAAAiS,EAAAC,EAAA9P,GAAAjD,EAAAkT,OAAAjQ,IAGA,OAAApC,EAAA,IA3CA,IAAAoS,EAAA,CACAE,GAAA,OACAC,GAAA,MACAC,EAAA,MACAC,GAAA,MACAC,GAAA,MACAC,GAAA,MACAC,EAAA,OAyCAC,EAAA,SAAAvB,EAAA1S,EAAAmH,EAAA+M,EAAAC,EAAAC,EAAAC,GACA,IAAA9T,EAAA+T,EAAA9B,EAAAC,EAAA8B,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAtR,EAAAlS,EAAAyjB,EAAA3T,EACA,IAEAb,EAAAP,EAAA0S,GACA,MAAAhB,IACA,GAAA,iBAAAnR,GAAAA,EAEA,GApMA,kBAmMA+T,EAAArD,EAAA5f,KAAAkP,KACAuQ,EAAAzf,KAAAkP,EAAA,UA4CA,mBAAAA,EAAAwR,SAAAuC,GAAApC,GAAAoC,GAAAnC,GAAAmC,GAAAlC,GAAAtB,EAAAzf,KAAAkP,EAAA,aAKAA,EAAAA,EAAAwR,OAAAW,SAhDA,IAAA,EAAA,EAAAnS,GAAAA,EAAA,EAAA,EAAA,CAIA,GAAAgS,EAAA,CAKA,IADAgC,EAAArS,EAAA3B,EAAA,OACAiS,EAAAtQ,EAAAqS,EAAA,UAAA,KAAA,EAAAhC,EAAAC,EAAA,EAAA,IAAA+B,EAAA/B,KACA,IAAAC,EAAAvQ,GAAAqS,EAAAhC,EAAAC,EAAA,IAAA,OAAAD,EAAAC,EAAAC,EAAA,IAAA8B,EAAA9B,KACA8B,EAAA,EAAAA,EAAAhC,EAAAC,EAAAC,GAQAgC,EAAAvS,GAHAsS,GAAAjU,EAAA,MAAA,OAAA,OAGA,MAAA,GACAmU,EAAAxS,EAAAsS,EAAA,KAAA,GACAG,EAAAzS,EAAAsS,EAAA,KAAA,GACAI,EAAAJ,EAAA,SAEAhC,EAAAjS,EAAA4Q,iBACAsB,EAAAlS,EAAA6Q,cACAmD,EAAAhU,EAAA8Q,aACAoD,EAAAlU,EAAA+Q,cACAoD,EAAAnU,EAAAgR,gBACAoD,EAAApU,EAAAiR,gBACAoD,EAAArU,EAAAkR,qBAGAlR,GAAAiS,GAAA,GAAA,KAAAA,GAAAA,EAAA,EAAA,IAAA,KAAAW,EAAA,EAAAX,EAAA,GAAAA,EAAAA,GAAAW,EAAA,EAAAX,IACA,IAAAW,EAAA,EAAAV,EAAA,GAAA,IAAAU,EAAA,EAAAoB,GAGA,IAAApB,EAAA,EAAAsB,GAAA,IAAAtB,EAAA,EAAAuB,GAAA,IAAAvB,EAAA,EAAAwB,GAEA,IAAAxB,EAAA,EAAAyB,GAAA,SAEArU,EAAA,KAeA,GALA4G,IAGA5G,EAAA4G,EAAA9V,KAAA2O,EAAA0S,EAAAnS,IAEA,OAAAA,EACA,MAAA,OAGA,GA7PA,qBA4PA+T,EAAArD,EAAA5f,KAAAkP,IAGA,MAAA,GAAAA,EACA,GAAA+T,GAAApC,EAGA,OAAA,EAAA,EAAA3R,GAAAA,EAAA,EAAA,EAAA,GAAAA,EAAA,OACA,GAAA+T,GAAAnC,EAEA,OAAAjV,EAAA,GAAAqD,GAGA,GAAA,iBAAAA,EAAA,CAGA,IAAAjP,EAAA+iB,EAAA/iB,OAAAA,KACA,GAAA+iB,EAAA/iB,KAAAiP,EAEA,MAAA5F,IASA,GALA0Z,EAAApT,KAAAV,GACAsU,EAAA,GAEAE,EAAAX,EACAA,GAAAD,EACAG,GAAAlC,EAAA,CAEA,IAAA5O,EAAA,EAAAlS,EAAAiP,EAAAjP,OAAAkS,EAAAlS,EAAAkS,IACAsR,EAAAb,EAAAzQ,EAAAjD,EAAA4G,EAAA+M,EAAAC,EAAAC,EAAAC,GACAQ,EAAA5T,KAAA6T,IAAA/D,EAAA,OAAA+D,GAEA1T,EAAAyT,EAAAvjB,OAAA6iB,EAAA,MAAAC,EAAAS,EAAA1T,KAAA,MAAAiT,GAAA,KAAAW,EAAA,IAAA,IAAAF,EAAA1T,KAAA,KAAA,IAAA,UAKAhL,EAAA+d,GAAA3T,EAAA,SAAAmS,GACA,IAAAoC,EAAAb,EAAAvB,EAAAnS,EAAA4G,EAAA+M,EAAAC,EAAAC,EAAAC,GACAS,IAAA/D,GAOA8D,EAAA5T,KAAA/D,EAAAwV,GAAA,KAAAyB,EAAA,IAAA,IAAAW,KAGA1T,EAAAyT,EAAAvjB,OAAA6iB,EAAA,MAAAC,EAAAS,EAAA1T,KAAA,MAAAiT,GAAA,KAAAW,EAAA,IAAA,IAAAF,EAAA1T,KAAA,KAAA,IAAA,KAIA,OADAkT,EAAAW,MACA5T,IAKArR,EAAAsF,UAAA,SAAAuB,EAAAqe,EAAA7B,GACA,IAAAe,EAAAhN,EAAA+M,EAAAI,EACA,GAAAjE,SAAA4E,IAAAA,EACA,IAAAX,EAAArD,EAAA5f,KAAA4jB,KAAAhD,EACA9K,EAAA8N,OACA,GAAAX,GAAAlC,EAAA,CAEA8B,EAAA,GACA,IAAA,IAAA3T,EAAAiD,EAAA,EAAAlS,EAAA2jB,EAAA3jB,OAAAkS,EAAAlS,EAAAiP,EAAA0U,EAAAzR,MAAA8Q,EAAArD,EAAA5f,KAAAkP,KAAA4R,GAAAmC,GAAApC,IAAAgC,EAAA3T,GAAA,KAGA,GAAA6S,EACA,IAAAkB,EAAArD,EAAA5f,KAAA+hB,KAAAlB,GAGA,GAAA,GAAAkB,GAAAA,EAAA,GACA,IAAAe,EAAA,GAAA,GAAAf,IAAAA,EAAA,IAAAe,EAAA7iB,OAAA8hB,EAAAe,GAAA,WAEAG,GAAAnC,IACAgC,EAAAf,EAAA9hB,QAAA,GAAA8hB,EAAAA,EAAA7e,MAAA,EAAA,KAMA,OAAA0f,EAAA,KAAA1T,EAAA,IAAA,IAAA3J,EAAA2J,GAAA4G,EAAA+M,EAAAC,EAAA,GAAA,KAKA,IAAAxC,EAAA,cAAA,CAoBA,SAAA1M,IAEA,MADAiQ,EAAAC,EAAA,KACAvZ,IAMA,SAAAwZ,IAEA,IADA,IAAA7U,EAAA8U,EAAA/J,EAAAgK,EAAA/B,EAAA3c,EAAAue,EAAA7jB,EAAAsF,EAAAtF,OACA4jB,EAAA5jB,GAEA,OADAiiB,EAAA3c,EAAAiX,WAAAqH,IAEA,KAAA,EAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAGAA,IACA,MACA,KAAA,IAAA,KAAA,IAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAKA,OAFA3U,EAAA8R,EAAAzb,EAAA6c,OAAAyB,GAAAte,EAAAse,GACAA,IACA3U,EACA,KAAA,GAKA,IAAAA,EAAA,IAAA2U,IAAAA,EAAA5jB,GAEA,IADAiiB,EAAA3c,EAAAiX,WAAAqH,IACA,GAGAjQ,SACA,GAAA,IAAAsO,EAKA,OADAA,EAAA3c,EAAAiX,aAAAqH,IAEA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,GAAA,KAAA,IAAA,KAAA,IAAA,KAAA,IAAA,KAAA,IAEA3U,GAAAgV,EAAAhC,GACA2B,IACA,MACA,KAAA,IAKA,IADAG,IAAAH,EACA5J,EAAA4J,EAAA,EAAAA,EAAA5J,EAAA4J,IAIA,KAHA3B,EAAA3c,EAAAiX,WAAAqH,KAGA3B,GAAA,IAAA,IAAAA,GAAAA,GAAA,KAAA,IAAAA,GAAAA,GAAA,IAEAtO,IAIA1E,GAAAqN,EAAA,KAAAhX,EAAArC,MAAA8gB,EAAAH,IACA,MACA,QAEAjQ,QAEA,CACA,GAAA,IAAAsO,EAGA,MAKA,IAHAA,EAAA3c,EAAAiX,WAAAqH,GACAG,EAAAH,EAEA,IAAA3B,GAAA,IAAAA,GAAA,IAAAA,GACAA,EAAA3c,EAAAiX,aAAAqH,GAGA3U,GAAA3J,EAAArC,MAAA8gB,EAAAH,GAGA,GAAA,IAAAte,EAAAiX,WAAAqH,GAGA,OADAA,IACA3U,EAGA0E,IACA,QASA,GAPAoQ,EAAAH,EAEA,IAAA3B,IACA+B,GAAA,EACA/B,EAAA3c,EAAAiX,aAAAqH,IAGA,IAAA3B,GAAAA,GAAA,GAAA,CAQA,IANA,IAAAA,IAAA,KAAAA,EAAA3c,EAAAiX,WAAAqH,EAAA,KAAA3B,GAAA,KAEAtO,IAEAqQ,GAAA,EAEAJ,EAAA5jB,IAAA,KAAAiiB,EAAA3c,EAAAiX,WAAAqH,KAAA3B,GAAA,IAAA2B,KAGA,GAAA,IAAAte,EAAAiX,WAAAqH,GAAA,CAGA,IAFA5J,IAAA4J,EAEA5J,EAAAha,IAAA,KAAAiiB,EAAA3c,EAAAiX,WAAAvC,KAAAiI,GAAA,IAAAjI,KACAA,GAAA4J,GAEAjQ,IAEAiQ,EAAA5J,EAKA,GAAA,MADAiI,EAAA3c,EAAAiX,WAAAqH,KACA,IAAA3B,EAAA,CAQA,IAJA,KAHAA,EAAA3c,EAAAiX,aAAAqH,KAGA,IAAA3B,GACA2B,IAGA5J,EAAA4J,EAAA5J,EAAAha,IAAA,KAAAiiB,EAAA3c,EAAAiX,WAAAvC,KAAAiI,GAAA,IAAAjI,KACAA,GAAA4J,GAEAjQ,IAEAiQ,EAAA5J,EAGA,OAAA1U,EAAArC,MAAA8gB,EAAAH,GAOA,GAJAI,GACArQ,IAGA,QAAArO,EAAArC,MAAA2gB,EAAAA,EAAA,GAEA,OADAA,GAAA,GACA,EACA,GAAA,SAAAte,EAAArC,MAAA2gB,EAAAA,EAAA,GAEA,OADAA,GAAA,GACA,EACA,GAAA,QAAAte,EAAArC,MAAA2gB,EAAAA,EAAA,GAEA,OADAA,GAAA,EACA,KAGAjQ,IAKA,MAAA,IAuFA,SAAAuQ,EAAA5e,EAAA8b,EAAAvL,GACA,IAAA2N,EAAAW,EAAA7e,EAAA8b,EAAAvL,GACA2N,IAAA/D,SACAna,EAAA8b,GAEA9b,EAAA8b,GAAAoC,EAjRA,IAgBAI,EAAAC,EAhBAvH,EAAA/N,EAAA+N,aAIA2H,EAAA,CACA7B,GAAA,KACAC,GAAA,IACA+B,GAAA,IACAC,GAAA,KACAC,IAAA,KACAC,IAAA,KACAC,IAAA,KACAC,IAAA,MA6KAC,EAAA,SAAAzV,GACA,IAAAsU,EAAAoB,EAKA,GAJA,KAAA1V,GAEA0E,IAEA,iBAAA1E,EAAA,CACA,GAAA,MAAA8R,EAAA9R,EAAAkT,OAAA,GAAAlT,EAAA,IAEA,OAAAA,EAAAhM,MAAA,GAGA,GAAA,KAAAgM,EAAA,CAGA,IADAsU,EAAA,GAIA,MAFAtU,EAAA6U,KADAa,EAAAA,IAAA,EASAA,IACA,KAAA1V,EAEA,MADAA,EAAA6U,MAGAnQ,IAIAA,KAIA,KAAA1E,GACA0E,IAEA4P,EAAA5T,KAAA+U,EAAAzV,IAEA,OAAAsU,EACA,GAAA,KAAAtU,EAAA,CAGA,IADAsU,EAAA,GAIA,MAFAtU,EAAA6U,KADAa,EAAAA,IAAA,EAQAA,IACA,KAAA1V,EAEA,MADAA,EAAA6U,MAGAnQ,IAIAA,KAMA,KAAA1E,GAAA,iBAAAA,GAAA,MAAA8R,EAAA9R,EAAAkT,OAAA,GAAAlT,EAAA,KAAA,KAAA6U,KACAnQ,IAEA4P,EAAAtU,EAAAhM,MAAA,IAAAyhB,EAAAZ,KAEA,OAAAP,EAGA5P,IAEA,OAAA1E,GAgBAkV,EAAA,SAAA7e,EAAA8b,EAAAvL,GACA,IAAA7V,EAAAiP,EAAA3J,EAAA8b,GACA,GAAA,iBAAAnS,GAAAA,EAIA,GAAA0Q,EAAA5f,KAAAkP,IAAA6R,EACA,IAAA9gB,EAAAiP,EAAAjP,OAAAA,KACAkkB,EAAAjV,EAAAjP,EAAA6V,QAGAhR,EAAAoK,EAAA,SAAAmS,GACA8C,EAAAjV,EAAAmS,EAAAvL,KAIA,OAAAA,EAAA9V,KAAAuF,EAAA8b,EAAAnS,IAIAxQ,EAAAiH,MAAA,SAAAJ,EAAAuQ,GACA,IAAA/F,EAAAb,EAUA,OATA2U,EAAA,EACAC,EAAA,GAAAve,EACAwK,EAAA4U,EAAAZ,KAEA,KAAAA,KACAnQ,IAGAiQ,EAAAC,EAAA,KACAhO,GAAA8J,EAAA5f,KAAA8V,IAAA8K,EAAAwD,IAAAlV,EAAA,IAAA,IAAAa,EAAAb,GAAA,GAAA4G,GAAA/F,IAMA,OADArR,EAAA,aAAA4gB,EACA5gB,EAGA,IA50BA2gB,GAAAA,EAAA,SAAAA,GAAAA,EAAA,SAAAA,GAAAA,EAAA,OAAAA,IACAD,EAAAC,GA20BAH,EAEAI,EAAAF,EAAAF,OACA,CAEA,IAAAM,EAAAJ,EAAAyF,KACAC,EAAA1F,EAAA,MACA2F,GAAA,EAEAxhB,EAAA+b,EAAAF,EAAAA,EAAA,MAAA,CAGA4F,aAAA,WAOA,OANAD,IACAA,GAAA,EACA3F,EAAAyF,KAAArF,EACAJ,EAAA,MAAA0F,EACAtF,EAAAsF,EAAA,MAEAvhB,KAIA6b,EAAAyF,KAAA,CACAlf,QAAApC,EAAAoC,MACA3B,YAAAT,EAAAS,cAUAhE,KAAAf,iJCr4BA,aAEA,IAAAqhB,EAAAlS,OAAAtN,UAAAuO,eASA,SAAA4V,EAAAC,GACA,OAAA1N,mBAAA0N,EAAAha,QAAA,MAAA,MA6DAxM,EAAAsF,UAtBA,SAAAgK,EAAA0V,GACAA,EAAAA,GAAA,GAEA,IAAAyB,EAAA,GAOA,IAAA,IAAA3R,IAFA,iBAAAkQ,IAAAA,EAAA,KAEA1V,EACAsS,EAAAtgB,KAAAgO,EAAAwF,IACA2R,EAAAvV,KAAAmI,mBAAAvE,GAAA,IAAAuE,mBAAA/J,EAAAwF,KAIA,OAAA2R,EAAAllB,OAAAyjB,EAAAyB,EAAArV,KAAA,KAAA,IAOApR,EAAAiH,MApDA,SAAAyf,GAKA,IAJA,IAEAC,EAFAC,EAAA,sBACAvV,EAAA,GAGAsV,EAAAC,EAAApU,KAAAkU,IAAA,CACA,IAAA5R,EAAAyR,EAAAI,EAAA,IACAnW,EAAA+V,EAAAI,EAAA,IAOA7R,KAAAzD,IACAA,EAAAyD,GAAAtE,GAGA,OAAAa,4BCxCA,aAWApR,EAAAD,QAAA,SAAAmK,EAAAF,GAIA,GAHAA,EAAAA,EAAA0H,MAAA,KAAA,KACAxH,GAAAA,GAEA,OAAA,EAEA,OAAAF,GACA,IAAA,OACA,IAAA,KACA,OAAA,KAAAE,EAEA,IAAA,QACA,IAAA,MACA,OAAA,MAAAA,EAEA,IAAA,MACA,OAAA,KAAAA,EAEA,IAAA,SACA,OAAA,KAAAA,EAEA,IAAA,OACA,OAAA,EAGA,OAAA,IAAAA,yCCpCA,aAEA,IAAA0c,EAAA7lB,EAAA,iBACA8e,EAAA9e,EAAA,kBACA8lB,EAAA,0CACAC,EAAA,gCAcAC,EAAA,CACA,CAAA,IAAA,QACA,CAAA,IAAA,SACA,SAAAC,GACA,OAAAA,EAAAza,QAAA,KAAA,MAEA,CAAA,IAAA,YACA,CAAA,IAAA,OAAA,GACA,CAAA0a,IAAA,YAAAxR,EAAA,EAAA,GACA,CAAA,UAAA,YAAAA,EAAA,GACA,CAAAwR,IAAA,gBAAAxR,EAAA,EAAA,IAWA8G,EAAA,CAAA7V,KAAA,EAAA+f,MAAA,GAcA,SAAAS,EAAAphB,GACA,IAKA+O,EALA9K,EAAA3J,GAAAA,EAAA2J,UAAA,GAGAod,EAAA,GACA9kB,SAHAyD,EAAAA,GAAAiE,GAMA,GAAA,UAAAjE,EAAAkE,SACAmd,EAAA,IAAAC,EAAAC,SAAAvhB,EAAAwG,UAAA,SACA,GAAA,UAAAjK,EAEA,IAAAwS,KADAsS,EAAA,IAAAC,EAAAthB,EAAA,IACAyW,SAAA4K,EAAAtS,QACA,GAAA,UAAAxS,EAAA,CACA,IAAAwS,KAAA/O,EACA+O,KAAA0H,IACA4K,EAAAtS,GAAA/O,EAAA+O,SAGAY,IAAA0R,EAAAL,UACAK,EAAAL,QAAAA,EAAArT,KAAA3N,EAAAyB,OAIA,OAAA4f,EAkBA,SAAAG,EAAAN,GACA,IAAArU,EAAAkU,EAAAtU,KAAAyU,GAEA,MAAA,CACAhd,SAAA2I,EAAA,GAAAA,EAAA,GAAAvG,cAAA,GACA0a,UAAAnU,EAAA,GACA4U,KAAA5U,EAAA,IAoDA,SAAAyU,EAAAJ,EAAAjd,EAAA4c,GACA,KAAArmB,gBAAA8mB,GACA,OAAA,IAAAA,EAAAJ,EAAAjd,EAAA4c,GAGA,IAAAa,EAAAC,EAAAzgB,EAAA0gB,EAAAlU,EAAAqB,EACA8S,EAAAZ,EAAAxiB,QACAlC,SAAA0H,EACArC,EAAApH,KACAO,EAAA,EAqCA,IAxBA,UAAAwB,GAAA,UAAAA,IACAskB,EAAA5c,EACAA,EAAA,MAGA4c,GAAA,mBAAAA,IAAAA,EAAA9G,EAAA7Y,OAEA+C,EAAAmd,EAAAnd,GAMAyd,IADAC,EAAAH,EAAAN,GAAA,KACAhd,WAAAyd,EAAAX,QACApf,EAAAof,QAAAW,EAAAX,SAAAU,GAAAzd,EAAA+c,QACApf,EAAAsC,SAAAyd,EAAAzd,UAAAD,EAAAC,UAAA,GACAgd,EAAAS,EAAAF,KAMAE,EAAAX,UAAAa,EAAA,GAAA,CAAA,OAAA,aAEA9mB,EAAA8mB,EAAArmB,OAAAT,IAGA,mBAFA6mB,EAAAC,EAAA9mB,KAOAmG,EAAA0gB,EAAA,GACA7S,EAAA6S,EAAA,GAEA1gB,GAAAA,EACAU,EAAAmN,GAAAmS,EACA,iBAAAhgB,IACAwM,EAAAwT,EAAA5iB,QAAA4C,MAGAggB,EAFA,iBAAAU,EAAA,IACAhgB,EAAAmN,GAAAmS,EAAAziB,MAAA,EAAAiP,GACAwT,EAAAziB,MAAAiP,EAAAkU,EAAA,MAEAhgB,EAAAmN,GAAAmS,EAAAziB,MAAAiP,GACAwT,EAAAziB,MAAA,EAAAiP,MAGAA,EAAAxM,EAAAuL,KAAAyU,MACAtf,EAAAmN,GAAArB,EAAA,GACAwT,EAAAA,EAAAziB,MAAA,EAAAiP,EAAAA,QAGA9L,EAAAmN,GAAAnN,EAAAmN,IACA2S,GAAAE,EAAA,IAAA3d,EAAA8K,IAAA,GAOA6S,EAAA,KAAAhgB,EAAAmN,GAAAnN,EAAAmN,GAAAzI,gBAhCA4a,EAAAU,EAAAV,GAwCAL,IAAAjf,EAAA+e,MAAAE,EAAAjf,EAAA+e,QAMAe,GACAzd,EAAA+c,SACA,MAAApf,EAAA4E,SAAAmX,OAAA,KACA,KAAA/b,EAAA4E,UAAA,KAAAvC,EAAAuC,YAEA5E,EAAA4E,SA7IA,SAAAkb,EAAAI,GAOA,IANA,IAAAhI,GAAAgI,GAAA,KAAAlW,MAAA,KAAAnN,MAAA,GAAA,GAAAF,OAAAmjB,EAAA9V,MAAA,MACA7Q,EAAA+e,EAAAte,OACAumB,EAAAjI,EAAA/e,EAAA,GACAmN,GAAA,EACA8Z,EAAA,EAEAjnB,KACA,MAAA+e,EAAA/e,GACA+e,EAAAmI,OAAAlnB,EAAA,GACA,OAAA+e,EAAA/e,IACA+e,EAAAmI,OAAAlnB,EAAA,GACAinB,KACAA,IACA,IAAAjnB,IAAAmN,GAAA,GACA4R,EAAAmI,OAAAlnB,EAAA,GACAinB,KAOA,OAHA9Z,GAAA4R,EAAA5R,QAAA,IACA,MAAA6Z,GAAA,OAAAA,GAAAjI,EAAA3O,KAAA,IAEA2O,EAAAzO,KAAA,KAsHA6W,CAAAtgB,EAAA4E,SAAAvC,EAAAuC,WAQAsa,EAAAlf,EAAAwC,KAAAxC,EAAAsC,YACAtC,EAAAuC,KAAAvC,EAAA+X,SACA/X,EAAAwC,KAAA,IAMAxC,EAAAugB,SAAAvgB,EAAAwgB,SAAA,GACAxgB,EAAAygB,OACAT,EAAAhgB,EAAAygB,KAAAzW,MAAA,KACAhK,EAAAugB,SAAAP,EAAA,IAAA,GACAhgB,EAAAwgB,SAAAR,EAAA,IAAA,IAGAhgB,EAAAZ,OAAAY,EAAAsC,UAAAtC,EAAAuC,MAAA,UAAAvC,EAAAsC,SACAtC,EAAAsC,SAAA,KAAAtC,EAAAuC,KACA,OAKAvC,EAAAH,KAAAG,EAAAyH,WAiIAiY,EAAAjlB,UAAA,CAAAkK,IAjHA,SAAAqa,EAAAnW,EAAA6X,GACA,IAAA1gB,EAAApH,KAEA,OAAAomB,GACA,IAAA,QACA,iBAAAnW,GAAAA,EAAAjP,SACAiP,GAAA6X,GAAAvI,EAAA7Y,OAAAuJ,IAGA7I,EAAAgf,GAAAnW,EACA,MAEA,IAAA,OACA7I,EAAAgf,GAAAnW,EAEAqW,EAAArW,EAAA7I,EAAAsC,UAGAuG,IACA7I,EAAAuC,KAAAvC,EAAA+X,SAAA,IAAAlP,IAHA7I,EAAAuC,KAAAvC,EAAA+X,SACA/X,EAAAgf,GAAA,IAKA,MAEA,IAAA,WACAhf,EAAAgf,GAAAnW,EAEA7I,EAAAwC,OAAAqG,GAAA,IAAA7I,EAAAwC,MACAxC,EAAAuC,KAAAsG,EACA,MAEA,IAAA,OACA7I,EAAAgf,GAAAnW,EAEA,QAAAkD,KAAAlD,IACAA,EAAAA,EAAAmB,MAAA,KACAhK,EAAAwC,KAAAqG,EAAAyU,MACAtd,EAAA+X,SAAAlP,EAAAY,KAAA,OAEAzJ,EAAA+X,SAAAlP,EACA7I,EAAAwC,KAAA,IAGA,MAEA,IAAA,WACAxC,EAAAsC,SAAAuG,EAAAnE,cACA1E,EAAAof,SAAAsB,EACA,MAEA,IAAA,WACA,IAAA,OACA,GAAA7X,EAAA,CACA,IAAA8X,EAAA,aAAA3B,EAAA,IAAA,IACAhf,EAAAgf,GAAAnW,EAAAkT,OAAA,KAAA4E,EAAAA,EAAA9X,EAAAA,OAEA7I,EAAAgf,GAAAnW,EAEA,MAEA,QACA7I,EAAAgf,GAAAnW,EAGA,IAAA,IAAA1P,EAAA,EAAAA,EAAAkmB,EAAAzlB,OAAAT,IAAA,CACA,IAAAynB,EAAAvB,EAAAlmB,GAEAynB,EAAA,KAAA5gB,EAAA4gB,EAAA,IAAA5gB,EAAA4gB,EAAA,IAAAlc,eASA,OANA1E,EAAAZ,OAAAY,EAAAsC,UAAAtC,EAAAuC,MAAA,UAAAvC,EAAAsC,SACAtC,EAAAsC,SAAA,KAAAtC,EAAAuC,KACA,OAEAvC,EAAAH,KAAAG,EAAAyH,WAEAzH,GAqCAyH,SA3BA,SAAA9J,GACAA,GAAA,mBAAAA,IAAAA,EAAAwa,EAAAxa,WAEA,IAAAohB,EACA/e,EAAApH,KACA0J,EAAAtC,EAAAsC,SAEAA,GAAA,MAAAA,EAAAyZ,OAAAzZ,EAAA1I,OAAA,KAAA0I,GAAA,KAEA,IAAAoH,EAAApH,GAAAtC,EAAAof,QAAA,KAAA,IAeA,OAbApf,EAAAugB,WACA7W,GAAA1J,EAAAugB,SACAvgB,EAAAwgB,WAAA9W,GAAA,IAAA1J,EAAAwgB,UACA9W,GAAA,KAGAA,GAAA1J,EAAAuC,KAAAvC,EAAA4E,UAEAma,EAAA,iBAAA/e,EAAA+e,MAAAphB,EAAAqC,EAAA+e,OAAA/e,EAAA+e,SACArV,GAAA,MAAAqV,EAAAhD,OAAA,GAAA,IAAAgD,EAAAA,GAEA/e,EAAAhB,OAAA0K,GAAA1J,EAAAhB,MAEA0K,IASAgW,EAAAE,gBAAAA,EACAF,EAAArd,SAAAmd,EACAE,EAAAvH,GAAAA,EAEA7f,EAAAD,QAAAqnB,uK1DxaA","file":"sockjs.min.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()","'use strict';\n\nvar transportList = require('./transport-list');\n\nmodule.exports = require('./main')(transportList);\n\n// TODO can't get rid of this until all servers do\nif ('_sockjs_onload' in global) {\n setTimeout(global._sockjs_onload, 1);\n}\n","'use strict';\n\nvar inherits = require('inherits')\n , Event = require('./event')\n ;\n\nfunction CloseEvent() {\n Event.call(this);\n this.initEvent('close', false, false);\n this.wasClean = false;\n this.code = 0;\n this.reason = '';\n}\n\ninherits(CloseEvent, Event);\n\nmodule.exports = CloseEvent;\n","'use strict';\n\nvar inherits = require('inherits')\n , EventTarget = require('./eventtarget')\n ;\n\nfunction EventEmitter() {\n EventTarget.call(this);\n}\n\ninherits(EventEmitter, EventTarget);\n\nEventEmitter.prototype.removeAllListeners = function(type) {\n if (type) {\n delete this._listeners[type];\n } else {\n this._listeners = {};\n }\n};\n\nEventEmitter.prototype.once = function(type, listener) {\n var self = this\n , fired = false;\n\n function g() {\n self.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n this.on(type, g);\n};\n\nEventEmitter.prototype.emit = function() {\n var type = arguments[0];\n var listeners = this._listeners[type];\n if (!listeners) {\n return;\n }\n // equivalent of Array.prototype.slice.call(arguments, 1);\n var l = arguments.length;\n var args = new Array(l - 1);\n for (var ai = 1; ai < l; ai++) {\n args[ai - 1] = arguments[ai];\n }\n for (var i = 0; i < listeners.length; i++) {\n listeners[i].apply(this, args);\n }\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener = EventTarget.prototype.addEventListener;\nEventEmitter.prototype.removeListener = EventTarget.prototype.removeEventListener;\n\nmodule.exports.EventEmitter = EventEmitter;\n","'use strict';\n\nfunction Event(eventType) {\n this.type = eventType;\n}\n\nEvent.prototype.initEvent = function(eventType, canBubble, cancelable) {\n this.type = eventType;\n this.bubbles = canBubble;\n this.cancelable = cancelable;\n this.timeStamp = +new Date();\n return this;\n};\n\nEvent.prototype.stopPropagation = function() {};\nEvent.prototype.preventDefault = function() {};\n\nEvent.CAPTURING_PHASE = 1;\nEvent.AT_TARGET = 2;\nEvent.BUBBLING_PHASE = 3;\n\nmodule.exports = Event;\n","'use strict';\n\n/* Simplified implementation of DOM2 EventTarget.\n * http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-EventTarget\n */\n\nfunction EventTarget() {\n this._listeners = {};\n}\n\nEventTarget.prototype.addEventListener = function(eventType, listener) {\n if (!(eventType in this._listeners)) {\n this._listeners[eventType] = [];\n }\n var arr = this._listeners[eventType];\n // #4\n if (arr.indexOf(listener) === -1) {\n // Make a copy so as not to interfere with a current dispatchEvent.\n arr = arr.concat([listener]);\n }\n this._listeners[eventType] = arr;\n};\n\nEventTarget.prototype.removeEventListener = function(eventType, listener) {\n var arr = this._listeners[eventType];\n if (!arr) {\n return;\n }\n var idx = arr.indexOf(listener);\n if (idx !== -1) {\n if (arr.length > 1) {\n // Make a copy so as not to interfere with a current dispatchEvent.\n this._listeners[eventType] = arr.slice(0, idx).concat(arr.slice(idx + 1));\n } else {\n delete this._listeners[eventType];\n }\n return;\n }\n};\n\nEventTarget.prototype.dispatchEvent = function() {\n var event = arguments[0];\n var t = event.type;\n // equivalent of Array.prototype.slice.call(arguments, 0);\n var args = arguments.length === 1 ? [event] : Array.apply(null, arguments);\n // TODO: This doesn't match the real behavior; per spec, onfoo get\n // their place in line from the /first/ time they're set from\n // non-null. Although WebKit bumps it to the end every time it's\n // set.\n if (this['on' + t]) {\n this['on' + t].apply(this, args);\n }\n if (t in this._listeners) {\n // Grab a reference to the listeners list. removeEventListener may alter the list.\n var listeners = this._listeners[t];\n for (var i = 0; i < listeners.length; i++) {\n listeners[i].apply(this, args);\n }\n }\n};\n\nmodule.exports = EventTarget;\n","'use strict';\n\nvar inherits = require('inherits')\n , Event = require('./event')\n ;\n\nfunction TransportMessageEvent(data) {\n Event.call(this);\n this.initEvent('message', false, false);\n this.data = data;\n}\n\ninherits(TransportMessageEvent, Event);\n\nmodule.exports = TransportMessageEvent;\n","'use strict';\n\nvar JSON3 = require('json3')\n , iframeUtils = require('./utils/iframe')\n ;\n\nfunction FacadeJS(transport) {\n this._transport = transport;\n transport.on('message', this._transportMessage.bind(this));\n transport.on('close', this._transportClose.bind(this));\n}\n\nFacadeJS.prototype._transportClose = function(code, reason) {\n iframeUtils.postMessage('c', JSON3.stringify([code, reason]));\n};\nFacadeJS.prototype._transportMessage = function(frame) {\n iframeUtils.postMessage('t', frame);\n};\nFacadeJS.prototype._send = function(data) {\n this._transport.send(data);\n};\nFacadeJS.prototype._close = function() {\n this._transport.close();\n this._transport.removeAllListeners();\n};\n\nmodule.exports = FacadeJS;\n","'use strict';\n\nvar urlUtils = require('./utils/url')\n , eventUtils = require('./utils/event')\n , JSON3 = require('json3')\n , FacadeJS = require('./facade')\n , InfoIframeReceiver = require('./info-iframe-receiver')\n , iframeUtils = require('./utils/iframe')\n , loc = require('./location')\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:iframe-bootstrap');\n}\n\nmodule.exports = function(SockJS, availableTransports) {\n var transportMap = {};\n availableTransports.forEach(function(at) {\n if (at.facadeTransport) {\n transportMap[at.facadeTransport.transportName] = at.facadeTransport;\n }\n });\n\n // hard-coded for the info iframe\n // TODO see if we can make this more dynamic\n transportMap[InfoIframeReceiver.transportName] = InfoIframeReceiver;\n var parentOrigin;\n\n /* eslint-disable camelcase */\n SockJS.bootstrap_iframe = function() {\n /* eslint-enable camelcase */\n var facade;\n iframeUtils.currentWindowId = loc.hash.slice(1);\n var onMessage = function(e) {\n if (e.source !== parent) {\n return;\n }\n if (typeof parentOrigin === 'undefined') {\n parentOrigin = e.origin;\n }\n if (e.origin !== parentOrigin) {\n return;\n }\n\n var iframeMessage;\n try {\n iframeMessage = JSON3.parse(e.data);\n } catch (ignored) {\n debug('bad json', e.data);\n return;\n }\n\n if (iframeMessage.windowId !== iframeUtils.currentWindowId) {\n return;\n }\n switch (iframeMessage.type) {\n case 's':\n var p;\n try {\n p = JSON3.parse(iframeMessage.data);\n } catch (ignored) {\n debug('bad json', iframeMessage.data);\n break;\n }\n var version = p[0];\n var transport = p[1];\n var transUrl = p[2];\n var baseUrl = p[3];\n debug(version, transport, transUrl, baseUrl);\n // change this to semver logic\n if (version !== SockJS.version) {\n throw new Error('Incompatible SockJS! Main site uses:' +\n ' \"' + version + '\", the iframe:' +\n ' \"' + SockJS.version + '\".');\n }\n\n if (!urlUtils.isOriginEqual(transUrl, loc.href) ||\n !urlUtils.isOriginEqual(baseUrl, loc.href)) {\n throw new Error('Can\\'t connect to different domain from within an ' +\n 'iframe. (' + loc.href + ', ' + transUrl + ', ' + baseUrl + ')');\n }\n facade = new FacadeJS(new transportMap[transport](transUrl, baseUrl));\n break;\n case 'm':\n facade._send(iframeMessage.data);\n break;\n case 'c':\n if (facade) {\n facade._close();\n }\n facade = null;\n break;\n }\n };\n\n eventUtils.attachEvent('message', onMessage);\n\n // Start\n iframeUtils.postMessage('s');\n };\n};\n","'use strict';\n\nvar EventEmitter = require('events').EventEmitter\n , inherits = require('inherits')\n , JSON3 = require('json3')\n , objectUtils = require('./utils/object')\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:info-ajax');\n}\n\nfunction InfoAjax(url, AjaxObject) {\n EventEmitter.call(this);\n\n var self = this;\n var t0 = +new Date();\n this.xo = new AjaxObject('GET', url);\n\n this.xo.once('finish', function(status, text) {\n var info, rtt;\n if (status === 200) {\n rtt = (+new Date()) - t0;\n if (text) {\n try {\n info = JSON3.parse(text);\n } catch (e) {\n debug('bad json', text);\n }\n }\n\n if (!objectUtils.isObject(info)) {\n info = {};\n }\n }\n self.emit('finish', info, rtt);\n self.removeAllListeners();\n });\n}\n\ninherits(InfoAjax, EventEmitter);\n\nInfoAjax.prototype.close = function() {\n this.removeAllListeners();\n this.xo.close();\n};\n\nmodule.exports = InfoAjax;\n","'use strict';\n\nvar inherits = require('inherits')\n , EventEmitter = require('events').EventEmitter\n , JSON3 = require('json3')\n , XHRLocalObject = require('./transport/sender/xhr-local')\n , InfoAjax = require('./info-ajax')\n ;\n\nfunction InfoReceiverIframe(transUrl) {\n var self = this;\n EventEmitter.call(this);\n\n this.ir = new InfoAjax(transUrl, XHRLocalObject);\n this.ir.once('finish', function(info, rtt) {\n self.ir = null;\n self.emit('message', JSON3.stringify([info, rtt]));\n });\n}\n\ninherits(InfoReceiverIframe, EventEmitter);\n\nInfoReceiverIframe.transportName = 'iframe-info-receiver';\n\nInfoReceiverIframe.prototype.close = function() {\n if (this.ir) {\n this.ir.close();\n this.ir = null;\n }\n this.removeAllListeners();\n};\n\nmodule.exports = InfoReceiverIframe;\n","'use strict';\n\nvar EventEmitter = require('events').EventEmitter\n , inherits = require('inherits')\n , JSON3 = require('json3')\n , utils = require('./utils/event')\n , IframeTransport = require('./transport/iframe')\n , InfoReceiverIframe = require('./info-iframe-receiver')\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:info-iframe');\n}\n\nfunction InfoIframe(baseUrl, url) {\n var self = this;\n EventEmitter.call(this);\n\n var go = function() {\n var ifr = self.ifr = new IframeTransport(InfoReceiverIframe.transportName, url, baseUrl);\n\n ifr.once('message', function(msg) {\n if (msg) {\n var d;\n try {\n d = JSON3.parse(msg);\n } catch (e) {\n debug('bad json', msg);\n self.emit('finish');\n self.close();\n return;\n }\n\n var info = d[0], rtt = d[1];\n self.emit('finish', info, rtt);\n }\n self.close();\n });\n\n ifr.once('close', function() {\n self.emit('finish');\n self.close();\n });\n };\n\n // TODO this seems the same as the 'needBody' from transports\n if (!global.document.body) {\n utils.attachEvent('load', go);\n } else {\n go();\n }\n}\n\ninherits(InfoIframe, EventEmitter);\n\nInfoIframe.enabled = function() {\n return IframeTransport.enabled();\n};\n\nInfoIframe.prototype.close = function() {\n if (this.ifr) {\n this.ifr.close();\n }\n this.removeAllListeners();\n this.ifr = null;\n};\n\nmodule.exports = InfoIframe;\n","'use strict';\n\nvar EventEmitter = require('events').EventEmitter\n , inherits = require('inherits')\n , urlUtils = require('./utils/url')\n , XDR = require('./transport/sender/xdr')\n , XHRCors = require('./transport/sender/xhr-cors')\n , XHRLocal = require('./transport/sender/xhr-local')\n , XHRFake = require('./transport/sender/xhr-fake')\n , InfoIframe = require('./info-iframe')\n , InfoAjax = require('./info-ajax')\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:info-receiver');\n}\n\nfunction InfoReceiver(baseUrl, urlInfo) {\n debug(baseUrl);\n var self = this;\n EventEmitter.call(this);\n\n setTimeout(function() {\n self.doXhr(baseUrl, urlInfo);\n }, 0);\n}\n\ninherits(InfoReceiver, EventEmitter);\n\n// TODO this is currently ignoring the list of available transports and the whitelist\n\nInfoReceiver._getReceiver = function(baseUrl, url, urlInfo) {\n // determine method of CORS support (if needed)\n if (urlInfo.sameOrigin) {\n return new InfoAjax(url, XHRLocal);\n }\n if (XHRCors.enabled) {\n return new InfoAjax(url, XHRCors);\n }\n if (XDR.enabled && urlInfo.sameScheme) {\n return new InfoAjax(url, XDR);\n }\n if (InfoIframe.enabled()) {\n return new InfoIframe(baseUrl, url);\n }\n return new InfoAjax(url, XHRFake);\n};\n\nInfoReceiver.prototype.doXhr = function(baseUrl, urlInfo) {\n var self = this\n , url = urlUtils.addPath(baseUrl, '/info')\n ;\n debug('doXhr', url);\n\n this.xo = InfoReceiver._getReceiver(baseUrl, url, urlInfo);\n\n this.timeoutRef = setTimeout(function() {\n debug('timeout');\n self._cleanup(false);\n self.emit('finish');\n }, InfoReceiver.timeout);\n\n this.xo.once('finish', function(info, rtt) {\n debug('finish', info, rtt);\n self._cleanup(true);\n self.emit('finish', info, rtt);\n });\n};\n\nInfoReceiver.prototype._cleanup = function(wasClean) {\n debug('_cleanup');\n clearTimeout(this.timeoutRef);\n this.timeoutRef = null;\n if (!wasClean && this.xo) {\n this.xo.close();\n }\n this.xo = null;\n};\n\nInfoReceiver.prototype.close = function() {\n debug('close');\n this.removeAllListeners();\n this._cleanup(false);\n};\n\nInfoReceiver.timeout = 8000;\n\nmodule.exports = InfoReceiver;\n","'use strict';\n\nmodule.exports = global.location || {\n origin: 'http://localhost:80'\n, protocol: 'http:'\n, host: 'localhost'\n, port: 80\n, href: 'http://localhost/'\n, hash: ''\n};\n","'use strict';\n\nrequire('./shims');\n\nvar URL = require('url-parse')\n , inherits = require('inherits')\n , JSON3 = require('json3')\n , random = require('./utils/random')\n , escape = require('./utils/escape')\n , urlUtils = require('./utils/url')\n , eventUtils = require('./utils/event')\n , transport = require('./utils/transport')\n , objectUtils = require('./utils/object')\n , browser = require('./utils/browser')\n , log = require('./utils/log')\n , Event = require('./event/event')\n , EventTarget = require('./event/eventtarget')\n , loc = require('./location')\n , CloseEvent = require('./event/close')\n , TransportMessageEvent = require('./event/trans-message')\n , InfoReceiver = require('./info-receiver')\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:main');\n}\n\nvar transports;\n\n// follow constructor steps defined at http://dev.w3.org/html5/websockets/#the-websocket-interface\nfunction SockJS(url, protocols, options) {\n if (!(this instanceof SockJS)) {\n return new SockJS(url, protocols, options);\n }\n if (arguments.length < 1) {\n throw new TypeError(\"Failed to construct 'SockJS: 1 argument required, but only 0 present\");\n }\n EventTarget.call(this);\n\n this.readyState = SockJS.CONNECTING;\n this.extensions = '';\n this.protocol = '';\n\n // non-standard extension\n options = options || {};\n if (options.protocols_whitelist) {\n log.warn(\"'protocols_whitelist' is DEPRECATED. Use 'transports' instead.\");\n }\n this._transportsWhitelist = options.transports;\n this._transportOptions = options.transportOptions || {};\n this._timeout = options.timeout || 0;\n\n var sessionId = options.sessionId || 8;\n if (typeof sessionId === 'function') {\n this._generateSessionId = sessionId;\n } else if (typeof sessionId === 'number') {\n this._generateSessionId = function() {\n return random.string(sessionId);\n };\n } else {\n throw new TypeError('If sessionId is used in the options, it needs to be a number or a function.');\n }\n\n this._server = options.server || random.numberString(1000);\n\n // Step 1 of WS spec - parse and validate the url. Issue #8\n var parsedUrl = new URL(url);\n if (!parsedUrl.host || !parsedUrl.protocol) {\n throw new SyntaxError(\"The URL '\" + url + \"' is invalid\");\n } else if (parsedUrl.hash) {\n throw new SyntaxError('The URL must not contain a fragment');\n } else if (parsedUrl.protocol !== 'http:' && parsedUrl.protocol !== 'https:') {\n throw new SyntaxError(\"The URL's scheme must be either 'http:' or 'https:'. '\" + parsedUrl.protocol + \"' is not allowed.\");\n }\n\n var secure = parsedUrl.protocol === 'https:';\n // Step 2 - don't allow secure origin with an insecure protocol\n if (loc.protocol === 'https:' && !secure) {\n throw new Error('SecurityError: An insecure SockJS connection may not be initiated from a page loaded over HTTPS');\n }\n\n // Step 3 - check port access - no need here\n // Step 4 - parse protocols argument\n if (!protocols) {\n protocols = [];\n } else if (!Array.isArray(protocols)) {\n protocols = [protocols];\n }\n\n // Step 5 - check protocols argument\n var sortedProtocols = protocols.sort();\n sortedProtocols.forEach(function(proto, i) {\n if (!proto) {\n throw new SyntaxError(\"The protocols entry '\" + proto + \"' is invalid.\");\n }\n if (i < (sortedProtocols.length - 1) && proto === sortedProtocols[i + 1]) {\n throw new SyntaxError(\"The protocols entry '\" + proto + \"' is duplicated.\");\n }\n });\n\n // Step 6 - convert origin\n var o = urlUtils.getOrigin(loc.href);\n this._origin = o ? o.toLowerCase() : null;\n\n // remove the trailing slash\n parsedUrl.set('pathname', parsedUrl.pathname.replace(/\\/+$/, ''));\n\n // store the sanitized url\n this.url = parsedUrl.href;\n debug('using url', this.url);\n\n // Step 7 - start connection in background\n // obtain server info\n // http://sockjs.github.io/sockjs-protocol/sockjs-protocol-0.3.3.html#section-26\n this._urlInfo = {\n nullOrigin: !browser.hasDomain()\n , sameOrigin: urlUtils.isOriginEqual(this.url, loc.href)\n , sameScheme: urlUtils.isSchemeEqual(this.url, loc.href)\n };\n\n this._ir = new InfoReceiver(this.url, this._urlInfo);\n this._ir.once('finish', this._receiveInfo.bind(this));\n}\n\ninherits(SockJS, EventTarget);\n\nfunction userSetCode(code) {\n return code === 1000 || (code >= 3000 && code <= 4999);\n}\n\nSockJS.prototype.close = function(code, reason) {\n // Step 1\n if (code && !userSetCode(code)) {\n throw new Error('InvalidAccessError: Invalid code');\n }\n // Step 2.4 states the max is 123 bytes, but we are just checking length\n if (reason && reason.length > 123) {\n throw new SyntaxError('reason argument has an invalid length');\n }\n\n // Step 3.1\n if (this.readyState === SockJS.CLOSING || this.readyState === SockJS.CLOSED) {\n return;\n }\n\n // TODO look at docs to determine how to set this\n var wasClean = true;\n this._close(code || 1000, reason || 'Normal closure', wasClean);\n};\n\nSockJS.prototype.send = function(data) {\n // #13 - convert anything non-string to string\n // TODO this currently turns objects into [object Object]\n if (typeof data !== 'string') {\n data = '' + data;\n }\n if (this.readyState === SockJS.CONNECTING) {\n throw new Error('InvalidStateError: The connection has not been established yet');\n }\n if (this.readyState !== SockJS.OPEN) {\n return;\n }\n this._transport.send(escape.quote(data));\n};\n\nSockJS.version = require('./version');\n\nSockJS.CONNECTING = 0;\nSockJS.OPEN = 1;\nSockJS.CLOSING = 2;\nSockJS.CLOSED = 3;\n\nSockJS.prototype._receiveInfo = function(info, rtt) {\n debug('_receiveInfo', rtt);\n this._ir = null;\n if (!info) {\n this._close(1002, 'Cannot connect to server');\n return;\n }\n\n // establish a round-trip timeout (RTO) based on the\n // round-trip time (RTT)\n this._rto = this.countRTO(rtt);\n // allow server to override url used for the actual transport\n this._transUrl = info.base_url ? info.base_url : this.url;\n info = objectUtils.extend(info, this._urlInfo);\n debug('info', info);\n // determine list of desired and supported transports\n var enabledTransports = transports.filterToEnabled(this._transportsWhitelist, info);\n this._transports = enabledTransports.main;\n debug(this._transports.length + ' enabled transports');\n\n this._connect();\n};\n\nSockJS.prototype._connect = function() {\n for (var Transport = this._transports.shift(); Transport; Transport = this._transports.shift()) {\n debug('attempt', Transport.transportName);\n if (Transport.needBody) {\n if (!global.document.body ||\n (typeof global.document.readyState !== 'undefined' &&\n global.document.readyState !== 'complete' &&\n global.document.readyState !== 'interactive')) {\n debug('waiting for body');\n this._transports.unshift(Transport);\n eventUtils.attachEvent('load', this._connect.bind(this));\n return;\n }\n }\n\n // calculate timeout based on RTO and round trips. Default to 5s\n var timeoutMs = Math.max(this._timeout, (this._rto * Transport.roundTrips) || 5000);\n this._transportTimeoutId = setTimeout(this._transportTimeout.bind(this), timeoutMs);\n debug('using timeout', timeoutMs);\n\n var transportUrl = urlUtils.addPath(this._transUrl, '/' + this._server + '/' + this._generateSessionId());\n var options = this._transportOptions[Transport.transportName];\n debug('transport url', transportUrl);\n var transportObj = new Transport(transportUrl, this._transUrl, options);\n transportObj.on('message', this._transportMessage.bind(this));\n transportObj.once('close', this._transportClose.bind(this));\n transportObj.transportName = Transport.transportName;\n this._transport = transportObj;\n\n return;\n }\n this._close(2000, 'All transports failed', false);\n};\n\nSockJS.prototype._transportTimeout = function() {\n debug('_transportTimeout');\n if (this.readyState === SockJS.CONNECTING) {\n if (this._transport) {\n this._transport.close();\n }\n\n this._transportClose(2007, 'Transport timed out');\n }\n};\n\nSockJS.prototype._transportMessage = function(msg) {\n debug('_transportMessage', msg);\n var self = this\n , type = msg.slice(0, 1)\n , content = msg.slice(1)\n , payload\n ;\n\n // first check for messages that don't need a payload\n switch (type) {\n case 'o':\n this._open();\n return;\n case 'h':\n this.dispatchEvent(new Event('heartbeat'));\n debug('heartbeat', this.transport);\n return;\n }\n\n if (content) {\n try {\n payload = JSON3.parse(content);\n } catch (e) {\n debug('bad json', content);\n }\n }\n\n if (typeof payload === 'undefined') {\n debug('empty payload', content);\n return;\n }\n\n switch (type) {\n case 'a':\n if (Array.isArray(payload)) {\n payload.forEach(function(p) {\n debug('message', self.transport, p);\n self.dispatchEvent(new TransportMessageEvent(p));\n });\n }\n break;\n case 'm':\n debug('message', this.transport, payload);\n this.dispatchEvent(new TransportMessageEvent(payload));\n break;\n case 'c':\n if (Array.isArray(payload) && payload.length === 2) {\n this._close(payload[0], payload[1], true);\n }\n break;\n }\n};\n\nSockJS.prototype._transportClose = function(code, reason) {\n debug('_transportClose', this.transport, code, reason);\n if (this._transport) {\n this._transport.removeAllListeners();\n this._transport = null;\n this.transport = null;\n }\n\n if (!userSetCode(code) && code !== 2000 && this.readyState === SockJS.CONNECTING) {\n this._connect();\n return;\n }\n\n this._close(code, reason);\n};\n\nSockJS.prototype._open = function() {\n debug('_open', this._transport && this._transport.transportName, this.readyState);\n if (this.readyState === SockJS.CONNECTING) {\n if (this._transportTimeoutId) {\n clearTimeout(this._transportTimeoutId);\n this._transportTimeoutId = null;\n }\n this.readyState = SockJS.OPEN;\n this.transport = this._transport.transportName;\n this.dispatchEvent(new Event('open'));\n debug('connected', this.transport);\n } else {\n // The server might have been restarted, and lost track of our\n // connection.\n this._close(1006, 'Server lost session');\n }\n};\n\nSockJS.prototype._close = function(code, reason, wasClean) {\n debug('_close', this.transport, code, reason, wasClean, this.readyState);\n var forceFail = false;\n\n if (this._ir) {\n forceFail = true;\n this._ir.close();\n this._ir = null;\n }\n if (this._transport) {\n this._transport.close();\n this._transport = null;\n this.transport = null;\n }\n\n if (this.readyState === SockJS.CLOSED) {\n throw new Error('InvalidStateError: SockJS has already been closed');\n }\n\n this.readyState = SockJS.CLOSING;\n setTimeout(function() {\n this.readyState = SockJS.CLOSED;\n\n if (forceFail) {\n this.dispatchEvent(new Event('error'));\n }\n\n var e = new CloseEvent('close');\n e.wasClean = wasClean || false;\n e.code = code || 1000;\n e.reason = reason;\n\n this.dispatchEvent(e);\n this.onmessage = this.onclose = this.onerror = null;\n debug('disconnected');\n }.bind(this), 0);\n};\n\n// See: http://www.erg.abdn.ac.uk/~gerrit/dccp/notes/ccid2/rto_estimator/\n// and RFC 2988.\nSockJS.prototype.countRTO = function(rtt) {\n // In a local environment, when using IE8/9 and the `jsonp-polling`\n // transport the time needed to establish a connection (the time that pass\n // from the opening of the transport to the call of `_dispatchOpen`) is\n // around 200msec (the lower bound used in the article above) and this\n // causes spurious timeouts. For this reason we calculate a value slightly\n // larger than that used in the article.\n if (rtt > 100) {\n return 4 * rtt; // rto > 400msec\n }\n return 300 + rtt; // 300msec < rto <= 400msec\n};\n\nmodule.exports = function(availableTransports) {\n transports = transport(availableTransports);\n require('./iframe-bootstrap')(SockJS, availableTransports);\n return SockJS;\n};\n","/* eslint-disable */\n/* jscs: disable */\n'use strict';\n\n// pulled specific shims from https://github.com/es-shims/es5-shim\n\nvar ArrayPrototype = Array.prototype;\nvar ObjectPrototype = Object.prototype;\nvar FunctionPrototype = Function.prototype;\nvar StringPrototype = String.prototype;\nvar array_slice = ArrayPrototype.slice;\n\nvar _toString = ObjectPrototype.toString;\nvar isFunction = function (val) {\n return ObjectPrototype.toString.call(val) === '[object Function]';\n};\nvar isArray = function isArray(obj) {\n return _toString.call(obj) === '[object Array]';\n};\nvar isString = function isString(obj) {\n return _toString.call(obj) === '[object String]';\n};\n\nvar supportsDescriptors = Object.defineProperty && (function () {\n try {\n Object.defineProperty({}, 'x', {});\n return true;\n } catch (e) { /* this is ES3 */\n return false;\n }\n}());\n\n// Define configurable, writable and non-enumerable props\n// if they don't exist.\nvar defineProperty;\nif (supportsDescriptors) {\n defineProperty = function (object, name, method, forceAssign) {\n if (!forceAssign && (name in object)) { return; }\n Object.defineProperty(object, name, {\n configurable: true,\n enumerable: false,\n writable: true,\n value: method\n });\n };\n} else {\n defineProperty = function (object, name, method, forceAssign) {\n if (!forceAssign && (name in object)) { return; }\n object[name] = method;\n };\n}\nvar defineProperties = function (object, map, forceAssign) {\n for (var name in map) {\n if (ObjectPrototype.hasOwnProperty.call(map, name)) {\n defineProperty(object, name, map[name], forceAssign);\n }\n }\n};\n\nvar toObject = function (o) {\n if (o == null) { // this matches both null and undefined\n throw new TypeError(\"can't convert \" + o + ' to object');\n }\n return Object(o);\n};\n\n//\n// Util\n// ======\n//\n\n// ES5 9.4\n// http://es5.github.com/#x9.4\n// http://jsperf.com/to-integer\n\nfunction toInteger(num) {\n var n = +num;\n if (n !== n) { // isNaN\n n = 0;\n } else if (n !== 0 && n !== (1 / 0) && n !== -(1 / 0)) {\n n = (n > 0 || -1) * Math.floor(Math.abs(n));\n }\n return n;\n}\n\nfunction ToUint32(x) {\n return x >>> 0;\n}\n\n//\n// Function\n// ========\n//\n\n// ES-5 15.3.4.5\n// http://es5.github.com/#x15.3.4.5\n\nfunction Empty() {}\n\ndefineProperties(FunctionPrototype, {\n bind: function bind(that) { // .length is 1\n // 1. Let Target be the this value.\n var target = this;\n // 2. If IsCallable(Target) is false, throw a TypeError exception.\n if (!isFunction(target)) {\n throw new TypeError('Function.prototype.bind called on incompatible ' + target);\n }\n // 3. Let A be a new (possibly empty) internal list of all of the\n // argument values provided after thisArg (arg1, arg2 etc), in order.\n // XXX slicedArgs will stand in for \"A\" if used\n var args = array_slice.call(arguments, 1); // for normal call\n // 4. Let F be a new native ECMAScript object.\n // 11. Set the [[Prototype]] internal property of F to the standard\n // built-in Function prototype object as specified in 15.3.3.1.\n // 12. Set the [[Call]] internal property of F as described in\n // 15.3.4.5.1.\n // 13. Set the [[Construct]] internal property of F as described in\n // 15.3.4.5.2.\n // 14. Set the [[HasInstance]] internal property of F as described in\n // 15.3.4.5.3.\n var binder = function () {\n\n if (this instanceof bound) {\n // 15.3.4.5.2 [[Construct]]\n // When the [[Construct]] internal method of a function object,\n // F that was created using the bind function is called with a\n // list of arguments ExtraArgs, the following steps are taken:\n // 1. Let target be the value of F's [[TargetFunction]]\n // internal property.\n // 2. If target has no [[Construct]] internal method, a\n // TypeError exception is thrown.\n // 3. Let boundArgs be the value of F's [[BoundArgs]] internal\n // property.\n // 4. Let args be a new list containing the same values as the\n // list boundArgs in the same order followed by the same\n // values as the list ExtraArgs in the same order.\n // 5. Return the result of calling the [[Construct]] internal\n // method of target providing args as the arguments.\n\n var result = target.apply(\n this,\n args.concat(array_slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n\n } else {\n // 15.3.4.5.1 [[Call]]\n // When the [[Call]] internal method of a function object, F,\n // which was created using the bind function is called with a\n // this value and a list of arguments ExtraArgs, the following\n // steps are taken:\n // 1. Let boundArgs be the value of F's [[BoundArgs]] internal\n // property.\n // 2. Let boundThis be the value of F's [[BoundThis]] internal\n // property.\n // 3. Let target be the value of F's [[TargetFunction]] internal\n // property.\n // 4. Let args be a new list containing the same values as the\n // list boundArgs in the same order followed by the same\n // values as the list ExtraArgs in the same order.\n // 5. Return the result of calling the [[Call]] internal method\n // of target providing boundThis as the this value and\n // providing args as the arguments.\n\n // equiv: target.call(this, ...boundArgs, ...args)\n return target.apply(\n that,\n args.concat(array_slice.call(arguments))\n );\n\n }\n\n };\n\n // 15. If the [[Class]] internal property of Target is \"Function\", then\n // a. Let L be the length property of Target minus the length of A.\n // b. Set the length own property of F to either 0 or L, whichever is\n // larger.\n // 16. Else set the length own property of F to 0.\n\n var boundLength = Math.max(0, target.length - args.length);\n\n // 17. Set the attributes of the length own property of F to the values\n // specified in 15.3.5.1.\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n // XXX Build a dynamic function with desired amount of arguments is the only\n // way to set the length property of a function.\n // In environments where Content Security Policies enabled (Chrome extensions,\n // for ex.) all use of eval or Function costructor throws an exception.\n // However in all of these environments Function.prototype.bind exists\n // and so this code will never be executed.\n var bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this, arguments); }')(binder);\n\n if (target.prototype) {\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n // Clean up dangling references.\n Empty.prototype = null;\n }\n\n // TODO\n // 18. Set the [[Extensible]] internal property of F to true.\n\n // TODO\n // 19. Let thrower be the [[ThrowTypeError]] function Object (13.2.3).\n // 20. Call the [[DefineOwnProperty]] internal method of F with\n // arguments \"caller\", PropertyDescriptor {[[Get]]: thrower, [[Set]]:\n // thrower, [[Enumerable]]: false, [[Configurable]]: false}, and\n // false.\n // 21. Call the [[DefineOwnProperty]] internal method of F with\n // arguments \"arguments\", PropertyDescriptor {[[Get]]: thrower,\n // [[Set]]: thrower, [[Enumerable]]: false, [[Configurable]]: false},\n // and false.\n\n // TODO\n // NOTE Function objects created using Function.prototype.bind do not\n // have a prototype property or the [[Code]], [[FormalParameters]], and\n // [[Scope]] internal properties.\n // XXX can't delete prototype in pure-js.\n\n // 22. Return F.\n return bound;\n }\n});\n\n//\n// Array\n// =====\n//\n\n// ES5 15.4.3.2\n// http://es5.github.com/#x15.4.3.2\n// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/isArray\ndefineProperties(Array, { isArray: isArray });\n\n\nvar boxedString = Object('a');\nvar splitString = boxedString[0] !== 'a' || !(0 in boxedString);\n\nvar properlyBoxesContext = function properlyBoxed(method) {\n // Check node 0.6.21 bug where third parameter is not boxed\n var properlyBoxesNonStrict = true;\n var properlyBoxesStrict = true;\n if (method) {\n method.call('foo', function (_, __, context) {\n if (typeof context !== 'object') { properlyBoxesNonStrict = false; }\n });\n\n method.call([1], function () {\n 'use strict';\n properlyBoxesStrict = typeof this === 'string';\n }, 'x');\n }\n return !!method && properlyBoxesNonStrict && properlyBoxesStrict;\n};\n\ndefineProperties(ArrayPrototype, {\n forEach: function forEach(fun /*, thisp*/) {\n var object = toObject(this),\n self = splitString && isString(this) ? this.split('') : object,\n thisp = arguments[1],\n i = -1,\n length = self.length >>> 0;\n\n // If no callback function or if callback is not a callable function\n if (!isFunction(fun)) {\n throw new TypeError(); // TODO message\n }\n\n while (++i < length) {\n if (i in self) {\n // Invoke the callback function with call, passing arguments:\n // context, property value, property key, thisArg object\n // context\n fun.call(thisp, self[i], i, object);\n }\n }\n }\n}, !properlyBoxesContext(ArrayPrototype.forEach));\n\n// ES5 15.4.4.14\n// http://es5.github.com/#x15.4.4.14\n// https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/indexOf\nvar hasFirefox2IndexOfBug = Array.prototype.indexOf && [0, 1].indexOf(1, 2) !== -1;\ndefineProperties(ArrayPrototype, {\n indexOf: function indexOf(sought /*, fromIndex */ ) {\n var self = splitString && isString(this) ? this.split('') : toObject(this),\n length = self.length >>> 0;\n\n if (!length) {\n return -1;\n }\n\n var i = 0;\n if (arguments.length > 1) {\n i = toInteger(arguments[1]);\n }\n\n // handle negative indices\n i = i >= 0 ? i : Math.max(0, length + i);\n for (; i < length; i++) {\n if (i in self && self[i] === sought) {\n return i;\n }\n }\n return -1;\n }\n}, hasFirefox2IndexOfBug);\n\n//\n// String\n// ======\n//\n\n// ES5 15.5.4.14\n// http://es5.github.com/#x15.5.4.14\n\n// [bugfix, IE lt 9, firefox 4, Konqueror, Opera, obscure browsers]\n// Many browsers do not split properly with regular expressions or they\n// do not perform the split correctly under obscure conditions.\n// See http://blog.stevenlevithan.com/archives/cross-browser-split\n// I've tested in many browsers and this seems to cover the deviant ones:\n// 'ab'.split(/(?:ab)*/) should be [\"\", \"\"], not [\"\"]\n// '.'.split(/(.?)(.?)/) should be [\"\", \".\", \"\", \"\"], not [\"\", \"\"]\n// 'tesst'.split(/(s)*/) should be [\"t\", undefined, \"e\", \"s\", \"t\"], not\n// [undefined, \"t\", undefined, \"e\", ...]\n// ''.split(/.?/) should be [], not [\"\"]\n// '.'.split(/()()/) should be [\".\"], not [\"\", \"\", \".\"]\n\nvar string_split = StringPrototype.split;\nif (\n 'ab'.split(/(?:ab)*/).length !== 2 ||\n '.'.split(/(.?)(.?)/).length !== 4 ||\n 'tesst'.split(/(s)*/)[1] === 't' ||\n 'test'.split(/(?:)/, -1).length !== 4 ||\n ''.split(/.?/).length ||\n '.'.split(/()()/).length > 1\n) {\n (function () {\n var compliantExecNpcg = /()??/.exec('')[1] === void 0; // NPCG: nonparticipating capturing group\n\n StringPrototype.split = function (separator, limit) {\n var string = this;\n if (separator === void 0 && limit === 0) {\n return [];\n }\n\n // If `separator` is not a regex, use native split\n if (_toString.call(separator) !== '[object RegExp]') {\n return string_split.call(this, separator, limit);\n }\n\n var output = [],\n flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.extended ? 'x' : '') + // Proposed for ES6\n (separator.sticky ? 'y' : ''), // Firefox 3+\n lastLastIndex = 0,\n // Make `global` and avoid `lastIndex` issues by working with a copy\n separator2, match, lastIndex, lastLength;\n separator = new RegExp(separator.source, flags + 'g');\n string += ''; // Type-convert\n if (!compliantExecNpcg) {\n // Doesn't need flags gy, but they don't hurt\n separator2 = new RegExp('^' + separator.source + '$(?!\\\\s)', flags);\n }\n /* Values for `limit`, per the spec:\n * If undefined: 4294967295 // Math.pow(2, 32) - 1\n * If 0, Infinity, or NaN: 0\n * If positive number: limit = Math.floor(limit); if (limit > 4294967295) limit -= 4294967296;\n * If negative number: 4294967296 - Math.floor(Math.abs(limit))\n * If other: Type-convert, then use the above rules\n */\n limit = limit === void 0 ?\n -1 >>> 0 : // Math.pow(2, 32) - 1\n ToUint32(limit);\n while (match = separator.exec(string)) {\n // `separator.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0].length;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for\n // nonparticipating capturing groups\n if (!compliantExecNpcg && match.length > 1) {\n match[0].replace(separator2, function () {\n for (var i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === void 0) {\n match[i] = void 0;\n }\n }\n });\n }\n if (match.length > 1 && match.index < string.length) {\n ArrayPrototype.push.apply(output, match.slice(1));\n }\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= limit) {\n break;\n }\n }\n if (separator.lastIndex === match.index) {\n separator.lastIndex++; // Avoid an infinite loop\n }\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separator.test('')) {\n output.push('');\n }\n } else {\n output.push(string.slice(lastLastIndex));\n }\n return output.length > limit ? output.slice(0, limit) : output;\n };\n }());\n\n// [bugfix, chrome]\n// If separator is undefined, then the result array contains just one String,\n// which is the this value (converted to a String). If limit is not undefined,\n// then the output array is truncated so that it contains no more than limit\n// elements.\n// \"0\".split(undefined, 0) -> []\n} else if ('0'.split(void 0, 0).length) {\n StringPrototype.split = function split(separator, limit) {\n if (separator === void 0 && limit === 0) { return []; }\n return string_split.call(this, separator, limit);\n };\n}\n\n// ECMA-262, 3rd B.2.3\n// Not an ECMAScript standard, although ECMAScript 3rd Edition has a\n// non-normative section suggesting uniform semantics and it should be\n// normalized across all browsers\n// [bugfix, IE lt 9] IE < 9 substr() with negative value not working in IE\nvar string_substr = StringPrototype.substr;\nvar hasNegativeSubstrBug = ''.substr && '0b'.substr(-1) !== 'b';\ndefineProperties(StringPrototype, {\n substr: function substr(start, length) {\n return string_substr.call(\n this,\n start < 0 ? ((start = this.length + start) < 0 ? 0 : start) : start,\n length\n );\n }\n}, hasNegativeSubstrBug);\n","'use strict';\n\nmodule.exports = [\n // streaming transports\n require('./transport/websocket')\n, require('./transport/xhr-streaming')\n, require('./transport/xdr-streaming')\n, require('./transport/eventsource')\n, require('./transport/lib/iframe-wrap')(require('./transport/eventsource'))\n\n // polling transports\n, require('./transport/htmlfile')\n, require('./transport/lib/iframe-wrap')(require('./transport/htmlfile'))\n, require('./transport/xhr-polling')\n, require('./transport/xdr-polling')\n, require('./transport/lib/iframe-wrap')(require('./transport/xhr-polling'))\n, require('./transport/jsonp-polling')\n];\n","'use strict';\n\nvar EventEmitter = require('events').EventEmitter\n , inherits = require('inherits')\n , utils = require('../../utils/event')\n , urlUtils = require('../../utils/url')\n , XHR = global.XMLHttpRequest\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:browser:xhr');\n}\n\nfunction AbstractXHRObject(method, url, payload, opts) {\n debug(method, url);\n var self = this;\n EventEmitter.call(this);\n\n setTimeout(function () {\n self._start(method, url, payload, opts);\n }, 0);\n}\n\ninherits(AbstractXHRObject, EventEmitter);\n\nAbstractXHRObject.prototype._start = function(method, url, payload, opts) {\n var self = this;\n\n try {\n this.xhr = new XHR();\n } catch (x) {\n // intentionally empty\n }\n\n if (!this.xhr) {\n debug('no xhr');\n this.emit('finish', 0, 'no xhr support');\n this._cleanup();\n return;\n }\n\n // several browsers cache POSTs\n url = urlUtils.addQuery(url, 't=' + (+new Date()));\n\n // Explorer tends to keep connection open, even after the\n // tab gets closed: http://bugs.jquery.com/ticket/5280\n this.unloadRef = utils.unloadAdd(function() {\n debug('unload cleanup');\n self._cleanup(true);\n });\n try {\n this.xhr.open(method, url, true);\n if (this.timeout && 'timeout' in this.xhr) {\n this.xhr.timeout = this.timeout;\n this.xhr.ontimeout = function() {\n debug('xhr timeout');\n self.emit('finish', 0, '');\n self._cleanup(false);\n };\n }\n } catch (e) {\n debug('exception', e);\n // IE raises an exception on wrong port.\n this.emit('finish', 0, '');\n this._cleanup(false);\n return;\n }\n\n if ((!opts || !opts.noCredentials) && AbstractXHRObject.supportsCORS) {\n debug('withCredentials');\n // Mozilla docs says https://developer.mozilla.org/en/XMLHttpRequest :\n // \"This never affects same-site requests.\"\n\n this.xhr.withCredentials = true;\n }\n if (opts && opts.headers) {\n for (var key in opts.headers) {\n this.xhr.setRequestHeader(key, opts.headers[key]);\n }\n }\n\n this.xhr.onreadystatechange = function() {\n if (self.xhr) {\n var x = self.xhr;\n var text, status;\n debug('readyState', x.readyState);\n switch (x.readyState) {\n case 3:\n // IE doesn't like peeking into responseText or status\n // on Microsoft.XMLHTTP and readystate=3\n try {\n status = x.status;\n text = x.responseText;\n } catch (e) {\n // intentionally empty\n }\n debug('status', status);\n // IE returns 1223 for 204: http://bugs.jquery.com/ticket/1450\n if (status === 1223) {\n status = 204;\n }\n\n // IE does return readystate == 3 for 404 answers.\n if (status === 200 && text && text.length > 0) {\n debug('chunk');\n self.emit('chunk', status, text);\n }\n break;\n case 4:\n status = x.status;\n debug('status', status);\n // IE returns 1223 for 204: http://bugs.jquery.com/ticket/1450\n if (status === 1223) {\n status = 204;\n }\n // IE returns this for a bad port\n // http://msdn.microsoft.com/en-us/library/windows/desktop/aa383770(v=vs.85).aspx\n if (status === 12005 || status === 12029) {\n status = 0;\n }\n\n debug('finish', status, x.responseText);\n self.emit('finish', status, x.responseText);\n self._cleanup(false);\n break;\n }\n }\n };\n\n try {\n self.xhr.send(payload);\n } catch (e) {\n self.emit('finish', 0, '');\n self._cleanup(false);\n }\n};\n\nAbstractXHRObject.prototype._cleanup = function(abort) {\n debug('cleanup');\n if (!this.xhr) {\n return;\n }\n this.removeAllListeners();\n utils.unloadDel(this.unloadRef);\n\n // IE needs this field to be a function\n this.xhr.onreadystatechange = function() {};\n if (this.xhr.ontimeout) {\n this.xhr.ontimeout = null;\n }\n\n if (abort) {\n try {\n this.xhr.abort();\n } catch (x) {\n // intentionally empty\n }\n }\n this.unloadRef = this.xhr = null;\n};\n\nAbstractXHRObject.prototype.close = function() {\n debug('close');\n this._cleanup(true);\n};\n\nAbstractXHRObject.enabled = !!XHR;\n// override XMLHttpRequest for IE6/7\n// obfuscate to avoid firewalls\nvar axo = ['Active'].concat('Object').join('X');\nif (!AbstractXHRObject.enabled && (axo in global)) {\n debug('overriding xmlhttprequest');\n XHR = function() {\n try {\n return new global[axo]('Microsoft.XMLHTTP');\n } catch (e) {\n return null;\n }\n };\n AbstractXHRObject.enabled = !!new XHR();\n}\n\nvar cors = false;\ntry {\n cors = 'withCredentials' in new XHR();\n} catch (ignored) {\n // intentionally empty\n}\n\nAbstractXHRObject.supportsCORS = cors;\n\nmodule.exports = AbstractXHRObject;\n","module.exports = global.EventSource;\n","'use strict';\n\nvar Driver = global.WebSocket || global.MozWebSocket;\nif (Driver) {\n\tmodule.exports = function WebSocketBrowserDriver(url) {\n\t\treturn new Driver(url);\n\t};\n} else {\n\tmodule.exports = undefined;\n}\n","'use strict';\n\nvar inherits = require('inherits')\n , AjaxBasedTransport = require('./lib/ajax-based')\n , EventSourceReceiver = require('./receiver/eventsource')\n , XHRCorsObject = require('./sender/xhr-cors')\n , EventSourceDriver = require('eventsource')\n ;\n\nfunction EventSourceTransport(transUrl) {\n if (!EventSourceTransport.enabled()) {\n throw new Error('Transport created when disabled');\n }\n\n AjaxBasedTransport.call(this, transUrl, '/eventsource', EventSourceReceiver, XHRCorsObject);\n}\n\ninherits(EventSourceTransport, AjaxBasedTransport);\n\nEventSourceTransport.enabled = function() {\n return !!EventSourceDriver;\n};\n\nEventSourceTransport.transportName = 'eventsource';\nEventSourceTransport.roundTrips = 2;\n\nmodule.exports = EventSourceTransport;\n","'use strict';\n\nvar inherits = require('inherits')\n , HtmlfileReceiver = require('./receiver/htmlfile')\n , XHRLocalObject = require('./sender/xhr-local')\n , AjaxBasedTransport = require('./lib/ajax-based')\n ;\n\nfunction HtmlFileTransport(transUrl) {\n if (!HtmlfileReceiver.enabled) {\n throw new Error('Transport created when disabled');\n }\n AjaxBasedTransport.call(this, transUrl, '/htmlfile', HtmlfileReceiver, XHRLocalObject);\n}\n\ninherits(HtmlFileTransport, AjaxBasedTransport);\n\nHtmlFileTransport.enabled = function(info) {\n return HtmlfileReceiver.enabled && info.sameOrigin;\n};\n\nHtmlFileTransport.transportName = 'htmlfile';\nHtmlFileTransport.roundTrips = 2;\n\nmodule.exports = HtmlFileTransport;\n","'use strict';\n\n// Few cool transports do work only for same-origin. In order to make\n// them work cross-domain we shall use iframe, served from the\n// remote domain. New browsers have capabilities to communicate with\n// cross domain iframe using postMessage(). In IE it was implemented\n// from IE 8+, but of course, IE got some details wrong:\n// http://msdn.microsoft.com/en-us/library/cc197015(v=VS.85).aspx\n// http://stevesouders.com/misc/test-postmessage.php\n\nvar inherits = require('inherits')\n , JSON3 = require('json3')\n , EventEmitter = require('events').EventEmitter\n , version = require('../version')\n , urlUtils = require('../utils/url')\n , iframeUtils = require('../utils/iframe')\n , eventUtils = require('../utils/event')\n , random = require('../utils/random')\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:transport:iframe');\n}\n\nfunction IframeTransport(transport, transUrl, baseUrl) {\n if (!IframeTransport.enabled()) {\n throw new Error('Transport created when disabled');\n }\n EventEmitter.call(this);\n\n var self = this;\n this.origin = urlUtils.getOrigin(baseUrl);\n this.baseUrl = baseUrl;\n this.transUrl = transUrl;\n this.transport = transport;\n this.windowId = random.string(8);\n\n var iframeUrl = urlUtils.addPath(baseUrl, '/iframe.html') + '#' + this.windowId;\n debug(transport, transUrl, iframeUrl);\n\n this.iframeObj = iframeUtils.createIframe(iframeUrl, function(r) {\n debug('err callback');\n self.emit('close', 1006, 'Unable to load an iframe (' + r + ')');\n self.close();\n });\n\n this.onmessageCallback = this._message.bind(this);\n eventUtils.attachEvent('message', this.onmessageCallback);\n}\n\ninherits(IframeTransport, EventEmitter);\n\nIframeTransport.prototype.close = function() {\n debug('close');\n this.removeAllListeners();\n if (this.iframeObj) {\n eventUtils.detachEvent('message', this.onmessageCallback);\n try {\n // When the iframe is not loaded, IE raises an exception\n // on 'contentWindow'.\n this.postMessage('c');\n } catch (x) {\n // intentionally empty\n }\n this.iframeObj.cleanup();\n this.iframeObj = null;\n this.onmessageCallback = this.iframeObj = null;\n }\n};\n\nIframeTransport.prototype._message = function(e) {\n debug('message', e.data);\n if (!urlUtils.isOriginEqual(e.origin, this.origin)) {\n debug('not same origin', e.origin, this.origin);\n return;\n }\n\n var iframeMessage;\n try {\n iframeMessage = JSON3.parse(e.data);\n } catch (ignored) {\n debug('bad json', e.data);\n return;\n }\n\n if (iframeMessage.windowId !== this.windowId) {\n debug('mismatched window id', iframeMessage.windowId, this.windowId);\n return;\n }\n\n switch (iframeMessage.type) {\n case 's':\n this.iframeObj.loaded();\n // window global dependency\n this.postMessage('s', JSON3.stringify([\n version\n , this.transport\n , this.transUrl\n , this.baseUrl\n ]));\n break;\n case 't':\n this.emit('message', iframeMessage.data);\n break;\n case 'c':\n var cdata;\n try {\n cdata = JSON3.parse(iframeMessage.data);\n } catch (ignored) {\n debug('bad json', iframeMessage.data);\n return;\n }\n this.emit('close', cdata[0], cdata[1]);\n this.close();\n break;\n }\n};\n\nIframeTransport.prototype.postMessage = function(type, data) {\n debug('postMessage', type, data);\n this.iframeObj.post(JSON3.stringify({\n windowId: this.windowId\n , type: type\n , data: data || ''\n }), this.origin);\n};\n\nIframeTransport.prototype.send = function(message) {\n debug('send', message);\n this.postMessage('m', message);\n};\n\nIframeTransport.enabled = function() {\n return iframeUtils.iframeEnabled;\n};\n\nIframeTransport.transportName = 'iframe';\nIframeTransport.roundTrips = 2;\n\nmodule.exports = IframeTransport;\n","'use strict';\n\n// The simplest and most robust transport, using the well-know cross\n// domain hack - JSONP. This transport is quite inefficient - one\n// message could use up to one http request. But at least it works almost\n// everywhere.\n// Known limitations:\n// o you will get a spinning cursor\n// o for Konqueror a dumb timer is needed to detect errors\n\nvar inherits = require('inherits')\n , SenderReceiver = require('./lib/sender-receiver')\n , JsonpReceiver = require('./receiver/jsonp')\n , jsonpSender = require('./sender/jsonp')\n ;\n\nfunction JsonPTransport(transUrl) {\n if (!JsonPTransport.enabled()) {\n throw new Error('Transport created when disabled');\n }\n SenderReceiver.call(this, transUrl, '/jsonp', jsonpSender, JsonpReceiver);\n}\n\ninherits(JsonPTransport, SenderReceiver);\n\nJsonPTransport.enabled = function() {\n return !!global.document;\n};\n\nJsonPTransport.transportName = 'jsonp-polling';\nJsonPTransport.roundTrips = 1;\nJsonPTransport.needBody = true;\n\nmodule.exports = JsonPTransport;\n","'use strict';\n\nvar inherits = require('inherits')\n , urlUtils = require('../../utils/url')\n , SenderReceiver = require('./sender-receiver')\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:ajax-based');\n}\n\nfunction createAjaxSender(AjaxObject) {\n return function(url, payload, callback) {\n debug('create ajax sender', url, payload);\n var opt = {};\n if (typeof payload === 'string') {\n opt.headers = {'Content-type': 'text/plain'};\n }\n var ajaxUrl = urlUtils.addPath(url, '/xhr_send');\n var xo = new AjaxObject('POST', ajaxUrl, payload, opt);\n xo.once('finish', function(status) {\n debug('finish', status);\n xo = null;\n\n if (status !== 200 && status !== 204) {\n return callback(new Error('http status ' + status));\n }\n callback();\n });\n return function() {\n debug('abort');\n xo.close();\n xo = null;\n\n var err = new Error('Aborted');\n err.code = 1000;\n callback(err);\n };\n };\n}\n\nfunction AjaxBasedTransport(transUrl, urlSuffix, Receiver, AjaxObject) {\n SenderReceiver.call(this, transUrl, urlSuffix, createAjaxSender(AjaxObject), Receiver, AjaxObject);\n}\n\ninherits(AjaxBasedTransport, SenderReceiver);\n\nmodule.exports = AjaxBasedTransport;\n","'use strict';\n\nvar inherits = require('inherits')\n , EventEmitter = require('events').EventEmitter\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:buffered-sender');\n}\n\nfunction BufferedSender(url, sender) {\n debug(url);\n EventEmitter.call(this);\n this.sendBuffer = [];\n this.sender = sender;\n this.url = url;\n}\n\ninherits(BufferedSender, EventEmitter);\n\nBufferedSender.prototype.send = function(message) {\n debug('send', message);\n this.sendBuffer.push(message);\n if (!this.sendStop) {\n this.sendSchedule();\n }\n};\n\n// For polling transports in a situation when in the message callback,\n// new message is being send. If the sending connection was started\n// before receiving one, it is possible to saturate the network and\n// timeout due to the lack of receiving socket. To avoid that we delay\n// sending messages by some small time, in order to let receiving\n// connection be started beforehand. This is only a halfmeasure and\n// does not fix the big problem, but it does make the tests go more\n// stable on slow networks.\nBufferedSender.prototype.sendScheduleWait = function() {\n debug('sendScheduleWait');\n var self = this;\n var tref;\n this.sendStop = function() {\n debug('sendStop');\n self.sendStop = null;\n clearTimeout(tref);\n };\n tref = setTimeout(function() {\n debug('timeout');\n self.sendStop = null;\n self.sendSchedule();\n }, 25);\n};\n\nBufferedSender.prototype.sendSchedule = function() {\n debug('sendSchedule', this.sendBuffer.length);\n var self = this;\n if (this.sendBuffer.length > 0) {\n var payload = '[' + this.sendBuffer.join(',') + ']';\n this.sendStop = this.sender(this.url, payload, function(err) {\n self.sendStop = null;\n if (err) {\n debug('error', err);\n self.emit('close', err.code || 1006, 'Sending error: ' + err);\n self.close();\n } else {\n self.sendScheduleWait();\n }\n });\n this.sendBuffer = [];\n }\n};\n\nBufferedSender.prototype._cleanup = function() {\n debug('_cleanup');\n this.removeAllListeners();\n};\n\nBufferedSender.prototype.close = function() {\n debug('close');\n this._cleanup();\n if (this.sendStop) {\n this.sendStop();\n this.sendStop = null;\n }\n};\n\nmodule.exports = BufferedSender;\n","'use strict';\n\nvar inherits = require('inherits')\n , IframeTransport = require('../iframe')\n , objectUtils = require('../../utils/object')\n ;\n\nmodule.exports = function(transport) {\n\n function IframeWrapTransport(transUrl, baseUrl) {\n IframeTransport.call(this, transport.transportName, transUrl, baseUrl);\n }\n\n inherits(IframeWrapTransport, IframeTransport);\n\n IframeWrapTransport.enabled = function(url, info) {\n if (!global.document) {\n return false;\n }\n\n var iframeInfo = objectUtils.extend({}, info);\n iframeInfo.sameOrigin = true;\n return transport.enabled(iframeInfo) && IframeTransport.enabled();\n };\n\n IframeWrapTransport.transportName = 'iframe-' + transport.transportName;\n IframeWrapTransport.needBody = true;\n IframeWrapTransport.roundTrips = IframeTransport.roundTrips + transport.roundTrips - 1; // html, javascript (2) + transport - no CORS (1)\n\n IframeWrapTransport.facadeTransport = transport;\n\n return IframeWrapTransport;\n};\n","'use strict';\n\nvar inherits = require('inherits')\n , EventEmitter = require('events').EventEmitter\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:polling');\n}\n\nfunction Polling(Receiver, receiveUrl, AjaxObject) {\n debug(receiveUrl);\n EventEmitter.call(this);\n this.Receiver = Receiver;\n this.receiveUrl = receiveUrl;\n this.AjaxObject = AjaxObject;\n this._scheduleReceiver();\n}\n\ninherits(Polling, EventEmitter);\n\nPolling.prototype._scheduleReceiver = function() {\n debug('_scheduleReceiver');\n var self = this;\n var poll = this.poll = new this.Receiver(this.receiveUrl, this.AjaxObject);\n\n poll.on('message', function(msg) {\n debug('message', msg);\n self.emit('message', msg);\n });\n\n poll.once('close', function(code, reason) {\n debug('close', code, reason, self.pollIsClosing);\n self.poll = poll = null;\n\n if (!self.pollIsClosing) {\n if (reason === 'network') {\n self._scheduleReceiver();\n } else {\n self.emit('close', code || 1006, reason);\n self.removeAllListeners();\n }\n }\n });\n};\n\nPolling.prototype.abort = function() {\n debug('abort');\n this.removeAllListeners();\n this.pollIsClosing = true;\n if (this.poll) {\n this.poll.abort();\n }\n};\n\nmodule.exports = Polling;\n","'use strict';\n\nvar inherits = require('inherits')\n , urlUtils = require('../../utils/url')\n , BufferedSender = require('./buffered-sender')\n , Polling = require('./polling')\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:sender-receiver');\n}\n\nfunction SenderReceiver(transUrl, urlSuffix, senderFunc, Receiver, AjaxObject) {\n var pollUrl = urlUtils.addPath(transUrl, urlSuffix);\n debug(pollUrl);\n var self = this;\n BufferedSender.call(this, transUrl, senderFunc);\n\n this.poll = new Polling(Receiver, pollUrl, AjaxObject);\n this.poll.on('message', function(msg) {\n debug('poll message', msg);\n self.emit('message', msg);\n });\n this.poll.once('close', function(code, reason) {\n debug('poll close', code, reason);\n self.poll = null;\n self.emit('close', code, reason);\n self.close();\n });\n}\n\ninherits(SenderReceiver, BufferedSender);\n\nSenderReceiver.prototype.close = function() {\n BufferedSender.prototype.close.call(this);\n debug('close');\n this.removeAllListeners();\n if (this.poll) {\n this.poll.abort();\n this.poll = null;\n }\n};\n\nmodule.exports = SenderReceiver;\n","'use strict';\n\nvar inherits = require('inherits')\n , EventEmitter = require('events').EventEmitter\n , EventSourceDriver = require('eventsource')\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:receiver:eventsource');\n}\n\nfunction EventSourceReceiver(url) {\n debug(url);\n EventEmitter.call(this);\n\n var self = this;\n var es = this.es = new EventSourceDriver(url);\n es.onmessage = function(e) {\n debug('message', e.data);\n self.emit('message', decodeURI(e.data));\n };\n es.onerror = function(e) {\n debug('error', es.readyState, e);\n // ES on reconnection has readyState = 0 or 1.\n // on network error it's CLOSED = 2\n var reason = (es.readyState !== 2 ? 'network' : 'permanent');\n self._cleanup();\n self._close(reason);\n };\n}\n\ninherits(EventSourceReceiver, EventEmitter);\n\nEventSourceReceiver.prototype.abort = function() {\n debug('abort');\n this._cleanup();\n this._close('user');\n};\n\nEventSourceReceiver.prototype._cleanup = function() {\n debug('cleanup');\n var es = this.es;\n if (es) {\n es.onmessage = es.onerror = null;\n es.close();\n this.es = null;\n }\n};\n\nEventSourceReceiver.prototype._close = function(reason) {\n debug('close', reason);\n var self = this;\n // Safari and chrome < 15 crash if we close window before\n // waiting for ES cleanup. See:\n // https://code.google.com/p/chromium/issues/detail?id=89155\n setTimeout(function() {\n self.emit('close', null, reason);\n self.removeAllListeners();\n }, 200);\n};\n\nmodule.exports = EventSourceReceiver;\n","'use strict';\n\nvar inherits = require('inherits')\n , iframeUtils = require('../../utils/iframe')\n , urlUtils = require('../../utils/url')\n , EventEmitter = require('events').EventEmitter\n , random = require('../../utils/random')\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:receiver:htmlfile');\n}\n\nfunction HtmlfileReceiver(url) {\n debug(url);\n EventEmitter.call(this);\n var self = this;\n iframeUtils.polluteGlobalNamespace();\n\n this.id = 'a' + random.string(6);\n url = urlUtils.addQuery(url, 'c=' + decodeURIComponent(iframeUtils.WPrefix + '.' + this.id));\n\n debug('using htmlfile', HtmlfileReceiver.htmlfileEnabled);\n var constructFunc = HtmlfileReceiver.htmlfileEnabled ?\n iframeUtils.createHtmlfile : iframeUtils.createIframe;\n\n global[iframeUtils.WPrefix][this.id] = {\n start: function() {\n debug('start');\n self.iframeObj.loaded();\n }\n , message: function(data) {\n debug('message', data);\n self.emit('message', data);\n }\n , stop: function() {\n debug('stop');\n self._cleanup();\n self._close('network');\n }\n };\n this.iframeObj = constructFunc(url, function() {\n debug('callback');\n self._cleanup();\n self._close('permanent');\n });\n}\n\ninherits(HtmlfileReceiver, EventEmitter);\n\nHtmlfileReceiver.prototype.abort = function() {\n debug('abort');\n this._cleanup();\n this._close('user');\n};\n\nHtmlfileReceiver.prototype._cleanup = function() {\n debug('_cleanup');\n if (this.iframeObj) {\n this.iframeObj.cleanup();\n this.iframeObj = null;\n }\n delete global[iframeUtils.WPrefix][this.id];\n};\n\nHtmlfileReceiver.prototype._close = function(reason) {\n debug('_close', reason);\n this.emit('close', null, reason);\n this.removeAllListeners();\n};\n\nHtmlfileReceiver.htmlfileEnabled = false;\n\n// obfuscate to avoid firewalls\nvar axo = ['Active'].concat('Object').join('X');\nif (axo in global) {\n try {\n HtmlfileReceiver.htmlfileEnabled = !!new global[axo]('htmlfile');\n } catch (x) {\n // intentionally empty\n }\n}\n\nHtmlfileReceiver.enabled = HtmlfileReceiver.htmlfileEnabled || iframeUtils.iframeEnabled;\n\nmodule.exports = HtmlfileReceiver;\n","'use strict';\n\nvar utils = require('../../utils/iframe')\n , random = require('../../utils/random')\n , browser = require('../../utils/browser')\n , urlUtils = require('../../utils/url')\n , inherits = require('inherits')\n , EventEmitter = require('events').EventEmitter\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:receiver:jsonp');\n}\n\nfunction JsonpReceiver(url) {\n debug(url);\n var self = this;\n EventEmitter.call(this);\n\n utils.polluteGlobalNamespace();\n\n this.id = 'a' + random.string(6);\n var urlWithId = urlUtils.addQuery(url, 'c=' + encodeURIComponent(utils.WPrefix + '.' + this.id));\n\n global[utils.WPrefix][this.id] = this._callback.bind(this);\n this._createScript(urlWithId);\n\n // Fallback mostly for Konqueror - stupid timer, 35 seconds shall be plenty.\n this.timeoutId = setTimeout(function() {\n debug('timeout');\n self._abort(new Error('JSONP script loaded abnormally (timeout)'));\n }, JsonpReceiver.timeout);\n}\n\ninherits(JsonpReceiver, EventEmitter);\n\nJsonpReceiver.prototype.abort = function() {\n debug('abort');\n if (global[utils.WPrefix][this.id]) {\n var err = new Error('JSONP user aborted read');\n err.code = 1000;\n this._abort(err);\n }\n};\n\nJsonpReceiver.timeout = 35000;\nJsonpReceiver.scriptErrorTimeout = 1000;\n\nJsonpReceiver.prototype._callback = function(data) {\n debug('_callback', data);\n this._cleanup();\n\n if (this.aborting) {\n return;\n }\n\n if (data) {\n debug('message', data);\n this.emit('message', data);\n }\n this.emit('close', null, 'network');\n this.removeAllListeners();\n};\n\nJsonpReceiver.prototype._abort = function(err) {\n debug('_abort', err);\n this._cleanup();\n this.aborting = true;\n this.emit('close', err.code, err.message);\n this.removeAllListeners();\n};\n\nJsonpReceiver.prototype._cleanup = function() {\n debug('_cleanup');\n clearTimeout(this.timeoutId);\n if (this.script2) {\n this.script2.parentNode.removeChild(this.script2);\n this.script2 = null;\n }\n if (this.script) {\n var script = this.script;\n // Unfortunately, you can't really abort script loading of\n // the script.\n script.parentNode.removeChild(script);\n script.onreadystatechange = script.onerror =\n script.onload = script.onclick = null;\n this.script = null;\n }\n delete global[utils.WPrefix][this.id];\n};\n\nJsonpReceiver.prototype._scriptError = function() {\n debug('_scriptError');\n var self = this;\n if (this.errorTimer) {\n return;\n }\n\n this.errorTimer = setTimeout(function() {\n if (!self.loadedOkay) {\n self._abort(new Error('JSONP script loaded abnormally (onerror)'));\n }\n }, JsonpReceiver.scriptErrorTimeout);\n};\n\nJsonpReceiver.prototype._createScript = function(url) {\n debug('_createScript', url);\n var self = this;\n var script = this.script = global.document.createElement('script');\n var script2; // Opera synchronous load trick.\n\n script.id = 'a' + random.string(8);\n script.src = url;\n script.type = 'text/javascript';\n script.charset = 'UTF-8';\n script.onerror = this._scriptError.bind(this);\n script.onload = function() {\n debug('onload');\n self._abort(new Error('JSONP script loaded abnormally (onload)'));\n };\n\n // IE9 fires 'error' event after onreadystatechange or before, in random order.\n // Use loadedOkay to determine if actually errored\n script.onreadystatechange = function() {\n debug('onreadystatechange', script.readyState);\n if (/loaded|closed/.test(script.readyState)) {\n if (script && script.htmlFor && script.onclick) {\n self.loadedOkay = true;\n try {\n // In IE, actually execute the script.\n script.onclick();\n } catch (x) {\n // intentionally empty\n }\n }\n if (script) {\n self._abort(new Error('JSONP script loaded abnormally (onreadystatechange)'));\n }\n }\n };\n // IE: event/htmlFor/onclick trick.\n // One can't rely on proper order for onreadystatechange. In order to\n // make sure, set a 'htmlFor' and 'event' properties, so that\n // script code will be installed as 'onclick' handler for the\n // script object. Later, onreadystatechange, manually execute this\n // code. FF and Chrome doesn't work with 'event' and 'htmlFor'\n // set. For reference see:\n // http://jaubourg.net/2010/07/loading-script-as-onclick-handler-of.html\n // Also, read on that about script ordering:\n // http://wiki.whatwg.org/wiki/Dynamic_Script_Execution_Order\n if (typeof script.async === 'undefined' && global.document.attachEvent) {\n // According to mozilla docs, in recent browsers script.async defaults\n // to 'true', so we may use it to detect a good browser:\n // https://developer.mozilla.org/en/HTML/Element/script\n if (!browser.isOpera()) {\n // Naively assume we're in IE\n try {\n script.htmlFor = script.id;\n script.event = 'onclick';\n } catch (x) {\n // intentionally empty\n }\n script.async = true;\n } else {\n // Opera, second sync script hack\n script2 = this.script2 = global.document.createElement('script');\n script2.text = \"try{var a = document.getElementById('\" + script.id + \"'); if(a)a.onerror();}catch(x){};\";\n script.async = script2.async = false;\n }\n }\n if (typeof script.async !== 'undefined') {\n script.async = true;\n }\n\n var head = global.document.getElementsByTagName('head')[0];\n head.insertBefore(script, head.firstChild);\n if (script2) {\n head.insertBefore(script2, head.firstChild);\n }\n};\n\nmodule.exports = JsonpReceiver;\n","'use strict';\n\nvar inherits = require('inherits')\n , EventEmitter = require('events').EventEmitter\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:receiver:xhr');\n}\n\nfunction XhrReceiver(url, AjaxObject) {\n debug(url);\n EventEmitter.call(this);\n var self = this;\n\n this.bufferPosition = 0;\n\n this.xo = new AjaxObject('POST', url, null);\n this.xo.on('chunk', this._chunkHandler.bind(this));\n this.xo.once('finish', function(status, text) {\n debug('finish', status, text);\n self._chunkHandler(status, text);\n self.xo = null;\n var reason = status === 200 ? 'network' : 'permanent';\n debug('close', reason);\n self.emit('close', null, reason);\n self._cleanup();\n });\n}\n\ninherits(XhrReceiver, EventEmitter);\n\nXhrReceiver.prototype._chunkHandler = function(status, text) {\n debug('_chunkHandler', status);\n if (status !== 200 || !text) {\n return;\n }\n\n for (var idx = -1; ; this.bufferPosition += idx + 1) {\n var buf = text.slice(this.bufferPosition);\n idx = buf.indexOf('\\n');\n if (idx === -1) {\n break;\n }\n var msg = buf.slice(0, idx);\n if (msg) {\n debug('message', msg);\n this.emit('message', msg);\n }\n }\n};\n\nXhrReceiver.prototype._cleanup = function() {\n debug('_cleanup');\n this.removeAllListeners();\n};\n\nXhrReceiver.prototype.abort = function() {\n debug('abort');\n if (this.xo) {\n this.xo.close();\n debug('close');\n this.emit('close', null, 'user');\n this.xo = null;\n }\n this._cleanup();\n};\n\nmodule.exports = XhrReceiver;\n","'use strict';\n\nvar random = require('../../utils/random')\n , urlUtils = require('../../utils/url')\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:sender:jsonp');\n}\n\nvar form, area;\n\nfunction createIframe(id) {\n debug('createIframe', id);\n try {\n // ie6 dynamic iframes with target=\"\" support (thanks Chris Lambacher)\n return global.document.createElement('<iframe name=\"' + id + '\">');\n } catch (x) {\n var iframe = global.document.createElement('iframe');\n iframe.name = id;\n return iframe;\n }\n}\n\nfunction createForm() {\n debug('createForm');\n form = global.document.createElement('form');\n form.style.display = 'none';\n form.style.position = 'absolute';\n form.method = 'POST';\n form.enctype = 'application/x-www-form-urlencoded';\n form.acceptCharset = 'UTF-8';\n\n area = global.document.createElement('textarea');\n area.name = 'd';\n form.appendChild(area);\n\n global.document.body.appendChild(form);\n}\n\nmodule.exports = function(url, payload, callback) {\n debug(url, payload);\n if (!form) {\n createForm();\n }\n var id = 'a' + random.string(8);\n form.target = id;\n form.action = urlUtils.addQuery(urlUtils.addPath(url, '/jsonp_send'), 'i=' + id);\n\n var iframe = createIframe(id);\n iframe.id = id;\n iframe.style.display = 'none';\n form.appendChild(iframe);\n\n try {\n area.value = payload;\n } catch (e) {\n // seriously broken browsers get here\n }\n form.submit();\n\n var completed = function(err) {\n debug('completed', id, err);\n if (!iframe.onerror) {\n return;\n }\n iframe.onreadystatechange = iframe.onerror = iframe.onload = null;\n // Opera mini doesn't like if we GC iframe\n // immediately, thus this timeout.\n setTimeout(function() {\n debug('cleaning up', id);\n iframe.parentNode.removeChild(iframe);\n iframe = null;\n }, 500);\n area.value = '';\n // It is not possible to detect if the iframe succeeded or\n // failed to submit our form.\n callback(err);\n };\n iframe.onerror = function() {\n debug('onerror', id);\n completed();\n };\n iframe.onload = function() {\n debug('onload', id);\n completed();\n };\n iframe.onreadystatechange = function(e) {\n debug('onreadystatechange', id, iframe.readyState, e);\n if (iframe.readyState === 'complete') {\n completed();\n }\n };\n return function() {\n debug('aborted', id);\n completed(new Error('Aborted'));\n };\n};\n","'use strict';\n\nvar EventEmitter = require('events').EventEmitter\n , inherits = require('inherits')\n , eventUtils = require('../../utils/event')\n , browser = require('../../utils/browser')\n , urlUtils = require('../../utils/url')\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:sender:xdr');\n}\n\n// References:\n// http://ajaxian.com/archives/100-line-ajax-wrapper\n// http://msdn.microsoft.com/en-us/library/cc288060(v=VS.85).aspx\n\nfunction XDRObject(method, url, payload) {\n debug(method, url);\n var self = this;\n EventEmitter.call(this);\n\n setTimeout(function() {\n self._start(method, url, payload);\n }, 0);\n}\n\ninherits(XDRObject, EventEmitter);\n\nXDRObject.prototype._start = function(method, url, payload) {\n debug('_start');\n var self = this;\n var xdr = new global.XDomainRequest();\n // IE caches even POSTs\n url = urlUtils.addQuery(url, 't=' + (+new Date()));\n\n xdr.onerror = function() {\n debug('onerror');\n self._error();\n };\n xdr.ontimeout = function() {\n debug('ontimeout');\n self._error();\n };\n xdr.onprogress = function() {\n debug('progress', xdr.responseText);\n self.emit('chunk', 200, xdr.responseText);\n };\n xdr.onload = function() {\n debug('load');\n self.emit('finish', 200, xdr.responseText);\n self._cleanup(false);\n };\n this.xdr = xdr;\n this.unloadRef = eventUtils.unloadAdd(function() {\n self._cleanup(true);\n });\n try {\n // Fails with AccessDenied if port number is bogus\n this.xdr.open(method, url);\n if (this.timeout) {\n this.xdr.timeout = this.timeout;\n }\n this.xdr.send(payload);\n } catch (x) {\n this._error();\n }\n};\n\nXDRObject.prototype._error = function() {\n this.emit('finish', 0, '');\n this._cleanup(false);\n};\n\nXDRObject.prototype._cleanup = function(abort) {\n debug('cleanup', abort);\n if (!this.xdr) {\n return;\n }\n this.removeAllListeners();\n eventUtils.unloadDel(this.unloadRef);\n\n this.xdr.ontimeout = this.xdr.onerror = this.xdr.onprogress = this.xdr.onload = null;\n if (abort) {\n try {\n this.xdr.abort();\n } catch (x) {\n // intentionally empty\n }\n }\n this.unloadRef = this.xdr = null;\n};\n\nXDRObject.prototype.close = function() {\n debug('close');\n this._cleanup(true);\n};\n\n// IE 8/9 if the request target uses the same scheme - #79\nXDRObject.enabled = !!(global.XDomainRequest && browser.hasDomain());\n\nmodule.exports = XDRObject;\n","'use strict';\n\nvar inherits = require('inherits')\n , XhrDriver = require('../driver/xhr')\n ;\n\nfunction XHRCorsObject(method, url, payload, opts) {\n XhrDriver.call(this, method, url, payload, opts);\n}\n\ninherits(XHRCorsObject, XhrDriver);\n\nXHRCorsObject.enabled = XhrDriver.enabled && XhrDriver.supportsCORS;\n\nmodule.exports = XHRCorsObject;\n","'use strict';\n\nvar EventEmitter = require('events').EventEmitter\n , inherits = require('inherits')\n ;\n\nfunction XHRFake(/* method, url, payload, opts */) {\n var self = this;\n EventEmitter.call(this);\n\n this.to = setTimeout(function() {\n self.emit('finish', 200, '{}');\n }, XHRFake.timeout);\n}\n\ninherits(XHRFake, EventEmitter);\n\nXHRFake.prototype.close = function() {\n clearTimeout(this.to);\n};\n\nXHRFake.timeout = 2000;\n\nmodule.exports = XHRFake;\n","'use strict';\n\nvar inherits = require('inherits')\n , XhrDriver = require('../driver/xhr')\n ;\n\nfunction XHRLocalObject(method, url, payload /*, opts */) {\n XhrDriver.call(this, method, url, payload, {\n noCredentials: true\n });\n}\n\ninherits(XHRLocalObject, XhrDriver);\n\nXHRLocalObject.enabled = XhrDriver.enabled;\n\nmodule.exports = XHRLocalObject;\n","'use strict';\n\nvar utils = require('../utils/event')\n , urlUtils = require('../utils/url')\n , inherits = require('inherits')\n , EventEmitter = require('events').EventEmitter\n , WebsocketDriver = require('./driver/websocket')\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:websocket');\n}\n\nfunction WebSocketTransport(transUrl, ignore, options) {\n if (!WebSocketTransport.enabled()) {\n throw new Error('Transport created when disabled');\n }\n\n EventEmitter.call(this);\n debug('constructor', transUrl);\n\n var self = this;\n var url = urlUtils.addPath(transUrl, '/websocket');\n if (url.slice(0, 5) === 'https') {\n url = 'wss' + url.slice(5);\n } else {\n url = 'ws' + url.slice(4);\n }\n this.url = url;\n\n this.ws = new WebsocketDriver(this.url, [], options);\n this.ws.onmessage = function(e) {\n debug('message event', e.data);\n self.emit('message', e.data);\n };\n // Firefox has an interesting bug. If a websocket connection is\n // created after onunload, it stays alive even when user\n // navigates away from the page. In such situation let's lie -\n // let's not open the ws connection at all. See:\n // https://github.com/sockjs/sockjs-client/issues/28\n // https://bugzilla.mozilla.org/show_bug.cgi?id=696085\n this.unloadRef = utils.unloadAdd(function() {\n debug('unload');\n self.ws.close();\n });\n this.ws.onclose = function(e) {\n debug('close event', e.code, e.reason);\n self.emit('close', e.code, e.reason);\n self._cleanup();\n };\n this.ws.onerror = function(e) {\n debug('error event', e);\n self.emit('close', 1006, 'WebSocket connection broken');\n self._cleanup();\n };\n}\n\ninherits(WebSocketTransport, EventEmitter);\n\nWebSocketTransport.prototype.send = function(data) {\n var msg = '[' + data + ']';\n debug('send', msg);\n this.ws.send(msg);\n};\n\nWebSocketTransport.prototype.close = function() {\n debug('close');\n var ws = this.ws;\n this._cleanup();\n if (ws) {\n ws.close();\n }\n};\n\nWebSocketTransport.prototype._cleanup = function() {\n debug('_cleanup');\n var ws = this.ws;\n if (ws) {\n ws.onmessage = ws.onclose = ws.onerror = null;\n }\n utils.unloadDel(this.unloadRef);\n this.unloadRef = this.ws = null;\n this.removeAllListeners();\n};\n\nWebSocketTransport.enabled = function() {\n debug('enabled');\n return !!WebsocketDriver;\n};\nWebSocketTransport.transportName = 'websocket';\n\n// In theory, ws should require 1 round trip. But in chrome, this is\n// not very stable over SSL. Most likely a ws connection requires a\n// separate SSL connection, in which case 2 round trips are an\n// absolute minumum.\nWebSocketTransport.roundTrips = 2;\n\nmodule.exports = WebSocketTransport;\n","'use strict';\n\nvar inherits = require('inherits')\n , AjaxBasedTransport = require('./lib/ajax-based')\n , XdrStreamingTransport = require('./xdr-streaming')\n , XhrReceiver = require('./receiver/xhr')\n , XDRObject = require('./sender/xdr')\n ;\n\nfunction XdrPollingTransport(transUrl) {\n if (!XDRObject.enabled) {\n throw new Error('Transport created when disabled');\n }\n AjaxBasedTransport.call(this, transUrl, '/xhr', XhrReceiver, XDRObject);\n}\n\ninherits(XdrPollingTransport, AjaxBasedTransport);\n\nXdrPollingTransport.enabled = XdrStreamingTransport.enabled;\nXdrPollingTransport.transportName = 'xdr-polling';\nXdrPollingTransport.roundTrips = 2; // preflight, ajax\n\nmodule.exports = XdrPollingTransport;\n","'use strict';\n\nvar inherits = require('inherits')\n , AjaxBasedTransport = require('./lib/ajax-based')\n , XhrReceiver = require('./receiver/xhr')\n , XDRObject = require('./sender/xdr')\n ;\n\n// According to:\n// http://stackoverflow.com/questions/1641507/detect-browser-support-for-cross-domain-xmlhttprequests\n// http://hacks.mozilla.org/2009/07/cross-site-xmlhttprequest-with-cors/\n\nfunction XdrStreamingTransport(transUrl) {\n if (!XDRObject.enabled) {\n throw new Error('Transport created when disabled');\n }\n AjaxBasedTransport.call(this, transUrl, '/xhr_streaming', XhrReceiver, XDRObject);\n}\n\ninherits(XdrStreamingTransport, AjaxBasedTransport);\n\nXdrStreamingTransport.enabled = function(info) {\n if (info.cookie_needed || info.nullOrigin) {\n return false;\n }\n return XDRObject.enabled && info.sameScheme;\n};\n\nXdrStreamingTransport.transportName = 'xdr-streaming';\nXdrStreamingTransport.roundTrips = 2; // preflight, ajax\n\nmodule.exports = XdrStreamingTransport;\n","'use strict';\n\nvar inherits = require('inherits')\n , AjaxBasedTransport = require('./lib/ajax-based')\n , XhrReceiver = require('./receiver/xhr')\n , XHRCorsObject = require('./sender/xhr-cors')\n , XHRLocalObject = require('./sender/xhr-local')\n ;\n\nfunction XhrPollingTransport(transUrl) {\n if (!XHRLocalObject.enabled && !XHRCorsObject.enabled) {\n throw new Error('Transport created when disabled');\n }\n AjaxBasedTransport.call(this, transUrl, '/xhr', XhrReceiver, XHRCorsObject);\n}\n\ninherits(XhrPollingTransport, AjaxBasedTransport);\n\nXhrPollingTransport.enabled = function(info) {\n if (info.nullOrigin) {\n return false;\n }\n\n if (XHRLocalObject.enabled && info.sameOrigin) {\n return true;\n }\n return XHRCorsObject.enabled;\n};\n\nXhrPollingTransport.transportName = 'xhr-polling';\nXhrPollingTransport.roundTrips = 2; // preflight, ajax\n\nmodule.exports = XhrPollingTransport;\n","'use strict';\n\nvar inherits = require('inherits')\n , AjaxBasedTransport = require('./lib/ajax-based')\n , XhrReceiver = require('./receiver/xhr')\n , XHRCorsObject = require('./sender/xhr-cors')\n , XHRLocalObject = require('./sender/xhr-local')\n , browser = require('../utils/browser')\n ;\n\nfunction XhrStreamingTransport(transUrl) {\n if (!XHRLocalObject.enabled && !XHRCorsObject.enabled) {\n throw new Error('Transport created when disabled');\n }\n AjaxBasedTransport.call(this, transUrl, '/xhr_streaming', XhrReceiver, XHRCorsObject);\n}\n\ninherits(XhrStreamingTransport, AjaxBasedTransport);\n\nXhrStreamingTransport.enabled = function(info) {\n if (info.nullOrigin) {\n return false;\n }\n // Opera doesn't support xhr-streaming #60\n // But it might be able to #92\n if (browser.isOpera()) {\n return false;\n }\n\n return XHRCorsObject.enabled;\n};\n\nXhrStreamingTransport.transportName = 'xhr-streaming';\nXhrStreamingTransport.roundTrips = 2; // preflight, ajax\n\n// Safari gets confused when a streaming ajax request is started\n// before onload. This causes the load indicator to spin indefinetely.\n// Only require body when used in a browser\nXhrStreamingTransport.needBody = !!global.document;\n\nmodule.exports = XhrStreamingTransport;\n","'use strict';\n\nif (global.crypto && global.crypto.getRandomValues) {\n module.exports.randomBytes = function(length) {\n var bytes = new Uint8Array(length);\n global.crypto.getRandomValues(bytes);\n return bytes;\n };\n} else {\n module.exports.randomBytes = function(length) {\n var bytes = new Array(length);\n for (var i = 0; i < length; i++) {\n bytes[i] = Math.floor(Math.random() * 256);\n }\n return bytes;\n };\n}\n","'use strict';\n\nmodule.exports = {\n isOpera: function() {\n return global.navigator &&\n /opera/i.test(global.navigator.userAgent);\n }\n\n, isKonqueror: function() {\n return global.navigator &&\n /konqueror/i.test(global.navigator.userAgent);\n }\n\n // #187 wrap document.domain in try/catch because of WP8 from file:///\n, hasDomain: function () {\n // non-browser client always has a domain\n if (!global.document) {\n return true;\n }\n\n try {\n return !!global.document.domain;\n } catch (e) {\n return false;\n }\n }\n};\n","'use strict';\n\nvar JSON3 = require('json3');\n\n// Some extra characters that Chrome gets wrong, and substitutes with\n// something else on the wire.\n// eslint-disable-next-line no-control-regex\nvar extraEscapable = /[\\x00-\\x1f\\ud800-\\udfff\\ufffe\\uffff\\u0300-\\u0333\\u033d-\\u0346\\u034a-\\u034c\\u0350-\\u0352\\u0357-\\u0358\\u035c-\\u0362\\u0374\\u037e\\u0387\\u0591-\\u05af\\u05c4\\u0610-\\u0617\\u0653-\\u0654\\u0657-\\u065b\\u065d-\\u065e\\u06df-\\u06e2\\u06eb-\\u06ec\\u0730\\u0732-\\u0733\\u0735-\\u0736\\u073a\\u073d\\u073f-\\u0741\\u0743\\u0745\\u0747\\u07eb-\\u07f1\\u0951\\u0958-\\u095f\\u09dc-\\u09dd\\u09df\\u0a33\\u0a36\\u0a59-\\u0a5b\\u0a5e\\u0b5c-\\u0b5d\\u0e38-\\u0e39\\u0f43\\u0f4d\\u0f52\\u0f57\\u0f5c\\u0f69\\u0f72-\\u0f76\\u0f78\\u0f80-\\u0f83\\u0f93\\u0f9d\\u0fa2\\u0fa7\\u0fac\\u0fb9\\u1939-\\u193a\\u1a17\\u1b6b\\u1cda-\\u1cdb\\u1dc0-\\u1dcf\\u1dfc\\u1dfe\\u1f71\\u1f73\\u1f75\\u1f77\\u1f79\\u1f7b\\u1f7d\\u1fbb\\u1fbe\\u1fc9\\u1fcb\\u1fd3\\u1fdb\\u1fe3\\u1feb\\u1fee-\\u1fef\\u1ff9\\u1ffb\\u1ffd\\u2000-\\u2001\\u20d0-\\u20d1\\u20d4-\\u20d7\\u20e7-\\u20e9\\u2126\\u212a-\\u212b\\u2329-\\u232a\\u2adc\\u302b-\\u302c\\uaab2-\\uaab3\\uf900-\\ufa0d\\ufa10\\ufa12\\ufa15-\\ufa1e\\ufa20\\ufa22\\ufa25-\\ufa26\\ufa2a-\\ufa2d\\ufa30-\\ufa6d\\ufa70-\\ufad9\\ufb1d\\ufb1f\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufb4e\\ufff0-\\uffff]/g\n , extraLookup;\n\n// This may be quite slow, so let's delay until user actually uses bad\n// characters.\nvar unrollLookup = function(escapable) {\n var i;\n var unrolled = {};\n var c = [];\n for (i = 0; i < 65536; i++) {\n c.push( String.fromCharCode(i) );\n }\n escapable.lastIndex = 0;\n c.join('').replace(escapable, function(a) {\n unrolled[ a ] = '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\n return '';\n });\n escapable.lastIndex = 0;\n return unrolled;\n};\n\n// Quote string, also taking care of unicode characters that browsers\n// often break. Especially, take care of unicode surrogates:\n// http://en.wikipedia.org/wiki/Mapping_of_Unicode_characters#Surrogates\nmodule.exports = {\n quote: function(string) {\n var quoted = JSON3.stringify(string);\n\n // In most cases this should be very fast and good enough.\n extraEscapable.lastIndex = 0;\n if (!extraEscapable.test(quoted)) {\n return quoted;\n }\n\n if (!extraLookup) {\n extraLookup = unrollLookup(extraEscapable);\n }\n\n return quoted.replace(extraEscapable, function(a) {\n return extraLookup[a];\n });\n }\n};\n","'use strict';\n\nvar random = require('./random');\n\nvar onUnload = {}\n , afterUnload = false\n // detect google chrome packaged apps because they don't allow the 'unload' event\n , isChromePackagedApp = global.chrome && global.chrome.app && global.chrome.app.runtime\n ;\n\nmodule.exports = {\n attachEvent: function(event, listener) {\n if (typeof global.addEventListener !== 'undefined') {\n global.addEventListener(event, listener, false);\n } else if (global.document && global.attachEvent) {\n // IE quirks.\n // According to: http://stevesouders.com/misc/test-postmessage.php\n // the message gets delivered only to 'document', not 'window'.\n global.document.attachEvent('on' + event, listener);\n // I get 'window' for ie8.\n global.attachEvent('on' + event, listener);\n }\n }\n\n, detachEvent: function(event, listener) {\n if (typeof global.addEventListener !== 'undefined') {\n global.removeEventListener(event, listener, false);\n } else if (global.document && global.detachEvent) {\n global.document.detachEvent('on' + event, listener);\n global.detachEvent('on' + event, listener);\n }\n }\n\n, unloadAdd: function(listener) {\n if (isChromePackagedApp) {\n return null;\n }\n\n var ref = random.string(8);\n onUnload[ref] = listener;\n if (afterUnload) {\n setTimeout(this.triggerUnloadCallbacks, 0);\n }\n return ref;\n }\n\n, unloadDel: function(ref) {\n if (ref in onUnload) {\n delete onUnload[ref];\n }\n }\n\n, triggerUnloadCallbacks: function() {\n for (var ref in onUnload) {\n onUnload[ref]();\n delete onUnload[ref];\n }\n }\n};\n\nvar unloadTriggered = function() {\n if (afterUnload) {\n return;\n }\n afterUnload = true;\n module.exports.triggerUnloadCallbacks();\n};\n\n// 'unload' alone is not reliable in opera within an iframe, but we\n// can't use `beforeunload` as IE fires it on javascript: links.\nif (!isChromePackagedApp) {\n module.exports.attachEvent('unload', unloadTriggered);\n}\n","'use strict';\n\nvar eventUtils = require('./event')\n , JSON3 = require('json3')\n , browser = require('./browser')\n ;\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:utils:iframe');\n}\n\nmodule.exports = {\n WPrefix: '_jp'\n, currentWindowId: null\n\n, polluteGlobalNamespace: function() {\n if (!(module.exports.WPrefix in global)) {\n global[module.exports.WPrefix] = {};\n }\n }\n\n, postMessage: function(type, data) {\n if (global.parent !== global) {\n global.parent.postMessage(JSON3.stringify({\n windowId: module.exports.currentWindowId\n , type: type\n , data: data || ''\n }), '*');\n } else {\n debug('Cannot postMessage, no parent window.', type, data);\n }\n }\n\n, createIframe: function(iframeUrl, errorCallback) {\n var iframe = global.document.createElement('iframe');\n var tref, unloadRef;\n var unattach = function() {\n debug('unattach');\n clearTimeout(tref);\n // Explorer had problems with that.\n try {\n iframe.onload = null;\n } catch (x) {\n // intentionally empty\n }\n iframe.onerror = null;\n };\n var cleanup = function() {\n debug('cleanup');\n if (iframe) {\n unattach();\n // This timeout makes chrome fire onbeforeunload event\n // within iframe. Without the timeout it goes straight to\n // onunload.\n setTimeout(function() {\n if (iframe) {\n iframe.parentNode.removeChild(iframe);\n }\n iframe = null;\n }, 0);\n eventUtils.unloadDel(unloadRef);\n }\n };\n var onerror = function(err) {\n debug('onerror', err);\n if (iframe) {\n cleanup();\n errorCallback(err);\n }\n };\n var post = function(msg, origin) {\n debug('post', msg, origin);\n setTimeout(function() {\n try {\n // When the iframe is not loaded, IE raises an exception\n // on 'contentWindow'.\n if (iframe && iframe.contentWindow) {\n iframe.contentWindow.postMessage(msg, origin);\n }\n } catch (x) {\n // intentionally empty\n }\n }, 0);\n };\n\n iframe.src = iframeUrl;\n iframe.style.display = 'none';\n iframe.style.position = 'absolute';\n iframe.onerror = function() {\n onerror('onerror');\n };\n iframe.onload = function() {\n debug('onload');\n // `onload` is triggered before scripts on the iframe are\n // executed. Give it few seconds to actually load stuff.\n clearTimeout(tref);\n tref = setTimeout(function() {\n onerror('onload timeout');\n }, 2000);\n };\n global.document.body.appendChild(iframe);\n tref = setTimeout(function() {\n onerror('timeout');\n }, 15000);\n unloadRef = eventUtils.unloadAdd(cleanup);\n return {\n post: post\n , cleanup: cleanup\n , loaded: unattach\n };\n }\n\n/* eslint no-undef: \"off\", new-cap: \"off\" */\n, createHtmlfile: function(iframeUrl, errorCallback) {\n var axo = ['Active'].concat('Object').join('X');\n var doc = new global[axo]('htmlfile');\n var tref, unloadRef;\n var iframe;\n var unattach = function() {\n clearTimeout(tref);\n iframe.onerror = null;\n };\n var cleanup = function() {\n if (doc) {\n unattach();\n eventUtils.unloadDel(unloadRef);\n iframe.parentNode.removeChild(iframe);\n iframe = doc = null;\n CollectGarbage();\n }\n };\n var onerror = function(r) {\n debug('onerror', r);\n if (doc) {\n cleanup();\n errorCallback(r);\n }\n };\n var post = function(msg, origin) {\n try {\n // When the iframe is not loaded, IE raises an exception\n // on 'contentWindow'.\n setTimeout(function() {\n if (iframe && iframe.contentWindow) {\n iframe.contentWindow.postMessage(msg, origin);\n }\n }, 0);\n } catch (x) {\n // intentionally empty\n }\n };\n\n doc.open();\n doc.write('<html><s' + 'cript>' +\n 'document.domain=\"' + global.document.domain + '\";' +\n '</s' + 'cript></html>');\n doc.close();\n doc.parentWindow[module.exports.WPrefix] = global[module.exports.WPrefix];\n var c = doc.createElement('div');\n doc.body.appendChild(c);\n iframe = doc.createElement('iframe');\n c.appendChild(iframe);\n iframe.src = iframeUrl;\n iframe.onerror = function() {\n onerror('onerror');\n };\n tref = setTimeout(function() {\n onerror('timeout');\n }, 15000);\n unloadRef = eventUtils.unloadAdd(cleanup);\n return {\n post: post\n , cleanup: cleanup\n , loaded: unattach\n };\n }\n};\n\nmodule.exports.iframeEnabled = false;\nif (global.document) {\n // postMessage misbehaves in konqueror 4.6.5 - the messages are delivered with\n // huge delay, or not at all.\n module.exports.iframeEnabled = (typeof global.postMessage === 'function' ||\n typeof global.postMessage === 'object') && (!browser.isKonqueror());\n}\n","'use strict';\n\nvar logObject = {};\n['log', 'debug', 'warn'].forEach(function (level) {\n var levelExists;\n\n try {\n levelExists = global.console && global.console[level] && global.console[level].apply;\n } catch(e) {\n // do nothing\n }\n\n logObject[level] = levelExists ? function () {\n return global.console[level].apply(global.console, arguments);\n } : (level === 'log' ? function () {} : logObject.log);\n});\n\nmodule.exports = logObject;\n","'use strict';\n\nmodule.exports = {\n isObject: function(obj) {\n var type = typeof obj;\n return type === 'function' || type === 'object' && !!obj;\n }\n\n, extend: function(obj) {\n if (!this.isObject(obj)) {\n return obj;\n }\n var source, prop;\n for (var i = 1, length = arguments.length; i < length; i++) {\n source = arguments[i];\n for (prop in source) {\n if (Object.prototype.hasOwnProperty.call(source, prop)) {\n obj[prop] = source[prop];\n }\n }\n }\n return obj;\n }\n};\n","'use strict';\n\n/* global crypto:true */\nvar crypto = require('crypto');\n\n// This string has length 32, a power of 2, so the modulus doesn't introduce a\n// bias.\nvar _randomStringChars = 'abcdefghijklmnopqrstuvwxyz012345';\nmodule.exports = {\n string: function(length) {\n var max = _randomStringChars.length;\n var bytes = crypto.randomBytes(length);\n var ret = [];\n for (var i = 0; i < length; i++) {\n ret.push(_randomStringChars.substr(bytes[i] % max, 1));\n }\n return ret.join('');\n }\n\n, number: function(max) {\n return Math.floor(Math.random() * max);\n }\n\n, numberString: function(max) {\n var t = ('' + (max - 1)).length;\n var p = new Array(t + 1).join('0');\n return (p + this.number(max)).slice(-t);\n }\n};\n","'use strict';\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:utils:transport');\n}\n\nmodule.exports = function(availableTransports) {\n return {\n filterToEnabled: function(transportsWhitelist, info) {\n var transports = {\n main: []\n , facade: []\n };\n if (!transportsWhitelist) {\n transportsWhitelist = [];\n } else if (typeof transportsWhitelist === 'string') {\n transportsWhitelist = [transportsWhitelist];\n }\n\n availableTransports.forEach(function(trans) {\n if (!trans) {\n return;\n }\n\n if (trans.transportName === 'websocket' && info.websocket === false) {\n debug('disabled from server', 'websocket');\n return;\n }\n\n if (transportsWhitelist.length &&\n transportsWhitelist.indexOf(trans.transportName) === -1) {\n debug('not in whitelist', trans.transportName);\n return;\n }\n\n if (trans.enabled(info)) {\n debug('enabled', trans.transportName);\n transports.main.push(trans);\n if (trans.facadeTransport) {\n transports.facade.push(trans.facadeTransport);\n }\n } else {\n debug('disabled', trans.transportName);\n }\n });\n return transports;\n }\n };\n};\n","'use strict';\n\nvar URL = require('url-parse');\n\nvar debug = function() {};\nif (\"production\" !== 'production') {\n debug = require('debug')('sockjs-client:utils:url');\n}\n\nmodule.exports = {\n getOrigin: function(url) {\n if (!url) {\n return null;\n }\n\n var p = new URL(url);\n if (p.protocol === 'file:') {\n return null;\n }\n\n var port = p.port;\n if (!port) {\n port = (p.protocol === 'https:') ? '443' : '80';\n }\n\n return p.protocol + '//' + p.hostname + ':' + port;\n }\n\n, isOriginEqual: function(a, b) {\n var res = this.getOrigin(a) === this.getOrigin(b);\n debug('same', a, b, res);\n return res;\n }\n\n, isSchemeEqual: function(a, b) {\n return (a.split(':')[0] === b.split(':')[0]);\n }\n\n, addPath: function (url, path) {\n var qs = url.split('?');\n return qs[0] + path + (qs[1] ? '?' + qs[1] : '');\n }\n\n, addQuery: function (url, q) {\n return url + (url.indexOf('?') === -1 ? ('?' + q) : ('&' + q));\n }\n};\n","module.exports = '1.4.0';\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","/*! JSON v3.3.2 | http://bestiejs.github.io/json3 | Copyright 2012-2014, Kit Cambridge | http://kit.mit-license.org */\n;(function () {\n // Detect the `define` function exposed by asynchronous module loaders. The\n // strict `define` check is necessary for compatibility with `r.js`.\n var isLoader = typeof define === \"function\" && define.amd;\n\n // A set of types used to distinguish objects from primitives.\n var objectTypes = {\n \"function\": true,\n \"object\": true\n };\n\n // Detect the `exports` object exposed by CommonJS implementations.\n var freeExports = objectTypes[typeof exports] && exports && !exports.nodeType && exports;\n\n // Use the `global` object exposed by Node (including Browserify via\n // `insert-module-globals`), Narwhal, and Ringo as the default context,\n // and the `window` object in browsers. Rhino exports a `global` function\n // instead.\n var root = objectTypes[typeof window] && window || this,\n freeGlobal = freeExports && objectTypes[typeof module] && module && !module.nodeType && typeof global == \"object\" && global;\n\n if (freeGlobal && (freeGlobal[\"global\"] === freeGlobal || freeGlobal[\"window\"] === freeGlobal || freeGlobal[\"self\"] === freeGlobal)) {\n root = freeGlobal;\n }\n\n // Public: Initializes JSON 3 using the given `context` object, attaching the\n // `stringify` and `parse` functions to the specified `exports` object.\n function runInContext(context, exports) {\n context || (context = root[\"Object\"]());\n exports || (exports = root[\"Object\"]());\n\n // Native constructor aliases.\n var Number = context[\"Number\"] || root[\"Number\"],\n String = context[\"String\"] || root[\"String\"],\n Object = context[\"Object\"] || root[\"Object\"],\n Date = context[\"Date\"] || root[\"Date\"],\n SyntaxError = context[\"SyntaxError\"] || root[\"SyntaxError\"],\n TypeError = context[\"TypeError\"] || root[\"TypeError\"],\n Math = context[\"Math\"] || root[\"Math\"],\n nativeJSON = context[\"JSON\"] || root[\"JSON\"];\n\n // Delegate to the native `stringify` and `parse` implementations.\n if (typeof nativeJSON == \"object\" && nativeJSON) {\n exports.stringify = nativeJSON.stringify;\n exports.parse = nativeJSON.parse;\n }\n\n // Convenience aliases.\n var objectProto = Object.prototype,\n getClass = objectProto.toString,\n isProperty, forEach, undef;\n\n // Test the `Date#getUTC*` methods. Based on work by @Yaffle.\n var isExtended = new Date(-3509827334573292);\n try {\n // The `getUTCFullYear`, `Month`, and `Date` methods return nonsensical\n // results for certain dates in Opera >= 10.53.\n isExtended = isExtended.getUTCFullYear() == -109252 && isExtended.getUTCMonth() === 0 && isExtended.getUTCDate() === 1 &&\n // Safari < 2.0.2 stores the internal millisecond time value correctly,\n // but clips the values returned by the date methods to the range of\n // signed 32-bit integers ([-2 ** 31, 2 ** 31 - 1]).\n isExtended.getUTCHours() == 10 && isExtended.getUTCMinutes() == 37 && isExtended.getUTCSeconds() == 6 && isExtended.getUTCMilliseconds() == 708;\n } catch (exception) {}\n\n // Internal: Determines whether the native `JSON.stringify` and `parse`\n // implementations are spec-compliant. Based on work by Ken Snyder.\n function has(name) {\n if (has[name] !== undef) {\n // Return cached feature test result.\n return has[name];\n }\n var isSupported;\n if (name == \"bug-string-char-index\") {\n // IE <= 7 doesn't support accessing string characters using square\n // bracket notation. IE 8 only supports this for primitives.\n isSupported = \"a\"[0] != \"a\";\n } else if (name == \"json\") {\n // Indicates whether both `JSON.stringify` and `JSON.parse` are\n // supported.\n isSupported = has(\"json-stringify\") && has(\"json-parse\");\n } else {\n var value, serialized = '{\"a\":[1,true,false,null,\"\\\\u0000\\\\b\\\\n\\\\f\\\\r\\\\t\"]}';\n // Test `JSON.stringify`.\n if (name == \"json-stringify\") {\n var stringify = exports.stringify, stringifySupported = typeof stringify == \"function\" && isExtended;\n if (stringifySupported) {\n // A test function object with a custom `toJSON` method.\n (value = function () {\n return 1;\n }).toJSON = value;\n try {\n stringifySupported =\n // Firefox 3.1b1 and b2 serialize string, number, and boolean\n // primitives as object literals.\n stringify(0) === \"0\" &&\n // FF 3.1b1, b2, and JSON 2 serialize wrapped primitives as object\n // literals.\n stringify(new Number()) === \"0\" &&\n stringify(new String()) == '\"\"' &&\n // FF 3.1b1, 2 throw an error if the value is `null`, `undefined`, or\n // does not define a canonical JSON representation (this applies to\n // objects with `toJSON` properties as well, *unless* they are nested\n // within an object or array).\n stringify(getClass) === undef &&\n // IE 8 serializes `undefined` as `\"undefined\"`. Safari <= 5.1.7 and\n // FF 3.1b3 pass this test.\n stringify(undef) === undef &&\n // Safari <= 5.1.7 and FF 3.1b3 throw `Error`s and `TypeError`s,\n // respectively, if the value is omitted entirely.\n stringify() === undef &&\n // FF 3.1b1, 2 throw an error if the given value is not a number,\n // string, array, object, Boolean, or `null` literal. This applies to\n // objects with custom `toJSON` methods as well, unless they are nested\n // inside object or array literals. YUI 3.0.0b1 ignores custom `toJSON`\n // methods entirely.\n stringify(value) === \"1\" &&\n stringify([value]) == \"[1]\" &&\n // Prototype <= 1.6.1 serializes `[undefined]` as `\"[]\"` instead of\n // `\"[null]\"`.\n stringify([undef]) == \"[null]\" &&\n // YUI 3.0.0b1 fails to serialize `null` literals.\n stringify(null) == \"null\" &&\n // FF 3.1b1, 2 halts serialization if an array contains a function:\n // `[1, true, getClass, 1]` serializes as \"[1,true,],\". FF 3.1b3\n // elides non-JSON values from objects and arrays, unless they\n // define custom `toJSON` methods.\n stringify([undef, getClass, null]) == \"[null,null,null]\" &&\n // Simple serialization test. FF 3.1b1 uses Unicode escape sequences\n // where character escape codes are expected (e.g., `\\b` => `\\u0008`).\n stringify({ \"a\": [value, true, false, null, \"\\x00\\b\\n\\f\\r\\t\"] }) == serialized &&\n // FF 3.1b1 and b2 ignore the `filter` and `width` arguments.\n stringify(null, value) === \"1\" &&\n stringify([1, 2], null, 1) == \"[\\n 1,\\n 2\\n]\" &&\n // JSON 2, Prototype <= 1.7, and older WebKit builds incorrectly\n // serialize extended years.\n stringify(new Date(-8.64e15)) == '\"-271821-04-20T00:00:00.000Z\"' &&\n // The milliseconds are optional in ES 5, but required in 5.1.\n stringify(new Date(8.64e15)) == '\"+275760-09-13T00:00:00.000Z\"' &&\n // Firefox <= 11.0 incorrectly serializes years prior to 0 as negative\n // four-digit years instead of six-digit years. Credits: @Yaffle.\n stringify(new Date(-621987552e5)) == '\"-000001-01-01T00:00:00.000Z\"' &&\n // Safari <= 5.1.5 and Opera >= 10.53 incorrectly serialize millisecond\n // values less than 1000. Credits: @Yaffle.\n stringify(new Date(-1)) == '\"1969-12-31T23:59:59.999Z\"';\n } catch (exception) {\n stringifySupported = false;\n }\n }\n isSupported = stringifySupported;\n }\n // Test `JSON.parse`.\n if (name == \"json-parse\") {\n var parse = exports.parse;\n if (typeof parse == \"function\") {\n try {\n // FF 3.1b1, b2 will throw an exception if a bare literal is provided.\n // Conforming implementations should also coerce the initial argument to\n // a string prior to parsing.\n if (parse(\"0\") === 0 && !parse(false)) {\n // Simple parsing test.\n value = parse(serialized);\n var parseSupported = value[\"a\"].length == 5 && value[\"a\"][0] === 1;\n if (parseSupported) {\n try {\n // Safari <= 5.1.2 and FF 3.1b1 allow unescaped tabs in strings.\n parseSupported = !parse('\"\\t\"');\n } catch (exception) {}\n if (parseSupported) {\n try {\n // FF 4.0 and 4.0.1 allow leading `+` signs and leading\n // decimal points. FF 4.0, 4.0.1, and IE 9-10 also allow\n // certain octal literals.\n parseSupported = parse(\"01\") !== 1;\n } catch (exception) {}\n }\n if (parseSupported) {\n try {\n // FF 4.0, 4.0.1, and Rhino 1.7R3-R4 allow trailing decimal\n // points. These environments, along with FF 3.1b1 and 2,\n // also allow trailing commas in JSON objects and arrays.\n parseSupported = parse(\"1.\") !== 1;\n } catch (exception) {}\n }\n }\n }\n } catch (exception) {\n parseSupported = false;\n }\n }\n isSupported = parseSupported;\n }\n }\n return has[name] = !!isSupported;\n }\n\n if (!has(\"json\")) {\n // Common `[[Class]]` name aliases.\n var functionClass = \"[object Function]\",\n dateClass = \"[object Date]\",\n numberClass = \"[object Number]\",\n stringClass = \"[object String]\",\n arrayClass = \"[object Array]\",\n booleanClass = \"[object Boolean]\";\n\n // Detect incomplete support for accessing string characters by index.\n var charIndexBuggy = has(\"bug-string-char-index\");\n\n // Define additional utility methods if the `Date` methods are buggy.\n if (!isExtended) {\n var floor = Math.floor;\n // A mapping between the months of the year and the number of days between\n // January 1st and the first of the respective month.\n var Months = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];\n // Internal: Calculates the number of days between the Unix epoch and the\n // first day of the given month.\n var getDay = function (year, month) {\n return Months[month] + 365 * (year - 1970) + floor((year - 1969 + (month = +(month > 1))) / 4) - floor((year - 1901 + month) / 100) + floor((year - 1601 + month) / 400);\n };\n }\n\n // Internal: Determines if a property is a direct property of the given\n // object. Delegates to the native `Object#hasOwnProperty` method.\n if (!(isProperty = objectProto.hasOwnProperty)) {\n isProperty = function (property) {\n var members = {}, constructor;\n if ((members.__proto__ = null, members.__proto__ = {\n // The *proto* property cannot be set multiple times in recent\n // versions of Firefox and SeaMonkey.\n \"toString\": 1\n }, members).toString != getClass) {\n // Safari <= 2.0.3 doesn't implement `Object#hasOwnProperty`, but\n // supports the mutable *proto* property.\n isProperty = function (property) {\n // Capture and break the object's prototype chain (see section 8.6.2\n // of the ES 5.1 spec). The parenthesized expression prevents an\n // unsafe transformation by the Closure Compiler.\n var original = this.__proto__, result = property in (this.__proto__ = null, this);\n // Restore the original prototype chain.\n this.__proto__ = original;\n return result;\n };\n } else {\n // Capture a reference to the top-level `Object` constructor.\n constructor = members.constructor;\n // Use the `constructor` property to simulate `Object#hasOwnProperty` in\n // other environments.\n isProperty = function (property) {\n var parent = (this.constructor || constructor).prototype;\n return property in this && !(property in parent && this[property] === parent[property]);\n };\n }\n members = null;\n return isProperty.call(this, property);\n };\n }\n\n // Internal: Normalizes the `for...in` iteration algorithm across\n // environments. Each enumerated key is yielded to a `callback` function.\n forEach = function (object, callback) {\n var size = 0, Properties, members, property;\n\n // Tests for bugs in the current environment's `for...in` algorithm. The\n // `valueOf` property inherits the non-enumerable flag from\n // `Object.prototype` in older versions of IE, Netscape, and Mozilla.\n (Properties = function () {\n this.valueOf = 0;\n }).prototype.valueOf = 0;\n\n // Iterate over a new instance of the `Properties` class.\n members = new Properties();\n for (property in members) {\n // Ignore all properties inherited from `Object.prototype`.\n if (isProperty.call(members, property)) {\n size++;\n }\n }\n Properties = members = null;\n\n // Normalize the iteration algorithm.\n if (!size) {\n // A list of non-enumerable properties inherited from `Object.prototype`.\n members = [\"valueOf\", \"toString\", \"toLocaleString\", \"propertyIsEnumerable\", \"isPrototypeOf\", \"hasOwnProperty\", \"constructor\"];\n // IE <= 8, Mozilla 1.0, and Netscape 6.2 ignore shadowed non-enumerable\n // properties.\n forEach = function (object, callback) {\n var isFunction = getClass.call(object) == functionClass, property, length;\n var hasProperty = !isFunction && typeof object.constructor != \"function\" && objectTypes[typeof object.hasOwnProperty] && object.hasOwnProperty || isProperty;\n for (property in object) {\n // Gecko <= 1.0 enumerates the `prototype` property of functions under\n // certain conditions; IE does not.\n if (!(isFunction && property == \"prototype\") && hasProperty.call(object, property)) {\n callback(property);\n }\n }\n // Manually invoke the callback for each non-enumerable property.\n for (length = members.length; property = members[--length]; hasProperty.call(object, property) && callback(property));\n };\n } else if (size == 2) {\n // Safari <= 2.0.4 enumerates shadowed properties twice.\n forEach = function (object, callback) {\n // Create a set of iterated properties.\n var members = {}, isFunction = getClass.call(object) == functionClass, property;\n for (property in object) {\n // Store each property name to prevent double enumeration. The\n // `prototype` property of functions is not enumerated due to cross-\n // environment inconsistencies.\n if (!(isFunction && property == \"prototype\") && !isProperty.call(members, property) && (members[property] = 1) && isProperty.call(object, property)) {\n callback(property);\n }\n }\n };\n } else {\n // No bugs detected; use the standard `for...in` algorithm.\n forEach = function (object, callback) {\n var isFunction = getClass.call(object) == functionClass, property, isConstructor;\n for (property in object) {\n if (!(isFunction && property == \"prototype\") && isProperty.call(object, property) && !(isConstructor = property === \"constructor\")) {\n callback(property);\n }\n }\n // Manually invoke the callback for the `constructor` property due to\n // cross-environment inconsistencies.\n if (isConstructor || isProperty.call(object, (property = \"constructor\"))) {\n callback(property);\n }\n };\n }\n return forEach(object, callback);\n };\n\n // Public: Serializes a JavaScript `value` as a JSON string. The optional\n // `filter` argument may specify either a function that alters how object and\n // array members are serialized, or an array of strings and numbers that\n // indicates which properties should be serialized. The optional `width`\n // argument may be either a string or number that specifies the indentation\n // level of the output.\n if (!has(\"json-stringify\")) {\n // Internal: A map of control characters and their escaped equivalents.\n var Escapes = {\n 92: \"\\\\\\\\\",\n 34: '\\\\\"',\n 8: \"\\\\b\",\n 12: \"\\\\f\",\n 10: \"\\\\n\",\n 13: \"\\\\r\",\n 9: \"\\\\t\"\n };\n\n // Internal: Converts `value` into a zero-padded string such that its\n // length is at least equal to `width`. The `width` must be <= 6.\n var leadingZeroes = \"000000\";\n var toPaddedString = function (width, value) {\n // The `|| 0` expression is necessary to work around a bug in\n // Opera <= 7.54u2 where `0 == -0`, but `String(-0) !== \"0\"`.\n return (leadingZeroes + (value || 0)).slice(-width);\n };\n\n // Internal: Double-quotes a string `value`, replacing all ASCII control\n // characters (characters with code unit values between 0 and 31) with\n // their escaped equivalents. This is an implementation of the\n // `Quote(value)` operation defined in ES 5.1 section 15.12.3.\n var unicodePrefix = \"\\\\u00\";\n var quote = function (value) {\n var result = '\"', index = 0, length = value.length, useCharIndex = !charIndexBuggy || length > 10;\n var symbols = useCharIndex && (charIndexBuggy ? value.split(\"\") : value);\n for (; index < length; index++) {\n var charCode = value.charCodeAt(index);\n // If the character is a control character, append its Unicode or\n // shorthand escape sequence; otherwise, append the character as-is.\n switch (charCode) {\n case 8: case 9: case 10: case 12: case 13: case 34: case 92:\n result += Escapes[charCode];\n break;\n default:\n if (charCode < 32) {\n result += unicodePrefix + toPaddedString(2, charCode.toString(16));\n break;\n }\n result += useCharIndex ? symbols[index] : value.charAt(index);\n }\n }\n return result + '\"';\n };\n\n // Internal: Recursively serializes an object. Implements the\n // `Str(key, holder)`, `JO(value)`, and `JA(value)` operations.\n var serialize = function (property, object, callback, properties, whitespace, indentation, stack) {\n var value, className, year, month, date, time, hours, minutes, seconds, milliseconds, results, element, index, length, prefix, result;\n try {\n // Necessary for host object support.\n value = object[property];\n } catch (exception) {}\n if (typeof value == \"object\" && value) {\n className = getClass.call(value);\n if (className == dateClass && !isProperty.call(value, \"toJSON\")) {\n if (value > -1 / 0 && value < 1 / 0) {\n // Dates are serialized according to the `Date#toJSON` method\n // specified in ES 5.1 section 15.9.5.44. See section 15.9.1.15\n // for the ISO 8601 date time string format.\n if (getDay) {\n // Manually compute the year, month, date, hours, minutes,\n // seconds, and milliseconds if the `getUTC*` methods are\n // buggy. Adapted from @Yaffle's `date-shim` project.\n date = floor(value / 864e5);\n for (year = floor(date / 365.2425) + 1970 - 1; getDay(year + 1, 0) <= date; year++);\n for (month = floor((date - getDay(year, 0)) / 30.42); getDay(year, month + 1) <= date; month++);\n date = 1 + date - getDay(year, month);\n // The `time` value specifies the time within the day (see ES\n // 5.1 section 15.9.1.2). The formula `(A % B + B) % B` is used\n // to compute `A modulo B`, as the `%` operator does not\n // correspond to the `modulo` operation for negative numbers.\n time = (value % 864e5 + 864e5) % 864e5;\n // The hours, minutes, seconds, and milliseconds are obtained by\n // decomposing the time within the day. See section 15.9.1.10.\n hours = floor(time / 36e5) % 24;\n minutes = floor(time / 6e4) % 60;\n seconds = floor(time / 1e3) % 60;\n milliseconds = time % 1e3;\n } else {\n year = value.getUTCFullYear();\n month = value.getUTCMonth();\n date = value.getUTCDate();\n hours = value.getUTCHours();\n minutes = value.getUTCMinutes();\n seconds = value.getUTCSeconds();\n milliseconds = value.getUTCMilliseconds();\n }\n // Serialize extended years correctly.\n value = (year <= 0 || year >= 1e4 ? (year < 0 ? \"-\" : \"+\") + toPaddedString(6, year < 0 ? -year : year) : toPaddedString(4, year)) +\n \"-\" + toPaddedString(2, month + 1) + \"-\" + toPaddedString(2, date) +\n // Months, dates, hours, minutes, and seconds should have two\n // digits; milliseconds should have three.\n \"T\" + toPaddedString(2, hours) + \":\" + toPaddedString(2, minutes) + \":\" + toPaddedString(2, seconds) +\n // Milliseconds are optional in ES 5.0, but required in 5.1.\n \".\" + toPaddedString(3, milliseconds) + \"Z\";\n } else {\n value = null;\n }\n } else if (typeof value.toJSON == \"function\" && ((className != numberClass && className != stringClass && className != arrayClass) || isProperty.call(value, \"toJSON\"))) {\n // Prototype <= 1.6.1 adds non-standard `toJSON` methods to the\n // `Number`, `String`, `Date`, and `Array` prototypes. JSON 3\n // ignores all `toJSON` methods on these objects unless they are\n // defined directly on an instance.\n value = value.toJSON(property);\n }\n }\n if (callback) {\n // If a replacement function was provided, call it to obtain the value\n // for serialization.\n value = callback.call(object, property, value);\n }\n if (value === null) {\n return \"null\";\n }\n className = getClass.call(value);\n if (className == booleanClass) {\n // Booleans are represented literally.\n return \"\" + value;\n } else if (className == numberClass) {\n // JSON numbers must be finite. `Infinity` and `NaN` are serialized as\n // `\"null\"`.\n return value > -1 / 0 && value < 1 / 0 ? \"\" + value : \"null\";\n } else if (className == stringClass) {\n // Strings are double-quoted and escaped.\n return quote(\"\" + value);\n }\n // Recursively serialize objects and arrays.\n if (typeof value == \"object\") {\n // Check for cyclic structures. This is a linear search; performance\n // is inversely proportional to the number of unique nested objects.\n for (length = stack.length; length--;) {\n if (stack[length] === value) {\n // Cyclic structures cannot be serialized by `JSON.stringify`.\n throw TypeError();\n }\n }\n // Add the object to the stack of traversed objects.\n stack.push(value);\n results = [];\n // Save the current indentation level and indent one additional level.\n prefix = indentation;\n indentation += whitespace;\n if (className == arrayClass) {\n // Recursively serialize array elements.\n for (index = 0, length = value.length; index < length; index++) {\n element = serialize(index, value, callback, properties, whitespace, indentation, stack);\n results.push(element === undef ? \"null\" : element);\n }\n result = results.length ? (whitespace ? \"[\\n\" + indentation + results.join(\",\\n\" + indentation) + \"\\n\" + prefix + \"]\" : (\"[\" + results.join(\",\") + \"]\")) : \"[]\";\n } else {\n // Recursively serialize object members. Members are selected from\n // either a user-specified list of property names, or the object\n // itself.\n forEach(properties || value, function (property) {\n var element = serialize(property, value, callback, properties, whitespace, indentation, stack);\n if (element !== undef) {\n // According to ES 5.1 section 15.12.3: \"If `gap` {whitespace}\n // is not the empty string, let `member` {quote(property) + \":\"}\n // be the concatenation of `member` and the `space` character.\"\n // The \"`space` character\" refers to the literal space\n // character, not the `space` {width} argument provided to\n // `JSON.stringify`.\n results.push(quote(property) + \":\" + (whitespace ? \" \" : \"\") + element);\n }\n });\n result = results.length ? (whitespace ? \"{\\n\" + indentation + results.join(\",\\n\" + indentation) + \"\\n\" + prefix + \"}\" : (\"{\" + results.join(\",\") + \"}\")) : \"{}\";\n }\n // Remove the object from the traversed object stack.\n stack.pop();\n return result;\n }\n };\n\n // Public: `JSON.stringify`. See ES 5.1 section 15.12.3.\n exports.stringify = function (source, filter, width) {\n var whitespace, callback, properties, className;\n if (objectTypes[typeof filter] && filter) {\n if ((className = getClass.call(filter)) == functionClass) {\n callback = filter;\n } else if (className == arrayClass) {\n // Convert the property names array into a makeshift set.\n properties = {};\n for (var index = 0, length = filter.length, value; index < length; value = filter[index++], ((className = getClass.call(value)), className == stringClass || className == numberClass) && (properties[value] = 1));\n }\n }\n if (width) {\n if ((className = getClass.call(width)) == numberClass) {\n // Convert the `width` to an integer and create a string containing\n // `width` number of space characters.\n if ((width -= width % 1) > 0) {\n for (whitespace = \"\", width > 10 && (width = 10); whitespace.length < width; whitespace += \" \");\n }\n } else if (className == stringClass) {\n whitespace = width.length <= 10 ? width : width.slice(0, 10);\n }\n }\n // Opera <= 7.54u2 discards the values associated with empty string keys\n // (`\"\"`) only if they are used directly within an object member list\n // (e.g., `!(\"\" in { \"\": 1})`).\n return serialize(\"\", (value = {}, value[\"\"] = source, value), callback, properties, whitespace, \"\", []);\n };\n }\n\n // Public: Parses a JSON source string.\n if (!has(\"json-parse\")) {\n var fromCharCode = String.fromCharCode;\n\n // Internal: A map of escaped control characters and their unescaped\n // equivalents.\n var Unescapes = {\n 92: \"\\\\\",\n 34: '\"',\n 47: \"/\",\n 98: \"\\b\",\n 116: \"\\t\",\n 110: \"\\n\",\n 102: \"\\f\",\n 114: \"\\r\"\n };\n\n // Internal: Stores the parser state.\n var Index, Source;\n\n // Internal: Resets the parser state and throws a `SyntaxError`.\n var abort = function () {\n Index = Source = null;\n throw SyntaxError();\n };\n\n // Internal: Returns the next token, or `\"$\"` if the parser has reached\n // the end of the source string. A token may be a string, number, `null`\n // literal, or Boolean literal.\n var lex = function () {\n var source = Source, length = source.length, value, begin, position, isSigned, charCode;\n while (Index < length) {\n charCode = source.charCodeAt(Index);\n switch (charCode) {\n case 9: case 10: case 13: case 32:\n // Skip whitespace tokens, including tabs, carriage returns, line\n // feeds, and space characters.\n Index++;\n break;\n case 123: case 125: case 91: case 93: case 58: case 44:\n // Parse a punctuator token (`{`, `}`, `[`, `]`, `:`, or `,`) at\n // the current position.\n value = charIndexBuggy ? source.charAt(Index) : source[Index];\n Index++;\n return value;\n case 34:\n // `\"` delimits a JSON string; advance to the next character and\n // begin parsing the string. String tokens are prefixed with the\n // sentinel `@` character to distinguish them from punctuators and\n // end-of-string tokens.\n for (value = \"@\", Index++; Index < length;) {\n charCode = source.charCodeAt(Index);\n if (charCode < 32) {\n // Unescaped ASCII control characters (those with a code unit\n // less than the space character) are not permitted.\n abort();\n } else if (charCode == 92) {\n // A reverse solidus (`\\`) marks the beginning of an escaped\n // control character (including `\"`, `\\`, and `/`) or Unicode\n // escape sequence.\n charCode = source.charCodeAt(++Index);\n switch (charCode) {\n case 92: case 34: case 47: case 98: case 116: case 110: case 102: case 114:\n // Revive escaped control characters.\n value += Unescapes[charCode];\n Index++;\n break;\n case 117:\n // `\\u` marks the beginning of a Unicode escape sequence.\n // Advance to the first character and validate the\n // four-digit code point.\n begin = ++Index;\n for (position = Index + 4; Index < position; Index++) {\n charCode = source.charCodeAt(Index);\n // A valid sequence comprises four hexdigits (case-\n // insensitive) that form a single hexadecimal value.\n if (!(charCode >= 48 && charCode <= 57 || charCode >= 97 && charCode <= 102 || charCode >= 65 && charCode <= 70)) {\n // Invalid Unicode escape sequence.\n abort();\n }\n }\n // Revive the escaped character.\n value += fromCharCode(\"0x\" + source.slice(begin, Index));\n break;\n default:\n // Invalid escape sequence.\n abort();\n }\n } else {\n if (charCode == 34) {\n // An unescaped double-quote character marks the end of the\n // string.\n break;\n }\n charCode = source.charCodeAt(Index);\n begin = Index;\n // Optimize for the common case where a string is valid.\n while (charCode >= 32 && charCode != 92 && charCode != 34) {\n charCode = source.charCodeAt(++Index);\n }\n // Append the string as-is.\n value += source.slice(begin, Index);\n }\n }\n if (source.charCodeAt(Index) == 34) {\n // Advance to the next character and return the revived string.\n Index++;\n return value;\n }\n // Unterminated string.\n abort();\n default:\n // Parse numbers and literals.\n begin = Index;\n // Advance past the negative sign, if one is specified.\n if (charCode == 45) {\n isSigned = true;\n charCode = source.charCodeAt(++Index);\n }\n // Parse an integer or floating-point value.\n if (charCode >= 48 && charCode <= 57) {\n // Leading zeroes are interpreted as octal literals.\n if (charCode == 48 && ((charCode = source.charCodeAt(Index + 1)), charCode >= 48 && charCode <= 57)) {\n // Illegal octal literal.\n abort();\n }\n isSigned = false;\n // Parse the integer component.\n for (; Index < length && ((charCode = source.charCodeAt(Index)), charCode >= 48 && charCode <= 57); Index++);\n // Floats cannot contain a leading decimal point; however, this\n // case is already accounted for by the parser.\n if (source.charCodeAt(Index) == 46) {\n position = ++Index;\n // Parse the decimal component.\n for (; position < length && ((charCode = source.charCodeAt(position)), charCode >= 48 && charCode <= 57); position++);\n if (position == Index) {\n // Illegal trailing decimal.\n abort();\n }\n Index = position;\n }\n // Parse exponents. The `e` denoting the exponent is\n // case-insensitive.\n charCode = source.charCodeAt(Index);\n if (charCode == 101 || charCode == 69) {\n charCode = source.charCodeAt(++Index);\n // Skip past the sign following the exponent, if one is\n // specified.\n if (charCode == 43 || charCode == 45) {\n Index++;\n }\n // Parse the exponential component.\n for (position = Index; position < length && ((charCode = source.charCodeAt(position)), charCode >= 48 && charCode <= 57); position++);\n if (position == Index) {\n // Illegal empty exponent.\n abort();\n }\n Index = position;\n }\n // Coerce the parsed value to a JavaScript number.\n return +source.slice(begin, Index);\n }\n // A negative sign may only precede numbers.\n if (isSigned) {\n abort();\n }\n // `true`, `false`, and `null` literals.\n if (source.slice(Index, Index + 4) == \"true\") {\n Index += 4;\n return true;\n } else if (source.slice(Index, Index + 5) == \"false\") {\n Index += 5;\n return false;\n } else if (source.slice(Index, Index + 4) == \"null\") {\n Index += 4;\n return null;\n }\n // Unrecognized token.\n abort();\n }\n }\n // Return the sentinel `$` character if the parser has reached the end\n // of the source string.\n return \"$\";\n };\n\n // Internal: Parses a JSON `value` token.\n var get = function (value) {\n var results, hasMembers;\n if (value == \"$\") {\n // Unexpected end of input.\n abort();\n }\n if (typeof value == \"string\") {\n if ((charIndexBuggy ? value.charAt(0) : value[0]) == \"@\") {\n // Remove the sentinel `@` character.\n return value.slice(1);\n }\n // Parse object and array literals.\n if (value == \"[\") {\n // Parses a JSON array, returning a new JavaScript array.\n results = [];\n for (;; hasMembers || (hasMembers = true)) {\n value = lex();\n // A closing square bracket marks the end of the array literal.\n if (value == \"]\") {\n break;\n }\n // If the array literal contains elements, the current token\n // should be a comma separating the previous element from the\n // next.\n if (hasMembers) {\n if (value == \",\") {\n value = lex();\n if (value == \"]\") {\n // Unexpected trailing `,` in array literal.\n abort();\n }\n } else {\n // A `,` must separate each array element.\n abort();\n }\n }\n // Elisions and leading commas are not permitted.\n if (value == \",\") {\n abort();\n }\n results.push(get(value));\n }\n return results;\n } else if (value == \"{\") {\n // Parses a JSON object, returning a new JavaScript object.\n results = {};\n for (;; hasMembers || (hasMembers = true)) {\n value = lex();\n // A closing curly brace marks the end of the object literal.\n if (value == \"}\") {\n break;\n }\n // If the object literal contains members, the current token\n // should be a comma separator.\n if (hasMembers) {\n if (value == \",\") {\n value = lex();\n if (value == \"}\") {\n // Unexpected trailing `,` in object literal.\n abort();\n }\n } else {\n // A `,` must separate each object member.\n abort();\n }\n }\n // Leading commas are not permitted, object property names must be\n // double-quoted strings, and a `:` must separate each property\n // name and value.\n if (value == \",\" || typeof value != \"string\" || (charIndexBuggy ? value.charAt(0) : value[0]) != \"@\" || lex() != \":\") {\n abort();\n }\n results[value.slice(1)] = get(lex());\n }\n return results;\n }\n // Unexpected token encountered.\n abort();\n }\n return value;\n };\n\n // Internal: Updates a traversed object member.\n var update = function (source, property, callback) {\n var element = walk(source, property, callback);\n if (element === undef) {\n delete source[property];\n } else {\n source[property] = element;\n }\n };\n\n // Internal: Recursively traverses a parsed JSON object, invoking the\n // `callback` function for each value. This is an implementation of the\n // `Walk(holder, name)` operation defined in ES 5.1 section 15.12.2.\n var walk = function (source, property, callback) {\n var value = source[property], length;\n if (typeof value == \"object\" && value) {\n // `forEach` can't be used to traverse an array in Opera <= 8.54\n // because its `Object#hasOwnProperty` implementation returns `false`\n // for array indices (e.g., `![1, 2, 3].hasOwnProperty(\"0\")`).\n if (getClass.call(value) == arrayClass) {\n for (length = value.length; length--;) {\n update(value, length, callback);\n }\n } else {\n forEach(value, function (property) {\n update(value, property, callback);\n });\n }\n }\n return callback.call(source, property, value);\n };\n\n // Public: `JSON.parse`. See ES 5.1 section 15.12.2.\n exports.parse = function (source, callback) {\n var result, value;\n Index = 0;\n Source = \"\" + source;\n result = get(lex());\n // If a JSON string contains multiple tokens, it is invalid.\n if (lex() != \"$\") {\n abort();\n }\n // Reset the parser state.\n Index = Source = null;\n return callback && getClass.call(callback) == functionClass ? walk((value = {}, value[\"\"] = result, value), \"\", callback) : result;\n };\n }\n }\n\n exports[\"runInContext\"] = runInContext;\n return exports;\n }\n\n if (freeExports && !isLoader) {\n // Export for CommonJS environments.\n runInContext(root, freeExports);\n } else {\n // Export for web browsers and JavaScript engines.\n var nativeJSON = root.JSON,\n previousJSON = root[\"JSON3\"],\n isRestored = false;\n\n var JSON3 = runInContext(root, (root[\"JSON3\"] = {\n // Public: Restores the original value of the global `JSON` object and\n // returns a reference to the `JSON3` object.\n \"noConflict\": function () {\n if (!isRestored) {\n isRestored = true;\n root.JSON = nativeJSON;\n root[\"JSON3\"] = previousJSON;\n nativeJSON = previousJSON = null;\n }\n return JSON3;\n }\n }));\n\n root.JSON = {\n \"parse\": JSON3.parse,\n \"stringify\": JSON3.stringify\n };\n }\n\n // Export for asynchronous module loaders.\n if (isLoader) {\n define(function () {\n return JSON3;\n });\n }\n}).call(this);\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty;\n\n/**\n * Decode a URI encoded string.\n *\n * @param {String} input The URI encoded string.\n * @returns {String} The decoded string.\n * @api private\n */\nfunction decode(input) {\n return decodeURIComponent(input.replace(/\\+/g, ' '));\n}\n\n/**\n * Simple query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object}\n * @api public\n */\nfunction querystring(query) {\n var parser = /([^=?&]+)=?([^&]*)/g\n , result = {}\n , part;\n\n while (part = parser.exec(query)) {\n var key = decode(part[1])\n , value = decode(part[2]);\n\n //\n // Prevent overriding of existing properties. This ensures that build-in\n // methods like `toString` or __proto__ are not overriden by malicious\n // querystrings.\n //\n if (key in result) continue;\n result[key] = value;\n }\n\n return result;\n}\n\n/**\n * Transform a query string to an object.\n *\n * @param {Object} obj Object that should be transformed.\n * @param {String} prefix Optional prefix.\n * @returns {String}\n * @api public\n */\nfunction querystringify(obj, prefix) {\n prefix = prefix || '';\n\n var pairs = [];\n\n //\n // Optionally prefix with a '?' if needed\n //\n if ('string' !== typeof prefix) prefix = '?';\n\n for (var key in obj) {\n if (has.call(obj, key)) {\n pairs.push(encodeURIComponent(key) +'='+ encodeURIComponent(obj[key]));\n }\n }\n\n return pairs.length ? prefix + pairs.join('&') : '';\n}\n\n//\n// Expose the module.\n//\nexports.stringify = querystringify;\nexports.parse = querystring;\n","'use strict';\n\n/**\n * Check if we're required to add a port number.\n *\n * @see https://url.spec.whatwg.org/#default-port\n * @param {Number|String} port Port number we need to check\n * @param {String} protocol Protocol we need to check against.\n * @returns {Boolean} Is it a default port for the given protocol\n * @api private\n */\nmodule.exports = function required(port, protocol) {\n protocol = protocol.split(':')[0];\n port = +port;\n\n if (!port) return false;\n\n switch (protocol) {\n case 'http':\n case 'ws':\n return port !== 80;\n\n case 'https':\n case 'wss':\n return port !== 443;\n\n case 'ftp':\n return port !== 21;\n\n case 'gopher':\n return port !== 70;\n\n case 'file':\n return false;\n }\n\n return port !== 0;\n};\n","'use strict';\n\nvar required = require('requires-port')\n , qs = require('querystringify')\n , protocolre = /^([a-z][a-z0-9.+-]*:)?(\\/\\/)?([\\S\\s]*)/i\n , slashes = /^[A-Za-z][A-Za-z0-9+-.]*:\\/\\//;\n\n/**\n * These are the parse rules for the URL parser, it informs the parser\n * about:\n *\n * 0. The char it Needs to parse, if it's a string it should be done using\n * indexOf, RegExp using exec and NaN means set as current value.\n * 1. The property we should set when parsing this value.\n * 2. Indication if it's backwards or forward parsing, when set as number it's\n * the value of extra chars that should be split off.\n * 3. Inherit from location if non existing in the parser.\n * 4. `toLowerCase` the resulting value.\n */\nvar rules = [\n ['#', 'hash'], // Extract from the back.\n ['?', 'query'], // Extract from the back.\n function sanitize(address) { // Sanitize what is left of the address\n return address.replace('\\\\', '/');\n },\n ['/', 'pathname'], // Extract from the back.\n ['@', 'auth', 1], // Extract from the front.\n [NaN, 'host', undefined, 1, 1], // Set left over value.\n [/:(\\d+)$/, 'port', undefined, 1], // RegExp the back.\n [NaN, 'hostname', undefined, 1, 1] // Set left over.\n];\n\n/**\n * These properties should not be copied or inherited from. This is only needed\n * for all non blob URL's as a blob URL does not include a hash, only the\n * origin.\n *\n * @type {Object}\n * @private\n */\nvar ignore = { hash: 1, query: 1 };\n\n/**\n * The location object differs when your code is loaded through a normal page,\n * Worker or through a worker using a blob. And with the blobble begins the\n * trouble as the location object will contain the URL of the blob, not the\n * location of the page where our code is loaded in. The actual origin is\n * encoded in the `pathname` so we can thankfully generate a good \"default\"\n * location from it so we can generate proper relative URL's again.\n *\n * @param {Object|String} loc Optional default location object.\n * @returns {Object} lolcation object.\n * @public\n */\nfunction lolcation(loc) {\n var location = global && global.location || {};\n loc = loc || location;\n\n var finaldestination = {}\n , type = typeof loc\n , key;\n\n if ('blob:' === loc.protocol) {\n finaldestination = new Url(unescape(loc.pathname), {});\n } else if ('string' === type) {\n finaldestination = new Url(loc, {});\n for (key in ignore) delete finaldestination[key];\n } else if ('object' === type) {\n for (key in loc) {\n if (key in ignore) continue;\n finaldestination[key] = loc[key];\n }\n\n if (finaldestination.slashes === undefined) {\n finaldestination.slashes = slashes.test(loc.href);\n }\n }\n\n return finaldestination;\n}\n\n/**\n * @typedef ProtocolExtract\n * @type Object\n * @property {String} protocol Protocol matched in the URL, in lowercase.\n * @property {Boolean} slashes `true` if protocol is followed by \"//\", else `false`.\n * @property {String} rest Rest of the URL that is not part of the protocol.\n */\n\n/**\n * Extract protocol information from a URL with/without double slash (\"//\").\n *\n * @param {String} address URL we want to extract from.\n * @return {ProtocolExtract} Extracted information.\n * @private\n */\nfunction extractProtocol(address) {\n var match = protocolre.exec(address);\n\n return {\n protocol: match[1] ? match[1].toLowerCase() : '',\n slashes: !!match[2],\n rest: match[3]\n };\n}\n\n/**\n * Resolve a relative URL pathname against a base URL pathname.\n *\n * @param {String} relative Pathname of the relative URL.\n * @param {String} base Pathname of the base URL.\n * @return {String} Resolved pathname.\n * @private\n */\nfunction resolve(relative, base) {\n var path = (base || '/').split('/').slice(0, -1).concat(relative.split('/'))\n , i = path.length\n , last = path[i - 1]\n , unshift = false\n , up = 0;\n\n while (i--) {\n if (path[i] === '.') {\n path.splice(i, 1);\n } else if (path[i] === '..') {\n path.splice(i, 1);\n up++;\n } else if (up) {\n if (i === 0) unshift = true;\n path.splice(i, 1);\n up--;\n }\n }\n\n if (unshift) path.unshift('');\n if (last === '.' || last === '..') path.push('');\n\n return path.join('/');\n}\n\n/**\n * The actual URL instance. Instead of returning an object we've opted-in to\n * create an actual constructor as it's much more memory efficient and\n * faster and it pleases my OCD.\n *\n * It is worth noting that we should not use `URL` as class name to prevent\n * clashes with the global URL instance that got introduced in browsers.\n *\n * @constructor\n * @param {String} address URL we want to parse.\n * @param {Object|String} location Location defaults for relative paths.\n * @param {Boolean|Function} parser Parser for the query string.\n * @private\n */\nfunction Url(address, location, parser) {\n if (!(this instanceof Url)) {\n return new Url(address, location, parser);\n }\n\n var relative, extracted, parse, instruction, index, key\n , instructions = rules.slice()\n , type = typeof location\n , url = this\n , i = 0;\n\n //\n // The following if statements allows this module two have compatibility with\n // 2 different API:\n //\n // 1. Node.js's `url.parse` api which accepts a URL, boolean as arguments\n // where the boolean indicates that the query string should also be parsed.\n //\n // 2. The `URL` interface of the browser which accepts a URL, object as\n // arguments. The supplied object will be used as default values / fall-back\n // for relative paths.\n //\n if ('object' !== type && 'string' !== type) {\n parser = location;\n location = null;\n }\n\n if (parser && 'function' !== typeof parser) parser = qs.parse;\n\n location = lolcation(location);\n\n //\n // Extract protocol information before running the instructions.\n //\n extracted = extractProtocol(address || '');\n relative = !extracted.protocol && !extracted.slashes;\n url.slashes = extracted.slashes || relative && location.slashes;\n url.protocol = extracted.protocol || location.protocol || '';\n address = extracted.rest;\n\n //\n // When the authority component is absent the URL starts with a path\n // component.\n //\n if (!extracted.slashes) instructions[3] = [/(.*)/, 'pathname'];\n\n for (; i < instructions.length; i++) {\n instruction = instructions[i];\n\n if (typeof instruction === 'function') {\n address = instruction(address);\n continue;\n }\n\n parse = instruction[0];\n key = instruction[1];\n\n if (parse !== parse) {\n url[key] = address;\n } else if ('string' === typeof parse) {\n if (~(index = address.indexOf(parse))) {\n if ('number' === typeof instruction[2]) {\n url[key] = address.slice(0, index);\n address = address.slice(index + instruction[2]);\n } else {\n url[key] = address.slice(index);\n address = address.slice(0, index);\n }\n }\n } else if ((index = parse.exec(address))) {\n url[key] = index[1];\n address = address.slice(0, index.index);\n }\n\n url[key] = url[key] || (\n relative && instruction[3] ? location[key] || '' : ''\n );\n\n //\n // Hostname, host and protocol should be lowercased so they can be used to\n // create a proper `origin`.\n //\n if (instruction[4]) url[key] = url[key].toLowerCase();\n }\n\n //\n // Also parse the supplied query string in to an object. If we're supplied\n // with a custom parser as function use that instead of the default build-in\n // parser.\n //\n if (parser) url.query = parser(url.query);\n\n //\n // If the URL is relative, resolve the pathname against the base URL.\n //\n if (\n relative\n && location.slashes\n && url.pathname.charAt(0) !== '/'\n && (url.pathname !== '' || location.pathname !== '')\n ) {\n url.pathname = resolve(url.pathname, location.pathname);\n }\n\n //\n // We should not add port numbers if they are already the default port number\n // for a given protocol. As the host also contains the port number we're going\n // override it with the hostname which contains no port number.\n //\n if (!required(url.port, url.protocol)) {\n url.host = url.hostname;\n url.port = '';\n }\n\n //\n // Parse down the `auth` for the username and password.\n //\n url.username = url.password = '';\n if (url.auth) {\n instruction = url.auth.split(':');\n url.username = instruction[0] || '';\n url.password = instruction[1] || '';\n }\n\n url.origin = url.protocol && url.host && url.protocol !== 'file:'\n ? url.protocol +'//'+ url.host\n : 'null';\n\n //\n // The href is just the compiled result.\n //\n url.href = url.toString();\n}\n\n/**\n * This is convenience method for changing properties in the URL instance to\n * insure that they all propagate correctly.\n *\n * @param {String} part Property we need to adjust.\n * @param {Mixed} value The newly assigned value.\n * @param {Boolean|Function} fn When setting the query, it will be the function\n * used to parse the query.\n * When setting the protocol, double slash will be\n * removed from the final url if it is true.\n * @returns {URL} URL instance for chaining.\n * @public\n */\nfunction set(part, value, fn) {\n var url = this;\n\n switch (part) {\n case 'query':\n if ('string' === typeof value && value.length) {\n value = (fn || qs.parse)(value);\n }\n\n url[part] = value;\n break;\n\n case 'port':\n url[part] = value;\n\n if (!required(value, url.protocol)) {\n url.host = url.hostname;\n url[part] = '';\n } else if (value) {\n url.host = url.hostname +':'+ value;\n }\n\n break;\n\n case 'hostname':\n url[part] = value;\n\n if (url.port) value += ':'+ url.port;\n url.host = value;\n break;\n\n case 'host':\n url[part] = value;\n\n if (/:\\d+$/.test(value)) {\n value = value.split(':');\n url.port = value.pop();\n url.hostname = value.join(':');\n } else {\n url.hostname = value;\n url.port = '';\n }\n\n break;\n\n case 'protocol':\n url.protocol = value.toLowerCase();\n url.slashes = !fn;\n break;\n\n case 'pathname':\n case 'hash':\n if (value) {\n var char = part === 'pathname' ? '/' : '#';\n url[part] = value.charAt(0) !== char ? char + value : value;\n } else {\n url[part] = value;\n }\n break;\n\n default:\n url[part] = value;\n }\n\n for (var i = 0; i < rules.length; i++) {\n var ins = rules[i];\n\n if (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();\n }\n\n url.origin = url.protocol && url.host && url.protocol !== 'file:'\n ? url.protocol +'//'+ url.host\n : 'null';\n\n url.href = url.toString();\n\n return url;\n}\n\n/**\n * Transform the properties back in to a valid and full URL string.\n *\n * @param {Function} stringify Optional query stringify function.\n * @returns {String} Compiled version of the URL.\n * @public\n */\nfunction toString(stringify) {\n if (!stringify || 'function' !== typeof stringify) stringify = qs.stringify;\n\n var query\n , url = this\n , protocol = url.protocol;\n\n if (protocol && protocol.charAt(protocol.length - 1) !== ':') protocol += ':';\n\n var result = protocol + (url.slashes ? '//' : '');\n\n if (url.username) {\n result += url.username;\n if (url.password) result += ':'+ url.password;\n result += '@';\n }\n\n result += url.host + url.pathname;\n\n query = 'object' === typeof url.query ? stringify(url.query) : url.query;\n if (query) result += '?' !== query.charAt(0) ? '?'+ query : query;\n\n if (url.hash) result += url.hash;\n\n return result;\n}\n\nUrl.prototype = { set: set, toString: toString };\n\n//\n// Expose the URL parser and some additional properties that might be useful for\n// others or testing.\n//\nUrl.extractProtocol = extractProtocol;\nUrl.location = lolcation;\nUrl.qs = qs;\n\nmodule.exports = Url;\n"]} \ No newline at end of file Index: base3.10/src/main/webapp/js/com/dragFileUploader.js =================================================================== --- base3.10/src/main/webapp/js/com/dragFileUploader.js (nonexistent) +++ base3.10/src/main/webapp/js/com/dragFileUploader.js (revision 7) @@ -0,0 +1,406 @@ +/** + * 드래그앤드랍 파일 업로드를 활용한 파일 업로더 + * $('input hidden element').dragFileUploader(options, [callback]) + */ +; +(function($) { + function uploader(input, options, callback) { + const uploader = { + input : null + // 옵션 + , options : { + 'allowedTypes' : ['ppt', 'pptx', 'hwp', 'xls', 'xlsx', 'doc', 'docx', 'png', 'jpg', 'jpeg', 'gif', 'pdf'] + , 'maxSize' : 10 + , 'maxCount' : 5 + , 'useBtnDelete' : true + , 'useDragDrop' : true + , 'useClick' : true + , 'wrapSelector' : '#file_box_wrap' + , 'viewType' : 'file' // img, file, popup + , 'viewSelector' : null + } + // 초기화 + , init : function() { + // 드래그앤드랍 초기화 + if (this.options.useDragDrop) { + this.initDropZone(); + } + // 클릭 초기화 + if (this.options.useClick) { + this.initClick(); + } + // 초기 데이터 셋팅 + if (this.input.val() != '') { + var $viewSelector = $(this.options.wrapSelector + " .file_list"); + this.initView('popup', $viewSelector); + } + return this; + } + // 초기 데이터 셋팅 + , initView : function(type, selector) { + let fileId = this.input.val(); + let $selector = selector == null ? $(uploader.options.viewSelector) : $(selector); + // 기존 DOM 삭제 + $selector.empty(); + if (fileId == '') { + return this; + } + var params = { + 'fileId' : fileId + } + $.post(CONTEXT_PATH + '/fileList/selectJson.do', params, function(data) { + if (data.sttus == 'success') { + let files = data.result; + $.each(files, function(i, file) { + var param = { + 'name' : file.originFileNm + , 'size' : file.fileSize + } + var $file = uploader.createDom(param, type); + $selector.append($file); + + // 이벤트 추가(다운로드, 삭제, 데이터 셋팅) + uploader.fncFileTrigger($file, file); + }); + } else { + alert('파일을 불러오는 중 오류가 발생하였습니다.'); + } + }); + return this; + } + // 클릭 초기화 + , initClick : function() { + var $selector = $(this.options.wrapSelector); + var $dropZone = $selector.find('.dropZone'); + var $fileInput = $('<input>', {'type': 'file', 'multiple' : 'multiple', 'class' : 'blind'}); + // 파일 변경 이벤트 + $fileInput.on('change', function() { + var files = this.files; + + // 업로드 함수 + uploader.fncFileUpload(files); + }); + // 드랍존 다음에 파일 추가(드랍존 안에 추가 하면 중복 클릭 이벤트 발생) + $dropZone.after($fileInput); + $dropZone.on('click', function() { + $fileInput.trigger('click'); + }); + } + // 드래그앤드랍 초기화 + , initDropZone : function() { + var $selector = $(this.options.wrapSelector); + var $dropZone = $selector.find('.dropZone'); + $('html') + .on('dragover', function(e) { + e.preventDefault(); + e.stopPropagation(); + }) + .on('drop', function(e) { + e.preventDefault(); + e.stopPropagation(); + }); + $dropZone + .on('dragenter', function(e) { + e.preventDefault(); + e.stopPropagation(); + $(this).prop('style', 'border:1px dashed #0a52ad;'); + $(this).find('p').prop('style', 'opacity:.8;'); + }) + .on('dragleave', function(e) { + $(this).prop('style', null); + $(this).find('p').prop('style', null); + }) + .on('dragover', function(e) { + e.preventDefault(); + e.stopPropagation(); + }) + .on('drop', function(e) { + e.preventDefault(); + e.stopPropagation(); + + var files = e.originalEvent.dataTransfer.files; + // 업로드 함수 + uploader.fncFileUpload(files); + }); + } + // 파일 목록 데이터 반환 + , fncGetData : function(name) { + var $selector = $(this.options.wrapSelector); + var arrData = new Array(); + $selector.find('.file_list li').each(function(i) { + if (name != null && name != '') { + arrData.push($(this).data('result')[name]); + } else { + arrData.push($(this).data('result')); + } + }); + return arrData; + } + // 확인(반환) 이벤트 + , fncReturn : function() { + var list = uploader.fncGetData('fileId'); + return list.join(','); + } + // 콜백 함수 필요시 추가 + , callback : function() { + + } + // 파일 업로드 + , fncFileUpload : function(files) { + $.each(files, function(i, file) { + var fd = new FormData(); + fd.append('file', file); + + // 확장자 및 용량, 갯수 체크 + if (!uploader.fncValidate(uploader.options, file)) { + return true; + }; + + // 업로드 UI 생성 + var $file = uploader.createDom(file, 'popup'); + var $selector = $(uploader.options.wrapSelector); + $selector.find('.file_list').append($file); + + $.ajax({ + type : 'post', + url : CONTEXT_PATH + '/uploadFile.do', + data : fd, + processData : false, + contentType : false, + beforeSend : function() { + }, + complete : function() { + }, + success : function(data) { + if (data.sttus == 'success') { + var result = data.result; + + // 완료 처리 + var $filename = $file.find('.filename'); + $filename.append('<img src="' + CONTEXT_PATH + '/images/custom/icon_sucess.svg" alt="업로드 성공 아이콘">'); + + // 이벤트 추가(다운로드, 삭제, 데이터 셋팅) + uploader.fncFileTrigger($file, result); + } else { + alert(file.name + " 파일 업로드에 실패하였습니다."); + $file.remove(); + } + }, + error : function(error) { + alert("파일 업로드에 실패하였습니다."); + $file.remove(); + }, + xhr : function() { // 프로그래스 + var xhr = $.ajaxSettings.xhr(); + + // 업로드 중 프로그래스바 표시 + xhr.upload.onprogress = function(e) { + var per = e. loaded * 100 / e.total; + // 프로그래스바 이동 + var $bar = $file.find('.bar'); + + $bar.prop('style', 'width: ' + per + '%'); + if (per === 100) { + $bar.addClass('blind'); + } + } + return xhr; + }, + }); + }); + } + //파일 이벤트(다운로드, 삭제, 데이터 셋팅) + , fncFileTrigger : function(file, result) { + // 데이터 셋팅 + file.data('result', result); + + // 이미지뷰 + file.find('img.imgThumb').prop('src', CONTEXT_PATH + result.link); + + // 다운로드 버튼 이벤트 + file.find('.btn_filedown').on('click', function() { + location.href = CONTEXT_PATH + result.link; + }); + + // 삭제 버튼 이벤트 + file.find('.btn_delete').on('click', function() { + file.remove(); + // 삭제 후 포커스 + $('#file_box_wrap').find('a,input,button').eq(0).focus(); + }); + } + //확장자 체크 및 용량 체크, 파일 첨부 갯수 + , fncValidate : function(options, file) { + var isTrue = true; + if (options.allowedTypes.indexOf('*') == -1) { + var ext = file.name.split('.').pop().toLowerCase(); + if( $.inArray(ext, options.allowedTypes) == -1 ) { + alert(file.name + ' 파일은 허용되지 않은 확장자입니다.\n' + options.allowedTypes.join(', ') + ' 확장자 만 가능합니다.'); + return false; + } + } + if (options.maxSize > -1) { + var fileSize = file.size; + var maxSize = options.maxSize * 1024 * 1024; + if( fileSize > maxSize ) { + alert('파일 사이즈는 ' + uploader.fileSizeConvert(maxSize) + '이내로 등록 가능합니다.'); + return false; + } + } + var $selector = $(options.wrapSelector); + var fileListCnt = $selector.find('.file_list li').length; + var maxCount = options.maxCount; + if (fileListCnt >= maxCount) { + alert('파일 첨부 가능 갯수는 총 ' + maxCount + '개 입니다.'); + return false; + } + return isTrue; + } + //파일 사이즈 형식 변경 + , fileSizeConvert : function(size) { + var fileSize = size; + if (fileSize / 1024 >= 1024) { + fileSize = (fileSize / (1024 * 1024)).toFixed(1) + "MB"; + } else { + fileSize = (fileSize / 1024).toFixed(1) + "KB"; + } + return fileSize; + } + //파일 확장자별 아이콘 + , fileExtIcon : function(ext) { + var fileIcon = 'file_reg'; + switch (ext) { + case 'pdf': + fileIcon = 'file_pdf'; + break; + case 'ppt': + fileIcon = 'file_ppt'; + break; + case 'pptx': + fileIcon = 'file_ppt'; + break; + case 'xls': + fileIcon = 'file_excel'; + break; + case 'xlsx': + fileIcon = 'file_excel'; + break; + case 'doc': + fileIcon = 'file_word'; + break; + case 'docx': + fileIcon = 'file_word'; + break; + case 'hwp': + fileIcon = 'file_hwp'; + break; + case 'png': + fileIcon = 'file_img'; + break; + case 'jpg': + fileIcon = 'file_img'; + break; + case 'jpeg': + fileIcon = 'file_img'; + break; + case 'gif': + fileIcon = 'file_img'; + break; + case 'bmp': + fileIcon = 'file_img'; + break; + case 'zip': + fileIcon = 'file_zip'; + break; + case '7z': + fileIcon = 'file_zip'; + break; + default: + fileIcon = 'file_reg'; + } + return fileIcon; + } + // DOM생성 + , createDom : function(file, type) { + var name = file.name; + var size = uploader.fileSizeConvert(file.size); + var ext = name.split('.').pop().toLowerCase(); + var dom; + switch (type) { + case 'popup': + dom = '<li class="' + uploader.fileExtIcon(ext) + '">' + + '<p class="filename"><em>' + name + ' [' + size + ']</em></p>' + + '<div class="btn_wrap">' + + '<button type="button" class="btn_filedown btn_sq_s" title="파일다운 [' + name + ']">다운</button>' + + '<button type="button" class="btn_delete btn_sq_s" title="파일삭제 [' + name + ']">삭제</button>' + + '</div>' + + '<div class="progress_bar"><em class="blind">업로드상태</em>' + + '<div class="bar" style="width:0%"></div>' + + '</div>' + + '</li>'; + break; + case 'img': + dom = '<li>' + + '<img class="imgThumb" alt="첨부 이미지" src="">' + + '<div class="btn">' + + '<button type="button" class="btn_filedown btn_sq_s" title="파일다운">다운</button>' + + '</div>' + + '</li>'; + break; + default: + dom = '<li class="' + uploader.fileExtIcon(ext) + '">' + + '<div class="file_wrap">' + + '<p class="filename">' + name + '</p>' + + '<button type="button" class="btn_filedown btn_sq_s" title="파일다운 [' + name + ']">다운</button>' + + '</div>' + + '</li>'; + break; + } + return $(dom); + } + // 파일 업로더 팝업 열기(button selector) + , fncOpenPopup : function(selector) { + var params = { + 'fileId' : uploader.input.val() + } + + $(selector).on('click', function() { + fn_popupOpen(CONTEXT_PATH + "/uploadFile/popup.do", 500, 500, params, 'Y', function(popupId) { + // 초기화 + uploader.init(); + + // 확인 이벤트 + $('#' + popupId).find('.btn_saveFile').on('click', function() { + // 히든 값 셋팅 + uploader.input.val(uploader.fncReturn()); + + var $viewSelector = $(uploader.options.viewSelector); + var viewType = uploader.options.viewType; + uploader.initView(viewType, $viewSelector); + + if (typeof uploader.callback == 'function') { + uploader.callback(uploader); + } + }); + }); + }); + return this; + } + } + // input hidden + uploader.input = $(input); + // 옵션 + if (options != null) { + uploader.options = $.extend({}, uploader.options, options); + } + // 콜백 함수 + if (typeof callback == 'function') { + uploader.callback = callback; + } + return uploader; + } + $.fn.dragFileUploader = function(options, callback) { + var fileUploader = new uploader(this, options, callback); + return fileUploader; + } +})(jQuery); Property changes on: base3.10/src/main/webapp/js/com/dragFileUploader.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/freeze-table.js =================================================================== --- base3.10/src/main/webapp/js/com/freeze-table.js (nonexistent) +++ base3.10/src/main/webapp/js/com/freeze-table.js (revision 7) @@ -0,0 +1,808 @@ +/** + * RWD Table with freezing head and columns for jQuery + * + * @author Nick Tsai <myintaer@gmail.com> + * @version 1.3.0 + * @see https://github.com/yidas/jquery-freeze-table + */ +(function ($, window) { + + 'use strict'; + + /** + * Main object + * + * @param {element} element + * @param {object} options + */ + var FreezeTable = function(element, options) { + + // Target element initialization + this.$tableWrapper = $(element).first(); + + // Options + this.options = options || {}; + this.namespace = this.options.namespace || 'freeze-table'; + this.callback; + this.scrollBarHeight; + this.shadow; + this.fastMode; + this.backgroundColor; + this.scrollable; + + // Caches + this.$table = this.$tableWrapper.children("table"); + this.$container = ((typeof this.options.container !== 'undefined') && this.options.container && $(this.options.container).length) ? $(this.options.container) : $(window); + this.$headTableWrap; + this.$columnTableWrap; + this.$columnHeadTableWrap; + this.$scrollBarWrap; + this.fixedNavbarHeight; + this.isWindowScrollX = false; + + // Static class names for clone wraps + this.headWrapClass = 'clone-head-table-wrap'; + this.columnWrapClass = 'clone-column-table-wrap'; + this.columnHeadWrapClass = 'clone-column-head-table-wrap'; + this.scrollBarWrapClass = 'clone-scroll-bar-wrap'; + + this.init(); + + return this; + } + + /** + * Initialization + */ + FreezeTable.prototype.init = function() { + + // Element check + if (!this.$table.length) { + throw "The element must contain a table dom"; + } + + /** + * Update Mode + */ + if (this.options==='update') { + + this.destroy(); + this.options = this.$tableWrapper.data('freeze-table-data'); + } + else if (this.options==='resize') { + + this.options = this.$tableWrapper.data('freeze-table-data'); + // Get selected FreezeTable's namespace + this.namespace = this.options.namespace || this.namespace; + this.resize(); + // Skip init for better performance usage + return; + } + else { + // Save to DOM data + this.$tableWrapper.data('freeze-table-data', this.options); + } + + /** + * Options Setting + */ + var options = this.options; + var freezeHead = (typeof options.freezeHead !== 'undefined') ? options.freezeHead : true; + var freezeColumn = (typeof options.freezeColumn !== 'undefined') ? options.freezeColumn : true; + var freezeColumnHead = (typeof options.freezeColumnHead !== 'undefined') ? options.freezeColumnHead : true; + var scrollBar = (typeof options.scrollBar !== 'undefined') ? options.scrollBar : false; + var fixedNavbar = options.fixedNavbar || '.navbar-fixed-top'; + var callback = options.callback || null; + this.namespace = this.options.namespace || this.namespace; + // Default to get window scroll bar height + this.scrollBarHeight = ($.isNumeric(options.scrollBarHeight)) ? options.scrollBarHeight : (window.innerWidth - document.documentElement.clientWidth); + this.shadow = (typeof options.shadow !== 'undefined') ? options.shadow : false; + this.fastMode = (typeof options.fastMode !== 'undefined') ? options.fastMode : false; + this.backgroundColor = (typeof options.backgroundColor !== 'undefined') ? options.backgroundColor : 'white'; + this.scrollable = (typeof options.scrollable !== 'undefined') ? options.scrollable : false; + + // Get navbar height for keeping fixed navbar + this.fixedNavbarHeight = (fixedNavbar) ? $(fixedNavbar).outerHeight() || 0 : 0; + + // Check existence + if (this.isInit()) { + this.destroy(); + } + + // Release height of the table wrapper + if (!this.scrollable) { + this.$tableWrapper.css('height', '100%') + .css('min-height', '100%') + .css('max-height', '100%'); + } + + /** + * Building + */ + // Switch for freezeHead + if (freezeHead) { + this.buildHeadTable(); + } + // Switch for freezeColumn + if (freezeColumn) { + this.buildColumnTable(); + // X scroll bar + this.$tableWrapper.css('overflow-x', 'scroll'); + } + // Switch for freezeColumnHead + if (freezeColumnHead && freezeHead && freezeColumn) { + this.buildColumnHeadTable(); + } + // Switch for scrollBar + if (scrollBar) { + this.buildScrollBar(); + } + + // Body scroll-x prevention + var detectWindowScroll = (function (){ + // If body scroll-x is opened, close library to prevent Invalid usage + if (this.$container.scrollLeft() > 0) { + // Mark + this.isWindowScrollX = true; + // Hide all components + if (this.$headTableWrap) { + this.$headTableWrap.css('visibility', 'hidden'); + } + if (this.$columnTableWrap) { + this.$columnTableWrap.css('visibility', 'hidden'); + } + if (this.$columnHeadTableWrap) { + this.$columnHeadTableWrap.css('visibility', 'hidden'); + } + if (this.$scrollBarWrap) { + this.$scrollBarWrap.css('visibility', 'hidden'); + } + + } else { + // Unmark + this.isWindowScrollX = false; + } + + }).bind(this); + // Listener of Body scroll-x prevention + this.$container.on('scroll.'+this.namespace, function () { + + detectWindowScroll(); + }); + + // Initialization + this.resize(); + + // Callback + if (typeof callback === 'function') { + callback(); + } + } + + /** + * Freeze thead table + */ + FreezeTable.prototype.buildHeadTable = function() { + + var that = this; + + // Clone the table as Fixed thead + var $headTable = this.clone(this.$table); + + // Fast Mode + if (this.fastMode) { + var $headTable = this.simplifyHead($headTable); + } + + var headWrapStyles = this.options.headWrapStyles || null; + // Wrap the Fixed Column table + this.$headTableWrap = $('<div class="'+this.headWrapClass+'"></div>') + .append($headTable) + .css('position', 'fixed') + .css('overflow', 'hidden') + .css('visibility', 'hidden') + .css('top', 0 + this.fixedNavbarHeight) + .css('z-index', 2); + // Shadow option + if (this.shadow) { + this.$headTableWrap.css('box-shadow', '0px 6px 10px -5px rgba(159, 159, 160, 0.8)'); + } + // Styles option + if (headWrapStyles && typeof headWrapStyles === "object") { + $.each(headWrapStyles, function(key, value) { + that.$headTableWrap.css(key, value); + }); + } + // Add into target table wrap + this.$tableWrapper.append(this.$headTableWrap); + + /** + * Listener - Table scroll for effecting Freeze Column + */ + this.$tableWrapper.on('scroll.'+this.namespace, function() { + + // this.$headTableWrap.css('left', this.$table.offset().left); + that.$headTableWrap.scrollLeft($(this).scrollLeft()); + }); + + // Scrollable option + if (this.scrollable) { + + var handler = function (window, that) { + + var top = that.$tableWrapper.offset().top; + + // Detect Current container's top is in the table scope + if (that.$tableWrapper.scrollTop() > 0 && top > that.fixedNavbarHeight) { + + that.$headTableWrap.offset({top: top}); + that.$headTableWrap.css('visibility', 'visible'); + + } else { + + that.$headTableWrap.css('visibility', 'hidden'); + } + } + + /** + * Listener - Window scroll for effecting freeze head table + */ + this.$tableWrapper.on('scroll.'+this.namespace, function() { + + handler(window, that); + }); + + this.$container.on('scroll.'+this.namespace, function() { + + handler(window, that); + }); + + } + // Default with window container + else if ($.isWindow(that.$container.get(0))) { + + /** + * Listener - Window scroll for effecting freeze head table + */ + this.$container.on('scroll.'+this.namespace, function() { + + // Current container's top position + var topPosition = that.$container.scrollTop() + that.fixedNavbarHeight; + var tableTop = that.$table.offset().top - 1; + + // Detect Current container's top is in the table scope + if (tableTop - 1 <= topPosition && (tableTop + that.$table.outerHeight() - 1) >= topPosition) { + + that.$headTableWrap.css('visibility', 'visible'); + + } else { + + that.$headTableWrap.css('visibility', 'hidden'); + } + }); + } + // Container setting + else { + + /** + * Listener - Window scroll for effecting freeze head table + */ + this.$container.on('scroll.'+this.namespace, function() { + + var windowTop = $(window).scrollTop(); + var tableTop = that.$table.offset().top - 1; + + // Detect Current container's top is in the table scope + if (tableTop <= windowTop && (tableTop + that.$table.outerHeight() - 1) >= windowTop) { + + that.$headTableWrap.offset({top: windowTop}); + that.$headTableWrap.css('visibility', 'visible'); + + } else { + + that.$headTableWrap.css('visibility', 'hidden'); + } + }); + } + + /** + * Listener - Window resize for effecting freeze head table + */ + this.$container.on('resize.'+this.namespace, function() { + + // Scrollable check and prevention + var headTableWrapWidth = (that.scrollable) ? that.$tableWrapper.width() - that.scrollBarHeight : that.$tableWrapper.width(); + headTableWrapWidth = (headTableWrapWidth > 0) ? headTableWrapWidth : that.$tableWrapper.width(); + that.$headTableWrap.css('width', headTableWrapWidth); + that.$headTableWrap.css('height', that.$table.find("thead").outerHeight()); + }); + } + + /** + * Freeze column table + */ + FreezeTable.prototype.buildColumnTable = function() { + + var that = this; + + /** + * Setting + */ + var columnWrapStyles = this.options.columnWrapStyles || null; + var columnNum = this.options.columnNum || 1; + var columnKeep = (typeof this.options.columnKeep !== 'undefined') ? this.options.columnKeep : false; + // Shadow option + var defaultColumnBorderWidth = (this.shadow) ? 0 : 1; + var columnBorderWidth = (typeof this.options.columnBorderWidth !== 'undefined') ? this.options.columnBorderWidth : defaultColumnBorderWidth; + + // Clone the table as Fixed Column table + var $columnTable = this.clone(this.$table); + + // Wrap the Fixed Column table + this.$columnTableWrap = $('<div class="'+this.columnWrapClass+'"></div>') + .append($columnTable) + .css('position', 'fixed') + .css('overflow', 'hidden') + .css('visibility', 'hidden') + .css('z-index', 3); + // Shadow option + if (this.shadow) { + this.$columnTableWrap.css('box-shadow', '6px 0px 10px -5px rgba(159, 159, 160, 0.8)'); + } + // Styles option + if (columnWrapStyles && typeof columnWrapStyles === "object") { + $.each(columnWrapStyles, function(key, value) { + that.$columnTableWrap.css(key, value); + }); + } + // Scrollable + if (this.scrollable) { + // Scrollable check and prevention +// var columnTableWrapHeight = this.$tableWrapper.height() - this.scrollBarHeight; + var columnTableWrapHeight = this.$tableWrapper.height(); + columnTableWrapHeight = (columnTableWrapHeight > 0) ? columnTableWrapHeight : this.$tableWrapper.height(); +// console.log(columnTableWrapHeight); +// console.log(columnTableWrapHeight-8); + // 해당 영역에서 스크롤 크기 만큼 마이너스(크롬 스크롤 크기 8px;) + this.$columnTableWrap.height(columnTableWrapHeight-8); + } + // Add into target table wrap + this.$tableWrapper.append(this.$columnTableWrap); + + /** + * localize the column wrap to current top + */ + var localizeWrap = function () { + + that.$columnTableWrap.offset({top: that.$tableWrapper.offset().top}); + } + + // Column keep option + if (columnKeep) { + + this.$columnTableWrap.css('visibility', 'visible'); + + } else { + + // Scrollable option + if (that.scrollable) { + + /** + * Listener - Table scroll for effecting Freeze Column + */ + this.$tableWrapper.on('scroll.'+this.namespace, function() { + + + // Detect for horizontal scroll + if ($(this).scrollLeft() > 0) { + + // Scrollable localization + that.$columnTableWrap.scrollTop(that.$tableWrapper.scrollTop()); + that.$columnTableWrap.css('visibility', 'visible'); + + } else { + + that.$columnTableWrap.css('visibility', 'hidden'); + } + }); + + } else { + + /** + * Listener - Table scroll for effecting Freeze Column + */ + this.$tableWrapper.on('scroll.'+this.namespace, function() { + + // Disable while isWindowScrollX + if (that.isWindowScrollX) + return; + + // Detect for horizontal scroll + if ($(this).scrollLeft() > 0) { + + that.$columnTableWrap.css('visibility', 'visible'); + + } else { + + that.$columnTableWrap.css('visibility', 'hidden'); + } + }); + } + } + + /** + * Listener - Window resize for effecting tables + */ + this.$container.on('resize.'+this.namespace, function() { + + // Follows origin table's width + $columnTable.width(that.$table.width()); + + /** + * Dynamic column calculation + */ + // Get width by fixed column with number setting + var width = 0 + columnBorderWidth; + for (var i = 1; i <= columnNum; i++) { + // th/td detection + var th = that.$table.find('th:nth-child('+i+')').outerWidth(); + var addWidth = (th > 0) ? th : that.$table.find('td:nth-child('+i+')').outerWidth(); + width += addWidth; + } + that.$columnTableWrap.width(width); + + localizeWrap(); + }); + + /** + * Listener - Window scroll for effecting freeze column table + */ + this.$container.on('scroll.'+this.namespace, function() { + + localizeWrap(); + }); + } + + /** + * Freeze column thead table + */ + FreezeTable.prototype.buildColumnHeadTable = function() { + + var that = this; + + // Clone head table wrap + this.$columnHeadTableWrap = this.clone(this.$headTableWrap); + + // Fast Mode + if (this.fastMode) { + this.$columnHeadTableWrap = this.simplifyHead(this.$columnHeadTableWrap); + } + + var columnHeadWrapStyles = this.options.columnHeadWrapStyles || null; + + this.$columnHeadTableWrap.removeClass(this.namespace) + .addClass(this.columnHeadWrapClass) + .css('z-index', 3); + // Shadow option + if (this.shadow) { + this.$columnHeadTableWrap.css('box-shadow', 'none'); + } + // Styles option + if (columnHeadWrapStyles && typeof columnHeadWrapStyles === "object") { + $.each(columnHeadWrapStyles, function(key, value) { + this.$columnHeadTableWrap.css(key, value); + }); + } + + // Add into target table wrap + this.$tableWrapper.append(this.$columnHeadTableWrap); + + // Scrollable option + if (this.scrollable) { + + var detect = function () { + + var top = that.$tableWrapper.offset().top; + + // Detect Current container's top is in the table scope + if (that.$tableWrapper.scrollTop() > 0 && top > that.fixedNavbarHeight) { + + that.$columnHeadTableWrap.offset({top: top}); + that.$columnHeadTableWrap.css('visibility', 'visible'); + + } else { + + that.$columnHeadTableWrap.css('visibility', 'hidden'); + } + } + + /** + * Listener - Window scroll for effecting freeze head table + */ + $(this.$tableWrapper).on('scroll.'+this.namespace, function() { + + detect(); + }); + + } + // Default with window container + else if ($.isWindow(this.$container.get(0))) { + + var detect = function () { + + // Current container's top position + var topPosition = that.$container.scrollTop() + that.fixedNavbarHeight; + var tableTop = that.$table.offset().top - 1; + + // Detect Current container's top is in the table scope + if (tableTop - 1 <= topPosition && (tableTop + that.$table.outerHeight() - 1) >= topPosition && that.$tableWrapper.scrollLeft() > 0) { + + that.$columnHeadTableWrap.css('visibility', 'visible'); + + } else { + + that.$columnHeadTableWrap.css('visibility', 'hidden'); + } + } + } + // Container setting + else { + + var detect = function () { + + var windowTop = $(window).scrollTop(); + var tableTop = that.$table.offset().top - 1; + + // Detect Current container's top is in the table scope + if (tableTop <= windowTop && (tableTop + that.$table.outerHeight() - 1) >= windowTop && that.$tableWrapper.scrollLeft() > 0) { + + that.$columnHeadTableWrap.offset({top: windowTop}); + that.$columnHeadTableWrap.css('visibility', 'visible'); + + } else { + + that.$columnHeadTableWrap.css('visibility', 'hidden'); + } + } + } + + /** + * Listener - Window scroll for effecting Freeze column-head table + */ + this.$container.on('scroll.'+this.namespace, function() { + + detect(); + }); + + /** + * Listener - Table scroll for effecting Freeze column-head table + */ + this.$tableWrapper.on('scroll.'+this.namespace, function() { + + // Disable while isWindowScrollX + if (that.isWindowScrollX) + return; + + detect(); + }); + + /** + * Listener - Window resize for effecting freeze column-head table + */ + this.$container.on('resize.'+this.namespace, function() { + + // Table synchronism + that.$columnHeadTableWrap.find("> table").css('width', that.$table.width()); + that.$columnHeadTableWrap.css('width', that.$columnTableWrap.width()); + that.$columnHeadTableWrap.css('height', that.$table.find("thead").outerHeight()); + }); + } + + /** + * Freeze scroll bar + */ + FreezeTable.prototype.buildScrollBar = function() { + + var that = this; + + var theadHeight = this.$table.find("thead").outerHeight(); + + // Scroll wrap container + var $scrollBarContainer = $('<div class="'+this.scrollBarWrapClass+'"></div>') + .css('width', this.$table.width()) + .css('height', 1); + + // Wrap the Fixed Column table + this.$scrollBarWrap = $('<div class="'+this.scrollBarWrapClass+'"></div>') + .css('position', 'fixed') + .css('overflow-x', 'scroll') + .css('visibility', 'hidden') + .css('bottom', 0) + .css('z-index', 2) + .css('width', this.$tableWrapper.width()) + .css('height', this.scrollBarHeight); + + // Add into target table wrap + this.$scrollBarWrap.append($scrollBarContainer); + this.$tableWrapper.append(this.$scrollBarWrap); + + /** + * Listener - Freeze scroll bar effected Table + */ + this.$scrollBarWrap.on('scroll.'+this.namespace, function() { + + that.$tableWrapper.scrollLeft($(this).scrollLeft()); + }); + + /** + * Listener - Table scroll for effecting Freeze scroll bar + */ + this.$tableWrapper.on('scroll.'+this.namespace, function() { + + // this.$headTableWrap.css('left', $table.offset().left); + that.$scrollBarWrap.scrollLeft($(this).scrollLeft()); + }); + + /** + * Listener - Window scroll for effecting scroll bar + */ + this.$container.on('scroll.'+this.namespace, function() { + + // Current container's top position + var bottomPosition = that.$container.scrollTop() + that.$container.height() - theadHeight + that.fixedNavbarHeight; + + // Detect Current container's top is in the table scope + if (that.$table.offset().top - 1 <= bottomPosition && (that.$table.offset().top + that.$table.outerHeight() - 1) >= bottomPosition) { + + that.$scrollBarWrap.css('visibility', 'visible'); + + } else { + + that.$scrollBarWrap.css('visibility', 'hidden'); + } + }); + + /** + * Listener - Window resize for effecting scroll bar + */ + this.$container.on('resize.'+this.namespace, function() { + + // Update width + $scrollBarContainer.css('width', that.$table.width()) + // Update Wrap + that.$scrollBarWrap.css('width', that.$tableWrapper.width()); + }); + } + + /** + * Clone element + * + * @param {element} element + */ + FreezeTable.prototype.clone = function (element) { + + var $clone = $(element).clone() + .removeAttr('id') // Remove ID + + // Bootstrap background-color transparent problem + if (this.backgroundColor) { + $clone.css('background-color', this.backgroundColor); + } + + return $clone; + } + + /** + * simplify cloned head table + * + * @param {element} table Table element + */ + FreezeTable.prototype.simplifyHead = function (table) { + + var that = this; + + var $headTable = $(table); + // Remove non-display DOM but keeping first row for accuracy + $headTable.find("> tr, > tbody > tr, tfoot > tr").not(':first').remove(); + // Each th/td width synchronism + $.each($headTable.find("> thead > tr:nth-child(1) >"), function (key, value) { + + var width = that.$table.find("> thead > tr:nth-child(1) > :nth-child("+parseInt(key+1)+")").outerWidth(); + $(this).css('width', width); + }); + + return $headTable; + } + + /** + * Detect is already initialized + */ + FreezeTable.prototype.isInit = function() { + + // Check existence DOM + if (this.$tableWrapper.find("."+this.headWrapClass).length) + return true; + if (this.$tableWrapper.find("."+this.columnWrapClass).length) + return true; + if (this.$tableWrapper.find("."+this.columnHeadWrapClass).length) + return true; + if (this.$tableWrapper.find("."+this.scrollBarWrapClass).length) + return true; + + return false; + + } + + /** + * Unbind all events by same namespace + */ + FreezeTable.prototype.unbind = function() { + + this.$container.off('resize.'+this.namespace); + this.$container.off('scroll.'+this.namespace); + this.$tableWrapper.off('scroll.'+this.namespace); + } + + /** + * Destroy Freeze Table by same namespace + */ + FreezeTable.prototype.destroy = function() { + + this.unbind(); + this.$tableWrapper.find("."+this.headWrapClass).remove(); + this.$tableWrapper.find("."+this.columnWrapClass).remove(); + this.$tableWrapper.find("."+this.columnHeadWrapClass).remove(); + this.$tableWrapper.find("."+this.scrollBarWrapClass).remove(); + } + + /** + * Resize trigger for current same namespace + */ + FreezeTable.prototype.resize = function() { + + this.$container.trigger('resize.'+this.namespace); + this.$container.trigger('scroll.'+this.namespace); + this.$tableWrapper.trigger('scroll.'+this.namespace); + + return true; + } + + /** + * Update for Dynamic Content + */ + FreezeTable.prototype.update = function() { + + // Same as re-new object + this.options = 'update'; + this.init(); + return this; + } + + /** + * Interface + */ + // Class for single element + window.FreezeTable = FreezeTable; + // jQuery interface + $.fn.freezeTable = function (options) { + + // Single/Multiple mode + if (this.length === 1) { + + return new FreezeTable(this, options) + } + else if (this.length > 1) { + + var result = []; + // Multiple elements bundle + this.each(function () { + result.push(new FreezeTable(this, options)); + }); + + return result; + } + + return false; + } + +})(jQuery, window); Property changes on: base3.10/src/main/webapp/js/com/freeze-table.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/slick.js =================================================================== --- base3.10/src/main/webapp/js/com/slick.js (nonexistent) +++ base3.10/src/main/webapp/js/com/slick.js (revision 7) @@ -0,0 +1,3011 @@ +/* + _ _ _ _ + ___| (_) ___| | __ (_)___ +/ __| | |/ __| |/ / | / __| +\__ \ | | (__| < _ | \__ \ +|___/_|_|\___|_|\_(_)/ |___/ + |__/ + + Version: 1.8.0 + Author: Ken Wheeler + Website: http://kenwheeler.github.io + Docs: http://kenwheeler.github.io/slick + Repo: http://github.com/kenwheeler/slick + Issues: http://github.com/kenwheeler/slick/issues + + */ +/* global window, document, define, jQuery, setInterval, clearInterval */ +;(function(factory) { + 'use strict'; + if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } else if (typeof exports !== 'undefined') { + module.exports = factory(require('jquery')); + } else { + factory(jQuery); + } + +}(function($) { + 'use strict'; + var Slick = window.Slick || {}; + + Slick = (function() { + + var instanceUid = 0; + + function Slick(element, settings) { + + var _ = this, dataSettings; + + _.defaults = { + accessibility: true, + adaptiveHeight: false, + appendArrows: $(element), + appendDots: $(element), + arrows: true, + asNavFor: null, + prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>', + nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>', + autoplay: false, + autoplaySpeed: 3000, + centerMode: false, + centerPadding: '50px', + cssEase: 'ease', + customPaging: function(slider, i) { + return $('<a>').text(i + 1); + }, + dots: false, + dotsClass: 'slick-dots', + draggable: true, + easing: 'linear', + edgeFriction: 0.35, + fade: false, + focusOnSelect: false, + focusOnChange: false, + infinite: true, + initialSlide: 0, + lazyLoad: 'ondemand', + mobileFirst: false, + pauseOnHover: true, + pauseOnFocus: true, + pauseOnDotsHover: false, + respondTo: 'window', + responsive: null, + rows: 1, + rtl: false, + slide: '', + slidesPerRow: 1, + slidesToShow: 1, + slidesToScroll: 1, + speed: 500, + swipe: true, + swipeToSlide: false, + touchMove: true, + touchThreshold: 5, + useCSS: true, + useTransform: true, + variableWidth: false, + vertical: false, + verticalSwiping: false, + waitForAnimate: true, + zIndex: 1000 + }; + + _.initials = { + animating: false, + dragging: false, + autoPlayTimer: null, + currentDirection: 0, + currentLeft: null, + currentSlide: 0, + direction: 1, + $dots: null, + listWidth: null, + listHeight: null, + loadIndex: 0, + $nextArrow: null, + $prevArrow: null, + scrolling: false, + slideCount: null, + slideWidth: null, + $slideTrack: null, + $slides: null, + sliding: false, + slideOffset: 0, + swipeLeft: null, + swiping: false, + $list: null, + touchObject: {}, + transformsEnabled: false, + unslicked: false + }; + + $.extend(_, _.initials); + + _.activeBreakpoint = null; + _.animType = null; + _.animProp = null; + _.breakpoints = []; + _.breakpointSettings = []; + _.cssTransitions = false; + _.focussed = false; + _.interrupted = false; + _.hidden = 'hidden'; + _.paused = true; + _.positionProp = null; + _.respondTo = null; + _.rowCount = 1; + _.shouldClick = true; + _.$slider = $(element); + _.$slidesCache = null; + _.transformType = null; + _.transitionType = null; + _.visibilityChange = 'visibilitychange'; + _.windowWidth = 0; + _.windowTimer = null; + + dataSettings = $(element).data('slick') || {}; + + _.options = $.extend({}, _.defaults, settings, dataSettings); + + _.currentSlide = _.options.initialSlide; + + _.originalSettings = _.options; + + if (typeof document.mozHidden !== 'undefined') { + _.hidden = 'mozHidden'; + _.visibilityChange = 'mozvisibilitychange'; + } else if (typeof document.webkitHidden !== 'undefined') { + _.hidden = 'webkitHidden'; + _.visibilityChange = 'webkitvisibilitychange'; + } + + _.autoPlay = $.proxy(_.autoPlay, _); + _.autoPlayClear = $.proxy(_.autoPlayClear, _); + _.autoPlayIterator = $.proxy(_.autoPlayIterator, _); + _.changeSlide = $.proxy(_.changeSlide, _); + _.clickHandler = $.proxy(_.clickHandler, _); + _.selectHandler = $.proxy(_.selectHandler, _); + _.setPosition = $.proxy(_.setPosition, _); + _.swipeHandler = $.proxy(_.swipeHandler, _); + _.dragHandler = $.proxy(_.dragHandler, _); + _.keyHandler = $.proxy(_.keyHandler, _); + + _.instanceUid = instanceUid++; + + // A simple way to check for HTML strings + // Strict HTML recognition (must start with <) + // Extracted from jQuery v1.11 source + _.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/; + + + _.registerBreakpoints(); + _.init(true); + + } + + return Slick; + + }()); + + Slick.prototype.activateADA = function() { + var _ = this; + + _.$slideTrack.find('.slick-active').attr({ + 'aria-hidden': 'false' + }).find('a, input, button, select').attr({ + 'tabindex': '0' + }); + + }; + + Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) { + + var _ = this; + + if (typeof(index) === 'boolean') { + addBefore = index; + index = null; + } else if (index < 0 || (index >= _.slideCount)) { + return false; + } + + _.unload(); + + if (typeof(index) === 'number') { + if (index === 0 && _.$slides.length === 0) { + $(markup).appendTo(_.$slideTrack); + } else if (addBefore) { + $(markup).insertBefore(_.$slides.eq(index)); + } else { + $(markup).insertAfter(_.$slides.eq(index)); + } + } else { + if (addBefore === true) { + $(markup).prependTo(_.$slideTrack); + } else { + $(markup).appendTo(_.$slideTrack); + } + } + + _.$slides = _.$slideTrack.children(this.options.slide); + + _.$slideTrack.children(this.options.slide).detach(); + + _.$slideTrack.append(_.$slides); + + _.$slides.each(function(index, element) { + $(element).attr('data-slick-index', index); + }); + + _.$slidesCache = _.$slides; + + _.reinit(); + + }; + + Slick.prototype.animateHeight = function() { + var _ = this; + if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) { + var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true); + _.$list.animate({ + height: targetHeight + }, _.options.speed); + } + }; + + Slick.prototype.animateSlide = function(targetLeft, callback) { + + var animProps = {}, + _ = this; + + _.animateHeight(); + + if (_.options.rtl === true && _.options.vertical === false) { + targetLeft = -targetLeft; + } + if (_.transformsEnabled === false) { + if (_.options.vertical === false) { + _.$slideTrack.animate({ + left: targetLeft + }, _.options.speed, _.options.easing, callback); + } else { + _.$slideTrack.animate({ + top: targetLeft + }, _.options.speed, _.options.easing, callback); + } + + } else { + + if (_.cssTransitions === false) { + if (_.options.rtl === true) { + _.currentLeft = -(_.currentLeft); + } + $({ + animStart: _.currentLeft + }).animate({ + animStart: targetLeft + }, { + duration: _.options.speed, + easing: _.options.easing, + step: function(now) { + now = Math.ceil(now); + if (_.options.vertical === false) { + animProps[_.animType] = 'translate(' + + now + 'px, 0px)'; + _.$slideTrack.css(animProps); + } else { + animProps[_.animType] = 'translate(0px,' + + now + 'px)'; + _.$slideTrack.css(animProps); + } + }, + complete: function() { + if (callback) { + callback.call(); + } + } + }); + + } else { + + _.applyTransition(); + targetLeft = Math.ceil(targetLeft); + + if (_.options.vertical === false) { + animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)'; + } else { + animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)'; + } + _.$slideTrack.css(animProps); + + if (callback) { + setTimeout(function() { + + _.disableTransition(); + + callback.call(); + }, _.options.speed); + } + + } + + } + + }; + + Slick.prototype.getNavTarget = function() { + + var _ = this, + asNavFor = _.options.asNavFor; + + if ( asNavFor && asNavFor !== null ) { + asNavFor = $(asNavFor).not(_.$slider); + } + + return asNavFor; + + }; + + Slick.prototype.asNavFor = function(index) { + + var _ = this, + asNavFor = _.getNavTarget(); + + if ( asNavFor !== null && typeof asNavFor === 'object' ) { + asNavFor.each(function() { + var target = $(this).slick('getSlick'); + if(!target.unslicked) { + target.slideHandler(index, true); + } + }); + } + + }; + + Slick.prototype.applyTransition = function(slide) { + + var _ = this, + transition = {}; + + if (_.options.fade === false) { + transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase; + } else { + transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase; + } + + if (_.options.fade === false) { + _.$slideTrack.css(transition); + } else { + _.$slides.eq(slide).css(transition); + } + + }; + + Slick.prototype.autoPlay = function() { + + var _ = this; + + _.autoPlayClear(); + + if ( _.slideCount > _.options.slidesToShow ) { + _.autoPlayTimer = setInterval( _.autoPlayIterator, _.options.autoplaySpeed ); + } + + }; + + Slick.prototype.autoPlayClear = function() { + + var _ = this; + + if (_.autoPlayTimer) { + clearInterval(_.autoPlayTimer); + } + + }; + + Slick.prototype.autoPlayIterator = function() { + + var _ = this, + slideTo = _.currentSlide + _.options.slidesToScroll; + + if ( !_.paused && !_.interrupted && !_.focussed ) { + + if ( _.options.infinite === false ) { + + if ( _.direction === 1 && ( _.currentSlide + 1 ) === ( _.slideCount - 1 )) { + _.direction = 0; + } + + else if ( _.direction === 0 ) { + + slideTo = _.currentSlide - _.options.slidesToScroll; + + if ( _.currentSlide - 1 === 0 ) { + _.direction = 1; + } + + } + + } + + _.slideHandler( slideTo ); + + } + + }; + + Slick.prototype.buildArrows = function() { + + var _ = this; + + if (_.options.arrows === true ) { + + _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow'); + _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow'); + + if( _.slideCount > _.options.slidesToShow ) { + + _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'); + _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex'); + + if (_.htmlExpr.test(_.options.prevArrow)) { + _.$prevArrow.prependTo(_.options.appendArrows); + } + + if (_.htmlExpr.test(_.options.nextArrow)) { + _.$nextArrow.appendTo(_.options.appendArrows); + } + + if (_.options.infinite !== true) { + _.$prevArrow + .addClass('slick-disabled') + .attr('aria-disabled', 'true'); + } + + } else { + + _.$prevArrow.add( _.$nextArrow ) + + .addClass('slick-hidden') + .attr({ + 'aria-disabled': 'true', + 'tabindex': '-1' + }); + + } + + } + + }; + + Slick.prototype.buildDots = function() { + + var _ = this, + i, dot; + + if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { + + _.$slider.addClass('slick-dotted'); + + dot = $('<ul />').addClass(_.options.dotsClass); + + for (i = 0; i <= _.getDotCount(); i += 1) { + dot.append($('<li />').append(_.options.customPaging.call(this, _, i))); + } + + _.$dots = dot.appendTo(_.options.appendDots); + + _.$dots.find('li').first().addClass('slick-active'); + + } + + }; + + Slick.prototype.buildOut = function() { + + var _ = this; + + _.$slides = + _.$slider + .children( _.options.slide + ':not(.slick-cloned)') + .addClass('slick-slide'); + + _.slideCount = _.$slides.length; + + _.$slides.each(function(index, element) { + $(element) + .attr('data-slick-index', index) + .data('originalStyling', $(element).attr('style') || ''); + }); + + _.$slider.addClass('slick-slider'); + + _.$slideTrack = (_.slideCount === 0) ? + $('<div class="slick-track"/>').appendTo(_.$slider) : + _.$slides.wrapAll('<div class="slick-track"/>').parent(); + + _.$list = _.$slideTrack.wrap( + '<div class="slick-list"/>').parent(); + _.$slideTrack.css('opacity', 0); + + if (_.options.centerMode === true || _.options.swipeToSlide === true) { + _.options.slidesToScroll = 1; + } + + $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading'); + + _.setupInfinite(); + + _.buildArrows(); + + _.buildDots(); + + _.updateDots(); + + + _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0); + + if (_.options.draggable === true) { + _.$list.addClass('draggable'); + } + + }; + + Slick.prototype.buildRows = function() { + + var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection; + + newSlides = document.createDocumentFragment(); + originalSlides = _.$slider.children(); + + if(_.options.rows > 0) { + + slidesPerSection = _.options.slidesPerRow * _.options.rows; + numOfSlides = Math.ceil( + originalSlides.length / slidesPerSection + ); + + for(a = 0; a < numOfSlides; a++){ + var slide = document.createElement('div'); + for(b = 0; b < _.options.rows; b++) { + var row = document.createElement('div'); + for(c = 0; c < _.options.slidesPerRow; c++) { + var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c)); + if (originalSlides.get(target)) { + row.appendChild(originalSlides.get(target)); + } + } + slide.appendChild(row); + } + newSlides.appendChild(slide); + } + + _.$slider.empty().append(newSlides); + _.$slider.children().children().children() + .css({ + 'width':(100 / _.options.slidesPerRow) + '%', + 'display': 'inline-block' + }); + + } + + }; + + Slick.prototype.checkResponsive = function(initial, forceUpdate) { + + var _ = this, + breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false; + var sliderWidth = _.$slider.width(); + var windowWidth = window.innerWidth || $(window).width(); + + if (_.respondTo === 'window') { + respondToWidth = windowWidth; + } else if (_.respondTo === 'slider') { + respondToWidth = sliderWidth; + } else if (_.respondTo === 'min') { + respondToWidth = Math.min(windowWidth, sliderWidth); + } + + if ( _.options.responsive && + _.options.responsive.length && + _.options.responsive !== null) { + + targetBreakpoint = null; + + for (breakpoint in _.breakpoints) { + if (_.breakpoints.hasOwnProperty(breakpoint)) { + if (_.originalSettings.mobileFirst === false) { + if (respondToWidth < _.breakpoints[breakpoint]) { + targetBreakpoint = _.breakpoints[breakpoint]; + } + } else { + if (respondToWidth > _.breakpoints[breakpoint]) { + targetBreakpoint = _.breakpoints[breakpoint]; + } + } + } + } + + if (targetBreakpoint !== null) { + if (_.activeBreakpoint !== null) { + if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) { + _.activeBreakpoint = + targetBreakpoint; + if (_.breakpointSettings[targetBreakpoint] === 'unslick') { + _.unslick(targetBreakpoint); + } else { + _.options = $.extend({}, _.originalSettings, + _.breakpointSettings[ + targetBreakpoint]); + if (initial === true) { + _.currentSlide = _.options.initialSlide; + } + _.refresh(initial); + } + triggerBreakpoint = targetBreakpoint; + } + } else { + _.activeBreakpoint = targetBreakpoint; + if (_.breakpointSettings[targetBreakpoint] === 'unslick') { + _.unslick(targetBreakpoint); + } else { + _.options = $.extend({}, _.originalSettings, + _.breakpointSettings[ + targetBreakpoint]); + if (initial === true) { + _.currentSlide = _.options.initialSlide; + } + _.refresh(initial); + } + triggerBreakpoint = targetBreakpoint; + } + } else { + if (_.activeBreakpoint !== null) { + _.activeBreakpoint = null; + _.options = _.originalSettings; + if (initial === true) { + _.currentSlide = _.options.initialSlide; + } + _.refresh(initial); + triggerBreakpoint = targetBreakpoint; + } + } + + // only trigger breakpoints during an actual break. not on initialize. + if( !initial && triggerBreakpoint !== false ) { + _.$slider.trigger('breakpoint', [_, triggerBreakpoint]); + } + } + + }; + + Slick.prototype.changeSlide = function(event, dontAnimate) { + + var _ = this, + $target = $(event.currentTarget), + indexOffset, slideOffset, unevenOffset; + + // If target is a link, prevent default action. + if($target.is('a')) { + event.preventDefault(); + } + + // If target is not the <li> element (ie: a child), find the <li>. + if(!$target.is('li')) { + $target = $target.closest('li'); + } + + unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0); + indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll; + + switch (event.data.message) { + + case 'previous': + slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset; + if (_.slideCount > _.options.slidesToShow) { + _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate); + } + break; + + case 'next': + slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset; + if (_.slideCount > _.options.slidesToShow) { + _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate); + } + break; + + case 'index': + var index = event.data.index === 0 ? 0 : + event.data.index || $target.index() * _.options.slidesToScroll; + + _.slideHandler(_.checkNavigable(index), false, dontAnimate); + $target.children().trigger('focus'); + break; + + default: + return; + } + + }; + + Slick.prototype.checkNavigable = function(index) { + + var _ = this, + navigables, prevNavigable; + + navigables = _.getNavigableIndexes(); + prevNavigable = 0; + if (index > navigables[navigables.length - 1]) { + index = navigables[navigables.length - 1]; + } else { + for (var n in navigables) { + if (index < navigables[n]) { + index = prevNavigable; + break; + } + prevNavigable = navigables[n]; + } + } + + return index; + }; + + Slick.prototype.cleanUpEvents = function() { + + var _ = this; + + if (_.options.dots && _.$dots !== null) { + + $('li', _.$dots) + .off('click.slick', _.changeSlide) + .off('mouseenter.slick', $.proxy(_.interrupt, _, true)) + .off('mouseleave.slick', $.proxy(_.interrupt, _, false)); + + if (_.options.accessibility === true) { + _.$dots.off('keydown.slick', _.keyHandler); + } + } + + _.$slider.off('focus.slick blur.slick'); + + if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { + _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide); + _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide); + + if (_.options.accessibility === true) { + _.$prevArrow && _.$prevArrow.off('keydown.slick', _.keyHandler); + _.$nextArrow && _.$nextArrow.off('keydown.slick', _.keyHandler); + } + } + + _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler); + _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler); + _.$list.off('touchend.slick mouseup.slick', _.swipeHandler); + _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler); + + _.$list.off('click.slick', _.clickHandler); + + $(document).off(_.visibilityChange, _.visibility); + + _.cleanUpSlideEvents(); + + if (_.options.accessibility === true) { + _.$list.off('keydown.slick', _.keyHandler); + } + + if (_.options.focusOnSelect === true) { + $(_.$slideTrack).children().off('click.slick', _.selectHandler); + } + + $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange); + + $(window).off('resize.slick.slick-' + _.instanceUid, _.resize); + + $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault); + + $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition); + + }; + + Slick.prototype.cleanUpSlideEvents = function() { + + var _ = this; + + _.$list.off('mouseenter.slick', $.proxy(_.interrupt, _, true)); + _.$list.off('mouseleave.slick', $.proxy(_.interrupt, _, false)); + + }; + + Slick.prototype.cleanUpRows = function() { + + var _ = this, originalSlides; + + if(_.options.rows > 0) { + originalSlides = _.$slides.children().children(); + originalSlides.removeAttr('style'); + _.$slider.empty().append(originalSlides); + } + + }; + + Slick.prototype.clickHandler = function(event) { + + var _ = this; + + if (_.shouldClick === false) { + event.stopImmediatePropagation(); + event.stopPropagation(); + event.preventDefault(); + } + + }; + + Slick.prototype.destroy = function(refresh) { + + var _ = this; + + _.autoPlayClear(); + + _.touchObject = {}; + + _.cleanUpEvents(); + + $('.slick-cloned', _.$slider).detach(); + + if (_.$dots) { + _.$dots.remove(); + } + + if ( _.$prevArrow && _.$prevArrow.length ) { + + _.$prevArrow + .removeClass('slick-disabled slick-arrow slick-hidden') + .removeAttr('aria-hidden aria-disabled tabindex') + .css('display',''); + + if ( _.htmlExpr.test( _.options.prevArrow )) { + _.$prevArrow.remove(); + } + } + + if ( _.$nextArrow && _.$nextArrow.length ) { + + _.$nextArrow + .removeClass('slick-disabled slick-arrow slick-hidden') + .removeAttr('aria-hidden aria-disabled tabindex') + .css('display',''); + + if ( _.htmlExpr.test( _.options.nextArrow )) { + _.$nextArrow.remove(); + } + } + + + if (_.$slides) { + + _.$slides + .removeClass('slick-slide slick-active slick-center slick-visible slick-current') + .removeAttr('aria-hidden') + .removeAttr('data-slick-index') + .each(function(){ + $(this).attr('style', $(this).data('originalStyling')); + }); + + _.$slideTrack.children(this.options.slide).detach(); + + _.$slideTrack.detach(); + + _.$list.detach(); + + _.$slider.append(_.$slides); + } + + _.cleanUpRows(); + + _.$slider.removeClass('slick-slider'); + _.$slider.removeClass('slick-initialized'); + _.$slider.removeClass('slick-dotted'); + + _.unslicked = true; + + if(!refresh) { + _.$slider.trigger('destroy', [_]); + } + + }; + + Slick.prototype.disableTransition = function(slide) { + + var _ = this, + transition = {}; + + transition[_.transitionType] = ''; + + if (_.options.fade === false) { + _.$slideTrack.css(transition); + } else { + _.$slides.eq(slide).css(transition); + } + + }; + + Slick.prototype.fadeSlide = function(slideIndex, callback) { + + var _ = this; + + if (_.cssTransitions === false) { + + _.$slides.eq(slideIndex).css({ + zIndex: _.options.zIndex + }); + + _.$slides.eq(slideIndex).animate({ + opacity: 1 + }, _.options.speed, _.options.easing, callback); + + } else { + + _.applyTransition(slideIndex); + + _.$slides.eq(slideIndex).css({ + opacity: 1, + zIndex: _.options.zIndex + }); + + if (callback) { + setTimeout(function() { + + _.disableTransition(slideIndex); + + callback.call(); + }, _.options.speed); + } + + } + + }; + + Slick.prototype.fadeSlideOut = function(slideIndex) { + + var _ = this; + + if (_.cssTransitions === false) { + + _.$slides.eq(slideIndex).animate({ + opacity: 0, + zIndex: _.options.zIndex - 2 + }, _.options.speed, _.options.easing); + + } else { + + _.applyTransition(slideIndex); + + _.$slides.eq(slideIndex).css({ + opacity: 0, + zIndex: _.options.zIndex - 2 + }); + + } + + }; + + Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) { + + var _ = this; + + if (filter !== null) { + + _.$slidesCache = _.$slides; + + _.unload(); + + _.$slideTrack.children(this.options.slide).detach(); + + _.$slidesCache.filter(filter).appendTo(_.$slideTrack); + + _.reinit(); + + } + + }; + + Slick.prototype.focusHandler = function() { + + var _ = this; + + _.$slider + .off('focus.slick blur.slick') + .on('focus.slick blur.slick', '*', function(event) { + + event.stopImmediatePropagation(); + var $sf = $(this); + + setTimeout(function() { + + if( _.options.pauseOnFocus ) { + _.focussed = $sf.is(':focus'); + _.autoPlay(); + } + + }, 0); + + }); + }; + + Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() { + + var _ = this; + return _.currentSlide; + + }; + + Slick.prototype.getDotCount = function() { + + var _ = this; + + var breakPoint = 0; + var counter = 0; + var pagerQty = 0; + + if (_.options.infinite === true) { + if (_.slideCount <= _.options.slidesToShow) { + ++pagerQty; + } else { + while (breakPoint < _.slideCount) { + ++pagerQty; + breakPoint = counter + _.options.slidesToScroll; + counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; + } + } + } else if (_.options.centerMode === true) { + pagerQty = _.slideCount; + } else if(!_.options.asNavFor) { + pagerQty = 1 + Math.ceil((_.slideCount - _.options.slidesToShow) / _.options.slidesToScroll); + }else { + while (breakPoint < _.slideCount) { + ++pagerQty; + breakPoint = counter + _.options.slidesToScroll; + counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; + } + } + + return pagerQty - 1; + + }; + + Slick.prototype.getLeft = function(slideIndex) { + + var _ = this, + targetLeft, + verticalHeight, + verticalOffset = 0, + targetSlide, + coef; + + _.slideOffset = 0; + verticalHeight = _.$slides.first().outerHeight(true); + + if (_.options.infinite === true) { + if (_.slideCount > _.options.slidesToShow) { + _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1; + coef = -1 + + if (_.options.vertical === true && _.options.centerMode === true) { + if (_.options.slidesToShow === 2) { + coef = -1.5; + } else if (_.options.slidesToShow === 1) { + coef = -2 + } + } + verticalOffset = (verticalHeight * _.options.slidesToShow) * coef; + } + if (_.slideCount % _.options.slidesToScroll !== 0) { + if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) { + if (slideIndex > _.slideCount) { + _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1; + verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1; + } else { + _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1; + verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1; + } + } + } + } else { + if (slideIndex + _.options.slidesToShow > _.slideCount) { + _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth; + verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight; + } + } + + if (_.slideCount <= _.options.slidesToShow) { + _.slideOffset = 0; + verticalOffset = 0; + } + + if (_.options.centerMode === true && _.slideCount <= _.options.slidesToShow) { + _.slideOffset = ((_.slideWidth * Math.floor(_.options.slidesToShow)) / 2) - ((_.slideWidth * _.slideCount) / 2); + } else if (_.options.centerMode === true && _.options.infinite === true) { + _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth; + } else if (_.options.centerMode === true) { + _.slideOffset = 0; + _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2); + } + + if (_.options.vertical === false) { + targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset; + } else { + targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset; + } + + if (_.options.variableWidth === true) { + + if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) { + targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex); + } else { + targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow); + } + + if (_.options.rtl === true) { + if (targetSlide[0]) { + targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1; + } else { + targetLeft = 0; + } + } else { + targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0; + } + + if (_.options.centerMode === true) { + if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) { + targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex); + } else { + targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1); + } + + if (_.options.rtl === true) { + if (targetSlide[0]) { + targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1; + } else { + targetLeft = 0; + } + } else { + targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0; + } + + targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2; + } + } + + return targetLeft; + + }; + + Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) { + + var _ = this; + + return _.options[option]; + + }; + + Slick.prototype.getNavigableIndexes = function() { + + var _ = this, + breakPoint = 0, + counter = 0, + indexes = [], + max; + + if (_.options.infinite === false) { + max = _.slideCount; + } else { + breakPoint = _.options.slidesToScroll * -1; + counter = _.options.slidesToScroll * -1; + max = _.slideCount * 2; + } + + while (breakPoint < max) { + indexes.push(breakPoint); + breakPoint = counter + _.options.slidesToScroll; + counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow; + } + + return indexes; + + }; + + Slick.prototype.getSlick = function() { + + return this; + + }; + + Slick.prototype.getSlideCount = function() { + + var _ = this, + slidesTraversed, swipedSlide, centerOffset; + + centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0; + + if (_.options.swipeToSlide === true) { + _.$slideTrack.find('.slick-slide').each(function(index, slide) { + if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) { + swipedSlide = slide; + return false; + } + }); + + slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1; + + return slidesTraversed; + + } else { + return _.options.slidesToScroll; + } + + }; + + Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) { + + var _ = this; + + _.changeSlide({ + data: { + message: 'index', + index: parseInt(slide) + } + }, dontAnimate); + + }; + + Slick.prototype.init = function(creation) { + + var _ = this; + + if (!$(_.$slider).hasClass('slick-initialized')) { + + $(_.$slider).addClass('slick-initialized'); + + _.buildRows(); + _.buildOut(); + _.setProps(); + _.startLoad(); + _.loadSlider(); + _.initializeEvents(); + _.updateArrows(); + _.updateDots(); + _.checkResponsive(true); + _.focusHandler(); + + } + + if (creation) { + _.$slider.trigger('init', [_]); + } + + if (_.options.accessibility === true) { + _.initADA(); + } + + if ( _.options.autoplay ) { + + _.paused = false; + _.autoPlay(); + + } + + }; + + Slick.prototype.initADA = function() { + var _ = this, + numDotGroups = Math.ceil(_.slideCount / _.options.slidesToShow), + tabControlIndexes = _.getNavigableIndexes().filter(function(val) { + return (val >= 0) && (val < _.slideCount); + }); + + _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({ + 'aria-hidden': 'true', + 'tabindex': '-1' + }).find('a, input, button, select').attr({ + 'tabindex': '-1' + }); + + if (_.$dots !== null) { + _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) { + var slideControlIndex = tabControlIndexes.indexOf(i); + + $(this).attr({ + 'role': 'tabpanel', + 'id': 'slick-slide' + _.instanceUid + i, + 'tabindex': -1 + }); + + if (slideControlIndex !== -1) { + var ariaButtonControl = 'slick-slide-control' + _.instanceUid + slideControlIndex + if ($('#' + ariaButtonControl).length) { + $(this).attr({ + 'aria-describedby': ariaButtonControl + }); + } + } + }); + + _.$dots.attr('role', 'tablist').find('li').each(function(i) { + var mappedSlideIndex = tabControlIndexes[i]; + + $(this).attr({ + 'role': 'presentation' + }); + + $(this).find('a').first().attr({ + 'role': 'tab', + 'id': 'slick-slide-control' + _.instanceUid + i, + 'aria-controls': 'slick-slide' + _.instanceUid + mappedSlideIndex, + 'aria-label': (i + 1) + ' of ' + numDotGroups, + 'aria-selected': null, + 'tabindex': '0' + }); + + }).eq(_.currentSlide).find('a').attr({ + 'aria-selected': 'true', + 'tabindex': '0' + }).end(); + } + + for (var i=_.currentSlide, max=i+_.options.slidesToShow; i < max; i++) { + if (_.options.focusOnChange) { + _.$slides.eq(i).attr({'tabindex': '0'}); + } else { + _.$slides.eq(i).removeAttr('tabindex'); + } + } + + _.activateADA(); + + }; + + Slick.prototype.initArrowEvents = function() { + + var _ = this; + + if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { + _.$prevArrow + .off('click.slick') + .on('click.slick', { + message: 'previous' + }, _.changeSlide); + _.$nextArrow + .off('click.slick') + .on('click.slick', { + message: 'next' + }, _.changeSlide); + + if (_.options.accessibility === true) { + _.$prevArrow.on('keydown.slick', _.keyHandler); + _.$nextArrow.on('keydown.slick', _.keyHandler); + } + } + + }; + + Slick.prototype.initDotEvents = function() { + + var _ = this; + + if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { + $('li', _.$dots).on('click.slick', { + message: 'index' + }, _.changeSlide); + + if (_.options.accessibility === true) { + _.$dots.on('keydown.slick', _.keyHandler); + } + } + + if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.slideCount > _.options.slidesToShow) { + + $('li', _.$dots) + .on('mouseenter.slick', $.proxy(_.interrupt, _, true)) + .on('mouseleave.slick', $.proxy(_.interrupt, _, false)); + + } + + }; + + Slick.prototype.initSlideEvents = function() { + + var _ = this; + + if ( _.options.pauseOnHover ) { + + _.$list.on('mouseenter.slick', $.proxy(_.interrupt, _, true)); + _.$list.on('mouseleave.slick', $.proxy(_.interrupt, _, false)); + + } + + }; + + Slick.prototype.initializeEvents = function() { + + var _ = this; + + _.initArrowEvents(); + + _.initDotEvents(); + _.initSlideEvents(); + + _.$list.on('touchstart.slick mousedown.slick', { + action: 'start' + }, _.swipeHandler); + _.$list.on('touchmove.slick mousemove.slick', { + action: 'move' + }, _.swipeHandler); + _.$list.on('touchend.slick mouseup.slick', { + action: 'end' + }, _.swipeHandler); + _.$list.on('touchcancel.slick mouseleave.slick', { + action: 'end' + }, _.swipeHandler); + + _.$list.on('click.slick', _.clickHandler); + + $(document).on(_.visibilityChange, $.proxy(_.visibility, _)); + + if (_.options.accessibility === true) { + _.$list.on('keydown.slick', _.keyHandler); + } + + if (_.options.focusOnSelect === true) { + $(_.$slideTrack).children().on('click.slick', _.selectHandler); + } + + $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _)); + + $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _)); + + $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault); + + $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition); + $(_.setPosition); + + }; + + Slick.prototype.initUI = function() { + + var _ = this; + + if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { + + _.$prevArrow.show(); + _.$nextArrow.show(); + + } + + if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { + + _.$dots.show(); + + } + + }; + + Slick.prototype.keyHandler = function(event) { + + var _ = this; + //Dont slide if the cursor is inside the form fields and arrow keys are pressed + if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) { + if (event.keyCode === 37 && _.options.accessibility === true) { + _.changeSlide({ + data: { + message: _.options.rtl === true ? 'next' : 'previous' + } + }); + } else if (event.keyCode === 39 && _.options.accessibility === true) { + _.changeSlide({ + data: { + message: _.options.rtl === true ? 'previous' : 'next' + } + }); + } + } + + }; + + Slick.prototype.lazyLoad = function() { + + var _ = this, + loadRange, cloneRange, rangeStart, rangeEnd; + + function loadImages(imagesScope) { + + $('img[data-lazy]', imagesScope).each(function() { + + var image = $(this), + imageSource = $(this).attr('data-lazy'), + imageSrcSet = $(this).attr('data-srcset'), + imageSizes = $(this).attr('data-sizes') || _.$slider.attr('data-sizes'), + imageToLoad = document.createElement('img'); + + imageToLoad.onload = function() { + + image + .animate({ opacity: 0 }, 100, function() { + + if (imageSrcSet) { + image + .attr('srcset', imageSrcSet ); + + if (imageSizes) { + image + .attr('sizes', imageSizes ); + } + } + + image + .attr('src', imageSource) + .animate({ opacity: 1 }, 200, function() { + image + .removeAttr('data-lazy data-srcset data-sizes') + .removeClass('slick-loading'); + }); + _.$slider.trigger('lazyLoaded', [_, image, imageSource]); + }); + + }; + + imageToLoad.onerror = function() { + + image + .removeAttr( 'data-lazy' ) + .removeClass( 'slick-loading' ) + .addClass( 'slick-lazyload-error' ); + + _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]); + + }; + + imageToLoad.src = imageSource; + + }); + + } + + if (_.options.centerMode === true) { + if (_.options.infinite === true) { + rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1); + rangeEnd = rangeStart + _.options.slidesToShow + 2; + } else { + rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1)); + rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide; + } + } else { + rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide; + rangeEnd = Math.ceil(rangeStart + _.options.slidesToShow); + if (_.options.fade === true) { + if (rangeStart > 0) rangeStart--; + if (rangeEnd <= _.slideCount) rangeEnd++; + } + } + + loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd); + + if (_.options.lazyLoad === 'anticipated') { + var prevSlide = rangeStart - 1, + nextSlide = rangeEnd, + $slides = _.$slider.find('.slick-slide'); + + for (var i = 0; i < _.options.slidesToScroll; i++) { + if (prevSlide < 0) prevSlide = _.slideCount - 1; + loadRange = loadRange.add($slides.eq(prevSlide)); + loadRange = loadRange.add($slides.eq(nextSlide)); + prevSlide--; + nextSlide++; + } + } + + loadImages(loadRange); + + if (_.slideCount <= _.options.slidesToShow) { + cloneRange = _.$slider.find('.slick-slide'); + loadImages(cloneRange); + } else + if (_.currentSlide >= _.slideCount - _.options.slidesToShow) { + cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow); + loadImages(cloneRange); + } else if (_.currentSlide === 0) { + cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1); + loadImages(cloneRange); + } + + }; + + Slick.prototype.loadSlider = function() { + + var _ = this; + + _.setPosition(); + + _.$slideTrack.css({ + opacity: 1 + }); + + _.$slider.removeClass('slick-loading'); + + _.initUI(); + + if (_.options.lazyLoad === 'progressive') { + _.progressiveLazyLoad(); + } + + }; + + Slick.prototype.next = Slick.prototype.slickNext = function() { + + var _ = this; + + _.changeSlide({ + data: { + message: 'next' + } + }); + + }; + + Slick.prototype.orientationChange = function() { + + var _ = this; + + _.checkResponsive(); + _.setPosition(); + + }; + + Slick.prototype.pause = Slick.prototype.slickPause = function() { + + var _ = this; + + _.autoPlayClear(); + _.paused = true; + + }; + + Slick.prototype.play = Slick.prototype.slickPlay = function() { + + var _ = this; + + _.autoPlay(); + _.options.autoplay = true; + _.paused = false; + _.focussed = false; + _.interrupted = false; + + }; + + Slick.prototype.postSlide = function(index) { + + var _ = this; + + if( !_.unslicked ) { + + _.$slider.trigger('afterChange', [_, index]); + + _.animating = false; + + if (_.slideCount > _.options.slidesToShow) { + _.setPosition(); + } + + _.swipeLeft = null; + + if ( _.options.autoplay ) { + _.autoPlay(); + } + + if (_.options.accessibility === true) { + _.initADA(); + + if (_.options.focusOnChange) { + var $currentSlide = $(_.$slides.get(_.currentSlide)); + $currentSlide.attr('tabindex', 0).focus(); + } + } + + } + + }; + + Slick.prototype.prev = Slick.prototype.slickPrev = function() { + + var _ = this; + + _.changeSlide({ + data: { + message: 'previous' + } + }); + + }; + + Slick.prototype.preventDefault = function(event) { + + event.preventDefault(); + + }; + + Slick.prototype.progressiveLazyLoad = function( tryCount ) { + + tryCount = tryCount || 1; + + var _ = this, + $imgsToLoad = $( 'img[data-lazy]', _.$slider ), + image, + imageSource, + imageSrcSet, + imageSizes, + imageToLoad; + + if ( $imgsToLoad.length ) { + + image = $imgsToLoad.first(); + imageSource = image.attr('data-lazy'); + imageSrcSet = image.attr('data-srcset'); + imageSizes = image.attr('data-sizes') || _.$slider.attr('data-sizes'); + imageToLoad = document.createElement('img'); + + imageToLoad.onload = function() { + + if (imageSrcSet) { + image + .attr('srcset', imageSrcSet ); + + if (imageSizes) { + image + .attr('sizes', imageSizes ); + } + } + + image + .attr( 'src', imageSource ) + .removeAttr('data-lazy data-srcset data-sizes') + .removeClass('slick-loading'); + + if ( _.options.adaptiveHeight === true ) { + _.setPosition(); + } + + _.$slider.trigger('lazyLoaded', [ _, image, imageSource ]); + _.progressiveLazyLoad(); + + }; + + imageToLoad.onerror = function() { + + if ( tryCount < 3 ) { + + /** + * try to load the image 3 times, + * leave a slight delay so we don't get + * servers blocking the request. + */ + setTimeout( function() { + _.progressiveLazyLoad( tryCount + 1 ); + }, 500 ); + + } else { + + image + .removeAttr( 'data-lazy' ) + .removeClass( 'slick-loading' ) + .addClass( 'slick-lazyload-error' ); + + _.$slider.trigger('lazyLoadError', [ _, image, imageSource ]); + + _.progressiveLazyLoad(); + + } + + }; + + imageToLoad.src = imageSource; + + } else { + + _.$slider.trigger('allImagesLoaded', [ _ ]); + + } + + }; + + Slick.prototype.refresh = function( initializing ) { + + var _ = this, currentSlide, lastVisibleIndex; + + lastVisibleIndex = _.slideCount - _.options.slidesToShow; + + // in non-infinite sliders, we don't want to go past the + // last visible index. + if( !_.options.infinite && ( _.currentSlide > lastVisibleIndex )) { + _.currentSlide = lastVisibleIndex; + } + + // if less slides than to show, go to start. + if ( _.slideCount <= _.options.slidesToShow ) { + _.currentSlide = 0; + + } + + currentSlide = _.currentSlide; + + _.destroy(true); + + $.extend(_, _.initials, { currentSlide: currentSlide }); + + _.init(); + + if( !initializing ) { + + _.changeSlide({ + data: { + message: 'index', + index: currentSlide + } + }, false); + + } + + }; + + Slick.prototype.registerBreakpoints = function() { + + var _ = this, breakpoint, currentBreakpoint, l, + responsiveSettings = _.options.responsive || null; + + if ( $.type(responsiveSettings) === 'array' && responsiveSettings.length ) { + + _.respondTo = _.options.respondTo || 'window'; + + for ( breakpoint in responsiveSettings ) { + + l = _.breakpoints.length-1; + + if (responsiveSettings.hasOwnProperty(breakpoint)) { + currentBreakpoint = responsiveSettings[breakpoint].breakpoint; + + // loop through the breakpoints and cut out any existing + // ones with the same breakpoint number, we don't want dupes. + while( l >= 0 ) { + if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) { + _.breakpoints.splice(l,1); + } + l--; + } + + _.breakpoints.push(currentBreakpoint); + _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings; + + } + + } + + _.breakpoints.sort(function(a, b) { + return ( _.options.mobileFirst ) ? a-b : b-a; + }); + + } + + }; + + Slick.prototype.reinit = function() { + + var _ = this; + + _.$slides = + _.$slideTrack + .children(_.options.slide) + .addClass('slick-slide'); + + _.slideCount = _.$slides.length; + + if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) { + _.currentSlide = _.currentSlide - _.options.slidesToScroll; + } + + if (_.slideCount <= _.options.slidesToShow) { + _.currentSlide = 0; + } + + _.registerBreakpoints(); + + _.setProps(); + _.setupInfinite(); + _.buildArrows(); + _.updateArrows(); + _.initArrowEvents(); + _.buildDots(); + _.updateDots(); + _.initDotEvents(); + _.cleanUpSlideEvents(); + _.initSlideEvents(); + + _.checkResponsive(false, true); + + if (_.options.focusOnSelect === true) { + $(_.$slideTrack).children().on('click.slick', _.selectHandler); + } + + _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0); + + _.setPosition(); + _.focusHandler(); + + _.paused = !_.options.autoplay; + _.autoPlay(); + + _.$slider.trigger('reInit', [_]); + + }; + + Slick.prototype.resize = function() { + + var _ = this; + + if ($(window).width() !== _.windowWidth) { + clearTimeout(_.windowDelay); + _.windowDelay = window.setTimeout(function() { + _.windowWidth = $(window).width(); + _.checkResponsive(); + if( !_.unslicked ) { _.setPosition(); } + }, 50); + } + }; + + Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) { + + var _ = this; + + if (typeof(index) === 'boolean') { + removeBefore = index; + index = removeBefore === true ? 0 : _.slideCount - 1; + } else { + index = removeBefore === true ? --index : index; + } + + if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) { + return false; + } + + _.unload(); + + if (removeAll === true) { + _.$slideTrack.children().remove(); + } else { + _.$slideTrack.children(this.options.slide).eq(index).remove(); + } + + _.$slides = _.$slideTrack.children(this.options.slide); + + _.$slideTrack.children(this.options.slide).detach(); + + _.$slideTrack.append(_.$slides); + + _.$slidesCache = _.$slides; + + _.reinit(); + + }; + + Slick.prototype.setCSS = function(position) { + + var _ = this, + positionProps = {}, + x, y; + + if (_.options.rtl === true) { + position = -position; + } + x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px'; + y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px'; + + positionProps[_.positionProp] = position; + + if (_.transformsEnabled === false) { + _.$slideTrack.css(positionProps); + } else { + positionProps = {}; + if (_.cssTransitions === false) { + positionProps[_.animType] = 'translate(' + x + ', ' + y + ')'; + _.$slideTrack.css(positionProps); + } else { + positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)'; + _.$slideTrack.css(positionProps); + } + } + + }; + + Slick.prototype.setDimensions = function() { + + var _ = this; + + if (_.options.vertical === false) { + if (_.options.centerMode === true) { + _.$list.css({ + padding: ('0px ' + _.options.centerPadding) + }); + } + } else { + _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow); + if (_.options.centerMode === true) { + _.$list.css({ + padding: (_.options.centerPadding + ' 0px') + }); + } + } + + _.listWidth = _.$list.width(); + _.listHeight = _.$list.height(); + + + if (_.options.vertical === false && _.options.variableWidth === false) { + _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow); + _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length))); + + } else if (_.options.variableWidth === true) { + _.$slideTrack.width(5000 * _.slideCount); + } else { + _.slideWidth = Math.ceil(_.listWidth); + _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length))); + } + + var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width(); + if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset); + + }; + + Slick.prototype.setFade = function() { + + var _ = this, + targetLeft; + + _.$slides.each(function(index, element) { + targetLeft = (_.slideWidth * index) * -1; + if (_.options.rtl === true) { + $(element).css({ + position: 'relative', + right: targetLeft, + top: 0, + zIndex: _.options.zIndex - 2, + opacity: 0 + }); + } else { + $(element).css({ + position: 'relative', + left: targetLeft, + top: 0, + zIndex: _.options.zIndex - 2, + opacity: 0 + }); + } + }); + + _.$slides.eq(_.currentSlide).css({ + zIndex: _.options.zIndex - 1, + opacity: 1 + }); + + }; + + Slick.prototype.setHeight = function() { + + var _ = this; + + if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) { + var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true); + _.$list.css('height', targetHeight); + } + + }; + + Slick.prototype.setOption = + Slick.prototype.slickSetOption = function() { + + /** + * accepts arguments in format of: + * + * - for changing a single option's value: + * .slick("setOption", option, value, refresh ) + * + * - for changing a set of responsive options: + * .slick("setOption", 'responsive', [{}, ...], refresh ) + * + * - for updating multiple values at once (not responsive) + * .slick("setOption", { 'option': value, ... }, refresh ) + */ + + var _ = this, l, item, option, value, refresh = false, type; + + if( $.type( arguments[0] ) === 'object' ) { + + option = arguments[0]; + refresh = arguments[1]; + type = 'multiple'; + + } else if ( $.type( arguments[0] ) === 'string' ) { + + option = arguments[0]; + value = arguments[1]; + refresh = arguments[2]; + + if ( arguments[0] === 'responsive' && $.type( arguments[1] ) === 'array' ) { + + type = 'responsive'; + + } else if ( typeof arguments[1] !== 'undefined' ) { + + type = 'single'; + + } + + } + + if ( type === 'single' ) { + + _.options[option] = value; + + + } else if ( type === 'multiple' ) { + + $.each( option , function( opt, val ) { + + _.options[opt] = val; + + }); + + + } else if ( type === 'responsive' ) { + + for ( item in value ) { + + if( $.type( _.options.responsive ) !== 'array' ) { + + _.options.responsive = [ value[item] ]; + + } else { + + l = _.options.responsive.length-1; + + // loop through the responsive object and splice out duplicates. + while( l >= 0 ) { + + if( _.options.responsive[l].breakpoint === value[item].breakpoint ) { + + _.options.responsive.splice(l,1); + + } + + l--; + + } + + _.options.responsive.push( value[item] ); + + } + + } + + } + + if ( refresh ) { + + _.unload(); + _.reinit(); + + } + + }; + + Slick.prototype.setPosition = function() { + + var _ = this; + + _.setDimensions(); + + _.setHeight(); + + if (_.options.fade === false) { + _.setCSS(_.getLeft(_.currentSlide)); + } else { + _.setFade(); + } + + _.$slider.trigger('setPosition', [_]); + + }; + + Slick.prototype.setProps = function() { + + var _ = this, + bodyStyle = document.body.style; + + _.positionProp = _.options.vertical === true ? 'top' : 'left'; + + if (_.positionProp === 'top') { + _.$slider.addClass('slick-vertical'); + } else { + _.$slider.removeClass('slick-vertical'); + } + + if (bodyStyle.WebkitTransition !== undefined || + bodyStyle.MozTransition !== undefined || + bodyStyle.msTransition !== undefined) { + if (_.options.useCSS === true) { + _.cssTransitions = true; + } + } + + if ( _.options.fade ) { + if ( typeof _.options.zIndex === 'number' ) { + if( _.options.zIndex < 3 ) { + _.options.zIndex = 3; + } + } else { + _.options.zIndex = _.defaults.zIndex; + } + } + + if (bodyStyle.OTransform !== undefined) { + _.animType = 'OTransform'; + _.transformType = '-o-transform'; + _.transitionType = 'OTransition'; + if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false; + } + if (bodyStyle.MozTransform !== undefined) { + _.animType = 'MozTransform'; + _.transformType = '-moz-transform'; + _.transitionType = 'MozTransition'; + if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false; + } + if (bodyStyle.webkitTransform !== undefined) { + _.animType = 'webkitTransform'; + _.transformType = '-webkit-transform'; + _.transitionType = 'webkitTransition'; + if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false; + } + if (bodyStyle.msTransform !== undefined) { + _.animType = 'msTransform'; + _.transformType = '-ms-transform'; + _.transitionType = 'msTransition'; + if (bodyStyle.msTransform === undefined) _.animType = false; + } + if (bodyStyle.transform !== undefined && _.animType !== false) { + _.animType = 'transform'; + _.transformType = 'transform'; + _.transitionType = 'transition'; + } + _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false); + }; + + + Slick.prototype.setSlideClasses = function(index) { + + var _ = this, + centerOffset, allSlides, indexOffset, remainder; + + allSlides = _.$slider + .find('.slick-slide') + .removeClass('slick-active slick-center slick-current') + .attr('aria-hidden', 'true'); + + _.$slides + .eq(index) + .addClass('slick-current'); + + if (_.options.centerMode === true) { + + var evenCoef = _.options.slidesToShow % 2 === 0 ? 1 : 0; + + centerOffset = Math.floor(_.options.slidesToShow / 2); + + if (_.options.infinite === true) { + + if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) { + _.$slides + .slice(index - centerOffset + evenCoef, index + centerOffset + 1) + .addClass('slick-active') + .attr('aria-hidden', 'false'); + + } else { + + indexOffset = _.options.slidesToShow + index; + allSlides + .slice(indexOffset - centerOffset + 1 + evenCoef, indexOffset + centerOffset + 2) + .addClass('slick-active') + .attr('aria-hidden', 'false'); + + } + + if (index === 0) { + + allSlides + .eq(allSlides.length - 1 - _.options.slidesToShow) + .addClass('slick-center'); + + } else if (index === _.slideCount - 1) { + + allSlides + .eq(_.options.slidesToShow) + .addClass('slick-center'); + + } + + } + + _.$slides + .eq(index) + .addClass('slick-center'); + + } else { + + if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) { + + _.$slides + .slice(index, index + _.options.slidesToShow) + .addClass('slick-active') + .attr('aria-hidden', 'false'); + + } else if (allSlides.length <= _.options.slidesToShow) { + + allSlides + .addClass('slick-active') + .attr('aria-hidden', 'false'); + + } else { + + remainder = _.slideCount % _.options.slidesToShow; + indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index; + + if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) { + + allSlides + .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder) + .addClass('slick-active') + .attr('aria-hidden', 'false'); + + } else { + + allSlides + .slice(indexOffset, indexOffset + _.options.slidesToShow) + .addClass('slick-active') + .attr('aria-hidden', 'false'); + + } + + } + + } + + if (_.options.lazyLoad === 'ondemand' || _.options.lazyLoad === 'anticipated') { + _.lazyLoad(); + } + }; + + Slick.prototype.setupInfinite = function() { + + var _ = this, + i, slideIndex, infiniteCount; + + if (_.options.fade === true) { + _.options.centerMode = false; + } + + if (_.options.infinite === true && _.options.fade === false) { + + slideIndex = null; + + if (_.slideCount > _.options.slidesToShow) { + + if (_.options.centerMode === true) { + infiniteCount = _.options.slidesToShow + 1; + } else { + infiniteCount = _.options.slidesToShow; + } + + for (i = _.slideCount; i > (_.slideCount - + infiniteCount); i -= 1) { + slideIndex = i - 1; + $(_.$slides[slideIndex]).clone(true).attr('id', '') + .attr('data-slick-index', slideIndex - _.slideCount) + .prependTo(_.$slideTrack).addClass('slick-cloned'); + } + for (i = 0; i < infiniteCount + _.slideCount; i += 1) { + slideIndex = i; + $(_.$slides[slideIndex]).clone(true).attr('id', '') + .attr('data-slick-index', slideIndex + _.slideCount) + .appendTo(_.$slideTrack).addClass('slick-cloned'); + } + _.$slideTrack.find('.slick-cloned').find('[id]').each(function() { + $(this).attr('id', ''); + }); + + } + + } + + }; + + Slick.prototype.interrupt = function( toggle ) { + + var _ = this; + + if( !toggle ) { + _.autoPlay(); + } + _.interrupted = toggle; + + }; + + Slick.prototype.selectHandler = function(event) { + + var _ = this; + + var targetElement = + $(event.target).is('.slick-slide') ? + $(event.target) : + $(event.target).parents('.slick-slide'); + + var index = parseInt(targetElement.attr('data-slick-index')); + + if (!index) index = 0; + + if (_.slideCount <= _.options.slidesToShow) { + + _.slideHandler(index, false, true); + return; + + } + + _.slideHandler(index); + + }; + + Slick.prototype.slideHandler = function(index, sync, dontAnimate) { + + var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null, + _ = this, navTarget; + + sync = sync || false; + + if (_.animating === true && _.options.waitForAnimate === true) { + return; + } + + if (_.options.fade === true && _.currentSlide === index) { + return; + } + + if (sync === false) { + _.asNavFor(index); + } + + targetSlide = index; + targetLeft = _.getLeft(targetSlide); + slideLeft = _.getLeft(_.currentSlide); + + _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft; + + if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) { + if (_.options.fade === false) { + targetSlide = _.currentSlide; + if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) { + _.animateSlide(slideLeft, function() { + _.postSlide(targetSlide); + }); + } else { + _.postSlide(targetSlide); + } + } + return; + } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) { + if (_.options.fade === false) { + targetSlide = _.currentSlide; + if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) { + _.animateSlide(slideLeft, function() { + _.postSlide(targetSlide); + }); + } else { + _.postSlide(targetSlide); + } + } + return; + } + + if ( _.options.autoplay ) { + clearInterval(_.autoPlayTimer); + } + + if (targetSlide < 0) { + if (_.slideCount % _.options.slidesToScroll !== 0) { + animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll); + } else { + animSlide = _.slideCount + targetSlide; + } + } else if (targetSlide >= _.slideCount) { + if (_.slideCount % _.options.slidesToScroll !== 0) { + animSlide = 0; + } else { + animSlide = targetSlide - _.slideCount; + } + } else { + animSlide = targetSlide; + } + + _.animating = true; + + _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]); + + oldSlide = _.currentSlide; + _.currentSlide = animSlide; + + _.setSlideClasses(_.currentSlide); + + if ( _.options.asNavFor ) { + + navTarget = _.getNavTarget(); + navTarget = navTarget.slick('getSlick'); + + if ( navTarget.slideCount <= navTarget.options.slidesToShow ) { + navTarget.setSlideClasses(_.currentSlide); + } + + } + + _.updateDots(); + _.updateArrows(); + + if (_.options.fade === true) { + if (dontAnimate !== true) { + + _.fadeSlideOut(oldSlide); + + _.fadeSlide(animSlide, function() { + _.postSlide(animSlide); + }); + + } else { + _.postSlide(animSlide); + } + _.animateHeight(); + return; + } + + if (dontAnimate !== true && _.slideCount > _.options.slidesToShow) { + _.animateSlide(targetLeft, function() { + _.postSlide(animSlide); + }); + } else { + _.postSlide(animSlide); + } + + }; + + Slick.prototype.startLoad = function() { + + var _ = this; + + if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) { + + _.$prevArrow.hide(); + _.$nextArrow.hide(); + + } + + if (_.options.dots === true && _.slideCount > _.options.slidesToShow) { + + _.$dots.hide(); + + } + + _.$slider.addClass('slick-loading'); + + }; + + Slick.prototype.swipeDirection = function() { + + var xDist, yDist, r, swipeAngle, _ = this; + + xDist = _.touchObject.startX - _.touchObject.curX; + yDist = _.touchObject.startY - _.touchObject.curY; + r = Math.atan2(yDist, xDist); + + swipeAngle = Math.round(r * 180 / Math.PI); + if (swipeAngle < 0) { + swipeAngle = 360 - Math.abs(swipeAngle); + } + + if ((swipeAngle <= 45) && (swipeAngle >= 0)) { + return (_.options.rtl === false ? 'left' : 'right'); + } + if ((swipeAngle <= 360) && (swipeAngle >= 315)) { + return (_.options.rtl === false ? 'left' : 'right'); + } + if ((swipeAngle >= 135) && (swipeAngle <= 225)) { + return (_.options.rtl === false ? 'right' : 'left'); + } + if (_.options.verticalSwiping === true) { + if ((swipeAngle >= 35) && (swipeAngle <= 135)) { + return 'down'; + } else { + return 'up'; + } + } + + return 'vertical'; + + }; + + Slick.prototype.swipeEnd = function(event) { + + var _ = this, + slideCount, + direction; + + _.dragging = false; + _.swiping = false; + + if (_.scrolling) { + _.scrolling = false; + return false; + } + + _.interrupted = false; + _.shouldClick = ( _.touchObject.swipeLength > 10 ) ? false : true; + + if ( _.touchObject.curX === undefined ) { + return false; + } + + if ( _.touchObject.edgeHit === true ) { + _.$slider.trigger('edge', [_, _.swipeDirection() ]); + } + + if ( _.touchObject.swipeLength >= _.touchObject.minSwipe ) { + + direction = _.swipeDirection(); + + switch ( direction ) { + + case 'left': + case 'down': + + slideCount = + _.options.swipeToSlide ? + _.checkNavigable( _.currentSlide + _.getSlideCount() ) : + _.currentSlide + _.getSlideCount(); + + _.currentDirection = 0; + + break; + + case 'right': + case 'up': + + slideCount = + _.options.swipeToSlide ? + _.checkNavigable( _.currentSlide - _.getSlideCount() ) : + _.currentSlide - _.getSlideCount(); + + _.currentDirection = 1; + + break; + + default: + + + } + + if( direction != 'vertical' ) { + + _.slideHandler( slideCount ); + _.touchObject = {}; + _.$slider.trigger('swipe', [_, direction ]); + + } + + } else { + + if ( _.touchObject.startX !== _.touchObject.curX ) { + + _.slideHandler( _.currentSlide ); + _.touchObject = {}; + + } + + } + + }; + + Slick.prototype.swipeHandler = function(event) { + + var _ = this; + + if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) { + return; + } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) { + return; + } + + _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ? + event.originalEvent.touches.length : 1; + + _.touchObject.minSwipe = _.listWidth / _.options + .touchThreshold; + + if (_.options.verticalSwiping === true) { + _.touchObject.minSwipe = _.listHeight / _.options + .touchThreshold; + } + + switch (event.data.action) { + + case 'start': + _.swipeStart(event); + break; + + case 'move': + _.swipeMove(event); + break; + + case 'end': + _.swipeEnd(event); + break; + + } + + }; + + Slick.prototype.swipeMove = function(event) { + + var _ = this, + edgeWasHit = false, + curLeft, swipeDirection, swipeLength, positionOffset, touches, verticalSwipeLength; + + touches = event.originalEvent !== undefined ? event.originalEvent.touches : null; + + if (!_.dragging || _.scrolling || touches && touches.length !== 1) { + return false; + } + + curLeft = _.getLeft(_.currentSlide); + + _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX; + _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY; + + _.touchObject.swipeLength = Math.round(Math.sqrt( + Math.pow(_.touchObject.curX - _.touchObject.startX, 2))); + + verticalSwipeLength = Math.round(Math.sqrt( + Math.pow(_.touchObject.curY - _.touchObject.startY, 2))); + + if (!_.options.verticalSwiping && !_.swiping && verticalSwipeLength > 4) { + _.scrolling = true; + return false; + } + + if (_.options.verticalSwiping === true) { + _.touchObject.swipeLength = verticalSwipeLength; + } + + swipeDirection = _.swipeDirection(); + + if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) { + _.swiping = true; + event.preventDefault(); + } + + positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1); + if (_.options.verticalSwiping === true) { + positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1; + } + + + swipeLength = _.touchObject.swipeLength; + + _.touchObject.edgeHit = false; + + if (_.options.infinite === false) { + if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) { + swipeLength = _.touchObject.swipeLength * _.options.edgeFriction; + _.touchObject.edgeHit = true; + } + } + + if (_.options.vertical === false) { + _.swipeLeft = curLeft + swipeLength * positionOffset; + } else { + _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset; + } + if (_.options.verticalSwiping === true) { + _.swipeLeft = curLeft + swipeLength * positionOffset; + } + + if (_.options.fade === true || _.options.touchMove === false) { + return false; + } + + if (_.animating === true) { + _.swipeLeft = null; + return false; + } + + _.setCSS(_.swipeLeft); + + }; + + Slick.prototype.swipeStart = function(event) { + + var _ = this, + touches; + + _.interrupted = true; + + if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) { + _.touchObject = {}; + return false; + } + + if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) { + touches = event.originalEvent.touches[0]; + } + + _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX; + _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY; + + _.dragging = true; + + }; + + Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() { + + var _ = this; + + if (_.$slidesCache !== null) { + + _.unload(); + + _.$slideTrack.children(this.options.slide).detach(); + + _.$slidesCache.appendTo(_.$slideTrack); + + _.reinit(); + + } + + }; + + Slick.prototype.unload = function() { + + var _ = this; + + $('.slick-cloned', _.$slider).remove(); + + if (_.$dots) { + _.$dots.remove(); + } + + if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) { + _.$prevArrow.remove(); + } + + if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) { + _.$nextArrow.remove(); + } + + _.$slides + .removeClass('slick-slide slick-active slick-visible slick-current') + .attr('aria-hidden', 'true') + .css('width', ''); + + }; + + Slick.prototype.unslick = function(fromBreakpoint) { + + var _ = this; + _.$slider.trigger('unslick', [_, fromBreakpoint]); + _.destroy(); + + }; + + Slick.prototype.updateArrows = function() { + + var _ = this, + centerOffset; + + centerOffset = Math.floor(_.options.slidesToShow / 2); + + if ( _.options.arrows === true && + _.slideCount > _.options.slidesToShow && + !_.options.infinite ) { + + _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); + _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); + + if (_.currentSlide === 0) { + + _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); + _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); + + } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) { + + _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); + _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); + + } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) { + + _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true'); + _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false'); + + } + + } + + }; + + Slick.prototype.updateDots = function() { + + var _ = this; + + if (_.$dots !== null) { + + _.$dots + .find('li') + .removeClass('slick-active') + .end(); + + _.$dots + .find('li') + .eq(Math.floor(_.currentSlide / _.options.slidesToScroll)) + .addClass('slick-active'); + + } + + }; + + Slick.prototype.visibility = function() { + + var _ = this; + + if ( _.options.autoplay ) { + + if ( document[_.hidden] ) { + + _.interrupted = true; + + } else { + + _.interrupted = false; + + } + + } + + }; + + $.fn.slick = function() { + var _ = this, + opt = arguments[0], + args = Array.prototype.slice.call(arguments, 1), + l = _.length, + i, + ret; + for (i = 0; i < l; i++) { + if (typeof opt == 'object' || typeof opt == 'undefined') + _[i].slick = new Slick(_[i], opt); + else + ret = _[i].slick[opt].apply(_[i].slick, args); + if (typeof ret != 'undefined') return ret; + } + return _; + }; + +})); Property changes on: base3.10/src/main/webapp/js/com/slick.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/colResizable-1.6.js =================================================================== --- base3.10/src/main/webapp/js/com/colResizable-1.6.js (nonexistent) +++ base3.10/src/main/webapp/js/com/colResizable-1.6.js (revision 7) @@ -0,0 +1,415 @@ +/** + _ _____ _ _ _ + | | __ \ (_) | | | | + ___ ___ | | |__) |___ ___ _ ______ _| |__ | | ___ + / __/ _ \| | _ // _ \/ __| |_ / _` | '_ \| |/ _ \ + | (_| (_) | | | \ \ __/\__ \ |/ / (_| | |_) | | __/ + \___\___/|_|_| \_\___||___/_/___\__,_|_.__/|_|\___| + + v1.6 - jQuery plugin created by Alvaro Prieto Lauroba + + Licences: MIT & GPL + Feel free to use or modify this plugin as far as my full name is kept + + If you are going to use this plug-in in production environments it is + strongly recommended to use its minified version: colResizable.min.js + +*/ + +(function($){ + + var d = $(document); //window object + var h = $("head"); //head object + var drag = null; //reference to the current grip that is being dragged + var tables = {}; //object of the already processed tables (table.id as key) + var count = 0; //internal count to create unique IDs when needed. + + //common strings for packing + var ID = "id"; + var PX = "px"; + var SIGNATURE ="JColResizer"; + var FLEX = "JCLRFlex"; + + //short-cuts + var I = parseInt; + var M = Math; + var ie = navigator.userAgent.indexOf('Trident/4.0')>0; + var S; + try{S = sessionStorage;}catch(e){} //Firefox crashes when executed as local file system + + //append required CSS rules + h.append("<style type='text/css'> .JColResizer{table-layout:fixed;} .JColResizer > tbody > tr > td, .JColResizer > tbody > tr > th{overflow:hidden;padding-left:0!important; padding-right:0!important;} .JCLRgrips{ height:0px; position:relative;} .JCLRgrip{margin-left:-5px; position:absolute; z-index:5; } .JCLRgrip .JColResizer{position:absolute;background-color:red;filter:alpha(opacity=1);opacity:0;width:10px;height:100%;cursor: e-resize;top:0px} .JCLRLastGrip{position:absolute; width:1px; } .JCLRgripDrag{ border-left:1px dotted black; } .JCLRFlex{width:auto!important;} .JCLRgrip.JCLRdisabledGrip .JColResizer{cursor:default; display:none;}</style>"); + + + /** + * Function to allow column resizing for table objects. It is the starting point to apply the plugin. + * @param {DOM node} tb - reference to the DOM table object to be enhanced + * @param {Object} options - some customization values + */ + var init = function( tb, options){ + var t = $(tb); //the table object is wrapped + t.opt = options; //each table has its own options available at anytime + t.mode = options.resizeMode; //shortcuts + t.dc = t.opt.disabledColumns; + if(t.opt.disable) return destroy(t); //the user is asking to destroy a previously colResized table + var id = t.id = t.attr(ID) || SIGNATURE+count++; //its id is obtained, if null new one is generated + t.p = t.opt.postbackSafe; //short-cut to detect postback safe + if(!t.is("table") || tables[id] && !t.opt.partialRefresh) return; //if the object is not a table or if it was already processed then it is ignored. + if (t.opt.hoverCursor !== 'e-resize') h.append("<style type='text/css'>.JCLRgrip .JColResizer:hover{cursor:"+ t.opt.hoverCursor +"!important}</style>"); //if hoverCursor has been set, append the style + t.addClass(SIGNATURE).attr(ID, id).before('<div class="JCLRgrips"/>'); //the grips container object is added. Signature class forces table rendering in fixed-layout mode to prevent column's min-width + t.g = []; t.c = []; t.w = t.width(); t.gc = t.prev(); t.f=t.opt.fixed; //t.c and t.g are arrays of columns and grips respectively + if(options.marginLeft) t.gc.css("marginLeft", options.marginLeft); //if the table contains margins, it must be specified + if(options.marginRight) t.gc.css("marginRight", options.marginRight); //since there is no (direct) way to obtain margin values in its original units (%, em, ...) + t.cs = I(ie? tb.cellSpacing || tb.currentStyle.borderSpacing :t.css('border-spacing'))||2; //table cellspacing (not even jQuery is fully cross-browser) + t.b = I(ie? tb.border || tb.currentStyle.borderLeftWidth :t.css('border-left-width'))||1; //outer border width (again cross-browser issues) + // if(!(tb.style.width || tb.width)) t.width(t.width()); //I am not an IE fan at all, but it is a pity that only IE has the currentStyle attribute working as expected. For this reason I can not check easily if the table has an explicit width or if it is rendered as "auto" + tables[id] = t; //the table object is stored using its id as key + createGrips(t); //grips are created + + }; + + + /** + * This function allows to remove any enhancements performed by this plugin on a previously processed table. + * @param {jQuery ref} t - table object + */ + var destroy = function(t){ + var id=t.attr(ID), t=tables[id]; //its table object is found + if(!t||!t.is("table")) return; //if none, then it wasn't processed + t.removeClass(SIGNATURE+" "+FLEX).gc.remove(); //class and grips are removed + delete tables[id]; //clean up data + }; + + + /** + * Function to create all the grips associated with the table given by parameters + * @param {jQuery ref} t - table object + */ + var createGrips = function(t){ + + var th = t.find(">thead>tr:first>th,>thead>tr:first>td"); //table headers are obtained + if(!th.length) th = t.find(">tbody>tr:first>th,>tr:first>th,>tbody>tr:first>td, >tr:first>td"); //but headers can also be included in different ways + th = th.filter(":visible"); //filter invisible columns + t.cg = t.find("col"); //a table can also contain a colgroup with col elements + t.ln = th.length; //table length is stored + if(t.p && S && S[t.id])memento(t,th); //if 'postbackSafe' is enabled and there is data for the current table, its coloumn layout is restored + th.each(function(i){ //iterate through the table column headers + var c = $(this); //jquery wrap for the current column + var dc = t.dc.indexOf(i)!=-1; //is this a disabled column? + var g = $(t.gc.append('<div class="JCLRgrip"></div>')[0].lastChild); //add the visual node to be used as grip + g.append(dc ? "": t.opt.gripInnerHtml).append('<div class="'+SIGNATURE+'"></div>'); + if(i == t.ln-1){ //if the current grip is the las one + g.addClass("JCLRLastGrip"); //add a different css class to stlye it in a different way if needed + if(t.f) g.html(""); //if the table resizing mode is set to fixed, the last grip is removed since table with can not change + } + g.bind('touchstart mousedown', onGripMouseDown); //bind the mousedown event to start dragging + + if (!dc){ + //if normal column bind the mousedown event to start dragging, if disabled then apply its css class + g.removeClass('JCLRdisabledGrip').bind('touchstart mousedown', onGripMouseDown); + }else{ + g.addClass('JCLRdisabledGrip'); + } + + g.t = t; g.i = i; g.c = c; c.w =c.width(); //some values are stored in the grip's node data as shortcut + t.g.push(g); t.c.push(c); //the current grip and column are added to its table object + c.width(c.w).removeAttr("width"); //the width of the column is converted into pixel-based measurements + g.data(SIGNATURE, {i:i, t:t.attr(ID), last: i == t.ln-1}); //grip index and its table name are stored in the HTML + }); + t.cg.removeAttr("width"); //remove the width attribute from elements in the colgroup + + t.find('td, th').not(th).not('table th, table td').each(function(){ + $(this).removeAttr('width'); //the width attribute is removed from all table cells which are not nested in other tables and dont belong to the header + }); + if(!t.f){ + t.removeAttr('width').addClass(FLEX); //if not fixed, let the table grow as needed + } + syncGrips(t); //the grips are positioned according to the current table layout + //there is a small problem, some cells in the table could contain dimension values interfering with the + //width value set by this plugin. Those values are removed + + }; + + + /** + * Function to allow the persistence of columns dimensions after a browser postback. It is based in + * the HTML5 sessionStorage object, which can be emulated for older browsers using sessionstorage.js + * @param {jQuery ref} t - table object + * @param {jQuery ref} th - reference to the first row elements (only set in deserialization) + */ + var memento = function(t, th){ + var w,m=0,i=0,aux =[],tw; + if(th){ //in deserialization mode (after a postback) + t.cg.removeAttr("width"); + if(t.opt.flush){ S[t.id] =""; return;} //if flush is activated, stored data is removed + w = S[t.id].split(";"); //column widths is obtained + tw = w[t.ln+1]; + if(!t.f && tw){ //if not fixed and table width data available its size is restored + t.width(tw*=1); + if(t.opt.overflow) { //if overfolw flag is set, restore table width also as table min-width + t.css('min-width', tw + PX); + t.w = tw; + } + } + for(;i<t.ln;i++){ //for each column + aux.push(100*w[i]/w[t.ln]+"%"); //width is stored in an array since it will be required again a couple of lines ahead + th.eq(i).css("width", aux[i] ); //each column width in % is restored + } + for(i=0;i<t.ln;i++) + t.cg.eq(i).css("width", aux[i]); //this code is required in order to create an inline CSS rule with higher precedence than an existing CSS class in the "col" elements + }else{ //in serialization mode (after resizing a column) + S[t.id] =""; //clean up previous data + for(;i < t.c.length; i++){ //iterate through columns + w = t.c[i].width(); //width is obtained + S[t.id] += w+";"; //width is appended to the sessionStorage object using ID as key + m+=w; //carriage is updated to obtain the full size used by columns + } + S[t.id]+=m; //the last item of the serialized string is the table's active area (width), + //to be able to obtain % width value of each columns while deserializing + if(!t.f) S[t.id] += ";"+t.width(); //if not fixed, table width is stored + } + }; + + + /** + * Function that places each grip in the correct position according to the current table layout + * @param {jQuery ref} t - table object + */ + var syncGrips = function (t){ + t.gc.width(t.w); //the grip's container width is updated + for(var i=0; i<t.ln; i++){ //for each column + var c = t.c[i]; + t.g[i].css({ //height and position of the grip is updated according to the table layout + left: c.offset().left - t.offset().left + c.outerWidth(false) + t.cs / 2 + PX, + height: t.opt.headerOnly? t.c[0].outerHeight(false) : t.outerHeight(false) + }); + } + }; + + + + /** + * This function updates column's width according to the horizontal position increment of the grip being + * dragged. The function can be called while dragging if liveDragging is enabled and also from the onGripDragOver + * event handler to synchronize grip's position with their related columns. + * @param {jQuery ref} t - table object + * @param {number} i - index of the grip being dragged + * @param {bool} isOver - to identify when the function is being called from the onGripDragOver event + */ + var syncCols = function(t,i,isOver){ + var inc = drag.x-drag.l, c = t.c[i], c2 = t.c[i+1]; + var w = c.w + inc; var w2= c2.w- inc; //their new width is obtained + c.width( w + PX); + t.cg.eq(i).width( w + PX); + if(t.f){ //if fixed mode + c2.width(w2 + PX); + t.cg.eq(i+1).width( w2 + PX); + }else if(t.opt.overflow) { //if overflow is set, incriment min-width to force overflow + t.css('min-width', t.w + inc); + } + if(isOver){ + c.w=w; + c2.w= t.f ? w2 : c2.w; + } + }; + + + /** + * This function updates all columns width according to its real width. It must be taken into account that the + * sum of all columns can exceed the table width in some cases (if fixed is set to false and table has some kind + * of max-width). + * @param {jQuery ref} t - table object + */ + var applyBounds = function(t){ + var w = $.map(t.c, function(c){ //obtain real widths + return c.width(); + }); + t.width(t.w = t.width()).removeClass(FLEX); //prevent table width changes + $.each(t.c, function(i,c){ + c.width(w[i]).w = w[i]; //set column widths applying bounds (table's max-width) + }); + t.addClass(FLEX); //allow table width changes + }; + + + /** + * Event handler used while dragging a grip. It checks if the next grip's position is valid and updates it. + * @param {event} e - mousemove event binded to the window object + */ + var onGripDrag = function(e){ + if(!drag) return; + var t = drag.t; //table object reference + var oe = e.originalEvent.touches; + var ox = oe ? oe[0].pageX : e.pageX; //original position (touch or mouse) + var x = ox - drag.ox + drag.l; //next position according to horizontal mouse position increment + var mw = t.opt.minWidth, i = drag.i ; //cell's min width + var l = t.cs*1.5 + mw + t.b; + var last = i == t.ln-1; //check if it is the last column's grip (usually hidden) + var min = i? t.g[i-1].position().left+t.cs+mw: l; //min position according to the contiguous cells + var max = t.f ? //fixed mode? + i == t.ln-1? + t.w-l: + t.g[i+1].position().left-t.cs-mw: + Infinity; //max position according to the contiguous cells + x = M.max(min, M.min(max, x)); //apply bounding + drag.x = x; drag.css("left", x + PX); //apply position increment + if(last){ //if it is the last grip + var c = t.c[drag.i]; //width of the last column is obtained + drag.w = c.w + x- drag.l; + } + if(t.opt.liveDrag){ //if liveDrag is enabled + if(last){ + c.width(drag.w); + if(!t.f && t.opt.overflow){ //if overflow is set, incriment min-width to force overflow + t.css('min-width', t.w + x - drag.l); + }else { + t.w = t.width(); + } + }else{ + syncCols(t,i); //columns are synchronized + } + syncGrips(t); + var cb = t.opt.onDrag; //check if there is an onDrag callback + if (cb) { e.currentTarget = t[0]; cb(e); } //if any, it is fired + } + return false; //prevent text selection while dragging + }; + + + /** + * Event handler fired when the dragging is over, updating table layout + * @param {event} e - grip's drag over event + */ + var onGripDragOver = function(e){ + + d.unbind('touchend.'+SIGNATURE+' mouseup.'+SIGNATURE).unbind('touchmove.'+SIGNATURE+' mousemove.'+SIGNATURE); + $("head :last-child").remove(); //remove the dragging cursor style + if(!drag) return; + drag.removeClass(drag.t.opt.draggingClass); //remove the grip's dragging css-class + if (!(drag.x - drag.l == 0)) { + var t = drag.t; + var cb = t.opt.onResize; //get some values + var i = drag.i; //column index + var last = i == t.ln-1; //check if it is the last column's grip (usually hidden) + var c = t.g[i].c; //the column being dragged + if(last){ + c.width(drag.w); + c.w = drag.w; + }else{ + syncCols(t, i, true); //the columns are updated + } + if(!t.f) applyBounds(t); //if not fixed mode, then apply bounds to obtain real width values + syncGrips(t); //the grips are updated + if (cb) { e.currentTarget = t[0]; cb(e); } //if there is a callback function, it is fired + if(t.p && S) memento(t); //if postbackSafe is enabled and there is sessionStorage support, the new layout is serialized and stored + } + drag = null; //since the grip's dragging is over + }; + + + /** + * Event handler fired when the grip's dragging is about to start. Its main goal is to set up events + * and store some values used while dragging. + * @param {event} e - grip's mousedown event + */ + var onGripMouseDown = function(e){ + var o = $(this).data(SIGNATURE); //retrieve grip's data + var t = tables[o.t], g = t.g[o.i]; //shortcuts for the table and grip objects + var oe = e.originalEvent.touches; //touch or mouse event? + g.ox = oe? oe[0].pageX: e.pageX; //the initial position is kept + g.l = g.position().left; + g.x = g.l; + + d.bind('touchmove.'+SIGNATURE+' mousemove.'+SIGNATURE, onGripDrag ).bind('touchend.'+SIGNATURE+' mouseup.'+SIGNATURE, onGripDragOver); //mousemove and mouseup events are bound + h.append("<style type='text/css'>*{cursor:"+ t.opt.dragCursor +"!important}</style>"); //change the mouse cursor + g.addClass(t.opt.draggingClass); //add the dragging class (to allow some visual feedback) + drag = g; //the current grip is stored as the current dragging object + if(t.c[o.i].l) for(var i=0,c; i<t.ln; i++){ c=t.c[i]; c.l = false; c.w= c.width(); } //if the colum is locked (after browser resize), then c.w must be updated + return false; //prevent text selection + }; + + + /** + * Event handler fired when the browser is resized. The main purpose of this function is to update + * table layout according to the browser's size synchronizing related grips + */ + var onResize = function(){ + for(var t in tables){ + if( tables.hasOwnProperty( t ) ) { + t = tables[t]; + var i, mw=0; + t.removeClass(SIGNATURE); //firefox doesn't like layout-fixed in some cases + if (t.f) { //in fixed mode + t.w = t.width(); //its new width is kept + for(i=0; i<t.ln; i++) mw+= t.c[i].w; + //cell rendering is not as trivial as it might seem, and it is slightly different for + //each browser. In the beginning i had a big switch for each browser, but since the code + //was extremely ugly now I use a different approach with several re-flows. This works + //pretty well but it's a bit slower. For now, lets keep things simple... + for(i=0; i<t.ln; i++) t.c[i].css("width", M.round(1000*t.c[i].w/mw)/10 + "%").l=true; + //c.l locks the column, telling us that its c.w is outdated + }else{ //in non fixed-sized tables + applyBounds(t); //apply the new bounds + if(t.mode == 'flex' && t.p && S){ //if postbackSafe is enabled and there is sessionStorage support, + memento(t); //the new layout is serialized and stored for 'flex' tables + } + } + syncGrips(t.addClass(SIGNATURE)); + } + } + + }; + + + //bind resize event, to update grips position + $(window).bind('resize.'+SIGNATURE, onResize); + + + /** + * The plugin is added to the jQuery library + * @param {Object} options - an object that holds some basic customization values + */ + $.fn.extend({ + colResizable: function(options) { + var defaults = { + + //attributes: + + resizeMode: 'fit', //mode can be 'fit', 'flex' or 'overflow' + draggingClass: 'JCLRgripDrag', //css-class used when a grip is being dragged (for visual feedback purposes) + gripInnerHtml: '', //if it is required to use a custom grip it can be done using some custom HTML + liveDrag: false, //enables table-layout updating while dragging + minWidth: 15, //minimum width value in pixels allowed for a column + headerOnly: false, //specifies that the size of the the column resizing anchors will be bounded to the size of the first row + hoverCursor: "e-resize", //cursor to be used on grip hover + dragCursor: "e-resize", //cursor to be used while dragging + postbackSafe: false, //when it is enabled, table layout can persist after postback or page refresh. It requires browsers with sessionStorage support (it can be emulated with sessionStorage.js). + flush: false, //when postbakSafe is enabled, and it is required to prevent layout restoration after postback, 'flush' will remove its associated layout data + marginLeft: null, //in case the table contains any margins, colResizable needs to know the values used, e.g. "10%", "15em", "5px" ... + marginRight: null, //in case the table contains any margins, colResizable needs to know the values used, e.g. "10%", "15em", "5px" ... + disable: false, //disables all the enhancements performed in a previously colResized table + partialRefresh: false, //can be used in combination with postbackSafe when the table is inside of an updatePanel, + disabledColumns: [], //column indexes to be excluded + + //events: + onDrag: null, //callback function to be fired during the column resizing process if liveDrag is enabled + onResize: null //callback function fired when the dragging process is over + } + var options = $.extend(defaults, options); + + //since now there are 3 different ways of resizing columns, I changed the external interface to make it clear + //calling it 'resizeMode' but also to remove the "fixed" attribute which was confusing for many people + options.fixed = true; + options.overflow = false; + switch(options.resizeMode){ + case 'flex': options.fixed = false; break; + case 'overflow': options.fixed = false; options.overflow = true; break; + } + + return this.each(function() { + init( this, options); + }); + } + }); +})(jQuery); + Property changes on: base3.10/src/main/webapp/js/com/colResizable-1.6.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/excel.js =================================================================== --- base3.10/src/main/webapp/js/com/excel.js (nonexistent) +++ base3.10/src/main/webapp/js/com/excel.js (revision 7) @@ -0,0 +1,288 @@ +function TXLManager($table){ + var $this = this; + $this.$table = $table; + + if(typeof window.jQuery == 'undefined') + throw "TXLManager Error - jQuery must be required!" + + $this.addTopRowInTable = function(data, style, colspan){ + if(data == null) data = ""; + var css = { + border: "0", + background: "inherit" + }; + if(style && !style.length){ + $.each(Object.keys(style), function(index, key){ + css[key] = style[key]; + }); + } + if(typeof data != "string" && data.length){ + if((style && !style.length) || typeof style == "string") + throw "Cannot use style of object type with multiple data!"; + else if(style && data.length != style.length) + throw "Missmatched style array! style.length must equals to data.length!"; + else if((colspan && !colspan.length) || typeof colspan == "string") + throw "Cannot use colspan of object type with multiple data!"; + else if(colspan && data.length != colspan.length) + throw "Missmatched colspan array! colspan.length must equals to data.length!"; + } + var tr = $this.$table.find("tbody tr"); + if(tr.length){ + var $tr = $(tr[0]); + var cols = $tr.children("td"); + if(!cols) return false; + cols = cols.length; + + var $newTr = $("<tr/>"); + if(typeof data != "string" && data.length){ + $.each(data, function(index, data){ + var tmpCSS = {}; + $.each(Object.keys(css), function(idx, key){ + tmpCSS[key] = css[key]; + }); + $.each(Object.keys(style[index]), function(idx, key){ + tmpCSS[key] = style[index][key]; + }); + var $newTd = null; + if(colspan) + $newTd = $("<td/>", { colspan: colspan[index] }); + else $newTd = $("<td/>"); + $newTd.text(data); + $newTd.css(tmpCSS); + $newTr.append($newTd); + }); + }else{ + var $newTd = $("<td/>",{ + colspan: cols + }); + $newTd.text(data); + $newTd.css(css); + $newTr.append($newTd); + } + var html = $newTr.wrap("<div>").parent().html(); + $newTr.unwrap(); + $newTr.remove(); + if($this.$table.children("thead").length){ + $this.$table.children("thead").html( + html + + $this.$table.children("thead").html() + ); + }else{ + $this.$table.children("tbody").html( + html + + $this.$table.children("tbody").html() + ); + } + } + return $this; + } + + $this.addLeftColInTable = function(data, style){ + if(data == null) data = ""; + var css = { + border: "0", + background: "inherit", + width: "10px" + }; + if(style){ + $.each(Object.keys(style), function(index, key){ + css[key] = style[key]; + }); + } + if($this.$table.find("colgroup").length){ + var $colgroup = $table.children("colgroup"); + var $col = $("<col/>"); + $col.css(css); + var html = $col.wrap("<div>").parent().html(); + $col.unwrap(); + $col.remove(); + $colgroup.html(html + $colgroup.html()); + } + if($this.$table.find("thead").length){ + $.each($($this.$table.find("thead")).children("tr"), function(index, tr){ + var $tr = $(tr); + var $newTd = $("<td>"); + $newTd.text(data); + $newTd.css(css); + var html = $newTd.wrap("<div>").parent().html(); + $newTd.unwrap(); + $newTd.remove(); + $tr.html(html + $tr.html()); + }); + } + if($this.$table.find("tbody").length){ + $.each($($this.$table.find("tbody")).children("tr"), function(index, tr){ + var $tr = $(tr); + var $newTd = $("<td>"); + $newTd.text(data); + $newTd.css(css); + var html = $newTd.wrap("<div>").parent().html(); + $newTd.unwrap(); + $newTd.remove(); + $tr.html(html + $tr.html()); + }); + } + return $this; + } + + $this.wrapTable = function(data, style){ + if(data == null) data = ""; + var css = { + border: "0", + background: "inherit", + width: "10px" + }; + if(style){ + $.each(Object.keys(style), function(index, key){ + css[key] = style[key]; + }); + } + var tr = $this.$table.find("tbody tr"); + if(!tr.length) return; + var $tr = $(tr[0]); + var cols = $tr.children("td"); + if(!cols) return false; + cols = cols.length; + + if($this.$table.find("colgroup").length){ + var $colgroup = $table.children("colgroup"); + var $col = $("<col/>"); + $col.css(css); + $colgroup.append($col); + } + if($this.$table.find("thead").length){ + $.each($($this.$table.find("thead")).children("tr"), function(index, tr){ + var $tr = $(tr); + var $newTd = $("<td>"); + $newTd.text(data); + $newTd.css(css); + $tr.append($newTd); + }); + } + if($this.$table.find("tbody").length){ + $.each($($this.$table.find("tbody")).children("tr"), function(index, tr){ + var $tr = $(tr); + var $newTd = $("<td>"); + $newTd.text(data); + $newTd.css(css); + $tr.append($newTd); + }); + var $tbody = $($this.$table.find("tbody")[0]); + var $newTr = $("<tr/>"); + for(var i = 0; i < cols + 1; i++){ + var $newTd = $("<td>"); + $newTd.text(data); + $newTd.css({ + border: "0", + background: "inherit" + }); + $newTr.append($newTd); + } + $tbody.append($newTr); + } + return $this; + } + + $this.removeAllColumnAt = function(idx){ + var colgroup = $this.$table.find("colgroup col"); + var thead = $this.$table.find("thead tr"); + var tbody = $this.$table.find("tbody tr"); + if(colgroup && colgroup.length && colgroup.length > idx) + $(colgroup[idx]).remove(); + if(thead && thead.length){ + var tr = $(thead[0]).children("th"); + if(tr && tr.length && tr.length > idx) $(tr[idx]).remove(); + } + if(tbody && tbody.length){ + $.each(tbody, function(index, tr){ + var td = $(tr).children("td"); + if(td && td.length && td.length > idx) $(td[idx]).remove(); + }); + } + return $this; + } + + $this.setCSSToTable = function(selector, style){ + var $elements = $($this.$table.find(selector)); + $.each($elements, function(index, element){ + $(element).css(style); + }); + return $this; + } + + $this.exportTableToExcel = function(filename, splitter){ + var tab_text='<table style="display: none; border: 0; border-collapse:collapse;">'; + var textRange; var j=0; + tab = $this.$table[0]; // id of table + for(j = 0 ; j < tab.rows.length ; j++) + tab_text=tab_text+tab.rows[j].innerHTML+"</tr>"; + tab_text=tab_text+"</table>"; + tab_text= tab_text.replace(/<A[^>]*>|<\/A>/g, "");//remove if u want links in your table + tab_text= tab_text.replace(/<img[^>]*>/gi,""); // remove if u want images in your table + tab_text= tab_text.replace(/<input[^>]*>|<\/input>/gi, ""); // reomves input params + if(splitter) tab_text= tab_text.replace(/<br\s*[\/]?>/gi, splitter);//"\r\n"); + + var ua = window.navigator.userAgent; + var msie = ua.indexOf("MSIE "); + + if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer + { + var userAgent = navigator.userAgent.toLowerCase(); + var ie_Version = parseFloat((userAgent.match(/.*(?:rv|ie)[\/: ](.+?)([ \);]|$)/) || [])[1]); + if(ie_Version <= 9){ + var txtArea1 = window.open("#", "_blank", "toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no, width=10, height=10, visible=none", ''); + txtArea1.document.open("txt/html","replace"); + txtArea1.document.write(tab_text); + txtArea1.document.close(); + txtArea1.focus(); + txtArea1.document.execCommand("SaveAs", true, filename + ".xls"); + txtArea1.close(); + } else { + var uri = 'data:application/vnd.ms-excel;base64,' + var template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body>{table}</body></html>'; + var ctx = {worksheet: filename || 'Worksheet', table: tab_text}; + var blob = new Blob([TXLManager.utils.format(template, ctx)], + {type:"application/vnd.ms-excel;charset=utf-8"}); + window.navigator.msSaveOrOpenBlob(blob, filename + '.xls'); + } + } + else{ //other browser not tested on IE 11 + var uri = 'data:application/vnd.ms-excel,' + encodeURIComponent(tab_text); + var link = document.createElement("a"); + link.href = uri; + + //set the visibility hidden so it will not effect on your web-layout + link.style = "visibility:hidden"; + link.download = filename + ".xls"; + + //this part will append the anchor tag and remove it after automatic click + document.body.appendChild(link); + link.click(); + document.body.removeChild(link); + } + + return $this; + }; + + $this.getHTML = function(){ + var $temp = $("<div/>"); + var html = $this.$table.wrap($temp).parent().html(); + $this.$table.unwrap(); + $temp.remove(); + return html; + } + + return { + addTopRowInTable: $this.addTopRowInTable, + addLeftColInTable: $this.addLeftColInTable, + wrapTable: $this.wrapTable, + removeAllColumnAt: $this.removeAllColumnAt, + setCSSToTable: $this.setCSSToTable, + exportTableToExcel: $this.exportTableToExcel, + getHTML: $this.getHTML + }; +} + +TXLManager.utils = {}; +TXLManager.utils.base64 = function(s) { return window.btoa(unescape(encodeURIComponent(s))) }; +TXLManager.utils.format = function(s, c) { return s.replace(/{(\w+)}/g, function(m, p) { return c[p]; }) }; \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/com/excel.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/jquery-1.12.4.min.js =================================================================== --- base3.10/src/main/webapp/js/com/jquery-1.12.4.min.js (nonexistent) +++ base3.10/src/main/webapp/js/com/jquery-1.12.4.min.js (revision 7) @@ -0,0 +1,5 @@ +/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0; +}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}}),function(){var a;l.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,e;return c=d.getElementsByTagName("body")[0],c&&c.style?(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(d.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(e),a):void 0}}();var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),V=["Top","Right","Bottom","Left"],W=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function X(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&U.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var Y=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)Y(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/<tbody/i;function ia(a){Z.test(a.type)&&(a.defaultChecked=a.checked)}function ja(a,b,c,d,e){for(var f,g,h,i,j,k,m,o=a.length,p=ca(b),q=[],r=0;o>r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?"<table>"!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ma.test(f)?this.mouseHooks:la.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=g.srcElement||d),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,h.filter?h.filter(a,g):a},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button,h=b.fromElement;return null==a.pageX&&null!=b.clientX&&(e=a.target.ownerDocument||d,f=e.documentElement,c=e.body,a.pageX=b.clientX+(f&&f.scrollLeft||c&&c.scrollLeft||0)-(f&&f.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(f&&f.scrollTop||c&&c.scrollTop||0)-(f&&f.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&h&&(a.relatedTarget=h===a.target?b.toElement:h),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ra()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ra()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=d.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)}:function(a,b,c){var d="on"+b;a.detachEvent&&("undefined"==typeof a[d]&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?pa:qa):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:qa,isPropagationStopped:qa,isImmediatePropagationStopped:qa,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=pa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=pa,a&&!this.isSimulated&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=pa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submit||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?n.prop(b,"form"):void 0;c&&!n._data(c,"submit")&&(n.event.add(c,"submit._submit",function(a){a._submitBubble=!0}),n._data(c,"submit",!0))})},postDispatch:function(a){a._submitBubble&&(delete a._submitBubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.change||(n.event.special.change={setup:function(){return ka.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._justChanged=!0)}),n.event.add(this,"click._change",function(a){this._justChanged&&!a.isTrigger&&(this._justChanged=!1),n.event.simulate("change",this,a)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;ka.test(b.nodeName)&&!n._data(b,"change")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a)}),n._data(b,"change",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!ka.test(this.nodeName)}}),l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d){return sa(this,a,b,c,d)},one:function(a,b,c,d){return sa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=qa),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ta=/ jQuery\d+="(?:null|\d+)"/g,ua=new RegExp("<(?:"+ba+")[\\s/>]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/<script|<style|<link/i,xa=/checked\s*(?:[^=]|=\s*.checked.)/i,ya=/^true\/(.*)/,za=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ja[0].contentWindow||Ja[0].contentDocument).document,b.write(),b.close(),c=La(a,b),Ja.detach()),Ka[a]=c),c}var Na=/^margin/,Oa=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Pa=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Qa=d.documentElement;!function(){var b,c,e,f,g,h,i=d.createElement("div"),j=d.createElement("div");if(j.style){j.style.cssText="float:left;opacity:.5",l.opacity="0.5"===j.style.opacity,l.cssFloat=!!j.style.cssFloat,j.style.backgroundClip="content-box",j.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===j.style.backgroundClip,i=d.createElement("div"),i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",j.innerHTML="",i.appendChild(j),l.boxSizing=""===j.style.boxSizing||""===j.style.MozBoxSizing||""===j.style.WebkitBoxSizing,n.extend(l,{reliableHiddenOffsets:function(){return null==b&&k(),f},boxSizingReliable:function(){return null==b&&k(),e},pixelMarginRight:function(){return null==b&&k(),c},pixelPosition:function(){return null==b&&k(),b},reliableMarginRight:function(){return null==b&&k(),g},reliableMarginLeft:function(){return null==b&&k(),h}});function k(){var k,l,m=d.documentElement;m.appendChild(i),j.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",b=e=h=!1,c=g=!0,a.getComputedStyle&&(l=a.getComputedStyle(j),b="1%"!==(l||{}).top,h="2px"===(l||{}).marginLeft,e="4px"===(l||{width:"4px"}).width,j.style.marginRight="50%",c="4px"===(l||{marginRight:"4px"}).marginRight,k=j.appendChild(d.createElement("div")),k.style.cssText=j.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",k.style.marginRight=k.style.width="0",j.style.width="1px",g=!parseFloat((a.getComputedStyle(k)||{}).marginRight),j.removeChild(k)),j.style.display="none",f=0===j.getClientRects().length,f&&(j.style.display="",j.innerHTML="<table><tr><td></td><td>t</td></tr></table>",j.childNodes[0].style.borderCollapse="separate",k=j.getElementsByTagName("td"),k[0].style.cssText="margin:0;border:0;padding:0;display:none",f=0===k[0].offsetHeight,f&&(k[0].style.display="",k[1].style.display="none",f=0===k[0].offsetHeight)),m.removeChild(i)}}}();var Ra,Sa,Ta=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ra=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Oa.test(g)&&Na.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0===g?g:g+""}):Qa.currentStyle&&(Ra=function(a){return a.currentStyle},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Oa.test(g)&&!Ta.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Ua(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Va=/alpha\([^)]*\)/i,Wa=/opacity\s*=\s*([^)]*)/i,Xa=/^(none|table(?!-c[ea]).+)/,Ya=new RegExp("^("+T+")(.*)$","i"),Za={position:"absolute",visibility:"hidden",display:"block"},$a={letterSpacing:"0",fontWeight:"400"},_a=["Webkit","O","Moz","ms"],ab=d.createElement("div").style;function bb(a){if(a in ab)return a;var b=a.charAt(0).toUpperCase()+a.slice(1),c=_a.length;while(c--)if(a=_a[c]+b,a in ab)return a}function cb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&W(d)&&(f[g]=n._data(d,"olddisplay",Ma(d.nodeName)))):(e=W(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function db(a,b,c){var d=Ya.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function eb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+V[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+V[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+V[f]+"Width",!0,e))):(g+=n.css(a,"padding"+V[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+V[f]+"Width",!0,e)));return g}function fb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ra(a),g=l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Sa(a,b,f),(0>e||null==e)&&(e=a.style[b]),Oa.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+eb(a,b,c||(g?"border":"content"),d,f)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Sa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=U.exec(c))&&e[1]&&(c=X(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Sa(a,b,d)),"normal"===f&&b in $a&&(f=$a[b]),""===c||c?(e=parseFloat(f),c===!0||isFinite(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Xa.test(n.css(a,"display"))&&0===a.offsetWidth?Pa(a,Za,function(){return fb(a,b,d)}):fb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ra(a);return db(a,c,d?eb(a,b,d,l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Wa.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Va,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Va.test(f)?f.replace(Va,e):f+" "+e)}}),n.cssHooks.marginRight=Ua(l.reliableMarginRight,function(a,b){return b?Pa(a,{display:"inline-block"},Sa,[a,"marginRight"]):void 0}),n.cssHooks.marginLeft=Ua(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Sa(a,"marginLeft"))||(n.contains(a.ownerDocument,a)?a.getBoundingClientRect().left-Pa(a,{ +marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px":void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+V[d]+b]=f[d]||f[d-2]||f[0];return e}},Na.test(a)||(n.cssHooks[a+b].set=db)}),n.fn.extend({css:function(a,b){return Y(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ra(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return cb(this,!0)},hide:function(){return cb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){W(this)?n(this).show():n(this).hide()})}});function gb(a,b,c,d,e){return new gb.prototype.init(a,b,c,d,e)}n.Tween=gb,gb.prototype={constructor:gb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=gb.propHooks[this.prop];return a&&a.get?a.get(this):gb.propHooks._default.get(this)},run:function(a){var b,c=gb.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):gb.propHooks._default.set(this),this}},gb.prototype.init.prototype=gb.prototype,gb.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},gb.propHooks.scrollTop=gb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=gb.prototype.init,n.fx.step={};var hb,ib,jb=/^(?:toggle|show|hide)$/,kb=/queueHooks$/;function lb(){return a.setTimeout(function(){hb=void 0}),hb=n.now()}function mb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=V[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function nb(a,b,c){for(var d,e=(qb.tweeners[b]||[]).concat(qb.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ob(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&W(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k="none"===j?n._data(a,"olddisplay")||Ma(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==Ma(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],jb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(o))"inline"===("none"===j?Ma(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=nb(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function pb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function qb(a,b,c){var d,e,f=0,g=qb.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=hb||lb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:hb||lb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(pb(k,j.opts.specialEasing);g>f;f++)if(d=qb.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,nb,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(qb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return X(c.elem,a,U.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],qb.tweeners[c]=qb.tweeners[c]||[],qb.tweeners[c].unshift(b)},prefilters:[ob],prefilter:function(a,b){b?qb.prefilters.unshift(a):qb.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(W).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=qb(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&kb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(mb(b,!0),a,d,e)}}),n.each({slideDown:mb("show"),slideUp:mb("hide"),slideToggle:mb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(hb=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),hb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ib||(ib=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(ib),ib=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a,b=d.createElement("input"),c=d.createElement("div"),e=d.createElement("select"),f=e.appendChild(d.createElement("option"));c=d.createElement("div"),c.setAttribute("className","t"),c.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],b.setAttribute("type","checkbox"),c.appendChild(b),a=c.getElementsByTagName("a")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==c.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=f.selected,l.enctype=!!d.createElement("form").enctype,e.disabled=!0,l.optDisabled=!f.disabled,b=d.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value}();var rb=/\r/g,sb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(sb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>-1)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var tb,ub,vb=n.expr.attrHandle,wb=/^(?:checked|selected)$/i,xb=l.getSetAttribute,yb=l.input;n.fn.extend({attr:function(a,b){return Y(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ub:tb)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?yb&&xb||!wb.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(xb?c:d)}}),ub={set:function(a,b,c){return b===!1?n.removeAttr(a,c):yb&&xb||!wb.test(c)?a.setAttribute(!xb&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=vb[b]||n.find.attr;yb&&xb||!wb.test(b)?vb[b]=function(a,b,d){var e,f;return d||(f=vb[b],vb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,vb[b]=f),e}:vb[b]=function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),yb&&xb||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):tb&&tb.set(a,b,c)}}),xb||(tb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},vb.id=vb.name=vb.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:tb.set},n.attrHooks.contenteditable={set:function(a,b,c){tb.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var zb=/^(?:input|select|textarea|button|object)$/i,Ab=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return Y(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):zb.test(a.nodeName)||Ab.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var Bb=/[\t\r\n\f]/g;function Cb(a){return n.attr(a,"class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,Cb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,Cb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,Cb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=Cb(this),b&&n._data(this,"__className__",b),n.attr(this,"class",b||a===!1?"":n._data(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+Cb(c)+" ").replace(Bb," ").indexOf(b)>-1)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Db=a.location,Eb=n.now(),Fb=/\?/,Gb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(Gb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new a.DOMParser,c=d.parseFromString(b,"text/xml")):(c=new a.ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var Hb=/#.*$/,Ib=/([?&])_=[^&]*/,Jb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Kb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Lb=/^(?:GET|HEAD)$/,Mb=/^\/\//,Nb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ob={},Pb={},Qb="*/".concat("*"),Rb=Db.href,Sb=Nb.exec(Rb.toLowerCase())||[];function Tb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Ub(a,b,c,d){var e={},f=a===Pb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Vb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Wb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Xb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Rb,type:"GET",isLocal:Kb.test(Sb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Qb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Vb(Vb(a,n.ajaxSettings),b):Vb(n.ajaxSettings,a)},ajaxPrefilter:Tb(Ob),ajaxTransport:Tb(Pb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var d,e,f,g,h,i,j,k,l=n.ajaxSetup({},c),m=l.context||l,o=l.context&&(m.nodeType||m.jquery)?n(m):n.event,p=n.Deferred(),q=n.Callbacks("once memory"),r=l.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!k){k={};while(b=Jb.exec(g))k[b[1].toLowerCase()]=b[2]}b=k[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return j&&j.abort(b),y(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,l.url=((b||l.url||Rb)+"").replace(Hb,"").replace(Mb,Sb[1]+"//"),l.type=c.method||c.type||l.method||l.type,l.dataTypes=n.trim(l.dataType||"*").toLowerCase().match(G)||[""],null==l.crossDomain&&(d=Nb.exec(l.url.toLowerCase()),l.crossDomain=!(!d||d[1]===Sb[1]&&d[2]===Sb[2]&&(d[3]||("http:"===d[1]?"80":"443"))===(Sb[3]||("http:"===Sb[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=n.param(l.data,l.traditional)),Ub(Ob,l,c,w),2===u)return w;i=n.event&&l.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!Lb.test(l.type),f=l.url,l.hasContent||(l.data&&(f=l.url+=(Fb.test(f)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=Ib.test(f)?f.replace(Ib,"$1_="+Eb++):f+(Fb.test(f)?"&":"?")+"_="+Eb++)),l.ifModified&&(n.lastModified[f]&&w.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&w.setRequestHeader("If-None-Match",n.etag[f])),(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",l.contentType),w.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Qb+"; q=0.01":""):l.accepts["*"]);for(e in l.headers)w.setRequestHeader(e,l.headers[e]);if(l.beforeSend&&(l.beforeSend.call(m,w,l)===!1||2===u))return w.abort();v="abort";for(e in{success:1,error:1,complete:1})w[e](l[e]);if(j=Ub(Pb,l,c,w)){if(w.readyState=1,i&&o.trigger("ajaxSend",[w,l]),2===u)return w;l.async&&l.timeout>0&&(h=a.setTimeout(function(){w.abort("timeout")},l.timeout));try{u=1,j.send(s,y)}catch(x){if(!(2>u))throw x;y(-1,x)}}else y(-1,"No Transport");function y(b,c,d,e){var k,s,t,v,x,y=c;2!==u&&(u=2,h&&a.clearTimeout(h),j=void 0,g=e||"",w.readyState=b>0?4:0,k=b>=200&&300>b||304===b,d&&(v=Wb(l,w,d)),v=Xb(l,v,w,k),k?(l.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(n.lastModified[f]=x),x=w.getResponseHeader("etag"),x&&(n.etag[f]=x)),204===b||"HEAD"===l.type?y="nocontent":304===b?y="notmodified":(y=v.state,s=v.data,t=v.error,k=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),w.status=b,w.statusText=(c||y)+"",k?p.resolveWith(m,[s,y,w]):p.rejectWith(m,[w,y,t]),w.statusCode(r),r=void 0,i&&o.trigger(k?"ajaxSuccess":"ajaxError",[w,l,k?s:t]),q.fireWith(m,[w,y]),i&&(o.trigger("ajaxComplete",[w,l]),--n.active||n.event.trigger("ajaxStop")))}return w},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}});function Yb(a){return a.style&&a.style.display||n.css(a,"display")}function Zb(a){if(!n.contains(a.ownerDocument||d,a))return!0;while(a&&1===a.nodeType){if("none"===Yb(a)||"hidden"===a.type)return!0;a=a.parentNode}return!1}n.expr.filters.hidden=function(a){return l.reliableHiddenOffsets()?a.offsetWidth<=0&&a.offsetHeight<=0&&!a.getClientRects().length:Zb(a)},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var $b=/%20/g,_b=/\[\]$/,ac=/\r?\n/g,bc=/^(?:submit|button|image|reset|file)$/i,cc=/^(?:input|select|textarea|keygen)/i;function dc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||_b.test(a)?d(a,e):dc(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)dc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)dc(c,a[c],b,e);return d.join("&").replace($b,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&cc.test(this.nodeName)&&!bc.test(a)&&(this.checked||!Z.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(ac,"\r\n")}}):{name:b.name,value:c.replace(ac,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return this.isLocal?ic():d.documentMode>8?hc():/^(get|post|head|put|delete|options)$/i.test(this.type)&&hc()||ic()}:hc;var ec=0,fc={},gc=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in fc)fc[a](void 0,!0)}),l.cors=!!gc&&"withCredentials"in gc,gc=l.ajax=!!gc,gc&&n.ajaxTransport(function(b){if(!b.crossDomain||l.cors){var c;return{send:function(d,e){var f,g=b.xhr(),h=++ec;if(g.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(f in b.xhrFields)g[f]=b.xhrFields[f];b.mimeType&&g.overrideMimeType&&g.overrideMimeType(b.mimeType),b.crossDomain||d["X-Requested-With"]||(d["X-Requested-With"]="XMLHttpRequest");for(f in d)void 0!==d[f]&&g.setRequestHeader(f,d[f]+"");g.send(b.hasContent&&b.data||null),c=function(a,d){var f,i,j;if(c&&(d||4===g.readyState))if(delete fc[h],c=void 0,g.onreadystatechange=n.noop,d)4!==g.readyState&&g.abort();else{j={},f=g.status,"string"==typeof g.responseText&&(j.text=g.responseText);try{i=g.statusText}catch(k){i=""}f||!b.isLocal||b.crossDomain?1223===f&&(f=204):f=j.text?200:404}j&&e(f,i,j,g.getAllResponseHeaders())},b.async?4===g.readyState?a.setTimeout(c):g.onreadystatechange=fc[h]=c:c()},abort:function(){c&&c(void 0,!0)}}}});function hc(){try{return new a.XMLHttpRequest}catch(b){}}function ic(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=d.head||n("head")[0]||d.documentElement;return{send:function(e,f){b=d.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||f(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var jc=[],kc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=jc.pop()||n.expando+"_"+Eb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(kc.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&kc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(kc,"$1"+e):b.jsonp!==!1&&(b.url+=(Fb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,jc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ja([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var lc=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&lc)return lc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h,a.length)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function mc(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?("undefined"!=typeof e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=mc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Qa})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return Y(this,function(a,d,e){var f=mc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ua(l.pixelPosition,function(a,c){return c?(c=Sa(a,b),Oa.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({ +padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var nc=a.jQuery,oc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=oc),b&&a.jQuery===n&&(a.jQuery=nc),n},b||(a.jQuery=a.$=n),n}); Property changes on: base3.10/src/main/webapp/js/com/jquery-1.12.4.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/ColReorderWithResize.js =================================================================== --- base3.10/src/main/webapp/js/com/ColReorderWithResize.js (nonexistent) +++ base3.10/src/main/webapp/js/com/ColReorderWithResize.js (revision 7) @@ -0,0 +1,1757 @@ +/** + * @license + * File: ColReorderWithResize.js + * Version: 3.0 + * CVS: $Id$ + * Description: Allow columns to be reordered in a DataTable + * Author: Allan Jardine (www.sprymedia.co.uk) + * Author: Christophe Battarel (www.altairis.fr) + * Created: Wed Sep 15 18:23:29 BST 2010 + * Modified: July 2011 by Christophe Battarel - christophe.battarel@altairis.fr (columns resizable) + * Modified: February 2012 by Martin Marchetta - martin.marchetta@gmail.com + * 1. Made the "hot area" for resizing a little wider (it was a little difficult to hit the exact border of a column for resizing) + * 2. Resizing didn't work at all when using scroller (that plugin splits the table into 2 different tables: one for the header and another one for the body, so when you resized the header, the data columns didn't follow) + * 3. Fixed collateral effects of sorting feature + * 4. If sScrollX is enabled (i.e. horizontal scrolling), when resizing a column the width of the other columns is not changed, but the whole + * table is resized to give an Excel-like behavior (good suggestion by Allan) + * Modified: February 2012 by Christophe Battarel - christophe.battarel@altairis.fr (ColReorder v1.0.5 adaptation) + * Modified: September 16th 2012 by Hassan Kamara - h@phrmc.com + * Modified: June 2017 by Jeff Walter - jeffreydwalter@gmail.com + * 1. ColReorder v1.3.3 adaptation. + * 2. Fixed issues with column width calculations which allowed column headers to become misaligned with table body when using scroller plugin. + * Modified: June 2018 by Jeff Walter - jeffreydwalter@gmail.com + * 1. Took a second stab at this plugin. Made things work for both scroller and non-scroller tables. + * Language: Javascript + * License: MIT + * Project: DataTables + * + */ + +(function( factory ){ + if ( typeof define === 'function' && define.amd ) { + // AMD + define( ['jquery', 'datatables.net'], function ( $ ) { + return factory( $, window, document ); + } ); + } + else if ( typeof exports === 'object' ) { + // CommonJS + module.exports = function (root, $) { + if ( ! root ) { + root = window; + } + + if ( ! $ || ! $.fn.dataTable ) { + $ = require('datatables.net')(root, $).$; + } + + return factory( $, root, root.document ); + }; + } + else { + // Browser + factory( jQuery, window, document ); + } +}(function( $, window, document, undefined ) { +'use strict'; +var DataTable = $.fn.dataTable; + + + +/** + * Switch the key value pairing of an index array to be value key (i.e. the old value is now the + * key). For example consider [ 2, 0, 1 ] this would be returned as [ 1, 2, 0 ]. + * @method fnInvertKeyValues + * @param array aIn Array to switch around + * @returns array + */ +function fnInvertKeyValues( aIn ) +{ + var aRet=[]; + for ( var i=0, iLen=aIn.length ; i<iLen ; i++ ) + { + aRet[ aIn[i] ] = i; + } + return aRet; +} + +/** + * Modify an array by switching the position of two elements + * @method fnArraySwitch + * @param array aArray Array to consider, will be modified by reference (i.e. no return) + * @param int iFrom From point + * @param int iTo Insert point + * @returns void + */ +function fnArraySwitch( aArray, iFrom, iTo ) +{ + var mStore = aArray.splice( iFrom, 1 )[0]; + aArray.splice( iTo, 0, mStore ); +} + +/** + * Switch the positions of nodes in a parent node (note this is specifically designed for + * table rows). Note this function considers all element nodes under the parent! + * @method fnDomSwitch + * @param string sTag Tag to consider + * @param int iFrom Element to move + * @param int Point to element the element to (before this point), can be null for append + * @returns void + */ +function fnDomSwitch( nParent, iFrom, iTo ) +{ + var anTags = []; + for ( var i=0, iLen=nParent.childNodes.length ; i<iLen ; i++ ) + { + if ( nParent.childNodes[i].nodeType == 1 ) + { + anTags.push( nParent.childNodes[i] ); + } + } + var nStore = anTags[ iFrom ]; + + if ( iTo !== null ) + { + nParent.insertBefore( nStore, anTags[iTo] ); + } + else + { + nParent.appendChild( nStore ); + } +} + +/** + * Plug-in for DataTables which will reorder the internal column structure by taking the column + * from one position (iFrom) and insert it into a given point (iTo). + * @method $.fn.dataTableExt.oApi.fnColReorder + * @param object oSettings DataTables settings object - automatically added by DataTables! + * @param int iFrom Take the column to be repositioned from this point + * @param int iTo and insert it into this point + * @param bool drop Indicate if the reorder is the final one (i.e. a drop) + * not a live reorder + * @param bool invalidateRows speeds up processing if false passed + * @returns void + */ +$.fn.dataTableExt.oApi.fnColReorder = function ( oSettings, iFrom, iTo, drop, invalidateRows ) +{ + var i, iLen, j, jLen, jen, iCols=oSettings.aoColumns.length, nTrs, oCol; + var attrMap = function ( obj, prop, mapping ) { + if ( ! obj[ prop ] || typeof obj[ prop ] === 'function' ) { + return; + } + + var a = obj[ prop ].split('.'); + var num = a.shift(); + + if ( isNaN( num*1 ) ) { + return; + } + + obj[ prop ] = mapping[ num*1 ]+'.'+a.join('.'); + }; + + /* Sanity check in the input */ + if ( iFrom == iTo ) + { + /* Pointless reorder */ + return; + } + + if ( iFrom < 0 || iFrom >= iCols ) + { + this.oApi._fnLog( oSettings, 1, "ColReorder 'from' index is out of bounds: "+iFrom ); + return; + } + + if ( iTo < 0 || iTo >= iCols ) + { + this.oApi._fnLog( oSettings, 1, "ColReorder 'to' index is out of bounds: "+iTo ); + return; + } + + /* + * Calculate the new column array index, so we have a mapping between the old and new + */ + var aiMapping = []; + for ( i=0, iLen=iCols ; i<iLen ; i++ ) + { + aiMapping[i] = i; + } + fnArraySwitch( aiMapping, iFrom, iTo ); + var aiInvertMapping = fnInvertKeyValues( aiMapping ); + + + /* + * Convert all internal indexing to the new column order indexes + */ + /* Sorting */ + for ( i=0, iLen=oSettings.aaSorting.length ; i<iLen ; i++ ) + { + oSettings.aaSorting[i][0] = aiInvertMapping[ oSettings.aaSorting[i][0] ]; + } + + /* Fixed sorting */ + if ( oSettings.aaSortingFixed !== null ) + { + for ( i=0, iLen=oSettings.aaSortingFixed.length ; i<iLen ; i++ ) + { + oSettings.aaSortingFixed[i][0] = aiInvertMapping[ oSettings.aaSortingFixed[i][0] ]; + } + } + + /* Data column sorting (the column which the sort for a given column should take place on) */ + for ( i=0, iLen=iCols ; i<iLen ; i++ ) + { + oCol = oSettings.aoColumns[i]; + for ( j=0, jLen=oCol.aDataSort.length ; j<jLen ; j++ ) + { + oCol.aDataSort[j] = aiInvertMapping[ oCol.aDataSort[j] ]; + } + + // Update the column indexes + oCol.idx = aiInvertMapping[ oCol.idx ]; + } + + // Update 1.10 optimised sort class removal variable + $.each( oSettings.aLastSort, function (i, val) { + oSettings.aLastSort[i].src = aiInvertMapping[ val.src ]; + } ); + + /* Update the Get and Set functions for each column */ + for ( i=0, iLen=iCols ; i<iLen ; i++ ) + { + oCol = oSettings.aoColumns[i]; + + if ( typeof oCol.mData == 'number' ) { + oCol.mData = aiInvertMapping[ oCol.mData ]; + } + else if ( $.isPlainObject( oCol.mData ) ) { + // HTML5 data sourced + attrMap( oCol.mData, '_', aiInvertMapping ); + attrMap( oCol.mData, 'filter', aiInvertMapping ); + attrMap( oCol.mData, 'sort', aiInvertMapping ); + attrMap( oCol.mData, 'type', aiInvertMapping ); + } + } + + /* + * Move the DOM elements + */ + if ( oSettings.aoColumns[iFrom].bVisible ) + { + /* Calculate the current visible index and the point to insert the node before. The insert + * before needs to take into account that there might not be an element to insert before, + * in which case it will be null, and an appendChild should be used + */ + var iVisibleIndex = this.oApi._fnColumnIndexToVisible( oSettings, iFrom ); + var iInsertBeforeIndex = null; + + i = iTo < iFrom ? iTo : iTo + 1; + while ( iInsertBeforeIndex === null && i < iCols ) + { + iInsertBeforeIndex = this.oApi._fnColumnIndexToVisible( oSettings, i ); + i++; + } + + /* Header */ + nTrs = oSettings.nTHead.getElementsByTagName('tr'); + for ( i=0, iLen=nTrs.length ; i<iLen ; i++ ) + { + fnDomSwitch( nTrs[i], iVisibleIndex, iInsertBeforeIndex ); + } + + /* Footer */ + if ( oSettings.nTFoot !== null ) + { + nTrs = oSettings.nTFoot.getElementsByTagName('tr'); + for ( i=0, iLen=nTrs.length ; i<iLen ; i++ ) + { + fnDomSwitch( nTrs[i], iVisibleIndex, iInsertBeforeIndex ); + } + } + + /* Body */ + for ( i=0, iLen=oSettings.aoData.length ; i<iLen ; i++ ) + { + if ( oSettings.aoData[i].nTr !== null ) + { + fnDomSwitch( oSettings.aoData[i].nTr, iVisibleIndex, iInsertBeforeIndex ); + } + } + } + + /* + * Move the internal array elements + */ + /* Columns */ + fnArraySwitch( oSettings.aoColumns, iFrom, iTo ); + + // regenerate the get / set functions + for ( i=0, iLen=iCols ; i<iLen ; i++ ) { + oSettings.oApi._fnColumnOptions( oSettings, i, {} ); + } + + /* Search columns */ + fnArraySwitch( oSettings.aoPreSearchCols, iFrom, iTo ); + + /* Array array - internal data anodes cache */ + for ( i=0, iLen=oSettings.aoData.length ; i<iLen ; i++ ) + { + var data = oSettings.aoData[i]; + var cells = data.anCells; + + if ( cells ) { + fnArraySwitch( cells, iFrom, iTo ); + + // Longer term, should this be moved into the DataTables' invalidate + // methods? + for ( j=0, jen=cells.length ; j<jen ; j++ ) { + if ( cells[j] && cells[j]._DT_CellIndex ) { + cells[j]._DT_CellIndex.column = j; + } + } + } + + // For DOM sourced data, the invalidate will reread the cell into + // the data array, but for data sources as an array, they need to + // be flipped + if ( data.src !== 'dom' && $.isArray( data._aData ) ) { + fnArraySwitch( data._aData, iFrom, iTo ); + } + } + + /* Reposition the header elements in the header layout array */ + for ( i=0, iLen=oSettings.aoHeader.length ; i<iLen ; i++ ) + { + fnArraySwitch( oSettings.aoHeader[i], iFrom, iTo ); + } + + if ( oSettings.aoFooter !== null ) + { + for ( i=0, iLen=oSettings.aoFooter.length ; i<iLen ; i++ ) + { + fnArraySwitch( oSettings.aoFooter[i], iFrom, iTo ); + } + } + + if ( invalidateRows || invalidateRows === undefined ) + { + $.fn.dataTable.Api( oSettings ).rows().invalidate(); + } + + /* + * Update DataTables' event handlers + */ + + /* Sort listener */ + for ( i=0, iLen=iCols ; i<iLen ; i++ ) + { + $(oSettings.aoColumns[i].nTh).off('click.DT'); + this.oApi._fnSortAttachListener( oSettings, oSettings.aoColumns[i].nTh, i ); + } + + /* Fire an event so other plug-ins can update */ + $(oSettings.oInstance).trigger( 'column-reorder.dt', [ oSettings, { + from: iFrom, + to: iTo, + mapping: aiInvertMapping, + drop: drop, + + // Old style parameters for compatibility + iFrom: iFrom, + iTo: iTo, + aiInvertMapping: aiInvertMapping + } ] ); +}; + +/** + * ColReorder provides column visibility control for DataTables + * @class ColReorder + * @constructor + * @param {object} dt DataTables settings object + * @param {object} opts ColReorder options + */ +var ColReorder = function( dt, opts ) +{ + var settings = new $.fn.dataTable.Api( dt ).settings()[0]; + + // Ensure that we can't initialise on the same table twice + if ( settings._colReorder ) { + return settings._colReorder; + } + + // Allow the options to be a boolean for defaults + if ( opts === true ) { + opts = {}; + } + + // Convert from camelCase to Hungarian, just as DataTables does + var camelToHungarian = $.fn.dataTable.camelToHungarian; + if ( camelToHungarian ) { + camelToHungarian( ColReorder.defaults, ColReorder.defaults, true ); + camelToHungarian( ColReorder.defaults, opts || {} ); + } + + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Public class variables + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + + /** + * @namespace Settings object which contains customisable information for ColReorder instance + */ + this.s = { + /** + * DataTables settings object + * @property dt + * @type Object + * @default null + */ + "dt": null, + + /** + * Initialisation object used for this instance + * @property init + * @type object + * @default {} + */ + "init": $.extend( true, {}, ColReorder.defaults, opts ), + + /** + * Allow Reorder functionnality + * @property allowReorder + * @type boolean + * @default true + */ + "allowReorder": true, + + /** + * Allow Resize functionnality + * @property allowResize + * @type boolean + * @default true + */ + "allowResize": true, + + /** + * Number of columns to fix (not allow to be reordered) + * @property fixed + * @type int + * @default 0 + */ + "fixed": 0, + + /** + * Number of columns to fix counting from right (not allow to be reordered) + * @property fixedRight + * @type int + * @default 0 + */ + "fixedRight": 0, + + /** + * Callback function for once the reorder has been done + * @property reorderCallback + * @type function + * @default null + */ + "reorderCallback": null, + + /** + * Callback function for once the resize has been done + * @property resizeCallback + * @type function + * @default null + */ + "resizeCallback": null, + + /** + * @namespace Information used for the mouse drag + */ + "mouse": { + "startX": -1, + "startY": -1, + "offsetX": -1, + "offsetY": -1, + "target": -1, + "targetIndex": -1, + "fromIndex": -1 + }, + + /** + * Information which is used for positioning the insert cusor and knowing where to do the + * insert. Array of objects with the properties: + * x: x-axis position + * to: insert point + * @property aoTargets + * @type array + * @default [] + */ + "aoTargets": [] + }; + + + /** + * @namespace Common and useful DOM elements for the class instance + */ + this.dom = { + /** + * Dragging element (the one the mouse is moving) + * @property drag + * @type element + * @default null + */ + "drag": null, + + /** + * Resizing a column + * @property drag + * @type element + * @default null + */ + "resize": null, + + /** + * The insert cursor + * @property pointer + * @type element + * @default null + */ + "pointer": null + }; + + /* Constructor logic */ + this.s.dt = settings; + + // Keep the current table's size in order to resize it if columns are resized and scrollX is enabled. + if(this.s.dt.oInit.sScrollX === undefined) { + this.table_size = -1; + } + + this.s.dt._colReorder = this; + this._fnConstruct(); + + return this; +}; + + + +$.extend( ColReorder.prototype, { + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Public methods + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + + /** + * Reset the column ordering to the original ordering that was detected on + * start up. + * @return {this} Returns `this` for chaining. + * + * @example + * // DataTables initialisation with ColReorder + * var table = $('#example').dataTable( { + * "sDom": 'Rlfrtip' + * } ); + * + * // Add click event to a button to reset the ordering + * $('#resetOrdering').click( function (e) { + * e.preventDefault(); + * $.fn.dataTable.ColReorder( table ).fnReset(); + * } ); + */ + "fnReset": function () + { + this._fnOrderColumns( this.fnOrder() ); + + return this; + }, + + /** + * `Deprecated` - Get the current order of the columns, as an array. + * @return {array} Array of column identifiers + * @deprecated `fnOrder` should be used in preference to this method. + * `fnOrder` acts as a getter/setter. + */ + "fnGetCurrentOrder": function () + { + return this.fnOrder(); + }, + + /** + * Get the current order of the columns, as an array. Note that the values + * given in the array are unique identifiers for each column. Currently + * these are the original ordering of the columns that was detected on + * start up, but this could potentially change in future. + * @return {array} Array of column identifiers + * + * @example + * // Get column ordering for the table + * var order = $.fn.dataTable.ColReorder( dataTable ).fnOrder(); + *//** + * Set the order of the columns, from the positions identified in the + * ordering array given. Note that ColReorder takes a brute force approach + * to reordering, so it is possible multiple reordering events will occur + * before the final order is settled upon. + * @param {array} [set] Array of column identifiers in the new order. Note + * that every column must be included, uniquely, in this array. + * @return {this} Returns `this` for chaining. + * + * @example + * // Swap the first and second columns + * $.fn.dataTable.ColReorder( dataTable ).fnOrder( [1, 0, 2, 3, 4] ); + * + * @example + * // Move the first column to the end for the table `#example` + * var curr = $.fn.dataTable.ColReorder( '#example' ).fnOrder(); + * var first = curr.shift(); + * curr.push( first ); + * $.fn.dataTable.ColReorder( '#example' ).fnOrder( curr ); + * + * @example + * // Reverse the table's order + * $.fn.dataTable.ColReorder( '#example' ).fnOrder( + * $.fn.dataTable.ColReorder( '#example' ).fnOrder().reverse() + * ); + */ + "fnOrder": function ( set, original ) + { + var a = [], i, ien, j, jen; + var columns = this.s.dt.aoColumns; + + if ( set === undefined ){ + for ( i=0, ien=columns.length ; i<ien ; i++ ) { + a.push( columns[i]._ColReorder_iOrigCol ); + } + + return a; + } + + // The order given is based on the original indexes, rather than the + // existing ones, so we need to translate from the original to current + // before then doing the order + if ( original ) { + var order = this.fnOrder(); + + for ( i=0, ien=set.length ; i<ien ; i++ ) { + a.push( $.inArray( set[i], order ) ); + } + + set = a; + } + + this._fnOrderColumns( fnInvertKeyValues( set ) ); + + return this; + }, + + /** + * Convert from the original column index, to the original + * + * @param {int|array} idx Index(es) to convert + * @param {string} dir Transpose direction - `fromOriginal` / `toCurrent` + * or `'toOriginal` / `fromCurrent` + * @return {int|array} Converted values + */ + fnTranspose: function ( idx, dir ) + { + if ( ! dir ) { + dir = 'toCurrent'; + } + + var order = this.fnOrder(); + var columns = this.s.dt.aoColumns; + + if ( dir === 'toCurrent' ) { + // Given an original index, want the current + return ! $.isArray( idx ) ? + $.inArray( idx, order ) : + $.map( idx, function ( index ) { + return $.inArray( index, order ); + } ); + } + else { + // Given a current index, want the original + return ! $.isArray( idx ) ? + columns[idx]._ColReorder_iOrigCol : + $.map( idx, function ( index ) { + return columns[index]._ColReorder_iOrigCol; + } ); + } + }, + + + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Private methods (they are of course public in JS, but recommended as private) + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + + /** + * Constructor logic + * @method _fnConstruct + * @returns void + * @private + */ + "_fnConstruct": function () + { + var that = this; + var iLen = this.s.dt.aoColumns.length; + var table = this.s.dt.nTable; + var i; + + /* allow reorder */ + if ( this.s.init.allowReorder != undefined) + { + this.s.allowReorder = this.s.init.allowReorder; + } + + /* allow resize */ + if ( this.s.init.allowResize != undefined ) + { + this.s.allowResize = this.s.init.allowResize; + } + + /* Columns discounted from reordering - counting left to right */ + if ( this.s.init.iFixedColumns ) + { + this.s.fixed = this.s.init.iFixedColumns; + } + + if ( this.s.init.iFixedColumnsLeft ) + { + this.s.fixed = this.s.init.iFixedColumnsLeft; + } + + /* Classnames added to elements */ + if ( this.s.init.classNameClonedTable ) + { + this.s.classNameClonedTable = this.s.init.classNameClonedTable; + } + + if ( this.s.init.classNamePointer ) + { + this.s.classNamePointer = this.s.init.classNamePointer; + } + + if ( this.s.init.classNameTableHeader ) + { + this.s.classNameTableHeader = this.s.init.classNameTableHeader; + } + + if ( this.s.init.classNameTableHeaderHover ) + { + this.s.classNameTableHeaderHover = this.s.init.classNameTableHeaderHover; + } + + /* Columns discounted from reordering - counting right to left */ + this.s.fixedRight = this.s.init.iFixedColumnsRight ? + this.s.init.iFixedColumnsRight : + 0; + + /* Drop callback initialisation option */ + if ( this.s.init.fnReorderCallback ) + { + this.s.reorderCallback = this.s.init.fnReorderCallback; + } + + /* Reorder callback initialisation option */ + if ( this.s.init.fnResizeCallback ) + { + this.s.resizeCallback = this.s.init.fnResizeCallback; + } + + /* Add event handlers for the drag and drop, and also mark the original column order */ + for ( i = 0; i < iLen; i++ ) + { + if ( i > this.s.fixed-1 && i < iLen - this.s.fixedRight ) + { + this._fnMouseListener( i, this.s.dt.aoColumns[i].nTh ); + } + + /* Mark the original column order for later reference */ + this.s.dt.aoColumns[i]._ColReorder_iOrigCol = i; + } + + /* State saving */ + this.s.dt.oApi._fnCallbackReg( this.s.dt, 'aoStateSaveParams', function (oS, oData) { + that._fnStateSave.call( that, oData ); + }, "ColReorder_State" ); + + /* An initial column order has been specified */ + var aiOrder = null; + if ( this.s.init.aiOrder ) + { + aiOrder = this.s.init.aiOrder.slice(); + } + + /* State loading, overrides the column order given */ + if ( this.s.dt.oLoadedState && typeof this.s.dt.oLoadedState.ColReorder != 'undefined' && + this.s.dt.oLoadedState.ColReorder.length == this.s.dt.aoColumns.length ) + { + aiOrder = this.s.dt.oLoadedState.ColReorder; + } + + /* If we have an order to apply - do so */ + if ( aiOrder ) + { + /* We might be called during or after the DataTables initialisation. If before, then we need + * to wait until the draw is done, if after, then do what we need to do right away + */ + if ( !that.s.dt._bInitComplete ) + { + var bDone = false; + $(table).on( 'draw.dt.colReorder', function () { + if ( !that.s.dt._bInitComplete && !bDone ) + { + bDone = true; + var resort = fnInvertKeyValues( aiOrder ); + that._fnOrderColumns.call( that, resort ); + } + } ); + } + else + { + var resort = fnInvertKeyValues( aiOrder ); + that._fnOrderColumns.call( that, resort ); + } + } + else { + this._fnSetColumnIndexes(); + } + + // Destroy clean up + $(table).on( 'destroy.dt.colReorder', function () { + $(table).off( 'destroy.dt.colReorder draw.dt.colReorder' ); + $(that.s.dt.nTHead).find( '*' ).off( '.ColReorder' ); + + $.each( that.s.dt.aoColumns, function (i, column) { + $(column.nTh).removeAttr('data-column-index'); + } ); + + that.s.dt._colReorder = null; + that.s = null; + } ); + }, + + + /** + * Set the column order from an array + * @method _fnOrderColumns + * @param array a An array of integers which dictate the column order that should be applied + * @returns void + * @private + */ + "_fnOrderColumns": function ( a ) + { + var changed = false; + + if ( a.length != this.s.dt.aoColumns.length ) + { + this.s.dt.oInstance.oApi._fnLog( this.s.dt, 1, "ColReorder - array reorder does not "+ + "match known number of columns. Skipping." ); + return; + } + + for ( var i=0, iLen=a.length ; i<iLen ; i++ ) + { + var currIndex = $.inArray( i, a ); + if ( i != currIndex ) + { + /* Reorder our switching array */ + fnArraySwitch( a, currIndex, i ); + + /* Do the column reorder in the table */ + this.s.dt.oInstance.fnColReorder( currIndex, i, true, false ); + + changed = true; + } + } + + $.fn.dataTable.Api( this.s.dt ).rows().invalidate(); + + this._fnSetColumnIndexes(); + + // Has anything actually changed? If not, then nothing else to do + if ( ! changed ) { + return; + } + + /* When scrolling we need to recalculate the column sizes to allow for the shift */ + if ( this.s.dt.oScroll.sX !== "" || this.s.dt.oScroll.sY !== "" ) + { + this.s.dt.oInstance.fnAdjustColumnSizing( false ); + } + + /* Save the state */ + this.s.dt.oInstance.oApi._fnSaveState( this.s.dt ); + + if ( this.s.reorderCallback !== null ) + { + this.s.reorderCallback.call( this ); + } + }, + + + /** + * Because we change the indexes of columns in the table, relative to their starting point + * we need to reorder the state columns to what they are at the starting point so we can + * then rearrange them again on state load! + * @method _fnStateSave + * @param object oState DataTables state + * @returns string JSON encoded cookie string for DataTables + * @private + */ + "_fnStateSave": function ( oState ) + { + var i, iLen, aCopy, iOrigColumn; + var oSettings = this.s.dt; + var columns = oSettings.aoColumns; + + oState.ColReorder = []; + + /* Sorting */ + if ( oState.aaSorting ) { + // 1.10.0- + for ( i=0 ; i<oState.aaSorting.length ; i++ ) { + oState.aaSorting[i][0] = columns[ oState.aaSorting[i][0] ]._ColReorder_iOrigCol; + } + + var aSearchCopy = $.extend( true, [], oState.aoSearchCols ); + + for ( i=0, iLen=columns.length ; i<iLen ; i++ ) + { + iOrigColumn = columns[i]._ColReorder_iOrigCol; + + /* Column filter */ + oState.aoSearchCols[ iOrigColumn ] = aSearchCopy[i]; + + /* Visibility */ + oState.abVisCols[ iOrigColumn ] = columns[i].bVisible; + + /* Column reordering */ + oState.ColReorder.push( iOrigColumn ); + } + } + else if ( oState.order ) { + // 1.10.1+ + for ( i=0 ; i<oState.order.length ; i++ ) { + oState.order[i][0] = columns[ oState.order[i][0] ]._ColReorder_iOrigCol; + } + + var stateColumnsCopy = $.extend( true, [], oState.columns ); + + for ( i=0, iLen=columns.length ; i<iLen ; i++ ) + { + iOrigColumn = columns[i]._ColReorder_iOrigCol; + + /* Columns */ + oState.columns[ iOrigColumn ] = stateColumnsCopy[i]; + + /* Column reordering */ + oState.ColReorder.push( iOrigColumn ); + } + } + }, + + + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Mouse drop and drag + */ + + /** + * Add a mouse down listener to a particluar TH element + * @method _fnMouseListener + * @param int i Column index + * @param element nTh TH element clicked on + * @returns void + * @private + */ + "_fnMouseListener": function ( i, nTh ) + { + var that = this; + var aoColumns = this.s.dt.aoColumns; + var bSort = that.s.dt.oFeatures.bSort + + var tableHeaderHoverClassname = this.s.classNameTableHeaderHover; + var tableHeaderClassname = this.s.classNameTableHeader; + + // Rebind events since after column re-order they use wrong column indices. + $(nTh).off('.ColReorder'); + + // listen to mousemove event for resize + if (this.s.allowResize) { + $(nTh).on( 'mousemove.ColReorder', function (e) { + if (that.dom.drag === null && that.dom.resize === null) + { + /* Store information about the mouse position */ + var nThTarget = e.target.nodeName == "TH" ? e.target : $(e.target).parents('TH')[0]; + var offset = $(nThTarget).offset(); + var nLength = $(nThTarget).innerWidth(); + + /* are we on the col border (if so, resize col) */ + if (Math.abs(e.pageX - Math.round(offset.left + nLength)) <= 5) + { + $(nThTarget).css({'cursor': 'col-resize'}); + $(nThTarget).removeClass( tableHeaderClassname ); + $(nThTarget).addClass( tableHeaderHoverClassname ); + } + else { + $(nThTarget).css({'cursor': 'pointer'}); + $(nThTarget).removeClass( tableHeaderHoverClassname ); + $(nThTarget).addClass( tableHeaderClassname ); + } + } + } ); + } + + $(nTh) + .on( 'mousedown.ColReorder', function (e) { + e.preventDefault(); + if (e.which == 1) { + that._fnMouseDown.call( that, e, nTh, i ); + } + } ) + .on( 'touchstart.ColReorder', function (e) { + that._fnMouseDown.call( that, e, nTh, i ); + } ); + }, + + + /** + * Mouse down on a TH element in the table header + * @method _fnMouseDown + * @param event e Mouse event + * @param element nTh TH element to be dragged + * @param i The column that's resized/dragged + * @returns void + * @private + */ + "_fnMouseDown": function ( e, nTh, i ) + { + var + that = this, + aoColumns = this.s.dt.aoColumns; + + + function addEventsHandler() { + /* Add event handlers to the document */ + $(document) + .on( 'mousemove.ColReorder touchmove.ColReorder', function (e) { + // Added index of the call being dragged or resized. + that._fnMouseMove.call( that, e, i); + } ) + .on( 'mouseup.ColReorder touchend.ColReorder', function (e) { + e.preventDefault(); + e.stopPropagation(); + that._fnMouseUp.call( that, e, i ); + } ); + } + + /* are we resizing a column ? */ + if ($(nTh).css('cursor') == 'col-resize') { + this.s.mouse.startX = e.pageX; + this.s.mouse.startWidth = $(nTh).width(); + this.s.mouse.resizeElem = $(nTh); + + var nThNext = $(nTh).next(); + this.s.mouse.nextStartWidth = $(nThNext).width(); + that.dom.resize = true; + // Disable column sorting in order to avoid issues when finishing column resizing. + aoColumns[i].CRbSortableCache = aoColumns[i].bSortable; + aoColumns[i].bSortable = false; + // Disable Autowidth feature (now the user is in charge of setting column width so keeping this enabled looses changes after operations). + this.s.dt.oFeatures.bAutoWidth = false; + addEventsHandler(); + } + else if (this.s.allowReorder) { + if (aoColumns[i].bReorderable === false) { + return false; + } + + that.dom.resize = null; + /* Store information about the mouse position */ + var target = $(e.target).closest('th, td'); + var offset = target.offset(); + var idx = parseInt( $(nTh).attr('data-column-index'), 10 ); + + if ( idx === undefined ) { + return; + } + + this.s.mouse.startX = this._fnCursorPosition( e, 'pageX' ); + this.s.mouse.startY = this._fnCursorPosition( e, 'pageY' ); + this.s.mouse.offsetX = this._fnCursorPosition( e, 'pageX' ) - offset.left; + this.s.mouse.offsetY = this._fnCursorPosition( e, 'pageY' ) - offset.top; + this.s.mouse.target = this.s.dt.aoColumns[ idx ].nTh; + this.s.mouse.targetIndex = idx; + this.s.mouse.fromIndex = idx; + + this._fnRegions(); + addEventsHandler(); + } + + }, + + + /** + * Deal with a mouse move event while dragging a node + * @method _fnMouseMove + * @param event e Mouse event + * @param colResized Index of the column that's being dragged or resized (index within the internal model, not the visible order) + * @returns void + * @private + */ + "_fnMouseMove": function ( e, colResized ) + { + var that = this; + + // Handle column resizing. + if(this.dom.resize) { + // Since some columns might have been hidden, find the correct one to resize in the table's body + var currentColumnIndex; + var visibleColumnIndex = -1; + for(currentColumnIndex=-1; currentColumnIndex < this.s.dt.aoColumns.length-1 && currentColumnIndex != colResized; currentColumnIndex++) { + if(this.s.dt.aoColumns[currentColumnIndex+1].bVisible) { + visibleColumnIndex++; + } + } + visibleColumnIndex++; + + var $nTh = $(this.s.mouse.resizeElem); + var $nThNext = $($nTh.next('th')); + var $body = $(this.s.dt.nTBody); + var $head = $(this.s.dt.nTHead); + + var nThInnerWidth = $nTh.first().innerWidth(); + var nThNextInnerWidth = $nThNext.first().innerWidth(); + + var moveLength = e.pageX-this.s.mouse.startX; + var nThWidth = parseInt(this.s.mouse.startWidth + moveLength); + var nThNextWidth = parseInt(this.s.mouse.nextStartWidth - moveLength); + + var scrollXEnabled = this.s.dt.oInit.sScrollX !== undefined; + var scrollYEnabled = this.s.dt.oInit.sScrollY !== undefined; + + // Smart scrolling is not enabled. + if(!scrollXEnabled && !scrollYEnabled) { + if(moveLength < 0) { + // Hack to calculate the minimum width of the column based on contents. + $nTh.width('1%'); + var minNThWidth = $nTh.width(); + $nTh.width(this.s.mouse.startWidth); + + if(nThWidth >= minNThWidth) { + $nTh.width(nThWidth); + } + else { + $nTh.width(minNThWidth); + } + } + else { + // Hack to calculate the minimum width of the column based on contents. + $nThNext.width('1%'); + var minNThNextWidth = $nThNext.width(); + $nThNext.width(this.s.mouse.nextStartWidth); + + if(nThNextInnerWidth <= minNThNextWidth) { return; } + + $nTh.width(nThWidth); + } + } + // Smart scrolling is enabled. + else { + // Keep the current table's width (used in case sScrollX is enabled to resize the whole table, giving an Excel-like behavior) + var $scrollHead = $(this.s.dt.nScrollHead); + var $scrollBody = $(this.s.dt.nScrollBody); + + // Keep the current table's width (used in case sScrollX is enabled to resize the whole table, giving an Excel-like behavior) + if(scrollXEnabled) { + var $scrollHeadInner = $scrollHead.find('div.dataTables_scrollHeadInner'); + var $scrollHeadTableWrapper = $(this.s.dt.nTableWrapper); + if((this.table_size === undefined || this.table_size < 0) && $scrollHeadTableWrapper.length > 0) { + this.table_size = $($scrollHead[0].childNodes[0].childNodes[0]).width(); + } + + if(this.table_size + moveLength > $scrollHeadTableWrapper.width()) { + // Resize the header too (if sScrollX is enabled). + if($scrollHeadTableWrapper.length) { + $($scrollHeadTableWrapper[0].childNodes[0].childNodes[0]).width(this.table_size + moveLength); + } + $($scrollHeadInner).width(this.table_size + moveLength); + + // Resize the table too (if sScrollX is enabled). + var new_table_size = this.table_size; + if(this.table_size + moveLength > $scrollHeadTableWrapper.width()) { + new_table_size += moveLength; + } + $scrollBody.closest('.dataTables_scroll').find('.dataTables_scrollHead table').first().width(new_table_size); + $scrollBody.closest('.dataTables_scroll').find('.dataTables_scrollBody table').first().width(new_table_size); + } + } + + // When resizing the header, also resize the table's body (when enabling the Scroller, the table's header and + // body are split into different tables, so the column resizing doesn't work anymore). + // Since some columns might have been hidden, find the correct one to resize in the table's body + + // Get the first row in the scrollBody thead. + var $scrollBodyTheadTr = $scrollBody.find('thead').first('tr'); + var $scrollBodyNTh = $scrollBodyTheadTr.find('th:nth-child('+visibleColumnIndex+')'); + var $scrollBodyNThNext = $scrollBodyTheadTr.find('th:nth-child('+(visibleColumnIndex+1)+')'); + var $scrollBodyThSizing = $scrollBodyNTh.find('.dataTables_sizing'); + var $scrollBodyThNextSizing = $scrollBodyNThNext.find('.dataTables_sizing'); + + // Get the first row in the scrollBody tbody. + var $scrollBodyTbodyTr = $scrollBody.find('tbody').first('tr'); + var $scrollBodyNTd = $scrollBodyTbodyTr.find('td:nth-child('+visibleColumnIndex+')'); + var $scrollBodyNTdNext = $scrollBodyTbodyTr.find('td:nth-child('+(visibleColumnIndex+1)+')'); + + if(moveLength < 0) { + // Hack to calculate the minimum width of the column based on contents. + $scrollBodyNTh.width('1%'); + var minNThWidth = $scrollBodyNTh.width(); + $scrollBodyNTh.width(this.s.mouse.startWidth); + + if(nThWidth >= minNThWidth) { + $nTh.width(nThWidth); + $scrollBodyNTh.width(nThWidth); + } + else { + $nTh.width(minNThWidth); + $scrollBodyNTh.width(minNThWidth); + } + } + else { + // Hack to calculate the minimum width of the column based on contents. + $scrollBodyNThNext.width('1%'); + var minNThNextWidth = $scrollBodyNThNext.width(); + $scrollBodyNThNext.width(this.s.mouse.nextStartWidth); + + if($scrollBodyNThNext.width() <= minNThNextWidth) { return; } + + $nTh.width(nThWidth); + $scrollBodyNTh.width(nThWidth); + } + } + } + else if(this.s.allowReorder) { + if( this.dom.drag === null ) { + /* Only create the drag element if the mouse has moved a specific distance from the start + * point - this allows the user to make small mouse movements when sorting and not have a + * possibly confusing drag element showing up + */ + if ( Math.pow( + Math.pow(this._fnCursorPosition( e, 'pageX') - this.s.mouse.startX, 2) + + Math.pow(this._fnCursorPosition( e, 'pageY') - this.s.mouse.startY, 2), 0.5 ) < 5 ) + { + return; + } + this._fnCreateDragNode(); + } + + /* Position the element - we respect where in the element the click occured */ + this.dom.drag.css( { + left: this._fnCursorPosition( e, 'pageX' ) - this.s.mouse.offsetX, + top: this._fnCursorPosition( e, 'pageY' ) - this.s.mouse.offsetY + } ); + + /* Based on the current mouse position, calculate where the insert should go */ + var bSet = false; + var lastToIndex = this.s.mouse.toIndex; + + for ( var i=1, iLen=this.s.aoTargets.length ; i<iLen ; i++ ) + { + if ( this._fnCursorPosition(e, 'pageX') < this.s.aoTargets[i-1].x + ((this.s.aoTargets[i].x-this.s.aoTargets[i-1].x)/2) ) + { + this.dom.pointer.css( 'left', this.s.aoTargets[i-1].x ); + this.s.mouse.toIndex = this.s.aoTargets[i-1].to; + bSet = true; + break; + } + } + + // The insert element wasn't positioned in the array (less than + // operator), so we put it at the end + if ( !bSet ) + { + this.dom.pointer.css( 'left', this.s.aoTargets[this.s.aoTargets.length-1].x ); + this.s.mouse.toIndex = this.s.aoTargets[this.s.aoTargets.length-1].to; + } + + // Perform reordering if realtime updating is on and the column has moved + if ( this.s.init.bRealtime && lastToIndex !== this.s.mouse.toIndex ) { + this.s.dt.oInstance.fnColReorder( this.s.mouse.fromIndex, this.s.mouse.toIndex, false ); + this.s.mouse.fromIndex = this.s.mouse.toIndex; + this._fnRegions(); + } + } + }, + + + /** + * Finish off the mouse drag and insert the column where needed + * @method _fnMouseUp + * @param event e Mouse event + * @param colResized The index of the column that was just dragged or resized (index within the internal model, not the visible order). + * @returns void + * @private + */ + "_fnMouseUp": function ( e, colResized) + { + var that = this; + + $(document).off('.ColReorder'); + + if ( this.dom.drag !== null ) + { + /* Remove the guide elements */ + this.dom.drag.remove(); + this.dom.pointer.remove(); + this.dom.drag = null; + this.dom.pointer = null; + + /* Actually do the reorder */ + this.s.dt.oInstance.fnColReorder( this.s.mouse.fromIndex, this.s.mouse.toIndex, true ); + this._fnSetColumnIndexes(); + + /* When scrolling we need to recalculate the column sizes to allow for the shift */ + if ( this.s.dt.oScroll.sX !== "" || this.s.dt.oScroll.sY !== "" ) + { + this.s.dt.oInstance.fnAdjustColumnSizing( false ); + } + + this.s.dt.oInstance.trigger('column-reorder.dt.mouseup', [ this.s.dt ] ); + + /* Save the state */ + this.s.dt.oInstance.oApi._fnSaveState( this.s.dt ); + + if ( this.s.reorderCallback !== null ) + { + this.s.reorderCallback.call( this ); + } + } + else if(this.dom.resize !== null) { + var i; + var j; + var currentColumn; + var nextVisibleColumnIndex; + var previousVisibleColumnIndex; + var scrollXEnabled; + + //Re-enable column sorting + this.s.dt.aoColumns[colResized].bSortable = this.s.dt.aoColumns[colResized].CRbSortableCache; + + //Save the new resized column's width + this.s.dt.aoColumns[colResized].sWidth = $(this.s.mouse.resizeElem).width() + "px"; + + //If other columns might have changed their size, save their size too + scrollXEnabled = this.s.dt.oInit.sScrollX === "" ? false : true; + if(!scrollXEnabled) { + //The colResized index (internal model) here might not match the visible index since some columns might have been hidden + for(nextVisibleColumnIndex=colResized+1; nextVisibleColumnIndex < this.s.dt.aoColumns.length; nextVisibleColumnIndex++) { + if(this.s.dt.aoColumns[nextVisibleColumnIndex].bVisible) { + break; + } + } + + for(previousVisibleColumnIndex=colResized-1; previousVisibleColumnIndex >= 0; previousVisibleColumnIndex--) { + if(this.s.dt.aoColumns[previousVisibleColumnIndex].bVisible) { + break; + } + } + + if(this.s.dt.aoColumns.length > nextVisibleColumnIndex) { + this.s.dt.aoColumns[nextVisibleColumnIndex].sWidth = $(this.s.mouse.resizeElem).next().width() + "px"; + } + // The column resized is the right-most, so save the sizes of all the columns at the left + else { + currentColumn = this.s.mouse.resizeElem; + for(i = previousVisibleColumnIndex; i > 0; i--) { + if(this.s.dt.aoColumns[i].bVisible) { + currentColumn = $(currentColumn).prev(); + this.s.dt.aoColumns[i].sWidth = $(currentColumn).width() + "px"; + } + } + } + } + + // Update the internal storage of the table's width (in case we changed it because the user resized some column and scrollX was enabled + if(scrollXEnabled && $(this.s.dt.nScrollHead, this.s.dt.nTableWrapper) != undefined){ + if($(this.s.dt.nScrollHead, this.s.dt.nTableWrapper).length > 0) + this.table_size = $($(this.s.dt.nScrollHead, this.s.dt.nTableWrapper)[0].childNodes[0].childNodes[0]).width(); + } + + this.s.dt.oInstance.trigger('column-resize.dt.mouseup', [ this.s.dt ] ); + + /* Save the state */ + this.s.dt.oInstance.oApi._fnSaveState( this.s.dt ); + + /* When scrolling we need to recalculate the column sizes to allow for the shift */ + if (scrollXEnabled && (this.s.dt.oScroll.sX !== "" || this.s.dt.oScroll.sY !== "" )) + { + this.s.dt.oInstance.fnAdjustColumnSizing( false ); + } + + if ( this.s.resizeCallback !== null ) + { + this.s.resizeCallback.call( this ); + } + } + + this.dom.resize = null; + return false; + }, + + + /** + * Calculate a cached array with the points of the column inserts, and the + * 'to' points + * @method _fnRegions + * @returns void + * @private + */ + "_fnRegions": function () + { + var aoColumns = this.s.dt.aoColumns; + + this.s.aoTargets.splice( 0, this.s.aoTargets.length ); + + this.s.aoTargets.push( { + "x": $(this.s.dt.nTable).offset().left, + "to": 0 + } ); + + var iToPoint = 0; + var total = this.s.aoTargets[0].x; + + for ( var i=0, iLen=aoColumns.length ; i<iLen ; i++ ) + { + /* For the column / header in question, we want it's position to remain the same if the + * position is just to it's immediate left or right, so we only increment the counter for + * other columns + */ + if ( i != this.s.mouse.fromIndex ) + { + iToPoint++; + } + + if ( aoColumns[i].bVisible && aoColumns[i].nTh.style.display !=='none' ) + { + total += $(aoColumns[i].nTh).outerWidth(); + + this.s.aoTargets.push( { + "x": total, + "to": iToPoint + } ); + } + } + + /* Disallow columns for being reordered by drag and drop, counting right to left */ + if ( this.s.fixedRight !== 0 ) + { + this.s.aoTargets.splice( this.s.aoTargets.length - this.s.fixedRight ); + } + + /* Disallow columns for being reordered by drag and drop, counting left to right */ + if ( this.s.fixed !== 0 ) + { + this.s.aoTargets.splice( 0, this.s.fixed ); + } + }, + + + /** + * Copy the TH element that is being drags so the user has the idea that they are actually + * moving it around the page. + * @method _fnCreateDragNode + * @returns void + * @private + */ + "_fnCreateDragNode": function () + { + var scrolling = this.s.dt.oScroll.sX !== "" || this.s.dt.oScroll.sY !== ""; + + var origCell = this.s.dt.aoColumns[ this.s.mouse.targetIndex ].nTh; + var origTr = origCell.parentNode; + var origThead = origTr.parentNode; + var origTable = origThead.parentNode; + var cloneCell = $(origCell).clone(); + + // This is a slightly odd combination of jQuery and DOM, but it is the + // fastest and least resource intensive way I could think of cloning + // the table with just a single header cell in it. + this.dom.drag = $(origTable.cloneNode(false)) + .addClass( this.s.classNameClonedTable ) + .append( + $(origThead.cloneNode(false)).append( + $(origTr.cloneNode(false)).append( + cloneCell[0] + ) + ) + ) + .css( { + position: 'absolute', + top: 0, + left: 0, + width: $(origCell).outerWidth(), + height: $(origCell).outerHeight() + } ) + .appendTo( 'body' ); + + this.dom.pointer = $('<div></div>') + .addClass( this.s.classNamePointer ) + .css( { + position: 'absolute', + top: scrolling ? + $('div.dataTables_scroll', this.s.dt.nTableWrapper).offset().top : + $(this.s.dt.nTable).offset().top, + height : scrolling ? + $('div.dataTables_scroll', this.s.dt.nTableWrapper).height() : + $(this.s.dt.nTable).height() + } ) + .appendTo( 'body' ); + }, + + + /** + * Add a data attribute to the column headers, so we know the index of + * the row to be reordered. This allows fast detection of the index, and + * for this plug-in to work with FixedHeader which clones the nodes. + * @private + */ + "_fnSetColumnIndexes": function () + { + $.each( this.s.dt.aoColumns, function (i, column) { + $(column.nTh).attr('data-column-index', i); + } ); + }, + + + /** + * Get cursor position regardless of mouse or touch input + * @param {Event} e jQuery Event + * @param {string} prop Property to get + * @return {number} Value + */ + _fnCursorPosition: function ( e, prop ) { + if ( e.type.indexOf('touch') !== -1 ) { + return e.originalEvent.touches[0][ prop ]; + } + return e[ prop ]; + } +} ); + + + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Static parameters + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/** + * ColReorder default settings for initialisation + * @namespace + * @static + */ +ColReorder.defaults = { + /** + * Predefined ordering for the columns that will be applied automatically + * on initialisation. If not specified then the order that the columns are + * found to be in the HTML is the order used. + * @type array + * @default null + * @static + */ + aiOrder: null, + + /** + * Redraw the table's column ordering as the end user draws the column + * (`true`) or wait until the mouse is released (`false` - default). Note + * that this will perform a redraw on each reordering, which involves an + * Ajax request each time if you are using server-side processing in + * DataTables. + * @type boolean + * @default false + * @static + */ + bRealtime: true, + + /** + * Indicate how many columns should be fixed in position (counting from the + * left). This will typically be 1 if used, but can be as high as you like. + * @type int + * @default 0 + * @static + */ + iFixedColumnsLeft: 0, + + /** + * As `iFixedColumnsRight` but counting from the right. + * @type int + * @default 0 + * @static + */ + iFixedColumnsRight: 0, + + /** + * Callback function that is fired when columns are reordered. The `column- + * reorder` event is preferred over this callback + * @type function():void + * @default null + * @static + */ + fnReorderCallback: null, + + /** + * Callback function that is fired when columns are resized. The `column- + * resize` event is preferred over this callback + * @type function():void + * @default null + * @static + */ + fnResizeCallback: null, + + /** + * Allow Reorder functionnality + * @property allowReorder + * @type boolean + * @default true + */ + allowReorder: true, + + /** + * Allow Resize functionnality + * @property allowResize + * @type boolean + * @default true + */ + allowResize: true, + + /** + * Classname added to cloned element + * @type string + * @default 'DTCR_clonedTable' + * @static + */ + classNameClonedTable: 'DTCR_clonedTable', + + /** + * Classname added to the cloned element wrapper + * @type string + * @default 'DTCR_pointer' + * @static + */ + classNamePointer: 'DTCR_pointer', + + /** + * Classname added to the resizable th + * @type string + * @default 'DTCR_tableHeader' + * @static + */ + classNameTableHeader: 'DTCR_tableHeader', + + /** + * Classname added to the resizable th when hovered + * @type string + * @default 'DTCR_tableHeaderHover' + * @static + */ + classNameTableHeaderHover: 'DTCR_tableHeaderHover' +}; + + + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Constants + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +/** + * ColReorder version + * @constant version + * @type String + * @default As code + */ +ColReorder.version = "1.3.3"; + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * DataTables interfaces + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +// Expose +$.fn.dataTable.ColReorder = ColReorder; +$.fn.DataTable.ColReorder = ColReorder; + + +// Register a new feature with DataTables +if ( typeof $.fn.dataTable == "function" && + typeof $.fn.dataTableExt.fnVersionCheck == "function" && + $.fn.dataTableExt.fnVersionCheck('1.10.8') ) +{ + $.fn.dataTableExt.aoFeatures.push( { + "fnInit": function( settings ) { + var table = settings.oInstance; + + if ( ! settings._colReorder ) { + var dtInit = settings.oInit; + var opts = dtInit.colReorder || dtInit.oColReorder || {}; + + new ColReorder( settings, opts ); + } + else { + table.oApi._fnLog( settings, 1, "ColReorder attempted to initialise twice. Ignoring second" ); + } + + return null; /* No node for DataTables to insert */ + }, + "cFeature": "R", + "sFeature": "ColReorder" + } ); +} +else { + alert( "Warning: ColReorder requires DataTables 1.10.8 or greater - www.datatables.net/download"); +} + + +// Attach a listener to the document which listens for DataTables initialisation +// events so we can automatically initialise +$(document).on( 'preInit.dt.colReorder', function (e, settings) { + if ( e.namespace !== 'dt' ) { + return; + } + + var init = settings.oInit.colReorder; + var defaults = DataTable.defaults.colReorder; + + if ( init || defaults ) { + var opts = $.extend( {}, init, defaults ); + + if ( init !== false ) { + new ColReorder( settings, opts ); + } + } +} ); + + +// API augmentation +$.fn.dataTable.Api.register( 'colReorder.reset()', function () { + return this.iterator( 'table', function ( ctx ) { + ctx._colReorder.fnReset(); + } ); +} ); + +$.fn.dataTable.Api.register( 'colReorder.order()', function ( set, original ) { + if ( set ) { + return this.iterator( 'table', function ( ctx ) { + ctx._colReorder.fnOrder( set, original ); + } ); + } + + return this.context.length ? + this.context[0]._colReorder.fnOrder() : + null; +} ); + +$.fn.dataTable.Api.register( 'colReorder.transpose()', function ( idx, dir ) { + return this.context.length && this.context[0]._colReorder ? + this.context[0]._colReorder.fnTranspose( idx, dir ) : + idx; +} ); + + +return ColReorder; +})); Property changes on: base3.10/src/main/webapp/js/com/ColReorderWithResize.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/socket.js =================================================================== --- base3.10/src/main/webapp/js/com/socket.js (nonexistent) +++ base3.10/src/main/webapp/js/com/socket.js (revision 7) @@ -0,0 +1,110 @@ +/** + * socket 설정 + */ + +//전역변수 선언-모든 홈페이지에서 사용 할 수 있게 index에 저장 +var socket = null; +$(function() { + connectWs(); + + // 결재문서 알림 + $(".approval em").click(function() { + var emCnt = $(this).html(); + $('.message em').html('새로운 알림이 <strong>' + emCnt + '</strong>건 있습니다.'); + $('.message .message_btn a').off('click').on('click', function() { + fncPopupOpen("/ntcn/pop/list.do", 800, 700, null, "Y"); + }); + $(".message").addClass("show"); + }); + $(".message p").click(function() { + $(".message").removeClass("show"); + }); +}); + +function connectWs() { + sock = new SockJS('/socket'); + socket = sock; + + sock.onopen = function() { + }; + // 메시지 받았을 때 + sock.onmessage = function(evt) { + // 알림 창 + var data = evt.data.split('||'); + var ntcnId = data[0]; + var msg = data[1]; + var url = data[2]; + // 알림 카운트 증가 + var emCnt = parseInt($(".approval em").html()); + $(".approval em").html(emCnt+1); + + $('.message em').html(msg); + $('.message .message_btn a').off('click').on('click', function() { + // 알림 메시지 확인 + confirmSocketMsg(ntcnId, url); + }); + $('.message').addClass('show'); + setTimeout(function() { + $('.message').removeClass('show'); + }, 30000); + }; + + sock.onclose = function() { + /* setTimeout(function(){conntectWs();} , 1000); */ + }; + + sock.onerror = function(err) { + }; +} + +/** + * 알림 메시지 보내기 + * @param cmd 메시지 유형 + * @param caller 보내는 사람 uniqId + * @param receiver 받는 사람 uniqId 배열 + * @param url 바로가기 url + * @param msg 보낼 메시지 + * @returns + */ +function sendSocketMsg(cmd, caller, receiver, url, msg) { + var receiverList = receiver; + if( typeof receiver == "string" ) { + receiverList = receiver.split(','); + } + if (socket) { + var params = { + cmd: cmd + , caller: caller + , receiver: receiverList + , url: url + , param1: msg + }; + var socketMsg = JSON.stringify(params); + socket.send(socketMsg); + } +} + +/** + * 알림 메시지 확인 + * @param arrNtcnId 알람ID 배열 + * @param returnUrl 확인 후 이동 할 URL + * @returns + */ +function confirmSocketMsg(arrNtcnId, returnUrl) { + var ntcnIdList = arrNtcnId; + if( typeof arrNtcnId == "string" ) { + ntcnIdList = arrNtcnId.split(','); + } + + var url = '/ntcn/cnfirm/updateJson.do'; + var params = {}; + for( var i=0; i < ntcnIdList.length; i++ ) { + params['ntcnList[' + i + '].ntcnId'] = ntcnIdList[i]; + params['ntcnList[' + i + '].cnfirmAt'] = 'Y'; + } + $.post(url, params, function(data) { + if( returnUrl != null && returnUrl != '' ) { + location.href = returnUrl; + } + }); +} \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/com/socket.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/sockjs.min.js =================================================================== --- base3.10/src/main/webapp/js/com/sockjs.min.js (nonexistent) +++ base3.10/src/main/webapp/js/com/sockjs.min.js (revision 7) @@ -0,0 +1,3 @@ +/* sockjs-client v1.4.0 | http://sockjs.org | MIT license */ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).SockJS=t()}}(function(){return function i(s,a,l){function c(e,t){if(!a[e]){if(!s[e]){var n="function"==typeof require&&require;if(!t&&n)return n(e,!0);if(u)return u(e,!0);var r=new Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}var o=a[e]={exports:{}};s[e][0].call(o.exports,function(t){return c(s[e][1][t]||t)},o,o.exports,i,s,a,l)}return a[e].exports}for(var u="function"==typeof require&&require,t=0;t<l.length;t++)c(l[t]);return c}({1:[function(n,r,t){(function(t){"use strict";var e=n("./transport-list");r.exports=n("./main")(e),"_sockjs_onload"in t&&setTimeout(t._sockjs_onload,1)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./main":14,"./transport-list":16}],2:[function(t,e,n){"use strict";var r=t("inherits"),o=t("./event");function i(){o.call(this),this.initEvent("close",!1,!1),this.wasClean=!1,this.code=0,this.reason=""}r(i,o),e.exports=i},{"./event":4,"inherits":54}],3:[function(t,e,n){"use strict";var r=t("inherits"),o=t("./eventtarget");function i(){o.call(this)}r(i,o),i.prototype.removeAllListeners=function(t){t?delete this._listeners[t]:this._listeners={}},i.prototype.once=function(e,n){var r=this,o=!1;this.on(e,function t(){r.removeListener(e,t),o||(o=!0,n.apply(this,arguments))})},i.prototype.emit=function(){var t=arguments[0],e=this._listeners[t];if(e){for(var n=arguments.length,r=new Array(n-1),o=1;o<n;o++)r[o-1]=arguments[o];for(var i=0;i<e.length;i++)e[i].apply(this,r)}},i.prototype.on=i.prototype.addListener=o.prototype.addEventListener,i.prototype.removeListener=o.prototype.removeEventListener,e.exports.EventEmitter=i},{"./eventtarget":5,"inherits":54}],4:[function(t,e,n){"use strict";function r(t){this.type=t}r.prototype.initEvent=function(t,e,n){return this.type=t,this.bubbles=e,this.cancelable=n,this.timeStamp=+new Date,this},r.prototype.stopPropagation=function(){},r.prototype.preventDefault=function(){},r.CAPTURING_PHASE=1,r.AT_TARGET=2,r.BUBBLING_PHASE=3,e.exports=r},{}],5:[function(t,e,n){"use strict";function r(){this._listeners={}}r.prototype.addEventListener=function(t,e){t in this._listeners||(this._listeners[t]=[]);var n=this._listeners[t];-1===n.indexOf(e)&&(n=n.concat([e])),this._listeners[t]=n},r.prototype.removeEventListener=function(t,e){var n=this._listeners[t];if(n){var r=n.indexOf(e);-1===r||(1<n.length?this._listeners[t]=n.slice(0,r).concat(n.slice(r+1)):delete this._listeners[t])}},r.prototype.dispatchEvent=function(){var t=arguments[0],e=t.type,n=1===arguments.length?[t]:Array.apply(null,arguments);if(this["on"+e]&&this["on"+e].apply(this,n),e in this._listeners)for(var r=this._listeners[e],o=0;o<r.length;o++)r[o].apply(this,n)},e.exports=r},{}],6:[function(t,e,n){"use strict";var r=t("inherits"),o=t("./event");function i(t){o.call(this),this.initEvent("message",!1,!1),this.data=t}r(i,o),e.exports=i},{"./event":4,"inherits":54}],7:[function(t,e,n){"use strict";var r=t("json3"),o=t("./utils/iframe");function i(t){(this._transport=t).on("message",this._transportMessage.bind(this)),t.on("close",this._transportClose.bind(this))}i.prototype._transportClose=function(t,e){o.postMessage("c",r.stringify([t,e]))},i.prototype._transportMessage=function(t){o.postMessage("t",t)},i.prototype._send=function(t){this._transport.send(t)},i.prototype._close=function(){this._transport.close(),this._transport.removeAllListeners()},e.exports=i},{"./utils/iframe":47,"json3":55}],8:[function(t,e,n){"use strict";var f=t("./utils/url"),r=t("./utils/event"),h=t("json3"),d=t("./facade"),o=t("./info-iframe-receiver"),p=t("./utils/iframe"),m=t("./location"),v=function(){};e.exports=function(l,t){var c,u={};t.forEach(function(t){t.facadeTransport&&(u[t.facadeTransport.transportName]=t.facadeTransport)}),u[o.transportName]=o,l.bootstrap_iframe=function(){var a;p.currentWindowId=m.hash.slice(1);r.attachEvent("message",function(e){if(e.source===parent&&(void 0===c&&(c=e.origin),e.origin===c)){var n;try{n=h.parse(e.data)}catch(t){return void v("bad json",e.data)}if(n.windowId===p.currentWindowId)switch(n.type){case"s":var t;try{t=h.parse(n.data)}catch(t){v("bad json",n.data);break}var r=t[0],o=t[1],i=t[2],s=t[3];if(v(r,o,i,s),r!==l.version)throw new Error('Incompatible SockJS! Main site uses: "'+r+'", the iframe: "'+l.version+'".');if(!f.isOriginEqual(i,m.href)||!f.isOriginEqual(s,m.href))throw new Error("Can't connect to different domain from within an iframe. ("+m.href+", "+i+", "+s+")");a=new d(new u[o](i,s));break;case"m":a._send(n.data);break;case"c":a&&a._close(),a=null}}}),p.postMessage("s")}}},{"./facade":7,"./info-iframe-receiver":10,"./location":13,"./utils/event":46,"./utils/iframe":47,"./utils/url":52,"debug":void 0,"json3":55}],9:[function(t,e,n){"use strict";var r=t("events").EventEmitter,o=t("inherits"),s=t("json3"),a=t("./utils/object"),l=function(){};function i(t,e){r.call(this);var o=this,i=+new Date;this.xo=new e("GET",t),this.xo.once("finish",function(t,e){var n,r;if(200===t){if(r=+new Date-i,e)try{n=s.parse(e)}catch(t){l("bad json",e)}a.isObject(n)||(n={})}o.emit("finish",n,r),o.removeAllListeners()})}o(i,r),i.prototype.close=function(){this.removeAllListeners(),this.xo.close()},e.exports=i},{"./utils/object":49,"debug":void 0,"events":3,"inherits":54,"json3":55}],10:[function(t,e,n){"use strict";var r=t("inherits"),o=t("events").EventEmitter,i=t("json3"),s=t("./transport/sender/xhr-local"),a=t("./info-ajax");function l(t){var n=this;o.call(this),this.ir=new a(t,s),this.ir.once("finish",function(t,e){n.ir=null,n.emit("message",i.stringify([t,e]))})}r(l,o),l.transportName="iframe-info-receiver",l.prototype.close=function(){this.ir&&(this.ir.close(),this.ir=null),this.removeAllListeners()},e.exports=l},{"./info-ajax":9,"./transport/sender/xhr-local":37,"events":3,"inherits":54,"json3":55}],11:[function(n,o,t){(function(r){"use strict";var i=n("events").EventEmitter,t=n("inherits"),s=n("json3"),a=n("./utils/event"),l=n("./transport/iframe"),c=n("./info-iframe-receiver"),u=function(){};function e(e,n){var o=this;i.call(this);function t(){var t=o.ifr=new l(c.transportName,n,e);t.once("message",function(e){if(e){var t;try{t=s.parse(e)}catch(t){return u("bad json",e),o.emit("finish"),void o.close()}var n=t[0],r=t[1];o.emit("finish",n,r)}o.close()}),t.once("close",function(){o.emit("finish"),o.close()})}r.document.body?t():a.attachEvent("load",t)}t(e,i),e.enabled=function(){return l.enabled()},e.prototype.close=function(){this.ifr&&this.ifr.close(),this.removeAllListeners(),this.ifr=null},o.exports=e}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./info-iframe-receiver":10,"./transport/iframe":22,"./utils/event":46,"debug":void 0,"events":3,"inherits":54,"json3":55}],12:[function(t,e,n){"use strict";var r=t("events").EventEmitter,o=t("inherits"),i=t("./utils/url"),s=t("./transport/sender/xdr"),a=t("./transport/sender/xhr-cors"),l=t("./transport/sender/xhr-local"),c=t("./transport/sender/xhr-fake"),u=t("./info-iframe"),f=t("./info-ajax"),h=function(){};function d(t,e){h(t);var n=this;r.call(this),setTimeout(function(){n.doXhr(t,e)},0)}o(d,r),d._getReceiver=function(t,e,n){return n.sameOrigin?new f(e,l):a.enabled?new f(e,a):s.enabled&&n.sameScheme?new f(e,s):u.enabled()?new u(t,e):new f(e,c)},d.prototype.doXhr=function(t,e){var n=this,r=i.addPath(t,"/info");h("doXhr",r),this.xo=d._getReceiver(t,r,e),this.timeoutRef=setTimeout(function(){h("timeout"),n._cleanup(!1),n.emit("finish")},d.timeout),this.xo.once("finish",function(t,e){h("finish",t,e),n._cleanup(!0),n.emit("finish",t,e)})},d.prototype._cleanup=function(t){h("_cleanup"),clearTimeout(this.timeoutRef),this.timeoutRef=null,!t&&this.xo&&this.xo.close(),this.xo=null},d.prototype.close=function(){h("close"),this.removeAllListeners(),this._cleanup(!1)},d.timeout=8e3,e.exports=d},{"./info-ajax":9,"./info-iframe":11,"./transport/sender/xdr":34,"./transport/sender/xhr-cors":35,"./transport/sender/xhr-fake":36,"./transport/sender/xhr-local":37,"./utils/url":52,"debug":void 0,"events":3,"inherits":54}],13:[function(t,e,n){(function(t){"use strict";e.exports=t.location||{origin:"http://localhost:80",protocol:"http:",host:"localhost",port:80,href:"http://localhost/",hash:""}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],14:[function(_,E,t){(function(i){"use strict";_("./shims");var r,l=_("url-parse"),t=_("inherits"),s=_("json3"),c=_("./utils/random"),e=_("./utils/escape"),u=_("./utils/url"),a=_("./utils/event"),n=_("./utils/transport"),o=_("./utils/object"),f=_("./utils/browser"),h=_("./utils/log"),d=_("./event/event"),p=_("./event/eventtarget"),m=_("./location"),v=_("./event/close"),b=_("./event/trans-message"),y=_("./info-receiver"),g=function(){};function w(t,e,n){if(!(this instanceof w))return new w(t,e,n);if(arguments.length<1)throw new TypeError("Failed to construct 'SockJS: 1 argument required, but only 0 present");p.call(this),this.readyState=w.CONNECTING,this.extensions="",this.protocol="",(n=n||{}).protocols_whitelist&&h.warn("'protocols_whitelist' is DEPRECATED. Use 'transports' instead."),this._transportsWhitelist=n.transports,this._transportOptions=n.transportOptions||{},this._timeout=n.timeout||0;var r=n.sessionId||8;if("function"==typeof r)this._generateSessionId=r;else{if("number"!=typeof r)throw new TypeError("If sessionId is used in the options, it needs to be a number or a function.");this._generateSessionId=function(){return c.string(r)}}this._server=n.server||c.numberString(1e3);var o=new l(t);if(!o.host||!o.protocol)throw new SyntaxError("The URL '"+t+"' is invalid");if(o.hash)throw new SyntaxError("The URL must not contain a fragment");if("http:"!==o.protocol&&"https:"!==o.protocol)throw new SyntaxError("The URL's scheme must be either 'http:' or 'https:'. '"+o.protocol+"' is not allowed.");var i="https:"===o.protocol;if("https:"===m.protocol&&!i)throw new Error("SecurityError: An insecure SockJS connection may not be initiated from a page loaded over HTTPS");e?Array.isArray(e)||(e=[e]):e=[];var s=e.sort();s.forEach(function(t,e){if(!t)throw new SyntaxError("The protocols entry '"+t+"' is invalid.");if(e<s.length-1&&t===s[e+1])throw new SyntaxError("The protocols entry '"+t+"' is duplicated.")});var a=u.getOrigin(m.href);this._origin=a?a.toLowerCase():null,o.set("pathname",o.pathname.replace(/\/+$/,"")),this.url=o.href,g("using url",this.url),this._urlInfo={nullOrigin:!f.hasDomain(),sameOrigin:u.isOriginEqual(this.url,m.href),sameScheme:u.isSchemeEqual(this.url,m.href)},this._ir=new y(this.url,this._urlInfo),this._ir.once("finish",this._receiveInfo.bind(this))}function x(t){return 1e3===t||3e3<=t&&t<=4999}t(w,p),w.prototype.close=function(t,e){if(t&&!x(t))throw new Error("InvalidAccessError: Invalid code");if(e&&123<e.length)throw new SyntaxError("reason argument has an invalid length");if(this.readyState!==w.CLOSING&&this.readyState!==w.CLOSED){this._close(t||1e3,e||"Normal closure",!0)}},w.prototype.send=function(t){if("string"!=typeof t&&(t=""+t),this.readyState===w.CONNECTING)throw new Error("InvalidStateError: The connection has not been established yet");this.readyState===w.OPEN&&this._transport.send(e.quote(t))},w.version=_("./version"),w.CONNECTING=0,w.OPEN=1,w.CLOSING=2,w.CLOSED=3,w.prototype._receiveInfo=function(t,e){if(g("_receiveInfo",e),this._ir=null,t){this._rto=this.countRTO(e),this._transUrl=t.base_url?t.base_url:this.url,t=o.extend(t,this._urlInfo),g("info",t);var n=r.filterToEnabled(this._transportsWhitelist,t);this._transports=n.main,g(this._transports.length+" enabled transports"),this._connect()}else this._close(1002,"Cannot connect to server")},w.prototype._connect=function(){for(var t=this._transports.shift();t;t=this._transports.shift()){if(g("attempt",t.transportName),t.needBody&&(!i.document.body||void 0!==i.document.readyState&&"complete"!==i.document.readyState&&"interactive"!==i.document.readyState))return g("waiting for body"),this._transports.unshift(t),void a.attachEvent("load",this._connect.bind(this));var e=Math.max(this._timeout,this._rto*t.roundTrips||5e3);this._transportTimeoutId=setTimeout(this._transportTimeout.bind(this),e),g("using timeout",e);var n=u.addPath(this._transUrl,"/"+this._server+"/"+this._generateSessionId()),r=this._transportOptions[t.transportName];g("transport url",n);var o=new t(n,this._transUrl,r);return o.on("message",this._transportMessage.bind(this)),o.once("close",this._transportClose.bind(this)),o.transportName=t.transportName,void(this._transport=o)}this._close(2e3,"All transports failed",!1)},w.prototype._transportTimeout=function(){g("_transportTimeout"),this.readyState===w.CONNECTING&&(this._transport&&this._transport.close(),this._transportClose(2007,"Transport timed out"))},w.prototype._transportMessage=function(t){g("_transportMessage",t);var e,n=this,r=t.slice(0,1),o=t.slice(1);switch(r){case"o":return void this._open();case"h":return this.dispatchEvent(new d("heartbeat")),void g("heartbeat",this.transport)}if(o)try{e=s.parse(o)}catch(t){g("bad json",o)}if(void 0!==e)switch(r){case"a":Array.isArray(e)&&e.forEach(function(t){g("message",n.transport,t),n.dispatchEvent(new b(t))});break;case"m":g("message",this.transport,e),this.dispatchEvent(new b(e));break;case"c":Array.isArray(e)&&2===e.length&&this._close(e[0],e[1],!0)}else g("empty payload",o)},w.prototype._transportClose=function(t,e){g("_transportClose",this.transport,t,e),this._transport&&(this._transport.removeAllListeners(),this._transport=null,this.transport=null),x(t)||2e3===t||this.readyState!==w.CONNECTING?this._close(t,e):this._connect()},w.prototype._open=function(){g("_open",this._transport&&this._transport.transportName,this.readyState),this.readyState===w.CONNECTING?(this._transportTimeoutId&&(clearTimeout(this._transportTimeoutId),this._transportTimeoutId=null),this.readyState=w.OPEN,this.transport=this._transport.transportName,this.dispatchEvent(new d("open")),g("connected",this.transport)):this._close(1006,"Server lost session")},w.prototype._close=function(e,n,r){g("_close",this.transport,e,n,r,this.readyState);var o=!1;if(this._ir&&(o=!0,this._ir.close(),this._ir=null),this._transport&&(this._transport.close(),this._transport=null,this.transport=null),this.readyState===w.CLOSED)throw new Error("InvalidStateError: SockJS has already been closed");this.readyState=w.CLOSING,setTimeout(function(){this.readyState=w.CLOSED,o&&this.dispatchEvent(new d("error"));var t=new v("close");t.wasClean=r||!1,t.code=e||1e3,t.reason=n,this.dispatchEvent(t),this.onmessage=this.onclose=this.onerror=null,g("disconnected")}.bind(this),0)},w.prototype.countRTO=function(t){return 100<t?4*t:300+t},E.exports=function(t){return r=n(t),_("./iframe-bootstrap")(w,t),w}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./event/close":2,"./event/event":4,"./event/eventtarget":5,"./event/trans-message":6,"./iframe-bootstrap":8,"./info-receiver":12,"./location":13,"./shims":15,"./utils/browser":44,"./utils/escape":45,"./utils/event":46,"./utils/log":48,"./utils/object":49,"./utils/random":50,"./utils/transport":51,"./utils/url":52,"./version":53,"debug":void 0,"inherits":54,"json3":55,"url-parse":58}],15:[function(t,e,n){"use strict";function a(t){return"[object Function]"===i.toString.call(t)}function l(t){return"[object String]"===f.call(t)}var o,u=Array.prototype,i=Object.prototype,r=Function.prototype,s=String.prototype,c=u.slice,f=i.toString,h=Object.defineProperty&&function(){try{return Object.defineProperty({},"x",{}),!0}catch(t){return!1}}();o=h?function(t,e,n,r){!r&&e in t||Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:!0,value:n})}:function(t,e,n,r){!r&&e in t||(t[e]=n)};function d(t,e,n){for(var r in e)i.hasOwnProperty.call(e,r)&&o(t,r,e[r],n)}function p(t){if(null==t)throw new TypeError("can't convert "+t+" to object");return Object(t)}function m(){}d(r,{bind:function(e){var n=this;if(!a(n))throw new TypeError("Function.prototype.bind called on incompatible "+n);for(var r=c.call(arguments,1),t=Math.max(0,n.length-r.length),o=[],i=0;i<t;i++)o.push("$"+i);var s=Function("binder","return function ("+o.join(",")+"){ return binder.apply(this, arguments); }")(function(){if(this instanceof s){var t=n.apply(this,r.concat(c.call(arguments)));return Object(t)===t?t:this}return n.apply(e,r.concat(c.call(arguments)))});return n.prototype&&(m.prototype=n.prototype,s.prototype=new m,m.prototype=null),s}}),d(Array,{isArray:function(t){return"[object Array]"===f.call(t)}});var v,b,y,g=Object("a"),w="a"!==g[0]||!(0 in g);d(u,{forEach:function(t,e){var n=p(this),r=w&&l(this)?this.split(""):n,o=e,i=-1,s=r.length>>>0;if(!a(t))throw new TypeError;for(;++i<s;)i in r&&t.call(o,r[i],i,n)}},(v=u.forEach,y=b=!0,v&&(v.call("foo",function(t,e,n){"object"!=typeof n&&(b=!1)}),v.call([1],function(){y="string"==typeof this},"x")),!(v&&b&&y)));var x=Array.prototype.indexOf&&-1!==[0,1].indexOf(1,2);d(u,{indexOf:function(t,e){var n=w&&l(this)?this.split(""):p(this),r=n.length>>>0;if(!r)return-1;var o=0;for(1<arguments.length&&(o=function(t){var e=+t;return e!=e?e=0:0!==e&&e!==1/0&&e!==-1/0&&(e=(0<e||-1)*Math.floor(Math.abs(e))),e}(e)),o=0<=o?o:Math.max(0,r+o);o<r;o++)if(o in n&&n[o]===t)return o;return-1}},x);var _,E=s.split;2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||"t"==="tesst".split(/(s)*/)[1]||4!=="test".split(/(?:)/,-1).length||"".split(/.?/).length||1<".".split(/()()/).length?(_=void 0===/()??/.exec("")[1],s.split=function(t,e){var n=this;if(void 0===t&&0===e)return[];if("[object RegExp]"!==f.call(t))return E.call(this,t,e);var r,o,i,s,a=[],l=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.extended?"x":"")+(t.sticky?"y":""),c=0;for(t=new RegExp(t.source,l+"g"),n+="",_||(r=new RegExp("^"+t.source+"$(?!\\s)",l)),e=void 0===e?-1>>>0:function(t){return t>>>0}(e);(o=t.exec(n))&&!(c<(i=o.index+o[0].length)&&(a.push(n.slice(c,o.index)),!_&&1<o.length&&o[0].replace(r,function(){for(var t=1;t<arguments.length-2;t++)void 0===arguments[t]&&(o[t]=void 0)}),1<o.length&&o.index<n.length&&u.push.apply(a,o.slice(1)),s=o[0].length,c=i,a.length>=e));)t.lastIndex===o.index&&t.lastIndex++;return c===n.length?!s&&t.test("")||a.push(""):a.push(n.slice(c)),a.length>e?a.slice(0,e):a}):"0".split(void 0,0).length&&(s.split=function(t,e){return void 0===t&&0===e?[]:E.call(this,t,e)});var j=s.substr,S="".substr&&"b"!=="0b".substr(-1);d(s,{substr:function(t,e){return j.call(this,t<0&&(t=this.length+t)<0?0:t,e)}},S)},{}],16:[function(t,e,n){"use strict";e.exports=[t("./transport/websocket"),t("./transport/xhr-streaming"),t("./transport/xdr-streaming"),t("./transport/eventsource"),t("./transport/lib/iframe-wrap")(t("./transport/eventsource")),t("./transport/htmlfile"),t("./transport/lib/iframe-wrap")(t("./transport/htmlfile")),t("./transport/xhr-polling"),t("./transport/xdr-polling"),t("./transport/lib/iframe-wrap")(t("./transport/xhr-polling")),t("./transport/jsonp-polling")]},{"./transport/eventsource":20,"./transport/htmlfile":21,"./transport/jsonp-polling":23,"./transport/lib/iframe-wrap":26,"./transport/websocket":38,"./transport/xdr-polling":39,"./transport/xdr-streaming":40,"./transport/xhr-polling":41,"./transport/xhr-streaming":42}],17:[function(o,f,t){(function(t){"use strict";var i=o("events").EventEmitter,e=o("inherits"),s=o("../../utils/event"),a=o("../../utils/url"),l=t.XMLHttpRequest,c=function(){};function u(t,e,n,r){c(t,e);var o=this;i.call(this),setTimeout(function(){o._start(t,e,n,r)},0)}e(u,i),u.prototype._start=function(t,e,n,r){var o=this;try{this.xhr=new l}catch(t){}if(!this.xhr)return c("no xhr"),this.emit("finish",0,"no xhr support"),void this._cleanup();e=a.addQuery(e,"t="+ +new Date),this.unloadRef=s.unloadAdd(function(){c("unload cleanup"),o._cleanup(!0)});try{this.xhr.open(t,e,!0),this.timeout&&"timeout"in this.xhr&&(this.xhr.timeout=this.timeout,this.xhr.ontimeout=function(){c("xhr timeout"),o.emit("finish",0,""),o._cleanup(!1)})}catch(t){return c("exception",t),this.emit("finish",0,""),void this._cleanup(!1)}if(r&&r.noCredentials||!u.supportsCORS||(c("withCredentials"),this.xhr.withCredentials=!0),r&&r.headers)for(var i in r.headers)this.xhr.setRequestHeader(i,r.headers[i]);this.xhr.onreadystatechange=function(){if(o.xhr){var t,e,n=o.xhr;switch(c("readyState",n.readyState),n.readyState){case 3:try{e=n.status,t=n.responseText}catch(t){}c("status",e),1223===e&&(e=204),200===e&&t&&0<t.length&&(c("chunk"),o.emit("chunk",e,t));break;case 4:e=n.status,c("status",e),1223===e&&(e=204),12005!==e&&12029!==e||(e=0),c("finish",e,n.responseText),o.emit("finish",e,n.responseText),o._cleanup(!1)}}};try{o.xhr.send(n)}catch(t){o.emit("finish",0,""),o._cleanup(!1)}},u.prototype._cleanup=function(t){if(c("cleanup"),this.xhr){if(this.removeAllListeners(),s.unloadDel(this.unloadRef),this.xhr.onreadystatechange=function(){},this.xhr.ontimeout&&(this.xhr.ontimeout=null),t)try{this.xhr.abort()}catch(t){}this.unloadRef=this.xhr=null}},u.prototype.close=function(){c("close"),this._cleanup(!0)},u.enabled=!!l;var n=["Active"].concat("Object").join("X");!u.enabled&&n in t&&(c("overriding xmlhttprequest"),u.enabled=!!new(l=function(){try{return new t[n]("Microsoft.XMLHTTP")}catch(t){return null}}));var r=!1;try{r="withCredentials"in new l}catch(t){}u.supportsCORS=r,f.exports=u}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../utils/event":46,"../../utils/url":52,"debug":void 0,"events":3,"inherits":54}],18:[function(t,e,n){(function(t){e.exports=t.EventSource}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],19:[function(t,n,e){(function(t){"use strict";var e=t.WebSocket||t.MozWebSocket;n.exports=e?function(t){return new e(t)}:void 0}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],20:[function(t,e,n){"use strict";var r=t("inherits"),o=t("./lib/ajax-based"),i=t("./receiver/eventsource"),s=t("./sender/xhr-cors"),a=t("eventsource");function l(t){if(!l.enabled())throw new Error("Transport created when disabled");o.call(this,t,"/eventsource",i,s)}r(l,o),l.enabled=function(){return!!a},l.transportName="eventsource",l.roundTrips=2,e.exports=l},{"./lib/ajax-based":24,"./receiver/eventsource":29,"./sender/xhr-cors":35,"eventsource":18,"inherits":54}],21:[function(t,e,n){"use strict";var r=t("inherits"),o=t("./receiver/htmlfile"),i=t("./sender/xhr-local"),s=t("./lib/ajax-based");function a(t){if(!o.enabled)throw new Error("Transport created when disabled");s.call(this,t,"/htmlfile",o,i)}r(a,s),a.enabled=function(t){return o.enabled&&t.sameOrigin},a.transportName="htmlfile",a.roundTrips=2,e.exports=a},{"./lib/ajax-based":24,"./receiver/htmlfile":30,"./sender/xhr-local":37,"inherits":54}],22:[function(t,e,n){"use strict";var r=t("inherits"),o=t("json3"),i=t("events").EventEmitter,s=t("../version"),a=t("../utils/url"),l=t("../utils/iframe"),c=t("../utils/event"),u=t("../utils/random"),f=function(){};function h(t,e,n){if(!h.enabled())throw new Error("Transport created when disabled");i.call(this);var r=this;this.origin=a.getOrigin(n),this.baseUrl=n,this.transUrl=e,this.transport=t,this.windowId=u.string(8);var o=a.addPath(n,"/iframe.html")+"#"+this.windowId;f(t,e,o),this.iframeObj=l.createIframe(o,function(t){f("err callback"),r.emit("close",1006,"Unable to load an iframe ("+t+")"),r.close()}),this.onmessageCallback=this._message.bind(this),c.attachEvent("message",this.onmessageCallback)}r(h,i),h.prototype.close=function(){if(f("close"),this.removeAllListeners(),this.iframeObj){c.detachEvent("message",this.onmessageCallback);try{this.postMessage("c")}catch(t){}this.iframeObj.cleanup(),this.iframeObj=null,this.onmessageCallback=this.iframeObj=null}},h.prototype._message=function(e){if(f("message",e.data),a.isOriginEqual(e.origin,this.origin)){var n;try{n=o.parse(e.data)}catch(t){return void f("bad json",e.data)}if(n.windowId===this.windowId)switch(n.type){case"s":this.iframeObj.loaded(),this.postMessage("s",o.stringify([s,this.transport,this.transUrl,this.baseUrl]));break;case"t":this.emit("message",n.data);break;case"c":var t;try{t=o.parse(n.data)}catch(t){return void f("bad json",n.data)}this.emit("close",t[0],t[1]),this.close()}else f("mismatched window id",n.windowId,this.windowId)}else f("not same origin",e.origin,this.origin)},h.prototype.postMessage=function(t,e){f("postMessage",t,e),this.iframeObj.post(o.stringify({windowId:this.windowId,type:t,data:e||""}),this.origin)},h.prototype.send=function(t){f("send",t),this.postMessage("m",t)},h.enabled=function(){return l.iframeEnabled},h.transportName="iframe",h.roundTrips=2,e.exports=h},{"../utils/event":46,"../utils/iframe":47,"../utils/random":50,"../utils/url":52,"../version":53,"debug":void 0,"events":3,"inherits":54,"json3":55}],23:[function(s,a,t){(function(t){"use strict";var e=s("inherits"),n=s("./lib/sender-receiver"),r=s("./receiver/jsonp"),o=s("./sender/jsonp");function i(t){if(!i.enabled())throw new Error("Transport created when disabled");n.call(this,t,"/jsonp",o,r)}e(i,n),i.enabled=function(){return!!t.document},i.transportName="jsonp-polling",i.roundTrips=1,i.needBody=!0,a.exports=i}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./lib/sender-receiver":28,"./receiver/jsonp":31,"./sender/jsonp":33,"inherits":54}],24:[function(t,e,n){"use strict";var r=t("inherits"),a=t("../../utils/url"),o=t("./sender-receiver"),l=function(){};function i(t,e,n,r){o.call(this,t,e,function(s){return function(t,e,n){l("create ajax sender",t,e);var r={};"string"==typeof e&&(r.headers={"Content-type":"text/plain"});var o=a.addPath(t,"/xhr_send"),i=new s("POST",o,e,r);return i.once("finish",function(t){if(l("finish",t),i=null,200!==t&&204!==t)return n(new Error("http status "+t));n()}),function(){l("abort"),i.close(),i=null;var t=new Error("Aborted");t.code=1e3,n(t)}}}(r),n,r)}r(i,o),e.exports=i},{"../../utils/url":52,"./sender-receiver":28,"debug":void 0,"inherits":54}],25:[function(t,e,n){"use strict";var r=t("inherits"),o=t("events").EventEmitter,i=function(){};function s(t,e){i(t),o.call(this),this.sendBuffer=[],this.sender=e,this.url=t}r(s,o),s.prototype.send=function(t){i("send",t),this.sendBuffer.push(t),this.sendStop||this.sendSchedule()},s.prototype.sendScheduleWait=function(){i("sendScheduleWait");var t,e=this;this.sendStop=function(){i("sendStop"),e.sendStop=null,clearTimeout(t)},t=setTimeout(function(){i("timeout"),e.sendStop=null,e.sendSchedule()},25)},s.prototype.sendSchedule=function(){i("sendSchedule",this.sendBuffer.length);var e=this;if(0<this.sendBuffer.length){var t="["+this.sendBuffer.join(",")+"]";this.sendStop=this.sender(this.url,t,function(t){e.sendStop=null,t?(i("error",t),e.emit("close",t.code||1006,"Sending error: "+t),e.close()):e.sendScheduleWait()}),this.sendBuffer=[]}},s.prototype._cleanup=function(){i("_cleanup"),this.removeAllListeners()},s.prototype.close=function(){i("close"),this._cleanup(),this.sendStop&&(this.sendStop(),this.sendStop=null)},e.exports=s},{"debug":void 0,"events":3,"inherits":54}],26:[function(t,n,e){(function(o){"use strict";var e=t("inherits"),i=t("../iframe"),s=t("../../utils/object");n.exports=function(r){function t(t,e){i.call(this,r.transportName,t,e)}return e(t,i),t.enabled=function(t,e){if(!o.document)return!1;var n=s.extend({},e);return n.sameOrigin=!0,r.enabled(n)&&i.enabled()},t.transportName="iframe-"+r.transportName,t.needBody=!0,t.roundTrips=i.roundTrips+r.roundTrips-1,t.facadeTransport=r,t}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../utils/object":49,"../iframe":22,"inherits":54}],27:[function(t,e,n){"use strict";var r=t("inherits"),o=t("events").EventEmitter,i=function(){};function s(t,e,n){i(e),o.call(this),this.Receiver=t,this.receiveUrl=e,this.AjaxObject=n,this._scheduleReceiver()}r(s,o),s.prototype._scheduleReceiver=function(){i("_scheduleReceiver");var n=this,r=this.poll=new this.Receiver(this.receiveUrl,this.AjaxObject);r.on("message",function(t){i("message",t),n.emit("message",t)}),r.once("close",function(t,e){i("close",t,e,n.pollIsClosing),n.poll=r=null,n.pollIsClosing||("network"===e?n._scheduleReceiver():(n.emit("close",t||1006,e),n.removeAllListeners()))})},s.prototype.abort=function(){i("abort"),this.removeAllListeners(),this.pollIsClosing=!0,this.poll&&this.poll.abort()},e.exports=s},{"debug":void 0,"events":3,"inherits":54}],28:[function(t,e,n){"use strict";var r=t("inherits"),a=t("../../utils/url"),l=t("./buffered-sender"),c=t("./polling"),u=function(){};function o(t,e,n,r,o){var i=a.addPath(t,e);u(i);var s=this;l.call(this,t,n),this.poll=new c(r,i,o),this.poll.on("message",function(t){u("poll message",t),s.emit("message",t)}),this.poll.once("close",function(t,e){u("poll close",t,e),s.poll=null,s.emit("close",t,e),s.close()})}r(o,l),o.prototype.close=function(){l.prototype.close.call(this),u("close"),this.removeAllListeners(),this.poll&&(this.poll.abort(),this.poll=null)},e.exports=o},{"../../utils/url":52,"./buffered-sender":25,"./polling":27,"debug":void 0,"inherits":54}],29:[function(t,e,n){"use strict";var r=t("inherits"),o=t("events").EventEmitter,i=t("eventsource"),s=function(){};function a(t){s(t),o.call(this);var n=this,r=this.es=new i(t);r.onmessage=function(t){s("message",t.data),n.emit("message",decodeURI(t.data))},r.onerror=function(t){s("error",r.readyState,t);var e=2!==r.readyState?"network":"permanent";n._cleanup(),n._close(e)}}r(a,o),a.prototype.abort=function(){s("abort"),this._cleanup(),this._close("user")},a.prototype._cleanup=function(){s("cleanup");var t=this.es;t&&(t.onmessage=t.onerror=null,t.close(),this.es=null)},a.prototype._close=function(t){s("close",t);var e=this;setTimeout(function(){e.emit("close",null,t),e.removeAllListeners()},200)},e.exports=a},{"debug":void 0,"events":3,"eventsource":18,"inherits":54}],30:[function(n,u,t){(function(r){"use strict";var t=n("inherits"),o=n("../../utils/iframe"),i=n("../../utils/url"),s=n("events").EventEmitter,a=n("../../utils/random"),l=function(){};function c(t){l(t),s.call(this);var e=this;o.polluteGlobalNamespace(),this.id="a"+a.string(6),t=i.addQuery(t,"c="+decodeURIComponent(o.WPrefix+"."+this.id)),l("using htmlfile",c.htmlfileEnabled);var n=c.htmlfileEnabled?o.createHtmlfile:o.createIframe;r[o.WPrefix][this.id]={start:function(){l("start"),e.iframeObj.loaded()},message:function(t){l("message",t),e.emit("message",t)},stop:function(){l("stop"),e._cleanup(),e._close("network")}},this.iframeObj=n(t,function(){l("callback"),e._cleanup(),e._close("permanent")})}t(c,s),c.prototype.abort=function(){l("abort"),this._cleanup(),this._close("user")},c.prototype._cleanup=function(){l("_cleanup"),this.iframeObj&&(this.iframeObj.cleanup(),this.iframeObj=null),delete r[o.WPrefix][this.id]},c.prototype._close=function(t){l("_close",t),this.emit("close",null,t),this.removeAllListeners()},c.htmlfileEnabled=!1;var e=["Active"].concat("Object").join("X");if(e in r)try{c.htmlfileEnabled=!!new r[e]("htmlfile")}catch(t){}c.enabled=c.htmlfileEnabled||o.iframeEnabled,u.exports=c}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../utils/iframe":47,"../../utils/random":50,"../../utils/url":52,"debug":void 0,"events":3,"inherits":54}],31:[function(e,n,t){(function(i){"use strict";var r=e("../../utils/iframe"),s=e("../../utils/random"),a=e("../../utils/browser"),o=e("../../utils/url"),t=e("inherits"),l=e("events").EventEmitter,c=function(){};function u(t){c(t);var e=this;l.call(this),r.polluteGlobalNamespace(),this.id="a"+s.string(6);var n=o.addQuery(t,"c="+encodeURIComponent(r.WPrefix+"."+this.id));i[r.WPrefix][this.id]=this._callback.bind(this),this._createScript(n),this.timeoutId=setTimeout(function(){c("timeout"),e._abort(new Error("JSONP script loaded abnormally (timeout)"))},u.timeout)}t(u,l),u.prototype.abort=function(){if(c("abort"),i[r.WPrefix][this.id]){var t=new Error("JSONP user aborted read");t.code=1e3,this._abort(t)}},u.timeout=35e3,u.scriptErrorTimeout=1e3,u.prototype._callback=function(t){c("_callback",t),this._cleanup(),this.aborting||(t&&(c("message",t),this.emit("message",t)),this.emit("close",null,"network"),this.removeAllListeners())},u.prototype._abort=function(t){c("_abort",t),this._cleanup(),this.aborting=!0,this.emit("close",t.code,t.message),this.removeAllListeners()},u.prototype._cleanup=function(){if(c("_cleanup"),clearTimeout(this.timeoutId),this.script2&&(this.script2.parentNode.removeChild(this.script2),this.script2=null),this.script){var t=this.script;t.parentNode.removeChild(t),t.onreadystatechange=t.onerror=t.onload=t.onclick=null,this.script=null}delete i[r.WPrefix][this.id]},u.prototype._scriptError=function(){c("_scriptError");var t=this;this.errorTimer||(this.errorTimer=setTimeout(function(){t.loadedOkay||t._abort(new Error("JSONP script loaded abnormally (onerror)"))},u.scriptErrorTimeout))},u.prototype._createScript=function(t){c("_createScript",t);var e,n=this,r=this.script=i.document.createElement("script");if(r.id="a"+s.string(8),r.src=t,r.type="text/javascript",r.charset="UTF-8",r.onerror=this._scriptError.bind(this),r.onload=function(){c("onload"),n._abort(new Error("JSONP script loaded abnormally (onload)"))},r.onreadystatechange=function(){if(c("onreadystatechange",r.readyState),/loaded|closed/.test(r.readyState)){if(r&&r.htmlFor&&r.onclick){n.loadedOkay=!0;try{r.onclick()}catch(t){}}r&&n._abort(new Error("JSONP script loaded abnormally (onreadystatechange)"))}},void 0===r.async&&i.document.attachEvent)if(a.isOpera())(e=this.script2=i.document.createElement("script")).text="try{var a = document.getElementById('"+r.id+"'); if(a)a.onerror();}catch(x){};",r.async=e.async=!1;else{try{r.htmlFor=r.id,r.event="onclick"}catch(t){}r.async=!0}void 0!==r.async&&(r.async=!0);var o=i.document.getElementsByTagName("head")[0];o.insertBefore(r,o.firstChild),e&&o.insertBefore(e,o.firstChild)},n.exports=u}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../utils/browser":44,"../../utils/iframe":47,"../../utils/random":50,"../../utils/url":52,"debug":void 0,"events":3,"inherits":54}],32:[function(t,e,n){"use strict";var r=t("inherits"),o=t("events").EventEmitter,i=function(){};function s(t,e){i(t),o.call(this);var r=this;this.bufferPosition=0,this.xo=new e("POST",t,null),this.xo.on("chunk",this._chunkHandler.bind(this)),this.xo.once("finish",function(t,e){i("finish",t,e),r._chunkHandler(t,e),r.xo=null;var n=200===t?"network":"permanent";i("close",n),r.emit("close",null,n),r._cleanup()})}r(s,o),s.prototype._chunkHandler=function(t,e){if(i("_chunkHandler",t),200===t&&e)for(var n=-1;;this.bufferPosition+=n+1){var r=e.slice(this.bufferPosition);if(-1===(n=r.indexOf("\n")))break;var o=r.slice(0,n);o&&(i("message",o),this.emit("message",o))}},s.prototype._cleanup=function(){i("_cleanup"),this.removeAllListeners()},s.prototype.abort=function(){i("abort"),this.xo&&(this.xo.close(),i("close"),this.emit("close",null,"user"),this.xo=null),this._cleanup()},e.exports=s},{"debug":void 0,"events":3,"inherits":54}],33:[function(t,e,n){(function(s){"use strict";var a,l,c=t("../../utils/random"),u=t("../../utils/url"),f=function(){};e.exports=function(t,e,n){f(t,e),a||(f("createForm"),(a=s.document.createElement("form")).style.display="none",a.style.position="absolute",a.method="POST",a.enctype="application/x-www-form-urlencoded",a.acceptCharset="UTF-8",(l=s.document.createElement("textarea")).name="d",a.appendChild(l),s.document.body.appendChild(a));var r="a"+c.string(8);a.target=r,a.action=u.addQuery(u.addPath(t,"/jsonp_send"),"i="+r);var o=function(e){f("createIframe",e);try{return s.document.createElement('<iframe name="'+e+'">')}catch(t){var n=s.document.createElement("iframe");return n.name=e,n}}(r);o.id=r,o.style.display="none",a.appendChild(o);try{l.value=e}catch(t){}a.submit();function i(t){f("completed",r,t),o.onerror&&(o.onreadystatechange=o.onerror=o.onload=null,setTimeout(function(){f("cleaning up",r),o.parentNode.removeChild(o),o=null},500),l.value="",n(t))}return o.onerror=function(){f("onerror",r),i()},o.onload=function(){f("onload",r),i()},o.onreadystatechange=function(t){f("onreadystatechange",r,o.readyState,t),"complete"===o.readyState&&i()},function(){f("aborted",r),i(new Error("Aborted"))}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../utils/random":50,"../../utils/url":52,"debug":void 0}],34:[function(r,c,t){(function(i){"use strict";var o=r("events").EventEmitter,t=r("inherits"),s=r("../../utils/event"),e=r("../../utils/browser"),a=r("../../utils/url"),l=function(){};function n(t,e,n){l(t,e);var r=this;o.call(this),setTimeout(function(){r._start(t,e,n)},0)}t(n,o),n.prototype._start=function(t,e,n){l("_start");var r=this,o=new i.XDomainRequest;e=a.addQuery(e,"t="+ +new Date),o.onerror=function(){l("onerror"),r._error()},o.ontimeout=function(){l("ontimeout"),r._error()},o.onprogress=function(){l("progress",o.responseText),r.emit("chunk",200,o.responseText)},o.onload=function(){l("load"),r.emit("finish",200,o.responseText),r._cleanup(!1)},this.xdr=o,this.unloadRef=s.unloadAdd(function(){r._cleanup(!0)});try{this.xdr.open(t,e),this.timeout&&(this.xdr.timeout=this.timeout),this.xdr.send(n)}catch(t){this._error()}},n.prototype._error=function(){this.emit("finish",0,""),this._cleanup(!1)},n.prototype._cleanup=function(t){if(l("cleanup",t),this.xdr){if(this.removeAllListeners(),s.unloadDel(this.unloadRef),this.xdr.ontimeout=this.xdr.onerror=this.xdr.onprogress=this.xdr.onload=null,t)try{this.xdr.abort()}catch(t){}this.unloadRef=this.xdr=null}},n.prototype.close=function(){l("close"),this._cleanup(!0)},n.enabled=!(!i.XDomainRequest||!e.hasDomain()),c.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../../utils/browser":44,"../../utils/event":46,"../../utils/url":52,"debug":void 0,"events":3,"inherits":54}],35:[function(t,e,n){"use strict";var r=t("inherits"),o=t("../driver/xhr");function i(t,e,n,r){o.call(this,t,e,n,r)}r(i,o),i.enabled=o.enabled&&o.supportsCORS,e.exports=i},{"../driver/xhr":17,"inherits":54}],36:[function(t,e,n){"use strict";var r=t("events").EventEmitter;function o(){var t=this;r.call(this),this.to=setTimeout(function(){t.emit("finish",200,"{}")},o.timeout)}t("inherits")(o,r),o.prototype.close=function(){clearTimeout(this.to)},o.timeout=2e3,e.exports=o},{"events":3,"inherits":54}],37:[function(t,e,n){"use strict";var r=t("inherits"),o=t("../driver/xhr");function i(t,e,n){o.call(this,t,e,n,{noCredentials:!0})}r(i,o),i.enabled=o.enabled,e.exports=i},{"../driver/xhr":17,"inherits":54}],38:[function(t,e,n){"use strict";var i=t("../utils/event"),s=t("../utils/url"),r=t("inherits"),a=t("events").EventEmitter,l=t("./driver/websocket"),c=function(){};function u(t,e,n){if(!u.enabled())throw new Error("Transport created when disabled");a.call(this),c("constructor",t);var r=this,o=s.addPath(t,"/websocket");o="https"===o.slice(0,5)?"wss"+o.slice(5):"ws"+o.slice(4),this.url=o,this.ws=new l(this.url,[],n),this.ws.onmessage=function(t){c("message event",t.data),r.emit("message",t.data)},this.unloadRef=i.unloadAdd(function(){c("unload"),r.ws.close()}),this.ws.onclose=function(t){c("close event",t.code,t.reason),r.emit("close",t.code,t.reason),r._cleanup()},this.ws.onerror=function(t){c("error event",t),r.emit("close",1006,"WebSocket connection broken"),r._cleanup()}}r(u,a),u.prototype.send=function(t){var e="["+t+"]";c("send",e),this.ws.send(e)},u.prototype.close=function(){c("close");var t=this.ws;this._cleanup(),t&&t.close()},u.prototype._cleanup=function(){c("_cleanup");var t=this.ws;t&&(t.onmessage=t.onclose=t.onerror=null),i.unloadDel(this.unloadRef),this.unloadRef=this.ws=null,this.removeAllListeners()},u.enabled=function(){return c("enabled"),!!l},u.transportName="websocket",u.roundTrips=2,e.exports=u},{"../utils/event":46,"../utils/url":52,"./driver/websocket":19,"debug":void 0,"events":3,"inherits":54}],39:[function(t,e,n){"use strict";var r=t("inherits"),o=t("./lib/ajax-based"),i=t("./xdr-streaming"),s=t("./receiver/xhr"),a=t("./sender/xdr");function l(t){if(!a.enabled)throw new Error("Transport created when disabled");o.call(this,t,"/xhr",s,a)}r(l,o),l.enabled=i.enabled,l.transportName="xdr-polling",l.roundTrips=2,e.exports=l},{"./lib/ajax-based":24,"./receiver/xhr":32,"./sender/xdr":34,"./xdr-streaming":40,"inherits":54}],40:[function(t,e,n){"use strict";var r=t("inherits"),o=t("./lib/ajax-based"),i=t("./receiver/xhr"),s=t("./sender/xdr");function a(t){if(!s.enabled)throw new Error("Transport created when disabled");o.call(this,t,"/xhr_streaming",i,s)}r(a,o),a.enabled=function(t){return!t.cookie_needed&&!t.nullOrigin&&(s.enabled&&t.sameScheme)},a.transportName="xdr-streaming",a.roundTrips=2,e.exports=a},{"./lib/ajax-based":24,"./receiver/xhr":32,"./sender/xdr":34,"inherits":54}],41:[function(t,e,n){"use strict";var r=t("inherits"),o=t("./lib/ajax-based"),i=t("./receiver/xhr"),s=t("./sender/xhr-cors"),a=t("./sender/xhr-local");function l(t){if(!a.enabled&&!s.enabled)throw new Error("Transport created when disabled");o.call(this,t,"/xhr",i,s)}r(l,o),l.enabled=function(t){return!t.nullOrigin&&(!(!a.enabled||!t.sameOrigin)||s.enabled)},l.transportName="xhr-polling",l.roundTrips=2,e.exports=l},{"./lib/ajax-based":24,"./receiver/xhr":32,"./sender/xhr-cors":35,"./sender/xhr-local":37,"inherits":54}],42:[function(l,c,t){(function(t){"use strict";var e=l("inherits"),n=l("./lib/ajax-based"),r=l("./receiver/xhr"),o=l("./sender/xhr-cors"),i=l("./sender/xhr-local"),s=l("../utils/browser");function a(t){if(!i.enabled&&!o.enabled)throw new Error("Transport created when disabled");n.call(this,t,"/xhr_streaming",r,o)}e(a,n),a.enabled=function(t){return!t.nullOrigin&&(!s.isOpera()&&o.enabled)},a.transportName="xhr-streaming",a.roundTrips=2,a.needBody=!!t.document,c.exports=a}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../utils/browser":44,"./lib/ajax-based":24,"./receiver/xhr":32,"./sender/xhr-cors":35,"./sender/xhr-local":37,"inherits":54}],43:[function(t,e,n){(function(n){"use strict";n.crypto&&n.crypto.getRandomValues?e.exports.randomBytes=function(t){var e=new Uint8Array(t);return n.crypto.getRandomValues(e),e}:e.exports.randomBytes=function(t){for(var e=new Array(t),n=0;n<t;n++)e[n]=Math.floor(256*Math.random());return e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],44:[function(t,e,n){(function(t){"use strict";e.exports={isOpera:function(){return t.navigator&&/opera/i.test(t.navigator.userAgent)},isKonqueror:function(){return t.navigator&&/konqueror/i.test(t.navigator.userAgent)},hasDomain:function(){if(!t.document)return!0;try{return!!t.document.domain}catch(t){return!1}}}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],45:[function(t,e,n){"use strict";var r,o=t("json3"),i=/[\x00-\x1f\ud800-\udfff\ufffe\uffff\u0300-\u0333\u033d-\u0346\u034a-\u034c\u0350-\u0352\u0357-\u0358\u035c-\u0362\u0374\u037e\u0387\u0591-\u05af\u05c4\u0610-\u0617\u0653-\u0654\u0657-\u065b\u065d-\u065e\u06df-\u06e2\u06eb-\u06ec\u0730\u0732-\u0733\u0735-\u0736\u073a\u073d\u073f-\u0741\u0743\u0745\u0747\u07eb-\u07f1\u0951\u0958-\u095f\u09dc-\u09dd\u09df\u0a33\u0a36\u0a59-\u0a5b\u0a5e\u0b5c-\u0b5d\u0e38-\u0e39\u0f43\u0f4d\u0f52\u0f57\u0f5c\u0f69\u0f72-\u0f76\u0f78\u0f80-\u0f83\u0f93\u0f9d\u0fa2\u0fa7\u0fac\u0fb9\u1939-\u193a\u1a17\u1b6b\u1cda-\u1cdb\u1dc0-\u1dcf\u1dfc\u1dfe\u1f71\u1f73\u1f75\u1f77\u1f79\u1f7b\u1f7d\u1fbb\u1fbe\u1fc9\u1fcb\u1fd3\u1fdb\u1fe3\u1feb\u1fee-\u1fef\u1ff9\u1ffb\u1ffd\u2000-\u2001\u20d0-\u20d1\u20d4-\u20d7\u20e7-\u20e9\u2126\u212a-\u212b\u2329-\u232a\u2adc\u302b-\u302c\uaab2-\uaab3\uf900-\ufa0d\ufa10\ufa12\ufa15-\ufa1e\ufa20\ufa22\ufa25-\ufa26\ufa2a-\ufa2d\ufa30-\ufa6d\ufa70-\ufad9\ufb1d\ufb1f\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufb4e\ufff0-\uffff]/g;e.exports={quote:function(t){var e=o.stringify(t);return i.lastIndex=0,i.test(e)?(r=r||function(t){var e,n={},r=[];for(e=0;e<65536;e++)r.push(String.fromCharCode(e));return t.lastIndex=0,r.join("").replace(t,function(t){return n[t]="\\u"+("0000"+t.charCodeAt(0).toString(16)).slice(-4),""}),t.lastIndex=0,n}(i),e.replace(i,function(t){return r[t]})):e}}},{"json3":55}],46:[function(t,e,n){(function(n){"use strict";var r=t("./random"),o={},i=!1,s=n.chrome&&n.chrome.app&&n.chrome.app.runtime;e.exports={attachEvent:function(t,e){void 0!==n.addEventListener?n.addEventListener(t,e,!1):n.document&&n.attachEvent&&(n.document.attachEvent("on"+t,e),n.attachEvent("on"+t,e))},detachEvent:function(t,e){void 0!==n.addEventListener?n.removeEventListener(t,e,!1):n.document&&n.detachEvent&&(n.document.detachEvent("on"+t,e),n.detachEvent("on"+t,e))},unloadAdd:function(t){if(s)return null;var e=r.string(8);return o[e]=t,i&&setTimeout(this.triggerUnloadCallbacks,0),e},unloadDel:function(t){t in o&&delete o[t]},triggerUnloadCallbacks:function(){for(var t in o)o[t](),delete o[t]}};s||e.exports.attachEvent("unload",function(){i||(i=!0,e.exports.triggerUnloadCallbacks())})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./random":50}],47:[function(e,p,t){(function(f){"use strict";var h=e("./event"),n=e("json3"),t=e("./browser"),d=function(){};p.exports={WPrefix:"_jp",currentWindowId:null,polluteGlobalNamespace:function(){p.exports.WPrefix in f||(f[p.exports.WPrefix]={})},postMessage:function(t,e){f.parent!==f?f.parent.postMessage(n.stringify({windowId:p.exports.currentWindowId,type:t,data:e||""}),"*"):d("Cannot postMessage, no parent window.",t,e)},createIframe:function(t,e){function n(){d("unattach"),clearTimeout(i);try{a.onload=null}catch(t){}a.onerror=null}function r(){d("cleanup"),a&&(n(),setTimeout(function(){a&&a.parentNode.removeChild(a),a=null},0),h.unloadDel(s))}function o(t){d("onerror",t),a&&(r(),e(t))}var i,s,a=f.document.createElement("iframe");return a.src=t,a.style.display="none",a.style.position="absolute",a.onerror=function(){o("onerror")},a.onload=function(){d("onload"),clearTimeout(i),i=setTimeout(function(){o("onload timeout")},2e3)},f.document.body.appendChild(a),i=setTimeout(function(){o("timeout")},15e3),s=h.unloadAdd(r),{post:function(t,e){d("post",t,e),setTimeout(function(){try{a&&a.contentWindow&&a.contentWindow.postMessage(t,e)}catch(t){}},0)},cleanup:r,loaded:n}},createHtmlfile:function(t,e){function n(){clearTimeout(i),a.onerror=null}function r(){c&&(n(),h.unloadDel(s),a.parentNode.removeChild(a),a=c=null,CollectGarbage())}function o(t){d("onerror",t),c&&(r(),e(t))}var i,s,a,l=["Active"].concat("Object").join("X"),c=new f[l]("htmlfile");c.open(),c.write('<html><script>document.domain="'+f.document.domain+'";<\/script></html>'),c.close(),c.parentWindow[p.exports.WPrefix]=f[p.exports.WPrefix];var u=c.createElement("div");return c.body.appendChild(u),a=c.createElement("iframe"),u.appendChild(a),a.src=t,a.onerror=function(){o("onerror")},i=setTimeout(function(){o("timeout")},15e3),s=h.unloadAdd(r),{post:function(t,e){try{setTimeout(function(){a&&a.contentWindow&&a.contentWindow.postMessage(t,e)},0)}catch(t){}},cleanup:r,loaded:n}}},p.exports.iframeEnabled=!1,f.document&&(p.exports.iframeEnabled=("function"==typeof f.postMessage||"object"==typeof f.postMessage)&&!t.isKonqueror())}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./browser":44,"./event":46,"debug":void 0,"json3":55}],48:[function(t,e,n){(function(n){"use strict";var r={};["log","debug","warn"].forEach(function(t){var e;try{e=n.console&&n.console[t]&&n.console[t].apply}catch(t){}r[t]=e?function(){return n.console[t].apply(n.console,arguments)}:"log"===t?function(){}:r.log}),e.exports=r}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],49:[function(t,e,n){"use strict";e.exports={isObject:function(t){var e=typeof t;return"function"==e||"object"==e&&!!t},extend:function(t){if(!this.isObject(t))return t;for(var e,n,r=1,o=arguments.length;r<o;r++)for(n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}}},{}],50:[function(t,e,n){"use strict";var i=t("crypto"),s="abcdefghijklmnopqrstuvwxyz012345";e.exports={string:function(t){for(var e=s.length,n=i.randomBytes(t),r=[],o=0;o<t;o++)r.push(s.substr(n[o]%e,1));return r.join("")},number:function(t){return Math.floor(Math.random()*t)},numberString:function(t){var e=(""+(t-1)).length;return(new Array(e+1).join("0")+this.number(t)).slice(-e)}}},{"crypto":43}],51:[function(t,e,n){"use strict";var o=function(){};e.exports=function(t){return{filterToEnabled:function(e,n){var r={main:[],facade:[]};return e?"string"==typeof e&&(e=[e]):e=[],t.forEach(function(t){t&&("websocket"!==t.transportName||!1!==n.websocket?e.length&&-1===e.indexOf(t.transportName)?o("not in whitelist",t.transportName):t.enabled(n)?(o("enabled",t.transportName),r.main.push(t),t.facadeTransport&&r.facade.push(t.facadeTransport)):o("disabled",t.transportName):o("disabled from server","websocket"))}),r}}}},{"debug":void 0}],52:[function(t,e,n){"use strict";var r=t("url-parse"),o=function(){};e.exports={getOrigin:function(t){if(!t)return null;var e=new r(t);if("file:"===e.protocol)return null;var n=e.port;return n=n||("https:"===e.protocol?"443":"80"),e.protocol+"//"+e.hostname+":"+n},isOriginEqual:function(t,e){var n=this.getOrigin(t)===this.getOrigin(e);return o("same",t,e,n),n},isSchemeEqual:function(t,e){return t.split(":")[0]===e.split(":")[0]},addPath:function(t,e){var n=t.split("?");return n[0]+e+(n[1]?"?"+n[1]:"")},addQuery:function(t,e){return t+(-1===t.indexOf("?")?"?"+e:"&"+e)}}},{"debug":void 0,"url-parse":58}],53:[function(t,e,n){e.exports="1.4.0"},{}],54:[function(t,e,n){"function"==typeof Object.create?e.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(t,e){t.super_=e;function n(){}n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}},{}],55:[function(t,a,l){(function(s){(function(){var q={"function":!0,"object":!0},t=q[typeof l]&&l&&!l.nodeType&&l,D=q[typeof window]&&window||this,e=t&&q[typeof a]&&a&&!a.nodeType&&"object"==typeof s&&s;function W(t,l){t=t||D.Object(),l=l||D.Object();var c=t.Number||D.Number,u=t.String||D.String,e=t.Object||D.Object,f=t.Date||D.Date,n=t.SyntaxError||D.SyntaxError,E=t.TypeError||D.TypeError,r=t.Math||D.Math,o=t.JSON||D.JSON;"object"==typeof o&&o&&(l.stringify=o.stringify,l.parse=o.parse);var j,S,T,i=e.prototype,O=i.toString,h=new f(-0xc782b5b800cec);try{h=-109252==h.getUTCFullYear()&&0===h.getUTCMonth()&&1===h.getUTCDate()&&10==h.getUTCHours()&&37==h.getUTCMinutes()&&6==h.getUTCSeconds()&&708==h.getUTCMilliseconds()}catch(t){}function d(t){if(d[t]!==T)return d[t];var e;if("bug-string-char-index"==t)e="a"!="a"[0];else if("json"==t)e=d("json-stringify")&&d("json-parse");else{var n,r='{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}';if("json-stringify"==t){var o=l.stringify,i="function"==typeof o&&h;if(i){(n=function(){return 1}).toJSON=n;try{i="0"===o(0)&&"0"===o(new c)&&'""'==o(new u)&&o(O)===T&&o(T)===T&&o()===T&&"1"===o(n)&&"[1]"==o([n])&&"[null]"==o([T])&&"null"==o(null)&&"[null,null,null]"==o([T,O,null])&&o({"a":[n,!0,!1,null,"\0\b\n\f\r\t"]})==r&&"1"===o(null,n)&&"[\n 1,\n 2\n]"==o([1,2],null,1)&&'"-271821-04-20T00:00:00.000Z"'==o(new f(-864e13))&&'"+275760-09-13T00:00:00.000Z"'==o(new f(864e13))&&'"-000001-01-01T00:00:00.000Z"'==o(new f(-621987552e5))&&'"1969-12-31T23:59:59.999Z"'==o(new f(-1))}catch(t){i=!1}}e=i}if("json-parse"==t){var s=l.parse;if("function"==typeof s)try{if(0===s("0")&&!s(!1)){var a=5==(n=s(r)).a.length&&1===n.a[0];if(a){try{a=!s('"\t"')}catch(t){}if(a)try{a=1!==s("01")}catch(t){}if(a)try{a=1!==s("1.")}catch(t){}}}}catch(t){a=!1}e=a}}return d[t]=!!e}if(!d("json")){var p="[object Function]",C="[object Number]",N="[object String]",A="[object Array]",a=d("bug-string-char-index");if(!h)var k=r.floor,s=[0,31,59,90,120,151,181,212,243,273,304,334],I=function(t,e){return s[e]+365*(t-1970)+k((t-1969+(e=+(1<e)))/4)-k((t-1901+e)/100)+k((t-1601+e)/400)};if((j=i.hasOwnProperty)||(j=function(t){var n,e={};return j=(e.__proto__=null,e.__proto__={"toString":1},e).toString!=O?function(t){var e=this.__proto__,n=t in(this.__proto__=null,this);return this.__proto__=e,n}:(n=e.constructor,function(t){var e=(this.constructor||n).prototype;return t in this&&!(t in e&&this[t]===e[t])}),e=null,j.call(this,t)}),S=function(t,e){var n,s,r,o=0;for(r in(n=function(){this.valueOf=0}).prototype.valueOf=0,s=new n)j.call(s,r)&&o++;return n=s=null,(S=o?2==o?function(t,e){var n,r={},o=O.call(t)==p;for(n in t)o&&"prototype"==n||j.call(r,n)||!(r[n]=1)||!j.call(t,n)||e(n)}:function(t,e){var n,r,o=O.call(t)==p;for(n in t)o&&"prototype"==n||!j.call(t,n)||(r="constructor"===n)||e(n);(r||j.call(t,n="constructor"))&&e(n)}:(s=["valueOf","toString","toLocaleString","propertyIsEnumerable","isPrototypeOf","hasOwnProperty","constructor"],function(t,e){var n,r,o=O.call(t)==p,i=!o&&"function"!=typeof t.constructor&&q[typeof t.hasOwnProperty]&&t.hasOwnProperty||j;for(n in t)o&&"prototype"==n||!i.call(t,n)||e(n);for(r=s.length;n=s[--r];i.call(t,n)&&e(n));}))(t,e)},!d("json-stringify")){function P(t,e){return("000000"+(e||0)).slice(-t)}function L(t){for(var e='"',n=0,r=t.length,o=!a||10<r,i=o&&(a?t.split(""):t);n<r;n++){var s=t.charCodeAt(n);switch(s){case 8:case 9:case 10:case 12:case 13:case 34:case 92:e+=m[s];break;default:if(s<32){e+="\\u00"+P(2,s.toString(16));break}e+=o?i[n]:t.charAt(n)}}return e+'"'}var m={92:"\\\\",34:'\\"',8:"\\b",12:"\\f",10:"\\n",13:"\\r",9:"\\t"},R=function(t,e,n,r,o,i,s){var a,l,c,u,f,h,d,p,m,v,b,y,g,w,x,_;try{a=e[t]}catch(t){}if("object"==typeof a&&a)if("[object Date]"!=(l=O.call(a))||j.call(a,"toJSON"))"function"==typeof a.toJSON&&(l!=C&&l!=N&&l!=A||j.call(a,"toJSON"))&&(a=a.toJSON(t));else if(-1/0<a&&a<1/0){if(I){for(f=k(a/864e5),c=k(f/365.2425)+1970-1;I(c+1,0)<=f;c++);for(u=k((f-I(c,0))/30.42);I(c,u+1)<=f;u++);f=1+f-I(c,u),d=k((h=(a%864e5+864e5)%864e5)/36e5)%24,p=k(h/6e4)%60,m=k(h/1e3)%60,v=h%1e3}else c=a.getUTCFullYear(),u=a.getUTCMonth(),f=a.getUTCDate(),d=a.getUTCHours(),p=a.getUTCMinutes(),m=a.getUTCSeconds(),v=a.getUTCMilliseconds();a=(c<=0||1e4<=c?(c<0?"-":"+")+P(6,c<0?-c:c):P(4,c))+"-"+P(2,u+1)+"-"+P(2,f)+"T"+P(2,d)+":"+P(2,p)+":"+P(2,m)+"."+P(3,v)+"Z"}else a=null;if(n&&(a=n.call(e,t,a)),null===a)return"null";if("[object Boolean]"==(l=O.call(a)))return""+a;if(l==C)return-1/0<a&&a<1/0?""+a:"null";if(l==N)return L(""+a);if("object"==typeof a){for(w=s.length;w--;)if(s[w]===a)throw E();if(s.push(a),b=[],x=i,i+=o,l==A){for(g=0,w=a.length;g<w;g++)y=R(g,a,n,r,o,i,s),b.push(y===T?"null":y);_=b.length?o?"[\n"+i+b.join(",\n"+i)+"\n"+x+"]":"["+b.join(",")+"]":"[]"}else S(r||a,function(t){var e=R(t,a,n,r,o,i,s);e!==T&&b.push(L(t)+":"+(o?" ":"")+e)}),_=b.length?o?"{\n"+i+b.join(",\n"+i)+"\n"+x+"}":"{"+b.join(",")+"}":"{}";return s.pop(),_}};l.stringify=function(t,e,n){var r,o,i,s;if(q[typeof e]&&e)if((s=O.call(e))==p)o=e;else if(s==A){i={};for(var a,l=0,c=e.length;l<c;a=e[l++],(s=O.call(a))!=N&&s!=C||(i[a]=1));}if(n)if((s=O.call(n))==C){if(0<(n-=n%1))for(r="",10<n&&(n=10);r.length<n;r+=" ");}else s==N&&(r=n.length<=10?n:n.slice(0,10));return R("",((a={})[""]=t,a),o,i,r,"",[])}}if(!d("json-parse")){function v(){throw g=w=null,n()}function b(){for(var t,e,n,r,o,i=w,s=i.length;g<s;)switch(o=i.charCodeAt(g)){case 9:case 10:case 13:case 32:g++;break;case 123:case 125:case 91:case 93:case 58:case 44:return t=a?i.charAt(g):i[g],g++,t;case 34:for(t="@",g++;g<s;)if((o=i.charCodeAt(g))<32)v();else if(92==o)switch(o=i.charCodeAt(++g)){case 92:case 34:case 47:case 98:case 116:case 110:case 102:case 114:t+=_[o],g++;break;case 117:for(e=++g,n=g+4;g<n;g++)48<=(o=i.charCodeAt(g))&&o<=57||97<=o&&o<=102||65<=o&&o<=70||v();t+=x("0x"+i.slice(e,g));break;default:v()}else{if(34==o)break;for(o=i.charCodeAt(g),e=g;32<=o&&92!=o&&34!=o;)o=i.charCodeAt(++g);t+=i.slice(e,g)}if(34==i.charCodeAt(g))return g++,t;v();default:if(e=g,45==o&&(r=!0,o=i.charCodeAt(++g)),48<=o&&o<=57){for(48==o&&(48<=(o=i.charCodeAt(g+1))&&o<=57)&&v(),r=!1;g<s&&(48<=(o=i.charCodeAt(g))&&o<=57);g++);if(46==i.charCodeAt(g)){for(n=++g;n<s&&(48<=(o=i.charCodeAt(n))&&o<=57);n++);n==g&&v(),g=n}if(101==(o=i.charCodeAt(g))||69==o){for(43!=(o=i.charCodeAt(++g))&&45!=o||g++,n=g;n<s&&(48<=(o=i.charCodeAt(n))&&o<=57);n++);n==g&&v(),g=n}return+i.slice(e,g)}if(r&&v(),"true"==i.slice(g,g+4))return g+=4,!0;if("false"==i.slice(g,g+5))return g+=5,!1;if("null"==i.slice(g,g+4))return g+=4,null;v()}return"$"}function y(t,e,n){var r=M(t,e,n);r===T?delete t[e]:t[e]=r}var g,w,x=u.fromCharCode,_={92:"\\",34:'"',47:"/",98:"\b",116:"\t",110:"\n",102:"\f",114:"\r"},U=function(t){var e,n;if("$"==t&&v(),"string"==typeof t){if("@"==(a?t.charAt(0):t[0]))return t.slice(1);if("["==t){for(e=[];"]"!=(t=b());n=n||!0)n&&(","==t?"]"==(t=b())&&v():v()),","==t&&v(),e.push(U(t));return e}if("{"==t){for(e={};"}"!=(t=b());n=n||!0)n&&(","==t?"}"==(t=b())&&v():v()),","!=t&&"string"==typeof t&&"@"==(a?t.charAt(0):t[0])&&":"==b()||v(),e[t.slice(1)]=U(b());return e}v()}return t},M=function(t,e,n){var r,o=t[e];if("object"==typeof o&&o)if(O.call(o)==A)for(r=o.length;r--;)y(o,r,n);else S(o,function(t){y(o,t,n)});return n.call(t,e,o)};l.parse=function(t,e){var n,r;return g=0,w=""+t,n=U(b()),"$"!=b()&&v(),g=w=null,e&&O.call(e)==p?M(((r={})[""]=n,r),"",e):n}}}return l.runInContext=W,l}if(!e||e.global!==e&&e.window!==e&&e.self!==e||(D=e),t)W(D,t);else{var n=D.JSON,r=D.JSON3,o=!1,i=W(D,D.JSON3={"noConflict":function(){return o||(o=!0,D.JSON=n,D.JSON3=r,n=r=null),i}});D.JSON={"parse":i.parse,"stringify":i.stringify}}}).call(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],56:[function(t,e,n){"use strict";var o=Object.prototype.hasOwnProperty;function s(t){return decodeURIComponent(t.replace(/\+/g," "))}n.stringify=function(t,e){e=e||"";var n=[];for(var r in"string"!=typeof e&&(e="?"),t)o.call(t,r)&&n.push(encodeURIComponent(r)+"="+encodeURIComponent(t[r]));return n.length?e+n.join("&"):""},n.parse=function(t){for(var e,n=/([^=?&]+)=?([^&]*)/g,r={};e=n.exec(t);){var o=s(e[1]),i=s(e[2]);o in r||(r[o]=i)}return r}},{}],57:[function(t,e,n){"use strict";e.exports=function(t,e){if(e=e.split(":")[0],!(t=+t))return!1;switch(e){case"http":case"ws":return 80!==t;case"https":case"wss":return 443!==t;case"ftp":return 21!==t;case"gopher":return 70!==t;case"file":return!1}return 0!==t}},{}],58:[function(t,e,n){(function(i){"use strict";var d=t("requires-port"),p=t("querystringify"),n=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\S\s]*)/i,s=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,m=[["#","hash"],["?","query"],function(t){return t.replace("\\","/")},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d+)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],a={hash:1,query:1};function v(t){var e,n=i&&i.location||{},r={},o=typeof(t=t||n);if("blob:"===t.protocol)r=new y(unescape(t.pathname),{});else if("string"==o)for(e in r=new y(t,{}),a)delete r[e];else if("object"==o){for(e in t)e in a||(r[e]=t[e]);void 0===r.slashes&&(r.slashes=s.test(t.href))}return r}function b(t){var e=n.exec(t);return{protocol:e[1]?e[1].toLowerCase():"",slashes:!!e[2],rest:e[3]}}function y(t,e,n){if(!(this instanceof y))return new y(t,e,n);var r,o,i,s,a,l,c=m.slice(),u=typeof e,f=this,h=0;for("object"!=u&&"string"!=u&&(n=e,e=null),n&&"function"!=typeof n&&(n=p.parse),e=v(e),r=!(o=b(t||"")).protocol&&!o.slashes,f.slashes=o.slashes||r&&e.slashes,f.protocol=o.protocol||e.protocol||"",t=o.rest,o.slashes||(c[3]=[/(.*)/,"pathname"]);h<c.length;h++)"function"!=typeof(s=c[h])?(i=s[0],l=s[1],i!=i?f[l]=t:"string"==typeof i?~(a=t.indexOf(i))&&(t="number"==typeof s[2]?(f[l]=t.slice(0,a),t.slice(a+s[2])):(f[l]=t.slice(a),t.slice(0,a))):(a=i.exec(t))&&(f[l]=a[1],t=t.slice(0,a.index)),f[l]=f[l]||r&&s[3]&&e[l]||"",s[4]&&(f[l]=f[l].toLowerCase())):t=s(t);n&&(f.query=n(f.query)),r&&e.slashes&&"/"!==f.pathname.charAt(0)&&(""!==f.pathname||""!==e.pathname)&&(f.pathname=function(t,e){for(var n=(e||"/").split("/").slice(0,-1).concat(t.split("/")),r=n.length,o=n[r-1],i=!1,s=0;r--;)"."===n[r]?n.splice(r,1):".."===n[r]?(n.splice(r,1),s++):s&&(0===r&&(i=!0),n.splice(r,1),s--);return i&&n.unshift(""),"."!==o&&".."!==o||n.push(""),n.join("/")}(f.pathname,e.pathname)),d(f.port,f.protocol)||(f.host=f.hostname,f.port=""),f.username=f.password="",f.auth&&(s=f.auth.split(":"),f.username=s[0]||"",f.password=s[1]||""),f.origin=f.protocol&&f.host&&"file:"!==f.protocol?f.protocol+"//"+f.host:"null",f.href=f.toString()}y.prototype={set:function(t,e,n){var r=this;switch(t){case"query":"string"==typeof e&&e.length&&(e=(n||p.parse)(e)),r[t]=e;break;case"port":r[t]=e,d(e,r.protocol)?e&&(r.host=r.hostname+":"+e):(r.host=r.hostname,r[t]="");break;case"hostname":r[t]=e,r.port&&(e+=":"+r.port),r.host=e;break;case"host":r[t]=e,/:\d+$/.test(e)?(e=e.split(":"),r.port=e.pop(),r.hostname=e.join(":")):(r.hostname=e,r.port="");break;case"protocol":r.protocol=e.toLowerCase(),r.slashes=!n;break;case"pathname":case"hash":if(e){var o="pathname"===t?"/":"#";r[t]=e.charAt(0)!==o?o+e:e}else r[t]=e;break;default:r[t]=e}for(var i=0;i<m.length;i++){var s=m[i];s[4]&&(r[s[1]]=r[s[1]].toLowerCase())}return r.origin=r.protocol&&r.host&&"file:"!==r.protocol?r.protocol+"//"+r.host:"null",r.href=r.toString(),r},toString:function(t){t&&"function"==typeof t||(t=p.stringify);var e,n=this,r=n.protocol;r&&":"!==r.charAt(r.length-1)&&(r+=":");var o=r+(n.slashes?"//":"");return n.username&&(o+=n.username,n.password&&(o+=":"+n.password),o+="@"),o+=n.host+n.pathname,(e="object"==typeof n.query?t(n.query):n.query)&&(o+="?"!==e.charAt(0)?"?"+e:e),n.hash&&(o+=n.hash),o}},y.extractProtocol=b,y.location=v,y.qs=p,e.exports=y}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"querystringify":56,"requires-port":57}]},{},[1])(1)}); +//# sourceMappingURL=sockjs.min.js.map Property changes on: base3.10/src/main/webapp/js/com/sockjs.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/clasTestManage.js =================================================================== --- base3.10/src/main/webapp/js/com/clasTestManage.js (nonexistent) +++ base3.10/src/main/webapp/js/com/clasTestManage.js (revision 7) @@ -0,0 +1,358 @@ +/** + * 콘크리트시험실 시험관리 공통 JS + */ +$(function($) { + // remark 데이터 + var remark = $('#remark'); + var remarkVal = $('input[name="remark"]').val(); + remark.val(remarkVal); + // remark 데이터 + + //신규 입력 + $('#testSploreSearch').on('click', function() { + var selectLength = $('input[name="selectLength"]').val(); + var sploreSe = $('input[name="sploreSe"]').val(); + var param = { + selectLength : selectLength, + sploreSe : sploreSe + } + $.testSplorePopup(param); + }); + + // 시험대상시료 삭제 + $('#testSploreDelete').on('click', function() { + var selectLength = $('input[name="selectLength"]').val(); + var param = { + selectLength : selectLength + } + var returnVal = $.testSploreDelete(param); + + var flag = returnVal.flag; + if (flag) { + var array = returnVal.splitArray; + var params = { + sploreId : array[0], + sploreNo : array[1], + sploreKnd : array[2], + } + + testManageDeleteCallback(params); + } + }); + + // 시험대상시료 선택시 정보 조회 + $('#sploreTbody').on('change', 'input[type="radio"]', function() { + var $radio = $(this).val(); + var param = { + radio : $radio + } + + $.testSploreInfo(param); + }); + + // 콘크리트 시험실 - 시험관리 - 마스터 저장 + $.testManageMastr = function(param) { + // 디자인 공통화 되면 table에서 찾기 + var $tbody = $('#sploreTbody'); + var $tr = $tbody.find('tr'); + + var array = Array(); + // 시료ID, 시료번호 + $tr.each(function() { + var sploreId = $(this).find('input[name="sploreId"]').val(); + var splitArray = sploreId.split('||'); + array.push({ + sploreId : splitArray[0], + sploreNo : splitArray[1], + sploreKnd : splitArray[2], + testNo : splitArray[3] + }); + }); + + // 결재ID + var sanctnId = param.sanctnId; + // 보고서 종류 + var reprtKndId = param.reprtKndId; + var testMastrId = $('#testMastrId').val(); + var testCl = $('#testCl').val(); + var testDe = $('#testDe').val(); + var remark = $('#remark').val(); + var param = { + 'testMastrId' : testMastrId, + 'reprtKndId' : reprtKndId, + 'testCl' : testCl, + 'testDe' : testDe, + 'remark' : remark, + 'sanctnId' : sanctnId, + 'mastrSploreList' : JSON.stringify(array) + } + + var returnVal = ''; + $.ajax({ + type : "POST", + url : "/clas/testManage/mastr/insertJson.do", + data : param, + dataType : 'json', + async : false, + success : function(result) { + returnVal = result; + }, + error : function(request, error) { + console.log("콘크리트시험실_시험마스터 저장 :" + request.status + "\n" + "error:" + error); + } + }); + + return returnVal; + } + + // 콘크리트 시험실 - 시험관리 공통 테이블 생성 + $.createTable = function(params) { + var $tbody = $('#sploreTbody'); + $tbody.empty(); + var $tr = $tbody.find('tr'); + var $trLength = $('#sploreTbody').find('tr').length; + + var array = Array(); + $tr.each(function() { + var sploreId = $(this).find('input[name="sploreId"]').val(); + var splitArray = sploreId.split('||'); + array.push({ + sploreId : splitArray[0], + sploreNo : splitArray[1], + sploreKnd : splitArray[2] + }); + }); + + var dom = ''; + var cnt = $trLength; + var flagCnt = 0; + for (var i = 0; i < params.list.length; i++) { + var flag = true; + var list = params.list[i]; + var checked = ''; + for (var j = 0; j < array.length; j++) { + var listSploreId = list.sploreId; + var listSploreNo = list.sploreNo; + if (listSploreId == array[j].sploreId && listSploreNo == array[j].sploreNo) { + flag = false; + } + } + + if (flag) { + cnt = cnt + 1; + if (flagCnt == 0) { + checked = 'checked=checked'; + // 시료구분 + $('#sploreSeNm').val(list.sploreSeNm); + // 시료 종류 + $('#sploreKndNm').val(list.sploreKndNm); + // 시료원 + $('#sploreArea').val(list.sploreArea); + // 시료채취장소 + $('#splorePickPlace').val(list.splorePickPlace); + // 시료 채취자 + $('#splorePickNm').val(list.splorePickNm); + // 시료 채취일자 + $('#splorePickDe').val(list.splorePickDe); + // Lot No. + $('#lotNo').val(list.lotNo); + // 시료 제작일자 + $('#sploreMnfctDe').val(list.sploreMnfctDe); + // 실험실 온도 + $('#lbrtryTp').val(list.lbrtryTp); + // 시료제작시간 + $('#sploreMnfctTime').val(list.sploreMnfctTime); + // 기타 시료 정보 + $('#etcSplore').val(list.etcSplore); + + flagCnt++; + } + + dom += '<tr>'; + dom += '<td>'; + dom += '<input type="radio" name="sploreId" id="sploreId_' + cnt + '" value="' + list.sploreId + '||' + list.sploreNo + '||' + list.sploreKnd + '||" ' + checked + '><label for="sploreId_' + cnt + '"><span></span></label>'; + dom += '</td>'; + dom += '<td>'; + dom += cnt; + dom += '</td>'; + dom += '<td>'; + dom += list.sploreId; + dom += '</td>'; + dom += '<td>'; + dom += list.sploreNo; + dom += '</td>'; + dom += '<td>'; + dom += list.sploreSeNm; + dom += '</td>'; + dom += '<td>'; + dom += list.sploreKndNm; + dom += '</td>'; + dom += '</tr>'; + } + } + + $tbody.append(dom); + + // 선택가능 개수가 같을 시 버튼 비활성화 +// var selectLength = params.selectLength; +// $trLength = $('#sploreTbody').find('tr').length; +// if (selectLength == $trLength) { +// $('#testSploreSearch').off(); +// } + } + + $.testSplorePopup = function(param) { + var selectLength = param.selectLength; + var sploreSe = param.sploreSe; + // 배열형태로 생성 후 JSON 문자열로 변환 + var $tbody = $('#sploreTbody'); + var $tr = $tbody.find('tr'); + $trLength = $('#sploreTbody').find('tr').length; + + if (selectLength == $trLength) { + alert(selectLength + "개의 시험대상시료를 선택할 수 있습니다.\n삭제 후 추가해주세요."); + return false; + } else { + var array = Array(); + // 시료ID, 시료번호 + $tr.each(function() { + var sploreId = $(this).find('input[name="sploreId"]').val(); + var splitArray = sploreId.split('||'); + array.push({ + sploreId : splitArray[0], + sploreNo : splitArray[1] + }); + }); + + /** + * ********************************** + * parameter + * 1. selectLength : 선택 가능 개수 + * 2. idArray : 현재 선택되어 있는 시험시료에 대한 배열 + * ex) var array = [ + {"sploreId" : 'CE-0000001', "sploreNo" : '004'}, + {"sploreId" : 'CE-0000001', "sploreNo" : '003'} + ]; + * ********************************** + */ + var params = { + "selectLength" : selectLength, + "sploreSe" : sploreSe, + "idArray" : JSON.stringify(array) + } + + fncPopupOpen("/clas/stdr/testSplore/pop/list.do", 1200, 700, params); + } + } + + // 시험대상 시료 삭제 + $.testSploreDelete = function(param) { + var returnVal = {}; + var $tbody = $('#sploreTbody'); + var $tr = $tbody.find('tr'); + var $checkedRadio = $tr.find('input[type="radio"]:checked'); + var $checkedRadioLength = $checkedRadio.length; + var flag = true; + var val = $checkedRadio.val(); + var splitArray = ''; + if ($checkedRadioLength != 0) { + splitArray = val.split('||'); + + $checkedRadio.closest('tr').remove(); + // 시료구분 + $('#sploreSeNm').val(''); + // 시료 종류 + $('#sploreKndNm').val(''); + // 시료원 + $('#sploreArea').val(''); + // 시료채취장소 + $('#splorePickPlace').val(''); + // 시료 채취자 + $('#splorePickNm').val(''); + // 시료 채취일자 + $('#splorePickDe').val(''); + // Lot No. + $('#lotNo').val(''); + // 시료 제작일자 + $('#sploreMnfctDe').val(''); + // 실험실 온도 + $('#lbrtryTp').val(''); + // 시료제작시간 + $('#sploreMnfctTime').val(''); + // 기타 시료 정보 + $('#etcSplore').val(''); + + $tr = $tbody.find('tr'); + $tr.each(function(i) { + $(this).find('td:eq(1)').text(parseInt(i) + 1); + }); + + // 선택가능 개수가 같을 시 버튼 활성화 +// var selectLength = param.selectLength; +// $trLength = $('#sploreTbody').find('tr').length; +// if (selectLength != $('#sploreTbody').find('tr').length) { +// $('#testSploreSearch').on('click', function() { +// var param = { +// selectLength : selectLength +// } +// $.testSplorePopup(param); +// }); +// } + } else { + alert("삭제할 시험대상시료가 없습니다."); + flag = false; + } + + returnVal = { + flag : flag, + splitArray : splitArray + } + + return returnVal; + } + + // 시험대상시료 라디오 선택 시 시험대상시료 정보 조회 + $.testSploreInfo = function(param) { + var sploreId = param.radio; + var splitArray = sploreId.split('||'); + + var params = { + sploreId : splitArray[0], + sploreNo : splitArray[1] + } + + $.ajax({ + type : "POST", + url : "/clas/testManage/mastr/sploreInfo/selectJson.do", + data : params, + dataType : 'json', + success : function(result) { + // 시료구분 + $('#sploreSeNm').val(result.sploreSeNm); + // 시료 종류 + $('#sploreKndNm').val(result.sploreKndNm); + // 시료원 + $('#sploreArea').val(result.sploreArea); + // 시료채취장소 + $('#splorePickPlace').val(result.splorePickPlace); + // 시료 채취자 + $('#splorePickNm').val(result.splorePickNm); + // 시료 채취일자 + $('#splorePickDe').val(result.splorePickDe); + // Lot No. + $('#lotNo').val(result.lotNo); + // 시료 제작일자 + $('#sploreMnfctDe').val(result.sploreMnfctDe); + // 실험실 온도 + $('#lbrtryTp').val(result.lbrtryTp); + // 시료제작시간 + $('#sploreMnfctTime').val(result.sploreMnfctTime); + // 기타 시료 정보 + $('#etcSplore').val(result.etcSplore); + }, + error : function(request, error) { + console.log("콘크리트시험실_시험대상시료 정보 조회 :" + request.status + "\n" + "error:" + error); + } + }); + } +}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/com/clasTestManage.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/jquery.fullPage.js =================================================================== --- base3.10/src/main/webapp/js/com/jquery.fullPage.js (nonexistent) +++ base3.10/src/main/webapp/js/com/jquery.fullPage.js (revision 7) @@ -0,0 +1,2911 @@ +/*! + * fullPage 2.9.7 + * https://github.com/alvarotrigo/fullPage.js + * @license MIT licensed + * + * Copyright (C) 2015 alvarotrigo.com - A project by Alvaro Trigo + */ +(function(global, factory) { + 'use strict'; + if (typeof define === 'function' && define.amd) { + define(['jquery'], function($) { + return factory($, global, global.document, global.Math); + }); + } else if (typeof exports === "object" && exports) { + module.exports = factory(require('jquery'), global, global.document, global.Math); + } else { + factory(jQuery, global, global.document, global.Math); + } +})(typeof window !== 'undefined' ? window : this, function($, window, document, Math, undefined) { + 'use strict'; + + // keeping central set of classnames and selectors + var WRAPPER = 'fullpage-wrapper'; + var WRAPPER_SEL = '.' + WRAPPER; + + // slimscroll + var SCROLLABLE = 'fp-scrollable'; + var SCROLLABLE_SEL = '.' + SCROLLABLE; + + // util + var RESPONSIVE = 'fp-responsive'; + var NO_TRANSITION = 'fp-notransition'; + var DESTROYED = 'fp-destroyed'; + var ENABLED = 'fp-enabled'; + var VIEWING_PREFIX = 'fp-viewing'; + var ACTIVE = 'active'; + var ACTIVE_SEL = '.' + ACTIVE; + var COMPLETELY = 'fp-completely'; + var COMPLETELY_SEL = '.' + COMPLETELY; + + // section + var SECTION_DEFAULT_SEL = '.section'; + var SECTION = 'fp-section'; + var SECTION_SEL = '.' + SECTION; + var SECTION_ACTIVE_SEL = SECTION_SEL + ACTIVE_SEL; + var SECTION_FIRST_SEL = SECTION_SEL + ':first'; + var SECTION_LAST_SEL = SECTION_SEL + ':last'; + var TABLE_CELL = 'fp-tableCell'; + var TABLE_CELL_SEL = '.' + TABLE_CELL; + var AUTO_HEIGHT = 'fp-auto-height'; + var AUTO_HEIGHT_SEL = '.fp-auto-height'; + var NORMAL_SCROLL = 'fp-normal-scroll'; + var NORMAL_SCROLL_SEL = '.fp-normal-scroll'; + + // section nav + var SECTION_NAV = 'fp-nav'; + var SECTION_NAV_SEL = '#' + SECTION_NAV; + var SECTION_NAV_TOOLTIP = 'fp-tooltip'; + var SECTION_NAV_TOOLTIP_SEL='.'+SECTION_NAV_TOOLTIP; + var SHOW_ACTIVE_TOOLTIP = 'fp-show-active'; + + // slide + var SLIDE_DEFAULT_SEL = '.slide'; + var SLIDE = 'fp-slide'; + var SLIDE_SEL = '.' + SLIDE; + var SLIDE_ACTIVE_SEL = SLIDE_SEL + ACTIVE_SEL; + var SLIDES_WRAPPER = 'fp-slides'; + var SLIDES_WRAPPER_SEL = '.' + SLIDES_WRAPPER; + var SLIDES_CONTAINER = 'fp-slidesContainer'; + var SLIDES_CONTAINER_SEL = '.' + SLIDES_CONTAINER; + var TABLE = 'fp-table'; + + // slide nav + var SLIDES_NAV = 'fp-slidesNav'; + var SLIDES_NAV_SEL = '.' + SLIDES_NAV; + var SLIDES_NAV_LINK_SEL = SLIDES_NAV_SEL + ' a'; + var SLIDES_ARROW = 'fp-controlArrow'; + var SLIDES_ARROW_SEL = '.' + SLIDES_ARROW; + var SLIDES_PREV = 'fp-prev'; + var SLIDES_PREV_SEL = '.' + SLIDES_PREV; + var SLIDES_ARROW_PREV = SLIDES_ARROW + ' ' + SLIDES_PREV; + var SLIDES_ARROW_PREV_SEL = SLIDES_ARROW_SEL + SLIDES_PREV_SEL; + var SLIDES_NEXT = 'fp-next'; + var SLIDES_NEXT_SEL = '.' + SLIDES_NEXT; + var SLIDES_ARROW_NEXT = SLIDES_ARROW + ' ' + SLIDES_NEXT; + var SLIDES_ARROW_NEXT_SEL = SLIDES_ARROW_SEL + SLIDES_NEXT_SEL; + + var $window = $(window); + var $document = $(document); + + $.fn.fullpage = function(options) { + //only once my friend! + if($('html').hasClass(ENABLED)){ displayWarnings(); return; } + + // common jQuery objects + var $htmlBody = $('html, body'); + var $body = $('body'); + + var FP = $.fn.fullpage; + + // Creating some defaults, extending them with any options that were provided + options = $.extend({ + //navigation + menu: false, + anchors:[], + lockAnchors: false, + navigation: false, + navigationPosition: 'right', + navigationTooltips: [], + showActiveTooltip: false, + slidesNavigation: false, + slidesNavPosition: 'bottom', + scrollBar: false, + hybrid: false, + + //scrolling + css3: true, + scrollingSpeed: 700, + autoScrolling: true, + fitToSection: true, + fitToSectionDelay: 1000, + easing: 'easeInOutCubic', + easingcss3: 'ease', + loopBottom: false, + loopTop: false, + loopHorizontal: true, + continuousVertical: false, + continuousHorizontal: false, + scrollHorizontally: false, + interlockedSlides: false, + dragAndMove: false, + offsetSections: false, + resetSliders: false, + fadingEffect: false, + normalScrollElements: null, + scrollOverflow: false, + scrollOverflowReset: false, + scrollOverflowHandler: $.fn.fp_scrolloverflow ? $.fn.fp_scrolloverflow.iscrollHandler : null, + scrollOverflowOptions: null, + touchSensitivity: 5, + normalScrollElementTouchThreshold: 5, + bigSectionsDestination: null, + + //Accessibility + keyboardScrolling: true, + animateAnchor: true, + recordHistory: true, + + //design + controlArrows: true, + controlArrowColor: '#fff', + verticalCentered: true, + sectionsColor : [], + paddingTop: 0, + paddingBottom: 0, + fixedElements: null, + responsive: 0, //backwards compabitility with responsiveWiddth + responsiveWidth: 0, + responsiveHeight: 0, + responsiveSlides: false, + parallax: false, + parallaxOptions: { + type: 'reveal', + percentage: 62, + property: 'translate' + }, + + //Custom selectors + sectionSelector: SECTION_DEFAULT_SEL, + slideSelector: SLIDE_DEFAULT_SEL, + + //events + afterLoad: null, + onLeave: null, + afterRender: null, + afterResize: null, + afterReBuild: null, + afterSlideLoad: null, + onSlideLeave: null, + afterResponsive: null, + + lazyLoading: true + }, options); + + //flag to avoid very fast sliding for landscape sliders + var slideMoving = false; + + var isTouchDevice = navigator.userAgent.match(/(iPhone|iPod|iPad|Android|playbook|silk|BlackBerry|BB10|Windows Phone|Tizen|Bada|webOS|IEMobile|Opera Mini)/); + var isTouch = (('ontouchstart' in window) || (navigator.msMaxTouchPoints > 0) || (navigator.maxTouchPoints)); + var container = $(this); + var windowsHeight = $window.height(); + var isResizing = false; + var isWindowFocused = true; + var lastScrolledDestiny; + var lastScrolledSlide; + var canScroll = true; + var scrollings = []; + var controlPressed; + var startingSection; + var isScrollAllowed = {}; + isScrollAllowed.m = { 'up':true, 'down':true, 'left':true, 'right':true }; + isScrollAllowed.k = $.extend(true,{}, isScrollAllowed.m); + var MSPointer = getMSPointer(); + var events = { + touchmove: 'ontouchmove' in window ? 'touchmove' : MSPointer.move, + touchstart: 'ontouchstart' in window ? 'touchstart' : MSPointer.down + }; + var scrollBarHandler; + + // taken from https://github.com/udacity/ud891/blob/gh-pages/lesson2-focus/07-modals-and-keyboard-traps/solution/modal.js + var focusableElementsString = ' iframe, object, embed, [tabindex="0"], [contenteditable]'; + + //timeouts + var resizeId; + var afterSectionLoadsId; + var afterSlideLoadsId; + var scrollId; + var scrollId2; + var keydownId; + var originals = $.extend(true, {}, options); //deep copy + + displayWarnings(); + + //easeInOutCubic animation included in the plugin + $.extend($.easing,{ easeInOutCubic: function (x, t, b, c, d) {if ((t/=d/2) < 1) return c/2*t*t*t + b;return c/2*((t-=2)*t*t + 2) + b;}}); + + /** + * Sets the autoScroll option. + * It changes the scroll bar visibility and the history of the site as a result. + */ + function setAutoScrolling(value, type){ + //removing the transformation + if(!value){ + silentScroll(0); + } + + setVariableState('autoScrolling', value, type); + + var element = $(SECTION_ACTIVE_SEL); + + if(options.autoScrolling && !options.scrollBar){ + $htmlBody.css({ + 'overflow' : 'hidden', + 'height' : '100%' + }); + + setRecordHistory(originals.recordHistory, 'internal'); + + //for IE touch devices + container.css({ + '-ms-touch-action': 'none', + 'touch-action': 'none' + }); + + if(element.length){ + //moving the container up + silentScroll(element.position().top); + } + + }else{ + $htmlBody.css({ + 'overflow' : 'visible', + 'height' : 'initial' + }); + + setRecordHistory(false, 'internal'); + + //for IE touch devices + container.css({ + '-ms-touch-action': '', + 'touch-action': '' + }); + + //scrolling the page to the section with no animation + if (element.length) { + $htmlBody.scrollTop(element.position().top); + } + } + } + + /** + * Defines wheter to record the history for each hash change in the URL. + */ + function setRecordHistory(value, type){ + setVariableState('recordHistory', value, type); + } + + /** + * Defines the scrolling speed + */ + function setScrollingSpeed(value, type){ + setVariableState('scrollingSpeed', value, type); + } + + /** + * Sets fitToSection + */ + function setFitToSection(value, type){ + setVariableState('fitToSection', value, type); + } + + /** + * Sets lockAnchors + */ + function setLockAnchors(value){ + options.lockAnchors = value; + } + + /** + * Adds or remove the possibility of scrolling through sections by using the mouse wheel or the trackpad. + */ + function setMouseWheelScrolling(value){ + if(value){ + addMouseWheelHandler(); + addMiddleWheelHandler(); + }else{ + removeMouseWheelHandler(); + removeMiddleWheelHandler(); + } + } + + /** + * Adds or remove the possibility of scrolling through sections by using the mouse wheel/trackpad or touch gestures. + * Optionally a second parameter can be used to specify the direction for which the action will be applied. + * + * @param directions string containing the direction or directions separated by comma. + */ + function setAllowScrolling(value, directions){ + if(typeof directions !== 'undefined'){ + directions = directions.replace(/ /g,'').split(','); + + $.each(directions, function (index, direction){ + setIsScrollAllowed(value, direction, 'm'); + }); + } + else{ + setIsScrollAllowed(value, 'all', 'm'); + + if(value){ + setMouseWheelScrolling(true); + addTouchHandler(); + }else{ + setMouseWheelScrolling(false); + removeTouchHandler(); + } + } + } + + /** + * Adds or remove the possibility of scrolling through sections by using the keyboard arrow keys + */ + function setKeyboardScrolling(value, directions){ + if(typeof directions !== 'undefined'){ + directions = directions.replace(/ /g,'').split(','); + + $.each(directions, function (index, direction){ + setIsScrollAllowed(value, direction, 'k'); + }); + }else{ + setIsScrollAllowed(value, 'all', 'k'); + options.keyboardScrolling = value; + } + } + + /** + * Moves the page up one section. + */ + function moveSectionUp(){ + var prev = $(SECTION_ACTIVE_SEL).prev(SECTION_SEL); + + //looping to the bottom if there's no more sections above + if (!prev.length && (options.loopTop || options.continuousVertical)) { + prev = $(SECTION_SEL).last(); + } + + if (prev.length) { + scrollPage(prev, null, true); + } + } + + /** + * Moves the page down one section. + */ + function moveSectionDown(){ + var next = $(SECTION_ACTIVE_SEL).next(SECTION_SEL); + + //looping to the top if there's no more sections below + if(!next.length && + (options.loopBottom || options.continuousVertical)){ + next = $(SECTION_SEL).first(); + } + + if(next.length){ + scrollPage(next, null, false); + } + } + + /** + * Moves the page to the given section and slide with no animation. + * Anchors or index positions can be used as params. + */ + function silentMoveTo(sectionAnchor, slideAnchor){ + setScrollingSpeed (0, 'internal'); + moveTo(sectionAnchor, slideAnchor); + setScrollingSpeed (originals.scrollingSpeed, 'internal'); + } + + /** + * Moves the page to the given section and slide. + * Anchors or index positions can be used as params. + */ + function moveTo(sectionAnchor, slideAnchor){ + var destiny = getSectionByAnchor(sectionAnchor); + + if (typeof slideAnchor !== 'undefined'){ + scrollPageAndSlide(sectionAnchor, slideAnchor); + }else if(destiny.length > 0){ + scrollPage(destiny); + } + } + + /** + * Slides right the slider of the active section. + * Optional `section` param. + */ + function moveSlideRight(section){ + moveSlide('right', section); + } + + /** + * Slides left the slider of the active section. + * Optional `section` param. + */ + function moveSlideLeft(section){ + moveSlide('left', section); + } + + /** + * When resizing is finished, we adjust the slides sizes and positions + */ + function reBuild(resizing){ + if(container.hasClass(DESTROYED)){ return; } //nothing to do if the plugin was destroyed + + isResizing = true; + + windowsHeight = $window.height(); //updating global var + + $(SECTION_SEL).each(function(){ + var slidesWrap = $(this).find(SLIDES_WRAPPER_SEL); + var slides = $(this).find(SLIDE_SEL); + + //adjusting the height of the table-cell for IE and Firefox + if(options.verticalCentered){ + $(this).find(TABLE_CELL_SEL).css('height', getTableHeight($(this)) + 'px'); + } + + $(this).css('height', windowsHeight + 'px'); + + //adjusting the position fo the FULL WIDTH slides... + if (slides.length > 1) { + landscapeScroll(slidesWrap, slidesWrap.find(SLIDE_ACTIVE_SEL)); + } + }); + + if(options.scrollOverflow){ + scrollBarHandler.createScrollBarForAll(); + } + + var activeSection = $(SECTION_ACTIVE_SEL); + var sectionIndex = activeSection.index(SECTION_SEL); + + //isn't it the first section? + if(sectionIndex){ + //adjusting the position for the current section + silentMoveTo(sectionIndex + 1); + } + + isResizing = false; + $.isFunction( options.afterResize ) && resizing && options.afterResize.call(container); + $.isFunction( options.afterReBuild ) && !resizing && options.afterReBuild.call(container); + } + + /** + * Turns fullPage.js to normal scrolling mode when the viewport `width` or `height` + * are smaller than the set limit values. + */ + function setResponsive(active){ + var isResponsive = $body.hasClass(RESPONSIVE); + + if(active){ + if(!isResponsive){ + setAutoScrolling(false, 'internal'); + setFitToSection(false, 'internal'); + $(SECTION_NAV_SEL).hide(); + $body.addClass(RESPONSIVE); + $.isFunction( options.afterResponsive ) && options.afterResponsive.call( container, active); + } + } + else if(isResponsive){ + setAutoScrolling(originals.autoScrolling, 'internal'); + setFitToSection(originals.autoScrolling, 'internal'); + $(SECTION_NAV_SEL).show(); + $body.removeClass(RESPONSIVE); + $.isFunction( options.afterResponsive ) && options.afterResponsive.call( container, active); + } + } + + if($(this).length){ + //public functions + FP.version = '2.9.7'; + FP.setAutoScrolling = setAutoScrolling; + FP.setRecordHistory = setRecordHistory; + FP.setScrollingSpeed = setScrollingSpeed; + FP.setFitToSection = setFitToSection; + FP.setLockAnchors = setLockAnchors; + FP.setMouseWheelScrolling = setMouseWheelScrolling; + FP.setAllowScrolling = setAllowScrolling; + FP.setKeyboardScrolling = setKeyboardScrolling; + FP.moveSectionUp = moveSectionUp; + FP.moveSectionDown = moveSectionDown; + FP.silentMoveTo = silentMoveTo; + FP.moveTo = moveTo; + FP.moveSlideRight = moveSlideRight; + FP.moveSlideLeft = moveSlideLeft; + FP.fitToSection = fitToSection; + FP.reBuild = reBuild; + FP.setResponsive = setResponsive; + FP.destroy = destroy; + + //functions we want to share across files but which are not + //mean to be used on their own by developers + FP.shared ={ + afterRenderActions: afterRenderActions + }; + + init(); + + bindEvents(); + } + + function init(){ + //if css3 is not supported, it will use jQuery animations + if(options.css3){ + options.css3 = support3d(); + } + + options.scrollBar = options.scrollBar || options.hybrid; + + setOptionsFromDOM(); + prepareDom(); + setAllowScrolling(true); + setAutoScrolling(options.autoScrolling, 'internal'); + responsive(); + + //setting the class for the body element + setBodyClass(); + + if(document.readyState === 'complete'){ + scrollToAnchor(); + } + $window.on('load', scrollToAnchor); + } + + function bindEvents(){ + $window + //when scrolling... + .on('scroll', scrollHandler) + + //detecting any change on the URL to scroll to the given anchor link + //(a way to detect back history button as we play with the hashes on the URL) + .on('hashchange', hashChangeHandler) + + //when opening a new tab (ctrl + t), `control` won't be pressed when coming back. + .blur(blurHandler) + + //when resizing the site, we adjust the heights of the sections, slimScroll... + .resize(resizeHandler); + + $document + //Sliding with arrow keys, both, vertical and horizontal + .keydown(keydownHandler) + + //to prevent scrolling while zooming + .keyup(keyUpHandler) + + //Scrolls to the section when clicking the navigation bullet + .on('click touchstart', SECTION_NAV_SEL + ' a', sectionBulletHandler) + + //Scrolls the slider to the given slide destination for the given section + .on('click touchstart', SLIDES_NAV_LINK_SEL, slideBulletHandler) + + .on('click', SECTION_NAV_TOOLTIP_SEL, tooltipTextHandler); + + //Scrolling horizontally when clicking on the slider controls. + $(SECTION_SEL).on('click touchstart', SLIDES_ARROW_SEL, slideArrowHandler); + + + /** + * Applying normalScroll elements. + * Ignoring the scrolls over the specified selectors. + */ + if(options.normalScrollElements){ + $document.on('mouseenter touchstart', options.normalScrollElements, function () { + setAllowScrolling(false); + }); + + $document.on('mouseleave touchend', options.normalScrollElements, function(){ + setAllowScrolling(true); + }); + } + } + + /** + * Setting options from DOM elements if they are not provided. + */ + function setOptionsFromDOM(){ + var sections = container.find(options.sectionSelector); + + //no anchors option? Checking for them in the DOM attributes + if(!options.anchors.length){ + options.anchors = sections.filter('[data-anchor]').map(function(){ + return $(this).data('anchor').toString(); + }).get(); + } + + //no tooltips option? Checking for them in the DOM attributes + if(!options.navigationTooltips.length){ + options.navigationTooltips = sections.filter('[data-tooltip]').map(function(){ + return $(this).data('tooltip').toString(); + }).get(); + } + } + + /** + * Works over the DOM structure to set it up for the current fullpage options. + */ + function prepareDom(){ + container.css({ + 'height': '100%', + 'position': 'relative' + }); + + //adding a class to recognize the container internally in the code + container.addClass(WRAPPER); + $('html').addClass(ENABLED); + + //due to https://github.com/alvarotrigo/fullPage.js/issues/1502 + windowsHeight = $window.height(); + + container.removeClass(DESTROYED); //in case it was destroyed before initializing it again + + addInternalSelectors(); + + //styling the sections / slides / menu + $(SECTION_SEL).each(function(index){ + var section = $(this); + var slides = section.find(SLIDE_SEL); + var numSlides = slides.length; + + //caching the original styles to add them back on destroy('all') + section.data('fp-styles', section.attr('style')); + + styleSection(section, index); + styleMenu(section, index); + + // if there's any slide + if (numSlides > 0) { + styleSlides(section, slides, numSlides); + }else{ + if(options.verticalCentered){ + addTableClass(section); + } + } + }); + + //fixed elements need to be moved out of the plugin container due to problems with CSS3. + if(options.fixedElements && options.css3){ + $(options.fixedElements).appendTo($body); + } + + //vertical centered of the navigation + active bullet + if(options.navigation){ + addVerticalNavigation(); + } + + enableYoutubeAPI(); + + if(options.scrollOverflow){ + scrollBarHandler = options.scrollOverflowHandler.init(options); + }else{ + afterRenderActions(); + } + } + + /** + * Styles the horizontal slides for a section. + */ + function styleSlides(section, slides, numSlides){ + var sliderWidth = numSlides * 100; + var slideWidth = 100 / numSlides; + + slides.wrapAll('<div class="' + SLIDES_CONTAINER + '" />'); + slides.parent().wrap('<div class="' + SLIDES_WRAPPER + '" />'); + + section.find(SLIDES_CONTAINER_SEL).css('width', sliderWidth + '%'); + + if(numSlides > 1){ + if(options.controlArrows){ + createSlideArrows(section); + } + + if(options.slidesNavigation){ + addSlidesNavigation(section, numSlides); + } + } + + slides.each(function(index) { + $(this).css('width', slideWidth + '%'); + + if(options.verticalCentered){ + addTableClass($(this)); + } + }); + + var startingSlide = section.find(SLIDE_ACTIVE_SEL); + + //if the slide won't be an starting point, the default will be the first one + //the active section isn't the first one? Is not the first slide of the first section? Then we load that section/slide by default. + if( startingSlide.length && ($(SECTION_ACTIVE_SEL).index(SECTION_SEL) !== 0 || ($(SECTION_ACTIVE_SEL).index(SECTION_SEL) === 0 && startingSlide.index() !== 0))){ + silentLandscapeScroll(startingSlide, 'internal'); + }else{ + slides.eq(0).addClass(ACTIVE); + } + } + + /** + * Styling vertical sections + */ + function styleSection(section, index){ + //if no active section is defined, the 1st one will be the default one + if(!index && $(SECTION_ACTIVE_SEL).length === 0) { + section.addClass(ACTIVE); + } + startingSection = $(SECTION_ACTIVE_SEL); + + section.css('height', windowsHeight + 'px'); + + if(options.paddingTop){ + section.css('padding-top', options.paddingTop); + } + + if(options.paddingBottom){ + section.css('padding-bottom', options.paddingBottom); + } + + if (typeof options.sectionsColor[index] !== 'undefined') { + section.css('background-color', options.sectionsColor[index]); + } + + if (typeof options.anchors[index] !== 'undefined') { + section.attr('data-anchor', options.anchors[index]); + } + } + + /** + * Sets the data-anchor attributes to the menu elements and activates the current one. + */ + function styleMenu(section, index){ + if (typeof options.anchors[index] !== 'undefined') { + //activating the menu / nav element on load + if(section.hasClass(ACTIVE)){ + activateMenuAndNav(options.anchors[index], index); + } + } + + //moving the menu outside the main container if it is inside (avoid problems with fixed positions when using CSS3 tranforms) + if(options.menu && options.css3 && $(options.menu).closest(WRAPPER_SEL).length){ + $(options.menu).appendTo($body); + } + } + + /** + * Adds internal classes to be able to provide customizable selectors + * keeping the link with the style sheet. + */ + function addInternalSelectors(){ + container.find(options.sectionSelector).addClass(SECTION); + container.find(options.slideSelector).addClass(SLIDE); + } + + /** + * Creates the control arrows for the given section + */ + function createSlideArrows(section){ + section.find(SLIDES_WRAPPER_SEL).after('<div class="' + SLIDES_ARROW_PREV + '"></div><div class="' + SLIDES_ARROW_NEXT + '"></div>'); + + if(options.controlArrowColor!='#fff'){ + section.find(SLIDES_ARROW_NEXT_SEL).css('border-color', 'transparent transparent transparent '+options.controlArrowColor); + section.find(SLIDES_ARROW_PREV_SEL).css('border-color', 'transparent '+ options.controlArrowColor + ' transparent transparent'); + } + + if(!options.loopHorizontal){ + section.find(SLIDES_ARROW_PREV_SEL).hide(); + } + } + + /** + * Creates a vertical navigation bar. + */ + function addVerticalNavigation(){ + $body.append('<div id="' + SECTION_NAV + '"><ul></ul></div>'); + var nav = $(SECTION_NAV_SEL); + + nav.addClass(function() { + return options.showActiveTooltip ? SHOW_ACTIVE_TOOLTIP + ' ' + options.navigationPosition : options.navigationPosition; + }); + + for (var i = 0; i < $(SECTION_SEL).length; i++) { + var link = ''; + if (options.anchors.length) { + link = options.anchors[i]; + } + + var li = '<li><a href="#' + link + '"><span></span></a>'; + + // Only add tooltip if needed (defined by user) + var tooltip = options.navigationTooltips[i]; + + if (typeof tooltip !== 'undefined' && tooltip !== '') { + li += '<div class="' + SECTION_NAV_TOOLTIP + ' ' + options.navigationPosition + '">' + tooltip + '</div>'; + } + + li += '</li>'; + + nav.find('ul').append(li); + } + + //centering it vertically + $(SECTION_NAV_SEL).css('margin-top', '-' + ($(SECTION_NAV_SEL).height()/2) + 'px'); + + //activating the current active section + $(SECTION_NAV_SEL).find('li').eq($(SECTION_ACTIVE_SEL).index(SECTION_SEL)).find('a').addClass(ACTIVE); + } + + /* + * Enables the Youtube videos API so we can control their flow if necessary. + */ + function enableYoutubeAPI(){ + container.find('iframe[src*="youtube.com/embed/"]').each(function(){ + addURLParam($(this), 'enablejsapi=1'); + }); + } + + /** + * Adds a new parameter and its value to the `src` of a given element + */ + function addURLParam(element, newParam){ + var originalSrc = element.attr('src'); + element.attr('src', originalSrc + getUrlParamSign(originalSrc) + newParam); + } + + /* + * Returns the prefix sign to use for a new parameter in an existen URL. + * + * @return {String} ? | & + */ + function getUrlParamSign(url){ + return ( !/\?/.test( url ) ) ? '?' : '&'; + } + + /** + * Actions and callbacks to fire afterRender + */ + function afterRenderActions(){ + var section = $(SECTION_ACTIVE_SEL); + + section.addClass(COMPLETELY); + + lazyLoad(section); + playMedia(section); + + if(options.scrollOverflow){ + options.scrollOverflowHandler.afterLoad(); + } + + if(isDestinyTheStartingSection()){ + $.isFunction( options.afterLoad ) && options.afterLoad.call(section, section.data('anchor'), (section.index(SECTION_SEL) + 1)); + } + + $.isFunction( options.afterRender ) && options.afterRender.call(container); + } + + /** + * Determines if the URL anchor destiny is the starting section (the one using 'active' class before initialization) + */ + function isDestinyTheStartingSection(){ + var destinationSection = getSectionByAnchor(getAnchorsURL().section); + return !destinationSection || destinationSection.length && destinationSection.index() === startingSection.index(); + } + + + var isScrolling = false; + var lastScroll = 0; + + //when scrolling... + function scrollHandler(){ + var currentSection; + + if(!options.autoScrolling || options.scrollBar){ + var currentScroll = $window.scrollTop(); + var scrollDirection = getScrollDirection(currentScroll); + var visibleSectionIndex = 0; + var screen_mid = currentScroll + ($window.height() / 2.0); + var isAtBottom = $body.height() - $window.height() === currentScroll; + var sections = document.querySelectorAll(SECTION_SEL); + + //when using `auto-height` for a small last section it won't be centered in the viewport + if(isAtBottom){ + visibleSectionIndex = sections.length - 1; + } + //is at top? when using `auto-height` for a small first section it won't be centered in the viewport + else if(!currentScroll){ + visibleSectionIndex = 0; + } + + //taking the section which is showing more content in the viewport + else{ + for (var i = 0; i < sections.length; ++i) { + var section = sections[i]; + + // Pick the the last section which passes the middle line of the screen. + if (section.offsetTop <= screen_mid) + { + visibleSectionIndex = i; + } + } + } + + if(isCompletelyInViewPort(scrollDirection)){ + if(!$(SECTION_ACTIVE_SEL).hasClass(COMPLETELY)){ + $(SECTION_ACTIVE_SEL).addClass(COMPLETELY).siblings().removeClass(COMPLETELY); + } + } + + //geting the last one, the current one on the screen + currentSection = $(sections).eq(visibleSectionIndex); + + //setting the visible section as active when manually scrolling + //executing only once the first time we reach the section + if(!currentSection.hasClass(ACTIVE)){ + isScrolling = true; + var leavingSection = $(SECTION_ACTIVE_SEL); + var leavingSectionIndex = leavingSection.index(SECTION_SEL) + 1; + var yMovement = getYmovement(currentSection); + var anchorLink = currentSection.data('anchor'); + var sectionIndex = currentSection.index(SECTION_SEL) + 1; + var activeSlide = currentSection.find(SLIDE_ACTIVE_SEL); + var slideIndex; + var slideAnchorLink; + + if(activeSlide.length){ + slideAnchorLink = activeSlide.data('anchor'); + slideIndex = activeSlide.index(); + } + + if(canScroll){ + currentSection.addClass(ACTIVE).siblings().removeClass(ACTIVE); + + $.isFunction( options.onLeave ) && options.onLeave.call( leavingSection, leavingSectionIndex, sectionIndex, yMovement); + $.isFunction( options.afterLoad ) && options.afterLoad.call( currentSection, anchorLink, sectionIndex); + + stopMedia(leavingSection); + lazyLoad(currentSection); + playMedia(currentSection); + + activateMenuAndNav(anchorLink, sectionIndex - 1); + + if(options.anchors.length){ + //needed to enter in hashChange event when using the menu with anchor links + lastScrolledDestiny = anchorLink; + } + setState(slideIndex, slideAnchorLink, anchorLink, sectionIndex); + } + + //small timeout in order to avoid entering in hashChange event when scrolling is not finished yet + clearTimeout(scrollId); + scrollId = setTimeout(function(){ + isScrolling = false; + }, 100); + } + + if(options.fitToSection){ + //for the auto adjust of the viewport to fit a whole section + clearTimeout(scrollId2); + + scrollId2 = setTimeout(function(){ + //checking it again in case it changed during the delay + if(options.fitToSection && + + //is the destination element bigger than the viewport? + $(SECTION_ACTIVE_SEL).outerHeight() <= windowsHeight + ){ + fitToSection(); + } + }, options.fitToSectionDelay); + } + } + } + + /** + * Fits the site to the nearest active section + */ + function fitToSection(){ + //checking fitToSection again in case it was set to false before the timeout delay + if(canScroll){ + //allows to scroll to an active section and + //if the section is already active, we prevent firing callbacks + isResizing = true; + + scrollPage($(SECTION_ACTIVE_SEL)); + isResizing = false; + } + } + + /** + * Determines whether the active section has seen in its whole or not. + */ + function isCompletelyInViewPort(movement){ + var top = $(SECTION_ACTIVE_SEL).position().top; + var bottom = top + $window.height(); + + if(movement == 'up'){ + return bottom >= ($window.scrollTop() + $window.height()); + } + return top <= $window.scrollTop(); + } + + /** + * Gets the directon of the the scrolling fired by the scroll event. + */ + function getScrollDirection(currentScroll){ + var direction = currentScroll > lastScroll ? 'down' : 'up'; + + lastScroll = currentScroll; + + //needed for auto-height sections to determine if we want to scroll to the top or bottom of the destination + previousDestTop = currentScroll; + + return direction; + } + + /** + * Determines the way of scrolling up or down: + * by 'automatically' scrolling a section or by using the default and normal scrolling. + */ + function scrolling(type){ + if (!isScrollAllowed.m[type]){ + return; + } + + var scrollSection = (type === 'down') ? moveSectionDown : moveSectionUp; + + if(options.scrollOverflow){ + var scrollable = options.scrollOverflowHandler.scrollable($(SECTION_ACTIVE_SEL)); + var check = (type === 'down') ? 'bottom' : 'top'; + + if(scrollable.length > 0 ){ + //is the scrollbar at the start/end of the scroll? + if(options.scrollOverflowHandler.isScrolled(check, scrollable)){ + scrollSection(); + }else{ + return true; + } + }else{ + // moved up/down + scrollSection(); + } + }else{ + // moved up/down + scrollSection(); + } + } + + /* + * Preventing bouncing in iOS #2285 + */ + function preventBouncing(event){ + var e = event.originalEvent; + if(options.autoScrolling && isReallyTouch(e)){ + //preventing the easing on iOS devices + event.preventDefault(); + } + } + + var touchStartY = 0; + var touchStartX = 0; + var touchEndY = 0; + var touchEndX = 0; + + /* Detecting touch events + + * As we are changing the top property of the page on scrolling, we can not use the traditional way to detect it. + * This way, the touchstart and the touch moves shows an small difference between them which is the + * used one to determine the direction. + */ + function touchMoveHandler(event){ + var e = event.originalEvent; + var activeSection = $(e.target).closest(SECTION_SEL); + + // additional: if one of the normalScrollElements isn't within options.normalScrollElementTouchThreshold hops up the DOM chain + if (isReallyTouch(e) ) { + + if(options.autoScrolling){ + //preventing the easing on iOS devices + event.preventDefault(); + } + + var touchEvents = getEventsPage(e); + + touchEndY = touchEvents.y; + touchEndX = touchEvents.x; + + //if movement in the X axys is greater than in the Y and the currect section has slides... + if (activeSection.find(SLIDES_WRAPPER_SEL).length && Math.abs(touchStartX - touchEndX) > (Math.abs(touchStartY - touchEndY))) { + + //is the movement greater than the minimum resistance to scroll? + if (!slideMoving && Math.abs(touchStartX - touchEndX) > ($window.outerWidth() / 100 * options.touchSensitivity)) { + if (touchStartX > touchEndX) { + if(isScrollAllowed.m.right){ + moveSlideRight(activeSection); //next + } + } else { + if(isScrollAllowed.m.left){ + moveSlideLeft(activeSection); //prev + } + } + } + } + + //vertical scrolling (only when autoScrolling is enabled) + else if(options.autoScrolling && canScroll){ + + //is the movement greater than the minimum resistance to scroll? + if (Math.abs(touchStartY - touchEndY) > ($window.height() / 100 * options.touchSensitivity)) { + if (touchStartY > touchEndY) { + scrolling('down'); + } else if (touchEndY > touchStartY) { + scrolling('up'); + } + } + } + } + } + + /** + * As IE >= 10 fires both touch and mouse events when using a mouse in a touchscreen + * this way we make sure that is really a touch event what IE is detecting. + */ + function isReallyTouch(e){ + //if is not IE || IE is detecting `touch` or `pen` + return typeof e.pointerType === 'undefined' || e.pointerType != 'mouse'; + } + + /** + * Handler for the touch start event. + */ + function touchStartHandler(event){ + var e = event.originalEvent; + + //stopping the auto scroll to adjust to a section + if(options.fitToSection){ + $htmlBody.stop(); + } + + if(isReallyTouch(e)){ + var touchEvents = getEventsPage(e); + touchStartY = touchEvents.y; + touchStartX = touchEvents.x; + } + } + + /** + * Gets the average of the last `number` elements of the given array. + */ + function getAverage(elements, number){ + var sum = 0; + + //taking `number` elements from the end to make the average, if there are not enought, 1 + var lastElements = elements.slice(Math.max(elements.length - number, 1)); + + for(var i = 0; i < lastElements.length; i++){ + sum = sum + lastElements[i]; + } + + return Math.ceil(sum/number); + } + + /** + * Detecting mousewheel scrolling + * + * http://blogs.sitepointstatic.com/examples/tech/mouse-wheel/index.html + * http://www.sitepoint.com/html5-javascript-mouse-wheel/ + */ + var prevTime = new Date().getTime(); + + function MouseWheelHandler(e) { + + var curTime = new Date().getTime(); + var isNormalScroll = $(COMPLETELY_SEL).hasClass(NORMAL_SCROLL); + + //autoscrolling and not zooming? + if(options.autoScrolling && !controlPressed && !isNormalScroll){ + // cross-browser wheel delta + e = e || window.event; + var value = e.wheelDelta || -e.deltaY || -e.detail; + var delta = Math.max(-1, Math.min(1, value)); + + var horizontalDetection = typeof e.wheelDeltaX !== 'undefined' || typeof e.deltaX !== 'undefined'; + var isScrollingVertically = (Math.abs(e.wheelDeltaX) < Math.abs(e.wheelDelta)) || (Math.abs(e.deltaX ) < Math.abs(e.deltaY) || !horizontalDetection); + + //Limiting the array to 150 (lets not waste memory!) + if(scrollings.length > 149){ + scrollings.shift(); + } + + //keeping record of the previous scrollings + scrollings.push(Math.abs(value)); + + //preventing to scroll the site on mouse wheel when scrollbar is present + if(options.scrollBar){ + e.preventDefault ? e.preventDefault() : e.returnValue = false; + } + + //time difference between the last scroll and the current one + var timeDiff = curTime-prevTime; + prevTime = curTime; + + //haven't they scrolled in a while? + //(enough to be consider a different scrolling action to scroll another section) + if(timeDiff > 200){ + //emptying the array, we dont care about old scrollings for our averages + scrollings = []; + } + + if(canScroll){ + var averageEnd = getAverage(scrollings, 10); + var averageMiddle = getAverage(scrollings, 70); + var isAccelerating = averageEnd >= averageMiddle; + + //to avoid double swipes... + if(isAccelerating && isScrollingVertically){ + //scrolling down? + if (delta < 0) { + scrolling('down'); + + //scrolling up? + }else { + scrolling('up'); + } + } + } + + return false; + } + + if(options.fitToSection){ + //stopping the auto scroll to adjust to a section + $htmlBody.stop(); + } + } + + /** + * Slides a slider to the given direction. + * Optional `section` param. + */ + function moveSlide(direction, section){ + var activeSection = typeof section === 'undefined' ? $(SECTION_ACTIVE_SEL) : section; + var slides = activeSection.find(SLIDES_WRAPPER_SEL); + var numSlides = slides.find(SLIDE_SEL).length; + + // more than one slide needed and nothing should be sliding + if (!slides.length || slideMoving || numSlides < 2) { + return; + } + + var currentSlide = slides.find(SLIDE_ACTIVE_SEL); + var destiny = null; + + if(direction === 'left'){ + destiny = currentSlide.prev(SLIDE_SEL); + }else{ + destiny = currentSlide.next(SLIDE_SEL); + } + + //isn't there a next slide in the secuence? + if(!destiny.length){ + //respect loopHorizontal settin + if (!options.loopHorizontal) return; + + if(direction === 'left'){ + destiny = currentSlide.siblings(':last'); + }else{ + destiny = currentSlide.siblings(':first'); + } + } + + slideMoving = true; + + landscapeScroll(slides, destiny, direction); + } + + /** + * Maintains the active slides in the viewport + * (Because the `scroll` animation might get lost with some actions, such as when using continuousVertical) + */ + function keepSlidesPosition(){ + $(SLIDE_ACTIVE_SEL).each(function(){ + silentLandscapeScroll($(this), 'internal'); + }); + } + + var previousDestTop = 0; + /** + * Returns the destination Y position based on the scrolling direction and + * the height of the section. + */ + function getDestinationPosition(element){ + var elemPosition = element.position(); + + //top of the desination will be at the top of the viewport + var position = elemPosition.top; + var isScrollingDown = elemPosition.top > previousDestTop; + var sectionBottom = position - windowsHeight + element.outerHeight(); + var bigSectionsDestination = options.bigSectionsDestination; + + //is the destination element bigger than the viewport? + if(element.outerHeight() > windowsHeight){ + //scrolling up? + if(!isScrollingDown && !bigSectionsDestination || bigSectionsDestination === 'bottom' ){ + position = sectionBottom; + } + } + + //sections equal or smaller than the viewport height && scrolling down? || is resizing and its in the last section + else if(isScrollingDown || (isResizing && element.is(':last-child')) ){ + //The bottom of the destination will be at the bottom of the viewport + position = sectionBottom; + } + + /* + Keeping record of the last scrolled position to determine the scrolling direction. + No conventional methods can be used as the scroll bar might not be present + AND the section might not be active if it is auto-height and didnt reach the middle + of the viewport. + */ + previousDestTop = position; + return position; + } + + /** + * Scrolls the site to the given element and scrolls to the slide if a callback is given. + */ + function scrollPage(element, callback, isMovementUp){ + if(typeof element === 'undefined'){ return; } //there's no element to scroll, leaving the function + + var dtop = getDestinationPosition(element); + var slideAnchorLink; + var slideIndex; + + //local variables + var v = { + element: element, + callback: callback, + isMovementUp: isMovementUp, + dtop: dtop, + yMovement: getYmovement(element), + anchorLink: element.data('anchor'), + sectionIndex: element.index(SECTION_SEL), + activeSlide: element.find(SLIDE_ACTIVE_SEL), + activeSection: $(SECTION_ACTIVE_SEL), + leavingSection: $(SECTION_ACTIVE_SEL).index(SECTION_SEL) + 1, + + //caching the value of isResizing at the momment the function is called + //because it will be checked later inside a setTimeout and the value might change + localIsResizing: isResizing + }; + + //quiting when destination scroll is the same as the current one + if((v.activeSection.is(element) && !isResizing) || (options.scrollBar && $window.scrollTop() === v.dtop && !element.hasClass(AUTO_HEIGHT) )){ return; } + + if(v.activeSlide.length){ + slideAnchorLink = v.activeSlide.data('anchor'); + slideIndex = v.activeSlide.index(); + } + + //callback (onLeave) if the site is not just resizing and readjusting the slides + if($.isFunction(options.onLeave) && !v.localIsResizing){ + var direction = v.yMovement; + + //required for continousVertical + if(typeof isMovementUp !== 'undefined'){ + direction = isMovementUp ? 'up' : 'down'; + } + + if(options.onLeave.call(v.activeSection, v.leavingSection, (v.sectionIndex + 1), direction) === false){ + return; + } + } + + // If continuousVertical && we need to wrap around + if (options.autoScrolling && options.continuousVertical && typeof (v.isMovementUp) !== "undefined" && + ((!v.isMovementUp && v.yMovement == 'up') || // Intending to scroll down but about to go up or + (v.isMovementUp && v.yMovement == 'down'))) { // intending to scroll up but about to go down + + v = createInfiniteSections(v); + } + + //pausing media of the leaving section (if we are not just resizing, as destinatino will be the same one) + if(!v.localIsResizing){ + stopMedia(v.activeSection); + } + + if(options.scrollOverflow){ + options.scrollOverflowHandler.beforeLeave(); + } + + element.addClass(ACTIVE).siblings().removeClass(ACTIVE); + lazyLoad(element); + + if(options.scrollOverflow){ + options.scrollOverflowHandler.onLeave(); + } + + //preventing from activating the MouseWheelHandler event + //more than once if the page is scrolling + canScroll = false; + + setState(slideIndex, slideAnchorLink, v.anchorLink, v.sectionIndex); + + performMovement(v); + + //flag to avoid callingn `scrollPage()` twice in case of using anchor links + lastScrolledDestiny = v.anchorLink; + + //avoid firing it twice (as it does also on scroll) + activateMenuAndNav(v.anchorLink, v.sectionIndex); + } + + /** + * Performs the vertical movement (by CSS3 or by jQuery) + */ + function performMovement(v){ + // using CSS3 translate functionality + if (options.css3 && options.autoScrolling && !options.scrollBar) { + + // The first section can have a negative value in iOS 10. Not quite sure why: -0.0142822265625 + // that's why we round it to 0. + var translate3d = 'translate3d(0px, -' + Math.round(v.dtop) + 'px, 0px)'; + transformContainer(translate3d, true); + + //even when the scrollingSpeed is 0 there's a little delay, which might cause the + //scrollingSpeed to change in case of using silentMoveTo(); + if(options.scrollingSpeed){ + clearTimeout(afterSectionLoadsId); + afterSectionLoadsId = setTimeout(function () { + afterSectionLoads(v); + }, options.scrollingSpeed); + }else{ + afterSectionLoads(v); + } + } + + // using jQuery animate + else{ + var scrollSettings = getScrollSettings(v); + + $(scrollSettings.element).animate( + scrollSettings.options, + options.scrollingSpeed, options.easing).promise().done(function () { //only one single callback in case of animating `html, body` + if(options.scrollBar){ + + /* Hack! + The timeout prevents setting the most dominant section in the viewport as "active" when the user + scrolled to a smaller section by using the mousewheel (auto scrolling) rather than draging the scroll bar. + + When using scrollBar:true It seems like the scroll events still getting propagated even after the scrolling animation has finished. + */ + setTimeout(function(){ + afterSectionLoads(v); + },30); + }else{ + afterSectionLoads(v); + } + }); + } + } + + /** + * Gets the scrolling settings depending on the plugin autoScrolling option + */ + function getScrollSettings(v){ + var scroll = {}; + + if(options.autoScrolling && !options.scrollBar){ + scroll.options = { 'top': -v.dtop}; + scroll.element = WRAPPER_SEL; + }else{ + scroll.options = { 'scrollTop': v.dtop}; + scroll.element = 'html, body'; + } + + return scroll; + } + + /** + * Adds sections before or after the current one to create the infinite effect. + */ + function createInfiniteSections(v){ + // Scrolling down + if (!v.isMovementUp) { + // Move all previous sections to after the active section + $(SECTION_ACTIVE_SEL).after(v.activeSection.prevAll(SECTION_SEL).get().reverse()); + } + else { // Scrolling up + // Move all next sections to before the active section + $(SECTION_ACTIVE_SEL).before(v.activeSection.nextAll(SECTION_SEL)); + } + + // Maintain the displayed position (now that we changed the element order) + silentScroll($(SECTION_ACTIVE_SEL).position().top); + + // Maintain the active slides visible in the viewport + keepSlidesPosition(); + + // save for later the elements that still need to be reordered + v.wrapAroundElements = v.activeSection; + + // Recalculate animation variables + v.dtop = v.element.position().top; + v.yMovement = getYmovement(v.element); + + //sections will temporally have another position in the DOM + //updating this values in case we need them + v.leavingSection = v.activeSection.index(SECTION_SEL) + 1; + v.sectionIndex = v.element.index(SECTION_SEL); + + return v; + } + + /** + * Fix section order after continuousVertical changes have been animated + */ + function continuousVerticalFixSectionOrder (v) { + // If continuousVertical is in effect (and autoScrolling would also be in effect then), + // finish moving the elements around so the direct navigation will function more simply + if (!v.wrapAroundElements || !v.wrapAroundElements.length) { + return; + } + + if (v.isMovementUp) { + $(SECTION_FIRST_SEL).before(v.wrapAroundElements); + } + else { + $(SECTION_LAST_SEL).after(v.wrapAroundElements); + } + + silentScroll($(SECTION_ACTIVE_SEL).position().top); + + // Maintain the active slides visible in the viewport + keepSlidesPosition(); + } + + + /** + * Actions to do once the section is loaded. + */ + function afterSectionLoads (v){ + continuousVerticalFixSectionOrder(v); + + //callback (afterLoad) if the site is not just resizing and readjusting the slides + $.isFunction(options.afterLoad) && !v.localIsResizing && options.afterLoad.call(v.element, v.anchorLink, (v.sectionIndex + 1)); + + if(options.scrollOverflow){ + options.scrollOverflowHandler.afterLoad(); + } + + if(!v.localIsResizing){ + playMedia(v.element); + } + + v.element.addClass(COMPLETELY).siblings().removeClass(COMPLETELY); + + canScroll = true; + + $.isFunction(v.callback) && v.callback.call(this); + } + + /** + * Sets the value for the given attribute from the `data-` attribute with the same suffix + * ie: data-srcset ==> srcset | data-src ==> src + */ + function setSrc(element, attribute){ + element + .attr(attribute, element.data(attribute)) + .removeAttr('data-' + attribute); + } + + /** + * Lazy loads image, video and audio elements. + */ + function lazyLoad(destiny){ + if (!options.lazyLoading){ + return; + } + + var panel = getSlideOrSection(destiny); + var element; + + panel.find('img[data-src], img[data-srcset], source[data-src], source[data-srcset], video[data-src], audio[data-src], iframe[data-src]').each(function(){ + element = $(this); + + $.each(['src', 'srcset'], function(index, type){ + var attribute = element.attr('data-' + type); + if(typeof attribute !== 'undefined' && attribute){ + setSrc(element, type); + } + }); + + if(element.is('source')){ + var typeToPlay = element.closest('video').length ? 'video' : 'audio'; + element.closest(typeToPlay).get(0).load(); + } + }); + } + + /** + * Plays video and audio elements. + */ + function playMedia(destiny){ + var panel = getSlideOrSection(destiny); + + //playing HTML5 media elements + panel.find('video, audio').each(function(){ + var element = $(this).get(0); + + if( element.hasAttribute('data-autoplay') && typeof element.play === 'function' ) { + element.play(); + } + }); + + //youtube videos + panel.find('iframe[src*="youtube.com/embed/"]').each(function(){ + var element = $(this).get(0); + + if ( element.hasAttribute('data-autoplay') ){ + playYoutube(element); + } + + //in case the URL was not loaded yet. On page load we need time for the new URL (with the API string) to load. + element.onload = function() { + if ( element.hasAttribute('data-autoplay') ){ + playYoutube(element); + } + }; + }); + } + + /** + * Plays a youtube video + */ + function playYoutube(element){ + element.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*'); + } + + /** + * Stops video and audio elements. + */ + function stopMedia(destiny){ + var panel = getSlideOrSection(destiny); + + //stopping HTML5 media elements + panel.find('video, audio').each(function(){ + var element = $(this).get(0); + + if( !element.hasAttribute('data-keepplaying') && typeof element.pause === 'function' ) { + element.pause(); + } + }); + + //youtube videos + panel.find('iframe[src*="youtube.com/embed/"]').each(function(){ + var element = $(this).get(0); + + if( /youtube\.com\/embed\//.test($(this).attr('src')) && !element.hasAttribute('data-keepplaying')){ + $(this).get(0).contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}','*'); + } + }); + } + + /** + * Gets the active slide (or section) for the given section + */ + function getSlideOrSection(destiny){ + var slide = destiny.find(SLIDE_ACTIVE_SEL); + if( slide.length ) { + destiny = $(slide); + } + + return destiny; + } + + /** + * Scrolls to the anchor in the URL when loading the site + */ + function scrollToAnchor(){ + var anchors = getAnchorsURL(); + var sectionAnchor = anchors.section; + var slideAnchor = anchors.slide; + + if(sectionAnchor){ //if theres any # + if(options.animateAnchor){ + scrollPageAndSlide(sectionAnchor, slideAnchor); + }else{ + silentMoveTo(sectionAnchor, slideAnchor); + } + } + } + + /** + * Detecting any change on the URL to scroll to the given anchor link + * (a way to detect back history button as we play with the hashes on the URL) + */ + function hashChangeHandler(){ + if(!isScrolling && !options.lockAnchors){ + var anchors = getAnchorsURL(); + var sectionAnchor = anchors.section; + var slideAnchor = anchors.slide; + + //when moving to a slide in the first section for the first time (first time to add an anchor to the URL) + var isFirstSlideMove = (typeof lastScrolledDestiny === 'undefined'); + var isFirstScrollMove = (typeof lastScrolledDestiny === 'undefined' && typeof slideAnchor === 'undefined' && !slideMoving); + + if(sectionAnchor && sectionAnchor.length){ + /*in order to call scrollpage() only once for each destination at a time + It is called twice for each scroll otherwise, as in case of using anchorlinks `hashChange` + event is fired on every scroll too.*/ + if ((sectionAnchor && sectionAnchor !== lastScrolledDestiny) && !isFirstSlideMove + || isFirstScrollMove + || (!slideMoving && lastScrolledSlide != slideAnchor )){ + + scrollPageAndSlide(sectionAnchor, slideAnchor); + } + } + } + } + + //gets the URL anchors (section and slide) + function getAnchorsURL(){ + var section; + var slide; + var hash = window.location.hash; + + if(hash.length){ + //getting the anchor link in the URL and deleting the `#` + var anchorsParts = hash.replace('#', '').split('/'); + + //using / for visual reasons and not as a section/slide separator #2803 + var isFunkyAnchor = hash.indexOf('#/') > -1; + + section = isFunkyAnchor ? '/' + anchorsParts[1] : decodeURIComponent(anchorsParts[0]); + + var slideAnchor = isFunkyAnchor ? anchorsParts[2] : anchorsParts[1]; + if(slideAnchor && slideAnchor.length){ + slide = decodeURIComponent(slideAnchor); + } + } + + return { + section: section, + slide: slide + } + } + + //when opening a new tab (ctrl + t), `control` won't be pressed when comming back. + $(window).blur(function() { + isWindowFocused = false; + controlPressed = false; + }); + + var keydownId; + function keydownHandler(e) { + + clearTimeout(keydownId); + + + var activeElement = $(':focus'); + + if(!activeElement.is('textarea') && !activeElement.is('input') && !activeElement.is('select') && + options.keyboardScrolling && options.autoScrolling){ + var keyCode = e.which; + + //preventing the scroll with arrow keys & spacebar & Page Up & Down keys + var keyControls = [40, 38, 32, 33, 34]; + if($.inArray(keyCode, keyControls) > -1){ + e.preventDefault(); + } + + controlPressed = e.ctrlKey; + + keydownId = setTimeout(function(){ + onkeydown(e); + },150); + } + } + + function tooltipTextHandler(){ + $(this).prev().trigger('click'); + } + + //to prevent scrolling while zooming + function keyUpHandler(e){ + if(isWindowFocused){ //the keyup gets fired on new tab ctrl + t in Firefox + controlPressed = e.ctrlKey; + } + } + + //binding the mousemove when the mouse's middle button is released + function mouseDownHandler(e){ + //middle button + if (e.which == 2){ + oldPageY = e.pageY; + container.on('mousemove', mouseMoveHandler); + } + } + + //unbinding the mousemove when the mouse's middle button is released + function mouseUpHandler(e){ + //middle button + if (e.which == 2){ + container.off('mousemove'); + } + } + + //Scrolling horizontally when clicking on the slider controls. + function slideArrowHandler(){ + var section = $(this).closest(SECTION_SEL); + + if ($(this).hasClass(SLIDES_PREV)) { + if(isScrollAllowed.m.left){ + moveSlideLeft(section); + } + } else { + if(isScrollAllowed.m.right){ + moveSlideRight(section); + } + } + } + + //when opening a new tab (ctrl + t), `control` won't be pressed when coming back. + function blurHandler(){ + isWindowFocused = false; + controlPressed = false; + } + + //Scrolls to the section when clicking the navigation bullet + function sectionBulletHandler(e){ + e.preventDefault(); + var index = $(this).parent().index(); + scrollPage($(SECTION_SEL).eq(index)); + } + + //Scrolls the slider to the given slide destination for the given section + function slideBulletHandler(e){ + e.preventDefault(); + var slides = $(this).closest(SECTION_SEL).find(SLIDES_WRAPPER_SEL); + var destiny = slides.find(SLIDE_SEL).eq($(this).closest('li').index()); + + landscapeScroll(slides, destiny); + } + + /** + * Keydown event + */ + function onkeydown(e){ + var shiftPressed = e.shiftKey; + + switch (e.which) { + //up + case 38: + case 33: + if(isScrollAllowed.k.up){ + FP.moveSectionUp(); + } + break; + + //down + case 32: //spacebar + if(shiftPressed && isScrollAllowed.k.up){ + FP.moveSectionUp(); + break; + } + case 40: + case 34: + if(isScrollAllowed.k.down){ + FP.moveSectionDown(); + } + break; + + //Home + case 36: + if(isScrollAllowed.k.up){ + FP.moveTo(1); + } + break; + + //End + case 35: + if(isScrollAllowed.k.down){ + FP.moveTo( $(SECTION_SEL).length ); + } + break; + + //left + case 37: + if(isScrollAllowed.k.left){ + FP.moveSlideLeft(); + } + break; + + //right + case 39: + if(isScrollAllowed.k.right){ + FP.moveSlideRight(); + } + break; + + default: + return; // exit this handler for other keys + } + } + + //binding the mousemove when the mouse's middle button is released + container.mousedown(function(e){ + //middle button + if (e.which == 2){ + oldPageY = e.pageY; + container.on('mousemove', mouseMoveHandler); + } + }); + + //unbinding the mousemove when the mouse's middle button is released + container.mouseup(function(e){ + //middle button + if (e.which == 2){ + container.off('mousemove'); + } + }); + + /** + * Detecting the direction of the mouse movement. + * Used only for the middle button of the mouse. + */ + var oldPageY = 0; + function mouseMoveHandler(e){ + // moving up + if(canScroll){ + if (e.pageY < oldPageY){ + FP.moveSectionUp(); + + // moving downw + }else if(e.pageY > oldPageY){ + FP.moveSectionDown(); + } + } + oldPageY = e.pageY; + } + + /** + * Scrolls to the section when clicking the navigation bullet + */ + $document.on('click touchstart', SECTION_NAV_SEL + ' a', function(e){ + e.preventDefault(); + var index = $(this).parent().index(); + scrollPage($(SECTION_SEL).eq(index)); + }); + + /** + * Scrolls the slider to the given slide destination for the given section + */ + $document.on('click touchstart', SLIDES_NAV_LINK_SEL, function(e){ + e.preventDefault(); + var slides = $(this).closest(SECTION_SEL).find(SLIDES_WRAPPER_SEL); + var destiny = slides.find(SLIDE_SEL).eq($(this).closest('li').index()); + + landscapeScroll(slides, destiny); + }); + + /** + * Applying normalScroll elements. + * Ignoring the scrolls over the specified selectors. + */ + if(options.normalScrollElements){ + $document.on('mouseenter', options.normalScrollElements, function () { + FP.setMouseWheelScrolling(false); + }); + + $document.on('mouseleave', options.normalScrollElements, function(){ + FP.setMouseWheelScrolling(true); + }); + } + + /** + * Scrolling horizontally when clicking on the slider controls. + */ + $(SECTION_SEL).on('click touchstart', SLIDES_ARROW_SEL, function() { + if ($(this).hasClass(SLIDES_PREV)) { + if(isScrollAllowed.m.left){ + FP.moveSlideLeft(); + } + } else { + if(isScrollAllowed.m.right){ + FP.moveSlideRight(); + } + } + }); + + /** + * Scrolls horizontal sliders. + */ + function landscapeScroll(slides, destiny){ + var destinyPos = destiny.position(); + var slideIndex = destiny.index(); + var section = slides.closest(SECTION_SEL); + var sectionIndex = section.index(SECTION_SEL); + var anchorLink = section.data('anchor'); + var slidesNav = section.find(SLIDES_NAV_SEL); + var slideAnchor = getAnchor(destiny); + + //caching the value of isResizing at the momment the function is called + //because it will be checked later inside a setTimeout and the value might change + var localIsResizing = isResizing; + + if(options.onSlideLeave){ + var prevSlide = section.find(SLIDE_ACTIVE_SEL); + var prevSlideIndex = prevSlide.index(); + var xMovement = getXmovement(prevSlideIndex, slideIndex); + + //if the site is not just resizing and readjusting the slides + if(!localIsResizing && xMovement!=='none'){ + if($.isFunction( options.onSlideLeave )){ + if(options.onSlideLeave.call( prevSlide, anchorLink, (sectionIndex + 1), prevSlideIndex, xMovement, slideIndex ) === false){ + slideMoving = false; + return; + } + } + } + } + + destiny.addClass(ACTIVE).siblings().removeClass(ACTIVE); + if(!localIsResizing){ + lazyLoad(destiny); + } + + if(!options.loopHorizontal && options.controlArrows){ + //hidding it for the fist slide, showing for the rest + section.find(SLIDES_ARROW_PREV_SEL).toggle(slideIndex!==0); + + //hidding it for the last slide, showing for the rest + section.find(SLIDES_ARROW_NEXT_SEL).toggle(!destiny.is(':last-child')); + } + + //only changing the URL if the slides are in the current section (not for resize re-adjusting) + if(section.hasClass(ACTIVE)){ + setState(slideIndex, slideAnchor, anchorLink, sectionIndex); + } + + var afterSlideLoads = function(){ + //if the site is not just resizing and readjusting the slides + if(!localIsResizing){ + $.isFunction( options.afterSlideLoad ) && options.afterSlideLoad.call( destiny, anchorLink, (sectionIndex + 1), slideAnchor, slideIndex); + } + //letting them slide again + slideMoving = false; + }; + + if(options.css3){ + var translate3d = 'translate3d(-' + Math.round(destinyPos.left) + 'px, 0px, 0px)'; + + addAnimation(slides.find(SLIDES_CONTAINER_SEL), options.scrollingSpeed>0).css(getTransforms(translate3d)); + + afterSlideLoadsId = setTimeout(function(){ + afterSlideLoads(); + }, options.scrollingSpeed, options.easing); + }else{ + slides.animate({ + scrollLeft : Math.round(destinyPos.left) + }, options.scrollingSpeed, options.easing, function() { + + afterSlideLoads(); + }); + } + + slidesNav.find(ACTIVE_SEL).removeClass(ACTIVE); + slidesNav.find('li').eq(slideIndex).find('a').addClass(ACTIVE); + } + + //when resizing the site, we adjust the heights of the sections, slimScroll... + $window.resize(resizeHandler); + + var previousHeight = windowsHeight; + function resizeHandler(){ + //checking if it needs to get responsive + responsive(); + + // rebuild immediately on touch devices + if (isTouchDevice) { + var activeElement = $(document.activeElement); + + //if the keyboard is NOT visible + if (!activeElement.is('textarea') && !activeElement.is('input') && !activeElement.is('select')) { + var currentHeight = $window.height(); + + //making sure the change in the viewport size is enough to force a rebuild. (20 % of the window to avoid problems when hidding scroll bars) + if( Math.abs(currentHeight - previousHeight) > (20 * Math.max(previousHeight, currentHeight) / 100) ){ + FP.reBuild(true); + previousHeight = currentHeight; + } + } + }else{ + //in order to call the functions only when the resize is finished + //http://stackoverflow.com/questions/4298612/jquery-how-to-call-resize-event-only-once-its-finished-resizing + clearTimeout(resizeId); + + resizeId = setTimeout(function(){ + FP.reBuild(true); + }, 350); + } + } + + /** + * Checks if the site needs to get responsive and disables autoScrolling if so. + * A class `fp-responsive` is added to the plugin's container in case the user wants to use it for his own responsive CSS. + */ + function responsive(){ + var widthLimit = options.responsive || options.responsiveWidth; //backwards compatiblity + var heightLimit = options.responsiveHeight; + + //only calculating what we need. Remember its called on the resize event. + var isBreakingPointWidth = widthLimit && $window.outerWidth() < widthLimit; + var isBreakingPointHeight = heightLimit && $window.height() < heightLimit; + + if(widthLimit && heightLimit){ + setResponsive(isBreakingPointWidth || isBreakingPointHeight); + } + else if(widthLimit){ + setResponsive(isBreakingPointWidth); + } + else if(heightLimit){ + setResponsive(isBreakingPointHeight); + } + } + + /** + * Adds transition animations for the given element + */ + function addAnimation(element){ + var transition = 'all ' + options.scrollingSpeed + 'ms ' + options.easingcss3; + + element.removeClass(NO_TRANSITION); + return element.css({ + '-webkit-transition': transition, + 'transition': transition + }); + } + + /** + * Remove transition animations for the given element + */ + function removeAnimation(element){ + return element.addClass(NO_TRANSITION); + } + + /** + * Activating the vertical navigation bullets according to the given slide name. + */ + function activateNavDots(name, sectionIndex){ + if(options.navigation){ + $(SECTION_NAV_SEL).find(ACTIVE_SEL).removeClass(ACTIVE); + if(name){ + $(SECTION_NAV_SEL).find('a[href="#' + name + '"]').addClass(ACTIVE); + }else{ + $(SECTION_NAV_SEL).find('li').eq(sectionIndex).find('a').addClass(ACTIVE); + } + } + } + + /** + * Activating the website main menu elements according to the given slide name. + */ + function activateMenuElement(name){ + if(options.menu){ + $(options.menu).find(ACTIVE_SEL).removeClass(ACTIVE); + $(options.menu).find('[data-menuanchor="'+name+'"]').addClass(ACTIVE); + } + } + + /** + * Sets to active the current menu and vertical nav items. + */ + function activateMenuAndNav(anchor, index){ + activateMenuElement(anchor); + activateNavDots(anchor, index); + } + + /** + * Retuns `up` or `down` depending on the scrolling movement to reach its destination + * from the current section. + */ + function getYmovement(destiny){ + var fromIndex = $(SECTION_ACTIVE_SEL).index(SECTION_SEL); + var toIndex = destiny.index(SECTION_SEL); + if( fromIndex == toIndex){ + return 'none'; + } + if(fromIndex > toIndex){ + return 'up'; + } + return 'down'; + } + + /** + * Retuns `right` or `left` depending on the scrolling movement to reach its destination + * from the current slide. + */ + function getXmovement(fromIndex, toIndex){ + if( fromIndex == toIndex){ + return 'none'; + } + if(fromIndex > toIndex){ + return 'left'; + } + return 'right'; + } + + function addTableClass(element){ + //In case we are styling for the 2nd time as in with reponsiveSlides + if(!element.hasClass(TABLE)){ + var wrapper = $('<div class="' + TABLE_CELL + '" />').height(getTableHeight(element)); + element.addClass(TABLE).wrapInner(wrapper); + } + } + + function getTableHeight(element){ + var sectionHeight = windowsHeight; + + if(options.paddingTop || options.paddingBottom){ + var section = element; + if(!section.hasClass(SECTION)){ + section = element.closest(SECTION_SEL); + } + + var paddings = parseInt(section.css('padding-top')) + parseInt(section.css('padding-bottom')); + sectionHeight = (windowsHeight - paddings); + } + + return sectionHeight; + } + + /** + * Adds a css3 transform property to the container class with or without animation depending on the animated param. + */ + function transformContainer(translate3d, animated){ + if(animated){ + addAnimation(container); + }else{ + removeAnimation(container); + } + + container.css(getTransforms(translate3d)); + + //syncronously removing the class after the animation has been applied. + setTimeout(function(){ + container.removeClass(NO_TRANSITION); + },10); + } + + /** + * Gets a section by its anchor / index + */ + function getSectionByAnchor(sectionAnchor){ + var section = container.find(SECTION_SEL + '[data-anchor="'+sectionAnchor+'"]'); + if(!section.length){ + var sectionIndex = typeof sectionAnchor !== 'undefined' ? sectionAnchor -1 : 0; + section = $(SECTION_SEL).eq(sectionIndex); + } + + return section; + } + + /** + * Gets a slide inside a given section by its anchor / index + */ + function getSlideByAnchor(slideAnchor, section){ + var slide = section.find(SLIDE_SEL + '[data-anchor="'+slideAnchor+'"]'); + if(!slide.length){ + slideAnchor = typeof slideAnchor !== 'undefined' ? slideAnchor : 0; + slide = section.find(SLIDE_SEL).eq(slideAnchor); + } + + return slide; + } + + /** + * Scrolls to the given section and slide anchors + */ + function scrollPageAndSlide(sectionAnchor, slideAnchor){ + var section = getSectionByAnchor(sectionAnchor); + + //do nothing if there's no section with the given anchor name + if(!section.length) return; + + var slide = getSlideByAnchor(slideAnchor, section); + + //we need to scroll to the section and then to the slide + if (sectionAnchor !== lastScrolledDestiny && !section.hasClass(ACTIVE)){ + scrollPage(section, function(){ + scrollSlider(slide); + }); + } + //if we were already in the section + else{ + scrollSlider(slide); + } + } + + /** + * Scrolls the slider to the given slide destination for the given section + */ + function scrollSlider(slide){ + if(slide.length){ + landscapeScroll(slide.closest(SLIDES_WRAPPER_SEL), slide); + } + } + + /** + * Creates a landscape navigation bar with dots for horizontal sliders. + */ + function addSlidesNavigation(section, numSlides){ + section.append('<div class="' + SLIDES_NAV + '"><ul></ul></div>'); + var nav = section.find(SLIDES_NAV_SEL); + + //top or bottom + nav.addClass(options.slidesNavPosition); + + for(var i=0; i< numSlides; i++){ + nav.find('ul').append('<li><a href="#"><span></span></a></li>'); + } + + //centering it + nav.css('margin-left', '-' + (nav.width()/2) + 'px'); + + nav.find('li').first().find('a').addClass(ACTIVE); + } + + + /** + * Sets the state of the website depending on the active section/slide. + * It changes the URL hash when needed and updates the body class. + */ + function setState(slideIndex, slideAnchor, anchorLink, sectionIndex){ + var sectionHash = ''; + + if(options.anchors.length && !options.lockAnchors){ + + //isn't it the first slide? + if(slideIndex){ + if(typeof anchorLink !== 'undefined'){ + sectionHash = anchorLink; + } + + //slide without anchor link? We take the index instead. + if(typeof slideAnchor === 'undefined'){ + slideAnchor = slideIndex; + } + + lastScrolledSlide = slideAnchor; + setUrlHash(sectionHash + '/' + slideAnchor); + + //first slide won't have slide anchor, just the section one + }else if(typeof slideIndex !== 'undefined'){ + lastScrolledSlide = slideAnchor; + setUrlHash(anchorLink); + } + + //section without slides + else{ + setUrlHash(anchorLink); + } + } + + setBodyClass(); + } + + /*DDDDDDDDDDDDDDDDDDDDDD*/ + + /** + * Sets the URL hash. + */ + function setUrlHash(url){ + if(options.recordHistory){ + location.hash = url; + }else{ + //Mobile Chrome doesn't work the normal way, so... lets use HTML5 for phones :) + if(isTouchDevice || isTouch){ + window.history.replaceState(undefined, undefined, '#' + url); + }else{ + var baseUrl = window.location.href.split('#')[0]; + window.location.replace( baseUrl + '#' + url ); + } + } + } + + /** + * Gets the anchor for the given slide / section. Its index will be used if there's none. + */ + function getAnchor(element){ + var anchor = element.data('anchor'); + var index = element.index(); + + //Slide without anchor link? We take the index instead. + if(typeof anchor === 'undefined'){ + anchor = index; + } + + return anchor; + } + + /** + * Sets a class for the body of the page depending on the active section / slide + */ + function setBodyClass(){ + var section = $(SECTION_ACTIVE_SEL); + var slide = section.find(SLIDE_ACTIVE_SEL); + + var sectionAnchor = getAnchor(section); + var slideAnchor = getAnchor(slide); + + var text = String(sectionAnchor); + + if(slide.length){ + text = text + '-' + slideAnchor; + } + + //changing slash for dash to make it a valid CSS style + text = text.replace('/', '-').replace('#',''); + + //removing previous anchor classes + var classRe = new RegExp('\\b\\s?' + VIEWING_PREFIX + '-[^\\s]+\\b', "g"); + $body[0].className = $body[0].className.replace(classRe, ''); + + //adding the current anchor + $body.addClass(VIEWING_PREFIX + '-' + text); + } + + /** + * Checks for translate3d support + * @return boolean + * http://stackoverflow.com/questions/5661671/detecting-transform-translate3d-support + */ + function support3d() { + var el = document.createElement('p'), + has3d, + transforms = { + 'webkitTransform':'-webkit-transform', + 'OTransform':'-o-transform', + 'msTransform':'-ms-transform', + 'MozTransform':'-moz-transform', + 'transform':'transform' + }; + + // Add it to the body to get the computed style. + document.body.insertBefore(el, null); + + for (var t in transforms) { + if (el.style[t] !== undefined) { + el.style[t] = 'translate3d(1px,1px,1px)'; + has3d = window.getComputedStyle(el).getPropertyValue(transforms[t]); + } + } + + document.body.removeChild(el); + + return (has3d !== undefined && has3d.length > 0 && has3d !== 'none'); + } + + /** + * Removes the auto scrolling action fired by the mouse wheel and trackpad. + * After this function is called, the mousewheel and trackpad movements won't scroll through sections. + */ + function removeMouseWheelHandler(){ + if (document.addEventListener) { + document.removeEventListener('mousewheel', MouseWheelHandler, false); //IE9, Chrome, Safari, Oper + document.removeEventListener('wheel', MouseWheelHandler, false); //Firefox + document.removeEventListener('MozMousePixelScroll', MouseWheelHandler, false); //old Firefox + } else { + document.detachEvent('onmousewheel', MouseWheelHandler); //IE 6/7/8 + } + } + + /** + * Adds the auto scrolling action for the mouse wheel and trackpad. + * After this function is called, the mousewheel and trackpad movements will scroll through sections + * https://developer.mozilla.org/en-US/docs/Web/Events/wheel + */ + function addMouseWheelHandler(){ + var prefix = ''; + var _addEventListener; + + if (window.addEventListener){ + _addEventListener = "addEventListener"; + }else{ + _addEventListener = "attachEvent"; + prefix = 'on'; + } + + // detect available wheel event + var support = 'onwheel' in document.createElement('div') ? 'wheel' : // Modern browsers support "wheel" + document.onmousewheel !== undefined ? 'mousewheel' : // Webkit and IE support at least "mousewheel" + 'DOMMouseScroll'; // let's assume that remaining browsers are older Firefox + + + if(support == 'DOMMouseScroll'){ + document[ _addEventListener ](prefix + 'MozMousePixelScroll', MouseWheelHandler, false); + } + + //handle MozMousePixelScroll in older Firefox + else{ + document[ _addEventListener ](prefix + support, MouseWheelHandler, false); + } + } + + /** + * Binding the mousemove when the mouse's middle button is pressed + */ + function addMiddleWheelHandler(){ + container + .on('mousedown', mouseDownHandler) + .on('mouseup', mouseUpHandler); + } + + /** + * Unbinding the mousemove when the mouse's middle button is released + */ + function removeMiddleWheelHandler(){ + container + .off('mousedown', mouseDownHandler) + .off('mouseup', mouseUpHandler); + } + + /** + * Adds the possibility to auto scroll through sections on touch devices. + */ + function addTouchHandler(){ + if(isTouchDevice || isTouch){ + if(options.autoScrolling){ + $body.off(events.touchmove).on(events.touchmove, preventBouncing); + } + + $(WRAPPER_SEL) + .off(events.touchstart).on(events.touchstart, touchStartHandler) + .off(events.touchmove).on(events.touchmove, touchMoveHandler); + } + } + + /** + * Removes the auto scrolling for touch devices. + */ + function removeTouchHandler(){ + if(isTouchDevice || isTouch){ + if(options.autoScrolling){ + $body.off(events.touchmove); + } + + $(WRAPPER_SEL) + .off(events.touchstart) + .off(events.touchmove); + } + } + + /* + * Returns and object with Microsoft pointers (for IE<11 and for IE >= 11) + * http://msdn.microsoft.com/en-us/library/ie/dn304886(v=vs.85).aspx + */ + function getMSPointer(){ + var pointer; + + //IE >= 11 & rest of browsers + if(window.PointerEvent){ + pointer = { down: 'pointerdown', move: 'pointermove'}; + } + + //IE < 11 + else{ + pointer = { down: 'MSPointerDown', move: 'MSPointerMove'}; + } + + return pointer; + } + + /** + * Gets the pageX and pageY properties depending on the browser. + * https://github.com/alvarotrigo/fullPage.js/issues/194#issuecomment-34069854 + */ + function getEventsPage(e){ + var events = []; + + events.y = (typeof e.pageY !== 'undefined' && (e.pageY || e.pageX) ? e.pageY : e.touches[0].pageY); + events.x = (typeof e.pageX !== 'undefined' && (e.pageY || e.pageX) ? e.pageX : e.touches[0].pageX); + + //in touch devices with scroll bar, e.pageY is detected, but we have to deal with touch events. #1008 + if(isTouch && isReallyTouch(e) && (options.scrollBar || !options.autoScrolling)){ + events.y = e.touches[0].pageY; + events.x = e.touches[0].pageX; + } + + return events; + } + + /** + * Slides silently (with no animation) the active slider to the given slide. + * @param noCallback {bool} true or defined -> no callbacks + */ + function silentLandscapeScroll(activeSlide, noCallbacks){ + setScrollingSpeed (0, 'internal'); + + if(typeof noCallbacks !== 'undefined'){ + //preventing firing callbacks afterSlideLoad etc. + isResizing = true; + } + + landscapeScroll(activeSlide.closest(SLIDES_WRAPPER_SEL), activeSlide); + + if(typeof noCallbacks !== 'undefined'){ + isResizing = false; + } + + setScrollingSpeed(originals.scrollingSpeed, 'internal'); + } + + /** + * Scrolls silently (with no animation) the page to the given Y position. + */ + function silentScroll(top){ + // The first section can have a negative value in iOS 10. Not quite sure why: -0.0142822265625 + // that's why we round it to 0. + var roundedTop = Math.round(top); + + if (options.css3 && options.autoScrolling && !options.scrollBar){ + var translate3d = 'translate3d(0px, -' + roundedTop + 'px, 0px)'; + transformContainer(translate3d, false); + } + else if(options.autoScrolling && !options.scrollBar){ + container.css('top', -roundedTop); + } + else{ + $htmlBody.scrollTop(roundedTop); + } + } + + /** + * Returns the cross-browser transform string. + */ + function getTransforms(translate3d){ + return { + '-webkit-transform': translate3d, + '-moz-transform': translate3d, + '-ms-transform':translate3d, + 'transform': translate3d + }; + } + + /** + * Allowing or disallowing the mouse/swipe scroll in a given direction. (not for keyboard) + * @type m (mouse) or k (keyboard) + */ + function setIsScrollAllowed(value, direction, type){ + //up, down, left, right + if(direction !== 'all'){ + isScrollAllowed[type][direction] = value; + } + + //all directions? + else{ + $.each(Object.keys(isScrollAllowed[type]), function(index, key){ + isScrollAllowed[type][key] = value; + }); + } + } + + /*DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD*/ + + /* + * Destroys fullpage.js plugin events and optinally its html markup and styles + */ + function destroy(all){ + setAutoScrolling(false, 'internal'); + setAllowScrolling(false); + setKeyboardScrolling(false); + container.addClass(DESTROYED); + + clearTimeout(afterSlideLoadsId); + clearTimeout(afterSectionLoadsId); + clearTimeout(resizeId); + clearTimeout(scrollId); + clearTimeout(scrollId2); + + $window + .off('scroll', scrollHandler) + .off('hashchange', hashChangeHandler) + .off('resize', resizeHandler); + + $document + .off('keydown', keydownHandler) + .off('keyup', keyUpHandler) + .off('click touchstart', SECTION_NAV_SEL + ' a') + .off('mouseenter', SECTION_NAV_SEL + ' li') + .off('mouseleave', SECTION_NAV_SEL + ' li') + .off('click touchstart', SLIDES_NAV_LINK_SEL) + .off('mouseover', options.normalScrollElements) + .off('mouseout', options.normalScrollElements); + + $(SECTION_SEL) + .off('click touchstart', SLIDES_ARROW_SEL); + + clearTimeout(afterSlideLoadsId); + clearTimeout(afterSectionLoadsId); + + //lets make a mess! + if(all){ + destroyStructure(); + } + } + + /* + * Removes inline styles added by fullpage.js + */ + function destroyStructure(){ + //reseting the `top` or `translate` properties to 0 + silentScroll(0); + + //loading all the lazy load content + container.find('img[data-src], source[data-src], audio[data-src], iframe[data-src]').each(function(){ + setSrc($(this), 'src'); + }); + + container.find('img[data-srcset]').each(function(){ + setSrc($(this), 'srcset'); + }); + + $(SECTION_NAV_SEL + ', ' + SLIDES_NAV_SEL + ', ' + SLIDES_ARROW_SEL).remove(); + + //removing inline styles + $(SECTION_SEL).css( { + 'height': '', + 'background-color' : '', + 'padding': '' + }); + + $(SLIDE_SEL).css( { + 'width': '' + }); + + container.css({ + 'height': '', + 'position': '', + '-ms-touch-action': '', + 'touch-action': '' + }); + + $htmlBody.css({ + 'overflow': '', + 'height': '' + }); + + // remove .fp-enabled class + $('html').removeClass(ENABLED); + + // remove .fp-responsive class + $body.removeClass(RESPONSIVE); + + // remove all of the .fp-viewing- classes + $.each($body.get(0).className.split(/\s+/), function (index, className) { + if (className.indexOf(VIEWING_PREFIX) === 0) { + $body.removeClass(className); + } + }); + + //removing added classes + $(SECTION_SEL + ', ' + SLIDE_SEL).each(function(){ + if(options.scrollOverflowHandler){ + options.scrollOverflowHandler.remove($(this)); + } + $(this).removeClass(TABLE + ' ' + ACTIVE); + $(this).attr('style', $(this).data('fp-styles')); + }); + + removeAnimation(container); + + //Unwrapping content + container.find(TABLE_CELL_SEL + ', ' + SLIDES_CONTAINER_SEL + ', ' + SLIDES_WRAPPER_SEL).each(function(){ + //unwrap not being use in case there's no child element inside and its just text + $(this).replaceWith(this.childNodes); + }); + + //removing the applied transition from the fullpage wrapper + container.css({ + '-webkit-transition': 'none', + 'transition': 'none' + }); + + //scrolling the page to the top with no animation + $htmlBody.scrollTop(0); + + //removing selectors + var usedSelectors = [SECTION, SLIDE, SLIDES_CONTAINER]; + $.each(usedSelectors, function(index, value){ + $('.' + value).removeClass(value); + }); + } + + /* + * Sets the state for a variable with multiple states (original, and temporal) + * Some variables such as `autoScrolling` or `recordHistory` might change automatically its state when using `responsive` or `autoScrolling:false`. + * This function is used to keep track of both states, the original and the temporal one. + * If type is not 'internal', then we assume the user is globally changing the variable. + */ + function setVariableState(variable, value, type){ + options[variable] = value; + if(type !== 'internal'){ + originals[variable] = value; + } + } + + /** + * Displays warnings + */ + function displayWarnings(){ + var extensions = ['fadingEffect', 'continuousHorizontal', 'scrollHorizontally', 'interlockedSlides', 'resetSliders', 'responsiveSlides', 'offsetSections', 'dragAndMove', 'scrollOverflowReset', 'parallax']; + if($('html').hasClass(ENABLED)){ + showError('error', 'Fullpage.js can only be initialized once and you are doing it multiple times!'); + return; + } + + // Disable mutually exclusive settings + if (options.continuousVertical && + (options.loopTop || options.loopBottom)) { + options.continuousVertical = false; + showError('warn', 'Option `loopTop/loopBottom` is mutually exclusive with `continuousVertical`; `continuousVertical` disabled'); + } + + if(options.scrollBar && options.scrollOverflow){ + showError('warn', 'Option `scrollBar` is mutually exclusive with `scrollOverflow`. Sections with scrollOverflow might not work well in Firefox'); + } + + if(options.continuousVertical && (options.scrollBar || !options.autoScrolling)){ + options.continuousVertical = false; + showError('warn', 'Scroll bars (`scrollBar:true` or `autoScrolling:false`) are mutually exclusive with `continuousVertical`; `continuousVertical` disabled'); + } + + if(options.scrollOverflow && !options.scrollOverflowHandler){ + options.scrollOverflow = false; + showError('error', 'The option `scrollOverflow:true` requires the file `scrolloverflow.min.js`. Please include it before fullPage.js.'); + } + + //using extensions? Wrong file! + $.each(extensions, function(index, extension){ + //is the option set to true? + if(options[extension]){ + showError('warn', 'fullpage.js extensions require jquery.fullpage.extensions.min.js file instead of the usual jquery.fullpage.js. Requested: '+ extension); + } + }); + + //anchors can not have the same value as any element ID or NAME + $.each(options.anchors, function(index, name){ + + //case insensitive selectors (http://stackoverflow.com/a/19465187/1081396) + var nameAttr = $document.find('[name]').filter(function() { + return $(this).attr('name') && $(this).attr('name').toLowerCase() == name.toLowerCase(); + }); + + var idAttr = $document.find('[id]').filter(function() { + return $(this).attr('id') && $(this).attr('id').toLowerCase() == name.toLowerCase(); + }); + + if(idAttr.length || nameAttr.length ){ + showError('error', 'data-anchor tags can not have the same value as any `id` element on the site (or `name` element for IE).'); + idAttr.length && showError('error', '"' + name + '" is is being used by another element `id` property'); + nameAttr.length && showError('error', '"' + name + '" is is being used by another element `name` property'); + } + }); + } + + /** + * Shows a message in the console of the given type. + */ + function showError(type, text){ + console && console[type] && console[type]('fullPage: ' + text); + } + + }; //end of $.fn.fullpage +}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/com/jquery.fullPage.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/common.js =================================================================== --- base3.10/src/main/webapp/js/com/common.js (nonexistent) +++ base3.10/src/main/webapp/js/com/common.js (revision 7) @@ -0,0 +1,1311 @@ +/** + * 공통 JS + */ +//$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI); +$(document).ajaxError(function(event, jqxhr, settings, thrownError) { + $.unblockUI(); +// console.log(event, jqxhr, settings, thrownError); +}); +/* + * 로딩 + */ +//$(function() { +// jQuery('form').submit(function() { +// $.blockUI({baseZ:99999}); +// }); +//}); + +//BackSpace 키 방지 이벤트 +//$(document).keydown(function(e){ +// if(e.target.nodeName != "INPUT" && e.target.nodeName != "TEXTAREA"){ +// if(e.keyCode === 8){ +// if( confirm("이전 페이지로 이동 하시겠습니까?") ) { +// window.histroy.go(-1); +// } else { +// return false; +// } +// } +// } +//}); + +$(function() { + // 달력 선언 + initDatePicker(); + + var $inputCheckbox = $('.inputCheckbox'); + var $onlyNumber = $('.onlyNumber'); + var $onlyStopPointNumber = $('.onlyStopPointNumber'); + var $onlyApostrophePointNumber = $('.onlyApostrophePointNumber'); + var $onlyNumberComma = $('.onlyNumberComma'); + + // 체크박스 + if ($inputCheckbox.length > 0) { + $inputCheckbox.toggleCheckbox([ + '<i class="fa fa-square-o" style="font-size:17px; color:#666;" aria-hidden="true"></i>', + '<i class="fa fa-check-square" style="font-size:17px; color:#666;" aria-hidden="true"></i>' + ]); + } + + /* 숫자만 입력 */ + if ($onlyNumber.length > 0) { + $onlyNumber.on('keydown keyup focusout', function() { + onlyNumber(this); + }); + } + + /* 숫자만 입력 */ + if ($onlyStopPointNumber.length > 0) { + $onlyStopPointNumber.on('keydown keyup focusout', function() { + onlyStopPointNumber(this); + }); + } + + /* 숫자 . ' " 입력 */ + if ($onlyApostrophePointNumber.length > 0) { + $onlyApostrophePointNumber.on('keydown keyup focusout', function() { + onlyApostrophePointNumber(this); + }); + } + + /* 숫자만 입력(세자리 콤마) */ + if ($onlyNumberComma.length > 0) { + $onlyNumberComma.on('keydown keyup focusout', function() { + onlyNumberComma(this); + }); + $onlyNumberComma.each(function() { + $(this).val(setComma($(this).val())); + }); + } + + // 권한 체크 + fncAuthoChecker(); + + /** + * input 24Hours 시간 Mask + * class - inputTime + */ + initInputTimeMask(); +}); + +//달력 선언 +function initDatePicker() { + var $datepicker = $(".datepicker"); + if ($datepicker.length < 1) { + return; + } + + $datepicker.prop("autocomplete", "off").datepicker({ + dateFormat: "yy-mm-dd", + changeYear: true, + changeMonth: true, + showMonthAfterYear: true, + selectOtherMonths: true, + showOtherMonths: true, + showButtonPanel: true, + nextText: '다음 달', + prevText: '이전 달', + dayNames: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'], + dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'], + monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'], + monthNames: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'], + beforeShow: function() { + setTimeout(function(){ + $('.ui-datepicker').css('z-index', 9999999); + }, 0); + } + }).inputmask("9999-99-99"); + + $datepicker.focusout(function(){ + var date = $(this).val(); + if(date != '') { + var year = date.split("-")[0].replace(/[^0-9]/g,""); + var month = date.split("-")[1].replace(/[^0-9]/g,""); + var day = date.split("-")[2].replace(/[^0-9]/g,""); + + if(year != '') { + for(var i = year.length; i < 4; i++) { + year = "0" + year; + } + } + + if(month != '') { + if(month > 12) { + month = "12"; + }else if(month < 1) { + month = "01"; + } + + for(var i = month.length; i < 2; i++) { + month = "0" + month; + } + }else { + month = "01"; + } + + if(day != '') { + if(month == "01" || month == "03" || month == "05" || month == "07" || month == "08" || month == "10" || month == "12") { + if(day > 31) { + day = "31"; + }else if(day < 1) { + day = "01"; + } + }else if(month == "04" || month == "06" || month == "09" || month == "11") { + if(day > 30) { + day = "30"; + }else if(day < 1) { + day = "01"; + } + }else if(month == "02") { + if(day > 29) { + day = "28"; + }else if(day < 1) { + day = "01"; + } + } + + for(var i = day.length; i < 2; i++) { + day = "0" + day; + } + }else { + day = "01"; + } + + date = year + "-" + month + "-" + day; + $(this).val(date); + } + }); +} + +// minDate, maxDate 필요할 때 +// 시작일 셀렉터 : bgnde , 종료일 셀렉터 : endde, 시작 종료 상위 셀렉터 : groupTag +function initDatePickerMulti(start, end, groupTag) { + var $start = $(start); + var $end = $(end); + var $startEnd = $(start + "," + end); + if ($start.length < 1) { + return; + } + $start.prop("autocomplete", "off").datepicker({ + dateFormat: "yy-mm-dd", + changeYear: true, + changeMonth: true, + showMonthAfterYear: true, + selectOtherMonths: true, + showOtherMonths: true, + showButtonPanel: true, + nextText: '다음 달', + prevText: '이전 달', + dayNames: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'], + dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'], + monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'], + monthNames: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'], + beforeShow: function() { + setTimeout(function(){ + $('.ui-datepicker').css('z-index', 9999999); + }, 0); + }, + onClose: function (selectedDate) { + $(this).closest(groupTag).find(end).datepicker( "option", "minDate", selectedDate ); + }, + }); + + var minDate = $(start).closest(groupTag).find(start).val(); + $end.prop("autocomplete", "off").datepicker({ + dateFormat: "yy-mm-dd", + changeYear: true, + changeMonth: true, + showMonthAfterYear: true, + selectOtherMonths: true, + showOtherMonths: true, + showButtonPanel: true, + nextText: '다음 달', + prevText: '이전 달', + dayNames: ['일요일', '월요일', '화요일', '수요일', '목요일', '금요일', '토요일'], + dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'], + monthNamesShort: ['1','2','3','4','5','6','7','8','9','10','11','12'], + monthNames: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'], + beforeShow: function() { + setTimeout(function(){ + $('.ui-datepicker').css('z-index', 9999999); + }, 0); + }, + minDate: minDate + }); + + $startEnd.focusout(function(){ + var date = $(this).val(); + if(date != '') { + var year = date.split("-")[0].replace(/[^0-9]/g,""); + var month = date.split("-")[1].replace(/[^0-9]/g,""); + var day = date.split("-")[2].replace(/[^0-9]/g,""); + + if(year != '') { + for(var i = year.length; i < 4; i++) { + year = "0" + year; + } + } + + if(month != '') { + if(month > 12) { + month = "12"; + }else if(month < 1) { + month = "01"; + } + + for(var i = month.length; i < 2; i++) { + month = "0" + month; + } + }else { + month = "01"; + } + + if(day != '') { + if(month == "01" || month == "03" || month == "05" || month == "07" || month == "08" || month == "10" || month == "12") { + if(day > 31) { + day = "31"; + }else if(day < 1) { + day = "01"; + } + }else if(month == "04" || month == "06" || month == "09" || month == "11") { + if(day > 30) { + day = "30"; + }else if(day < 1) { + day = "01"; + } + }else if(month == "02") { + if(day > 29) { + day = "28"; + }else if(day < 1) { + day = "01"; + } + } + + for(var i = day.length; i < 2; i++) { + day = "0" + day; + } + }else { + day = "01"; + } + + date = year + "-" + month + "-" + day; + $(this).val(date); + } + }); +} + +// input 시간 마스크 설정 +function initInputTimeMask() { + var $inputTime = $('.inputTime'); + var $inputTimeSec = $('.inputTimeSec'); + if ($inputTime.length < 1 && $inputTimeSec.length < 1) { + return; + } + + $inputTime.inputmask('datetime',{'inputFormat':'HH:MM', 'hourFormat' : '24', 'showMaskOnHover' : false, 'placeholder' : "__:__"}); + $inputTimeSec.inputmask('datetime',{'inputFormat':'HH:MM:ss', 'hourFormat' : '24', 'showMaskOnHover' : false, 'placeholder' : "__:__:__"}); + + //시간 자동 완성 + $inputTime.focusout(function(){ + var time = $(this).val(); + if(time != "") { + var hour = time.split(":")[0]; + var minute = time.split(":")[1]; + if(hour != "") { + if(hour.replace(/[^0-9]/g,"") >= 24) { + hour = ""; + }else{ + var first = hour.substring(0,1).replace(/[^0-9]/g,""); + var second = hour.substring(1,2).replace(/[^0-9]/g,""); + + if(first == "") { + first = 0; + } + + if(second == "") { + second = 0; + } + + hour = first + second; + } + } + + if(minute.replace(/[^0-9]/g,"") != "") { + if(minute.replace(/[^0-9]/g,"") >= 60) { + minute = ""; + }else{ + var first = minute.substring(0,1).replace(/[^0-9]/g,""); + var second = minute.substring(1,2).replace(/[^0-9]/g,""); + + if(first == "") { + first = 0; + } + + if(second == "") { + second = 0; + } + + minute = first + second; + } + }else { + if(hour != "") { + minute = "00"; + } + } + + $(this).val(hour + ":" + minute); + } + }); + + //시간 자동 완성 시:분:초 + $inputTimeSec.focusout(function(){ + var time = $(this).val(); + if(time != "") { + var hour = time.split(":")[0]; + var minute = time.split(":")[1]; + var sec = time.split(":")[2]; + if(hour != "") { + if(hour.replace(/[^0-9]/g,"") >= 24) { + hour = ""; + }else{ + var first = hour.substring(0,1).replace(/[^0-9]/g,""); + var second = hour.substring(1,2).replace(/[^0-9]/g,""); + + if(first == "") { + first = 0; + } + + if(second == "") { + second = 0; + } + + hour = first + second; + } + } + + if(minute.replace(/[^0-9]/g,"") != "") { + if(minute.replace(/[^0-9]/g,"") >= 60) { + minute = ""; + }else{ + var first = minute.substring(0,1).replace(/[^0-9]/g,""); + var second = minute.substring(1,2).replace(/[^0-9]/g,""); + + if(first == "") { + first = 0; + } + + if(second == "") { + second = 0; + } + + minute = first + second; + } + }else { + if(hour != "") { + minute = "00"; + } + } + + if(sec.replace(/[^0-9]/g,"") != "") { + if(sec.replace(/[^0-9]/g,"") >= 60) { + sec = ""; + }else{ + var first = sec.substring(0,1).replace(/[^0-9]/g,""); + var second = sec.substring(1,2).replace(/[^0-9]/g,""); + + if(first == "") { + first = 0; + } + + if(second == "") { + second = 0; + } + + sec = first + second; + } + }else { + if(minute != "") { + sec = "00"; + } + } + + + $(this).val(hour + ":" + minute + ":" + sec); + } + }); +} + +/* + * 서브밋시 콤마제외 + */ +function submitNummberComma() { + $('.onlyNumberComma').each(function() { + $(this).val($(this).val().replace(/[^0-9-]/g,"")); + }); +} +function submitNummberComma(str) { + + var result = parseInt(str.replace(/[^0-9-]/g,"")); + if(isNaN(result)){ + result = null; + } + return result; +} +/* + * 숫자만 입력 + */ +function onlyNumber(obj){ + $(obj).val($(obj).val().replace(/[^0-9]/g,"")); +} + +/* + * 숫자만 입력 + */ +function onlyStopPointNumber(obj){ + $(obj).val($(obj).val().replace(/[^0-9.]/g,"")); +} +function onlyApostrophePointNumber(obj){ + $(obj).val($(obj).val().replace(/[^0-9.\"\'Φ/*]/g,"")); +} +/* + * 숫자만 입력(세자리 콤마) + */ +function onlyNumberComma(obj){ + $(obj).val(setComma($(obj).val().replace(/[^0-9-]/g,""))); +} +function setComma(number) { + // 정규표현식 : (+- 존재하거나 존재 안함, 숫자가 1개 이상), (숫자가 3개씩 반복) + var reg = /(^[+-]?\d+)(\d{3})/; + + // 스트링변환 + number += ''; + while (reg.test(number)) { + // replace 정규표현식으로 3자리씩 콤마 처리 + number = number.replace(reg,'$1'+','+'$2'); + } + + return number; +} + +/* + * object의 name 속성을 재정의한다.(배열로 만들기 위함) + */ +function fncRename(obj, i) { + var names = $(obj).attr('name').split('.'); + var rname = names[0] + '[' + i + '].' + names[1]; + $(obj).attr('name', rname); +} + +// formSerializeObject Json 변환 +$.fn.serializeObject = function () { + "use strict"; + var result = {}; + var extend = function (i, element) { + var node = result[element.name]; + if ('undefined' !== typeof node && node !== null) { + if ($.isArray(node)) { + node.push(element.value); + } else { + result[element.name] = [node, element.value]; + } + } else { + result[element.name] = element.value; + } + }; + + $.each(this.serializeArray(), extend); + return result; +}; + +//-- 프린트 설정 시작 +var beforePrint = function() { +// $('button').css('display', 'none'); + $('#printSection button').css('display', 'none'); +} + +var afterPrint = function() { +// setTimeout(function() { +// if( this.opener != null ) { +// this.close(); +// } +// $('button').css('display', ''); +// }, 50); + + setTimeout(function() { + if( this.opener != null ) { + this.close(); + } + $('#printSection').remove(); + }, 50); + // 인쇄 취소나 완료시 팝업창 닫기 +} +// chrome 63이후 부터 onbeforeprint 이벤트가 지원됨에 따라 아래 주석 +// firefox for android 빼고 모든 브라우저 지원 +//if( window.matchMedia ) { +// var mQuery = window.matchMedia('print'); +// mQuery.addListener(function(mql) { +// if( mql.matches ) { +// beforePrint(); +// } else { +// afterPrint(); +// } +// }); +//} + +window.onbeforeprint = beforePrint; +window.onafterprint = afterPrint; +//-- 프린트 설정 완료 + +//-- 팝업 프린트 영역 dom 생성 +function printElement(elem) { + var domClone = elem.cloneNode(true); + var id = domClone.getAttribute('id'); + $(domClone).removeAttr('id'); + + var $printSection = document.getElementById("printSection"); + if (!$printSection) { + var $printSection = document.createElement("div"); + $printSection.id = "printSection"; + document.body.appendChild($printSection); + } + $printSection.innerHTML = ""; + $printSection.appendChild(domClone); + window.print(); +} + +// Dom 데이터 초기화 +function resetDomData(obj) { + obj.each(function() { + $(this).find('input[type="text"], textarea').val(''); + }); +} + +function itoStr($num) +{ + $num < 10 ? $num = '0'+$num : $num; + return $num.toString(); +} + +/* + * 엑셀다운로드 + * tblId : $(tableId) + * fileNm : 다운로드 파일명 + */ +function excelDownloads(tblId, fileNm) { + var dt = new Date(); + var year = itoStr( dt.getFullYear() ); + var month = itoStr( dt.getMonth() + 1 ); + var day = itoStr( dt.getDate() ); + var hour = itoStr( dt.getHours() ); + var mins = itoStr( dt.getMinutes() ); + + var postfix = year + month + day + "_" + hour + mins; + var fileName = fileNm + postfix + ".xls"; + + TXLManager(tblId).exportTableToExcel(fileNm + postfix); +} + +/* 이미지 preImgView + * img : img tag Id + * input : input file tag object + * hidden : hidden input Id + */ +function preImgView(img, input, hidden) { + var preview = document.getElementById(img); + var hiddenInput = document.getElementById(hidden); + var file = input.files[0]; + var reader = new FileReader(); + + reader.addEventListener("load", function () { + preview.src = reader.result; + if( hiddenInput != null ) { + hiddenInput.innerHTML = reader.result; + } + }, false); + + if (file) { + reader.readAsDataURL(file); + } +} + +/* + * replaceALl 함수 + * str 문자열 + * searchStr 찾을문자열 + * replaceStr 바꿀문자열 + */ +function replaceAll(str, searchStr, replaceStr) { + return str.split(searchStr).join(replaceStr); +} + +/* + * enter(\r\n)를 br로 치환 + */ +function changeEnterBr(str) { + return replaceAll(str.replace(/(?:\r\n|\r|\n)/g, "<br>"), ' ', '&nbsp;') +} +/* + * br을 enter(\r\n)로 치환 + */ +function changeBrEnter(str) { + return replaceAll(str, "<br>", "\r\n"); +} +/* + * 팝업 프로그래스 바 + * ctx 컨텍스트패스 + * popupId 팝업ID + * url 리다이렉트할 url(한글파라메터시 encodeURI("한글", "UTF-8")) + */ +function popupProgress(ctx, popupId, url) { + var retVal; + retVal = window.open("", popupId, "width=1000, height=800, left=100, top=100"); + var data = '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">'; + data += '<script src="'+ctx+'/js/egovframework/com/cmm/jquery-1.12.4.min.js"><\/script>'; + data += '<script src="'+ctx+'/js/com/jquery.blockUI.js" ><\/script>'; + data += '<body><script>$.blockUI({baseZ:2000});location.href="'+url+'";<\/script><\/body>'; + retVal.document.write(data); +} + +//날짜 포맷 변경 (yyyy-MM-dd) +function formatDate (date) { + var d; + if (date != "") { + d = new Date(date); + } else { + d = new Date(); + } + var month = d.getMonth() + 1; + var day = d.getDate(); + var year = d.getFullYear(); + + if (month < 10) { + month = '0' + month; + } + + if (day < 10) { + day = '0' + day; + } + + return [year, month, day].join('-'); +} + +//날짜 포맷 변경 시간 (yyyy-MM-dd hh24:mi:ss) +function formatDateTime (date) { + var d; + if (date != "") { + d = new Date(date); + } else { + d = new Date(); + } + var month = d.getMonth() + 1; + var day = d.getDate(); + var year = d.getFullYear(); + var hours = d.getHours(); + var minutes = d.getMinutes(); + var seconds = d.getSeconds(); + + if (month < 10) { + month = '0' + month; + } + + if (day < 10) { + day = '0' + day; + } + + return [year, month, day].join('-') + ' ' + hours + ':' + minutes + ':' + seconds; +} + +//값 비어있는지 체크 +function isEmpty(str) { + if (typeof str == "undefined" || str == null || str == "") + return true; + else + return false; +} + +/** + * 팝업 + */ +function fn_popupOpen(url, width, height, params, loadingYn, callback) { + // 호출한 객체 + var targetEl = event.target || event.srcElement; + // 팝업 일련번호 생성 + var today = new Date(); + var popUID = today.getDate() + '' + today.getHours() + '' + today.getMinutes() + '' + today.getSeconds(); + let popupId = 'popup' + popUID; + + // 팝업 wrapper dom + var dom = '<div id="'+popupId+'" class="modal">' + + ' <div class="modal_wrap">' + + ' <div class="modal_box width'+width+' height'+height+'"></div>' + + ' </div>' + + '</div>'; + var $popupWrapper = null; + $popupWrapper = $(dom).appendTo('body'); + + // 팝업 div dom + var $popDom = $popupWrapper.find('.modal_box'); + // 팝업 생성 + $popDom.fncLoad(url, params, loadingYn, function( response, status, xhr ) { + if( status == 'success' ) { + // 팝업오픈 + $popupWrapper.addClass('open'); + // 팝업 닫기 이벤트 등록 + $popDom.on('click', '.close', function() { + // 팝업이 없을 때 + $popupWrapper.remove(); + // 호출한 객체로 포커스 + targetEl.focus(); + }); + // 마지막 텝 + $popDom.on('keydown', 'button.btn_s.close', function() { + if (event.keyCode === 9) { + event.preventDefault(); + $popDom.find('button.btn_close').focus(); + } + }); + // 팝업 첫 포커스 + $popDom.find('button.btn_close').focus(); + // 팝업 콜백 함수 + if (typeof callback == 'function') { + callback(popupId); + } + } else { + alert('에러가 발생하였습니다. \n' + xhr.status + '\n' + xhr.statusText); + } + }); +} + + +/** + * jQuery load 공통함수 + * $(element).fncLoad(url, params, [callback]) + */ +$.fn.fncLoad = function(url, params, loadingYn, callback) { + + if (loadingYn == null || loadingYn == 'Y') { + $.blockUI(); + } + + $(this).load(url, params, function(response, status, xhr) { + // 권한 체크 + fncAuthoChecker(); + if( callback ) callback(response, status, xhr); + + if (loadingYn == null || loadingYn == 'Y') { + $.unblockUI(); + } + }); +} +/** + * 권한 체크 + * @returns + */ +function fncAuthoChecker(element) { + if (typeof FUNCTION_AUTHO) { // 변수 존재 여부 확인. + return; + } + + if( element != undefined && element != null ) { + var autho = element.data('autho'); + if (autho == null) { + return; + } + if(FUNCTION_AUTHO.indexOf('ROLE_ADMIN') > -1 ) { + return; + } + if(FUNCTION_AUTHO.indexOf(autho) == -1 ) { + element.off().prop('disabled', true).addClass("disabled"); + } + } else { + var $checkList = $('[data-autho]'); // 권한 속성 확인. + $.each($checkList, function() { + var $this = $(this); + var autho = $this.data('autho'); + if(FUNCTION_AUTHO.indexOf('ROLE_ADMIN') > -1 ) { + return; + } + if(FUNCTION_AUTHO.indexOf(autho) == -1 ) { + $this.off().prop('disabled', true).addClass("disabled"); + } + }); + + } +} + +/** + * 배열의 요소를 모두 조합한 경우의 수를 뽑아내는 경우 + * @returns + */ +function permute(permutation) { + var length = permutation.length, + result = [permutation.slice()], + c = new Array(length).fill(0), + i = 1, k, p; + + while (i < length) { + if (c[i] < i) { + k = i % 2 && c[i]; + p = permutation[i]; + permutation[i] = permutation[k]; + permutation[k] = p; + ++c[i]; + i = 1; + result.push(permutation.slice()); + } else { + c[i] = 0; + ++i; + } + } + return result; +} + +//multi Input 검색조건 만들기 +function createSplitSearch(data) { + var searchVal = ''; + for (var i = 0; i < data.length; i++) { + searchVal += '('; + for (var j = 0; j < data[i].length; j++) { + if (j == data[i].length-1) { + searchVal += '(' + data[i][j] + ')+'; + } else { + searchVal += '(' + data[i][j] + ')+.*'; + } + } + searchVal += ')'; + + if (i != data.length-1) { + searchVal += '|'; + } + } + + return searchVal; +} + +/** + * 브라우저 확인 + * @returns + */ +function browserInfo() { + var browser = ""; + var userAgent = window.navigator.userAgent.toLowerCase(); + var isChrome = userAgent.indexOf('chrome'); + var isEdge = userAgent.indexOf('edge'); + var isEdge2 = userAgent.indexOf('edg'); + var isWhale = userAgent.indexOf('whale'); + var isFirefox = userAgent.indexOf('firefox'); + //Edge는 Chrome과 Edge 모두의 값을 가지고 있기 때문에 + if (isChrome > -1) { + if(isEdge > -1 || isEdge2 > -1) { + browser = "edge"; + } else if(isWhale > -1) { + browser = "whale"; + } else { + browser = "chrome"; + } + } else if(isFirefox > -1){ + browser = "firefox"; + } else { + browser = "ie"; + } + return browser; +} + +/** + * 다운로드 프로그래스 + * @returns + */ +function progressDownload() { + $.blockUI(); + $.removeCookie('fileDownloadToken', {path : '/'}); + FILEDOWNLOAD_INTERVAL = setInterval(function() { + if ($.cookie("fileDownloadToken") != null) { + clearInterval(FILEDOWNLOAD_INTERVAL); + $.unblockUI(); + } + }, 500); +} + +/** + * 계산 후 데이터 길이 확인 + * @param obj + * @param result + * @returns + */ +function fncChkCalDataLength(obj, result) { + var length = result.attr('maxlength'); + // maxlength에 따른 정수 범위 표시 변수 + var plusMaxValue = ""; + var minusMinValue = "-"; + + // 0 이상의 최댓값 + for(var i = 0; i < length; i++){ + plusMaxValue += "9"; + } + + // 0 이하의 최솟값 + for(var i = 0; i < length - 1; i++){ + minusMinValue += "9"; + } + + if((length != "" && typeof length != "undefined" && result.val() != "" && typeof result.val() != "undefined" && result.val().length > length) + || Number(result.val()) > Number(plusMaxValue)+1 || Number(result.val()) < Number(minusMinValue)-1){ + alert("결과값의 데이터 길이를 초과하였습니다."); + $.each(obj, function(i) { + $(this).val(""); + }); + result.val(""); + + return false; + } + return true; +} + +/** + * 개인정보 체크 함수. + */ +function fnPrivacyCheck(str) { + var result = 0; + str = str.replace(/\s/gi, ''); // 공백제거. + + var reg = /[01][0-9]{5}[~-]+[1-4][0-9]{6}|[2-9][0-9]{5}[~-]+[1-2][0-9]{6}/; // 주민등록번호 + var reg2 = /([a-zA-Z]{1}|[a-zA-Z]{2})\d{8}/; // 여권번호 + var reg3 = /[0-9]{2}[-~.][0-9]{6}[-~.[0-9]{2}/; // 운전면허번호 + var reg4 = /01[016789][-~.][0-9]{3,4}[-~.][0-9]{4}/; // 핸드폰번호 + var reg5 = /[34569][0-9]{3}[-~.][0-9]{4}[-~.][0-9]{4}[-~.][0-9]{4}/; // 신용카드번호 + var reg6 = /[1257][-~.][0-9]{10}/; // 건강보험번호 + var reg7 = /[0-9]{2}[-~.][0-9]{2}[-~.][0-9]{6}|[0-9]{3}[-~.]([0-9]{5,6}[-~][0-9]{3}|[0-9]{6}[-~.][0-9]{5}|[0-9]{2,3}[-~.][0-9]{6}|[0-9]{2}[-~.][0-9]{7}|[0-9]{2}[-~.][0-9]{4,6}[-~.][0-9]|[0-9]{5}[-~.][0-9]{3}[-~.][0-9]{2}|[0-9]{2}[-~.][0-9]{5}[-~.][0-9]{3}|[0-9]{4}[-~.][0-9]{4}[-~.][0-9]{3}|[0-9]{6}[-~.][0-9]{2}[-~.][0-9]{3}|[0-9]{2}[-~.][0-9]{2}[-~.][0-9]{7})|[0-9]{4}[-~.]([0-9]{3}[-~.][0-9]{6}|[0-9]{2}[-~.][0-9]{6}[-~.][0-9])|[0-9]{5}[-~.][0-9]{2}[-~.][0-9]{6}|[0-9]{6}[-~.][0-9]{2}[-~.][0-9]{5,6}/; // 계좌번호 + var reg8 = /[0-9]{11}/; // 핸드폰 번호 추가 + var reg9 = /[0-9]{13}/; // 주민 번호 추가 + + str = str.replace(/\s/g, ''); // 모든 공백 제거 + str = str.replace(/(<([^>]+)>)/gi, ''); // 모든 태그 제거 + + if (reg.test(str) || reg9.test(str)) { + if (confirm('주민등록번호를 입력하셨는지 확인 바랍니다. 저장하시겠습니까?')) { + return true; + } else { + return false; + } + } + if (reg2.test(str)) { + if (confirm('여권번호를 입력하셨는지 확인 바랍니다. 저장하시겠습니까?')) { + return true; + } else { + return false; + } + } + if (reg3.test(str)) { + if (confirm('운전면허번호를 입력하셨는지 확인 바랍니다. 저장하시겠습니까?')) { + return true; + } else { + return false; + } + } + if (reg4.test(str) || reg8.test(str)) { + if (confirm('핸드폰 번호를 입력하셨는지 확인 바랍니다. 저장하시겠습니까?')) { + return true; + } else { + return false; + } + } + if (reg5.test(str)) { + if (confirm('신용카드 번호를 입력하셨는지 확인 바랍니다. 저장하시겠습니까?')) { + return true; + } else { + return false; + } + } + if (reg6.test(str)) { + if (confirm('건강보험번호를 입력하셨는지 확인 바랍니다. 저장하시겠습니까?')) { + return true; + } else { + return false; + } + } + if (reg7.test(str)) { + if (confirm('계좌번호를 입력하셨는지 확인 바랍니다. 저장하시겠습니까?')) { + return true; + } else { + return false; + } + } + + return true; +} + +/** + * 글자 확대 축소 + * 사용법 zoomInOut('in'); + * param : in, out, init + */ +var nowZoom = 100; +var maxZoom = 120; +var minZoom = 90; +function zoomInOut(how) { + var browser = navigator.userAgent; + var Browser = { + chk : navigator.userAgent.toLowerCase() + } + + Browser = { + ie : Browser.chk.indexOf('msie') != -1, + ie6 : Browser.chk.indexOf('msie 6') != -1, + ie7 : Browser.chk.indexOf('msie 7') != -1, + ie8 : Browser.chk.indexOf('msie 8') != -1, + ie9 : Browser.chk.indexOf('msie 9') != -1, + ie10 : Browser.chk.indexOf('msie 10') != -1, + + opera : !!window.opera, + safari : Browser.chk.indexOf('safari') != -1, + safari3 : Browser.chk.indexOf('applewebkir/5') != -1, + mac : Browser.chk.indexOf('mac') != -1, + chrome : Browser.chk.indexOf('chrome') != -1, + firefox : Browser.chk.indexOf('firefox') != -1 + } + + + + if (how == 'in' && nowZoom < maxZoom) { + nowZoom += 5; + } else if (how == 'out' && nowZoom > minZoom) { + nowZoom -= 5; + } else if (how == 'init') { + nowZoom = 100; + }else { + return false; + } + + document.body.style.zoom = nowZoom + "%"; + if ((Browser.ie6) || (Browser.ie7)) { + document.body.style.position = "absolute"; + }else if(Browser.ie8 || Browser.ie10 || Browser.chrome || Browser.safari){ + //document.body.style.width = "100%"; + //document.body.style.position = "absolute"; + }else if(Browser.opera || Browser.firefox){ + tmpZoom = nowZoom/100; + $('body').css('-webkit-transform','scale(' + (tmpZoom) + ')'); + $('body').css('-webkit-transform-origin','0 0'); + $('body').css('-moz-transform','scale(' + (tmpZoom) + ')'); + $('body').css('-moz-transform-origin','0 0'); + $('body').css('-o-transform','scale(' + (tmpZoom) + ')'); + $('body').css('-o-transform-origin','0 0'); + } + + +if((navigator.appName == 'Netscape' && navigator.userAgent.search('Trident') != -1) && (agent.indexOf("msie") != -1)){ +} + return false; +} + +/** + * 카테고리 출력 + * 사용법 selectLclasList('대분류 셀렉터', '소분류 셀렉터', '카테고리유형') + * param : lclas, sclas, clasType + * 수정 화면 시 select태그에 data-id로 값 매칭 + */ +function selectLclasList($lclas, $sclas, clasType){ + if(clasType != '' && typeof clasType != 'undefined'){ + if( $.blockUI != null ) { + $.blockUI(); + } + var url = CONTEXT_PATH + "/cmm/code/unityCodeList/selectJson.do"; + var lclasVal = $lclas.data('id'); + + $.post(url , {'unityCodeNm' : clasType, 'useAt' : 'Y'}, function(data){ + if(data.sttus = 'success'){ + var result = data.result; + var option = ''; + var i = 0; + for(i=0; i < result.length; i++ ){ + option += '<option value="'+result[i].unityCode+'">'+result[i].unityCodeNm+'</option>'; + } + $lclas.append(option); + } + }) + .done(function() { + $lclas.on('change', function(){ + $sclas.find('option:not(:first)').remove(); + var searchSclas = $lclas.val(); + if(searchSclas != '' && typeof searchSclas != 'undefined' && searchSclas != 0){ + $.post(url, { 'unityCode' : searchSclas ,'useAt' : 'Y', 'unityCodeNm' : ''}, function(data){ + if(data.sttus = 'success'){ + var result = data.result; + var option = ''; + var i = 0; + for(i=0; i < result.length; i++ ){ + option += '<option value="'+result[i].unityCode+'">'+result[i].unityCodeNm+'</option>'; + } + $sclas.append(option); + } + }) + .done(function() { + var sclasVal = $sclas.data('id'); + if (sclasVal != null) { + // 소분류 값이 있을 경우 값 셋팅 후 강제 이벤트 발생 + $sclas.val(sclasVal).trigger('change'); + $sclas.data('id', null) + } + }); + } + }); + // 대분류 값이 있을 경우 값 셋팅 후 강제 이벤트 발생 + if (lclasVal != null && lclasVal != '') { + $lclas.val(lclasVal).trigger('change'); + } + }) + .always(function() { + if( $.unblockUI != null ) { + $.unblockUI(); + } + }); + } +} +/** + * 클립보드 복사 + * 사용법 copyToClipboard('복사할 input') + * 복사할 input type은 text나 textArea만 가능 (hidden X, visiblity X) + * -->input에 style="position:absolute; left:-9999px" 속성추가 + */ +function copyToClipboard($copyInputTxt){ + + $copyInputTxt.focus(); + $copyInputTxt.select(); + + document.execCommand('copy'); + alert('클립보드로 복사되었습니다.'); +} + +/** + * 주소API 팝업 호출 + * 사용법: 사용자 - <button onclick="openAdresPopup();">, 관리자 - <button onclick="openAdresPopup('Y');"> + * 콜백함수: adresCallback(zipNo, roadAddrPart1, roadAddrPart2, addrDetail); + * */ +function openAdresPopup(isMng){ + window.name="jusoPopup"; + var url = CONTEXT_PATH + "/searchapi/jusoPopup.jsp"; + if (isMng != null) { + url += "?isMng=" + isMng; + } + var pop = window.open(url,"pop","width=570,height=420, scrollbars=yes, resizable=yes"); +} + +/** + * 크로스사이트 스크립트 대응 + * @Author : 임종호 + * @Date : 2021. 11. 16. + * @Method Name : XSSCheck + * @return : any + */ +function XSSCheck(str, level) { + if (level == undefined || level == 0) { + str = str.replace(/\<|\>|\"|\'|\%|\;|\(|\)|\&|\+\-/g, ""); + } else if (level != undefined && level == 1) { + str = str.replace(/\</g, "&lt;"); + str = str.replace(/\>/g, "&gt;"); + } + return str; +} + +/** + * 동영상 공유링크 + * @Author : 임종호 + * @Date : 2021. 11. 29. + * @Method Name : insertByVideoURL(e), e:element혹은string, 유튜브, 네이버, 카카오 가능 + * @return : str + */ +function insertByVideoURL($el) { + var e; + if (typeof $el == 'object') { + e = $el.val().trim(); + } else { + e = $el; + } + if (e == '') { + alert('영상링크를 복사해 주세요.\n영상은 유튜브, 네이버티비, 카카오티비만 가능합니다.'); + $el.focus(); + return false; + } + const VIDEO_PROVIDERS = [ + { + test_regex: /^.*((youtu.be)|(youtube.com))\/((v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))?\??v?=?([^#\&\?]*).*/, + url_regex: /(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=|embed\/)?([0-9a-zA-Z_\-]+)(.+)?/g, + url_text: "https://www.youtube.com/embed/$1", + html: '<iframe width="640" height="360" src="{url}?wmode=opaque" frameborder="0" allowfullscreen></iframe>', + provider: "youtube", + }, + { + test_regex: /^.*(?:vimeo.com)\/(?:channels(\/\w+\/)?|groups\/*\/videos\/\u200b\d+\/|video\/|)(\d+)(?:$|\/|\?)/, + url_regex: /(?:https?:\/\/)?(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/(?:[^\/]*)\/videos\/|album\/(?:\d+)\/video\/|video\/|)(\d+)(?:[a-zA-Z0-9_\-]+)?(\/[a-zA-Z0-9_\-]+)?/i, + url_text: "https://player.vimeo.com/video/$1", + html: '<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>', + provider: "vimeo", + }, + { + test_regex: /^.+(dailymotion.com|dai.ly)\/(video|hub)?\/?([^_]+)[^#]*(#video=([^_&]+))?/, + url_regex: /(?:https?:\/\/)?(?:www\.)?(?:dailymotion\.com|dai\.ly)\/(?:video|hub)?\/?(.+)/g, + url_text: "https://www.dailymotion.com/embed/video/$1", + html: '<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>', + provider: "dailymotion", + }, + { + test_regex: /^.+(screen.yahoo.com)\/[^_&]+/, + url_regex: "", + url_text: "", + html: '<iframe width="640" height="360" src="{url}?format=embed" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" allowtransparency="true"></iframe>', + provider: "yahoo", + }, + { + test_regex: /^.+(rutube.ru)\/[^_&]+/, + url_regex: /(?:https?:\/\/)?(?:www\.)?(?:rutube\.ru)\/(?:video)?\/?(.+)/g, + url_text: "https://rutube.ru/play/embed/$1", + html: '<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" allowtransparency="true"></iframe>', + provider: "rutube", + }, + { + test_regex: /^(?:.+)vidyard.com\/(?:watch)?\/?([^.&/]+)\/?(?:[^_.&]+)?/, + url_regex: /^(?:.+)vidyard.com\/(?:watch)?\/?([^.&/]+)\/?(?:[^_.&]+)?/g, + url_text: "https://play.vidyard.com/$1", + html: '<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>', + provider: "vidyard", + }, + { + test_regex: /^.*(naver.com)\/[^_&]+/, + url_regex: /(?:https?:\/\/)?(?:tv\.)?(?:m\.)?naver.com\/v\/?([0-9a-zA-Z_\-]+)(.+)?/g, + url_text: "https://tv.naver.com/embed/$1", + html: '<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>', + provider: "naver", + }, + { + test_regex: /^.*(kakao.com)\/[^_&]+/, + url_regex: /(?:https?:\/\/)?(?:tv\.)?(?:m\.)?kakao.com\/v\/?([0-9a-zA-Z_\-]+)(.+)?/g, + url_text: "https://play-tv.kakao.com/embed/player/cliplink/$1", + html: '<iframe width="640" height="360" src="{url}?service=player_share" frameborder="0" allowfullscreen></iframe>', + provider: "kakao", + }, + ]; + function isURL(e) { + const LinkRegExCommon = "[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_.]{1,}" + , LinkRegExEnd = "((:[0-9]{1,5})|)(((\\/|\\?|#)[a-z\\u00a1-\\uffff0-9@?\\|!^=%&amp;/~+#-\\'*-_{}]*)|())" + , LinkRegExHTTP = "((ftp|http|https):\\/\\/" + LinkRegExCommon + ")"; + return ( + !!/^(https?:|ftps?:|)\/\//i.test(e) && + ((e = String(e).replace(/</g, "%3C").replace(/>/g, "%3E").replace(/"/g, "%22").replace(/ /g, "%20")), new RegExp("^" + LinkRegExHTTP + LinkRegExEnd + "$", "gi").test(e)) + ); + }; + var t = null; + if ((/^http/.test(e) || (e = "https://" + e), isURL(e))) + for (var n = 0; n < VIDEO_PROVIDERS.length; n++) { + var r = VIDEO_PROVIDERS[n]; + if (r.test_regex.test(e)) { + (t = e.replace(r.url_regex, r.url_text)), (t = r.html.replace(/\{url\}/, t)); + break; + } + } + if (t == null) { + alert('허용되지 않은 URL 입니다.'); + $el.val(''); + $el.focus(); + return false; + } + return t; +}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/com/common.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/jquery.inputmask.min.js =================================================================== --- base3.10/src/main/webapp/js/com/jquery.inputmask.min.js (nonexistent) +++ base3.10/src/main/webapp/js/com/jquery.inputmask.min.js (revision 7) @@ -0,0 +1,8 @@ +/*! + * dist/jquery.inputmask.min + * https://github.com/RobinHerbots/Inputmask + * Copyright (c) 2010 - 2020 Robin Herbots + * Licensed under the MIT license + * Version: 5.0.6-beta.12 + */ +!function webpackUniversalModuleDefinition(root,factory){if("object"==typeof exports&&"object"==typeof module)module.exports=factory(require("jquery"));else if("function"==typeof define&&define.amd)define(["jquery"],factory);else{var a="object"==typeof exports?factory(require("jquery")):factory(root.jQuery);for(var i in a)("object"==typeof exports?exports:root)[i]=a[i]}}(window,function(__WEBPACK_EXTERNAL_MODULE__8__){return modules=[function(module){module.exports=JSON.parse('{"BACKSPACE":8,"BACKSPACE_SAFARI":127,"DELETE":46,"DOWN":40,"END":35,"ENTER":13,"ESCAPE":27,"HOME":36,"INSERT":45,"LEFT":37,"PAGE_DOWN":34,"PAGE_UP":33,"RIGHT":39,"SPACE":32,"TAB":9,"UP":38,"X":88,"CONTROL":17,"KEY_229":229}')},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,__webpack_require__(16),__webpack_require__(17);var _mask=__webpack_require__(9),_inputmask=_interopRequireDefault(__webpack_require__(11)),_window=_interopRequireDefault(__webpack_require__(12)),_maskLexer=__webpack_require__(18),_validationTests=__webpack_require__(3),_positioning=__webpack_require__(2),_validation=__webpack_require__(4),_inputHandling=__webpack_require__(5),_eventruler=__webpack_require__(10),_definitions=_interopRequireDefault(__webpack_require__(19)),_defaults=_interopRequireDefault(__webpack_require__(20));function _typeof(obj){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function _typeof(obj){return typeof obj}:function _typeof(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var document=_window.default.document,dataKey="_inputmask_opts";function Inputmask(alias,options,internal){if(!(this instanceof Inputmask))return new Inputmask(alias,options,internal);this.dependencyLib=_inputmask.default,this.el=void 0,this.events={},this.maskset=void 0,!0!==internal&&("[object Object]"===Object.prototype.toString.call(alias)?options=alias:(options=options||{},alias&&(options.alias=alias)),this.opts=_inputmask.default.extend(!0,{},this.defaults,options),this.noMasksCache=options&&void 0!==options.definitions,this.userOptions=options||{},resolveAlias(this.opts.alias,options,this.opts)),this.refreshValue=!1,this.undoValue=void 0,this.$el=void 0,this.skipKeyPressEvent=!1,this.skipInputEvent=!1,this.validationEvent=!1,this.ignorable=!1,this.maxLength,this.mouseEnter=!1,this.originalPlaceholder=void 0,this.isComposing=!1}function resolveAlias(aliasStr,options,opts){var aliasDefinition=Inputmask.prototype.aliases[aliasStr];return aliasDefinition?(aliasDefinition.alias&&resolveAlias(aliasDefinition.alias,void 0,opts),_inputmask.default.extend(!0,opts,aliasDefinition),_inputmask.default.extend(!0,opts,options),!0):(null===opts.mask&&(opts.mask=aliasStr),!1)}function importAttributeOptions(npt,opts,userOptions,dataAttribute){function importOption(option,optionData){var attrOption=""===dataAttribute?option:dataAttribute+"-"+option;optionData=void 0!==optionData?optionData:npt.getAttribute(attrOption),null!==optionData&&("string"==typeof optionData&&(0===option.indexOf("on")?optionData=_window.default[optionData]:"false"===optionData?optionData=!1:"true"===optionData&&(optionData=!0)),userOptions[option]=optionData)}if(!0===opts.importDataAttributes){var attrOptions=npt.getAttribute(dataAttribute),option,dataoptions,optionData,p;if(attrOptions&&""!==attrOptions&&(attrOptions=attrOptions.replace(/'/g,'"'),dataoptions=JSON.parse("{"+attrOptions+"}")),dataoptions)for(p in optionData=void 0,dataoptions)if("alias"===p.toLowerCase()){optionData=dataoptions[p];break}for(option in importOption("alias",optionData),userOptions.alias&&resolveAlias(userOptions.alias,userOptions,opts),opts){if(dataoptions)for(p in optionData=void 0,dataoptions)if(p.toLowerCase()===option.toLowerCase()){optionData=dataoptions[p];break}importOption(option,optionData)}}return _inputmask.default.extend(!0,opts,userOptions),"rtl"!==npt.dir&&!opts.rightAlign||(npt.style.textAlign="right"),"rtl"!==npt.dir&&!opts.numericInput||(npt.dir="ltr",npt.removeAttribute("dir"),opts.isRTL=!0),Object.keys(userOptions).length}Inputmask.prototype={dataAttribute:"data-inputmask",defaults:_defaults.default,definitions:_definitions.default,aliases:{},masksCache:{},get isRTL(){return this.opts.isRTL||this.opts.numericInput},mask:function mask(elems){var that=this;return"string"==typeof elems&&(elems=document.getElementById(elems)||document.querySelectorAll(elems)),elems=elems.nodeName?[elems]:Array.isArray(elems)?elems:Array.from(elems),elems.forEach(function(el,ndx){var scopedOpts=_inputmask.default.extend(!0,{},that.opts);if(importAttributeOptions(el,scopedOpts,_inputmask.default.extend(!0,{},that.userOptions),that.dataAttribute)){var maskset=(0,_maskLexer.generateMaskSet)(scopedOpts,that.noMasksCache);void 0!==maskset&&(void 0!==el.inputmask&&(el.inputmask.opts.autoUnmask=!0,el.inputmask.remove()),el.inputmask=new Inputmask(void 0,void 0,!0),el.inputmask.opts=scopedOpts,el.inputmask.noMasksCache=that.noMasksCache,el.inputmask.userOptions=_inputmask.default.extend(!0,{},that.userOptions),el.inputmask.el=el,el.inputmask.$el=(0,_inputmask.default)(el),el.inputmask.maskset=maskset,_inputmask.default.data(el,dataKey,that.userOptions),_mask.mask.call(el.inputmask))}}),elems&&elems[0]&&elems[0].inputmask||this},option:function option(options,noremask){return"string"==typeof options?this.opts[options]:"object"===_typeof(options)?(_inputmask.default.extend(this.userOptions,options),this.el&&!0!==noremask&&this.mask(this.el),this):void 0},unmaskedvalue:function unmaskedvalue(value){if(this.maskset=this.maskset||(0,_maskLexer.generateMaskSet)(this.opts,this.noMasksCache),void 0===this.el||void 0!==value){var valueBuffer=("function"==typeof this.opts.onBeforeMask&&this.opts.onBeforeMask.call(this,value,this.opts)||value).split("");_inputHandling.checkVal.call(this,void 0,!1,!1,valueBuffer),"function"==typeof this.opts.onBeforeWrite&&this.opts.onBeforeWrite.call(this,void 0,_positioning.getBuffer.call(this),0,this.opts)}return _inputHandling.unmaskedvalue.call(this,this.el)},remove:function remove(){if(this.el){_inputmask.default.data(this.el,dataKey,null);var cv=this.opts.autoUnmask?(0,_inputHandling.unmaskedvalue)(this.el):this._valueGet(this.opts.autoUnmask),valueProperty;cv!==_positioning.getBufferTemplate.call(this).join("")?this._valueSet(cv,this.opts.autoUnmask):this._valueSet(""),_eventruler.EventRuler.off(this.el),Object.getOwnPropertyDescriptor&&Object.getPrototypeOf?(valueProperty=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(this.el),"value"),valueProperty&&this.__valueGet&&Object.defineProperty(this.el,"value",{get:this.__valueGet,set:this.__valueSet,configurable:!0})):document.__lookupGetter__&&this.el.__lookupGetter__("value")&&this.__valueGet&&(this.el.__defineGetter__("value",this.__valueGet),this.el.__defineSetter__("value",this.__valueSet)),this.el.inputmask=void 0}return this.el},getemptymask:function getemptymask(){return this.maskset=this.maskset||(0,_maskLexer.generateMaskSet)(this.opts,this.noMasksCache),_positioning.getBufferTemplate.call(this).join("")},hasMaskedValue:function hasMaskedValue(){return!this.opts.autoUnmask},isComplete:function isComplete(){return this.maskset=this.maskset||(0,_maskLexer.generateMaskSet)(this.opts,this.noMasksCache),_validation.isComplete.call(this,_positioning.getBuffer.call(this))},getmetadata:function getmetadata(){if(this.maskset=this.maskset||(0,_maskLexer.generateMaskSet)(this.opts,this.noMasksCache),Array.isArray(this.maskset.metadata)){var maskTarget=_validationTests.getMaskTemplate.call(this,!0,0,!1).join("");return this.maskset.metadata.forEach(function(mtdt){return mtdt.mask!==maskTarget||(maskTarget=mtdt,!1)}),maskTarget}return this.maskset.metadata},isValid:function isValid(value){if(this.maskset=this.maskset||(0,_maskLexer.generateMaskSet)(this.opts,this.noMasksCache),value){var valueBuffer=("function"==typeof this.opts.onBeforeMask&&this.opts.onBeforeMask.call(this,value,this.opts)||value).split("");_inputHandling.checkVal.call(this,void 0,!0,!1,valueBuffer)}else value=this.isRTL?_positioning.getBuffer.call(this).slice().reverse().join(""):_positioning.getBuffer.call(this).join("");for(var buffer=_positioning.getBuffer.call(this),rl=_positioning.determineLastRequiredPosition.call(this),lmib=buffer.length-1;rl<lmib&&!_positioning.isMask.call(this,lmib);lmib--);return buffer.splice(rl,lmib+1-rl),_validation.isComplete.call(this,buffer)&&value===(this.isRTL?_positioning.getBuffer.call(this).slice().reverse().join(""):_positioning.getBuffer.call(this).join(""))},format:function format(value,metadata){this.maskset=this.maskset||(0,_maskLexer.generateMaskSet)(this.opts,this.noMasksCache);var valueBuffer=("function"==typeof this.opts.onBeforeMask&&this.opts.onBeforeMask.call(this,value,this.opts)||value).split("");_inputHandling.checkVal.call(this,void 0,!0,!1,valueBuffer);var formattedValue=this.isRTL?_positioning.getBuffer.call(this).slice().reverse().join(""):_positioning.getBuffer.call(this).join("");return metadata?{value:formattedValue,metadata:this.getmetadata()}:formattedValue},setValue:function setValue(value){this.el&&(0,_inputmask.default)(this.el).trigger("setvalue",[value])},analyseMask:_maskLexer.analyseMask},Inputmask.extendDefaults=function(options){_inputmask.default.extend(!0,Inputmask.prototype.defaults,options)},Inputmask.extendDefinitions=function(definition){_inputmask.default.extend(!0,Inputmask.prototype.definitions,definition)},Inputmask.extendAliases=function(alias){_inputmask.default.extend(!0,Inputmask.prototype.aliases,alias)},Inputmask.format=function(value,options,metadata){return Inputmask(options).format(value,metadata)},Inputmask.unmask=function(value,options){return Inputmask(options).unmaskedvalue(value)},Inputmask.isValid=function(value,options){return Inputmask(options).isValid(value)},Inputmask.remove=function(elems){"string"==typeof elems&&(elems=document.getElementById(elems)||document.querySelectorAll(elems)),elems=elems.nodeName?[elems]:elems,elems.forEach(function(el){el.inputmask&&el.inputmask.remove()})},Inputmask.setValue=function(elems,value){"string"==typeof elems&&(elems=document.getElementById(elems)||document.querySelectorAll(elems)),elems=elems.nodeName?[elems]:elems,elems.forEach(function(el){el.inputmask?el.inputmask.setValue(value):(0,_inputmask.default)(el).trigger("setvalue",[value])})},Inputmask.dependencyLib=_inputmask.default,_window.default.Inputmask=Inputmask;var _default=Inputmask;exports.default=_default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.caret=caret,exports.determineLastRequiredPosition=determineLastRequiredPosition,exports.determineNewCaretPosition=determineNewCaretPosition,exports.getBuffer=getBuffer,exports.getBufferTemplate=getBufferTemplate,exports.getLastValidPosition=getLastValidPosition,exports.isMask=isMask,exports.resetMaskSet=resetMaskSet,exports.seekNext=seekNext,exports.seekPrevious=seekPrevious,exports.translatePosition=translatePosition;var _validationTests=__webpack_require__(3),_validation=__webpack_require__(4),_mask=__webpack_require__(9);function caret(input,begin,end,notranslate,isDelete){var inputmask=this,opts=this.opts,range;if(void 0===begin)return"selectionStart"in input&&"selectionEnd"in input?(begin=input.selectionStart,end=input.selectionEnd):window.getSelection?(range=window.getSelection().getRangeAt(0),range.commonAncestorContainer.parentNode!==input&&range.commonAncestorContainer!==input||(begin=range.startOffset,end=range.endOffset)):document.selection&&document.selection.createRange&&(range=document.selection.createRange(),begin=0-range.duplicate().moveStart("character",-input.inputmask._valueGet().length),end=begin+range.text.length),{begin:notranslate?begin:translatePosition.call(this,begin),end:notranslate?end:translatePosition.call(this,end)};if(Array.isArray(begin)&&(end=this.isRTL?begin[0]:begin[1],begin=this.isRTL?begin[1]:begin[0]),void 0!==begin.begin&&(end=this.isRTL?begin.begin:begin.end,begin=this.isRTL?begin.end:begin.begin),"number"==typeof begin){begin=notranslate?begin:translatePosition.call(this,begin),end=notranslate?end:translatePosition.call(this,end),end="number"==typeof end?end:begin;var scrollCalc=parseInt(((input.ownerDocument.defaultView||window).getComputedStyle?(input.ownerDocument.defaultView||window).getComputedStyle(input,null):input.currentStyle).fontSize)*end;if(input.scrollLeft=scrollCalc>input.scrollWidth?scrollCalc:0,input.inputmask.caretPos={begin:begin,end:end},opts.insertModeVisual&&!1===opts.insertMode&&begin===end&&(isDelete||end++),input===(input.inputmask.shadowRoot||document).activeElement)if("setSelectionRange"in input)input.setSelectionRange(begin,end);else if(window.getSelection){if(range=document.createRange(),void 0===input.firstChild||null===input.firstChild){var textNode=document.createTextNode("");input.appendChild(textNode)}range.setStart(input.firstChild,begin<input.inputmask._valueGet().length?begin:input.inputmask._valueGet().length),range.setEnd(input.firstChild,end<input.inputmask._valueGet().length?end:input.inputmask._valueGet().length),range.collapse(!0);var sel=window.getSelection();sel.removeAllRanges(),sel.addRange(range)}else input.createTextRange&&(range=input.createTextRange(),range.collapse(!0),range.moveEnd("character",end),range.moveStart("character",begin),range.select())}}function determineLastRequiredPosition(returnDefinition){var inputmask=this,maskset=this.maskset,$=this.dependencyLib,buffer=_validationTests.getMaskTemplate.call(this,!0,getLastValidPosition.call(this),!0,!0),bl=buffer.length,pos,lvp=getLastValidPosition.call(this),positions={},lvTest=maskset.validPositions[lvp],ndxIntlzr=void 0!==lvTest?lvTest.locator.slice():void 0,testPos;for(pos=lvp+1;pos<buffer.length;pos++)testPos=_validationTests.getTestTemplate.call(this,pos,ndxIntlzr,pos-1),ndxIntlzr=testPos.locator.slice(),positions[pos]=$.extend(!0,{},testPos);var lvTestAlt=lvTest&&void 0!==lvTest.alternation?lvTest.locator[lvTest.alternation]:void 0;for(pos=bl-1;lvp<pos&&(testPos=positions[pos],(testPos.match.optionality||testPos.match.optionalQuantifier&&testPos.match.newBlockMarker||lvTestAlt&&(lvTestAlt!==positions[pos].locator[lvTest.alternation]&&1!=testPos.match.static||!0===testPos.match.static&&testPos.locator[lvTest.alternation]&&_validation.checkAlternationMatch.call(this,testPos.locator[lvTest.alternation].toString().split(","),lvTestAlt.toString().split(","))&&""!==_validationTests.getTests.call(this,pos)[0].def))&&buffer[pos]===_validationTests.getPlaceholder.call(this,pos,testPos.match));pos--)bl--;return returnDefinition?{l:bl,def:positions[bl]?positions[bl].match:void 0}:bl}function determineNewCaretPosition(selectedCaret,tabbed){var inputmask=this,maskset=this.maskset,opts=this.opts;function doRadixFocus(clickPos){if(""!==opts.radixPoint&&0!==opts.digits){var vps=maskset.validPositions;if(void 0===vps[clickPos]||vps[clickPos].input===_validationTests.getPlaceholder.call(inputmask,clickPos)){if(clickPos<seekNext.call(inputmask,-1))return!0;var radixPos=getBuffer.call(inputmask).indexOf(opts.radixPoint);if(-1!==radixPos){for(var vp in vps)if(vps[vp]&&radixPos<vp&&vps[vp].input!==_validationTests.getPlaceholder.call(inputmask,vp))return!1;return!0}}}return!1}if(tabbed&&(inputmask.isRTL?selectedCaret.end=selectedCaret.begin:selectedCaret.begin=selectedCaret.end),selectedCaret.begin===selectedCaret.end){switch(opts.positionCaretOnClick){case"none":break;case"select":selectedCaret={begin:0,end:getBuffer.call(inputmask).length};break;case"ignore":selectedCaret.end=selectedCaret.begin=seekNext.call(inputmask,getLastValidPosition.call(inputmask));break;case"radixFocus":if(doRadixFocus(selectedCaret.begin)){var radixPos=getBuffer.call(inputmask).join("").indexOf(opts.radixPoint);selectedCaret.end=selectedCaret.begin=opts.numericInput?seekNext.call(inputmask,radixPos):radixPos;break}default:var clickPosition=selectedCaret.begin,lvclickPosition=getLastValidPosition.call(inputmask,clickPosition,!0),lastPosition=seekNext.call(inputmask,-1!==lvclickPosition||isMask.call(inputmask,0)?lvclickPosition:-1);if(clickPosition<=lastPosition)selectedCaret.end=selectedCaret.begin=isMask.call(inputmask,clickPosition,!1,!0)?clickPosition:seekNext.call(inputmask,clickPosition);else{var lvp=maskset.validPositions[lvclickPosition],tt=_validationTests.getTestTemplate.call(inputmask,lastPosition,lvp?lvp.match.locator:void 0,lvp),placeholder=_validationTests.getPlaceholder.call(inputmask,lastPosition,tt.match);if(""!==placeholder&&getBuffer.call(inputmask)[lastPosition]!==placeholder&&!0!==tt.match.optionalQuantifier&&!0!==tt.match.newBlockMarker||!isMask.call(inputmask,lastPosition,opts.keepStatic,!0)&&tt.match.def===placeholder){var newPos=seekNext.call(inputmask,lastPosition);(newPos<=clickPosition||clickPosition===lastPosition)&&(lastPosition=newPos)}selectedCaret.end=selectedCaret.begin=lastPosition}}return selectedCaret}}function getBuffer(noCache){var inputmask=this,maskset=this.maskset;return void 0!==maskset.buffer&&!0!==noCache||(maskset.buffer=_validationTests.getMaskTemplate.call(this,!0,getLastValidPosition.call(this),!0),void 0===maskset._buffer&&(maskset._buffer=maskset.buffer.slice())),maskset.buffer}function getBufferTemplate(){var inputmask=this,maskset=this.maskset;return void 0===maskset._buffer&&(maskset._buffer=_validationTests.getMaskTemplate.call(this,!1,1),void 0===maskset.buffer&&(maskset.buffer=maskset._buffer.slice())),maskset._buffer}function getLastValidPosition(closestTo,strict,validPositions){var maskset=this.maskset,before=-1,after=-1,valids=validPositions||maskset.validPositions;for(var posNdx in void 0===closestTo&&(closestTo=-1),valids){var psNdx=parseInt(posNdx);valids[psNdx]&&(strict||!0!==valids[psNdx].generatedInput)&&(psNdx<=closestTo&&(before=psNdx),closestTo<=psNdx&&(after=psNdx))}return-1===before||before==closestTo?after:-1==after?before:closestTo-before<after-closestTo?before:after}function isMask(pos,strict,fuzzy){var inputmask=this,maskset=this.maskset,test=_validationTests.getTestTemplate.call(this,pos).match;if(""===test.def&&(test=_validationTests.getTest.call(this,pos).match),!0!==test.static)return test.fn;if(!0===fuzzy&&void 0!==maskset.validPositions[pos]&&!0!==maskset.validPositions[pos].generatedInput)return!0;if(!0!==strict&&-1<pos){if(fuzzy){var tests=_validationTests.getTests.call(this,pos);return tests.length>1+(""===tests[tests.length-1].match.def?1:0)}var testTemplate=_validationTests.determineTestTemplate.call(this,pos,_validationTests.getTests.call(this,pos)),testPlaceHolder=_validationTests.getPlaceholder.call(this,pos,testTemplate.match);return testTemplate.match.def!==testPlaceHolder}return!1}function resetMaskSet(soft){var maskset=this.maskset;maskset.buffer=void 0,!0!==soft&&(maskset.validPositions={},maskset.p=0)}function seekNext(pos,newBlock,fuzzy){var inputmask=this;void 0===fuzzy&&(fuzzy=!0);for(var position=pos+1;""!==_validationTests.getTest.call(this,position).match.def&&(!0===newBlock&&(!0!==_validationTests.getTest.call(this,position).match.newBlockMarker||!isMask.call(this,position,void 0,!0))||!0!==newBlock&&!isMask.call(this,position,void 0,fuzzy));)position++;return position}function seekPrevious(pos,newBlock){var inputmask=this,position=pos-1;if(pos<=0)return 0;for(;0<position&&(!0===newBlock&&(!0!==_validationTests.getTest.call(this,position).match.newBlockMarker||!isMask.call(this,position,void 0,!0))||!0!==newBlock&&!isMask.call(this,position,void 0,!0));)position--;return position}function translatePosition(pos){var inputmask=this,opts=this.opts,el=this.el;return!this.isRTL||"number"!=typeof pos||opts.greedy&&""===opts.placeholder||!el||(pos=this._valueGet().length-pos),pos}},function(module,exports,__webpack_require__){"use strict";function getLocator(tst,align){var locator=(null!=tst.alternation?tst.mloc[getDecisionTaker(tst)]:tst.locator).join("");if(""!==locator)for(;locator.length<align;)locator+="0";return locator}function getDecisionTaker(tst){var decisionTaker=tst.locator[tst.alternation];return"string"==typeof decisionTaker&&0<decisionTaker.length&&(decisionTaker=decisionTaker.split(",")[0]),void 0!==decisionTaker?decisionTaker.toString():""}function getPlaceholder(pos,test,returnPL){var inputmask=this,opts=this.opts,maskset=this.maskset;if(test=test||getTest.call(this,pos).match,void 0!==test.placeholder||!0===returnPL)return"function"==typeof test.placeholder?test.placeholder(opts):test.placeholder;if(!0!==test.static)return opts.placeholder.charAt(pos%opts.placeholder.length);if(-1<pos&&void 0===maskset.validPositions[pos]){var tests=getTests.call(this,pos),staticAlternations=[],prevTest;if(tests.length>1+(""===tests[tests.length-1].match.def?1:0))for(var i=0;i<tests.length;i++)if(""!==tests[i].match.def&&!0!==tests[i].match.optionality&&!0!==tests[i].match.optionalQuantifier&&(!0===tests[i].match.static||void 0===prevTest||!1!==tests[i].match.fn.test(prevTest.match.def,maskset,pos,!0,opts))&&(staticAlternations.push(tests[i]),!0===tests[i].match.static&&(prevTest=tests[i]),1<staticAlternations.length&&/[0-9a-bA-Z]/.test(staticAlternations[0].match.def)))return opts.placeholder.charAt(pos%opts.placeholder.length)}return test.def}function getMaskTemplate(baseOnInput,minimalPos,includeMode,noJit,clearOptionalTail){var inputmask=this,opts=this.opts,maskset=this.maskset,greedy=opts.greedy;clearOptionalTail&&(opts.greedy=!1),minimalPos=minimalPos||0;var maskTemplate=[],ndxIntlzr,pos=0,test,testPos,jitRenderStatic;do{if(!0===baseOnInput&&maskset.validPositions[pos])testPos=clearOptionalTail&&!0===maskset.validPositions[pos].match.optionality&&void 0===maskset.validPositions[pos+1]&&(!0===maskset.validPositions[pos].generatedInput||maskset.validPositions[pos].input==opts.skipOptionalPartCharacter&&0<pos)?determineTestTemplate.call(this,pos,getTests.call(this,pos,ndxIntlzr,pos-1)):maskset.validPositions[pos],test=testPos.match,ndxIntlzr=testPos.locator.slice(),maskTemplate.push(!0===includeMode?testPos.input:!1===includeMode?test.nativeDef:getPlaceholder.call(this,pos,test));else{testPos=getTestTemplate.call(this,pos,ndxIntlzr,pos-1),test=testPos.match,ndxIntlzr=testPos.locator.slice();var jitMasking=!0!==noJit&&(!1!==opts.jitMasking?opts.jitMasking:test.jit);jitRenderStatic=jitRenderStatic&&test.static&&test.def!==opts.groupSeparator&&null===test.fn||maskset.validPositions[pos-1]&&test.static&&test.def!==opts.groupSeparator&&null===test.fn,jitRenderStatic||!1===jitMasking||void 0===jitMasking||"number"==typeof jitMasking&&isFinite(jitMasking)&&pos<jitMasking?maskTemplate.push(!1===includeMode?test.nativeDef:getPlaceholder.call(this,pos,test)):jitRenderStatic=!1}pos++}while((void 0===this.maxLength||pos<this.maxLength)&&(!0!==test.static||""!==test.def)||pos<minimalPos);return""===maskTemplate[maskTemplate.length-1]&&maskTemplate.pop(),!1===includeMode&&void 0!==maskset.maskLength||(maskset.maskLength=pos-1),opts.greedy=greedy,maskTemplate}function getTestTemplate(pos,ndxIntlzr,tstPs){var inputmask=this,maskset=this.maskset;return maskset.validPositions[pos]||determineTestTemplate.call(this,pos,getTests.call(this,pos,ndxIntlzr?ndxIntlzr.slice():ndxIntlzr,tstPs))}function determineTestTemplate(pos,tests){var inputmask=this,opts=this.opts;pos=0<pos?pos-1:0;for(var altTest=getTest.call(this,pos),targetLocator=getLocator(altTest),tstLocator,closest,bestMatch,ndx=0;ndx<tests.length;ndx++){var tst=tests[ndx];tstLocator=getLocator(tst,targetLocator.length);var distance=Math.abs(tstLocator-targetLocator);(void 0===closest||""!==tstLocator&&distance<closest||bestMatch&&!opts.greedy&&bestMatch.match.optionality&&"master"===bestMatch.match.newBlockMarker&&(!tst.match.optionality||!tst.match.newBlockMarker)||bestMatch&&bestMatch.match.optionalQuantifier&&!tst.match.optionalQuantifier)&&(closest=distance,bestMatch=tst)}return bestMatch}function getTest(pos,tests){var inputmask=this,maskset=this.maskset;return maskset.validPositions[pos]?maskset.validPositions[pos]:(tests||getTests.call(this,pos))[0]}function getTests(pos,ndxIntlzr,tstPs){var inputmask=this,$=this.dependencyLib,maskset=this.maskset,opts=this.opts,el=this.el,maskTokens=maskset.maskToken,testPos=ndxIntlzr?tstPs:0,ndxInitializer=ndxIntlzr?ndxIntlzr.slice():[0],matches=[],insertStop=!1,latestMatch,cacheDependency=ndxIntlzr?ndxIntlzr.join(""):"";function resolveTestFromToken(maskToken,ndxInitializer,loopNdx,quantifierRecurse){function handleMatch(match,loopNdx,quantifierRecurse){function isFirstMatch(latestMatch,tokenGroup){var firstMatch=0===tokenGroup.matches.indexOf(latestMatch);return firstMatch||tokenGroup.matches.every(function(match,ndx){return!0===match.isQuantifier?firstMatch=isFirstMatch(latestMatch,tokenGroup.matches[ndx-1]):Object.prototype.hasOwnProperty.call(match,"matches")&&(firstMatch=isFirstMatch(latestMatch,match)),!firstMatch}),firstMatch}function resolveNdxInitializer(pos,alternateNdx,targetAlternation){var bestMatch,indexPos;if((maskset.tests[pos]||maskset.validPositions[pos])&&(maskset.tests[pos]||[maskset.validPositions[pos]]).every(function(lmnt,ndx){if(lmnt.mloc[alternateNdx])return bestMatch=lmnt,!1;var alternation=void 0!==targetAlternation?targetAlternation:lmnt.alternation,ndxPos=void 0!==lmnt.locator[alternation]?lmnt.locator[alternation].toString().indexOf(alternateNdx):-1;return(void 0===indexPos||ndxPos<indexPos)&&-1!==ndxPos&&(bestMatch=lmnt,indexPos=ndxPos),!0}),bestMatch){var bestMatchAltIndex=bestMatch.locator[bestMatch.alternation],locator=bestMatch.mloc[alternateNdx]||bestMatch.mloc[bestMatchAltIndex]||bestMatch.locator;return locator.slice((void 0!==targetAlternation?targetAlternation:bestMatch.alternation)+1)}return void 0!==targetAlternation?resolveNdxInitializer(pos,alternateNdx):void 0}function isSubsetOf(source,target){function expand(pattern){for(var expanded=[],start=-1,end,i=0,l=pattern.length;i<l;i++)if("-"===pattern.charAt(i))for(end=pattern.charCodeAt(i+1);++start<end;)expanded.push(String.fromCharCode(start));else start=pattern.charCodeAt(i),expanded.push(pattern.charAt(i));return expanded.join("")}return source.match.def===target.match.nativeDef||!(!(opts.regex||source.match.fn instanceof RegExp&&target.match.fn instanceof RegExp)||!0===source.match.static||!0===target.match.static)&&-1!==expand(target.match.fn.toString().replace(/[[\]/]/g,"")).indexOf(expand(source.match.fn.toString().replace(/[[\]/]/g,"")))}function staticCanMatchDefinition(source,target){return!0===source.match.static&&!0!==target.match.static&&target.match.fn.test(source.match.def,maskset,pos,!1,opts,!1)}function setMergeLocators(targetMatch,altMatch){var alternationNdx=targetMatch.alternation,shouldMerge=void 0===altMatch||alternationNdx===altMatch.alternation&&-1===targetMatch.locator[alternationNdx].toString().indexOf(altMatch.locator[alternationNdx]);if(!shouldMerge&&alternationNdx>altMatch.alternation)for(var i=altMatch.alternation;i<alternationNdx;i++)if(targetMatch.locator[i]!==altMatch.locator[i]){alternationNdx=i,shouldMerge=!0;break}if(shouldMerge){targetMatch.mloc=targetMatch.mloc||{};var locNdx=targetMatch.locator[alternationNdx];if(void 0!==locNdx){if("string"==typeof locNdx&&(locNdx=locNdx.split(",")[0]),void 0===targetMatch.mloc[locNdx]&&(targetMatch.mloc[locNdx]=targetMatch.locator.slice()),void 0!==altMatch){for(var ndx in altMatch.mloc)"string"==typeof ndx&&(ndx=ndx.split(",")[0]),void 0===targetMatch.mloc[ndx]&&(targetMatch.mloc[ndx]=altMatch.mloc[ndx]);targetMatch.locator[alternationNdx]=Object.keys(targetMatch.mloc).join(",")}return!0}targetMatch.alternation=void 0}return!1}function isSameLevel(targetMatch,altMatch){if(targetMatch.locator.length!==altMatch.locator.length)return!1;for(var locNdx=targetMatch.alternation+1;locNdx<targetMatch.locator.length;locNdx++)if(targetMatch.locator[locNdx]!==altMatch.locator[locNdx])return!1;return!0}if(testPos>pos+opts._maxTestPos)throw"Inputmask: There is probably an error in your mask definition or in the code. Create an issue on github with an example of the mask you are using. "+maskset.mask;if(testPos===pos&&void 0===match.matches)return matches.push({match:match,locator:loopNdx.reverse(),cd:cacheDependency,mloc:{}}),!0;if(void 0!==match.matches){if(match.isGroup&&quantifierRecurse!==match){if(match=handleMatch(maskToken.matches[maskToken.matches.indexOf(match)+1],loopNdx,quantifierRecurse),match)return!0}else if(match.isOptional){var optionalToken=match,mtchsNdx=matches.length;if(match=resolveTestFromToken(match,ndxInitializer,loopNdx,quantifierRecurse),match){if(matches.forEach(function(mtch,ndx){mtchsNdx<=ndx&&(mtch.match.optionality=!0)}),latestMatch=matches[matches.length-1].match,void 0!==quantifierRecurse||!isFirstMatch(latestMatch,optionalToken))return!0;insertStop=!0,testPos=pos}}else if(match.isAlternator){var alternateToken=match,malternateMatches=[],maltMatches,currentMatches=matches.slice(),loopNdxCnt=loopNdx.length,altIndex=0<ndxInitializer.length?ndxInitializer.shift():-1;if(-1===altIndex||"string"==typeof altIndex){var currentPos=testPos,ndxInitializerClone=ndxInitializer.slice(),altIndexArr=[],amndx;if("string"==typeof altIndex)altIndexArr=altIndex.split(",");else for(amndx=0;amndx<alternateToken.matches.length;amndx++)altIndexArr.push(amndx.toString());if(void 0!==maskset.excludes[pos]){for(var altIndexArrClone=altIndexArr.slice(),i=0,exl=maskset.excludes[pos].length;i<exl;i++){var excludeSet=maskset.excludes[pos][i].toString().split(":");loopNdx.length==excludeSet[1]&&altIndexArr.splice(altIndexArr.indexOf(excludeSet[0]),1)}0===altIndexArr.length&&(delete maskset.excludes[pos],altIndexArr=altIndexArrClone)}(!0===opts.keepStatic||isFinite(parseInt(opts.keepStatic))&&currentPos>=opts.keepStatic)&&(altIndexArr=altIndexArr.slice(0,1));for(var unMatchedAlternation=!1,ndx=0;ndx<altIndexArr.length;ndx++){amndx=parseInt(altIndexArr[ndx]),matches=[],ndxInitializer="string"==typeof altIndex&&resolveNdxInitializer(testPos,amndx,loopNdxCnt)||ndxInitializerClone.slice(),alternateToken.matches[amndx]&&handleMatch(alternateToken.matches[amndx],[amndx].concat(loopNdx),quantifierRecurse)?match=!0:0===ndx&&(unMatchedAlternation=!0),maltMatches=matches.slice(),testPos=currentPos,matches=[];for(var ndx1=0;ndx1<maltMatches.length;ndx1++){var altMatch=maltMatches[ndx1],dropMatch=!1;altMatch.match.jit=altMatch.match.jit||unMatchedAlternation,altMatch.alternation=altMatch.alternation||loopNdxCnt,setMergeLocators(altMatch);for(var ndx2=0;ndx2<malternateMatches.length;ndx2++){var altMatch2=malternateMatches[ndx2];if("string"!=typeof altIndex||void 0!==altMatch.alternation&&altIndexArr.includes(altMatch.locator[altMatch.alternation].toString())){if(altMatch.match.nativeDef===altMatch2.match.nativeDef){dropMatch=!0,setMergeLocators(altMatch2,altMatch);break}if(isSubsetOf(altMatch,altMatch2)){setMergeLocators(altMatch,altMatch2)&&(dropMatch=!0,malternateMatches.splice(malternateMatches.indexOf(altMatch2),0,altMatch));break}if(isSubsetOf(altMatch2,altMatch)){setMergeLocators(altMatch2,altMatch);break}if(staticCanMatchDefinition(altMatch,altMatch2)){isSameLevel(altMatch,altMatch2)||void 0!==el.inputmask.userOptions.keepStatic?setMergeLocators(altMatch,altMatch2)&&(dropMatch=!0,malternateMatches.splice(malternateMatches.indexOf(altMatch2),0,altMatch)):opts.keepStatic=!0;break}}}dropMatch||malternateMatches.push(altMatch)}}matches=currentMatches.concat(malternateMatches),testPos=pos,insertStop=0<matches.length,match=0<malternateMatches.length,ndxInitializer=ndxInitializerClone.slice()}else match=handleMatch(alternateToken.matches[altIndex]||maskToken.matches[altIndex],[altIndex].concat(loopNdx),quantifierRecurse);if(match)return!0}else if(match.isQuantifier&&quantifierRecurse!==maskToken.matches[maskToken.matches.indexOf(match)-1])for(var qt=match,qndx=0<ndxInitializer.length?ndxInitializer.shift():0;qndx<(isNaN(qt.quantifier.max)?qndx+1:qt.quantifier.max)&&testPos<=pos;qndx++){var tokenGroup=maskToken.matches[maskToken.matches.indexOf(qt)-1];if(match=handleMatch(tokenGroup,[qndx].concat(loopNdx),tokenGroup),match){if(latestMatch=matches[matches.length-1].match,latestMatch.optionalQuantifier=qndx>=qt.quantifier.min,latestMatch.jit=(qndx||1)*tokenGroup.matches.indexOf(latestMatch)>=qt.quantifier.jit,latestMatch.optionalQuantifier&&isFirstMatch(latestMatch,tokenGroup)){insertStop=!0,testPos=pos;break}return latestMatch.jit&&(maskset.jitOffset[pos]=tokenGroup.matches.length-tokenGroup.matches.indexOf(latestMatch)),!0}}else if(match=resolveTestFromToken(match,ndxInitializer,loopNdx,quantifierRecurse),match)return!0}else testPos++}for(var tndx=0<ndxInitializer.length?ndxInitializer.shift():0;tndx<maskToken.matches.length;tndx++)if(!0!==maskToken.matches[tndx].isQuantifier){var match=handleMatch(maskToken.matches[tndx],[tndx].concat(loopNdx),quantifierRecurse);if(match&&testPos===pos)return match;if(pos<testPos)break}}function mergeLocators(pos,tests){var locator=[],alternation;return Array.isArray(tests)||(tests=[tests]),0<tests.length&&(void 0===tests[0].alternation||!0===opts.keepStatic?(locator=determineTestTemplate.call(inputmask,pos,tests.slice()).locator.slice(),0===locator.length&&(locator=tests[0].locator.slice())):tests.forEach(function(tst){""!==tst.def&&(0===locator.length?(alternation=tst.alternation,locator=tst.locator.slice()):tst.locator[alternation]&&-1===locator[alternation].toString().indexOf(tst.locator[alternation])&&(locator[alternation]+=","+tst.locator[alternation]))})),locator}if(-1<pos&&(void 0===inputmask.maxLength||pos<inputmask.maxLength)){if(void 0===ndxIntlzr){for(var previousPos=pos-1,test;void 0===(test=maskset.validPositions[previousPos]||maskset.tests[previousPos])&&-1<previousPos;)previousPos--;void 0!==test&&-1<previousPos&&(ndxInitializer=mergeLocators(previousPos,test),cacheDependency=ndxInitializer.join(""),testPos=previousPos)}if(maskset.tests[pos]&&maskset.tests[pos][0].cd===cacheDependency)return maskset.tests[pos];for(var mtndx=ndxInitializer.shift();mtndx<maskTokens.length;mtndx++){var match=resolveTestFromToken(maskTokens[mtndx],ndxInitializer,[mtndx]);if(match&&testPos===pos||pos<testPos)break}}return 0!==matches.length&&!insertStop||matches.push({match:{fn:null,static:!0,optionality:!1,casing:null,def:"",placeholder:""},locator:[],mloc:{},cd:cacheDependency}),void 0!==ndxIntlzr&&maskset.tests[pos]?$.extend(!0,[],matches):(maskset.tests[pos]=$.extend(!0,[],matches),maskset.tests[pos])}Object.defineProperty(exports,"__esModule",{value:!0}),exports.determineTestTemplate=determineTestTemplate,exports.getDecisionTaker=getDecisionTaker,exports.getMaskTemplate=getMaskTemplate,exports.getPlaceholder=getPlaceholder,exports.getTest=getTest,exports.getTests=getTests,exports.getTestTemplate=getTestTemplate},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.alternate=alternate,exports.checkAlternationMatch=checkAlternationMatch,exports.isComplete=isComplete,exports.isValid=isValid,exports.refreshFromBuffer=refreshFromBuffer,exports.revalidateMask=revalidateMask,exports.handleRemove=handleRemove;var _validationTests=__webpack_require__(3),_keycode=_interopRequireDefault(__webpack_require__(0)),_positioning=__webpack_require__(2),_eventhandlers=__webpack_require__(6);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function alternate(maskPos,c,strict,fromIsValid,rAltPos,selection){var inputmask=this,$=this.dependencyLib,opts=this.opts,maskset=this.maskset,validPsClone=$.extend(!0,{},maskset.validPositions),tstClone=$.extend(!0,{},maskset.tests),lastAlt,alternation,isValidRslt=!1,returnRslt=!1,altPos,prevAltPos,i,validPos,decisionPos,lAltPos=void 0!==rAltPos?rAltPos:_positioning.getLastValidPosition.call(this),nextPos,input,begin,end;if(selection&&(begin=selection.begin,end=selection.end,selection.begin>selection.end&&(begin=selection.end,end=selection.begin)),-1===lAltPos&&void 0===rAltPos)lastAlt=0,prevAltPos=_validationTests.getTest.call(this,lastAlt),alternation=prevAltPos.alternation;else for(;0<=lAltPos;lAltPos--)if(altPos=maskset.validPositions[lAltPos],altPos&&void 0!==altPos.alternation){if(prevAltPos&&prevAltPos.locator[altPos.alternation]!==altPos.locator[altPos.alternation])break;lastAlt=lAltPos,alternation=maskset.validPositions[lastAlt].alternation,prevAltPos=altPos}if(void 0!==alternation){decisionPos=parseInt(lastAlt),maskset.excludes[decisionPos]=maskset.excludes[decisionPos]||[],!0!==maskPos&&maskset.excludes[decisionPos].push((0,_validationTests.getDecisionTaker)(prevAltPos)+":"+prevAltPos.alternation);var validInputs=[],resultPos=-1;for(i=decisionPos;i<_positioning.getLastValidPosition.call(this,void 0,!0)+1;i++)-1===resultPos&&maskPos<=i&&void 0!==c&&(validInputs.push(c),resultPos=validInputs.length-1),validPos=maskset.validPositions[i],validPos&&!0!==validPos.generatedInput&&(void 0===selection||i<begin||end<=i)&&validInputs.push(validPos.input),delete maskset.validPositions[i];for(-1===resultPos&&void 0!==c&&(validInputs.push(c),resultPos=validInputs.length-1);void 0!==maskset.excludes[decisionPos]&&maskset.excludes[decisionPos].length<10;){for(maskset.tests={},_positioning.resetMaskSet.call(this,!0),isValidRslt=!0,i=0;i<validInputs.length&&(nextPos=isValidRslt.caret||_positioning.getLastValidPosition.call(this,void 0,!0)+1,input=validInputs[i],isValidRslt=isValid.call(this,nextPos,input,!1,fromIsValid,!0));i++)i===resultPos&&(returnRslt=isValidRslt),1==maskPos&&isValidRslt&&(returnRslt={caretPos:i});if(isValidRslt)break;if(_positioning.resetMaskSet.call(this),prevAltPos=_validationTests.getTest.call(this,decisionPos),maskset.validPositions=$.extend(!0,{},validPsClone),maskset.tests=$.extend(!0,{},tstClone),!maskset.excludes[decisionPos]){returnRslt=alternate.call(this,maskPos,c,strict,fromIsValid,decisionPos-1,selection);break}var decisionTaker=(0,_validationTests.getDecisionTaker)(prevAltPos);if(-1!==maskset.excludes[decisionPos].indexOf(decisionTaker+":"+prevAltPos.alternation)){returnRslt=alternate.call(this,maskPos,c,strict,fromIsValid,decisionPos-1,selection);break}for(maskset.excludes[decisionPos].push(decisionTaker+":"+prevAltPos.alternation),i=decisionPos;i<_positioning.getLastValidPosition.call(this,void 0,!0)+1;i++)delete maskset.validPositions[i]}}return returnRslt&&!1===opts.keepStatic||delete maskset.excludes[decisionPos],returnRslt}function casing(elem,test,pos){var opts=this.opts,maskset=this.maskset;switch(opts.casing||test.casing){case"upper":elem=elem.toUpperCase();break;case"lower":elem=elem.toLowerCase();break;case"title":var posBefore=maskset.validPositions[pos-1];elem=0===pos||posBefore&&posBefore.input===String.fromCharCode(_keycode.default.SPACE)?elem.toUpperCase():elem.toLowerCase();break;default:if("function"==typeof opts.casing){var args=Array.prototype.slice.call(arguments);args.push(maskset.validPositions),elem=opts.casing.apply(this,args)}}return elem}function checkAlternationMatch(altArr1,altArr2,na){for(var opts=this.opts,altArrC=opts.greedy?altArr2:altArr2.slice(0,1),isMatch=!1,naArr=void 0!==na?na.split(","):[],naNdx,i=0;i<naArr.length;i++)-1!==(naNdx=altArr1.indexOf(naArr[i]))&&altArr1.splice(naNdx,1);for(var alndx=0;alndx<altArr1.length;alndx++)if(altArrC.includes(altArr1[alndx])){isMatch=!0;break}return isMatch}function handleRemove(input,k,pos,strict,fromIsValid){var inputmask=this,maskset=this.maskset,opts=this.opts;if((opts.numericInput||this.isRTL)&&(k===_keycode.default.BACKSPACE?k=_keycode.default.DELETE:k===_keycode.default.DELETE&&(k=_keycode.default.BACKSPACE),this.isRTL)){var pend=pos.end;pos.end=pos.begin,pos.begin=pend}var lvp=_positioning.getLastValidPosition.call(this,void 0,!0),offset;if(pos.end>=_positioning.getBuffer.call(this).length&&lvp>=pos.end&&(pos.end=lvp+1),k===_keycode.default.BACKSPACE?pos.end-pos.begin<1&&(pos.begin=_positioning.seekPrevious.call(this,pos.begin)):k===_keycode.default.DELETE&&pos.begin===pos.end&&(pos.end=_positioning.isMask.call(this,pos.end,!0,!0)?pos.end+1:_positioning.seekNext.call(this,pos.end)+1),!1!==(offset=revalidateMask.call(this,pos))){if(!0!==strict&&!1!==opts.keepStatic||null!==opts.regex&&-1!==_validationTests.getTest.call(this,pos.begin).match.def.indexOf("|")){var result=alternate.call(this,!0);if(result){var newPos=void 0!==result.caret?result.caret:result.pos?_positioning.seekNext.call(this,result.pos.begin?result.pos.begin:result.pos):_positioning.getLastValidPosition.call(this,-1,!0);(k!==_keycode.default.DELETE||pos.begin>newPos)&&pos.begin}}!0!==strict&&(maskset.p=k===_keycode.default.DELETE?pos.begin+offset:pos.begin)}}function isComplete(buffer){var inputmask=this,opts=this.opts,maskset=this.maskset;if("function"==typeof opts.isComplete)return opts.isComplete(buffer,opts);if("*"!==opts.repeat){var complete=!1,lrp=_positioning.determineLastRequiredPosition.call(this,!0),aml=_positioning.seekPrevious.call(this,lrp.l);if(void 0===lrp.def||lrp.def.newBlockMarker||lrp.def.optionality||lrp.def.optionalQuantifier){complete=!0;for(var i=0;i<=aml;i++){var test=_validationTests.getTestTemplate.call(this,i).match;if(!0!==test.static&&void 0===maskset.validPositions[i]&&!0!==test.optionality&&!0!==test.optionalQuantifier||!0===test.static&&buffer[i]!==_validationTests.getPlaceholder.call(this,i,test)){complete=!1;break}}}return complete}}function isValid(pos,c,strict,fromIsValid,fromAlternate,validateOnly,fromCheckval){var inputmask=this,$=this.dependencyLib,opts=this.opts,el=inputmask.el,maskset=inputmask.maskset;function isSelection(posObj){return inputmask.isRTL?1<posObj.begin-posObj.end||posObj.begin-posObj.end==1:1<posObj.end-posObj.begin||posObj.end-posObj.begin==1}strict=!0===strict;var maskPos=pos;function processCommandObject(commandObj){if(void 0!==commandObj){if(void 0!==commandObj.remove&&(Array.isArray(commandObj.remove)||(commandObj.remove=[commandObj.remove]),commandObj.remove.sort(function(a,b){return b.pos-a.pos}).forEach(function(lmnt){revalidateMask.call(inputmask,{begin:lmnt,end:lmnt+1})}),commandObj.remove=void 0),void 0!==commandObj.insert&&(Array.isArray(commandObj.insert)||(commandObj.insert=[commandObj.insert]),commandObj.insert.sort(function(a,b){return a.pos-b.pos}).forEach(function(lmnt){""!==lmnt.c&&isValid.call(inputmask,lmnt.pos,lmnt.c,void 0===lmnt.strict||lmnt.strict,void 0!==lmnt.fromIsValid?lmnt.fromIsValid:fromIsValid)}),commandObj.insert=void 0),commandObj.refreshFromBuffer&&commandObj.buffer){var refresh=commandObj.refreshFromBuffer;refreshFromBuffer.call(inputmask,!0===refresh?refresh:refresh.start,refresh.end,commandObj.buffer),commandObj.refreshFromBuffer=void 0}void 0!==commandObj.rewritePosition&&(maskPos=commandObj.rewritePosition,commandObj=!0)}return commandObj}function _isValid(position,c,strict){var rslt=!1;return _validationTests.getTests.call(inputmask,position).every(function(tst,ndx){var test=tst.match;if(_positioning.getBuffer.call(inputmask,!0),rslt=null!=test.fn?test.fn.test(c,maskset,position,strict,opts,isSelection(pos)):(c===test.def||c===opts.skipOptionalPartCharacter)&&""!==test.def&&{c:_validationTests.getPlaceholder.call(inputmask,position,test,!0)||test.def,pos:position},!1===rslt)return!0;var elem=void 0!==rslt.c?rslt.c:c,validatedPos=position;return elem=elem===opts.skipOptionalPartCharacter&&!0===test.static?_validationTests.getPlaceholder.call(inputmask,position,test,!0)||test.def:elem,rslt=processCommandObject(rslt),!0!==rslt&&void 0!==rslt.pos&&rslt.pos!==position&&(validatedPos=rslt.pos),!0!==rslt&&void 0===rslt.pos&&void 0===rslt.c||!1===revalidateMask.call(inputmask,pos,$.extend({},tst,{input:casing.call(inputmask,elem,test,validatedPos)}),fromIsValid,validatedPos)&&(rslt=!1),!1}),rslt}void 0!==pos.begin&&(maskPos=inputmask.isRTL?pos.end:pos.begin);var result=!0,positionsClone=$.extend(!0,{},maskset.validPositions);if(!1===opts.keepStatic&&void 0!==maskset.excludes[maskPos]&&!0!==fromAlternate&&!0!==fromIsValid)for(var i=maskPos;i<(inputmask.isRTL?pos.begin:pos.end);i++)void 0!==maskset.excludes[i]&&(maskset.excludes[i]=void 0,delete maskset.tests[i]);if("function"==typeof opts.preValidation&&!0!==fromIsValid&&!0!==validateOnly&&(result=opts.preValidation.call(inputmask,_positioning.getBuffer.call(inputmask),maskPos,c,isSelection(pos),opts,maskset,pos,strict||fromAlternate),result=processCommandObject(result)),!0===result){if(void 0===inputmask.maxLength||maskPos<inputmask.maxLength){if(result=_isValid(maskPos,c,strict),(!strict||!0===fromIsValid)&&!1===result&&!0!==validateOnly){var currentPosValid=maskset.validPositions[maskPos];if(!currentPosValid||!0!==currentPosValid.match.static||currentPosValid.match.def!==c&&c!==opts.skipOptionalPartCharacter){if(opts.insertMode||void 0===maskset.validPositions[_positioning.seekNext.call(inputmask,maskPos)]||pos.end>maskPos){var skip=!1;if(maskset.jitOffset[maskPos]&&void 0===maskset.validPositions[_positioning.seekNext.call(inputmask,maskPos)]&&(result=isValid.call(inputmask,maskPos+maskset.jitOffset[maskPos],c,!0),!1!==result&&(!0!==fromAlternate&&(result.caret=maskPos),skip=!0)),pos.end>maskPos&&(maskset.validPositions[maskPos]=void 0),!skip&&!_positioning.isMask.call(inputmask,maskPos,opts.keepStatic&&0===maskPos))for(var nPos=maskPos+1,snPos=_positioning.seekNext.call(inputmask,maskPos,!1,0!==maskPos);nPos<=snPos;nPos++)if(result=_isValid(nPos,c,strict),!1!==result){result=trackbackPositions.call(inputmask,maskPos,void 0!==result.pos?result.pos:nPos)||result,maskPos=nPos;break}}}else result={caret:_positioning.seekNext.call(inputmask,maskPos)}}}else result=!1;!1!==result||!opts.keepStatic||!isComplete.call(inputmask,_positioning.getBuffer.call(inputmask))&&0!==maskPos||strict||!0===fromAlternate?isSelection(pos)&&maskset.tests[maskPos]&&1<maskset.tests[maskPos].length&&opts.keepStatic&&!strict&&!0!==fromAlternate&&(result=alternate.call(inputmask,!0)):result=alternate.call(inputmask,maskPos,c,strict,fromIsValid,void 0,pos),!0===result&&(result={pos:maskPos})}if("function"==typeof opts.postValidation&&!0!==fromIsValid&&!0!==validateOnly){var postResult=opts.postValidation.call(inputmask,_positioning.getBuffer.call(inputmask,!0),void 0!==pos.begin?inputmask.isRTL?pos.end:pos.begin:pos,c,result,opts,maskset,strict,fromCheckval);void 0!==postResult&&(result=!0===postResult?result:postResult)}result&&void 0===result.pos&&(result.pos=maskPos),!1===result||!0===validateOnly?(_positioning.resetMaskSet.call(inputmask,!0),maskset.validPositions=$.extend(!0,{},positionsClone)):trackbackPositions.call(inputmask,void 0,maskPos,!0);var endResult=processCommandObject(result);return endResult}function positionCanMatchDefinition(pos,testDefinition,opts){for(var inputmask=this,maskset=this.maskset,valid=!1,tests=_validationTests.getTests.call(this,pos),tndx=0;tndx<tests.length;tndx++){if(tests[tndx].match&&(!(tests[tndx].match.nativeDef!==testDefinition.match[opts.shiftPositions?"def":"nativeDef"]||opts.shiftPositions&&testDefinition.match.static)||tests[tndx].match.nativeDef===testDefinition.match.nativeDef)){valid=!0;break}if(tests[tndx].match&&tests[tndx].match.def===testDefinition.match.nativeDef){valid=void 0;break}}return!1===valid&&void 0!==maskset.jitOffset[pos]&&(valid=positionCanMatchDefinition.call(this,pos+maskset.jitOffset[pos],testDefinition,opts)),valid}function refreshFromBuffer(start,end,buffer){var inputmask=this,maskset=this.maskset,opts=this.opts,$=this.dependencyLib,el=this.el,i,p,skipOptionalPartCharacter=opts.skipOptionalPartCharacter,bffr=this.isRTL?buffer.slice().reverse():buffer;if(opts.skipOptionalPartCharacter="",!0===start)_positioning.resetMaskSet.call(this),maskset.tests={},start=0,end=buffer.length,p=_positioning.determineNewCaretPosition.call(this,{begin:0,end:0},!1).begin;else{for(i=start;i<end;i++)delete maskset.validPositions[i];p=start}var keypress=new $.Event("keypress");for(i=start;i<end;i++){keypress.which=bffr[i].toString().charCodeAt(0),this.ignorable=!1;var valResult=_eventhandlers.EventHandlers.keypressEvent.call(el,keypress,!0,!1,!1,p);!1!==valResult&&(p=valResult.forwardPosition)}opts.skipOptionalPartCharacter=skipOptionalPartCharacter}function trackbackPositions(originalPos,newPos,fillOnly){var inputmask=this,maskset=this.maskset,$=this.dependencyLib;if(void 0===originalPos)for(originalPos=newPos-1;0<originalPos&&!maskset.validPositions[originalPos];originalPos--);for(var ps=originalPos;ps<newPos;ps++)if(void 0===maskset.validPositions[ps]&&!_positioning.isMask.call(this,ps,!0)){var vp=0==ps?_validationTests.getTest.call(this,ps):maskset.validPositions[ps-1];if(vp){var tests=_validationTests.getTests.call(this,ps).slice();""===tests[tests.length-1].match.def&&tests.pop();var bestMatch=_validationTests.determineTestTemplate.call(this,ps,tests),np;if(bestMatch&&(!0!==bestMatch.match.jit||"master"===bestMatch.match.newBlockMarker&&(np=maskset.validPositions[ps+1])&&!0===np.match.optionalQuantifier)&&(bestMatch=$.extend({},bestMatch,{input:_validationTests.getPlaceholder.call(this,ps,bestMatch.match,!0)||bestMatch.match.def}),bestMatch.generatedInput=!0,revalidateMask.call(this,ps,bestMatch,!0),!0!==fillOnly)){var cvpInput=maskset.validPositions[newPos].input;return maskset.validPositions[newPos]=void 0,isValid.call(this,newPos,cvpInput,!0,!0)}}}}function revalidateMask(pos,validTest,fromIsValid,validatedPos){var inputmask=this,maskset=this.maskset,opts=this.opts,$=this.dependencyLib;function IsEnclosedStatic(pos,valids,selection){var posMatch=valids[pos];if(void 0===posMatch||!0!==posMatch.match.static||!0===posMatch.match.optionality||void 0!==valids[0]&&void 0!==valids[0].alternation)return!1;var prevMatch=selection.begin<=pos-1?valids[pos-1]&&!0===valids[pos-1].match.static&&valids[pos-1]:valids[pos-1],nextMatch=selection.end>pos+1?valids[pos+1]&&!0===valids[pos+1].match.static&&valids[pos+1]:valids[pos+1];return prevMatch&&nextMatch}var offset=0,begin=void 0!==pos.begin?pos.begin:pos,end=void 0!==pos.end?pos.end:pos;if(pos.begin>pos.end&&(begin=pos.end,end=pos.begin),validatedPos=void 0!==validatedPos?validatedPos:begin,begin!==end||opts.insertMode&&void 0!==maskset.validPositions[validatedPos]&&void 0===fromIsValid||void 0===validTest){var positionsClone=$.extend(!0,{},maskset.validPositions),lvp=_positioning.getLastValidPosition.call(this,void 0,!0),i;for(maskset.p=begin,i=lvp;begin<=i;i--)delete maskset.validPositions[i],void 0===validTest&&delete maskset.tests[i+1];var valid=!0,j=validatedPos,posMatch=j,t,canMatch;for(validTest&&(maskset.validPositions[validatedPos]=$.extend(!0,{},validTest),posMatch++,j++),i=validTest?end:end-1;i<=lvp;i++){if(void 0!==(t=positionsClone[i])&&!0!==t.generatedInput&&(end<=i||begin<=i&&IsEnclosedStatic(i,positionsClone,{begin:begin,end:end}))){for(;""!==_validationTests.getTest.call(this,posMatch).match.def;){if(!1!==(canMatch=positionCanMatchDefinition.call(this,posMatch,t,opts))||"+"===t.match.def){"+"===t.match.def&&_positioning.getBuffer.call(this,!0);var result=isValid.call(this,posMatch,t.input,"+"!==t.match.def,"+"!==t.match.def);if(valid=!1!==result,j=(result.pos||posMatch)+1,!valid&&canMatch)break}else valid=!1;if(valid){void 0===validTest&&t.match.static&&i===pos.begin&&offset++;break}if(!valid&&posMatch>maskset.maskLength)break;posMatch++}""==_validationTests.getTest.call(this,posMatch).match.def&&(valid=!1),posMatch=j}if(!valid)break}if(!valid)return maskset.validPositions=$.extend(!0,{},positionsClone),_positioning.resetMaskSet.call(this,!0),!1}else validTest&&_validationTests.getTest.call(this,validatedPos).match.cd===validTest.match.cd&&(maskset.validPositions[validatedPos]=$.extend(!0,{},validTest));return _positioning.resetMaskSet.call(this,!0),offset}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.applyInputValue=applyInputValue,exports.clearOptionalTail=clearOptionalTail,exports.checkVal=checkVal,exports.HandleNativePlaceholder=HandleNativePlaceholder,exports.unmaskedvalue=unmaskedvalue,exports.writeBuffer=writeBuffer;var _keycode=_interopRequireDefault(__webpack_require__(0)),_validationTests=__webpack_require__(3),_positioning=__webpack_require__(2),_validation=__webpack_require__(4),_environment=__webpack_require__(7),_eventhandlers=__webpack_require__(6);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function applyInputValue(input,value){var inputmask=input?input.inputmask:this,opts=inputmask.opts;input.inputmask.refreshValue=!1,"function"==typeof opts.onBeforeMask&&(value=opts.onBeforeMask.call(inputmask,value,opts)||value),value=value.toString().split(""),checkVal(input,!0,!1,value),inputmask.undoValue=_positioning.getBuffer.call(inputmask).join(""),(opts.clearMaskOnLostFocus||opts.clearIncomplete)&&input.inputmask._valueGet()===_positioning.getBufferTemplate.call(inputmask).join("")&&-1===_positioning.getLastValidPosition.call(inputmask)&&input.inputmask._valueSet("")}function clearOptionalTail(buffer){var inputmask=this;buffer.length=0;for(var template=_validationTests.getMaskTemplate.call(this,!0,0,!0,void 0,!0),lmnt;void 0!==(lmnt=template.shift());)buffer.push(lmnt);return buffer}function checkVal(input,writeOut,strict,nptvl,initiatingEvent){var inputmask=input?input.inputmask:this,maskset=inputmask.maskset,opts=inputmask.opts,$=inputmask.dependencyLib,inputValue=nptvl.slice(),charCodes="",initialNdx=-1,result=void 0,skipOptionalPartCharacter=opts.skipOptionalPartCharacter;function isTemplateMatch(ndx,charCodes){for(var targetTemplate=_validationTests.getMaskTemplate.call(inputmask,!0,0).slice(ndx,_positioning.seekNext.call(inputmask,ndx,!1,!1)).join("").replace(/'/g,""),charCodeNdx=targetTemplate.indexOf(charCodes);0<charCodeNdx&&" "===targetTemplate[charCodeNdx-1];)charCodeNdx--;var match=0===charCodeNdx&&!_positioning.isMask.call(inputmask,ndx)&&(_validationTests.getTest.call(inputmask,ndx).match.nativeDef===charCodes.charAt(0)||!0===_validationTests.getTest.call(inputmask,ndx).match.static&&_validationTests.getTest.call(inputmask,ndx).match.nativeDef==="'"+charCodes.charAt(0)||" "===_validationTests.getTest.call(inputmask,ndx).match.nativeDef&&(_validationTests.getTest.call(inputmask,ndx+1).match.nativeDef===charCodes.charAt(0)||!0===_validationTests.getTest.call(inputmask,ndx+1).match.static&&_validationTests.getTest.call(inputmask,ndx+1).match.nativeDef==="'"+charCodes.charAt(0)));if(!match&&0<charCodeNdx&&!_positioning.isMask.call(inputmask,ndx,!1,!0)){var nextPos=_positioning.seekNext.call(inputmask,ndx);inputmask.caretPos.begin<nextPos&&(inputmask.caretPos={begin:nextPos})}return match}opts.skipOptionalPartCharacter="",_positioning.resetMaskSet.call(inputmask),maskset.tests={},initialNdx=opts.radixPoint?_positioning.determineNewCaretPosition.call(inputmask,{begin:0,end:0}).begin:0,maskset.p=initialNdx,inputmask.caretPos={begin:initialNdx};var staticMatches=[],prevCaretPos=inputmask.caretPos;if(inputValue.forEach(function(charCode,ndx){if(void 0!==charCode)if(void 0===maskset.validPositions[ndx]&&inputValue[ndx]===_validationTests.getPlaceholder.call(inputmask,ndx)&&_positioning.isMask.call(inputmask,ndx,!0)&&!1===_validation.isValid.call(inputmask,ndx,inputValue[ndx],!0,void 0,void 0,!0))maskset.p++;else{var keypress=new $.Event("_checkval");keypress.which=charCode.toString().charCodeAt(0),charCodes+=charCode;var lvp=_positioning.getLastValidPosition.call(inputmask,void 0,!0);isTemplateMatch(initialNdx,charCodes)?result=_eventhandlers.EventHandlers.keypressEvent.call(inputmask,keypress,!0,!1,strict,lvp+1):(result=_eventhandlers.EventHandlers.keypressEvent.call(inputmask,keypress,!0,!1,strict,inputmask.caretPos.begin),result&&(initialNdx=inputmask.caretPos.begin+1,charCodes="")),result?(void 0!==result.pos&&maskset.validPositions[result.pos]&&!0===maskset.validPositions[result.pos].match.static&&void 0===maskset.validPositions[result.pos].alternation&&(staticMatches.push(result.pos),inputmask.isRTL||(result.forwardPosition=result.pos+1)),writeBuffer.call(inputmask,void 0,_positioning.getBuffer.call(inputmask),result.forwardPosition,keypress,!1),inputmask.caretPos={begin:result.forwardPosition,end:result.forwardPosition},prevCaretPos=inputmask.caretPos):inputmask.caretPos=prevCaretPos}}),0<staticMatches.length){var sndx,validPos,nextValid=_positioning.seekNext.call(inputmask,-1,void 0,!1);if(!_validation.isComplete.call(inputmask,_positioning.getBuffer.call(inputmask))&&staticMatches.length<=nextValid||_validation.isComplete.call(inputmask,_positioning.getBuffer.call(inputmask))&&0<staticMatches.length&&staticMatches.length!==nextValid&&0===staticMatches[0])for(var nextSndx=nextValid;void 0!==(sndx=staticMatches.shift());){var keypress=new $.Event("_checkval");if(validPos=maskset.validPositions[sndx],validPos.generatedInput=!0,keypress.which=validPos.input.charCodeAt(0),result=_eventhandlers.EventHandlers.keypressEvent.call(inputmask,keypress,!0,!1,strict,nextSndx),result&&void 0!==result.pos&&result.pos!==sndx&&maskset.validPositions[result.pos]&&!0===maskset.validPositions[result.pos].match.static)staticMatches.push(result.pos);else if(!result)break;nextSndx++}}writeOut&&writeBuffer.call(inputmask,input,_positioning.getBuffer.call(inputmask),result?result.forwardPosition:inputmask.caretPos.begin,initiatingEvent||new $.Event("checkval"),initiatingEvent&&"input"===initiatingEvent.type&&inputmask.undoValue!==_positioning.getBuffer.call(inputmask).join("")),opts.skipOptionalPartCharacter=skipOptionalPartCharacter}function HandleNativePlaceholder(npt,value){var inputmask=npt?npt.inputmask:this;if(_environment.ie){if(npt.inputmask._valueGet()!==value&&(npt.placeholder!==value||""===npt.placeholder)){var buffer=_positioning.getBuffer.call(inputmask).slice(),nptValue=npt.inputmask._valueGet();if(nptValue!==value){var lvp=_positioning.getLastValidPosition.call(inputmask);-1===lvp&&nptValue===_positioning.getBufferTemplate.call(inputmask).join("")?buffer=[]:-1!==lvp&&clearOptionalTail.call(inputmask,buffer),writeBuffer(npt,buffer)}}}else npt.placeholder!==value&&(npt.placeholder=value,""===npt.placeholder&&npt.removeAttribute("placeholder"))}function unmaskedvalue(input){var inputmask=input?input.inputmask:this,opts=inputmask.opts,maskset=inputmask.maskset;if(input){if(void 0===input.inputmask)return input.value;input.inputmask&&input.inputmask.refreshValue&&applyInputValue(input,input.inputmask._valueGet(!0))}var umValue=[],vps=maskset.validPositions;for(var pndx in vps)vps[pndx]&&vps[pndx].match&&(1!=vps[pndx].match.static||Array.isArray(maskset.metadata)&&!0!==vps[pndx].generatedInput)&&umValue.push(vps[pndx].input);var unmaskedValue=0===umValue.length?"":(inputmask.isRTL?umValue.reverse():umValue).join("");if("function"==typeof opts.onUnMask){var bufferValue=(inputmask.isRTL?_positioning.getBuffer.call(inputmask).slice().reverse():_positioning.getBuffer.call(inputmask)).join("");unmaskedValue=opts.onUnMask.call(inputmask,bufferValue,unmaskedValue,opts)}return unmaskedValue}function writeBuffer(input,buffer,caretPos,event,triggerEvents){var inputmask=input?input.inputmask:this,opts=inputmask.opts,$=inputmask.dependencyLib;if(event&&"function"==typeof opts.onBeforeWrite){var result=opts.onBeforeWrite.call(inputmask,event,buffer,caretPos,opts);if(result){if(result.refreshFromBuffer){var refresh=result.refreshFromBuffer;_validation.refreshFromBuffer.call(inputmask,!0===refresh?refresh:refresh.start,refresh.end,result.buffer||buffer),buffer=_positioning.getBuffer.call(inputmask,!0)}void 0!==caretPos&&(caretPos=void 0!==result.caret?result.caret:caretPos)}}if(void 0!==input&&(input.inputmask._valueSet(buffer.join("")),void 0===caretPos||void 0!==event&&"blur"===event.type||_positioning.caret.call(inputmask,input,caretPos,void 0,void 0,void 0!==event&&"keydown"===event.type&&(event.keyCode===_keycode.default.DELETE||event.keyCode===_keycode.default.BACKSPACE)),!0===triggerEvents)){var $input=$(input),nptVal=input.inputmask._valueGet();input.inputmask.skipInputEvent=!0,$input.trigger("input"),setTimeout(function(){nptVal===_positioning.getBufferTemplate.call(inputmask).join("")?$input.trigger("cleared"):!0===_validation.isComplete.call(inputmask,buffer)&&$input.trigger("complete")},0)}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EventHandlers=void 0;var _positioning=__webpack_require__(2),_keycode=_interopRequireDefault(__webpack_require__(0)),_environment=__webpack_require__(7),_validation=__webpack_require__(4),_inputHandling=__webpack_require__(5),_validationTests=__webpack_require__(3);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var EventHandlers={keydownEvent:function keydownEvent(e){var inputmask=this.inputmask,opts=inputmask.opts,$=inputmask.dependencyLib,maskset=inputmask.maskset,input=this,$input=$(input),k=e.keyCode,pos=_positioning.caret.call(inputmask,input),kdResult=opts.onKeyDown.call(this,e,_positioning.getBuffer.call(inputmask),pos,opts);if(void 0!==kdResult)return kdResult;if(k===_keycode.default.BACKSPACE||k===_keycode.default.DELETE||_environment.iphone&&k===_keycode.default.BACKSPACE_SAFARI||e.ctrlKey&&k===_keycode.default.X&&!("oncut"in input))e.preventDefault(),_validation.handleRemove.call(inputmask,input,k,pos),(0,_inputHandling.writeBuffer)(input,_positioning.getBuffer.call(inputmask,!0),maskset.p,e,input.inputmask._valueGet()!==_positioning.getBuffer.call(inputmask).join(""));else if(k===_keycode.default.END||k===_keycode.default.PAGE_DOWN){e.preventDefault();var caretPos=_positioning.seekNext.call(inputmask,_positioning.getLastValidPosition.call(inputmask));_positioning.caret.call(inputmask,input,e.shiftKey?pos.begin:caretPos,caretPos,!0)}else k===_keycode.default.HOME&&!e.shiftKey||k===_keycode.default.PAGE_UP?(e.preventDefault(),_positioning.caret.call(inputmask,input,0,e.shiftKey?pos.begin:0,!0)):(opts.undoOnEscape&&k===_keycode.default.ESCAPE||90===k&&e.ctrlKey)&&!0!==e.altKey?((0,_inputHandling.checkVal)(input,!0,!1,inputmask.undoValue.split("")),$input.trigger("click")):!0===opts.tabThrough&&k===_keycode.default.TAB?!0===e.shiftKey?(pos.end=_positioning.seekPrevious.call(inputmask,pos.end,!0),!0===_validationTests.getTest.call(inputmask,pos.end-1).match.static&&pos.end--,pos.begin=_positioning.seekPrevious.call(inputmask,pos.end,!0),0<=pos.begin&&0<pos.end&&(e.preventDefault(),_positioning.caret.call(inputmask,input,pos.begin,pos.end))):(pos.begin=_positioning.seekNext.call(inputmask,pos.begin,!0),pos.end=_positioning.seekNext.call(inputmask,pos.begin,!0),pos.end<maskset.maskLength&&pos.end--,pos.begin<=maskset.maskLength&&(e.preventDefault(),_positioning.caret.call(inputmask,input,pos.begin,pos.end))):e.shiftKey||opts.insertModeVisual&&!1===opts.insertMode&&(k===_keycode.default.RIGHT?setTimeout(function(){var caretPos=_positioning.caret.call(inputmask,input);_positioning.caret.call(inputmask,input,caretPos.begin)},0):k===_keycode.default.LEFT&&setTimeout(function(){var caretPos_begin=_positioning.translatePosition.call(inputmask,input.inputmask.caretPos.begin),caretPos_end=_positioning.translatePosition.call(inputmask,input.inputmask.caretPos.end);inputmask.isRTL?_positioning.caret.call(inputmask,input,caretPos_begin+(caretPos_begin===maskset.maskLength?0:1)):_positioning.caret.call(inputmask,input,caretPos_begin-(0===caretPos_begin?0:1))},0));inputmask.ignorable=opts.ignorables.includes(k)},keypressEvent:function keypressEvent(e,checkval,writeOut,strict,ndx){var inputmask=this.inputmask||this,opts=inputmask.opts,$=inputmask.dependencyLib,maskset=inputmask.maskset,input=inputmask.el,$input=$(input),k=e.which||e.charCode||e.keyCode;if(!(!0===checkval||e.ctrlKey&&e.altKey)&&(e.ctrlKey||e.metaKey||inputmask.ignorable))return k===_keycode.default.ENTER&&inputmask.undoValue!==_positioning.getBuffer.call(inputmask).join("")&&(inputmask.undoValue=_positioning.getBuffer.call(inputmask).join(""),setTimeout(function(){$input.trigger("change")},0)),inputmask.skipInputEvent=!0,!0;if(k){44!==k&&46!==k||3!==e.location||""===opts.radixPoint||(k=opts.radixPoint.charCodeAt(0));var pos=checkval?{begin:ndx,end:ndx}:_positioning.caret.call(inputmask,input),forwardPosition,c=String.fromCharCode(k);maskset.writeOutBuffer=!0;var valResult=_validation.isValid.call(inputmask,pos,c,strict,void 0,void 0,void 0,checkval);if(!1!==valResult&&(_positioning.resetMaskSet.call(inputmask,!0),forwardPosition=void 0!==valResult.caret?valResult.caret:_positioning.seekNext.call(inputmask,valResult.pos.begin?valResult.pos.begin:valResult.pos),maskset.p=forwardPosition),forwardPosition=opts.numericInput&&void 0===valResult.caret?_positioning.seekPrevious.call(inputmask,forwardPosition):forwardPosition,!1!==writeOut&&(setTimeout(function(){opts.onKeyValidation.call(input,k,valResult)},0),maskset.writeOutBuffer&&!1!==valResult)){var buffer=_positioning.getBuffer.call(inputmask);(0,_inputHandling.writeBuffer)(input,buffer,forwardPosition,e,!0!==checkval)}if(e.preventDefault(),checkval)return!1!==valResult&&(valResult.forwardPosition=forwardPosition),valResult}},keyupEvent:function keyupEvent(e){var inputmask=this.inputmask;!inputmask.isComposing||e.keyCode!==_keycode.default.KEY_229&&e.keyCode!==_keycode.default.ENTER||inputmask.$el.trigger("input")},pasteEvent:function pasteEvent(e){var inputmask=this.inputmask,opts=inputmask.opts,input=this,inputValue=inputmask._valueGet(!0),caretPos=_positioning.caret.call(inputmask,this),tempValue;inputmask.isRTL&&(tempValue=caretPos.end,caretPos.end=caretPos.begin,caretPos.begin=tempValue);var valueBeforeCaret=inputValue.substr(0,caretPos.begin),valueAfterCaret=inputValue.substr(caretPos.end,inputValue.length);if(valueBeforeCaret==(inputmask.isRTL?_positioning.getBufferTemplate.call(inputmask).slice().reverse():_positioning.getBufferTemplate.call(inputmask)).slice(0,caretPos.begin).join("")&&(valueBeforeCaret=""),valueAfterCaret==(inputmask.isRTL?_positioning.getBufferTemplate.call(inputmask).slice().reverse():_positioning.getBufferTemplate.call(inputmask)).slice(caretPos.end).join("")&&(valueAfterCaret=""),window.clipboardData&&window.clipboardData.getData)inputValue=valueBeforeCaret+window.clipboardData.getData("Text")+valueAfterCaret;else{if(!e.clipboardData||!e.clipboardData.getData)return!0;inputValue=valueBeforeCaret+e.clipboardData.getData("text/plain")+valueAfterCaret}var pasteValue=inputValue;if("function"==typeof opts.onBeforePaste){if(pasteValue=opts.onBeforePaste.call(inputmask,inputValue,opts),!1===pasteValue)return e.preventDefault();pasteValue=pasteValue||inputValue}return(0,_inputHandling.checkVal)(this,!0,!1,pasteValue.toString().split(""),e),e.preventDefault()},inputFallBackEvent:function inputFallBackEvent(e){var inputmask=this.inputmask,opts=inputmask.opts,$=inputmask.dependencyLib;function ieMobileHandler(input,inputValue,caretPos){if(_environment.iemobile){var inputChar=inputValue.replace(_positioning.getBuffer.call(inputmask).join(""),"");if(1===inputChar.length){var iv=inputValue.split("");iv.splice(caretPos.begin,0,inputChar),inputValue=iv.join("")}}return inputValue}function analyseChanges(inputValue,buffer,caretPos){for(var frontPart=inputValue.substr(0,caretPos.begin).split(""),backPart=inputValue.substr(caretPos.begin).split(""),frontBufferPart=buffer.substr(0,caretPos.begin).split(""),backBufferPart=buffer.substr(caretPos.begin).split(""),fpl=frontPart.length>=frontBufferPart.length?frontPart.length:frontBufferPart.length,bpl=backPart.length>=backBufferPart.length?backPart.length:backBufferPart.length,bl,i,action="",data=[],marker="~",placeholder;frontPart.length<fpl;)frontPart.push("~");for(;frontBufferPart.length<fpl;)frontBufferPart.push("~");for(;backPart.length<bpl;)backPart.unshift("~");for(;backBufferPart.length<bpl;)backBufferPart.unshift("~");var newBuffer=frontPart.concat(backPart),oldBuffer=frontBufferPart.concat(backBufferPart);for(i=0,bl=newBuffer.length;i<bl;i++)switch(placeholder=_validationTests.getPlaceholder.call(inputmask,_positioning.translatePosition.call(inputmask,i)),action){case"insertText":oldBuffer[i-1]===newBuffer[i]&&caretPos.begin==newBuffer.length-1&&data.push(newBuffer[i]),i=bl;break;case"insertReplacementText":"~"===newBuffer[i]?caretPos.end++:i=bl;break;case"deleteContentBackward":"~"===newBuffer[i]?caretPos.end++:i=bl;break;default:newBuffer[i]!==oldBuffer[i]&&("~"!==newBuffer[i+1]&&newBuffer[i+1]!==placeholder&&void 0!==newBuffer[i+1]||(oldBuffer[i]!==placeholder||"~"!==oldBuffer[i+1])&&"~"!==oldBuffer[i]?"~"===oldBuffer[i+1]&&oldBuffer[i]===newBuffer[i+1]?(action="insertText",data.push(newBuffer[i]),caretPos.begin--,caretPos.end--):newBuffer[i]!==placeholder&&"~"!==newBuffer[i]&&("~"===newBuffer[i+1]||oldBuffer[i]!==newBuffer[i]&&oldBuffer[i+1]===newBuffer[i+1])?(action="insertReplacementText",data.push(newBuffer[i]),caretPos.begin--):"~"===newBuffer[i]?(action="deleteContentBackward",!_positioning.isMask.call(inputmask,_positioning.translatePosition.call(inputmask,i),!0)&&oldBuffer[i]!==opts.radixPoint||caretPos.end++):i=bl:(action="insertText",data.push(newBuffer[i]),caretPos.begin--,caretPos.end--));break}return{action:action,data:data,caret:caretPos}}var input=this,inputValue=input.inputmask._valueGet(!0),buffer=(inputmask.isRTL?_positioning.getBuffer.call(inputmask).slice().reverse():_positioning.getBuffer.call(inputmask)).join(""),caretPos=_positioning.caret.call(inputmask,input,void 0,void 0,!0);if(buffer!==inputValue){inputValue=ieMobileHandler(input,inputValue,caretPos);var changes=analyseChanges(inputValue,buffer,caretPos);switch((input.inputmask.shadowRoot||document).activeElement!==input&&input.focus(),(0,_inputHandling.writeBuffer)(input,_positioning.getBuffer.call(inputmask)),_positioning.caret.call(inputmask,input,caretPos.begin,caretPos.end,!0),changes.action){case"insertText":case"insertReplacementText":changes.data.forEach(function(entry,ndx){var keypress=new $.Event("keypress");keypress.which=entry.charCodeAt(0),inputmask.ignorable=!1,EventHandlers.keypressEvent.call(input,keypress)}),setTimeout(function(){inputmask.$el.trigger("keyup")},0);break;case"deleteContentBackward":var keydown=new $.Event("keydown");keydown.keyCode=_keycode.default.BACKSPACE,EventHandlers.keydownEvent.call(input,keydown);break;default:(0,_inputHandling.applyInputValue)(input,inputValue);break}e.preventDefault()}},compositionendEvent:function compositionendEvent(e){var inputmask=this.inputmask;inputmask.isComposing=!1,inputmask.$el.trigger("input")},setValueEvent:function setValueEvent(e,argument_1,argument_2){var inputmask=this.inputmask,input=this,value=e&&e.detail?e.detail[0]:argument_1;void 0===value&&(value=this.inputmask._valueGet(!0)),(0,_inputHandling.applyInputValue)(this,value),(e.detail&&void 0!==e.detail[1]||void 0!==argument_2)&&_positioning.caret.call(inputmask,this,e.detail?e.detail[1]:argument_2)},focusEvent:function focusEvent(e){var inputmask=this.inputmask,opts=inputmask.opts,input=this,nptValue=this.inputmask._valueGet();opts.showMaskOnFocus&&nptValue!==_positioning.getBuffer.call(inputmask).join("")&&(0,_inputHandling.writeBuffer)(this,_positioning.getBuffer.call(inputmask),_positioning.seekNext.call(inputmask,_positioning.getLastValidPosition.call(inputmask))),!0!==opts.positionCaretOnTab||!1!==inputmask.mouseEnter||_validation.isComplete.call(inputmask,_positioning.getBuffer.call(inputmask))&&-1!==_positioning.getLastValidPosition.call(inputmask)||EventHandlers.clickEvent.apply(this,[e,!0]),inputmask.undoValue=_positioning.getBuffer.call(inputmask).join("")},invalidEvent:function invalidEvent(e){this.inputmask.validationEvent=!0},mouseleaveEvent:function mouseleaveEvent(){var inputmask=this.inputmask,opts=inputmask.opts,input=this;inputmask.mouseEnter=!1,opts.clearMaskOnLostFocus&&(this.inputmask.shadowRoot||document).activeElement!==this&&(0,_inputHandling.HandleNativePlaceholder)(this,inputmask.originalPlaceholder)},clickEvent:function clickEvent(e,tabbed){var inputmask=this.inputmask,input=this;if((this.inputmask.shadowRoot||document).activeElement===this){var newCaretPosition=_positioning.determineNewCaretPosition.call(inputmask,_positioning.caret.call(inputmask,this),tabbed);void 0!==newCaretPosition&&_positioning.caret.call(inputmask,this,newCaretPosition)}},cutEvent:function cutEvent(e){var inputmask=this.inputmask,maskset=inputmask.maskset,input=this,pos=_positioning.caret.call(inputmask,this),clipboardData=window.clipboardData||e.clipboardData,clipData=inputmask.isRTL?_positioning.getBuffer.call(inputmask).slice(pos.end,pos.begin):_positioning.getBuffer.call(inputmask).slice(pos.begin,pos.end);clipboardData.setData("text",inputmask.isRTL?clipData.reverse().join(""):clipData.join("")),document.execCommand&&document.execCommand("copy"),_validation.handleRemove.call(inputmask,this,_keycode.default.DELETE,pos),(0,_inputHandling.writeBuffer)(this,_positioning.getBuffer.call(inputmask),maskset.p,e,inputmask.undoValue!==_positioning.getBuffer.call(inputmask).join(""))},blurEvent:function blurEvent(e){var inputmask=this.inputmask,opts=inputmask.opts,$=inputmask.dependencyLib,$input=$(this),input=this;if(this.inputmask){(0,_inputHandling.HandleNativePlaceholder)(this,inputmask.originalPlaceholder);var nptValue=this.inputmask._valueGet(),buffer=_positioning.getBuffer.call(inputmask).slice();""!==nptValue&&(opts.clearMaskOnLostFocus&&(-1===_positioning.getLastValidPosition.call(inputmask)&&nptValue===_positioning.getBufferTemplate.call(inputmask).join("")?buffer=[]:_inputHandling.clearOptionalTail.call(inputmask,buffer)),!1===_validation.isComplete.call(inputmask,buffer)&&(setTimeout(function(){$input.trigger("incomplete")},0),opts.clearIncomplete&&(_positioning.resetMaskSet.call(inputmask),buffer=opts.clearMaskOnLostFocus?[]:_positioning.getBufferTemplate.call(inputmask).slice())),(0,_inputHandling.writeBuffer)(this,buffer,void 0,e)),inputmask.undoValue!==_positioning.getBuffer.call(inputmask).join("")&&(inputmask.undoValue=_positioning.getBuffer.call(inputmask).join(""),$input.trigger("change"))}},mouseenterEvent:function mouseenterEvent(){var inputmask=this.inputmask,opts=inputmask.opts,input=this;inputmask.mouseEnter=!0,(this.inputmask.shadowRoot||document).activeElement!==this&&(null==inputmask.originalPlaceholder&&this.placeholder!==inputmask.originalPlaceholder&&(inputmask.originalPlaceholder=this.placeholder),opts.showMaskOnHover&&(0,_inputHandling.HandleNativePlaceholder)(this,(inputmask.isRTL?_positioning.getBufferTemplate.call(inputmask).slice().reverse():_positioning.getBufferTemplate.call(inputmask)).join("")))},submitEvent:function submitEvent(){var inputmask=this.inputmask,opts=inputmask.opts;inputmask.undoValue!==_positioning.getBuffer.call(inputmask).join("")&&inputmask.$el.trigger("change"),opts.clearMaskOnLostFocus&&-1===_positioning.getLastValidPosition.call(inputmask)&&inputmask._valueGet&&inputmask._valueGet()===_positioning.getBufferTemplate.call(inputmask).join("")&&inputmask._valueSet(""),opts.clearIncomplete&&!1===_validation.isComplete.call(inputmask,_positioning.getBuffer.call(inputmask))&&inputmask._valueSet(""),opts.removeMaskOnSubmit&&(inputmask._valueSet(inputmask.unmaskedvalue(),!0),setTimeout(function(){(0,_inputHandling.writeBuffer)(inputmask.el,_positioning.getBuffer.call(inputmask))},0))},resetEvent:function resetEvent(){var inputmask=this.inputmask;inputmask.refreshValue=!0,setTimeout(function(){(0,_inputHandling.applyInputValue)(inputmask.el,inputmask._valueGet(!0))},0)}};exports.EventHandlers=EventHandlers},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.iphone=exports.iemobile=exports.mobile=exports.ie=exports.ua=void 0;var ua=window.navigator&&window.navigator.userAgent||"",ie=0<ua.indexOf("MSIE ")||0<ua.indexOf("Trident/"),mobile="ontouchstart"in window,iemobile=/iemobile/i.test(ua),iphone=/iphone/i.test(ua)&&!iemobile;exports.iphone=iphone,exports.iemobile=iemobile,exports.mobile=mobile,exports.ie=ie,exports.ua=ua},function(module,exports){module.exports=__WEBPACK_EXTERNAL_MODULE__8__},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.mask=mask;var _keycode=_interopRequireDefault(__webpack_require__(0)),_positioning=__webpack_require__(2),_inputHandling=__webpack_require__(5),_eventruler=__webpack_require__(10),_environment=__webpack_require__(7),_validation=__webpack_require__(4),_eventhandlers=__webpack_require__(6);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function mask(){var inputmask=this,opts=this.opts,el=this.el,$=this.dependencyLib;function isElementTypeSupported(input,opts){function patchValueProperty(npt){var valueGet,valueSet;function patchValhook(type){if($.valHooks&&(void 0===$.valHooks[type]||!0!==$.valHooks[type].inputmaskpatch)){var valhookGet=$.valHooks[type]&&$.valHooks[type].get?$.valHooks[type].get:function(elem){return elem.value},valhookSet=$.valHooks[type]&&$.valHooks[type].set?$.valHooks[type].set:function(elem,value){return elem.value=value,elem};$.valHooks[type]={get:function get(elem){if(elem.inputmask){if(elem.inputmask.opts.autoUnmask)return elem.inputmask.unmaskedvalue();var result=valhookGet(elem);return-1!==_positioning.getLastValidPosition.call(inputmask,void 0,void 0,elem.inputmask.maskset.validPositions)||!0!==opts.nullable?result:""}return valhookGet(elem)},set:function set(elem,value){var result=valhookSet(elem,value);return elem.inputmask&&(0,_inputHandling.applyInputValue)(elem,value),result},inputmaskpatch:!0}}}function getter(){return this.inputmask?this.inputmask.opts.autoUnmask?this.inputmask.unmaskedvalue():-1!==_positioning.getLastValidPosition.call(inputmask)||!0!==opts.nullable?(this.inputmask.shadowRoot||document.activeElement)===this&&opts.clearMaskOnLostFocus?(inputmask.isRTL?_inputHandling.clearOptionalTail.call(inputmask,_positioning.getBuffer.call(inputmask).slice()).reverse():_inputHandling.clearOptionalTail.call(inputmask,_positioning.getBuffer.call(inputmask).slice())).join(""):valueGet.call(this):"":valueGet.call(this)}function setter(value){valueSet.call(this,value),this.inputmask&&(0,_inputHandling.applyInputValue)(this,value)}function installNativeValueSetFallback(npt){_eventruler.EventRuler.on(npt,"mouseenter",function(){var input=this,value=this.inputmask._valueGet(!0);value!==(inputmask.isRTL?_positioning.getBuffer.call(inputmask).reverse():_positioning.getBuffer.call(inputmask)).join("")&&(0,_inputHandling.applyInputValue)(this,value)})}if(!npt.inputmask.__valueGet){if(!0!==opts.noValuePatching){if(Object.getOwnPropertyDescriptor){var valueProperty=Object.getPrototypeOf?Object.getOwnPropertyDescriptor(Object.getPrototypeOf(npt),"value"):void 0;valueProperty&&valueProperty.get&&valueProperty.set?(valueGet=valueProperty.get,valueSet=valueProperty.set,Object.defineProperty(npt,"value",{get:getter,set:setter,configurable:!0})):"input"!==npt.tagName.toLowerCase()&&(valueGet=function valueGet(){return this.textContent},valueSet=function valueSet(value){this.textContent=value},Object.defineProperty(npt,"value",{get:getter,set:setter,configurable:!0}))}else document.__lookupGetter__&&npt.__lookupGetter__("value")&&(valueGet=npt.__lookupGetter__("value"),valueSet=npt.__lookupSetter__("value"),npt.__defineGetter__("value",getter),npt.__defineSetter__("value",setter));npt.inputmask.__valueGet=valueGet,npt.inputmask.__valueSet=valueSet}npt.inputmask._valueGet=function(overruleRTL){return inputmask.isRTL&&!0!==overruleRTL?valueGet.call(this.el).split("").reverse().join(""):valueGet.call(this.el)},npt.inputmask._valueSet=function(value,overruleRTL){valueSet.call(this.el,null==value?"":!0!==overruleRTL&&inputmask.isRTL?value.split("").reverse().join(""):value)},void 0===valueGet&&(valueGet=function valueGet(){return this.value},valueSet=function valueSet(value){this.value=value},patchValhook(npt.type),installNativeValueSetFallback(npt))}}"textarea"!==input.tagName.toLowerCase()&&opts.ignorables.push(_keycode.default.ENTER);var elementType=input.getAttribute("type"),isSupported="input"===input.tagName.toLowerCase()&&opts.supportsInputType.includes(elementType)||input.isContentEditable||"textarea"===input.tagName.toLowerCase();if(!isSupported)if("input"===input.tagName.toLowerCase()){var el=document.createElement("input");el.setAttribute("type",elementType),isSupported="text"===el.type,el=null}else isSupported="partial";return!1!==isSupported?patchValueProperty(input):input.inputmask=void 0,isSupported}_eventruler.EventRuler.off(el);var isSupported=isElementTypeSupported(el,opts);if(!1!==isSupported){inputmask.originalPlaceholder=el.placeholder,inputmask.maxLength=void 0!==el?el.maxLength:void 0,-1===inputmask.maxLength&&(inputmask.maxLength=void 0),"inputMode"in el&&null===el.getAttribute("inputmode")&&(el.inputMode=opts.inputmode,el.setAttribute("inputmode",opts.inputmode)),!0===isSupported&&(opts.showMaskOnFocus=opts.showMaskOnFocus&&-1===["cc-number","cc-exp"].indexOf(el.autocomplete),_environment.iphone&&(opts.insertModeVisual=!1),_eventruler.EventRuler.on(el,"submit",_eventhandlers.EventHandlers.submitEvent),_eventruler.EventRuler.on(el,"reset",_eventhandlers.EventHandlers.resetEvent),_eventruler.EventRuler.on(el,"blur",_eventhandlers.EventHandlers.blurEvent),_eventruler.EventRuler.on(el,"focus",_eventhandlers.EventHandlers.focusEvent),_eventruler.EventRuler.on(el,"invalid",_eventhandlers.EventHandlers.invalidEvent),_eventruler.EventRuler.on(el,"click",_eventhandlers.EventHandlers.clickEvent),_eventruler.EventRuler.on(el,"mouseleave",_eventhandlers.EventHandlers.mouseleaveEvent),_eventruler.EventRuler.on(el,"mouseenter",_eventhandlers.EventHandlers.mouseenterEvent),_eventruler.EventRuler.on(el,"paste",_eventhandlers.EventHandlers.pasteEvent),_eventruler.EventRuler.on(el,"cut",_eventhandlers.EventHandlers.cutEvent),_eventruler.EventRuler.on(el,"complete",opts.oncomplete),_eventruler.EventRuler.on(el,"incomplete",opts.onincomplete),_eventruler.EventRuler.on(el,"cleared",opts.oncleared),!0!==opts.inputEventOnly&&(_eventruler.EventRuler.on(el,"keydown",_eventhandlers.EventHandlers.keydownEvent),_eventruler.EventRuler.on(el,"keypress",_eventhandlers.EventHandlers.keypressEvent),_eventruler.EventRuler.on(el,"keyup",_eventhandlers.EventHandlers.keyupEvent)),(_environment.mobile||opts.inputEventOnly)&&el.removeAttribute("maxLength"),_eventruler.EventRuler.on(el,"input",_eventhandlers.EventHandlers.inputFallBackEvent),_eventruler.EventRuler.on(el,"compositionend",_eventhandlers.EventHandlers.compositionendEvent)),_eventruler.EventRuler.on(el,"setvalue",_eventhandlers.EventHandlers.setValueEvent),inputmask.undoValue=_positioning.getBufferTemplate.call(inputmask).join("");var activeElement=(el.inputmask.shadowRoot||document).activeElement;if(""!==el.inputmask._valueGet(!0)||!1===opts.clearMaskOnLostFocus||activeElement===el){(0,_inputHandling.applyInputValue)(el,el.inputmask._valueGet(!0),opts);var buffer=_positioning.getBuffer.call(inputmask).slice();!1===_validation.isComplete.call(inputmask,buffer)&&opts.clearIncomplete&&_positioning.resetMaskSet.call(inputmask),opts.clearMaskOnLostFocus&&activeElement!==el&&(-1===_positioning.getLastValidPosition.call(inputmask)?buffer=[]:_inputHandling.clearOptionalTail.call(inputmask,buffer)),(!1===opts.clearMaskOnLostFocus||opts.showMaskOnFocus&&activeElement===el||""!==el.inputmask._valueGet(!0))&&(0,_inputHandling.writeBuffer)(el,buffer),activeElement===el&&_positioning.caret.call(inputmask,el,_positioning.seekNext.call(inputmask,_positioning.getLastValidPosition.call(inputmask)))}}}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EventRuler=void 0;var _inputmask=_interopRequireDefault(__webpack_require__(1)),_keycode=_interopRequireDefault(__webpack_require__(0)),_positioning=__webpack_require__(2),_inputHandling=__webpack_require__(5);function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var EventRuler={on:function on(input,eventName,eventHandler){var $=input.inputmask.dependencyLib,ev=function ev(e){e.originalEvent&&(e=e.originalEvent||e,arguments[0]=e);var that=this,args,inputmask=that.inputmask,opts=inputmask?inputmask.opts:void 0;if(void 0===inputmask&&"FORM"!==this.nodeName){var imOpts=$.data(that,"_inputmask_opts");$(that).off(),imOpts&&new _inputmask.default(imOpts).mask(that)}else{if("setvalue"===e.type||"FORM"===this.nodeName||!(that.disabled||that.readOnly&&!("keydown"===e.type&&e.ctrlKey&&67===e.keyCode||!1===opts.tabThrough&&e.keyCode===_keycode.default.TAB))){switch(e.type){case"input":if(!0===inputmask.skipInputEvent||e.inputType&&"insertCompositionText"===e.inputType)return inputmask.skipInputEvent=!1,e.preventDefault();break;case"keydown":inputmask.skipKeyPressEvent=!1,inputmask.skipInputEvent=inputmask.isComposing=e.keyCode===_keycode.default.KEY_229;break;case"keyup":case"compositionend":inputmask.isComposing&&(inputmask.skipInputEvent=!1);break;case"keypress":if(!0===inputmask.skipKeyPressEvent)return e.preventDefault();inputmask.skipKeyPressEvent=!0;break;case"click":case"focus":return inputmask.validationEvent?(inputmask.validationEvent=!1,input.blur(),(0,_inputHandling.HandleNativePlaceholder)(input,(inputmask.isRTL?_positioning.getBufferTemplate.call(inputmask).slice().reverse():_positioning.getBufferTemplate.call(inputmask)).join("")),setTimeout(function(){input.focus()},3e3)):(args=arguments,setTimeout(function(){input.inputmask&&eventHandler.apply(that,args)},0)),!1}var returnVal=eventHandler.apply(that,arguments);return!1===returnVal&&(e.preventDefault(),e.stopPropagation()),returnVal}e.preventDefault()}};input.inputmask.events[eventName]=input.inputmask.events[eventName]||[],input.inputmask.events[eventName].push(ev),["submit","reset"].includes(eventName)?null!==input.form&&$(input.form).on(eventName,ev.bind(input)):$(input).on(eventName,ev)},off:function off(input,event){if(input.inputmask&&input.inputmask.events){var $=input.inputmask.dependencyLib,events=input.inputmask.events;for(var eventName in event&&(events=[],events[event]=input.inputmask.events[event]),events){for(var evArr=events[eventName];0<evArr.length;){var ev=evArr.pop();["submit","reset"].includes(eventName)?null!==input.form&&$(input.form).off(eventName,ev):$(input).off(eventName,ev)}delete input.inputmask.events[eventName]}}}};exports.EventRuler=EventRuler},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _jquery=_interopRequireDefault(__webpack_require__(8));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}if(void 0===_jquery.default)throw"jQuery not loaded!";var _default=_jquery.default;exports.default=_default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _default="undefined"!=typeof window?window:new(eval("require('jsdom').JSDOM"))("").window;exports.default=_default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=_default;var escapeRegexRegex=new RegExp("(\\"+["/",".","*","+","?","|","(",")","[","]","{","}","\\","$","^"].join("|\\")+")","gim");function _default(str){return str.replace(escapeRegexRegex,"\\$1")}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,__webpack_require__(15),__webpack_require__(21),__webpack_require__(23),__webpack_require__(24);var _inputmask2=_interopRequireDefault(__webpack_require__(1));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var _default=_inputmask2.default;exports.default=_default},function(module,exports,__webpack_require__){"use strict";var _inputmask=_interopRequireDefault(__webpack_require__(1));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}_inputmask.default.extendDefinitions({A:{validator:"[A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]",casing:"upper"},"&":{validator:"[0-9A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]",casing:"upper"},"#":{validator:"[0-9A-Fa-f]",casing:"upper"}});var ipValidatorRegex=new RegExp("25[0-5]|2[0-4][0-9]|[01][0-9][0-9]");function ipValidator(chrs,maskset,pos,strict,opts){return chrs=-1<pos-1&&"."!==maskset.buffer[pos-1]?(chrs=maskset.buffer[pos-1]+chrs,-1<pos-2&&"."!==maskset.buffer[pos-2]?maskset.buffer[pos-2]+chrs:"0"+chrs):"00"+chrs,ipValidatorRegex.test(chrs)}_inputmask.default.extendAliases({cssunit:{regex:"[+-]?[0-9]+\\.?([0-9]+)?(px|em|rem|ex|%|in|cm|mm|pt|pc)"},url:{regex:"(https?|ftp)://.*",autoUnmask:!1,keepStatic:!1,tabThrough:!0},ip:{mask:"i[i[i]].j[j[j]].k[k[k]].l[l[l]]",definitions:{i:{validator:ipValidator},j:{validator:ipValidator},k:{validator:ipValidator},l:{validator:ipValidator}},onUnMask:function onUnMask(maskedValue,unmaskedValue,opts){return maskedValue},inputmode:"numeric"},email:{mask:"*{1,64}[.*{1,64}][.*{1,64}][.*{1,63}]@-{1,63}.-{1,63}[.-{1,63}][.-{1,63}]",greedy:!1,casing:"lower",onBeforePaste:function onBeforePaste(pastedValue,opts){return pastedValue=pastedValue.toLowerCase(),pastedValue.replace("mailto:","")},definitions:{"*":{validator:"[0-9\uff11-\uff19A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5!#$%&'*+/=?^_`{|}~-]"},"-":{validator:"[0-9A-Za-z-]"}},onUnMask:function onUnMask(maskedValue,unmaskedValue,opts){return maskedValue},inputmode:"email"},mac:{mask:"##:##:##:##:##:##"},vin:{mask:"V{13}9{4}",definitions:{V:{validator:"[A-HJ-NPR-Za-hj-npr-z\\d]",casing:"upper"}},clearIncomplete:!0,autoUnmask:!0},ssn:{mask:"999-99-9999",postValidation:function postValidation(buffer,pos,c,currentResult,opts,maskset,strict){return/^(?!219-09-9999|078-05-1120)(?!666|000|9.{2}).{3}-(?!00).{2}-(?!0{4}).{4}$/.test(buffer.join(""))}}})},function(module,exports,__webpack_require__){"use strict";function _typeof(obj){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function _typeof(obj){return typeof obj}:function _typeof(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}"function"!=typeof Object.getPrototypeOf&&(Object.getPrototypeOf="object"===_typeof("test".__proto__)?function(object){return object.__proto__}:function(object){return object.constructor.prototype})},function(module,exports,__webpack_require__){"use strict";Array.prototype.includes||Object.defineProperty(Array.prototype,"includes",{value:function value(searchElement,fromIndex){if(null==this)throw new TypeError('"this" is null or not defined');var o=Object(this),len=o.length>>>0;if(0==len)return!1;for(var n=0|fromIndex,k=Math.max(0<=n?n:len-Math.abs(n),0);k<len;){if(o[k]===searchElement)return!0;k++}return!1}})},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.generateMaskSet=generateMaskSet,exports.analyseMask=analyseMask;var _inputmask=_interopRequireDefault(__webpack_require__(11));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function generateMaskSet(opts,nocache){var ms;function generateMask(mask,metadata,opts){var regexMask=!1,masksetDefinition,maskdefKey;if(null!==mask&&""!==mask||(regexMask=null!==opts.regex,mask=regexMask?(mask=opts.regex,mask.replace(/^(\^)(.*)(\$)$/,"$2")):(regexMask=!0,".*")),1===mask.length&&!1===opts.greedy&&0!==opts.repeat&&(opts.placeholder=""),0<opts.repeat||"*"===opts.repeat||"+"===opts.repeat){var repeatStart="*"===opts.repeat?0:"+"===opts.repeat?1:opts.repeat;mask=opts.groupmarker[0]+mask+opts.groupmarker[1]+opts.quantifiermarker[0]+repeatStart+","+opts.repeat+opts.quantifiermarker[1]}return maskdefKey=regexMask?"regex_"+opts.regex:opts.numericInput?mask.split("").reverse().join(""):mask,!1!==opts.keepStatic&&(maskdefKey="ks_"+maskdefKey),void 0===Inputmask.prototype.masksCache[maskdefKey]||!0===nocache?(masksetDefinition={mask:mask,maskToken:Inputmask.prototype.analyseMask(mask,regexMask,opts),validPositions:{},_buffer:void 0,buffer:void 0,tests:{},excludes:{},metadata:metadata,maskLength:void 0,jitOffset:{}},!0!==nocache&&(Inputmask.prototype.masksCache[maskdefKey]=masksetDefinition,masksetDefinition=_inputmask.default.extend(!0,{},Inputmask.prototype.masksCache[maskdefKey]))):masksetDefinition=_inputmask.default.extend(!0,{},Inputmask.prototype.masksCache[maskdefKey]),masksetDefinition}if("function"==typeof opts.mask&&(opts.mask=opts.mask(opts)),Array.isArray(opts.mask)){if(1<opts.mask.length){null===opts.keepStatic&&(opts.keepStatic=!0);var altMask=opts.groupmarker[0];return(opts.isRTL?opts.mask.reverse():opts.mask).forEach(function(msk){1<altMask.length&&(altMask+=opts.groupmarker[1]+opts.alternatormarker+opts.groupmarker[0]),void 0!==msk.mask&&"function"!=typeof msk.mask?altMask+=msk.mask:altMask+=msk}),altMask+=opts.groupmarker[1],generateMask(altMask,opts.mask,opts)}opts.mask=opts.mask.pop()}return null===opts.keepStatic&&(opts.keepStatic=!1),ms=opts.mask&&void 0!==opts.mask.mask&&"function"!=typeof opts.mask.mask?generateMask(opts.mask.mask,opts.mask,opts):generateMask(opts.mask,opts.mask,opts),ms}function analyseMask(mask,regexMask,opts){var tokenizer=/(?:[?*+]|\{[0-9+*]+(?:,[0-9+*]*)?(?:\|[0-9+*]*)?\})|[^.?*+^${[]()|\\]+|./g,regexTokenizer=/\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g,escaped=!1,currentToken=new MaskToken,match,m,openenings=[],maskTokens=[],openingToken,currentOpeningToken,alternator,lastMatch,closeRegexGroup=!1;function MaskToken(isGroup,isOptional,isQuantifier,isAlternator){this.matches=[],this.openGroup=isGroup||!1,this.alternatorGroup=!1,this.isGroup=isGroup||!1,this.isOptional=isOptional||!1,this.isQuantifier=isQuantifier||!1,this.isAlternator=isAlternator||!1,this.quantifier={min:1,max:1}}function insertTestDefinition(mtoken,element,position){position=void 0!==position?position:mtoken.matches.length;var prevMatch=mtoken.matches[position-1];if(regexMask)0===element.indexOf("[")||escaped&&/\\d|\\s|\\w]/i.test(element)||"."===element?mtoken.matches.splice(position++,0,{fn:new RegExp(element,opts.casing?"i":""),static:!1,optionality:!1,newBlockMarker:void 0===prevMatch?"master":prevMatch.def!==element,casing:null,def:element,placeholder:void 0,nativeDef:element}):(escaped&&(element=element[element.length-1]),element.split("").forEach(function(lmnt,ndx){prevMatch=mtoken.matches[position-1],mtoken.matches.splice(position++,0,{fn:/[a-z]/i.test(opts.staticDefinitionSymbol||lmnt)?new RegExp("["+(opts.staticDefinitionSymbol||lmnt)+"]",opts.casing?"i":""):null,static:!0,optionality:!1,newBlockMarker:void 0===prevMatch?"master":prevMatch.def!==lmnt&&!0!==prevMatch.static,casing:null,def:opts.staticDefinitionSymbol||lmnt,placeholder:void 0!==opts.staticDefinitionSymbol?lmnt:void 0,nativeDef:(escaped?"'":"")+lmnt})})),escaped=!1;else{var maskdef=opts.definitions&&opts.definitions[element]||opts.usePrototypeDefinitions&&Inputmask.prototype.definitions[element];maskdef&&!escaped?mtoken.matches.splice(position++,0,{fn:maskdef.validator?"string"==typeof maskdef.validator?new RegExp(maskdef.validator,opts.casing?"i":""):new function(){this.test=maskdef.validator}:new RegExp("."),static:maskdef.static||!1,optionality:!1,newBlockMarker:void 0===prevMatch?"master":prevMatch.def!==(maskdef.definitionSymbol||element),casing:maskdef.casing,def:maskdef.definitionSymbol||element,placeholder:maskdef.placeholder,nativeDef:element,generated:maskdef.generated}):(mtoken.matches.splice(position++,0,{fn:/[a-z]/i.test(opts.staticDefinitionSymbol||element)?new RegExp("["+(opts.staticDefinitionSymbol||element)+"]",opts.casing?"i":""):null,static:!0,optionality:!1,newBlockMarker:void 0===prevMatch?"master":prevMatch.def!==element&&!0!==prevMatch.static,casing:null,def:opts.staticDefinitionSymbol||element,placeholder:void 0!==opts.staticDefinitionSymbol?element:void 0,nativeDef:(escaped?"'":"")+element}),escaped=!1)}}function verifyGroupMarker(maskToken){maskToken&&maskToken.matches&&maskToken.matches.forEach(function(token,ndx){var nextToken=maskToken.matches[ndx+1];(void 0===nextToken||void 0===nextToken.matches||!1===nextToken.isQuantifier)&&token&&token.isGroup&&(token.isGroup=!1,regexMask||(insertTestDefinition(token,opts.groupmarker[0],0),!0!==token.openGroup&&insertTestDefinition(token,opts.groupmarker[1]))),verifyGroupMarker(token)})}function defaultCase(){if(0<openenings.length){if(currentOpeningToken=openenings[openenings.length-1],insertTestDefinition(currentOpeningToken,m),currentOpeningToken.isAlternator){alternator=openenings.pop();for(var mndx=0;mndx<alternator.matches.length;mndx++)alternator.matches[mndx].isGroup&&(alternator.matches[mndx].isGroup=!1);0<openenings.length?(currentOpeningToken=openenings[openenings.length-1],currentOpeningToken.matches.push(alternator)):currentToken.matches.push(alternator)}}else insertTestDefinition(currentToken,m)}function reverseTokens(maskToken){function reverseStatic(st){return st===opts.optionalmarker[0]?st=opts.optionalmarker[1]:st===opts.optionalmarker[1]?st=opts.optionalmarker[0]:st===opts.groupmarker[0]?st=opts.groupmarker[1]:st===opts.groupmarker[1]&&(st=opts.groupmarker[0]),st}for(var match in maskToken.matches=maskToken.matches.reverse(),maskToken.matches)if(Object.prototype.hasOwnProperty.call(maskToken.matches,match)){var intMatch=parseInt(match);if(maskToken.matches[match].isQuantifier&&maskToken.matches[intMatch+1]&&maskToken.matches[intMatch+1].isGroup){var qt=maskToken.matches[match];maskToken.matches.splice(match,1),maskToken.matches.splice(intMatch+1,0,qt)}void 0!==maskToken.matches[match].matches?maskToken.matches[match]=reverseTokens(maskToken.matches[match]):maskToken.matches[match]=reverseStatic(maskToken.matches[match])}return maskToken}function groupify(matches){var groupToken=new MaskToken(!0);return groupToken.openGroup=!1,groupToken.matches=matches,groupToken}function closeGroup(){if(openingToken=openenings.pop(),openingToken.openGroup=!1,void 0!==openingToken)if(0<openenings.length){if(currentOpeningToken=openenings[openenings.length-1],currentOpeningToken.matches.push(openingToken),currentOpeningToken.isAlternator){alternator=openenings.pop();for(var mndx=0;mndx<alternator.matches.length;mndx++)alternator.matches[mndx].isGroup=!1,alternator.matches[mndx].alternatorGroup=!1;0<openenings.length?(currentOpeningToken=openenings[openenings.length-1],currentOpeningToken.matches.push(alternator)):currentToken.matches.push(alternator)}}else currentToken.matches.push(openingToken);else defaultCase()}function groupQuantifier(matches){var lastMatch=matches.pop();return lastMatch.isQuantifier&&(lastMatch=groupify([matches.pop(),lastMatch])),lastMatch}for(regexMask&&(opts.optionalmarker[0]=void 0,opts.optionalmarker[1]=void 0);match=regexMask?regexTokenizer.exec(mask):tokenizer.exec(mask);){if(m=match[0],regexMask)switch(m.charAt(0)){case"?":m="{0,1}";break;case"+":case"*":m="{"+m+"}";break;case"|":if(0===openenings.length){var altRegexGroup=groupify(currentToken.matches);altRegexGroup.openGroup=!0,openenings.push(altRegexGroup),currentToken.matches=[],closeRegexGroup=!0}break}if(escaped)defaultCase();else switch(m.charAt(0)){case"$":case"^":regexMask||defaultCase();break;case"(?=":break;case"(?!":break;case"(?<=":break;case"(?<!":break;case opts.escapeChar:escaped=!0,regexMask&&defaultCase();break;case opts.optionalmarker[1]:case opts.groupmarker[1]:closeGroup();break;case opts.optionalmarker[0]:openenings.push(new MaskToken(!1,!0));break;case opts.groupmarker[0]:openenings.push(new MaskToken(!0));break;case opts.quantifiermarker[0]:var quantifier=new MaskToken(!1,!1,!0);m=m.replace(/[{}]/g,"");var mqj=m.split("|"),mq=mqj[0].split(","),mq0=isNaN(mq[0])?mq[0]:parseInt(mq[0]),mq1=1===mq.length?mq0:isNaN(mq[1])?mq[1]:parseInt(mq[1]);"*"!==mq0&&"+"!==mq0||(mq0="*"===mq1?0:1),quantifier.quantifier={min:mq0,max:mq1,jit:mqj[1]};var matches=0<openenings.length?openenings[openenings.length-1].matches:currentToken.matches;if(match=matches.pop(),match.isAlternator){matches.push(match),matches=match.matches;var groupToken=new MaskToken(!0),tmpMatch=matches.pop();matches.push(groupToken),matches=groupToken.matches,match=tmpMatch}match.isGroup||(match=groupify([match])),matches.push(match),matches.push(quantifier);break;case opts.alternatormarker:if(0<openenings.length){currentOpeningToken=openenings[openenings.length-1];var subToken=currentOpeningToken.matches[currentOpeningToken.matches.length-1];lastMatch=currentOpeningToken.openGroup&&(void 0===subToken.matches||!1===subToken.isGroup&&!1===subToken.isAlternator)?openenings.pop():groupQuantifier(currentOpeningToken.matches)}else lastMatch=groupQuantifier(currentToken.matches);if(lastMatch.isAlternator)openenings.push(lastMatch);else if(lastMatch.alternatorGroup?(alternator=openenings.pop(),lastMatch.alternatorGroup=!1):alternator=new MaskToken(!1,!1,!1,!0),alternator.matches.push(lastMatch),openenings.push(alternator),lastMatch.openGroup){lastMatch.openGroup=!1;var alternatorGroup=new MaskToken(!0);alternatorGroup.alternatorGroup=!0,openenings.push(alternatorGroup)}break;default:defaultCase()}}for(closeRegexGroup&&closeGroup();0<openenings.length;)openingToken=openenings.pop(),currentToken.matches.push(openingToken);return 0<currentToken.matches.length&&(verifyGroupMarker(currentToken),maskTokens.push(currentToken)),(opts.numericInput||opts.isRTL)&&reverseTokens(maskTokens[0]),maskTokens}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _default={9:{validator:"[0-9\uff10-\uff19]",definitionSymbol:"*"},a:{validator:"[A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]",definitionSymbol:"*"},"*":{validator:"[0-9\uff10-\uff19A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]"}};exports.default=_default},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _default={_maxTestPos:500,placeholder:"_",optionalmarker:["[","]"],quantifiermarker:["{","}"],groupmarker:["(",")"],alternatormarker:"|",escapeChar:"\\",mask:null,regex:null,oncomplete:function oncomplete(){},onincomplete:function onincomplete(){},oncleared:function oncleared(){},repeat:0,greedy:!1,autoUnmask:!1,removeMaskOnSubmit:!1,clearMaskOnLostFocus:!0,insertMode:!0,insertModeVisual:!0,clearIncomplete:!1,alias:null,onKeyDown:function onKeyDown(){},onBeforeMask:null,onBeforePaste:function onBeforePaste(pastedValue,opts){return"function"==typeof opts.onBeforeMask?opts.onBeforeMask.call(this,pastedValue,opts):pastedValue},onBeforeWrite:null,onUnMask:null,showMaskOnFocus:!0,showMaskOnHover:!0,onKeyValidation:function onKeyValidation(){},skipOptionalPartCharacter:" ",numericInput:!1,rightAlign:!1,undoOnEscape:!0,radixPoint:"",_radixDance:!1,groupSeparator:"",keepStatic:null,positionCaretOnTab:!0,tabThrough:!1,supportsInputType:["text","tel","url","password","search"],ignorables:[8,9,19,27,33,34,35,36,37,38,39,40,45,46,93,112,113,114,115,116,117,118,119,120,121,122,123,0,229],isComplete:null,preValidation:null,postValidation:null,staticDefinitionSymbol:void 0,jitMasking:!1,nullable:!0,inputEventOnly:!1,noValuePatching:!1,positionCaretOnClick:"lvp",casing:null,inputmode:"text",importDataAttributes:!0,shiftPositions:!0,usePrototypeDefinitions:!0};exports.default=_default},function(module,exports,__webpack_require__){"use strict";var _inputmask=_interopRequireDefault(__webpack_require__(1)),_keycode=_interopRequireDefault(__webpack_require__(0)),_escapeRegex=_interopRequireDefault(__webpack_require__(13)),_positioning=__webpack_require__(2),_data=_interopRequireDefault(__webpack_require__(22));function _typeof(obj){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function _typeof(obj){return typeof obj}:function _typeof(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var $=_inputmask.default.dependencyLib,currentYear=(new Date).getFullYear(),formatCode={d:["[1-9]|[12][0-9]|3[01]",Date.prototype.setDate,"day",Date.prototype.getDate],dd:["0[1-9]|[12][0-9]|3[01]",Date.prototype.setDate,"day",function(){return pad(Date.prototype.getDate.call(this),2)}],ddd:[""],dddd:[""],m:["[1-9]|1[012]",Date.prototype.setMonth,"month",function(){return Date.prototype.getMonth.call(this)+1}],mm:["0[1-9]|1[012]",Date.prototype.setMonth,"month",function(){return pad(Date.prototype.getMonth.call(this)+1,2)}],mmm:[""],mmmm:[""],yy:["[0-9]{2}",Date.prototype.setFullYear,"year",function(){return pad(Date.prototype.getFullYear.call(this),2)}],yyyy:["[0-9]{4}",Date.prototype.setFullYear,"year",function(){return pad(Date.prototype.getFullYear.call(this),4)}],h:["[1-9]|1[0-2]",Date.prototype.setHours,"hours",Date.prototype.getHours],hh:["0[1-9]|1[0-2]",Date.prototype.setHours,"hours",function(){return pad(Date.prototype.getHours.call(this),2)}],hx:[function(x){return"[0-9]{".concat(x,"}")},Date.prototype.setHours,"hours",function(x){return Date.prototype.getHours}],H:["1?[0-9]|2[0-3]",Date.prototype.setHours,"hours",Date.prototype.getHours],HH:["0[0-9]|1[0-9]|2[0-3]",Date.prototype.setHours,"hours",function(){return pad(Date.prototype.getHours.call(this),2)}],Hx:[function(x){return"[0-9]{".concat(x,"}")},Date.prototype.setHours,"hours",function(x){return function(){return pad(Date.prototype.getHours.call(this),x)}}],M:["[1-5]?[0-9]",Date.prototype.setMinutes,"minutes",Date.prototype.getMinutes],MM:["0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]",Date.prototype.setMinutes,"minutes",function(){return pad(Date.prototype.getMinutes.call(this),2)}],s:["[1-5]?[0-9]",Date.prototype.setSeconds,"seconds",Date.prototype.getSeconds],ss:["0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]",Date.prototype.setSeconds,"seconds",function(){return pad(Date.prototype.getSeconds.call(this),2)}],l:["[0-9]{3}",Date.prototype.setMilliseconds,"milliseconds",function(){return pad(Date.prototype.getMilliseconds.call(this),3)}],L:["[0-9]{2}",Date.prototype.setMilliseconds,"milliseconds",function(){return pad(Date.prototype.getMilliseconds.call(this),2)}],t:["[ap]"],tt:["[ap]m"],T:["[AP]"],TT:["[AP]M"],Z:[""],o:[""],S:[""]},formatAlias={isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};function formatcode(match){var dynMatches=new RegExp("\\d+$").exec(match[0]);if(dynMatches&&void 0!==dynMatches[0]){var fcode=formatCode[match[0][0]+"x"].slice("");return fcode[0]=fcode[0](dynMatches[0]),fcode[3]=fcode[3](dynMatches[0]),fcode}if(formatCode[match[0]])return formatCode[match[0]]}function getTokenizer(opts){if(!opts.tokenizer){var tokens=[],dyntokens=[];for(var ndx in formatCode)if(/\.*x$/.test(ndx)){var dynToken=ndx[0]+"\\d+";-1===dyntokens.indexOf(dynToken)&&dyntokens.push(dynToken)}else-1===tokens.indexOf(ndx[0])&&tokens.push(ndx[0]);opts.tokenizer="("+(0<dyntokens.length?dyntokens.join("|")+"|":"")+tokens.join("+|")+")+?|.",opts.tokenizer=new RegExp(opts.tokenizer,"g")}return opts.tokenizer}function prefillYear(dateParts,currentResult,opts){if(dateParts.year!==dateParts.rawyear){var crrntyear=currentYear.toString(),enteredPart=dateParts.rawyear.replace(/[^0-9]/g,""),currentYearPart=crrntyear.slice(0,enteredPart.length),currentYearNextPart=crrntyear.slice(enteredPart.length);if(2===enteredPart.length&&enteredPart===currentYearPart){var entryCurrentYear=new Date(currentYear,dateParts.month-1,dateParts.day);dateParts.day==entryCurrentYear.getDate()&&(!opts.max||opts.max.date.getTime()>=entryCurrentYear.getTime())&&(dateParts.date.setFullYear(currentYear),dateParts.year=crrntyear,currentResult.insert=[{pos:currentResult.pos+1,c:currentYearNextPart[0]},{pos:currentResult.pos+2,c:currentYearNextPart[1]}])}}return currentResult}function isValidDate(dateParts,currentResult,opts){if(void 0===dateParts.rawday||!isFinite(dateParts.rawday)&&new Date(dateParts.date.getFullYear(),isFinite(dateParts.rawmonth)?dateParts.month:dateParts.date.getMonth()+1,0).getDate()>=dateParts.day||"29"==dateParts.day&&!isFinite(dateParts.rawyear)||new Date(dateParts.date.getFullYear(),isFinite(dateParts.rawmonth)?dateParts.month:dateParts.date.getMonth()+1,0).getDate()>=dateParts.day)return currentResult;if("29"==dateParts.day){var tokenMatch=getTokenMatch(currentResult.pos,opts);if("yyyy"===tokenMatch.targetMatch[0]&&currentResult.pos-tokenMatch.targetMatchIndex==2)return currentResult.remove=currentResult.pos+1,currentResult}else if("02"==dateParts.month&&"30"==dateParts.day)return dateParts.day="03",dateParts.date.setDate(3),dateParts.date.setMonth(1),currentResult.insert=[{pos:currentResult.pos,c:"0"},{pos:currentResult.pos+1,c:currentResult.c}],currentResult.caret=_positioning.seekNext.call(this,currentResult.pos+1),currentResult;return!1}function isDateInRange(dateParts,result,opts,maskset,fromCheckval){if(!result)return result;if(opts.min){if(dateParts.rawyear){var rawYear=dateParts.rawyear.replace(/[^0-9]/g,""),minYear=opts.min.year.substr(0,rawYear.length),maxYear;if(rawYear<minYear){var tokenMatch=getTokenMatch(result.pos,opts);if(rawYear=dateParts.rawyear.substr(0,result.pos-tokenMatch.targetMatchIndex+1).replace(/[^0-9]/g,"0"),minYear=opts.min.year.substr(0,rawYear.length),minYear<=rawYear)return result.remove=tokenMatch.targetMatchIndex+rawYear.length,result;if(rawYear="yyyy"===tokenMatch.targetMatch[0]?dateParts.rawyear.substr(1,1):dateParts.rawyear.substr(0,1),minYear=opts.min.year.substr(2,1),maxYear=opts.max?opts.max.year.substr(2,1):rawYear,1===rawYear.length&&minYear<=rawYear&&rawYear<=maxYear&&!0!==fromCheckval)return"yyyy"===tokenMatch.targetMatch[0]?(result.insert=[{pos:result.pos+1,c:rawYear,strict:!0}],result.caret=result.pos+2,maskset.validPositions[result.pos].input=opts.min.year[1]):(result.insert=[{pos:result.pos+1,c:opts.min.year[1],strict:!0},{pos:result.pos+2,c:rawYear,strict:!0}],result.caret=result.pos+3,maskset.validPositions[result.pos].input=opts.min.year[0]),result;result=!1}}result&&dateParts.year&&dateParts.year===dateParts.rawyear&&opts.min.date.getTime()==opts.min.date.getTime()&&(result=opts.min.date.getTime()<=dateParts.date.getTime())}return result&&opts.max&&opts.max.date.getTime()==opts.max.date.getTime()&&(result=opts.max.date.getTime()>=dateParts.date.getTime()),result}function parse(format,dateObjValue,opts,raw){var mask="",match,fcode;for(getTokenizer(opts).lastIndex=0;match=getTokenizer(opts).exec(format);)if(void 0===dateObjValue)if(fcode=formatcode(match))mask+="("+fcode[0]+")";else switch(match[0]){case"[":mask+="(";break;case"]":mask+=")?";break;default:mask+=(0,_escapeRegex.default)(match[0])}else if(fcode=formatcode(match))if(!0!==raw&&fcode[3]){var getFn=fcode[3];mask+=getFn.call(dateObjValue.date)}else fcode[2]?mask+=dateObjValue["raw"+fcode[2]]:mask+=match[0];else mask+=match[0];return mask}function pad(val,len){for(val=String(val),len=len||2;val.length<len;)val="0"+val;return val}function analyseMask(maskString,format,opts){var dateObj={date:new Date(1,0,1)},targetProp,mask=maskString,match,dateOperation;function setValue(dateObj,value,opts){if(dateObj[targetProp]=value.replace(/[^0-9]/g,"0"),dateObj["raw"+targetProp]=value,void 0!==dateOperation){var datavalue=dateObj[targetProp];"day"===targetProp&&0===parseInt(datavalue)&&(datavalue=1),"month"===targetProp&&(datavalue=parseInt(datavalue),0<datavalue)&&(datavalue-=1),dateOperation.call(dateObj.date,datavalue)}}if("string"==typeof mask){for(getTokenizer(opts).lastIndex=0;match=getTokenizer(opts).exec(format);){var dynMatches=new RegExp("\\d+$").exec(match[0]),fcode=dynMatches?match[0][0]+"x":match[0],value=void 0;if(dynMatches){var lastIndex=getTokenizer(opts).lastIndex,tokanMatch=getTokenMatch(match.index,opts);getTokenizer(opts).lastIndex=lastIndex,value=mask.slice(0,mask.indexOf(tokanMatch.nextMatch[0]))}else value=mask.slice(0,fcode.length);Object.prototype.hasOwnProperty.call(formatCode,fcode)&&(targetProp=formatCode[fcode][2],dateOperation=formatCode[fcode][1],setValue(dateObj,value,opts)),mask=mask.slice(value.length)}return dateObj}if(mask&&"object"===_typeof(mask)&&Object.prototype.hasOwnProperty.call(mask,"date"))return mask}function importDate(dateObj,opts){return parse(opts.inputFormat,{date:dateObj},opts)}function getTokenMatch(pos,opts){var calcPos=0,targetMatch,match,matchLength=0;for(getTokenizer(opts).lastIndex=0;match=getTokenizer(opts).exec(opts.inputFormat);){var dynMatches=new RegExp("\\d+$").exec(match[0]);if(matchLength=dynMatches?parseInt(dynMatches[0]):match[0].length,calcPos+=matchLength,pos<=calcPos){targetMatch=match,match=getTokenizer(opts).exec(opts.inputFormat);break}}return{targetMatchIndex:calcPos-matchLength,nextMatch:match,targetMatch:targetMatch}}_inputmask.default.extendAliases({datetime:{mask:function mask(opts){return opts.numericInput=!1,formatCode.S=opts.i18n.ordinalSuffix.join("|"),opts.inputFormat=formatAlias[opts.inputFormat]||opts.inputFormat,opts.displayFormat=formatAlias[opts.displayFormat]||opts.displayFormat||opts.inputFormat,opts.outputFormat=formatAlias[opts.outputFormat]||opts.outputFormat||opts.inputFormat,opts.placeholder=""!==opts.placeholder?opts.placeholder:opts.inputFormat.replace(/[[\]]/,""),opts.regex=parse(opts.inputFormat,void 0,opts),opts.min=analyseMask(opts.min,opts.inputFormat,opts),opts.max=analyseMask(opts.max,opts.inputFormat,opts),null},placeholder:"",inputFormat:"isoDateTime",displayFormat:void 0,outputFormat:void 0,min:null,max:null,skipOptionalPartCharacter:"",i18n:{dayNames:["Mon","Tue","Wed","Thu","Fri","Sat","Sun","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"],ordinalSuffix:["st","nd","rd","th"]},preValidation:function preValidation(buffer,pos,c,isSelection,opts,maskset,caretPos,strict){if(strict)return!0;if(isNaN(c)&&buffer[pos]!==c){var tokenMatch=getTokenMatch(pos,opts);if(tokenMatch.nextMatch&&tokenMatch.nextMatch[0]===c&&1<tokenMatch.targetMatch[0].length){var validator=formatCode[tokenMatch.targetMatch[0]][0];if(new RegExp(validator).test("0"+buffer[pos-1]))return buffer[pos]=buffer[pos-1],buffer[pos-1]="0",{fuzzy:!0,buffer:buffer,refreshFromBuffer:{start:pos-1,end:pos+1},pos:pos+1}}}return!0},postValidation:function postValidation(buffer,pos,c,currentResult,opts,maskset,strict,fromCheckval){var inputmask=this,tokenMatch,validator;if(strict)return!0;if(!1===currentResult)return tokenMatch=getTokenMatch(pos+1,opts),tokenMatch.targetMatch&&tokenMatch.targetMatchIndex===pos&&1<tokenMatch.targetMatch[0].length&&void 0!==formatCode[tokenMatch.targetMatch[0]]&&(validator=formatCode[tokenMatch.targetMatch[0]][0],new RegExp(validator).test("0"+c))?{insert:[{pos:pos,c:"0"},{pos:pos+1,c:c}],pos:pos+1}:currentResult;if(currentResult.fuzzy&&(buffer=currentResult.buffer,pos=currentResult.pos),tokenMatch=getTokenMatch(pos,opts),tokenMatch.targetMatch&&tokenMatch.targetMatch[0]&&void 0!==formatCode[tokenMatch.targetMatch[0]]){validator=formatCode[tokenMatch.targetMatch[0]][0];var part=buffer.slice(tokenMatch.targetMatchIndex,tokenMatch.targetMatchIndex+tokenMatch.targetMatch[0].length);!1===new RegExp(validator).test(part.join(""))&&2===tokenMatch.targetMatch[0].length&&maskset.validPositions[tokenMatch.targetMatchIndex]&&maskset.validPositions[tokenMatch.targetMatchIndex+1]&&(maskset.validPositions[tokenMatch.targetMatchIndex+1].input="0")}var result=currentResult,dateParts=analyseMask(buffer.join(""),opts.inputFormat,opts);return result&&dateParts.date.getTime()==dateParts.date.getTime()&&(result=prefillYear(dateParts,result,opts),result=isValidDate.call(this,dateParts,result,opts),result=isDateInRange(dateParts,result,opts,maskset,fromCheckval)),pos&&result&&currentResult.pos!==pos?{buffer:parse(opts.inputFormat,dateParts,opts).split(""),refreshFromBuffer:{start:pos,end:currentResult.pos}}:result},onKeyDown:function onKeyDown(e,buffer,caretPos,opts){var input=this;e.ctrlKey&&e.keyCode===_keycode.default.RIGHT&&(this.inputmask._valueSet(importDate(new Date,opts)),$(this).trigger("setvalue"))},onUnMask:function onUnMask(maskedValue,unmaskedValue,opts){return unmaskedValue?parse(opts.outputFormat,analyseMask(maskedValue,opts.inputFormat,opts),opts,!0):unmaskedValue},casing:function casing(elem,test,pos,validPositions){return 0==test.nativeDef.indexOf("[ap]")?elem.toLowerCase():0==test.nativeDef.indexOf("[AP]")?elem.toUpperCase():elem},onBeforeMask:function onBeforeMask(initialValue,opts){return"[object Date]"===Object.prototype.toString.call(initialValue)&&(initialValue=importDate(initialValue,opts)),initialValue},insertMode:!1,shiftPositions:!1,keepStatic:!1,inputmode:"numeric"}})},function(module,exports,__webpack_require__){"use strict";function _default(owner,key,value){if(void 0===value)return owner.__data?owner.__data[key]:null;owner.__data=owner.__data||{},owner.__data[key]=value}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=_default},function(module,exports,__webpack_require__){"use strict";var _inputmask=_interopRequireDefault(__webpack_require__(1)),_keycode=_interopRequireDefault(__webpack_require__(0)),_escapeRegex=_interopRequireDefault(__webpack_require__(13));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var $=_inputmask.default.dependencyLib;function autoEscape(txt,opts){for(var escapedTxt="",i=0;i<txt.length;i++)_inputmask.default.prototype.definitions[txt.charAt(i)]||opts.definitions[txt.charAt(i)]||opts.optionalmarker[0]===txt.charAt(i)||opts.optionalmarker[1]===txt.charAt(i)||opts.quantifiermarker[0]===txt.charAt(i)||opts.quantifiermarker[1]===txt.charAt(i)||opts.groupmarker[0]===txt.charAt(i)||opts.groupmarker[1]===txt.charAt(i)||opts.alternatormarker===txt.charAt(i)?escapedTxt+="\\"+txt.charAt(i):escapedTxt+=txt.charAt(i);return escapedTxt}function alignDigits(buffer,digits,opts,force){if(0<buffer.length&&0<digits&&(!opts.digitsOptional||force)){var radixPosition=buffer.indexOf(opts.radixPoint),negationBack=!1;opts.negationSymbol.back===buffer[buffer.length-1]&&(negationBack=!0,buffer.length--),-1===radixPosition&&(buffer.push(opts.radixPoint),radixPosition=buffer.length-1);for(var i=1;i<=digits;i++)isFinite(buffer[radixPosition+i])||(buffer[radixPosition+i]="0")}return negationBack&&buffer.push(opts.negationSymbol.back),buffer}function findValidator(symbol,maskset){var posNdx=0;if("+"===symbol){for(posNdx in maskset.validPositions);posNdx=parseInt(posNdx)}for(var tstNdx in maskset.tests)if(tstNdx=parseInt(tstNdx),posNdx<=tstNdx)for(var ndx=0,ndxl=maskset.tests[tstNdx].length;ndx<ndxl;ndx++)if((void 0===maskset.validPositions[tstNdx]||"-"===symbol)&&maskset.tests[tstNdx][ndx].match.def===symbol)return tstNdx+(void 0!==maskset.validPositions[tstNdx]&&"-"!==symbol?1:0);return posNdx}function findValid(symbol,maskset){var ret=-1;for(var ndx in maskset.validPositions){var tst=maskset.validPositions[ndx];if(tst&&tst.match.def===symbol){ret=parseInt(ndx);break}}return ret}function parseMinMaxOptions(opts){void 0===opts.parseMinMaxOptions&&(null!==opts.min&&(opts.min=opts.min.toString().replace(new RegExp((0,_escapeRegex.default)(opts.groupSeparator),"g"),""),","===opts.radixPoint&&(opts.min=opts.min.replace(opts.radixPoint,".")),opts.min=isFinite(opts.min)?parseFloat(opts.min):NaN,isNaN(opts.min)&&(opts.min=Number.MIN_VALUE)),null!==opts.max&&(opts.max=opts.max.toString().replace(new RegExp((0,_escapeRegex.default)(opts.groupSeparator),"g"),""),","===opts.radixPoint&&(opts.max=opts.max.replace(opts.radixPoint,".")),opts.max=isFinite(opts.max)?parseFloat(opts.max):NaN,isNaN(opts.max)&&(opts.max=Number.MAX_VALUE)),opts.parseMinMaxOptions="done")}function genMask(opts){opts.repeat=0,opts.groupSeparator===opts.radixPoint&&opts.digits&&"0"!==opts.digits&&("."===opts.radixPoint?opts.groupSeparator=",":","===opts.radixPoint?opts.groupSeparator=".":opts.groupSeparator="")," "===opts.groupSeparator&&(opts.skipOptionalPartCharacter=void 0),1<opts.placeholder.length&&(opts.placeholder=opts.placeholder.charAt(0)),"radixFocus"===opts.positionCaretOnClick&&""===opts.placeholder&&(opts.positionCaretOnClick="lvp");var decimalDef="0",radixPointDef=opts.radixPoint;!0===opts.numericInput&&void 0===opts.__financeInput?(decimalDef="1",opts.positionCaretOnClick="radixFocus"===opts.positionCaretOnClick?"lvp":opts.positionCaretOnClick,opts.digitsOptional=!1,isNaN(opts.digits)&&(opts.digits=2),opts._radixDance=!1,radixPointDef=","===opts.radixPoint?"?":"!",""!==opts.radixPoint&&void 0===opts.definitions[radixPointDef]&&(opts.definitions[radixPointDef]={},opts.definitions[radixPointDef].validator="["+opts.radixPoint+"]",opts.definitions[radixPointDef].placeholder=opts.radixPoint,opts.definitions[radixPointDef].static=!0,opts.definitions[radixPointDef].generated=!0)):(opts.__financeInput=!1,opts.numericInput=!0);var mask="[+]",altMask;if(mask+=autoEscape(opts.prefix,opts),""!==opts.groupSeparator?(void 0===opts.definitions[opts.groupSeparator]&&(opts.definitions[opts.groupSeparator]={},opts.definitions[opts.groupSeparator].validator="["+opts.groupSeparator+"]",opts.definitions[opts.groupSeparator].placeholder=opts.groupSeparator,opts.definitions[opts.groupSeparator].static=!0,opts.definitions[opts.groupSeparator].generated=!0),mask+=opts._mask(opts)):mask+="9{+}",void 0!==opts.digits&&0!==opts.digits){var dq=opts.digits.toString().split(",");isFinite(dq[0])&&dq[1]&&isFinite(dq[1])?mask+=radixPointDef+decimalDef+"{"+opts.digits+"}":(isNaN(opts.digits)||0<parseInt(opts.digits))&&(opts.digitsOptional?(altMask=mask+radixPointDef+decimalDef+"{0,"+opts.digits+"}",opts.keepStatic=!0):mask+=radixPointDef+decimalDef+"{"+opts.digits+"}")}return mask+=autoEscape(opts.suffix,opts),mask+="[-]",altMask&&(mask=[altMask+autoEscape(opts.suffix,opts)+"[-]",mask]),opts.greedy=!1,parseMinMaxOptions(opts),mask}function hanndleRadixDance(pos,c,radixPos,maskset,opts){return opts._radixDance&&opts.numericInput&&c!==opts.negationSymbol.back&&pos<=radixPos&&(0<radixPos||c==opts.radixPoint)&&(void 0===maskset.validPositions[pos-1]||maskset.validPositions[pos-1].input!==opts.negationSymbol.back)&&(pos-=1),pos}function decimalValidator(chrs,maskset,pos,strict,opts){var radixPos=maskset.buffer?maskset.buffer.indexOf(opts.radixPoint):-1,result=-1!==radixPos&&new RegExp("[0-9\uff11-\uff19]").test(chrs);return opts._radixDance&&result&&null==maskset.validPositions[radixPos]?{insert:{pos:radixPos===pos?radixPos+1:radixPos,c:opts.radixPoint},pos:pos}:result}function checkForLeadingZeroes(buffer,opts){var numberMatches=new RegExp("(^"+(""!==opts.negationSymbol.front?(0,_escapeRegex.default)(opts.negationSymbol.front)+"?":"")+(0,_escapeRegex.default)(opts.prefix)+")(.*)("+(0,_escapeRegex.default)(opts.suffix)+(""!=opts.negationSymbol.back?(0,_escapeRegex.default)(opts.negationSymbol.back)+"?":"")+"$)").exec(buffer.slice().reverse().join("")),number=numberMatches?numberMatches[2]:"",leadingzeroes=!1;return number&&(number=number.split(opts.radixPoint.charAt(0))[0],leadingzeroes=new RegExp("^[0"+opts.groupSeparator+"]*").exec(number)),!(!leadingzeroes||!(1<leadingzeroes[0].length||0<leadingzeroes[0].length&&leadingzeroes[0].length<number.length))&&leadingzeroes}_inputmask.default.extendAliases({numeric:{mask:genMask,_mask:function _mask(opts){return"("+opts.groupSeparator+"999){+|1}"},digits:"*",digitsOptional:!0,enforceDigitsOnBlur:!1,radixPoint:".",positionCaretOnClick:"radixFocus",_radixDance:!0,groupSeparator:"",allowMinus:!0,negationSymbol:{front:"-",back:""},prefix:"",suffix:"",min:null,max:null,SetMaxOnOverflow:!1,step:1,inputType:"text",unmaskAsNumber:!1,roundingFN:Math.round,inputmode:"numeric",shortcuts:{k:"000",m:"000000"},placeholder:"0",greedy:!1,rightAlign:!0,insertMode:!0,autoUnmask:!1,skipOptionalPartCharacter:"",definitions:{0:{validator:decimalValidator},1:{validator:decimalValidator,definitionSymbol:"9"},"+":{validator:function validator(chrs,maskset,pos,strict,opts){return opts.allowMinus&&("-"===chrs||chrs===opts.negationSymbol.front)}},"-":{validator:function validator(chrs,maskset,pos,strict,opts){return opts.allowMinus&&chrs===opts.negationSymbol.back}}},preValidation:function preValidation(buffer,pos,c,isSelection,opts,maskset,caretPos,strict){if(!1!==opts.__financeInput&&c===opts.radixPoint)return!1;var pattern;if(pattern=opts.shortcuts&&opts.shortcuts[c]){if(1<pattern.length)for(var inserts=[],i=0;i<pattern.length;i++)inserts.push({pos:pos+i,c:pattern[i],strict:!1});return{insert:inserts}}var radixPos=buffer.indexOf(opts.radixPoint),initPos=pos;if(pos=hanndleRadixDance(pos,c,radixPos,maskset,opts),"-"===c||c===opts.negationSymbol.front){if(!0!==opts.allowMinus)return!1;var isNegative=!1,front=findValid("+",maskset),back=findValid("-",maskset);return-1!==front&&(isNegative=[front,back]),!1!==isNegative?{remove:isNegative,caret:initPos-opts.negationSymbol.front.length}:{insert:[{pos:findValidator("+",maskset),c:opts.negationSymbol.front,fromIsValid:!0},{pos:findValidator("-",maskset),c:opts.negationSymbol.back,fromIsValid:void 0}],caret:initPos+opts.negationSymbol.back.length}}if(c===opts.groupSeparator)return{caret:initPos};if(strict)return!0;if(-1!==radixPos&&!0===opts._radixDance&&!1===isSelection&&c===opts.radixPoint&&void 0!==opts.digits&&(isNaN(opts.digits)||0<parseInt(opts.digits))&&radixPos!==pos)return{caret:opts._radixDance&&pos===radixPos-1?radixPos+1:radixPos};if(!1===opts.__financeInput)if(isSelection){if(opts.digitsOptional)return{rewritePosition:caretPos.end};if(!opts.digitsOptional){if(caretPos.begin>radixPos&&caretPos.end<=radixPos)return c===opts.radixPoint?{insert:{pos:radixPos+1,c:"0",fromIsValid:!0},rewritePosition:radixPos}:{rewritePosition:radixPos+1};if(caretPos.begin<radixPos)return{rewritePosition:caretPos.begin-1}}}else if(!opts.showMaskOnHover&&!opts.showMaskOnFocus&&!opts.digitsOptional&&0<opts.digits&&""===this.inputmask.__valueGet.call(this))return{rewritePosition:radixPos};return{rewritePosition:pos}},postValidation:function postValidation(buffer,pos,c,currentResult,opts,maskset,strict){if(!1===currentResult)return currentResult;if(strict)return!0;if(null!==opts.min||null!==opts.max){var unmasked=opts.onUnMask(buffer.slice().reverse().join(""),void 0,$.extend({},opts,{unmaskAsNumber:!0}));if(null!==opts.min&&unmasked<opts.min&&(unmasked.toString().length>opts.min.toString().length||unmasked<0))return!1;if(null!==opts.max&&unmasked>opts.max)return!!opts.SetMaxOnOverflow&&{refreshFromBuffer:!0,buffer:alignDigits(opts.max.toString().replace(".",opts.radixPoint).split(""),opts.digits,opts).reverse()}}return currentResult},onUnMask:function onUnMask(maskedValue,unmaskedValue,opts){if(""===unmaskedValue&&!0===opts.nullable)return unmaskedValue;var processValue=maskedValue.replace(opts.prefix,"");return processValue=processValue.replace(opts.suffix,""),processValue=processValue.replace(new RegExp((0,_escapeRegex.default)(opts.groupSeparator),"g"),""),""!==opts.placeholder.charAt(0)&&(processValue=processValue.replace(new RegExp(opts.placeholder.charAt(0),"g"),"0")),opts.unmaskAsNumber?(""!==opts.radixPoint&&-1!==processValue.indexOf(opts.radixPoint)&&(processValue=processValue.replace(_escapeRegex.default.call(this,opts.radixPoint),".")),processValue=processValue.replace(new RegExp("^"+(0,_escapeRegex.default)(opts.negationSymbol.front)),"-"),processValue=processValue.replace(new RegExp((0,_escapeRegex.default)(opts.negationSymbol.back)+"$"),""),Number(processValue)):processValue},isComplete:function isComplete(buffer,opts){var maskedValue=(opts.numericInput?buffer.slice().reverse():buffer).join("");return maskedValue=maskedValue.replace(new RegExp("^"+(0,_escapeRegex.default)(opts.negationSymbol.front)),"-"),maskedValue=maskedValue.replace(new RegExp((0,_escapeRegex.default)(opts.negationSymbol.back)+"$"),""),maskedValue=maskedValue.replace(opts.prefix,""),maskedValue=maskedValue.replace(opts.suffix,""),maskedValue=maskedValue.replace(new RegExp((0,_escapeRegex.default)(opts.groupSeparator)+"([0-9]{3})","g"),"$1"),","===opts.radixPoint&&(maskedValue=maskedValue.replace((0,_escapeRegex.default)(opts.radixPoint),".")),isFinite(maskedValue)},onBeforeMask:function onBeforeMask(initialValue,opts){var radixPoint=opts.radixPoint||",";isFinite(opts.digits)&&(opts.digits=parseInt(opts.digits)),"number"!=typeof initialValue&&"number"!==opts.inputType||""===radixPoint||(initialValue=initialValue.toString().replace(".",radixPoint));var isNagtive="-"===initialValue.charAt(0)||initialValue.charAt(0)===opts.negationSymbol.front,valueParts=initialValue.split(radixPoint),integerPart=valueParts[0].replace(/[^\-0-9]/g,""),decimalPart=1<valueParts.length?valueParts[1].replace(/[^0-9]/g,""):"",forceDigits=1<valueParts.length;initialValue=integerPart+(""!==decimalPart?radixPoint+decimalPart:decimalPart);var digits=0;if(""!==radixPoint&&(digits=opts.digitsOptional?opts.digits<decimalPart.length?opts.digits:decimalPart.length:opts.digits,""!==decimalPart||!opts.digitsOptional)){var digitsFactor=Math.pow(10,digits||1);initialValue=initialValue.replace((0,_escapeRegex.default)(radixPoint),"."),isNaN(parseFloat(initialValue))||(initialValue=(opts.roundingFN(parseFloat(initialValue)*digitsFactor)/digitsFactor).toFixed(digits)),initialValue=initialValue.toString().replace(".",radixPoint)}if(0===opts.digits&&-1!==initialValue.indexOf(radixPoint)&&(initialValue=initialValue.substring(0,initialValue.indexOf(radixPoint))),null!==opts.min||null!==opts.max){var numberValue=initialValue.toString().replace(radixPoint,".");null!==opts.min&&numberValue<opts.min?initialValue=opts.min.toString().replace(".",radixPoint):null!==opts.max&&numberValue>opts.max&&(initialValue=opts.max.toString().replace(".",radixPoint))}return isNagtive&&"-"!==initialValue.charAt(0)&&(initialValue="-"+initialValue),alignDigits(initialValue.toString().split(""),digits,opts,forceDigits).join("")},onBeforeWrite:function onBeforeWrite(e,buffer,caretPos,opts){function stripBuffer(buffer,stripRadix){if(!1!==opts.__financeInput||stripRadix){var position=buffer.indexOf(opts.radixPoint);-1!==position&&buffer.splice(position,1)}if(""!==opts.groupSeparator)for(;-1!==(position=buffer.indexOf(opts.groupSeparator));)buffer.splice(position,1);return buffer}var result,leadingzeroes=checkForLeadingZeroes(buffer,opts);if(leadingzeroes)for(var caretNdx=buffer.join("").lastIndexOf(leadingzeroes[0].split("").reverse().join(""))-(leadingzeroes[0]==leadingzeroes.input?0:1),offset=leadingzeroes[0]==leadingzeroes.input?1:0,i=leadingzeroes[0].length-offset;0<i;i--)delete this.maskset.validPositions[caretNdx+i],delete buffer[caretNdx+i];if(e)switch(e.type){case"blur":case"checkval":if(null!==opts.min){var unmasked=opts.onUnMask(buffer.slice().reverse().join(""),void 0,$.extend({},opts,{unmaskAsNumber:!0}));if(null!==opts.min&&unmasked<opts.min)return{refreshFromBuffer:!0,buffer:alignDigits(opts.min.toString().replace(".",opts.radixPoint).split(""),opts.digits,opts).reverse()}}if(buffer[buffer.length-1]===opts.negationSymbol.front){var nmbrMtchs=new RegExp("(^"+(""!=opts.negationSymbol.front?(0,_escapeRegex.default)(opts.negationSymbol.front)+"?":"")+(0,_escapeRegex.default)(opts.prefix)+")(.*)("+(0,_escapeRegex.default)(opts.suffix)+(""!=opts.negationSymbol.back?(0,_escapeRegex.default)(opts.negationSymbol.back)+"?":"")+"$)").exec(stripBuffer(buffer.slice(),!0).reverse().join("")),number=nmbrMtchs?nmbrMtchs[2]:"";0==number&&(result={refreshFromBuffer:!0,buffer:[0]})}else""!==opts.radixPoint&&buffer[0]===opts.radixPoint&&(result&&result.buffer?result.buffer.shift():(buffer.shift(),result={refreshFromBuffer:!0,buffer:stripBuffer(buffer)}));if(opts.enforceDigitsOnBlur){result=result||{};var bffr=result&&result.buffer||buffer.slice().reverse();result.refreshFromBuffer=!0,result.buffer=alignDigits(bffr,opts.digits,opts,!0).reverse()}}return result},onKeyDown:function onKeyDown(e,buffer,caretPos,opts){var $input=$(this),bffr;if(e.ctrlKey)switch(e.keyCode){case _keycode.default.UP:return this.inputmask.__valueSet.call(this,parseFloat(this.inputmask.unmaskedvalue())+parseInt(opts.step)),$input.trigger("setvalue"),!1;case _keycode.default.DOWN:return this.inputmask.__valueSet.call(this,parseFloat(this.inputmask.unmaskedvalue())-parseInt(opts.step)),$input.trigger("setvalue"),!1}if(!e.shiftKey&&(e.keyCode===_keycode.default.DELETE||e.keyCode===_keycode.default.BACKSPACE||e.keyCode===_keycode.default.BACKSPACE_SAFARI)&&caretPos.begin!==buffer.length){if(buffer[e.keyCode===_keycode.default.DELETE?caretPos.begin-1:caretPos.end]===opts.negationSymbol.front)return bffr=buffer.slice().reverse(),""!==opts.negationSymbol.front&&bffr.shift(),""!==opts.negationSymbol.back&&bffr.pop(),$input.trigger("setvalue",[bffr.join(""),caretPos.begin]),!1;if(!0===opts._radixDance){var radixPos=buffer.indexOf(opts.radixPoint);if(opts.digitsOptional){if(0===radixPos)return bffr=buffer.slice().reverse(),bffr.pop(),$input.trigger("setvalue",[bffr.join(""),caretPos.begin>=bffr.length?bffr.length:caretPos.begin]),!1}else if(-1!==radixPos&&(caretPos.begin<radixPos||caretPos.end<radixPos||e.keyCode===_keycode.default.DELETE&&caretPos.begin===radixPos))return caretPos.begin!==caretPos.end||e.keyCode!==_keycode.default.BACKSPACE&&e.keyCode!==_keycode.default.BACKSPACE_SAFARI||caretPos.begin++,bffr=buffer.slice().reverse(),bffr.splice(bffr.length-caretPos.begin,caretPos.begin-caretPos.end+1),bffr=alignDigits(bffr,opts.digits,opts).join(""),$input.trigger("setvalue",[bffr,caretPos.begin>=bffr.length?radixPos+1:caretPos.begin]),!1}}}},currency:{prefix:"",groupSeparator:",",alias:"numeric",digits:2,digitsOptional:!1},decimal:{alias:"numeric"},integer:{alias:"numeric",digits:0},percentage:{alias:"numeric",min:0,max:100,suffix:" %",digits:0,allowMinus:!1},indianns:{alias:"numeric",_mask:function _mask(opts){return"("+opts.groupSeparator+"99){*|1}("+opts.groupSeparator+"999){1|1}"},groupSeparator:",",radixPoint:".",placeholder:"0",digits:2,digitsOptional:!1}})},function(module,exports,__webpack_require__){"use strict";var _window=_interopRequireDefault(__webpack_require__(12)),_inputmask=_interopRequireDefault(__webpack_require__(1));function _typeof(obj){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function _typeof(obj){return typeof obj}:function _typeof(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _inherits(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:!0,configurable:!0}}),superClass&&_setPrototypeOf(subClass,superClass)}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget)}else result=Super.apply(this,arguments);return _possibleConstructorReturn(this,result)}}function _possibleConstructorReturn(self,call){return!call||"object"!==_typeof(call)&&"function"!=typeof call?_assertThisInitialized(self):call}function _assertThisInitialized(self){if(void 0===self)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return self}function _wrapNativeSuper(Class){var _cache="function"==typeof Map?new Map:void 0;return _wrapNativeSuper=function _wrapNativeSuper(Class){if(null===Class||!_isNativeFunction(Class))return Class;if("function"!=typeof Class)throw new TypeError("Super expression must either be null or a function");if("undefined"!=typeof _cache){if(_cache.has(Class))return _cache.get(Class);_cache.set(Class,Wrapper)}function Wrapper(){return _construct(Class,arguments,_getPrototypeOf(this).constructor)}return Wrapper.prototype=Object.create(Class.prototype,{constructor:{value:Wrapper,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(Wrapper,Class)},_wrapNativeSuper(Class)}function _construct(Parent,args,Class){return _construct=_isNativeReflectConstruct()?Reflect.construct:function _construct(Parent,args,Class){var a=[null];a.push.apply(a,args);var Constructor=Function.bind.apply(Parent,a),instance=new Constructor;return Class&&_setPrototypeOf(instance,Class.prototype),instance},_construct.apply(null,arguments)}function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}function _isNativeFunction(fn){return-1!==Function.toString.call(fn).indexOf("[native code]")}function _setPrototypeOf(o,p){return _setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(o,p){return o.__proto__=p,o},_setPrototypeOf(o,p)}function _getPrototypeOf(o){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o)},_getPrototypeOf(o)}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}var document=_window.default.document;if(document&&document.head&&document.head.attachShadow&&_window.default.customElements&&void 0===_window.default.customElements.get("input-mask")){var InputmaskElement=function(_HTMLElement){_inherits(InputmaskElement,_HTMLElement);var _super=_createSuper(InputmaskElement);function InputmaskElement(){var _this;_classCallCheck(this,InputmaskElement),_this=_super.call(this);var attributeNames=_this.getAttributeNames(),shadow=_this.attachShadow({mode:"closed"}),input=document.createElement("input");for(var attr in input.type="text",shadow.appendChild(input),attributeNames)Object.prototype.hasOwnProperty.call(attributeNames,attr)&&input.setAttribute(attributeNames[attr],_this.getAttribute(attributeNames[attr]));var im=new _inputmask.default;return im.dataAttribute="",im.mask(input),input.inputmask.shadowRoot=shadow,_this}return InputmaskElement}(_wrapNativeSuper(HTMLElement));_window.default.customElements.define("input-mask",InputmaskElement)}},function(module,exports,__webpack_require__){"use strict";var _jquery=_interopRequireDefault(__webpack_require__(8)),_inputmask=_interopRequireDefault(__webpack_require__(1));function _typeof(obj){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function _typeof(obj){return typeof obj}:function _typeof(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}void 0===_jquery.default.fn.inputmask&&(_jquery.default.fn.inputmask=function(fn,options){var nptmask,input=this[0];if(void 0===options&&(options={}),"string"==typeof fn)switch(fn){case"unmaskedvalue":return input&&input.inputmask?input.inputmask.unmaskedvalue():(0,_jquery.default)(input).val();case"remove":return this.each(function(){this.inputmask&&this.inputmask.remove()});case"getemptymask":return input&&input.inputmask?input.inputmask.getemptymask():"";case"hasMaskedValue":return!(!input||!input.inputmask)&&input.inputmask.hasMaskedValue();case"isComplete":return!input||!input.inputmask||input.inputmask.isComplete();case"getmetadata":return input&&input.inputmask?input.inputmask.getmetadata():void 0;case"setvalue":_inputmask.default.setValue(input,options);break;case"option":if("string"!=typeof options)return this.each(function(){if(void 0!==this.inputmask)return this.inputmask.option(options)});if(input&&void 0!==input.inputmask)return input.inputmask.option(options);break;default:return options.alias=fn,nptmask=new _inputmask.default(options),this.each(function(){nptmask.mask(this)})}else{if(Array.isArray(fn))return options.alias=fn,nptmask=new _inputmask.default(options),this.each(function(){nptmask.mask(this)});if("object"==_typeof(fn))return nptmask=new _inputmask.default(fn),void 0===fn.mask&&void 0===fn.alias?this.each(function(){if(void 0!==this.inputmask)return this.inputmask.option(fn);nptmask.mask(this)}):this.each(function(){nptmask.mask(this)});if(void 0===fn)return this.each(function(){nptmask=new _inputmask.default(options),nptmask.mask(this)})}})},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _bundle=_interopRequireDefault(__webpack_require__(14));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}__webpack_require__(25);var _default=_bundle.default;exports.default=_default}],installedModules={},__webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.d=function(exports,name,getter){__webpack_require__.o(exports,name)||Object.defineProperty(exports,name,{enumerable:!0,get:getter})},__webpack_require__.r=function(exports){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(exports,"__esModule",{value:!0})},__webpack_require__.t=function(value,mode){if(1&mode&&(value=__webpack_require__(value)),8&mode)return value;if(4&mode&&"object"==typeof value&&value&&value.__esModule)return value;var ns=Object.create(null);if(__webpack_require__.r(ns),Object.defineProperty(ns,"default",{enumerable:!0,value:value}),2&mode&&"string"!=typeof value)for(var key in value)__webpack_require__.d(ns,key,function(key){return value[key]}.bind(null,key));return ns},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function getDefault(){return module.default}:function getModuleExports(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="",__webpack_require__(__webpack_require__.s=26);function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var modules,installedModules}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/com/jquery.inputmask.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/html2pdf.bundle.js =================================================================== --- base3.10/src/main/webapp/js/com/html2pdf.bundle.js (nonexistent) +++ base3.10/src/main/webapp/js/com/html2pdf.bundle.js (revision 7) @@ -0,0 +1,9358 @@ +/** + * html2pdf.js v0.9.2 + * Copyright (c) 2020 Erik Koopmans + * Released under the MIT License. + */ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.html2pdf = factory()); +}(this, (function () { 'use strict'; + +var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; + +function commonjsRequire () { + throw new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs'); +} + +function unwrapExports (x) { + return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x; +} + +function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; +} + +var jspdf_min = createCommonjsModule(function (module, exports) { +!function(t,e){module.exports=e();}(commonjsGlobal,function(){var t,y,e,I,i,o,a,h,C,T,d,p,F,n,r,s,c,P,E,q,g,m,w,l,v,b,x,S,u,k,_,f,A,O,B,R,j,D,M,U,N,z,L,H,W,G,V,Y,X,J,K,Q,Z,vt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$=function(pt){var gt="1.3",mt={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],"government-letter":[576,756],legal:[612,1008],"junior-legal":[576,360],ledger:[1224,792],tabloid:[792,1224],"credit-card":[153,243]};function wt(o){var a={};this.subscribe=function(t,e,n){if("function"!=typeof e)return!1;a.hasOwnProperty(t)||(a[t]={});var r=Math.random().toString(35);return a[t][r]=[e,!!n], r}, this.unsubscribe=function(t){for(var e in a)if(a[e][t])return delete a[e][t], !0;return!1}, this.publish=function(t){if(a.hasOwnProperty(t)){var e=Array.prototype.slice.call(arguments,1),n=[];for(var r in a[t]){var i=a[t][r];try{i[0].apply(o,e);}catch(t){pt.console&&console.error("jsPDF PubSub Error",t.message,t);}i[1]&&n.push(r);}n.length&&n.forEach(this.unsubscribe);}};}function yt(t,e,n,r){var i={};"object"===(void 0===t?"undefined":vt(t))&&(t=(i=t).orientation, e=i.unit||e, n=i.format||n, r=i.compress||i.compressPdf||r), e=e||"mm", n=n||"a4", t=(""+(t||"P")).toLowerCase();(""+n).toLowerCase();var K,w,y,o,u,v,a,s,h,c,l,f=!!r&&"function"==typeof Uint8Array,Q=i.textColor||"0 g",d=i.drawColor||"0 G",Z=i.fontSize||16,$=i.charSpace||0,tt=i.R2L||!1,et=i.lineHeight||1.15,p=i.lineWidth||.200025,g="00000000000000000000000000000000",m=2,b=!1,x=[],nt={},S={},k=0,_=[],A=[],I=[],C=[],T=[],F=0,P=0,E=0,q={title:"",subject:"",author:"",keywords:"",creator:""},O={},rt=new wt(O),B=i.hotfixes||[],R=function(t){var e,n=t.ch1,r=t.ch2,i=t.ch3,o=t.ch4,a=(t.precision, "draw"===t.pdfColorType?["G","RG","K"]:["g","rg","k"]);if("string"==typeof n&&"#"!==n.charAt(0)){var s=new RGBColor(n);s.ok&&(n=s.toHex());}if("string"==typeof n&&/^#[0-9A-Fa-f]{3}$/.test(n)&&(n="#"+n[1]+n[1]+n[2]+n[2]+n[3]+n[3]), "string"==typeof n&&/^#[0-9A-Fa-f]{6}$/.test(n)){var h=parseInt(n.substr(1),16);n=h>>16&255, r=h>>8&255, i=255&h;}if(void 0===r||void 0===o&&n===r&&r===i)if("string"==typeof n)e=n+" "+a[0];else switch(t.precision){case 2:e=N(n/255)+" "+a[0];break;case 3:default:e=z(n/255)+" "+a[0];}else if(void 0===o||"object"===(void 0===o?"undefined":vt(o))){if("string"==typeof n)e=[n,r,i,a[1]].join(" ");else switch(t.precision){case 2:e=[N(n/255),N(r/255),N(i/255),a[1]].join(" ");break;default:case 3:e=[z(n/255),z(r/255),z(i/255),a[1]].join(" ");}o&&0===o.a&&(e=["255","255","255",a[1]].join(" "));}else if("string"==typeof n)e=[n,r,i,o,a[2]].join(" ");else switch(t.precision){case 2:e=[N(n),N(r),N(i),N(o),a[2]].join(" ");break;case 3:default:e=[z(n),z(r),z(i),z(o),a[2]].join(" ");}return e},j=function(t){var e=function(t){return("0"+parseInt(t)).slice(-2)},n=t.getTimezoneOffset(),r=n<0?"+":"-",i=Math.floor(Math.abs(n/60)),o=Math.abs(n%60),a=[r,e(i),"'",e(o),"'"].join("");return["D:",t.getFullYear(),e(t.getMonth()+1),e(t.getDate()),e(t.getHours()),e(t.getMinutes()),e(t.getSeconds()),a].join("")},D=function(t){var e;return void 0===(void 0===t?"undefined":vt(t))&&(t=new Date), e="object"===(void 0===t?"undefined":vt(t))&&"[object Date]"===Object.prototype.toString.call(t)?j(t):/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\+0[0-9]|\+1[0-4]|\-0[0-9]|\-1[0-1])\'(0[0-9]|[1-5][0-9])\'?$/.test(t)?t:j(new Date), c=e},M=function(t){var e=c;return"jsDate"===t&&(e=function(t){var e=parseInt(t.substr(2,4),10),n=parseInt(t.substr(6,2),10)-1,r=parseInt(t.substr(8,2),10),i=parseInt(t.substr(10,2),10),o=parseInt(t.substr(12,2),10),a=parseInt(t.substr(14,2),10);parseInt(t.substr(16,2),10), parseInt(t.substr(20,2),10);return new Date(e,n,r,i,o,a,0)}(c)), e},U=function(t){return t=t||"12345678901234567890123456789012".split("").map(function(){return"ABCDEF0123456789".charAt(Math.floor(16*Math.random()))}).join(""), g=t},N=function(t){return t.toFixed(2)},z=function(t){return t.toFixed(3)},it=function(t){t="string"==typeof t?t:t.toString(), b?_[o].push(t):(E+=t.length+1, C.push(t));},L=function(){return x[++m]=E, it(m+" 0 obj"), m},H=function(t){it("stream"), it(t), it("endstream");},W=function(){for(var t in it("/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]"), it("/Font <<"), nt)nt.hasOwnProperty(t)&&it("/"+t+" "+nt[t].objectNumber+" 0 R");it(">>"), it("/XObject <<"), rt.publish("putXobjectDict"), it(">>");},G=function(){!function(){for(var t in nt)nt.hasOwnProperty(t)&&(e=nt[t], rt.publish("putFont",{font:e,out:it,newObject:L}), !0!==e.isAlreadyPutted&&(e.objectNumber=L(), it("<<"), it("/Type /Font"), it("/BaseFont /"+e.postScriptName), it("/Subtype /Type1"), "string"==typeof e.encoding&&it("/Encoding /"+e.encoding), it("/FirstChar 32"), it("/LastChar 255"), it(">>"), it("endobj")));var e;}(), rt.publish("putResources"), x[2]=E, it("2 0 obj"), it("<<"), W(), it(">>"), it("endobj"), rt.publish("postPutResources");},V=function(t,e,n){S.hasOwnProperty(e)||(S[e]={}), S[e][n]=t;},Y=function(t,e,n,r){var i="F"+(Object.keys(nt).length+1).toString(10),o=nt[i]={id:i,postScriptName:t,fontName:e,fontStyle:n,encoding:r,metadata:{}};return V(i,e,n), rt.publish("addFont",o), i},ot=function(t,e){return function(t,e){var n,r,i,o,a,s,h,c,l;if(i=(e=e||{}).sourceEncoding||"Unicode", a=e.outputEncoding, (e.autoencode||a)&&nt[K].metadata&&nt[K].metadata[i]&&nt[K].metadata[i].encoding&&(o=nt[K].metadata[i].encoding, !a&&nt[K].encoding&&(a=nt[K].encoding), !a&&o.codePages&&(a=o.codePages[0]), "string"==typeof a&&(a=o[a]), a)){for(h=!1, s=[], n=0, r=t.length;n<r;n++)(c=a[t.charCodeAt(n)])?s.push(String.fromCharCode(c)):s.push(t[n]), s[n].charCodeAt(0)>>8&&(h=!0);t=s.join("");}for(n=t.length;void 0===h&&0!==n;)t.charCodeAt(n-1)>>8&&(h=!0), n--;if(!h)return t;for(s=e.noBOM?[]:[254,255], n=0, r=t.length;n<r;n++){if((l=(c=t.charCodeAt(n))>>8)>>8)throw new Error("Character at position "+n+" of string '"+t+"' exceeds 16bits. Cannot be encoded into UCS-2 BE");s.push(l), s.push(c-(l<<8));}return String.fromCharCode.apply(void 0,s)}(t,e).replace(/\\/g,"\\\\").replace(/\(/g,"\\(").replace(/\)/g,"\\)")},X=function(){(function(t,e){var n="string"==typeof e&&e.toLowerCase();if("string"==typeof t){var r=t.toLowerCase();mt.hasOwnProperty(r)&&(t=mt[r][0]/w, e=mt[r][1]/w);}if(Array.isArray(t)&&(e=t[1], t=t[0]), n){switch(n.substr(0,1)){case"l":t<e&&(n="s");break;case"p":e<t&&(n="s");}"s"===n&&(y=t, t=e, e=y);}b=!0, _[++k]=[], I[k]={width:Number(t)||u,height:Number(e)||v}, A[k]={}, J(k);}).apply(this,arguments), it(N(p*w)+" w"), it(d), 0!==F&&it(F+" J"), 0!==P&&it(P+" j"), rt.publish("addPage",{pageNumber:k});},J=function(t){0<t&&t<=k&&(u=I[o=t].width, v=I[t].height);},at=function(t,e,n){var r,i=void 0;return n=n||{}, t=void 0!==t?t:nt[K].fontName, e=void 0!==e?e:nt[K].fontStyle, r=t.toLowerCase(), void 0!==S[r]&&void 0!==S[r][e]?i=S[r][e]:void 0!==S[t]&&void 0!==S[t][e]?i=S[t][e]:!1===n.disableWarning&&console.warn("Unable to look up font label for font '"+t+"', '"+e+"'. Refer to getFontList() for available fonts."), i||n.noFallback||null==(i=S.times[e])&&(i=S.times.normal), i},st=function(){b=!1, m=2, E=0, C=[], x=[], T=[], rt.publish("buildDocument"), it("%PDF-"+gt), it("%ºß¬à"), function(){var t,e,n,r,i,o,a,s,h,c=[];for(a=pt.adler32cs||yt.API.adler32cs, f&&void 0===a&&(f=!1), t=1;t<=k;t++){if(c.push(L()), s=(u=I[t].width)*w, h=(v=I[t].height)*w, it("<</Type /Page"), it("/Parent 1 0 R"), it("/Resources 2 0 R"), it("/MediaBox [0 0 "+N(s)+" "+N(h)+"]"), rt.publish("putPage",{pageNumber:t,page:_[t]}), it("/Contents "+(m+1)+" 0 R"), it(">>"), it("endobj"), e=_[t].join("\n"), L(), f){for(n=[], r=e.length;r--;)n[r]=e.charCodeAt(r);o=a.from(e), (i=new Deflater(6)).append(new Uint8Array(n)), e=i.flush(), (n=new Uint8Array(e.length+6)).set(new Uint8Array([120,156])), n.set(e,2), n.set(new Uint8Array([255&o,o>>8&255,o>>16&255,o>>24&255]),e.length+2), e=String.fromCharCode.apply(null,n), it("<</Length "+e.length+" /Filter [/FlateDecode]>>");}else it("<</Length "+e.length+">>");H(e), it("endobj");}x[1]=E, it("1 0 obj"), it("<</Type /Pages");var l="/Kids [";for(r=0;r<k;r++)l+=c[r]+" 0 R ";it(l+"]"), it("/Count "+k), it(">>"), it("endobj"), rt.publish("postPutPages");}(), function(){rt.publish("putAdditionalObjects");for(var t=0;t<T.length;t++){var e=T[t];x[e.objId]=E, it(e.objId+" 0 obj"), it(e.content), it("endobj");}m+=T.length, rt.publish("postPutAdditionalObjects");}(), G(), L(), it("<<"), function(){for(var t in it("/Producer (jsPDF "+yt.version+")"), q)q.hasOwnProperty(t)&&q[t]&&it("/"+t.substr(0,1).toUpperCase()+t.substr(1)+" ("+ot(q[t])+")");it("/CreationDate ("+c+")");}(), it(">>"), it("endobj"), L(), it("<<"), function(){switch(it("/Type /Catalog"), it("/Pages 1 0 R"), s||(s="fullwidth"), s){case"fullwidth":it("/OpenAction [3 0 R /FitH null]");break;case"fullheight":it("/OpenAction [3 0 R /FitV null]");break;case"fullpage":it("/OpenAction [3 0 R /Fit]");break;case"original":it("/OpenAction [3 0 R /XYZ null null 1]");break;default:var t=""+s;"%"===t.substr(t.length-1)&&(s=parseInt(s)/100), "number"==typeof s&&it("/OpenAction [3 0 R /XYZ null null "+N(s)+"]");}switch(h||(h="continuous"), h){case"continuous":it("/PageLayout /OneColumn");break;case"single":it("/PageLayout /SinglePage");break;case"two":case"twoleft":it("/PageLayout /TwoColumnLeft");break;case"tworight":it("/PageLayout /TwoColumnRight");}a&&it("/PageMode /"+a), rt.publish("putCatalog");}(), it(">>"), it("endobj");var t,e=E,n="0000000000";for(it("xref"), it("0 "+(m+1)), it(n+" 65535 f "), t=1;t<=m;t++){var r=x[t];it("function"==typeof r?(n+x[t]()).slice(-10)+" 00000 n ":(n+x[t]).slice(-10)+" 00000 n ");}return it("trailer"), it("<<"), it("/Size "+(m+1)), it("/Root "+m+" 0 R"), it("/Info "+(m-1)+" 0 R"), it("/ID [ <"+g+"> <"+g+"> ]"), it(">>"), it("startxref"), it(""+e), it("%%EOF"), b=!0, C.join("\n")},ht=function(t){var e="S";return"F"===t?e="f":"FD"===t||"DF"===t?e="B":"f"!==t&&"f*"!==t&&"B"!==t&&"B*"!==t||(e=t), e},ct=function(){for(var t=st(),e=t.length,n=new ArrayBuffer(e),r=new Uint8Array(n);e--;)r[e]=t.charCodeAt(e);return n},lt=function(){return new Blob([ct()],{type:"application/pdf"})},ut=((l=function(t,e){var n="dataur"===(""+t).substr(0,6)?"data:application/pdf;base64,"+btoa(st()):0;switch(t){case void 0:return st();case"save":if("object"===("undefined"==typeof navigator?"undefined":vt(navigator))&&navigator.getUserMedia&&(void 0===pt.URL||void 0===pt.URL.createObjectURL))return O.output("dataurlnewwindow");bt(lt(),e), "function"==typeof bt.unload&&pt.setTimeout&&setTimeout(bt.unload,911);break;case"arraybuffer":return ct();case"blob":return lt();case"bloburi":case"bloburl":return pt.URL&&pt.URL.createObjectURL(lt())||void 0;case"datauristring":case"dataurlstring":return n;case"dataurlnewwindow":var r=pt.open(n);if(r||"undefined"==typeof safari)return r;case"datauri":case"dataurl":return pt.document.location.href=n;default:throw new Error('Output type "'+t+'" is not supported.')}}).foo=function(){try{return l.apply(this,arguments)}catch(t){var e=t.stack||"";~e.indexOf(" at ")&&(e=e.split(" at ")[1]);var n="Error in function "+e.split("\n")[0].split("<")[0]+": "+t.message;if(!pt.console)throw new Error(n);pt.console.error(n,t), pt.alert&&alert(n);}}, (l.foo.bar=l).foo),ft=function(t){return!0===Array.isArray(B)&&-1<B.indexOf(t)};switch(e){case"pt":w=1;break;case"mm":w=72/25.4;break;case"cm":w=72/2.54;break;case"in":w=72;break;case"px":w=1==ft("px_scaling")?.75:96/72;break;case"pc":case"em":w=12;break;case"ex":w=6;break;default:throw"Invalid unit: "+e}for(var dt in D(), U(), O.internal={pdfEscape:ot,getStyle:ht,getFont:function(){return nt[at.apply(O,arguments)]},getFontSize:function(){return Z},getCharSpace:function(){return $},getTextColor:function(){var t=Q.split(" ");if(2===t.length&&"g"===t[1]){var e=parseFloat(t[0]);t=[e,e,e,"r"];}for(var n="#",r=0;r<3;r++)n+=("0"+Math.floor(255*parseFloat(t[r])).toString(16)).slice(-2);return n},getLineHeight:function(){return Z*et},write:function(t){it(1===arguments.length?t:Array.prototype.join.call(arguments," "));},getCoordinateString:function(t){return N(t*w)},getVerticalCoordinateString:function(t){return N((v-t)*w)},collections:{},newObject:L,newAdditionalObject:function(){var t=2*_.length+1,e={objId:t+=T.length,content:""};return T.push(e), e},newObjectDeferred:function(){return x[++m]=function(){return E}, m},newObjectDeferredBegin:function(t){x[t]=E;},putStream:H,events:rt,scaleFactor:w,pageSize:{getWidth:function(){return u},getHeight:function(){return v}},output:function(t,e){return ut(t,e)},getNumberOfPages:function(){return _.length-1},pages:_,out:it,f2:N,getPageInfo:function(t){return{objId:2*(t-1)+3,pageNumber:t,pageContext:A[t]}},getCurrentPageInfo:function(){return{objId:2*(o-1)+3,pageNumber:o,pageContext:A[o]}},getPDFVersion:function(){return gt},hasHotfix:ft}, O.addPage=function(){return X.apply(this,arguments), this}, O.setPage=function(){return J.apply(this,arguments), this}, O.insertPage=function(t){return this.addPage(), this.movePage(o,t), this}, O.movePage=function(t,e){if(e<t){for(var n=_[t],r=I[t],i=A[t],o=t;e<o;o--)_[o]=_[o-1], I[o]=I[o-1], A[o]=A[o-1];_[e]=n, I[e]=r, A[e]=i, this.setPage(e);}else if(t<e){for(n=_[t], r=I[t], i=A[t], o=t;o<e;o++)_[o]=_[o+1], I[o]=I[o+1], A[o]=A[o+1];_[e]=n, I[e]=r, A[e]=i, this.setPage(e);}return this}, O.deletePage=function(){return function(t){0<t&&t<=k&&(_.splice(t,1), I.splice(t,1), --k<o&&(o=k), this.setPage(o));}.apply(this,arguments), this}, O.setCreationDate=function(t){return D(t), this}, O.getCreationDate=function(t){return M(t)}, O.setFileId=function(t){return U(t), this}, O.getFileId=function(){return g}, O.setDisplayMode=function(t,e,n){if(s=t, h=e, -1==[void 0,null,"UseNone","UseOutlines","UseThumbs","FullScreen"].indexOf(a=n))throw new Error('Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. "'+n+'" is not recognized.');return this}, O.text=function(t,e,n,i){var r,o,a="",s=et,h=this;function c(t){for(var e,n=t.concat(),r=[],i=n.length;i--;)"string"==typeof(e=n.shift())?r.push(e):"[object Array]"===Object.prototype.toString.call(t)&&1===e.length?r.push(e[0]):r.push([e[0],e[1],e[2]]);return r}function l(t,e){var n;if("string"==typeof t)n=e(t)[0];else if("[object Array]"===Object.prototype.toString.call(t)){for(var r,i,o=t.concat(),a=[],s=o.length;s--;)"string"==typeof(r=o.shift())?a.push(e(r)[0]):"[object Array]"===Object.prototype.toString.call(r)&&"string"===r[0]&&(i=e(r[0],r[1],r[2]), a.push([i[0],i[1],i[2]]));n=a;}return n}"number"==typeof t&&(o=n, n=e, e=t, t=o);var u=i,f=arguments[4],d=arguments[5];"object"===(void 0===u?"undefined":vt(u))&&null!==u||("string"==typeof f&&(d=f, f=null), "string"==typeof u&&(d=u, u=null), "number"==typeof u&&(f=u, u=null), i={flags:u,angle:f,align:d});var p=!1,g=!0;if("string"==typeof t)p=!0;else if("[object Array]"===Object.prototype.toString.call(t)){for(var m,w=t.concat(),y=[],v=w.length;v--;)("string"!=typeof(m=w.shift())||"[object Array]"===Object.prototype.toString.call(m)&&"string"!=typeof m[0])&&(g=!1);p=g;}if(!1===p)throw new Error('Type of text must be string or Array. "'+t+'" is not recognized.');var b=nt[K].encoding;"WinAnsiEncoding"!==b&&"StandardEncoding"!==b||(t=l(t,function(t,e,n){return[(r=t, r=r.split("\t").join(Array(i.TabLen||9).join(" ")), ot(r,u)),e,n];var r;})), "string"==typeof t&&(t=t.match(/[\r?\n]/)?t.split(/\r\n|\r|\n/g):[t]), 0<(j=i.maxWidth||0)&&("string"==typeof t?t=h.splitTextToSize(t,j):"[object Array]"===Object.prototype.toString.call(t)&&(t=h.splitTextToSize(t.join(" "),j)));var x={text:t,x:e,y:n,options:i,mutex:{pdfEscape:ot,activeFontKey:K,fonts:nt,activeFontSize:Z}};rt.publish("preProcessText",x), t=x.text;f=(i=x.options).angle;var S=h.internal.scaleFactor,k=(h.internal.pageSize.getHeight(), []);if(f){f*=Math.PI/180;var _=Math.cos(f),A=Math.sin(f),I=function(t){return t.toFixed(2)};k=[I(_),I(A),I(-1*A),I(_)];}void 0!==(R=i.charSpace)&&(a+=R+" Tc\n");i.lang;var C=-1,T=i.renderingMode||i.stroke,F=h.internal.getCurrentPageInfo().pageContext;switch(T){case 0:case!1:case"fill":C=0;break;case 1:case!0:case"stroke":C=1;break;case 2:case"fillThenStroke":C=2;break;case 3:case"invisible":C=3;break;case 4:case"fillAndAddForClipping":C=4;break;case 5:case"strokeAndAddPathForClipping":C=5;break;case 6:case"fillThenStrokeAndAddToPathForClipping":C=6;break;case 7:case"addToPathForClipping":C=7;}var P=F.usedRenderingMode||-1;-1!==C?a+=C+" Tr\n":-1!==P&&(a+="0 Tr\n"), -1!==C&&(F.usedRenderingMode=C);d=i.align||"left";var E=Z*s,q=h.internal.pageSize.getHeight(),O=h.internal.pageSize.getWidth(),B=(S=h.internal.scaleFactor, nt[K]),R=i.charSpace||$,j=i.maxWidth||0,D=(u={}, []);if("[object Array]"===Object.prototype.toString.call(t)){var M,U;y=c(t);"left"!==d&&(U=y.map(function(t){return h.getStringUnitWidth(t,{font:B,charSpace:R,fontSize:Z})*Z/S}));var N,z=Math.max.apply(Math,U),L=0;if("right"===d){e-=U[0], t=[];var H=0;for(v=y.length;H<v;H++)z-U[H], 0===H?(N=e*S, M=(q-n)*S):(N=(L-U[H])*S, M=-E), t.push([y[H],N,M]), L=U[H];}else if("center"===d){e-=U[0]/2, t=[];for(H=0, v=y.length;H<v;H++)(z-U[H])/2, 0===H?(N=e*S, M=(q-n)*S):(N=(L-U[H])/2*S, M=-E), t.push([y[H],N,M]), L=U[H];}else if("left"===d){t=[];for(H=0, v=y.length;H<v;H++)M=0===H?(q-n)*S:-E, N=0===H?e*S:0, t.push(y[H]);}else{if("justify"!==d)throw new Error('Unrecognized alignment option, use "left", "center", "right" or "justify".');t=[];for(j=0!==j?j:O, H=0, v=y.length;H<v;H++)M=0===H?(q-n)*S:-E, N=0===H?e*S:0, H<v-1&&D.push(((j-U[H])/(y[H].split(" ").length-1)*S).toFixed(2)), t.push([y[H],N,M]);}}!0===("boolean"==typeof i.R2L?i.R2L:tt)&&(t=l(t,function(t,e,n){return[t.split("").reverse().join(""),e,n]}));x={text:t,x:e,y:n,options:i,mutex:{pdfEscape:ot,activeFontKey:K,fonts:nt,activeFontSize:Z}};rt.publish("postProcessText",x), t=x.text, r=x.mutex.isHex;y=c(t);t=[];var W,G,V,Y=0,X=(v=y.length, "");for(H=0;H<v;H++)X="", "[object Array]"!==Object.prototype.toString.call(y[H])?(W=parseFloat(e*S).toFixed(2), G=parseFloat((q-n)*S).toFixed(2), V=(r?"<":"(")+y[H]+(r?">":")")):"[object Array]"===Object.prototype.toString.call(y[H])&&(W=parseFloat(y[H][1]).toFixed(2), G=parseFloat(y[H][2]).toFixed(2), V=(r?"<":"(")+y[H][0]+(r?">":")"), Y=1), void 0!==D&&void 0!==D[H]&&(X=D[H]+" Tw\n"), 0!==k.length&&0===H?t.push(X+k.join(" ")+" "+W+" "+G+" Tm\n"+V):1===Y||0===Y&&0===H?t.push(X+W+" "+G+" Td\n"+V):t.push(X+V);t=0===Y?t.join(" Tj\nT* "):t.join(" Tj\n"), t+=" Tj\n";var J="BT\n/"+K+" "+Z+" Tf\n"+(Z*s).toFixed(2)+" TL\n"+Q+"\n";return J+=a, J+=t, it(J+="ET"), h}, O.lstext=function(t,e,n,r){console.warn("jsPDF.lstext is deprecated");for(var i=0,o=t.length;i<o;i++, e+=r)this.text(t[i],e,n);return this}, O.line=function(t,e,n,r){return this.lines([[n-t,r-e]],t,e)}, O.clip=function(){it("W"), it("S");}, O.clip_fixed=function(t){it("evenodd"===t?"W*":"W"), it("n");}, O.lines=function(t,e,n,r,i,o){var a,s,h,c,l,u,f,d,p,g,m;for("number"==typeof t&&(y=n, n=e, e=t, t=y), r=r||[1,1], it(z(e*w)+" "+z((v-n)*w)+" m "), a=r[0], s=r[1], c=t.length, g=e, m=n, h=0;h<c;h++)2===(l=t[h]).length?(g=l[0]*a+g, m=l[1]*s+m, it(z(g*w)+" "+z((v-m)*w)+" l")):(u=l[0]*a+g, f=l[1]*s+m, d=l[2]*a+g, p=l[3]*s+m, g=l[4]*a+g, m=l[5]*s+m, it(z(u*w)+" "+z((v-f)*w)+" "+z(d*w)+" "+z((v-p)*w)+" "+z(g*w)+" "+z((v-m)*w)+" c"));return o&&it(" h"), null!==i&&it(ht(i)), this}, O.rect=function(t,e,n,r,i){ht(i);return it([N(t*w),N((v-e)*w),N(n*w),N(-r*w),"re"].join(" ")), null!==i&&it(ht(i)), this}, O.triangle=function(t,e,n,r,i,o,a){return this.lines([[n-t,r-e],[i-n,o-r],[t-i,e-o]],t,e,[1,1],a,!0), this}, O.roundedRect=function(t,e,n,r,i,o,a){var s=4/3*(Math.SQRT2-1);return this.lines([[n-2*i,0],[i*s,0,i,o-o*s,i,o],[0,r-2*o],[0,o*s,-i*s,o,-i,o],[2*i-n,0],[-i*s,0,-i,-o*s,-i,-o],[0,2*o-r],[0,-o*s,i*s,-o,i,-o]],t+i,e,[1,1],a), this}, O.ellipse=function(t,e,n,r,i){var o=4/3*(Math.SQRT2-1)*n,a=4/3*(Math.SQRT2-1)*r;return it([N((t+n)*w),N((v-e)*w),"m",N((t+n)*w),N((v-(e-a))*w),N((t+o)*w),N((v-(e-r))*w),N(t*w),N((v-(e-r))*w),"c"].join(" ")), it([N((t-o)*w),N((v-(e-r))*w),N((t-n)*w),N((v-(e-a))*w),N((t-n)*w),N((v-e)*w),"c"].join(" ")), it([N((t-n)*w),N((v-(e+a))*w),N((t-o)*w),N((v-(e+r))*w),N(t*w),N((v-(e+r))*w),"c"].join(" ")), it([N((t+o)*w),N((v-(e+r))*w),N((t+n)*w),N((v-(e+a))*w),N((t+n)*w),N((v-e)*w),"c"].join(" ")), null!==i&&it(ht(i)), this}, O.circle=function(t,e,n,r){return this.ellipse(t,e,n,n,r)}, O.setProperties=function(t){for(var e in q)q.hasOwnProperty(e)&&t[e]&&(q[e]=t[e]);return this}, O.setFontSize=function(t){return Z=t, this}, O.setFont=function(t,e){return K=at(t,e), this}, O.setFontStyle=O.setFontType=function(t){return K=at(void 0,t), this}, O.getFontList=function(){var t,e,n,r={};for(t in S)if(S.hasOwnProperty(t))for(e in r[t]=n=[], S[t])S[t].hasOwnProperty(e)&&n.push(e);return r}, O.addFont=function(t,e,n,r){Y(t,e,n,r=r||"Identity-H");}, O.setLineWidth=function(t){return it((t*w).toFixed(2)+" w"), this}, O.setDrawColor=function(t,e,n,r){return it(R({ch1:t,ch2:e,ch3:n,ch4:r,pdfColorType:"draw",precision:2})), this}, O.setFillColor=function(t,e,n,r){return it(R({ch1:t,ch2:e,ch3:n,ch4:r,pdfColorType:"fill",precision:2})), this}, O.setTextColor=function(t,e,n,r){return Q=R({ch1:t,ch2:e,ch3:n,ch4:r,pdfColorType:"text",precision:3}), this}, O.setCharSpace=function(t){return $=t, this}, O.setR2L=function(t){return tt=t, this}, O.CapJoinStyles={0:0,butt:0,but:0,miter:0,1:1,round:1,rounded:1,circle:1,2:2,projecting:2,project:2,square:2,bevel:2}, O.setLineCap=function(t){var e=this.CapJoinStyles[t];if(void 0===e)throw new Error("Line cap style of '"+t+"' is not recognized. See or extend .CapJoinStyles property for valid styles");return it((F=e)+" J"), this}, O.setLineJoin=function(t){var e=this.CapJoinStyles[t];if(void 0===e)throw new Error("Line join style of '"+t+"' is not recognized. See or extend .CapJoinStyles property for valid styles");return it((P=e)+" j"), this}, O.output=ut, O.save=function(t){O.output("save",t);}, yt.API)yt.API.hasOwnProperty(dt)&&("events"===dt&&yt.API.events.length?function(t,e){var n,r,i;for(i=e.length-1;-1!==i;i--)n=e[i][0], r=e[i][1], t.subscribe.apply(t,[n].concat("function"==typeof r?[r]:r));}(rt,yt.API.events):O[dt]=yt.API[dt]);return function(){for(var t="helvetica",e="times",n="courier",r="normal",i="bold",o="italic",a="bolditalic",s=[["Helvetica",t,r,"WinAnsiEncoding"],["Helvetica-Bold",t,i,"WinAnsiEncoding"],["Helvetica-Oblique",t,o,"WinAnsiEncoding"],["Helvetica-BoldOblique",t,a,"WinAnsiEncoding"],["Courier",n,r,"WinAnsiEncoding"],["Courier-Bold",n,i,"WinAnsiEncoding"],["Courier-Oblique",n,o,"WinAnsiEncoding"],["Courier-BoldOblique",n,a,"WinAnsiEncoding"],["Times-Roman",e,r,"WinAnsiEncoding"],["Times-Bold",e,i,"WinAnsiEncoding"],["Times-Italic",e,o,"WinAnsiEncoding"],["Times-BoldItalic",e,a,"WinAnsiEncoding"],["ZapfDingbats","zapfdingbats",r,null],["Symbol","symbol",r,null]],h=0,c=s.length;h<c;h++){var l=Y(s[h][0],s[h][1],s[h][2],s[h][3]),u=s[h][0].split("-");V(l,u[0],u[1]||"");}rt.publish("addFonts",{fonts:nt,dictionary:S});}(), K="F1", X(n,t), rt.publish("initialized"), O}return yt.API={events:[]}, yt.version="0.0.0", "function"==typeof undefined&&undefined.amd?undefined("jsPDF",function(){return yt}):"undefined"!='object'&&module.exports?(module.exports=yt, module.exports.jsPDF=yt):pt.jsPDF=yt, yt}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof commonjsGlobal&&commonjsGlobal||Function('return typeof this === "object" && this.content')()||Function("return this")()); +/** @preserve + * jsPDF - PDF Document creation from JavaScript + * Version 1.4.1 Built on 2018-06-06T07:49:34.040Z + * CommitID 3233f44044 + * + * Copyright (c) 2010-2016 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF + * 2010 Aaron Spike, https://github.com/acspike + * 2012 Willow Systems Corporation, willow-systems.com + * 2012 Pablo Hess, https://github.com/pablohess + * 2012 Florian Jenett, https://github.com/fjenett + * 2013 Warren Weckesser, https://github.com/warrenweckesser + * 2013 Youssef Beddad, https://github.com/lifof + * 2013 Lee Driscoll, https://github.com/lsdriscoll + * 2013 Stefan Slonevskiy, https://github.com/stefslon + * 2013 Jeremy Morel, https://github.com/jmorel + * 2013 Christoph Hartmann, https://github.com/chris-rock + * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria + * 2014 James Makes, https://github.com/dollaruw + * 2014 Diego Casorran, https://github.com/diegocr + * 2014 Steven Spungin, https://github.com/Flamenco + * 2014 Kenneth Glassey, https://github.com/Gavvers + * + * Licensed under the MIT License + * + * Contributor(s): + * siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango, + * kim3er, mfo, alnorth, Flamenco + */ +/** + * jsPDF AcroForm Plugin Copyright (c) 2016 Alexander Weidt, + * https://github.com/BiggA94 + * + * Licensed under the MIT License. http://opensource.org/licenses/mit-license + */ +!function(n,t){var l,a,e=1,r=function(t,e){t.prototype=Object.create(e.prototype), t.prototype.constructor=t;},s=function(t){return t*(e/1)},h=function(t){var e=new I,n=N.internal.getHeight(t)||0,r=N.internal.getWidth(t)||0;return e.BBox=[0,0,r.toFixed(2),n.toFixed(2)], e},i=function(t,e,n){t=t||0;var r=1;if(r<<=e-1, 1==(n=n||1))t=t|r;else t=t&~r;return t},o=function(t,e,n){n=n||1.3, t=t||0;return 1==e.readOnly&&(t=i(t,1)), 1==e.required&&(t=i(t,2)), 1==e.noExport&&(t=i(t,3)), 1==e.multiline&&(t=i(t,13)), e.password&&(t=i(t,14)), e.noToggleToOff&&(t=i(t,15)), e.radio&&(t=i(t,16)), e.pushbutton&&(t=i(t,17)), e.combo&&(t=i(t,18)), e.edit&&(t=i(t,19)), e.sort&&(t=i(t,20)), e.fileSelect&&1.4<=n&&(t=i(t,21)), e.multiSelect&&1.4<=n&&(t=i(t,22)), e.doNotSpellCheck&&1.4<=n&&(t=i(t,23)), 1==e.doNotScroll&&1.4<=n&&(t=i(t,24)), e.richText&&1.4<=n&&(t=i(t,25)), t},u=function(t){var e=t[0],n=t[1],r=t[2],i=t[3],o={};return Array.isArray(e)?(e[0]=s(e[0]), e[1]=s(e[1]), e[2]=s(e[2]), e[3]=s(e[3])):(e=s(e), n=s(n), r=s(r), i=s(i)), o.lowerLeft_X=e||0, o.lowerLeft_Y=s(a)-n-i||0, o.upperRight_X=e+r||0, o.upperRight_Y=s(a)-n||0, [o.lowerLeft_X.toFixed(2),o.lowerLeft_Y.toFixed(2),o.upperRight_X.toFixed(2),o.upperRight_Y.toFixed(2)]},f=function(t){if(t.appearanceStreamContent)return t.appearanceStreamContent;if(t.V||t.DV){var e=[],n=t.V||t.DV,r=c(t,n);e.push("/Tx BMC"), e.push("q"), e.push("/F1 "+r.fontSize.toFixed(2)+" Tf"), e.push("1 0 0 1 0 0 Tm"), e.push("BT"), e.push(r.text), e.push("ET"), e.push("Q"), e.push("EMC");var i=new h(t);return i.stream=e.join("\n"), i}},c=function(t,e,i,n){n=n||12, i=i||"helvetica";var r={text:"",fontSize:""},o=(e=")"==(e="("==e.substr(0,1)?e.substr(1):e).substr(e.length-1)?e.substr(0,e.length-1):e).split(" "),a=n,s=N.internal.getHeight(t)||0;s=s<0?-s:s;var h=N.internal.getWidth(t)||0;h=h<0?-h:h;var c=function(t,e,n){if(t+1<o.length){var r=e+" "+o[t+1];return A(r,n+"px",i).width<=h-4}return!1};a++;t:for(;;){e="";var l=A("3",--a+"px",i).height,u=t.multiline?s-a:(s-l)/2,f=-2,d=u+=2,p=0,g=0,m=0;if(a<=0){a=12, e="(...) Tj\n", e+="% Width of Text: "+A(e,"1px").width+", FieldWidth:"+h+"\n";break}m=A(o[0]+" ",a+"px",i).width;var w="",y=0;for(var v in o){w=" "==(w+=o[v]+" ").substr(w.length-1)?w.substr(0,w.length-1):w;var b=parseInt(v);m=A(w+" ",a+"px",i).width;var x=c(b,w,a),S=v>=o.length-1;if(!x||S){if(x||S){if(S)g=b;else if(t.multiline&&s<(l+2)*(y+2)+2)continue t}else{if(!t.multiline)continue t;if(s<(l+2)*(y+2)+2)continue t;g=b;}for(var k="",_=p;_<=g;_++)k+=o[_]+" ";switch(k=" "==k.substr(k.length-1)?k.substr(0,k.length-1):k, m=A(k,a+"px",i).width, t.Q){case 2:f=h-m-2;break;case 1:f=(h-m)/2;break;case 0:default:f=2;}e+=f.toFixed(2)+" "+d.toFixed(2)+" Td\n", e+="("+k+") Tj\n", e+=-f.toFixed(2)+" 0 Td\n", d=-(a+2), m=0, p=g+1, y++, w="";}else w+=" ";}break}return r.text=e, r.fontSize=a, r},A=function(t,e,n){n=n||"helvetica";var r=l.internal.getFont(n),i=l.getStringUnitWidth(t,{font:r,fontSize:parseFloat(e),charSpace:0})*parseFloat(e);return{height:l.getStringUnitWidth("3",{font:r,fontSize:parseFloat(e),charSpace:0})*parseFloat(e)*1.5,width:i}},d={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},p=function(){for(var t in l.internal.acroformPlugin.acroFormDictionaryRoot.Fields){var e=l.internal.acroformPlugin.acroFormDictionaryRoot.Fields[t];e.hasAnnotation&&m.call(l,e);}},g=function(t){l.internal.acroformPlugin.printedOut&&(l.internal.acroformPlugin.printedOut=!1, l.internal.acroformPlugin.acroFormDictionaryRoot=null), l.internal.acroformPlugin.acroFormDictionaryRoot||x.call(l), l.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(t);},m=function(t){var e={type:"reference",object:t};l.annotationPlugin.annotations[l.internal.getPageInfo(t.page).pageNumber].push(e);},w=function(){void 0!==l.internal.acroformPlugin.acroFormDictionaryRoot?l.internal.write("/AcroForm "+l.internal.acroformPlugin.acroFormDictionaryRoot.objId+" 0 R"):console.log("Root missing...");},y=function(){l.internal.events.unsubscribe(l.internal.acroformPlugin.acroFormDictionaryRoot._eventID), delete l.internal.acroformPlugin.acroFormDictionaryRoot._eventID, l.internal.acroformPlugin.printedOut=!0;},v=function(t){var e=!t;t||(l.internal.newObjectDeferredBegin(l.internal.acroformPlugin.acroFormDictionaryRoot.objId), l.internal.out(l.internal.acroformPlugin.acroFormDictionaryRoot.getString()));t=t||l.internal.acroformPlugin.acroFormDictionaryRoot.Kids;for(var n in t){var r=t[n],i=r.Rect;r.Rect&&(r.Rect=u.call(this,r.Rect)), l.internal.newObjectDeferredBegin(r.objId);var o=r.objId+" 0 obj\n<<\n";if("object"===(void 0===r?"undefined":vt(r))&&"function"==typeof r.getContent&&(o+=r.getContent()), r.Rect=i, r.hasAppearanceStream&&!r.appearanceStreamContent){var a=f.call(this,r);o+="/AP << /N "+a+" >>\n", l.internal.acroformPlugin.xForms.push(a);}if(r.appearanceStreamContent){for(var s in o+="/AP << ", r.appearanceStreamContent){var h=r.appearanceStreamContent[s];if(o+="/"+s+" ", o+="<< ", 1<=Object.keys(h).length||Array.isArray(h))for(var n in h){var c;"function"==typeof(c=h[n])&&(c=c.call(this,r)), o+="/"+n+" "+c+" ", 0<=l.internal.acroformPlugin.xForms.indexOf(c)||l.internal.acroformPlugin.xForms.push(c);}else"function"==typeof(c=h)&&(c=c.call(this,r)), o+="/"+n+" "+c+" \n", 0<=l.internal.acroformPlugin.xForms.indexOf(c)||l.internal.acroformPlugin.xForms.push(c);o+=" >>\n";}o+=">>\n";}o+=">>\nendobj\n", l.internal.out(o);}e&&b.call(this,l.internal.acroformPlugin.xForms);},b=function(t){for(var e in t){var n=e,r=t[e];l.internal.newObjectDeferredBegin(r&&r.objId);var i="";"object"===(void 0===r?"undefined":vt(r))&&"function"==typeof r.getString&&(i=r.getString()), l.internal.out(i), delete t[n];}},x=function(){if(void 0!==this.internal&&(void 0===this.internal.acroformPlugin||!1===this.internal.acroformPlugin.isInitialized)){if(l=this, T.FieldNum=0, this.internal.acroformPlugin=JSON.parse(JSON.stringify(d)), this.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error("Exception while creating AcroformDictionary");e=l.internal.scaleFactor, a=l.internal.pageSize.getHeight(), l.internal.acroformPlugin.acroFormDictionaryRoot=new C, l.internal.acroformPlugin.acroFormDictionaryRoot._eventID=l.internal.events.subscribe("postPutResources",y), l.internal.events.subscribe("buildDocument",p), l.internal.events.subscribe("putCatalog",w), l.internal.events.subscribe("postPutPages",v), l.internal.acroformPlugin.isInitialized=!0;}},S=function(t){if(Array.isArray(t)){var e=" [";for(var n in t){e+=t[n].toString(), e+=n<t.length-1?" ":"";}return e+="]"}},k=function(t){return 0!==(t=t||"").indexOf("(")&&(t="("+t), ")"!=t.substring(t.length-1)&&(t+=")"), t},_=function(){var t;Object.defineProperty(this,"objId",{get:function(){return t||(t=l.internal.newObjectDeferred()), t||console.log("Couldn't create Object ID"), t},configurable:!1});};_.prototype.toString=function(){return this.objId+" 0 R"}, _.prototype.getString=function(){var t=this.objId+" 0 obj\n<<";return t+=this.getContent()+">>\n", this.stream&&(t+="stream\n", t+=this.stream, t+="\nendstream\n"), t+="endobj\n"}, _.prototype.getContent=function(){var t="";return t+=function(t){var e="",n=Object.keys(t).filter(function(t){return"content"!=t&&"appearanceStreamContent"!=t&&"_"!=t.substring(0,1)});for(var r in n){var i=n[r],o=t[i];o&&(Array.isArray(o)?e+="/"+i+" "+S(o)+"\n":e+=o instanceof _?"/"+i+" "+o.objId+" 0 R\n":"/"+i+" "+o+"\n");}return e}(this)};var I=function(){var e;_.call(this), this.Type="/XObject", this.Subtype="/Form", this.FormType=1, this.BBox, this.Matrix, this.Resources="2 0 R", this.PieceInfo, Object.defineProperty(this,"Length",{enumerable:!0,get:function(){return void 0!==e?e.length:0}}), Object.defineProperty(this,"stream",{enumerable:!1,set:function(t){e=t.trim();},get:function(){return e||null}});};r(I,_);var C=function(){_.call(this);var t=[];Object.defineProperty(this,"Kids",{enumerable:!1,configurable:!0,get:function(){return 0<t.length?t:void 0}}), Object.defineProperty(this,"Fields",{enumerable:!0,configurable:!0,get:function(){return t}}), this.DA;};r(C,_);var T=function t(){var e;_.call(this), Object.defineProperty(this,"Rect",{enumerable:!0,configurable:!1,get:function(){if(e)return e},set:function(t){e=t;}});var n,r,i,o,a="";Object.defineProperty(this,"FT",{enumerable:!0,set:function(t){a=t;},get:function(){return a}}), Object.defineProperty(this,"T",{enumerable:!0,configurable:!1,set:function(t){n=t;},get:function(){if(!n||n.length<1){if(this instanceof j)return;return"(FieldObject"+t.FieldNum+++")"}return"("==n.substring(0,1)&&n.substring(n.length-1)?n:"("+n+")"}}), Object.defineProperty(this,"DA",{enumerable:!0,get:function(){if(r)return"("+r+")"},set:function(t){r=t;}}), Object.defineProperty(this,"DV",{enumerable:!0,configurable:!0,get:function(){if(i)return i},set:function(t){i=t;}}), Object.defineProperty(this,"V",{enumerable:!0,configurable:!0,get:function(){if(o)return o},set:function(t){o=t;}}), Object.defineProperty(this,"Type",{enumerable:!0,get:function(){return this.hasAnnotation?"/Annot":null}}), Object.defineProperty(this,"Subtype",{enumerable:!0,get:function(){return this.hasAnnotation?"/Widget":null}}), this.BG, Object.defineProperty(this,"hasAnnotation",{enumerable:!1,get:function(){return!!(this.Rect||this.BC||this.BG)}}), Object.defineProperty(this,"hasAppearanceStream",{enumerable:!1,configurable:!0,writable:!0}), Object.defineProperty(this,"page",{enumerable:!1,configurable:!0,writable:!0});};r(T,_);var F=function(){T.call(this), this.FT="/Ch", this.Opt=[], this.V="()", this.TI=0;var e=!1;Object.defineProperty(this,"combo",{enumerable:!1,get:function(){return e},set:function(t){e=t;}}), Object.defineProperty(this,"edit",{enumerable:!0,set:function(t){1==t?(this._edit=!0, this.combo=!0):this._edit=!1;},get:function(){return!!this._edit&&this._edit},configurable:!1}), this.hasAppearanceStream=!0;};r(F,T);var P=function(){F.call(this), this.combo=!1;};r(P,F);var E=function(){P.call(this), this.combo=!0;};r(E,P);var q=function(){E.call(this), this.edit=!0;};r(q,E);var O=function(){T.call(this), this.FT="/Btn";};r(O,T);var B=function(){O.call(this);var e=!0;Object.defineProperty(this,"pushbutton",{enumerable:!1,get:function(){return e},set:function(t){e=t;}});};r(B,O);var R=function(){O.call(this);var e=!0;Object.defineProperty(this,"radio",{enumerable:!1,get:function(){return e},set:function(t){e=t;}});var n,t=[];Object.defineProperty(this,"Kids",{enumerable:!0,get:function(){if(0<t.length)return t}}), Object.defineProperty(this,"__Kids",{get:function(){return t}}), Object.defineProperty(this,"noToggleToOff",{enumerable:!1,get:function(){return n},set:function(t){n=t;}});};r(R,O);var j=function(t,e){T.call(this), this.Parent=t, this._AppearanceType=N.RadioButton.Circle, this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(e), this.F=i(this.F,3,1), this.MK=this._AppearanceType.createMK(), this.AS="/Off", this._Name=e;};r(j,T), R.prototype.setAppearance=function(t){if("createAppearanceStream"in t&&"createMK"in t)for(var e in this.__Kids){var n=this.__Kids[e];n.appearanceStreamContent=t.createAppearanceStream(n._Name), n.MK=t.createMK();}else console.log("Couldn't assign Appearance to RadioButton. Appearance was Invalid!");}, R.prototype.createOption=function(t){this.__Kids.length;var e=new j(this,t);return this.__Kids.push(e), n.addField(e), e};var D=function(){O.call(this), this.appearanceStreamContent=N.CheckBox.createAppearanceStream(), this.MK=N.CheckBox.createMK(), this.AS="/On", this.V="/On";};r(D,O);var M=function(){var e,n;T.call(this), this.DA=N.createDefaultAppearanceStream(), this.F=4, Object.defineProperty(this,"V",{get:function(){return e?k(e):e},enumerable:!0,set:function(t){e=t;}}), Object.defineProperty(this,"DV",{get:function(){return n?k(n):n},enumerable:!0,set:function(t){n=t;}});var r=!1;Object.defineProperty(this,"multiline",{enumerable:!1,get:function(){return r},set:function(t){r=t;}});var i=!1;Object.defineProperty(this,"fileSelect",{enumerable:!1,get:function(){return i},set:function(t){i=t;}});var o=!1;Object.defineProperty(this,"doNotSpellCheck",{enumerable:!1,get:function(){return o},set:function(t){o=t;}});var a=!1;Object.defineProperty(this,"doNotScroll",{enumerable:!1,get:function(){return a},set:function(t){a=t;}});var s=!1;Object.defineProperty(this,"MaxLen",{enumerable:!0,get:function(){return s},set:function(t){s=t;}}), Object.defineProperty(this,"hasAppearanceStream",{enumerable:!1,get:function(){return this.V||this.DV}});};r(M,T);var U=function(){M.call(this);var e=!0;Object.defineProperty(this,"password",{enumerable:!1,get:function(){return e},set:function(t){e=t;}});};r(U,M);var N={CheckBox:{createAppearanceStream:function(){return{N:{On:N.CheckBox.YesNormal},D:{On:N.CheckBox.YesPushDown,Off:N.CheckBox.OffPushDown}}},createMK:function(){return"<< /CA (3)>>"},YesPushDown:function(t){var e=h(t),n=[],r=l.internal.getFont("zapfdingbats","normal").id;t.Q=1;var i=c(t,"3","ZapfDingbats",50);return n.push("0.749023 g"), n.push("0 0 "+N.internal.getWidth(t).toFixed(2)+" "+N.internal.getHeight(t).toFixed(2)+" re"), n.push("f"), n.push("BMC"), n.push("q"), n.push("0 0 1 rg"), n.push("/"+r+" "+i.fontSize.toFixed(2)+" Tf 0 g"), n.push("BT"), n.push(i.text), n.push("ET"), n.push("Q"), n.push("EMC"), e.stream=n.join("\n"), e},YesNormal:function(t){var e=h(t),n=l.internal.getFont("zapfdingbats","normal").id,r=[];t.Q=1;var i=N.internal.getHeight(t),o=N.internal.getWidth(t),a=c(t,"3","ZapfDingbats",.9*i);return r.push("1 g"), r.push("0 0 "+o.toFixed(2)+" "+i.toFixed(2)+" re"), r.push("f"), r.push("q"), r.push("0 0 1 rg"), r.push("0 0 "+(o-1).toFixed(2)+" "+(i-1).toFixed(2)+" re"), r.push("W"), r.push("n"), r.push("0 g"), r.push("BT"), r.push("/"+n+" "+a.fontSize.toFixed(2)+" Tf 0 g"), r.push(a.text), r.push("ET"), r.push("Q"), e.stream=r.join("\n"), e},OffPushDown:function(t){var e=h(t),n=[];return n.push("0.749023 g"), n.push("0 0 "+N.internal.getWidth(t).toFixed(2)+" "+N.internal.getHeight(t).toFixed(2)+" re"), n.push("f"), e.stream=n.join("\n"), e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:N.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=N.RadioButton.Circle.YesNormal, e.D[t]=N.RadioButton.Circle.YesPushDown, e},createMK:function(){return"<< /CA (l)>>"},YesNormal:function(t){var e=h(t),n=[],r=N.internal.getWidth(t)<=N.internal.getHeight(t)?N.internal.getWidth(t)/4:N.internal.getHeight(t)/4;r*=.9;var i=N.internal.Bezier_C;return n.push("q"), n.push("1 0 0 1 "+N.internal.getWidth(t)/2+" "+N.internal.getHeight(t)/2+" cm"), n.push(r+" 0 m"), n.push(r+" "+r*i+" "+r*i+" "+r+" 0 "+r+" c"), n.push("-"+r*i+" "+r+" -"+r+" "+r*i+" -"+r+" 0 c"), n.push("-"+r+" -"+r*i+" -"+r*i+" -"+r+" 0 -"+r+" c"), n.push(r*i+" -"+r+" "+r+" -"+r*i+" "+r+" 0 c"), n.push("f"), n.push("Q"), e.stream=n.join("\n"), e},YesPushDown:function(t){var e=h(t),n=[],r=N.internal.getWidth(t)<=N.internal.getHeight(t)?N.internal.getWidth(t)/4:N.internal.getHeight(t)/4,i=2*(r*=.9),o=i*N.internal.Bezier_C,a=r*N.internal.Bezier_C;return n.push("0.749023 g"), n.push("q"), n.push("1 0 0 1 "+(N.internal.getWidth(t)/2).toFixed(2)+" "+(N.internal.getHeight(t)/2).toFixed(2)+" cm"), n.push(i+" 0 m"), n.push(i+" "+o+" "+o+" "+i+" 0 "+i+" c"), n.push("-"+o+" "+i+" -"+i+" "+o+" -"+i+" 0 c"), n.push("-"+i+" -"+o+" -"+o+" -"+i+" 0 -"+i+" c"), n.push(o+" -"+i+" "+i+" -"+o+" "+i+" 0 c"), n.push("f"), n.push("Q"), n.push("0 g"), n.push("q"), n.push("1 0 0 1 "+(N.internal.getWidth(t)/2).toFixed(2)+" "+(N.internal.getHeight(t)/2).toFixed(2)+" cm"), n.push(r+" 0 m"), n.push(r+" "+a+" "+a+" "+r+" 0 "+r+" c"), n.push("-"+a+" "+r+" -"+r+" "+a+" -"+r+" 0 c"), n.push("-"+r+" -"+a+" -"+a+" -"+r+" 0 -"+r+" c"), n.push(a+" -"+r+" "+r+" -"+a+" "+r+" 0 c"), n.push("f"), n.push("Q"), e.stream=n.join("\n"), e},OffPushDown:function(t){var e=h(t),n=[],r=N.internal.getWidth(t)<=N.internal.getHeight(t)?N.internal.getWidth(t)/4:N.internal.getHeight(t)/4,i=2*(r*=.9),o=i*N.internal.Bezier_C;return n.push("0.749023 g"), n.push("q"), n.push("1 0 0 1 "+(N.internal.getWidth(t)/2).toFixed(2)+" "+(N.internal.getHeight(t)/2).toFixed(2)+" cm"), n.push(i+" 0 m"), n.push(i+" "+o+" "+o+" "+i+" 0 "+i+" c"), n.push("-"+o+" "+i+" -"+i+" "+o+" -"+i+" 0 c"), n.push("-"+i+" -"+o+" -"+o+" -"+i+" 0 -"+i+" c"), n.push(o+" -"+i+" "+i+" -"+o+" "+i+" 0 c"), n.push("f"), n.push("Q"), e.stream=n.join("\n"), e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:N.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=N.RadioButton.Cross.YesNormal, e.D[t]=N.RadioButton.Cross.YesPushDown, e},createMK:function(){return"<< /CA (8)>>"},YesNormal:function(t){var e=h(t),n=[],r=N.internal.calculateCross(t);return n.push("q"), n.push("1 1 "+(N.internal.getWidth(t)-2).toFixed(2)+" "+(N.internal.getHeight(t)-2).toFixed(2)+" re"), n.push("W"), n.push("n"), n.push(r.x1.x.toFixed(2)+" "+r.x1.y.toFixed(2)+" m"), n.push(r.x2.x.toFixed(2)+" "+r.x2.y.toFixed(2)+" l"), n.push(r.x4.x.toFixed(2)+" "+r.x4.y.toFixed(2)+" m"), n.push(r.x3.x.toFixed(2)+" "+r.x3.y.toFixed(2)+" l"), n.push("s"), n.push("Q"), e.stream=n.join("\n"), e},YesPushDown:function(t){var e=h(t),n=N.internal.calculateCross(t),r=[];return r.push("0.749023 g"), r.push("0 0 "+N.internal.getWidth(t).toFixed(2)+" "+N.internal.getHeight(t).toFixed(2)+" re"), r.push("f"), r.push("q"), r.push("1 1 "+(N.internal.getWidth(t)-2).toFixed(2)+" "+(N.internal.getHeight(t)-2).toFixed(2)+" re"), r.push("W"), r.push("n"), r.push(n.x1.x.toFixed(2)+" "+n.x1.y.toFixed(2)+" m"), r.push(n.x2.x.toFixed(2)+" "+n.x2.y.toFixed(2)+" l"), r.push(n.x4.x.toFixed(2)+" "+n.x4.y.toFixed(2)+" m"), r.push(n.x3.x.toFixed(2)+" "+n.x3.y.toFixed(2)+" l"), r.push("s"), r.push("Q"), e.stream=r.join("\n"), e},OffPushDown:function(t){var e=h(t),n=[];return n.push("0.749023 g"), n.push("0 0 "+N.internal.getWidth(t).toFixed(2)+" "+N.internal.getHeight(t).toFixed(2)+" re"), n.push("f"), e.stream=n.join("\n"), e}}},createDefaultAppearanceStream:function(t){return"/F1 0 Tf 0 g"}};N.internal={Bezier_C:.551915024494,calculateCross:function(t){var e,n,r=N.internal.getWidth(t),i=N.internal.getHeight(t),o=(n=i)<(e=r)?n:e;return{x1:{x:(r-o)/2,y:(i-o)/2+o},x2:{x:(r-o)/2+o,y:(i-o)/2},x3:{x:(r-o)/2,y:(i-o)/2},x4:{x:(r-o)/2+o,y:(i-o)/2+o}}}}, N.internal.getWidth=function(t){var e=0;return"object"===(void 0===t?"undefined":vt(t))&&(e=s(t.Rect[2])), e}, N.internal.getHeight=function(t){var e=0;return"object"===(void 0===t?"undefined":vt(t))&&(e=s(t.Rect[3])), e}, n.addField=function(t){return x.call(this), t instanceof M?this.addTextField.call(this,t):t instanceof F?this.addChoiceField.call(this,t):t instanceof O?this.addButton.call(this,t):t instanceof j?g.call(this,t):t&&g.call(this,t), t.page=l.internal.getCurrentPageInfo().pageNumber, this}, n.addButton=function(t){x.call(this);var e=t||new T;e.FT="/Btn", e.Ff=o(e.Ff,t,l.internal.getPDFVersion()), g.call(this,e);}, n.addTextField=function(t){x.call(this);var e=t||new T;e.FT="/Tx", e.Ff=o(e.Ff,t,l.internal.getPDFVersion()), g.call(this,e);}, n.addChoiceField=function(t){x.call(this);var e=t||new T;e.FT="/Ch", e.Ff=o(e.Ff,t,l.internal.getPDFVersion()), g.call(this,e);}, "object"==(void 0===t?"undefined":vt(t))&&(t.ChoiceField=F, t.ListBox=P, t.ComboBox=E, t.EditBox=q, t.Button=O, t.PushButton=B, t.RadioButton=R, t.CheckBox=D, t.TextField=M, t.PasswordField=U, t.AcroForm={Appearance:N}), n.AcroFormChoiceField=F, n.AcroFormListBox=P, n.AcroFormComboBox=E, n.AcroFormEditBox=q, n.AcroFormButton=O, n.AcroFormPushButton=B, n.AcroFormRadioButton=R, n.AcroFormCheckBox=D, n.AcroFormTextField=M, n.AcroFormPasswordField=U, n.AcroForm={ChoiceField:F,ListBox:P,ComboBox:E,EditBox:q,Button:O,PushButton:B,RadioButton:R,CheckBox:D,TextField:M,PasswordField:U};}($.API,"undefined"!=typeof window&&window||"undefined"!=typeof commonjsGlobal&&commonjsGlobal), $.API.addHTML=function(t,p,g,s,m){if("undefined"==typeof html2canvas&&"undefined"==typeof rasterizeHTML)throw new Error("You need either https://github.com/niklasvh/html2canvas or https://github.com/cburgmer/rasterizeHTML.js");"number"!=typeof p&&(s=p, m=g), "function"==typeof s&&(m=s, s=null), "function"!=typeof m&&(m=function(){});var e=this.internal,w=e.scaleFactor,y=e.pageSize.getWidth(),v=e.pageSize.getHeight();if((s=s||{}).onrendered=function(h){p=parseInt(p)||0, g=parseInt(g)||0;var t=s.dim||{},c=Object.assign({top:0,right:0,bottom:0,left:0,useFor:"content"},s.margin),e=t.h||Math.min(v,h.height/w),l=t.w||Math.min(y,h.width/w)-p,u=s.format||"JPEG",f=s.imageCompression||"SLOW";if(h.height>v-c.top-c.bottom&&s.pagesplit){var d=function(t,e,n,r,i){var o=document.createElement("canvas");o.height=i, o.width=r;var a=o.getContext("2d");return a.mozImageSmoothingEnabled=!1, a.webkitImageSmoothingEnabled=!1, a.msImageSmoothingEnabled=!1, a.imageSmoothingEnabled=!1, a.fillStyle=s.backgroundColor||"#ffffff", a.fillRect(0,0,r,i), a.drawImage(t,e,n,r,i,0,0,r,i), o},n=function(){for(var t,e,n=0,r=0,i={},o=!1;;){var a;if(r=0, i.top=0!==n?c.top:g, i.left=0!==n?c.left:p, o=(y-c.left-c.right)*w<h.width, "content"===c.useFor?0===n?(t=Math.min((y-c.left)*w,h.width), e=Math.min((v-c.top)*w,h.height-n)):(t=Math.min(y*w,h.width), e=Math.min(v*w,h.height-n), i.top=0):(t=Math.min((y-c.left-c.right)*w,h.width), e=Math.min((v-c.bottom-c.top)*w,h.height-n)), o)for(;;){"content"===c.useFor&&(0===r?t=Math.min((y-c.left)*w,h.width):(t=Math.min(y*w,h.width-r), i.left=0));var s=[a=d(h,r,n,t,e),i.left,i.top,a.width/w,a.height/w,u,null,f];if(this.addImage.apply(this,s), (r+=t)>=h.width)break;this.addPage();}else s=[a=d(h,0,n,t,e),i.left,i.top,a.width/w,a.height/w,u,null,f], this.addImage.apply(this,s);if((n+=e)>=h.height)break;this.addPage();}m(l,n,null,s);}.bind(this);if("CANVAS"===h.nodeName){var r=new Image;r.onload=n, r.src=h.toDataURL("image/png"), h=r;}else n();}else{var i=Math.random().toString(35),o=[h,p,g,l,e,u,i,f];this.addImage.apply(this,o), m(l,e,i,o);}}.bind(this), "undefined"!=typeof html2canvas&&!s.rstz)return html2canvas(t,s);if("undefined"!=typeof rasterizeHTML){var n="drawDocument";return"string"==typeof t&&(n=/^http/.test(t)?"drawURL":"drawHTML"), s.width=s.width||y*w, rasterizeHTML[n](t,void 0,s).then(function(t){s.onrendered(t.image);},function(t){m(null,t);})}return null}, function(b){var x="addImage_",h={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]};b.getImageFileTypeByImageData=function(t,e){var n,r;e=e||"UNKNOWN";var i,o,a,s="UNKNOWN";for(a in h)for(i=h[a], n=0;n<i.length;n+=1){for(o=!0, r=0;r<i[n].length;r+=1)if(void 0!==i[n][r]&&i[n][r]!==t.charCodeAt(r)){o=!1;break}if(!0===o){s=a;break}}return"UNKOWN"===s&&"UNKNOWN"!==e&&(console.warn('FileType of Image not recognized. Processing image as "'+e+'".'), s=e), s};var n=function t(e){var n=this.internal.newObject(),r=this.internal.write,i=this.internal.putStream;if(e.n=n, r("<</Type /XObject"), r("/Subtype /Image"), r("/Width "+e.w), r("/Height "+e.h), e.cs===this.color_spaces.INDEXED?r("/ColorSpace [/Indexed /DeviceRGB "+(e.pal.length/3-1)+" "+("smask"in e?n+2:n+1)+" 0 R]"):(r("/ColorSpace /"+e.cs), e.cs===this.color_spaces.DEVICE_CMYK&&r("/Decode [1 0 1 0 1 0 1 0]")), r("/BitsPerComponent "+e.bpc), "f"in e&&r("/Filter /"+e.f), "dp"in e&&r("/DecodeParms <<"+e.dp+">>"), "trns"in e&&e.trns.constructor==Array){for(var o="",a=0,s=e.trns.length;a<s;a++)o+=e.trns[a]+" "+e.trns[a]+" ";r("/Mask ["+o+"]");}if("smask"in e&&r("/SMask "+(n+1)+" 0 R"), r("/Length "+e.data.length+">>"), i(e.data), r("endobj"), "smask"in e){var h="/Predictor "+e.p+" /Colors 1 /BitsPerComponent "+e.bpc+" /Columns "+e.w,c={w:e.w,h:e.h,cs:"DeviceGray",bpc:e.bpc,dp:h,data:e.smask};"f"in e&&(c.f=e.f), t.call(this,c);}e.cs===this.color_spaces.INDEXED&&(this.internal.newObject(), r("<< /Length "+e.pal.length+">>"), i(this.arrayBufferToBinaryString(new Uint8Array(e.pal))), r("endobj"));},S=function(){var t=this.internal.collections[x+"images"];for(var e in t)n.call(this,t[e]);},k=function(){var t,e=this.internal.collections[x+"images"],n=this.internal.write;for(var r in e)n("/I"+(t=e[r]).i,t.n,"0","R");},_=function(t){return"function"==typeof b["process"+t.toUpperCase()]},A=function(t){return"object"===(void 0===t?"undefined":vt(t))&&1===t.nodeType},I=function(t,e){if("IMG"===t.nodeName&&t.hasAttribute("src")){var n=""+t.getAttribute("src");if(0===n.indexOf("data:image/"))return n;!e&&/\.png(?:[?#].*)?$/i.test(n)&&(e="png");}if("CANVAS"===t.nodeName)var r=t;else{(r=document.createElement("canvas")).width=t.clientWidth||t.width, r.height=t.clientHeight||t.height;var i=r.getContext("2d");if(!i)throw"addImage requires canvas to be supported by browser.";i.drawImage(t,0,0,r.width,r.height);}return r.toDataURL("png"==(""+e).toLowerCase()?"image/png":"image/jpeg")},C=function(t,e){var n;if(e)for(var r in e)if(t===e[r].alias){n=e[r];break}return n};b.color_spaces={DEVICE_RGB:"DeviceRGB",DEVICE_GRAY:"DeviceGray",DEVICE_CMYK:"DeviceCMYK",CAL_GREY:"CalGray",CAL_RGB:"CalRGB",LAB:"Lab",ICC_BASED:"ICCBased",INDEXED:"Indexed",PATTERN:"Pattern",SEPARATION:"Separation",DEVICE_N:"DeviceN"}, b.decode={DCT_DECODE:"DCTDecode",FLATE_DECODE:"FlateDecode",LZW_DECODE:"LZWDecode",JPX_DECODE:"JPXDecode",JBIG2_DECODE:"JBIG2Decode",ASCII85_DECODE:"ASCII85Decode",ASCII_HEX_DECODE:"ASCIIHexDecode",RUN_LENGTH_DECODE:"RunLengthDecode",CCITT_FAX_DECODE:"CCITTFaxDecode"}, b.image_compression={NONE:"NONE",FAST:"FAST",MEDIUM:"MEDIUM",SLOW:"SLOW"}, b.sHashCode=function(t){return t=t||"", Array.prototype.reduce&&t.split("").reduce(function(t,e){return(t=(t<<5)-t+e.charCodeAt(0))&t},0)}, b.isString=function(t){return"string"==typeof t}, b.validateStringAsBase64=function(t){var e=!0;return(t=t||"").length%4!=0&&(e=!1), !1===/[A-Za-z0-9\/]+/.test(t.substr(0,t.length-2))&&(e=!1), !1===/[A-Za-z0-9\/][A-Za-z0-9+\/]|[A-Za-z0-9+\/]=|==/.test(t.substr(-2))&&(e=!1), e}, b.extractInfoFromBase64DataURI=function(t){return/^data:([\w]+?\/([\w]+?));base64,(.+)$/g.exec(t)}, b.supportsArrayBuffer=function(){return"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array}, b.isArrayBuffer=function(t){return!!this.supportsArrayBuffer()&&t instanceof ArrayBuffer}, b.isArrayBufferView=function(t){return!!this.supportsArrayBuffer()&&("undefined"!=typeof Uint32Array&&(t instanceof Int8Array||t instanceof Uint8Array||"undefined"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array))}, b.binaryStringToUint8Array=function(t){for(var e=t.length,n=new Uint8Array(e),r=0;r<e;r++)n[r]=t.charCodeAt(r);return n}, b.arrayBufferToBinaryString=function(t){if("function"==typeof atob)return atob(this.arrayBufferToBase64(t));if("function"==typeof TextDecoder){var e=new TextDecoder("ascii");if("ascii"===e.encoding)return e.decode(t)}for(var n=this.isArrayBuffer(t)?t:new Uint8Array(t),r=20480,i="",o=Math.ceil(n.byteLength/r),a=0;a<o;a++)i+=String.fromCharCode.apply(null,n.slice(a*r,a*r+r));return i}, b.arrayBufferToBase64=function(t){for(var e,n="",r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=new Uint8Array(t),o=i.byteLength,a=o%3,s=o-a,h=0;h<s;h+=3)n+=r[(16515072&(e=i[h]<<16|i[h+1]<<8|i[h+2]))>>18]+r[(258048&e)>>12]+r[(4032&e)>>6]+r[63&e];return 1==a?n+=r[(252&(e=i[s]))>>2]+r[(3&e)<<4]+"==":2==a&&(n+=r[(64512&(e=i[s]<<8|i[s+1]))>>10]+r[(1008&e)>>4]+r[(15&e)<<2]+"="), n}, b.createImageInfo=function(t,e,n,r,i,o,a,s,h,c,l,u,f){var d={alias:s,w:e,h:n,cs:r,bpc:i,i:a,data:t};return o&&(d.f=o), h&&(d.dp=h), c&&(d.trns=c), l&&(d.pal=l), u&&(d.smask=u), f&&(d.p=f), d}, b.addImage=function(t,e,n,r,i,o,a,s,h){var c="";if("string"!=typeof e){var l=o;o=i, i=r, r=n, n=e, e=l;}if("object"===(void 0===t?"undefined":vt(t))&&!A(t)&&"imageData"in t){var u=t;t=u.imageData, e=u.format||e, n=u.x||n||0, r=u.y||r||0, i=u.w||i, o=u.h||o, a=u.alias||a, s=u.compression||s, h=u.rotation||u.angle||h;}if(isNaN(n)||isNaN(r))throw console.error("jsPDF.addImage: Invalid coordinates",arguments), new Error("Invalid coordinates passed to jsPDF.addImage");var f,d,p,g,m,w,y,v=function(){var t=this.internal.collections[x+"images"];return t||(this.internal.collections[x+"images"]=t={}, this.internal.events.subscribe("putResources",S), this.internal.events.subscribe("putXobjectDict",k)), t}.call(this);if(!(f=C(t,v))&&(A(t)&&(t=I(t,e)), (null==(y=a)||0===y.length)&&(a="string"==typeof(w=t)&&b.sHashCode(w)), !(f=C(a,v)))){if(this.isString(t)&&(""!==(c=this.convertStringToImageData(t))?t=c:void 0!==(c=this.loadImageFile(t))&&(t=c)), e=this.getImageFileTypeByImageData(t,e), !_(e))throw new Error("addImage does not support files of type '"+e+"', please ensure that a plugin for '"+e+"' support is added.");if(this.supportsArrayBuffer()&&(t instanceof Uint8Array||(d=t, t=this.binaryStringToUint8Array(t))), !(f=this["process"+e.toUpperCase()](t,(m=0, (g=v)&&(m=Object.keys?Object.keys(g).length:function(t){var e=0;for(var n in t)t.hasOwnProperty(n)&&e++;return e}(g)), m),a,((p=s)&&"string"==typeof p&&(p=p.toUpperCase()), p in b.image_compression?p:b.image_compression.NONE),d)))throw new Error("An unkwown error occurred whilst processing the image")}return function(t,e,n,r,i,o,a,s){var h=function(t,e,n){return t||e||(e=t=-96), t<0&&(t=-1*n.w*72/t/this.internal.scaleFactor), e<0&&(e=-1*n.h*72/e/this.internal.scaleFactor), 0===t&&(t=e*n.w/n.h), 0===e&&(e=t*n.h/n.w), [t,e]}.call(this,n,r,i),c=this.internal.getCoordinateString,l=this.internal.getVerticalCoordinateString;if(n=h[0], r=h[1], a[o]=i, s){s*=Math.PI/180;var u=Math.cos(s),f=Math.sin(s),d=function(t){return t.toFixed(4)},p=[d(u),d(f),d(-1*f),d(u),0,0,"cm"];}this.internal.write("q"), s?(this.internal.write([1,"0","0",1,c(t),l(e+r),"cm"].join(" ")), this.internal.write(p.join(" ")), this.internal.write([c(n),"0","0",c(r),"0","0","cm"].join(" "))):this.internal.write([c(n),"0","0",c(r),c(t),l(e+r),"cm"].join(" ")), this.internal.write("/I"+i.i+" Do"), this.internal.write("Q");}.call(this,n,r,i,o,f,f.i,v,h), this}, b.convertStringToImageData=function(t){var e,n="";this.isString(t)&&(null!==(e=this.extractInfoFromBase64DataURI(t))?b.validateStringAsBase64(e[3])&&(n=atob(e[3])):b.validateStringAsBase64(t)&&(n=atob(t)));return n};var c=function(t,e){return t.subarray(e,e+5)};b.processJPEG=function(t,e,n,r,i,o){var a,s=this.decode.DCT_DECODE;if(!this.isString(t)&&!this.isArrayBuffer(t)&&!this.isArrayBufferView(t))return null;if(this.isString(t)&&(a=function(t){var e;if(255===!t.charCodeAt(0)||216===!t.charCodeAt(1)||255===!t.charCodeAt(2)||224===!t.charCodeAt(3)||!t.charCodeAt(6)==="J".charCodeAt(0)||!t.charCodeAt(7)==="F".charCodeAt(0)||!t.charCodeAt(8)==="I".charCodeAt(0)||!t.charCodeAt(9)==="F".charCodeAt(0)||0===!t.charCodeAt(10))throw new Error("getJpegSize requires a binary string jpeg file");for(var n=256*t.charCodeAt(4)+t.charCodeAt(5),r=4,i=t.length;r<i;){if(r+=n, 255!==t.charCodeAt(r))throw new Error("getJpegSize could not find the size of the image");if(192===t.charCodeAt(r+1)||193===t.charCodeAt(r+1)||194===t.charCodeAt(r+1)||195===t.charCodeAt(r+1)||196===t.charCodeAt(r+1)||197===t.charCodeAt(r+1)||198===t.charCodeAt(r+1)||199===t.charCodeAt(r+1))return e=256*t.charCodeAt(r+5)+t.charCodeAt(r+6), [256*t.charCodeAt(r+7)+t.charCodeAt(r+8),e,t.charCodeAt(r+9)];r+=2, n=256*t.charCodeAt(r)+t.charCodeAt(r+1);}}(t)), this.isArrayBuffer(t)&&(t=new Uint8Array(t)), this.isArrayBufferView(t)&&(a=function(t){if(65496!=(t[0]<<8|t[1]))throw new Error("Supplied data is not a JPEG");for(var e,n=t.length,r=(t[4]<<8)+t[5],i=4;i<n;){if(r=((e=c(t,i+=r))[2]<<8)+e[3], (192===e[1]||194===e[1])&&255===e[0]&&7<r)return{width:((e=c(t,i+5))[2]<<8)+e[3],height:(e[0]<<8)+e[1],numcomponents:e[4]};i+=2;}throw new Error("getJpegSizeFromBytes could not find the size of the image")}(t), t=i||this.arrayBufferToBinaryString(t)), void 0===o)switch(a.numcomponents){case 1:o=this.color_spaces.DEVICE_GRAY;break;case 4:o=this.color_spaces.DEVICE_CMYK;break;default:case 3:o=this.color_spaces.DEVICE_RGB;}return this.createImageInfo(t,a.width,a.height,o,8,s,e,n)}, b.processJPG=function(){return this.processJPEG.apply(this,arguments)}, b.loadImageFile=function(t,e,n){e=e||!0, n=n||function(){};Object.prototype.toString.call("undefined"!=typeof process?process:0);if(void 0!==("undefined"==typeof window?"undefined":vt(window))&&"object"===("undefined"==typeof location?"undefined":vt(location))&&"http"===location.protocol.substr(0,4))return function(t,e,n){var r=new XMLHttpRequest,i=[],o=0,a=function(t){var e=t.length,n=String.fromCharCode;for(o=0;o<e;o+=1)i.push(n(255&t.charCodeAt(o)));return i.join("")};if(r.open("GET",t,!e), r.overrideMimeType("text/plain; charset=x-user-defined"), !1===e&&(r.onload=function(){return a(this.responseText)}), r.send(null), 200===r.status)return e?a(r.responseText):void 0;console.warn('Unable to load file "'+t+'"');}(t,e)}, b.getImageProperties=function(t){var e,n,r="";if(A(t)&&(t=I(t)), this.isString(t)&&(""!==(r=this.convertStringToImageData(t))?t=r:void 0!==(r=this.loadImageFile(t))&&(t=r)), n=this.getImageFileTypeByImageData(t), !_(n))throw new Error("addImage does not support files of type '"+n+"', please ensure that a plugin for '"+n+"' support is added.");if(this.supportsArrayBuffer()&&(t instanceof Uint8Array||(t=this.binaryStringToUint8Array(t))), !(e=this["process"+n.toUpperCase()](t)))throw new Error("An unkwown error occurred whilst processing the image");return{fileType:n,width:e.w,height:e.h,colorSpace:e.cs,compressionMode:e.f,bitsPerComponent:e.bpc}};}($.API), t=$.API, y={annotations:[],f2:function(t){return t.toFixed(2)},notEmpty:function(t){if(void 0!==t&&""!=t)return!0}}, $.API.annotationPlugin=y, $.API.events.push(["addPage",function(t){this.annotationPlugin.annotations[t.pageNumber]=[];}]), t.events.push(["putPage",function(t){for(var e=this.annotationPlugin.annotations[t.pageNumber],n=!1,r=0;r<e.length&&!n;r++)switch((h=e[r]).type){case"link":if(y.notEmpty(h.options.url)||y.notEmpty(h.options.pageNumber)){n=!0;break}case"reference":case"text":case"freetext":n=!0;}if(0!=n){this.internal.write("/Annots [");var i=this.annotationPlugin.f2,o=this.internal.scaleFactor,a=this.internal.pageSize.getHeight(),s=this.internal.getPageInfo(t.pageNumber);for(r=0;r<e.length;r++){var h;switch((h=e[r]).type){case"reference":this.internal.write(" "+h.object.objId+" 0 R ");break;case"text":var c=this.internal.newAdditionalObject(),l=this.internal.newAdditionalObject(),u=h.title||"Note";m="<</Type /Annot /Subtype /Text "+(d="/Rect ["+i(h.bounds.x*o)+" "+i(a-(h.bounds.y+h.bounds.h)*o)+" "+i((h.bounds.x+h.bounds.w)*o)+" "+i((a-h.bounds.y)*o)+"] ")+"/Contents ("+h.contents+")", m+=" /Popup "+l.objId+" 0 R", m+=" /P "+s.objId+" 0 R", m+=" /T ("+u+") >>", c.content=m;var f=c.objId+" 0 R";m="<</Type /Annot /Subtype /Popup "+(d="/Rect ["+i((h.bounds.x+30)*o)+" "+i(a-(h.bounds.y+h.bounds.h)*o)+" "+i((h.bounds.x+h.bounds.w+30)*o)+" "+i((a-h.bounds.y)*o)+"] ")+" /Parent "+f, h.open&&(m+=" /Open true"), m+=" >>", l.content=m, this.internal.write(c.objId,"0 R",l.objId,"0 R");break;case"freetext":var d="/Rect ["+i(h.bounds.x*o)+" "+i((a-h.bounds.y)*o)+" "+i(h.bounds.x+h.bounds.w*o)+" "+i(a-(h.bounds.y+h.bounds.h)*o)+"] ",p=h.color||"#000000";m="<</Type /Annot /Subtype /FreeText "+d+"/Contents ("+h.contents+")", m+=" /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#"+p+")", m+=" /Border [0 0 0]", m+=" >>", this.internal.write(m);break;case"link":if(h.options.name){var g=this.annotations._nameMap[h.options.name];h.options.pageNumber=g.page, h.options.top=g.y;}else h.options.top||(h.options.top=0);d="/Rect ["+i(h.x*o)+" "+i((a-h.y)*o)+" "+i((h.x+h.w)*o)+" "+i((a-(h.y+h.h))*o)+"] ";var m="";if(h.options.url)m="<</Type /Annot /Subtype /Link "+d+"/Border [0 0 0] /A <</S /URI /URI ("+h.options.url+") >>";else if(h.options.pageNumber)switch(m="<</Type /Annot /Subtype /Link "+d+"/Border [0 0 0] /Dest ["+(t=this.internal.getPageInfo(h.options.pageNumber)).objId+" 0 R", h.options.magFactor=h.options.magFactor||"XYZ", h.options.magFactor){case"Fit":m+=" /Fit]";break;case"FitH":m+=" /FitH "+h.options.top+"]";break;case"FitV":h.options.left=h.options.left||0, m+=" /FitV "+h.options.left+"]";break;case"XYZ":default:var w=i((a-h.options.top)*o);h.options.left=h.options.left||0, void 0===h.options.zoom&&(h.options.zoom=0), m+=" /XYZ "+h.options.left+" "+w+" "+h.options.zoom+"]";}""!=m&&(m+=" >>", this.internal.write(m));}}this.internal.write("]");}}]), t.createAnnotation=function(t){switch(t.type){case"link":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case"text":case"freetext":this.annotationPlugin.annotations[this.internal.getCurrentPageInfo().pageNumber].push(t);}}, t.link=function(t,e,n,r,i){this.annotationPlugin.annotations[this.internal.getCurrentPageInfo().pageNumber].push({x:t,y:e,w:n,h:r,options:i,type:"link"});}, t.textWithLink=function(t,e,n,r){var i=this.getTextWidth(t),o=this.internal.getLineHeight()/this.internal.scaleFactor;return this.text(t,e,n), n+=.2*o, this.link(e,n-o,i,o,r), i}, t.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor}, t.getLineHeight=function(){return this.internal.getLineHeight()}, function(t){var a=Object.keys({ar:"Arabic (Standard)","ar-DZ":"Arabic (Algeria)","ar-BH":"Arabic (Bahrain)","ar-EG":"Arabic (Egypt)","ar-IQ":"Arabic (Iraq)","ar-JO":"Arabic (Jordan)","ar-KW":"Arabic (Kuwait)","ar-LB":"Arabic (Lebanon)","ar-LY":"Arabic (Libya)","ar-MA":"Arabic (Morocco)","ar-OM":"Arabic (Oman)","ar-QA":"Arabic (Qatar)","ar-SA":"Arabic (Saudi Arabia)","ar-SY":"Arabic (Syria)","ar-TN":"Arabic (Tunisia)","ar-AE":"Arabic (U.A.E.)","ar-YE":"Arabic (Yemen)",fa:"Persian","fa-IR":"Persian/Iran",ur:"Urdu"}),u={1569:[65152],1570:[65153,65154,65153,65154],1571:[65155,65156,65155,65156],1572:[65157,65158],1573:[65159,65160,65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166,65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194,65193],1584:[65195,65196,65195],1585:[65197,65198,65197],1586:[65199,65200,65199],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262,65261],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395,64394],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},f={1570:[65269,65270,65269,65270],1571:[65271,65272,65271,65272],1573:[65273,65274,65273,65274],1575:[65275,65276,65275,65276]},d={1570:[65153,65154,65153,65154],1571:[65155,65156,65155,65156],1573:[65159,65160,65159,65160],1575:[65165,65166,65165,65166]},p={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},e=[1570,1571,1573,1575],n=[1569,1570,1571,1572,1573,1575,1577,1583,1584,1585,1586,1608,1688],o=0,s=1,h=2,c=3;function g(t){return void 0!==t&&void 0!==u[t.charCodeAt(0)]}function l(t){return void 0!==t&&0<=n.indexOf(t.charCodeAt(0))}function m(t){return void 0!==t&&0<=e.indexOf(t.charCodeAt(0))}function w(t){return g(t)&&2<=u[t.charCodeAt(0)].length}function y(t,e,n,r){return g(t)?(r=r||{}, u=Object.assign(u,r), !w(t)||!g(e)&&!g(n)||!g(n)&&l(e)||l(t)&&!g(e)||l(t)&&m(e)||l(t)&&l(e)?(u=Object.assign(u,d), o):g(i=t)&&4==u[i.charCodeAt(0)].length&&g(e)&&!l(e)&&g(n)&&w(n)?(u=Object.assign(u,d), c):l(t)||!g(n)?(u=Object.assign(u,d), s):(u=Object.assign(u,d), h)):-1;var i;}var v=t.processArabic=function(t,e){t=t||"", e=e||!1;var n,r,i,o="",a=0,s=0,h="",c="",l="";for(a=0;a<t.length;a+=1)h=t[a], c=t[a-1], l=t[a+1], g(h)?void 0!==c&&1604===c.charCodeAt(0)&&m(h)?(s=y(h,t[a-2],t[a+1],f), n=String.fromCharCode(f[h.charCodeAt(0)][s]), o=o.substr(0,o.length-1)+n):void 0!==c&&1617===c.charCodeAt(0)&&(void 0!==(r=h)&&void 0!==p[r.charCodeAt(0)])?(s=y(h,t[a-2],t[a+1],d), n=String.fromCharCode(p[h.charCodeAt(0)][s]), o=o.substr(0,o.length-1)+n):(s=y(h,c,l,d), o+=String.fromCharCode(u[h.charCodeAt(0)][s])):o+=e?{"(":")",")":"("}[i=h]||i:h;return e?o.split("").reverse().join(""):o};t.events.push(["preProcessText",function(t){var e=t.text,n=(t.x, t.y, t.options||{}),r=(t.mutex, n.lang),i=[];if(0<=a.indexOf(r)){if("[object Array]"===Object.prototype.toString.call(e)){var o=0;for(i=[], o=0;o<e.length;o+=1)"[object Array]"===Object.prototype.toString.call(e[o])?i.push([v(e[o][0],!0),e[o][1],e[o][2]]):i.push([v(e[o],!0)]);t.text=i;}else t.text=v(e,!0);void 0===n.charSpace&&(t.options.charSpace=0), !0===n.R2L&&(t.options.R2L=!1);}}]);}($.API), $.API.autoPrint=function(t){var e;switch((t=t||{}).variant=t.variant||"non-conform", t.variant){case"javascript":this.addJS("print({});");break;case"non-conform":default:this.internal.events.subscribe("postPutResources",function(){e=this.internal.newObject(), this.internal.out("<<"), this.internal.out("/S /Named"), this.internal.out("/Type /Action"), this.internal.out("/N /Print"), this.internal.out(">>"), this.internal.out("endobj");}), this.internal.events.subscribe("putCatalog",function(){this.internal.out("/OpenAction "+e+" 0 R");});}return this}, ( +/** + * jsPDF Canvas PlugIn + * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ +e=$.API).events.push(["initialized",function(){this.canvas.pdf=this;}]), e.canvas={getContext:function(t){return(this.pdf.context2d._canvas=this).pdf.context2d},childNodes:[]}, Object.defineProperty(e.canvas,"width",{get:function(){return this._width},set:function(t){this._width=t, this.getContext("2d").pageWrapX=t+1;}}), Object.defineProperty(e.canvas,"height",{get:function(){return this._height},set:function(t){this._height=t, this.getContext("2d").pageWrapY=t+1;}}), I=$.API, C={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0}, T=1, d=function(t,e,n,r,i){C={x:t,y:e,w:n,h:r,ln:i};}, p=function(){return C}, F={left:0,top:0,bottom:0}, I.setHeaderFunction=function(t){h=t;}, I.getTextDimensions=function(e){i=this.internal.getFont().fontName, o=this.table_font_size||this.internal.getFontSize(), a=this.internal.getFont().fontStyle;var t,n,r=19.049976/25.4;(n=document.createElement("font")).id="jsPDFCell";try{n.style.fontStyle=a;}catch(t){n.style.fontWeight=a;}n.style.fontSize=o+"pt", n.style.fontFamily=i;try{n.textContent=e;}catch(t){n.innerText=e;}return document.body.appendChild(n), t={w:(n.offsetWidth+1)*r,h:(n.offsetHeight+1)*r}, document.body.removeChild(n), t}, I.cellAddPage=function(){var t=this.margins||F;this.addPage(), d(t.left,t.top,void 0,void 0), T+=1;}, I.cellInitialize=function(){C={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0}, T=1;}, I.cell=function(t,e,n,r,i,o,a){var s=p(),h=!1;if(void 0!==s.ln)if(s.ln===o)t=s.x+s.w, e=s.y;else{var c=this.margins||F;s.y+s.h+r+13>=this.internal.pageSize.getHeight()-c.bottom&&(this.cellAddPage(), h=!0, this.printHeaders&&this.tableHeaderRow&&this.printHeaderRow(o,!0)), e=p().y+p().h, h&&(e=23);}if(void 0!==i[0])if(this.printingHeaderRow?this.rect(t,e,n,r,"FD"):this.rect(t,e,n,r), "right"===a){i instanceof Array||(i=[i]);for(var l=0;l<i.length;l++){var u=i[l],f=this.getStringUnitWidth(u)*this.internal.getFontSize();this.text(u,t+n-f-3,e+this.internal.getLineHeight()*(l+1));}}else this.text(i,t+3,e+this.internal.getLineHeight());return d(t,e,n,r,o), this}, I.arrayMax=function(t,e){var n,r,i,o=t[0];for(n=0, r=t.length;n<r;n+=1)i=t[n], e?-1===e(o,i)&&(o=i):o<i&&(o=i);return o}, I.table=function(t,e,n,r,i){if(!n)throw"No data for PDF table";var o,a,s,h,c,l,u,f,d,p,g=[],m=[],w={},y={},v=[],b=[],x=!1,S=!0,k=12,_=F;if(_.width=this.internal.pageSize.getWidth(), i&&(!0===i.autoSize&&(x=!0), !1===i.printHeaders&&(S=!1), i.fontSize&&(k=i.fontSize), i.css&&void 0!==i.css["font-size"]&&(k=16*i.css["font-size"]), i.margins&&(_=i.margins)), this.lnMod=0, C={x:void 0,y:void 0,w:void 0,h:void 0,ln:void 0}, T=1, this.printHeaders=S, this.margins=_, this.setFontSize(k), this.table_font_size=k, null==r)g=Object.keys(n[0]);else if(r[0]&&"string"!=typeof r[0])for(a=0, s=r.length;a<s;a+=1)o=r[a], g.push(o.name), m.push(o.prompt), y[o.name]=o.width*(19.049976/25.4);else g=r;if(x)for(p=function(t){return t[o]}, a=0, s=g.length;a<s;a+=1){for(w[o=g[a]]=n.map(p), v.push(this.getTextDimensions(m[a]||o).w), u=0, h=(l=w[o]).length;u<h;u+=1)c=l[u], v.push(this.getTextDimensions(c).w);y[o]=I.arrayMax(v), v=[];}if(S){var A=this.calculateLineHeight(g,y,m.length?m:g);for(a=0, s=g.length;a<s;a+=1)o=g[a], b.push([t,e,y[o],A,String(m.length?m[a]:o)]);this.setTableHeaderRow(b), this.printHeaderRow(1,!1);}for(a=0, s=n.length;a<s;a+=1)for(f=n[a], A=this.calculateLineHeight(g,y,f), u=0, d=g.length;u<d;u+=1)o=g[u], this.cell(t,e,y[o],A,f[o],a+2,o.align);return this.lastCellPos=C, this.table_x=t, this.table_y=e, this}, I.calculateLineHeight=function(t,e,n){for(var r,i=0,o=0;o<t.length;o++){n[r=t[o]]=this.splitTextToSize(String(n[r]),e[r]-3);var a=this.internal.getLineHeight()*n[r].length+3;i<a&&(i=a);}return i}, I.setTableHeaderRow=function(t){this.tableHeaderRow=t;}, I.printHeaderRow=function(t,e){if(!this.tableHeaderRow)throw"Property tableHeaderRow does not exist.";var n,r,i,o;if(this.printingHeaderRow=!0, void 0!==h){var a=h(this,T);d(a[0],a[1],a[2],a[3],-1);}this.setFontStyle("bold");var s=[];for(i=0, o=this.tableHeaderRow.length;i<o;i+=1)this.setFillColor(200,200,200), n=this.tableHeaderRow[i], e&&(this.margins.top=13, n[1]=this.margins&&this.margins.top||0, s.push(n)), r=[].concat(n), this.cell.apply(this,r.concat(t));0<s.length&&this.setTableHeaderRow(s), this.setFontStyle("normal"), this.printingHeaderRow=!1;}, function(t){t.events.push(["initialized",function(){((this.context2d.pdf=this).context2d.internal.pdf=this).context2d.ctx=new e, this.context2d.ctxStack=[], this.context2d.path=[];}]), t.context2d={pageWrapXEnabled:!1,pageWrapYEnabled:!1,pageWrapX:9999999,pageWrapY:9999999,ctx:new e,f2:function(t){return t.toFixed(2)},fillRect:function(t,e,n,r){if(!this._isFillTransparent()){t=this._wrapX(t), e=this._wrapY(e);var i=this._matrix_map_rect(this.ctx._transform,{x:t,y:e,w:n,h:r});this.pdf.rect(i.x,i.y,i.w,i.h,"f");}},strokeRect:function(t,e,n,r){if(!this._isStrokeTransparent()){t=this._wrapX(t), e=this._wrapY(e);var i=this._matrix_map_rect(this.ctx._transform,{x:t,y:e,w:n,h:r});this.pdf.rect(i.x,i.y,i.w,i.h,"s");}},clearRect:function(t,e,n,r){if(!this.ctx.ignoreClearRect){t=this._wrapX(t), e=this._wrapY(e);var i=this._matrix_map_rect(this.ctx._transform,{x:t,y:e,w:n,h:r});this.save(), this.setFillStyle("#ffffff"), this.pdf.rect(i.x,i.y,i.w,i.h,"f"), this.restore();}},save:function(){this.ctx._fontSize=this.pdf.internal.getFontSize();var t=new e;t.copy(this.ctx), this.ctxStack.push(this.ctx), this.ctx=t;},restore:function(){this.ctx=this.ctxStack.pop(), this.setFillStyle(this.ctx.fillStyle), this.setStrokeStyle(this.ctx.strokeStyle), this.setFont(this.ctx.font), this.pdf.setFontSize(this.ctx._fontSize), this.setLineCap(this.ctx.lineCap), this.setLineWidth(this.ctx.lineWidth), this.setLineJoin(this.ctx.lineJoin);},rect:function(t,e,n,r){this.moveTo(t,e), this.lineTo(t+n,e), this.lineTo(t+n,e+r), this.lineTo(t,e+r), this.lineTo(t,e), this.closePath();},beginPath:function(){this.path=[];},closePath:function(){this.path.push({type:"close"});},_getRGBA:function(t){var e,n,r,i,o=new RGBColor(t);if(!t)return{r:0,g:0,b:0,a:0,style:t};if(this.internal.rxTransparent.test(t))i=r=n=e=0;else{var a=this.internal.rxRgb.exec(t);null!=a?(e=parseInt(a[1]), n=parseInt(a[2]), r=parseInt(a[3]), i=1):null!=(a=this.internal.rxRgba.exec(t))?(e=parseInt(a[1]), n=parseInt(a[2]), r=parseInt(a[3]), i=parseFloat(a[4])):(i=1, "#"!=t.charAt(0)&&(t=o.ok?o.toHex():"#000000"), 4===t.length?(e=t.substring(1,2), e+=e, n=t.substring(2,3), n+=n, r=t.substring(3,4), r+=r):(e=t.substring(1,3), n=t.substring(3,5), r=t.substring(5,7)), e=parseInt(e,16), n=parseInt(n,16), r=parseInt(r,16));}return{r:e,g:n,b:r,a:i,style:t}},setFillStyle:function(t){var e=this._getRGBA(t);this.ctx.fillStyle=t, this.ctx._isFillTransparent=0===e.a, this.ctx._fillOpacity=e.a, this.pdf.setFillColor(e.r,e.g,e.b,{a:e.a}), this.pdf.setTextColor(e.r,e.g,e.b,{a:e.a});},setStrokeStyle:function(t){var e=this._getRGBA(t);this.ctx.strokeStyle=e.style, this.ctx._isStrokeTransparent=0===e.a, this.ctx._strokeOpacity=e.a, 0===e.a?this.pdf.setDrawColor(255,255,255):(e.a, this.pdf.setDrawColor(e.r,e.g,e.b));},fillText:function(t,e,n,r){if(!this._isFillTransparent()){e=this._wrapX(e), n=this._wrapY(n);var i=this._matrix_map_point(this.ctx._transform,[e,n]);e=i[0], n=i[1];var o=57.2958*this._matrix_rotation(this.ctx._transform);if(0<this.ctx._clip_path.length){var a;(a=window.outIntercept?"group"===window.outIntercept.type?window.outIntercept.stream:window.outIntercept:this.internal.getCurrentPage()).push("q");var s=this.path;this.path=this.ctx._clip_path, this.ctx._clip_path=[], this._fill(null,!0), this.ctx._clip_path=this.path, this.path=s;}var h=1;try{h=this._matrix_decompose(this._getTransform()).scale[0];}catch(t){console.warn(t);}if(h<.01)this.pdf.text(t,e,this._getBaseline(n),null,o);else{var c=this.pdf.internal.getFontSize();this.pdf.setFontSize(c*h), this.pdf.text(t,e,this._getBaseline(n),null,o), this.pdf.setFontSize(c);}0<this.ctx._clip_path.length&&a.push("Q");}},strokeText:function(t,e,n,r){if(!this._isStrokeTransparent()){e=this._wrapX(e), n=this._wrapY(n);var i=this._matrix_map_point(this.ctx._transform,[e,n]);e=i[0], n=i[1];var o=57.2958*this._matrix_rotation(this.ctx._transform);if(0<this.ctx._clip_path.length){var a;(a=window.outIntercept?"group"===window.outIntercept.type?window.outIntercept.stream:window.outIntercept:this.internal.getCurrentPage()).push("q");var s=this.path;this.path=this.ctx._clip_path, this.ctx._clip_path=[], this._fill(null,!0), this.ctx._clip_path=this.path, this.path=s;}var h=1;try{h=this._matrix_decompose(this._getTransform()).scale[0];}catch(t){console.warn(t);}if(1===h)this.pdf.text(t,e,this._getBaseline(n),{stroke:!0},o);else{var c=this.pdf.internal.getFontSize();this.pdf.setFontSize(c*h), this.pdf.text(t,e,this._getBaseline(n),{stroke:!0},o), this.pdf.setFontSize(c);}0<this.ctx._clip_path.length&&a.push("Q");}},setFont:function(t){if(this.ctx.font=t, null!=(c=/\s*(\w+)\s+(\w+)\s+(\w+)\s+([\d\.]+)(px|pt|em)\s+(.*)?/.exec(t))){var e=c[1],n=(c[2], c[3]),r=c[4],i=c[5],o=c[6];r="px"===i?Math.floor(parseFloat(r)):"em"===i?Math.floor(parseFloat(r)*this.pdf.getFontSize()):Math.floor(parseFloat(r)), this.pdf.setFontSize(r), "bold"===n||"700"===n?this.pdf.setFontStyle("bold"):"italic"===e?this.pdf.setFontStyle("italic"):this.pdf.setFontStyle("normal"), l="bold"===n||"700"===n?"italic"===e?"bolditalic":"bold":"italic"===e?"italic":"normal";for(var a=o.toLowerCase().split(/\s*,\s*/),s="Times",h=0;h<a.length;h++){if(void 0!==this.pdf.internal.getFont(a[h],l,{noFallback:!0,disableWarning:!0})){s=a[h];break}if("bolditalic"===l&&void 0!==this.pdf.internal.getFont(a[h],"bold",{noFallback:!0,disableWarning:!0}))s=a[h], l="bold";else if(void 0!==this.pdf.internal.getFont(a[h],"normal",{noFallback:!0,disableWarning:!0})){s=a[h], l="normal";break}}this.pdf.setFont(s,l);}else{var c=/\s*(\d+)(pt|px|em)\s+([\w "]+)\s*([\w "]+)?/.exec(t);if(null!=c){var l,u=c[1],f=(c[2], c[3]);(l=c[4])||(l="normal"), u="em"===i?Math.floor(parseFloat(r)*this.pdf.getFontSize()):Math.floor(parseFloat(u)), this.pdf.setFontSize(u), this.pdf.setFont(f,l);}}},setTextBaseline:function(t){this.ctx.textBaseline=t;},getTextBaseline:function(){return this.ctx.textBaseline},setTextAlign:function(t){this.ctx.textAlign=t;},getTextAlign:function(){return this.ctx.textAlign},setLineWidth:function(t){this.ctx.lineWidth=t, this.pdf.setLineWidth(t);},setLineCap:function(t){this.ctx.lineCap=t, this.pdf.setLineCap(t);},setLineJoin:function(t){this.ctx.lineJoin=t, this.pdf.setLineJoin(t);},moveTo:function(t,e){t=this._wrapX(t), e=this._wrapY(e);var n=this._matrix_map_point(this.ctx._transform,[t,e]),r={type:"mt",x:t=n[0],y:e=n[1]};this.path.push(r);},_wrapX:function(t){return this.pageWrapXEnabled?t%this.pageWrapX:t},_wrapY:function(t){return this.pageWrapYEnabled?(this._gotoPage(this._page(t)), (t-this.lastBreak)%this.pageWrapY):t},transform:function(t,e,n,r,i,o){this.ctx._transform=this._matrix_multiply(this.ctx._transform,[t,e,n,r,i,o]);},setTransform:function(t,e,n,r,i,o){this.ctx._transform=[t,e,n,r,i,o];},_getTransform:function(){return this.ctx._transform},lastBreak:0,pageBreaks:[],_page:function(t){if(this.pageWrapYEnabled){for(var e=this.lastBreak=0,n=0,r=0;r<this.pageBreaks.length;r++)if(t>=this.pageBreaks[r]){e++, 0===this.lastBreak&&n++;var i=this.pageBreaks[r]-this.lastBreak;this.lastBreak=this.pageBreaks[r], n+=Math.floor(i/this.pageWrapY);}if(0===this.lastBreak)n+=Math.floor(t/this.pageWrapY)+1;return n+e}return this.pdf.internal.getCurrentPageInfo().pageNumber},_gotoPage:function(t){},lineTo:function(t,e){t=this._wrapX(t), e=this._wrapY(e);var n=this._matrix_map_point(this.ctx._transform,[t,e]),r={type:"lt",x:t=n[0],y:e=n[1]};this.path.push(r);},bezierCurveTo:function(t,e,n,r,i,o){var a;t=this._wrapX(t), e=this._wrapY(e), n=this._wrapX(n), r=this._wrapY(r), i=this._wrapX(i), o=this._wrapY(o), i=(a=this._matrix_map_point(this.ctx._transform,[i,o]))[0], o=a[1];var s={type:"bct",x1:t=(a=this._matrix_map_point(this.ctx._transform,[t,e]))[0],y1:e=a[1],x2:n=(a=this._matrix_map_point(this.ctx._transform,[n,r]))[0],y2:r=a[1],x:i,y:o};this.path.push(s);},quadraticCurveTo:function(t,e,n,r){var i;t=this._wrapX(t), e=this._wrapY(e), n=this._wrapX(n), r=this._wrapY(r), n=(i=this._matrix_map_point(this.ctx._transform,[n,r]))[0], r=i[1];var o={type:"qct",x1:t=(i=this._matrix_map_point(this.ctx._transform,[t,e]))[0],y1:e=i[1],x:n,y:r};this.path.push(o);},arc:function(t,e,n,r,i,o){if(t=this._wrapX(t), e=this._wrapY(e), !this._matrix_is_identity(this.ctx._transform)){var a=this._matrix_map_point(this.ctx._transform,[t,e]);t=a[0], e=a[1];var s=this._matrix_map_point(this.ctx._transform,[0,0]),h=this._matrix_map_point(this.ctx._transform,[0,n]);n=Math.sqrt(Math.pow(h[0]-s[0],2)+Math.pow(h[1]-s[1],2));}var c={type:"arc",x:t,y:e,radius:n,startAngle:r,endAngle:i,anticlockwise:o};this.path.push(c);},drawImage:function(t,e,n,r,i,o,a,s,h){void 0!==o&&(e=o, n=a, r=s, i=h), e=this._wrapX(e), n=this._wrapY(n);var c,l=this._matrix_map_rect(this.ctx._transform,{x:e,y:n,w:r,h:i}),u=(this._matrix_map_rect(this.ctx._transform,{x:o,y:a,w:s,h:h}), /data:image\/(\w+).*/i.exec(t));c=null!=u?u[1]:"png", this.pdf.addImage(t,c,l.x,l.y,l.w,l.h);},_matrix_multiply:function(t,e){var n=e[0],r=e[1],i=e[2],o=e[3],a=e[4],s=e[5],h=n*t[0]+r*t[2],c=i*t[0]+o*t[2],l=a*t[0]+s*t[2]+t[4];return r=n*t[1]+r*t[3], o=i*t[1]+o*t[3], s=a*t[1]+s*t[3]+t[5], [n=h,r,i=c,o,a=l,s]},_matrix_rotation:function(t){return Math.atan2(t[2],t[0])},_matrix_decompose:function(t){var e=t[0],n=t[1],r=t[2],i=t[3],o=Math.sqrt(e*e+n*n),a=(e/=o)*r+(n/=o)*i;r-=e*a, i-=n*a;var s=Math.sqrt(r*r+i*i);return a/=s, e*(i/=s)<n*(r/=s)&&(e=-e, n=-n, a=-a, o=-o), {scale:[o,0,0,s,0,0],translate:[1,0,0,1,t[4],t[5]],rotate:[e,n,-n,e,0,0],skew:[1,0,a,1,0,0]}},_matrix_map_point:function(t,e){var n=t[0],r=t[1],i=t[2],o=t[3],a=t[4],s=t[5],h=e[0],c=e[1];return[h*n+c*i+a,h*r+c*o+s]},_matrix_map_point_obj:function(t,e){var n=this._matrix_map_point(t,[e.x,e.y]);return{x:n[0],y:n[1]}},_matrix_map_rect:function(t,e){var n=this._matrix_map_point(t,[e.x,e.y]),r=this._matrix_map_point(t,[e.x+e.w,e.y+e.h]);return{x:n[0],y:n[1],w:r[0]-n[0],h:r[1]-n[1]}},_matrix_is_identity:function(t){return 1==t[0]&&(0==t[1]&&(0==t[2]&&(1==t[3]&&(0==t[4]&&0==t[5]))))},rotate:function(t){var e=[Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0];this.ctx._transform=this._matrix_multiply(this.ctx._transform,e);},scale:function(t,e){var n=[t,0,0,e,0,0];this.ctx._transform=this._matrix_multiply(this.ctx._transform,n);},translate:function(t,e){var n=[1,0,0,1,t,e];this.ctx._transform=this._matrix_multiply(this.ctx._transform,n);},stroke:function(){if(0<this.ctx._clip_path.length){var t;(t=window.outIntercept?"group"===window.outIntercept.type?window.outIntercept.stream:window.outIntercept:this.internal.getCurrentPage()).push("q");var e=this.path;this.path=this.ctx._clip_path, this.ctx._clip_path=[], this._stroke(!0), this.ctx._clip_path=this.path, this.path=e, this._stroke(!1), t.push("Q");}else this._stroke(!1);},_stroke:function(t){if(t||!this._isStrokeTransparent()){for(var e=[],n=this.path,r=0;r<n.length;r++){var i=n[r];switch(i.type){case"mt":e.push({start:i,deltas:[],abs:[]});break;case"lt":var o=[i.x-n[r-1].x,i.y-n[r-1].y];e[e.length-1].deltas.push(o), e[e.length-1].abs.push(i);break;case"bct":o=[i.x1-n[r-1].x,i.y1-n[r-1].y,i.x2-n[r-1].x,i.y2-n[r-1].y,i.x-n[r-1].x,i.y-n[r-1].y];e[e.length-1].deltas.push(o);break;case"qct":var a=n[r-1].x+2/3*(i.x1-n[r-1].x),s=n[r-1].y+2/3*(i.y1-n[r-1].y),h=i.x+2/3*(i.x1-i.x),c=i.y+2/3*(i.y1-i.y),l=i.x,u=i.y;o=[a-n[r-1].x,s-n[r-1].y,h-n[r-1].x,c-n[r-1].y,l-n[r-1].x,u-n[r-1].y];e[e.length-1].deltas.push(o);break;case"arc":0==e.length&&e.push({start:{x:0,y:0},deltas:[],abs:[]}), e[e.length-1].arc=!0, Array.isArray(e[e.length-1].abs)&&e[e.length-1].abs.push(i);}}for(r=0;r<e.length;r++){var f;if(f=r==e.length-1?"s":null, e[r].arc)for(var d=e[r].abs,p=0;p<d.length;p++){var g=d[p],m=360*g.startAngle/(2*Math.PI),w=360*g.endAngle/(2*Math.PI),y=g.x,v=g.y;this.internal.arc2(this,y,v,g.radius,m,w,g.anticlockwise,f,t);}else{y=e[r].start.x, v=e[r].start.y;t?(this.pdf.lines(e[r].deltas,y,v,null,null), this.pdf.clip_fixed()):this.pdf.lines(e[r].deltas,y,v,null,f);}}}},_isFillTransparent:function(){return this.ctx._isFillTransparent||0==this.globalAlpha},_isStrokeTransparent:function(){return this.ctx._isStrokeTransparent||0==this.globalAlpha},fill:function(t){if(0<this.ctx._clip_path.length){var e;(e=window.outIntercept?"group"===window.outIntercept.type?window.outIntercept.stream:window.outIntercept:this.internal.getCurrentPage()).push("q");var n=this.path;this.path=this.ctx._clip_path, this.ctx._clip_path=[], this._fill(t,!0), this.ctx._clip_path=this.path, this.path=n, this._fill(t,!1), e.push("Q");}else this._fill(t,!1);},_fill:function(t,e){if(!this._isFillTransparent()){var n,r="function"==typeof this.pdf.internal.newObject2;n=window.outIntercept?"group"===window.outIntercept.type?window.outIntercept.stream:window.outIntercept:this.internal.getCurrentPage();var i=[],o=window.outIntercept;if(r)switch(this.ctx.globalCompositeOperation){case"normal":case"source-over":break;case"destination-in":case"destination-out":var a=this.pdf.internal.newStreamObject(),s=this.pdf.internal.newObject2();s.push("<</Type /ExtGState"), s.push("/SMask <</S /Alpha /G "+a.objId+" 0 R>>"), s.push(">>");var h="MASK"+s.objId;this.pdf.internal.addGraphicsState(h,s.objId);var c="/"+h+" gs";n.splice(0,0,"q"), n.splice(1,0,c), n.push("Q"), window.outIntercept=a;break;default:var l="/"+this.pdf.internal.blendModeMap[this.ctx.globalCompositeOperation.toUpperCase()];l&&this.pdf.internal.out(l+" gs");}var u=this.ctx.globalAlpha;if(this.ctx._fillOpacity<1&&(u=this.ctx._fillOpacity), r){var f=this.pdf.internal.newObject2();f.push("<</Type /ExtGState"), f.push("/CA "+u), f.push("/ca "+u), f.push(">>");h="GS_O_"+f.objId;this.pdf.internal.addGraphicsState(h,f.objId), this.pdf.internal.out("/"+h+" gs");}for(var d=this.path,p=0;p<d.length;p++){var g=d[p];switch(g.type){case"mt":i.push({start:g,deltas:[],abs:[]});break;case"lt":var m=[g.x-d[p-1].x,g.y-d[p-1].y];i[i.length-1].deltas.push(m), i[i.length-1].abs.push(g);break;case"bct":m=[g.x1-d[p-1].x,g.y1-d[p-1].y,g.x2-d[p-1].x,g.y2-d[p-1].y,g.x-d[p-1].x,g.y-d[p-1].y];i[i.length-1].deltas.push(m);break;case"qct":var w=d[p-1].x+2/3*(g.x1-d[p-1].x),y=d[p-1].y+2/3*(g.y1-d[p-1].y),v=g.x+2/3*(g.x1-g.x),b=g.y+2/3*(g.y1-g.y),x=g.x,S=g.y;m=[w-d[p-1].x,y-d[p-1].y,v-d[p-1].x,b-d[p-1].y,x-d[p-1].x,S-d[p-1].y];i[i.length-1].deltas.push(m);break;case"arc":0===i.length&&i.push({deltas:[],abs:[]}), i[i.length-1].arc=!0, Array.isArray(i[i.length-1].abs)&&i[i.length-1].abs.push(g);break;case"close":i.push({close:!0});}}for(p=0;p<i.length;p++){var k;if(p==i.length-1?(k="f", "evenodd"===t&&(k+="*")):k=null, i[p].close)this.pdf.internal.out("h"), k&&this.pdf.internal.out(k);else if(i[p].arc){i[p].start&&this.internal.move2(this,i[p].start.x,i[p].start.y);for(var _=i[p].abs,A=0;A<_.length;A++){var I=_[A];if(void 0!==I.startAngle){var C=360*I.startAngle/(2*Math.PI),T=360*I.endAngle/(2*Math.PI),F=I.x,P=I.y;if(0===A&&this.internal.move2(this,F,P), this.internal.arc2(this,F,P,I.radius,C,T,I.anticlockwise,null,e), A===_.length-1&&i[p].start){F=i[p].start.x, P=i[p].start.y;this.internal.line2(E,F,P);}}else this.internal.line2(E,I.x,I.y);}}else{F=i[p].start.x, P=i[p].start.y;e?(this.pdf.lines(i[p].deltas,F,P,null,null), this.pdf.clip_fixed()):this.pdf.lines(i[p].deltas,F,P,null,k);}}window.outIntercept=o;}},pushMask:function(){if("function"==typeof this.pdf.internal.newObject2){var t=this.pdf.internal.newStreamObject(),e=this.pdf.internal.newObject2();e.push("<</Type /ExtGState"), e.push("/SMask <</S /Alpha /G "+t.objId+" 0 R>>"), e.push(">>");var n="MASK"+e.objId;this.pdf.internal.addGraphicsState(n,e.objId);var r="/"+n+" gs";this.pdf.internal.out(r);}else console.log("jsPDF v2 not enabled");},clip:function(){if(0<this.ctx._clip_path.length)for(var t=0;t<this.path.length;t++)this.ctx._clip_path.push(this.path[t]);else this.ctx._clip_path=this.path;this.path=[];},measureText:function(n){var r=this.pdf;return{getWidth:function(){var t=r.internal.getFontSize(),e=r.getStringUnitWidth(n)*t/r.internal.scaleFactor;return e*=1.3333},get width(){return this.getWidth(n)}}},_getBaseline:function(t){var e=parseInt(this.pdf.internal.getFontSize()),n=.25*e;switch(this.ctx.textBaseline){case"bottom":return t-n;case"top":return t+e;case"hanging":return t+e-n;case"middle":return t+e/2-n;case"ideographic":return t;case"alphabetic":default:return t}}};var E=t.context2d;function e(){this._isStrokeTransparent=!1, this._strokeOpacity=1, this.strokeStyle="#000000", this.fillStyle="#000000", this._isFillTransparent=!1, this._fillOpacity=1, this.font="12pt times", this.textBaseline="alphabetic", this.textAlign="start", this.lineWidth=1, this.lineJoin="miter", this.lineCap="butt", this._transform=[1,0,0,1,0,0], this.globalCompositeOperation="normal", this.globalAlpha=1, this._clip_path=[], this.ignoreClearRect=!1, this.copy=function(t){this._isStrokeTransparent=t._isStrokeTransparent, this._strokeOpacity=t._strokeOpacity, this.strokeStyle=t.strokeStyle, this._isFillTransparent=t._isFillTransparent, this._fillOpacity=t._fillOpacity, this.fillStyle=t.fillStyle, this.font=t.font, this.lineWidth=t.lineWidth, this.lineJoin=t.lineJoin, this.lineCap=t.lineCap, this.textBaseline=t.textBaseline, this.textAlign=t.textAlign, this._fontSize=t._fontSize, this._transform=t._transform.slice(0), this.globalCompositeOperation=t.globalCompositeOperation, this.globalAlpha=t.globalAlpha, this._clip_path=t._clip_path.slice(0), this.ignoreClearRect=t.ignoreClearRect;};}Object.defineProperty(E,"fillStyle",{set:function(t){this.setFillStyle(t);},get:function(){return this.ctx.fillStyle}}), Object.defineProperty(E,"strokeStyle",{set:function(t){this.setStrokeStyle(t);},get:function(){return this.ctx.strokeStyle}}), Object.defineProperty(E,"lineWidth",{set:function(t){this.setLineWidth(t);},get:function(){return this.ctx.lineWidth}}), Object.defineProperty(E,"lineCap",{set:function(t){this.setLineCap(t);},get:function(){return this.ctx.lineCap}}), Object.defineProperty(E,"lineJoin",{set:function(t){this.setLineJoin(t);},get:function(){return this.ctx.lineJoin}}), Object.defineProperty(E,"miterLimit",{set:function(t){this.ctx.miterLimit=t;},get:function(){return this.ctx.miterLimit}}), Object.defineProperty(E,"textBaseline",{set:function(t){this.setTextBaseline(t);},get:function(){return this.getTextBaseline()}}), Object.defineProperty(E,"textAlign",{set:function(t){this.setTextAlign(t);},get:function(){return this.getTextAlign()}}), Object.defineProperty(E,"font",{set:function(t){this.setFont(t);},get:function(){return this.ctx.font}}), Object.defineProperty(E,"globalCompositeOperation",{set:function(t){this.ctx.globalCompositeOperation=t;},get:function(){return this.ctx.globalCompositeOperation}}), Object.defineProperty(E,"globalAlpha",{set:function(t){this.ctx.globalAlpha=t;},get:function(){return this.ctx.globalAlpha}}), Object.defineProperty(E,"canvas",{get:function(){return{parentNode:!1,style:!1}}}), Object.defineProperty(E,"ignoreClearRect",{set:function(t){this.ctx.ignoreClearRect=t;},get:function(){return this.ctx.ignoreClearRect}}), E.internal={}, E.internal.rxRgb=/rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/, E.internal.rxRgba=/rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d\.]+)\s*\)/, E.internal.rxTransparent=/transparent|rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*0+\s*\)/, E.internal.arc=function(t,e,n,r,i,o,a,s){for(var h=this.pdf.internal.scaleFactor,c=this.pdf.internal.pageSize.getHeight(),l=this.pdf.internal.f2,u=i*(Math.PI/180),f=o*(Math.PI/180),d=this.createArc(r,u,f,a),p=0;p<d.length;p++){var g=d[p];0===p?this.pdf.internal.out([l((g.x1+e)*h),l((c-(g.y1+n))*h),"m",l((g.x2+e)*h),l((c-(g.y2+n))*h),l((g.x3+e)*h),l((c-(g.y3+n))*h),l((g.x4+e)*h),l((c-(g.y4+n))*h),"c"].join(" ")):this.pdf.internal.out([l((g.x2+e)*h),l((c-(g.y2+n))*h),l((g.x3+e)*h),l((c-(g.y3+n))*h),l((g.x4+e)*h),l((c-(g.y4+n))*h),"c"].join(" ")), t._lastPoint={x:e,y:n};}null!==s&&this.pdf.internal.out(this.pdf.internal.getStyle(s));}, E.internal.arc2=function(t,e,n,r,i,o,a,s,h){var c=e,l=n;h?(this.arc(t,c,l,r,i,o,a,null), this.pdf.clip_fixed()):this.arc(t,c,l,r,i,o,a,s);}, E.internal.move2=function(t,e,n){var r=this.pdf.internal.scaleFactor,i=this.pdf.internal.pageSize.getHeight(),o=this.pdf.internal.f2;this.pdf.internal.out([o(e*r),o((i-n)*r),"m"].join(" ")), t._lastPoint={x:e,y:n};}, E.internal.line2=function(t,e,n){var r=this.pdf.internal.scaleFactor,i=this.pdf.internal.pageSize.getHeight(),o=this.pdf.internal.f2,a={x:e,y:n};this.pdf.internal.out([o(a.x*r),o((i-a.y)*r),"l"].join(" ")), t._lastPoint=a;}, E.internal.createArc=function(t,e,n,r){var i=2*Math.PI,o=Math.PI/2,a=e;for((a<i||i<a)&&(a%=i), a<0&&(a=i+a);n<e;)e-=i;var s=Math.abs(n-e);s<i&&r&&(s=i-s);for(var h=[],c=r?-1:1,l=a;1e-5<s;){var u=l+c*Math.min(s,o);h.push(this.createSmallArc(t,l,u)), s-=Math.abs(u-l), l=u;}return h}, E.internal.getCurrentPage=function(){return this.pdf.internal.pages[this.pdf.internal.getCurrentPageInfo().pageNumber]}, E.internal.createSmallArc=function(t,e,n){var r=(n-e)/2,i=t*Math.cos(r),o=t*Math.sin(r),a=i,s=-o,h=a*a+s*s,c=h+a*i+s*o,l=4/3*(Math.sqrt(2*h*c)-c)/(a*o-s*i),u=a-l*s,f=s+l*a,d=u,p=-f,g=r+e,m=Math.cos(g),w=Math.sin(g);return{x1:t*Math.cos(e),y1:t*Math.sin(e),x2:u*m-f*w,y2:u*w+f*m,x3:d*m-p*w,y3:d*w+p*m,x4:t*Math.cos(n),y4:t*Math.sin(n)}};}($.API,"undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof commonjsGlobal&&commonjsGlobal||Function('return typeof this === "object" && this.content')()||Function("return this")()), function(t){var T,F,i,a,s,h,c,l,P,v,f,u,d,n,E,q,p,g,m,O;T=function(){return function(t){return e.prototype=t, new e};function e(){}}(), v=function(t){var e,n,r,i,o,a,s;for(n=0, r=t.length, e=void 0, a=i=!1;!i&&n!==r;)(e=t[n]=t[n].trimLeft())&&(i=!0), n++;for(n=r-1;r&&!a&&-1!==n;)(e=t[n]=t[n].trimRight())&&(a=!0), n--;for(o=/\s+$/g, s=!0, n=0;n!==r;)"\u2028"!=t[n]&&(e=t[n].replace(/\s+/g," "), s&&(e=e.trimLeft()), e&&(s=o.test(e)), t[n]=e), n++;return t}, u=function(t){var e,n,r;for(e=void 0, n=(r=t.split(",")).shift();!e&&n;)e=i[n.trim().toLowerCase()], n=r.shift();return e}, d=function(t){var e;return-1<(t="auto"===t?"0px":t).indexOf("em")&&!isNaN(Number(t.replace("em","")))&&(t=18.719*Number(t.replace("em",""))+"px"), -1<t.indexOf("pt")&&!isNaN(Number(t.replace("pt","")))&&(t=1.333*Number(t.replace("pt",""))+"px"), (e=n[t])?e:void 0!==(e={"xx-small":9,"x-small":11,small:13,medium:16,large:19,"x-large":23,"xx-large":28,auto:0}[t])?n[t]=e/16:(e=parseFloat(t))?n[t]=e/16:(e=t.match(/([\d\.]+)(px)/), Array.isArray(e)&&3===e.length?n[t]=parseFloat(e[1])/16:n[t]=1)}, P=function(t){var e,n,r,i,o;return o=t, i=document.defaultView&&document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(o,null):o.currentStyle?o.currentStyle:o.style, n=void 0, (e={})["font-family"]=u((r=function(t){return t=t.replace(/-\D/g,function(t){return t.charAt(1).toUpperCase()}), i[t]})("font-family"))||"times", e["font-style"]=a[r("font-style")]||"normal", e["text-align"]=s[r("text-align")]||"left", "bold"===(n=h[r("font-weight")]||"normal")&&("normal"===e["font-style"]?e["font-style"]=n:e["font-style"]=n+e["font-style"]), e["font-size"]=d(r("font-size"))||1, e["line-height"]=d(r("line-height"))||1, e.display="inline"===r("display")?"inline":"block", n="block"===e.display, e["margin-top"]=n&&d(r("margin-top"))||0, e["margin-bottom"]=n&&d(r("margin-bottom"))||0, e["padding-top"]=n&&d(r("padding-top"))||0, e["padding-bottom"]=n&&d(r("padding-bottom"))||0, e["margin-left"]=n&&d(r("margin-left"))||0, e["margin-right"]=n&&d(r("margin-right"))||0, e["padding-left"]=n&&d(r("padding-left"))||0, e["padding-right"]=n&&d(r("padding-right"))||0, e["page-break-before"]=r("page-break-before")||"auto", e.float=c[r("cssFloat")]||"none", e.clear=l[r("clear")]||"none", e.color=r("color"), e}, E=function(t,e,n){var r,i,o,a,s;if(o=!1, a=i=void 0, r=n["#"+t.id])if("function"==typeof r)o=r(t,e);else for(i=0, a=r.length;!o&&i!==a;)o=r[i](t,e), i++;if(r=n[t.nodeName], !o&&r)if("function"==typeof r)o=r(t,e);else for(i=0, a=r.length;!o&&i!==a;)o=r[i](t,e), i++;for(s="string"==typeof t.className?t.className.split(" "):[], i=0;i<s.length;i++)if(r=n["."+s[i]], !o&&r)if("function"==typeof r)o=r(t,e);else for(i=0, a=r.length;!o&&i!==a;)o=r[i](t,e), i++;return o}, O=function(t,e){var n,r,i,o,a,s,h,c,l;for(n=[], r=[], i=0, l=t.rows[0].cells.length, h=t.clientWidth;i<l;)c=t.rows[0].cells[i], r[i]={name:c.textContent.toLowerCase().replace(/\s+/g,""),prompt:c.textContent.replace(/\r?\n/g,""),width:c.clientWidth/h*e.pdf.internal.pageSize.getWidth()}, i++;for(i=1;i<t.rows.length;){for(s=t.rows[i], a={}, o=0;o<s.cells.length;)a[r[o].name]=s.cells[o].textContent.replace(/\r?\n/g,""), o++;n.push(a), i++;}return{rows:n,headers:r}};var B={SCRIPT:1,STYLE:1,NOSCRIPT:1,OBJECT:1,EMBED:1,SELECT:1},R=1;F=function(t,i,e){var n,r,o,a,s,h,c,l;for(r=t.childNodes, n=void 0, (s="block"===(o=P(t)).display)&&(i.setBlockBoundary(), i.setBlockStyle(o)), a=0, h=r.length;a<h;){if("object"===(void 0===(n=r[a])?"undefined":vt(n))){if(i.executeWatchFunctions(n), 1===n.nodeType&&"HEADER"===n.nodeName){var u=n,f=i.pdf.margins_doc.top;i.pdf.internal.events.subscribe("addPage",function(t){i.y=f, F(u,i,e), i.pdf.margins_doc.top=i.y+10, i.y+=10;},!1);}if(8===n.nodeType&&"#comment"===n.nodeName)~n.textContent.indexOf("ADD_PAGE")&&(i.pdf.addPage(), i.y=i.pdf.margins_doc.top);else if(1!==n.nodeType||B[n.nodeName])if(3===n.nodeType){var d=n.nodeValue;if(n.nodeValue&&"LI"===n.parentNode.nodeName)if("OL"===n.parentNode.parentNode.nodeName)d=R+++". "+d;else{var p=o["font-size"],g=(3-.75*p)*i.pdf.internal.scaleFactor,m=.75*p*i.pdf.internal.scaleFactor,w=1.74*p/i.pdf.internal.scaleFactor;l=function(t,e){this.pdf.circle(t+g,e+m,w,"FD");};}16&n.ownerDocument.body.compareDocumentPosition(n)&&i.addText(d,o);}else"string"==typeof n&&i.addText(n,o);else{var y;if("IMG"===n.nodeName){var v=n.getAttribute("src");y=q[i.pdf.sHashCode(v)||v];}if(y){i.pdf.internal.pageSize.getHeight()-i.pdf.margins_doc.bottom<i.y+n.height&&i.y>i.pdf.margins_doc.top&&(i.pdf.addPage(), i.y=i.pdf.margins_doc.top, i.executeWatchFunctions(n));var b=P(n),x=i.x,S=12/i.pdf.internal.scaleFactor,k=(b["margin-left"]+b["padding-left"])*S,_=(b["margin-right"]+b["padding-right"])*S,A=(b["margin-top"]+b["padding-top"])*S,I=(b["margin-bottom"]+b["padding-bottom"])*S;void 0!==b.float&&"right"===b.float?x+=i.settings.width-n.width-_:x+=k, i.pdf.addImage(y,x,i.y+A,n.width,n.height), y=void 0, "right"===b.float||"left"===b.float?(i.watchFunctions.push(function(t,e,n,r){return i.y>=e?(i.x+=t, i.settings.width+=n, !0):!!(r&&1===r.nodeType&&!B[r.nodeName]&&i.x+r.width>i.pdf.margins_doc.left+i.pdf.margins_doc.width)&&(i.x+=t, i.y=e, i.settings.width+=n, !0)}.bind(this,"left"===b.float?-n.width-k-_:0,i.y+n.height+A+I,n.width)), i.watchFunctions.push(function(t,e,n){return!(i.y<t&&e===i.pdf.internal.getNumberOfPages())||1===n.nodeType&&"both"===P(n).clear&&(i.y=t, !0)}.bind(this,i.y+n.height,i.pdf.internal.getNumberOfPages())), i.settings.width-=n.width+k+_, "left"===b.float&&(i.x+=n.width+k+_)):i.y+=n.height+A+I;}else if("TABLE"===n.nodeName)c=O(n,i), i.y+=10, i.pdf.table(i.x,i.y,c.rows,c.headers,{autoSize:!1,printHeaders:e.printHeaders,margins:i.pdf.margins_doc,css:P(n)}), i.y=i.pdf.lastCellPos.y+i.pdf.lastCellPos.h+20;else if("OL"===n.nodeName||"UL"===n.nodeName)R=1, E(n,i,e)||F(n,i,e), i.y+=10;else if("LI"===n.nodeName){var C=i.x;i.x+=20/i.pdf.internal.scaleFactor, i.y+=3, E(n,i,e)||F(n,i,e), i.x=C;}else"BR"===n.nodeName?(i.y+=o["font-size"]*i.pdf.internal.scaleFactor, i.addText("\u2028",T(o))):E(n,i,e)||F(n,i,e);}}a++;}if(e.outY=i.y, s)return i.setBlockBoundary(l)}, q={}, p=function(t,o,e,n){var a,r=t.getElementsByTagName("img"),i=r.length,s=0;function h(){o.pdf.internal.events.publish("imagesLoaded"), n(a);}function c(e,n,r){if(e){var i=new Image;a=++s, i.crossOrigin="", i.onerror=i.onload=function(){if(i.complete&&(0===i.src.indexOf("data:image/")&&(i.width=n||i.width||0, i.height=r||i.height||0), i.width+i.height)){var t=o.pdf.sHashCode(e)||e;q[t]=q[t]||i;}--s||h();}, i.src=e;}}for(;i--;)c(r[i].getAttribute("src"),r[i].width,r[i].height);return s||h()}, g=function(t,o,a){var s=t.getElementsByTagName("footer");if(0<s.length){s=s[0];var e=o.pdf.internal.write,n=o.y;o.pdf.internal.write=function(){}, F(s,o,a);var h=Math.ceil(o.y-n)+5;o.y=n, o.pdf.internal.write=e, o.pdf.margins_doc.bottom+=h;for(var r=function(t){var e=void 0!==t?t.pageNumber:1,n=o.y;o.y=o.pdf.internal.pageSize.getHeight()-o.pdf.margins_doc.bottom, o.pdf.margins_doc.bottom-=h;for(var r=s.getElementsByTagName("span"),i=0;i<r.length;++i)-1<(" "+r[i].className+" ").replace(/[\n\t]/g," ").indexOf(" pageCounter ")&&(r[i].innerHTML=e), -1<(" "+r[i].className+" ").replace(/[\n\t]/g," ").indexOf(" totalPages ")&&(r[i].innerHTML="###jsPDFVarTotalPages###");F(s,o,a), o.pdf.margins_doc.bottom+=h, o.y=n;},i=s.getElementsByTagName("span"),c=0;c<i.length;++c)-1<(" "+i[c].className+" ").replace(/[\n\t]/g," ").indexOf(" totalPages ")&&o.pdf.internal.events.subscribe("htmlRenderingFinished",o.pdf.putTotalPages.bind(o.pdf,"###jsPDFVarTotalPages###"),!0);o.pdf.internal.events.subscribe("addPage",r,!1), r(), B.FOOTER=1;}}, m=function(t,e,n,r,i,o){if(!e)return!1;var a,s,h,c;"string"==typeof e||e.parentNode||(e=""+e.innerHTML), "string"==typeof e&&(a=e.replace(/<\/?script[^>]*?>/gi,""), c="jsPDFhtmlText"+Date.now().toString()+(1e3*Math.random()).toFixed(0), (h=document.createElement("div")).style.cssText="position: absolute !important;clip: rect(1px 1px 1px 1px); /* IE6, IE7 */clip: rect(1px, 1px, 1px, 1px);padding:0 !important;border:0 !important;height: 1px !important;width: 1px !important; top:auto;left:-100px;overflow: hidden;", h.innerHTML='<iframe style="height:1px;width:1px" name="'+c+'" />', document.body.appendChild(h), (s=window.frames[c]).document.open(), s.document.writeln(a), s.document.close(), e=s.document.body);var l,u=new f(t,n,r,i);return p.call(this,e,u,i.elementHandlers,function(t){g(e,u,i.elementHandlers), F(e,u,i.elementHandlers), u.pdf.internal.events.publish("htmlRenderingFinished"), l=u.dispose(), "function"==typeof o?o(l):t&&console.error("jsPDF Warning: rendering issues? provide a callback to fromHTML!");}), l||{x:u.x,y:u.y}}, (f=function(t,e,n,r){return this.pdf=t, this.x=e, this.y=n, this.settings=r, this.watchFunctions=[], this.init(), this}).prototype.init=function(){return this.paragraph={text:[],style:[]}, this.pdf.internal.write("q")}, f.prototype.dispose=function(){return this.pdf.internal.write("Q"), {x:this.x,y:this.y,ready:!0}}, f.prototype.executeWatchFunctions=function(t){var e=!1,n=[];if(0<this.watchFunctions.length){for(var r=0;r<this.watchFunctions.length;++r)!0===this.watchFunctions[r](t)?e=!0:n.push(this.watchFunctions[r]);this.watchFunctions=n;}return e}, f.prototype.splitFragmentsIntoLines=function(t,e){var n,r,i,o,a,s,h,c,l,u,f,d,p,g;for(u=this.pdf.internal.scaleFactor, o={}, s=h=c=g=a=i=l=r=void 0, d=[f=[]], n=0, p=this.settings.width;t.length;)if(a=t.shift(), g=e.shift(), a)if((i=o[(r=g["font-family"])+(l=g["font-style"])])||(i=this.pdf.internal.getFont(r,l).metadata.Unicode, o[r+l]=i), c={widths:i.widths,kerning:i.kerning,fontSize:12*g["font-size"],textIndent:n}, h=this.pdf.getStringUnitWidth(a,c)*c.fontSize/u, "\u2028"==a)f=[], d.push(f);else if(p<n+h){for(s=this.pdf.splitTextToSize(a,p,c), f.push([s.shift(),g]);s.length;)f=[[s.shift(),g]], d.push(f);n=this.pdf.getStringUnitWidth(f[0][0],c)*c.fontSize/u;}else f.push([a,g]), n+=h;if(void 0!==g["text-align"]&&("center"===g["text-align"]||"right"===g["text-align"]||"justify"===g["text-align"]))for(var m=0;m<d.length;++m){var w=this.pdf.getStringUnitWidth(d[m][0][0],c)*c.fontSize/u;0<m&&(d[m][0][1]=T(d[m][0][1]));var y=p-w;if("right"===g["text-align"])d[m][0][1]["margin-left"]=y;else if("center"===g["text-align"])d[m][0][1]["margin-left"]=y/2;else if("justify"===g["text-align"]){var v=d[m][0][0].split(" ").length-1;d[m][0][1]["word-spacing"]=y/v, m===d.length-1&&(d[m][0][1]["word-spacing"]=0);}}return d}, f.prototype.RenderTextFragment=function(t,e){var n,r;r=0, this.pdf.internal.pageSize.getHeight()-this.pdf.margins_doc.bottom<this.y+this.pdf.internal.getFontSize()&&(this.pdf.internal.write("ET","Q"), this.pdf.addPage(), this.y=this.pdf.margins_doc.top, this.pdf.internal.write("q","BT",this.getPdfColor(e.color),this.pdf.internal.getCoordinateString(this.x),this.pdf.internal.getVerticalCoordinateString(this.y),"Td"), r=Math.max(r,e["line-height"],e["font-size"]), this.pdf.internal.write(0,(-12*r).toFixed(2),"Td")), n=this.pdf.internal.getFont(e["font-family"],e["font-style"]);var i=this.getPdfColor(e.color);i!==this.lastTextColor&&(this.pdf.internal.write(i), this.lastTextColor=i), void 0!==e["word-spacing"]&&0<e["word-spacing"]&&this.pdf.internal.write(e["word-spacing"].toFixed(2),"Tw"), this.pdf.internal.write("/"+n.id,(12*e["font-size"]).toFixed(2),"Tf","("+this.pdf.internal.pdfEscape(t)+") Tj"), void 0!==e["word-spacing"]&&this.pdf.internal.write(0,"Tw");}, f.prototype.getPdfColor=function(t){var e,n,r,i=new RGBColor(t),o=/rgb\s*\(\s*(\d+),\s*(\d+),\s*(\d+\s*)\)/.exec(t);if(null!=o?(e=parseInt(o[1]), n=parseInt(o[2]), r=parseInt(o[3])):("#"!=t.charAt(0)&&(t=i.ok?i.toHex():"#000000"), e=t.substring(1,3), e=parseInt(e,16), n=t.substring(3,5), n=parseInt(n,16), r=t.substring(5,7), r=parseInt(r,16)), "string"==typeof e&&/^#[0-9A-Fa-f]{6}$/.test(e)){var a=parseInt(e.substr(1),16);e=a>>16&255, n=a>>8&255, r=255&a;}var s=this.f3;return 0===e&&0===n&&0===r||void 0===n?s(e/255)+" g":[s(e/255),s(n/255),s(r/255),"rg"].join(" ")}, f.prototype.f3=function(t){return t.toFixed(3)}, f.prototype.renderParagraph=function(t){var e,n,r,i,o,a,s,h,c,l,u,f,d;if(r=v(this.paragraph.text), f=this.paragraph.style, e=this.paragraph.blockstyle, this.paragraph.priorblockstyle||{}, this.paragraph={text:[],style:[],blockstyle:{},priorblockstyle:e}, r.join("").trim()){s=this.splitFragmentsIntoLines(r,f), h=a=void 0, n=12/this.pdf.internal.scaleFactor, this.priorMarginBottom=this.priorMarginBottom||0, u=(Math.max((e["margin-top"]||0)-this.priorMarginBottom,0)+(e["padding-top"]||0))*n, l=((e["margin-bottom"]||0)+(e["padding-bottom"]||0))*n, this.priorMarginBottom=e["margin-bottom"]||0, "always"===e["page-break-before"]&&(this.pdf.addPage(), this.y=0, u=((e["margin-top"]||0)+(e["padding-top"]||0))*n), c=this.pdf.internal.write, o=i=void 0, this.y+=u, c("q","BT 0 g",this.pdf.internal.getCoordinateString(this.x),this.pdf.internal.getVerticalCoordinateString(this.y),"Td");for(var p=0;s.length;){for(i=h=0, o=(a=s.shift()).length;i!==o;)a[i][0].trim()&&(h=Math.max(h,a[i][1]["line-height"],a[i][1]["font-size"]), d=7*a[i][1]["font-size"]), i++;var g=0,m=0;for(void 0!==a[0][1]["margin-left"]&&0<a[0][1]["margin-left"]&&(g=(m=this.pdf.internal.getCoordinateString(a[0][1]["margin-left"]))-p, p=m), c(g+Math.max(e["margin-left"]||0,0)*n,(-12*h).toFixed(2),"Td"), i=0, o=a.length;i!==o;)a[i][0]&&this.RenderTextFragment(a[i][0],a[i][1]), i++;if(this.y+=h*n, this.executeWatchFunctions(a[0][1])&&0<s.length){var w=[],y=[];s.forEach(function(t){for(var e=0,n=t.length;e!==n;)t[e][0]&&(w.push(t[e][0]+" "), y.push(t[e][1])), ++e;}), s=this.splitFragmentsIntoLines(v(w),y), c("ET","Q"), c("q","BT 0 g",this.pdf.internal.getCoordinateString(this.x),this.pdf.internal.getVerticalCoordinateString(this.y),"Td");}}return t&&"function"==typeof t&&t.call(this,this.x-9,this.y-d/2), c("ET","Q"), this.y+=l}}, f.prototype.setBlockBoundary=function(t){return this.renderParagraph(t)}, f.prototype.setBlockStyle=function(t){return this.paragraph.blockstyle=t}, f.prototype.addText=function(t,e){return this.paragraph.text.push(t), this.paragraph.style.push(e)}, i={helvetica:"helvetica","sans-serif":"helvetica","times new roman":"times",serif:"times",times:"times",monospace:"courier",courier:"courier"}, h={100:"normal",200:"normal",300:"normal",400:"normal",500:"bold",600:"bold",700:"bold",800:"bold",900:"bold",normal:"normal",bold:"bold",bolder:"bold",lighter:"normal"}, a={normal:"normal",italic:"italic",oblique:"italic"}, s={left:"left",right:"right",center:"center",justify:"justify"}, c={none:"none",right:"right",left:"left"}, l={none:"none",both:"both"}, n={normal:1}, t.fromHTML=function(t,e,n,r,i,o){return this.margins_doc=o||{top:0,bottom:0}, r||(r={}), r.elementHandlers||(r.elementHandlers={}), m(this,t,isNaN(e)?4:e,isNaN(n)?4:n,r,i)};}($.API), $.API.addJS=function(t){return s=t, this.internal.events.subscribe("postPutResources",function(t){n=this.internal.newObject(), this.internal.out("<<"), this.internal.out("/Names [(EmbeddedJS) "+(n+1)+" 0 R]"), this.internal.out(">>"), this.internal.out("endobj"), r=this.internal.newObject(), this.internal.out("<<"), this.internal.out("/S /JavaScript"), this.internal.out("/JS ("+s+")"), this.internal.out(">>"), this.internal.out("endobj");}), this.internal.events.subscribe("putCatalog",function(){void 0!==n&&void 0!==r&&this.internal.out("/Names <</JavaScript "+n+" 0 R>>");}), this}, ( +/** + * jsPDF Outline PlugIn + * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ +c=$.API).events.push(["postPutResources",function(){var t=this,e=/^(\d+) 0 obj$/;if(0<this.outline.root.children.length)for(var n=t.outline.render().split(/\r\n/),r=0;r<n.length;r++){var i=n[r],o=e.exec(i);if(null!=o){var a=o[1];t.internal.newObjectDeferredBegin(a);}t.internal.write(i);}if(this.outline.createNamedDestinations){var s=this.internal.pages.length,h=[];for(r=0;r<s;r++){var c=t.internal.newObject();h.push(c);var l=t.internal.getPageInfo(r+1);t.internal.write("<< /D["+l.objId+" 0 R /XYZ null null null]>> endobj");}var u=t.internal.newObject();for(t.internal.write("<< /Names [ "), r=0;r<h.length;r++)t.internal.write("(page_"+(r+1)+")"+h[r]+" 0 R");t.internal.write(" ] >>","endobj"), t.internal.newObject(), t.internal.write("<< /Dests "+u+" 0 R"), t.internal.write(">>","endobj");}}]), c.events.push(["putCatalog",function(){0<this.outline.root.children.length&&(this.internal.write("/Outlines",this.outline.makeRef(this.outline.root)), this.outline.createNamedDestinations&&this.internal.write("/Names "+namesOid+" 0 R"));}]), c.events.push(["initialized",function(){var o=this;o.outline={createNamedDestinations:!1,root:{children:[]}}, o.outline.add=function(t,e,n){var r={title:e,options:n,children:[]};return null==t&&(t=this.root), t.children.push(r), r}, o.outline.render=function(){return this.ctx={}, this.ctx.val="", this.ctx.pdf=o, this.genIds_r(this.root), this.renderRoot(this.root), this.renderItems(this.root), this.ctx.val}, o.outline.genIds_r=function(t){t.id=o.internal.newObjectDeferred();for(var e=0;e<t.children.length;e++)this.genIds_r(t.children[e]);}, o.outline.renderRoot=function(t){this.objStart(t), this.line("/Type /Outlines"), 0<t.children.length&&(this.line("/First "+this.makeRef(t.children[0])), this.line("/Last "+this.makeRef(t.children[t.children.length-1]))), this.line("/Count "+this.count_r({count:0},t)), this.objEnd();}, o.outline.renderItems=function(t){for(var e=0;e<t.children.length;e++){var n=t.children[e];this.objStart(n), this.line("/Title "+this.makeString(n.title)), this.line("/Parent "+this.makeRef(t)), 0<e&&this.line("/Prev "+this.makeRef(t.children[e-1])), e<t.children.length-1&&this.line("/Next "+this.makeRef(t.children[e+1])), 0<n.children.length&&(this.line("/First "+this.makeRef(n.children[0])), this.line("/Last "+this.makeRef(n.children[n.children.length-1])));var r=this.count=this.count_r({count:0},n);if(0<r&&this.line("/Count "+r), n.options&&n.options.pageNumber){var i=o.internal.getPageInfo(n.options.pageNumber);this.line("/Dest ["+i.objId+" 0 R /XYZ 0 "+this.ctx.pdf.internal.pageSize.getHeight()*this.ctx.pdf.internal.scaleFactor+" 0]");}this.objEnd();}for(e=0;e<t.children.length;e++)n=t.children[e], this.renderItems(n);}, o.outline.line=function(t){this.ctx.val+=t+"\r\n";}, o.outline.makeRef=function(t){return t.id+" 0 R"}, o.outline.makeString=function(t){return"("+o.internal.pdfEscape(t)+")"}, o.outline.objStart=function(t){this.ctx.val+="\r\n"+t.id+" 0 obj\r\n<<\r\n";}, o.outline.objEnd=function(t){this.ctx.val+=">> \r\nendobj\r\n";}, o.outline.count_r=function(t,e){for(var n=0;n<e.children.length;n++)t.count++, this.count_r(t,e.children[n]);return t.count};}]), P=$.API, E=function(){var t="function"==typeof Deflater;if(!t)throw new Error("requires deflate.js for compression");return t}, q=function(t,e,n,r){var i=5,o=b;switch(r){case P.image_compression.FAST:i=3, o=v;break;case P.image_compression.MEDIUM:i=6, o=x;break;case P.image_compression.SLOW:i=9, o=S;}t=w(t,e,n,o);var a=new Uint8Array(g(i)),s=m(t),h=new Deflater(i),c=h.append(t),l=h.flush(),u=a.length+c.length+l.length,f=new Uint8Array(u+4);return f.set(a), f.set(c,a.length), f.set(l,a.length+c.length), f[u++]=s>>>24&255, f[u++]=s>>>16&255, f[u++]=s>>>8&255, f[u++]=255&s, P.arrayBufferToBinaryString(f)}, g=function(t,e){var n=Math.LOG2E*Math.log(32768)-8<<4|8,r=n<<8;return r|=Math.min(3,(e-1&255)>>1)<<6, r|=0, [n,255&(r+=31-r%31)]}, m=function(t,e){for(var n,r=1,i=0,o=t.length,a=0;0<o;){for(o-=n=e<o?e:o;i+=r+=t[a++], --n;);r%=65521, i%=65521;}return(i<<16|r)>>>0}, w=function(t,e,n,r){for(var i,o,a,s=t.length/e,h=new Uint8Array(t.length+s),c=k(),l=0;l<s;l++){if(a=l*e, i=t.subarray(a,a+e), r)h.set(r(i,n,o),a+l);else{for(var u=0,f=c.length,d=[];u<f;u++)d[u]=c[u](i,n,o);var p=_(d.concat());h.set(d[p],a+l);}o=i;}return h}, l=function(t,e,n){var r=Array.apply([],t);return r.unshift(0), r}, v=function(t,e,n){var r,i=[],o=0,a=t.length;for(i[0]=1;o<a;o++)r=t[o-e]||0, i[o+1]=t[o]-r+256&255;return i}, b=function(t,e,n){var r,i=[],o=0,a=t.length;for(i[0]=2;o<a;o++)r=n&&n[o]||0, i[o+1]=t[o]-r+256&255;return i}, x=function(t,e,n){var r,i,o=[],a=0,s=t.length;for(o[0]=3;a<s;a++)r=t[a-e]||0, i=n&&n[a]||0, o[a+1]=t[a]+256-(r+i>>>1)&255;return o}, S=function(t,e,n){var r,i,o,a,s=[],h=0,c=t.length;for(s[0]=4;h<c;h++)r=t[h-e]||0, i=n&&n[h]||0, o=n&&n[h-e]||0, a=u(r,i,o), s[h+1]=t[h]-a+256&255;return s}, u=function(t,e,n){var r=t+e-n,i=Math.abs(r-t),o=Math.abs(r-e),a=Math.abs(r-n);return i<=o&&i<=a?t:o<=a?e:n}, k=function(){return[l,v,b,x,S]}, _=function(t){for(var e,n,r,i=0,o=t.length;i<o;)((e=f(t[i].slice(1)))<n||!n)&&(n=e, r=i), i++;return r}, f=function(t){for(var e=0,n=t.length,r=0;e<n;)r+=Math.abs(t[e++]);return r}, P.processPNG=function(t,e,n,r,i){var o,a,s,h,c,l,u=this.color_spaces.DEVICE_RGB,f=this.decode.FLATE_DECODE,d=8;if(this.isArrayBuffer(t)&&(t=new Uint8Array(t)), this.isArrayBufferView(t)){if("function"!=typeof PNG||"function"!=typeof kt)throw new Error("PNG support requires png.js and zlib.js");if(t=(o=new PNG(t)).imgData, d=o.bits, u=o.colorSpace, h=o.colors, -1!==[4,6].indexOf(o.colorType)){if(8===o.bits)for(var p,g=(I=32==o.pixelBitlength?new Uint32Array(o.decodePixels().buffer):16==o.pixelBitlength?new Uint16Array(o.decodePixels().buffer):new Uint8Array(o.decodePixels().buffer)).length,m=new Uint8Array(g*o.colors),w=new Uint8Array(g),y=o.pixelBitlength-o.bits,v=0,b=0;v<g;v++){for(x=I[v], p=0;p<y;)m[b++]=x>>>p&255, p+=o.bits;w[v]=x>>>p&255;}if(16===o.bits){g=(I=new Uint32Array(o.decodePixels().buffer)).length, m=new Uint8Array(g*(32/o.pixelBitlength)*o.colors), w=new Uint8Array(g*(32/o.pixelBitlength));for(var x,S=1<o.colors,k=b=v=0;v<g;)x=I[v++], m[b++]=x>>>0&255, S&&(m[b++]=x>>>16&255, x=I[v++], m[b++]=x>>>0&255), w[k++]=x>>>16&255;d=8;}r!==P.image_compression.NONE&&E()?(t=q(m,o.width*o.colors,o.colors,r), l=q(w,o.width,1,r)):(t=m, l=w, f=null);}if(3===o.colorType&&(u=this.color_spaces.INDEXED, c=o.palette, o.transparency.indexed)){var _=o.transparency.indexed,A=0;for(v=0, g=_.length;v<g;++v)A+=_[v];if((A/=255)==g-1&&-1!==_.indexOf(0))s=[_.indexOf(0)];else if(A!==g){var I=o.decodePixels();for(w=new Uint8Array(I.length), v=0, g=I.length;v<g;v++)w[v]=_[I[v]];l=q(w,o.width,1);}}var C=function(t){var e;switch(t){case P.image_compression.FAST:e=11;break;case P.image_compression.MEDIUM:e=13;break;case P.image_compression.SLOW:e=14;break;default:e=12;}return e}(r);return a=f===this.decode.FLATE_DECODE?"/Predictor "+C+" /Colors "+h+" /BitsPerComponent "+d+" /Columns "+o.width:"/Colors "+h+" /BitsPerComponent "+d+" /Columns "+o.width, (this.isArrayBuffer(t)||this.isArrayBufferView(t))&&(t=this.arrayBufferToBinaryString(t)), (l&&this.isArrayBuffer(l)||this.isArrayBufferView(l))&&(l=this.arrayBufferToBinaryString(l)), this.createImageInfo(t,o.width,o.height,u,d,f,e,n,a,s,c,l,C)}throw new Error("Unsupported PNG image data, try using JPEG instead.")}, ( +/** + * jsPDF gif Support PlugIn + * Copyright (c) 2017 Aras Abbasi + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ +A=$.API).processGIF89A=function(t,e,n,r,i){var o=new mt(t),a=o.width,s=o.height,h=[];o.decodeAndBlitFrameRGBA(0,h);var c={data:h,width:a,height:s},l=new yt(100).encode(c,100);return A.processJPEG.call(this,l,e,n,r)}, A.processGIF87A=A.processGIF89A, ( +/** + * jsPDF bmp Support PlugIn + * Copyright (c) 2018 Aras Abbasi + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ +O=$.API).processBMP=function(t,e,n,r,i){var o=new xt(t,!1),a=o.width,s=o.height,h={data:o.getData(),width:a,height:s},c=new yt(100).encode(h,100);return O.processJPEG.call(this,c,e,n,r)}, $.API.setLanguage=function(t){return void 0===this.internal.languageSettings&&(this.internal.languageSettings={}, this.internal.languageSettings.isSubscribed=!1), void 0!=={af:"Afrikaans",sq:"Albanian",ar:"Arabic (Standard)","ar-DZ":"Arabic (Algeria)","ar-BH":"Arabic (Bahrain)","ar-EG":"Arabic (Egypt)","ar-IQ":"Arabic (Iraq)","ar-JO":"Arabic (Jordan)","ar-KW":"Arabic (Kuwait)","ar-LB":"Arabic (Lebanon)","ar-LY":"Arabic (Libya)","ar-MA":"Arabic (Morocco)","ar-OM":"Arabic (Oman)","ar-QA":"Arabic (Qatar)","ar-SA":"Arabic (Saudi Arabia)","ar-SY":"Arabic (Syria)","ar-TN":"Arabic (Tunisia)","ar-AE":"Arabic (U.A.E.)","ar-YE":"Arabic (Yemen)",an:"Aragonese",hy:"Armenian",as:"Assamese",ast:"Asturian",az:"Azerbaijani",eu:"Basque",be:"Belarusian",bn:"Bengali",bs:"Bosnian",br:"Breton",bg:"Bulgarian",my:"Burmese",ca:"Catalan",ch:"Chamorro",ce:"Chechen",zh:"Chinese","zh-HK":"Chinese (Hong Kong)","zh-CN":"Chinese (PRC)","zh-SG":"Chinese (Singapore)","zh-TW":"Chinese (Taiwan)",cv:"Chuvash",co:"Corsican",cr:"Cree",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch (Standard)","nl-BE":"Dutch (Belgian)",en:"English","en-AU":"English (Australia)","en-BZ":"English (Belize)","en-CA":"English (Canada)","en-IE":"English (Ireland)","en-JM":"English (Jamaica)","en-NZ":"English (New Zealand)","en-PH":"English (Philippines)","en-ZA":"English (South Africa)","en-TT":"English (Trinidad & Tobago)","en-GB":"English (United Kingdom)","en-US":"English (United States)","en-ZW":"English (Zimbabwe)",eo:"Esperanto",et:"Estonian",fo:"Faeroese",fj:"Fijian",fi:"Finnish",fr:"French (Standard)","fr-BE":"French (Belgium)","fr-CA":"French (Canada)","fr-FR":"French (France)","fr-LU":"French (Luxembourg)","fr-MC":"French (Monaco)","fr-CH":"French (Switzerland)",fy:"Frisian",fur:"Friulian",gd:"Gaelic (Scots)","gd-IE":"Gaelic (Irish)",gl:"Galacian",ka:"Georgian",de:"German (Standard)","de-AT":"German (Austria)","de-DE":"German (Germany)","de-LI":"German (Liechtenstein)","de-LU":"German (Luxembourg)","de-CH":"German (Switzerland)",el:"Greek",gu:"Gujurati",ht:"Haitian",he:"Hebrew",hi:"Hindi",hu:"Hungarian",is:"Icelandic",id:"Indonesian",iu:"Inuktitut",ga:"Irish",it:"Italian (Standard)","it-CH":"Italian (Switzerland)",ja:"Japanese",kn:"Kannada",ks:"Kashmiri",kk:"Kazakh",km:"Khmer",ky:"Kirghiz",tlh:"Klingon",ko:"Korean","ko-KP":"Korean (North Korea)","ko-KR":"Korean (South Korea)",la:"Latin",lv:"Latvian",lt:"Lithuanian",lb:"Luxembourgish",mk:"FYRO Macedonian",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mo:"Moldavian",nv:"Navajo",ng:"Ndonga",ne:"Nepali",no:"Norwegian",nb:"Norwegian (Bokmal)",nn:"Norwegian (Nynorsk)",oc:"Occitan",or:"Oriya",om:"Oromo",fa:"Persian","fa-IR":"Persian/Iran",pl:"Polish",pt:"Portuguese","pt-BR":"Portuguese (Brazil)",pa:"Punjabi","pa-IN":"Punjabi (India)","pa-PK":"Punjabi (Pakistan)",qu:"Quechua",rm:"Rhaeto-Romanic",ro:"Romanian","ro-MO":"Romanian (Moldavia)",ru:"Russian","ru-MO":"Russian (Moldavia)",sz:"Sami (Lappish)",sg:"Sango",sa:"Sanskrit",sc:"Sardinian",sd:"Sindhi",si:"Singhalese",sr:"Serbian",sk:"Slovak",sl:"Slovenian",so:"Somani",sb:"Sorbian",es:"Spanish","es-AR":"Spanish (Argentina)","es-BO":"Spanish (Bolivia)","es-CL":"Spanish (Chile)","es-CO":"Spanish (Colombia)","es-CR":"Spanish (Costa Rica)","es-DO":"Spanish (Dominican Republic)","es-EC":"Spanish (Ecuador)","es-SV":"Spanish (El Salvador)","es-GT":"Spanish (Guatemala)","es-HN":"Spanish (Honduras)","es-MX":"Spanish (Mexico)","es-NI":"Spanish (Nicaragua)","es-PA":"Spanish (Panama)","es-PY":"Spanish (Paraguay)","es-PE":"Spanish (Peru)","es-PR":"Spanish (Puerto Rico)","es-ES":"Spanish (Spain)","es-UY":"Spanish (Uruguay)","es-VE":"Spanish (Venezuela)",sx:"Sutu",sw:"Swahili",sv:"Swedish","sv-FI":"Swedish (Finland)","sv-SV":"Swedish (Sweden)",ta:"Tamil",tt:"Tatar",te:"Teluga",th:"Thai",tig:"Tigre",ts:"Tsonga",tn:"Tswana",tr:"Turkish",tk:"Turkmen",uk:"Ukrainian",hsb:"Upper Sorbian",ur:"Urdu",ve:"Venda",vi:"Vietnamese",vo:"Volapuk",wa:"Walloon",cy:"Welsh",xh:"Xhosa",ji:"Yiddish",zu:"Zulu"}[t]&&(this.internal.languageSettings.languageCode=t, !1===this.internal.languageSettings.isSubscribed&&(this.internal.events.subscribe("putCatalog",function(){this.internal.write("/Lang ("+this.internal.languageSettings.languageCode+")");}), this.internal.languageSettings.isSubscribed=!0)), this}, B=$.API, R=B.getCharWidthsArray=function(t,e){var n,r,i,o=(e=e||{}).font||this.internal.getFont(),a=e.fontSize||this.internal.getFontSize(),s=e.charSpace||this.internal.getCharSpace(),h=e.widths?e.widths:o.metadata.Unicode.widths,c=h.fof?h.fof:1,l=e.kerning?e.kerning:o.metadata.Unicode.kerning,u=l.fof?l.fof:1,f=0,d=h[0]||c,p=[];for(n=0, r=t.length;n<r;n++)i=t.charCodeAt(n), "function"==typeof o.metadata.widthOfString?p.push((o.metadata.widthOfGlyph(o.metadata.characterToGlyph(i))+s*(1e3/a)||0)/1e3):p.push((h[i]||d)/c+(l[i]&&l[i][f]||0)/u), f=i;return p}, j=B.getArraySum=function(t){for(var e=t.length,n=0;e;)n+=t[--e];return n}, D=B.getStringUnitWidth=function(t,e){var n=(e=e||{}).fontSize||this.internal.getFontSize(),r=e.font||this.internal.getFont(),i=e.charSpace||this.internal.getCharSpace();return"function"==typeof r.metadata.widthOfString?r.metadata.widthOfString(t,n,i)/n:j(R.apply(this,arguments))}, M=function(t,e,n,r){for(var i=[],o=0,a=t.length,s=0;o!==a&&s+e[o]<n;)s+=e[o], o++;i.push(t.slice(0,o));var h=o;for(s=0;o!==a;)s+e[o]>r&&(i.push(t.slice(h,o)), s=0, h=o), s+=e[o], o++;return h!==o&&i.push(t.slice(h,o)), i}, U=function(t,e,n){n||(n={});var r,i,o,a,s,h,c=[],l=[c],u=n.textIndent||0,f=0,d=0,p=t.split(" "),g=R.apply(this,[" ",n])[0];if(h=-1===n.lineIndent?p[0].length+2:n.lineIndent||0){var m=Array(h).join(" "),w=[];p.map(function(t){1<(t=t.split(/\s*\n/)).length?w=w.concat(t.map(function(t,e){return(e&&t.length?"\n":"")+t})):w.push(t[0]);}), p=w, h=D.apply(this,[m,n]);}for(o=0, a=p.length;o<a;o++){var y=0;if(r=p[o], h&&"\n"==r[0]&&(r=r.substr(1), y=1), i=R.apply(this,[r,n]), e<u+f+(d=j(i))||y){if(e<d){for(s=M.apply(this,[r,i,e-(u+f),e]), c.push(s.shift()), c=[s.pop()];s.length;)l.push([s.shift()]);d=j(i.slice(r.length-(c[0]?c[0].length:0)));}else c=[r];l.push(c), u=d+h, f=g;}else c.push(r), u+=f+d, f=g;}if(h)var v=function(t,e){return(e?m:"")+t.join(" ")};else v=function(t){return t.join(" ")};return l.map(v)}, B.splitTextToSize=function(t,e,n){var r,i=(n=n||{}).fontSize||this.internal.getFontSize(),o=function(t){var e={0:1},n={};if(t.widths&&t.kerning)return{widths:t.widths,kerning:t.kerning};var r=this.internal.getFont(t.fontName,t.fontStyle),i="Unicode";return r.metadata[i]?{widths:r.metadata[i].widths||e,kerning:r.metadata[i].kerning||n}:{font:r.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}.call(this,n);r=Array.isArray(t)?t:t.split(/\r?\n/);var a=1*this.internal.scaleFactor*e/i;o.textIndent=n.textIndent?1*n.textIndent*this.internal.scaleFactor/i:0, o.lineIndent=n.lineIndent;var s,h,c=[];for(s=0, h=r.length;s<h;s++)c=c.concat(U.apply(this,[r[s],a,o]));return c}, N=$.API, L={codePages:["WinAnsiEncoding"],WinAnsiEncoding:(z=function(t){for(var e="klmnopqrstuvwxyz",n={},r=0;r<e.length;r++)n[e[r]]="0123456789abcdef"[r];var i,o,a,s,h,c={},l=1,u=c,f=[],d="",p="",g=t.length-1;for(r=1;r!=g;)h=t[r], r+=1, "'"==h?o?(s=o.join(""), o=i):o=[]:o?o.push(h):"{"==h?(f.push([u,s]), u={}, s=i):"}"==h?((a=f.pop())[0][a[1]]=u, s=i, u=a[0]):"-"==h?l=-1:s===i?n.hasOwnProperty(h)?(d+=n[h], s=parseInt(d,16)*l, l=1, d=""):d+=h:n.hasOwnProperty(h)?(p+=n[h], u[s]=parseInt(p,16)*l, l=1, s=i, p=""):p+=h;return c})("{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}")}, H={Unicode:{Courier:L,"Courier-Bold":L,"Courier-BoldOblique":L,"Courier-Oblique":L,Helvetica:L,"Helvetica-Bold":L,"Helvetica-BoldOblique":L,"Helvetica-Oblique":L,"Times-Roman":L,"Times-Bold":L,"Times-BoldItalic":L,"Times-Italic":L} +/** + Resources: + Font metrics data is reprocessed derivative of contents of + "Font Metrics for PDF Core 14 Fonts" package, which exhibits the following copyright and license: + + Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved. + + This file and the 14 PostScript(R) AFM files it accompanies may be used, + copied, and distributed for any purpose and without charge, with or without + modification, provided that all copyright notices are retained; that the AFM + files are not distributed without this file; that all modifications to this + file or any of the AFM files are prominently noted in the modified file(s); + and that this paragraph is not modified. Adobe Systems has no responsibility + or obligation to support the use of the AFM files. + + */}, W={Unicode:{"Courier-Oblique":z("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-BoldItalic":z("{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}"),"Helvetica-Bold":z("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),Courier:z("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Courier-BoldOblique":z("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-Bold":z("{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}"),Symbol:z("{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}"),Helvetica:z("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}"),"Helvetica-BoldOblique":z("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"),ZapfDingbats:z("{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}"),"Courier-Bold":z("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"),"Times-Italic":z("{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}"),"Times-Roman":z("{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}"),"Helvetica-Oblique":z("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}")}}, N.events.push(["addFont",function(t){var e,n,r,i="Unicode";(e=W[i][t.postScriptName])&&((n=t.metadata[i]?t.metadata[i]:t.metadata[i]={}).widths=e.widths, n.kerning=e.kerning), (r=H[i][t.postScriptName])&&((n=t.metadata[i]?t.metadata[i]:t.metadata[i]={}).encoding=r).codePages&&r.codePages.length&&(t.encoding=r.codePages[0]);}]), G=$, "undefined"!=typeof self&&self||"undefined"!=typeof commonjsGlobal&&commonjsGlobal||"undefined"!=typeof window&&window||Function("return this")(), G.API.events.push(["addFont",function(t){G.API.existsFileInVFS(t.postScriptName)?(t.metadata=G.API.TTFFont.open(t.postScriptName,t.fontName,G.API.getFileFromVFS(t.postScriptName),t.encoding), t.metadata.Unicode=t.metadata.Unicode||{encoding:{},kerning:{},widths:[]}):14<t.id.slice(1)&&console.error("Font does not exist in FileInVFS, import fonts or remove declaration doc.addFont('"+t.postScriptName+"').");}]), ( +/** @preserve + jsPDF SVG plugin + Copyright (c) 2012 Willow Systems Corporation, willow-systems.com + */ +V=$.API).addSvg=function(t,e,n,r,i){if(void 0===e||void 0===n)throw new Error("addSVG needs values for 'x' and 'y'");function o(t){for(var e=parseFloat(t[1]),n=parseFloat(t[2]),r=[],i=3,o=t.length;i<o;)"c"===t[i]?(r.push([parseFloat(t[i+1]),parseFloat(t[i+2]),parseFloat(t[i+3]),parseFloat(t[i+4]),parseFloat(t[i+5]),parseFloat(t[i+6])]), i+=7):"l"===t[i]?(r.push([parseFloat(t[i+1]),parseFloat(t[i+2])]), i+=3):i+=1;return[e,n,r]}var a,s,h,c,l,u,f,d,p=(c=document, d=c.createElement("iframe"), l=".jsPDF_sillysvg_iframe {display:none;position:absolute;}", (f=(u=c).createElement("style")).type="text/css", f.styleSheet?f.styleSheet.cssText=l:f.appendChild(u.createTextNode(l)), u.getElementsByTagName("head")[0].appendChild(f), d.name="childframe", d.setAttribute("width",0), d.setAttribute("height",0), d.setAttribute("frameborder","0"), d.setAttribute("scrolling","no"), d.setAttribute("seamless","seamless"), d.setAttribute("class","jsPDF_sillysvg_iframe"), c.body.appendChild(d), d),g=(a=t, (h=((s=p).contentWindow||s.contentDocument).document).write(a), h.close(), h.getElementsByTagName("svg")[0]),m=[1,1],w=parseFloat(g.getAttribute("width")),y=parseFloat(g.getAttribute("height"));w&&y&&(r&&i?m=[r/w,i/y]:r?m=[r/w,r/w]:i&&(m=[i/y,i/y]));var v,b,x,S,k=g.childNodes;for(v=0, b=k.length;v<b;v++)(x=k[v]).tagName&&"PATH"===x.tagName.toUpperCase()&&((S=o(x.getAttribute("d").split(" ")))[0]=S[0]*m[0]+e, S[1]=S[1]*m[1]+n, this.lines.call(this,S[2],S[0],S[1],m));return this}, V.addSVG=V.addSvg, V.addSvgAsImage=function(t,e,n,r,i,o,a,s){if(isNaN(e)||isNaN(n))throw console.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments), new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(r)||isNaN(i))throw console.error("jsPDF.addSvgAsImage: Invalid measurements",arguments), new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var h=document.createElement("canvas");h.width=r, h.height=i;var c=h.getContext("2d");return c.fillStyle="#fff", c.fillRect(0,0,h.width,h.height), canvg(h,t,{ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0,ignoreClear:!0}), this.addImage(h.toDataURL("image/jpeg",1),e,n,r,i,a,s), this}, $.API.putTotalPages=function(t){for(var e=new RegExp(t,"g"),n=1;n<=this.internal.getNumberOfPages();n++)for(var r=0;r<this.internal.pages[n].length;r++)this.internal.pages[n][r]=this.internal.pages[n][r].replace(e,this.internal.getNumberOfPages());return this}, $.API.viewerPreferences=function(t,e){var n;t=t||{}, e=e||!1;var r,i,o={HideToolbar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:"UseNone",value:"UseNone",type:"name",explicitSet:!1,valueSet:["UseNone","UseOutlines","UseThumbs","UseOC"],pdfVersion:1.3},Direction:{defaultValue:"L2R",value:"L2R",type:"name",explicitSet:!1,valueSet:["L2R","R2L"],pdfVersion:1.3},ViewArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},ViewClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintScaling:{defaultValue:"AppDefault",value:"AppDefault",type:"name",explicitSet:!1,valueSet:["AppDefault","None"],pdfVersion:1.6},Duplex:{defaultValue:"",value:"none",type:"name",explicitSet:!1,valueSet:["Simplex","DuplexFlipShortEdge","DuplexFlipLongEdge","none"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:"",value:"",type:"array",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:"integer",explicitSet:!1,valueSet:null,pdfVersion:1.7}},a=Object.keys(o),s=[],h=0,c=0,l=0,u=!0;function f(t,e){var n,r=!1;for(n=0;n<t.length;n+=1)t[n]===e&&(r=!0);return r}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={}, this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(o)), this.internal.viewerpreferences.isSubscribed=!1), n=this.internal.viewerpreferences.configuration, "reset"===t||!0===e){var d=a.length;for(l=0;l<d;l+=1)n[a[l]].value=n[a[l]].defaultValue, n[a[l]].explicitSet=!1;}if("object"===(void 0===t?"undefined":vt(t)))for(r in t)if(i=t[r], f(a,r)&&void 0!==i){if("boolean"===n[r].type&&"boolean"==typeof i)n[r].value=i;else if("name"===n[r].type&&f(n[r].valueSet,i))n[r].value=i;else if("integer"===n[r].type&&Number.isInteger(i))n[r].value=i;else if("array"===n[r].type){for(h=0;h<i.length;h+=1)if(u=!0, 1===i[h].length&&"number"==typeof i[h][0])s.push(String(i[h]));else if(1<i[h].length){for(c=0;c<i[h].length;c+=1)"number"!=typeof i[h][c]&&(u=!1);!0===u&&s.push(String(i[h].join("-")));}n[r].value=String(s);}else n[r].value=n[r].defaultValue;n[r].explicitSet=!0;}return!1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe("putCatalog",function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&("name"===n[t].type?e.push("/"+t+" /"+n[t].value):e.push("/"+t+" "+n[t].value));0!==e.length&&this.internal.write("/ViewerPreferences\n<<\n"+e.join("\n")+"\n>>");}), this.internal.viewerpreferences.isSubscribed=!0), this.internal.viewerpreferences.configuration=n, this}, Y=$.API, K=J=X="", Y.addMetadata=function(t,e){return J=e||"http://jspdf.default.namespaceuri/", X=t, this.internal.events.subscribe("postPutResources",function(){if(X){var t='<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"><rdf:Description rdf:about="" xmlns:jspdf="'+J+'"><jspdf:metadata>',e=unescape(encodeURIComponent('<x:xmpmeta xmlns:x="adobe:ns:meta/">')),n=unescape(encodeURIComponent(t)),r=unescape(encodeURIComponent(X)),i=unescape(encodeURIComponent("</jspdf:metadata></rdf:Description></rdf:RDF>")),o=unescape(encodeURIComponent("</x:xmpmeta>")),a=n.length+r.length+i.length+e.length+o.length;K=this.internal.newObject(), this.internal.write("<< /Type /Metadata /Subtype /XML /Length "+a+" >>"), this.internal.write("stream"), this.internal.write(e+n+r+i+o), this.internal.write("endstream"), this.internal.write("endobj");}else K="";}), this.internal.events.subscribe("putCatalog",function(){K&&this.internal.write("/Metadata "+K+" 0 R");}), this}, function(l,t){var e=l.API,m=[0];e.events.push(["putFont",function(t){!function(t,e,n){if(t.metadata instanceof l.API.TTFFont&&"Identity-H"===t.encoding){for(var r=t.metadata.Unicode.widths,i=t.metadata.subset.encode(m),o="",a=0;a<i.length;a++)o+=String.fromCharCode(i[a]);var s=n();e("<<"), e("/Length "+o.length), e("/Length1 "+o.length), e(">>"), e("stream"), e(o), e("endstream"), e("endobj");var h=n();e("<<"), e("/Type /FontDescriptor"), e("/FontName /"+t.fontName), e("/FontFile2 "+s+" 0 R"), e("/FontBBox "+l.API.PDFObject.convert(t.metadata.bbox)), e("/Flags "+t.metadata.flags), e("/StemV "+t.metadata.stemV), e("/ItalicAngle "+t.metadata.italicAngle), e("/Ascent "+t.metadata.ascender), e("/Descent "+t.metadata.decender), e("/CapHeight "+t.metadata.capHeight), e(">>"), e("endobj");var c=n();e("<<"), e("/Type /Font"), e("/BaseFont /"+t.fontName), e("/FontDescriptor "+h+" 0 R"), e("/W "+l.API.PDFObject.convert(r)), e("/CIDToGIDMap /Identity"), e("/DW 1000"), e("/Subtype /CIDFontType2"), e("/CIDSystemInfo"), e("<<"), e("/Supplement 0"), e("/Registry (Adobe)"), e("/Ordering ("+t.encoding+")"), e(">>"), e(">>"), e("endobj"), t.objectNumber=n(), e("<<"), e("/Type /Font"), e("/Subtype /Type0"), e("/BaseFont /"+t.fontName), e("/Encoding /"+t.encoding), e("/DescendantFonts ["+c+" 0 R]"), e(">>"), e("endobj"), t.isAlreadyPutted=!0;}}(t.font,t.out,t.newObject);}]);e.events.push(["putFont",function(t){!function(t,e,n){if(t.metadata instanceof l.API.TTFFont&&"WinAnsiEncoding"===t.encoding){t.metadata.Unicode.widths;for(var r=t.metadata.rawData,i="",o=0;o<r.length;o++)i+=String.fromCharCode(r[o]);var a=n();e("<<"), e("/Length "+i.length), e("/Length1 "+i.length), e(">>"), e("stream"), e(i), e("endstream"), e("endobj");var s=n();for(e("<<"), e("/Descent "+t.metadata.decender), e("/CapHeight "+t.metadata.capHeight), e("/StemV "+t.metadata.stemV), e("/Type /FontDescriptor"), e("/FontFile2 "+a+" 0 R"), e("/Flags 96"), e("/FontBBox "+l.API.PDFObject.convert(t.metadata.bbox)), e("/FontName /"+t.fontName), e("/ItalicAngle "+t.metadata.italicAngle), e("/Ascent "+t.metadata.ascender), e(">>"), e("endobj"), t.objectNumber=n(), o=0;o<t.metadata.hmtx.widths.length;o++)t.metadata.hmtx.widths[o]=parseInt(t.metadata.hmtx.widths[o]*(1e3/t.metadata.head.unitsPerEm));e("<</Subtype/TrueType/Type/Font/BaseFont/"+t.fontName+"/FontDescriptor "+s+" 0 R/Encoding/"+t.encoding+" /FirstChar 29 /LastChar 255 /Widths "+l.API.PDFObject.convert(t.metadata.hmtx.widths)+">>"), e("endobj"), t.isAlreadyPutted=!0;}}(t.font,t.out,t.newObject);}]);var c=function(t){var e,n,r=t.text||"",i=t.x,o=t.y,a=t.options||{},s=t.mutex||{},h=s.pdfEscape,c=s.activeFontKey,l=s.fonts,u=(s.activeFontSize, ""),f=0,d="",p=l[n=c].encoding;if("Identity-H"!==l[n].encoding)return{text:r,x:i,y:o,options:a,mutex:s};for(d=r, n=c, "[object Array]"===Object.prototype.toString.call(r)&&(d=r[0]), f=0;f<d.length;f+=1)l[n].metadata.hasOwnProperty("cmap")&&(e=l[n].metadata.cmap.unicode.codeMap[d[f].charCodeAt(0)]), e?u+=d[f]:d[f].charCodeAt(0)<256&&l[n].metadata.hasOwnProperty("Unicode")?u+=d[f]:u+="";var g="";return parseInt(n.slice(1))<14||"WinAnsiEncoding"===p?g=function(t){for(var e="",n=0;n<t.length;n++)e+=""+t.charCodeAt(n).toString(16);return e}(h(u,n)):"Identity-H"===p&&(g=function(t,e){for(var n,r=e.metadata.Unicode.widths,i=["","0","00","000","0000"],o=[""],a=0,s=t.length;a<s;++a){if(n=e.metadata.characterToGlyph(t.charCodeAt(a)), m.push(n), -1==r.indexOf(n)&&(r.push(n), r.push([parseInt(e.metadata.widthOfGlyph(n),10)])), "0"==n)return o.join("");n=n.toString(16), o.push(i[4-n.length],n);}return o.join("")}(u,l[n])), s.isHex=!0, {text:g,x:i,y:o,options:a,mutex:s}};e.events.push(["postProcessText",function(t){var e=t.text||"",n=t.x,r=t.y,i=t.options,o=t.mutex,a=(i.lang, []),s={text:e,x:n,y:r,options:i,mutex:o};if("[object Array]"===Object.prototype.toString.call(e)){var h=0;for(h=0;h<e.length;h+=1)"[object Array]"===Object.prototype.toString.call(e[h])&&3===e[h].length?a.push([c(Object.assign({},s,{text:e[h][0]})).text,e[h][1],e[h][2]]):a.push(c(Object.assign({},s,{text:e[h]})).text);t.text=a;}else t.text=c(Object.assign({},s,{text:e})).text;}]);}($,"undefined"!=typeof self&&self||"undefined"!=typeof commonjsGlobal&&commonjsGlobal||"undefined"!=typeof window&&window||Function("return this")()), Q=$.API, Z={}, Q.existsFileInVFS=function(t){return Z.hasOwnProperty(t)}, Q.addFileToVFS=function(t,e){return Z[t]=e, this}, Q.getFileFromVFS=function(t){return Z.hasOwnProperty(t)?Z[t]:null}, function(t){if(t.URL=t.URL||t.webkitURL, t.Blob&&t.URL)try{return new Blob}catch(t){}var s=t.BlobBuilder||t.WebKitBlobBuilder||t.MozBlobBuilder||function(t){var s=function(t){return Object.prototype.toString.call(t).match(/^\[object\s(.*)\]$/)[1]},e=function(){this.data=[];},h=function(t,e,n){this.data=t, this.size=t.length, this.type=e, this.encoding=n;},n=e.prototype,r=h.prototype,c=t.FileReaderSync,l=function(t){this.code=this[this.name=t];},i="NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR".split(" "),o=i.length,a=t.URL||t.webkitURL||t,u=a.createObjectURL,f=a.revokeObjectURL,d=a,p=t.btoa,g=t.atob,m=t.ArrayBuffer,w=t.Uint8Array,y=/^[\w-]+:\/*\[?[\w\.:-]+\]?(?::[0-9]+)?/;for(h.fake=r.fake=!0;o--;)l.prototype[i[o]]=o+1;return a.createObjectURL||(d=t.URL=function(t){var e,n=document.createElementNS("http://www.w3.org/1999/xhtml","a");return n.href=t, "origin"in n||("data:"===n.protocol.toLowerCase()?n.origin=null:(e=t.match(y), n.origin=e&&e[1])), n}), d.createObjectURL=function(t){var e,n=t.type;return null===n&&(n="application/octet-stream"), t instanceof h?(e="data:"+n, "base64"===t.encoding?e+";base64,"+t.data:"URI"===t.encoding?e+","+decodeURIComponent(t.data):p?e+";base64,"+p(t.data):e+","+encodeURIComponent(t.data)):u?u.call(a,t):void 0}, d.revokeObjectURL=function(t){"data:"!==t.substring(0,5)&&f&&f.call(a,t);}, n.append=function(t){var e=this.data;if(w&&(t instanceof m||t instanceof w)){for(var n="",r=new w(t),i=0,o=r.length;i<o;i++)n+=String.fromCharCode(r[i]);e.push(n);}else if("Blob"===s(t)||"File"===s(t)){if(!c)throw new l("NOT_READABLE_ERR");var a=new c;e.push(a.readAsBinaryString(t));}else t instanceof h?"base64"===t.encoding&&g?e.push(g(t.data)):"URI"===t.encoding?e.push(decodeURIComponent(t.data)):"raw"===t.encoding&&e.push(t.data):("string"!=typeof t&&(t+=""), e.push(unescape(encodeURIComponent(t))));}, n.getBlob=function(t){return arguments.length||(t=null), new h(this.data.join(""),t,"raw")}, n.toString=function(){return"[object BlobBuilder]"}, r.slice=function(t,e,n){var r=arguments.length;return r<3&&(n=null), new h(this.data.slice(t,1<r?e:this.data.length),n,this.encoding)}, r.toString=function(){return"[object Blob]"}, r.close=function(){this.size=0, delete this.data;}, e}(t);t.Blob=function(t,e){var n=e&&e.type||"",r=new s;if(t)for(var i=0,o=t.length;i<o;i++)Uint8Array&&t[i]instanceof Uint8Array?r.append(t[i].buffer):r.append(t[i]);var a=r.getBlob(n);return!a.slice&&a.webkitSlice&&(a.slice=a.webkitSlice), a};var e=Object.getPrototypeOf||function(t){return t.__proto__};t.Blob.prototype=e(new t.Blob);}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||window.content||window);var tt,et,nt,rt,it,ot,at,st,ht,ct,lt,ut,ft,dt,pt,gt,bt=bt||function(s){if(!(void 0===s||"undefined"!=typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent))){var t=s.document,h=function(){return s.URL||s.webkitURL||s},c=t.createElementNS("http://www.w3.org/1999/xhtml","a"),l="download"in c,u=/constructor/i.test(s.HTMLElement)||s.safari,f=/CriOS\/[\d]+/.test(navigator.userAgent),d=function(t){(s.setImmediate||s.setTimeout)(function(){throw t},0);},p=function(t){setTimeout(function(){"string"==typeof t?h().revokeObjectURL(t):t.remove();},4e4);},g=function(t){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob([String.fromCharCode(65279),t],{type:t.type}):t},r=function(t,n,e){e||(t=g(t));var r,i=this,o="application/octet-stream"===t.type,a=function(){!function(t,e,n){for(var r=(e=[].concat(e)).length;r--;){var i=t["on"+e[r]];if("function"==typeof i)try{i.call(t,n||t);}catch(t){d(t);}}}(i,"writestart progress write writeend".split(" "));};if(i.readyState=i.INIT, l)return r=h().createObjectURL(t), void setTimeout(function(){var t,e;c.href=r, c.download=n, t=c, e=new MouseEvent("click"), t.dispatchEvent(e), a(), p(r), i.readyState=i.DONE;});!function(){if((f||o&&u)&&s.FileReader){var e=new FileReader;return e.onloadend=function(){var t=f?e.result:e.result.replace(/^data:[^;]*;/,"data:attachment/file;");s.open(t,"_blank")||(s.location.href=t), t=void 0, i.readyState=i.DONE, a();}, e.readAsDataURL(t), i.readyState=i.INIT}r||(r=h().createObjectURL(t)), o?s.location.href=r:s.open(r,"_blank")||(s.location.href=r);i.readyState=i.DONE, a(), p(r);}();},e=r.prototype;return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(t,e,n){return e=e||t.name||"download", n||(t=g(t)), navigator.msSaveOrOpenBlob(t,e)}:(e.abort=function(){}, e.readyState=e.INIT=0, e.WRITING=1, e.DONE=2, e.error=e.onwritestart=e.onprogress=e.onwrite=e.onabort=e.onerror=e.onwriteend=null, function(t,e,n){return new r(t,e||t.name||"download",n)})}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||window.content);function mt(x){var t=0;if(71!==x[t++]||73!==x[t++]||70!==x[t++]||56!==x[t++]||56!=(x[t++]+1&253)||97!==x[t++])throw"Invalid GIF 87a/89a header.";var S=x[t++]|x[t++]<<8,e=x[t++]|x[t++]<<8,n=x[t++],r=n>>7,i=1<<(7&n)+1;x[t++];x[t++];var o=null;r&&(o=t, t+=3*i);var a=!0,s=[],h=0,c=null,l=0,u=null;for(this.width=S, this.height=e;a&&t<x.length;)switch(x[t++]){case 33:switch(x[t++]){case 255:if(11!==x[t]||78==x[t+1]&&69==x[t+2]&&84==x[t+3]&&83==x[t+4]&&67==x[t+5]&&65==x[t+6]&&80==x[t+7]&&69==x[t+8]&&50==x[t+9]&&46==x[t+10]&&48==x[t+11]&&3==x[t+12]&&1==x[t+13]&&0==x[t+16])t+=14, u=x[t++]|x[t++]<<8, t++;else for(t+=12;;){if(0===(_=x[t++]))break;t+=_;}break;case 249:if(4!==x[t++]||0!==x[t+4])throw"Invalid graphics extension block.";var f=x[t++];h=x[t++]|x[t++]<<8, c=x[t++], 0==(1&f)&&(c=null), l=f>>2&7, t++;break;case 254:for(;;){if(0===(_=x[t++]))break;t+=_;}break;default:throw"Unknown graphic control label: 0x"+x[t-1].toString(16)}break;case 44:var d=x[t++]|x[t++]<<8,p=x[t++]|x[t++]<<8,g=x[t++]|x[t++]<<8,m=x[t++]|x[t++]<<8,w=x[t++],y=w>>6&1,v=o,b=!1;if(w>>7){b=!0;v=t, t+=3*(1<<(7&w)+1);}var k=t;for(t++;;){var _;if(0===(_=x[t++]))break;t+=_;}s.push({x:d,y:p,width:g,height:m,has_local_palette:b,palette_offset:v,data_offset:k,data_length:t-k,transparent_index:c,interlaced:!!y,delay:h,disposal:l});break;case 59:a=!1;break;default:throw"Unknown gif block: 0x"+x[t-1].toString(16)}this.numFrames=function(){return s.length}, this.loopCount=function(){return u}, this.frameInfo=function(t){if(t<0||t>=s.length)throw"Frame index out of range.";return s[t]}, this.decodeAndBlitFrameBGRA=function(t,e){var n=this.frameInfo(t),r=n.width*n.height,i=new Uint8Array(r);wt(x,n.data_offset,i,r);var o=n.palette_offset,a=n.transparent_index;null===a&&(a=256);var s=n.width,h=S-s,c=s,l=4*(n.y*S+n.x),u=4*((n.y+n.height)*S+n.x),f=l,d=4*h;!0===n.interlaced&&(d+=4*(s+h)*7);for(var p=8,g=0,m=i.length;g<m;++g){var w=i[g];if(0===c&&(c=s, u<=(f+=d)&&(d=h+4*(s+h)*(p-1), f=l+(s+h)*(p<<1), p>>=1)), w===a)f+=4;else{var y=x[o+3*w],v=x[o+3*w+1],b=x[o+3*w+2];e[f++]=b, e[f++]=v, e[f++]=y, e[f++]=255;}--c;}}, this.decodeAndBlitFrameRGBA=function(t,e){var n=this.frameInfo(t),r=n.width*n.height,i=new Uint8Array(r);wt(x,n.data_offset,i,r);var o=n.palette_offset,a=n.transparent_index;null===a&&(a=256);var s=n.width,h=S-s,c=s,l=4*(n.y*S+n.x),u=4*((n.y+n.height)*S+n.x),f=l,d=4*h;!0===n.interlaced&&(d+=4*(s+h)*7);for(var p=8,g=0,m=i.length;g<m;++g){var w=i[g];if(0===c&&(c=s, u<=(f+=d)&&(d=h+4*(s+h)*(p-1), f=l+(s+h)*(p<<1), p>>=1)), w===a)f+=4;else{var y=x[o+3*w],v=x[o+3*w+1],b=x[o+3*w+2];e[f++]=y, e[f++]=v, e[f++]=b, e[f++]=255;}--c;}};}function wt(t,e,n,r){for(var i=t[e++],o=1<<i,a=o+1,s=a+1,h=i+1,c=(1<<h)-1,l=0,u=0,f=0,d=t[e++],p=new Int32Array(4096),g=null;;){for(;l<16&&0!==d;)u|=t[e++]<<l, l+=8, 1===d?d=t[e++]:--d;if(l<h)break;var m=u&c;if(u>>=h, l-=h, m!==o){if(m===a)break;for(var w=m<s?m:g,y=0,v=w;o<v;)v=p[v]>>8, ++y;var b=v;if(r<f+y+(w!==m?1:0))return void console.log("Warning, gif stream longer than expected.");n[f++]=b;var x=f+=y;for(w!==m&&(n[f++]=b), v=w;y--;)v=p[v], n[--x]=255&v, v>>=8;null!==g&&s<4096&&(p[s++]=g<<8|b, c+1<=s&&h<12&&(++h, c=c<<1|1)), g=m;}else s=a+1, c=(1<<(h=i+1))-1, g=null;}return f!==r&&console.log("Warning, gif stream shorter than expected."), n}"undefined"!='object'&&module.exports?module.exports.saveAs=bt:"undefined"!=typeof undefined&&null!==undefined&&null!==undefined.amd&&undefined("FileSaver.js",function(){return bt}), $.API.adler32cs=(ot="function"==typeof ArrayBuffer&&"function"==typeof Uint8Array, at=null, st=function(){if(!ot)return function(){return!1};try{var t={};"function"==typeof t.Buffer&&(at=t.Buffer);}catch(t){}return function(t){return t instanceof ArrayBuffer||null!==at&&t instanceof at}}(), ht=null!==at?function(t){return new at(t,"utf8").toString("binary")}:function(t){return unescape(encodeURIComponent(t))}, ct=65521, lt=function(t,e){for(var n=65535&t,r=t>>>16,i=0,o=e.length;i<o;i++)n=(n+(255&e.charCodeAt(i)))%ct, r=(r+n)%ct;return(r<<16|n)>>>0}, ut=function(t,e){for(var n=65535&t,r=t>>>16,i=0,o=e.length;i<o;i++)n=(n+e[i])%ct, r=(r+n)%ct;return(r<<16|n)>>>0}, dt=(ft={}).Adler32=(((it=(rt=function(t){if(!(this instanceof rt))throw new TypeError("Constructor cannot called be as a function.");if(!isFinite(t=null==t?1:+t))throw new Error("First arguments needs to be a finite number.");this.checksum=t>>>0;}).prototype={}).constructor=rt).from=((tt=function(t){if(!(this instanceof rt))throw new TypeError("Constructor cannot called be as a function.");if(null==t)throw new Error("First argument needs to be a string.");this.checksum=lt(1,t.toString());}).prototype=it, tt), rt.fromUtf8=((et=function(t){if(!(this instanceof rt))throw new TypeError("Constructor cannot called be as a function.");if(null==t)throw new Error("First argument needs to be a string.");var e=ht(t.toString());this.checksum=lt(1,e);}).prototype=it, et), ot&&(rt.fromBuffer=((nt=function(t){if(!(this instanceof rt))throw new TypeError("Constructor cannot called be as a function.");if(!st(t))throw new Error("First argument needs to be ArrayBuffer.");var e=new Uint8Array(t);return this.checksum=ut(1,e)}).prototype=it, nt)), it.update=function(t){if(null==t)throw new Error("First argument needs to be a string.");return t=t.toString(), this.checksum=lt(this.checksum,t)}, it.updateUtf8=function(t){if(null==t)throw new Error("First argument needs to be a string.");var e=ht(t.toString());return this.checksum=lt(this.checksum,e)}, ot&&(it.updateBuffer=function(t){if(!st(t))throw new Error("First argument needs to be ArrayBuffer.");var e=new Uint8Array(t);return this.checksum=ut(this.checksum,e)}), it.clone=function(){return new dt(this.checksum)}, rt), ft.from=function(t){if(null==t)throw new Error("First argument needs to be a string.");return lt(1,t.toString())}, ft.fromUtf8=function(t){if(null==t)throw new Error("First argument needs to be a string.");var e=ht(t.toString());return lt(1,e)}, ot&&(ft.fromBuffer=function(t){if(!st(t))throw new Error("First argument need to be ArrayBuffer.");var e=new Uint8Array(t);return ut(1,e)}), ft);try{exports.GifWriter=function(w,t,e,n){var y=0,r=void 0===(n=void 0===n?{}:n).loop?null:n.loop,v=void 0===n.palette?null:n.palette;if(t<=0||e<=0||65535<t||65535<e)throw"Width/Height invalid.";function b(t){var e=t.length;if(e<2||256<e||e&e-1)throw"Invalid code/color length, must be power of 2 and 2 .. 256.";return e}w[y++]=71, w[y++]=73, w[y++]=70, w[y++]=56, w[y++]=57, w[y++]=97;var i=0,o=0;if(null!==v){for(var a=b(v);a>>=1;)++i;if(a=1<<i, --i, void 0!==n.background){if(a<=(o=n.background))throw"Background index out of range.";if(0===o)throw"Background index explicitly passed as 0."}}if(w[y++]=255&t, w[y++]=t>>8&255, w[y++]=255&e, w[y++]=e>>8&255, w[y++]=(null!==v?128:0)|i, w[y++]=o, w[y++]=0, null!==v)for(var s=0,h=v.length;s<h;++s){var c=v[s];w[y++]=c>>16&255, w[y++]=c>>8&255, w[y++]=255&c;}if(null!==r){if(r<0||65535<r)throw"Loop count invalid.";w[y++]=33, w[y++]=255, w[y++]=11, w[y++]=78, w[y++]=69, w[y++]=84, w[y++]=83, w[y++]=67, w[y++]=65, w[y++]=80, w[y++]=69, w[y++]=50, w[y++]=46, w[y++]=48, w[y++]=3, w[y++]=1, w[y++]=255&r, w[y++]=r>>8&255, w[y++]=0;}var x=!1;this.addFrame=function(t,e,n,r,i,o){if(!0===x&&(--y, x=!1), o=void 0===o?{}:o, t<0||e<0||65535<t||65535<e)throw"x/y invalid.";if(n<=0||r<=0||65535<n||65535<r)throw"Width/Height invalid.";if(i.length<n*r)throw"Not enough pixels for the frame size.";var a=!0,s=o.palette;if(null==s&&(a=!1, s=v), null==s)throw"Must supply either a local or global palette.";for(var h=b(s),c=0;h>>=1;)++c;h=1<<c;var l=void 0===o.delay?0:o.delay,u=void 0===o.disposal?0:o.disposal;if(u<0||3<u)throw"Disposal out of range.";var f=!1,d=0;if(void 0!==o.transparent&&null!==o.transparent&&(f=!0, (d=o.transparent)<0||h<=d))throw"Transparent color index.";if((0!==u||f||0!==l)&&(w[y++]=33, w[y++]=249, w[y++]=4, w[y++]=u<<2|(!0===f?1:0), w[y++]=255&l, w[y++]=l>>8&255, w[y++]=d, w[y++]=0), w[y++]=44, w[y++]=255&t, w[y++]=t>>8&255, w[y++]=255&e, w[y++]=e>>8&255, w[y++]=255&n, w[y++]=n>>8&255, w[y++]=255&r, w[y++]=r>>8&255, w[y++]=!0===a?128|c-1:0, !0===a)for(var p=0,g=s.length;p<g;++p){var m=s[p];w[y++]=m>>16&255, w[y++]=m>>8&255, w[y++]=255&m;}y=function(e,n,t,r){e[n++]=t;var i=n++,o=1<<t,a=o-1,s=o+1,h=s+1,c=t+1,l=0,u=0;function f(t){for(;t<=l;)e[n++]=255&u, u>>=8, l-=8, n===i+256&&(e[i]=255, i=n++);}function d(t){u|=t<<l, l+=c, f(8);}var p=r[0]&a,g={};d(o);for(var m=1,w=r.length;m<w;++m){var y=r[m]&a,v=p<<8|y,b=g[v];if(void 0===b){for(u|=p<<l, l+=c;8<=l;)e[n++]=255&u, u>>=8, l-=8, n===i+256&&(e[i]=255, i=n++);4096===h?(d(o), h=s+1, c=t+1, g={}):(1<<c<=h&&++c, g[v]=h++), p=y;}else p=b;}return d(p), d(s), f(1), i+1===n?e[i]=0:(e[i]=n-i-1, e[n++]=0), n}(w,y,c<2?2:c,i);}, this.end=function(){return!1===x&&(w[y++]=59, x=!0), y};}, exports.GifReader=mt;}catch(t){} +/* + Copyright (c) 2008, Adobe Systems Incorporated + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of Adobe Systems Incorporated nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */function yt(t){var S,k,_,A,e,u=Math.floor,I=new Array(64),C=new Array(64),T=new Array(64),F=new Array(64),w=new Array(65535),y=new Array(65535),Q=new Array(64),v=new Array(64),P=[],E=0,q=7,O=new Array(64),B=new Array(64),R=new Array(64),n=new Array(256),j=new Array(2048),b=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],D=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],M=[0,1,2,3,4,5,6,7,8,9,10,11],U=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],N=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],z=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],L=[0,1,2,3,4,5,6,7,8,9,10,11],H=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],W=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function r(t,e){for(var n=0,r=0,i=new Array,o=1;o<=16;o++){for(var a=1;a<=t[o];a++)i[e[r]]=[], i[e[r]][0]=n, i[e[r]][1]=o, r++, n++;n*=2;}return i}function G(t){for(var e=t[0],n=t[1]-1;0<=n;)e&1<<n&&(E|=1<<q), n--, --q<0&&(255==E?(V(255), V(0)):V(E), q=7, E=0);}function V(t){P.push(t);}function Y(t){V(t>>8&255), V(255&t);}function X(t,e,n,r,i){for(var o,a=i[0],s=i[240],h=function(t,e){var n,r,i,o,a,s,h,c,l,u,f=0;for(l=0;l<8;++l){n=t[f], r=t[f+1], i=t[f+2], o=t[f+3], a=t[f+4], s=t[f+5], h=t[f+6];var d=n+(c=t[f+7]),p=n-c,g=r+h,m=r-h,w=i+s,y=i-s,v=o+a,b=o-a,x=d+v,S=d-v,k=g+w,_=g-w;t[f]=x+k, t[f+4]=x-k;var A=.707106781*(_+S);t[f+2]=S+A, t[f+6]=S-A;var I=.382683433*((x=b+y)-(_=m+p)),C=.5411961*x+I,T=1.306562965*_+I,F=.707106781*(k=y+m),P=p+F,E=p-F;t[f+5]=E+C, t[f+3]=E-C, t[f+1]=P+T, t[f+7]=P-T, f+=8;}for(l=f=0;l<8;++l){n=t[f], r=t[f+8], i=t[f+16], o=t[f+24], a=t[f+32], s=t[f+40], h=t[f+48];var q=n+(c=t[f+56]),O=n-c,B=r+h,R=r-h,j=i+s,D=i-s,M=o+a,U=o-a,N=q+M,z=q-M,L=B+j,H=B-j;t[f]=N+L, t[f+32]=N-L;var W=.707106781*(H+z);t[f+16]=z+W, t[f+48]=z-W;var G=.382683433*((N=U+D)-(H=R+O)),V=.5411961*N+G,Y=1.306562965*H+G,X=.707106781*(L=D+R),J=O+X,K=O-X;t[f+40]=K+V, t[f+24]=K-V, t[f+8]=J+Y, t[f+56]=J-Y, f++;}for(l=0;l<64;++l)u=t[l]*e[l], Q[l]=0<u?u+.5|0:u-.5|0;return Q}(t,e),c=0;c<64;++c)v[b[c]]=h[c];var l=v[0]-n;n=v[0], 0==l?G(r[0]):(G(r[y[o=32767+l]]), G(w[o]));for(var u=63;0<u&&0==v[u];u--);if(0==u)return G(a), n;for(var f,d=1;d<=u;){for(var p=d;0==v[d]&&d<=u;++d);var g=d-p;if(16<=g){f=g>>4;for(var m=1;m<=f;++m)G(s);g&=15;}o=32767+v[d], G(i[(g<<4)+y[o]]), G(w[o]), d++;}return 63!=u&&G(a), n}function J(t){if(t<=0&&(t=1), 100<t&&(t=100), e!=t){(function(t){for(var e=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],n=0;n<64;n++){var r=u((e[n]*t+50)/100);r<1?r=1:255<r&&(r=255), I[b[n]]=r;}for(var i=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],o=0;o<64;o++){var a=u((i[o]*t+50)/100);a<1?a=1:255<a&&(a=255), C[b[o]]=a;}for(var s=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],h=0,c=0;c<8;c++)for(var l=0;l<8;l++)T[h]=1/(I[b[h]]*s[c]*s[l]*8), F[h]=1/(C[b[h]]*s[c]*s[l]*8), h++;})(t<50?Math.floor(5e3/t):Math.floor(200-2*t)), e=t;}}this.encode=function(t,e){var n,r;(new Date).getTime();e&&J(e), P=new Array, E=0, q=7, Y(65496), Y(65504), Y(16), V(74), V(70), V(73), V(70), V(0), V(1), V(1), V(0), Y(1), Y(1), V(0), V(0), function(){Y(65499), Y(132), V(0);for(var t=0;t<64;t++)V(I[t]);V(1);for(var e=0;e<64;e++)V(C[e]);}(), n=t.width, r=t.height, Y(65472), Y(17), V(8), Y(r), Y(n), V(3), V(1), V(17), V(0), V(2), V(17), V(1), V(3), V(17), V(1), function(){Y(65476), Y(418), V(0);for(var t=0;t<16;t++)V(D[t+1]);for(var e=0;e<=11;e++)V(M[e]);V(16);for(var n=0;n<16;n++)V(U[n+1]);for(var r=0;r<=161;r++)V(N[r]);V(1);for(var i=0;i<16;i++)V(z[i+1]);for(var o=0;o<=11;o++)V(L[o]);V(17);for(var a=0;a<16;a++)V(H[a+1]);for(var s=0;s<=161;s++)V(W[s]);}(), Y(65498), Y(12), V(3), V(1), V(0), V(2), V(17), V(3), V(17), V(0), V(63), V(0);var i=0,o=0,a=0;E=0, q=7, this.encode.displayName="_encode_";for(var s,h,c,l,u,f,d,p,g,m=t.data,w=t.width,y=t.height,v=4*w,b=0;b<y;){for(s=0;s<v;){for(f=u=v*b+s, d=-1, g=p=0;g<64;g++)f=u+(p=g>>3)*v+(d=4*(7&g)), y<=b+p&&(f-=v*(b+1+p-y)), v<=s+d&&(f-=s+d-v+4), h=m[f++], c=m[f++], l=m[f++], O[g]=(j[h]+j[c+256>>0]+j[l+512>>0]>>16)-128, B[g]=(j[h+768>>0]+j[c+1024>>0]+j[l+1280>>0]>>16)-128, R[g]=(j[h+1280>>0]+j[c+1536>>0]+j[l+1792>>0]>>16)-128;i=X(O,T,i,S,_), o=X(B,F,o,k,A), a=X(R,F,a,k,A), s+=32;}b+=8;}if(0<=q){var x=[];x[1]=q+1, x[0]=(1<<q+1)-1, G(x);}return Y(65497), new Uint8Array(P)}, function(){(new Date).getTime();t||(t=50), function(){for(var t=String.fromCharCode,e=0;e<256;e++)n[e]=t(e);}(), S=r(D,M), k=r(z,L), _=r(U,N), A=r(H,W), function(){for(var t=1,e=2,n=1;n<=15;n++){for(var r=t;r<e;r++)y[32767+r]=n, w[32767+r]=[], w[32767+r][1]=n, w[32767+r][0]=r;for(var i=-(e-1);i<=-t;i++)y[32767+i]=n, w[32767+i]=[], w[32767+i][1]=n, w[32767+i][0]=e-1+i;t<<=1, e<<=1;}}(), function(){for(var t=0;t<256;t++)j[t]=19595*t, j[t+256>>0]=38470*t, j[t+512>>0]=7471*t+32768, j[t+768>>0]=-11059*t, j[t+1024>>0]=-21709*t, j[t+1280>>0]=32768*t+8421375, j[t+1536>>0]=-27439*t, j[t+1792>>0]=-5329*t;}(), J(t), (new Date).getTime();}();}try{module.exports=yt;}catch(t){}function xt(t,e){if(this.pos=0, this.buffer=t, this.datav=new DataView(t.buffer), this.is_with_alpha=!!e, this.bottom_up=!0, this.flag=String.fromCharCode(this.buffer[0])+String.fromCharCode(this.buffer[1]), this.pos+=2, -1===["BM","BA","CI","CP","IC","PT"].indexOf(this.flag))throw new Error("Invalid BMP File");this.parseHeader(), this.parseBGR();}xt.prototype.parseHeader=function(){if(this.fileSize=this.datav.getUint32(this.pos,!0), this.pos+=4, this.reserved=this.datav.getUint32(this.pos,!0), this.pos+=4, this.offset=this.datav.getUint32(this.pos,!0), this.pos+=4, this.headerSize=this.datav.getUint32(this.pos,!0), this.pos+=4, this.width=this.datav.getUint32(this.pos,!0), this.pos+=4, this.height=this.datav.getInt32(this.pos,!0), this.pos+=4, this.planes=this.datav.getUint16(this.pos,!0), this.pos+=2, this.bitPP=this.datav.getUint16(this.pos,!0), this.pos+=2, this.compress=this.datav.getUint32(this.pos,!0), this.pos+=4, this.rawSize=this.datav.getUint32(this.pos,!0), this.pos+=4, this.hr=this.datav.getUint32(this.pos,!0), this.pos+=4, this.vr=this.datav.getUint32(this.pos,!0), this.pos+=4, this.colors=this.datav.getUint32(this.pos,!0), this.pos+=4, this.importantColors=this.datav.getUint32(this.pos,!0), this.pos+=4, 16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15), this.bitPP<15){var t=0===this.colors?1<<this.bitPP:this.colors;this.palette=new Array(t);for(var e=0;e<t;e++){var n=this.datav.getUint8(this.pos++,!0),r=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),o=this.datav.getUint8(this.pos++,!0);this.palette[e]={red:i,green:r,blue:n,quad:o};}}this.height<0&&(this.height*=-1, this.bottom_up=!1);}, xt.prototype.parseBGR=function(){this.pos=this.offset;try{var t="bit"+this.bitPP,e=this.width*this.height*4;this.data=new Uint8Array(e), this[t]();}catch(t){console.log("bit decode error:"+t);}}, xt.prototype.bit1=function(){var t=Math.ceil(this.width/8),e=t%4,n=0<=this.height?this.height-1:-this.height;for(n=this.height-1;0<=n;n--){for(var r=this.bottom_up?n:this.height-1-n,i=0;i<t;i++)for(var o=this.datav.getUint8(this.pos++,!0),a=r*this.width*4+8*i*4,s=0;s<8&&8*i+s<this.width;s++){var h=this.palette[o>>7-s&1];this.data[a+4*s]=h.blue, this.data[a+4*s+1]=h.green, this.data[a+4*s+2]=h.red, this.data[a+4*s+3]=255;}0!=e&&(this.pos+=4-e);}}, xt.prototype.bit4=function(){for(var t=Math.ceil(this.width/2),e=t%4,n=this.height-1;0<=n;n--){for(var r=this.bottom_up?n:this.height-1-n,i=0;i<t;i++){var o=this.datav.getUint8(this.pos++,!0),a=r*this.width*4+2*i*4,s=o>>4,h=15&o,c=this.palette[s];if(this.data[a]=c.blue, this.data[a+1]=c.green, this.data[a+2]=c.red, this.data[a+3]=255, 2*i+1>=this.width)break;c=this.palette[h], this.data[a+4]=c.blue, this.data[a+4+1]=c.green, this.data[a+4+2]=c.red, this.data[a+4+3]=255;}0!=e&&(this.pos+=4-e);}}, xt.prototype.bit8=function(){for(var t=this.width%4,e=this.height-1;0<=e;e--){for(var n=this.bottom_up?e:this.height-1-e,r=0;r<this.width;r++){var i=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+4*r;if(i<this.palette.length){var a=this.palette[i];this.data[o]=a.red, this.data[o+1]=a.green, this.data[o+2]=a.blue, this.data[o+3]=255;}else this.data[o]=255, this.data[o+1]=255, this.data[o+2]=255, this.data[o+3]=255;}0!=t&&(this.pos+=4-t);}}, xt.prototype.bit15=function(){for(var t=this.width%3,e=parseInt("11111",2),n=this.height-1;0<=n;n--){for(var r=this.bottom_up?n:this.height-1-n,i=0;i<this.width;i++){var o=this.datav.getUint16(this.pos,!0);this.pos+=2;var a=(o&e)/e*255|0,s=(o>>5&e)/e*255|0,h=(o>>10&e)/e*255|0,c=o>>15?255:0,l=r*this.width*4+4*i;this.data[l]=h, this.data[l+1]=s, this.data[l+2]=a, this.data[l+3]=c;}this.pos+=t;}}, xt.prototype.bit16=function(){for(var t=this.width%3,e=parseInt("11111",2),n=parseInt("111111",2),r=this.height-1;0<=r;r--){for(var i=this.bottom_up?r:this.height-1-r,o=0;o<this.width;o++){var a=this.datav.getUint16(this.pos,!0);this.pos+=2;var s=(a&e)/e*255|0,h=(a>>5&n)/n*255|0,c=(a>>11)/e*255|0,l=i*this.width*4+4*o;this.data[l]=c, this.data[l+1]=h, this.data[l+2]=s, this.data[l+3]=255;}this.pos+=t;}}, xt.prototype.bit24=function(){for(var t=this.height-1;0<=t;t--){for(var e=this.bottom_up?t:this.height-1-t,n=0;n<this.width;n++){var r=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),o=this.datav.getUint8(this.pos++,!0),a=e*this.width*4+4*n;this.data[a]=o, this.data[a+1]=i, this.data[a+2]=r, this.data[a+3]=255;}this.pos+=this.width%4;}}, xt.prototype.bit32=function(){for(var t=this.height-1;0<=t;t--)for(var e=this.bottom_up?t:this.height-1-t,n=0;n<this.width;n++){var r=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),o=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),s=e*this.width*4+4*n;this.data[s]=o, this.data[s+1]=i, this.data[s+2]=r, this.data[s+3]=a;}}, xt.prototype.getData=function(){return this.data};try{module.exports=function(t){var e=new xt(t);return{data:e.getData(),width:e.width,height:e.height}};}catch(t){} +/* + Copyright (c) 2013 Gildas Lormeau. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the distribution. + + 3. The names of the authors may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT, + INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +/* + Copyright (c) 2013 Gildas Lormeau. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the distribution. + + 3. The names of the authors may not be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JCRAFT, + INC. OR ANY CONTRIBUTORS TO THIS SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +!function(t){var p=15,g=573,e=[0,1,2,3,4,4,5,5,6,6,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,16,17,18,18,19,19,20,20,20,20,21,21,21,21,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29];function ut(){var d=this;function h(t,e){for(var n=0;n|=1&t, t>>>=1, n<<=1, 0<--e;);return n>>>1}d.build_tree=function(t){var e,n,r,i=d.dyn_tree,o=d.stat_desc.static_tree,a=d.stat_desc.elems,s=-1;for(t.heap_len=0, t.heap_max=g, e=0;e<a;e++)0!==i[2*e]?(t.heap[++t.heap_len]=s=e, t.depth[e]=0):i[2*e+1]=0;for(;t.heap_len<2;)i[2*(r=t.heap[++t.heap_len]=s<2?++s:0)]=1, t.depth[r]=0, t.opt_len--, o&&(t.static_len-=o[2*r+1]);for(d.max_code=s, e=Math.floor(t.heap_len/2);1<=e;e--)t.pqdownheap(i,e);for(r=a;e=t.heap[1], t.heap[1]=t.heap[t.heap_len--], t.pqdownheap(i,1), n=t.heap[1], t.heap[--t.heap_max]=e, t.heap[--t.heap_max]=n, i[2*r]=i[2*e]+i[2*n], t.depth[r]=Math.max(t.depth[e],t.depth[n])+1, i[2*e+1]=i[2*n+1]=r, t.heap[1]=r++, t.pqdownheap(i,1), 2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1], function(t){var e,n,r,i,o,a,s=d.dyn_tree,h=d.stat_desc.static_tree,c=d.stat_desc.extra_bits,l=d.stat_desc.extra_base,u=d.stat_desc.max_length,f=0;for(i=0;i<=p;i++)t.bl_count[i]=0;for(s[2*t.heap[t.heap_max]+1]=0, e=t.heap_max+1;e<g;e++)u<(i=s[2*s[2*(n=t.heap[e])+1]+1]+1)&&(i=u, f++), s[2*n+1]=i, n>d.max_code||(t.bl_count[i]++, o=0, l<=n&&(o=c[n-l]), a=s[2*n], t.opt_len+=a*(i+o), h&&(t.static_len+=a*(h[2*n+1]+o)));if(0!==f){do{for(i=u-1;0===t.bl_count[i];)i--;t.bl_count[i]--, t.bl_count[i+1]+=2, t.bl_count[u]--, f-=2;}while(0<f);for(i=u;0!==i;i--)for(n=t.bl_count[i];0!==n;)(r=t.heap[--e])>d.max_code||(s[2*r+1]!=i&&(t.opt_len+=(i-s[2*r+1])*s[2*r], s[2*r+1]=i), n--);}}(t), function(t,e,n){var r,i,o,a=[],s=0;for(r=1;r<=p;r++)a[r]=s=s+n[r-1]<<1;for(i=0;i<=e;i++)0!==(o=t[2*i+1])&&(t[2*i]=h(a[o]++,o));}(i,d.max_code,t.bl_count);};}function ft(t,e,n,r,i){var o=this;o.static_tree=t, o.extra_bits=e, o.extra_base=n, o.elems=r, o.max_length=i;}ut._length_code=[0,1,2,3,4,5,6,7,8,8,9,9,10,10,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28], ut.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0], ut.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576], ut.d_code=function(t){return t<256?e[t]:e[256+(t>>>7)]}, ut.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0], ut.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13], ut.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7], ut.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15], ft.static_ltree=[12,8,140,8,76,8,204,8,44,8,172,8,108,8,236,8,28,8,156,8,92,8,220,8,60,8,188,8,124,8,252,8,2,8,130,8,66,8,194,8,34,8,162,8,98,8,226,8,18,8,146,8,82,8,210,8,50,8,178,8,114,8,242,8,10,8,138,8,74,8,202,8,42,8,170,8,106,8,234,8,26,8,154,8,90,8,218,8,58,8,186,8,122,8,250,8,6,8,134,8,70,8,198,8,38,8,166,8,102,8,230,8,22,8,150,8,86,8,214,8,54,8,182,8,118,8,246,8,14,8,142,8,78,8,206,8,46,8,174,8,110,8,238,8,30,8,158,8,94,8,222,8,62,8,190,8,126,8,254,8,1,8,129,8,65,8,193,8,33,8,161,8,97,8,225,8,17,8,145,8,81,8,209,8,49,8,177,8,113,8,241,8,9,8,137,8,73,8,201,8,41,8,169,8,105,8,233,8,25,8,153,8,89,8,217,8,57,8,185,8,121,8,249,8,5,8,133,8,69,8,197,8,37,8,165,8,101,8,229,8,21,8,149,8,85,8,213,8,53,8,181,8,117,8,245,8,13,8,141,8,77,8,205,8,45,8,173,8,109,8,237,8,29,8,157,8,93,8,221,8,61,8,189,8,125,8,253,8,19,9,275,9,147,9,403,9,83,9,339,9,211,9,467,9,51,9,307,9,179,9,435,9,115,9,371,9,243,9,499,9,11,9,267,9,139,9,395,9,75,9,331,9,203,9,459,9,43,9,299,9,171,9,427,9,107,9,363,9,235,9,491,9,27,9,283,9,155,9,411,9,91,9,347,9,219,9,475,9,59,9,315,9,187,9,443,9,123,9,379,9,251,9,507,9,7,9,263,9,135,9,391,9,71,9,327,9,199,9,455,9,39,9,295,9,167,9,423,9,103,9,359,9,231,9,487,9,23,9,279,9,151,9,407,9,87,9,343,9,215,9,471,9,55,9,311,9,183,9,439,9,119,9,375,9,247,9,503,9,15,9,271,9,143,9,399,9,79,9,335,9,207,9,463,9,47,9,303,9,175,9,431,9,111,9,367,9,239,9,495,9,31,9,287,9,159,9,415,9,95,9,351,9,223,9,479,9,63,9,319,9,191,9,447,9,127,9,383,9,255,9,511,9,0,7,64,7,32,7,96,7,16,7,80,7,48,7,112,7,8,7,72,7,40,7,104,7,24,7,88,7,56,7,120,7,4,7,68,7,36,7,100,7,20,7,84,7,52,7,116,7,3,8,131,8,67,8,195,8,35,8,163,8,99,8,227,8], ft.static_dtree=[0,5,16,5,8,5,24,5,4,5,20,5,12,5,28,5,2,5,18,5,10,5,26,5,6,5,22,5,14,5,30,5,1,5,17,5,9,5,25,5,5,5,21,5,13,5,29,5,3,5,19,5,11,5,27,5,7,5,23,5], ft.static_l_desc=new ft(ft.static_ltree,ut.extra_lbits,257,286,p), ft.static_d_desc=new ft(ft.static_dtree,ut.extra_dbits,0,30,p), ft.static_bl_desc=new ft(null,ut.extra_blbits,0,19,7);function n(t,e,n,r,i){var o=this;o.good_length=t, o.max_lazy=e, o.nice_length=n, o.max_chain=r, o.func=i;}var dt=[new n(0,0,0,0,0),new n(4,4,8,4,1),new n(4,5,16,8,1),new n(4,6,32,32,1),new n(4,4,16,16,2),new n(8,16,32,32,2),new n(8,16,128,128,2),new n(8,32,128,256,2),new n(32,128,258,1024,2),new n(32,258,258,4096,2)],pt=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],gt=262;function mt(t,e,n,r){var i=t[2*e],o=t[2*n];return i<o||i==o&&r[e]<=r[n]}function r(){var h,c,l,u,f,d,p,g,i,m,w,y,v,a,b,x,S,k,_,A,I,C,T,F,P,E,q,O,B,R,s,j,D,M,U,N,z,o,L,H,W,G=this,V=new ut,Y=new ut,X=new ut;function J(){var t;for(t=0;t<286;t++)s[2*t]=0;for(t=0;t<30;t++)j[2*t]=0;for(t=0;t<19;t++)D[2*t]=0;s[512]=1, G.opt_len=G.static_len=0, N=o=0;}function K(t,e){var n,r,i=-1,o=t[1],a=0,s=7,h=4;for(0===o&&(s=138, h=3), t[2*(e+1)+1]=65535, n=0;n<=e;n++)r=o, o=t[2*(n+1)+1], ++a<s&&r==o||(a<h?D[2*r]+=a:0!==r?(r!=i&&D[2*r]++, D[32]++):a<=10?D[34]++:D[36]++, i=r, (a=0)===o?(s=138, h=3):r==o?(s=6, h=3):(s=7, h=4));}function Q(t){G.pending_buf[G.pending++]=t;}function Z(t){Q(255&t), Q(t>>>8&255);}function $(t,e){var n,r=e;16-r<W?(Z(H|=(n=t)<<W&65535), H=n>>>16-W, W+=r-16):(H|=t<<W&65535, W+=r);}function tt(t,e){var n=2*t;$(65535&e[n],65535&e[n+1]);}function et(t,e){var n,r,i=-1,o=t[1],a=0,s=7,h=4;for(0===o&&(s=138, h=3), n=0;n<=e;n++)if(r=o, o=t[2*(n+1)+1], !(++a<s&&r==o)){if(a<h)for(;tt(r,D), 0!=--a;);else 0!==r?(r!=i&&(tt(r,D), a--), tt(16,D), $(a-3,2)):a<=10?(tt(17,D), $(a-3,3)):(tt(18,D), $(a-11,7));i=r, (a=0)===o?(s=138, h=3):r==o?(s=6, h=3):(s=7, h=4);}}function nt(){16==W?(Z(H), W=H=0):8<=W&&(Q(255&H), H>>>=8, W-=8);}function rt(t,e){var n,r,i;if(G.pending_buf[z+2*N]=t>>>8&255, G.pending_buf[z+2*N+1]=255&t, G.pending_buf[M+N]=255&e, N++, 0===t?s[2*e]++:(o++, t--, s[2*(ut._length_code[e]+256+1)]++, j[2*ut.d_code(t)]++), 0==(8191&N)&&2<q){for(n=8*N, r=I-S, i=0;i<30;i++)n+=j[2*i]*(5+ut.extra_dbits[i]);if(n>>>=3, o<Math.floor(N/2)&&n<Math.floor(r/2))return!0}return N==U-1}function it(t,e){var n,r,i,o,a=0;if(0!==N)for(;n=G.pending_buf[z+2*a]<<8&65280|255&G.pending_buf[z+2*a+1], r=255&G.pending_buf[M+a], a++, 0===n?tt(r,t):(tt((i=ut._length_code[r])+256+1,t), 0!==(o=ut.extra_lbits[i])&&$(r-=ut.base_length[i],o), tt(i=ut.d_code(--n),e), 0!==(o=ut.extra_dbits[i])&&$(n-=ut.base_dist[i],o)), a<N;);tt(256,t), L=t[513];}function ot(){8<W?Z(H):0<W&&Q(255&H), W=H=0;}function at(t,e,n){var r,i,o;$(0+(n?1:0),3), r=t, i=e, o=!0, ot(), L=8, o&&(Z(i), Z(~i)), G.pending_buf.set(g.subarray(r,r+i),G.pending), G.pending+=i;}function e(t,e,n){var r,i,o=0;0<q?(V.build_tree(G), Y.build_tree(G), o=function(){var t;for(K(s,V.max_code), K(j,Y.max_code), X.build_tree(G), t=18;3<=t&&0===D[2*ut.bl_order[t]+1];t--);return G.opt_len+=3*(t+1)+5+5+4, t}(), r=G.opt_len+3+7>>>3, (i=G.static_len+3+7>>>3)<=r&&(r=i)):r=i=e+5, e+4<=r&&-1!=t?at(t,e,n):i==r?($(2+(n?1:0),3), it(ft.static_ltree,ft.static_dtree)):($(4+(n?1:0),3), function(t,e,n){var r;for($(t-257,5), $(e-1,5), $(n-4,4), r=0;r<n;r++)$(D[2*ut.bl_order[r]+1],3);et(s,t-1), et(j,e-1);}(V.max_code+1,Y.max_code+1,o+1), it(s,j)), J(), n&&ot();}function st(t){e(0<=S?S:-1,I-S,t), S=I, h.flush_pending();}function ht(){var t,e,n,r;do{if(0===(r=i-T-I)&&0===I&&0===T)r=f;else if(-1==r)r--;else if(f+f-gt<=I){for(g.set(g.subarray(f,f+f),0), C-=f, I-=f, S-=f, n=t=v;e=65535&w[--n], w[n]=f<=e?e-f:0, 0!=--t;);for(n=t=f;e=65535&m[--n], m[n]=f<=e?e-f:0, 0!=--t;);r+=f;}if(0===h.avail_in)return;t=h.read_buf(g,I+T,r), 3<=(T+=t)&&(y=((y=255&g[I])<<x^255&g[I+1])&b);}while(T<gt&&0!==h.avail_in)}function ct(t){var e,n,r=P,i=I,o=F,a=f-gt<I?I-(f-gt):0,s=R,h=p,c=I+258,l=g[i+o-1],u=g[i+o];B<=F&&(r>>=2), T<s&&(s=T);do{if(g[(e=t)+o]==u&&g[e+o-1]==l&&g[e]==g[i]&&g[++e]==g[i+1]){i+=2, e++;do{}while(g[++i]==g[++e]&&g[++i]==g[++e]&&g[++i]==g[++e]&&g[++i]==g[++e]&&g[++i]==g[++e]&&g[++i]==g[++e]&&g[++i]==g[++e]&&g[++i]==g[++e]&&i<c);if(n=258-(c-i), i=c-258, o<n){if(C=t, s<=(o=n))break;l=g[i+o-1], u=g[i+o];}}}while((t=65535&m[t&h])>a&&0!=--r);return o<=T?o:T}function lt(t){return t.total_in=t.total_out=0, t.msg=null, G.pending=0, G.pending_out=0, c=113, u=0, V.dyn_tree=s, V.stat_desc=ft.static_l_desc, Y.dyn_tree=j, Y.stat_desc=ft.static_d_desc, X.dyn_tree=D, X.stat_desc=ft.static_bl_desc, W=H=0, L=8, J(), function(){var t;for(i=2*f, t=w[v-1]=0;t<v-1;t++)w[t]=0;E=dt[q].max_lazy, B=dt[q].good_length, R=dt[q].nice_length, P=dt[q].max_chain, k=F=2, y=A=T=S=I=0;}(), 0}G.depth=[], G.bl_count=[], G.heap=[], s=[], j=[], D=[], G.pqdownheap=function(t,e){for(var n=G.heap,r=n[e],i=e<<1;i<=G.heap_len&&(i<G.heap_len&&mt(t,n[i+1],n[i],G.depth)&&i++, !mt(t,r,n[i],G.depth));)n[e]=n[i], e=i, i<<=1;n[e]=r;}, G.deflateInit=function(t,e,n,r,i,o){return r||(r=8), i||(i=8), o||(o=0), t.msg=null, -1==e&&(e=6), i<1||9<i||8!=r||n<9||15<n||e<0||9<e||o<0||2<o?-2:(t.dstate=G, p=(f=1<<(d=n))-1, b=(v=1<<(a=i+7))-1, x=Math.floor((a+3-1)/3), g=new Uint8Array(2*f), m=[], w=[], U=1<<i+6, G.pending_buf=new Uint8Array(4*U), l=4*U, z=Math.floor(U/2), M=3*U, q=e, O=o, lt(t))}, G.deflateEnd=function(){return 42!=c&&113!=c&&666!=c?-2:(G.pending_buf=null, g=m=w=null, G.dstate=null, 113==c?-3:0)}, G.deflateParams=function(t,e,n){var r=0;return-1==e&&(e=6), e<0||9<e||n<0||2<n?-2:(dt[q].func!=dt[e].func&&0!==t.total_in&&(r=t.deflate(1)), q!=e&&(E=dt[q=e].max_lazy, B=dt[q].good_length, R=dt[q].nice_length, P=dt[q].max_chain), O=n, r)}, G.deflateSetDictionary=function(t,e,n){var r,i=n,o=0;if(!e||42!=c)return-2;if(i<3)return 0;for(f-gt<i&&(o=n-(i=f-gt)), g.set(e.subarray(o,o+i),0), S=I=i, y=((y=255&g[0])<<x^255&g[1])&b, r=0;r<=i-3;r++)y=(y<<x^255&g[r+2])&b, m[r&p]=w[y], w[y]=r;return 0}, G.deflate=function(t,e){var n,r,i,o,a,s;if(4<e||e<0)return-2;if(!t.next_out||!t.next_in&&0!==t.avail_in||666==c&&4!=e)return t.msg=pt[4], -2;if(0===t.avail_out)return t.msg=pt[7], -5;if(h=t, o=u, u=e, 42==c&&(r=8+(d-8<<4)<<8, 3<(i=(q-1&255)>>1)&&(i=3), r|=i<<6, 0!==I&&(r|=32), c=113, Q((s=r+=31-r%31)>>8&255), Q(255&s)), 0!==G.pending){if(h.flush_pending(), 0===h.avail_out)return u=-1, 0}else if(0===h.avail_in&&e<=o&&4!=e)return h.msg=pt[7], -5;if(666==c&&0!==h.avail_in)return t.msg=pt[7], -5;if(0!==h.avail_in||0!==T||0!=e&&666!=c){switch(a=-1, dt[q].func){case 0:a=function(t){var e,n=65535;for(l-5<n&&(n=l-5);;){if(T<=1){if(ht(), 0===T&&0==t)return 0;if(0===T)break}if(I+=T, e=S+n, ((T=0)===I||e<=I)&&(T=I-e, I=e, st(!1), 0===h.avail_out))return 0;if(f-gt<=I-S&&(st(!1), 0===h.avail_out))return 0}return st(4==t), 0===h.avail_out?4==t?2:0:4==t?3:1}(e);break;case 1:a=function(t){for(var e,n=0;;){if(T<gt){if(ht(), T<gt&&0==t)return 0;if(0===T)break}if(3<=T&&(y=(y<<x^255&g[I+2])&b, n=65535&w[y], m[I&p]=w[y], w[y]=I), 0!==n&&(I-n&65535)<=f-gt&&2!=O&&(k=ct(n)), 3<=k)if(e=rt(I-C,k-3), T-=k, k<=E&&3<=T){for(k--;y=(y<<x^255&g[++I+2])&b, n=65535&w[y], m[I&p]=w[y], w[y]=I, 0!=--k;);I++;}else I+=k, k=0, y=((y=255&g[I])<<x^255&g[I+1])&b;else e=rt(0,255&g[I]), T--, I++;if(e&&(st(!1), 0===h.avail_out))return 0}return st(4==t), 0===h.avail_out?4==t?2:0:4==t?3:1}(e);break;case 2:a=function(t){for(var e,n,r=0;;){if(T<gt){if(ht(), T<gt&&0==t)return 0;if(0===T)break}if(3<=T&&(y=(y<<x^255&g[I+2])&b, r=65535&w[y], m[I&p]=w[y], w[y]=I), F=k, _=C, k=2, 0!==r&&F<E&&(I-r&65535)<=f-gt&&(2!=O&&(k=ct(r)), k<=5&&(1==O||3==k&&4096<I-C)&&(k=2)), 3<=F&&k<=F){for(n=I+T-3, e=rt(I-1-_,F-3), T-=F-1, F-=2;++I<=n&&(y=(y<<x^255&g[I+2])&b, r=65535&w[y], m[I&p]=w[y], w[y]=I), 0!=--F;);if(A=0, k=2, I++, e&&(st(!1), 0===h.avail_out))return 0}else if(0!==A){if((e=rt(0,255&g[I-1]))&&st(!1), I++, T--, 0===h.avail_out)return 0}else A=1, I++, T--;}return 0!==A&&(e=rt(0,255&g[I-1]), A=0), st(4==t), 0===h.avail_out?4==t?2:0:4==t?3:1}(e);}if(2!=a&&3!=a||(c=666), 0==a||2==a)return 0===h.avail_out&&(u=-1), 0;if(1==a){if(1==e)$(2,3), tt(256,ft.static_ltree), nt(), 1+L+10-W<9&&($(2,3), tt(256,ft.static_ltree), nt()), L=7;else if(at(0,0,!1), 3==e)for(n=0;n<v;n++)w[n]=0;if(h.flush_pending(), 0===h.avail_out)return u=-1, 0}}return 4!=e?0:1};}function i(){var t=this;t.next_in_index=0, t.next_out_index=0, t.avail_in=0, t.total_in=0, t.avail_out=0, t.total_out=0;}i.prototype={deflateInit:function(t,e){return this.dstate=new r, e||(e=p), this.dstate.deflateInit(this,t,e)},deflate:function(t){return this.dstate?this.dstate.deflate(this,t):-2},deflateEnd:function(){if(!this.dstate)return-2;var t=this.dstate.deflateEnd();return this.dstate=null, t},deflateParams:function(t,e){return this.dstate?this.dstate.deflateParams(this,t,e):-2},deflateSetDictionary:function(t,e){return this.dstate?this.dstate.deflateSetDictionary(this,t,e):-2},read_buf:function(t,e,n){var r=this,i=r.avail_in;return n<i&&(i=n), 0===i?0:(r.avail_in-=i, t.set(r.next_in.subarray(r.next_in_index,r.next_in_index+i),e), r.next_in_index+=i, r.total_in+=i, i)},flush_pending:function(){var t=this,e=t.dstate.pending;e>t.avail_out&&(e=t.avail_out), 0!==e&&(t.next_out.set(t.dstate.pending_buf.subarray(t.dstate.pending_out,t.dstate.pending_out+e),t.next_out_index), t.next_out_index+=e, t.dstate.pending_out+=e, t.total_out+=e, t.avail_out-=e, t.dstate.pending-=e, 0===t.dstate.pending&&(t.dstate.pending_out=0));}};var o=t.zip||t;o.Deflater=o._jzlib_Deflater=function(t){var s=new i,h=new Uint8Array(512),e=t?t.level:-1;void 0===e&&(e=-1), s.deflateInit(e), s.next_out=h, this.append=function(t,e){var n,r=[],i=0,o=0,a=0;if(t.length){s.next_in_index=0, s.next_in=t, s.avail_in=t.length;do{if(s.next_out_index=0, s.avail_out=512, 0!=s.deflate(0))throw new Error("deflating: "+s.msg);s.next_out_index&&(512==s.next_out_index?r.push(new Uint8Array(h)):r.push(new Uint8Array(h.subarray(0,s.next_out_index)))), a+=s.next_out_index, e&&0<s.next_in_index&&s.next_in_index!=i&&(e(s.next_in_index), i=s.next_in_index);}while(0<s.avail_in||0===s.avail_out);return n=new Uint8Array(a), r.forEach(function(t){n.set(t,o), o+=t.length;}), n}}, this.flush=function(){var t,e,n=[],r=0,i=0;do{if(s.next_out_index=0, s.avail_out=512, 1!=(t=s.deflate(4))&&0!=t)throw new Error("deflating: "+s.msg);0<512-s.avail_out&&n.push(new Uint8Array(h.subarray(0,s.next_out_index))), i+=s.next_out_index;}while(0<s.avail_in||0===s.avail_out);return s.deflateEnd(), e=new Uint8Array(i), n.forEach(function(t){e.set(t,r), r+=t.length;}), e};};}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof commonjsGlobal&&commonjsGlobal||Function('return typeof this === "object" && this.content')()||Function("return this")()), function(t){function f(t){var e;this.ok=!1, "#"==t.charAt(0)&&(t=t.substr(1,6)), t=(t=t.replace(/ /g,"")).toLowerCase();var l={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};for(var n in l)t==n&&(t=l[n]);for(var u=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/,example:["#00ff00","336699"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}],r=0;r<u.length;r++){var i=u[r].re,o=u[r].process,a=i.exec(t);a&&(e=o(a), this.r=e[0], this.g=e[1], this.b=e[2], this.ok=!0);}this.r=this.r<0||isNaN(this.r)?0:255<this.r?255:this.r, this.g=this.g<0||isNaN(this.g)?0:255<this.g?255:this.g, this.b=this.b<0||isNaN(this.b)?0:255<this.b?255:this.b, this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"}, this.toHex=function(){var t=this.r.toString(16),e=this.g.toString(16),n=this.b.toString(16);return 1==t.length&&(t="0"+t), 1==e.length&&(e="0"+e), 1==n.length&&(n="0"+n), "#"+t+e+n}, this.getHelpXML=function(){for(var t=new Array,e=0;e<u.length;e++)for(var n=u[e].example,r=0;r<n.length;r++)t[t.length]=n[r];for(var i in l)t[t.length]=i;var o=document.createElement("ul");o.setAttribute("id","rgbcolor-examples");for(e=0;e<t.length;e++)try{var a=document.createElement("li"),s=new f(t[e]),h=document.createElement("div");h.style.cssText="margin: 3px; border: 1px solid black; background:"+s.toHex()+"; color:"+s.toHex(), h.appendChild(document.createTextNode("test"));var c=document.createTextNode(" "+t[e]+" -> "+s.toRGB()+" -> "+s.toHex());a.appendChild(h), a.appendChild(c), o.appendChild(a);}catch(t){}return o};}"undefined"!=typeof undefined&&undefined.amd?undefined("RGBColor",function(){return f}):"undefined"!='object'&&module.exports&&(module.exports=f), t.RGBColor=f;}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof commonjsGlobal&&commonjsGlobal||Function('return typeof this === "object" && this.content')()||Function("return this")()), function(t){module.exports=t();}(function(){return function o(a,s,h){function c(n,t){if(!s[n]){if(!a[n]){var e="function"==typeof commonjsRequire&&commonjsRequire;if(!t&&e)return e(n,!0);if(l)return l(n,!0);var r=new Error("Cannot find module '"+n+"'");throw r.code="MODULE_NOT_FOUND", r}var i=s[n]={exports:{}};a[n][0].call(i.exports,function(t){var e=a[n][1][t];return c(e||t)},i,i.exports,o,a,s,h);}return s[n].exports}for(var l="function"==typeof commonjsRequire&&commonjsRequire,t=0;t<h.length;t++)c(h[t]);return c}({1:[function(t,q,O){(function(E){!function(t){var e="object"==typeof O&&O,n="object"==typeof q&&q&&q.exports==e&&q,r="object"==typeof E&&E;r.global!==r&&r.window!==r||(t=r);var i,o,w=2147483647,y=36,v=1,b=26,a=38,s=700,x=72,S=128,k="-",h=/^xn--/,c=/[^ -~]/,l=/\x2E|\u3002|\uFF0E|\uFF61/g,u={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},f=y-v,_=Math.floor,A=String.fromCharCode;function I(t){throw RangeError(u[t])}function d(t,e){for(var n=t.length;n--;)t[n]=e(t[n]);return t}function p(t,e){return d(t.split(l),e).join(".")}function C(t){for(var e,n,r=[],i=0,o=t.length;i<o;)55296<=(e=t.charCodeAt(i++))&&e<=56319&&i<o?56320==(64512&(n=t.charCodeAt(i++)))?r.push(((1023&e)<<10)+(1023&n)+65536):(r.push(e), i--):r.push(e);return r}function T(t){return d(t,function(t){var e="";return 65535<t&&(e+=A((t-=65536)>>>10&1023|55296), t=56320|1023&t), e+=A(t)}).join("")}function F(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function P(t,e,n){var r=0;for(t=n?_(t/s):t>>1, t+=_(t/e);f*b>>1<t;r+=y)t=_(t/f);return _(r+(f+1)*t/(t+a))}function g(t){var e,n,r,i,o,a,s,h,c,l,u,f=[],d=t.length,p=0,g=S,m=x;for((n=t.lastIndexOf(k))<0&&(n=0), r=0;r<n;++r)128<=t.charCodeAt(r)&&I("not-basic"), f.push(t.charCodeAt(r));for(i=0<n?n+1:0;i<d;){for(o=p, a=1, s=y;d<=i&&I("invalid-input"), u=t.charCodeAt(i++), (y<=(h=u-48<10?u-22:u-65<26?u-65:u-97<26?u-97:y)||h>_((w-p)/a))&&I("overflow"), p+=h*a, !(h<(c=s<=m?v:m+b<=s?b:s-m));s+=y)a>_(w/(l=y-c))&&I("overflow"), a*=l;m=P(p-o,e=f.length+1,0==o), _(p/e)>w-g&&I("overflow"), g+=_(p/e), p%=e, f.splice(p++,0,g);}return T(f)}function m(t){var e,n,r,i,o,a,s,h,c,l,u,f,d,p,g,m=[];for(f=(t=C(t)).length, e=S, o=x, a=n=0;a<f;++a)(u=t[a])<128&&m.push(A(u));for(r=i=m.length, i&&m.push(k);r<f;){for(s=w, a=0;a<f;++a)e<=(u=t[a])&&u<s&&(s=u);for(s-e>_((w-n)/(d=r+1))&&I("overflow"), n+=(s-e)*d, e=s, a=0;a<f;++a)if((u=t[a])<e&&++n>w&&I("overflow"), u==e){for(h=n, c=y;!(h<(l=c<=o?v:o+b<=c?b:c-o));c+=y)g=h-l, p=y-l, m.push(A(F(l+g%p,0))), h=_(g/p);m.push(A(F(h,0))), o=P(n,d,r==i), n=0, ++r;}++n, ++e;}return m.join("")}if(i={version:"1.2.4",ucs2:{decode:C,encode:T},decode:g,encode:m,toASCII:function(t){return p(t,function(t){return c.test(t)?"xn--"+m(t):t})},toUnicode:function(t){return p(t,function(t){return h.test(t)?g(t.slice(4).toLowerCase()):t})}}, e&&!e.nodeType)if(n)n.exports=i;else for(o in i)i.hasOwnProperty(o)&&(e[o]=i[o]);else t.punycode=i;}(this);}).call(this,"undefined"!=typeof commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}],2:[function(t,e,n){var i=t("./log");function u(t,e){for(var n=3===t.nodeType?document.createTextNode(t.nodeValue):t.cloneNode(!1),r=t.firstChild;r;)!0!==e&&1===r.nodeType&&"SCRIPT"===r.nodeName||n.appendChild(u(r,e)), r=r.nextSibling;return 1===t.nodeType&&(n._scrollTop=t.scrollTop, n._scrollLeft=t.scrollLeft, "CANVAS"===t.nodeName?function(e,t){try{t&&(t.width=e.width, t.height=e.height, t.getContext("2d").putImageData(e.getContext("2d").getImageData(0,0,e.width,e.height),0,0));}catch(t){i("Unable to copy canvas content from",e,t);}}(t,n):"TEXTAREA"!==t.nodeName&&"SELECT"!==t.nodeName||(n.value=t.value)), n}e.exports=function(o,t,e,n,a,s,h){var c=u(o.documentElement,a.javascriptEnabled),l=t.createElement("iframe");return l.className="html2canvas-container", l.style.visibility="hidden", l.style.position="fixed", l.style.left="-10000px", l.style.top="0px", l.style.border="0", l.width=e, l.height=n, l.scrolling="no", t.body.appendChild(l), new Promise(function(e){var t,n,r,i=l.contentWindow.document;l.contentWindow.onload=l.onload=function(){var t=setInterval(function(){0<i.body.childNodes.length&&(!function t(e){if(1===e.nodeType){e.scrollTop=e._scrollTop, e.scrollLeft=e._scrollLeft;for(var n=e.firstChild;n;)t(n), n=n.nextSibling;}}(i.documentElement), clearInterval(t), "view"===a.type&&(l.contentWindow.scrollTo(s,h), !/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||l.contentWindow.scrollY===h&&l.contentWindow.scrollX===s||(i.documentElement.style.top=-h+"px", i.documentElement.style.left=-s+"px", i.documentElement.style.position="absolute")), e(l));},50);}, i.open(), i.write("<!DOCTYPE html><html></html>"), n=s, r=h, !(t=o).defaultView||n===t.defaultView.pageXOffset&&r===t.defaultView.pageYOffset||t.defaultView.scrollTo(n,r), i.replaceChild(i.adoptNode(c),i.documentElement), i.close();})};},{"./log":13}],3:[function(t,e,n){function r(t){this.r=0, this.g=0, this.b=0, this.a=null;this.fromArray(t)||this.namedColor(t)||this.rgb(t)||this.rgba(t)||this.hex6(t)||this.hex3(t);}r.prototype.darken=function(t){var e=1-t;return new r([Math.round(this.r*e),Math.round(this.g*e),Math.round(this.b*e),this.a])}, r.prototype.isTransparent=function(){return 0===this.a}, r.prototype.isBlack=function(){return 0===this.r&&0===this.g&&0===this.b}, r.prototype.fromArray=function(t){return Array.isArray(t)&&(this.r=Math.min(t[0],255), this.g=Math.min(t[1],255), this.b=Math.min(t[2],255), 3<t.length&&(this.a=t[3])), Array.isArray(t)};var i=/^#([a-f0-9]{3})$/i;r.prototype.hex3=function(t){var e;return null!==(e=t.match(i))&&(this.r=parseInt(e[1][0]+e[1][0],16), this.g=parseInt(e[1][1]+e[1][1],16), this.b=parseInt(e[1][2]+e[1][2],16)), null!==e};var o=/^#([a-f0-9]{6})$/i;r.prototype.hex6=function(t){var e=null;return null!==(e=t.match(o))&&(this.r=parseInt(e[1].substring(0,2),16), this.g=parseInt(e[1].substring(2,4),16), this.b=parseInt(e[1].substring(4,6),16)), null!==e};var a=/^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/;r.prototype.rgb=function(t){var e;return null!==(e=t.match(a))&&(this.r=Number(e[1]), this.g=Number(e[2]), this.b=Number(e[3])), null!==e};var s=/^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?\.?\d+)\s*\)$/;r.prototype.rgba=function(t){var e;return null!==(e=t.match(s))&&(this.r=Number(e[1]), this.g=Number(e[2]), this.b=Number(e[3]), this.a=Number(e[4])), null!==e}, r.prototype.toString=function(){return null!==this.a&&1!==this.a?"rgba("+[this.r,this.g,this.b,this.a].join(",")+")":"rgb("+[this.r,this.g,this.b].join(",")+")"}, r.prototype.namedColor=function(t){t=t.toLowerCase();var e=h[t];if(e)this.r=e[0], this.g=e[1], this.b=e[2];else if("transparent"===t)return this.r=this.g=this.b=this.a=0, !0;return!!e}, r.prototype.isColor=!0;var h={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};e.exports=r;},{}],4:[function(t,e,n){var p=t("./support"),d=t("./renderers/canvas"),g=t("./imageloader"),m=t("./nodeparser"),r=t("./nodecontainer"),w=t("./log"),i=t("./utils"),y=t("./clone"),v=t("./proxy").loadUrlDocument,b=i.getBounds,x="data-html2canvas-node",S=0;function o(t,e){var n,r,i=S++;if((e=e||{}).logging&&(w.options.logging=!0, w.options.start=Date.now()), e.async=void 0===e.async||e.async, e.allowTaint=void 0!==e.allowTaint&&e.allowTaint, e.removeContainer=void 0===e.removeContainer||e.removeContainer, e.javascriptEnabled=void 0!==e.javascriptEnabled&&e.javascriptEnabled, e.imageTimeout=void 0===e.imageTimeout?1e4:e.imageTimeout, e.renderer="function"==typeof e.renderer?e.renderer:d, e.strict=!!e.strict, "string"==typeof t){if("string"!=typeof e.proxy)return Promise.reject("Proxy must be used when rendering url");var o=null!=e.width?e.width:window.innerWidth,a=null!=e.height?e.height:window.innerHeight;return v((n=t, r=document.createElement("a"), r.href=n, r.href=r.href, r),e.proxy,document,o,a,e).then(function(t){return k(t.contentWindow.document.documentElement,t,e,o,a)})}var s,h,c,l,u,f=(void 0===t?[document.documentElement]:t.length?t:[t])[0];return f.setAttribute(x+i,i), (s=f.ownerDocument, h=e, c=f.ownerDocument.defaultView.innerWidth, l=f.ownerDocument.defaultView.innerHeight, u=i, y(s,s,c,l,h,s.defaultView.pageXOffset,s.defaultView.pageYOffset).then(function(t){w("Document cloned");var e=x+u,n="["+e+"='"+u+"']";s.querySelector(n).removeAttribute(e);var r=t.contentWindow,i=r.document.querySelector(n),o="function"==typeof h.onclone?Promise.resolve(h.onclone(r.document)):Promise.resolve(!0);return o.then(function(){return k(i,t,h,c,l)})})).then(function(t){return"function"==typeof e.onrendered&&(w("options.onrendered is deprecated, html2canvas returns a Promise containing the canvas"), e.onrendered(t)), t})}o.CanvasRenderer=d, o.NodeContainer=r, o.log=w, o.utils=i;var a="undefined"==typeof document||"function"!=typeof Object.create||"function"!=typeof document.createElement("canvas").getContext?function(){return Promise.reject("No canvas support")}:o;function k(n,r,i,t,e){var o,a,s=r.contentWindow,h=new p(s.document),c=new g(i,h),l=b(n),u="view"===i.type?t:(o=s.document, Math.max(Math.max(o.body.scrollWidth,o.documentElement.scrollWidth),Math.max(o.body.offsetWidth,o.documentElement.offsetWidth),Math.max(o.body.clientWidth,o.documentElement.clientWidth))),f="view"===i.type?e:(a=s.document, Math.max(Math.max(a.body.scrollHeight,a.documentElement.scrollHeight),Math.max(a.body.offsetHeight,a.documentElement.offsetHeight),Math.max(a.body.clientHeight,a.documentElement.clientHeight))),d=new i.renderer(u,f,c,i,document);return new m(n,d,h,c,i).ready.then(function(){var t,e;return w("Finished rendering"), t="view"===i.type?_(d.canvas,{width:d.canvas.width,height:d.canvas.height,top:0,left:0,x:0,y:0}):n===s.document.body||n===s.document.documentElement||null!=i.canvas?d.canvas:_(d.canvas,{width:null!=i.width?i.width:l.width,height:null!=i.height?i.height:l.height,top:l.top,left:l.left,x:0,y:0}), e=r, i.removeContainer&&(e.parentNode.removeChild(e), w("Cleaned up container")), t})}function _(t,e){var n=document.createElement("canvas"),r=Math.min(t.width-1,Math.max(0,e.left)),i=Math.min(t.width,Math.max(1,e.left+e.width)),o=Math.min(t.height-1,Math.max(0,e.top)),a=Math.min(t.height,Math.max(1,e.top+e.height));n.width=e.width, n.height=e.height;var s=i-r,h=a-o;return w("Cropping canvas at:","left:",e.left,"top:",e.top,"width:",s,"height:",h), w("Resulting crop with width",e.width,"and height",e.height,"with x",r,"and y",o), n.getContext("2d").drawImage(t,r,o,s,h,e.x,e.y,s,h), n}e.exports=a;},{"./clone":2,"./imageloader":11,"./log":13,"./nodecontainer":14,"./nodeparser":15,"./proxy":16,"./renderers/canvas":20,"./support":22,"./utils":26}],5:[function(t,e,n){var r=t("./log"),i=t("./utils").smallImage;e.exports=function t(e){if(this.src=e, r("DummyImageContainer for",e), !this.promise||!this.image){r("Initiating DummyImageContainer"), t.prototype.image=new Image;var n=this.image;t.prototype.promise=new Promise(function(t,e){n.onload=t, n.onerror=e, n.src=i(), !0===n.complete&&t(n);});}};},{"./log":13,"./utils":26}],6:[function(t,e,n){var h=t("./utils").smallImage;e.exports=function(t,e){var n,r,i=document.createElement("div"),o=document.createElement("img"),a=document.createElement("span"),s="Hidden Text";i.style.visibility="hidden", i.style.fontFamily=t, i.style.fontSize=e, i.style.margin=0, i.style.padding=0, document.body.appendChild(i), o.src=h(), o.width=1, o.height=1, o.style.margin=0, o.style.padding=0, o.style.verticalAlign="baseline", a.style.fontFamily=t, a.style.fontSize=e, a.style.margin=0, a.style.padding=0, a.appendChild(document.createTextNode(s)), i.appendChild(a), i.appendChild(o), n=o.offsetTop-a.offsetTop+1, i.removeChild(a), i.appendChild(document.createTextNode(s)), i.style.lineHeight="normal", o.style.verticalAlign="super", r=o.offsetTop-i.offsetTop+1, document.body.removeChild(i), this.baseline=n, this.lineWidth=1, this.middle=r;};},{"./utils":26}],7:[function(t,e,n){var r=t("./font");function i(){this.data={};}i.prototype.getMetrics=function(t,e){return void 0===this.data[t+"-"+e]&&(this.data[t+"-"+e]=new r(t,e)), this.data[t+"-"+e]}, e.exports=i;},{"./font":6}],8:[function(o,t,e){var a=o("./utils").getBounds,i=o("./proxy").loadUrlDocument;function n(e,t,n){this.image=null, this.src=e;var r=this,i=a(e);this.promise=(t?new Promise(function(t){"about:blank"===e.contentWindow.document.URL||null==e.contentWindow.document.documentElement?e.contentWindow.onload=e.onload=function(){t(e);}:t(e);}):this.proxyLoad(n.proxy,i,n)).then(function(t){return o("./core")(t.contentWindow.document.documentElement,{type:"view",width:t.width,height:t.height,proxy:n.proxy,javascriptEnabled:n.javascriptEnabled,removeContainer:n.removeContainer,allowTaint:n.allowTaint,imageTimeout:n.imageTimeout/2})}).then(function(t){return r.image=t});}n.prototype.proxyLoad=function(t,e,n){var r=this.src;return i(r.src,t,r.ownerDocument,e.width,e.height,n)}, t.exports=n;},{"./core":4,"./proxy":16,"./utils":26}],9:[function(t,e,n){function r(t){this.src=t.value, this.colorStops=[], this.type=null, this.x0=.5, this.y0=.5, this.x1=.5, this.y1=.5, this.promise=Promise.resolve(!0);}r.TYPES={LINEAR:1,RADIAL:2}, r.REGEXP_COLORSTOP=/^\s*(rgba?\(\s*\d{1,3},\s*\d{1,3},\s*\d{1,3}(?:,\s*[0-9\.]+)?\s*\)|[a-z]{3,20}|#[a-f0-9]{3,6})(?:\s+(\d{1,3}(?:\.\d+)?)(%|px)?)?(?:\s|$)/i, e.exports=r;},{}],10:[function(t,e,n){e.exports=function(n,r){this.src=n, this.image=new Image;var i=this;this.tainted=null, this.promise=new Promise(function(t,e){i.image.onload=t, i.image.onerror=e, r&&(i.image.crossOrigin="anonymous"), i.image.src=n, !0===i.image.complete&&t(i.image);});};},{}],11:[function(t,e,n){var o=t("./log"),r=t("./imagecontainer"),i=t("./dummyimagecontainer"),a=t("./proxyimagecontainer"),s=t("./framecontainer"),h=t("./svgcontainer"),c=t("./svgnodecontainer"),l=t("./lineargradientcontainer"),u=t("./webkitgradientcontainer"),f=t("./utils").bind;function d(t,e){this.link=null, this.options=t, this.support=e, this.origin=this.getOrigin(window.location.href);}d.prototype.findImages=function(t){var e=[];return t.reduce(function(t,e){switch(e.node.nodeName){case"IMG":return t.concat([{args:[e.node.src],method:"url"}]);case"svg":case"IFRAME":return t.concat([{args:[e.node],method:e.node.nodeName}])}return t},[]).forEach(this.addImage(e,this.loadImage),this), e}, d.prototype.findBackgroundImage=function(t,e){return e.parseBackgroundImages().filter(this.hasImageBackground).forEach(this.addImage(t,this.loadImage),this), t}, d.prototype.addImage=function(n,r){return function(e){e.args.forEach(function(t){this.imageExists(n,t)||(n.splice(0,0,r.call(this,e)), o("Added image #"+n.length,"string"==typeof t?t.substring(0,100):t));},this);}}, d.prototype.hasImageBackground=function(t){return"none"!==t.method}, d.prototype.loadImage=function(t){if("url"===t.method){var e=t.args[0];return!this.isSVG(e)||this.support.svg||this.options.allowTaint?e.match(/data:image\/.*;base64,/i)?new r(e.replace(/url\(['"]{0,}|['"]{0,}\)$/gi,""),!1):this.isSameOrigin(e)||!0===this.options.allowTaint||this.isSVG(e)?new r(e,!1):this.support.cors&&!this.options.allowTaint&&this.options.useCORS?new r(e,!0):this.options.proxy?new a(e,this.options.proxy):new i(e):new h(e)}return"linear-gradient"===t.method?new l(t):"gradient"===t.method?new u(t):"svg"===t.method?new c(t.args[0],this.support.svg):"IFRAME"===t.method?new s(t.args[0],this.isSameOrigin(t.args[0].src),this.options):new i(t)}, d.prototype.isSVG=function(t){return"svg"===t.substring(t.length-3).toLowerCase()||h.prototype.isInline(t)}, d.prototype.imageExists=function(t,e){return t.some(function(t){return t.src===e})}, d.prototype.isSameOrigin=function(t){return this.getOrigin(t)===this.origin}, d.prototype.getOrigin=function(t){var e=this.link||(this.link=document.createElement("a"));return e.href=t, e.href=e.href, e.protocol+e.hostname+e.port}, d.prototype.getPromise=function(e){return this.timeout(e,this.options.imageTimeout).catch(function(){return new i(e.src).promise.then(function(t){e.image=t;})})}, d.prototype.get=function(e){var n=null;return this.images.some(function(t){return(n=t).src===e})?n:null}, d.prototype.fetch=function(t){return this.images=t.reduce(f(this.findBackgroundImage,this),this.findImages(t)), this.images.forEach(function(e,n){e.promise.then(function(){o("Succesfully loaded image #"+(n+1),e);},function(t){o("Failed loading image #"+(n+1),e,t);});}), this.ready=Promise.all(this.images.map(this.getPromise,this)), o("Finished searching images"), this}, d.prototype.timeout=function(n,r){var i,t=Promise.race([n.promise,new Promise(function(t,e){i=setTimeout(function(){o("Timed out loading image",n), e(n);},r);})]).then(function(t){return clearTimeout(i), t});return t.catch(function(){clearTimeout(i);}), t}, e.exports=d;},{"./dummyimagecontainer":5,"./framecontainer":8,"./imagecontainer":10,"./lineargradientcontainer":12,"./log":13,"./proxyimagecontainer":17,"./svgcontainer":23,"./svgnodecontainer":24,"./utils":26,"./webkitgradientcontainer":27}],12:[function(t,e,n){var i=t("./gradientcontainer"),o=t("./color");function r(t){i.apply(this,arguments), this.type=i.TYPES.LINEAR;var e=r.REGEXP_DIRECTION.test(t.args[0])||!i.REGEXP_COLORSTOP.test(t.args[0]);e?t.args[0].split(/\s+/).reverse().forEach(function(t,e){switch(t){case"left":this.x0=0, this.x1=1;break;case"top":this.y0=0, this.y1=1;break;case"right":this.x0=1, this.x1=0;break;case"bottom":this.y0=1, this.y1=0;break;case"to":var n=this.y0,r=this.x0;this.y0=this.y1, this.x0=this.x1, this.x1=r, this.y1=n;break;case"center":break;default:var i=.01*parseFloat(t,10);if(isNaN(i))break;0===e?(this.y0=i, this.y1=1-this.y0):(this.x0=i, this.x1=1-this.x0);}},this):(this.y0=0, this.y1=1), this.colorStops=t.args.slice(e?1:0).map(function(t){var e=t.match(i.REGEXP_COLORSTOP),n=+e[2],r=0===n?"%":e[3];return{color:new o(e[1]),stop:"%"===r?n/100:null}}), null===this.colorStops[0].stop&&(this.colorStops[0].stop=0), null===this.colorStops[this.colorStops.length-1].stop&&(this.colorStops[this.colorStops.length-1].stop=1), this.colorStops.forEach(function(n,r){null===n.stop&&this.colorStops.slice(r).some(function(t,e){return null!==t.stop&&(n.stop=(t.stop-this.colorStops[r-1].stop)/(e+1)+this.colorStops[r-1].stop, !0)},this);},this);}r.prototype=Object.create(i.prototype), r.REGEXP_DIRECTION=/^\s*(?:to|left|right|top|bottom|center|\d{1,3}(?:\.\d+)?%?)(?:\s|$)/i, e.exports=r;},{"./color":3,"./gradientcontainer":9}],13:[function(t,e,n){var r=function(){r.options.logging&&window.console&&window.console.log&&Function.prototype.bind.call(window.console.log,window.console).apply(window.console,[Date.now()-r.options.start+"ms","html2canvas:"].concat([].slice.call(arguments,0)));};r.options={logging:!1}, e.exports=r;},{}],14:[function(t,e,n){var o=t("./color"),r=t("./utils"),i=r.getBounds,a=r.parseBackgrounds,s=r.offsetBounds;function h(t,e){this.node=t, this.parent=e, this.stack=null, this.bounds=null, this.borders=null, this.clip=[], this.backgroundClip=[], this.offsetBounds=null, this.visible=null, this.computedStyles=null, this.colors={}, this.styles={}, this.backgroundImages=null, this.transformData=null, this.transformMatrix=null, this.isPseudoElement=!1, this.opacity=null;}function c(t){return-1!==t.toString().indexOf("%")}function l(t){return t.replace("px","")}function u(t){return parseFloat(t)}h.prototype.cloneTo=function(t){t.visible=this.visible, t.borders=this.borders, t.bounds=this.bounds, t.clip=this.clip, t.backgroundClip=this.backgroundClip, t.computedStyles=this.computedStyles, t.styles=this.styles, t.backgroundImages=this.backgroundImages, t.opacity=this.opacity;}, h.prototype.getOpacity=function(){return null===this.opacity?this.opacity=this.cssFloat("opacity"):this.opacity}, h.prototype.assignStack=function(t){(this.stack=t).children.push(this);}, h.prototype.isElementVisible=function(){return this.node.nodeType===Node.TEXT_NODE?this.parent.visible:"none"!==this.css("display")&&"hidden"!==this.css("visibility")&&!this.node.hasAttribute("data-html2canvas-ignore")&&("INPUT"!==this.node.nodeName||"hidden"!==this.node.getAttribute("type"))}, h.prototype.css=function(t){return this.computedStyles||(this.computedStyles=this.isPseudoElement?this.parent.computedStyle(this.before?":before":":after"):this.computedStyle(null)), this.styles[t]||(this.styles[t]=this.computedStyles[t])}, h.prototype.prefixedCss=function(e){var n=this.css(e);return void 0===n&&["webkit","moz","ms","o"].some(function(t){return void 0!==(n=this.css(t+e.substr(0,1).toUpperCase()+e.substr(1)))},this), void 0===n?null:n}, h.prototype.computedStyle=function(t){return this.node.ownerDocument.defaultView.getComputedStyle(this.node,t)}, h.prototype.cssInt=function(t){var e=parseInt(this.css(t),10);return isNaN(e)?0:e}, h.prototype.color=function(t){return this.colors[t]||(this.colors[t]=new o(this.css(t)))}, h.prototype.cssFloat=function(t){var e=parseFloat(this.css(t));return isNaN(e)?0:e}, h.prototype.fontWeight=function(){var t=this.css("fontWeight");switch(parseInt(t,10)){case 401:t="bold";break;case 400:t="normal";}return t}, h.prototype.parseClip=function(){var t=this.css("clip").match(this.CLIP);return t?{top:parseInt(t[1],10),right:parseInt(t[2],10),bottom:parseInt(t[3],10),left:parseInt(t[4],10)}:null}, h.prototype.parseBackgroundImages=function(){return this.backgroundImages||(this.backgroundImages=a(this.css("backgroundImage")))}, h.prototype.cssList=function(t,e){var n=(this.css(t)||"").split(",");return 1===(n=(n=n[e||0]||n[0]||"auto").trim().split(" ")).length&&(n=[n[0],c(n[0])?"auto":n[0]]), n}, h.prototype.parseBackgroundSize=function(t,e,n){var r,i,o=this.cssList("backgroundSize",n);if(c(o[0]))r=t.width*parseFloat(o[0])/100;else{if(/contain|cover/.test(o[0])){var a=t.width/t.height,s=e.width/e.height;return a<s^"contain"===o[0]?{width:t.height*s,height:t.height}:{width:t.width,height:t.width/s}}r=parseInt(o[0],10);}return i="auto"===o[0]&&"auto"===o[1]?e.height:"auto"===o[1]?r/e.width*e.height:c(o[1])?t.height*parseFloat(o[1])/100:parseInt(o[1],10), "auto"===o[0]&&(r=i/e.height*e.width), {width:r,height:i}}, h.prototype.parseBackgroundPosition=function(t,e,n,r){var i,o,a=this.cssList("backgroundPosition",n);return i=c(a[0])?(t.width-(r||e).width)*(parseFloat(a[0])/100):parseInt(a[0],10), o="auto"===a[1]?i/e.width*e.height:c(a[1])?(t.height-(r||e).height)*parseFloat(a[1])/100:parseInt(a[1],10), "auto"===a[0]&&(i=o/e.height*e.width), {left:i,top:o}}, h.prototype.parseBackgroundRepeat=function(t){return this.cssList("backgroundRepeat",t)[0]}, h.prototype.parseTextShadows=function(){var t=this.css("textShadow"),e=[];if(t&&"none"!==t)for(var n=t.match(this.TEXT_SHADOW_PROPERTY),r=0;n&&r<n.length;r++){var i=n[r].match(this.TEXT_SHADOW_VALUES);e.push({color:new o(i[0]),offsetX:i[1]?parseFloat(i[1].replace("px","")):0,offsetY:i[2]?parseFloat(i[2].replace("px","")):0,blur:i[3]?i[3].replace("px",""):0});}return e}, h.prototype.parseTransform=function(){if(!this.transformData)if(this.hasTransform()){var t=this.parseBounds(),e=this.prefixedCss("transformOrigin").split(" ").map(l).map(u);e[0]+=t.left, e[1]+=t.top, this.transformData={origin:e,matrix:this.parseTransformMatrix()};}else this.transformData={origin:[0,0],matrix:[1,0,0,1,0,0]};return this.transformData}, h.prototype.parseTransformMatrix=function(){if(!this.transformMatrix){var t=this.prefixedCss("transform"),e=t?function(t){{if(t&&"matrix"===t[1])return t[2].split(",").map(function(t){return parseFloat(t.trim())});if(t&&"matrix3d"===t[1]){var e=t[2].split(",").map(function(t){return parseFloat(t.trim())});return[e[0],e[1],e[4],e[5],e[12],e[13]]}}}(t.match(this.MATRIX_PROPERTY)):null;this.transformMatrix=e||[1,0,0,1,0,0];}return this.transformMatrix}, h.prototype.parseBounds=function(){return this.bounds||(this.bounds=this.hasTransform()?s(this.node):i(this.node))}, h.prototype.hasTransform=function(){return"1,0,0,1,0,0"!==this.parseTransformMatrix().join(",")||this.parent&&this.parent.hasTransform()}, h.prototype.getValue=function(){var t,e,n=this.node.value||"";return"SELECT"===this.node.tagName?(t=this.node, n=(e=t.options[t.selectedIndex||0])&&e.text||""):"password"===this.node.type&&(n=Array(n.length+1).join("•")), 0===n.length?this.node.placeholder||"":n}, h.prototype.MATRIX_PROPERTY=/(matrix|matrix3d)\((.+)\)/, h.prototype.TEXT_SHADOW_PROPERTY=/((rgba|rgb)\([^\)]+\)(\s-?\d+px){0,})/g, h.prototype.TEXT_SHADOW_VALUES=/(-?\d+px)|(#.+)|(rgb\(.+\))|(rgba\(.+\))/g, h.prototype.CLIP=/^rect\((\d+)px,? (\d+)px,? (\d+)px,? (\d+)px\)$/, e.exports=h;},{"./color":3,"./utils":26}],15:[function(t,e,n){var s=t("./log"),h=t("punycode"),c=t("./nodecontainer"),f=t("./textcontainer"),d=t("./pseudoelementcontainer"),l=t("./fontmetrics"),u=t("./color"),p=t("./stackingcontext"),r=t("./utils"),g=r.bind,a=r.getBounds,m=r.parseBackgrounds,w=r.offsetBounds;function i(t,e,n,r,i){s("Starting NodeParser"), this.renderer=e, this.options=i, this.range=null, this.support=n, this.renderQueue=[], this.stack=new p(!0,1,t.ownerDocument,null);var o=new c(t,null);if(i.background&&e.rectangle(0,0,e.width,e.height,new u(i.background)), t===t.ownerDocument.documentElement){var a=new c(o.color("backgroundColor").isTransparent()?t.ownerDocument.body:t.ownerDocument.documentElement,null);e.rectangle(0,0,e.width,e.height,a.color("backgroundColor"));}o.visibile=o.isElementVisible(), this.createPseudoHideStyles(t.ownerDocument), this.disableAnimations(t.ownerDocument), this.nodes=L([o].concat(this.getChildren(o)).filter(function(t){return t.visible=t.isElementVisible()}).map(this.getPseudoElements,this)), this.fontMetrics=new l, s("Fetched nodes, total:",this.nodes.length), s("Calculate overflow clips"), this.calculateOverflowClips(), s("Start fetching images"), this.images=r.fetch(this.nodes.filter(j)), this.ready=this.images.ready.then(g(function(){return s("Images loaded, starting parsing"), s("Creating stacking contexts"), this.createStackingContexts(), s("Sorting stacking contexts"), this.sortStackingContexts(this.stack), this.parse(this.stack), s("Render queue created with "+this.renderQueue.length+" items"), new Promise(g(function(t){i.async?"function"==typeof i.async?i.async.call(this,this.renderQueue,t):0<this.renderQueue.length?(this.renderIndex=0, this.asyncRenderer(this.renderQueue,t)):t():(this.renderQueue.forEach(this.paint,this), t());},this))},this));}function o(t){return t.parent&&t.parent.clip.length}function y(){}i.prototype.calculateOverflowClips=function(){this.nodes.forEach(function(t){if(j(t)){D(t)&&t.appendToDOM(), t.borders=this.parseBorders(t);var e="hidden"===t.css("overflow")?[t.borders.clip]:[],n=t.parseClip();n&&-1!==["absolute","fixed"].indexOf(t.css("position"))&&e.push([["rect",t.bounds.left+n.left,t.bounds.top+n.top,n.right-n.left,n.bottom-n.top]]), t.clip=o(t)?t.parent.clip.concat(e):e, t.backgroundClip="hidden"!==t.css("overflow")?t.clip.concat([t.borders.clip]):t.clip, D(t)&&t.cleanDOM();}else M(t)&&(t.clip=o(t)?t.parent.clip:[]);D(t)||(t.bounds=null);},this);}, i.prototype.asyncRenderer=function(t,e,n){n=n||Date.now(), this.paint(t[this.renderIndex++]), t.length===this.renderIndex?e():n+20>Date.now()?this.asyncRenderer(t,e,n):setTimeout(g(function(){this.asyncRenderer(t,e);},this),0);}, i.prototype.createPseudoHideStyles=function(t){this.createStyles(t,"."+d.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE+':before { content: "" !important; display: none !important; }.'+d.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER+':after { content: "" !important; display: none !important; }');}, i.prototype.disableAnimations=function(t){this.createStyles(t,"* { -webkit-animation: none !important; -moz-animation: none !important; -o-animation: none !important; animation: none !important; -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; transition: none !important;}");}, i.prototype.createStyles=function(t,e){var n=t.createElement("style");n.innerHTML=e, t.body.appendChild(n);}, i.prototype.getPseudoElements=function(t){var e=[[t]];if(t.node.nodeType===Node.ELEMENT_NODE){var n=this.getPseudoElement(t,":before"),r=this.getPseudoElement(t,":after");n&&e.push(n), r&&e.push(r);}return L(e)}, i.prototype.getPseudoElement=function(t,e){var n=t.computedStyle(e);if(!n||!n.content||"none"===n.content||"-moz-alt-content"===n.content||"none"===n.display)return null;for(var r,i,o=(r=n.content, (i=r.substr(0,1))===r.substr(r.length-1)&&i.match(/'|"/)?r.substr(1,r.length-2):r),a="url"===o.substr(0,3),s=document.createElement(a?"img":"html2canvaspseudoelement"),h=new d(s,t,e),c=n.length-1;0<=c;c--){var l=n.item(c).replace(/(\-[a-z])/g,function(t){return t.toUpperCase().replace("-","")});s.style[l]=n[l];}if(s.className=d.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE+" "+d.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER, a)return s.src=m(o)[0].args[0], [h];var u=document.createTextNode(o);return s.appendChild(u), [h,new f(u,h)]}, i.prototype.getChildren=function(n){return L([].filter.call(n.node.childNodes,q).map(function(t){var e=[t.nodeType===Node.TEXT_NODE?new f(t,n):new c(t,n)].filter(z);return t.nodeType===Node.ELEMENT_NODE&&e.length&&"TEXTAREA"!==t.tagName?e[0].isElementVisible()?e.concat(this.getChildren(e[0])):[]:e},this))}, i.prototype.newStackingContext=function(t,e){var n=new p(e,t.getOpacity(),t.node,t.parent);t.cloneTo(n), (e?n.getParentStack(this):n.parent.stack).contexts.push(n), t.stack=n;}, i.prototype.createStackingContexts=function(){this.nodes.forEach(function(t){var e,n;j(t)&&(this.isRootElement(t)||t.getOpacity()<1||(n=(e=t).css("position"), "auto"!==(-1!==["absolute","relative","fixed"].indexOf(n)?e.css("zIndex"):"auto"))||this.isBodyWithTransparentRoot(t)||t.hasTransform())?this.newStackingContext(t,!0):j(t)&&(O(t)&&T(t)||-1!==["inline-block","inline-table"].indexOf(t.css("display"))||B(t))?this.newStackingContext(t,!1):t.assignStack(t.parent.stack);},this);}, i.prototype.isBodyWithTransparentRoot=function(t){return"BODY"===t.node.nodeName&&t.parent.color("backgroundColor").isTransparent()}, i.prototype.isRootElement=function(t){return null===t.parent}, i.prototype.sortStackingContexts=function(t){var n;t.contexts.sort((n=t.contexts.slice(0), function(t,e){return t.cssInt("zIndex")+n.indexOf(t)/n.length-(e.cssInt("zIndex")+n.indexOf(e)/n.length)})), t.contexts.forEach(this.sortStackingContexts,this);}, i.prototype.parseTextBounds=function(a){return function(t,e,n){if("none"!==a.parent.css("textDecoration").substr(0,4)||0!==t.trim().length){if(this.support.rangeBounds&&!a.parent.hasTransform()){var r=n.slice(0,e).join("").length;return this.getRangeBounds(a.node,r,t.length)}if(a.node&&"string"==typeof a.node.data){var i=a.node.splitText(t.length),o=this.getWrapperBounds(a.node,a.parent.hasTransform());return a.node=i, o}}else this.support.rangeBounds&&!a.parent.hasTransform()||(a.node=a.node.splitText(t.length));return{}}}, i.prototype.getWrapperBounds=function(t,e){var n=t.ownerDocument.createElement("html2canvaswrapper"),r=t.parentNode,i=t.cloneNode(!0);n.appendChild(t.cloneNode(!0)), r.replaceChild(n,t);var o=e?w(n):a(n);return r.replaceChild(i,n), o}, i.prototype.getRangeBounds=function(t,e,n){var r=this.range||(this.range=t.ownerDocument.createRange());return r.setStart(t,e), r.setEnd(t,e+n), r.getBoundingClientRect()}, i.prototype.parse=function(t){var e=t.contexts.filter(I),n=t.children.filter(j),r=n.filter(R(B)),i=r.filter(R(O)).filter(R(F)),o=n.filter(R(O)).filter(B),a=r.filter(R(O)).filter(F),s=t.contexts.concat(r.filter(O)).filter(T),h=t.children.filter(M).filter(E),c=t.contexts.filter(C);e.concat(i).concat(o).concat(a).concat(s).concat(h).concat(c).forEach(function(t){this.renderQueue.push(t), P(t)&&(this.parse(t), this.renderQueue.push(new y));},this);}, i.prototype.paint=function(t){try{t instanceof y?this.renderer.ctx.restore():M(t)?(D(t.parent)&&t.parent.appendToDOM(), this.paintText(t), D(t.parent)&&t.parent.cleanDOM()):this.paintNode(t);}catch(t){if(s(t), this.options.strict)throw t}}, i.prototype.paintNode=function(t){P(t)&&(this.renderer.setOpacity(t.opacity), this.renderer.ctx.save(), t.hasTransform()&&this.renderer.setTransform(t.parseTransform())), "INPUT"===t.node.nodeName&&"checkbox"===t.node.type?this.paintCheckbox(t):"INPUT"===t.node.nodeName&&"radio"===t.node.type?this.paintRadio(t):this.paintElement(t);}, i.prototype.paintElement=function(n){var r=n.parseBounds();this.renderer.clip(n.backgroundClip,function(){this.renderer.renderBackground(n,r,n.borders.borders.map(N));},this), this.renderer.clip(n.clip,function(){this.renderer.renderBorders(n.borders.borders);},this), this.renderer.clip(n.backgroundClip,function(){switch(n.node.nodeName){case"svg":case"IFRAME":var t=this.images.get(n.node);t?this.renderer.renderImage(n,r,n.borders,t):s("Error loading <"+n.node.nodeName+">",n.node);break;case"IMG":var e=this.images.get(n.node.src);e?this.renderer.renderImage(n,r,n.borders,e):s("Error loading <img>",n.node.src);break;case"CANVAS":this.renderer.renderImage(n,r,n.borders,{image:n.node});break;case"SELECT":case"INPUT":case"TEXTAREA":this.paintFormValue(n);}},this);}, i.prototype.paintCheckbox=function(t){var e=t.parseBounds(),n=Math.min(e.width,e.height),r={width:n-1,height:n-1,top:e.top,left:e.left},i=[3,3],o=[i,i,i,i],a=[1,1,1,1].map(function(t){return{color:new u("#A5A5A5"),width:t}}),s=S(r,o,a);this.renderer.clip(t.backgroundClip,function(){this.renderer.rectangle(r.left+1,r.top+1,r.width-2,r.height-2,new u("#DEDEDE")), this.renderer.renderBorders(b(a,r,s,o)), t.node.checked&&(this.renderer.font(new u("#424242"),"normal","normal","bold",n-3+"px","arial"), this.renderer.text("✔",r.left+n/6,r.top+n-1));},this);}, i.prototype.paintRadio=function(t){var e=t.parseBounds(),n=Math.min(e.width,e.height)-2;this.renderer.clip(t.backgroundClip,function(){this.renderer.circleStroke(e.left+1,e.top+1,n,new u("#DEDEDE"),1,new u("#A5A5A5")), t.node.checked&&this.renderer.circle(Math.ceil(e.left+n/4)+1,Math.ceil(e.top+n/4)+1,Math.floor(n/2),new u("#424242"));},this);}, i.prototype.paintFormValue=function(e){var t=e.getValue();if(0<t.length){var n=e.node.ownerDocument,r=n.createElement("html2canvaswrapper");["lineHeight","textAlign","fontFamily","fontWeight","fontSize","color","paddingLeft","paddingTop","paddingRight","paddingBottom","width","height","borderLeftStyle","borderTopStyle","borderLeftWidth","borderTopWidth","boxSizing","whiteSpace","wordWrap"].forEach(function(t){try{r.style[t]=e.css(t);}catch(t){s("html2canvas: Parse: Exception caught in renderFormValue: "+t.message);}});var i=e.parseBounds();r.style.position="fixed", r.style.left=i.left+"px", r.style.top=i.top+"px", r.textContent=t, n.body.appendChild(r), this.paintText(new f(r.firstChild,e)), n.body.removeChild(r);}}, i.prototype.paintText=function(n){n.applyTextTransform();var t,e=h.ucs2.decode(n.node.data),r=this.options.letterRendering&&!/^(normal|none|0px)$/.test(n.parent.css("letterSpacing"))||(t=n.node.data, /[^\u0000-\u00ff]/.test(t))?e.map(function(t){return h.ucs2.encode([t])}):function(t){var e,n=[],r=0,i=!1;for(;t.length;)o=t[r], -1!==[32,13,10,9,45].indexOf(o)===i?((e=t.splice(0,r)).length&&n.push(h.ucs2.encode(e)), i=!i, r=0):r++, r>=t.length&&(e=t.splice(0,r)).length&&n.push(h.ucs2.encode(e));var o;return n}(e),i=n.parent.fontWeight(),o=n.parent.css("fontSize"),a=n.parent.css("fontFamily"),s=n.parent.parseTextShadows();this.renderer.font(n.parent.color("color"),n.parent.css("fontStyle"),n.parent.css("fontVariant"),i,o,a), s.length?this.renderer.fontShadow(s[0].color,s[0].offsetX,s[0].offsetY,s[0].blur):this.renderer.clearShadow(), this.renderer.clip(n.parent.clip,function(){r.map(this.parseTextBounds(n),this).forEach(function(t,e){t&&!1===/^\s*$/.test(r[e])&&(this.renderer.text(r[e],t.left,t.bottom), this.renderTextDecoration(n.parent,t,this.fontMetrics.getMetrics(a,o)));},this);},this);}, i.prototype.renderTextDecoration=function(t,e,n){switch(t.css("textDecoration").split(" ")[0]){case"underline":this.renderer.rectangle(e.left,Math.round(e.top+n.baseline+n.lineWidth),e.width,1,t.color("color"));break;case"overline":this.renderer.rectangle(e.left,Math.round(e.top),e.width,1,t.color("color"));break;case"line-through":this.renderer.rectangle(e.left,Math.ceil(e.top+n.middle+n.lineWidth),e.width,1,t.color("color"));}};var v={inset:[["darken",.6],["darken",.1],["darken",.1],["darken",.6]]};function b(a,s,h,c){return a.map(function(t,e){if(0<t.width){var n=s.left,r=s.top,i=s.width,o=s.height-a[2].width;switch(e){case 0:o=a[0].width, t.args=_({c1:[n,r],c2:[n+i,r],c3:[n+i-a[1].width,r+o],c4:[n+a[3].width,r+o]},c[0],c[1],h.topLeftOuter,h.topLeftInner,h.topRightOuter,h.topRightInner);break;case 1:n=s.left+s.width-a[1].width, i=a[1].width, t.args=_({c1:[n+i,r],c2:[n+i,r+o+a[2].width],c3:[n,r+o],c4:[n,r+a[0].width]},c[1],c[2],h.topRightOuter,h.topRightInner,h.bottomRightOuter,h.bottomRightInner);break;case 2:r=r+s.height-a[2].width, o=a[2].width, t.args=_({c1:[n+i,r+o],c2:[n,r+o],c3:[n+a[3].width,r],c4:[n+i-a[3].width,r]},c[2],c[3],h.bottomRightOuter,h.bottomRightInner,h.bottomLeftOuter,h.bottomLeftInner);break;case 3:i=a[3].width, t.args=_({c1:[n,r+o+a[2].width],c2:[n,r],c3:[n+i,r+a[0].width],c4:[n+i,r+o]},c[3],c[0],h.bottomLeftOuter,h.bottomLeftInner,h.topLeftOuter,h.topLeftInner);}}return t})}function x(t,e,n,r){var i=(Math.sqrt(2)-1)/3*4,o=n*i,a=r*i,s=t+n,h=e+r;return{topLeft:k({x:t,y:h},{x:t,y:h-a},{x:s-o,y:e},{x:s,y:e}),topRight:k({x:t,y:e},{x:t+o,y:e},{x:s,y:h-a},{x:s,y:h}),bottomRight:k({x:s,y:e},{x:s,y:e+a},{x:t+o,y:h},{x:t,y:h}),bottomLeft:k({x:s,y:h},{x:s-o,y:h},{x:t,y:e+a},{x:t,y:e})}}function S(t,e,n){var r=t.left,i=t.top,o=t.width,a=t.height,s=e[0][0]<o/2?e[0][0]:o/2,h=e[0][1]<a/2?e[0][1]:a/2,c=e[1][0]<o/2?e[1][0]:o/2,l=e[1][1]<a/2?e[1][1]:a/2,u=e[2][0]<o/2?e[2][0]:o/2,f=e[2][1]<a/2?e[2][1]:a/2,d=e[3][0]<o/2?e[3][0]:o/2,p=e[3][1]<a/2?e[3][1]:a/2,g=o-c,m=a-f,w=o-u,y=a-p;return{topLeftOuter:x(r,i,s,h).topLeft.subdivide(.5),topLeftInner:x(r+n[3].width,i+n[0].width,Math.max(0,s-n[3].width),Math.max(0,h-n[0].width)).topLeft.subdivide(.5),topRightOuter:x(r+g,i,c,l).topRight.subdivide(.5),topRightInner:x(r+Math.min(g,o+n[3].width),i+n[0].width,g>o+n[3].width?0:c-n[3].width,l-n[0].width).topRight.subdivide(.5),bottomRightOuter:x(r+w,i+m,u,f).bottomRight.subdivide(.5),bottomRightInner:x(r+Math.min(w,o-n[3].width),i+Math.min(m,a+n[0].width),Math.max(0,u-n[1].width),f-n[2].width).bottomRight.subdivide(.5),bottomLeftOuter:x(r,i+y,d,p).bottomLeft.subdivide(.5),bottomLeftInner:x(r+n[3].width,i+y,Math.max(0,d-n[3].width),p-n[2].width).bottomLeft.subdivide(.5)}}function k(s,h,c,l){var u=function(t,e,n){return{x:t.x+(e.x-t.x)*n,y:t.y+(e.y-t.y)*n}};return{start:s,startControl:h,endControl:c,end:l,subdivide:function(t){var e=u(s,h,t),n=u(h,c,t),r=u(c,l,t),i=u(e,n,t),o=u(n,r,t),a=u(i,o,t);return[k(s,e,i,a),k(a,o,r,l)]},curveTo:function(t){t.push(["bezierCurve",h.x,h.y,c.x,c.y,l.x,l.y]);},curveToReversed:function(t){t.push(["bezierCurve",c.x,c.y,h.x,h.y,s.x,s.y]);}}}function _(t,e,n,r,i,o,a){var s=[];return 0<e[0]||0<e[1]?(s.push(["line",r[1].start.x,r[1].start.y]), r[1].curveTo(s)):s.push(["line",t.c1[0],t.c1[1]]), 0<n[0]||0<n[1]?(s.push(["line",o[0].start.x,o[0].start.y]), o[0].curveTo(s), s.push(["line",a[0].end.x,a[0].end.y]), a[0].curveToReversed(s)):(s.push(["line",t.c2[0],t.c2[1]]), s.push(["line",t.c3[0],t.c3[1]])), 0<e[0]||0<e[1]?(s.push(["line",i[1].end.x,i[1].end.y]), i[1].curveToReversed(s)):s.push(["line",t.c4[0],t.c4[1]]), s}function A(t,e,n,r,i,o,a){0<e[0]||0<e[1]?(t.push(["line",r[0].start.x,r[0].start.y]), r[0].curveTo(t), r[1].curveTo(t)):t.push(["line",o,a]), (0<n[0]||0<n[1])&&t.push(["line",i[0].start.x,i[0].start.y]);}function I(t){return t.cssInt("zIndex")<0}function C(t){return 0<t.cssInt("zIndex")}function T(t){return 0===t.cssInt("zIndex")}function F(t){return-1!==["inline","inline-block","inline-table"].indexOf(t.css("display"))}function P(t){return t instanceof p}function E(t){return 0<t.node.data.trim().length}function q(t){return t.nodeType===Node.TEXT_NODE||t.nodeType===Node.ELEMENT_NODE}function O(t){return"static"!==t.css("position")}function B(t){return"none"!==t.css("float")}function R(t){var e=this;return function(){return!t.apply(e,arguments)}}function j(t){return t.node.nodeType===Node.ELEMENT_NODE}function D(t){return!0===t.isPseudoElement}function M(t){return t.node.nodeType===Node.TEXT_NODE}function U(t){return parseInt(t,10)}function N(t){return t.width}function z(t){return t.node.nodeType!==Node.ELEMENT_NODE||-1===["SCRIPT","HEAD","TITLE","OBJECT","BR","OPTION"].indexOf(t.node.nodeName)}function L(t){return[].concat.apply([],t)}i.prototype.parseBorders=function(o){var r,t=o.parseBounds(),e=(r=o, ["TopLeft","TopRight","BottomRight","BottomLeft"].map(function(t){var e=r.css("border"+t+"Radius"),n=e.split(" ");return n.length<=1&&(n[1]=n[0]), n.map(U)})),n=["Top","Right","Bottom","Left"].map(function(t,e){var n=o.css("border"+t+"Style"),r=o.color("border"+t+"Color");"inset"===n&&r.isBlack()&&(r=new u([255,255,255,r.a]));var i=v[n]?v[n][e]:null;return{width:o.cssInt("border"+t+"Width"),color:i?r[i[0]](i[1]):r,args:null}}),i=S(t,e,n);return{clip:this.parseBackgroundClip(o,i,n,e,t),borders:b(n,t,i,e)}}, i.prototype.parseBackgroundClip=function(t,e,n,r,i){var o=[];switch(t.css("backgroundClip")){case"content-box":case"padding-box":A(o,r[0],r[1],e.topLeftInner,e.topRightInner,i.left+n[3].width,i.top+n[0].width), A(o,r[1],r[2],e.topRightInner,e.bottomRightInner,i.left+i.width-n[1].width,i.top+n[0].width), A(o,r[2],r[3],e.bottomRightInner,e.bottomLeftInner,i.left+i.width-n[1].width,i.top+i.height-n[2].width), A(o,r[3],r[0],e.bottomLeftInner,e.topLeftInner,i.left+n[3].width,i.top+i.height-n[2].width);break;default:A(o,r[0],r[1],e.topLeftOuter,e.topRightOuter,i.left,i.top), A(o,r[1],r[2],e.topRightOuter,e.bottomRightOuter,i.left+i.width,i.top), A(o,r[2],r[3],e.bottomRightOuter,e.bottomLeftOuter,i.left+i.width,i.top+i.height), A(o,r[3],r[0],e.bottomLeftOuter,e.topLeftOuter,i.left,i.top+i.height);}return o}, e.exports=i;},{"./color":3,"./fontmetrics":7,"./log":13,"./nodecontainer":14,"./pseudoelementcontainer":18,"./stackingcontext":21,"./textcontainer":25,"./utils":26,punycode:1}],16:[function(t,e,n){var a=t("./xhr"),r=t("./utils"),s=t("./log"),h=t("./clone"),c=r.decode64;function l(t,e,n){var r="withCredentials"in new XMLHttpRequest;if(!e)return Promise.reject("No proxy configured");var i=f(r),o=d(e,t,i);return r?a(o):u(n,o,i).then(function(t){return c(t.content)})}var i=0;function u(i,o,a){return new Promise(function(e,n){var t=i.createElement("script"),r=function(){delete window.html2canvas.proxy[a], i.body.removeChild(t);};window.html2canvas.proxy[a]=function(t){r(), e(t);}, t.src=o, t.onerror=function(t){r(), n(t);}, i.body.appendChild(t);})}function f(t){return t?"":"html2canvas_"+Date.now()+"_"+ ++i+"_"+Math.round(1e5*Math.random())}function d(t,e,n){return t+"?url="+encodeURIComponent(e)+(n.length?"&callback=html2canvas.proxy."+n:"")}n.Proxy=l, n.ProxyURL=function(t,e,n){var r="crossOrigin"in new Image,i=f(r),o=d(e,t,i);return r?Promise.resolve(o):u(n,o,i).then(function(t){return"data:"+t.type+";base64,"+t.content})}, n.loadUrlDocument=function(t,e,n,r,i,o){return new l(t,e,window.document).then((a=t, function(e){var n,t=new DOMParser;try{n=t.parseFromString(e,"text/html");}catch(t){s("DOMParser not supported, falling back to createHTMLDocument"), n=document.implementation.createHTMLDocument("");try{n.open(), n.write(e), n.close();}catch(t){s("createHTMLDocument write not supported, falling back to document.body.innerHTML"), n.body.innerHTML=e;}}var r=n.querySelector("base");if(!r||!r.href.host){var i=n.createElement("base");i.href=a, n.head.insertBefore(i,n.head.firstChild);}return n})).then(function(t){return h(t,n,r,i,o,0,0)});var a;};},{"./clone":2,"./log":13,"./utils":26,"./xhr":28}],17:[function(t,e,n){var o=t("./proxy").ProxyURL;e.exports=function(n,r){var t=document.createElement("a");t.href=n, n=t.href, this.src=n, this.image=new Image;var i=this;this.promise=new Promise(function(t,e){i.image.crossOrigin="Anonymous", i.image.onload=t, i.image.onerror=e, new o(n,r,document).then(function(t){i.image.src=t;}).catch(e);});};},{"./proxy":16}],18:[function(t,e,n){var r=t("./nodecontainer");function i(t,e,n){r.call(this,t,e), this.isPseudoElement=!0, this.before=":before"===n;}i.prototype.cloneTo=function(t){i.prototype.cloneTo.call(this,t), t.isPseudoElement=!0, t.before=this.before;}, (i.prototype=Object.create(r.prototype)).appendToDOM=function(){this.before?this.parent.node.insertBefore(this.node,this.parent.node.firstChild):this.parent.node.appendChild(this.node), this.parent.node.className+=" "+this.getHideClass();}, i.prototype.cleanDOM=function(){this.node.parentNode.removeChild(this.node), this.parent.node.className=this.parent.node.className.replace(this.getHideClass(),"");}, i.prototype.getHideClass=function(){return this["PSEUDO_HIDE_ELEMENT_CLASS_"+(this.before?"BEFORE":"AFTER")]}, i.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE="___html2canvas___pseudoelement_before", i.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER="___html2canvas___pseudoelement_after", e.exports=i;},{"./nodecontainer":14}],19:[function(t,e,n){var h=t("./log");function r(t,e,n,r,i){this.width=t, this.height=e, this.images=n, this.options=r, this.document=i;}r.prototype.renderImage=function(t,e,n,r){var i=t.cssInt("paddingLeft"),o=t.cssInt("paddingTop"),a=t.cssInt("paddingRight"),s=t.cssInt("paddingBottom"),h=n.borders,c=e.width-(h[1].width+h[3].width+i+a),l=e.height-(h[0].width+h[2].width+o+s);this.drawImage(r,0,0,r.image.width||c,r.image.height||l,e.left+i+h[3].width,e.top+o+h[0].width,c,l);}, r.prototype.renderBackground=function(t,e,n){0<e.height&&0<e.width&&(this.renderBackgroundColor(t,e), this.renderBackgroundImage(t,e,n));}, r.prototype.renderBackgroundColor=function(t,e){var n=t.color("backgroundColor");n.isTransparent()||this.rectangle(e.left,e.top,e.width,e.height,n);}, r.prototype.renderBorders=function(t){t.forEach(this.renderBorder,this);}, r.prototype.renderBorder=function(t){t.color.isTransparent()||null===t.args||this.drawShape(t.args,t.color);}, r.prototype.renderBackgroundImage=function(o,a,s){o.parseBackgroundImages().reverse().forEach(function(t,e,n){switch(t.method){case"url":var r=this.images.get(t.args[0]);r?this.renderBackgroundRepeating(o,a,r,n.length-(e+1),s):h("Error loading background-image",t.args[0]);break;case"linear-gradient":case"gradient":var i=this.images.get(t.value);i?this.renderBackgroundGradient(i,a,s):h("Error loading background-image",t.args[0]);break;case"none":break;default:h("Unknown background-image type",t.args[0]);}},this);}, r.prototype.renderBackgroundRepeating=function(t,e,n,r,i){var o=t.parseBackgroundSize(e,n.image,r),a=t.parseBackgroundPosition(e,n.image,r,o);switch(t.parseBackgroundRepeat(r)){case"repeat-x":case"repeat no-repeat":this.backgroundRepeatShape(n,a,o,e,e.left+i[3],e.top+a.top+i[0],99999,o.height,i);break;case"repeat-y":case"no-repeat repeat":this.backgroundRepeatShape(n,a,o,e,e.left+a.left+i[3],e.top+i[0],o.width,99999,i);break;case"no-repeat":this.backgroundRepeatShape(n,a,o,e,e.left+a.left+i[3],e.top+a.top+i[0],o.width,o.height,i);break;default:this.renderBackgroundRepeat(n,a,o,{top:e.top,left:e.left},i[3],i[0]);}}, e.exports=r;},{"./log":13}],20:[function(t,e,n){var r=t("../renderer"),i=t("../lineargradientcontainer"),o=t("../log");function a(t,e){r.apply(this,arguments), this.canvas=this.options.canvas||this.document.createElement("canvas"), this.options.canvas||(this.canvas.width=t, this.canvas.height=e), this.ctx=this.canvas.getContext("2d"), this.taintCtx=this.document.createElement("canvas").getContext("2d"), this.ctx.textBaseline="bottom", this.variables={}, o("Initialized CanvasRenderer with size",t,"x",e);}function s(t){return 0<t.length}(a.prototype=Object.create(r.prototype)).setFillStyle=function(t){return this.ctx.fillStyle="object"==typeof t&&t.isColor?t.toString():t, this.ctx}, a.prototype.rectangle=function(t,e,n,r,i){this.setFillStyle(i).fillRect(t,e,n,r);}, a.prototype.circle=function(t,e,n,r){this.setFillStyle(r), this.ctx.beginPath(), this.ctx.arc(t+n/2,e+n/2,n/2,0,2*Math.PI,!0), this.ctx.closePath(), this.ctx.fill();}, a.prototype.circleStroke=function(t,e,n,r,i,o){this.circle(t,e,n,r), this.ctx.strokeStyle=o.toString(), this.ctx.stroke();}, a.prototype.drawShape=function(t,e){this.shape(t), this.setFillStyle(e).fill();}, a.prototype.taints=function(e){if(null===e.tainted){this.taintCtx.drawImage(e.image,0,0);try{this.taintCtx.getImageData(0,0,1,1), e.tainted=!1;}catch(t){this.taintCtx=document.createElement("canvas").getContext("2d"), e.tainted=!0;}}return e.tainted}, a.prototype.drawImage=function(t,e,n,r,i,o,a,s,h){this.taints(t)&&!this.options.allowTaint||this.ctx.drawImage(t.image,e,n,r,i,o,a,s,h);}, a.prototype.clip=function(t,e,n){this.ctx.save(), t.filter(s).forEach(function(t){this.shape(t).clip();},this), e.call(n), this.ctx.restore();}, a.prototype.shape=function(t){return this.ctx.beginPath(), t.forEach(function(t,e){"rect"===t[0]?this.ctx.rect.apply(this.ctx,t.slice(1)):this.ctx[0===e?"moveTo":t[0]+"To"].apply(this.ctx,t.slice(1));},this), this.ctx.closePath(), this.ctx}, a.prototype.font=function(t,e,n,r,i,o){this.setFillStyle(t).font=[e,n,r,i,o].join(" ").split(",")[0];}, a.prototype.fontShadow=function(t,e,n,r){this.setVariable("shadowColor",t.toString()).setVariable("shadowOffsetY",e).setVariable("shadowOffsetX",n).setVariable("shadowBlur",r);}, a.prototype.clearShadow=function(){this.setVariable("shadowColor","rgba(0,0,0,0)");}, a.prototype.setOpacity=function(t){this.ctx.globalAlpha=t;}, a.prototype.setTransform=function(t){this.ctx.translate(t.origin[0],t.origin[1]), this.ctx.transform.apply(this.ctx,t.matrix), this.ctx.translate(-t.origin[0],-t.origin[1]);}, a.prototype.setVariable=function(t,e){return this.variables[t]!==e&&(this.variables[t]=this.ctx[t]=e), this}, a.prototype.text=function(t,e,n){this.ctx.fillText(t,e,n);}, a.prototype.backgroundRepeatShape=function(t,e,n,r,i,o,a,s,h){var c=[["line",Math.round(i),Math.round(o)],["line",Math.round(i+a),Math.round(o)],["line",Math.round(i+a),Math.round(s+o)],["line",Math.round(i),Math.round(s+o)]];this.clip([c],function(){this.renderBackgroundRepeat(t,e,n,r,h[3],h[0]);},this);}, a.prototype.renderBackgroundRepeat=function(t,e,n,r,i,o){var a=Math.round(r.left+e.left+i),s=Math.round(r.top+e.top+o);this.setFillStyle(this.ctx.createPattern(this.resizeImage(t,n),"repeat")), this.ctx.translate(a,s), this.ctx.fill(), this.ctx.translate(-a,-s);}, a.prototype.renderBackgroundGradient=function(t,e){if(t instanceof i){var n=this.ctx.createLinearGradient(e.left+e.width*t.x0,e.top+e.height*t.y0,e.left+e.width*t.x1,e.top+e.height*t.y1);t.colorStops.forEach(function(t){n.addColorStop(t.stop,t.color.toString());}), this.rectangle(e.left,e.top,e.width,e.height,n);}}, a.prototype.resizeImage=function(t,e){var n=t.image;if(n.width===e.width&&n.height===e.height)return n;var r=document.createElement("canvas");return r.width=e.width, r.height=e.height, r.getContext("2d").drawImage(n,0,0,n.width,n.height,0,0,e.width,e.height), r}, e.exports=a;},{"../lineargradientcontainer":12,"../log":13,"../renderer":19}],21:[function(t,e,n){var i=t("./nodecontainer");function r(t,e,n,r){i.call(this,n,r), this.ownStacking=t, this.contexts=[], this.children=[], this.opacity=(this.parent?this.parent.stack.opacity:1)*e;}(r.prototype=Object.create(i.prototype)).getParentStack=function(t){var e=this.parent?this.parent.stack:null;return e?e.ownStacking?e:e.getParentStack(t):t.stack}, e.exports=r;},{"./nodecontainer":14}],22:[function(t,e,n){function r(t){this.rangeBounds=this.testRangeBounds(t), this.cors=this.testCORS(), this.svg=this.testSVG();}r.prototype.testRangeBounds=function(t){var e,n,r=!1;return t.createRange&&(e=t.createRange()).getBoundingClientRect&&((n=t.createElement("boundtest")).style.height="123px", n.style.display="block", t.body.appendChild(n), e.selectNode(n), 123===e.getBoundingClientRect().height&&(r=!0), t.body.removeChild(n)), r}, r.prototype.testCORS=function(){return void 0!==(new Image).crossOrigin}, r.prototype.testSVG=function(){var t=new Image,e=document.createElement("canvas"),n=e.getContext("2d");t.src="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>";try{n.drawImage(t,0,0), e.toDataURL();}catch(t){return!1}return!0}, e.exports=r;},{}],23:[function(t,e,n){var r=t("./xhr"),i=t("./utils").decode64;function o(t){this.src=t, this.image=null;var n=this;this.promise=this.hasFabric().then(function(){return n.isInline(t)?Promise.resolve(n.inlineFormatting(t)):r(t)}).then(function(e){return new Promise(function(t){window.html2canvas.svg.fabric.loadSVGFromString(e,n.createCanvas.call(n,t));})});}o.prototype.hasFabric=function(){return window.html2canvas.svg&&window.html2canvas.svg.fabric?Promise.resolve():Promise.reject(new Error("html2canvas.svg.js is not loaded, cannot render svg"))}, o.prototype.inlineFormatting=function(t){return/^data:image\/svg\+xml;base64,/.test(t)?this.decode64(this.removeContentType(t)):this.removeContentType(t)}, o.prototype.removeContentType=function(t){return t.replace(/^data:image\/svg\+xml(;base64)?,/,"")}, o.prototype.isInline=function(t){return/^data:image\/svg\+xml/i.test(t)}, o.prototype.createCanvas=function(r){var i=this;return function(t,e){var n=new window.html2canvas.svg.fabric.StaticCanvas("c");i.image=n.lowerCanvasEl, n.setWidth(e.width).setHeight(e.height).add(window.html2canvas.svg.fabric.util.groupSVGElements(t,e)).renderAll(), r(n.lowerCanvasEl);}}, o.prototype.decode64=function(t){return"function"==typeof window.atob?window.atob(t):i(t)}, e.exports=o;},{"./utils":26,"./xhr":28}],24:[function(t,e,n){var r=t("./svgcontainer");function i(n,t){this.src=n, this.image=null;var r=this;this.promise=t?new Promise(function(t,e){r.image=new Image, r.image.onload=t, r.image.onerror=e, r.image.src="data:image/svg+xml,"+(new XMLSerializer).serializeToString(n), !0===r.image.complete&&t(r.image);}):this.hasFabric().then(function(){return new Promise(function(t){window.html2canvas.svg.fabric.parseSVGDocument(n,r.createCanvas.call(r,t));})});}i.prototype=Object.create(r.prototype), e.exports=i;},{"./svgcontainer":23}],25:[function(t,e,n){var r=t("./nodecontainer");function i(t,e){r.call(this,t,e);}function o(t,e,n){if(0<t.length)return e+n.toUpperCase()}(i.prototype=Object.create(r.prototype)).applyTextTransform=function(){this.node.data=this.transform(this.parent.css("textTransform"));}, i.prototype.transform=function(t){var e=this.node.data;switch(t){case"lowercase":return e.toLowerCase();case"capitalize":return e.replace(/(^|\s|:|-|\(|\))([a-z])/g,o);case"uppercase":return e.toUpperCase();default:return e}}, e.exports=i;},{"./nodecontainer":14}],26:[function(t,e,n){n.smallImage=function(){return"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"}, n.bind=function(t,e){return function(){return t.apply(e,arguments)}}, n.decode64=function(t){var e,n,r,i,o,a,s,h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",c=t.length,l="";for(e=0;e<c;e+=4)o=h.indexOf(t[e])<<2|(n=h.indexOf(t[e+1]))>>4, a=(15&n)<<4|(r=h.indexOf(t[e+2]))>>2, s=(3&r)<<6|(i=h.indexOf(t[e+3])), l+=64===r?String.fromCharCode(o):64===i||-1===i?String.fromCharCode(o,a):String.fromCharCode(o,a,s);return l}, n.getBounds=function(t){if(t.getBoundingClientRect){var e=t.getBoundingClientRect(),n=null==t.offsetWidth?e.width:t.offsetWidth;return{top:e.top,bottom:e.bottom||e.top+e.height,right:e.left+n,left:e.left,width:n,height:null==t.offsetHeight?e.height:t.offsetHeight}}return{}}, n.offsetBounds=function(t){var e=t.offsetParent?n.offsetBounds(t.offsetParent):{top:0,left:0};return{top:t.offsetTop+e.top,bottom:t.offsetTop+t.offsetHeight+e.top,right:t.offsetLeft+e.left+t.offsetWidth,left:t.offsetLeft+e.left,width:t.offsetWidth,height:t.offsetHeight}}, n.parseBackgrounds=function(t){var e,n,r,i,o,a,s,h=[],c=0,l=0,u=function(){e&&('"'===n.substr(0,1)&&(n=n.substr(1,n.length-2)), n&&s.push(n), "-"===e.substr(0,1)&&0<(i=e.indexOf("-",1)+1)&&(r=e.substr(0,i), e=e.substr(i)), h.push({prefix:r,method:e.toLowerCase(),value:o,args:s,image:null})), s=[], e=r=n=o="";};return s=[], e=r=n=o="", t.split("").forEach(function(t){if(!(0===c&&-1<" \r\n\t".indexOf(t))){switch(t){case'"':a?a===t&&(a=null):a=t;break;case"(":if(a)break;if(0===c)return c=1, void(o+=t);l++;break;case")":if(a)break;if(1===c){if(0===l)return c=0, o+=t, void u();l--;}break;case",":if(a)break;if(0===c)return void u();if(1===c&&0===l&&!e.match(/^url$/i))return s.push(n), n="", void(o+=t)}o+=t, 0===c?e+=t:n+=t;}}), u(), h};},{}],27:[function(t,e,n){var r=t("./gradientcontainer");function i(t){r.apply(this,arguments), this.type="linear"===t.args[0]?r.TYPES.LINEAR:r.TYPES.RADIAL;}i.prototype=Object.create(r.prototype), e.exports=i;},{"./gradientcontainer":9}],28:[function(t,e,n){e.exports=function(r){return new Promise(function(t,e){var n=new XMLHttpRequest;n.open("GET",r), n.onload=function(){200===n.status?t(n.responseText):e(new Error(n.statusText));}, n.onerror=function(){e(new Error("Network Error"));}, n.send();})};},{}]},{},[4])(4)}), function(t){var n="+".charCodeAt(0),r="/".charCodeAt(0),i="0".charCodeAt(0),o="a".charCodeAt(0),a="A".charCodeAt(0),s="-".charCodeAt(0),h="_".charCodeAt(0),l=function(t){var e=t.charCodeAt(0);return e===n||e===s?62:e===r||e===h?63:e<i?-1:e<i+10?e-i+26+26:e<a+26?e-a:e<o+26?e-o+26:void 0};t.API.TTFFont=function(){function i(t,e,n){var r;if(this.rawData=t, r=this.contents=new X(t), this.contents.pos=4, "ttcf"===r.readString(4)){if(!e)throw new Error("Must specify a font name for TTC files.");throw new Error("Font "+e+" not found in TTC file.")}r.pos=0, this.parse(), this.subset=new T(this), this.registerTTF();}return i.open=function(t,e,n,r){return new i(function(t){var e,n,r,i,o,a;if(0<t.length%4)throw new Error("Invalid string. Length must be a multiple of 4");var s=t.length;o="="===t.charAt(s-2)?2:"="===t.charAt(s-1)?1:0, a=new Uint8Array(3*t.length/4-o), r=0<o?t.length-4:t.length;var h=0;function c(t){a[h++]=t;}for(n=e=0;e<r;e+=4, n+=3)c((16711680&(i=l(t.charAt(e))<<18|l(t.charAt(e+1))<<12|l(t.charAt(e+2))<<6|l(t.charAt(e+3))))>>16), c((65280&i)>>8), c(255&i);return 2===o?c(255&(i=l(t.charAt(e))<<2|l(t.charAt(e+1))>>4)):1===o&&(c((i=l(t.charAt(e))<<10|l(t.charAt(e+1))<<4|l(t.charAt(e+2))>>2)>>8&255), c(255&i)), a}(n),e,r)}, i.prototype.parse=function(){return this.directory=new e(this.contents), this.head=new d(this), this.name=new b(this), this.cmap=new m(this), this.hhea=new g(this), this.maxp=new x(this), this.hmtx=new S(this), this.post=new y(this), this.os2=new w(this), this.loca=new C(this), this.glyf=new _(this), this.ascender=this.os2.exists&&this.os2.ascender||this.hhea.ascender, this.decender=this.os2.exists&&this.os2.decender||this.hhea.decender, this.lineGap=this.os2.exists&&this.os2.lineGap||this.hhea.lineGap, this.bbox=[this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax]}, i.prototype.registerTTF=function(){var i,t,e,n,r;if(this.scaleFactor=1e3/this.head.unitsPerEm, this.bbox=function(){var t,e,n,r;for(r=[], t=0, e=(n=this.bbox).length;t<e;t++)i=n[t], r.push(Math.round(i*this.scaleFactor));return r}.call(this), this.stemV=0, this.post.exists?(e=255&(n=this.post.italic_angle), !0&(t=n>>16)&&(t=-(1+(65535^t))), this.italicAngle=+(t+"."+e)):this.italicAngle=0, this.ascender=Math.round(this.ascender*this.scaleFactor), this.decender=Math.round(this.decender*this.scaleFactor), this.lineGap=Math.round(this.lineGap*this.scaleFactor), this.capHeight=this.os2.exists&&this.os2.capHeight||this.ascender, this.xHeight=this.os2.exists&&this.os2.xHeight||0, this.familyClass=(this.os2.exists&&this.os2.familyClass||0)>>8, this.isSerif=1===(r=this.familyClass)||2===r||3===r||4===r||5===r||7===r, this.isScript=10===this.familyClass, this.flags=0, this.post.isFixedPitch&&(this.flags|=1), this.isSerif&&(this.flags|=2), this.isScript&&(this.flags|=8), 0!==this.italicAngle&&(this.flags|=64), this.flags|=32, !this.cmap.unicode)throw new Error("No unicode cmap for font")}, i.prototype.characterToGlyph=function(t){var e;return(null!=(e=this.cmap.unicode)?e.codeMap[t]:void 0)||0}, i.prototype.widthOfGlyph=function(t){var e;return e=1e3/this.head.unitsPerEm, this.hmtx.forGlyph(t).advance*e}, i.prototype.widthOfString=function(t,e,n){var r,i,o,a,s;for(i=a=o=0, s=(t=""+t).length;0<=s?a<s:s<a;i=0<=s?++a:--a)r=t.charCodeAt(i), o+=this.widthOfGlyph(this.characterToGlyph(r))+n*(1e3/e)||0;return o*(e/1e3)}, i.prototype.lineHeight=function(t,e){var n;return null==e&&(e=!1), n=e?this.lineGap:0, (this.ascender+n-this.decender)/1e3*t}, i}();var c,X=function(){function t(t){this.data=null!=t?t:[], this.pos=0, this.length=this.data.length;}return t.prototype.readByte=function(){return this.data[this.pos++]}, t.prototype.writeByte=function(t){return this.data[this.pos++]=t}, t.prototype.readUInt32=function(){return 16777216*this.readByte()+(this.readByte()<<16)+(this.readByte()<<8)+this.readByte()}, t.prototype.writeUInt32=function(t){return this.writeByte(t>>>24&255), this.writeByte(t>>16&255), this.writeByte(t>>8&255), this.writeByte(255&t)}, t.prototype.readInt32=function(){var t;return 2147483648<=(t=this.readUInt32())?t-4294967296:t}, t.prototype.writeInt32=function(t){return t<0&&(t+=4294967296), this.writeUInt32(t)}, t.prototype.readUInt16=function(){return this.readByte()<<8|this.readByte()}, t.prototype.writeUInt16=function(t){return this.writeByte(t>>8&255), this.writeByte(255&t)}, t.prototype.readInt16=function(){var t;return 32768<=(t=this.readUInt16())?t-65536:t}, t.prototype.writeInt16=function(t){return t<0&&(t+=65536), this.writeUInt16(t)}, t.prototype.readString=function(t){var e,n,r;for(n=[], e=r=0;0<=t?r<t:t<r;e=0<=t?++r:--r)n[e]=String.fromCharCode(this.readByte());return n.join("")}, t.prototype.writeString=function(t){var e,n,r,i;for(i=[], e=n=0, r=t.length;0<=r?n<r:r<n;e=0<=r?++n:--n)i.push(this.writeByte(t.charCodeAt(e)));return i}, t.prototype.readShort=function(){return this.readInt16()}, t.prototype.writeShort=function(t){return this.writeInt16(t)}, t.prototype.readLongLong=function(){var t,e,n,r,i,o,a,s;return t=this.readByte(), e=this.readByte(), n=this.readByte(), r=this.readByte(), i=this.readByte(), o=this.readByte(), a=this.readByte(), s=this.readByte(), 128&t?-1*(72057594037927940*(255^t)+281474976710656*(255^e)+1099511627776*(255^n)+4294967296*(255^r)+16777216*(255^i)+65536*(255^o)+256*(255^a)+(255^s)+1):72057594037927940*t+281474976710656*e+1099511627776*n+4294967296*r+16777216*i+65536*o+256*a+s}, t.prototype.readInt=function(){return this.readInt32()}, t.prototype.writeInt=function(t){return this.writeInt32(t)}, t.prototype.read=function(t){var e,n;for(e=[], n=0;0<=t?n<t:t<n;0<=t?++n:--n)e.push(this.readByte());return e}, t.prototype.write=function(t){var e,n,r,i;for(i=[], n=0, r=t.length;n<r;n++)e=t[n], i.push(this.writeByte(e));return i}, t}(),e=function(){var p;function t(t){var e,n,r;for(this.scalarType=t.readInt(), this.tableCount=t.readShort(), this.searchRange=t.readShort(), this.entrySelector=t.readShort(), this.rangeShift=t.readShort(), this.tables={}, n=0, r=this.tableCount;0<=r?n<r:r<n;0<=r?++n:--n)e={tag:t.readString(4),checksum:t.readInt(),offset:t.readInt(),length:t.readInt()}, this.tables[e.tag]=e;}return t.prototype.encode=function(t){var e,n,r,i,o,a,s,h,c,l,u,f,d;for(d in u=Object.keys(t).length, a=Math.log(2), c=16*Math.floor(Math.log(u)/a), i=Math.floor(c/a), h=16*u-c, (n=new X).writeInt(this.scalarType), n.writeShort(u), n.writeShort(c), n.writeShort(i), n.writeShort(h), r=16*u, s=n.pos+r, o=null, f=[], t)for(l=t[d], n.writeString(d), n.writeInt(p(l)), n.writeInt(s), n.writeInt(l.length), f=f.concat(l), "head"===d&&(o=s), s+=l.length;s%4;)f.push(0), s++;return n.write(f), e=2981146554-p(n.data), n.pos=o+8, n.writeUInt32(e), n.data}, p=function(t){var e,n,r,i;for(t=k.call(t);t.length%4;)t.push(0);for(n=new X(t), r=e=0, i=t.length;r<i;r+=4)e+=n.readUInt32();return 4294967295&e}, t}(),u={}.hasOwnProperty,f=function(t,e){for(var n in e)u.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t;}return r.prototype=e.prototype, t.prototype=new r, t.__super__=e.prototype, t};c=function(){function t(t){var e;this.file=t, e=this.file.directory.tables[this.tag], this.exists=!!e, e&&(this.offset=e.offset, this.length=e.length, this.parse(this.file.contents));}return t.prototype.parse=function(){}, t.prototype.encode=function(){}, t.prototype.raw=function(){return this.exists?(this.file.contents.pos=this.offset, this.file.contents.read(this.length)):null}, t}();var d=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,c), e.prototype.tag="head", e.prototype.parse=function(t){return t.pos=this.offset, this.version=t.readInt(), this.revision=t.readInt(), this.checkSumAdjustment=t.readInt(), this.magicNumber=t.readInt(), this.flags=t.readShort(), this.unitsPerEm=t.readShort(), this.created=t.readLongLong(), this.modified=t.readLongLong(), this.xMin=t.readShort(), this.yMin=t.readShort(), this.xMax=t.readShort(), this.yMax=t.readShort(), this.macStyle=t.readShort(), this.lowestRecPPEM=t.readShort(), this.fontDirectionHint=t.readShort(), this.indexToLocFormat=t.readShort(), this.glyphDataFormat=t.readShort()}, e}(),p=function(){function t(n,t){var e,r,i,o,a,s,h,c,l,u,f,d,p,g,m,w,y,v;switch(this.platformID=n.readUInt16(), this.encodingID=n.readShort(), this.offset=t+n.readInt(), l=n.pos, n.pos=this.offset, this.format=n.readUInt16(), this.length=n.readUInt16(), this.language=n.readUInt16(), this.isUnicode=3===this.platformID&&1===this.encodingID&&4===this.format||0===this.platformID&&4===this.format, this.codeMap={}, this.format){case 0:for(s=m=0;m<256;s=++m)this.codeMap[s]=n.readByte();break;case 4:for(f=n.readUInt16(), u=f/2, n.pos+=6, i=function(){var t,e;for(e=[], s=t=0;0<=u?t<u:u<t;s=0<=u?++t:--t)e.push(n.readUInt16());return e}(), n.pos+=2, p=function(){var t,e;for(e=[], s=t=0;0<=u?t<u:u<t;s=0<=u?++t:--t)e.push(n.readUInt16());return e}(), h=function(){var t,e;for(e=[], s=t=0;0<=u?t<u:u<t;s=0<=u?++t:--t)e.push(n.readUInt16());return e}(), c=function(){var t,e;for(e=[], s=t=0;0<=u?t<u:u<t;s=0<=u?++t:--t)e.push(n.readUInt16());return e}(), r=(this.length-n.pos+this.offset)/2, a=function(){var t,e;for(e=[], s=t=0;0<=r?t<r:r<t;s=0<=r?++t:--t)e.push(n.readUInt16());return e}(), s=w=0, v=i.length;w<v;s=++w)for(g=i[s], e=y=d=p[s];d<=g?y<=g:g<=y;e=d<=g?++y:--y)0===c[s]?o=e+h[s]:0!==(o=a[c[s]/2+(e-d)-(u-s)]||0)&&(o+=h[s]), this.codeMap[e]=65535&o;}n.pos=l;}return t.encode=function(t,e){var n,r,i,o,a,s,h,c,l,u,f,d,p,g,m,w,y,v,b,x,S,k,_,A,I,C,T,F,P,E,q,O,B,R,j,D,M,U,N,z,L,H,W,G,V,Y;switch(F=new X, o=Object.keys(t).sort(function(t,e){return t-e}), e){case"macroman":for(p=0, g=function(){var t,e;for(e=[], d=t=0;t<256;d=++t)e.push(0);return e}(), w={0:0}, i={}, P=0, B=o.length;P<B;P++)null==w[W=t[r=o[P]]]&&(w[W]=++p), i[r]={old:t[r],new:w[t[r]]}, g[r]=w[t[r]];return F.writeUInt16(1), F.writeUInt16(0), F.writeUInt32(12), F.writeUInt16(0), F.writeUInt16(262), F.writeUInt16(0), F.write(g), {charMap:i,subtable:F.data,maxGlyphID:p+1};case"unicode":for(C=[], l=[], w={}, n={}, m=h=null, E=y=0, R=o.length;E<R;E++)null==w[b=t[r=o[E]]]&&(w[b]=++y), n[r]={old:b,new:w[b]}, a=w[b]-r, null!=m&&a===h||(m&&l.push(m), C.push(r), h=a), m=r;for(m&&l.push(m), l.push(65535), C.push(65535), A=2*(_=C.length), k=2*Math.pow(Math.log(_)/Math.LN2,2), u=Math.log(k/2)/Math.LN2, S=2*_-k, s=[], x=[], f=[], d=q=0, j=C.length;q<j;d=++q){if(I=C[d], c=l[d], 65535===I){s.push(0), x.push(0);break}if(32768<=I-(T=n[I].new))for(s.push(0), x.push(2*(f.length+_-d)), r=O=I;I<=c?O<=c:c<=O;r=I<=c?++O:--O)f.push(n[r].new);else s.push(T-I), x.push(0);}for(F.writeUInt16(3), F.writeUInt16(1), F.writeUInt32(12), F.writeUInt16(4), F.writeUInt16(16+8*_+2*f.length), F.writeUInt16(0), F.writeUInt16(A), F.writeUInt16(k), F.writeUInt16(u), F.writeUInt16(S), L=0, D=l.length;L<D;L++)r=l[L], F.writeUInt16(r);for(F.writeUInt16(0), H=0, M=C.length;H<M;H++)r=C[H], F.writeUInt16(r);for(G=0, U=s.length;G<U;G++)a=s[G], F.writeUInt16(a);for(V=0, N=x.length;V<N;V++)v=x[V], F.writeUInt16(v);for(Y=0, z=f.length;Y<z;Y++)p=f[Y], F.writeUInt16(p);return{charMap:n,subtable:F.data,maxGlyphID:y+1}}}, t}(),m=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,c), e.prototype.tag="cmap", e.prototype.parse=function(t){var e,n,r;for(t.pos=this.offset, this.version=t.readUInt16(), n=t.readUInt16(), this.tables=[], this.unicode=null, r=0;0<=n?r<n:n<r;0<=n?++r:--r)e=new p(t,this.offset), this.tables.push(e), e.isUnicode&&null==this.unicode&&(this.unicode=e);return!0}, e.encode=function(t,e){var n,r;return null==e&&(e="macroman"), n=p.encode(t,e), (r=new X).writeUInt16(0), r.writeUInt16(1), n.table=r.data.concat(n.subtable), n}, e}(),g=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,c), e.prototype.tag="hhea", e.prototype.parse=function(t){return t.pos=this.offset, this.version=t.readInt(), this.ascender=t.readShort(), this.decender=t.readShort(), this.lineGap=t.readShort(), this.advanceWidthMax=t.readShort(), this.minLeftSideBearing=t.readShort(), this.minRightSideBearing=t.readShort(), this.xMaxExtent=t.readShort(), this.caretSlopeRise=t.readShort(), this.caretSlopeRun=t.readShort(), this.caretOffset=t.readShort(), t.pos+=8, this.metricDataFormat=t.readShort(), this.numberOfMetrics=t.readUInt16()}, e}(),w=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,c), e.prototype.tag="OS/2", e.prototype.parse=function(n){if(n.pos=this.offset, this.version=n.readUInt16(), this.averageCharWidth=n.readShort(), this.weightClass=n.readUInt16(), this.widthClass=n.readUInt16(), this.type=n.readShort(), this.ySubscriptXSize=n.readShort(), this.ySubscriptYSize=n.readShort(), this.ySubscriptXOffset=n.readShort(), this.ySubscriptYOffset=n.readShort(), this.ySuperscriptXSize=n.readShort(), this.ySuperscriptYSize=n.readShort(), this.ySuperscriptXOffset=n.readShort(), this.ySuperscriptYOffset=n.readShort(), this.yStrikeoutSize=n.readShort(), this.yStrikeoutPosition=n.readShort(), this.familyClass=n.readShort(), this.panose=function(){var t,e;for(e=[], t=0;t<10;++t)e.push(n.readByte());return e}(), this.charRange=function(){var t,e;for(e=[], t=0;t<4;++t)e.push(n.readInt());return e}(), this.vendorID=n.readString(4), this.selection=n.readShort(), this.firstCharIndex=n.readShort(), this.lastCharIndex=n.readShort(), 0<this.version&&(this.ascent=n.readShort(), this.descent=n.readShort(), this.lineGap=n.readShort(), this.winAscent=n.readShort(), this.winDescent=n.readShort(), this.codePageRange=function(){var t,e;for(e=[], t=0;t<2;++t)e.push(n.readInt());return e}(), 1<this.version))return this.xHeight=n.readShort(), this.capHeight=n.readShort(), this.defaultChar=n.readShort(), this.breakChar=n.readShort(), this.maxContext=n.readShort()}, e}(),y=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,c), e.prototype.tag="post", e.prototype.parse=function(r){var t,e,n,i;switch(r.pos=this.offset, this.format=r.readInt(), this.italicAngle=r.readInt(), this.underlinePosition=r.readShort(), this.underlineThickness=r.readShort(), this.isFixedPitch=r.readInt(), this.minMemType42=r.readInt(), this.maxMemType42=r.readInt(), this.minMemType1=r.readInt(), this.maxMemType1=r.readInt(), this.format){case 65536:break;case 131072:for(e=r.readUInt16(), this.glyphNameIndex=[], n=0;0<=e?n<e:e<n;0<=e?++n:--n)this.glyphNameIndex.push(r.readUInt16());for(this.names=[], i=[];r.pos<this.offset+this.length;)t=r.readByte(), i.push(this.names.push(r.readString(t)));return i;case 151552:return e=r.readUInt16(), this.offsets=r.read(e);case 196608:break;case 262144:return this.map=function(){var t,e,n;for(n=[], t=0, e=this.file.maxp.numGlyphs;0<=e?t<e:e<t;0<=e?++t:--t)n.push(r.readUInt32());return n}.call(this)}}, e}(),v=function(t,e){this.raw=t, this.length=t.length, this.platformID=e.platformID, this.encodingID=e.encodingID, this.languageID=e.languageID;},b=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,c), e.prototype.tag="name", e.prototype.parse=function(t){var e,n,r,i,o,a,s,h,c,l,u,f;for(t.pos=this.offset, t.readShort(), e=t.readShort(), a=t.readShort(), n=[], i=c=0;0<=e?c<e:e<c;i=0<=e?++c:--c)n.push({platformID:t.readShort(),encodingID:t.readShort(),languageID:t.readShort(),nameID:t.readShort(),length:t.readShort(),offset:this.offset+a+t.readShort()});for(s={}, i=l=0, u=n.length;l<u;i=++l)r=n[i], t.pos=r.offset, h=t.readString(r.length), o=new v(h,r), null==s[f=r.nameID]&&(s[f]=[]), s[r.nameID].push(o);return this.strings=s, this.copyright=s[0], this.fontFamily=s[1], this.fontSubfamily=s[2], this.uniqueSubfamily=s[3], this.fontName=s[4], this.version=s[5], this.postscriptName=s[6][0].raw.replace(/[\x00-\x19\x80-\xff]/g,""), this.trademark=s[7], this.manufacturer=s[8], this.designer=s[9], this.description=s[10], this.vendorUrl=s[11], this.designerUrl=s[12], this.license=s[13], this.licenseUrl=s[14], this.preferredFamily=s[15], this.preferredSubfamily=s[17], this.compatibleFull=s[18], this.sampleText=s[19]}, e}(),x=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,c), e.prototype.tag="maxp", e.prototype.parse=function(t){return t.pos=this.offset, this.version=t.readInt(), this.numGlyphs=t.readUInt16(), this.maxPoints=t.readUInt16(), this.maxContours=t.readUInt16(), this.maxCompositePoints=t.readUInt16(), this.maxComponentContours=t.readUInt16(), this.maxZones=t.readUInt16(), this.maxTwilightPoints=t.readUInt16(), this.maxStorage=t.readUInt16(), this.maxFunctionDefs=t.readUInt16(), this.maxInstructionDefs=t.readUInt16(), this.maxStackElements=t.readUInt16(), this.maxSizeOfInstructions=t.readUInt16(), this.maxComponentElements=t.readUInt16(), this.maxComponentDepth=t.readUInt16()}, e}(),S=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,c), e.prototype.tag="hmtx", e.prototype.parse=function(n){var t,r,i,e,o,a,s;for(n.pos=this.offset, this.metrics=[], e=0, a=this.file.hhea.numberOfMetrics;0<=a?e<a:a<e;0<=a?++e:--e)this.metrics.push({advance:n.readUInt16(),lsb:n.readInt16()});for(r=this.file.maxp.numGlyphs-this.file.hhea.numberOfMetrics, this.leftSideBearings=function(){var t,e;for(e=[], t=0;0<=r?t<r:r<t;0<=r?++t:--t)e.push(n.readInt16());return e}(), this.widths=function(){var t,e,n,r;for(r=[], t=0, e=(n=this.metrics).length;t<e;t++)i=n[t], r.push(i.advance);return r}.call(this), t=this.widths[this.widths.length-1], s=[], o=0;0<=r?o<r:r<o;0<=r?++o:--o)s.push(this.widths.push(t));return s}, e.prototype.forGlyph=function(t){return t in this.metrics?this.metrics[t]:{advance:this.metrics[this.metrics.length-1].advance,lsb:this.leftSideBearings[t-this.metrics.length]}}, e}(),k=[].slice,_=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,c), e.prototype.tag="glyf", e.prototype.parse=function(t){return this.cache={}}, e.prototype.glyphFor=function(t){var e,n,r,i,o,a,s,h,c,l;return(t=t)in this.cache?this.cache[t]:(i=this.file.loca, e=this.file.contents, n=i.indexOf(t), 0===(r=i.lengthOf(t))?this.cache[t]=null:(e.pos=this.offset+n, o=(a=new X(e.read(r))).readShort(), h=a.readShort(), l=a.readShort(), s=a.readShort(), c=a.readShort(), this.cache[t]=-1===o?new I(a,h,l,s,c):new A(a,o,h,l,s,c), this.cache[t]))}, e.prototype.encode=function(t,e,n){var r,i,o,a,s;for(o=[], i=[], a=0, s=e.length;a<s;a++)r=t[e[a]], i.push(o.length), r&&(o=o.concat(r.encode(n)));return i.push(o.length), {table:o,offsets:i}}, e}(),A=function(){function t(t,e,n,r,i,o){this.raw=t, this.numberOfContours=e, this.xMin=n, this.yMin=r, this.xMax=i, this.yMax=o, this.compound=!1;}return t.prototype.encode=function(){return this.raw.data}, t}(),I=function(){function t(t,e,n,r,i){var o,a;for(this.raw=t, this.xMin=e, this.yMin=n, this.xMax=r, this.yMax=i, this.compound=!0, this.glyphIDs=[], this.glyphOffsets=[], o=this.raw;a=o.readShort(), this.glyphOffsets.push(o.pos), this.glyphIDs.push(o.readShort()), 32&a;)o.pos+=1&a?4:2, 128&a?o.pos+=8:64&a?o.pos+=4:8&a&&(o.pos+=2);}return t.prototype.encode=function(t){var e,n,r,i,o;for(n=new X(k.call(this.raw.data)), e=r=0, i=(o=this.glyphIDs).length;r<i;e=++r)o[e], n.pos=this.glyphOffsets[e];return n.data}, t}(),C=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return f(e,c), e.prototype.tag="loca", e.prototype.parse=function(r){var t;return r.pos=this.offset, t=this.file.head.indexToLocFormat, this.offsets=0===t?function(){var t,e,n;for(n=[], t=0, e=this.length;t<e;t+=2)n.push(2*r.readUInt16());return n}.call(this):function(){var t,e,n;for(n=[], t=0, e=this.length;t<e;t+=4)n.push(r.readUInt32());return n}.call(this)}, e.prototype.indexOf=function(t){return this.offsets[t]}, e.prototype.lengthOf=function(t){return this.offsets[t+1]-this.offsets[t]}, e.prototype.encode=function(t,e){for(var n=new Uint32Array(this.offsets.length),r=0,i=0,o=0;o<n.length;++o)if(n[o]=r, i<e.length&&e[i]==o){++i, n[o]=r;var a=this.offsets[o],s=this.offsets[o+1]-a;0<s&&(r+=s);}for(var h=new Array(4*n.length),c=0;c<n.length;++c)h[4*c+3]=255&n[c], h[4*c+2]=(65280&n[c])>>8, h[4*c+1]=(16711680&n[c])>>16, h[4*c]=(4278190080&n[c])>>24;return h}, e}(),T=function(){function t(t){this.font=t, this.subset={}, this.unicodes={}, this.next=33;}return t.prototype.generateCmap=function(){var t,e,n,r,i;for(e in r=this.font.cmap.tables[0].codeMap, t={}, i=this.subset)n=i[e], t[e]=r[n];return t}, t.prototype.glyphsFor=function(t){var e,n,r,i,o,a,s;for(r={}, o=0, a=t.length;o<a;o++)r[i=t[o]]=this.font.glyf.glyphFor(i);for(i in e=[], r)(null!=(n=r[i])?n.compound:void 0)&&e.push.apply(e,n.glyphIDs);if(0<e.length)for(i in s=this.glyphsFor(e))n=s[i], r[i]=n;return r}, t.prototype.encode=function(t){var e,n,r,i,o,a,s,h,c,l,u,f,d,p,g;for(n in e=m.encode(this.generateCmap(),"unicode"), i=this.glyphsFor(t), u={0:0}, g=e.charMap)u[(a=g[n]).old]=a.new;for(f in l=e.maxGlyphID, i)f in u||(u[f]=l++);return h=function(t){var e,n;for(e in n={}, t)n[t[e]]=e;return n}(u), c=Object.keys(h).sort(function(t,e){return t-e}), d=function(){var t,e,n;for(n=[], t=0, e=c.length;t<e;t++)o=c[t], n.push(h[o]);return n}(), r=this.font.glyf.encode(i,d,u), s=this.font.loca.encode(r.offsets,d), p={cmap:this.font.cmap.raw(),glyf:r.table,loca:s,hmtx:this.font.hmtx.raw(),hhea:this.font.hhea.raw(),maxp:this.font.maxp.raw(),post:this.font.post.raw(),name:this.font.name.raw(),head:this.font.head.raw()}, this.font.os2.exists&&(p["OS/2"]=this.font.os2.raw()), this.font.directory.encode(p)}, t}();t.API.PDFObject=function(){var o;function a(){}return o=function(t,e){return(Array(e+1).join("0")+t).slice(-e)}, a.convert=function(r){var i,t,e,n;if(Array.isArray(r))return"["+function(){var t,e,n;for(n=[], t=0, e=r.length;t<e;t++)i=r[t], n.push(a.convert(i));return n}().join(" ")+"]";if("string"==typeof r)return"/"+r;if(null!=r?r.isString:void 0)return"("+r+")";if(r instanceof Date)return"(D:"+o(r.getUTCFullYear(),4)+o(r.getUTCMonth(),2)+o(r.getUTCDate(),2)+o(r.getUTCHours(),2)+o(r.getUTCMinutes(),2)+o(r.getUTCSeconds(),2)+"Z)";if("[object Object]"==={}.toString.call(r)){for(t in e=["<<"], r)n=r[t], e.push("/"+t+" "+a.convert(n));return e.push(">>"), e.join("\n")}return""+r}, a}();}($), pt="undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof commonjsGlobal&&commonjsGlobal||Function('return typeof this === "object" && this.content')()||Function("return this")(), gt=function(){var c,n,r;function i(t){var e,n,r,i,o,a,s,h,c,l,u,f,d,p;for(this.data=t, this.pos=8, this.palette=[], this.imgData=[], this.transparency={}, this.animation=null, this.text={}, a=null;;){switch(e=this.readUInt32(), c=function(){var t,e;for(e=[], t=0;t<4;++t)e.push(String.fromCharCode(this.data[this.pos++]));return e}.call(this).join("")){case"IHDR":this.width=this.readUInt32(), this.height=this.readUInt32(), this.bits=this.data[this.pos++], this.colorType=this.data[this.pos++], this.compressionMethod=this.data[this.pos++], this.filterMethod=this.data[this.pos++], this.interlaceMethod=this.data[this.pos++];break;case"acTL":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case"PLTE":this.palette=this.read(e);break;case"fcTL":a&&this.animation.frames.push(a), this.pos+=4, a={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()}, o=this.readUInt16(), i=this.readUInt16()||100, a.delay=1e3*o/i, a.disposeOp=this.data[this.pos++], a.blendOp=this.data[this.pos++], a.data=[];break;case"IDAT":case"fdAT":for("fdAT"===c&&(this.pos+=4, e-=4), t=(null!=a?a.data:void 0)||this.imgData, f=0;0<=e?f<e:e<f;0<=e?++f:--f)t.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={}, this.colorType){case 3:if(r=this.palette.length/3, this.transparency.indexed=this.read(e), this.transparency.indexed.length>r)throw new Error("More transparent colors than palette size");if(0<(l=r-this.transparency.indexed.length))for(d=0;0<=l?d<l:l<d;0<=l?++d:--d)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e);}break;case"tEXt":s=(u=this.read(e)).indexOf(0), h=String.fromCharCode.apply(String,u.slice(0,s)), this.text[h]=String.fromCharCode.apply(String,u.slice(s+1));break;case"IEND":return a&&this.animation.frames.push(a), this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this), this.hasAlphaChannel=4===(p=this.colorType)||6===p, n=this.colors+(this.hasAlphaChannel?1:0), this.pixelBitlength=this.bits*n, this.colorSpace=function(){switch(this.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}.call(this), void(this.imgData=new Uint8Array(this.imgData));default:this.pos+=e;}if(this.pos+=4, this.pos>this.data.length)throw new Error("Incomplete or corrupt PNG file")}}i.load=function(t,e,n){var r;return"function"==typeof e&&(n=e), (r=new XMLHttpRequest).open("GET",t,!0), r.responseType="arraybuffer", r.onload=function(){var t;return t=new i(new Uint8Array(r.response||r.mozResponseArrayBuffer)), "function"==typeof(null!=e?e.getContext:void 0)&&t.render(e), "function"==typeof n?n(t):void 0}, r.send(null)}, i.prototype.read=function(t){var e,n;for(n=[], e=0;0<=t?e<t:t<e;0<=t?++e:--e)n.push(this.data[this.pos++]);return n}, i.prototype.readUInt32=function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]}, i.prototype.readUInt16=function(){return this.data[this.pos++]<<8|this.data[this.pos++]}, i.prototype.decodePixels=function(E){var q=this.pixelBitlength/8,O=new Uint8Array(this.width*this.height*q),B=0,R=this;if(null==E&&(E=this.imgData), 0===E.length)return new Uint8Array(0);function t(t,e,n,r){var i,o,a,s,h,c,l,u,f,d,p,g,m,w,y,v,b,x,S,k,_,A=Math.ceil((R.width-t)/n),I=Math.ceil((R.height-e)/r),C=R.width==A&&R.height==I;for(w=q*A, g=C?O:new Uint8Array(w*I), c=E.length, o=m=0;m<I&&B<c;){switch(E[B++]){case 0:for(s=b=0;b<w;s=b+=1)g[o++]=E[B++];break;case 1:for(s=x=0;x<w;s=x+=1)i=E[B++], h=s<q?0:g[o-q], g[o++]=(i+h)%256;break;case 2:for(s=S=0;S<w;s=S+=1)i=E[B++], a=(s-s%q)/q, y=m&&g[(m-1)*w+a*q+s%q], g[o++]=(y+i)%256;break;case 3:for(s=k=0;k<w;s=k+=1)i=E[B++], a=(s-s%q)/q, h=s<q?0:g[o-q], y=m&&g[(m-1)*w+a*q+s%q], g[o++]=(i+Math.floor((h+y)/2))%256;break;case 4:for(s=_=0;_<w;s=_+=1)i=E[B++], a=(s-s%q)/q, h=s<q?0:g[o-q], 0===m?y=v=0:(y=g[(m-1)*w+a*q+s%q], v=a&&g[(m-1)*w+(a-1)*q+s%q]), l=h+y-v, u=Math.abs(l-h), d=Math.abs(l-y), p=Math.abs(l-v), f=u<=d&&u<=p?h:d<=p?y:v, g[o++]=(i+f)%256;break;default:throw new Error("Invalid filter algorithm: "+E[B-1])}if(!C){var T=((e+m*r)*R.width+t)*q,F=m*w;for(s=0;s<A;s+=1){for(var P=0;P<q;P+=1)O[T++]=g[F++];T+=(n-1)*q;}}m++;}}return E=(E=new kt(E)).getBytes(), 1==R.interlaceMethod?(t(0,0,8,8), t(4,0,8,8), t(0,4,4,8), t(2,0,4,4), t(0,2,2,4), t(1,0,2,2), t(0,1,1,2)):t(0,0,1,1), O}, i.prototype.decodePalette=function(){var t,e,n,r,i,o,a,s,h;for(n=this.palette, o=this.transparency.indexed||[], i=new Uint8Array((o.length||0)+n.length), r=0, n.length, e=a=t=0, s=n.length;a<s;e=a+=3)i[r++]=n[e], i[r++]=n[e+1], i[r++]=n[e+2], i[r++]=null!=(h=o[t++])?h:255;return i}, i.prototype.copyToImageData=function(t,e){var n,r,i,o,a,s,h,c,l,u,f;if(r=this.colors, l=null, n=this.hasAlphaChannel, this.palette.length&&(l=null!=(f=this._decodedPalette)?f:this._decodedPalette=this.decodePalette(), r=4, n=!0), c=(i=t.data||t).length, a=l||e, o=s=0, 1===r)for(;o<c;)h=l?4*e[o/4]:s, u=a[h++], i[o++]=u, i[o++]=u, i[o++]=u, i[o++]=n?a[h++]:255, s=h;else for(;o<c;)h=l?4*e[o/4]:s, i[o++]=a[h++], i[o++]=a[h++], i[o++]=a[h++], i[o++]=n?a[h++]:255, s=h;}, i.prototype.decode=function(){var t;return t=new Uint8Array(this.width*this.height*4), this.copyToImageData(t,this.decodePixels()), t};try{n=pt.document.createElement("canvas"), r=n.getContext("2d");}catch(t){return-1}return c=function(t){var e;return r.width=t.width, r.height=t.height, r.clearRect(0,0,t.width,t.height), r.putImageData(t,0,0), (e=new Image).src=n.toDataURL(), e}, i.prototype.decodeFrames=function(t){var e,n,r,i,o,a,s,h;if(this.animation){for(h=[], n=o=0, a=(s=this.animation.frames).length;o<a;n=++o)e=s[n], r=t.createImageData(e.width,e.height), i=this.decodePixels(new Uint8Array(e.data)), this.copyToImageData(r,i), e.imageData=r, h.push(e.image=c(r));return h}}, i.prototype.renderFrame=function(t,e){var n,r,i;return n=(r=this.animation.frames)[e], i=r[e-1], 0===e&&t.clearRect(0,0,this.width,this.height), 1===(null!=i?i.disposeOp:void 0)?t.clearRect(i.xOffset,i.yOffset,i.width,i.height):2===(null!=i?i.disposeOp:void 0)&&t.putImageData(i.imageData,i.xOffset,i.yOffset), 0===n.blendOp&&t.clearRect(n.xOffset,n.yOffset,n.width,n.height), t.drawImage(n.image,n.xOffset,n.yOffset)}, i.prototype.animate=function(n){var r,i,o,a,s,t,h=this;return i=0, t=this.animation, a=t.numFrames, o=t.frames, s=t.numPlays, (r=function(){var t,e;if(t=i++%a, e=o[t], h.renderFrame(n,t), 1<a&&i/a<s)return h.animation._timeout=setTimeout(r,e.delay)})()}, i.prototype.stopAnimation=function(){var t;return clearTimeout(null!=(t=this.animation)?t._timeout:void 0)}, i.prototype.render=function(t){var e,n;return t._png&&t._png.stopAnimation(), t._png=this, t.width=this.width, t.height=this.height, e=t.getContext("2d"), this.animation?(this.decodeFrames(e), this.animate(e)):(n=e.createImageData(this.width,this.height), this.copyToImageData(n,this.decodePixels()), e.putImageData(n,0,0))}, i}(), pt.PNG=gt; +/* + * Extracted from pdf.js + * https://github.com/andreasgal/pdf.js + * + * Copyright (c) 2011 Mozilla Foundation + * + * Contributors: Andreas Gal <gal@mozilla.com> + * Chris G Jones <cjones@mozilla.com> + * Shaon Barman <shaon.barman@gmail.com> + * Vivien Nicolas <21@vingtetun.org> + * Justin D'Arcangelo <justindarc@gmail.com> + * Yury Delendik + * + * + */ +var St=function(){function t(){this.pos=0, this.bufferLength=0, this.eof=!1, this.buffer=null;}return t.prototype={ensureBuffer:function(t){var e=this.buffer,n=e?e.byteLength:0;if(t<n)return e;for(var r=512;r<t;)r<<=1;for(var i=new Uint8Array(r),o=0;o<n;++o)i[o]=e[o];return this.buffer=i},getByte:function(){for(var t=this.pos;this.bufferLength<=t;){if(this.eof)return null;this.readBlock();}return this.buffer[this.pos++]},getBytes:function(t){var e=this.pos;if(t){this.ensureBuffer(e+t);for(var n=e+t;!this.eof&&this.bufferLength<n;)this.readBlock();var r=this.bufferLength;r<n&&(n=r);}else{for(;!this.eof;)this.readBlock();n=this.bufferLength;}return this.pos=n, this.buffer.subarray(e,n)},lookChar:function(){for(var t=this.pos;this.bufferLength<=t;){if(this.eof)return null;this.readBlock();}return String.fromCharCode(this.buffer[this.pos])},getChar:function(){for(var t=this.pos;this.bufferLength<=t;){if(this.eof)return null;this.readBlock();}return String.fromCharCode(this.buffer[this.pos++])},makeSubStream:function(t,e,n){for(var r=t+e;this.bufferLength<=r&&!this.eof;)this.readBlock();return new Stream(this.buffer,t,e,n)},skip:function(t){t||(t=1), this.pos+=t;},reset:function(){this.pos=0;}}, t}(),kt=function(){if("undefined"!=typeof Uint32Array){var F=new Uint32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),P=new Uint32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),E=new Uint32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),q=[new Uint32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],O=[new Uint32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];return(t.prototype=Object.create(St.prototype)).getBits=function(t){for(var e,n=this.codeSize,r=this.codeBuf,i=this.bytes,o=this.bytesPos;n<t;)void 0===(e=i[o++])&&B("Bad encoding in flate stream"), r|=e<<n, n+=8;return e=r&(1<<t)-1, this.codeBuf=r>>t, this.codeSize=n-=t, this.bytesPos=o, e}, t.prototype.getCode=function(t){for(var e=t[0],n=t[1],r=this.codeSize,i=this.codeBuf,o=this.bytes,a=this.bytesPos;r<n;){var s;void 0===(s=o[a++])&&B("Bad encoding in flate stream"), i|=s<<r, r+=8;}var h=e[i&(1<<n)-1],c=h>>16,l=65535&h;return(0==r||r<c||0==c)&&B("Bad encoding in flate stream"), this.codeBuf=i>>c, this.codeSize=r-c, this.bytesPos=a, l}, t.prototype.generateHuffmanTable=function(t){for(var e=t.length,n=0,r=0;r<e;++r)t[r]>n&&(n=t[r]);for(var i=1<<n,o=new Uint32Array(i),a=1,s=0,h=2;a<=n;++a, s<<=1, h<<=1)for(var c=0;c<e;++c)if(t[c]==a){var l=0,u=s;for(r=0;r<a;++r)l=l<<1|1&u, u>>=1;for(r=l;r<i;r+=h)o[r]=a<<16|c;++s;}return[o,n]}, t.prototype.readBlock=function(){function t(t,e,n,r,i){for(var o=t.getBits(n)+r;0<o--;)e[h++]=i;}var e=this.getBits(3);if(1&e&&(this.eof=!0), 0!=(e>>=1)){var n,r;if(1==e)n=q, r=O;else if(2==e){for(var i=this.getBits(5)+257,o=this.getBits(5)+1,a=this.getBits(4)+4,s=Array(F.length),h=0;h<a;)s[F[h++]]=this.getBits(3);for(var c=this.generateHuffmanTable(s),l=0,u=(h=0, i+o),f=new Array(u);h<u;){var d=this.getCode(c);16==d?t(this,f,2,3,l):17==d?t(this,f,3,3,l=0):18==d?t(this,f,7,11,l=0):f[h++]=l=d;}n=this.generateHuffmanTable(f.slice(0,i)), r=this.generateHuffmanTable(f.slice(i,u));}else B("Unknown block type in flate stream");for(var p=(I=this.buffer)?I.length:0,g=this.bufferLength;;){var m=this.getCode(n);if(m<256)p<=g+1&&(p=(I=this.ensureBuffer(g+1)).length), I[g++]=m;else{if(256==m)return void(this.bufferLength=g);var w=(m=P[m-=257])>>16;0<w&&(w=this.getBits(w));l=(65535&m)+w;m=this.getCode(r), 0<(w=(m=E[m])>>16)&&(w=this.getBits(w));var y=(65535&m)+w;p<=g+l&&(p=(I=this.ensureBuffer(g+l)).length);for(var v=0;v<l;++v, ++g)I[g]=I[g-y];}}}else{var b,x=this.bytes,S=this.bytesPos;void 0===(b=x[S++])&&B("Bad block header in flate stream");var k=b;void 0===(b=x[S++])&&B("Bad block header in flate stream"), k|=b<<8, void 0===(b=x[S++])&&B("Bad block header in flate stream");var _=b;void 0===(b=x[S++])&&B("Bad block header in flate stream"), (_|=b<<8)!=(65535&~k)&&B("Bad uncompressed block length in flate stream"), this.codeBuf=0, this.codeSize=0;var A=this.bufferLength,I=this.ensureBuffer(A+k),C=A+k;this.bufferLength=C;for(var T=A;T<C;++T){if(void 0===(b=x[S++])){this.eof=!0;break}I[T]=b;}this.bytesPos=S;}}, t}function B(t){throw new Error(t)}function t(t){var e=0,n=t[e++],r=t[e++];-1!=n&&-1!=r||B("Invalid header in flate stream"), 8!=(15&n)&&B("Unknown compression method in flate stream"), ((n<<8)+r)%31!=0&&B("Bad FCHECK in flate stream"), 32&r&&B("FDICT bit set in flate stream"), this.bytes=t, this.bytesPos=2, this.codeSize=0, this.codeBuf=0, St.call(this);}}();return function(t){if("object"!=typeof t.console){t.console={};for(var e,n,r=t.console,i=function(){},o=["memory"],a="assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn".split(",");e=o.pop();)r[e]||(r[e]={});for(;n=a.pop();)r[n]||(r[n]=i);}var s,h,c,l,u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";void 0===t.btoa&&(t.btoa=function(t){var e,n,r,i,o,a=0,s=0,h="",c=[];if(!t)return t;for(;e=(o=t.charCodeAt(a++)<<16|t.charCodeAt(a++)<<8|t.charCodeAt(a++))>>18&63, n=o>>12&63, r=o>>6&63, i=63&o, c[s++]=u.charAt(e)+u.charAt(n)+u.charAt(r)+u.charAt(i), a<t.length;);h=c.join("");var l=t.length%3;return(l?h.slice(0,l-3):h)+"===".slice(l||3)}), void 0===t.atob&&(t.atob=function(t){var e,n,r,i,o,a,s=0,h=0,c=[];if(!t)return t;for(t+="";e=(a=u.indexOf(t.charAt(s++))<<18|u.indexOf(t.charAt(s++))<<12|(i=u.indexOf(t.charAt(s++)))<<6|(o=u.indexOf(t.charAt(s++))))>>16&255, n=a>>8&255, r=255&a, c[h++]=64==i?String.fromCharCode(e):64==o?String.fromCharCode(e,n):String.fromCharCode(e,n,r), s<t.length;);return c.join("")}), Array.prototype.map||(Array.prototype.map=function(t){if(null==this||"function"!=typeof t)throw new TypeError;for(var e=Object(this),n=e.length>>>0,r=new Array(n),i=1<arguments.length?arguments[1]:void 0,o=0;o<n;o++)o in e&&(r[o]=t.call(i,e[o],o,e));return r}), Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}), Array.prototype.forEach||(Array.prototype.forEach=function(t,e){if(null==this||"function"!=typeof t)throw new TypeError;for(var n=Object(this),r=n.length>>>0,i=0;i<r;i++)i in n&&t.call(e,n[i],i,n);}), Object.keys||(Object.keys=(s=Object.prototype.hasOwnProperty, h=!{toString:null}.propertyIsEnumerable("toString"), l=(c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"]).length, function(t){if("object"!=typeof t&&("function"!=typeof t||null===t))throw new TypeError;var e,n,r=[];for(e in t)s.call(t,e)&&r.push(e);if(h)for(n=0;n<l;n++)s.call(t,c[n])&&r.push(c[n]);return r})), "function"!=typeof Object.assign&&(Object.assign=function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");t=Object(t);for(var e=1;e<arguments.length;e++){var n=arguments[e];if(null!=n)for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r]);}return t}), String.prototype.trim||(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}), String.prototype.trimLeft||(String.prototype.trimLeft=function(){return this.replace(/^\s+/g,"")}), String.prototype.trimRight||(String.prototype.trimRight=function(){return this.replace(/\s+$/g,"")});}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||"undefined"!=typeof commonjsGlobal&&commonjsGlobal||Function('return typeof this === "object" && this.content')()||Function("return this")()), $}); +}); + +var jspdf_min_1 = jspdf_min.jsPDF; +var jspdf_min_2 = jspdf_min.saveAs; +var jspdf_min_3 = jspdf_min.GifWriter; +var jspdf_min_4 = jspdf_min.GifReader; + +var Path = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +var PATH = exports.PATH = { + VECTOR: 0, + BEZIER_CURVE: 1, + CIRCLE: 2 +}; +}); + +unwrapExports(Path); +var Path_1 = Path.PATH; + +var Color_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var HEX3 = /^#([a-f0-9]{3})$/i; +var hex3 = function hex3(value) { + var match = value.match(HEX3); + if (match) { + return [parseInt(match[1][0] + match[1][0], 16), parseInt(match[1][1] + match[1][1], 16), parseInt(match[1][2] + match[1][2], 16), null]; + } + return false; +}; + +var HEX6 = /^#([a-f0-9]{6})$/i; +var hex6 = function hex6(value) { + var match = value.match(HEX6); + if (match) { + return [parseInt(match[1].substring(0, 2), 16), parseInt(match[1].substring(2, 4), 16), parseInt(match[1].substring(4, 6), 16), null]; + } + return false; +}; + +var RGB = /^rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/; +var rgb = function rgb(value) { + var match = value.match(RGB); + if (match) { + return [Number(match[1]), Number(match[2]), Number(match[3]), null]; + } + return false; +}; + +var RGBA = /^rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d?\.?\d+)\s*\)$/; +var rgba = function rgba(value) { + var match = value.match(RGBA); + if (match && match.length > 4) { + return [Number(match[1]), Number(match[2]), Number(match[3]), Number(match[4])]; + } + return false; +}; + +var fromArray = function fromArray(array) { + return [Math.min(array[0], 255), Math.min(array[1], 255), Math.min(array[2], 255), array.length > 3 ? array[3] : null]; +}; + +var namedColor = function namedColor(name) { + var color = NAMED_COLORS[name.toLowerCase()]; + return color ? color : false; +}; + +var Color = function () { + function Color(value) { + _classCallCheck(this, Color); + + var _ref = Array.isArray(value) ? fromArray(value) : hex3(value) || rgb(value) || rgba(value) || namedColor(value) || hex6(value) || [0, 0, 0, null], + _ref2 = _slicedToArray(_ref, 4), + r = _ref2[0], + g = _ref2[1], + b = _ref2[2], + a = _ref2[3]; + + this.r = r; + this.g = g; + this.b = b; + this.a = a; + } + + _createClass(Color, [{ + key: 'isTransparent', + value: function isTransparent() { + return this.a === 0; + } + }, { + key: 'toString', + value: function toString() { + return this.a !== null && this.a !== 1 ? 'rgba(' + this.r + ',' + this.g + ',' + this.b + ',' + this.a + ')' : 'rgb(' + this.r + ',' + this.g + ',' + this.b + ')'; + } + }]); + + return Color; +}(); + +exports.default = Color; + + +var NAMED_COLORS = { + transparent: [0, 0, 0, 0], + aliceblue: [240, 248, 255, null], + antiquewhite: [250, 235, 215, null], + aqua: [0, 255, 255, null], + aquamarine: [127, 255, 212, null], + azure: [240, 255, 255, null], + beige: [245, 245, 220, null], + bisque: [255, 228, 196, null], + black: [0, 0, 0, null], + blanchedalmond: [255, 235, 205, null], + blue: [0, 0, 255, null], + blueviolet: [138, 43, 226, null], + brown: [165, 42, 42, null], + burlywood: [222, 184, 135, null], + cadetblue: [95, 158, 160, null], + chartreuse: [127, 255, 0, null], + chocolate: [210, 105, 30, null], + coral: [255, 127, 80, null], + cornflowerblue: [100, 149, 237, null], + cornsilk: [255, 248, 220, null], + crimson: [220, 20, 60, null], + cyan: [0, 255, 255, null], + darkblue: [0, 0, 139, null], + darkcyan: [0, 139, 139, null], + darkgoldenrod: [184, 134, 11, null], + darkgray: [169, 169, 169, null], + darkgreen: [0, 100, 0, null], + darkgrey: [169, 169, 169, null], + darkkhaki: [189, 183, 107, null], + darkmagenta: [139, 0, 139, null], + darkolivegreen: [85, 107, 47, null], + darkorange: [255, 140, 0, null], + darkorchid: [153, 50, 204, null], + darkred: [139, 0, 0, null], + darksalmon: [233, 150, 122, null], + darkseagreen: [143, 188, 143, null], + darkslateblue: [72, 61, 139, null], + darkslategray: [47, 79, 79, null], + darkslategrey: [47, 79, 79, null], + darkturquoise: [0, 206, 209, null], + darkviolet: [148, 0, 211, null], + deeppink: [255, 20, 147, null], + deepskyblue: [0, 191, 255, null], + dimgray: [105, 105, 105, null], + dimgrey: [105, 105, 105, null], + dodgerblue: [30, 144, 255, null], + firebrick: [178, 34, 34, null], + floralwhite: [255, 250, 240, null], + forestgreen: [34, 139, 34, null], + fuchsia: [255, 0, 255, null], + gainsboro: [220, 220, 220, null], + ghostwhite: [248, 248, 255, null], + gold: [255, 215, 0, null], + goldenrod: [218, 165, 32, null], + gray: [128, 128, 128, null], + green: [0, 128, 0, null], + greenyellow: [173, 255, 47, null], + grey: [128, 128, 128, null], + honeydew: [240, 255, 240, null], + hotpink: [255, 105, 180, null], + indianred: [205, 92, 92, null], + indigo: [75, 0, 130, null], + ivory: [255, 255, 240, null], + khaki: [240, 230, 140, null], + lavender: [230, 230, 250, null], + lavenderblush: [255, 240, 245, null], + lawngreen: [124, 252, 0, null], + lemonchiffon: [255, 250, 205, null], + lightblue: [173, 216, 230, null], + lightcoral: [240, 128, 128, null], + lightcyan: [224, 255, 255, null], + lightgoldenrodyellow: [250, 250, 210, null], + lightgray: [211, 211, 211, null], + lightgreen: [144, 238, 144, null], + lightgrey: [211, 211, 211, null], + lightpink: [255, 182, 193, null], + lightsalmon: [255, 160, 122, null], + lightseagreen: [32, 178, 170, null], + lightskyblue: [135, 206, 250, null], + lightslategray: [119, 136, 153, null], + lightslategrey: [119, 136, 153, null], + lightsteelblue: [176, 196, 222, null], + lightyellow: [255, 255, 224, null], + lime: [0, 255, 0, null], + limegreen: [50, 205, 50, null], + linen: [250, 240, 230, null], + magenta: [255, 0, 255, null], + maroon: [128, 0, 0, null], + mediumaquamarine: [102, 205, 170, null], + mediumblue: [0, 0, 205, null], + mediumorchid: [186, 85, 211, null], + mediumpurple: [147, 112, 219, null], + mediumseagreen: [60, 179, 113, null], + mediumslateblue: [123, 104, 238, null], + mediumspringgreen: [0, 250, 154, null], + mediumturquoise: [72, 209, 204, null], + mediumvioletred: [199, 21, 133, null], + midnightblue: [25, 25, 112, null], + mintcream: [245, 255, 250, null], + mistyrose: [255, 228, 225, null], + moccasin: [255, 228, 181, null], + navajowhite: [255, 222, 173, null], + navy: [0, 0, 128, null], + oldlace: [253, 245, 230, null], + olive: [128, 128, 0, null], + olivedrab: [107, 142, 35, null], + orange: [255, 165, 0, null], + orangered: [255, 69, 0, null], + orchid: [218, 112, 214, null], + palegoldenrod: [238, 232, 170, null], + palegreen: [152, 251, 152, null], + paleturquoise: [175, 238, 238, null], + palevioletred: [219, 112, 147, null], + papayawhip: [255, 239, 213, null], + peachpuff: [255, 218, 185, null], + peru: [205, 133, 63, null], + pink: [255, 192, 203, null], + plum: [221, 160, 221, null], + powderblue: [176, 224, 230, null], + purple: [128, 0, 128, null], + rebeccapurple: [102, 51, 153, null], + red: [255, 0, 0, null], + rosybrown: [188, 143, 143, null], + royalblue: [65, 105, 225, null], + saddlebrown: [139, 69, 19, null], + salmon: [250, 128, 114, null], + sandybrown: [244, 164, 96, null], + seagreen: [46, 139, 87, null], + seashell: [255, 245, 238, null], + sienna: [160, 82, 45, null], + silver: [192, 192, 192, null], + skyblue: [135, 206, 235, null], + slateblue: [106, 90, 205, null], + slategray: [112, 128, 144, null], + slategrey: [112, 128, 144, null], + snow: [255, 250, 250, null], + springgreen: [0, 255, 127, null], + steelblue: [70, 130, 180, null], + tan: [210, 180, 140, null], + teal: [0, 128, 128, null], + thistle: [216, 191, 216, null], + tomato: [255, 99, 71, null], + turquoise: [64, 224, 208, null], + violet: [238, 130, 238, null], + wheat: [245, 222, 179, null], + white: [255, 255, 255, null], + whitesmoke: [245, 245, 245, null], + yellow: [255, 255, 0, null], + yellowgreen: [154, 205, 50, null] +}; + +var TRANSPARENT = exports.TRANSPARENT = new Color([0, 0, 0, 0]); +}); + +unwrapExports(Color_1); +var Color_2 = Color_1.TRANSPARENT; + +var textDecoration = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parseTextDecoration = exports.TEXT_DECORATION_LINE = exports.TEXT_DECORATION = exports.TEXT_DECORATION_STYLE = undefined; + + + +var _Color2 = _interopRequireDefault(Color_1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var TEXT_DECORATION_STYLE = exports.TEXT_DECORATION_STYLE = { + SOLID: 0, + DOUBLE: 1, + DOTTED: 2, + DASHED: 3, + WAVY: 4 +}; + +var TEXT_DECORATION = exports.TEXT_DECORATION = { + NONE: null +}; + +var TEXT_DECORATION_LINE = exports.TEXT_DECORATION_LINE = { + UNDERLINE: 1, + OVERLINE: 2, + LINE_THROUGH: 3, + BLINK: 4 +}; + +var parseLine = function parseLine(line) { + switch (line) { + case 'underline': + return TEXT_DECORATION_LINE.UNDERLINE; + case 'overline': + return TEXT_DECORATION_LINE.OVERLINE; + case 'line-through': + return TEXT_DECORATION_LINE.LINE_THROUGH; + } + return TEXT_DECORATION_LINE.BLINK; +}; + +var parseTextDecorationLine = function parseTextDecorationLine(line) { + if (line === 'none') { + return null; + } + + return line.split(' ').map(parseLine); +}; + +var parseTextDecorationStyle = function parseTextDecorationStyle(style) { + switch (style) { + case 'double': + return TEXT_DECORATION_STYLE.DOUBLE; + case 'dotted': + return TEXT_DECORATION_STYLE.DOTTED; + case 'dashed': + return TEXT_DECORATION_STYLE.DASHED; + case 'wavy': + return TEXT_DECORATION_STYLE.WAVY; + } + return TEXT_DECORATION_STYLE.SOLID; +}; + +var parseTextDecoration = exports.parseTextDecoration = function parseTextDecoration(style) { + var textDecorationLine = parseTextDecorationLine(style.textDecorationLine ? style.textDecorationLine : style.textDecoration); + if (textDecorationLine === null) { + return TEXT_DECORATION.NONE; + } + + var textDecorationColor = style.textDecorationColor ? new _Color2.default(style.textDecorationColor) : null; + var textDecorationStyle = parseTextDecorationStyle(style.textDecorationStyle); + + return { + textDecorationLine: textDecorationLine, + textDecorationColor: textDecorationColor, + textDecorationStyle: textDecorationStyle + }; +}; +}); + +unwrapExports(textDecoration); +var textDecoration_1 = textDecoration.parseTextDecoration; +var textDecoration_2 = textDecoration.TEXT_DECORATION_LINE; +var textDecoration_3 = textDecoration.TEXT_DECORATION; +var textDecoration_4 = textDecoration.TEXT_DECORATION_STYLE; + +var CanvasRenderer_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + + + + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var addColorStops = function addColorStops(gradient, canvasGradient) { + var maxStop = Math.max.apply(null, gradient.colorStops.map(function (colorStop) { + return colorStop.stop; + })); + var f = 1 / Math.max(1, maxStop); + gradient.colorStops.forEach(function (colorStop) { + canvasGradient.addColorStop(f * colorStop.stop, colorStop.color.toString()); + }); +}; + +var CanvasRenderer = function () { + function CanvasRenderer(canvas) { + _classCallCheck(this, CanvasRenderer); + + this.canvas = canvas ? canvas : document.createElement('canvas'); + } + + _createClass(CanvasRenderer, [{ + key: 'render', + value: function render(options) { + this.ctx = this.canvas.getContext('2d'); + this.options = options; + this.canvas.width = Math.floor(options.width * options.scale); + this.canvas.height = Math.floor(options.height * options.scale); + this.canvas.style.width = options.width + 'px'; + this.canvas.style.height = options.height + 'px'; + + this.ctx.scale(this.options.scale, this.options.scale); + this.ctx.translate(-options.x, -options.y); + this.ctx.textBaseline = 'bottom'; + options.logger.log('Canvas renderer initialized (' + options.width + 'x' + options.height + ' at ' + options.x + ',' + options.y + ') with scale ' + this.options.scale); + } + }, { + key: 'clip', + value: function clip(clipPaths, callback) { + var _this = this; + + if (clipPaths.length) { + this.ctx.save(); + clipPaths.forEach(function (path) { + _this.path(path); + _this.ctx.clip(); + }); + } + + callback(); + + if (clipPaths.length) { + this.ctx.restore(); + } + } + }, { + key: 'drawImage', + value: function drawImage(image, source, destination) { + this.ctx.drawImage(image, source.left, source.top, source.width, source.height, destination.left, destination.top, destination.width, destination.height); + } + }, { + key: 'drawShape', + value: function drawShape(path, color) { + this.path(path); + this.ctx.fillStyle = color.toString(); + this.ctx.fill(); + } + }, { + key: 'fill', + value: function fill(color) { + this.ctx.fillStyle = color.toString(); + this.ctx.fill(); + } + }, { + key: 'getTarget', + value: function getTarget() { + this.canvas.getContext('2d').setTransform(1, 0, 0, 1, 0, 0); + return Promise.resolve(this.canvas); + } + }, { + key: 'path', + value: function path(_path) { + var _this2 = this; + + this.ctx.beginPath(); + if (Array.isArray(_path)) { + _path.forEach(function (point, index) { + var start = point.type === Path.PATH.VECTOR ? point : point.start; + if (index === 0) { + _this2.ctx.moveTo(start.x, start.y); + } else { + _this2.ctx.lineTo(start.x, start.y); + } + + if (point.type === Path.PATH.BEZIER_CURVE) { + _this2.ctx.bezierCurveTo(point.startControl.x, point.startControl.y, point.endControl.x, point.endControl.y, point.end.x, point.end.y); + } + }); + } else { + this.ctx.arc(_path.x + _path.radius, _path.y + _path.radius, _path.radius, 0, Math.PI * 2, true); + } + + this.ctx.closePath(); + } + }, { + key: 'rectangle', + value: function rectangle(x, y, width, height, color) { + this.ctx.fillStyle = color.toString(); + this.ctx.fillRect(x, y, width, height); + } + }, { + key: 'renderLinearGradient', + value: function renderLinearGradient(bounds, gradient) { + var linearGradient = this.ctx.createLinearGradient(bounds.left + gradient.direction.x1, bounds.top + gradient.direction.y1, bounds.left + gradient.direction.x0, bounds.top + gradient.direction.y0); + + addColorStops(gradient, linearGradient); + this.ctx.fillStyle = linearGradient; + this.ctx.fillRect(bounds.left, bounds.top, bounds.width, bounds.height); + } + }, { + key: 'renderRadialGradient', + value: function renderRadialGradient(bounds, gradient) { + var _this3 = this; + + var x = bounds.left + gradient.center.x; + var y = bounds.top + gradient.center.y; + + var radialGradient = this.ctx.createRadialGradient(x, y, 0, x, y, gradient.radius.x); + if (!radialGradient) { + return; + } + + addColorStops(gradient, radialGradient); + this.ctx.fillStyle = radialGradient; + + if (gradient.radius.x !== gradient.radius.y) { + // transforms for elliptical radial gradient + var midX = bounds.left + 0.5 * bounds.width; + var midY = bounds.top + 0.5 * bounds.height; + var f = gradient.radius.y / gradient.radius.x; + var invF = 1 / f; + + this.transform(midX, midY, [1, 0, 0, f, 0, 0], function () { + return _this3.ctx.fillRect(bounds.left, invF * (bounds.top - midY) + midY, bounds.width, bounds.height * invF); + }); + } else { + this.ctx.fillRect(bounds.left, bounds.top, bounds.width, bounds.height); + } + } + }, { + key: 'renderRepeat', + value: function renderRepeat(path, image, imageSize, offsetX, offsetY) { + this.path(path); + this.ctx.fillStyle = this.ctx.createPattern(this.resizeImage(image, imageSize), 'repeat'); + this.ctx.translate(offsetX, offsetY); + this.ctx.fill(); + this.ctx.translate(-offsetX, -offsetY); + } + }, { + key: 'renderTextNode', + value: function renderTextNode(textBounds, color, font, textDecoration$$1, textShadows) { + var _this4 = this; + + this.ctx.font = [font.fontStyle, font.fontVariant, font.fontWeight, font.fontSize, font.fontFamily].join(' '); + + textBounds.forEach(function (text) { + _this4.ctx.fillStyle = color.toString(); + if (textShadows && text.text.trim().length) { + textShadows.slice(0).reverse().forEach(function (textShadow) { + _this4.ctx.shadowColor = textShadow.color.toString(); + _this4.ctx.shadowOffsetX = textShadow.offsetX * _this4.options.scale; + _this4.ctx.shadowOffsetY = textShadow.offsetY * _this4.options.scale; + _this4.ctx.shadowBlur = textShadow.blur; + + _this4.ctx.fillText(text.text, text.bounds.left, text.bounds.top + text.bounds.height); + }); + } else { + _this4.ctx.fillText(text.text, text.bounds.left, text.bounds.top + text.bounds.height); + } + + if (textDecoration$$1 !== null) { + var textDecorationColor = textDecoration$$1.textDecorationColor || color; + textDecoration$$1.textDecorationLine.forEach(function (textDecorationLine) { + switch (textDecorationLine) { + case textDecoration.TEXT_DECORATION_LINE.UNDERLINE: + // Draws a line at the baseline of the font + // TODO As some browsers display the line as more than 1px if the font-size is big, + // need to take that into account both in position and size + var _options$fontMetrics$ = _this4.options.fontMetrics.getMetrics(font), + baseline = _options$fontMetrics$.baseline; + + _this4.rectangle(text.bounds.left, Math.round(text.bounds.top + baseline), text.bounds.width, 1, textDecorationColor); + break; + case textDecoration.TEXT_DECORATION_LINE.OVERLINE: + _this4.rectangle(text.bounds.left, Math.round(text.bounds.top), text.bounds.width, 1, textDecorationColor); + break; + case textDecoration.TEXT_DECORATION_LINE.LINE_THROUGH: + // TODO try and find exact position for line-through + var _options$fontMetrics$2 = _this4.options.fontMetrics.getMetrics(font), + middle = _options$fontMetrics$2.middle; + + _this4.rectangle(text.bounds.left, Math.ceil(text.bounds.top + middle), text.bounds.width, 1, textDecorationColor); + break; + } + }); + } + }); + } + }, { + key: 'resizeImage', + value: function resizeImage(image, size) { + if (image.width === size.width && image.height === size.height) { + return image; + } + + var canvas = this.canvas.ownerDocument.createElement('canvas'); + canvas.width = size.width; + canvas.height = size.height; + var ctx = canvas.getContext('2d'); + ctx.drawImage(image, 0, 0, image.width, image.height, 0, 0, size.width, size.height); + return canvas; + } + }, { + key: 'setOpacity', + value: function setOpacity(opacity) { + this.ctx.globalAlpha = opacity; + } + }, { + key: 'transform', + value: function transform(offsetX, offsetY, matrix, callback) { + this.ctx.save(); + this.ctx.translate(offsetX, offsetY); + this.ctx.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]); + this.ctx.translate(-offsetX, -offsetY); + + callback(); + + this.ctx.restore(); + } + }]); + + return CanvasRenderer; +}(); + +exports.default = CanvasRenderer; +}); + +unwrapExports(CanvasRenderer_1); + +var Logger_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Logger = function () { + function Logger(enabled, id, start) { + _classCallCheck(this, Logger); + + this.enabled = typeof window !== 'undefined' && enabled; + this.start = start ? start : Date.now(); + this.id = id; + } + + _createClass(Logger, [{ + key: 'child', + value: function child(id) { + return new Logger(this.enabled, id, this.start); + } + + // eslint-disable-next-line flowtype/no-weak-types + + }, { + key: 'log', + value: function log() { + if (this.enabled && window.console && window.console.log) { + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + Function.prototype.bind.call(window.console.log, window.console).apply(window.console, [Date.now() - this.start + 'ms', this.id ? 'html2canvas (' + this.id + '):' : 'html2canvas:'].concat([].slice.call(args, 0))); + } + } + + // eslint-disable-next-line flowtype/no-weak-types + + }, { + key: 'error', + value: function error() { + if (this.enabled && window.console && window.console.error) { + for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + Function.prototype.bind.call(window.console.error, window.console).apply(window.console, [Date.now() - this.start + 'ms', this.id ? 'html2canvas (' + this.id + '):' : 'html2canvas:'].concat([].slice.call(args, 0))); + } + } + }]); + + return Logger; +}(); + +exports.default = Logger; +}); + +unwrapExports(Logger_1); + +var Util = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +var contains = exports.contains = function contains(bit, value) { + return (bit & value) !== 0; +}; + +var distance = exports.distance = function distance(a, b) { + return Math.sqrt(a * a + b * b); +}; + +var copyCSSStyles = exports.copyCSSStyles = function copyCSSStyles(style, target) { + // Edge does not provide value for cssText + for (var i = style.length - 1; i >= 0; i--) { + var property = style.item(i); + // Safari shows pseudoelements if content is set + if (property !== 'content') { + target.style.setProperty(property, style.getPropertyValue(property)); + } + } + return target; +}; + +var SMALL_IMAGE = exports.SMALL_IMAGE = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'; +}); + +unwrapExports(Util); +var Util_1 = Util.contains; +var Util_2 = Util.distance; +var Util_3 = Util.copyCSSStyles; +var Util_4 = Util.SMALL_IMAGE; + +var Length_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.calculateLengthFromValueWithUnit = exports.LENGTH_TYPE = undefined; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + + +var _NodeContainer2 = _interopRequireDefault(NodeContainer_1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var LENGTH_TYPE = exports.LENGTH_TYPE = { + PX: 0, + PERCENTAGE: 1 +}; + +var Length = function () { + function Length(value) { + _classCallCheck(this, Length); + + this.type = value.substr(value.length - 1) === '%' ? LENGTH_TYPE.PERCENTAGE : LENGTH_TYPE.PX; + var parsedValue = parseFloat(value); + this.value = isNaN(parsedValue) ? 0 : parsedValue; + } + + _createClass(Length, [{ + key: 'isPercentage', + value: function isPercentage() { + return this.type === LENGTH_TYPE.PERCENTAGE; + } + }, { + key: 'getAbsoluteValue', + value: function getAbsoluteValue(parentLength) { + return this.isPercentage() ? parentLength * (this.value / 100) : this.value; + } + }], [{ + key: 'create', + value: function create(v) { + return new Length(v); + } + }]); + + return Length; +}(); + +exports.default = Length; + + +var getRootFontSize = function getRootFontSize(container) { + var parent = container.parent; + return parent ? getRootFontSize(parent) : parseFloat(container.style.font.fontSize); +}; + +var calculateLengthFromValueWithUnit = exports.calculateLengthFromValueWithUnit = function calculateLengthFromValueWithUnit(container, value, unit) { + switch (unit) { + case 'px': + case '%': + return new Length(value + unit); + case 'em': + case 'rem': + var length = new Length(value); + length.value *= unit === 'em' ? parseFloat(container.style.font.fontSize) : getRootFontSize(container); + return length; + default: + // TODO: handle correctly if unknown unit is used + return new Length('0'); + } +}; +}); + +unwrapExports(Length_1); +var Length_2 = Length_1.calculateLengthFromValueWithUnit; +var Length_3 = Length_1.LENGTH_TYPE; + +var Size_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Size = function Size(width, height) { + _classCallCheck(this, Size); + + this.width = width; + this.height = height; +}; + +exports.default = Size; +}); + +unwrapExports(Size_1); + +var Vector_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); + + + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Vector = function Vector(x, y) { + _classCallCheck(this, Vector); + + this.type = Path.PATH.VECTOR; + this.x = x; + this.y = y; + +}; + +exports.default = Vector; +}); + +unwrapExports(Vector_1); + +var BezierCurve_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + + + + +var _Vector2 = _interopRequireDefault(Vector_1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var lerp = function lerp(a, b, t) { + return new _Vector2.default(a.x + (b.x - a.x) * t, a.y + (b.y - a.y) * t); +}; + +var BezierCurve = function () { + function BezierCurve(start, startControl, endControl, end) { + _classCallCheck(this, BezierCurve); + + this.type = Path.PATH.BEZIER_CURVE; + this.start = start; + this.startControl = startControl; + this.endControl = endControl; + this.end = end; + } + + _createClass(BezierCurve, [{ + key: 'subdivide', + value: function subdivide(t, firstHalf) { + var ab = lerp(this.start, this.startControl, t); + var bc = lerp(this.startControl, this.endControl, t); + var cd = lerp(this.endControl, this.end, t); + var abbc = lerp(ab, bc, t); + var bccd = lerp(bc, cd, t); + var dest = lerp(abbc, bccd, t); + return firstHalf ? new BezierCurve(this.start, ab, abbc, dest) : new BezierCurve(dest, bccd, cd, this.end); + } + }, { + key: 'reverse', + value: function reverse() { + return new BezierCurve(this.end, this.endControl, this.startControl, this.start); + } + }]); + + return BezierCurve; +}(); + +exports.default = BezierCurve; +}); + +unwrapExports(BezierCurve_1); + +var Bounds_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parseBoundCurves = exports.calculatePaddingBoxPath = exports.calculateBorderBoxPath = exports.parsePathForBorder = exports.parseDocumentSize = exports.calculateContentBox = exports.calculatePaddingBox = exports.parseBounds = exports.Bounds = undefined; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + + +var _Vector2 = _interopRequireDefault(Vector_1); + + + +var _BezierCurve2 = _interopRequireDefault(BezierCurve_1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var TOP = 0; +var RIGHT = 1; +var BOTTOM = 2; +var LEFT = 3; + +var H = 0; +var V = 1; + +var Bounds = exports.Bounds = function () { + function Bounds(x, y, w, h) { + _classCallCheck(this, Bounds); + + this.left = x; + this.top = y; + this.width = w; + this.height = h; + } + + _createClass(Bounds, null, [{ + key: 'fromClientRect', + value: function fromClientRect(clientRect, scrollX, scrollY) { + return new Bounds(clientRect.left + scrollX, clientRect.top + scrollY, clientRect.width, clientRect.height); + } + }]); + + return Bounds; +}(); + +var parseBounds = exports.parseBounds = function parseBounds(node, scrollX, scrollY) { + return Bounds.fromClientRect(node.getBoundingClientRect(), scrollX, scrollY); +}; + +var calculatePaddingBox = exports.calculatePaddingBox = function calculatePaddingBox(bounds, borders) { + return new Bounds(bounds.left + borders[LEFT].borderWidth, bounds.top + borders[TOP].borderWidth, bounds.width - (borders[RIGHT].borderWidth + borders[LEFT].borderWidth), bounds.height - (borders[TOP].borderWidth + borders[BOTTOM].borderWidth)); +}; + +var calculateContentBox = exports.calculateContentBox = function calculateContentBox(bounds, padding, borders) { + // TODO support percentage paddings + var paddingTop = padding[TOP].value; + var paddingRight = padding[RIGHT].value; + var paddingBottom = padding[BOTTOM].value; + var paddingLeft = padding[LEFT].value; + + return new Bounds(bounds.left + paddingLeft + borders[LEFT].borderWidth, bounds.top + paddingTop + borders[TOP].borderWidth, bounds.width - (borders[RIGHT].borderWidth + borders[LEFT].borderWidth + paddingLeft + paddingRight), bounds.height - (borders[TOP].borderWidth + borders[BOTTOM].borderWidth + paddingTop + paddingBottom)); +}; + +var parseDocumentSize = exports.parseDocumentSize = function parseDocumentSize(document) { + var body = document.body; + var documentElement = document.documentElement; + + if (!body || !documentElement) { + throw new Error(''); + } + var width = Math.max(Math.max(body.scrollWidth, documentElement.scrollWidth), Math.max(body.offsetWidth, documentElement.offsetWidth), Math.max(body.clientWidth, documentElement.clientWidth)); + + var height = Math.max(Math.max(body.scrollHeight, documentElement.scrollHeight), Math.max(body.offsetHeight, documentElement.offsetHeight), Math.max(body.clientHeight, documentElement.clientHeight)); + + return new Bounds(0, 0, width, height); +}; + +var parsePathForBorder = exports.parsePathForBorder = function parsePathForBorder(curves, borderSide) { + switch (borderSide) { + case TOP: + return createPathFromCurves(curves.topLeftOuter, curves.topLeftInner, curves.topRightOuter, curves.topRightInner); + case RIGHT: + return createPathFromCurves(curves.topRightOuter, curves.topRightInner, curves.bottomRightOuter, curves.bottomRightInner); + case BOTTOM: + return createPathFromCurves(curves.bottomRightOuter, curves.bottomRightInner, curves.bottomLeftOuter, curves.bottomLeftInner); + case LEFT: + default: + return createPathFromCurves(curves.bottomLeftOuter, curves.bottomLeftInner, curves.topLeftOuter, curves.topLeftInner); + } +}; + +var createPathFromCurves = function createPathFromCurves(outer1, inner1, outer2, inner2) { + var path = []; + if (outer1 instanceof _BezierCurve2.default) { + path.push(outer1.subdivide(0.5, false)); + } else { + path.push(outer1); + } + + if (outer2 instanceof _BezierCurve2.default) { + path.push(outer2.subdivide(0.5, true)); + } else { + path.push(outer2); + } + + if (inner2 instanceof _BezierCurve2.default) { + path.push(inner2.subdivide(0.5, true).reverse()); + } else { + path.push(inner2); + } + + if (inner1 instanceof _BezierCurve2.default) { + path.push(inner1.subdivide(0.5, false).reverse()); + } else { + path.push(inner1); + } + + return path; +}; + +var calculateBorderBoxPath = exports.calculateBorderBoxPath = function calculateBorderBoxPath(curves) { + return [curves.topLeftOuter, curves.topRightOuter, curves.bottomRightOuter, curves.bottomLeftOuter]; +}; + +var calculatePaddingBoxPath = exports.calculatePaddingBoxPath = function calculatePaddingBoxPath(curves) { + return [curves.topLeftInner, curves.topRightInner, curves.bottomRightInner, curves.bottomLeftInner]; +}; + +var parseBoundCurves = exports.parseBoundCurves = function parseBoundCurves(bounds, borders, borderRadius) { + var tlh = borderRadius[CORNER.TOP_LEFT][H].getAbsoluteValue(bounds.width); + var tlv = borderRadius[CORNER.TOP_LEFT][V].getAbsoluteValue(bounds.height); + var trh = borderRadius[CORNER.TOP_RIGHT][H].getAbsoluteValue(bounds.width); + var trv = borderRadius[CORNER.TOP_RIGHT][V].getAbsoluteValue(bounds.height); + var brh = borderRadius[CORNER.BOTTOM_RIGHT][H].getAbsoluteValue(bounds.width); + var brv = borderRadius[CORNER.BOTTOM_RIGHT][V].getAbsoluteValue(bounds.height); + var blh = borderRadius[CORNER.BOTTOM_LEFT][H].getAbsoluteValue(bounds.width); + var blv = borderRadius[CORNER.BOTTOM_LEFT][V].getAbsoluteValue(bounds.height); + + var factors = []; + factors.push((tlh + trh) / bounds.width); + factors.push((blh + brh) / bounds.width); + factors.push((tlv + blv) / bounds.height); + factors.push((trv + brv) / bounds.height); + var maxFactor = Math.max.apply(Math, factors); + + if (maxFactor > 1) { + tlh /= maxFactor; + tlv /= maxFactor; + trh /= maxFactor; + trv /= maxFactor; + brh /= maxFactor; + brv /= maxFactor; + blh /= maxFactor; + blv /= maxFactor; + } + + var topWidth = bounds.width - trh; + var rightHeight = bounds.height - brv; + var bottomWidth = bounds.width - brh; + var leftHeight = bounds.height - blv; + + return { + topLeftOuter: tlh > 0 || tlv > 0 ? getCurvePoints(bounds.left, bounds.top, tlh, tlv, CORNER.TOP_LEFT) : new _Vector2.default(bounds.left, bounds.top), + topLeftInner: tlh > 0 || tlv > 0 ? getCurvePoints(bounds.left + borders[LEFT].borderWidth, bounds.top + borders[TOP].borderWidth, Math.max(0, tlh - borders[LEFT].borderWidth), Math.max(0, tlv - borders[TOP].borderWidth), CORNER.TOP_LEFT) : new _Vector2.default(bounds.left + borders[LEFT].borderWidth, bounds.top + borders[TOP].borderWidth), + topRightOuter: trh > 0 || trv > 0 ? getCurvePoints(bounds.left + topWidth, bounds.top, trh, trv, CORNER.TOP_RIGHT) : new _Vector2.default(bounds.left + bounds.width, bounds.top), + topRightInner: trh > 0 || trv > 0 ? getCurvePoints(bounds.left + Math.min(topWidth, bounds.width + borders[LEFT].borderWidth), bounds.top + borders[TOP].borderWidth, topWidth > bounds.width + borders[LEFT].borderWidth ? 0 : trh - borders[LEFT].borderWidth, trv - borders[TOP].borderWidth, CORNER.TOP_RIGHT) : new _Vector2.default(bounds.left + bounds.width - borders[RIGHT].borderWidth, bounds.top + borders[TOP].borderWidth), + bottomRightOuter: brh > 0 || brv > 0 ? getCurvePoints(bounds.left + bottomWidth, bounds.top + rightHeight, brh, brv, CORNER.BOTTOM_RIGHT) : new _Vector2.default(bounds.left + bounds.width, bounds.top + bounds.height), + bottomRightInner: brh > 0 || brv > 0 ? getCurvePoints(bounds.left + Math.min(bottomWidth, bounds.width - borders[LEFT].borderWidth), bounds.top + Math.min(rightHeight, bounds.height + borders[TOP].borderWidth), Math.max(0, brh - borders[RIGHT].borderWidth), brv - borders[BOTTOM].borderWidth, CORNER.BOTTOM_RIGHT) : new _Vector2.default(bounds.left + bounds.width - borders[RIGHT].borderWidth, bounds.top + bounds.height - borders[BOTTOM].borderWidth), + bottomLeftOuter: blh > 0 || blv > 0 ? getCurvePoints(bounds.left, bounds.top + leftHeight, blh, blv, CORNER.BOTTOM_LEFT) : new _Vector2.default(bounds.left, bounds.top + bounds.height), + bottomLeftInner: blh > 0 || blv > 0 ? getCurvePoints(bounds.left + borders[LEFT].borderWidth, bounds.top + leftHeight, Math.max(0, blh - borders[LEFT].borderWidth), blv - borders[BOTTOM].borderWidth, CORNER.BOTTOM_LEFT) : new _Vector2.default(bounds.left + borders[LEFT].borderWidth, bounds.top + bounds.height - borders[BOTTOM].borderWidth) + }; +}; + +var CORNER = { + TOP_LEFT: 0, + TOP_RIGHT: 1, + BOTTOM_RIGHT: 2, + BOTTOM_LEFT: 3 +}; + +var getCurvePoints = function getCurvePoints(x, y, r1, r2, position) { + var kappa = 4 * ((Math.sqrt(2) - 1) / 3); + var ox = r1 * kappa; // control point offset horizontal + var oy = r2 * kappa; // control point offset vertical + var xm = x + r1; // x-middle + var ym = y + r2; // y-middle + + switch (position) { + case CORNER.TOP_LEFT: + return new _BezierCurve2.default(new _Vector2.default(x, ym), new _Vector2.default(x, ym - oy), new _Vector2.default(xm - ox, y), new _Vector2.default(xm, y)); + case CORNER.TOP_RIGHT: + return new _BezierCurve2.default(new _Vector2.default(x, y), new _Vector2.default(x + ox, y), new _Vector2.default(xm, ym - oy), new _Vector2.default(xm, ym)); + case CORNER.BOTTOM_RIGHT: + return new _BezierCurve2.default(new _Vector2.default(xm, y), new _Vector2.default(xm, y + oy), new _Vector2.default(x + ox, ym), new _Vector2.default(x, ym)); + case CORNER.BOTTOM_LEFT: + default: + return new _BezierCurve2.default(new _Vector2.default(xm, ym), new _Vector2.default(xm - ox, ym), new _Vector2.default(x, y + oy), new _Vector2.default(x, y)); + } +}; +}); + +unwrapExports(Bounds_1); +var Bounds_2 = Bounds_1.parseBoundCurves; +var Bounds_3 = Bounds_1.calculatePaddingBoxPath; +var Bounds_4 = Bounds_1.calculateBorderBoxPath; +var Bounds_5 = Bounds_1.parsePathForBorder; +var Bounds_6 = Bounds_1.parseDocumentSize; +var Bounds_7 = Bounds_1.calculateContentBox; +var Bounds_8 = Bounds_1.calculatePaddingBox; +var Bounds_9 = Bounds_1.parseBounds; +var Bounds_10 = Bounds_1.Bounds; + +var padding = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parsePadding = exports.PADDING_SIDES = undefined; + + + +var _Length2 = _interopRequireDefault(Length_1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var PADDING_SIDES = exports.PADDING_SIDES = { + TOP: 0, + RIGHT: 1, + BOTTOM: 2, + LEFT: 3 +}; + +var SIDES = ['top', 'right', 'bottom', 'left']; + +var parsePadding = exports.parsePadding = function parsePadding(style) { + return SIDES.map(function (side) { + return new _Length2.default(style.getPropertyValue('padding-' + side)); + }); +}; +}); + +unwrapExports(padding); +var padding_1 = padding.parsePadding; +var padding_2 = padding.PADDING_SIDES; + +var background = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parseBackgroundImage = exports.parseBackground = exports.calculateBackgroundRepeatPath = exports.calculateBackgroundPosition = exports.calculateBackgroungPositioningArea = exports.calculateBackgroungPaintingArea = exports.calculateGradientBackgroundSize = exports.calculateBackgroundSize = exports.BACKGROUND_ORIGIN = exports.BACKGROUND_CLIP = exports.BACKGROUND_SIZE = exports.BACKGROUND_REPEAT = undefined; + + + +var _Color2 = _interopRequireDefault(Color_1); + + + +var _Length2 = _interopRequireDefault(Length_1); + + + +var _Size2 = _interopRequireDefault(Size_1); + + + +var _Vector2 = _interopRequireDefault(Vector_1); + + + + + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var BACKGROUND_REPEAT = exports.BACKGROUND_REPEAT = { + REPEAT: 0, + NO_REPEAT: 1, + REPEAT_X: 2, + REPEAT_Y: 3 +}; + +var BACKGROUND_SIZE = exports.BACKGROUND_SIZE = { + AUTO: 0, + CONTAIN: 1, + COVER: 2, + LENGTH: 3 +}; + +var BACKGROUND_CLIP = exports.BACKGROUND_CLIP = { + BORDER_BOX: 0, + PADDING_BOX: 1, + CONTENT_BOX: 2 +}; + +var BACKGROUND_ORIGIN = exports.BACKGROUND_ORIGIN = BACKGROUND_CLIP; + +var AUTO = 'auto'; + +var BackgroundSize = function BackgroundSize(size) { + _classCallCheck(this, BackgroundSize); + + switch (size) { + case 'contain': + this.size = BACKGROUND_SIZE.CONTAIN; + break; + case 'cover': + this.size = BACKGROUND_SIZE.COVER; + break; + case 'auto': + this.size = BACKGROUND_SIZE.AUTO; + break; + default: + this.value = new _Length2.default(size); + } +}; + +var calculateBackgroundSize = exports.calculateBackgroundSize = function calculateBackgroundSize(backgroundImage, image, bounds) { + var width = 0; + var height = 0; + var size = backgroundImage.size; + if (size[0].size === BACKGROUND_SIZE.CONTAIN || size[0].size === BACKGROUND_SIZE.COVER) { + var targetRatio = bounds.width / bounds.height; + var currentRatio = image.width / image.height; + return targetRatio < currentRatio !== (size[0].size === BACKGROUND_SIZE.COVER) ? new _Size2.default(bounds.width, bounds.width / currentRatio) : new _Size2.default(bounds.height * currentRatio, bounds.height); + } + + if (size[0].value) { + width = size[0].value.getAbsoluteValue(bounds.width); + } + + if (size[0].size === BACKGROUND_SIZE.AUTO && size[1].size === BACKGROUND_SIZE.AUTO) { + height = image.height; + } else if (size[1].size === BACKGROUND_SIZE.AUTO) { + height = width / image.width * image.height; + } else if (size[1].value) { + height = size[1].value.getAbsoluteValue(bounds.height); + } + + if (size[0].size === BACKGROUND_SIZE.AUTO) { + width = height / image.height * image.width; + } + + return new _Size2.default(width, height); +}; + +var calculateGradientBackgroundSize = exports.calculateGradientBackgroundSize = function calculateGradientBackgroundSize(backgroundImage, bounds) { + var size = backgroundImage.size; + var width = size[0].value ? size[0].value.getAbsoluteValue(bounds.width) : bounds.width; + var height = size[1].value ? size[1].value.getAbsoluteValue(bounds.height) : size[0].value ? width : bounds.height; + + return new _Size2.default(width, height); +}; + +var AUTO_SIZE = new BackgroundSize(AUTO); + +var calculateBackgroungPaintingArea = exports.calculateBackgroungPaintingArea = function calculateBackgroungPaintingArea(curves, clip) { + switch (clip) { + case BACKGROUND_CLIP.BORDER_BOX: + return (0, Bounds_1.calculateBorderBoxPath)(curves); + case BACKGROUND_CLIP.PADDING_BOX: + default: + return (0, Bounds_1.calculatePaddingBoxPath)(curves); + } +}; + +var calculateBackgroungPositioningArea = exports.calculateBackgroungPositioningArea = function calculateBackgroungPositioningArea(backgroundOrigin, bounds, padding$$1, border) { + var paddingBox = (0, Bounds_1.calculatePaddingBox)(bounds, border); + + switch (backgroundOrigin) { + case BACKGROUND_ORIGIN.BORDER_BOX: + return bounds; + case BACKGROUND_ORIGIN.CONTENT_BOX: + var paddingLeft = padding$$1[padding.PADDING_SIDES.LEFT].getAbsoluteValue(bounds.width); + var paddingRight = padding$$1[padding.PADDING_SIDES.RIGHT].getAbsoluteValue(bounds.width); + var paddingTop = padding$$1[padding.PADDING_SIDES.TOP].getAbsoluteValue(bounds.width); + var paddingBottom = padding$$1[padding.PADDING_SIDES.BOTTOM].getAbsoluteValue(bounds.width); + return new Bounds_1.Bounds(paddingBox.left + paddingLeft, paddingBox.top + paddingTop, paddingBox.width - paddingLeft - paddingRight, paddingBox.height - paddingTop - paddingBottom); + case BACKGROUND_ORIGIN.PADDING_BOX: + default: + return paddingBox; + } +}; + +var calculateBackgroundPosition = exports.calculateBackgroundPosition = function calculateBackgroundPosition(position, size, bounds) { + return new _Vector2.default(position[0].getAbsoluteValue(bounds.width - size.width), position[1].getAbsoluteValue(bounds.height - size.height)); +}; + +var calculateBackgroundRepeatPath = exports.calculateBackgroundRepeatPath = function calculateBackgroundRepeatPath(background, position, size, backgroundPositioningArea, bounds) { + var repeat = background.repeat; + switch (repeat) { + case BACKGROUND_REPEAT.REPEAT_X: + return [new _Vector2.default(Math.round(bounds.left), Math.round(backgroundPositioningArea.top + position.y)), new _Vector2.default(Math.round(bounds.left + bounds.width), Math.round(backgroundPositioningArea.top + position.y)), new _Vector2.default(Math.round(bounds.left + bounds.width), Math.round(size.height + backgroundPositioningArea.top + position.y)), new _Vector2.default(Math.round(bounds.left), Math.round(size.height + backgroundPositioningArea.top + position.y))]; + case BACKGROUND_REPEAT.REPEAT_Y: + return [new _Vector2.default(Math.round(backgroundPositioningArea.left + position.x), Math.round(bounds.top)), new _Vector2.default(Math.round(backgroundPositioningArea.left + position.x + size.width), Math.round(bounds.top)), new _Vector2.default(Math.round(backgroundPositioningArea.left + position.x + size.width), Math.round(bounds.height + bounds.top)), new _Vector2.default(Math.round(backgroundPositioningArea.left + position.x), Math.round(bounds.height + bounds.top))]; + case BACKGROUND_REPEAT.NO_REPEAT: + return [new _Vector2.default(Math.round(backgroundPositioningArea.left + position.x), Math.round(backgroundPositioningArea.top + position.y)), new _Vector2.default(Math.round(backgroundPositioningArea.left + position.x + size.width), Math.round(backgroundPositioningArea.top + position.y)), new _Vector2.default(Math.round(backgroundPositioningArea.left + position.x + size.width), Math.round(backgroundPositioningArea.top + position.y + size.height)), new _Vector2.default(Math.round(backgroundPositioningArea.left + position.x), Math.round(backgroundPositioningArea.top + position.y + size.height))]; + default: + return [new _Vector2.default(Math.round(bounds.left), Math.round(bounds.top)), new _Vector2.default(Math.round(bounds.left + bounds.width), Math.round(bounds.top)), new _Vector2.default(Math.round(bounds.left + bounds.width), Math.round(bounds.height + bounds.top)), new _Vector2.default(Math.round(bounds.left), Math.round(bounds.height + bounds.top))]; + } +}; + +var parseBackground = exports.parseBackground = function parseBackground(style, resourceLoader) { + return { + backgroundColor: new _Color2.default(style.backgroundColor), + backgroundImage: parseBackgroundImages(style, resourceLoader), + backgroundClip: parseBackgroundClip(style.backgroundClip), + backgroundOrigin: parseBackgroundOrigin(style.backgroundOrigin) + }; +}; + +var parseBackgroundClip = function parseBackgroundClip(backgroundClip) { + switch (backgroundClip) { + case 'padding-box': + return BACKGROUND_CLIP.PADDING_BOX; + case 'content-box': + return BACKGROUND_CLIP.CONTENT_BOX; + } + return BACKGROUND_CLIP.BORDER_BOX; +}; + +var parseBackgroundOrigin = function parseBackgroundOrigin(backgroundOrigin) { + switch (backgroundOrigin) { + case 'padding-box': + return BACKGROUND_ORIGIN.PADDING_BOX; + case 'content-box': + return BACKGROUND_ORIGIN.CONTENT_BOX; + } + return BACKGROUND_ORIGIN.BORDER_BOX; +}; + +var parseBackgroundRepeat = function parseBackgroundRepeat(backgroundRepeat) { + switch (backgroundRepeat.trim()) { + case 'no-repeat': + return BACKGROUND_REPEAT.NO_REPEAT; + case 'repeat-x': + case 'repeat no-repeat': + return BACKGROUND_REPEAT.REPEAT_X; + case 'repeat-y': + case 'no-repeat repeat': + return BACKGROUND_REPEAT.REPEAT_Y; + case 'repeat': + return BACKGROUND_REPEAT.REPEAT; + } + + return BACKGROUND_REPEAT.REPEAT; +}; + +var parseBackgroundImages = function parseBackgroundImages(style, resourceLoader) { + var sources = parseBackgroundImage(style.backgroundImage).map(function (backgroundImage) { + if (backgroundImage.method === 'url') { + var key = resourceLoader.loadImage(backgroundImage.args[0]); + backgroundImage.args = key ? [key] : []; + } + return backgroundImage; + }); + var positions = style.backgroundPosition.split(','); + var repeats = style.backgroundRepeat.split(','); + var sizes = style.backgroundSize.split(','); + + return sources.map(function (source, index) { + var size = (sizes[index] || AUTO).trim().split(' ').map(parseBackgroundSize); + var position = (positions[index] || AUTO).trim().split(' ').map(parseBackgoundPosition); + + return { + source: source, + repeat: parseBackgroundRepeat(typeof repeats[index] === 'string' ? repeats[index] : repeats[0]), + size: size.length < 2 ? [size[0], AUTO_SIZE] : [size[0], size[1]], + position: position.length < 2 ? [position[0], position[0]] : [position[0], position[1]] + }; + }); +}; + +var parseBackgroundSize = function parseBackgroundSize(size) { + return size === 'auto' ? AUTO_SIZE : new BackgroundSize(size); +}; + +var parseBackgoundPosition = function parseBackgoundPosition(position) { + switch (position) { + case 'bottom': + case 'right': + return new _Length2.default('100%'); + case 'left': + case 'top': + return new _Length2.default('0%'); + case 'auto': + return new _Length2.default('0'); + } + return new _Length2.default(position); +}; + +var parseBackgroundImage = exports.parseBackgroundImage = function parseBackgroundImage(image) { + var whitespace = /^\s$/; + var results = []; + + var args = []; + var method = ''; + var quote = null; + var definition = ''; + var mode = 0; + var numParen = 0; + + var appendResult = function appendResult() { + var prefix = ''; + if (method) { + if (definition.substr(0, 1) === '"') { + definition = definition.substr(1, definition.length - 2); + } + + if (definition) { + args.push(definition.trim()); + } + + var prefix_i = method.indexOf('-', 1) + 1; + if (method.substr(0, 1) === '-' && prefix_i > 0) { + prefix = method.substr(0, prefix_i).toLowerCase(); + method = method.substr(prefix_i); + } + method = method.toLowerCase(); + if (method !== 'none') { + results.push({ + prefix: prefix, + method: method, + args: args + }); + } + } + args = []; + method = definition = ''; + }; + + image.split('').forEach(function (c) { + if (mode === 0 && whitespace.test(c)) { + return; + } + switch (c) { + case '"': + if (!quote) { + quote = c; + } else if (quote === c) { + quote = null; + } + break; + case '(': + if (quote) { + break; + } else if (mode === 0) { + mode = 1; + return; + } else { + numParen++; + } + break; + case ')': + if (quote) { + break; + } else if (mode === 1) { + if (numParen === 0) { + mode = 0; + appendResult(); + return; + } else { + numParen--; + } + } + break; + + case ',': + if (quote) { + break; + } else if (mode === 0) { + appendResult(); + return; + } else if (mode === 1) { + if (numParen === 0 && !method.match(/^url$/i)) { + args.push(definition.trim()); + definition = ''; + return; + } + } + break; + } + + if (mode === 0) { + method += c; + } else { + definition += c; + } + }); + + appendResult(); + return results; +}; +}); + +unwrapExports(background); +var background_1 = background.parseBackgroundImage; +var background_2 = background.parseBackground; +var background_3 = background.calculateBackgroundRepeatPath; +var background_4 = background.calculateBackgroundPosition; +var background_5 = background.calculateBackgroungPositioningArea; +var background_6 = background.calculateBackgroungPaintingArea; +var background_7 = background.calculateGradientBackgroundSize; +var background_8 = background.calculateBackgroundSize; +var background_9 = background.BACKGROUND_ORIGIN; +var background_10 = background.BACKGROUND_CLIP; +var background_11 = background.BACKGROUND_SIZE; +var background_12 = background.BACKGROUND_REPEAT; + +var border = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parseBorder = exports.BORDER_SIDES = exports.BORDER_STYLE = undefined; + + + +var _Color2 = _interopRequireDefault(Color_1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var BORDER_STYLE = exports.BORDER_STYLE = { + NONE: 0, + SOLID: 1 +}; + +var BORDER_SIDES = exports.BORDER_SIDES = { + TOP: 0, + RIGHT: 1, + BOTTOM: 2, + LEFT: 3 +}; + +var SIDES = Object.keys(BORDER_SIDES).map(function (s) { + return s.toLowerCase(); +}); + +var parseBorderStyle = function parseBorderStyle(style) { + switch (style) { + case 'none': + return BORDER_STYLE.NONE; + } + return BORDER_STYLE.SOLID; +}; + +var parseBorder = exports.parseBorder = function parseBorder(style) { + return SIDES.map(function (side) { + var borderColor = new _Color2.default(style.getPropertyValue('border-' + side + '-color')); + var borderStyle = parseBorderStyle(style.getPropertyValue('border-' + side + '-style')); + var borderWidth = parseFloat(style.getPropertyValue('border-' + side + '-width')); + return { + borderColor: borderColor, + borderStyle: borderStyle, + borderWidth: isNaN(borderWidth) ? 0 : borderWidth + }; + }); +}; +}); + +unwrapExports(border); +var border_1 = border.parseBorder; +var border_2 = border.BORDER_SIDES; +var border_3 = border.BORDER_STYLE; + +var borderRadius = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parseBorderRadius = undefined; + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); + + + +var _Length2 = _interopRequireDefault(Length_1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var SIDES = ['top-left', 'top-right', 'bottom-right', 'bottom-left']; + +var parseBorderRadius = exports.parseBorderRadius = function parseBorderRadius(style) { + return SIDES.map(function (side) { + var value = style.getPropertyValue('border-' + side + '-radius'); + + var _value$split$map = value.split(' ').map(_Length2.default.create), + _value$split$map2 = _slicedToArray(_value$split$map, 2), + horizontal = _value$split$map2[0], + vertical = _value$split$map2[1]; + + return typeof vertical === 'undefined' ? [horizontal, horizontal] : [horizontal, vertical]; + }); +}; +}); + +unwrapExports(borderRadius); +var borderRadius_1 = borderRadius.parseBorderRadius; + +var display = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +var DISPLAY = exports.DISPLAY = { + NONE: 1 << 0, + BLOCK: 1 << 1, + INLINE: 1 << 2, + RUN_IN: 1 << 3, + FLOW: 1 << 4, + FLOW_ROOT: 1 << 5, + TABLE: 1 << 6, + FLEX: 1 << 7, + GRID: 1 << 8, + RUBY: 1 << 9, + SUBGRID: 1 << 10, + LIST_ITEM: 1 << 11, + TABLE_ROW_GROUP: 1 << 12, + TABLE_HEADER_GROUP: 1 << 13, + TABLE_FOOTER_GROUP: 1 << 14, + TABLE_ROW: 1 << 15, + TABLE_CELL: 1 << 16, + TABLE_COLUMN_GROUP: 1 << 17, + TABLE_COLUMN: 1 << 18, + TABLE_CAPTION: 1 << 19, + RUBY_BASE: 1 << 20, + RUBY_TEXT: 1 << 21, + RUBY_BASE_CONTAINER: 1 << 22, + RUBY_TEXT_CONTAINER: 1 << 23, + CONTENTS: 1 << 24, + INLINE_BLOCK: 1 << 25, + INLINE_LIST_ITEM: 1 << 26, + INLINE_TABLE: 1 << 27, + INLINE_FLEX: 1 << 28, + INLINE_GRID: 1 << 29 +}; + +var parseDisplayValue = function parseDisplayValue(display) { + switch (display) { + case 'block': + return DISPLAY.BLOCK; + case 'inline': + return DISPLAY.INLINE; + case 'run-in': + return DISPLAY.RUN_IN; + case 'flow': + return DISPLAY.FLOW; + case 'flow-root': + return DISPLAY.FLOW_ROOT; + case 'table': + return DISPLAY.TABLE; + case 'flex': + return DISPLAY.FLEX; + case 'grid': + return DISPLAY.GRID; + case 'ruby': + return DISPLAY.RUBY; + case 'subgrid': + return DISPLAY.SUBGRID; + case 'list-item': + return DISPLAY.LIST_ITEM; + case 'table-row-group': + return DISPLAY.TABLE_ROW_GROUP; + case 'table-header-group': + return DISPLAY.TABLE_HEADER_GROUP; + case 'table-footer-group': + return DISPLAY.TABLE_FOOTER_GROUP; + case 'table-row': + return DISPLAY.TABLE_ROW; + case 'table-cell': + return DISPLAY.TABLE_CELL; + case 'table-column-group': + return DISPLAY.TABLE_COLUMN_GROUP; + case 'table-column': + return DISPLAY.TABLE_COLUMN; + case 'table-caption': + return DISPLAY.TABLE_CAPTION; + case 'ruby-base': + return DISPLAY.RUBY_BASE; + case 'ruby-text': + return DISPLAY.RUBY_TEXT; + case 'ruby-base-container': + return DISPLAY.RUBY_BASE_CONTAINER; + case 'ruby-text-container': + return DISPLAY.RUBY_TEXT_CONTAINER; + case 'contents': + return DISPLAY.CONTENTS; + case 'inline-block': + return DISPLAY.INLINE_BLOCK; + case 'inline-list-item': + return DISPLAY.INLINE_LIST_ITEM; + case 'inline-table': + return DISPLAY.INLINE_TABLE; + case 'inline-flex': + return DISPLAY.INLINE_FLEX; + case 'inline-grid': + return DISPLAY.INLINE_GRID; + } + + return DISPLAY.NONE; +}; + +var setDisplayBit = function setDisplayBit(bit, display) { + return bit | parseDisplayValue(display); +}; + +var parseDisplay = exports.parseDisplay = function parseDisplay(display) { + return display.split(' ').reduce(setDisplayBit, 0); +}; +}); + +unwrapExports(display); +var display_1 = display.DISPLAY; +var display_2 = display.parseDisplay; + +var float_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +var FLOAT = exports.FLOAT = { + NONE: 0, + LEFT: 1, + RIGHT: 2, + INLINE_START: 3, + INLINE_END: 4 +}; + +var parseCSSFloat = exports.parseCSSFloat = function parseCSSFloat(float) { + switch (float) { + case 'left': + return FLOAT.LEFT; + case 'right': + return FLOAT.RIGHT; + case 'inline-start': + return FLOAT.INLINE_START; + case 'inline-end': + return FLOAT.INLINE_END; + } + return FLOAT.NONE; +}; +}); + +unwrapExports(float_1); +var float_2 = float_1.FLOAT; +var float_3 = float_1.parseCSSFloat; + +var font = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); + + +var parseFontWeight = function parseFontWeight(weight) { + switch (weight) { + case 'normal': + return 400; + case 'bold': + return 700; + } + + var value = parseInt(weight, 10); + return isNaN(value) ? 400 : value; +}; + +var parseFont = exports.parseFont = function parseFont(style) { + var fontFamily = style.fontFamily; + var fontSize = style.fontSize; + var fontStyle = style.fontStyle; + var fontVariant = style.fontVariant; + var fontWeight = parseFontWeight(style.fontWeight); + + return { + fontFamily: fontFamily, + fontSize: fontSize, + fontStyle: fontStyle, + fontVariant: fontVariant, + fontWeight: fontWeight + }; +}; +}); + +unwrapExports(font); +var font_1 = font.parseFont; + +var letterSpacing = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +var parseLetterSpacing = exports.parseLetterSpacing = function parseLetterSpacing(letterSpacing) { + if (letterSpacing === 'normal') { + return 0; + } + var value = parseFloat(letterSpacing); + return isNaN(value) ? 0 : value; +}; +}); + +unwrapExports(letterSpacing); +var letterSpacing_1 = letterSpacing.parseLetterSpacing; + +var lineBreak = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +var LINE_BREAK = exports.LINE_BREAK = { + NORMAL: 'normal', + STRICT: 'strict' +}; + +var parseLineBreak = exports.parseLineBreak = function parseLineBreak(wordBreak) { + switch (wordBreak) { + case 'strict': + return LINE_BREAK.STRICT; + case 'normal': + default: + return LINE_BREAK.NORMAL; + } +}; +}); + +unwrapExports(lineBreak); +var lineBreak_1 = lineBreak.LINE_BREAK; +var lineBreak_2 = lineBreak.parseLineBreak; + +var listStyle = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parseListStyle = exports.parseListStyleType = exports.LIST_STYLE_TYPE = exports.LIST_STYLE_POSITION = undefined; + + + +var LIST_STYLE_POSITION = exports.LIST_STYLE_POSITION = { + INSIDE: 0, + OUTSIDE: 1 +}; + +var LIST_STYLE_TYPE = exports.LIST_STYLE_TYPE = { + NONE: -1, + DISC: 0, + CIRCLE: 1, + SQUARE: 2, + DECIMAL: 3, + CJK_DECIMAL: 4, + DECIMAL_LEADING_ZERO: 5, + LOWER_ROMAN: 6, + UPPER_ROMAN: 7, + LOWER_GREEK: 8, + LOWER_ALPHA: 9, + UPPER_ALPHA: 10, + ARABIC_INDIC: 11, + ARMENIAN: 12, + BENGALI: 13, + CAMBODIAN: 14, + CJK_EARTHLY_BRANCH: 15, + CJK_HEAVENLY_STEM: 16, + CJK_IDEOGRAPHIC: 17, + DEVANAGARI: 18, + ETHIOPIC_NUMERIC: 19, + GEORGIAN: 20, + GUJARATI: 21, + GURMUKHI: 22, + HEBREW: 22, + HIRAGANA: 23, + HIRAGANA_IROHA: 24, + JAPANESE_FORMAL: 25, + JAPANESE_INFORMAL: 26, + KANNADA: 27, + KATAKANA: 28, + KATAKANA_IROHA: 29, + KHMER: 30, + KOREAN_HANGUL_FORMAL: 31, + KOREAN_HANJA_FORMAL: 32, + KOREAN_HANJA_INFORMAL: 33, + LAO: 34, + LOWER_ARMENIAN: 35, + MALAYALAM: 36, + MONGOLIAN: 37, + MYANMAR: 38, + ORIYA: 39, + PERSIAN: 40, + SIMP_CHINESE_FORMAL: 41, + SIMP_CHINESE_INFORMAL: 42, + TAMIL: 43, + TELUGU: 44, + THAI: 45, + TIBETAN: 46, + TRAD_CHINESE_FORMAL: 47, + TRAD_CHINESE_INFORMAL: 48, + UPPER_ARMENIAN: 49, + DISCLOSURE_OPEN: 50, + DISCLOSURE_CLOSED: 51 +}; + +var parseListStyleType = exports.parseListStyleType = function parseListStyleType(type) { + switch (type) { + case 'disc': + return LIST_STYLE_TYPE.DISC; + case 'circle': + return LIST_STYLE_TYPE.CIRCLE; + case 'square': + return LIST_STYLE_TYPE.SQUARE; + case 'decimal': + return LIST_STYLE_TYPE.DECIMAL; + case 'cjk-decimal': + return LIST_STYLE_TYPE.CJK_DECIMAL; + case 'decimal-leading-zero': + return LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO; + case 'lower-roman': + return LIST_STYLE_TYPE.LOWER_ROMAN; + case 'upper-roman': + return LIST_STYLE_TYPE.UPPER_ROMAN; + case 'lower-greek': + return LIST_STYLE_TYPE.LOWER_GREEK; + case 'lower-alpha': + return LIST_STYLE_TYPE.LOWER_ALPHA; + case 'upper-alpha': + return LIST_STYLE_TYPE.UPPER_ALPHA; + case 'arabic-indic': + return LIST_STYLE_TYPE.ARABIC_INDIC; + case 'armenian': + return LIST_STYLE_TYPE.ARMENIAN; + case 'bengali': + return LIST_STYLE_TYPE.BENGALI; + case 'cambodian': + return LIST_STYLE_TYPE.CAMBODIAN; + case 'cjk-earthly-branch': + return LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH; + case 'cjk-heavenly-stem': + return LIST_STYLE_TYPE.CJK_HEAVENLY_STEM; + case 'cjk-ideographic': + return LIST_STYLE_TYPE.CJK_IDEOGRAPHIC; + case 'devanagari': + return LIST_STYLE_TYPE.DEVANAGARI; + case 'ethiopic-numeric': + return LIST_STYLE_TYPE.ETHIOPIC_NUMERIC; + case 'georgian': + return LIST_STYLE_TYPE.GEORGIAN; + case 'gujarati': + return LIST_STYLE_TYPE.GUJARATI; + case 'gurmukhi': + return LIST_STYLE_TYPE.GURMUKHI; + case 'hebrew': + return LIST_STYLE_TYPE.HEBREW; + case 'hiragana': + return LIST_STYLE_TYPE.HIRAGANA; + case 'hiragana-iroha': + return LIST_STYLE_TYPE.HIRAGANA_IROHA; + case 'japanese-formal': + return LIST_STYLE_TYPE.JAPANESE_FORMAL; + case 'japanese-informal': + return LIST_STYLE_TYPE.JAPANESE_INFORMAL; + case 'kannada': + return LIST_STYLE_TYPE.KANNADA; + case 'katakana': + return LIST_STYLE_TYPE.KATAKANA; + case 'katakana-iroha': + return LIST_STYLE_TYPE.KATAKANA_IROHA; + case 'khmer': + return LIST_STYLE_TYPE.KHMER; + case 'korean-hangul-formal': + return LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL; + case 'korean-hanja-formal': + return LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL; + case 'korean-hanja-informal': + return LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL; + case 'lao': + return LIST_STYLE_TYPE.LAO; + case 'lower-armenian': + return LIST_STYLE_TYPE.LOWER_ARMENIAN; + case 'malayalam': + return LIST_STYLE_TYPE.MALAYALAM; + case 'mongolian': + return LIST_STYLE_TYPE.MONGOLIAN; + case 'myanmar': + return LIST_STYLE_TYPE.MYANMAR; + case 'oriya': + return LIST_STYLE_TYPE.ORIYA; + case 'persian': + return LIST_STYLE_TYPE.PERSIAN; + case 'simp-chinese-formal': + return LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL; + case 'simp-chinese-informal': + return LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL; + case 'tamil': + return LIST_STYLE_TYPE.TAMIL; + case 'telugu': + return LIST_STYLE_TYPE.TELUGU; + case 'thai': + return LIST_STYLE_TYPE.THAI; + case 'tibetan': + return LIST_STYLE_TYPE.TIBETAN; + case 'trad-chinese-formal': + return LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL; + case 'trad-chinese-informal': + return LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL; + case 'upper-armenian': + return LIST_STYLE_TYPE.UPPER_ARMENIAN; + case 'disclosure-open': + return LIST_STYLE_TYPE.DISCLOSURE_OPEN; + case 'disclosure-closed': + return LIST_STYLE_TYPE.DISCLOSURE_CLOSED; + case 'none': + default: + return LIST_STYLE_TYPE.NONE; + } +}; + +var parseListStyle = exports.parseListStyle = function parseListStyle(style) { + var listStyleImage = (0, background.parseBackgroundImage)(style.getPropertyValue('list-style-image')); + return { + listStyleType: parseListStyleType(style.getPropertyValue('list-style-type')), + listStyleImage: listStyleImage.length ? listStyleImage[0] : null, + listStylePosition: parseListStylePosition(style.getPropertyValue('list-style-position')) + }; +}; + +var parseListStylePosition = function parseListStylePosition(position) { + switch (position) { + case 'inside': + return LIST_STYLE_POSITION.INSIDE; + case 'outside': + default: + return LIST_STYLE_POSITION.OUTSIDE; + } +}; +}); + +unwrapExports(listStyle); +var listStyle_1 = listStyle.parseListStyle; +var listStyle_2 = listStyle.parseListStyleType; +var listStyle_3 = listStyle.LIST_STYLE_TYPE; +var listStyle_4 = listStyle.LIST_STYLE_POSITION; + +var margin = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parseMargin = undefined; + + + +var _Length2 = _interopRequireDefault(Length_1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var SIDES = ['top', 'right', 'bottom', 'left']; + +var parseMargin = exports.parseMargin = function parseMargin(style) { + return SIDES.map(function (side) { + return new _Length2.default(style.getPropertyValue('margin-' + side)); + }); +}; +}); + +unwrapExports(margin); +var margin_1 = margin.parseMargin; + +var overflow = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +var OVERFLOW = exports.OVERFLOW = { + VISIBLE: 0, + HIDDEN: 1, + SCROLL: 2, + AUTO: 3 +}; + +var parseOverflow = exports.parseOverflow = function parseOverflow(overflow) { + switch (overflow) { + case 'hidden': + return OVERFLOW.HIDDEN; + case 'scroll': + return OVERFLOW.SCROLL; + case 'auto': + return OVERFLOW.AUTO; + case 'visible': + default: + return OVERFLOW.VISIBLE; + } +}; +}); + +unwrapExports(overflow); +var overflow_1 = overflow.OVERFLOW; +var overflow_2 = overflow.parseOverflow; + +var overflowWrap = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +var OVERFLOW_WRAP = exports.OVERFLOW_WRAP = { + NORMAL: 0, + BREAK_WORD: 1 +}; + +var parseOverflowWrap = exports.parseOverflowWrap = function parseOverflowWrap(overflow) { + switch (overflow) { + case 'break-word': + return OVERFLOW_WRAP.BREAK_WORD; + case 'normal': + default: + return OVERFLOW_WRAP.NORMAL; + } +}; +}); + +unwrapExports(overflowWrap); +var overflowWrap_1 = overflowWrap.OVERFLOW_WRAP; +var overflowWrap_2 = overflowWrap.parseOverflowWrap; + +var position = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +var POSITION = exports.POSITION = { + STATIC: 0, + RELATIVE: 1, + ABSOLUTE: 2, + FIXED: 3, + STICKY: 4 +}; + +var parsePosition = exports.parsePosition = function parsePosition(position) { + switch (position) { + case 'relative': + return POSITION.RELATIVE; + case 'absolute': + return POSITION.ABSOLUTE; + case 'fixed': + return POSITION.FIXED; + case 'sticky': + return POSITION.STICKY; + } + + return POSITION.STATIC; +}; +}); + +unwrapExports(position); +var position_1 = position.POSITION; +var position_2 = position.parsePosition; + +var textShadow = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parseTextShadow = undefined; + + + +var _Color2 = _interopRequireDefault(Color_1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var NUMBER = /^([+-]|\d|\.)$/i; + +var parseTextShadow = exports.parseTextShadow = function parseTextShadow(textShadow) { + if (textShadow === 'none' || typeof textShadow !== 'string') { + return null; + } + + var currentValue = ''; + var isLength = false; + var values = []; + var shadows = []; + var numParens = 0; + var color = null; + + var appendValue = function appendValue() { + if (currentValue.length) { + if (isLength) { + values.push(parseFloat(currentValue)); + } else { + color = new _Color2.default(currentValue); + } + } + isLength = false; + currentValue = ''; + }; + + var appendShadow = function appendShadow() { + if (values.length && color !== null) { + shadows.push({ + color: color, + offsetX: values[0] || 0, + offsetY: values[1] || 0, + blur: values[2] || 0 + }); + } + values.splice(0, values.length); + color = null; + }; + + for (var i = 0; i < textShadow.length; i++) { + var c = textShadow[i]; + switch (c) { + case '(': + currentValue += c; + numParens++; + break; + case ')': + currentValue += c; + numParens--; + break; + case ',': + if (numParens === 0) { + appendValue(); + appendShadow(); + } else { + currentValue += c; + } + break; + case ' ': + if (numParens === 0) { + appendValue(); + } else { + currentValue += c; + } + break; + default: + if (currentValue.length === 0 && NUMBER.test(c)) { + isLength = true; + } + currentValue += c; + } + } + + appendValue(); + appendShadow(); + + if (shadows.length === 0) { + return null; + } + + return shadows; +}; +}); + +unwrapExports(textShadow); +var textShadow_1 = textShadow.parseTextShadow; + +var textTransform = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +var TEXT_TRANSFORM = exports.TEXT_TRANSFORM = { + NONE: 0, + LOWERCASE: 1, + UPPERCASE: 2, + CAPITALIZE: 3 +}; + +var parseTextTransform = exports.parseTextTransform = function parseTextTransform(textTransform) { + switch (textTransform) { + case 'uppercase': + return TEXT_TRANSFORM.UPPERCASE; + case 'lowercase': + return TEXT_TRANSFORM.LOWERCASE; + case 'capitalize': + return TEXT_TRANSFORM.CAPITALIZE; + } + + return TEXT_TRANSFORM.NONE; +}; +}); + +unwrapExports(textTransform); +var textTransform_1 = textTransform.TEXT_TRANSFORM; +var textTransform_2 = textTransform.parseTextTransform; + +var transform = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parseTransform = undefined; + + + +var _Length2 = _interopRequireDefault(Length_1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var toFloat = function toFloat(s) { + return parseFloat(s.trim()); +}; + +var MATRIX = /(matrix|matrix3d)\((.+)\)/; + +var parseTransform = exports.parseTransform = function parseTransform(style) { + var transform = parseTransformMatrix(style.transform || style.webkitTransform || style.mozTransform || + // $FlowFixMe + style.msTransform || + // $FlowFixMe + style.oTransform); + if (transform === null) { + return null; + } + + return { + transform: transform, + transformOrigin: parseTransformOrigin(style.transformOrigin || style.webkitTransformOrigin || style.mozTransformOrigin || + // $FlowFixMe + style.msTransformOrigin || + // $FlowFixMe + style.oTransformOrigin) + }; +}; + +// $FlowFixMe +var parseTransformOrigin = function parseTransformOrigin(origin) { + if (typeof origin !== 'string') { + var v = new _Length2.default('0'); + return [v, v]; + } + var values = origin.split(' ').map(_Length2.default.create); + return [values[0], values[1]]; +}; + +// $FlowFixMe +var parseTransformMatrix = function parseTransformMatrix(transform) { + if (transform === 'none' || typeof transform !== 'string') { + return null; + } + + var match = transform.match(MATRIX); + if (match) { + if (match[1] === 'matrix') { + var matrix = match[2].split(',').map(toFloat); + return [matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]]; + } else { + var matrix3d = match[2].split(',').map(toFloat); + return [matrix3d[0], matrix3d[1], matrix3d[4], matrix3d[5], matrix3d[12], matrix3d[13]]; + } + } + return null; +}; +}); + +unwrapExports(transform); +var transform_1 = transform.parseTransform; + +var visibility = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +var VISIBILITY = exports.VISIBILITY = { + VISIBLE: 0, + HIDDEN: 1, + COLLAPSE: 2 +}; + +var parseVisibility = exports.parseVisibility = function parseVisibility(visibility) { + switch (visibility) { + case 'hidden': + return VISIBILITY.HIDDEN; + case 'collapse': + return VISIBILITY.COLLAPSE; + case 'visible': + default: + return VISIBILITY.VISIBLE; + } +}; +}); + +unwrapExports(visibility); +var visibility_1 = visibility.VISIBILITY; +var visibility_2 = visibility.parseVisibility; + +var wordBreak = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +var WORD_BREAK = exports.WORD_BREAK = { + NORMAL: 'normal', + BREAK_ALL: 'break-all', + KEEP_ALL: 'keep-all' +}; + +var parseWordBreak = exports.parseWordBreak = function parseWordBreak(wordBreak) { + switch (wordBreak) { + case 'break-all': + return WORD_BREAK.BREAK_ALL; + case 'keep-all': + return WORD_BREAK.KEEP_ALL; + case 'normal': + default: + return WORD_BREAK.NORMAL; + } +}; +}); + +unwrapExports(wordBreak); +var wordBreak_1 = wordBreak.WORD_BREAK; +var wordBreak_2 = wordBreak.parseWordBreak; + +var zIndex = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +var parseZIndex = exports.parseZIndex = function parseZIndex(zIndex) { + var auto = zIndex === 'auto'; + return { + auto: auto, + order: auto ? 0 : parseInt(zIndex, 10) + }; +}; +}); + +unwrapExports(zIndex); +var zIndex_1 = zIndex.parseZIndex; + +var ForeignObjectRenderer_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var ForeignObjectRenderer = function () { + function ForeignObjectRenderer(element) { + _classCallCheck(this, ForeignObjectRenderer); + + this.element = element; + } + + _createClass(ForeignObjectRenderer, [{ + key: 'render', + value: function render(options) { + var _this = this; + + this.options = options; + this.canvas = document.createElement('canvas'); + this.ctx = this.canvas.getContext('2d'); + this.canvas.width = Math.floor(options.width) * options.scale; + this.canvas.height = Math.floor(options.height) * options.scale; + this.canvas.style.width = options.width + 'px'; + this.canvas.style.height = options.height + 'px'; + + options.logger.log('ForeignObject renderer initialized (' + options.width + 'x' + options.height + ' at ' + options.x + ',' + options.y + ') with scale ' + options.scale); + var svg = createForeignObjectSVG(Math.max(options.windowWidth, options.width) * options.scale, Math.max(options.windowHeight, options.height) * options.scale, options.scrollX * options.scale, options.scrollY * options.scale, this.element); + + return loadSerializedSVG(svg).then(function (img) { + if (options.backgroundColor) { + _this.ctx.fillStyle = options.backgroundColor.toString(); + _this.ctx.fillRect(0, 0, options.width * options.scale, options.height * options.scale); + } + + _this.ctx.drawImage(img, -options.x * options.scale, -options.y * options.scale); + return _this.canvas; + }); + } + }]); + + return ForeignObjectRenderer; +}(); + +exports.default = ForeignObjectRenderer; +var createForeignObjectSVG = exports.createForeignObjectSVG = function createForeignObjectSVG(width, height, x, y, node) { + var xmlns = 'http://www.w3.org/2000/svg'; + var svg = document.createElementNS(xmlns, 'svg'); + var foreignObject = document.createElementNS(xmlns, 'foreignObject'); + svg.setAttributeNS(null, 'width', width); + svg.setAttributeNS(null, 'height', height); + + foreignObject.setAttributeNS(null, 'width', '100%'); + foreignObject.setAttributeNS(null, 'height', '100%'); + foreignObject.setAttributeNS(null, 'x', x); + foreignObject.setAttributeNS(null, 'y', y); + foreignObject.setAttributeNS(null, 'externalResourcesRequired', 'true'); + svg.appendChild(foreignObject); + + foreignObject.appendChild(node); + + return svg; +}; + +var loadSerializedSVG = exports.loadSerializedSVG = function loadSerializedSVG(svg) { + return new Promise(function (resolve, reject) { + var img = new Image(); + img.onload = function () { + return resolve(img); + }; + img.onerror = reject; + + img.src = 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(new XMLSerializer().serializeToString(svg)); + }); +}; +}); + +unwrapExports(ForeignObjectRenderer_1); +var ForeignObjectRenderer_2 = ForeignObjectRenderer_1.createForeignObjectSVG; +var ForeignObjectRenderer_3 = ForeignObjectRenderer_1.loadSerializedSVG; + +var Feature = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); + + + +var testRangeBounds = function testRangeBounds(document) { + var TEST_HEIGHT = 123; + + if (document.createRange) { + var range = document.createRange(); + if (range.getBoundingClientRect) { + var testElement = document.createElement('boundtest'); + testElement.style.height = TEST_HEIGHT + 'px'; + testElement.style.display = 'block'; + document.body.appendChild(testElement); + + range.selectNode(testElement); + var rangeBounds = range.getBoundingClientRect(); + var rangeHeight = Math.round(rangeBounds.height); + document.body.removeChild(testElement); + if (rangeHeight === TEST_HEIGHT) { + return true; + } + } + } + + return false; +}; + +// iOS 10.3 taints canvas with base64 images unless crossOrigin = 'anonymous' +var testBase64 = function testBase64(document, src) { + var img = new Image(); + var canvas = document.createElement('canvas'); + var ctx = canvas.getContext('2d'); + + return new Promise(function (resolve) { + // Single pixel base64 image renders fine on iOS 10.3??? + img.src = src; + + var onload = function onload() { + try { + ctx.drawImage(img, 0, 0); + canvas.toDataURL(); + } catch (e) { + return resolve(false); + } + + return resolve(true); + }; + + img.onload = onload; + img.onerror = function () { + return resolve(false); + }; + + if (img.complete === true) { + setTimeout(function () { + onload(); + }, 500); + } + }); +}; + +var testCORS = function testCORS() { + return typeof new Image().crossOrigin !== 'undefined'; +}; + +var testResponseType = function testResponseType() { + return typeof new XMLHttpRequest().responseType === 'string'; +}; + +var testSVG = function testSVG(document) { + var img = new Image(); + var canvas = document.createElement('canvas'); + var ctx = canvas.getContext('2d'); + img.src = 'data:image/svg+xml,<svg xmlns=\'http://www.w3.org/2000/svg\'></svg>'; + + try { + ctx.drawImage(img, 0, 0); + canvas.toDataURL(); + } catch (e) { + return false; + } + return true; +}; + +var isGreenPixel = function isGreenPixel(data) { + return data[0] === 0 && data[1] === 255 && data[2] === 0 && data[3] === 255; +}; + +var testForeignObject = function testForeignObject(document) { + var canvas = document.createElement('canvas'); + var size = 100; + canvas.width = size; + canvas.height = size; + var ctx = canvas.getContext('2d'); + ctx.fillStyle = 'rgb(0, 255, 0)'; + ctx.fillRect(0, 0, size, size); + + var img = new Image(); + var greenImageSrc = canvas.toDataURL(); + img.src = greenImageSrc; + var svg = (0, ForeignObjectRenderer_1.createForeignObjectSVG)(size, size, 0, 0, img); + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, size, size); + + return (0, ForeignObjectRenderer_1.loadSerializedSVG)(svg).then(function (img) { + ctx.drawImage(img, 0, 0); + var data = ctx.getImageData(0, 0, size, size).data; + ctx.fillStyle = 'red'; + ctx.fillRect(0, 0, size, size); + + var node = document.createElement('div'); + node.style.backgroundImage = 'url(' + greenImageSrc + ')'; + node.style.height = size + 'px'; + // Firefox 55 does not render inline <img /> tags + return isGreenPixel(data) ? (0, ForeignObjectRenderer_1.loadSerializedSVG)((0, ForeignObjectRenderer_1.createForeignObjectSVG)(size, size, 0, 0, node)) : Promise.reject(false); + }).then(function (img) { + ctx.drawImage(img, 0, 0); + // Edge does not render background-images + return isGreenPixel(ctx.getImageData(0, 0, size, size).data); + }).catch(function (e) { + return false; + }); +}; + +var FEATURES = { + // $FlowFixMe - get/set properties not yet supported + get SUPPORT_RANGE_BOUNDS() { + var value = testRangeBounds(document); + Object.defineProperty(FEATURES, 'SUPPORT_RANGE_BOUNDS', { value: value }); + return value; + }, + // $FlowFixMe - get/set properties not yet supported + get SUPPORT_SVG_DRAWING() { + var value = testSVG(document); + Object.defineProperty(FEATURES, 'SUPPORT_SVG_DRAWING', { value: value }); + return value; + }, + // $FlowFixMe - get/set properties not yet supported + get SUPPORT_BASE64_DRAWING() { + return function (src) { + var _value = testBase64(document, src); + Object.defineProperty(FEATURES, 'SUPPORT_BASE64_DRAWING', { value: function value() { + return _value; + } }); + return _value; + }; + }, + // $FlowFixMe - get/set properties not yet supported + get SUPPORT_FOREIGNOBJECT_DRAWING() { + var value = typeof Array.from === 'function' && typeof window.fetch === 'function' ? testForeignObject(document) : Promise.resolve(false); + Object.defineProperty(FEATURES, 'SUPPORT_FOREIGNOBJECT_DRAWING', { value: value }); + return value; + }, + // $FlowFixMe - get/set properties not yet supported + get SUPPORT_CORS_IMAGES() { + var value = testCORS(); + Object.defineProperty(FEATURES, 'SUPPORT_CORS_IMAGES', { value: value }); + return value; + }, + // $FlowFixMe - get/set properties not yet supported + get SUPPORT_RESPONSE_TYPE() { + var value = testResponseType(); + Object.defineProperty(FEATURES, 'SUPPORT_RESPONSE_TYPE', { value: value }); + return value; + }, + // $FlowFixMe - get/set properties not yet supported + get SUPPORT_CORS_XHR() { + var value = 'withCredentials' in new XMLHttpRequest(); + Object.defineProperty(FEATURES, 'SUPPORT_CORS_XHR', { value: value }); + return value; + } +}; + +exports.default = FEATURES; +}); + +unwrapExports(Feature); + +var Util$2 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +var toCodePoints = exports.toCodePoints = function toCodePoints(str) { + var codePoints = []; + var i = 0; + var length = str.length; + while (i < length) { + var value = str.charCodeAt(i++); + if (value >= 0xd800 && value <= 0xdbff && i < length) { + var extra = str.charCodeAt(i++); + if ((extra & 0xfc00) === 0xdc00) { + codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000); + } else { + codePoints.push(value); + i--; + } + } else { + codePoints.push(value); + } + } + return codePoints; +}; + +var fromCodePoint = exports.fromCodePoint = function fromCodePoint() { + if (String.fromCodePoint) { + return String.fromCodePoint.apply(String, arguments); + } + + var length = arguments.length; + if (!length) { + return ''; + } + + var codeUnits = []; + + var index = -1; + var result = ''; + while (++index < length) { + var codePoint = arguments.length <= index ? undefined : arguments[index]; + if (codePoint <= 0xffff) { + codeUnits.push(codePoint); + } else { + codePoint -= 0x10000; + codeUnits.push((codePoint >> 10) + 0xd800, codePoint % 0x400 + 0xdc00); + } + if (index + 1 === length || codeUnits.length > 0x4000) { + result += String.fromCharCode.apply(String, codeUnits); + codeUnits.length = 0; + } + } + return result; +}; + +var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + +// Use a lookup table to find the index. +var lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256); +for (var i = 0; i < chars.length; i++) { + lookup[chars.charCodeAt(i)] = i; +} + +var decode = exports.decode = function decode(base64) { + var bufferLength = base64.length * 0.75, + len = base64.length, + i = void 0, + p = 0, + encoded1 = void 0, + encoded2 = void 0, + encoded3 = void 0, + encoded4 = void 0; + + if (base64[base64.length - 1] === '=') { + bufferLength--; + if (base64[base64.length - 2] === '=') { + bufferLength--; + } + } + + var buffer = typeof ArrayBuffer !== 'undefined' && typeof Uint8Array !== 'undefined' && typeof Uint8Array.prototype.slice !== 'undefined' ? new ArrayBuffer(bufferLength) : new Array(bufferLength); + var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer); + + for (i = 0; i < len; i += 4) { + encoded1 = lookup[base64.charCodeAt(i)]; + encoded2 = lookup[base64.charCodeAt(i + 1)]; + encoded3 = lookup[base64.charCodeAt(i + 2)]; + encoded4 = lookup[base64.charCodeAt(i + 3)]; + + bytes[p++] = encoded1 << 2 | encoded2 >> 4; + bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2; + bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63; + } + + return buffer; +}; + +var polyUint16Array = exports.polyUint16Array = function polyUint16Array(buffer) { + var length = buffer.length; + var bytes = []; + for (var _i = 0; _i < length; _i += 2) { + bytes.push(buffer[_i + 1] << 8 | buffer[_i]); + } + return bytes; +}; + +var polyUint32Array = exports.polyUint32Array = function polyUint32Array(buffer) { + var length = buffer.length; + var bytes = []; + for (var _i2 = 0; _i2 < length; _i2 += 4) { + bytes.push(buffer[_i2 + 3] << 24 | buffer[_i2 + 2] << 16 | buffer[_i2 + 1] << 8 | buffer[_i2]); + } + return bytes; +}; +}); + +unwrapExports(Util$2); +var Util_1$1 = Util$2.toCodePoints; +var Util_2$1 = Util$2.fromCodePoint; +var Util_3$1 = Util$2.decode; +var Util_4$1 = Util$2.polyUint16Array; +var Util_5 = Util$2.polyUint32Array; + +var Trie_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.Trie = exports.createTrieFromBase64 = exports.UTRIE2_INDEX_2_MASK = exports.UTRIE2_INDEX_2_BLOCK_LENGTH = exports.UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = exports.UTRIE2_INDEX_1_OFFSET = exports.UTRIE2_UTF8_2B_INDEX_2_LENGTH = exports.UTRIE2_UTF8_2B_INDEX_2_OFFSET = exports.UTRIE2_INDEX_2_BMP_LENGTH = exports.UTRIE2_LSCP_INDEX_2_LENGTH = exports.UTRIE2_DATA_MASK = exports.UTRIE2_DATA_BLOCK_LENGTH = exports.UTRIE2_LSCP_INDEX_2_OFFSET = exports.UTRIE2_SHIFT_1_2 = exports.UTRIE2_INDEX_SHIFT = exports.UTRIE2_SHIFT_1 = exports.UTRIE2_SHIFT_2 = undefined; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +/** Shift size for getting the index-2 table offset. */ +var UTRIE2_SHIFT_2 = exports.UTRIE2_SHIFT_2 = 5; + +/** Shift size for getting the index-1 table offset. */ +var UTRIE2_SHIFT_1 = exports.UTRIE2_SHIFT_1 = 6 + 5; + +/** + * Shift size for shifting left the index array values. + * Increases possible data size with 16-bit index values at the cost + * of compactability. + * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY. + */ +var UTRIE2_INDEX_SHIFT = exports.UTRIE2_INDEX_SHIFT = 2; + +/** + * Difference between the two shift sizes, + * for getting an index-1 offset from an index-2 offset. 6=11-5 + */ +var UTRIE2_SHIFT_1_2 = exports.UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2; + +/** + * The part of the index-2 table for U+D800..U+DBFF stores values for + * lead surrogate code _units_ not code _points_. + * Values for lead surrogate code _points_ are indexed with this portion of the table. + * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.) + */ +var UTRIE2_LSCP_INDEX_2_OFFSET = exports.UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2; + +/** Number of entries in a data block. 32=0x20 */ +var UTRIE2_DATA_BLOCK_LENGTH = exports.UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2; +/** Mask for getting the lower bits for the in-data-block offset. */ +var UTRIE2_DATA_MASK = exports.UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1; + +var UTRIE2_LSCP_INDEX_2_LENGTH = exports.UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2; +/** Count the lengths of both BMP pieces. 2080=0x820 */ +var UTRIE2_INDEX_2_BMP_LENGTH = exports.UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH; +/** + * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820. + * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2. + */ +var UTRIE2_UTF8_2B_INDEX_2_OFFSET = exports.UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH; +var UTRIE2_UTF8_2B_INDEX_2_LENGTH = exports.UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */ +/** + * The index-1 table, only used for supplementary code points, at offset 2112=0x840. + * Variable length, for code points up to highStart, where the last single-value range starts. + * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1. + * (For 0x100000 supplementary code points U+10000..U+10ffff.) + * + * The part of the index-2 table for supplementary code points starts + * after this index-1 table. + * + * Both the index-1 table and the following part of the index-2 table + * are omitted completely if there is only BMP data. + */ +var UTRIE2_INDEX_1_OFFSET = exports.UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH; + +/** + * Number of index-1 entries for the BMP. 32=0x20 + * This part of the index-1 table is omitted from the serialized form. + */ +var UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = exports.UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1; + +/** Number of entries in an index-2 block. 64=0x40 */ +var UTRIE2_INDEX_2_BLOCK_LENGTH = exports.UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2; +/** Mask for getting the lower bits for the in-index-2-block offset. */ +var UTRIE2_INDEX_2_MASK = exports.UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1; + +var createTrieFromBase64 = exports.createTrieFromBase64 = function createTrieFromBase64(base64) { + var buffer = (0, Util$2.decode)(base64); + var view32 = Array.isArray(buffer) ? (0, Util$2.polyUint32Array)(buffer) : new Uint32Array(buffer); + var view16 = Array.isArray(buffer) ? (0, Util$2.polyUint16Array)(buffer) : new Uint16Array(buffer); + var headerLength = 24; + + var index = view16.slice(headerLength / 2, view32[4] / 2); + var data = view32[5] === 2 ? view16.slice((headerLength + view32[4]) / 2) : view32.slice(Math.ceil((headerLength + view32[4]) / 4)); + + return new Trie(view32[0], view32[1], view32[2], view32[3], index, data); +}; + +var Trie = exports.Trie = function () { + function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) { + _classCallCheck(this, Trie); + + this.initialValue = initialValue; + this.errorValue = errorValue; + this.highStart = highStart; + this.highValueIndex = highValueIndex; + this.index = index; + this.data = data; + } + + /** + * Get the value for a code point as stored in the Trie. + * + * @param codePoint the code point + * @return the value + */ + + + _createClass(Trie, [{ + key: 'get', + value: function get(codePoint) { + var ix = void 0; + if (codePoint >= 0) { + if (codePoint < 0x0d800 || codePoint > 0x0dbff && codePoint <= 0x0ffff) { + // Ordinary BMP code point, excluding leading surrogates. + // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index. + // 16 bit data is stored in the index array itself. + ix = this.index[codePoint >> UTRIE2_SHIFT_2]; + ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK); + return this.data[ix]; + } + + if (codePoint <= 0xffff) { + // Lead Surrogate Code Point. A Separate index section is stored for + // lead surrogate code units and code points. + // The main index has the code unit data. + // For this function, we need the code point data. + // Note: this expression could be refactored for slightly improved efficiency, but + // surrogate code points will be so rare in practice that it's not worth it. + ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + (codePoint - 0xd800 >> UTRIE2_SHIFT_2)]; + ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK); + return this.data[ix]; + } + + if (codePoint < this.highStart) { + // Supplemental code point, use two-level lookup. + ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1); + ix = this.index[ix]; + ix += codePoint >> UTRIE2_SHIFT_2 & UTRIE2_INDEX_2_MASK; + ix = this.index[ix]; + ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK); + return this.data[ix]; + } + if (codePoint <= 0x10ffff) { + return this.data[this.highValueIndex]; + } + } + + // Fall through. The code point is outside of the legal range of 0..0x10ffff. + return this.errorValue; + } + }]); + + return Trie; +}(); +}); + +unwrapExports(Trie_1); +var Trie_2 = Trie_1.Trie; +var Trie_3 = Trie_1.createTrieFromBase64; +var Trie_4 = Trie_1.UTRIE2_INDEX_2_MASK; +var Trie_5 = Trie_1.UTRIE2_INDEX_2_BLOCK_LENGTH; +var Trie_6 = Trie_1.UTRIE2_OMITTED_BMP_INDEX_1_LENGTH; +var Trie_7 = Trie_1.UTRIE2_INDEX_1_OFFSET; +var Trie_8 = Trie_1.UTRIE2_UTF8_2B_INDEX_2_LENGTH; +var Trie_9 = Trie_1.UTRIE2_UTF8_2B_INDEX_2_OFFSET; +var Trie_10 = Trie_1.UTRIE2_INDEX_2_BMP_LENGTH; +var Trie_11 = Trie_1.UTRIE2_LSCP_INDEX_2_LENGTH; +var Trie_12 = Trie_1.UTRIE2_DATA_MASK; +var Trie_13 = Trie_1.UTRIE2_DATA_BLOCK_LENGTH; +var Trie_14 = Trie_1.UTRIE2_LSCP_INDEX_2_OFFSET; +var Trie_15 = Trie_1.UTRIE2_SHIFT_1_2; +var Trie_16 = Trie_1.UTRIE2_INDEX_SHIFT; +var Trie_17 = Trie_1.UTRIE2_SHIFT_1; +var Trie_18 = Trie_1.UTRIE2_SHIFT_2; + +var linebreakTrie = 'KwAAAAAAAAAACA4AIDoAAPAfAAACAAAAAAAIABAAGABAAEgAUABYAF4AZgBeAGYAYABoAHAAeABeAGYAfACEAIAAiACQAJgAoACoAK0AtQC9AMUAXgBmAF4AZgBeAGYAzQDVAF4AZgDRANkA3gDmAOwA9AD8AAQBDAEUARoBIgGAAIgAJwEvATcBPwFFAU0BTAFUAVwBZAFsAXMBewGDATAAiwGTAZsBogGkAawBtAG8AcIBygHSAdoB4AHoAfAB+AH+AQYCDgIWAv4BHgImAi4CNgI+AkUCTQJTAlsCYwJrAnECeQKBAk0CiQKRApkCoQKoArACuALAAsQCzAIwANQC3ALkAjAA7AL0AvwCAQMJAxADGAMwACADJgMuAzYDPgOAAEYDSgNSA1IDUgNaA1oDYANiA2IDgACAAGoDgAByA3YDfgOAAIQDgACKA5IDmgOAAIAAogOqA4AAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAK8DtwOAAIAAvwPHA88D1wPfAyAD5wPsA/QD/AOAAIAABAQMBBIEgAAWBB4EJgQuBDMEIAM7BEEEXgBJBCADUQRZBGEEaQQwADAAcQQ+AXkEgQSJBJEEgACYBIAAoASoBK8EtwQwAL8ExQSAAIAAgACAAIAAgACgAM0EXgBeAF4AXgBeAF4AXgBeANUEXgDZBOEEXgDpBPEE+QQBBQkFEQUZBSEFKQUxBTUFPQVFBUwFVAVcBV4AYwVeAGsFcwV7BYMFiwWSBV4AmgWgBacFXgBeAF4AXgBeAKsFXgCyBbEFugW7BcIFwgXIBcIFwgXQBdQF3AXkBesF8wX7BQMGCwYTBhsGIwYrBjMGOwZeAD8GRwZNBl4AVAZbBl4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAGMGXgBqBnEGXgBeAF4AXgBeAF4AXgBeAF4AXgB5BoAG4wSGBo4GkwaAAIADHgR5AF4AXgBeAJsGgABGA4AAowarBrMGswagALsGwwbLBjAA0wbaBtoG3QbaBtoG2gbaBtoG2gblBusG8wb7BgMHCwcTBxsHCwcjBysHMAc1BzUHOgdCB9oGSgdSB1oHYAfaBloHaAfaBlIH2gbaBtoG2gbaBtoG2gbaBjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHbQdeAF4ANQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQd1B30HNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B4MH2gaKB68EgACAAIAAgACAAIAAgACAAI8HlwdeAJ8HpweAAIAArwe3B14AXgC/B8UHygcwANAH2AfgB4AA6AfwBz4B+AcACFwBCAgPCBcIogEYAR8IJwiAAC8INwg/CCADRwhPCFcIXwhnCEoDGgSAAIAAgABvCHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIhAiLCI4IMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAANQc1BzUHNQc1BzUHNQc1BzUHNQc1B54INQc1B6II2gaqCLIIugiAAIAAvgjGCIAAgACAAIAAgACAAIAAgACAAIAAywiHAYAA0wiAANkI3QjlCO0I9Aj8CIAAgACAAAIJCgkSCRoJIgknCTYHLwk3CZYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiAAIAAAAFAAXgBeAGAAcABeAHwAQACQAKAArQC9AJ4AXgBeAE0A3gBRAN4A7AD8AMwBGgEAAKcBNwEFAUwBXAF4QkhCmEKnArcCgAHHAsABz4LAAcABwAHAAd+C6ABoAG+C/4LAAcABwAHAAc+DF4MAAcAB54M3gweDV4Nng3eDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEeDqABVg6WDqABoQ6gAaABoAHXDvcONw/3DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DncPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB7cPPwlGCU4JMACAAIAAgABWCV4JYQmAAGkJcAl4CXwJgAkwADAAMAAwAIgJgACLCZMJgACZCZ8JowmrCYAAswkwAF4AXgB8AIAAuwkABMMJyQmAAM4JgADVCTAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAqwYWBNkIMAAwADAAMADdCeAJ6AnuCR4E9gkwAP4JBQoNCjAAMACAABUK0wiAAB0KJAosCjQKgAAwADwKQwqAAEsKvQmdCVMKWwowADAAgACAALcEMACAAGMKgABrCjAAMAAwADAAMAAwADAAMAAwADAAMAAeBDAAMAAwADAAMAAwADAAMAAwADAAMAAwAIkEPQFzCnoKiQSCCooKkAqJBJgKoAqkCokEGAGsCrQKvArBCjAAMADJCtEKFQHZCuEK/gHpCvEKMAAwADAAMACAAIwE+QowAIAAPwEBCzAAMAAwADAAMACAAAkLEQswAIAAPwEZCyELgAAOCCkLMAAxCzkLMAAwADAAMAAwADAAXgBeAEELMAAwADAAMAAwADAAMAAwAEkLTQtVC4AAXAtkC4AAiQkwADAAMAAwADAAMAAwADAAbAtxC3kLgAuFC4sLMAAwAJMLlwufCzAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAApwswADAAMACAAIAAgACvC4AAgACAAIAAgACAALcLMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAvwuAAMcLgACAAIAAgACAAIAAyguAAIAAgACAAIAA0QswADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAANkLgACAAIAA4AswADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACJCR4E6AswADAAhwHwC4AA+AsADAgMEAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMACAAIAAGAwdDCUMMAAwAC0MNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQw1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHPQwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADUHNQc1BzUHNQc1BzUHNQc2BzAAMAA5DDUHNQc1BzUHNQc1BzUHNQc1BzUHNQdFDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAATQxSDFoMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAF4AXgBeAF4AXgBeAF4AYgxeAGoMXgBxDHkMfwxeAIUMXgBeAI0MMAAwADAAMAAwAF4AXgCVDJ0MMAAwADAAMABeAF4ApQxeAKsMswy7DF4Awgy9DMoMXgBeAF4AXgBeAF4AXgBeAF4AXgDRDNkMeQBqCeAM3Ax8AOYM7Az0DPgMXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgCgAAANoAAHDQ4NFg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAeDSYNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAC4NMABeAF4ANg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAD4NRg1ODVYNXg1mDTAAbQ0wADAAMAAwADAAMAAwADAA2gbaBtoG2gbaBtoG2gbaBnUNeg3CBYANwgWFDdoGjA3aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gaUDZwNpA2oDdoG2gawDbcNvw3HDdoG2gbPDdYN3A3fDeYN2gbsDfMN2gbaBvoN/g3aBgYODg7aBl4AXgBeABYOXgBeACUG2gYeDl4AJA5eACwO2w3aBtoGMQ45DtoG2gbaBtoGQQ7aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B1EO2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQdZDjUHNQc1BzUHNQc1B2EONQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHaA41BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B3AO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B2EO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBkkOeA6gAKAAoAAwADAAMAAwAKAAoACgAKAAoACgAKAAgA4wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAD//wQABAAEAAQABAAEAAQABAAEAA0AAwABAAEAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAKABMAFwAeABsAGgAeABcAFgASAB4AGwAYAA8AGAAcAEsASwBLAEsASwBLAEsASwBLAEsAGAAYAB4AHgAeABMAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAFgAbABIAHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYADQARAB4ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkAFgAaABsAGwAbAB4AHQAdAB4ATwAXAB4ADQAeAB4AGgAbAE8ATwAOAFAAHQAdAB0ATwBPABcATwBPAE8AFgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwArAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAAQABAANAA0ASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAUAArACsAKwArACsAKwArACsABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAGgAaAFAAUABQAFAAUABMAB4AGwBQAB4AKwArACsABAAEAAQAKwBQAFAAUABQAFAAUAArACsAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUAArAFAAUAArACsABAArAAQABAAEAAQABAArACsAKwArAAQABAArACsABAAEAAQAKwArACsABAArACsAKwArACsAKwArAFAAUABQAFAAKwBQACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwAEAAQAUABQAFAABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQAKwArAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeABsAKwArACsAKwArACsAKwBQAAQABAAEAAQABAAEACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAKwArACsAKwArACsAKwArAAQABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwAEAFAAKwBQAFAAUABQAFAAUAArACsAKwBQAFAAUAArAFAAUABQAFAAKwArACsAUABQACsAUAArAFAAUAArACsAKwBQAFAAKwArACsAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQAKwArACsABAAEAAQAKwAEAAQABAAEACsAKwBQACsAKwArACsAKwArAAQAKwArACsAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAB4AHgAeAB4AHgAeABsAHgArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArAFAAUABQACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAB4AUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArACsAKwArACsAKwArAFAAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwArAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAKwBcAFwAKwBcACsAKwBcACsAKwArACsAKwArAFwAXABcAFwAKwBcAFwAXABcAFwAXABcACsAXABcAFwAKwBcACsAXAArACsAXABcACsAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgArACoAKgBcACsAKwBcAFwAXABcAFwAKwBcACsAKgAqACoAKgAqACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAFwAXABcAFwAUAAOAA4ADgAOAB4ADgAOAAkADgAOAA0ACQATABMAEwATABMACQAeABMAHgAeAB4ABAAEAB4AHgAeAB4AHgAeAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUAANAAQAHgAEAB4ABAAWABEAFgARAAQABABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAAQABAAEAAQABAANAAQABABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsADQANAB4AHgAeAB4AHgAeAAQAHgAeAB4AHgAeAB4AKwAeAB4ADgAOAA0ADgAeAB4AHgAeAB4ACQAJACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgAeAB4AHgBcAFwAXABcAFwAXAAqACoAKgAqAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAKgAqACoAKgAqACoAKgBcAFwAXAAqACoAKgAqAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAXAAqAEsASwBLAEsASwBLAEsASwBLAEsAKgAqACoAKgAqACoAUABQAFAAUABQAFAAKwBQACsAKwArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQACsAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwAEAAQABAAeAA0AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAEQArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAADQANAA0AUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAA0ADQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoADQANABUAXAANAB4ADQAbAFwAKgArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAB4AHgATABMADQANAA4AHgATABMAHgAEAAQABAAJACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAUABQAFAAUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwAeACsAKwArABMAEwBLAEsASwBLAEsASwBLAEsASwBLAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwBcAFwAXABcAFwAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcACsAKwArACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwAeAB4AXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsABABLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKgAqACoAKgAqACoAKgBcACoAKgAqACoAKgAqACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAUABQAFAAUABQAFAAUAArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4ADQANAA0ADQAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAHgAeAB4AHgBQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwANAA0ADQANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwBQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsABAAEAAQAHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAABABQAFAAUABQAAQABAAEAFAAUAAEAAQABAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAKwBQACsAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAKwArAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAKwAeAB4AHgAeAB4AHgAeAA4AHgArAA0ADQANAA0ADQANAA0ACQANAA0ADQAIAAQACwAEAAQADQAJAA0ADQAMAB0AHQAeABcAFwAWABcAFwAXABYAFwAdAB0AHgAeABQAFAAUAA0AAQABAAQABAAEAAQABAAJABoAGgAaABoAGgAaABoAGgAeABcAFwAdABUAFQAeAB4AHgAeAB4AHgAYABYAEQAVABUAFQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgANAB4ADQANAA0ADQAeAA0ADQANAAcAHgAeAB4AHgArAAQABAAEAAQABAAEAAQABAAEAAQAUABQACsAKwBPAFAAUABQAFAAUAAeAB4AHgAWABEATwBQAE8ATwBPAE8AUABQAFAAUABQAB4AHgAeABYAEQArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGgAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgBQABoAHgAdAB4AUAAeABoAHgAeAB4AHgAeAB4AHgAeAB4ATwAeAFAAGwAeAB4AUABQAFAAUABQAB4AHgAeAB0AHQAeAFAAHgBQAB4AUAAeAFAATwBQAFAAHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AUABQAFAAUABPAE8AUABQAFAAUABQAE8AUABQAE8AUABPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAE8ATwBPAE8ATwBPAE8ATwBPAE8AUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAATwAeAB4AKwArACsAKwAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB0AHQAeAB4AHgAdAB0AHgAeAB0AHgAeAB4AHQAeAB0AGwAbAB4AHQAeAB4AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB0AHgAdAB4AHQAdAB0AHQAdAB0AHgAdAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAdAB0AHQAdAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAlACUAHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB0AHQAeAB4AHgAeAB0AHQAdAB4AHgAdAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB0AHQAeAB4AHQAeAB4AHgAeAB0AHQAeAB4AHgAeACUAJQAdAB0AJQAeACUAJQAlACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHQAdAB0AHgAdACUAHQAdAB4AHQAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHQAdAB0AHQAlAB4AJQAlACUAHQAlACUAHQAdAB0AJQAlAB0AHQAlAB0AHQAlACUAJQAeAB0AHgAeAB4AHgAdAB0AJQAdAB0AHQAdAB0AHQAlACUAJQAlACUAHQAlACUAIAAlAB0AHQAlACUAJQAlACUAJQAlACUAHgAeAB4AJQAlACAAIAAgACAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeABcAFwAXABcAFwAXAB4AEwATACUAHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACUAJQBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwArACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAE8ATwBPAE8ATwBPAE8ATwAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeACsAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUAArACsAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQBQAFAAUABQACsAKwArACsAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAABAAEAAQAKwAEAAQAKwArACsAKwArAAQABAAEAAQAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsABAAEAAQAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsADQANAA0ADQANAA0ADQANAB4AKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAUABQAFAAUABQAA0ADQANAA0ADQANABQAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwANAA0ADQANAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAeAAQABAAEAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLACsADQArAB4AKwArAAQABAAEAAQAUABQAB4AUAArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwAEAAQABAAEAAQABAAEAAQABAAOAA0ADQATABMAHgAeAB4ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0AUABQAFAAUAAEAAQAKwArAAQADQANAB4AUAArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXABcAA0ADQANACoASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUAArACsAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANACsADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEcARwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwAeAAQABAANAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAEAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUAArACsAUAArACsAUABQACsAKwBQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAeAB4ADQANAA0ADQAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAArAAQABAArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAEAAQABAAEAAQABAAEACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAFgAWAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAKwBQACsAKwArACsAKwArAFAAKwArACsAKwBQACsAUAArAFAAKwBQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQACsAUAArAFAAKwBQACsAUABQACsAUAArACsAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAUABQAFAAUAArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUAArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAlACUAJQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeACUAJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeACUAJQAlACUAJQAeACUAJQAlACUAJQAgACAAIAAlACUAIAAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIQAhACEAIQAhACUAJQAgACAAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAIAAlACUAJQAlACAAJQAgACAAIAAgACAAIAAgACAAIAAlACUAJQAgACUAJQAlACUAIAAgACAAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeACUAHgAlAB4AJQAlACUAJQAlACAAJQAlACUAJQAeACUAHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAIAAgACAAIAAgAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFwAXABcAFQAVABUAHgAeAB4AHgAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAlACAAIAAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsA'; + +var LineBreak = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.LineBreaker = exports.inlineBreakOpportunities = exports.lineBreakAtIndex = exports.codePointsToCharacterClasses = exports.UnicodeTrie = exports.BREAK_ALLOWED = exports.BREAK_NOT_ALLOWED = exports.BREAK_MANDATORY = exports.classes = exports.LETTER_NUMBER_MODIFIER = undefined; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); + + + + + +var _linebreakTrie2 = _interopRequireDefault(linebreakTrie); + + + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var LETTER_NUMBER_MODIFIER = exports.LETTER_NUMBER_MODIFIER = 50; + +// Non-tailorable Line Breaking Classes +var BK = 1; // Cause a line break (after) +var CR = 2; // Cause a line break (after), except between CR and LF +var LF = 3; // Cause a line break (after) +var CM = 4; // Prohibit a line break between the character and the preceding character +var NL = 5; // Cause a line break (after) +var SG = 6; // Do not occur in well-formed text +var WJ = 7; // Prohibit line breaks before and after +var ZW = 8; // Provide a break opportunity +var GL = 9; // Prohibit line breaks before and after +var SP = 10; // Enable indirect line breaks +var ZWJ = 11; // Prohibit line breaks within joiner sequences +// Break Opportunities +var B2 = 12; // Provide a line break opportunity before and after the character +var BA = 13; // Generally provide a line break opportunity after the character +var BB = 14; // Generally provide a line break opportunity before the character +var HY = 15; // Provide a line break opportunity after the character, except in numeric context +var CB = 16; // Provide a line break opportunity contingent on additional information +// Characters Prohibiting Certain Breaks +var CL = 17; // Prohibit line breaks before +var CP = 18; // Prohibit line breaks before +var EX = 19; // Prohibit line breaks before +var IN = 20; // Allow only indirect line breaks between pairs +var NS = 21; // Allow only indirect line breaks before +var OP = 22; // Prohibit line breaks after +var QU = 23; // Act like they are both opening and closing +// Numeric Context +var IS = 24; // Prevent breaks after any and before numeric +var NU = 25; // Form numeric expressions for line breaking purposes +var PO = 26; // Do not break following a numeric expression +var PR = 27; // Do not break in front of a numeric expression +var SY = 28; // Prevent a break before; and allow a break after +// Other Characters +var AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID +var AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters +var CJ = 31; // Treat as NS or ID for strict or normal breaking. +var EB = 32; // Do not break from following Emoji Modifier +var EM = 33; // Do not break from preceding Emoji Base +var H2 = 34; // Form Korean syllable blocks +var H3 = 35; // Form Korean syllable blocks +var HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic +var ID = 37; // Break before or after; except in some numeric context +var JL = 38; // Form Korean syllable blocks +var JV = 39; // Form Korean syllable blocks +var JT = 40; // Form Korean syllable blocks +var RI = 41; // Keep pairs together. For pairs; break before and after other classes +var SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis +var XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions + +var classes = exports.classes = { + BK: BK, + CR: CR, + LF: LF, + CM: CM, + NL: NL, + SG: SG, + WJ: WJ, + ZW: ZW, + GL: GL, + SP: SP, + ZWJ: ZWJ, + B2: B2, + BA: BA, + BB: BB, + HY: HY, + CB: CB, + CL: CL, + CP: CP, + EX: EX, + IN: IN, + NS: NS, + OP: OP, + QU: QU, + IS: IS, + NU: NU, + PO: PO, + PR: PR, + SY: SY, + AI: AI, + AL: AL, + CJ: CJ, + EB: EB, + EM: EM, + H2: H2, + H3: H3, + HL: HL, + ID: ID, + JL: JL, + JV: JV, + JT: JT, + RI: RI, + SA: SA, + XX: XX +}; + +var BREAK_MANDATORY = exports.BREAK_MANDATORY = '!'; +var BREAK_NOT_ALLOWED = exports.BREAK_NOT_ALLOWED = '×'; +var BREAK_ALLOWED = exports.BREAK_ALLOWED = '÷'; +var UnicodeTrie = exports.UnicodeTrie = (0, Trie_1.createTrieFromBase64)(_linebreakTrie2.default); + +var ALPHABETICS = [AL, HL]; +var HARD_LINE_BREAKS = [BK, CR, LF, NL]; +var SPACE = [SP, ZW]; +var PREFIX_POSTFIX = [PR, PO]; +var LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE); +var KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3]; +var HYPHEN = [HY, BA]; + +var codePointsToCharacterClasses = exports.codePointsToCharacterClasses = function codePointsToCharacterClasses(codePoints) { + var lineBreak = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'strict'; + + var types = []; + var indicies = []; + var categories = []; + codePoints.forEach(function (codePoint, index) { + var classType = UnicodeTrie.get(codePoint); + if (classType > LETTER_NUMBER_MODIFIER) { + categories.push(true); + classType -= LETTER_NUMBER_MODIFIER; + } else { + categories.push(false); + } + + if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) { + // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0 + if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) { + indicies.push(index); + return types.push(CB); + } + } + + if (classType === CM || classType === ZWJ) { + // LB10 Treat any remaining combining mark or ZWJ as AL. + if (index === 0) { + indicies.push(index); + return types.push(AL); + } + + // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of + // the base character in all of the following rules. Treat ZWJ as if it were CM. + var prev = types[index - 1]; + if (LINE_BREAKS.indexOf(prev) === -1) { + indicies.push(indicies[index - 1]); + return types.push(prev); + } + indicies.push(index); + return types.push(AL); + } + + indicies.push(index); + + if (classType === CJ) { + return types.push(lineBreak === 'strict' ? NS : ID); + } + + if (classType === SA) { + return types.push(AL); + } + + if (classType === AI) { + return types.push(AL); + } + + // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL + // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised + // to take into account the actual line breaking properties for these characters. + if (classType === XX) { + if (codePoint >= 0x20000 && codePoint <= 0x2fffd || codePoint >= 0x30000 && codePoint <= 0x3fffd) { + return types.push(ID); + } else { + return types.push(AL); + } + } + + types.push(classType); + }); + + return [indicies, types, categories]; +}; + +var isAdjacentWithSpaceIgnored = function isAdjacentWithSpaceIgnored(a, b, currentIndex, classTypes) { + var current = classTypes[currentIndex]; + if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) { + var i = currentIndex; + while (i <= classTypes.length) { + i++; + var next = classTypes[i]; + + if (next === b) { + return true; + } + + if (next !== SP) { + break; + } + } + } + + if (current === SP) { + var _i = currentIndex; + + while (_i > 0) { + _i--; + var prev = classTypes[_i]; + + if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) { + var n = currentIndex; + while (n <= classTypes.length) { + n++; + var _next = classTypes[n]; + + if (_next === b) { + return true; + } + + if (_next !== SP) { + break; + } + } + } + + if (prev !== SP) { + break; + } + } + } + return false; +}; + +var previousNonSpaceClassType = function previousNonSpaceClassType(currentIndex, classTypes) { + var i = currentIndex; + while (i >= 0) { + var type = classTypes[i]; + if (type === SP) { + i--; + } else { + return type; + } + } + return 0; +}; + +var _lineBreakAtIndex = function _lineBreakAtIndex(codePoints, classTypes, indicies, index, forbiddenBreaks) { + if (indicies[index] === 0) { + return BREAK_NOT_ALLOWED; + } + + var currentIndex = index - 1; + if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) { + return BREAK_NOT_ALLOWED; + } + + var beforeIndex = currentIndex - 1; + var afterIndex = currentIndex + 1; + var current = classTypes[currentIndex]; + + // LB4 Always break after hard line breaks. + // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks. + var before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0; + var next = classTypes[afterIndex]; + + if (current === CR && next === LF) { + return BREAK_NOT_ALLOWED; + } + + if (HARD_LINE_BREAKS.indexOf(current) !== -1) { + return BREAK_MANDATORY; + } + + // LB6 Do not break before hard line breaks. + if (HARD_LINE_BREAKS.indexOf(next) !== -1) { + return BREAK_NOT_ALLOWED; + } + + // LB7 Do not break before spaces or zero width space. + if (SPACE.indexOf(next) !== -1) { + return BREAK_NOT_ALLOWED; + } + + // LB8 Break before any character following a zero-width space, even if one or more spaces intervene. + if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) { + return BREAK_ALLOWED; + } + + // LB8a Do not break between a zero width joiner and an ideograph, emoji base or emoji modifier. + if (UnicodeTrie.get(codePoints[currentIndex]) === ZWJ && (next === ID || next === EB || next === EM)) { + return BREAK_NOT_ALLOWED; + } + + // LB11 Do not break before or after Word joiner and related characters. + if (current === WJ || next === WJ) { + return BREAK_NOT_ALLOWED; + } + + // LB12 Do not break after NBSP and related characters. + if (current === GL) { + return BREAK_NOT_ALLOWED; + } + + // LB12a Do not break before NBSP and related characters, except after spaces and hyphens. + if ([SP, BA, HY].indexOf(current) === -1 && next === GL) { + return BREAK_NOT_ALLOWED; + } + + // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces. + if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) { + return BREAK_NOT_ALLOWED; + } + + // LB14 Do not break after ‘[’, even after spaces. + if (previousNonSpaceClassType(currentIndex, classTypes) === OP) { + return BREAK_NOT_ALLOWED; + } + + // LB15 Do not break within ‘”[’, even with intervening spaces. + if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) { + return BREAK_NOT_ALLOWED; + } + + // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces. + if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) { + return BREAK_NOT_ALLOWED; + } + + // LB17 Do not break within ‘——’, even with intervening spaces. + if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) { + return BREAK_NOT_ALLOWED; + } + + // LB18 Break after spaces. + if (current === SP) { + return BREAK_ALLOWED; + } + + // LB19 Do not break before or after quotation marks, such as ‘ ” ’. + if (current === QU || next === QU) { + return BREAK_NOT_ALLOWED; + } + + // LB20 Break before and after unresolved CB. + if (next === CB || current === CB) { + return BREAK_ALLOWED; + } + + // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents. + if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) { + return BREAK_NOT_ALLOWED; + } + + // LB21a Don't break after Hebrew + Hyphen. + if (before === HL && HYPHEN.indexOf(current) !== -1) { + return BREAK_NOT_ALLOWED; + } + + // LB21b Don’t break between Solidus and Hebrew letters. + if (current === SY && next === HL) { + return BREAK_NOT_ALLOWED; + } + + // LB22 Do not break between two ellipses, or between letters, numbers or exclamations and ellipsis. + if (next === IN && ALPHABETICS.concat(IN, EX, NU, ID, EB, EM).indexOf(current) !== -1) { + return BREAK_NOT_ALLOWED; + } + + // LB23 Do not break between digits and letters. + if (ALPHABETICS.indexOf(next) !== -1 && current === NU || ALPHABETICS.indexOf(current) !== -1 && next === NU) { + return BREAK_NOT_ALLOWED; + } + + // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes. + if (current === PR && [ID, EB, EM].indexOf(next) !== -1 || [ID, EB, EM].indexOf(current) !== -1 && next === PO) { + return BREAK_NOT_ALLOWED; + } + + // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix. + if (ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1 || PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) { + return BREAK_NOT_ALLOWED; + } + + // LB25 Do not break between the following pairs of classes relevant to numbers: + if ( + // (PR | PO) × ( OP | HY )? NU + [PR, PO].indexOf(current) !== -1 && (next === NU || [OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU) || + // ( OP | HY ) × NU + [OP, HY].indexOf(current) !== -1 && next === NU || + // NU × (NU | SY | IS) + current === NU && [NU, SY, IS].indexOf(next) !== -1) { + return BREAK_NOT_ALLOWED; + } + + // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP) + if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) { + var prevIndex = currentIndex; + while (prevIndex >= 0) { + var type = classTypes[prevIndex]; + if (type === NU) { + return BREAK_NOT_ALLOWED; + } else if ([SY, IS].indexOf(type) !== -1) { + prevIndex--; + } else { + break; + } + } + } + + // NU (NU | SY | IS)* (CL | CP)? × (PO | PR)) + if ([PR, PO].indexOf(next) !== -1) { + var _prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex; + while (_prevIndex >= 0) { + var _type = classTypes[_prevIndex]; + if (_type === NU) { + return BREAK_NOT_ALLOWED; + } else if ([SY, IS].indexOf(_type) !== -1) { + _prevIndex--; + } else { + break; + } + } + } + + // LB26 Do not break a Korean syllable. + if (JL === current && [JL, JV, H2, H3].indexOf(next) !== -1 || [JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1 || [JT, H3].indexOf(current) !== -1 && next === JT) { + return BREAK_NOT_ALLOWED; + } + + // LB27 Treat a Korean Syllable Block the same as ID. + if (KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1 || KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR) { + return BREAK_NOT_ALLOWED; + } + + // LB28 Do not break between alphabetics (“at”). + if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) { + return BREAK_NOT_ALLOWED; + } + + // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”). + if (current === IS && ALPHABETICS.indexOf(next) !== -1) { + return BREAK_NOT_ALLOWED; + } + + // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses. + if (ALPHABETICS.concat(NU).indexOf(current) !== -1 && next === OP || ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP) { + return BREAK_NOT_ALLOWED; + } + + // LB30a Break between two regional indicator symbols if and only if there are an even number of regional + // indicators preceding the position of the break. + if (current === RI && next === RI) { + var i = indicies[currentIndex]; + var count = 1; + while (i > 0) { + i--; + if (classTypes[i] === RI) { + count++; + } else { + break; + } + } + if (count % 2 !== 0) { + return BREAK_NOT_ALLOWED; + } + } + + // LB30b Do not break between an emoji base and an emoji modifier. + if (current === EB && next === EM) { + return BREAK_NOT_ALLOWED; + } + + return BREAK_ALLOWED; +}; + +var lineBreakAtIndex = exports.lineBreakAtIndex = function lineBreakAtIndex(codePoints, index) { + // LB2 Never break at the start of text. + if (index === 0) { + return BREAK_NOT_ALLOWED; + } + + // LB3 Always break at the end of text. + if (index >= codePoints.length) { + return BREAK_MANDATORY; + } + + var _codePointsToCharacte = codePointsToCharacterClasses(codePoints), + _codePointsToCharacte2 = _slicedToArray(_codePointsToCharacte, 2), + indicies = _codePointsToCharacte2[0], + classTypes = _codePointsToCharacte2[1]; + + return _lineBreakAtIndex(codePoints, classTypes, indicies, index); +}; + +var cssFormattedClasses = function cssFormattedClasses(codePoints, options) { + if (!options) { + options = { lineBreak: 'normal', wordBreak: 'normal' }; + } + + var _codePointsToCharacte3 = codePointsToCharacterClasses(codePoints, options.lineBreak), + _codePointsToCharacte4 = _slicedToArray(_codePointsToCharacte3, 3), + indicies = _codePointsToCharacte4[0], + classTypes = _codePointsToCharacte4[1], + isLetterNumber = _codePointsToCharacte4[2]; + + if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') { + classTypes = classTypes.map(function (type) { + return [NU, AL, SA].indexOf(type) !== -1 ? ID : type; + }); + } + + var forbiddenBreakpoints = options.wordBreak === 'keep-all' ? isLetterNumber.map(function (isLetterNumber, i) { + return isLetterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff; + }) : null; + + return [indicies, classTypes, forbiddenBreakpoints]; +}; + +var inlineBreakOpportunities = exports.inlineBreakOpportunities = function inlineBreakOpportunities(str, options) { + var codePoints = (0, Util$2.toCodePoints)(str); + var output = BREAK_NOT_ALLOWED; + + var _cssFormattedClasses = cssFormattedClasses(codePoints, options), + _cssFormattedClasses2 = _slicedToArray(_cssFormattedClasses, 3), + indicies = _cssFormattedClasses2[0], + classTypes = _cssFormattedClasses2[1], + forbiddenBreakpoints = _cssFormattedClasses2[2]; + + codePoints.forEach(function (codePoint, i) { + output += (0, Util$2.fromCodePoint)(codePoint) + (i >= codePoints.length - 1 ? BREAK_MANDATORY : _lineBreakAtIndex(codePoints, classTypes, indicies, i + 1, forbiddenBreakpoints)); + }); + + return output; +}; + +var Break = function () { + function Break(codePoints, lineBreak, start, end) { + _classCallCheck(this, Break); + + this._codePoints = codePoints; + this.required = lineBreak === BREAK_MANDATORY; + this.start = start; + this.end = end; + } + + _createClass(Break, [{ + key: 'slice', + value: function slice() { + return Util$2.fromCodePoint.apply(undefined, _toConsumableArray(this._codePoints.slice(this.start, this.end))); + } + }]); + + return Break; +}(); + +var LineBreaker = exports.LineBreaker = function LineBreaker(str, options) { + var codePoints = (0, Util$2.toCodePoints)(str); + + var _cssFormattedClasses3 = cssFormattedClasses(codePoints, options), + _cssFormattedClasses4 = _slicedToArray(_cssFormattedClasses3, 3), + indicies = _cssFormattedClasses4[0], + classTypes = _cssFormattedClasses4[1], + forbiddenBreakpoints = _cssFormattedClasses4[2]; + + var length = codePoints.length; + var lastEnd = 0; + var nextIndex = 0; + + return { + next: function next() { + if (nextIndex >= length) { + return { done: true }; + } + var lineBreak = BREAK_NOT_ALLOWED; + while (nextIndex < length && (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) === BREAK_NOT_ALLOWED) {} + + if (lineBreak !== BREAK_NOT_ALLOWED || nextIndex === length) { + var value = new Break(codePoints, lineBreak, lastEnd, nextIndex); + lastEnd = nextIndex; + return { value: value, done: false }; + } + + return { done: true }; + } + }; +}; +}); + +unwrapExports(LineBreak); +var LineBreak_1 = LineBreak.LineBreaker; +var LineBreak_2 = LineBreak.inlineBreakOpportunities; +var LineBreak_3 = LineBreak.lineBreakAtIndex; +var LineBreak_4 = LineBreak.codePointsToCharacterClasses; +var LineBreak_5 = LineBreak.UnicodeTrie; +var LineBreak_6 = LineBreak.BREAK_ALLOWED; +var LineBreak_7 = LineBreak.BREAK_NOT_ALLOWED; +var LineBreak_8 = LineBreak.BREAK_MANDATORY; +var LineBreak_9 = LineBreak.classes; +var LineBreak_10 = LineBreak.LETTER_NUMBER_MODIFIER; + +var dist = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); + + + +Object.defineProperty(exports, 'toCodePoints', { + enumerable: true, + get: function get() { + return Util$2.toCodePoints; + } +}); +Object.defineProperty(exports, 'fromCodePoint', { + enumerable: true, + get: function get() { + return Util$2.fromCodePoint; + } +}); + + + +Object.defineProperty(exports, 'LineBreaker', { + enumerable: true, + get: function get() { + return LineBreak.LineBreaker; + } +}); +}); + +unwrapExports(dist); + +var Unicode = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.breakWords = exports.fromCodePoint = exports.toCodePoints = undefined; + + + +Object.defineProperty(exports, 'toCodePoints', { + enumerable: true, + get: function get() { + return dist.toCodePoints; + } +}); +Object.defineProperty(exports, 'fromCodePoint', { + enumerable: true, + get: function get() { + return dist.fromCodePoint; + } +}); + + + +var _NodeContainer2 = _interopRequireDefault(NodeContainer_1); + + + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var breakWords = exports.breakWords = function breakWords(str, parent) { + var breaker = (0, dist.LineBreaker)(str, { + lineBreak: parent.style.lineBreak, + wordBreak: parent.style.overflowWrap === overflowWrap.OVERFLOW_WRAP.BREAK_WORD ? 'break-word' : parent.style.wordBreak + }); + + var words = []; + var bk = void 0; + + while (!(bk = breaker.next()).done) { + words.push(bk.value.slice()); + } + + return words; +}; +}); + +unwrapExports(Unicode); +var Unicode_1 = Unicode.breakWords; +var Unicode_2 = Unicode.fromCodePoint; +var Unicode_3 = Unicode.toCodePoints; + +var TextBounds_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parseTextBounds = exports.TextBounds = undefined; + + + + + + + +var _Feature2 = _interopRequireDefault(Feature); + + + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var TextBounds = exports.TextBounds = function TextBounds(text, bounds) { + _classCallCheck(this, TextBounds); + + this.text = text; + this.bounds = bounds; +}; + +var parseTextBounds = exports.parseTextBounds = function parseTextBounds(value, parent, node) { + var letterRendering = parent.style.letterSpacing !== 0; + var textList = letterRendering ? (0, Unicode.toCodePoints)(value).map(function (i) { + return (0, Unicode.fromCodePoint)(i); + }) : (0, Unicode.breakWords)(value, parent); + var length = textList.length; + var defaultView = node.parentNode ? node.parentNode.ownerDocument.defaultView : null; + var scrollX = defaultView ? defaultView.pageXOffset : 0; + var scrollY = defaultView ? defaultView.pageYOffset : 0; + var textBounds = []; + var offset = 0; + for (var i = 0; i < length; i++) { + var text = textList[i]; + if (parent.style.textDecoration !== textDecoration.TEXT_DECORATION.NONE || text.trim().length > 0) { + if (_Feature2.default.SUPPORT_RANGE_BOUNDS) { + textBounds.push(new TextBounds(text, getRangeBounds(node, offset, text.length, scrollX, scrollY))); + } else { + var replacementNode = node.splitText(text.length); + textBounds.push(new TextBounds(text, getWrapperBounds(node, scrollX, scrollY))); + node = replacementNode; + } + } else if (!_Feature2.default.SUPPORT_RANGE_BOUNDS) { + node = node.splitText(text.length); + } + offset += text.length; + } + return textBounds; +}; + +var getWrapperBounds = function getWrapperBounds(node, scrollX, scrollY) { + var wrapper = node.ownerDocument.createElement('html2canvaswrapper'); + wrapper.appendChild(node.cloneNode(true)); + var parentNode = node.parentNode; + if (parentNode) { + parentNode.replaceChild(wrapper, node); + var bounds = (0, Bounds_1.parseBounds)(wrapper, scrollX, scrollY); + if (wrapper.firstChild) { + parentNode.replaceChild(wrapper.firstChild, wrapper); + } + return bounds; + } + return new Bounds_1.Bounds(0, 0, 0, 0); +}; + +var getRangeBounds = function getRangeBounds(node, offset, length, scrollX, scrollY) { + var range = node.ownerDocument.createRange(); + range.setStart(node, offset); + range.setEnd(node, offset + length); + return Bounds_1.Bounds.fromClientRect(range.getBoundingClientRect(), scrollX, scrollY); +}; +}); + +unwrapExports(TextBounds_1); +var TextBounds_2 = TextBounds_1.parseTextBounds; +var TextBounds_3 = TextBounds_1.TextBounds; + +var TextContainer_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + + + + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var TextContainer = function () { + function TextContainer(text, parent, bounds) { + _classCallCheck(this, TextContainer); + + this.text = text; + this.parent = parent; + this.bounds = bounds; + } + + _createClass(TextContainer, null, [{ + key: 'fromTextNode', + value: function fromTextNode(node, parent) { + var text = transform(node.data, parent.style.textTransform); + return new TextContainer(text, parent, (0, TextBounds_1.parseTextBounds)(text, parent, node)); + } + }]); + + return TextContainer; +}(); + +exports.default = TextContainer; + + +var CAPITALIZE = /(^|\s|:|-|\(|\))([a-z])/g; + +var transform = function transform(text, _transform) { + switch (_transform) { + case textTransform.TEXT_TRANSFORM.LOWERCASE: + return text.toLowerCase(); + case textTransform.TEXT_TRANSFORM.CAPITALIZE: + return text.replace(CAPITALIZE, capitalize); + case textTransform.TEXT_TRANSFORM.UPPERCASE: + return text.toUpperCase(); + default: + return text; + } +}; + +function capitalize(m, p1, p2) { + if (m.length > 0) { + return p1 + p2.toUpperCase(); + } + + return m; +} +}); + +unwrapExports(TextContainer_1); + +var Circle_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); + + + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Circle = function Circle(x, y, radius) { + _classCallCheck(this, Circle); + + this.type = Path.PATH.CIRCLE; + this.x = x; + this.y = y; + this.radius = radius; + +}; + +exports.default = Circle; +}); + +unwrapExports(Circle_1); + +var Input = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.reformatInputBounds = exports.inlineSelectElement = exports.inlineTextAreaElement = exports.inlineInputElement = exports.getInputBorderRadius = exports.INPUT_BACKGROUND = exports.INPUT_BORDERS = exports.INPUT_COLOR = undefined; + + + +var _TextContainer2 = _interopRequireDefault(TextContainer_1); + + + + + + + +var _Circle2 = _interopRequireDefault(Circle_1); + + + +var _Vector2 = _interopRequireDefault(Vector_1); + + + +var _Color2 = _interopRequireDefault(Color_1); + + + +var _Length2 = _interopRequireDefault(Length_1); + + + + + + + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var INPUT_COLOR = exports.INPUT_COLOR = new _Color2.default([42, 42, 42]); +var INPUT_BORDER_COLOR = new _Color2.default([165, 165, 165]); +var INPUT_BACKGROUND_COLOR = new _Color2.default([222, 222, 222]); +var INPUT_BORDER = { + borderWidth: 1, + borderColor: INPUT_BORDER_COLOR, + borderStyle: border.BORDER_STYLE.SOLID +}; +var INPUT_BORDERS = exports.INPUT_BORDERS = [INPUT_BORDER, INPUT_BORDER, INPUT_BORDER, INPUT_BORDER]; +var INPUT_BACKGROUND = exports.INPUT_BACKGROUND = { + backgroundColor: INPUT_BACKGROUND_COLOR, + backgroundImage: [], + backgroundClip: background.BACKGROUND_CLIP.PADDING_BOX, + backgroundOrigin: background.BACKGROUND_ORIGIN.PADDING_BOX +}; + +var RADIO_BORDER_RADIUS = new _Length2.default('50%'); +var RADIO_BORDER_RADIUS_TUPLE = [RADIO_BORDER_RADIUS, RADIO_BORDER_RADIUS]; +var INPUT_RADIO_BORDER_RADIUS = [RADIO_BORDER_RADIUS_TUPLE, RADIO_BORDER_RADIUS_TUPLE, RADIO_BORDER_RADIUS_TUPLE, RADIO_BORDER_RADIUS_TUPLE]; + +var CHECKBOX_BORDER_RADIUS = new _Length2.default('3px'); +var CHECKBOX_BORDER_RADIUS_TUPLE = [CHECKBOX_BORDER_RADIUS, CHECKBOX_BORDER_RADIUS]; +var INPUT_CHECKBOX_BORDER_RADIUS = [CHECKBOX_BORDER_RADIUS_TUPLE, CHECKBOX_BORDER_RADIUS_TUPLE, CHECKBOX_BORDER_RADIUS_TUPLE, CHECKBOX_BORDER_RADIUS_TUPLE]; + +var getInputBorderRadius = exports.getInputBorderRadius = function getInputBorderRadius(node) { + return node.type === 'radio' ? INPUT_RADIO_BORDER_RADIUS : INPUT_CHECKBOX_BORDER_RADIUS; +}; + +var inlineInputElement = exports.inlineInputElement = function inlineInputElement(node, container) { + if (node.type === 'radio' || node.type === 'checkbox') { + if (node.checked) { + var size = Math.min(container.bounds.width, container.bounds.height); + container.childNodes.push(node.type === 'checkbox' ? [new _Vector2.default(container.bounds.left + size * 0.39363, container.bounds.top + size * 0.79), new _Vector2.default(container.bounds.left + size * 0.16, container.bounds.top + size * 0.5549), new _Vector2.default(container.bounds.left + size * 0.27347, container.bounds.top + size * 0.44071), new _Vector2.default(container.bounds.left + size * 0.39694, container.bounds.top + size * 0.5649), new _Vector2.default(container.bounds.left + size * 0.72983, container.bounds.top + size * 0.23), new _Vector2.default(container.bounds.left + size * 0.84, container.bounds.top + size * 0.34085), new _Vector2.default(container.bounds.left + size * 0.39363, container.bounds.top + size * 0.79)] : new _Circle2.default(container.bounds.left + size / 4, container.bounds.top + size / 4, size / 4)); + } + } else { + inlineFormElement(getInputValue(node), node, container, false); + } +}; + +var inlineTextAreaElement = exports.inlineTextAreaElement = function inlineTextAreaElement(node, container) { + inlineFormElement(node.value, node, container, true); +}; + +var inlineSelectElement = exports.inlineSelectElement = function inlineSelectElement(node, container) { + var option = node.options[node.selectedIndex || 0]; + inlineFormElement(option ? option.text || '' : '', node, container, false); +}; + +var reformatInputBounds = exports.reformatInputBounds = function reformatInputBounds(bounds) { + if (bounds.width > bounds.height) { + bounds.left += (bounds.width - bounds.height) / 2; + bounds.width = bounds.height; + } else if (bounds.width < bounds.height) { + bounds.top += (bounds.height - bounds.width) / 2; + bounds.height = bounds.width; + } + return bounds; +}; + +var inlineFormElement = function inlineFormElement(value, node, container, allowLinebreak) { + var body = node.ownerDocument.body; + if (value.length > 0 && body) { + var wrapper = node.ownerDocument.createElement('html2canvaswrapper'); + (0, Util.copyCSSStyles)(node.ownerDocument.defaultView.getComputedStyle(node, null), wrapper); + wrapper.style.position = 'absolute'; + wrapper.style.left = container.bounds.left + 'px'; + wrapper.style.top = container.bounds.top + 'px'; + if (!allowLinebreak) { + wrapper.style.whiteSpace = 'nowrap'; + } + var text = node.ownerDocument.createTextNode(value); + wrapper.appendChild(text); + body.appendChild(wrapper); + container.childNodes.push(_TextContainer2.default.fromTextNode(text, container)); + body.removeChild(wrapper); + } +}; + +var getInputValue = function getInputValue(node) { + var value = node.type === 'password' ? new Array(node.value.length + 1).join('\u2022') : node.value; + + return value.length === 0 ? node.placeholder || '' : value; +}; +}); + +unwrapExports(Input); +var Input_1 = Input.reformatInputBounds; +var Input_2 = Input.inlineSelectElement; +var Input_3 = Input.inlineTextAreaElement; +var Input_4 = Input.inlineInputElement; +var Input_5 = Input.getInputBorderRadius; +var Input_6 = Input.INPUT_BACKGROUND; +var Input_7 = Input.INPUT_BORDERS; +var Input_8 = Input.INPUT_COLOR; + +var ListItem = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.createCounterText = exports.inlineListItemElement = exports.getListOwner = undefined; + + + + + +var _NodeContainer2 = _interopRequireDefault(NodeContainer_1); + + + +var _TextContainer2 = _interopRequireDefault(TextContainer_1); + + + + + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// Margin between the enumeration and the list item content +var MARGIN_RIGHT = 7; + +var ancestorTypes = ['OL', 'UL', 'MENU']; + +var getListOwner = exports.getListOwner = function getListOwner(container) { + var parent = container.parent; + if (!parent) { + return null; + } + + do { + var isAncestor = ancestorTypes.indexOf(parent.tagName) !== -1; + if (isAncestor) { + return parent; + } + parent = parent.parent; + } while (parent); + + return container.parent; +}; + +var inlineListItemElement = exports.inlineListItemElement = function inlineListItemElement(node, container, resourceLoader) { + var listStyle$$1 = container.style.listStyle; + + if (!listStyle$$1) { + return; + } + + var style = node.ownerDocument.defaultView.getComputedStyle(node, null); + var wrapper = node.ownerDocument.createElement('html2canvaswrapper'); + (0, Util.copyCSSStyles)(style, wrapper); + + wrapper.style.position = 'absolute'; + wrapper.style.bottom = 'auto'; + wrapper.style.display = 'block'; + wrapper.style.letterSpacing = 'normal'; + + switch (listStyle$$1.listStylePosition) { + case listStyle.LIST_STYLE_POSITION.OUTSIDE: + wrapper.style.left = 'auto'; + wrapper.style.right = node.ownerDocument.defaultView.innerWidth - container.bounds.left - container.style.margin[1].getAbsoluteValue(container.bounds.width) + MARGIN_RIGHT + 'px'; + wrapper.style.textAlign = 'right'; + break; + case listStyle.LIST_STYLE_POSITION.INSIDE: + wrapper.style.left = container.bounds.left - container.style.margin[3].getAbsoluteValue(container.bounds.width) + 'px'; + wrapper.style.right = 'auto'; + wrapper.style.textAlign = 'left'; + break; + } + + var text = void 0; + var MARGIN_TOP = container.style.margin[0].getAbsoluteValue(container.bounds.width); + var styleImage = listStyle$$1.listStyleImage; + if (styleImage) { + if (styleImage.method === 'url') { + var image = node.ownerDocument.createElement('img'); + image.src = styleImage.args[0]; + wrapper.style.top = container.bounds.top - MARGIN_TOP + 'px'; + wrapper.style.width = 'auto'; + wrapper.style.height = 'auto'; + wrapper.appendChild(image); + } else { + var size = parseFloat(container.style.font.fontSize) * 0.5; + wrapper.style.top = container.bounds.top - MARGIN_TOP + container.bounds.height - 1.5 * size + 'px'; + wrapper.style.width = size + 'px'; + wrapper.style.height = size + 'px'; + wrapper.style.backgroundImage = style.listStyleImage; + } + } else if (typeof container.listIndex === 'number') { + text = node.ownerDocument.createTextNode(createCounterText(container.listIndex, listStyle$$1.listStyleType, true)); + wrapper.appendChild(text); + wrapper.style.top = container.bounds.top - MARGIN_TOP + 'px'; + } + + // $FlowFixMe + var body = node.ownerDocument.body; + body.appendChild(wrapper); + + if (text) { + container.childNodes.push(_TextContainer2.default.fromTextNode(text, container)); + body.removeChild(wrapper); + } else { + // $FlowFixMe + container.childNodes.push(new _NodeContainer2.default(wrapper, container, resourceLoader, 0)); + } +}; + +var ROMAN_UPPER = { + integers: [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1], + values: ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I'] +}; + +var ARMENIAN = { + integers: [9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], + values: ['Ք', 'Փ', 'Ւ', 'Ց', 'Ր', 'Տ', 'Վ', 'Ս', 'Ռ', 'Ջ', 'Պ', 'Չ', 'Ո', 'Շ', 'Ն', 'Յ', 'Մ', 'Ճ', 'Ղ', 'Ձ', 'Հ', 'Կ', 'Ծ', 'Խ', 'Լ', 'Ի', 'Ժ', 'Թ', 'Ը', 'Է', 'Զ', 'Ե', 'Դ', 'Գ', 'Բ', 'Ա'] +}; + +var HEBREW = { + integers: [10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 19, 18, 17, 16, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], + values: ['י׳', 'ט׳', 'ח׳', 'ז׳', 'ו׳', 'ה׳', 'ד׳', 'ג׳', 'ב׳', 'א׳', 'ת', 'ש', 'ר', 'ק', 'צ', 'פ', 'ע', 'ס', 'נ', 'מ', 'ל', 'כ', 'יט', 'יח', 'יז', 'טז', 'טו', 'י', 'ט', 'ח', 'ז', 'ו', 'ה', 'ד', 'ג', 'ב', 'א'] +}; + +var GEORGIAN = { + integers: [10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1], + values: ['ჵ', 'ჰ', 'ჯ', 'ჴ', 'ხ', 'ჭ', 'წ', 'ძ', 'ც', 'ჩ', 'შ', 'ყ', 'ღ', 'ქ', 'ფ', 'ჳ', 'ტ', 'ს', 'რ', 'ჟ', 'პ', 'ო', 'ჲ', 'ნ', 'მ', 'ლ', 'კ', 'ი', 'თ', 'ჱ', 'ზ', 'ვ', 'ე', 'დ', 'გ', 'ბ', 'ა'] +}; + +var createAdditiveCounter = function createAdditiveCounter(value, min, max, symbols, fallback, suffix) { + if (value < min || value > max) { + return createCounterText(value, fallback, suffix.length > 0); + } + + return symbols.integers.reduce(function (string, integer, index) { + while (value >= integer) { + value -= integer; + string += symbols.values[index]; + } + return string; + }, '') + suffix; +}; + +var createCounterStyleWithSymbolResolver = function createCounterStyleWithSymbolResolver(value, codePointRangeLength, isNumeric, resolver) { + var string = ''; + + do { + if (!isNumeric) { + value--; + } + string = resolver(value) + string; + value /= codePointRangeLength; + } while (value * codePointRangeLength >= codePointRangeLength); + + return string; +}; + +var createCounterStyleFromRange = function createCounterStyleFromRange(value, codePointRangeStart, codePointRangeEnd, isNumeric, suffix) { + var codePointRangeLength = codePointRangeEnd - codePointRangeStart + 1; + + return (value < 0 ? '-' : '') + (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, isNumeric, function (codePoint) { + return (0, Unicode.fromCodePoint)(Math.floor(codePoint % codePointRangeLength) + codePointRangeStart); + }) + suffix); +}; + +var createCounterStyleFromSymbols = function createCounterStyleFromSymbols(value, symbols) { + var suffix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '. '; + + var codePointRangeLength = symbols.length; + return createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, false, function (codePoint) { + return symbols[Math.floor(codePoint % codePointRangeLength)]; + }) + suffix; +}; + +var CJK_ZEROS = 1 << 0; +var CJK_TEN_COEFFICIENTS = 1 << 1; +var CJK_TEN_HIGH_COEFFICIENTS = 1 << 2; +var CJK_HUNDRED_COEFFICIENTS = 1 << 3; + +var createCJKCounter = function createCJKCounter(value, numbers, multipliers, negativeSign, suffix, flags) { + if (value < -9999 || value > 9999) { + return createCounterText(value, listStyle.LIST_STYLE_TYPE.CJK_DECIMAL, suffix.length > 0); + } + var tmp = Math.abs(value); + var string = suffix; + + if (tmp === 0) { + return numbers[0] + string; + } + + for (var digit = 0; tmp > 0 && digit <= 4; digit++) { + var coefficient = tmp % 10; + + if (coefficient === 0 && (0, Util.contains)(flags, CJK_ZEROS) && string !== '') { + string = numbers[coefficient] + string; + } else if (coefficient > 1 || coefficient === 1 && digit === 0 || coefficient === 1 && digit === 1 && (0, Util.contains)(flags, CJK_TEN_COEFFICIENTS) || coefficient === 1 && digit === 1 && (0, Util.contains)(flags, CJK_TEN_HIGH_COEFFICIENTS) && value > 100 || coefficient === 1 && digit > 1 && (0, Util.contains)(flags, CJK_HUNDRED_COEFFICIENTS)) { + string = numbers[coefficient] + (digit > 0 ? multipliers[digit - 1] : '') + string; + } else if (coefficient === 1 && digit > 0) { + string = multipliers[digit - 1] + string; + } + tmp = Math.floor(tmp / 10); + } + + return (value < 0 ? negativeSign : '') + string; +}; + +var CHINESE_INFORMAL_MULTIPLIERS = '十百千萬'; +var CHINESE_FORMAL_MULTIPLIERS = '拾佰仟萬'; +var JAPANESE_NEGATIVE = 'マイナス'; +var KOREAN_NEGATIVE = '마이너스 '; + +var createCounterText = exports.createCounterText = function createCounterText(value, type, appendSuffix) { + var defaultSuffix = appendSuffix ? '. ' : ''; + var cjkSuffix = appendSuffix ? '、' : ''; + var koreanSuffix = appendSuffix ? ', ' : ''; + switch (type) { + case listStyle.LIST_STYLE_TYPE.DISC: + return '•'; + case listStyle.LIST_STYLE_TYPE.CIRCLE: + return '◦'; + case listStyle.LIST_STYLE_TYPE.SQUARE: + return '◾'; + case listStyle.LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO: + var string = createCounterStyleFromRange(value, 48, 57, true, defaultSuffix); + return string.length < 4 ? '0' + string : string; + case listStyle.LIST_STYLE_TYPE.CJK_DECIMAL: + return createCounterStyleFromSymbols(value, '〇一二三四五六七八九', cjkSuffix); + case listStyle.LIST_STYLE_TYPE.LOWER_ROMAN: + return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, listStyle.LIST_STYLE_TYPE.DECIMAL, defaultSuffix).toLowerCase(); + case listStyle.LIST_STYLE_TYPE.UPPER_ROMAN: + return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, listStyle.LIST_STYLE_TYPE.DECIMAL, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.LOWER_GREEK: + return createCounterStyleFromRange(value, 945, 969, false, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.LOWER_ALPHA: + return createCounterStyleFromRange(value, 97, 122, false, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.UPPER_ALPHA: + return createCounterStyleFromRange(value, 65, 90, false, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.ARABIC_INDIC: + return createCounterStyleFromRange(value, 1632, 1641, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.ARMENIAN: + case listStyle.LIST_STYLE_TYPE.UPPER_ARMENIAN: + return createAdditiveCounter(value, 1, 9999, ARMENIAN, listStyle.LIST_STYLE_TYPE.DECIMAL, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.LOWER_ARMENIAN: + return createAdditiveCounter(value, 1, 9999, ARMENIAN, listStyle.LIST_STYLE_TYPE.DECIMAL, defaultSuffix).toLowerCase(); + case listStyle.LIST_STYLE_TYPE.BENGALI: + return createCounterStyleFromRange(value, 2534, 2543, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.CAMBODIAN: + case listStyle.LIST_STYLE_TYPE.KHMER: + return createCounterStyleFromRange(value, 6112, 6121, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH: + return createCounterStyleFromSymbols(value, '子丑寅卯辰巳午未申酉戌亥', cjkSuffix); + case listStyle.LIST_STYLE_TYPE.CJK_HEAVENLY_STEM: + return createCounterStyleFromSymbols(value, '甲乙丙丁戊己庚辛壬癸', cjkSuffix); + case listStyle.LIST_STYLE_TYPE.CJK_IDEOGRAPHIC: + case listStyle.LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL: + return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS); + case listStyle.LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL: + return createCJKCounter(value, '零壹貳參肆伍陸柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS); + case listStyle.LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL: + return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS); + case listStyle.LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL: + return createCJKCounter(value, '零壹贰叁肆伍陆柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS); + case listStyle.LIST_STYLE_TYPE.JAPANESE_INFORMAL: + return createCJKCounter(value, '〇一二三四五六七八九', '十百千万', JAPANESE_NEGATIVE, cjkSuffix, 0); + case listStyle.LIST_STYLE_TYPE.JAPANESE_FORMAL: + return createCJKCounter(value, '零壱弐参四伍六七八九', '拾百千万', JAPANESE_NEGATIVE, cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS); + case listStyle.LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL: + return createCJKCounter(value, '영일이삼사오육칠팔구', '십백천만', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS); + case listStyle.LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL: + return createCJKCounter(value, '零一二三四五六七八九', '十百千萬', KOREAN_NEGATIVE, koreanSuffix, 0); + case listStyle.LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL: + return createCJKCounter(value, '零壹貳參四五六七八九', '拾百千', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS); + case listStyle.LIST_STYLE_TYPE.DEVANAGARI: + return createCounterStyleFromRange(value, 0x966, 0x96f, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.GEORGIAN: + return createAdditiveCounter(value, 1, 19999, GEORGIAN, listStyle.LIST_STYLE_TYPE.DECIMAL, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.GUJARATI: + return createCounterStyleFromRange(value, 0xae6, 0xaef, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.GURMUKHI: + return createCounterStyleFromRange(value, 0xa66, 0xa6f, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.HEBREW: + return createAdditiveCounter(value, 1, 10999, HEBREW, listStyle.LIST_STYLE_TYPE.DECIMAL, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.HIRAGANA: + return createCounterStyleFromSymbols(value, 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん'); + case listStyle.LIST_STYLE_TYPE.HIRAGANA_IROHA: + return createCounterStyleFromSymbols(value, 'いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす'); + case listStyle.LIST_STYLE_TYPE.KANNADA: + return createCounterStyleFromRange(value, 0xce6, 0xcef, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.KATAKANA: + return createCounterStyleFromSymbols(value, 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン', cjkSuffix); + case listStyle.LIST_STYLE_TYPE.KATAKANA_IROHA: + return createCounterStyleFromSymbols(value, 'イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス', cjkSuffix); + case listStyle.LIST_STYLE_TYPE.LAO: + return createCounterStyleFromRange(value, 0xed0, 0xed9, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.MONGOLIAN: + return createCounterStyleFromRange(value, 0x1810, 0x1819, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.MYANMAR: + return createCounterStyleFromRange(value, 0x1040, 0x1049, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.ORIYA: + return createCounterStyleFromRange(value, 0xb66, 0xb6f, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.PERSIAN: + return createCounterStyleFromRange(value, 0x6f0, 0x6f9, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.TAMIL: + return createCounterStyleFromRange(value, 0xbe6, 0xbef, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.TELUGU: + return createCounterStyleFromRange(value, 0xc66, 0xc6f, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.THAI: + return createCounterStyleFromRange(value, 0xe50, 0xe59, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.TIBETAN: + return createCounterStyleFromRange(value, 0xf20, 0xf29, true, defaultSuffix); + case listStyle.LIST_STYLE_TYPE.DECIMAL: + default: + return createCounterStyleFromRange(value, 48, 57, true, defaultSuffix); + } +}; +}); + +unwrapExports(ListItem); +var ListItem_1 = ListItem.createCounterText; +var ListItem_2 = ListItem.inlineListItemElement; +var ListItem_3 = ListItem.getListOwner; + +var NodeContainer_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + + +var _Color2 = _interopRequireDefault(Color_1); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var INPUT_TAGS = ['INPUT', 'TEXTAREA', 'SELECT']; + +var NodeContainer = function () { + function NodeContainer(node, parent, resourceLoader, index) { + var _this = this; + + _classCallCheck(this, NodeContainer); + + this.parent = parent; + this.tagName = node.tagName; + this.index = index; + this.childNodes = []; + this.listItems = []; + if (typeof node.start === 'number') { + this.listStart = node.start; + } + var defaultView = node.ownerDocument.defaultView; + var scrollX = defaultView.pageXOffset; + var scrollY = defaultView.pageYOffset; + var style = defaultView.getComputedStyle(node, null); + var display$$1 = (0, display.parseDisplay)(style.display); + + var IS_INPUT = node.type === 'radio' || node.type === 'checkbox'; + + var position$$1 = (0, position.parsePosition)(style.position); + + this.style = { + background: IS_INPUT ? Input.INPUT_BACKGROUND : (0, background.parseBackground)(style, resourceLoader), + border: IS_INPUT ? Input.INPUT_BORDERS : (0, border.parseBorder)(style), + borderRadius: (node instanceof defaultView.HTMLInputElement || node instanceof HTMLInputElement) && IS_INPUT ? (0, Input.getInputBorderRadius)(node) : (0, borderRadius.parseBorderRadius)(style), + color: IS_INPUT ? Input.INPUT_COLOR : new _Color2.default(style.color), + display: display$$1, + float: (0, float_1.parseCSSFloat)(style.float), + font: (0, font.parseFont)(style), + letterSpacing: (0, letterSpacing.parseLetterSpacing)(style.letterSpacing), + listStyle: display$$1 === display.DISPLAY.LIST_ITEM ? (0, listStyle.parseListStyle)(style) : null, + lineBreak: (0, lineBreak.parseLineBreak)(style.lineBreak), + margin: (0, margin.parseMargin)(style), + opacity: parseFloat(style.opacity), + overflow: INPUT_TAGS.indexOf(node.tagName) === -1 ? (0, overflow.parseOverflow)(style.overflow) : overflow.OVERFLOW.HIDDEN, + overflowWrap: (0, overflowWrap.parseOverflowWrap)(style.overflowWrap ? style.overflowWrap : style.wordWrap), + padding: (0, padding.parsePadding)(style), + position: position$$1, + textDecoration: (0, textDecoration.parseTextDecoration)(style), + textShadow: (0, textShadow.parseTextShadow)(style.textShadow), + textTransform: (0, textTransform.parseTextTransform)(style.textTransform), + transform: (0, transform.parseTransform)(style), + visibility: (0, visibility.parseVisibility)(style.visibility), + wordBreak: (0, wordBreak.parseWordBreak)(style.wordBreak), + zIndex: (0, zIndex.parseZIndex)(position$$1 !== position.POSITION.STATIC ? style.zIndex : 'auto') + }; + + if (this.isTransformed()) { + // getBoundingClientRect provides values post-transform, we want them without the transformation + node.style.transform = 'matrix(1,0,0,1,0,0)'; + } + + if (display$$1 === display.DISPLAY.LIST_ITEM) { + var listOwner = (0, ListItem.getListOwner)(this); + if (listOwner) { + var listIndex = listOwner.listItems.length; + listOwner.listItems.push(this); + this.listIndex = node.hasAttribute('value') && typeof node.value === 'number' ? node.value : listIndex === 0 ? typeof listOwner.listStart === 'number' ? listOwner.listStart : 1 : listOwner.listItems[listIndex - 1].listIndex + 1; + } + } + + // TODO move bound retrieval for all nodes to a later stage? + if (node.tagName === 'IMG') { + node.addEventListener('load', function () { + _this.bounds = (0, Bounds_1.parseBounds)(node, scrollX, scrollY); + _this.curvedBounds = (0, Bounds_1.parseBoundCurves)(_this.bounds, _this.style.border, _this.style.borderRadius); + }); + } + this.image = getImage(node, resourceLoader); + this.bounds = IS_INPUT ? (0, Input.reformatInputBounds)((0, Bounds_1.parseBounds)(node, scrollX, scrollY)) : (0, Bounds_1.parseBounds)(node, scrollX, scrollY); + this.curvedBounds = (0, Bounds_1.parseBoundCurves)(this.bounds, this.style.border, this.style.borderRadius); + + + } + + _createClass(NodeContainer, [{ + key: 'getClipPaths', + value: function getClipPaths() { + var parentClips = this.parent ? this.parent.getClipPaths() : []; + var isClipped = this.style.overflow !== overflow.OVERFLOW.VISIBLE; + + return isClipped ? parentClips.concat([(0, Bounds_1.calculatePaddingBoxPath)(this.curvedBounds)]) : parentClips; + } + }, { + key: 'isInFlow', + value: function isInFlow() { + return this.isRootElement() && !this.isFloating() && !this.isAbsolutelyPositioned(); + } + }, { + key: 'isVisible', + value: function isVisible() { + return !(0, Util.contains)(this.style.display, display.DISPLAY.NONE) && this.style.opacity > 0 && this.style.visibility === visibility.VISIBILITY.VISIBLE; + } + }, { + key: 'isAbsolutelyPositioned', + value: function isAbsolutelyPositioned() { + return this.style.position !== position.POSITION.STATIC && this.style.position !== position.POSITION.RELATIVE; + } + }, { + key: 'isPositioned', + value: function isPositioned() { + return this.style.position !== position.POSITION.STATIC; + } + }, { + key: 'isFloating', + value: function isFloating() { + return this.style.float !== float_1.FLOAT.NONE; + } + }, { + key: 'isRootElement', + value: function isRootElement() { + return this.parent === null; + } + }, { + key: 'isTransformed', + value: function isTransformed() { + return this.style.transform !== null; + } + }, { + key: 'isPositionedWithZIndex', + value: function isPositionedWithZIndex() { + return this.isPositioned() && !this.style.zIndex.auto; + } + }, { + key: 'isInlineLevel', + value: function isInlineLevel() { + return (0, Util.contains)(this.style.display, display.DISPLAY.INLINE) || (0, Util.contains)(this.style.display, display.DISPLAY.INLINE_BLOCK) || (0, Util.contains)(this.style.display, display.DISPLAY.INLINE_FLEX) || (0, Util.contains)(this.style.display, display.DISPLAY.INLINE_GRID) || (0, Util.contains)(this.style.display, display.DISPLAY.INLINE_LIST_ITEM) || (0, Util.contains)(this.style.display, display.DISPLAY.INLINE_TABLE); + } + }, { + key: 'isInlineBlockOrInlineTable', + value: function isInlineBlockOrInlineTable() { + return (0, Util.contains)(this.style.display, display.DISPLAY.INLINE_BLOCK) || (0, Util.contains)(this.style.display, display.DISPLAY.INLINE_TABLE); + } + }]); + + return NodeContainer; +}(); + +exports.default = NodeContainer; + + +var getImage = function getImage(node, resourceLoader) { + if (node instanceof node.ownerDocument.defaultView.SVGSVGElement || node instanceof SVGSVGElement) { + var s = new XMLSerializer(); + return resourceLoader.loadImage('data:image/svg+xml,' + encodeURIComponent(s.serializeToString(node))); + } + switch (node.tagName) { + case 'IMG': + // $FlowFixMe + var img = node; + return resourceLoader.loadImage(img.currentSrc || img.src); + case 'CANVAS': + // $FlowFixMe + var canvas = node; + return resourceLoader.loadCanvas(canvas); + case 'IFRAME': + var iframeKey = node.getAttribute('data-html2canvas-internal-iframe-key'); + if (iframeKey) { + return iframeKey; + } + break; + } + + return null; +}; +}); + +unwrapExports(NodeContainer_1); + +var StackingContext_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + + +var _NodeContainer2 = _interopRequireDefault(NodeContainer_1); + + + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var StackingContext = function () { + function StackingContext(container, parent, treatAsRealStackingContext) { + _classCallCheck(this, StackingContext); + + this.container = container; + this.parent = parent; + this.contexts = []; + this.children = []; + this.treatAsRealStackingContext = treatAsRealStackingContext; + } + + _createClass(StackingContext, [{ + key: 'getOpacity', + value: function getOpacity() { + return this.parent ? this.container.style.opacity * this.parent.getOpacity() : this.container.style.opacity; + } + }, { + key: 'getRealParentStackingContext', + value: function getRealParentStackingContext() { + return !this.parent || this.treatAsRealStackingContext ? this : this.parent.getRealParentStackingContext(); + } + }]); + + return StackingContext; +}(); + +exports.default = StackingContext; +}); + +unwrapExports(StackingContext_1); + +var NodeParser_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.NodeParser = undefined; + + + +var _StackingContext2 = _interopRequireDefault(StackingContext_1); + + + +var _NodeContainer2 = _interopRequireDefault(NodeContainer_1); + + + +var _TextContainer2 = _interopRequireDefault(TextContainer_1); + + + + + + + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var NodeParser = exports.NodeParser = function NodeParser(node, resourceLoader, logger) { + var index = 0; + + var container = new _NodeContainer2.default(node, null, resourceLoader, index++); + var stack = new _StackingContext2.default(container, null, true); + + parseNodeTree(node, container, stack, resourceLoader, index); + + return stack; +}; + +var IGNORED_NODE_NAMES = ['SCRIPT', 'HEAD', 'TITLE', 'OBJECT', 'BR', 'OPTION']; + +var parseNodeTree = function parseNodeTree(node, parent, stack, resourceLoader, index) { + for (var childNode = node.firstChild, nextNode; childNode; childNode = nextNode) { + nextNode = childNode.nextSibling; + var defaultView = childNode.ownerDocument.defaultView; + if (childNode instanceof defaultView.Text || childNode instanceof Text || defaultView.parent && childNode instanceof defaultView.parent.Text) { + if (childNode.data.trim().length > 0) { + parent.childNodes.push(_TextContainer2.default.fromTextNode(childNode, parent)); + } + } else if (childNode instanceof defaultView.HTMLElement || childNode instanceof HTMLElement || defaultView.parent && childNode instanceof defaultView.parent.HTMLElement) { + if (IGNORED_NODE_NAMES.indexOf(childNode.nodeName) === -1) { + var container = new _NodeContainer2.default(childNode, parent, resourceLoader, index++); + if (container.isVisible()) { + if (childNode.tagName === 'INPUT') { + // $FlowFixMe + (0, Input.inlineInputElement)(childNode, container); + } else if (childNode.tagName === 'TEXTAREA') { + // $FlowFixMe + (0, Input.inlineTextAreaElement)(childNode, container); + } else if (childNode.tagName === 'SELECT') { + // $FlowFixMe + (0, Input.inlineSelectElement)(childNode, container); + } else if (container.style.listStyle && container.style.listStyle.listStyleType !== listStyle.LIST_STYLE_TYPE.NONE) { + (0, ListItem.inlineListItemElement)(childNode, container, resourceLoader); + } + + var SHOULD_TRAVERSE_CHILDREN = childNode.tagName !== 'TEXTAREA'; + var treatAsRealStackingContext = createsRealStackingContext(container, childNode); + if (treatAsRealStackingContext || createsStackingContext(container)) { + // for treatAsRealStackingContext:false, any positioned descendants and descendants + // which actually create a new stacking context should be considered part of the parent stacking context + var parentStack = treatAsRealStackingContext || container.isPositioned() ? stack.getRealParentStackingContext() : stack; + var childStack = new _StackingContext2.default(container, parentStack, treatAsRealStackingContext); + parentStack.contexts.push(childStack); + if (SHOULD_TRAVERSE_CHILDREN) { + parseNodeTree(childNode, container, childStack, resourceLoader, index); + } + } else { + stack.children.push(container); + if (SHOULD_TRAVERSE_CHILDREN) { + parseNodeTree(childNode, container, stack, resourceLoader, index); + } + } + } + } + } else if (childNode instanceof defaultView.SVGSVGElement || childNode instanceof SVGSVGElement || defaultView.parent && childNode instanceof defaultView.parent.SVGSVGElement) { + var _container = new _NodeContainer2.default(childNode, parent, resourceLoader, index++); + var _treatAsRealStackingContext = createsRealStackingContext(_container, childNode); + if (_treatAsRealStackingContext || createsStackingContext(_container)) { + // for treatAsRealStackingContext:false, any positioned descendants and descendants + // which actually create a new stacking context should be considered part of the parent stacking context + var _parentStack = _treatAsRealStackingContext || _container.isPositioned() ? stack.getRealParentStackingContext() : stack; + var _childStack = new _StackingContext2.default(_container, _parentStack, _treatAsRealStackingContext); + _parentStack.contexts.push(_childStack); + } else { + stack.children.push(_container); + } + } + } +}; + +var createsRealStackingContext = function createsRealStackingContext(container, node) { + return container.isRootElement() || container.isPositionedWithZIndex() || container.style.opacity < 1 || container.isTransformed() || isBodyWithTransparentRoot(container, node); +}; + +var createsStackingContext = function createsStackingContext(container) { + return container.isPositioned() || container.isFloating(); +}; + +var isBodyWithTransparentRoot = function isBodyWithTransparentRoot(container, node) { + return node.nodeName === 'BODY' && container.parent instanceof _NodeContainer2.default && container.parent.style.background.backgroundColor.isTransparent(); +}; +}); + +unwrapExports(NodeParser_1); +var NodeParser_2 = NodeParser_1.NodeParser; + +var Font = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.FontMetrics = undefined; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var SAMPLE_TEXT = 'Hidden Text'; + +var FontMetrics = exports.FontMetrics = function () { + function FontMetrics(document) { + _classCallCheck(this, FontMetrics); + + this._data = {}; + this._document = document; + } + + _createClass(FontMetrics, [{ + key: '_parseMetrics', + value: function _parseMetrics(font) { + var container = this._document.createElement('div'); + var img = this._document.createElement('img'); + var span = this._document.createElement('span'); + + var body = this._document.body; + if (!body) { + throw new Error(''); + } + + container.style.visibility = 'hidden'; + container.style.fontFamily = font.fontFamily; + container.style.fontSize = font.fontSize; + container.style.margin = '0'; + container.style.padding = '0'; + + body.appendChild(container); + + img.src = Util.SMALL_IMAGE; + img.width = 1; + img.height = 1; + + img.style.margin = '0'; + img.style.padding = '0'; + img.style.verticalAlign = 'baseline'; + + span.style.fontFamily = font.fontFamily; + span.style.fontSize = font.fontSize; + span.style.margin = '0'; + span.style.padding = '0'; + + span.appendChild(this._document.createTextNode(SAMPLE_TEXT)); + container.appendChild(span); + container.appendChild(img); + var baseline = img.offsetTop - span.offsetTop + 2; + + container.removeChild(span); + container.appendChild(this._document.createTextNode(SAMPLE_TEXT)); + + container.style.lineHeight = 'normal'; + img.style.verticalAlign = 'super'; + + var middle = img.offsetTop - container.offsetTop + 2; + + body.removeChild(container); + + return { baseline: baseline, middle: middle }; + } + }, { + key: 'getMetrics', + value: function getMetrics(font) { + var key = font.fontFamily + ' ' + font.fontSize; + if (this._data[key] === undefined) { + this._data[key] = this._parseMetrics(font); + } + + return this._data[key]; + } + }]); + + return FontMetrics; +}(); +}); + +unwrapExports(Font); +var Font_1 = Font.FontMetrics; + +var Angle = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +var ANGLE = /([+-]?\d*\.?\d+)(deg|grad|rad|turn)/i; + +var parseAngle = exports.parseAngle = function parseAngle(angle) { + var match = angle.match(ANGLE); + + if (match) { + var value = parseFloat(match[1]); + switch (match[2].toLowerCase()) { + case 'deg': + return Math.PI * value / 180; + case 'grad': + return Math.PI / 200 * value; + case 'rad': + return value; + case 'turn': + return Math.PI * 2 * value; + } + } + + return null; +}; +}); + +unwrapExports(Angle); +var Angle_1 = Angle.parseAngle; + +var Gradient = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.transformWebkitRadialGradientArgs = exports.parseGradient = exports.RadialGradient = exports.LinearGradient = exports.RADIAL_GRADIENT_SHAPE = exports.GRADIENT_TYPE = undefined; + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); + + + +var _NodeContainer2 = _interopRequireDefault(NodeContainer_1); + + + + + +var _Color2 = _interopRequireDefault(Color_1); + + + +var _Length2 = _interopRequireDefault(Length_1); + + + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var SIDE_OR_CORNER = /^(to )?(left|top|right|bottom)( (left|top|right|bottom))?$/i; +var PERCENTAGE_ANGLES = /^([+-]?\d*\.?\d+)% ([+-]?\d*\.?\d+)%$/i; +var ENDS_WITH_LENGTH = /(px)|%|( 0)$/i; +var FROM_TO_COLORSTOP = /^(from|to|color-stop)\((?:([\d.]+)(%)?,\s*)?(.+?)\)$/i; +var RADIAL_SHAPE_DEFINITION = /^\s*(circle|ellipse)?\s*((?:([\d.]+)(px|r?em|%)\s*(?:([\d.]+)(px|r?em|%))?)|closest-side|closest-corner|farthest-side|farthest-corner)?\s*(?:at\s*(?:(left|center|right)|([\d.]+)(px|r?em|%))\s+(?:(top|center|bottom)|([\d.]+)(px|r?em|%)))?(?:\s|$)/i; + +var GRADIENT_TYPE = exports.GRADIENT_TYPE = { + LINEAR_GRADIENT: 0, + RADIAL_GRADIENT: 1 +}; + +var RADIAL_GRADIENT_SHAPE = exports.RADIAL_GRADIENT_SHAPE = { + CIRCLE: 0, + ELLIPSE: 1 +}; + +var LENGTH_FOR_POSITION = { + left: new _Length2.default('0%'), + top: new _Length2.default('0%'), + center: new _Length2.default('50%'), + right: new _Length2.default('100%'), + bottom: new _Length2.default('100%') +}; + +var LinearGradient = exports.LinearGradient = function LinearGradient(colorStops, direction) { + _classCallCheck(this, LinearGradient); + + this.type = GRADIENT_TYPE.LINEAR_GRADIENT; + this.colorStops = colorStops; + this.direction = direction; +}; + +var RadialGradient = exports.RadialGradient = function RadialGradient(colorStops, shape, center, radius) { + _classCallCheck(this, RadialGradient); + + this.type = GRADIENT_TYPE.RADIAL_GRADIENT; + this.colorStops = colorStops; + this.shape = shape; + this.center = center; + this.radius = radius; +}; + +var parseGradient = exports.parseGradient = function parseGradient(container, _ref, bounds) { + var args = _ref.args, + method = _ref.method, + prefix = _ref.prefix; + + if (method === 'linear-gradient') { + return parseLinearGradient(args, bounds, !!prefix); + } else if (method === 'gradient' && args[0] === 'linear') { + // TODO handle correct angle + return parseLinearGradient(['to bottom'].concat(transformObsoleteColorStops(args.slice(3))), bounds, !!prefix); + } else if (method === 'radial-gradient') { + return parseRadialGradient(container, prefix === '-webkit-' ? transformWebkitRadialGradientArgs(args) : args, bounds); + } else if (method === 'gradient' && args[0] === 'radial') { + return parseRadialGradient(container, transformObsoleteColorStops(transformWebkitRadialGradientArgs(args.slice(1))), bounds); + } +}; + +var parseColorStops = function parseColorStops(args, firstColorStopIndex, lineLength) { + var colorStops = []; + + for (var i = firstColorStopIndex; i < args.length; i++) { + var value = args[i]; + var HAS_LENGTH = ENDS_WITH_LENGTH.test(value); + var lastSpaceIndex = value.lastIndexOf(' '); + var _color = new _Color2.default(HAS_LENGTH ? value.substring(0, lastSpaceIndex) : value); + var _stop = HAS_LENGTH ? new _Length2.default(value.substring(lastSpaceIndex + 1)) : i === firstColorStopIndex ? new _Length2.default('0%') : i === args.length - 1 ? new _Length2.default('100%') : null; + colorStops.push({ color: _color, stop: _stop }); + } + + var absoluteValuedColorStops = colorStops.map(function (_ref2) { + var color = _ref2.color, + stop = _ref2.stop; + + var absoluteStop = lineLength === 0 ? 0 : stop ? stop.getAbsoluteValue(lineLength) / lineLength : null; + + return { + color: color, + // $FlowFixMe + stop: absoluteStop + }; + }); + + var previousColorStop = absoluteValuedColorStops[0].stop; + for (var _i = 0; _i < absoluteValuedColorStops.length; _i++) { + if (previousColorStop !== null) { + var _stop2 = absoluteValuedColorStops[_i].stop; + if (_stop2 === null) { + var n = _i; + while (absoluteValuedColorStops[n].stop === null) { + n++; + } + var steps = n - _i + 1; + var nextColorStep = absoluteValuedColorStops[n].stop; + var stepSize = (nextColorStep - previousColorStop) / steps; + for (; _i < n; _i++) { + previousColorStop = absoluteValuedColorStops[_i].stop = previousColorStop + stepSize; + } + } else { + previousColorStop = _stop2; + } + } + } + + return absoluteValuedColorStops; +}; + +var parseLinearGradient = function parseLinearGradient(args, bounds, hasPrefix) { + var angle = (0, Angle.parseAngle)(args[0]); + var HAS_SIDE_OR_CORNER = SIDE_OR_CORNER.test(args[0]); + var HAS_DIRECTION = HAS_SIDE_OR_CORNER || angle !== null || PERCENTAGE_ANGLES.test(args[0]); + var direction = HAS_DIRECTION ? angle !== null ? calculateGradientDirection( + // if there is a prefix, the 0° angle points due East (instead of North per W3C) + hasPrefix ? angle - Math.PI * 0.5 : angle, bounds) : HAS_SIDE_OR_CORNER ? parseSideOrCorner(args[0], bounds) : parsePercentageAngle(args[0], bounds) : calculateGradientDirection(Math.PI, bounds); + var firstColorStopIndex = HAS_DIRECTION ? 1 : 0; + + // TODO: Fix some inaccuracy with color stops with px values + var lineLength = Math.min((0, Util.distance)(Math.abs(direction.x0) + Math.abs(direction.x1), Math.abs(direction.y0) + Math.abs(direction.y1)), bounds.width * 2, bounds.height * 2); + + return new LinearGradient(parseColorStops(args, firstColorStopIndex, lineLength), direction); +}; + +var parseRadialGradient = function parseRadialGradient(container, args, bounds) { + var m = args[0].match(RADIAL_SHAPE_DEFINITION); + var shape = m && (m[1] === 'circle' || // explicit shape specification + m[3] !== undefined && m[5] === undefined) // only one radius coordinate + ? RADIAL_GRADIENT_SHAPE.CIRCLE : RADIAL_GRADIENT_SHAPE.ELLIPSE; + var radius = {}; + var center = {}; + + if (m) { + // Radius + if (m[3] !== undefined) { + radius.x = (0, Length_1.calculateLengthFromValueWithUnit)(container, m[3], m[4]).getAbsoluteValue(bounds.width); + } + + if (m[5] !== undefined) { + radius.y = (0, Length_1.calculateLengthFromValueWithUnit)(container, m[5], m[6]).getAbsoluteValue(bounds.height); + } + + // Position + if (m[7]) { + center.x = LENGTH_FOR_POSITION[m[7].toLowerCase()]; + } else if (m[8] !== undefined) { + center.x = (0, Length_1.calculateLengthFromValueWithUnit)(container, m[8], m[9]); + } + + if (m[10]) { + center.y = LENGTH_FOR_POSITION[m[10].toLowerCase()]; + } else if (m[11] !== undefined) { + center.y = (0, Length_1.calculateLengthFromValueWithUnit)(container, m[11], m[12]); + } + } + + var gradientCenter = { + x: center.x === undefined ? bounds.width / 2 : center.x.getAbsoluteValue(bounds.width), + y: center.y === undefined ? bounds.height / 2 : center.y.getAbsoluteValue(bounds.height) + }; + var gradientRadius = calculateRadius(m && m[2] || 'farthest-corner', shape, gradientCenter, radius, bounds); + + return new RadialGradient(parseColorStops(args, m ? 1 : 0, Math.min(gradientRadius.x, gradientRadius.y)), shape, gradientCenter, gradientRadius); +}; + +var calculateGradientDirection = function calculateGradientDirection(radian, bounds) { + var width = bounds.width; + var height = bounds.height; + var HALF_WIDTH = width * 0.5; + var HALF_HEIGHT = height * 0.5; + var lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian)); + var HALF_LINE_LENGTH = lineLength / 2; + + var x0 = HALF_WIDTH + Math.sin(radian) * HALF_LINE_LENGTH; + var y0 = HALF_HEIGHT - Math.cos(radian) * HALF_LINE_LENGTH; + var x1 = width - x0; + var y1 = height - y0; + + return { x0: x0, x1: x1, y0: y0, y1: y1 }; +}; + +var parseTopRight = function parseTopRight(bounds) { + return Math.acos(bounds.width / 2 / ((0, Util.distance)(bounds.width, bounds.height) / 2)); +}; + +var parseSideOrCorner = function parseSideOrCorner(side, bounds) { + switch (side) { + case 'bottom': + case 'to top': + return calculateGradientDirection(0, bounds); + case 'left': + case 'to right': + return calculateGradientDirection(Math.PI / 2, bounds); + case 'right': + case 'to left': + return calculateGradientDirection(3 * Math.PI / 2, bounds); + case 'top right': + case 'right top': + case 'to bottom left': + case 'to left bottom': + return calculateGradientDirection(Math.PI + parseTopRight(bounds), bounds); + case 'top left': + case 'left top': + case 'to bottom right': + case 'to right bottom': + return calculateGradientDirection(Math.PI - parseTopRight(bounds), bounds); + case 'bottom left': + case 'left bottom': + case 'to top right': + case 'to right top': + return calculateGradientDirection(parseTopRight(bounds), bounds); + case 'bottom right': + case 'right bottom': + case 'to top left': + case 'to left top': + return calculateGradientDirection(2 * Math.PI - parseTopRight(bounds), bounds); + case 'top': + case 'to bottom': + default: + return calculateGradientDirection(Math.PI, bounds); + } +}; + +var parsePercentageAngle = function parsePercentageAngle(angle, bounds) { + var _angle$split$map = angle.split(' ').map(parseFloat), + _angle$split$map2 = _slicedToArray(_angle$split$map, 2), + left = _angle$split$map2[0], + top = _angle$split$map2[1]; + + var ratio = left / 100 * bounds.width / (top / 100 * bounds.height); + + return calculateGradientDirection(Math.atan(isNaN(ratio) ? 1 : ratio) + Math.PI / 2, bounds); +}; + +var findCorner = function findCorner(bounds, x, y, closest) { + var corners = [{ x: 0, y: 0 }, { x: 0, y: bounds.height }, { x: bounds.width, y: 0 }, { x: bounds.width, y: bounds.height }]; + + // $FlowFixMe + return corners.reduce(function (stat, corner) { + var d = (0, Util.distance)(x - corner.x, y - corner.y); + if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) { + return { + optimumCorner: corner, + optimumDistance: d + }; + } + + return stat; + }, { + optimumDistance: closest ? Infinity : -Infinity, + optimumCorner: null + }).optimumCorner; +}; + +var calculateRadius = function calculateRadius(extent, shape, center, radius, bounds) { + var x = center.x; + var y = center.y; + var rx = 0; + var ry = 0; + + switch (extent) { + case 'closest-side': + // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center. + // If the shape is an ellipse, it exactly meets the closest side in each dimension. + if (shape === RADIAL_GRADIENT_SHAPE.CIRCLE) { + rx = ry = Math.min(Math.abs(x), Math.abs(x - bounds.width), Math.abs(y), Math.abs(y - bounds.height)); + } else if (shape === RADIAL_GRADIENT_SHAPE.ELLIPSE) { + rx = Math.min(Math.abs(x), Math.abs(x - bounds.width)); + ry = Math.min(Math.abs(y), Math.abs(y - bounds.height)); + } + break; + + case 'closest-corner': + // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center. + // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified. + if (shape === RADIAL_GRADIENT_SHAPE.CIRCLE) { + rx = ry = Math.min((0, Util.distance)(x, y), (0, Util.distance)(x, y - bounds.height), (0, Util.distance)(x - bounds.width, y), (0, Util.distance)(x - bounds.width, y - bounds.height)); + } else if (shape === RADIAL_GRADIENT_SHAPE.ELLIPSE) { + // Compute the ratio ry/rx (which is to be the same as for "closest-side") + var c = Math.min(Math.abs(y), Math.abs(y - bounds.height)) / Math.min(Math.abs(x), Math.abs(x - bounds.width)); + var corner = findCorner(bounds, x, y, true); + rx = (0, Util.distance)(corner.x - x, (corner.y - y) / c); + ry = c * rx; + } + break; + + case 'farthest-side': + // Same as closest-side, except the ending shape is sized based on the farthest side(s) + if (shape === RADIAL_GRADIENT_SHAPE.CIRCLE) { + rx = ry = Math.max(Math.abs(x), Math.abs(x - bounds.width), Math.abs(y), Math.abs(y - bounds.height)); + } else if (shape === RADIAL_GRADIENT_SHAPE.ELLIPSE) { + rx = Math.max(Math.abs(x), Math.abs(x - bounds.width)); + ry = Math.max(Math.abs(y), Math.abs(y - bounds.height)); + } + break; + + case 'farthest-corner': + // Same as closest-corner, except the ending shape is sized based on the farthest corner. + // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified. + if (shape === RADIAL_GRADIENT_SHAPE.CIRCLE) { + rx = ry = Math.max((0, Util.distance)(x, y), (0, Util.distance)(x, y - bounds.height), (0, Util.distance)(x - bounds.width, y), (0, Util.distance)(x - bounds.width, y - bounds.height)); + } else if (shape === RADIAL_GRADIENT_SHAPE.ELLIPSE) { + // Compute the ratio ry/rx (which is to be the same as for "farthest-side") + var _c = Math.max(Math.abs(y), Math.abs(y - bounds.height)) / Math.max(Math.abs(x), Math.abs(x - bounds.width)); + var _corner = findCorner(bounds, x, y, false); + rx = (0, Util.distance)(_corner.x - x, (_corner.y - y) / _c); + ry = _c * rx; + } + break; + + default: + // pixel or percentage values + rx = radius.x || 0; + ry = radius.y !== undefined ? radius.y : rx; + break; + } + + return { + x: rx, + y: ry + }; +}; + +var transformWebkitRadialGradientArgs = exports.transformWebkitRadialGradientArgs = function transformWebkitRadialGradientArgs(args) { + var shape = ''; + var radius = ''; + var extent = ''; + var position = ''; + var idx = 0; + + var POSITION = /^(left|center|right|\d+(?:px|r?em|%)?)(?:\s+(top|center|bottom|\d+(?:px|r?em|%)?))?$/i; + var SHAPE_AND_EXTENT = /^(circle|ellipse)?\s*(closest-side|closest-corner|farthest-side|farthest-corner|contain|cover)?$/i; + var RADIUS = /^\d+(px|r?em|%)?(?:\s+\d+(px|r?em|%)?)?$/i; + + var matchStartPosition = args[idx].match(POSITION); + if (matchStartPosition) { + idx++; + } + + var matchShapeExtent = args[idx].match(SHAPE_AND_EXTENT); + if (matchShapeExtent) { + shape = matchShapeExtent[1] || ''; + extent = matchShapeExtent[2] || ''; + if (extent === 'contain') { + extent = 'closest-side'; + } else if (extent === 'cover') { + extent = 'farthest-corner'; + } + idx++; + } + + var matchStartRadius = args[idx].match(RADIUS); + if (matchStartRadius) { + idx++; + } + + var matchEndPosition = args[idx].match(POSITION); + if (matchEndPosition) { + idx++; + } + + var matchEndRadius = args[idx].match(RADIUS); + if (matchEndRadius) { + idx++; + } + + var matchPosition = matchEndPosition || matchStartPosition; + if (matchPosition && matchPosition[1]) { + position = matchPosition[1] + (/^\d+$/.test(matchPosition[1]) ? 'px' : ''); + if (matchPosition[2]) { + position += ' ' + matchPosition[2] + (/^\d+$/.test(matchPosition[2]) ? 'px' : ''); + } + } + + var matchRadius = matchEndRadius || matchStartRadius; + if (matchRadius) { + radius = matchRadius[0]; + if (!matchRadius[1]) { + radius += 'px'; + } + } + + if (position && !shape && !radius && !extent) { + radius = position; + position = ''; + } + + if (position) { + position = 'at ' + position; + } + + return [[shape, extent, radius, position].filter(function (s) { + return !!s; + }).join(' ')].concat(args.slice(idx)); +}; + +var transformObsoleteColorStops = function transformObsoleteColorStops(args) { + return args.map(function (color) { + return color.match(FROM_TO_COLORSTOP); + }) + // $FlowFixMe + .map(function (v, index) { + if (!v) { + return args[index]; + } + + switch (v[1]) { + case 'from': + return v[4] + ' 0%'; + case 'to': + return v[4] + ' 100%'; + case 'color-stop': + if (v[3] === '%') { + return v[4] + ' ' + v[2]; + } + return v[4] + ' ' + parseFloat(v[2]) * 100 + '%'; + } + }); +}; +}); + +unwrapExports(Gradient); +var Gradient_1 = Gradient.transformWebkitRadialGradientArgs; +var Gradient_2 = Gradient.parseGradient; +var Gradient_3 = Gradient.RadialGradient; +var Gradient_4 = Gradient.LinearGradient; +var Gradient_5 = Gradient.RADIAL_GRADIENT_SHAPE; +var Gradient_6 = Gradient.GRADIENT_TYPE; + +var Renderer_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + + + + + + + + +var _TextContainer2 = _interopRequireDefault(TextContainer_1); + + + + + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var Renderer = function () { + function Renderer(target, options) { + _classCallCheck(this, Renderer); + + this.target = target; + this.options = options; + target.render(options); + } + + _createClass(Renderer, [{ + key: 'renderNode', + value: function renderNode(container) { + if (container.isVisible()) { + this.renderNodeBackgroundAndBorders(container); + this.renderNodeContent(container); + } + } + }, { + key: 'renderNodeContent', + value: function renderNodeContent(container) { + var _this = this; + + var callback = function callback() { + if (container.childNodes.length) { + container.childNodes.forEach(function (child) { + if (child instanceof _TextContainer2.default) { + var style = child.parent.style; + _this.target.renderTextNode(child.bounds, style.color, style.font, style.textDecoration, style.textShadow); + } else { + _this.target.drawShape(child, container.style.color); + } + }); + } + + if (container.image) { + var _image = _this.options.imageStore.get(container.image); + if (_image) { + var contentBox = (0, Bounds_1.calculateContentBox)(container.bounds, container.style.padding, container.style.border); + var _width = typeof _image.width === 'number' && _image.width > 0 ? _image.width : contentBox.width; + var _height = typeof _image.height === 'number' && _image.height > 0 ? _image.height : contentBox.height; + if (_width > 0 && _height > 0) { + _this.target.clip([(0, Bounds_1.calculatePaddingBoxPath)(container.curvedBounds)], function () { + _this.target.drawImage(_image, new Bounds_1.Bounds(0, 0, _width, _height), contentBox); + }); + } + } + } + }; + var paths = container.getClipPaths(); + if (paths.length) { + this.target.clip(paths, callback); + } else { + callback(); + } + } + }, { + key: 'renderNodeBackgroundAndBorders', + value: function renderNodeBackgroundAndBorders(container) { + var _this2 = this; + + var HAS_BACKGROUND = !container.style.background.backgroundColor.isTransparent() || container.style.background.backgroundImage.length; + + var hasRenderableBorders = container.style.border.some(function (border$$2) { + return border$$2.borderStyle !== border.BORDER_STYLE.NONE && !border$$2.borderColor.isTransparent(); + }); + + var callback = function callback() { + var backgroundPaintingArea = (0, background.calculateBackgroungPaintingArea)(container.curvedBounds, container.style.background.backgroundClip); + + if (HAS_BACKGROUND) { + _this2.target.clip([backgroundPaintingArea], function () { + if (!container.style.background.backgroundColor.isTransparent()) { + _this2.target.fill(container.style.background.backgroundColor); + } + + _this2.renderBackgroundImage(container); + }); + } + + container.style.border.forEach(function (border$$2, side) { + if (border$$2.borderStyle !== border.BORDER_STYLE.NONE && !border$$2.borderColor.isTransparent()) { + _this2.renderBorder(border$$2, side, container.curvedBounds); + } + }); + }; + + if (HAS_BACKGROUND || hasRenderableBorders) { + var paths = container.parent ? container.parent.getClipPaths() : []; + if (paths.length) { + this.target.clip(paths, callback); + } else { + callback(); + } + } + } + }, { + key: 'renderBackgroundImage', + value: function renderBackgroundImage(container) { + var _this3 = this; + + container.style.background.backgroundImage.slice(0).reverse().forEach(function (backgroundImage) { + if (backgroundImage.source.method === 'url' && backgroundImage.source.args.length) { + _this3.renderBackgroundRepeat(container, backgroundImage); + } else if (/gradient/i.test(backgroundImage.source.method)) { + _this3.renderBackgroundGradient(container, backgroundImage); + } + }); + } + }, { + key: 'renderBackgroundRepeat', + value: function renderBackgroundRepeat(container, background$$2) { + var image = this.options.imageStore.get(background$$2.source.args[0]); + if (image) { + var backgroundPositioningArea = (0, background.calculateBackgroungPositioningArea)(container.style.background.backgroundOrigin, container.bounds, container.style.padding, container.style.border); + var backgroundImageSize = (0, background.calculateBackgroundSize)(background$$2, image, backgroundPositioningArea); + var position = (0, background.calculateBackgroundPosition)(background$$2.position, backgroundImageSize, backgroundPositioningArea); + var _path = (0, background.calculateBackgroundRepeatPath)(background$$2, position, backgroundImageSize, backgroundPositioningArea, container.bounds); + + var _offsetX = Math.round(backgroundPositioningArea.left + position.x); + var _offsetY = Math.round(backgroundPositioningArea.top + position.y); + this.target.renderRepeat(_path, image, backgroundImageSize, _offsetX, _offsetY); + } + } + }, { + key: 'renderBackgroundGradient', + value: function renderBackgroundGradient(container, background$$2) { + var backgroundPositioningArea = (0, background.calculateBackgroungPositioningArea)(container.style.background.backgroundOrigin, container.bounds, container.style.padding, container.style.border); + var backgroundImageSize = (0, background.calculateGradientBackgroundSize)(background$$2, backgroundPositioningArea); + var position = (0, background.calculateBackgroundPosition)(background$$2.position, backgroundImageSize, backgroundPositioningArea); + var gradientBounds = new Bounds_1.Bounds(Math.round(backgroundPositioningArea.left + position.x), Math.round(backgroundPositioningArea.top + position.y), backgroundImageSize.width, backgroundImageSize.height); + + var gradient = (0, Gradient.parseGradient)(container, background$$2.source, gradientBounds); + if (gradient) { + switch (gradient.type) { + case Gradient.GRADIENT_TYPE.LINEAR_GRADIENT: + // $FlowFixMe + this.target.renderLinearGradient(gradientBounds, gradient); + break; + case Gradient.GRADIENT_TYPE.RADIAL_GRADIENT: + // $FlowFixMe + this.target.renderRadialGradient(gradientBounds, gradient); + break; + } + } + } + }, { + key: 'renderBorder', + value: function renderBorder(border$$2, side, curvePoints) { + this.target.drawShape((0, Bounds_1.parsePathForBorder)(curvePoints, side), border$$2.borderColor); + } + }, { + key: 'renderStack', + value: function renderStack(stack) { + var _this4 = this; + + if (stack.container.isVisible()) { + var _opacity = stack.getOpacity(); + if (_opacity !== this._opacity) { + this.target.setOpacity(stack.getOpacity()); + this._opacity = _opacity; + } + + var _transform = stack.container.style.transform; + if (_transform !== null) { + this.target.transform(stack.container.bounds.left + _transform.transformOrigin[0].value, stack.container.bounds.top + _transform.transformOrigin[1].value, _transform.transform, function () { + return _this4.renderStackContent(stack); + }); + } else { + this.renderStackContent(stack); + } + } + } + }, { + key: 'renderStackContent', + value: function renderStackContent(stack) { + var _splitStackingContext = splitStackingContexts(stack), + _splitStackingContext2 = _slicedToArray(_splitStackingContext, 5), + negativeZIndex = _splitStackingContext2[0], + zeroOrAutoZIndexOrTransformedOrOpacity = _splitStackingContext2[1], + positiveZIndex = _splitStackingContext2[2], + nonPositionedFloats = _splitStackingContext2[3], + nonPositionedInlineLevel = _splitStackingContext2[4]; + + var _splitDescendants = splitDescendants(stack), + _splitDescendants2 = _slicedToArray(_splitDescendants, 2), + inlineLevel = _splitDescendants2[0], + nonInlineLevel = _splitDescendants2[1]; + + // https://www.w3.org/TR/css-position-3/#painting-order + // 1. the background and borders of the element forming the stacking context. + + + this.renderNodeBackgroundAndBorders(stack.container); + // 2. the child stacking contexts with negative stack levels (most negative first). + negativeZIndex.sort(sortByZIndex).forEach(this.renderStack, this); + // 3. For all its in-flow, non-positioned, block-level descendants in tree order: + this.renderNodeContent(stack.container); + nonInlineLevel.forEach(this.renderNode, this); + // 4. All non-positioned floating descendants, in tree order. For each one of these, + // treat the element as if it created a new stacking context, but any positioned descendants and descendants + // which actually create a new stacking context should be considered part of the parent stacking context, + // not this new one. + nonPositionedFloats.forEach(this.renderStack, this); + // 5. the in-flow, inline-level, non-positioned descendants, including inline tables and inline blocks. + nonPositionedInlineLevel.forEach(this.renderStack, this); + inlineLevel.forEach(this.renderNode, this); + // 6. All positioned, opacity or transform descendants, in tree order that fall into the following categories: + // All positioned descendants with 'z-index: auto' or 'z-index: 0', in tree order. + // For those with 'z-index: auto', treat the element as if it created a new stacking context, + // but any positioned descendants and descendants which actually create a new stacking context should be + // considered part of the parent stacking context, not this new one. For those with 'z-index: 0', + // treat the stacking context generated atomically. + // + // All opacity descendants with opacity less than 1 + // + // All transform descendants with transform other than none + zeroOrAutoZIndexOrTransformedOrOpacity.forEach(this.renderStack, this); + // 7. Stacking contexts formed by positioned descendants with z-indices greater than or equal to 1 in z-index + // order (smallest first) then tree order. + positiveZIndex.sort(sortByZIndex).forEach(this.renderStack, this); + } + }, { + key: 'render', + value: function render(stack) { + if (this.options.backgroundColor) { + this.target.rectangle(this.options.x, this.options.y, this.options.width, this.options.height, this.options.backgroundColor); + } + this.renderStack(stack); + var target = this.target.getTarget(); + return target; + } + }]); + + return Renderer; +}(); + +exports.default = Renderer; + + +var splitDescendants = function splitDescendants(stack) { + var inlineLevel = []; + var nonInlineLevel = []; + + var length = stack.children.length; + for (var i = 0; i < length; i++) { + var child = stack.children[i]; + if (child.isInlineLevel()) { + inlineLevel.push(child); + } else { + nonInlineLevel.push(child); + } + } + return [inlineLevel, nonInlineLevel]; +}; + +var splitStackingContexts = function splitStackingContexts(stack) { + var negativeZIndex = []; + var zeroOrAutoZIndexOrTransformedOrOpacity = []; + var positiveZIndex = []; + var nonPositionedFloats = []; + var nonPositionedInlineLevel = []; + var length = stack.contexts.length; + for (var i = 0; i < length; i++) { + var child = stack.contexts[i]; + if (child.container.isPositioned() || child.container.style.opacity < 1 || child.container.isTransformed()) { + if (child.container.style.zIndex.order < 0) { + negativeZIndex.push(child); + } else if (child.container.style.zIndex.order > 0) { + positiveZIndex.push(child); + } else { + zeroOrAutoZIndexOrTransformedOrOpacity.push(child); + } + } else { + if (child.container.isFloating()) { + nonPositionedFloats.push(child); + } else { + nonPositionedInlineLevel.push(child); + } + } + } + return [negativeZIndex, zeroOrAutoZIndexOrTransformedOrOpacity, positiveZIndex, nonPositionedFloats, nonPositionedInlineLevel]; +}; + +var sortByZIndex = function sortByZIndex(a, b) { + if (a.container.style.zIndex.order > b.container.style.zIndex.order) { + return 1; + } else if (a.container.style.zIndex.order < b.container.style.zIndex.order) { + return -1; + } + + return a.container.index > b.container.index ? 1 : -1; +}; +}); + +unwrapExports(Renderer_1); + +var _Proxy = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.Proxy = undefined; + + + +var _Feature2 = _interopRequireDefault(Feature); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var Proxy = exports.Proxy = function Proxy(src, options) { + if (!options.proxy) { + return Promise.reject(null); + } + var proxy = options.proxy; + + return new Promise(function (resolve, reject) { + var responseType = _Feature2.default.SUPPORT_CORS_XHR && _Feature2.default.SUPPORT_RESPONSE_TYPE ? 'blob' : 'text'; + var xhr = _Feature2.default.SUPPORT_CORS_XHR ? new XMLHttpRequest() : new XDomainRequest(); + xhr.onload = function () { + if (xhr instanceof XMLHttpRequest) { + if (xhr.status === 200) { + if (responseType === 'text') { + resolve(xhr.response); + } else { + var reader = new FileReader(); + // $FlowFixMe + reader.addEventListener('load', function () { + return resolve(reader.result); + }, false); + // $FlowFixMe + reader.addEventListener('error', function (e) { + return reject(e); + }, false); + reader.readAsDataURL(xhr.response); + } + } else { + reject(''); + } + } else { + resolve(xhr.responseText); + } + }; + + xhr.onerror = reject; + xhr.open('GET', proxy + '?url=' + encodeURIComponent(src) + '&responseType=' + responseType); + + if (responseType !== 'text' && xhr instanceof XMLHttpRequest) { + xhr.responseType = responseType; + } + + if (options.imageTimeout) { + var timeout = options.imageTimeout; + xhr.timeout = timeout; + xhr.ontimeout = function () { + return reject(''); + }; + } + + xhr.send(); + }); +}; +}); + +unwrapExports(_Proxy); +var _Proxy_1 = _Proxy.Proxy; + +var ResourceLoader_1 = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ResourceStore = undefined; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + + +var _Feature2 = _interopRequireDefault(Feature); + + + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var ResourceLoader = function () { + function ResourceLoader(options, logger, window) { + _classCallCheck(this, ResourceLoader); + + this.options = options; + this._window = window; + this.origin = this.getOrigin(window.location.href); + this.cache = {}; + this.logger = logger; + this._index = 0; + } + + _createClass(ResourceLoader, [{ + key: 'loadImage', + value: function loadImage(src) { + var _this = this; + + if (this.hasResourceInCache(src)) { + return src; + } + if (isBlobImage(src)) { + this.cache[src] = _loadImage(src, this.options.imageTimeout || 0); + return src; + } + + if (!isSVG(src) || _Feature2.default.SUPPORT_SVG_DRAWING) { + if (this.options.allowTaint === true || isInlineImage(src) || this.isSameOrigin(src)) { + return this.addImage(src, src, false); + } else if (!this.isSameOrigin(src)) { + if (typeof this.options.proxy === 'string') { + this.cache[src] = (0, _Proxy.Proxy)(src, this.options).then(function (src) { + return _loadImage(src, _this.options.imageTimeout || 0); + }); + return src; + } else if (this.options.useCORS === true && _Feature2.default.SUPPORT_CORS_IMAGES) { + return this.addImage(src, src, true); + } + } + } + } + }, { + key: 'inlineImage', + value: function inlineImage(src) { + var _this2 = this; + + if (isInlineImage(src)) { + return _loadImage(src, this.options.imageTimeout || 0); + } + if (this.hasResourceInCache(src)) { + return this.cache[src]; + } + if (!this.isSameOrigin(src) && typeof this.options.proxy === 'string') { + return this.cache[src] = (0, _Proxy.Proxy)(src, this.options).then(function (src) { + return _loadImage(src, _this2.options.imageTimeout || 0); + }); + } + + return this.xhrImage(src); + } + }, { + key: 'xhrImage', + value: function xhrImage(src) { + var _this3 = this; + + this.cache[src] = new Promise(function (resolve, reject) { + var xhr = new XMLHttpRequest(); + xhr.onreadystatechange = function () { + if (xhr.readyState === 4) { + if (xhr.status !== 200) { + reject('Failed to fetch image ' + src.substring(0, 256) + ' with status code ' + xhr.status); + } else { + var reader = new FileReader(); + reader.addEventListener('load', function () { + // $FlowFixMe + var result = reader.result; + resolve(result); + }, false); + reader.addEventListener('error', function (e) { + return reject(e); + }, false); + reader.readAsDataURL(xhr.response); + } + } + }; + xhr.responseType = 'blob'; + if (_this3.options.imageTimeout) { + var timeout = _this3.options.imageTimeout; + xhr.timeout = timeout; + xhr.ontimeout = function () { + return reject(''); + }; + } + xhr.open('GET', src, true); + xhr.send(); + }).then(function (src) { + return _loadImage(src, _this3.options.imageTimeout || 0); + }); + + return this.cache[src]; + } + }, { + key: 'loadCanvas', + value: function loadCanvas(node) { + var key = String(this._index++); + this.cache[key] = Promise.resolve(node); + return key; + } + }, { + key: 'hasResourceInCache', + value: function hasResourceInCache(key) { + return typeof this.cache[key] !== 'undefined'; + } + }, { + key: 'addImage', + value: function addImage(key, src, useCORS) { + var _this4 = this; + + var imageLoadHandler = function imageLoadHandler(supportsDataImages) { + return new Promise(function (resolve, reject) { + var img = new Image(); + img.onload = function () { + return resolve(img); + }; + //ios safari 10.3 taints canvas with data urls unless crossOrigin is set to anonymous + if (!supportsDataImages || useCORS) { + img.crossOrigin = 'anonymous'; + } + + img.onerror = reject; + img.src = src; + if (img.complete === true) { + // Inline XML images may fail to parse, throwing an Error later on + setTimeout(function () { + resolve(img); + }, 500); + } + if (_this4.options.imageTimeout) { + var timeout = _this4.options.imageTimeout; + setTimeout(function () { + return reject(''); + }, timeout); + } + }); + }; + + this.cache[key] = isInlineBase64Image(src) && !isSVG(src) ? // $FlowFixMe + _Feature2.default.SUPPORT_BASE64_DRAWING(src).then(imageLoadHandler) : imageLoadHandler(true); + return key; + } + }, { + key: 'isSameOrigin', + value: function isSameOrigin(url) { + return this.getOrigin(url) === this.origin; + } + }, { + key: 'getOrigin', + value: function getOrigin(url) { + var link = this._link || (this._link = this._window.document.createElement('a')); + link.href = url; + link.href = link.href; // IE9, LOL! - http://jsfiddle.net/niklasvh/2e48b/ + return link.protocol + link.hostname + link.port; + } + }, { + key: 'ready', + value: function ready() { + var _this5 = this; + + var keys = Object.keys(this.cache); + var values = keys.map(function (str) { + return _this5.cache[str].catch(function (e) { + return null; + }); + }); + return Promise.all(values).then(function (images) { + return new ResourceStore(keys, images); + }); + } + }]); + + return ResourceLoader; +}(); + +exports.default = ResourceLoader; + +var ResourceStore = exports.ResourceStore = function () { + function ResourceStore(keys, resources) { + _classCallCheck(this, ResourceStore); + + this._keys = keys; + this._resources = resources; + } + + _createClass(ResourceStore, [{ + key: 'get', + value: function get(key) { + var index = this._keys.indexOf(key); + return index === -1 ? null : this._resources[index]; + } + }]); + + return ResourceStore; +}(); + +var INLINE_SVG = /^data:image\/svg\+xml/i; +var INLINE_BASE64 = /^data:image\/.*;base64,/i; +var INLINE_IMG = /^data:image\/.*/i; + +var isInlineImage = function isInlineImage(src) { + return INLINE_IMG.test(src); +}; +var isInlineBase64Image = function isInlineBase64Image(src) { + return INLINE_BASE64.test(src); +}; +var isBlobImage = function isBlobImage(src) { + return src.substr(0, 4) === 'blob'; +}; + +var isSVG = function isSVG(src) { + return src.substr(-3).toLowerCase() === 'svg' || INLINE_SVG.test(src); +}; + +var _loadImage = function _loadImage(src, timeout) { + return new Promise(function (resolve, reject) { + var img = new Image(); + img.onload = function () { + return resolve(img); + }; + img.onerror = reject; + img.src = src; + if (img.complete === true) { + // Inline XML images may fail to parse, throwing an Error later on + setTimeout(function () { + resolve(img); + }, 500); + } + if (timeout) { + setTimeout(function () { + return reject(''); + }, timeout); + } + }); +}; +}); + +unwrapExports(ResourceLoader_1); +var ResourceLoader_2 = ResourceLoader_1.ResourceStore; + +var PseudoNodeContent = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.parseContent = exports.resolvePseudoContent = exports.popCounters = exports.parseCounterReset = exports.TOKEN_TYPE = exports.PSEUDO_CONTENT_ITEM_TYPE = undefined; + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); + + + + + +var PSEUDO_CONTENT_ITEM_TYPE = exports.PSEUDO_CONTENT_ITEM_TYPE = { + TEXT: 0, + IMAGE: 1 +}; + +var TOKEN_TYPE = exports.TOKEN_TYPE = { + STRING: 0, + ATTRIBUTE: 1, + URL: 2, + COUNTER: 3, + COUNTERS: 4, + OPENQUOTE: 5, + CLOSEQUOTE: 6 +}; + +var parseCounterReset = exports.parseCounterReset = function parseCounterReset(style, data) { + if (!style || !style.counterReset || style.counterReset === 'none') { + return []; + } + + var counterNames = []; + var counterResets = style.counterReset.split(/\s*,\s*/); + var lenCounterResets = counterResets.length; + + for (var i = 0; i < lenCounterResets; i++) { + var _counterResets$i$spli = counterResets[i].split(/\s+/), + _counterResets$i$spli2 = _slicedToArray(_counterResets$i$spli, 2), + counterName = _counterResets$i$spli2[0], + initialValue = _counterResets$i$spli2[1]; + + counterNames.push(counterName); + var counter = data.counters[counterName]; + if (!counter) { + counter = data.counters[counterName] = []; + } + counter.push(parseInt(initialValue || 0, 10)); + } + + return counterNames; +}; + +var popCounters = exports.popCounters = function popCounters(counterNames, data) { + var lenCounters = counterNames.length; + for (var i = 0; i < lenCounters; i++) { + data.counters[counterNames[i]].pop(); + } +}; + +var resolvePseudoContent = exports.resolvePseudoContent = function resolvePseudoContent(node, style, data) { + if (!style || !style.content || style.content === 'none' || style.content === '-moz-alt-content' || style.display === 'none') { + return null; + } + + var tokens = parseContent(style.content); + + var len = tokens.length; + var contentItems = []; + var s = ''; + + // increment the counter (if there is a "counter-increment" declaration) + var counterIncrement = style.counterIncrement; + if (counterIncrement && counterIncrement !== 'none') { + var _counterIncrement$spl = counterIncrement.split(/\s+/), + _counterIncrement$spl2 = _slicedToArray(_counterIncrement$spl, 2), + counterName = _counterIncrement$spl2[0], + incrementValue = _counterIncrement$spl2[1]; + + var counter = data.counters[counterName]; + if (counter) { + counter[counter.length - 1] += incrementValue === undefined ? 1 : parseInt(incrementValue, 10); + } + } + + // build the content string + for (var i = 0; i < len; i++) { + var token = tokens[i]; + switch (token.type) { + case TOKEN_TYPE.STRING: + s += token.value || ''; + break; + + case TOKEN_TYPE.ATTRIBUTE: + if (node instanceof HTMLElement && token.value) { + s += node.getAttribute(token.value) || ''; + } + break; + + case TOKEN_TYPE.COUNTER: + var _counter = data.counters[token.name || '']; + if (_counter) { + s += formatCounterValue([_counter[_counter.length - 1]], '', token.format); + } + break; + + case TOKEN_TYPE.COUNTERS: + var _counters = data.counters[token.name || '']; + if (_counters) { + s += formatCounterValue(_counters, token.glue, token.format); + } + break; + + case TOKEN_TYPE.OPENQUOTE: + s += getQuote(style, true, data.quoteDepth); + data.quoteDepth++; + break; + + case TOKEN_TYPE.CLOSEQUOTE: + data.quoteDepth--; + s += getQuote(style, false, data.quoteDepth); + break; + + case TOKEN_TYPE.URL: + if (s) { + contentItems.push({ type: PSEUDO_CONTENT_ITEM_TYPE.TEXT, value: s }); + s = ''; + } + contentItems.push({ type: PSEUDO_CONTENT_ITEM_TYPE.IMAGE, value: token.value || '' }); + break; + } + } + + if (s) { + contentItems.push({ type: PSEUDO_CONTENT_ITEM_TYPE.TEXT, value: s }); + } + + return contentItems; +}; + +var parseContent = exports.parseContent = function parseContent(content, cache) { + if (cache && cache[content]) { + return cache[content]; + } + + var tokens = []; + var len = content.length; + + var isString = false; + var isEscaped = false; + var isFunction = false; + var str = ''; + var functionName = ''; + var args = []; + + for (var i = 0; i < len; i++) { + var c = content.charAt(i); + + switch (c) { + case "'": + case '"': + if (isEscaped) { + str += c; + } else { + isString = !isString; + if (!isFunction && !isString) { + tokens.push({ type: TOKEN_TYPE.STRING, value: str }); + str = ''; + } + } + break; + + case '\\': + if (isEscaped) { + str += c; + isEscaped = false; + } else { + isEscaped = true; + } + break; + + case '(': + if (isString) { + str += c; + } else { + isFunction = true; + functionName = str; + str = ''; + args = []; + } + break; + + case ')': + if (isString) { + str += c; + } else if (isFunction) { + if (str) { + args.push(str); + } + + switch (functionName) { + case 'attr': + if (args.length > 0) { + tokens.push({ type: TOKEN_TYPE.ATTRIBUTE, value: args[0] }); + } + break; + + case 'counter': + if (args.length > 0) { + var counter = { + type: TOKEN_TYPE.COUNTER, + name: args[0] + }; + if (args.length > 1) { + counter.format = args[1]; + } + tokens.push(counter); + } + break; + + case 'counters': + if (args.length > 0) { + var _counters2 = { + type: TOKEN_TYPE.COUNTERS, + name: args[0] + }; + if (args.length > 1) { + _counters2.glue = args[1]; + } + if (args.length > 2) { + _counters2.format = args[2]; + } + tokens.push(_counters2); + } + break; + + case 'url': + if (args.length > 0) { + tokens.push({ type: TOKEN_TYPE.URL, value: args[0] }); + } + break; + } + + isFunction = false; + str = ''; + } + break; + + case ',': + if (isString) { + str += c; + } else if (isFunction) { + args.push(str); + str = ''; + } + break; + + case ' ': + case '\t': + if (isString) { + str += c; + } else if (str) { + addOtherToken(tokens, str); + str = ''; + } + break; + + default: + str += c; + } + + if (c !== '\\') { + isEscaped = false; + } + } + + if (str) { + addOtherToken(tokens, str); + } + + if (cache) { + cache[content] = tokens; + } + + return tokens; +}; + +var addOtherToken = function addOtherToken(tokens, identifier) { + switch (identifier) { + case 'open-quote': + tokens.push({ type: TOKEN_TYPE.OPENQUOTE }); + break; + case 'close-quote': + tokens.push({ type: TOKEN_TYPE.CLOSEQUOTE }); + break; + } +}; + +var getQuote = function getQuote(style, isOpening, quoteDepth) { + var quotes = style.quotes ? style.quotes.split(/\s+/) : ["'\"'", "'\"'"]; + var idx = quoteDepth * 2; + if (idx >= quotes.length) { + idx = quotes.length - 2; + } + if (!isOpening) { + ++idx; + } + return quotes[idx].replace(/^["']|["']$/g, ''); +}; + +var formatCounterValue = function formatCounterValue(counter, glue, format) { + var len = counter.length; + var result = ''; + + for (var i = 0; i < len; i++) { + if (i > 0) { + result += glue || ''; + } + result += (0, ListItem.createCounterText)(counter[i], (0, listStyle.parseListStyleType)(format || 'decimal'), false); + } + + return result; +}; +}); + +unwrapExports(PseudoNodeContent); +var PseudoNodeContent_1 = PseudoNodeContent.parseContent; +var PseudoNodeContent_2 = PseudoNodeContent.resolvePseudoContent; +var PseudoNodeContent_3 = PseudoNodeContent.popCounters; +var PseudoNodeContent_4 = PseudoNodeContent.parseCounterReset; +var PseudoNodeContent_5 = PseudoNodeContent.TOKEN_TYPE; +var PseudoNodeContent_6 = PseudoNodeContent.PSEUDO_CONTENT_ITEM_TYPE; + +var Clone = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.cloneWindow = exports.DocumentCloner = undefined; + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + + + + + + +var _ResourceLoader2 = _interopRequireDefault(ResourceLoader_1); + + + + + + + +var _CanvasRenderer2 = _interopRequireDefault(CanvasRenderer_1); + + + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var IGNORE_ATTRIBUTE = 'data-html2canvas-ignore'; + +var DocumentCloner = exports.DocumentCloner = function () { + function DocumentCloner(element, options, logger, copyInline, renderer) { + _classCallCheck(this, DocumentCloner); + + this.referenceElement = element; + this.scrolledElements = []; + this.copyStyles = copyInline; + this.inlineImages = copyInline; + this.logger = logger; + this.options = options; + this.renderer = renderer; + this.resourceLoader = new _ResourceLoader2.default(options, logger, window); + this.pseudoContentData = { + counters: {}, + quoteDepth: 0 + }; + // $FlowFixMe + this.documentElement = this.cloneNode(element.ownerDocument.documentElement); + } + + _createClass(DocumentCloner, [{ + key: 'inlineAllImages', + value: function inlineAllImages(node) { + var _this = this; + + if (this.inlineImages && node) { + var style = node.style; + Promise.all((0, background.parseBackgroundImage)(style.backgroundImage).map(function (backgroundImage) { + if (backgroundImage.method === 'url') { + return _this.resourceLoader.inlineImage(backgroundImage.args[0]).then(function (img) { + return img && typeof img.src === 'string' ? 'url("' + img.src + '")' : 'none'; + }).catch(function (e) { + + }); + } + return Promise.resolve('' + backgroundImage.prefix + backgroundImage.method + '(' + backgroundImage.args.join(',') + ')'); + })).then(function (backgroundImages) { + if (backgroundImages.length > 1) { + // TODO Multiple backgrounds somehow broken in Chrome + style.backgroundColor = ''; + } + style.backgroundImage = backgroundImages.join(','); + }); + + if (node instanceof HTMLImageElement) { + this.resourceLoader.inlineImage(node.src).then(function (img) { + if (img && node instanceof HTMLImageElement && node.parentNode) { + var parentNode = node.parentNode; + var clonedChild = (0, Util.copyCSSStyles)(node.style, img.cloneNode(false)); + parentNode.replaceChild(clonedChild, node); + } + }).catch(function (e) { + + }); + } + } + } + }, { + key: 'inlineFonts', + value: function inlineFonts(document) { + var _this2 = this; + + return Promise.all(Array.from(document.styleSheets).map(function (sheet) { + if (sheet.href) { + return fetch(sheet.href).then(function (res) { + return res.text(); + }).then(function (text) { + return createStyleSheetFontsFromText(text, sheet.href); + }).catch(function (e) { + return []; + }); + } + return getSheetFonts(sheet, document); + })).then(function (fonts) { + return fonts.reduce(function (acc, font) { + return acc.concat(font); + }, []); + }).then(function (fonts) { + return Promise.all(fonts.map(function (font) { + return fetch(font.formats[0].src).then(function (response) { + return response.blob(); + }).then(function (blob) { + return new Promise(function (resolve, reject) { + var reader = new FileReader(); + reader.onerror = reject; + reader.onload = function () { + // $FlowFixMe + var result = reader.result; + resolve(result); + }; + reader.readAsDataURL(blob); + }); + }).then(function (dataUri) { + font.fontFace.setProperty('src', 'url("' + dataUri + '")'); + return '@font-face {' + font.fontFace.cssText + ' '; + }); + })); + }).then(function (fontCss) { + var style = document.createElement('style'); + style.textContent = fontCss.join('\n'); + _this2.documentElement.appendChild(style); + }); + } + }, { + key: 'createElementClone', + value: function createElementClone(node) { + var _this3 = this; + + if (this.copyStyles && node instanceof HTMLCanvasElement) { + var img = node.ownerDocument.createElement('img'); + try { + img.src = node.toDataURL(); + return img; + } catch (e) { + + } + } + + if (node instanceof HTMLIFrameElement) { + var tempIframe = node.cloneNode(false); + var iframeKey = generateIframeKey(); + tempIframe.setAttribute('data-html2canvas-internal-iframe-key', iframeKey); + + var _parseBounds = (0, Bounds_1.parseBounds)(node, 0, 0), + width = _parseBounds.width, + height = _parseBounds.height; + + this.resourceLoader.cache[iframeKey] = getIframeDocumentElement(node, this.options).then(function (documentElement) { + return _this3.renderer(documentElement, { + async: _this3.options.async, + allowTaint: _this3.options.allowTaint, + backgroundColor: '#ffffff', + canvas: null, + imageTimeout: _this3.options.imageTimeout, + logging: _this3.options.logging, + proxy: _this3.options.proxy, + removeContainer: _this3.options.removeContainer, + scale: _this3.options.scale, + foreignObjectRendering: _this3.options.foreignObjectRendering, + useCORS: _this3.options.useCORS, + target: new _CanvasRenderer2.default(), + width: width, + height: height, + x: 0, + y: 0, + windowWidth: documentElement.ownerDocument.defaultView.innerWidth, + windowHeight: documentElement.ownerDocument.defaultView.innerHeight, + scrollX: documentElement.ownerDocument.defaultView.pageXOffset, + scrollY: documentElement.ownerDocument.defaultView.pageYOffset + }, _this3.logger.child(iframeKey)); + }).then(function (canvas) { + return new Promise(function (resolve, reject) { + var iframeCanvas = document.createElement('img'); + iframeCanvas.onload = function () { + return resolve(canvas); + }; + iframeCanvas.onerror = reject; + iframeCanvas.src = canvas.toDataURL(); + if (tempIframe.parentNode) { + tempIframe.parentNode.replaceChild((0, Util.copyCSSStyles)(node.ownerDocument.defaultView.getComputedStyle(node), iframeCanvas), tempIframe); + } + }); + }); + return tempIframe; + } + + if (node instanceof HTMLStyleElement && node.sheet && node.sheet.cssRules) { + var css = [].slice.call(node.sheet.cssRules, 0).reduce(function (css, rule) { + try { + if (rule && rule.cssText) { + return css + rule.cssText; + } + return css; + } catch (err) { + _this3.logger.log('Unable to access cssText property', rule.name); + return css; + } + }, ''); + var style = node.cloneNode(false); + style.textContent = css; + return style; + } + + return node.cloneNode(false); + } + }, { + key: 'cloneNode', + value: function cloneNode(node) { + var clone = node.nodeType === Node.TEXT_NODE ? document.createTextNode(node.nodeValue) : this.createElementClone(node); + + var window = node.ownerDocument.defaultView; + var style = node instanceof window.HTMLElement ? window.getComputedStyle(node) : null; + var styleBefore = node instanceof window.HTMLElement ? window.getComputedStyle(node, ':before') : null; + var styleAfter = node instanceof window.HTMLElement ? window.getComputedStyle(node, ':after') : null; + + if (this.referenceElement === node && clone instanceof window.HTMLElement) { + this.clonedReferenceElement = clone; + } + + if (clone instanceof window.HTMLBodyElement) { + createPseudoHideStyles(clone); + } + + var counters = (0, PseudoNodeContent.parseCounterReset)(style, this.pseudoContentData); + var contentBefore = (0, PseudoNodeContent.resolvePseudoContent)(node, styleBefore, this.pseudoContentData); + + for (var child = node.firstChild; child; child = child.nextSibling) { + if (child.nodeType !== Node.ELEMENT_NODE || child.nodeName !== 'SCRIPT' && + // $FlowFixMe + !child.hasAttribute(IGNORE_ATTRIBUTE) && (typeof this.options.ignoreElements !== 'function' || + // $FlowFixMe + !this.options.ignoreElements(child))) { + if (!this.copyStyles || child.nodeName !== 'STYLE') { + clone.appendChild(this.cloneNode(child)); + } + } + } + + var contentAfter = (0, PseudoNodeContent.resolvePseudoContent)(node, styleAfter, this.pseudoContentData); + (0, PseudoNodeContent.popCounters)(counters, this.pseudoContentData); + + if (node instanceof window.HTMLElement && clone instanceof window.HTMLElement) { + if (styleBefore) { + this.inlineAllImages(inlinePseudoElement(node, clone, styleBefore, contentBefore, PSEUDO_BEFORE)); + } + if (styleAfter) { + this.inlineAllImages(inlinePseudoElement(node, clone, styleAfter, contentAfter, PSEUDO_AFTER)); + } + if (style && this.copyStyles && !(node instanceof HTMLIFrameElement)) { + (0, Util.copyCSSStyles)(style, clone); + } + this.inlineAllImages(clone); + if (node.scrollTop !== 0 || node.scrollLeft !== 0) { + this.scrolledElements.push([clone, node.scrollLeft, node.scrollTop]); + } + switch (node.nodeName) { + case 'CANVAS': + if (!this.copyStyles) { + cloneCanvasContents(node, clone); + } + break; + case 'TEXTAREA': + case 'SELECT': + clone.value = node.value; + break; + } + } + return clone; + } + }]); + + return DocumentCloner; +}(); + +var getSheetFonts = function getSheetFonts(sheet, document) { + // $FlowFixMe + return (sheet.cssRules ? Array.from(sheet.cssRules) : []).filter(function (rule) { + return rule.type === CSSRule.FONT_FACE_RULE; + }).map(function (rule) { + var src = (0, background.parseBackgroundImage)(rule.style.getPropertyValue('src')); + var formats = []; + for (var i = 0; i < src.length; i++) { + if (src[i].method === 'url' && src[i + 1] && src[i + 1].method === 'format') { + var a = document.createElement('a'); + a.href = src[i].args[0]; + if (document.body) { + document.body.appendChild(a); + } + + var font = { + src: a.href, + format: src[i + 1].args[0] + }; + formats.push(font); + } + } + + return { + // TODO select correct format for browser), + + formats: formats.filter(function (font) { + return (/^woff/i.test(font.format) + ); + }), + fontFace: rule.style + }; + }).filter(function (font) { + return font.formats.length; + }); +}; + +var createStyleSheetFontsFromText = function createStyleSheetFontsFromText(text, baseHref) { + var doc = document.implementation.createHTMLDocument(''); + var base = document.createElement('base'); + // $FlowFixMe + base.href = baseHref; + var style = document.createElement('style'); + + style.textContent = text; + if (doc.head) { + doc.head.appendChild(base); + } + if (doc.body) { + doc.body.appendChild(style); + } + + return style.sheet ? getSheetFonts(style.sheet, doc) : []; +}; + +var restoreOwnerScroll = function restoreOwnerScroll(ownerDocument, x, y) { + if (ownerDocument.defaultView && (x !== ownerDocument.defaultView.pageXOffset || y !== ownerDocument.defaultView.pageYOffset)) { + ownerDocument.defaultView.scrollTo(x, y); + } +}; + +var cloneCanvasContents = function cloneCanvasContents(canvas, clonedCanvas) { + try { + if (clonedCanvas) { + clonedCanvas.width = canvas.width; + clonedCanvas.height = canvas.height; + var ctx = canvas.getContext('2d'); + var clonedCtx = clonedCanvas.getContext('2d'); + if (ctx) { + clonedCtx.putImageData(ctx.getImageData(0, 0, canvas.width, canvas.height), 0, 0); + } else { + clonedCtx.drawImage(canvas, 0, 0); + } + } + } catch (e) {} +}; + +var inlinePseudoElement = function inlinePseudoElement(node, clone, style, contentItems, pseudoElt) { + if (!style || !style.content || style.content === 'none' || style.content === '-moz-alt-content' || style.display === 'none') { + return; + } + + var anonymousReplacedElement = clone.ownerDocument.createElement('html2canvaspseudoelement'); + (0, Util.copyCSSStyles)(style, anonymousReplacedElement); + + if (contentItems) { + var len = contentItems.length; + for (var i = 0; i < len; i++) { + var item = contentItems[i]; + switch (item.type) { + case PseudoNodeContent.PSEUDO_CONTENT_ITEM_TYPE.IMAGE: + var img = clone.ownerDocument.createElement('img'); + img.src = (0, background.parseBackgroundImage)('url(' + item.value + ')')[0].args[0]; + img.style.opacity = '1'; + anonymousReplacedElement.appendChild(img); + break; + case PseudoNodeContent.PSEUDO_CONTENT_ITEM_TYPE.TEXT: + anonymousReplacedElement.appendChild(clone.ownerDocument.createTextNode(item.value)); + break; + } + } + } + + anonymousReplacedElement.className = PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + ' ' + PSEUDO_HIDE_ELEMENT_CLASS_AFTER; + clone.className += pseudoElt === PSEUDO_BEFORE ? ' ' + PSEUDO_HIDE_ELEMENT_CLASS_BEFORE : ' ' + PSEUDO_HIDE_ELEMENT_CLASS_AFTER; + if (pseudoElt === PSEUDO_BEFORE) { + clone.insertBefore(anonymousReplacedElement, clone.firstChild); + } else { + clone.appendChild(anonymousReplacedElement); + } + + return anonymousReplacedElement; +}; + +var PSEUDO_BEFORE = ':before'; +var PSEUDO_AFTER = ':after'; +var PSEUDO_HIDE_ELEMENT_CLASS_BEFORE = '___html2canvas___pseudoelement_before'; +var PSEUDO_HIDE_ELEMENT_CLASS_AFTER = '___html2canvas___pseudoelement_after'; + +var PSEUDO_HIDE_ELEMENT_STYLE = '{\n content: "" !important;\n display: none !important;\n}'; + +var createPseudoHideStyles = function createPseudoHideStyles(body) { + createStyles(body, '.' + PSEUDO_HIDE_ELEMENT_CLASS_BEFORE + PSEUDO_BEFORE + PSEUDO_HIDE_ELEMENT_STYLE + '\n .' + PSEUDO_HIDE_ELEMENT_CLASS_AFTER + PSEUDO_AFTER + PSEUDO_HIDE_ELEMENT_STYLE); +}; + +var createStyles = function createStyles(body, styles) { + var style = body.ownerDocument.createElement('style'); + style.innerHTML = styles; + body.appendChild(style); +}; + +var initNode = function initNode(_ref) { + var _ref2 = _slicedToArray(_ref, 3), + element = _ref2[0], + x = _ref2[1], + y = _ref2[2]; + + element.scrollLeft = x; + element.scrollTop = y; +}; + +var generateIframeKey = function generateIframeKey() { + return Math.ceil(Date.now() + Math.random() * 10000000).toString(16); +}; + +var DATA_URI_REGEXP = /^data:text\/(.+);(base64)?,(.*)$/i; + +var getIframeDocumentElement = function getIframeDocumentElement(node, options) { + try { + return Promise.resolve(node.contentWindow.document.documentElement); + } catch (e) { + return options.proxy ? (0, _Proxy.Proxy)(node.src, options).then(function (html) { + var match = html.match(DATA_URI_REGEXP); + if (!match) { + return Promise.reject(); + } + + return match[2] === 'base64' ? window.atob(decodeURIComponent(match[3])) : decodeURIComponent(match[3]); + }).then(function (html) { + return createIframeContainer(node.ownerDocument, (0, Bounds_1.parseBounds)(node, 0, 0)).then(function (cloneIframeContainer) { + var cloneWindow = cloneIframeContainer.contentWindow; + var documentClone = cloneWindow.document; + + documentClone.open(); + documentClone.write(html); + var iframeLoad = iframeLoader(cloneIframeContainer).then(function () { + return documentClone.documentElement; + }); + + documentClone.close(); + return iframeLoad; + }); + }) : Promise.reject(); + } +}; + +var createIframeContainer = function createIframeContainer(ownerDocument, bounds) { + var cloneIframeContainer = ownerDocument.createElement('iframe'); + + cloneIframeContainer.className = 'html2canvas-container'; + cloneIframeContainer.style.visibility = 'hidden'; + cloneIframeContainer.style.position = 'fixed'; + cloneIframeContainer.style.left = '-10000px'; + cloneIframeContainer.style.top = '0px'; + cloneIframeContainer.style.border = '0'; + cloneIframeContainer.width = bounds.width.toString(); + cloneIframeContainer.height = bounds.height.toString(); + cloneIframeContainer.scrolling = 'no'; // ios won't scroll without it + cloneIframeContainer.setAttribute(IGNORE_ATTRIBUTE, 'true'); + if (!ownerDocument.body) { + return Promise.reject(''); + } + + ownerDocument.body.appendChild(cloneIframeContainer); + + return Promise.resolve(cloneIframeContainer); +}; + +var iframeLoader = function iframeLoader(cloneIframeContainer) { + var cloneWindow = cloneIframeContainer.contentWindow; + var documentClone = cloneWindow.document; + + return new Promise(function (resolve, reject) { + cloneWindow.onload = cloneIframeContainer.onload = documentClone.onreadystatechange = function () { + var interval = setInterval(function () { + if (documentClone.body.childNodes.length > 0 && documentClone.readyState === 'complete') { + clearInterval(interval); + resolve(cloneIframeContainer); + } + }, 50); + }; + }); +}; + +var cloneWindow = exports.cloneWindow = function cloneWindow(ownerDocument, bounds, referenceElement, options, logger, renderer) { + var cloner = new DocumentCloner(referenceElement, options, logger, false, renderer); + var scrollX = ownerDocument.defaultView.pageXOffset; + var scrollY = ownerDocument.defaultView.pageYOffset; + + return createIframeContainer(ownerDocument, bounds).then(function (cloneIframeContainer) { + var cloneWindow = cloneIframeContainer.contentWindow; + var documentClone = cloneWindow.document; + + /* Chrome doesn't detect relative background-images assigned in inline <style> sheets when fetched through getComputedStyle + if window url is about:blank, we can assign the url to current by writing onto the document + */ + + var iframeLoad = iframeLoader(cloneIframeContainer).then(function () { + cloner.scrolledElements.forEach(initNode); + cloneWindow.scrollTo(bounds.left, bounds.top); + if (/(iPad|iPhone|iPod)/g.test(navigator.userAgent) && (cloneWindow.scrollY !== bounds.top || cloneWindow.scrollX !== bounds.left)) { + documentClone.documentElement.style.top = -bounds.top + 'px'; + documentClone.documentElement.style.left = -bounds.left + 'px'; + documentClone.documentElement.style.position = 'absolute'; + } + + var result = Promise.resolve([cloneIframeContainer, cloner.clonedReferenceElement, cloner.resourceLoader]); + + var onclone = options.onclone; + + return cloner.clonedReferenceElement instanceof cloneWindow.HTMLElement || cloner.clonedReferenceElement instanceof ownerDocument.defaultView.HTMLElement || cloner.clonedReferenceElement instanceof HTMLElement ? typeof onclone === 'function' ? Promise.resolve().then(function () { + return onclone(documentClone); + }).then(function () { + return result; + }) : result : Promise.reject(''); + }); + + documentClone.open(); + documentClone.write(serializeDoctype(document.doctype) + '<html></html>'); + // Chrome scrolls the parent document for some reason after the write to the cloned window??? + restoreOwnerScroll(referenceElement.ownerDocument, scrollX, scrollY); + documentClone.replaceChild(documentClone.adoptNode(cloner.documentElement), documentClone.documentElement); + documentClone.close(); + + return iframeLoad; + }); +}; + +var serializeDoctype = function serializeDoctype(doctype) { + var str = ''; + if (doctype) { + str += '<!DOCTYPE '; + if (doctype.name) { + str += doctype.name; + } + + if (doctype.internalSubset) { + str += doctype.internalSubset; + } + + if (doctype.publicId) { + str += '"' + doctype.publicId + '"'; + } + + if (doctype.systemId) { + str += '"' + doctype.systemId + '"'; + } + + str += '>'; + } + + return str; +}; +}); + +unwrapExports(Clone); +var Clone_1 = Clone.cloneWindow; +var Clone_2 = Clone.DocumentCloner; + +var Window = createCommonjsModule(function (module, exports) { +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.renderElement = undefined; + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); + + + +var _Logger2 = _interopRequireDefault(Logger_1); + + + + + +var _Renderer2 = _interopRequireDefault(Renderer_1); + + + +var _ForeignObjectRenderer2 = _interopRequireDefault(ForeignObjectRenderer_1); + + + +var _Feature2 = _interopRequireDefault(Feature); + + + + + + + + + +var _Color2 = _interopRequireDefault(Color_1); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var renderElement = exports.renderElement = function renderElement(element, options, logger) { + var ownerDocument = element.ownerDocument; + + var windowBounds = new Bounds_1.Bounds(options.scrollX, options.scrollY, options.windowWidth, options.windowHeight); + + // http://www.w3.org/TR/css3-background/#special-backgrounds + var documentBackgroundColor = ownerDocument.documentElement ? new _Color2.default(getComputedStyle(ownerDocument.documentElement).backgroundColor) : Color_1.TRANSPARENT; + var bodyBackgroundColor = ownerDocument.body ? new _Color2.default(getComputedStyle(ownerDocument.body).backgroundColor) : Color_1.TRANSPARENT; + + var backgroundColor = element === ownerDocument.documentElement ? documentBackgroundColor.isTransparent() ? bodyBackgroundColor.isTransparent() ? options.backgroundColor ? new _Color2.default(options.backgroundColor) : null : bodyBackgroundColor : documentBackgroundColor : options.backgroundColor ? new _Color2.default(options.backgroundColor) : null; + + return (options.foreignObjectRendering ? // $FlowFixMe + _Feature2.default.SUPPORT_FOREIGNOBJECT_DRAWING : Promise.resolve(false)).then(function (supportForeignObject) { + return supportForeignObject ? function (cloner) { + return cloner.inlineFonts(ownerDocument).then(function () { + return cloner.resourceLoader.ready(); + }).then(function () { + var renderer = new _ForeignObjectRenderer2.default(cloner.documentElement); + + var defaultView = ownerDocument.defaultView; + var scrollX = defaultView.pageXOffset; + var scrollY = defaultView.pageYOffset; + + var isDocument = element.tagName === 'HTML' || element.tagName === 'BODY'; + + var _ref = isDocument ? (0, Bounds_1.parseDocumentSize)(ownerDocument) : (0, Bounds_1.parseBounds)(element, scrollX, scrollY), + width = _ref.width, + height = _ref.height, + left = _ref.left, + top = _ref.top; + + return renderer.render({ + backgroundColor: backgroundColor, + logger: logger, + scale: options.scale, + x: typeof options.x === 'number' ? options.x : left, + y: typeof options.y === 'number' ? options.y : top, + width: typeof options.width === 'number' ? options.width : Math.ceil(width), + height: typeof options.height === 'number' ? options.height : Math.ceil(height), + windowWidth: options.windowWidth, + windowHeight: options.windowHeight, + scrollX: options.scrollX, + scrollY: options.scrollY + }); + }); + }(new Clone.DocumentCloner(element, options, logger, true, renderElement)) : (0, Clone.cloneWindow)(ownerDocument, windowBounds, element, options, logger, renderElement).then(function (_ref2) { + var _ref3 = _slicedToArray(_ref2, 3), + container = _ref3[0], + clonedElement = _ref3[1], + resourceLoader = _ref3[2]; + + var stack = (0, NodeParser_1.NodeParser)(clonedElement, resourceLoader, logger); + var clonedDocument = clonedElement.ownerDocument; + + if (backgroundColor === stack.container.style.background.backgroundColor) { + stack.container.style.background.backgroundColor = Color_1.TRANSPARENT; + } + + return resourceLoader.ready().then(function (imageStore) { + var fontMetrics = new Font.FontMetrics(clonedDocument); + var defaultView = clonedDocument.defaultView; + var scrollX = defaultView.pageXOffset; + var scrollY = defaultView.pageYOffset; + + var isDocument = clonedElement.tagName === 'HTML' || clonedElement.tagName === 'BODY'; + + var _ref4 = isDocument ? (0, Bounds_1.parseDocumentSize)(ownerDocument) : (0, Bounds_1.parseBounds)(clonedElement, scrollX, scrollY), + width = _ref4.width, + height = _ref4.height, + left = _ref4.left, + top = _ref4.top; + + var renderOptions = { + backgroundColor: backgroundColor, + fontMetrics: fontMetrics, + imageStore: imageStore, + logger: logger, + scale: options.scale, + x: typeof options.x === 'number' ? options.x : left, + y: typeof options.y === 'number' ? options.y : top, + width: typeof options.width === 'number' ? options.width : Math.ceil(width), + height: typeof options.height === 'number' ? options.height : Math.ceil(height) + }; + + if (Array.isArray(options.target)) { + return Promise.all(options.target.map(function (target) { + var renderer = new _Renderer2.default(target, renderOptions); + return renderer.render(stack); + })); + } else { + var renderer = new _Renderer2.default(options.target, renderOptions); + var canvas = renderer.render(stack); + if (options.removeContainer === true) { + if (container.parentNode) { + container.parentNode.removeChild(container); + } else {} + } + + return canvas; + } + }); + }); + }); +}; +}); + +unwrapExports(Window); +var Window_1 = Window.renderElement; + +var npm = createCommonjsModule(function (module) { +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + + +var _CanvasRenderer2 = _interopRequireDefault(CanvasRenderer_1); + + + +var _Logger2 = _interopRequireDefault(Logger_1); + + + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var html2canvas = function html2canvas(element, conf) { + var config = conf || {}; + var logger = new _Logger2.default(typeof config.logging === 'boolean' ? config.logging : true); + logger.log('html2canvas ' + "$npm_package_version"); + + var ownerDocument = element.ownerDocument; + if (!ownerDocument) { + return Promise.reject('Provided element is not within a Document'); + } + var defaultView = ownerDocument.defaultView; + + var defaultOptions = { + async: true, + allowTaint: false, + backgroundColor: '#ffffff', + imageTimeout: 15000, + logging: true, + proxy: null, + removeContainer: true, + foreignObjectRendering: false, + scale: defaultView.devicePixelRatio || 1, + target: new _CanvasRenderer2.default(config.canvas), + useCORS: false, + windowWidth: defaultView.innerWidth, + windowHeight: defaultView.innerHeight, + scrollX: defaultView.pageXOffset, + scrollY: defaultView.pageYOffset + }; + + var result = (0, Window.renderElement)(element, _extends({}, defaultOptions, config), logger); + + return result; +}; + +html2canvas.CanvasRenderer = _CanvasRenderer2.default; + +module.exports = html2canvas; +}); + +var html2canvas$1 = unwrapExports(npm); + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { + return typeof obj; +} : function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; +}; + + + + + + + + + + + + + + + + + + + + + +var _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; +}; + +// Determine the type of a variable/object. +var objType = function objType(obj) { + var type = typeof obj === 'undefined' ? 'undefined' : _typeof(obj); + if (type === 'undefined') return 'undefined';else if (type === 'string' || obj instanceof String) return 'string';else if (type === 'number' || obj instanceof Number) return 'number';else if (type === 'function' || obj instanceof Function) return 'function';else if (!!obj && obj.constructor === Array) return 'array';else if (obj && obj.nodeType === 1) return 'element';else if (type === 'object') return 'object';else return 'unknown'; +}; + +// Create an HTML element with optional className, innerHTML, and style. +var createElement = function createElement(tagName, opt) { + var el = document.createElement(tagName); + if (opt.className) el.className = opt.className; + if (opt.innerHTML) { + el.innerHTML = opt.innerHTML; + var scripts = el.getElementsByTagName('script'); + for (var i = scripts.length; i-- > 0; null) { + scripts[i].parentNode.removeChild(scripts[i]); + } + } + for (var key in opt.style) { + el.style[key] = opt.style[key]; + } + return el; +}; + +// Deep-clone a node and preserve contents/properties. +var cloneNode = function cloneNode(node, javascriptEnabled) { + // Recursively clone the node. + var clone = node.nodeType === 3 ? document.createTextNode(node.nodeValue) : node.cloneNode(false); + for (var child = node.firstChild; child; child = child.nextSibling) { + if (javascriptEnabled === true || child.nodeType !== 1 || child.nodeName !== 'SCRIPT') { + clone.appendChild(cloneNode(child, javascriptEnabled)); + } + } + + if (node.nodeType === 1) { + // Preserve contents/properties of special nodes. + if (node.nodeName === 'CANVAS') { + clone.width = node.width; + clone.height = node.height; + clone.getContext('2d').drawImage(node, 0, 0); + } else if (node.nodeName === 'TEXTAREA' || node.nodeName === 'SELECT') { + clone.value = node.value; + } + + // Preserve the node's scroll position when it loads. + clone.addEventListener('load', function () { + clone.scrollTop = node.scrollTop; + clone.scrollLeft = node.scrollLeft; + }, true); + } + + // Return the cloned node. + return clone; +}; + +// Convert units from px using the conversion value 'k' from jsPDF. +var unitConvert = function unitConvert(obj, k) { + if (objType(obj) === 'number') { + return obj * 72 / 96 / k; + } else { + var newObj = {}; + for (var key in obj) { + newObj[key] = obj[key] * 72 / 96 / k; + } + return newObj; + } +}; + +// Convert units to px using the conversion value 'k' from jsPDF. +var toPx = function toPx(val, k) { + return Math.floor(val * k / 72 * 96); +}; + +var es6Promise = createCommonjsModule(function (module, exports) { +/*! + * @overview es6-promise - a tiny implementation of Promises/A+. + * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald) + * @license Licensed under MIT license + * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE + * @version v4.2.5+7f2b526d + */ + +(function (global, factory) { + module.exports = factory(); +}(commonjsGlobal, (function () { function objectOrFunction(x) { + var type = typeof x; + return x !== null && (type === 'object' || type === 'function'); +} + +function isFunction(x) { + return typeof x === 'function'; +} + + + +var _isArray = void 0; +if (Array.isArray) { + _isArray = Array.isArray; +} else { + _isArray = function (x) { + return Object.prototype.toString.call(x) === '[object Array]'; + }; +} + +var isArray = _isArray; + +var len = 0; +var vertxNext = void 0; +var customSchedulerFn = void 0; + +var asap = function asap(callback, arg) { + queue[len] = callback; + queue[len + 1] = arg; + len += 2; + if (len === 2) { + // If len is 2, that means that we need to schedule an async flush. + // If additional callbacks are queued before the queue is flushed, they + // will be processed by this flush that we are scheduling. + if (customSchedulerFn) { + customSchedulerFn(flush); + } else { + scheduleFlush(); + } + } +}; + +function setScheduler(scheduleFn) { + customSchedulerFn = scheduleFn; +} + +function setAsap(asapFn) { + asap = asapFn; +} + +var browserWindow = typeof window !== 'undefined' ? window : undefined; +var browserGlobal = browserWindow || {}; +var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver; +var isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]'; + +// test for web worker but not in IE10 +var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined'; + +// node +function useNextTick() { + // node version 0.10.x displays a deprecation warning when nextTick is used recursively + // see https://github.com/cujojs/when/issues/410 for details + return function () { + return process.nextTick(flush); + }; +} + +// vertx +function useVertxTimer() { + if (typeof vertxNext !== 'undefined') { + return function () { + vertxNext(flush); + }; + } + + return useSetTimeout(); +} + +function useMutationObserver() { + var iterations = 0; + var observer = new BrowserMutationObserver(flush); + var node = document.createTextNode(''); + observer.observe(node, { characterData: true }); + + return function () { + node.data = iterations = ++iterations % 2; + }; +} + +// web worker +function useMessageChannel() { + var channel = new MessageChannel(); + channel.port1.onmessage = flush; + return function () { + return channel.port2.postMessage(0); + }; +} + +function useSetTimeout() { + // Store setTimeout reference so es6-promise will be unaffected by + // other code modifying setTimeout (like sinon.useFakeTimers()) + var globalSetTimeout = setTimeout; + return function () { + return globalSetTimeout(flush, 1); + }; +} + +var queue = new Array(1000); +function flush() { + for (var i = 0; i < len; i += 2) { + var callback = queue[i]; + var arg = queue[i + 1]; + + callback(arg); + + queue[i] = undefined; + queue[i + 1] = undefined; + } + + len = 0; +} + +function attemptVertx() { + try { + var vertx = Function('return this')().require('vertx'); + vertxNext = vertx.runOnLoop || vertx.runOnContext; + return useVertxTimer(); + } catch (e) { + return useSetTimeout(); + } +} + +var scheduleFlush = void 0; +// Decide what async method to use to triggering processing of queued callbacks: +if (isNode) { + scheduleFlush = useNextTick(); +} else if (BrowserMutationObserver) { + scheduleFlush = useMutationObserver(); +} else if (isWorker) { + scheduleFlush = useMessageChannel(); +} else if (browserWindow === undefined && typeof commonjsRequire === 'function') { + scheduleFlush = attemptVertx(); +} else { + scheduleFlush = useSetTimeout(); +} + +function then(onFulfillment, onRejection) { + var parent = this; + + var child = new this.constructor(noop); + + if (child[PROMISE_ID] === undefined) { + makePromise(child); + } + + var _state = parent._state; + + + if (_state) { + var callback = arguments[_state - 1]; + asap(function () { + return invokeCallback(_state, child, callback, parent._result); + }); + } else { + subscribe(parent, child, onFulfillment, onRejection); + } + + return child; +} + +/** + `Promise.resolve` returns a promise that will become resolved with the + passed `value`. It is shorthand for the following: + + ```javascript + let promise = new Promise(function(resolve, reject){ + resolve(1); + }); + + promise.then(function(value){ + // value === 1 + }); + ``` + + Instead of writing the above, your code now simply becomes the following: + + ```javascript + let promise = Promise.resolve(1); + + promise.then(function(value){ + // value === 1 + }); + ``` + + @method resolve + @static + @param {Any} value value that the returned promise will be resolved with + Useful for tooling. + @return {Promise} a promise that will become fulfilled with the given + `value` +*/ +function resolve$1(object) { + /*jshint validthis:true */ + var Constructor = this; + + if (object && typeof object === 'object' && object.constructor === Constructor) { + return object; + } + + var promise = new Constructor(noop); + resolve(promise, object); + return promise; +} + +var PROMISE_ID = Math.random().toString(36).substring(2); + +function noop() {} + +var PENDING = void 0; +var FULFILLED = 1; +var REJECTED = 2; + +var TRY_CATCH_ERROR = { error: null }; + +function selfFulfillment() { + return new TypeError("You cannot resolve a promise with itself"); +} + +function cannotReturnOwn() { + return new TypeError('A promises callback cannot return that same promise.'); +} + +function getThen(promise) { + try { + return promise.then; + } catch (error) { + TRY_CATCH_ERROR.error = error; + return TRY_CATCH_ERROR; + } +} + +function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) { + try { + then$$1.call(value, fulfillmentHandler, rejectionHandler); + } catch (e) { + return e; + } +} + +function handleForeignThenable(promise, thenable, then$$1) { + asap(function (promise) { + var sealed = false; + var error = tryThen(then$$1, thenable, function (value) { + if (sealed) { + return; + } + sealed = true; + if (thenable !== value) { + resolve(promise, value); + } else { + fulfill(promise, value); + } + }, function (reason) { + if (sealed) { + return; + } + sealed = true; + + reject(promise, reason); + }, 'Settle: ' + (promise._label || ' unknown promise')); + + if (!sealed && error) { + sealed = true; + reject(promise, error); + } + }, promise); +} + +function handleOwnThenable(promise, thenable) { + if (thenable._state === FULFILLED) { + fulfill(promise, thenable._result); + } else if (thenable._state === REJECTED) { + reject(promise, thenable._result); + } else { + subscribe(thenable, undefined, function (value) { + return resolve(promise, value); + }, function (reason) { + return reject(promise, reason); + }); + } +} + +function handleMaybeThenable(promise, maybeThenable, then$$1) { + if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) { + handleOwnThenable(promise, maybeThenable); + } else { + if (then$$1 === TRY_CATCH_ERROR) { + reject(promise, TRY_CATCH_ERROR.error); + TRY_CATCH_ERROR.error = null; + } else if (then$$1 === undefined) { + fulfill(promise, maybeThenable); + } else if (isFunction(then$$1)) { + handleForeignThenable(promise, maybeThenable, then$$1); + } else { + fulfill(promise, maybeThenable); + } + } +} + +function resolve(promise, value) { + if (promise === value) { + reject(promise, selfFulfillment()); + } else if (objectOrFunction(value)) { + handleMaybeThenable(promise, value, getThen(value)); + } else { + fulfill(promise, value); + } +} + +function publishRejection(promise) { + if (promise._onerror) { + promise._onerror(promise._result); + } + + publish(promise); +} + +function fulfill(promise, value) { + if (promise._state !== PENDING) { + return; + } + + promise._result = value; + promise._state = FULFILLED; + + if (promise._subscribers.length !== 0) { + asap(publish, promise); + } +} + +function reject(promise, reason) { + if (promise._state !== PENDING) { + return; + } + promise._state = REJECTED; + promise._result = reason; + + asap(publishRejection, promise); +} + +function subscribe(parent, child, onFulfillment, onRejection) { + var _subscribers = parent._subscribers; + var length = _subscribers.length; + + + parent._onerror = null; + + _subscribers[length] = child; + _subscribers[length + FULFILLED] = onFulfillment; + _subscribers[length + REJECTED] = onRejection; + + if (length === 0 && parent._state) { + asap(publish, parent); + } +} + +function publish(promise) { + var subscribers = promise._subscribers; + var settled = promise._state; + + if (subscribers.length === 0) { + return; + } + + var child = void 0, + callback = void 0, + detail = promise._result; + + for (var i = 0; i < subscribers.length; i += 3) { + child = subscribers[i]; + callback = subscribers[i + settled]; + + if (child) { + invokeCallback(settled, child, callback, detail); + } else { + callback(detail); + } + } + + promise._subscribers.length = 0; +} + +function tryCatch(callback, detail) { + try { + return callback(detail); + } catch (e) { + TRY_CATCH_ERROR.error = e; + return TRY_CATCH_ERROR; + } +} + +function invokeCallback(settled, promise, callback, detail) { + var hasCallback = isFunction(callback), + value = void 0, + error = void 0, + succeeded = void 0, + failed = void 0; + + if (hasCallback) { + value = tryCatch(callback, detail); + + if (value === TRY_CATCH_ERROR) { + failed = true; + error = value.error; + value.error = null; + } else { + succeeded = true; + } + + if (promise === value) { + reject(promise, cannotReturnOwn()); + return; + } + } else { + value = detail; + succeeded = true; + } + + if (promise._state !== PENDING) { + // noop + } else if (hasCallback && succeeded) { + resolve(promise, value); + } else if (failed) { + reject(promise, error); + } else if (settled === FULFILLED) { + fulfill(promise, value); + } else if (settled === REJECTED) { + reject(promise, value); + } +} + +function initializePromise(promise, resolver) { + try { + resolver(function resolvePromise(value) { + resolve(promise, value); + }, function rejectPromise(reason) { + reject(promise, reason); + }); + } catch (e) { + reject(promise, e); + } +} + +var id = 0; +function nextId() { + return id++; +} + +function makePromise(promise) { + promise[PROMISE_ID] = id++; + promise._state = undefined; + promise._result = undefined; + promise._subscribers = []; +} + +function validationError() { + return new Error('Array Methods must be provided an Array'); +} + +var Enumerator = function () { + function Enumerator(Constructor, input) { + this._instanceConstructor = Constructor; + this.promise = new Constructor(noop); + + if (!this.promise[PROMISE_ID]) { + makePromise(this.promise); + } + + if (isArray(input)) { + this.length = input.length; + this._remaining = input.length; + + this._result = new Array(this.length); + + if (this.length === 0) { + fulfill(this.promise, this._result); + } else { + this.length = this.length || 0; + this._enumerate(input); + if (this._remaining === 0) { + fulfill(this.promise, this._result); + } + } + } else { + reject(this.promise, validationError()); + } + } + + Enumerator.prototype._enumerate = function _enumerate(input) { + for (var i = 0; this._state === PENDING && i < input.length; i++) { + this._eachEntry(input[i], i); + } + }; + + Enumerator.prototype._eachEntry = function _eachEntry(entry, i) { + var c = this._instanceConstructor; + var resolve$$1 = c.resolve; + + + if (resolve$$1 === resolve$1) { + var _then = getThen(entry); + + if (_then === then && entry._state !== PENDING) { + this._settledAt(entry._state, i, entry._result); + } else if (typeof _then !== 'function') { + this._remaining--; + this._result[i] = entry; + } else if (c === Promise$1) { + var promise = new c(noop); + handleMaybeThenable(promise, entry, _then); + this._willSettleAt(promise, i); + } else { + this._willSettleAt(new c(function (resolve$$1) { + return resolve$$1(entry); + }), i); + } + } else { + this._willSettleAt(resolve$$1(entry), i); + } + }; + + Enumerator.prototype._settledAt = function _settledAt(state, i, value) { + var promise = this.promise; + + + if (promise._state === PENDING) { + this._remaining--; + + if (state === REJECTED) { + reject(promise, value); + } else { + this._result[i] = value; + } + } + + if (this._remaining === 0) { + fulfill(promise, this._result); + } + }; + + Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) { + var enumerator = this; + + subscribe(promise, undefined, function (value) { + return enumerator._settledAt(FULFILLED, i, value); + }, function (reason) { + return enumerator._settledAt(REJECTED, i, reason); + }); + }; + + return Enumerator; +}(); + +/** + `Promise.all` accepts an array of promises, and returns a new promise which + is fulfilled with an array of fulfillment values for the passed promises, or + rejected with the reason of the first passed promise to be rejected. It casts all + elements of the passed iterable to promises as it runs this algorithm. + + Example: + + ```javascript + let promise1 = resolve(1); + let promise2 = resolve(2); + let promise3 = resolve(3); + let promises = [ promise1, promise2, promise3 ]; + + Promise.all(promises).then(function(array){ + // The array here would be [ 1, 2, 3 ]; + }); + ``` + + If any of the `promises` given to `all` are rejected, the first promise + that is rejected will be given as an argument to the returned promises's + rejection handler. For example: + + Example: + + ```javascript + let promise1 = resolve(1); + let promise2 = reject(new Error("2")); + let promise3 = reject(new Error("3")); + let promises = [ promise1, promise2, promise3 ]; + + Promise.all(promises).then(function(array){ + // Code here never runs because there are rejected promises! + }, function(error) { + // error.message === "2" + }); + ``` + + @method all + @static + @param {Array} entries array of promises + @param {String} label optional string for labeling the promise. + Useful for tooling. + @return {Promise} promise that is fulfilled when all `promises` have been + fulfilled, or rejected if any of them become rejected. + @static +*/ +function all(entries) { + return new Enumerator(this, entries).promise; +} + +/** + `Promise.race` returns a new promise which is settled in the same way as the + first passed promise to settle. + + Example: + + ```javascript + let promise1 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 1'); + }, 200); + }); + + let promise2 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 2'); + }, 100); + }); + + Promise.race([promise1, promise2]).then(function(result){ + // result === 'promise 2' because it was resolved before promise1 + // was resolved. + }); + ``` + + `Promise.race` is deterministic in that only the state of the first + settled promise matters. For example, even if other promises given to the + `promises` array argument are resolved, but the first settled promise has + become rejected before the other promises became fulfilled, the returned + promise will become rejected: + + ```javascript + let promise1 = new Promise(function(resolve, reject){ + setTimeout(function(){ + resolve('promise 1'); + }, 200); + }); + + let promise2 = new Promise(function(resolve, reject){ + setTimeout(function(){ + reject(new Error('promise 2')); + }, 100); + }); + + Promise.race([promise1, promise2]).then(function(result){ + // Code here never runs + }, function(reason){ + // reason.message === 'promise 2' because promise 2 became rejected before + // promise 1 became fulfilled + }); + ``` + + An example real-world use case is implementing timeouts: + + ```javascript + Promise.race([ajax('foo.json'), timeout(5000)]) + ``` + + @method race + @static + @param {Array} promises array of promises to observe + Useful for tooling. + @return {Promise} a promise which settles in the same way as the first passed + promise to settle. +*/ +function race(entries) { + /*jshint validthis:true */ + var Constructor = this; + + if (!isArray(entries)) { + return new Constructor(function (_, reject) { + return reject(new TypeError('You must pass an array to race.')); + }); + } else { + return new Constructor(function (resolve, reject) { + var length = entries.length; + for (var i = 0; i < length; i++) { + Constructor.resolve(entries[i]).then(resolve, reject); + } + }); + } +} + +/** + `Promise.reject` returns a promise rejected with the passed `reason`. + It is shorthand for the following: + + ```javascript + let promise = new Promise(function(resolve, reject){ + reject(new Error('WHOOPS')); + }); + + promise.then(function(value){ + // Code here doesn't run because the promise is rejected! + }, function(reason){ + // reason.message === 'WHOOPS' + }); + ``` + + Instead of writing the above, your code now simply becomes the following: + + ```javascript + let promise = Promise.reject(new Error('WHOOPS')); + + promise.then(function(value){ + // Code here doesn't run because the promise is rejected! + }, function(reason){ + // reason.message === 'WHOOPS' + }); + ``` + + @method reject + @static + @param {Any} reason value that the returned promise will be rejected with. + Useful for tooling. + @return {Promise} a promise rejected with the given `reason`. +*/ +function reject$1(reason) { + /*jshint validthis:true */ + var Constructor = this; + var promise = new Constructor(noop); + reject(promise, reason); + return promise; +} + +function needsResolver() { + throw new TypeError('You must pass a resolver function as the first argument to the promise constructor'); +} + +function needsNew() { + throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function."); +} + +/** + Promise objects represent the eventual result of an asynchronous operation. The + primary way of interacting with a promise is through its `then` method, which + registers callbacks to receive either a promise's eventual value or the reason + why the promise cannot be fulfilled. + + Terminology + ----------- + + - `promise` is an object or function with a `then` method whose behavior conforms to this specification. + - `thenable` is an object or function that defines a `then` method. + - `value` is any legal JavaScript value (including undefined, a thenable, or a promise). + - `exception` is a value that is thrown using the throw statement. + - `reason` is a value that indicates why a promise was rejected. + - `settled` the final resting state of a promise, fulfilled or rejected. + + A promise can be in one of three states: pending, fulfilled, or rejected. + + Promises that are fulfilled have a fulfillment value and are in the fulfilled + state. Promises that are rejected have a rejection reason and are in the + rejected state. A fulfillment value is never a thenable. + + Promises can also be said to *resolve* a value. If this value is also a + promise, then the original promise's settled state will match the value's + settled state. So a promise that *resolves* a promise that rejects will + itself reject, and a promise that *resolves* a promise that fulfills will + itself fulfill. + + + Basic Usage: + ------------ + + ```js + let promise = new Promise(function(resolve, reject) { + // on success + resolve(value); + + // on failure + reject(reason); + }); + + promise.then(function(value) { + // on fulfillment + }, function(reason) { + // on rejection + }); + ``` + + Advanced Usage: + --------------- + + Promises shine when abstracting away asynchronous interactions such as + `XMLHttpRequest`s. + + ```js + function getJSON(url) { + return new Promise(function(resolve, reject){ + let xhr = new XMLHttpRequest(); + + xhr.open('GET', url); + xhr.onreadystatechange = handler; + xhr.responseType = 'json'; + xhr.setRequestHeader('Accept', 'application/json'); + xhr.send(); + + function handler() { + if (this.readyState === this.DONE) { + if (this.status === 200) { + resolve(this.response); + } else { + reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']')); + } + } + }; + }); + } + + getJSON('/posts.json').then(function(json) { + // on fulfillment + }, function(reason) { + // on rejection + }); + ``` + + Unlike callbacks, promises are great composable primitives. + + ```js + Promise.all([ + getJSON('/posts'), + getJSON('/comments') + ]).then(function(values){ + values[0] // => postsJSON + values[1] // => commentsJSON + + return values; + }); + ``` + + @class Promise + @param {Function} resolver + Useful for tooling. + @constructor +*/ + +var Promise$1 = function () { + function Promise(resolver) { + this[PROMISE_ID] = nextId(); + this._result = this._state = undefined; + this._subscribers = []; + + if (noop !== resolver) { + typeof resolver !== 'function' && needsResolver(); + this instanceof Promise ? initializePromise(this, resolver) : needsNew(); + } + } + + /** + The primary way of interacting with a promise is through its `then` method, + which registers callbacks to receive either a promise's eventual value or the + reason why the promise cannot be fulfilled. + ```js + findUser().then(function(user){ + // user is available + }, function(reason){ + // user is unavailable, and you are given the reason why + }); + ``` + Chaining + -------- + The return value of `then` is itself a promise. This second, 'downstream' + promise is resolved with the return value of the first promise's fulfillment + or rejection handler, or rejected if the handler throws an exception. + ```js + findUser().then(function (user) { + return user.name; + }, function (reason) { + return 'default name'; + }).then(function (userName) { + // If `findUser` fulfilled, `userName` will be the user's name, otherwise it + // will be `'default name'` + }); + findUser().then(function (user) { + throw new Error('Found user, but still unhappy'); + }, function (reason) { + throw new Error('`findUser` rejected and we're unhappy'); + }).then(function (value) { + // never reached + }, function (reason) { + // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'. + // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'. + }); + ``` + If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream. + ```js + findUser().then(function (user) { + throw new PedagogicalException('Upstream error'); + }).then(function (value) { + // never reached + }).then(function (value) { + // never reached + }, function (reason) { + // The `PedgagocialException` is propagated all the way down to here + }); + ``` + Assimilation + ------------ + Sometimes the value you want to propagate to a downstream promise can only be + retrieved asynchronously. This can be achieved by returning a promise in the + fulfillment or rejection handler. The downstream promise will then be pending + until the returned promise is settled. This is called *assimilation*. + ```js + findUser().then(function (user) { + return findCommentsByAuthor(user); + }).then(function (comments) { + // The user's comments are now available + }); + ``` + If the assimliated promise rejects, then the downstream promise will also reject. + ```js + findUser().then(function (user) { + return findCommentsByAuthor(user); + }).then(function (comments) { + // If `findCommentsByAuthor` fulfills, we'll have the value here + }, function (reason) { + // If `findCommentsByAuthor` rejects, we'll have the reason here + }); + ``` + Simple Example + -------------- + Synchronous Example + ```javascript + let result; + try { + result = findResult(); + // success + } catch(reason) { + // failure + } + ``` + Errback Example + ```js + findResult(function(result, err){ + if (err) { + // failure + } else { + // success + } + }); + ``` + Promise Example; + ```javascript + findResult().then(function(result){ + // success + }, function(reason){ + // failure + }); + ``` + Advanced Example + -------------- + Synchronous Example + ```javascript + let author, books; + try { + author = findAuthor(); + books = findBooksByAuthor(author); + // success + } catch(reason) { + // failure + } + ``` + Errback Example + ```js + function foundBooks(books) { + } + function failure(reason) { + } + findAuthor(function(author, err){ + if (err) { + failure(err); + // failure + } else { + try { + findBoooksByAuthor(author, function(books, err) { + if (err) { + failure(err); + } else { + try { + foundBooks(books); + } catch(reason) { + failure(reason); + } + } + }); + } catch(error) { + failure(err); + } + // success + } + }); + ``` + Promise Example; + ```javascript + findAuthor(). + then(findBooksByAuthor). + then(function(books){ + // found books + }).catch(function(reason){ + // something went wrong + }); + ``` + @method then + @param {Function} onFulfilled + @param {Function} onRejected + Useful for tooling. + @return {Promise} + */ + + /** + `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same + as the catch block of a try/catch statement. + ```js + function findAuthor(){ + throw new Error('couldn't find that author'); + } + // synchronous + try { + findAuthor(); + } catch(reason) { + // something went wrong + } + // async with promises + findAuthor().catch(function(reason){ + // something went wrong + }); + ``` + @method catch + @param {Function} onRejection + Useful for tooling. + @return {Promise} + */ + + + Promise.prototype.catch = function _catch(onRejection) { + return this.then(null, onRejection); + }; + + /** + `finally` will be invoked regardless of the promise's fate just as native + try/catch/finally behaves + + Synchronous example: + + ```js + findAuthor() { + if (Math.random() > 0.5) { + throw new Error(); + } + return new Author(); + } + + try { + return findAuthor(); // succeed or fail + } catch(error) { + return findOtherAuther(); + } finally { + // always runs + // doesn't affect the return value + } + ``` + + Asynchronous example: + + ```js + findAuthor().catch(function(reason){ + return findOtherAuther(); + }).finally(function(){ + // author was either found, or not + }); + ``` + + @method finally + @param {Function} callback + @return {Promise} + */ + + + Promise.prototype.finally = function _finally(callback) { + var promise = this; + var constructor = promise.constructor; + + if (isFunction(callback)) { + return promise.then(function (value) { + return constructor.resolve(callback()).then(function () { + return value; + }); + }, function (reason) { + return constructor.resolve(callback()).then(function () { + throw reason; + }); + }); + } + + return promise.then(callback, callback); + }; + + return Promise; +}(); + +Promise$1.prototype.then = then; +Promise$1.all = all; +Promise$1.race = race; +Promise$1.resolve = resolve$1; +Promise$1.reject = reject$1; +Promise$1._setScheduler = setScheduler; +Promise$1._setAsap = setAsap; +Promise$1._asap = asap; + +/*global self*/ +function polyfill() { + var local = void 0; + + if (typeof commonjsGlobal !== 'undefined') { + local = commonjsGlobal; + } else if (typeof self !== 'undefined') { + local = self; + } else { + try { + local = Function('return this')(); + } catch (e) { + throw new Error('polyfill failed because global object is unavailable in this environment'); + } + } + + var P = local.Promise; + + if (P) { + var promiseToString = null; + try { + promiseToString = Object.prototype.toString.call(P.resolve()); + } catch (e) { + // silently ignored + } + + if (promiseToString === '[object Promise]' && !P.cast) { + return; + } + } + + local.Promise = Promise$1; +} + +// Strange compat.. +Promise$1.polyfill = polyfill; +Promise$1.Promise = Promise$1; + +return Promise$1; + +}))); + + + + +}); + +var Promise$1 = es6Promise.Promise; + +/* ----- CONSTRUCTOR ----- */ + +var Worker = function Worker(opt) { + // Create the root parent for the proto chain, and the starting Worker. + var root = _extends(Worker.convert(Promise$1.resolve()), JSON.parse(JSON.stringify(Worker.template))); + var self = Worker.convert(Promise$1.resolve(), root); + + // Set progress, optional settings, and return. + self = self.setProgress(1, Worker, 1, [Worker]); + self = self.set(opt); + return self; +}; + +// Boilerplate for subclassing Promise. +Worker.prototype = Object.create(Promise$1.prototype); +Worker.prototype.constructor = Worker; + +// Converts/casts promises into Workers. +Worker.convert = function convert(promise, inherit) { + // Uses prototypal inheritance to receive changes made to ancestors' properties. + promise.__proto__ = inherit || Worker.prototype; + return promise; +}; + +Worker.template = { + prop: { + src: null, + container: null, + overlay: null, + canvas: null, + img: null, + pdf: null, + pageSize: null + }, + progress: { + val: 0, + state: null, + n: 0, + stack: [] + }, + opt: { + filename: 'file.pdf', + margin: [0, 0, 0, 0], + image: { type: 'jpeg', quality: 0.95 }, + enableLinks: true, + html2canvas: {}, + jsPDF: {} + } +}; + +/* ----- FROM / TO ----- */ + +Worker.prototype.from = function from(src, type) { + function getType(src) { + switch (objType(src)) { + case 'string': + return 'string'; + case 'element': + return src.nodeName.toLowerCase === 'canvas' ? 'canvas' : 'element'; + default: + return 'unknown'; + } + } + + return this.then(function from_main() { + type = type || getType(src); + switch (type) { + case 'string': + return this.set({ src: createElement('div', { innerHTML: src }) }); + case 'element': + return this.set({ src: src }); + case 'canvas': + return this.set({ canvas: src }); + case 'img': + return this.set({ img: src }); + default: + return this.error('Unknown source type.'); + } + }); +}; + +Worker.prototype.to = function to(target) { + // Route the 'to' request to the appropriate method. + switch (target) { + case 'container': + return this.toContainer(); + case 'canvas': + return this.toCanvas(); + case 'img': + return this.toImg(); + case 'pdf': + return this.toPdf(); + default: + return this.error('Invalid target.'); + } +}; + +Worker.prototype.toContainer = function toContainer() { + // Set up function prerequisites. + var prereqs = [function checkSrc() { + return this.prop.src || this.error('Cannot duplicate - no source HTML.'); + }, function checkPageSize() { + return this.prop.pageSize || this.setPageSize(); + }]; + + return this.thenList(prereqs).then(function toContainer_main() { + // Define the CSS styles for the container and its overlay parent. + var overlayCSS = { + position: 'fixed', overflow: 'hidden', zIndex: 1000, + left: 0, right: 0, bottom: 0, top: 0, + backgroundColor: 'rgba(0,0,0,0.8)' + }; + var containerCSS = { + position: 'absolute', width: this.prop.pageSize.inner.width + this.prop.pageSize.unit, + left: 0, right: 0, top: 0, height: 'auto', margin: 'auto', + backgroundColor: 'white' + }; + + // Set the overlay to hidden (could be changed in the future to provide a print preview). + overlayCSS.opacity = 0; + + // Create and attach the elements. + var source = cloneNode(this.prop.src, this.opt.html2canvas.javascriptEnabled); + this.prop.overlay = createElement('div', { className: 'html2pdf__overlay', style: overlayCSS }); + this.prop.container = createElement('div', { className: 'html2pdf__container', style: containerCSS }); + this.prop.container.appendChild(source); + this.prop.overlay.appendChild(this.prop.container); + document.body.appendChild(this.prop.overlay); + }); +}; + +Worker.prototype.toCanvas = function toCanvas() { + // Set up function prerequisites. + var prereqs = [function checkContainer() { + return document.body.contains(this.prop.container) || this.toContainer(); + }]; + + // Fulfill prereqs then create the canvas. + return this.thenList(prereqs).then(function toCanvas_main() { + // Handle old-fashioned 'onrendered' argument. + var options = _extends({}, this.opt.html2canvas); + delete options.onrendered; + + return html2canvas$1(this.prop.container, options); + }).then(function toCanvas_post(canvas) { + // Handle old-fashioned 'onrendered' argument. + var onRendered = this.opt.html2canvas.onrendered || function () {}; + onRendered(canvas); + + this.prop.canvas = canvas; + document.body.removeChild(this.prop.overlay); + }); +}; + +Worker.prototype.toImg = function toImg() { + // Set up function prerequisites. + var prereqs = [function checkCanvas() { + return this.prop.canvas || this.toCanvas(); + }]; + + // Fulfill prereqs then create the image. + return this.thenList(prereqs).then(function toImg_main() { + var imgData = this.prop.canvas.toDataURL('image/' + this.opt.image.type, this.opt.image.quality); + this.prop.img = document.createElement('img'); + this.prop.img.src = imgData; + }); +}; + +Worker.prototype.toPdf = function toPdf() { + // Set up function prerequisites. + var prereqs = [function checkCanvas() { + return this.prop.canvas || this.toCanvas(); + }]; + + // Fulfill prereqs then create the image. + return this.thenList(prereqs).then(function toPdf_main() { + // Create local copies of frequently used properties. + var canvas = this.prop.canvas; + var opt = this.opt; + + // Calculate the number of pages. + var pxFullHeight = canvas.height; + var pxPageHeight = Math.floor(canvas.width * this.prop.pageSize.inner.ratio); + var nPages = Math.ceil(pxFullHeight / pxPageHeight); + + // Define pageHeight separately so it can be trimmed on the final page. + var pageHeight = this.prop.pageSize.inner.height; + + // Create a one-page canvas to split up the full image. + var pageCanvas = document.createElement('canvas'); + var pageCtx = pageCanvas.getContext('2d'); + pageCanvas.width = canvas.width; + pageCanvas.height = pxPageHeight; + + // Initialize the PDF. + this.prop.pdf = this.prop.pdf || new jspdf_min(opt.jsPDF); + + for (var page = 0; page < nPages; page++) { + // Trim the final page to reduce file size. + if (page === nPages - 1 && pxFullHeight % pxPageHeight !== 0) { + pageCanvas.height = pxFullHeight % pxPageHeight; + pageHeight = pageCanvas.height * this.prop.pageSize.inner.width / pageCanvas.width; + } + + // Display the page. + var w = pageCanvas.width; + var h = pageCanvas.height; + pageCtx.fillStyle = 'white'; + pageCtx.fillRect(0, 0, w, h); + pageCtx.drawImage(canvas, 0, page * pxPageHeight, w, h, 0, 0, w, h); + + // Add the page to the PDF. + if (page) this.prop.pdf.addPage(); + var imgData = pageCanvas.toDataURL('image/' + opt.image.type, opt.image.quality); + this.prop.pdf.addImage(imgData, opt.image.type, opt.margin[1], opt.margin[0], this.prop.pageSize.inner.width, pageHeight); + } + }); +}; + +/* ----- OUTPUT / SAVE ----- */ + +Worker.prototype.output = function output(type, options, src) { + // Redirect requests to the correct function (outputPdf / outputImg). + src = src || 'pdf'; + if (src.toLowerCase() === 'img' || src.toLowerCase() === 'image') { + return this.outputImg(type, options); + } else { + return this.outputPdf(type, options); + } +}; + +Worker.prototype.outputPdf = function outputPdf(type, options) { + // Set up function prerequisites. + var prereqs = [function checkPdf() { + return this.prop.pdf || this.toPdf(); + }]; + + // Fulfill prereqs then perform the appropriate output. + return this.thenList(prereqs).then(function outputPdf_main() { + /* Currently implemented output types: + * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992 + * save(options), arraybuffer, blob, bloburi/bloburl, + * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl + */ + return this.prop.pdf.output(type, options); + }); +}; + +Worker.prototype.outputImg = function outputImg(type, options) { + // Set up function prerequisites. + var prereqs = [function checkImg() { + return this.prop.img || this.toImg(); + }]; + + // Fulfill prereqs then perform the appropriate output. + return this.thenList(prereqs).then(function outputImg_main() { + switch (type) { + case undefined: + case 'img': + return this.prop.img; + case 'datauristring': + case 'dataurlstring': + return this.prop.img.src; + case 'datauri': + case 'dataurl': + return document.location.href = this.prop.img.src; + default: + throw 'Image output type "' + type + '" is not supported.'; + } + }); +}; + +Worker.prototype.save = function save(filename) { + // Set up function prerequisites. + var prereqs = [function checkPdf() { + return this.prop.pdf || this.toPdf(); + }]; + + // Fulfill prereqs, update the filename (if provided), and save the PDF. + return this.thenList(prereqs).set(filename ? { filename: filename } : null).then(function save_main() { + this.prop.pdf.save(this.opt.filename); + }); +}; + +/* ----- SET / GET ----- */ + +Worker.prototype.set = function set$$1(opt) { + // TODO: Implement ordered pairs? + + // Silently ignore invalid or empty input. + if (objType(opt) !== 'object') { + return this; + } + + // Build an array of setter functions to queue. + var fns = Object.keys(opt || {}).map(function (key) { + if (key in Worker.template.prop) { + // Set pre-defined properties. + return function set_prop() { + this.prop[key] = opt[key]; + }; + } else { + switch (key) { + case 'margin': + return this.setMargin.bind(this, opt.margin); + case 'jsPDF': + return function set_jsPDF() { + this.opt.jsPDF = opt.jsPDF;return this.setPageSize(); + }; + case 'pageSize': + return this.setPageSize.bind(this, opt.pageSize); + default: + // Set any other properties in opt. + return function set_opt() { + this.opt[key] = opt[key]; + }; + } + } + }, this); + + // Set properties within the promise chain. + return this.then(function set_main() { + return this.thenList(fns); + }); +}; + +Worker.prototype.get = function get$$1(key, cbk) { + return this.then(function get_main() { + // Fetch the requested property, either as a predefined prop or in opt. + var val = key in Worker.template.prop ? this.prop[key] : this.opt[key]; + return cbk ? cbk(val) : val; + }); +}; + +Worker.prototype.setMargin = function setMargin(margin) { + return this.then(function setMargin_main() { + // Parse the margin property: [top, left, bottom, right]. + switch (objType(margin)) { + case 'number': + margin = [margin, margin, margin, margin]; + case 'array': + if (margin.length === 2) { + margin = [margin[0], margin[1], margin[0], margin[1]]; + } + if (margin.length === 4) { + break; + } + default: + return this.error('Invalid margin array.'); + } + + // Set the margin property, then update pageSize. + this.opt.margin = margin; + }).then(this.setPageSize); +}; + +Worker.prototype.setPageSize = function setPageSize(pageSize) { + return this.then(function setPageSize_main() { + // Retrieve page-size based on jsPDF settings, if not explicitly provided. + pageSize = pageSize || jspdf_min.getPageSize(this.opt.jsPDF); + + // Add 'inner' field if not present. + if (!pageSize.hasOwnProperty('inner')) { + pageSize.inner = { + width: pageSize.width - this.opt.margin[1] - this.opt.margin[3], + height: pageSize.height - this.opt.margin[0] - this.opt.margin[2] + }; + pageSize.inner.px = { + width: toPx(pageSize.inner.width, pageSize.k), + height: toPx(pageSize.inner.height, pageSize.k) + }; + pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width; + } + + // Attach pageSize to this. + this.prop.pageSize = pageSize; + }); +}; + +Worker.prototype.setProgress = function setProgress(val, state, n, stack) { + // Immediately update all progress values. + if (val != null) this.progress.val = val; + if (state != null) this.progress.state = state; + if (n != null) this.progress.n = n; + if (stack != null) this.progress.stack = stack; + this.progress.ratio = this.progress.val / this.progress.state; + + // Return this for command chaining. + return this; +}; + +Worker.prototype.updateProgress = function updateProgress(val, state, n, stack) { + // Immediately update all progress values, using setProgress. + return this.setProgress(val ? this.progress.val + val : null, state ? state : null, n ? this.progress.n + n : null, stack ? this.progress.stack.concat(stack) : null); +}; + +/* ----- PROMISE MAPPING ----- */ + +Worker.prototype.then = function then(onFulfilled, onRejected) { + // Wrap `this` for encapsulation. + var self = this; + + return this.thenCore(onFulfilled, onRejected, function then_main(onFulfilled, onRejected) { + // Update progress while queuing, calling, and resolving `then`. + self.updateProgress(null, null, 1, [onFulfilled]); + return Promise$1.prototype.then.call(this, function then_pre(val) { + self.updateProgress(null, onFulfilled); + return val; + }).then(onFulfilled, onRejected).then(function then_post(val) { + self.updateProgress(1); + return val; + }); + }); +}; + +Worker.prototype.thenCore = function thenCore(onFulfilled, onRejected, thenBase) { + // Handle optional thenBase parameter. + thenBase = thenBase || Promise$1.prototype.then; + + // Wrap `this` for encapsulation and bind it to the promise handlers. + var self = this; + if (onFulfilled) { + onFulfilled = onFulfilled.bind(self); + } + if (onRejected) { + onRejected = onRejected.bind(self); + } + + // Cast self into a Promise to avoid polyfills recursively defining `then`. + var isNative = Promise$1.toString().indexOf('[native code]') !== -1 && Promise$1.name === 'Promise'; + var selfPromise = isNative ? self : Worker.convert(_extends({}, self), Promise$1.prototype); + + // Return the promise, after casting it into a Worker and preserving props. + var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected); + return Worker.convert(returnVal, self.__proto__); +}; + +Worker.prototype.thenExternal = function thenExternal(onFulfilled, onRejected) { + // Call `then` and return a standard promise (exits the Worker chain). + return Promise$1.prototype.then.call(this, onFulfilled, onRejected); +}; + +Worker.prototype.thenList = function thenList(fns) { + // Queue a series of promise 'factories' into the promise chain. + var self = this; + fns.forEach(function thenList_forEach(fn) { + self = self.thenCore(fn); + }); + return self; +}; + +Worker.prototype['catch'] = function (onRejected) { + // Bind `this` to the promise handler, call `catch`, and return a Worker. + if (onRejected) { + onRejected = onRejected.bind(this); + } + var returnVal = Promise$1.prototype['catch'].call(this, onRejected); + return Worker.convert(returnVal, this); +}; + +Worker.prototype.catchExternal = function catchExternal(onRejected) { + // Call `catch` and return a standard promise (exits the Worker chain). + return Promise$1.prototype['catch'].call(this, onRejected); +}; + +Worker.prototype.error = function error(msg) { + // Throw the error in the Promise chain. + return this.then(function error_main() { + throw new Error(msg); + }); +}; + +/* ----- ALIASES ----- */ + +Worker.prototype.using = Worker.prototype.set; +Worker.prototype.saveAs = Worker.prototype.save; +Worker.prototype.export = Worker.prototype.output; +Worker.prototype.run = Worker.prototype.then; + +// Import dependencies. +// Get dimensions of a PDF page, as determined by jsPDF. +jspdf_min.getPageSize = function (orientation, unit, format) { + // Decode options object + if ((typeof orientation === 'undefined' ? 'undefined' : _typeof(orientation)) === 'object') { + var options = orientation; + orientation = options.orientation; + unit = options.unit || unit; + format = options.format || format; + } + + // Default options + unit = unit || 'mm'; + format = format || 'a4'; + orientation = ('' + (orientation || 'P')).toLowerCase(); + var format_as_string = ('' + format).toLowerCase(); + + // Size in pt of various paper formats + var pageFormats = { + 'a0': [2383.94, 3370.39], 'a1': [1683.78, 2383.94], + 'a2': [1190.55, 1683.78], 'a3': [841.89, 1190.55], + 'a4': [595.28, 841.89], 'a5': [419.53, 595.28], + 'a6': [297.64, 419.53], 'a7': [209.76, 297.64], + 'a8': [147.40, 209.76], 'a9': [104.88, 147.40], + 'a10': [73.70, 104.88], 'b0': [2834.65, 4008.19], + 'b1': [2004.09, 2834.65], 'b2': [1417.32, 2004.09], + 'b3': [1000.63, 1417.32], 'b4': [708.66, 1000.63], + 'b5': [498.90, 708.66], 'b6': [354.33, 498.90], + 'b7': [249.45, 354.33], 'b8': [175.75, 249.45], + 'b9': [124.72, 175.75], 'b10': [87.87, 124.72], + 'c0': [2599.37, 3676.54], 'c1': [1836.85, 2599.37], + 'c2': [1298.27, 1836.85], 'c3': [918.43, 1298.27], + 'c4': [649.13, 918.43], 'c5': [459.21, 649.13], + 'c6': [323.15, 459.21], 'c7': [229.61, 323.15], + 'c8': [161.57, 229.61], 'c9': [113.39, 161.57], + 'c10': [79.37, 113.39], 'dl': [311.81, 623.62], + 'letter': [612, 792], + 'government-letter': [576, 756], + 'legal': [612, 1008], + 'junior-legal': [576, 360], + 'ledger': [1224, 792], + 'tabloid': [792, 1224], + 'credit-card': [153, 243] + }; + + // Unit conversion + switch (unit) { + case 'pt': + var k = 1;break; + case 'mm': + var k = 72 / 25.4;break; + case 'cm': + var k = 72 / 2.54;break; + case 'in': + var k = 72;break; + case 'px': + var k = 72 / 96;break; + case 'pc': + var k = 12;break; + case 'em': + var k = 12;break; + case 'ex': + var k = 6;break; + default: + throw 'Invalid unit: ' + unit; + } + + // Dimensions are stored as user units and converted to points on output + if (pageFormats.hasOwnProperty(format_as_string)) { + var pageHeight = pageFormats[format_as_string][1] / k; + var pageWidth = pageFormats[format_as_string][0] / k; + } else { + try { + var pageHeight = format[1]; + var pageWidth = format[0]; + } catch (err) { + throw new Error('Invalid format: ' + format); + } + } + + // Handle page orientation + if (orientation === 'p' || orientation === 'portrait') { + orientation = 'p'; + if (pageWidth > pageHeight) { + var tmp = pageWidth; + pageWidth = pageHeight; + pageHeight = tmp; + } + } else if (orientation === 'l' || orientation === 'landscape') { + orientation = 'l'; + if (pageHeight > pageWidth) { + var tmp = pageWidth; + pageWidth = pageHeight; + pageHeight = tmp; + } + } else { + throw 'Invalid orientation: ' + orientation; + } + + // Return information (k is the unit conversion ratio from pts) + var info = { 'width': pageWidth, 'height': pageHeight, 'unit': unit, 'k': k }; + return info; +}; + +/* Pagebreak plugin: + + Adds page-break functionality to the html2pdf library. Page-breaks can be + enabled by CSS styles, set on individual elements using selectors, or + avoided from breaking inside all elements. + + Options on the `opt.pagebreak` object: + + mode: String or array of strings: 'avoid-all', 'css', and/or 'legacy' + Default: ['css', 'legacy'] + + before: String or array of CSS selectors for which to add page-breaks + before each element. Can be a specific element with an ID + ('#myID'), all elements of a type (e.g. 'img'), all of a class + ('.myClass'), or even '*' to match every element. + + after: Like 'before', but adds a page-break immediately after the element. + + avoid: Like 'before', but avoids page-breaks on these elements. You can + enable this feature on every element using the 'avoid-all' mode. +*/ + +// Refs to original functions. +var orig = { + toContainer: Worker.prototype.toContainer +}; + +// Add pagebreak default options to the Worker template. +Worker.template.opt.pagebreak = { + mode: ['css', 'legacy'], + before: [], + after: [], + avoid: [] +}; + +Worker.prototype.toContainer = function toContainer() { + return orig.toContainer.call(this).then(function toContainer_pagebreak() { + // Setup root element and inner page height. + var root = this.prop.container; + var pxPageHeight = this.prop.pageSize.inner.px.height; + + // Check all requested modes. + var modeSrc = [].concat(this.opt.pagebreak.mode); + var mode = { + avoidAll: modeSrc.indexOf('avoid-all') !== -1, + css: modeSrc.indexOf('css') !== -1, + legacy: modeSrc.indexOf('legacy') !== -1 + }; + + // Get arrays of all explicitly requested elements. + var select = {}; + var self = this; + ['before', 'after', 'avoid'].forEach(function (key) { + var all = mode.avoidAll && key === 'avoid'; + select[key] = all ? [] : [].concat(self.opt.pagebreak[key] || []); + if (select[key].length > 0) { + select[key] = Array.prototype.slice.call(root.querySelectorAll(select[key].join(', '))); + } + }); + + // Get all legacy page-break elements. + var legacyEls = root.querySelectorAll('.html2pdf__page-break'); + legacyEls = Array.prototype.slice.call(legacyEls); + + // Loop through all elements. + var els = root.querySelectorAll('*'); + Array.prototype.forEach.call(els, function pagebreak_loop(el) { + // Setup pagebreak rules based on legacy and avoidAll modes. + var rules = { + before: false, + after: mode.legacy && legacyEls.indexOf(el) !== -1, + avoid: mode.avoidAll + }; + + // Add rules for css mode. + if (mode.css) { + // TODO: Check if this is valid with iFrames. + var style = window.getComputedStyle(el); + // TODO: Handle 'left' and 'right' correctly. + // TODO: Add support for 'avoid' on breakBefore/After. + var breakOpt = ['always', 'page', 'left', 'right']; + var avoidOpt = ['avoid', 'avoid-page']; + rules = { + before: rules.before || breakOpt.indexOf(style.breakBefore || style.pageBreakBefore) !== -1, + after: rules.after || breakOpt.indexOf(style.breakAfter || style.pageBreakAfter) !== -1, + avoid: rules.avoid || avoidOpt.indexOf(style.breakInside || style.pageBreakInside) !== -1 + }; + } + + // Add rules for explicit requests. + Object.keys(rules).forEach(function (key) { + rules[key] = rules[key] || select[key].indexOf(el) !== -1; + }); + + // Get element position on the screen. + // TODO: Subtract the top of the container from clientRect.top/bottom? + var clientRect = el.getBoundingClientRect(); + + // Avoid: Check if a break happens mid-element. + if (rules.avoid && !rules.before) { + var startPage = Math.floor(clientRect.top / pxPageHeight); + var endPage = Math.floor(clientRect.bottom / pxPageHeight); + var nPages = Math.abs(clientRect.bottom - clientRect.top) / pxPageHeight; + + // Turn on rules.before if the el is broken and is at most one page long. + if (endPage !== startPage && nPages <= 1) { + rules.before = true; + } + } + + // Before: Create a padding div to push the element to the next page. + if (rules.before) { + var pad = createElement('div', { style: { + display: 'block', + height: pxPageHeight - clientRect.top % pxPageHeight + 'px' + } }); + el.parentNode.insertBefore(pad, el); + } + + // After: Create a padding div to fill the remaining page. + if (rules.after) { + var pad = createElement('div', { style: { + display: 'block', + height: pxPageHeight - clientRect.bottom % pxPageHeight + 'px' + } }); + el.parentNode.insertBefore(pad, el.nextSibling); + } + }); + }); +}; + +// Add hyperlink functionality to the PDF creation. + +// Main link array, and refs to original functions. +var linkInfo = []; +var orig$1 = { + toContainer: Worker.prototype.toContainer, + toPdf: Worker.prototype.toPdf +}; + +Worker.prototype.toContainer = function toContainer() { + return orig$1.toContainer.call(this).then(function toContainer_hyperlink() { + // Retrieve hyperlink info if the option is enabled. + if (this.opt.enableLinks) { + // Find all anchor tags and get the container's bounds for reference. + var container = this.prop.container; + var links = container.querySelectorAll('a'); + var containerRect = unitConvert(container.getBoundingClientRect(), this.prop.pageSize.k); + linkInfo = []; + + // Loop through each anchor tag. + Array.prototype.forEach.call(links, function (link) { + // Treat each client rect as a separate link (for text-wrapping). + var clientRects = link.getClientRects(); + for (var i = 0; i < clientRects.length; i++) { + var clientRect = unitConvert(clientRects[i], this.prop.pageSize.k); + clientRect.left -= containerRect.left; + clientRect.top -= containerRect.top; + + var page = Math.floor(clientRect.top / this.prop.pageSize.inner.height) + 1; + var top = this.opt.margin[0] + clientRect.top % this.prop.pageSize.inner.height; + var left = this.opt.margin[1] + clientRect.left; + + linkInfo.push({ page: page, top: top, left: left, clientRect: clientRect, link: link }); + } + }, this); + } + }); +}; + +Worker.prototype.toPdf = function toPdf() { + return orig$1.toPdf.call(this).then(function toPdf_hyperlink() { + // Add hyperlinks if the option is enabled. + if (this.opt.enableLinks) { + // Attach each anchor tag based on info from toContainer(). + linkInfo.forEach(function (l) { + this.prop.pdf.setPage(l.page); + this.prop.pdf.link(l.left, l.top, l.clientRect.width, l.clientRect.height, { url: l.link.href }); + }, this); + + // Reset the active page of the PDF to the final page. + var nPages = this.prop.pdf.internal.getNumberOfPages(); + this.prop.pdf.setPage(nPages); + } + }); +}; + +/** + * Generate a PDF from an HTML element or string using html2canvas and jsPDF. + * + * @param {Element|string} source The source element or HTML string. + * @param {Object=} opt An object of optional settings: 'margin', 'filename', + * 'image' ('type' and 'quality'), and 'html2canvas' / 'jspdf', which are + * sent as settings to their corresponding functions. + */ +var html2pdf = function html2pdf(src, opt) { + // Create a new worker with the given options. + var worker = new html2pdf.Worker(opt); + + if (src) { + // If src is specified, perform the traditional 'simple' operation. + return worker.from(src).save(); + } else { + // Otherwise, return the worker for new Promise-based operation. + return worker; + } +}; +html2pdf.Worker = Worker; + +return html2pdf; + +}))); Property changes on: base3.10/src/main/webapp/js/com/html2pdf.bundle.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/jquery-ui.accordion.multiple.js =================================================================== --- base3.10/src/main/webapp/js/com/jquery-ui.accordion.multiple.js (nonexistent) +++ base3.10/src/main/webapp/js/com/jquery-ui.accordion.multiple.js (revision 7) @@ -0,0 +1,44 @@ +/* +* jQueryUI.Accordion.Multiple, v1.0.1 +* (c) 2014–2017 Artyom "Sleepwalker" Fedosov <mail@asleepwalker.ru> +* https://github.com/asleepwalker/jquery-ui.tabs.neighbors.js +*/ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + module.exports = function (root, jQuery) { + if (jQuery === undefined) { + if (typeof window !== 'undefined') { + jQuery = require('jquery'); + } else { + jQuery = require('jquery')(root); + } + } + factory(jQuery); + return jQuery; + }; + } else { + factory(jQuery); + } +}(function ($) { + + var originalToggle = $.ui.accordion.prototype._toggle; + + $.extend($.ui.accordion.prototype, { + multiple: false, + _toggle: function (data) { + if (this.options.multiple && data.newPanel.length) { + data.oldPanel = data.oldHeader = this.prevShow = $(''); + + if (this.options.collapsible && data.newPanel.is(':visible')) { + data.oldPanel = data.newPanel; + data.newPanel = $(''); + } + } + originalToggle.apply(this, arguments); + } + }); + +})); Property changes on: base3.10/src/main/webapp/js/com/jquery-ui.accordion.multiple.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/ajaxFileUpload.js =================================================================== --- base3.10/src/main/webapp/js/com/ajaxFileUpload.js (nonexistent) +++ base3.10/src/main/webapp/js/com/ajaxFileUpload.js (revision 7) @@ -0,0 +1,147 @@ +/** + * Ajax 파일 업로드 + * $(input file element).ajaxFileUpload(options, [callback]) + */ +; +(function($) { + var defaults = { + uploadUrl: CONTEXT_PATH + '/editor/uploadFile.do', + fileAllowedTypes: ['*'], // 확장자 체크 ['png', 'pdf'] + fileMaxSize: 1024 // 첨부파일 사이즈 MB단위 + } + $.fn.ajaxFileUpload = function(options, callback) { + options = $.extend({}, defaults, options); + var $file = $(this); + + // 특정 파일 확장자만 지정 + if( options.fileAllowedTypes.indexOf('*') == -1 ) { + var ext = ''; + $(options.fileAllowedTypes).each(function(i) { + if( i > 0 ) { + ext += ","; + } + ext += '.' + this; + }); + $file.attr('accept', ext); + } + // 이벤트 생성 + $file.on('change', function() { + if ($file.val()) { + fncFileUp(options); + } + }); + + // input file 설정 + var fileTarget = $('.filebox .upload-hidden'); + fileTarget.on('change', function() { // 값이 변경되면 + if (window.FileReader) { // modern browser + var filename = $(this)[0].files[0].name; + } else { // old IE + var filename = $(this).val().split('/').pop().split('\\').pop(); // 파일명만 + // 추출 + } // 추출한 파일명 삽입 + $(this).siblings('.upload-name').val(filename); + }); + + var fncFileUp = function(options) { + var data = new FormData(); + var file = $file[0].files[0]; + + // 확장자 및 용량체크 + if( !fncValidate(options, file) ) { + return; + }; + + data.append("file", file); + $.ajax({ + type : 'post', + url : options.uploadUrl, + data : data, + processData : false, + contentType : false, + beforeSend: function() { + if( $.blockUI != null ) { + $.blockUI({ + message : '<i class="fa fa-refresh fa-spin orange" style="font-size:600%"></i>', + }); + } + }, + complete: function() { + if( $.unblockUI != null ) { + $.unblockUI(); + } + }, + success : function(html) { + // FileUploadInterceptor에서 필러링 처리 + if( html.constructor != Object ) { + $file.val(""); + alert ('허용되지 않은 확장자입니다.'); + return; + } + $file.val(""); + if( callback ) callback(html); + }, + error : function(error) { + alert("파일 업로드에 실패하였습니다."); + console.log(error); + console.log(error.status); + }, +// xhr : function() { // 프로그래스 +// var xhr = new window.XMLHttpRequest(); +// // 업로드 중 프로그래스바 표시 +// $('#' + options.progress).removeAttr('style'); +// $('#' + options.progress).find('.progress-bar').attr('style', 'width: 0%'); +// $('#' + options.progress).find('.progress-bar').text('0%'); +// +// xhr.upload.addEventListener("progress", function(evt) { +// if (evt.lengthComputable) { +// var percentComplete = evt.loaded / evt.total; +// percentComplete = parseInt(percentComplete * 100); +// +// // 프로그래스바 이동 +// $('#' + options.progress).find('.progress-bar').attr('style', 'width: ' + percentComplete + '%'); +// $('#' + options.progress).find('.progress-bar').text(percentComplete + '%'); +// +// if (percentComplete === 100) { +// $('#' + options.progress).attr('style', 'display: none;'); +// } +// } +// }, false); +// +// return xhr; +// }, + }); + } + }; + // 확장자 체크 및 용량 체크 + var fncValidate = function(options, file) { + if( options.fileAllowedTypes.indexOf('*') == -1 ) { + var ext = file.name.split('.').pop().toLowerCase(); + if( $.inArray(ext, options.fileAllowedTypes) == -1 ) { + alert('허용되지 않은 확장자입니다.'); + $('#' + options.inputFileId).val(""); + return false; + } + } + if( options.fileMaxSize > -1 ) { + var fileSize = file.size; + var maxSize = options.fileMaxSize * 1024 * 1024; + if( fileSize > maxSize ) { + alert('파일 사이즈는 ' + fileSizeConvert(maxSize) + '이내로 등록 가능합니다.'); + $('#' + options.inputFileId).val(""); + return false; + } + } + return true; + } + // 파일 사이즈 변경 + function fileSizeConvert(size) { + var fileSize = size; + if (fileSize / 1024 >= 1024) { + fileSize = (fileSize / (1024 * 1024)).toFixed(1) + "MB"; + } else { + fileSize = (fileSize / 1024).toFixed(1) + "KB"; + } + return fileSize; + } +})(jQuery); \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/com/ajaxFileUpload.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/fileUpload.js =================================================================== --- base3.10/src/main/webapp/js/com/fileUpload.js (nonexistent) +++ base3.10/src/main/webapp/js/com/fileUpload.js (revision 7) @@ -0,0 +1,395 @@ +/** + * 에디터 파일 업로드를 활용한 파일 업로더 + * $.initFileUpload(options, [createDom]) + */ +; +(function($) { + var defaults = { + fileListDivId : 'fileListDivId', + inputFileId : 'inputFileId', + hiddenFileName : 'hiddenFileName', + progress : 'progress', + maxSize : 5, // 첨부파일 등록개수 + fileAllowedTypes: ['*'], // 확장자 체크 ['png', 'pdf'] + fileMaxSize: 10, // 첨부파일 사이즈 MB단위 + deleteButton: true, // deleteButton 사용유무 + authorType : 'admin' // 파일 목록 디자인(사용자, 관리자) + } + $.initFileUpload = function(options, createDom) { + options = $.extend({}, defaults, options); + if (createDom != null) { // 파일 목록 생성 DOM override + defaultsDom = $.extend(createDom, defaultsDom); + } + + // hiddenFileName 변경 이벤트 + $('input[name="' + options.hiddenFileName + '"]').on('change', function() { + fncSelectFile($(this).val()); + }); + + // 기존파일 데이터 생성(수정 시) + var hiddenId = $('input[name="' + options.hiddenFileName + '"]').val(); + if (hiddenId != null && hiddenId != '') { + fncSelectFile(hiddenId); + } + + // fileId로 데이터 조회 + function fncSelectFile(hiddenId) { + if (hiddenId != null && hiddenId != '') { + $.ajax({ + method : "POST", + url : CONTEXT_PATH +"/editor/fileList.do", + data : { + fileId : hiddenId + } + }).done(function(data) { + // 파일 데이터 생성 + for (var i = 0; i < data.length; i++) { + var html = data[i]; + var dom = ''; + if (options.authorType == 'user') { + dom = defaultsDomUser(html); + $('.file_list_wrap').addClass("show"); + } else { + dom = defaultsDom(html, options); + } + $('#' + options.fileListDivId).append(dom); + // 업로드시 div 표시 + $('#' + options.fileListDivId).removeAttr('style'); + + // 이벤트 추가(파일삭제) + fncFileTrigger(html); + } + }).fail(function(err) { + // console.log ('file delete problem: ' + JSON.stringify(err)); + }) + } + } + + // 갯수제한 + fncMaxLength(options); + + // 특정 파일 확장자만 지정 + if( options.fileAllowedTypes.indexOf('*') == -1 ) { + var ext = ''; + $(options.fileAllowedTypes).each(function(i) { + if( i > 0 ) { + ext += ","; + } + ext += '.' + this; + }); + $('#' + options.inputFileId).attr('accept', ext); + } + // input file 업로드 이벤트 + $('#' + options.inputFileId).on('change', function() { + if ($(this).val()) { + fncFileUp(options); + } + }); + + // input file 설정 + var fileTarget = $('.filebox .upload-hidden'); + fileTarget.on('change', function() { // 값이 변경되면 + if (window.FileReader) { // modern browser + var filename = $(this)[0].files[0].name; + } else { // old IE + var filename = $(this).val().split('/').pop().split('\\').pop(); // 파일명만 + // 추출 + } // 추출한 파일명 삽입 + $(this).siblings('.upload-name').val(filename); + }); + + // 파일 업로드 + var fncFileUp = function(options) { + var data = new FormData(); + var file = $('#' + options.inputFileId)[0].files[0]; + // 확장자 및 용량체크 + if( !fncValidate(options, file) ) { + return; + }; + data.append("file", file); + $.ajax({ + type : 'post', + url : CONTEXT_PATH + '/editor/uploadFile.do', + data : data, + processData : false, + contentType : false, + beforeSend : function() { + if(options.progress == "progress"){ + $.blockUI(); + } + }, + complete : function() { + if(options.progress == "progress"){ + $.unblockUI(); + } + }, + success : function(html) { + // FileUploadInterceptor에서 필러링 처리 + if( html.fileId == null ) { + $('#' + options.inputFileId).val(""); + alert ('허용되지 않은 확장자입니다.'); + return; + } + var dom = ''; + if (options.authorType == 'user') { + dom = defaultsDomUser(html); + $('.file_list_wrap').addClass("show"); + } else { + dom = defaultsDom(html, options); + } + $('#' + options.fileListDivId).append(dom); + // 업로드시 div 표시 + $('#' + options.fileListDivId).removeAttr('style'); + + // 이벤트 추가(파일삭제) + fncFileTrigger(html); + + var atch_id = $('input[name="' + options.hiddenFileName + '"]').val(); + + if (atch_id.length == 0) { + atch_id = html.fileId; + } else { + atch_id = atch_id + "," + html.fileId; + } + + $('input[name="' + options.hiddenFileName + '"]').val(atch_id); + + $('#' + options.inputFileId).val(""); + + // 갯수제한 + fncMaxLength(options); + }, + error : function(error) { + alert("파일 업로드에 실패하였습니다."); + console.log(error); + console.log(error.status); + }, + xhr : function() { // 프로그래스 + var xhr = new window.XMLHttpRequest(); + // 업로드 중 프로그래스바 표시 + $('#' + options.progress).removeAttr('style'); + $('#' + options.progress).find('.progress-bar').attr('style', 'width: 0%'); + $('#' + options.progress).find('.progress-bar').text('0%'); + + xhr.upload.addEventListener("progress", function(evt) { + if (evt.lengthComputable) { + var percentComplete = evt.loaded / evt.total; + percentComplete = parseInt(percentComplete * 100); + + // 프로그래스바 이동 + $('#' + options.progress).find('.progress-bar').attr('style', 'width: ' + percentComplete + '%'); + $('#' + options.progress).find('.progress-bar').text(percentComplete + '%'); + + if (percentComplete === 100) { + $('#' + options.progress).attr('style', 'display: none;'); + } + } + }, false); + + return xhr; + }, + }); + } + + // 파일 이벤트 추가(삭제) + var fncFileTrigger = function(html) { + $('#' + html.fileId).find('a:eq(0)').on('click', function() { + fncUnlink(options, html.link); + }); + } + + // 링크 삭제(파일 삭제) + var fncUnlink = function(options, link) { + $.ajax({ + // Request method. + method : "POST", + // Request URL. + url : CONTEXT_PATH +"/editor/deleteFile.do", + // Request params. + data : { + src : link + } + }).done(function(data) { + // console.log ('file was deleted'); + // 링크 삭제시 파일 목록 삭제 + if (options.fileListDivId != '') { + var atch_id = $('input[name="' + options.hiddenFileName + '"]').val(); + var new_atch_id = ""; + for (i = 0; i <= atch_id.split(',').length - 1; i++) { + if (atch_id.split(',')[i] != data.fileId) { + if (atch_id.split(',').length != 1) { + if (new_atch_id == "") { + new_atch_id = atch_id.split(',')[i]; + } else { + new_atch_id = new_atch_id + "," + atch_id.split(',')[i]; + } + } + } + } + // 첨부파일 목록 파일 삭제 + $('#' + data.fileId).remove(); + + var $nextFocus = $('#' + options.fileListDivId).find('li').eq(1); + if ($nextFocus.length > 0) { + $nextFocus.find('button:eq(0)').focus(); + } else { + $('#' + options.fileListDivId).find('li input[type="file"]:eq(0)').focus(); + } + + // 실제 넘기는 파일(hidden파일) + $('input[name="' + options.hiddenFileName + '"]').val(new_atch_id); + + // 파일 없을 시 div 감춤 + if (new_atch_id == '') { + //제품,기술 이미지 등록 시 예외 + if(options.fileListDivId != 'reprsntImgFile' && options.fileListDivId != 'subImgFileList') + $('#' + options.fileListDivId).attr('style', 'display:none;'); + } + + // 업로드된 파일명 제거 + $('.filebox .upload-hidden').siblings('.upload-name').val("파일선택"); + + // 갯수제한 + fncMaxLength(options); + } + }).fail(function(err) { + // console.log ('file delete problem: ' + JSON.stringify(err)); + }) + } + + + }; + // 파일 목록 생성 + var defaultsDom = function(html, options) { + var deleteButton = options.deleteButton; + var dom = '<div id=' + html.fileId + ' style="margin-top: 5px;">'; + dom += '<span style="line-height: 30px; margin-left: 10px;">'; + dom += html.originFileNm; + dom += '</span>'; + dom += '<div class="fr" style="margin-right: 2px;">'; + var display = ''; + if (!deleteButton) { + display = ' display: none;'; + } + dom += '<a class="btn_sq_s btn_delete mr2"' + display + '" href="javascript:void(0)" title="삭제 버튼"><em class="blind">삭제</em></a>&nbsp;'; + dom += '<a class="btn_sq_s btn_filedown" href="' + html.link + '" title="파일 다운로드 버튼"><em class="blind">파일 다운로드</em></a></a>'; + dom += '</div>'; + dom += '</div>'; + return dom; + } + // 파일 목록 생성 (사용자게시판) + var defaultsDomUser = function(html) { + var dom = '<div class="file_list" id="'+html.fileId+'">' + + '<p class="filename">'+html.originFileNm+'</p>' + + '<button type="button" class="btn_delete btn_sq_s" title="등록된 파일 삭제" >삭제</button>' + + '<button type="button" class="btn_ss bg_basic" title="등록된 파일 본문에 넣기" style="margin-left:3px;">본문에 넣기</button>' + + '</div>' + + '<div class="space5"></div>'; + return dom; + } + // 개수 제한 + var fncMaxLength = function(options) { + var atch_id = $('input[name="' + options.hiddenFileName + '"]').val(); + if(atch_id){ + var size = atch_id.split(',').length; + + if( atch_id.length == 0 ) { + size = 0; + } + if( options.maxSize > size ) { + $('#' + options.inputFileId).prop('disabled', false); + } else { + $('#' + options.inputFileId).prop('disabled', true); + } + }else{ + $('#' + options.inputFileId).prop('disabled', false); + } + } + // 확장자 체크 및 용량 체크 + var fncValidate = function(options, file) { + if( options.fileAllowedTypes.indexOf('*') == -1 ) { + var ext = file.name.split('.').pop().toLowerCase(); + if( $.inArray(ext, options.fileAllowedTypes) == -1 ) { + alert('허용되지 않은 확장자입니다.'); + $('#' + options.inputFileId).val(""); + return false; + } + } + if( options.fileMaxSize > -1 ) { + var fileSize = file.size; + var maxSize = options.fileMaxSize * 1024 * 1024; + if( fileSize > maxSize ) { + alert('파일 사이즈는 ' + fileSizeConvert(maxSize) + '이내로 등록 가능합니다.'); + $('#' + options.inputFileId).val(""); + return false; + } + } + return true; + } +})(jQuery); + +//파일 확장자별 아이콘 +function fileExtIcon(extsn) { + var fileExtsn = extsn; + var fileIcon = 'far fa-file'; + switch (fileExtsn) { + case 'pdf': + fileIcon = 'far fa-file-pdf'; + break; + case 'ppt': + fileIcon = 'far fa-file-powerpoint'; + break; + case 'pptx': + fileIcon = 'far fa-file-powerpoint'; + break; + case 'xls': + fileIcon = 'far fa-file-excel'; + break; + case 'xlsx': + fileIcon = 'far fa-file-excel'; + break; + case 'doc': + fileIcon = 'far fa-file-word'; + break; + case 'docx': + fileIcon = 'far fa-file-word'; + break; + case 'hwp': + fileIcon = 'far fa-file-word'; + break; + case 'png': + fileIcon = 'far fa-file-image'; + break; + case 'jpg': + fileIcon = 'far fa-file-image'; + break; + case 'jpeg': + fileIcon = 'far fa-file-image'; + break; + case 'gif': + fileIcon = 'far fa-file-image'; + break; + case 'bmp': + fileIcon = 'far fa-file-image'; + break; + case 'zip': + fileIcon = 'far fa-file-archive'; + break; + case '7z': + fileIcon = 'far fa-file-archive'; + break; + default: + fileIcon = 'far fa-file'; + } + return fileIcon; +} +// 파일 사이즈 변경 +function fileSizeConvert(size) { + var fileSize = size; + if (fileSize / 1024 >= 1024) { + fileSize = (fileSize / (1024 * 1024)).toFixed(1) + "MB"; + } else { + fileSize = (fileSize / 1024).toFixed(1) + "KB"; + } + return fileSize; +} \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/com/fileUpload.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/imageViewFileUpload.js =================================================================== --- base3.10/src/main/webapp/js/com/imageViewFileUpload.js (nonexistent) +++ base3.10/src/main/webapp/js/com/imageViewFileUpload.js (revision 7) @@ -0,0 +1,760 @@ +/** + * 에디터 파일 업로드를 활용한 파일 업로더 + * $.initFileUpload(options, [createDom]) + */ +; +(function($) { + var defaults = { + imageDivClass : 'imageBox', + toolBarDivClass : 'toolBarBox', + inputFileId : 'inputFileId', + hiddenFileName : 'hiddenFileName', + pageNum : 1, + progress : 'progress', + maxSize : 1, // 첨부파일 등록개수 + fileAllowedTypes: ['*'], // 확장자 체크 ['png', 'pdf'] + fileMaxSize: 2048, // 첨부파일 사이즈 MB단위 + keyEvent: false, + toolBar: true, + toolBarOption: { + wheelZoom : true, + zoomIn : true, + zoomOut : true, + leftRotate : true, + rightRotate : true, + imgPrint : true, + paging : true, + draggable : true, + download : true, + fullScreen : true + } + } + + $.initImageViewerFileUpload = function(options) { + options = $.extend({}, defaults, options); + + if( options.toolBar ) { + //imageViewer toolBar 생성 + var $img = $('.' + options.imageDivClass).find('img').eq(0); + fncCreateToolBar($img, options); + } + // hiddenFileName 변경 이벤트 + $('input[name="' + options.hiddenFileName + '"]').on('change', function() { + fncSelectFile($(this).val()); + }); + + // 기존파일 데이터 조회 + var hiddenId = $('input[name="' + options.hiddenFileName + '"]').val(); + if (hiddenId != null && hiddenId != '') { + fncSelectFile(hiddenId); + } + + // fileId로 데이터 조회 + function fncSelectFile(hiddenId) { + $.ajax({ + method : "POST", + url : CONTEXT_PATH + "/editor/fileList.do", + data : { + fileId : hiddenId + }, + beforeSend:function(){ + $.unblockUI(); + $.blockUI(); + } + }).done(function(data) { + // 파일 데이터 생성 + for (var i = 0; i < data.length; i++) { + var html = data[i]; + if( "pdf, tif, tiff, png, jpg, jpeg".indexOf(html.fileExtsn.toLowerCase()) > -1 ) { + var img = $('.' + options.imageDivClass).find('img').eq(0); + //tiff, tif, pdf, png, jpg 등의 해당페이지에 대한 이미지 생성 및 호출 + img.attr('src', '/multiImageview.do?fileId=' + html.fileId + '&pageSn=' + options.pageNum) + .data('file', html.fileId) + .data('maxpage', fileMaxPage(img)) + .data('curpage', options.pageNum) + .on("contextmenu", function() { + return false; + }); + } else { + $.unblockUI(); + } + + // 이벤트 추가(파일삭제) + fncFileTrigger(html); + } + }).fail(function(err) { + // console.log ('file delete problem: ' + JSON.stringify(err)); + }) + } + + // 갯수제한 + fncMaxLength(options); + + // 특정 파일 확장자만 지정 + if( options.fileAllowedTypes.indexOf('*') == -1 ) { + var ext = ''; + $(options.fileAllowedTypes).each(function(i) { + if( i > 0 ) { + ext += ","; + } + ext += '.' + this; + }); + $('#' + options.inputFileId).attr('accept', ext); + } + // input file 업로드 이벤트 + $('#' + options.inputFileId).on('change', function() { + if ($(this).val()) { + fncFileUp(options); + } + }); + + // input file 설정 + var fileTarget = $('.filebox .upload-hidden'); + fileTarget.on('change', function() { // 값이 변경되면 + if (window.FileReader) { // modern browser + var filename = $(this)[0].files[0].name; + } else { // old IE + var filename = $(this).val().split('/').pop().split('\\').pop(); // 파일명만 + // 추출 + } // 추출한 파일명 삽입 + $(this).siblings('.upload-name').val(filename); + }); + + // 파일 업로드 + var fncFileUp = function(options) { + var data = new FormData(); + var file = $('#' + options.inputFileId)[0].files[0]; + // 확장자 및 용량체크 + if( !fncValidate(options, file) ) { + return; + }; + data.append("file", file); + + $.ajax({ + type : 'post', + url : CONTEXT_PATH + '/editor/uploadFile.do', + data : data, + processData : false, + contentType : false, + beforeSend:function(){ + $.blockUI(); + }, + success : function(html) { + // FileUploadInterceptor에서 필러링 처리 + if( html.fileId == null ) { + $('#' + options.inputFileId).val(""); + alert ('허용되지 않은 확장자입니다.'); + return; + } + if( "pdf, tif, tiff, png, jpg, jpeg".indexOf(html.fileExtsn.toLowerCase()) > -1 ) { + var img = $('.' + options.imageDivClass).find('img').eq(0); + //tiff, tif, pdf, png, jpg등 의 해당페이지에 대한 이미지 생성 및 호출 + img.attr('src', '/multiImageview.do?fileId=' + html.fileId + '&pageSn=1') + .data('file', html.fileId) + .data('maxpage', fileMaxPage(img)) + .data('curpage', 1) + .on("contextmenu", function() { + return false; + }); + } else { + $.unblockUI(); + } + + // 이벤트 추가(파일삭제) + fncFileTrigger(html); + + var atch_id = $('input[name="' + options.hiddenFileName + '"]').val(); + + if (atch_id.length == 0) { + atch_id = html.fileId; + } else { + atch_id = atch_id + "," + html.fileId; + } + + $('input[name="' + options.hiddenFileName + '"]').val(atch_id); + + $('#' + options.inputFileId).val(""); + + // 갯수제한 + fncMaxLength(options); + }, + error : function(error) { + alert("파일 업로드에 실패하였습니다."); + console.log(error); + console.log(error.status); + $.unblockUI(); + }, +// xhr : function() { // 프로그래스 +// var xhr = new window.XMLHttpRequest(); +// // 업로드 중 프로그래스바 표시 +// $('#' + options.progress).removeAttr('style'); +// $('#' + options.progress).find('.progress-bar').attr('style', 'width: 0%'); +// $('#' + options.progress).find('.progress-bar').text('0%'); +// +// xhr.upload.addEventListener("progress", function(evt) { +// if (evt.lengthComputable) { +// var percentComplete = evt.loaded / evt.total; +// percentComplete = parseInt(percentComplete * 100); +// +// // 프로그래스바 이동 +// $('#' + options.progress).find('.progress-bar').attr('style', 'width: ' + percentComplete + '%'); +// $('#' + options.progress).find('.progress-bar').text(percentComplete + '%'); +// +// if (percentComplete === 100) { +// $('#' + options.progress).attr('style', 'display: none;'); +// } +// } +// }, false); +// +// return xhr; +// }, + }); + } + + // 파일 이벤트 추가 + var fncFileTrigger = function(html) { + //파일 삭제 +// $('#' + options.inputFileId).closest('div').find('a:eq(0)').on('click', function() { + $('#' + options.inputFileId).next().off(); + $('#' + options.inputFileId).next().on('click', function() { + fncUnlink(options, html.link); + }); + } + + // 링크 삭제(파일 삭제) + var fncUnlink = function(options, link) { + $.ajax({ + // Request method. + method : "POST", + // Request URL. + url : CONTEXT_PATH +"/editor/deleteFile.do", + // Request params. + data : { + src : link + } + }).done(function(data) { + // console.log ('file was deleted'); + // 링크 삭제시 파일 목록 삭제 + if (options.fileListDivId != '') { + var atch_id = $('input[name="' + options.hiddenFileName + '"]').val(); + var new_atch_id = ""; + for (i = 0; i <= atch_id.split(',').length - 1; i++) { + if (atch_id.split(',')[i] != data.fileId) { + if (atch_id.split(',').length != 1) { + if (new_atch_id == "") { + new_atch_id = atch_id.split(',')[i]; + } else { + new_atch_id = new_atch_id + "," + atch_id.split(',')[i]; + } + } + } + } + // 이미지 삭제 + $('.' + options.imageDivClass).find('img').eq(0).attr('src', ''); + + // 실제 넘기는 파일(hidden파일) + $('input[name="' + options.hiddenFileName + '"]').val(new_atch_id); + + // 업로드된 파일명 제거 + $('.filebox .upload-hidden').siblings('.upload-name').val("파일선택"); + + // 갯수제한 + fncMaxLength(options); + } + }).fail(function(err) { + // console.log ('file delete problem: ' + JSON.stringify(err)); + }) + } + }; + + // 개수 제한 + var fncMaxLength = function(options) { + var atch_id = $('input[name="' + options.hiddenFileName + '"]').val(); + var size = atch_id.split(',').length; + + if( atch_id.length == 0 ) { + size = 0; + } + if( options.maxSize > size ) { + $('#' + options.inputFileId).prop('disabled', false); + } else { + $('#' + options.inputFileId).prop('disabled', true); + } + } + // 확장자 체크 및 용량 체크 + var fncValidate = function(options, file) { + if( options.fileAllowedTypes.indexOf('*') == -1 ) { + var ext = file.name.split('.').pop().toLowerCase(); + if( $.inArray(ext, options.fileAllowedTypes) == -1 ) { + alert('허용되지 않은 확장자입니다.'); + $('#' + options.inputFileId).val(""); + return false; + } + } + if( options.fileMaxSize > -1 ) { + var fileSize = file.size; + var maxSize = options.fileMaxSize * 1024 * 1024; + if( fileSize > maxSize ) { + alert('파일 사이즈는 ' + fileSizeConvert(maxSize) + '이내로 등록 가능합니다.'); + $('#' + options.inputFileId).val(""); + return false; + } + } + return true; + } + + // 페이지 이벤트 + var fncPageTrigger = function(method, img) { + var fileId = img.data('file'); + var maxPage = parseInt(img.data('maxpage')); + var curPage = parseInt(img.data('curpage')); + + if( fileId != null ) { + if (method == 'prev') { + if (curPage == 1) { + alert("첫페이지 입니다."); + return + } else { + curPage--; + img.data('curpage', curPage); + } + } else if (method == 'next') { + if (maxPage == curPage) { + alert("최대페이지 입니다."); + } else { + curPage++; + img.data('curpage', curPage); + } + } else { + if (curPage < 1) { + alert("0페이지는 이동할 수 없습니다."); + return + } else if (curPage > maxPage) { + alert("최대페이지를 초과할 수 없습니다."); + return + } + } + //tiff, tif, pdf, png, jpg등 의 해당페이지에 대한 이미지 생성 및 호출 + $.blockUI(); + img.attr('src', '/multiImageview.do?fileId=' + fileId + '&pageSn=' + curPage); + } + } + + //tiff, tif, pdf, png, jpg 확장자일 경우 전체 페이지 가져오기 + var fileMaxPage = function (img) { + var returnValue; + var fileId = img.data('file'); + + $.ajax({ + // Request method. + method : "POST", + // Request URL. + url : "/editor/fileMaxSizeInfo.do", + // Request params. + data : {fileId: fileId}, + async: false, + }).done(function(totalPage) { + returnValue = totalPage; + }).fail(function(err) { + // console.log ('file delete problem: ' + JSON.stringify(err)); + }) + return returnValue; + } + + // 이미지 전체화면 이벤트 + var fncFullScreen = function (img) { + var imgCommonPreview = new Image(); + imgCommonPreview.src= img.attr('src'); + setTimeout( function () { fncCreatePreviewWin(imgCommonPreview); }, 100); + } + + // 이미지 원본 팝업 호출 + var fncCreatePreviewWin = function (imgCommonPreview) { + if(!imgCommonPreview.complete) { + setTimeout( function () { fncCreatePreviewWin(imgCommonPreview); }, 100); return; + } + var scrollsize = 17; + var swidth = screen.width - 10; + var sheight = screen.height - 90; + var wsize = imgCommonPreview.width + var hsize = imgCommonPreview.height; + if(wsize < 50) wsize = 50; // 가로 최소 크기 + if(hsize < 50) + hsize = 50; // 세로 최소 크기 + if(wsize > swidth) + wsize = swidth; // 가로 최대 크기 + if(hsize > sheight) + hsize = sheight; // 세로 최대 크기 + // 세로가 최대크기를 초과한경우 세로스크롤바 자리 확보 + if((wsize < swidth-scrollsize) && hsize >= sheight) + wsize += scrollsize; + // 가로가 최대크기를 초과한경우 가로스크롤바 자리 확보 + if((hsize < sheight-scrollsize) && wsize >= swidth) + hsize += scrollsize; + // IE 6,7 전용 : 가로세로 크기가 보통일때 세로 스크롤바 자리 확보 + if((wsize < swidth-scrollsize) && hsize < sheight && (navigator.userAgent.indexOf("MSIE 6.0") > -1 || navigator.userAgent.indexOf("MSIE 7.0") > -1)) + wsize += scrollsize; + // 듀얼 모니터에서 팝업 가운데 정렬하기 + var mtWidth = document.body.clientWidth; + // 현재 브라우저가 있는 모니터의 화면 폭 사이즈 + var mtHeight = document.body.clientHeight; + // 현재 브라우저가 있는 모니터의 화면 높이 사이즈 + var scX = window.screenLeft; + // 현재 브라우저의 x 좌표(모니터 두 대를 합한 총 위치 기준) + var scY = window.screenTop; + // 현재 브라우저의 y 좌표(모니터 두 대를 합한 총 위치 기준) + var popX = scX + (mtWidth - wsize) / 2 - 50; + // 팝업 창을 띄울 x 위치 지정(모니터 두 대를 합한 총 위치 기준) + var popY = scY + (mtHeight - hsize) / 2 - 50; + // 팝업 창을 띄울 y 위치 지정(모니터 두 대를 합한 총 위치 기준) + + // window.open('주소', '이름(공란가능)', '속성'); + imageWin = window.open("", "", "top=" + popY + ",left=" + popX + ",width=" + wsize + ",height=" + hsize +",scrollbars=yes,resizable=yes,status=no,fullscreen=yes"); + imageWin.document.write("<html><title>Preview</title><body style='margin:0;cursor:pointer;' title='Close' onclick='window.close()'>"); + imageWin.document.write("<img src='" + imgCommonPreview.src + "'>"); + imageWin.document.write("</body></html>"); + } + + //이미지 Viewer option에 따른 버튼생성 + var fncCreateToolBar = function (img, options) { + img.load(function() { + $(this).css('visibility', 'visible'); + + // 이미지 뷰어 페이징 + if( options.toolBarOption.paging ) { + var maxPage = $(this).data('maxpage'); + var curPage = $(this).data('curpage'); + + $('.'+options.toolBarDivClass).find('.curPage').val(curPage); + $('.'+options.toolBarDivClass).find('.maxPage').html(maxPage); + } + + // 이미지 로드 시 버튼 활성화 + $('.'+options.toolBarDivClass).find('button, input').removeClass('disabled').prop('disabled', false); + + // noimage class 삭제 + $('.'+options.imageDivClass).removeClass('no_img'); + + // 권한체크 + fncAuthoChecker(); + + // 로딩종료 + $.unblockUI(); + }); + img.on('error', function(error) { + // 최초 이미지 없을때 에러가 아닌 이미지 로드중에 난 에러 체크 + if( error.target.baseURI.indexOf(error.target.src) == -1 ) { + alert("이미지를 로딩하는 중 에러가 발생하였습니다."); + // 로딩종료 + $.unblockUI(); + } + // 이미지 없을 시 버튼 비활성화 + $('.'+options.toolBarDivClass).find('button, input').addClass('disabled').prop('disabled', true); + + // 파일은 있으나 미리보기 지원이 안되는 확장자일 경우 + if( $('#'+options.hiddenFileName).val() != '' ) { + $('.fileDown').removeClass('disabled').prop('disabled', false); + } + + // 이미지 페이징 초기화 + $('.'+options.toolBarDivClass).find('.curPage').val(0); + $('.'+options.toolBarDivClass).find('.maxPage').html(0); + + // noimage class 추가 + $('.'+options.imageDivClass).addClass('no_img'); + }); + + // 휠 확대 축소 + if (options.toolBarOption.wheelZoom) { + img.on('mousewheel DOMMouseScroll', function(e) { + var E = e.originalEvent; + if( E.wheelDelta > 0 ) { + // 확대 + img.fncZoom(1.2); + } else { + // 축소 + img.fncZoom(0.8); + } + }); + } + + // 이미지 확대 + if (options.toolBarOption.zoomIn) { + var dom = '<li>' + + '<button type="button" class="btn_s btn_img bgcolor01" title="확대" style="background-image: url(\'/images/custom/icon_expansion.svg\');"><img src="/images/custom/icon_expansion.svg" alt="확대"></button>' + + '</li>'; + $(dom).appendTo('.' + options.toolBarDivClass).on('click', function() { + img.fncZoom(1.2); + }); + } + + // 이미지 축소 + if (options.toolBarOption.zoomOut) { + var dom = '<li>' + + '<button type="button" class="btn_s btn_img bgcolor01" title="축소" style="background-image: url(\'/images/custom/icon_shrink.svg\');"><img src="/images/custom/icon_shrink.svg" alt="축소"></button>' + + '</li>'; + $(dom).appendTo('.' + options.toolBarDivClass).on('click', function() { + img.fncZoom(0.8); + }); + } + + // 왼쪽 회전 + if (options.toolBarOption.leftRotate) { + var dom = '<li>' + + '<button type="button" class="btn_s btn_img bgcolor01" title="왼쪽회전" style="background-image: url(\'/images/custom/icon_turn_left.svg\');"><img src="/images/custom/icon_turn_left.svg" alt="왼쪽회전"></button>' + + '</li>'; + $(dom).appendTo('.' + options.toolBarDivClass).on('click', function() { + img.fncRotate(-90); + }); + } + + // 오른쪽 회전 + if (options.toolBarOption.rightRotate) { + var dom = '<li>' + + '<button type="button" class="btn_s btn_img bgcolor01" title="오른쪽회전" style="background-image: url(\'/images/custom/icon_turn_right.svg\');"><img src="/images/custom/icon_turn_right.svg" alt="오른쪽회전"></button>' + + '</li>'; + $(dom).appendTo('.' + options.toolBarDivClass).on('click', function() { + img.fncRotate(90); + }); + } + + // 파일 다운로드 + if( options.toolBarOption.download ) { + var dom = '<li>' + + '<button type="button" class="btn_s btn_img bgcolor01 fileDown" data-autho="DTA0000R01" title="파일다운로드" style="background-image: url(\'/images/custom/icon_file_down.svg\');"><img src="/images/custom/icon_file_down.svg" alt="파일다운로드"></button>' + + '</li>'; + $(dom).appendTo('.' + options.toolBarDivClass).on('click', function() { + var fileId = $('#'+options.hiddenFileName).val(); + if( fileId.indexOf(',') > -1 ) { + location.href = "/multiDownload.do?fileId=" + fileId; + } else { + location.href = CONTEXT_PATH +"/download.do?fileId=" + fileId; + } + }); + } + + // 이미지 인쇄 + if( options.toolBarOption.imgPrint ) { + // 인쇄 권한 변경해야됨 + var dom = '<li>' + + '<button type="button" class="btn_s btn_img bgcolor01" data-autho="DTA0000R01" title="인쇄" style="background-image: url(\'/images/custom/icon_print.svg\');"><img src="/images/custom/icon_print.svg" alt="인쇄"></button>' + + '</li>'; + if( img.attr('id') == undefined ) { + img.attr('id', 'img' + new Date().getTime()); + } + $(dom).appendTo('.' + options.toolBarDivClass).on('click', function() { + var imgId = img.attr('id'); + var maxpage = img.data('maxpage'); + if( maxpage >= 100 ) { + alert('최대 크기가 100페이지 이상인 문서는 인쇄하실 수 없습니다.\n파일을 다운로드 후 인쇄하여 주시기 바랍니다.'); + return; + } + var frmObj = $('<form>', {'id': 'frmprint' + imgId, 'action': '/imagePrint/A3.do', 'method': 'POST', 'target': '_blank'}); + var inputObj = $('<input>', {'name': 'fileList[0].fileId', 'value': img.data('file')}); + frmObj.append(inputObj); + $(document.body).append(frmObj); + $('#frmprint' + imgId).submit(); + $('#frmprint' + imgId).remove(); + }); + } + + // 이미지 뷰어 페이징 + if( options.toolBarOption.paging ) { + var dom = '<li>' + + '<div class="page_control">' + + '<button type="button" class="btn_s btn_img bgcolor01" title="이전" style="background-image: url(\'/images/custom/page-left.svg\');"><img src="/images/custom/page-left.svg" alt="이전"></button>' + + '<input type="text" title="" class="width50 onlyNumber curPage" value="0" maxlength="3"/>' + + '<em> / </em><em class="maxPage">0</em>' + + '<button type="button" class="btn_s btn_img bgcolor01" title="다음" style="background-image: url(\'/images/custom/page-right.svg\');"><img src="/images/custom/page-right.svg" alt="다음"></button>' + + '<button type="button" class="btn_s btn_img bgcolor01" title="이동" style="background-image: url(\'/images/custom/icon_move.svg\');"><img src="/images/custom/icon_move.svg" alt="이동"></button>' + + '</div>' + + '</li>'; + $(dom).appendTo('.' + options.toolBarDivClass) + .find('button:eq(0)').on('click', function() { + fncPageTrigger('prev', img); + }).end() + .find('button:eq(1)').on('click', function() { + fncPageTrigger('next', img); + }).end() + .find('button:eq(2)').on('click', function() { + fncPageTrigger('move', img); + }).end() + .find('input[type=text]').on('keydown keyup focusout', function(event) { + onlyNumber(this); + if( event.keyCode == 13 ) { + var maxPage = parseInt(img.data('maxpage')); + var curPage = parseInt($(this).val()); + curPage = isNaN(curPage) ? 1 : curPage; + if (curPage < 1) { + alert("0페이지는 입력할 수 없습니다."); + curPage = 1; + } else if (curPage > maxPage) { + alert("최대페이지를 초과할 수 없습니다."); + curPage = maxPage; + } + $(this).val(curPage); + img.data('curpage', curPage); + + fncPageTrigger('move', img); + $(this).blur(); + } + }); + // 방향키로 페이지 전환 + if( options.keyEvent ) { + $(document).on('keydown', function(event) { + if( event.keyCode === 39 ) { + fncPageTrigger('next', img); + } + if( event.keyCode === 37 ) { + fncPageTrigger('prev', img); + } + }); + } + } + + // 이미지 전체화면 + if( options.toolBarOption.fullScreen ) { + var dom = '<li>' + + '<button type="button" class="btn_s btn_img bgcolor01" title="전체화면" style="background-image: url(\'/images/custom/icon_full.svg\');"><img src="/images/custom/icon_full.svg" alt="전체화면"></button>' + + '</li>'; + $(dom).appendTo('.' + options.toolBarDivClass).on('click', function() { +// fncFullScreen(img); + // URL호출로 변경 +// var fileId = $('#'+options.hiddenFileName).val(); + var fileId = img.data('file'); + var curpage = img.data('curpage'); + window.open("/com/imageViewFullScreen.do?fileId=" + fileId + "&curPage=" + curpage, fileId, "top=0,left=0,width=" + screen.width + ",height=" + screen.height +",scrollbars=yes,resizable=yes,status=no,fullscreen=yes"); + }); + } + + // 이미지 드래그 + if( options.toolBarOption.draggable ) { + // 드래그 enable + img.draggable({ + cursor : "move", + scroll: true, + stop: function() { + // 범위 밖으로 드래그 했을때 보정 + var topLoc = parseInt($(this).css('top').replace('px', '')); + var leftLoc = parseInt($(this).css('left').replace('px', '')); + $(this).animate({ + top: topLoc > 0 ? 0 : topLoc, + left: leftLoc > 0 ? 0 : leftLoc + }, 200); + } + }); + } + + // 이미지 크기 + $.fn.fncZoom = function(size) { + if( size < 1.0 && img.width() < 300 ) { + return; + } + this.stop().animate({ + width: img.width() * size, + height: img.height() * size + }, 500); + } + + // 이미지 회전 + $.fn.fncRotate = function(moveAngle) { + //현재 각도 구하기 + function calculateDeg(selector){ + var tr = $(selector).css('transform'); + if(tr == "none") { + return 0; + } + var values = tr.split('(')[1].split(')')[0].split(','); + var a = values[0]; + var b = values[1]; + var c = values[2]; + var d = values[3]; + + var scale = Math.sqrt(a*a + b*b); + var sin = b/scale; + var angle = Math.round(Math.atan2(b, a) * (180/Math.PI)); + angle = (Math.ceil( angle / moveAngle)) * moveAngle; + return angle; + } + + var nowAngle = calculateDeg(this); + var op = ''; + switch( moveAngle + nowAngle ) { + case 90: + op = ' translateY(-100%)'; + break; + case 180: + op = ' translate(-100%,-100%)'; + break; + case 270: + op = ' translateX(-100%)'; + break; + case -90: + op = ' translateX(-100%)'; + break; + case -180: + op = ' translate(-100%,-100%)'; + break; + case -270: + op = ' translateY(-100%)'; + break; + } + this.stop().animate({transform: moveAngle}, { + step: function(now,fx) { + now += nowAngle; + $(this).css({ + 'transform-origin': 'top left', /* IE 10+, Firefox, etc. */ + '-webkit-transform-origin': 'top left', /* Chrome */ + '-ms-transform-origin': 'top left', /* IE 9 */ + 'transform':'rotate('+now+'deg)' + op, + '-webkit-transform':'rotate('+now+'deg)' + op, + '-ms-transform':'rotate('+now+'deg)' + op, + }); + }, + }); + } + } +})(jQuery); + +// 파일 사이즈 변경 +function fileSizeConvert(size) { + var fileSize = size; + if (fileSize / 1024 >= 1024) { + fileSize = (fileSize / (1024 * 1024)).toFixed(1) + "MB"; + } else { + fileSize = (fileSize / 1024).toFixed(1) + "KB"; + } + return fileSize; +} + +// 인쇄 callback 함수 +function printCallback(params) { + var url = "/dta/doc/outputHistManage/regist.do"; + var aJson = { + outptMg: params.outptMg + }; + var dataTable = $('#dta-recpt-list').DataTable(); + var rowcollection = dataTable.$('input[type="checkbox"]:checked', {"page": "current"}); + // 상세, 건별수정, 건별등록 시 작동 + $(params.fileList).each(function(i, data) { + var fileId = $('#fileId').val(); + var dtaRceptId = $('#dtaRceptId').val(); + if( fileId == data ) { + aJson['dtaRceptList[' + i + '].dtaRceptId'] = dtaRceptId; + } + }); + $.post(url, aJson, function(data) { + if( data != "success" ) { + alert('에러가 발생하였습니다.\n관리자에게 문의하세요.'); + } + }); +} +//Invalid property 'columns[0][search][regex]' of bean class [demo.objects.DataTableRequestDTO]: Property referenced in indexed property path 'columns[0][search][regex]' is neither an array nor a List nor a Map; returned value was [false +function planify(data) { + for (var i = 0; i < data.columns.length; i++) { + column = data.columns[i]; + column.dtaRceptId = column.search.regex; + column.searchValue = column.search.value; + delete(column.search); + } +} \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/com/imageViewFileUpload.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/jquery.smoothwheel.js =================================================================== --- base3.10/src/main/webapp/js/com/jquery.smoothwheel.js (nonexistent) +++ base3.10/src/main/webapp/js/com/jquery.smoothwheel.js (revision 7) @@ -0,0 +1,153 @@ +/** + * Created by IntelliJ IDEA. + * + * User: phil + * Date: 15/11/12 + * Time: 11:04 AM + * + */ +(function ($) { + + var self = this, container, running=false, currentY = 0, targetY = 0, oldY = 0, maxScrollTop= 0, minScrollTop, direction, onRenderCallback=null, + fricton = 0.95, // higher value for slower deceleration + vy = 0, + stepAmt = 1, + minMovement= 0.1, + ts=0.1; + + var updateScrollTarget = function (amt) { + targetY += amt; + vy += (targetY - oldY) * stepAmt; + + oldY = targetY; + + + } + var render = function () { + if (vy < -(minMovement) || vy > minMovement) { + + currentY = (currentY + vy); + if (currentY > maxScrollTop) { + currentY = vy = 0; + } else if (currentY < minScrollTop) { + vy = 0; + currentY = minScrollTop; + } + + container.scrollTop(-currentY); + + vy *= fricton; + + // vy += ts * (currentY-targetY); + // scrollTopTweened += settings.tweenSpeed * (scrollTop - scrollTopTweened); + // currentY += ts * (targetY - currentY); + + if(onRenderCallback){ + onRenderCallback(); + } + } + } + var animateLoop = function () { + if(! running)return; + requestAnimFrame(animateLoop); + render(); + //log("45","animateLoop","animateLoop", "",stop); + } + var onWheel = function (e) { + e.preventDefault(); + var evt = e.originalEvent; + + var delta = evt.detail ? evt.detail * -1 : evt.wheelDelta / 40; + var dir = delta < 0 ? -1 : 1; + if (dir != direction) { + vy = 0; + direction = dir; + } + + //reset currentY in case non-wheel scroll has occurred (scrollbar drag, etc.) + currentY = -container.scrollTop(); + + updateScrollTarget(delta); + } + + /* + * http://paulirish.com/2011/requestanimationframe-for-smart-animating/ + */ + window.requestAnimFrame = (function () { + return window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + window.msRequestAnimationFrame || + function (callback) { + window.setTimeout(callback, 1000 / 60); + }; + + + })(); + + /* + * http://jsbin.com/iqafek/2/edit + */ + var normalizeWheelDelta = function () { + // Keep a distribution of observed values, and scale by the + // 33rd percentile. + var distribution = [], done = null, scale = 30; + return function (n) { + // Zeroes don't count. + if (n == 0) return n; + // After 500 samples, we stop sampling and keep current factor. + if (done != null) return n * done; + var abs = Math.abs(n); + // Insert value (sorted in ascending order). + outer: do { // Just used for break goto + for (var i = 0; i < distribution.length; ++i) { + if (abs <= distribution[i]) { + distribution.splice(i, 0, abs); + break outer; + } + } + distribution.push(abs); + } while (false); + // Factor is scale divided by 33rd percentile. + var factor = scale / distribution[Math.floor(distribution.length / 3)]; + if (distribution.length == 500) done = factor; + return n * factor; + }; + }(); + + + $.fn.smoothWheel = function () { + // var args = [].splice.call(arguments, 0); + var options = jQuery.extend({}, arguments[0]); + return this.each(function (index, elm) { + + if(!('ontouchstart' in window)){ + container = $(this); + container.bind("mousewheel", onWheel); + container.bind("DOMMouseScroll", onWheel); + + //set target/old/current Y to match current scroll position to prevent jump to top of container + targetY = oldY = container.get(0).scrollTop; + currentY = -targetY; + + minScrollTop = container.get(0).clientHeight - container.get(0).scrollHeight; + if(options.onRender){ + onRenderCallback = options.onRender; + } + if(options.remove){ + log("122","smoothWheel","remove", ""); + running=false; + container.unbind("mousewheel", onWheel); + container.unbind("DOMMouseScroll", onWheel); + }else if(!running){ + running=true; + animateLoop(); + } + + } + }); + }; + + +})(jQuery); \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/com/jquery.smoothwheel.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/tableExcelExport.js =================================================================== --- base3.10/src/main/webapp/js/com/tableExcelExport.js (nonexistent) +++ base3.10/src/main/webapp/js/com/tableExcelExport.js (revision 7) @@ -0,0 +1,82 @@ +/** + * Table 정보를 Excel 다운로드 한다. + * $.tableExcelExport(테이블ID, 시트명, xls 파일명) + */ +(function($) { + $.tableExcelExport = function(tableId, sheet, fileName) { + var worksheet = null; + var table = get(tableId); + const template = {excel: '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><meta name=ProgId content=Excel.Sheet> <meta name=Generator content="Microsoft Excel 11"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>'}; + const ctx = {worksheet: sheet || 'Worksheet', table: table.innerHTML}; + const b64 = base64(format(template.excel, ctx)); + + let today = new Date(); + let year = today.getFullYear(); // 년도 + let month = today.getMonth() + 1; // 월 + let date = today.getDate(); // 날짜 + var yyyymmdd = year + "." + month + "." + date; + fileName = fileName.substr(0, fileName.lastIndexOf(".xls")) + "_" + yyyymmdd + ".xls"; + return createDownloadLink(b64, 'application/vnd.ms-excel', fileName); + }; + const createDownloadLink = function(base64data, exporttype, filename) { + if (window.navigator.msSaveBlob) { + const blob = b64toBlob(base64data, exporttype); + window.navigator.msSaveBlob(blob, filename); + return false; + } else if(window.URL.createObjectURL) { + const blob = b64toBlob(base64data, exporttype); + var a = $("<a style='display: none;'/>"); + var url = window.URL.createObjectURL(blob); + a.attr("href", url); + a.attr("download", filename); + $("body").append(a); + a[0].click(); + window.URL.revokeObjectURL(url); + a.remove(); + } else { + anchor.download = filename; + anchor.href = "data:" + exporttype + ";base64," + base64data; + } + return true; + }; + const format = function(s, c) { + return s.replace(new RegExp("{(\\w+)}", "g"), function(m, p) { + return c[p]; + }); + }; + const get = function(element) { + if (!element.nodeType) { + return document.getElementById(element); + } + return element; + }; + const base64 = function(s) { + return window.btoa(unescape(encodeURIComponent(s))); + }; + const b64toBlob = function (b64Data, contentType, sliceSize) { + contentType = contentType || ''; + sliceSize = sliceSize || 512; + + const byteCharacters = window.atob(b64Data); + const byteArrays = []; + + let offset; + for (offset = 0; offset < byteCharacters.length; offset += sliceSize) { + const slice = byteCharacters.slice(offset, offset + sliceSize); + + const byteNumbers = new Array(slice.length); + let i; + for (i = 0; i < slice.length; i = i + 1) { + byteNumbers[i] = slice.charCodeAt(i); + } + + const byteArray = new window.Uint8Array(byteNumbers); + + byteArrays.push(byteArray); + } + + return new window.Blob(byteArrays, { + type: contentType + }); + }; +})(jQuery); \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/com/tableExcelExport.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/printPreview.js =================================================================== --- base3.10/src/main/webapp/js/com/printPreview.js (nonexistent) +++ base3.10/src/main/webapp/js/com/printPreview.js (revision 7) @@ -0,0 +1,66 @@ +;(function ( $ ) { + $.fn.printPreview = function( options ) { + var elem = this; + + var opt = $.extend({ + obj2print:'body', + style:'', + width:'670', + height:screen.height-105, + top:0, + left:'center', + resizable : 'yes', + scrollbars:'yes', + status:'no', + title:'Print Preview' + }, options ); + if(opt.left == 'center'){ + opt.left=(screen.width/2)-(opt.width/2); + } + $(opt.obj2print+" input").each(function(){ + $(this).attr('value',$(this).val()); + }); + $(opt.obj2print+" textarea").each(function(){ + $(this).html($(this).val()); + }); + return elem.bind("click.printPreview", function () { + var btnCode = elem[0].outerHTML; + var headString = ''; + headString = $("head").html(); + var str = "<!DOCTYPE html><html><head>"+headString+opt.style+"</head><body>"; +// str+=$(opt.obj2print)[0].outerHTML.replace(btnCode,'') // 기존 단일만 되서 수정함 + $(opt.obj2print).each(function() { + str+=this.outerHTML.replace(btnCode,''); + }); + str+="</body></html>"; + //top open multiple instances we have to name newWindow differently, so getting milliseconds + var d = new Date(); + var n = 'newWindow'+d.getMilliseconds(); + var newWindow = window.open( + "", + n, + "width="+opt.width+ + ",top="+opt.top+ + ",height="+opt.height+ + ",left="+opt.left+ + ",resizable="+opt.resizable+ + ",scrollbars="+opt.scrollbars+ + ",status="+opt.status + ); + newWindow.document.write(str); + newWindow.document.title = opt.title; + + if( newWindow.addEventListener ) { + newWindow.addEventListener('load', function() { + newWindow.document.execCommand('print', false, null) || newWindow.print(); + }, false); + } else if( newWindow.attachEvent ) { + newWindow.attachEvent('onload', function() { + newWindow.document.execCommand('print', false, null) || newWindow.print(); + }); + } + newWindow.document.close(); + newWindow.focus(); + }); + }; +}( jQuery )); \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/com/printPreview.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/com/clipboard.min.js =================================================================== --- base3.10/src/main/webapp/js/com/clipboard.min.js (nonexistent) +++ base3.10/src/main/webapp/js/com/clipboard.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * clipboard.js v2.0.8 + * https://clipboardjs.com/ + * + * Licensed MIT © Zeno Rocha + */ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={134:function(t,e,n){"use strict";n.d(e,{default:function(){return r}});var e=n(279),i=n.n(e),e=n(370),a=n.n(e),e=n(817),o=n.n(e);function c(t){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function u(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}var l=function(){function e(t){!function(t){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this),this.resolveOptions(t),this.initSelection()}var t,n,r;return t=e,(n=[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"createFakeElement",value:function(){var t="rtl"===document.documentElement.getAttribute("dir");this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[t?"right":"left"]="-9999px";t=window.pageYOffset||document.documentElement.scrollTop;return this.fakeElem.style.top="".concat(t,"px"),this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.fakeElem}},{key:"selectFake",value:function(){var t=this,e=this.createFakeElement();this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.container.appendChild(e),this.selectedText=o()(e),this.copyText(),this.removeFake()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=o()(this.target),this.copyText()}},{key:"copyText",value:function(){var e;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==c(t)||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}])&&u(t.prototype,n),r&&u(t,r),e}();function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function f(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}function h(t,e){return(h=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function d(n){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}();return function(){var t,e=p(n);return t=r?(t=p(this).constructor,Reflect.construct(e,arguments,t)):e.apply(this,arguments),e=this,!(t=t)||"object"!==s(t)&&"function"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}}function p(t){return(p=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function y(t,e){t="data-clipboard-".concat(t);if(e.hasAttribute(t))return e.getAttribute(t)}var r=function(){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&h(t,e)}(o,i());var t,e,n,r=d(o);function o(t,e){var n;return function(t){if(!(t instanceof o))throw new TypeError("Cannot call a class as a function")}(this),(n=r.call(this)).resolveOptions(e),n.listenClick(t),n}return t=o,n=[{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof t?[t]:t,e=!!document.queryCommandSupported;return t.forEach(function(t){e=e&&!!document.queryCommandSupported(t)}),e}}],(e=[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===s(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=a()(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){t=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new l({action:this.action(t),target:this.target(t),text:this.text(t),container:this.container,trigger:t,emitter:this})}},{key:"defaultAction",value:function(t){return y("action",t)}},{key:"defaultTarget",value:function(t){t=y("target",t);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(t){return y("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}])&&f(t.prototype,e),n&&f(t,n),o}()},828:function(t){var e;"undefined"==typeof Element||Element.prototype.matches||((e=Element.prototype).matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector),t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},438:function(t,e,n){var a=n(828);function i(t,e,n,r,o){var i=function(e,n,t,r){return function(t){t.delegateTarget=a(t.target,n),t.delegateTarget&&r.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,o),{destroy:function(){t.removeEventListener(n,i,o)}}}t.exports=function(t,e,n,r,o){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,r,o)}))}},879:function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},370:function(t,e,n){var l=n(879),s=n(438);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!l.string(e))throw new TypeError("Second argument must be a String");if(!l.fn(n))throw new TypeError("Third argument must be a Function");if(l.node(t))return c=e,u=n,(a=t).addEventListener(c,u),{destroy:function(){a.removeEventListener(c,u)}};if(l.nodeList(t))return r=t,o=e,i=n,Array.prototype.forEach.call(r,function(t){t.addEventListener(o,i)}),{destroy:function(){Array.prototype.forEach.call(r,function(t){t.removeEventListener(o,i)})}};if(l.string(t))return t=t,e=e,n=n,s(document.body,t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var r,o,i,a,c,u}},817:function(t){t.exports=function(t){var e,n="SELECT"===t.nodeName?(t.focus(),t.value):"INPUT"===t.nodeName||"TEXTAREA"===t.nodeName?((e=t.hasAttribute("readonly"))||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),e||t.removeAttribute("readonly"),t.value):(t.hasAttribute("contenteditable")&&t.focus(),n=window.getSelection(),(e=document.createRange()).selectNodeContents(t),n.removeAllRanges(),n.addRange(e),n.toString());return n}},279:function(t){function e(){}e.prototype={on:function(t,e,n){var r=this.e||(this.e={});return(r[t]||(r[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var r=this;function o(){r.off(t,o),e.apply(n,arguments)}return o._=e,this.on(t,o,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),r=0,o=n.length;r<o;r++)n[r].fn.apply(n[r].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),r=n[t],o=[];if(r&&e)for(var i=0,a=r.length;i<a;i++)r[i].fn!==e&&r[i].fn._!==e&&o.push(r[i]);return o.length?n[t]=o:delete n[t],this}},t.exports=e,t.exports.TinyEmitter=e}},o={},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r(134).default;function r(t){if(o[t])return o[t].exports;var e=o[t]={exports:{}};return n[t](e,e.exports,r),e.exports}var n,o}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/com/clipboard.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/sts/sst/treemenu.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/sts/sst/treemenu.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/sts/sst/treemenu.js (revision 7) @@ -0,0 +1,217 @@ +/**************************************************************** + * + * 파일명 : treemenu.js + * 설 명 : 전자정부 공통서비스 메뉴 JavaScript + * + * 수정일 수정자 Function 명 + * ------------ --------- ---------------------------- + * 2011.09.01 이기하 imgpath 변수는 js를 호출하는 + * jsp에서 입력받도록 수정 + * + */ + +/* + * 노드 , 트리 구성 정보 선언 + */ +var treeNodes = new Array();; +var openTreeNodes = new Array(); +var treeIcons = new Array(6); +//var imgpath = "./../../../images/egovframework/com/cmm/utl/" +var treeYeobu = false; + +/* + * 노드 , 트리 구성 이미지 정보 + */ +function preloadIcons() { + treeIcons[0] = new Image(); + treeIcons[0].src = imgpath+"menu_plus.gif"; + treeIcons[1] = new Image(); + treeIcons[1].src = imgpath+"menu_plusbottom.gif"; + treeIcons[2] = new Image(); + treeIcons[2].src = imgpath+"menu_minus.gif"; + treeIcons[3] = new Image(); + treeIcons[3].src = imgpath+"menu_minusbottom.gif"; + treeIcons[4] = new Image(); + treeIcons[4].src = imgpath+"menu_folder.gif"; + treeIcons[5] = new Image(); + treeIcons[5].src = imgpath+"menu_folderopen.gif"; +} +/* +* 트리생성함수 +*/ +function createTree(arrName, vYeobu) { + var startNode, openNode; + treeNodes = arrName; + treeYeobu = vYeobu; + if (treeNodes.length > 0) { + preloadIcons(); + if (startNode == null) startNode = 0; + if (openNode != 0 || openNode != null) setOpenTreeNodes(openNode); + if (startNode !=0) { + var nodeValues = treeNodes[getTreeArrayId(startNode)].split("|"); + document.write("<a href='" + nodeValues[3] + "' onmouseover='window.status='" + nodeValues[3] + "';return true;' onmouseout='window.status=' ';return true;'><img src='"+imgpath+"menu_folderopen.gif' border='0' align='absbottom' alt=''>" + nodeValues[2] + "</a><br>"); + } else document.write("<img src='"+imgpath+"menu_base.gif' border='0' align='absbottom' alt='' >메뉴목록<br>"); + var recursedNodes = new Array(); + addTreeNode(startNode, recursedNodes); + } +} +/* +* 노드위치 확인 +*/ +function getTreeArrayId(node) { + for (i=0; i<treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[0]==node) return i; + } + return 0; +} +/* +* 트리 노드 열기 +*/ +function setOpenTreeNodes(openNode) { + for (i=0; i<treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[0]==openNode) { + openTreeNodes.push(nodeValues[0]); + setOpenTreeNodes(nodeValues[1]); + } + } +} +/* +* 트리노드 오픈 여부 확인 +*/ +function isTreeNodeOpen(node) { + if (treeYeobu){ return true; } + for (i=0; i<openTreeNodes.length; i++){ + if (openTreeNodes[i]==node){ return true; } + } + return false; +} +/* +* 하위 트리노드 존재여부 확인 +*/ +function hasChildTreeNode(parentNode) { + for (i=0; i< treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[1] == parentNode) return true; + } + return false; +} +/* +* 트리노드 최하위 여부 확인 +*/ +function lastTreeSibling (node, parentNode) { + var lastChild = 0; + for (i=0; i< treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[1] == parentNode) + lastChild = nodeValues[0]; + } + if (lastChild==node) return true; + return false; +} + +/* +* 신규 트리노드 추가 +*/ +function addTreeNode(parentNode, recursedNodes) { + for (var i = 0; i < treeNodes.length; i++) { + + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[1] == parentNode) { + + var lastSibling = lastTreeSibling(nodeValues[0], nodeValues[1]); + var hasChildNode = hasChildTreeNode(nodeValues[0]); + var isNodeOpen = isTreeNodeOpen(nodeValues[0]); + + for (g=0; g<recursedNodes.length; g++) { + if (recursedNodes[g] == 1) document.write("<img src='"+imgpath+"menu_line.gif' border='0' align='absbottom' alt='' >"); + else document.write("<img src='"+imgpath+"menu_empty.gif' border='0' align='absbottom' alt='' >"); + } + + if (lastSibling) recursedNodes.push(0); + else recursedNodes.push(1); + + if (hasChildNode) { + if (lastSibling) { + document.write("<a href='javascript: openCloseEx(" + nodeValues[0] + ", 1);'><img id='join" + nodeValues[0] + "' src='"+imgpath); + if (isNodeOpen) document.write("menu_minus"); + else document.write("menu_plus"); + document.write("bottom.gif' border='0' align='absbottom' alt='Open/Close node' ></a>"); + } else { + document.write("<a href='javascript: openCloseEx(" + nodeValues[0] + ", 0);'><img id='join" + nodeValues[0] + "' src='"+imgpath); + if (isNodeOpen) document.write("menu_minus"); + else document.write("menu_plus"); + document.write(".gif' border='0' align='absbottom' alt='Open/Close node' /></a>"); + } + } else { + if (lastSibling) document.write("<img src='"+imgpath+"menu_joinbottom.gif' border='0' align='absbottom' alt='' >"); + else document.write("<img src='"+imgpath+"menu_join.gif' border='0' align='absbottom' alt='' >"); + } + document.write("<a href=javascript:temp_aa('" + treeNodes[i] + "');>"); + if (hasChildNode) { + document.write("<img id='icon" + nodeValues[0] + "' src='"+imgpath+"menu_folder") + if (isNodeOpen) document.write("open"); + document.write(".gif' border='0' alt='Folder' >"); + } else document.write("<img id='icon" + nodeValues[0] + "' src='"+imgpath+"menu_page.gif' border='0' align='absbottom' alt='Page'>"); + document.write(nodeValues[2]); + document.write("</a><br>"); + if (hasChildNode) { + document.write("<div id='div" + nodeValues[0] + "'"); + if (!isNodeOpen) document.write(" style='display: none;'"); + document.write(">"); + addTreeNode(nodeValues[0], recursedNodes); + document.write("</div>"); + } + recursedNodes.pop(); + } + } +} +/* +* 트리노드 액션(열기,닫기) +*/ +function openCloseEx(node, bottom) { + var treeDiv = document.getElementById("div" + node); + var treeJoin = document.getElementById("join" + node); + var treeIcon = document.getElementById("icon" + node); + + if (treeDiv.style.display == 'none') { + if (bottom==1) treeJoin.src = treeIcons[3].src; + else treeJoin.src = treeIcons[2].src; + treeIcon.src = treeIcons[5].src; + treeDiv.style.display = ''; + } else { + if (bottom==1) treeJoin.src = treeIcons[1].src; + else treeJoin.src = treeIcons[0].src; + treeIcon.src = treeIcons[4].src; + treeDiv.style.display = 'none'; + } +} +if(!Array.prototype.push) { + function fnArrayPush() { + for(var i=0;i<arguments.length;i++) + this[this.length]=arguments[i]; + return this.length; + } + Array.prototype.push = fnArrayPush; +} +if(!Array.prototype.pop) { + function fnArrayPop(){ + lastElement = this[this.length-1]; + this.length = Math.max(this.length-1,0); + return lastElement; + } + Array.prototype.pop = fnArrayPop; +} + +function temp_aa(treeNodes) { + var nodeValues = treeNodes.split("|"); + document.listForm.detailStatsKind.value = nodeValues[3]; + fnSearch(); +} + +function updateMenuList() { + alert("수정"); + document.menuListForm.action = "<c:url value='/sym/mnu/mpm/EgovMenuListUpdt.do'/>"; + parent.document.menuListForm.submit(); +} Property changes on: base3.10/src/main/webapp/js/egovframework/com/sts/sst/treemenu.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/jquery-1.12.4.min.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/jquery-1.12.4.min.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/jquery-1.12.4.min.js (revision 7) @@ -0,0 +1,5 @@ +/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0; +}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}}),function(){var a;l.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,e;return c=d.getElementsByTagName("body")[0],c&&c.style?(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(d.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(e),a):void 0}}();var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),V=["Top","Right","Bottom","Left"],W=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function X(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&U.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var Y=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)Y(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/<tbody/i;function ia(a){Z.test(a.type)&&(a.defaultChecked=a.checked)}function ja(a,b,c,d,e){for(var f,g,h,i,j,k,m,o=a.length,p=ca(b),q=[],r=0;o>r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?"<table>"!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ma.test(f)?this.mouseHooks:la.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=g.srcElement||d),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,h.filter?h.filter(a,g):a},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button,h=b.fromElement;return null==a.pageX&&null!=b.clientX&&(e=a.target.ownerDocument||d,f=e.documentElement,c=e.body,a.pageX=b.clientX+(f&&f.scrollLeft||c&&c.scrollLeft||0)-(f&&f.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(f&&f.scrollTop||c&&c.scrollTop||0)-(f&&f.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&h&&(a.relatedTarget=h===a.target?b.toElement:h),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ra()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ra()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=d.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)}:function(a,b,c){var d="on"+b;a.detachEvent&&("undefined"==typeof a[d]&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?pa:qa):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:qa,isPropagationStopped:qa,isImmediatePropagationStopped:qa,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=pa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=pa,a&&!this.isSimulated&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=pa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submit||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?n.prop(b,"form"):void 0;c&&!n._data(c,"submit")&&(n.event.add(c,"submit._submit",function(a){a._submitBubble=!0}),n._data(c,"submit",!0))})},postDispatch:function(a){a._submitBubble&&(delete a._submitBubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.change||(n.event.special.change={setup:function(){return ka.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._justChanged=!0)}),n.event.add(this,"click._change",function(a){this._justChanged&&!a.isTrigger&&(this._justChanged=!1),n.event.simulate("change",this,a)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;ka.test(b.nodeName)&&!n._data(b,"change")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a)}),n._data(b,"change",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!ka.test(this.nodeName)}}),l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d){return sa(this,a,b,c,d)},one:function(a,b,c,d){return sa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=qa),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ta=/ jQuery\d+="(?:null|\d+)"/g,ua=new RegExp("<(?:"+ba+")[\\s/>]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/<script|<style|<link/i,xa=/checked\s*(?:[^=]|=\s*.checked.)/i,ya=/^true\/(.*)/,za=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ja[0].contentWindow||Ja[0].contentDocument).document,b.write(),b.close(),c=La(a,b),Ja.detach()),Ka[a]=c),c}var Na=/^margin/,Oa=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Pa=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Qa=d.documentElement;!function(){var b,c,e,f,g,h,i=d.createElement("div"),j=d.createElement("div");if(j.style){j.style.cssText="float:left;opacity:.5",l.opacity="0.5"===j.style.opacity,l.cssFloat=!!j.style.cssFloat,j.style.backgroundClip="content-box",j.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===j.style.backgroundClip,i=d.createElement("div"),i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",j.innerHTML="",i.appendChild(j),l.boxSizing=""===j.style.boxSizing||""===j.style.MozBoxSizing||""===j.style.WebkitBoxSizing,n.extend(l,{reliableHiddenOffsets:function(){return null==b&&k(),f},boxSizingReliable:function(){return null==b&&k(),e},pixelMarginRight:function(){return null==b&&k(),c},pixelPosition:function(){return null==b&&k(),b},reliableMarginRight:function(){return null==b&&k(),g},reliableMarginLeft:function(){return null==b&&k(),h}});function k(){var k,l,m=d.documentElement;m.appendChild(i),j.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",b=e=h=!1,c=g=!0,a.getComputedStyle&&(l=a.getComputedStyle(j),b="1%"!==(l||{}).top,h="2px"===(l||{}).marginLeft,e="4px"===(l||{width:"4px"}).width,j.style.marginRight="50%",c="4px"===(l||{marginRight:"4px"}).marginRight,k=j.appendChild(d.createElement("div")),k.style.cssText=j.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",k.style.marginRight=k.style.width="0",j.style.width="1px",g=!parseFloat((a.getComputedStyle(k)||{}).marginRight),j.removeChild(k)),j.style.display="none",f=0===j.getClientRects().length,f&&(j.style.display="",j.innerHTML="<table><tr><td></td><td>t</td></tr></table>",j.childNodes[0].style.borderCollapse="separate",k=j.getElementsByTagName("td"),k[0].style.cssText="margin:0;border:0;padding:0;display:none",f=0===k[0].offsetHeight,f&&(k[0].style.display="",k[1].style.display="none",f=0===k[0].offsetHeight)),m.removeChild(i)}}}();var Ra,Sa,Ta=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ra=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Oa.test(g)&&Na.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0===g?g:g+""}):Qa.currentStyle&&(Ra=function(a){return a.currentStyle},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Oa.test(g)&&!Ta.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Ua(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Va=/alpha\([^)]*\)/i,Wa=/opacity\s*=\s*([^)]*)/i,Xa=/^(none|table(?!-c[ea]).+)/,Ya=new RegExp("^("+T+")(.*)$","i"),Za={position:"absolute",visibility:"hidden",display:"block"},$a={letterSpacing:"0",fontWeight:"400"},_a=["Webkit","O","Moz","ms"],ab=d.createElement("div").style;function bb(a){if(a in ab)return a;var b=a.charAt(0).toUpperCase()+a.slice(1),c=_a.length;while(c--)if(a=_a[c]+b,a in ab)return a}function cb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&W(d)&&(f[g]=n._data(d,"olddisplay",Ma(d.nodeName)))):(e=W(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function db(a,b,c){var d=Ya.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function eb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+V[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+V[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+V[f]+"Width",!0,e))):(g+=n.css(a,"padding"+V[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+V[f]+"Width",!0,e)));return g}function fb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ra(a),g=l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Sa(a,b,f),(0>e||null==e)&&(e=a.style[b]),Oa.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+eb(a,b,c||(g?"border":"content"),d,f)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Sa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=U.exec(c))&&e[1]&&(c=X(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Sa(a,b,d)),"normal"===f&&b in $a&&(f=$a[b]),""===c||c?(e=parseFloat(f),c===!0||isFinite(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Xa.test(n.css(a,"display"))&&0===a.offsetWidth?Pa(a,Za,function(){return fb(a,b,d)}):fb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ra(a);return db(a,c,d?eb(a,b,d,l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Wa.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Va,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Va.test(f)?f.replace(Va,e):f+" "+e)}}),n.cssHooks.marginRight=Ua(l.reliableMarginRight,function(a,b){return b?Pa(a,{display:"inline-block"},Sa,[a,"marginRight"]):void 0}),n.cssHooks.marginLeft=Ua(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Sa(a,"marginLeft"))||(n.contains(a.ownerDocument,a)?a.getBoundingClientRect().left-Pa(a,{ +marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px":void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+V[d]+b]=f[d]||f[d-2]||f[0];return e}},Na.test(a)||(n.cssHooks[a+b].set=db)}),n.fn.extend({css:function(a,b){return Y(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ra(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return cb(this,!0)},hide:function(){return cb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){W(this)?n(this).show():n(this).hide()})}});function gb(a,b,c,d,e){return new gb.prototype.init(a,b,c,d,e)}n.Tween=gb,gb.prototype={constructor:gb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=gb.propHooks[this.prop];return a&&a.get?a.get(this):gb.propHooks._default.get(this)},run:function(a){var b,c=gb.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):gb.propHooks._default.set(this),this}},gb.prototype.init.prototype=gb.prototype,gb.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},gb.propHooks.scrollTop=gb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=gb.prototype.init,n.fx.step={};var hb,ib,jb=/^(?:toggle|show|hide)$/,kb=/queueHooks$/;function lb(){return a.setTimeout(function(){hb=void 0}),hb=n.now()}function mb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=V[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function nb(a,b,c){for(var d,e=(qb.tweeners[b]||[]).concat(qb.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ob(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&W(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k="none"===j?n._data(a,"olddisplay")||Ma(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==Ma(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],jb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(o))"inline"===("none"===j?Ma(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=nb(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function pb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function qb(a,b,c){var d,e,f=0,g=qb.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=hb||lb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:hb||lb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(pb(k,j.opts.specialEasing);g>f;f++)if(d=qb.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,nb,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(qb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return X(c.elem,a,U.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],qb.tweeners[c]=qb.tweeners[c]||[],qb.tweeners[c].unshift(b)},prefilters:[ob],prefilter:function(a,b){b?qb.prefilters.unshift(a):qb.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(W).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=qb(this,n.extend({},a),f);(e||n._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&kb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(mb(b,!0),a,d,e)}}),n.each({slideDown:mb("show"),slideUp:mb("hide"),slideToggle:mb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(hb=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),hb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ib||(ib=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(ib),ib=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a,b=d.createElement("input"),c=d.createElement("div"),e=d.createElement("select"),f=e.appendChild(d.createElement("option"));c=d.createElement("div"),c.setAttribute("className","t"),c.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],b.setAttribute("type","checkbox"),c.appendChild(b),a=c.getElementsByTagName("a")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==c.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=f.selected,l.enctype=!!d.createElement("form").enctype,e.disabled=!0,l.optDisabled=!f.disabled,b=d.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value}();var rb=/\r/g,sb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(sb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>-1)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var tb,ub,vb=n.expr.attrHandle,wb=/^(?:checked|selected)$/i,xb=l.getSetAttribute,yb=l.input;n.fn.extend({attr:function(a,b){return Y(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ub:tb)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?yb&&xb||!wb.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(xb?c:d)}}),ub={set:function(a,b,c){return b===!1?n.removeAttr(a,c):yb&&xb||!wb.test(c)?a.setAttribute(!xb&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=vb[b]||n.find.attr;yb&&xb||!wb.test(b)?vb[b]=function(a,b,d){var e,f;return d||(f=vb[b],vb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,vb[b]=f),e}:vb[b]=function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),yb&&xb||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):tb&&tb.set(a,b,c)}}),xb||(tb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},vb.id=vb.name=vb.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:tb.set},n.attrHooks.contenteditable={set:function(a,b,c){tb.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var zb=/^(?:input|select|textarea|button|object)$/i,Ab=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return Y(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):zb.test(a.nodeName)||Ab.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var Bb=/[\t\r\n\f]/g;function Cb(a){return n.attr(a,"class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,Cb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,Cb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,Cb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=Cb(this),b&&n._data(this,"__className__",b),n.attr(this,"class",b||a===!1?"":n._data(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+Cb(c)+" ").replace(Bb," ").indexOf(b)>-1)return!0;return!1}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Db=a.location,Eb=n.now(),Fb=/\?/,Gb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(Gb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new a.DOMParser,c=d.parseFromString(b,"text/xml")):(c=new a.ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var Hb=/#.*$/,Ib=/([?&])_=[^&]*/,Jb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Kb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Lb=/^(?:GET|HEAD)$/,Mb=/^\/\//,Nb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ob={},Pb={},Qb="*/".concat("*"),Rb=Db.href,Sb=Nb.exec(Rb.toLowerCase())||[];function Tb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Ub(a,b,c,d){var e={},f=a===Pb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Vb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Wb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Xb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Rb,type:"GET",isLocal:Kb.test(Sb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Qb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Vb(Vb(a,n.ajaxSettings),b):Vb(n.ajaxSettings,a)},ajaxPrefilter:Tb(Ob),ajaxTransport:Tb(Pb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var d,e,f,g,h,i,j,k,l=n.ajaxSetup({},c),m=l.context||l,o=l.context&&(m.nodeType||m.jquery)?n(m):n.event,p=n.Deferred(),q=n.Callbacks("once memory"),r=l.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!k){k={};while(b=Jb.exec(g))k[b[1].toLowerCase()]=b[2]}b=k[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return j&&j.abort(b),y(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,l.url=((b||l.url||Rb)+"").replace(Hb,"").replace(Mb,Sb[1]+"//"),l.type=c.method||c.type||l.method||l.type,l.dataTypes=n.trim(l.dataType||"*").toLowerCase().match(G)||[""],null==l.crossDomain&&(d=Nb.exec(l.url.toLowerCase()),l.crossDomain=!(!d||d[1]===Sb[1]&&d[2]===Sb[2]&&(d[3]||("http:"===d[1]?"80":"443"))===(Sb[3]||("http:"===Sb[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=n.param(l.data,l.traditional)),Ub(Ob,l,c,w),2===u)return w;i=n.event&&l.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!Lb.test(l.type),f=l.url,l.hasContent||(l.data&&(f=l.url+=(Fb.test(f)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=Ib.test(f)?f.replace(Ib,"$1_="+Eb++):f+(Fb.test(f)?"&":"?")+"_="+Eb++)),l.ifModified&&(n.lastModified[f]&&w.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&w.setRequestHeader("If-None-Match",n.etag[f])),(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",l.contentType),w.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Qb+"; q=0.01":""):l.accepts["*"]);for(e in l.headers)w.setRequestHeader(e,l.headers[e]);if(l.beforeSend&&(l.beforeSend.call(m,w,l)===!1||2===u))return w.abort();v="abort";for(e in{success:1,error:1,complete:1})w[e](l[e]);if(j=Ub(Pb,l,c,w)){if(w.readyState=1,i&&o.trigger("ajaxSend",[w,l]),2===u)return w;l.async&&l.timeout>0&&(h=a.setTimeout(function(){w.abort("timeout")},l.timeout));try{u=1,j.send(s,y)}catch(x){if(!(2>u))throw x;y(-1,x)}}else y(-1,"No Transport");function y(b,c,d,e){var k,s,t,v,x,y=c;2!==u&&(u=2,h&&a.clearTimeout(h),j=void 0,g=e||"",w.readyState=b>0?4:0,k=b>=200&&300>b||304===b,d&&(v=Wb(l,w,d)),v=Xb(l,v,w,k),k?(l.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(n.lastModified[f]=x),x=w.getResponseHeader("etag"),x&&(n.etag[f]=x)),204===b||"HEAD"===l.type?y="nocontent":304===b?y="notmodified":(y=v.state,s=v.data,t=v.error,k=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),w.status=b,w.statusText=(c||y)+"",k?p.resolveWith(m,[s,y,w]):p.rejectWith(m,[w,y,t]),w.statusCode(r),r=void 0,i&&o.trigger(k?"ajaxSuccess":"ajaxError",[w,l,k?s:t]),q.fireWith(m,[w,y]),i&&(o.trigger("ajaxComplete",[w,l]),--n.active||n.event.trigger("ajaxStop")))}return w},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}});function Yb(a){return a.style&&a.style.display||n.css(a,"display")}function Zb(a){if(!n.contains(a.ownerDocument||d,a))return!0;while(a&&1===a.nodeType){if("none"===Yb(a)||"hidden"===a.type)return!0;a=a.parentNode}return!1}n.expr.filters.hidden=function(a){return l.reliableHiddenOffsets()?a.offsetWidth<=0&&a.offsetHeight<=0&&!a.getClientRects().length:Zb(a)},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var $b=/%20/g,_b=/\[\]$/,ac=/\r?\n/g,bc=/^(?:submit|button|image|reset|file)$/i,cc=/^(?:input|select|textarea|keygen)/i;function dc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||_b.test(a)?d(a,e):dc(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)dc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)dc(c,a[c],b,e);return d.join("&").replace($b,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&cc.test(this.nodeName)&&!bc.test(a)&&(this.checked||!Z.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(ac,"\r\n")}}):{name:b.name,value:c.replace(ac,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return this.isLocal?ic():d.documentMode>8?hc():/^(get|post|head|put|delete|options)$/i.test(this.type)&&hc()||ic()}:hc;var ec=0,fc={},gc=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in fc)fc[a](void 0,!0)}),l.cors=!!gc&&"withCredentials"in gc,gc=l.ajax=!!gc,gc&&n.ajaxTransport(function(b){if(!b.crossDomain||l.cors){var c;return{send:function(d,e){var f,g=b.xhr(),h=++ec;if(g.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(f in b.xhrFields)g[f]=b.xhrFields[f];b.mimeType&&g.overrideMimeType&&g.overrideMimeType(b.mimeType),b.crossDomain||d["X-Requested-With"]||(d["X-Requested-With"]="XMLHttpRequest");for(f in d)void 0!==d[f]&&g.setRequestHeader(f,d[f]+"");g.send(b.hasContent&&b.data||null),c=function(a,d){var f,i,j;if(c&&(d||4===g.readyState))if(delete fc[h],c=void 0,g.onreadystatechange=n.noop,d)4!==g.readyState&&g.abort();else{j={},f=g.status,"string"==typeof g.responseText&&(j.text=g.responseText);try{i=g.statusText}catch(k){i=""}f||!b.isLocal||b.crossDomain?1223===f&&(f=204):f=j.text?200:404}j&&e(f,i,j,g.getAllResponseHeaders())},b.async?4===g.readyState?a.setTimeout(c):g.onreadystatechange=fc[h]=c:c()},abort:function(){c&&c(void 0,!0)}}}});function hc(){try{return new a.XMLHttpRequest}catch(b){}}function ic(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=d.head||n("head")[0]||d.documentElement;return{send:function(e,f){b=d.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||f(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var jc=[],kc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=jc.pop()||n.expando+"_"+Eb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(kc.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&kc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(kc,"$1"+e):b.jsonp!==!1&&(b.url+=(Fb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,jc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ja([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var lc=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&lc)return lc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h,a.length)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function mc(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?("undefined"!=typeof e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=mc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Qa})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return Y(this,function(a,d,e){var f=mc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ua(l.pixelPosition,function(a,c){return c?(c=Sa(a,b),Oa.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({ +padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var nc=a.jQuery,oc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=oc),b&&a.jQuery===n&&(a.jQuery=nc),n},b||(a.jQuery=a.$=n),n}); Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/jquery-1.12.4.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/showModalDialogCallee.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/showModalDialogCallee.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/showModalDialogCallee.js (revision 7) @@ -0,0 +1,69 @@ +/**************************************************************** + * + * 파일명 : showModalDialogCallee.js + * 설 명 : showModalDialog 기능을 대체하는 JavaScript + * + * 수정일 수정자 Version Function 명 + * ------------ --------- ------------- ---------------------------- + * 2014.09.25 Vincent Han 1.0 최초생성 + * + */ + +//---------------------- +//popped up page +//---------------------- +function getDialogArguments() { + + if (!window.showModalDialog) { + if (opener != null && !opener.closed) { + try { + window.dialogArguments = opener.getDialogArgumentsInner(); + } catch (err) { + alert('팝업 처리 시 오류가 발생하였습니다. \n오류내용 : ' + err); + } + } else if (parent.opener != null && !parent.opener.closed) { + try { + window.dialogArguments = parent.opener.getDialogArgumentsInner(); + parent.window.dialogArguments = window.dialogArguments; + } catch (err) { + alert('팝업 처리 시 오류가 발생하였습니다. \n오류내용 : ' + err); + } + } else { + alert('업무 화면에 대한 변동이 있습니다. 다시 시도해 주십시오.'); + } + } +} + +function setReturnValue(obj) { + if (!window.showModalDialog) { + if (opener != null && !opener.closed) { + + var callbackMethod = opener.getCallbackMethodName(); + + try { + if (callbackMethod != null) { + opener[callbackMethod](obj); + } else { + opener.showModalDialogCallback(obj); + } + } catch (err) { + alert('팝업 처리 시 오류가 발생하였습니다. \n오류내용 : ' + err); + } + } else if (parent.opener != null && !parent.opener.closed) { + + var callbackMethod = parent.opener.getCallbackMethodName(); + + try { + if (callbackMethod != null) { + parent.opener[callbackMethod](obj); + } else { + parent.opener.showModalDialogCallback(obj); + } + } catch (err) { + alert('팝업 처리 시 오류가 발생하였습니다. \n오류내용 : ' + err); + } + } else { + alert('업무 화면에 대한 변동이 있습니다. 다시 시도해 주십시오.'); + } + } +} \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/showModalDialogCallee.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/jqueryui.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/jqueryui.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/jqueryui.js (revision 7) @@ -0,0 +1,18706 @@ +/*! jQuery UI - v1.12.1 - 2016-09-14 +* http://jqueryui.com +* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +(function( factory ) { + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define([ "jquery" ], factory ); + } else { + + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.ui = $.ui || {}; + +var version = $.ui.version = "1.12.1"; + + +/*! + * jQuery UI Widget 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Widget +//>>group: Core +//>>description: Provides a factory for creating stateful widgets with a common API. +//>>docs: http://api.jqueryui.com/jQuery.widget/ +//>>demos: http://jqueryui.com/widget/ + + + +var widgetUuid = 0; +var widgetSlice = Array.prototype.slice; + +$.cleanData = ( function( orig ) { + return function( elems ) { + var events, elem, i; + for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) { + try { + + // Only trigger remove when necessary to save time + events = $._data( elem, "events" ); + if ( events && events.remove ) { + $( elem ).triggerHandler( "remove" ); + } + + // Http://bugs.jquery.com/ticket/8235 + } catch ( e ) {} + } + orig( elems ); + }; +} )( $.cleanData ); + +$.widget = function( name, base, prototype ) { + var existingConstructor, constructor, basePrototype; + + // ProxiedPrototype allows the provided prototype to remain unmodified + // so that it can be used as a mixin for multiple widgets (#8876) + var proxiedPrototype = {}; + + var namespace = name.split( "." )[ 0 ]; + name = name.split( "." )[ 1 ]; + var fullName = namespace + "-" + name; + + if ( !prototype ) { + prototype = base; + base = $.Widget; + } + + if ( $.isArray( prototype ) ) { + prototype = $.extend.apply( null, [ {} ].concat( prototype ) ); + } + + // Create selector for plugin + $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { + return !!$.data( elem, fullName ); + }; + + $[ namespace ] = $[ namespace ] || {}; + existingConstructor = $[ namespace ][ name ]; + constructor = $[ namespace ][ name ] = function( options, element ) { + + // Allow instantiation without "new" keyword + if ( !this._createWidget ) { + return new constructor( options, element ); + } + + // Allow instantiation without initializing for simple inheritance + // must use "new" keyword (the code above always passes args) + if ( arguments.length ) { + this._createWidget( options, element ); + } + }; + + // Extend with the existing constructor to carry over any static properties + $.extend( constructor, existingConstructor, { + version: prototype.version, + + // Copy the object used to create the prototype in case we need to + // redefine the widget later + _proto: $.extend( {}, prototype ), + + // Track widgets that inherit from this widget in case this widget is + // redefined after a widget inherits from it + _childConstructors: [] + } ); + + basePrototype = new base(); + + // We need to make the options hash a property directly on the new instance + // otherwise we'll modify the options hash on the prototype that we're + // inheriting from + basePrototype.options = $.widget.extend( {}, basePrototype.options ); + $.each( prototype, function( prop, value ) { + if ( !$.isFunction( value ) ) { + proxiedPrototype[ prop ] = value; + return; + } + proxiedPrototype[ prop ] = ( function() { + function _super() { + return base.prototype[ prop ].apply( this, arguments ); + } + + function _superApply( args ) { + return base.prototype[ prop ].apply( this, args ); + } + + return function() { + var __super = this._super; + var __superApply = this._superApply; + var returnValue; + + this._super = _super; + this._superApply = _superApply; + + returnValue = value.apply( this, arguments ); + + this._super = __super; + this._superApply = __superApply; + + return returnValue; + }; + } )(); + } ); + constructor.prototype = $.widget.extend( basePrototype, { + + // TODO: remove support for widgetEventPrefix + // always use the name + a colon as the prefix, e.g., draggable:start + // don't prefix for widgets that aren't DOM-based + widgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name + }, proxiedPrototype, { + constructor: constructor, + namespace: namespace, + widgetName: name, + widgetFullName: fullName + } ); + + // If this widget is being redefined then we need to find all widgets that + // are inheriting from it and redefine all of them so that they inherit from + // the new version of this widget. We're essentially trying to replace one + // level in the prototype chain. + if ( existingConstructor ) { + $.each( existingConstructor._childConstructors, function( i, child ) { + var childPrototype = child.prototype; + + // Redefine the child widget using the same prototype that was + // originally used, but inherit from the new version of the base + $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, + child._proto ); + } ); + + // Remove the list of existing child constructors from the old constructor + // so the old child constructors can be garbage collected + delete existingConstructor._childConstructors; + } else { + base._childConstructors.push( constructor ); + } + + $.widget.bridge( name, constructor ); + + return constructor; +}; + +$.widget.extend = function( target ) { + var input = widgetSlice.call( arguments, 1 ); + var inputIndex = 0; + var inputLength = input.length; + var key; + var value; + + for ( ; inputIndex < inputLength; inputIndex++ ) { + for ( key in input[ inputIndex ] ) { + value = input[ inputIndex ][ key ]; + if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { + + // Clone objects + if ( $.isPlainObject( value ) ) { + target[ key ] = $.isPlainObject( target[ key ] ) ? + $.widget.extend( {}, target[ key ], value ) : + + // Don't extend strings, arrays, etc. with objects + $.widget.extend( {}, value ); + + // Copy everything else by reference + } else { + target[ key ] = value; + } + } + } + } + return target; +}; + +$.widget.bridge = function( name, object ) { + var fullName = object.prototype.widgetFullName || name; + $.fn[ name ] = function( options ) { + var isMethodCall = typeof options === "string"; + var args = widgetSlice.call( arguments, 1 ); + var returnValue = this; + + if ( isMethodCall ) { + + // If this is an empty collection, we need to have the instance method + // return undefined instead of the jQuery instance + if ( !this.length && options === "instance" ) { + returnValue = undefined; + } else { + this.each( function() { + var methodValue; + var instance = $.data( this, fullName ); + + if ( options === "instance" ) { + returnValue = instance; + return false; + } + + if ( !instance ) { + return $.error( "cannot call methods on " + name + + " prior to initialization; " + + "attempted to call method '" + options + "'" ); + } + + if ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === "_" ) { + return $.error( "no such method '" + options + "' for " + name + + " widget instance" ); + } + + methodValue = instance[ options ].apply( instance, args ); + + if ( methodValue !== instance && methodValue !== undefined ) { + returnValue = methodValue && methodValue.jquery ? + returnValue.pushStack( methodValue.get() ) : + methodValue; + return false; + } + } ); + } + } else { + + // Allow multiple hashes to be passed on init + if ( args.length ) { + options = $.widget.extend.apply( null, [ options ].concat( args ) ); + } + + this.each( function() { + var instance = $.data( this, fullName ); + if ( instance ) { + instance.option( options || {} ); + if ( instance._init ) { + instance._init(); + } + } else { + $.data( this, fullName, new object( options, this ) ); + } + } ); + } + + return returnValue; + }; +}; + +$.Widget = function( /* options, element */ ) {}; +$.Widget._childConstructors = []; + +$.Widget.prototype = { + widgetName: "widget", + widgetEventPrefix: "", + defaultElement: "<div>", + + options: { + classes: {}, + disabled: false, + + // Callbacks + create: null + }, + + _createWidget: function( options, element ) { + element = $( element || this.defaultElement || this )[ 0 ]; + this.element = $( element ); + this.uuid = widgetUuid++; + this.eventNamespace = "." + this.widgetName + this.uuid; + + this.bindings = $(); + this.hoverable = $(); + this.focusable = $(); + this.classesElementLookup = {}; + + if ( element !== this ) { + $.data( element, this.widgetFullName, this ); + this._on( true, this.element, { + remove: function( event ) { + if ( event.target === element ) { + this.destroy(); + } + } + } ); + this.document = $( element.style ? + + // Element within the document + element.ownerDocument : + + // Element is window or document + element.document || element ); + this.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow ); + } + + this.options = $.widget.extend( {}, + this.options, + this._getCreateOptions(), + options ); + + this._create(); + + if ( this.options.disabled ) { + this._setOptionDisabled( this.options.disabled ); + } + + this._trigger( "create", null, this._getCreateEventData() ); + this._init(); + }, + + _getCreateOptions: function() { + return {}; + }, + + _getCreateEventData: $.noop, + + _create: $.noop, + + _init: $.noop, + + destroy: function() { + var that = this; + + this._destroy(); + $.each( this.classesElementLookup, function( key, value ) { + that._removeClass( value, key ); + } ); + + // We can probably remove the unbind calls in 2.0 + // all event bindings should go through this._on() + this.element + .off( this.eventNamespace ) + .removeData( this.widgetFullName ); + this.widget() + .off( this.eventNamespace ) + .removeAttr( "aria-disabled" ); + + // Clean up events and states + this.bindings.off( this.eventNamespace ); + }, + + _destroy: $.noop, + + widget: function() { + return this.element; + }, + + option: function( key, value ) { + var options = key; + var parts; + var curOption; + var i; + + if ( arguments.length === 0 ) { + + // Don't return a reference to the internal hash + return $.widget.extend( {}, this.options ); + } + + if ( typeof key === "string" ) { + + // Handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } + options = {}; + parts = key.split( "." ); + key = parts.shift(); + if ( parts.length ) { + curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); + for ( i = 0; i < parts.length - 1; i++ ) { + curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; + curOption = curOption[ parts[ i ] ]; + } + key = parts.pop(); + if ( arguments.length === 1 ) { + return curOption[ key ] === undefined ? null : curOption[ key ]; + } + curOption[ key ] = value; + } else { + if ( arguments.length === 1 ) { + return this.options[ key ] === undefined ? null : this.options[ key ]; + } + options[ key ] = value; + } + } + + this._setOptions( options ); + + return this; + }, + + _setOptions: function( options ) { + var key; + + for ( key in options ) { + this._setOption( key, options[ key ] ); + } + + return this; + }, + + _setOption: function( key, value ) { + if ( key === "classes" ) { + this._setOptionClasses( value ); + } + + this.options[ key ] = value; + + if ( key === "disabled" ) { + this._setOptionDisabled( value ); + } + + return this; + }, + + _setOptionClasses: function( value ) { + var classKey, elements, currentElements; + + for ( classKey in value ) { + currentElements = this.classesElementLookup[ classKey ]; + if ( value[ classKey ] === this.options.classes[ classKey ] || + !currentElements || + !currentElements.length ) { + continue; + } + + // We are doing this to create a new jQuery object because the _removeClass() call + // on the next line is going to destroy the reference to the current elements being + // tracked. We need to save a copy of this collection so that we can add the new classes + // below. + elements = $( currentElements.get() ); + this._removeClass( currentElements, classKey ); + + // We don't use _addClass() here, because that uses this.options.classes + // for generating the string of classes. We want to use the value passed in from + // _setOption(), this is the new value of the classes option which was passed to + // _setOption(). We pass this value directly to _classes(). + elements.addClass( this._classes( { + element: elements, + keys: classKey, + classes: value, + add: true + } ) ); + } + }, + + _setOptionDisabled: function( value ) { + this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, !!value ); + + // If the widget is becoming disabled, then nothing is interactive + if ( value ) { + this._removeClass( this.hoverable, null, "ui-state-hover" ); + this._removeClass( this.focusable, null, "ui-state-focus" ); + } + }, + + enable: function() { + return this._setOptions( { disabled: false } ); + }, + + disable: function() { + return this._setOptions( { disabled: true } ); + }, + + _classes: function( options ) { + var full = []; + var that = this; + + options = $.extend( { + element: this.element, + classes: this.options.classes || {} + }, options ); + + function processClassString( classes, checkOption ) { + var current, i; + for ( i = 0; i < classes.length; i++ ) { + current = that.classesElementLookup[ classes[ i ] ] || $(); + if ( options.add ) { + current = $( $.unique( current.get().concat( options.element.get() ) ) ); + } else { + current = $( current.not( options.element ).get() ); + } + that.classesElementLookup[ classes[ i ] ] = current; + full.push( classes[ i ] ); + if ( checkOption && options.classes[ classes[ i ] ] ) { + full.push( options.classes[ classes[ i ] ] ); + } + } + } + + this._on( options.element, { + "remove": "_untrackClassesElement" + } ); + + if ( options.keys ) { + processClassString( options.keys.match( /\S+/g ) || [], true ); + } + if ( options.extra ) { + processClassString( options.extra.match( /\S+/g ) || [] ); + } + + return full.join( " " ); + }, + + _untrackClassesElement: function( event ) { + var that = this; + $.each( that.classesElementLookup, function( key, value ) { + if ( $.inArray( event.target, value ) !== -1 ) { + that.classesElementLookup[ key ] = $( value.not( event.target ).get() ); + } + } ); + }, + + _removeClass: function( element, keys, extra ) { + return this._toggleClass( element, keys, extra, false ); + }, + + _addClass: function( element, keys, extra ) { + return this._toggleClass( element, keys, extra, true ); + }, + + _toggleClass: function( element, keys, extra, add ) { + add = ( typeof add === "boolean" ) ? add : extra; + var shift = ( typeof element === "string" || element === null ), + options = { + extra: shift ? keys : extra, + keys: shift ? element : keys, + element: shift ? this.element : element, + add: add + }; + options.element.toggleClass( this._classes( options ), add ); + return this; + }, + + _on: function( suppressDisabledCheck, element, handlers ) { + var delegateElement; + var instance = this; + + // No suppressDisabledCheck flag, shuffle arguments + if ( typeof suppressDisabledCheck !== "boolean" ) { + handlers = element; + element = suppressDisabledCheck; + suppressDisabledCheck = false; + } + + // No element argument, shuffle and use this.element + if ( !handlers ) { + handlers = element; + element = this.element; + delegateElement = this.widget(); + } else { + element = delegateElement = $( element ); + this.bindings = this.bindings.add( element ); + } + + $.each( handlers, function( event, handler ) { + function handlerProxy() { + + // Allow widgets to customize the disabled handling + // - disabled as an array instead of boolean + // - disabled class as method for disabling individual parts + if ( !suppressDisabledCheck && + ( instance.options.disabled === true || + $( this ).hasClass( "ui-state-disabled" ) ) ) { + return; + } + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); + } + + // Copy the guid so direct unbinding works + if ( typeof handler !== "string" ) { + handlerProxy.guid = handler.guid = + handler.guid || handlerProxy.guid || $.guid++; + } + + var match = event.match( /^([\w:-]*)\s*(.*)$/ ); + var eventName = match[ 1 ] + instance.eventNamespace; + var selector = match[ 2 ]; + + if ( selector ) { + delegateElement.on( eventName, selector, handlerProxy ); + } else { + element.on( eventName, handlerProxy ); + } + } ); + }, + + _off: function( element, eventName ) { + eventName = ( eventName || "" ).split( " " ).join( this.eventNamespace + " " ) + + this.eventNamespace; + element.off( eventName ).off( eventName ); + + // Clear the stack to avoid memory leaks (#10056) + this.bindings = $( this.bindings.not( element ).get() ); + this.focusable = $( this.focusable.not( element ).get() ); + this.hoverable = $( this.hoverable.not( element ).get() ); + }, + + _delay: function( handler, delay ) { + function handlerProxy() { + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); + } + var instance = this; + return setTimeout( handlerProxy, delay || 0 ); + }, + + _hoverable: function( element ) { + this.hoverable = this.hoverable.add( element ); + this._on( element, { + mouseenter: function( event ) { + this._addClass( $( event.currentTarget ), null, "ui-state-hover" ); + }, + mouseleave: function( event ) { + this._removeClass( $( event.currentTarget ), null, "ui-state-hover" ); + } + } ); + }, + + _focusable: function( element ) { + this.focusable = this.focusable.add( element ); + this._on( element, { + focusin: function( event ) { + this._addClass( $( event.currentTarget ), null, "ui-state-focus" ); + }, + focusout: function( event ) { + this._removeClass( $( event.currentTarget ), null, "ui-state-focus" ); + } + } ); + }, + + _trigger: function( type, event, data ) { + var prop, orig; + var callback = this.options[ type ]; + + data = data || {}; + event = $.Event( event ); + event.type = ( type === this.widgetEventPrefix ? + type : + this.widgetEventPrefix + type ).toLowerCase(); + + // The original event may come from any element + // so we need to reset the target on the new event + event.target = this.element[ 0 ]; + + // Copy original event properties over to the new event + orig = event.originalEvent; + if ( orig ) { + for ( prop in orig ) { + if ( !( prop in event ) ) { + event[ prop ] = orig[ prop ]; + } + } + } + + this.element.trigger( event, data ); + return !( $.isFunction( callback ) && + callback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false || + event.isDefaultPrevented() ); + } +}; + +$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { + $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { + if ( typeof options === "string" ) { + options = { effect: options }; + } + + var hasOptions; + var effectName = !options ? + method : + options === true || typeof options === "number" ? + defaultEffect : + options.effect || defaultEffect; + + options = options || {}; + if ( typeof options === "number" ) { + options = { duration: options }; + } + + hasOptions = !$.isEmptyObject( options ); + options.complete = callback; + + if ( options.delay ) { + element.delay( options.delay ); + } + + if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { + element[ method ]( options ); + } else if ( effectName !== method && element[ effectName ] ) { + element[ effectName ]( options.duration, options.easing, callback ); + } else { + element.queue( function( next ) { + $( this )[ method ](); + if ( callback ) { + callback.call( element[ 0 ] ); + } + next(); + } ); + } + }; +} ); + +var widget = $.widget; + + +/*! + * jQuery UI Position 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/position/ + */ + +//>>label: Position +//>>group: Core +//>>description: Positions elements relative to other elements. +//>>docs: http://api.jqueryui.com/position/ +//>>demos: http://jqueryui.com/position/ + + +( function() { +var cachedScrollbarWidth, + max = Math.max, + abs = Math.abs, + rhorizontal = /left|center|right/, + rvertical = /top|center|bottom/, + roffset = /[\+\-]\d+(\.[\d]+)?%?/, + rposition = /^\w+/, + rpercent = /%$/, + _position = $.fn.position; + +function getOffsets( offsets, width, height ) { + return [ + parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ), + parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 ) + ]; +} + +function parseCss( element, property ) { + return parseInt( $.css( element, property ), 10 ) || 0; +} + +function getDimensions( elem ) { + var raw = elem[ 0 ]; + if ( raw.nodeType === 9 ) { + return { + width: elem.width(), + height: elem.height(), + offset: { top: 0, left: 0 } + }; + } + if ( $.isWindow( raw ) ) { + return { + width: elem.width(), + height: elem.height(), + offset: { top: elem.scrollTop(), left: elem.scrollLeft() } + }; + } + if ( raw.preventDefault ) { + return { + width: 0, + height: 0, + offset: { top: raw.pageY, left: raw.pageX } + }; + } + return { + width: elem.outerWidth(), + height: elem.outerHeight(), + offset: elem.offset() + }; +} + +$.position = { + scrollbarWidth: function() { + if ( cachedScrollbarWidth !== undefined ) { + return cachedScrollbarWidth; + } + var w1, w2, + div = $( "<div " + + "style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>" + + "<div style='height:100px;width:auto;'></div></div>" ), + innerDiv = div.children()[ 0 ]; + + $( "body" ).append( div ); + w1 = innerDiv.offsetWidth; + div.css( "overflow", "scroll" ); + + w2 = innerDiv.offsetWidth; + + if ( w1 === w2 ) { + w2 = div[ 0 ].clientWidth; + } + + div.remove(); + + return ( cachedScrollbarWidth = w1 - w2 ); + }, + getScrollInfo: function( within ) { + var overflowX = within.isWindow || within.isDocument ? "" : + within.element.css( "overflow-x" ), + overflowY = within.isWindow || within.isDocument ? "" : + within.element.css( "overflow-y" ), + hasOverflowX = overflowX === "scroll" || + ( overflowX === "auto" && within.width < within.element[ 0 ].scrollWidth ), + hasOverflowY = overflowY === "scroll" || + ( overflowY === "auto" && within.height < within.element[ 0 ].scrollHeight ); + return { + width: hasOverflowY ? $.position.scrollbarWidth() : 0, + height: hasOverflowX ? $.position.scrollbarWidth() : 0 + }; + }, + getWithinInfo: function( element ) { + var withinElement = $( element || window ), + isWindow = $.isWindow( withinElement[ 0 ] ), + isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9, + hasOffset = !isWindow && !isDocument; + return { + element: withinElement, + isWindow: isWindow, + isDocument: isDocument, + offset: hasOffset ? $( element ).offset() : { left: 0, top: 0 }, + scrollLeft: withinElement.scrollLeft(), + scrollTop: withinElement.scrollTop(), + width: withinElement.outerWidth(), + height: withinElement.outerHeight() + }; + } +}; + +$.fn.position = function( options ) { + if ( !options || !options.of ) { + return _position.apply( this, arguments ); + } + + // Make a copy, we don't want to modify arguments + options = $.extend( {}, options ); + + var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions, + target = $( options.of ), + within = $.position.getWithinInfo( options.within ), + scrollInfo = $.position.getScrollInfo( within ), + collision = ( options.collision || "flip" ).split( " " ), + offsets = {}; + + dimensions = getDimensions( target ); + if ( target[ 0 ].preventDefault ) { + + // Force left top to allow flipping + options.at = "left top"; + } + targetWidth = dimensions.width; + targetHeight = dimensions.height; + targetOffset = dimensions.offset; + + // Clone to reuse original targetOffset later + basePosition = $.extend( {}, targetOffset ); + + // Force my and at to have valid horizontal and vertical positions + // if a value is missing or invalid, it will be converted to center + $.each( [ "my", "at" ], function() { + var pos = ( options[ this ] || "" ).split( " " ), + horizontalOffset, + verticalOffset; + + if ( pos.length === 1 ) { + pos = rhorizontal.test( pos[ 0 ] ) ? + pos.concat( [ "center" ] ) : + rvertical.test( pos[ 0 ] ) ? + [ "center" ].concat( pos ) : + [ "center", "center" ]; + } + pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center"; + pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center"; + + // Calculate offsets + horizontalOffset = roffset.exec( pos[ 0 ] ); + verticalOffset = roffset.exec( pos[ 1 ] ); + offsets[ this ] = [ + horizontalOffset ? horizontalOffset[ 0 ] : 0, + verticalOffset ? verticalOffset[ 0 ] : 0 + ]; + + // Reduce to just the positions without the offsets + options[ this ] = [ + rposition.exec( pos[ 0 ] )[ 0 ], + rposition.exec( pos[ 1 ] )[ 0 ] + ]; + } ); + + // Normalize collision option + if ( collision.length === 1 ) { + collision[ 1 ] = collision[ 0 ]; + } + + if ( options.at[ 0 ] === "right" ) { + basePosition.left += targetWidth; + } else if ( options.at[ 0 ] === "center" ) { + basePosition.left += targetWidth / 2; + } + + if ( options.at[ 1 ] === "bottom" ) { + basePosition.top += targetHeight; + } else if ( options.at[ 1 ] === "center" ) { + basePosition.top += targetHeight / 2; + } + + atOffset = getOffsets( offsets.at, targetWidth, targetHeight ); + basePosition.left += atOffset[ 0 ]; + basePosition.top += atOffset[ 1 ]; + + return this.each( function() { + var collisionPosition, using, + elem = $( this ), + elemWidth = elem.outerWidth(), + elemHeight = elem.outerHeight(), + marginLeft = parseCss( this, "marginLeft" ), + marginTop = parseCss( this, "marginTop" ), + collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + + scrollInfo.width, + collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + + scrollInfo.height, + position = $.extend( {}, basePosition ), + myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() ); + + if ( options.my[ 0 ] === "right" ) { + position.left -= elemWidth; + } else if ( options.my[ 0 ] === "center" ) { + position.left -= elemWidth / 2; + } + + if ( options.my[ 1 ] === "bottom" ) { + position.top -= elemHeight; + } else if ( options.my[ 1 ] === "center" ) { + position.top -= elemHeight / 2; + } + + position.left += myOffset[ 0 ]; + position.top += myOffset[ 1 ]; + + collisionPosition = { + marginLeft: marginLeft, + marginTop: marginTop + }; + + $.each( [ "left", "top" ], function( i, dir ) { + if ( $.ui.position[ collision[ i ] ] ) { + $.ui.position[ collision[ i ] ][ dir ]( position, { + targetWidth: targetWidth, + targetHeight: targetHeight, + elemWidth: elemWidth, + elemHeight: elemHeight, + collisionPosition: collisionPosition, + collisionWidth: collisionWidth, + collisionHeight: collisionHeight, + offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ], + my: options.my, + at: options.at, + within: within, + elem: elem + } ); + } + } ); + + if ( options.using ) { + + // Adds feedback as second argument to using callback, if present + using = function( props ) { + var left = targetOffset.left - position.left, + right = left + targetWidth - elemWidth, + top = targetOffset.top - position.top, + bottom = top + targetHeight - elemHeight, + feedback = { + target: { + element: target, + left: targetOffset.left, + top: targetOffset.top, + width: targetWidth, + height: targetHeight + }, + element: { + element: elem, + left: position.left, + top: position.top, + width: elemWidth, + height: elemHeight + }, + horizontal: right < 0 ? "left" : left > 0 ? "right" : "center", + vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle" + }; + if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) { + feedback.horizontal = "center"; + } + if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) { + feedback.vertical = "middle"; + } + if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) { + feedback.important = "horizontal"; + } else { + feedback.important = "vertical"; + } + options.using.call( this, props, feedback ); + }; + } + + elem.offset( $.extend( position, { using: using } ) ); + } ); +}; + +$.ui.position = { + fit: { + left: function( position, data ) { + var within = data.within, + withinOffset = within.isWindow ? within.scrollLeft : within.offset.left, + outerWidth = within.width, + collisionPosLeft = position.left - data.collisionPosition.marginLeft, + overLeft = withinOffset - collisionPosLeft, + overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset, + newOverRight; + + // Element is wider than within + if ( data.collisionWidth > outerWidth ) { + + // Element is initially over the left side of within + if ( overLeft > 0 && overRight <= 0 ) { + newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - + withinOffset; + position.left += overLeft - newOverRight; + + // Element is initially over right side of within + } else if ( overRight > 0 && overLeft <= 0 ) { + position.left = withinOffset; + + // Element is initially over both left and right sides of within + } else { + if ( overLeft > overRight ) { + position.left = withinOffset + outerWidth - data.collisionWidth; + } else { + position.left = withinOffset; + } + } + + // Too far left -> align with left edge + } else if ( overLeft > 0 ) { + position.left += overLeft; + + // Too far right -> align with right edge + } else if ( overRight > 0 ) { + position.left -= overRight; + + // Adjust based on position and margin + } else { + position.left = max( position.left - collisionPosLeft, position.left ); + } + }, + top: function( position, data ) { + var within = data.within, + withinOffset = within.isWindow ? within.scrollTop : within.offset.top, + outerHeight = data.within.height, + collisionPosTop = position.top - data.collisionPosition.marginTop, + overTop = withinOffset - collisionPosTop, + overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset, + newOverBottom; + + // Element is taller than within + if ( data.collisionHeight > outerHeight ) { + + // Element is initially over the top of within + if ( overTop > 0 && overBottom <= 0 ) { + newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - + withinOffset; + position.top += overTop - newOverBottom; + + // Element is initially over bottom of within + } else if ( overBottom > 0 && overTop <= 0 ) { + position.top = withinOffset; + + // Element is initially over both top and bottom of within + } else { + if ( overTop > overBottom ) { + position.top = withinOffset + outerHeight - data.collisionHeight; + } else { + position.top = withinOffset; + } + } + + // Too far up -> align with top + } else if ( overTop > 0 ) { + position.top += overTop; + + // Too far down -> align with bottom edge + } else if ( overBottom > 0 ) { + position.top -= overBottom; + + // Adjust based on position and margin + } else { + position.top = max( position.top - collisionPosTop, position.top ); + } + } + }, + flip: { + left: function( position, data ) { + var within = data.within, + withinOffset = within.offset.left + within.scrollLeft, + outerWidth = within.width, + offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left, + collisionPosLeft = position.left - data.collisionPosition.marginLeft, + overLeft = collisionPosLeft - offsetLeft, + overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft, + myOffset = data.my[ 0 ] === "left" ? + -data.elemWidth : + data.my[ 0 ] === "right" ? + data.elemWidth : + 0, + atOffset = data.at[ 0 ] === "left" ? + data.targetWidth : + data.at[ 0 ] === "right" ? + -data.targetWidth : + 0, + offset = -2 * data.offset[ 0 ], + newOverRight, + newOverLeft; + + if ( overLeft < 0 ) { + newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - + outerWidth - withinOffset; + if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) { + position.left += myOffset + atOffset + offset; + } + } else if ( overRight > 0 ) { + newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + + atOffset + offset - offsetLeft; + if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) { + position.left += myOffset + atOffset + offset; + } + } + }, + top: function( position, data ) { + var within = data.within, + withinOffset = within.offset.top + within.scrollTop, + outerHeight = within.height, + offsetTop = within.isWindow ? within.scrollTop : within.offset.top, + collisionPosTop = position.top - data.collisionPosition.marginTop, + overTop = collisionPosTop - offsetTop, + overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop, + top = data.my[ 1 ] === "top", + myOffset = top ? + -data.elemHeight : + data.my[ 1 ] === "bottom" ? + data.elemHeight : + 0, + atOffset = data.at[ 1 ] === "top" ? + data.targetHeight : + data.at[ 1 ] === "bottom" ? + -data.targetHeight : + 0, + offset = -2 * data.offset[ 1 ], + newOverTop, + newOverBottom; + if ( overTop < 0 ) { + newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - + outerHeight - withinOffset; + if ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) { + position.top += myOffset + atOffset + offset; + } + } else if ( overBottom > 0 ) { + newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + + offset - offsetTop; + if ( newOverTop > 0 || abs( newOverTop ) < overBottom ) { + position.top += myOffset + atOffset + offset; + } + } + } + }, + flipfit: { + left: function() { + $.ui.position.flip.left.apply( this, arguments ); + $.ui.position.fit.left.apply( this, arguments ); + }, + top: function() { + $.ui.position.flip.top.apply( this, arguments ); + $.ui.position.fit.top.apply( this, arguments ); + } + } +}; + +} )(); + +var position = $.ui.position; + + +/*! + * jQuery UI :data 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: :data Selector +//>>group: Core +//>>description: Selects elements which have data stored under the specified key. +//>>docs: http://api.jqueryui.com/data-selector/ + + +var data = $.extend( $.expr[ ":" ], { + data: $.expr.createPseudo ? + $.expr.createPseudo( function( dataName ) { + return function( elem ) { + return !!$.data( elem, dataName ); + }; + } ) : + + // Support: jQuery <1.8 + function( elem, i, match ) { + return !!$.data( elem, match[ 3 ] ); + } +} ); + +/*! + * jQuery UI Disable Selection 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: disableSelection +//>>group: Core +//>>description: Disable selection of text content within the set of matched elements. +//>>docs: http://api.jqueryui.com/disableSelection/ + +// This file is deprecated + + +var disableSelection = $.fn.extend( { + disableSelection: ( function() { + var eventType = "onselectstart" in document.createElement( "div" ) ? + "selectstart" : + "mousedown"; + + return function() { + return this.on( eventType + ".ui-disableSelection", function( event ) { + event.preventDefault(); + } ); + }; + } )(), + + enableSelection: function() { + return this.off( ".ui-disableSelection" ); + } +} ); + + +/*! + * jQuery UI Effects 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Effects Core +//>>group: Effects +// jscs:disable maximumLineLength +//>>description: Extends the internal jQuery effects. Includes morphing and easing. Required by all other effects. +// jscs:enable maximumLineLength +//>>docs: http://api.jqueryui.com/category/effects-core/ +//>>demos: http://jqueryui.com/effect/ + + + +var dataSpace = "ui-effects-", + dataSpaceStyle = "ui-effects-style", + dataSpaceAnimated = "ui-effects-animated", + + // Create a local jQuery because jQuery Color relies on it and the + // global may not exist with AMD and a custom build (#10199) + jQuery = $; + +$.effects = { + effect: {} +}; + +/*! + * jQuery Color Animations v2.1.2 + * https://github.com/jquery/jquery-color + * + * Copyright 2014 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * Date: Wed Jan 16 08:47:09 2013 -0600 + */ +( function( jQuery, undefined ) { + + var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor " + + "borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor", + + // Plusequals test for += 100 -= 100 + rplusequals = /^([\-+])=\s*(\d+\.?\d*)/, + + // A set of RE's that can match strings and generate color tuples. + stringParsers = [ { + re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, + parse: function( execResult ) { + return [ + execResult[ 1 ], + execResult[ 2 ], + execResult[ 3 ], + execResult[ 4 ] + ]; + } + }, { + re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, + parse: function( execResult ) { + return [ + execResult[ 1 ] * 2.55, + execResult[ 2 ] * 2.55, + execResult[ 3 ] * 2.55, + execResult[ 4 ] + ]; + } + }, { + + // This regex ignores A-F because it's compared against an already lowercased string + re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/, + parse: function( execResult ) { + return [ + parseInt( execResult[ 1 ], 16 ), + parseInt( execResult[ 2 ], 16 ), + parseInt( execResult[ 3 ], 16 ) + ]; + } + }, { + + // This regex ignores A-F because it's compared against an already lowercased string + re: /#([a-f0-9])([a-f0-9])([a-f0-9])/, + parse: function( execResult ) { + return [ + parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ), + parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ), + parseInt( execResult[ 3 ] + execResult[ 3 ], 16 ) + ]; + } + }, { + re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, + space: "hsla", + parse: function( execResult ) { + return [ + execResult[ 1 ], + execResult[ 2 ] / 100, + execResult[ 3 ] / 100, + execResult[ 4 ] + ]; + } + } ], + + // JQuery.Color( ) + color = jQuery.Color = function( color, green, blue, alpha ) { + return new jQuery.Color.fn.parse( color, green, blue, alpha ); + }, + spaces = { + rgba: { + props: { + red: { + idx: 0, + type: "byte" + }, + green: { + idx: 1, + type: "byte" + }, + blue: { + idx: 2, + type: "byte" + } + } + }, + + hsla: { + props: { + hue: { + idx: 0, + type: "degrees" + }, + saturation: { + idx: 1, + type: "percent" + }, + lightness: { + idx: 2, + type: "percent" + } + } + } + }, + propTypes = { + "byte": { + floor: true, + max: 255 + }, + "percent": { + max: 1 + }, + "degrees": { + mod: 360, + floor: true + } + }, + support = color.support = {}, + + // Element for support tests + supportElem = jQuery( "<p>" )[ 0 ], + + // Colors = jQuery.Color.names + colors, + + // Local aliases of functions called often + each = jQuery.each; + +// Determine rgba support immediately +supportElem.style.cssText = "background-color:rgba(1,1,1,.5)"; +support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1; + +// Define cache name and alpha properties +// for rgba and hsla spaces +each( spaces, function( spaceName, space ) { + space.cache = "_" + spaceName; + space.props.alpha = { + idx: 3, + type: "percent", + def: 1 + }; +} ); + +function clamp( value, prop, allowEmpty ) { + var type = propTypes[ prop.type ] || {}; + + if ( value == null ) { + return ( allowEmpty || !prop.def ) ? null : prop.def; + } + + // ~~ is an short way of doing floor for positive numbers + value = type.floor ? ~~value : parseFloat( value ); + + // IE will pass in empty strings as value for alpha, + // which will hit this case + if ( isNaN( value ) ) { + return prop.def; + } + + if ( type.mod ) { + + // We add mod before modding to make sure that negatives values + // get converted properly: -10 -> 350 + return ( value + type.mod ) % type.mod; + } + + // For now all property types without mod have min and max + return 0 > value ? 0 : type.max < value ? type.max : value; +} + +function stringParse( string ) { + var inst = color(), + rgba = inst._rgba = []; + + string = string.toLowerCase(); + + each( stringParsers, function( i, parser ) { + var parsed, + match = parser.re.exec( string ), + values = match && parser.parse( match ), + spaceName = parser.space || "rgba"; + + if ( values ) { + parsed = inst[ spaceName ]( values ); + + // If this was an rgba parse the assignment might happen twice + // oh well.... + inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ]; + rgba = inst._rgba = parsed._rgba; + + // Exit each( stringParsers ) here because we matched + return false; + } + } ); + + // Found a stringParser that handled it + if ( rgba.length ) { + + // If this came from a parsed string, force "transparent" when alpha is 0 + // chrome, (and maybe others) return "transparent" as rgba(0,0,0,0) + if ( rgba.join() === "0,0,0,0" ) { + jQuery.extend( rgba, colors.transparent ); + } + return inst; + } + + // Named colors + return colors[ string ]; +} + +color.fn = jQuery.extend( color.prototype, { + parse: function( red, green, blue, alpha ) { + if ( red === undefined ) { + this._rgba = [ null, null, null, null ]; + return this; + } + if ( red.jquery || red.nodeType ) { + red = jQuery( red ).css( green ); + green = undefined; + } + + var inst = this, + type = jQuery.type( red ), + rgba = this._rgba = []; + + // More than 1 argument specified - assume ( red, green, blue, alpha ) + if ( green !== undefined ) { + red = [ red, green, blue, alpha ]; + type = "array"; + } + + if ( type === "string" ) { + return this.parse( stringParse( red ) || colors._default ); + } + + if ( type === "array" ) { + each( spaces.rgba.props, function( key, prop ) { + rgba[ prop.idx ] = clamp( red[ prop.idx ], prop ); + } ); + return this; + } + + if ( type === "object" ) { + if ( red instanceof color ) { + each( spaces, function( spaceName, space ) { + if ( red[ space.cache ] ) { + inst[ space.cache ] = red[ space.cache ].slice(); + } + } ); + } else { + each( spaces, function( spaceName, space ) { + var cache = space.cache; + each( space.props, function( key, prop ) { + + // If the cache doesn't exist, and we know how to convert + if ( !inst[ cache ] && space.to ) { + + // If the value was null, we don't need to copy it + // if the key was alpha, we don't need to copy it either + if ( key === "alpha" || red[ key ] == null ) { + return; + } + inst[ cache ] = space.to( inst._rgba ); + } + + // This is the only case where we allow nulls for ALL properties. + // call clamp with alwaysAllowEmpty + inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true ); + } ); + + // Everything defined but alpha? + if ( inst[ cache ] && + jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) { + + // Use the default of 1 + inst[ cache ][ 3 ] = 1; + if ( space.from ) { + inst._rgba = space.from( inst[ cache ] ); + } + } + } ); + } + return this; + } + }, + is: function( compare ) { + var is = color( compare ), + same = true, + inst = this; + + each( spaces, function( _, space ) { + var localCache, + isCache = is[ space.cache ]; + if ( isCache ) { + localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || []; + each( space.props, function( _, prop ) { + if ( isCache[ prop.idx ] != null ) { + same = ( isCache[ prop.idx ] === localCache[ prop.idx ] ); + return same; + } + } ); + } + return same; + } ); + return same; + }, + _space: function() { + var used = [], + inst = this; + each( spaces, function( spaceName, space ) { + if ( inst[ space.cache ] ) { + used.push( spaceName ); + } + } ); + return used.pop(); + }, + transition: function( other, distance ) { + var end = color( other ), + spaceName = end._space(), + space = spaces[ spaceName ], + startColor = this.alpha() === 0 ? color( "transparent" ) : this, + start = startColor[ space.cache ] || space.to( startColor._rgba ), + result = start.slice(); + + end = end[ space.cache ]; + each( space.props, function( key, prop ) { + var index = prop.idx, + startValue = start[ index ], + endValue = end[ index ], + type = propTypes[ prop.type ] || {}; + + // If null, don't override start value + if ( endValue === null ) { + return; + } + + // If null - use end + if ( startValue === null ) { + result[ index ] = endValue; + } else { + if ( type.mod ) { + if ( endValue - startValue > type.mod / 2 ) { + startValue += type.mod; + } else if ( startValue - endValue > type.mod / 2 ) { + startValue -= type.mod; + } + } + result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop ); + } + } ); + return this[ spaceName ]( result ); + }, + blend: function( opaque ) { + + // If we are already opaque - return ourself + if ( this._rgba[ 3 ] === 1 ) { + return this; + } + + var rgb = this._rgba.slice(), + a = rgb.pop(), + blend = color( opaque )._rgba; + + return color( jQuery.map( rgb, function( v, i ) { + return ( 1 - a ) * blend[ i ] + a * v; + } ) ); + }, + toRgbaString: function() { + var prefix = "rgba(", + rgba = jQuery.map( this._rgba, function( v, i ) { + return v == null ? ( i > 2 ? 1 : 0 ) : v; + } ); + + if ( rgba[ 3 ] === 1 ) { + rgba.pop(); + prefix = "rgb("; + } + + return prefix + rgba.join() + ")"; + }, + toHslaString: function() { + var prefix = "hsla(", + hsla = jQuery.map( this.hsla(), function( v, i ) { + if ( v == null ) { + v = i > 2 ? 1 : 0; + } + + // Catch 1 and 2 + if ( i && i < 3 ) { + v = Math.round( v * 100 ) + "%"; + } + return v; + } ); + + if ( hsla[ 3 ] === 1 ) { + hsla.pop(); + prefix = "hsl("; + } + return prefix + hsla.join() + ")"; + }, + toHexString: function( includeAlpha ) { + var rgba = this._rgba.slice(), + alpha = rgba.pop(); + + if ( includeAlpha ) { + rgba.push( ~~( alpha * 255 ) ); + } + + return "#" + jQuery.map( rgba, function( v ) { + + // Default to 0 when nulls exist + v = ( v || 0 ).toString( 16 ); + return v.length === 1 ? "0" + v : v; + } ).join( "" ); + }, + toString: function() { + return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString(); + } +} ); +color.fn.parse.prototype = color.fn; + +// Hsla conversions adapted from: +// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021 + +function hue2rgb( p, q, h ) { + h = ( h + 1 ) % 1; + if ( h * 6 < 1 ) { + return p + ( q - p ) * h * 6; + } + if ( h * 2 < 1 ) { + return q; + } + if ( h * 3 < 2 ) { + return p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6; + } + return p; +} + +spaces.hsla.to = function( rgba ) { + if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) { + return [ null, null, null, rgba[ 3 ] ]; + } + var r = rgba[ 0 ] / 255, + g = rgba[ 1 ] / 255, + b = rgba[ 2 ] / 255, + a = rgba[ 3 ], + max = Math.max( r, g, b ), + min = Math.min( r, g, b ), + diff = max - min, + add = max + min, + l = add * 0.5, + h, s; + + if ( min === max ) { + h = 0; + } else if ( r === max ) { + h = ( 60 * ( g - b ) / diff ) + 360; + } else if ( g === max ) { + h = ( 60 * ( b - r ) / diff ) + 120; + } else { + h = ( 60 * ( r - g ) / diff ) + 240; + } + + // Chroma (diff) == 0 means greyscale which, by definition, saturation = 0% + // otherwise, saturation is based on the ratio of chroma (diff) to lightness (add) + if ( diff === 0 ) { + s = 0; + } else if ( l <= 0.5 ) { + s = diff / add; + } else { + s = diff / ( 2 - add ); + } + return [ Math.round( h ) % 360, s, l, a == null ? 1 : a ]; +}; + +spaces.hsla.from = function( hsla ) { + if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) { + return [ null, null, null, hsla[ 3 ] ]; + } + var h = hsla[ 0 ] / 360, + s = hsla[ 1 ], + l = hsla[ 2 ], + a = hsla[ 3 ], + q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s, + p = 2 * l - q; + + return [ + Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ), + Math.round( hue2rgb( p, q, h ) * 255 ), + Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ), + a + ]; +}; + +each( spaces, function( spaceName, space ) { + var props = space.props, + cache = space.cache, + to = space.to, + from = space.from; + + // Makes rgba() and hsla() + color.fn[ spaceName ] = function( value ) { + + // Generate a cache for this space if it doesn't exist + if ( to && !this[ cache ] ) { + this[ cache ] = to( this._rgba ); + } + if ( value === undefined ) { + return this[ cache ].slice(); + } + + var ret, + type = jQuery.type( value ), + arr = ( type === "array" || type === "object" ) ? value : arguments, + local = this[ cache ].slice(); + + each( props, function( key, prop ) { + var val = arr[ type === "object" ? key : prop.idx ]; + if ( val == null ) { + val = local[ prop.idx ]; + } + local[ prop.idx ] = clamp( val, prop ); + } ); + + if ( from ) { + ret = color( from( local ) ); + ret[ cache ] = local; + return ret; + } else { + return color( local ); + } + }; + + // Makes red() green() blue() alpha() hue() saturation() lightness() + each( props, function( key, prop ) { + + // Alpha is included in more than one space + if ( color.fn[ key ] ) { + return; + } + color.fn[ key ] = function( value ) { + var vtype = jQuery.type( value ), + fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ), + local = this[ fn ](), + cur = local[ prop.idx ], + match; + + if ( vtype === "undefined" ) { + return cur; + } + + if ( vtype === "function" ) { + value = value.call( this, cur ); + vtype = jQuery.type( value ); + } + if ( value == null && prop.empty ) { + return this; + } + if ( vtype === "string" ) { + match = rplusequals.exec( value ); + if ( match ) { + value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 ); + } + } + local[ prop.idx ] = value; + return this[ fn ]( local ); + }; + } ); +} ); + +// Add cssHook and .fx.step function for each named hook. +// accept a space separated string of properties +color.hook = function( hook ) { + var hooks = hook.split( " " ); + each( hooks, function( i, hook ) { + jQuery.cssHooks[ hook ] = { + set: function( elem, value ) { + var parsed, curElem, + backgroundColor = ""; + + if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || + ( parsed = stringParse( value ) ) ) ) { + value = color( parsed || value ); + if ( !support.rgba && value._rgba[ 3 ] !== 1 ) { + curElem = hook === "backgroundColor" ? elem.parentNode : elem; + while ( + ( backgroundColor === "" || backgroundColor === "transparent" ) && + curElem && curElem.style + ) { + try { + backgroundColor = jQuery.css( curElem, "backgroundColor" ); + curElem = curElem.parentNode; + } catch ( e ) { + } + } + + value = value.blend( backgroundColor && backgroundColor !== "transparent" ? + backgroundColor : + "_default" ); + } + + value = value.toRgbaString(); + } + try { + elem.style[ hook ] = value; + } catch ( e ) { + + // Wrapped to prevent IE from throwing errors on "invalid" values like + // 'auto' or 'inherit' + } + } + }; + jQuery.fx.step[ hook ] = function( fx ) { + if ( !fx.colorInit ) { + fx.start = color( fx.elem, hook ); + fx.end = color( fx.end ); + fx.colorInit = true; + } + jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) ); + }; + } ); + +}; + +color.hook( stepHooks ); + +jQuery.cssHooks.borderColor = { + expand: function( value ) { + var expanded = {}; + + each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) { + expanded[ "border" + part + "Color" ] = value; + } ); + return expanded; + } +}; + +// Basic color names only. +// Usage of any of the other color names requires adding yourself or including +// jquery.color.svg-names.js. +colors = jQuery.Color.names = { + + // 4.1. Basic color keywords + aqua: "#00ffff", + black: "#000000", + blue: "#0000ff", + fuchsia: "#ff00ff", + gray: "#808080", + green: "#008000", + lime: "#00ff00", + maroon: "#800000", + navy: "#000080", + olive: "#808000", + purple: "#800080", + red: "#ff0000", + silver: "#c0c0c0", + teal: "#008080", + white: "#ffffff", + yellow: "#ffff00", + + // 4.2.3. "transparent" color keyword + transparent: [ null, null, null, 0 ], + + _default: "#ffffff" +}; + +} )( jQuery ); + +/******************************************************************************/ +/****************************** CLASS ANIMATIONS ******************************/ +/******************************************************************************/ +( function() { + +var classAnimationActions = [ "add", "remove", "toggle" ], + shorthandStyles = { + border: 1, + borderBottom: 1, + borderColor: 1, + borderLeft: 1, + borderRight: 1, + borderTop: 1, + borderWidth: 1, + margin: 1, + padding: 1 + }; + +$.each( + [ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ], + function( _, prop ) { + $.fx.step[ prop ] = function( fx ) { + if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) { + jQuery.style( fx.elem, prop, fx.end ); + fx.setAttr = true; + } + }; + } +); + +function getElementStyles( elem ) { + var key, len, + style = elem.ownerDocument.defaultView ? + elem.ownerDocument.defaultView.getComputedStyle( elem, null ) : + elem.currentStyle, + styles = {}; + + if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) { + len = style.length; + while ( len-- ) { + key = style[ len ]; + if ( typeof style[ key ] === "string" ) { + styles[ $.camelCase( key ) ] = style[ key ]; + } + } + + // Support: Opera, IE <9 + } else { + for ( key in style ) { + if ( typeof style[ key ] === "string" ) { + styles[ key ] = style[ key ]; + } + } + } + + return styles; +} + +function styleDifference( oldStyle, newStyle ) { + var diff = {}, + name, value; + + for ( name in newStyle ) { + value = newStyle[ name ]; + if ( oldStyle[ name ] !== value ) { + if ( !shorthandStyles[ name ] ) { + if ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) { + diff[ name ] = value; + } + } + } + } + + return diff; +} + +// Support: jQuery <1.8 +if ( !$.fn.addBack ) { + $.fn.addBack = function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + }; +} + +$.effects.animateClass = function( value, duration, easing, callback ) { + var o = $.speed( duration, easing, callback ); + + return this.queue( function() { + var animated = $( this ), + baseClass = animated.attr( "class" ) || "", + applyClassChange, + allAnimations = o.children ? animated.find( "*" ).addBack() : animated; + + // Map the animated objects to store the original styles. + allAnimations = allAnimations.map( function() { + var el = $( this ); + return { + el: el, + start: getElementStyles( this ) + }; + } ); + + // Apply class change + applyClassChange = function() { + $.each( classAnimationActions, function( i, action ) { + if ( value[ action ] ) { + animated[ action + "Class" ]( value[ action ] ); + } + } ); + }; + applyClassChange(); + + // Map all animated objects again - calculate new styles and diff + allAnimations = allAnimations.map( function() { + this.end = getElementStyles( this.el[ 0 ] ); + this.diff = styleDifference( this.start, this.end ); + return this; + } ); + + // Apply original class + animated.attr( "class", baseClass ); + + // Map all animated objects again - this time collecting a promise + allAnimations = allAnimations.map( function() { + var styleInfo = this, + dfd = $.Deferred(), + opts = $.extend( {}, o, { + queue: false, + complete: function() { + dfd.resolve( styleInfo ); + } + } ); + + this.el.animate( this.diff, opts ); + return dfd.promise(); + } ); + + // Once all animations have completed: + $.when.apply( $, allAnimations.get() ).done( function() { + + // Set the final class + applyClassChange(); + + // For each animated element, + // clear all css properties that were animated + $.each( arguments, function() { + var el = this.el; + $.each( this.diff, function( key ) { + el.css( key, "" ); + } ); + } ); + + // This is guarnteed to be there if you use jQuery.speed() + // it also handles dequeuing the next anim... + o.complete.call( animated[ 0 ] ); + } ); + } ); +}; + +$.fn.extend( { + addClass: ( function( orig ) { + return function( classNames, speed, easing, callback ) { + return speed ? + $.effects.animateClass.call( this, + { add: classNames }, speed, easing, callback ) : + orig.apply( this, arguments ); + }; + } )( $.fn.addClass ), + + removeClass: ( function( orig ) { + return function( classNames, speed, easing, callback ) { + return arguments.length > 1 ? + $.effects.animateClass.call( this, + { remove: classNames }, speed, easing, callback ) : + orig.apply( this, arguments ); + }; + } )( $.fn.removeClass ), + + toggleClass: ( function( orig ) { + return function( classNames, force, speed, easing, callback ) { + if ( typeof force === "boolean" || force === undefined ) { + if ( !speed ) { + + // Without speed parameter + return orig.apply( this, arguments ); + } else { + return $.effects.animateClass.call( this, + ( force ? { add: classNames } : { remove: classNames } ), + speed, easing, callback ); + } + } else { + + // Without force parameter + return $.effects.animateClass.call( this, + { toggle: classNames }, force, speed, easing ); + } + }; + } )( $.fn.toggleClass ), + + switchClass: function( remove, add, speed, easing, callback ) { + return $.effects.animateClass.call( this, { + add: add, + remove: remove + }, speed, easing, callback ); + } +} ); + +} )(); + +/******************************************************************************/ +/*********************************** EFFECTS **********************************/ +/******************************************************************************/ + +( function() { + +if ( $.expr && $.expr.filters && $.expr.filters.animated ) { + $.expr.filters.animated = ( function( orig ) { + return function( elem ) { + return !!$( elem ).data( dataSpaceAnimated ) || orig( elem ); + }; + } )( $.expr.filters.animated ); +} + +if ( $.uiBackCompat !== false ) { + $.extend( $.effects, { + + // Saves a set of properties in a data storage + save: function( element, set ) { + var i = 0, length = set.length; + for ( ; i < length; i++ ) { + if ( set[ i ] !== null ) { + element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] ); + } + } + }, + + // Restores a set of previously saved properties from a data storage + restore: function( element, set ) { + var val, i = 0, length = set.length; + for ( ; i < length; i++ ) { + if ( set[ i ] !== null ) { + val = element.data( dataSpace + set[ i ] ); + element.css( set[ i ], val ); + } + } + }, + + setMode: function( el, mode ) { + if ( mode === "toggle" ) { + mode = el.is( ":hidden" ) ? "show" : "hide"; + } + return mode; + }, + + // Wraps the element around a wrapper that copies position properties + createWrapper: function( element ) { + + // If the element is already wrapped, return it + if ( element.parent().is( ".ui-effects-wrapper" ) ) { + return element.parent(); + } + + // Wrap the element + var props = { + width: element.outerWidth( true ), + height: element.outerHeight( true ), + "float": element.css( "float" ) + }, + wrapper = $( "<div></div>" ) + .addClass( "ui-effects-wrapper" ) + .css( { + fontSize: "100%", + background: "transparent", + border: "none", + margin: 0, + padding: 0 + } ), + + // Store the size in case width/height are defined in % - Fixes #5245 + size = { + width: element.width(), + height: element.height() + }, + active = document.activeElement; + + // Support: Firefox + // Firefox incorrectly exposes anonymous content + // https://bugzilla.mozilla.org/show_bug.cgi?id=561664 + try { + active.id; + } catch ( e ) { + active = document.body; + } + + element.wrap( wrapper ); + + // Fixes #7595 - Elements lose focus when wrapped. + if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) { + $( active ).trigger( "focus" ); + } + + // Hotfix for jQuery 1.4 since some change in wrap() seems to actually + // lose the reference to the wrapped element + wrapper = element.parent(); + + // Transfer positioning properties to the wrapper + if ( element.css( "position" ) === "static" ) { + wrapper.css( { position: "relative" } ); + element.css( { position: "relative" } ); + } else { + $.extend( props, { + position: element.css( "position" ), + zIndex: element.css( "z-index" ) + } ); + $.each( [ "top", "left", "bottom", "right" ], function( i, pos ) { + props[ pos ] = element.css( pos ); + if ( isNaN( parseInt( props[ pos ], 10 ) ) ) { + props[ pos ] = "auto"; + } + } ); + element.css( { + position: "relative", + top: 0, + left: 0, + right: "auto", + bottom: "auto" + } ); + } + element.css( size ); + + return wrapper.css( props ).show(); + }, + + removeWrapper: function( element ) { + var active = document.activeElement; + + if ( element.parent().is( ".ui-effects-wrapper" ) ) { + element.parent().replaceWith( element ); + + // Fixes #7595 - Elements lose focus when wrapped. + if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) { + $( active ).trigger( "focus" ); + } + } + + return element; + } + } ); +} + +$.extend( $.effects, { + version: "1.12.1", + + define: function( name, mode, effect ) { + if ( !effect ) { + effect = mode; + mode = "effect"; + } + + $.effects.effect[ name ] = effect; + $.effects.effect[ name ].mode = mode; + + return effect; + }, + + scaledDimensions: function( element, percent, direction ) { + if ( percent === 0 ) { + return { + height: 0, + width: 0, + outerHeight: 0, + outerWidth: 0 + }; + } + + var x = direction !== "horizontal" ? ( ( percent || 100 ) / 100 ) : 1, + y = direction !== "vertical" ? ( ( percent || 100 ) / 100 ) : 1; + + return { + height: element.height() * y, + width: element.width() * x, + outerHeight: element.outerHeight() * y, + outerWidth: element.outerWidth() * x + }; + + }, + + clipToBox: function( animation ) { + return { + width: animation.clip.right - animation.clip.left, + height: animation.clip.bottom - animation.clip.top, + left: animation.clip.left, + top: animation.clip.top + }; + }, + + // Injects recently queued functions to be first in line (after "inprogress") + unshift: function( element, queueLength, count ) { + var queue = element.queue(); + + if ( queueLength > 1 ) { + queue.splice.apply( queue, + [ 1, 0 ].concat( queue.splice( queueLength, count ) ) ); + } + element.dequeue(); + }, + + saveStyle: function( element ) { + element.data( dataSpaceStyle, element[ 0 ].style.cssText ); + }, + + restoreStyle: function( element ) { + element[ 0 ].style.cssText = element.data( dataSpaceStyle ) || ""; + element.removeData( dataSpaceStyle ); + }, + + mode: function( element, mode ) { + var hidden = element.is( ":hidden" ); + + if ( mode === "toggle" ) { + mode = hidden ? "show" : "hide"; + } + if ( hidden ? mode === "hide" : mode === "show" ) { + mode = "none"; + } + return mode; + }, + + // Translates a [top,left] array into a baseline value + getBaseline: function( origin, original ) { + var y, x; + + switch ( origin[ 0 ] ) { + case "top": + y = 0; + break; + case "middle": + y = 0.5; + break; + case "bottom": + y = 1; + break; + default: + y = origin[ 0 ] / original.height; + } + + switch ( origin[ 1 ] ) { + case "left": + x = 0; + break; + case "center": + x = 0.5; + break; + case "right": + x = 1; + break; + default: + x = origin[ 1 ] / original.width; + } + + return { + x: x, + y: y + }; + }, + + // Creates a placeholder element so that the original element can be made absolute + createPlaceholder: function( element ) { + var placeholder, + cssPosition = element.css( "position" ), + position = element.position(); + + // Lock in margins first to account for form elements, which + // will change margin if you explicitly set height + // see: http://jsfiddle.net/JZSMt/3/ https://bugs.webkit.org/show_bug.cgi?id=107380 + // Support: Safari + element.css( { + marginTop: element.css( "marginTop" ), + marginBottom: element.css( "marginBottom" ), + marginLeft: element.css( "marginLeft" ), + marginRight: element.css( "marginRight" ) + } ) + .outerWidth( element.outerWidth() ) + .outerHeight( element.outerHeight() ); + + if ( /^(static|relative)/.test( cssPosition ) ) { + cssPosition = "absolute"; + + placeholder = $( "<" + element[ 0 ].nodeName + ">" ).insertAfter( element ).css( { + + // Convert inline to inline block to account for inline elements + // that turn to inline block based on content (like img) + display: /^(inline|ruby)/.test( element.css( "display" ) ) ? + "inline-block" : + "block", + visibility: "hidden", + + // Margins need to be set to account for margin collapse + marginTop: element.css( "marginTop" ), + marginBottom: element.css( "marginBottom" ), + marginLeft: element.css( "marginLeft" ), + marginRight: element.css( "marginRight" ), + "float": element.css( "float" ) + } ) + .outerWidth( element.outerWidth() ) + .outerHeight( element.outerHeight() ) + .addClass( "ui-effects-placeholder" ); + + element.data( dataSpace + "placeholder", placeholder ); + } + + element.css( { + position: cssPosition, + left: position.left, + top: position.top + } ); + + return placeholder; + }, + + removePlaceholder: function( element ) { + var dataKey = dataSpace + "placeholder", + placeholder = element.data( dataKey ); + + if ( placeholder ) { + placeholder.remove(); + element.removeData( dataKey ); + } + }, + + // Removes a placeholder if it exists and restores + // properties that were modified during placeholder creation + cleanUp: function( element ) { + $.effects.restoreStyle( element ); + $.effects.removePlaceholder( element ); + }, + + setTransition: function( element, list, factor, value ) { + value = value || {}; + $.each( list, function( i, x ) { + var unit = element.cssUnit( x ); + if ( unit[ 0 ] > 0 ) { + value[ x ] = unit[ 0 ] * factor + unit[ 1 ]; + } + } ); + return value; + } +} ); + +// Return an effect options object for the given parameters: +function _normalizeArguments( effect, options, speed, callback ) { + + // Allow passing all options as the first parameter + if ( $.isPlainObject( effect ) ) { + options = effect; + effect = effect.effect; + } + + // Convert to an object + effect = { effect: effect }; + + // Catch (effect, null, ...) + if ( options == null ) { + options = {}; + } + + // Catch (effect, callback) + if ( $.isFunction( options ) ) { + callback = options; + speed = null; + options = {}; + } + + // Catch (effect, speed, ?) + if ( typeof options === "number" || $.fx.speeds[ options ] ) { + callback = speed; + speed = options; + options = {}; + } + + // Catch (effect, options, callback) + if ( $.isFunction( speed ) ) { + callback = speed; + speed = null; + } + + // Add options to effect + if ( options ) { + $.extend( effect, options ); + } + + speed = speed || options.duration; + effect.duration = $.fx.off ? 0 : + typeof speed === "number" ? speed : + speed in $.fx.speeds ? $.fx.speeds[ speed ] : + $.fx.speeds._default; + + effect.complete = callback || options.complete; + + return effect; +} + +function standardAnimationOption( option ) { + + // Valid standard speeds (nothing, number, named speed) + if ( !option || typeof option === "number" || $.fx.speeds[ option ] ) { + return true; + } + + // Invalid strings - treat as "normal" speed + if ( typeof option === "string" && !$.effects.effect[ option ] ) { + return true; + } + + // Complete callback + if ( $.isFunction( option ) ) { + return true; + } + + // Options hash (but not naming an effect) + if ( typeof option === "object" && !option.effect ) { + return true; + } + + // Didn't match any standard API + return false; +} + +$.fn.extend( { + effect: function( /* effect, options, speed, callback */ ) { + var args = _normalizeArguments.apply( this, arguments ), + effectMethod = $.effects.effect[ args.effect ], + defaultMode = effectMethod.mode, + queue = args.queue, + queueName = queue || "fx", + complete = args.complete, + mode = args.mode, + modes = [], + prefilter = function( next ) { + var el = $( this ), + normalizedMode = $.effects.mode( el, mode ) || defaultMode; + + // Sentinel for duck-punching the :animated psuedo-selector + el.data( dataSpaceAnimated, true ); + + // Save effect mode for later use, + // we can't just call $.effects.mode again later, + // as the .show() below destroys the initial state + modes.push( normalizedMode ); + + // See $.uiBackCompat inside of run() for removal of defaultMode in 1.13 + if ( defaultMode && ( normalizedMode === "show" || + ( normalizedMode === defaultMode && normalizedMode === "hide" ) ) ) { + el.show(); + } + + if ( !defaultMode || normalizedMode !== "none" ) { + $.effects.saveStyle( el ); + } + + if ( $.isFunction( next ) ) { + next(); + } + }; + + if ( $.fx.off || !effectMethod ) { + + // Delegate to the original method (e.g., .show()) if possible + if ( mode ) { + return this[ mode ]( args.duration, complete ); + } else { + return this.each( function() { + if ( complete ) { + complete.call( this ); + } + } ); + } + } + + function run( next ) { + var elem = $( this ); + + function cleanup() { + elem.removeData( dataSpaceAnimated ); + + $.effects.cleanUp( elem ); + + if ( args.mode === "hide" ) { + elem.hide(); + } + + done(); + } + + function done() { + if ( $.isFunction( complete ) ) { + complete.call( elem[ 0 ] ); + } + + if ( $.isFunction( next ) ) { + next(); + } + } + + // Override mode option on a per element basis, + // as toggle can be either show or hide depending on element state + args.mode = modes.shift(); + + if ( $.uiBackCompat !== false && !defaultMode ) { + if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) { + + // Call the core method to track "olddisplay" properly + elem[ mode ](); + done(); + } else { + effectMethod.call( elem[ 0 ], args, done ); + } + } else { + if ( args.mode === "none" ) { + + // Call the core method to track "olddisplay" properly + elem[ mode ](); + done(); + } else { + effectMethod.call( elem[ 0 ], args, cleanup ); + } + } + } + + // Run prefilter on all elements first to ensure that + // any showing or hiding happens before placeholder creation, + // which ensures that any layout changes are correctly captured. + return queue === false ? + this.each( prefilter ).each( run ) : + this.queue( queueName, prefilter ).queue( queueName, run ); + }, + + show: ( function( orig ) { + return function( option ) { + if ( standardAnimationOption( option ) ) { + return orig.apply( this, arguments ); + } else { + var args = _normalizeArguments.apply( this, arguments ); + args.mode = "show"; + return this.effect.call( this, args ); + } + }; + } )( $.fn.show ), + + hide: ( function( orig ) { + return function( option ) { + if ( standardAnimationOption( option ) ) { + return orig.apply( this, arguments ); + } else { + var args = _normalizeArguments.apply( this, arguments ); + args.mode = "hide"; + return this.effect.call( this, args ); + } + }; + } )( $.fn.hide ), + + toggle: ( function( orig ) { + return function( option ) { + if ( standardAnimationOption( option ) || typeof option === "boolean" ) { + return orig.apply( this, arguments ); + } else { + var args = _normalizeArguments.apply( this, arguments ); + args.mode = "toggle"; + return this.effect.call( this, args ); + } + }; + } )( $.fn.toggle ), + + cssUnit: function( key ) { + var style = this.css( key ), + val = []; + + $.each( [ "em", "px", "%", "pt" ], function( i, unit ) { + if ( style.indexOf( unit ) > 0 ) { + val = [ parseFloat( style ), unit ]; + } + } ); + return val; + }, + + cssClip: function( clipObj ) { + if ( clipObj ) { + return this.css( "clip", "rect(" + clipObj.top + "px " + clipObj.right + "px " + + clipObj.bottom + "px " + clipObj.left + "px)" ); + } + return parseClip( this.css( "clip" ), this ); + }, + + transfer: function( options, done ) { + var element = $( this ), + target = $( options.to ), + targetFixed = target.css( "position" ) === "fixed", + body = $( "body" ), + fixTop = targetFixed ? body.scrollTop() : 0, + fixLeft = targetFixed ? body.scrollLeft() : 0, + endPosition = target.offset(), + animation = { + top: endPosition.top - fixTop, + left: endPosition.left - fixLeft, + height: target.innerHeight(), + width: target.innerWidth() + }, + startPosition = element.offset(), + transfer = $( "<div class='ui-effects-transfer'></div>" ) + .appendTo( "body" ) + .addClass( options.className ) + .css( { + top: startPosition.top - fixTop, + left: startPosition.left - fixLeft, + height: element.innerHeight(), + width: element.innerWidth(), + position: targetFixed ? "fixed" : "absolute" + } ) + .animate( animation, options.duration, options.easing, function() { + transfer.remove(); + if ( $.isFunction( done ) ) { + done(); + } + } ); + } +} ); + +function parseClip( str, element ) { + var outerWidth = element.outerWidth(), + outerHeight = element.outerHeight(), + clipRegex = /^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/, + values = clipRegex.exec( str ) || [ "", 0, outerWidth, outerHeight, 0 ]; + + return { + top: parseFloat( values[ 1 ] ) || 0, + right: values[ 2 ] === "auto" ? outerWidth : parseFloat( values[ 2 ] ), + bottom: values[ 3 ] === "auto" ? outerHeight : parseFloat( values[ 3 ] ), + left: parseFloat( values[ 4 ] ) || 0 + }; +} + +$.fx.step.clip = function( fx ) { + if ( !fx.clipInit ) { + fx.start = $( fx.elem ).cssClip(); + if ( typeof fx.end === "string" ) { + fx.end = parseClip( fx.end, fx.elem ); + } + fx.clipInit = true; + } + + $( fx.elem ).cssClip( { + top: fx.pos * ( fx.end.top - fx.start.top ) + fx.start.top, + right: fx.pos * ( fx.end.right - fx.start.right ) + fx.start.right, + bottom: fx.pos * ( fx.end.bottom - fx.start.bottom ) + fx.start.bottom, + left: fx.pos * ( fx.end.left - fx.start.left ) + fx.start.left + } ); +}; + +} )(); + +/******************************************************************************/ +/*********************************** EASING ***********************************/ +/******************************************************************************/ + +( function() { + +// Based on easing equations from Robert Penner (http://www.robertpenner.com/easing) + +var baseEasings = {}; + +$.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) { + baseEasings[ name ] = function( p ) { + return Math.pow( p, i + 2 ); + }; +} ); + +$.extend( baseEasings, { + Sine: function( p ) { + return 1 - Math.cos( p * Math.PI / 2 ); + }, + Circ: function( p ) { + return 1 - Math.sqrt( 1 - p * p ); + }, + Elastic: function( p ) { + return p === 0 || p === 1 ? p : + -Math.pow( 2, 8 * ( p - 1 ) ) * Math.sin( ( ( p - 1 ) * 80 - 7.5 ) * Math.PI / 15 ); + }, + Back: function( p ) { + return p * p * ( 3 * p - 2 ); + }, + Bounce: function( p ) { + var pow2, + bounce = 4; + + while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {} + return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 ); + } +} ); + +$.each( baseEasings, function( name, easeIn ) { + $.easing[ "easeIn" + name ] = easeIn; + $.easing[ "easeOut" + name ] = function( p ) { + return 1 - easeIn( 1 - p ); + }; + $.easing[ "easeInOut" + name ] = function( p ) { + return p < 0.5 ? + easeIn( p * 2 ) / 2 : + 1 - easeIn( p * -2 + 2 ) / 2; + }; +} ); + +} )(); + +var effect = $.effects; + + +/*! + * jQuery UI Effects Blind 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Blind Effect +//>>group: Effects +//>>description: Blinds the element. +//>>docs: http://api.jqueryui.com/blind-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectBlind = $.effects.define( "blind", "hide", function( options, done ) { + var map = { + up: [ "bottom", "top" ], + vertical: [ "bottom", "top" ], + down: [ "top", "bottom" ], + left: [ "right", "left" ], + horizontal: [ "right", "left" ], + right: [ "left", "right" ] + }, + element = $( this ), + direction = options.direction || "up", + start = element.cssClip(), + animate = { clip: $.extend( {}, start ) }, + placeholder = $.effects.createPlaceholder( element ); + + animate.clip[ map[ direction ][ 0 ] ] = animate.clip[ map[ direction ][ 1 ] ]; + + if ( options.mode === "show" ) { + element.cssClip( animate.clip ); + if ( placeholder ) { + placeholder.css( $.effects.clipToBox( animate ) ); + } + + animate.clip = start; + } + + if ( placeholder ) { + placeholder.animate( $.effects.clipToBox( animate ), options.duration, options.easing ); + } + + element.animate( animate, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + + +/*! + * jQuery UI Effects Bounce 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Bounce Effect +//>>group: Effects +//>>description: Bounces an element horizontally or vertically n times. +//>>docs: http://api.jqueryui.com/bounce-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectBounce = $.effects.define( "bounce", function( options, done ) { + var upAnim, downAnim, refValue, + element = $( this ), + + // Defaults: + mode = options.mode, + hide = mode === "hide", + show = mode === "show", + direction = options.direction || "up", + distance = options.distance, + times = options.times || 5, + + // Number of internal animations + anims = times * 2 + ( show || hide ? 1 : 0 ), + speed = options.duration / anims, + easing = options.easing, + + // Utility: + ref = ( direction === "up" || direction === "down" ) ? "top" : "left", + motion = ( direction === "up" || direction === "left" ), + i = 0, + + queuelen = element.queue().length; + + $.effects.createPlaceholder( element ); + + refValue = element.css( ref ); + + // Default distance for the BIGGEST bounce is the outer Distance / 3 + if ( !distance ) { + distance = element[ ref === "top" ? "outerHeight" : "outerWidth" ]() / 3; + } + + if ( show ) { + downAnim = { opacity: 1 }; + downAnim[ ref ] = refValue; + + // If we are showing, force opacity 0 and set the initial position + // then do the "first" animation + element + .css( "opacity", 0 ) + .css( ref, motion ? -distance * 2 : distance * 2 ) + .animate( downAnim, speed, easing ); + } + + // Start at the smallest distance if we are hiding + if ( hide ) { + distance = distance / Math.pow( 2, times - 1 ); + } + + downAnim = {}; + downAnim[ ref ] = refValue; + + // Bounces up/down/left/right then back to 0 -- times * 2 animations happen here + for ( ; i < times; i++ ) { + upAnim = {}; + upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; + + element + .animate( upAnim, speed, easing ) + .animate( downAnim, speed, easing ); + + distance = hide ? distance * 2 : distance / 2; + } + + // Last Bounce when Hiding + if ( hide ) { + upAnim = { opacity: 0 }; + upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; + + element.animate( upAnim, speed, easing ); + } + + element.queue( done ); + + $.effects.unshift( element, queuelen, anims + 1 ); +} ); + + +/*! + * jQuery UI Effects Clip 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Clip Effect +//>>group: Effects +//>>description: Clips the element on and off like an old TV. +//>>docs: http://api.jqueryui.com/clip-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectClip = $.effects.define( "clip", "hide", function( options, done ) { + var start, + animate = {}, + element = $( this ), + direction = options.direction || "vertical", + both = direction === "both", + horizontal = both || direction === "horizontal", + vertical = both || direction === "vertical"; + + start = element.cssClip(); + animate.clip = { + top: vertical ? ( start.bottom - start.top ) / 2 : start.top, + right: horizontal ? ( start.right - start.left ) / 2 : start.right, + bottom: vertical ? ( start.bottom - start.top ) / 2 : start.bottom, + left: horizontal ? ( start.right - start.left ) / 2 : start.left + }; + + $.effects.createPlaceholder( element ); + + if ( options.mode === "show" ) { + element.cssClip( animate.clip ); + animate.clip = start; + } + + element.animate( animate, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); + +} ); + + +/*! + * jQuery UI Effects Drop 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Drop Effect +//>>group: Effects +//>>description: Moves an element in one direction and hides it at the same time. +//>>docs: http://api.jqueryui.com/drop-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectDrop = $.effects.define( "drop", "hide", function( options, done ) { + + var distance, + element = $( this ), + mode = options.mode, + show = mode === "show", + direction = options.direction || "left", + ref = ( direction === "up" || direction === "down" ) ? "top" : "left", + motion = ( direction === "up" || direction === "left" ) ? "-=" : "+=", + oppositeMotion = ( motion === "+=" ) ? "-=" : "+=", + animation = { + opacity: 0 + }; + + $.effects.createPlaceholder( element ); + + distance = options.distance || + element[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ) / 2; + + animation[ ref ] = motion + distance; + + if ( show ) { + element.css( animation ); + + animation[ ref ] = oppositeMotion + distance; + animation.opacity = 1; + } + + // Animate + element.animate( animation, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + + +/*! + * jQuery UI Effects Explode 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Explode Effect +//>>group: Effects +// jscs:disable maximumLineLength +//>>description: Explodes an element in all directions into n pieces. Implodes an element to its original wholeness. +// jscs:enable maximumLineLength +//>>docs: http://api.jqueryui.com/explode-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectExplode = $.effects.define( "explode", "hide", function( options, done ) { + + var i, j, left, top, mx, my, + rows = options.pieces ? Math.round( Math.sqrt( options.pieces ) ) : 3, + cells = rows, + element = $( this ), + mode = options.mode, + show = mode === "show", + + // Show and then visibility:hidden the element before calculating offset + offset = element.show().css( "visibility", "hidden" ).offset(), + + // Width and height of a piece + width = Math.ceil( element.outerWidth() / cells ), + height = Math.ceil( element.outerHeight() / rows ), + pieces = []; + + // Children animate complete: + function childComplete() { + pieces.push( this ); + if ( pieces.length === rows * cells ) { + animComplete(); + } + } + + // Clone the element for each row and cell. + for ( i = 0; i < rows; i++ ) { // ===> + top = offset.top + i * height; + my = i - ( rows - 1 ) / 2; + + for ( j = 0; j < cells; j++ ) { // ||| + left = offset.left + j * width; + mx = j - ( cells - 1 ) / 2; + + // Create a clone of the now hidden main element that will be absolute positioned + // within a wrapper div off the -left and -top equal to size of our pieces + element + .clone() + .appendTo( "body" ) + .wrap( "<div></div>" ) + .css( { + position: "absolute", + visibility: "visible", + left: -j * width, + top: -i * height + } ) + + // Select the wrapper - make it overflow: hidden and absolute positioned based on + // where the original was located +left and +top equal to the size of pieces + .parent() + .addClass( "ui-effects-explode" ) + .css( { + position: "absolute", + overflow: "hidden", + width: width, + height: height, + left: left + ( show ? mx * width : 0 ), + top: top + ( show ? my * height : 0 ), + opacity: show ? 0 : 1 + } ) + .animate( { + left: left + ( show ? 0 : mx * width ), + top: top + ( show ? 0 : my * height ), + opacity: show ? 1 : 0 + }, options.duration || 500, options.easing, childComplete ); + } + } + + function animComplete() { + element.css( { + visibility: "visible" + } ); + $( pieces ).remove(); + done(); + } +} ); + + +/*! + * jQuery UI Effects Fade 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Fade Effect +//>>group: Effects +//>>description: Fades the element. +//>>docs: http://api.jqueryui.com/fade-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectFade = $.effects.define( "fade", "toggle", function( options, done ) { + var show = options.mode === "show"; + + $( this ) + .css( "opacity", show ? 0 : 1 ) + .animate( { + opacity: show ? 1 : 0 + }, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + + +/*! + * jQuery UI Effects Fold 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Fold Effect +//>>group: Effects +//>>description: Folds an element first horizontally and then vertically. +//>>docs: http://api.jqueryui.com/fold-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectFold = $.effects.define( "fold", "hide", function( options, done ) { + + // Create element + var element = $( this ), + mode = options.mode, + show = mode === "show", + hide = mode === "hide", + size = options.size || 15, + percent = /([0-9]+)%/.exec( size ), + horizFirst = !!options.horizFirst, + ref = horizFirst ? [ "right", "bottom" ] : [ "bottom", "right" ], + duration = options.duration / 2, + + placeholder = $.effects.createPlaceholder( element ), + + start = element.cssClip(), + animation1 = { clip: $.extend( {}, start ) }, + animation2 = { clip: $.extend( {}, start ) }, + + distance = [ start[ ref[ 0 ] ], start[ ref[ 1 ] ] ], + + queuelen = element.queue().length; + + if ( percent ) { + size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ]; + } + animation1.clip[ ref[ 0 ] ] = size; + animation2.clip[ ref[ 0 ] ] = size; + animation2.clip[ ref[ 1 ] ] = 0; + + if ( show ) { + element.cssClip( animation2.clip ); + if ( placeholder ) { + placeholder.css( $.effects.clipToBox( animation2 ) ); + } + + animation2.clip = start; + } + + // Animate + element + .queue( function( next ) { + if ( placeholder ) { + placeholder + .animate( $.effects.clipToBox( animation1 ), duration, options.easing ) + .animate( $.effects.clipToBox( animation2 ), duration, options.easing ); + } + + next(); + } ) + .animate( animation1, duration, options.easing ) + .animate( animation2, duration, options.easing ) + .queue( done ); + + $.effects.unshift( element, queuelen, 4 ); +} ); + + +/*! + * jQuery UI Effects Highlight 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Highlight Effect +//>>group: Effects +//>>description: Highlights the background of an element in a defined color for a custom duration. +//>>docs: http://api.jqueryui.com/highlight-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectHighlight = $.effects.define( "highlight", "show", function( options, done ) { + var element = $( this ), + animation = { + backgroundColor: element.css( "backgroundColor" ) + }; + + if ( options.mode === "hide" ) { + animation.opacity = 0; + } + + $.effects.saveStyle( element ); + + element + .css( { + backgroundImage: "none", + backgroundColor: options.color || "#ffff99" + } ) + .animate( animation, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + + +/*! + * jQuery UI Effects Size 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Size Effect +//>>group: Effects +//>>description: Resize an element to a specified width and height. +//>>docs: http://api.jqueryui.com/size-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectSize = $.effects.define( "size", function( options, done ) { + + // Create element + var baseline, factor, temp, + element = $( this ), + + // Copy for children + cProps = [ "fontSize" ], + vProps = [ "borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom" ], + hProps = [ "borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight" ], + + // Set options + mode = options.mode, + restore = mode !== "effect", + scale = options.scale || "both", + origin = options.origin || [ "middle", "center" ], + position = element.css( "position" ), + pos = element.position(), + original = $.effects.scaledDimensions( element ), + from = options.from || original, + to = options.to || $.effects.scaledDimensions( element, 0 ); + + $.effects.createPlaceholder( element ); + + if ( mode === "show" ) { + temp = from; + from = to; + to = temp; + } + + // Set scaling factor + factor = { + from: { + y: from.height / original.height, + x: from.width / original.width + }, + to: { + y: to.height / original.height, + x: to.width / original.width + } + }; + + // Scale the css box + if ( scale === "box" || scale === "both" ) { + + // Vertical props scaling + if ( factor.from.y !== factor.to.y ) { + from = $.effects.setTransition( element, vProps, factor.from.y, from ); + to = $.effects.setTransition( element, vProps, factor.to.y, to ); + } + + // Horizontal props scaling + if ( factor.from.x !== factor.to.x ) { + from = $.effects.setTransition( element, hProps, factor.from.x, from ); + to = $.effects.setTransition( element, hProps, factor.to.x, to ); + } + } + + // Scale the content + if ( scale === "content" || scale === "both" ) { + + // Vertical props scaling + if ( factor.from.y !== factor.to.y ) { + from = $.effects.setTransition( element, cProps, factor.from.y, from ); + to = $.effects.setTransition( element, cProps, factor.to.y, to ); + } + } + + // Adjust the position properties based on the provided origin points + if ( origin ) { + baseline = $.effects.getBaseline( origin, original ); + from.top = ( original.outerHeight - from.outerHeight ) * baseline.y + pos.top; + from.left = ( original.outerWidth - from.outerWidth ) * baseline.x + pos.left; + to.top = ( original.outerHeight - to.outerHeight ) * baseline.y + pos.top; + to.left = ( original.outerWidth - to.outerWidth ) * baseline.x + pos.left; + } + element.css( from ); + + // Animate the children if desired + if ( scale === "content" || scale === "both" ) { + + vProps = vProps.concat( [ "marginTop", "marginBottom" ] ).concat( cProps ); + hProps = hProps.concat( [ "marginLeft", "marginRight" ] ); + + // Only animate children with width attributes specified + // TODO: is this right? should we include anything with css width specified as well + element.find( "*[width]" ).each( function() { + var child = $( this ), + childOriginal = $.effects.scaledDimensions( child ), + childFrom = { + height: childOriginal.height * factor.from.y, + width: childOriginal.width * factor.from.x, + outerHeight: childOriginal.outerHeight * factor.from.y, + outerWidth: childOriginal.outerWidth * factor.from.x + }, + childTo = { + height: childOriginal.height * factor.to.y, + width: childOriginal.width * factor.to.x, + outerHeight: childOriginal.height * factor.to.y, + outerWidth: childOriginal.width * factor.to.x + }; + + // Vertical props scaling + if ( factor.from.y !== factor.to.y ) { + childFrom = $.effects.setTransition( child, vProps, factor.from.y, childFrom ); + childTo = $.effects.setTransition( child, vProps, factor.to.y, childTo ); + } + + // Horizontal props scaling + if ( factor.from.x !== factor.to.x ) { + childFrom = $.effects.setTransition( child, hProps, factor.from.x, childFrom ); + childTo = $.effects.setTransition( child, hProps, factor.to.x, childTo ); + } + + if ( restore ) { + $.effects.saveStyle( child ); + } + + // Animate children + child.css( childFrom ); + child.animate( childTo, options.duration, options.easing, function() { + + // Restore children + if ( restore ) { + $.effects.restoreStyle( child ); + } + } ); + } ); + } + + // Animate + element.animate( to, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: function() { + + var offset = element.offset(); + + if ( to.opacity === 0 ) { + element.css( "opacity", from.opacity ); + } + + if ( !restore ) { + element + .css( "position", position === "static" ? "relative" : position ) + .offset( offset ); + + // Need to save style here so that automatic style restoration + // doesn't restore to the original styles from before the animation. + $.effects.saveStyle( element ); + } + + done(); + } + } ); + +} ); + + +/*! + * jQuery UI Effects Scale 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Scale Effect +//>>group: Effects +//>>description: Grows or shrinks an element and its content. +//>>docs: http://api.jqueryui.com/scale-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectScale = $.effects.define( "scale", function( options, done ) { + + // Create element + var el = $( this ), + mode = options.mode, + percent = parseInt( options.percent, 10 ) || + ( parseInt( options.percent, 10 ) === 0 ? 0 : ( mode !== "effect" ? 0 : 100 ) ), + + newOptions = $.extend( true, { + from: $.effects.scaledDimensions( el ), + to: $.effects.scaledDimensions( el, percent, options.direction || "both" ), + origin: options.origin || [ "middle", "center" ] + }, options ); + + // Fade option to support puff + if ( options.fade ) { + newOptions.from.opacity = 1; + newOptions.to.opacity = 0; + } + + $.effects.effect.size.call( this, newOptions, done ); +} ); + + +/*! + * jQuery UI Effects Puff 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Puff Effect +//>>group: Effects +//>>description: Creates a puff effect by scaling the element up and hiding it at the same time. +//>>docs: http://api.jqueryui.com/puff-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectPuff = $.effects.define( "puff", "hide", function( options, done ) { + var newOptions = $.extend( true, {}, options, { + fade: true, + percent: parseInt( options.percent, 10 ) || 150 + } ); + + $.effects.effect.scale.call( this, newOptions, done ); +} ); + + +/*! + * jQuery UI Effects Pulsate 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Pulsate Effect +//>>group: Effects +//>>description: Pulsates an element n times by changing the opacity to zero and back. +//>>docs: http://api.jqueryui.com/pulsate-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectPulsate = $.effects.define( "pulsate", "show", function( options, done ) { + var element = $( this ), + mode = options.mode, + show = mode === "show", + hide = mode === "hide", + showhide = show || hide, + + // Showing or hiding leaves off the "last" animation + anims = ( ( options.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ), + duration = options.duration / anims, + animateTo = 0, + i = 1, + queuelen = element.queue().length; + + if ( show || !element.is( ":visible" ) ) { + element.css( "opacity", 0 ).show(); + animateTo = 1; + } + + // Anims - 1 opacity "toggles" + for ( ; i < anims; i++ ) { + element.animate( { opacity: animateTo }, duration, options.easing ); + animateTo = 1 - animateTo; + } + + element.animate( { opacity: animateTo }, duration, options.easing ); + + element.queue( done ); + + $.effects.unshift( element, queuelen, anims + 1 ); +} ); + + +/*! + * jQuery UI Effects Shake 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Shake Effect +//>>group: Effects +//>>description: Shakes an element horizontally or vertically n times. +//>>docs: http://api.jqueryui.com/shake-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectShake = $.effects.define( "shake", function( options, done ) { + + var i = 1, + element = $( this ), + direction = options.direction || "left", + distance = options.distance || 20, + times = options.times || 3, + anims = times * 2 + 1, + speed = Math.round( options.duration / anims ), + ref = ( direction === "up" || direction === "down" ) ? "top" : "left", + positiveMotion = ( direction === "up" || direction === "left" ), + animation = {}, + animation1 = {}, + animation2 = {}, + + queuelen = element.queue().length; + + $.effects.createPlaceholder( element ); + + // Animation + animation[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance; + animation1[ ref ] = ( positiveMotion ? "+=" : "-=" ) + distance * 2; + animation2[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance * 2; + + // Animate + element.animate( animation, speed, options.easing ); + + // Shakes + for ( ; i < times; i++ ) { + element + .animate( animation1, speed, options.easing ) + .animate( animation2, speed, options.easing ); + } + + element + .animate( animation1, speed, options.easing ) + .animate( animation, speed / 2, options.easing ) + .queue( done ); + + $.effects.unshift( element, queuelen, anims + 1 ); +} ); + + +/*! + * jQuery UI Effects Slide 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Slide Effect +//>>group: Effects +//>>description: Slides an element in and out of the viewport. +//>>docs: http://api.jqueryui.com/slide-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectSlide = $.effects.define( "slide", "show", function( options, done ) { + var startClip, startRef, + element = $( this ), + map = { + up: [ "bottom", "top" ], + down: [ "top", "bottom" ], + left: [ "right", "left" ], + right: [ "left", "right" ] + }, + mode = options.mode, + direction = options.direction || "left", + ref = ( direction === "up" || direction === "down" ) ? "top" : "left", + positiveMotion = ( direction === "up" || direction === "left" ), + distance = options.distance || + element[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ), + animation = {}; + + $.effects.createPlaceholder( element ); + + startClip = element.cssClip(); + startRef = element.position()[ ref ]; + + // Define hide animation + animation[ ref ] = ( positiveMotion ? -1 : 1 ) * distance + startRef; + animation.clip = element.cssClip(); + animation.clip[ map[ direction ][ 1 ] ] = animation.clip[ map[ direction ][ 0 ] ]; + + // Reverse the animation if we're showing + if ( mode === "show" ) { + element.cssClip( animation.clip ); + element.css( ref, animation[ ref ] ); + animation.clip = startClip; + animation[ ref ] = startRef; + } + + // Actually animate + element.animate( animation, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + + +/*! + * jQuery UI Effects Transfer 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Transfer Effect +//>>group: Effects +//>>description: Displays a transfer effect from one element to another. +//>>docs: http://api.jqueryui.com/transfer-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effect; +if ( $.uiBackCompat !== false ) { + effect = $.effects.define( "transfer", function( options, done ) { + $( this ).transfer( options, done ); + } ); +} +var effectsEffectTransfer = effect; + + +/*! + * jQuery UI Focusable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: :focusable Selector +//>>group: Core +//>>description: Selects elements which can be focused. +//>>docs: http://api.jqueryui.com/focusable-selector/ + + + +// Selectors +$.ui.focusable = function( element, hasTabindex ) { + var map, mapName, img, focusableIfVisible, fieldset, + nodeName = element.nodeName.toLowerCase(); + + if ( "area" === nodeName ) { + map = element.parentNode; + mapName = map.name; + if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { + return false; + } + img = $( "img[usemap='#" + mapName + "']" ); + return img.length > 0 && img.is( ":visible" ); + } + + if ( /^(input|select|textarea|button|object)$/.test( nodeName ) ) { + focusableIfVisible = !element.disabled; + + if ( focusableIfVisible ) { + + // Form controls within a disabled fieldset are disabled. + // However, controls within the fieldset's legend do not get disabled. + // Since controls generally aren't placed inside legends, we skip + // this portion of the check. + fieldset = $( element ).closest( "fieldset" )[ 0 ]; + if ( fieldset ) { + focusableIfVisible = !fieldset.disabled; + } + } + } else if ( "a" === nodeName ) { + focusableIfVisible = element.href || hasTabindex; + } else { + focusableIfVisible = hasTabindex; + } + + return focusableIfVisible && $( element ).is( ":visible" ) && visible( $( element ) ); +}; + +// Support: IE 8 only +// IE 8 doesn't resolve inherit to visible/hidden for computed values +function visible( element ) { + var visibility = element.css( "visibility" ); + while ( visibility === "inherit" ) { + element = element.parent(); + visibility = element.css( "visibility" ); + } + return visibility !== "hidden"; +} + +$.extend( $.expr[ ":" ], { + focusable: function( element ) { + return $.ui.focusable( element, $.attr( element, "tabindex" ) != null ); + } +} ); + +var focusable = $.ui.focusable; + + + + +// Support: IE8 Only +// IE8 does not support the form attribute and when it is supplied. It overwrites the form prop +// with a string, so we need to find the proper form. +var form = $.fn.form = function() { + return typeof this[ 0 ].form === "string" ? this.closest( "form" ) : $( this[ 0 ].form ); +}; + + +/*! + * jQuery UI Form Reset Mixin 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Form Reset Mixin +//>>group: Core +//>>description: Refresh input widgets when their form is reset +//>>docs: http://api.jqueryui.com/form-reset-mixin/ + + + +var formResetMixin = $.ui.formResetMixin = { + _formResetHandler: function() { + var form = $( this ); + + // Wait for the form reset to actually happen before refreshing + setTimeout( function() { + var instances = form.data( "ui-form-reset-instances" ); + $.each( instances, function() { + this.refresh(); + } ); + } ); + }, + + _bindFormResetHandler: function() { + this.form = this.element.form(); + if ( !this.form.length ) { + return; + } + + var instances = this.form.data( "ui-form-reset-instances" ) || []; + if ( !instances.length ) { + + // We don't use _on() here because we use a single event handler per form + this.form.on( "reset.ui-form-reset", this._formResetHandler ); + } + instances.push( this ); + this.form.data( "ui-form-reset-instances", instances ); + }, + + _unbindFormResetHandler: function() { + if ( !this.form.length ) { + return; + } + + var instances = this.form.data( "ui-form-reset-instances" ); + instances.splice( $.inArray( this, instances ), 1 ); + if ( instances.length ) { + this.form.data( "ui-form-reset-instances", instances ); + } else { + this.form + .removeData( "ui-form-reset-instances" ) + .off( "reset.ui-form-reset" ); + } + } +}; + + +/*! + * jQuery UI Support for jQuery core 1.7.x 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + */ + +//>>label: jQuery 1.7 Support +//>>group: Core +//>>description: Support version 1.7.x of jQuery core + + + +// Support: jQuery 1.7 only +// Not a great way to check versions, but since we only support 1.7+ and only +// need to detect <1.8, this is a simple check that should suffice. Checking +// for "1.7." would be a bit safer, but the version string is 1.7, not 1.7.0 +// and we'll never reach 1.70.0 (if we do, we certainly won't be supporting +// 1.7 anymore). See #11197 for why we're not using feature detection. +if ( $.fn.jquery.substring( 0, 3 ) === "1.7" ) { + + // Setters for .innerWidth(), .innerHeight(), .outerWidth(), .outerHeight() + // Unlike jQuery Core 1.8+, these only support numeric values to set the + // dimensions in pixels + $.each( [ "Width", "Height" ], function( i, name ) { + var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], + type = name.toLowerCase(), + orig = { + innerWidth: $.fn.innerWidth, + innerHeight: $.fn.innerHeight, + outerWidth: $.fn.outerWidth, + outerHeight: $.fn.outerHeight + }; + + function reduce( elem, size, border, margin ) { + $.each( side, function() { + size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; + if ( border ) { + size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; + } + if ( margin ) { + size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; + } + } ); + return size; + } + + $.fn[ "inner" + name ] = function( size ) { + if ( size === undefined ) { + return orig[ "inner" + name ].call( this ); + } + + return this.each( function() { + $( this ).css( type, reduce( this, size ) + "px" ); + } ); + }; + + $.fn[ "outer" + name ] = function( size, margin ) { + if ( typeof size !== "number" ) { + return orig[ "outer" + name ].call( this, size ); + } + + return this.each( function() { + $( this ).css( type, reduce( this, size, true, margin ) + "px" ); + } ); + }; + } ); + + $.fn.addBack = function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + }; +} + +; +/*! + * jQuery UI Keycode 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Keycode +//>>group: Core +//>>description: Provide keycodes as keynames +//>>docs: http://api.jqueryui.com/jQuery.ui.keyCode/ + + +var keycode = $.ui.keyCode = { + BACKSPACE: 8, + COMMA: 188, + DELETE: 46, + DOWN: 40, + END: 35, + ENTER: 13, + ESCAPE: 27, + HOME: 36, + LEFT: 37, + PAGE_DOWN: 34, + PAGE_UP: 33, + PERIOD: 190, + RIGHT: 39, + SPACE: 32, + TAB: 9, + UP: 38 +}; + + + + +// Internal use only +var escapeSelector = $.ui.escapeSelector = ( function() { + var selectorEscape = /([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g; + return function( selector ) { + return selector.replace( selectorEscape, "\\$1" ); + }; +} )(); + + +/*! + * jQuery UI Labels 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: labels +//>>group: Core +//>>description: Find all the labels associated with a given input +//>>docs: http://api.jqueryui.com/labels/ + + + +var labels = $.fn.labels = function() { + var ancestor, selector, id, labels, ancestors; + + // Check control.labels first + if ( this[ 0 ].labels && this[ 0 ].labels.length ) { + return this.pushStack( this[ 0 ].labels ); + } + + // Support: IE <= 11, FF <= 37, Android <= 2.3 only + // Above browsers do not support control.labels. Everything below is to support them + // as well as document fragments. control.labels does not work on document fragments + labels = this.eq( 0 ).parents( "label" ); + + // Look for the label based on the id + id = this.attr( "id" ); + if ( id ) { + + // We don't search against the document in case the element + // is disconnected from the DOM + ancestor = this.eq( 0 ).parents().last(); + + // Get a full set of top level ancestors + ancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() ); + + // Create a selector for the label based on the id + selector = "label[for='" + $.ui.escapeSelector( id ) + "']"; + + labels = labels.add( ancestors.find( selector ).addBack( selector ) ); + + } + + // Return whatever we have found for labels + return this.pushStack( labels ); +}; + + +/*! + * jQuery UI Scroll Parent 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: scrollParent +//>>group: Core +//>>description: Get the closest ancestor element that is scrollable. +//>>docs: http://api.jqueryui.com/scrollParent/ + + + +var scrollParent = $.fn.scrollParent = function( includeHidden ) { + var position = this.css( "position" ), + excludeStaticParent = position === "absolute", + overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, + scrollParent = this.parents().filter( function() { + var parent = $( this ); + if ( excludeStaticParent && parent.css( "position" ) === "static" ) { + return false; + } + return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + + parent.css( "overflow-x" ) ); + } ).eq( 0 ); + + return position === "fixed" || !scrollParent.length ? + $( this[ 0 ].ownerDocument || document ) : + scrollParent; +}; + + +/*! + * jQuery UI Tabbable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: :tabbable Selector +//>>group: Core +//>>description: Selects elements which can be tabbed to. +//>>docs: http://api.jqueryui.com/tabbable-selector/ + + + +var tabbable = $.extend( $.expr[ ":" ], { + tabbable: function( element ) { + var tabIndex = $.attr( element, "tabindex" ), + hasTabindex = tabIndex != null; + return ( !hasTabindex || tabIndex >= 0 ) && $.ui.focusable( element, hasTabindex ); + } +} ); + + +/*! + * jQuery UI Unique ID 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: uniqueId +//>>group: Core +//>>description: Functions to generate and remove uniqueId's +//>>docs: http://api.jqueryui.com/uniqueId/ + + + +var uniqueId = $.fn.extend( { + uniqueId: ( function() { + var uuid = 0; + + return function() { + return this.each( function() { + if ( !this.id ) { + this.id = "ui-id-" + ( ++uuid ); + } + } ); + }; + } )(), + + removeUniqueId: function() { + return this.each( function() { + if ( /^ui-id-\d+$/.test( this.id ) ) { + $( this ).removeAttr( "id" ); + } + } ); + } +} ); + + +/*! + * jQuery UI Accordion 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Accordion +//>>group: Widgets +// jscs:disable maximumLineLength +//>>description: Displays collapsible content panels for presenting information in a limited amount of space. +// jscs:enable maximumLineLength +//>>docs: http://api.jqueryui.com/accordion/ +//>>demos: http://jqueryui.com/accordion/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/accordion.css +//>>css.theme: ../../themes/base/theme.css + + + +var widgetsAccordion = $.widget( "ui.accordion", { + version: "1.12.1", + options: { + active: 0, + animate: {}, + classes: { + "ui-accordion-header": "ui-corner-top", + "ui-accordion-header-collapsed": "ui-corner-all", + "ui-accordion-content": "ui-corner-bottom" + }, + collapsible: false, + event: "click", + header: "> li > :first-child, > :not(li):even", + heightStyle: "auto", + icons: { + activeHeader: "ui-icon-triangle-1-s", + header: "ui-icon-triangle-1-e" + }, + + // Callbacks + activate: null, + beforeActivate: null + }, + + hideProps: { + borderTopWidth: "hide", + borderBottomWidth: "hide", + paddingTop: "hide", + paddingBottom: "hide", + height: "hide" + }, + + showProps: { + borderTopWidth: "show", + borderBottomWidth: "show", + paddingTop: "show", + paddingBottom: "show", + height: "show" + }, + + _create: function() { + var options = this.options; + + this.prevShow = this.prevHide = $(); + this._addClass( "ui-accordion", "ui-widget ui-helper-reset" ); + this.element.attr( "role", "tablist" ); + + // Don't allow collapsible: false and active: false / null + if ( !options.collapsible && ( options.active === false || options.active == null ) ) { + options.active = 0; + } + + this._processPanels(); + + // handle negative values + if ( options.active < 0 ) { + options.active += this.headers.length; + } + this._refresh(); + }, + + _getCreateEventData: function() { + return { + header: this.active, + panel: !this.active.length ? $() : this.active.next() + }; + }, + + _createIcons: function() { + var icon, children, + icons = this.options.icons; + + if ( icons ) { + icon = $( "<span>" ); + this._addClass( icon, "ui-accordion-header-icon", "ui-icon " + icons.header ); + icon.prependTo( this.headers ); + children = this.active.children( ".ui-accordion-header-icon" ); + this._removeClass( children, icons.header ) + ._addClass( children, null, icons.activeHeader ) + ._addClass( this.headers, "ui-accordion-icons" ); + } + }, + + _destroyIcons: function() { + this._removeClass( this.headers, "ui-accordion-icons" ); + this.headers.children( ".ui-accordion-header-icon" ).remove(); + }, + + _destroy: function() { + var contents; + + // Clean up main element + this.element.removeAttr( "role" ); + + // Clean up headers + this.headers + .removeAttr( "role aria-expanded aria-selected aria-controls tabIndex" ) + .removeUniqueId(); + + this._destroyIcons(); + + // Clean up content panels + contents = this.headers.next() + .css( "display", "" ) + .removeAttr( "role aria-hidden aria-labelledby" ) + .removeUniqueId(); + + if ( this.options.heightStyle !== "content" ) { + contents.css( "height", "" ); + } + }, + + _setOption: function( key, value ) { + if ( key === "active" ) { + + // _activate() will handle invalid values and update this.options + this._activate( value ); + return; + } + + if ( key === "event" ) { + if ( this.options.event ) { + this._off( this.headers, this.options.event ); + } + this._setupEvents( value ); + } + + this._super( key, value ); + + // Setting collapsible: false while collapsed; open first panel + if ( key === "collapsible" && !value && this.options.active === false ) { + this._activate( 0 ); + } + + if ( key === "icons" ) { + this._destroyIcons(); + if ( value ) { + this._createIcons(); + } + } + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this.element.attr( "aria-disabled", value ); + + // Support: IE8 Only + // #5332 / #6059 - opacity doesn't cascade to positioned elements in IE + // so we need to add the disabled class to the headers and panels + this._toggleClass( null, "ui-state-disabled", !!value ); + this._toggleClass( this.headers.add( this.headers.next() ), null, "ui-state-disabled", + !!value ); + }, + + _keydown: function( event ) { + if ( event.altKey || event.ctrlKey ) { + return; + } + + var keyCode = $.ui.keyCode, + length = this.headers.length, + currentIndex = this.headers.index( event.target ), + toFocus = false; + + switch ( event.keyCode ) { + case keyCode.RIGHT: + case keyCode.DOWN: + toFocus = this.headers[ ( currentIndex + 1 ) % length ]; + break; + case keyCode.LEFT: + case keyCode.UP: + toFocus = this.headers[ ( currentIndex - 1 + length ) % length ]; + break; + case keyCode.SPACE: + case keyCode.ENTER: + this._eventHandler( event ); + break; + case keyCode.HOME: + toFocus = this.headers[ 0 ]; + break; + case keyCode.END: + toFocus = this.headers[ length - 1 ]; + break; + } + + if ( toFocus ) { + $( event.target ).attr( "tabIndex", -1 ); + $( toFocus ).attr( "tabIndex", 0 ); + $( toFocus ).trigger( "focus" ); + event.preventDefault(); + } + }, + + _panelKeyDown: function( event ) { + if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) { + $( event.currentTarget ).prev().trigger( "focus" ); + } + }, + + refresh: function() { + var options = this.options; + this._processPanels(); + + // Was collapsed or no panel + if ( ( options.active === false && options.collapsible === true ) || + !this.headers.length ) { + options.active = false; + this.active = $(); + + // active false only when collapsible is true + } else if ( options.active === false ) { + this._activate( 0 ); + + // was active, but active panel is gone + } else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { + + // all remaining panel are disabled + if ( this.headers.length === this.headers.find( ".ui-state-disabled" ).length ) { + options.active = false; + this.active = $(); + + // activate previous panel + } else { + this._activate( Math.max( 0, options.active - 1 ) ); + } + + // was active, active panel still exists + } else { + + // make sure active index is correct + options.active = this.headers.index( this.active ); + } + + this._destroyIcons(); + + this._refresh(); + }, + + _processPanels: function() { + var prevHeaders = this.headers, + prevPanels = this.panels; + + this.headers = this.element.find( this.options.header ); + this._addClass( this.headers, "ui-accordion-header ui-accordion-header-collapsed", + "ui-state-default" ); + + this.panels = this.headers.next().filter( ":not(.ui-accordion-content-active)" ).hide(); + this._addClass( this.panels, "ui-accordion-content", "ui-helper-reset ui-widget-content" ); + + // Avoid memory leaks (#10056) + if ( prevPanels ) { + this._off( prevHeaders.not( this.headers ) ); + this._off( prevPanels.not( this.panels ) ); + } + }, + + _refresh: function() { + var maxHeight, + options = this.options, + heightStyle = options.heightStyle, + parent = this.element.parent(); + + this.active = this._findActive( options.active ); + this._addClass( this.active, "ui-accordion-header-active", "ui-state-active" ) + ._removeClass( this.active, "ui-accordion-header-collapsed" ); + this._addClass( this.active.next(), "ui-accordion-content-active" ); + this.active.next().show(); + + this.headers + .attr( "role", "tab" ) + .each( function() { + var header = $( this ), + headerId = header.uniqueId().attr( "id" ), + panel = header.next(), + panelId = panel.uniqueId().attr( "id" ); + header.attr( "aria-controls", panelId ); + panel.attr( "aria-labelledby", headerId ); + } ) + .next() + .attr( "role", "tabpanel" ); + + this.headers + .not( this.active ) + .attr( { + "aria-selected": "false", + "aria-expanded": "false", + tabIndex: -1 + } ) + .next() + .attr( { + "aria-hidden": "true" + } ) + .hide(); + + // Make sure at least one header is in the tab order + if ( !this.active.length ) { + this.headers.eq( 0 ).attr( "tabIndex", 0 ); + } else { + this.active.attr( { + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + } ) + .next() + .attr( { + "aria-hidden": "false" + } ); + } + + this._createIcons(); + + this._setupEvents( options.event ); + + if ( heightStyle === "fill" ) { + maxHeight = parent.height(); + this.element.siblings( ":visible" ).each( function() { + var elem = $( this ), + position = elem.css( "position" ); + + if ( position === "absolute" || position === "fixed" ) { + return; + } + maxHeight -= elem.outerHeight( true ); + } ); + + this.headers.each( function() { + maxHeight -= $( this ).outerHeight( true ); + } ); + + this.headers.next() + .each( function() { + $( this ).height( Math.max( 0, maxHeight - + $( this ).innerHeight() + $( this ).height() ) ); + } ) + .css( "overflow", "auto" ); + } else if ( heightStyle === "auto" ) { + maxHeight = 0; + this.headers.next() + .each( function() { + var isVisible = $( this ).is( ":visible" ); + if ( !isVisible ) { + $( this ).show(); + } + maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() ); + if ( !isVisible ) { + $( this ).hide(); + } + } ) + .height( maxHeight ); + } + }, + + _activate: function( index ) { + var active = this._findActive( index )[ 0 ]; + + // Trying to activate the already active panel + if ( active === this.active[ 0 ] ) { + return; + } + + // Trying to collapse, simulate a click on the currently active header + active = active || this.active[ 0 ]; + + this._eventHandler( { + target: active, + currentTarget: active, + preventDefault: $.noop + } ); + }, + + _findActive: function( selector ) { + return typeof selector === "number" ? this.headers.eq( selector ) : $(); + }, + + _setupEvents: function( event ) { + var events = { + keydown: "_keydown" + }; + if ( event ) { + $.each( event.split( " " ), function( index, eventName ) { + events[ eventName ] = "_eventHandler"; + } ); + } + + this._off( this.headers.add( this.headers.next() ) ); + this._on( this.headers, events ); + this._on( this.headers.next(), { keydown: "_panelKeyDown" } ); + this._hoverable( this.headers ); + this._focusable( this.headers ); + }, + + _eventHandler: function( event ) { + var activeChildren, clickedChildren, + options = this.options, + active = this.active, + clicked = $( event.currentTarget ), + clickedIsActive = clicked[ 0 ] === active[ 0 ], + collapsing = clickedIsActive && options.collapsible, + toShow = collapsing ? $() : clicked.next(), + toHide = active.next(), + eventData = { + oldHeader: active, + oldPanel: toHide, + newHeader: collapsing ? $() : clicked, + newPanel: toShow + }; + + event.preventDefault(); + + if ( + + // click on active header, but not collapsible + ( clickedIsActive && !options.collapsible ) || + + // allow canceling activation + ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { + return; + } + + options.active = collapsing ? false : this.headers.index( clicked ); + + // When the call to ._toggle() comes after the class changes + // it causes a very odd bug in IE 8 (see #6720) + this.active = clickedIsActive ? $() : clicked; + this._toggle( eventData ); + + // Switch classes + // corner classes on the previously active header stay after the animation + this._removeClass( active, "ui-accordion-header-active", "ui-state-active" ); + if ( options.icons ) { + activeChildren = active.children( ".ui-accordion-header-icon" ); + this._removeClass( activeChildren, null, options.icons.activeHeader ) + ._addClass( activeChildren, null, options.icons.header ); + } + + if ( !clickedIsActive ) { + this._removeClass( clicked, "ui-accordion-header-collapsed" ) + ._addClass( clicked, "ui-accordion-header-active", "ui-state-active" ); + if ( options.icons ) { + clickedChildren = clicked.children( ".ui-accordion-header-icon" ); + this._removeClass( clickedChildren, null, options.icons.header ) + ._addClass( clickedChildren, null, options.icons.activeHeader ); + } + + this._addClass( clicked.next(), "ui-accordion-content-active" ); + } + }, + + _toggle: function( data ) { + var toShow = data.newPanel, + toHide = this.prevShow.length ? this.prevShow : data.oldPanel; + + // Handle activating a panel during the animation for another activation + this.prevShow.add( this.prevHide ).stop( true, true ); + this.prevShow = toShow; + this.prevHide = toHide; + + if ( this.options.animate ) { + this._animate( toShow, toHide, data ); + } else { + toHide.hide(); + toShow.show(); + this._toggleComplete( data ); + } + + toHide.attr( { + "aria-hidden": "true" + } ); + toHide.prev().attr( { + "aria-selected": "false", + "aria-expanded": "false" + } ); + + // if we're switching panels, remove the old header from the tab order + // if we're opening from collapsed state, remove the previous header from the tab order + // if we're collapsing, then keep the collapsing header in the tab order + if ( toShow.length && toHide.length ) { + toHide.prev().attr( { + "tabIndex": -1, + "aria-expanded": "false" + } ); + } else if ( toShow.length ) { + this.headers.filter( function() { + return parseInt( $( this ).attr( "tabIndex" ), 10 ) === 0; + } ) + .attr( "tabIndex", -1 ); + } + + toShow + .attr( "aria-hidden", "false" ) + .prev() + .attr( { + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + } ); + }, + + _animate: function( toShow, toHide, data ) { + var total, easing, duration, + that = this, + adjust = 0, + boxSizing = toShow.css( "box-sizing" ), + down = toShow.length && + ( !toHide.length || ( toShow.index() < toHide.index() ) ), + animate = this.options.animate || {}, + options = down && animate.down || animate, + complete = function() { + that._toggleComplete( data ); + }; + + if ( typeof options === "number" ) { + duration = options; + } + if ( typeof options === "string" ) { + easing = options; + } + + // fall back from options to animation in case of partial down settings + easing = easing || options.easing || animate.easing; + duration = duration || options.duration || animate.duration; + + if ( !toHide.length ) { + return toShow.animate( this.showProps, duration, easing, complete ); + } + if ( !toShow.length ) { + return toHide.animate( this.hideProps, duration, easing, complete ); + } + + total = toShow.show().outerHeight(); + toHide.animate( this.hideProps, { + duration: duration, + easing: easing, + step: function( now, fx ) { + fx.now = Math.round( now ); + } + } ); + toShow + .hide() + .animate( this.showProps, { + duration: duration, + easing: easing, + complete: complete, + step: function( now, fx ) { + fx.now = Math.round( now ); + if ( fx.prop !== "height" ) { + if ( boxSizing === "content-box" ) { + adjust += fx.now; + } + } else if ( that.options.heightStyle !== "content" ) { + fx.now = Math.round( total - toHide.outerHeight() - adjust ); + adjust = 0; + } + } + } ); + }, + + _toggleComplete: function( data ) { + var toHide = data.oldPanel, + prev = toHide.prev(); + + this._removeClass( toHide, "ui-accordion-content-active" ); + this._removeClass( prev, "ui-accordion-header-active" ) + ._addClass( prev, "ui-accordion-header-collapsed" ); + + // Work around for rendering bug in IE (#5421) + if ( toHide.length ) { + toHide.parent()[ 0 ].className = toHide.parent()[ 0 ].className; + } + this._trigger( "activate", null, data ); + } +} ); + + + +var safeActiveElement = $.ui.safeActiveElement = function( document ) { + var activeElement; + + // Support: IE 9 only + // IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe> + try { + activeElement = document.activeElement; + } catch ( error ) { + activeElement = document.body; + } + + // Support: IE 9 - 11 only + // IE may return null instead of an element + // Interestingly, this only seems to occur when NOT in an iframe + if ( !activeElement ) { + activeElement = document.body; + } + + // Support: IE 11 only + // IE11 returns a seemingly empty object in some cases when accessing + // document.activeElement from an <iframe> + if ( !activeElement.nodeName ) { + activeElement = document.body; + } + + return activeElement; +}; + + +/*! + * jQuery UI Menu 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Menu +//>>group: Widgets +//>>description: Creates nestable menus. +//>>docs: http://api.jqueryui.com/menu/ +//>>demos: http://jqueryui.com/menu/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/menu.css +//>>css.theme: ../../themes/base/theme.css + + + +var widgetsMenu = $.widget( "ui.menu", { + version: "1.12.1", + defaultElement: "<ul>", + delay: 300, + options: { + icons: { + submenu: "ui-icon-caret-1-e" + }, + items: "> *", + menus: "ul", + position: { + my: "left top", + at: "right top" + }, + role: "menu", + + // Callbacks + blur: null, + focus: null, + select: null + }, + + _create: function() { + this.activeMenu = this.element; + + // Flag used to prevent firing of the click handler + // as the event bubbles up through nested menus + this.mouseHandled = false; + this.element + .uniqueId() + .attr( { + role: this.options.role, + tabIndex: 0 + } ); + + this._addClass( "ui-menu", "ui-widget ui-widget-content" ); + this._on( { + + // Prevent focus from sticking to links inside menu after clicking + // them (focus should always stay on UL during navigation). + "mousedown .ui-menu-item": function( event ) { + event.preventDefault(); + }, + "click .ui-menu-item": function( event ) { + var target = $( event.target ); + var active = $( $.ui.safeActiveElement( this.document[ 0 ] ) ); + if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) { + this.select( event ); + + // Only set the mouseHandled flag if the event will bubble, see #9469. + if ( !event.isPropagationStopped() ) { + this.mouseHandled = true; + } + + // Open submenu on click + if ( target.has( ".ui-menu" ).length ) { + this.expand( event ); + } else if ( !this.element.is( ":focus" ) && + active.closest( ".ui-menu" ).length ) { + + // Redirect focus to the menu + this.element.trigger( "focus", [ true ] ); + + // If the active item is on the top level, let it stay active. + // Otherwise, blur the active item since it is no longer visible. + if ( this.active && this.active.parents( ".ui-menu" ).length === 1 ) { + clearTimeout( this.timer ); + } + } + } + }, + "mouseenter .ui-menu-item": function( event ) { + + // Ignore mouse events while typeahead is active, see #10458. + // Prevents focusing the wrong item when typeahead causes a scroll while the mouse + // is over an item in the menu + if ( this.previousFilter ) { + return; + } + + var actualTarget = $( event.target ).closest( ".ui-menu-item" ), + target = $( event.currentTarget ); + + // Ignore bubbled events on parent items, see #11641 + if ( actualTarget[ 0 ] !== target[ 0 ] ) { + return; + } + + // Remove ui-state-active class from siblings of the newly focused menu item + // to avoid a jump caused by adjacent elements both having a class with a border + this._removeClass( target.siblings().children( ".ui-state-active" ), + null, "ui-state-active" ); + this.focus( event, target ); + }, + mouseleave: "collapseAll", + "mouseleave .ui-menu": "collapseAll", + focus: function( event, keepActiveItem ) { + + // If there's already an active item, keep it active + // If not, activate the first item + var item = this.active || this.element.find( this.options.items ).eq( 0 ); + + if ( !keepActiveItem ) { + this.focus( event, item ); + } + }, + blur: function( event ) { + this._delay( function() { + var notContained = !$.contains( + this.element[ 0 ], + $.ui.safeActiveElement( this.document[ 0 ] ) + ); + if ( notContained ) { + this.collapseAll( event ); + } + } ); + }, + keydown: "_keydown" + } ); + + this.refresh(); + + // Clicks outside of a menu collapse any open menus + this._on( this.document, { + click: function( event ) { + if ( this._closeOnDocumentClick( event ) ) { + this.collapseAll( event ); + } + + // Reset the mouseHandled flag + this.mouseHandled = false; + } + } ); + }, + + _destroy: function() { + var items = this.element.find( ".ui-menu-item" ) + .removeAttr( "role aria-disabled" ), + submenus = items.children( ".ui-menu-item-wrapper" ) + .removeUniqueId() + .removeAttr( "tabIndex role aria-haspopup" ); + + // Destroy (sub)menus + this.element + .removeAttr( "aria-activedescendant" ) + .find( ".ui-menu" ).addBack() + .removeAttr( "role aria-labelledby aria-expanded aria-hidden aria-disabled " + + "tabIndex" ) + .removeUniqueId() + .show(); + + submenus.children().each( function() { + var elem = $( this ); + if ( elem.data( "ui-menu-submenu-caret" ) ) { + elem.remove(); + } + } ); + }, + + _keydown: function( event ) { + var match, prev, character, skip, + preventDefault = true; + + switch ( event.keyCode ) { + case $.ui.keyCode.PAGE_UP: + this.previousPage( event ); + break; + case $.ui.keyCode.PAGE_DOWN: + this.nextPage( event ); + break; + case $.ui.keyCode.HOME: + this._move( "first", "first", event ); + break; + case $.ui.keyCode.END: + this._move( "last", "last", event ); + break; + case $.ui.keyCode.UP: + this.previous( event ); + break; + case $.ui.keyCode.DOWN: + this.next( event ); + break; + case $.ui.keyCode.LEFT: + this.collapse( event ); + break; + case $.ui.keyCode.RIGHT: + if ( this.active && !this.active.is( ".ui-state-disabled" ) ) { + this.expand( event ); + } + break; + case $.ui.keyCode.ENTER: + case $.ui.keyCode.SPACE: + this._activate( event ); + break; + case $.ui.keyCode.ESCAPE: + this.collapse( event ); + break; + default: + preventDefault = false; + prev = this.previousFilter || ""; + skip = false; + + // Support number pad values + character = event.keyCode >= 96 && event.keyCode <= 105 ? + ( event.keyCode - 96 ).toString() : String.fromCharCode( event.keyCode ); + + clearTimeout( this.filterTimer ); + + if ( character === prev ) { + skip = true; + } else { + character = prev + character; + } + + match = this._filterMenuItems( character ); + match = skip && match.index( this.active.next() ) !== -1 ? + this.active.nextAll( ".ui-menu-item" ) : + match; + + // If no matches on the current filter, reset to the last character pressed + // to move down the menu to the first item that starts with that character + if ( !match.length ) { + character = String.fromCharCode( event.keyCode ); + match = this._filterMenuItems( character ); + } + + if ( match.length ) { + this.focus( event, match ); + this.previousFilter = character; + this.filterTimer = this._delay( function() { + delete this.previousFilter; + }, 1000 ); + } else { + delete this.previousFilter; + } + } + + if ( preventDefault ) { + event.preventDefault(); + } + }, + + _activate: function( event ) { + if ( this.active && !this.active.is( ".ui-state-disabled" ) ) { + if ( this.active.children( "[aria-haspopup='true']" ).length ) { + this.expand( event ); + } else { + this.select( event ); + } + } + }, + + refresh: function() { + var menus, items, newSubmenus, newItems, newWrappers, + that = this, + icon = this.options.icons.submenu, + submenus = this.element.find( this.options.menus ); + + this._toggleClass( "ui-menu-icons", null, !!this.element.find( ".ui-icon" ).length ); + + // Initialize nested menus + newSubmenus = submenus.filter( ":not(.ui-menu)" ) + .hide() + .attr( { + role: this.options.role, + "aria-hidden": "true", + "aria-expanded": "false" + } ) + .each( function() { + var menu = $( this ), + item = menu.prev(), + submenuCaret = $( "<span>" ).data( "ui-menu-submenu-caret", true ); + + that._addClass( submenuCaret, "ui-menu-icon", "ui-icon " + icon ); + item + .attr( "aria-haspopup", "true" ) + .prepend( submenuCaret ); + menu.attr( "aria-labelledby", item.attr( "id" ) ); + } ); + + this._addClass( newSubmenus, "ui-menu", "ui-widget ui-widget-content ui-front" ); + + menus = submenus.add( this.element ); + items = menus.find( this.options.items ); + + // Initialize menu-items containing spaces and/or dashes only as dividers + items.not( ".ui-menu-item" ).each( function() { + var item = $( this ); + if ( that._isDivider( item ) ) { + that._addClass( item, "ui-menu-divider", "ui-widget-content" ); + } + } ); + + // Don't refresh list items that are already adapted + newItems = items.not( ".ui-menu-item, .ui-menu-divider" ); + newWrappers = newItems.children() + .not( ".ui-menu" ) + .uniqueId() + .attr( { + tabIndex: -1, + role: this._itemRole() + } ); + this._addClass( newItems, "ui-menu-item" ) + ._addClass( newWrappers, "ui-menu-item-wrapper" ); + + // Add aria-disabled attribute to any disabled menu item + items.filter( ".ui-state-disabled" ).attr( "aria-disabled", "true" ); + + // If the active item has been removed, blur the menu + if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { + this.blur(); + } + }, + + _itemRole: function() { + return { + menu: "menuitem", + listbox: "option" + }[ this.options.role ]; + }, + + _setOption: function( key, value ) { + if ( key === "icons" ) { + var icons = this.element.find( ".ui-menu-icon" ); + this._removeClass( icons, null, this.options.icons.submenu ) + ._addClass( icons, null, value.submenu ); + } + this._super( key, value ); + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this.element.attr( "aria-disabled", String( value ) ); + this._toggleClass( null, "ui-state-disabled", !!value ); + }, + + focus: function( event, item ) { + var nested, focused, activeParent; + this.blur( event, event && event.type === "focus" ); + + this._scrollIntoView( item ); + + this.active = item.first(); + + focused = this.active.children( ".ui-menu-item-wrapper" ); + this._addClass( focused, null, "ui-state-active" ); + + // Only update aria-activedescendant if there's a role + // otherwise we assume focus is managed elsewhere + if ( this.options.role ) { + this.element.attr( "aria-activedescendant", focused.attr( "id" ) ); + } + + // Highlight active parent menu item, if any + activeParent = this.active + .parent() + .closest( ".ui-menu-item" ) + .children( ".ui-menu-item-wrapper" ); + this._addClass( activeParent, null, "ui-state-active" ); + + if ( event && event.type === "keydown" ) { + this._close(); + } else { + this.timer = this._delay( function() { + this._close(); + }, this.delay ); + } + + nested = item.children( ".ui-menu" ); + if ( nested.length && event && ( /^mouse/.test( event.type ) ) ) { + this._startOpening( nested ); + } + this.activeMenu = item.parent(); + + this._trigger( "focus", event, { item: item } ); + }, + + _scrollIntoView: function( item ) { + var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight; + if ( this._hasScroll() ) { + borderTop = parseFloat( $.css( this.activeMenu[ 0 ], "borderTopWidth" ) ) || 0; + paddingTop = parseFloat( $.css( this.activeMenu[ 0 ], "paddingTop" ) ) || 0; + offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop; + scroll = this.activeMenu.scrollTop(); + elementHeight = this.activeMenu.height(); + itemHeight = item.outerHeight(); + + if ( offset < 0 ) { + this.activeMenu.scrollTop( scroll + offset ); + } else if ( offset + itemHeight > elementHeight ) { + this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight ); + } + } + }, + + blur: function( event, fromFocus ) { + if ( !fromFocus ) { + clearTimeout( this.timer ); + } + + if ( !this.active ) { + return; + } + + this._removeClass( this.active.children( ".ui-menu-item-wrapper" ), + null, "ui-state-active" ); + + this._trigger( "blur", event, { item: this.active } ); + this.active = null; + }, + + _startOpening: function( submenu ) { + clearTimeout( this.timer ); + + // Don't open if already open fixes a Firefox bug that caused a .5 pixel + // shift in the submenu position when mousing over the caret icon + if ( submenu.attr( "aria-hidden" ) !== "true" ) { + return; + } + + this.timer = this._delay( function() { + this._close(); + this._open( submenu ); + }, this.delay ); + }, + + _open: function( submenu ) { + var position = $.extend( { + of: this.active + }, this.options.position ); + + clearTimeout( this.timer ); + this.element.find( ".ui-menu" ).not( submenu.parents( ".ui-menu" ) ) + .hide() + .attr( "aria-hidden", "true" ); + + submenu + .show() + .removeAttr( "aria-hidden" ) + .attr( "aria-expanded", "true" ) + .position( position ); + }, + + collapseAll: function( event, all ) { + clearTimeout( this.timer ); + this.timer = this._delay( function() { + + // If we were passed an event, look for the submenu that contains the event + var currentMenu = all ? this.element : + $( event && event.target ).closest( this.element.find( ".ui-menu" ) ); + + // If we found no valid submenu ancestor, use the main menu to close all + // sub menus anyway + if ( !currentMenu.length ) { + currentMenu = this.element; + } + + this._close( currentMenu ); + + this.blur( event ); + + // Work around active item staying active after menu is blurred + this._removeClass( currentMenu.find( ".ui-state-active" ), null, "ui-state-active" ); + + this.activeMenu = currentMenu; + }, this.delay ); + }, + + // With no arguments, closes the currently active menu - if nothing is active + // it closes all menus. If passed an argument, it will search for menus BELOW + _close: function( startMenu ) { + if ( !startMenu ) { + startMenu = this.active ? this.active.parent() : this.element; + } + + startMenu.find( ".ui-menu" ) + .hide() + .attr( "aria-hidden", "true" ) + .attr( "aria-expanded", "false" ); + }, + + _closeOnDocumentClick: function( event ) { + return !$( event.target ).closest( ".ui-menu" ).length; + }, + + _isDivider: function( item ) { + + // Match hyphen, em dash, en dash + return !/[^\-\u2014\u2013\s]/.test( item.text() ); + }, + + collapse: function( event ) { + var newItem = this.active && + this.active.parent().closest( ".ui-menu-item", this.element ); + if ( newItem && newItem.length ) { + this._close(); + this.focus( event, newItem ); + } + }, + + expand: function( event ) { + var newItem = this.active && + this.active + .children( ".ui-menu " ) + .find( this.options.items ) + .first(); + + if ( newItem && newItem.length ) { + this._open( newItem.parent() ); + + // Delay so Firefox will not hide activedescendant change in expanding submenu from AT + this._delay( function() { + this.focus( event, newItem ); + } ); + } + }, + + next: function( event ) { + this._move( "next", "first", event ); + }, + + previous: function( event ) { + this._move( "prev", "last", event ); + }, + + isFirstItem: function() { + return this.active && !this.active.prevAll( ".ui-menu-item" ).length; + }, + + isLastItem: function() { + return this.active && !this.active.nextAll( ".ui-menu-item" ).length; + }, + + _move: function( direction, filter, event ) { + var next; + if ( this.active ) { + if ( direction === "first" || direction === "last" ) { + next = this.active + [ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" ) + .eq( -1 ); + } else { + next = this.active + [ direction + "All" ]( ".ui-menu-item" ) + .eq( 0 ); + } + } + if ( !next || !next.length || !this.active ) { + next = this.activeMenu.find( this.options.items )[ filter ](); + } + + this.focus( event, next ); + }, + + nextPage: function( event ) { + var item, base, height; + + if ( !this.active ) { + this.next( event ); + return; + } + if ( this.isLastItem() ) { + return; + } + if ( this._hasScroll() ) { + base = this.active.offset().top; + height = this.element.height(); + this.active.nextAll( ".ui-menu-item" ).each( function() { + item = $( this ); + return item.offset().top - base - height < 0; + } ); + + this.focus( event, item ); + } else { + this.focus( event, this.activeMenu.find( this.options.items ) + [ !this.active ? "first" : "last" ]() ); + } + }, + + previousPage: function( event ) { + var item, base, height; + if ( !this.active ) { + this.next( event ); + return; + } + if ( this.isFirstItem() ) { + return; + } + if ( this._hasScroll() ) { + base = this.active.offset().top; + height = this.element.height(); + this.active.prevAll( ".ui-menu-item" ).each( function() { + item = $( this ); + return item.offset().top - base + height > 0; + } ); + + this.focus( event, item ); + } else { + this.focus( event, this.activeMenu.find( this.options.items ).first() ); + } + }, + + _hasScroll: function() { + return this.element.outerHeight() < this.element.prop( "scrollHeight" ); + }, + + select: function( event ) { + + // TODO: It should never be possible to not have an active item at this + // point, but the tests don't trigger mouseenter before click. + this.active = this.active || $( event.target ).closest( ".ui-menu-item" ); + var ui = { item: this.active }; + if ( !this.active.has( ".ui-menu" ).length ) { + this.collapseAll( event, true ); + } + this._trigger( "select", event, ui ); + }, + + _filterMenuItems: function( character ) { + var escapedCharacter = character.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ), + regex = new RegExp( "^" + escapedCharacter, "i" ); + + return this.activeMenu + .find( this.options.items ) + + // Only match on items, not dividers or other content (#10571) + .filter( ".ui-menu-item" ) + .filter( function() { + return regex.test( + $.trim( $( this ).children( ".ui-menu-item-wrapper" ).text() ) ); + } ); + } +} ); + + +/*! + * jQuery UI Autocomplete 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Autocomplete +//>>group: Widgets +//>>description: Lists suggested words as the user is typing. +//>>docs: http://api.jqueryui.com/autocomplete/ +//>>demos: http://jqueryui.com/autocomplete/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/autocomplete.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.autocomplete", { + version: "1.12.1", + defaultElement: "<input>", + options: { + appendTo: null, + autoFocus: false, + delay: 300, + minLength: 1, + position: { + my: "left top", + at: "left bottom", + collision: "none" + }, + source: null, + + // Callbacks + change: null, + close: null, + focus: null, + open: null, + response: null, + search: null, + select: null + }, + + requestIndex: 0, + pending: 0, + + _create: function() { + + // Some browsers only repeat keydown events, not keypress events, + // so we use the suppressKeyPress flag to determine if we've already + // handled the keydown event. #7269 + // Unfortunately the code for & in keypress is the same as the up arrow, + // so we use the suppressKeyPressRepeat flag to avoid handling keypress + // events when we know the keydown event was used to modify the + // search term. #7799 + var suppressKeyPress, suppressKeyPressRepeat, suppressInput, + nodeName = this.element[ 0 ].nodeName.toLowerCase(), + isTextarea = nodeName === "textarea", + isInput = nodeName === "input"; + + // Textareas are always multi-line + // Inputs are always single-line, even if inside a contentEditable element + // IE also treats inputs as contentEditable + // All other element types are determined by whether or not they're contentEditable + this.isMultiLine = isTextarea || !isInput && this._isContentEditable( this.element ); + + this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ]; + this.isNewMenu = true; + + this._addClass( "ui-autocomplete-input" ); + this.element.attr( "autocomplete", "off" ); + + this._on( this.element, { + keydown: function( event ) { + if ( this.element.prop( "readOnly" ) ) { + suppressKeyPress = true; + suppressInput = true; + suppressKeyPressRepeat = true; + return; + } + + suppressKeyPress = false; + suppressInput = false; + suppressKeyPressRepeat = false; + var keyCode = $.ui.keyCode; + switch ( event.keyCode ) { + case keyCode.PAGE_UP: + suppressKeyPress = true; + this._move( "previousPage", event ); + break; + case keyCode.PAGE_DOWN: + suppressKeyPress = true; + this._move( "nextPage", event ); + break; + case keyCode.UP: + suppressKeyPress = true; + this._keyEvent( "previous", event ); + break; + case keyCode.DOWN: + suppressKeyPress = true; + this._keyEvent( "next", event ); + break; + case keyCode.ENTER: + + // when menu is open and has focus + if ( this.menu.active ) { + + // #6055 - Opera still allows the keypress to occur + // which causes forms to submit + suppressKeyPress = true; + event.preventDefault(); + this.menu.select( event ); + } + break; + case keyCode.TAB: + if ( this.menu.active ) { + this.menu.select( event ); + } + break; + case keyCode.ESCAPE: + if ( this.menu.element.is( ":visible" ) ) { + if ( !this.isMultiLine ) { + this._value( this.term ); + } + this.close( event ); + + // Different browsers have different default behavior for escape + // Single press can mean undo or clear + // Double press in IE means clear the whole form + event.preventDefault(); + } + break; + default: + suppressKeyPressRepeat = true; + + // search timeout should be triggered before the input value is changed + this._searchTimeout( event ); + break; + } + }, + keypress: function( event ) { + if ( suppressKeyPress ) { + suppressKeyPress = false; + if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { + event.preventDefault(); + } + return; + } + if ( suppressKeyPressRepeat ) { + return; + } + + // Replicate some key handlers to allow them to repeat in Firefox and Opera + var keyCode = $.ui.keyCode; + switch ( event.keyCode ) { + case keyCode.PAGE_UP: + this._move( "previousPage", event ); + break; + case keyCode.PAGE_DOWN: + this._move( "nextPage", event ); + break; + case keyCode.UP: + this._keyEvent( "previous", event ); + break; + case keyCode.DOWN: + this._keyEvent( "next", event ); + break; + } + }, + input: function( event ) { + if ( suppressInput ) { + suppressInput = false; + event.preventDefault(); + return; + } + this._searchTimeout( event ); + }, + focus: function() { + this.selectedItem = null; + this.previous = this._value(); + }, + blur: function( event ) { + if ( this.cancelBlur ) { + delete this.cancelBlur; + return; + } + + clearTimeout( this.searching ); + this.close( event ); + this._change( event ); + } + } ); + + this._initSource(); + this.menu = $( "<ul>" ) + .appendTo( this._appendTo() ) + .menu( { + + // disable ARIA support, the live region takes care of that + role: null + } ) + .hide() + .menu( "instance" ); + + this._addClass( this.menu.element, "ui-autocomplete", "ui-front" ); + this._on( this.menu.element, { + mousedown: function( event ) { + + // prevent moving focus out of the text field + event.preventDefault(); + + // IE doesn't prevent moving focus even with event.preventDefault() + // so we set a flag to know when we should ignore the blur event + this.cancelBlur = true; + this._delay( function() { + delete this.cancelBlur; + + // Support: IE 8 only + // Right clicking a menu item or selecting text from the menu items will + // result in focus moving out of the input. However, we've already received + // and ignored the blur event because of the cancelBlur flag set above. So + // we restore focus to ensure that the menu closes properly based on the user's + // next actions. + if ( this.element[ 0 ] !== $.ui.safeActiveElement( this.document[ 0 ] ) ) { + this.element.trigger( "focus" ); + } + } ); + }, + menufocus: function( event, ui ) { + var label, item; + + // support: Firefox + // Prevent accidental activation of menu items in Firefox (#7024 #9118) + if ( this.isNewMenu ) { + this.isNewMenu = false; + if ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) { + this.menu.blur(); + + this.document.one( "mousemove", function() { + $( event.target ).trigger( event.originalEvent ); + } ); + + return; + } + } + + item = ui.item.data( "ui-autocomplete-item" ); + if ( false !== this._trigger( "focus", event, { item: item } ) ) { + + // use value to match what will end up in the input, if it was a key event + if ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) { + this._value( item.value ); + } + } + + // Announce the value in the liveRegion + label = ui.item.attr( "aria-label" ) || item.value; + if ( label && $.trim( label ).length ) { + this.liveRegion.children().hide(); + $( "<div>" ).text( label ).appendTo( this.liveRegion ); + } + }, + menuselect: function( event, ui ) { + var item = ui.item.data( "ui-autocomplete-item" ), + previous = this.previous; + + // Only trigger when focus was lost (click on menu) + if ( this.element[ 0 ] !== $.ui.safeActiveElement( this.document[ 0 ] ) ) { + this.element.trigger( "focus" ); + this.previous = previous; + + // #6109 - IE triggers two focus events and the second + // is asynchronous, so we need to reset the previous + // term synchronously and asynchronously :-( + this._delay( function() { + this.previous = previous; + this.selectedItem = item; + } ); + } + + if ( false !== this._trigger( "select", event, { item: item } ) ) { + this._value( item.value ); + } + + // reset the term after the select event + // this allows custom select handling to work properly + this.term = this._value(); + + this.close( event ); + this.selectedItem = item; + } + } ); + + this.liveRegion = $( "<div>", { + role: "status", + "aria-live": "assertive", + "aria-relevant": "additions" + } ) + .appendTo( this.document[ 0 ].body ); + + this._addClass( this.liveRegion, null, "ui-helper-hidden-accessible" ); + + // Turning off autocomplete prevents the browser from remembering the + // value when navigating through history, so we re-enable autocomplete + // if the page is unloaded before the widget is destroyed. #7790 + this._on( this.window, { + beforeunload: function() { + this.element.removeAttr( "autocomplete" ); + } + } ); + }, + + _destroy: function() { + clearTimeout( this.searching ); + this.element.removeAttr( "autocomplete" ); + this.menu.element.remove(); + this.liveRegion.remove(); + }, + + _setOption: function( key, value ) { + this._super( key, value ); + if ( key === "source" ) { + this._initSource(); + } + if ( key === "appendTo" ) { + this.menu.element.appendTo( this._appendTo() ); + } + if ( key === "disabled" && value && this.xhr ) { + this.xhr.abort(); + } + }, + + _isEventTargetInWidget: function( event ) { + var menuElement = this.menu.element[ 0 ]; + + return event.target === this.element[ 0 ] || + event.target === menuElement || + $.contains( menuElement, event.target ); + }, + + _closeOnClickOutside: function( event ) { + if ( !this._isEventTargetInWidget( event ) ) { + this.close(); + } + }, + + _appendTo: function() { + var element = this.options.appendTo; + + if ( element ) { + element = element.jquery || element.nodeType ? + $( element ) : + this.document.find( element ).eq( 0 ); + } + + if ( !element || !element[ 0 ] ) { + element = this.element.closest( ".ui-front, dialog" ); + } + + if ( !element.length ) { + element = this.document[ 0 ].body; + } + + return element; + }, + + _initSource: function() { + var array, url, + that = this; + if ( $.isArray( this.options.source ) ) { + array = this.options.source; + this.source = function( request, response ) { + response( $.ui.autocomplete.filter( array, request.term ) ); + }; + } else if ( typeof this.options.source === "string" ) { + url = this.options.source; + this.source = function( request, response ) { + if ( that.xhr ) { + that.xhr.abort(); + } + that.xhr = $.ajax( { + url: url, + data: request, + dataType: "json", + success: function( data ) { + response( data ); + }, + error: function() { + response( [] ); + } + } ); + }; + } else { + this.source = this.options.source; + } + }, + + _searchTimeout: function( event ) { + clearTimeout( this.searching ); + this.searching = this._delay( function() { + + // Search if the value has changed, or if the user retypes the same value (see #7434) + var equalValues = this.term === this._value(), + menuVisible = this.menu.element.is( ":visible" ), + modifierKey = event.altKey || event.ctrlKey || event.metaKey || event.shiftKey; + + if ( !equalValues || ( equalValues && !menuVisible && !modifierKey ) ) { + this.selectedItem = null; + this.search( null, event ); + } + }, this.options.delay ); + }, + + search: function( value, event ) { + value = value != null ? value : this._value(); + + // Always save the actual value, not the one passed as an argument + this.term = this._value(); + + if ( value.length < this.options.minLength ) { + return this.close( event ); + } + + if ( this._trigger( "search", event ) === false ) { + return; + } + + return this._search( value ); + }, + + _search: function( value ) { + this.pending++; + this._addClass( "ui-autocomplete-loading" ); + this.cancelSearch = false; + + this.source( { term: value }, this._response() ); + }, + + _response: function() { + var index = ++this.requestIndex; + + return $.proxy( function( content ) { + if ( index === this.requestIndex ) { + this.__response( content ); + } + + this.pending--; + if ( !this.pending ) { + this._removeClass( "ui-autocomplete-loading" ); + } + }, this ); + }, + + __response: function( content ) { + if ( content ) { + content = this._normalize( content ); + } + this._trigger( "response", null, { content: content } ); + if ( !this.options.disabled && content && content.length && !this.cancelSearch ) { + this._suggest( content ); + this._trigger( "open" ); + } else { + + // use ._close() instead of .close() so we don't cancel future searches + this._close(); + } + }, + + close: function( event ) { + this.cancelSearch = true; + this._close( event ); + }, + + _close: function( event ) { + + // Remove the handler that closes the menu on outside clicks + this._off( this.document, "mousedown" ); + + if ( this.menu.element.is( ":visible" ) ) { + this.menu.element.hide(); + this.menu.blur(); + this.isNewMenu = true; + this._trigger( "close", event ); + } + }, + + _change: function( event ) { + if ( this.previous !== this._value() ) { + this._trigger( "change", event, { item: this.selectedItem } ); + } + }, + + _normalize: function( items ) { + + // assume all items have the right format when the first item is complete + if ( items.length && items[ 0 ].label && items[ 0 ].value ) { + return items; + } + return $.map( items, function( item ) { + if ( typeof item === "string" ) { + return { + label: item, + value: item + }; + } + return $.extend( {}, item, { + label: item.label || item.value, + value: item.value || item.label + } ); + } ); + }, + + _suggest: function( items ) { + var ul = this.menu.element.empty(); + this._renderMenu( ul, items ); + this.isNewMenu = true; + this.menu.refresh(); + + // Size and position menu + ul.show(); + this._resizeMenu(); + ul.position( $.extend( { + of: this.element + }, this.options.position ) ); + + if ( this.options.autoFocus ) { + this.menu.next(); + } + + // Listen for interactions outside of the widget (#6642) + this._on( this.document, { + mousedown: "_closeOnClickOutside" + } ); + }, + + _resizeMenu: function() { + var ul = this.menu.element; + ul.outerWidth( Math.max( + + // Firefox wraps long text (possibly a rounding bug) + // so we add 1px to avoid the wrapping (#7513) + ul.width( "" ).outerWidth() + 1, + this.element.outerWidth() + ) ); + }, + + _renderMenu: function( ul, items ) { + var that = this; + $.each( items, function( index, item ) { + that._renderItemData( ul, item ); + } ); + }, + + _renderItemData: function( ul, item ) { + return this._renderItem( ul, item ).data( "ui-autocomplete-item", item ); + }, + + _renderItem: function( ul, item ) { + return $( "<li>" ) + .append( $( "<div>" ).text( item.label ) ) + .appendTo( ul ); + }, + + _move: function( direction, event ) { + if ( !this.menu.element.is( ":visible" ) ) { + this.search( null, event ); + return; + } + if ( this.menu.isFirstItem() && /^previous/.test( direction ) || + this.menu.isLastItem() && /^next/.test( direction ) ) { + + if ( !this.isMultiLine ) { + this._value( this.term ); + } + + this.menu.blur(); + return; + } + this.menu[ direction ]( event ); + }, + + widget: function() { + return this.menu.element; + }, + + _value: function() { + return this.valueMethod.apply( this.element, arguments ); + }, + + _keyEvent: function( keyEvent, event ) { + if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { + this._move( keyEvent, event ); + + // Prevents moving cursor to beginning/end of the text field in some browsers + event.preventDefault(); + } + }, + + // Support: Chrome <=50 + // We should be able to just use this.element.prop( "isContentEditable" ) + // but hidden elements always report false in Chrome. + // https://code.google.com/p/chromium/issues/detail?id=313082 + _isContentEditable: function( element ) { + if ( !element.length ) { + return false; + } + + var editable = element.prop( "contentEditable" ); + + if ( editable === "inherit" ) { + return this._isContentEditable( element.parent() ); + } + + return editable === "true"; + } +} ); + +$.extend( $.ui.autocomplete, { + escapeRegex: function( value ) { + return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ); + }, + filter: function( array, term ) { + var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), "i" ); + return $.grep( array, function( value ) { + return matcher.test( value.label || value.value || value ); + } ); + } +} ); + +// Live region extension, adding a `messages` option +// NOTE: This is an experimental API. We are still investigating +// a full solution for string manipulation and internationalization. +$.widget( "ui.autocomplete", $.ui.autocomplete, { + options: { + messages: { + noResults: "No search results.", + results: function( amount ) { + return amount + ( amount > 1 ? " results are" : " result is" ) + + " available, use up and down arrow keys to navigate."; + } + } + }, + + __response: function( content ) { + var message; + this._superApply( arguments ); + if ( this.options.disabled || this.cancelSearch ) { + return; + } + if ( content && content.length ) { + message = this.options.messages.results( content.length ); + } else { + message = this.options.messages.noResults; + } + this.liveRegion.children().hide(); + $( "<div>" ).text( message ).appendTo( this.liveRegion ); + } +} ); + +var widgetsAutocomplete = $.ui.autocomplete; + + +/*! + * jQuery UI Controlgroup 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Controlgroup +//>>group: Widgets +//>>description: Visually groups form control widgets +//>>docs: http://api.jqueryui.com/controlgroup/ +//>>demos: http://jqueryui.com/controlgroup/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/controlgroup.css +//>>css.theme: ../../themes/base/theme.css + + +var controlgroupCornerRegex = /ui-corner-([a-z]){2,6}/g; + +var widgetsControlgroup = $.widget( "ui.controlgroup", { + version: "1.12.1", + defaultElement: "<div>", + options: { + direction: "horizontal", + disabled: null, + onlyVisible: true, + items: { + "button": "input[type=button], input[type=submit], input[type=reset], button, a", + "controlgroupLabel": ".ui-controlgroup-label", + "checkboxradio": "input[type='checkbox'], input[type='radio']", + "selectmenu": "select", + "spinner": ".ui-spinner-input" + } + }, + + _create: function() { + this._enhance(); + }, + + // To support the enhanced option in jQuery Mobile, we isolate DOM manipulation + _enhance: function() { + this.element.attr( "role", "toolbar" ); + this.refresh(); + }, + + _destroy: function() { + this._callChildMethod( "destroy" ); + this.childWidgets.removeData( "ui-controlgroup-data" ); + this.element.removeAttr( "role" ); + if ( this.options.items.controlgroupLabel ) { + this.element + .find( this.options.items.controlgroupLabel ) + .find( ".ui-controlgroup-label-contents" ) + .contents().unwrap(); + } + }, + + _initWidgets: function() { + var that = this, + childWidgets = []; + + // First we iterate over each of the items options + $.each( this.options.items, function( widget, selector ) { + var labels; + var options = {}; + + // Make sure the widget has a selector set + if ( !selector ) { + return; + } + + if ( widget === "controlgroupLabel" ) { + labels = that.element.find( selector ); + labels.each( function() { + var element = $( this ); + + if ( element.children( ".ui-controlgroup-label-contents" ).length ) { + return; + } + element.contents() + .wrapAll( "<span class='ui-controlgroup-label-contents'></span>" ); + } ); + that._addClass( labels, null, "ui-widget ui-widget-content ui-state-default" ); + childWidgets = childWidgets.concat( labels.get() ); + return; + } + + // Make sure the widget actually exists + if ( !$.fn[ widget ] ) { + return; + } + + // We assume everything is in the middle to start because we can't determine + // first / last elements until all enhancments are done. + if ( that[ "_" + widget + "Options" ] ) { + options = that[ "_" + widget + "Options" ]( "middle" ); + } else { + options = { classes: {} }; + } + + // Find instances of this widget inside controlgroup and init them + that.element + .find( selector ) + .each( function() { + var element = $( this ); + var instance = element[ widget ]( "instance" ); + + // We need to clone the default options for this type of widget to avoid + // polluting the variable options which has a wider scope than a single widget. + var instanceOptions = $.widget.extend( {}, options ); + + // If the button is the child of a spinner ignore it + // TODO: Find a more generic solution + if ( widget === "button" && element.parent( ".ui-spinner" ).length ) { + return; + } + + // Create the widget if it doesn't exist + if ( !instance ) { + instance = element[ widget ]()[ widget ]( "instance" ); + } + if ( instance ) { + instanceOptions.classes = + that._resolveClassesValues( instanceOptions.classes, instance ); + } + element[ widget ]( instanceOptions ); + + // Store an instance of the controlgroup to be able to reference + // from the outermost element for changing options and refresh + var widgetElement = element[ widget ]( "widget" ); + $.data( widgetElement[ 0 ], "ui-controlgroup-data", + instance ? instance : element[ widget ]( "instance" ) ); + + childWidgets.push( widgetElement[ 0 ] ); + } ); + } ); + + this.childWidgets = $( $.unique( childWidgets ) ); + this._addClass( this.childWidgets, "ui-controlgroup-item" ); + }, + + _callChildMethod: function( method ) { + this.childWidgets.each( function() { + var element = $( this ), + data = element.data( "ui-controlgroup-data" ); + if ( data && data[ method ] ) { + data[ method ](); + } + } ); + }, + + _updateCornerClass: function( element, position ) { + var remove = "ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"; + var add = this._buildSimpleOptions( position, "label" ).classes.label; + + this._removeClass( element, null, remove ); + this._addClass( element, null, add ); + }, + + _buildSimpleOptions: function( position, key ) { + var direction = this.options.direction === "vertical"; + var result = { + classes: {} + }; + result.classes[ key ] = { + "middle": "", + "first": "ui-corner-" + ( direction ? "top" : "left" ), + "last": "ui-corner-" + ( direction ? "bottom" : "right" ), + "only": "ui-corner-all" + }[ position ]; + + return result; + }, + + _spinnerOptions: function( position ) { + var options = this._buildSimpleOptions( position, "ui-spinner" ); + + options.classes[ "ui-spinner-up" ] = ""; + options.classes[ "ui-spinner-down" ] = ""; + + return options; + }, + + _buttonOptions: function( position ) { + return this._buildSimpleOptions( position, "ui-button" ); + }, + + _checkboxradioOptions: function( position ) { + return this._buildSimpleOptions( position, "ui-checkboxradio-label" ); + }, + + _selectmenuOptions: function( position ) { + var direction = this.options.direction === "vertical"; + return { + width: direction ? "auto" : false, + classes: { + middle: { + "ui-selectmenu-button-open": "", + "ui-selectmenu-button-closed": "" + }, + first: { + "ui-selectmenu-button-open": "ui-corner-" + ( direction ? "top" : "tl" ), + "ui-selectmenu-button-closed": "ui-corner-" + ( direction ? "top" : "left" ) + }, + last: { + "ui-selectmenu-button-open": direction ? "" : "ui-corner-tr", + "ui-selectmenu-button-closed": "ui-corner-" + ( direction ? "bottom" : "right" ) + }, + only: { + "ui-selectmenu-button-open": "ui-corner-top", + "ui-selectmenu-button-closed": "ui-corner-all" + } + + }[ position ] + }; + }, + + _resolveClassesValues: function( classes, instance ) { + var result = {}; + $.each( classes, function( key ) { + var current = instance.options.classes[ key ] || ""; + current = $.trim( current.replace( controlgroupCornerRegex, "" ) ); + result[ key ] = ( current + " " + classes[ key ] ).replace( /\s+/g, " " ); + } ); + return result; + }, + + _setOption: function( key, value ) { + if ( key === "direction" ) { + this._removeClass( "ui-controlgroup-" + this.options.direction ); + } + + this._super( key, value ); + if ( key === "disabled" ) { + this._callChildMethod( value ? "disable" : "enable" ); + return; + } + + this.refresh(); + }, + + refresh: function() { + var children, + that = this; + + this._addClass( "ui-controlgroup ui-controlgroup-" + this.options.direction ); + + if ( this.options.direction === "horizontal" ) { + this._addClass( null, "ui-helper-clearfix" ); + } + this._initWidgets(); + + children = this.childWidgets; + + // We filter here because we need to track all childWidgets not just the visible ones + if ( this.options.onlyVisible ) { + children = children.filter( ":visible" ); + } + + if ( children.length ) { + + // We do this last because we need to make sure all enhancment is done + // before determining first and last + $.each( [ "first", "last" ], function( index, value ) { + var instance = children[ value ]().data( "ui-controlgroup-data" ); + + if ( instance && that[ "_" + instance.widgetName + "Options" ] ) { + var options = that[ "_" + instance.widgetName + "Options" ]( + children.length === 1 ? "only" : value + ); + options.classes = that._resolveClassesValues( options.classes, instance ); + instance.element[ instance.widgetName ]( options ); + } else { + that._updateCornerClass( children[ value ](), value ); + } + } ); + + // Finally call the refresh method on each of the child widgets. + this._callChildMethod( "refresh" ); + } + } +} ); + +/*! + * jQuery UI Checkboxradio 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Checkboxradio +//>>group: Widgets +//>>description: Enhances a form with multiple themeable checkboxes or radio buttons. +//>>docs: http://api.jqueryui.com/checkboxradio/ +//>>demos: http://jqueryui.com/checkboxradio/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/button.css +//>>css.structure: ../../themes/base/checkboxradio.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.checkboxradio", [ $.ui.formResetMixin, { + version: "1.12.1", + options: { + disabled: null, + label: null, + icon: true, + classes: { + "ui-checkboxradio-label": "ui-corner-all", + "ui-checkboxradio-icon": "ui-corner-all" + } + }, + + _getCreateOptions: function() { + var disabled, labels; + var that = this; + var options = this._super() || {}; + + // We read the type here, because it makes more sense to throw a element type error first, + // rather then the error for lack of a label. Often if its the wrong type, it + // won't have a label (e.g. calling on a div, btn, etc) + this._readType(); + + labels = this.element.labels(); + + // If there are multiple labels, use the last one + this.label = $( labels[ labels.length - 1 ] ); + if ( !this.label.length ) { + $.error( "No label found for checkboxradio widget" ); + } + + this.originalLabel = ""; + + // We need to get the label text but this may also need to make sure it does not contain the + // input itself. + this.label.contents().not( this.element[ 0 ] ).each( function() { + + // The label contents could be text, html, or a mix. We concat each element to get a + // string representation of the label, without the input as part of it. + that.originalLabel += this.nodeType === 3 ? $( this ).text() : this.outerHTML; + } ); + + // Set the label option if we found label text + if ( this.originalLabel ) { + options.label = this.originalLabel; + } + + disabled = this.element[ 0 ].disabled; + if ( disabled != null ) { + options.disabled = disabled; + } + return options; + }, + + _create: function() { + var checked = this.element[ 0 ].checked; + + this._bindFormResetHandler(); + + if ( this.options.disabled == null ) { + this.options.disabled = this.element[ 0 ].disabled; + } + + this._setOption( "disabled", this.options.disabled ); + this._addClass( "ui-checkboxradio", "ui-helper-hidden-accessible" ); + this._addClass( this.label, "ui-checkboxradio-label", "ui-button ui-widget" ); + + if ( this.type === "radio" ) { + this._addClass( this.label, "ui-checkboxradio-radio-label" ); + } + + if ( this.options.label && this.options.label !== this.originalLabel ) { + this._updateLabel(); + } else if ( this.originalLabel ) { + this.options.label = this.originalLabel; + } + + this._enhance(); + + if ( checked ) { + this._addClass( this.label, "ui-checkboxradio-checked", "ui-state-active" ); + if ( this.icon ) { + this._addClass( this.icon, null, "ui-state-hover" ); + } + } + + this._on( { + change: "_toggleClasses", + focus: function() { + this._addClass( this.label, null, "ui-state-focus ui-visual-focus" ); + }, + blur: function() { + this._removeClass( this.label, null, "ui-state-focus ui-visual-focus" ); + } + } ); + }, + + _readType: function() { + var nodeName = this.element[ 0 ].nodeName.toLowerCase(); + this.type = this.element[ 0 ].type; + if ( nodeName !== "input" || !/radio|checkbox/.test( this.type ) ) { + $.error( "Can't create checkboxradio on element.nodeName=" + nodeName + + " and element.type=" + this.type ); + } + }, + + // Support jQuery Mobile enhanced option + _enhance: function() { + this._updateIcon( this.element[ 0 ].checked ); + }, + + widget: function() { + return this.label; + }, + + _getRadioGroup: function() { + var group; + var name = this.element[ 0 ].name; + var nameSelector = "input[name='" + $.ui.escapeSelector( name ) + "']"; + + if ( !name ) { + return $( [] ); + } + + if ( this.form.length ) { + group = $( this.form[ 0 ].elements ).filter( nameSelector ); + } else { + + // Not inside a form, check all inputs that also are not inside a form + group = $( nameSelector ).filter( function() { + return $( this ).form().length === 0; + } ); + } + + return group.not( this.element ); + }, + + _toggleClasses: function() { + var checked = this.element[ 0 ].checked; + this._toggleClass( this.label, "ui-checkboxradio-checked", "ui-state-active", checked ); + + if ( this.options.icon && this.type === "checkbox" ) { + this._toggleClass( this.icon, null, "ui-icon-check ui-state-checked", checked ) + ._toggleClass( this.icon, null, "ui-icon-blank", !checked ); + } + + if ( this.type === "radio" ) { + this._getRadioGroup() + .each( function() { + var instance = $( this ).checkboxradio( "instance" ); + + if ( instance ) { + instance._removeClass( instance.label, + "ui-checkboxradio-checked", "ui-state-active" ); + } + } ); + } + }, + + _destroy: function() { + this._unbindFormResetHandler(); + + if ( this.icon ) { + this.icon.remove(); + this.iconSpace.remove(); + } + }, + + _setOption: function( key, value ) { + + // We don't allow the value to be set to nothing + if ( key === "label" && !value ) { + return; + } + + this._super( key, value ); + + if ( key === "disabled" ) { + this._toggleClass( this.label, null, "ui-state-disabled", value ); + this.element[ 0 ].disabled = value; + + // Don't refresh when setting disabled + return; + } + this.refresh(); + }, + + _updateIcon: function( checked ) { + var toAdd = "ui-icon ui-icon-background "; + + if ( this.options.icon ) { + if ( !this.icon ) { + this.icon = $( "<span>" ); + this.iconSpace = $( "<span> </span>" ); + this._addClass( this.iconSpace, "ui-checkboxradio-icon-space" ); + } + + if ( this.type === "checkbox" ) { + toAdd += checked ? "ui-icon-check ui-state-checked" : "ui-icon-blank"; + this._removeClass( this.icon, null, checked ? "ui-icon-blank" : "ui-icon-check" ); + } else { + toAdd += "ui-icon-blank"; + } + this._addClass( this.icon, "ui-checkboxradio-icon", toAdd ); + if ( !checked ) { + this._removeClass( this.icon, null, "ui-icon-check ui-state-checked" ); + } + this.icon.prependTo( this.label ).after( this.iconSpace ); + } else if ( this.icon !== undefined ) { + this.icon.remove(); + this.iconSpace.remove(); + delete this.icon; + } + }, + + _updateLabel: function() { + + // Remove the contents of the label ( minus the icon, icon space, and input ) + var contents = this.label.contents().not( this.element[ 0 ] ); + if ( this.icon ) { + contents = contents.not( this.icon[ 0 ] ); + } + if ( this.iconSpace ) { + contents = contents.not( this.iconSpace[ 0 ] ); + } + contents.remove(); + + this.label.append( this.options.label ); + }, + + refresh: function() { + var checked = this.element[ 0 ].checked, + isDisabled = this.element[ 0 ].disabled; + + this._updateIcon( checked ); + this._toggleClass( this.label, "ui-checkboxradio-checked", "ui-state-active", checked ); + if ( this.options.label !== null ) { + this._updateLabel(); + } + + if ( isDisabled !== this.options.disabled ) { + this._setOptions( { "disabled": isDisabled } ); + } + } + +} ] ); + +var widgetsCheckboxradio = $.ui.checkboxradio; + + +/*! + * jQuery UI Button 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Button +//>>group: Widgets +//>>description: Enhances a form with themeable buttons. +//>>docs: http://api.jqueryui.com/button/ +//>>demos: http://jqueryui.com/button/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/button.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.button", { + version: "1.12.1", + defaultElement: "<button>", + options: { + classes: { + "ui-button": "ui-corner-all" + }, + disabled: null, + icon: null, + iconPosition: "beginning", + label: null, + showLabel: true + }, + + _getCreateOptions: function() { + var disabled, + + // This is to support cases like in jQuery Mobile where the base widget does have + // an implementation of _getCreateOptions + options = this._super() || {}; + + this.isInput = this.element.is( "input" ); + + disabled = this.element[ 0 ].disabled; + if ( disabled != null ) { + options.disabled = disabled; + } + + this.originalLabel = this.isInput ? this.element.val() : this.element.html(); + if ( this.originalLabel ) { + options.label = this.originalLabel; + } + + return options; + }, + + _create: function() { + if ( !this.option.showLabel & !this.options.icon ) { + this.options.showLabel = true; + } + + // We have to check the option again here even though we did in _getCreateOptions, + // because null may have been passed on init which would override what was set in + // _getCreateOptions + if ( this.options.disabled == null ) { + this.options.disabled = this.element[ 0 ].disabled || false; + } + + this.hasTitle = !!this.element.attr( "title" ); + + // Check to see if the label needs to be set or if its already correct + if ( this.options.label && this.options.label !== this.originalLabel ) { + if ( this.isInput ) { + this.element.val( this.options.label ); + } else { + this.element.html( this.options.label ); + } + } + this._addClass( "ui-button", "ui-widget" ); + this._setOption( "disabled", this.options.disabled ); + this._enhance(); + + if ( this.element.is( "a" ) ) { + this._on( { + "keyup": function( event ) { + if ( event.keyCode === $.ui.keyCode.SPACE ) { + event.preventDefault(); + + // Support: PhantomJS <= 1.9, IE 8 Only + // If a native click is available use it so we actually cause navigation + // otherwise just trigger a click event + if ( this.element[ 0 ].click ) { + this.element[ 0 ].click(); + } else { + this.element.trigger( "click" ); + } + } + } + } ); + } + }, + + _enhance: function() { + if ( !this.element.is( "button" ) ) { + this.element.attr( "role", "button" ); + } + + if ( this.options.icon ) { + this._updateIcon( "icon", this.options.icon ); + this._updateTooltip(); + } + }, + + _updateTooltip: function() { + this.title = this.element.attr( "title" ); + + if ( !this.options.showLabel && !this.title ) { + this.element.attr( "title", this.options.label ); + } + }, + + _updateIcon: function( option, value ) { + var icon = option !== "iconPosition", + position = icon ? this.options.iconPosition : value, + displayBlock = position === "top" || position === "bottom"; + + // Create icon + if ( !this.icon ) { + this.icon = $( "<span>" ); + + this._addClass( this.icon, "ui-button-icon", "ui-icon" ); + + if ( !this.options.showLabel ) { + this._addClass( "ui-button-icon-only" ); + } + } else if ( icon ) { + + // If we are updating the icon remove the old icon class + this._removeClass( this.icon, null, this.options.icon ); + } + + // If we are updating the icon add the new icon class + if ( icon ) { + this._addClass( this.icon, null, value ); + } + + this._attachIcon( position ); + + // If the icon is on top or bottom we need to add the ui-widget-icon-block class and remove + // the iconSpace if there is one. + if ( displayBlock ) { + this._addClass( this.icon, null, "ui-widget-icon-block" ); + if ( this.iconSpace ) { + this.iconSpace.remove(); + } + } else { + + // Position is beginning or end so remove the ui-widget-icon-block class and add the + // space if it does not exist + if ( !this.iconSpace ) { + this.iconSpace = $( "<span> </span>" ); + this._addClass( this.iconSpace, "ui-button-icon-space" ); + } + this._removeClass( this.icon, null, "ui-wiget-icon-block" ); + this._attachIconSpace( position ); + } + }, + + _destroy: function() { + this.element.removeAttr( "role" ); + + if ( this.icon ) { + this.icon.remove(); + } + if ( this.iconSpace ) { + this.iconSpace.remove(); + } + if ( !this.hasTitle ) { + this.element.removeAttr( "title" ); + } + }, + + _attachIconSpace: function( iconPosition ) { + this.icon[ /^(?:end|bottom)/.test( iconPosition ) ? "before" : "after" ]( this.iconSpace ); + }, + + _attachIcon: function( iconPosition ) { + this.element[ /^(?:end|bottom)/.test( iconPosition ) ? "append" : "prepend" ]( this.icon ); + }, + + _setOptions: function( options ) { + var newShowLabel = options.showLabel === undefined ? + this.options.showLabel : + options.showLabel, + newIcon = options.icon === undefined ? this.options.icon : options.icon; + + if ( !newShowLabel && !newIcon ) { + options.showLabel = true; + } + this._super( options ); + }, + + _setOption: function( key, value ) { + if ( key === "icon" ) { + if ( value ) { + this._updateIcon( key, value ); + } else if ( this.icon ) { + this.icon.remove(); + if ( this.iconSpace ) { + this.iconSpace.remove(); + } + } + } + + if ( key === "iconPosition" ) { + this._updateIcon( key, value ); + } + + // Make sure we can't end up with a button that has neither text nor icon + if ( key === "showLabel" ) { + this._toggleClass( "ui-button-icon-only", null, !value ); + this._updateTooltip(); + } + + if ( key === "label" ) { + if ( this.isInput ) { + this.element.val( value ); + } else { + + // If there is an icon, append it, else nothing then append the value + // this avoids removal of the icon when setting label text + this.element.html( value ); + if ( this.icon ) { + this._attachIcon( this.options.iconPosition ); + this._attachIconSpace( this.options.iconPosition ); + } + } + } + + this._super( key, value ); + + if ( key === "disabled" ) { + this._toggleClass( null, "ui-state-disabled", value ); + this.element[ 0 ].disabled = value; + if ( value ) { + this.element.blur(); + } + } + }, + + refresh: function() { + + // Make sure to only check disabled if its an element that supports this otherwise + // check for the disabled class to determine state + var isDisabled = this.element.is( "input, button" ) ? + this.element[ 0 ].disabled : this.element.hasClass( "ui-button-disabled" ); + + if ( isDisabled !== this.options.disabled ) { + this._setOptions( { disabled: isDisabled } ); + } + + this._updateTooltip(); + } +} ); + +// DEPRECATED +if ( $.uiBackCompat !== false ) { + + // Text and Icons options + $.widget( "ui.button", $.ui.button, { + options: { + text: true, + icons: { + primary: null, + secondary: null + } + }, + + _create: function() { + if ( this.options.showLabel && !this.options.text ) { + this.options.showLabel = this.options.text; + } + if ( !this.options.showLabel && this.options.text ) { + this.options.text = this.options.showLabel; + } + if ( !this.options.icon && ( this.options.icons.primary || + this.options.icons.secondary ) ) { + if ( this.options.icons.primary ) { + this.options.icon = this.options.icons.primary; + } else { + this.options.icon = this.options.icons.secondary; + this.options.iconPosition = "end"; + } + } else if ( this.options.icon ) { + this.options.icons.primary = this.options.icon; + } + this._super(); + }, + + _setOption: function( key, value ) { + if ( key === "text" ) { + this._super( "showLabel", value ); + return; + } + if ( key === "showLabel" ) { + this.options.text = value; + } + if ( key === "icon" ) { + this.options.icons.primary = value; + } + if ( key === "icons" ) { + if ( value.primary ) { + this._super( "icon", value.primary ); + this._super( "iconPosition", "beginning" ); + } else if ( value.secondary ) { + this._super( "icon", value.secondary ); + this._super( "iconPosition", "end" ); + } + } + this._superApply( arguments ); + } + } ); + + $.fn.button = ( function( orig ) { + return function() { + if ( !this.length || ( this.length && this[ 0 ].tagName !== "INPUT" ) || + ( this.length && this[ 0 ].tagName === "INPUT" && ( + this.attr( "type" ) !== "checkbox" && this.attr( "type" ) !== "radio" + ) ) ) { + return orig.apply( this, arguments ); + } + if ( !$.ui.checkboxradio ) { + $.error( "Checkboxradio widget missing" ); + } + if ( arguments.length === 0 ) { + return this.checkboxradio( { + "icon": false + } ); + } + return this.checkboxradio.apply( this, arguments ); + }; + } )( $.fn.button ); + + $.fn.buttonset = function() { + if ( !$.ui.controlgroup ) { + $.error( "Controlgroup widget missing" ); + } + if ( arguments[ 0 ] === "option" && arguments[ 1 ] === "items" && arguments[ 2 ] ) { + return this.controlgroup.apply( this, + [ arguments[ 0 ], "items.button", arguments[ 2 ] ] ); + } + if ( arguments[ 0 ] === "option" && arguments[ 1 ] === "items" ) { + return this.controlgroup.apply( this, [ arguments[ 0 ], "items.button" ] ); + } + if ( typeof arguments[ 0 ] === "object" && arguments[ 0 ].items ) { + arguments[ 0 ].items = { + button: arguments[ 0 ].items + }; + } + return this.controlgroup.apply( this, arguments ); + }; +} + +var widgetsButton = $.ui.button; + + +// jscs:disable maximumLineLength +/* jscs:disable requireCamelCaseOrUpperCaseIdentifiers */ +/*! + * jQuery UI Datepicker 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Datepicker +//>>group: Widgets +//>>description: Displays a calendar from an input or inline for selecting dates. +//>>docs: http://api.jqueryui.com/datepicker/ +//>>demos: http://jqueryui.com/datepicker/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/datepicker.css +//>>css.theme: ../../themes/base/theme.css + + + +$.extend( $.ui, { datepicker: { version: "1.12.1" } } ); + +var datepicker_instActive; + +function datepicker_getZindex( elem ) { + var position, value; + while ( elem.length && elem[ 0 ] !== document ) { + + // Ignore z-index if position is set to a value where z-index is ignored by the browser + // This makes behavior of this function consistent across browsers + // WebKit always returns auto if the element is positioned + position = elem.css( "position" ); + if ( position === "absolute" || position === "relative" || position === "fixed" ) { + + // IE returns 0 when zIndex is not specified + // other browsers return a string + // we ignore the case of nested elements with an explicit value of 0 + // <div style="z-index: -10;"><div style="z-index: 0;"></div></div> + value = parseInt( elem.css( "zIndex" ), 10 ); + if ( !isNaN( value ) && value !== 0 ) { + return value; + } + } + elem = elem.parent(); + } + + return 0; +} +/* Date picker manager. + Use the singleton instance of this class, $.datepicker, to interact with the date picker. + Settings for (groups of) date pickers are maintained in an instance object, + allowing multiple different settings on the same page. */ + +function Datepicker() { + this._curInst = null; // The current instance in use + this._keyEvent = false; // If the last event was a key event + this._disabledInputs = []; // List of date picker inputs that have been disabled + this._datepickerShowing = false; // True if the popup picker is showing , false if not + this._inDialog = false; // True if showing within a "dialog", false if not + this._mainDivId = "ui-datepicker-div"; // The ID of the main datepicker division + this._inlineClass = "ui-datepicker-inline"; // The name of the inline marker class + this._appendClass = "ui-datepicker-append"; // The name of the append marker class + this._triggerClass = "ui-datepicker-trigger"; // The name of the trigger marker class + this._dialogClass = "ui-datepicker-dialog"; // The name of the dialog marker class + this._disableClass = "ui-datepicker-disabled"; // The name of the disabled covering marker class + this._unselectableClass = "ui-datepicker-unselectable"; // The name of the unselectable cell marker class + this._currentClass = "ui-datepicker-current-day"; // The name of the current day marker class + this._dayOverClass = "ui-datepicker-days-cell-over"; // The name of the day hover marker class + this.regional = []; // Available regional settings, indexed by language code + this.regional[ "" ] = { // Default regional settings + closeText: "Done", // Display text for close link + prevText: "Prev", // Display text for previous month link + nextText: "Next", // Display text for next month link + currentText: "Today", // Display text for current month link + monthNames: [ "January","February","March","April","May","June", + "July","August","September","October","November","December" ], // Names of months for drop-down and formatting + monthNamesShort: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ], // For formatting + dayNames: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], // For formatting + dayNamesShort: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], // For formatting + dayNamesMin: [ "Su","Mo","Tu","We","Th","Fr","Sa" ], // Column headings for days starting at Sunday + weekHeader: "Wk", // Column header for week of the year + dateFormat: "mm/dd/yy", // See format options on parseDate + firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ... + isRTL: false, // True if right-to-left language, false if left-to-right + showMonthAfterYear: false, // True if the year select precedes month, false for month then year + yearSuffix: "" // Additional text to append to the year in the month headers + }; + this._defaults = { // Global defaults for all the date picker instances + showOn: "focus", // "focus" for popup on focus, + // "button" for trigger button, or "both" for either + showAnim: "fadeIn", // Name of jQuery animation for popup + showOptions: {}, // Options for enhanced animations + defaultDate: null, // Used when field is blank: actual date, + // +/-number for offset from today, null for today + appendText: "", // Display text following the input box, e.g. showing the format + buttonText: "...", // Text for trigger button + buttonImage: "", // URL for trigger button image + buttonImageOnly: false, // True if the image appears alone, false if it appears on a button + hideIfNoPrevNext: false, // True to hide next/previous month links + // if not applicable, false to just disable them + navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links + gotoCurrent: false, // True if today link goes back to current selection instead + changeMonth: false, // True if month can be selected directly, false if only prev/next + changeYear: false, // True if year can be selected directly, false if only prev/next + yearRange: "c-10:c+10", // Range of years to display in drop-down, + // either relative to today's year (-nn:+nn), relative to currently displayed year + // (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n) + showOtherMonths: false, // True to show dates in other months, false to leave blank + selectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable + showWeek: false, // True to show week of the year, false to not show it + calculateWeek: this.iso8601Week, // How to calculate the week of the year, + // takes a Date and returns the number of the week for it + shortYearCutoff: "+10", // Short year values < this are in the current century, + // > this are in the previous century, + // string value starting with "+" for current year + value + minDate: null, // The earliest selectable date, or null for no limit + maxDate: null, // The latest selectable date, or null for no limit + duration: "fast", // Duration of display/closure + beforeShowDay: null, // Function that takes a date and returns an array with + // [0] = true if selectable, false if not, [1] = custom CSS class name(s) or "", + // [2] = cell title (optional), e.g. $.datepicker.noWeekends + beforeShow: null, // Function that takes an input field and + // returns a set of custom settings for the date picker + onSelect: null, // Define a callback function when a date is selected + onChangeMonthYear: null, // Define a callback function when the month or year is changed + onClose: null, // Define a callback function when the datepicker is closed + numberOfMonths: 1, // Number of months to show at a time + showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0) + stepMonths: 1, // Number of months to step back/forward + stepBigMonths: 12, // Number of months to step back/forward for the big links + altField: "", // Selector for an alternate field to store selected dates into + altFormat: "", // The date format to use for the alternate field + constrainInput: true, // The input is constrained by the current date format + showButtonPanel: false, // True to show button panel, false to not show it + autoSize: false, // True to size the input for the date format, false to leave as is + disabled: false // The initial disabled state + }; + $.extend( this._defaults, this.regional[ "" ] ); + this.regional.en = $.extend( true, {}, this.regional[ "" ] ); + this.regional[ "en-US" ] = $.extend( true, {}, this.regional.en ); + this.dpDiv = datepicker_bindHover( $( "<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>" ) ); +} + +$.extend( Datepicker.prototype, { + /* Class name added to elements to indicate already configured with a date picker. */ + markerClassName: "hasDatepicker", + + //Keep track of the maximum number of rows displayed (see #7043) + maxRows: 4, + + // TODO rename to "widget" when switching to widget factory + _widgetDatepicker: function() { + return this.dpDiv; + }, + + /* Override the default settings for all instances of the date picker. + * @param settings object - the new settings to use as defaults (anonymous object) + * @return the manager object + */ + setDefaults: function( settings ) { + datepicker_extendRemove( this._defaults, settings || {} ); + return this; + }, + + /* Attach the date picker to a jQuery selection. + * @param target element - the target input field or division or span + * @param settings object - the new settings to use for this date picker instance (anonymous) + */ + _attachDatepicker: function( target, settings ) { + var nodeName, inline, inst; + nodeName = target.nodeName.toLowerCase(); + inline = ( nodeName === "div" || nodeName === "span" ); + if ( !target.id ) { + this.uuid += 1; + target.id = "dp" + this.uuid; + } + inst = this._newInst( $( target ), inline ); + inst.settings = $.extend( {}, settings || {} ); + if ( nodeName === "input" ) { + this._connectDatepicker( target, inst ); + } else if ( inline ) { + this._inlineDatepicker( target, inst ); + } + }, + + /* Create a new instance object. */ + _newInst: function( target, inline ) { + var id = target[ 0 ].id.replace( /([^A-Za-z0-9_\-])/g, "\\\\$1" ); // escape jQuery meta chars + return { id: id, input: target, // associated target + selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection + drawMonth: 0, drawYear: 0, // month being drawn + inline: inline, // is datepicker inline or not + dpDiv: ( !inline ? this.dpDiv : // presentation div + datepicker_bindHover( $( "<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>" ) ) ) }; + }, + + /* Attach the date picker to an input field. */ + _connectDatepicker: function( target, inst ) { + var input = $( target ); + inst.append = $( [] ); + inst.trigger = $( [] ); + if ( input.hasClass( this.markerClassName ) ) { + return; + } + this._attachments( input, inst ); + input.addClass( this.markerClassName ).on( "keydown", this._doKeyDown ). + on( "keypress", this._doKeyPress ).on( "keyup", this._doKeyUp ); + this._autoSize( inst ); + $.data( target, "datepicker", inst ); + + //If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665) + if ( inst.settings.disabled ) { + this._disableDatepicker( target ); + } + }, + + /* Make attachments based on settings. */ + _attachments: function( input, inst ) { + var showOn, buttonText, buttonImage, + appendText = this._get( inst, "appendText" ), + isRTL = this._get( inst, "isRTL" ); + + if ( inst.append ) { + inst.append.remove(); + } + if ( appendText ) { + inst.append = $( "<span class='" + this._appendClass + "'>" + appendText + "</span>" ); + input[ isRTL ? "before" : "after" ]( inst.append ); + } + + input.off( "focus", this._showDatepicker ); + + if ( inst.trigger ) { + inst.trigger.remove(); + } + + showOn = this._get( inst, "showOn" ); + if ( showOn === "focus" || showOn === "both" ) { // pop-up date picker when in the marked field + input.on( "focus", this._showDatepicker ); + } + if ( showOn === "button" || showOn === "both" ) { // pop-up date picker when button clicked + buttonText = this._get( inst, "buttonText" ); + buttonImage = this._get( inst, "buttonImage" ); + inst.trigger = $( this._get( inst, "buttonImageOnly" ) ? + $( "<img/>" ).addClass( this._triggerClass ). + attr( { src: buttonImage, alt: buttonText, title: buttonText } ) : + $( "<button type='button'></button>" ).addClass( this._triggerClass ). + html( !buttonImage ? buttonText : $( "<img/>" ).attr( + { src:buttonImage, alt:buttonText, title:buttonText } ) ) ); + input[ isRTL ? "before" : "after" ]( inst.trigger ); + inst.trigger.on( "click", function() { + if ( $.datepicker._datepickerShowing && $.datepicker._lastInput === input[ 0 ] ) { + $.datepicker._hideDatepicker(); + } else if ( $.datepicker._datepickerShowing && $.datepicker._lastInput !== input[ 0 ] ) { + $.datepicker._hideDatepicker(); + $.datepicker._showDatepicker( input[ 0 ] ); + } else { + $.datepicker._showDatepicker( input[ 0 ] ); + } + return false; + } ); + } + }, + + /* Apply the maximum length for the date format. */ + _autoSize: function( inst ) { + if ( this._get( inst, "autoSize" ) && !inst.inline ) { + var findMax, max, maxI, i, + date = new Date( 2009, 12 - 1, 20 ), // Ensure double digits + dateFormat = this._get( inst, "dateFormat" ); + + if ( dateFormat.match( /[DM]/ ) ) { + findMax = function( names ) { + max = 0; + maxI = 0; + for ( i = 0; i < names.length; i++ ) { + if ( names[ i ].length > max ) { + max = names[ i ].length; + maxI = i; + } + } + return maxI; + }; + date.setMonth( findMax( this._get( inst, ( dateFormat.match( /MM/ ) ? + "monthNames" : "monthNamesShort" ) ) ) ); + date.setDate( findMax( this._get( inst, ( dateFormat.match( /DD/ ) ? + "dayNames" : "dayNamesShort" ) ) ) + 20 - date.getDay() ); + } + inst.input.attr( "size", this._formatDate( inst, date ).length ); + } + }, + + /* Attach an inline date picker to a div. */ + _inlineDatepicker: function( target, inst ) { + var divSpan = $( target ); + if ( divSpan.hasClass( this.markerClassName ) ) { + return; + } + divSpan.addClass( this.markerClassName ).append( inst.dpDiv ); + $.data( target, "datepicker", inst ); + this._setDate( inst, this._getDefaultDate( inst ), true ); + this._updateDatepicker( inst ); + this._updateAlternate( inst ); + + //If disabled option is true, disable the datepicker before showing it (see ticket #5665) + if ( inst.settings.disabled ) { + this._disableDatepicker( target ); + } + + // Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements + // http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height + inst.dpDiv.css( "display", "block" ); + }, + + /* Pop-up the date picker in a "dialog" box. + * @param input element - ignored + * @param date string or Date - the initial date to display + * @param onSelect function - the function to call when a date is selected + * @param settings object - update the dialog date picker instance's settings (anonymous object) + * @param pos int[2] - coordinates for the dialog's position within the screen or + * event - with x/y coordinates or + * leave empty for default (screen centre) + * @return the manager object + */ + _dialogDatepicker: function( input, date, onSelect, settings, pos ) { + var id, browserWidth, browserHeight, scrollX, scrollY, + inst = this._dialogInst; // internal instance + + if ( !inst ) { + this.uuid += 1; + id = "dp" + this.uuid; + this._dialogInput = $( "<input type='text' id='" + id + + "' style='position: absolute; top: -100px; width: 0px;'/>" ); + this._dialogInput.on( "keydown", this._doKeyDown ); + $( "body" ).append( this._dialogInput ); + inst = this._dialogInst = this._newInst( this._dialogInput, false ); + inst.settings = {}; + $.data( this._dialogInput[ 0 ], "datepicker", inst ); + } + datepicker_extendRemove( inst.settings, settings || {} ); + date = ( date && date.constructor === Date ? this._formatDate( inst, date ) : date ); + this._dialogInput.val( date ); + + this._pos = ( pos ? ( pos.length ? pos : [ pos.pageX, pos.pageY ] ) : null ); + if ( !this._pos ) { + browserWidth = document.documentElement.clientWidth; + browserHeight = document.documentElement.clientHeight; + scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; + scrollY = document.documentElement.scrollTop || document.body.scrollTop; + this._pos = // should use actual width/height below + [ ( browserWidth / 2 ) - 100 + scrollX, ( browserHeight / 2 ) - 150 + scrollY ]; + } + + // Move input on screen for focus, but hidden behind dialog + this._dialogInput.css( "left", ( this._pos[ 0 ] + 20 ) + "px" ).css( "top", this._pos[ 1 ] + "px" ); + inst.settings.onSelect = onSelect; + this._inDialog = true; + this.dpDiv.addClass( this._dialogClass ); + this._showDatepicker( this._dialogInput[ 0 ] ); + if ( $.blockUI ) { + $.blockUI( this.dpDiv ); + } + $.data( this._dialogInput[ 0 ], "datepicker", inst ); + return this; + }, + + /* Detach a datepicker from its control. + * @param target element - the target input field or division or span + */ + _destroyDatepicker: function( target ) { + var nodeName, + $target = $( target ), + inst = $.data( target, "datepicker" ); + + if ( !$target.hasClass( this.markerClassName ) ) { + return; + } + + nodeName = target.nodeName.toLowerCase(); + $.removeData( target, "datepicker" ); + if ( nodeName === "input" ) { + inst.append.remove(); + inst.trigger.remove(); + $target.removeClass( this.markerClassName ). + off( "focus", this._showDatepicker ). + off( "keydown", this._doKeyDown ). + off( "keypress", this._doKeyPress ). + off( "keyup", this._doKeyUp ); + } else if ( nodeName === "div" || nodeName === "span" ) { + $target.removeClass( this.markerClassName ).empty(); + } + + if ( datepicker_instActive === inst ) { + datepicker_instActive = null; + } + }, + + /* Enable the date picker to a jQuery selection. + * @param target element - the target input field or division or span + */ + _enableDatepicker: function( target ) { + var nodeName, inline, + $target = $( target ), + inst = $.data( target, "datepicker" ); + + if ( !$target.hasClass( this.markerClassName ) ) { + return; + } + + nodeName = target.nodeName.toLowerCase(); + if ( nodeName === "input" ) { + target.disabled = false; + inst.trigger.filter( "button" ). + each( function() { this.disabled = false; } ).end(). + filter( "img" ).css( { opacity: "1.0", cursor: "" } ); + } else if ( nodeName === "div" || nodeName === "span" ) { + inline = $target.children( "." + this._inlineClass ); + inline.children().removeClass( "ui-state-disabled" ); + inline.find( "select.ui-datepicker-month, select.ui-datepicker-year" ). + prop( "disabled", false ); + } + this._disabledInputs = $.map( this._disabledInputs, + function( value ) { return ( value === target ? null : value ); } ); // delete entry + }, + + /* Disable the date picker to a jQuery selection. + * @param target element - the target input field or division or span + */ + _disableDatepicker: function( target ) { + var nodeName, inline, + $target = $( target ), + inst = $.data( target, "datepicker" ); + + if ( !$target.hasClass( this.markerClassName ) ) { + return; + } + + nodeName = target.nodeName.toLowerCase(); + if ( nodeName === "input" ) { + target.disabled = true; + inst.trigger.filter( "button" ). + each( function() { this.disabled = true; } ).end(). + filter( "img" ).css( { opacity: "0.5", cursor: "default" } ); + } else if ( nodeName === "div" || nodeName === "span" ) { + inline = $target.children( "." + this._inlineClass ); + inline.children().addClass( "ui-state-disabled" ); + inline.find( "select.ui-datepicker-month, select.ui-datepicker-year" ). + prop( "disabled", true ); + } + this._disabledInputs = $.map( this._disabledInputs, + function( value ) { return ( value === target ? null : value ); } ); // delete entry + this._disabledInputs[ this._disabledInputs.length ] = target; + }, + + /* Is the first field in a jQuery collection disabled as a datepicker? + * @param target element - the target input field or division or span + * @return boolean - true if disabled, false if enabled + */ + _isDisabledDatepicker: function( target ) { + if ( !target ) { + return false; + } + for ( var i = 0; i < this._disabledInputs.length; i++ ) { + if ( this._disabledInputs[ i ] === target ) { + return true; + } + } + return false; + }, + + /* Retrieve the instance data for the target control. + * @param target element - the target input field or division or span + * @return object - the associated instance data + * @throws error if a jQuery problem getting data + */ + _getInst: function( target ) { + try { + return $.data( target, "datepicker" ); + } + catch ( err ) { + throw "Missing instance data for this datepicker"; + } + }, + + /* Update or retrieve the settings for a date picker attached to an input field or division. + * @param target element - the target input field or division or span + * @param name object - the new settings to update or + * string - the name of the setting to change or retrieve, + * when retrieving also "all" for all instance settings or + * "defaults" for all global defaults + * @param value any - the new value for the setting + * (omit if above is an object or to retrieve a value) + */ + _optionDatepicker: function( target, name, value ) { + var settings, date, minDate, maxDate, + inst = this._getInst( target ); + + if ( arguments.length === 2 && typeof name === "string" ) { + return ( name === "defaults" ? $.extend( {}, $.datepicker._defaults ) : + ( inst ? ( name === "all" ? $.extend( {}, inst.settings ) : + this._get( inst, name ) ) : null ) ); + } + + settings = name || {}; + if ( typeof name === "string" ) { + settings = {}; + settings[ name ] = value; + } + + if ( inst ) { + if ( this._curInst === inst ) { + this._hideDatepicker(); + } + + date = this._getDateDatepicker( target, true ); + minDate = this._getMinMaxDate( inst, "min" ); + maxDate = this._getMinMaxDate( inst, "max" ); + datepicker_extendRemove( inst.settings, settings ); + + // reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided + if ( minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined ) { + inst.settings.minDate = this._formatDate( inst, minDate ); + } + if ( maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined ) { + inst.settings.maxDate = this._formatDate( inst, maxDate ); + } + if ( "disabled" in settings ) { + if ( settings.disabled ) { + this._disableDatepicker( target ); + } else { + this._enableDatepicker( target ); + } + } + this._attachments( $( target ), inst ); + this._autoSize( inst ); + this._setDate( inst, date ); + this._updateAlternate( inst ); + this._updateDatepicker( inst ); + } + }, + + // Change method deprecated + _changeDatepicker: function( target, name, value ) { + this._optionDatepicker( target, name, value ); + }, + + /* Redraw the date picker attached to an input field or division. + * @param target element - the target input field or division or span + */ + _refreshDatepicker: function( target ) { + var inst = this._getInst( target ); + if ( inst ) { + this._updateDatepicker( inst ); + } + }, + + /* Set the dates for a jQuery selection. + * @param target element - the target input field or division or span + * @param date Date - the new date + */ + _setDateDatepicker: function( target, date ) { + var inst = this._getInst( target ); + if ( inst ) { + this._setDate( inst, date ); + this._updateDatepicker( inst ); + this._updateAlternate( inst ); + } + }, + + /* Get the date(s) for the first entry in a jQuery selection. + * @param target element - the target input field or division or span + * @param noDefault boolean - true if no default date is to be used + * @return Date - the current date + */ + _getDateDatepicker: function( target, noDefault ) { + var inst = this._getInst( target ); + if ( inst && !inst.inline ) { + this._setDateFromField( inst, noDefault ); + } + return ( inst ? this._getDate( inst ) : null ); + }, + + /* Handle keystrokes. */ + _doKeyDown: function( event ) { + var onSelect, dateStr, sel, + inst = $.datepicker._getInst( event.target ), + handled = true, + isRTL = inst.dpDiv.is( ".ui-datepicker-rtl" ); + + inst._keyEvent = true; + if ( $.datepicker._datepickerShowing ) { + switch ( event.keyCode ) { + case 9: $.datepicker._hideDatepicker(); + handled = false; + break; // hide on tab out + case 13: sel = $( "td." + $.datepicker._dayOverClass + ":not(." + + $.datepicker._currentClass + ")", inst.dpDiv ); + if ( sel[ 0 ] ) { + $.datepicker._selectDay( event.target, inst.selectedMonth, inst.selectedYear, sel[ 0 ] ); + } + + onSelect = $.datepicker._get( inst, "onSelect" ); + if ( onSelect ) { + dateStr = $.datepicker._formatDate( inst ); + + // Trigger custom callback + onSelect.apply( ( inst.input ? inst.input[ 0 ] : null ), [ dateStr, inst ] ); + } else { + $.datepicker._hideDatepicker(); + } + + return false; // don't submit the form + case 27: $.datepicker._hideDatepicker(); + break; // hide on escape + case 33: $.datepicker._adjustDate( event.target, ( event.ctrlKey ? + -$.datepicker._get( inst, "stepBigMonths" ) : + -$.datepicker._get( inst, "stepMonths" ) ), "M" ); + break; // previous month/year on page up/+ ctrl + case 34: $.datepicker._adjustDate( event.target, ( event.ctrlKey ? + +$.datepicker._get( inst, "stepBigMonths" ) : + +$.datepicker._get( inst, "stepMonths" ) ), "M" ); + break; // next month/year on page down/+ ctrl + case 35: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._clearDate( event.target ); + } + handled = event.ctrlKey || event.metaKey; + break; // clear on ctrl or command +end + case 36: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._gotoToday( event.target ); + } + handled = event.ctrlKey || event.metaKey; + break; // current on ctrl or command +home + case 37: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._adjustDate( event.target, ( isRTL ? +1 : -1 ), "D" ); + } + handled = event.ctrlKey || event.metaKey; + + // -1 day on ctrl or command +left + if ( event.originalEvent.altKey ) { + $.datepicker._adjustDate( event.target, ( event.ctrlKey ? + -$.datepicker._get( inst, "stepBigMonths" ) : + -$.datepicker._get( inst, "stepMonths" ) ), "M" ); + } + + // next month/year on alt +left on Mac + break; + case 38: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._adjustDate( event.target, -7, "D" ); + } + handled = event.ctrlKey || event.metaKey; + break; // -1 week on ctrl or command +up + case 39: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._adjustDate( event.target, ( isRTL ? -1 : +1 ), "D" ); + } + handled = event.ctrlKey || event.metaKey; + + // +1 day on ctrl or command +right + if ( event.originalEvent.altKey ) { + $.datepicker._adjustDate( event.target, ( event.ctrlKey ? + +$.datepicker._get( inst, "stepBigMonths" ) : + +$.datepicker._get( inst, "stepMonths" ) ), "M" ); + } + + // next month/year on alt +right + break; + case 40: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._adjustDate( event.target, +7, "D" ); + } + handled = event.ctrlKey || event.metaKey; + break; // +1 week on ctrl or command +down + default: handled = false; + } + } else if ( event.keyCode === 36 && event.ctrlKey ) { // display the date picker on ctrl+home + $.datepicker._showDatepicker( this ); + } else { + handled = false; + } + + if ( handled ) { + event.preventDefault(); + event.stopPropagation(); + } + }, + + /* Filter entered characters - based on date format. */ + _doKeyPress: function( event ) { + var chars, chr, + inst = $.datepicker._getInst( event.target ); + + if ( $.datepicker._get( inst, "constrainInput" ) ) { + chars = $.datepicker._possibleChars( $.datepicker._get( inst, "dateFormat" ) ); + chr = String.fromCharCode( event.charCode == null ? event.keyCode : event.charCode ); + return event.ctrlKey || event.metaKey || ( chr < " " || !chars || chars.indexOf( chr ) > -1 ); + } + }, + + /* Synchronise manual entry and field/alternate field. */ + _doKeyUp: function( event ) { + var date, + inst = $.datepicker._getInst( event.target ); + + if ( inst.input.val() !== inst.lastVal ) { + try { + date = $.datepicker.parseDate( $.datepicker._get( inst, "dateFormat" ), + ( inst.input ? inst.input.val() : null ), + $.datepicker._getFormatConfig( inst ) ); + + if ( date ) { // only if valid + $.datepicker._setDateFromField( inst ); + $.datepicker._updateAlternate( inst ); + $.datepicker._updateDatepicker( inst ); + } + } + catch ( err ) { + } + } + return true; + }, + + /* Pop-up the date picker for a given input field. + * If false returned from beforeShow event handler do not show. + * @param input element - the input field attached to the date picker or + * event - if triggered by focus + */ + _showDatepicker: function( input ) { + input = input.target || input; + if ( input.nodeName.toLowerCase() !== "input" ) { // find from button/image trigger + input = $( "input", input.parentNode )[ 0 ]; + } + + if ( $.datepicker._isDisabledDatepicker( input ) || $.datepicker._lastInput === input ) { // already here + return; + } + + var inst, beforeShow, beforeShowSettings, isFixed, + offset, showAnim, duration; + + inst = $.datepicker._getInst( input ); + if ( $.datepicker._curInst && $.datepicker._curInst !== inst ) { + $.datepicker._curInst.dpDiv.stop( true, true ); + if ( inst && $.datepicker._datepickerShowing ) { + $.datepicker._hideDatepicker( $.datepicker._curInst.input[ 0 ] ); + } + } + + beforeShow = $.datepicker._get( inst, "beforeShow" ); + beforeShowSettings = beforeShow ? beforeShow.apply( input, [ input, inst ] ) : {}; + if ( beforeShowSettings === false ) { + return; + } + datepicker_extendRemove( inst.settings, beforeShowSettings ); + + inst.lastVal = null; + $.datepicker._lastInput = input; + $.datepicker._setDateFromField( inst ); + + if ( $.datepicker._inDialog ) { // hide cursor + input.value = ""; + } + if ( !$.datepicker._pos ) { // position below input + $.datepicker._pos = $.datepicker._findPos( input ); + $.datepicker._pos[ 1 ] += input.offsetHeight; // add the height + } + + isFixed = false; + $( input ).parents().each( function() { + isFixed |= $( this ).css( "position" ) === "fixed"; + return !isFixed; + } ); + + offset = { left: $.datepicker._pos[ 0 ], top: $.datepicker._pos[ 1 ] }; + $.datepicker._pos = null; + + //to avoid flashes on Firefox + inst.dpDiv.empty(); + + // determine sizing offscreen + inst.dpDiv.css( { position: "absolute", display: "block", top: "-1000px" } ); + $.datepicker._updateDatepicker( inst ); + + // fix width for dynamic number of date pickers + // and adjust position before showing + offset = $.datepicker._checkOffset( inst, offset, isFixed ); + inst.dpDiv.css( { position: ( $.datepicker._inDialog && $.blockUI ? + "static" : ( isFixed ? "fixed" : "absolute" ) ), display: "none", + left: offset.left + "px", top: offset.top + "px" } ); + + if ( !inst.inline ) { + showAnim = $.datepicker._get( inst, "showAnim" ); + duration = $.datepicker._get( inst, "duration" ); + inst.dpDiv.css( "z-index", datepicker_getZindex( $( input ) ) + 1 ); + $.datepicker._datepickerShowing = true; + + if ( $.effects && $.effects.effect[ showAnim ] ) { + inst.dpDiv.show( showAnim, $.datepicker._get( inst, "showOptions" ), duration ); + } else { + inst.dpDiv[ showAnim || "show" ]( showAnim ? duration : null ); + } + + if ( $.datepicker._shouldFocusInput( inst ) ) { + inst.input.trigger( "focus" ); + } + + $.datepicker._curInst = inst; + } + }, + + /* Generate the date picker content. */ + _updateDatepicker: function( inst ) { + this.maxRows = 4; //Reset the max number of rows being displayed (see #7043) + datepicker_instActive = inst; // for delegate hover events + inst.dpDiv.empty().append( this._generateHTML( inst ) ); + this._attachHandlers( inst ); + + var origyearshtml, + numMonths = this._getNumberOfMonths( inst ), + cols = numMonths[ 1 ], + width = 17, + activeCell = inst.dpDiv.find( "." + this._dayOverClass + " a" ); + + if ( activeCell.length > 0 ) { + datepicker_handleMouseover.apply( activeCell.get( 0 ) ); + } + + inst.dpDiv.removeClass( "ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4" ).width( "" ); + if ( cols > 1 ) { + inst.dpDiv.addClass( "ui-datepicker-multi-" + cols ).css( "width", ( width * cols ) + "em" ); + } + inst.dpDiv[ ( numMonths[ 0 ] !== 1 || numMonths[ 1 ] !== 1 ? "add" : "remove" ) + + "Class" ]( "ui-datepicker-multi" ); + inst.dpDiv[ ( this._get( inst, "isRTL" ) ? "add" : "remove" ) + + "Class" ]( "ui-datepicker-rtl" ); + + if ( inst === $.datepicker._curInst && $.datepicker._datepickerShowing && $.datepicker._shouldFocusInput( inst ) ) { + inst.input.trigger( "focus" ); + } + + // Deffered render of the years select (to avoid flashes on Firefox) + if ( inst.yearshtml ) { + origyearshtml = inst.yearshtml; + setTimeout( function() { + + //assure that inst.yearshtml didn't change. + if ( origyearshtml === inst.yearshtml && inst.yearshtml ) { + inst.dpDiv.find( "select.ui-datepicker-year:first" ).replaceWith( inst.yearshtml ); + } + origyearshtml = inst.yearshtml = null; + }, 0 ); + } + }, + + // #6694 - don't focus the input if it's already focused + // this breaks the change event in IE + // Support: IE and jQuery <1.9 + _shouldFocusInput: function( inst ) { + return inst.input && inst.input.is( ":visible" ) && !inst.input.is( ":disabled" ) && !inst.input.is( ":focus" ); + }, + + /* Check positioning to remain on screen. */ + _checkOffset: function( inst, offset, isFixed ) { + var dpWidth = inst.dpDiv.outerWidth(), + dpHeight = inst.dpDiv.outerHeight(), + inputWidth = inst.input ? inst.input.outerWidth() : 0, + inputHeight = inst.input ? inst.input.outerHeight() : 0, + viewWidth = document.documentElement.clientWidth + ( isFixed ? 0 : $( document ).scrollLeft() ), + viewHeight = document.documentElement.clientHeight + ( isFixed ? 0 : $( document ).scrollTop() ); + + offset.left -= ( this._get( inst, "isRTL" ) ? ( dpWidth - inputWidth ) : 0 ); + offset.left -= ( isFixed && offset.left === inst.input.offset().left ) ? $( document ).scrollLeft() : 0; + offset.top -= ( isFixed && offset.top === ( inst.input.offset().top + inputHeight ) ) ? $( document ).scrollTop() : 0; + + // Now check if datepicker is showing outside window viewport - move to a better place if so. + offset.left -= Math.min( offset.left, ( offset.left + dpWidth > viewWidth && viewWidth > dpWidth ) ? + Math.abs( offset.left + dpWidth - viewWidth ) : 0 ); + offset.top -= Math.min( offset.top, ( offset.top + dpHeight > viewHeight && viewHeight > dpHeight ) ? + Math.abs( dpHeight + inputHeight ) : 0 ); + + return offset; + }, + + /* Find an object's position on the screen. */ + _findPos: function( obj ) { + var position, + inst = this._getInst( obj ), + isRTL = this._get( inst, "isRTL" ); + + while ( obj && ( obj.type === "hidden" || obj.nodeType !== 1 || $.expr.filters.hidden( obj ) ) ) { + obj = obj[ isRTL ? "previousSibling" : "nextSibling" ]; + } + + position = $( obj ).offset(); + return [ position.left, position.top ]; + }, + + /* Hide the date picker from view. + * @param input element - the input field attached to the date picker + */ + _hideDatepicker: function( input ) { + var showAnim, duration, postProcess, onClose, + inst = this._curInst; + + if ( !inst || ( input && inst !== $.data( input, "datepicker" ) ) ) { + return; + } + + if ( this._datepickerShowing ) { + showAnim = this._get( inst, "showAnim" ); + duration = this._get( inst, "duration" ); + postProcess = function() { + $.datepicker._tidyDialog( inst ); + }; + + // DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed + if ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) { + inst.dpDiv.hide( showAnim, $.datepicker._get( inst, "showOptions" ), duration, postProcess ); + } else { + inst.dpDiv[ ( showAnim === "slideDown" ? "slideUp" : + ( showAnim === "fadeIn" ? "fadeOut" : "hide" ) ) ]( ( showAnim ? duration : null ), postProcess ); + } + + if ( !showAnim ) { + postProcess(); + } + this._datepickerShowing = false; + + onClose = this._get( inst, "onClose" ); + if ( onClose ) { + onClose.apply( ( inst.input ? inst.input[ 0 ] : null ), [ ( inst.input ? inst.input.val() : "" ), inst ] ); + } + + this._lastInput = null; + if ( this._inDialog ) { + this._dialogInput.css( { position: "absolute", left: "0", top: "-100px" } ); + if ( $.blockUI ) { + $.unblockUI(); + $( "body" ).append( this.dpDiv ); + } + } + this._inDialog = false; + } + }, + + /* Tidy up after a dialog display. */ + _tidyDialog: function( inst ) { + inst.dpDiv.removeClass( this._dialogClass ).off( ".ui-datepicker-calendar" ); + }, + + /* Close date picker if clicked elsewhere. */ + _checkExternalClick: function( event ) { + if ( !$.datepicker._curInst ) { + return; + } + + var $target = $( event.target ), + inst = $.datepicker._getInst( $target[ 0 ] ); + + if ( ( ( $target[ 0 ].id !== $.datepicker._mainDivId && + $target.parents( "#" + $.datepicker._mainDivId ).length === 0 && + !$target.hasClass( $.datepicker.markerClassName ) && + !$target.closest( "." + $.datepicker._triggerClass ).length && + $.datepicker._datepickerShowing && !( $.datepicker._inDialog && $.blockUI ) ) ) || + ( $target.hasClass( $.datepicker.markerClassName ) && $.datepicker._curInst !== inst ) ) { + $.datepicker._hideDatepicker(); + } + }, + + /* Adjust one of the date sub-fields. */ + _adjustDate: function( id, offset, period ) { + var target = $( id ), + inst = this._getInst( target[ 0 ] ); + + if ( this._isDisabledDatepicker( target[ 0 ] ) ) { + return; + } + this._adjustInstDate( inst, offset + + ( period === "M" ? this._get( inst, "showCurrentAtPos" ) : 0 ), // undo positioning + period ); + this._updateDatepicker( inst ); + }, + + /* Action for current link. */ + _gotoToday: function( id ) { + var date, + target = $( id ), + inst = this._getInst( target[ 0 ] ); + + if ( this._get( inst, "gotoCurrent" ) && inst.currentDay ) { + inst.selectedDay = inst.currentDay; + inst.drawMonth = inst.selectedMonth = inst.currentMonth; + inst.drawYear = inst.selectedYear = inst.currentYear; + } else { + date = new Date(); + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + } + this._notifyChange( inst ); + this._adjustDate( target ); + }, + + /* Action for selecting a new month/year. */ + _selectMonthYear: function( id, select, period ) { + var target = $( id ), + inst = this._getInst( target[ 0 ] ); + + inst[ "selected" + ( period === "M" ? "Month" : "Year" ) ] = + inst[ "draw" + ( period === "M" ? "Month" : "Year" ) ] = + parseInt( select.options[ select.selectedIndex ].value, 10 ); + + this._notifyChange( inst ); + this._adjustDate( target ); + }, + + /* Action for selecting a day. */ + _selectDay: function( id, month, year, td ) { + var inst, + target = $( id ); + + if ( $( td ).hasClass( this._unselectableClass ) || this._isDisabledDatepicker( target[ 0 ] ) ) { + return; + } + + inst = this._getInst( target[ 0 ] ); + inst.selectedDay = inst.currentDay = $( "a", td ).html(); + inst.selectedMonth = inst.currentMonth = month; + inst.selectedYear = inst.currentYear = year; + this._selectDate( id, this._formatDate( inst, + inst.currentDay, inst.currentMonth, inst.currentYear ) ); + }, + + /* Erase the input field and hide the date picker. */ + _clearDate: function( id ) { + var target = $( id ); + this._selectDate( target, "" ); + }, + + /* Update the input field with the selected date. */ + _selectDate: function( id, dateStr ) { + var onSelect, + target = $( id ), + inst = this._getInst( target[ 0 ] ); + + dateStr = ( dateStr != null ? dateStr : this._formatDate( inst ) ); + if ( inst.input ) { + inst.input.val( dateStr ); + } + this._updateAlternate( inst ); + + onSelect = this._get( inst, "onSelect" ); + if ( onSelect ) { + onSelect.apply( ( inst.input ? inst.input[ 0 ] : null ), [ dateStr, inst ] ); // trigger custom callback + } else if ( inst.input ) { + inst.input.trigger( "change" ); // fire the change event + } + + if ( inst.inline ) { + this._updateDatepicker( inst ); + } else { + this._hideDatepicker(); + this._lastInput = inst.input[ 0 ]; + if ( typeof( inst.input[ 0 ] ) !== "object" ) { + inst.input.trigger( "focus" ); // restore focus + } + this._lastInput = null; + } + }, + + /* Update any alternate field to synchronise with the main field. */ + _updateAlternate: function( inst ) { + var altFormat, date, dateStr, + altField = this._get( inst, "altField" ); + + if ( altField ) { // update alternate field too + altFormat = this._get( inst, "altFormat" ) || this._get( inst, "dateFormat" ); + date = this._getDate( inst ); + dateStr = this.formatDate( altFormat, date, this._getFormatConfig( inst ) ); + $( altField ).val( dateStr ); + } + }, + + /* Set as beforeShowDay function to prevent selection of weekends. + * @param date Date - the date to customise + * @return [boolean, string] - is this date selectable?, what is its CSS class? + */ + noWeekends: function( date ) { + var day = date.getDay(); + return [ ( day > 0 && day < 6 ), "" ]; + }, + + /* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition. + * @param date Date - the date to get the week for + * @return number - the number of the week within the year that contains this date + */ + iso8601Week: function( date ) { + var time, + checkDate = new Date( date.getTime() ); + + // Find Thursday of this week starting on Monday + checkDate.setDate( checkDate.getDate() + 4 - ( checkDate.getDay() || 7 ) ); + + time = checkDate.getTime(); + checkDate.setMonth( 0 ); // Compare with Jan 1 + checkDate.setDate( 1 ); + return Math.floor( Math.round( ( time - checkDate ) / 86400000 ) / 7 ) + 1; + }, + + /* Parse a string value into a date object. + * See formatDate below for the possible formats. + * + * @param format string - the expected format of the date + * @param value string - the date in the above format + * @param settings Object - attributes include: + * shortYearCutoff number - the cutoff year for determining the century (optional) + * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + * dayNames string[7] - names of the days from Sunday (optional) + * monthNamesShort string[12] - abbreviated names of the months (optional) + * monthNames string[12] - names of the months (optional) + * @return Date - the extracted date value or null if value is blank + */ + parseDate: function( format, value, settings ) { + if ( format == null || value == null ) { + throw "Invalid arguments"; + } + + value = ( typeof value === "object" ? value.toString() : value + "" ); + if ( value === "" ) { + return null; + } + + var iFormat, dim, extra, + iValue = 0, + shortYearCutoffTemp = ( settings ? settings.shortYearCutoff : null ) || this._defaults.shortYearCutoff, + shortYearCutoff = ( typeof shortYearCutoffTemp !== "string" ? shortYearCutoffTemp : + new Date().getFullYear() % 100 + parseInt( shortYearCutoffTemp, 10 ) ), + dayNamesShort = ( settings ? settings.dayNamesShort : null ) || this._defaults.dayNamesShort, + dayNames = ( settings ? settings.dayNames : null ) || this._defaults.dayNames, + monthNamesShort = ( settings ? settings.monthNamesShort : null ) || this._defaults.monthNamesShort, + monthNames = ( settings ? settings.monthNames : null ) || this._defaults.monthNames, + year = -1, + month = -1, + day = -1, + doy = -1, + literal = false, + date, + + // Check whether a format character is doubled + lookAhead = function( match ) { + var matches = ( iFormat + 1 < format.length && format.charAt( iFormat + 1 ) === match ); + if ( matches ) { + iFormat++; + } + return matches; + }, + + // Extract a number from the string value + getNumber = function( match ) { + var isDoubled = lookAhead( match ), + size = ( match === "@" ? 14 : ( match === "!" ? 20 : + ( match === "y" && isDoubled ? 4 : ( match === "o" ? 3 : 2 ) ) ) ), + minSize = ( match === "y" ? size : 1 ), + digits = new RegExp( "^\\d{" + minSize + "," + size + "}" ), + num = value.substring( iValue ).match( digits ); + if ( !num ) { + throw "Missing number at position " + iValue; + } + iValue += num[ 0 ].length; + return parseInt( num[ 0 ], 10 ); + }, + + // Extract a name from the string value and convert to an index + getName = function( match, shortNames, longNames ) { + var index = -1, + names = $.map( lookAhead( match ) ? longNames : shortNames, function( v, k ) { + return [ [ k, v ] ]; + } ).sort( function( a, b ) { + return -( a[ 1 ].length - b[ 1 ].length ); + } ); + + $.each( names, function( i, pair ) { + var name = pair[ 1 ]; + if ( value.substr( iValue, name.length ).toLowerCase() === name.toLowerCase() ) { + index = pair[ 0 ]; + iValue += name.length; + return false; + } + } ); + if ( index !== -1 ) { + return index + 1; + } else { + throw "Unknown name at position " + iValue; + } + }, + + // Confirm that a literal character matches the string value + checkLiteral = function() { + if ( value.charAt( iValue ) !== format.charAt( iFormat ) ) { + throw "Unexpected literal at position " + iValue; + } + iValue++; + }; + + for ( iFormat = 0; iFormat < format.length; iFormat++ ) { + if ( literal ) { + if ( format.charAt( iFormat ) === "'" && !lookAhead( "'" ) ) { + literal = false; + } else { + checkLiteral(); + } + } else { + switch ( format.charAt( iFormat ) ) { + case "d": + day = getNumber( "d" ); + break; + case "D": + getName( "D", dayNamesShort, dayNames ); + break; + case "o": + doy = getNumber( "o" ); + break; + case "m": + month = getNumber( "m" ); + break; + case "M": + month = getName( "M", monthNamesShort, monthNames ); + break; + case "y": + year = getNumber( "y" ); + break; + case "@": + date = new Date( getNumber( "@" ) ); + year = date.getFullYear(); + month = date.getMonth() + 1; + day = date.getDate(); + break; + case "!": + date = new Date( ( getNumber( "!" ) - this._ticksTo1970 ) / 10000 ); + year = date.getFullYear(); + month = date.getMonth() + 1; + day = date.getDate(); + break; + case "'": + if ( lookAhead( "'" ) ) { + checkLiteral(); + } else { + literal = true; + } + break; + default: + checkLiteral(); + } + } + } + + if ( iValue < value.length ) { + extra = value.substr( iValue ); + if ( !/^\s+/.test( extra ) ) { + throw "Extra/unparsed characters found in date: " + extra; + } + } + + if ( year === -1 ) { + year = new Date().getFullYear(); + } else if ( year < 100 ) { + year += new Date().getFullYear() - new Date().getFullYear() % 100 + + ( year <= shortYearCutoff ? 0 : -100 ); + } + + if ( doy > -1 ) { + month = 1; + day = doy; + do { + dim = this._getDaysInMonth( year, month - 1 ); + if ( day <= dim ) { + break; + } + month++; + day -= dim; + } while ( true ); + } + + date = this._daylightSavingAdjust( new Date( year, month - 1, day ) ); + if ( date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day ) { + throw "Invalid date"; // E.g. 31/02/00 + } + return date; + }, + + /* Standard date formats. */ + ATOM: "yy-mm-dd", // RFC 3339 (ISO 8601) + COOKIE: "D, dd M yy", + ISO_8601: "yy-mm-dd", + RFC_822: "D, d M y", + RFC_850: "DD, dd-M-y", + RFC_1036: "D, d M y", + RFC_1123: "D, d M yy", + RFC_2822: "D, d M yy", + RSS: "D, d M y", // RFC 822 + TICKS: "!", + TIMESTAMP: "@", + W3C: "yy-mm-dd", // ISO 8601 + + _ticksTo1970: ( ( ( 1970 - 1 ) * 365 + Math.floor( 1970 / 4 ) - Math.floor( 1970 / 100 ) + + Math.floor( 1970 / 400 ) ) * 24 * 60 * 60 * 10000000 ), + + /* Format a date object into a string value. + * The format can be combinations of the following: + * d - day of month (no leading zero) + * dd - day of month (two digit) + * o - day of year (no leading zeros) + * oo - day of year (three digit) + * D - day name short + * DD - day name long + * m - month of year (no leading zero) + * mm - month of year (two digit) + * M - month name short + * MM - month name long + * y - year (two digit) + * yy - year (four digit) + * @ - Unix timestamp (ms since 01/01/1970) + * ! - Windows ticks (100ns since 01/01/0001) + * "..." - literal text + * '' - single quote + * + * @param format string - the desired format of the date + * @param date Date - the date value to format + * @param settings Object - attributes include: + * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + * dayNames string[7] - names of the days from Sunday (optional) + * monthNamesShort string[12] - abbreviated names of the months (optional) + * monthNames string[12] - names of the months (optional) + * @return string - the date in the above format + */ + formatDate: function( format, date, settings ) { + if ( !date ) { + return ""; + } + + var iFormat, + dayNamesShort = ( settings ? settings.dayNamesShort : null ) || this._defaults.dayNamesShort, + dayNames = ( settings ? settings.dayNames : null ) || this._defaults.dayNames, + monthNamesShort = ( settings ? settings.monthNamesShort : null ) || this._defaults.monthNamesShort, + monthNames = ( settings ? settings.monthNames : null ) || this._defaults.monthNames, + + // Check whether a format character is doubled + lookAhead = function( match ) { + var matches = ( iFormat + 1 < format.length && format.charAt( iFormat + 1 ) === match ); + if ( matches ) { + iFormat++; + } + return matches; + }, + + // Format a number, with leading zero if necessary + formatNumber = function( match, value, len ) { + var num = "" + value; + if ( lookAhead( match ) ) { + while ( num.length < len ) { + num = "0" + num; + } + } + return num; + }, + + // Format a name, short or long as requested + formatName = function( match, value, shortNames, longNames ) { + return ( lookAhead( match ) ? longNames[ value ] : shortNames[ value ] ); + }, + output = "", + literal = false; + + if ( date ) { + for ( iFormat = 0; iFormat < format.length; iFormat++ ) { + if ( literal ) { + if ( format.charAt( iFormat ) === "'" && !lookAhead( "'" ) ) { + literal = false; + } else { + output += format.charAt( iFormat ); + } + } else { + switch ( format.charAt( iFormat ) ) { + case "d": + output += formatNumber( "d", date.getDate(), 2 ); + break; + case "D": + output += formatName( "D", date.getDay(), dayNamesShort, dayNames ); + break; + case "o": + output += formatNumber( "o", + Math.round( ( new Date( date.getFullYear(), date.getMonth(), date.getDate() ).getTime() - new Date( date.getFullYear(), 0, 0 ).getTime() ) / 86400000 ), 3 ); + break; + case "m": + output += formatNumber( "m", date.getMonth() + 1, 2 ); + break; + case "M": + output += formatName( "M", date.getMonth(), monthNamesShort, monthNames ); + break; + case "y": + output += ( lookAhead( "y" ) ? date.getFullYear() : + ( date.getFullYear() % 100 < 10 ? "0" : "" ) + date.getFullYear() % 100 ); + break; + case "@": + output += date.getTime(); + break; + case "!": + output += date.getTime() * 10000 + this._ticksTo1970; + break; + case "'": + if ( lookAhead( "'" ) ) { + output += "'"; + } else { + literal = true; + } + break; + default: + output += format.charAt( iFormat ); + } + } + } + } + return output; + }, + + /* Extract all possible characters from the date format. */ + _possibleChars: function( format ) { + var iFormat, + chars = "", + literal = false, + + // Check whether a format character is doubled + lookAhead = function( match ) { + var matches = ( iFormat + 1 < format.length && format.charAt( iFormat + 1 ) === match ); + if ( matches ) { + iFormat++; + } + return matches; + }; + + for ( iFormat = 0; iFormat < format.length; iFormat++ ) { + if ( literal ) { + if ( format.charAt( iFormat ) === "'" && !lookAhead( "'" ) ) { + literal = false; + } else { + chars += format.charAt( iFormat ); + } + } else { + switch ( format.charAt( iFormat ) ) { + case "d": case "m": case "y": case "@": + chars += "0123456789"; + break; + case "D": case "M": + return null; // Accept anything + case "'": + if ( lookAhead( "'" ) ) { + chars += "'"; + } else { + literal = true; + } + break; + default: + chars += format.charAt( iFormat ); + } + } + } + return chars; + }, + + /* Get a setting value, defaulting if necessary. */ + _get: function( inst, name ) { + return inst.settings[ name ] !== undefined ? + inst.settings[ name ] : this._defaults[ name ]; + }, + + /* Parse existing date and initialise date picker. */ + _setDateFromField: function( inst, noDefault ) { + if ( inst.input.val() === inst.lastVal ) { + return; + } + + var dateFormat = this._get( inst, "dateFormat" ), + dates = inst.lastVal = inst.input ? inst.input.val() : null, + defaultDate = this._getDefaultDate( inst ), + date = defaultDate, + settings = this._getFormatConfig( inst ); + + try { + date = this.parseDate( dateFormat, dates, settings ) || defaultDate; + } catch ( event ) { + dates = ( noDefault ? "" : dates ); + } + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + inst.currentDay = ( dates ? date.getDate() : 0 ); + inst.currentMonth = ( dates ? date.getMonth() : 0 ); + inst.currentYear = ( dates ? date.getFullYear() : 0 ); + this._adjustInstDate( inst ); + }, + + /* Retrieve the default date shown on opening. */ + _getDefaultDate: function( inst ) { + return this._restrictMinMax( inst, + this._determineDate( inst, this._get( inst, "defaultDate" ), new Date() ) ); + }, + + /* A date may be specified as an exact value or a relative one. */ + _determineDate: function( inst, date, defaultDate ) { + var offsetNumeric = function( offset ) { + var date = new Date(); + date.setDate( date.getDate() + offset ); + return date; + }, + offsetString = function( offset ) { + try { + return $.datepicker.parseDate( $.datepicker._get( inst, "dateFormat" ), + offset, $.datepicker._getFormatConfig( inst ) ); + } + catch ( e ) { + + // Ignore + } + + var date = ( offset.toLowerCase().match( /^c/ ) ? + $.datepicker._getDate( inst ) : null ) || new Date(), + year = date.getFullYear(), + month = date.getMonth(), + day = date.getDate(), + pattern = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, + matches = pattern.exec( offset ); + + while ( matches ) { + switch ( matches[ 2 ] || "d" ) { + case "d" : case "D" : + day += parseInt( matches[ 1 ], 10 ); break; + case "w" : case "W" : + day += parseInt( matches[ 1 ], 10 ) * 7; break; + case "m" : case "M" : + month += parseInt( matches[ 1 ], 10 ); + day = Math.min( day, $.datepicker._getDaysInMonth( year, month ) ); + break; + case "y": case "Y" : + year += parseInt( matches[ 1 ], 10 ); + day = Math.min( day, $.datepicker._getDaysInMonth( year, month ) ); + break; + } + matches = pattern.exec( offset ); + } + return new Date( year, month, day ); + }, + newDate = ( date == null || date === "" ? defaultDate : ( typeof date === "string" ? offsetString( date ) : + ( typeof date === "number" ? ( isNaN( date ) ? defaultDate : offsetNumeric( date ) ) : new Date( date.getTime() ) ) ) ); + + newDate = ( newDate && newDate.toString() === "Invalid Date" ? defaultDate : newDate ); + if ( newDate ) { + newDate.setHours( 0 ); + newDate.setMinutes( 0 ); + newDate.setSeconds( 0 ); + newDate.setMilliseconds( 0 ); + } + return this._daylightSavingAdjust( newDate ); + }, + + /* Handle switch to/from daylight saving. + * Hours may be non-zero on daylight saving cut-over: + * > 12 when midnight changeover, but then cannot generate + * midnight datetime, so jump to 1AM, otherwise reset. + * @param date (Date) the date to check + * @return (Date) the corrected date + */ + _daylightSavingAdjust: function( date ) { + if ( !date ) { + return null; + } + date.setHours( date.getHours() > 12 ? date.getHours() + 2 : 0 ); + return date; + }, + + /* Set the date(s) directly. */ + _setDate: function( inst, date, noChange ) { + var clear = !date, + origMonth = inst.selectedMonth, + origYear = inst.selectedYear, + newDate = this._restrictMinMax( inst, this._determineDate( inst, date, new Date() ) ); + + inst.selectedDay = inst.currentDay = newDate.getDate(); + inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth(); + inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear(); + if ( ( origMonth !== inst.selectedMonth || origYear !== inst.selectedYear ) && !noChange ) { + this._notifyChange( inst ); + } + this._adjustInstDate( inst ); + if ( inst.input ) { + inst.input.val( clear ? "" : this._formatDate( inst ) ); + } + }, + + /* Retrieve the date(s) directly. */ + _getDate: function( inst ) { + var startDate = ( !inst.currentYear || ( inst.input && inst.input.val() === "" ) ? null : + this._daylightSavingAdjust( new Date( + inst.currentYear, inst.currentMonth, inst.currentDay ) ) ); + return startDate; + }, + + /* Attach the onxxx handlers. These are declared statically so + * they work with static code transformers like Caja. + */ + _attachHandlers: function( inst ) { + var stepMonths = this._get( inst, "stepMonths" ), + id = "#" + inst.id.replace( /\\\\/g, "\\" ); + inst.dpDiv.find( "[data-handler]" ).map( function() { + var handler = { + prev: function() { + $.datepicker._adjustDate( id, -stepMonths, "M" ); + }, + next: function() { + $.datepicker._adjustDate( id, +stepMonths, "M" ); + }, + hide: function() { + $.datepicker._hideDatepicker(); + }, + today: function() { + $.datepicker._gotoToday( id ); + }, + selectDay: function() { + $.datepicker._selectDay( id, +this.getAttribute( "data-month" ), +this.getAttribute( "data-year" ), this ); + return false; + }, + selectMonth: function() { + $.datepicker._selectMonthYear( id, this, "M" ); + return false; + }, + selectYear: function() { + $.datepicker._selectMonthYear( id, this, "Y" ); + return false; + } + }; + $( this ).on( this.getAttribute( "data-event" ), handler[ this.getAttribute( "data-handler" ) ] ); + } ); + }, + + /* Generate the HTML for the current state of the date picker. */ + _generateHTML: function( inst ) { + var maxDraw, prevText, prev, nextText, next, currentText, gotoDate, + controls, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin, + monthNames, monthNamesShort, beforeShowDay, showOtherMonths, + selectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate, + cornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows, + printDate, dRow, tbody, daySettings, otherMonth, unselectable, + tempDate = new Date(), + today = this._daylightSavingAdjust( + new Date( tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate() ) ), // clear time + isRTL = this._get( inst, "isRTL" ), + showButtonPanel = this._get( inst, "showButtonPanel" ), + hideIfNoPrevNext = this._get( inst, "hideIfNoPrevNext" ), + navigationAsDateFormat = this._get( inst, "navigationAsDateFormat" ), + numMonths = this._getNumberOfMonths( inst ), + showCurrentAtPos = this._get( inst, "showCurrentAtPos" ), + stepMonths = this._get( inst, "stepMonths" ), + isMultiMonth = ( numMonths[ 0 ] !== 1 || numMonths[ 1 ] !== 1 ), + currentDate = this._daylightSavingAdjust( ( !inst.currentDay ? new Date( 9999, 9, 9 ) : + new Date( inst.currentYear, inst.currentMonth, inst.currentDay ) ) ), + minDate = this._getMinMaxDate( inst, "min" ), + maxDate = this._getMinMaxDate( inst, "max" ), + drawMonth = inst.drawMonth - showCurrentAtPos, + drawYear = inst.drawYear; + + if ( drawMonth < 0 ) { + drawMonth += 12; + drawYear--; + } + if ( maxDate ) { + maxDraw = this._daylightSavingAdjust( new Date( maxDate.getFullYear(), + maxDate.getMonth() - ( numMonths[ 0 ] * numMonths[ 1 ] ) + 1, maxDate.getDate() ) ); + maxDraw = ( minDate && maxDraw < minDate ? minDate : maxDraw ); + while ( this._daylightSavingAdjust( new Date( drawYear, drawMonth, 1 ) ) > maxDraw ) { + drawMonth--; + if ( drawMonth < 0 ) { + drawMonth = 11; + drawYear--; + } + } + } + inst.drawMonth = drawMonth; + inst.drawYear = drawYear; + + prevText = this._get( inst, "prevText" ); + prevText = ( !navigationAsDateFormat ? prevText : this.formatDate( prevText, + this._daylightSavingAdjust( new Date( drawYear, drawMonth - stepMonths, 1 ) ), + this._getFormatConfig( inst ) ) ); + + prev = ( this._canAdjustMonth( inst, -1, drawYear, drawMonth ) ? + "<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'" + + " title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w" ) + "'>" + prevText + "</span></a>" : + ( hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w" ) + "'>" + prevText + "</span></a>" ) ); + + nextText = this._get( inst, "nextText" ); + nextText = ( !navigationAsDateFormat ? nextText : this.formatDate( nextText, + this._daylightSavingAdjust( new Date( drawYear, drawMonth + stepMonths, 1 ) ), + this._getFormatConfig( inst ) ) ); + + next = ( this._canAdjustMonth( inst, +1, drawYear, drawMonth ) ? + "<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'" + + " title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e" ) + "'>" + nextText + "</span></a>" : + ( hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e" ) + "'>" + nextText + "</span></a>" ) ); + + currentText = this._get( inst, "currentText" ); + gotoDate = ( this._get( inst, "gotoCurrent" ) && inst.currentDay ? currentDate : today ); + currentText = ( !navigationAsDateFormat ? currentText : + this.formatDate( currentText, gotoDate, this._getFormatConfig( inst ) ) ); + + controls = ( !inst.inline ? "<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>" + + this._get( inst, "closeText" ) + "</button>" : "" ); + + buttonPanel = ( showButtonPanel ) ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + ( isRTL ? controls : "" ) + + ( this._isInRange( inst, gotoDate ) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'" + + ">" + currentText + "</button>" : "" ) + ( isRTL ? "" : controls ) + "</div>" : ""; + + firstDay = parseInt( this._get( inst, "firstDay" ), 10 ); + firstDay = ( isNaN( firstDay ) ? 0 : firstDay ); + + showWeek = this._get( inst, "showWeek" ); + dayNames = this._get( inst, "dayNames" ); + dayNamesMin = this._get( inst, "dayNamesMin" ); + monthNames = this._get( inst, "monthNames" ); + monthNamesShort = this._get( inst, "monthNamesShort" ); + beforeShowDay = this._get( inst, "beforeShowDay" ); + showOtherMonths = this._get( inst, "showOtherMonths" ); + selectOtherMonths = this._get( inst, "selectOtherMonths" ); + defaultDate = this._getDefaultDate( inst ); + html = ""; + + for ( row = 0; row < numMonths[ 0 ]; row++ ) { + group = ""; + this.maxRows = 4; + for ( col = 0; col < numMonths[ 1 ]; col++ ) { + selectedDate = this._daylightSavingAdjust( new Date( drawYear, drawMonth, inst.selectedDay ) ); + cornerClass = " ui-corner-all"; + calender = ""; + if ( isMultiMonth ) { + calender += "<div class='ui-datepicker-group"; + if ( numMonths[ 1 ] > 1 ) { + switch ( col ) { + case 0: calender += " ui-datepicker-group-first"; + cornerClass = " ui-corner-" + ( isRTL ? "right" : "left" ); break; + case numMonths[ 1 ] - 1: calender += " ui-datepicker-group-last"; + cornerClass = " ui-corner-" + ( isRTL ? "left" : "right" ); break; + default: calender += " ui-datepicker-group-middle"; cornerClass = ""; break; + } + } + calender += "'>"; + } + calender += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + cornerClass + "'>" + + ( /all|left/.test( cornerClass ) && row === 0 ? ( isRTL ? next : prev ) : "" ) + + ( /all|right/.test( cornerClass ) && row === 0 ? ( isRTL ? prev : next ) : "" ) + + this._generateMonthYearHeader( inst, drawMonth, drawYear, minDate, maxDate, + row > 0 || col > 0, monthNames, monthNamesShort ) + // draw month headers + "</div><table class='ui-datepicker-calendar'><thead>" + + "<tr>"; + thead = ( showWeek ? "<th class='ui-datepicker-week-col'>" + this._get( inst, "weekHeader" ) + "</th>" : "" ); + for ( dow = 0; dow < 7; dow++ ) { // days of the week + day = ( dow + firstDay ) % 7; + thead += "<th scope='col'" + ( ( dow + firstDay + 6 ) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "" ) + ">" + + "<span title='" + dayNames[ day ] + "'>" + dayNamesMin[ day ] + "</span></th>"; + } + calender += thead + "</tr></thead><tbody>"; + daysInMonth = this._getDaysInMonth( drawYear, drawMonth ); + if ( drawYear === inst.selectedYear && drawMonth === inst.selectedMonth ) { + inst.selectedDay = Math.min( inst.selectedDay, daysInMonth ); + } + leadDays = ( this._getFirstDayOfMonth( drawYear, drawMonth ) - firstDay + 7 ) % 7; + curRows = Math.ceil( ( leadDays + daysInMonth ) / 7 ); // calculate the number of rows to generate + numRows = ( isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows ); //If multiple months, use the higher number of rows (see #7043) + this.maxRows = numRows; + printDate = this._daylightSavingAdjust( new Date( drawYear, drawMonth, 1 - leadDays ) ); + for ( dRow = 0; dRow < numRows; dRow++ ) { // create date picker rows + calender += "<tr>"; + tbody = ( !showWeek ? "" : "<td class='ui-datepicker-week-col'>" + + this._get( inst, "calculateWeek" )( printDate ) + "</td>" ); + for ( dow = 0; dow < 7; dow++ ) { // create date picker days + daySettings = ( beforeShowDay ? + beforeShowDay.apply( ( inst.input ? inst.input[ 0 ] : null ), [ printDate ] ) : [ true, "" ] ); + otherMonth = ( printDate.getMonth() !== drawMonth ); + unselectable = ( otherMonth && !selectOtherMonths ) || !daySettings[ 0 ] || + ( minDate && printDate < minDate ) || ( maxDate && printDate > maxDate ); + tbody += "<td class='" + + ( ( dow + firstDay + 6 ) % 7 >= 5 ? " ui-datepicker-week-end" : "" ) + // highlight weekends + ( otherMonth ? " ui-datepicker-other-month" : "" ) + // highlight days from other months + ( ( printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent ) || // user pressed key + ( defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime() ) ? + + // or defaultDate is current printedDate and defaultDate is selectedDate + " " + this._dayOverClass : "" ) + // highlight selected day + ( unselectable ? " " + this._unselectableClass + " ui-state-disabled" : "" ) + // highlight unselectable days + ( otherMonth && !showOtherMonths ? "" : " " + daySettings[ 1 ] + // highlight custom dates + ( printDate.getTime() === currentDate.getTime() ? " " + this._currentClass : "" ) + // highlight selected day + ( printDate.getTime() === today.getTime() ? " ui-datepicker-today" : "" ) ) + "'" + // highlight today (if different) + ( ( !otherMonth || showOtherMonths ) && daySettings[ 2 ] ? " title='" + daySettings[ 2 ].replace( /'/g, "&#39;" ) + "'" : "" ) + // cell title + ( unselectable ? "" : " data-handler='selectDay' data-event='click' data-month='" + printDate.getMonth() + "' data-year='" + printDate.getFullYear() + "'" ) + ">" + // actions + ( otherMonth && !showOtherMonths ? "&#xa0;" : // display for other months + ( unselectable ? "<span class='ui-state-default'>" + printDate.getDate() + "</span>" : "<a class='ui-state-default" + + ( printDate.getTime() === today.getTime() ? " ui-state-highlight" : "" ) + + ( printDate.getTime() === currentDate.getTime() ? " ui-state-active" : "" ) + // highlight selected day + ( otherMonth ? " ui-priority-secondary" : "" ) + // distinguish dates from other months + "' href='#'>" + printDate.getDate() + "</a>" ) ) + "</td>"; // display selectable date + printDate.setDate( printDate.getDate() + 1 ); + printDate = this._daylightSavingAdjust( printDate ); + } + calender += tbody + "</tr>"; + } + drawMonth++; + if ( drawMonth > 11 ) { + drawMonth = 0; + drawYear++; + } + calender += "</tbody></table>" + ( isMultiMonth ? "</div>" + + ( ( numMonths[ 0 ] > 0 && col === numMonths[ 1 ] - 1 ) ? "<div class='ui-datepicker-row-break'></div>" : "" ) : "" ); + group += calender; + } + html += group; + } + html += buttonPanel; + inst._keyEvent = false; + return html; + }, + + /* Generate the month and year header. */ + _generateMonthYearHeader: function( inst, drawMonth, drawYear, minDate, maxDate, + secondary, monthNames, monthNamesShort ) { + + var inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear, + changeMonth = this._get( inst, "changeMonth" ), + changeYear = this._get( inst, "changeYear" ), + showMonthAfterYear = this._get( inst, "showMonthAfterYear" ), + html = "<div class='ui-datepicker-title'>", + monthHtml = ""; + + // Month selection + if ( secondary || !changeMonth ) { + monthHtml += "<span class='ui-datepicker-month'>" + monthNames[ drawMonth ] + "</span>"; + } else { + inMinYear = ( minDate && minDate.getFullYear() === drawYear ); + inMaxYear = ( maxDate && maxDate.getFullYear() === drawYear ); + monthHtml += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>"; + for ( month = 0; month < 12; month++ ) { + if ( ( !inMinYear || month >= minDate.getMonth() ) && ( !inMaxYear || month <= maxDate.getMonth() ) ) { + monthHtml += "<option value='" + month + "'" + + ( month === drawMonth ? " selected='selected'" : "" ) + + ">" + monthNamesShort[ month ] + "</option>"; + } + } + monthHtml += "</select>"; + } + + if ( !showMonthAfterYear ) { + html += monthHtml + ( secondary || !( changeMonth && changeYear ) ? "&#xa0;" : "" ); + } + + // Year selection + if ( !inst.yearshtml ) { + inst.yearshtml = ""; + if ( secondary || !changeYear ) { + html += "<span class='ui-datepicker-year'>" + drawYear + "</span>"; + } else { + + // determine range of years to display + years = this._get( inst, "yearRange" ).split( ":" ); + thisYear = new Date().getFullYear(); + determineYear = function( value ) { + var year = ( value.match( /c[+\-].*/ ) ? drawYear + parseInt( value.substring( 1 ), 10 ) : + ( value.match( /[+\-].*/ ) ? thisYear + parseInt( value, 10 ) : + parseInt( value, 10 ) ) ); + return ( isNaN( year ) ? thisYear : year ); + }; + year = determineYear( years[ 0 ] ); + endYear = Math.max( year, determineYear( years[ 1 ] || "" ) ); + year = ( minDate ? Math.max( year, minDate.getFullYear() ) : year ); + endYear = ( maxDate ? Math.min( endYear, maxDate.getFullYear() ) : endYear ); + inst.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>"; + for ( ; year <= endYear; year++ ) { + inst.yearshtml += "<option value='" + year + "'" + + ( year === drawYear ? " selected='selected'" : "" ) + + ">" + year + "</option>"; + } + inst.yearshtml += "</select>"; + + html += inst.yearshtml; + inst.yearshtml = null; + } + } + + html += this._get( inst, "yearSuffix" ); + if ( showMonthAfterYear ) { + html += ( secondary || !( changeMonth && changeYear ) ? "&#xa0;" : "" ) + monthHtml; + } + html += "</div>"; // Close datepicker_header + return html; + }, + + /* Adjust one of the date sub-fields. */ + _adjustInstDate: function( inst, offset, period ) { + var year = inst.selectedYear + ( period === "Y" ? offset : 0 ), + month = inst.selectedMonth + ( period === "M" ? offset : 0 ), + day = Math.min( inst.selectedDay, this._getDaysInMonth( year, month ) ) + ( period === "D" ? offset : 0 ), + date = this._restrictMinMax( inst, this._daylightSavingAdjust( new Date( year, month, day ) ) ); + + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + if ( period === "M" || period === "Y" ) { + this._notifyChange( inst ); + } + }, + + /* Ensure a date is within any min/max bounds. */ + _restrictMinMax: function( inst, date ) { + var minDate = this._getMinMaxDate( inst, "min" ), + maxDate = this._getMinMaxDate( inst, "max" ), + newDate = ( minDate && date < minDate ? minDate : date ); + return ( maxDate && newDate > maxDate ? maxDate : newDate ); + }, + + /* Notify change of month/year. */ + _notifyChange: function( inst ) { + var onChange = this._get( inst, "onChangeMonthYear" ); + if ( onChange ) { + onChange.apply( ( inst.input ? inst.input[ 0 ] : null ), + [ inst.selectedYear, inst.selectedMonth + 1, inst ] ); + } + }, + + /* Determine the number of months to show. */ + _getNumberOfMonths: function( inst ) { + var numMonths = this._get( inst, "numberOfMonths" ); + return ( numMonths == null ? [ 1, 1 ] : ( typeof numMonths === "number" ? [ 1, numMonths ] : numMonths ) ); + }, + + /* Determine the current maximum date - ensure no time components are set. */ + _getMinMaxDate: function( inst, minMax ) { + return this._determineDate( inst, this._get( inst, minMax + "Date" ), null ); + }, + + /* Find the number of days in a given month. */ + _getDaysInMonth: function( year, month ) { + return 32 - this._daylightSavingAdjust( new Date( year, month, 32 ) ).getDate(); + }, + + /* Find the day of the week of the first of a month. */ + _getFirstDayOfMonth: function( year, month ) { + return new Date( year, month, 1 ).getDay(); + }, + + /* Determines if we should allow a "next/prev" month display change. */ + _canAdjustMonth: function( inst, offset, curYear, curMonth ) { + var numMonths = this._getNumberOfMonths( inst ), + date = this._daylightSavingAdjust( new Date( curYear, + curMonth + ( offset < 0 ? offset : numMonths[ 0 ] * numMonths[ 1 ] ), 1 ) ); + + if ( offset < 0 ) { + date.setDate( this._getDaysInMonth( date.getFullYear(), date.getMonth() ) ); + } + return this._isInRange( inst, date ); + }, + + /* Is the given date in the accepted range? */ + _isInRange: function( inst, date ) { + var yearSplit, currentYear, + minDate = this._getMinMaxDate( inst, "min" ), + maxDate = this._getMinMaxDate( inst, "max" ), + minYear = null, + maxYear = null, + years = this._get( inst, "yearRange" ); + if ( years ) { + yearSplit = years.split( ":" ); + currentYear = new Date().getFullYear(); + minYear = parseInt( yearSplit[ 0 ], 10 ); + maxYear = parseInt( yearSplit[ 1 ], 10 ); + if ( yearSplit[ 0 ].match( /[+\-].*/ ) ) { + minYear += currentYear; + } + if ( yearSplit[ 1 ].match( /[+\-].*/ ) ) { + maxYear += currentYear; + } + } + + return ( ( !minDate || date.getTime() >= minDate.getTime() ) && + ( !maxDate || date.getTime() <= maxDate.getTime() ) && + ( !minYear || date.getFullYear() >= minYear ) && + ( !maxYear || date.getFullYear() <= maxYear ) ); + }, + + /* Provide the configuration settings for formatting/parsing. */ + _getFormatConfig: function( inst ) { + var shortYearCutoff = this._get( inst, "shortYearCutoff" ); + shortYearCutoff = ( typeof shortYearCutoff !== "string" ? shortYearCutoff : + new Date().getFullYear() % 100 + parseInt( shortYearCutoff, 10 ) ); + return { shortYearCutoff: shortYearCutoff, + dayNamesShort: this._get( inst, "dayNamesShort" ), dayNames: this._get( inst, "dayNames" ), + monthNamesShort: this._get( inst, "monthNamesShort" ), monthNames: this._get( inst, "monthNames" ) }; + }, + + /* Format the given date for display. */ + _formatDate: function( inst, day, month, year ) { + if ( !day ) { + inst.currentDay = inst.selectedDay; + inst.currentMonth = inst.selectedMonth; + inst.currentYear = inst.selectedYear; + } + var date = ( day ? ( typeof day === "object" ? day : + this._daylightSavingAdjust( new Date( year, month, day ) ) ) : + this._daylightSavingAdjust( new Date( inst.currentYear, inst.currentMonth, inst.currentDay ) ) ); + return this.formatDate( this._get( inst, "dateFormat" ), date, this._getFormatConfig( inst ) ); + } +} ); + +/* + * Bind hover events for datepicker elements. + * Done via delegate so the binding only occurs once in the lifetime of the parent div. + * Global datepicker_instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker. + */ +function datepicker_bindHover( dpDiv ) { + var selector = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a"; + return dpDiv.on( "mouseout", selector, function() { + $( this ).removeClass( "ui-state-hover" ); + if ( this.className.indexOf( "ui-datepicker-prev" ) !== -1 ) { + $( this ).removeClass( "ui-datepicker-prev-hover" ); + } + if ( this.className.indexOf( "ui-datepicker-next" ) !== -1 ) { + $( this ).removeClass( "ui-datepicker-next-hover" ); + } + } ) + .on( "mouseover", selector, datepicker_handleMouseover ); +} + +function datepicker_handleMouseover() { + if ( !$.datepicker._isDisabledDatepicker( datepicker_instActive.inline ? datepicker_instActive.dpDiv.parent()[ 0 ] : datepicker_instActive.input[ 0 ] ) ) { + $( this ).parents( ".ui-datepicker-calendar" ).find( "a" ).removeClass( "ui-state-hover" ); + $( this ).addClass( "ui-state-hover" ); + if ( this.className.indexOf( "ui-datepicker-prev" ) !== -1 ) { + $( this ).addClass( "ui-datepicker-prev-hover" ); + } + if ( this.className.indexOf( "ui-datepicker-next" ) !== -1 ) { + $( this ).addClass( "ui-datepicker-next-hover" ); + } + } +} + +/* jQuery extend now ignores nulls! */ +function datepicker_extendRemove( target, props ) { + $.extend( target, props ); + for ( var name in props ) { + if ( props[ name ] == null ) { + target[ name ] = props[ name ]; + } + } + return target; +} + +/* Invoke the datepicker functionality. + @param options string - a command, optionally followed by additional parameters or + Object - settings for attaching new datepicker functionality + @return jQuery object */ +$.fn.datepicker = function( options ) { + + /* Verify an empty collection wasn't passed - Fixes #6976 */ + if ( !this.length ) { + return this; + } + + /* Initialise the date picker. */ + if ( !$.datepicker.initialized ) { + $( document ).on( "mousedown", $.datepicker._checkExternalClick ); + $.datepicker.initialized = true; + } + + /* Append datepicker main container to body if not exist. */ + if ( $( "#" + $.datepicker._mainDivId ).length === 0 ) { + $( "body" ).append( $.datepicker.dpDiv ); + } + + var otherArgs = Array.prototype.slice.call( arguments, 1 ); + if ( typeof options === "string" && ( options === "isDisabled" || options === "getDate" || options === "widget" ) ) { + return $.datepicker[ "_" + options + "Datepicker" ]. + apply( $.datepicker, [ this[ 0 ] ].concat( otherArgs ) ); + } + if ( options === "option" && arguments.length === 2 && typeof arguments[ 1 ] === "string" ) { + return $.datepicker[ "_" + options + "Datepicker" ]. + apply( $.datepicker, [ this[ 0 ] ].concat( otherArgs ) ); + } + return this.each( function() { + typeof options === "string" ? + $.datepicker[ "_" + options + "Datepicker" ]. + apply( $.datepicker, [ this ].concat( otherArgs ) ) : + $.datepicker._attachDatepicker( this, options ); + } ); +}; + +$.datepicker = new Datepicker(); // singleton instance +$.datepicker.initialized = false; +$.datepicker.uuid = new Date().getTime(); +$.datepicker.version = "1.12.1"; + +var widgetsDatepicker = $.datepicker; + + + + +// This file is deprecated +var ie = $.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); + +/*! + * jQuery UI Mouse 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Mouse +//>>group: Widgets +//>>description: Abstracts mouse-based interactions to assist in creating certain widgets. +//>>docs: http://api.jqueryui.com/mouse/ + + + +var mouseHandled = false; +$( document ).on( "mouseup", function() { + mouseHandled = false; +} ); + +var widgetsMouse = $.widget( "ui.mouse", { + version: "1.12.1", + options: { + cancel: "input, textarea, button, select, option", + distance: 1, + delay: 0 + }, + _mouseInit: function() { + var that = this; + + this.element + .on( "mousedown." + this.widgetName, function( event ) { + return that._mouseDown( event ); + } ) + .on( "click." + this.widgetName, function( event ) { + if ( true === $.data( event.target, that.widgetName + ".preventClickEvent" ) ) { + $.removeData( event.target, that.widgetName + ".preventClickEvent" ); + event.stopImmediatePropagation(); + return false; + } + } ); + + this.started = false; + }, + + // TODO: make sure destroying one instance of mouse doesn't mess with + // other instances of mouse + _mouseDestroy: function() { + this.element.off( "." + this.widgetName ); + if ( this._mouseMoveDelegate ) { + this.document + .off( "mousemove." + this.widgetName, this._mouseMoveDelegate ) + .off( "mouseup." + this.widgetName, this._mouseUpDelegate ); + } + }, + + _mouseDown: function( event ) { + + // don't let more than one widget handle mouseStart + if ( mouseHandled ) { + return; + } + + this._mouseMoved = false; + + // We may have missed mouseup (out of window) + ( this._mouseStarted && this._mouseUp( event ) ); + + this._mouseDownEvent = event; + + var that = this, + btnIsLeft = ( event.which === 1 ), + + // event.target.nodeName works around a bug in IE 8 with + // disabled inputs (#7620) + elIsCancel = ( typeof this.options.cancel === "string" && event.target.nodeName ? + $( event.target ).closest( this.options.cancel ).length : false ); + if ( !btnIsLeft || elIsCancel || !this._mouseCapture( event ) ) { + return true; + } + + this.mouseDelayMet = !this.options.delay; + if ( !this.mouseDelayMet ) { + this._mouseDelayTimer = setTimeout( function() { + that.mouseDelayMet = true; + }, this.options.delay ); + } + + if ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) { + this._mouseStarted = ( this._mouseStart( event ) !== false ); + if ( !this._mouseStarted ) { + event.preventDefault(); + return true; + } + } + + // Click event may never have fired (Gecko & Opera) + if ( true === $.data( event.target, this.widgetName + ".preventClickEvent" ) ) { + $.removeData( event.target, this.widgetName + ".preventClickEvent" ); + } + + // These delegates are required to keep context + this._mouseMoveDelegate = function( event ) { + return that._mouseMove( event ); + }; + this._mouseUpDelegate = function( event ) { + return that._mouseUp( event ); + }; + + this.document + .on( "mousemove." + this.widgetName, this._mouseMoveDelegate ) + .on( "mouseup." + this.widgetName, this._mouseUpDelegate ); + + event.preventDefault(); + + mouseHandled = true; + return true; + }, + + _mouseMove: function( event ) { + + // Only check for mouseups outside the document if you've moved inside the document + // at least once. This prevents the firing of mouseup in the case of IE<9, which will + // fire a mousemove event if content is placed under the cursor. See #7778 + // Support: IE <9 + if ( this._mouseMoved ) { + + // IE mouseup check - mouseup happened when mouse was out of window + if ( $.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && + !event.button ) { + return this._mouseUp( event ); + + // Iframe mouseup check - mouseup occurred in another document + } else if ( !event.which ) { + + // Support: Safari <=8 - 9 + // Safari sets which to 0 if you press any of the following keys + // during a drag (#14461) + if ( event.originalEvent.altKey || event.originalEvent.ctrlKey || + event.originalEvent.metaKey || event.originalEvent.shiftKey ) { + this.ignoreMissingWhich = true; + } else if ( !this.ignoreMissingWhich ) { + return this._mouseUp( event ); + } + } + } + + if ( event.which || event.button ) { + this._mouseMoved = true; + } + + if ( this._mouseStarted ) { + this._mouseDrag( event ); + return event.preventDefault(); + } + + if ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) { + this._mouseStarted = + ( this._mouseStart( this._mouseDownEvent, event ) !== false ); + ( this._mouseStarted ? this._mouseDrag( event ) : this._mouseUp( event ) ); + } + + return !this._mouseStarted; + }, + + _mouseUp: function( event ) { + this.document + .off( "mousemove." + this.widgetName, this._mouseMoveDelegate ) + .off( "mouseup." + this.widgetName, this._mouseUpDelegate ); + + if ( this._mouseStarted ) { + this._mouseStarted = false; + + if ( event.target === this._mouseDownEvent.target ) { + $.data( event.target, this.widgetName + ".preventClickEvent", true ); + } + + this._mouseStop( event ); + } + + if ( this._mouseDelayTimer ) { + clearTimeout( this._mouseDelayTimer ); + delete this._mouseDelayTimer; + } + + this.ignoreMissingWhich = false; + mouseHandled = false; + event.preventDefault(); + }, + + _mouseDistanceMet: function( event ) { + return ( Math.max( + Math.abs( this._mouseDownEvent.pageX - event.pageX ), + Math.abs( this._mouseDownEvent.pageY - event.pageY ) + ) >= this.options.distance + ); + }, + + _mouseDelayMet: function( /* event */ ) { + return this.mouseDelayMet; + }, + + // These are placeholder methods, to be overriden by extending plugin + _mouseStart: function( /* event */ ) {}, + _mouseDrag: function( /* event */ ) {}, + _mouseStop: function( /* event */ ) {}, + _mouseCapture: function( /* event */ ) { return true; } +} ); + + + + +// $.ui.plugin is deprecated. Use $.widget() extensions instead. +var plugin = $.ui.plugin = { + add: function( module, option, set ) { + var i, + proto = $.ui[ module ].prototype; + for ( i in set ) { + proto.plugins[ i ] = proto.plugins[ i ] || []; + proto.plugins[ i ].push( [ option, set[ i ] ] ); + } + }, + call: function( instance, name, args, allowDisconnected ) { + var i, + set = instance.plugins[ name ]; + + if ( !set ) { + return; + } + + if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || + instance.element[ 0 ].parentNode.nodeType === 11 ) ) { + return; + } + + for ( i = 0; i < set.length; i++ ) { + if ( instance.options[ set[ i ][ 0 ] ] ) { + set[ i ][ 1 ].apply( instance.element, args ); + } + } + } +}; + + + +var safeBlur = $.ui.safeBlur = function( element ) { + + // Support: IE9 - 10 only + // If the <body> is blurred, IE will switch windows, see #9420 + if ( element && element.nodeName.toLowerCase() !== "body" ) { + $( element ).trigger( "blur" ); + } +}; + + +/*! + * jQuery UI Draggable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Draggable +//>>group: Interactions +//>>description: Enables dragging functionality for any element. +//>>docs: http://api.jqueryui.com/draggable/ +//>>demos: http://jqueryui.com/draggable/ +//>>css.structure: ../../themes/base/draggable.css + + + +$.widget( "ui.draggable", $.ui.mouse, { + version: "1.12.1", + widgetEventPrefix: "drag", + options: { + addClasses: true, + appendTo: "parent", + axis: false, + connectToSortable: false, + containment: false, + cursor: "auto", + cursorAt: false, + grid: false, + handle: false, + helper: "original", + iframeFix: false, + opacity: false, + refreshPositions: false, + revert: false, + revertDuration: 500, + scope: "default", + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + snap: false, + snapMode: "both", + snapTolerance: 20, + stack: false, + zIndex: false, + + // Callbacks + drag: null, + start: null, + stop: null + }, + _create: function() { + + if ( this.options.helper === "original" ) { + this._setPositionRelative(); + } + if ( this.options.addClasses ) { + this._addClass( "ui-draggable" ); + } + this._setHandleClassName(); + + this._mouseInit(); + }, + + _setOption: function( key, value ) { + this._super( key, value ); + if ( key === "handle" ) { + this._removeHandleClassName(); + this._setHandleClassName(); + } + }, + + _destroy: function() { + if ( ( this.helper || this.element ).is( ".ui-draggable-dragging" ) ) { + this.destroyOnClear = true; + return; + } + this._removeHandleClassName(); + this._mouseDestroy(); + }, + + _mouseCapture: function( event ) { + var o = this.options; + + // Among others, prevent a drag on a resizable-handle + if ( this.helper || o.disabled || + $( event.target ).closest( ".ui-resizable-handle" ).length > 0 ) { + return false; + } + + //Quit if we're not on a valid handle + this.handle = this._getHandle( event ); + if ( !this.handle ) { + return false; + } + + this._blurActiveElement( event ); + + this._blockFrames( o.iframeFix === true ? "iframe" : o.iframeFix ); + + return true; + + }, + + _blockFrames: function( selector ) { + this.iframeBlocks = this.document.find( selector ).map( function() { + var iframe = $( this ); + + return $( "<div>" ) + .css( "position", "absolute" ) + .appendTo( iframe.parent() ) + .outerWidth( iframe.outerWidth() ) + .outerHeight( iframe.outerHeight() ) + .offset( iframe.offset() )[ 0 ]; + } ); + }, + + _unblockFrames: function() { + if ( this.iframeBlocks ) { + this.iframeBlocks.remove(); + delete this.iframeBlocks; + } + }, + + _blurActiveElement: function( event ) { + var activeElement = $.ui.safeActiveElement( this.document[ 0 ] ), + target = $( event.target ); + + // Don't blur if the event occurred on an element that is within + // the currently focused element + // See #10527, #12472 + if ( target.closest( activeElement ).length ) { + return; + } + + // Blur any element that currently has focus, see #4261 + $.ui.safeBlur( activeElement ); + }, + + _mouseStart: function( event ) { + + var o = this.options; + + //Create and append the visible helper + this.helper = this._createHelper( event ); + + this._addClass( this.helper, "ui-draggable-dragging" ); + + //Cache the helper size + this._cacheHelperProportions(); + + //If ddmanager is used for droppables, set the global draggable + if ( $.ui.ddmanager ) { + $.ui.ddmanager.current = this; + } + + /* + * - Position generation - + * This block generates everything position related - it's the core of draggables. + */ + + //Cache the margins of the original element + this._cacheMargins(); + + //Store the helper's css position + this.cssPosition = this.helper.css( "position" ); + this.scrollParent = this.helper.scrollParent( true ); + this.offsetParent = this.helper.offsetParent(); + this.hasFixedAncestor = this.helper.parents().filter( function() { + return $( this ).css( "position" ) === "fixed"; + } ).length > 0; + + //The element's absolute position on the page minus margins + this.positionAbs = this.element.offset(); + this._refreshOffsets( event ); + + //Generate the original position + this.originalPosition = this.position = this._generatePosition( event, false ); + this.originalPageX = event.pageX; + this.originalPageY = event.pageY; + + //Adjust the mouse offset relative to the helper if "cursorAt" is supplied + ( o.cursorAt && this._adjustOffsetFromHelper( o.cursorAt ) ); + + //Set a containment if given in the options + this._setContainment(); + + //Trigger event + callbacks + if ( this._trigger( "start", event ) === false ) { + this._clear(); + return false; + } + + //Recache the helper size + this._cacheHelperProportions(); + + //Prepare the droppable offsets + if ( $.ui.ddmanager && !o.dropBehaviour ) { + $.ui.ddmanager.prepareOffsets( this, event ); + } + + // Execute the drag once - this causes the helper not to be visible before getting its + // correct position + this._mouseDrag( event, true ); + + // If the ddmanager is used for droppables, inform the manager that dragging has started + // (see #5003) + if ( $.ui.ddmanager ) { + $.ui.ddmanager.dragStart( this, event ); + } + + return true; + }, + + _refreshOffsets: function( event ) { + this.offset = { + top: this.positionAbs.top - this.margins.top, + left: this.positionAbs.left - this.margins.left, + scroll: false, + parent: this._getParentOffset(), + relative: this._getRelativeOffset() + }; + + this.offset.click = { + left: event.pageX - this.offset.left, + top: event.pageY - this.offset.top + }; + }, + + _mouseDrag: function( event, noPropagation ) { + + // reset any necessary cached properties (see #5009) + if ( this.hasFixedAncestor ) { + this.offset.parent = this._getParentOffset(); + } + + //Compute the helpers position + this.position = this._generatePosition( event, true ); + this.positionAbs = this._convertPositionTo( "absolute" ); + + //Call plugins and callbacks and use the resulting position if something is returned + if ( !noPropagation ) { + var ui = this._uiHash(); + if ( this._trigger( "drag", event, ui ) === false ) { + this._mouseUp( new $.Event( "mouseup", event ) ); + return false; + } + this.position = ui.position; + } + + this.helper[ 0 ].style.left = this.position.left + "px"; + this.helper[ 0 ].style.top = this.position.top + "px"; + + if ( $.ui.ddmanager ) { + $.ui.ddmanager.drag( this, event ); + } + + return false; + }, + + _mouseStop: function( event ) { + + //If we are using droppables, inform the manager about the drop + var that = this, + dropped = false; + if ( $.ui.ddmanager && !this.options.dropBehaviour ) { + dropped = $.ui.ddmanager.drop( this, event ); + } + + //if a drop comes from outside (a sortable) + if ( this.dropped ) { + dropped = this.dropped; + this.dropped = false; + } + + if ( ( this.options.revert === "invalid" && !dropped ) || + ( this.options.revert === "valid" && dropped ) || + this.options.revert === true || ( $.isFunction( this.options.revert ) && + this.options.revert.call( this.element, dropped ) ) + ) { + $( this.helper ).animate( + this.originalPosition, + parseInt( this.options.revertDuration, 10 ), + function() { + if ( that._trigger( "stop", event ) !== false ) { + that._clear(); + } + } + ); + } else { + if ( this._trigger( "stop", event ) !== false ) { + this._clear(); + } + } + + return false; + }, + + _mouseUp: function( event ) { + this._unblockFrames(); + + // If the ddmanager is used for droppables, inform the manager that dragging has stopped + // (see #5003) + if ( $.ui.ddmanager ) { + $.ui.ddmanager.dragStop( this, event ); + } + + // Only need to focus if the event occurred on the draggable itself, see #10527 + if ( this.handleElement.is( event.target ) ) { + + // The interaction is over; whether or not the click resulted in a drag, + // focus the element + this.element.trigger( "focus" ); + } + + return $.ui.mouse.prototype._mouseUp.call( this, event ); + }, + + cancel: function() { + + if ( this.helper.is( ".ui-draggable-dragging" ) ) { + this._mouseUp( new $.Event( "mouseup", { target: this.element[ 0 ] } ) ); + } else { + this._clear(); + } + + return this; + + }, + + _getHandle: function( event ) { + return this.options.handle ? + !!$( event.target ).closest( this.element.find( this.options.handle ) ).length : + true; + }, + + _setHandleClassName: function() { + this.handleElement = this.options.handle ? + this.element.find( this.options.handle ) : this.element; + this._addClass( this.handleElement, "ui-draggable-handle" ); + }, + + _removeHandleClassName: function() { + this._removeClass( this.handleElement, "ui-draggable-handle" ); + }, + + _createHelper: function( event ) { + + var o = this.options, + helperIsFunction = $.isFunction( o.helper ), + helper = helperIsFunction ? + $( o.helper.apply( this.element[ 0 ], [ event ] ) ) : + ( o.helper === "clone" ? + this.element.clone().removeAttr( "id" ) : + this.element ); + + if ( !helper.parents( "body" ).length ) { + helper.appendTo( ( o.appendTo === "parent" ? + this.element[ 0 ].parentNode : + o.appendTo ) ); + } + + // Http://bugs.jqueryui.com/ticket/9446 + // a helper function can return the original element + // which wouldn't have been set to relative in _create + if ( helperIsFunction && helper[ 0 ] === this.element[ 0 ] ) { + this._setPositionRelative(); + } + + if ( helper[ 0 ] !== this.element[ 0 ] && + !( /(fixed|absolute)/ ).test( helper.css( "position" ) ) ) { + helper.css( "position", "absolute" ); + } + + return helper; + + }, + + _setPositionRelative: function() { + if ( !( /^(?:r|a|f)/ ).test( this.element.css( "position" ) ) ) { + this.element[ 0 ].style.position = "relative"; + } + }, + + _adjustOffsetFromHelper: function( obj ) { + if ( typeof obj === "string" ) { + obj = obj.split( " " ); + } + if ( $.isArray( obj ) ) { + obj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 }; + } + if ( "left" in obj ) { + this.offset.click.left = obj.left + this.margins.left; + } + if ( "right" in obj ) { + this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; + } + if ( "top" in obj ) { + this.offset.click.top = obj.top + this.margins.top; + } + if ( "bottom" in obj ) { + this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; + } + }, + + _isRootNode: function( element ) { + return ( /(html|body)/i ).test( element.tagName ) || element === this.document[ 0 ]; + }, + + _getParentOffset: function() { + + //Get the offsetParent and cache its position + var po = this.offsetParent.offset(), + document = this.document[ 0 ]; + + // This is a special case where we need to modify a offset calculated on start, since the + // following happened: + // 1. The position of the helper is absolute, so it's position is calculated based on the + // next positioned parent + // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't + // the document, which means that the scroll is included in the initial calculation of the + // offset of the parent, and never recalculated upon drag + if ( this.cssPosition === "absolute" && this.scrollParent[ 0 ] !== document && + $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) { + po.left += this.scrollParent.scrollLeft(); + po.top += this.scrollParent.scrollTop(); + } + + if ( this._isRootNode( this.offsetParent[ 0 ] ) ) { + po = { top: 0, left: 0 }; + } + + return { + top: po.top + ( parseInt( this.offsetParent.css( "borderTopWidth" ), 10 ) || 0 ), + left: po.left + ( parseInt( this.offsetParent.css( "borderLeftWidth" ), 10 ) || 0 ) + }; + + }, + + _getRelativeOffset: function() { + if ( this.cssPosition !== "relative" ) { + return { top: 0, left: 0 }; + } + + var p = this.element.position(), + scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ); + + return { + top: p.top - ( parseInt( this.helper.css( "top" ), 10 ) || 0 ) + + ( !scrollIsRootNode ? this.scrollParent.scrollTop() : 0 ), + left: p.left - ( parseInt( this.helper.css( "left" ), 10 ) || 0 ) + + ( !scrollIsRootNode ? this.scrollParent.scrollLeft() : 0 ) + }; + + }, + + _cacheMargins: function() { + this.margins = { + left: ( parseInt( this.element.css( "marginLeft" ), 10 ) || 0 ), + top: ( parseInt( this.element.css( "marginTop" ), 10 ) || 0 ), + right: ( parseInt( this.element.css( "marginRight" ), 10 ) || 0 ), + bottom: ( parseInt( this.element.css( "marginBottom" ), 10 ) || 0 ) + }; + }, + + _cacheHelperProportions: function() { + this.helperProportions = { + width: this.helper.outerWidth(), + height: this.helper.outerHeight() + }; + }, + + _setContainment: function() { + + var isUserScrollable, c, ce, + o = this.options, + document = this.document[ 0 ]; + + this.relativeContainer = null; + + if ( !o.containment ) { + this.containment = null; + return; + } + + if ( o.containment === "window" ) { + this.containment = [ + $( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left, + $( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top, + $( window ).scrollLeft() + $( window ).width() - + this.helperProportions.width - this.margins.left, + $( window ).scrollTop() + + ( $( window ).height() || document.body.parentNode.scrollHeight ) - + this.helperProportions.height - this.margins.top + ]; + return; + } + + if ( o.containment === "document" ) { + this.containment = [ + 0, + 0, + $( document ).width() - this.helperProportions.width - this.margins.left, + ( $( document ).height() || document.body.parentNode.scrollHeight ) - + this.helperProportions.height - this.margins.top + ]; + return; + } + + if ( o.containment.constructor === Array ) { + this.containment = o.containment; + return; + } + + if ( o.containment === "parent" ) { + o.containment = this.helper[ 0 ].parentNode; + } + + c = $( o.containment ); + ce = c[ 0 ]; + + if ( !ce ) { + return; + } + + isUserScrollable = /(scroll|auto)/.test( c.css( "overflow" ) ); + + this.containment = [ + ( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) + + ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ), + ( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) + + ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ), + ( isUserScrollable ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - + ( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) - + ( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) - + this.helperProportions.width - + this.margins.left - + this.margins.right, + ( isUserScrollable ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - + ( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) - + ( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) - + this.helperProportions.height - + this.margins.top - + this.margins.bottom + ]; + this.relativeContainer = c; + }, + + _convertPositionTo: function( d, pos ) { + + if ( !pos ) { + pos = this.position; + } + + var mod = d === "absolute" ? 1 : -1, + scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ); + + return { + top: ( + + // The absolute mouse position + pos.top + + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.top * mod + + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.top * mod - + ( ( this.cssPosition === "fixed" ? + -this.offset.scroll.top : + ( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) * mod ) + ), + left: ( + + // The absolute mouse position + pos.left + + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.left * mod + + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.left * mod - + ( ( this.cssPosition === "fixed" ? + -this.offset.scroll.left : + ( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) * mod ) + ) + }; + + }, + + _generatePosition: function( event, constrainPosition ) { + + var containment, co, top, left, + o = this.options, + scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ), + pageX = event.pageX, + pageY = event.pageY; + + // Cache the scroll + if ( !scrollIsRootNode || !this.offset.scroll ) { + this.offset.scroll = { + top: this.scrollParent.scrollTop(), + left: this.scrollParent.scrollLeft() + }; + } + + /* + * - Position constraining - + * Constrain the position to a mix of grid, containment. + */ + + // If we are not dragging yet, we won't check for options + if ( constrainPosition ) { + if ( this.containment ) { + if ( this.relativeContainer ) { + co = this.relativeContainer.offset(); + containment = [ + this.containment[ 0 ] + co.left, + this.containment[ 1 ] + co.top, + this.containment[ 2 ] + co.left, + this.containment[ 3 ] + co.top + ]; + } else { + containment = this.containment; + } + + if ( event.pageX - this.offset.click.left < containment[ 0 ] ) { + pageX = containment[ 0 ] + this.offset.click.left; + } + if ( event.pageY - this.offset.click.top < containment[ 1 ] ) { + pageY = containment[ 1 ] + this.offset.click.top; + } + if ( event.pageX - this.offset.click.left > containment[ 2 ] ) { + pageX = containment[ 2 ] + this.offset.click.left; + } + if ( event.pageY - this.offset.click.top > containment[ 3 ] ) { + pageY = containment[ 3 ] + this.offset.click.top; + } + } + + if ( o.grid ) { + + //Check for grid elements set to 0 to prevent divide by 0 error causing invalid + // argument errors in IE (see ticket #6950) + top = o.grid[ 1 ] ? this.originalPageY + Math.round( ( pageY - + this.originalPageY ) / o.grid[ 1 ] ) * o.grid[ 1 ] : this.originalPageY; + pageY = containment ? ( ( top - this.offset.click.top >= containment[ 1 ] || + top - this.offset.click.top > containment[ 3 ] ) ? + top : + ( ( top - this.offset.click.top >= containment[ 1 ] ) ? + top - o.grid[ 1 ] : top + o.grid[ 1 ] ) ) : top; + + left = o.grid[ 0 ] ? this.originalPageX + + Math.round( ( pageX - this.originalPageX ) / o.grid[ 0 ] ) * o.grid[ 0 ] : + this.originalPageX; + pageX = containment ? ( ( left - this.offset.click.left >= containment[ 0 ] || + left - this.offset.click.left > containment[ 2 ] ) ? + left : + ( ( left - this.offset.click.left >= containment[ 0 ] ) ? + left - o.grid[ 0 ] : left + o.grid[ 0 ] ) ) : left; + } + + if ( o.axis === "y" ) { + pageX = this.originalPageX; + } + + if ( o.axis === "x" ) { + pageY = this.originalPageY; + } + } + + return { + top: ( + + // The absolute mouse position + pageY - + + // Click offset (relative to the element) + this.offset.click.top - + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.top - + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.top + + ( this.cssPosition === "fixed" ? + -this.offset.scroll.top : + ( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) + ), + left: ( + + // The absolute mouse position + pageX - + + // Click offset (relative to the element) + this.offset.click.left - + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.left - + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.left + + ( this.cssPosition === "fixed" ? + -this.offset.scroll.left : + ( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) + ) + }; + + }, + + _clear: function() { + this._removeClass( this.helper, "ui-draggable-dragging" ); + if ( this.helper[ 0 ] !== this.element[ 0 ] && !this.cancelHelperRemoval ) { + this.helper.remove(); + } + this.helper = null; + this.cancelHelperRemoval = false; + if ( this.destroyOnClear ) { + this.destroy(); + } + }, + + // From now on bulk stuff - mainly helpers + + _trigger: function( type, event, ui ) { + ui = ui || this._uiHash(); + $.ui.plugin.call( this, type, [ event, ui, this ], true ); + + // Absolute position and offset (see #6884 ) have to be recalculated after plugins + if ( /^(drag|start|stop)/.test( type ) ) { + this.positionAbs = this._convertPositionTo( "absolute" ); + ui.offset = this.positionAbs; + } + return $.Widget.prototype._trigger.call( this, type, event, ui ); + }, + + plugins: {}, + + _uiHash: function() { + return { + helper: this.helper, + position: this.position, + originalPosition: this.originalPosition, + offset: this.positionAbs + }; + } + +} ); + +$.ui.plugin.add( "draggable", "connectToSortable", { + start: function( event, ui, draggable ) { + var uiSortable = $.extend( {}, ui, { + item: draggable.element + } ); + + draggable.sortables = []; + $( draggable.options.connectToSortable ).each( function() { + var sortable = $( this ).sortable( "instance" ); + + if ( sortable && !sortable.options.disabled ) { + draggable.sortables.push( sortable ); + + // RefreshPositions is called at drag start to refresh the containerCache + // which is used in drag. This ensures it's initialized and synchronized + // with any changes that might have happened on the page since initialization. + sortable.refreshPositions(); + sortable._trigger( "activate", event, uiSortable ); + } + } ); + }, + stop: function( event, ui, draggable ) { + var uiSortable = $.extend( {}, ui, { + item: draggable.element + } ); + + draggable.cancelHelperRemoval = false; + + $.each( draggable.sortables, function() { + var sortable = this; + + if ( sortable.isOver ) { + sortable.isOver = 0; + + // Allow this sortable to handle removing the helper + draggable.cancelHelperRemoval = true; + sortable.cancelHelperRemoval = false; + + // Use _storedCSS To restore properties in the sortable, + // as this also handles revert (#9675) since the draggable + // may have modified them in unexpected ways (#8809) + sortable._storedCSS = { + position: sortable.placeholder.css( "position" ), + top: sortable.placeholder.css( "top" ), + left: sortable.placeholder.css( "left" ) + }; + + sortable._mouseStop( event ); + + // Once drag has ended, the sortable should return to using + // its original helper, not the shared helper from draggable + sortable.options.helper = sortable.options._helper; + } else { + + // Prevent this Sortable from removing the helper. + // However, don't set the draggable to remove the helper + // either as another connected Sortable may yet handle the removal. + sortable.cancelHelperRemoval = true; + + sortable._trigger( "deactivate", event, uiSortable ); + } + } ); + }, + drag: function( event, ui, draggable ) { + $.each( draggable.sortables, function() { + var innermostIntersecting = false, + sortable = this; + + // Copy over variables that sortable's _intersectsWith uses + sortable.positionAbs = draggable.positionAbs; + sortable.helperProportions = draggable.helperProportions; + sortable.offset.click = draggable.offset.click; + + if ( sortable._intersectsWith( sortable.containerCache ) ) { + innermostIntersecting = true; + + $.each( draggable.sortables, function() { + + // Copy over variables that sortable's _intersectsWith uses + this.positionAbs = draggable.positionAbs; + this.helperProportions = draggable.helperProportions; + this.offset.click = draggable.offset.click; + + if ( this !== sortable && + this._intersectsWith( this.containerCache ) && + $.contains( sortable.element[ 0 ], this.element[ 0 ] ) ) { + innermostIntersecting = false; + } + + return innermostIntersecting; + } ); + } + + if ( innermostIntersecting ) { + + // If it intersects, we use a little isOver variable and set it once, + // so that the move-in stuff gets fired only once. + if ( !sortable.isOver ) { + sortable.isOver = 1; + + // Store draggable's parent in case we need to reappend to it later. + draggable._parent = ui.helper.parent(); + + sortable.currentItem = ui.helper + .appendTo( sortable.element ) + .data( "ui-sortable-item", true ); + + // Store helper option to later restore it + sortable.options._helper = sortable.options.helper; + + sortable.options.helper = function() { + return ui.helper[ 0 ]; + }; + + // Fire the start events of the sortable with our passed browser event, + // and our own helper (so it doesn't create a new one) + event.target = sortable.currentItem[ 0 ]; + sortable._mouseCapture( event, true ); + sortable._mouseStart( event, true, true ); + + // Because the browser event is way off the new appended portlet, + // modify necessary variables to reflect the changes + sortable.offset.click.top = draggable.offset.click.top; + sortable.offset.click.left = draggable.offset.click.left; + sortable.offset.parent.left -= draggable.offset.parent.left - + sortable.offset.parent.left; + sortable.offset.parent.top -= draggable.offset.parent.top - + sortable.offset.parent.top; + + draggable._trigger( "toSortable", event ); + + // Inform draggable that the helper is in a valid drop zone, + // used solely in the revert option to handle "valid/invalid". + draggable.dropped = sortable.element; + + // Need to refreshPositions of all sortables in the case that + // adding to one sortable changes the location of the other sortables (#9675) + $.each( draggable.sortables, function() { + this.refreshPositions(); + } ); + + // Hack so receive/update callbacks work (mostly) + draggable.currentItem = draggable.element; + sortable.fromOutside = draggable; + } + + if ( sortable.currentItem ) { + sortable._mouseDrag( event ); + + // Copy the sortable's position because the draggable's can potentially reflect + // a relative position, while sortable is always absolute, which the dragged + // element has now become. (#8809) + ui.position = sortable.position; + } + } else { + + // If it doesn't intersect with the sortable, and it intersected before, + // we fake the drag stop of the sortable, but make sure it doesn't remove + // the helper by using cancelHelperRemoval. + if ( sortable.isOver ) { + + sortable.isOver = 0; + sortable.cancelHelperRemoval = true; + + // Calling sortable's mouseStop would trigger a revert, + // so revert must be temporarily false until after mouseStop is called. + sortable.options._revert = sortable.options.revert; + sortable.options.revert = false; + + sortable._trigger( "out", event, sortable._uiHash( sortable ) ); + sortable._mouseStop( event, true ); + + // Restore sortable behaviors that were modfied + // when the draggable entered the sortable area (#9481) + sortable.options.revert = sortable.options._revert; + sortable.options.helper = sortable.options._helper; + + if ( sortable.placeholder ) { + sortable.placeholder.remove(); + } + + // Restore and recalculate the draggable's offset considering the sortable + // may have modified them in unexpected ways. (#8809, #10669) + ui.helper.appendTo( draggable._parent ); + draggable._refreshOffsets( event ); + ui.position = draggable._generatePosition( event, true ); + + draggable._trigger( "fromSortable", event ); + + // Inform draggable that the helper is no longer in a valid drop zone + draggable.dropped = false; + + // Need to refreshPositions of all sortables just in case removing + // from one sortable changes the location of other sortables (#9675) + $.each( draggable.sortables, function() { + this.refreshPositions(); + } ); + } + } + } ); + } +} ); + +$.ui.plugin.add( "draggable", "cursor", { + start: function( event, ui, instance ) { + var t = $( "body" ), + o = instance.options; + + if ( t.css( "cursor" ) ) { + o._cursor = t.css( "cursor" ); + } + t.css( "cursor", o.cursor ); + }, + stop: function( event, ui, instance ) { + var o = instance.options; + if ( o._cursor ) { + $( "body" ).css( "cursor", o._cursor ); + } + } +} ); + +$.ui.plugin.add( "draggable", "opacity", { + start: function( event, ui, instance ) { + var t = $( ui.helper ), + o = instance.options; + if ( t.css( "opacity" ) ) { + o._opacity = t.css( "opacity" ); + } + t.css( "opacity", o.opacity ); + }, + stop: function( event, ui, instance ) { + var o = instance.options; + if ( o._opacity ) { + $( ui.helper ).css( "opacity", o._opacity ); + } + } +} ); + +$.ui.plugin.add( "draggable", "scroll", { + start: function( event, ui, i ) { + if ( !i.scrollParentNotHidden ) { + i.scrollParentNotHidden = i.helper.scrollParent( false ); + } + + if ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] && + i.scrollParentNotHidden[ 0 ].tagName !== "HTML" ) { + i.overflowOffset = i.scrollParentNotHidden.offset(); + } + }, + drag: function( event, ui, i ) { + + var o = i.options, + scrolled = false, + scrollParent = i.scrollParentNotHidden[ 0 ], + document = i.document[ 0 ]; + + if ( scrollParent !== document && scrollParent.tagName !== "HTML" ) { + if ( !o.axis || o.axis !== "x" ) { + if ( ( i.overflowOffset.top + scrollParent.offsetHeight ) - event.pageY < + o.scrollSensitivity ) { + scrollParent.scrollTop = scrolled = scrollParent.scrollTop + o.scrollSpeed; + } else if ( event.pageY - i.overflowOffset.top < o.scrollSensitivity ) { + scrollParent.scrollTop = scrolled = scrollParent.scrollTop - o.scrollSpeed; + } + } + + if ( !o.axis || o.axis !== "y" ) { + if ( ( i.overflowOffset.left + scrollParent.offsetWidth ) - event.pageX < + o.scrollSensitivity ) { + scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft + o.scrollSpeed; + } else if ( event.pageX - i.overflowOffset.left < o.scrollSensitivity ) { + scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft - o.scrollSpeed; + } + } + + } else { + + if ( !o.axis || o.axis !== "x" ) { + if ( event.pageY - $( document ).scrollTop() < o.scrollSensitivity ) { + scrolled = $( document ).scrollTop( $( document ).scrollTop() - o.scrollSpeed ); + } else if ( $( window ).height() - ( event.pageY - $( document ).scrollTop() ) < + o.scrollSensitivity ) { + scrolled = $( document ).scrollTop( $( document ).scrollTop() + o.scrollSpeed ); + } + } + + if ( !o.axis || o.axis !== "y" ) { + if ( event.pageX - $( document ).scrollLeft() < o.scrollSensitivity ) { + scrolled = $( document ).scrollLeft( + $( document ).scrollLeft() - o.scrollSpeed + ); + } else if ( $( window ).width() - ( event.pageX - $( document ).scrollLeft() ) < + o.scrollSensitivity ) { + scrolled = $( document ).scrollLeft( + $( document ).scrollLeft() + o.scrollSpeed + ); + } + } + + } + + if ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) { + $.ui.ddmanager.prepareOffsets( i, event ); + } + + } +} ); + +$.ui.plugin.add( "draggable", "snap", { + start: function( event, ui, i ) { + + var o = i.options; + + i.snapElements = []; + + $( o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap ) + .each( function() { + var $t = $( this ), + $o = $t.offset(); + if ( this !== i.element[ 0 ] ) { + i.snapElements.push( { + item: this, + width: $t.outerWidth(), height: $t.outerHeight(), + top: $o.top, left: $o.left + } ); + } + } ); + + }, + drag: function( event, ui, inst ) { + + var ts, bs, ls, rs, l, r, t, b, i, first, + o = inst.options, + d = o.snapTolerance, + x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width, + y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height; + + for ( i = inst.snapElements.length - 1; i >= 0; i-- ) { + + l = inst.snapElements[ i ].left - inst.margins.left; + r = l + inst.snapElements[ i ].width; + t = inst.snapElements[ i ].top - inst.margins.top; + b = t + inst.snapElements[ i ].height; + + if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || + !$.contains( inst.snapElements[ i ].item.ownerDocument, + inst.snapElements[ i ].item ) ) { + if ( inst.snapElements[ i ].snapping ) { + ( inst.options.snap.release && + inst.options.snap.release.call( + inst.element, + event, + $.extend( inst._uiHash(), { snapItem: inst.snapElements[ i ].item } ) + ) ); + } + inst.snapElements[ i ].snapping = false; + continue; + } + + if ( o.snapMode !== "inner" ) { + ts = Math.abs( t - y2 ) <= d; + bs = Math.abs( b - y1 ) <= d; + ls = Math.abs( l - x2 ) <= d; + rs = Math.abs( r - x1 ) <= d; + if ( ts ) { + ui.position.top = inst._convertPositionTo( "relative", { + top: t - inst.helperProportions.height, + left: 0 + } ).top; + } + if ( bs ) { + ui.position.top = inst._convertPositionTo( "relative", { + top: b, + left: 0 + } ).top; + } + if ( ls ) { + ui.position.left = inst._convertPositionTo( "relative", { + top: 0, + left: l - inst.helperProportions.width + } ).left; + } + if ( rs ) { + ui.position.left = inst._convertPositionTo( "relative", { + top: 0, + left: r + } ).left; + } + } + + first = ( ts || bs || ls || rs ); + + if ( o.snapMode !== "outer" ) { + ts = Math.abs( t - y1 ) <= d; + bs = Math.abs( b - y2 ) <= d; + ls = Math.abs( l - x1 ) <= d; + rs = Math.abs( r - x2 ) <= d; + if ( ts ) { + ui.position.top = inst._convertPositionTo( "relative", { + top: t, + left: 0 + } ).top; + } + if ( bs ) { + ui.position.top = inst._convertPositionTo( "relative", { + top: b - inst.helperProportions.height, + left: 0 + } ).top; + } + if ( ls ) { + ui.position.left = inst._convertPositionTo( "relative", { + top: 0, + left: l + } ).left; + } + if ( rs ) { + ui.position.left = inst._convertPositionTo( "relative", { + top: 0, + left: r - inst.helperProportions.width + } ).left; + } + } + + if ( !inst.snapElements[ i ].snapping && ( ts || bs || ls || rs || first ) ) { + ( inst.options.snap.snap && + inst.options.snap.snap.call( + inst.element, + event, + $.extend( inst._uiHash(), { + snapItem: inst.snapElements[ i ].item + } ) ) ); + } + inst.snapElements[ i ].snapping = ( ts || bs || ls || rs || first ); + + } + + } +} ); + +$.ui.plugin.add( "draggable", "stack", { + start: function( event, ui, instance ) { + var min, + o = instance.options, + group = $.makeArray( $( o.stack ) ).sort( function( a, b ) { + return ( parseInt( $( a ).css( "zIndex" ), 10 ) || 0 ) - + ( parseInt( $( b ).css( "zIndex" ), 10 ) || 0 ); + } ); + + if ( !group.length ) { return; } + + min = parseInt( $( group[ 0 ] ).css( "zIndex" ), 10 ) || 0; + $( group ).each( function( i ) { + $( this ).css( "zIndex", min + i ); + } ); + this.css( "zIndex", ( min + group.length ) ); + } +} ); + +$.ui.plugin.add( "draggable", "zIndex", { + start: function( event, ui, instance ) { + var t = $( ui.helper ), + o = instance.options; + + if ( t.css( "zIndex" ) ) { + o._zIndex = t.css( "zIndex" ); + } + t.css( "zIndex", o.zIndex ); + }, + stop: function( event, ui, instance ) { + var o = instance.options; + + if ( o._zIndex ) { + $( ui.helper ).css( "zIndex", o._zIndex ); + } + } +} ); + +var widgetsDraggable = $.ui.draggable; + + +/*! + * jQuery UI Resizable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Resizable +//>>group: Interactions +//>>description: Enables resize functionality for any element. +//>>docs: http://api.jqueryui.com/resizable/ +//>>demos: http://jqueryui.com/resizable/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/resizable.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.resizable", $.ui.mouse, { + version: "1.12.1", + widgetEventPrefix: "resize", + options: { + alsoResize: false, + animate: false, + animateDuration: "slow", + animateEasing: "swing", + aspectRatio: false, + autoHide: false, + classes: { + "ui-resizable-se": "ui-icon ui-icon-gripsmall-diagonal-se" + }, + containment: false, + ghost: false, + grid: false, + handles: "e,s,se", + helper: false, + maxHeight: null, + maxWidth: null, + minHeight: 10, + minWidth: 10, + + // See #7960 + zIndex: 90, + + // Callbacks + resize: null, + start: null, + stop: null + }, + + _num: function( value ) { + return parseFloat( value ) || 0; + }, + + _isNumber: function( value ) { + return !isNaN( parseFloat( value ) ); + }, + + _hasScroll: function( el, a ) { + + if ( $( el ).css( "overflow" ) === "hidden" ) { + return false; + } + + var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop", + has = false; + + if ( el[ scroll ] > 0 ) { + return true; + } + + // TODO: determine which cases actually cause this to happen + // if the element doesn't have the scroll set, see if it's possible to + // set the scroll + el[ scroll ] = 1; + has = ( el[ scroll ] > 0 ); + el[ scroll ] = 0; + return has; + }, + + _create: function() { + + var margins, + o = this.options, + that = this; + this._addClass( "ui-resizable" ); + + $.extend( this, { + _aspectRatio: !!( o.aspectRatio ), + aspectRatio: o.aspectRatio, + originalElement: this.element, + _proportionallyResizeElements: [], + _helper: o.helper || o.ghost || o.animate ? o.helper || "ui-resizable-helper" : null + } ); + + // Wrap the element if it cannot hold child nodes + if ( this.element[ 0 ].nodeName.match( /^(canvas|textarea|input|select|button|img)$/i ) ) { + + this.element.wrap( + $( "<div class='ui-wrapper' style='overflow: hidden;'></div>" ).css( { + position: this.element.css( "position" ), + width: this.element.outerWidth(), + height: this.element.outerHeight(), + top: this.element.css( "top" ), + left: this.element.css( "left" ) + } ) + ); + + this.element = this.element.parent().data( + "ui-resizable", this.element.resizable( "instance" ) + ); + + this.elementIsWrapper = true; + + margins = { + marginTop: this.originalElement.css( "marginTop" ), + marginRight: this.originalElement.css( "marginRight" ), + marginBottom: this.originalElement.css( "marginBottom" ), + marginLeft: this.originalElement.css( "marginLeft" ) + }; + + this.element.css( margins ); + this.originalElement.css( "margin", 0 ); + + // support: Safari + // Prevent Safari textarea resize + this.originalResizeStyle = this.originalElement.css( "resize" ); + this.originalElement.css( "resize", "none" ); + + this._proportionallyResizeElements.push( this.originalElement.css( { + position: "static", + zoom: 1, + display: "block" + } ) ); + + // Support: IE9 + // avoid IE jump (hard set the margin) + this.originalElement.css( margins ); + + this._proportionallyResize(); + } + + this._setupHandles(); + + if ( o.autoHide ) { + $( this.element ) + .on( "mouseenter", function() { + if ( o.disabled ) { + return; + } + that._removeClass( "ui-resizable-autohide" ); + that._handles.show(); + } ) + .on( "mouseleave", function() { + if ( o.disabled ) { + return; + } + if ( !that.resizing ) { + that._addClass( "ui-resizable-autohide" ); + that._handles.hide(); + } + } ); + } + + this._mouseInit(); + }, + + _destroy: function() { + + this._mouseDestroy(); + + var wrapper, + _destroy = function( exp ) { + $( exp ) + .removeData( "resizable" ) + .removeData( "ui-resizable" ) + .off( ".resizable" ) + .find( ".ui-resizable-handle" ) + .remove(); + }; + + // TODO: Unwrap at same DOM position + if ( this.elementIsWrapper ) { + _destroy( this.element ); + wrapper = this.element; + this.originalElement.css( { + position: wrapper.css( "position" ), + width: wrapper.outerWidth(), + height: wrapper.outerHeight(), + top: wrapper.css( "top" ), + left: wrapper.css( "left" ) + } ).insertAfter( wrapper ); + wrapper.remove(); + } + + this.originalElement.css( "resize", this.originalResizeStyle ); + _destroy( this.originalElement ); + + return this; + }, + + _setOption: function( key, value ) { + this._super( key, value ); + + switch ( key ) { + case "handles": + this._removeHandles(); + this._setupHandles(); + break; + default: + break; + } + }, + + _setupHandles: function() { + var o = this.options, handle, i, n, hname, axis, that = this; + this.handles = o.handles || + ( !$( ".ui-resizable-handle", this.element ).length ? + "e,s,se" : { + n: ".ui-resizable-n", + e: ".ui-resizable-e", + s: ".ui-resizable-s", + w: ".ui-resizable-w", + se: ".ui-resizable-se", + sw: ".ui-resizable-sw", + ne: ".ui-resizable-ne", + nw: ".ui-resizable-nw" + } ); + + this._handles = $(); + if ( this.handles.constructor === String ) { + + if ( this.handles === "all" ) { + this.handles = "n,e,s,w,se,sw,ne,nw"; + } + + n = this.handles.split( "," ); + this.handles = {}; + + for ( i = 0; i < n.length; i++ ) { + + handle = $.trim( n[ i ] ); + hname = "ui-resizable-" + handle; + axis = $( "<div>" ); + this._addClass( axis, "ui-resizable-handle " + hname ); + + axis.css( { zIndex: o.zIndex } ); + + this.handles[ handle ] = ".ui-resizable-" + handle; + this.element.append( axis ); + } + + } + + this._renderAxis = function( target ) { + + var i, axis, padPos, padWrapper; + + target = target || this.element; + + for ( i in this.handles ) { + + if ( this.handles[ i ].constructor === String ) { + this.handles[ i ] = this.element.children( this.handles[ i ] ).first().show(); + } else if ( this.handles[ i ].jquery || this.handles[ i ].nodeType ) { + this.handles[ i ] = $( this.handles[ i ] ); + this._on( this.handles[ i ], { "mousedown": that._mouseDown } ); + } + + if ( this.elementIsWrapper && + this.originalElement[ 0 ] + .nodeName + .match( /^(textarea|input|select|button)$/i ) ) { + axis = $( this.handles[ i ], this.element ); + + padWrapper = /sw|ne|nw|se|n|s/.test( i ) ? + axis.outerHeight() : + axis.outerWidth(); + + padPos = [ "padding", + /ne|nw|n/.test( i ) ? "Top" : + /se|sw|s/.test( i ) ? "Bottom" : + /^e$/.test( i ) ? "Right" : "Left" ].join( "" ); + + target.css( padPos, padWrapper ); + + this._proportionallyResize(); + } + + this._handles = this._handles.add( this.handles[ i ] ); + } + }; + + // TODO: make renderAxis a prototype function + this._renderAxis( this.element ); + + this._handles = this._handles.add( this.element.find( ".ui-resizable-handle" ) ); + this._handles.disableSelection(); + + this._handles.on( "mouseover", function() { + if ( !that.resizing ) { + if ( this.className ) { + axis = this.className.match( /ui-resizable-(se|sw|ne|nw|n|e|s|w)/i ); + } + that.axis = axis && axis[ 1 ] ? axis[ 1 ] : "se"; + } + } ); + + if ( o.autoHide ) { + this._handles.hide(); + this._addClass( "ui-resizable-autohide" ); + } + }, + + _removeHandles: function() { + this._handles.remove(); + }, + + _mouseCapture: function( event ) { + var i, handle, + capture = false; + + for ( i in this.handles ) { + handle = $( this.handles[ i ] )[ 0 ]; + if ( handle === event.target || $.contains( handle, event.target ) ) { + capture = true; + } + } + + return !this.options.disabled && capture; + }, + + _mouseStart: function( event ) { + + var curleft, curtop, cursor, + o = this.options, + el = this.element; + + this.resizing = true; + + this._renderProxy(); + + curleft = this._num( this.helper.css( "left" ) ); + curtop = this._num( this.helper.css( "top" ) ); + + if ( o.containment ) { + curleft += $( o.containment ).scrollLeft() || 0; + curtop += $( o.containment ).scrollTop() || 0; + } + + this.offset = this.helper.offset(); + this.position = { left: curleft, top: curtop }; + + this.size = this._helper ? { + width: this.helper.width(), + height: this.helper.height() + } : { + width: el.width(), + height: el.height() + }; + + this.originalSize = this._helper ? { + width: el.outerWidth(), + height: el.outerHeight() + } : { + width: el.width(), + height: el.height() + }; + + this.sizeDiff = { + width: el.outerWidth() - el.width(), + height: el.outerHeight() - el.height() + }; + + this.originalPosition = { left: curleft, top: curtop }; + this.originalMousePosition = { left: event.pageX, top: event.pageY }; + + this.aspectRatio = ( typeof o.aspectRatio === "number" ) ? + o.aspectRatio : + ( ( this.originalSize.width / this.originalSize.height ) || 1 ); + + cursor = $( ".ui-resizable-" + this.axis ).css( "cursor" ); + $( "body" ).css( "cursor", cursor === "auto" ? this.axis + "-resize" : cursor ); + + this._addClass( "ui-resizable-resizing" ); + this._propagate( "start", event ); + return true; + }, + + _mouseDrag: function( event ) { + + var data, props, + smp = this.originalMousePosition, + a = this.axis, + dx = ( event.pageX - smp.left ) || 0, + dy = ( event.pageY - smp.top ) || 0, + trigger = this._change[ a ]; + + this._updatePrevProperties(); + + if ( !trigger ) { + return false; + } + + data = trigger.apply( this, [ event, dx, dy ] ); + + this._updateVirtualBoundaries( event.shiftKey ); + if ( this._aspectRatio || event.shiftKey ) { + data = this._updateRatio( data, event ); + } + + data = this._respectSize( data, event ); + + this._updateCache( data ); + + this._propagate( "resize", event ); + + props = this._applyChanges(); + + if ( !this._helper && this._proportionallyResizeElements.length ) { + this._proportionallyResize(); + } + + if ( !$.isEmptyObject( props ) ) { + this._updatePrevProperties(); + this._trigger( "resize", event, this.ui() ); + this._applyChanges(); + } + + return false; + }, + + _mouseStop: function( event ) { + + this.resizing = false; + var pr, ista, soffseth, soffsetw, s, left, top, + o = this.options, that = this; + + if ( this._helper ) { + + pr = this._proportionallyResizeElements; + ista = pr.length && ( /textarea/i ).test( pr[ 0 ].nodeName ); + soffseth = ista && this._hasScroll( pr[ 0 ], "left" ) ? 0 : that.sizeDiff.height; + soffsetw = ista ? 0 : that.sizeDiff.width; + + s = { + width: ( that.helper.width() - soffsetw ), + height: ( that.helper.height() - soffseth ) + }; + left = ( parseFloat( that.element.css( "left" ) ) + + ( that.position.left - that.originalPosition.left ) ) || null; + top = ( parseFloat( that.element.css( "top" ) ) + + ( that.position.top - that.originalPosition.top ) ) || null; + + if ( !o.animate ) { + this.element.css( $.extend( s, { top: top, left: left } ) ); + } + + that.helper.height( that.size.height ); + that.helper.width( that.size.width ); + + if ( this._helper && !o.animate ) { + this._proportionallyResize(); + } + } + + $( "body" ).css( "cursor", "auto" ); + + this._removeClass( "ui-resizable-resizing" ); + + this._propagate( "stop", event ); + + if ( this._helper ) { + this.helper.remove(); + } + + return false; + + }, + + _updatePrevProperties: function() { + this.prevPosition = { + top: this.position.top, + left: this.position.left + }; + this.prevSize = { + width: this.size.width, + height: this.size.height + }; + }, + + _applyChanges: function() { + var props = {}; + + if ( this.position.top !== this.prevPosition.top ) { + props.top = this.position.top + "px"; + } + if ( this.position.left !== this.prevPosition.left ) { + props.left = this.position.left + "px"; + } + if ( this.size.width !== this.prevSize.width ) { + props.width = this.size.width + "px"; + } + if ( this.size.height !== this.prevSize.height ) { + props.height = this.size.height + "px"; + } + + this.helper.css( props ); + + return props; + }, + + _updateVirtualBoundaries: function( forceAspectRatio ) { + var pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b, + o = this.options; + + b = { + minWidth: this._isNumber( o.minWidth ) ? o.minWidth : 0, + maxWidth: this._isNumber( o.maxWidth ) ? o.maxWidth : Infinity, + minHeight: this._isNumber( o.minHeight ) ? o.minHeight : 0, + maxHeight: this._isNumber( o.maxHeight ) ? o.maxHeight : Infinity + }; + + if ( this._aspectRatio || forceAspectRatio ) { + pMinWidth = b.minHeight * this.aspectRatio; + pMinHeight = b.minWidth / this.aspectRatio; + pMaxWidth = b.maxHeight * this.aspectRatio; + pMaxHeight = b.maxWidth / this.aspectRatio; + + if ( pMinWidth > b.minWidth ) { + b.minWidth = pMinWidth; + } + if ( pMinHeight > b.minHeight ) { + b.minHeight = pMinHeight; + } + if ( pMaxWidth < b.maxWidth ) { + b.maxWidth = pMaxWidth; + } + if ( pMaxHeight < b.maxHeight ) { + b.maxHeight = pMaxHeight; + } + } + this._vBoundaries = b; + }, + + _updateCache: function( data ) { + this.offset = this.helper.offset(); + if ( this._isNumber( data.left ) ) { + this.position.left = data.left; + } + if ( this._isNumber( data.top ) ) { + this.position.top = data.top; + } + if ( this._isNumber( data.height ) ) { + this.size.height = data.height; + } + if ( this._isNumber( data.width ) ) { + this.size.width = data.width; + } + }, + + _updateRatio: function( data ) { + + var cpos = this.position, + csize = this.size, + a = this.axis; + + if ( this._isNumber( data.height ) ) { + data.width = ( data.height * this.aspectRatio ); + } else if ( this._isNumber( data.width ) ) { + data.height = ( data.width / this.aspectRatio ); + } + + if ( a === "sw" ) { + data.left = cpos.left + ( csize.width - data.width ); + data.top = null; + } + if ( a === "nw" ) { + data.top = cpos.top + ( csize.height - data.height ); + data.left = cpos.left + ( csize.width - data.width ); + } + + return data; + }, + + _respectSize: function( data ) { + + var o = this._vBoundaries, + a = this.axis, + ismaxw = this._isNumber( data.width ) && o.maxWidth && ( o.maxWidth < data.width ), + ismaxh = this._isNumber( data.height ) && o.maxHeight && ( o.maxHeight < data.height ), + isminw = this._isNumber( data.width ) && o.minWidth && ( o.minWidth > data.width ), + isminh = this._isNumber( data.height ) && o.minHeight && ( o.minHeight > data.height ), + dw = this.originalPosition.left + this.originalSize.width, + dh = this.originalPosition.top + this.originalSize.height, + cw = /sw|nw|w/.test( a ), ch = /nw|ne|n/.test( a ); + if ( isminw ) { + data.width = o.minWidth; + } + if ( isminh ) { + data.height = o.minHeight; + } + if ( ismaxw ) { + data.width = o.maxWidth; + } + if ( ismaxh ) { + data.height = o.maxHeight; + } + + if ( isminw && cw ) { + data.left = dw - o.minWidth; + } + if ( ismaxw && cw ) { + data.left = dw - o.maxWidth; + } + if ( isminh && ch ) { + data.top = dh - o.minHeight; + } + if ( ismaxh && ch ) { + data.top = dh - o.maxHeight; + } + + // Fixing jump error on top/left - bug #2330 + if ( !data.width && !data.height && !data.left && data.top ) { + data.top = null; + } else if ( !data.width && !data.height && !data.top && data.left ) { + data.left = null; + } + + return data; + }, + + _getPaddingPlusBorderDimensions: function( element ) { + var i = 0, + widths = [], + borders = [ + element.css( "borderTopWidth" ), + element.css( "borderRightWidth" ), + element.css( "borderBottomWidth" ), + element.css( "borderLeftWidth" ) + ], + paddings = [ + element.css( "paddingTop" ), + element.css( "paddingRight" ), + element.css( "paddingBottom" ), + element.css( "paddingLeft" ) + ]; + + for ( ; i < 4; i++ ) { + widths[ i ] = ( parseFloat( borders[ i ] ) || 0 ); + widths[ i ] += ( parseFloat( paddings[ i ] ) || 0 ); + } + + return { + height: widths[ 0 ] + widths[ 2 ], + width: widths[ 1 ] + widths[ 3 ] + }; + }, + + _proportionallyResize: function() { + + if ( !this._proportionallyResizeElements.length ) { + return; + } + + var prel, + i = 0, + element = this.helper || this.element; + + for ( ; i < this._proportionallyResizeElements.length; i++ ) { + + prel = this._proportionallyResizeElements[ i ]; + + // TODO: Seems like a bug to cache this.outerDimensions + // considering that we are in a loop. + if ( !this.outerDimensions ) { + this.outerDimensions = this._getPaddingPlusBorderDimensions( prel ); + } + + prel.css( { + height: ( element.height() - this.outerDimensions.height ) || 0, + width: ( element.width() - this.outerDimensions.width ) || 0 + } ); + + } + + }, + + _renderProxy: function() { + + var el = this.element, o = this.options; + this.elementOffset = el.offset(); + + if ( this._helper ) { + + this.helper = this.helper || $( "<div style='overflow:hidden;'></div>" ); + + this._addClass( this.helper, this._helper ); + this.helper.css( { + width: this.element.outerWidth(), + height: this.element.outerHeight(), + position: "absolute", + left: this.elementOffset.left + "px", + top: this.elementOffset.top + "px", + zIndex: ++o.zIndex //TODO: Don't modify option + } ); + + this.helper + .appendTo( "body" ) + .disableSelection(); + + } else { + this.helper = this.element; + } + + }, + + _change: { + e: function( event, dx ) { + return { width: this.originalSize.width + dx }; + }, + w: function( event, dx ) { + var cs = this.originalSize, sp = this.originalPosition; + return { left: sp.left + dx, width: cs.width - dx }; + }, + n: function( event, dx, dy ) { + var cs = this.originalSize, sp = this.originalPosition; + return { top: sp.top + dy, height: cs.height - dy }; + }, + s: function( event, dx, dy ) { + return { height: this.originalSize.height + dy }; + }, + se: function( event, dx, dy ) { + return $.extend( this._change.s.apply( this, arguments ), + this._change.e.apply( this, [ event, dx, dy ] ) ); + }, + sw: function( event, dx, dy ) { + return $.extend( this._change.s.apply( this, arguments ), + this._change.w.apply( this, [ event, dx, dy ] ) ); + }, + ne: function( event, dx, dy ) { + return $.extend( this._change.n.apply( this, arguments ), + this._change.e.apply( this, [ event, dx, dy ] ) ); + }, + nw: function( event, dx, dy ) { + return $.extend( this._change.n.apply( this, arguments ), + this._change.w.apply( this, [ event, dx, dy ] ) ); + } + }, + + _propagate: function( n, event ) { + $.ui.plugin.call( this, n, [ event, this.ui() ] ); + ( n !== "resize" && this._trigger( n, event, this.ui() ) ); + }, + + plugins: {}, + + ui: function() { + return { + originalElement: this.originalElement, + element: this.element, + helper: this.helper, + position: this.position, + size: this.size, + originalSize: this.originalSize, + originalPosition: this.originalPosition + }; + } + +} ); + +/* + * Resizable Extensions + */ + +$.ui.plugin.add( "resizable", "animate", { + + stop: function( event ) { + var that = $( this ).resizable( "instance" ), + o = that.options, + pr = that._proportionallyResizeElements, + ista = pr.length && ( /textarea/i ).test( pr[ 0 ].nodeName ), + soffseth = ista && that._hasScroll( pr[ 0 ], "left" ) ? 0 : that.sizeDiff.height, + soffsetw = ista ? 0 : that.sizeDiff.width, + style = { + width: ( that.size.width - soffsetw ), + height: ( that.size.height - soffseth ) + }, + left = ( parseFloat( that.element.css( "left" ) ) + + ( that.position.left - that.originalPosition.left ) ) || null, + top = ( parseFloat( that.element.css( "top" ) ) + + ( that.position.top - that.originalPosition.top ) ) || null; + + that.element.animate( + $.extend( style, top && left ? { top: top, left: left } : {} ), { + duration: o.animateDuration, + easing: o.animateEasing, + step: function() { + + var data = { + width: parseFloat( that.element.css( "width" ) ), + height: parseFloat( that.element.css( "height" ) ), + top: parseFloat( that.element.css( "top" ) ), + left: parseFloat( that.element.css( "left" ) ) + }; + + if ( pr && pr.length ) { + $( pr[ 0 ] ).css( { width: data.width, height: data.height } ); + } + + // Propagating resize, and updating values for each animation step + that._updateCache( data ); + that._propagate( "resize", event ); + + } + } + ); + } + +} ); + +$.ui.plugin.add( "resizable", "containment", { + + start: function() { + var element, p, co, ch, cw, width, height, + that = $( this ).resizable( "instance" ), + o = that.options, + el = that.element, + oc = o.containment, + ce = ( oc instanceof $ ) ? + oc.get( 0 ) : + ( /parent/.test( oc ) ) ? el.parent().get( 0 ) : oc; + + if ( !ce ) { + return; + } + + that.containerElement = $( ce ); + + if ( /document/.test( oc ) || oc === document ) { + that.containerOffset = { + left: 0, + top: 0 + }; + that.containerPosition = { + left: 0, + top: 0 + }; + + that.parentData = { + element: $( document ), + left: 0, + top: 0, + width: $( document ).width(), + height: $( document ).height() || document.body.parentNode.scrollHeight + }; + } else { + element = $( ce ); + p = []; + $( [ "Top", "Right", "Left", "Bottom" ] ).each( function( i, name ) { + p[ i ] = that._num( element.css( "padding" + name ) ); + } ); + + that.containerOffset = element.offset(); + that.containerPosition = element.position(); + that.containerSize = { + height: ( element.innerHeight() - p[ 3 ] ), + width: ( element.innerWidth() - p[ 1 ] ) + }; + + co = that.containerOffset; + ch = that.containerSize.height; + cw = that.containerSize.width; + width = ( that._hasScroll ( ce, "left" ) ? ce.scrollWidth : cw ); + height = ( that._hasScroll ( ce ) ? ce.scrollHeight : ch ) ; + + that.parentData = { + element: ce, + left: co.left, + top: co.top, + width: width, + height: height + }; + } + }, + + resize: function( event ) { + var woset, hoset, isParent, isOffsetRelative, + that = $( this ).resizable( "instance" ), + o = that.options, + co = that.containerOffset, + cp = that.position, + pRatio = that._aspectRatio || event.shiftKey, + cop = { + top: 0, + left: 0 + }, + ce = that.containerElement, + continueResize = true; + + if ( ce[ 0 ] !== document && ( /static/ ).test( ce.css( "position" ) ) ) { + cop = co; + } + + if ( cp.left < ( that._helper ? co.left : 0 ) ) { + that.size.width = that.size.width + + ( that._helper ? + ( that.position.left - co.left ) : + ( that.position.left - cop.left ) ); + + if ( pRatio ) { + that.size.height = that.size.width / that.aspectRatio; + continueResize = false; + } + that.position.left = o.helper ? co.left : 0; + } + + if ( cp.top < ( that._helper ? co.top : 0 ) ) { + that.size.height = that.size.height + + ( that._helper ? + ( that.position.top - co.top ) : + that.position.top ); + + if ( pRatio ) { + that.size.width = that.size.height * that.aspectRatio; + continueResize = false; + } + that.position.top = that._helper ? co.top : 0; + } + + isParent = that.containerElement.get( 0 ) === that.element.parent().get( 0 ); + isOffsetRelative = /relative|absolute/.test( that.containerElement.css( "position" ) ); + + if ( isParent && isOffsetRelative ) { + that.offset.left = that.parentData.left + that.position.left; + that.offset.top = that.parentData.top + that.position.top; + } else { + that.offset.left = that.element.offset().left; + that.offset.top = that.element.offset().top; + } + + woset = Math.abs( that.sizeDiff.width + + ( that._helper ? + that.offset.left - cop.left : + ( that.offset.left - co.left ) ) ); + + hoset = Math.abs( that.sizeDiff.height + + ( that._helper ? + that.offset.top - cop.top : + ( that.offset.top - co.top ) ) ); + + if ( woset + that.size.width >= that.parentData.width ) { + that.size.width = that.parentData.width - woset; + if ( pRatio ) { + that.size.height = that.size.width / that.aspectRatio; + continueResize = false; + } + } + + if ( hoset + that.size.height >= that.parentData.height ) { + that.size.height = that.parentData.height - hoset; + if ( pRatio ) { + that.size.width = that.size.height * that.aspectRatio; + continueResize = false; + } + } + + if ( !continueResize ) { + that.position.left = that.prevPosition.left; + that.position.top = that.prevPosition.top; + that.size.width = that.prevSize.width; + that.size.height = that.prevSize.height; + } + }, + + stop: function() { + var that = $( this ).resizable( "instance" ), + o = that.options, + co = that.containerOffset, + cop = that.containerPosition, + ce = that.containerElement, + helper = $( that.helper ), + ho = helper.offset(), + w = helper.outerWidth() - that.sizeDiff.width, + h = helper.outerHeight() - that.sizeDiff.height; + + if ( that._helper && !o.animate && ( /relative/ ).test( ce.css( "position" ) ) ) { + $( this ).css( { + left: ho.left - cop.left - co.left, + width: w, + height: h + } ); + } + + if ( that._helper && !o.animate && ( /static/ ).test( ce.css( "position" ) ) ) { + $( this ).css( { + left: ho.left - cop.left - co.left, + width: w, + height: h + } ); + } + } +} ); + +$.ui.plugin.add( "resizable", "alsoResize", { + + start: function() { + var that = $( this ).resizable( "instance" ), + o = that.options; + + $( o.alsoResize ).each( function() { + var el = $( this ); + el.data( "ui-resizable-alsoresize", { + width: parseFloat( el.width() ), height: parseFloat( el.height() ), + left: parseFloat( el.css( "left" ) ), top: parseFloat( el.css( "top" ) ) + } ); + } ); + }, + + resize: function( event, ui ) { + var that = $( this ).resizable( "instance" ), + o = that.options, + os = that.originalSize, + op = that.originalPosition, + delta = { + height: ( that.size.height - os.height ) || 0, + width: ( that.size.width - os.width ) || 0, + top: ( that.position.top - op.top ) || 0, + left: ( that.position.left - op.left ) || 0 + }; + + $( o.alsoResize ).each( function() { + var el = $( this ), start = $( this ).data( "ui-resizable-alsoresize" ), style = {}, + css = el.parents( ui.originalElement[ 0 ] ).length ? + [ "width", "height" ] : + [ "width", "height", "top", "left" ]; + + $.each( css, function( i, prop ) { + var sum = ( start[ prop ] || 0 ) + ( delta[ prop ] || 0 ); + if ( sum && sum >= 0 ) { + style[ prop ] = sum || null; + } + } ); + + el.css( style ); + } ); + }, + + stop: function() { + $( this ).removeData( "ui-resizable-alsoresize" ); + } +} ); + +$.ui.plugin.add( "resizable", "ghost", { + + start: function() { + + var that = $( this ).resizable( "instance" ), cs = that.size; + + that.ghost = that.originalElement.clone(); + that.ghost.css( { + opacity: 0.25, + display: "block", + position: "relative", + height: cs.height, + width: cs.width, + margin: 0, + left: 0, + top: 0 + } ); + + that._addClass( that.ghost, "ui-resizable-ghost" ); + + // DEPRECATED + // TODO: remove after 1.12 + if ( $.uiBackCompat !== false && typeof that.options.ghost === "string" ) { + + // Ghost option + that.ghost.addClass( this.options.ghost ); + } + + that.ghost.appendTo( that.helper ); + + }, + + resize: function() { + var that = $( this ).resizable( "instance" ); + if ( that.ghost ) { + that.ghost.css( { + position: "relative", + height: that.size.height, + width: that.size.width + } ); + } + }, + + stop: function() { + var that = $( this ).resizable( "instance" ); + if ( that.ghost && that.helper ) { + that.helper.get( 0 ).removeChild( that.ghost.get( 0 ) ); + } + } + +} ); + +$.ui.plugin.add( "resizable", "grid", { + + resize: function() { + var outerDimensions, + that = $( this ).resizable( "instance" ), + o = that.options, + cs = that.size, + os = that.originalSize, + op = that.originalPosition, + a = that.axis, + grid = typeof o.grid === "number" ? [ o.grid, o.grid ] : o.grid, + gridX = ( grid[ 0 ] || 1 ), + gridY = ( grid[ 1 ] || 1 ), + ox = Math.round( ( cs.width - os.width ) / gridX ) * gridX, + oy = Math.round( ( cs.height - os.height ) / gridY ) * gridY, + newWidth = os.width + ox, + newHeight = os.height + oy, + isMaxWidth = o.maxWidth && ( o.maxWidth < newWidth ), + isMaxHeight = o.maxHeight && ( o.maxHeight < newHeight ), + isMinWidth = o.minWidth && ( o.minWidth > newWidth ), + isMinHeight = o.minHeight && ( o.minHeight > newHeight ); + + o.grid = grid; + + if ( isMinWidth ) { + newWidth += gridX; + } + if ( isMinHeight ) { + newHeight += gridY; + } + if ( isMaxWidth ) { + newWidth -= gridX; + } + if ( isMaxHeight ) { + newHeight -= gridY; + } + + if ( /^(se|s|e)$/.test( a ) ) { + that.size.width = newWidth; + that.size.height = newHeight; + } else if ( /^(ne)$/.test( a ) ) { + that.size.width = newWidth; + that.size.height = newHeight; + that.position.top = op.top - oy; + } else if ( /^(sw)$/.test( a ) ) { + that.size.width = newWidth; + that.size.height = newHeight; + that.position.left = op.left - ox; + } else { + if ( newHeight - gridY <= 0 || newWidth - gridX <= 0 ) { + outerDimensions = that._getPaddingPlusBorderDimensions( this ); + } + + if ( newHeight - gridY > 0 ) { + that.size.height = newHeight; + that.position.top = op.top - oy; + } else { + newHeight = gridY - outerDimensions.height; + that.size.height = newHeight; + that.position.top = op.top + os.height - newHeight; + } + if ( newWidth - gridX > 0 ) { + that.size.width = newWidth; + that.position.left = op.left - ox; + } else { + newWidth = gridX - outerDimensions.width; + that.size.width = newWidth; + that.position.left = op.left + os.width - newWidth; + } + } + } + +} ); + +var widgetsResizable = $.ui.resizable; + + +/*! + * jQuery UI Dialog 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Dialog +//>>group: Widgets +//>>description: Displays customizable dialog windows. +//>>docs: http://api.jqueryui.com/dialog/ +//>>demos: http://jqueryui.com/dialog/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/dialog.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.dialog", { + version: "1.12.1", + options: { + appendTo: "body", + autoOpen: true, + buttons: [], + classes: { + "ui-dialog": "ui-corner-all", + "ui-dialog-titlebar": "ui-corner-all" + }, + closeOnEscape: true, + closeText: "Close", + draggable: true, + hide: null, + height: "auto", + maxHeight: null, + maxWidth: null, + minHeight: 150, + minWidth: 150, + modal: false, + position: { + my: "center", + at: "center", + of: window, + collision: "fit", + + // Ensure the titlebar is always visible + using: function( pos ) { + var topOffset = $( this ).css( pos ).offset().top; + if ( topOffset < 0 ) { + $( this ).css( "top", pos.top - topOffset ); + } + } + }, + resizable: true, + show: null, + title: null, + width: 300, + + // Callbacks + beforeClose: null, + close: null, + drag: null, + dragStart: null, + dragStop: null, + focus: null, + open: null, + resize: null, + resizeStart: null, + resizeStop: null + }, + + sizeRelatedOptions: { + buttons: true, + height: true, + maxHeight: true, + maxWidth: true, + minHeight: true, + minWidth: true, + width: true + }, + + resizableRelatedOptions: { + maxHeight: true, + maxWidth: true, + minHeight: true, + minWidth: true + }, + + _create: function() { + this.originalCss = { + display: this.element[ 0 ].style.display, + width: this.element[ 0 ].style.width, + minHeight: this.element[ 0 ].style.minHeight, + maxHeight: this.element[ 0 ].style.maxHeight, + height: this.element[ 0 ].style.height + }; + this.originalPosition = { + parent: this.element.parent(), + index: this.element.parent().children().index( this.element ) + }; + this.originalTitle = this.element.attr( "title" ); + if ( this.options.title == null && this.originalTitle != null ) { + this.options.title = this.originalTitle; + } + + // Dialogs can't be disabled + if ( this.options.disabled ) { + this.options.disabled = false; + } + + this._createWrapper(); + + this.element + .show() + .removeAttr( "title" ) + .appendTo( this.uiDialog ); + + this._addClass( "ui-dialog-content", "ui-widget-content" ); + + this._createTitlebar(); + this._createButtonPane(); + + if ( this.options.draggable && $.fn.draggable ) { + this._makeDraggable(); + } + if ( this.options.resizable && $.fn.resizable ) { + this._makeResizable(); + } + + this._isOpen = false; + + this._trackFocus(); + }, + + _init: function() { + if ( this.options.autoOpen ) { + this.open(); + } + }, + + _appendTo: function() { + var element = this.options.appendTo; + if ( element && ( element.jquery || element.nodeType ) ) { + return $( element ); + } + return this.document.find( element || "body" ).eq( 0 ); + }, + + _destroy: function() { + var next, + originalPosition = this.originalPosition; + + this._untrackInstance(); + this._destroyOverlay(); + + this.element + .removeUniqueId() + .css( this.originalCss ) + + // Without detaching first, the following becomes really slow + .detach(); + + this.uiDialog.remove(); + + if ( this.originalTitle ) { + this.element.attr( "title", this.originalTitle ); + } + + next = originalPosition.parent.children().eq( originalPosition.index ); + + // Don't try to place the dialog next to itself (#8613) + if ( next.length && next[ 0 ] !== this.element[ 0 ] ) { + next.before( this.element ); + } else { + originalPosition.parent.append( this.element ); + } + }, + + widget: function() { + return this.uiDialog; + }, + + disable: $.noop, + enable: $.noop, + + close: function( event ) { + var that = this; + + if ( !this._isOpen || this._trigger( "beforeClose", event ) === false ) { + return; + } + + this._isOpen = false; + this._focusedElement = null; + this._destroyOverlay(); + this._untrackInstance(); + + if ( !this.opener.filter( ":focusable" ).trigger( "focus" ).length ) { + + // Hiding a focused element doesn't trigger blur in WebKit + // so in case we have nothing to focus on, explicitly blur the active element + // https://bugs.webkit.org/show_bug.cgi?id=47182 + $.ui.safeBlur( $.ui.safeActiveElement( this.document[ 0 ] ) ); + } + + this._hide( this.uiDialog, this.options.hide, function() { + that._trigger( "close", event ); + } ); + }, + + isOpen: function() { + return this._isOpen; + }, + + moveToTop: function() { + this._moveToTop(); + }, + + _moveToTop: function( event, silent ) { + var moved = false, + zIndices = this.uiDialog.siblings( ".ui-front:visible" ).map( function() { + return +$( this ).css( "z-index" ); + } ).get(), + zIndexMax = Math.max.apply( null, zIndices ); + + if ( zIndexMax >= +this.uiDialog.css( "z-index" ) ) { + this.uiDialog.css( "z-index", zIndexMax + 1 ); + moved = true; + } + + if ( moved && !silent ) { + this._trigger( "focus", event ); + } + return moved; + }, + + open: function() { + var that = this; + if ( this._isOpen ) { + if ( this._moveToTop() ) { + this._focusTabbable(); + } + return; + } + + this._isOpen = true; + this.opener = $( $.ui.safeActiveElement( this.document[ 0 ] ) ); + + this._size(); + this._position(); + this._createOverlay(); + this._moveToTop( null, true ); + + // Ensure the overlay is moved to the top with the dialog, but only when + // opening. The overlay shouldn't move after the dialog is open so that + // modeless dialogs opened after the modal dialog stack properly. + if ( this.overlay ) { + this.overlay.css( "z-index", this.uiDialog.css( "z-index" ) - 1 ); + } + + this._show( this.uiDialog, this.options.show, function() { + that._focusTabbable(); + that._trigger( "focus" ); + } ); + + // Track the dialog immediately upon openening in case a focus event + // somehow occurs outside of the dialog before an element inside the + // dialog is focused (#10152) + this._makeFocusTarget(); + + this._trigger( "open" ); + }, + + _focusTabbable: function() { + + // Set focus to the first match: + // 1. An element that was focused previously + // 2. First element inside the dialog matching [autofocus] + // 3. Tabbable element inside the content element + // 4. Tabbable element inside the buttonpane + // 5. The close button + // 6. The dialog itself + var hasFocus = this._focusedElement; + if ( !hasFocus ) { + hasFocus = this.element.find( "[autofocus]" ); + } + if ( !hasFocus.length ) { + hasFocus = this.element.find( ":tabbable" ); + } + if ( !hasFocus.length ) { + hasFocus = this.uiDialogButtonPane.find( ":tabbable" ); + } + if ( !hasFocus.length ) { + hasFocus = this.uiDialogTitlebarClose.filter( ":tabbable" ); + } + if ( !hasFocus.length ) { + hasFocus = this.uiDialog; + } + hasFocus.eq( 0 ).trigger( "focus" ); + }, + + _keepFocus: function( event ) { + function checkFocus() { + var activeElement = $.ui.safeActiveElement( this.document[ 0 ] ), + isActive = this.uiDialog[ 0 ] === activeElement || + $.contains( this.uiDialog[ 0 ], activeElement ); + if ( !isActive ) { + this._focusTabbable(); + } + } + event.preventDefault(); + checkFocus.call( this ); + + // support: IE + // IE <= 8 doesn't prevent moving focus even with event.preventDefault() + // so we check again later + this._delay( checkFocus ); + }, + + _createWrapper: function() { + this.uiDialog = $( "<div>" ) + .hide() + .attr( { + + // Setting tabIndex makes the div focusable + tabIndex: -1, + role: "dialog" + } ) + .appendTo( this._appendTo() ); + + this._addClass( this.uiDialog, "ui-dialog", "ui-widget ui-widget-content ui-front" ); + this._on( this.uiDialog, { + keydown: function( event ) { + if ( this.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode && + event.keyCode === $.ui.keyCode.ESCAPE ) { + event.preventDefault(); + this.close( event ); + return; + } + + // Prevent tabbing out of dialogs + if ( event.keyCode !== $.ui.keyCode.TAB || event.isDefaultPrevented() ) { + return; + } + var tabbables = this.uiDialog.find( ":tabbable" ), + first = tabbables.filter( ":first" ), + last = tabbables.filter( ":last" ); + + if ( ( event.target === last[ 0 ] || event.target === this.uiDialog[ 0 ] ) && + !event.shiftKey ) { + this._delay( function() { + first.trigger( "focus" ); + } ); + event.preventDefault(); + } else if ( ( event.target === first[ 0 ] || + event.target === this.uiDialog[ 0 ] ) && event.shiftKey ) { + this._delay( function() { + last.trigger( "focus" ); + } ); + event.preventDefault(); + } + }, + mousedown: function( event ) { + if ( this._moveToTop( event ) ) { + this._focusTabbable(); + } + } + } ); + + // We assume that any existing aria-describedby attribute means + // that the dialog content is marked up properly + // otherwise we brute force the content as the description + if ( !this.element.find( "[aria-describedby]" ).length ) { + this.uiDialog.attr( { + "aria-describedby": this.element.uniqueId().attr( "id" ) + } ); + } + }, + + _createTitlebar: function() { + var uiDialogTitle; + + this.uiDialogTitlebar = $( "<div>" ); + this._addClass( this.uiDialogTitlebar, + "ui-dialog-titlebar", "ui-widget-header ui-helper-clearfix" ); + this._on( this.uiDialogTitlebar, { + mousedown: function( event ) { + + // Don't prevent click on close button (#8838) + // Focusing a dialog that is partially scrolled out of view + // causes the browser to scroll it into view, preventing the click event + if ( !$( event.target ).closest( ".ui-dialog-titlebar-close" ) ) { + + // Dialog isn't getting focus when dragging (#8063) + this.uiDialog.trigger( "focus" ); + } + } + } ); + + // Support: IE + // Use type="button" to prevent enter keypresses in textboxes from closing the + // dialog in IE (#9312) + this.uiDialogTitlebarClose = $( "<button type='button'></button>" ) + .button( { + label: $( "<a>" ).text( this.options.closeText ).html(), + icon: "ui-icon-closethick", + showLabel: false + } ) + .appendTo( this.uiDialogTitlebar ); + + this._addClass( this.uiDialogTitlebarClose, "ui-dialog-titlebar-close" ); + this._on( this.uiDialogTitlebarClose, { + click: function( event ) { + event.preventDefault(); + this.close( event ); + } + } ); + + uiDialogTitle = $( "<span>" ).uniqueId().prependTo( this.uiDialogTitlebar ); + this._addClass( uiDialogTitle, "ui-dialog-title" ); + this._title( uiDialogTitle ); + + this.uiDialogTitlebar.prependTo( this.uiDialog ); + + this.uiDialog.attr( { + "aria-labelledby": uiDialogTitle.attr( "id" ) + } ); + }, + + _title: function( title ) { + if ( this.options.title ) { + title.text( this.options.title ); + } else { + title.html( "&#160;" ); + } + }, + + _createButtonPane: function() { + this.uiDialogButtonPane = $( "<div>" ); + this._addClass( this.uiDialogButtonPane, "ui-dialog-buttonpane", + "ui-widget-content ui-helper-clearfix" ); + + this.uiButtonSet = $( "<div>" ) + .appendTo( this.uiDialogButtonPane ); + this._addClass( this.uiButtonSet, "ui-dialog-buttonset" ); + + this._createButtons(); + }, + + _createButtons: function() { + var that = this, + buttons = this.options.buttons; + + // If we already have a button pane, remove it + this.uiDialogButtonPane.remove(); + this.uiButtonSet.empty(); + + if ( $.isEmptyObject( buttons ) || ( $.isArray( buttons ) && !buttons.length ) ) { + this._removeClass( this.uiDialog, "ui-dialog-buttons" ); + return; + } + + $.each( buttons, function( name, props ) { + var click, buttonOptions; + props = $.isFunction( props ) ? + { click: props, text: name } : + props; + + // Default to a non-submitting button + props = $.extend( { type: "button" }, props ); + + // Change the context for the click callback to be the main element + click = props.click; + buttonOptions = { + icon: props.icon, + iconPosition: props.iconPosition, + showLabel: props.showLabel, + + // Deprecated options + icons: props.icons, + text: props.text + }; + + delete props.click; + delete props.icon; + delete props.iconPosition; + delete props.showLabel; + + // Deprecated options + delete props.icons; + if ( typeof props.text === "boolean" ) { + delete props.text; + } + + $( "<button></button>", props ) + .button( buttonOptions ) + .appendTo( that.uiButtonSet ) + .on( "click", function() { + click.apply( that.element[ 0 ], arguments ); + } ); + } ); + this._addClass( this.uiDialog, "ui-dialog-buttons" ); + this.uiDialogButtonPane.appendTo( this.uiDialog ); + }, + + _makeDraggable: function() { + var that = this, + options = this.options; + + function filteredUi( ui ) { + return { + position: ui.position, + offset: ui.offset + }; + } + + this.uiDialog.draggable( { + cancel: ".ui-dialog-content, .ui-dialog-titlebar-close", + handle: ".ui-dialog-titlebar", + containment: "document", + start: function( event, ui ) { + that._addClass( $( this ), "ui-dialog-dragging" ); + that._blockFrames(); + that._trigger( "dragStart", event, filteredUi( ui ) ); + }, + drag: function( event, ui ) { + that._trigger( "drag", event, filteredUi( ui ) ); + }, + stop: function( event, ui ) { + var left = ui.offset.left - that.document.scrollLeft(), + top = ui.offset.top - that.document.scrollTop(); + + options.position = { + my: "left top", + at: "left" + ( left >= 0 ? "+" : "" ) + left + " " + + "top" + ( top >= 0 ? "+" : "" ) + top, + of: that.window + }; + that._removeClass( $( this ), "ui-dialog-dragging" ); + that._unblockFrames(); + that._trigger( "dragStop", event, filteredUi( ui ) ); + } + } ); + }, + + _makeResizable: function() { + var that = this, + options = this.options, + handles = options.resizable, + + // .ui-resizable has position: relative defined in the stylesheet + // but dialogs have to use absolute or fixed positioning + position = this.uiDialog.css( "position" ), + resizeHandles = typeof handles === "string" ? + handles : + "n,e,s,w,se,sw,ne,nw"; + + function filteredUi( ui ) { + return { + originalPosition: ui.originalPosition, + originalSize: ui.originalSize, + position: ui.position, + size: ui.size + }; + } + + this.uiDialog.resizable( { + cancel: ".ui-dialog-content", + containment: "document", + alsoResize: this.element, + maxWidth: options.maxWidth, + maxHeight: options.maxHeight, + minWidth: options.minWidth, + minHeight: this._minHeight(), + handles: resizeHandles, + start: function( event, ui ) { + that._addClass( $( this ), "ui-dialog-resizing" ); + that._blockFrames(); + that._trigger( "resizeStart", event, filteredUi( ui ) ); + }, + resize: function( event, ui ) { + that._trigger( "resize", event, filteredUi( ui ) ); + }, + stop: function( event, ui ) { + var offset = that.uiDialog.offset(), + left = offset.left - that.document.scrollLeft(), + top = offset.top - that.document.scrollTop(); + + options.height = that.uiDialog.height(); + options.width = that.uiDialog.width(); + options.position = { + my: "left top", + at: "left" + ( left >= 0 ? "+" : "" ) + left + " " + + "top" + ( top >= 0 ? "+" : "" ) + top, + of: that.window + }; + that._removeClass( $( this ), "ui-dialog-resizing" ); + that._unblockFrames(); + that._trigger( "resizeStop", event, filteredUi( ui ) ); + } + } ) + .css( "position", position ); + }, + + _trackFocus: function() { + this._on( this.widget(), { + focusin: function( event ) { + this._makeFocusTarget(); + this._focusedElement = $( event.target ); + } + } ); + }, + + _makeFocusTarget: function() { + this._untrackInstance(); + this._trackingInstances().unshift( this ); + }, + + _untrackInstance: function() { + var instances = this._trackingInstances(), + exists = $.inArray( this, instances ); + if ( exists !== -1 ) { + instances.splice( exists, 1 ); + } + }, + + _trackingInstances: function() { + var instances = this.document.data( "ui-dialog-instances" ); + if ( !instances ) { + instances = []; + this.document.data( "ui-dialog-instances", instances ); + } + return instances; + }, + + _minHeight: function() { + var options = this.options; + + return options.height === "auto" ? + options.minHeight : + Math.min( options.minHeight, options.height ); + }, + + _position: function() { + + // Need to show the dialog to get the actual offset in the position plugin + var isVisible = this.uiDialog.is( ":visible" ); + if ( !isVisible ) { + this.uiDialog.show(); + } + this.uiDialog.position( this.options.position ); + if ( !isVisible ) { + this.uiDialog.hide(); + } + }, + + _setOptions: function( options ) { + var that = this, + resize = false, + resizableOptions = {}; + + $.each( options, function( key, value ) { + that._setOption( key, value ); + + if ( key in that.sizeRelatedOptions ) { + resize = true; + } + if ( key in that.resizableRelatedOptions ) { + resizableOptions[ key ] = value; + } + } ); + + if ( resize ) { + this._size(); + this._position(); + } + if ( this.uiDialog.is( ":data(ui-resizable)" ) ) { + this.uiDialog.resizable( "option", resizableOptions ); + } + }, + + _setOption: function( key, value ) { + var isDraggable, isResizable, + uiDialog = this.uiDialog; + + if ( key === "disabled" ) { + return; + } + + this._super( key, value ); + + if ( key === "appendTo" ) { + this.uiDialog.appendTo( this._appendTo() ); + } + + if ( key === "buttons" ) { + this._createButtons(); + } + + if ( key === "closeText" ) { + this.uiDialogTitlebarClose.button( { + + // Ensure that we always pass a string + label: $( "<a>" ).text( "" + this.options.closeText ).html() + } ); + } + + if ( key === "draggable" ) { + isDraggable = uiDialog.is( ":data(ui-draggable)" ); + if ( isDraggable && !value ) { + uiDialog.draggable( "destroy" ); + } + + if ( !isDraggable && value ) { + this._makeDraggable(); + } + } + + if ( key === "position" ) { + this._position(); + } + + if ( key === "resizable" ) { + + // currently resizable, becoming non-resizable + isResizable = uiDialog.is( ":data(ui-resizable)" ); + if ( isResizable && !value ) { + uiDialog.resizable( "destroy" ); + } + + // Currently resizable, changing handles + if ( isResizable && typeof value === "string" ) { + uiDialog.resizable( "option", "handles", value ); + } + + // Currently non-resizable, becoming resizable + if ( !isResizable && value !== false ) { + this._makeResizable(); + } + } + + if ( key === "title" ) { + this._title( this.uiDialogTitlebar.find( ".ui-dialog-title" ) ); + } + }, + + _size: function() { + + // If the user has resized the dialog, the .ui-dialog and .ui-dialog-content + // divs will both have width and height set, so we need to reset them + var nonContentHeight, minContentHeight, maxContentHeight, + options = this.options; + + // Reset content sizing + this.element.show().css( { + width: "auto", + minHeight: 0, + maxHeight: "none", + height: 0 + } ); + + if ( options.minWidth > options.width ) { + options.width = options.minWidth; + } + + // Reset wrapper sizing + // determine the height of all the non-content elements + nonContentHeight = this.uiDialog.css( { + height: "auto", + width: options.width + } ) + .outerHeight(); + minContentHeight = Math.max( 0, options.minHeight - nonContentHeight ); + maxContentHeight = typeof options.maxHeight === "number" ? + Math.max( 0, options.maxHeight - nonContentHeight ) : + "none"; + + if ( options.height === "auto" ) { + this.element.css( { + minHeight: minContentHeight, + maxHeight: maxContentHeight, + height: "auto" + } ); + } else { + this.element.height( Math.max( 0, options.height - nonContentHeight ) ); + } + + if ( this.uiDialog.is( ":data(ui-resizable)" ) ) { + this.uiDialog.resizable( "option", "minHeight", this._minHeight() ); + } + }, + + _blockFrames: function() { + this.iframeBlocks = this.document.find( "iframe" ).map( function() { + var iframe = $( this ); + + return $( "<div>" ) + .css( { + position: "absolute", + width: iframe.outerWidth(), + height: iframe.outerHeight() + } ) + .appendTo( iframe.parent() ) + .offset( iframe.offset() )[ 0 ]; + } ); + }, + + _unblockFrames: function() { + if ( this.iframeBlocks ) { + this.iframeBlocks.remove(); + delete this.iframeBlocks; + } + }, + + _allowInteraction: function( event ) { + if ( $( event.target ).closest( ".ui-dialog" ).length ) { + return true; + } + + // TODO: Remove hack when datepicker implements + // the .ui-front logic (#8989) + return !!$( event.target ).closest( ".ui-datepicker" ).length; + }, + + _createOverlay: function() { + if ( !this.options.modal ) { + return; + } + + // We use a delay in case the overlay is created from an + // event that we're going to be cancelling (#2804) + var isOpening = true; + this._delay( function() { + isOpening = false; + } ); + + if ( !this.document.data( "ui-dialog-overlays" ) ) { + + // Prevent use of anchors and inputs + // Using _on() for an event handler shared across many instances is + // safe because the dialogs stack and must be closed in reverse order + this._on( this.document, { + focusin: function( event ) { + if ( isOpening ) { + return; + } + + if ( !this._allowInteraction( event ) ) { + event.preventDefault(); + this._trackingInstances()[ 0 ]._focusTabbable(); + } + } + } ); + } + + this.overlay = $( "<div>" ) + .appendTo( this._appendTo() ); + + this._addClass( this.overlay, null, "ui-widget-overlay ui-front" ); + this._on( this.overlay, { + mousedown: "_keepFocus" + } ); + this.document.data( "ui-dialog-overlays", + ( this.document.data( "ui-dialog-overlays" ) || 0 ) + 1 ); + }, + + _destroyOverlay: function() { + if ( !this.options.modal ) { + return; + } + + if ( this.overlay ) { + var overlays = this.document.data( "ui-dialog-overlays" ) - 1; + + if ( !overlays ) { + this._off( this.document, "focusin" ); + this.document.removeData( "ui-dialog-overlays" ); + } else { + this.document.data( "ui-dialog-overlays", overlays ); + } + + this.overlay.remove(); + this.overlay = null; + } + } +} ); + +// DEPRECATED +// TODO: switch return back to widget declaration at top of file when this is removed +if ( $.uiBackCompat !== false ) { + + // Backcompat for dialogClass option + $.widget( "ui.dialog", $.ui.dialog, { + options: { + dialogClass: "" + }, + _createWrapper: function() { + this._super(); + this.uiDialog.addClass( this.options.dialogClass ); + }, + _setOption: function( key, value ) { + if ( key === "dialogClass" ) { + this.uiDialog + .removeClass( this.options.dialogClass ) + .addClass( value ); + } + this._superApply( arguments ); + } + } ); +} + +var widgetsDialog = $.ui.dialog; + + +/*! + * jQuery UI Droppable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Droppable +//>>group: Interactions +//>>description: Enables drop targets for draggable elements. +//>>docs: http://api.jqueryui.com/droppable/ +//>>demos: http://jqueryui.com/droppable/ + + + +$.widget( "ui.droppable", { + version: "1.12.1", + widgetEventPrefix: "drop", + options: { + accept: "*", + addClasses: true, + greedy: false, + scope: "default", + tolerance: "intersect", + + // Callbacks + activate: null, + deactivate: null, + drop: null, + out: null, + over: null + }, + _create: function() { + + var proportions, + o = this.options, + accept = o.accept; + + this.isover = false; + this.isout = true; + + this.accept = $.isFunction( accept ) ? accept : function( d ) { + return d.is( accept ); + }; + + this.proportions = function( /* valueToWrite */ ) { + if ( arguments.length ) { + + // Store the droppable's proportions + proportions = arguments[ 0 ]; + } else { + + // Retrieve or derive the droppable's proportions + return proportions ? + proportions : + proportions = { + width: this.element[ 0 ].offsetWidth, + height: this.element[ 0 ].offsetHeight + }; + } + }; + + this._addToManager( o.scope ); + + o.addClasses && this._addClass( "ui-droppable" ); + + }, + + _addToManager: function( scope ) { + + // Add the reference and positions to the manager + $.ui.ddmanager.droppables[ scope ] = $.ui.ddmanager.droppables[ scope ] || []; + $.ui.ddmanager.droppables[ scope ].push( this ); + }, + + _splice: function( drop ) { + var i = 0; + for ( ; i < drop.length; i++ ) { + if ( drop[ i ] === this ) { + drop.splice( i, 1 ); + } + } + }, + + _destroy: function() { + var drop = $.ui.ddmanager.droppables[ this.options.scope ]; + + this._splice( drop ); + }, + + _setOption: function( key, value ) { + + if ( key === "accept" ) { + this.accept = $.isFunction( value ) ? value : function( d ) { + return d.is( value ); + }; + } else if ( key === "scope" ) { + var drop = $.ui.ddmanager.droppables[ this.options.scope ]; + + this._splice( drop ); + this._addToManager( value ); + } + + this._super( key, value ); + }, + + _activate: function( event ) { + var draggable = $.ui.ddmanager.current; + + this._addActiveClass(); + if ( draggable ) { + this._trigger( "activate", event, this.ui( draggable ) ); + } + }, + + _deactivate: function( event ) { + var draggable = $.ui.ddmanager.current; + + this._removeActiveClass(); + if ( draggable ) { + this._trigger( "deactivate", event, this.ui( draggable ) ); + } + }, + + _over: function( event ) { + + var draggable = $.ui.ddmanager.current; + + // Bail if draggable and droppable are same element + if ( !draggable || ( draggable.currentItem || + draggable.element )[ 0 ] === this.element[ 0 ] ) { + return; + } + + if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || + draggable.element ) ) ) { + this._addHoverClass(); + this._trigger( "over", event, this.ui( draggable ) ); + } + + }, + + _out: function( event ) { + + var draggable = $.ui.ddmanager.current; + + // Bail if draggable and droppable are same element + if ( !draggable || ( draggable.currentItem || + draggable.element )[ 0 ] === this.element[ 0 ] ) { + return; + } + + if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || + draggable.element ) ) ) { + this._removeHoverClass(); + this._trigger( "out", event, this.ui( draggable ) ); + } + + }, + + _drop: function( event, custom ) { + + var draggable = custom || $.ui.ddmanager.current, + childrenIntersection = false; + + // Bail if draggable and droppable are same element + if ( !draggable || ( draggable.currentItem || + draggable.element )[ 0 ] === this.element[ 0 ] ) { + return false; + } + + this.element + .find( ":data(ui-droppable)" ) + .not( ".ui-draggable-dragging" ) + .each( function() { + var inst = $( this ).droppable( "instance" ); + if ( + inst.options.greedy && + !inst.options.disabled && + inst.options.scope === draggable.options.scope && + inst.accept.call( + inst.element[ 0 ], ( draggable.currentItem || draggable.element ) + ) && + intersect( + draggable, + $.extend( inst, { offset: inst.element.offset() } ), + inst.options.tolerance, event + ) + ) { + childrenIntersection = true; + return false; } + } ); + if ( childrenIntersection ) { + return false; + } + + if ( this.accept.call( this.element[ 0 ], + ( draggable.currentItem || draggable.element ) ) ) { + this._removeActiveClass(); + this._removeHoverClass(); + + this._trigger( "drop", event, this.ui( draggable ) ); + return this.element; + } + + return false; + + }, + + ui: function( c ) { + return { + draggable: ( c.currentItem || c.element ), + helper: c.helper, + position: c.position, + offset: c.positionAbs + }; + }, + + // Extension points just to make backcompat sane and avoid duplicating logic + // TODO: Remove in 1.13 along with call to it below + _addHoverClass: function() { + this._addClass( "ui-droppable-hover" ); + }, + + _removeHoverClass: function() { + this._removeClass( "ui-droppable-hover" ); + }, + + _addActiveClass: function() { + this._addClass( "ui-droppable-active" ); + }, + + _removeActiveClass: function() { + this._removeClass( "ui-droppable-active" ); + } +} ); + +var intersect = $.ui.intersect = ( function() { + function isOverAxis( x, reference, size ) { + return ( x >= reference ) && ( x < ( reference + size ) ); + } + + return function( draggable, droppable, toleranceMode, event ) { + + if ( !droppable.offset ) { + return false; + } + + var x1 = ( draggable.positionAbs || + draggable.position.absolute ).left + draggable.margins.left, + y1 = ( draggable.positionAbs || + draggable.position.absolute ).top + draggable.margins.top, + x2 = x1 + draggable.helperProportions.width, + y2 = y1 + draggable.helperProportions.height, + l = droppable.offset.left, + t = droppable.offset.top, + r = l + droppable.proportions().width, + b = t + droppable.proportions().height; + + switch ( toleranceMode ) { + case "fit": + return ( l <= x1 && x2 <= r && t <= y1 && y2 <= b ); + case "intersect": + return ( l < x1 + ( draggable.helperProportions.width / 2 ) && // Right Half + x2 - ( draggable.helperProportions.width / 2 ) < r && // Left Half + t < y1 + ( draggable.helperProportions.height / 2 ) && // Bottom Half + y2 - ( draggable.helperProportions.height / 2 ) < b ); // Top Half + case "pointer": + return isOverAxis( event.pageY, t, droppable.proportions().height ) && + isOverAxis( event.pageX, l, droppable.proportions().width ); + case "touch": + return ( + ( y1 >= t && y1 <= b ) || // Top edge touching + ( y2 >= t && y2 <= b ) || // Bottom edge touching + ( y1 < t && y2 > b ) // Surrounded vertically + ) && ( + ( x1 >= l && x1 <= r ) || // Left edge touching + ( x2 >= l && x2 <= r ) || // Right edge touching + ( x1 < l && x2 > r ) // Surrounded horizontally + ); + default: + return false; + } + }; +} )(); + +/* + This manager tracks offsets of draggables and droppables +*/ +$.ui.ddmanager = { + current: null, + droppables: { "default": [] }, + prepareOffsets: function( t, event ) { + + var i, j, + m = $.ui.ddmanager.droppables[ t.options.scope ] || [], + type = event ? event.type : null, // workaround for #2317 + list = ( t.currentItem || t.element ).find( ":data(ui-droppable)" ).addBack(); + + droppablesLoop: for ( i = 0; i < m.length; i++ ) { + + // No disabled and non-accepted + if ( m[ i ].options.disabled || ( t && !m[ i ].accept.call( m[ i ].element[ 0 ], + ( t.currentItem || t.element ) ) ) ) { + continue; + } + + // Filter out elements in the current dragged item + for ( j = 0; j < list.length; j++ ) { + if ( list[ j ] === m[ i ].element[ 0 ] ) { + m[ i ].proportions().height = 0; + continue droppablesLoop; + } + } + + m[ i ].visible = m[ i ].element.css( "display" ) !== "none"; + if ( !m[ i ].visible ) { + continue; + } + + // Activate the droppable if used directly from draggables + if ( type === "mousedown" ) { + m[ i ]._activate.call( m[ i ], event ); + } + + m[ i ].offset = m[ i ].element.offset(); + m[ i ].proportions( { + width: m[ i ].element[ 0 ].offsetWidth, + height: m[ i ].element[ 0 ].offsetHeight + } ); + + } + + }, + drop: function( draggable, event ) { + + var dropped = false; + + // Create a copy of the droppables in case the list changes during the drop (#9116) + $.each( ( $.ui.ddmanager.droppables[ draggable.options.scope ] || [] ).slice(), function() { + + if ( !this.options ) { + return; + } + if ( !this.options.disabled && this.visible && + intersect( draggable, this, this.options.tolerance, event ) ) { + dropped = this._drop.call( this, event ) || dropped; + } + + if ( !this.options.disabled && this.visible && this.accept.call( this.element[ 0 ], + ( draggable.currentItem || draggable.element ) ) ) { + this.isout = true; + this.isover = false; + this._deactivate.call( this, event ); + } + + } ); + return dropped; + + }, + dragStart: function( draggable, event ) { + + // Listen for scrolling so that if the dragging causes scrolling the position of the + // droppables can be recalculated (see #5003) + draggable.element.parentsUntil( "body" ).on( "scroll.droppable", function() { + if ( !draggable.options.refreshPositions ) { + $.ui.ddmanager.prepareOffsets( draggable, event ); + } + } ); + }, + drag: function( draggable, event ) { + + // If you have a highly dynamic page, you might try this option. It renders positions + // every time you move the mouse. + if ( draggable.options.refreshPositions ) { + $.ui.ddmanager.prepareOffsets( draggable, event ); + } + + // Run through all droppables and check their positions based on specific tolerance options + $.each( $.ui.ddmanager.droppables[ draggable.options.scope ] || [], function() { + + if ( this.options.disabled || this.greedyChild || !this.visible ) { + return; + } + + var parentInstance, scope, parent, + intersects = intersect( draggable, this, this.options.tolerance, event ), + c = !intersects && this.isover ? + "isout" : + ( intersects && !this.isover ? "isover" : null ); + if ( !c ) { + return; + } + + if ( this.options.greedy ) { + + // find droppable parents with same scope + scope = this.options.scope; + parent = this.element.parents( ":data(ui-droppable)" ).filter( function() { + return $( this ).droppable( "instance" ).options.scope === scope; + } ); + + if ( parent.length ) { + parentInstance = $( parent[ 0 ] ).droppable( "instance" ); + parentInstance.greedyChild = ( c === "isover" ); + } + } + + // We just moved into a greedy child + if ( parentInstance && c === "isover" ) { + parentInstance.isover = false; + parentInstance.isout = true; + parentInstance._out.call( parentInstance, event ); + } + + this[ c ] = true; + this[ c === "isout" ? "isover" : "isout" ] = false; + this[ c === "isover" ? "_over" : "_out" ].call( this, event ); + + // We just moved out of a greedy child + if ( parentInstance && c === "isout" ) { + parentInstance.isout = false; + parentInstance.isover = true; + parentInstance._over.call( parentInstance, event ); + } + } ); + + }, + dragStop: function( draggable, event ) { + draggable.element.parentsUntil( "body" ).off( "scroll.droppable" ); + + // Call prepareOffsets one final time since IE does not fire return scroll events when + // overflow was caused by drag (see #5003) + if ( !draggable.options.refreshPositions ) { + $.ui.ddmanager.prepareOffsets( draggable, event ); + } + } +}; + +// DEPRECATED +// TODO: switch return back to widget declaration at top of file when this is removed +if ( $.uiBackCompat !== false ) { + + // Backcompat for activeClass and hoverClass options + $.widget( "ui.droppable", $.ui.droppable, { + options: { + hoverClass: false, + activeClass: false + }, + _addActiveClass: function() { + this._super(); + if ( this.options.activeClass ) { + this.element.addClass( this.options.activeClass ); + } + }, + _removeActiveClass: function() { + this._super(); + if ( this.options.activeClass ) { + this.element.removeClass( this.options.activeClass ); + } + }, + _addHoverClass: function() { + this._super(); + if ( this.options.hoverClass ) { + this.element.addClass( this.options.hoverClass ); + } + }, + _removeHoverClass: function() { + this._super(); + if ( this.options.hoverClass ) { + this.element.removeClass( this.options.hoverClass ); + } + } + } ); +} + +var widgetsDroppable = $.ui.droppable; + + +/*! + * jQuery UI Progressbar 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Progressbar +//>>group: Widgets +// jscs:disable maximumLineLength +//>>description: Displays a status indicator for loading state, standard percentage, and other progress indicators. +// jscs:enable maximumLineLength +//>>docs: http://api.jqueryui.com/progressbar/ +//>>demos: http://jqueryui.com/progressbar/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/progressbar.css +//>>css.theme: ../../themes/base/theme.css + + + +var widgetsProgressbar = $.widget( "ui.progressbar", { + version: "1.12.1", + options: { + classes: { + "ui-progressbar": "ui-corner-all", + "ui-progressbar-value": "ui-corner-left", + "ui-progressbar-complete": "ui-corner-right" + }, + max: 100, + value: 0, + + change: null, + complete: null + }, + + min: 0, + + _create: function() { + + // Constrain initial value + this.oldValue = this.options.value = this._constrainedValue(); + + this.element.attr( { + + // Only set static values; aria-valuenow and aria-valuemax are + // set inside _refreshValue() + role: "progressbar", + "aria-valuemin": this.min + } ); + this._addClass( "ui-progressbar", "ui-widget ui-widget-content" ); + + this.valueDiv = $( "<div>" ).appendTo( this.element ); + this._addClass( this.valueDiv, "ui-progressbar-value", "ui-widget-header" ); + this._refreshValue(); + }, + + _destroy: function() { + this.element.removeAttr( "role aria-valuemin aria-valuemax aria-valuenow" ); + + this.valueDiv.remove(); + }, + + value: function( newValue ) { + if ( newValue === undefined ) { + return this.options.value; + } + + this.options.value = this._constrainedValue( newValue ); + this._refreshValue(); + }, + + _constrainedValue: function( newValue ) { + if ( newValue === undefined ) { + newValue = this.options.value; + } + + this.indeterminate = newValue === false; + + // Sanitize value + if ( typeof newValue !== "number" ) { + newValue = 0; + } + + return this.indeterminate ? false : + Math.min( this.options.max, Math.max( this.min, newValue ) ); + }, + + _setOptions: function( options ) { + + // Ensure "value" option is set after other values (like max) + var value = options.value; + delete options.value; + + this._super( options ); + + this.options.value = this._constrainedValue( value ); + this._refreshValue(); + }, + + _setOption: function( key, value ) { + if ( key === "max" ) { + + // Don't allow a max less than min + value = Math.max( this.min, value ); + } + this._super( key, value ); + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this.element.attr( "aria-disabled", value ); + this._toggleClass( null, "ui-state-disabled", !!value ); + }, + + _percentage: function() { + return this.indeterminate ? + 100 : + 100 * ( this.options.value - this.min ) / ( this.options.max - this.min ); + }, + + _refreshValue: function() { + var value = this.options.value, + percentage = this._percentage(); + + this.valueDiv + .toggle( this.indeterminate || value > this.min ) + .width( percentage.toFixed( 0 ) + "%" ); + + this + ._toggleClass( this.valueDiv, "ui-progressbar-complete", null, + value === this.options.max ) + ._toggleClass( "ui-progressbar-indeterminate", null, this.indeterminate ); + + if ( this.indeterminate ) { + this.element.removeAttr( "aria-valuenow" ); + if ( !this.overlayDiv ) { + this.overlayDiv = $( "<div>" ).appendTo( this.valueDiv ); + this._addClass( this.overlayDiv, "ui-progressbar-overlay" ); + } + } else { + this.element.attr( { + "aria-valuemax": this.options.max, + "aria-valuenow": value + } ); + if ( this.overlayDiv ) { + this.overlayDiv.remove(); + this.overlayDiv = null; + } + } + + if ( this.oldValue !== value ) { + this.oldValue = value; + this._trigger( "change" ); + } + if ( value === this.options.max ) { + this._trigger( "complete" ); + } + } +} ); + + +/*! + * jQuery UI Selectable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Selectable +//>>group: Interactions +//>>description: Allows groups of elements to be selected with the mouse. +//>>docs: http://api.jqueryui.com/selectable/ +//>>demos: http://jqueryui.com/selectable/ +//>>css.structure: ../../themes/base/selectable.css + + + +var widgetsSelectable = $.widget( "ui.selectable", $.ui.mouse, { + version: "1.12.1", + options: { + appendTo: "body", + autoRefresh: true, + distance: 0, + filter: "*", + tolerance: "touch", + + // Callbacks + selected: null, + selecting: null, + start: null, + stop: null, + unselected: null, + unselecting: null + }, + _create: function() { + var that = this; + + this._addClass( "ui-selectable" ); + + this.dragged = false; + + // Cache selectee children based on filter + this.refresh = function() { + that.elementPos = $( that.element[ 0 ] ).offset(); + that.selectees = $( that.options.filter, that.element[ 0 ] ); + that._addClass( that.selectees, "ui-selectee" ); + that.selectees.each( function() { + var $this = $( this ), + selecteeOffset = $this.offset(), + pos = { + left: selecteeOffset.left - that.elementPos.left, + top: selecteeOffset.top - that.elementPos.top + }; + $.data( this, "selectable-item", { + element: this, + $element: $this, + left: pos.left, + top: pos.top, + right: pos.left + $this.outerWidth(), + bottom: pos.top + $this.outerHeight(), + startselected: false, + selected: $this.hasClass( "ui-selected" ), + selecting: $this.hasClass( "ui-selecting" ), + unselecting: $this.hasClass( "ui-unselecting" ) + } ); + } ); + }; + this.refresh(); + + this._mouseInit(); + + this.helper = $( "<div>" ); + this._addClass( this.helper, "ui-selectable-helper" ); + }, + + _destroy: function() { + this.selectees.removeData( "selectable-item" ); + this._mouseDestroy(); + }, + + _mouseStart: function( event ) { + var that = this, + options = this.options; + + this.opos = [ event.pageX, event.pageY ]; + this.elementPos = $( this.element[ 0 ] ).offset(); + + if ( this.options.disabled ) { + return; + } + + this.selectees = $( options.filter, this.element[ 0 ] ); + + this._trigger( "start", event ); + + $( options.appendTo ).append( this.helper ); + + // position helper (lasso) + this.helper.css( { + "left": event.pageX, + "top": event.pageY, + "width": 0, + "height": 0 + } ); + + if ( options.autoRefresh ) { + this.refresh(); + } + + this.selectees.filter( ".ui-selected" ).each( function() { + var selectee = $.data( this, "selectable-item" ); + selectee.startselected = true; + if ( !event.metaKey && !event.ctrlKey ) { + that._removeClass( selectee.$element, "ui-selected" ); + selectee.selected = false; + that._addClass( selectee.$element, "ui-unselecting" ); + selectee.unselecting = true; + + // selectable UNSELECTING callback + that._trigger( "unselecting", event, { + unselecting: selectee.element + } ); + } + } ); + + $( event.target ).parents().addBack().each( function() { + var doSelect, + selectee = $.data( this, "selectable-item" ); + if ( selectee ) { + doSelect = ( !event.metaKey && !event.ctrlKey ) || + !selectee.$element.hasClass( "ui-selected" ); + that._removeClass( selectee.$element, doSelect ? "ui-unselecting" : "ui-selected" ) + ._addClass( selectee.$element, doSelect ? "ui-selecting" : "ui-unselecting" ); + selectee.unselecting = !doSelect; + selectee.selecting = doSelect; + selectee.selected = doSelect; + + // selectable (UN)SELECTING callback + if ( doSelect ) { + that._trigger( "selecting", event, { + selecting: selectee.element + } ); + } else { + that._trigger( "unselecting", event, { + unselecting: selectee.element + } ); + } + return false; + } + } ); + + }, + + _mouseDrag: function( event ) { + + this.dragged = true; + + if ( this.options.disabled ) { + return; + } + + var tmp, + that = this, + options = this.options, + x1 = this.opos[ 0 ], + y1 = this.opos[ 1 ], + x2 = event.pageX, + y2 = event.pageY; + + if ( x1 > x2 ) { tmp = x2; x2 = x1; x1 = tmp; } + if ( y1 > y2 ) { tmp = y2; y2 = y1; y1 = tmp; } + this.helper.css( { left: x1, top: y1, width: x2 - x1, height: y2 - y1 } ); + + this.selectees.each( function() { + var selectee = $.data( this, "selectable-item" ), + hit = false, + offset = {}; + + //prevent helper from being selected if appendTo: selectable + if ( !selectee || selectee.element === that.element[ 0 ] ) { + return; + } + + offset.left = selectee.left + that.elementPos.left; + offset.right = selectee.right + that.elementPos.left; + offset.top = selectee.top + that.elementPos.top; + offset.bottom = selectee.bottom + that.elementPos.top; + + if ( options.tolerance === "touch" ) { + hit = ( !( offset.left > x2 || offset.right < x1 || offset.top > y2 || + offset.bottom < y1 ) ); + } else if ( options.tolerance === "fit" ) { + hit = ( offset.left > x1 && offset.right < x2 && offset.top > y1 && + offset.bottom < y2 ); + } + + if ( hit ) { + + // SELECT + if ( selectee.selected ) { + that._removeClass( selectee.$element, "ui-selected" ); + selectee.selected = false; + } + if ( selectee.unselecting ) { + that._removeClass( selectee.$element, "ui-unselecting" ); + selectee.unselecting = false; + } + if ( !selectee.selecting ) { + that._addClass( selectee.$element, "ui-selecting" ); + selectee.selecting = true; + + // selectable SELECTING callback + that._trigger( "selecting", event, { + selecting: selectee.element + } ); + } + } else { + + // UNSELECT + if ( selectee.selecting ) { + if ( ( event.metaKey || event.ctrlKey ) && selectee.startselected ) { + that._removeClass( selectee.$element, "ui-selecting" ); + selectee.selecting = false; + that._addClass( selectee.$element, "ui-selected" ); + selectee.selected = true; + } else { + that._removeClass( selectee.$element, "ui-selecting" ); + selectee.selecting = false; + if ( selectee.startselected ) { + that._addClass( selectee.$element, "ui-unselecting" ); + selectee.unselecting = true; + } + + // selectable UNSELECTING callback + that._trigger( "unselecting", event, { + unselecting: selectee.element + } ); + } + } + if ( selectee.selected ) { + if ( !event.metaKey && !event.ctrlKey && !selectee.startselected ) { + that._removeClass( selectee.$element, "ui-selected" ); + selectee.selected = false; + + that._addClass( selectee.$element, "ui-unselecting" ); + selectee.unselecting = true; + + // selectable UNSELECTING callback + that._trigger( "unselecting", event, { + unselecting: selectee.element + } ); + } + } + } + } ); + + return false; + }, + + _mouseStop: function( event ) { + var that = this; + + this.dragged = false; + + $( ".ui-unselecting", this.element[ 0 ] ).each( function() { + var selectee = $.data( this, "selectable-item" ); + that._removeClass( selectee.$element, "ui-unselecting" ); + selectee.unselecting = false; + selectee.startselected = false; + that._trigger( "unselected", event, { + unselected: selectee.element + } ); + } ); + $( ".ui-selecting", this.element[ 0 ] ).each( function() { + var selectee = $.data( this, "selectable-item" ); + that._removeClass( selectee.$element, "ui-selecting" ) + ._addClass( selectee.$element, "ui-selected" ); + selectee.selecting = false; + selectee.selected = true; + selectee.startselected = true; + that._trigger( "selected", event, { + selected: selectee.element + } ); + } ); + this._trigger( "stop", event ); + + this.helper.remove(); + + return false; + } + +} ); + + +/*! + * jQuery UI Selectmenu 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Selectmenu +//>>group: Widgets +// jscs:disable maximumLineLength +//>>description: Duplicates and extends the functionality of a native HTML select element, allowing it to be customizable in behavior and appearance far beyond the limitations of a native select. +// jscs:enable maximumLineLength +//>>docs: http://api.jqueryui.com/selectmenu/ +//>>demos: http://jqueryui.com/selectmenu/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/selectmenu.css, ../../themes/base/button.css +//>>css.theme: ../../themes/base/theme.css + + + +var widgetsSelectmenu = $.widget( "ui.selectmenu", [ $.ui.formResetMixin, { + version: "1.12.1", + defaultElement: "<select>", + options: { + appendTo: null, + classes: { + "ui-selectmenu-button-open": "ui-corner-top", + "ui-selectmenu-button-closed": "ui-corner-all" + }, + disabled: null, + icons: { + button: "ui-icon-triangle-1-s" + }, + position: { + my: "left top", + at: "left bottom", + collision: "none" + }, + width: false, + + // Callbacks + change: null, + close: null, + focus: null, + open: null, + select: null + }, + + _create: function() { + var selectmenuId = this.element.uniqueId().attr( "id" ); + this.ids = { + element: selectmenuId, + button: selectmenuId + "-button", + menu: selectmenuId + "-menu" + }; + + this._drawButton(); + this._drawMenu(); + this._bindFormResetHandler(); + + this._rendered = false; + this.menuItems = $(); + }, + + _drawButton: function() { + var icon, + that = this, + item = this._parseOption( + this.element.find( "option:selected" ), + this.element[ 0 ].selectedIndex + ); + + // Associate existing label with the new button + this.labels = this.element.labels().attr( "for", this.ids.button ); + this._on( this.labels, { + click: function( event ) { + this.button.focus(); + event.preventDefault(); + } + } ); + + // Hide original select element + this.element.hide(); + + // Create button + this.button = $( "<span>", { + tabindex: this.options.disabled ? -1 : 0, + id: this.ids.button, + role: "combobox", + "aria-expanded": "false", + "aria-autocomplete": "list", + "aria-owns": this.ids.menu, + "aria-haspopup": "true", + title: this.element.attr( "title" ) + } ) + .insertAfter( this.element ); + + this._addClass( this.button, "ui-selectmenu-button ui-selectmenu-button-closed", + "ui-button ui-widget" ); + + icon = $( "<span>" ).appendTo( this.button ); + this._addClass( icon, "ui-selectmenu-icon", "ui-icon " + this.options.icons.button ); + this.buttonItem = this._renderButtonItem( item ) + .appendTo( this.button ); + + if ( this.options.width !== false ) { + this._resizeButton(); + } + + this._on( this.button, this._buttonEvents ); + this.button.one( "focusin", function() { + + // Delay rendering the menu items until the button receives focus. + // The menu may have already been rendered via a programmatic open. + if ( !that._rendered ) { + that._refreshMenu(); + } + } ); + }, + + _drawMenu: function() { + var that = this; + + // Create menu + this.menu = $( "<ul>", { + "aria-hidden": "true", + "aria-labelledby": this.ids.button, + id: this.ids.menu + } ); + + // Wrap menu + this.menuWrap = $( "<div>" ).append( this.menu ); + this._addClass( this.menuWrap, "ui-selectmenu-menu", "ui-front" ); + this.menuWrap.appendTo( this._appendTo() ); + + // Initialize menu widget + this.menuInstance = this.menu + .menu( { + classes: { + "ui-menu": "ui-corner-bottom" + }, + role: "listbox", + select: function( event, ui ) { + event.preventDefault(); + + // Support: IE8 + // If the item was selected via a click, the text selection + // will be destroyed in IE + that._setSelection(); + + that._select( ui.item.data( "ui-selectmenu-item" ), event ); + }, + focus: function( event, ui ) { + var item = ui.item.data( "ui-selectmenu-item" ); + + // Prevent inital focus from firing and check if its a newly focused item + if ( that.focusIndex != null && item.index !== that.focusIndex ) { + that._trigger( "focus", event, { item: item } ); + if ( !that.isOpen ) { + that._select( item, event ); + } + } + that.focusIndex = item.index; + + that.button.attr( "aria-activedescendant", + that.menuItems.eq( item.index ).attr( "id" ) ); + } + } ) + .menu( "instance" ); + + // Don't close the menu on mouseleave + this.menuInstance._off( this.menu, "mouseleave" ); + + // Cancel the menu's collapseAll on document click + this.menuInstance._closeOnDocumentClick = function() { + return false; + }; + + // Selects often contain empty items, but never contain dividers + this.menuInstance._isDivider = function() { + return false; + }; + }, + + refresh: function() { + this._refreshMenu(); + this.buttonItem.replaceWith( + this.buttonItem = this._renderButtonItem( + + // Fall back to an empty object in case there are no options + this._getSelectedItem().data( "ui-selectmenu-item" ) || {} + ) + ); + if ( this.options.width === null ) { + this._resizeButton(); + } + }, + + _refreshMenu: function() { + var item, + options = this.element.find( "option" ); + + this.menu.empty(); + + this._parseOptions( options ); + this._renderMenu( this.menu, this.items ); + + this.menuInstance.refresh(); + this.menuItems = this.menu.find( "li" ) + .not( ".ui-selectmenu-optgroup" ) + .find( ".ui-menu-item-wrapper" ); + + this._rendered = true; + + if ( !options.length ) { + return; + } + + item = this._getSelectedItem(); + + // Update the menu to have the correct item focused + this.menuInstance.focus( null, item ); + this._setAria( item.data( "ui-selectmenu-item" ) ); + + // Set disabled state + this._setOption( "disabled", this.element.prop( "disabled" ) ); + }, + + open: function( event ) { + if ( this.options.disabled ) { + return; + } + + // If this is the first time the menu is being opened, render the items + if ( !this._rendered ) { + this._refreshMenu(); + } else { + + // Menu clears focus on close, reset focus to selected item + this._removeClass( this.menu.find( ".ui-state-active" ), null, "ui-state-active" ); + this.menuInstance.focus( null, this._getSelectedItem() ); + } + + // If there are no options, don't open the menu + if ( !this.menuItems.length ) { + return; + } + + this.isOpen = true; + this._toggleAttr(); + this._resizeMenu(); + this._position(); + + this._on( this.document, this._documentClick ); + + this._trigger( "open", event ); + }, + + _position: function() { + this.menuWrap.position( $.extend( { of: this.button }, this.options.position ) ); + }, + + close: function( event ) { + if ( !this.isOpen ) { + return; + } + + this.isOpen = false; + this._toggleAttr(); + + this.range = null; + this._off( this.document ); + + this._trigger( "close", event ); + }, + + widget: function() { + return this.button; + }, + + menuWidget: function() { + return this.menu; + }, + + _renderButtonItem: function( item ) { + var buttonItem = $( "<span>" ); + + this._setText( buttonItem, item.label ); + this._addClass( buttonItem, "ui-selectmenu-text" ); + + return buttonItem; + }, + + _renderMenu: function( ul, items ) { + var that = this, + currentOptgroup = ""; + + $.each( items, function( index, item ) { + var li; + + if ( item.optgroup !== currentOptgroup ) { + li = $( "<li>", { + text: item.optgroup + } ); + that._addClass( li, "ui-selectmenu-optgroup", "ui-menu-divider" + + ( item.element.parent( "optgroup" ).prop( "disabled" ) ? + " ui-state-disabled" : + "" ) ); + + li.appendTo( ul ); + + currentOptgroup = item.optgroup; + } + + that._renderItemData( ul, item ); + } ); + }, + + _renderItemData: function( ul, item ) { + return this._renderItem( ul, item ).data( "ui-selectmenu-item", item ); + }, + + _renderItem: function( ul, item ) { + var li = $( "<li>" ), + wrapper = $( "<div>", { + title: item.element.attr( "title" ) + } ); + + if ( item.disabled ) { + this._addClass( li, null, "ui-state-disabled" ); + } + this._setText( wrapper, item.label ); + + return li.append( wrapper ).appendTo( ul ); + }, + + _setText: function( element, value ) { + if ( value ) { + element.text( value ); + } else { + element.html( "&#160;" ); + } + }, + + _move: function( direction, event ) { + var item, next, + filter = ".ui-menu-item"; + + if ( this.isOpen ) { + item = this.menuItems.eq( this.focusIndex ).parent( "li" ); + } else { + item = this.menuItems.eq( this.element[ 0 ].selectedIndex ).parent( "li" ); + filter += ":not(.ui-state-disabled)"; + } + + if ( direction === "first" || direction === "last" ) { + next = item[ direction === "first" ? "prevAll" : "nextAll" ]( filter ).eq( -1 ); + } else { + next = item[ direction + "All" ]( filter ).eq( 0 ); + } + + if ( next.length ) { + this.menuInstance.focus( event, next ); + } + }, + + _getSelectedItem: function() { + return this.menuItems.eq( this.element[ 0 ].selectedIndex ).parent( "li" ); + }, + + _toggle: function( event ) { + this[ this.isOpen ? "close" : "open" ]( event ); + }, + + _setSelection: function() { + var selection; + + if ( !this.range ) { + return; + } + + if ( window.getSelection ) { + selection = window.getSelection(); + selection.removeAllRanges(); + selection.addRange( this.range ); + + // Support: IE8 + } else { + this.range.select(); + } + + // Support: IE + // Setting the text selection kills the button focus in IE, but + // restoring the focus doesn't kill the selection. + this.button.focus(); + }, + + _documentClick: { + mousedown: function( event ) { + if ( !this.isOpen ) { + return; + } + + if ( !$( event.target ).closest( ".ui-selectmenu-menu, #" + + $.ui.escapeSelector( this.ids.button ) ).length ) { + this.close( event ); + } + } + }, + + _buttonEvents: { + + // Prevent text selection from being reset when interacting with the selectmenu (#10144) + mousedown: function() { + var selection; + + if ( window.getSelection ) { + selection = window.getSelection(); + if ( selection.rangeCount ) { + this.range = selection.getRangeAt( 0 ); + } + + // Support: IE8 + } else { + this.range = document.selection.createRange(); + } + }, + + click: function( event ) { + this._setSelection(); + this._toggle( event ); + }, + + keydown: function( event ) { + var preventDefault = true; + switch ( event.keyCode ) { + case $.ui.keyCode.TAB: + case $.ui.keyCode.ESCAPE: + this.close( event ); + preventDefault = false; + break; + case $.ui.keyCode.ENTER: + if ( this.isOpen ) { + this._selectFocusedItem( event ); + } + break; + case $.ui.keyCode.UP: + if ( event.altKey ) { + this._toggle( event ); + } else { + this._move( "prev", event ); + } + break; + case $.ui.keyCode.DOWN: + if ( event.altKey ) { + this._toggle( event ); + } else { + this._move( "next", event ); + } + break; + case $.ui.keyCode.SPACE: + if ( this.isOpen ) { + this._selectFocusedItem( event ); + } else { + this._toggle( event ); + } + break; + case $.ui.keyCode.LEFT: + this._move( "prev", event ); + break; + case $.ui.keyCode.RIGHT: + this._move( "next", event ); + break; + case $.ui.keyCode.HOME: + case $.ui.keyCode.PAGE_UP: + this._move( "first", event ); + break; + case $.ui.keyCode.END: + case $.ui.keyCode.PAGE_DOWN: + this._move( "last", event ); + break; + default: + this.menu.trigger( event ); + preventDefault = false; + } + + if ( preventDefault ) { + event.preventDefault(); + } + } + }, + + _selectFocusedItem: function( event ) { + var item = this.menuItems.eq( this.focusIndex ).parent( "li" ); + if ( !item.hasClass( "ui-state-disabled" ) ) { + this._select( item.data( "ui-selectmenu-item" ), event ); + } + }, + + _select: function( item, event ) { + var oldIndex = this.element[ 0 ].selectedIndex; + + // Change native select element + this.element[ 0 ].selectedIndex = item.index; + this.buttonItem.replaceWith( this.buttonItem = this._renderButtonItem( item ) ); + this._setAria( item ); + this._trigger( "select", event, { item: item } ); + + if ( item.index !== oldIndex ) { + this._trigger( "change", event, { item: item } ); + } + + this.close( event ); + }, + + _setAria: function( item ) { + var id = this.menuItems.eq( item.index ).attr( "id" ); + + this.button.attr( { + "aria-labelledby": id, + "aria-activedescendant": id + } ); + this.menu.attr( "aria-activedescendant", id ); + }, + + _setOption: function( key, value ) { + if ( key === "icons" ) { + var icon = this.button.find( "span.ui-icon" ); + this._removeClass( icon, null, this.options.icons.button ) + ._addClass( icon, null, value.button ); + } + + this._super( key, value ); + + if ( key === "appendTo" ) { + this.menuWrap.appendTo( this._appendTo() ); + } + + if ( key === "width" ) { + this._resizeButton(); + } + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this.menuInstance.option( "disabled", value ); + this.button.attr( "aria-disabled", value ); + this._toggleClass( this.button, null, "ui-state-disabled", value ); + + this.element.prop( "disabled", value ); + if ( value ) { + this.button.attr( "tabindex", -1 ); + this.close(); + } else { + this.button.attr( "tabindex", 0 ); + } + }, + + _appendTo: function() { + var element = this.options.appendTo; + + if ( element ) { + element = element.jquery || element.nodeType ? + $( element ) : + this.document.find( element ).eq( 0 ); + } + + if ( !element || !element[ 0 ] ) { + element = this.element.closest( ".ui-front, dialog" ); + } + + if ( !element.length ) { + element = this.document[ 0 ].body; + } + + return element; + }, + + _toggleAttr: function() { + this.button.attr( "aria-expanded", this.isOpen ); + + // We can't use two _toggleClass() calls here, because we need to make sure + // we always remove classes first and add them second, otherwise if both classes have the + // same theme class, it will be removed after we add it. + this._removeClass( this.button, "ui-selectmenu-button-" + + ( this.isOpen ? "closed" : "open" ) ) + ._addClass( this.button, "ui-selectmenu-button-" + + ( this.isOpen ? "open" : "closed" ) ) + ._toggleClass( this.menuWrap, "ui-selectmenu-open", null, this.isOpen ); + + this.menu.attr( "aria-hidden", !this.isOpen ); + }, + + _resizeButton: function() { + var width = this.options.width; + + // For `width: false`, just remove inline style and stop + if ( width === false ) { + this.button.css( "width", "" ); + return; + } + + // For `width: null`, match the width of the original element + if ( width === null ) { + width = this.element.show().outerWidth(); + this.element.hide(); + } + + this.button.outerWidth( width ); + }, + + _resizeMenu: function() { + this.menu.outerWidth( Math.max( + this.button.outerWidth(), + + // Support: IE10 + // IE10 wraps long text (possibly a rounding bug) + // so we add 1px to avoid the wrapping + this.menu.width( "" ).outerWidth() + 1 + ) ); + }, + + _getCreateOptions: function() { + var options = this._super(); + + options.disabled = this.element.prop( "disabled" ); + + return options; + }, + + _parseOptions: function( options ) { + var that = this, + data = []; + options.each( function( index, item ) { + data.push( that._parseOption( $( item ), index ) ); + } ); + this.items = data; + }, + + _parseOption: function( option, index ) { + var optgroup = option.parent( "optgroup" ); + + return { + element: option, + index: index, + value: option.val(), + label: option.text(), + optgroup: optgroup.attr( "label" ) || "", + disabled: optgroup.prop( "disabled" ) || option.prop( "disabled" ) + }; + }, + + _destroy: function() { + this._unbindFormResetHandler(); + this.menuWrap.remove(); + this.button.remove(); + this.element.show(); + this.element.removeUniqueId(); + this.labels.attr( "for", this.ids.element ); + } +} ] ); + + +/*! + * jQuery UI Slider 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Slider +//>>group: Widgets +//>>description: Displays a flexible slider with ranges and accessibility via keyboard. +//>>docs: http://api.jqueryui.com/slider/ +//>>demos: http://jqueryui.com/slider/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/slider.css +//>>css.theme: ../../themes/base/theme.css + + + +var widgetsSlider = $.widget( "ui.slider", $.ui.mouse, { + version: "1.12.1", + widgetEventPrefix: "slide", + + options: { + animate: false, + classes: { + "ui-slider": "ui-corner-all", + "ui-slider-handle": "ui-corner-all", + + // Note: ui-widget-header isn't the most fittingly semantic framework class for this + // element, but worked best visually with a variety of themes + "ui-slider-range": "ui-corner-all ui-widget-header" + }, + distance: 0, + max: 100, + min: 0, + orientation: "horizontal", + range: false, + step: 1, + value: 0, + values: null, + + // Callbacks + change: null, + slide: null, + start: null, + stop: null + }, + + // Number of pages in a slider + // (how many times can you page up/down to go through the whole range) + numPages: 5, + + _create: function() { + this._keySliding = false; + this._mouseSliding = false; + this._animateOff = true; + this._handleIndex = null; + this._detectOrientation(); + this._mouseInit(); + this._calculateNewMax(); + + this._addClass( "ui-slider ui-slider-" + this.orientation, + "ui-widget ui-widget-content" ); + + this._refresh(); + + this._animateOff = false; + }, + + _refresh: function() { + this._createRange(); + this._createHandles(); + this._setupEvents(); + this._refreshValue(); + }, + + _createHandles: function() { + var i, handleCount, + options = this.options, + existingHandles = this.element.find( ".ui-slider-handle" ), + handle = "<span tabindex='0'></span>", + handles = []; + + handleCount = ( options.values && options.values.length ) || 1; + + if ( existingHandles.length > handleCount ) { + existingHandles.slice( handleCount ).remove(); + existingHandles = existingHandles.slice( 0, handleCount ); + } + + for ( i = existingHandles.length; i < handleCount; i++ ) { + handles.push( handle ); + } + + this.handles = existingHandles.add( $( handles.join( "" ) ).appendTo( this.element ) ); + + this._addClass( this.handles, "ui-slider-handle", "ui-state-default" ); + + this.handle = this.handles.eq( 0 ); + + this.handles.each( function( i ) { + $( this ) + .data( "ui-slider-handle-index", i ) + .attr( "tabIndex", 0 ); + } ); + }, + + _createRange: function() { + var options = this.options; + + if ( options.range ) { + if ( options.range === true ) { + if ( !options.values ) { + options.values = [ this._valueMin(), this._valueMin() ]; + } else if ( options.values.length && options.values.length !== 2 ) { + options.values = [ options.values[ 0 ], options.values[ 0 ] ]; + } else if ( $.isArray( options.values ) ) { + options.values = options.values.slice( 0 ); + } + } + + if ( !this.range || !this.range.length ) { + this.range = $( "<div>" ) + .appendTo( this.element ); + + this._addClass( this.range, "ui-slider-range" ); + } else { + this._removeClass( this.range, "ui-slider-range-min ui-slider-range-max" ); + + // Handle range switching from true to min/max + this.range.css( { + "left": "", + "bottom": "" + } ); + } + if ( options.range === "min" || options.range === "max" ) { + this._addClass( this.range, "ui-slider-range-" + options.range ); + } + } else { + if ( this.range ) { + this.range.remove(); + } + this.range = null; + } + }, + + _setupEvents: function() { + this._off( this.handles ); + this._on( this.handles, this._handleEvents ); + this._hoverable( this.handles ); + this._focusable( this.handles ); + }, + + _destroy: function() { + this.handles.remove(); + if ( this.range ) { + this.range.remove(); + } + + this._mouseDestroy(); + }, + + _mouseCapture: function( event ) { + var position, normValue, distance, closestHandle, index, allowed, offset, mouseOverHandle, + that = this, + o = this.options; + + if ( o.disabled ) { + return false; + } + + this.elementSize = { + width: this.element.outerWidth(), + height: this.element.outerHeight() + }; + this.elementOffset = this.element.offset(); + + position = { x: event.pageX, y: event.pageY }; + normValue = this._normValueFromMouse( position ); + distance = this._valueMax() - this._valueMin() + 1; + this.handles.each( function( i ) { + var thisDistance = Math.abs( normValue - that.values( i ) ); + if ( ( distance > thisDistance ) || + ( distance === thisDistance && + ( i === that._lastChangedValue || that.values( i ) === o.min ) ) ) { + distance = thisDistance; + closestHandle = $( this ); + index = i; + } + } ); + + allowed = this._start( event, index ); + if ( allowed === false ) { + return false; + } + this._mouseSliding = true; + + this._handleIndex = index; + + this._addClass( closestHandle, null, "ui-state-active" ); + closestHandle.trigger( "focus" ); + + offset = closestHandle.offset(); + mouseOverHandle = !$( event.target ).parents().addBack().is( ".ui-slider-handle" ); + this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : { + left: event.pageX - offset.left - ( closestHandle.width() / 2 ), + top: event.pageY - offset.top - + ( closestHandle.height() / 2 ) - + ( parseInt( closestHandle.css( "borderTopWidth" ), 10 ) || 0 ) - + ( parseInt( closestHandle.css( "borderBottomWidth" ), 10 ) || 0 ) + + ( parseInt( closestHandle.css( "marginTop" ), 10 ) || 0 ) + }; + + if ( !this.handles.hasClass( "ui-state-hover" ) ) { + this._slide( event, index, normValue ); + } + this._animateOff = true; + return true; + }, + + _mouseStart: function() { + return true; + }, + + _mouseDrag: function( event ) { + var position = { x: event.pageX, y: event.pageY }, + normValue = this._normValueFromMouse( position ); + + this._slide( event, this._handleIndex, normValue ); + + return false; + }, + + _mouseStop: function( event ) { + this._removeClass( this.handles, null, "ui-state-active" ); + this._mouseSliding = false; + + this._stop( event, this._handleIndex ); + this._change( event, this._handleIndex ); + + this._handleIndex = null; + this._clickOffset = null; + this._animateOff = false; + + return false; + }, + + _detectOrientation: function() { + this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal"; + }, + + _normValueFromMouse: function( position ) { + var pixelTotal, + pixelMouse, + percentMouse, + valueTotal, + valueMouse; + + if ( this.orientation === "horizontal" ) { + pixelTotal = this.elementSize.width; + pixelMouse = position.x - this.elementOffset.left - + ( this._clickOffset ? this._clickOffset.left : 0 ); + } else { + pixelTotal = this.elementSize.height; + pixelMouse = position.y - this.elementOffset.top - + ( this._clickOffset ? this._clickOffset.top : 0 ); + } + + percentMouse = ( pixelMouse / pixelTotal ); + if ( percentMouse > 1 ) { + percentMouse = 1; + } + if ( percentMouse < 0 ) { + percentMouse = 0; + } + if ( this.orientation === "vertical" ) { + percentMouse = 1 - percentMouse; + } + + valueTotal = this._valueMax() - this._valueMin(); + valueMouse = this._valueMin() + percentMouse * valueTotal; + + return this._trimAlignValue( valueMouse ); + }, + + _uiHash: function( index, value, values ) { + var uiHash = { + handle: this.handles[ index ], + handleIndex: index, + value: value !== undefined ? value : this.value() + }; + + if ( this._hasMultipleValues() ) { + uiHash.value = value !== undefined ? value : this.values( index ); + uiHash.values = values || this.values(); + } + + return uiHash; + }, + + _hasMultipleValues: function() { + return this.options.values && this.options.values.length; + }, + + _start: function( event, index ) { + return this._trigger( "start", event, this._uiHash( index ) ); + }, + + _slide: function( event, index, newVal ) { + var allowed, otherVal, + currentValue = this.value(), + newValues = this.values(); + + if ( this._hasMultipleValues() ) { + otherVal = this.values( index ? 0 : 1 ); + currentValue = this.values( index ); + + if ( this.options.values.length === 2 && this.options.range === true ) { + newVal = index === 0 ? Math.min( otherVal, newVal ) : Math.max( otherVal, newVal ); + } + + newValues[ index ] = newVal; + } + + if ( newVal === currentValue ) { + return; + } + + allowed = this._trigger( "slide", event, this._uiHash( index, newVal, newValues ) ); + + // A slide can be canceled by returning false from the slide callback + if ( allowed === false ) { + return; + } + + if ( this._hasMultipleValues() ) { + this.values( index, newVal ); + } else { + this.value( newVal ); + } + }, + + _stop: function( event, index ) { + this._trigger( "stop", event, this._uiHash( index ) ); + }, + + _change: function( event, index ) { + if ( !this._keySliding && !this._mouseSliding ) { + + //store the last changed value index for reference when handles overlap + this._lastChangedValue = index; + this._trigger( "change", event, this._uiHash( index ) ); + } + }, + + value: function( newValue ) { + if ( arguments.length ) { + this.options.value = this._trimAlignValue( newValue ); + this._refreshValue(); + this._change( null, 0 ); + return; + } + + return this._value(); + }, + + values: function( index, newValue ) { + var vals, + newValues, + i; + + if ( arguments.length > 1 ) { + this.options.values[ index ] = this._trimAlignValue( newValue ); + this._refreshValue(); + this._change( null, index ); + return; + } + + if ( arguments.length ) { + if ( $.isArray( arguments[ 0 ] ) ) { + vals = this.options.values; + newValues = arguments[ 0 ]; + for ( i = 0; i < vals.length; i += 1 ) { + vals[ i ] = this._trimAlignValue( newValues[ i ] ); + this._change( null, i ); + } + this._refreshValue(); + } else { + if ( this._hasMultipleValues() ) { + return this._values( index ); + } else { + return this.value(); + } + } + } else { + return this._values(); + } + }, + + _setOption: function( key, value ) { + var i, + valsLength = 0; + + if ( key === "range" && this.options.range === true ) { + if ( value === "min" ) { + this.options.value = this._values( 0 ); + this.options.values = null; + } else if ( value === "max" ) { + this.options.value = this._values( this.options.values.length - 1 ); + this.options.values = null; + } + } + + if ( $.isArray( this.options.values ) ) { + valsLength = this.options.values.length; + } + + this._super( key, value ); + + switch ( key ) { + case "orientation": + this._detectOrientation(); + this._removeClass( "ui-slider-horizontal ui-slider-vertical" ) + ._addClass( "ui-slider-" + this.orientation ); + this._refreshValue(); + if ( this.options.range ) { + this._refreshRange( value ); + } + + // Reset positioning from previous orientation + this.handles.css( value === "horizontal" ? "bottom" : "left", "" ); + break; + case "value": + this._animateOff = true; + this._refreshValue(); + this._change( null, 0 ); + this._animateOff = false; + break; + case "values": + this._animateOff = true; + this._refreshValue(); + + // Start from the last handle to prevent unreachable handles (#9046) + for ( i = valsLength - 1; i >= 0; i-- ) { + this._change( null, i ); + } + this._animateOff = false; + break; + case "step": + case "min": + case "max": + this._animateOff = true; + this._calculateNewMax(); + this._refreshValue(); + this._animateOff = false; + break; + case "range": + this._animateOff = true; + this._refresh(); + this._animateOff = false; + break; + } + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this._toggleClass( null, "ui-state-disabled", !!value ); + }, + + //internal value getter + // _value() returns value trimmed by min and max, aligned by step + _value: function() { + var val = this.options.value; + val = this._trimAlignValue( val ); + + return val; + }, + + //internal values getter + // _values() returns array of values trimmed by min and max, aligned by step + // _values( index ) returns single value trimmed by min and max, aligned by step + _values: function( index ) { + var val, + vals, + i; + + if ( arguments.length ) { + val = this.options.values[ index ]; + val = this._trimAlignValue( val ); + + return val; + } else if ( this._hasMultipleValues() ) { + + // .slice() creates a copy of the array + // this copy gets trimmed by min and max and then returned + vals = this.options.values.slice(); + for ( i = 0; i < vals.length; i += 1 ) { + vals[ i ] = this._trimAlignValue( vals[ i ] ); + } + + return vals; + } else { + return []; + } + }, + + // Returns the step-aligned value that val is closest to, between (inclusive) min and max + _trimAlignValue: function( val ) { + if ( val <= this._valueMin() ) { + return this._valueMin(); + } + if ( val >= this._valueMax() ) { + return this._valueMax(); + } + var step = ( this.options.step > 0 ) ? this.options.step : 1, + valModStep = ( val - this._valueMin() ) % step, + alignValue = val - valModStep; + + if ( Math.abs( valModStep ) * 2 >= step ) { + alignValue += ( valModStep > 0 ) ? step : ( -step ); + } + + // Since JavaScript has problems with large floats, round + // the final value to 5 digits after the decimal point (see #4124) + return parseFloat( alignValue.toFixed( 5 ) ); + }, + + _calculateNewMax: function() { + var max = this.options.max, + min = this._valueMin(), + step = this.options.step, + aboveMin = Math.round( ( max - min ) / step ) * step; + max = aboveMin + min; + if ( max > this.options.max ) { + + //If max is not divisible by step, rounding off may increase its value + max -= step; + } + this.max = parseFloat( max.toFixed( this._precision() ) ); + }, + + _precision: function() { + var precision = this._precisionOf( this.options.step ); + if ( this.options.min !== null ) { + precision = Math.max( precision, this._precisionOf( this.options.min ) ); + } + return precision; + }, + + _precisionOf: function( num ) { + var str = num.toString(), + decimal = str.indexOf( "." ); + return decimal === -1 ? 0 : str.length - decimal - 1; + }, + + _valueMin: function() { + return this.options.min; + }, + + _valueMax: function() { + return this.max; + }, + + _refreshRange: function( orientation ) { + if ( orientation === "vertical" ) { + this.range.css( { "width": "", "left": "" } ); + } + if ( orientation === "horizontal" ) { + this.range.css( { "height": "", "bottom": "" } ); + } + }, + + _refreshValue: function() { + var lastValPercent, valPercent, value, valueMin, valueMax, + oRange = this.options.range, + o = this.options, + that = this, + animate = ( !this._animateOff ) ? o.animate : false, + _set = {}; + + if ( this._hasMultipleValues() ) { + this.handles.each( function( i ) { + valPercent = ( that.values( i ) - that._valueMin() ) / ( that._valueMax() - + that._valueMin() ) * 100; + _set[ that.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; + $( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); + if ( that.options.range === true ) { + if ( that.orientation === "horizontal" ) { + if ( i === 0 ) { + that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + left: valPercent + "%" + }, o.animate ); + } + if ( i === 1 ) { + that.range[ animate ? "animate" : "css" ]( { + width: ( valPercent - lastValPercent ) + "%" + }, { + queue: false, + duration: o.animate + } ); + } + } else { + if ( i === 0 ) { + that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + bottom: ( valPercent ) + "%" + }, o.animate ); + } + if ( i === 1 ) { + that.range[ animate ? "animate" : "css" ]( { + height: ( valPercent - lastValPercent ) + "%" + }, { + queue: false, + duration: o.animate + } ); + } + } + } + lastValPercent = valPercent; + } ); + } else { + value = this.value(); + valueMin = this._valueMin(); + valueMax = this._valueMax(); + valPercent = ( valueMax !== valueMin ) ? + ( value - valueMin ) / ( valueMax - valueMin ) * 100 : + 0; + _set[ this.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; + this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); + + if ( oRange === "min" && this.orientation === "horizontal" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + width: valPercent + "%" + }, o.animate ); + } + if ( oRange === "max" && this.orientation === "horizontal" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + width: ( 100 - valPercent ) + "%" + }, o.animate ); + } + if ( oRange === "min" && this.orientation === "vertical" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + height: valPercent + "%" + }, o.animate ); + } + if ( oRange === "max" && this.orientation === "vertical" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + height: ( 100 - valPercent ) + "%" + }, o.animate ); + } + } + }, + + _handleEvents: { + keydown: function( event ) { + var allowed, curVal, newVal, step, + index = $( event.target ).data( "ui-slider-handle-index" ); + + switch ( event.keyCode ) { + case $.ui.keyCode.HOME: + case $.ui.keyCode.END: + case $.ui.keyCode.PAGE_UP: + case $.ui.keyCode.PAGE_DOWN: + case $.ui.keyCode.UP: + case $.ui.keyCode.RIGHT: + case $.ui.keyCode.DOWN: + case $.ui.keyCode.LEFT: + event.preventDefault(); + if ( !this._keySliding ) { + this._keySliding = true; + this._addClass( $( event.target ), null, "ui-state-active" ); + allowed = this._start( event, index ); + if ( allowed === false ) { + return; + } + } + break; + } + + step = this.options.step; + if ( this._hasMultipleValues() ) { + curVal = newVal = this.values( index ); + } else { + curVal = newVal = this.value(); + } + + switch ( event.keyCode ) { + case $.ui.keyCode.HOME: + newVal = this._valueMin(); + break; + case $.ui.keyCode.END: + newVal = this._valueMax(); + break; + case $.ui.keyCode.PAGE_UP: + newVal = this._trimAlignValue( + curVal + ( ( this._valueMax() - this._valueMin() ) / this.numPages ) + ); + break; + case $.ui.keyCode.PAGE_DOWN: + newVal = this._trimAlignValue( + curVal - ( ( this._valueMax() - this._valueMin() ) / this.numPages ) ); + break; + case $.ui.keyCode.UP: + case $.ui.keyCode.RIGHT: + if ( curVal === this._valueMax() ) { + return; + } + newVal = this._trimAlignValue( curVal + step ); + break; + case $.ui.keyCode.DOWN: + case $.ui.keyCode.LEFT: + if ( curVal === this._valueMin() ) { + return; + } + newVal = this._trimAlignValue( curVal - step ); + break; + } + + this._slide( event, index, newVal ); + }, + keyup: function( event ) { + var index = $( event.target ).data( "ui-slider-handle-index" ); + + if ( this._keySliding ) { + this._keySliding = false; + this._stop( event, index ); + this._change( event, index ); + this._removeClass( $( event.target ), null, "ui-state-active" ); + } + } + } +} ); + + +/*! + * jQuery UI Sortable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Sortable +//>>group: Interactions +//>>description: Enables items in a list to be sorted using the mouse. +//>>docs: http://api.jqueryui.com/sortable/ +//>>demos: http://jqueryui.com/sortable/ +//>>css.structure: ../../themes/base/sortable.css + + + +var widgetsSortable = $.widget( "ui.sortable", $.ui.mouse, { + version: "1.12.1", + widgetEventPrefix: "sort", + ready: false, + options: { + appendTo: "parent", + axis: false, + connectWith: false, + containment: false, + cursor: "auto", + cursorAt: false, + dropOnEmpty: true, + forcePlaceholderSize: false, + forceHelperSize: false, + grid: false, + handle: false, + helper: "original", + items: "> *", + opacity: false, + placeholder: false, + revert: false, + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + scope: "default", + tolerance: "intersect", + zIndex: 1000, + + // Callbacks + activate: null, + beforeStop: null, + change: null, + deactivate: null, + out: null, + over: null, + receive: null, + remove: null, + sort: null, + start: null, + stop: null, + update: null + }, + + _isOverAxis: function( x, reference, size ) { + return ( x >= reference ) && ( x < ( reference + size ) ); + }, + + _isFloating: function( item ) { + return ( /left|right/ ).test( item.css( "float" ) ) || + ( /inline|table-cell/ ).test( item.css( "display" ) ); + }, + + _create: function() { + this.containerCache = {}; + this._addClass( "ui-sortable" ); + + //Get the items + this.refresh(); + + //Let's determine the parent's offset + this.offset = this.element.offset(); + + //Initialize mouse events for interaction + this._mouseInit(); + + this._setHandleClassName(); + + //We're ready to go + this.ready = true; + + }, + + _setOption: function( key, value ) { + this._super( key, value ); + + if ( key === "handle" ) { + this._setHandleClassName(); + } + }, + + _setHandleClassName: function() { + var that = this; + this._removeClass( this.element.find( ".ui-sortable-handle" ), "ui-sortable-handle" ); + $.each( this.items, function() { + that._addClass( + this.instance.options.handle ? + this.item.find( this.instance.options.handle ) : + this.item, + "ui-sortable-handle" + ); + } ); + }, + + _destroy: function() { + this._mouseDestroy(); + + for ( var i = this.items.length - 1; i >= 0; i-- ) { + this.items[ i ].item.removeData( this.widgetName + "-item" ); + } + + return this; + }, + + _mouseCapture: function( event, overrideHandle ) { + var currentItem = null, + validHandle = false, + that = this; + + if ( this.reverting ) { + return false; + } + + if ( this.options.disabled || this.options.type === "static" ) { + return false; + } + + //We have to refresh the items data once first + this._refreshItems( event ); + + //Find out if the clicked node (or one of its parents) is a actual item in this.items + $( event.target ).parents().each( function() { + if ( $.data( this, that.widgetName + "-item" ) === that ) { + currentItem = $( this ); + return false; + } + } ); + if ( $.data( event.target, that.widgetName + "-item" ) === that ) { + currentItem = $( event.target ); + } + + if ( !currentItem ) { + return false; + } + if ( this.options.handle && !overrideHandle ) { + $( this.options.handle, currentItem ).find( "*" ).addBack().each( function() { + if ( this === event.target ) { + validHandle = true; + } + } ); + if ( !validHandle ) { + return false; + } + } + + this.currentItem = currentItem; + this._removeCurrentsFromItems(); + return true; + + }, + + _mouseStart: function( event, overrideHandle, noActivation ) { + + var i, body, + o = this.options; + + this.currentContainer = this; + + //We only need to call refreshPositions, because the refreshItems call has been moved to + // mouseCapture + this.refreshPositions(); + + //Create and append the visible helper + this.helper = this._createHelper( event ); + + //Cache the helper size + this._cacheHelperProportions(); + + /* + * - Position generation - + * This block generates everything position related - it's the core of draggables. + */ + + //Cache the margins of the original element + this._cacheMargins(); + + //Get the next scrolling parent + this.scrollParent = this.helper.scrollParent(); + + //The element's absolute position on the page minus margins + this.offset = this.currentItem.offset(); + this.offset = { + top: this.offset.top - this.margins.top, + left: this.offset.left - this.margins.left + }; + + $.extend( this.offset, { + click: { //Where the click happened, relative to the element + left: event.pageX - this.offset.left, + top: event.pageY - this.offset.top + }, + parent: this._getParentOffset(), + + // This is a relative to absolute position minus the actual position calculation - + // only used for relative positioned helper + relative: this._getRelativeOffset() + } ); + + // Only after we got the offset, we can change the helper's position to absolute + // TODO: Still need to figure out a way to make relative sorting possible + this.helper.css( "position", "absolute" ); + this.cssPosition = this.helper.css( "position" ); + + //Generate the original position + this.originalPosition = this._generatePosition( event ); + this.originalPageX = event.pageX; + this.originalPageY = event.pageY; + + //Adjust the mouse offset relative to the helper if "cursorAt" is supplied + ( o.cursorAt && this._adjustOffsetFromHelper( o.cursorAt ) ); + + //Cache the former DOM position + this.domPosition = { + prev: this.currentItem.prev()[ 0 ], + parent: this.currentItem.parent()[ 0 ] + }; + + // If the helper is not the original, hide the original so it's not playing any role during + // the drag, won't cause anything bad this way + if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) { + this.currentItem.hide(); + } + + //Create the placeholder + this._createPlaceholder(); + + //Set a containment if given in the options + if ( o.containment ) { + this._setContainment(); + } + + if ( o.cursor && o.cursor !== "auto" ) { // cursor option + body = this.document.find( "body" ); + + // Support: IE + this.storedCursor = body.css( "cursor" ); + body.css( "cursor", o.cursor ); + + this.storedStylesheet = + $( "<style>*{ cursor: " + o.cursor + " !important; }</style>" ).appendTo( body ); + } + + if ( o.opacity ) { // opacity option + if ( this.helper.css( "opacity" ) ) { + this._storedOpacity = this.helper.css( "opacity" ); + } + this.helper.css( "opacity", o.opacity ); + } + + if ( o.zIndex ) { // zIndex option + if ( this.helper.css( "zIndex" ) ) { + this._storedZIndex = this.helper.css( "zIndex" ); + } + this.helper.css( "zIndex", o.zIndex ); + } + + //Prepare scrolling + if ( this.scrollParent[ 0 ] !== this.document[ 0 ] && + this.scrollParent[ 0 ].tagName !== "HTML" ) { + this.overflowOffset = this.scrollParent.offset(); + } + + //Call callbacks + this._trigger( "start", event, this._uiHash() ); + + //Recache the helper size + if ( !this._preserveHelperProportions ) { + this._cacheHelperProportions(); + } + + //Post "activate" events to possible containers + if ( !noActivation ) { + for ( i = this.containers.length - 1; i >= 0; i-- ) { + this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) ); + } + } + + //Prepare possible droppables + if ( $.ui.ddmanager ) { + $.ui.ddmanager.current = this; + } + + if ( $.ui.ddmanager && !o.dropBehaviour ) { + $.ui.ddmanager.prepareOffsets( this, event ); + } + + this.dragging = true; + + this._addClass( this.helper, "ui-sortable-helper" ); + + // Execute the drag once - this causes the helper not to be visiblebefore getting its + // correct position + this._mouseDrag( event ); + return true; + + }, + + _mouseDrag: function( event ) { + var i, item, itemElement, intersection, + o = this.options, + scrolled = false; + + //Compute the helpers position + this.position = this._generatePosition( event ); + this.positionAbs = this._convertPositionTo( "absolute" ); + + if ( !this.lastPositionAbs ) { + this.lastPositionAbs = this.positionAbs; + } + + //Do scrolling + if ( this.options.scroll ) { + if ( this.scrollParent[ 0 ] !== this.document[ 0 ] && + this.scrollParent[ 0 ].tagName !== "HTML" ) { + + if ( ( this.overflowOffset.top + this.scrollParent[ 0 ].offsetHeight ) - + event.pageY < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollTop = + scrolled = this.scrollParent[ 0 ].scrollTop + o.scrollSpeed; + } else if ( event.pageY - this.overflowOffset.top < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollTop = + scrolled = this.scrollParent[ 0 ].scrollTop - o.scrollSpeed; + } + + if ( ( this.overflowOffset.left + this.scrollParent[ 0 ].offsetWidth ) - + event.pageX < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollLeft = scrolled = + this.scrollParent[ 0 ].scrollLeft + o.scrollSpeed; + } else if ( event.pageX - this.overflowOffset.left < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollLeft = scrolled = + this.scrollParent[ 0 ].scrollLeft - o.scrollSpeed; + } + + } else { + + if ( event.pageY - this.document.scrollTop() < o.scrollSensitivity ) { + scrolled = this.document.scrollTop( this.document.scrollTop() - o.scrollSpeed ); + } else if ( this.window.height() - ( event.pageY - this.document.scrollTop() ) < + o.scrollSensitivity ) { + scrolled = this.document.scrollTop( this.document.scrollTop() + o.scrollSpeed ); + } + + if ( event.pageX - this.document.scrollLeft() < o.scrollSensitivity ) { + scrolled = this.document.scrollLeft( + this.document.scrollLeft() - o.scrollSpeed + ); + } else if ( this.window.width() - ( event.pageX - this.document.scrollLeft() ) < + o.scrollSensitivity ) { + scrolled = this.document.scrollLeft( + this.document.scrollLeft() + o.scrollSpeed + ); + } + + } + + if ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) { + $.ui.ddmanager.prepareOffsets( this, event ); + } + } + + //Regenerate the absolute position used for position checks + this.positionAbs = this._convertPositionTo( "absolute" ); + + //Set the helper position + if ( !this.options.axis || this.options.axis !== "y" ) { + this.helper[ 0 ].style.left = this.position.left + "px"; + } + if ( !this.options.axis || this.options.axis !== "x" ) { + this.helper[ 0 ].style.top = this.position.top + "px"; + } + + //Rearrange + for ( i = this.items.length - 1; i >= 0; i-- ) { + + //Cache variables and intersection, continue if no intersection + item = this.items[ i ]; + itemElement = item.item[ 0 ]; + intersection = this._intersectsWithPointer( item ); + if ( !intersection ) { + continue; + } + + // Only put the placeholder inside the current Container, skip all + // items from other containers. This works because when moving + // an item from one container to another the + // currentContainer is switched before the placeholder is moved. + // + // Without this, moving items in "sub-sortables" can cause + // the placeholder to jitter between the outer and inner container. + if ( item.instance !== this.currentContainer ) { + continue; + } + + // Cannot intersect with itself + // no useless actions that have been done before + // no action if the item moved is the parent of the item checked + if ( itemElement !== this.currentItem[ 0 ] && + this.placeholder[ intersection === 1 ? "next" : "prev" ]()[ 0 ] !== itemElement && + !$.contains( this.placeholder[ 0 ], itemElement ) && + ( this.options.type === "semi-dynamic" ? + !$.contains( this.element[ 0 ], itemElement ) : + true + ) + ) { + + this.direction = intersection === 1 ? "down" : "up"; + + if ( this.options.tolerance === "pointer" || this._intersectsWithSides( item ) ) { + this._rearrange( event, item ); + } else { + break; + } + + this._trigger( "change", event, this._uiHash() ); + break; + } + } + + //Post events to containers + this._contactContainers( event ); + + //Interconnect with droppables + if ( $.ui.ddmanager ) { + $.ui.ddmanager.drag( this, event ); + } + + //Call callbacks + this._trigger( "sort", event, this._uiHash() ); + + this.lastPositionAbs = this.positionAbs; + return false; + + }, + + _mouseStop: function( event, noPropagation ) { + + if ( !event ) { + return; + } + + //If we are using droppables, inform the manager about the drop + if ( $.ui.ddmanager && !this.options.dropBehaviour ) { + $.ui.ddmanager.drop( this, event ); + } + + if ( this.options.revert ) { + var that = this, + cur = this.placeholder.offset(), + axis = this.options.axis, + animation = {}; + + if ( !axis || axis === "x" ) { + animation.left = cur.left - this.offset.parent.left - this.margins.left + + ( this.offsetParent[ 0 ] === this.document[ 0 ].body ? + 0 : + this.offsetParent[ 0 ].scrollLeft + ); + } + if ( !axis || axis === "y" ) { + animation.top = cur.top - this.offset.parent.top - this.margins.top + + ( this.offsetParent[ 0 ] === this.document[ 0 ].body ? + 0 : + this.offsetParent[ 0 ].scrollTop + ); + } + this.reverting = true; + $( this.helper ).animate( + animation, + parseInt( this.options.revert, 10 ) || 500, + function() { + that._clear( event ); + } + ); + } else { + this._clear( event, noPropagation ); + } + + return false; + + }, + + cancel: function() { + + if ( this.dragging ) { + + this._mouseUp( new $.Event( "mouseup", { target: null } ) ); + + if ( this.options.helper === "original" ) { + this.currentItem.css( this._storedCSS ); + this._removeClass( this.currentItem, "ui-sortable-helper" ); + } else { + this.currentItem.show(); + } + + //Post deactivating events to containers + for ( var i = this.containers.length - 1; i >= 0; i-- ) { + this.containers[ i ]._trigger( "deactivate", null, this._uiHash( this ) ); + if ( this.containers[ i ].containerCache.over ) { + this.containers[ i ]._trigger( "out", null, this._uiHash( this ) ); + this.containers[ i ].containerCache.over = 0; + } + } + + } + + if ( this.placeholder ) { + + //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, + // it unbinds ALL events from the original node! + if ( this.placeholder[ 0 ].parentNode ) { + this.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] ); + } + if ( this.options.helper !== "original" && this.helper && + this.helper[ 0 ].parentNode ) { + this.helper.remove(); + } + + $.extend( this, { + helper: null, + dragging: false, + reverting: false, + _noFinalSort: null + } ); + + if ( this.domPosition.prev ) { + $( this.domPosition.prev ).after( this.currentItem ); + } else { + $( this.domPosition.parent ).prepend( this.currentItem ); + } + } + + return this; + + }, + + serialize: function( o ) { + + var items = this._getItemsAsjQuery( o && o.connected ), + str = []; + o = o || {}; + + $( items ).each( function() { + var res = ( $( o.item || this ).attr( o.attribute || "id" ) || "" ) + .match( o.expression || ( /(.+)[\-=_](.+)/ ) ); + if ( res ) { + str.push( + ( o.key || res[ 1 ] + "[]" ) + + "=" + ( o.key && o.expression ? res[ 1 ] : res[ 2 ] ) ); + } + } ); + + if ( !str.length && o.key ) { + str.push( o.key + "=" ); + } + + return str.join( "&" ); + + }, + + toArray: function( o ) { + + var items = this._getItemsAsjQuery( o && o.connected ), + ret = []; + + o = o || {}; + + items.each( function() { + ret.push( $( o.item || this ).attr( o.attribute || "id" ) || "" ); + } ); + return ret; + + }, + + /* Be careful with the following core functions */ + _intersectsWith: function( item ) { + + var x1 = this.positionAbs.left, + x2 = x1 + this.helperProportions.width, + y1 = this.positionAbs.top, + y2 = y1 + this.helperProportions.height, + l = item.left, + r = l + item.width, + t = item.top, + b = t + item.height, + dyClick = this.offset.click.top, + dxClick = this.offset.click.left, + isOverElementHeight = ( this.options.axis === "x" ) || ( ( y1 + dyClick ) > t && + ( y1 + dyClick ) < b ), + isOverElementWidth = ( this.options.axis === "y" ) || ( ( x1 + dxClick ) > l && + ( x1 + dxClick ) < r ), + isOverElement = isOverElementHeight && isOverElementWidth; + + if ( this.options.tolerance === "pointer" || + this.options.forcePointerForContainers || + ( this.options.tolerance !== "pointer" && + this.helperProportions[ this.floating ? "width" : "height" ] > + item[ this.floating ? "width" : "height" ] ) + ) { + return isOverElement; + } else { + + return ( l < x1 + ( this.helperProportions.width / 2 ) && // Right Half + x2 - ( this.helperProportions.width / 2 ) < r && // Left Half + t < y1 + ( this.helperProportions.height / 2 ) && // Bottom Half + y2 - ( this.helperProportions.height / 2 ) < b ); // Top Half + + } + }, + + _intersectsWithPointer: function( item ) { + var verticalDirection, horizontalDirection, + isOverElementHeight = ( this.options.axis === "x" ) || + this._isOverAxis( + this.positionAbs.top + this.offset.click.top, item.top, item.height ), + isOverElementWidth = ( this.options.axis === "y" ) || + this._isOverAxis( + this.positionAbs.left + this.offset.click.left, item.left, item.width ), + isOverElement = isOverElementHeight && isOverElementWidth; + + if ( !isOverElement ) { + return false; + } + + verticalDirection = this._getDragVerticalDirection(); + horizontalDirection = this._getDragHorizontalDirection(); + + return this.floating ? + ( ( horizontalDirection === "right" || verticalDirection === "down" ) ? 2 : 1 ) + : ( verticalDirection && ( verticalDirection === "down" ? 2 : 1 ) ); + + }, + + _intersectsWithSides: function( item ) { + + var isOverBottomHalf = this._isOverAxis( this.positionAbs.top + + this.offset.click.top, item.top + ( item.height / 2 ), item.height ), + isOverRightHalf = this._isOverAxis( this.positionAbs.left + + this.offset.click.left, item.left + ( item.width / 2 ), item.width ), + verticalDirection = this._getDragVerticalDirection(), + horizontalDirection = this._getDragHorizontalDirection(); + + if ( this.floating && horizontalDirection ) { + return ( ( horizontalDirection === "right" && isOverRightHalf ) || + ( horizontalDirection === "left" && !isOverRightHalf ) ); + } else { + return verticalDirection && ( ( verticalDirection === "down" && isOverBottomHalf ) || + ( verticalDirection === "up" && !isOverBottomHalf ) ); + } + + }, + + _getDragVerticalDirection: function() { + var delta = this.positionAbs.top - this.lastPositionAbs.top; + return delta !== 0 && ( delta > 0 ? "down" : "up" ); + }, + + _getDragHorizontalDirection: function() { + var delta = this.positionAbs.left - this.lastPositionAbs.left; + return delta !== 0 && ( delta > 0 ? "right" : "left" ); + }, + + refresh: function( event ) { + this._refreshItems( event ); + this._setHandleClassName(); + this.refreshPositions(); + return this; + }, + + _connectWith: function() { + var options = this.options; + return options.connectWith.constructor === String ? + [ options.connectWith ] : + options.connectWith; + }, + + _getItemsAsjQuery: function( connected ) { + + var i, j, cur, inst, + items = [], + queries = [], + connectWith = this._connectWith(); + + if ( connectWith && connected ) { + for ( i = connectWith.length - 1; i >= 0; i-- ) { + cur = $( connectWith[ i ], this.document[ 0 ] ); + for ( j = cur.length - 1; j >= 0; j-- ) { + inst = $.data( cur[ j ], this.widgetFullName ); + if ( inst && inst !== this && !inst.options.disabled ) { + queries.push( [ $.isFunction( inst.options.items ) ? + inst.options.items.call( inst.element ) : + $( inst.options.items, inst.element ) + .not( ".ui-sortable-helper" ) + .not( ".ui-sortable-placeholder" ), inst ] ); + } + } + } + } + + queries.push( [ $.isFunction( this.options.items ) ? + this.options.items + .call( this.element, null, { options: this.options, item: this.currentItem } ) : + $( this.options.items, this.element ) + .not( ".ui-sortable-helper" ) + .not( ".ui-sortable-placeholder" ), this ] ); + + function addItems() { + items.push( this ); + } + for ( i = queries.length - 1; i >= 0; i-- ) { + queries[ i ][ 0 ].each( addItems ); + } + + return $( items ); + + }, + + _removeCurrentsFromItems: function() { + + var list = this.currentItem.find( ":data(" + this.widgetName + "-item)" ); + + this.items = $.grep( this.items, function( item ) { + for ( var j = 0; j < list.length; j++ ) { + if ( list[ j ] === item.item[ 0 ] ) { + return false; + } + } + return true; + } ); + + }, + + _refreshItems: function( event ) { + + this.items = []; + this.containers = [ this ]; + + var i, j, cur, inst, targetData, _queries, item, queriesLength, + items = this.items, + queries = [ [ $.isFunction( this.options.items ) ? + this.options.items.call( this.element[ 0 ], event, { item: this.currentItem } ) : + $( this.options.items, this.element ), this ] ], + connectWith = this._connectWith(); + + //Shouldn't be run the first time through due to massive slow-down + if ( connectWith && this.ready ) { + for ( i = connectWith.length - 1; i >= 0; i-- ) { + cur = $( connectWith[ i ], this.document[ 0 ] ); + for ( j = cur.length - 1; j >= 0; j-- ) { + inst = $.data( cur[ j ], this.widgetFullName ); + if ( inst && inst !== this && !inst.options.disabled ) { + queries.push( [ $.isFunction( inst.options.items ) ? + inst.options.items + .call( inst.element[ 0 ], event, { item: this.currentItem } ) : + $( inst.options.items, inst.element ), inst ] ); + this.containers.push( inst ); + } + } + } + } + + for ( i = queries.length - 1; i >= 0; i-- ) { + targetData = queries[ i ][ 1 ]; + _queries = queries[ i ][ 0 ]; + + for ( j = 0, queriesLength = _queries.length; j < queriesLength; j++ ) { + item = $( _queries[ j ] ); + + // Data for target checking (mouse manager) + item.data( this.widgetName + "-item", targetData ); + + items.push( { + item: item, + instance: targetData, + width: 0, height: 0, + left: 0, top: 0 + } ); + } + } + + }, + + refreshPositions: function( fast ) { + + // Determine whether items are being displayed horizontally + this.floating = this.items.length ? + this.options.axis === "x" || this._isFloating( this.items[ 0 ].item ) : + false; + + //This has to be redone because due to the item being moved out/into the offsetParent, + // the offsetParent's position will change + if ( this.offsetParent && this.helper ) { + this.offset.parent = this._getParentOffset(); + } + + var i, item, t, p; + + for ( i = this.items.length - 1; i >= 0; i-- ) { + item = this.items[ i ]; + + //We ignore calculating positions of all connected containers when we're not over them + if ( item.instance !== this.currentContainer && this.currentContainer && + item.item[ 0 ] !== this.currentItem[ 0 ] ) { + continue; + } + + t = this.options.toleranceElement ? + $( this.options.toleranceElement, item.item ) : + item.item; + + if ( !fast ) { + item.width = t.outerWidth(); + item.height = t.outerHeight(); + } + + p = t.offset(); + item.left = p.left; + item.top = p.top; + } + + if ( this.options.custom && this.options.custom.refreshContainers ) { + this.options.custom.refreshContainers.call( this ); + } else { + for ( i = this.containers.length - 1; i >= 0; i-- ) { + p = this.containers[ i ].element.offset(); + this.containers[ i ].containerCache.left = p.left; + this.containers[ i ].containerCache.top = p.top; + this.containers[ i ].containerCache.width = + this.containers[ i ].element.outerWidth(); + this.containers[ i ].containerCache.height = + this.containers[ i ].element.outerHeight(); + } + } + + return this; + }, + + _createPlaceholder: function( that ) { + that = that || this; + var className, + o = that.options; + + if ( !o.placeholder || o.placeholder.constructor === String ) { + className = o.placeholder; + o.placeholder = { + element: function() { + + var nodeName = that.currentItem[ 0 ].nodeName.toLowerCase(), + element = $( "<" + nodeName + ">", that.document[ 0 ] ); + + that._addClass( element, "ui-sortable-placeholder", + className || that.currentItem[ 0 ].className ) + ._removeClass( element, "ui-sortable-helper" ); + + if ( nodeName === "tbody" ) { + that._createTrPlaceholder( + that.currentItem.find( "tr" ).eq( 0 ), + $( "<tr>", that.document[ 0 ] ).appendTo( element ) + ); + } else if ( nodeName === "tr" ) { + that._createTrPlaceholder( that.currentItem, element ); + } else if ( nodeName === "img" ) { + element.attr( "src", that.currentItem.attr( "src" ) ); + } + + if ( !className ) { + element.css( "visibility", "hidden" ); + } + + return element; + }, + update: function( container, p ) { + + // 1. If a className is set as 'placeholder option, we don't force sizes - + // the class is responsible for that + // 2. The option 'forcePlaceholderSize can be enabled to force it even if a + // class name is specified + if ( className && !o.forcePlaceholderSize ) { + return; + } + + //If the element doesn't have a actual height by itself (without styles coming + // from a stylesheet), it receives the inline height from the dragged item + if ( !p.height() ) { + p.height( + that.currentItem.innerHeight() - + parseInt( that.currentItem.css( "paddingTop" ) || 0, 10 ) - + parseInt( that.currentItem.css( "paddingBottom" ) || 0, 10 ) ); + } + if ( !p.width() ) { + p.width( + that.currentItem.innerWidth() - + parseInt( that.currentItem.css( "paddingLeft" ) || 0, 10 ) - + parseInt( that.currentItem.css( "paddingRight" ) || 0, 10 ) ); + } + } + }; + } + + //Create the placeholder + that.placeholder = $( o.placeholder.element.call( that.element, that.currentItem ) ); + + //Append it after the actual current item + that.currentItem.after( that.placeholder ); + + //Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317) + o.placeholder.update( that, that.placeholder ); + + }, + + _createTrPlaceholder: function( sourceTr, targetTr ) { + var that = this; + + sourceTr.children().each( function() { + $( "<td>&#160;</td>", that.document[ 0 ] ) + .attr( "colspan", $( this ).attr( "colspan" ) || 1 ) + .appendTo( targetTr ); + } ); + }, + + _contactContainers: function( event ) { + var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom, + floating, axis, + innermostContainer = null, + innermostIndex = null; + + // Get innermost container that intersects with item + for ( i = this.containers.length - 1; i >= 0; i-- ) { + + // Never consider a container that's located within the item itself + if ( $.contains( this.currentItem[ 0 ], this.containers[ i ].element[ 0 ] ) ) { + continue; + } + + if ( this._intersectsWith( this.containers[ i ].containerCache ) ) { + + // If we've already found a container and it's more "inner" than this, then continue + if ( innermostContainer && + $.contains( + this.containers[ i ].element[ 0 ], + innermostContainer.element[ 0 ] ) ) { + continue; + } + + innermostContainer = this.containers[ i ]; + innermostIndex = i; + + } else { + + // container doesn't intersect. trigger "out" event if necessary + if ( this.containers[ i ].containerCache.over ) { + this.containers[ i ]._trigger( "out", event, this._uiHash( this ) ); + this.containers[ i ].containerCache.over = 0; + } + } + + } + + // If no intersecting containers found, return + if ( !innermostContainer ) { + return; + } + + // Move the item into the container if it's not there already + if ( this.containers.length === 1 ) { + if ( !this.containers[ innermostIndex ].containerCache.over ) { + this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash( this ) ); + this.containers[ innermostIndex ].containerCache.over = 1; + } + } else { + + // When entering a new container, we will find the item with the least distance and + // append our item near it + dist = 10000; + itemWithLeastDistance = null; + floating = innermostContainer.floating || this._isFloating( this.currentItem ); + posProperty = floating ? "left" : "top"; + sizeProperty = floating ? "width" : "height"; + axis = floating ? "pageX" : "pageY"; + + for ( j = this.items.length - 1; j >= 0; j-- ) { + if ( !$.contains( + this.containers[ innermostIndex ].element[ 0 ], this.items[ j ].item[ 0 ] ) + ) { + continue; + } + if ( this.items[ j ].item[ 0 ] === this.currentItem[ 0 ] ) { + continue; + } + + cur = this.items[ j ].item.offset()[ posProperty ]; + nearBottom = false; + if ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ) { + nearBottom = true; + } + + if ( Math.abs( event[ axis ] - cur ) < dist ) { + dist = Math.abs( event[ axis ] - cur ); + itemWithLeastDistance = this.items[ j ]; + this.direction = nearBottom ? "up" : "down"; + } + } + + //Check if dropOnEmpty is enabled + if ( !itemWithLeastDistance && !this.options.dropOnEmpty ) { + return; + } + + if ( this.currentContainer === this.containers[ innermostIndex ] ) { + if ( !this.currentContainer.containerCache.over ) { + this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash() ); + this.currentContainer.containerCache.over = 1; + } + return; + } + + itemWithLeastDistance ? + this._rearrange( event, itemWithLeastDistance, null, true ) : + this._rearrange( event, null, this.containers[ innermostIndex ].element, true ); + this._trigger( "change", event, this._uiHash() ); + this.containers[ innermostIndex ]._trigger( "change", event, this._uiHash( this ) ); + this.currentContainer = this.containers[ innermostIndex ]; + + //Update the placeholder + this.options.placeholder.update( this.currentContainer, this.placeholder ); + + this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash( this ) ); + this.containers[ innermostIndex ].containerCache.over = 1; + } + + }, + + _createHelper: function( event ) { + + var o = this.options, + helper = $.isFunction( o.helper ) ? + $( o.helper.apply( this.element[ 0 ], [ event, this.currentItem ] ) ) : + ( o.helper === "clone" ? this.currentItem.clone() : this.currentItem ); + + //Add the helper to the DOM if that didn't happen already + if ( !helper.parents( "body" ).length ) { + $( o.appendTo !== "parent" ? + o.appendTo : + this.currentItem[ 0 ].parentNode )[ 0 ].appendChild( helper[ 0 ] ); + } + + if ( helper[ 0 ] === this.currentItem[ 0 ] ) { + this._storedCSS = { + width: this.currentItem[ 0 ].style.width, + height: this.currentItem[ 0 ].style.height, + position: this.currentItem.css( "position" ), + top: this.currentItem.css( "top" ), + left: this.currentItem.css( "left" ) + }; + } + + if ( !helper[ 0 ].style.width || o.forceHelperSize ) { + helper.width( this.currentItem.width() ); + } + if ( !helper[ 0 ].style.height || o.forceHelperSize ) { + helper.height( this.currentItem.height() ); + } + + return helper; + + }, + + _adjustOffsetFromHelper: function( obj ) { + if ( typeof obj === "string" ) { + obj = obj.split( " " ); + } + if ( $.isArray( obj ) ) { + obj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 }; + } + if ( "left" in obj ) { + this.offset.click.left = obj.left + this.margins.left; + } + if ( "right" in obj ) { + this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; + } + if ( "top" in obj ) { + this.offset.click.top = obj.top + this.margins.top; + } + if ( "bottom" in obj ) { + this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; + } + }, + + _getParentOffset: function() { + + //Get the offsetParent and cache its position + this.offsetParent = this.helper.offsetParent(); + var po = this.offsetParent.offset(); + + // This is a special case where we need to modify a offset calculated on start, since the + // following happened: + // 1. The position of the helper is absolute, so it's position is calculated based on the + // next positioned parent + // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't + // the document, which means that the scroll is included in the initial calculation of the + // offset of the parent, and never recalculated upon drag + if ( this.cssPosition === "absolute" && this.scrollParent[ 0 ] !== this.document[ 0 ] && + $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) { + po.left += this.scrollParent.scrollLeft(); + po.top += this.scrollParent.scrollTop(); + } + + // This needs to be actually done for all browsers, since pageX/pageY includes this + // information with an ugly IE fix + if ( this.offsetParent[ 0 ] === this.document[ 0 ].body || + ( this.offsetParent[ 0 ].tagName && + this.offsetParent[ 0 ].tagName.toLowerCase() === "html" && $.ui.ie ) ) { + po = { top: 0, left: 0 }; + } + + return { + top: po.top + ( parseInt( this.offsetParent.css( "borderTopWidth" ), 10 ) || 0 ), + left: po.left + ( parseInt( this.offsetParent.css( "borderLeftWidth" ), 10 ) || 0 ) + }; + + }, + + _getRelativeOffset: function() { + + if ( this.cssPosition === "relative" ) { + var p = this.currentItem.position(); + return { + top: p.top - ( parseInt( this.helper.css( "top" ), 10 ) || 0 ) + + this.scrollParent.scrollTop(), + left: p.left - ( parseInt( this.helper.css( "left" ), 10 ) || 0 ) + + this.scrollParent.scrollLeft() + }; + } else { + return { top: 0, left: 0 }; + } + + }, + + _cacheMargins: function() { + this.margins = { + left: ( parseInt( this.currentItem.css( "marginLeft" ), 10 ) || 0 ), + top: ( parseInt( this.currentItem.css( "marginTop" ), 10 ) || 0 ) + }; + }, + + _cacheHelperProportions: function() { + this.helperProportions = { + width: this.helper.outerWidth(), + height: this.helper.outerHeight() + }; + }, + + _setContainment: function() { + + var ce, co, over, + o = this.options; + if ( o.containment === "parent" ) { + o.containment = this.helper[ 0 ].parentNode; + } + if ( o.containment === "document" || o.containment === "window" ) { + this.containment = [ + 0 - this.offset.relative.left - this.offset.parent.left, + 0 - this.offset.relative.top - this.offset.parent.top, + o.containment === "document" ? + this.document.width() : + this.window.width() - this.helperProportions.width - this.margins.left, + ( o.containment === "document" ? + ( this.document.height() || document.body.parentNode.scrollHeight ) : + this.window.height() || this.document[ 0 ].body.parentNode.scrollHeight + ) - this.helperProportions.height - this.margins.top + ]; + } + + if ( !( /^(document|window|parent)$/ ).test( o.containment ) ) { + ce = $( o.containment )[ 0 ]; + co = $( o.containment ).offset(); + over = ( $( ce ).css( "overflow" ) !== "hidden" ); + + this.containment = [ + co.left + ( parseInt( $( ce ).css( "borderLeftWidth" ), 10 ) || 0 ) + + ( parseInt( $( ce ).css( "paddingLeft" ), 10 ) || 0 ) - this.margins.left, + co.top + ( parseInt( $( ce ).css( "borderTopWidth" ), 10 ) || 0 ) + + ( parseInt( $( ce ).css( "paddingTop" ), 10 ) || 0 ) - this.margins.top, + co.left + ( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - + ( parseInt( $( ce ).css( "borderLeftWidth" ), 10 ) || 0 ) - + ( parseInt( $( ce ).css( "paddingRight" ), 10 ) || 0 ) - + this.helperProportions.width - this.margins.left, + co.top + ( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - + ( parseInt( $( ce ).css( "borderTopWidth" ), 10 ) || 0 ) - + ( parseInt( $( ce ).css( "paddingBottom" ), 10 ) || 0 ) - + this.helperProportions.height - this.margins.top + ]; + } + + }, + + _convertPositionTo: function( d, pos ) { + + if ( !pos ) { + pos = this.position; + } + var mod = d === "absolute" ? 1 : -1, + scroll = this.cssPosition === "absolute" && + !( this.scrollParent[ 0 ] !== this.document[ 0 ] && + $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? + this.offsetParent : + this.scrollParent, + scrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName ); + + return { + top: ( + + // The absolute mouse position + pos.top + + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.top * mod + + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.top * mod - + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollTop() : + ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod ) + ), + left: ( + + // The absolute mouse position + pos.left + + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.left * mod + + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.left * mod - + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : + scroll.scrollLeft() ) * mod ) + ) + }; + + }, + + _generatePosition: function( event ) { + + var top, left, + o = this.options, + pageX = event.pageX, + pageY = event.pageY, + scroll = this.cssPosition === "absolute" && + !( this.scrollParent[ 0 ] !== this.document[ 0 ] && + $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? + this.offsetParent : + this.scrollParent, + scrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName ); + + // This is another very weird special case that only happens for relative elements: + // 1. If the css position is relative + // 2. and the scroll parent is the document or similar to the offset parent + // we have to refresh the relative offset during the scroll so there are no jumps + if ( this.cssPosition === "relative" && !( this.scrollParent[ 0 ] !== this.document[ 0 ] && + this.scrollParent[ 0 ] !== this.offsetParent[ 0 ] ) ) { + this.offset.relative = this._getRelativeOffset(); + } + + /* + * - Position constraining - + * Constrain the position to a mix of grid, containment. + */ + + if ( this.originalPosition ) { //If we are not dragging yet, we won't check for options + + if ( this.containment ) { + if ( event.pageX - this.offset.click.left < this.containment[ 0 ] ) { + pageX = this.containment[ 0 ] + this.offset.click.left; + } + if ( event.pageY - this.offset.click.top < this.containment[ 1 ] ) { + pageY = this.containment[ 1 ] + this.offset.click.top; + } + if ( event.pageX - this.offset.click.left > this.containment[ 2 ] ) { + pageX = this.containment[ 2 ] + this.offset.click.left; + } + if ( event.pageY - this.offset.click.top > this.containment[ 3 ] ) { + pageY = this.containment[ 3 ] + this.offset.click.top; + } + } + + if ( o.grid ) { + top = this.originalPageY + Math.round( ( pageY - this.originalPageY ) / + o.grid[ 1 ] ) * o.grid[ 1 ]; + pageY = this.containment ? + ( ( top - this.offset.click.top >= this.containment[ 1 ] && + top - this.offset.click.top <= this.containment[ 3 ] ) ? + top : + ( ( top - this.offset.click.top >= this.containment[ 1 ] ) ? + top - o.grid[ 1 ] : top + o.grid[ 1 ] ) ) : + top; + + left = this.originalPageX + Math.round( ( pageX - this.originalPageX ) / + o.grid[ 0 ] ) * o.grid[ 0 ]; + pageX = this.containment ? + ( ( left - this.offset.click.left >= this.containment[ 0 ] && + left - this.offset.click.left <= this.containment[ 2 ] ) ? + left : + ( ( left - this.offset.click.left >= this.containment[ 0 ] ) ? + left - o.grid[ 0 ] : left + o.grid[ 0 ] ) ) : + left; + } + + } + + return { + top: ( + + // The absolute mouse position + pageY - + + // Click offset (relative to the element) + this.offset.click.top - + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.top - + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.top + + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollTop() : + ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) ) + ), + left: ( + + // The absolute mouse position + pageX - + + // Click offset (relative to the element) + this.offset.click.left - + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.left - + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.left + + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollLeft() : + scrollIsRootNode ? 0 : scroll.scrollLeft() ) ) + ) + }; + + }, + + _rearrange: function( event, i, a, hardRefresh ) { + + a ? a[ 0 ].appendChild( this.placeholder[ 0 ] ) : + i.item[ 0 ].parentNode.insertBefore( this.placeholder[ 0 ], + ( this.direction === "down" ? i.item[ 0 ] : i.item[ 0 ].nextSibling ) ); + + //Various things done here to improve the performance: + // 1. we create a setTimeout, that calls refreshPositions + // 2. on the instance, we have a counter variable, that get's higher after every append + // 3. on the local scope, we copy the counter variable, and check in the timeout, + // if it's still the same + // 4. this lets only the last addition to the timeout stack through + this.counter = this.counter ? ++this.counter : 1; + var counter = this.counter; + + this._delay( function() { + if ( counter === this.counter ) { + + //Precompute after each DOM insertion, NOT on mousemove + this.refreshPositions( !hardRefresh ); + } + } ); + + }, + + _clear: function( event, noPropagation ) { + + this.reverting = false; + + // We delay all events that have to be triggered to after the point where the placeholder + // has been removed and everything else normalized again + var i, + delayedTriggers = []; + + // We first have to update the dom position of the actual currentItem + // Note: don't do it if the current item is already removed (by a user), or it gets + // reappended (see #4088) + if ( !this._noFinalSort && this.currentItem.parent().length ) { + this.placeholder.before( this.currentItem ); + } + this._noFinalSort = null; + + if ( this.helper[ 0 ] === this.currentItem[ 0 ] ) { + for ( i in this._storedCSS ) { + if ( this._storedCSS[ i ] === "auto" || this._storedCSS[ i ] === "static" ) { + this._storedCSS[ i ] = ""; + } + } + this.currentItem.css( this._storedCSS ); + this._removeClass( this.currentItem, "ui-sortable-helper" ); + } else { + this.currentItem.show(); + } + + if ( this.fromOutside && !noPropagation ) { + delayedTriggers.push( function( event ) { + this._trigger( "receive", event, this._uiHash( this.fromOutside ) ); + } ); + } + if ( ( this.fromOutside || + this.domPosition.prev !== + this.currentItem.prev().not( ".ui-sortable-helper" )[ 0 ] || + this.domPosition.parent !== this.currentItem.parent()[ 0 ] ) && !noPropagation ) { + + // Trigger update callback if the DOM position has changed + delayedTriggers.push( function( event ) { + this._trigger( "update", event, this._uiHash() ); + } ); + } + + // Check if the items Container has Changed and trigger appropriate + // events. + if ( this !== this.currentContainer ) { + if ( !noPropagation ) { + delayedTriggers.push( function( event ) { + this._trigger( "remove", event, this._uiHash() ); + } ); + delayedTriggers.push( ( function( c ) { + return function( event ) { + c._trigger( "receive", event, this._uiHash( this ) ); + }; + } ).call( this, this.currentContainer ) ); + delayedTriggers.push( ( function( c ) { + return function( event ) { + c._trigger( "update", event, this._uiHash( this ) ); + }; + } ).call( this, this.currentContainer ) ); + } + } + + //Post events to containers + function delayEvent( type, instance, container ) { + return function( event ) { + container._trigger( type, event, instance._uiHash( instance ) ); + }; + } + for ( i = this.containers.length - 1; i >= 0; i-- ) { + if ( !noPropagation ) { + delayedTriggers.push( delayEvent( "deactivate", this, this.containers[ i ] ) ); + } + if ( this.containers[ i ].containerCache.over ) { + delayedTriggers.push( delayEvent( "out", this, this.containers[ i ] ) ); + this.containers[ i ].containerCache.over = 0; + } + } + + //Do what was originally in plugins + if ( this.storedCursor ) { + this.document.find( "body" ).css( "cursor", this.storedCursor ); + this.storedStylesheet.remove(); + } + if ( this._storedOpacity ) { + this.helper.css( "opacity", this._storedOpacity ); + } + if ( this._storedZIndex ) { + this.helper.css( "zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex ); + } + + this.dragging = false; + + if ( !noPropagation ) { + this._trigger( "beforeStop", event, this._uiHash() ); + } + + //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, + // it unbinds ALL events from the original node! + this.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] ); + + if ( !this.cancelHelperRemoval ) { + if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) { + this.helper.remove(); + } + this.helper = null; + } + + if ( !noPropagation ) { + for ( i = 0; i < delayedTriggers.length; i++ ) { + + // Trigger all delayed events + delayedTriggers[ i ].call( this, event ); + } + this._trigger( "stop", event, this._uiHash() ); + } + + this.fromOutside = false; + return !this.cancelHelperRemoval; + + }, + + _trigger: function() { + if ( $.Widget.prototype._trigger.apply( this, arguments ) === false ) { + this.cancel(); + } + }, + + _uiHash: function( _inst ) { + var inst = _inst || this; + return { + helper: inst.helper, + placeholder: inst.placeholder || $( [] ), + position: inst.position, + originalPosition: inst.originalPosition, + offset: inst.positionAbs, + item: inst.currentItem, + sender: _inst ? _inst.element : null + }; + } + +} ); + + +/*! + * jQuery UI Spinner 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Spinner +//>>group: Widgets +//>>description: Displays buttons to easily input numbers via the keyboard or mouse. +//>>docs: http://api.jqueryui.com/spinner/ +//>>demos: http://jqueryui.com/spinner/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/spinner.css +//>>css.theme: ../../themes/base/theme.css + + + +function spinnerModifer( fn ) { + return function() { + var previous = this.element.val(); + fn.apply( this, arguments ); + this._refresh(); + if ( previous !== this.element.val() ) { + this._trigger( "change" ); + } + }; +} + +$.widget( "ui.spinner", { + version: "1.12.1", + defaultElement: "<input>", + widgetEventPrefix: "spin", + options: { + classes: { + "ui-spinner": "ui-corner-all", + "ui-spinner-down": "ui-corner-br", + "ui-spinner-up": "ui-corner-tr" + }, + culture: null, + icons: { + down: "ui-icon-triangle-1-s", + up: "ui-icon-triangle-1-n" + }, + incremental: true, + max: null, + min: null, + numberFormat: null, + page: 10, + step: 1, + + change: null, + spin: null, + start: null, + stop: null + }, + + _create: function() { + + // handle string values that need to be parsed + this._setOption( "max", this.options.max ); + this._setOption( "min", this.options.min ); + this._setOption( "step", this.options.step ); + + // Only format if there is a value, prevents the field from being marked + // as invalid in Firefox, see #9573. + if ( this.value() !== "" ) { + + // Format the value, but don't constrain. + this._value( this.element.val(), true ); + } + + this._draw(); + this._on( this._events ); + this._refresh(); + + // Turning off autocomplete prevents the browser from remembering the + // value when navigating through history, so we re-enable autocomplete + // if the page is unloaded before the widget is destroyed. #7790 + this._on( this.window, { + beforeunload: function() { + this.element.removeAttr( "autocomplete" ); + } + } ); + }, + + _getCreateOptions: function() { + var options = this._super(); + var element = this.element; + + $.each( [ "min", "max", "step" ], function( i, option ) { + var value = element.attr( option ); + if ( value != null && value.length ) { + options[ option ] = value; + } + } ); + + return options; + }, + + _events: { + keydown: function( event ) { + if ( this._start( event ) && this._keydown( event ) ) { + event.preventDefault(); + } + }, + keyup: "_stop", + focus: function() { + this.previous = this.element.val(); + }, + blur: function( event ) { + if ( this.cancelBlur ) { + delete this.cancelBlur; + return; + } + + this._stop(); + this._refresh(); + if ( this.previous !== this.element.val() ) { + this._trigger( "change", event ); + } + }, + mousewheel: function( event, delta ) { + if ( !delta ) { + return; + } + if ( !this.spinning && !this._start( event ) ) { + return false; + } + + this._spin( ( delta > 0 ? 1 : -1 ) * this.options.step, event ); + clearTimeout( this.mousewheelTimer ); + this.mousewheelTimer = this._delay( function() { + if ( this.spinning ) { + this._stop( event ); + } + }, 100 ); + event.preventDefault(); + }, + "mousedown .ui-spinner-button": function( event ) { + var previous; + + // We never want the buttons to have focus; whenever the user is + // interacting with the spinner, the focus should be on the input. + // If the input is focused then this.previous is properly set from + // when the input first received focus. If the input is not focused + // then we need to set this.previous based on the value before spinning. + previous = this.element[ 0 ] === $.ui.safeActiveElement( this.document[ 0 ] ) ? + this.previous : this.element.val(); + function checkFocus() { + var isActive = this.element[ 0 ] === $.ui.safeActiveElement( this.document[ 0 ] ); + if ( !isActive ) { + this.element.trigger( "focus" ); + this.previous = previous; + + // support: IE + // IE sets focus asynchronously, so we need to check if focus + // moved off of the input because the user clicked on the button. + this._delay( function() { + this.previous = previous; + } ); + } + } + + // Ensure focus is on (or stays on) the text field + event.preventDefault(); + checkFocus.call( this ); + + // Support: IE + // IE doesn't prevent moving focus even with event.preventDefault() + // so we set a flag to know when we should ignore the blur event + // and check (again) if focus moved off of the input. + this.cancelBlur = true; + this._delay( function() { + delete this.cancelBlur; + checkFocus.call( this ); + } ); + + if ( this._start( event ) === false ) { + return; + } + + this._repeat( null, $( event.currentTarget ) + .hasClass( "ui-spinner-up" ) ? 1 : -1, event ); + }, + "mouseup .ui-spinner-button": "_stop", + "mouseenter .ui-spinner-button": function( event ) { + + // button will add ui-state-active if mouse was down while mouseleave and kept down + if ( !$( event.currentTarget ).hasClass( "ui-state-active" ) ) { + return; + } + + if ( this._start( event ) === false ) { + return false; + } + this._repeat( null, $( event.currentTarget ) + .hasClass( "ui-spinner-up" ) ? 1 : -1, event ); + }, + + // TODO: do we really want to consider this a stop? + // shouldn't we just stop the repeater and wait until mouseup before + // we trigger the stop event? + "mouseleave .ui-spinner-button": "_stop" + }, + + // Support mobile enhanced option and make backcompat more sane + _enhance: function() { + this.uiSpinner = this.element + .attr( "autocomplete", "off" ) + .wrap( "<span>" ) + .parent() + + // Add buttons + .append( + "<a></a><a></a>" + ); + }, + + _draw: function() { + this._enhance(); + + this._addClass( this.uiSpinner, "ui-spinner", "ui-widget ui-widget-content" ); + this._addClass( "ui-spinner-input" ); + + this.element.attr( "role", "spinbutton" ); + + // Button bindings + this.buttons = this.uiSpinner.children( "a" ) + .attr( "tabIndex", -1 ) + .attr( "aria-hidden", true ) + .button( { + classes: { + "ui-button": "" + } + } ); + + // TODO: Right now button does not support classes this is already updated in button PR + this._removeClass( this.buttons, "ui-corner-all" ); + + this._addClass( this.buttons.first(), "ui-spinner-button ui-spinner-up" ); + this._addClass( this.buttons.last(), "ui-spinner-button ui-spinner-down" ); + this.buttons.first().button( { + "icon": this.options.icons.up, + "showLabel": false + } ); + this.buttons.last().button( { + "icon": this.options.icons.down, + "showLabel": false + } ); + + // IE 6 doesn't understand height: 50% for the buttons + // unless the wrapper has an explicit height + if ( this.buttons.height() > Math.ceil( this.uiSpinner.height() * 0.5 ) && + this.uiSpinner.height() > 0 ) { + this.uiSpinner.height( this.uiSpinner.height() ); + } + }, + + _keydown: function( event ) { + var options = this.options, + keyCode = $.ui.keyCode; + + switch ( event.keyCode ) { + case keyCode.UP: + this._repeat( null, 1, event ); + return true; + case keyCode.DOWN: + this._repeat( null, -1, event ); + return true; + case keyCode.PAGE_UP: + this._repeat( null, options.page, event ); + return true; + case keyCode.PAGE_DOWN: + this._repeat( null, -options.page, event ); + return true; + } + + return false; + }, + + _start: function( event ) { + if ( !this.spinning && this._trigger( "start", event ) === false ) { + return false; + } + + if ( !this.counter ) { + this.counter = 1; + } + this.spinning = true; + return true; + }, + + _repeat: function( i, steps, event ) { + i = i || 500; + + clearTimeout( this.timer ); + this.timer = this._delay( function() { + this._repeat( 40, steps, event ); + }, i ); + + this._spin( steps * this.options.step, event ); + }, + + _spin: function( step, event ) { + var value = this.value() || 0; + + if ( !this.counter ) { + this.counter = 1; + } + + value = this._adjustValue( value + step * this._increment( this.counter ) ); + + if ( !this.spinning || this._trigger( "spin", event, { value: value } ) !== false ) { + this._value( value ); + this.counter++; + } + }, + + _increment: function( i ) { + var incremental = this.options.incremental; + + if ( incremental ) { + return $.isFunction( incremental ) ? + incremental( i ) : + Math.floor( i * i * i / 50000 - i * i / 500 + 17 * i / 200 + 1 ); + } + + return 1; + }, + + _precision: function() { + var precision = this._precisionOf( this.options.step ); + if ( this.options.min !== null ) { + precision = Math.max( precision, this._precisionOf( this.options.min ) ); + } + return precision; + }, + + _precisionOf: function( num ) { + var str = num.toString(), + decimal = str.indexOf( "." ); + return decimal === -1 ? 0 : str.length - decimal - 1; + }, + + _adjustValue: function( value ) { + var base, aboveMin, + options = this.options; + + // Make sure we're at a valid step + // - find out where we are relative to the base (min or 0) + base = options.min !== null ? options.min : 0; + aboveMin = value - base; + + // - round to the nearest step + aboveMin = Math.round( aboveMin / options.step ) * options.step; + + // - rounding is based on 0, so adjust back to our base + value = base + aboveMin; + + // Fix precision from bad JS floating point math + value = parseFloat( value.toFixed( this._precision() ) ); + + // Clamp the value + if ( options.max !== null && value > options.max ) { + return options.max; + } + if ( options.min !== null && value < options.min ) { + return options.min; + } + + return value; + }, + + _stop: function( event ) { + if ( !this.spinning ) { + return; + } + + clearTimeout( this.timer ); + clearTimeout( this.mousewheelTimer ); + this.counter = 0; + this.spinning = false; + this._trigger( "stop", event ); + }, + + _setOption: function( key, value ) { + var prevValue, first, last; + + if ( key === "culture" || key === "numberFormat" ) { + prevValue = this._parse( this.element.val() ); + this.options[ key ] = value; + this.element.val( this._format( prevValue ) ); + return; + } + + if ( key === "max" || key === "min" || key === "step" ) { + if ( typeof value === "string" ) { + value = this._parse( value ); + } + } + if ( key === "icons" ) { + first = this.buttons.first().find( ".ui-icon" ); + this._removeClass( first, null, this.options.icons.up ); + this._addClass( first, null, value.up ); + last = this.buttons.last().find( ".ui-icon" ); + this._removeClass( last, null, this.options.icons.down ); + this._addClass( last, null, value.down ); + } + + this._super( key, value ); + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this._toggleClass( this.uiSpinner, null, "ui-state-disabled", !!value ); + this.element.prop( "disabled", !!value ); + this.buttons.button( value ? "disable" : "enable" ); + }, + + _setOptions: spinnerModifer( function( options ) { + this._super( options ); + } ), + + _parse: function( val ) { + if ( typeof val === "string" && val !== "" ) { + val = window.Globalize && this.options.numberFormat ? + Globalize.parseFloat( val, 10, this.options.culture ) : +val; + } + return val === "" || isNaN( val ) ? null : val; + }, + + _format: function( value ) { + if ( value === "" ) { + return ""; + } + return window.Globalize && this.options.numberFormat ? + Globalize.format( value, this.options.numberFormat, this.options.culture ) : + value; + }, + + _refresh: function() { + this.element.attr( { + "aria-valuemin": this.options.min, + "aria-valuemax": this.options.max, + + // TODO: what should we do with values that can't be parsed? + "aria-valuenow": this._parse( this.element.val() ) + } ); + }, + + isValid: function() { + var value = this.value(); + + // Null is invalid + if ( value === null ) { + return false; + } + + // If value gets adjusted, it's invalid + return value === this._adjustValue( value ); + }, + + // Update the value without triggering change + _value: function( value, allowAny ) { + var parsed; + if ( value !== "" ) { + parsed = this._parse( value ); + if ( parsed !== null ) { + if ( !allowAny ) { + parsed = this._adjustValue( parsed ); + } + value = this._format( parsed ); + } + } + this.element.val( value ); + this._refresh(); + }, + + _destroy: function() { + this.element + .prop( "disabled", false ) + .removeAttr( "autocomplete role aria-valuemin aria-valuemax aria-valuenow" ); + + this.uiSpinner.replaceWith( this.element ); + }, + + stepUp: spinnerModifer( function( steps ) { + this._stepUp( steps ); + } ), + _stepUp: function( steps ) { + if ( this._start() ) { + this._spin( ( steps || 1 ) * this.options.step ); + this._stop(); + } + }, + + stepDown: spinnerModifer( function( steps ) { + this._stepDown( steps ); + } ), + _stepDown: function( steps ) { + if ( this._start() ) { + this._spin( ( steps || 1 ) * -this.options.step ); + this._stop(); + } + }, + + pageUp: spinnerModifer( function( pages ) { + this._stepUp( ( pages || 1 ) * this.options.page ); + } ), + + pageDown: spinnerModifer( function( pages ) { + this._stepDown( ( pages || 1 ) * this.options.page ); + } ), + + value: function( newVal ) { + if ( !arguments.length ) { + return this._parse( this.element.val() ); + } + spinnerModifer( this._value ).call( this, newVal ); + }, + + widget: function() { + return this.uiSpinner; + } +} ); + +// DEPRECATED +// TODO: switch return back to widget declaration at top of file when this is removed +if ( $.uiBackCompat !== false ) { + + // Backcompat for spinner html extension points + $.widget( "ui.spinner", $.ui.spinner, { + _enhance: function() { + this.uiSpinner = this.element + .attr( "autocomplete", "off" ) + .wrap( this._uiSpinnerHtml() ) + .parent() + + // Add buttons + .append( this._buttonHtml() ); + }, + _uiSpinnerHtml: function() { + return "<span>"; + }, + + _buttonHtml: function() { + return "<a></a><a></a>"; + } + } ); +} + +var widgetsSpinner = $.ui.spinner; + + +/*! + * jQuery UI Tabs 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Tabs +//>>group: Widgets +//>>description: Transforms a set of container elements into a tab structure. +//>>docs: http://api.jqueryui.com/tabs/ +//>>demos: http://jqueryui.com/tabs/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/tabs.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.tabs", { + version: "1.12.1", + delay: 300, + options: { + active: null, + classes: { + "ui-tabs": "ui-corner-all", + "ui-tabs-nav": "ui-corner-all", + "ui-tabs-panel": "ui-corner-bottom", + "ui-tabs-tab": "ui-corner-top" + }, + collapsible: false, + event: "click", + heightStyle: "content", + hide: null, + show: null, + + // Callbacks + activate: null, + beforeActivate: null, + beforeLoad: null, + load: null + }, + + _isLocal: ( function() { + var rhash = /#.*$/; + + return function( anchor ) { + var anchorUrl, locationUrl; + + anchorUrl = anchor.href.replace( rhash, "" ); + locationUrl = location.href.replace( rhash, "" ); + + // Decoding may throw an error if the URL isn't UTF-8 (#9518) + try { + anchorUrl = decodeURIComponent( anchorUrl ); + } catch ( error ) {} + try { + locationUrl = decodeURIComponent( locationUrl ); + } catch ( error ) {} + + return anchor.hash.length > 1 && anchorUrl === locationUrl; + }; + } )(), + + _create: function() { + var that = this, + options = this.options; + + this.running = false; + + this._addClass( "ui-tabs", "ui-widget ui-widget-content" ); + this._toggleClass( "ui-tabs-collapsible", null, options.collapsible ); + + this._processTabs(); + options.active = this._initialActive(); + + // Take disabling tabs via class attribute from HTML + // into account and update option properly. + if ( $.isArray( options.disabled ) ) { + options.disabled = $.unique( options.disabled.concat( + $.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) { + return that.tabs.index( li ); + } ) + ) ).sort(); + } + + // Check for length avoids error when initializing empty list + if ( this.options.active !== false && this.anchors.length ) { + this.active = this._findActive( options.active ); + } else { + this.active = $(); + } + + this._refresh(); + + if ( this.active.length ) { + this.load( options.active ); + } + }, + + _initialActive: function() { + var active = this.options.active, + collapsible = this.options.collapsible, + locationHash = location.hash.substring( 1 ); + + if ( active === null ) { + + // check the fragment identifier in the URL + if ( locationHash ) { + this.tabs.each( function( i, tab ) { + if ( $( tab ).attr( "aria-controls" ) === locationHash ) { + active = i; + return false; + } + } ); + } + + // Check for a tab marked active via a class + if ( active === null ) { + active = this.tabs.index( this.tabs.filter( ".ui-tabs-active" ) ); + } + + // No active tab, set to false + if ( active === null || active === -1 ) { + active = this.tabs.length ? 0 : false; + } + } + + // Handle numbers: negative, out of range + if ( active !== false ) { + active = this.tabs.index( this.tabs.eq( active ) ); + if ( active === -1 ) { + active = collapsible ? false : 0; + } + } + + // Don't allow collapsible: false and active: false + if ( !collapsible && active === false && this.anchors.length ) { + active = 0; + } + + return active; + }, + + _getCreateEventData: function() { + return { + tab: this.active, + panel: !this.active.length ? $() : this._getPanelForTab( this.active ) + }; + }, + + _tabKeydown: function( event ) { + var focusedTab = $( $.ui.safeActiveElement( this.document[ 0 ] ) ).closest( "li" ), + selectedIndex = this.tabs.index( focusedTab ), + goingForward = true; + + if ( this._handlePageNav( event ) ) { + return; + } + + switch ( event.keyCode ) { + case $.ui.keyCode.RIGHT: + case $.ui.keyCode.DOWN: + selectedIndex++; + break; + case $.ui.keyCode.UP: + case $.ui.keyCode.LEFT: + goingForward = false; + selectedIndex--; + break; + case $.ui.keyCode.END: + selectedIndex = this.anchors.length - 1; + break; + case $.ui.keyCode.HOME: + selectedIndex = 0; + break; + case $.ui.keyCode.SPACE: + + // Activate only, no collapsing + event.preventDefault(); + clearTimeout( this.activating ); + this._activate( selectedIndex ); + return; + case $.ui.keyCode.ENTER: + + // Toggle (cancel delayed activation, allow collapsing) + event.preventDefault(); + clearTimeout( this.activating ); + + // Determine if we should collapse or activate + this._activate( selectedIndex === this.options.active ? false : selectedIndex ); + return; + default: + return; + } + + // Focus the appropriate tab, based on which key was pressed + event.preventDefault(); + clearTimeout( this.activating ); + selectedIndex = this._focusNextTab( selectedIndex, goingForward ); + + // Navigating with control/command key will prevent automatic activation + if ( !event.ctrlKey && !event.metaKey ) { + + // Update aria-selected immediately so that AT think the tab is already selected. + // Otherwise AT may confuse the user by stating that they need to activate the tab, + // but the tab will already be activated by the time the announcement finishes. + focusedTab.attr( "aria-selected", "false" ); + this.tabs.eq( selectedIndex ).attr( "aria-selected", "true" ); + + this.activating = this._delay( function() { + this.option( "active", selectedIndex ); + }, this.delay ); + } + }, + + _panelKeydown: function( event ) { + if ( this._handlePageNav( event ) ) { + return; + } + + // Ctrl+up moves focus to the current tab + if ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) { + event.preventDefault(); + this.active.trigger( "focus" ); + } + }, + + // Alt+page up/down moves focus to the previous/next tab (and activates) + _handlePageNav: function( event ) { + if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) { + this._activate( this._focusNextTab( this.options.active - 1, false ) ); + return true; + } + if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) { + this._activate( this._focusNextTab( this.options.active + 1, true ) ); + return true; + } + }, + + _findNextTab: function( index, goingForward ) { + var lastTabIndex = this.tabs.length - 1; + + function constrain() { + if ( index > lastTabIndex ) { + index = 0; + } + if ( index < 0 ) { + index = lastTabIndex; + } + return index; + } + + while ( $.inArray( constrain(), this.options.disabled ) !== -1 ) { + index = goingForward ? index + 1 : index - 1; + } + + return index; + }, + + _focusNextTab: function( index, goingForward ) { + index = this._findNextTab( index, goingForward ); + this.tabs.eq( index ).trigger( "focus" ); + return index; + }, + + _setOption: function( key, value ) { + if ( key === "active" ) { + + // _activate() will handle invalid values and update this.options + this._activate( value ); + return; + } + + this._super( key, value ); + + if ( key === "collapsible" ) { + this._toggleClass( "ui-tabs-collapsible", null, value ); + + // Setting collapsible: false while collapsed; open first panel + if ( !value && this.options.active === false ) { + this._activate( 0 ); + } + } + + if ( key === "event" ) { + this._setupEvents( value ); + } + + if ( key === "heightStyle" ) { + this._setupHeightStyle( value ); + } + }, + + _sanitizeSelector: function( hash ) { + return hash ? hash.replace( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&" ) : ""; + }, + + refresh: function() { + var options = this.options, + lis = this.tablist.children( ":has(a[href])" ); + + // Get disabled tabs from class attribute from HTML + // this will get converted to a boolean if needed in _refresh() + options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) { + return lis.index( tab ); + } ); + + this._processTabs(); + + // Was collapsed or no tabs + if ( options.active === false || !this.anchors.length ) { + options.active = false; + this.active = $(); + + // was active, but active tab is gone + } else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) { + + // all remaining tabs are disabled + if ( this.tabs.length === options.disabled.length ) { + options.active = false; + this.active = $(); + + // activate previous tab + } else { + this._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) ); + } + + // was active, active tab still exists + } else { + + // make sure active index is correct + options.active = this.tabs.index( this.active ); + } + + this._refresh(); + }, + + _refresh: function() { + this._setOptionDisabled( this.options.disabled ); + this._setupEvents( this.options.event ); + this._setupHeightStyle( this.options.heightStyle ); + + this.tabs.not( this.active ).attr( { + "aria-selected": "false", + "aria-expanded": "false", + tabIndex: -1 + } ); + this.panels.not( this._getPanelForTab( this.active ) ) + .hide() + .attr( { + "aria-hidden": "true" + } ); + + // Make sure one tab is in the tab order + if ( !this.active.length ) { + this.tabs.eq( 0 ).attr( "tabIndex", 0 ); + } else { + this.active + .attr( { + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + } ); + this._addClass( this.active, "ui-tabs-active", "ui-state-active" ); + this._getPanelForTab( this.active ) + .show() + .attr( { + "aria-hidden": "false" + } ); + } + }, + + _processTabs: function() { + var that = this, + prevTabs = this.tabs, + prevAnchors = this.anchors, + prevPanels = this.panels; + + this.tablist = this._getList().attr( "role", "tablist" ); + this._addClass( this.tablist, "ui-tabs-nav", + "ui-helper-reset ui-helper-clearfix ui-widget-header" ); + + // Prevent users from focusing disabled tabs via click + this.tablist + .on( "mousedown" + this.eventNamespace, "> li", function( event ) { + if ( $( this ).is( ".ui-state-disabled" ) ) { + event.preventDefault(); + } + } ) + + // Support: IE <9 + // Preventing the default action in mousedown doesn't prevent IE + // from focusing the element, so if the anchor gets focused, blur. + // We don't have to worry about focusing the previously focused + // element since clicking on a non-focusable element should focus + // the body anyway. + .on( "focus" + this.eventNamespace, ".ui-tabs-anchor", function() { + if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) { + this.blur(); + } + } ); + + this.tabs = this.tablist.find( "> li:has(a[href])" ) + .attr( { + role: "tab", + tabIndex: -1 + } ); + this._addClass( this.tabs, "ui-tabs-tab", "ui-state-default" ); + + this.anchors = this.tabs.map( function() { + return $( "a", this )[ 0 ]; + } ) + .attr( { + role: "presentation", + tabIndex: -1 + } ); + this._addClass( this.anchors, "ui-tabs-anchor" ); + + this.panels = $(); + + this.anchors.each( function( i, anchor ) { + var selector, panel, panelId, + anchorId = $( anchor ).uniqueId().attr( "id" ), + tab = $( anchor ).closest( "li" ), + originalAriaControls = tab.attr( "aria-controls" ); + + // Inline tab + if ( that._isLocal( anchor ) ) { + selector = anchor.hash; + panelId = selector.substring( 1 ); + panel = that.element.find( that._sanitizeSelector( selector ) ); + + // remote tab + } else { + + // If the tab doesn't already have aria-controls, + // generate an id by using a throw-away element + panelId = tab.attr( "aria-controls" ) || $( {} ).uniqueId()[ 0 ].id; + selector = "#" + panelId; + panel = that.element.find( selector ); + if ( !panel.length ) { + panel = that._createPanel( panelId ); + panel.insertAfter( that.panels[ i - 1 ] || that.tablist ); + } + panel.attr( "aria-live", "polite" ); + } + + if ( panel.length ) { + that.panels = that.panels.add( panel ); + } + if ( originalAriaControls ) { + tab.data( "ui-tabs-aria-controls", originalAriaControls ); + } + tab.attr( { + "aria-controls": panelId, + "aria-labelledby": anchorId + } ); + panel.attr( "aria-labelledby", anchorId ); + } ); + + this.panels.attr( "role", "tabpanel" ); + this._addClass( this.panels, "ui-tabs-panel", "ui-widget-content" ); + + // Avoid memory leaks (#10056) + if ( prevTabs ) { + this._off( prevTabs.not( this.tabs ) ); + this._off( prevAnchors.not( this.anchors ) ); + this._off( prevPanels.not( this.panels ) ); + } + }, + + // Allow overriding how to find the list for rare usage scenarios (#7715) + _getList: function() { + return this.tablist || this.element.find( "ol, ul" ).eq( 0 ); + }, + + _createPanel: function( id ) { + return $( "<div>" ) + .attr( "id", id ) + .data( "ui-tabs-destroy", true ); + }, + + _setOptionDisabled: function( disabled ) { + var currentItem, li, i; + + if ( $.isArray( disabled ) ) { + if ( !disabled.length ) { + disabled = false; + } else if ( disabled.length === this.anchors.length ) { + disabled = true; + } + } + + // Disable tabs + for ( i = 0; ( li = this.tabs[ i ] ); i++ ) { + currentItem = $( li ); + if ( disabled === true || $.inArray( i, disabled ) !== -1 ) { + currentItem.attr( "aria-disabled", "true" ); + this._addClass( currentItem, null, "ui-state-disabled" ); + } else { + currentItem.removeAttr( "aria-disabled" ); + this._removeClass( currentItem, null, "ui-state-disabled" ); + } + } + + this.options.disabled = disabled; + + this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, + disabled === true ); + }, + + _setupEvents: function( event ) { + var events = {}; + if ( event ) { + $.each( event.split( " " ), function( index, eventName ) { + events[ eventName ] = "_eventHandler"; + } ); + } + + this._off( this.anchors.add( this.tabs ).add( this.panels ) ); + + // Always prevent the default action, even when disabled + this._on( true, this.anchors, { + click: function( event ) { + event.preventDefault(); + } + } ); + this._on( this.anchors, events ); + this._on( this.tabs, { keydown: "_tabKeydown" } ); + this._on( this.panels, { keydown: "_panelKeydown" } ); + + this._focusable( this.tabs ); + this._hoverable( this.tabs ); + }, + + _setupHeightStyle: function( heightStyle ) { + var maxHeight, + parent = this.element.parent(); + + if ( heightStyle === "fill" ) { + maxHeight = parent.height(); + maxHeight -= this.element.outerHeight() - this.element.height(); + + this.element.siblings( ":visible" ).each( function() { + var elem = $( this ), + position = elem.css( "position" ); + + if ( position === "absolute" || position === "fixed" ) { + return; + } + maxHeight -= elem.outerHeight( true ); + } ); + + this.element.children().not( this.panels ).each( function() { + maxHeight -= $( this ).outerHeight( true ); + } ); + + this.panels.each( function() { + $( this ).height( Math.max( 0, maxHeight - + $( this ).innerHeight() + $( this ).height() ) ); + } ) + .css( "overflow", "auto" ); + } else if ( heightStyle === "auto" ) { + maxHeight = 0; + this.panels.each( function() { + maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() ); + } ).height( maxHeight ); + } + }, + + _eventHandler: function( event ) { + var options = this.options, + active = this.active, + anchor = $( event.currentTarget ), + tab = anchor.closest( "li" ), + clickedIsActive = tab[ 0 ] === active[ 0 ], + collapsing = clickedIsActive && options.collapsible, + toShow = collapsing ? $() : this._getPanelForTab( tab ), + toHide = !active.length ? $() : this._getPanelForTab( active ), + eventData = { + oldTab: active, + oldPanel: toHide, + newTab: collapsing ? $() : tab, + newPanel: toShow + }; + + event.preventDefault(); + + if ( tab.hasClass( "ui-state-disabled" ) || + + // tab is already loading + tab.hasClass( "ui-tabs-loading" ) || + + // can't switch durning an animation + this.running || + + // click on active header, but not collapsible + ( clickedIsActive && !options.collapsible ) || + + // allow canceling activation + ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { + return; + } + + options.active = collapsing ? false : this.tabs.index( tab ); + + this.active = clickedIsActive ? $() : tab; + if ( this.xhr ) { + this.xhr.abort(); + } + + if ( !toHide.length && !toShow.length ) { + $.error( "jQuery UI Tabs: Mismatching fragment identifier." ); + } + + if ( toShow.length ) { + this.load( this.tabs.index( tab ), event ); + } + this._toggle( event, eventData ); + }, + + // Handles show/hide for selecting tabs + _toggle: function( event, eventData ) { + var that = this, + toShow = eventData.newPanel, + toHide = eventData.oldPanel; + + this.running = true; + + function complete() { + that.running = false; + that._trigger( "activate", event, eventData ); + } + + function show() { + that._addClass( eventData.newTab.closest( "li" ), "ui-tabs-active", "ui-state-active" ); + + if ( toShow.length && that.options.show ) { + that._show( toShow, that.options.show, complete ); + } else { + toShow.show(); + complete(); + } + } + + // Start out by hiding, then showing, then completing + if ( toHide.length && this.options.hide ) { + this._hide( toHide, this.options.hide, function() { + that._removeClass( eventData.oldTab.closest( "li" ), + "ui-tabs-active", "ui-state-active" ); + show(); + } ); + } else { + this._removeClass( eventData.oldTab.closest( "li" ), + "ui-tabs-active", "ui-state-active" ); + toHide.hide(); + show(); + } + + toHide.attr( "aria-hidden", "true" ); + eventData.oldTab.attr( { + "aria-selected": "false", + "aria-expanded": "false" + } ); + + // If we're switching tabs, remove the old tab from the tab order. + // If we're opening from collapsed state, remove the previous tab from the tab order. + // If we're collapsing, then keep the collapsing tab in the tab order. + if ( toShow.length && toHide.length ) { + eventData.oldTab.attr( "tabIndex", -1 ); + } else if ( toShow.length ) { + this.tabs.filter( function() { + return $( this ).attr( "tabIndex" ) === 0; + } ) + .attr( "tabIndex", -1 ); + } + + toShow.attr( "aria-hidden", "false" ); + eventData.newTab.attr( { + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + } ); + }, + + _activate: function( index ) { + var anchor, + active = this._findActive( index ); + + // Trying to activate the already active panel + if ( active[ 0 ] === this.active[ 0 ] ) { + return; + } + + // Trying to collapse, simulate a click on the current active header + if ( !active.length ) { + active = this.active; + } + + anchor = active.find( ".ui-tabs-anchor" )[ 0 ]; + this._eventHandler( { + target: anchor, + currentTarget: anchor, + preventDefault: $.noop + } ); + }, + + _findActive: function( index ) { + return index === false ? $() : this.tabs.eq( index ); + }, + + _getIndex: function( index ) { + + // meta-function to give users option to provide a href string instead of a numerical index. + if ( typeof index === "string" ) { + index = this.anchors.index( this.anchors.filter( "[href$='" + + $.ui.escapeSelector( index ) + "']" ) ); + } + + return index; + }, + + _destroy: function() { + if ( this.xhr ) { + this.xhr.abort(); + } + + this.tablist + .removeAttr( "role" ) + .off( this.eventNamespace ); + + this.anchors + .removeAttr( "role tabIndex" ) + .removeUniqueId(); + + this.tabs.add( this.panels ).each( function() { + if ( $.data( this, "ui-tabs-destroy" ) ) { + $( this ).remove(); + } else { + $( this ).removeAttr( "role tabIndex " + + "aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded" ); + } + } ); + + this.tabs.each( function() { + var li = $( this ), + prev = li.data( "ui-tabs-aria-controls" ); + if ( prev ) { + li + .attr( "aria-controls", prev ) + .removeData( "ui-tabs-aria-controls" ); + } else { + li.removeAttr( "aria-controls" ); + } + } ); + + this.panels.show(); + + if ( this.options.heightStyle !== "content" ) { + this.panels.css( "height", "" ); + } + }, + + enable: function( index ) { + var disabled = this.options.disabled; + if ( disabled === false ) { + return; + } + + if ( index === undefined ) { + disabled = false; + } else { + index = this._getIndex( index ); + if ( $.isArray( disabled ) ) { + disabled = $.map( disabled, function( num ) { + return num !== index ? num : null; + } ); + } else { + disabled = $.map( this.tabs, function( li, num ) { + return num !== index ? num : null; + } ); + } + } + this._setOptionDisabled( disabled ); + }, + + disable: function( index ) { + var disabled = this.options.disabled; + if ( disabled === true ) { + return; + } + + if ( index === undefined ) { + disabled = true; + } else { + index = this._getIndex( index ); + if ( $.inArray( index, disabled ) !== -1 ) { + return; + } + if ( $.isArray( disabled ) ) { + disabled = $.merge( [ index ], disabled ).sort(); + } else { + disabled = [ index ]; + } + } + this._setOptionDisabled( disabled ); + }, + + load: function( index, event ) { + index = this._getIndex( index ); + var that = this, + tab = this.tabs.eq( index ), + anchor = tab.find( ".ui-tabs-anchor" ), + panel = this._getPanelForTab( tab ), + eventData = { + tab: tab, + panel: panel + }, + complete = function( jqXHR, status ) { + if ( status === "abort" ) { + that.panels.stop( false, true ); + } + + that._removeClass( tab, "ui-tabs-loading" ); + panel.removeAttr( "aria-busy" ); + + if ( jqXHR === that.xhr ) { + delete that.xhr; + } + }; + + // Not remote + if ( this._isLocal( anchor[ 0 ] ) ) { + return; + } + + this.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) ); + + // Support: jQuery <1.8 + // jQuery <1.8 returns false if the request is canceled in beforeSend, + // but as of 1.8, $.ajax() always returns a jqXHR object. + if ( this.xhr && this.xhr.statusText !== "canceled" ) { + this._addClass( tab, "ui-tabs-loading" ); + panel.attr( "aria-busy", "true" ); + + this.xhr + .done( function( response, status, jqXHR ) { + + // support: jQuery <1.8 + // http://bugs.jquery.com/ticket/11778 + setTimeout( function() { + panel.html( response ); + that._trigger( "load", event, eventData ); + + complete( jqXHR, status ); + }, 1 ); + } ) + .fail( function( jqXHR, status ) { + + // support: jQuery <1.8 + // http://bugs.jquery.com/ticket/11778 + setTimeout( function() { + complete( jqXHR, status ); + }, 1 ); + } ); + } + }, + + _ajaxSettings: function( anchor, event, eventData ) { + var that = this; + return { + + // Support: IE <11 only + // Strip any hash that exists to prevent errors with the Ajax request + url: anchor.attr( "href" ).replace( /#.*$/, "" ), + beforeSend: function( jqXHR, settings ) { + return that._trigger( "beforeLoad", event, + $.extend( { jqXHR: jqXHR, ajaxSettings: settings }, eventData ) ); + } + }; + }, + + _getPanelForTab: function( tab ) { + var id = $( tab ).attr( "aria-controls" ); + return this.element.find( this._sanitizeSelector( "#" + id ) ); + } +} ); + +// DEPRECATED +// TODO: Switch return back to widget declaration at top of file when this is removed +if ( $.uiBackCompat !== false ) { + + // Backcompat for ui-tab class (now ui-tabs-tab) + $.widget( "ui.tabs", $.ui.tabs, { + _processTabs: function() { + this._superApply( arguments ); + this._addClass( this.tabs, "ui-tab" ); + } + } ); +} + +var widgetsTabs = $.ui.tabs; + + +/*! + * jQuery UI Tooltip 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Tooltip +//>>group: Widgets +//>>description: Shows additional information for any element on hover or focus. +//>>docs: http://api.jqueryui.com/tooltip/ +//>>demos: http://jqueryui.com/tooltip/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/tooltip.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.tooltip", { + version: "1.12.1", + options: { + classes: { + "ui-tooltip": "ui-corner-all ui-widget-shadow" + }, + content: function() { + + // support: IE<9, Opera in jQuery <1.7 + // .text() can't accept undefined, so coerce to a string + var title = $( this ).attr( "title" ) || ""; + + // Escape title, since we're going from an attribute to raw HTML + return $( "<a>" ).text( title ).html(); + }, + hide: true, + + // Disabled elements have inconsistent behavior across browsers (#8661) + items: "[title]:not([disabled])", + position: { + my: "left top+15", + at: "left bottom", + collision: "flipfit flip" + }, + show: true, + track: false, + + // Callbacks + close: null, + open: null + }, + + _addDescribedBy: function( elem, id ) { + var describedby = ( elem.attr( "aria-describedby" ) || "" ).split( /\s+/ ); + describedby.push( id ); + elem + .data( "ui-tooltip-id", id ) + .attr( "aria-describedby", $.trim( describedby.join( " " ) ) ); + }, + + _removeDescribedBy: function( elem ) { + var id = elem.data( "ui-tooltip-id" ), + describedby = ( elem.attr( "aria-describedby" ) || "" ).split( /\s+/ ), + index = $.inArray( id, describedby ); + + if ( index !== -1 ) { + describedby.splice( index, 1 ); + } + + elem.removeData( "ui-tooltip-id" ); + describedby = $.trim( describedby.join( " " ) ); + if ( describedby ) { + elem.attr( "aria-describedby", describedby ); + } else { + elem.removeAttr( "aria-describedby" ); + } + }, + + _create: function() { + this._on( { + mouseover: "open", + focusin: "open" + } ); + + // IDs of generated tooltips, needed for destroy + this.tooltips = {}; + + // IDs of parent tooltips where we removed the title attribute + this.parents = {}; + + // Append the aria-live region so tooltips announce correctly + this.liveRegion = $( "<div>" ) + .attr( { + role: "log", + "aria-live": "assertive", + "aria-relevant": "additions" + } ) + .appendTo( this.document[ 0 ].body ); + this._addClass( this.liveRegion, null, "ui-helper-hidden-accessible" ); + + this.disabledTitles = $( [] ); + }, + + _setOption: function( key, value ) { + var that = this; + + this._super( key, value ); + + if ( key === "content" ) { + $.each( this.tooltips, function( id, tooltipData ) { + that._updateContent( tooltipData.element ); + } ); + } + }, + + _setOptionDisabled: function( value ) { + this[ value ? "_disable" : "_enable" ](); + }, + + _disable: function() { + var that = this; + + // Close open tooltips + $.each( this.tooltips, function( id, tooltipData ) { + var event = $.Event( "blur" ); + event.target = event.currentTarget = tooltipData.element[ 0 ]; + that.close( event, true ); + } ); + + // Remove title attributes to prevent native tooltips + this.disabledTitles = this.disabledTitles.add( + this.element.find( this.options.items ).addBack() + .filter( function() { + var element = $( this ); + if ( element.is( "[title]" ) ) { + return element + .data( "ui-tooltip-title", element.attr( "title" ) ) + .removeAttr( "title" ); + } + } ) + ); + }, + + _enable: function() { + + // restore title attributes + this.disabledTitles.each( function() { + var element = $( this ); + if ( element.data( "ui-tooltip-title" ) ) { + element.attr( "title", element.data( "ui-tooltip-title" ) ); + } + } ); + this.disabledTitles = $( [] ); + }, + + open: function( event ) { + var that = this, + target = $( event ? event.target : this.element ) + + // we need closest here due to mouseover bubbling, + // but always pointing at the same event target + .closest( this.options.items ); + + // No element to show a tooltip for or the tooltip is already open + if ( !target.length || target.data( "ui-tooltip-id" ) ) { + return; + } + + if ( target.attr( "title" ) ) { + target.data( "ui-tooltip-title", target.attr( "title" ) ); + } + + target.data( "ui-tooltip-open", true ); + + // Kill parent tooltips, custom or native, for hover + if ( event && event.type === "mouseover" ) { + target.parents().each( function() { + var parent = $( this ), + blurEvent; + if ( parent.data( "ui-tooltip-open" ) ) { + blurEvent = $.Event( "blur" ); + blurEvent.target = blurEvent.currentTarget = this; + that.close( blurEvent, true ); + } + if ( parent.attr( "title" ) ) { + parent.uniqueId(); + that.parents[ this.id ] = { + element: this, + title: parent.attr( "title" ) + }; + parent.attr( "title", "" ); + } + } ); + } + + this._registerCloseHandlers( event, target ); + this._updateContent( target, event ); + }, + + _updateContent: function( target, event ) { + var content, + contentOption = this.options.content, + that = this, + eventType = event ? event.type : null; + + if ( typeof contentOption === "string" || contentOption.nodeType || + contentOption.jquery ) { + return this._open( event, target, contentOption ); + } + + content = contentOption.call( target[ 0 ], function( response ) { + + // IE may instantly serve a cached response for ajax requests + // delay this call to _open so the other call to _open runs first + that._delay( function() { + + // Ignore async response if tooltip was closed already + if ( !target.data( "ui-tooltip-open" ) ) { + return; + } + + // JQuery creates a special event for focusin when it doesn't + // exist natively. To improve performance, the native event + // object is reused and the type is changed. Therefore, we can't + // rely on the type being correct after the event finished + // bubbling, so we set it back to the previous value. (#8740) + if ( event ) { + event.type = eventType; + } + this._open( event, target, response ); + } ); + } ); + if ( content ) { + this._open( event, target, content ); + } + }, + + _open: function( event, target, content ) { + var tooltipData, tooltip, delayedShow, a11yContent, + positionOption = $.extend( {}, this.options.position ); + + if ( !content ) { + return; + } + + // Content can be updated multiple times. If the tooltip already + // exists, then just update the content and bail. + tooltipData = this._find( target ); + if ( tooltipData ) { + tooltipData.tooltip.find( ".ui-tooltip-content" ).html( content ); + return; + } + + // If we have a title, clear it to prevent the native tooltip + // we have to check first to avoid defining a title if none exists + // (we don't want to cause an element to start matching [title]) + // + // We use removeAttr only for key events, to allow IE to export the correct + // accessible attributes. For mouse events, set to empty string to avoid + // native tooltip showing up (happens only when removing inside mouseover). + if ( target.is( "[title]" ) ) { + if ( event && event.type === "mouseover" ) { + target.attr( "title", "" ); + } else { + target.removeAttr( "title" ); + } + } + + tooltipData = this._tooltip( target ); + tooltip = tooltipData.tooltip; + this._addDescribedBy( target, tooltip.attr( "id" ) ); + tooltip.find( ".ui-tooltip-content" ).html( content ); + + // Support: Voiceover on OS X, JAWS on IE <= 9 + // JAWS announces deletions even when aria-relevant="additions" + // Voiceover will sometimes re-read the entire log region's contents from the beginning + this.liveRegion.children().hide(); + a11yContent = $( "<div>" ).html( tooltip.find( ".ui-tooltip-content" ).html() ); + a11yContent.removeAttr( "name" ).find( "[name]" ).removeAttr( "name" ); + a11yContent.removeAttr( "id" ).find( "[id]" ).removeAttr( "id" ); + a11yContent.appendTo( this.liveRegion ); + + function position( event ) { + positionOption.of = event; + if ( tooltip.is( ":hidden" ) ) { + return; + } + tooltip.position( positionOption ); + } + if ( this.options.track && event && /^mouse/.test( event.type ) ) { + this._on( this.document, { + mousemove: position + } ); + + // trigger once to override element-relative positioning + position( event ); + } else { + tooltip.position( $.extend( { + of: target + }, this.options.position ) ); + } + + tooltip.hide(); + + this._show( tooltip, this.options.show ); + + // Handle tracking tooltips that are shown with a delay (#8644). As soon + // as the tooltip is visible, position the tooltip using the most recent + // event. + // Adds the check to add the timers only when both delay and track options are set (#14682) + if ( this.options.track && this.options.show && this.options.show.delay ) { + delayedShow = this.delayedShow = setInterval( function() { + if ( tooltip.is( ":visible" ) ) { + position( positionOption.of ); + clearInterval( delayedShow ); + } + }, $.fx.interval ); + } + + this._trigger( "open", event, { tooltip: tooltip } ); + }, + + _registerCloseHandlers: function( event, target ) { + var events = { + keyup: function( event ) { + if ( event.keyCode === $.ui.keyCode.ESCAPE ) { + var fakeEvent = $.Event( event ); + fakeEvent.currentTarget = target[ 0 ]; + this.close( fakeEvent, true ); + } + } + }; + + // Only bind remove handler for delegated targets. Non-delegated + // tooltips will handle this in destroy. + if ( target[ 0 ] !== this.element[ 0 ] ) { + events.remove = function() { + this._removeTooltip( this._find( target ).tooltip ); + }; + } + + if ( !event || event.type === "mouseover" ) { + events.mouseleave = "close"; + } + if ( !event || event.type === "focusin" ) { + events.focusout = "close"; + } + this._on( true, target, events ); + }, + + close: function( event ) { + var tooltip, + that = this, + target = $( event ? event.currentTarget : this.element ), + tooltipData = this._find( target ); + + // The tooltip may already be closed + if ( !tooltipData ) { + + // We set ui-tooltip-open immediately upon open (in open()), but only set the + // additional data once there's actually content to show (in _open()). So even if the + // tooltip doesn't have full data, we always remove ui-tooltip-open in case we're in + // the period between open() and _open(). + target.removeData( "ui-tooltip-open" ); + return; + } + + tooltip = tooltipData.tooltip; + + // Disabling closes the tooltip, so we need to track when we're closing + // to avoid an infinite loop in case the tooltip becomes disabled on close + if ( tooltipData.closing ) { + return; + } + + // Clear the interval for delayed tracking tooltips + clearInterval( this.delayedShow ); + + // Only set title if we had one before (see comment in _open()) + // If the title attribute has changed since open(), don't restore + if ( target.data( "ui-tooltip-title" ) && !target.attr( "title" ) ) { + target.attr( "title", target.data( "ui-tooltip-title" ) ); + } + + this._removeDescribedBy( target ); + + tooltipData.hiding = true; + tooltip.stop( true ); + this._hide( tooltip, this.options.hide, function() { + that._removeTooltip( $( this ) ); + } ); + + target.removeData( "ui-tooltip-open" ); + this._off( target, "mouseleave focusout keyup" ); + + // Remove 'remove' binding only on delegated targets + if ( target[ 0 ] !== this.element[ 0 ] ) { + this._off( target, "remove" ); + } + this._off( this.document, "mousemove" ); + + if ( event && event.type === "mouseleave" ) { + $.each( this.parents, function( id, parent ) { + $( parent.element ).attr( "title", parent.title ); + delete that.parents[ id ]; + } ); + } + + tooltipData.closing = true; + this._trigger( "close", event, { tooltip: tooltip } ); + if ( !tooltipData.hiding ) { + tooltipData.closing = false; + } + }, + + _tooltip: function( element ) { + var tooltip = $( "<div>" ).attr( "role", "tooltip" ), + content = $( "<div>" ).appendTo( tooltip ), + id = tooltip.uniqueId().attr( "id" ); + + this._addClass( content, "ui-tooltip-content" ); + this._addClass( tooltip, "ui-tooltip", "ui-widget ui-widget-content" ); + + tooltip.appendTo( this._appendTo( element ) ); + + return this.tooltips[ id ] = { + element: element, + tooltip: tooltip + }; + }, + + _find: function( target ) { + var id = target.data( "ui-tooltip-id" ); + return id ? this.tooltips[ id ] : null; + }, + + _removeTooltip: function( tooltip ) { + tooltip.remove(); + delete this.tooltips[ tooltip.attr( "id" ) ]; + }, + + _appendTo: function( target ) { + var element = target.closest( ".ui-front, dialog" ); + + if ( !element.length ) { + element = this.document[ 0 ].body; + } + + return element; + }, + + _destroy: function() { + var that = this; + + // Close open tooltips + $.each( this.tooltips, function( id, tooltipData ) { + + // Delegate to close method to handle common cleanup + var event = $.Event( "blur" ), + element = tooltipData.element; + event.target = event.currentTarget = element[ 0 ]; + that.close( event, true ); + + // Remove immediately; destroying an open tooltip doesn't use the + // hide animation + $( "#" + id ).remove(); + + // Restore the title + if ( element.data( "ui-tooltip-title" ) ) { + + // If the title attribute has changed since open(), don't restore + if ( !element.attr( "title" ) ) { + element.attr( "title", element.data( "ui-tooltip-title" ) ); + } + element.removeData( "ui-tooltip-title" ); + } + } ); + this.liveRegion.remove(); + } +} ); + +// DEPRECATED +// TODO: Switch return back to widget declaration at top of file when this is removed +if ( $.uiBackCompat !== false ) { + + // Backcompat for tooltipClass option + $.widget( "ui.tooltip", $.ui.tooltip, { + options: { + tooltipClass: null + }, + _tooltip: function() { + var tooltipData = this._superApply( arguments ); + if ( this.options.tooltipClass ) { + tooltipData.tooltip.addClass( this.options.tooltipClass ); + } + return tooltipData; + } + } ); +} + +var widgetsTooltip = $.ui.tooltip; + + + + +})); \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/jqueryui.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/uss/olp/mgt/EgovUtilMeetingManage.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/uss/olp/mgt/EgovUtilMeetingManage.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/uss/olp/mgt/EgovUtilMeetingManage.js (revision 7) @@ -0,0 +1,202 @@ +/******************************************************** + 파일명 : EgovUtilMeetingManage.js + 설 명 : 전자정부 공통 JavaScript + 수정일 수정자 Version Function 명 + ------- -------- ---------- -------------- + 2009.03.12 장동한 1.0 최초 생성 + 2009.03.12 장동한 2.0 EgovUtilMeetingManage +*********************************************************/ + +/************************************************************************ + 함수명 : fn_egov_RadioBoxChecked + 설 명 : 라디오박스 입력된 값 체크설정 + 인 자 : ssbName 객체이름 setValue 값 + 사용법 : fn_egov_RadioBoxChecked(sbName,setValue) + 작성일 : 2009-02-01 + 작성자 : 각팀명(예. 공통서비스 개발팀) 홍길동 + 수정일 수정자 수정내용 + ------ ------ ------------------- + 2009.03.12 장동한 신규작업 +************************************************************************/ + function fn_egov_RadioBoxChecked(sbName,setValue) + { + var FLength = document.getElementsByName(sbName).length; + var FValue = ""; + for(var i=0; i < FLength; i++) + { + if(document.getElementsByName(sbName)[i].value == setValue){ + document.getElementsByName(sbName)[i].checked = true; + return; + } + } + } + + /************************************************************************ + 함수명 : fn_egov_RadioBoxValue + 설 명 : 라디오박스 값가져오기 + 인 자 : ssbName 객체이름 + 사용법 : fn_egov_RadioBoxValue(sbName) + 작성일 : 2009-02-01 + 작성자 : 각팀명(예. 공통서비스 개발팀) 홍길동 + 수정일 수정자 수정내용 + ------ ------ ------------------- + 2009.03.12 장동한 신규작업 + ************************************************************************/ + function fn_egov_RadioBoxValue(sbName) + { + var FLength = document.getElementsByName(sbName).length; + var FValue = ""; + for(var i=0; i < FLength; i++) + { + if(document.getElementsByName(sbName)[i].checked == true){ + FValue = document.getElementsByName(sbName)[i].value; + } + } + + return FValue; + } + + /************************************************************************ + 함수명 : fn_egov_RadioBoxDisabled + 설 명 : 라디오박스 값가져오기 + 인 자 : ssbName 객체이름, sbStatus 상태값 true,false + 사용법 : fn_egov_RadioBoxDisabled(sbName,sbStatus) + 작성일 : 2009-02-01 + 작성자 : 각팀명(예. 공통서비스 개발팀) 홍길동 + 수정일 수정자 수정내용 + ------ ------ ------------------- + 2009.03.12 장동한 신규작업 + ************************************************************************/ + function fn_egov_RadioBoxDisabled(sbName,sbStatus) + { + var FLength = document.getElementsByName(sbName).length; + var FValue = ""; + for(var i=0; i < FLength; i++) + { + FValue = document.getElementsByName(sbName)[i].disabled=sbStatus; + } + + } + /************************************************************************ + 함수명 : fn_egov_SelectBoxText + 설 명 : 셀렉트박스 텍스트 가져오기 + 인 자 : ssbName 객체이름, sbStatus + 사용법 : fn_egov_SelectBoxText(sbName) + 작성일 : 2009-02-01 + 작성자 : 각팀명(예. 공통서비스 개발팀) 홍길동 + 수정일 수정자 수정내용 + ------ ------ ------------------- + 2009.03.12 장동한 신규작업 + ************************************************************************/ + function fn_egov_SelectBoxText(sbName) + { + var FValue = ""; + for(var i=0; i < document.getElementById(sbName).length; i++) + { + if(document.getElementById(sbName).options[i].selected == true){ + + FValue=document.getElementById(sbName).options[i].text; + } + } + + return FValue; + } + + /************************************************************************ + 함수명 : fn_egov_SelectBoxText + 설 명 : 셀렉트박스 값 가져오기 + 인 자 : ssbName 객체이름, sbStatus + 사용법 : fn_egov_SelectBoxText(sbName) + 작성일 : 2009-02-01 + 작성자 : 각팀명(예. 공통서비스 개발팀) 홍길동 + 수정일 수정자 수정내용 + ------ ------ ------------------- + 2009.03.12 장동한 신규작업 + ************************************************************************/ + function fn_egov_SelectBoxValue(sbName) + { + var FValue = ""; + for(var i=0; i < document.getElementById(sbName).length; i++) + { + if(document.getElementById(sbName).options[i].selected == true){ + + FValue=document.getElementById(sbName).options[i].value; + } + } + + return FValue; + } + + /************************************************************************ + 함수명 : fn_egov_SelectBox + 설 명 : 셀렉트박스 index 설정 + 인 자 : ssbName 객체이름, sbValue value값 + 사용법 : fn_egov_SelectBox(sbName, sbValue) + 작성일 : 2009-02-01 + 작성자 : 각팀명(예. 공통서비스 개발팀) 홍길동 + 수정일 수정자 수정내용 + ------ ------ ------------------- + 2009.03.12 장동한 신규작업 + ************************************************************************/ + function fn_egov_SelectBox(sbName, sbValue) + { + for(var i=0; i < document.getElementById(sbName).length; i++) + { + + if(document.getElementById(sbName).options[i].value == sbValue){ + + document.getElementById(sbName).options[i].selected = true; + } + } + } + + + /************************************************************************ + 함수명 : fn_egov_RadioBox + 설 명 : 라디오박스 index 설정 + 인 자 : ssbName 객체이름, sbValue value값 + 사용법 : fn_egov_RadioBox(sbName, sbValue) + 작성일 : 2009-02-01 + 작성자 : 각팀명(예. 공통서비스 개발팀) 홍길동 + 수정일 수정자 수정내용 + ------ ------ ------------------- + 2009.03.12 장동한 신규작업 + ************************************************************************/ + function fn_egov_RadioBox(sbName,sbValue) + { + var FLength= document.getElementsByName(sbName).length; + + for(var i=0; i < FLength; i++) + { + if(document.getElementsByName(sbName)[i].value == sbValue){ + + document.getElementsByName(sbName)[i].checked=true; + } + } + } + + + /************************************************************************ + 함수명 : fn_egov_RadioBox + 설 명 : null 이거나 공백 String 여부 체크 + 인 자 : ssbName 객체이름, sbValue value값 + 사용법 : fn_egov_RadioBox(sbName, sbValue) + 작성일 : 2009-02-01 + 작성자 : 각팀명(예. 공통서비스 개발팀) 홍길동 + 수정일 수정자 수정내용 + ------ ------ ------------------- + 2009.03.12 장동한 신규작업 + ************************************************************************/ + function fn_egov_isNull(sbName,sbValue) + { + var FLength= document.getElementsByName(sbName).length; + + for(var i=0; i < FLength; i++) + { + if(document.getElementsByName(sbName)[i].value == sbValue){ + + document.getElementsByName(sbName)[i].checked=true; + } + } + } + \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/uss/olp/mgt/EgovUtilMeetingManage.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/jquery-1.4.2.min.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/jquery-1.4.2.min.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/jquery-1.4.2.min.js (revision 7) @@ -0,0 +1,155 @@ +/*! + * jQuery JavaScript Library v1.4.2 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Sat Feb 13 22:33:48 2010 -0500 + */ +(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i? +e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r= +j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g, +"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e= +true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, +Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& +(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, +a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== +"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, +function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)|| +c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded", +L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype, +"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+ +a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f], +d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]=== +a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&& +!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari= +true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; +var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, +parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= +false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= +s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, +applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; +else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, +a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== +w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, +cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ", +i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ", +" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className= +this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i= +e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= +c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); +a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, +function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); +k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), +C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!= +null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type= +e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& +f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; +if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), +fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop|| +d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this, +"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent= +a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y, +isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit= +{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}}; +if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", +e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, +"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, +d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&& +!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}}, +toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector, +u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "), +function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q]; +if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, +e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); +t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| +g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[]; +for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length- +1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/, +CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}}, +relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]= +l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[]; +h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, +CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, +g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, +text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, +setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= +h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m= +m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== +"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, +h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition|| +!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m= +h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& +q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>"; +if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); +(function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: +function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/, +gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length; +c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= +{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== +"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", +d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? +a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== +1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)? +a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= +c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, +wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, +prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, +this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); +return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, +""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&& +this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]|| +u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length=== +1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); +return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", +""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= +c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? +c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= +function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= +Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, +"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= +a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= +a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== +"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, +serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), +function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, +global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& +e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? +"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== +false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= +false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", +c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| +d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); +g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== +1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== +"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; +if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay"); +this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a], +"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)}, +animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing= +j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]); +this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== +"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| +c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; +this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= +this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, +e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length|| +c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement? +function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b= +this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle; +k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&& +f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>"; +a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); +c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, +d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- +f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": +"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in +e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); + Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/jquery-1.4.2.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/jquery.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/jquery.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/jquery.js (revision 7) @@ -0,0 +1,11008 @@ +/*! + * jQuery JavaScript Library v1.12.4 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2016-05-20T17:17Z + */ + +(function( global, factory ) { + + if ( typeof module === "object" && typeof module.exports === "object" ) { + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Support: Firefox 18+ +// Can't be in strict mode, several libs including ASP.NET trace +// the stack via arguments.caller.callee and Firefox dies if +// you try to trace through "use strict" call chains. (#13335) +//"use strict"; +var deletedIds = []; + +var document = window.document; + +var slice = deletedIds.slice; + +var concat = deletedIds.concat; + +var push = deletedIds.push; + +var indexOf = deletedIds.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var support = {}; + + + +var + version = "1.12.4", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }, + + // Support: Android<4.1, IE<9 + // Make sure we trim BOM and NBSP + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num != null ? + + // Return just the one element from the set + ( num < 0 ? this[ num + this.length ] : this[ num ] ) : + + // Return all the elements in a clean array + slice.call( this ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: deletedIds.sort, + splice: deletedIds.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var src, copyIsArray, copy, name, options, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray( src ) ? src : []; + + } else { + clone = src && jQuery.isPlainObject( src ) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type( obj ) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type( obj ) === "array"; + }, + + isWindow: function( obj ) { + /* jshint eqeqeq: false */ + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + + // parseFloat NaNs numeric-cast false positives (null|true|false|"") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + // adding 1 corrects loss of precision from parseFloat (#15100) + var realStringObj = obj && obj.toString(); + return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0; + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + isPlainObject: function( obj ) { + var key; + + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call( obj, "constructor" ) && + !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) { + return false; + } + } catch ( e ) { + + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Support: IE<9 + // Handle iteration over inherited properties before own properties. + if ( !support.ownFirst ) { + for ( key in obj ) { + return hasOwn.call( obj, key ); + } + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + type: function( obj ) { + if ( obj == null ) { + return obj + ""; + } + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; + }, + + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && jQuery.trim( data ) ) { + + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); // jscs:ignore requireDotNotation + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // Support: Android<4.1, IE<9 + trim: function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + var len; + + if ( arr ) { + if ( indexOf ) { + return indexOf.call( arr, elem, i ); + } + + len = arr.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + + // Skip accessing in sparse arrays + if ( i in arr && arr[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + while ( j < len ) { + first[ i++ ] = second[ j++ ]; + } + + // Support: IE<9 + // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists) + if ( len !== len ) { + while ( second[ j ] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var args, proxy, tmp; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + now: function() { + return +( new Date() ); + }, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +// JSHint would error on this code due to the Symbol not being defined in ES5. +// Defining this global in .jshintrc would create a danger of using the global +// unguarded in another place, it seems safer to just disable JSHint for these +// three lines. +/* jshint ignore: start */ +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = deletedIds[ Symbol.iterator ]; +} +/* jshint ignore: end */ + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +} ); + +function isArrayLike( obj ) { + + // Support: iOS 8.2 (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = jQuery.type( obj ); + + if ( type === "function" || jQuery.isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.2.1 + * http://sizzlejs.com/ + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2015-10-17 + */ +(function( window ) { + +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // General-purpose constants + MAX_NEGATIVE = 1 << 31, + + // Instance methods + hasOwn = ({}).hasOwnProperty, + arr = [], + pop = arr.pop, + push_native = arr.push, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf as it's faster than native + // http://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[i] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ), + + rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + rescape = /'|\\/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ), + funescape = function( _, escaped, escapedWhitespace ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + // Support: Firefox<24 + // Workaround erroneous numeric interpretation of +"0x" + return high !== high || escapedWhitespace ? + escaped : + high < 0 ? + // BMP codepoint + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }; + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + (arr = slice.call( preferredDoc.childNodes )), + preferredDoc.childNodes + ); + // Support: Android<4.0 + // Detect silently failing push.apply + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + push_native.apply( target, slice.call(els) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + // Can't trust NodeList.length + while ( (target[j++] = els[i++]) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, nidselect, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.getElementById( m )) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( (m = match[3]) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + + if ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; + + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { + + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']"; + while ( i-- ) { + groups[i] = nidselect + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + } + + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key + " " ] = value); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return !!fn( div ); + } catch (e) { + return false; + } finally { + // Remove from its parent by default + if ( div.parentNode ) { + div.parentNode.removeChild( div ); + } + // release memory in IE + div = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split("|"), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[i] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + ( ~b.sourceIndex || MAX_NEGATIVE ) - + ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, parent, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( (parent = document.defaultView) && parent.top !== parent ) { + // Support: IE 11 + if ( parent.addEventListener ) { + parent.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( parent.attachEvent ) { + parent.attachEvent( "onunload", unloadHandler ); + } + } + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert(function( div ) { + div.className = "i"; + return !div.getAttribute("className"); + }); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert(function( div ) { + div.appendChild( document.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert(function( div ) { + docElem.appendChild( div ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + }); + + // ID find and filter + if ( support.getById ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var m = context.getElementById( id ); + return m ? [ m ] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + // Support: IE6/7 + // getElementById is not reliable as a find shortcut + delete Expr.find["ID"]; + + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See http://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" + + "<select id='" + expando + "-\r\\' msallowcapture=''>" + + "<option selected=''></option></select>"; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( div.querySelectorAll("[msallowcapture^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push("~="); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibing-combinator selector` fails + if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push(".#.+[+~]"); + } + }); + + assert(function( div ) { + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement("input"); + input.setAttribute( "type", "hidden" ); + div.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( div.querySelectorAll("[name=d]").length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = rnative.test( (matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) { + + // Choose the first element that is related to our preferred document + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { + return -1; + } + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + return a === document ? -1 : + b === document ? 1 : + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch (e) {} + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + (val = elem.getAttributeNode(name)) && val.specified ? + val.value : + null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( (elem = results[i++]) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + while ( (node = elem[i++]) ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[6] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[3] ) { + match[2] = match[4] || match[5] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { return true; } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + // Don't keep the element (issue #299) + input[0] = null; + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifier + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( (tokens = []) ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push({ + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + }); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push({ + value: matched, + type: type, + matches: match + }); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( (oldCache = uniqueCache[ dir ]) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return (newCache[ 2 ] = oldCache[ 2 ]); + } else { + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ dir ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" }) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find["TAG"]( "*", outermost ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1), + len = elems.length; + + if ( outermost ) { + outermostContext = context === document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id + for ( ; i !== len && (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context || document, xml) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( (selector = compiled.selector || selector) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + support.getById && context.nodeType === 9 && documentIsHTML && + Expr.relative[ tokens[1].type ] ) { + + context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split("").sort( sortOrder ).join("") === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert(function( div1 ) { + // Should return 1, but returns 4 (following) + return div1.compareDocumentPosition( document.createElement("div") ) & 1; +}); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert(function( div ) { + div.innerHTML = "<a href='#'></a>"; + return div.firstChild.getAttribute("href") === "#" ; +}) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + }); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert(function( div ) { + div.innerHTML = "<input/>"; + div.firstChild.setAttribute( "value", "" ); + return div.firstChild.getAttribute( "value" ) === ""; +}) ) { + addHandle( "value", function( elem, name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + }); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert(function( div ) { + return div.getAttribute("disabled") == null; +}) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + (val = elem.getAttributeNode( name )) && val.specified ? + val.value : + null; + } + }); +} + +return Sizzle; + +})( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + +var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ ); + + + +var risSimple = /^.[^:#\[\.,]*$/; + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + /* jshint -W018 */ + return !!qualifier.call( elem, i, elem ) !== not; + } ); + + } + + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + + } + + if ( typeof qualifier === "string" ) { + if ( risSimple.test( qualifier ) ) { + return jQuery.filter( qualifier, elements, not ); + } + + qualifier = jQuery.filter( qualifier, elements ); + } + + return jQuery.grep( elements, function( elem ) { + return ( jQuery.inArray( elem, qualifier ) > -1 ) !== not; + } ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 && elem.nodeType === 1 ? + jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : + jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, + ret = [], + self = this, + len = self.length; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = this.selector ? this.selector + " " + selector : selector; + return ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // init accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector.charAt( 0 ) === "<" && + selector.charAt( selector.length - 1 ) === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[ 2 ] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[ 0 ] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return typeof root.ready !== "undefined" ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var i, + targets = jQuery( target, this ), + len = targets.length; + + return this.filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( pos ? + pos.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[ 0 ], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem, this ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + ret = jQuery.uniqueSort( ret ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + } + + return this.pushStack( ret ); + }; +} ); +var rnotwhite = ( /\S+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( jQuery.isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = true; + if ( !memory ) { + self.disable(); + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks( "once memory" ), "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), "rejected" ], + [ "notify", "progress", jQuery.Callbacks( "memory" ) ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this === promise ? newDefer.promise() : this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( function() { + + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || + ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. + // If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( values === progressValues ) { + deferred.notifyWith( contexts, values ); + + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .progress( updateFunc( i, progressContexts, progressValues ) ) + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +} ); + + +// The deferred used on DOM ready +var readyList; + +jQuery.fn.ready = function( fn ) { + + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.triggerHandler ) { + jQuery( document ).triggerHandler( "ready" ); + jQuery( document ).off( "ready" ); + } + } +} ); + +/** + * Clean-up method for dom ready events + */ +function detach() { + if ( document.addEventListener ) { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + + } else { + document.detachEvent( "onreadystatechange", completed ); + window.detachEvent( "onload", completed ); + } +} + +/** + * The ready event handler and self cleanup method + */ +function completed() { + + // readyState === "complete" is good enough for us to call the dom ready in oldIE + if ( document.addEventListener || + window.event.type === "load" || + document.readyState === "complete" ) { + + detach(); + jQuery.ready(); + } +} + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called + // after the browser event has already occurred. + // Support: IE6-10 + // Older IE sometimes signals "interactive" too soon + if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + + // Standards-based browsers support DOMContentLoaded + } else if ( document.addEventListener ) { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); + + // If IE event model is used + } else { + + // Ensure firing before onload, maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", completed ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", completed ); + + // If IE and not a frame + // continually check to see if the document is ready + var top = false; + + try { + top = window.frameElement == null && document.documentElement; + } catch ( e ) {} + + if ( top && top.doScroll ) { + ( function doScrollCheck() { + if ( !jQuery.isReady ) { + + try { + + // Use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + top.doScroll( "left" ); + } catch ( e ) { + return window.setTimeout( doScrollCheck, 50 ); + } + + // detach all dom ready events + detach(); + + // and execute any waiting functions + jQuery.ready(); + } + } )(); + } + } + } + return readyList.promise( obj ); +}; + +// Kick off the DOM ready check even if the user does not +jQuery.ready.promise(); + + + + +// Support: IE<9 +// Iteration over object's inherited properties before its own +var i; +for ( i in jQuery( support ) ) { + break; +} +support.ownFirst = i === "0"; + +// Note: most support tests are defined in their respective modules. +// false until the test is run +support.inlineBlockNeedsLayout = false; + +// Execute ASAP in case we need to set body.style.zoom +jQuery( function() { + + // Minified: var a,b,c,d + var val, div, body, container; + + body = document.getElementsByTagName( "body" )[ 0 ]; + if ( !body || !body.style ) { + + // Return for frameset docs that don't have a body + return; + } + + // Setup + div = document.createElement( "div" ); + container = document.createElement( "div" ); + container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; + body.appendChild( container ).appendChild( div ); + + if ( typeof div.style.zoom !== "undefined" ) { + + // Support: IE<8 + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1"; + + support.inlineBlockNeedsLayout = val = div.offsetWidth === 3; + if ( val ) { + + // Prevent IE 6 from affecting layout for positioned elements #11048 + // Prevent IE from shrinking the body in IE 7 mode #12869 + // Support: IE<8 + body.style.zoom = 1; + } + } + + body.removeChild( container ); +} ); + + +( function() { + var div = document.createElement( "div" ); + + // Support: IE<9 + support.deleteExpando = true; + try { + delete div.test; + } catch ( e ) { + support.deleteExpando = false; + } + + // Null elements to avoid leaks in IE. + div = null; +} )(); +var acceptData = function( elem ) { + var noData = jQuery.noData[ ( elem.nodeName + " " ).toLowerCase() ], + nodeType = +elem.nodeType || 1; + + // Do not set data on non-element DOM nodes because it will not be cleared (#8335). + return nodeType !== 1 && nodeType !== 9 ? + false : + + // Nodes accept data unless otherwise specified; rejection can be conditional + !noData || noData !== true && elem.getAttribute( "classid" ) === noData; +}; + + + + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /([A-Z])/g; + +function dataAttr( elem, key, data ) { + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[ name ] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} + +function internalData( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !acceptData( elem ) ) { + return; + } + + var ret, thisCache, + internalKey = jQuery.expando, + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( ( !id || !cache[ id ] || ( !pvt && !cache[ id ].data ) ) && + data === undefined && typeof name === "string" ) { + return; + } + + if ( !id ) { + + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + id = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + + // Avoid exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + cache[ id ] = isNode ? {} : { toJSON: jQuery.noop }; + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( typeof name === "string" ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; +} + +function internalRemoveData( elem, name, pvt ) { + if ( !acceptData( elem ) ) { + return; + } + + var thisCache, i, + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split( " " ); + } + } + } else { + + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = name.concat( jQuery.map( name, jQuery.camelCase ) ); + } + + i = name.length; + while ( i-- ) { + delete thisCache[ name[ i ] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( pvt ? !isEmptyDataObject( thisCache ) : !jQuery.isEmptyObject( thisCache ) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + jQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + /* jshint eqeqeq: false */ + } else if ( support.deleteExpando || cache != cache.window ) { + /* jshint eqeqeq: true */ + delete cache[ id ]; + + // When all else fails, undefined + } else { + cache[ id ] = undefined; + } +} + +jQuery.extend( { + cache: {}, + + // The following elements (space-suffixed to avoid Object.prototype collisions) + // throw uncatchable exceptions if you attempt to set expando properties + noData: { + "applet ": true, + "embed ": true, + + // ...but Flash objects (which have this classid) *can* handle expandos + "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[ jQuery.expando ] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data ) { + return internalData( elem, name, data ); + }, + + removeData: function( elem, name ) { + return internalRemoveData( elem, name ); + }, + + // For internal use only. + _data: function( elem, name, data ) { + return internalData( elem, name, data, true ); + }, + + _removeData: function( elem, name ) { + return internalRemoveData( elem, name, true ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Special expections of .data basically thwart jQuery.access, + // so implement the relevant behavior ourselves + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE11+ + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = jQuery.camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + jQuery.data( this, key ); + } ); + } + + return arguments.length > 1 ? + + // Sets one value + this.each( function() { + jQuery.data( this, key, value ); + } ) : + + // Gets one value + // Try to fetch any internally stored data first + elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined; + }, + + removeData: function( key ) { + return this.each( function() { + jQuery.removeData( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray( data ) ) { + queue = jQuery._data( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, + // or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return jQuery._data( elem, key ) || jQuery._data( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + jQuery._removeData( elem, type + "queue" ); + jQuery._removeData( elem, key ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = jQuery._data( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); + + +( function() { + var shrinkWrapBlocksVal; + + support.shrinkWrapBlocks = function() { + if ( shrinkWrapBlocksVal != null ) { + return shrinkWrapBlocksVal; + } + + // Will be changed later if needed. + shrinkWrapBlocksVal = false; + + // Minified: var b,c,d + var div, body, container; + + body = document.getElementsByTagName( "body" )[ 0 ]; + if ( !body || !body.style ) { + + // Test fired too early or in an unsupported environment, exit. + return; + } + + // Setup + div = document.createElement( "div" ); + container = document.createElement( "div" ); + container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px"; + body.appendChild( container ).appendChild( div ); + + // Support: IE6 + // Check if elements with layout shrink-wrap their children + if ( typeof div.style.zoom !== "undefined" ) { + + // Reset CSS: box-sizing; display; margin; border + div.style.cssText = + + // Support: Firefox<29, Android 2.3 + // Vendor-prefix box-sizing + "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" + + "box-sizing:content-box;display:block;margin:0;border:0;" + + "padding:1px;width:1px;zoom:1"; + div.appendChild( document.createElement( "div" ) ).style.width = "5px"; + shrinkWrapBlocksVal = div.offsetWidth !== 3; + } + + body.removeChild( container ); + + return shrinkWrapBlocksVal; + }; + +} )(); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var isHidden = function( elem, el ) { + + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || + !jQuery.contains( elem.ownerDocument, elem ); + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { return tween.cur(); } : + function() { return jQuery.css( elem, prop, "" ); }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + length = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < length; i++ ) { + fn( + elems[ i ], + key, + raw ? value : value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[ 0 ], key ) : emptyGet; +}; +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([\w:-]+)/ ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + +var rleadingWhitespace = ( /^\s+/ ); + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|" + + "details|dialog|figcaption|figure|footer|header|hgroup|main|" + + "mark|meter|nav|output|picture|progress|section|summary|template|time|video"; + + + +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + + +( function() { + var div = document.createElement( "div" ), + fragment = document.createDocumentFragment(), + input = document.createElement( "input" ); + + // Setup + div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; + + // IE strips leading whitespace when .innerHTML is used + support.leadingWhitespace = div.firstChild.nodeType === 3; + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + support.tbody = !div.getElementsByTagName( "tbody" ).length; + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + support.htmlSerialize = !!div.getElementsByTagName( "link" ).length; + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + support.html5Clone = + document.createElement( "nav" ).cloneNode( true ).outerHTML !== "<:nav></:nav>"; + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + input.type = "checkbox"; + input.checked = true; + fragment.appendChild( input ); + support.appendChecked = input.checked; + + // Make sure textarea (and checkbox) defaultValue is properly cloned + // Support: IE6-IE11+ + div.innerHTML = "<textarea>x</textarea>"; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // #11217 - WebKit loses check when the name is after the checked attribute + fragment.appendChild( div ); + + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input = document.createElement( "input" ); + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3 + // old WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<9 + // Cloned elements keep attachEvent handlers, we use addEventListener on IE9+ + support.noCloneEvent = !!div.addEventListener; + + // Support: IE<9 + // Since attributes and properties are the same in IE, + // cleanData must set properties to undefined rather than use removeAttribute + div[ jQuery.expando ] = 1; + support.attributes = !div.getAttribute( jQuery.expando ); +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + option: [ 1, "<select multiple='multiple'>", "</select>" ], + legend: [ 1, "<fieldset>", "</fieldset>" ], + area: [ 1, "<map>", "</map>" ], + + // Support: IE8 + param: [ 1, "<object>", "</object>" ], + thead: [ 1, "<table>", "</table>" ], + tr: [ 2, "<table><tbody>", "</tbody></table>" ], + col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ], + td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], + + // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, + // unless wrapped in a div with non-breaking characters in front of it. + _default: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X<div>", "</div>" ] +}; + +// Support: IE8-IE9 +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + var elems, elem, + i = 0, + found = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== "undefined" ? + context.querySelectorAll( tag || "*" ) : + undefined; + + if ( !found ) { + for ( found = [], elems = context.childNodes || context; + ( elem = elems[ i ] ) != null; + i++ + ) { + if ( !tag || jQuery.nodeName( elem, tag ) ) { + found.push( elem ); + } else { + jQuery.merge( found, getAll( elem, tag ) ); + } + } + } + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], found ) : + found; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var elem, + i = 0; + for ( ; ( elem = elems[ i ] ) != null; i++ ) { + jQuery._data( + elem, + "globalEval", + !refElements || jQuery._data( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/, + rtbody = /<tbody/i; + +function fixDefaultChecked( elem ) { + if ( rcheckableType.test( elem.type ) ) { + elem.defaultChecked = elem.checked; + } +} + +function buildFragment( elems, context, scripts, selection, ignored ) { + var j, elem, contains, + tmp, tag, tbody, wrap, + l = elems.length, + + // Ensure a safe fragment + safe = createSafeFragment( context ), + + nodes = [], + i = 0; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || safe.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Manually add leading whitespace removed by IE + if ( !support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[ 0 ] ) ); + } + + // Remove IE's autoinserted <tbody> from table fragments + if ( !support.tbody ) { + + // String was a <table>, *may* have spurious <tbody> + elem = tag === "table" && !rtbody.test( elem ) ? + tmp.firstChild : + + // String was a bare <thead> or <tfoot> + wrap[ 1 ] === "<table>" && !rtbody.test( elem ) ? + tmp : + 0; + + j = elem && elem.childNodes.length; + while ( j-- ) { + if ( jQuery.nodeName( ( tbody = elem.childNodes[ j ] ), "tbody" ) && + !tbody.childNodes.length ) { + + elem.removeChild( tbody ); + } + } + } + + jQuery.merge( nodes, tmp.childNodes ); + + // Fix #12392 for WebKit and IE > 9 + tmp.textContent = ""; + + // Fix #12392 for oldIE + while ( tmp.firstChild ) { + tmp.removeChild( tmp.firstChild ); + } + + // Remember the top-level container for proper cleanup + tmp = safe.lastChild; + } + } + } + + // Fix #11356: Clear elements from fragment + if ( tmp ) { + safe.removeChild( tmp ); + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !support.appendChecked ) { + jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); + } + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( safe.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + tmp = null; + + return safe; +} + + +( function() { + var i, eventName, + div = document.createElement( "div" ); + + // Support: IE<9 (lack submit/change bubble), Firefox (lack focus(in | out) events) + for ( i in { submit: true, change: true, focusin: true } ) { + eventName = "on" + i; + + if ( !( support[ i ] = eventName in window ) ) { + + // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP) + div.setAttribute( eventName, "t" ); + support[ i ] = div.attributes[ eventName ].expando === false; + } + } + + // Null elements to avoid leaks in IE. + div = null; +} )(); + + +var rformElems = /^(?:input|select|textarea)$/i, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE9 +// See #13393 for more info +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + var tmp, events, t, handleObjIn, + special, eventHandle, handleObj, + handlers, type, namespaces, origType, + elemData = jQuery._data( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = {}; + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && + ( !e || jQuery.event.triggered !== e.type ) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + + // Add elem as a property of the handle fn to prevent a memory leak + // with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + var j, handleObj, tmp, + origCount, t, events, + special, handlers, type, + namespaces, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnotwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery._removeData( elem, "events" ); + } + }, + + trigger: function( event, data, elem, onlyHandlers ) { + var handle, ontype, cur, + bubbleType, special, tmp, i, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && + jQuery._data( cur, "handle" ); + + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( + ( !special._default || + special._default.apply( eventPath.pop(), data ) === false + ) && acceptData( elem ) + ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + try { + elem[ type ](); + } catch ( e ) { + + // IE<9 dies on focus/blur to hidden element (#1486,#12518) + // only reproducible on winXP IE8 native, not IE9 in IE8 mode + } + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, j, ret, matched, handleObj, + handlerQueue = [], + args = slice.call( arguments ), + handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or 2) have namespace(s) + // a subset or equal to those in the bound event (both can have no namespace). + if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, matches, sel, handleObj, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Support (at least): Chrome, IE9 + // Find delegate handlers + // Black-hole SVG <use> instance trees (#13180) + // + // Support: Firefox<=42+ + // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343) + if ( delegateCount && cur.nodeType && + ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) { + + /* jshint eqeqeq: false */ + for ( ; cur != this; cur = cur.parentNode || this ) { + /* jshint eqeqeq: true */ + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push( { elem: cur, handlers: matches } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: IE<9 + // Fix target property (#1925) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Support: Safari 6-8+ + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Support: IE<9 + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) + event.metaKey = !!event.metaKey; + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " + + "metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split( " " ), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: ( "button buttons clientX clientY fromElement offsetX offsetY " + + "pageX pageY screenX screenY toElement" ).split( " " ), + filter: function( event, original ) { + var body, eventDoc, doc, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - + ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - + ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? + original.toElement : + fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + focus: { + + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== safeActiveElement() && this.focus ) { + try { + this.focus(); + return false; + } catch ( e ) { + + // Support: IE<9 + // If we error on focus to hidden element (#1486, #12518), + // let .trigger() run the handlers + } + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === safeActiveElement() && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + click: { + + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { + this.click(); + return false; + } + }, + + // For cross-browser consistency, don't fire native .click() on links + _default: function( event ) { + return jQuery.nodeName( event.target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + // Piggyback on a donor event to simulate a different one + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + + // Previously, `originalEvent: {}` was set here, so stopPropagation call + // would not be triggered on donor event, since in our own + // jQuery.event.stopPropagation function we had a check for existence of + // originalEvent.stopPropagation method, so, consequently it would be a noop. + // + // Guard for simulated events was moved to jQuery.event.stopPropagation function + // since `originalEvent` should point to the original event for the + // constancy with other events and for more focused logic + } + ); + + jQuery.event.trigger( e, null, elem ); + + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 + // detachEvent needed property on element, by name of that event, + // to properly expose it to GC + if ( typeof elem[ name ] === "undefined" ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: IE < 9, Android < 4.0 + src.returnValue === false ? + returnTrue : + returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + if ( !e ) { + return; + } + + // If preventDefault exists, run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // Support: IE + // Otherwise set the returnValue property of the original event to false + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( !e || this.isSimulated ) { + return; + } + + // If stopPropagation exists, run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + + // Support: IE + // Set the cancelBubble property of the original event to true + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && e.stopImmediatePropagation ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://code.google.com/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +// IE submit delegation +if ( !support.submit ) { + + jQuery.event.special.submit = { + setup: function() { + + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? + + // Support: IE <=8 + // We use jQuery.prop instead of elem.form + // to allow fixing the IE8 delegated submit issue (gh-2332) + // by 3rd party polyfills/workarounds. + jQuery.prop( elem, "form" ) : + undefined; + + if ( form && !jQuery._data( form, "submit" ) ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submitBubble = true; + } ); + jQuery._data( form, "submit", true ); + } + } ); + + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + + // If form was submitted by the user, bubble the event up the tree + if ( event._submitBubble ) { + delete event._submitBubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event ); + } + } + }, + + teardown: function() { + + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !support.change ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._justChanged = true; + } + } ); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._justChanged && !event.isTrigger ) { + this._justChanged = false; + } + + // Allow triggered, simulated change events (#11500) + jQuery.event.simulate( "change", this, event ); + } ); + } + return false; + } + + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "change" ) ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event ); + } + } ); + jQuery._data( elem, "change", true ); + } + } ); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || + ( elem.type !== "radio" && elem.type !== "checkbox" ) ) { + + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return !rformElems.test( this.nodeName ); + } + }; +} + +// Support: Firefox +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome, Safari +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + var doc = this.ownerDocument || this, + attaches = jQuery._data( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + jQuery._data( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this, + attaches = jQuery._data( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + jQuery._removeData( doc, fix ); + } else { + jQuery._data( doc, fix, attaches ); + } + } + }; + } ); +} + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + }, + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +var rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, + rnoshimcache = new RegExp( "<(?:" + nodeNames + ")[\\s/>]", "i" ), + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, + + // Support: IE 10-11, Edge 10240+ + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /<script|<style|<link/i, + + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptTypeMasked = /^true\/(.*)/, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement( "div" ) ); + +// Support: IE<8 +// Manipulating tables requires a tbody +function manipulationTarget( elem, content ) { + return jQuery.nodeName( elem, "table" ) && + jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ? + + elem.getElementsByTagName( "tbody" )[ 0 ] || + elem.appendChild( elem.ownerDocument.createElement( "tbody" ) ) : + elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( jQuery.find.attr( elem, "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + if ( match ) { + elem.type = match[ 1 ]; + } else { + elem.removeAttribute( "type" ); + } + return elem; +} + +function cloneCopyEvent( src, dest ) { + if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = jQuery._data( src ), + curData = jQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = jQuery.extend( {}, curData.data ); + } +} + +function fixCloneNodeIssues( src, dest ) { + var nodeName, e, data; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + nodeName = dest.nodeName.toLowerCase(); + + // IE6-8 copies events bound via attachEvent when using cloneNode. + if ( !support.noCloneEvent && dest[ jQuery.expando ] ) { + data = jQuery._data( dest ); + + for ( e in data.events ) { + jQuery.removeEvent( dest, e, data.handle ); + } + + // Event data gets referenced instead of copied if the expando gets copied too + dest.removeAttribute( jQuery.expando ); + } + + // IE blanks contents when cloning scripts, and tries to evaluate newly-set text + if ( nodeName === "script" && dest.text !== src.text ) { + disableScript( dest ).text = src.text; + restoreScript( dest ); + + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + } else if ( nodeName === "object" ) { + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( support.html5Clone && ( src.innerHTML && !jQuery.trim( dest.innerHTML ) ) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.defaultSelected = dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = concat.apply( [], args ); + + var first, node, hasScripts, + scripts, doc, fragment, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !jQuery._data( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + jQuery.globalEval( + ( node.text || node.textContent || node.innerHTML || "" ) + .replace( rcleanScript, "" ) + ); + } + } + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + elems = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = elems[ i ] ) != null; i++ ) { + + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1></$2>" ); + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var destElements, node, clone, i, srcElements, + inPage = jQuery.contains( elem.ownerDocument, elem ); + + if ( support.html5Clone || jQuery.isXMLDoc( elem ) || + !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( ( !support.noCloneEvent || !support.noCloneChecked ) && + ( elem.nodeType === 1 || elem.nodeType === 11 ) && !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + // Fix all IE cloning issues + for ( i = 0; ( node = srcElements[ i ] ) != null; ++i ) { + + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[ i ] ) { + fixCloneNodeIssues( node, destElements[ i ] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0; ( node = srcElements[ i ] ) != null; i++ ) { + cloneCopyEvent( node, destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + destElements = srcElements = node = null; + + // Return the cloned set + return clone; + }, + + cleanData: function( elems, /* internal */ forceAcceptData ) { + var elem, type, id, data, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + attributes = support.attributes, + special = jQuery.event.special; + + for ( ; ( elem = elems[ i ] ) != null; i++ ) { + if ( forceAcceptData || acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // Support: IE<9 + // IE does not allow us to delete expando properties from nodes + // IE creates expando attributes along with the property + // IE does not have a removeAttribute function on Document nodes + if ( !attributes && typeof elem.removeAttribute !== "undefined" ) { + elem.removeAttribute( internalKey ); + + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://code.google.com/p/chromium/issues/detail?id=378607 + } else { + elem[ internalKey ] = undefined; + } + + deletedIds.push( id ); + } + } + } + } + } +} ); + +jQuery.fn.extend( { + + // Keep domManip exposed until 3.0 (gh-2225) + domManip: domManip, + + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().append( + ( this[ 0 ] && this[ 0 ].ownerDocument || document ).createTextNode( value ) + ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + + // If this is a select, ensure that it displays empty (#12336) + // Support: IE<9 + if ( elem.options && jQuery.nodeName( elem, "select" ) ) { + elem.options.length = 0; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlinejQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + + // Remove element nodes and prevent memory leaks + elem = this[ i ] || {}; + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); + + +var iframe, + elemdisplay = { + + // Support: Firefox + // We have to pre-define these values for FF (#10227) + HTML: "block", + BODY: "block" + }; + +/** + * Retrieve the actual display of a element + * @param {String} name nodeName of the element + * @param {Object} doc Document object + */ + +// Called only from within defaultDisplay +function actualDisplay( name, doc ) { + var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + + display = jQuery.css( elem[ 0 ], "display" ); + + // We don't have any data stored on the element, + // so use "detach" method as fast way to get rid of the element + elem.detach(); + + return display; +} + +/** + * Try to determine the default display value of an element + * @param {String} nodeName + */ +function defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + + // Use the already-created iframe if possible + iframe = ( iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" ) ) + .appendTo( doc.documentElement ); + + // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse + doc = ( iframe[ 0 ].contentWindow || iframe[ 0 ].contentDocument ).document; + + // Support: IE + doc.write(); + doc.close(); + + display = actualDisplay( nodeName, doc ); + iframe.detach(); + } + + // Store the correct default display + elemdisplay[ nodeName ] = display; + } + + return display; +} +var rmargin = ( /^margin/ ); + +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var swap = function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var documentElement = document.documentElement; + + + +( function() { + var pixelPositionVal, pixelMarginRightVal, boxSizingReliableVal, + reliableHiddenOffsetsVal, reliableMarginRightVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + div.style.cssText = "float:left;opacity:.5"; + + // Support: IE<9 + // Make sure that element opacity exists (as opposed to filter) + support.opacity = div.style.opacity === "0.5"; + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + support.cssFloat = !!div.style.cssFloat; + + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + container = document.createElement( "div" ); + container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" + + "padding:0;margin-top:1px;position:absolute"; + div.innerHTML = ""; + container.appendChild( div ); + + // Support: Firefox<29, Android 2.3 + // Vendor-prefix box-sizing + support.boxSizing = div.style.boxSizing === "" || div.style.MozBoxSizing === "" || + div.style.WebkitBoxSizing === ""; + + jQuery.extend( support, { + reliableHiddenOffsets: function() { + if ( pixelPositionVal == null ) { + computeStyleTests(); + } + return reliableHiddenOffsetsVal; + }, + + boxSizingReliable: function() { + + // We're checking for pixelPositionVal here instead of boxSizingReliableVal + // since that compresses better and they're computed together anyway. + if ( pixelPositionVal == null ) { + computeStyleTests(); + } + return boxSizingReliableVal; + }, + + pixelMarginRight: function() { + + // Support: Android 4.0-4.3 + if ( pixelPositionVal == null ) { + computeStyleTests(); + } + return pixelMarginRightVal; + }, + + pixelPosition: function() { + if ( pixelPositionVal == null ) { + computeStyleTests(); + } + return pixelPositionVal; + }, + + reliableMarginRight: function() { + + // Support: Android 2.3 + if ( pixelPositionVal == null ) { + computeStyleTests(); + } + return reliableMarginRightVal; + }, + + reliableMarginLeft: function() { + + // Support: IE <=8 only, Android 4.0 - 4.3 only, Firefox <=3 - 37 + if ( pixelPositionVal == null ) { + computeStyleTests(); + } + return reliableMarginLeftVal; + } + } ); + + function computeStyleTests() { + var contents, divStyle, + documentElement = document.documentElement; + + // Setup + documentElement.appendChild( container ); + + div.style.cssText = + + // Support: Android 2.3 + // Vendor-prefix box-sizing + "-webkit-box-sizing:border-box;box-sizing:border-box;" + + "position:relative;display:block;" + + "margin:auto;border:1px;padding:1px;" + + "top:1%;width:50%"; + + // Support: IE<9 + // Assume reasonable values in the absence of getComputedStyle + pixelPositionVal = boxSizingReliableVal = reliableMarginLeftVal = false; + pixelMarginRightVal = reliableMarginRightVal = true; + + // Check for getComputedStyle so that this code is not run in IE<9. + if ( window.getComputedStyle ) { + divStyle = window.getComputedStyle( div ); + pixelPositionVal = ( divStyle || {} ).top !== "1%"; + reliableMarginLeftVal = ( divStyle || {} ).marginLeft === "2px"; + boxSizingReliableVal = ( divStyle || { width: "4px" } ).width === "4px"; + + // Support: Android 4.0 - 4.3 only + // Some styles come back with percentage values, even though they shouldn't + div.style.marginRight = "50%"; + pixelMarginRightVal = ( divStyle || { marginRight: "4px" } ).marginRight === "4px"; + + // Support: Android 2.3 only + // Div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container (#3333) + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + contents = div.appendChild( document.createElement( "div" ) ); + + // Reset CSS: box-sizing; display; margin; border; padding + contents.style.cssText = div.style.cssText = + + // Support: Android 2.3 + // Vendor-prefix box-sizing + "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" + + "box-sizing:content-box;display:block;margin:0;border:0;padding:0"; + contents.style.marginRight = contents.style.width = "0"; + div.style.width = "1px"; + + reliableMarginRightVal = + !parseFloat( ( window.getComputedStyle( contents ) || {} ).marginRight ); + + div.removeChild( contents ); + } + + // Support: IE6-8 + // First check that getClientRects works as expected + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + div.style.display = "none"; + reliableHiddenOffsetsVal = div.getClientRects().length === 0; + if ( reliableHiddenOffsetsVal ) { + div.style.display = ""; + div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>"; + div.childNodes[ 0 ].style.borderCollapse = "separate"; + contents = div.getElementsByTagName( "td" ); + contents[ 0 ].style.cssText = "margin:0;border:0;padding:0;display:none"; + reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0; + if ( reliableHiddenOffsetsVal ) { + contents[ 0 ].style.display = ""; + contents[ 1 ].style.display = "none"; + reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0; + } + } + + // Teardown + documentElement.removeChild( container ); + } + +} )(); + + +var getStyles, curCSS, + rposition = /^(top|right|bottom|left)$/; + +if ( window.getComputedStyle ) { + getStyles = function( elem ) { + + // Support: IE<=11+, Firefox<=30+ (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + + curCSS = function( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is only needed for .css('filter') in IE9, see #12537 + ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined; + + // Support: Opera 12.1x only + // Fall back to style even without computed + // computed is undefined for elems on document fragments + if ( ( ret === "" || ret === undefined ) && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + if ( computed ) { + + // A tribute to the "awesome hack by Dean Edwards" + // Chrome < 17 and Safari 5.0 uses "computed value" + // instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, + // but width seems to be reliably pixels + // this is against the CSSOM draft spec: + // http://dev.w3.org/csswg/cssom/#resolved-values + if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + // Support: IE + // IE returns zIndex value as an integer. + return ret === undefined ? + ret : + ret + ""; + }; +} else if ( documentElement.currentStyle ) { + getStyles = function( elem ) { + return elem.currentStyle; + }; + + curCSS = function( elem, name, computed ) { + var left, rs, rsLeft, ret, + style = elem.style; + + computed = computed || getStyles( elem ); + ret = computed ? computed[ name ] : undefined; + + // Avoid setting ret to empty string here + // so we don't default to auto + if ( ret == null && style && style[ name ] ) { + ret = style[ name ]; + } + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // but not position css attributes, as those are + // proportional to the parent element instead + // and we can't measure the parent instead because it + // might trigger a "stacking dolls" problem + if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { + + // Remember the original values + left = style.left; + rs = elem.runtimeStyle; + rsLeft = rs && rs.left; + + // Put in the new values to get a computed value out + if ( rsLeft ) { + rs.left = elem.currentStyle.left; + } + style.left = name === "fontSize" ? "1em" : ret; + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + if ( rsLeft ) { + rs.left = rsLeft; + } + } + + // Support: IE + // IE returns zIndex value as an integer. + return ret === undefined ? + ret : + ret + "" || "auto"; + }; +} + + + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var + + ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity\s*=\s*([^)]*)/i, + + // swappable if display is none or starts with table except + // "table", "table-cell", or "table-caption" + // see here for display values: + // https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rnumsplit = new RegExp( "^(" + pnum + ")(.*)$", "i" ), + + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }, + + cssPrefixes = [ "Webkit", "O", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style; + + +// return a css property mapped to a potentially vendor prefixed property +function vendorPropName( name ) { + + // shortcut for names that are not vendor prefixed + if ( name in emptyStyle ) { + return name; + } + + // check for vendor prefixed names + var capName = name.charAt( 0 ).toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +function showHide( elements, show ) { + var display, elem, hidden, + values = [], + index = 0, + length = elements.length; + + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + values[ index ] = jQuery._data( elem, "olddisplay" ); + display = elem.style.display; + if ( show ) { + + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !values[ index ] && display === "none" ) { + elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( elem.style.display === "" && isHidden( elem ) ) { + values[ index ] = + jQuery._data( elem, "olddisplay", defaultDisplay( elem.nodeName ) ); + } + } else { + hidden = isHidden( elem ); + + if ( display && display !== "none" || !hidden ) { + jQuery._data( + elem, + "olddisplay", + hidden ? display : jQuery.css( elem, "display" ) + ); + } + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( index = 0; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + if ( !show || elem.style.display === "none" || elem.style.display === "" ) { + elem.style.display = show ? values[ index ] || "" : "none"; + } + } + + return elements; +} + +function setPositiveNumber( elem, value, subtract ) { + var matches = rnumsplit.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + + // If we already have the right measurement, avoid augmentation + 4 : + + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + + // both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // at this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + + // at this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // at this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var valueIsBorderBox = true, + val = name === "width" ? elem.offsetWidth : elem.offsetHeight, + styles = getStyles( elem ), + isBorderBox = support.boxSizing && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test( val ) ) { + return val; + } + + // we need the check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && + ( support.boxSizingReliable() || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + + // normalize float css property + "float": support.cssFloat ? "cssFloat" : "styleFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set. See: #7116 + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + if ( type === "number" ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, + // but it would mean to define eight + // (for every problematic property) identical functions + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + // Support: IE + // Swallow errors from 'invalid' CSS values (#5509) + try { + style[ name ] = value; + } catch ( e ) {} + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var num, val, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || + ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + //convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Return, converting to number if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // certain elements can have dimension info if we invisibly show them + // however, it must have a current display style that would benefit from this + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + elem.offsetWidth === 0 ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + } ) : + getWidthOrHeight( elem, name, extra ); + } + }, + + set: function( elem, value, extra ) { + var styles = extra && getStyles( elem ); + return setPositiveNumber( elem, value, extra ? + augmentWidthOrHeight( + elem, + name, + extra, + support.boxSizing && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + styles + ) : 0 + ); + } + }; +} ); + +if ( !support.opacity ) { + jQuery.cssHooks.opacity = { + get: function( elem, computed ) { + + // IE uses filters for opacity + return ropacity.test( ( computed && elem.currentStyle ? + elem.currentStyle.filter : + elem.style.filter ) || "" ) ? + ( 0.01 * parseFloat( RegExp.$1 ) ) + "" : + computed ? "1" : ""; + }, + + set: function( elem, value ) { + var style = elem.style, + currentStyle = elem.currentStyle, + opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "", + filter = currentStyle && currentStyle.filter || style.filter || ""; + + // IE has trouble with opacity if it does not have layout + // Force it by setting the zoom level + style.zoom = 1; + + // if setting opacity to 1, and no other filters exist - + // attempt to remove filter attribute #6652 + // if value === "", then remove inline opacity #12685 + if ( ( value >= 1 || value === "" ) && + jQuery.trim( filter.replace( ralpha, "" ) ) === "" && + style.removeAttribute ) { + + // Setting style.filter to null, "" & " " still leave "filter:" in the cssText + // if "filter:" is present at all, clearType is disabled, we want to avoid this + // style.removeAttribute is IE Only, but so apparently is this code path... + style.removeAttribute( "filter" ); + + // if there is no filter style applied in a css rule + // or unset inline opacity, we are done + if ( value === "" || currentStyle && !currentStyle.filter ) { + return; + } + } + + // otherwise, set new filter values + style.filter = ralpha.test( filter ) ? + filter.replace( ralpha, opacity ) : + filter + " " + opacity; + } + }; +} + +jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight, + function( elem, computed ) { + if ( computed ) { + return swap( elem, { "display": "inline-block" }, + curCSS, [ elem, "marginRight" ] ); + } + } +); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( + parseFloat( curCSS( elem, "marginLeft" ) ) || + + // Support: IE<=11+ + // Running getBoundingClientRect on a disconnected node in IE throws an error + // Support: IE8 only + // getClientRects() errors on disconnected elems + ( jQuery.contains( elem.ownerDocument, elem ) ? + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) : + 0 + ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + }, + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHidden( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails + // so, simple values such as "10px" are parsed to Float. + // complex values such as "rotate(1rad)" are returned as is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // use step hook for back compat - use cssHook if its there - use .style if its + // available and use plain properties where available + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && + ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || + jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 +// Panic based approach to setting things on disconnected nodes + +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back Compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = jQuery.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + attrs = { height: type }, + i = 0; + + // if we include width, step value is 1 to do all cssExpand values, + // if we don't include width, step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4 ; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // we're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + /* jshint validthis: true */ + var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHidden( elem ), + dataShow = jQuery._data( elem, "fxshow" ); + + // handle queue: false promises + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // doing this makes sure that the complete handler will be called + // before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // height/width overflow pass + if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { + + // Make sure that nothing sneaks out + // Record all 3 overflow attributes because IE does not + // change the overflow attribute when overflowX and + // overflowY are set to the same value + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Set display property to inline-block for height/width + // animations on inline elements that are having width/height animated + display = jQuery.css( elem, "display" ); + + // Test default display if display is currently "none" + checkDisplay = display === "none" ? + jQuery._data( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display; + + if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) { + + // inline-level elements accept inline-block; + // block-level elements need to be inline with layout + if ( !support.inlineBlockNeedsLayout || defaultDisplay( elem.nodeName ) === "inline" ) { + style.display = "inline-block"; + } else { + style.zoom = 1; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + if ( !support.shrinkWrapBlocks() ) { + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + } + + // show/hide pass + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.exec( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // If there is dataShow left over from a stopped hide or show + // and we are going to proceed with show, we should pretend to be hidden + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + + // Any non-fx value stops us from restoring the original display value + } else { + display = undefined; + } + } + + if ( !jQuery.isEmptyObject( orig ) ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = jQuery._data( elem, "fxshow", {} ); + } + + // store state if its toggle - enables .stop().toggle() to "reverse" + if ( toggle ) { + dataShow.hidden = !hidden; + } + if ( hidden ) { + jQuery( elem ).show(); + } else { + anim.done( function() { + jQuery( elem ).hide(); + } ); + } + anim.done( function() { + var prop; + jQuery._removeData( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + for ( prop in orig ) { + tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = tween.start; + if ( hidden ) { + tween.end = tween.start; + tween.start = prop === "width" || prop === "height" ? 1 : 0; + } + } + } + + // If this is a noop like .hide().hide(), restore an overwritten display value + } else if ( ( display === "none" ? defaultDisplay( elem.nodeName ) : display ) === "inline" ) { + style.display = display; + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // not quite $.extend, this wont overwrite keys already present. + // also - reusing 'index' from above because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // if we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // resolve when we played the last frame + // otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length ; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( jQuery.isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + jQuery.proxy( result.stop, result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnotwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length ; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : + opt.duration in jQuery.fx.speeds ? + jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; + + // normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // show any hidden elements after setting opacity to 0 + return this.filter( isHidden ).css( "opacity", 0 ).show() + + // animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || jQuery._data( this, "finish" ) ) { + anim.stop( true ); + } + }; + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = jQuery._data( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // start the next in the queue if the last step wasn't forced + // timers currently will call their complete callbacks, which will dequeue + // but only if they were gotoEnd + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = jQuery._data( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // enable finishing flag on private data + data.finish = true; + + // empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + timers = jQuery.timers, + i = 0; + + fxNow = jQuery.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + if ( timer() ) { + jQuery.fx.start(); + } else { + jQuery.timers.pop(); + } +}; + +jQuery.fx.interval = 13; + +jQuery.fx.start = function() { + if ( !timerId ) { + timerId = window.setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.stop = function() { + window.clearInterval( timerId ); + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var a, + input = document.createElement( "input" ), + div = document.createElement( "div" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + // Setup + div = document.createElement( "div" ); + div.setAttribute( "className", "t" ); + div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>"; + a = div.getElementsByTagName( "a" )[ 0 ]; + + // Support: Windows Web Apps (WWA) + // `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "checkbox" ); + div.appendChild( input ); + + a = div.getElementsByTagName( "a" )[ 0 ]; + + // First batch of tests. + a.style.cssText = "top:1px"; + + // Test setAttribute on camelCase class. + // If it works, we need attrFixes when doing get/setAttribute (ie6/7) + support.getSetAttribute = div.className !== "t"; + + // Get the style information from getAttribute + // (IE uses .cssText instead) + support.style = /top/.test( a.getAttribute( "style" ) ); + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + support.hrefNormalized = a.getAttribute( "href" ) === "/a"; + + // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) + support.checkOn = !!input.value; + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + support.optSelected = opt.selected; + + // Tests for enctype support on a form (#6743) + support.enctype = !!document.createElement( "form" ).enctype; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Support: IE8 only + // Check if we can trust getAttribute("value") + input = document.createElement( "input" ); + input.setAttribute( "value", "" ); + support.input = input.getAttribute( "value" ) === ""; + + // Check if an input maintains its value after becoming a radio + input.value = "t"; + input.setAttribute( "type", "radio" ); + support.radioValue = input.value === "t"; +} )(); + + +var rreturn = /\r/g, + rspaces = /[\x20\t\r\n\f]+/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, isFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( + hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + + // handle most common string cases + ret.replace( rreturn, "" ) : + + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE10-11+ + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + jQuery.trim( jQuery.text( elem ) ).replace( rspaces, " " ); + } + }, + select: { + get: function( elem ) { + var value, option, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one" || index < 0, + values = one ? null : [], + max = one ? index + 1 : options.length, + i = index < 0 ? + max : + one ? index : 0; + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // oldIE doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + ( support.optDisabled ? + !option.disabled : + option.getAttribute( "disabled" ) === null ) && + ( !option.parentNode.disabled || + !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + if ( jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 ) { + + // Support: IE6 + // When new option element is added to select box we need to + // force reflow of newly added node in order to workaround delay + // of initialization properties + try { + option.selected = optionSet = true; + + } catch ( _ ) { + + // Will be executed only in IE6 + option.scrollHeight; + } + + } else { + option.selected = false; + } + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + + return options; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +var nodeHook, boolHook, + attrHandle = jQuery.expr.attrHandle, + ruseDefault = /^(?:checked|selected)$/i, + getSetAttribute = support.getSetAttribute, + getSetInput = support.input; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + jQuery.nodeName( elem, "input" ) ) { + + // Setting the type on a radio button after the value resets the value in IE8-9 + // Reset value to default in case type is set after value during creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, propName, + i = 0, + attrNames = value && value.match( rnotwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + propName = jQuery.propFix[ name ] || name; + + // Boolean attributes get special treatment (#10870) + if ( jQuery.expr.match.bool.test( name ) ) { + + // Set corresponding property to false + if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + elem[ propName ] = false; + + // Support: IE<9 + // Also clear defaultChecked/defaultSelected (if appropriate) + } else { + elem[ jQuery.camelCase( "default-" + name ) ] = + elem[ propName ] = false; + } + + // See #9699 for explanation of this approach (setting first, then removal) + } else { + jQuery.attr( elem, name, "" ); + } + + elem.removeAttribute( getSetAttribute ? name : propName ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + + // IE<8 needs the *property* name + elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); + + } else { + + // Support: IE<9 + // Use defaultChecked and defaultSelected for oldIE + elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle; + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ name ]; + attrHandle[ name ] = ret; + ret = getter( elem, name, isXML ) != null ? + name.toLowerCase() : + null; + attrHandle[ name ] = handle; + } + return ret; + }; + } else { + attrHandle[ name ] = function( elem, name, isXML ) { + if ( !isXML ) { + return elem[ jQuery.camelCase( "default-" + name ) ] ? + name.toLowerCase() : + null; + } + }; + } +} ); + +// fix oldIE attroperties +if ( !getSetInput || !getSetAttribute ) { + jQuery.attrHooks.value = { + set: function( elem, value, name ) { + if ( jQuery.nodeName( elem, "input" ) ) { + + // Does not return so that setAttribute is also used + elem.defaultValue = value; + } else { + + // Use nodeHook if defined (#1954); otherwise setAttribute is fine + return nodeHook && nodeHook.set( elem, value, name ); + } + } + }; +} + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = { + set: function( elem, value, name ) { + + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + elem.setAttributeNode( + ( ret = elem.ownerDocument.createAttribute( name ) ) + ); + } + + ret.value = value += ""; + + // Break association with cloned elements by also using setAttribute (#9646) + if ( name === "value" || value === elem.getAttribute( name ) ) { + return value; + } + } + }; + + // Some attributes are constructed with empty-string values when not defined + attrHandle.id = attrHandle.name = attrHandle.coords = + function( elem, name, isXML ) { + var ret; + if ( !isXML ) { + return ( ret = elem.getAttributeNode( name ) ) && ret.value !== "" ? + ret.value : + null; + } + }; + + // Fixing value retrieval on a button requires this module + jQuery.valHooks.button = { + get: function( elem, name ) { + var ret = elem.getAttributeNode( name ); + if ( ret && ret.specified ) { + return ret.value; + } + }, + set: nodeHook.set + }; + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + set: function( elem, value, name ) { + nodeHook.set( elem, value === "" ? false : value, name ); + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each( [ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }; + } ); +} + +if ( !support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + + // Return undefined in the case of empty string + // Note: IE uppercases css property names, but if we were to .toLowerCase() + // .cssText, that would destroy case sensitivity in URL's, like in "background" + return elem.style.cssText || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = value + "" ); + } + }; +} + + + + +var rfocusable = /^(?:input|select|textarea|button|object)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each( function() { + + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch ( e ) {} + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + return tabindex ? + parseInt( tabindex, 10 ) : + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && elem.href ? + 0 : + -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Some attributes require a special call on IE +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !support.hrefNormalized ) { + + // href/src property should get the full normalized URL (#10299/#12915) + jQuery.each( [ "href", "src" ], function( i, name ) { + jQuery.propHooks[ name ] = { + get: function( elem ) { + return elem.getAttribute( name, 4 ); + } + }; + } ); +} + +// Support: Safari, IE9+ +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + }, + set: function( elem ) { + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + +// IE6/7 call enctype encoding +if ( !support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + + + + +var rclass = /[\t\r\n\f]/g; + +function getClass( elem ) { + return jQuery.attr( elem, "class" ) || ""; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnotwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && + ( " " + curValue + " " ).replace( rclass, " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // only assign if different to avoid unneeded rendering. + finalValue = jQuery.trim( cur ); + if ( curValue !== finalValue ) { + jQuery.attr( elem, "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( jQuery.isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + if ( typeof value === "string" && value ) { + classes = value.match( rnotwhite ) || []; + + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && + ( " " + curValue + " " ).replace( rclass, " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = jQuery.trim( cur ); + if ( curValue !== finalValue ) { + jQuery.attr( elem, "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value; + + if ( typeof stateVal === "boolean" && type === "string" ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( jQuery.isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( type === "string" ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = value.match( rnotwhite ) || []; + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // store className if set + jQuery._data( this, "__className__", className ); + } + + // If the element has a class name or if we're passed "false", + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + jQuery.attr( this, "class", + className || value === false ? + "" : + jQuery._data( this, "__className__" ) || "" + ); + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + getClass( elem ) + " " ).replace( rclass, " " ) + .indexOf( className ) > -1 + ) { + return true; + } + } + + return false; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +jQuery.each( ( "blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error contextmenu" ).split( " " ), + function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; +} ); + +jQuery.fn.extend( { + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + + +var location = window.location; + +var nonce = jQuery.now(); + +var rquery = ( /\?/ ); + + + +var rvalidtokens = /(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g; + +jQuery.parseJSON = function( data ) { + + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + + // Support: Android 2.3 + // Workaround failure to string-cast null input + return window.JSON.parse( data + "" ); + } + + var requireNonComma, + depth = null, + str = jQuery.trim( data + "" ); + + // Guard against invalid (and possibly dangerous) input by ensuring that nothing remains + // after removing valid tokens + return str && !jQuery.trim( str.replace( rvalidtokens, function( token, comma, open, close ) { + + // Force termination if we see a misplaced comma + if ( requireNonComma && comma ) { + depth = 0; + } + + // Perform no more replacements after returning to outermost depth + if ( depth === 0 ) { + return token; + } + + // Commas must not follow "[", "{", or "," + requireNonComma = open || comma; + + // Determine new depth + // array/object open ("[" or "{"): depth += true - false (increment) + // array/object close ("]" or "}"): depth += false - true (decrement) + // other cases ("," or primitive): depth += true - true (numeric cast) + depth += !close - !open; + + // Remove this token + return ""; + } ) ) ? + ( Function( "return " + str ) )() : + jQuery.error( "Invalid JSON: " + data ); +}; + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml, tmp; + if ( !data || typeof data !== "string" ) { + return null; + } + try { + if ( window.DOMParser ) { // Standard + tmp = new window.DOMParser(); + xml = tmp.parseFromString( data, "text/xml" ); + } else { // IE + xml = new window.ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch ( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; +}; + + +var + rhash = /#.*$/, + rts = /([?&])_=[^&]*/, + + // IE leaves an \r character at EOL + rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + rurl = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Document location + ajaxLocation = location.href, + + // Segment location into parts + ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || []; + + if ( jQuery.isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType.charAt( 0 ) === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var deep, key, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + var firstDataType, ct, finalDataType, type, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s[ "throws" ] ) { // jscs:ignore requireDotNotation + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: ajaxLocation, + type: "GET", + isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": jQuery.parseJSON, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var + + // Cross-domain detection vars + parts, + + // Loop variable + i, + + // URL without anti-cache param + cacheURL, + + // Response headers as string + responseHeadersString, + + // timeout handle + timeoutTimer, + + // To know if global events are to be dispatched + fireGlobals, + + transport, + + // Response headers + responseHeaders, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // The jqXHR state + state = 0, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( state === 2 ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match == null ? null : match; + }, + + // Raw string + getAllResponseHeaders: function() { + return state === 2 ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + var lname = name.toLowerCase(); + if ( !state ) { + name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( !state ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( state < 2 ) { + for ( code in map ) { + + // Lazy-add the new callback in a way that preserves old ones + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } else { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ).complete = completeDeferred.add; + jqXHR.success = jqXHR.done; + jqXHR.error = jqXHR.fail; + + // Remove hash character (#7531: and string promotion) + // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || ajaxLocation ) + "" ) + .replace( rhash, "" ) + .replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ]; + + // A cross-domain request is in order when we have a protocol:host:port mismatch + if ( s.crossDomain == null ) { + parts = rurl.exec( s.url.toLowerCase() ); + s.crossDomain = !!( parts && + ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] || + ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" : "443" ) ) !== + ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? "80" : "443" ) ) ) + ); + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( state === 2 ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + cacheURL = s.url; + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // If data is available, append data to url + if ( s.data ) { + cacheURL = ( s.url += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data ); + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add anti-cache in url if needed + if ( s.cache === false ) { + s.url = rts.test( cacheURL ) ? + + // If there is already a '_' parameter, set its value + cacheURL.replace( rts, "$1_=" + nonce++ ) : + + // Otherwise add one to the end + cacheURL + ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + nonce++; + } + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + for ( i in { success: 1, error: 1, complete: 1 } ) { + jqXHR[ i ]( s[ i ] ); + } + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( state === 2 ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + state = 1; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Propagate exception as error if not done + if ( state < 2 ) { + done( -1, e ); + + // Simply rethrow otherwise + } else { + throw e; + } + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Called once + if ( state === 2 ) { + return; + } + + // State is "done" now + state = 2; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // We extract error from statusText + // then normalize statusText and status for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + + +jQuery._evalUrl = function( url ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + "throws": true + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapAll( html.call( this, i ) ); + } ); + } + + if ( this[ 0 ] ) { + + // The elements to wrap the target around + var wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function() { + return this.parent().each( function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + } ).end(); + } +} ); + + +function getDisplay( elem ) { + return elem.style && elem.style.display || jQuery.css( elem, "display" ); +} + +function filterHidden( elem ) { + + // Disconnected elements are considered hidden + if ( !jQuery.contains( elem.ownerDocument || document, elem ) ) { + return true; + } + while ( elem && elem.nodeType === 1 ) { + if ( getDisplay( elem ) === "none" || elem.type === "hidden" ) { + return true; + } + elem = elem.parentNode; + } + return false; +} + +jQuery.expr.filters.hidden = function( elem ) { + + // Support: Opera <= 12.12 + // Opera reports offsetWidths and offsetHeights less than zero on some elements + return support.reliableHiddenOffsets() ? + ( elem.offsetWidth <= 0 && elem.offsetHeight <= 0 && + !elem.getClientRects().length ) : + filterHidden( elem ); +}; + +jQuery.expr.filters.visible = function( elem ) { + return !jQuery.expr.filters.hidden( elem ); +}; + + + + +var r20 = /%20/g, + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, value ) { + + // If value is a function, invoke it and return its value + value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); + s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); + }; + + // Set traditional to true for jQuery <= 1.3.2 behavior. + if ( traditional === undefined ) { + traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ).replace( r20, "+" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ) + .filter( function() { + var type = this.type; + + // Use .is(":disabled") so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ) + .map( function( i, elem ) { + var val = jQuery( this ).val(); + + return val == null ? + null : + jQuery.isArray( val ) ? + jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ) : + { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +// Create the request object +// (This is still attached to ajaxSettings for backward compatibility) +jQuery.ajaxSettings.xhr = window.ActiveXObject !== undefined ? + + // Support: IE6-IE8 + function() { + + // XHR cannot access local files, always use ActiveX for that case + if ( this.isLocal ) { + return createActiveXHR(); + } + + // Support: IE 9-11 + // IE seems to error on cross-domain PATCH requests when ActiveX XHR + // is used. In IE 9+ always use the native XHR. + // Note: this condition won't catch Edge as it doesn't define + // document.documentMode but it also doesn't support ActiveX so it won't + // reach this code. + if ( document.documentMode > 8 ) { + return createStandardXHR(); + } + + // Support: IE<9 + // oldIE XHR does not support non-RFC2616 methods (#13240) + // See http://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx + // and http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9 + // Although this check for six methods instead of eight + // since IE also does not support "trace" and "connect" + return /^(get|post|head|put|delete|options)$/i.test( this.type ) && + createStandardXHR() || createActiveXHR(); + } : + + // For all other browsers, use the standard XMLHttpRequest object + createStandardXHR; + +var xhrId = 0, + xhrCallbacks = {}, + xhrSupported = jQuery.ajaxSettings.xhr(); + +// Support: IE<10 +// Open requests must be manually aborted on unload (#5280) +// See https://support.microsoft.com/kb/2856746 for more info +if ( window.attachEvent ) { + window.attachEvent( "onunload", function() { + for ( var key in xhrCallbacks ) { + xhrCallbacks[ key ]( undefined, true ); + } + } ); +} + +// Determine support properties +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +xhrSupported = support.ajax = !!xhrSupported; + +// Create transport if the browser can provide an xhr +if ( xhrSupported ) { + + jQuery.ajaxTransport( function( options ) { + + // Cross domain only allowed if supported through XMLHttpRequest + if ( !options.crossDomain || support.cors ) { + + var callback; + + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(), + id = ++xhrId; + + // Open the socket + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + + // Support: IE<9 + // IE's ActiveXObject throws a 'Type Mismatch' exception when setting + // request header to a null-value. + // + // To keep consistent with other XHR implementations, cast the value + // to string and ignore `undefined`. + if ( headers[ i ] !== undefined ) { + xhr.setRequestHeader( i, headers[ i ] + "" ); + } + } + + // Do send the request + // This may raise an exception which is actually + // handled in jQuery.ajax (so no try/catch here) + xhr.send( ( options.hasContent && options.data ) || null ); + + // Listener + callback = function( _, isAbort ) { + var status, statusText, responses; + + // Was never called and is aborted or complete + if ( callback && ( isAbort || xhr.readyState === 4 ) ) { + + // Clean up + delete xhrCallbacks[ id ]; + callback = undefined; + xhr.onreadystatechange = jQuery.noop; + + // Abort manually if needed + if ( isAbort ) { + if ( xhr.readyState !== 4 ) { + xhr.abort(); + } + } else { + responses = {}; + status = xhr.status; + + // Support: IE<10 + // Accessing binary-data responseText throws an exception + // (#11426) + if ( typeof xhr.responseText === "string" ) { + responses.text = xhr.responseText; + } + + // Firefox throws an exception when accessing + // statusText for faulty cross-domain requests + try { + statusText = xhr.statusText; + } catch ( e ) { + + // We normalize with Webkit giving an empty statusText + statusText = ""; + } + + // Filter status for non standard behaviors + + // If the request is local and we have data: assume a success + // (success with no data won't get notified, that's the best we + // can do given current implementations) + if ( !status && options.isLocal && !options.crossDomain ) { + status = responses.text ? 200 : 404; + + // IE - #1450: sometimes returns 1223 when it should be 204 + } else if ( status === 1223 ) { + status = 204; + } + } + } + + // Call complete if needed + if ( responses ) { + complete( status, statusText, responses, xhr.getAllResponseHeaders() ); + } + }; + + // Do send the request + // `xhr.send` may raise an exception, but it will be + // handled in jQuery.ajax (so no try/catch here) + if ( !options.async ) { + + // If we're in sync mode we fire the callback + callback(); + } else if ( xhr.readyState === 4 ) { + + // (IE6 & IE7) if it's in cache and has been + // retrieved directly we need to fire the callback + window.setTimeout( callback ); + } else { + + // Register the callback, but delay it in case `xhr.send` throws + // Add to the list of active xhr callbacks + xhr.onreadystatechange = xhrCallbacks[ id ] = callback; + } + }, + + abort: function() { + if ( callback ) { + callback( undefined, true ); + } + } + }; + } + } ); +} + +// Functions to create xhrs +function createStandardXHR() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +} + +function createActiveXHR() { + try { + return new window.ActiveXObject( "Microsoft.XMLHTTP" ); + } catch ( e ) {} +} + + + + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and global +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + s.global = false; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + + var script, + head = document.head || jQuery( "head" )[ 0 ] || document.documentElement; + + return { + + send: function( _, callback ) { + + script = document.createElement( "script" ); + + script.async = true; + + if ( s.scriptCharset ) { + script.charset = s.scriptCharset; + } + + script.src = s.url; + + // Attach handlers for all browsers + script.onload = script.onreadystatechange = function( _, isAbort ) { + + if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) { + + // Handle memory leak in IE + script.onload = script.onreadystatechange = null; + + // Remove the script + if ( script.parentNode ) { + script.parentNode.removeChild( script ); + } + + // Dereference the script + script = null; + + // Callback if not abort + if ( !isAbort ) { + callback( 200, "success" ); + } + } + }; + + // Circumvent IE6 bugs with base elements (#2709 and #4378) by prepending + // Use native DOM manipulation to avoid our domManip AJAX trickery + head.insertBefore( script, head.firstChild ); + }, + + abort: function() { + if ( script ) { + script.onload( undefined, true ); + } + } + }; + } +} ); + + + + +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup( { + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + this[ callback ] = true; + return callback; + } +} ); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && + ( s.contentType || "" ) + .indexOf( "application/x-www-form-urlencoded" ) === 0 && + rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters[ "script json" ] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always( function() { + + // If previous value didn't exist - remove it + if ( overwritten === undefined ) { + jQuery( window ).removeProp( callbackName ); + + // Otherwise restore preexisting value + } else { + window[ callbackName ] = overwritten; + } + + // Save back as free + if ( s[ callbackName ] ) { + + // make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && jQuery.isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + } ); + + // Delegate to script + return "script"; + } +} ); + + + + +// data: string of html +// context (optional): If specified, the fragment will be created in this context, +// defaults to document +// keepScripts (optional): If true, will include scripts passed in the html string +jQuery.parseHTML = function( data, context, keepScripts ) { + if ( !data || typeof data !== "string" ) { + return null; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + context = context || document; + + var parsed = rsingleTag.exec( data ), + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[ 1 ] ) ]; + } + + parsed = buildFragment( [ data ], context, scripts ); + + if ( scripts && scripts.length ) { + jQuery( scripts ).remove(); + } + + return jQuery.merge( [], parsed.childNodes ); +}; + + +// Keep a copy of the old load method +var _load = jQuery.fn.load; + +/** + * Load a url into a page + */ +jQuery.fn.load = function( url, params, callback ) { + if ( typeof url !== "string" && _load ) { + return _load.apply( this, arguments ); + } + + var selector, type, response, + self = this, + off = url.indexOf( " " ); + + if ( off > -1 ) { + selector = jQuery.trim( url.slice( off, url.length ) ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( jQuery.isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax( { + url: url, + + // If "type" variable is undefined, then "GET" method will be used. + // Make value of this field explicit since + // user can override it through ajaxSetup method + type: type || "GET", + dataType: "html", + data: params + } ).done( function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + // If the request succeeds, this function gets "data", "status", "jqXHR" + // but they are ignored because response was set above. + // If it fails, this function gets "jqXHR", "status", "error" + } ).always( callback && function( jqXHR, status ) { + self.each( function() { + callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); + } ); + } ); + } + + return this; +}; + + + + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( [ + "ajaxStart", + "ajaxStop", + "ajaxComplete", + "ajaxError", + "ajaxSuccess", + "ajaxSend" +], function( i, type ) { + jQuery.fn[ type ] = function( fn ) { + return this.on( type, fn ); + }; +} ); + + + + +jQuery.expr.filters.animated = function( elem ) { + return jQuery.grep( jQuery.timers, function( fn ) { + return elem === fn.elem; + } ).length; +}; + + + + + +/** + * Gets a window from an element + */ +function getWindow( elem ) { + return jQuery.isWindow( elem ) ? + elem : + elem.nodeType === 9 ? + elem.defaultView || elem.parentWindow : + false; +} + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + jQuery.inArray( "auto", [ curCSSTop, curCSSLeft ] ) > -1; + + // need to be able to calculate position if either top or left + // is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( jQuery.isFunction( options ) ) { + + // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) + options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend( { + offset: function( options ) { + if ( arguments.length ) { + return options === undefined ? + this : + this.each( function( i ) { + jQuery.offset.setOffset( this, options, i ); + } ); + } + + var docElem, win, + box = { top: 0, left: 0 }, + elem = this[ 0 ], + doc = elem && elem.ownerDocument; + + if ( !doc ) { + return; + } + + docElem = doc.documentElement; + + // Make sure it's not a disconnected DOM node + if ( !jQuery.contains( docElem, elem ) ) { + return box; + } + + // If we don't have gBCR, just use 0,0 rather than error + // BlackBerry 5, iOS 3 (original iPhone) + if ( typeof elem.getBoundingClientRect !== "undefined" ) { + box = elem.getBoundingClientRect(); + } + win = getWindow( doc ); + return { + top: box.top + ( win.pageYOffset || docElem.scrollTop ) - ( docElem.clientTop || 0 ), + left: box.left + ( win.pageXOffset || docElem.scrollLeft ) - ( docElem.clientLeft || 0 ) + }; + }, + + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, + parentOffset = { top: 0, left: 0 }, + elem = this[ 0 ]; + + // Fixed elements are offset from window (parentOffset = {top:0, left: 0}, + // because it is its only offset parent + if ( jQuery.css( elem, "position" ) === "fixed" ) { + + // we assume that getBoundingClientRect is available when computed position is fixed + offset = elem.getBoundingClientRect(); + } else { + + // Get *real* offsetParent + offsetParent = this.offsetParent(); + + // Get correct offsets + offset = this.offset(); + if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) { + parentOffset = offsetParent.offset(); + } + + // Add offsetParent borders + parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true ); + } + + // Subtract parent offsets and element margins + // note: when an element has margin: auto the offsetLeft and marginLeft + // are the same in Safari causing offset.left to incorrectly be 0 + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) + }; + }, + + offsetParent: function() { + return this.map( function() { + var offsetParent = this.offsetParent; + + while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && + jQuery.css( offsetParent, "position" ) === "static" ) ) { + offsetParent = offsetParent.offsetParent; + } + return offsetParent || documentElement; + } ); + } +} ); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = /Y/.test( prop ); + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + var win = getWindow( elem ); + + if ( val === undefined ) { + return win ? ( prop in win ) ? win[ prop ] : + win.document.documentElement[ method ] : + elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : jQuery( win ).scrollLeft(), + top ? val : jQuery( win ).scrollTop() + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length, null ); + }; +} ); + +// Support: Safari<7-8+, Chrome<37-44+ +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// getComputedStyle returns percent when specified for top/left/bottom/right +// rather than make the css module depend on the offset module, we just check for it here +jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + + // if curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +} ); + + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, + function( defaultExtra, funcName ) { + + // margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return access( this, function( elem, type, value ) { + var doc; + + if ( jQuery.isWindow( elem ) ) { + + // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there + // isn't a whole lot we can do. See pull request at this URL for discussion: + // https://github.com/jquery/jquery/pull/764 + return elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], + // whichever is greatest + // unfortunately, this causes bug #3838 in IE6/8 only, + // but there is currently no good, small way to fix it. + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable, null ); + }; + } ); +} ); + + +jQuery.fn.extend( { + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? + this.off( selector, "**" ) : + this.off( types, selector || "**", fn ); + } +} ); + +// The number of elements contained in the matched element set +jQuery.fn.size = function() { + return this.length; +}; + +jQuery.fn.andSelf = jQuery.fn.addBack; + + + + +// Register as a named AMD module, since jQuery can be concatenated with other +// files that may use define, but not via a proper concatenation script that +// understands anonymous AMD modules. A named AMD is safest and most robust +// way to register. Lowercase jquery is used because AMD module names are +// derived from file names, and jQuery is normally delivered in a lowercase +// file name. Do this after creating the global so that if an AMD module wants +// to call noConflict to hide this version of jQuery, it will work. + +// Note that for maximum portability, libraries that are not jQuery should +// declare themselves as anonymous modules, and avoid setting a global if an +// AMD loader is present. jQuery is a special case. For more information, see +// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon + +if ( typeof define === "function" && define.amd ) { + define( "jquery", [], function() { + return jQuery; + } ); +} + + + +var + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$; + +jQuery.noConflict = function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; +}; + +// Expose jQuery and $ identifiers, even in +// AMD (#7102#comment:10, https://github.com/jquery/jquery/pull/557) +// and CommonJS for browser emulators (#13566) +if ( !noGlobal ) { + window.jQuery = window.$ = jQuery; +} + +return jQuery; +})); Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/jquery.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/jquery-ui_1.12.1.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/jquery-ui_1.12.1.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/jquery-ui_1.12.1.js (revision 7) @@ -0,0 +1,18706 @@ +/*! jQuery UI - v1.12.1 - 2016-09-14 +* http://jqueryui.com +* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +(function( factory ) { + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define([ "jquery" ], factory ); + } else { + + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.ui = $.ui || {}; + +var version = $.ui.version = "1.12.1"; + + +/*! + * jQuery UI Widget 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Widget +//>>group: Core +//>>description: Provides a factory for creating stateful widgets with a common API. +//>>docs: http://api.jqueryui.com/jQuery.widget/ +//>>demos: http://jqueryui.com/widget/ + + + +var widgetUuid = 0; +var widgetSlice = Array.prototype.slice; + +$.cleanData = ( function( orig ) { + return function( elems ) { + var events, elem, i; + for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) { + try { + + // Only trigger remove when necessary to save time + events = $._data( elem, "events" ); + if ( events && events.remove ) { + $( elem ).triggerHandler( "remove" ); + } + + // Http://bugs.jquery.com/ticket/8235 + } catch ( e ) {} + } + orig( elems ); + }; +} )( $.cleanData ); + +$.widget = function( name, base, prototype ) { + var existingConstructor, constructor, basePrototype; + + // ProxiedPrototype allows the provided prototype to remain unmodified + // so that it can be used as a mixin for multiple widgets (#8876) + var proxiedPrototype = {}; + + var namespace = name.split( "." )[ 0 ]; + name = name.split( "." )[ 1 ]; + var fullName = namespace + "-" + name; + + if ( !prototype ) { + prototype = base; + base = $.Widget; + } + + if ( $.isArray( prototype ) ) { + prototype = $.extend.apply( null, [ {} ].concat( prototype ) ); + } + + // Create selector for plugin + $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { + return !!$.data( elem, fullName ); + }; + + $[ namespace ] = $[ namespace ] || {}; + existingConstructor = $[ namespace ][ name ]; + constructor = $[ namespace ][ name ] = function( options, element ) { + + // Allow instantiation without "new" keyword + if ( !this._createWidget ) { + return new constructor( options, element ); + } + + // Allow instantiation without initializing for simple inheritance + // must use "new" keyword (the code above always passes args) + if ( arguments.length ) { + this._createWidget( options, element ); + } + }; + + // Extend with the existing constructor to carry over any static properties + $.extend( constructor, existingConstructor, { + version: prototype.version, + + // Copy the object used to create the prototype in case we need to + // redefine the widget later + _proto: $.extend( {}, prototype ), + + // Track widgets that inherit from this widget in case this widget is + // redefined after a widget inherits from it + _childConstructors: [] + } ); + + basePrototype = new base(); + + // We need to make the options hash a property directly on the new instance + // otherwise we'll modify the options hash on the prototype that we're + // inheriting from + basePrototype.options = $.widget.extend( {}, basePrototype.options ); + $.each( prototype, function( prop, value ) { + if ( !$.isFunction( value ) ) { + proxiedPrototype[ prop ] = value; + return; + } + proxiedPrototype[ prop ] = ( function() { + function _super() { + return base.prototype[ prop ].apply( this, arguments ); + } + + function _superApply( args ) { + return base.prototype[ prop ].apply( this, args ); + } + + return function() { + var __super = this._super; + var __superApply = this._superApply; + var returnValue; + + this._super = _super; + this._superApply = _superApply; + + returnValue = value.apply( this, arguments ); + + this._super = __super; + this._superApply = __superApply; + + return returnValue; + }; + } )(); + } ); + constructor.prototype = $.widget.extend( basePrototype, { + + // TODO: remove support for widgetEventPrefix + // always use the name + a colon as the prefix, e.g., draggable:start + // don't prefix for widgets that aren't DOM-based + widgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name + }, proxiedPrototype, { + constructor: constructor, + namespace: namespace, + widgetName: name, + widgetFullName: fullName + } ); + + // If this widget is being redefined then we need to find all widgets that + // are inheriting from it and redefine all of them so that they inherit from + // the new version of this widget. We're essentially trying to replace one + // level in the prototype chain. + if ( existingConstructor ) { + $.each( existingConstructor._childConstructors, function( i, child ) { + var childPrototype = child.prototype; + + // Redefine the child widget using the same prototype that was + // originally used, but inherit from the new version of the base + $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, + child._proto ); + } ); + + // Remove the list of existing child constructors from the old constructor + // so the old child constructors can be garbage collected + delete existingConstructor._childConstructors; + } else { + base._childConstructors.push( constructor ); + } + + $.widget.bridge( name, constructor ); + + return constructor; +}; + +$.widget.extend = function( target ) { + var input = widgetSlice.call( arguments, 1 ); + var inputIndex = 0; + var inputLength = input.length; + var key; + var value; + + for ( ; inputIndex < inputLength; inputIndex++ ) { + for ( key in input[ inputIndex ] ) { + value = input[ inputIndex ][ key ]; + if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { + + // Clone objects + if ( $.isPlainObject( value ) ) { + target[ key ] = $.isPlainObject( target[ key ] ) ? + $.widget.extend( {}, target[ key ], value ) : + + // Don't extend strings, arrays, etc. with objects + $.widget.extend( {}, value ); + + // Copy everything else by reference + } else { + target[ key ] = value; + } + } + } + } + return target; +}; + +$.widget.bridge = function( name, object ) { + var fullName = object.prototype.widgetFullName || name; + $.fn[ name ] = function( options ) { + var isMethodCall = typeof options === "string"; + var args = widgetSlice.call( arguments, 1 ); + var returnValue = this; + + if ( isMethodCall ) { + + // If this is an empty collection, we need to have the instance method + // return undefined instead of the jQuery instance + if ( !this.length && options === "instance" ) { + returnValue = undefined; + } else { + this.each( function() { + var methodValue; + var instance = $.data( this, fullName ); + + if ( options === "instance" ) { + returnValue = instance; + return false; + } + + if ( !instance ) { + return $.error( "cannot call methods on " + name + + " prior to initialization; " + + "attempted to call method '" + options + "'" ); + } + + if ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === "_" ) { + return $.error( "no such method '" + options + "' for " + name + + " widget instance" ); + } + + methodValue = instance[ options ].apply( instance, args ); + + if ( methodValue !== instance && methodValue !== undefined ) { + returnValue = methodValue && methodValue.jquery ? + returnValue.pushStack( methodValue.get() ) : + methodValue; + return false; + } + } ); + } + } else { + + // Allow multiple hashes to be passed on init + if ( args.length ) { + options = $.widget.extend.apply( null, [ options ].concat( args ) ); + } + + this.each( function() { + var instance = $.data( this, fullName ); + if ( instance ) { + instance.option( options || {} ); + if ( instance._init ) { + instance._init(); + } + } else { + $.data( this, fullName, new object( options, this ) ); + } + } ); + } + + return returnValue; + }; +}; + +$.Widget = function( /* options, element */ ) {}; +$.Widget._childConstructors = []; + +$.Widget.prototype = { + widgetName: "widget", + widgetEventPrefix: "", + defaultElement: "<div>", + + options: { + classes: {}, + disabled: false, + + // Callbacks + create: null + }, + + _createWidget: function( options, element ) { + element = $( element || this.defaultElement || this )[ 0 ]; + this.element = $( element ); + this.uuid = widgetUuid++; + this.eventNamespace = "." + this.widgetName + this.uuid; + + this.bindings = $(); + this.hoverable = $(); + this.focusable = $(); + this.classesElementLookup = {}; + + if ( element !== this ) { + $.data( element, this.widgetFullName, this ); + this._on( true, this.element, { + remove: function( event ) { + if ( event.target === element ) { + this.destroy(); + } + } + } ); + this.document = $( element.style ? + + // Element within the document + element.ownerDocument : + + // Element is window or document + element.document || element ); + this.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow ); + } + + this.options = $.widget.extend( {}, + this.options, + this._getCreateOptions(), + options ); + + this._create(); + + if ( this.options.disabled ) { + this._setOptionDisabled( this.options.disabled ); + } + + this._trigger( "create", null, this._getCreateEventData() ); + this._init(); + }, + + _getCreateOptions: function() { + return {}; + }, + + _getCreateEventData: $.noop, + + _create: $.noop, + + _init: $.noop, + + destroy: function() { + var that = this; + + this._destroy(); + $.each( this.classesElementLookup, function( key, value ) { + that._removeClass( value, key ); + } ); + + // We can probably remove the unbind calls in 2.0 + // all event bindings should go through this._on() + this.element + .off( this.eventNamespace ) + .removeData( this.widgetFullName ); + this.widget() + .off( this.eventNamespace ) + .removeAttr( "aria-disabled" ); + + // Clean up events and states + this.bindings.off( this.eventNamespace ); + }, + + _destroy: $.noop, + + widget: function() { + return this.element; + }, + + option: function( key, value ) { + var options = key; + var parts; + var curOption; + var i; + + if ( arguments.length === 0 ) { + + // Don't return a reference to the internal hash + return $.widget.extend( {}, this.options ); + } + + if ( typeof key === "string" ) { + + // Handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } + options = {}; + parts = key.split( "." ); + key = parts.shift(); + if ( parts.length ) { + curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); + for ( i = 0; i < parts.length - 1; i++ ) { + curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; + curOption = curOption[ parts[ i ] ]; + } + key = parts.pop(); + if ( arguments.length === 1 ) { + return curOption[ key ] === undefined ? null : curOption[ key ]; + } + curOption[ key ] = value; + } else { + if ( arguments.length === 1 ) { + return this.options[ key ] === undefined ? null : this.options[ key ]; + } + options[ key ] = value; + } + } + + this._setOptions( options ); + + return this; + }, + + _setOptions: function( options ) { + var key; + + for ( key in options ) { + this._setOption( key, options[ key ] ); + } + + return this; + }, + + _setOption: function( key, value ) { + if ( key === "classes" ) { + this._setOptionClasses( value ); + } + + this.options[ key ] = value; + + if ( key === "disabled" ) { + this._setOptionDisabled( value ); + } + + return this; + }, + + _setOptionClasses: function( value ) { + var classKey, elements, currentElements; + + for ( classKey in value ) { + currentElements = this.classesElementLookup[ classKey ]; + if ( value[ classKey ] === this.options.classes[ classKey ] || + !currentElements || + !currentElements.length ) { + continue; + } + + // We are doing this to create a new jQuery object because the _removeClass() call + // on the next line is going to destroy the reference to the current elements being + // tracked. We need to save a copy of this collection so that we can add the new classes + // below. + elements = $( currentElements.get() ); + this._removeClass( currentElements, classKey ); + + // We don't use _addClass() here, because that uses this.options.classes + // for generating the string of classes. We want to use the value passed in from + // _setOption(), this is the new value of the classes option which was passed to + // _setOption(). We pass this value directly to _classes(). + elements.addClass( this._classes( { + element: elements, + keys: classKey, + classes: value, + add: true + } ) ); + } + }, + + _setOptionDisabled: function( value ) { + this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, !!value ); + + // If the widget is becoming disabled, then nothing is interactive + if ( value ) { + this._removeClass( this.hoverable, null, "ui-state-hover" ); + this._removeClass( this.focusable, null, "ui-state-focus" ); + } + }, + + enable: function() { + return this._setOptions( { disabled: false } ); + }, + + disable: function() { + return this._setOptions( { disabled: true } ); + }, + + _classes: function( options ) { + var full = []; + var that = this; + + options = $.extend( { + element: this.element, + classes: this.options.classes || {} + }, options ); + + function processClassString( classes, checkOption ) { + var current, i; + for ( i = 0; i < classes.length; i++ ) { + current = that.classesElementLookup[ classes[ i ] ] || $(); + if ( options.add ) { + current = $( $.unique( current.get().concat( options.element.get() ) ) ); + } else { + current = $( current.not( options.element ).get() ); + } + that.classesElementLookup[ classes[ i ] ] = current; + full.push( classes[ i ] ); + if ( checkOption && options.classes[ classes[ i ] ] ) { + full.push( options.classes[ classes[ i ] ] ); + } + } + } + + this._on( options.element, { + "remove": "_untrackClassesElement" + } ); + + if ( options.keys ) { + processClassString( options.keys.match( /\S+/g ) || [], true ); + } + if ( options.extra ) { + processClassString( options.extra.match( /\S+/g ) || [] ); + } + + return full.join( " " ); + }, + + _untrackClassesElement: function( event ) { + var that = this; + $.each( that.classesElementLookup, function( key, value ) { + if ( $.inArray( event.target, value ) !== -1 ) { + that.classesElementLookup[ key ] = $( value.not( event.target ).get() ); + } + } ); + }, + + _removeClass: function( element, keys, extra ) { + return this._toggleClass( element, keys, extra, false ); + }, + + _addClass: function( element, keys, extra ) { + return this._toggleClass( element, keys, extra, true ); + }, + + _toggleClass: function( element, keys, extra, add ) { + add = ( typeof add === "boolean" ) ? add : extra; + var shift = ( typeof element === "string" || element === null ), + options = { + extra: shift ? keys : extra, + keys: shift ? element : keys, + element: shift ? this.element : element, + add: add + }; + options.element.toggleClass( this._classes( options ), add ); + return this; + }, + + _on: function( suppressDisabledCheck, element, handlers ) { + var delegateElement; + var instance = this; + + // No suppressDisabledCheck flag, shuffle arguments + if ( typeof suppressDisabledCheck !== "boolean" ) { + handlers = element; + element = suppressDisabledCheck; + suppressDisabledCheck = false; + } + + // No element argument, shuffle and use this.element + if ( !handlers ) { + handlers = element; + element = this.element; + delegateElement = this.widget(); + } else { + element = delegateElement = $( element ); + this.bindings = this.bindings.add( element ); + } + + $.each( handlers, function( event, handler ) { + function handlerProxy() { + + // Allow widgets to customize the disabled handling + // - disabled as an array instead of boolean + // - disabled class as method for disabling individual parts + if ( !suppressDisabledCheck && + ( instance.options.disabled === true || + $( this ).hasClass( "ui-state-disabled" ) ) ) { + return; + } + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); + } + + // Copy the guid so direct unbinding works + if ( typeof handler !== "string" ) { + handlerProxy.guid = handler.guid = + handler.guid || handlerProxy.guid || $.guid++; + } + + var match = event.match( /^([\w:-]*)\s*(.*)$/ ); + var eventName = match[ 1 ] + instance.eventNamespace; + var selector = match[ 2 ]; + + if ( selector ) { + delegateElement.on( eventName, selector, handlerProxy ); + } else { + element.on( eventName, handlerProxy ); + } + } ); + }, + + _off: function( element, eventName ) { + eventName = ( eventName || "" ).split( " " ).join( this.eventNamespace + " " ) + + this.eventNamespace; + element.off( eventName ).off( eventName ); + + // Clear the stack to avoid memory leaks (#10056) + this.bindings = $( this.bindings.not( element ).get() ); + this.focusable = $( this.focusable.not( element ).get() ); + this.hoverable = $( this.hoverable.not( element ).get() ); + }, + + _delay: function( handler, delay ) { + function handlerProxy() { + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); + } + var instance = this; + return setTimeout( handlerProxy, delay || 0 ); + }, + + _hoverable: function( element ) { + this.hoverable = this.hoverable.add( element ); + this._on( element, { + mouseenter: function( event ) { + this._addClass( $( event.currentTarget ), null, "ui-state-hover" ); + }, + mouseleave: function( event ) { + this._removeClass( $( event.currentTarget ), null, "ui-state-hover" ); + } + } ); + }, + + _focusable: function( element ) { + this.focusable = this.focusable.add( element ); + this._on( element, { + focusin: function( event ) { + this._addClass( $( event.currentTarget ), null, "ui-state-focus" ); + }, + focusout: function( event ) { + this._removeClass( $( event.currentTarget ), null, "ui-state-focus" ); + } + } ); + }, + + _trigger: function( type, event, data ) { + var prop, orig; + var callback = this.options[ type ]; + + data = data || {}; + event = $.Event( event ); + event.type = ( type === this.widgetEventPrefix ? + type : + this.widgetEventPrefix + type ).toLowerCase(); + + // The original event may come from any element + // so we need to reset the target on the new event + event.target = this.element[ 0 ]; + + // Copy original event properties over to the new event + orig = event.originalEvent; + if ( orig ) { + for ( prop in orig ) { + if ( !( prop in event ) ) { + event[ prop ] = orig[ prop ]; + } + } + } + + this.element.trigger( event, data ); + return !( $.isFunction( callback ) && + callback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false || + event.isDefaultPrevented() ); + } +}; + +$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { + $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { + if ( typeof options === "string" ) { + options = { effect: options }; + } + + var hasOptions; + var effectName = !options ? + method : + options === true || typeof options === "number" ? + defaultEffect : + options.effect || defaultEffect; + + options = options || {}; + if ( typeof options === "number" ) { + options = { duration: options }; + } + + hasOptions = !$.isEmptyObject( options ); + options.complete = callback; + + if ( options.delay ) { + element.delay( options.delay ); + } + + if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { + element[ method ]( options ); + } else if ( effectName !== method && element[ effectName ] ) { + element[ effectName ]( options.duration, options.easing, callback ); + } else { + element.queue( function( next ) { + $( this )[ method ](); + if ( callback ) { + callback.call( element[ 0 ] ); + } + next(); + } ); + } + }; +} ); + +var widget = $.widget; + + +/*! + * jQuery UI Position 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/position/ + */ + +//>>label: Position +//>>group: Core +//>>description: Positions elements relative to other elements. +//>>docs: http://api.jqueryui.com/position/ +//>>demos: http://jqueryui.com/position/ + + +( function() { +var cachedScrollbarWidth, + max = Math.max, + abs = Math.abs, + rhorizontal = /left|center|right/, + rvertical = /top|center|bottom/, + roffset = /[\+\-]\d+(\.[\d]+)?%?/, + rposition = /^\w+/, + rpercent = /%$/, + _position = $.fn.position; + +function getOffsets( offsets, width, height ) { + return [ + parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ), + parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 ) + ]; +} + +function parseCss( element, property ) { + return parseInt( $.css( element, property ), 10 ) || 0; +} + +function getDimensions( elem ) { + var raw = elem[ 0 ]; + if ( raw.nodeType === 9 ) { + return { + width: elem.width(), + height: elem.height(), + offset: { top: 0, left: 0 } + }; + } + if ( $.isWindow( raw ) ) { + return { + width: elem.width(), + height: elem.height(), + offset: { top: elem.scrollTop(), left: elem.scrollLeft() } + }; + } + if ( raw.preventDefault ) { + return { + width: 0, + height: 0, + offset: { top: raw.pageY, left: raw.pageX } + }; + } + return { + width: elem.outerWidth(), + height: elem.outerHeight(), + offset: elem.offset() + }; +} + +$.position = { + scrollbarWidth: function() { + if ( cachedScrollbarWidth !== undefined ) { + return cachedScrollbarWidth; + } + var w1, w2, + div = $( "<div " + + "style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>" + + "<div style='height:100px;width:auto;'></div></div>" ), + innerDiv = div.children()[ 0 ]; + + $( "body" ).append( div ); + w1 = innerDiv.offsetWidth; + div.css( "overflow", "scroll" ); + + w2 = innerDiv.offsetWidth; + + if ( w1 === w2 ) { + w2 = div[ 0 ].clientWidth; + } + + div.remove(); + + return ( cachedScrollbarWidth = w1 - w2 ); + }, + getScrollInfo: function( within ) { + var overflowX = within.isWindow || within.isDocument ? "" : + within.element.css( "overflow-x" ), + overflowY = within.isWindow || within.isDocument ? "" : + within.element.css( "overflow-y" ), + hasOverflowX = overflowX === "scroll" || + ( overflowX === "auto" && within.width < within.element[ 0 ].scrollWidth ), + hasOverflowY = overflowY === "scroll" || + ( overflowY === "auto" && within.height < within.element[ 0 ].scrollHeight ); + return { + width: hasOverflowY ? $.position.scrollbarWidth() : 0, + height: hasOverflowX ? $.position.scrollbarWidth() : 0 + }; + }, + getWithinInfo: function( element ) { + var withinElement = $( element || window ), + isWindow = $.isWindow( withinElement[ 0 ] ), + isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9, + hasOffset = !isWindow && !isDocument; + return { + element: withinElement, + isWindow: isWindow, + isDocument: isDocument, + offset: hasOffset ? $( element ).offset() : { left: 0, top: 0 }, + scrollLeft: withinElement.scrollLeft(), + scrollTop: withinElement.scrollTop(), + width: withinElement.outerWidth(), + height: withinElement.outerHeight() + }; + } +}; + +$.fn.position = function( options ) { + if ( !options || !options.of ) { + return _position.apply( this, arguments ); + } + + // Make a copy, we don't want to modify arguments + options = $.extend( {}, options ); + + var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions, + target = $( options.of ), + within = $.position.getWithinInfo( options.within ), + scrollInfo = $.position.getScrollInfo( within ), + collision = ( options.collision || "flip" ).split( " " ), + offsets = {}; + + dimensions = getDimensions( target ); + if ( target[ 0 ].preventDefault ) { + + // Force left top to allow flipping + options.at = "left top"; + } + targetWidth = dimensions.width; + targetHeight = dimensions.height; + targetOffset = dimensions.offset; + + // Clone to reuse original targetOffset later + basePosition = $.extend( {}, targetOffset ); + + // Force my and at to have valid horizontal and vertical positions + // if a value is missing or invalid, it will be converted to center + $.each( [ "my", "at" ], function() { + var pos = ( options[ this ] || "" ).split( " " ), + horizontalOffset, + verticalOffset; + + if ( pos.length === 1 ) { + pos = rhorizontal.test( pos[ 0 ] ) ? + pos.concat( [ "center" ] ) : + rvertical.test( pos[ 0 ] ) ? + [ "center" ].concat( pos ) : + [ "center", "center" ]; + } + pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center"; + pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center"; + + // Calculate offsets + horizontalOffset = roffset.exec( pos[ 0 ] ); + verticalOffset = roffset.exec( pos[ 1 ] ); + offsets[ this ] = [ + horizontalOffset ? horizontalOffset[ 0 ] : 0, + verticalOffset ? verticalOffset[ 0 ] : 0 + ]; + + // Reduce to just the positions without the offsets + options[ this ] = [ + rposition.exec( pos[ 0 ] )[ 0 ], + rposition.exec( pos[ 1 ] )[ 0 ] + ]; + } ); + + // Normalize collision option + if ( collision.length === 1 ) { + collision[ 1 ] = collision[ 0 ]; + } + + if ( options.at[ 0 ] === "right" ) { + basePosition.left += targetWidth; + } else if ( options.at[ 0 ] === "center" ) { + basePosition.left += targetWidth / 2; + } + + if ( options.at[ 1 ] === "bottom" ) { + basePosition.top += targetHeight; + } else if ( options.at[ 1 ] === "center" ) { + basePosition.top += targetHeight / 2; + } + + atOffset = getOffsets( offsets.at, targetWidth, targetHeight ); + basePosition.left += atOffset[ 0 ]; + basePosition.top += atOffset[ 1 ]; + + return this.each( function() { + var collisionPosition, using, + elem = $( this ), + elemWidth = elem.outerWidth(), + elemHeight = elem.outerHeight(), + marginLeft = parseCss( this, "marginLeft" ), + marginTop = parseCss( this, "marginTop" ), + collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + + scrollInfo.width, + collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + + scrollInfo.height, + position = $.extend( {}, basePosition ), + myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() ); + + if ( options.my[ 0 ] === "right" ) { + position.left -= elemWidth; + } else if ( options.my[ 0 ] === "center" ) { + position.left -= elemWidth / 2; + } + + if ( options.my[ 1 ] === "bottom" ) { + position.top -= elemHeight; + } else if ( options.my[ 1 ] === "center" ) { + position.top -= elemHeight / 2; + } + + position.left += myOffset[ 0 ]; + position.top += myOffset[ 1 ]; + + collisionPosition = { + marginLeft: marginLeft, + marginTop: marginTop + }; + + $.each( [ "left", "top" ], function( i, dir ) { + if ( $.ui.position[ collision[ i ] ] ) { + $.ui.position[ collision[ i ] ][ dir ]( position, { + targetWidth: targetWidth, + targetHeight: targetHeight, + elemWidth: elemWidth, + elemHeight: elemHeight, + collisionPosition: collisionPosition, + collisionWidth: collisionWidth, + collisionHeight: collisionHeight, + offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ], + my: options.my, + at: options.at, + within: within, + elem: elem + } ); + } + } ); + + if ( options.using ) { + + // Adds feedback as second argument to using callback, if present + using = function( props ) { + var left = targetOffset.left - position.left, + right = left + targetWidth - elemWidth, + top = targetOffset.top - position.top, + bottom = top + targetHeight - elemHeight, + feedback = { + target: { + element: target, + left: targetOffset.left, + top: targetOffset.top, + width: targetWidth, + height: targetHeight + }, + element: { + element: elem, + left: position.left, + top: position.top, + width: elemWidth, + height: elemHeight + }, + horizontal: right < 0 ? "left" : left > 0 ? "right" : "center", + vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle" + }; + if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) { + feedback.horizontal = "center"; + } + if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) { + feedback.vertical = "middle"; + } + if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) { + feedback.important = "horizontal"; + } else { + feedback.important = "vertical"; + } + options.using.call( this, props, feedback ); + }; + } + + elem.offset( $.extend( position, { using: using } ) ); + } ); +}; + +$.ui.position = { + fit: { + left: function( position, data ) { + var within = data.within, + withinOffset = within.isWindow ? within.scrollLeft : within.offset.left, + outerWidth = within.width, + collisionPosLeft = position.left - data.collisionPosition.marginLeft, + overLeft = withinOffset - collisionPosLeft, + overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset, + newOverRight; + + // Element is wider than within + if ( data.collisionWidth > outerWidth ) { + + // Element is initially over the left side of within + if ( overLeft > 0 && overRight <= 0 ) { + newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - + withinOffset; + position.left += overLeft - newOverRight; + + // Element is initially over right side of within + } else if ( overRight > 0 && overLeft <= 0 ) { + position.left = withinOffset; + + // Element is initially over both left and right sides of within + } else { + if ( overLeft > overRight ) { + position.left = withinOffset + outerWidth - data.collisionWidth; + } else { + position.left = withinOffset; + } + } + + // Too far left -> align with left edge + } else if ( overLeft > 0 ) { + position.left += overLeft; + + // Too far right -> align with right edge + } else if ( overRight > 0 ) { + position.left -= overRight; + + // Adjust based on position and margin + } else { + position.left = max( position.left - collisionPosLeft, position.left ); + } + }, + top: function( position, data ) { + var within = data.within, + withinOffset = within.isWindow ? within.scrollTop : within.offset.top, + outerHeight = data.within.height, + collisionPosTop = position.top - data.collisionPosition.marginTop, + overTop = withinOffset - collisionPosTop, + overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset, + newOverBottom; + + // Element is taller than within + if ( data.collisionHeight > outerHeight ) { + + // Element is initially over the top of within + if ( overTop > 0 && overBottom <= 0 ) { + newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - + withinOffset; + position.top += overTop - newOverBottom; + + // Element is initially over bottom of within + } else if ( overBottom > 0 && overTop <= 0 ) { + position.top = withinOffset; + + // Element is initially over both top and bottom of within + } else { + if ( overTop > overBottom ) { + position.top = withinOffset + outerHeight - data.collisionHeight; + } else { + position.top = withinOffset; + } + } + + // Too far up -> align with top + } else if ( overTop > 0 ) { + position.top += overTop; + + // Too far down -> align with bottom edge + } else if ( overBottom > 0 ) { + position.top -= overBottom; + + // Adjust based on position and margin + } else { + position.top = max( position.top - collisionPosTop, position.top ); + } + } + }, + flip: { + left: function( position, data ) { + var within = data.within, + withinOffset = within.offset.left + within.scrollLeft, + outerWidth = within.width, + offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left, + collisionPosLeft = position.left - data.collisionPosition.marginLeft, + overLeft = collisionPosLeft - offsetLeft, + overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft, + myOffset = data.my[ 0 ] === "left" ? + -data.elemWidth : + data.my[ 0 ] === "right" ? + data.elemWidth : + 0, + atOffset = data.at[ 0 ] === "left" ? + data.targetWidth : + data.at[ 0 ] === "right" ? + -data.targetWidth : + 0, + offset = -2 * data.offset[ 0 ], + newOverRight, + newOverLeft; + + if ( overLeft < 0 ) { + newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - + outerWidth - withinOffset; + if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) { + position.left += myOffset + atOffset + offset; + } + } else if ( overRight > 0 ) { + newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + + atOffset + offset - offsetLeft; + if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) { + position.left += myOffset + atOffset + offset; + } + } + }, + top: function( position, data ) { + var within = data.within, + withinOffset = within.offset.top + within.scrollTop, + outerHeight = within.height, + offsetTop = within.isWindow ? within.scrollTop : within.offset.top, + collisionPosTop = position.top - data.collisionPosition.marginTop, + overTop = collisionPosTop - offsetTop, + overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop, + top = data.my[ 1 ] === "top", + myOffset = top ? + -data.elemHeight : + data.my[ 1 ] === "bottom" ? + data.elemHeight : + 0, + atOffset = data.at[ 1 ] === "top" ? + data.targetHeight : + data.at[ 1 ] === "bottom" ? + -data.targetHeight : + 0, + offset = -2 * data.offset[ 1 ], + newOverTop, + newOverBottom; + if ( overTop < 0 ) { + newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - + outerHeight - withinOffset; + if ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) { + position.top += myOffset + atOffset + offset; + } + } else if ( overBottom > 0 ) { + newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + + offset - offsetTop; + if ( newOverTop > 0 || abs( newOverTop ) < overBottom ) { + position.top += myOffset + atOffset + offset; + } + } + } + }, + flipfit: { + left: function() { + $.ui.position.flip.left.apply( this, arguments ); + $.ui.position.fit.left.apply( this, arguments ); + }, + top: function() { + $.ui.position.flip.top.apply( this, arguments ); + $.ui.position.fit.top.apply( this, arguments ); + } + } +}; + +} )(); + +var position = $.ui.position; + + +/*! + * jQuery UI :data 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: :data Selector +//>>group: Core +//>>description: Selects elements which have data stored under the specified key. +//>>docs: http://api.jqueryui.com/data-selector/ + + +var data = $.extend( $.expr[ ":" ], { + data: $.expr.createPseudo ? + $.expr.createPseudo( function( dataName ) { + return function( elem ) { + return !!$.data( elem, dataName ); + }; + } ) : + + // Support: jQuery <1.8 + function( elem, i, match ) { + return !!$.data( elem, match[ 3 ] ); + } +} ); + +/*! + * jQuery UI Disable Selection 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: disableSelection +//>>group: Core +//>>description: Disable selection of text content within the set of matched elements. +//>>docs: http://api.jqueryui.com/disableSelection/ + +// This file is deprecated + + +var disableSelection = $.fn.extend( { + disableSelection: ( function() { + var eventType = "onselectstart" in document.createElement( "div" ) ? + "selectstart" : + "mousedown"; + + return function() { + return this.on( eventType + ".ui-disableSelection", function( event ) { + event.preventDefault(); + } ); + }; + } )(), + + enableSelection: function() { + return this.off( ".ui-disableSelection" ); + } +} ); + + +/*! + * jQuery UI Effects 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Effects Core +//>>group: Effects +// jscs:disable maximumLineLength +//>>description: Extends the internal jQuery effects. Includes morphing and easing. Required by all other effects. +// jscs:enable maximumLineLength +//>>docs: http://api.jqueryui.com/category/effects-core/ +//>>demos: http://jqueryui.com/effect/ + + + +var dataSpace = "ui-effects-", + dataSpaceStyle = "ui-effects-style", + dataSpaceAnimated = "ui-effects-animated", + + // Create a local jQuery because jQuery Color relies on it and the + // global may not exist with AMD and a custom build (#10199) + jQuery = $; + +$.effects = { + effect: {} +}; + +/*! + * jQuery Color Animations v2.1.2 + * https://github.com/jquery/jquery-color + * + * Copyright 2014 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * Date: Wed Jan 16 08:47:09 2013 -0600 + */ +( function( jQuery, undefined ) { + + var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor " + + "borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor", + + // Plusequals test for += 100 -= 100 + rplusequals = /^([\-+])=\s*(\d+\.?\d*)/, + + // A set of RE's that can match strings and generate color tuples. + stringParsers = [ { + re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, + parse: function( execResult ) { + return [ + execResult[ 1 ], + execResult[ 2 ], + execResult[ 3 ], + execResult[ 4 ] + ]; + } + }, { + re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, + parse: function( execResult ) { + return [ + execResult[ 1 ] * 2.55, + execResult[ 2 ] * 2.55, + execResult[ 3 ] * 2.55, + execResult[ 4 ] + ]; + } + }, { + + // This regex ignores A-F because it's compared against an already lowercased string + re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/, + parse: function( execResult ) { + return [ + parseInt( execResult[ 1 ], 16 ), + parseInt( execResult[ 2 ], 16 ), + parseInt( execResult[ 3 ], 16 ) + ]; + } + }, { + + // This regex ignores A-F because it's compared against an already lowercased string + re: /#([a-f0-9])([a-f0-9])([a-f0-9])/, + parse: function( execResult ) { + return [ + parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ), + parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ), + parseInt( execResult[ 3 ] + execResult[ 3 ], 16 ) + ]; + } + }, { + re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, + space: "hsla", + parse: function( execResult ) { + return [ + execResult[ 1 ], + execResult[ 2 ] / 100, + execResult[ 3 ] / 100, + execResult[ 4 ] + ]; + } + } ], + + // JQuery.Color( ) + color = jQuery.Color = function( color, green, blue, alpha ) { + return new jQuery.Color.fn.parse( color, green, blue, alpha ); + }, + spaces = { + rgba: { + props: { + red: { + idx: 0, + type: "byte" + }, + green: { + idx: 1, + type: "byte" + }, + blue: { + idx: 2, + type: "byte" + } + } + }, + + hsla: { + props: { + hue: { + idx: 0, + type: "degrees" + }, + saturation: { + idx: 1, + type: "percent" + }, + lightness: { + idx: 2, + type: "percent" + } + } + } + }, + propTypes = { + "byte": { + floor: true, + max: 255 + }, + "percent": { + max: 1 + }, + "degrees": { + mod: 360, + floor: true + } + }, + support = color.support = {}, + + // Element for support tests + supportElem = jQuery( "<p>" )[ 0 ], + + // Colors = jQuery.Color.names + colors, + + // Local aliases of functions called often + each = jQuery.each; + +// Determine rgba support immediately +supportElem.style.cssText = "background-color:rgba(1,1,1,.5)"; +support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1; + +// Define cache name and alpha properties +// for rgba and hsla spaces +each( spaces, function( spaceName, space ) { + space.cache = "_" + spaceName; + space.props.alpha = { + idx: 3, + type: "percent", + def: 1 + }; +} ); + +function clamp( value, prop, allowEmpty ) { + var type = propTypes[ prop.type ] || {}; + + if ( value == null ) { + return ( allowEmpty || !prop.def ) ? null : prop.def; + } + + // ~~ is an short way of doing floor for positive numbers + value = type.floor ? ~~value : parseFloat( value ); + + // IE will pass in empty strings as value for alpha, + // which will hit this case + if ( isNaN( value ) ) { + return prop.def; + } + + if ( type.mod ) { + + // We add mod before modding to make sure that negatives values + // get converted properly: -10 -> 350 + return ( value + type.mod ) % type.mod; + } + + // For now all property types without mod have min and max + return 0 > value ? 0 : type.max < value ? type.max : value; +} + +function stringParse( string ) { + var inst = color(), + rgba = inst._rgba = []; + + string = string.toLowerCase(); + + each( stringParsers, function( i, parser ) { + var parsed, + match = parser.re.exec( string ), + values = match && parser.parse( match ), + spaceName = parser.space || "rgba"; + + if ( values ) { + parsed = inst[ spaceName ]( values ); + + // If this was an rgba parse the assignment might happen twice + // oh well.... + inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ]; + rgba = inst._rgba = parsed._rgba; + + // Exit each( stringParsers ) here because we matched + return false; + } + } ); + + // Found a stringParser that handled it + if ( rgba.length ) { + + // If this came from a parsed string, force "transparent" when alpha is 0 + // chrome, (and maybe others) return "transparent" as rgba(0,0,0,0) + if ( rgba.join() === "0,0,0,0" ) { + jQuery.extend( rgba, colors.transparent ); + } + return inst; + } + + // Named colors + return colors[ string ]; +} + +color.fn = jQuery.extend( color.prototype, { + parse: function( red, green, blue, alpha ) { + if ( red === undefined ) { + this._rgba = [ null, null, null, null ]; + return this; + } + if ( red.jquery || red.nodeType ) { + red = jQuery( red ).css( green ); + green = undefined; + } + + var inst = this, + type = jQuery.type( red ), + rgba = this._rgba = []; + + // More than 1 argument specified - assume ( red, green, blue, alpha ) + if ( green !== undefined ) { + red = [ red, green, blue, alpha ]; + type = "array"; + } + + if ( type === "string" ) { + return this.parse( stringParse( red ) || colors._default ); + } + + if ( type === "array" ) { + each( spaces.rgba.props, function( key, prop ) { + rgba[ prop.idx ] = clamp( red[ prop.idx ], prop ); + } ); + return this; + } + + if ( type === "object" ) { + if ( red instanceof color ) { + each( spaces, function( spaceName, space ) { + if ( red[ space.cache ] ) { + inst[ space.cache ] = red[ space.cache ].slice(); + } + } ); + } else { + each( spaces, function( spaceName, space ) { + var cache = space.cache; + each( space.props, function( key, prop ) { + + // If the cache doesn't exist, and we know how to convert + if ( !inst[ cache ] && space.to ) { + + // If the value was null, we don't need to copy it + // if the key was alpha, we don't need to copy it either + if ( key === "alpha" || red[ key ] == null ) { + return; + } + inst[ cache ] = space.to( inst._rgba ); + } + + // This is the only case where we allow nulls for ALL properties. + // call clamp with alwaysAllowEmpty + inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true ); + } ); + + // Everything defined but alpha? + if ( inst[ cache ] && + jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) { + + // Use the default of 1 + inst[ cache ][ 3 ] = 1; + if ( space.from ) { + inst._rgba = space.from( inst[ cache ] ); + } + } + } ); + } + return this; + } + }, + is: function( compare ) { + var is = color( compare ), + same = true, + inst = this; + + each( spaces, function( _, space ) { + var localCache, + isCache = is[ space.cache ]; + if ( isCache ) { + localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || []; + each( space.props, function( _, prop ) { + if ( isCache[ prop.idx ] != null ) { + same = ( isCache[ prop.idx ] === localCache[ prop.idx ] ); + return same; + } + } ); + } + return same; + } ); + return same; + }, + _space: function() { + var used = [], + inst = this; + each( spaces, function( spaceName, space ) { + if ( inst[ space.cache ] ) { + used.push( spaceName ); + } + } ); + return used.pop(); + }, + transition: function( other, distance ) { + var end = color( other ), + spaceName = end._space(), + space = spaces[ spaceName ], + startColor = this.alpha() === 0 ? color( "transparent" ) : this, + start = startColor[ space.cache ] || space.to( startColor._rgba ), + result = start.slice(); + + end = end[ space.cache ]; + each( space.props, function( key, prop ) { + var index = prop.idx, + startValue = start[ index ], + endValue = end[ index ], + type = propTypes[ prop.type ] || {}; + + // If null, don't override start value + if ( endValue === null ) { + return; + } + + // If null - use end + if ( startValue === null ) { + result[ index ] = endValue; + } else { + if ( type.mod ) { + if ( endValue - startValue > type.mod / 2 ) { + startValue += type.mod; + } else if ( startValue - endValue > type.mod / 2 ) { + startValue -= type.mod; + } + } + result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop ); + } + } ); + return this[ spaceName ]( result ); + }, + blend: function( opaque ) { + + // If we are already opaque - return ourself + if ( this._rgba[ 3 ] === 1 ) { + return this; + } + + var rgb = this._rgba.slice(), + a = rgb.pop(), + blend = color( opaque )._rgba; + + return color( jQuery.map( rgb, function( v, i ) { + return ( 1 - a ) * blend[ i ] + a * v; + } ) ); + }, + toRgbaString: function() { + var prefix = "rgba(", + rgba = jQuery.map( this._rgba, function( v, i ) { + return v == null ? ( i > 2 ? 1 : 0 ) : v; + } ); + + if ( rgba[ 3 ] === 1 ) { + rgba.pop(); + prefix = "rgb("; + } + + return prefix + rgba.join() + ")"; + }, + toHslaString: function() { + var prefix = "hsla(", + hsla = jQuery.map( this.hsla(), function( v, i ) { + if ( v == null ) { + v = i > 2 ? 1 : 0; + } + + // Catch 1 and 2 + if ( i && i < 3 ) { + v = Math.round( v * 100 ) + "%"; + } + return v; + } ); + + if ( hsla[ 3 ] === 1 ) { + hsla.pop(); + prefix = "hsl("; + } + return prefix + hsla.join() + ")"; + }, + toHexString: function( includeAlpha ) { + var rgba = this._rgba.slice(), + alpha = rgba.pop(); + + if ( includeAlpha ) { + rgba.push( ~~( alpha * 255 ) ); + } + + return "#" + jQuery.map( rgba, function( v ) { + + // Default to 0 when nulls exist + v = ( v || 0 ).toString( 16 ); + return v.length === 1 ? "0" + v : v; + } ).join( "" ); + }, + toString: function() { + return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString(); + } +} ); +color.fn.parse.prototype = color.fn; + +// Hsla conversions adapted from: +// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021 + +function hue2rgb( p, q, h ) { + h = ( h + 1 ) % 1; + if ( h * 6 < 1 ) { + return p + ( q - p ) * h * 6; + } + if ( h * 2 < 1 ) { + return q; + } + if ( h * 3 < 2 ) { + return p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6; + } + return p; +} + +spaces.hsla.to = function( rgba ) { + if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) { + return [ null, null, null, rgba[ 3 ] ]; + } + var r = rgba[ 0 ] / 255, + g = rgba[ 1 ] / 255, + b = rgba[ 2 ] / 255, + a = rgba[ 3 ], + max = Math.max( r, g, b ), + min = Math.min( r, g, b ), + diff = max - min, + add = max + min, + l = add * 0.5, + h, s; + + if ( min === max ) { + h = 0; + } else if ( r === max ) { + h = ( 60 * ( g - b ) / diff ) + 360; + } else if ( g === max ) { + h = ( 60 * ( b - r ) / diff ) + 120; + } else { + h = ( 60 * ( r - g ) / diff ) + 240; + } + + // Chroma (diff) == 0 means greyscale which, by definition, saturation = 0% + // otherwise, saturation is based on the ratio of chroma (diff) to lightness (add) + if ( diff === 0 ) { + s = 0; + } else if ( l <= 0.5 ) { + s = diff / add; + } else { + s = diff / ( 2 - add ); + } + return [ Math.round( h ) % 360, s, l, a == null ? 1 : a ]; +}; + +spaces.hsla.from = function( hsla ) { + if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) { + return [ null, null, null, hsla[ 3 ] ]; + } + var h = hsla[ 0 ] / 360, + s = hsla[ 1 ], + l = hsla[ 2 ], + a = hsla[ 3 ], + q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s, + p = 2 * l - q; + + return [ + Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ), + Math.round( hue2rgb( p, q, h ) * 255 ), + Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ), + a + ]; +}; + +each( spaces, function( spaceName, space ) { + var props = space.props, + cache = space.cache, + to = space.to, + from = space.from; + + // Makes rgba() and hsla() + color.fn[ spaceName ] = function( value ) { + + // Generate a cache for this space if it doesn't exist + if ( to && !this[ cache ] ) { + this[ cache ] = to( this._rgba ); + } + if ( value === undefined ) { + return this[ cache ].slice(); + } + + var ret, + type = jQuery.type( value ), + arr = ( type === "array" || type === "object" ) ? value : arguments, + local = this[ cache ].slice(); + + each( props, function( key, prop ) { + var val = arr[ type === "object" ? key : prop.idx ]; + if ( val == null ) { + val = local[ prop.idx ]; + } + local[ prop.idx ] = clamp( val, prop ); + } ); + + if ( from ) { + ret = color( from( local ) ); + ret[ cache ] = local; + return ret; + } else { + return color( local ); + } + }; + + // Makes red() green() blue() alpha() hue() saturation() lightness() + each( props, function( key, prop ) { + + // Alpha is included in more than one space + if ( color.fn[ key ] ) { + return; + } + color.fn[ key ] = function( value ) { + var vtype = jQuery.type( value ), + fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ), + local = this[ fn ](), + cur = local[ prop.idx ], + match; + + if ( vtype === "undefined" ) { + return cur; + } + + if ( vtype === "function" ) { + value = value.call( this, cur ); + vtype = jQuery.type( value ); + } + if ( value == null && prop.empty ) { + return this; + } + if ( vtype === "string" ) { + match = rplusequals.exec( value ); + if ( match ) { + value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 ); + } + } + local[ prop.idx ] = value; + return this[ fn ]( local ); + }; + } ); +} ); + +// Add cssHook and .fx.step function for each named hook. +// accept a space separated string of properties +color.hook = function( hook ) { + var hooks = hook.split( " " ); + each( hooks, function( i, hook ) { + jQuery.cssHooks[ hook ] = { + set: function( elem, value ) { + var parsed, curElem, + backgroundColor = ""; + + if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || + ( parsed = stringParse( value ) ) ) ) { + value = color( parsed || value ); + if ( !support.rgba && value._rgba[ 3 ] !== 1 ) { + curElem = hook === "backgroundColor" ? elem.parentNode : elem; + while ( + ( backgroundColor === "" || backgroundColor === "transparent" ) && + curElem && curElem.style + ) { + try { + backgroundColor = jQuery.css( curElem, "backgroundColor" ); + curElem = curElem.parentNode; + } catch ( e ) { + } + } + + value = value.blend( backgroundColor && backgroundColor !== "transparent" ? + backgroundColor : + "_default" ); + } + + value = value.toRgbaString(); + } + try { + elem.style[ hook ] = value; + } catch ( e ) { + + // Wrapped to prevent IE from throwing errors on "invalid" values like + // 'auto' or 'inherit' + } + } + }; + jQuery.fx.step[ hook ] = function( fx ) { + if ( !fx.colorInit ) { + fx.start = color( fx.elem, hook ); + fx.end = color( fx.end ); + fx.colorInit = true; + } + jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) ); + }; + } ); + +}; + +color.hook( stepHooks ); + +jQuery.cssHooks.borderColor = { + expand: function( value ) { + var expanded = {}; + + each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) { + expanded[ "border" + part + "Color" ] = value; + } ); + return expanded; + } +}; + +// Basic color names only. +// Usage of any of the other color names requires adding yourself or including +// jquery.color.svg-names.js. +colors = jQuery.Color.names = { + + // 4.1. Basic color keywords + aqua: "#00ffff", + black: "#000000", + blue: "#0000ff", + fuchsia: "#ff00ff", + gray: "#808080", + green: "#008000", + lime: "#00ff00", + maroon: "#800000", + navy: "#000080", + olive: "#808000", + purple: "#800080", + red: "#ff0000", + silver: "#c0c0c0", + teal: "#008080", + white: "#ffffff", + yellow: "#ffff00", + + // 4.2.3. "transparent" color keyword + transparent: [ null, null, null, 0 ], + + _default: "#ffffff" +}; + +} )( jQuery ); + +/******************************************************************************/ +/****************************** CLASS ANIMATIONS ******************************/ +/******************************************************************************/ +( function() { + +var classAnimationActions = [ "add", "remove", "toggle" ], + shorthandStyles = { + border: 1, + borderBottom: 1, + borderColor: 1, + borderLeft: 1, + borderRight: 1, + borderTop: 1, + borderWidth: 1, + margin: 1, + padding: 1 + }; + +$.each( + [ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ], + function( _, prop ) { + $.fx.step[ prop ] = function( fx ) { + if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) { + jQuery.style( fx.elem, prop, fx.end ); + fx.setAttr = true; + } + }; + } +); + +function getElementStyles( elem ) { + var key, len, + style = elem.ownerDocument.defaultView ? + elem.ownerDocument.defaultView.getComputedStyle( elem, null ) : + elem.currentStyle, + styles = {}; + + if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) { + len = style.length; + while ( len-- ) { + key = style[ len ]; + if ( typeof style[ key ] === "string" ) { + styles[ $.camelCase( key ) ] = style[ key ]; + } + } + + // Support: Opera, IE <9 + } else { + for ( key in style ) { + if ( typeof style[ key ] === "string" ) { + styles[ key ] = style[ key ]; + } + } + } + + return styles; +} + +function styleDifference( oldStyle, newStyle ) { + var diff = {}, + name, value; + + for ( name in newStyle ) { + value = newStyle[ name ]; + if ( oldStyle[ name ] !== value ) { + if ( !shorthandStyles[ name ] ) { + if ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) { + diff[ name ] = value; + } + } + } + } + + return diff; +} + +// Support: jQuery <1.8 +if ( !$.fn.addBack ) { + $.fn.addBack = function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + }; +} + +$.effects.animateClass = function( value, duration, easing, callback ) { + var o = $.speed( duration, easing, callback ); + + return this.queue( function() { + var animated = $( this ), + baseClass = animated.attr( "class" ) || "", + applyClassChange, + allAnimations = o.children ? animated.find( "*" ).addBack() : animated; + + // Map the animated objects to store the original styles. + allAnimations = allAnimations.map( function() { + var el = $( this ); + return { + el: el, + start: getElementStyles( this ) + }; + } ); + + // Apply class change + applyClassChange = function() { + $.each( classAnimationActions, function( i, action ) { + if ( value[ action ] ) { + animated[ action + "Class" ]( value[ action ] ); + } + } ); + }; + applyClassChange(); + + // Map all animated objects again - calculate new styles and diff + allAnimations = allAnimations.map( function() { + this.end = getElementStyles( this.el[ 0 ] ); + this.diff = styleDifference( this.start, this.end ); + return this; + } ); + + // Apply original class + animated.attr( "class", baseClass ); + + // Map all animated objects again - this time collecting a promise + allAnimations = allAnimations.map( function() { + var styleInfo = this, + dfd = $.Deferred(), + opts = $.extend( {}, o, { + queue: false, + complete: function() { + dfd.resolve( styleInfo ); + } + } ); + + this.el.animate( this.diff, opts ); + return dfd.promise(); + } ); + + // Once all animations have completed: + $.when.apply( $, allAnimations.get() ).done( function() { + + // Set the final class + applyClassChange(); + + // For each animated element, + // clear all css properties that were animated + $.each( arguments, function() { + var el = this.el; + $.each( this.diff, function( key ) { + el.css( key, "" ); + } ); + } ); + + // This is guarnteed to be there if you use jQuery.speed() + // it also handles dequeuing the next anim... + o.complete.call( animated[ 0 ] ); + } ); + } ); +}; + +$.fn.extend( { + addClass: ( function( orig ) { + return function( classNames, speed, easing, callback ) { + return speed ? + $.effects.animateClass.call( this, + { add: classNames }, speed, easing, callback ) : + orig.apply( this, arguments ); + }; + } )( $.fn.addClass ), + + removeClass: ( function( orig ) { + return function( classNames, speed, easing, callback ) { + return arguments.length > 1 ? + $.effects.animateClass.call( this, + { remove: classNames }, speed, easing, callback ) : + orig.apply( this, arguments ); + }; + } )( $.fn.removeClass ), + + toggleClass: ( function( orig ) { + return function( classNames, force, speed, easing, callback ) { + if ( typeof force === "boolean" || force === undefined ) { + if ( !speed ) { + + // Without speed parameter + return orig.apply( this, arguments ); + } else { + return $.effects.animateClass.call( this, + ( force ? { add: classNames } : { remove: classNames } ), + speed, easing, callback ); + } + } else { + + // Without force parameter + return $.effects.animateClass.call( this, + { toggle: classNames }, force, speed, easing ); + } + }; + } )( $.fn.toggleClass ), + + switchClass: function( remove, add, speed, easing, callback ) { + return $.effects.animateClass.call( this, { + add: add, + remove: remove + }, speed, easing, callback ); + } +} ); + +} )(); + +/******************************************************************************/ +/*********************************** EFFECTS **********************************/ +/******************************************************************************/ + +( function() { + +if ( $.expr && $.expr.filters && $.expr.filters.animated ) { + $.expr.filters.animated = ( function( orig ) { + return function( elem ) { + return !!$( elem ).data( dataSpaceAnimated ) || orig( elem ); + }; + } )( $.expr.filters.animated ); +} + +if ( $.uiBackCompat !== false ) { + $.extend( $.effects, { + + // Saves a set of properties in a data storage + save: function( element, set ) { + var i = 0, length = set.length; + for ( ; i < length; i++ ) { + if ( set[ i ] !== null ) { + element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] ); + } + } + }, + + // Restores a set of previously saved properties from a data storage + restore: function( element, set ) { + var val, i = 0, length = set.length; + for ( ; i < length; i++ ) { + if ( set[ i ] !== null ) { + val = element.data( dataSpace + set[ i ] ); + element.css( set[ i ], val ); + } + } + }, + + setMode: function( el, mode ) { + if ( mode === "toggle" ) { + mode = el.is( ":hidden" ) ? "show" : "hide"; + } + return mode; + }, + + // Wraps the element around a wrapper that copies position properties + createWrapper: function( element ) { + + // If the element is already wrapped, return it + if ( element.parent().is( ".ui-effects-wrapper" ) ) { + return element.parent(); + } + + // Wrap the element + var props = { + width: element.outerWidth( true ), + height: element.outerHeight( true ), + "float": element.css( "float" ) + }, + wrapper = $( "<div></div>" ) + .addClass( "ui-effects-wrapper" ) + .css( { + fontSize: "100%", + background: "transparent", + border: "none", + margin: 0, + padding: 0 + } ), + + // Store the size in case width/height are defined in % - Fixes #5245 + size = { + width: element.width(), + height: element.height() + }, + active = document.activeElement; + + // Support: Firefox + // Firefox incorrectly exposes anonymous content + // https://bugzilla.mozilla.org/show_bug.cgi?id=561664 + try { + active.id; + } catch ( e ) { + active = document.body; + } + + element.wrap( wrapper ); + + // Fixes #7595 - Elements lose focus when wrapped. + if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) { + $( active ).trigger( "focus" ); + } + + // Hotfix for jQuery 1.4 since some change in wrap() seems to actually + // lose the reference to the wrapped element + wrapper = element.parent(); + + // Transfer positioning properties to the wrapper + if ( element.css( "position" ) === "static" ) { + wrapper.css( { position: "relative" } ); + element.css( { position: "relative" } ); + } else { + $.extend( props, { + position: element.css( "position" ), + zIndex: element.css( "z-index" ) + } ); + $.each( [ "top", "left", "bottom", "right" ], function( i, pos ) { + props[ pos ] = element.css( pos ); + if ( isNaN( parseInt( props[ pos ], 10 ) ) ) { + props[ pos ] = "auto"; + } + } ); + element.css( { + position: "relative", + top: 0, + left: 0, + right: "auto", + bottom: "auto" + } ); + } + element.css( size ); + + return wrapper.css( props ).show(); + }, + + removeWrapper: function( element ) { + var active = document.activeElement; + + if ( element.parent().is( ".ui-effects-wrapper" ) ) { + element.parent().replaceWith( element ); + + // Fixes #7595 - Elements lose focus when wrapped. + if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) { + $( active ).trigger( "focus" ); + } + } + + return element; + } + } ); +} + +$.extend( $.effects, { + version: "1.12.1", + + define: function( name, mode, effect ) { + if ( !effect ) { + effect = mode; + mode = "effect"; + } + + $.effects.effect[ name ] = effect; + $.effects.effect[ name ].mode = mode; + + return effect; + }, + + scaledDimensions: function( element, percent, direction ) { + if ( percent === 0 ) { + return { + height: 0, + width: 0, + outerHeight: 0, + outerWidth: 0 + }; + } + + var x = direction !== "horizontal" ? ( ( percent || 100 ) / 100 ) : 1, + y = direction !== "vertical" ? ( ( percent || 100 ) / 100 ) : 1; + + return { + height: element.height() * y, + width: element.width() * x, + outerHeight: element.outerHeight() * y, + outerWidth: element.outerWidth() * x + }; + + }, + + clipToBox: function( animation ) { + return { + width: animation.clip.right - animation.clip.left, + height: animation.clip.bottom - animation.clip.top, + left: animation.clip.left, + top: animation.clip.top + }; + }, + + // Injects recently queued functions to be first in line (after "inprogress") + unshift: function( element, queueLength, count ) { + var queue = element.queue(); + + if ( queueLength > 1 ) { + queue.splice.apply( queue, + [ 1, 0 ].concat( queue.splice( queueLength, count ) ) ); + } + element.dequeue(); + }, + + saveStyle: function( element ) { + element.data( dataSpaceStyle, element[ 0 ].style.cssText ); + }, + + restoreStyle: function( element ) { + element[ 0 ].style.cssText = element.data( dataSpaceStyle ) || ""; + element.removeData( dataSpaceStyle ); + }, + + mode: function( element, mode ) { + var hidden = element.is( ":hidden" ); + + if ( mode === "toggle" ) { + mode = hidden ? "show" : "hide"; + } + if ( hidden ? mode === "hide" : mode === "show" ) { + mode = "none"; + } + return mode; + }, + + // Translates a [top,left] array into a baseline value + getBaseline: function( origin, original ) { + var y, x; + + switch ( origin[ 0 ] ) { + case "top": + y = 0; + break; + case "middle": + y = 0.5; + break; + case "bottom": + y = 1; + break; + default: + y = origin[ 0 ] / original.height; + } + + switch ( origin[ 1 ] ) { + case "left": + x = 0; + break; + case "center": + x = 0.5; + break; + case "right": + x = 1; + break; + default: + x = origin[ 1 ] / original.width; + } + + return { + x: x, + y: y + }; + }, + + // Creates a placeholder element so that the original element can be made absolute + createPlaceholder: function( element ) { + var placeholder, + cssPosition = element.css( "position" ), + position = element.position(); + + // Lock in margins first to account for form elements, which + // will change margin if you explicitly set height + // see: http://jsfiddle.net/JZSMt/3/ https://bugs.webkit.org/show_bug.cgi?id=107380 + // Support: Safari + element.css( { + marginTop: element.css( "marginTop" ), + marginBottom: element.css( "marginBottom" ), + marginLeft: element.css( "marginLeft" ), + marginRight: element.css( "marginRight" ) + } ) + .outerWidth( element.outerWidth() ) + .outerHeight( element.outerHeight() ); + + if ( /^(static|relative)/.test( cssPosition ) ) { + cssPosition = "absolute"; + + placeholder = $( "<" + element[ 0 ].nodeName + ">" ).insertAfter( element ).css( { + + // Convert inline to inline block to account for inline elements + // that turn to inline block based on content (like img) + display: /^(inline|ruby)/.test( element.css( "display" ) ) ? + "inline-block" : + "block", + visibility: "hidden", + + // Margins need to be set to account for margin collapse + marginTop: element.css( "marginTop" ), + marginBottom: element.css( "marginBottom" ), + marginLeft: element.css( "marginLeft" ), + marginRight: element.css( "marginRight" ), + "float": element.css( "float" ) + } ) + .outerWidth( element.outerWidth() ) + .outerHeight( element.outerHeight() ) + .addClass( "ui-effects-placeholder" ); + + element.data( dataSpace + "placeholder", placeholder ); + } + + element.css( { + position: cssPosition, + left: position.left, + top: position.top + } ); + + return placeholder; + }, + + removePlaceholder: function( element ) { + var dataKey = dataSpace + "placeholder", + placeholder = element.data( dataKey ); + + if ( placeholder ) { + placeholder.remove(); + element.removeData( dataKey ); + } + }, + + // Removes a placeholder if it exists and restores + // properties that were modified during placeholder creation + cleanUp: function( element ) { + $.effects.restoreStyle( element ); + $.effects.removePlaceholder( element ); + }, + + setTransition: function( element, list, factor, value ) { + value = value || {}; + $.each( list, function( i, x ) { + var unit = element.cssUnit( x ); + if ( unit[ 0 ] > 0 ) { + value[ x ] = unit[ 0 ] * factor + unit[ 1 ]; + } + } ); + return value; + } +} ); + +// Return an effect options object for the given parameters: +function _normalizeArguments( effect, options, speed, callback ) { + + // Allow passing all options as the first parameter + if ( $.isPlainObject( effect ) ) { + options = effect; + effect = effect.effect; + } + + // Convert to an object + effect = { effect: effect }; + + // Catch (effect, null, ...) + if ( options == null ) { + options = {}; + } + + // Catch (effect, callback) + if ( $.isFunction( options ) ) { + callback = options; + speed = null; + options = {}; + } + + // Catch (effect, speed, ?) + if ( typeof options === "number" || $.fx.speeds[ options ] ) { + callback = speed; + speed = options; + options = {}; + } + + // Catch (effect, options, callback) + if ( $.isFunction( speed ) ) { + callback = speed; + speed = null; + } + + // Add options to effect + if ( options ) { + $.extend( effect, options ); + } + + speed = speed || options.duration; + effect.duration = $.fx.off ? 0 : + typeof speed === "number" ? speed : + speed in $.fx.speeds ? $.fx.speeds[ speed ] : + $.fx.speeds._default; + + effect.complete = callback || options.complete; + + return effect; +} + +function standardAnimationOption( option ) { + + // Valid standard speeds (nothing, number, named speed) + if ( !option || typeof option === "number" || $.fx.speeds[ option ] ) { + return true; + } + + // Invalid strings - treat as "normal" speed + if ( typeof option === "string" && !$.effects.effect[ option ] ) { + return true; + } + + // Complete callback + if ( $.isFunction( option ) ) { + return true; + } + + // Options hash (but not naming an effect) + if ( typeof option === "object" && !option.effect ) { + return true; + } + + // Didn't match any standard API + return false; +} + +$.fn.extend( { + effect: function( /* effect, options, speed, callback */ ) { + var args = _normalizeArguments.apply( this, arguments ), + effectMethod = $.effects.effect[ args.effect ], + defaultMode = effectMethod.mode, + queue = args.queue, + queueName = queue || "fx", + complete = args.complete, + mode = args.mode, + modes = [], + prefilter = function( next ) { + var el = $( this ), + normalizedMode = $.effects.mode( el, mode ) || defaultMode; + + // Sentinel for duck-punching the :animated psuedo-selector + el.data( dataSpaceAnimated, true ); + + // Save effect mode for later use, + // we can't just call $.effects.mode again later, + // as the .show() below destroys the initial state + modes.push( normalizedMode ); + + // See $.uiBackCompat inside of run() for removal of defaultMode in 1.13 + if ( defaultMode && ( normalizedMode === "show" || + ( normalizedMode === defaultMode && normalizedMode === "hide" ) ) ) { + el.show(); + } + + if ( !defaultMode || normalizedMode !== "none" ) { + $.effects.saveStyle( el ); + } + + if ( $.isFunction( next ) ) { + next(); + } + }; + + if ( $.fx.off || !effectMethod ) { + + // Delegate to the original method (e.g., .show()) if possible + if ( mode ) { + return this[ mode ]( args.duration, complete ); + } else { + return this.each( function() { + if ( complete ) { + complete.call( this ); + } + } ); + } + } + + function run( next ) { + var elem = $( this ); + + function cleanup() { + elem.removeData( dataSpaceAnimated ); + + $.effects.cleanUp( elem ); + + if ( args.mode === "hide" ) { + elem.hide(); + } + + done(); + } + + function done() { + if ( $.isFunction( complete ) ) { + complete.call( elem[ 0 ] ); + } + + if ( $.isFunction( next ) ) { + next(); + } + } + + // Override mode option on a per element basis, + // as toggle can be either show or hide depending on element state + args.mode = modes.shift(); + + if ( $.uiBackCompat !== false && !defaultMode ) { + if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) { + + // Call the core method to track "olddisplay" properly + elem[ mode ](); + done(); + } else { + effectMethod.call( elem[ 0 ], args, done ); + } + } else { + if ( args.mode === "none" ) { + + // Call the core method to track "olddisplay" properly + elem[ mode ](); + done(); + } else { + effectMethod.call( elem[ 0 ], args, cleanup ); + } + } + } + + // Run prefilter on all elements first to ensure that + // any showing or hiding happens before placeholder creation, + // which ensures that any layout changes are correctly captured. + return queue === false ? + this.each( prefilter ).each( run ) : + this.queue( queueName, prefilter ).queue( queueName, run ); + }, + + show: ( function( orig ) { + return function( option ) { + if ( standardAnimationOption( option ) ) { + return orig.apply( this, arguments ); + } else { + var args = _normalizeArguments.apply( this, arguments ); + args.mode = "show"; + return this.effect.call( this, args ); + } + }; + } )( $.fn.show ), + + hide: ( function( orig ) { + return function( option ) { + if ( standardAnimationOption( option ) ) { + return orig.apply( this, arguments ); + } else { + var args = _normalizeArguments.apply( this, arguments ); + args.mode = "hide"; + return this.effect.call( this, args ); + } + }; + } )( $.fn.hide ), + + toggle: ( function( orig ) { + return function( option ) { + if ( standardAnimationOption( option ) || typeof option === "boolean" ) { + return orig.apply( this, arguments ); + } else { + var args = _normalizeArguments.apply( this, arguments ); + args.mode = "toggle"; + return this.effect.call( this, args ); + } + }; + } )( $.fn.toggle ), + + cssUnit: function( key ) { + var style = this.css( key ), + val = []; + + $.each( [ "em", "px", "%", "pt" ], function( i, unit ) { + if ( style.indexOf( unit ) > 0 ) { + val = [ parseFloat( style ), unit ]; + } + } ); + return val; + }, + + cssClip: function( clipObj ) { + if ( clipObj ) { + return this.css( "clip", "rect(" + clipObj.top + "px " + clipObj.right + "px " + + clipObj.bottom + "px " + clipObj.left + "px)" ); + } + return parseClip( this.css( "clip" ), this ); + }, + + transfer: function( options, done ) { + var element = $( this ), + target = $( options.to ), + targetFixed = target.css( "position" ) === "fixed", + body = $( "body" ), + fixTop = targetFixed ? body.scrollTop() : 0, + fixLeft = targetFixed ? body.scrollLeft() : 0, + endPosition = target.offset(), + animation = { + top: endPosition.top - fixTop, + left: endPosition.left - fixLeft, + height: target.innerHeight(), + width: target.innerWidth() + }, + startPosition = element.offset(), + transfer = $( "<div class='ui-effects-transfer'></div>" ) + .appendTo( "body" ) + .addClass( options.className ) + .css( { + top: startPosition.top - fixTop, + left: startPosition.left - fixLeft, + height: element.innerHeight(), + width: element.innerWidth(), + position: targetFixed ? "fixed" : "absolute" + } ) + .animate( animation, options.duration, options.easing, function() { + transfer.remove(); + if ( $.isFunction( done ) ) { + done(); + } + } ); + } +} ); + +function parseClip( str, element ) { + var outerWidth = element.outerWidth(), + outerHeight = element.outerHeight(), + clipRegex = /^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/, + values = clipRegex.exec( str ) || [ "", 0, outerWidth, outerHeight, 0 ]; + + return { + top: parseFloat( values[ 1 ] ) || 0, + right: values[ 2 ] === "auto" ? outerWidth : parseFloat( values[ 2 ] ), + bottom: values[ 3 ] === "auto" ? outerHeight : parseFloat( values[ 3 ] ), + left: parseFloat( values[ 4 ] ) || 0 + }; +} + +$.fx.step.clip = function( fx ) { + if ( !fx.clipInit ) { + fx.start = $( fx.elem ).cssClip(); + if ( typeof fx.end === "string" ) { + fx.end = parseClip( fx.end, fx.elem ); + } + fx.clipInit = true; + } + + $( fx.elem ).cssClip( { + top: fx.pos * ( fx.end.top - fx.start.top ) + fx.start.top, + right: fx.pos * ( fx.end.right - fx.start.right ) + fx.start.right, + bottom: fx.pos * ( fx.end.bottom - fx.start.bottom ) + fx.start.bottom, + left: fx.pos * ( fx.end.left - fx.start.left ) + fx.start.left + } ); +}; + +} )(); + +/******************************************************************************/ +/*********************************** EASING ***********************************/ +/******************************************************************************/ + +( function() { + +// Based on easing equations from Robert Penner (http://www.robertpenner.com/easing) + +var baseEasings = {}; + +$.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) { + baseEasings[ name ] = function( p ) { + return Math.pow( p, i + 2 ); + }; +} ); + +$.extend( baseEasings, { + Sine: function( p ) { + return 1 - Math.cos( p * Math.PI / 2 ); + }, + Circ: function( p ) { + return 1 - Math.sqrt( 1 - p * p ); + }, + Elastic: function( p ) { + return p === 0 || p === 1 ? p : + -Math.pow( 2, 8 * ( p - 1 ) ) * Math.sin( ( ( p - 1 ) * 80 - 7.5 ) * Math.PI / 15 ); + }, + Back: function( p ) { + return p * p * ( 3 * p - 2 ); + }, + Bounce: function( p ) { + var pow2, + bounce = 4; + + while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {} + return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 ); + } +} ); + +$.each( baseEasings, function( name, easeIn ) { + $.easing[ "easeIn" + name ] = easeIn; + $.easing[ "easeOut" + name ] = function( p ) { + return 1 - easeIn( 1 - p ); + }; + $.easing[ "easeInOut" + name ] = function( p ) { + return p < 0.5 ? + easeIn( p * 2 ) / 2 : + 1 - easeIn( p * -2 + 2 ) / 2; + }; +} ); + +} )(); + +var effect = $.effects; + + +/*! + * jQuery UI Effects Blind 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Blind Effect +//>>group: Effects +//>>description: Blinds the element. +//>>docs: http://api.jqueryui.com/blind-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectBlind = $.effects.define( "blind", "hide", function( options, done ) { + var map = { + up: [ "bottom", "top" ], + vertical: [ "bottom", "top" ], + down: [ "top", "bottom" ], + left: [ "right", "left" ], + horizontal: [ "right", "left" ], + right: [ "left", "right" ] + }, + element = $( this ), + direction = options.direction || "up", + start = element.cssClip(), + animate = { clip: $.extend( {}, start ) }, + placeholder = $.effects.createPlaceholder( element ); + + animate.clip[ map[ direction ][ 0 ] ] = animate.clip[ map[ direction ][ 1 ] ]; + + if ( options.mode === "show" ) { + element.cssClip( animate.clip ); + if ( placeholder ) { + placeholder.css( $.effects.clipToBox( animate ) ); + } + + animate.clip = start; + } + + if ( placeholder ) { + placeholder.animate( $.effects.clipToBox( animate ), options.duration, options.easing ); + } + + element.animate( animate, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + + +/*! + * jQuery UI Effects Bounce 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Bounce Effect +//>>group: Effects +//>>description: Bounces an element horizontally or vertically n times. +//>>docs: http://api.jqueryui.com/bounce-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectBounce = $.effects.define( "bounce", function( options, done ) { + var upAnim, downAnim, refValue, + element = $( this ), + + // Defaults: + mode = options.mode, + hide = mode === "hide", + show = mode === "show", + direction = options.direction || "up", + distance = options.distance, + times = options.times || 5, + + // Number of internal animations + anims = times * 2 + ( show || hide ? 1 : 0 ), + speed = options.duration / anims, + easing = options.easing, + + // Utility: + ref = ( direction === "up" || direction === "down" ) ? "top" : "left", + motion = ( direction === "up" || direction === "left" ), + i = 0, + + queuelen = element.queue().length; + + $.effects.createPlaceholder( element ); + + refValue = element.css( ref ); + + // Default distance for the BIGGEST bounce is the outer Distance / 3 + if ( !distance ) { + distance = element[ ref === "top" ? "outerHeight" : "outerWidth" ]() / 3; + } + + if ( show ) { + downAnim = { opacity: 1 }; + downAnim[ ref ] = refValue; + + // If we are showing, force opacity 0 and set the initial position + // then do the "first" animation + element + .css( "opacity", 0 ) + .css( ref, motion ? -distance * 2 : distance * 2 ) + .animate( downAnim, speed, easing ); + } + + // Start at the smallest distance if we are hiding + if ( hide ) { + distance = distance / Math.pow( 2, times - 1 ); + } + + downAnim = {}; + downAnim[ ref ] = refValue; + + // Bounces up/down/left/right then back to 0 -- times * 2 animations happen here + for ( ; i < times; i++ ) { + upAnim = {}; + upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; + + element + .animate( upAnim, speed, easing ) + .animate( downAnim, speed, easing ); + + distance = hide ? distance * 2 : distance / 2; + } + + // Last Bounce when Hiding + if ( hide ) { + upAnim = { opacity: 0 }; + upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; + + element.animate( upAnim, speed, easing ); + } + + element.queue( done ); + + $.effects.unshift( element, queuelen, anims + 1 ); +} ); + + +/*! + * jQuery UI Effects Clip 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Clip Effect +//>>group: Effects +//>>description: Clips the element on and off like an old TV. +//>>docs: http://api.jqueryui.com/clip-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectClip = $.effects.define( "clip", "hide", function( options, done ) { + var start, + animate = {}, + element = $( this ), + direction = options.direction || "vertical", + both = direction === "both", + horizontal = both || direction === "horizontal", + vertical = both || direction === "vertical"; + + start = element.cssClip(); + animate.clip = { + top: vertical ? ( start.bottom - start.top ) / 2 : start.top, + right: horizontal ? ( start.right - start.left ) / 2 : start.right, + bottom: vertical ? ( start.bottom - start.top ) / 2 : start.bottom, + left: horizontal ? ( start.right - start.left ) / 2 : start.left + }; + + $.effects.createPlaceholder( element ); + + if ( options.mode === "show" ) { + element.cssClip( animate.clip ); + animate.clip = start; + } + + element.animate( animate, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); + +} ); + + +/*! + * jQuery UI Effects Drop 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Drop Effect +//>>group: Effects +//>>description: Moves an element in one direction and hides it at the same time. +//>>docs: http://api.jqueryui.com/drop-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectDrop = $.effects.define( "drop", "hide", function( options, done ) { + + var distance, + element = $( this ), + mode = options.mode, + show = mode === "show", + direction = options.direction || "left", + ref = ( direction === "up" || direction === "down" ) ? "top" : "left", + motion = ( direction === "up" || direction === "left" ) ? "-=" : "+=", + oppositeMotion = ( motion === "+=" ) ? "-=" : "+=", + animation = { + opacity: 0 + }; + + $.effects.createPlaceholder( element ); + + distance = options.distance || + element[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ) / 2; + + animation[ ref ] = motion + distance; + + if ( show ) { + element.css( animation ); + + animation[ ref ] = oppositeMotion + distance; + animation.opacity = 1; + } + + // Animate + element.animate( animation, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + + +/*! + * jQuery UI Effects Explode 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Explode Effect +//>>group: Effects +// jscs:disable maximumLineLength +//>>description: Explodes an element in all directions into n pieces. Implodes an element to its original wholeness. +// jscs:enable maximumLineLength +//>>docs: http://api.jqueryui.com/explode-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectExplode = $.effects.define( "explode", "hide", function( options, done ) { + + var i, j, left, top, mx, my, + rows = options.pieces ? Math.round( Math.sqrt( options.pieces ) ) : 3, + cells = rows, + element = $( this ), + mode = options.mode, + show = mode === "show", + + // Show and then visibility:hidden the element before calculating offset + offset = element.show().css( "visibility", "hidden" ).offset(), + + // Width and height of a piece + width = Math.ceil( element.outerWidth() / cells ), + height = Math.ceil( element.outerHeight() / rows ), + pieces = []; + + // Children animate complete: + function childComplete() { + pieces.push( this ); + if ( pieces.length === rows * cells ) { + animComplete(); + } + } + + // Clone the element for each row and cell. + for ( i = 0; i < rows; i++ ) { // ===> + top = offset.top + i * height; + my = i - ( rows - 1 ) / 2; + + for ( j = 0; j < cells; j++ ) { // ||| + left = offset.left + j * width; + mx = j - ( cells - 1 ) / 2; + + // Create a clone of the now hidden main element that will be absolute positioned + // within a wrapper div off the -left and -top equal to size of our pieces + element + .clone() + .appendTo( "body" ) + .wrap( "<div></div>" ) + .css( { + position: "absolute", + visibility: "visible", + left: -j * width, + top: -i * height + } ) + + // Select the wrapper - make it overflow: hidden and absolute positioned based on + // where the original was located +left and +top equal to the size of pieces + .parent() + .addClass( "ui-effects-explode" ) + .css( { + position: "absolute", + overflow: "hidden", + width: width, + height: height, + left: left + ( show ? mx * width : 0 ), + top: top + ( show ? my * height : 0 ), + opacity: show ? 0 : 1 + } ) + .animate( { + left: left + ( show ? 0 : mx * width ), + top: top + ( show ? 0 : my * height ), + opacity: show ? 1 : 0 + }, options.duration || 500, options.easing, childComplete ); + } + } + + function animComplete() { + element.css( { + visibility: "visible" + } ); + $( pieces ).remove(); + done(); + } +} ); + + +/*! + * jQuery UI Effects Fade 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Fade Effect +//>>group: Effects +//>>description: Fades the element. +//>>docs: http://api.jqueryui.com/fade-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectFade = $.effects.define( "fade", "toggle", function( options, done ) { + var show = options.mode === "show"; + + $( this ) + .css( "opacity", show ? 0 : 1 ) + .animate( { + opacity: show ? 1 : 0 + }, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + + +/*! + * jQuery UI Effects Fold 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Fold Effect +//>>group: Effects +//>>description: Folds an element first horizontally and then vertically. +//>>docs: http://api.jqueryui.com/fold-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectFold = $.effects.define( "fold", "hide", function( options, done ) { + + // Create element + var element = $( this ), + mode = options.mode, + show = mode === "show", + hide = mode === "hide", + size = options.size || 15, + percent = /([0-9]+)%/.exec( size ), + horizFirst = !!options.horizFirst, + ref = horizFirst ? [ "right", "bottom" ] : [ "bottom", "right" ], + duration = options.duration / 2, + + placeholder = $.effects.createPlaceholder( element ), + + start = element.cssClip(), + animation1 = { clip: $.extend( {}, start ) }, + animation2 = { clip: $.extend( {}, start ) }, + + distance = [ start[ ref[ 0 ] ], start[ ref[ 1 ] ] ], + + queuelen = element.queue().length; + + if ( percent ) { + size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ]; + } + animation1.clip[ ref[ 0 ] ] = size; + animation2.clip[ ref[ 0 ] ] = size; + animation2.clip[ ref[ 1 ] ] = 0; + + if ( show ) { + element.cssClip( animation2.clip ); + if ( placeholder ) { + placeholder.css( $.effects.clipToBox( animation2 ) ); + } + + animation2.clip = start; + } + + // Animate + element + .queue( function( next ) { + if ( placeholder ) { + placeholder + .animate( $.effects.clipToBox( animation1 ), duration, options.easing ) + .animate( $.effects.clipToBox( animation2 ), duration, options.easing ); + } + + next(); + } ) + .animate( animation1, duration, options.easing ) + .animate( animation2, duration, options.easing ) + .queue( done ); + + $.effects.unshift( element, queuelen, 4 ); +} ); + + +/*! + * jQuery UI Effects Highlight 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Highlight Effect +//>>group: Effects +//>>description: Highlights the background of an element in a defined color for a custom duration. +//>>docs: http://api.jqueryui.com/highlight-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectHighlight = $.effects.define( "highlight", "show", function( options, done ) { + var element = $( this ), + animation = { + backgroundColor: element.css( "backgroundColor" ) + }; + + if ( options.mode === "hide" ) { + animation.opacity = 0; + } + + $.effects.saveStyle( element ); + + element + .css( { + backgroundImage: "none", + backgroundColor: options.color || "#ffff99" + } ) + .animate( animation, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + + +/*! + * jQuery UI Effects Size 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Size Effect +//>>group: Effects +//>>description: Resize an element to a specified width and height. +//>>docs: http://api.jqueryui.com/size-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectSize = $.effects.define( "size", function( options, done ) { + + // Create element + var baseline, factor, temp, + element = $( this ), + + // Copy for children + cProps = [ "fontSize" ], + vProps = [ "borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom" ], + hProps = [ "borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight" ], + + // Set options + mode = options.mode, + restore = mode !== "effect", + scale = options.scale || "both", + origin = options.origin || [ "middle", "center" ], + position = element.css( "position" ), + pos = element.position(), + original = $.effects.scaledDimensions( element ), + from = options.from || original, + to = options.to || $.effects.scaledDimensions( element, 0 ); + + $.effects.createPlaceholder( element ); + + if ( mode === "show" ) { + temp = from; + from = to; + to = temp; + } + + // Set scaling factor + factor = { + from: { + y: from.height / original.height, + x: from.width / original.width + }, + to: { + y: to.height / original.height, + x: to.width / original.width + } + }; + + // Scale the css box + if ( scale === "box" || scale === "both" ) { + + // Vertical props scaling + if ( factor.from.y !== factor.to.y ) { + from = $.effects.setTransition( element, vProps, factor.from.y, from ); + to = $.effects.setTransition( element, vProps, factor.to.y, to ); + } + + // Horizontal props scaling + if ( factor.from.x !== factor.to.x ) { + from = $.effects.setTransition( element, hProps, factor.from.x, from ); + to = $.effects.setTransition( element, hProps, factor.to.x, to ); + } + } + + // Scale the content + if ( scale === "content" || scale === "both" ) { + + // Vertical props scaling + if ( factor.from.y !== factor.to.y ) { + from = $.effects.setTransition( element, cProps, factor.from.y, from ); + to = $.effects.setTransition( element, cProps, factor.to.y, to ); + } + } + + // Adjust the position properties based on the provided origin points + if ( origin ) { + baseline = $.effects.getBaseline( origin, original ); + from.top = ( original.outerHeight - from.outerHeight ) * baseline.y + pos.top; + from.left = ( original.outerWidth - from.outerWidth ) * baseline.x + pos.left; + to.top = ( original.outerHeight - to.outerHeight ) * baseline.y + pos.top; + to.left = ( original.outerWidth - to.outerWidth ) * baseline.x + pos.left; + } + element.css( from ); + + // Animate the children if desired + if ( scale === "content" || scale === "both" ) { + + vProps = vProps.concat( [ "marginTop", "marginBottom" ] ).concat( cProps ); + hProps = hProps.concat( [ "marginLeft", "marginRight" ] ); + + // Only animate children with width attributes specified + // TODO: is this right? should we include anything with css width specified as well + element.find( "*[width]" ).each( function() { + var child = $( this ), + childOriginal = $.effects.scaledDimensions( child ), + childFrom = { + height: childOriginal.height * factor.from.y, + width: childOriginal.width * factor.from.x, + outerHeight: childOriginal.outerHeight * factor.from.y, + outerWidth: childOriginal.outerWidth * factor.from.x + }, + childTo = { + height: childOriginal.height * factor.to.y, + width: childOriginal.width * factor.to.x, + outerHeight: childOriginal.height * factor.to.y, + outerWidth: childOriginal.width * factor.to.x + }; + + // Vertical props scaling + if ( factor.from.y !== factor.to.y ) { + childFrom = $.effects.setTransition( child, vProps, factor.from.y, childFrom ); + childTo = $.effects.setTransition( child, vProps, factor.to.y, childTo ); + } + + // Horizontal props scaling + if ( factor.from.x !== factor.to.x ) { + childFrom = $.effects.setTransition( child, hProps, factor.from.x, childFrom ); + childTo = $.effects.setTransition( child, hProps, factor.to.x, childTo ); + } + + if ( restore ) { + $.effects.saveStyle( child ); + } + + // Animate children + child.css( childFrom ); + child.animate( childTo, options.duration, options.easing, function() { + + // Restore children + if ( restore ) { + $.effects.restoreStyle( child ); + } + } ); + } ); + } + + // Animate + element.animate( to, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: function() { + + var offset = element.offset(); + + if ( to.opacity === 0 ) { + element.css( "opacity", from.opacity ); + } + + if ( !restore ) { + element + .css( "position", position === "static" ? "relative" : position ) + .offset( offset ); + + // Need to save style here so that automatic style restoration + // doesn't restore to the original styles from before the animation. + $.effects.saveStyle( element ); + } + + done(); + } + } ); + +} ); + + +/*! + * jQuery UI Effects Scale 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Scale Effect +//>>group: Effects +//>>description: Grows or shrinks an element and its content. +//>>docs: http://api.jqueryui.com/scale-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectScale = $.effects.define( "scale", function( options, done ) { + + // Create element + var el = $( this ), + mode = options.mode, + percent = parseInt( options.percent, 10 ) || + ( parseInt( options.percent, 10 ) === 0 ? 0 : ( mode !== "effect" ? 0 : 100 ) ), + + newOptions = $.extend( true, { + from: $.effects.scaledDimensions( el ), + to: $.effects.scaledDimensions( el, percent, options.direction || "both" ), + origin: options.origin || [ "middle", "center" ] + }, options ); + + // Fade option to support puff + if ( options.fade ) { + newOptions.from.opacity = 1; + newOptions.to.opacity = 0; + } + + $.effects.effect.size.call( this, newOptions, done ); +} ); + + +/*! + * jQuery UI Effects Puff 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Puff Effect +//>>group: Effects +//>>description: Creates a puff effect by scaling the element up and hiding it at the same time. +//>>docs: http://api.jqueryui.com/puff-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectPuff = $.effects.define( "puff", "hide", function( options, done ) { + var newOptions = $.extend( true, {}, options, { + fade: true, + percent: parseInt( options.percent, 10 ) || 150 + } ); + + $.effects.effect.scale.call( this, newOptions, done ); +} ); + + +/*! + * jQuery UI Effects Pulsate 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Pulsate Effect +//>>group: Effects +//>>description: Pulsates an element n times by changing the opacity to zero and back. +//>>docs: http://api.jqueryui.com/pulsate-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectPulsate = $.effects.define( "pulsate", "show", function( options, done ) { + var element = $( this ), + mode = options.mode, + show = mode === "show", + hide = mode === "hide", + showhide = show || hide, + + // Showing or hiding leaves off the "last" animation + anims = ( ( options.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ), + duration = options.duration / anims, + animateTo = 0, + i = 1, + queuelen = element.queue().length; + + if ( show || !element.is( ":visible" ) ) { + element.css( "opacity", 0 ).show(); + animateTo = 1; + } + + // Anims - 1 opacity "toggles" + for ( ; i < anims; i++ ) { + element.animate( { opacity: animateTo }, duration, options.easing ); + animateTo = 1 - animateTo; + } + + element.animate( { opacity: animateTo }, duration, options.easing ); + + element.queue( done ); + + $.effects.unshift( element, queuelen, anims + 1 ); +} ); + + +/*! + * jQuery UI Effects Shake 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Shake Effect +//>>group: Effects +//>>description: Shakes an element horizontally or vertically n times. +//>>docs: http://api.jqueryui.com/shake-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectShake = $.effects.define( "shake", function( options, done ) { + + var i = 1, + element = $( this ), + direction = options.direction || "left", + distance = options.distance || 20, + times = options.times || 3, + anims = times * 2 + 1, + speed = Math.round( options.duration / anims ), + ref = ( direction === "up" || direction === "down" ) ? "top" : "left", + positiveMotion = ( direction === "up" || direction === "left" ), + animation = {}, + animation1 = {}, + animation2 = {}, + + queuelen = element.queue().length; + + $.effects.createPlaceholder( element ); + + // Animation + animation[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance; + animation1[ ref ] = ( positiveMotion ? "+=" : "-=" ) + distance * 2; + animation2[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance * 2; + + // Animate + element.animate( animation, speed, options.easing ); + + // Shakes + for ( ; i < times; i++ ) { + element + .animate( animation1, speed, options.easing ) + .animate( animation2, speed, options.easing ); + } + + element + .animate( animation1, speed, options.easing ) + .animate( animation, speed / 2, options.easing ) + .queue( done ); + + $.effects.unshift( element, queuelen, anims + 1 ); +} ); + + +/*! + * jQuery UI Effects Slide 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Slide Effect +//>>group: Effects +//>>description: Slides an element in and out of the viewport. +//>>docs: http://api.jqueryui.com/slide-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectSlide = $.effects.define( "slide", "show", function( options, done ) { + var startClip, startRef, + element = $( this ), + map = { + up: [ "bottom", "top" ], + down: [ "top", "bottom" ], + left: [ "right", "left" ], + right: [ "left", "right" ] + }, + mode = options.mode, + direction = options.direction || "left", + ref = ( direction === "up" || direction === "down" ) ? "top" : "left", + positiveMotion = ( direction === "up" || direction === "left" ), + distance = options.distance || + element[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ), + animation = {}; + + $.effects.createPlaceholder( element ); + + startClip = element.cssClip(); + startRef = element.position()[ ref ]; + + // Define hide animation + animation[ ref ] = ( positiveMotion ? -1 : 1 ) * distance + startRef; + animation.clip = element.cssClip(); + animation.clip[ map[ direction ][ 1 ] ] = animation.clip[ map[ direction ][ 0 ] ]; + + // Reverse the animation if we're showing + if ( mode === "show" ) { + element.cssClip( animation.clip ); + element.css( ref, animation[ ref ] ); + animation.clip = startClip; + animation[ ref ] = startRef; + } + + // Actually animate + element.animate( animation, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + + +/*! + * jQuery UI Effects Transfer 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Transfer Effect +//>>group: Effects +//>>description: Displays a transfer effect from one element to another. +//>>docs: http://api.jqueryui.com/transfer-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effect; +if ( $.uiBackCompat !== false ) { + effect = $.effects.define( "transfer", function( options, done ) { + $( this ).transfer( options, done ); + } ); +} +var effectsEffectTransfer = effect; + + +/*! + * jQuery UI Focusable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: :focusable Selector +//>>group: Core +//>>description: Selects elements which can be focused. +//>>docs: http://api.jqueryui.com/focusable-selector/ + + + +// Selectors +$.ui.focusable = function( element, hasTabindex ) { + var map, mapName, img, focusableIfVisible, fieldset, + nodeName = element.nodeName.toLowerCase(); + + if ( "area" === nodeName ) { + map = element.parentNode; + mapName = map.name; + if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { + return false; + } + img = $( "img[usemap='#" + mapName + "']" ); + return img.length > 0 && img.is( ":visible" ); + } + + if ( /^(input|select|textarea|button|object)$/.test( nodeName ) ) { + focusableIfVisible = !element.disabled; + + if ( focusableIfVisible ) { + + // Form controls within a disabled fieldset are disabled. + // However, controls within the fieldset's legend do not get disabled. + // Since controls generally aren't placed inside legends, we skip + // this portion of the check. + fieldset = $( element ).closest( "fieldset" )[ 0 ]; + if ( fieldset ) { + focusableIfVisible = !fieldset.disabled; + } + } + } else if ( "a" === nodeName ) { + focusableIfVisible = element.href || hasTabindex; + } else { + focusableIfVisible = hasTabindex; + } + + return focusableIfVisible && $( element ).is( ":visible" ) && visible( $( element ) ); +}; + +// Support: IE 8 only +// IE 8 doesn't resolve inherit to visible/hidden for computed values +function visible( element ) { + var visibility = element.css( "visibility" ); + while ( visibility === "inherit" ) { + element = element.parent(); + visibility = element.css( "visibility" ); + } + return visibility !== "hidden"; +} + +$.extend( $.expr[ ":" ], { + focusable: function( element ) { + return $.ui.focusable( element, $.attr( element, "tabindex" ) != null ); + } +} ); + +var focusable = $.ui.focusable; + + + + +// Support: IE8 Only +// IE8 does not support the form attribute and when it is supplied. It overwrites the form prop +// with a string, so we need to find the proper form. +var form = $.fn.form = function() { + return typeof this[ 0 ].form === "string" ? this.closest( "form" ) : $( this[ 0 ].form ); +}; + + +/*! + * jQuery UI Form Reset Mixin 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Form Reset Mixin +//>>group: Core +//>>description: Refresh input widgets when their form is reset +//>>docs: http://api.jqueryui.com/form-reset-mixin/ + + + +var formResetMixin = $.ui.formResetMixin = { + _formResetHandler: function() { + var form = $( this ); + + // Wait for the form reset to actually happen before refreshing + setTimeout( function() { + var instances = form.data( "ui-form-reset-instances" ); + $.each( instances, function() { + this.refresh(); + } ); + } ); + }, + + _bindFormResetHandler: function() { + this.form = this.element.form(); + if ( !this.form.length ) { + return; + } + + var instances = this.form.data( "ui-form-reset-instances" ) || []; + if ( !instances.length ) { + + // We don't use _on() here because we use a single event handler per form + this.form.on( "reset.ui-form-reset", this._formResetHandler ); + } + instances.push( this ); + this.form.data( "ui-form-reset-instances", instances ); + }, + + _unbindFormResetHandler: function() { + if ( !this.form.length ) { + return; + } + + var instances = this.form.data( "ui-form-reset-instances" ); + instances.splice( $.inArray( this, instances ), 1 ); + if ( instances.length ) { + this.form.data( "ui-form-reset-instances", instances ); + } else { + this.form + .removeData( "ui-form-reset-instances" ) + .off( "reset.ui-form-reset" ); + } + } +}; + + +/*! + * jQuery UI Support for jQuery core 1.7.x 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + */ + +//>>label: jQuery 1.7 Support +//>>group: Core +//>>description: Support version 1.7.x of jQuery core + + + +// Support: jQuery 1.7 only +// Not a great way to check versions, but since we only support 1.7+ and only +// need to detect <1.8, this is a simple check that should suffice. Checking +// for "1.7." would be a bit safer, but the version string is 1.7, not 1.7.0 +// and we'll never reach 1.70.0 (if we do, we certainly won't be supporting +// 1.7 anymore). See #11197 for why we're not using feature detection. +if ( $.fn.jquery.substring( 0, 3 ) === "1.7" ) { + + // Setters for .innerWidth(), .innerHeight(), .outerWidth(), .outerHeight() + // Unlike jQuery Core 1.8+, these only support numeric values to set the + // dimensions in pixels + $.each( [ "Width", "Height" ], function( i, name ) { + var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], + type = name.toLowerCase(), + orig = { + innerWidth: $.fn.innerWidth, + innerHeight: $.fn.innerHeight, + outerWidth: $.fn.outerWidth, + outerHeight: $.fn.outerHeight + }; + + function reduce( elem, size, border, margin ) { + $.each( side, function() { + size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; + if ( border ) { + size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; + } + if ( margin ) { + size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; + } + } ); + return size; + } + + $.fn[ "inner" + name ] = function( size ) { + if ( size === undefined ) { + return orig[ "inner" + name ].call( this ); + } + + return this.each( function() { + $( this ).css( type, reduce( this, size ) + "px" ); + } ); + }; + + $.fn[ "outer" + name ] = function( size, margin ) { + if ( typeof size !== "number" ) { + return orig[ "outer" + name ].call( this, size ); + } + + return this.each( function() { + $( this ).css( type, reduce( this, size, true, margin ) + "px" ); + } ); + }; + } ); + + $.fn.addBack = function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + }; +} + +; +/*! + * jQuery UI Keycode 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Keycode +//>>group: Core +//>>description: Provide keycodes as keynames +//>>docs: http://api.jqueryui.com/jQuery.ui.keyCode/ + + +var keycode = $.ui.keyCode = { + BACKSPACE: 8, + COMMA: 188, + DELETE: 46, + DOWN: 40, + END: 35, + ENTER: 13, + ESCAPE: 27, + HOME: 36, + LEFT: 37, + PAGE_DOWN: 34, + PAGE_UP: 33, + PERIOD: 190, + RIGHT: 39, + SPACE: 32, + TAB: 9, + UP: 38 +}; + + + + +// Internal use only +var escapeSelector = $.ui.escapeSelector = ( function() { + var selectorEscape = /([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g; + return function( selector ) { + return selector.replace( selectorEscape, "\\$1" ); + }; +} )(); + + +/*! + * jQuery UI Labels 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: labels +//>>group: Core +//>>description: Find all the labels associated with a given input +//>>docs: http://api.jqueryui.com/labels/ + + + +var labels = $.fn.labels = function() { + var ancestor, selector, id, labels, ancestors; + + // Check control.labels first + if ( this[ 0 ].labels && this[ 0 ].labels.length ) { + return this.pushStack( this[ 0 ].labels ); + } + + // Support: IE <= 11, FF <= 37, Android <= 2.3 only + // Above browsers do not support control.labels. Everything below is to support them + // as well as document fragments. control.labels does not work on document fragments + labels = this.eq( 0 ).parents( "label" ); + + // Look for the label based on the id + id = this.attr( "id" ); + if ( id ) { + + // We don't search against the document in case the element + // is disconnected from the DOM + ancestor = this.eq( 0 ).parents().last(); + + // Get a full set of top level ancestors + ancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() ); + + // Create a selector for the label based on the id + selector = "label[for='" + $.ui.escapeSelector( id ) + "']"; + + labels = labels.add( ancestors.find( selector ).addBack( selector ) ); + + } + + // Return whatever we have found for labels + return this.pushStack( labels ); +}; + + +/*! + * jQuery UI Scroll Parent 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: scrollParent +//>>group: Core +//>>description: Get the closest ancestor element that is scrollable. +//>>docs: http://api.jqueryui.com/scrollParent/ + + + +var scrollParent = $.fn.scrollParent = function( includeHidden ) { + var position = this.css( "position" ), + excludeStaticParent = position === "absolute", + overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, + scrollParent = this.parents().filter( function() { + var parent = $( this ); + if ( excludeStaticParent && parent.css( "position" ) === "static" ) { + return false; + } + return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + + parent.css( "overflow-x" ) ); + } ).eq( 0 ); + + return position === "fixed" || !scrollParent.length ? + $( this[ 0 ].ownerDocument || document ) : + scrollParent; +}; + + +/*! + * jQuery UI Tabbable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: :tabbable Selector +//>>group: Core +//>>description: Selects elements which can be tabbed to. +//>>docs: http://api.jqueryui.com/tabbable-selector/ + + + +var tabbable = $.extend( $.expr[ ":" ], { + tabbable: function( element ) { + var tabIndex = $.attr( element, "tabindex" ), + hasTabindex = tabIndex != null; + return ( !hasTabindex || tabIndex >= 0 ) && $.ui.focusable( element, hasTabindex ); + } +} ); + + +/*! + * jQuery UI Unique ID 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: uniqueId +//>>group: Core +//>>description: Functions to generate and remove uniqueId's +//>>docs: http://api.jqueryui.com/uniqueId/ + + + +var uniqueId = $.fn.extend( { + uniqueId: ( function() { + var uuid = 0; + + return function() { + return this.each( function() { + if ( !this.id ) { + this.id = "ui-id-" + ( ++uuid ); + } + } ); + }; + } )(), + + removeUniqueId: function() { + return this.each( function() { + if ( /^ui-id-\d+$/.test( this.id ) ) { + $( this ).removeAttr( "id" ); + } + } ); + } +} ); + + +/*! + * jQuery UI Accordion 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Accordion +//>>group: Widgets +// jscs:disable maximumLineLength +//>>description: Displays collapsible content panels for presenting information in a limited amount of space. +// jscs:enable maximumLineLength +//>>docs: http://api.jqueryui.com/accordion/ +//>>demos: http://jqueryui.com/accordion/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/accordion.css +//>>css.theme: ../../themes/base/theme.css + + + +var widgetsAccordion = $.widget( "ui.accordion", { + version: "1.12.1", + options: { + active: 0, + animate: {}, + classes: { + "ui-accordion-header": "ui-corner-top", + "ui-accordion-header-collapsed": "ui-corner-all", + "ui-accordion-content": "ui-corner-bottom" + }, + collapsible: false, + event: "click", + header: "> li > :first-child, > :not(li):even", + heightStyle: "auto", + icons: { + activeHeader: "ui-icon-triangle-1-s", + header: "ui-icon-triangle-1-e" + }, + + // Callbacks + activate: null, + beforeActivate: null + }, + + hideProps: { + borderTopWidth: "hide", + borderBottomWidth: "hide", + paddingTop: "hide", + paddingBottom: "hide", + height: "hide" + }, + + showProps: { + borderTopWidth: "show", + borderBottomWidth: "show", + paddingTop: "show", + paddingBottom: "show", + height: "show" + }, + + _create: function() { + var options = this.options; + + this.prevShow = this.prevHide = $(); + this._addClass( "ui-accordion", "ui-widget ui-helper-reset" ); + this.element.attr( "role", "tablist" ); + + // Don't allow collapsible: false and active: false / null + if ( !options.collapsible && ( options.active === false || options.active == null ) ) { + options.active = 0; + } + + this._processPanels(); + + // handle negative values + if ( options.active < 0 ) { + options.active += this.headers.length; + } + this._refresh(); + }, + + _getCreateEventData: function() { + return { + header: this.active, + panel: !this.active.length ? $() : this.active.next() + }; + }, + + _createIcons: function() { + var icon, children, + icons = this.options.icons; + + if ( icons ) { + icon = $( "<span>" ); + this._addClass( icon, "ui-accordion-header-icon", "ui-icon " + icons.header ); + icon.prependTo( this.headers ); + children = this.active.children( ".ui-accordion-header-icon" ); + this._removeClass( children, icons.header ) + ._addClass( children, null, icons.activeHeader ) + ._addClass( this.headers, "ui-accordion-icons" ); + } + }, + + _destroyIcons: function() { + this._removeClass( this.headers, "ui-accordion-icons" ); + this.headers.children( ".ui-accordion-header-icon" ).remove(); + }, + + _destroy: function() { + var contents; + + // Clean up main element + this.element.removeAttr( "role" ); + + // Clean up headers + this.headers + .removeAttr( "role aria-expanded aria-selected aria-controls tabIndex" ) + .removeUniqueId(); + + this._destroyIcons(); + + // Clean up content panels + contents = this.headers.next() + .css( "display", "" ) + .removeAttr( "role aria-hidden aria-labelledby" ) + .removeUniqueId(); + + if ( this.options.heightStyle !== "content" ) { + contents.css( "height", "" ); + } + }, + + _setOption: function( key, value ) { + if ( key === "active" ) { + + // _activate() will handle invalid values and update this.options + this._activate( value ); + return; + } + + if ( key === "event" ) { + if ( this.options.event ) { + this._off( this.headers, this.options.event ); + } + this._setupEvents( value ); + } + + this._super( key, value ); + + // Setting collapsible: false while collapsed; open first panel + if ( key === "collapsible" && !value && this.options.active === false ) { + this._activate( 0 ); + } + + if ( key === "icons" ) { + this._destroyIcons(); + if ( value ) { + this._createIcons(); + } + } + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this.element.attr( "aria-disabled", value ); + + // Support: IE8 Only + // #5332 / #6059 - opacity doesn't cascade to positioned elements in IE + // so we need to add the disabled class to the headers and panels + this._toggleClass( null, "ui-state-disabled", !!value ); + this._toggleClass( this.headers.add( this.headers.next() ), null, "ui-state-disabled", + !!value ); + }, + + _keydown: function( event ) { + if ( event.altKey || event.ctrlKey ) { + return; + } + + var keyCode = $.ui.keyCode, + length = this.headers.length, + currentIndex = this.headers.index( event.target ), + toFocus = false; + + switch ( event.keyCode ) { + case keyCode.RIGHT: + case keyCode.DOWN: + toFocus = this.headers[ ( currentIndex + 1 ) % length ]; + break; + case keyCode.LEFT: + case keyCode.UP: + toFocus = this.headers[ ( currentIndex - 1 + length ) % length ]; + break; + case keyCode.SPACE: + case keyCode.ENTER: + this._eventHandler( event ); + break; + case keyCode.HOME: + toFocus = this.headers[ 0 ]; + break; + case keyCode.END: + toFocus = this.headers[ length - 1 ]; + break; + } + + if ( toFocus ) { + $( event.target ).attr( "tabIndex", -1 ); + $( toFocus ).attr( "tabIndex", 0 ); + $( toFocus ).trigger( "focus" ); + event.preventDefault(); + } + }, + + _panelKeyDown: function( event ) { + if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) { + $( event.currentTarget ).prev().trigger( "focus" ); + } + }, + + refresh: function() { + var options = this.options; + this._processPanels(); + + // Was collapsed or no panel + if ( ( options.active === false && options.collapsible === true ) || + !this.headers.length ) { + options.active = false; + this.active = $(); + + // active false only when collapsible is true + } else if ( options.active === false ) { + this._activate( 0 ); + + // was active, but active panel is gone + } else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { + + // all remaining panel are disabled + if ( this.headers.length === this.headers.find( ".ui-state-disabled" ).length ) { + options.active = false; + this.active = $(); + + // activate previous panel + } else { + this._activate( Math.max( 0, options.active - 1 ) ); + } + + // was active, active panel still exists + } else { + + // make sure active index is correct + options.active = this.headers.index( this.active ); + } + + this._destroyIcons(); + + this._refresh(); + }, + + _processPanels: function() { + var prevHeaders = this.headers, + prevPanels = this.panels; + + this.headers = this.element.find( this.options.header ); + this._addClass( this.headers, "ui-accordion-header ui-accordion-header-collapsed", + "ui-state-default" ); + + this.panels = this.headers.next().filter( ":not(.ui-accordion-content-active)" ).hide(); + this._addClass( this.panels, "ui-accordion-content", "ui-helper-reset ui-widget-content" ); + + // Avoid memory leaks (#10056) + if ( prevPanels ) { + this._off( prevHeaders.not( this.headers ) ); + this._off( prevPanels.not( this.panels ) ); + } + }, + + _refresh: function() { + var maxHeight, + options = this.options, + heightStyle = options.heightStyle, + parent = this.element.parent(); + + this.active = this._findActive( options.active ); + this._addClass( this.active, "ui-accordion-header-active", "ui-state-active" ) + ._removeClass( this.active, "ui-accordion-header-collapsed" ); + this._addClass( this.active.next(), "ui-accordion-content-active" ); + this.active.next().show(); + + this.headers + .attr( "role", "tab" ) + .each( function() { + var header = $( this ), + headerId = header.uniqueId().attr( "id" ), + panel = header.next(), + panelId = panel.uniqueId().attr( "id" ); + header.attr( "aria-controls", panelId ); + panel.attr( "aria-labelledby", headerId ); + } ) + .next() + .attr( "role", "tabpanel" ); + + this.headers + .not( this.active ) + .attr( { + "aria-selected": "false", + "aria-expanded": "false", + tabIndex: -1 + } ) + .next() + .attr( { + "aria-hidden": "true" + } ) + .hide(); + + // Make sure at least one header is in the tab order + if ( !this.active.length ) { + this.headers.eq( 0 ).attr( "tabIndex", 0 ); + } else { + this.active.attr( { + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + } ) + .next() + .attr( { + "aria-hidden": "false" + } ); + } + + this._createIcons(); + + this._setupEvents( options.event ); + + if ( heightStyle === "fill" ) { + maxHeight = parent.height(); + this.element.siblings( ":visible" ).each( function() { + var elem = $( this ), + position = elem.css( "position" ); + + if ( position === "absolute" || position === "fixed" ) { + return; + } + maxHeight -= elem.outerHeight( true ); + } ); + + this.headers.each( function() { + maxHeight -= $( this ).outerHeight( true ); + } ); + + this.headers.next() + .each( function() { + $( this ).height( Math.max( 0, maxHeight - + $( this ).innerHeight() + $( this ).height() ) ); + } ) + .css( "overflow", "auto" ); + } else if ( heightStyle === "auto" ) { + maxHeight = 0; + this.headers.next() + .each( function() { + var isVisible = $( this ).is( ":visible" ); + if ( !isVisible ) { + $( this ).show(); + } + maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() ); + if ( !isVisible ) { + $( this ).hide(); + } + } ) + .height( maxHeight ); + } + }, + + _activate: function( index ) { + var active = this._findActive( index )[ 0 ]; + + // Trying to activate the already active panel + if ( active === this.active[ 0 ] ) { + return; + } + + // Trying to collapse, simulate a click on the currently active header + active = active || this.active[ 0 ]; + + this._eventHandler( { + target: active, + currentTarget: active, + preventDefault: $.noop + } ); + }, + + _findActive: function( selector ) { + return typeof selector === "number" ? this.headers.eq( selector ) : $(); + }, + + _setupEvents: function( event ) { + var events = { + keydown: "_keydown" + }; + if ( event ) { + $.each( event.split( " " ), function( index, eventName ) { + events[ eventName ] = "_eventHandler"; + } ); + } + + this._off( this.headers.add( this.headers.next() ) ); + this._on( this.headers, events ); + this._on( this.headers.next(), { keydown: "_panelKeyDown" } ); + this._hoverable( this.headers ); + this._focusable( this.headers ); + }, + + _eventHandler: function( event ) { + var activeChildren, clickedChildren, + options = this.options, + active = this.active, + clicked = $( event.currentTarget ), + clickedIsActive = clicked[ 0 ] === active[ 0 ], + collapsing = clickedIsActive && options.collapsible, + toShow = collapsing ? $() : clicked.next(), + toHide = active.next(), + eventData = { + oldHeader: active, + oldPanel: toHide, + newHeader: collapsing ? $() : clicked, + newPanel: toShow + }; + + event.preventDefault(); + + if ( + + // click on active header, but not collapsible + ( clickedIsActive && !options.collapsible ) || + + // allow canceling activation + ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { + return; + } + + options.active = collapsing ? false : this.headers.index( clicked ); + + // When the call to ._toggle() comes after the class changes + // it causes a very odd bug in IE 8 (see #6720) + this.active = clickedIsActive ? $() : clicked; + this._toggle( eventData ); + + // Switch classes + // corner classes on the previously active header stay after the animation + this._removeClass( active, "ui-accordion-header-active", "ui-state-active" ); + if ( options.icons ) { + activeChildren = active.children( ".ui-accordion-header-icon" ); + this._removeClass( activeChildren, null, options.icons.activeHeader ) + ._addClass( activeChildren, null, options.icons.header ); + } + + if ( !clickedIsActive ) { + this._removeClass( clicked, "ui-accordion-header-collapsed" ) + ._addClass( clicked, "ui-accordion-header-active", "ui-state-active" ); + if ( options.icons ) { + clickedChildren = clicked.children( ".ui-accordion-header-icon" ); + this._removeClass( clickedChildren, null, options.icons.header ) + ._addClass( clickedChildren, null, options.icons.activeHeader ); + } + + this._addClass( clicked.next(), "ui-accordion-content-active" ); + } + }, + + _toggle: function( data ) { + var toShow = data.newPanel, + toHide = this.prevShow.length ? this.prevShow : data.oldPanel; + + // Handle activating a panel during the animation for another activation + this.prevShow.add( this.prevHide ).stop( true, true ); + this.prevShow = toShow; + this.prevHide = toHide; + + if ( this.options.animate ) { + this._animate( toShow, toHide, data ); + } else { + toHide.hide(); + toShow.show(); + this._toggleComplete( data ); + } + + toHide.attr( { + "aria-hidden": "true" + } ); + toHide.prev().attr( { + "aria-selected": "false", + "aria-expanded": "false" + } ); + + // if we're switching panels, remove the old header from the tab order + // if we're opening from collapsed state, remove the previous header from the tab order + // if we're collapsing, then keep the collapsing header in the tab order + if ( toShow.length && toHide.length ) { + toHide.prev().attr( { + "tabIndex": -1, + "aria-expanded": "false" + } ); + } else if ( toShow.length ) { + this.headers.filter( function() { + return parseInt( $( this ).attr( "tabIndex" ), 10 ) === 0; + } ) + .attr( "tabIndex", -1 ); + } + + toShow + .attr( "aria-hidden", "false" ) + .prev() + .attr( { + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + } ); + }, + + _animate: function( toShow, toHide, data ) { + var total, easing, duration, + that = this, + adjust = 0, + boxSizing = toShow.css( "box-sizing" ), + down = toShow.length && + ( !toHide.length || ( toShow.index() < toHide.index() ) ), + animate = this.options.animate || {}, + options = down && animate.down || animate, + complete = function() { + that._toggleComplete( data ); + }; + + if ( typeof options === "number" ) { + duration = options; + } + if ( typeof options === "string" ) { + easing = options; + } + + // fall back from options to animation in case of partial down settings + easing = easing || options.easing || animate.easing; + duration = duration || options.duration || animate.duration; + + if ( !toHide.length ) { + return toShow.animate( this.showProps, duration, easing, complete ); + } + if ( !toShow.length ) { + return toHide.animate( this.hideProps, duration, easing, complete ); + } + + total = toShow.show().outerHeight(); + toHide.animate( this.hideProps, { + duration: duration, + easing: easing, + step: function( now, fx ) { + fx.now = Math.round( now ); + } + } ); + toShow + .hide() + .animate( this.showProps, { + duration: duration, + easing: easing, + complete: complete, + step: function( now, fx ) { + fx.now = Math.round( now ); + if ( fx.prop !== "height" ) { + if ( boxSizing === "content-box" ) { + adjust += fx.now; + } + } else if ( that.options.heightStyle !== "content" ) { + fx.now = Math.round( total - toHide.outerHeight() - adjust ); + adjust = 0; + } + } + } ); + }, + + _toggleComplete: function( data ) { + var toHide = data.oldPanel, + prev = toHide.prev(); + + this._removeClass( toHide, "ui-accordion-content-active" ); + this._removeClass( prev, "ui-accordion-header-active" ) + ._addClass( prev, "ui-accordion-header-collapsed" ); + + // Work around for rendering bug in IE (#5421) + if ( toHide.length ) { + toHide.parent()[ 0 ].className = toHide.parent()[ 0 ].className; + } + this._trigger( "activate", null, data ); + } +} ); + + + +var safeActiveElement = $.ui.safeActiveElement = function( document ) { + var activeElement; + + // Support: IE 9 only + // IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe> + try { + activeElement = document.activeElement; + } catch ( error ) { + activeElement = document.body; + } + + // Support: IE 9 - 11 only + // IE may return null instead of an element + // Interestingly, this only seems to occur when NOT in an iframe + if ( !activeElement ) { + activeElement = document.body; + } + + // Support: IE 11 only + // IE11 returns a seemingly empty object in some cases when accessing + // document.activeElement from an <iframe> + if ( !activeElement.nodeName ) { + activeElement = document.body; + } + + return activeElement; +}; + + +/*! + * jQuery UI Menu 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Menu +//>>group: Widgets +//>>description: Creates nestable menus. +//>>docs: http://api.jqueryui.com/menu/ +//>>demos: http://jqueryui.com/menu/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/menu.css +//>>css.theme: ../../themes/base/theme.css + + + +var widgetsMenu = $.widget( "ui.menu", { + version: "1.12.1", + defaultElement: "<ul>", + delay: 300, + options: { + icons: { + submenu: "ui-icon-caret-1-e" + }, + items: "> *", + menus: "ul", + position: { + my: "left top", + at: "right top" + }, + role: "menu", + + // Callbacks + blur: null, + focus: null, + select: null + }, + + _create: function() { + this.activeMenu = this.element; + + // Flag used to prevent firing of the click handler + // as the event bubbles up through nested menus + this.mouseHandled = false; + this.element + .uniqueId() + .attr( { + role: this.options.role, + tabIndex: 0 + } ); + + this._addClass( "ui-menu", "ui-widget ui-widget-content" ); + this._on( { + + // Prevent focus from sticking to links inside menu after clicking + // them (focus should always stay on UL during navigation). + "mousedown .ui-menu-item": function( event ) { + event.preventDefault(); + }, + "click .ui-menu-item": function( event ) { + var target = $( event.target ); + var active = $( $.ui.safeActiveElement( this.document[ 0 ] ) ); + if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) { + this.select( event ); + + // Only set the mouseHandled flag if the event will bubble, see #9469. + if ( !event.isPropagationStopped() ) { + this.mouseHandled = true; + } + + // Open submenu on click + if ( target.has( ".ui-menu" ).length ) { + this.expand( event ); + } else if ( !this.element.is( ":focus" ) && + active.closest( ".ui-menu" ).length ) { + + // Redirect focus to the menu + this.element.trigger( "focus", [ true ] ); + + // If the active item is on the top level, let it stay active. + // Otherwise, blur the active item since it is no longer visible. + if ( this.active && this.active.parents( ".ui-menu" ).length === 1 ) { + clearTimeout( this.timer ); + } + } + } + }, + "mouseenter .ui-menu-item": function( event ) { + + // Ignore mouse events while typeahead is active, see #10458. + // Prevents focusing the wrong item when typeahead causes a scroll while the mouse + // is over an item in the menu + if ( this.previousFilter ) { + return; + } + + var actualTarget = $( event.target ).closest( ".ui-menu-item" ), + target = $( event.currentTarget ); + + // Ignore bubbled events on parent items, see #11641 + if ( actualTarget[ 0 ] !== target[ 0 ] ) { + return; + } + + // Remove ui-state-active class from siblings of the newly focused menu item + // to avoid a jump caused by adjacent elements both having a class with a border + this._removeClass( target.siblings().children( ".ui-state-active" ), + null, "ui-state-active" ); + this.focus( event, target ); + }, + mouseleave: "collapseAll", + "mouseleave .ui-menu": "collapseAll", + focus: function( event, keepActiveItem ) { + + // If there's already an active item, keep it active + // If not, activate the first item + var item = this.active || this.element.find( this.options.items ).eq( 0 ); + + if ( !keepActiveItem ) { + this.focus( event, item ); + } + }, + blur: function( event ) { + this._delay( function() { + var notContained = !$.contains( + this.element[ 0 ], + $.ui.safeActiveElement( this.document[ 0 ] ) + ); + if ( notContained ) { + this.collapseAll( event ); + } + } ); + }, + keydown: "_keydown" + } ); + + this.refresh(); + + // Clicks outside of a menu collapse any open menus + this._on( this.document, { + click: function( event ) { + if ( this._closeOnDocumentClick( event ) ) { + this.collapseAll( event ); + } + + // Reset the mouseHandled flag + this.mouseHandled = false; + } + } ); + }, + + _destroy: function() { + var items = this.element.find( ".ui-menu-item" ) + .removeAttr( "role aria-disabled" ), + submenus = items.children( ".ui-menu-item-wrapper" ) + .removeUniqueId() + .removeAttr( "tabIndex role aria-haspopup" ); + + // Destroy (sub)menus + this.element + .removeAttr( "aria-activedescendant" ) + .find( ".ui-menu" ).addBack() + .removeAttr( "role aria-labelledby aria-expanded aria-hidden aria-disabled " + + "tabIndex" ) + .removeUniqueId() + .show(); + + submenus.children().each( function() { + var elem = $( this ); + if ( elem.data( "ui-menu-submenu-caret" ) ) { + elem.remove(); + } + } ); + }, + + _keydown: function( event ) { + var match, prev, character, skip, + preventDefault = true; + + switch ( event.keyCode ) { + case $.ui.keyCode.PAGE_UP: + this.previousPage( event ); + break; + case $.ui.keyCode.PAGE_DOWN: + this.nextPage( event ); + break; + case $.ui.keyCode.HOME: + this._move( "first", "first", event ); + break; + case $.ui.keyCode.END: + this._move( "last", "last", event ); + break; + case $.ui.keyCode.UP: + this.previous( event ); + break; + case $.ui.keyCode.DOWN: + this.next( event ); + break; + case $.ui.keyCode.LEFT: + this.collapse( event ); + break; + case $.ui.keyCode.RIGHT: + if ( this.active && !this.active.is( ".ui-state-disabled" ) ) { + this.expand( event ); + } + break; + case $.ui.keyCode.ENTER: + case $.ui.keyCode.SPACE: + this._activate( event ); + break; + case $.ui.keyCode.ESCAPE: + this.collapse( event ); + break; + default: + preventDefault = false; + prev = this.previousFilter || ""; + skip = false; + + // Support number pad values + character = event.keyCode >= 96 && event.keyCode <= 105 ? + ( event.keyCode - 96 ).toString() : String.fromCharCode( event.keyCode ); + + clearTimeout( this.filterTimer ); + + if ( character === prev ) { + skip = true; + } else { + character = prev + character; + } + + match = this._filterMenuItems( character ); + match = skip && match.index( this.active.next() ) !== -1 ? + this.active.nextAll( ".ui-menu-item" ) : + match; + + // If no matches on the current filter, reset to the last character pressed + // to move down the menu to the first item that starts with that character + if ( !match.length ) { + character = String.fromCharCode( event.keyCode ); + match = this._filterMenuItems( character ); + } + + if ( match.length ) { + this.focus( event, match ); + this.previousFilter = character; + this.filterTimer = this._delay( function() { + delete this.previousFilter; + }, 1000 ); + } else { + delete this.previousFilter; + } + } + + if ( preventDefault ) { + event.preventDefault(); + } + }, + + _activate: function( event ) { + if ( this.active && !this.active.is( ".ui-state-disabled" ) ) { + if ( this.active.children( "[aria-haspopup='true']" ).length ) { + this.expand( event ); + } else { + this.select( event ); + } + } + }, + + refresh: function() { + var menus, items, newSubmenus, newItems, newWrappers, + that = this, + icon = this.options.icons.submenu, + submenus = this.element.find( this.options.menus ); + + this._toggleClass( "ui-menu-icons", null, !!this.element.find( ".ui-icon" ).length ); + + // Initialize nested menus + newSubmenus = submenus.filter( ":not(.ui-menu)" ) + .hide() + .attr( { + role: this.options.role, + "aria-hidden": "true", + "aria-expanded": "false" + } ) + .each( function() { + var menu = $( this ), + item = menu.prev(), + submenuCaret = $( "<span>" ).data( "ui-menu-submenu-caret", true ); + + that._addClass( submenuCaret, "ui-menu-icon", "ui-icon " + icon ); + item + .attr( "aria-haspopup", "true" ) + .prepend( submenuCaret ); + menu.attr( "aria-labelledby", item.attr( "id" ) ); + } ); + + this._addClass( newSubmenus, "ui-menu", "ui-widget ui-widget-content ui-front" ); + + menus = submenus.add( this.element ); + items = menus.find( this.options.items ); + + // Initialize menu-items containing spaces and/or dashes only as dividers + items.not( ".ui-menu-item" ).each( function() { + var item = $( this ); + if ( that._isDivider( item ) ) { + that._addClass( item, "ui-menu-divider", "ui-widget-content" ); + } + } ); + + // Don't refresh list items that are already adapted + newItems = items.not( ".ui-menu-item, .ui-menu-divider" ); + newWrappers = newItems.children() + .not( ".ui-menu" ) + .uniqueId() + .attr( { + tabIndex: -1, + role: this._itemRole() + } ); + this._addClass( newItems, "ui-menu-item" ) + ._addClass( newWrappers, "ui-menu-item-wrapper" ); + + // Add aria-disabled attribute to any disabled menu item + items.filter( ".ui-state-disabled" ).attr( "aria-disabled", "true" ); + + // If the active item has been removed, blur the menu + if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { + this.blur(); + } + }, + + _itemRole: function() { + return { + menu: "menuitem", + listbox: "option" + }[ this.options.role ]; + }, + + _setOption: function( key, value ) { + if ( key === "icons" ) { + var icons = this.element.find( ".ui-menu-icon" ); + this._removeClass( icons, null, this.options.icons.submenu ) + ._addClass( icons, null, value.submenu ); + } + this._super( key, value ); + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this.element.attr( "aria-disabled", String( value ) ); + this._toggleClass( null, "ui-state-disabled", !!value ); + }, + + focus: function( event, item ) { + var nested, focused, activeParent; + this.blur( event, event && event.type === "focus" ); + + this._scrollIntoView( item ); + + this.active = item.first(); + + focused = this.active.children( ".ui-menu-item-wrapper" ); + this._addClass( focused, null, "ui-state-active" ); + + // Only update aria-activedescendant if there's a role + // otherwise we assume focus is managed elsewhere + if ( this.options.role ) { + this.element.attr( "aria-activedescendant", focused.attr( "id" ) ); + } + + // Highlight active parent menu item, if any + activeParent = this.active + .parent() + .closest( ".ui-menu-item" ) + .children( ".ui-menu-item-wrapper" ); + this._addClass( activeParent, null, "ui-state-active" ); + + if ( event && event.type === "keydown" ) { + this._close(); + } else { + this.timer = this._delay( function() { + this._close(); + }, this.delay ); + } + + nested = item.children( ".ui-menu" ); + if ( nested.length && event && ( /^mouse/.test( event.type ) ) ) { + this._startOpening( nested ); + } + this.activeMenu = item.parent(); + + this._trigger( "focus", event, { item: item } ); + }, + + _scrollIntoView: function( item ) { + var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight; + if ( this._hasScroll() ) { + borderTop = parseFloat( $.css( this.activeMenu[ 0 ], "borderTopWidth" ) ) || 0; + paddingTop = parseFloat( $.css( this.activeMenu[ 0 ], "paddingTop" ) ) || 0; + offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop; + scroll = this.activeMenu.scrollTop(); + elementHeight = this.activeMenu.height(); + itemHeight = item.outerHeight(); + + if ( offset < 0 ) { + this.activeMenu.scrollTop( scroll + offset ); + } else if ( offset + itemHeight > elementHeight ) { + this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight ); + } + } + }, + + blur: function( event, fromFocus ) { + if ( !fromFocus ) { + clearTimeout( this.timer ); + } + + if ( !this.active ) { + return; + } + + this._removeClass( this.active.children( ".ui-menu-item-wrapper" ), + null, "ui-state-active" ); + + this._trigger( "blur", event, { item: this.active } ); + this.active = null; + }, + + _startOpening: function( submenu ) { + clearTimeout( this.timer ); + + // Don't open if already open fixes a Firefox bug that caused a .5 pixel + // shift in the submenu position when mousing over the caret icon + if ( submenu.attr( "aria-hidden" ) !== "true" ) { + return; + } + + this.timer = this._delay( function() { + this._close(); + this._open( submenu ); + }, this.delay ); + }, + + _open: function( submenu ) { + var position = $.extend( { + of: this.active + }, this.options.position ); + + clearTimeout( this.timer ); + this.element.find( ".ui-menu" ).not( submenu.parents( ".ui-menu" ) ) + .hide() + .attr( "aria-hidden", "true" ); + + submenu + .show() + .removeAttr( "aria-hidden" ) + .attr( "aria-expanded", "true" ) + .position( position ); + }, + + collapseAll: function( event, all ) { + clearTimeout( this.timer ); + this.timer = this._delay( function() { + + // If we were passed an event, look for the submenu that contains the event + var currentMenu = all ? this.element : + $( event && event.target ).closest( this.element.find( ".ui-menu" ) ); + + // If we found no valid submenu ancestor, use the main menu to close all + // sub menus anyway + if ( !currentMenu.length ) { + currentMenu = this.element; + } + + this._close( currentMenu ); + + this.blur( event ); + + // Work around active item staying active after menu is blurred + this._removeClass( currentMenu.find( ".ui-state-active" ), null, "ui-state-active" ); + + this.activeMenu = currentMenu; + }, this.delay ); + }, + + // With no arguments, closes the currently active menu - if nothing is active + // it closes all menus. If passed an argument, it will search for menus BELOW + _close: function( startMenu ) { + if ( !startMenu ) { + startMenu = this.active ? this.active.parent() : this.element; + } + + startMenu.find( ".ui-menu" ) + .hide() + .attr( "aria-hidden", "true" ) + .attr( "aria-expanded", "false" ); + }, + + _closeOnDocumentClick: function( event ) { + return !$( event.target ).closest( ".ui-menu" ).length; + }, + + _isDivider: function( item ) { + + // Match hyphen, em dash, en dash + return !/[^\-\u2014\u2013\s]/.test( item.text() ); + }, + + collapse: function( event ) { + var newItem = this.active && + this.active.parent().closest( ".ui-menu-item", this.element ); + if ( newItem && newItem.length ) { + this._close(); + this.focus( event, newItem ); + } + }, + + expand: function( event ) { + var newItem = this.active && + this.active + .children( ".ui-menu " ) + .find( this.options.items ) + .first(); + + if ( newItem && newItem.length ) { + this._open( newItem.parent() ); + + // Delay so Firefox will not hide activedescendant change in expanding submenu from AT + this._delay( function() { + this.focus( event, newItem ); + } ); + } + }, + + next: function( event ) { + this._move( "next", "first", event ); + }, + + previous: function( event ) { + this._move( "prev", "last", event ); + }, + + isFirstItem: function() { + return this.active && !this.active.prevAll( ".ui-menu-item" ).length; + }, + + isLastItem: function() { + return this.active && !this.active.nextAll( ".ui-menu-item" ).length; + }, + + _move: function( direction, filter, event ) { + var next; + if ( this.active ) { + if ( direction === "first" || direction === "last" ) { + next = this.active + [ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" ) + .eq( -1 ); + } else { + next = this.active + [ direction + "All" ]( ".ui-menu-item" ) + .eq( 0 ); + } + } + if ( !next || !next.length || !this.active ) { + next = this.activeMenu.find( this.options.items )[ filter ](); + } + + this.focus( event, next ); + }, + + nextPage: function( event ) { + var item, base, height; + + if ( !this.active ) { + this.next( event ); + return; + } + if ( this.isLastItem() ) { + return; + } + if ( this._hasScroll() ) { + base = this.active.offset().top; + height = this.element.height(); + this.active.nextAll( ".ui-menu-item" ).each( function() { + item = $( this ); + return item.offset().top - base - height < 0; + } ); + + this.focus( event, item ); + } else { + this.focus( event, this.activeMenu.find( this.options.items ) + [ !this.active ? "first" : "last" ]() ); + } + }, + + previousPage: function( event ) { + var item, base, height; + if ( !this.active ) { + this.next( event ); + return; + } + if ( this.isFirstItem() ) { + return; + } + if ( this._hasScroll() ) { + base = this.active.offset().top; + height = this.element.height(); + this.active.prevAll( ".ui-menu-item" ).each( function() { + item = $( this ); + return item.offset().top - base + height > 0; + } ); + + this.focus( event, item ); + } else { + this.focus( event, this.activeMenu.find( this.options.items ).first() ); + } + }, + + _hasScroll: function() { + return this.element.outerHeight() < this.element.prop( "scrollHeight" ); + }, + + select: function( event ) { + + // TODO: It should never be possible to not have an active item at this + // point, but the tests don't trigger mouseenter before click. + this.active = this.active || $( event.target ).closest( ".ui-menu-item" ); + var ui = { item: this.active }; + if ( !this.active.has( ".ui-menu" ).length ) { + this.collapseAll( event, true ); + } + this._trigger( "select", event, ui ); + }, + + _filterMenuItems: function( character ) { + var escapedCharacter = character.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ), + regex = new RegExp( "^" + escapedCharacter, "i" ); + + return this.activeMenu + .find( this.options.items ) + + // Only match on items, not dividers or other content (#10571) + .filter( ".ui-menu-item" ) + .filter( function() { + return regex.test( + $.trim( $( this ).children( ".ui-menu-item-wrapper" ).text() ) ); + } ); + } +} ); + + +/*! + * jQuery UI Autocomplete 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Autocomplete +//>>group: Widgets +//>>description: Lists suggested words as the user is typing. +//>>docs: http://api.jqueryui.com/autocomplete/ +//>>demos: http://jqueryui.com/autocomplete/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/autocomplete.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.autocomplete", { + version: "1.12.1", + defaultElement: "<input>", + options: { + appendTo: null, + autoFocus: false, + delay: 300, + minLength: 1, + position: { + my: "left top", + at: "left bottom", + collision: "none" + }, + source: null, + + // Callbacks + change: null, + close: null, + focus: null, + open: null, + response: null, + search: null, + select: null + }, + + requestIndex: 0, + pending: 0, + + _create: function() { + + // Some browsers only repeat keydown events, not keypress events, + // so we use the suppressKeyPress flag to determine if we've already + // handled the keydown event. #7269 + // Unfortunately the code for & in keypress is the same as the up arrow, + // so we use the suppressKeyPressRepeat flag to avoid handling keypress + // events when we know the keydown event was used to modify the + // search term. #7799 + var suppressKeyPress, suppressKeyPressRepeat, suppressInput, + nodeName = this.element[ 0 ].nodeName.toLowerCase(), + isTextarea = nodeName === "textarea", + isInput = nodeName === "input"; + + // Textareas are always multi-line + // Inputs are always single-line, even if inside a contentEditable element + // IE also treats inputs as contentEditable + // All other element types are determined by whether or not they're contentEditable + this.isMultiLine = isTextarea || !isInput && this._isContentEditable( this.element ); + + this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ]; + this.isNewMenu = true; + + this._addClass( "ui-autocomplete-input" ); + this.element.attr( "autocomplete", "off" ); + + this._on( this.element, { + keydown: function( event ) { + if ( this.element.prop( "readOnly" ) ) { + suppressKeyPress = true; + suppressInput = true; + suppressKeyPressRepeat = true; + return; + } + + suppressKeyPress = false; + suppressInput = false; + suppressKeyPressRepeat = false; + var keyCode = $.ui.keyCode; + switch ( event.keyCode ) { + case keyCode.PAGE_UP: + suppressKeyPress = true; + this._move( "previousPage", event ); + break; + case keyCode.PAGE_DOWN: + suppressKeyPress = true; + this._move( "nextPage", event ); + break; + case keyCode.UP: + suppressKeyPress = true; + this._keyEvent( "previous", event ); + break; + case keyCode.DOWN: + suppressKeyPress = true; + this._keyEvent( "next", event ); + break; + case keyCode.ENTER: + + // when menu is open and has focus + if ( this.menu.active ) { + + // #6055 - Opera still allows the keypress to occur + // which causes forms to submit + suppressKeyPress = true; + event.preventDefault(); + this.menu.select( event ); + } + break; + case keyCode.TAB: + if ( this.menu.active ) { + this.menu.select( event ); + } + break; + case keyCode.ESCAPE: + if ( this.menu.element.is( ":visible" ) ) { + if ( !this.isMultiLine ) { + this._value( this.term ); + } + this.close( event ); + + // Different browsers have different default behavior for escape + // Single press can mean undo or clear + // Double press in IE means clear the whole form + event.preventDefault(); + } + break; + default: + suppressKeyPressRepeat = true; + + // search timeout should be triggered before the input value is changed + this._searchTimeout( event ); + break; + } + }, + keypress: function( event ) { + if ( suppressKeyPress ) { + suppressKeyPress = false; + if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { + event.preventDefault(); + } + return; + } + if ( suppressKeyPressRepeat ) { + return; + } + + // Replicate some key handlers to allow them to repeat in Firefox and Opera + var keyCode = $.ui.keyCode; + switch ( event.keyCode ) { + case keyCode.PAGE_UP: + this._move( "previousPage", event ); + break; + case keyCode.PAGE_DOWN: + this._move( "nextPage", event ); + break; + case keyCode.UP: + this._keyEvent( "previous", event ); + break; + case keyCode.DOWN: + this._keyEvent( "next", event ); + break; + } + }, + input: function( event ) { + if ( suppressInput ) { + suppressInput = false; + event.preventDefault(); + return; + } + this._searchTimeout( event ); + }, + focus: function() { + this.selectedItem = null; + this.previous = this._value(); + }, + blur: function( event ) { + if ( this.cancelBlur ) { + delete this.cancelBlur; + return; + } + + clearTimeout( this.searching ); + this.close( event ); + this._change( event ); + } + } ); + + this._initSource(); + this.menu = $( "<ul>" ) + .appendTo( this._appendTo() ) + .menu( { + + // disable ARIA support, the live region takes care of that + role: null + } ) + .hide() + .menu( "instance" ); + + this._addClass( this.menu.element, "ui-autocomplete", "ui-front" ); + this._on( this.menu.element, { + mousedown: function( event ) { + + // prevent moving focus out of the text field + event.preventDefault(); + + // IE doesn't prevent moving focus even with event.preventDefault() + // so we set a flag to know when we should ignore the blur event + this.cancelBlur = true; + this._delay( function() { + delete this.cancelBlur; + + // Support: IE 8 only + // Right clicking a menu item or selecting text from the menu items will + // result in focus moving out of the input. However, we've already received + // and ignored the blur event because of the cancelBlur flag set above. So + // we restore focus to ensure that the menu closes properly based on the user's + // next actions. + if ( this.element[ 0 ] !== $.ui.safeActiveElement( this.document[ 0 ] ) ) { + this.element.trigger( "focus" ); + } + } ); + }, + menufocus: function( event, ui ) { + var label, item; + + // support: Firefox + // Prevent accidental activation of menu items in Firefox (#7024 #9118) + if ( this.isNewMenu ) { + this.isNewMenu = false; + if ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) { + this.menu.blur(); + + this.document.one( "mousemove", function() { + $( event.target ).trigger( event.originalEvent ); + } ); + + return; + } + } + + item = ui.item.data( "ui-autocomplete-item" ); + if ( false !== this._trigger( "focus", event, { item: item } ) ) { + + // use value to match what will end up in the input, if it was a key event + if ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) { + this._value( item.value ); + } + } + + // Announce the value in the liveRegion + label = ui.item.attr( "aria-label" ) || item.value; + if ( label && $.trim( label ).length ) { + this.liveRegion.children().hide(); + $( "<div>" ).text( label ).appendTo( this.liveRegion ); + } + }, + menuselect: function( event, ui ) { + var item = ui.item.data( "ui-autocomplete-item" ), + previous = this.previous; + + // Only trigger when focus was lost (click on menu) + if ( this.element[ 0 ] !== $.ui.safeActiveElement( this.document[ 0 ] ) ) { + this.element.trigger( "focus" ); + this.previous = previous; + + // #6109 - IE triggers two focus events and the second + // is asynchronous, so we need to reset the previous + // term synchronously and asynchronously :-( + this._delay( function() { + this.previous = previous; + this.selectedItem = item; + } ); + } + + if ( false !== this._trigger( "select", event, { item: item } ) ) { + this._value( item.value ); + } + + // reset the term after the select event + // this allows custom select handling to work properly + this.term = this._value(); + + this.close( event ); + this.selectedItem = item; + } + } ); + + this.liveRegion = $( "<div>", { + role: "status", + "aria-live": "assertive", + "aria-relevant": "additions" + } ) + .appendTo( this.document[ 0 ].body ); + + this._addClass( this.liveRegion, null, "ui-helper-hidden-accessible" ); + + // Turning off autocomplete prevents the browser from remembering the + // value when navigating through history, so we re-enable autocomplete + // if the page is unloaded before the widget is destroyed. #7790 + this._on( this.window, { + beforeunload: function() { + this.element.removeAttr( "autocomplete" ); + } + } ); + }, + + _destroy: function() { + clearTimeout( this.searching ); + this.element.removeAttr( "autocomplete" ); + this.menu.element.remove(); + this.liveRegion.remove(); + }, + + _setOption: function( key, value ) { + this._super( key, value ); + if ( key === "source" ) { + this._initSource(); + } + if ( key === "appendTo" ) { + this.menu.element.appendTo( this._appendTo() ); + } + if ( key === "disabled" && value && this.xhr ) { + this.xhr.abort(); + } + }, + + _isEventTargetInWidget: function( event ) { + var menuElement = this.menu.element[ 0 ]; + + return event.target === this.element[ 0 ] || + event.target === menuElement || + $.contains( menuElement, event.target ); + }, + + _closeOnClickOutside: function( event ) { + if ( !this._isEventTargetInWidget( event ) ) { + this.close(); + } + }, + + _appendTo: function() { + var element = this.options.appendTo; + + if ( element ) { + element = element.jquery || element.nodeType ? + $( element ) : + this.document.find( element ).eq( 0 ); + } + + if ( !element || !element[ 0 ] ) { + element = this.element.closest( ".ui-front, dialog" ); + } + + if ( !element.length ) { + element = this.document[ 0 ].body; + } + + return element; + }, + + _initSource: function() { + var array, url, + that = this; + if ( $.isArray( this.options.source ) ) { + array = this.options.source; + this.source = function( request, response ) { + response( $.ui.autocomplete.filter( array, request.term ) ); + }; + } else if ( typeof this.options.source === "string" ) { + url = this.options.source; + this.source = function( request, response ) { + if ( that.xhr ) { + that.xhr.abort(); + } + that.xhr = $.ajax( { + url: url, + data: request, + dataType: "json", + success: function( data ) { + response( data ); + }, + error: function() { + response( [] ); + } + } ); + }; + } else { + this.source = this.options.source; + } + }, + + _searchTimeout: function( event ) { + clearTimeout( this.searching ); + this.searching = this._delay( function() { + + // Search if the value has changed, or if the user retypes the same value (see #7434) + var equalValues = this.term === this._value(), + menuVisible = this.menu.element.is( ":visible" ), + modifierKey = event.altKey || event.ctrlKey || event.metaKey || event.shiftKey; + + if ( !equalValues || ( equalValues && !menuVisible && !modifierKey ) ) { + this.selectedItem = null; + this.search( null, event ); + } + }, this.options.delay ); + }, + + search: function( value, event ) { + value = value != null ? value : this._value(); + + // Always save the actual value, not the one passed as an argument + this.term = this._value(); + + if ( value.length < this.options.minLength ) { + return this.close( event ); + } + + if ( this._trigger( "search", event ) === false ) { + return; + } + + return this._search( value ); + }, + + _search: function( value ) { + this.pending++; + this._addClass( "ui-autocomplete-loading" ); + this.cancelSearch = false; + + this.source( { term: value }, this._response() ); + }, + + _response: function() { + var index = ++this.requestIndex; + + return $.proxy( function( content ) { + if ( index === this.requestIndex ) { + this.__response( content ); + } + + this.pending--; + if ( !this.pending ) { + this._removeClass( "ui-autocomplete-loading" ); + } + }, this ); + }, + + __response: function( content ) { + if ( content ) { + content = this._normalize( content ); + } + this._trigger( "response", null, { content: content } ); + if ( !this.options.disabled && content && content.length && !this.cancelSearch ) { + this._suggest( content ); + this._trigger( "open" ); + } else { + + // use ._close() instead of .close() so we don't cancel future searches + this._close(); + } + }, + + close: function( event ) { + this.cancelSearch = true; + this._close( event ); + }, + + _close: function( event ) { + + // Remove the handler that closes the menu on outside clicks + this._off( this.document, "mousedown" ); + + if ( this.menu.element.is( ":visible" ) ) { + this.menu.element.hide(); + this.menu.blur(); + this.isNewMenu = true; + this._trigger( "close", event ); + } + }, + + _change: function( event ) { + if ( this.previous !== this._value() ) { + this._trigger( "change", event, { item: this.selectedItem } ); + } + }, + + _normalize: function( items ) { + + // assume all items have the right format when the first item is complete + if ( items.length && items[ 0 ].label && items[ 0 ].value ) { + return items; + } + return $.map( items, function( item ) { + if ( typeof item === "string" ) { + return { + label: item, + value: item + }; + } + return $.extend( {}, item, { + label: item.label || item.value, + value: item.value || item.label + } ); + } ); + }, + + _suggest: function( items ) { + var ul = this.menu.element.empty(); + this._renderMenu( ul, items ); + this.isNewMenu = true; + this.menu.refresh(); + + // Size and position menu + ul.show(); + this._resizeMenu(); + ul.position( $.extend( { + of: this.element + }, this.options.position ) ); + + if ( this.options.autoFocus ) { + this.menu.next(); + } + + // Listen for interactions outside of the widget (#6642) + this._on( this.document, { + mousedown: "_closeOnClickOutside" + } ); + }, + + _resizeMenu: function() { + var ul = this.menu.element; + ul.outerWidth( Math.max( + + // Firefox wraps long text (possibly a rounding bug) + // so we add 1px to avoid the wrapping (#7513) + ul.width( "" ).outerWidth() + 1, + this.element.outerWidth() + ) ); + }, + + _renderMenu: function( ul, items ) { + var that = this; + $.each( items, function( index, item ) { + that._renderItemData( ul, item ); + } ); + }, + + _renderItemData: function( ul, item ) { + return this._renderItem( ul, item ).data( "ui-autocomplete-item", item ); + }, + + _renderItem: function( ul, item ) { + return $( "<li>" ) + .append( $( "<div>" ).text( item.label ) ) + .appendTo( ul ); + }, + + _move: function( direction, event ) { + if ( !this.menu.element.is( ":visible" ) ) { + this.search( null, event ); + return; + } + if ( this.menu.isFirstItem() && /^previous/.test( direction ) || + this.menu.isLastItem() && /^next/.test( direction ) ) { + + if ( !this.isMultiLine ) { + this._value( this.term ); + } + + this.menu.blur(); + return; + } + this.menu[ direction ]( event ); + }, + + widget: function() { + return this.menu.element; + }, + + _value: function() { + return this.valueMethod.apply( this.element, arguments ); + }, + + _keyEvent: function( keyEvent, event ) { + if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { + this._move( keyEvent, event ); + + // Prevents moving cursor to beginning/end of the text field in some browsers + event.preventDefault(); + } + }, + + // Support: Chrome <=50 + // We should be able to just use this.element.prop( "isContentEditable" ) + // but hidden elements always report false in Chrome. + // https://code.google.com/p/chromium/issues/detail?id=313082 + _isContentEditable: function( element ) { + if ( !element.length ) { + return false; + } + + var editable = element.prop( "contentEditable" ); + + if ( editable === "inherit" ) { + return this._isContentEditable( element.parent() ); + } + + return editable === "true"; + } +} ); + +$.extend( $.ui.autocomplete, { + escapeRegex: function( value ) { + return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ); + }, + filter: function( array, term ) { + var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), "i" ); + return $.grep( array, function( value ) { + return matcher.test( value.label || value.value || value ); + } ); + } +} ); + +// Live region extension, adding a `messages` option +// NOTE: This is an experimental API. We are still investigating +// a full solution for string manipulation and internationalization. +$.widget( "ui.autocomplete", $.ui.autocomplete, { + options: { + messages: { + noResults: "No search results.", + results: function( amount ) { + return amount + ( amount > 1 ? " results are" : " result is" ) + + " available, use up and down arrow keys to navigate."; + } + } + }, + + __response: function( content ) { + var message; + this._superApply( arguments ); + if ( this.options.disabled || this.cancelSearch ) { + return; + } + if ( content && content.length ) { + message = this.options.messages.results( content.length ); + } else { + message = this.options.messages.noResults; + } + this.liveRegion.children().hide(); + $( "<div>" ).text( message ).appendTo( this.liveRegion ); + } +} ); + +var widgetsAutocomplete = $.ui.autocomplete; + + +/*! + * jQuery UI Controlgroup 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Controlgroup +//>>group: Widgets +//>>description: Visually groups form control widgets +//>>docs: http://api.jqueryui.com/controlgroup/ +//>>demos: http://jqueryui.com/controlgroup/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/controlgroup.css +//>>css.theme: ../../themes/base/theme.css + + +var controlgroupCornerRegex = /ui-corner-([a-z]){2,6}/g; + +var widgetsControlgroup = $.widget( "ui.controlgroup", { + version: "1.12.1", + defaultElement: "<div>", + options: { + direction: "horizontal", + disabled: null, + onlyVisible: true, + items: { + "button": "input[type=button], input[type=submit], input[type=reset], button, a", + "controlgroupLabel": ".ui-controlgroup-label", + "checkboxradio": "input[type='checkbox'], input[type='radio']", + "selectmenu": "select", + "spinner": ".ui-spinner-input" + } + }, + + _create: function() { + this._enhance(); + }, + + // To support the enhanced option in jQuery Mobile, we isolate DOM manipulation + _enhance: function() { + this.element.attr( "role", "toolbar" ); + this.refresh(); + }, + + _destroy: function() { + this._callChildMethod( "destroy" ); + this.childWidgets.removeData( "ui-controlgroup-data" ); + this.element.removeAttr( "role" ); + if ( this.options.items.controlgroupLabel ) { + this.element + .find( this.options.items.controlgroupLabel ) + .find( ".ui-controlgroup-label-contents" ) + .contents().unwrap(); + } + }, + + _initWidgets: function() { + var that = this, + childWidgets = []; + + // First we iterate over each of the items options + $.each( this.options.items, function( widget, selector ) { + var labels; + var options = {}; + + // Make sure the widget has a selector set + if ( !selector ) { + return; + } + + if ( widget === "controlgroupLabel" ) { + labels = that.element.find( selector ); + labels.each( function() { + var element = $( this ); + + if ( element.children( ".ui-controlgroup-label-contents" ).length ) { + return; + } + element.contents() + .wrapAll( "<span class='ui-controlgroup-label-contents'></span>" ); + } ); + that._addClass( labels, null, "ui-widget ui-widget-content ui-state-default" ); + childWidgets = childWidgets.concat( labels.get() ); + return; + } + + // Make sure the widget actually exists + if ( !$.fn[ widget ] ) { + return; + } + + // We assume everything is in the middle to start because we can't determine + // first / last elements until all enhancments are done. + if ( that[ "_" + widget + "Options" ] ) { + options = that[ "_" + widget + "Options" ]( "middle" ); + } else { + options = { classes: {} }; + } + + // Find instances of this widget inside controlgroup and init them + that.element + .find( selector ) + .each( function() { + var element = $( this ); + var instance = element[ widget ]( "instance" ); + + // We need to clone the default options for this type of widget to avoid + // polluting the variable options which has a wider scope than a single widget. + var instanceOptions = $.widget.extend( {}, options ); + + // If the button is the child of a spinner ignore it + // TODO: Find a more generic solution + if ( widget === "button" && element.parent( ".ui-spinner" ).length ) { + return; + } + + // Create the widget if it doesn't exist + if ( !instance ) { + instance = element[ widget ]()[ widget ]( "instance" ); + } + if ( instance ) { + instanceOptions.classes = + that._resolveClassesValues( instanceOptions.classes, instance ); + } + element[ widget ]( instanceOptions ); + + // Store an instance of the controlgroup to be able to reference + // from the outermost element for changing options and refresh + var widgetElement = element[ widget ]( "widget" ); + $.data( widgetElement[ 0 ], "ui-controlgroup-data", + instance ? instance : element[ widget ]( "instance" ) ); + + childWidgets.push( widgetElement[ 0 ] ); + } ); + } ); + + this.childWidgets = $( $.unique( childWidgets ) ); + this._addClass( this.childWidgets, "ui-controlgroup-item" ); + }, + + _callChildMethod: function( method ) { + this.childWidgets.each( function() { + var element = $( this ), + data = element.data( "ui-controlgroup-data" ); + if ( data && data[ method ] ) { + data[ method ](); + } + } ); + }, + + _updateCornerClass: function( element, position ) { + var remove = "ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"; + var add = this._buildSimpleOptions( position, "label" ).classes.label; + + this._removeClass( element, null, remove ); + this._addClass( element, null, add ); + }, + + _buildSimpleOptions: function( position, key ) { + var direction = this.options.direction === "vertical"; + var result = { + classes: {} + }; + result.classes[ key ] = { + "middle": "", + "first": "ui-corner-" + ( direction ? "top" : "left" ), + "last": "ui-corner-" + ( direction ? "bottom" : "right" ), + "only": "ui-corner-all" + }[ position ]; + + return result; + }, + + _spinnerOptions: function( position ) { + var options = this._buildSimpleOptions( position, "ui-spinner" ); + + options.classes[ "ui-spinner-up" ] = ""; + options.classes[ "ui-spinner-down" ] = ""; + + return options; + }, + + _buttonOptions: function( position ) { + return this._buildSimpleOptions( position, "ui-button" ); + }, + + _checkboxradioOptions: function( position ) { + return this._buildSimpleOptions( position, "ui-checkboxradio-label" ); + }, + + _selectmenuOptions: function( position ) { + var direction = this.options.direction === "vertical"; + return { + width: direction ? "auto" : false, + classes: { + middle: { + "ui-selectmenu-button-open": "", + "ui-selectmenu-button-closed": "" + }, + first: { + "ui-selectmenu-button-open": "ui-corner-" + ( direction ? "top" : "tl" ), + "ui-selectmenu-button-closed": "ui-corner-" + ( direction ? "top" : "left" ) + }, + last: { + "ui-selectmenu-button-open": direction ? "" : "ui-corner-tr", + "ui-selectmenu-button-closed": "ui-corner-" + ( direction ? "bottom" : "right" ) + }, + only: { + "ui-selectmenu-button-open": "ui-corner-top", + "ui-selectmenu-button-closed": "ui-corner-all" + } + + }[ position ] + }; + }, + + _resolveClassesValues: function( classes, instance ) { + var result = {}; + $.each( classes, function( key ) { + var current = instance.options.classes[ key ] || ""; + current = $.trim( current.replace( controlgroupCornerRegex, "" ) ); + result[ key ] = ( current + " " + classes[ key ] ).replace( /\s+/g, " " ); + } ); + return result; + }, + + _setOption: function( key, value ) { + if ( key === "direction" ) { + this._removeClass( "ui-controlgroup-" + this.options.direction ); + } + + this._super( key, value ); + if ( key === "disabled" ) { + this._callChildMethod( value ? "disable" : "enable" ); + return; + } + + this.refresh(); + }, + + refresh: function() { + var children, + that = this; + + this._addClass( "ui-controlgroup ui-controlgroup-" + this.options.direction ); + + if ( this.options.direction === "horizontal" ) { + this._addClass( null, "ui-helper-clearfix" ); + } + this._initWidgets(); + + children = this.childWidgets; + + // We filter here because we need to track all childWidgets not just the visible ones + if ( this.options.onlyVisible ) { + children = children.filter( ":visible" ); + } + + if ( children.length ) { + + // We do this last because we need to make sure all enhancment is done + // before determining first and last + $.each( [ "first", "last" ], function( index, value ) { + var instance = children[ value ]().data( "ui-controlgroup-data" ); + + if ( instance && that[ "_" + instance.widgetName + "Options" ] ) { + var options = that[ "_" + instance.widgetName + "Options" ]( + children.length === 1 ? "only" : value + ); + options.classes = that._resolveClassesValues( options.classes, instance ); + instance.element[ instance.widgetName ]( options ); + } else { + that._updateCornerClass( children[ value ](), value ); + } + } ); + + // Finally call the refresh method on each of the child widgets. + this._callChildMethod( "refresh" ); + } + } +} ); + +/*! + * jQuery UI Checkboxradio 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Checkboxradio +//>>group: Widgets +//>>description: Enhances a form with multiple themeable checkboxes or radio buttons. +//>>docs: http://api.jqueryui.com/checkboxradio/ +//>>demos: http://jqueryui.com/checkboxradio/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/button.css +//>>css.structure: ../../themes/base/checkboxradio.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.checkboxradio", [ $.ui.formResetMixin, { + version: "1.12.1", + options: { + disabled: null, + label: null, + icon: true, + classes: { + "ui-checkboxradio-label": "ui-corner-all", + "ui-checkboxradio-icon": "ui-corner-all" + } + }, + + _getCreateOptions: function() { + var disabled, labels; + var that = this; + var options = this._super() || {}; + + // We read the type here, because it makes more sense to throw a element type error first, + // rather then the error for lack of a label. Often if its the wrong type, it + // won't have a label (e.g. calling on a div, btn, etc) + this._readType(); + + labels = this.element.labels(); + + // If there are multiple labels, use the last one + this.label = $( labels[ labels.length - 1 ] ); + if ( !this.label.length ) { + $.error( "No label found for checkboxradio widget" ); + } + + this.originalLabel = ""; + + // We need to get the label text but this may also need to make sure it does not contain the + // input itself. + this.label.contents().not( this.element[ 0 ] ).each( function() { + + // The label contents could be text, html, or a mix. We concat each element to get a + // string representation of the label, without the input as part of it. + that.originalLabel += this.nodeType === 3 ? $( this ).text() : this.outerHTML; + } ); + + // Set the label option if we found label text + if ( this.originalLabel ) { + options.label = this.originalLabel; + } + + disabled = this.element[ 0 ].disabled; + if ( disabled != null ) { + options.disabled = disabled; + } + return options; + }, + + _create: function() { + var checked = this.element[ 0 ].checked; + + this._bindFormResetHandler(); + + if ( this.options.disabled == null ) { + this.options.disabled = this.element[ 0 ].disabled; + } + + this._setOption( "disabled", this.options.disabled ); + this._addClass( "ui-checkboxradio", "ui-helper-hidden-accessible" ); + this._addClass( this.label, "ui-checkboxradio-label", "ui-button ui-widget" ); + + if ( this.type === "radio" ) { + this._addClass( this.label, "ui-checkboxradio-radio-label" ); + } + + if ( this.options.label && this.options.label !== this.originalLabel ) { + this._updateLabel(); + } else if ( this.originalLabel ) { + this.options.label = this.originalLabel; + } + + this._enhance(); + + if ( checked ) { + this._addClass( this.label, "ui-checkboxradio-checked", "ui-state-active" ); + if ( this.icon ) { + this._addClass( this.icon, null, "ui-state-hover" ); + } + } + + this._on( { + change: "_toggleClasses", + focus: function() { + this._addClass( this.label, null, "ui-state-focus ui-visual-focus" ); + }, + blur: function() { + this._removeClass( this.label, null, "ui-state-focus ui-visual-focus" ); + } + } ); + }, + + _readType: function() { + var nodeName = this.element[ 0 ].nodeName.toLowerCase(); + this.type = this.element[ 0 ].type; + if ( nodeName !== "input" || !/radio|checkbox/.test( this.type ) ) { + $.error( "Can't create checkboxradio on element.nodeName=" + nodeName + + " and element.type=" + this.type ); + } + }, + + // Support jQuery Mobile enhanced option + _enhance: function() { + this._updateIcon( this.element[ 0 ].checked ); + }, + + widget: function() { + return this.label; + }, + + _getRadioGroup: function() { + var group; + var name = this.element[ 0 ].name; + var nameSelector = "input[name='" + $.ui.escapeSelector( name ) + "']"; + + if ( !name ) { + return $( [] ); + } + + if ( this.form.length ) { + group = $( this.form[ 0 ].elements ).filter( nameSelector ); + } else { + + // Not inside a form, check all inputs that also are not inside a form + group = $( nameSelector ).filter( function() { + return $( this ).form().length === 0; + } ); + } + + return group.not( this.element ); + }, + + _toggleClasses: function() { + var checked = this.element[ 0 ].checked; + this._toggleClass( this.label, "ui-checkboxradio-checked", "ui-state-active", checked ); + + if ( this.options.icon && this.type === "checkbox" ) { + this._toggleClass( this.icon, null, "ui-icon-check ui-state-checked", checked ) + ._toggleClass( this.icon, null, "ui-icon-blank", !checked ); + } + + if ( this.type === "radio" ) { + this._getRadioGroup() + .each( function() { + var instance = $( this ).checkboxradio( "instance" ); + + if ( instance ) { + instance._removeClass( instance.label, + "ui-checkboxradio-checked", "ui-state-active" ); + } + } ); + } + }, + + _destroy: function() { + this._unbindFormResetHandler(); + + if ( this.icon ) { + this.icon.remove(); + this.iconSpace.remove(); + } + }, + + _setOption: function( key, value ) { + + // We don't allow the value to be set to nothing + if ( key === "label" && !value ) { + return; + } + + this._super( key, value ); + + if ( key === "disabled" ) { + this._toggleClass( this.label, null, "ui-state-disabled", value ); + this.element[ 0 ].disabled = value; + + // Don't refresh when setting disabled + return; + } + this.refresh(); + }, + + _updateIcon: function( checked ) { + var toAdd = "ui-icon ui-icon-background "; + + if ( this.options.icon ) { + if ( !this.icon ) { + this.icon = $( "<span>" ); + this.iconSpace = $( "<span> </span>" ); + this._addClass( this.iconSpace, "ui-checkboxradio-icon-space" ); + } + + if ( this.type === "checkbox" ) { + toAdd += checked ? "ui-icon-check ui-state-checked" : "ui-icon-blank"; + this._removeClass( this.icon, null, checked ? "ui-icon-blank" : "ui-icon-check" ); + } else { + toAdd += "ui-icon-blank"; + } + this._addClass( this.icon, "ui-checkboxradio-icon", toAdd ); + if ( !checked ) { + this._removeClass( this.icon, null, "ui-icon-check ui-state-checked" ); + } + this.icon.prependTo( this.label ).after( this.iconSpace ); + } else if ( this.icon !== undefined ) { + this.icon.remove(); + this.iconSpace.remove(); + delete this.icon; + } + }, + + _updateLabel: function() { + + // Remove the contents of the label ( minus the icon, icon space, and input ) + var contents = this.label.contents().not( this.element[ 0 ] ); + if ( this.icon ) { + contents = contents.not( this.icon[ 0 ] ); + } + if ( this.iconSpace ) { + contents = contents.not( this.iconSpace[ 0 ] ); + } + contents.remove(); + + this.label.append( this.options.label ); + }, + + refresh: function() { + var checked = this.element[ 0 ].checked, + isDisabled = this.element[ 0 ].disabled; + + this._updateIcon( checked ); + this._toggleClass( this.label, "ui-checkboxradio-checked", "ui-state-active", checked ); + if ( this.options.label !== null ) { + this._updateLabel(); + } + + if ( isDisabled !== this.options.disabled ) { + this._setOptions( { "disabled": isDisabled } ); + } + } + +} ] ); + +var widgetsCheckboxradio = $.ui.checkboxradio; + + +/*! + * jQuery UI Button 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Button +//>>group: Widgets +//>>description: Enhances a form with themeable buttons. +//>>docs: http://api.jqueryui.com/button/ +//>>demos: http://jqueryui.com/button/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/button.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.button", { + version: "1.12.1", + defaultElement: "<button>", + options: { + classes: { + "ui-button": "ui-corner-all" + }, + disabled: null, + icon: null, + iconPosition: "beginning", + label: null, + showLabel: true + }, + + _getCreateOptions: function() { + var disabled, + + // This is to support cases like in jQuery Mobile where the base widget does have + // an implementation of _getCreateOptions + options = this._super() || {}; + + this.isInput = this.element.is( "input" ); + + disabled = this.element[ 0 ].disabled; + if ( disabled != null ) { + options.disabled = disabled; + } + + this.originalLabel = this.isInput ? this.element.val() : this.element.html(); + if ( this.originalLabel ) { + options.label = this.originalLabel; + } + + return options; + }, + + _create: function() { + if ( !this.option.showLabel & !this.options.icon ) { + this.options.showLabel = true; + } + + // We have to check the option again here even though we did in _getCreateOptions, + // because null may have been passed on init which would override what was set in + // _getCreateOptions + if ( this.options.disabled == null ) { + this.options.disabled = this.element[ 0 ].disabled || false; + } + + this.hasTitle = !!this.element.attr( "title" ); + + // Check to see if the label needs to be set or if its already correct + if ( this.options.label && this.options.label !== this.originalLabel ) { + if ( this.isInput ) { + this.element.val( this.options.label ); + } else { + this.element.html( this.options.label ); + } + } + this._addClass( "ui-button", "ui-widget" ); + this._setOption( "disabled", this.options.disabled ); + this._enhance(); + + if ( this.element.is( "a" ) ) { + this._on( { + "keyup": function( event ) { + if ( event.keyCode === $.ui.keyCode.SPACE ) { + event.preventDefault(); + + // Support: PhantomJS <= 1.9, IE 8 Only + // If a native click is available use it so we actually cause navigation + // otherwise just trigger a click event + if ( this.element[ 0 ].click ) { + this.element[ 0 ].click(); + } else { + this.element.trigger( "click" ); + } + } + } + } ); + } + }, + + _enhance: function() { + if ( !this.element.is( "button" ) ) { + this.element.attr( "role", "button" ); + } + + if ( this.options.icon ) { + this._updateIcon( "icon", this.options.icon ); + this._updateTooltip(); + } + }, + + _updateTooltip: function() { + this.title = this.element.attr( "title" ); + + if ( !this.options.showLabel && !this.title ) { + this.element.attr( "title", this.options.label ); + } + }, + + _updateIcon: function( option, value ) { + var icon = option !== "iconPosition", + position = icon ? this.options.iconPosition : value, + displayBlock = position === "top" || position === "bottom"; + + // Create icon + if ( !this.icon ) { + this.icon = $( "<span>" ); + + this._addClass( this.icon, "ui-button-icon", "ui-icon" ); + + if ( !this.options.showLabel ) { + this._addClass( "ui-button-icon-only" ); + } + } else if ( icon ) { + + // If we are updating the icon remove the old icon class + this._removeClass( this.icon, null, this.options.icon ); + } + + // If we are updating the icon add the new icon class + if ( icon ) { + this._addClass( this.icon, null, value ); + } + + this._attachIcon( position ); + + // If the icon is on top or bottom we need to add the ui-widget-icon-block class and remove + // the iconSpace if there is one. + if ( displayBlock ) { + this._addClass( this.icon, null, "ui-widget-icon-block" ); + if ( this.iconSpace ) { + this.iconSpace.remove(); + } + } else { + + // Position is beginning or end so remove the ui-widget-icon-block class and add the + // space if it does not exist + if ( !this.iconSpace ) { + this.iconSpace = $( "<span> </span>" ); + this._addClass( this.iconSpace, "ui-button-icon-space" ); + } + this._removeClass( this.icon, null, "ui-wiget-icon-block" ); + this._attachIconSpace( position ); + } + }, + + _destroy: function() { + this.element.removeAttr( "role" ); + + if ( this.icon ) { + this.icon.remove(); + } + if ( this.iconSpace ) { + this.iconSpace.remove(); + } + if ( !this.hasTitle ) { + this.element.removeAttr( "title" ); + } + }, + + _attachIconSpace: function( iconPosition ) { + this.icon[ /^(?:end|bottom)/.test( iconPosition ) ? "before" : "after" ]( this.iconSpace ); + }, + + _attachIcon: function( iconPosition ) { + this.element[ /^(?:end|bottom)/.test( iconPosition ) ? "append" : "prepend" ]( this.icon ); + }, + + _setOptions: function( options ) { + var newShowLabel = options.showLabel === undefined ? + this.options.showLabel : + options.showLabel, + newIcon = options.icon === undefined ? this.options.icon : options.icon; + + if ( !newShowLabel && !newIcon ) { + options.showLabel = true; + } + this._super( options ); + }, + + _setOption: function( key, value ) { + if ( key === "icon" ) { + if ( value ) { + this._updateIcon( key, value ); + } else if ( this.icon ) { + this.icon.remove(); + if ( this.iconSpace ) { + this.iconSpace.remove(); + } + } + } + + if ( key === "iconPosition" ) { + this._updateIcon( key, value ); + } + + // Make sure we can't end up with a button that has neither text nor icon + if ( key === "showLabel" ) { + this._toggleClass( "ui-button-icon-only", null, !value ); + this._updateTooltip(); + } + + if ( key === "label" ) { + if ( this.isInput ) { + this.element.val( value ); + } else { + + // If there is an icon, append it, else nothing then append the value + // this avoids removal of the icon when setting label text + this.element.html( value ); + if ( this.icon ) { + this._attachIcon( this.options.iconPosition ); + this._attachIconSpace( this.options.iconPosition ); + } + } + } + + this._super( key, value ); + + if ( key === "disabled" ) { + this._toggleClass( null, "ui-state-disabled", value ); + this.element[ 0 ].disabled = value; + if ( value ) { + this.element.blur(); + } + } + }, + + refresh: function() { + + // Make sure to only check disabled if its an element that supports this otherwise + // check for the disabled class to determine state + var isDisabled = this.element.is( "input, button" ) ? + this.element[ 0 ].disabled : this.element.hasClass( "ui-button-disabled" ); + + if ( isDisabled !== this.options.disabled ) { + this._setOptions( { disabled: isDisabled } ); + } + + this._updateTooltip(); + } +} ); + +// DEPRECATED +if ( $.uiBackCompat !== false ) { + + // Text and Icons options + $.widget( "ui.button", $.ui.button, { + options: { + text: true, + icons: { + primary: null, + secondary: null + } + }, + + _create: function() { + if ( this.options.showLabel && !this.options.text ) { + this.options.showLabel = this.options.text; + } + if ( !this.options.showLabel && this.options.text ) { + this.options.text = this.options.showLabel; + } + if ( !this.options.icon && ( this.options.icons.primary || + this.options.icons.secondary ) ) { + if ( this.options.icons.primary ) { + this.options.icon = this.options.icons.primary; + } else { + this.options.icon = this.options.icons.secondary; + this.options.iconPosition = "end"; + } + } else if ( this.options.icon ) { + this.options.icons.primary = this.options.icon; + } + this._super(); + }, + + _setOption: function( key, value ) { + if ( key === "text" ) { + this._super( "showLabel", value ); + return; + } + if ( key === "showLabel" ) { + this.options.text = value; + } + if ( key === "icon" ) { + this.options.icons.primary = value; + } + if ( key === "icons" ) { + if ( value.primary ) { + this._super( "icon", value.primary ); + this._super( "iconPosition", "beginning" ); + } else if ( value.secondary ) { + this._super( "icon", value.secondary ); + this._super( "iconPosition", "end" ); + } + } + this._superApply( arguments ); + } + } ); + + $.fn.button = ( function( orig ) { + return function() { + if ( !this.length || ( this.length && this[ 0 ].tagName !== "INPUT" ) || + ( this.length && this[ 0 ].tagName === "INPUT" && ( + this.attr( "type" ) !== "checkbox" && this.attr( "type" ) !== "radio" + ) ) ) { + return orig.apply( this, arguments ); + } + if ( !$.ui.checkboxradio ) { + $.error( "Checkboxradio widget missing" ); + } + if ( arguments.length === 0 ) { + return this.checkboxradio( { + "icon": false + } ); + } + return this.checkboxradio.apply( this, arguments ); + }; + } )( $.fn.button ); + + $.fn.buttonset = function() { + if ( !$.ui.controlgroup ) { + $.error( "Controlgroup widget missing" ); + } + if ( arguments[ 0 ] === "option" && arguments[ 1 ] === "items" && arguments[ 2 ] ) { + return this.controlgroup.apply( this, + [ arguments[ 0 ], "items.button", arguments[ 2 ] ] ); + } + if ( arguments[ 0 ] === "option" && arguments[ 1 ] === "items" ) { + return this.controlgroup.apply( this, [ arguments[ 0 ], "items.button" ] ); + } + if ( typeof arguments[ 0 ] === "object" && arguments[ 0 ].items ) { + arguments[ 0 ].items = { + button: arguments[ 0 ].items + }; + } + return this.controlgroup.apply( this, arguments ); + }; +} + +var widgetsButton = $.ui.button; + + +// jscs:disable maximumLineLength +/* jscs:disable requireCamelCaseOrUpperCaseIdentifiers */ +/*! + * jQuery UI Datepicker 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Datepicker +//>>group: Widgets +//>>description: Displays a calendar from an input or inline for selecting dates. +//>>docs: http://api.jqueryui.com/datepicker/ +//>>demos: http://jqueryui.com/datepicker/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/datepicker.css +//>>css.theme: ../../themes/base/theme.css + + + +$.extend( $.ui, { datepicker: { version: "1.12.1" } } ); + +var datepicker_instActive; + +function datepicker_getZindex( elem ) { + var position, value; + while ( elem.length && elem[ 0 ] !== document ) { + + // Ignore z-index if position is set to a value where z-index is ignored by the browser + // This makes behavior of this function consistent across browsers + // WebKit always returns auto if the element is positioned + position = elem.css( "position" ); + if ( position === "absolute" || position === "relative" || position === "fixed" ) { + + // IE returns 0 when zIndex is not specified + // other browsers return a string + // we ignore the case of nested elements with an explicit value of 0 + // <div style="z-index: -10;"><div style="z-index: 0;"></div></div> + value = parseInt( elem.css( "zIndex" ), 10 ); + if ( !isNaN( value ) && value !== 0 ) { + return value; + } + } + elem = elem.parent(); + } + + return 0; +} +/* Date picker manager. + Use the singleton instance of this class, $.datepicker, to interact with the date picker. + Settings for (groups of) date pickers are maintained in an instance object, + allowing multiple different settings on the same page. */ + +function Datepicker() { + this._curInst = null; // The current instance in use + this._keyEvent = false; // If the last event was a key event + this._disabledInputs = []; // List of date picker inputs that have been disabled + this._datepickerShowing = false; // True if the popup picker is showing , false if not + this._inDialog = false; // True if showing within a "dialog", false if not + this._mainDivId = "ui-datepicker-div"; // The ID of the main datepicker division + this._inlineClass = "ui-datepicker-inline"; // The name of the inline marker class + this._appendClass = "ui-datepicker-append"; // The name of the append marker class + this._triggerClass = "ui-datepicker-trigger"; // The name of the trigger marker class + this._dialogClass = "ui-datepicker-dialog"; // The name of the dialog marker class + this._disableClass = "ui-datepicker-disabled"; // The name of the disabled covering marker class + this._unselectableClass = "ui-datepicker-unselectable"; // The name of the unselectable cell marker class + this._currentClass = "ui-datepicker-current-day"; // The name of the current day marker class + this._dayOverClass = "ui-datepicker-days-cell-over"; // The name of the day hover marker class + this.regional = []; // Available regional settings, indexed by language code + this.regional[ "" ] = { // Default regional settings + closeText: "Done", // Display text for close link + prevText: "Prev", // Display text for previous month link + nextText: "Next", // Display text for next month link + currentText: "Today", // Display text for current month link + monthNames: [ "January","February","March","April","May","June", + "July","August","September","October","November","December" ], // Names of months for drop-down and formatting + monthNamesShort: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ], // For formatting + dayNames: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], // For formatting + dayNamesShort: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], // For formatting + dayNamesMin: [ "Su","Mo","Tu","We","Th","Fr","Sa" ], // Column headings for days starting at Sunday + weekHeader: "Wk", // Column header for week of the year + dateFormat: "mm/dd/yy", // See format options on parseDate + firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ... + isRTL: false, // True if right-to-left language, false if left-to-right + showMonthAfterYear: false, // True if the year select precedes month, false for month then year + yearSuffix: "" // Additional text to append to the year in the month headers + }; + this._defaults = { // Global defaults for all the date picker instances + showOn: "focus", // "focus" for popup on focus, + // "button" for trigger button, or "both" for either + showAnim: "fadeIn", // Name of jQuery animation for popup + showOptions: {}, // Options for enhanced animations + defaultDate: null, // Used when field is blank: actual date, + // +/-number for offset from today, null for today + appendText: "", // Display text following the input box, e.g. showing the format + buttonText: "...", // Text for trigger button + buttonImage: "", // URL for trigger button image + buttonImageOnly: false, // True if the image appears alone, false if it appears on a button + hideIfNoPrevNext: false, // True to hide next/previous month links + // if not applicable, false to just disable them + navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links + gotoCurrent: false, // True if today link goes back to current selection instead + changeMonth: false, // True if month can be selected directly, false if only prev/next + changeYear: false, // True if year can be selected directly, false if only prev/next + yearRange: "c-10:c+10", // Range of years to display in drop-down, + // either relative to today's year (-nn:+nn), relative to currently displayed year + // (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n) + showOtherMonths: false, // True to show dates in other months, false to leave blank + selectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable + showWeek: false, // True to show week of the year, false to not show it + calculateWeek: this.iso8601Week, // How to calculate the week of the year, + // takes a Date and returns the number of the week for it + shortYearCutoff: "+10", // Short year values < this are in the current century, + // > this are in the previous century, + // string value starting with "+" for current year + value + minDate: null, // The earliest selectable date, or null for no limit + maxDate: null, // The latest selectable date, or null for no limit + duration: "fast", // Duration of display/closure + beforeShowDay: null, // Function that takes a date and returns an array with + // [0] = true if selectable, false if not, [1] = custom CSS class name(s) or "", + // [2] = cell title (optional), e.g. $.datepicker.noWeekends + beforeShow: null, // Function that takes an input field and + // returns a set of custom settings for the date picker + onSelect: null, // Define a callback function when a date is selected + onChangeMonthYear: null, // Define a callback function when the month or year is changed + onClose: null, // Define a callback function when the datepicker is closed + numberOfMonths: 1, // Number of months to show at a time + showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0) + stepMonths: 1, // Number of months to step back/forward + stepBigMonths: 12, // Number of months to step back/forward for the big links + altField: "", // Selector for an alternate field to store selected dates into + altFormat: "", // The date format to use for the alternate field + constrainInput: true, // The input is constrained by the current date format + showButtonPanel: false, // True to show button panel, false to not show it + autoSize: false, // True to size the input for the date format, false to leave as is + disabled: false // The initial disabled state + }; + $.extend( this._defaults, this.regional[ "" ] ); + this.regional.en = $.extend( true, {}, this.regional[ "" ] ); + this.regional[ "en-US" ] = $.extend( true, {}, this.regional.en ); + this.dpDiv = datepicker_bindHover( $( "<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>" ) ); +} + +$.extend( Datepicker.prototype, { + /* Class name added to elements to indicate already configured with a date picker. */ + markerClassName: "hasDatepicker", + + //Keep track of the maximum number of rows displayed (see #7043) + maxRows: 4, + + // TODO rename to "widget" when switching to widget factory + _widgetDatepicker: function() { + return this.dpDiv; + }, + + /* Override the default settings for all instances of the date picker. + * @param settings object - the new settings to use as defaults (anonymous object) + * @return the manager object + */ + setDefaults: function( settings ) { + datepicker_extendRemove( this._defaults, settings || {} ); + return this; + }, + + /* Attach the date picker to a jQuery selection. + * @param target element - the target input field or division or span + * @param settings object - the new settings to use for this date picker instance (anonymous) + */ + _attachDatepicker: function( target, settings ) { + var nodeName, inline, inst; + nodeName = target.nodeName.toLowerCase(); + inline = ( nodeName === "div" || nodeName === "span" ); + if ( !target.id ) { + this.uuid += 1; + target.id = "dp" + this.uuid; + } + inst = this._newInst( $( target ), inline ); + inst.settings = $.extend( {}, settings || {} ); + if ( nodeName === "input" ) { + this._connectDatepicker( target, inst ); + } else if ( inline ) { + this._inlineDatepicker( target, inst ); + } + }, + + /* Create a new instance object. */ + _newInst: function( target, inline ) { + var id = target[ 0 ].id.replace( /([^A-Za-z0-9_\-])/g, "\\\\$1" ); // escape jQuery meta chars + return { id: id, input: target, // associated target + selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection + drawMonth: 0, drawYear: 0, // month being drawn + inline: inline, // is datepicker inline or not + dpDiv: ( !inline ? this.dpDiv : // presentation div + datepicker_bindHover( $( "<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>" ) ) ) }; + }, + + /* Attach the date picker to an input field. */ + _connectDatepicker: function( target, inst ) { + var input = $( target ); + inst.append = $( [] ); + inst.trigger = $( [] ); + if ( input.hasClass( this.markerClassName ) ) { + return; + } + this._attachments( input, inst ); + input.addClass( this.markerClassName ).on( "keydown", this._doKeyDown ). + on( "keypress", this._doKeyPress ).on( "keyup", this._doKeyUp ); + this._autoSize( inst ); + $.data( target, "datepicker", inst ); + + //If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665) + if ( inst.settings.disabled ) { + this._disableDatepicker( target ); + } + }, + + /* Make attachments based on settings. */ + _attachments: function( input, inst ) { + var showOn, buttonText, buttonImage, + appendText = this._get( inst, "appendText" ), + isRTL = this._get( inst, "isRTL" ); + + if ( inst.append ) { + inst.append.remove(); + } + if ( appendText ) { + inst.append = $( "<span class='" + this._appendClass + "'>" + appendText + "</span>" ); + input[ isRTL ? "before" : "after" ]( inst.append ); + } + + input.off( "focus", this._showDatepicker ); + + if ( inst.trigger ) { + inst.trigger.remove(); + } + + showOn = this._get( inst, "showOn" ); + if ( showOn === "focus" || showOn === "both" ) { // pop-up date picker when in the marked field + input.on( "focus", this._showDatepicker ); + } + if ( showOn === "button" || showOn === "both" ) { // pop-up date picker when button clicked + buttonText = this._get( inst, "buttonText" ); + buttonImage = this._get( inst, "buttonImage" ); + inst.trigger = $( this._get( inst, "buttonImageOnly" ) ? + $( "<img/>" ).addClass( this._triggerClass ). + attr( { src: buttonImage, alt: buttonText, title: buttonText } ) : + $( "<button type='button'></button>" ).addClass( this._triggerClass ). + html( !buttonImage ? buttonText : $( "<img/>" ).attr( + { src:buttonImage, alt:buttonText, title:buttonText } ) ) ); + input[ isRTL ? "before" : "after" ]( inst.trigger ); + inst.trigger.on( "click", function() { + if ( $.datepicker._datepickerShowing && $.datepicker._lastInput === input[ 0 ] ) { + $.datepicker._hideDatepicker(); + } else if ( $.datepicker._datepickerShowing && $.datepicker._lastInput !== input[ 0 ] ) { + $.datepicker._hideDatepicker(); + $.datepicker._showDatepicker( input[ 0 ] ); + } else { + $.datepicker._showDatepicker( input[ 0 ] ); + } + return false; + } ); + } + }, + + /* Apply the maximum length for the date format. */ + _autoSize: function( inst ) { + if ( this._get( inst, "autoSize" ) && !inst.inline ) { + var findMax, max, maxI, i, + date = new Date( 2009, 12 - 1, 20 ), // Ensure double digits + dateFormat = this._get( inst, "dateFormat" ); + + if ( dateFormat.match( /[DM]/ ) ) { + findMax = function( names ) { + max = 0; + maxI = 0; + for ( i = 0; i < names.length; i++ ) { + if ( names[ i ].length > max ) { + max = names[ i ].length; + maxI = i; + } + } + return maxI; + }; + date.setMonth( findMax( this._get( inst, ( dateFormat.match( /MM/ ) ? + "monthNames" : "monthNamesShort" ) ) ) ); + date.setDate( findMax( this._get( inst, ( dateFormat.match( /DD/ ) ? + "dayNames" : "dayNamesShort" ) ) ) + 20 - date.getDay() ); + } + inst.input.attr( "size", this._formatDate( inst, date ).length ); + } + }, + + /* Attach an inline date picker to a div. */ + _inlineDatepicker: function( target, inst ) { + var divSpan = $( target ); + if ( divSpan.hasClass( this.markerClassName ) ) { + return; + } + divSpan.addClass( this.markerClassName ).append( inst.dpDiv ); + $.data( target, "datepicker", inst ); + this._setDate( inst, this._getDefaultDate( inst ), true ); + this._updateDatepicker( inst ); + this._updateAlternate( inst ); + + //If disabled option is true, disable the datepicker before showing it (see ticket #5665) + if ( inst.settings.disabled ) { + this._disableDatepicker( target ); + } + + // Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements + // http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height + inst.dpDiv.css( "display", "block" ); + }, + + /* Pop-up the date picker in a "dialog" box. + * @param input element - ignored + * @param date string or Date - the initial date to display + * @param onSelect function - the function to call when a date is selected + * @param settings object - update the dialog date picker instance's settings (anonymous object) + * @param pos int[2] - coordinates for the dialog's position within the screen or + * event - with x/y coordinates or + * leave empty for default (screen centre) + * @return the manager object + */ + _dialogDatepicker: function( input, date, onSelect, settings, pos ) { + var id, browserWidth, browserHeight, scrollX, scrollY, + inst = this._dialogInst; // internal instance + + if ( !inst ) { + this.uuid += 1; + id = "dp" + this.uuid; + this._dialogInput = $( "<input type='text' id='" + id + + "' style='position: absolute; top: -100px; width: 0px;'/>" ); + this._dialogInput.on( "keydown", this._doKeyDown ); + $( "body" ).append( this._dialogInput ); + inst = this._dialogInst = this._newInst( this._dialogInput, false ); + inst.settings = {}; + $.data( this._dialogInput[ 0 ], "datepicker", inst ); + } + datepicker_extendRemove( inst.settings, settings || {} ); + date = ( date && date.constructor === Date ? this._formatDate( inst, date ) : date ); + this._dialogInput.val( date ); + + this._pos = ( pos ? ( pos.length ? pos : [ pos.pageX, pos.pageY ] ) : null ); + if ( !this._pos ) { + browserWidth = document.documentElement.clientWidth; + browserHeight = document.documentElement.clientHeight; + scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; + scrollY = document.documentElement.scrollTop || document.body.scrollTop; + this._pos = // should use actual width/height below + [ ( browserWidth / 2 ) - 100 + scrollX, ( browserHeight / 2 ) - 150 + scrollY ]; + } + + // Move input on screen for focus, but hidden behind dialog + this._dialogInput.css( "left", ( this._pos[ 0 ] + 20 ) + "px" ).css( "top", this._pos[ 1 ] + "px" ); + inst.settings.onSelect = onSelect; + this._inDialog = true; + this.dpDiv.addClass( this._dialogClass ); + this._showDatepicker( this._dialogInput[ 0 ] ); + if ( $.blockUI ) { + $.blockUI( this.dpDiv ); + } + $.data( this._dialogInput[ 0 ], "datepicker", inst ); + return this; + }, + + /* Detach a datepicker from its control. + * @param target element - the target input field or division or span + */ + _destroyDatepicker: function( target ) { + var nodeName, + $target = $( target ), + inst = $.data( target, "datepicker" ); + + if ( !$target.hasClass( this.markerClassName ) ) { + return; + } + + nodeName = target.nodeName.toLowerCase(); + $.removeData( target, "datepicker" ); + if ( nodeName === "input" ) { + inst.append.remove(); + inst.trigger.remove(); + $target.removeClass( this.markerClassName ). + off( "focus", this._showDatepicker ). + off( "keydown", this._doKeyDown ). + off( "keypress", this._doKeyPress ). + off( "keyup", this._doKeyUp ); + } else if ( nodeName === "div" || nodeName === "span" ) { + $target.removeClass( this.markerClassName ).empty(); + } + + if ( datepicker_instActive === inst ) { + datepicker_instActive = null; + } + }, + + /* Enable the date picker to a jQuery selection. + * @param target element - the target input field or division or span + */ + _enableDatepicker: function( target ) { + var nodeName, inline, + $target = $( target ), + inst = $.data( target, "datepicker" ); + + if ( !$target.hasClass( this.markerClassName ) ) { + return; + } + + nodeName = target.nodeName.toLowerCase(); + if ( nodeName === "input" ) { + target.disabled = false; + inst.trigger.filter( "button" ). + each( function() { this.disabled = false; } ).end(). + filter( "img" ).css( { opacity: "1.0", cursor: "" } ); + } else if ( nodeName === "div" || nodeName === "span" ) { + inline = $target.children( "." + this._inlineClass ); + inline.children().removeClass( "ui-state-disabled" ); + inline.find( "select.ui-datepicker-month, select.ui-datepicker-year" ). + prop( "disabled", false ); + } + this._disabledInputs = $.map( this._disabledInputs, + function( value ) { return ( value === target ? null : value ); } ); // delete entry + }, + + /* Disable the date picker to a jQuery selection. + * @param target element - the target input field or division or span + */ + _disableDatepicker: function( target ) { + var nodeName, inline, + $target = $( target ), + inst = $.data( target, "datepicker" ); + + if ( !$target.hasClass( this.markerClassName ) ) { + return; + } + + nodeName = target.nodeName.toLowerCase(); + if ( nodeName === "input" ) { + target.disabled = true; + inst.trigger.filter( "button" ). + each( function() { this.disabled = true; } ).end(). + filter( "img" ).css( { opacity: "0.5", cursor: "default" } ); + } else if ( nodeName === "div" || nodeName === "span" ) { + inline = $target.children( "." + this._inlineClass ); + inline.children().addClass( "ui-state-disabled" ); + inline.find( "select.ui-datepicker-month, select.ui-datepicker-year" ). + prop( "disabled", true ); + } + this._disabledInputs = $.map( this._disabledInputs, + function( value ) { return ( value === target ? null : value ); } ); // delete entry + this._disabledInputs[ this._disabledInputs.length ] = target; + }, + + /* Is the first field in a jQuery collection disabled as a datepicker? + * @param target element - the target input field or division or span + * @return boolean - true if disabled, false if enabled + */ + _isDisabledDatepicker: function( target ) { + if ( !target ) { + return false; + } + for ( var i = 0; i < this._disabledInputs.length; i++ ) { + if ( this._disabledInputs[ i ] === target ) { + return true; + } + } + return false; + }, + + /* Retrieve the instance data for the target control. + * @param target element - the target input field or division or span + * @return object - the associated instance data + * @throws error if a jQuery problem getting data + */ + _getInst: function( target ) { + try { + return $.data( target, "datepicker" ); + } + catch ( err ) { + throw "Missing instance data for this datepicker"; + } + }, + + /* Update or retrieve the settings for a date picker attached to an input field or division. + * @param target element - the target input field or division or span + * @param name object - the new settings to update or + * string - the name of the setting to change or retrieve, + * when retrieving also "all" for all instance settings or + * "defaults" for all global defaults + * @param value any - the new value for the setting + * (omit if above is an object or to retrieve a value) + */ + _optionDatepicker: function( target, name, value ) { + var settings, date, minDate, maxDate, + inst = this._getInst( target ); + + if ( arguments.length === 2 && typeof name === "string" ) { + return ( name === "defaults" ? $.extend( {}, $.datepicker._defaults ) : + ( inst ? ( name === "all" ? $.extend( {}, inst.settings ) : + this._get( inst, name ) ) : null ) ); + } + + settings = name || {}; + if ( typeof name === "string" ) { + settings = {}; + settings[ name ] = value; + } + + if ( inst ) { + if ( this._curInst === inst ) { + this._hideDatepicker(); + } + + date = this._getDateDatepicker( target, true ); + minDate = this._getMinMaxDate( inst, "min" ); + maxDate = this._getMinMaxDate( inst, "max" ); + datepicker_extendRemove( inst.settings, settings ); + + // reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided + if ( minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined ) { + inst.settings.minDate = this._formatDate( inst, minDate ); + } + if ( maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined ) { + inst.settings.maxDate = this._formatDate( inst, maxDate ); + } + if ( "disabled" in settings ) { + if ( settings.disabled ) { + this._disableDatepicker( target ); + } else { + this._enableDatepicker( target ); + } + } + this._attachments( $( target ), inst ); + this._autoSize( inst ); + this._setDate( inst, date ); + this._updateAlternate( inst ); + this._updateDatepicker( inst ); + } + }, + + // Change method deprecated + _changeDatepicker: function( target, name, value ) { + this._optionDatepicker( target, name, value ); + }, + + /* Redraw the date picker attached to an input field or division. + * @param target element - the target input field or division or span + */ + _refreshDatepicker: function( target ) { + var inst = this._getInst( target ); + if ( inst ) { + this._updateDatepicker( inst ); + } + }, + + /* Set the dates for a jQuery selection. + * @param target element - the target input field or division or span + * @param date Date - the new date + */ + _setDateDatepicker: function( target, date ) { + var inst = this._getInst( target ); + if ( inst ) { + this._setDate( inst, date ); + this._updateDatepicker( inst ); + this._updateAlternate( inst ); + } + }, + + /* Get the date(s) for the first entry in a jQuery selection. + * @param target element - the target input field or division or span + * @param noDefault boolean - true if no default date is to be used + * @return Date - the current date + */ + _getDateDatepicker: function( target, noDefault ) { + var inst = this._getInst( target ); + if ( inst && !inst.inline ) { + this._setDateFromField( inst, noDefault ); + } + return ( inst ? this._getDate( inst ) : null ); + }, + + /* Handle keystrokes. */ + _doKeyDown: function( event ) { + var onSelect, dateStr, sel, + inst = $.datepicker._getInst( event.target ), + handled = true, + isRTL = inst.dpDiv.is( ".ui-datepicker-rtl" ); + + inst._keyEvent = true; + if ( $.datepicker._datepickerShowing ) { + switch ( event.keyCode ) { + case 9: $.datepicker._hideDatepicker(); + handled = false; + break; // hide on tab out + case 13: sel = $( "td." + $.datepicker._dayOverClass + ":not(." + + $.datepicker._currentClass + ")", inst.dpDiv ); + if ( sel[ 0 ] ) { + $.datepicker._selectDay( event.target, inst.selectedMonth, inst.selectedYear, sel[ 0 ] ); + } + + onSelect = $.datepicker._get( inst, "onSelect" ); + if ( onSelect ) { + dateStr = $.datepicker._formatDate( inst ); + + // Trigger custom callback + onSelect.apply( ( inst.input ? inst.input[ 0 ] : null ), [ dateStr, inst ] ); + } else { + $.datepicker._hideDatepicker(); + } + + return false; // don't submit the form + case 27: $.datepicker._hideDatepicker(); + break; // hide on escape + case 33: $.datepicker._adjustDate( event.target, ( event.ctrlKey ? + -$.datepicker._get( inst, "stepBigMonths" ) : + -$.datepicker._get( inst, "stepMonths" ) ), "M" ); + break; // previous month/year on page up/+ ctrl + case 34: $.datepicker._adjustDate( event.target, ( event.ctrlKey ? + +$.datepicker._get( inst, "stepBigMonths" ) : + +$.datepicker._get( inst, "stepMonths" ) ), "M" ); + break; // next month/year on page down/+ ctrl + case 35: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._clearDate( event.target ); + } + handled = event.ctrlKey || event.metaKey; + break; // clear on ctrl or command +end + case 36: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._gotoToday( event.target ); + } + handled = event.ctrlKey || event.metaKey; + break; // current on ctrl or command +home + case 37: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._adjustDate( event.target, ( isRTL ? +1 : -1 ), "D" ); + } + handled = event.ctrlKey || event.metaKey; + + // -1 day on ctrl or command +left + if ( event.originalEvent.altKey ) { + $.datepicker._adjustDate( event.target, ( event.ctrlKey ? + -$.datepicker._get( inst, "stepBigMonths" ) : + -$.datepicker._get( inst, "stepMonths" ) ), "M" ); + } + + // next month/year on alt +left on Mac + break; + case 38: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._adjustDate( event.target, -7, "D" ); + } + handled = event.ctrlKey || event.metaKey; + break; // -1 week on ctrl or command +up + case 39: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._adjustDate( event.target, ( isRTL ? -1 : +1 ), "D" ); + } + handled = event.ctrlKey || event.metaKey; + + // +1 day on ctrl or command +right + if ( event.originalEvent.altKey ) { + $.datepicker._adjustDate( event.target, ( event.ctrlKey ? + +$.datepicker._get( inst, "stepBigMonths" ) : + +$.datepicker._get( inst, "stepMonths" ) ), "M" ); + } + + // next month/year on alt +right + break; + case 40: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._adjustDate( event.target, +7, "D" ); + } + handled = event.ctrlKey || event.metaKey; + break; // +1 week on ctrl or command +down + default: handled = false; + } + } else if ( event.keyCode === 36 && event.ctrlKey ) { // display the date picker on ctrl+home + $.datepicker._showDatepicker( this ); + } else { + handled = false; + } + + if ( handled ) { + event.preventDefault(); + event.stopPropagation(); + } + }, + + /* Filter entered characters - based on date format. */ + _doKeyPress: function( event ) { + var chars, chr, + inst = $.datepicker._getInst( event.target ); + + if ( $.datepicker._get( inst, "constrainInput" ) ) { + chars = $.datepicker._possibleChars( $.datepicker._get( inst, "dateFormat" ) ); + chr = String.fromCharCode( event.charCode == null ? event.keyCode : event.charCode ); + return event.ctrlKey || event.metaKey || ( chr < " " || !chars || chars.indexOf( chr ) > -1 ); + } + }, + + /* Synchronise manual entry and field/alternate field. */ + _doKeyUp: function( event ) { + var date, + inst = $.datepicker._getInst( event.target ); + + if ( inst.input.val() !== inst.lastVal ) { + try { + date = $.datepicker.parseDate( $.datepicker._get( inst, "dateFormat" ), + ( inst.input ? inst.input.val() : null ), + $.datepicker._getFormatConfig( inst ) ); + + if ( date ) { // only if valid + $.datepicker._setDateFromField( inst ); + $.datepicker._updateAlternate( inst ); + $.datepicker._updateDatepicker( inst ); + } + } + catch ( err ) { + } + } + return true; + }, + + /* Pop-up the date picker for a given input field. + * If false returned from beforeShow event handler do not show. + * @param input element - the input field attached to the date picker or + * event - if triggered by focus + */ + _showDatepicker: function( input ) { + input = input.target || input; + if ( input.nodeName.toLowerCase() !== "input" ) { // find from button/image trigger + input = $( "input", input.parentNode )[ 0 ]; + } + + if ( $.datepicker._isDisabledDatepicker( input ) || $.datepicker._lastInput === input ) { // already here + return; + } + + var inst, beforeShow, beforeShowSettings, isFixed, + offset, showAnim, duration; + + inst = $.datepicker._getInst( input ); + if ( $.datepicker._curInst && $.datepicker._curInst !== inst ) { + $.datepicker._curInst.dpDiv.stop( true, true ); + if ( inst && $.datepicker._datepickerShowing ) { + $.datepicker._hideDatepicker( $.datepicker._curInst.input[ 0 ] ); + } + } + + beforeShow = $.datepicker._get( inst, "beforeShow" ); + beforeShowSettings = beforeShow ? beforeShow.apply( input, [ input, inst ] ) : {}; + if ( beforeShowSettings === false ) { + return; + } + datepicker_extendRemove( inst.settings, beforeShowSettings ); + + inst.lastVal = null; + $.datepicker._lastInput = input; + $.datepicker._setDateFromField( inst ); + + if ( $.datepicker._inDialog ) { // hide cursor + input.value = ""; + } + if ( !$.datepicker._pos ) { // position below input + $.datepicker._pos = $.datepicker._findPos( input ); + $.datepicker._pos[ 1 ] += input.offsetHeight; // add the height + } + + isFixed = false; + $( input ).parents().each( function() { + isFixed |= $( this ).css( "position" ) === "fixed"; + return !isFixed; + } ); + + offset = { left: $.datepicker._pos[ 0 ], top: $.datepicker._pos[ 1 ] }; + $.datepicker._pos = null; + + //to avoid flashes on Firefox + inst.dpDiv.empty(); + + // determine sizing offscreen + inst.dpDiv.css( { position: "absolute", display: "block", top: "-1000px" } ); + $.datepicker._updateDatepicker( inst ); + + // fix width for dynamic number of date pickers + // and adjust position before showing + offset = $.datepicker._checkOffset( inst, offset, isFixed ); + inst.dpDiv.css( { position: ( $.datepicker._inDialog && $.blockUI ? + "static" : ( isFixed ? "fixed" : "absolute" ) ), display: "none", + left: offset.left + "px", top: offset.top + "px" } ); + + if ( !inst.inline ) { + showAnim = $.datepicker._get( inst, "showAnim" ); + duration = $.datepicker._get( inst, "duration" ); + inst.dpDiv.css( "z-index", datepicker_getZindex( $( input ) ) + 1 ); + $.datepicker._datepickerShowing = true; + + if ( $.effects && $.effects.effect[ showAnim ] ) { + inst.dpDiv.show( showAnim, $.datepicker._get( inst, "showOptions" ), duration ); + } else { + inst.dpDiv[ showAnim || "show" ]( showAnim ? duration : null ); + } + + if ( $.datepicker._shouldFocusInput( inst ) ) { + inst.input.trigger( "focus" ); + } + + $.datepicker._curInst = inst; + } + }, + + /* Generate the date picker content. */ + _updateDatepicker: function( inst ) { + this.maxRows = 4; //Reset the max number of rows being displayed (see #7043) + datepicker_instActive = inst; // for delegate hover events + inst.dpDiv.empty().append( this._generateHTML( inst ) ); + this._attachHandlers( inst ); + + var origyearshtml, + numMonths = this._getNumberOfMonths( inst ), + cols = numMonths[ 1 ], + width = 17, + activeCell = inst.dpDiv.find( "." + this._dayOverClass + " a" ); + + if ( activeCell.length > 0 ) { + datepicker_handleMouseover.apply( activeCell.get( 0 ) ); + } + + inst.dpDiv.removeClass( "ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4" ).width( "" ); + if ( cols > 1 ) { + inst.dpDiv.addClass( "ui-datepicker-multi-" + cols ).css( "width", ( width * cols ) + "em" ); + } + inst.dpDiv[ ( numMonths[ 0 ] !== 1 || numMonths[ 1 ] !== 1 ? "add" : "remove" ) + + "Class" ]( "ui-datepicker-multi" ); + inst.dpDiv[ ( this._get( inst, "isRTL" ) ? "add" : "remove" ) + + "Class" ]( "ui-datepicker-rtl" ); + + if ( inst === $.datepicker._curInst && $.datepicker._datepickerShowing && $.datepicker._shouldFocusInput( inst ) ) { + inst.input.trigger( "focus" ); + } + + // Deffered render of the years select (to avoid flashes on Firefox) + if ( inst.yearshtml ) { + origyearshtml = inst.yearshtml; + setTimeout( function() { + + //assure that inst.yearshtml didn't change. + if ( origyearshtml === inst.yearshtml && inst.yearshtml ) { + inst.dpDiv.find( "select.ui-datepicker-year:first" ).replaceWith( inst.yearshtml ); + } + origyearshtml = inst.yearshtml = null; + }, 0 ); + } + }, + + // #6694 - don't focus the input if it's already focused + // this breaks the change event in IE + // Support: IE and jQuery <1.9 + _shouldFocusInput: function( inst ) { + return inst.input && inst.input.is( ":visible" ) && !inst.input.is( ":disabled" ) && !inst.input.is( ":focus" ); + }, + + /* Check positioning to remain on screen. */ + _checkOffset: function( inst, offset, isFixed ) { + var dpWidth = inst.dpDiv.outerWidth(), + dpHeight = inst.dpDiv.outerHeight(), + inputWidth = inst.input ? inst.input.outerWidth() : 0, + inputHeight = inst.input ? inst.input.outerHeight() : 0, + viewWidth = document.documentElement.clientWidth + ( isFixed ? 0 : $( document ).scrollLeft() ), + viewHeight = document.documentElement.clientHeight + ( isFixed ? 0 : $( document ).scrollTop() ); + + offset.left -= ( this._get( inst, "isRTL" ) ? ( dpWidth - inputWidth ) : 0 ); + offset.left -= ( isFixed && offset.left === inst.input.offset().left ) ? $( document ).scrollLeft() : 0; + offset.top -= ( isFixed && offset.top === ( inst.input.offset().top + inputHeight ) ) ? $( document ).scrollTop() : 0; + + // Now check if datepicker is showing outside window viewport - move to a better place if so. + offset.left -= Math.min( offset.left, ( offset.left + dpWidth > viewWidth && viewWidth > dpWidth ) ? + Math.abs( offset.left + dpWidth - viewWidth ) : 0 ); + offset.top -= Math.min( offset.top, ( offset.top + dpHeight > viewHeight && viewHeight > dpHeight ) ? + Math.abs( dpHeight + inputHeight ) : 0 ); + + return offset; + }, + + /* Find an object's position on the screen. */ + _findPos: function( obj ) { + var position, + inst = this._getInst( obj ), + isRTL = this._get( inst, "isRTL" ); + + while ( obj && ( obj.type === "hidden" || obj.nodeType !== 1 || $.expr.filters.hidden( obj ) ) ) { + obj = obj[ isRTL ? "previousSibling" : "nextSibling" ]; + } + + position = $( obj ).offset(); + return [ position.left, position.top ]; + }, + + /* Hide the date picker from view. + * @param input element - the input field attached to the date picker + */ + _hideDatepicker: function( input ) { + var showAnim, duration, postProcess, onClose, + inst = this._curInst; + + if ( !inst || ( input && inst !== $.data( input, "datepicker" ) ) ) { + return; + } + + if ( this._datepickerShowing ) { + showAnim = this._get( inst, "showAnim" ); + duration = this._get( inst, "duration" ); + postProcess = function() { + $.datepicker._tidyDialog( inst ); + }; + + // DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed + if ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) { + inst.dpDiv.hide( showAnim, $.datepicker._get( inst, "showOptions" ), duration, postProcess ); + } else { + inst.dpDiv[ ( showAnim === "slideDown" ? "slideUp" : + ( showAnim === "fadeIn" ? "fadeOut" : "hide" ) ) ]( ( showAnim ? duration : null ), postProcess ); + } + + if ( !showAnim ) { + postProcess(); + } + this._datepickerShowing = false; + + onClose = this._get( inst, "onClose" ); + if ( onClose ) { + onClose.apply( ( inst.input ? inst.input[ 0 ] : null ), [ ( inst.input ? inst.input.val() : "" ), inst ] ); + } + + this._lastInput = null; + if ( this._inDialog ) { + this._dialogInput.css( { position: "absolute", left: "0", top: "-100px" } ); + if ( $.blockUI ) { + $.unblockUI(); + $( "body" ).append( this.dpDiv ); + } + } + this._inDialog = false; + } + }, + + /* Tidy up after a dialog display. */ + _tidyDialog: function( inst ) { + inst.dpDiv.removeClass( this._dialogClass ).off( ".ui-datepicker-calendar" ); + }, + + /* Close date picker if clicked elsewhere. */ + _checkExternalClick: function( event ) { + if ( !$.datepicker._curInst ) { + return; + } + + var $target = $( event.target ), + inst = $.datepicker._getInst( $target[ 0 ] ); + + if ( ( ( $target[ 0 ].id !== $.datepicker._mainDivId && + $target.parents( "#" + $.datepicker._mainDivId ).length === 0 && + !$target.hasClass( $.datepicker.markerClassName ) && + !$target.closest( "." + $.datepicker._triggerClass ).length && + $.datepicker._datepickerShowing && !( $.datepicker._inDialog && $.blockUI ) ) ) || + ( $target.hasClass( $.datepicker.markerClassName ) && $.datepicker._curInst !== inst ) ) { + $.datepicker._hideDatepicker(); + } + }, + + /* Adjust one of the date sub-fields. */ + _adjustDate: function( id, offset, period ) { + var target = $( id ), + inst = this._getInst( target[ 0 ] ); + + if ( this._isDisabledDatepicker( target[ 0 ] ) ) { + return; + } + this._adjustInstDate( inst, offset + + ( period === "M" ? this._get( inst, "showCurrentAtPos" ) : 0 ), // undo positioning + period ); + this._updateDatepicker( inst ); + }, + + /* Action for current link. */ + _gotoToday: function( id ) { + var date, + target = $( id ), + inst = this._getInst( target[ 0 ] ); + + if ( this._get( inst, "gotoCurrent" ) && inst.currentDay ) { + inst.selectedDay = inst.currentDay; + inst.drawMonth = inst.selectedMonth = inst.currentMonth; + inst.drawYear = inst.selectedYear = inst.currentYear; + } else { + date = new Date(); + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + } + this._notifyChange( inst ); + this._adjustDate( target ); + }, + + /* Action for selecting a new month/year. */ + _selectMonthYear: function( id, select, period ) { + var target = $( id ), + inst = this._getInst( target[ 0 ] ); + + inst[ "selected" + ( period === "M" ? "Month" : "Year" ) ] = + inst[ "draw" + ( period === "M" ? "Month" : "Year" ) ] = + parseInt( select.options[ select.selectedIndex ].value, 10 ); + + this._notifyChange( inst ); + this._adjustDate( target ); + }, + + /* Action for selecting a day. */ + _selectDay: function( id, month, year, td ) { + var inst, + target = $( id ); + + if ( $( td ).hasClass( this._unselectableClass ) || this._isDisabledDatepicker( target[ 0 ] ) ) { + return; + } + + inst = this._getInst( target[ 0 ] ); + inst.selectedDay = inst.currentDay = $( "a", td ).html(); + inst.selectedMonth = inst.currentMonth = month; + inst.selectedYear = inst.currentYear = year; + this._selectDate( id, this._formatDate( inst, + inst.currentDay, inst.currentMonth, inst.currentYear ) ); + }, + + /* Erase the input field and hide the date picker. */ + _clearDate: function( id ) { + var target = $( id ); + this._selectDate( target, "" ); + }, + + /* Update the input field with the selected date. */ + _selectDate: function( id, dateStr ) { + var onSelect, + target = $( id ), + inst = this._getInst( target[ 0 ] ); + + dateStr = ( dateStr != null ? dateStr : this._formatDate( inst ) ); + if ( inst.input ) { + inst.input.val( dateStr ); + } + this._updateAlternate( inst ); + + onSelect = this._get( inst, "onSelect" ); + if ( onSelect ) { + onSelect.apply( ( inst.input ? inst.input[ 0 ] : null ), [ dateStr, inst ] ); // trigger custom callback + } else if ( inst.input ) { + inst.input.trigger( "change" ); // fire the change event + } + + if ( inst.inline ) { + this._updateDatepicker( inst ); + } else { + this._hideDatepicker(); + this._lastInput = inst.input[ 0 ]; + if ( typeof( inst.input[ 0 ] ) !== "object" ) { + inst.input.trigger( "focus" ); // restore focus + } + this._lastInput = null; + } + }, + + /* Update any alternate field to synchronise with the main field. */ + _updateAlternate: function( inst ) { + var altFormat, date, dateStr, + altField = this._get( inst, "altField" ); + + if ( altField ) { // update alternate field too + altFormat = this._get( inst, "altFormat" ) || this._get( inst, "dateFormat" ); + date = this._getDate( inst ); + dateStr = this.formatDate( altFormat, date, this._getFormatConfig( inst ) ); + $( altField ).val( dateStr ); + } + }, + + /* Set as beforeShowDay function to prevent selection of weekends. + * @param date Date - the date to customise + * @return [boolean, string] - is this date selectable?, what is its CSS class? + */ + noWeekends: function( date ) { + var day = date.getDay(); + return [ ( day > 0 && day < 6 ), "" ]; + }, + + /* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition. + * @param date Date - the date to get the week for + * @return number - the number of the week within the year that contains this date + */ + iso8601Week: function( date ) { + var time, + checkDate = new Date( date.getTime() ); + + // Find Thursday of this week starting on Monday + checkDate.setDate( checkDate.getDate() + 4 - ( checkDate.getDay() || 7 ) ); + + time = checkDate.getTime(); + checkDate.setMonth( 0 ); // Compare with Jan 1 + checkDate.setDate( 1 ); + return Math.floor( Math.round( ( time - checkDate ) / 86400000 ) / 7 ) + 1; + }, + + /* Parse a string value into a date object. + * See formatDate below for the possible formats. + * + * @param format string - the expected format of the date + * @param value string - the date in the above format + * @param settings Object - attributes include: + * shortYearCutoff number - the cutoff year for determining the century (optional) + * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + * dayNames string[7] - names of the days from Sunday (optional) + * monthNamesShort string[12] - abbreviated names of the months (optional) + * monthNames string[12] - names of the months (optional) + * @return Date - the extracted date value or null if value is blank + */ + parseDate: function( format, value, settings ) { + if ( format == null || value == null ) { + throw "Invalid arguments"; + } + + value = ( typeof value === "object" ? value.toString() : value + "" ); + if ( value === "" ) { + return null; + } + + var iFormat, dim, extra, + iValue = 0, + shortYearCutoffTemp = ( settings ? settings.shortYearCutoff : null ) || this._defaults.shortYearCutoff, + shortYearCutoff = ( typeof shortYearCutoffTemp !== "string" ? shortYearCutoffTemp : + new Date().getFullYear() % 100 + parseInt( shortYearCutoffTemp, 10 ) ), + dayNamesShort = ( settings ? settings.dayNamesShort : null ) || this._defaults.dayNamesShort, + dayNames = ( settings ? settings.dayNames : null ) || this._defaults.dayNames, + monthNamesShort = ( settings ? settings.monthNamesShort : null ) || this._defaults.monthNamesShort, + monthNames = ( settings ? settings.monthNames : null ) || this._defaults.monthNames, + year = -1, + month = -1, + day = -1, + doy = -1, + literal = false, + date, + + // Check whether a format character is doubled + lookAhead = function( match ) { + var matches = ( iFormat + 1 < format.length && format.charAt( iFormat + 1 ) === match ); + if ( matches ) { + iFormat++; + } + return matches; + }, + + // Extract a number from the string value + getNumber = function( match ) { + var isDoubled = lookAhead( match ), + size = ( match === "@" ? 14 : ( match === "!" ? 20 : + ( match === "y" && isDoubled ? 4 : ( match === "o" ? 3 : 2 ) ) ) ), + minSize = ( match === "y" ? size : 1 ), + digits = new RegExp( "^\\d{" + minSize + "," + size + "}" ), + num = value.substring( iValue ).match( digits ); + if ( !num ) { + throw "Missing number at position " + iValue; + } + iValue += num[ 0 ].length; + return parseInt( num[ 0 ], 10 ); + }, + + // Extract a name from the string value and convert to an index + getName = function( match, shortNames, longNames ) { + var index = -1, + names = $.map( lookAhead( match ) ? longNames : shortNames, function( v, k ) { + return [ [ k, v ] ]; + } ).sort( function( a, b ) { + return -( a[ 1 ].length - b[ 1 ].length ); + } ); + + $.each( names, function( i, pair ) { + var name = pair[ 1 ]; + if ( value.substr( iValue, name.length ).toLowerCase() === name.toLowerCase() ) { + index = pair[ 0 ]; + iValue += name.length; + return false; + } + } ); + if ( index !== -1 ) { + return index + 1; + } else { + throw "Unknown name at position " + iValue; + } + }, + + // Confirm that a literal character matches the string value + checkLiteral = function() { + if ( value.charAt( iValue ) !== format.charAt( iFormat ) ) { + throw "Unexpected literal at position " + iValue; + } + iValue++; + }; + + for ( iFormat = 0; iFormat < format.length; iFormat++ ) { + if ( literal ) { + if ( format.charAt( iFormat ) === "'" && !lookAhead( "'" ) ) { + literal = false; + } else { + checkLiteral(); + } + } else { + switch ( format.charAt( iFormat ) ) { + case "d": + day = getNumber( "d" ); + break; + case "D": + getName( "D", dayNamesShort, dayNames ); + break; + case "o": + doy = getNumber( "o" ); + break; + case "m": + month = getNumber( "m" ); + break; + case "M": + month = getName( "M", monthNamesShort, monthNames ); + break; + case "y": + year = getNumber( "y" ); + break; + case "@": + date = new Date( getNumber( "@" ) ); + year = date.getFullYear(); + month = date.getMonth() + 1; + day = date.getDate(); + break; + case "!": + date = new Date( ( getNumber( "!" ) - this._ticksTo1970 ) / 10000 ); + year = date.getFullYear(); + month = date.getMonth() + 1; + day = date.getDate(); + break; + case "'": + if ( lookAhead( "'" ) ) { + checkLiteral(); + } else { + literal = true; + } + break; + default: + checkLiteral(); + } + } + } + + if ( iValue < value.length ) { + extra = value.substr( iValue ); + if ( !/^\s+/.test( extra ) ) { + throw "Extra/unparsed characters found in date: " + extra; + } + } + + if ( year === -1 ) { + year = new Date().getFullYear(); + } else if ( year < 100 ) { + year += new Date().getFullYear() - new Date().getFullYear() % 100 + + ( year <= shortYearCutoff ? 0 : -100 ); + } + + if ( doy > -1 ) { + month = 1; + day = doy; + do { + dim = this._getDaysInMonth( year, month - 1 ); + if ( day <= dim ) { + break; + } + month++; + day -= dim; + } while ( true ); + } + + date = this._daylightSavingAdjust( new Date( year, month - 1, day ) ); + if ( date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day ) { + throw "Invalid date"; // E.g. 31/02/00 + } + return date; + }, + + /* Standard date formats. */ + ATOM: "yy-mm-dd", // RFC 3339 (ISO 8601) + COOKIE: "D, dd M yy", + ISO_8601: "yy-mm-dd", + RFC_822: "D, d M y", + RFC_850: "DD, dd-M-y", + RFC_1036: "D, d M y", + RFC_1123: "D, d M yy", + RFC_2822: "D, d M yy", + RSS: "D, d M y", // RFC 822 + TICKS: "!", + TIMESTAMP: "@", + W3C: "yy-mm-dd", // ISO 8601 + + _ticksTo1970: ( ( ( 1970 - 1 ) * 365 + Math.floor( 1970 / 4 ) - Math.floor( 1970 / 100 ) + + Math.floor( 1970 / 400 ) ) * 24 * 60 * 60 * 10000000 ), + + /* Format a date object into a string value. + * The format can be combinations of the following: + * d - day of month (no leading zero) + * dd - day of month (two digit) + * o - day of year (no leading zeros) + * oo - day of year (three digit) + * D - day name short + * DD - day name long + * m - month of year (no leading zero) + * mm - month of year (two digit) + * M - month name short + * MM - month name long + * y - year (two digit) + * yy - year (four digit) + * @ - Unix timestamp (ms since 01/01/1970) + * ! - Windows ticks (100ns since 01/01/0001) + * "..." - literal text + * '' - single quote + * + * @param format string - the desired format of the date + * @param date Date - the date value to format + * @param settings Object - attributes include: + * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + * dayNames string[7] - names of the days from Sunday (optional) + * monthNamesShort string[12] - abbreviated names of the months (optional) + * monthNames string[12] - names of the months (optional) + * @return string - the date in the above format + */ + formatDate: function( format, date, settings ) { + if ( !date ) { + return ""; + } + + var iFormat, + dayNamesShort = ( settings ? settings.dayNamesShort : null ) || this._defaults.dayNamesShort, + dayNames = ( settings ? settings.dayNames : null ) || this._defaults.dayNames, + monthNamesShort = ( settings ? settings.monthNamesShort : null ) || this._defaults.monthNamesShort, + monthNames = ( settings ? settings.monthNames : null ) || this._defaults.monthNames, + + // Check whether a format character is doubled + lookAhead = function( match ) { + var matches = ( iFormat + 1 < format.length && format.charAt( iFormat + 1 ) === match ); + if ( matches ) { + iFormat++; + } + return matches; + }, + + // Format a number, with leading zero if necessary + formatNumber = function( match, value, len ) { + var num = "" + value; + if ( lookAhead( match ) ) { + while ( num.length < len ) { + num = "0" + num; + } + } + return num; + }, + + // Format a name, short or long as requested + formatName = function( match, value, shortNames, longNames ) { + return ( lookAhead( match ) ? longNames[ value ] : shortNames[ value ] ); + }, + output = "", + literal = false; + + if ( date ) { + for ( iFormat = 0; iFormat < format.length; iFormat++ ) { + if ( literal ) { + if ( format.charAt( iFormat ) === "'" && !lookAhead( "'" ) ) { + literal = false; + } else { + output += format.charAt( iFormat ); + } + } else { + switch ( format.charAt( iFormat ) ) { + case "d": + output += formatNumber( "d", date.getDate(), 2 ); + break; + case "D": + output += formatName( "D", date.getDay(), dayNamesShort, dayNames ); + break; + case "o": + output += formatNumber( "o", + Math.round( ( new Date( date.getFullYear(), date.getMonth(), date.getDate() ).getTime() - new Date( date.getFullYear(), 0, 0 ).getTime() ) / 86400000 ), 3 ); + break; + case "m": + output += formatNumber( "m", date.getMonth() + 1, 2 ); + break; + case "M": + output += formatName( "M", date.getMonth(), monthNamesShort, monthNames ); + break; + case "y": + output += ( lookAhead( "y" ) ? date.getFullYear() : + ( date.getFullYear() % 100 < 10 ? "0" : "" ) + date.getFullYear() % 100 ); + break; + case "@": + output += date.getTime(); + break; + case "!": + output += date.getTime() * 10000 + this._ticksTo1970; + break; + case "'": + if ( lookAhead( "'" ) ) { + output += "'"; + } else { + literal = true; + } + break; + default: + output += format.charAt( iFormat ); + } + } + } + } + return output; + }, + + /* Extract all possible characters from the date format. */ + _possibleChars: function( format ) { + var iFormat, + chars = "", + literal = false, + + // Check whether a format character is doubled + lookAhead = function( match ) { + var matches = ( iFormat + 1 < format.length && format.charAt( iFormat + 1 ) === match ); + if ( matches ) { + iFormat++; + } + return matches; + }; + + for ( iFormat = 0; iFormat < format.length; iFormat++ ) { + if ( literal ) { + if ( format.charAt( iFormat ) === "'" && !lookAhead( "'" ) ) { + literal = false; + } else { + chars += format.charAt( iFormat ); + } + } else { + switch ( format.charAt( iFormat ) ) { + case "d": case "m": case "y": case "@": + chars += "0123456789"; + break; + case "D": case "M": + return null; // Accept anything + case "'": + if ( lookAhead( "'" ) ) { + chars += "'"; + } else { + literal = true; + } + break; + default: + chars += format.charAt( iFormat ); + } + } + } + return chars; + }, + + /* Get a setting value, defaulting if necessary. */ + _get: function( inst, name ) { + return inst.settings[ name ] !== undefined ? + inst.settings[ name ] : this._defaults[ name ]; + }, + + /* Parse existing date and initialise date picker. */ + _setDateFromField: function( inst, noDefault ) { + if ( inst.input.val() === inst.lastVal ) { + return; + } + + var dateFormat = this._get( inst, "dateFormat" ), + dates = inst.lastVal = inst.input ? inst.input.val() : null, + defaultDate = this._getDefaultDate( inst ), + date = defaultDate, + settings = this._getFormatConfig( inst ); + + try { + date = this.parseDate( dateFormat, dates, settings ) || defaultDate; + } catch ( event ) { + dates = ( noDefault ? "" : dates ); + } + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + inst.currentDay = ( dates ? date.getDate() : 0 ); + inst.currentMonth = ( dates ? date.getMonth() : 0 ); + inst.currentYear = ( dates ? date.getFullYear() : 0 ); + this._adjustInstDate( inst ); + }, + + /* Retrieve the default date shown on opening. */ + _getDefaultDate: function( inst ) { + return this._restrictMinMax( inst, + this._determineDate( inst, this._get( inst, "defaultDate" ), new Date() ) ); + }, + + /* A date may be specified as an exact value or a relative one. */ + _determineDate: function( inst, date, defaultDate ) { + var offsetNumeric = function( offset ) { + var date = new Date(); + date.setDate( date.getDate() + offset ); + return date; + }, + offsetString = function( offset ) { + try { + return $.datepicker.parseDate( $.datepicker._get( inst, "dateFormat" ), + offset, $.datepicker._getFormatConfig( inst ) ); + } + catch ( e ) { + + // Ignore + } + + var date = ( offset.toLowerCase().match( /^c/ ) ? + $.datepicker._getDate( inst ) : null ) || new Date(), + year = date.getFullYear(), + month = date.getMonth(), + day = date.getDate(), + pattern = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, + matches = pattern.exec( offset ); + + while ( matches ) { + switch ( matches[ 2 ] || "d" ) { + case "d" : case "D" : + day += parseInt( matches[ 1 ], 10 ); break; + case "w" : case "W" : + day += parseInt( matches[ 1 ], 10 ) * 7; break; + case "m" : case "M" : + month += parseInt( matches[ 1 ], 10 ); + day = Math.min( day, $.datepicker._getDaysInMonth( year, month ) ); + break; + case "y": case "Y" : + year += parseInt( matches[ 1 ], 10 ); + day = Math.min( day, $.datepicker._getDaysInMonth( year, month ) ); + break; + } + matches = pattern.exec( offset ); + } + return new Date( year, month, day ); + }, + newDate = ( date == null || date === "" ? defaultDate : ( typeof date === "string" ? offsetString( date ) : + ( typeof date === "number" ? ( isNaN( date ) ? defaultDate : offsetNumeric( date ) ) : new Date( date.getTime() ) ) ) ); + + newDate = ( newDate && newDate.toString() === "Invalid Date" ? defaultDate : newDate ); + if ( newDate ) { + newDate.setHours( 0 ); + newDate.setMinutes( 0 ); + newDate.setSeconds( 0 ); + newDate.setMilliseconds( 0 ); + } + return this._daylightSavingAdjust( newDate ); + }, + + /* Handle switch to/from daylight saving. + * Hours may be non-zero on daylight saving cut-over: + * > 12 when midnight changeover, but then cannot generate + * midnight datetime, so jump to 1AM, otherwise reset. + * @param date (Date) the date to check + * @return (Date) the corrected date + */ + _daylightSavingAdjust: function( date ) { + if ( !date ) { + return null; + } + date.setHours( date.getHours() > 12 ? date.getHours() + 2 : 0 ); + return date; + }, + + /* Set the date(s) directly. */ + _setDate: function( inst, date, noChange ) { + var clear = !date, + origMonth = inst.selectedMonth, + origYear = inst.selectedYear, + newDate = this._restrictMinMax( inst, this._determineDate( inst, date, new Date() ) ); + + inst.selectedDay = inst.currentDay = newDate.getDate(); + inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth(); + inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear(); + if ( ( origMonth !== inst.selectedMonth || origYear !== inst.selectedYear ) && !noChange ) { + this._notifyChange( inst ); + } + this._adjustInstDate( inst ); + if ( inst.input ) { + inst.input.val( clear ? "" : this._formatDate( inst ) ); + } + }, + + /* Retrieve the date(s) directly. */ + _getDate: function( inst ) { + var startDate = ( !inst.currentYear || ( inst.input && inst.input.val() === "" ) ? null : + this._daylightSavingAdjust( new Date( + inst.currentYear, inst.currentMonth, inst.currentDay ) ) ); + return startDate; + }, + + /* Attach the onxxx handlers. These are declared statically so + * they work with static code transformers like Caja. + */ + _attachHandlers: function( inst ) { + var stepMonths = this._get( inst, "stepMonths" ), + id = "#" + inst.id.replace( /\\\\/g, "\\" ); + inst.dpDiv.find( "[data-handler]" ).map( function() { + var handler = { + prev: function() { + $.datepicker._adjustDate( id, -stepMonths, "M" ); + }, + next: function() { + $.datepicker._adjustDate( id, +stepMonths, "M" ); + }, + hide: function() { + $.datepicker._hideDatepicker(); + }, + today: function() { + $.datepicker._gotoToday( id ); + }, + selectDay: function() { + $.datepicker._selectDay( id, +this.getAttribute( "data-month" ), +this.getAttribute( "data-year" ), this ); + return false; + }, + selectMonth: function() { + $.datepicker._selectMonthYear( id, this, "M" ); + return false; + }, + selectYear: function() { + $.datepicker._selectMonthYear( id, this, "Y" ); + return false; + } + }; + $( this ).on( this.getAttribute( "data-event" ), handler[ this.getAttribute( "data-handler" ) ] ); + } ); + }, + + /* Generate the HTML for the current state of the date picker. */ + _generateHTML: function( inst ) { + var maxDraw, prevText, prev, nextText, next, currentText, gotoDate, + controls, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin, + monthNames, monthNamesShort, beforeShowDay, showOtherMonths, + selectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate, + cornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows, + printDate, dRow, tbody, daySettings, otherMonth, unselectable, + tempDate = new Date(), + today = this._daylightSavingAdjust( + new Date( tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate() ) ), // clear time + isRTL = this._get( inst, "isRTL" ), + showButtonPanel = this._get( inst, "showButtonPanel" ), + hideIfNoPrevNext = this._get( inst, "hideIfNoPrevNext" ), + navigationAsDateFormat = this._get( inst, "navigationAsDateFormat" ), + numMonths = this._getNumberOfMonths( inst ), + showCurrentAtPos = this._get( inst, "showCurrentAtPos" ), + stepMonths = this._get( inst, "stepMonths" ), + isMultiMonth = ( numMonths[ 0 ] !== 1 || numMonths[ 1 ] !== 1 ), + currentDate = this._daylightSavingAdjust( ( !inst.currentDay ? new Date( 9999, 9, 9 ) : + new Date( inst.currentYear, inst.currentMonth, inst.currentDay ) ) ), + minDate = this._getMinMaxDate( inst, "min" ), + maxDate = this._getMinMaxDate( inst, "max" ), + drawMonth = inst.drawMonth - showCurrentAtPos, + drawYear = inst.drawYear; + + if ( drawMonth < 0 ) { + drawMonth += 12; + drawYear--; + } + if ( maxDate ) { + maxDraw = this._daylightSavingAdjust( new Date( maxDate.getFullYear(), + maxDate.getMonth() - ( numMonths[ 0 ] * numMonths[ 1 ] ) + 1, maxDate.getDate() ) ); + maxDraw = ( minDate && maxDraw < minDate ? minDate : maxDraw ); + while ( this._daylightSavingAdjust( new Date( drawYear, drawMonth, 1 ) ) > maxDraw ) { + drawMonth--; + if ( drawMonth < 0 ) { + drawMonth = 11; + drawYear--; + } + } + } + inst.drawMonth = drawMonth; + inst.drawYear = drawYear; + + prevText = this._get( inst, "prevText" ); + prevText = ( !navigationAsDateFormat ? prevText : this.formatDate( prevText, + this._daylightSavingAdjust( new Date( drawYear, drawMonth - stepMonths, 1 ) ), + this._getFormatConfig( inst ) ) ); + + prev = ( this._canAdjustMonth( inst, -1, drawYear, drawMonth ) ? + "<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'" + + " title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w" ) + "'>" + prevText + "</span></a>" : + ( hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w" ) + "'>" + prevText + "</span></a>" ) ); + + nextText = this._get( inst, "nextText" ); + nextText = ( !navigationAsDateFormat ? nextText : this.formatDate( nextText, + this._daylightSavingAdjust( new Date( drawYear, drawMonth + stepMonths, 1 ) ), + this._getFormatConfig( inst ) ) ); + + next = ( this._canAdjustMonth( inst, +1, drawYear, drawMonth ) ? + "<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'" + + " title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e" ) + "'>" + nextText + "</span></a>" : + ( hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e" ) + "'>" + nextText + "</span></a>" ) ); + + currentText = this._get( inst, "currentText" ); + gotoDate = ( this._get( inst, "gotoCurrent" ) && inst.currentDay ? currentDate : today ); + currentText = ( !navigationAsDateFormat ? currentText : + this.formatDate( currentText, gotoDate, this._getFormatConfig( inst ) ) ); + + controls = ( !inst.inline ? "<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>" + + this._get( inst, "closeText" ) + "</button>" : "" ); + + buttonPanel = ( showButtonPanel ) ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + ( isRTL ? controls : "" ) + + ( this._isInRange( inst, gotoDate ) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'" + + ">" + currentText + "</button>" : "" ) + ( isRTL ? "" : controls ) + "</div>" : ""; + + firstDay = parseInt( this._get( inst, "firstDay" ), 10 ); + firstDay = ( isNaN( firstDay ) ? 0 : firstDay ); + + showWeek = this._get( inst, "showWeek" ); + dayNames = this._get( inst, "dayNames" ); + dayNamesMin = this._get( inst, "dayNamesMin" ); + monthNames = this._get( inst, "monthNames" ); + monthNamesShort = this._get( inst, "monthNamesShort" ); + beforeShowDay = this._get( inst, "beforeShowDay" ); + showOtherMonths = this._get( inst, "showOtherMonths" ); + selectOtherMonths = this._get( inst, "selectOtherMonths" ); + defaultDate = this._getDefaultDate( inst ); + html = ""; + + for ( row = 0; row < numMonths[ 0 ]; row++ ) { + group = ""; + this.maxRows = 4; + for ( col = 0; col < numMonths[ 1 ]; col++ ) { + selectedDate = this._daylightSavingAdjust( new Date( drawYear, drawMonth, inst.selectedDay ) ); + cornerClass = " ui-corner-all"; + calender = ""; + if ( isMultiMonth ) { + calender += "<div class='ui-datepicker-group"; + if ( numMonths[ 1 ] > 1 ) { + switch ( col ) { + case 0: calender += " ui-datepicker-group-first"; + cornerClass = " ui-corner-" + ( isRTL ? "right" : "left" ); break; + case numMonths[ 1 ] - 1: calender += " ui-datepicker-group-last"; + cornerClass = " ui-corner-" + ( isRTL ? "left" : "right" ); break; + default: calender += " ui-datepicker-group-middle"; cornerClass = ""; break; + } + } + calender += "'>"; + } + calender += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + cornerClass + "'>" + + ( /all|left/.test( cornerClass ) && row === 0 ? ( isRTL ? next : prev ) : "" ) + + ( /all|right/.test( cornerClass ) && row === 0 ? ( isRTL ? prev : next ) : "" ) + + this._generateMonthYearHeader( inst, drawMonth, drawYear, minDate, maxDate, + row > 0 || col > 0, monthNames, monthNamesShort ) + // draw month headers + "</div><table class='ui-datepicker-calendar'><thead>" + + "<tr>"; + thead = ( showWeek ? "<th class='ui-datepicker-week-col'>" + this._get( inst, "weekHeader" ) + "</th>" : "" ); + for ( dow = 0; dow < 7; dow++ ) { // days of the week + day = ( dow + firstDay ) % 7; + thead += "<th scope='col'" + ( ( dow + firstDay + 6 ) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "" ) + ">" + + "<span title='" + dayNames[ day ] + "'>" + dayNamesMin[ day ] + "</span></th>"; + } + calender += thead + "</tr></thead><tbody>"; + daysInMonth = this._getDaysInMonth( drawYear, drawMonth ); + if ( drawYear === inst.selectedYear && drawMonth === inst.selectedMonth ) { + inst.selectedDay = Math.min( inst.selectedDay, daysInMonth ); + } + leadDays = ( this._getFirstDayOfMonth( drawYear, drawMonth ) - firstDay + 7 ) % 7; + curRows = Math.ceil( ( leadDays + daysInMonth ) / 7 ); // calculate the number of rows to generate + numRows = ( isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows ); //If multiple months, use the higher number of rows (see #7043) + this.maxRows = numRows; + printDate = this._daylightSavingAdjust( new Date( drawYear, drawMonth, 1 - leadDays ) ); + for ( dRow = 0; dRow < numRows; dRow++ ) { // create date picker rows + calender += "<tr>"; + tbody = ( !showWeek ? "" : "<td class='ui-datepicker-week-col'>" + + this._get( inst, "calculateWeek" )( printDate ) + "</td>" ); + for ( dow = 0; dow < 7; dow++ ) { // create date picker days + daySettings = ( beforeShowDay ? + beforeShowDay.apply( ( inst.input ? inst.input[ 0 ] : null ), [ printDate ] ) : [ true, "" ] ); + otherMonth = ( printDate.getMonth() !== drawMonth ); + unselectable = ( otherMonth && !selectOtherMonths ) || !daySettings[ 0 ] || + ( minDate && printDate < minDate ) || ( maxDate && printDate > maxDate ); + tbody += "<td class='" + + ( ( dow + firstDay + 6 ) % 7 >= 5 ? " ui-datepicker-week-end" : "" ) + // highlight weekends + ( otherMonth ? " ui-datepicker-other-month" : "" ) + // highlight days from other months + ( ( printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent ) || // user pressed key + ( defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime() ) ? + + // or defaultDate is current printedDate and defaultDate is selectedDate + " " + this._dayOverClass : "" ) + // highlight selected day + ( unselectable ? " " + this._unselectableClass + " ui-state-disabled" : "" ) + // highlight unselectable days + ( otherMonth && !showOtherMonths ? "" : " " + daySettings[ 1 ] + // highlight custom dates + ( printDate.getTime() === currentDate.getTime() ? " " + this._currentClass : "" ) + // highlight selected day + ( printDate.getTime() === today.getTime() ? " ui-datepicker-today" : "" ) ) + "'" + // highlight today (if different) + ( ( !otherMonth || showOtherMonths ) && daySettings[ 2 ] ? " title='" + daySettings[ 2 ].replace( /'/g, "&#39;" ) + "'" : "" ) + // cell title + ( unselectable ? "" : " data-handler='selectDay' data-event='click' data-month='" + printDate.getMonth() + "' data-year='" + printDate.getFullYear() + "'" ) + ">" + // actions + ( otherMonth && !showOtherMonths ? "&#xa0;" : // display for other months + ( unselectable ? "<span class='ui-state-default'>" + printDate.getDate() + "</span>" : "<a class='ui-state-default" + + ( printDate.getTime() === today.getTime() ? " ui-state-highlight" : "" ) + + ( printDate.getTime() === currentDate.getTime() ? " ui-state-active" : "" ) + // highlight selected day + ( otherMonth ? " ui-priority-secondary" : "" ) + // distinguish dates from other months + "' href='#'>" + printDate.getDate() + "</a>" ) ) + "</td>"; // display selectable date + printDate.setDate( printDate.getDate() + 1 ); + printDate = this._daylightSavingAdjust( printDate ); + } + calender += tbody + "</tr>"; + } + drawMonth++; + if ( drawMonth > 11 ) { + drawMonth = 0; + drawYear++; + } + calender += "</tbody></table>" + ( isMultiMonth ? "</div>" + + ( ( numMonths[ 0 ] > 0 && col === numMonths[ 1 ] - 1 ) ? "<div class='ui-datepicker-row-break'></div>" : "" ) : "" ); + group += calender; + } + html += group; + } + html += buttonPanel; + inst._keyEvent = false; + return html; + }, + + /* Generate the month and year header. */ + _generateMonthYearHeader: function( inst, drawMonth, drawYear, minDate, maxDate, + secondary, monthNames, monthNamesShort ) { + + var inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear, + changeMonth = this._get( inst, "changeMonth" ), + changeYear = this._get( inst, "changeYear" ), + showMonthAfterYear = this._get( inst, "showMonthAfterYear" ), + html = "<div class='ui-datepicker-title'>", + monthHtml = ""; + + // Month selection + if ( secondary || !changeMonth ) { + monthHtml += "<span class='ui-datepicker-month'>" + monthNames[ drawMonth ] + "</span>"; + } else { + inMinYear = ( minDate && minDate.getFullYear() === drawYear ); + inMaxYear = ( maxDate && maxDate.getFullYear() === drawYear ); + monthHtml += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>"; + for ( month = 0; month < 12; month++ ) { + if ( ( !inMinYear || month >= minDate.getMonth() ) && ( !inMaxYear || month <= maxDate.getMonth() ) ) { + monthHtml += "<option value='" + month + "'" + + ( month === drawMonth ? " selected='selected'" : "" ) + + ">" + monthNamesShort[ month ] + "</option>"; + } + } + monthHtml += "</select>"; + } + + if ( !showMonthAfterYear ) { + html += monthHtml + ( secondary || !( changeMonth && changeYear ) ? "&#xa0;" : "" ); + } + + // Year selection + if ( !inst.yearshtml ) { + inst.yearshtml = ""; + if ( secondary || !changeYear ) { + html += "<span class='ui-datepicker-year'>" + drawYear + "</span>"; + } else { + + // determine range of years to display + years = this._get( inst, "yearRange" ).split( ":" ); + thisYear = new Date().getFullYear(); + determineYear = function( value ) { + var year = ( value.match( /c[+\-].*/ ) ? drawYear + parseInt( value.substring( 1 ), 10 ) : + ( value.match( /[+\-].*/ ) ? thisYear + parseInt( value, 10 ) : + parseInt( value, 10 ) ) ); + return ( isNaN( year ) ? thisYear : year ); + }; + year = determineYear( years[ 0 ] ); + endYear = Math.max( year, determineYear( years[ 1 ] || "" ) ); + year = ( minDate ? Math.max( year, minDate.getFullYear() ) : year ); + endYear = ( maxDate ? Math.min( endYear, maxDate.getFullYear() ) : endYear ); + inst.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>"; + for ( ; year <= endYear; year++ ) { + inst.yearshtml += "<option value='" + year + "'" + + ( year === drawYear ? " selected='selected'" : "" ) + + ">" + year + "</option>"; + } + inst.yearshtml += "</select>"; + + html += inst.yearshtml; + inst.yearshtml = null; + } + } + + html += this._get( inst, "yearSuffix" ); + if ( showMonthAfterYear ) { + html += ( secondary || !( changeMonth && changeYear ) ? "&#xa0;" : "" ) + monthHtml; + } + html += "</div>"; // Close datepicker_header + return html; + }, + + /* Adjust one of the date sub-fields. */ + _adjustInstDate: function( inst, offset, period ) { + var year = inst.selectedYear + ( period === "Y" ? offset : 0 ), + month = inst.selectedMonth + ( period === "M" ? offset : 0 ), + day = Math.min( inst.selectedDay, this._getDaysInMonth( year, month ) ) + ( period === "D" ? offset : 0 ), + date = this._restrictMinMax( inst, this._daylightSavingAdjust( new Date( year, month, day ) ) ); + + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + if ( period === "M" || period === "Y" ) { + this._notifyChange( inst ); + } + }, + + /* Ensure a date is within any min/max bounds. */ + _restrictMinMax: function( inst, date ) { + var minDate = this._getMinMaxDate( inst, "min" ), + maxDate = this._getMinMaxDate( inst, "max" ), + newDate = ( minDate && date < minDate ? minDate : date ); + return ( maxDate && newDate > maxDate ? maxDate : newDate ); + }, + + /* Notify change of month/year. */ + _notifyChange: function( inst ) { + var onChange = this._get( inst, "onChangeMonthYear" ); + if ( onChange ) { + onChange.apply( ( inst.input ? inst.input[ 0 ] : null ), + [ inst.selectedYear, inst.selectedMonth + 1, inst ] ); + } + }, + + /* Determine the number of months to show. */ + _getNumberOfMonths: function( inst ) { + var numMonths = this._get( inst, "numberOfMonths" ); + return ( numMonths == null ? [ 1, 1 ] : ( typeof numMonths === "number" ? [ 1, numMonths ] : numMonths ) ); + }, + + /* Determine the current maximum date - ensure no time components are set. */ + _getMinMaxDate: function( inst, minMax ) { + return this._determineDate( inst, this._get( inst, minMax + "Date" ), null ); + }, + + /* Find the number of days in a given month. */ + _getDaysInMonth: function( year, month ) { + return 32 - this._daylightSavingAdjust( new Date( year, month, 32 ) ).getDate(); + }, + + /* Find the day of the week of the first of a month. */ + _getFirstDayOfMonth: function( year, month ) { + return new Date( year, month, 1 ).getDay(); + }, + + /* Determines if we should allow a "next/prev" month display change. */ + _canAdjustMonth: function( inst, offset, curYear, curMonth ) { + var numMonths = this._getNumberOfMonths( inst ), + date = this._daylightSavingAdjust( new Date( curYear, + curMonth + ( offset < 0 ? offset : numMonths[ 0 ] * numMonths[ 1 ] ), 1 ) ); + + if ( offset < 0 ) { + date.setDate( this._getDaysInMonth( date.getFullYear(), date.getMonth() ) ); + } + return this._isInRange( inst, date ); + }, + + /* Is the given date in the accepted range? */ + _isInRange: function( inst, date ) { + var yearSplit, currentYear, + minDate = this._getMinMaxDate( inst, "min" ), + maxDate = this._getMinMaxDate( inst, "max" ), + minYear = null, + maxYear = null, + years = this._get( inst, "yearRange" ); + if ( years ) { + yearSplit = years.split( ":" ); + currentYear = new Date().getFullYear(); + minYear = parseInt( yearSplit[ 0 ], 10 ); + maxYear = parseInt( yearSplit[ 1 ], 10 ); + if ( yearSplit[ 0 ].match( /[+\-].*/ ) ) { + minYear += currentYear; + } + if ( yearSplit[ 1 ].match( /[+\-].*/ ) ) { + maxYear += currentYear; + } + } + + return ( ( !minDate || date.getTime() >= minDate.getTime() ) && + ( !maxDate || date.getTime() <= maxDate.getTime() ) && + ( !minYear || date.getFullYear() >= minYear ) && + ( !maxYear || date.getFullYear() <= maxYear ) ); + }, + + /* Provide the configuration settings for formatting/parsing. */ + _getFormatConfig: function( inst ) { + var shortYearCutoff = this._get( inst, "shortYearCutoff" ); + shortYearCutoff = ( typeof shortYearCutoff !== "string" ? shortYearCutoff : + new Date().getFullYear() % 100 + parseInt( shortYearCutoff, 10 ) ); + return { shortYearCutoff: shortYearCutoff, + dayNamesShort: this._get( inst, "dayNamesShort" ), dayNames: this._get( inst, "dayNames" ), + monthNamesShort: this._get( inst, "monthNamesShort" ), monthNames: this._get( inst, "monthNames" ) }; + }, + + /* Format the given date for display. */ + _formatDate: function( inst, day, month, year ) { + if ( !day ) { + inst.currentDay = inst.selectedDay; + inst.currentMonth = inst.selectedMonth; + inst.currentYear = inst.selectedYear; + } + var date = ( day ? ( typeof day === "object" ? day : + this._daylightSavingAdjust( new Date( year, month, day ) ) ) : + this._daylightSavingAdjust( new Date( inst.currentYear, inst.currentMonth, inst.currentDay ) ) ); + return this.formatDate( this._get( inst, "dateFormat" ), date, this._getFormatConfig( inst ) ); + } +} ); + +/* + * Bind hover events for datepicker elements. + * Done via delegate so the binding only occurs once in the lifetime of the parent div. + * Global datepicker_instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker. + */ +function datepicker_bindHover( dpDiv ) { + var selector = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a"; + return dpDiv.on( "mouseout", selector, function() { + $( this ).removeClass( "ui-state-hover" ); + if ( this.className.indexOf( "ui-datepicker-prev" ) !== -1 ) { + $( this ).removeClass( "ui-datepicker-prev-hover" ); + } + if ( this.className.indexOf( "ui-datepicker-next" ) !== -1 ) { + $( this ).removeClass( "ui-datepicker-next-hover" ); + } + } ) + .on( "mouseover", selector, datepicker_handleMouseover ); +} + +function datepicker_handleMouseover() { + if ( !$.datepicker._isDisabledDatepicker( datepicker_instActive.inline ? datepicker_instActive.dpDiv.parent()[ 0 ] : datepicker_instActive.input[ 0 ] ) ) { + $( this ).parents( ".ui-datepicker-calendar" ).find( "a" ).removeClass( "ui-state-hover" ); + $( this ).addClass( "ui-state-hover" ); + if ( this.className.indexOf( "ui-datepicker-prev" ) !== -1 ) { + $( this ).addClass( "ui-datepicker-prev-hover" ); + } + if ( this.className.indexOf( "ui-datepicker-next" ) !== -1 ) { + $( this ).addClass( "ui-datepicker-next-hover" ); + } + } +} + +/* jQuery extend now ignores nulls! */ +function datepicker_extendRemove( target, props ) { + $.extend( target, props ); + for ( var name in props ) { + if ( props[ name ] == null ) { + target[ name ] = props[ name ]; + } + } + return target; +} + +/* Invoke the datepicker functionality. + @param options string - a command, optionally followed by additional parameters or + Object - settings for attaching new datepicker functionality + @return jQuery object */ +$.fn.datepicker = function( options ) { + + /* Verify an empty collection wasn't passed - Fixes #6976 */ + if ( !this.length ) { + return this; + } + + /* Initialise the date picker. */ + if ( !$.datepicker.initialized ) { + $( document ).on( "mousedown", $.datepicker._checkExternalClick ); + $.datepicker.initialized = true; + } + + /* Append datepicker main container to body if not exist. */ + if ( $( "#" + $.datepicker._mainDivId ).length === 0 ) { + $( "body" ).append( $.datepicker.dpDiv ); + } + + var otherArgs = Array.prototype.slice.call( arguments, 1 ); + if ( typeof options === "string" && ( options === "isDisabled" || options === "getDate" || options === "widget" ) ) { + return $.datepicker[ "_" + options + "Datepicker" ]. + apply( $.datepicker, [ this[ 0 ] ].concat( otherArgs ) ); + } + if ( options === "option" && arguments.length === 2 && typeof arguments[ 1 ] === "string" ) { + return $.datepicker[ "_" + options + "Datepicker" ]. + apply( $.datepicker, [ this[ 0 ] ].concat( otherArgs ) ); + } + return this.each( function() { + typeof options === "string" ? + $.datepicker[ "_" + options + "Datepicker" ]. + apply( $.datepicker, [ this ].concat( otherArgs ) ) : + $.datepicker._attachDatepicker( this, options ); + } ); +}; + +$.datepicker = new Datepicker(); // singleton instance +$.datepicker.initialized = false; +$.datepicker.uuid = new Date().getTime(); +$.datepicker.version = "1.12.1"; + +var widgetsDatepicker = $.datepicker; + + + + +// This file is deprecated +var ie = $.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); + +/*! + * jQuery UI Mouse 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Mouse +//>>group: Widgets +//>>description: Abstracts mouse-based interactions to assist in creating certain widgets. +//>>docs: http://api.jqueryui.com/mouse/ + + + +var mouseHandled = false; +$( document ).on( "mouseup", function() { + mouseHandled = false; +} ); + +var widgetsMouse = $.widget( "ui.mouse", { + version: "1.12.1", + options: { + cancel: "input, textarea, button, select, option", + distance: 1, + delay: 0 + }, + _mouseInit: function() { + var that = this; + + this.element + .on( "mousedown." + this.widgetName, function( event ) { + return that._mouseDown( event ); + } ) + .on( "click." + this.widgetName, function( event ) { + if ( true === $.data( event.target, that.widgetName + ".preventClickEvent" ) ) { + $.removeData( event.target, that.widgetName + ".preventClickEvent" ); + event.stopImmediatePropagation(); + return false; + } + } ); + + this.started = false; + }, + + // TODO: make sure destroying one instance of mouse doesn't mess with + // other instances of mouse + _mouseDestroy: function() { + this.element.off( "." + this.widgetName ); + if ( this._mouseMoveDelegate ) { + this.document + .off( "mousemove." + this.widgetName, this._mouseMoveDelegate ) + .off( "mouseup." + this.widgetName, this._mouseUpDelegate ); + } + }, + + _mouseDown: function( event ) { + + // don't let more than one widget handle mouseStart + if ( mouseHandled ) { + return; + } + + this._mouseMoved = false; + + // We may have missed mouseup (out of window) + ( this._mouseStarted && this._mouseUp( event ) ); + + this._mouseDownEvent = event; + + var that = this, + btnIsLeft = ( event.which === 1 ), + + // event.target.nodeName works around a bug in IE 8 with + // disabled inputs (#7620) + elIsCancel = ( typeof this.options.cancel === "string" && event.target.nodeName ? + $( event.target ).closest( this.options.cancel ).length : false ); + if ( !btnIsLeft || elIsCancel || !this._mouseCapture( event ) ) { + return true; + } + + this.mouseDelayMet = !this.options.delay; + if ( !this.mouseDelayMet ) { + this._mouseDelayTimer = setTimeout( function() { + that.mouseDelayMet = true; + }, this.options.delay ); + } + + if ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) { + this._mouseStarted = ( this._mouseStart( event ) !== false ); + if ( !this._mouseStarted ) { + event.preventDefault(); + return true; + } + } + + // Click event may never have fired (Gecko & Opera) + if ( true === $.data( event.target, this.widgetName + ".preventClickEvent" ) ) { + $.removeData( event.target, this.widgetName + ".preventClickEvent" ); + } + + // These delegates are required to keep context + this._mouseMoveDelegate = function( event ) { + return that._mouseMove( event ); + }; + this._mouseUpDelegate = function( event ) { + return that._mouseUp( event ); + }; + + this.document + .on( "mousemove." + this.widgetName, this._mouseMoveDelegate ) + .on( "mouseup." + this.widgetName, this._mouseUpDelegate ); + + event.preventDefault(); + + mouseHandled = true; + return true; + }, + + _mouseMove: function( event ) { + + // Only check for mouseups outside the document if you've moved inside the document + // at least once. This prevents the firing of mouseup in the case of IE<9, which will + // fire a mousemove event if content is placed under the cursor. See #7778 + // Support: IE <9 + if ( this._mouseMoved ) { + + // IE mouseup check - mouseup happened when mouse was out of window + if ( $.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && + !event.button ) { + return this._mouseUp( event ); + + // Iframe mouseup check - mouseup occurred in another document + } else if ( !event.which ) { + + // Support: Safari <=8 - 9 + // Safari sets which to 0 if you press any of the following keys + // during a drag (#14461) + if ( event.originalEvent.altKey || event.originalEvent.ctrlKey || + event.originalEvent.metaKey || event.originalEvent.shiftKey ) { + this.ignoreMissingWhich = true; + } else if ( !this.ignoreMissingWhich ) { + return this._mouseUp( event ); + } + } + } + + if ( event.which || event.button ) { + this._mouseMoved = true; + } + + if ( this._mouseStarted ) { + this._mouseDrag( event ); + return event.preventDefault(); + } + + if ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) { + this._mouseStarted = + ( this._mouseStart( this._mouseDownEvent, event ) !== false ); + ( this._mouseStarted ? this._mouseDrag( event ) : this._mouseUp( event ) ); + } + + return !this._mouseStarted; + }, + + _mouseUp: function( event ) { + this.document + .off( "mousemove." + this.widgetName, this._mouseMoveDelegate ) + .off( "mouseup." + this.widgetName, this._mouseUpDelegate ); + + if ( this._mouseStarted ) { + this._mouseStarted = false; + + if ( event.target === this._mouseDownEvent.target ) { + $.data( event.target, this.widgetName + ".preventClickEvent", true ); + } + + this._mouseStop( event ); + } + + if ( this._mouseDelayTimer ) { + clearTimeout( this._mouseDelayTimer ); + delete this._mouseDelayTimer; + } + + this.ignoreMissingWhich = false; + mouseHandled = false; + event.preventDefault(); + }, + + _mouseDistanceMet: function( event ) { + return ( Math.max( + Math.abs( this._mouseDownEvent.pageX - event.pageX ), + Math.abs( this._mouseDownEvent.pageY - event.pageY ) + ) >= this.options.distance + ); + }, + + _mouseDelayMet: function( /* event */ ) { + return this.mouseDelayMet; + }, + + // These are placeholder methods, to be overriden by extending plugin + _mouseStart: function( /* event */ ) {}, + _mouseDrag: function( /* event */ ) {}, + _mouseStop: function( /* event */ ) {}, + _mouseCapture: function( /* event */ ) { return true; } +} ); + + + + +// $.ui.plugin is deprecated. Use $.widget() extensions instead. +var plugin = $.ui.plugin = { + add: function( module, option, set ) { + var i, + proto = $.ui[ module ].prototype; + for ( i in set ) { + proto.plugins[ i ] = proto.plugins[ i ] || []; + proto.plugins[ i ].push( [ option, set[ i ] ] ); + } + }, + call: function( instance, name, args, allowDisconnected ) { + var i, + set = instance.plugins[ name ]; + + if ( !set ) { + return; + } + + if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || + instance.element[ 0 ].parentNode.nodeType === 11 ) ) { + return; + } + + for ( i = 0; i < set.length; i++ ) { + if ( instance.options[ set[ i ][ 0 ] ] ) { + set[ i ][ 1 ].apply( instance.element, args ); + } + } + } +}; + + + +var safeBlur = $.ui.safeBlur = function( element ) { + + // Support: IE9 - 10 only + // If the <body> is blurred, IE will switch windows, see #9420 + if ( element && element.nodeName.toLowerCase() !== "body" ) { + $( element ).trigger( "blur" ); + } +}; + + +/*! + * jQuery UI Draggable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Draggable +//>>group: Interactions +//>>description: Enables dragging functionality for any element. +//>>docs: http://api.jqueryui.com/draggable/ +//>>demos: http://jqueryui.com/draggable/ +//>>css.structure: ../../themes/base/draggable.css + + + +$.widget( "ui.draggable", $.ui.mouse, { + version: "1.12.1", + widgetEventPrefix: "drag", + options: { + addClasses: true, + appendTo: "parent", + axis: false, + connectToSortable: false, + containment: false, + cursor: "auto", + cursorAt: false, + grid: false, + handle: false, + helper: "original", + iframeFix: false, + opacity: false, + refreshPositions: false, + revert: false, + revertDuration: 500, + scope: "default", + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + snap: false, + snapMode: "both", + snapTolerance: 20, + stack: false, + zIndex: false, + + // Callbacks + drag: null, + start: null, + stop: null + }, + _create: function() { + + if ( this.options.helper === "original" ) { + this._setPositionRelative(); + } + if ( this.options.addClasses ) { + this._addClass( "ui-draggable" ); + } + this._setHandleClassName(); + + this._mouseInit(); + }, + + _setOption: function( key, value ) { + this._super( key, value ); + if ( key === "handle" ) { + this._removeHandleClassName(); + this._setHandleClassName(); + } + }, + + _destroy: function() { + if ( ( this.helper || this.element ).is( ".ui-draggable-dragging" ) ) { + this.destroyOnClear = true; + return; + } + this._removeHandleClassName(); + this._mouseDestroy(); + }, + + _mouseCapture: function( event ) { + var o = this.options; + + // Among others, prevent a drag on a resizable-handle + if ( this.helper || o.disabled || + $( event.target ).closest( ".ui-resizable-handle" ).length > 0 ) { + return false; + } + + //Quit if we're not on a valid handle + this.handle = this._getHandle( event ); + if ( !this.handle ) { + return false; + } + + this._blurActiveElement( event ); + + this._blockFrames( o.iframeFix === true ? "iframe" : o.iframeFix ); + + return true; + + }, + + _blockFrames: function( selector ) { + this.iframeBlocks = this.document.find( selector ).map( function() { + var iframe = $( this ); + + return $( "<div>" ) + .css( "position", "absolute" ) + .appendTo( iframe.parent() ) + .outerWidth( iframe.outerWidth() ) + .outerHeight( iframe.outerHeight() ) + .offset( iframe.offset() )[ 0 ]; + } ); + }, + + _unblockFrames: function() { + if ( this.iframeBlocks ) { + this.iframeBlocks.remove(); + delete this.iframeBlocks; + } + }, + + _blurActiveElement: function( event ) { + var activeElement = $.ui.safeActiveElement( this.document[ 0 ] ), + target = $( event.target ); + + // Don't blur if the event occurred on an element that is within + // the currently focused element + // See #10527, #12472 + if ( target.closest( activeElement ).length ) { + return; + } + + // Blur any element that currently has focus, see #4261 + $.ui.safeBlur( activeElement ); + }, + + _mouseStart: function( event ) { + + var o = this.options; + + //Create and append the visible helper + this.helper = this._createHelper( event ); + + this._addClass( this.helper, "ui-draggable-dragging" ); + + //Cache the helper size + this._cacheHelperProportions(); + + //If ddmanager is used for droppables, set the global draggable + if ( $.ui.ddmanager ) { + $.ui.ddmanager.current = this; + } + + /* + * - Position generation - + * This block generates everything position related - it's the core of draggables. + */ + + //Cache the margins of the original element + this._cacheMargins(); + + //Store the helper's css position + this.cssPosition = this.helper.css( "position" ); + this.scrollParent = this.helper.scrollParent( true ); + this.offsetParent = this.helper.offsetParent(); + this.hasFixedAncestor = this.helper.parents().filter( function() { + return $( this ).css( "position" ) === "fixed"; + } ).length > 0; + + //The element's absolute position on the page minus margins + this.positionAbs = this.element.offset(); + this._refreshOffsets( event ); + + //Generate the original position + this.originalPosition = this.position = this._generatePosition( event, false ); + this.originalPageX = event.pageX; + this.originalPageY = event.pageY; + + //Adjust the mouse offset relative to the helper if "cursorAt" is supplied + ( o.cursorAt && this._adjustOffsetFromHelper( o.cursorAt ) ); + + //Set a containment if given in the options + this._setContainment(); + + //Trigger event + callbacks + if ( this._trigger( "start", event ) === false ) { + this._clear(); + return false; + } + + //Recache the helper size + this._cacheHelperProportions(); + + //Prepare the droppable offsets + if ( $.ui.ddmanager && !o.dropBehaviour ) { + $.ui.ddmanager.prepareOffsets( this, event ); + } + + // Execute the drag once - this causes the helper not to be visible before getting its + // correct position + this._mouseDrag( event, true ); + + // If the ddmanager is used for droppables, inform the manager that dragging has started + // (see #5003) + if ( $.ui.ddmanager ) { + $.ui.ddmanager.dragStart( this, event ); + } + + return true; + }, + + _refreshOffsets: function( event ) { + this.offset = { + top: this.positionAbs.top - this.margins.top, + left: this.positionAbs.left - this.margins.left, + scroll: false, + parent: this._getParentOffset(), + relative: this._getRelativeOffset() + }; + + this.offset.click = { + left: event.pageX - this.offset.left, + top: event.pageY - this.offset.top + }; + }, + + _mouseDrag: function( event, noPropagation ) { + + // reset any necessary cached properties (see #5009) + if ( this.hasFixedAncestor ) { + this.offset.parent = this._getParentOffset(); + } + + //Compute the helpers position + this.position = this._generatePosition( event, true ); + this.positionAbs = this._convertPositionTo( "absolute" ); + + //Call plugins and callbacks and use the resulting position if something is returned + if ( !noPropagation ) { + var ui = this._uiHash(); + if ( this._trigger( "drag", event, ui ) === false ) { + this._mouseUp( new $.Event( "mouseup", event ) ); + return false; + } + this.position = ui.position; + } + + this.helper[ 0 ].style.left = this.position.left + "px"; + this.helper[ 0 ].style.top = this.position.top + "px"; + + if ( $.ui.ddmanager ) { + $.ui.ddmanager.drag( this, event ); + } + + return false; + }, + + _mouseStop: function( event ) { + + //If we are using droppables, inform the manager about the drop + var that = this, + dropped = false; + if ( $.ui.ddmanager && !this.options.dropBehaviour ) { + dropped = $.ui.ddmanager.drop( this, event ); + } + + //if a drop comes from outside (a sortable) + if ( this.dropped ) { + dropped = this.dropped; + this.dropped = false; + } + + if ( ( this.options.revert === "invalid" && !dropped ) || + ( this.options.revert === "valid" && dropped ) || + this.options.revert === true || ( $.isFunction( this.options.revert ) && + this.options.revert.call( this.element, dropped ) ) + ) { + $( this.helper ).animate( + this.originalPosition, + parseInt( this.options.revertDuration, 10 ), + function() { + if ( that._trigger( "stop", event ) !== false ) { + that._clear(); + } + } + ); + } else { + if ( this._trigger( "stop", event ) !== false ) { + this._clear(); + } + } + + return false; + }, + + _mouseUp: function( event ) { + this._unblockFrames(); + + // If the ddmanager is used for droppables, inform the manager that dragging has stopped + // (see #5003) + if ( $.ui.ddmanager ) { + $.ui.ddmanager.dragStop( this, event ); + } + + // Only need to focus if the event occurred on the draggable itself, see #10527 + if ( this.handleElement.is( event.target ) ) { + + // The interaction is over; whether or not the click resulted in a drag, + // focus the element + this.element.trigger( "focus" ); + } + + return $.ui.mouse.prototype._mouseUp.call( this, event ); + }, + + cancel: function() { + + if ( this.helper.is( ".ui-draggable-dragging" ) ) { + this._mouseUp( new $.Event( "mouseup", { target: this.element[ 0 ] } ) ); + } else { + this._clear(); + } + + return this; + + }, + + _getHandle: function( event ) { + return this.options.handle ? + !!$( event.target ).closest( this.element.find( this.options.handle ) ).length : + true; + }, + + _setHandleClassName: function() { + this.handleElement = this.options.handle ? + this.element.find( this.options.handle ) : this.element; + this._addClass( this.handleElement, "ui-draggable-handle" ); + }, + + _removeHandleClassName: function() { + this._removeClass( this.handleElement, "ui-draggable-handle" ); + }, + + _createHelper: function( event ) { + + var o = this.options, + helperIsFunction = $.isFunction( o.helper ), + helper = helperIsFunction ? + $( o.helper.apply( this.element[ 0 ], [ event ] ) ) : + ( o.helper === "clone" ? + this.element.clone().removeAttr( "id" ) : + this.element ); + + if ( !helper.parents( "body" ).length ) { + helper.appendTo( ( o.appendTo === "parent" ? + this.element[ 0 ].parentNode : + o.appendTo ) ); + } + + // Http://bugs.jqueryui.com/ticket/9446 + // a helper function can return the original element + // which wouldn't have been set to relative in _create + if ( helperIsFunction && helper[ 0 ] === this.element[ 0 ] ) { + this._setPositionRelative(); + } + + if ( helper[ 0 ] !== this.element[ 0 ] && + !( /(fixed|absolute)/ ).test( helper.css( "position" ) ) ) { + helper.css( "position", "absolute" ); + } + + return helper; + + }, + + _setPositionRelative: function() { + if ( !( /^(?:r|a|f)/ ).test( this.element.css( "position" ) ) ) { + this.element[ 0 ].style.position = "relative"; + } + }, + + _adjustOffsetFromHelper: function( obj ) { + if ( typeof obj === "string" ) { + obj = obj.split( " " ); + } + if ( $.isArray( obj ) ) { + obj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 }; + } + if ( "left" in obj ) { + this.offset.click.left = obj.left + this.margins.left; + } + if ( "right" in obj ) { + this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; + } + if ( "top" in obj ) { + this.offset.click.top = obj.top + this.margins.top; + } + if ( "bottom" in obj ) { + this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; + } + }, + + _isRootNode: function( element ) { + return ( /(html|body)/i ).test( element.tagName ) || element === this.document[ 0 ]; + }, + + _getParentOffset: function() { + + //Get the offsetParent and cache its position + var po = this.offsetParent.offset(), + document = this.document[ 0 ]; + + // This is a special case where we need to modify a offset calculated on start, since the + // following happened: + // 1. The position of the helper is absolute, so it's position is calculated based on the + // next positioned parent + // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't + // the document, which means that the scroll is included in the initial calculation of the + // offset of the parent, and never recalculated upon drag + if ( this.cssPosition === "absolute" && this.scrollParent[ 0 ] !== document && + $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) { + po.left += this.scrollParent.scrollLeft(); + po.top += this.scrollParent.scrollTop(); + } + + if ( this._isRootNode( this.offsetParent[ 0 ] ) ) { + po = { top: 0, left: 0 }; + } + + return { + top: po.top + ( parseInt( this.offsetParent.css( "borderTopWidth" ), 10 ) || 0 ), + left: po.left + ( parseInt( this.offsetParent.css( "borderLeftWidth" ), 10 ) || 0 ) + }; + + }, + + _getRelativeOffset: function() { + if ( this.cssPosition !== "relative" ) { + return { top: 0, left: 0 }; + } + + var p = this.element.position(), + scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ); + + return { + top: p.top - ( parseInt( this.helper.css( "top" ), 10 ) || 0 ) + + ( !scrollIsRootNode ? this.scrollParent.scrollTop() : 0 ), + left: p.left - ( parseInt( this.helper.css( "left" ), 10 ) || 0 ) + + ( !scrollIsRootNode ? this.scrollParent.scrollLeft() : 0 ) + }; + + }, + + _cacheMargins: function() { + this.margins = { + left: ( parseInt( this.element.css( "marginLeft" ), 10 ) || 0 ), + top: ( parseInt( this.element.css( "marginTop" ), 10 ) || 0 ), + right: ( parseInt( this.element.css( "marginRight" ), 10 ) || 0 ), + bottom: ( parseInt( this.element.css( "marginBottom" ), 10 ) || 0 ) + }; + }, + + _cacheHelperProportions: function() { + this.helperProportions = { + width: this.helper.outerWidth(), + height: this.helper.outerHeight() + }; + }, + + _setContainment: function() { + + var isUserScrollable, c, ce, + o = this.options, + document = this.document[ 0 ]; + + this.relativeContainer = null; + + if ( !o.containment ) { + this.containment = null; + return; + } + + if ( o.containment === "window" ) { + this.containment = [ + $( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left, + $( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top, + $( window ).scrollLeft() + $( window ).width() - + this.helperProportions.width - this.margins.left, + $( window ).scrollTop() + + ( $( window ).height() || document.body.parentNode.scrollHeight ) - + this.helperProportions.height - this.margins.top + ]; + return; + } + + if ( o.containment === "document" ) { + this.containment = [ + 0, + 0, + $( document ).width() - this.helperProportions.width - this.margins.left, + ( $( document ).height() || document.body.parentNode.scrollHeight ) - + this.helperProportions.height - this.margins.top + ]; + return; + } + + if ( o.containment.constructor === Array ) { + this.containment = o.containment; + return; + } + + if ( o.containment === "parent" ) { + o.containment = this.helper[ 0 ].parentNode; + } + + c = $( o.containment ); + ce = c[ 0 ]; + + if ( !ce ) { + return; + } + + isUserScrollable = /(scroll|auto)/.test( c.css( "overflow" ) ); + + this.containment = [ + ( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) + + ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ), + ( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) + + ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ), + ( isUserScrollable ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - + ( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) - + ( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) - + this.helperProportions.width - + this.margins.left - + this.margins.right, + ( isUserScrollable ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - + ( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) - + ( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) - + this.helperProportions.height - + this.margins.top - + this.margins.bottom + ]; + this.relativeContainer = c; + }, + + _convertPositionTo: function( d, pos ) { + + if ( !pos ) { + pos = this.position; + } + + var mod = d === "absolute" ? 1 : -1, + scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ); + + return { + top: ( + + // The absolute mouse position + pos.top + + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.top * mod + + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.top * mod - + ( ( this.cssPosition === "fixed" ? + -this.offset.scroll.top : + ( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) * mod ) + ), + left: ( + + // The absolute mouse position + pos.left + + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.left * mod + + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.left * mod - + ( ( this.cssPosition === "fixed" ? + -this.offset.scroll.left : + ( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) * mod ) + ) + }; + + }, + + _generatePosition: function( event, constrainPosition ) { + + var containment, co, top, left, + o = this.options, + scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ), + pageX = event.pageX, + pageY = event.pageY; + + // Cache the scroll + if ( !scrollIsRootNode || !this.offset.scroll ) { + this.offset.scroll = { + top: this.scrollParent.scrollTop(), + left: this.scrollParent.scrollLeft() + }; + } + + /* + * - Position constraining - + * Constrain the position to a mix of grid, containment. + */ + + // If we are not dragging yet, we won't check for options + if ( constrainPosition ) { + if ( this.containment ) { + if ( this.relativeContainer ) { + co = this.relativeContainer.offset(); + containment = [ + this.containment[ 0 ] + co.left, + this.containment[ 1 ] + co.top, + this.containment[ 2 ] + co.left, + this.containment[ 3 ] + co.top + ]; + } else { + containment = this.containment; + } + + if ( event.pageX - this.offset.click.left < containment[ 0 ] ) { + pageX = containment[ 0 ] + this.offset.click.left; + } + if ( event.pageY - this.offset.click.top < containment[ 1 ] ) { + pageY = containment[ 1 ] + this.offset.click.top; + } + if ( event.pageX - this.offset.click.left > containment[ 2 ] ) { + pageX = containment[ 2 ] + this.offset.click.left; + } + if ( event.pageY - this.offset.click.top > containment[ 3 ] ) { + pageY = containment[ 3 ] + this.offset.click.top; + } + } + + if ( o.grid ) { + + //Check for grid elements set to 0 to prevent divide by 0 error causing invalid + // argument errors in IE (see ticket #6950) + top = o.grid[ 1 ] ? this.originalPageY + Math.round( ( pageY - + this.originalPageY ) / o.grid[ 1 ] ) * o.grid[ 1 ] : this.originalPageY; + pageY = containment ? ( ( top - this.offset.click.top >= containment[ 1 ] || + top - this.offset.click.top > containment[ 3 ] ) ? + top : + ( ( top - this.offset.click.top >= containment[ 1 ] ) ? + top - o.grid[ 1 ] : top + o.grid[ 1 ] ) ) : top; + + left = o.grid[ 0 ] ? this.originalPageX + + Math.round( ( pageX - this.originalPageX ) / o.grid[ 0 ] ) * o.grid[ 0 ] : + this.originalPageX; + pageX = containment ? ( ( left - this.offset.click.left >= containment[ 0 ] || + left - this.offset.click.left > containment[ 2 ] ) ? + left : + ( ( left - this.offset.click.left >= containment[ 0 ] ) ? + left - o.grid[ 0 ] : left + o.grid[ 0 ] ) ) : left; + } + + if ( o.axis === "y" ) { + pageX = this.originalPageX; + } + + if ( o.axis === "x" ) { + pageY = this.originalPageY; + } + } + + return { + top: ( + + // The absolute mouse position + pageY - + + // Click offset (relative to the element) + this.offset.click.top - + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.top - + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.top + + ( this.cssPosition === "fixed" ? + -this.offset.scroll.top : + ( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) + ), + left: ( + + // The absolute mouse position + pageX - + + // Click offset (relative to the element) + this.offset.click.left - + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.left - + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.left + + ( this.cssPosition === "fixed" ? + -this.offset.scroll.left : + ( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) + ) + }; + + }, + + _clear: function() { + this._removeClass( this.helper, "ui-draggable-dragging" ); + if ( this.helper[ 0 ] !== this.element[ 0 ] && !this.cancelHelperRemoval ) { + this.helper.remove(); + } + this.helper = null; + this.cancelHelperRemoval = false; + if ( this.destroyOnClear ) { + this.destroy(); + } + }, + + // From now on bulk stuff - mainly helpers + + _trigger: function( type, event, ui ) { + ui = ui || this._uiHash(); + $.ui.plugin.call( this, type, [ event, ui, this ], true ); + + // Absolute position and offset (see #6884 ) have to be recalculated after plugins + if ( /^(drag|start|stop)/.test( type ) ) { + this.positionAbs = this._convertPositionTo( "absolute" ); + ui.offset = this.positionAbs; + } + return $.Widget.prototype._trigger.call( this, type, event, ui ); + }, + + plugins: {}, + + _uiHash: function() { + return { + helper: this.helper, + position: this.position, + originalPosition: this.originalPosition, + offset: this.positionAbs + }; + } + +} ); + +$.ui.plugin.add( "draggable", "connectToSortable", { + start: function( event, ui, draggable ) { + var uiSortable = $.extend( {}, ui, { + item: draggable.element + } ); + + draggable.sortables = []; + $( draggable.options.connectToSortable ).each( function() { + var sortable = $( this ).sortable( "instance" ); + + if ( sortable && !sortable.options.disabled ) { + draggable.sortables.push( sortable ); + + // RefreshPositions is called at drag start to refresh the containerCache + // which is used in drag. This ensures it's initialized and synchronized + // with any changes that might have happened on the page since initialization. + sortable.refreshPositions(); + sortable._trigger( "activate", event, uiSortable ); + } + } ); + }, + stop: function( event, ui, draggable ) { + var uiSortable = $.extend( {}, ui, { + item: draggable.element + } ); + + draggable.cancelHelperRemoval = false; + + $.each( draggable.sortables, function() { + var sortable = this; + + if ( sortable.isOver ) { + sortable.isOver = 0; + + // Allow this sortable to handle removing the helper + draggable.cancelHelperRemoval = true; + sortable.cancelHelperRemoval = false; + + // Use _storedCSS To restore properties in the sortable, + // as this also handles revert (#9675) since the draggable + // may have modified them in unexpected ways (#8809) + sortable._storedCSS = { + position: sortable.placeholder.css( "position" ), + top: sortable.placeholder.css( "top" ), + left: sortable.placeholder.css( "left" ) + }; + + sortable._mouseStop( event ); + + // Once drag has ended, the sortable should return to using + // its original helper, not the shared helper from draggable + sortable.options.helper = sortable.options._helper; + } else { + + // Prevent this Sortable from removing the helper. + // However, don't set the draggable to remove the helper + // either as another connected Sortable may yet handle the removal. + sortable.cancelHelperRemoval = true; + + sortable._trigger( "deactivate", event, uiSortable ); + } + } ); + }, + drag: function( event, ui, draggable ) { + $.each( draggable.sortables, function() { + var innermostIntersecting = false, + sortable = this; + + // Copy over variables that sortable's _intersectsWith uses + sortable.positionAbs = draggable.positionAbs; + sortable.helperProportions = draggable.helperProportions; + sortable.offset.click = draggable.offset.click; + + if ( sortable._intersectsWith( sortable.containerCache ) ) { + innermostIntersecting = true; + + $.each( draggable.sortables, function() { + + // Copy over variables that sortable's _intersectsWith uses + this.positionAbs = draggable.positionAbs; + this.helperProportions = draggable.helperProportions; + this.offset.click = draggable.offset.click; + + if ( this !== sortable && + this._intersectsWith( this.containerCache ) && + $.contains( sortable.element[ 0 ], this.element[ 0 ] ) ) { + innermostIntersecting = false; + } + + return innermostIntersecting; + } ); + } + + if ( innermostIntersecting ) { + + // If it intersects, we use a little isOver variable and set it once, + // so that the move-in stuff gets fired only once. + if ( !sortable.isOver ) { + sortable.isOver = 1; + + // Store draggable's parent in case we need to reappend to it later. + draggable._parent = ui.helper.parent(); + + sortable.currentItem = ui.helper + .appendTo( sortable.element ) + .data( "ui-sortable-item", true ); + + // Store helper option to later restore it + sortable.options._helper = sortable.options.helper; + + sortable.options.helper = function() { + return ui.helper[ 0 ]; + }; + + // Fire the start events of the sortable with our passed browser event, + // and our own helper (so it doesn't create a new one) + event.target = sortable.currentItem[ 0 ]; + sortable._mouseCapture( event, true ); + sortable._mouseStart( event, true, true ); + + // Because the browser event is way off the new appended portlet, + // modify necessary variables to reflect the changes + sortable.offset.click.top = draggable.offset.click.top; + sortable.offset.click.left = draggable.offset.click.left; + sortable.offset.parent.left -= draggable.offset.parent.left - + sortable.offset.parent.left; + sortable.offset.parent.top -= draggable.offset.parent.top - + sortable.offset.parent.top; + + draggable._trigger( "toSortable", event ); + + // Inform draggable that the helper is in a valid drop zone, + // used solely in the revert option to handle "valid/invalid". + draggable.dropped = sortable.element; + + // Need to refreshPositions of all sortables in the case that + // adding to one sortable changes the location of the other sortables (#9675) + $.each( draggable.sortables, function() { + this.refreshPositions(); + } ); + + // Hack so receive/update callbacks work (mostly) + draggable.currentItem = draggable.element; + sortable.fromOutside = draggable; + } + + if ( sortable.currentItem ) { + sortable._mouseDrag( event ); + + // Copy the sortable's position because the draggable's can potentially reflect + // a relative position, while sortable is always absolute, which the dragged + // element has now become. (#8809) + ui.position = sortable.position; + } + } else { + + // If it doesn't intersect with the sortable, and it intersected before, + // we fake the drag stop of the sortable, but make sure it doesn't remove + // the helper by using cancelHelperRemoval. + if ( sortable.isOver ) { + + sortable.isOver = 0; + sortable.cancelHelperRemoval = true; + + // Calling sortable's mouseStop would trigger a revert, + // so revert must be temporarily false until after mouseStop is called. + sortable.options._revert = sortable.options.revert; + sortable.options.revert = false; + + sortable._trigger( "out", event, sortable._uiHash( sortable ) ); + sortable._mouseStop( event, true ); + + // Restore sortable behaviors that were modfied + // when the draggable entered the sortable area (#9481) + sortable.options.revert = sortable.options._revert; + sortable.options.helper = sortable.options._helper; + + if ( sortable.placeholder ) { + sortable.placeholder.remove(); + } + + // Restore and recalculate the draggable's offset considering the sortable + // may have modified them in unexpected ways. (#8809, #10669) + ui.helper.appendTo( draggable._parent ); + draggable._refreshOffsets( event ); + ui.position = draggable._generatePosition( event, true ); + + draggable._trigger( "fromSortable", event ); + + // Inform draggable that the helper is no longer in a valid drop zone + draggable.dropped = false; + + // Need to refreshPositions of all sortables just in case removing + // from one sortable changes the location of other sortables (#9675) + $.each( draggable.sortables, function() { + this.refreshPositions(); + } ); + } + } + } ); + } +} ); + +$.ui.plugin.add( "draggable", "cursor", { + start: function( event, ui, instance ) { + var t = $( "body" ), + o = instance.options; + + if ( t.css( "cursor" ) ) { + o._cursor = t.css( "cursor" ); + } + t.css( "cursor", o.cursor ); + }, + stop: function( event, ui, instance ) { + var o = instance.options; + if ( o._cursor ) { + $( "body" ).css( "cursor", o._cursor ); + } + } +} ); + +$.ui.plugin.add( "draggable", "opacity", { + start: function( event, ui, instance ) { + var t = $( ui.helper ), + o = instance.options; + if ( t.css( "opacity" ) ) { + o._opacity = t.css( "opacity" ); + } + t.css( "opacity", o.opacity ); + }, + stop: function( event, ui, instance ) { + var o = instance.options; + if ( o._opacity ) { + $( ui.helper ).css( "opacity", o._opacity ); + } + } +} ); + +$.ui.plugin.add( "draggable", "scroll", { + start: function( event, ui, i ) { + if ( !i.scrollParentNotHidden ) { + i.scrollParentNotHidden = i.helper.scrollParent( false ); + } + + if ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] && + i.scrollParentNotHidden[ 0 ].tagName !== "HTML" ) { + i.overflowOffset = i.scrollParentNotHidden.offset(); + } + }, + drag: function( event, ui, i ) { + + var o = i.options, + scrolled = false, + scrollParent = i.scrollParentNotHidden[ 0 ], + document = i.document[ 0 ]; + + if ( scrollParent !== document && scrollParent.tagName !== "HTML" ) { + if ( !o.axis || o.axis !== "x" ) { + if ( ( i.overflowOffset.top + scrollParent.offsetHeight ) - event.pageY < + o.scrollSensitivity ) { + scrollParent.scrollTop = scrolled = scrollParent.scrollTop + o.scrollSpeed; + } else if ( event.pageY - i.overflowOffset.top < o.scrollSensitivity ) { + scrollParent.scrollTop = scrolled = scrollParent.scrollTop - o.scrollSpeed; + } + } + + if ( !o.axis || o.axis !== "y" ) { + if ( ( i.overflowOffset.left + scrollParent.offsetWidth ) - event.pageX < + o.scrollSensitivity ) { + scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft + o.scrollSpeed; + } else if ( event.pageX - i.overflowOffset.left < o.scrollSensitivity ) { + scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft - o.scrollSpeed; + } + } + + } else { + + if ( !o.axis || o.axis !== "x" ) { + if ( event.pageY - $( document ).scrollTop() < o.scrollSensitivity ) { + scrolled = $( document ).scrollTop( $( document ).scrollTop() - o.scrollSpeed ); + } else if ( $( window ).height() - ( event.pageY - $( document ).scrollTop() ) < + o.scrollSensitivity ) { + scrolled = $( document ).scrollTop( $( document ).scrollTop() + o.scrollSpeed ); + } + } + + if ( !o.axis || o.axis !== "y" ) { + if ( event.pageX - $( document ).scrollLeft() < o.scrollSensitivity ) { + scrolled = $( document ).scrollLeft( + $( document ).scrollLeft() - o.scrollSpeed + ); + } else if ( $( window ).width() - ( event.pageX - $( document ).scrollLeft() ) < + o.scrollSensitivity ) { + scrolled = $( document ).scrollLeft( + $( document ).scrollLeft() + o.scrollSpeed + ); + } + } + + } + + if ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) { + $.ui.ddmanager.prepareOffsets( i, event ); + } + + } +} ); + +$.ui.plugin.add( "draggable", "snap", { + start: function( event, ui, i ) { + + var o = i.options; + + i.snapElements = []; + + $( o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap ) + .each( function() { + var $t = $( this ), + $o = $t.offset(); + if ( this !== i.element[ 0 ] ) { + i.snapElements.push( { + item: this, + width: $t.outerWidth(), height: $t.outerHeight(), + top: $o.top, left: $o.left + } ); + } + } ); + + }, + drag: function( event, ui, inst ) { + + var ts, bs, ls, rs, l, r, t, b, i, first, + o = inst.options, + d = o.snapTolerance, + x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width, + y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height; + + for ( i = inst.snapElements.length - 1; i >= 0; i-- ) { + + l = inst.snapElements[ i ].left - inst.margins.left; + r = l + inst.snapElements[ i ].width; + t = inst.snapElements[ i ].top - inst.margins.top; + b = t + inst.snapElements[ i ].height; + + if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || + !$.contains( inst.snapElements[ i ].item.ownerDocument, + inst.snapElements[ i ].item ) ) { + if ( inst.snapElements[ i ].snapping ) { + ( inst.options.snap.release && + inst.options.snap.release.call( + inst.element, + event, + $.extend( inst._uiHash(), { snapItem: inst.snapElements[ i ].item } ) + ) ); + } + inst.snapElements[ i ].snapping = false; + continue; + } + + if ( o.snapMode !== "inner" ) { + ts = Math.abs( t - y2 ) <= d; + bs = Math.abs( b - y1 ) <= d; + ls = Math.abs( l - x2 ) <= d; + rs = Math.abs( r - x1 ) <= d; + if ( ts ) { + ui.position.top = inst._convertPositionTo( "relative", { + top: t - inst.helperProportions.height, + left: 0 + } ).top; + } + if ( bs ) { + ui.position.top = inst._convertPositionTo( "relative", { + top: b, + left: 0 + } ).top; + } + if ( ls ) { + ui.position.left = inst._convertPositionTo( "relative", { + top: 0, + left: l - inst.helperProportions.width + } ).left; + } + if ( rs ) { + ui.position.left = inst._convertPositionTo( "relative", { + top: 0, + left: r + } ).left; + } + } + + first = ( ts || bs || ls || rs ); + + if ( o.snapMode !== "outer" ) { + ts = Math.abs( t - y1 ) <= d; + bs = Math.abs( b - y2 ) <= d; + ls = Math.abs( l - x1 ) <= d; + rs = Math.abs( r - x2 ) <= d; + if ( ts ) { + ui.position.top = inst._convertPositionTo( "relative", { + top: t, + left: 0 + } ).top; + } + if ( bs ) { + ui.position.top = inst._convertPositionTo( "relative", { + top: b - inst.helperProportions.height, + left: 0 + } ).top; + } + if ( ls ) { + ui.position.left = inst._convertPositionTo( "relative", { + top: 0, + left: l + } ).left; + } + if ( rs ) { + ui.position.left = inst._convertPositionTo( "relative", { + top: 0, + left: r - inst.helperProportions.width + } ).left; + } + } + + if ( !inst.snapElements[ i ].snapping && ( ts || bs || ls || rs || first ) ) { + ( inst.options.snap.snap && + inst.options.snap.snap.call( + inst.element, + event, + $.extend( inst._uiHash(), { + snapItem: inst.snapElements[ i ].item + } ) ) ); + } + inst.snapElements[ i ].snapping = ( ts || bs || ls || rs || first ); + + } + + } +} ); + +$.ui.plugin.add( "draggable", "stack", { + start: function( event, ui, instance ) { + var min, + o = instance.options, + group = $.makeArray( $( o.stack ) ).sort( function( a, b ) { + return ( parseInt( $( a ).css( "zIndex" ), 10 ) || 0 ) - + ( parseInt( $( b ).css( "zIndex" ), 10 ) || 0 ); + } ); + + if ( !group.length ) { return; } + + min = parseInt( $( group[ 0 ] ).css( "zIndex" ), 10 ) || 0; + $( group ).each( function( i ) { + $( this ).css( "zIndex", min + i ); + } ); + this.css( "zIndex", ( min + group.length ) ); + } +} ); + +$.ui.plugin.add( "draggable", "zIndex", { + start: function( event, ui, instance ) { + var t = $( ui.helper ), + o = instance.options; + + if ( t.css( "zIndex" ) ) { + o._zIndex = t.css( "zIndex" ); + } + t.css( "zIndex", o.zIndex ); + }, + stop: function( event, ui, instance ) { + var o = instance.options; + + if ( o._zIndex ) { + $( ui.helper ).css( "zIndex", o._zIndex ); + } + } +} ); + +var widgetsDraggable = $.ui.draggable; + + +/*! + * jQuery UI Resizable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Resizable +//>>group: Interactions +//>>description: Enables resize functionality for any element. +//>>docs: http://api.jqueryui.com/resizable/ +//>>demos: http://jqueryui.com/resizable/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/resizable.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.resizable", $.ui.mouse, { + version: "1.12.1", + widgetEventPrefix: "resize", + options: { + alsoResize: false, + animate: false, + animateDuration: "slow", + animateEasing: "swing", + aspectRatio: false, + autoHide: false, + classes: { + "ui-resizable-se": "ui-icon ui-icon-gripsmall-diagonal-se" + }, + containment: false, + ghost: false, + grid: false, + handles: "e,s,se", + helper: false, + maxHeight: null, + maxWidth: null, + minHeight: 10, + minWidth: 10, + + // See #7960 + zIndex: 90, + + // Callbacks + resize: null, + start: null, + stop: null + }, + + _num: function( value ) { + return parseFloat( value ) || 0; + }, + + _isNumber: function( value ) { + return !isNaN( parseFloat( value ) ); + }, + + _hasScroll: function( el, a ) { + + if ( $( el ).css( "overflow" ) === "hidden" ) { + return false; + } + + var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop", + has = false; + + if ( el[ scroll ] > 0 ) { + return true; + } + + // TODO: determine which cases actually cause this to happen + // if the element doesn't have the scroll set, see if it's possible to + // set the scroll + el[ scroll ] = 1; + has = ( el[ scroll ] > 0 ); + el[ scroll ] = 0; + return has; + }, + + _create: function() { + + var margins, + o = this.options, + that = this; + this._addClass( "ui-resizable" ); + + $.extend( this, { + _aspectRatio: !!( o.aspectRatio ), + aspectRatio: o.aspectRatio, + originalElement: this.element, + _proportionallyResizeElements: [], + _helper: o.helper || o.ghost || o.animate ? o.helper || "ui-resizable-helper" : null + } ); + + // Wrap the element if it cannot hold child nodes + if ( this.element[ 0 ].nodeName.match( /^(canvas|textarea|input|select|button|img)$/i ) ) { + + this.element.wrap( + $( "<div class='ui-wrapper' style='overflow: hidden;'></div>" ).css( { + position: this.element.css( "position" ), + width: this.element.outerWidth(), + height: this.element.outerHeight(), + top: this.element.css( "top" ), + left: this.element.css( "left" ) + } ) + ); + + this.element = this.element.parent().data( + "ui-resizable", this.element.resizable( "instance" ) + ); + + this.elementIsWrapper = true; + + margins = { + marginTop: this.originalElement.css( "marginTop" ), + marginRight: this.originalElement.css( "marginRight" ), + marginBottom: this.originalElement.css( "marginBottom" ), + marginLeft: this.originalElement.css( "marginLeft" ) + }; + + this.element.css( margins ); + this.originalElement.css( "margin", 0 ); + + // support: Safari + // Prevent Safari textarea resize + this.originalResizeStyle = this.originalElement.css( "resize" ); + this.originalElement.css( "resize", "none" ); + + this._proportionallyResizeElements.push( this.originalElement.css( { + position: "static", + zoom: 1, + display: "block" + } ) ); + + // Support: IE9 + // avoid IE jump (hard set the margin) + this.originalElement.css( margins ); + + this._proportionallyResize(); + } + + this._setupHandles(); + + if ( o.autoHide ) { + $( this.element ) + .on( "mouseenter", function() { + if ( o.disabled ) { + return; + } + that._removeClass( "ui-resizable-autohide" ); + that._handles.show(); + } ) + .on( "mouseleave", function() { + if ( o.disabled ) { + return; + } + if ( !that.resizing ) { + that._addClass( "ui-resizable-autohide" ); + that._handles.hide(); + } + } ); + } + + this._mouseInit(); + }, + + _destroy: function() { + + this._mouseDestroy(); + + var wrapper, + _destroy = function( exp ) { + $( exp ) + .removeData( "resizable" ) + .removeData( "ui-resizable" ) + .off( ".resizable" ) + .find( ".ui-resizable-handle" ) + .remove(); + }; + + // TODO: Unwrap at same DOM position + if ( this.elementIsWrapper ) { + _destroy( this.element ); + wrapper = this.element; + this.originalElement.css( { + position: wrapper.css( "position" ), + width: wrapper.outerWidth(), + height: wrapper.outerHeight(), + top: wrapper.css( "top" ), + left: wrapper.css( "left" ) + } ).insertAfter( wrapper ); + wrapper.remove(); + } + + this.originalElement.css( "resize", this.originalResizeStyle ); + _destroy( this.originalElement ); + + return this; + }, + + _setOption: function( key, value ) { + this._super( key, value ); + + switch ( key ) { + case "handles": + this._removeHandles(); + this._setupHandles(); + break; + default: + break; + } + }, + + _setupHandles: function() { + var o = this.options, handle, i, n, hname, axis, that = this; + this.handles = o.handles || + ( !$( ".ui-resizable-handle", this.element ).length ? + "e,s,se" : { + n: ".ui-resizable-n", + e: ".ui-resizable-e", + s: ".ui-resizable-s", + w: ".ui-resizable-w", + se: ".ui-resizable-se", + sw: ".ui-resizable-sw", + ne: ".ui-resizable-ne", + nw: ".ui-resizable-nw" + } ); + + this._handles = $(); + if ( this.handles.constructor === String ) { + + if ( this.handles === "all" ) { + this.handles = "n,e,s,w,se,sw,ne,nw"; + } + + n = this.handles.split( "," ); + this.handles = {}; + + for ( i = 0; i < n.length; i++ ) { + + handle = $.trim( n[ i ] ); + hname = "ui-resizable-" + handle; + axis = $( "<div>" ); + this._addClass( axis, "ui-resizable-handle " + hname ); + + axis.css( { zIndex: o.zIndex } ); + + this.handles[ handle ] = ".ui-resizable-" + handle; + this.element.append( axis ); + } + + } + + this._renderAxis = function( target ) { + + var i, axis, padPos, padWrapper; + + target = target || this.element; + + for ( i in this.handles ) { + + if ( this.handles[ i ].constructor === String ) { + this.handles[ i ] = this.element.children( this.handles[ i ] ).first().show(); + } else if ( this.handles[ i ].jquery || this.handles[ i ].nodeType ) { + this.handles[ i ] = $( this.handles[ i ] ); + this._on( this.handles[ i ], { "mousedown": that._mouseDown } ); + } + + if ( this.elementIsWrapper && + this.originalElement[ 0 ] + .nodeName + .match( /^(textarea|input|select|button)$/i ) ) { + axis = $( this.handles[ i ], this.element ); + + padWrapper = /sw|ne|nw|se|n|s/.test( i ) ? + axis.outerHeight() : + axis.outerWidth(); + + padPos = [ "padding", + /ne|nw|n/.test( i ) ? "Top" : + /se|sw|s/.test( i ) ? "Bottom" : + /^e$/.test( i ) ? "Right" : "Left" ].join( "" ); + + target.css( padPos, padWrapper ); + + this._proportionallyResize(); + } + + this._handles = this._handles.add( this.handles[ i ] ); + } + }; + + // TODO: make renderAxis a prototype function + this._renderAxis( this.element ); + + this._handles = this._handles.add( this.element.find( ".ui-resizable-handle" ) ); + this._handles.disableSelection(); + + this._handles.on( "mouseover", function() { + if ( !that.resizing ) { + if ( this.className ) { + axis = this.className.match( /ui-resizable-(se|sw|ne|nw|n|e|s|w)/i ); + } + that.axis = axis && axis[ 1 ] ? axis[ 1 ] : "se"; + } + } ); + + if ( o.autoHide ) { + this._handles.hide(); + this._addClass( "ui-resizable-autohide" ); + } + }, + + _removeHandles: function() { + this._handles.remove(); + }, + + _mouseCapture: function( event ) { + var i, handle, + capture = false; + + for ( i in this.handles ) { + handle = $( this.handles[ i ] )[ 0 ]; + if ( handle === event.target || $.contains( handle, event.target ) ) { + capture = true; + } + } + + return !this.options.disabled && capture; + }, + + _mouseStart: function( event ) { + + var curleft, curtop, cursor, + o = this.options, + el = this.element; + + this.resizing = true; + + this._renderProxy(); + + curleft = this._num( this.helper.css( "left" ) ); + curtop = this._num( this.helper.css( "top" ) ); + + if ( o.containment ) { + curleft += $( o.containment ).scrollLeft() || 0; + curtop += $( o.containment ).scrollTop() || 0; + } + + this.offset = this.helper.offset(); + this.position = { left: curleft, top: curtop }; + + this.size = this._helper ? { + width: this.helper.width(), + height: this.helper.height() + } : { + width: el.width(), + height: el.height() + }; + + this.originalSize = this._helper ? { + width: el.outerWidth(), + height: el.outerHeight() + } : { + width: el.width(), + height: el.height() + }; + + this.sizeDiff = { + width: el.outerWidth() - el.width(), + height: el.outerHeight() - el.height() + }; + + this.originalPosition = { left: curleft, top: curtop }; + this.originalMousePosition = { left: event.pageX, top: event.pageY }; + + this.aspectRatio = ( typeof o.aspectRatio === "number" ) ? + o.aspectRatio : + ( ( this.originalSize.width / this.originalSize.height ) || 1 ); + + cursor = $( ".ui-resizable-" + this.axis ).css( "cursor" ); + $( "body" ).css( "cursor", cursor === "auto" ? this.axis + "-resize" : cursor ); + + this._addClass( "ui-resizable-resizing" ); + this._propagate( "start", event ); + return true; + }, + + _mouseDrag: function( event ) { + + var data, props, + smp = this.originalMousePosition, + a = this.axis, + dx = ( event.pageX - smp.left ) || 0, + dy = ( event.pageY - smp.top ) || 0, + trigger = this._change[ a ]; + + this._updatePrevProperties(); + + if ( !trigger ) { + return false; + } + + data = trigger.apply( this, [ event, dx, dy ] ); + + this._updateVirtualBoundaries( event.shiftKey ); + if ( this._aspectRatio || event.shiftKey ) { + data = this._updateRatio( data, event ); + } + + data = this._respectSize( data, event ); + + this._updateCache( data ); + + this._propagate( "resize", event ); + + props = this._applyChanges(); + + if ( !this._helper && this._proportionallyResizeElements.length ) { + this._proportionallyResize(); + } + + if ( !$.isEmptyObject( props ) ) { + this._updatePrevProperties(); + this._trigger( "resize", event, this.ui() ); + this._applyChanges(); + } + + return false; + }, + + _mouseStop: function( event ) { + + this.resizing = false; + var pr, ista, soffseth, soffsetw, s, left, top, + o = this.options, that = this; + + if ( this._helper ) { + + pr = this._proportionallyResizeElements; + ista = pr.length && ( /textarea/i ).test( pr[ 0 ].nodeName ); + soffseth = ista && this._hasScroll( pr[ 0 ], "left" ) ? 0 : that.sizeDiff.height; + soffsetw = ista ? 0 : that.sizeDiff.width; + + s = { + width: ( that.helper.width() - soffsetw ), + height: ( that.helper.height() - soffseth ) + }; + left = ( parseFloat( that.element.css( "left" ) ) + + ( that.position.left - that.originalPosition.left ) ) || null; + top = ( parseFloat( that.element.css( "top" ) ) + + ( that.position.top - that.originalPosition.top ) ) || null; + + if ( !o.animate ) { + this.element.css( $.extend( s, { top: top, left: left } ) ); + } + + that.helper.height( that.size.height ); + that.helper.width( that.size.width ); + + if ( this._helper && !o.animate ) { + this._proportionallyResize(); + } + } + + $( "body" ).css( "cursor", "auto" ); + + this._removeClass( "ui-resizable-resizing" ); + + this._propagate( "stop", event ); + + if ( this._helper ) { + this.helper.remove(); + } + + return false; + + }, + + _updatePrevProperties: function() { + this.prevPosition = { + top: this.position.top, + left: this.position.left + }; + this.prevSize = { + width: this.size.width, + height: this.size.height + }; + }, + + _applyChanges: function() { + var props = {}; + + if ( this.position.top !== this.prevPosition.top ) { + props.top = this.position.top + "px"; + } + if ( this.position.left !== this.prevPosition.left ) { + props.left = this.position.left + "px"; + } + if ( this.size.width !== this.prevSize.width ) { + props.width = this.size.width + "px"; + } + if ( this.size.height !== this.prevSize.height ) { + props.height = this.size.height + "px"; + } + + this.helper.css( props ); + + return props; + }, + + _updateVirtualBoundaries: function( forceAspectRatio ) { + var pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b, + o = this.options; + + b = { + minWidth: this._isNumber( o.minWidth ) ? o.minWidth : 0, + maxWidth: this._isNumber( o.maxWidth ) ? o.maxWidth : Infinity, + minHeight: this._isNumber( o.minHeight ) ? o.minHeight : 0, + maxHeight: this._isNumber( o.maxHeight ) ? o.maxHeight : Infinity + }; + + if ( this._aspectRatio || forceAspectRatio ) { + pMinWidth = b.minHeight * this.aspectRatio; + pMinHeight = b.minWidth / this.aspectRatio; + pMaxWidth = b.maxHeight * this.aspectRatio; + pMaxHeight = b.maxWidth / this.aspectRatio; + + if ( pMinWidth > b.minWidth ) { + b.minWidth = pMinWidth; + } + if ( pMinHeight > b.minHeight ) { + b.minHeight = pMinHeight; + } + if ( pMaxWidth < b.maxWidth ) { + b.maxWidth = pMaxWidth; + } + if ( pMaxHeight < b.maxHeight ) { + b.maxHeight = pMaxHeight; + } + } + this._vBoundaries = b; + }, + + _updateCache: function( data ) { + this.offset = this.helper.offset(); + if ( this._isNumber( data.left ) ) { + this.position.left = data.left; + } + if ( this._isNumber( data.top ) ) { + this.position.top = data.top; + } + if ( this._isNumber( data.height ) ) { + this.size.height = data.height; + } + if ( this._isNumber( data.width ) ) { + this.size.width = data.width; + } + }, + + _updateRatio: function( data ) { + + var cpos = this.position, + csize = this.size, + a = this.axis; + + if ( this._isNumber( data.height ) ) { + data.width = ( data.height * this.aspectRatio ); + } else if ( this._isNumber( data.width ) ) { + data.height = ( data.width / this.aspectRatio ); + } + + if ( a === "sw" ) { + data.left = cpos.left + ( csize.width - data.width ); + data.top = null; + } + if ( a === "nw" ) { + data.top = cpos.top + ( csize.height - data.height ); + data.left = cpos.left + ( csize.width - data.width ); + } + + return data; + }, + + _respectSize: function( data ) { + + var o = this._vBoundaries, + a = this.axis, + ismaxw = this._isNumber( data.width ) && o.maxWidth && ( o.maxWidth < data.width ), + ismaxh = this._isNumber( data.height ) && o.maxHeight && ( o.maxHeight < data.height ), + isminw = this._isNumber( data.width ) && o.minWidth && ( o.minWidth > data.width ), + isminh = this._isNumber( data.height ) && o.minHeight && ( o.minHeight > data.height ), + dw = this.originalPosition.left + this.originalSize.width, + dh = this.originalPosition.top + this.originalSize.height, + cw = /sw|nw|w/.test( a ), ch = /nw|ne|n/.test( a ); + if ( isminw ) { + data.width = o.minWidth; + } + if ( isminh ) { + data.height = o.minHeight; + } + if ( ismaxw ) { + data.width = o.maxWidth; + } + if ( ismaxh ) { + data.height = o.maxHeight; + } + + if ( isminw && cw ) { + data.left = dw - o.minWidth; + } + if ( ismaxw && cw ) { + data.left = dw - o.maxWidth; + } + if ( isminh && ch ) { + data.top = dh - o.minHeight; + } + if ( ismaxh && ch ) { + data.top = dh - o.maxHeight; + } + + // Fixing jump error on top/left - bug #2330 + if ( !data.width && !data.height && !data.left && data.top ) { + data.top = null; + } else if ( !data.width && !data.height && !data.top && data.left ) { + data.left = null; + } + + return data; + }, + + _getPaddingPlusBorderDimensions: function( element ) { + var i = 0, + widths = [], + borders = [ + element.css( "borderTopWidth" ), + element.css( "borderRightWidth" ), + element.css( "borderBottomWidth" ), + element.css( "borderLeftWidth" ) + ], + paddings = [ + element.css( "paddingTop" ), + element.css( "paddingRight" ), + element.css( "paddingBottom" ), + element.css( "paddingLeft" ) + ]; + + for ( ; i < 4; i++ ) { + widths[ i ] = ( parseFloat( borders[ i ] ) || 0 ); + widths[ i ] += ( parseFloat( paddings[ i ] ) || 0 ); + } + + return { + height: widths[ 0 ] + widths[ 2 ], + width: widths[ 1 ] + widths[ 3 ] + }; + }, + + _proportionallyResize: function() { + + if ( !this._proportionallyResizeElements.length ) { + return; + } + + var prel, + i = 0, + element = this.helper || this.element; + + for ( ; i < this._proportionallyResizeElements.length; i++ ) { + + prel = this._proportionallyResizeElements[ i ]; + + // TODO: Seems like a bug to cache this.outerDimensions + // considering that we are in a loop. + if ( !this.outerDimensions ) { + this.outerDimensions = this._getPaddingPlusBorderDimensions( prel ); + } + + prel.css( { + height: ( element.height() - this.outerDimensions.height ) || 0, + width: ( element.width() - this.outerDimensions.width ) || 0 + } ); + + } + + }, + + _renderProxy: function() { + + var el = this.element, o = this.options; + this.elementOffset = el.offset(); + + if ( this._helper ) { + + this.helper = this.helper || $( "<div style='overflow:hidden;'></div>" ); + + this._addClass( this.helper, this._helper ); + this.helper.css( { + width: this.element.outerWidth(), + height: this.element.outerHeight(), + position: "absolute", + left: this.elementOffset.left + "px", + top: this.elementOffset.top + "px", + zIndex: ++o.zIndex //TODO: Don't modify option + } ); + + this.helper + .appendTo( "body" ) + .disableSelection(); + + } else { + this.helper = this.element; + } + + }, + + _change: { + e: function( event, dx ) { + return { width: this.originalSize.width + dx }; + }, + w: function( event, dx ) { + var cs = this.originalSize, sp = this.originalPosition; + return { left: sp.left + dx, width: cs.width - dx }; + }, + n: function( event, dx, dy ) { + var cs = this.originalSize, sp = this.originalPosition; + return { top: sp.top + dy, height: cs.height - dy }; + }, + s: function( event, dx, dy ) { + return { height: this.originalSize.height + dy }; + }, + se: function( event, dx, dy ) { + return $.extend( this._change.s.apply( this, arguments ), + this._change.e.apply( this, [ event, dx, dy ] ) ); + }, + sw: function( event, dx, dy ) { + return $.extend( this._change.s.apply( this, arguments ), + this._change.w.apply( this, [ event, dx, dy ] ) ); + }, + ne: function( event, dx, dy ) { + return $.extend( this._change.n.apply( this, arguments ), + this._change.e.apply( this, [ event, dx, dy ] ) ); + }, + nw: function( event, dx, dy ) { + return $.extend( this._change.n.apply( this, arguments ), + this._change.w.apply( this, [ event, dx, dy ] ) ); + } + }, + + _propagate: function( n, event ) { + $.ui.plugin.call( this, n, [ event, this.ui() ] ); + ( n !== "resize" && this._trigger( n, event, this.ui() ) ); + }, + + plugins: {}, + + ui: function() { + return { + originalElement: this.originalElement, + element: this.element, + helper: this.helper, + position: this.position, + size: this.size, + originalSize: this.originalSize, + originalPosition: this.originalPosition + }; + } + +} ); + +/* + * Resizable Extensions + */ + +$.ui.plugin.add( "resizable", "animate", { + + stop: function( event ) { + var that = $( this ).resizable( "instance" ), + o = that.options, + pr = that._proportionallyResizeElements, + ista = pr.length && ( /textarea/i ).test( pr[ 0 ].nodeName ), + soffseth = ista && that._hasScroll( pr[ 0 ], "left" ) ? 0 : that.sizeDiff.height, + soffsetw = ista ? 0 : that.sizeDiff.width, + style = { + width: ( that.size.width - soffsetw ), + height: ( that.size.height - soffseth ) + }, + left = ( parseFloat( that.element.css( "left" ) ) + + ( that.position.left - that.originalPosition.left ) ) || null, + top = ( parseFloat( that.element.css( "top" ) ) + + ( that.position.top - that.originalPosition.top ) ) || null; + + that.element.animate( + $.extend( style, top && left ? { top: top, left: left } : {} ), { + duration: o.animateDuration, + easing: o.animateEasing, + step: function() { + + var data = { + width: parseFloat( that.element.css( "width" ) ), + height: parseFloat( that.element.css( "height" ) ), + top: parseFloat( that.element.css( "top" ) ), + left: parseFloat( that.element.css( "left" ) ) + }; + + if ( pr && pr.length ) { + $( pr[ 0 ] ).css( { width: data.width, height: data.height } ); + } + + // Propagating resize, and updating values for each animation step + that._updateCache( data ); + that._propagate( "resize", event ); + + } + } + ); + } + +} ); + +$.ui.plugin.add( "resizable", "containment", { + + start: function() { + var element, p, co, ch, cw, width, height, + that = $( this ).resizable( "instance" ), + o = that.options, + el = that.element, + oc = o.containment, + ce = ( oc instanceof $ ) ? + oc.get( 0 ) : + ( /parent/.test( oc ) ) ? el.parent().get( 0 ) : oc; + + if ( !ce ) { + return; + } + + that.containerElement = $( ce ); + + if ( /document/.test( oc ) || oc === document ) { + that.containerOffset = { + left: 0, + top: 0 + }; + that.containerPosition = { + left: 0, + top: 0 + }; + + that.parentData = { + element: $( document ), + left: 0, + top: 0, + width: $( document ).width(), + height: $( document ).height() || document.body.parentNode.scrollHeight + }; + } else { + element = $( ce ); + p = []; + $( [ "Top", "Right", "Left", "Bottom" ] ).each( function( i, name ) { + p[ i ] = that._num( element.css( "padding" + name ) ); + } ); + + that.containerOffset = element.offset(); + that.containerPosition = element.position(); + that.containerSize = { + height: ( element.innerHeight() - p[ 3 ] ), + width: ( element.innerWidth() - p[ 1 ] ) + }; + + co = that.containerOffset; + ch = that.containerSize.height; + cw = that.containerSize.width; + width = ( that._hasScroll ( ce, "left" ) ? ce.scrollWidth : cw ); + height = ( that._hasScroll ( ce ) ? ce.scrollHeight : ch ) ; + + that.parentData = { + element: ce, + left: co.left, + top: co.top, + width: width, + height: height + }; + } + }, + + resize: function( event ) { + var woset, hoset, isParent, isOffsetRelative, + that = $( this ).resizable( "instance" ), + o = that.options, + co = that.containerOffset, + cp = that.position, + pRatio = that._aspectRatio || event.shiftKey, + cop = { + top: 0, + left: 0 + }, + ce = that.containerElement, + continueResize = true; + + if ( ce[ 0 ] !== document && ( /static/ ).test( ce.css( "position" ) ) ) { + cop = co; + } + + if ( cp.left < ( that._helper ? co.left : 0 ) ) { + that.size.width = that.size.width + + ( that._helper ? + ( that.position.left - co.left ) : + ( that.position.left - cop.left ) ); + + if ( pRatio ) { + that.size.height = that.size.width / that.aspectRatio; + continueResize = false; + } + that.position.left = o.helper ? co.left : 0; + } + + if ( cp.top < ( that._helper ? co.top : 0 ) ) { + that.size.height = that.size.height + + ( that._helper ? + ( that.position.top - co.top ) : + that.position.top ); + + if ( pRatio ) { + that.size.width = that.size.height * that.aspectRatio; + continueResize = false; + } + that.position.top = that._helper ? co.top : 0; + } + + isParent = that.containerElement.get( 0 ) === that.element.parent().get( 0 ); + isOffsetRelative = /relative|absolute/.test( that.containerElement.css( "position" ) ); + + if ( isParent && isOffsetRelative ) { + that.offset.left = that.parentData.left + that.position.left; + that.offset.top = that.parentData.top + that.position.top; + } else { + that.offset.left = that.element.offset().left; + that.offset.top = that.element.offset().top; + } + + woset = Math.abs( that.sizeDiff.width + + ( that._helper ? + that.offset.left - cop.left : + ( that.offset.left - co.left ) ) ); + + hoset = Math.abs( that.sizeDiff.height + + ( that._helper ? + that.offset.top - cop.top : + ( that.offset.top - co.top ) ) ); + + if ( woset + that.size.width >= that.parentData.width ) { + that.size.width = that.parentData.width - woset; + if ( pRatio ) { + that.size.height = that.size.width / that.aspectRatio; + continueResize = false; + } + } + + if ( hoset + that.size.height >= that.parentData.height ) { + that.size.height = that.parentData.height - hoset; + if ( pRatio ) { + that.size.width = that.size.height * that.aspectRatio; + continueResize = false; + } + } + + if ( !continueResize ) { + that.position.left = that.prevPosition.left; + that.position.top = that.prevPosition.top; + that.size.width = that.prevSize.width; + that.size.height = that.prevSize.height; + } + }, + + stop: function() { + var that = $( this ).resizable( "instance" ), + o = that.options, + co = that.containerOffset, + cop = that.containerPosition, + ce = that.containerElement, + helper = $( that.helper ), + ho = helper.offset(), + w = helper.outerWidth() - that.sizeDiff.width, + h = helper.outerHeight() - that.sizeDiff.height; + + if ( that._helper && !o.animate && ( /relative/ ).test( ce.css( "position" ) ) ) { + $( this ).css( { + left: ho.left - cop.left - co.left, + width: w, + height: h + } ); + } + + if ( that._helper && !o.animate && ( /static/ ).test( ce.css( "position" ) ) ) { + $( this ).css( { + left: ho.left - cop.left - co.left, + width: w, + height: h + } ); + } + } +} ); + +$.ui.plugin.add( "resizable", "alsoResize", { + + start: function() { + var that = $( this ).resizable( "instance" ), + o = that.options; + + $( o.alsoResize ).each( function() { + var el = $( this ); + el.data( "ui-resizable-alsoresize", { + width: parseFloat( el.width() ), height: parseFloat( el.height() ), + left: parseFloat( el.css( "left" ) ), top: parseFloat( el.css( "top" ) ) + } ); + } ); + }, + + resize: function( event, ui ) { + var that = $( this ).resizable( "instance" ), + o = that.options, + os = that.originalSize, + op = that.originalPosition, + delta = { + height: ( that.size.height - os.height ) || 0, + width: ( that.size.width - os.width ) || 0, + top: ( that.position.top - op.top ) || 0, + left: ( that.position.left - op.left ) || 0 + }; + + $( o.alsoResize ).each( function() { + var el = $( this ), start = $( this ).data( "ui-resizable-alsoresize" ), style = {}, + css = el.parents( ui.originalElement[ 0 ] ).length ? + [ "width", "height" ] : + [ "width", "height", "top", "left" ]; + + $.each( css, function( i, prop ) { + var sum = ( start[ prop ] || 0 ) + ( delta[ prop ] || 0 ); + if ( sum && sum >= 0 ) { + style[ prop ] = sum || null; + } + } ); + + el.css( style ); + } ); + }, + + stop: function() { + $( this ).removeData( "ui-resizable-alsoresize" ); + } +} ); + +$.ui.plugin.add( "resizable", "ghost", { + + start: function() { + + var that = $( this ).resizable( "instance" ), cs = that.size; + + that.ghost = that.originalElement.clone(); + that.ghost.css( { + opacity: 0.25, + display: "block", + position: "relative", + height: cs.height, + width: cs.width, + margin: 0, + left: 0, + top: 0 + } ); + + that._addClass( that.ghost, "ui-resizable-ghost" ); + + // DEPRECATED + // TODO: remove after 1.12 + if ( $.uiBackCompat !== false && typeof that.options.ghost === "string" ) { + + // Ghost option + that.ghost.addClass( this.options.ghost ); + } + + that.ghost.appendTo( that.helper ); + + }, + + resize: function() { + var that = $( this ).resizable( "instance" ); + if ( that.ghost ) { + that.ghost.css( { + position: "relative", + height: that.size.height, + width: that.size.width + } ); + } + }, + + stop: function() { + var that = $( this ).resizable( "instance" ); + if ( that.ghost && that.helper ) { + that.helper.get( 0 ).removeChild( that.ghost.get( 0 ) ); + } + } + +} ); + +$.ui.plugin.add( "resizable", "grid", { + + resize: function() { + var outerDimensions, + that = $( this ).resizable( "instance" ), + o = that.options, + cs = that.size, + os = that.originalSize, + op = that.originalPosition, + a = that.axis, + grid = typeof o.grid === "number" ? [ o.grid, o.grid ] : o.grid, + gridX = ( grid[ 0 ] || 1 ), + gridY = ( grid[ 1 ] || 1 ), + ox = Math.round( ( cs.width - os.width ) / gridX ) * gridX, + oy = Math.round( ( cs.height - os.height ) / gridY ) * gridY, + newWidth = os.width + ox, + newHeight = os.height + oy, + isMaxWidth = o.maxWidth && ( o.maxWidth < newWidth ), + isMaxHeight = o.maxHeight && ( o.maxHeight < newHeight ), + isMinWidth = o.minWidth && ( o.minWidth > newWidth ), + isMinHeight = o.minHeight && ( o.minHeight > newHeight ); + + o.grid = grid; + + if ( isMinWidth ) { + newWidth += gridX; + } + if ( isMinHeight ) { + newHeight += gridY; + } + if ( isMaxWidth ) { + newWidth -= gridX; + } + if ( isMaxHeight ) { + newHeight -= gridY; + } + + if ( /^(se|s|e)$/.test( a ) ) { + that.size.width = newWidth; + that.size.height = newHeight; + } else if ( /^(ne)$/.test( a ) ) { + that.size.width = newWidth; + that.size.height = newHeight; + that.position.top = op.top - oy; + } else if ( /^(sw)$/.test( a ) ) { + that.size.width = newWidth; + that.size.height = newHeight; + that.position.left = op.left - ox; + } else { + if ( newHeight - gridY <= 0 || newWidth - gridX <= 0 ) { + outerDimensions = that._getPaddingPlusBorderDimensions( this ); + } + + if ( newHeight - gridY > 0 ) { + that.size.height = newHeight; + that.position.top = op.top - oy; + } else { + newHeight = gridY - outerDimensions.height; + that.size.height = newHeight; + that.position.top = op.top + os.height - newHeight; + } + if ( newWidth - gridX > 0 ) { + that.size.width = newWidth; + that.position.left = op.left - ox; + } else { + newWidth = gridX - outerDimensions.width; + that.size.width = newWidth; + that.position.left = op.left + os.width - newWidth; + } + } + } + +} ); + +var widgetsResizable = $.ui.resizable; + + +/*! + * jQuery UI Dialog 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Dialog +//>>group: Widgets +//>>description: Displays customizable dialog windows. +//>>docs: http://api.jqueryui.com/dialog/ +//>>demos: http://jqueryui.com/dialog/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/dialog.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.dialog", { + version: "1.12.1", + options: { + appendTo: "body", + autoOpen: true, + buttons: [], + classes: { + "ui-dialog": "ui-corner-all", + "ui-dialog-titlebar": "ui-corner-all" + }, + closeOnEscape: true, + closeText: "Close", + draggable: true, + hide: null, + height: "auto", + maxHeight: null, + maxWidth: null, + minHeight: 150, + minWidth: 150, + modal: false, + position: { + my: "center", + at: "center", + of: window, + collision: "fit", + + // Ensure the titlebar is always visible + using: function( pos ) { + var topOffset = $( this ).css( pos ).offset().top; + if ( topOffset < 0 ) { + $( this ).css( "top", pos.top - topOffset ); + } + } + }, + resizable: true, + show: null, + title: null, + width: 300, + + // Callbacks + beforeClose: null, + close: null, + drag: null, + dragStart: null, + dragStop: null, + focus: null, + open: null, + resize: null, + resizeStart: null, + resizeStop: null + }, + + sizeRelatedOptions: { + buttons: true, + height: true, + maxHeight: true, + maxWidth: true, + minHeight: true, + minWidth: true, + width: true + }, + + resizableRelatedOptions: { + maxHeight: true, + maxWidth: true, + minHeight: true, + minWidth: true + }, + + _create: function() { + this.originalCss = { + display: this.element[ 0 ].style.display, + width: this.element[ 0 ].style.width, + minHeight: this.element[ 0 ].style.minHeight, + maxHeight: this.element[ 0 ].style.maxHeight, + height: this.element[ 0 ].style.height + }; + this.originalPosition = { + parent: this.element.parent(), + index: this.element.parent().children().index( this.element ) + }; + this.originalTitle = this.element.attr( "title" ); + if ( this.options.title == null && this.originalTitle != null ) { + this.options.title = this.originalTitle; + } + + // Dialogs can't be disabled + if ( this.options.disabled ) { + this.options.disabled = false; + } + + this._createWrapper(); + + this.element + .show() + .removeAttr( "title" ) + .appendTo( this.uiDialog ); + + this._addClass( "ui-dialog-content", "ui-widget-content" ); + + this._createTitlebar(); + this._createButtonPane(); + + if ( this.options.draggable && $.fn.draggable ) { + this._makeDraggable(); + } + if ( this.options.resizable && $.fn.resizable ) { + this._makeResizable(); + } + + this._isOpen = false; + + this._trackFocus(); + }, + + _init: function() { + if ( this.options.autoOpen ) { + this.open(); + } + }, + + _appendTo: function() { + var element = this.options.appendTo; + if ( element && ( element.jquery || element.nodeType ) ) { + return $( element ); + } + return this.document.find( element || "body" ).eq( 0 ); + }, + + _destroy: function() { + var next, + originalPosition = this.originalPosition; + + this._untrackInstance(); + this._destroyOverlay(); + + this.element + .removeUniqueId() + .css( this.originalCss ) + + // Without detaching first, the following becomes really slow + .detach(); + + this.uiDialog.remove(); + + if ( this.originalTitle ) { + this.element.attr( "title", this.originalTitle ); + } + + next = originalPosition.parent.children().eq( originalPosition.index ); + + // Don't try to place the dialog next to itself (#8613) + if ( next.length && next[ 0 ] !== this.element[ 0 ] ) { + next.before( this.element ); + } else { + originalPosition.parent.append( this.element ); + } + }, + + widget: function() { + return this.uiDialog; + }, + + disable: $.noop, + enable: $.noop, + + close: function( event ) { + var that = this; + + if ( !this._isOpen || this._trigger( "beforeClose", event ) === false ) { + return; + } + + this._isOpen = false; + this._focusedElement = null; + this._destroyOverlay(); + this._untrackInstance(); + + if ( !this.opener.filter( ":focusable" ).trigger( "focus" ).length ) { + + // Hiding a focused element doesn't trigger blur in WebKit + // so in case we have nothing to focus on, explicitly blur the active element + // https://bugs.webkit.org/show_bug.cgi?id=47182 + $.ui.safeBlur( $.ui.safeActiveElement( this.document[ 0 ] ) ); + } + + this._hide( this.uiDialog, this.options.hide, function() { + that._trigger( "close", event ); + } ); + }, + + isOpen: function() { + return this._isOpen; + }, + + moveToTop: function() { + this._moveToTop(); + }, + + _moveToTop: function( event, silent ) { + var moved = false, + zIndices = this.uiDialog.siblings( ".ui-front:visible" ).map( function() { + return +$( this ).css( "z-index" ); + } ).get(), + zIndexMax = Math.max.apply( null, zIndices ); + + if ( zIndexMax >= +this.uiDialog.css( "z-index" ) ) { + this.uiDialog.css( "z-index", zIndexMax + 1 ); + moved = true; + } + + if ( moved && !silent ) { + this._trigger( "focus", event ); + } + return moved; + }, + + open: function() { + var that = this; + if ( this._isOpen ) { + if ( this._moveToTop() ) { + this._focusTabbable(); + } + return; + } + + this._isOpen = true; + this.opener = $( $.ui.safeActiveElement( this.document[ 0 ] ) ); + + this._size(); + this._position(); + this._createOverlay(); + this._moveToTop( null, true ); + + // Ensure the overlay is moved to the top with the dialog, but only when + // opening. The overlay shouldn't move after the dialog is open so that + // modeless dialogs opened after the modal dialog stack properly. + if ( this.overlay ) { + this.overlay.css( "z-index", this.uiDialog.css( "z-index" ) - 1 ); + } + + this._show( this.uiDialog, this.options.show, function() { + that._focusTabbable(); + that._trigger( "focus" ); + } ); + + // Track the dialog immediately upon openening in case a focus event + // somehow occurs outside of the dialog before an element inside the + // dialog is focused (#10152) + this._makeFocusTarget(); + + this._trigger( "open" ); + }, + + _focusTabbable: function() { + + // Set focus to the first match: + // 1. An element that was focused previously + // 2. First element inside the dialog matching [autofocus] + // 3. Tabbable element inside the content element + // 4. Tabbable element inside the buttonpane + // 5. The close button + // 6. The dialog itself + var hasFocus = this._focusedElement; + if ( !hasFocus ) { + hasFocus = this.element.find( "[autofocus]" ); + } + if ( !hasFocus.length ) { + hasFocus = this.element.find( ":tabbable" ); + } + if ( !hasFocus.length ) { + hasFocus = this.uiDialogButtonPane.find( ":tabbable" ); + } + if ( !hasFocus.length ) { + hasFocus = this.uiDialogTitlebarClose.filter( ":tabbable" ); + } + if ( !hasFocus.length ) { + hasFocus = this.uiDialog; + } + hasFocus.eq( 0 ).trigger( "focus" ); + }, + + _keepFocus: function( event ) { + function checkFocus() { + var activeElement = $.ui.safeActiveElement( this.document[ 0 ] ), + isActive = this.uiDialog[ 0 ] === activeElement || + $.contains( this.uiDialog[ 0 ], activeElement ); + if ( !isActive ) { + this._focusTabbable(); + } + } + event.preventDefault(); + checkFocus.call( this ); + + // support: IE + // IE <= 8 doesn't prevent moving focus even with event.preventDefault() + // so we check again later + this._delay( checkFocus ); + }, + + _createWrapper: function() { + this.uiDialog = $( "<div>" ) + .hide() + .attr( { + + // Setting tabIndex makes the div focusable + tabIndex: -1, + role: "dialog" + } ) + .appendTo( this._appendTo() ); + + this._addClass( this.uiDialog, "ui-dialog", "ui-widget ui-widget-content ui-front" ); + this._on( this.uiDialog, { + keydown: function( event ) { + if ( this.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode && + event.keyCode === $.ui.keyCode.ESCAPE ) { + event.preventDefault(); + this.close( event ); + return; + } + + // Prevent tabbing out of dialogs + if ( event.keyCode !== $.ui.keyCode.TAB || event.isDefaultPrevented() ) { + return; + } + var tabbables = this.uiDialog.find( ":tabbable" ), + first = tabbables.filter( ":first" ), + last = tabbables.filter( ":last" ); + + if ( ( event.target === last[ 0 ] || event.target === this.uiDialog[ 0 ] ) && + !event.shiftKey ) { + this._delay( function() { + first.trigger( "focus" ); + } ); + event.preventDefault(); + } else if ( ( event.target === first[ 0 ] || + event.target === this.uiDialog[ 0 ] ) && event.shiftKey ) { + this._delay( function() { + last.trigger( "focus" ); + } ); + event.preventDefault(); + } + }, + mousedown: function( event ) { + if ( this._moveToTop( event ) ) { + this._focusTabbable(); + } + } + } ); + + // We assume that any existing aria-describedby attribute means + // that the dialog content is marked up properly + // otherwise we brute force the content as the description + if ( !this.element.find( "[aria-describedby]" ).length ) { + this.uiDialog.attr( { + "aria-describedby": this.element.uniqueId().attr( "id" ) + } ); + } + }, + + _createTitlebar: function() { + var uiDialogTitle; + + this.uiDialogTitlebar = $( "<div>" ); + this._addClass( this.uiDialogTitlebar, + "ui-dialog-titlebar", "ui-widget-header ui-helper-clearfix" ); + this._on( this.uiDialogTitlebar, { + mousedown: function( event ) { + + // Don't prevent click on close button (#8838) + // Focusing a dialog that is partially scrolled out of view + // causes the browser to scroll it into view, preventing the click event + if ( !$( event.target ).closest( ".ui-dialog-titlebar-close" ) ) { + + // Dialog isn't getting focus when dragging (#8063) + this.uiDialog.trigger( "focus" ); + } + } + } ); + + // Support: IE + // Use type="button" to prevent enter keypresses in textboxes from closing the + // dialog in IE (#9312) + this.uiDialogTitlebarClose = $( "<button type='button'></button>" ) + .button( { + label: $( "<a>" ).text( this.options.closeText ).html(), + icon: "ui-icon-closethick", + showLabel: false + } ) + .appendTo( this.uiDialogTitlebar ); + + this._addClass( this.uiDialogTitlebarClose, "ui-dialog-titlebar-close" ); + this._on( this.uiDialogTitlebarClose, { + click: function( event ) { + event.preventDefault(); + this.close( event ); + } + } ); + + uiDialogTitle = $( "<span>" ).uniqueId().prependTo( this.uiDialogTitlebar ); + this._addClass( uiDialogTitle, "ui-dialog-title" ); + this._title( uiDialogTitle ); + + this.uiDialogTitlebar.prependTo( this.uiDialog ); + + this.uiDialog.attr( { + "aria-labelledby": uiDialogTitle.attr( "id" ) + } ); + }, + + _title: function( title ) { + if ( this.options.title ) { + title.text( this.options.title ); + } else { + title.html( "&#160;" ); + } + }, + + _createButtonPane: function() { + this.uiDialogButtonPane = $( "<div>" ); + this._addClass( this.uiDialogButtonPane, "ui-dialog-buttonpane", + "ui-widget-content ui-helper-clearfix" ); + + this.uiButtonSet = $( "<div>" ) + .appendTo( this.uiDialogButtonPane ); + this._addClass( this.uiButtonSet, "ui-dialog-buttonset" ); + + this._createButtons(); + }, + + _createButtons: function() { + var that = this, + buttons = this.options.buttons; + + // If we already have a button pane, remove it + this.uiDialogButtonPane.remove(); + this.uiButtonSet.empty(); + + if ( $.isEmptyObject( buttons ) || ( $.isArray( buttons ) && !buttons.length ) ) { + this._removeClass( this.uiDialog, "ui-dialog-buttons" ); + return; + } + + $.each( buttons, function( name, props ) { + var click, buttonOptions; + props = $.isFunction( props ) ? + { click: props, text: name } : + props; + + // Default to a non-submitting button + props = $.extend( { type: "button" }, props ); + + // Change the context for the click callback to be the main element + click = props.click; + buttonOptions = { + icon: props.icon, + iconPosition: props.iconPosition, + showLabel: props.showLabel, + + // Deprecated options + icons: props.icons, + text: props.text + }; + + delete props.click; + delete props.icon; + delete props.iconPosition; + delete props.showLabel; + + // Deprecated options + delete props.icons; + if ( typeof props.text === "boolean" ) { + delete props.text; + } + + $( "<button></button>", props ) + .button( buttonOptions ) + .appendTo( that.uiButtonSet ) + .on( "click", function() { + click.apply( that.element[ 0 ], arguments ); + } ); + } ); + this._addClass( this.uiDialog, "ui-dialog-buttons" ); + this.uiDialogButtonPane.appendTo( this.uiDialog ); + }, + + _makeDraggable: function() { + var that = this, + options = this.options; + + function filteredUi( ui ) { + return { + position: ui.position, + offset: ui.offset + }; + } + + this.uiDialog.draggable( { + cancel: ".ui-dialog-content, .ui-dialog-titlebar-close", + handle: ".ui-dialog-titlebar", + containment: "document", + start: function( event, ui ) { + that._addClass( $( this ), "ui-dialog-dragging" ); + that._blockFrames(); + that._trigger( "dragStart", event, filteredUi( ui ) ); + }, + drag: function( event, ui ) { + that._trigger( "drag", event, filteredUi( ui ) ); + }, + stop: function( event, ui ) { + var left = ui.offset.left - that.document.scrollLeft(), + top = ui.offset.top - that.document.scrollTop(); + + options.position = { + my: "left top", + at: "left" + ( left >= 0 ? "+" : "" ) + left + " " + + "top" + ( top >= 0 ? "+" : "" ) + top, + of: that.window + }; + that._removeClass( $( this ), "ui-dialog-dragging" ); + that._unblockFrames(); + that._trigger( "dragStop", event, filteredUi( ui ) ); + } + } ); + }, + + _makeResizable: function() { + var that = this, + options = this.options, + handles = options.resizable, + + // .ui-resizable has position: relative defined in the stylesheet + // but dialogs have to use absolute or fixed positioning + position = this.uiDialog.css( "position" ), + resizeHandles = typeof handles === "string" ? + handles : + "n,e,s,w,se,sw,ne,nw"; + + function filteredUi( ui ) { + return { + originalPosition: ui.originalPosition, + originalSize: ui.originalSize, + position: ui.position, + size: ui.size + }; + } + + this.uiDialog.resizable( { + cancel: ".ui-dialog-content", + containment: "document", + alsoResize: this.element, + maxWidth: options.maxWidth, + maxHeight: options.maxHeight, + minWidth: options.minWidth, + minHeight: this._minHeight(), + handles: resizeHandles, + start: function( event, ui ) { + that._addClass( $( this ), "ui-dialog-resizing" ); + that._blockFrames(); + that._trigger( "resizeStart", event, filteredUi( ui ) ); + }, + resize: function( event, ui ) { + that._trigger( "resize", event, filteredUi( ui ) ); + }, + stop: function( event, ui ) { + var offset = that.uiDialog.offset(), + left = offset.left - that.document.scrollLeft(), + top = offset.top - that.document.scrollTop(); + + options.height = that.uiDialog.height(); + options.width = that.uiDialog.width(); + options.position = { + my: "left top", + at: "left" + ( left >= 0 ? "+" : "" ) + left + " " + + "top" + ( top >= 0 ? "+" : "" ) + top, + of: that.window + }; + that._removeClass( $( this ), "ui-dialog-resizing" ); + that._unblockFrames(); + that._trigger( "resizeStop", event, filteredUi( ui ) ); + } + } ) + .css( "position", position ); + }, + + _trackFocus: function() { + this._on( this.widget(), { + focusin: function( event ) { + this._makeFocusTarget(); + this._focusedElement = $( event.target ); + } + } ); + }, + + _makeFocusTarget: function() { + this._untrackInstance(); + this._trackingInstances().unshift( this ); + }, + + _untrackInstance: function() { + var instances = this._trackingInstances(), + exists = $.inArray( this, instances ); + if ( exists !== -1 ) { + instances.splice( exists, 1 ); + } + }, + + _trackingInstances: function() { + var instances = this.document.data( "ui-dialog-instances" ); + if ( !instances ) { + instances = []; + this.document.data( "ui-dialog-instances", instances ); + } + return instances; + }, + + _minHeight: function() { + var options = this.options; + + return options.height === "auto" ? + options.minHeight : + Math.min( options.minHeight, options.height ); + }, + + _position: function() { + + // Need to show the dialog to get the actual offset in the position plugin + var isVisible = this.uiDialog.is( ":visible" ); + if ( !isVisible ) { + this.uiDialog.show(); + } + this.uiDialog.position( this.options.position ); + if ( !isVisible ) { + this.uiDialog.hide(); + } + }, + + _setOptions: function( options ) { + var that = this, + resize = false, + resizableOptions = {}; + + $.each( options, function( key, value ) { + that._setOption( key, value ); + + if ( key in that.sizeRelatedOptions ) { + resize = true; + } + if ( key in that.resizableRelatedOptions ) { + resizableOptions[ key ] = value; + } + } ); + + if ( resize ) { + this._size(); + this._position(); + } + if ( this.uiDialog.is( ":data(ui-resizable)" ) ) { + this.uiDialog.resizable( "option", resizableOptions ); + } + }, + + _setOption: function( key, value ) { + var isDraggable, isResizable, + uiDialog = this.uiDialog; + + if ( key === "disabled" ) { + return; + } + + this._super( key, value ); + + if ( key === "appendTo" ) { + this.uiDialog.appendTo( this._appendTo() ); + } + + if ( key === "buttons" ) { + this._createButtons(); + } + + if ( key === "closeText" ) { + this.uiDialogTitlebarClose.button( { + + // Ensure that we always pass a string + label: $( "<a>" ).text( "" + this.options.closeText ).html() + } ); + } + + if ( key === "draggable" ) { + isDraggable = uiDialog.is( ":data(ui-draggable)" ); + if ( isDraggable && !value ) { + uiDialog.draggable( "destroy" ); + } + + if ( !isDraggable && value ) { + this._makeDraggable(); + } + } + + if ( key === "position" ) { + this._position(); + } + + if ( key === "resizable" ) { + + // currently resizable, becoming non-resizable + isResizable = uiDialog.is( ":data(ui-resizable)" ); + if ( isResizable && !value ) { + uiDialog.resizable( "destroy" ); + } + + // Currently resizable, changing handles + if ( isResizable && typeof value === "string" ) { + uiDialog.resizable( "option", "handles", value ); + } + + // Currently non-resizable, becoming resizable + if ( !isResizable && value !== false ) { + this._makeResizable(); + } + } + + if ( key === "title" ) { + this._title( this.uiDialogTitlebar.find( ".ui-dialog-title" ) ); + } + }, + + _size: function() { + + // If the user has resized the dialog, the .ui-dialog and .ui-dialog-content + // divs will both have width and height set, so we need to reset them + var nonContentHeight, minContentHeight, maxContentHeight, + options = this.options; + + // Reset content sizing + this.element.show().css( { + width: "auto", + minHeight: 0, + maxHeight: "none", + height: 0 + } ); + + if ( options.minWidth > options.width ) { + options.width = options.minWidth; + } + + // Reset wrapper sizing + // determine the height of all the non-content elements + nonContentHeight = this.uiDialog.css( { + height: "auto", + width: options.width + } ) + .outerHeight(); + minContentHeight = Math.max( 0, options.minHeight - nonContentHeight ); + maxContentHeight = typeof options.maxHeight === "number" ? + Math.max( 0, options.maxHeight - nonContentHeight ) : + "none"; + + if ( options.height === "auto" ) { + this.element.css( { + minHeight: minContentHeight, + maxHeight: maxContentHeight, + height: "auto" + } ); + } else { + this.element.height( Math.max( 0, options.height - nonContentHeight ) ); + } + + if ( this.uiDialog.is( ":data(ui-resizable)" ) ) { + this.uiDialog.resizable( "option", "minHeight", this._minHeight() ); + } + }, + + _blockFrames: function() { + this.iframeBlocks = this.document.find( "iframe" ).map( function() { + var iframe = $( this ); + + return $( "<div>" ) + .css( { + position: "absolute", + width: iframe.outerWidth(), + height: iframe.outerHeight() + } ) + .appendTo( iframe.parent() ) + .offset( iframe.offset() )[ 0 ]; + } ); + }, + + _unblockFrames: function() { + if ( this.iframeBlocks ) { + this.iframeBlocks.remove(); + delete this.iframeBlocks; + } + }, + + _allowInteraction: function( event ) { + if ( $( event.target ).closest( ".ui-dialog" ).length ) { + return true; + } + + // TODO: Remove hack when datepicker implements + // the .ui-front logic (#8989) + return !!$( event.target ).closest( ".ui-datepicker" ).length; + }, + + _createOverlay: function() { + if ( !this.options.modal ) { + return; + } + + // We use a delay in case the overlay is created from an + // event that we're going to be cancelling (#2804) + var isOpening = true; + this._delay( function() { + isOpening = false; + } ); + + if ( !this.document.data( "ui-dialog-overlays" ) ) { + + // Prevent use of anchors and inputs + // Using _on() for an event handler shared across many instances is + // safe because the dialogs stack and must be closed in reverse order + this._on( this.document, { + focusin: function( event ) { + if ( isOpening ) { + return; + } + + if ( !this._allowInteraction( event ) ) { + event.preventDefault(); + this._trackingInstances()[ 0 ]._focusTabbable(); + } + } + } ); + } + + this.overlay = $( "<div>" ) + .appendTo( this._appendTo() ); + + this._addClass( this.overlay, null, "ui-widget-overlay ui-front" ); + this._on( this.overlay, { + mousedown: "_keepFocus" + } ); + this.document.data( "ui-dialog-overlays", + ( this.document.data( "ui-dialog-overlays" ) || 0 ) + 1 ); + }, + + _destroyOverlay: function() { + if ( !this.options.modal ) { + return; + } + + if ( this.overlay ) { + var overlays = this.document.data( "ui-dialog-overlays" ) - 1; + + if ( !overlays ) { + this._off( this.document, "focusin" ); + this.document.removeData( "ui-dialog-overlays" ); + } else { + this.document.data( "ui-dialog-overlays", overlays ); + } + + this.overlay.remove(); + this.overlay = null; + } + } +} ); + +// DEPRECATED +// TODO: switch return back to widget declaration at top of file when this is removed +if ( $.uiBackCompat !== false ) { + + // Backcompat for dialogClass option + $.widget( "ui.dialog", $.ui.dialog, { + options: { + dialogClass: "" + }, + _createWrapper: function() { + this._super(); + this.uiDialog.addClass( this.options.dialogClass ); + }, + _setOption: function( key, value ) { + if ( key === "dialogClass" ) { + this.uiDialog + .removeClass( this.options.dialogClass ) + .addClass( value ); + } + this._superApply( arguments ); + } + } ); +} + +var widgetsDialog = $.ui.dialog; + + +/*! + * jQuery UI Droppable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Droppable +//>>group: Interactions +//>>description: Enables drop targets for draggable elements. +//>>docs: http://api.jqueryui.com/droppable/ +//>>demos: http://jqueryui.com/droppable/ + + + +$.widget( "ui.droppable", { + version: "1.12.1", + widgetEventPrefix: "drop", + options: { + accept: "*", + addClasses: true, + greedy: false, + scope: "default", + tolerance: "intersect", + + // Callbacks + activate: null, + deactivate: null, + drop: null, + out: null, + over: null + }, + _create: function() { + + var proportions, + o = this.options, + accept = o.accept; + + this.isover = false; + this.isout = true; + + this.accept = $.isFunction( accept ) ? accept : function( d ) { + return d.is( accept ); + }; + + this.proportions = function( /* valueToWrite */ ) { + if ( arguments.length ) { + + // Store the droppable's proportions + proportions = arguments[ 0 ]; + } else { + + // Retrieve or derive the droppable's proportions + return proportions ? + proportions : + proportions = { + width: this.element[ 0 ].offsetWidth, + height: this.element[ 0 ].offsetHeight + }; + } + }; + + this._addToManager( o.scope ); + + o.addClasses && this._addClass( "ui-droppable" ); + + }, + + _addToManager: function( scope ) { + + // Add the reference and positions to the manager + $.ui.ddmanager.droppables[ scope ] = $.ui.ddmanager.droppables[ scope ] || []; + $.ui.ddmanager.droppables[ scope ].push( this ); + }, + + _splice: function( drop ) { + var i = 0; + for ( ; i < drop.length; i++ ) { + if ( drop[ i ] === this ) { + drop.splice( i, 1 ); + } + } + }, + + _destroy: function() { + var drop = $.ui.ddmanager.droppables[ this.options.scope ]; + + this._splice( drop ); + }, + + _setOption: function( key, value ) { + + if ( key === "accept" ) { + this.accept = $.isFunction( value ) ? value : function( d ) { + return d.is( value ); + }; + } else if ( key === "scope" ) { + var drop = $.ui.ddmanager.droppables[ this.options.scope ]; + + this._splice( drop ); + this._addToManager( value ); + } + + this._super( key, value ); + }, + + _activate: function( event ) { + var draggable = $.ui.ddmanager.current; + + this._addActiveClass(); + if ( draggable ) { + this._trigger( "activate", event, this.ui( draggable ) ); + } + }, + + _deactivate: function( event ) { + var draggable = $.ui.ddmanager.current; + + this._removeActiveClass(); + if ( draggable ) { + this._trigger( "deactivate", event, this.ui( draggable ) ); + } + }, + + _over: function( event ) { + + var draggable = $.ui.ddmanager.current; + + // Bail if draggable and droppable are same element + if ( !draggable || ( draggable.currentItem || + draggable.element )[ 0 ] === this.element[ 0 ] ) { + return; + } + + if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || + draggable.element ) ) ) { + this._addHoverClass(); + this._trigger( "over", event, this.ui( draggable ) ); + } + + }, + + _out: function( event ) { + + var draggable = $.ui.ddmanager.current; + + // Bail if draggable and droppable are same element + if ( !draggable || ( draggable.currentItem || + draggable.element )[ 0 ] === this.element[ 0 ] ) { + return; + } + + if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || + draggable.element ) ) ) { + this._removeHoverClass(); + this._trigger( "out", event, this.ui( draggable ) ); + } + + }, + + _drop: function( event, custom ) { + + var draggable = custom || $.ui.ddmanager.current, + childrenIntersection = false; + + // Bail if draggable and droppable are same element + if ( !draggable || ( draggable.currentItem || + draggable.element )[ 0 ] === this.element[ 0 ] ) { + return false; + } + + this.element + .find( ":data(ui-droppable)" ) + .not( ".ui-draggable-dragging" ) + .each( function() { + var inst = $( this ).droppable( "instance" ); + if ( + inst.options.greedy && + !inst.options.disabled && + inst.options.scope === draggable.options.scope && + inst.accept.call( + inst.element[ 0 ], ( draggable.currentItem || draggable.element ) + ) && + intersect( + draggable, + $.extend( inst, { offset: inst.element.offset() } ), + inst.options.tolerance, event + ) + ) { + childrenIntersection = true; + return false; } + } ); + if ( childrenIntersection ) { + return false; + } + + if ( this.accept.call( this.element[ 0 ], + ( draggable.currentItem || draggable.element ) ) ) { + this._removeActiveClass(); + this._removeHoverClass(); + + this._trigger( "drop", event, this.ui( draggable ) ); + return this.element; + } + + return false; + + }, + + ui: function( c ) { + return { + draggable: ( c.currentItem || c.element ), + helper: c.helper, + position: c.position, + offset: c.positionAbs + }; + }, + + // Extension points just to make backcompat sane and avoid duplicating logic + // TODO: Remove in 1.13 along with call to it below + _addHoverClass: function() { + this._addClass( "ui-droppable-hover" ); + }, + + _removeHoverClass: function() { + this._removeClass( "ui-droppable-hover" ); + }, + + _addActiveClass: function() { + this._addClass( "ui-droppable-active" ); + }, + + _removeActiveClass: function() { + this._removeClass( "ui-droppable-active" ); + } +} ); + +var intersect = $.ui.intersect = ( function() { + function isOverAxis( x, reference, size ) { + return ( x >= reference ) && ( x < ( reference + size ) ); + } + + return function( draggable, droppable, toleranceMode, event ) { + + if ( !droppable.offset ) { + return false; + } + + var x1 = ( draggable.positionAbs || + draggable.position.absolute ).left + draggable.margins.left, + y1 = ( draggable.positionAbs || + draggable.position.absolute ).top + draggable.margins.top, + x2 = x1 + draggable.helperProportions.width, + y2 = y1 + draggable.helperProportions.height, + l = droppable.offset.left, + t = droppable.offset.top, + r = l + droppable.proportions().width, + b = t + droppable.proportions().height; + + switch ( toleranceMode ) { + case "fit": + return ( l <= x1 && x2 <= r && t <= y1 && y2 <= b ); + case "intersect": + return ( l < x1 + ( draggable.helperProportions.width / 2 ) && // Right Half + x2 - ( draggable.helperProportions.width / 2 ) < r && // Left Half + t < y1 + ( draggable.helperProportions.height / 2 ) && // Bottom Half + y2 - ( draggable.helperProportions.height / 2 ) < b ); // Top Half + case "pointer": + return isOverAxis( event.pageY, t, droppable.proportions().height ) && + isOverAxis( event.pageX, l, droppable.proportions().width ); + case "touch": + return ( + ( y1 >= t && y1 <= b ) || // Top edge touching + ( y2 >= t && y2 <= b ) || // Bottom edge touching + ( y1 < t && y2 > b ) // Surrounded vertically + ) && ( + ( x1 >= l && x1 <= r ) || // Left edge touching + ( x2 >= l && x2 <= r ) || // Right edge touching + ( x1 < l && x2 > r ) // Surrounded horizontally + ); + default: + return false; + } + }; +} )(); + +/* + This manager tracks offsets of draggables and droppables +*/ +$.ui.ddmanager = { + current: null, + droppables: { "default": [] }, + prepareOffsets: function( t, event ) { + + var i, j, + m = $.ui.ddmanager.droppables[ t.options.scope ] || [], + type = event ? event.type : null, // workaround for #2317 + list = ( t.currentItem || t.element ).find( ":data(ui-droppable)" ).addBack(); + + droppablesLoop: for ( i = 0; i < m.length; i++ ) { + + // No disabled and non-accepted + if ( m[ i ].options.disabled || ( t && !m[ i ].accept.call( m[ i ].element[ 0 ], + ( t.currentItem || t.element ) ) ) ) { + continue; + } + + // Filter out elements in the current dragged item + for ( j = 0; j < list.length; j++ ) { + if ( list[ j ] === m[ i ].element[ 0 ] ) { + m[ i ].proportions().height = 0; + continue droppablesLoop; + } + } + + m[ i ].visible = m[ i ].element.css( "display" ) !== "none"; + if ( !m[ i ].visible ) { + continue; + } + + // Activate the droppable if used directly from draggables + if ( type === "mousedown" ) { + m[ i ]._activate.call( m[ i ], event ); + } + + m[ i ].offset = m[ i ].element.offset(); + m[ i ].proportions( { + width: m[ i ].element[ 0 ].offsetWidth, + height: m[ i ].element[ 0 ].offsetHeight + } ); + + } + + }, + drop: function( draggable, event ) { + + var dropped = false; + + // Create a copy of the droppables in case the list changes during the drop (#9116) + $.each( ( $.ui.ddmanager.droppables[ draggable.options.scope ] || [] ).slice(), function() { + + if ( !this.options ) { + return; + } + if ( !this.options.disabled && this.visible && + intersect( draggable, this, this.options.tolerance, event ) ) { + dropped = this._drop.call( this, event ) || dropped; + } + + if ( !this.options.disabled && this.visible && this.accept.call( this.element[ 0 ], + ( draggable.currentItem || draggable.element ) ) ) { + this.isout = true; + this.isover = false; + this._deactivate.call( this, event ); + } + + } ); + return dropped; + + }, + dragStart: function( draggable, event ) { + + // Listen for scrolling so that if the dragging causes scrolling the position of the + // droppables can be recalculated (see #5003) + draggable.element.parentsUntil( "body" ).on( "scroll.droppable", function() { + if ( !draggable.options.refreshPositions ) { + $.ui.ddmanager.prepareOffsets( draggable, event ); + } + } ); + }, + drag: function( draggable, event ) { + + // If you have a highly dynamic page, you might try this option. It renders positions + // every time you move the mouse. + if ( draggable.options.refreshPositions ) { + $.ui.ddmanager.prepareOffsets( draggable, event ); + } + + // Run through all droppables and check their positions based on specific tolerance options + $.each( $.ui.ddmanager.droppables[ draggable.options.scope ] || [], function() { + + if ( this.options.disabled || this.greedyChild || !this.visible ) { + return; + } + + var parentInstance, scope, parent, + intersects = intersect( draggable, this, this.options.tolerance, event ), + c = !intersects && this.isover ? + "isout" : + ( intersects && !this.isover ? "isover" : null ); + if ( !c ) { + return; + } + + if ( this.options.greedy ) { + + // find droppable parents with same scope + scope = this.options.scope; + parent = this.element.parents( ":data(ui-droppable)" ).filter( function() { + return $( this ).droppable( "instance" ).options.scope === scope; + } ); + + if ( parent.length ) { + parentInstance = $( parent[ 0 ] ).droppable( "instance" ); + parentInstance.greedyChild = ( c === "isover" ); + } + } + + // We just moved into a greedy child + if ( parentInstance && c === "isover" ) { + parentInstance.isover = false; + parentInstance.isout = true; + parentInstance._out.call( parentInstance, event ); + } + + this[ c ] = true; + this[ c === "isout" ? "isover" : "isout" ] = false; + this[ c === "isover" ? "_over" : "_out" ].call( this, event ); + + // We just moved out of a greedy child + if ( parentInstance && c === "isout" ) { + parentInstance.isout = false; + parentInstance.isover = true; + parentInstance._over.call( parentInstance, event ); + } + } ); + + }, + dragStop: function( draggable, event ) { + draggable.element.parentsUntil( "body" ).off( "scroll.droppable" ); + + // Call prepareOffsets one final time since IE does not fire return scroll events when + // overflow was caused by drag (see #5003) + if ( !draggable.options.refreshPositions ) { + $.ui.ddmanager.prepareOffsets( draggable, event ); + } + } +}; + +// DEPRECATED +// TODO: switch return back to widget declaration at top of file when this is removed +if ( $.uiBackCompat !== false ) { + + // Backcompat for activeClass and hoverClass options + $.widget( "ui.droppable", $.ui.droppable, { + options: { + hoverClass: false, + activeClass: false + }, + _addActiveClass: function() { + this._super(); + if ( this.options.activeClass ) { + this.element.addClass( this.options.activeClass ); + } + }, + _removeActiveClass: function() { + this._super(); + if ( this.options.activeClass ) { + this.element.removeClass( this.options.activeClass ); + } + }, + _addHoverClass: function() { + this._super(); + if ( this.options.hoverClass ) { + this.element.addClass( this.options.hoverClass ); + } + }, + _removeHoverClass: function() { + this._super(); + if ( this.options.hoverClass ) { + this.element.removeClass( this.options.hoverClass ); + } + } + } ); +} + +var widgetsDroppable = $.ui.droppable; + + +/*! + * jQuery UI Progressbar 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Progressbar +//>>group: Widgets +// jscs:disable maximumLineLength +//>>description: Displays a status indicator for loading state, standard percentage, and other progress indicators. +// jscs:enable maximumLineLength +//>>docs: http://api.jqueryui.com/progressbar/ +//>>demos: http://jqueryui.com/progressbar/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/progressbar.css +//>>css.theme: ../../themes/base/theme.css + + + +var widgetsProgressbar = $.widget( "ui.progressbar", { + version: "1.12.1", + options: { + classes: { + "ui-progressbar": "ui-corner-all", + "ui-progressbar-value": "ui-corner-left", + "ui-progressbar-complete": "ui-corner-right" + }, + max: 100, + value: 0, + + change: null, + complete: null + }, + + min: 0, + + _create: function() { + + // Constrain initial value + this.oldValue = this.options.value = this._constrainedValue(); + + this.element.attr( { + + // Only set static values; aria-valuenow and aria-valuemax are + // set inside _refreshValue() + role: "progressbar", + "aria-valuemin": this.min + } ); + this._addClass( "ui-progressbar", "ui-widget ui-widget-content" ); + + this.valueDiv = $( "<div>" ).appendTo( this.element ); + this._addClass( this.valueDiv, "ui-progressbar-value", "ui-widget-header" ); + this._refreshValue(); + }, + + _destroy: function() { + this.element.removeAttr( "role aria-valuemin aria-valuemax aria-valuenow" ); + + this.valueDiv.remove(); + }, + + value: function( newValue ) { + if ( newValue === undefined ) { + return this.options.value; + } + + this.options.value = this._constrainedValue( newValue ); + this._refreshValue(); + }, + + _constrainedValue: function( newValue ) { + if ( newValue === undefined ) { + newValue = this.options.value; + } + + this.indeterminate = newValue === false; + + // Sanitize value + if ( typeof newValue !== "number" ) { + newValue = 0; + } + + return this.indeterminate ? false : + Math.min( this.options.max, Math.max( this.min, newValue ) ); + }, + + _setOptions: function( options ) { + + // Ensure "value" option is set after other values (like max) + var value = options.value; + delete options.value; + + this._super( options ); + + this.options.value = this._constrainedValue( value ); + this._refreshValue(); + }, + + _setOption: function( key, value ) { + if ( key === "max" ) { + + // Don't allow a max less than min + value = Math.max( this.min, value ); + } + this._super( key, value ); + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this.element.attr( "aria-disabled", value ); + this._toggleClass( null, "ui-state-disabled", !!value ); + }, + + _percentage: function() { + return this.indeterminate ? + 100 : + 100 * ( this.options.value - this.min ) / ( this.options.max - this.min ); + }, + + _refreshValue: function() { + var value = this.options.value, + percentage = this._percentage(); + + this.valueDiv + .toggle( this.indeterminate || value > this.min ) + .width( percentage.toFixed( 0 ) + "%" ); + + this + ._toggleClass( this.valueDiv, "ui-progressbar-complete", null, + value === this.options.max ) + ._toggleClass( "ui-progressbar-indeterminate", null, this.indeterminate ); + + if ( this.indeterminate ) { + this.element.removeAttr( "aria-valuenow" ); + if ( !this.overlayDiv ) { + this.overlayDiv = $( "<div>" ).appendTo( this.valueDiv ); + this._addClass( this.overlayDiv, "ui-progressbar-overlay" ); + } + } else { + this.element.attr( { + "aria-valuemax": this.options.max, + "aria-valuenow": value + } ); + if ( this.overlayDiv ) { + this.overlayDiv.remove(); + this.overlayDiv = null; + } + } + + if ( this.oldValue !== value ) { + this.oldValue = value; + this._trigger( "change" ); + } + if ( value === this.options.max ) { + this._trigger( "complete" ); + } + } +} ); + + +/*! + * jQuery UI Selectable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Selectable +//>>group: Interactions +//>>description: Allows groups of elements to be selected with the mouse. +//>>docs: http://api.jqueryui.com/selectable/ +//>>demos: http://jqueryui.com/selectable/ +//>>css.structure: ../../themes/base/selectable.css + + + +var widgetsSelectable = $.widget( "ui.selectable", $.ui.mouse, { + version: "1.12.1", + options: { + appendTo: "body", + autoRefresh: true, + distance: 0, + filter: "*", + tolerance: "touch", + + // Callbacks + selected: null, + selecting: null, + start: null, + stop: null, + unselected: null, + unselecting: null + }, + _create: function() { + var that = this; + + this._addClass( "ui-selectable" ); + + this.dragged = false; + + // Cache selectee children based on filter + this.refresh = function() { + that.elementPos = $( that.element[ 0 ] ).offset(); + that.selectees = $( that.options.filter, that.element[ 0 ] ); + that._addClass( that.selectees, "ui-selectee" ); + that.selectees.each( function() { + var $this = $( this ), + selecteeOffset = $this.offset(), + pos = { + left: selecteeOffset.left - that.elementPos.left, + top: selecteeOffset.top - that.elementPos.top + }; + $.data( this, "selectable-item", { + element: this, + $element: $this, + left: pos.left, + top: pos.top, + right: pos.left + $this.outerWidth(), + bottom: pos.top + $this.outerHeight(), + startselected: false, + selected: $this.hasClass( "ui-selected" ), + selecting: $this.hasClass( "ui-selecting" ), + unselecting: $this.hasClass( "ui-unselecting" ) + } ); + } ); + }; + this.refresh(); + + this._mouseInit(); + + this.helper = $( "<div>" ); + this._addClass( this.helper, "ui-selectable-helper" ); + }, + + _destroy: function() { + this.selectees.removeData( "selectable-item" ); + this._mouseDestroy(); + }, + + _mouseStart: function( event ) { + var that = this, + options = this.options; + + this.opos = [ event.pageX, event.pageY ]; + this.elementPos = $( this.element[ 0 ] ).offset(); + + if ( this.options.disabled ) { + return; + } + + this.selectees = $( options.filter, this.element[ 0 ] ); + + this._trigger( "start", event ); + + $( options.appendTo ).append( this.helper ); + + // position helper (lasso) + this.helper.css( { + "left": event.pageX, + "top": event.pageY, + "width": 0, + "height": 0 + } ); + + if ( options.autoRefresh ) { + this.refresh(); + } + + this.selectees.filter( ".ui-selected" ).each( function() { + var selectee = $.data( this, "selectable-item" ); + selectee.startselected = true; + if ( !event.metaKey && !event.ctrlKey ) { + that._removeClass( selectee.$element, "ui-selected" ); + selectee.selected = false; + that._addClass( selectee.$element, "ui-unselecting" ); + selectee.unselecting = true; + + // selectable UNSELECTING callback + that._trigger( "unselecting", event, { + unselecting: selectee.element + } ); + } + } ); + + $( event.target ).parents().addBack().each( function() { + var doSelect, + selectee = $.data( this, "selectable-item" ); + if ( selectee ) { + doSelect = ( !event.metaKey && !event.ctrlKey ) || + !selectee.$element.hasClass( "ui-selected" ); + that._removeClass( selectee.$element, doSelect ? "ui-unselecting" : "ui-selected" ) + ._addClass( selectee.$element, doSelect ? "ui-selecting" : "ui-unselecting" ); + selectee.unselecting = !doSelect; + selectee.selecting = doSelect; + selectee.selected = doSelect; + + // selectable (UN)SELECTING callback + if ( doSelect ) { + that._trigger( "selecting", event, { + selecting: selectee.element + } ); + } else { + that._trigger( "unselecting", event, { + unselecting: selectee.element + } ); + } + return false; + } + } ); + + }, + + _mouseDrag: function( event ) { + + this.dragged = true; + + if ( this.options.disabled ) { + return; + } + + var tmp, + that = this, + options = this.options, + x1 = this.opos[ 0 ], + y1 = this.opos[ 1 ], + x2 = event.pageX, + y2 = event.pageY; + + if ( x1 > x2 ) { tmp = x2; x2 = x1; x1 = tmp; } + if ( y1 > y2 ) { tmp = y2; y2 = y1; y1 = tmp; } + this.helper.css( { left: x1, top: y1, width: x2 - x1, height: y2 - y1 } ); + + this.selectees.each( function() { + var selectee = $.data( this, "selectable-item" ), + hit = false, + offset = {}; + + //prevent helper from being selected if appendTo: selectable + if ( !selectee || selectee.element === that.element[ 0 ] ) { + return; + } + + offset.left = selectee.left + that.elementPos.left; + offset.right = selectee.right + that.elementPos.left; + offset.top = selectee.top + that.elementPos.top; + offset.bottom = selectee.bottom + that.elementPos.top; + + if ( options.tolerance === "touch" ) { + hit = ( !( offset.left > x2 || offset.right < x1 || offset.top > y2 || + offset.bottom < y1 ) ); + } else if ( options.tolerance === "fit" ) { + hit = ( offset.left > x1 && offset.right < x2 && offset.top > y1 && + offset.bottom < y2 ); + } + + if ( hit ) { + + // SELECT + if ( selectee.selected ) { + that._removeClass( selectee.$element, "ui-selected" ); + selectee.selected = false; + } + if ( selectee.unselecting ) { + that._removeClass( selectee.$element, "ui-unselecting" ); + selectee.unselecting = false; + } + if ( !selectee.selecting ) { + that._addClass( selectee.$element, "ui-selecting" ); + selectee.selecting = true; + + // selectable SELECTING callback + that._trigger( "selecting", event, { + selecting: selectee.element + } ); + } + } else { + + // UNSELECT + if ( selectee.selecting ) { + if ( ( event.metaKey || event.ctrlKey ) && selectee.startselected ) { + that._removeClass( selectee.$element, "ui-selecting" ); + selectee.selecting = false; + that._addClass( selectee.$element, "ui-selected" ); + selectee.selected = true; + } else { + that._removeClass( selectee.$element, "ui-selecting" ); + selectee.selecting = false; + if ( selectee.startselected ) { + that._addClass( selectee.$element, "ui-unselecting" ); + selectee.unselecting = true; + } + + // selectable UNSELECTING callback + that._trigger( "unselecting", event, { + unselecting: selectee.element + } ); + } + } + if ( selectee.selected ) { + if ( !event.metaKey && !event.ctrlKey && !selectee.startselected ) { + that._removeClass( selectee.$element, "ui-selected" ); + selectee.selected = false; + + that._addClass( selectee.$element, "ui-unselecting" ); + selectee.unselecting = true; + + // selectable UNSELECTING callback + that._trigger( "unselecting", event, { + unselecting: selectee.element + } ); + } + } + } + } ); + + return false; + }, + + _mouseStop: function( event ) { + var that = this; + + this.dragged = false; + + $( ".ui-unselecting", this.element[ 0 ] ).each( function() { + var selectee = $.data( this, "selectable-item" ); + that._removeClass( selectee.$element, "ui-unselecting" ); + selectee.unselecting = false; + selectee.startselected = false; + that._trigger( "unselected", event, { + unselected: selectee.element + } ); + } ); + $( ".ui-selecting", this.element[ 0 ] ).each( function() { + var selectee = $.data( this, "selectable-item" ); + that._removeClass( selectee.$element, "ui-selecting" ) + ._addClass( selectee.$element, "ui-selected" ); + selectee.selecting = false; + selectee.selected = true; + selectee.startselected = true; + that._trigger( "selected", event, { + selected: selectee.element + } ); + } ); + this._trigger( "stop", event ); + + this.helper.remove(); + + return false; + } + +} ); + + +/*! + * jQuery UI Selectmenu 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Selectmenu +//>>group: Widgets +// jscs:disable maximumLineLength +//>>description: Duplicates and extends the functionality of a native HTML select element, allowing it to be customizable in behavior and appearance far beyond the limitations of a native select. +// jscs:enable maximumLineLength +//>>docs: http://api.jqueryui.com/selectmenu/ +//>>demos: http://jqueryui.com/selectmenu/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/selectmenu.css, ../../themes/base/button.css +//>>css.theme: ../../themes/base/theme.css + + + +var widgetsSelectmenu = $.widget( "ui.selectmenu", [ $.ui.formResetMixin, { + version: "1.12.1", + defaultElement: "<select>", + options: { + appendTo: null, + classes: { + "ui-selectmenu-button-open": "ui-corner-top", + "ui-selectmenu-button-closed": "ui-corner-all" + }, + disabled: null, + icons: { + button: "ui-icon-triangle-1-s" + }, + position: { + my: "left top", + at: "left bottom", + collision: "none" + }, + width: false, + + // Callbacks + change: null, + close: null, + focus: null, + open: null, + select: null + }, + + _create: function() { + var selectmenuId = this.element.uniqueId().attr( "id" ); + this.ids = { + element: selectmenuId, + button: selectmenuId + "-button", + menu: selectmenuId + "-menu" + }; + + this._drawButton(); + this._drawMenu(); + this._bindFormResetHandler(); + + this._rendered = false; + this.menuItems = $(); + }, + + _drawButton: function() { + var icon, + that = this, + item = this._parseOption( + this.element.find( "option:selected" ), + this.element[ 0 ].selectedIndex + ); + + // Associate existing label with the new button + this.labels = this.element.labels().attr( "for", this.ids.button ); + this._on( this.labels, { + click: function( event ) { + this.button.focus(); + event.preventDefault(); + } + } ); + + // Hide original select element + this.element.hide(); + + // Create button + this.button = $( "<span>", { + tabindex: this.options.disabled ? -1 : 0, + id: this.ids.button, + role: "combobox", + "aria-expanded": "false", + "aria-autocomplete": "list", + "aria-owns": this.ids.menu, + "aria-haspopup": "true", + title: this.element.attr( "title" ) + } ) + .insertAfter( this.element ); + + this._addClass( this.button, "ui-selectmenu-button ui-selectmenu-button-closed", + "ui-button ui-widget" ); + + icon = $( "<span>" ).appendTo( this.button ); + this._addClass( icon, "ui-selectmenu-icon", "ui-icon " + this.options.icons.button ); + this.buttonItem = this._renderButtonItem( item ) + .appendTo( this.button ); + + if ( this.options.width !== false ) { + this._resizeButton(); + } + + this._on( this.button, this._buttonEvents ); + this.button.one( "focusin", function() { + + // Delay rendering the menu items until the button receives focus. + // The menu may have already been rendered via a programmatic open. + if ( !that._rendered ) { + that._refreshMenu(); + } + } ); + }, + + _drawMenu: function() { + var that = this; + + // Create menu + this.menu = $( "<ul>", { + "aria-hidden": "true", + "aria-labelledby": this.ids.button, + id: this.ids.menu + } ); + + // Wrap menu + this.menuWrap = $( "<div>" ).append( this.menu ); + this._addClass( this.menuWrap, "ui-selectmenu-menu", "ui-front" ); + this.menuWrap.appendTo( this._appendTo() ); + + // Initialize menu widget + this.menuInstance = this.menu + .menu( { + classes: { + "ui-menu": "ui-corner-bottom" + }, + role: "listbox", + select: function( event, ui ) { + event.preventDefault(); + + // Support: IE8 + // If the item was selected via a click, the text selection + // will be destroyed in IE + that._setSelection(); + + that._select( ui.item.data( "ui-selectmenu-item" ), event ); + }, + focus: function( event, ui ) { + var item = ui.item.data( "ui-selectmenu-item" ); + + // Prevent inital focus from firing and check if its a newly focused item + if ( that.focusIndex != null && item.index !== that.focusIndex ) { + that._trigger( "focus", event, { item: item } ); + if ( !that.isOpen ) { + that._select( item, event ); + } + } + that.focusIndex = item.index; + + that.button.attr( "aria-activedescendant", + that.menuItems.eq( item.index ).attr( "id" ) ); + } + } ) + .menu( "instance" ); + + // Don't close the menu on mouseleave + this.menuInstance._off( this.menu, "mouseleave" ); + + // Cancel the menu's collapseAll on document click + this.menuInstance._closeOnDocumentClick = function() { + return false; + }; + + // Selects often contain empty items, but never contain dividers + this.menuInstance._isDivider = function() { + return false; + }; + }, + + refresh: function() { + this._refreshMenu(); + this.buttonItem.replaceWith( + this.buttonItem = this._renderButtonItem( + + // Fall back to an empty object in case there are no options + this._getSelectedItem().data( "ui-selectmenu-item" ) || {} + ) + ); + if ( this.options.width === null ) { + this._resizeButton(); + } + }, + + _refreshMenu: function() { + var item, + options = this.element.find( "option" ); + + this.menu.empty(); + + this._parseOptions( options ); + this._renderMenu( this.menu, this.items ); + + this.menuInstance.refresh(); + this.menuItems = this.menu.find( "li" ) + .not( ".ui-selectmenu-optgroup" ) + .find( ".ui-menu-item-wrapper" ); + + this._rendered = true; + + if ( !options.length ) { + return; + } + + item = this._getSelectedItem(); + + // Update the menu to have the correct item focused + this.menuInstance.focus( null, item ); + this._setAria( item.data( "ui-selectmenu-item" ) ); + + // Set disabled state + this._setOption( "disabled", this.element.prop( "disabled" ) ); + }, + + open: function( event ) { + if ( this.options.disabled ) { + return; + } + + // If this is the first time the menu is being opened, render the items + if ( !this._rendered ) { + this._refreshMenu(); + } else { + + // Menu clears focus on close, reset focus to selected item + this._removeClass( this.menu.find( ".ui-state-active" ), null, "ui-state-active" ); + this.menuInstance.focus( null, this._getSelectedItem() ); + } + + // If there are no options, don't open the menu + if ( !this.menuItems.length ) { + return; + } + + this.isOpen = true; + this._toggleAttr(); + this._resizeMenu(); + this._position(); + + this._on( this.document, this._documentClick ); + + this._trigger( "open", event ); + }, + + _position: function() { + this.menuWrap.position( $.extend( { of: this.button }, this.options.position ) ); + }, + + close: function( event ) { + if ( !this.isOpen ) { + return; + } + + this.isOpen = false; + this._toggleAttr(); + + this.range = null; + this._off( this.document ); + + this._trigger( "close", event ); + }, + + widget: function() { + return this.button; + }, + + menuWidget: function() { + return this.menu; + }, + + _renderButtonItem: function( item ) { + var buttonItem = $( "<span>" ); + + this._setText( buttonItem, item.label ); + this._addClass( buttonItem, "ui-selectmenu-text" ); + + return buttonItem; + }, + + _renderMenu: function( ul, items ) { + var that = this, + currentOptgroup = ""; + + $.each( items, function( index, item ) { + var li; + + if ( item.optgroup !== currentOptgroup ) { + li = $( "<li>", { + text: item.optgroup + } ); + that._addClass( li, "ui-selectmenu-optgroup", "ui-menu-divider" + + ( item.element.parent( "optgroup" ).prop( "disabled" ) ? + " ui-state-disabled" : + "" ) ); + + li.appendTo( ul ); + + currentOptgroup = item.optgroup; + } + + that._renderItemData( ul, item ); + } ); + }, + + _renderItemData: function( ul, item ) { + return this._renderItem( ul, item ).data( "ui-selectmenu-item", item ); + }, + + _renderItem: function( ul, item ) { + var li = $( "<li>" ), + wrapper = $( "<div>", { + title: item.element.attr( "title" ) + } ); + + if ( item.disabled ) { + this._addClass( li, null, "ui-state-disabled" ); + } + this._setText( wrapper, item.label ); + + return li.append( wrapper ).appendTo( ul ); + }, + + _setText: function( element, value ) { + if ( value ) { + element.text( value ); + } else { + element.html( "&#160;" ); + } + }, + + _move: function( direction, event ) { + var item, next, + filter = ".ui-menu-item"; + + if ( this.isOpen ) { + item = this.menuItems.eq( this.focusIndex ).parent( "li" ); + } else { + item = this.menuItems.eq( this.element[ 0 ].selectedIndex ).parent( "li" ); + filter += ":not(.ui-state-disabled)"; + } + + if ( direction === "first" || direction === "last" ) { + next = item[ direction === "first" ? "prevAll" : "nextAll" ]( filter ).eq( -1 ); + } else { + next = item[ direction + "All" ]( filter ).eq( 0 ); + } + + if ( next.length ) { + this.menuInstance.focus( event, next ); + } + }, + + _getSelectedItem: function() { + return this.menuItems.eq( this.element[ 0 ].selectedIndex ).parent( "li" ); + }, + + _toggle: function( event ) { + this[ this.isOpen ? "close" : "open" ]( event ); + }, + + _setSelection: function() { + var selection; + + if ( !this.range ) { + return; + } + + if ( window.getSelection ) { + selection = window.getSelection(); + selection.removeAllRanges(); + selection.addRange( this.range ); + + // Support: IE8 + } else { + this.range.select(); + } + + // Support: IE + // Setting the text selection kills the button focus in IE, but + // restoring the focus doesn't kill the selection. + this.button.focus(); + }, + + _documentClick: { + mousedown: function( event ) { + if ( !this.isOpen ) { + return; + } + + if ( !$( event.target ).closest( ".ui-selectmenu-menu, #" + + $.ui.escapeSelector( this.ids.button ) ).length ) { + this.close( event ); + } + } + }, + + _buttonEvents: { + + // Prevent text selection from being reset when interacting with the selectmenu (#10144) + mousedown: function() { + var selection; + + if ( window.getSelection ) { + selection = window.getSelection(); + if ( selection.rangeCount ) { + this.range = selection.getRangeAt( 0 ); + } + + // Support: IE8 + } else { + this.range = document.selection.createRange(); + } + }, + + click: function( event ) { + this._setSelection(); + this._toggle( event ); + }, + + keydown: function( event ) { + var preventDefault = true; + switch ( event.keyCode ) { + case $.ui.keyCode.TAB: + case $.ui.keyCode.ESCAPE: + this.close( event ); + preventDefault = false; + break; + case $.ui.keyCode.ENTER: + if ( this.isOpen ) { + this._selectFocusedItem( event ); + } + break; + case $.ui.keyCode.UP: + if ( event.altKey ) { + this._toggle( event ); + } else { + this._move( "prev", event ); + } + break; + case $.ui.keyCode.DOWN: + if ( event.altKey ) { + this._toggle( event ); + } else { + this._move( "next", event ); + } + break; + case $.ui.keyCode.SPACE: + if ( this.isOpen ) { + this._selectFocusedItem( event ); + } else { + this._toggle( event ); + } + break; + case $.ui.keyCode.LEFT: + this._move( "prev", event ); + break; + case $.ui.keyCode.RIGHT: + this._move( "next", event ); + break; + case $.ui.keyCode.HOME: + case $.ui.keyCode.PAGE_UP: + this._move( "first", event ); + break; + case $.ui.keyCode.END: + case $.ui.keyCode.PAGE_DOWN: + this._move( "last", event ); + break; + default: + this.menu.trigger( event ); + preventDefault = false; + } + + if ( preventDefault ) { + event.preventDefault(); + } + } + }, + + _selectFocusedItem: function( event ) { + var item = this.menuItems.eq( this.focusIndex ).parent( "li" ); + if ( !item.hasClass( "ui-state-disabled" ) ) { + this._select( item.data( "ui-selectmenu-item" ), event ); + } + }, + + _select: function( item, event ) { + var oldIndex = this.element[ 0 ].selectedIndex; + + // Change native select element + this.element[ 0 ].selectedIndex = item.index; + this.buttonItem.replaceWith( this.buttonItem = this._renderButtonItem( item ) ); + this._setAria( item ); + this._trigger( "select", event, { item: item } ); + + if ( item.index !== oldIndex ) { + this._trigger( "change", event, { item: item } ); + } + + this.close( event ); + }, + + _setAria: function( item ) { + var id = this.menuItems.eq( item.index ).attr( "id" ); + + this.button.attr( { + "aria-labelledby": id, + "aria-activedescendant": id + } ); + this.menu.attr( "aria-activedescendant", id ); + }, + + _setOption: function( key, value ) { + if ( key === "icons" ) { + var icon = this.button.find( "span.ui-icon" ); + this._removeClass( icon, null, this.options.icons.button ) + ._addClass( icon, null, value.button ); + } + + this._super( key, value ); + + if ( key === "appendTo" ) { + this.menuWrap.appendTo( this._appendTo() ); + } + + if ( key === "width" ) { + this._resizeButton(); + } + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this.menuInstance.option( "disabled", value ); + this.button.attr( "aria-disabled", value ); + this._toggleClass( this.button, null, "ui-state-disabled", value ); + + this.element.prop( "disabled", value ); + if ( value ) { + this.button.attr( "tabindex", -1 ); + this.close(); + } else { + this.button.attr( "tabindex", 0 ); + } + }, + + _appendTo: function() { + var element = this.options.appendTo; + + if ( element ) { + element = element.jquery || element.nodeType ? + $( element ) : + this.document.find( element ).eq( 0 ); + } + + if ( !element || !element[ 0 ] ) { + element = this.element.closest( ".ui-front, dialog" ); + } + + if ( !element.length ) { + element = this.document[ 0 ].body; + } + + return element; + }, + + _toggleAttr: function() { + this.button.attr( "aria-expanded", this.isOpen ); + + // We can't use two _toggleClass() calls here, because we need to make sure + // we always remove classes first and add them second, otherwise if both classes have the + // same theme class, it will be removed after we add it. + this._removeClass( this.button, "ui-selectmenu-button-" + + ( this.isOpen ? "closed" : "open" ) ) + ._addClass( this.button, "ui-selectmenu-button-" + + ( this.isOpen ? "open" : "closed" ) ) + ._toggleClass( this.menuWrap, "ui-selectmenu-open", null, this.isOpen ); + + this.menu.attr( "aria-hidden", !this.isOpen ); + }, + + _resizeButton: function() { + var width = this.options.width; + + // For `width: false`, just remove inline style and stop + if ( width === false ) { + this.button.css( "width", "" ); + return; + } + + // For `width: null`, match the width of the original element + if ( width === null ) { + width = this.element.show().outerWidth(); + this.element.hide(); + } + + this.button.outerWidth( width ); + }, + + _resizeMenu: function() { + this.menu.outerWidth( Math.max( + this.button.outerWidth(), + + // Support: IE10 + // IE10 wraps long text (possibly a rounding bug) + // so we add 1px to avoid the wrapping + this.menu.width( "" ).outerWidth() + 1 + ) ); + }, + + _getCreateOptions: function() { + var options = this._super(); + + options.disabled = this.element.prop( "disabled" ); + + return options; + }, + + _parseOptions: function( options ) { + var that = this, + data = []; + options.each( function( index, item ) { + data.push( that._parseOption( $( item ), index ) ); + } ); + this.items = data; + }, + + _parseOption: function( option, index ) { + var optgroup = option.parent( "optgroup" ); + + return { + element: option, + index: index, + value: option.val(), + label: option.text(), + optgroup: optgroup.attr( "label" ) || "", + disabled: optgroup.prop( "disabled" ) || option.prop( "disabled" ) + }; + }, + + _destroy: function() { + this._unbindFormResetHandler(); + this.menuWrap.remove(); + this.button.remove(); + this.element.show(); + this.element.removeUniqueId(); + this.labels.attr( "for", this.ids.element ); + } +} ] ); + + +/*! + * jQuery UI Slider 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Slider +//>>group: Widgets +//>>description: Displays a flexible slider with ranges and accessibility via keyboard. +//>>docs: http://api.jqueryui.com/slider/ +//>>demos: http://jqueryui.com/slider/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/slider.css +//>>css.theme: ../../themes/base/theme.css + + + +var widgetsSlider = $.widget( "ui.slider", $.ui.mouse, { + version: "1.12.1", + widgetEventPrefix: "slide", + + options: { + animate: false, + classes: { + "ui-slider": "ui-corner-all", + "ui-slider-handle": "ui-corner-all", + + // Note: ui-widget-header isn't the most fittingly semantic framework class for this + // element, but worked best visually with a variety of themes + "ui-slider-range": "ui-corner-all ui-widget-header" + }, + distance: 0, + max: 100, + min: 0, + orientation: "horizontal", + range: false, + step: 1, + value: 0, + values: null, + + // Callbacks + change: null, + slide: null, + start: null, + stop: null + }, + + // Number of pages in a slider + // (how many times can you page up/down to go through the whole range) + numPages: 5, + + _create: function() { + this._keySliding = false; + this._mouseSliding = false; + this._animateOff = true; + this._handleIndex = null; + this._detectOrientation(); + this._mouseInit(); + this._calculateNewMax(); + + this._addClass( "ui-slider ui-slider-" + this.orientation, + "ui-widget ui-widget-content" ); + + this._refresh(); + + this._animateOff = false; + }, + + _refresh: function() { + this._createRange(); + this._createHandles(); + this._setupEvents(); + this._refreshValue(); + }, + + _createHandles: function() { + var i, handleCount, + options = this.options, + existingHandles = this.element.find( ".ui-slider-handle" ), + handle = "<span tabindex='0'></span>", + handles = []; + + handleCount = ( options.values && options.values.length ) || 1; + + if ( existingHandles.length > handleCount ) { + existingHandles.slice( handleCount ).remove(); + existingHandles = existingHandles.slice( 0, handleCount ); + } + + for ( i = existingHandles.length; i < handleCount; i++ ) { + handles.push( handle ); + } + + this.handles = existingHandles.add( $( handles.join( "" ) ).appendTo( this.element ) ); + + this._addClass( this.handles, "ui-slider-handle", "ui-state-default" ); + + this.handle = this.handles.eq( 0 ); + + this.handles.each( function( i ) { + $( this ) + .data( "ui-slider-handle-index", i ) + .attr( "tabIndex", 0 ); + } ); + }, + + _createRange: function() { + var options = this.options; + + if ( options.range ) { + if ( options.range === true ) { + if ( !options.values ) { + options.values = [ this._valueMin(), this._valueMin() ]; + } else if ( options.values.length && options.values.length !== 2 ) { + options.values = [ options.values[ 0 ], options.values[ 0 ] ]; + } else if ( $.isArray( options.values ) ) { + options.values = options.values.slice( 0 ); + } + } + + if ( !this.range || !this.range.length ) { + this.range = $( "<div>" ) + .appendTo( this.element ); + + this._addClass( this.range, "ui-slider-range" ); + } else { + this._removeClass( this.range, "ui-slider-range-min ui-slider-range-max" ); + + // Handle range switching from true to min/max + this.range.css( { + "left": "", + "bottom": "" + } ); + } + if ( options.range === "min" || options.range === "max" ) { + this._addClass( this.range, "ui-slider-range-" + options.range ); + } + } else { + if ( this.range ) { + this.range.remove(); + } + this.range = null; + } + }, + + _setupEvents: function() { + this._off( this.handles ); + this._on( this.handles, this._handleEvents ); + this._hoverable( this.handles ); + this._focusable( this.handles ); + }, + + _destroy: function() { + this.handles.remove(); + if ( this.range ) { + this.range.remove(); + } + + this._mouseDestroy(); + }, + + _mouseCapture: function( event ) { + var position, normValue, distance, closestHandle, index, allowed, offset, mouseOverHandle, + that = this, + o = this.options; + + if ( o.disabled ) { + return false; + } + + this.elementSize = { + width: this.element.outerWidth(), + height: this.element.outerHeight() + }; + this.elementOffset = this.element.offset(); + + position = { x: event.pageX, y: event.pageY }; + normValue = this._normValueFromMouse( position ); + distance = this._valueMax() - this._valueMin() + 1; + this.handles.each( function( i ) { + var thisDistance = Math.abs( normValue - that.values( i ) ); + if ( ( distance > thisDistance ) || + ( distance === thisDistance && + ( i === that._lastChangedValue || that.values( i ) === o.min ) ) ) { + distance = thisDistance; + closestHandle = $( this ); + index = i; + } + } ); + + allowed = this._start( event, index ); + if ( allowed === false ) { + return false; + } + this._mouseSliding = true; + + this._handleIndex = index; + + this._addClass( closestHandle, null, "ui-state-active" ); + closestHandle.trigger( "focus" ); + + offset = closestHandle.offset(); + mouseOverHandle = !$( event.target ).parents().addBack().is( ".ui-slider-handle" ); + this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : { + left: event.pageX - offset.left - ( closestHandle.width() / 2 ), + top: event.pageY - offset.top - + ( closestHandle.height() / 2 ) - + ( parseInt( closestHandle.css( "borderTopWidth" ), 10 ) || 0 ) - + ( parseInt( closestHandle.css( "borderBottomWidth" ), 10 ) || 0 ) + + ( parseInt( closestHandle.css( "marginTop" ), 10 ) || 0 ) + }; + + if ( !this.handles.hasClass( "ui-state-hover" ) ) { + this._slide( event, index, normValue ); + } + this._animateOff = true; + return true; + }, + + _mouseStart: function() { + return true; + }, + + _mouseDrag: function( event ) { + var position = { x: event.pageX, y: event.pageY }, + normValue = this._normValueFromMouse( position ); + + this._slide( event, this._handleIndex, normValue ); + + return false; + }, + + _mouseStop: function( event ) { + this._removeClass( this.handles, null, "ui-state-active" ); + this._mouseSliding = false; + + this._stop( event, this._handleIndex ); + this._change( event, this._handleIndex ); + + this._handleIndex = null; + this._clickOffset = null; + this._animateOff = false; + + return false; + }, + + _detectOrientation: function() { + this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal"; + }, + + _normValueFromMouse: function( position ) { + var pixelTotal, + pixelMouse, + percentMouse, + valueTotal, + valueMouse; + + if ( this.orientation === "horizontal" ) { + pixelTotal = this.elementSize.width; + pixelMouse = position.x - this.elementOffset.left - + ( this._clickOffset ? this._clickOffset.left : 0 ); + } else { + pixelTotal = this.elementSize.height; + pixelMouse = position.y - this.elementOffset.top - + ( this._clickOffset ? this._clickOffset.top : 0 ); + } + + percentMouse = ( pixelMouse / pixelTotal ); + if ( percentMouse > 1 ) { + percentMouse = 1; + } + if ( percentMouse < 0 ) { + percentMouse = 0; + } + if ( this.orientation === "vertical" ) { + percentMouse = 1 - percentMouse; + } + + valueTotal = this._valueMax() - this._valueMin(); + valueMouse = this._valueMin() + percentMouse * valueTotal; + + return this._trimAlignValue( valueMouse ); + }, + + _uiHash: function( index, value, values ) { + var uiHash = { + handle: this.handles[ index ], + handleIndex: index, + value: value !== undefined ? value : this.value() + }; + + if ( this._hasMultipleValues() ) { + uiHash.value = value !== undefined ? value : this.values( index ); + uiHash.values = values || this.values(); + } + + return uiHash; + }, + + _hasMultipleValues: function() { + return this.options.values && this.options.values.length; + }, + + _start: function( event, index ) { + return this._trigger( "start", event, this._uiHash( index ) ); + }, + + _slide: function( event, index, newVal ) { + var allowed, otherVal, + currentValue = this.value(), + newValues = this.values(); + + if ( this._hasMultipleValues() ) { + otherVal = this.values( index ? 0 : 1 ); + currentValue = this.values( index ); + + if ( this.options.values.length === 2 && this.options.range === true ) { + newVal = index === 0 ? Math.min( otherVal, newVal ) : Math.max( otherVal, newVal ); + } + + newValues[ index ] = newVal; + } + + if ( newVal === currentValue ) { + return; + } + + allowed = this._trigger( "slide", event, this._uiHash( index, newVal, newValues ) ); + + // A slide can be canceled by returning false from the slide callback + if ( allowed === false ) { + return; + } + + if ( this._hasMultipleValues() ) { + this.values( index, newVal ); + } else { + this.value( newVal ); + } + }, + + _stop: function( event, index ) { + this._trigger( "stop", event, this._uiHash( index ) ); + }, + + _change: function( event, index ) { + if ( !this._keySliding && !this._mouseSliding ) { + + //store the last changed value index for reference when handles overlap + this._lastChangedValue = index; + this._trigger( "change", event, this._uiHash( index ) ); + } + }, + + value: function( newValue ) { + if ( arguments.length ) { + this.options.value = this._trimAlignValue( newValue ); + this._refreshValue(); + this._change( null, 0 ); + return; + } + + return this._value(); + }, + + values: function( index, newValue ) { + var vals, + newValues, + i; + + if ( arguments.length > 1 ) { + this.options.values[ index ] = this._trimAlignValue( newValue ); + this._refreshValue(); + this._change( null, index ); + return; + } + + if ( arguments.length ) { + if ( $.isArray( arguments[ 0 ] ) ) { + vals = this.options.values; + newValues = arguments[ 0 ]; + for ( i = 0; i < vals.length; i += 1 ) { + vals[ i ] = this._trimAlignValue( newValues[ i ] ); + this._change( null, i ); + } + this._refreshValue(); + } else { + if ( this._hasMultipleValues() ) { + return this._values( index ); + } else { + return this.value(); + } + } + } else { + return this._values(); + } + }, + + _setOption: function( key, value ) { + var i, + valsLength = 0; + + if ( key === "range" && this.options.range === true ) { + if ( value === "min" ) { + this.options.value = this._values( 0 ); + this.options.values = null; + } else if ( value === "max" ) { + this.options.value = this._values( this.options.values.length - 1 ); + this.options.values = null; + } + } + + if ( $.isArray( this.options.values ) ) { + valsLength = this.options.values.length; + } + + this._super( key, value ); + + switch ( key ) { + case "orientation": + this._detectOrientation(); + this._removeClass( "ui-slider-horizontal ui-slider-vertical" ) + ._addClass( "ui-slider-" + this.orientation ); + this._refreshValue(); + if ( this.options.range ) { + this._refreshRange( value ); + } + + // Reset positioning from previous orientation + this.handles.css( value === "horizontal" ? "bottom" : "left", "" ); + break; + case "value": + this._animateOff = true; + this._refreshValue(); + this._change( null, 0 ); + this._animateOff = false; + break; + case "values": + this._animateOff = true; + this._refreshValue(); + + // Start from the last handle to prevent unreachable handles (#9046) + for ( i = valsLength - 1; i >= 0; i-- ) { + this._change( null, i ); + } + this._animateOff = false; + break; + case "step": + case "min": + case "max": + this._animateOff = true; + this._calculateNewMax(); + this._refreshValue(); + this._animateOff = false; + break; + case "range": + this._animateOff = true; + this._refresh(); + this._animateOff = false; + break; + } + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this._toggleClass( null, "ui-state-disabled", !!value ); + }, + + //internal value getter + // _value() returns value trimmed by min and max, aligned by step + _value: function() { + var val = this.options.value; + val = this._trimAlignValue( val ); + + return val; + }, + + //internal values getter + // _values() returns array of values trimmed by min and max, aligned by step + // _values( index ) returns single value trimmed by min and max, aligned by step + _values: function( index ) { + var val, + vals, + i; + + if ( arguments.length ) { + val = this.options.values[ index ]; + val = this._trimAlignValue( val ); + + return val; + } else if ( this._hasMultipleValues() ) { + + // .slice() creates a copy of the array + // this copy gets trimmed by min and max and then returned + vals = this.options.values.slice(); + for ( i = 0; i < vals.length; i += 1 ) { + vals[ i ] = this._trimAlignValue( vals[ i ] ); + } + + return vals; + } else { + return []; + } + }, + + // Returns the step-aligned value that val is closest to, between (inclusive) min and max + _trimAlignValue: function( val ) { + if ( val <= this._valueMin() ) { + return this._valueMin(); + } + if ( val >= this._valueMax() ) { + return this._valueMax(); + } + var step = ( this.options.step > 0 ) ? this.options.step : 1, + valModStep = ( val - this._valueMin() ) % step, + alignValue = val - valModStep; + + if ( Math.abs( valModStep ) * 2 >= step ) { + alignValue += ( valModStep > 0 ) ? step : ( -step ); + } + + // Since JavaScript has problems with large floats, round + // the final value to 5 digits after the decimal point (see #4124) + return parseFloat( alignValue.toFixed( 5 ) ); + }, + + _calculateNewMax: function() { + var max = this.options.max, + min = this._valueMin(), + step = this.options.step, + aboveMin = Math.round( ( max - min ) / step ) * step; + max = aboveMin + min; + if ( max > this.options.max ) { + + //If max is not divisible by step, rounding off may increase its value + max -= step; + } + this.max = parseFloat( max.toFixed( this._precision() ) ); + }, + + _precision: function() { + var precision = this._precisionOf( this.options.step ); + if ( this.options.min !== null ) { + precision = Math.max( precision, this._precisionOf( this.options.min ) ); + } + return precision; + }, + + _precisionOf: function( num ) { + var str = num.toString(), + decimal = str.indexOf( "." ); + return decimal === -1 ? 0 : str.length - decimal - 1; + }, + + _valueMin: function() { + return this.options.min; + }, + + _valueMax: function() { + return this.max; + }, + + _refreshRange: function( orientation ) { + if ( orientation === "vertical" ) { + this.range.css( { "width": "", "left": "" } ); + } + if ( orientation === "horizontal" ) { + this.range.css( { "height": "", "bottom": "" } ); + } + }, + + _refreshValue: function() { + var lastValPercent, valPercent, value, valueMin, valueMax, + oRange = this.options.range, + o = this.options, + that = this, + animate = ( !this._animateOff ) ? o.animate : false, + _set = {}; + + if ( this._hasMultipleValues() ) { + this.handles.each( function( i ) { + valPercent = ( that.values( i ) - that._valueMin() ) / ( that._valueMax() - + that._valueMin() ) * 100; + _set[ that.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; + $( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); + if ( that.options.range === true ) { + if ( that.orientation === "horizontal" ) { + if ( i === 0 ) { + that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + left: valPercent + "%" + }, o.animate ); + } + if ( i === 1 ) { + that.range[ animate ? "animate" : "css" ]( { + width: ( valPercent - lastValPercent ) + "%" + }, { + queue: false, + duration: o.animate + } ); + } + } else { + if ( i === 0 ) { + that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + bottom: ( valPercent ) + "%" + }, o.animate ); + } + if ( i === 1 ) { + that.range[ animate ? "animate" : "css" ]( { + height: ( valPercent - lastValPercent ) + "%" + }, { + queue: false, + duration: o.animate + } ); + } + } + } + lastValPercent = valPercent; + } ); + } else { + value = this.value(); + valueMin = this._valueMin(); + valueMax = this._valueMax(); + valPercent = ( valueMax !== valueMin ) ? + ( value - valueMin ) / ( valueMax - valueMin ) * 100 : + 0; + _set[ this.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; + this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); + + if ( oRange === "min" && this.orientation === "horizontal" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + width: valPercent + "%" + }, o.animate ); + } + if ( oRange === "max" && this.orientation === "horizontal" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + width: ( 100 - valPercent ) + "%" + }, o.animate ); + } + if ( oRange === "min" && this.orientation === "vertical" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + height: valPercent + "%" + }, o.animate ); + } + if ( oRange === "max" && this.orientation === "vertical" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + height: ( 100 - valPercent ) + "%" + }, o.animate ); + } + } + }, + + _handleEvents: { + keydown: function( event ) { + var allowed, curVal, newVal, step, + index = $( event.target ).data( "ui-slider-handle-index" ); + + switch ( event.keyCode ) { + case $.ui.keyCode.HOME: + case $.ui.keyCode.END: + case $.ui.keyCode.PAGE_UP: + case $.ui.keyCode.PAGE_DOWN: + case $.ui.keyCode.UP: + case $.ui.keyCode.RIGHT: + case $.ui.keyCode.DOWN: + case $.ui.keyCode.LEFT: + event.preventDefault(); + if ( !this._keySliding ) { + this._keySliding = true; + this._addClass( $( event.target ), null, "ui-state-active" ); + allowed = this._start( event, index ); + if ( allowed === false ) { + return; + } + } + break; + } + + step = this.options.step; + if ( this._hasMultipleValues() ) { + curVal = newVal = this.values( index ); + } else { + curVal = newVal = this.value(); + } + + switch ( event.keyCode ) { + case $.ui.keyCode.HOME: + newVal = this._valueMin(); + break; + case $.ui.keyCode.END: + newVal = this._valueMax(); + break; + case $.ui.keyCode.PAGE_UP: + newVal = this._trimAlignValue( + curVal + ( ( this._valueMax() - this._valueMin() ) / this.numPages ) + ); + break; + case $.ui.keyCode.PAGE_DOWN: + newVal = this._trimAlignValue( + curVal - ( ( this._valueMax() - this._valueMin() ) / this.numPages ) ); + break; + case $.ui.keyCode.UP: + case $.ui.keyCode.RIGHT: + if ( curVal === this._valueMax() ) { + return; + } + newVal = this._trimAlignValue( curVal + step ); + break; + case $.ui.keyCode.DOWN: + case $.ui.keyCode.LEFT: + if ( curVal === this._valueMin() ) { + return; + } + newVal = this._trimAlignValue( curVal - step ); + break; + } + + this._slide( event, index, newVal ); + }, + keyup: function( event ) { + var index = $( event.target ).data( "ui-slider-handle-index" ); + + if ( this._keySliding ) { + this._keySliding = false; + this._stop( event, index ); + this._change( event, index ); + this._removeClass( $( event.target ), null, "ui-state-active" ); + } + } + } +} ); + + +/*! + * jQuery UI Sortable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Sortable +//>>group: Interactions +//>>description: Enables items in a list to be sorted using the mouse. +//>>docs: http://api.jqueryui.com/sortable/ +//>>demos: http://jqueryui.com/sortable/ +//>>css.structure: ../../themes/base/sortable.css + + + +var widgetsSortable = $.widget( "ui.sortable", $.ui.mouse, { + version: "1.12.1", + widgetEventPrefix: "sort", + ready: false, + options: { + appendTo: "parent", + axis: false, + connectWith: false, + containment: false, + cursor: "auto", + cursorAt: false, + dropOnEmpty: true, + forcePlaceholderSize: false, + forceHelperSize: false, + grid: false, + handle: false, + helper: "original", + items: "> *", + opacity: false, + placeholder: false, + revert: false, + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + scope: "default", + tolerance: "intersect", + zIndex: 1000, + + // Callbacks + activate: null, + beforeStop: null, + change: null, + deactivate: null, + out: null, + over: null, + receive: null, + remove: null, + sort: null, + start: null, + stop: null, + update: null + }, + + _isOverAxis: function( x, reference, size ) { + return ( x >= reference ) && ( x < ( reference + size ) ); + }, + + _isFloating: function( item ) { + return ( /left|right/ ).test( item.css( "float" ) ) || + ( /inline|table-cell/ ).test( item.css( "display" ) ); + }, + + _create: function() { + this.containerCache = {}; + this._addClass( "ui-sortable" ); + + //Get the items + this.refresh(); + + //Let's determine the parent's offset + this.offset = this.element.offset(); + + //Initialize mouse events for interaction + this._mouseInit(); + + this._setHandleClassName(); + + //We're ready to go + this.ready = true; + + }, + + _setOption: function( key, value ) { + this._super( key, value ); + + if ( key === "handle" ) { + this._setHandleClassName(); + } + }, + + _setHandleClassName: function() { + var that = this; + this._removeClass( this.element.find( ".ui-sortable-handle" ), "ui-sortable-handle" ); + $.each( this.items, function() { + that._addClass( + this.instance.options.handle ? + this.item.find( this.instance.options.handle ) : + this.item, + "ui-sortable-handle" + ); + } ); + }, + + _destroy: function() { + this._mouseDestroy(); + + for ( var i = this.items.length - 1; i >= 0; i-- ) { + this.items[ i ].item.removeData( this.widgetName + "-item" ); + } + + return this; + }, + + _mouseCapture: function( event, overrideHandle ) { + var currentItem = null, + validHandle = false, + that = this; + + if ( this.reverting ) { + return false; + } + + if ( this.options.disabled || this.options.type === "static" ) { + return false; + } + + //We have to refresh the items data once first + this._refreshItems( event ); + + //Find out if the clicked node (or one of its parents) is a actual item in this.items + $( event.target ).parents().each( function() { + if ( $.data( this, that.widgetName + "-item" ) === that ) { + currentItem = $( this ); + return false; + } + } ); + if ( $.data( event.target, that.widgetName + "-item" ) === that ) { + currentItem = $( event.target ); + } + + if ( !currentItem ) { + return false; + } + if ( this.options.handle && !overrideHandle ) { + $( this.options.handle, currentItem ).find( "*" ).addBack().each( function() { + if ( this === event.target ) { + validHandle = true; + } + } ); + if ( !validHandle ) { + return false; + } + } + + this.currentItem = currentItem; + this._removeCurrentsFromItems(); + return true; + + }, + + _mouseStart: function( event, overrideHandle, noActivation ) { + + var i, body, + o = this.options; + + this.currentContainer = this; + + //We only need to call refreshPositions, because the refreshItems call has been moved to + // mouseCapture + this.refreshPositions(); + + //Create and append the visible helper + this.helper = this._createHelper( event ); + + //Cache the helper size + this._cacheHelperProportions(); + + /* + * - Position generation - + * This block generates everything position related - it's the core of draggables. + */ + + //Cache the margins of the original element + this._cacheMargins(); + + //Get the next scrolling parent + this.scrollParent = this.helper.scrollParent(); + + //The element's absolute position on the page minus margins + this.offset = this.currentItem.offset(); + this.offset = { + top: this.offset.top - this.margins.top, + left: this.offset.left - this.margins.left + }; + + $.extend( this.offset, { + click: { //Where the click happened, relative to the element + left: event.pageX - this.offset.left, + top: event.pageY - this.offset.top + }, + parent: this._getParentOffset(), + + // This is a relative to absolute position minus the actual position calculation - + // only used for relative positioned helper + relative: this._getRelativeOffset() + } ); + + // Only after we got the offset, we can change the helper's position to absolute + // TODO: Still need to figure out a way to make relative sorting possible + this.helper.css( "position", "absolute" ); + this.cssPosition = this.helper.css( "position" ); + + //Generate the original position + this.originalPosition = this._generatePosition( event ); + this.originalPageX = event.pageX; + this.originalPageY = event.pageY; + + //Adjust the mouse offset relative to the helper if "cursorAt" is supplied + ( o.cursorAt && this._adjustOffsetFromHelper( o.cursorAt ) ); + + //Cache the former DOM position + this.domPosition = { + prev: this.currentItem.prev()[ 0 ], + parent: this.currentItem.parent()[ 0 ] + }; + + // If the helper is not the original, hide the original so it's not playing any role during + // the drag, won't cause anything bad this way + if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) { + this.currentItem.hide(); + } + + //Create the placeholder + this._createPlaceholder(); + + //Set a containment if given in the options + if ( o.containment ) { + this._setContainment(); + } + + if ( o.cursor && o.cursor !== "auto" ) { // cursor option + body = this.document.find( "body" ); + + // Support: IE + this.storedCursor = body.css( "cursor" ); + body.css( "cursor", o.cursor ); + + this.storedStylesheet = + $( "<style>*{ cursor: " + o.cursor + " !important; }</style>" ).appendTo( body ); + } + + if ( o.opacity ) { // opacity option + if ( this.helper.css( "opacity" ) ) { + this._storedOpacity = this.helper.css( "opacity" ); + } + this.helper.css( "opacity", o.opacity ); + } + + if ( o.zIndex ) { // zIndex option + if ( this.helper.css( "zIndex" ) ) { + this._storedZIndex = this.helper.css( "zIndex" ); + } + this.helper.css( "zIndex", o.zIndex ); + } + + //Prepare scrolling + if ( this.scrollParent[ 0 ] !== this.document[ 0 ] && + this.scrollParent[ 0 ].tagName !== "HTML" ) { + this.overflowOffset = this.scrollParent.offset(); + } + + //Call callbacks + this._trigger( "start", event, this._uiHash() ); + + //Recache the helper size + if ( !this._preserveHelperProportions ) { + this._cacheHelperProportions(); + } + + //Post "activate" events to possible containers + if ( !noActivation ) { + for ( i = this.containers.length - 1; i >= 0; i-- ) { + this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) ); + } + } + + //Prepare possible droppables + if ( $.ui.ddmanager ) { + $.ui.ddmanager.current = this; + } + + if ( $.ui.ddmanager && !o.dropBehaviour ) { + $.ui.ddmanager.prepareOffsets( this, event ); + } + + this.dragging = true; + + this._addClass( this.helper, "ui-sortable-helper" ); + + // Execute the drag once - this causes the helper not to be visiblebefore getting its + // correct position + this._mouseDrag( event ); + return true; + + }, + + _mouseDrag: function( event ) { + var i, item, itemElement, intersection, + o = this.options, + scrolled = false; + + //Compute the helpers position + this.position = this._generatePosition( event ); + this.positionAbs = this._convertPositionTo( "absolute" ); + + if ( !this.lastPositionAbs ) { + this.lastPositionAbs = this.positionAbs; + } + + //Do scrolling + if ( this.options.scroll ) { + if ( this.scrollParent[ 0 ] !== this.document[ 0 ] && + this.scrollParent[ 0 ].tagName !== "HTML" ) { + + if ( ( this.overflowOffset.top + this.scrollParent[ 0 ].offsetHeight ) - + event.pageY < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollTop = + scrolled = this.scrollParent[ 0 ].scrollTop + o.scrollSpeed; + } else if ( event.pageY - this.overflowOffset.top < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollTop = + scrolled = this.scrollParent[ 0 ].scrollTop - o.scrollSpeed; + } + + if ( ( this.overflowOffset.left + this.scrollParent[ 0 ].offsetWidth ) - + event.pageX < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollLeft = scrolled = + this.scrollParent[ 0 ].scrollLeft + o.scrollSpeed; + } else if ( event.pageX - this.overflowOffset.left < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollLeft = scrolled = + this.scrollParent[ 0 ].scrollLeft - o.scrollSpeed; + } + + } else { + + if ( event.pageY - this.document.scrollTop() < o.scrollSensitivity ) { + scrolled = this.document.scrollTop( this.document.scrollTop() - o.scrollSpeed ); + } else if ( this.window.height() - ( event.pageY - this.document.scrollTop() ) < + o.scrollSensitivity ) { + scrolled = this.document.scrollTop( this.document.scrollTop() + o.scrollSpeed ); + } + + if ( event.pageX - this.document.scrollLeft() < o.scrollSensitivity ) { + scrolled = this.document.scrollLeft( + this.document.scrollLeft() - o.scrollSpeed + ); + } else if ( this.window.width() - ( event.pageX - this.document.scrollLeft() ) < + o.scrollSensitivity ) { + scrolled = this.document.scrollLeft( + this.document.scrollLeft() + o.scrollSpeed + ); + } + + } + + if ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) { + $.ui.ddmanager.prepareOffsets( this, event ); + } + } + + //Regenerate the absolute position used for position checks + this.positionAbs = this._convertPositionTo( "absolute" ); + + //Set the helper position + if ( !this.options.axis || this.options.axis !== "y" ) { + this.helper[ 0 ].style.left = this.position.left + "px"; + } + if ( !this.options.axis || this.options.axis !== "x" ) { + this.helper[ 0 ].style.top = this.position.top + "px"; + } + + //Rearrange + for ( i = this.items.length - 1; i >= 0; i-- ) { + + //Cache variables and intersection, continue if no intersection + item = this.items[ i ]; + itemElement = item.item[ 0 ]; + intersection = this._intersectsWithPointer( item ); + if ( !intersection ) { + continue; + } + + // Only put the placeholder inside the current Container, skip all + // items from other containers. This works because when moving + // an item from one container to another the + // currentContainer is switched before the placeholder is moved. + // + // Without this, moving items in "sub-sortables" can cause + // the placeholder to jitter between the outer and inner container. + if ( item.instance !== this.currentContainer ) { + continue; + } + + // Cannot intersect with itself + // no useless actions that have been done before + // no action if the item moved is the parent of the item checked + if ( itemElement !== this.currentItem[ 0 ] && + this.placeholder[ intersection === 1 ? "next" : "prev" ]()[ 0 ] !== itemElement && + !$.contains( this.placeholder[ 0 ], itemElement ) && + ( this.options.type === "semi-dynamic" ? + !$.contains( this.element[ 0 ], itemElement ) : + true + ) + ) { + + this.direction = intersection === 1 ? "down" : "up"; + + if ( this.options.tolerance === "pointer" || this._intersectsWithSides( item ) ) { + this._rearrange( event, item ); + } else { + break; + } + + this._trigger( "change", event, this._uiHash() ); + break; + } + } + + //Post events to containers + this._contactContainers( event ); + + //Interconnect with droppables + if ( $.ui.ddmanager ) { + $.ui.ddmanager.drag( this, event ); + } + + //Call callbacks + this._trigger( "sort", event, this._uiHash() ); + + this.lastPositionAbs = this.positionAbs; + return false; + + }, + + _mouseStop: function( event, noPropagation ) { + + if ( !event ) { + return; + } + + //If we are using droppables, inform the manager about the drop + if ( $.ui.ddmanager && !this.options.dropBehaviour ) { + $.ui.ddmanager.drop( this, event ); + } + + if ( this.options.revert ) { + var that = this, + cur = this.placeholder.offset(), + axis = this.options.axis, + animation = {}; + + if ( !axis || axis === "x" ) { + animation.left = cur.left - this.offset.parent.left - this.margins.left + + ( this.offsetParent[ 0 ] === this.document[ 0 ].body ? + 0 : + this.offsetParent[ 0 ].scrollLeft + ); + } + if ( !axis || axis === "y" ) { + animation.top = cur.top - this.offset.parent.top - this.margins.top + + ( this.offsetParent[ 0 ] === this.document[ 0 ].body ? + 0 : + this.offsetParent[ 0 ].scrollTop + ); + } + this.reverting = true; + $( this.helper ).animate( + animation, + parseInt( this.options.revert, 10 ) || 500, + function() { + that._clear( event ); + } + ); + } else { + this._clear( event, noPropagation ); + } + + return false; + + }, + + cancel: function() { + + if ( this.dragging ) { + + this._mouseUp( new $.Event( "mouseup", { target: null } ) ); + + if ( this.options.helper === "original" ) { + this.currentItem.css( this._storedCSS ); + this._removeClass( this.currentItem, "ui-sortable-helper" ); + } else { + this.currentItem.show(); + } + + //Post deactivating events to containers + for ( var i = this.containers.length - 1; i >= 0; i-- ) { + this.containers[ i ]._trigger( "deactivate", null, this._uiHash( this ) ); + if ( this.containers[ i ].containerCache.over ) { + this.containers[ i ]._trigger( "out", null, this._uiHash( this ) ); + this.containers[ i ].containerCache.over = 0; + } + } + + } + + if ( this.placeholder ) { + + //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, + // it unbinds ALL events from the original node! + if ( this.placeholder[ 0 ].parentNode ) { + this.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] ); + } + if ( this.options.helper !== "original" && this.helper && + this.helper[ 0 ].parentNode ) { + this.helper.remove(); + } + + $.extend( this, { + helper: null, + dragging: false, + reverting: false, + _noFinalSort: null + } ); + + if ( this.domPosition.prev ) { + $( this.domPosition.prev ).after( this.currentItem ); + } else { + $( this.domPosition.parent ).prepend( this.currentItem ); + } + } + + return this; + + }, + + serialize: function( o ) { + + var items = this._getItemsAsjQuery( o && o.connected ), + str = []; + o = o || {}; + + $( items ).each( function() { + var res = ( $( o.item || this ).attr( o.attribute || "id" ) || "" ) + .match( o.expression || ( /(.+)[\-=_](.+)/ ) ); + if ( res ) { + str.push( + ( o.key || res[ 1 ] + "[]" ) + + "=" + ( o.key && o.expression ? res[ 1 ] : res[ 2 ] ) ); + } + } ); + + if ( !str.length && o.key ) { + str.push( o.key + "=" ); + } + + return str.join( "&" ); + + }, + + toArray: function( o ) { + + var items = this._getItemsAsjQuery( o && o.connected ), + ret = []; + + o = o || {}; + + items.each( function() { + ret.push( $( o.item || this ).attr( o.attribute || "id" ) || "" ); + } ); + return ret; + + }, + + /* Be careful with the following core functions */ + _intersectsWith: function( item ) { + + var x1 = this.positionAbs.left, + x2 = x1 + this.helperProportions.width, + y1 = this.positionAbs.top, + y2 = y1 + this.helperProportions.height, + l = item.left, + r = l + item.width, + t = item.top, + b = t + item.height, + dyClick = this.offset.click.top, + dxClick = this.offset.click.left, + isOverElementHeight = ( this.options.axis === "x" ) || ( ( y1 + dyClick ) > t && + ( y1 + dyClick ) < b ), + isOverElementWidth = ( this.options.axis === "y" ) || ( ( x1 + dxClick ) > l && + ( x1 + dxClick ) < r ), + isOverElement = isOverElementHeight && isOverElementWidth; + + if ( this.options.tolerance === "pointer" || + this.options.forcePointerForContainers || + ( this.options.tolerance !== "pointer" && + this.helperProportions[ this.floating ? "width" : "height" ] > + item[ this.floating ? "width" : "height" ] ) + ) { + return isOverElement; + } else { + + return ( l < x1 + ( this.helperProportions.width / 2 ) && // Right Half + x2 - ( this.helperProportions.width / 2 ) < r && // Left Half + t < y1 + ( this.helperProportions.height / 2 ) && // Bottom Half + y2 - ( this.helperProportions.height / 2 ) < b ); // Top Half + + } + }, + + _intersectsWithPointer: function( item ) { + var verticalDirection, horizontalDirection, + isOverElementHeight = ( this.options.axis === "x" ) || + this._isOverAxis( + this.positionAbs.top + this.offset.click.top, item.top, item.height ), + isOverElementWidth = ( this.options.axis === "y" ) || + this._isOverAxis( + this.positionAbs.left + this.offset.click.left, item.left, item.width ), + isOverElement = isOverElementHeight && isOverElementWidth; + + if ( !isOverElement ) { + return false; + } + + verticalDirection = this._getDragVerticalDirection(); + horizontalDirection = this._getDragHorizontalDirection(); + + return this.floating ? + ( ( horizontalDirection === "right" || verticalDirection === "down" ) ? 2 : 1 ) + : ( verticalDirection && ( verticalDirection === "down" ? 2 : 1 ) ); + + }, + + _intersectsWithSides: function( item ) { + + var isOverBottomHalf = this._isOverAxis( this.positionAbs.top + + this.offset.click.top, item.top + ( item.height / 2 ), item.height ), + isOverRightHalf = this._isOverAxis( this.positionAbs.left + + this.offset.click.left, item.left + ( item.width / 2 ), item.width ), + verticalDirection = this._getDragVerticalDirection(), + horizontalDirection = this._getDragHorizontalDirection(); + + if ( this.floating && horizontalDirection ) { + return ( ( horizontalDirection === "right" && isOverRightHalf ) || + ( horizontalDirection === "left" && !isOverRightHalf ) ); + } else { + return verticalDirection && ( ( verticalDirection === "down" && isOverBottomHalf ) || + ( verticalDirection === "up" && !isOverBottomHalf ) ); + } + + }, + + _getDragVerticalDirection: function() { + var delta = this.positionAbs.top - this.lastPositionAbs.top; + return delta !== 0 && ( delta > 0 ? "down" : "up" ); + }, + + _getDragHorizontalDirection: function() { + var delta = this.positionAbs.left - this.lastPositionAbs.left; + return delta !== 0 && ( delta > 0 ? "right" : "left" ); + }, + + refresh: function( event ) { + this._refreshItems( event ); + this._setHandleClassName(); + this.refreshPositions(); + return this; + }, + + _connectWith: function() { + var options = this.options; + return options.connectWith.constructor === String ? + [ options.connectWith ] : + options.connectWith; + }, + + _getItemsAsjQuery: function( connected ) { + + var i, j, cur, inst, + items = [], + queries = [], + connectWith = this._connectWith(); + + if ( connectWith && connected ) { + for ( i = connectWith.length - 1; i >= 0; i-- ) { + cur = $( connectWith[ i ], this.document[ 0 ] ); + for ( j = cur.length - 1; j >= 0; j-- ) { + inst = $.data( cur[ j ], this.widgetFullName ); + if ( inst && inst !== this && !inst.options.disabled ) { + queries.push( [ $.isFunction( inst.options.items ) ? + inst.options.items.call( inst.element ) : + $( inst.options.items, inst.element ) + .not( ".ui-sortable-helper" ) + .not( ".ui-sortable-placeholder" ), inst ] ); + } + } + } + } + + queries.push( [ $.isFunction( this.options.items ) ? + this.options.items + .call( this.element, null, { options: this.options, item: this.currentItem } ) : + $( this.options.items, this.element ) + .not( ".ui-sortable-helper" ) + .not( ".ui-sortable-placeholder" ), this ] ); + + function addItems() { + items.push( this ); + } + for ( i = queries.length - 1; i >= 0; i-- ) { + queries[ i ][ 0 ].each( addItems ); + } + + return $( items ); + + }, + + _removeCurrentsFromItems: function() { + + var list = this.currentItem.find( ":data(" + this.widgetName + "-item)" ); + + this.items = $.grep( this.items, function( item ) { + for ( var j = 0; j < list.length; j++ ) { + if ( list[ j ] === item.item[ 0 ] ) { + return false; + } + } + return true; + } ); + + }, + + _refreshItems: function( event ) { + + this.items = []; + this.containers = [ this ]; + + var i, j, cur, inst, targetData, _queries, item, queriesLength, + items = this.items, + queries = [ [ $.isFunction( this.options.items ) ? + this.options.items.call( this.element[ 0 ], event, { item: this.currentItem } ) : + $( this.options.items, this.element ), this ] ], + connectWith = this._connectWith(); + + //Shouldn't be run the first time through due to massive slow-down + if ( connectWith && this.ready ) { + for ( i = connectWith.length - 1; i >= 0; i-- ) { + cur = $( connectWith[ i ], this.document[ 0 ] ); + for ( j = cur.length - 1; j >= 0; j-- ) { + inst = $.data( cur[ j ], this.widgetFullName ); + if ( inst && inst !== this && !inst.options.disabled ) { + queries.push( [ $.isFunction( inst.options.items ) ? + inst.options.items + .call( inst.element[ 0 ], event, { item: this.currentItem } ) : + $( inst.options.items, inst.element ), inst ] ); + this.containers.push( inst ); + } + } + } + } + + for ( i = queries.length - 1; i >= 0; i-- ) { + targetData = queries[ i ][ 1 ]; + _queries = queries[ i ][ 0 ]; + + for ( j = 0, queriesLength = _queries.length; j < queriesLength; j++ ) { + item = $( _queries[ j ] ); + + // Data for target checking (mouse manager) + item.data( this.widgetName + "-item", targetData ); + + items.push( { + item: item, + instance: targetData, + width: 0, height: 0, + left: 0, top: 0 + } ); + } + } + + }, + + refreshPositions: function( fast ) { + + // Determine whether items are being displayed horizontally + this.floating = this.items.length ? + this.options.axis === "x" || this._isFloating( this.items[ 0 ].item ) : + false; + + //This has to be redone because due to the item being moved out/into the offsetParent, + // the offsetParent's position will change + if ( this.offsetParent && this.helper ) { + this.offset.parent = this._getParentOffset(); + } + + var i, item, t, p; + + for ( i = this.items.length - 1; i >= 0; i-- ) { + item = this.items[ i ]; + + //We ignore calculating positions of all connected containers when we're not over them + if ( item.instance !== this.currentContainer && this.currentContainer && + item.item[ 0 ] !== this.currentItem[ 0 ] ) { + continue; + } + + t = this.options.toleranceElement ? + $( this.options.toleranceElement, item.item ) : + item.item; + + if ( !fast ) { + item.width = t.outerWidth(); + item.height = t.outerHeight(); + } + + p = t.offset(); + item.left = p.left; + item.top = p.top; + } + + if ( this.options.custom && this.options.custom.refreshContainers ) { + this.options.custom.refreshContainers.call( this ); + } else { + for ( i = this.containers.length - 1; i >= 0; i-- ) { + p = this.containers[ i ].element.offset(); + this.containers[ i ].containerCache.left = p.left; + this.containers[ i ].containerCache.top = p.top; + this.containers[ i ].containerCache.width = + this.containers[ i ].element.outerWidth(); + this.containers[ i ].containerCache.height = + this.containers[ i ].element.outerHeight(); + } + } + + return this; + }, + + _createPlaceholder: function( that ) { + that = that || this; + var className, + o = that.options; + + if ( !o.placeholder || o.placeholder.constructor === String ) { + className = o.placeholder; + o.placeholder = { + element: function() { + + var nodeName = that.currentItem[ 0 ].nodeName.toLowerCase(), + element = $( "<" + nodeName + ">", that.document[ 0 ] ); + + that._addClass( element, "ui-sortable-placeholder", + className || that.currentItem[ 0 ].className ) + ._removeClass( element, "ui-sortable-helper" ); + + if ( nodeName === "tbody" ) { + that._createTrPlaceholder( + that.currentItem.find( "tr" ).eq( 0 ), + $( "<tr>", that.document[ 0 ] ).appendTo( element ) + ); + } else if ( nodeName === "tr" ) { + that._createTrPlaceholder( that.currentItem, element ); + } else if ( nodeName === "img" ) { + element.attr( "src", that.currentItem.attr( "src" ) ); + } + + if ( !className ) { + element.css( "visibility", "hidden" ); + } + + return element; + }, + update: function( container, p ) { + + // 1. If a className is set as 'placeholder option, we don't force sizes - + // the class is responsible for that + // 2. The option 'forcePlaceholderSize can be enabled to force it even if a + // class name is specified + if ( className && !o.forcePlaceholderSize ) { + return; + } + + //If the element doesn't have a actual height by itself (without styles coming + // from a stylesheet), it receives the inline height from the dragged item + if ( !p.height() ) { + p.height( + that.currentItem.innerHeight() - + parseInt( that.currentItem.css( "paddingTop" ) || 0, 10 ) - + parseInt( that.currentItem.css( "paddingBottom" ) || 0, 10 ) ); + } + if ( !p.width() ) { + p.width( + that.currentItem.innerWidth() - + parseInt( that.currentItem.css( "paddingLeft" ) || 0, 10 ) - + parseInt( that.currentItem.css( "paddingRight" ) || 0, 10 ) ); + } + } + }; + } + + //Create the placeholder + that.placeholder = $( o.placeholder.element.call( that.element, that.currentItem ) ); + + //Append it after the actual current item + that.currentItem.after( that.placeholder ); + + //Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317) + o.placeholder.update( that, that.placeholder ); + + }, + + _createTrPlaceholder: function( sourceTr, targetTr ) { + var that = this; + + sourceTr.children().each( function() { + $( "<td>&#160;</td>", that.document[ 0 ] ) + .attr( "colspan", $( this ).attr( "colspan" ) || 1 ) + .appendTo( targetTr ); + } ); + }, + + _contactContainers: function( event ) { + var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom, + floating, axis, + innermostContainer = null, + innermostIndex = null; + + // Get innermost container that intersects with item + for ( i = this.containers.length - 1; i >= 0; i-- ) { + + // Never consider a container that's located within the item itself + if ( $.contains( this.currentItem[ 0 ], this.containers[ i ].element[ 0 ] ) ) { + continue; + } + + if ( this._intersectsWith( this.containers[ i ].containerCache ) ) { + + // If we've already found a container and it's more "inner" than this, then continue + if ( innermostContainer && + $.contains( + this.containers[ i ].element[ 0 ], + innermostContainer.element[ 0 ] ) ) { + continue; + } + + innermostContainer = this.containers[ i ]; + innermostIndex = i; + + } else { + + // container doesn't intersect. trigger "out" event if necessary + if ( this.containers[ i ].containerCache.over ) { + this.containers[ i ]._trigger( "out", event, this._uiHash( this ) ); + this.containers[ i ].containerCache.over = 0; + } + } + + } + + // If no intersecting containers found, return + if ( !innermostContainer ) { + return; + } + + // Move the item into the container if it's not there already + if ( this.containers.length === 1 ) { + if ( !this.containers[ innermostIndex ].containerCache.over ) { + this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash( this ) ); + this.containers[ innermostIndex ].containerCache.over = 1; + } + } else { + + // When entering a new container, we will find the item with the least distance and + // append our item near it + dist = 10000; + itemWithLeastDistance = null; + floating = innermostContainer.floating || this._isFloating( this.currentItem ); + posProperty = floating ? "left" : "top"; + sizeProperty = floating ? "width" : "height"; + axis = floating ? "pageX" : "pageY"; + + for ( j = this.items.length - 1; j >= 0; j-- ) { + if ( !$.contains( + this.containers[ innermostIndex ].element[ 0 ], this.items[ j ].item[ 0 ] ) + ) { + continue; + } + if ( this.items[ j ].item[ 0 ] === this.currentItem[ 0 ] ) { + continue; + } + + cur = this.items[ j ].item.offset()[ posProperty ]; + nearBottom = false; + if ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ) { + nearBottom = true; + } + + if ( Math.abs( event[ axis ] - cur ) < dist ) { + dist = Math.abs( event[ axis ] - cur ); + itemWithLeastDistance = this.items[ j ]; + this.direction = nearBottom ? "up" : "down"; + } + } + + //Check if dropOnEmpty is enabled + if ( !itemWithLeastDistance && !this.options.dropOnEmpty ) { + return; + } + + if ( this.currentContainer === this.containers[ innermostIndex ] ) { + if ( !this.currentContainer.containerCache.over ) { + this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash() ); + this.currentContainer.containerCache.over = 1; + } + return; + } + + itemWithLeastDistance ? + this._rearrange( event, itemWithLeastDistance, null, true ) : + this._rearrange( event, null, this.containers[ innermostIndex ].element, true ); + this._trigger( "change", event, this._uiHash() ); + this.containers[ innermostIndex ]._trigger( "change", event, this._uiHash( this ) ); + this.currentContainer = this.containers[ innermostIndex ]; + + //Update the placeholder + this.options.placeholder.update( this.currentContainer, this.placeholder ); + + this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash( this ) ); + this.containers[ innermostIndex ].containerCache.over = 1; + } + + }, + + _createHelper: function( event ) { + + var o = this.options, + helper = $.isFunction( o.helper ) ? + $( o.helper.apply( this.element[ 0 ], [ event, this.currentItem ] ) ) : + ( o.helper === "clone" ? this.currentItem.clone() : this.currentItem ); + + //Add the helper to the DOM if that didn't happen already + if ( !helper.parents( "body" ).length ) { + $( o.appendTo !== "parent" ? + o.appendTo : + this.currentItem[ 0 ].parentNode )[ 0 ].appendChild( helper[ 0 ] ); + } + + if ( helper[ 0 ] === this.currentItem[ 0 ] ) { + this._storedCSS = { + width: this.currentItem[ 0 ].style.width, + height: this.currentItem[ 0 ].style.height, + position: this.currentItem.css( "position" ), + top: this.currentItem.css( "top" ), + left: this.currentItem.css( "left" ) + }; + } + + if ( !helper[ 0 ].style.width || o.forceHelperSize ) { + helper.width( this.currentItem.width() ); + } + if ( !helper[ 0 ].style.height || o.forceHelperSize ) { + helper.height( this.currentItem.height() ); + } + + return helper; + + }, + + _adjustOffsetFromHelper: function( obj ) { + if ( typeof obj === "string" ) { + obj = obj.split( " " ); + } + if ( $.isArray( obj ) ) { + obj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 }; + } + if ( "left" in obj ) { + this.offset.click.left = obj.left + this.margins.left; + } + if ( "right" in obj ) { + this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; + } + if ( "top" in obj ) { + this.offset.click.top = obj.top + this.margins.top; + } + if ( "bottom" in obj ) { + this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; + } + }, + + _getParentOffset: function() { + + //Get the offsetParent and cache its position + this.offsetParent = this.helper.offsetParent(); + var po = this.offsetParent.offset(); + + // This is a special case where we need to modify a offset calculated on start, since the + // following happened: + // 1. The position of the helper is absolute, so it's position is calculated based on the + // next positioned parent + // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't + // the document, which means that the scroll is included in the initial calculation of the + // offset of the parent, and never recalculated upon drag + if ( this.cssPosition === "absolute" && this.scrollParent[ 0 ] !== this.document[ 0 ] && + $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) { + po.left += this.scrollParent.scrollLeft(); + po.top += this.scrollParent.scrollTop(); + } + + // This needs to be actually done for all browsers, since pageX/pageY includes this + // information with an ugly IE fix + if ( this.offsetParent[ 0 ] === this.document[ 0 ].body || + ( this.offsetParent[ 0 ].tagName && + this.offsetParent[ 0 ].tagName.toLowerCase() === "html" && $.ui.ie ) ) { + po = { top: 0, left: 0 }; + } + + return { + top: po.top + ( parseInt( this.offsetParent.css( "borderTopWidth" ), 10 ) || 0 ), + left: po.left + ( parseInt( this.offsetParent.css( "borderLeftWidth" ), 10 ) || 0 ) + }; + + }, + + _getRelativeOffset: function() { + + if ( this.cssPosition === "relative" ) { + var p = this.currentItem.position(); + return { + top: p.top - ( parseInt( this.helper.css( "top" ), 10 ) || 0 ) + + this.scrollParent.scrollTop(), + left: p.left - ( parseInt( this.helper.css( "left" ), 10 ) || 0 ) + + this.scrollParent.scrollLeft() + }; + } else { + return { top: 0, left: 0 }; + } + + }, + + _cacheMargins: function() { + this.margins = { + left: ( parseInt( this.currentItem.css( "marginLeft" ), 10 ) || 0 ), + top: ( parseInt( this.currentItem.css( "marginTop" ), 10 ) || 0 ) + }; + }, + + _cacheHelperProportions: function() { + this.helperProportions = { + width: this.helper.outerWidth(), + height: this.helper.outerHeight() + }; + }, + + _setContainment: function() { + + var ce, co, over, + o = this.options; + if ( o.containment === "parent" ) { + o.containment = this.helper[ 0 ].parentNode; + } + if ( o.containment === "document" || o.containment === "window" ) { + this.containment = [ + 0 - this.offset.relative.left - this.offset.parent.left, + 0 - this.offset.relative.top - this.offset.parent.top, + o.containment === "document" ? + this.document.width() : + this.window.width() - this.helperProportions.width - this.margins.left, + ( o.containment === "document" ? + ( this.document.height() || document.body.parentNode.scrollHeight ) : + this.window.height() || this.document[ 0 ].body.parentNode.scrollHeight + ) - this.helperProportions.height - this.margins.top + ]; + } + + if ( !( /^(document|window|parent)$/ ).test( o.containment ) ) { + ce = $( o.containment )[ 0 ]; + co = $( o.containment ).offset(); + over = ( $( ce ).css( "overflow" ) !== "hidden" ); + + this.containment = [ + co.left + ( parseInt( $( ce ).css( "borderLeftWidth" ), 10 ) || 0 ) + + ( parseInt( $( ce ).css( "paddingLeft" ), 10 ) || 0 ) - this.margins.left, + co.top + ( parseInt( $( ce ).css( "borderTopWidth" ), 10 ) || 0 ) + + ( parseInt( $( ce ).css( "paddingTop" ), 10 ) || 0 ) - this.margins.top, + co.left + ( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - + ( parseInt( $( ce ).css( "borderLeftWidth" ), 10 ) || 0 ) - + ( parseInt( $( ce ).css( "paddingRight" ), 10 ) || 0 ) - + this.helperProportions.width - this.margins.left, + co.top + ( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - + ( parseInt( $( ce ).css( "borderTopWidth" ), 10 ) || 0 ) - + ( parseInt( $( ce ).css( "paddingBottom" ), 10 ) || 0 ) - + this.helperProportions.height - this.margins.top + ]; + } + + }, + + _convertPositionTo: function( d, pos ) { + + if ( !pos ) { + pos = this.position; + } + var mod = d === "absolute" ? 1 : -1, + scroll = this.cssPosition === "absolute" && + !( this.scrollParent[ 0 ] !== this.document[ 0 ] && + $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? + this.offsetParent : + this.scrollParent, + scrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName ); + + return { + top: ( + + // The absolute mouse position + pos.top + + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.top * mod + + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.top * mod - + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollTop() : + ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod ) + ), + left: ( + + // The absolute mouse position + pos.left + + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.left * mod + + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.left * mod - + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : + scroll.scrollLeft() ) * mod ) + ) + }; + + }, + + _generatePosition: function( event ) { + + var top, left, + o = this.options, + pageX = event.pageX, + pageY = event.pageY, + scroll = this.cssPosition === "absolute" && + !( this.scrollParent[ 0 ] !== this.document[ 0 ] && + $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? + this.offsetParent : + this.scrollParent, + scrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName ); + + // This is another very weird special case that only happens for relative elements: + // 1. If the css position is relative + // 2. and the scroll parent is the document or similar to the offset parent + // we have to refresh the relative offset during the scroll so there are no jumps + if ( this.cssPosition === "relative" && !( this.scrollParent[ 0 ] !== this.document[ 0 ] && + this.scrollParent[ 0 ] !== this.offsetParent[ 0 ] ) ) { + this.offset.relative = this._getRelativeOffset(); + } + + /* + * - Position constraining - + * Constrain the position to a mix of grid, containment. + */ + + if ( this.originalPosition ) { //If we are not dragging yet, we won't check for options + + if ( this.containment ) { + if ( event.pageX - this.offset.click.left < this.containment[ 0 ] ) { + pageX = this.containment[ 0 ] + this.offset.click.left; + } + if ( event.pageY - this.offset.click.top < this.containment[ 1 ] ) { + pageY = this.containment[ 1 ] + this.offset.click.top; + } + if ( event.pageX - this.offset.click.left > this.containment[ 2 ] ) { + pageX = this.containment[ 2 ] + this.offset.click.left; + } + if ( event.pageY - this.offset.click.top > this.containment[ 3 ] ) { + pageY = this.containment[ 3 ] + this.offset.click.top; + } + } + + if ( o.grid ) { + top = this.originalPageY + Math.round( ( pageY - this.originalPageY ) / + o.grid[ 1 ] ) * o.grid[ 1 ]; + pageY = this.containment ? + ( ( top - this.offset.click.top >= this.containment[ 1 ] && + top - this.offset.click.top <= this.containment[ 3 ] ) ? + top : + ( ( top - this.offset.click.top >= this.containment[ 1 ] ) ? + top - o.grid[ 1 ] : top + o.grid[ 1 ] ) ) : + top; + + left = this.originalPageX + Math.round( ( pageX - this.originalPageX ) / + o.grid[ 0 ] ) * o.grid[ 0 ]; + pageX = this.containment ? + ( ( left - this.offset.click.left >= this.containment[ 0 ] && + left - this.offset.click.left <= this.containment[ 2 ] ) ? + left : + ( ( left - this.offset.click.left >= this.containment[ 0 ] ) ? + left - o.grid[ 0 ] : left + o.grid[ 0 ] ) ) : + left; + } + + } + + return { + top: ( + + // The absolute mouse position + pageY - + + // Click offset (relative to the element) + this.offset.click.top - + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.top - + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.top + + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollTop() : + ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) ) + ), + left: ( + + // The absolute mouse position + pageX - + + // Click offset (relative to the element) + this.offset.click.left - + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.left - + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.left + + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollLeft() : + scrollIsRootNode ? 0 : scroll.scrollLeft() ) ) + ) + }; + + }, + + _rearrange: function( event, i, a, hardRefresh ) { + + a ? a[ 0 ].appendChild( this.placeholder[ 0 ] ) : + i.item[ 0 ].parentNode.insertBefore( this.placeholder[ 0 ], + ( this.direction === "down" ? i.item[ 0 ] : i.item[ 0 ].nextSibling ) ); + + //Various things done here to improve the performance: + // 1. we create a setTimeout, that calls refreshPositions + // 2. on the instance, we have a counter variable, that get's higher after every append + // 3. on the local scope, we copy the counter variable, and check in the timeout, + // if it's still the same + // 4. this lets only the last addition to the timeout stack through + this.counter = this.counter ? ++this.counter : 1; + var counter = this.counter; + + this._delay( function() { + if ( counter === this.counter ) { + + //Precompute after each DOM insertion, NOT on mousemove + this.refreshPositions( !hardRefresh ); + } + } ); + + }, + + _clear: function( event, noPropagation ) { + + this.reverting = false; + + // We delay all events that have to be triggered to after the point where the placeholder + // has been removed and everything else normalized again + var i, + delayedTriggers = []; + + // We first have to update the dom position of the actual currentItem + // Note: don't do it if the current item is already removed (by a user), or it gets + // reappended (see #4088) + if ( !this._noFinalSort && this.currentItem.parent().length ) { + this.placeholder.before( this.currentItem ); + } + this._noFinalSort = null; + + if ( this.helper[ 0 ] === this.currentItem[ 0 ] ) { + for ( i in this._storedCSS ) { + if ( this._storedCSS[ i ] === "auto" || this._storedCSS[ i ] === "static" ) { + this._storedCSS[ i ] = ""; + } + } + this.currentItem.css( this._storedCSS ); + this._removeClass( this.currentItem, "ui-sortable-helper" ); + } else { + this.currentItem.show(); + } + + if ( this.fromOutside && !noPropagation ) { + delayedTriggers.push( function( event ) { + this._trigger( "receive", event, this._uiHash( this.fromOutside ) ); + } ); + } + if ( ( this.fromOutside || + this.domPosition.prev !== + this.currentItem.prev().not( ".ui-sortable-helper" )[ 0 ] || + this.domPosition.parent !== this.currentItem.parent()[ 0 ] ) && !noPropagation ) { + + // Trigger update callback if the DOM position has changed + delayedTriggers.push( function( event ) { + this._trigger( "update", event, this._uiHash() ); + } ); + } + + // Check if the items Container has Changed and trigger appropriate + // events. + if ( this !== this.currentContainer ) { + if ( !noPropagation ) { + delayedTriggers.push( function( event ) { + this._trigger( "remove", event, this._uiHash() ); + } ); + delayedTriggers.push( ( function( c ) { + return function( event ) { + c._trigger( "receive", event, this._uiHash( this ) ); + }; + } ).call( this, this.currentContainer ) ); + delayedTriggers.push( ( function( c ) { + return function( event ) { + c._trigger( "update", event, this._uiHash( this ) ); + }; + } ).call( this, this.currentContainer ) ); + } + } + + //Post events to containers + function delayEvent( type, instance, container ) { + return function( event ) { + container._trigger( type, event, instance._uiHash( instance ) ); + }; + } + for ( i = this.containers.length - 1; i >= 0; i-- ) { + if ( !noPropagation ) { + delayedTriggers.push( delayEvent( "deactivate", this, this.containers[ i ] ) ); + } + if ( this.containers[ i ].containerCache.over ) { + delayedTriggers.push( delayEvent( "out", this, this.containers[ i ] ) ); + this.containers[ i ].containerCache.over = 0; + } + } + + //Do what was originally in plugins + if ( this.storedCursor ) { + this.document.find( "body" ).css( "cursor", this.storedCursor ); + this.storedStylesheet.remove(); + } + if ( this._storedOpacity ) { + this.helper.css( "opacity", this._storedOpacity ); + } + if ( this._storedZIndex ) { + this.helper.css( "zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex ); + } + + this.dragging = false; + + if ( !noPropagation ) { + this._trigger( "beforeStop", event, this._uiHash() ); + } + + //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, + // it unbinds ALL events from the original node! + this.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] ); + + if ( !this.cancelHelperRemoval ) { + if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) { + this.helper.remove(); + } + this.helper = null; + } + + if ( !noPropagation ) { + for ( i = 0; i < delayedTriggers.length; i++ ) { + + // Trigger all delayed events + delayedTriggers[ i ].call( this, event ); + } + this._trigger( "stop", event, this._uiHash() ); + } + + this.fromOutside = false; + return !this.cancelHelperRemoval; + + }, + + _trigger: function() { + if ( $.Widget.prototype._trigger.apply( this, arguments ) === false ) { + this.cancel(); + } + }, + + _uiHash: function( _inst ) { + var inst = _inst || this; + return { + helper: inst.helper, + placeholder: inst.placeholder || $( [] ), + position: inst.position, + originalPosition: inst.originalPosition, + offset: inst.positionAbs, + item: inst.currentItem, + sender: _inst ? _inst.element : null + }; + } + +} ); + + +/*! + * jQuery UI Spinner 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Spinner +//>>group: Widgets +//>>description: Displays buttons to easily input numbers via the keyboard or mouse. +//>>docs: http://api.jqueryui.com/spinner/ +//>>demos: http://jqueryui.com/spinner/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/spinner.css +//>>css.theme: ../../themes/base/theme.css + + + +function spinnerModifer( fn ) { + return function() { + var previous = this.element.val(); + fn.apply( this, arguments ); + this._refresh(); + if ( previous !== this.element.val() ) { + this._trigger( "change" ); + } + }; +} + +$.widget( "ui.spinner", { + version: "1.12.1", + defaultElement: "<input>", + widgetEventPrefix: "spin", + options: { + classes: { + "ui-spinner": "ui-corner-all", + "ui-spinner-down": "ui-corner-br", + "ui-spinner-up": "ui-corner-tr" + }, + culture: null, + icons: { + down: "ui-icon-triangle-1-s", + up: "ui-icon-triangle-1-n" + }, + incremental: true, + max: null, + min: null, + numberFormat: null, + page: 10, + step: 1, + + change: null, + spin: null, + start: null, + stop: null + }, + + _create: function() { + + // handle string values that need to be parsed + this._setOption( "max", this.options.max ); + this._setOption( "min", this.options.min ); + this._setOption( "step", this.options.step ); + + // Only format if there is a value, prevents the field from being marked + // as invalid in Firefox, see #9573. + if ( this.value() !== "" ) { + + // Format the value, but don't constrain. + this._value( this.element.val(), true ); + } + + this._draw(); + this._on( this._events ); + this._refresh(); + + // Turning off autocomplete prevents the browser from remembering the + // value when navigating through history, so we re-enable autocomplete + // if the page is unloaded before the widget is destroyed. #7790 + this._on( this.window, { + beforeunload: function() { + this.element.removeAttr( "autocomplete" ); + } + } ); + }, + + _getCreateOptions: function() { + var options = this._super(); + var element = this.element; + + $.each( [ "min", "max", "step" ], function( i, option ) { + var value = element.attr( option ); + if ( value != null && value.length ) { + options[ option ] = value; + } + } ); + + return options; + }, + + _events: { + keydown: function( event ) { + if ( this._start( event ) && this._keydown( event ) ) { + event.preventDefault(); + } + }, + keyup: "_stop", + focus: function() { + this.previous = this.element.val(); + }, + blur: function( event ) { + if ( this.cancelBlur ) { + delete this.cancelBlur; + return; + } + + this._stop(); + this._refresh(); + if ( this.previous !== this.element.val() ) { + this._trigger( "change", event ); + } + }, + mousewheel: function( event, delta ) { + if ( !delta ) { + return; + } + if ( !this.spinning && !this._start( event ) ) { + return false; + } + + this._spin( ( delta > 0 ? 1 : -1 ) * this.options.step, event ); + clearTimeout( this.mousewheelTimer ); + this.mousewheelTimer = this._delay( function() { + if ( this.spinning ) { + this._stop( event ); + } + }, 100 ); + event.preventDefault(); + }, + "mousedown .ui-spinner-button": function( event ) { + var previous; + + // We never want the buttons to have focus; whenever the user is + // interacting with the spinner, the focus should be on the input. + // If the input is focused then this.previous is properly set from + // when the input first received focus. If the input is not focused + // then we need to set this.previous based on the value before spinning. + previous = this.element[ 0 ] === $.ui.safeActiveElement( this.document[ 0 ] ) ? + this.previous : this.element.val(); + function checkFocus() { + var isActive = this.element[ 0 ] === $.ui.safeActiveElement( this.document[ 0 ] ); + if ( !isActive ) { + this.element.trigger( "focus" ); + this.previous = previous; + + // support: IE + // IE sets focus asynchronously, so we need to check if focus + // moved off of the input because the user clicked on the button. + this._delay( function() { + this.previous = previous; + } ); + } + } + + // Ensure focus is on (or stays on) the text field + event.preventDefault(); + checkFocus.call( this ); + + // Support: IE + // IE doesn't prevent moving focus even with event.preventDefault() + // so we set a flag to know when we should ignore the blur event + // and check (again) if focus moved off of the input. + this.cancelBlur = true; + this._delay( function() { + delete this.cancelBlur; + checkFocus.call( this ); + } ); + + if ( this._start( event ) === false ) { + return; + } + + this._repeat( null, $( event.currentTarget ) + .hasClass( "ui-spinner-up" ) ? 1 : -1, event ); + }, + "mouseup .ui-spinner-button": "_stop", + "mouseenter .ui-spinner-button": function( event ) { + + // button will add ui-state-active if mouse was down while mouseleave and kept down + if ( !$( event.currentTarget ).hasClass( "ui-state-active" ) ) { + return; + } + + if ( this._start( event ) === false ) { + return false; + } + this._repeat( null, $( event.currentTarget ) + .hasClass( "ui-spinner-up" ) ? 1 : -1, event ); + }, + + // TODO: do we really want to consider this a stop? + // shouldn't we just stop the repeater and wait until mouseup before + // we trigger the stop event? + "mouseleave .ui-spinner-button": "_stop" + }, + + // Support mobile enhanced option and make backcompat more sane + _enhance: function() { + this.uiSpinner = this.element + .attr( "autocomplete", "off" ) + .wrap( "<span>" ) + .parent() + + // Add buttons + .append( + "<a></a><a></a>" + ); + }, + + _draw: function() { + this._enhance(); + + this._addClass( this.uiSpinner, "ui-spinner", "ui-widget ui-widget-content" ); + this._addClass( "ui-spinner-input" ); + + this.element.attr( "role", "spinbutton" ); + + // Button bindings + this.buttons = this.uiSpinner.children( "a" ) + .attr( "tabIndex", -1 ) + .attr( "aria-hidden", true ) + .button( { + classes: { + "ui-button": "" + } + } ); + + // TODO: Right now button does not support classes this is already updated in button PR + this._removeClass( this.buttons, "ui-corner-all" ); + + this._addClass( this.buttons.first(), "ui-spinner-button ui-spinner-up" ); + this._addClass( this.buttons.last(), "ui-spinner-button ui-spinner-down" ); + this.buttons.first().button( { + "icon": this.options.icons.up, + "showLabel": false + } ); + this.buttons.last().button( { + "icon": this.options.icons.down, + "showLabel": false + } ); + + // IE 6 doesn't understand height: 50% for the buttons + // unless the wrapper has an explicit height + if ( this.buttons.height() > Math.ceil( this.uiSpinner.height() * 0.5 ) && + this.uiSpinner.height() > 0 ) { + this.uiSpinner.height( this.uiSpinner.height() ); + } + }, + + _keydown: function( event ) { + var options = this.options, + keyCode = $.ui.keyCode; + + switch ( event.keyCode ) { + case keyCode.UP: + this._repeat( null, 1, event ); + return true; + case keyCode.DOWN: + this._repeat( null, -1, event ); + return true; + case keyCode.PAGE_UP: + this._repeat( null, options.page, event ); + return true; + case keyCode.PAGE_DOWN: + this._repeat( null, -options.page, event ); + return true; + } + + return false; + }, + + _start: function( event ) { + if ( !this.spinning && this._trigger( "start", event ) === false ) { + return false; + } + + if ( !this.counter ) { + this.counter = 1; + } + this.spinning = true; + return true; + }, + + _repeat: function( i, steps, event ) { + i = i || 500; + + clearTimeout( this.timer ); + this.timer = this._delay( function() { + this._repeat( 40, steps, event ); + }, i ); + + this._spin( steps * this.options.step, event ); + }, + + _spin: function( step, event ) { + var value = this.value() || 0; + + if ( !this.counter ) { + this.counter = 1; + } + + value = this._adjustValue( value + step * this._increment( this.counter ) ); + + if ( !this.spinning || this._trigger( "spin", event, { value: value } ) !== false ) { + this._value( value ); + this.counter++; + } + }, + + _increment: function( i ) { + var incremental = this.options.incremental; + + if ( incremental ) { + return $.isFunction( incremental ) ? + incremental( i ) : + Math.floor( i * i * i / 50000 - i * i / 500 + 17 * i / 200 + 1 ); + } + + return 1; + }, + + _precision: function() { + var precision = this._precisionOf( this.options.step ); + if ( this.options.min !== null ) { + precision = Math.max( precision, this._precisionOf( this.options.min ) ); + } + return precision; + }, + + _precisionOf: function( num ) { + var str = num.toString(), + decimal = str.indexOf( "." ); + return decimal === -1 ? 0 : str.length - decimal - 1; + }, + + _adjustValue: function( value ) { + var base, aboveMin, + options = this.options; + + // Make sure we're at a valid step + // - find out where we are relative to the base (min or 0) + base = options.min !== null ? options.min : 0; + aboveMin = value - base; + + // - round to the nearest step + aboveMin = Math.round( aboveMin / options.step ) * options.step; + + // - rounding is based on 0, so adjust back to our base + value = base + aboveMin; + + // Fix precision from bad JS floating point math + value = parseFloat( value.toFixed( this._precision() ) ); + + // Clamp the value + if ( options.max !== null && value > options.max ) { + return options.max; + } + if ( options.min !== null && value < options.min ) { + return options.min; + } + + return value; + }, + + _stop: function( event ) { + if ( !this.spinning ) { + return; + } + + clearTimeout( this.timer ); + clearTimeout( this.mousewheelTimer ); + this.counter = 0; + this.spinning = false; + this._trigger( "stop", event ); + }, + + _setOption: function( key, value ) { + var prevValue, first, last; + + if ( key === "culture" || key === "numberFormat" ) { + prevValue = this._parse( this.element.val() ); + this.options[ key ] = value; + this.element.val( this._format( prevValue ) ); + return; + } + + if ( key === "max" || key === "min" || key === "step" ) { + if ( typeof value === "string" ) { + value = this._parse( value ); + } + } + if ( key === "icons" ) { + first = this.buttons.first().find( ".ui-icon" ); + this._removeClass( first, null, this.options.icons.up ); + this._addClass( first, null, value.up ); + last = this.buttons.last().find( ".ui-icon" ); + this._removeClass( last, null, this.options.icons.down ); + this._addClass( last, null, value.down ); + } + + this._super( key, value ); + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this._toggleClass( this.uiSpinner, null, "ui-state-disabled", !!value ); + this.element.prop( "disabled", !!value ); + this.buttons.button( value ? "disable" : "enable" ); + }, + + _setOptions: spinnerModifer( function( options ) { + this._super( options ); + } ), + + _parse: function( val ) { + if ( typeof val === "string" && val !== "" ) { + val = window.Globalize && this.options.numberFormat ? + Globalize.parseFloat( val, 10, this.options.culture ) : +val; + } + return val === "" || isNaN( val ) ? null : val; + }, + + _format: function( value ) { + if ( value === "" ) { + return ""; + } + return window.Globalize && this.options.numberFormat ? + Globalize.format( value, this.options.numberFormat, this.options.culture ) : + value; + }, + + _refresh: function() { + this.element.attr( { + "aria-valuemin": this.options.min, + "aria-valuemax": this.options.max, + + // TODO: what should we do with values that can't be parsed? + "aria-valuenow": this._parse( this.element.val() ) + } ); + }, + + isValid: function() { + var value = this.value(); + + // Null is invalid + if ( value === null ) { + return false; + } + + // If value gets adjusted, it's invalid + return value === this._adjustValue( value ); + }, + + // Update the value without triggering change + _value: function( value, allowAny ) { + var parsed; + if ( value !== "" ) { + parsed = this._parse( value ); + if ( parsed !== null ) { + if ( !allowAny ) { + parsed = this._adjustValue( parsed ); + } + value = this._format( parsed ); + } + } + this.element.val( value ); + this._refresh(); + }, + + _destroy: function() { + this.element + .prop( "disabled", false ) + .removeAttr( "autocomplete role aria-valuemin aria-valuemax aria-valuenow" ); + + this.uiSpinner.replaceWith( this.element ); + }, + + stepUp: spinnerModifer( function( steps ) { + this._stepUp( steps ); + } ), + _stepUp: function( steps ) { + if ( this._start() ) { + this._spin( ( steps || 1 ) * this.options.step ); + this._stop(); + } + }, + + stepDown: spinnerModifer( function( steps ) { + this._stepDown( steps ); + } ), + _stepDown: function( steps ) { + if ( this._start() ) { + this._spin( ( steps || 1 ) * -this.options.step ); + this._stop(); + } + }, + + pageUp: spinnerModifer( function( pages ) { + this._stepUp( ( pages || 1 ) * this.options.page ); + } ), + + pageDown: spinnerModifer( function( pages ) { + this._stepDown( ( pages || 1 ) * this.options.page ); + } ), + + value: function( newVal ) { + if ( !arguments.length ) { + return this._parse( this.element.val() ); + } + spinnerModifer( this._value ).call( this, newVal ); + }, + + widget: function() { + return this.uiSpinner; + } +} ); + +// DEPRECATED +// TODO: switch return back to widget declaration at top of file when this is removed +if ( $.uiBackCompat !== false ) { + + // Backcompat for spinner html extension points + $.widget( "ui.spinner", $.ui.spinner, { + _enhance: function() { + this.uiSpinner = this.element + .attr( "autocomplete", "off" ) + .wrap( this._uiSpinnerHtml() ) + .parent() + + // Add buttons + .append( this._buttonHtml() ); + }, + _uiSpinnerHtml: function() { + return "<span>"; + }, + + _buttonHtml: function() { + return "<a></a><a></a>"; + } + } ); +} + +var widgetsSpinner = $.ui.spinner; + + +/*! + * jQuery UI Tabs 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Tabs +//>>group: Widgets +//>>description: Transforms a set of container elements into a tab structure. +//>>docs: http://api.jqueryui.com/tabs/ +//>>demos: http://jqueryui.com/tabs/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/tabs.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.tabs", { + version: "1.12.1", + delay: 300, + options: { + active: null, + classes: { + "ui-tabs": "ui-corner-all", + "ui-tabs-nav": "ui-corner-all", + "ui-tabs-panel": "ui-corner-bottom", + "ui-tabs-tab": "ui-corner-top" + }, + collapsible: false, + event: "click", + heightStyle: "content", + hide: null, + show: null, + + // Callbacks + activate: null, + beforeActivate: null, + beforeLoad: null, + load: null + }, + + _isLocal: ( function() { + var rhash = /#.*$/; + + return function( anchor ) { + var anchorUrl, locationUrl; + + anchorUrl = anchor.href.replace( rhash, "" ); + locationUrl = location.href.replace( rhash, "" ); + + // Decoding may throw an error if the URL isn't UTF-8 (#9518) + try { + anchorUrl = decodeURIComponent( anchorUrl ); + } catch ( error ) {} + try { + locationUrl = decodeURIComponent( locationUrl ); + } catch ( error ) {} + + return anchor.hash.length > 1 && anchorUrl === locationUrl; + }; + } )(), + + _create: function() { + var that = this, + options = this.options; + + this.running = false; + + this._addClass( "ui-tabs", "ui-widget ui-widget-content" ); + this._toggleClass( "ui-tabs-collapsible", null, options.collapsible ); + + this._processTabs(); + options.active = this._initialActive(); + + // Take disabling tabs via class attribute from HTML + // into account and update option properly. + if ( $.isArray( options.disabled ) ) { + options.disabled = $.unique( options.disabled.concat( + $.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) { + return that.tabs.index( li ); + } ) + ) ).sort(); + } + + // Check for length avoids error when initializing empty list + if ( this.options.active !== false && this.anchors.length ) { + this.active = this._findActive( options.active ); + } else { + this.active = $(); + } + + this._refresh(); + + if ( this.active.length ) { + this.load( options.active ); + } + }, + + _initialActive: function() { + var active = this.options.active, + collapsible = this.options.collapsible, + locationHash = location.hash.substring( 1 ); + + if ( active === null ) { + + // check the fragment identifier in the URL + if ( locationHash ) { + this.tabs.each( function( i, tab ) { + if ( $( tab ).attr( "aria-controls" ) === locationHash ) { + active = i; + return false; + } + } ); + } + + // Check for a tab marked active via a class + if ( active === null ) { + active = this.tabs.index( this.tabs.filter( ".ui-tabs-active" ) ); + } + + // No active tab, set to false + if ( active === null || active === -1 ) { + active = this.tabs.length ? 0 : false; + } + } + + // Handle numbers: negative, out of range + if ( active !== false ) { + active = this.tabs.index( this.tabs.eq( active ) ); + if ( active === -1 ) { + active = collapsible ? false : 0; + } + } + + // Don't allow collapsible: false and active: false + if ( !collapsible && active === false && this.anchors.length ) { + active = 0; + } + + return active; + }, + + _getCreateEventData: function() { + return { + tab: this.active, + panel: !this.active.length ? $() : this._getPanelForTab( this.active ) + }; + }, + + _tabKeydown: function( event ) { + var focusedTab = $( $.ui.safeActiveElement( this.document[ 0 ] ) ).closest( "li" ), + selectedIndex = this.tabs.index( focusedTab ), + goingForward = true; + + if ( this._handlePageNav( event ) ) { + return; + } + + switch ( event.keyCode ) { + case $.ui.keyCode.RIGHT: + case $.ui.keyCode.DOWN: + selectedIndex++; + break; + case $.ui.keyCode.UP: + case $.ui.keyCode.LEFT: + goingForward = false; + selectedIndex--; + break; + case $.ui.keyCode.END: + selectedIndex = this.anchors.length - 1; + break; + case $.ui.keyCode.HOME: + selectedIndex = 0; + break; + case $.ui.keyCode.SPACE: + + // Activate only, no collapsing + event.preventDefault(); + clearTimeout( this.activating ); + this._activate( selectedIndex ); + return; + case $.ui.keyCode.ENTER: + + // Toggle (cancel delayed activation, allow collapsing) + event.preventDefault(); + clearTimeout( this.activating ); + + // Determine if we should collapse or activate + this._activate( selectedIndex === this.options.active ? false : selectedIndex ); + return; + default: + return; + } + + // Focus the appropriate tab, based on which key was pressed + event.preventDefault(); + clearTimeout( this.activating ); + selectedIndex = this._focusNextTab( selectedIndex, goingForward ); + + // Navigating with control/command key will prevent automatic activation + if ( !event.ctrlKey && !event.metaKey ) { + + // Update aria-selected immediately so that AT think the tab is already selected. + // Otherwise AT may confuse the user by stating that they need to activate the tab, + // but the tab will already be activated by the time the announcement finishes. + focusedTab.attr( "aria-selected", "false" ); + this.tabs.eq( selectedIndex ).attr( "aria-selected", "true" ); + + this.activating = this._delay( function() { + this.option( "active", selectedIndex ); + }, this.delay ); + } + }, + + _panelKeydown: function( event ) { + if ( this._handlePageNav( event ) ) { + return; + } + + // Ctrl+up moves focus to the current tab + if ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) { + event.preventDefault(); + this.active.trigger( "focus" ); + } + }, + + // Alt+page up/down moves focus to the previous/next tab (and activates) + _handlePageNav: function( event ) { + if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) { + this._activate( this._focusNextTab( this.options.active - 1, false ) ); + return true; + } + if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) { + this._activate( this._focusNextTab( this.options.active + 1, true ) ); + return true; + } + }, + + _findNextTab: function( index, goingForward ) { + var lastTabIndex = this.tabs.length - 1; + + function constrain() { + if ( index > lastTabIndex ) { + index = 0; + } + if ( index < 0 ) { + index = lastTabIndex; + } + return index; + } + + while ( $.inArray( constrain(), this.options.disabled ) !== -1 ) { + index = goingForward ? index + 1 : index - 1; + } + + return index; + }, + + _focusNextTab: function( index, goingForward ) { + index = this._findNextTab( index, goingForward ); + this.tabs.eq( index ).trigger( "focus" ); + return index; + }, + + _setOption: function( key, value ) { + if ( key === "active" ) { + + // _activate() will handle invalid values and update this.options + this._activate( value ); + return; + } + + this._super( key, value ); + + if ( key === "collapsible" ) { + this._toggleClass( "ui-tabs-collapsible", null, value ); + + // Setting collapsible: false while collapsed; open first panel + if ( !value && this.options.active === false ) { + this._activate( 0 ); + } + } + + if ( key === "event" ) { + this._setupEvents( value ); + } + + if ( key === "heightStyle" ) { + this._setupHeightStyle( value ); + } + }, + + _sanitizeSelector: function( hash ) { + return hash ? hash.replace( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&" ) : ""; + }, + + refresh: function() { + var options = this.options, + lis = this.tablist.children( ":has(a[href])" ); + + // Get disabled tabs from class attribute from HTML + // this will get converted to a boolean if needed in _refresh() + options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) { + return lis.index( tab ); + } ); + + this._processTabs(); + + // Was collapsed or no tabs + if ( options.active === false || !this.anchors.length ) { + options.active = false; + this.active = $(); + + // was active, but active tab is gone + } else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) { + + // all remaining tabs are disabled + if ( this.tabs.length === options.disabled.length ) { + options.active = false; + this.active = $(); + + // activate previous tab + } else { + this._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) ); + } + + // was active, active tab still exists + } else { + + // make sure active index is correct + options.active = this.tabs.index( this.active ); + } + + this._refresh(); + }, + + _refresh: function() { + this._setOptionDisabled( this.options.disabled ); + this._setupEvents( this.options.event ); + this._setupHeightStyle( this.options.heightStyle ); + + this.tabs.not( this.active ).attr( { + "aria-selected": "false", + "aria-expanded": "false", + tabIndex: -1 + } ); + this.panels.not( this._getPanelForTab( this.active ) ) + .hide() + .attr( { + "aria-hidden": "true" + } ); + + // Make sure one tab is in the tab order + if ( !this.active.length ) { + this.tabs.eq( 0 ).attr( "tabIndex", 0 ); + } else { + this.active + .attr( { + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + } ); + this._addClass( this.active, "ui-tabs-active", "ui-state-active" ); + this._getPanelForTab( this.active ) + .show() + .attr( { + "aria-hidden": "false" + } ); + } + }, + + _processTabs: function() { + var that = this, + prevTabs = this.tabs, + prevAnchors = this.anchors, + prevPanels = this.panels; + + this.tablist = this._getList().attr( "role", "tablist" ); + this._addClass( this.tablist, "ui-tabs-nav", + "ui-helper-reset ui-helper-clearfix ui-widget-header" ); + + // Prevent users from focusing disabled tabs via click + this.tablist + .on( "mousedown" + this.eventNamespace, "> li", function( event ) { + if ( $( this ).is( ".ui-state-disabled" ) ) { + event.preventDefault(); + } + } ) + + // Support: IE <9 + // Preventing the default action in mousedown doesn't prevent IE + // from focusing the element, so if the anchor gets focused, blur. + // We don't have to worry about focusing the previously focused + // element since clicking on a non-focusable element should focus + // the body anyway. + .on( "focus" + this.eventNamespace, ".ui-tabs-anchor", function() { + if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) { + this.blur(); + } + } ); + + this.tabs = this.tablist.find( "> li:has(a[href])" ) + .attr( { + role: "tab", + tabIndex: -1 + } ); + this._addClass( this.tabs, "ui-tabs-tab", "ui-state-default" ); + + this.anchors = this.tabs.map( function() { + return $( "a", this )[ 0 ]; + } ) + .attr( { + role: "presentation", + tabIndex: -1 + } ); + this._addClass( this.anchors, "ui-tabs-anchor" ); + + this.panels = $(); + + this.anchors.each( function( i, anchor ) { + var selector, panel, panelId, + anchorId = $( anchor ).uniqueId().attr( "id" ), + tab = $( anchor ).closest( "li" ), + originalAriaControls = tab.attr( "aria-controls" ); + + // Inline tab + if ( that._isLocal( anchor ) ) { + selector = anchor.hash; + panelId = selector.substring( 1 ); + panel = that.element.find( that._sanitizeSelector( selector ) ); + + // remote tab + } else { + + // If the tab doesn't already have aria-controls, + // generate an id by using a throw-away element + panelId = tab.attr( "aria-controls" ) || $( {} ).uniqueId()[ 0 ].id; + selector = "#" + panelId; + panel = that.element.find( selector ); + if ( !panel.length ) { + panel = that._createPanel( panelId ); + panel.insertAfter( that.panels[ i - 1 ] || that.tablist ); + } + panel.attr( "aria-live", "polite" ); + } + + if ( panel.length ) { + that.panels = that.panels.add( panel ); + } + if ( originalAriaControls ) { + tab.data( "ui-tabs-aria-controls", originalAriaControls ); + } + tab.attr( { + "aria-controls": panelId, + "aria-labelledby": anchorId + } ); + panel.attr( "aria-labelledby", anchorId ); + } ); + + this.panels.attr( "role", "tabpanel" ); + this._addClass( this.panels, "ui-tabs-panel", "ui-widget-content" ); + + // Avoid memory leaks (#10056) + if ( prevTabs ) { + this._off( prevTabs.not( this.tabs ) ); + this._off( prevAnchors.not( this.anchors ) ); + this._off( prevPanels.not( this.panels ) ); + } + }, + + // Allow overriding how to find the list for rare usage scenarios (#7715) + _getList: function() { + return this.tablist || this.element.find( "ol, ul" ).eq( 0 ); + }, + + _createPanel: function( id ) { + return $( "<div>" ) + .attr( "id", id ) + .data( "ui-tabs-destroy", true ); + }, + + _setOptionDisabled: function( disabled ) { + var currentItem, li, i; + + if ( $.isArray( disabled ) ) { + if ( !disabled.length ) { + disabled = false; + } else if ( disabled.length === this.anchors.length ) { + disabled = true; + } + } + + // Disable tabs + for ( i = 0; ( li = this.tabs[ i ] ); i++ ) { + currentItem = $( li ); + if ( disabled === true || $.inArray( i, disabled ) !== -1 ) { + currentItem.attr( "aria-disabled", "true" ); + this._addClass( currentItem, null, "ui-state-disabled" ); + } else { + currentItem.removeAttr( "aria-disabled" ); + this._removeClass( currentItem, null, "ui-state-disabled" ); + } + } + + this.options.disabled = disabled; + + this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, + disabled === true ); + }, + + _setupEvents: function( event ) { + var events = {}; + if ( event ) { + $.each( event.split( " " ), function( index, eventName ) { + events[ eventName ] = "_eventHandler"; + } ); + } + + this._off( this.anchors.add( this.tabs ).add( this.panels ) ); + + // Always prevent the default action, even when disabled + this._on( true, this.anchors, { + click: function( event ) { + event.preventDefault(); + } + } ); + this._on( this.anchors, events ); + this._on( this.tabs, { keydown: "_tabKeydown" } ); + this._on( this.panels, { keydown: "_panelKeydown" } ); + + this._focusable( this.tabs ); + this._hoverable( this.tabs ); + }, + + _setupHeightStyle: function( heightStyle ) { + var maxHeight, + parent = this.element.parent(); + + if ( heightStyle === "fill" ) { + maxHeight = parent.height(); + maxHeight -= this.element.outerHeight() - this.element.height(); + + this.element.siblings( ":visible" ).each( function() { + var elem = $( this ), + position = elem.css( "position" ); + + if ( position === "absolute" || position === "fixed" ) { + return; + } + maxHeight -= elem.outerHeight( true ); + } ); + + this.element.children().not( this.panels ).each( function() { + maxHeight -= $( this ).outerHeight( true ); + } ); + + this.panels.each( function() { + $( this ).height( Math.max( 0, maxHeight - + $( this ).innerHeight() + $( this ).height() ) ); + } ) + .css( "overflow", "auto" ); + } else if ( heightStyle === "auto" ) { + maxHeight = 0; + this.panels.each( function() { + maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() ); + } ).height( maxHeight ); + } + }, + + _eventHandler: function( event ) { + var options = this.options, + active = this.active, + anchor = $( event.currentTarget ), + tab = anchor.closest( "li" ), + clickedIsActive = tab[ 0 ] === active[ 0 ], + collapsing = clickedIsActive && options.collapsible, + toShow = collapsing ? $() : this._getPanelForTab( tab ), + toHide = !active.length ? $() : this._getPanelForTab( active ), + eventData = { + oldTab: active, + oldPanel: toHide, + newTab: collapsing ? $() : tab, + newPanel: toShow + }; + + event.preventDefault(); + + if ( tab.hasClass( "ui-state-disabled" ) || + + // tab is already loading + tab.hasClass( "ui-tabs-loading" ) || + + // can't switch durning an animation + this.running || + + // click on active header, but not collapsible + ( clickedIsActive && !options.collapsible ) || + + // allow canceling activation + ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { + return; + } + + options.active = collapsing ? false : this.tabs.index( tab ); + + this.active = clickedIsActive ? $() : tab; + if ( this.xhr ) { + this.xhr.abort(); + } + + if ( !toHide.length && !toShow.length ) { + $.error( "jQuery UI Tabs: Mismatching fragment identifier." ); + } + + if ( toShow.length ) { + this.load( this.tabs.index( tab ), event ); + } + this._toggle( event, eventData ); + }, + + // Handles show/hide for selecting tabs + _toggle: function( event, eventData ) { + var that = this, + toShow = eventData.newPanel, + toHide = eventData.oldPanel; + + this.running = true; + + function complete() { + that.running = false; + that._trigger( "activate", event, eventData ); + } + + function show() { + that._addClass( eventData.newTab.closest( "li" ), "ui-tabs-active", "ui-state-active" ); + + if ( toShow.length && that.options.show ) { + that._show( toShow, that.options.show, complete ); + } else { + toShow.show(); + complete(); + } + } + + // Start out by hiding, then showing, then completing + if ( toHide.length && this.options.hide ) { + this._hide( toHide, this.options.hide, function() { + that._removeClass( eventData.oldTab.closest( "li" ), + "ui-tabs-active", "ui-state-active" ); + show(); + } ); + } else { + this._removeClass( eventData.oldTab.closest( "li" ), + "ui-tabs-active", "ui-state-active" ); + toHide.hide(); + show(); + } + + toHide.attr( "aria-hidden", "true" ); + eventData.oldTab.attr( { + "aria-selected": "false", + "aria-expanded": "false" + } ); + + // If we're switching tabs, remove the old tab from the tab order. + // If we're opening from collapsed state, remove the previous tab from the tab order. + // If we're collapsing, then keep the collapsing tab in the tab order. + if ( toShow.length && toHide.length ) { + eventData.oldTab.attr( "tabIndex", -1 ); + } else if ( toShow.length ) { + this.tabs.filter( function() { + return $( this ).attr( "tabIndex" ) === 0; + } ) + .attr( "tabIndex", -1 ); + } + + toShow.attr( "aria-hidden", "false" ); + eventData.newTab.attr( { + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + } ); + }, + + _activate: function( index ) { + var anchor, + active = this._findActive( index ); + + // Trying to activate the already active panel + if ( active[ 0 ] === this.active[ 0 ] ) { + return; + } + + // Trying to collapse, simulate a click on the current active header + if ( !active.length ) { + active = this.active; + } + + anchor = active.find( ".ui-tabs-anchor" )[ 0 ]; + this._eventHandler( { + target: anchor, + currentTarget: anchor, + preventDefault: $.noop + } ); + }, + + _findActive: function( index ) { + return index === false ? $() : this.tabs.eq( index ); + }, + + _getIndex: function( index ) { + + // meta-function to give users option to provide a href string instead of a numerical index. + if ( typeof index === "string" ) { + index = this.anchors.index( this.anchors.filter( "[href$='" + + $.ui.escapeSelector( index ) + "']" ) ); + } + + return index; + }, + + _destroy: function() { + if ( this.xhr ) { + this.xhr.abort(); + } + + this.tablist + .removeAttr( "role" ) + .off( this.eventNamespace ); + + this.anchors + .removeAttr( "role tabIndex" ) + .removeUniqueId(); + + this.tabs.add( this.panels ).each( function() { + if ( $.data( this, "ui-tabs-destroy" ) ) { + $( this ).remove(); + } else { + $( this ).removeAttr( "role tabIndex " + + "aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded" ); + } + } ); + + this.tabs.each( function() { + var li = $( this ), + prev = li.data( "ui-tabs-aria-controls" ); + if ( prev ) { + li + .attr( "aria-controls", prev ) + .removeData( "ui-tabs-aria-controls" ); + } else { + li.removeAttr( "aria-controls" ); + } + } ); + + this.panels.show(); + + if ( this.options.heightStyle !== "content" ) { + this.panels.css( "height", "" ); + } + }, + + enable: function( index ) { + var disabled = this.options.disabled; + if ( disabled === false ) { + return; + } + + if ( index === undefined ) { + disabled = false; + } else { + index = this._getIndex( index ); + if ( $.isArray( disabled ) ) { + disabled = $.map( disabled, function( num ) { + return num !== index ? num : null; + } ); + } else { + disabled = $.map( this.tabs, function( li, num ) { + return num !== index ? num : null; + } ); + } + } + this._setOptionDisabled( disabled ); + }, + + disable: function( index ) { + var disabled = this.options.disabled; + if ( disabled === true ) { + return; + } + + if ( index === undefined ) { + disabled = true; + } else { + index = this._getIndex( index ); + if ( $.inArray( index, disabled ) !== -1 ) { + return; + } + if ( $.isArray( disabled ) ) { + disabled = $.merge( [ index ], disabled ).sort(); + } else { + disabled = [ index ]; + } + } + this._setOptionDisabled( disabled ); + }, + + load: function( index, event ) { + index = this._getIndex( index ); + var that = this, + tab = this.tabs.eq( index ), + anchor = tab.find( ".ui-tabs-anchor" ), + panel = this._getPanelForTab( tab ), + eventData = { + tab: tab, + panel: panel + }, + complete = function( jqXHR, status ) { + if ( status === "abort" ) { + that.panels.stop( false, true ); + } + + that._removeClass( tab, "ui-tabs-loading" ); + panel.removeAttr( "aria-busy" ); + + if ( jqXHR === that.xhr ) { + delete that.xhr; + } + }; + + // Not remote + if ( this._isLocal( anchor[ 0 ] ) ) { + return; + } + + this.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) ); + + // Support: jQuery <1.8 + // jQuery <1.8 returns false if the request is canceled in beforeSend, + // but as of 1.8, $.ajax() always returns a jqXHR object. + if ( this.xhr && this.xhr.statusText !== "canceled" ) { + this._addClass( tab, "ui-tabs-loading" ); + panel.attr( "aria-busy", "true" ); + + this.xhr + .done( function( response, status, jqXHR ) { + + // support: jQuery <1.8 + // http://bugs.jquery.com/ticket/11778 + setTimeout( function() { + panel.html( response ); + that._trigger( "load", event, eventData ); + + complete( jqXHR, status ); + }, 1 ); + } ) + .fail( function( jqXHR, status ) { + + // support: jQuery <1.8 + // http://bugs.jquery.com/ticket/11778 + setTimeout( function() { + complete( jqXHR, status ); + }, 1 ); + } ); + } + }, + + _ajaxSettings: function( anchor, event, eventData ) { + var that = this; + return { + + // Support: IE <11 only + // Strip any hash that exists to prevent errors with the Ajax request + url: anchor.attr( "href" ).replace( /#.*$/, "" ), + beforeSend: function( jqXHR, settings ) { + return that._trigger( "beforeLoad", event, + $.extend( { jqXHR: jqXHR, ajaxSettings: settings }, eventData ) ); + } + }; + }, + + _getPanelForTab: function( tab ) { + var id = $( tab ).attr( "aria-controls" ); + return this.element.find( this._sanitizeSelector( "#" + id ) ); + } +} ); + +// DEPRECATED +// TODO: Switch return back to widget declaration at top of file when this is removed +if ( $.uiBackCompat !== false ) { + + // Backcompat for ui-tab class (now ui-tabs-tab) + $.widget( "ui.tabs", $.ui.tabs, { + _processTabs: function() { + this._superApply( arguments ); + this._addClass( this.tabs, "ui-tab" ); + } + } ); +} + +var widgetsTabs = $.ui.tabs; + + +/*! + * jQuery UI Tooltip 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Tooltip +//>>group: Widgets +//>>description: Shows additional information for any element on hover or focus. +//>>docs: http://api.jqueryui.com/tooltip/ +//>>demos: http://jqueryui.com/tooltip/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/tooltip.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.tooltip", { + version: "1.12.1", + options: { + classes: { + "ui-tooltip": "ui-corner-all ui-widget-shadow" + }, + content: function() { + + // support: IE<9, Opera in jQuery <1.7 + // .text() can't accept undefined, so coerce to a string + var title = $( this ).attr( "title" ) || ""; + + // Escape title, since we're going from an attribute to raw HTML + return $( "<a>" ).text( title ).html(); + }, + hide: true, + + // Disabled elements have inconsistent behavior across browsers (#8661) + items: "[title]:not([disabled])", + position: { + my: "left top+15", + at: "left bottom", + collision: "flipfit flip" + }, + show: true, + track: false, + + // Callbacks + close: null, + open: null + }, + + _addDescribedBy: function( elem, id ) { + var describedby = ( elem.attr( "aria-describedby" ) || "" ).split( /\s+/ ); + describedby.push( id ); + elem + .data( "ui-tooltip-id", id ) + .attr( "aria-describedby", $.trim( describedby.join( " " ) ) ); + }, + + _removeDescribedBy: function( elem ) { + var id = elem.data( "ui-tooltip-id" ), + describedby = ( elem.attr( "aria-describedby" ) || "" ).split( /\s+/ ), + index = $.inArray( id, describedby ); + + if ( index !== -1 ) { + describedby.splice( index, 1 ); + } + + elem.removeData( "ui-tooltip-id" ); + describedby = $.trim( describedby.join( " " ) ); + if ( describedby ) { + elem.attr( "aria-describedby", describedby ); + } else { + elem.removeAttr( "aria-describedby" ); + } + }, + + _create: function() { + this._on( { + mouseover: "open", + focusin: "open" + } ); + + // IDs of generated tooltips, needed for destroy + this.tooltips = {}; + + // IDs of parent tooltips where we removed the title attribute + this.parents = {}; + + // Append the aria-live region so tooltips announce correctly + this.liveRegion = $( "<div>" ) + .attr( { + role: "log", + "aria-live": "assertive", + "aria-relevant": "additions" + } ) + .appendTo( this.document[ 0 ].body ); + this._addClass( this.liveRegion, null, "ui-helper-hidden-accessible" ); + + this.disabledTitles = $( [] ); + }, + + _setOption: function( key, value ) { + var that = this; + + this._super( key, value ); + + if ( key === "content" ) { + $.each( this.tooltips, function( id, tooltipData ) { + that._updateContent( tooltipData.element ); + } ); + } + }, + + _setOptionDisabled: function( value ) { + this[ value ? "_disable" : "_enable" ](); + }, + + _disable: function() { + var that = this; + + // Close open tooltips + $.each( this.tooltips, function( id, tooltipData ) { + var event = $.Event( "blur" ); + event.target = event.currentTarget = tooltipData.element[ 0 ]; + that.close( event, true ); + } ); + + // Remove title attributes to prevent native tooltips + this.disabledTitles = this.disabledTitles.add( + this.element.find( this.options.items ).addBack() + .filter( function() { + var element = $( this ); + if ( element.is( "[title]" ) ) { + return element + .data( "ui-tooltip-title", element.attr( "title" ) ) + .removeAttr( "title" ); + } + } ) + ); + }, + + _enable: function() { + + // restore title attributes + this.disabledTitles.each( function() { + var element = $( this ); + if ( element.data( "ui-tooltip-title" ) ) { + element.attr( "title", element.data( "ui-tooltip-title" ) ); + } + } ); + this.disabledTitles = $( [] ); + }, + + open: function( event ) { + var that = this, + target = $( event ? event.target : this.element ) + + // we need closest here due to mouseover bubbling, + // but always pointing at the same event target + .closest( this.options.items ); + + // No element to show a tooltip for or the tooltip is already open + if ( !target.length || target.data( "ui-tooltip-id" ) ) { + return; + } + + if ( target.attr( "title" ) ) { + target.data( "ui-tooltip-title", target.attr( "title" ) ); + } + + target.data( "ui-tooltip-open", true ); + + // Kill parent tooltips, custom or native, for hover + if ( event && event.type === "mouseover" ) { + target.parents().each( function() { + var parent = $( this ), + blurEvent; + if ( parent.data( "ui-tooltip-open" ) ) { + blurEvent = $.Event( "blur" ); + blurEvent.target = blurEvent.currentTarget = this; + that.close( blurEvent, true ); + } + if ( parent.attr( "title" ) ) { + parent.uniqueId(); + that.parents[ this.id ] = { + element: this, + title: parent.attr( "title" ) + }; + parent.attr( "title", "" ); + } + } ); + } + + this._registerCloseHandlers( event, target ); + this._updateContent( target, event ); + }, + + _updateContent: function( target, event ) { + var content, + contentOption = this.options.content, + that = this, + eventType = event ? event.type : null; + + if ( typeof contentOption === "string" || contentOption.nodeType || + contentOption.jquery ) { + return this._open( event, target, contentOption ); + } + + content = contentOption.call( target[ 0 ], function( response ) { + + // IE may instantly serve a cached response for ajax requests + // delay this call to _open so the other call to _open runs first + that._delay( function() { + + // Ignore async response if tooltip was closed already + if ( !target.data( "ui-tooltip-open" ) ) { + return; + } + + // JQuery creates a special event for focusin when it doesn't + // exist natively. To improve performance, the native event + // object is reused and the type is changed. Therefore, we can't + // rely on the type being correct after the event finished + // bubbling, so we set it back to the previous value. (#8740) + if ( event ) { + event.type = eventType; + } + this._open( event, target, response ); + } ); + } ); + if ( content ) { + this._open( event, target, content ); + } + }, + + _open: function( event, target, content ) { + var tooltipData, tooltip, delayedShow, a11yContent, + positionOption = $.extend( {}, this.options.position ); + + if ( !content ) { + return; + } + + // Content can be updated multiple times. If the tooltip already + // exists, then just update the content and bail. + tooltipData = this._find( target ); + if ( tooltipData ) { + tooltipData.tooltip.find( ".ui-tooltip-content" ).html( content ); + return; + } + + // If we have a title, clear it to prevent the native tooltip + // we have to check first to avoid defining a title if none exists + // (we don't want to cause an element to start matching [title]) + // + // We use removeAttr only for key events, to allow IE to export the correct + // accessible attributes. For mouse events, set to empty string to avoid + // native tooltip showing up (happens only when removing inside mouseover). + if ( target.is( "[title]" ) ) { + if ( event && event.type === "mouseover" ) { + target.attr( "title", "" ); + } else { + target.removeAttr( "title" ); + } + } + + tooltipData = this._tooltip( target ); + tooltip = tooltipData.tooltip; + this._addDescribedBy( target, tooltip.attr( "id" ) ); + tooltip.find( ".ui-tooltip-content" ).html( content ); + + // Support: Voiceover on OS X, JAWS on IE <= 9 + // JAWS announces deletions even when aria-relevant="additions" + // Voiceover will sometimes re-read the entire log region's contents from the beginning + this.liveRegion.children().hide(); + a11yContent = $( "<div>" ).html( tooltip.find( ".ui-tooltip-content" ).html() ); + a11yContent.removeAttr( "name" ).find( "[name]" ).removeAttr( "name" ); + a11yContent.removeAttr( "id" ).find( "[id]" ).removeAttr( "id" ); + a11yContent.appendTo( this.liveRegion ); + + function position( event ) { + positionOption.of = event; + if ( tooltip.is( ":hidden" ) ) { + return; + } + tooltip.position( positionOption ); + } + if ( this.options.track && event && /^mouse/.test( event.type ) ) { + this._on( this.document, { + mousemove: position + } ); + + // trigger once to override element-relative positioning + position( event ); + } else { + tooltip.position( $.extend( { + of: target + }, this.options.position ) ); + } + + tooltip.hide(); + + this._show( tooltip, this.options.show ); + + // Handle tracking tooltips that are shown with a delay (#8644). As soon + // as the tooltip is visible, position the tooltip using the most recent + // event. + // Adds the check to add the timers only when both delay and track options are set (#14682) + if ( this.options.track && this.options.show && this.options.show.delay ) { + delayedShow = this.delayedShow = setInterval( function() { + if ( tooltip.is( ":visible" ) ) { + position( positionOption.of ); + clearInterval( delayedShow ); + } + }, $.fx.interval ); + } + + this._trigger( "open", event, { tooltip: tooltip } ); + }, + + _registerCloseHandlers: function( event, target ) { + var events = { + keyup: function( event ) { + if ( event.keyCode === $.ui.keyCode.ESCAPE ) { + var fakeEvent = $.Event( event ); + fakeEvent.currentTarget = target[ 0 ]; + this.close( fakeEvent, true ); + } + } + }; + + // Only bind remove handler for delegated targets. Non-delegated + // tooltips will handle this in destroy. + if ( target[ 0 ] !== this.element[ 0 ] ) { + events.remove = function() { + this._removeTooltip( this._find( target ).tooltip ); + }; + } + + if ( !event || event.type === "mouseover" ) { + events.mouseleave = "close"; + } + if ( !event || event.type === "focusin" ) { + events.focusout = "close"; + } + this._on( true, target, events ); + }, + + close: function( event ) { + var tooltip, + that = this, + target = $( event ? event.currentTarget : this.element ), + tooltipData = this._find( target ); + + // The tooltip may already be closed + if ( !tooltipData ) { + + // We set ui-tooltip-open immediately upon open (in open()), but only set the + // additional data once there's actually content to show (in _open()). So even if the + // tooltip doesn't have full data, we always remove ui-tooltip-open in case we're in + // the period between open() and _open(). + target.removeData( "ui-tooltip-open" ); + return; + } + + tooltip = tooltipData.tooltip; + + // Disabling closes the tooltip, so we need to track when we're closing + // to avoid an infinite loop in case the tooltip becomes disabled on close + if ( tooltipData.closing ) { + return; + } + + // Clear the interval for delayed tracking tooltips + clearInterval( this.delayedShow ); + + // Only set title if we had one before (see comment in _open()) + // If the title attribute has changed since open(), don't restore + if ( target.data( "ui-tooltip-title" ) && !target.attr( "title" ) ) { + target.attr( "title", target.data( "ui-tooltip-title" ) ); + } + + this._removeDescribedBy( target ); + + tooltipData.hiding = true; + tooltip.stop( true ); + this._hide( tooltip, this.options.hide, function() { + that._removeTooltip( $( this ) ); + } ); + + target.removeData( "ui-tooltip-open" ); + this._off( target, "mouseleave focusout keyup" ); + + // Remove 'remove' binding only on delegated targets + if ( target[ 0 ] !== this.element[ 0 ] ) { + this._off( target, "remove" ); + } + this._off( this.document, "mousemove" ); + + if ( event && event.type === "mouseleave" ) { + $.each( this.parents, function( id, parent ) { + $( parent.element ).attr( "title", parent.title ); + delete that.parents[ id ]; + } ); + } + + tooltipData.closing = true; + this._trigger( "close", event, { tooltip: tooltip } ); + if ( !tooltipData.hiding ) { + tooltipData.closing = false; + } + }, + + _tooltip: function( element ) { + var tooltip = $( "<div>" ).attr( "role", "tooltip" ), + content = $( "<div>" ).appendTo( tooltip ), + id = tooltip.uniqueId().attr( "id" ); + + this._addClass( content, "ui-tooltip-content" ); + this._addClass( tooltip, "ui-tooltip", "ui-widget ui-widget-content" ); + + tooltip.appendTo( this._appendTo( element ) ); + + return this.tooltips[ id ] = { + element: element, + tooltip: tooltip + }; + }, + + _find: function( target ) { + var id = target.data( "ui-tooltip-id" ); + return id ? this.tooltips[ id ] : null; + }, + + _removeTooltip: function( tooltip ) { + tooltip.remove(); + delete this.tooltips[ tooltip.attr( "id" ) ]; + }, + + _appendTo: function( target ) { + var element = target.closest( ".ui-front, dialog" ); + + if ( !element.length ) { + element = this.document[ 0 ].body; + } + + return element; + }, + + _destroy: function() { + var that = this; + + // Close open tooltips + $.each( this.tooltips, function( id, tooltipData ) { + + // Delegate to close method to handle common cleanup + var event = $.Event( "blur" ), + element = tooltipData.element; + event.target = event.currentTarget = element[ 0 ]; + that.close( event, true ); + + // Remove immediately; destroying an open tooltip doesn't use the + // hide animation + $( "#" + id ).remove(); + + // Restore the title + if ( element.data( "ui-tooltip-title" ) ) { + + // If the title attribute has changed since open(), don't restore + if ( !element.attr( "title" ) ) { + element.attr( "title", element.data( "ui-tooltip-title" ) ); + } + element.removeData( "ui-tooltip-title" ); + } + } ); + this.liveRegion.remove(); + } +} ); + +// DEPRECATED +// TODO: Switch return back to widget declaration at top of file when this is removed +if ( $.uiBackCompat !== false ) { + + // Backcompat for tooltipClass option + $.widget( "ui.tooltip", $.ui.tooltip, { + options: { + tooltipClass: null + }, + _tooltip: function() { + var tooltipData = this._superApply( arguments ); + if ( this.options.tooltipClass ) { + tooltipData.tooltip.addClass( this.options.tooltipClass ); + } + return tooltipData; + } + } ); +} + +var widgetsTooltip = $.ui.tooltip; + + + + +})); \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/jquery-ui_1.12.1.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/modal.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/modal.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/modal.js (revision 7) @@ -0,0 +1,64 @@ +/**************************************************************** + * + * 파일명 : modal.js + * 설 명 : 모달 기능을 처리하는 JavaScript + * + * 수정일 수정자 Version Function 명 + * ------------ --------- ------------- ---------------------------- + * 2015.07.13 장동한 1.0 최초생성 + * + */ +$(function() { + + $.fn.egovModal = function(oModal) { + //Get the modal + var modal = document.getElementById(oModal); + + // When the user clicks the button, open the modal + $(this).click(function(){ + $(modal).css("display","block"); + }); + + // When the user clicks on <span> (x), close the modal + $(modal).find(".close").click(function(){ + $(modal).css("display","none"); + }); + + // When the user clicks anywhere outside of the modal, close it + $(document).click(function(e){ + if(e.target == modal) { + $(modal).css("display","none"); + } + }); + + //close key esc + $(document).bind('keydown', function(event) { + if($(modal).css("display") != "none" + && event.keyCode == 27){ + $(modal).css("display","none"); + } + }); + + }; + + $.fn.setEgovModalTitle = function(sTitle) { + $(this).find("#title").html("<h2>"+sTitle+"</h2>"); + }; + + $.fn.setEgovModalBody = function(sBody) { + $(this).find("#body").html(sBody); + }; + + $.fn.setEgovModalfooter = function(sFooter) { + $(this).find("#footer").html(sFooter+"<span class='btn_style1 gray' id='btnModalClose'><a href='#'>close</a></span>").trigger("create"); + //close botton + $(this).find("#footer").find("#btnModalClose").click(function(){ + $(this).parent().parent().parent().parent().css("display","none"); + }); + }; + + $.fn.setEgovModalClose = function() { + $(this).css("display","none"); + }; + +}) Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/modal.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/popup.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/popup.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/popup.js (revision 7) @@ -0,0 +1,21 @@ +/**************************************************************** + * + * 파일명 : popup + * 설 명 : 팝업 기능을 처리하는 JavaScript + * + * 수정일 수정자 Version Function 명 + * ------------ --------- ------------- ---------------------------- + * 2016.08.05 장동한 1.0 최초생성 + * + */ +/* ******************************************************** + * 팝업창 오픈 + ******************************************************** */ + function fn_egov_popup(sName, sUrl, width, height){ + + var LeftPosition=(screen.width-width)/2; + var TopPosition=(screen.height-height)/2; + + var oPopup = window.open(sUrl,sName,"width="+width+",height="+height+",top="+TopPosition+",left="+LeftPosition+", scrollbars=no"); + if(oPopup){oPopup.focus();} + } \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/popup.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/fms/EgovMultiFiles.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/fms/EgovMultiFiles.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/fms/EgovMultiFiles.js (revision 7) @@ -0,0 +1,203 @@ +/**************************************************************** + * + * 파일명 : EgovMultiFiles.js + * 설 명 : 업로드시 여러 파일에 대한 목록 표시 및 처리 + * + * 수정일 수정자 수정내용 + * ---------- --------- ---------------------------- + * 2019.10.15 취두영 다중 파일 업로드 개선 (HTML5) + * 2019.12.06 신용호 EgovMultiFilesChecker 추가하여 확장자 체크 및 용량 체크 하기 + * 2020.08.07 신용호 수정시 첨부파일 갯수 없는경우 예외수정, 확장자 체크 로직 보완 + * + */ +function MultiSelector(list_target, max, file_label) { + + // Where to write the list + this.list_target = list_target; + this.id = 0; + // Is there a maximum? + if (max) { + this.max = max; + } else { + this.max = -1; + } + + this.file_label = file_label; + /** + * Add a new file input element + */ + _base = this; + this.addElement = function(element) { + // Make sure it's a file input element + if (element.tagName == 'INPUT' && element.type == 'file') { + + // Add reference to this object + element.multi_selector = this; + + // What to do when a file is selected + element.onchange = function() { + + var i = 0; + + var sErrMsg = "첨부파일 개수는 [" + _base.max + "]까지 첨부할 수 있습니다!"; + var files_length = 1; + // HTML5 지원여부 체크 + if (typeof element.files != "undefined") { + files_length = element.files.length; + } + + if (_base.max < files_length) { + element.value = ""; + alert(sErrMsg); + + while (list_target.firstChild) { + list_target.removeChild(list_target.firstChild); + } + + return; + } + + // 수정모드 체크 + if (document.getElementById("egov_file_view_table") != null) { + var sum = files_length + + document.getElementById("egov_file_view_table") + .getElementsByTagName("img").length; + + if (_base.max < sum) { + element.value = ""; + alert(sErrMsg); + return; + } + } + + if (files_length > 0) { + while (list_target.firstChild) { + list_target.removeChild(list_target.firstChild); + } + } + + // Update list + for (i; i < files_length; i++) { + this.multi_selector.addListRowNew(this, i); + } + + }; + // Most recent element + this.current_element = element; + } else { + // This can only be applied to file input elements! + alert('Error: not a file input element'); + } + ; + }; + + /** + * Add a new row to the list of files + */ + this.addListRowNew = function(element, i) { + + // Row div + var new_row = document.createElement('div'); + new_row.className = "file_add_" + i; + new_row.innerHTML = "<span>" + element.files[i].name + + "</span>&nbsp;&nbsp;"; + + // Add it to the list + this.list_target.appendChild(new_row); + }; + +}; + +var EgovMultiFilesChecker = { + getFileExtension: function(filename) { + + if (filename == null) return ""; + var __fileLen = filename.length; + var __lastDot = filename.lastIndexOf('.'); + if (__lastDot < 0 ) return ""; + var __fileExt = filename.substring(__lastDot, __fileLen).toLowerCase(); + + return __fileExt; + } + // 결과가 true 인경우 허용 + // 결과가 false 인경우 불가 + ,checkExtensions: function(fileObjId, allowTypes) { + if ( document.getElementById( fileObjId ) == null ) return false; // file객체가 없으면 승인하지 않는다. + if ( typeof document.getElementById( fileObjId ).files == "undefined" ) + return this.checkExtensionsOldIE(fileObjId, allowTypes); + else + return this.checkExtensionsHTML5(fileObjId, allowTypes); + + } + ,checkExtensionsHTML5: function(fileObjId, allowTypes) { + var __filelen = document.getElementById( fileObjId ).files.length; + var __fileObjs = document.getElementById( fileObjId ).files; + if ( __filelen == 0 ) return true; + for(var i=0; i<__fileObjs.length; i++) { + var __fileObj = __fileObjs[i]; + console.log(__fileObj.name); + console.log(this.getFileExtension(__fileObj.name)); + + var __fileExt = this.getFileExtension(__fileObj.name); + if ( __fileExt == "" || (allowTypes+".").indexOf(__fileExt+".") < 0 ) { + alert("허용되지 않는 확장자 입니다.["+__fileExt+"]"); + return false; + } + } + + return true; + } + ,checkExtensionsOldIE: function(fileObjId, allowTypes) { + var __filelPath = document.getElementById( fileObjId ).value; + console.log(__filelPath); + console.log(this.getFileExtension(__filelPath)); + + var __fileExt = this.getFileExtension(__filelPath); + if ( __fileExt == "" || (allowTypes+".").indexOf(__fileExt+".") < 0 ) { + alert("2.허용되지 않는 확장자 입니다.["+__fileExt+"]"); + return false; + } + + return true; + } + + // 결과가 true 인경우 허용 + // 결과가 false 인경우 불가 + ,checkFileSize: function(fileObjId, allowSize) { + if ( document.getElementById( fileObjId ) == null ) return false; // file객체가 없으면 승인하지 않는다. + if ( typeof document.getElementById( fileObjId ).files == "undefined" ) + return this.checkFileSizeOldIE(fileObjId, allowSize); + else + return this.checkFileSizeHTML5(fileObjId, allowSize); + } + ,checkFileSizeHTML5: function(fileObjId, allowSize) { + var __filelen = document.getElementById( fileObjId ).files.length; + var __fileObjs = document.getElementById( fileObjId ).files; + if ( __filelen == 0 ) return true; + for(var i=0; i<__fileObjs.length; i++) { + var __fileObj = __fileObjs[i]; + console.log(__fileObj.name); + console.log(this.getFileExtension(__fileObj.name)); + console.log(__fileObj.size); + + if ( __fileObj.size > allowSize ) { + alert("허용되지 않는 파일 사이즈 입니다.["+__fileObj.name+" : "+__fileObj.size+" bytes / "+allowSize+" bytes]"); + return false; + } + } + + return true; + } + // 구형 IE 브라우저의 경우 사이즈 체크의 제한이 있습니다. + ,checkFileSizeOldIE: function(fileObjId, allowSize) { + + var __filelPath = document.getElementById( fileObjId ).value; + console.log(__filelPath); + + alert("구형 브라우저에서는 파일 사이즈 체크를 할수 없습니다."); + + return true; + } + +}; + Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/fms/EgovMultiFiles.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/fms/EgovMultiFile.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/fms/EgovMultiFile.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/fms/EgovMultiFile.js (revision 7) @@ -0,0 +1,220 @@ +/** + * Convert a single file-input element into a 'multiple' input list + * Usage: + * + * 1. Create a file input element (no name) + * eg. <input type="file" id="first_file_element"> + * + * 2. Create a DIV for the output to be written to + * eg. <div id="files_list"></div> + * + * 3. Instantiate a MultiSelector object, passing in the DIV and an (optional) maximum number of files + * eg. var multi_selector = new MultiSelector( document.getElementById( 'files_list' ), 3 ); + * + * 4. Add the first element + * eg. multi_selector.addElement( document.getElementById( 'first_file_element' ) ); + */ + +function MultiSelector( list_target, max , file_label ){ + + // Where to write the list + this.list_target = list_target; + // How many elements? + this.count = 0; + // How many elements? + this.id = 0; + + this.update_count = 0; + // Is there a maximum? + if( max ){ + this.max = max; + } else { + this.max = -1; + }; + this.file_label = file_label + + this.current_count = 0; + //console.log('update!!!!!!'); + /** + * Add a new file input element + */ + _base = this; + this.addElement = function( element ){ + + //console.log('update_count>'+this.update_count); + //console.log('max>'+this.max); + //console.log('count>'+this.count); + + // Make sure it's a file input element + if( element.tagName == 'INPUT' && element.type == 'file' ){ + + //console.log('check step addElement start'); + + // Element name -- what number am I? + element.name = 'file_' + this.id; + element.id = 'egovfile_' + this.id; + element.class = ""; + + //document.getElementById(this.file_label).setAttribute("for","egovfile_"+this.id); + //console.log('file_label>'+element.name); + + this.id++; + + // Add reference to this object + element.multi_selector = this; + + // What to do when a file is selected + element.onchange = function(){ + + var sErrMsg = "첨부파일 갯수는 ["+_base.max+"]이상 첨부할 수 없습니다!"; + if( _base.update_count > 0 ){ + if( _base.count > (_base.max-_base.update_count) ){ + element.value = ""; + alert(sErrMsg); return; + } + } + + if( _base.max > 0 && _base.count > _base.max ){ + element.value = ""; + alert(sErrMsg); return; + } + + // New file input + var new_element = document.createElement( 'input' ); + new_element.type = 'file'; + + // Add new element + this.parentNode.insertBefore( new_element, this ); + + // Apply 'update' to element + this.multi_selector.addElement( new_element ); + + // Update list + this.multi_selector.addListRowNew( this ); + + // Hide this: we can't use display:none because Safari doesn't like it + this.style.position = 'absolute'; + this.style.left = '-1000px'; + this.style.top = '-1000px'; + this.style.display = 'none'; + this.style.visibility = 'hidden'; + this.style.width = '0'; + this.style.height = '0'; + this.style.overflow = 'hidden'; + + new_element.onkeypress = function(){ + return false; + }; + + }; + // If we've reached maximum number, disable input element + if( this.max != -1 && this.count >= this.max ){ + //element.disabled = true; + }; + + // File element counter + this.count++; + // Most recent element + this.current_element = element; + + } else { + // This can only be applied to file input elements! + alert( 'Error: not a file input element' ); + }; + + }; + + /** + * Add a new row to the list of files + */ + this.addListRowNew = function( element ){ + + // Row div + var new_row = document.createElement( 'div' ); + new_row.className = "file_add"; + + // Delete button + var new_row_button = document.createElement( 'input' ); + new_row_button.type = 'button'; + new_row_button.value = 'Delete'; + new_row_button.setAttribute("style", "margin: 1px; padding: 3px;"); + //new_row_button.style.top = '3px'; + + // References + new_row.element = element; + + // Delete function + new_row_button.onclick= function(){ + + // Remove element from form + this.parentNode.element.parentNode.removeChild( this.parentNode.element ); + + // Remove this row from the list + this.parentNode.parentNode.removeChild( this.parentNode ); + + // Decrement counter + this.parentNode.element.multi_selector.count--; + + // Re-enable input element (if it's disabled) + this.parentNode.element.multi_selector.current_element.disabled = false; + + // which nixes your already queued uploads + return false; + }; + // Set row value + //new_row.innerHTML = element.value; + new_row.innerHTML = "<span>"+element.value+"</span>&nbsp;&nbsp;"; + + // Add button + new_row.appendChild( new_row_button ); + + // Add it to the list + this.list_target.appendChild( new_row ); + }; + + /** + * Add a new row to the list of files + */ + this.addListRow = function( element ){ + + // Row div + var new_row = document.createElement( 'div' ); + + // Delete button + var new_row_button = document.createElement( 'input' ); + new_row_button.type = 'button'; + new_row_button.value = 'Delete'; + + // References + new_row.element = element; + + // Delete function + new_row_button.onclick= function(){ + + // Remove element from form + this.parentNode.element.parentNode.removeChild( this.parentNode.element ); + + // Remove this row from the list + this.parentNode.parentNode.removeChild( this.parentNode ); + + // Decrement counter + this.parentNode.element.multi_selector.count--; + + // Re-enable input element (if it's disabled) + this.parentNode.element.multi_selector.current_element.disabled = false; + + // which nixes your already queued uploads + return false; + }; + + // Set row value + new_row.innerHTML = element.value; + + // Add button + new_row.appendChild( new_row_button ); + + // Add it to the list + this.list_target.appendChild( new_row ); + }; + +}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/fms/EgovMultiFile.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/jqueryui_old.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/jqueryui_old.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/jqueryui_old.js (revision 7) @@ -0,0 +1,2387 @@ +/*! jQuery UI - v1.11.4 - 2016-06-13 +* http://jqueryui.com +* Includes: core.js, datepicker.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +(function( factory ) { + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define([ "jquery" ], factory ); + } else { + + // Browser globals + factory( jQuery ); + } +}(function( $ ) { +/*! + * jQuery UI Core 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/ui-core/ + */ + + +// $.ui might exist from components with no dependencies, e.g., $.ui.position +$.ui = $.ui || {}; + +$.extend( $.ui, { + version: "1.11.4", + + keyCode: { + BACKSPACE: 8, + COMMA: 188, + DELETE: 46, + DOWN: 40, + END: 35, + ENTER: 13, + ESCAPE: 27, + HOME: 36, + LEFT: 37, + PAGE_DOWN: 34, + PAGE_UP: 33, + PERIOD: 190, + RIGHT: 39, + SPACE: 32, + TAB: 9, + UP: 38 + } +}); + +// plugins +$.fn.extend({ + scrollParent: function( includeHidden ) { + var position = this.css( "position" ), + excludeStaticParent = position === "absolute", + overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, + scrollParent = this.parents().filter( function() { + var parent = $( this ); + if ( excludeStaticParent && parent.css( "position" ) === "static" ) { + return false; + } + return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) ); + }).eq( 0 ); + + return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent; + }, + + uniqueId: (function() { + var uuid = 0; + + return function() { + return this.each(function() { + if ( !this.id ) { + this.id = "ui-id-" + ( ++uuid ); + } + }); + }; + })(), + + removeUniqueId: function() { + return this.each(function() { + if ( /^ui-id-\d+$/.test( this.id ) ) { + $( this ).removeAttr( "id" ); + } + }); + } +}); + +// selectors +function focusable( element, isTabIndexNotNaN ) { + var map, mapName, img, + nodeName = element.nodeName.toLowerCase(); + if ( "area" === nodeName ) { + map = element.parentNode; + mapName = map.name; + if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { + return false; + } + img = $( "img[usemap='#" + mapName + "']" )[ 0 ]; + return !!img && visible( img ); + } + return ( /^(input|select|textarea|button|object)$/.test( nodeName ) ? + !element.disabled : + "a" === nodeName ? + element.href || isTabIndexNotNaN : + isTabIndexNotNaN) && + // the element and all of its ancestors must be visible + visible( element ); +} + +function visible( element ) { + return $.expr.filters.visible( element ) && + !$( element ).parents().addBack().filter(function() { + return $.css( this, "visibility" ) === "hidden"; + }).length; +} + +$.extend( $.expr[ ":" ], { + data: $.expr.createPseudo ? + $.expr.createPseudo(function( dataName ) { + return function( elem ) { + return !!$.data( elem, dataName ); + }; + }) : + // support: jQuery <1.8 + function( elem, i, match ) { + return !!$.data( elem, match[ 3 ] ); + }, + + focusable: function( element ) { + return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); + }, + + tabbable: function( element ) { + var tabIndex = $.attr( element, "tabindex" ), + isTabIndexNaN = isNaN( tabIndex ); + return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); + } +}); + +// support: jQuery <1.8 +if ( !$( "<a>" ).outerWidth( 1 ).jquery ) { + $.each( [ "Width", "Height" ], function( i, name ) { + var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], + type = name.toLowerCase(), + orig = { + innerWidth: $.fn.innerWidth, + innerHeight: $.fn.innerHeight, + outerWidth: $.fn.outerWidth, + outerHeight: $.fn.outerHeight + }; + + function reduce( elem, size, border, margin ) { + $.each( side, function() { + size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; + if ( border ) { + size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; + } + if ( margin ) { + size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; + } + }); + return size; + } + + $.fn[ "inner" + name ] = function( size ) { + if ( size === undefined ) { + return orig[ "inner" + name ].call( this ); + } + + return this.each(function() { + $( this ).css( type, reduce( this, size ) + "px" ); + }); + }; + + $.fn[ "outer" + name] = function( size, margin ) { + if ( typeof size !== "number" ) { + return orig[ "outer" + name ].call( this, size ); + } + + return this.each(function() { + $( this).css( type, reduce( this, size, true, margin ) + "px" ); + }); + }; + }); +} + +// support: jQuery <1.8 +if ( !$.fn.addBack ) { + $.fn.addBack = function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + }; +} + +// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413) +if ( $( "<a>" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) { + $.fn.removeData = (function( removeData ) { + return function( key ) { + if ( arguments.length ) { + return removeData.call( this, $.camelCase( key ) ); + } else { + return removeData.call( this ); + } + }; + })( $.fn.removeData ); +} + +// deprecated +$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); + +$.fn.extend({ + focus: (function( orig ) { + return function( delay, fn ) { + return typeof delay === "number" ? + this.each(function() { + var elem = this; + setTimeout(function() { + $( elem ).focus(); + if ( fn ) { + fn.call( elem ); + } + }, delay ); + }) : + orig.apply( this, arguments ); + }; + })( $.fn.focus ), + + disableSelection: (function() { + var eventType = "onselectstart" in document.createElement( "div" ) ? + "selectstart" : + "mousedown"; + + return function() { + return this.bind( eventType + ".ui-disableSelection", function( event ) { + event.preventDefault(); + }); + }; + })(), + + enableSelection: function() { + return this.unbind( ".ui-disableSelection" ); + }, + + zIndex: function( zIndex ) { + if ( zIndex !== undefined ) { + return this.css( "zIndex", zIndex ); + } + + if ( this.length ) { + var elem = $( this[ 0 ] ), position, value; + while ( elem.length && elem[ 0 ] !== document ) { + // Ignore z-index if position is set to a value where z-index is ignored by the browser + // This makes behavior of this function consistent across browsers + // WebKit always returns auto if the element is positioned + position = elem.css( "position" ); + if ( position === "absolute" || position === "relative" || position === "fixed" ) { + // IE returns 0 when zIndex is not specified + // other browsers return a string + // we ignore the case of nested elements with an explicit value of 0 + // <div style="z-index: -10;"><div style="z-index: 0;"></div></div> + value = parseInt( elem.css( "zIndex" ), 10 ); + if ( !isNaN( value ) && value !== 0 ) { + return value; + } + } + elem = elem.parent(); + } + } + + return 0; + } +}); + +// $.ui.plugin is deprecated. Use $.widget() extensions instead. +$.ui.plugin = { + add: function( module, option, set ) { + var i, + proto = $.ui[ module ].prototype; + for ( i in set ) { + proto.plugins[ i ] = proto.plugins[ i ] || []; + proto.plugins[ i ].push( [ option, set[ i ] ] ); + } + }, + call: function( instance, name, args, allowDisconnected ) { + var i, + set = instance.plugins[ name ]; + + if ( !set ) { + return; + } + + if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) { + return; + } + + for ( i = 0; i < set.length; i++ ) { + if ( instance.options[ set[ i ][ 0 ] ] ) { + set[ i ][ 1 ].apply( instance.element, args ); + } + } + } +}; + + +/*! + * jQuery UI Datepicker 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/datepicker/ + */ + + +$.extend($.ui, { datepicker: { version: "1.11.4" } }); + +var datepicker_instActive; + +function datepicker_getZindex( elem ) { + var position, value; + while ( elem.length && elem[ 0 ] !== document ) { + // Ignore z-index if position is set to a value where z-index is ignored by the browser + // This makes behavior of this function consistent across browsers + // WebKit always returns auto if the element is positioned + position = elem.css( "position" ); + if ( position === "absolute" || position === "relative" || position === "fixed" ) { + // IE returns 0 when zIndex is not specified + // other browsers return a string + // we ignore the case of nested elements with an explicit value of 0 + // <div style="z-index: -10;"><div style="z-index: 0;"></div></div> + value = parseInt( elem.css( "zIndex" ), 10 ); + if ( !isNaN( value ) && value !== 0 ) { + return value; + } + } + elem = elem.parent(); + } + + return 0; +} +/* Date picker manager. + Use the singleton instance of this class, $.datepicker, to interact with the date picker. + Settings for (groups of) date pickers are maintained in an instance object, + allowing multiple different settings on the same page. */ + +function Datepicker() { + this._curInst = null; // The current instance in use + this._keyEvent = false; // If the last event was a key event + this._disabledInputs = []; // List of date picker inputs that have been disabled + this._datepickerShowing = false; // True if the popup picker is showing , false if not + this._inDialog = false; // True if showing within a "dialog", false if not + this._mainDivId = "ui-datepicker-div"; // The ID of the main datepicker division + this._inlineClass = "ui-datepicker-inline"; // The name of the inline marker class + this._appendClass = "ui-datepicker-append"; // The name of the append marker class + this._triggerClass = "ui-datepicker-trigger"; // The name of the trigger marker class + this._dialogClass = "ui-datepicker-dialog"; // The name of the dialog marker class + this._disableClass = "ui-datepicker-disabled"; // The name of the disabled covering marker class + this._unselectableClass = "ui-datepicker-unselectable"; // The name of the unselectable cell marker class + this._currentClass = "ui-datepicker-current-day"; // The name of the current day marker class + this._dayOverClass = "ui-datepicker-days-cell-over"; // The name of the day hover marker class + this.regional = []; // Available regional settings, indexed by language code + this.regional[""] = { // Default regional settings + closeText: "Done", // Display text for close link + prevText: "Prev", // Display text for previous month link + nextText: "Next", // Display text for next month link + currentText: "Today", // Display text for current month link + //monthNames: ["January","February","March","April","May","June", "July","August","September","October","November","December"], // Names of months for drop-down and formatting + monthNames: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], + //monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], // For formatting + monthNamesShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], + //dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], // For formatting + dayNames: ["일", "월", "화", "수", "목", "금", "토"], // For formatting + //dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], // For formatting + dayNamesShort: ["일", "월", "화", "수", "목", "금", "토"], + //dayNamesMin: ["Su","Mo","Tu","We","Th","Fr","Sa"], // Column headings for days starting at Sunday + dayNamesMin: ["일", "월", "화", "수", "목", "금", "토"], + weekHeader: "Wk", // Column header for week of the year + dateFormat: "mm/dd/yy", // See format options on parseDate + firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ... + isRTL: false, // True if right-to-left language, false if left-to-right + showMonthAfterYear: false, // True if the year select precedes month, false for month then year + yearSuffix: "년" // Additional text to append to the year in the month headers + }; + this._defaults = { // Global defaults for all the date picker instances + showOn: "focus", // "focus" for popup on focus, + // "button" for trigger button, or "both" for either + showAnim: "fadeIn", // Name of jQuery animation for popup + showOptions: {}, // Options for enhanced animations + defaultDate: null, // Used when field is blank: actual date, + // +/-number for offset from today, null for today + appendText: "", // Display text following the input box, e.g. showing the format + buttonText: "...", // Text for trigger button + buttonImage: "", // URL for trigger button image + buttonImageOnly: false, // True if the image appears alone, false if it appears on a button + hideIfNoPrevNext: false, // True to hide next/previous month links + // if not applicable, false to just disable them + navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links + gotoCurrent: false, // True if today link goes back to current selection instead + changeMonth: false, // True if month can be selected directly, false if only prev/next + changeYear: false, // True if year can be selected directly, false if only prev/next + yearRange: "c-10:c+10", // Range of years to display in drop-down, + // either relative to today's year (-nn:+nn), relative to currently displayed year + // (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n) + showOtherMonths: false, // True to show dates in other months, false to leave blank + selectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable + showWeek: false, // True to show week of the year, false to not show it + calculateWeek: this.iso8601Week, // How to calculate the week of the year, + // takes a Date and returns the number of the week for it + shortYearCutoff: "+10", // Short year values < this are in the current century, + // > this are in the previous century, + // string value starting with "+" for current year + value + minDate: null, // The earliest selectable date, or null for no limit + maxDate: null, // The latest selectable date, or null for no limit + duration: "fast", // Duration of display/closure + beforeShowDay: null, // Function that takes a date and returns an array with + // [0] = true if selectable, false if not, [1] = custom CSS class name(s) or "", + // [2] = cell title (optional), e.g. $.datepicker.noWeekends + beforeShow: null, // Function that takes an input field and + // returns a set of custom settings for the date picker + onSelect: null, // Define a callback function when a date is selected + onChangeMonthYear: null, // Define a callback function when the month or year is changed + onClose: null, // Define a callback function when the datepicker is closed + numberOfMonths: 1, // Number of months to show at a time + showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0) + stepMonths: 1, // Number of months to step back/forward + stepBigMonths: 12, // Number of months to step back/forward for the big links + altField: "", // Selector for an alternate field to store selected dates into + altFormat: "", // The date format to use for the alternate field + constrainInput: true, // The input is constrained by the current date format + showButtonPanel: false, // True to show button panel, false to not show it + autoSize: false, // True to size the input for the date format, false to leave as is + disabled: false // The initial disabled state + }; + $.extend(this._defaults, this.regional[""]); + this.regional.en = $.extend( true, {}, this.regional[ "" ]); + this.regional[ "en-US" ] = $.extend( true, {}, this.regional.en ); + this.dpDiv = datepicker_bindHover($("<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")); +} + +$.extend(Datepicker.prototype, { + /* Class name added to elements to indicate already configured with a date picker. */ + markerClassName: "hasDatepicker", + + //Keep track of the maximum number of rows displayed (see #7043) + maxRows: 4, + + // TODO rename to "widget" when switching to widget factory + _widgetDatepicker: function() { + return this.dpDiv; + }, + + /* Override the default settings for all instances of the date picker. + * @param settings object - the new settings to use as defaults (anonymous object) + * @return the manager object + */ + setDefaults: function(settings) { + datepicker_extendRemove(this._defaults, settings || {}); + return this; + }, + + /* Attach the date picker to a jQuery selection. + * @param target element - the target input field or division or span + * @param settings object - the new settings to use for this date picker instance (anonymous) + */ + _attachDatepicker: function(target, settings) { + var nodeName, inline, inst; + nodeName = target.nodeName.toLowerCase(); + inline = (nodeName === "div" || nodeName === "span"); + if (!target.id) { + this.uuid += 1; + target.id = "dp" + this.uuid; + } + inst = this._newInst($(target), inline); + inst.settings = $.extend({}, settings || {}); + if (nodeName === "input") { + this._connectDatepicker(target, inst); + } else if (inline) { + this._inlineDatepicker(target, inst); + } + }, + + /* Create a new instance object. */ + _newInst: function(target, inline) { + var id = target[0].id.replace(/([^A-Za-z0-9_\-])/g, "\\\\$1"); // escape jQuery meta chars + return {id: id, input: target, // associated target + selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection + drawMonth: 0, drawYear: 0, // month being drawn + inline: inline, // is datepicker inline or not + dpDiv: (!inline ? this.dpDiv : // presentation div + datepicker_bindHover($("<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")))}; + }, + + /* Attach the date picker to an input field. */ + _connectDatepicker: function(target, inst) { + var input = $(target); + inst.append = $([]); + inst.trigger = $([]); + if (input.hasClass(this.markerClassName)) { + return; + } + this._attachments(input, inst); + input.addClass(this.markerClassName).keydown(this._doKeyDown). + keypress(this._doKeyPress).keyup(this._doKeyUp); + this._autoSize(inst); + $.data(target, "datepicker", inst); + //If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665) + if( inst.settings.disabled ) { + this._disableDatepicker( target ); + } + }, + + /* Make attachments based on settings. */ + _attachments: function(input, inst) { + var showOn, buttonText, buttonImage, + appendText = this._get(inst, "appendText"), + isRTL = this._get(inst, "isRTL"); + + if (inst.append) { + inst.append.remove(); + } + if (appendText) { + inst.append = $("<span class='" + this._appendClass + "'>" + appendText + "</span>"); + input[isRTL ? "before" : "after"](inst.append); + } + + input.unbind("focus", this._showDatepicker); + + if (inst.trigger) { + inst.trigger.remove(); + } + + showOn = this._get(inst, "showOn"); + if (showOn === "focus" || showOn === "both") { // pop-up date picker when in the marked field + input.focus(this._showDatepicker); + } + if (showOn === "button" || showOn === "both") { // pop-up date picker when button clicked + buttonText = this._get(inst, "buttonText"); + buttonImage = this._get(inst, "buttonImage"); + inst.trigger = $(this._get(inst, "buttonImageOnly") ? + $("<img style='cursor:pointer;'/>").addClass(this._triggerClass). + attr({ src: buttonImage, alt: buttonText, title: buttonText }) : + $("<button type='button'></button>").addClass(this._triggerClass). + html(!buttonImage ? buttonText : $("<img/>").attr( + { src:buttonImage, alt:buttonText, title:buttonText }))); + input[isRTL ? "before" : "after"](inst.trigger); + inst.trigger.click(function() { + if ($.datepicker._datepickerShowing && $.datepicker._lastInput === input[0]) { + $.datepicker._hideDatepicker(); + } else if ($.datepicker._datepickerShowing && $.datepicker._lastInput !== input[0]) { + $.datepicker._hideDatepicker(); + $.datepicker._showDatepicker(input[0]); + } else { + $.datepicker._showDatepicker(input[0]); + } + return false; + }); + } + }, + + /* Apply the maximum length for the date format. */ + _autoSize: function(inst) { + if (this._get(inst, "autoSize") && !inst.inline) { + var findMax, max, maxI, i, + date = new Date(2009, 12 - 1, 20), // Ensure double digits + dateFormat = this._get(inst, "dateFormat"); + + if (dateFormat.match(/[DM]/)) { + findMax = function(names) { + max = 0; + maxI = 0; + for (i = 0; i < names.length; i++) { + if (names[i].length > max) { + max = names[i].length; + maxI = i; + } + } + return maxI; + }; + date.setMonth(findMax(this._get(inst, (dateFormat.match(/MM/) ? + "monthNames" : "monthNamesShort")))); + date.setDate(findMax(this._get(inst, (dateFormat.match(/DD/) ? + "dayNames" : "dayNamesShort"))) + 20 - date.getDay()); + } + inst.input.attr("size", this._formatDate(inst, date).length); + } + }, + + /* Attach an inline date picker to a div. */ + _inlineDatepicker: function(target, inst) { + var divSpan = $(target); + if (divSpan.hasClass(this.markerClassName)) { + return; + } + divSpan.addClass(this.markerClassName).append(inst.dpDiv); + $.data(target, "datepicker", inst); + this._setDate(inst, this._getDefaultDate(inst), true); + this._updateDatepicker(inst); + this._updateAlternate(inst); + //If disabled option is true, disable the datepicker before showing it (see ticket #5665) + if( inst.settings.disabled ) { + this._disableDatepicker( target ); + } + // Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements + // http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height + inst.dpDiv.css( "display", "block" ); + }, + + /* Pop-up the date picker in a "dialog" box. + * @param input element - ignored + * @param date string or Date - the initial date to display + * @param onSelect function - the function to call when a date is selected + * @param settings object - update the dialog date picker instance's settings (anonymous object) + * @param pos int[2] - coordinates for the dialog's position within the screen or + * event - with x/y coordinates or + * leave empty for default (screen centre) + * @return the manager object + */ + _dialogDatepicker: function(input, date, onSelect, settings, pos) { + var id, browserWidth, browserHeight, scrollX, scrollY, + inst = this._dialogInst; // internal instance + + if (!inst) { + this.uuid += 1; + id = "dp" + this.uuid; + this._dialogInput = $("<input type='text' id='" + id + + "' style='position: absolute; top: -100px; width: 0px;'/>"); + this._dialogInput.keydown(this._doKeyDown); + $("body").append(this._dialogInput); + inst = this._dialogInst = this._newInst(this._dialogInput, false); + inst.settings = {}; + $.data(this._dialogInput[0], "datepicker", inst); + } + datepicker_extendRemove(inst.settings, settings || {}); + date = (date && date.constructor === Date ? this._formatDate(inst, date) : date); + this._dialogInput.val(date); + + this._pos = (pos ? (pos.length ? pos : [pos.pageX, pos.pageY]) : null); + if (!this._pos) { + browserWidth = document.documentElement.clientWidth; + browserHeight = document.documentElement.clientHeight; + scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; + scrollY = document.documentElement.scrollTop || document.body.scrollTop; + this._pos = // should use actual width/height below + [(browserWidth / 2) - 100 + scrollX, (browserHeight / 2) - 150 + scrollY]; + } + + // move input on screen for focus, but hidden behind dialog + this._dialogInput.css("left", (this._pos[0] + 20) + "px").css("top", this._pos[1] + "px"); + inst.settings.onSelect = onSelect; + this._inDialog = true; + this.dpDiv.addClass(this._dialogClass); + this._showDatepicker(this._dialogInput[0]); + if ($.blockUI) { + $.blockUI(this.dpDiv); + } + $.data(this._dialogInput[0], "datepicker", inst); + return this; + }, + + /* Detach a datepicker from its control. + * @param target element - the target input field or division or span + */ + _destroyDatepicker: function(target) { + var nodeName, + $target = $(target), + inst = $.data(target, "datepicker"); + + if (!$target.hasClass(this.markerClassName)) { + return; + } + + nodeName = target.nodeName.toLowerCase(); + $.removeData(target, "datepicker"); + if (nodeName === "input") { + inst.append.remove(); + inst.trigger.remove(); + $target.removeClass(this.markerClassName). + unbind("focus", this._showDatepicker). + unbind("keydown", this._doKeyDown). + unbind("keypress", this._doKeyPress). + unbind("keyup", this._doKeyUp); + } else if (nodeName === "div" || nodeName === "span") { + $target.removeClass(this.markerClassName).empty(); + } + + if ( datepicker_instActive === inst ) { + datepicker_instActive = null; + } + }, + + /* Enable the date picker to a jQuery selection. + * @param target element - the target input field or division or span + */ + _enableDatepicker: function(target) { + var nodeName, inline, + $target = $(target), + inst = $.data(target, "datepicker"); + + if (!$target.hasClass(this.markerClassName)) { + return; + } + + nodeName = target.nodeName.toLowerCase(); + if (nodeName === "input") { + target.disabled = false; + inst.trigger.filter("button"). + each(function() { this.disabled = false; }).end(). + filter("img").css({opacity: "1.0", cursor: ""}); + } else if (nodeName === "div" || nodeName === "span") { + inline = $target.children("." + this._inlineClass); + inline.children().removeClass("ui-state-disabled"); + inline.find("select.ui-datepicker-month, select.ui-datepicker-year"). + prop("disabled", false); + } + this._disabledInputs = $.map(this._disabledInputs, + function(value) { return (value === target ? null : value); }); // delete entry + }, + + /* Disable the date picker to a jQuery selection. + * @param target element - the target input field or division or span + */ + _disableDatepicker: function(target) { + var nodeName, inline, + $target = $(target), + inst = $.data(target, "datepicker"); + + if (!$target.hasClass(this.markerClassName)) { + return; + } + + nodeName = target.nodeName.toLowerCase(); + if (nodeName === "input") { + target.disabled = true; + inst.trigger.filter("button"). + each(function() { this.disabled = true; }).end(). + filter("img").css({opacity: "0.5", cursor: "default"}); + } else if (nodeName === "div" || nodeName === "span") { + inline = $target.children("." + this._inlineClass); + inline.children().addClass("ui-state-disabled"); + inline.find("select.ui-datepicker-month, select.ui-datepicker-year"). + prop("disabled", true); + } + this._disabledInputs = $.map(this._disabledInputs, + function(value) { return (value === target ? null : value); }); // delete entry + this._disabledInputs[this._disabledInputs.length] = target; + }, + + /* Is the first field in a jQuery collection disabled as a datepicker? + * @param target element - the target input field or division or span + * @return boolean - true if disabled, false if enabled + */ + _isDisabledDatepicker: function(target) { + if (!target) { + return false; + } + for (var i = 0; i < this._disabledInputs.length; i++) { + if (this._disabledInputs[i] === target) { + return true; + } + } + return false; + }, + + /* Retrieve the instance data for the target control. + * @param target element - the target input field or division or span + * @return object - the associated instance data + * @throws error if a jQuery problem getting data + */ + _getInst: function(target) { + try { + return $.data(target, "datepicker"); + } + catch (err) { + throw "Missing instance data for this datepicker"; + } + }, + + /* Update or retrieve the settings for a date picker attached to an input field or division. + * @param target element - the target input field or division or span + * @param name object - the new settings to update or + * string - the name of the setting to change or retrieve, + * when retrieving also "all" for all instance settings or + * "defaults" for all global defaults + * @param value any - the new value for the setting + * (omit if above is an object or to retrieve a value) + */ + _optionDatepicker: function(target, name, value) { + var settings, date, minDate, maxDate, + inst = this._getInst(target); + + if (arguments.length === 2 && typeof name === "string") { + return (name === "defaults" ? $.extend({}, $.datepicker._defaults) : + (inst ? (name === "all" ? $.extend({}, inst.settings) : + this._get(inst, name)) : null)); + } + + settings = name || {}; + if (typeof name === "string") { + settings = {}; + settings[name] = value; + } + + if (inst) { + if (this._curInst === inst) { + this._hideDatepicker(); + } + + date = this._getDateDatepicker(target, true); + minDate = this._getMinMaxDate(inst, "min"); + maxDate = this._getMinMaxDate(inst, "max"); + datepicker_extendRemove(inst.settings, settings); + // reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided + if (minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined) { + inst.settings.minDate = this._formatDate(inst, minDate); + } + if (maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined) { + inst.settings.maxDate = this._formatDate(inst, maxDate); + } + if ( "disabled" in settings ) { + if ( settings.disabled ) { + this._disableDatepicker(target); + } else { + this._enableDatepicker(target); + } + } + this._attachments($(target), inst); + this._autoSize(inst); + this._setDate(inst, date); + this._updateAlternate(inst); + this._updateDatepicker(inst); + } + }, + + // change method deprecated + _changeDatepicker: function(target, name, value) { + this._optionDatepicker(target, name, value); + }, + + /* Redraw the date picker attached to an input field or division. + * @param target element - the target input field or division or span + */ + _refreshDatepicker: function(target) { + var inst = this._getInst(target); + if (inst) { + this._updateDatepicker(inst); + } + }, + + /* Set the dates for a jQuery selection. + * @param target element - the target input field or division or span + * @param date Date - the new date + */ + _setDateDatepicker: function(target, date) { + var inst = this._getInst(target); + if (inst) { + this._setDate(inst, date); + this._updateDatepicker(inst); + this._updateAlternate(inst); + } + }, + + /* Get the date(s) for the first entry in a jQuery selection. + * @param target element - the target input field or division or span + * @param noDefault boolean - true if no default date is to be used + * @return Date - the current date + */ + _getDateDatepicker: function(target, noDefault) { + var inst = this._getInst(target); + if (inst && !inst.inline) { + this._setDateFromField(inst, noDefault); + } + return (inst ? this._getDate(inst) : null); + }, + + /* Handle keystrokes. */ + _doKeyDown: function(event) { + var onSelect, dateStr, sel, + inst = $.datepicker._getInst(event.target), + handled = true, + isRTL = inst.dpDiv.is(".ui-datepicker-rtl"); + + inst._keyEvent = true; + if ($.datepicker._datepickerShowing) { + switch (event.keyCode) { + case 9: $.datepicker._hideDatepicker(); + handled = false; + break; // hide on tab out + case 13: sel = $("td." + $.datepicker._dayOverClass + ":not(." + + $.datepicker._currentClass + ")", inst.dpDiv); + if (sel[0]) { + $.datepicker._selectDay(event.target, inst.selectedMonth, inst.selectedYear, sel[0]); + } + + onSelect = $.datepicker._get(inst, "onSelect"); + if (onSelect) { + dateStr = $.datepicker._formatDate(inst); + + // trigger custom callback + onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]); + } else { + $.datepicker._hideDatepicker(); + } + + return false; // don't submit the form + case 27: $.datepicker._hideDatepicker(); + break; // hide on escape + case 33: $.datepicker._adjustDate(event.target, (event.ctrlKey ? + -$.datepicker._get(inst, "stepBigMonths") : + -$.datepicker._get(inst, "stepMonths")), "M"); + break; // previous month/year on page up/+ ctrl + case 34: $.datepicker._adjustDate(event.target, (event.ctrlKey ? + +$.datepicker._get(inst, "stepBigMonths") : + +$.datepicker._get(inst, "stepMonths")), "M"); + break; // next month/year on page down/+ ctrl + case 35: if (event.ctrlKey || event.metaKey) { + $.datepicker._clearDate(event.target); + } + handled = event.ctrlKey || event.metaKey; + break; // clear on ctrl or command +end + case 36: if (event.ctrlKey || event.metaKey) { + $.datepicker._gotoToday(event.target); + } + handled = event.ctrlKey || event.metaKey; + break; // current on ctrl or command +home + case 37: if (event.ctrlKey || event.metaKey) { + $.datepicker._adjustDate(event.target, (isRTL ? +1 : -1), "D"); + } + handled = event.ctrlKey || event.metaKey; + // -1 day on ctrl or command +left + if (event.originalEvent.altKey) { + $.datepicker._adjustDate(event.target, (event.ctrlKey ? + -$.datepicker._get(inst, "stepBigMonths") : + -$.datepicker._get(inst, "stepMonths")), "M"); + } + // next month/year on alt +left on Mac + break; + case 38: if (event.ctrlKey || event.metaKey) { + $.datepicker._adjustDate(event.target, -7, "D"); + } + handled = event.ctrlKey || event.metaKey; + break; // -1 week on ctrl or command +up + case 39: if (event.ctrlKey || event.metaKey) { + $.datepicker._adjustDate(event.target, (isRTL ? -1 : +1), "D"); + } + handled = event.ctrlKey || event.metaKey; + // +1 day on ctrl or command +right + if (event.originalEvent.altKey) { + $.datepicker._adjustDate(event.target, (event.ctrlKey ? + +$.datepicker._get(inst, "stepBigMonths") : + +$.datepicker._get(inst, "stepMonths")), "M"); + } + // next month/year on alt +right + break; + case 40: if (event.ctrlKey || event.metaKey) { + $.datepicker._adjustDate(event.target, +7, "D"); + } + handled = event.ctrlKey || event.metaKey; + break; // +1 week on ctrl or command +down + default: handled = false; + } + } else if (event.keyCode === 36 && event.ctrlKey) { // display the date picker on ctrl+home + $.datepicker._showDatepicker(this); + } else { + handled = false; + } + + if (handled) { + event.preventDefault(); + event.stopPropagation(); + } + }, + + /* Filter entered characters - based on date format. */ + _doKeyPress: function(event) { + var chars, chr, + inst = $.datepicker._getInst(event.target); + + if ($.datepicker._get(inst, "constrainInput")) { + chars = $.datepicker._possibleChars($.datepicker._get(inst, "dateFormat")); + chr = String.fromCharCode(event.charCode == null ? event.keyCode : event.charCode); + return event.ctrlKey || event.metaKey || (chr < " " || !chars || chars.indexOf(chr) > -1); + } + }, + + /* Synchronise manual entry and field/alternate field. */ + _doKeyUp: function(event) { + var date, + inst = $.datepicker._getInst(event.target); + + if (inst.input.val() !== inst.lastVal) { + try { + date = $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"), + (inst.input ? inst.input.val() : null), + $.datepicker._getFormatConfig(inst)); + + if (date) { // only if valid + $.datepicker._setDateFromField(inst); + $.datepicker._updateAlternate(inst); + $.datepicker._updateDatepicker(inst); + } + } + catch (err) { + } + } + return true; + }, + + /* Pop-up the date picker for a given input field. + * If false returned from beforeShow event handler do not show. + * @param input element - the input field attached to the date picker or + * event - if triggered by focus + */ + _showDatepicker: function(input) { + input = input.target || input; + if (input.nodeName.toLowerCase() !== "input") { // find from button/image trigger + input = $("input", input.parentNode)[0]; + } + + if ($.datepicker._isDisabledDatepicker(input) || $.datepicker._lastInput === input) { // already here + return; + } + + var inst, beforeShow, beforeShowSettings, isFixed, + offset, showAnim, duration; + + inst = $.datepicker._getInst(input); + if ($.datepicker._curInst && $.datepicker._curInst !== inst) { + $.datepicker._curInst.dpDiv.stop(true, true); + if ( inst && $.datepicker._datepickerShowing ) { + $.datepicker._hideDatepicker( $.datepicker._curInst.input[0] ); + } + } + + beforeShow = $.datepicker._get(inst, "beforeShow"); + beforeShowSettings = beforeShow ? beforeShow.apply(input, [input, inst]) : {}; + if(beforeShowSettings === false){ + return; + } + datepicker_extendRemove(inst.settings, beforeShowSettings); + + inst.lastVal = null; + $.datepicker._lastInput = input; + $.datepicker._setDateFromField(inst); + + if ($.datepicker._inDialog) { // hide cursor + input.value = ""; + } + if (!$.datepicker._pos) { // position below input + $.datepicker._pos = $.datepicker._findPos(input); + $.datepicker._pos[1] += input.offsetHeight; // add the height + } + + isFixed = false; + $(input).parents().each(function() { + isFixed |= $(this).css("position") === "fixed"; + return !isFixed; + }); + + offset = {left: $.datepicker._pos[0], top: $.datepicker._pos[1]}; + $.datepicker._pos = null; + //to avoid flashes on Firefox + inst.dpDiv.empty(); + // determine sizing offscreen + inst.dpDiv.css({position: "absolute", display: "block", top: "-1000px"}); + $.datepicker._updateDatepicker(inst); + // fix width for dynamic number of date pickers + // and adjust position before showing + offset = $.datepicker._checkOffset(inst, offset, isFixed); + inst.dpDiv.css({position: ($.datepicker._inDialog && $.blockUI ? + "static" : (isFixed ? "fixed" : "absolute")), display: "none", + left: offset.left + "px", top: offset.top + "px"}); + + if (!inst.inline) { + showAnim = $.datepicker._get(inst, "showAnim"); + duration = $.datepicker._get(inst, "duration"); + inst.dpDiv.css( "z-index", datepicker_getZindex( $( input ) ) + 1 ); + $.datepicker._datepickerShowing = true; + + if ( $.effects && $.effects.effect[ showAnim ] ) { + inst.dpDiv.show(showAnim, $.datepicker._get(inst, "showOptions"), duration); + } else { + inst.dpDiv[showAnim || "show"](showAnim ? duration : null); + } + + if ( $.datepicker._shouldFocusInput( inst ) ) { + inst.input.focus(); + } + + $.datepicker._curInst = inst; + } + }, + + /* Generate the date picker content. */ + _updateDatepicker: function(inst) { + this.maxRows = 4; //Reset the max number of rows being displayed (see #7043) + datepicker_instActive = inst; // for delegate hover events + inst.dpDiv.empty().append(this._generateHTML(inst)); + this._attachHandlers(inst); + + var origyearshtml, + numMonths = this._getNumberOfMonths(inst), + cols = numMonths[1], + width = 17, + activeCell = inst.dpDiv.find( "." + this._dayOverClass + " a" ); + + if ( activeCell.length > 0 ) { + datepicker_handleMouseover.apply( activeCell.get( 0 ) ); + } + + inst.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""); + if (cols > 1) { + inst.dpDiv.addClass("ui-datepicker-multi-" + cols).css("width", (width * cols) + "em"); + } + inst.dpDiv[(numMonths[0] !== 1 || numMonths[1] !== 1 ? "add" : "remove") + + "Class"]("ui-datepicker-multi"); + inst.dpDiv[(this._get(inst, "isRTL") ? "add" : "remove") + + "Class"]("ui-datepicker-rtl"); + + if (inst === $.datepicker._curInst && $.datepicker._datepickerShowing && $.datepicker._shouldFocusInput( inst ) ) { + inst.input.focus(); + } + + // deffered render of the years select (to avoid flashes on Firefox) + if( inst.yearshtml ){ + origyearshtml = inst.yearshtml; + setTimeout(function(){ + //assure that inst.yearshtml didn't change. + if( origyearshtml === inst.yearshtml && inst.yearshtml ){ + inst.dpDiv.find("select.ui-datepicker-year:first").replaceWith(inst.yearshtml); + } + origyearshtml = inst.yearshtml = null; + }, 0); + } + }, + + // #6694 - don't focus the input if it's already focused + // this breaks the change event in IE + // Support: IE and jQuery <1.9 + _shouldFocusInput: function( inst ) { + return inst.input && inst.input.is( ":visible" ) && !inst.input.is( ":disabled" ) && !inst.input.is( ":focus" ); + }, + + /* Check positioning to remain on screen. */ + _checkOffset: function(inst, offset, isFixed) { + var dpWidth = inst.dpDiv.outerWidth(), + dpHeight = inst.dpDiv.outerHeight(), + inputWidth = inst.input ? inst.input.outerWidth() : 0, + inputHeight = inst.input ? inst.input.outerHeight() : 0, + viewWidth = document.documentElement.clientWidth + (isFixed ? 0 : $(document).scrollLeft()), + viewHeight = document.documentElement.clientHeight + (isFixed ? 0 : $(document).scrollTop()); + + offset.left -= (this._get(inst, "isRTL") ? (dpWidth - inputWidth) : 0); + offset.left -= (isFixed && offset.left === inst.input.offset().left) ? $(document).scrollLeft() : 0; + offset.top -= (isFixed && offset.top === (inst.input.offset().top + inputHeight)) ? $(document).scrollTop() : 0; + + // now check if datepicker is showing outside window viewport - move to a better place if so. + offset.left -= Math.min(offset.left, (offset.left + dpWidth > viewWidth && viewWidth > dpWidth) ? + Math.abs(offset.left + dpWidth - viewWidth) : 0); + offset.top -= Math.min(offset.top, (offset.top + dpHeight > viewHeight && viewHeight > dpHeight) ? + Math.abs(dpHeight + inputHeight) : 0); + + return offset; + }, + + /* Find an object's position on the screen. */ + _findPos: function(obj) { + var position, + inst = this._getInst(obj), + isRTL = this._get(inst, "isRTL"); + + while (obj && (obj.type === "hidden" || obj.nodeType !== 1 || $.expr.filters.hidden(obj))) { + obj = obj[isRTL ? "previousSibling" : "nextSibling"]; + } + + position = $(obj).offset(); + return [position.left, position.top]; + }, + + /* Hide the date picker from view. + * @param input element - the input field attached to the date picker + */ + _hideDatepicker: function(input) { + var showAnim, duration, postProcess, onClose, + inst = this._curInst; + + if (!inst || (input && inst !== $.data(input, "datepicker"))) { + return; + } + + if (this._datepickerShowing) { + showAnim = this._get(inst, "showAnim"); + duration = this._get(inst, "duration"); + postProcess = function() { + $.datepicker._tidyDialog(inst); + }; + + // DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed + if ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) { + inst.dpDiv.hide(showAnim, $.datepicker._get(inst, "showOptions"), duration, postProcess); + } else { + inst.dpDiv[(showAnim === "slideDown" ? "slideUp" : + (showAnim === "fadeIn" ? "fadeOut" : "hide"))]((showAnim ? duration : null), postProcess); + } + + if (!showAnim) { + postProcess(); + } + this._datepickerShowing = false; + + onClose = this._get(inst, "onClose"); + if (onClose) { + onClose.apply((inst.input ? inst.input[0] : null), [(inst.input ? inst.input.val() : ""), inst]); + } + + this._lastInput = null; + if (this._inDialog) { + this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" }); + if ($.blockUI) { + $.unblockUI(); + $("body").append(this.dpDiv); + } + } + this._inDialog = false; + } + }, + + /* Tidy up after a dialog display. */ + _tidyDialog: function(inst) { + inst.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar"); + }, + + /* Close date picker if clicked elsewhere. */ + _checkExternalClick: function(event) { + if (!$.datepicker._curInst) { + return; + } + + var $target = $(event.target), + inst = $.datepicker._getInst($target[0]); + + if ( ( ( $target[0].id !== $.datepicker._mainDivId && + $target.parents("#" + $.datepicker._mainDivId).length === 0 && + !$target.hasClass($.datepicker.markerClassName) && + !$target.closest("." + $.datepicker._triggerClass).length && + $.datepicker._datepickerShowing && !($.datepicker._inDialog && $.blockUI) ) ) || + ( $target.hasClass($.datepicker.markerClassName) && $.datepicker._curInst !== inst ) ) { + $.datepicker._hideDatepicker(); + } + }, + + /* Adjust one of the date sub-fields. */ + _adjustDate: function(id, offset, period) { + var target = $(id), + inst = this._getInst(target[0]); + + if (this._isDisabledDatepicker(target[0])) { + return; + } + this._adjustInstDate(inst, offset + + (period === "M" ? this._get(inst, "showCurrentAtPos") : 0), // undo positioning + period); + this._updateDatepicker(inst); + }, + + /* Action for current link. */ + _gotoToday: function(id) { + var date, + target = $(id), + inst = this._getInst(target[0]); + + if (this._get(inst, "gotoCurrent") && inst.currentDay) { + inst.selectedDay = inst.currentDay; + inst.drawMonth = inst.selectedMonth = inst.currentMonth; + inst.drawYear = inst.selectedYear = inst.currentYear; + } else { + date = new Date(); + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + } + this._notifyChange(inst); + this._adjustDate(target); + }, + + /* Action for selecting a new month/year. */ + _selectMonthYear: function(id, select, period) { + var target = $(id), + inst = this._getInst(target[0]); + + inst["selected" + (period === "M" ? "Month" : "Year")] = + inst["draw" + (period === "M" ? "Month" : "Year")] = + parseInt(select.options[select.selectedIndex].value,10); + + this._notifyChange(inst); + this._adjustDate(target); + }, + + /* Action for selecting a day. */ + _selectDay: function(id, month, year, td) { + var inst, + target = $(id); + + if ($(td).hasClass(this._unselectableClass) || this._isDisabledDatepicker(target[0])) { + return; + } + + inst = this._getInst(target[0]); + inst.selectedDay = inst.currentDay = $("a", td).html(); + inst.selectedMonth = inst.currentMonth = month; + inst.selectedYear = inst.currentYear = year; + this._selectDate(id, this._formatDate(inst, + inst.currentDay, inst.currentMonth, inst.currentYear)); + }, + + /* Erase the input field and hide the date picker. */ + _clearDate: function(id) { + var target = $(id); + this._selectDate(target, ""); + }, + + /* Update the input field with the selected date. */ + _selectDate: function(id, dateStr) { + var onSelect, + target = $(id), + inst = this._getInst(target[0]); + + dateStr = (dateStr != null ? dateStr : this._formatDate(inst)); + if (inst.input) { + inst.input.val(dateStr); + } + this._updateAlternate(inst); + + onSelect = this._get(inst, "onSelect"); + if (onSelect) { + onSelect.apply((inst.input ? inst.input[0] : null), [dateStr, inst]); // trigger custom callback + } else if (inst.input) { + inst.input.trigger("change"); // fire the change event + } + + if (inst.inline){ + this._updateDatepicker(inst); + } else { + this._hideDatepicker(); + this._lastInput = inst.input[0]; + if (typeof(inst.input[0]) !== "object") { + inst.input.focus(); // restore focus + } + this._lastInput = null; + } + }, + + /* Update any alternate field to synchronise with the main field. */ + _updateAlternate: function(inst) { + var altFormat, date, dateStr, + altField = this._get(inst, "altField"); + + if (altField) { // update alternate field too + altFormat = this._get(inst, "altFormat") || this._get(inst, "dateFormat"); + date = this._getDate(inst); + dateStr = this.formatDate(altFormat, date, this._getFormatConfig(inst)); + $(altField).each(function() { $(this).val(dateStr); }); + } + }, + + /* Set as beforeShowDay function to prevent selection of weekends. + * @param date Date - the date to customise + * @return [boolean, string] - is this date selectable?, what is its CSS class? + */ + noWeekends: function(date) { + var day = date.getDay(); + return [(day > 0 && day < 6), ""]; + }, + + /* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition. + * @param date Date - the date to get the week for + * @return number - the number of the week within the year that contains this date + */ + iso8601Week: function(date) { + var time, + checkDate = new Date(date.getTime()); + + // Find Thursday of this week starting on Monday + checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7)); + + time = checkDate.getTime(); + checkDate.setMonth(0); // Compare with Jan 1 + checkDate.setDate(1); + return Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 1; + }, + + /* Parse a string value into a date object. + * See formatDate below for the possible formats. + * + * @param format string - the expected format of the date + * @param value string - the date in the above format + * @param settings Object - attributes include: + * shortYearCutoff number - the cutoff year for determining the century (optional) + * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + * dayNames string[7] - names of the days from Sunday (optional) + * monthNamesShort string[12] - abbreviated names of the months (optional) + * monthNames string[12] - names of the months (optional) + * @return Date - the extracted date value or null if value is blank + */ + parseDate: function (format, value, settings) { + if (format == null || value == null) { + throw "Invalid arguments"; + } + + value = (typeof value === "object" ? value.toString() : value + ""); + if (value === "") { + return null; + } + + var iFormat, dim, extra, + iValue = 0, + shortYearCutoffTemp = (settings ? settings.shortYearCutoff : null) || this._defaults.shortYearCutoff, + shortYearCutoff = (typeof shortYearCutoffTemp !== "string" ? shortYearCutoffTemp : + new Date().getFullYear() % 100 + parseInt(shortYearCutoffTemp, 10)), + dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort, + dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames, + monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort, + monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames, + year = -1, + month = -1, + day = -1, + doy = -1, + literal = false, + date, + // Check whether a format character is doubled + lookAhead = function(match) { + var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match); + if (matches) { + iFormat++; + } + return matches; + }, + // Extract a number from the string value + getNumber = function(match) { + var isDoubled = lookAhead(match), + size = (match === "@" ? 14 : (match === "!" ? 20 : + (match === "y" && isDoubled ? 4 : (match === "o" ? 3 : 2)))), + minSize = (match === "y" ? size : 1), + digits = new RegExp("^\\d{" + minSize + "," + size + "}"), + num = value.substring(iValue).match(digits); + if (!num) { + throw "Missing number at position " + iValue; + } + iValue += num[0].length; + return parseInt(num[0], 10); + }, + // Extract a name from the string value and convert to an index + getName = function(match, shortNames, longNames) { + var index = -1, + names = $.map(lookAhead(match) ? longNames : shortNames, function (v, k) { + return [ [k, v] ]; + }).sort(function (a, b) { + return -(a[1].length - b[1].length); + }); + + $.each(names, function (i, pair) { + var name = pair[1]; + if (value.substr(iValue, name.length).toLowerCase() === name.toLowerCase()) { + index = pair[0]; + iValue += name.length; + return false; + } + }); + if (index !== -1) { + return index + 1; + } else { + throw "Unknown name at position " + iValue; + } + }, + // Confirm that a literal character matches the string value + checkLiteral = function() { + if (value.charAt(iValue) !== format.charAt(iFormat)) { + throw "Unexpected literal at position " + iValue; + } + iValue++; + }; + + for (iFormat = 0; iFormat < format.length; iFormat++) { + if (literal) { + if (format.charAt(iFormat) === "'" && !lookAhead("'")) { + literal = false; + } else { + checkLiteral(); + } + } else { + switch (format.charAt(iFormat)) { + case "d": + day = getNumber("d"); + break; + case "D": + getName("D", dayNamesShort, dayNames); + break; + case "o": + doy = getNumber("o"); + break; + case "m": + month = getNumber("m"); + break; + case "M": + month = getName("M", monthNamesShort, monthNames); + break; + case "y": + year = getNumber("y"); + break; + case "@": + date = new Date(getNumber("@")); + year = date.getFullYear(); + month = date.getMonth() + 1; + day = date.getDate(); + break; + case "!": + date = new Date((getNumber("!") - this._ticksTo1970) / 10000); + year = date.getFullYear(); + month = date.getMonth() + 1; + day = date.getDate(); + break; + case "'": + if (lookAhead("'")){ + checkLiteral(); + } else { + literal = true; + } + break; + default: + checkLiteral(); + } + } + } + + if (iValue < value.length){ + extra = value.substr(iValue); + if (!/^\s+/.test(extra)) { + throw "Extra/unparsed characters found in date: " + extra; + } + } + + if (year === -1) { + year = new Date().getFullYear(); + } else if (year < 100) { + year += new Date().getFullYear() - new Date().getFullYear() % 100 + + (year <= shortYearCutoff ? 0 : -100); + } + + if (doy > -1) { + month = 1; + day = doy; + do { + dim = this._getDaysInMonth(year, month - 1); + if (day <= dim) { + break; + } + month++; + day -= dim; + } while (true); + } + + date = this._daylightSavingAdjust(new Date(year, month - 1, day)); + if (date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day) { + throw "Invalid date"; // E.g. 31/02/00 + } + return date; + }, + + /* Standard date formats. */ + ATOM: "yy-mm-dd", // RFC 3339 (ISO 8601) + COOKIE: "D, dd M yy", + ISO_8601: "yy-mm-dd", + RFC_822: "D, d M y", + RFC_850: "DD, dd-M-y", + RFC_1036: "D, d M y", + RFC_1123: "D, d M yy", + RFC_2822: "D, d M yy", + RSS: "D, d M y", // RFC 822 + TICKS: "!", + TIMESTAMP: "@", + W3C: "yy-mm-dd", // ISO 8601 + + _ticksTo1970: (((1970 - 1) * 365 + Math.floor(1970 / 4) - Math.floor(1970 / 100) + + Math.floor(1970 / 400)) * 24 * 60 * 60 * 10000000), + + /* Format a date object into a string value. + * The format can be combinations of the following: + * d - day of month (no leading zero) + * dd - day of month (two digit) + * o - day of year (no leading zeros) + * oo - day of year (three digit) + * D - day name short + * DD - day name long + * m - month of year (no leading zero) + * mm - month of year (two digit) + * M - month name short + * MM - month name long + * y - year (two digit) + * yy - year (four digit) + * @ - Unix timestamp (ms since 01/01/1970) + * ! - Windows ticks (100ns since 01/01/0001) + * "..." - literal text + * '' - single quote + * + * @param format string - the desired format of the date + * @param date Date - the date value to format + * @param settings Object - attributes include: + * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + * dayNames string[7] - names of the days from Sunday (optional) + * monthNamesShort string[12] - abbreviated names of the months (optional) + * monthNames string[12] - names of the months (optional) + * @return string - the date in the above format + */ + formatDate: function (format, date, settings) { + if (!date) { + return ""; + } + + var iFormat, + dayNamesShort = (settings ? settings.dayNamesShort : null) || this._defaults.dayNamesShort, + dayNames = (settings ? settings.dayNames : null) || this._defaults.dayNames, + monthNamesShort = (settings ? settings.monthNamesShort : null) || this._defaults.monthNamesShort, + monthNames = (settings ? settings.monthNames : null) || this._defaults.monthNames, + // Check whether a format character is doubled + lookAhead = function(match) { + var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match); + if (matches) { + iFormat++; + } + return matches; + }, + // Format a number, with leading zero if necessary + formatNumber = function(match, value, len) { + var num = "" + value; + if (lookAhead(match)) { + while (num.length < len) { + num = "0" + num; + } + } + return num; + }, + // Format a name, short or long as requested + formatName = function(match, value, shortNames, longNames) { + return (lookAhead(match) ? longNames[value] : shortNames[value]); + }, + output = "", + literal = false; + + if (date) { + for (iFormat = 0; iFormat < format.length; iFormat++) { + if (literal) { + if (format.charAt(iFormat) === "'" && !lookAhead("'")) { + literal = false; + } else { + output += format.charAt(iFormat); + } + } else { + switch (format.charAt(iFormat)) { + case "d": + output += formatNumber("d", date.getDate(), 2); + break; + case "D": + output += formatName("D", date.getDay(), dayNamesShort, dayNames); + break; + case "o": + output += formatNumber("o", + Math.round((new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime() - new Date(date.getFullYear(), 0, 0).getTime()) / 86400000), 3); + break; + case "m": + output += formatNumber("m", date.getMonth() + 1, 2); + break; + case "M": + output += formatName("M", date.getMonth(), monthNamesShort, monthNames); + break; + case "y": + output += (lookAhead("y") ? date.getFullYear() : + (date.getYear() % 100 < 10 ? "0" : "") + date.getYear() % 100); + break; + case "@": + output += date.getTime(); + break; + case "!": + output += date.getTime() * 10000 + this._ticksTo1970; + break; + case "'": + if (lookAhead("'")) { + output += "'"; + } else { + literal = true; + } + break; + default: + output += format.charAt(iFormat); + } + } + } + } + return output; + }, + + /* Extract all possible characters from the date format. */ + _possibleChars: function (format) { + var iFormat, + chars = "", + literal = false, + // Check whether a format character is doubled + lookAhead = function(match) { + var matches = (iFormat + 1 < format.length && format.charAt(iFormat + 1) === match); + if (matches) { + iFormat++; + } + return matches; + }; + + for (iFormat = 0; iFormat < format.length; iFormat++) { + if (literal) { + if (format.charAt(iFormat) === "'" && !lookAhead("'")) { + literal = false; + } else { + chars += format.charAt(iFormat); + } + } else { + switch (format.charAt(iFormat)) { + case "d": case "m": case "y": case "@": + chars += "0123456789"; + break; + case "D": case "M": + return null; // Accept anything + case "'": + if (lookAhead("'")) { + chars += "'"; + } else { + literal = true; + } + break; + default: + chars += format.charAt(iFormat); + } + } + } + return chars; + }, + + /* Get a setting value, defaulting if necessary. */ + _get: function(inst, name) { + return inst.settings[name] !== undefined ? + inst.settings[name] : this._defaults[name]; + }, + + /* Parse existing date and initialise date picker. */ + _setDateFromField: function(inst, noDefault) { + if (inst.input.val() === inst.lastVal) { + return; + } + + var dateFormat = this._get(inst, "dateFormat"), + dates = inst.lastVal = inst.input ? inst.input.val() : null, + defaultDate = this._getDefaultDate(inst), + date = defaultDate, + settings = this._getFormatConfig(inst); + + try { + date = this.parseDate(dateFormat, dates, settings) || defaultDate; + } catch (event) { + dates = (noDefault ? "" : dates); + } + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + inst.currentDay = (dates ? date.getDate() : 0); + inst.currentMonth = (dates ? date.getMonth() : 0); + inst.currentYear = (dates ? date.getFullYear() : 0); + this._adjustInstDate(inst); + }, + + /* Retrieve the default date shown on opening. */ + _getDefaultDate: function(inst) { + return this._restrictMinMax(inst, + this._determineDate(inst, this._get(inst, "defaultDate"), new Date())); + }, + + /* A date may be specified as an exact value or a relative one. */ + _determineDate: function(inst, date, defaultDate) { + var offsetNumeric = function(offset) { + var date = new Date(); + date.setDate(date.getDate() + offset); + return date; + }, + offsetString = function(offset) { + try { + return $.datepicker.parseDate($.datepicker._get(inst, "dateFormat"), + offset, $.datepicker._getFormatConfig(inst)); + } + catch (e) { + // Ignore + } + + var date = (offset.toLowerCase().match(/^c/) ? + $.datepicker._getDate(inst) : null) || new Date(), + year = date.getFullYear(), + month = date.getMonth(), + day = date.getDate(), + pattern = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, + matches = pattern.exec(offset); + + while (matches) { + switch (matches[2] || "d") { + case "d" : case "D" : + day += parseInt(matches[1],10); break; + case "w" : case "W" : + day += parseInt(matches[1],10) * 7; break; + case "m" : case "M" : + month += parseInt(matches[1],10); + day = Math.min(day, $.datepicker._getDaysInMonth(year, month)); + break; + case "y": case "Y" : + year += parseInt(matches[1],10); + day = Math.min(day, $.datepicker._getDaysInMonth(year, month)); + break; + } + matches = pattern.exec(offset); + } + return new Date(year, month, day); + }, + newDate = (date == null || date === "" ? defaultDate : (typeof date === "string" ? offsetString(date) : + (typeof date === "number" ? (isNaN(date) ? defaultDate : offsetNumeric(date)) : new Date(date.getTime())))); + + newDate = (newDate && newDate.toString() === "Invalid Date" ? defaultDate : newDate); + if (newDate) { + newDate.setHours(0); + newDate.setMinutes(0); + newDate.setSeconds(0); + newDate.setMilliseconds(0); + } + return this._daylightSavingAdjust(newDate); + }, + + /* Handle switch to/from daylight saving. + * Hours may be non-zero on daylight saving cut-over: + * > 12 when midnight changeover, but then cannot generate + * midnight datetime, so jump to 1AM, otherwise reset. + * @param date (Date) the date to check + * @return (Date) the corrected date + */ + _daylightSavingAdjust: function(date) { + if (!date) { + return null; + } + date.setHours(date.getHours() > 12 ? date.getHours() + 2 : 0); + return date; + }, + + /* Set the date(s) directly. */ + _setDate: function(inst, date, noChange) { + var clear = !date, + origMonth = inst.selectedMonth, + origYear = inst.selectedYear, + newDate = this._restrictMinMax(inst, this._determineDate(inst, date, new Date())); + + inst.selectedDay = inst.currentDay = newDate.getDate(); + inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth(); + inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear(); + if ((origMonth !== inst.selectedMonth || origYear !== inst.selectedYear) && !noChange) { + this._notifyChange(inst); + } + this._adjustInstDate(inst); + if (inst.input) { + inst.input.val(clear ? "" : this._formatDate(inst)); + } + }, + + /* Retrieve the date(s) directly. */ + _getDate: function(inst) { + var startDate = (!inst.currentYear || (inst.input && inst.input.val() === "") ? null : + this._daylightSavingAdjust(new Date( + inst.currentYear, inst.currentMonth, inst.currentDay))); + return startDate; + }, + + /* Attach the onxxx handlers. These are declared statically so + * they work with static code transformers like Caja. + */ + _attachHandlers: function(inst) { + var stepMonths = this._get(inst, "stepMonths"), + id = "#" + inst.id.replace( /\\\\/g, "\\" ); + inst.dpDiv.find("[data-handler]").map(function () { + var handler = { + prev: function () { + $.datepicker._adjustDate(id, -stepMonths, "M"); + }, + next: function () { + $.datepicker._adjustDate(id, +stepMonths, "M"); + }, + hide: function () { + $.datepicker._hideDatepicker(); + }, + today: function () { + $.datepicker._gotoToday(id); + }, + selectDay: function () { + $.datepicker._selectDay(id, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this); + return false; + }, + selectMonth: function () { + $.datepicker._selectMonthYear(id, this, "M"); + return false; + }, + selectYear: function () { + $.datepicker._selectMonthYear(id, this, "Y"); + return false; + } + }; + $(this).bind(this.getAttribute("data-event"), handler[this.getAttribute("data-handler")]); + }); + }, + + /* Generate the HTML for the current state of the date picker. */ + _generateHTML: function(inst) { + var maxDraw, prevText, prev, nextText, next, currentText, gotoDate, + controls, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin, + monthNames, monthNamesShort, beforeShowDay, showOtherMonths, + selectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate, + cornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows, + printDate, dRow, tbody, daySettings, otherMonth, unselectable, + tempDate = new Date(), + today = this._daylightSavingAdjust( + new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate())), // clear time + isRTL = this._get(inst, "isRTL"), + showButtonPanel = this._get(inst, "showButtonPanel"), + hideIfNoPrevNext = this._get(inst, "hideIfNoPrevNext"), + navigationAsDateFormat = this._get(inst, "navigationAsDateFormat"), + numMonths = this._getNumberOfMonths(inst), + showCurrentAtPos = this._get(inst, "showCurrentAtPos"), + stepMonths = this._get(inst, "stepMonths"), + isMultiMonth = (numMonths[0] !== 1 || numMonths[1] !== 1), + currentDate = this._daylightSavingAdjust((!inst.currentDay ? new Date(9999, 9, 9) : + new Date(inst.currentYear, inst.currentMonth, inst.currentDay))), + minDate = this._getMinMaxDate(inst, "min"), + maxDate = this._getMinMaxDate(inst, "max"), + drawMonth = inst.drawMonth - showCurrentAtPos, + drawYear = inst.drawYear; + + if (drawMonth < 0) { + drawMonth += 12; + drawYear--; + } + if (maxDate) { + maxDraw = this._daylightSavingAdjust(new Date(maxDate.getFullYear(), + maxDate.getMonth() - (numMonths[0] * numMonths[1]) + 1, maxDate.getDate())); + maxDraw = (minDate && maxDraw < minDate ? minDate : maxDraw); + while (this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1)) > maxDraw) { + drawMonth--; + if (drawMonth < 0) { + drawMonth = 11; + drawYear--; + } + } + } + inst.drawMonth = drawMonth; + inst.drawYear = drawYear; + + prevText = this._get(inst, "prevText"); + prevText = (!navigationAsDateFormat ? prevText : this.formatDate(prevText, + this._daylightSavingAdjust(new Date(drawYear, drawMonth - stepMonths, 1)), + this._getFormatConfig(inst))); + + prev = (this._canAdjustMonth(inst, -1, drawYear, drawMonth) ? + "<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'" + + " title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span><span style='color:black; '>&lt;</span></a>" : + (hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+ prevText +"'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w") + "'>" + prevText + "</span></a>")); + + nextText = this._get(inst, "nextText"); + nextText = (!navigationAsDateFormat ? nextText : this.formatDate(nextText, + this._daylightSavingAdjust(new Date(drawYear, drawMonth + stepMonths, 1)), + this._getFormatConfig(inst))); + + next = (this._canAdjustMonth(inst, +1, drawYear, drawMonth) ? + "<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'" + + " title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span><span style='color:black;text-align:right;'>&nbsp;&nbsp;&gt;</span></a></a>" : + (hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+ nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e") + "'>" + nextText + "</span></a>")); + + currentText = this._get(inst, "currentText"); + gotoDate = (this._get(inst, "gotoCurrent") && inst.currentDay ? currentDate : today); + currentText = (!navigationAsDateFormat ? currentText : + this.formatDate(currentText, gotoDate, this._getFormatConfig(inst))); + + controls = (!inst.inline ? "<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>" + + this._get(inst, "closeText") + "</button>" : ""); + + buttonPanel = (showButtonPanel) ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + (isRTL ? controls : "") + + (this._isInRange(inst, gotoDate) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'" + + ">" + currentText + "</button>" : "") + (isRTL ? "" : controls) + "</div>" : ""; + + firstDay = parseInt(this._get(inst, "firstDay"),10); + firstDay = (isNaN(firstDay) ? 0 : firstDay); + + showWeek = this._get(inst, "showWeek"); + dayNames = this._get(inst, "dayNames"); + dayNamesMin = this._get(inst, "dayNamesMin"); + monthNames = this._get(inst, "monthNames"); + monthNamesShort = this._get(inst, "monthNamesShort"); + beforeShowDay = this._get(inst, "beforeShowDay"); + showOtherMonths = this._get(inst, "showOtherMonths"); + selectOtherMonths = this._get(inst, "selectOtherMonths"); + defaultDate = this._getDefaultDate(inst); + html = ""; + dow; + for (row = 0; row < numMonths[0]; row++) { + group = ""; + this.maxRows = 4; + for (col = 0; col < numMonths[1]; col++) { + selectedDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, inst.selectedDay)); + cornerClass = " ui-corner-all"; + calender = ""; + if (isMultiMonth) { + calender += "<div class='ui-datepicker-group"; + if (numMonths[1] > 1) { + switch (col) { + case 0: calender += " ui-datepicker-group-first"; + cornerClass = " ui-corner-" + (isRTL ? "right" : "left"); break; + case numMonths[1]-1: calender += " ui-datepicker-group-last"; + cornerClass = " ui-corner-" + (isRTL ? "left" : "right"); break; + default: calender += " ui-datepicker-group-middle"; cornerClass = ""; break; + } + } + calender += "'>"; + } + calender += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + cornerClass + "'>" + + (/all|left/.test(cornerClass) && row === 0 ? (isRTL ? next : prev) : "") + + (/all|right/.test(cornerClass) && row === 0 ? (isRTL ? prev : next) : "") + + this._generateMonthYearHeader(inst, drawMonth, drawYear, minDate, maxDate, + row > 0 || col > 0, monthNames, monthNamesShort) + // draw month headers + "</div><table class='ui-datepicker-calendar'><thead>" + + "<tr>"; + thead = (showWeek ? "<th class='ui-datepicker-week-col'>" + this._get(inst, "weekHeader") + "</th>" : ""); + for (dow = 0; dow < 7; dow++) { // days of the week + day = (dow + firstDay) % 7; + thead += "<th scope='col'" + ((dow + firstDay + 6) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "") + ">" + + "<span title='" + dayNames[day] + "'>" + dayNamesMin[day] + "</span></th>"; + } + calender += thead + "</tr></thead><tbody>"; + daysInMonth = this._getDaysInMonth(drawYear, drawMonth); + if (drawYear === inst.selectedYear && drawMonth === inst.selectedMonth) { + inst.selectedDay = Math.min(inst.selectedDay, daysInMonth); + } + leadDays = (this._getFirstDayOfMonth(drawYear, drawMonth) - firstDay + 7) % 7; + curRows = Math.ceil((leadDays + daysInMonth) / 7); // calculate the number of rows to generate + numRows = (isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows); //If multiple months, use the higher number of rows (see #7043) + this.maxRows = numRows; + printDate = this._daylightSavingAdjust(new Date(drawYear, drawMonth, 1 - leadDays)); + for (dRow = 0; dRow < numRows; dRow++) { // create date picker rows + calender += "<tr>"; + tbody = (!showWeek ? "" : "<td class='ui-datepicker-week-col'>" + + this._get(inst, "calculateWeek")(printDate) + "</td>"); + for (dow = 0; dow < 7; dow++) { // create date picker days + daySettings = (beforeShowDay ? + beforeShowDay.apply((inst.input ? inst.input[0] : null), [printDate]) : [true, ""]); + otherMonth = (printDate.getMonth() !== drawMonth); + unselectable = (otherMonth && !selectOtherMonths) || !daySettings[0] || + (minDate && printDate < minDate) || (maxDate && printDate > maxDate); + tbody += "<td class='" + + ((dow + firstDay + 6) % 7 >= 5 ? " ui-datepicker-week-end" : "") + // highlight weekends + (otherMonth ? " ui-datepicker-other-month" : "") + // highlight days from other months + ((printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent) || // user pressed key + (defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime()) ? + // or defaultDate is current printedDate and defaultDate is selectedDate + " " + this._dayOverClass : "") + // highlight selected day + (unselectable ? " " + this._unselectableClass + " ui-state-disabled": "") + // highlight unselectable days + (otherMonth && !showOtherMonths ? "" : " " + daySettings[1] + // highlight custom dates + (printDate.getTime() === currentDate.getTime() ? " " + this._currentClass : "") + // highlight selected day + (printDate.getTime() === today.getTime() ? " ui-datepicker-today" : "")) + "'" + // highlight today (if different) + ((!otherMonth || showOtherMonths) && daySettings[2] ? " title='" + daySettings[2].replace(/'/g, "&#39;") + "'" : "") + // cell title + (unselectable ? "" : " data-handler='selectDay' data-event='click' data-month='" + printDate.getMonth() + "' data-year='" + printDate.getFullYear() + "'") + ">" + // actions + (otherMonth && !showOtherMonths ? "&#xa0;" : // display for other months + (unselectable ? "<span class='ui-state-default'>" + printDate.getDate() + "</span>" : "<a class='ui-state-default" + + (printDate.getTime() === today.getTime() ? " ui-state-highlight" : "") + + (printDate.getTime() === currentDate.getTime() ? " ui-state-active" : "") + // highlight selected day + (otherMonth ? " ui-priority-secondary" : "") + // distinguish dates from other months + "' href='#'>" + printDate.getDate() + "</a>")) + "</td>"; // display selectable date + printDate.setDate(printDate.getDate() + 1); + printDate = this._daylightSavingAdjust(printDate); + } + calender += tbody + "</tr>"; + } + drawMonth++; + if (drawMonth > 11) { + drawMonth = 0; + drawYear++; + } + calender += "</tbody></table>" + (isMultiMonth ? "</div>" + + ((numMonths[0] > 0 && col === numMonths[1]-1) ? "<div class='ui-datepicker-row-break'></div>" : "") : ""); + group += calender; + } + html += group; + } + html += buttonPanel; + inst._keyEvent = false; + return html; + }, + + /* Generate the month and year header. */ + _generateMonthYearHeader: function(inst, drawMonth, drawYear, minDate, maxDate, + secondary, monthNames, monthNamesShort) { + + var inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear, + changeMonth = this._get(inst, "changeMonth"), + changeYear = this._get(inst, "changeYear"), + showMonthAfterYear = this._get(inst, "showMonthAfterYear"), + html = "<div class='ui-datepicker-title'>", + monthHtml = ""; + + // month selection + if (secondary || !changeMonth) { + monthHtml += "<span class='ui-datepicker-month'>" + monthNames[drawMonth] + "</span>"; + } else { + inMinYear = (minDate && minDate.getFullYear() === drawYear); + inMaxYear = (maxDate && maxDate.getFullYear() === drawYear); + monthHtml += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>"; + for ( month = 0; month < 12; month++) { + if ((!inMinYear || month >= minDate.getMonth()) && (!inMaxYear || month <= maxDate.getMonth())) { + monthHtml += "<option value='" + month + "'" + + (month === drawMonth ? " selected='selected'" : "") + + ">" + monthNamesShort[month] + "</option>"; + } + } + monthHtml += "</select>"; + } + + if (!showMonthAfterYear) { + html += monthHtml + (secondary || !(changeMonth && changeYear) ? "&#xa0;" : ""); + } + + // year selection + if ( !inst.yearshtml ) { + inst.yearshtml = ""; + if (secondary || !changeYear) { + html += "<span class='ui-datepicker-year'>" + drawYear + "</span>"; + } else { + // determine range of years to display + years = this._get(inst, "yearRange").split(":"); + thisYear = new Date().getFullYear(); + determineYear = function(value) { + var year = (value.match(/c[+\-].*/) ? drawYear + parseInt(value.substring(1), 10) : + (value.match(/[+\-].*/) ? thisYear + parseInt(value, 10) : + parseInt(value, 10))); + return (isNaN(year) ? thisYear : year); + }; + year = determineYear(years[0]); + endYear = Math.max(year, determineYear(years[1] || "")); + year = (minDate ? Math.max(year, minDate.getFullYear()) : year); + endYear = (maxDate ? Math.min(endYear, maxDate.getFullYear()) : endYear); + inst.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>"; + for (; year <= endYear; year++) { + inst.yearshtml += "<option value='" + year + "'" + + (year === drawYear ? " selected='selected'" : "") + + ">" + year + "</option>"; + } + inst.yearshtml += "</select>"; + + html += inst.yearshtml; + inst.yearshtml = null; + } + } + + html += this._get(inst, "yearSuffix"); + if (showMonthAfterYear) { + html += (secondary || !(changeMonth && changeYear) ? "&#xa0;" : "") + monthHtml; + } + html += "</div>"; // Close datepicker_header + return html; + }, + + /* Adjust one of the date sub-fields. */ + _adjustInstDate: function(inst, offset, period) { + var year = inst.drawYear + (period === "Y" ? offset : 0), + month = inst.drawMonth + (period === "M" ? offset : 0), + day = Math.min(inst.selectedDay, this._getDaysInMonth(year, month)) + (period === "D" ? offset : 0), + date = this._restrictMinMax(inst, this._daylightSavingAdjust(new Date(year, month, day))); + + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + if (period === "M" || period === "Y") { + this._notifyChange(inst); + } + }, + + /* Ensure a date is within any min/max bounds. */ + _restrictMinMax: function(inst, date) { + var minDate = this._getMinMaxDate(inst, "min"), + maxDate = this._getMinMaxDate(inst, "max"), + newDate = (minDate && date < minDate ? minDate : date); + return (maxDate && newDate > maxDate ? maxDate : newDate); + }, + + /* Notify change of month/year. */ + _notifyChange: function(inst) { + var onChange = this._get(inst, "onChangeMonthYear"); + if (onChange) { + onChange.apply((inst.input ? inst.input[0] : null), + [inst.selectedYear, inst.selectedMonth + 1, inst]); + } + }, + + /* Determine the number of months to show. */ + _getNumberOfMonths: function(inst) { + var numMonths = this._get(inst, "numberOfMonths"); + return (numMonths == null ? [1, 1] : (typeof numMonths === "number" ? [1, numMonths] : numMonths)); + }, + + /* Determine the current maximum date - ensure no time components are set. */ + _getMinMaxDate: function(inst, minMax) { + return this._determineDate(inst, this._get(inst, minMax + "Date"), null); + }, + + /* Find the number of days in a given month. */ + _getDaysInMonth: function(year, month) { + return 32 - this._daylightSavingAdjust(new Date(year, month, 32)).getDate(); + }, + + /* Find the day of the week of the first of a month. */ + _getFirstDayOfMonth: function(year, month) { + return new Date(year, month, 1).getDay(); + }, + + /* Determines if we should allow a "next/prev" month display change. */ + _canAdjustMonth: function(inst, offset, curYear, curMonth) { + var numMonths = this._getNumberOfMonths(inst), + date = this._daylightSavingAdjust(new Date(curYear, + curMonth + (offset < 0 ? offset : numMonths[0] * numMonths[1]), 1)); + + if (offset < 0) { + date.setDate(this._getDaysInMonth(date.getFullYear(), date.getMonth())); + } + return this._isInRange(inst, date); + }, + + /* Is the given date in the accepted range? */ + _isInRange: function(inst, date) { + var yearSplit, currentYear, + minDate = this._getMinMaxDate(inst, "min"), + maxDate = this._getMinMaxDate(inst, "max"), + minYear = null, + maxYear = null, + years = this._get(inst, "yearRange"); + if (years){ + yearSplit = years.split(":"); + currentYear = new Date().getFullYear(); + minYear = parseInt(yearSplit[0], 10); + maxYear = parseInt(yearSplit[1], 10); + if ( yearSplit[0].match(/[+\-].*/) ) { + minYear += currentYear; + } + if ( yearSplit[1].match(/[+\-].*/) ) { + maxYear += currentYear; + } + } + + return ((!minDate || date.getTime() >= minDate.getTime()) && + (!maxDate || date.getTime() <= maxDate.getTime()) && + (!minYear || date.getFullYear() >= minYear) && + (!maxYear || date.getFullYear() <= maxYear)); + }, + + /* Provide the configuration settings for formatting/parsing. */ + _getFormatConfig: function(inst) { + var shortYearCutoff = this._get(inst, "shortYearCutoff"); + shortYearCutoff = (typeof shortYearCutoff !== "string" ? shortYearCutoff : + new Date().getFullYear() % 100 + parseInt(shortYearCutoff, 10)); + return {shortYearCutoff: shortYearCutoff, + dayNamesShort: this._get(inst, "dayNamesShort"), dayNames: this._get(inst, "dayNames"), + monthNamesShort: this._get(inst, "monthNamesShort"), monthNames: this._get(inst, "monthNames")}; + }, + + /* Format the given date for display. */ + _formatDate: function(inst, day, month, year) { + if (!day) { + inst.currentDay = inst.selectedDay; + inst.currentMonth = inst.selectedMonth; + inst.currentYear = inst.selectedYear; + } + var date = (day ? (typeof day === "object" ? day : + this._daylightSavingAdjust(new Date(year, month, day))) : + this._daylightSavingAdjust(new Date(inst.currentYear, inst.currentMonth, inst.currentDay))); + return this.formatDate(this._get(inst, "dateFormat"), date, this._getFormatConfig(inst)); + } +}); + +/* + * Bind hover events for datepicker elements. + * Done via delegate so the binding only occurs once in the lifetime of the parent div. + * Global datepicker_instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker. + */ +function datepicker_bindHover(dpDiv) { + var selector = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a"; + return dpDiv.delegate(selector, "mouseout", function() { + $(this).removeClass("ui-state-hover"); + if (this.className.indexOf("ui-datepicker-prev") !== -1) { + $(this).removeClass("ui-datepicker-prev-hover"); + } + if (this.className.indexOf("ui-datepicker-next") !== -1) { + $(this).removeClass("ui-datepicker-next-hover"); + } + }) + .delegate( selector, "mouseover", datepicker_handleMouseover ); +} + +function datepicker_handleMouseover() { + if (!$.datepicker._isDisabledDatepicker( datepicker_instActive.inline? datepicker_instActive.dpDiv.parent()[0] : datepicker_instActive.input[0])) { + $(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); + $(this).addClass("ui-state-hover"); + if (this.className.indexOf("ui-datepicker-prev") !== -1) { + $(this).addClass("ui-datepicker-prev-hover"); + } + if (this.className.indexOf("ui-datepicker-next") !== -1) { + $(this).addClass("ui-datepicker-next-hover"); + } + } +} + +/* jQuery extend now ignores nulls! */ +function datepicker_extendRemove(target, props) { + $.extend(target, props); + for (var name in props) { + if (props[name] == null) { + target[name] = props[name]; + } + } + return target; +} + +/* Invoke the datepicker functionality. + @param options string - a command, optionally followed by additional parameters or + Object - settings for attaching new datepicker functionality + @return jQuery object */ +$.fn.datepicker = function(options){ + + /* Verify an empty collection wasn't passed - Fixes #6976 */ + if ( !this.length ) { + return this; + } + + /* Initialise the date picker. */ + if (!$.datepicker.initialized) { + $(document).mousedown($.datepicker._checkExternalClick); + $.datepicker.initialized = true; + } + + /* Append datepicker main container to body if not exist. */ + if ($("#"+$.datepicker._mainDivId).length === 0) { + $("body").append($.datepicker.dpDiv); + } + + var otherArgs = Array.prototype.slice.call(arguments, 1); + if (typeof options === "string" && (options === "isDisabled" || options === "getDate" || options === "widget")) { + return $.datepicker["_" + options + "Datepicker"]. + apply($.datepicker, [this[0]].concat(otherArgs)); + } + if (options === "option" && arguments.length === 2 && typeof arguments[1] === "string") { + return $.datepicker["_" + options + "Datepicker"]. + apply($.datepicker, [this[0]].concat(otherArgs)); + } + return this.each(function() { + typeof options === "string" ? + $.datepicker["_" + options + "Datepicker"]. + apply($.datepicker, [this].concat(otherArgs)) : + $.datepicker._attachDatepicker(this, options); + }); +}; + +$.datepicker = new Datepicker(); // singleton instance +$.datepicker.initialized = false; +$.datepicker.uuid = new Date().getTime(); +$.datepicker.version = "1.11.4"; + +var datepicker = $.datepicker; + + + +})); \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/jqueryui_old.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/utl/EgovMenuGov.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/utl/EgovMenuGov.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/utl/EgovMenuGov.js (revision 7) @@ -0,0 +1,192 @@ +/**************************************************************** + * + * 파일명 : EgovMenuGov.js + * 설 명 : 전자정부 공통서비스 메뉴 JavaScript + * + * 수정일 수정자 Function 명 + * ------------ --------- ---------------------------- + * 2011.09.01 이기하 imgpath 변수는 js를 호출하는 + * jsp에서 입력받도록 수정 + * + * + */ + +/* + * 트리메뉴 임시 생성 + */ +// Arrays for nodes and icons +var nodes = new Array();; +var openNodes = new Array(); +var icons = new Array(6); +//var imgpath = "./../../../../../images/egovframework/com/cmm/utl/" + +// Loads all icons that are used in the tree +function preloadIcons() { + icons[0] = new Image(); + icons[0].src = imgpath+"menu_plus.gif"; + icons[1] = new Image(); + icons[1].src = imgpath+"menu_plusbottom.gif"; + icons[2] = new Image(); + icons[2].src = imgpath+"menu_minus.gif"; + icons[3] = new Image(); + icons[3].src = imgpath+"menu_minusbottom.gif"; + icons[4] = new Image(); + icons[4].src = imgpath+"menu_folder.gif"; + icons[5] = new Image(); + icons[5].src = imgpath+"menu_folderopen.gif"; +} +// Create the tree +function createTree(arrName ) { + var startNode, openNode; + nodes = arrName; + if (nodes.length > 0) { + preloadIcons(); + if (startNode == null) startNode = 0; + if (openNode != 0 || openNode != null) setOpenNodes(openNode); + if (startNode !=0) { + var nodeValues = nodes[getArrayId(startNode)].split("|"); + document.write("<a href='" + nodeValues[3] + "' onmouseover='window.status='" + nodeValues[2] + "';return true;' onmouseout='window.status=' ';return true;'><img src='"+imgpath+"menu_folderopen.gif' border='0' align='absbottom' alt=''>" + nodeValues[2] + "</a><br>"); + } else document.write("<img src='"+imgpath+"menu_base.gif' border='0' align='absbottom' alt='' >트리메뉴<br>"); + var recursedNodes = new Array(); + addNode(startNode, recursedNodes); + } +} +// Returns the position of a node in the array +function getArrayId(node) { + for (i=0; i<nodes.length; i++) { + var nodeValues = nodes[i].split("|"); + if (nodeValues[0]==node) return i; + } +} +// Puts in array nodes that will be open +function setOpenNodes(openNode) { + for (i=0; i<nodes.length; i++) { + var nodeValues = nodes[i].split("|"); + if (nodeValues[0]==openNode) { + openNodes.push(nodeValues[0]); + setOpenNodes(nodeValues[1]); + } + } +} +// Checks if a node is open +function isNodeOpen(node) { + for (i=0; i<openNodes.length; i++) + if (openNodes[i]==node) return true; + return false; +} +// Checks if a node has any children +function hasChildNode(parentNode) { + for (i=0; i< nodes.length; i++) { + var nodeValues = nodes[i].split("|"); + if (nodeValues[1] == parentNode) return true; + } + return false; +} +// Checks if a node is the last sibling +function lastSibling (node, parentNode) { + var lastChild = 0; + for (i=0; i< nodes.length; i++) { + var nodeValues = nodes[i].split("|"); + if (nodeValues[1] == parentNode) + lastChild = nodeValues[0]; + } + if (lastChild==node) return true; + return false; +} +// Adds a new node to the tree +function addNode(parentNode, recursedNodes) { + for (var i = 0; i < nodes.length; i++) { + + var nodeValues = nodes[i].split("|"); + + if (nodeValues[1] == parentNode) { + + var ls = lastSibling(nodeValues[0], nodeValues[1]); + var hcn = hasChildNode(nodeValues[0]); + var ino = isNodeOpen(nodeValues[0]); + + // Write out line & empty icons + for (g=0; g<recursedNodes.length; g++) { + if (recursedNodes[g] == 1) document.write("<img src='"+imgpath+"menu_line.gif' border='0' align='absbottom' alt='' >"); + else document.write("<img src='"+imgpath+"menu_empty.gif' border='0' align='absbottom' alt='' >"); + } + // put in array line & empty icons + if (ls) recursedNodes.push(0); + else recursedNodes.push(1); + // Write out join icons + if (hcn) { + if (ls) { + document.write("<a href='javascript: oc(" + nodeValues[0] + ", 1);'><img id='join" + nodeValues[0] + "' src='"+imgpath); + if (ino) document.write("menu_minus"); + else document.write("menu_plus"); + document.write("bottom.gif' border='0' align='absbottom' alt='Open/Close node' ></a>"); + } else { + document.write("<a href='javascript: oc(" + nodeValues[0] + ", 0);'><img id='join" + nodeValues[0] + "' src='"+imgpath); + if (ino) document.write("menu_minus"); + else document.write("menu_plus"); + document.write(".gif' border='0' align='absbottom' alt='Open/Close node' /></a>"); + } + } else { + if (ls) document.write("<img src='"+imgpath+"menu_joinbottom.gif' border='0' align='absbottom' alt='' >"); + else document.write("<img src='"+imgpath+"menu_join.gif' border='0' align='absbottom' alt='' >"); + } + // Start link + document.write("<a href='" + nodeValues[3] + "' onmouseover=\"window.status='" + nodeValues[2] + "';return true;\" onmouseout=\"window.status=' ';return true;\">"); + // Write out folder & page icons + if (hcn) { + document.write("<img id='icon" + nodeValues[0] + "' src='"+imgpath+"menu_folder") + if (ino) document.write("open"); + document.write(".gif' border='0' alt='Folder' >"); + } else document.write("<img id='icon" + nodeValues[0] + "' src='"+imgpath+"menu_page.gif' border='0' align='absbottom' alt='Page'>"); + // Write out node name + document.write(nodeValues[2]); + // End link + document.write("</a><br>"); + // If node has children write out divs and go deeper + if (hcn) { + document.write("<div id='div" + nodeValues[0] + "'"); + if (!ino) document.write(" style='display: none;'"); + document.write(">"); + addNode(nodeValues[0], recursedNodes); + document.write("</div>"); + } + // remove last line or empty icon + recursedNodes.pop(); + } + } +} +// Opens or closes a node +function oc(node, bottom) { + var theDiv = document.getElementById("div" + node); + var theJoin = document.getElementById("join" + node); + var theIcon = document.getElementById("icon" + node); + + if (theDiv.style.display == 'none') { + if (bottom==1) theJoin.src = icons[3].src; + else theJoin.src = icons[2].src; + theIcon.src = icons[5].src; + theDiv.style.display = ''; + } else { + if (bottom==1) theJoin.src = icons[1].src; + else theJoin.src = icons[0].src; + theIcon.src = icons[4].src; + theDiv.style.display = 'none'; + } +} +// Push and pop not implemented in IE +if(!Array.prototype.push) { + function array_push() { + for(var i=0;i<arguments.length;i++) + this[this.length]=arguments[i]; + return this.length; + } + Array.prototype.push = array_push; +} +if(!Array.prototype.pop) { + function array_pop(){ + lastElement = this[this.length-1]; + this.length = Math.max(this.length-1,0); + return lastElement; + } + Array.prototype.pop = array_pop; +} Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/utl/EgovMenuGov.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/utl/sec/EgovCertInstall.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/utl/sec/EgovCertInstall.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/utl/sec/EgovCertInstall.js (revision 7) @@ -0,0 +1,205 @@ +var sProxyData = "DIRECT"; + +var nEndLoop = -1; + +var nContinue = -1; + +var Count = 0; + + + +// GPKIInstaller 객체 생성되었는지 확인 + +function HaveObject() + +{ + + + + if(document.GPKIInstaller==null || document.GPKIInstaller.object==null) + + { + + return false; + + } + + else + + { + + return true; + + } + +} + + + + + +// xp sp2 인지 체크해서 페이지 이동한다. + +function SP2Check() + +{ + + var userAgent; + + userAgent = navigator.userAgent; + + + + if( userAgent.indexOf("SV1") > 0 ) // xp sp2 이다. + + { + + return true; + + } + + + + return false; + +} + +//브라우저 버전 체크 + +function BrowserVersionCheck() + +{ + + // IE 버전 체크 5.0 이상만 지원 + + rv = document.GPKIInstaller.IEVersionCheck(); + + if(rv < 5) + + { + + nContinue = 0; + + return false; + + } + + + + nContinue = 1; + + return true; + +} + + + +// 설치파일 버전체크 및 다운로드 + +function VersionCheckAndDownload() + +{ + //alert("[" + ServerAddr + "]" ); + //alert("[" + ConfigFilePath + "]" ); + rv = document.GPKIInstaller.VerCheckAndDownload(ServerAddr,ConfigFilePath); + //alert(rv); + if(rv == 1) + + { + + alert("보안프로그램 설치를 시작합니다. 확인버튼을 눌러주십시오."); + + rv = document.GPKIInstaller.RunSetup(); + + if( rv == -1) + + { + + alert("보안 프로그램 설치에 실패했습니다.\n(프로그램이 존재하지 않거나, 서명이 올바르지 않습니다.)"); + + return false; + + } + + else if( rv == -2) + + { + + alert("보안 프로그램의 서명이 올바르지 않아 실행할 수 없습니다."); + + return false; + + } + + return true; + + } + + else if(rv == 2) // 이미 설치되어있는 경우 + + { + + return rv; + + } + + else + + { + + alert("프로그램을 다운로드하지 못했습니다."); + + return false; + + } + +} + + + +function DisplayMsg(title, body) + +{ + + msg = "&nbsp;<font color='blue' class='12p'>\r\n"; + + msg = msg + "<B>" + title +" : </B></font>"; + + msg = msg + "<font class='12p'>\r\n"; + + msg = msg + body +"</font><br>"; + + document.write(msg); + +} + + + + + +//------------------------------------------------------------------------------ + +// Determine OS Version from a Script + +//------------------------------------------------------------------------------ + +function getOSVersion() + +{ + + version=/NT \d+.\d+/; + + strTemp = String(navigator.appVersion.match(version)); + + if(strTemp == "null") + + return null; + + re = /(\w+)\s(\w+)/; + + return Number(strTemp.replace(re, "$2")); + +} + + + Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/utl/sec/EgovCertInstall.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/utl/sec/EgovCertObject.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/utl/sec/EgovCertObject.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/utl/sec/EgovCertObject.js (revision 7) @@ -0,0 +1,4 @@ +//GPKISecureWeb + +document.write('<OBJECT ID="GPKISecureWeb" CLASSID="CLSID:C8223F3A-1420-4245-88F2-D874FC081572" WIDTH = 0 HEIGHT = 0></OBJECT>'); + Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/utl/sec/EgovCertObject.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/utl/sec/EgovCertGPKIFunc.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/utl/sec/EgovCertGPKIFunc.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/utl/sec/EgovCertGPKIFunc.js (revision 7) @@ -0,0 +1,1387 @@ +document.writeln('<form name=gpkiForm METHOD=POST>'); + +document.writeln(' <input name=encryptedData type=hidden>'); + +document.writeln('</form>'); + + + + + +/*********************************************************************/ + +// init // + +/*********************************************************************/ + +function Init() + +{ + + var nResult; + + nResult = GPKISecureWeb.Init(WorkDir, ServerCert, AlgoMode, GNCertType, ValidCertInfo, ReadCertType, KeyStrokeType ); + + if( nResult == 1 || nResult == 100) + + { + + return 1; + + } + + else + + { + + strReturnData = GPKISecureWeb.GetReturnData(); + + alert(strReturnData); + + return nResult; + + } + +} + + + +/*********************************************************************/ + +// UbiKey init // + +/*********************************************************************/ + +function UbiKeyInit() + +{ + + var nResult; + + + +// alert(UbikeyVersion + "-" + UbikeyPopupURL + "-" + UbikeyWParam + "-" + UbikeylParam ); + + nResult = GPKISecureWeb.UbiKeyInit( UbikeyVersion, UbikeyPopupURL, UbikeyWParam, UbikeylParam ); + + + +} + + + +/*********************************************************************/ + +// init // + +/*********************************************************************/ + +function EmbInit(form) + +{ + + + + var nResult; + + form.pwd.focus(); + + + + nResult = document.EMX.Init(GNCertType, ReadCertType, ValidCertInfo); + + + + nResult = document.EMX.UbiKeyInit( UbikeyVersion, UbikeyPopupURL, UbikeyWParam, UbikeylParam ); + + + + return nResult; + +} + + + + + +/*********************************************************************/ + +// LoginEmbedded // + +/*********************************************************************/ + +function LoginEmbedded(form) + +{ + + var nResult; // Return Code + + var strReturnData; + + var strData; + + nResult = Init(); + + if( nResult == 117) + + return; + + + + var sessionID = ""; + + if( form.challenge.value != null) + + { + + strData = "challenge="; + + strData += form.challenge.value; + + sessionID = form.challenge.value; + + } + + + + if( document.EMX.SetSessionID(sessionID) != 1) + + { + + return; + + } + + + + if( form.pwd.value == "") + + { + +// alert("비밀번호를 입력하십시오"); + + return; + + } + + + + nResult = document.EMX.Login(WorkDir, form.pwd.value, SiteID, ServerCert, AlgoMode, strData); + + strReturnData = document.EMX.GetReturnData(); + + + + if(nResult == 1 ) + + { + + // embedded session -> popup session + + strSessionID = document.EMX.GetSessionID(); + + document.GPKISecureWeb.SetGlobalSessionID(strSessionID); + + + + document.gpkiForm.encryptedData.value = strReturnData; + + document.gpkiForm.method = form.method; + + document.gpkiForm.action = form.action; + + document.gpkiForm.submit(); + + } + + else + + { + + if( nResult != 106) + + alert(strReturnData); + + } + +} + + + + + + + +function CertSavePhone(form) + + + +{ var strData; + + var nResult; + + var strReturnData; + + var strSendData; + + + + strData= GPKISubmit(form); + + + + nResult = Init(); + + if( nResult == 117) + + return; + + + + UbiKeyInit(); + + + + nResult = GPKISecureWeb.SaveCertPhone(); + + + + strReturnData = GPKISecureWeb.GetReturnData(); + + + + if( nResult == 1 ) + + { + + + + document.gpkiForm.encryptedData.value = strReturnData; + + document.gpkiForm.method = form.method; + + document.gpkiForm.action = form.action; + + document.gpkiForm.submit(); + + } + + else + + { + + if( nResult != 106) + + alert(strReturnData); + + } + +} + + + +/*********************************************************************/ + +// Login // + +/*********************************************************************/ + +function Login(form) + +{ + + var strData; + + var nResult; + + var strReturnData; + + var strSendData; + + strData= GPKISubmit(form); + + nResult = Init(); + + if( nResult == 117) + + return; + + + + UbiKeyInit(); + + + + + + var sessionID = ""; + + if( form.challenge.value != null) + + sessionID = form.challenge.value; + + + + if( GPKISecureWeb.SetSessionID(sessionID) != 1) + + { + + return; + + } + + nResult = GPKISecureWeb.Login(SiteID, strData); + + strReturnData = GPKISecureWeb.GetReturnData(); + + if( nResult == 1 ) + + { + + + + document.gpkiForm.encryptedData.value = strReturnData; + + document.gpkiForm.method = form.method; + + document.gpkiForm.action = form.action; + + document.gpkiForm.submit(); + + } + + else + + { + + if( nResult != 106) + + alert(strReturnData); + + } + + + +} + +/*********************************************************************/ + +// LoginLink // + +/*********************************************************************/ + +function LoginLink(link) + +{ + + var strData; + + var nResult; + + var strReturnData; + + var strSendData; + + nResult = Init(); + + if( nResult == 117) + + return; + + + + strData = GPKILink( link ); + + var sessionID = ""; + + if( GPKISecureWeb.SetSessionID(sessionID) != 1) + + { + + return; + + } + + nResult = GPKISecureWeb.Login(SiteID, strData); + + strReturnData = GPKISecureWeb.GetReturnData(); + + if( nResult == 1) + + { + + document.gpkiForm.encryptedData.value = strReturnData; + + document.gpkiForm.action = link; + + if ( link.target == "" || link.target == null ) { + + document.gpkiForm.target="_self"; + + }else{ + + document.gpkiForm.target=link.target; + + } + + link.href = '#'; + + document.gpkiForm.submit(); + + } + + else + + { + + if( nResult != 106) + + alert(strReturnData); + + } + +} + + + +//********************************************************************// + +// Logout // + +//********************************************************************// + +function Logout() + +{ + + var strData; + + var nResult; + + var strReturnData; + + var strSendData; + + + + nResult = Init(); + + if( nResult == 117) + + return; + + + + nResult = GPKISecureWeb.Logout(SiteID); + + if( nResult == 1 ) + + { + + + +// alert("로그인한 세션이 종료되었습니다."); + + top.location.href = ServiceStartPageURL; + + } + +} + + + +/*********************************************************************/ + +// EnvelopedSignData // + +/*********************************************************************/ + +function EnvelopedSignData(form) + +{ + + var strData; + + var nResult; + + var strReturnData; + + var strSendData; + + strData= GPKISubmit( form); + + nResult = Init(); + + if( nResult == 117) + + return; + + + + var sessionID = ""; + + if( form.challenge.value != null) + + sessionID = form.challenge.value; + + + + if( GPKISecureWeb.SetSessionID(sessionID) != 1) + + { + + return; + + } + + nResult = GPKISecureWeb.EnvelopedSignData(SiteID, strData); + + strReturnData = GPKISecureWeb.GetReturnData(); + + if( nResult == 1) + + { + + document.gpkiForm.encryptedData.value = strReturnData; + + document.gpkiForm.method = form.method; + + document.gpkiForm.action = form.action; + + document.gpkiForm.submit(); + + + + } + + else + + { + + if( nResult != 106) + + alert(strReturnData); + + } + + + + + +} + +/*********************************************************************/ + +// EnvelopData // + +/*********************************************************************/ + +function EnvelopedData(form) + +{ + + var strData; + + var nResult; + + var strReturnData; + + var strSendData; + + strData= GPKISubmit( form); + + nResult = Init(); + + if( nResult == 117) + + return; + + + + var sessionID = ""; + + if( form.challenge.value != null) + + sessionID = form.challenge.value; + + + + if( GPKISecureWeb.SetSessionID(sessionID) != 1) + + { + + return; + + } + + + + nResult = GPKISecureWeb.EnvelopData(SiteID, strData); + + strReturnData = GPKISecureWeb.GetReturnData(); + + + + if( nResult == 1 ) + + { + + document.gpkiForm.encryptedData.value = strReturnData; + + document.gpkiForm.method = form.method; + + document.gpkiForm.action = form.action; + + document.gpkiForm.submit(); + + } + + else + + { + + if( nResult != 106) + + alert(strReturnData); + + } + +} + + + + + +/*********************************************************************/ + +// SignedDataForm(form) // + +/*********************************************************************/ + +function SignedDataForm(form) + +{ + + var strData; + + var nResult; + + var strReturnData; + + nResult = Init(); + + if( nResult == 117) + + return; + + + + strData= GPKISubmit(form) + + strReturnData = SignedData(strData); + + + + if( strReturnData != "" ) + + { + + document.gpkiForm.encryptedData.value = strReturnData; + + document.gpkiForm.method = form.method; + + document.gpkiForm.action = form.action; + + document.gpkiForm.submit(); + + } + +} + + + +/*********************************************************************/ + +// SignedData(data) // + +/*********************************************************************/ + +function SignedData(data) + +{ + + var nResult; + + var strReturnData; + + nResult = Init(); + + if( nResult == 117) + + return; + + nResult = GPKISecureWeb.SignedData(SiteID, CertOption, data); + + strReturnData = GPKISecureWeb.GetReturnData(); + + if( nResult == 1 ) + + { + + return strReturnData; + + } + + else + + { + + if( nResult != 106) + + alert(strReturnData); + + return ""; + + } + +} + + + +/*********************************************************************/ + +// SignedDataWithVIDCheck(data, IDN) // + +/*********************************************************************/ + +function SignedDataWithVIDCheck(data, IDN) + +{ + + var nResult; + + var strReturnData; + + nResult = Init(); + + if( nResult == 117) + + return; + + + + nResult = GPKISecureWeb.SignedDataWithVIDCheck(SiteID, CertOption, data, IDN); + + strReturnData = GPKISecureWeb.GetReturnData(); + + + + if( nResult == 1 ) + + { + + return strReturnData; + + } + + else + + { + + if( nResult != 106) + + alert(strReturnData); + + return ""; + + } + +} + + + +/*********************************************************************/ + +// EncryptedSignData // + +/*********************************************************************/ + +function EncryptedSignData(form) + +{ + + var strData; + + var nResult; + + var strReturnData; + + nResult = Init(); + + if( nResult == 117) + + return; + + strData= GPKISubmit( form) + + nResult = GPKISecureWeb.EncryptedSignData(SiteID, CertOption, strData); + + strReturnData = GPKISecureWeb.GetReturnData(); + + if( nResult == 1 ) + + { + + document.gpkiForm.encryptedData.value = strReturnData; + + document.gpkiForm.method = form.method; + + document.gpkiForm.action = form.action; + + document.gpkiForm.submit(); + + } + + else + + { + + if( nResult != 106) + + alert(strReturnData); + + } + +} + + + + + +/*********************************************************************/ + +// Encrypt // + +/*********************************************************************/ + +function Encrypt(form) + +{ + + var strData; + + var nResult; + + var strReturnData; + + + + strData= GPKISubmit( form) + + + + nResult = Init(); + + if( nResult == 117) + + return; + + nResult = GPKISecureWeb.Encrypt(SiteID, strData); + + strReturnData = GPKISecureWeb.GetReturnData(); + + + + if( nResult == 1 ) + + { + + document.gpkiForm.encryptedData.value = strReturnData; + + document.gpkiForm.method = form.method; + + document.gpkiForm.action = form.action; + + document.gpkiForm.submit(); + + } + + else + + { + + alert(strReturnData); + + } + +} + + + +/*********************************************************************/ + +// EncryptLink // + +/*********************************************************************/ + +function EncryptLink(link) + +{ + + var strData; + + var nResult; + + var strReturnData; + + nResult = Init(); + + if( nResult == 117) + + return; + + strData= GPKILink(link); + + link.href += "encryptedData="; + + nResult = GPKISecureWeb.Encrypt(SiteID, strData); + + strReturnData = GPKISecureWeb.GetReturnData(); + + if( nResult == 1 ) + + { + + + + strData = replaceEscapeString( strReturnData ) + + link.href += strData; + + } + + else + + { + + alert(strReturnData); + + } + +} + + + + + +/*********************************************************************/ + +// Decrypt // + +/*********************************************************************/ + +function Decrypt(encData) + +{ + + var strData; + + var nResult; + + var strReturnData = ""; + + + + nResult = Init(); + + if( nResult == 117) + + return; + + + + nResult = GPKISecureWeb.Decrypt(SiteID, encData); + + strReturnData = GPKISecureWeb.GetReturnData(); + + if( nResult == 1 ) + + { + + return strReturnData; + + } + + else + + { + + alert("Decrypt Fail"); + + alert(strReturnData); + + return ""; + + } + +} + + + +/*********************************************************************/ + +// WrapperTag // + +/*********************************************************************/ + +// <GPKI_ENC> Data </GPKI_ENC> + +function WrapperTag(Msg) + +{ + + var TagData; + + + + TagDat = "<GPKI_ENC>"; + + TagData += Msg; + + TagData += "</GPKI_ENC>" + + + + alert(TagDat); + + return TagData; + +} + + + + + +/*********************************************************************/ + +// GPKISubmit(form) // + +/*********************************************************************/ + +function GPKISubmit( form ) + +{ + + var queryString = ""; + + var qs_index = ""; + + var action = ""; + + var noenc_qs = ""; + + if ( form.action.indexOf('?') != -1 ) + + { + + + + alert(form.action); + + action = form.action; + + document.gpkiForm.action = action.substring( 0, form.action.lastIndexOf('?') ); + + queryString = action.substring( action.lastIndexOf('?') + 1, action.length) + '&'; + + } + + else + + { + + document.gpkiForm.action = form.action; + + } + + + + queryString += makeQueryString(form); + + return queryString; + + + +} + +/*********************************************************************/ + +// GPKILink(link) // + +/*********************************************************************/ + +function GPKILink( link ) + +{ + + nResult = Init(); + + if( nResult == 117) + + return; + + var action = ""; + + var queryString = ""; + + var noenc_qs = ""; + + var strResult =""; + + var strCode = "" + + var strMsg = "" + + + + if ( link.protocol != "http:" ) + + { + +// alert("http 프로토콜만 사용가능합니다"); + + return true; + + } + + + + if (link.search.length < 1) + + { + +// alert("암호화할 Data가 없습니다."); + + return false; + + } + + + + action = "http://" + link.hostname + ":" + link.port + "/" + link.pathname; + + queryString = link.search.substring( link.search.lastIndexOf('?') + 1, link.search.length); + + + + link.href = action + "?"; + + return queryString; + +} + + + +function makeQueryString( form ) + +{ + + var name = new Array(form.elements.length); + + var value = new Array(form.elements.length); + + var flag = false; + + var j = 0; + + var plain_text =""; + + + + len = form.elements.length; + + + + for (i = 0; i < len; i++) + + { + + + + if( (form.elements[i].type != "button") && (form.elements[i].type != "reset") && (form.elements[i].type != "submit") ) + + { + + if (form.elements[i].type == "radio" || form.elements[i].type == "checkbox") + + { + + if (form.elements[i].checked == true) + + { + + name[j] = form.elements[i].name; + + value[j] = form.elements[i].value; + + j++; + + } + + } + + else { + + name[j] = form.elements[i].name; + + if (form.elements[i].type == "select-one") + + { + + var ind = form.elements[i].selectedIndex; + + if (form.elements[i].options[ind].value != '') + + value[j] = form.elements[i].options[ind].value; + + else + + value[j] = form.elements[i].options[ind].text; + + } + + else + + { + + value[j] = form.elements[i].value; + + } + + j++; + + } + + } + + } + + + +// for (i = 0; i < j; i++) + +// { + +// str = value[i]; + +// value[i] = replaceEscapeString(str); + +// } + + + + for (i = 0; i < j; i++) + + { + + if (flag) + + plain_text += "&"; + + else + + flag = true; + + plain_text += name[i] ; + + plain_text += "="; + + plain_text += value[i]; + + } + + return plain_text; + +} + + + +function replaceEscapeString( qureyString ) + +{ + + var i; + + var ch; + + var rstring = ''; + + var qstring = ''; + + + + qstring = String(qureyString); + + + + for (i = 0; i < qstring.length; i++) + + { + + ch = qstring.charAt(i); + + + + if (ch == ' ') rstring += '%20'; + + else + + if (ch == '%') rstring += '%25'; + + else + + if (ch == '&') rstring += '%26'; + + else + + if (ch == '+') rstring += '%2B'; + + else + + if (ch == '=') rstring += '%3D'; + + else + + if (ch == '?') rstring += '%3F'; + + else rstring += ch; + + } + + + + return rstring; + +} + + + +function embeddedEnterEvent(form) + +{ + + // Enter Key + + if (event.keyCode == 13) + + { + + LoginEmbedded(form); + + } + + else + + return; + +} \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/utl/sec/EgovCertGPKIFunc.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/utl/EgovCmmUtl.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/utl/EgovCmmUtl.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/utl/EgovCmmUtl.js (revision 7) @@ -0,0 +1,83 @@ +/* + * 요소기술 스크립트 + */ + +// 숫자체크 +function isNumber(control, msg) { + + var val = control; + var Num = "1234567890"; + for (i=0; i<val.length; i++) { + if(Num.indexOf(val.substring(i,i+1))<0) { + alert(msg+' 형식이 잘못되었습니다.'); + return false; + } + } + return true; +} + +// 날짜체크 +function isDate(control, msg) { + + // '/'나 '-' 구분자 제거 + var val = getRemoveFormat(control); + + // 숫자, length 확인 + if (isNumber(val, msg) && val.length == 8) { + var year = val.substring(0,4); + var month = val.substring(4,6); + var day = val.substring(6,8); + + // 유효날짜 확인 + if(checkDate(year,month,day,msg)){ + return true; + } else { + return false; + } + } else { + alert(msg + " 유효하지 않은 년,월,일(YYYYMMDD)입니다. 다시 확인해 주세요!"); + return false; + } +} + +// 구분자 제거 +function getRemoveFormat(val) { + if(val.length == 10) { + var arrDate = new Array(3); + arrDate = val.split("/"); + if(arrDate.length != 3) { + arrDate = val.split("-"); + } + return arrDate[0] + arrDate[1] + arrDate[2]; + } else { + return val; + } +} + +// 유효날짜 확인 +function checkDate(varCk1, varCk2, varCk3, msg) { + if (varCk1>="0001" && varCk1<="9999" && varCk2>="01" && varCk2<="12") { + febDays = "29"; + if ((parseInt(varCk1,10) % 4) == 0) { + if ((parseInt(varCk1,10) % 100) == 0 && (parseInt(varCk1,10) % 400) != 0){ + febDays = "28"; + } + }else{ + febDays = "28"; + } + if (varCk2=="01" && varCk3>="01" && varCk3<="31") return true; + if (varCk2=="02" && varCk3>="01" && varCk3<=febDays) return true; + if (varCk2=="03" && varCk3>="01" && varCk3<="31") return true; + if (varCk2=="04" && varCk3>="01" && varCk3<="30") return true; + if (varCk2=="05" && varCk3>="01" && varCk3<="31") return true; + if (varCk2=="06" && varCk3>="01" && varCk3<="30") return true; + if (varCk2=="07" && varCk3>="01" && varCk3<="31") return true; + if (varCk2=="08" && varCk3>="01" && varCk3<="31") return true; + if (varCk2=="09" && varCk3>="01" && varCk3<="30") return true; + if (varCk2=="10" && varCk3>="01" && varCk3<="31") return true; + if (varCk2=="11" && varCk3>="01" && varCk3<="30") return true; + if (varCk2=="12" && varCk3>="01" && varCk3<="31") return true; + } + alert(msg + " 유효하지 않은 년,월,일(YYYYMMDD)입니다. 다시 확인해 주세요!"); + return false; +} \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/utl/EgovCmmUtl.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/cmm/showModalDialog.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/cmm/showModalDialog.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/cmm/showModalDialog.js (revision 7) @@ -0,0 +1,90 @@ +/**************************************************************** + * + * 파일명 : showModalDialog.js + * 설 명 : showModalDialog 기능을 대체하는 JavaScript + * + * 수정일 수정자 Version Function 명 + * ------------ --------- ------------- ---------------------------- + * 2014.09.25 Vincent Han 1.0 최초생성 + * 2016.09.09 장동한 1.1 mdattr 처리 개선 + * + */ +// fix for deprecated method in Chrome 37 +this.dialogArguments = null; +this.otherParameters = new Array(); +this.showModalDialogSupported = true; + +this.callbackMethod = null; + +if (!window.showModalDialog) { + + showModalDialogSupported = false; + + window.showModalDialog = function(arg1, arg2, arg3, callback) { + + var w; + var h; + var resizable = "no"; + var scroll = "no"; + var status = "no"; + + // get the modal specs + var mdattrs = arg3.split(";"); + for (i = 0; i < mdattrs.length; i++) { + + /* 2016.09.09 modify by 장동한[mdattr 처리 개선] */ + var mdattr = null; + + if(mdattrs[i].indexOf("=") > -1){ + mdattr = mdattrs[i].split("="); + }else{ + mdattr = mdattrs[i].split(":"); + } + + var n = mdattr[0]; + var v = mdattr[1]; + if (n) { + n = n.trim().toLowerCase(); + } + if (v) { + v = v.trim().toLowerCase(); + } + + if (n == "dialogheight") { + h = v.replace("px", ""); + } else if (n == "dialogwidth") { + w = v.replace("px", ""); + } else if (n == "resizable") { + resizable = v; + } else if (n == "scroll") { + scroll = v; + } else if (n == "status") { + status = v; + } else { + // no-op + } + } + + var left = window.screenX + (window.outerWidth / 2) - (w / 2); + var top = window.screenY + (window.outerHeight / 2) - (h / 2); + var targetWin = window.open(arg1, "ShowModalDialog" + arg1, 'toolbar=no, location=no, directories=no, status=' + status + ', menubar=no, scrollbars=' + scroll + ', resizable=' + resizable + ', copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left); + + this.dialogArguments = arg2; + + if (callback != null) { + callbackMethod = callback; + } else { + callbackMethod = null; + } + + targetWin.focus(); + }; + + window.getDialogArgumentsInner = function() { + return this.dialogArguments; + }; + + window.getCallbackMethodName = function() { + return this.callbackMethod; + } + } \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/egovframework/com/cmm/showModalDialog.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/uss/ion/ism/EgovInfrmlSanction.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/uss/ion/ism/EgovInfrmlSanction.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/uss/ion/ism/EgovInfrmlSanction.js (revision 7) @@ -0,0 +1,81 @@ +/**************************************************************** + * + * 파일명 : EgovInfrmlSanction.js + * 설 명 : 약식결재자 서비스 기능 사용 JavaScript + * + * 수정일 수정자 Version Function 명 + * ------------ --------- ------------- ---------------------------- + * 2010.09.10 장철호 1.0 최초생성 + * + * + * **************************************************************/ + +function dirname(path) { + if (path.lastIndexOf("/") == -1) + return "./"; + return path.replace(/\\/g, '/').replace(/\/[^\/]*\/?$/, '') + "/"; +} + +function getActiveScript() { + var d = document.getElementsByTagName("script"); + var path = dirname(d[d.length - 1].src); + delete d; + + var offset=path.indexOf(location.host)+location.host.length; + return path.substring(offset); +} + + +function getContextPath(){ + var offset=location.href.indexOf(location.host)+location.host.length; + var ctxPath=location.href.substring(offset, location.href.indexOf('/',offset+1)); + + if ((/^\/js/).test(getActiveScript())) { + return ""; + } + + return ctxPath; +} + +function loadScript(src, f) { + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement("script"); + script.src = src; + var done = false; + script.onload = script.onreadystatechange = function() { + // attach to both events for cross browser finish detection: + if ( !done && (!this.readyState || + this.readyState == "loaded" || this.readyState == "complete") ) { + done = true; + if (typeof f == 'function') f(); + // cleans up a little memory: + script.onload = script.onreadystatechange = null; + head.removeChild(script); + } + }; + head.appendChild(script); +} + +loadScript(getContextPath() + '/js/egovframework/com/cmm/showModalDialog.js'); + +/* ******************************************************** +* 아이디 팝업창열기 +fn_egov_sanctner +* param 타이틀, ID 폼명, 사원번호 폼명, 사원명 폼명, 부서명 폼명, url +* ******************************************************** */ +function fn_egov_sanctner(strTitle, frmUniqId, frmEmplNo, frmEmplyrNm, frmOrgnztNm, url){ + var arrParam = new Array(6); + arrParam[0] = window; + arrParam[1] = strTitle; + arrParam[2] = frmUniqId; + arrParam[3] = frmEmplNo; + arrParam[4] = frmEmplyrNm; + arrParam[5] = frmOrgnztNm; + + window.showModalDialog(url, arrParam,"dialogWidth=800px;dialogHeight=500px;resizable=yes;center=yes", "sanctionCallback"); +} + +function sanctionCallback(retVal) { + // no-op +} + Property changes on: base3.10/src/main/webapp/js/egovframework/com/uss/ion/ism/EgovInfrmlSanction.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/uss/ion/noi/EgovNotification.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/uss/ion/noi/EgovNotification.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/uss/ion/noi/EgovNotification.js (revision 7) @@ -0,0 +1,100 @@ +/**************************************************************** + * + * 파일명 : EgovNotification.js + * 설 명 : 정보알림이 서비스 기능 사용 JavaScript + * + * 수정일 수정자 Version Function 명 + * ------------ --------- ------------- ---------------------------- + * 2009.06.17 한성곤 1.0 최초생성 + * + * + * **************************************************************/ + +// XmlHttpRequest 생성 +function cfGetXmlHttpRequest() { + var reqHttp; + if (window.ActiveXObject) { // IE인 경우 + try { + reqHttp = new ActiveXObject("Msxml2.XMLHTTP"); + } catch(e) { + try { + reqHttp = new ActiveXObject("Microsoft.XMLHTTP"); + } catch (e1) { + reqHttp = null; + } + } + } else if (window.XMLHttpRequest){ // IE 이외의 브라우져 + try { + reqHttp = new XMLHttpRequest(); + } catch(e) { + reqHttp = null; + } + } + + if (reqHttp == null) { + cfFail(); //XMLHttpRequest 생성 실패 + } + + return reqHttp; +} + +// XmlHttpRequest 생성 실패 인 경우 +function cfFail() { + alert("이 브라우저는 실시간으로 전송되는 정보알림 메시지를 받을 수 없습니다."); +} + +// 서버로 xml데이터 요청 및 call back 함수. +function cfXmlHttpStatus(sendType, url, commType, parameters) { + var request = cfGetXmlHttpRequest(); + request.open(sendType, url, commType); // 송신방법,URL,통신방법 + + // Call back 함수 + request.onreadystatechange = function() { // 처리상태 변경 발생시 수행되는 이벤트 call back함수 + + if (request.readyState == 4) { // 서버 처리 완료 + if (request.status == 200 || request.status == 200200) + cfHttpResult(request); // XML데이터를 수신후 그 내용을 파싱하여 출력. + else + cfHttpException(request); // 예외 처리 + } + } + request.send(parameters); // 서버로 요청 +} + +// 예외 처리 (status != 200) +function cfHttpException(xmlHttp) { + var exceptShow = "[전자정부 표준프레임워크]\n상태 코드 " + xmlHttp.status; + exceptShow += ", 네트워크가 연결되지 않았거나 시스템이 종료되었습니다."; + alert(exceptShow); +} + +// 서버로 XML데이터 요청. +function fcRequestData() { + // TODO context root 지정 필요 + cfXmlHttpStatus("GET", noi_url, true, ""); +} + +// 메인 처리 +function cfHttpResult(xmlHttp) { + var xml = xmlHttp.responseXML; //XML 파일 데이터 + //var xml = xmlHttp.responseText; + + var notificationList = xml.getElementsByTagName("list"); // Parent Node + + //var timeNode = xml.getElementsByTagName("time"); + var titleNode = xml.getElementsByTagName("title"); + var contentsNode = xml.getElementsByTagName("contents"); + + var rowCnt = notificationList.length; // 레코드 건수 + + for (var i = 0; i < rowCnt; i++) { + //var time = timeNode[i].childNodes[0].nodeValue; + var title = titleNode[i].childNodes[0].nodeValue; + var contents = contentsNode[i].childNodes[0].nodeValue; + + alert("[정보알림이] " + "<" + title + ">\n" + contents); + } +} + +// 자동 호출 등록하기... +window.setInterval('fcRequestData()', 55000); Property changes on: base3.10/src/main/webapp/js/egovframework/com/uss/ion/noi/EgovNotification.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/uss/ion/rsm/recentSrchwrd.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/uss/ion/rsm/recentSrchwrd.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/uss/ion/rsm/recentSrchwrd.js (revision 7) @@ -0,0 +1,33 @@ +/* ******************************************************** +* 검색시 자동완성 등록 함수 +******************************************************** */ +function fn_egov_regist_RecentSrchwrdResult(SrchwrdManageId, searchKeyword, excFunction, frm){ + + var url = frm.rsm_url.value; +// var url = "/uss/ion/rsm/registRecentSrchwrdResult.do"; + + var param = { + srchwrdManageId: SrchwrdManageId, + srchwrdNm: searchKeyword + }; + + new Ajax.Request(url, + { + asynchronous:true, + method:"post", + parameters: param , + evalJSON: false, + evalJS: false, + onLoading : function() {/*로딩중*/ }, + onSuccess : function(returnValue) + { + if(returnValue.responseText == 'Success'){ + setTimeout(excFunction, 0); + } + }, + onFailure: function() {/*불러오기 실패*/}, + onComplete : function() {/*모든 것을 완료*/} + }); + + +} \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/egovframework/com/uss/ion/rsm/recentSrchwrd.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/sym/mnu/mcm/EgovMenuCreatSiteMap.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/sym/mnu/mcm/EgovMenuCreatSiteMap.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/sym/mnu/mcm/EgovMenuCreatSiteMap.js (revision 7) @@ -0,0 +1,218 @@ +/**************************************************************** + * + * 파일명 : EgovMenuCreatSiteMap.js + * 설 명 : 전자정부 공통서비스 메뉴 JavaScript + * + * 수정일 수정자 Function 명 + * ------------ --------- ---------------------------- + * 2011.09.01 이기하 imgpath 변수는 js를 호출하는 + * jsp에서 입력받도록 수정 + * + * + */ + +/* + * 노드 , 트리 구성 정보 선언 + */ +var treeNodes = new Array(); +var openTreeNodes = new Array(); +var treeIcons = new Array(6); +//var imgpath = "./../../../../../../../images/egovframework/com/cmm/utl/"; +var vHtmlCode = ""; + +/* + * 노드 , 트리 구성 이미지 정보 + */ +function preloadIcons() { + treeIcons[0] = new Image(); + treeIcons[0].src = imgpath+"menu_plus.gif"; + treeIcons[1] = new Image(); + treeIcons[1].src = imgpath+"menu_plusbottom.gif"; + treeIcons[2] = new Image(); + treeIcons[2].src = imgpath+"menu_minus.gif"; + treeIcons[3] = new Image(); + treeIcons[3].src = imgpath+"menu_minusbottom.gif"; + treeIcons[4] = new Image(); + treeIcons[4].src = imgpath+"menu_folder.gif"; + treeIcons[5] = new Image(); + treeIcons[5].src = imgpath+"menu_folderopen.gif"; +} + +/* +* 트리생성함수 +*/ +function createTree(baseObj, arrName ) { + var startNode, openNode; + treeNodes = arrName; + if (treeNodes.length > 0) { + preloadIcons(); + if (startNode == null) startNode = 0; + if (openNode != 0 || openNode != null) setOpenTreeNodes(openNode); + if (startNode !=0) { + var nodeValues = treeNodes[getTreeArrayId(startNode)].split("|"); + } + var recursedNodes = new Array(); + addTreeNode(startNode, recursedNodes); + baseObj.innerHTML = vHtmlCode; + //document.write(vHtmlCode); + } +} +/* +* 노드위치 확인 +*/ +function getTreeArrayId(node) { + for (i=0; i<treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[0]==node) return i; + } + return 0; +} +/* +* 트리 노드 열기 +*/ +function setOpenTreeNodes(openNode) { + for (i=0; i<treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[0]==openNode) { + openTreeNodes.push(nodeValues[0]); + setOpenTreeNodes(nodeValues[1]); + } + } +} + +/* +* 하위 트리노드 존재여부 확인 +*/ +function hasChildTreeNode(parentNode) { + for (i=0; i< treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[1] == parentNode) return true; + } + return false; +} + +/* +* 트리노드 최하위 여부 확인 +*/ +function lastTreeSibling (node, parentNode) { + var lastChild = 0; + for (i=0; i< treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[1] == parentNode) lastChild = nodeValues[0]; + } + if (lastChild==node) return true; + return false; +} + + +/* +* 신규 트리노드 추가 +*/ +function addTreeNode(parentNode, recursedNodes) { + for (var i = 0; i < treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[1] == parentNode) { + + var lastSibling = lastTreeSibling(nodeValues[0], nodeValues[1]); + var hasChildNode = hasChildTreeNode(nodeValues[0]); + for (g=0; g<recursedNodes.length; g++) { + vHtmlCode +="<img src='"+imgpath+"menu_empty.gif' border='0' align='absbottom' alt='' >"; + } + if (lastSibling) recursedNodes.push(0); + else recursedNodes.push(1); + vHtmlCode +="<img src='"+imgpath+"menu_empty.gif' border='0' align='absbottom' alt='' >"; + if (hasChildNode){ + vHtmlCode +="+<img src='"+imgpath+"menu_empty.gif' border='0' align='absbottom' alt='' >"; + vHtmlCode +="<font size=2><b>▶ "+nodeValues[2]+"</b></font><br> \n"; + + }else{ + vHtmlCode +="<img src='"+imgpath+"menu_empty.gif' border='0' align='absbottom' alt='' >"; + vHtmlCode +="<font size=2 class='.location'><a href=javascript:fCallUrl('" + getContextPath + nodeValues[4] + "');>― "+nodeValues[2]+"</a></font><br> \n"; + } + if (hasChildNode) { + vHtmlCode +="<div id='div" + nodeValues[0] + "'> \n"; + addTreeNode(nodeValues[0], recursedNodes); + vHtmlCode +="</div> \n"; + } + if( recursedNodes == '1'){ + vHtmlCode +="<br> \n"; + } + recursedNodes.pop(); + + } + } +} +/* +* 트리노드 액션(열기,닫기) +*/ +function openCloseEx(node, bottom) { + var treeDiv = document.getElementById("div" + node); + var treeJoin = document.getElementById("join" + node); + var treeIcon = document.getElementById("icon" + node); + + if (treeDiv.style.display == 'none') { + if (bottom==1) treeJoin.src = treeIcons[3].src; + else treeJoin.src = treeIcons[2].src; + treeIcon.src = treeIcons[5].src; + treeDiv.style.display = ''; + } else { + if (bottom==1) treeJoin.src = treeIcons[1].src; + else treeJoin.src = treeIcons[0].src; + treeIcon.src = treeIcons[4].src; + treeDiv.style.display = 'none'; + } +} +if(!Array.prototype.push) { + function fnArrayPush() { + for(var i=0;i<arguments.length;i++) + this[this.length]=arguments[i]; + return this.length; + } + Array.prototype.push = fnArrayPush; +} +if(!Array.prototype.pop) { + function fnArrayPop(){ + lastElement = this[this.length-1]; + this.length = Math.max(this.length-1,0); + return lastElement; + } + Array.prototype.pop = fnArrayPop; +} + +/* ******************************************************** + * 모두선택 처리 함수 + ******************************************************** */ +function fCheckAll() { + var checkField = document.menuCreatManageForm.checkField; + if(document.menuCreatManageForm.checkAll.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} + +/* ******************************************************** + * JSP코드 편집 + ******************************************************** */ +function fHtmlCreat_Head(){ + HtmlHead ='<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>\n' + +'<DIV id="main" style="display:"> \n'; + HtmlBottom='</DIV>\n'; + vHtmlCode = HtmlHead+vHtmlCode+HtmlBottom; +} Property changes on: base3.10/src/main/webapp/js/egovframework/com/sym/mnu/mcm/EgovMenuCreatSiteMap.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/sym/mnu/mcm/EgovMenuCreat.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/sym/mnu/mcm/EgovMenuCreat.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/sym/mnu/mcm/EgovMenuCreat.js (revision 7) @@ -0,0 +1,216 @@ +/**************************************************************** + * + * 파일명 : EgovMenuCreat.js + * 설 명 : 전자정부 공통서비스 메뉴 JavaScript + * + * 수정일 수정자 Function 명 + * ------------ --------- ---------------------------- + * 2011.09.01 이기하 imgpath 변수는 js를 호출하는 + * jsp에서 입력받도록 수정 + * + * + */ + +/* + * 노드 , 트리 구성 정보 선언 + */ +var treeNodes = new Array(); +var openTreeNodes = new Array(); +var treeIcons = new Array(6); +//var imgpath = "./../../../../../../images/egovframework/com/cmm/utl/"; + +/* + * 노드 , 트리 구성 이미지 정보 + */ +function preloadIcons() { + treeIcons[0] = new Image(); + treeIcons[0].src = imgpath+"menu_plus.gif"; + treeIcons[1] = new Image(); + treeIcons[1].src = imgpath+"menu_plusbottom.gif"; + treeIcons[2] = new Image(); + treeIcons[2].src = imgpath+"menu_minus.gif"; + treeIcons[3] = new Image(); + treeIcons[3].src = imgpath+"menu_minusbottom.gif"; + treeIcons[4] = new Image(); + treeIcons[4].src = imgpath+"menu_folder.gif"; + treeIcons[5] = new Image(); + treeIcons[5].src = imgpath+"menu_folderopen.gif"; +} +/* +* 트리생성함수 +*/ +function createTree(arrName ) { + var startNode, openNode; + treeNodes = arrName; + if (treeNodes.length > 0) { + preloadIcons(); + if (startNode == null) startNode = 0; + if (openNode != 0 || openNode != null) setOpenTreeNodes(openNode); + if (startNode !=0) { + var nodeValues = treeNodes[getTreeArrayId(startNode)].split("|"); + } else document.write("<input type='checkbox' name='checkAll' class='check2' onclick='javascript:fCheckAll();'>메뉴목록<br>"); + var recursedNodes = new Array(); + addTreeNode(startNode, recursedNodes); + } +} +/* +* 노드위치 확인 +*/ +function getTreeArrayId(node) { + for (i=0; i<treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[0]==node) return i; + } + return 0; +} +/* +* 트리 노드 열기 +*/ +function setOpenTreeNodes(openNode) { + for (i=0; i<treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[0]==openNode) { + openTreeNodes.push(nodeValues[0]); + setOpenTreeNodes(nodeValues[1]); + } + } +} +/* +* 트리노드 오픈 여부 확인 +*/ +function isTreeNodeOpen(node) { + return true; +} +/* +* 하위 트리노드 존재여부 확인 +*/ +function hasChildTreeNode(parentNode) { + for (i=0; i< treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[1] == parentNode) return true; + } + return false; +} +/* +* 트리노드 최하위 여부 확인 +*/ +function lastTreeSibling (node, parentNode) { + var lastChild = 0; + for (i=0; i< treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[1] == parentNode) lastChild = nodeValues[0]; + } + if (lastChild==node) return true; + return false; +} + +/* +* 신규 트리노드 추가 +*/ +function addTreeNode(parentNode, recursedNodes) { + for (var i = 0; i < treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[1] == parentNode) { + + var lastSibling = lastTreeSibling(nodeValues[0], nodeValues[1]); + var hasChildNode = hasChildTreeNode(nodeValues[0]); + var isNodeOpen = isTreeNodeOpen(nodeValues[0]); + for (g=0; g<recursedNodes.length; g++) { + document.write("&nbsp;&nbsp;&nbsp;"); + } + if (lastSibling) recursedNodes.push(0); + else recursedNodes.push(1); + document.write("&nbsp;&nbsp;&nbsp;"); + document.write("<input type='checkbox' id='"+i+"' name='checkField' class='check2' "); + if(nodeValues[4] == 1){ document.write(" checked "); } + document.write("onclick='javascript:fCheckDir(this.name, this.value,"+i+");' value=" + nodeValues[0] + ">"); + if (hasChildNode) { + document.write("<img id='icon" + nodeValues[0] + "' src='"+imgpath+"menu_folder") + if (isNodeOpen) document.write("open"); + document.write(".gif' border='0' alt='Folder' >"); + } else document.write("<img id='icon" + nodeValues[0] + "' src='"+imgpath+"menu_page.gif' border='0' align='absbottom' alt='Page'>"); + document.write("<a href=javascript:parent.temp_aa('" + treeNodes[i] + "');>"); + document.write(nodeValues[2]); + document.write("</a><br>"); + if (hasChildNode) { + document.write("<div id='div" + nodeValues[0] + "'"); + if (!isNodeOpen) document.write(" style='display: none;'"); + document.write(">"); + addTreeNode(nodeValues[0], recursedNodes); + document.write("</div>"); + } + recursedNodes.pop(); + } + } +} +/* +* 트리노드 액션(열기,닫기) +*/ +function openCloseEx(node, bottom) { + var treeDiv = document.getElementById("div" + node); + var treeJoin = document.getElementById("join" + node); + var treeIcon = document.getElementById("icon" + node); + + if (treeDiv.style.display == 'none') { + if (bottom==1) treeJoin.src = treeIcons[3].src; + else treeJoin.src = treeIcons[2].src; + treeIcon.src = treeIcons[5].src; + treeDiv.style.display = ''; + } else { + if (bottom==1) treeJoin.src = treeIcons[1].src; + else treeJoin.src = treeIcons[0].src; + treeIcon.src = treeIcons[4].src; + treeDiv.style.display = 'none'; + } +} +if(!Array.prototype.push) { + function fnArrayPush() { + for(var i=0;i<arguments.length;i++) + this[this.length]=arguments[i]; + return this.length; + } + Array.prototype.push = fnArrayPush; +} +if(!Array.prototype.pop) { + function fnArrayPop(){ + lastElement = this[this.length-1]; + this.length = Math.max(this.length-1,0); + return lastElement; + } + Array.prototype.pop = fnArrayPop; +} + +/* ******************************************************** + * 모두선택 처리 함수 + ******************************************************** */ +function fCheckAll() { + var checkField = document.menuCreatManageForm.checkField; + if(document.menuCreatManageForm.checkAll.checked) { + if(checkField) { + if(checkField.length > 1) { + for(var i=0; i < checkField.length; i++) { + checkField[i].checked = true; + } + } else { + checkField.checked = true; + } + } + } else { + if(checkField) { + if(checkField.length > 1) { + for(var j=0; j < checkField.length; j++) { + checkField[j].checked = false; + } + } else { + checkField.checked = false; + } + } + } +} + +/* ******************************************************** + * 모두선택 처리 함수 + ******************************************************** */ +function fCheckDir(fCheckYB, fValue, fPath){ + var checkField = document.getElementsByName(fCheckYB); +} Property changes on: base3.10/src/main/webapp/js/egovframework/com/sym/mnu/mcm/EgovMenuCreat.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/sym/mnu/mpm/EgovMenuList.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/sym/mnu/mpm/EgovMenuList.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/sym/mnu/mpm/EgovMenuList.js (revision 7) @@ -0,0 +1,204 @@ +/**************************************************************** + * + * 파일명 : EgovMenuList.js + * 설 명 : 전자정부 공통서비스 메뉴 JavaScript + * + * 수정일 수정자 Function 명 + * ------------ --------- ---------------------------- + * 2011.09.01 이기하 imgpath 변수는 js를 호출하는 + * jsp에서 입력받도록 수정 + * + * + */ + +/* + * 노드 , 트리 구성 정보 선언 + */ +var treeNodes = new Array(); +var openTreeNodes = new Array(); +var treeIcons = new Array(6); +//var imgpath = "./../../../../../../../images/egovframework/com/cmm/utl/"; +var treeYeobu = false; + +/* + * 노드 , 트리 구성 이미지 정보 + */ +function preloadIcons() { + treeIcons[0] = new Image(); + treeIcons[0].src = imgpath+"menu_plus.gif"; + treeIcons[1] = new Image(); + treeIcons[1].src = imgpath+"menu_plusbottom.gif"; + treeIcons[2] = new Image(); + treeIcons[2].src = imgpath+"menu_minus.gif"; + treeIcons[3] = new Image(); + treeIcons[3].src = imgpath+"menu_minusbottom.gif"; + treeIcons[4] = new Image(); + treeIcons[4].src = imgpath+"menu_folder.gif"; + treeIcons[5] = new Image(); + treeIcons[5].src = imgpath+"menu_folderopen.gif"; +} +/* +* 트리생성함수 +*/ +function createTree(arrName, vYeobu) { + var startNode, openNode; + treeNodes = arrName; + treeYeobu = vYeobu; + if (treeNodes.length > 0) { + preloadIcons(); + if (startNode == null) startNode = 0; + if (openNode != 0 || openNode != null) setOpenTreeNodes(openNode); + if (startNode !=0) { + var nodeValues = treeNodes[getTreeArrayId(startNode)].split("|"); + document.write("<a href='" + nodeValues[3] + "' onmouseover='window.status='" + nodeValues[3] + "';return true;' onmouseout='window.status=' ';return true;'><img src='"+imgpath+"menu_folderopen.gif' border='0' align='absbottom' alt=''>" + nodeValues[2] + "</a><br>"); + } else document.write("<img src='"+imgpath+"menu_base.gif' border='0' align='absbottom' alt='' >root<br>"); + var recursedNodes = new Array(); + addTreeNode(startNode, recursedNodes); + } +} +/* +* 노드위치 확인 +*/ +function getTreeArrayId(node) { + for (i=0; i<treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[0]==node) return i; + } + return 0; +} +/* +* 트리 노드 열기 +*/ +function setOpenTreeNodes(openNode) { + for (i=0; i<treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[0]==openNode) { + openTreeNodes.push(nodeValues[0]); + setOpenTreeNodes(nodeValues[1]); + } + } +} +/* +* 트리노드 오픈 여부 확인 +*/ +function isTreeNodeOpen(node) { + if (treeYeobu){ return true; } + for (i=0; i<openTreeNodes.length; i++){ + if (openTreeNodes[i]==node){ return true; } + } + return false; +} +/* +* 하위 트리노드 존재여부 확인 +*/ +function hasChildTreeNode(parentNode) { + for (i=0; i< treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[1] == parentNode) return true; + } + return false; +} +/* +* 트리노드 최하위 여부 확인 +*/ +function lastTreeSibling (node, parentNode) { + var lastChild = 0; + for (i=0; i< treeNodes.length; i++) { + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[1] == parentNode) + lastChild = nodeValues[0]; + } + if (lastChild==node) return true; + return false; +} +/* +* 신규 트리노드 추가 +*/ +function addTreeNode(parentNode, recursedNodes) { + for (var i = 0; i < treeNodes.length; i++) { + + var nodeValues = treeNodes[i].split("|"); + if (nodeValues[1] == parentNode) { + + var lastSibling = lastTreeSibling(nodeValues[0], nodeValues[1]); + var hasChildNode = hasChildTreeNode(nodeValues[0]); + var isNodeOpen = isTreeNodeOpen(nodeValues[0]); + for (g=0; g<recursedNodes.length; g++) { + if (recursedNodes[g] == 1) document.write("<img src='"+imgpath+"menu_line.gif' border='0' align='absbottom' alt='' >"); + else document.write("<img src='"+imgpath+"menu_empty.gif' border='0' align='absbottom' alt='' >"); + } + if (lastSibling) recursedNodes.push(0); + else recursedNodes.push(1); + if (hasChildNode) { + if (lastSibling) { + document.write("<a href='javascript: openCloseEx(" + nodeValues[0] + ", 1);'><img id='join" + nodeValues[0] + "' src='"+imgpath); + if (isNodeOpen) document.write("menu_minus"); + else document.write("menu_plus"); + document.write("bottom.gif' border='0' align='absbottom' alt='Open/Close node' ></a>"); + } else { + document.write("<a href='javascript: openCloseEx(" + nodeValues[0] + ", 0);'><img id='join" + nodeValues[0] + "' src='"+imgpath); + if (isNodeOpen) document.write("menu_minus"); + else document.write("menu_plus"); + document.write(".gif' border='0' align='absbottom' alt='Open/Close node' /></a>"); + } + } else { + if (lastSibling) document.write("<img src='"+imgpath+"menu_joinbottom.gif' border='0' align='absbottom' alt='' >"); + else document.write("<img src='"+imgpath+"menu_join.gif' border='0' align='absbottom' alt='' >"); + } + document.write("<a href=javascript:choiceNodes('" + i + "');>"); + if (hasChildNode) { + document.write("<img id='icon" + nodeValues[0] + "' src='"+imgpath+"menu_folder") + if (isNodeOpen) document.write("open"); + document.write(".gif' border='0' alt='Folder' >"); + } else document.write("<img id='icon" + nodeValues[0] + "' src='"+imgpath+"menu_page.gif' border='0' align='absbottom' alt='Page'>"); + + document.write(nodeValues[2]); + document.write("</a><br>"); + if (hasChildNode) { + document.write("<div id='div" + nodeValues[0] + "'"); + if (!isNodeOpen) document.write(" style='display: none;'"); + document.write(">"); + addTreeNode(nodeValues[0], recursedNodes); + document.write("</div>"); + } + recursedNodes.pop(); + } + } +} +/* +* 트리노드 액션(열기,닫기) +*/ +function openCloseEx(node, bottom) { + var treeDiv = document.getElementById("div" + node); + var treeJoin = document.getElementById("join" + node); + var treeIcon = document.getElementById("icon" + node); + + if (treeDiv.style.display == 'none') { + if (bottom==1) treeJoin.src = treeIcons[3].src; + else treeJoin.src = treeIcons[2].src; + treeIcon.src = treeIcons[5].src; + treeDiv.style.display = ''; + } else { + if (bottom==1) treeJoin.src = treeIcons[1].src; + else treeJoin.src = treeIcons[0].src; + treeIcon.src = treeIcons[4].src; + treeDiv.style.display = 'none'; + } +} +if(!Array.prototype.push) { + function fnArrayPush() { + for(var i=0;i<arguments.length;i++) + this[this.length]=arguments[i]; + return this.length; + } + Array.prototype.push = fnArrayPush; +} +if(!Array.prototype.pop) { + function fnArrayPop(){ + lastElement = this[this.length-1]; + this.length = Math.max(this.length-1,0); + return lastElement; + } + Array.prototype.pop = fnArrayPop; +} + Property changes on: base3.10/src/main/webapp/js/egovframework/com/sym/mnu/mpm/EgovMenuList.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/sym/ccm/zip/EgovZipPopup.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/sym/ccm/zip/EgovZipPopup.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/sym/ccm/zip/EgovZipPopup.js (revision 7) @@ -0,0 +1,109 @@ +/**************************************************************** + * + * 파일명 : EgovZipPopup.js + * 설 명 : 전자정부 공통서비스 달력 팝업 JavaScript + * + * 수정일 수정자 Version Function 명 + * ------------ --------- ------------- ---------------------------- + * 2009.03.30 이중호 1.0 최초생성 + * 2011.08.30 이기하 1.1 contextpath 적용 + * + * + */ + +function dirname(path) { + if (path.lastIndexOf("/") == -1) + return "./"; + return path.replace(/\\/g, '/').replace(/\/[^\/]*\/?$/, '') + "/"; +} + +function getActiveScript() { + var d = document.getElementsByTagName("script"); + var path = dirname(d[d.length - 1].src); + delete d; + + var offset=path.indexOf(location.host)+location.host.length; + return path.substring(offset); +} + + +function getContextPath(){ + var offset=location.href.indexOf(location.host)+location.host.length; + var ctxPath=location.href.substring(offset, location.href.indexOf('/',offset+1)); + + if ((/^\/js/).test(getActiveScript())) { + return ""; + } + + return ctxPath; +} + +function loadScript(src, f) { + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement("script"); + script.src = src; + var done = false; + script.onload = script.onreadystatechange = function() { + // attach to both events for cross browser finish detection: + if ( !done && (!this.readyState || + this.readyState == "loaded" || this.readyState == "complete") ) { + done = true; + if (typeof f == 'function') f(); + // cleans up a little memory: + script.onload = script.onreadystatechange = null; + head.removeChild(script); + } + }; + head.appendChild(script); +} + +loadScript(getContextPath() + '/js/egovframework/com/cmm/showModalDialog.js'); + +/********************************************** + * 함수명 : fn_egov_ZipSearch + * 설 명 : 우편번호찾기 팝업 호출 - form별로 이름이 다른 경우 사용 + * 인 자 : 사용할 Form 객체, 우편번호(123456), 우편번호(123-456), 주소 + * 사용법 : fn_egov_ZipSearch(frm, sZip, vZip, sAddr) + * + * 수정일 수정자 수정내용 + * ------ ------ ------------------- + * 2009.03.30 이중호 신규작업 + * 2011.08.30 이기하 contextpath 적용 + * + */ + +function fn_egov_ZipSearch(frm, sZip, vZip, sAddr) { + var retVal; + + var url = frm.zip_url.value; +// var url ="/sym/ccm/zip/EgovCcmZipSearchPopup.do"; + + var varParam = new Object(); + varParam.sZip = sZip.value; + + // IE + //var openParam = "dialogWidth:500px;dialogHeight:325px;scroll:no;status:no;center:yes;resizable:yes;"; + // FIREFOX + var openParam = "dialogWidth:700px;dialogHeight:365px;scroll:no;status:no;center:yes;resizable:yes;"; + + retVal = window.showModalDialog(url, varParam, openParam, "zipCallback"); + + otherParameters[0] = sZip; + otherParameters[1] = vZip; + otherParameters[2] = sAddr; + + if(retVal) { + sZip.value = retVal.sZip; + vZip.value = retVal.vZip; + sAddr.value = retVal.sAddr; + } +} + + +function zipCallback(retVal) { + if (retVal) { + otherParameters[0].value = retVal.sZip; + otherParameters[1].value = retVal.vZip; + otherParameters[2].value = retVal.sAddr; + } +} Property changes on: base3.10/src/main/webapp/js/egovframework/com/sym/ccm/zip/EgovZipPopup.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/sym/cal/EgovCalPopup.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/sym/cal/EgovCalPopup.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/sym/cal/EgovCalPopup.js (revision 7) @@ -0,0 +1,200 @@ +/**************************************************************** + * + * 파일명 : EgovCalPopup.js + * 설 명 : 전자정부 공통서비스 달력 팝업 JavaScript + * + * 수정일 수정자 Version Function 명 + * ------------ --------- ------------- ---------------------------- + * 2009.03.30 이중호 1.0 최초생성 + * 2011.08.30 이기하 1.1 contextpath 적용 + * + * + */ + +function dirname(path) { + if (path.lastIndexOf("/") == -1) + return "./"; + return path.replace(/\\/g, '/').replace(/\/[^\/]*\/?$/, '') + "/"; +} + +function getActiveScript() { + var d = document.getElementsByTagName("script"); + var path = dirname(d[d.length - 1].src); + delete d; + + var offset=path.indexOf(location.host)+location.host.length; + return path.substring(offset); +} + + +function getContextPath(){ + var offset=location.href.indexOf(location.host)+location.host.length; + var ctxPath=location.href.substring(offset, location.href.indexOf('/',offset+1)); + + if ((/^\/js/).test(getActiveScript())) { + return ""; + } + + return ctxPath; +} + +function loadScript(src, f) { + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement("script"); + script.src = src; + var done = false; + script.onload = script.onreadystatechange = function() { + // attach to both events for cross browser finish detection: + if ( !done && (!this.readyState || + this.readyState == "loaded" || this.readyState == "complete") ) { + done = true; + if (typeof f == 'function') f(); + // cleans up a little memory: + script.onload = script.onreadystatechange = null; + head.removeChild(script); + } + }; + head.appendChild(script); +} + +loadScript(getContextPath() + '/js/egovframework/com/cmm/showModalDialog.js'); + +/********************************************** + * 함수명 : fn_egov_AdministCalendar + * 설 명 : 행정달력 팝업 호출 + * 인 자 : 사용할 Form 객체, 연월일(yyyy-MM-dd) + * 사용법 : fn_egov_AdministCalendar(frm, sDate) + * + * 수정일 수정자 수정내용 + * ------ ------ ------------------- + * 2009.03.30 이중호 신규작업 + * + */ + +function fn_egov_AdministCalendar(frm, sDate, vDate) { + var retVal; + + var url = frm.cal_url.value; +// var url = "/sym/cal/EgovAdministCalPopup.do"; + + var varParam = new Object(); + varParam.sDate = sDate.value; + + // IE + //var openParam = "dialogWidth:252px;dialogHeight:175px;scroll:no;status:no;center:yes;resizable:yes;"; + // FIREFOX + var openParam = "dialogWidth:320px;dialogHeight:220px;scroll:no;status:no;center:yes;resizable:yes;"; + + retVal = window.showModalDialog(url, varParam, openParam, "calendarCallback"); + + otherParameters[0] = fn_egov_AdministCalendar.arguments.length; + otherParameters[1] = sDate; + otherParameters[2] = vDate; + + if (retVal) { + sDate.value = retVal.sDate; + vDate.value = retVal.vDate; + } +} + +/********************************************** + * 함수명 : fn_egov_NormalCalendar + * 설 명 : 일반달력 팝업 호출 + * 인 자 : 사용할 Form 객체, 연월일(yyyy-MM-dd) + * 사용법 : fn_egov_NormalCalendar(frm, sDate) + * + * 수정일 수정자 수정내용 + * ------ ------ ------------------- + * 2009.03.30 이중호 신규작업 + * + */ +function fn_egov_NormalCalendar(frm, sDate, vDate) { + var retVal; + + var url = frm.cal_url.value; +// var url = "/sym/cal/EgovNormalCalPopup.do"; + + var varParam = new Object(); + varParam.sDate = sDate.value; + + // IE + //var openParam = "dialogWidth:252px;dialogHeight:175px;scroll:no;status:no;center:yes;resizable:yes;"; + // FIREFOX + var openParam = ""; + var sAppName = navigator.appName ; + + if( sAppName.indexOf("Netscape") > -1){ + openParam = "dialogWidth:275px;dialogHeight:192px;scroll:no;status:no;center:yes;resizable:yes;"; + }else if(sAppName.indexOf("Microsoft") > -1){ + openParam = "dialogWidth:275px;dialogHeight:192px;scroll:no;status:no;center:yes;resizable:yes;"; + }else{ + openParam = "dialogWidth:275px;dialogHeight:192px;scroll:no;status:no;center:yes;resizable:yes;"; + } + + retVal = window.showModalDialog(url, varParam, openParam, "calendarCallback"); + + otherParameters[0] = fn_egov_NormalCalendar.arguments.length; + otherParameters[1] = sDate; + otherParameters[2] = vDate; + + if (retVal) { + if(fn_egov_NormalCalendar.arguments.length == 2){ + sDate.value = retVal.vDate; + }else{ + sDate.value = retVal.sDate; + vDate.value = retVal.vDate; + } + } +} + +function calendarCallback(retVal) { + if (retVal) { + if (otherParameters[0] == 2) { + otherParameters[1].value = retVal.vDate; + } else { + otherParameters[1].value = retVal.sDate; + otherParameters[2].value = retVal.vDate; + } + } +} + +/********************************************** + * 함수명 : fn_egov_Calendar + * 설 명 : 달력 팝업 호출 + * 인 자 : 사용할 Form 객체, 연월일(yyyy-MM-dd) + * 사용법 : fn_egov_Calendar(frm, sDate) + * + * 수정일 수정자 수정내용 + * ------ ------ ------------------- + * 2009.10.13 이중호 신규작업 + * + */ +function fn_egov_Calendar(frm, sDate, vDate) { + var retVal; + + var url = frm.cal_url.value; +// var url = "/sym/cal/callCalPopup.do"; + + var varParam = new Object(); + varParam.sDate = sDate.value; + + // IE + //var openParam = "dialogWidth:252px;dialogHeight:175px;scroll:no;status:no;center:yes;resizable:yes;"; + // FIREFOX + var openParam = "dialogWidth:320px;dialogHeight:220px;scroll:no;status:no;center:yes;resizable:yes;"; + + retVal = window.showModalDialog(url, varParam, openParam, "calendarCallback"); + + otherParameters[0] = fn_egov_Calendar.arguments.length; + otherParameters[1] = sDate; + otherParameters[2] = vDate; + + if(retVal) { + if(fn_egov_Calendar.arguments.length == 2){ + sDate.value = retVal.vDate; + }else{ + sDate.value = retVal.sDate; + vDate.value = retVal.vDate; + } + } +} \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/egovframework/com/sym/cal/EgovCalPopup.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/egovframework/com/main.js =================================================================== --- base3.10/src/main/webapp/js/egovframework/com/main.js (nonexistent) +++ base3.10/src/main/webapp/js/egovframework/com/main.js (revision 7) @@ -0,0 +1,61 @@ +/**************************************************************** + * + * 파일명 : main.js + * 설 명 : 전자정부 공통서비스 메뉴 JavaScript + * + * 수정일 수정자 Function 명 + * ------------ --------- ---------------------------- + * 2011.09.01 이기하 getContextPath 변수는 js를 호출하는 + * jsp에서 입력받도록 수정 + * + * + */ + +var selTAB = "TAB_01"; // 선택된 탭 +/********************************************************************* + * 탭 클릭 시 + *********************************************************************/ +function fn_changeTAB(obj){ + selTAB = obj.id; + fn_setImgOn(obj.id); + +} + +/********************************************************************* + * MOUSE OVER 시 + *********************************************************************/ +function fn_swapImage(obj){ + obj.src = getContextPath + "/images/egovframework/com/" + obj.id + "_o.gif"; +} + +/********************************************************************* + * MOUSE OUT 시 + *********************************************************************/ +function fn_swapImgRestore(obj){ + if(selTAB != obj.id){ + obj.src = getContextPath + "/images/egovframework/com/" + obj.id + ".gif"; + } +} + +/********************************************************************* + * 클릭된 이미지만 ON 나머지 OFF + *********************************************************************/ +function fn_setImgOn(id){ + if(id == "TAB_01"){ + document.all.TAB_01.src = getContextPath+"/images/egovframework/com/TAB_01_o.gif"; + document.all.TAB_02.src = getContextPath+"/images/egovframework/com/TAB_02.gif"; + document.all.TAB_03.src = getContextPath+"/images/egovframework/com/TAB_03.gif"; + }else if(id == "TAB_02"){ + document.all.TAB_01.src = getContextPath+"/images/egovframework/com/TAB_01.gif"; + document.all.TAB_02.src = getContextPath+"/images/egovframework/com/TAB_02_o.gif"; + document.all.TAB_03.src = getContextPath+"/images/egovframework/com/TAB_03.gif"; + }else if(id == "TAB_03"){ + document.all.TAB_01.src = getContextPath+"/images/egovframework/com/TAB_01.gif"; + document.all.TAB_02.src = getContextPath+"/images/egovframework/com/TAB_02.gif"; + document.all.TAB_03.src = getContextPath+"/images/egovframework/com/TAB_03_o.gif"; + } +} + +function goPageLNK(form){ + window.open(form.select01.value,'요소기술','toolbar=no, location=no, directories=no, status=yes, menubar=no, resizable=yes, scrollbars=yes, width=800, height=600, left=20, top=20'); +} \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/egovframework/com/main.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/js/admin/designJS.js =================================================================== --- base3.10/src/main/webapp/js/admin/designJS.js (nonexistent) +++ base3.10/src/main/webapp/js/admin/designJS.js (revision 7) @@ -0,0 +1,299 @@ +(function() { + + //submenu toggle + var board = { + 'overY' : function(){ + + $(".overY").each(function(){ + var overHeight = $(this).height(); + if (overHeight >= 44){ + $(this).addClass("long"); + } + }); + //댓글더보기 클릭시 내용 펼쳐짐 + $(".btn_more").click(function(){ + $(this).parent(".overY").removeClass("long"); + }); + + }, + 'notice' : function(){ + if ($(".table_list tbody tr").hasClass('notice')){ + $(this).addClass("noticeY"); + } + } + } + + var gnb = { + 'submenu' : function(){ + $(".subMenu").each(function(){ + var subMenuLi = $(this).children("li").length; + if (subMenuLi <= 1){ + $(this).addClass("only"); + } + }); + } + } + + //submenu toggle + var acodian = { + click : function() { + $(".sub_menu li p").on('click', function() { + if ($(this).next(".depth3").css('display') == 'none') { + $('.sub_menu li .depth3').slideUp(); + $('.sub_menu li').removeClass('on'); + $(this).parent("li").toggleClass("on"); + $(this).next(".depth3").slideToggle(); + } else { + $('.depth3').slideUp(); + $(this).parent("li").removeClass('on'); + } + }); + } + }; + + $("#fouc").css("opacity", "1"); + + // switch 체크 시 라인 active + function checkSwitch() { + $(document).on('click',".line",function(){ + if(!$(".line").hasClass("modifying")){ + $(".line").removeClass("active"); + $(this).closest("li").toggleClass("active"); + } + }) + } + + //tab 설정 + function tabs() { + // Default Action + $("ul.tabs").each(function() { + $(this).children("li:first").addClass("active"); // Activate first tab + $(this).parent(".tab_wrap").find(".tab_content").hide(); // Hide all tab content + var activeTab = $(this).find("a").attr("href"); + $(activeTab).show(); + }); + // On Click Event + $("ul.tabs li").click(function() { + $(this).parent("ul.tabs").children("li").removeClass("active");// Remove any "active" class + $(this).addClass("active"); // Add "active" class to selected tab + $(this).parent(".tabs").parent(".tab_wrap").find(".tab_content").hide(); // Hide all tab content + var clickTab = $(this).find("a").attr("href"); // Find the rel + $(clickTab).fadeIn(); // Fade in the active content + return false; + }); + } + + //팝업 + var popup = { + 'open' : function(){ + $(".openpopup").each(function(){ + var popupname = $(this).attr("name"); + $(this).click(function(){ + $("." + popupname).show().addClass("open"); + }); + }); + }, + 'close' : function(){ + $(".close, .btn_close, .member_close").on('click', function(){ + $(".modal, .member_wrap").removeClass("open"); + }); + } + } + + // 이미지 사이즈 함수 + function boardContentImg() { + var img_length = $(".board_content img").length; + var _div_width = $(".board_content").width(); + var _div_height = $(".board_content").height(); + + for(var i=0;i<img_length;i++){ + var _width = $(".board_content img").eq(i).width(); + var _height = $(".board_content img").eq(i).height(); + if(_width < _div_width){ + $(".board_content img").eq(i).width(_width); + } else{ + $(".board_content img").eq(i).width("100%"); + } + if(_height < _div_height){ + $(".board_content img").eq(i).height("auto"); + } else{ + $(".board_content img").eq(i).height("auto"); + } + } + + $(window).resize(function(){ + var img_length = $(".board_content img").length; + var _div_width = $(".board_content").width(); + var _div_height = $(".board_content").height(); + + for(var i=0;i<img_length;i++){ + var _width = $(".board_content img").eq(i).width(); + var _height = $(".board_content img").eq(i).height(); + if(_width < _div_width){ + $(".board_content img").eq(i).width(_width); + } else{ + $(".board_content img").eq(i).width("100%"); + } + if(_height < _div_height){ + $(".board_content img").eq(i).height("auto"); + } else{ + $(".board_content img").eq(i).height("auto"); + } + } + }); + } + + // 배경 이미지 넣기 + var itemImg = { + 'bgImg' : function() { + $(".bg_box, .item_img").each(function(){ + var item_img_box = $(this).children("img").attr("src"); + $(this).css({backgroundImage: "url(" + item_img_box + ")"}); + }); + }, + //버튼 배경 이미지 넣기 + 'btnImg' : function() { + $(".btn_img").each(function(){ + var btn_img = $(this).children("img").attr("src"); + $(this).css({backgroundImage: "url(" + btn_img + ")"}); + }); + } + } + + var clickEvent = { + + 'toggle' : function(){ + //toggle list + $('.toggle_tit').on('click', function(){ + if ($(this).next('.toggle_box').css('display') == 'none') { + $('.toggle_box').slideUp(); + $('.toggle_tit').removeClass('active'); + $(this).addClass('active'); + $(this).next(".toggle_box").slideDown(); + } else { + $('.toggle_box').slideUp(); + $(this).removeClass('active'); + } + }); + }, + 'searchOpen' : function(){ + //호환차종검색 + $('.btn_detailsearch').on('click', function(){ + $(this).parent(".detail_search").addClass("active"); + }); + }, + 'searchClose' : function(){ + //호환차종검색 + $('.detail_search .floating_close').on('click', function(){ + $(".detail_search").removeClass("active"); + }); + }, + 'estToggle' : function(){ + //견적서 검색 + $('.est_sel_title').on('click', function(){ + $(this).parent(".est_selected li").toggleClass("active") + $(this).next(".est_sel_content_wrap").stop().slideToggle(); + }); + }, + 'inputCategory' : function(){ + //검색, 선택 버튼 설정 + $(".btn_input").on("click", function(){ + $(this).addClass("active"); + $(".btn_select").removeClass("active"); + $(".input_show").show(); + $(".select_show").hide(); + }); + $(".btn_select").on("click", function(){ + $(this).addClass("active"); + $(".btn_input").removeClass("active"); + $(".select_show").show(); + $(".input_show").hide(); + }); + }, + 'btn_toggle' : function(){ + //toggle btn list + $('.toggle_btn_tit').on('click', function(){ + if ($(this).next('.toggle_box').css('display') == 'none') { + $('.toggle_box').slideUp(); + $('.toggle_btn_tit').removeClass('active'); + $(this).addClass('active'); + $(this).next(".toggle_box").slideDown(); + } else { + $('.toggle_box').slideUp(); + $(this).removeClass('active'); + } + }); + }, + 'arrowBtn' : function(){ + $('.btn_arrow_down').on('click', function(){ + $(this).toggleClass("active") + $(this).parent(".toggle_wrap").find(".toggle_content").slideToggle(); + }); + } + } + + + function widthControl() { + $(".control").click(function(){ + $(this).toggleClass("active"); + $(".content_wrap").toggleClass("wide"); + }); + } + widthControl(); + + function inputFocus() { + //input focus event + //포커스시 + $(document).on('focus', '.inputText, .textArea', function() { + $(this).parent('.text_show').addClass("focus"); + }); + //포커스아웃시 + $(document).on('focusout', '.inputText, .textArea', function() { + if($(this).val() == '') { + $(this).parent('.text_show').removeClass("focus"); + } + }); + var inputText = $('.inputText, .textArea'); + inputText.each(function() { + if ($(this).val().trim() != '') { + $(this).parent('.text_show').addClass('focus'); + } + }); + } + + //만족도 + function star() { + if ($(".reply_list_title .score").lnegth > 0) { + var starFill = $(".reply_list_title .score").text() * 20; + $(".star_fill").width(starFill + '%'); + } + } + + $(document).ready(function() { + + board.overY() //글이 긴 경우 더보기 + board.notice() //공지사항 글이 있을 경우 + gnb.submenu() + acodian.click(); + + //search + clickEvent.toggle(); + clickEvent.searchOpen(); + clickEvent.searchClose(); + clickEvent.estToggle(); + clickEvent.inputCategory() //input category toggle + clickEvent.btn_toggle(); + clickEvent.arrowBtn(); //견적서 toggle + clickEvent.estToggle(); //견적서 선택된 차종 리스트 toggle + checkSwitch(); + itemImg.bgImg() + itemImg.btnImg() + boardContentImg() //img 넓이가 부모요소의 넓이 이상 이면 100% 로 맞추기 + tabs() + star() + popup.open() + popup.close() + inputFocus(); + }); +}) +(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/js/admin/designJS.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/jstree.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/jstree.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/jstree.js (revision 7) @@ -0,0 +1,6860 @@ +/*globals jQuery, define, exports, require, window, document */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define(['jquery'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery')); + } + else { + factory(jQuery); + } +}(function ($, undefined) { + "use strict"; +/*! + * jsTree 3.0.4 + * http://jstree.com/ + * + * Copyright (c) 2014 Ivan Bozhanov (http://vakata.com) + * + * Licensed same as jquery - under the terms of the MIT License + * http://www.opensource.org/licenses/mit-license.php + */ +/*! + * if using jslint please allow for the jQuery global and use following options: + * jslint: browser: true, ass: true, bitwise: true, continue: true, nomen: true, plusplus: true, regexp: true, unparam: true, todo: true, white: true + */ + + // prevent another load? maybe there is a better way? + if($.jstree) { + return; + } + + /** + * ### jsTree core functionality + */ + + // internal variables + var instance_counter = 0, + ccp_node = false, + ccp_mode = false, + ccp_inst = false, + themes_loaded = [], + src = $('script:last').attr('src'), + _d = document, _node = _d.createElement('LI'), _temp1, _temp2; + + _node.setAttribute('role', 'treeitem'); + _temp1 = _d.createElement('I'); + _temp1.className = 'jstree-icon jstree-ocl'; + _node.appendChild(_temp1); + _temp1 = _d.createElement('A'); + _temp1.className = 'jstree-anchor'; + _temp1.setAttribute('href','#'); + _temp2 = _d.createElement('I'); + _temp2.className = 'jstree-icon jstree-themeicon'; + _temp1.appendChild(_temp2); + _node.appendChild(_temp1); + _temp1 = _temp2 = null; + + + /** + * holds all jstree related functions and variables, including the actual class and methods to create, access and manipulate instances. + * @name $.jstree + */ + $.jstree = { + /** + * specifies the jstree version in use + * @name $.jstree.version + */ + version : '3.0.4', + /** + * holds all the default options used when creating new instances + * @name $.jstree.defaults + */ + defaults : { + /** + * configure which plugins will be active on an instance. Should be an array of strings, where each element is a plugin name. The default is `[]` + * @name $.jstree.defaults.plugins + */ + plugins : [] + }, + /** + * stores all loaded jstree plugins (used internally) + * @name $.jstree.plugins + */ + plugins : {}, + path : src && src.indexOf('/') !== -1 ? src.replace(/\/[^\/]+$/,'') : '', + idregex : /[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%]/g + }; + /** + * creates a jstree instance + * @name $.jstree.create(el [, options]) + * @param {DOMElement|jQuery|String} el the element to create the instance on, can be jQuery extended or a selector + * @param {Object} options options for this instance (extends `$.jstree.defaults`) + * @return {jsTree} the new instance + */ + $.jstree.create = function (el, options) { + var tmp = new $.jstree.core(++instance_counter), + opt = options; + options = $.extend(true, {}, $.jstree.defaults, options); + if(opt && opt.plugins) { + options.plugins = opt.plugins; + } + $.each(options.plugins, function (i, k) { + if(i !== 'core') { + tmp = tmp.plugin(k, options[k]); + } + }); + tmp.init(el, options); + return tmp; + }; + /** + * remove all traces of jstree from the DOM and destroy all instances + * @name $.jstree.destroy() + */ + $.jstree.destroy = function () { + $('.jstree:jstree').jstree('destroy'); + $(document).off('.jstree'); + }; + /** + * the jstree class constructor, used only internally + * @private + * @name $.jstree.core(id) + * @param {Number} id this instance's index + */ + $.jstree.core = function (id) { + this._id = id; + this._cnt = 0; + this._wrk = null; + this._data = { + core : { + themes : { + name : false, + dots : false, + icons : false + }, + selected : [], + last_error : {}, + working : false, + worker_queue : [], + focused : null + } + }; + }; + /** + * get a reference to an existing instance + * + * __Examples__ + * + * // provided a container with an ID of "tree", and a nested node with an ID of "branch" + * // all of there will return the same instance + * $.jstree.reference('tree'); + * $.jstree.reference('#tree'); + * $.jstree.reference($('#tree')); + * $.jstree.reference(document.getElementByID('tree')); + * $.jstree.reference('branch'); + * $.jstree.reference('#branch'); + * $.jstree.reference($('#branch')); + * $.jstree.reference(document.getElementByID('branch')); + * + * @name $.jstree.reference(needle) + * @param {DOMElement|jQuery|String} needle + * @return {jsTree|null} the instance or `null` if not found + */ + $.jstree.reference = function (needle) { + var tmp = null, + obj = null; + if(needle && needle.id) { needle = needle.id; } + + if(!obj || !obj.length) { + try { obj = $(needle); } catch (ignore) { console.log(ignore.message); } + } + if(!obj || !obj.length) { + try { obj = $('#' + needle.replace($.jstree.idregex,'\\$&')); } catch (ignore) { console.log(ignore.message); } + } + if(obj && obj.length && (obj = obj.closest('.jstree')).length && (obj = obj.data('jstree'))) { + tmp = obj; + } + else { + $('.jstree').each(function () { + var inst = $(this).data('jstree'); + if(inst && inst._model.data[needle]) { + tmp = inst; + return false; + } + }); + } + return tmp; + }; + /** + * Create an instance, get an instance or invoke a command on a instance. + * + * If there is no instance associated with the current node a new one is created and `arg` is used to extend `$.jstree.defaults` for this new instance. There would be no return value (chaining is not broken). + * + * If there is an existing instance and `arg` is a string the command specified by `arg` is executed on the instance, with any additional arguments passed to the function. If the function returns a value it will be returned (chaining could break depending on function). + * + * If there is an existing instance and `arg` is not a string the instance itself is returned (similar to `$.jstree.reference`). + * + * In any other case - nothing is returned and chaining is not broken. + * + * __Examples__ + * + * $('#tree1').jstree(); // creates an instance + * $('#tree2').jstree({ plugins : [] }); // create an instance with some options + * $('#tree1').jstree('open_node', '#branch_1'); // call a method on an existing instance, passing additional arguments + * $('#tree2').jstree(); // get an existing instance (or create an instance) + * $('#tree2').jstree(true); // get an existing instance (will not create new instance) + * $('#branch_1').jstree().select_node('#branch_1'); // get an instance (using a nested element and call a method) + * + * @name $().jstree([arg]) + * @param {String|Object} arg + * @return {Mixed} + */ + $.fn.jstree = function (arg) { + // check for string argument + var is_method = (typeof arg === 'string'), + args = Array.prototype.slice.call(arguments, 1), + result = null; + this.each(function () { + // get the instance (if there is one) and method (if it exists) + var instance = $.jstree.reference(this), + method = is_method && instance ? instance[arg] : null; + // if calling a method, and method is available - execute on the instance + result = is_method && method ? + method.apply(instance, args) : + null; + // if there is no instance and no method is being called - create one + if(!instance && !is_method && (arg === undefined || $.isPlainObject(arg))) { + $(this).data('jstree', new $.jstree.create(this, arg)); + } + // if there is an instance and no method is called - return the instance + if( (instance && !is_method) || arg === true ) { + result = instance || false; + } + + // if there was a method call which returned a result - break and return the value + if(result !== null && result !== undefined) { + return false; + } + }); + // if there was a method call with a valid return value - return that, otherwise continue the chain + return result !== null && result !== undefined ? + result : this; + }; + /** + * used to find elements containing an instance + * + * __Examples__ + * + * $('div:jstree').each(function () { + * $(this).jstree('destroy'); + * }); + * + * @name $(':jstree') + * @return {jQuery} + */ + $.expr[':'].jstree = $.expr.createPseudo(function(search) { + return function(a) { + return $(a).hasClass('jstree') && + $(a).data('jstree') !== undefined; + }; + }); + + /** + * stores all defaults for the core + * @name $.jstree.defaults.core + */ + $.jstree.defaults.core = { + /** + * data configuration + * + * If left as `false` the HTML inside the jstree container element is used to populate the tree (that should be an unordered list with list items). + * + * You can also pass in a HTML string or a JSON array here. + * + * It is possible to pass in a standard jQuery-like AJAX config and jstree will automatically determine if the response is JSON or HTML and use that to populate the tree. + * In addition to the standard jQuery ajax options here you can suppy functions for `data` and `url`, the functions will be run in the current instance's scope and a param will be passed indicating which node is being loaded, the return value of those functions will be used. + * + * The last option is to specify a function, that function will receive the node being loaded as argument and a second param which is a function which should be called with the result. + * + * __Examples__ + * + * // AJAX + * $('#tree').jstree({ + * 'core' : { + * 'data' : { + * 'url' : '/get/children/', + * 'data' : function (node) { + * return { 'id' : node.id }; + * } + * } + * }); + * + * // direct data + * $('#tree').jstree({ + * 'core' : { + * 'data' : [ + * 'Simple root node', + * { + * 'id' : 'node_2', + * 'text' : 'Root node with options', + * 'state' : { 'opened' : true, 'selected' : true }, + * 'children' : [ { 'text' : 'Child 1' }, 'Child 2'] + * } + * ] + * }); + * + * // function + * $('#tree').jstree({ + * 'core' : { + * 'data' : function (obj, callback) { + * callback.call(this, ['Root 1', 'Root 2']); + * } + * }); + * + * @name $.jstree.defaults.core.data + */ + data : false, + /** + * configure the various strings used throughout the tree + * + * You can use an object where the key is the string you need to replace and the value is your replacement. + * Another option is to specify a function which will be called with an argument of the needed string and should return the replacement. + * If left as `false` no replacement is made. + * + * __Examples__ + * + * $('#tree').jstree({ + * 'core' : { + * 'strings' : { + * 'Loading ...' : 'Please wait ...' + * } + * } + * }); + * + * @name $.jstree.defaults.core.strings + */ + strings : false, + /** + * determines what happens when a user tries to modify the structure of the tree + * If left as `false` all operations like create, rename, delete, move or copy are prevented. + * You can set this to `true` to allow all interactions or use a function to have better control. + * + * __Examples__ + * + * $('#tree').jstree({ + * 'core' : { + * 'check_callback' : function (operation, node, node_parent, node_position, more) { + * // operation can be 'create_node', 'rename_node', 'delete_node', 'move_node' or 'copy_node' + * // in case of 'rename_node' node_position is filled with the new node name + * return operation === 'rename_node' ? true : false; + * } + * } + * }); + * + * @name $.jstree.defaults.core.check_callback + */ + check_callback : false, + /** + * a callback called with a single object parameter in the instance's scope when something goes wrong (operation prevented, ajax failed, etc) + * @name $.jstree.defaults.core.error + */ + error : $.noop, + /** + * the open / close animation duration in milliseconds - set this to `false` to disable the animation (default is `200`) + * @name $.jstree.defaults.core.animation + */ + animation : 200, + /** + * a boolean indicating if multiple nodes can be selected + * @name $.jstree.defaults.core.multiple + */ + multiple : true, + /** + * theme configuration object + * @name $.jstree.defaults.core.themes + */ + themes : { + /** + * the name of the theme to use (if left as `false` the default theme is used) + * @name $.jstree.defaults.core.themes.name + */ + name : false, + /** + * the URL of the theme's CSS file, leave this as `false` if you have manually included the theme CSS (recommended). You can set this to `true` too which will try to autoload the theme. + * @name $.jstree.defaults.core.themes.url + */ + url : false, + /** + * the location of all jstree themes - only used if `url` is set to `true` + * @name $.jstree.defaults.core.themes.dir + */ + dir : false, + /** + * a boolean indicating if connecting dots are shown + * @name $.jstree.defaults.core.themes.dots + */ + dots : true, + /** + * a boolean indicating if node icons are shown + * @name $.jstree.defaults.core.themes.icons + */ + icons : true, + /** + * a boolean indicating if the tree background is striped + * @name $.jstree.defaults.core.themes.stripes + */ + stripes : false, + /** + * a string (or boolean `false`) specifying the theme variant to use (if the theme supports variants) + * @name $.jstree.defaults.core.themes.variant + */ + variant : false, + /** + * a boolean specifying if a reponsive version of the theme should kick in on smaller screens (if the theme supports it). Defaults to `false`. + * @name $.jstree.defaults.core.themes.responsive + */ + responsive : false + }, + /** + * if left as `true` all parents of all selected nodes will be opened once the tree loads (so that all selected nodes are visible to the user) + * @name $.jstree.defaults.core.expand_selected_onload + */ + expand_selected_onload : true, + /** + * if left as `true` web workers will be used to parse incoming JSON data where possible, so that the UI will not be blocked by large requests. Workers are however about 30% slower. Defaults to `true` + * @name $.jstree.defaults.core.worker + */ + worker : true, + /** + * Force node text to plain text (and escape HTML). Defaults to `false` + * @name $.jstree.defaults.core.force_text + */ + force_text : false + }; + $.jstree.core.prototype = { + /** + * used to decorate an instance with a plugin. Used internally. + * @private + * @name plugin(deco [, opts]) + * @param {String} deco the plugin to decorate with + * @param {Object} opts options for the plugin + * @return {jsTree} + */ + plugin : function (deco, opts) { + var Child = $.jstree.plugins[deco]; + if(Child) { + this._data[deco] = {}; + Child.prototype = this; + return new Child(opts, this); + } + return this; + }, + /** + * used to decorate an instance with a plugin. Used internally. + * @private + * @name init(el, optons) + * @param {DOMElement|jQuery|String} el the element we are transforming + * @param {Object} options options for this instance + * @trigger init.jstree, loading.jstree, loaded.jstree, ready.jstree, changed.jstree + */ + init : function (el, options) { + this._model = { + data : { + '#' : { + id : '#', + parent : null, + parents : [], + children : [], + children_d : [], + state : { loaded : false } + } + }, + changed : [], + force_full_redraw : false, + redraw_timeout : false, + default_state : { + loaded : true, + opened : false, + selected : false, + disabled : false + } + }; + + this.element = $(el).addClass('jstree jstree-' + this._id); + this.settings = options; + this.element.bind("destroyed", $.proxy(this.teardown, this)); + + this._data.core.ready = false; + this._data.core.loaded = false; + this._data.core.rtl = (this.element.css("direction") === "rtl"); + this.element[this._data.core.rtl ? 'addClass' : 'removeClass']("jstree-rtl"); + this.element.attr('role','tree'); + + this.bind(); + /** + * triggered after all events are bound + * @event + * @name init.jstree + */ + this.trigger("init"); + + this._data.core.original_container_html = this.element.find(" > ul > li").clone(true); + this._data.core.original_container_html + .find("li").addBack() + .contents().filter(function() { + return this.nodeType === 3 && (!this.nodeValue || /^\s+$/.test(this.nodeValue)); + }) + .remove(); + this.element.html("<"+"ul class='jstree-container-ul jstree-children'><"+"li class='jstree-initial-node jstree-loading jstree-leaf jstree-last'><i class='jstree-icon jstree-ocl'></i><"+"a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>" + this.get_string("Loading ...") + "</a></li></ul>"); + this._data.core.li_height = this.get_container_ul().children("li:eq(0)").height() || 24; + /** + * triggered after the loading text is shown and before loading starts + * @event + * @name loading.jstree + */ + this.trigger("loading"); + this.load_node('#'); + }, + /** + * destroy an instance + * @name destroy() + * @param {Boolean} keep_html if not set to `true` the container will be emptied, otherwise the current DOM elements will be kept intact + */ + destroy : function (keep_html) { + if(!keep_html) { this.element.empty(); } + this.element.unbind("destroyed", this.teardown); + this.teardown(); + }, + /** + * part of the destroying of an instance. Used internally. + * @private + * @name teardown() + */ + teardown : function () { + this.unbind(); + this.element + .removeClass('jstree') + .removeData('jstree') + .find("[class^='jstree']") + .addBack() + .attr("class", function () { return this.className.replace(/jstree[^ ]*|$/ig,''); }); + this.element = null; + }, + /** + * bind all events. Used internally. + * @private + * @name bind() + */ + bind : function () { + this.element + .on("dblclick.jstree", function () { + if(document.selection && document.selection.empty) { + document.selection.empty(); + } + else { + if(window.getSelection) { + var sel = window.getSelection(); + try { + sel.removeAllRanges(); + sel.collapse(); + } catch (ignore) { console.log(ignore.message); } + } + } + }) + .on("click.jstree", ".jstree-ocl", $.proxy(function (e) { + + this.toggle_node(e.target); + }, this)) + .on("click.jstree", ".jstree-anchor", $.proxy(function (e) { + + e.preventDefault(); + if(e.currentTarget !== document.activeElement) { $(e.currentTarget).focus(); } + this.activate_node(e.currentTarget, e); + }, this)) + .on('keydown.jstree', '.jstree-anchor', $.proxy(function (e) { + if(e.target.tagName === "INPUT") { return true; } + var o = null; + switch(e.which) { + case 13: + case 32: + e.type = "click"; + $(e.currentTarget).trigger(e); + break; + case 37: + e.preventDefault(); + if(this.is_open(e.currentTarget)) { + this.close_node(e.currentTarget); + } + else { + o = this.get_prev_dom(e.currentTarget); + if(o && o.length) { o.children('.jstree-anchor').focus(); } + } + break; + case 38: + e.preventDefault(); + o = this.get_prev_dom(e.currentTarget); + if(o && o.length) { o.children('.jstree-anchor').focus(); } + break; + case 39: + e.preventDefault(); + if(this.is_closed(e.currentTarget)) { + this.open_node(e.currentTarget, function (o) { this.get_node(o, true).children('.jstree-anchor').focus(); }); + } + else { + o = this.get_next_dom(e.currentTarget); + if(o && o.length) { o.children('.jstree-anchor').focus(); } + } + break; + case 40: + e.preventDefault(); + o = this.get_next_dom(e.currentTarget); + if(o && o.length) { o.children('.jstree-anchor').focus(); } + break; + // delete + case 46: + e.preventDefault(); + o = this.get_node(e.currentTarget); + if(o && o.id && o.id !== '#') { + o = this.is_selected(o) ? this.get_selected() : o; + // this.delete_node(o); + } + break; + // f2 + case 113: + e.preventDefault(); + o = this.get_node(e.currentTarget); + /*! + if(o && o.id && o.id !== '#') { + // this.edit(o); + } + */ + break; + default: + // console.log(e.which); + break; + } + }, this)) + .on("load_node.jstree", $.proxy(function (e, data) { + if(data.status) { + if(data.node.id === '#' && !this._data.core.loaded) { + this._data.core.loaded = true; + /** + * triggered after the root node is loaded for the first time + * @event + * @name loaded.jstree + */ + this.trigger("loaded"); + } + if(!this._data.core.ready && !this.get_container_ul().find('.jstree-loading:eq(0)').length) { + this._data.core.ready = true; + if(this._data.core.selected.length) { + if(this.settings.core.expand_selected_onload) { + var tmp = [], i, j; + for(i = 0, j = this._data.core.selected.length; i < j; i++) { + tmp = tmp.concat(this._model.data[this._data.core.selected[i]].parents); + } + tmp = $.vakata.array_unique(tmp); + for(i = 0, j = tmp.length; i < j; i++) { + this.open_node(tmp[i], false, 0); + } + } + this.trigger('changed', { 'action' : 'ready', 'selected' : this._data.core.selected }); + } + /** + * triggered after all nodes are finished loading + * @event + * @name ready.jstree + */ + setTimeout($.proxy(function () { this.trigger("ready"); }, this), 0); + } + } + }, this)) + // THEME RELATED + .on("init.jstree", $.proxy(function () { + var s = this.settings.core.themes; + this._data.core.themes.dots = s.dots; + this._data.core.themes.stripes = s.stripes; + this._data.core.themes.icons = s.icons; + this.set_theme(s.name || "default", s.url); + this.set_theme_variant(s.variant); + }, this)) + .on("loading.jstree", $.proxy(function () { + this[ this._data.core.themes.dots ? "show_dots" : "hide_dots" ](); + this[ this._data.core.themes.icons ? "show_icons" : "hide_icons" ](); + this[ this._data.core.themes.stripes ? "show_stripes" : "hide_stripes" ](); + }, this)) + .on('blur.jstree', '.jstree-anchor', $.proxy(function (e) { + this._data.core.focused = null; + $(e.currentTarget).filter('.jstree-hovered').mouseleave(); + }, this)) + .on('focus.jstree', '.jstree-anchor', $.proxy(function (e) { + var tmp = this.get_node(e.currentTarget); + if(tmp && tmp.id) { + this._data.core.focused = tmp.id; + } + this.element.find('.jstree-hovered').not(e.currentTarget).mouseleave(); + $(e.currentTarget).mouseenter(); + }, this)) + .on('mouseenter.jstree', '.jstree-anchor', $.proxy(function (e) { + this.hover_node(e.currentTarget); + }, this)) + .on('mouseleave.jstree', '.jstree-anchor', $.proxy(function (e) { + this.dehover_node(e.currentTarget); + }, this)); + }, + /** + * part of the destroying of an instance. Used internally. + * @private + * @name unbind() + */ + unbind : function () { + this.element.off('.jstree'); + $(document).off('.jstree-' + this._id); + }, + /** + * trigger an event. Used internally. + * @private + * @name trigger(ev [, data]) + * @param {String} ev the name of the event to trigger + * @param {Object} data additional data to pass with the event + */ + trigger : function (ev, data) { + if(!data) { + data = {}; + } + data.instance = this; + this.element.triggerHandler(ev.replace('.jstree','') + '.jstree', data); + }, + /** + * returns the jQuery extended instance container + * @name get_container() + * @return {jQuery} + */ + get_container : function () { + return this.element; + }, + /** + * returns the jQuery extended main UL node inside the instance container. Used internally. + * @private + * @name get_container_ul() + * @return {jQuery} + */ + get_container_ul : function () { + return this.element.children(".jstree-children:eq(0)"); + }, + /** + * gets string replacements (localization). Used internally. + * @private + * @name get_string(key) + * @param {String} key + * @return {String} + */ + get_string : function (key) { + var a = this.settings.core.strings; + if($.isFunction(a)) { return a.call(this, key); } + if(a && a[key]) { return a[key]; } + return key; + }, + /** + * gets the first child of a DOM node. Used internally. + * @private + * @name _firstChild(dom) + * @param {DOMElement} dom + * @return {DOMElement} + */ + _firstChild : function (dom) { + dom = dom ? dom.firstChild : null; + while(dom !== null && dom.nodeType !== 1) { + dom = dom.nextSibling; + } + return dom; + }, + /** + * gets the next sibling of a DOM node. Used internally. + * @private + * @name _nextSibling(dom) + * @param {DOMElement} dom + * @return {DOMElement} + */ + _nextSibling : function (dom) { + dom = dom ? dom.nextSibling : null; + while(dom !== null && dom.nodeType !== 1) { + dom = dom.nextSibling; + } + return dom; + }, + /** + * gets the previous sibling of a DOM node. Used internally. + * @private + * @name _previousSibling(dom) + * @param {DOMElement} dom + * @return {DOMElement} + */ + _previousSibling : function (dom) { + dom = dom ? dom.previousSibling : null; + while(dom !== null && dom.nodeType !== 1) { + dom = dom.previousSibling; + } + return dom; + }, + /** + * get the JSON representation of a node (or the actual jQuery extended DOM node) by using any input (child DOM element, ID string, selector, etc) + * @name get_node(obj [, as_dom]) + * @param {mixed} obj + * @param {Boolean} as_dom + * @return {Object|jQuery} + */ + get_node : function (obj, as_dom) { + if(obj && obj.id) { + obj = obj.id; + } + var dom; + try { + if(this._model.data[obj]) { + obj = this._model.data[obj]; + } + else if(((dom = $(obj, this.element)).length || (dom = $('#' + obj.replace($.jstree.idregex,'\\$&'), this.element)).length) && this._model.data[dom.closest('.jstree-node').attr('id')]) { + obj = this._model.data[dom.closest('.jstree-node').attr('id')]; + } + else if((dom = $(obj, this.element)).length && dom.hasClass('jstree')) { + obj = this._model.data['#']; + } + else { + return false; + } + + if(as_dom) { + obj = obj.id === '#' ? this.element : $('#' + obj.id.replace($.jstree.idregex,'\\$&'), this.element); + } + return obj; + } catch (ex) { return false; } + }, + /** + * get the path to a node, either consisting of node texts, or of node IDs, optionally glued together (otherwise an array) + * @name get_path(obj [, glue, ids]) + * @param {mixed} obj the node + * @param {String} glue if you want the path as a string - pass the glue here (for example '/'), if a falsy value is supplied here, an array is returned + * @param {Boolean} ids if set to true build the path using ID, otherwise node text is used + * @return {mixed} + */ + get_path : function (obj, glue, ids) { + obj = obj.parents ? obj : this.get_node(obj); + if(!obj || obj.id === '#' || !obj.parents) { + return false; + } + var i, j, p = []; + p.push(ids ? obj.id : obj.text); + for(i = 0, j = obj.parents.length; i < j; i++) { + p.push(ids ? obj.parents[i] : this.get_text(obj.parents[i])); + } + p = p.reverse().slice(1); + return glue ? p.join(glue) : p; + }, + /** + * get the next visible node that is below the `obj` node. If `strict` is set to `true` only sibling nodes are returned. + * @name get_next_dom(obj [, strict]) + * @param {mixed} obj + * @param {Boolean} strict + * @return {jQuery} + */ + get_next_dom : function (obj, strict) { + var tmp; + obj = this.get_node(obj, true); + if(obj[0] === this.element[0]) { + tmp = this._firstChild(this.get_container_ul()[0]); + while (tmp && tmp.offsetHeight === 0) { + tmp = this._nextSibling(tmp); + } + return tmp ? $(tmp) : false; + } + if(!obj || !obj.length) { + return false; + } + if(strict) { + tmp = obj[0]; + do { + tmp = this._nextSibling(tmp); + } while (tmp && tmp.offsetHeight === 0); + return tmp ? $(tmp) : false; + } + if(obj.hasClass("jstree-open")) { + tmp = this._firstChild(obj.children('.jstree-children')[0]); + while (tmp && tmp.offsetHeight === 0) { + tmp = this._nextSibling(tmp); + } + if(tmp !== null) { + return $(tmp); + } + } + tmp = obj[0]; + do { + tmp = this._nextSibling(tmp); + } while (tmp && tmp.offsetHeight === 0); + if(tmp !== null) { + return $(tmp); + } + return obj.parentsUntil(".jstree",".jstree-node").next(".jstree-node:visible").eq(0); + }, + /** + * get the previous visible node that is above the `obj` node. If `strict` is set to `true` only sibling nodes are returned. + * @name get_prev_dom(obj [, strict]) + * @param {mixed} obj + * @param {Boolean} strict + * @return {jQuery} + */ + get_prev_dom : function (obj, strict) { + var tmp; + obj = this.get_node(obj, true); + if(obj[0] === this.element[0]) { + tmp = this.get_container_ul()[0].lastChild; + while (tmp && tmp.offsetHeight === 0) { + tmp = this._previousSibling(tmp); + } + return tmp ? $(tmp) : false; + } + if(!obj || !obj.length) { + return false; + } + if(strict) { + tmp = obj[0]; + do { + tmp = this._previousSibling(tmp); + } while (tmp && tmp.offsetHeight === 0); + return tmp ? $(tmp) : false; + } + tmp = obj[0]; + do { + tmp = this._previousSibling(tmp); + } while (tmp && tmp.offsetHeight === 0); + if(tmp !== null) { + obj = $(tmp); + while(obj.hasClass("jstree-open")) { + obj = obj.children(".jstree-children:eq(0)").children(".jstree-node:visible:last"); + } + return obj; + } + tmp = obj[0].parentNode.parentNode; + return tmp && tmp.className && tmp.className.indexOf('jstree-node') !== -1 ? $(tmp) : false; + }, + /** + * get the parent ID of a node + * @name get_parent(obj) + * @param {mixed} obj + * @return {String} + */ + get_parent : function (obj) { + obj = this.get_node(obj); + if(!obj || obj.id === '#') { + return false; + } + return obj.parent; + }, + /** + * get a jQuery collection of all the children of a node (node must be rendered) + * @name get_children_dom(obj) + * @param {mixed} obj + * @return {jQuery} + */ + get_children_dom : function (obj) { + obj = this.get_node(obj, true); + if(obj[0] === this.element[0]) { + return this.get_container_ul().children(".jstree-node"); + } + if(!obj || !obj.length) { + return false; + } + return obj.children(".jstree-children").children(".jstree-node"); + }, + /** + * checks if a node has children + * @name is_parent(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_parent : function (obj) { + obj = this.get_node(obj); + return obj && (obj.state.loaded === false || obj.children.length > 0); + }, + /** + * checks if a node is loaded (its children are available) + * @name is_loaded(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_loaded : function (obj) { + obj = this.get_node(obj); + return obj && obj.state.loaded; + }, + /** + * check if a node is currently loading (fetching children) + * @name is_loading(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_loading : function (obj) { + obj = this.get_node(obj); + return obj && obj.state && obj.state.loading; + }, + /** + * check if a node is opened + * @name is_open(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_open : function (obj) { + obj = this.get_node(obj); + return obj && obj.state.opened; + }, + /** + * check if a node is in a closed state + * @name is_closed(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_closed : function (obj) { + obj = this.get_node(obj); + return obj && this.is_parent(obj) && !obj.state.opened; + }, + /** + * check if a node has no children + * @name is_leaf(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_leaf : function (obj) { + return !this.is_parent(obj); + }, + /** + * loads a node (fetches its children using the `core.data` setting). Multiple nodes can be passed to by using an array. + * @name load_node(obj [, callback]) + * @param {mixed} obj + * @param {function} callback a function to be executed once loading is complete, the function is executed in the instance's scope and receives two arguments - the node and a boolean status + * @return {Boolean} + * @trigger load_node.jstree + */ + load_node : function (obj, callback) { + var k, l, i, j, c; + if($.isArray(obj)) { + this._load_nodes(obj.slice(), callback); + return true; + } + obj = this.get_node(obj); + if(!obj) { + if(callback) { callback.call(this, obj, false); } + return false; + } + // if(obj.state.loading) { } // the node is already loading - just wait for it to load and invoke callback? but if called implicitly it should be loaded again? + if(obj.state.loaded) { + obj.state.loaded = false; + for(k = 0, l = obj.children_d.length; k < l; k++) { + for(i = 0, j = obj.parents.length; i < j; i++) { + this._model.data[obj.parents[i]].children_d = $.vakata.array_remove_item(this._model.data[obj.parents[i]].children_d, obj.children_d[k]); + } + if(this._model.data[obj.children_d[k]].state.selected) { + c = true; + this._data.core.selected = $.vakata.array_remove_item(this._data.core.selected, obj.children_d[k]); + } + delete this._model.data[obj.children_d[k]]; + } + obj.children = []; + obj.children_d = []; + if(c) { + this.trigger('changed', { 'action' : 'load_node', 'node' : obj, 'selected' : this._data.core.selected }); + } + } + obj.state.loading = true; + this.get_node(obj, true).addClass("jstree-loading"); + this._load_node(obj, $.proxy(function (status) { + obj = this._model.data[obj.id]; + obj.state.loading = false; + obj.state.loaded = status; + var dom = this.get_node(obj, true); + if(obj.state.loaded && !obj.children.length && dom && dom.length && !dom.hasClass('jstree-leaf')) { + dom.removeClass('jstree-closed jstree-open').addClass('jstree-leaf'); + } + dom.removeClass("jstree-loading"); + /** + * triggered after a node is loaded + * @event + * @name load_node.jstree + * @param {Object} node the node that was loading + * @param {Boolean} status was the node loaded successfully + */ + this.trigger('load_node', { "node" : obj, "status" : status }); + if(callback) { + callback.call(this, obj, status); + } + }, this)); + return true; + }, + /** + * load an array of nodes (will also load unavailable nodes as soon as the appear in the structure). Used internally. + * @private + * @name _load_nodes(nodes [, callback]) + * @param {array} nodes + * @param {function} callback a function to be executed once loading is complete, the function is executed in the instance's scope and receives one argument - the array passed to _load_nodes + */ + _load_nodes : function (nodes, callback, is_callback) { + var r = true, + c = function () { this._load_nodes(nodes, callback, true); }, + m = this._model.data, i, j; + for(i = 0, j = nodes.length; i < j; i++) { + if(m[nodes[i]] && (!m[nodes[i]].state.loaded || !is_callback)) { + if(!this.is_loading(nodes[i])) { + this.load_node(nodes[i], c); + } + r = false; + } + } + if(r) { + if(callback && !callback.done) { + callback.call(this, nodes); + callback.done = true; + } + } + }, + /** + * handles the actual loading of a node. Used only internally. + * @private + * @name _load_node(obj [, callback]) + * @param {mixed} obj + * @param {function} callback a function to be executed once loading is complete, the function is executed in the instance's scope and receives one argument - a boolean status + * @return {Boolean} + */ + _load_node : function (obj, callback) { + var s = this.settings.core.data, t; + // use original HTML + if(!s) { + if(obj.id === '#') { + return this._append_html_data(obj, this._data.core.original_container_html.clone(true), function (status) { + callback.call(this, status); + }); + } + else { + return callback.call(this, false); + } + // return callback.call(this, obj.id === '#' ? this._append_html_data(obj, this._data.core.original_container_html.clone(true)) : false); + } + if($.isFunction(s)) { + return s.call(this, obj, $.proxy(function (d) { + if(d === false) { + callback.call(this, false); + } + this[typeof d === 'string' ? '_append_html_data' : '_append_json_data'](obj, typeof d === 'string' ? $(d) : d, function (status) { + callback.call(this, status); + }); + // return d === false ? callback.call(this, false) : callback.call(this, this[typeof d === 'string' ? '_append_html_data' : '_append_json_data'](obj, typeof d === 'string' ? $(d) : d)); + }, this)); + } + if(typeof s === 'object') { + if(s.url) { + s = $.extend(true, {}, s); + if($.isFunction(s.url)) { + s.url = s.url.call(this, obj); + } + if($.isFunction(s.data)) { + s.data = s.data.call(this, obj); + } + return $.ajax(s) + .done($.proxy(function (d,t,x) { + var type = x.getResponseHeader('Content-Type'); + if(type.indexOf('json') !== -1 || typeof d === "object") { + // 전우성 수정 +// d = d.deptManage; + //alert(JSON.stringify(d)); + + return this._append_json_data(obj, d, function (status) { callback.call(this, status); }); + //return callback.call(this, this._append_json_data(obj, d)); + } + if(type.indexOf('html') !== -1 || typeof d === "string") { + return this._append_html_data(obj, $(d), function (status) { callback.call(this, status); }); + // return callback.call(this, this._append_html_data(obj, $(d))); + } + this._data.core.last_error = { 'error' : 'ajax', 'plugin' : 'core', 'id' : 'core_04', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id, 'xhr' : x }) }; + this.settings.core.error.call(this, this._data.core.last_error); + return callback.call(this, false); + }, this)) + .fail($.proxy(function (f) { + callback.call(this, false); + this._data.core.last_error = { 'error' : 'ajax', 'plugin' : 'core', 'id' : 'core_04', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id, 'xhr' : f }) }; + this.settings.core.error.call(this, this._data.core.last_error); + }, this)); + } + t = ($.isArray(s) || $.isPlainObject(s)) ? JSON.parse(JSON.stringify(s)) : s; + if(obj.id === '#') { + return this._append_json_data(obj, t, function (status) { + callback.call(this, status); + }); + } + else { + this._data.core.last_error = { 'error' : 'nodata', 'plugin' : 'core', 'id' : 'core_05', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id }) }; + this.settings.core.error.call(this, this._data.core.last_error); + return callback.call(this, false); + } + //return callback.call(this, (obj.id === "#" ? this._append_json_data(obj, t) : false) ); + } + if(typeof s === 'string') { + if(obj.id === '#') { + return this._append_html_data(obj, $(s), function (status) { + callback.call(this, status); + }); + } + else { + this._data.core.last_error = { 'error' : 'nodata', 'plugin' : 'core', 'id' : 'core_06', 'reason' : 'Could not load node', 'data' : JSON.stringify({ 'id' : obj.id }) }; + this.settings.core.error.call(this, this._data.core.last_error); + return callback.call(this, false); + } + //return callback.call(this, (obj.id === "#" ? this._append_html_data(obj, $(s)) : false) ); + } + return callback.call(this, false); + }, + /** + * adds a node to the list of nodes to redraw. Used only internally. + * @private + * @name _node_changed(obj [, callback]) + * @param {mixed} obj + */ + _node_changed : function (obj) { + obj = this.get_node(obj); + if(obj) { + this._model.changed.push(obj.id); + } + }, + /** + * appends HTML content to the tree. Used internally. + * @private + * @name _append_html_data(obj, data) + * @param {mixed} obj the node to append to + * @param {String} data the HTML string to parse and append + * @trigger model.jstree, changed.jstree + */ + _append_html_data : function (dom, data, cb) { + dom = this.get_node(dom); + dom.children = []; + dom.children_d = []; + var dat = data.is('ul') ? data.children() : data, + par = dom.id, + chd = [], + dpc = [], + m = this._model.data, + p = m[par], + s = this._data.core.selected.length, + tmp, i, j; + dat.each($.proxy(function (i, v) { + tmp = this._parse_model_from_html($(v), par, p.parents.concat()); + if(tmp) { + chd.push(tmp); + dpc.push(tmp); + if(m[tmp].children_d.length) { + dpc = dpc.concat(m[tmp].children_d); + } + } + }, this)); + p.children = chd; + p.children_d = dpc; + for(i = 0, j = p.parents.length; i < j; i++) { + m[p.parents[i]].children_d = m[p.parents[i]].children_d.concat(dpc); + } + /** + * triggered when new data is inserted to the tree model + * @event + * @name model.jstree + * @param {Array} nodes an array of node IDs + * @param {String} parent the parent ID of the nodes + */ + this.trigger('model', { "nodes" : dpc, 'parent' : par }); + if(par !== '#') { + this._node_changed(par); + this.redraw(); + } + else { + this.get_container_ul().children('.jstree-initial-node').remove(); + this.redraw(true); + } + if(this._data.core.selected.length !== s) { + this.trigger('changed', { 'action' : 'model', 'selected' : this._data.core.selected }); + } + cb.call(this, true); + }, + /** + * appends JSON content to the tree. Used internally. + * @private + * @name _append_json_data(obj, data) + * @param {mixed} obj the node to append to + * @param {String} data the JSON object to parse and append + * @param {Boolean} force_processing internal param - do not set + * @trigger model.jstree, changed.jstree + */ + _append_json_data : function (dom, data, cb, force_processing) { + dom = this.get_node(dom); + dom.children = []; + dom.children_d = []; + // *%$@!!! + if(data.d) { + data = data.d; + if(typeof data === "string") { + data = JSON.parse(data); + } + } + if(!$.isArray(data)) { data = [data]; } + var w = null, + args = { + 'df' : this._model.default_state, + 'dat' : data, + 'par' : dom.id, + 'm' : this._model.data, + 't_id' : this._id, + 't_cnt' : this._cnt, + 'sel' : this._data.core.selected + }, + func = function (data, undefined) { + if(data.data) { data = data.data; } + var dat = data.dat, + par = data.par, + chd = [], + dpc = [], + add = [], + df = data.df, + t_id = data.t_id, + t_cnt = data.t_cnt, + m = data.m, + p = m[par], + sel = data.sel, + tmp, i, j, rslt, + parse_flat = function (d, p, ps) { + if(!ps) { ps = []; } + else { ps = ps.concat(); } + if(p) { ps.unshift(p); } + var tid = d.id.toString(), + i, j, c, e, + tmp = { + id : tid, + text : d.text || '', + icon : d.icon !== undefined ? d.icon : true, + parent : p, + parents : ps, + children : d.children || [], + children_d : d.children_d || [], + data : d.data, + state : { }, + li_attr : { id : false }, + a_attr : { href : '#' }, + original : false + }; + for(i in df) { + if(df.hasOwnProperty(i)) { + tmp.state[i] = df[i]; + } + } + if(d && d.data && d.data.jstree && d.data.jstree.icon) { + tmp.icon = d.data.jstree.icon; + } + if(d && d.data) { + tmp.data = d.data; + if(d.data.jstree) { + for(i in d.data.jstree) { + if(d.data.jstree.hasOwnProperty(i)) { + tmp.state[i] = d.data.jstree[i]; + } + } + } + } + if(d && typeof d.state === 'object') { + for (i in d.state) { + if(d.state.hasOwnProperty(i)) { + tmp.state[i] = d.state[i]; + } + } + } + if(d && typeof d.li_attr === 'object') { + for (i in d.li_attr) { + if(d.li_attr.hasOwnProperty(i)) { + tmp.li_attr[i] = d.li_attr[i]; + } + } + } + if(!tmp.li_attr.id) { + tmp.li_attr.id = tid; + } + if(d && typeof d.a_attr === 'object') { + for (i in d.a_attr) { + if(d.a_attr.hasOwnProperty(i)) { + tmp.a_attr[i] = d.a_attr[i]; + } + } + } + if(d && d.children && d.children === true) { + tmp.state.loaded = false; + tmp.children = []; + tmp.children_d = []; + } + m[tmp.id] = tmp; + for(i = 0, j = tmp.children.length; i < j; i++) { + c = parse_flat(m[tmp.children[i]], tmp.id, ps); + e = m[c]; + tmp.children_d.push(c); + if(e.children_d.length) { + tmp.children_d = tmp.children_d.concat(e.children_d); + } + } + delete d.data; + delete d.children; + m[tmp.id].original = d; + if(tmp.state.selected) { + add.push(tmp.id); + } + return tmp.id; + }, + parse_nest = function (d, p, ps) { + if(!ps) { ps = []; } + else { ps = ps.concat(); } + if(p) { ps.unshift(p); } + var tid = false, i, j, c, e, tmp; + do { + tid = 'j' + t_id + '_' + (++t_cnt); + } while(m[tid]); + + tmp = { + id : false, + text : typeof d === 'string' ? d : '', + icon : typeof d === 'object' && d.icon !== undefined ? d.icon : true, + parent : p, + parents : ps, + children : [], + children_d : [], + data : null, + state : { }, + li_attr : { id : false }, + a_attr : { href : '#' }, + original : false + }; + for(i in df) { + if(df.hasOwnProperty(i)) { + tmp.state[i] = df[i]; + } + } + if(d && d.id) { tmp.id = d.id.toString(); } + if(d && d.text) { tmp.text = d.text; } + if(d && d.data && d.data.jstree && d.data.jstree.icon) { + tmp.icon = d.data.jstree.icon; + } + if(d && d.data) { + tmp.data = d.data; + if(d.data.jstree) { + for(i in d.data.jstree) { + if(d.data.jstree.hasOwnProperty(i)) { + tmp.state[i] = d.data.jstree[i]; + } + } + } + } + if(d && typeof d.state === 'object') { + for (i in d.state) { + if(d.state.hasOwnProperty(i)) { + tmp.state[i] = d.state[i]; + } + } + } + if(d && typeof d.li_attr === 'object') { + for (i in d.li_attr) { + if(d.li_attr.hasOwnProperty(i)) { + tmp.li_attr[i] = d.li_attr[i]; + } + } + } + if(tmp.li_attr.id && !tmp.id) { + tmp.id = tmp.li_attr.id.toString(); + } + if(!tmp.id) { + tmp.id = tid; + } + if(!tmp.li_attr.id) { + tmp.li_attr.id = tmp.id; + } + if(d && typeof d.a_attr === 'object') { + for (i in d.a_attr) { + if(d.a_attr.hasOwnProperty(i)) { + tmp.a_attr[i] = d.a_attr[i]; + } + } + } + if(d && d.children && d.children.length) { + for(i = 0, j = d.children.length; i < j; i++) { + c = parse_nest(d.children[i], tmp.id, ps); + e = m[c]; + tmp.children.push(c); + if(e.children_d.length) { + tmp.children_d = tmp.children_d.concat(e.children_d); + } + } + tmp.children_d = tmp.children_d.concat(tmp.children); + } + if(d && d.children && d.children === true) { + tmp.state.loaded = false; + tmp.children = []; + tmp.children_d = []; + } + delete d.data; + delete d.children; + tmp.original = d; + m[tmp.id] = tmp; + if(tmp.state.selected) { + add.push(tmp.id); + } + return tmp.id; + }; + + if(dat.length && dat[0].id !== undefined && dat[0].parent !== undefined) { + // Flat JSON support (for easy import from DB): + // 1) convert to object (foreach) + for(i = 0, j = dat.length; i < j; i++) { + if(!dat[i].children) { + dat[i].children = []; + } + m[dat[i].id.toString()] = dat[i]; + } + // 2) populate children (foreach) + for(i = 0, j = dat.length; i < j; i++) { + m[dat[i].parent.toString()].children.push(dat[i].id.toString()); + // populate parent.children_d + p.children_d.push(dat[i].id.toString()); + } + // 3) normalize && populate parents and children_d with recursion + for(i = 0, j = p.children.length; i < j; i++) { + tmp = parse_flat(m[p.children[i]], par, p.parents.concat()); + dpc.push(tmp); + if(m[tmp].children_d.length) { + dpc = dpc.concat(m[tmp].children_d); + } + } + for(i = 0, j = p.parents.length; i < j; i++) { + m[p.parents[i]].children_d = m[p.parents[i]].children_d.concat(dpc); + } + // ?) three_state selection - p.state.selected && t - (if three_state foreach(dat => ch) -> foreach(parents) if(parent.selected) child.selected = true; + rslt = { + 'cnt' : t_cnt, + 'mod' : m, + 'sel' : sel, + 'par' : par, + 'dpc' : dpc, + 'add' : add + }; + } + else { + for(i = 0, j = dat.length; i < j; i++) { + tmp = parse_nest(dat[i], par, p.parents.concat()); + if(tmp) { + chd.push(tmp); + dpc.push(tmp); + if(m[tmp].children_d.length) { + dpc = dpc.concat(m[tmp].children_d); + } + } + } + p.children = chd; + p.children_d = dpc; + for(i = 0, j = p.parents.length; i < j; i++) { + m[p.parents[i]].children_d = m[p.parents[i]].children_d.concat(dpc); + } + rslt = { + 'cnt' : t_cnt, + 'mod' : m, + 'sel' : sel, + 'par' : par, + 'dpc' : dpc, + 'add' : add + }; + } + return rslt; + }, + rslt = function (rslt, worker) { + this._cnt = rslt.cnt; + this._model.data = rslt.mod; // breaks the reference in load_node - careful + + if(worker) { + var i, j, a = rslt.add, r = rslt.sel, s = this._data.core.selected.slice(), m = this._model.data; + // if selection was changed while calculating in worker + if(r.length !== s.length || $.vakata.array_unique(r.concat(s)).length !== r.length) { + // deselect nodes that are no longer selected + for(i = 0, j = r.length; i < j; i++) { + if($.inArray(r[i], a) === -1 && $.inArray(r[i], s) === -1) { + m[r[i]].state.selected = false; + } + } + // select nodes that were selected in the mean time + for(i = 0, j = s.length; i < j; i++) { + if($.inArray(s[i], r) === -1) { + m[s[i]].state.selected = true; + } + } + } + } + if(rslt.add.length) { + this._data.core.selected = this._data.core.selected.concat(rslt.add); + } + + this.trigger('model', { "nodes" : rslt.dpc, 'parent' : rslt.par }); + + if(rslt.par !== '#') { + this._node_changed(rslt.par); + this.redraw(); + } + else { + // this.get_container_ul().children('.jstree-initial-node').remove(); + this.redraw(true); + } + if(rslt.add.length) { + this.trigger('changed', { 'action' : 'model', 'selected' : this._data.core.selected }); + } + cb.call(this, true); + }; + if(this.settings.core.worker && window.Blob && window.URL && window.Worker) { + try { + if(this._wrk === null) { + this._wrk = window.URL.createObjectURL( + new window.Blob( + ['self.onmessage = ' + func.toString().replace(/return ([^;}]+)[\s;}]+$/, 'postMessage($1);}')], + {type:"text/javascript"} + ) + ); + } + if(!this._data.core.working || force_processing) { + this._data.core.working = true; + w = new window.Worker(this._wrk); + w.onmessage = $.proxy(function (e) { + rslt.call(this, e.data, true); + if(this._data.core.worker_queue.length) { + this._append_json_data.apply(this, this._data.core.worker_queue.shift()); + } + else { + this._data.core.working = false; + } + }, this); + if(!args.par) { + if(this._data.core.worker_queue.length) { + this._append_json_data.apply(this, this._data.core.worker_queue.shift()); + } + else { + this._data.core.working = false; + } + } + else { + w.postMessage(args); + } + } + else { + this._data.core.worker_queue.push([dom, data, cb, true]); + } + } + catch(e) { + rslt.call(this, func(args), false); + if(this._data.core.worker_queue.length) { + this._append_json_data.apply(this, this._data.core.worker_queue.shift()); + } + else { + this._data.core.working = false; + } + } + } + else { + rslt.call(this, func(args), false); + } + }, + /** + * parses a node from a jQuery object and appends them to the in memory tree model. Used internally. + * @private + * @name _parse_model_from_html(d [, p, ps]) + * @param {jQuery} d the jQuery object to parse + * @param {String} p the parent ID + * @param {Array} ps list of all parents + * @return {String} the ID of the object added to the model + */ + _parse_model_from_html : function (d, p, ps) { + if(!ps) { ps = []; } + else { ps = [].concat(ps); } + if(p) { ps.unshift(p); } + var c, e, m = this._model.data, + data = { + id : false, + text : false, + icon : true, + parent : p, + parents : ps, + children : [], + children_d : [], + data : null, + state : { }, + li_attr : { id : false }, + a_attr : { href : '#' }, + original : false + }, i, tmp, tid; + for(i in this._model.default_state) { + if(this._model.default_state.hasOwnProperty(i)) { + data.state[i] = this._model.default_state[i]; + } + } + tmp = $.vakata.attributes(d, true); + $.each(tmp, function (i, v) { + v = $.trim(v); + if(!v.length) { return true; } + data.li_attr[i] = v; + if(i === 'id') { + data.id = v.toString(); + } + }); + tmp = d.children('a').eq(0); + if(tmp.length) { + tmp = $.vakata.attributes(tmp, true); + $.each(tmp, function (i, v) { + v = $.trim(v); + if(v.length) { + data.a_attr[i] = v; + } + }); + } + tmp = d.children("a:eq(0)").length ? d.children("a:eq(0)").clone() : d.clone(); + tmp.children("ins, i, ul").remove(); + tmp = tmp.html(); + tmp = $('<div />').html(tmp); + data.text = this.settings.core.force_text ? tmp.text() : tmp.html(); + tmp = d.data(); + data.data = tmp ? $.extend(true, {}, tmp) : null; + data.state.opened = d.hasClass('jstree-open'); + data.state.selected = d.children('a').hasClass('jstree-clicked'); + data.state.disabled = d.children('a').hasClass('jstree-disabled'); + if(data.data && data.data.jstree) { + for(i in data.data.jstree) { + if(data.data.jstree.hasOwnProperty(i)) { + data.state[i] = data.data.jstree[i]; + } + } + } + tmp = d.children("a").children(".jstree-themeicon"); + if(tmp.length) { + data.icon = tmp.hasClass('jstree-themeicon-hidden') ? false : tmp.attr('rel'); + } + if(data.state.icon) { + data.icon = data.state.icon; + } + tmp = d.children("ul").children("li"); + do { + tid = 'j' + this._id + '_' + (++this._cnt); + } while(m[tid]); + data.id = data.li_attr.id ? data.li_attr.id.toString() : tid; + if(tmp.length) { + tmp.each($.proxy(function (i, v) { + c = this._parse_model_from_html($(v), data.id, ps); + e = this._model.data[c]; + data.children.push(c); + if(e.children_d.length) { + data.children_d = data.children_d.concat(e.children_d); + } + }, this)); + data.children_d = data.children_d.concat(data.children); + } + else { + if(d.hasClass('jstree-closed')) { + data.state.loaded = false; + } + } + if(data.li_attr['class']) { + data.li_attr['class'] = data.li_attr['class'].replace('jstree-closed','').replace('jstree-open',''); + } + if(data.a_attr['class']) { + data.a_attr['class'] = data.a_attr['class'].replace('jstree-clicked','').replace('jstree-disabled',''); + } + m[data.id] = data; + if(data.state.selected) { + this._data.core.selected.push(data.id); + } + return data.id; + }, + /** + * parses a node from a JSON object (used when dealing with flat data, which has no nesting of children, but has id and parent properties) and appends it to the in memory tree model. Used internally. + * @private + * @name _parse_model_from_flat_json(d [, p, ps]) + * @param {Object} d the JSON object to parse + * @param {String} p the parent ID + * @param {Array} ps list of all parents + * @return {String} the ID of the object added to the model + */ + _parse_model_from_flat_json : function (d, p, ps) { + if(!ps) { ps = []; } + else { ps = ps.concat(); } + if(p) { ps.unshift(p); } + var tid = d.id.toString(), + m = this._model.data, + df = this._model.default_state, + i, j, c, e, + tmp = { + id : tid, + text : d.text || '', + icon : d.icon !== undefined ? d.icon : true, + parent : p, + parents : ps, + children : d.children || [], + children_d : d.children_d || [], + data : d.data, + state : { }, + li_attr : { id : false }, + a_attr : { href : '#' }, + original : false + }; + for(i in df) { + if(df.hasOwnProperty(i)) { + tmp.state[i] = df[i]; + } + } + if(d && d.data && d.data.jstree && d.data.jstree.icon) { + tmp.icon = d.data.jstree.icon; + } + if(d && d.data) { + tmp.data = d.data; + if(d.data.jstree) { + for(i in d.data.jstree) { + if(d.data.jstree.hasOwnProperty(i)) { + tmp.state[i] = d.data.jstree[i]; + } + } + } + } + if(d && typeof d.state === 'object') { + for (i in d.state) { + if(d.state.hasOwnProperty(i)) { + tmp.state[i] = d.state[i]; + } + } + } + if(d && typeof d.li_attr === 'object') { + for (i in d.li_attr) { + if(d.li_attr.hasOwnProperty(i)) { + tmp.li_attr[i] = d.li_attr[i]; + } + } + } + if(!tmp.li_attr.id) { + tmp.li_attr.id = tid; + } + if(d && typeof d.a_attr === 'object') { + for (i in d.a_attr) { + if(d.a_attr.hasOwnProperty(i)) { + tmp.a_attr[i] = d.a_attr[i]; + } + } + } + if(d && d.children && d.children === true) { + tmp.state.loaded = false; + tmp.children = []; + tmp.children_d = []; + } + m[tmp.id] = tmp; + for(i = 0, j = tmp.children.length; i < j; i++) { + c = this._parse_model_from_flat_json(m[tmp.children[i]], tmp.id, ps); + e = m[c]; + tmp.children_d.push(c); + if(e.children_d.length) { + tmp.children_d = tmp.children_d.concat(e.children_d); + } + } + delete d.data; + delete d.children; + m[tmp.id].original = d; + if(tmp.state.selected) { + this._data.core.selected.push(tmp.id); + } + return tmp.id; + }, + /** + * parses a node from a JSON object and appends it to the in memory tree model. Used internally. + * @private + * @name _parse_model_from_json(d [, p, ps]) + * @param {Object} d the JSON object to parse + * @param {String} p the parent ID + * @param {Array} ps list of all parents + * @return {String} the ID of the object added to the model + */ + _parse_model_from_json : function (d, p, ps) { + if(!ps) { ps = []; } + else { ps = ps.concat(); } + if(p) { ps.unshift(p); } + var tid = false, i, j, c, e, m = this._model.data, df = this._model.default_state, tmp; + do { + tid = 'j' + this._id + '_' + (++this._cnt); + } while(m[tid]); + + tmp = { + id : false, + text : typeof d === 'string' ? d : '', + icon : typeof d === 'object' && d.icon !== undefined ? d.icon : true, + parent : p, + parents : ps, + children : [], + children_d : [], + data : null, + state : { }, + li_attr : { id : false }, + a_attr : { href : '#' }, + original : false + }; + for(i in df) { + if(df.hasOwnProperty(i)) { + tmp.state[i] = df[i]; + } + } + if(d && d.id) { tmp.id = d.id.toString(); } + if(d && d.text) { tmp.text = d.text; } + if(d && d.data && d.data.jstree && d.data.jstree.icon) { + tmp.icon = d.data.jstree.icon; + } + if(d && d.data) { + tmp.data = d.data; + if(d.data.jstree) { + for(i in d.data.jstree) { + if(d.data.jstree.hasOwnProperty(i)) { + tmp.state[i] = d.data.jstree[i]; + } + } + } + } + if(d && typeof d.state === 'object') { + for (i in d.state) { + if(d.state.hasOwnProperty(i)) { + tmp.state[i] = d.state[i]; + } + } + } + if(d && typeof d.li_attr === 'object') { + for (i in d.li_attr) { + if(d.li_attr.hasOwnProperty(i)) { + tmp.li_attr[i] = d.li_attr[i]; + } + } + } + if(tmp.li_attr.id && !tmp.id) { + tmp.id = tmp.li_attr.id.toString(); + } + if(!tmp.id) { + tmp.id = tid; + } + if(!tmp.li_attr.id) { + tmp.li_attr.id = tmp.id; + } + if(d && typeof d.a_attr === 'object') { + for (i in d.a_attr) { + if(d.a_attr.hasOwnProperty(i)) { + tmp.a_attr[i] = d.a_attr[i]; + } + } + } + if(d && d.children && d.children.length) { + for(i = 0, j = d.children.length; i < j; i++) { + c = this._parse_model_from_json(d.children[i], tmp.id, ps); + e = m[c]; + tmp.children.push(c); + if(e.children_d.length) { + tmp.children_d = tmp.children_d.concat(e.children_d); + } + } + tmp.children_d = tmp.children_d.concat(tmp.children); + } + if(d && d.children && d.children === true) { + tmp.state.loaded = false; + tmp.children = []; + tmp.children_d = []; + } + delete d.data; + delete d.children; + tmp.original = d; + m[tmp.id] = tmp; + if(tmp.state.selected) { + this._data.core.selected.push(tmp.id); + } + return tmp.id; + }, + /** + * redraws all nodes that need to be redrawn. Used internally. + * @private + * @name _redraw() + * @trigger redraw.jstree + */ + _redraw : function () { + var nodes = this._model.force_full_redraw ? this._model.data['#'].children.concat([]) : this._model.changed.concat([]), + f = document.createElement('UL'), tmp, i, j, fe = this._data.core.focused; + for(i = 0, j = nodes.length; i < j; i++) { + tmp = this.redraw_node(nodes[i], true, this._model.force_full_redraw); + if(tmp && this._model.force_full_redraw) { + f.appendChild(tmp); + } + } + if(this._model.force_full_redraw) { + f.className = this.get_container_ul()[0].className; + this.element.empty().append(f); + //this.get_container_ul()[0].appendChild(f); + } + if(fe !== null) { + tmp = this.get_node(fe, true); + if(tmp && tmp.length && tmp.children('.jstree-anchor')[0] !== document.activeElement) { + tmp.children('.jstree-anchor').focus(); + } + else { + this._data.core.focused = null; + } + } + this._model.force_full_redraw = false; + this._model.changed = []; + /** + * triggered after nodes are redrawn + * @event + * @name redraw.jstree + * @param {array} nodes the redrawn nodes + */ + this.trigger('redraw', { "nodes" : nodes }); + }, + /** + * redraws all nodes that need to be redrawn or optionally - the whole tree + * @name redraw([full]) + * @param {Boolean} full if set to `true` all nodes are redrawn. + */ + redraw : function (full) { + if(full) { + this._model.force_full_redraw = true; + } + //if(this._model.redraw_timeout) { + // clearTimeout(this._model.redraw_timeout); + //} + //this._model.redraw_timeout = setTimeout($.proxy(this._redraw, this),0); + this._redraw(); + }, + /** + * redraws a single node. Used internally. + * @private + * @name redraw_node(node, deep, is_callback) + * @param {mixed} node the node to redraw + * @param {Boolean} deep should child nodes be redrawn too + * @param {Boolean} is_callback is this a recursion call + */ + redraw_node : function (node, deep, is_callback) { + var obj = this.get_node(node), + par = false, + ind = false, + old = false, + i = false, + j = false, + k = false, + c = '', + d = document, + m = this._model.data, + f = false, + s = false, + tmp = null; + if(!obj) { return false; } + if(obj.id === '#') { return this.redraw(true); } + deep = deep || obj.children.length === 0; + node = !document.querySelector ? document.getElementById(obj.id) : this.element[0].querySelector('#' + ("0123456789".indexOf(obj.id[0]) !== -1 ? '\\3' + obj.id[0] + ' ' + obj.id.substr(1).replace($.jstree.idregex,'\\$&') : obj.id.replace($.jstree.idregex,'\\$&')) ); //, this.element); + if(!node) { + deep = true; + //node = d.createElement('LI'); + if(!is_callback) { + par = obj.parent !== '#' ? $('#' + obj.parent.replace($.jstree.idregex,'\\$&'), this.element)[0] : null; + if(par !== null && (!par || !m[obj.parent].state.opened)) { + return false; + } + ind = $.inArray(obj.id, par === null ? m['#'].children : m[obj.parent].children); + } + } + else { + node = $(node); + if(!is_callback) { + par = node.parent().parent()[0]; + if(par === this.element[0]) { + par = null; + } + ind = node.index(); + } + // m[obj.id].data = node.data(); // use only node's data, no need to touch jquery storage + if(!deep && obj.children.length && !node.children('.jstree-children').length) { + deep = true; + } + if(!deep) { + old = node.children('.jstree-children')[0]; + } + s = node.attr('aria-selected'); + f = node.children('.jstree-anchor')[0] === document.activeElement; + node.remove(); + //node = d.createElement('LI'); + //node = node[0]; + } + node = _node.cloneNode(true); + // node is DOM, deep is boolean + + c = 'jstree-node '; + for(i in obj.li_attr) { + if(obj.li_attr.hasOwnProperty(i)) { + if(i === 'id') { continue; } + if(i !== 'class') { + node.setAttribute(i, obj.li_attr[i]); + } + else { + c += obj.li_attr[i]; + } + } + } + if(s && s !== "false") { + node.setAttribute('aria-selected', true); + } + if(obj.state.loaded && !obj.children.length) { + c += ' jstree-leaf'; + } + else { + c += obj.state.opened && obj.state.loaded ? ' jstree-open' : ' jstree-closed'; + node.setAttribute('aria-expanded', (obj.state.opened && obj.state.loaded) ); + } + if(obj.parent !== null && m[obj.parent].children[m[obj.parent].children.length - 1] === obj.id) { + c += ' jstree-last'; + } + node.id = obj.id; + node.className = c; + c = ( obj.state.selected ? ' jstree-clicked' : '') + ( obj.state.disabled ? ' jstree-disabled' : ''); + for(j in obj.a_attr) { + if(obj.a_attr.hasOwnProperty(j)) { + if(j === 'href' && obj.a_attr[j] === '#') { continue; } + if(j !== 'class') { + node.childNodes[1].setAttribute(j, obj.a_attr[j]); + } + else { + c += ' ' + obj.a_attr[j]; + } + } + } + if(c.length) { + node.childNodes[1].className = 'jstree-anchor ' + c; + } + if((obj.icon && obj.icon !== true) || obj.icon === false) { + if(obj.icon === false) { + node.childNodes[1].childNodes[0].className += ' jstree-themeicon-hidden'; + } + else if(obj.icon.indexOf('/') === -1 && obj.icon.indexOf('.') === -1) { + node.childNodes[1].childNodes[0].className += ' ' + obj.icon + ' jstree-themeicon-custom'; + } + else { + node.childNodes[1].childNodes[0].style.backgroundImage = 'url('+obj.icon+')'; + node.childNodes[1].childNodes[0].style.backgroundPosition = 'center center'; + node.childNodes[1].childNodes[0].style.backgroundSize = 'auto'; + node.childNodes[1].childNodes[0].className += ' jstree-themeicon-custom'; + } + } + + if(this.settings.core.force_text) { + node.childNodes[1].appendChild(d.createTextNode(obj.text)); + } + else { + node.childNodes[1].innerHTML += obj.text; + } + + if(deep && obj.children.length && obj.state.opened && obj.state.loaded) { + k = d.createElement('UL'); + k.setAttribute('role', 'group'); + k.className = 'jstree-children'; + for(i = 0, j = obj.children.length; i < j; i++) { + k.appendChild(this.redraw_node(obj.children[i], deep, true)); + } + node.appendChild(k); + } + if(old) { + node.appendChild(old); + } + if(!is_callback) { + // append back using par / ind + if(!par) { + par = this.element[0]; + } + for(i = 0, j = par.childNodes.length; i < j; i++) { + if(par.childNodes[i] && par.childNodes[i].className && par.childNodes[i].className.indexOf('jstree-children') !== -1) { + tmp = par.childNodes[i]; + break; + } + } + if(!tmp) { + tmp = d.createElement('UL'); + tmp.setAttribute('role', 'group'); + tmp.className = 'jstree-children'; + par.appendChild(tmp); + } + par = tmp; + + if(ind < par.childNodes.length) { + par.insertBefore(node, par.childNodes[ind]); + } + else { + par.appendChild(node); + } + if(f) { + node.childNodes[1].focus(); + } + } + if(obj.state.opened && !obj.state.loaded) { + obj.state.opened = false; + setTimeout($.proxy(function () { + this.open_node(obj.id, false, 0); + }, this), 0); + } + return node; + }, + /** + * opens a node, revaling its children. If the node is not loaded it will be loaded and opened once ready. + * @name open_node(obj [, callback, animation]) + * @param {mixed} obj the node to open + * @param {Function} callback a function to execute once the node is opened + * @param {Number} animation the animation duration in milliseconds when opening the node (overrides the `core.animation` setting). Use `false` for no animation. + * @trigger open_node.jstree, after_open.jstree, before_open.jstree + */ + open_node : function (obj, callback, animation) { + var t1, t2, d, t; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.open_node(obj[t1], callback, animation); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === '#') { + return false; + } + animation = animation === undefined ? this.settings.core.animation : animation; + if(!this.is_closed(obj)) { + if(callback) { + callback.call(this, obj, false); + } + return false; + } + if(!this.is_loaded(obj)) { + if(this.is_loading(obj)) { + return setTimeout($.proxy(function () { + this.open_node(obj, callback, animation); + }, this), 500); + } + this.load_node(obj, function (o, ok) { + return ok ? this.open_node(o, callback, animation) : (callback ? callback.call(this, o, false) : false); + }); + } + else { + d = this.get_node(obj, true); + t = this; + if(d.length) { + if(obj.children.length && !this._firstChild(d.children('.jstree-children')[0])) { + obj.state.opened = true; + this.redraw_node(obj, true); + d = this.get_node(obj, true); + } + if(!animation) { + this.trigger('before_open', { "node" : obj }); + d[0].className = d[0].className.replace('jstree-closed', 'jstree-open'); + d[0].setAttribute("aria-expanded", true); + } + else { + this.trigger('before_open', { "node" : obj }); + d + .children(".jstree-children").css("display","none").end() + .removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded", true) + .children(".jstree-children").stop(true, true) + .slideDown(animation, function () { + this.style.display = ""; + t.trigger("after_open", { "node" : obj }); + }); + } + } + obj.state.opened = true; + if(callback) { + callback.call(this, obj, true); + } + if(!d.length) { + /** + * triggered when a node is about to be opened (if the node is supposed to be in the DOM, it will be, but it won't be visible yet) + * @event + * @name before_open.jstree + * @param {Object} node the opened node + */ + this.trigger('before_open', { "node" : obj }); + } + /** + * triggered when a node is opened (if there is an animation it will not be completed yet) + * @event + * @name open_node.jstree + * @param {Object} node the opened node + */ + this.trigger('open_node', { "node" : obj }); + if(!animation || !d.length) { + /** + * triggered when a node is opened and the animation is complete + * @event + * @name after_open.jstree + * @param {Object} node the opened node + */ + this.trigger("after_open", { "node" : obj }); + } + } + }, + /** + * opens every parent of a node (node should be loaded) + * @name _open_to(obj) + * @param {mixed} obj the node to reveal + * @private + */ + _open_to : function (obj) { + obj = this.get_node(obj); + if(!obj || obj.id === '#') { + return false; + } + var i, j, p = obj.parents; + for(i = 0, j = p.length; i < j; i+=1) { + if(i !== '#') { + this.open_node(p[i], false, 0); + } + } + return $('#' + obj.id.replace($.jstree.idregex,'\\$&'), this.element); + }, + /** + * closes a node, hiding its children + * @name close_node(obj [, animation]) + * @param {mixed} obj the node to close + * @param {Number} animation the animation duration in milliseconds when closing the node (overrides the `core.animation` setting). Use `false` for no animation. + * @trigger close_node.jstree, after_close.jstree + */ + close_node : function (obj, animation) { + var t1, t2, t, d; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.close_node(obj[t1], animation); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === '#') { + return false; + } + if(this.is_closed(obj)) { + return false; + } + animation = animation === undefined ? this.settings.core.animation : animation; + t = this; + d = this.get_node(obj, true); + if(d.length) { + if(!animation) { + d[0].className = d[0].className.replace('jstree-open', 'jstree-closed'); + d.attr("aria-expanded", false).children('.jstree-children').remove(); + } + else { + d + .children(".jstree-children").attr("style","display:block !important").end() + .removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded", false) + .children(".jstree-children").stop(true, true).slideUp(animation, function () { + this.style.display = ""; + d.children('.jstree-children').remove(); + t.trigger("after_close", { "node" : obj }); + }); + } + } + obj.state.opened = false; + /** + * triggered when a node is closed (if there is an animation it will not be complete yet) + * @event + * @name close_node.jstree + * @param {Object} node the closed node + */ + this.trigger('close_node',{ "node" : obj }); + if(!animation || !d.length) { + /** + * triggered when a node is closed and the animation is complete + * @event + * @name after_close.jstree + * @param {Object} node the closed node + */ + this.trigger("after_close", { "node" : obj }); + } + }, + /** + * toggles a node - closing it if it is open, opening it if it is closed + * @name toggle_node(obj) + * @param {mixed} obj the node to toggle + */ + toggle_node : function (obj) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.toggle_node(obj[t1]); + } + return true; + } + if(this.is_closed(obj)) { + return this.open_node(obj); + } + if(this.is_open(obj)) { + return this.close_node(obj); + } + }, + /** + * opens all nodes within a node (or the tree), revaling their children. If the node is not loaded it will be loaded and opened once ready. + * @name open_all([obj, animation, original_obj]) + * @param {mixed} obj the node to open recursively, omit to open all nodes in the tree + * @param {Number} animation the animation duration in milliseconds when opening the nodes, the default is no animation + * @param {jQuery} reference to the node that started the process (internal use) + * @trigger open_all.jstree + */ + open_all : function (obj, animation, original_obj) { + if(!obj) { obj = '#'; } + obj = this.get_node(obj); + if(!obj) { return false; } + var dom = obj.id === '#' ? this.get_container_ul() : this.get_node(obj, true), i, j, _this; + if(!dom.length) { + for(i = 0, j = obj.children_d.length; i < j; i++) { + if(this.is_closed(this._model.data[obj.children_d[i]])) { + this._model.data[obj.children_d[i]].state.opened = true; + } + } + return this.trigger('open_all', { "node" : obj }); + } + original_obj = original_obj || dom; + _this = this; + dom = this.is_closed(obj) ? dom.find('.jstree-closed').addBack() : dom.find('.jstree-closed'); + dom.each(function () { + _this.open_node( + this, + function(node, status) { if(status && this.is_parent(node)) { this.open_all(node, animation, original_obj); } }, + animation || 0 + ); + }); + if(original_obj.find('.jstree-closed').length === 0) { + /** + * triggered when an `open_all` call completes + * @event + * @name open_all.jstree + * @param {Object} node the opened node + */ + this.trigger('open_all', { "node" : this.get_node(original_obj) }); + } + }, + /** + * closes all nodes within a node (or the tree), revaling their children + * @name close_all([obj, animation]) + * @param {mixed} obj the node to close recursively, omit to close all nodes in the tree + * @param {Number} animation the animation duration in milliseconds when closing the nodes, the default is no animation + * @trigger close_all.jstree + */ + close_all : function (obj, animation) { + if(!obj) { obj = '#'; } + obj = this.get_node(obj); + if(!obj) { return false; } + var dom = obj.id === '#' ? this.get_container_ul() : this.get_node(obj, true), + _this = this, i, j; + if(!dom.length) { + for(i = 0, j = obj.children_d.length; i < j; i++) { + this._model.data[obj.children_d[i]].state.opened = false; + } + return this.trigger('close_all', { "node" : obj }); + } + dom = this.is_open(obj) ? dom.find('.jstree-open').addBack() : dom.find('.jstree-open'); + $(dom.get().reverse()).each(function () { _this.close_node(this, animation || 0); }); + /** + * triggered when an `close_all` call completes + * @event + * @name close_all.jstree + * @param {Object} node the closed node + */ + this.trigger('close_all', { "node" : obj }); + }, + /** + * checks if a node is disabled (not selectable) + * @name is_disabled(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_disabled : function (obj) { + obj = this.get_node(obj); + return obj && obj.state && obj.state.disabled; + }, + /** + * enables a node - so that it can be selected + * @name enable_node(obj) + * @param {mixed} obj the node to enable + * @trigger enable_node.jstree + */ + enable_node : function (obj) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.enable_node(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === '#') { + return false; + } + obj.state.disabled = false; + this.get_node(obj,true).children('.jstree-anchor').removeClass('jstree-disabled'); + /** + * triggered when an node is enabled + * @event + * @name enable_node.jstree + * @param {Object} node the enabled node + */ + this.trigger('enable_node', { 'node' : obj }); + }, + /** + * disables a node - so that it can not be selected + * @name disable_node(obj) + * @param {mixed} obj the node to disable + * @trigger disable_node.jstree + */ + disable_node : function (obj) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.disable_node(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === '#') { + return false; + } + obj.state.disabled = true; + this.get_node(obj,true).children('.jstree-anchor').addClass('jstree-disabled'); + /** + * triggered when an node is disabled + * @event + * @name disable_node.jstree + * @param {Object} node the disabled node + */ + this.trigger('disable_node', { 'node' : obj }); + }, + /** + * called when a node is selected by the user. Used internally. + * @private + * @name activate_node(obj, e) + * @param {mixed} obj the node + * @param {Object} e the related event + * @trigger activate_node.jstree + */ + activate_node : function (obj, e) { + if(this.is_disabled(obj)) { + return false; + } + + // ensure last_clicked is still in the DOM, make it fresh (maybe it was moved?) and make sure it is still selected, if not - make last_clicked the last selected node + this._data.core.last_clicked = this._data.core.last_clicked && this._data.core.last_clicked.id !== undefined ? this.get_node(this._data.core.last_clicked.id) : null; + if(this._data.core.last_clicked && !this._data.core.last_clicked.state.selected) { this._data.core.last_clicked = null; } + if(!this._data.core.last_clicked && this._data.core.selected.length) { this._data.core.last_clicked = this.get_node(this._data.core.selected[this._data.core.selected.length - 1]); } + + if(!this.settings.core.multiple || (!e.metaKey && !e.ctrlKey && !e.shiftKey) || (e.shiftKey && (!this._data.core.last_clicked || !this.get_parent(obj) || this.get_parent(obj) !== this._data.core.last_clicked.parent ) )) { + if(!this.settings.core.multiple && (e.metaKey || e.ctrlKey || e.shiftKey) && this.is_selected(obj)) { + this.deselect_node(obj, false, e); + } + else { + this.deselect_all(true); + this.select_node(obj, false, false, e); + this._data.core.last_clicked = this.get_node(obj); + } + } + else { + if(e.shiftKey) { + var o = this.get_node(obj).id, + l = this._data.core.last_clicked.id, + p = this.get_node(this._data.core.last_clicked.parent).children, + c = false, + i, j; + for(i = 0, j = p.length; i < j; i += 1) { + // separate IFs work whem o and l are the same + if(p[i] === o) { + c = !c; + } + if(p[i] === l) { + c = !c; + } + if(c || p[i] === o || p[i] === l) { + this.select_node(p[i], false, false, e); + } + else { + this.deselect_node(p[i], false, e); + } + } + } + else { + if(!this.is_selected(obj)) { + this.select_node(obj, false, false, e); + } + else { + this.deselect_node(obj, false, e); + } + } + } + /** + * triggered when an node is clicked or intercated with by the user + * @event + * @name activate_node.jstree + * @param {Object} node + */ + this.trigger('activate_node', { 'node' : this.get_node(obj) }); + }, + /** + * applies the hover state on a node, called when a node is hovered by the user. Used internally. + * @private + * @name hover_node(obj) + * @param {mixed} obj + * @trigger hover_node.jstree + */ + hover_node : function (obj) { + obj = this.get_node(obj, true); + if(!obj || !obj.length || obj.children('.jstree-hovered').length) { + return false; + } + var o = this.element.find('.jstree-hovered'), t = this.element; + if(o && o.length) { this.dehover_node(o); } + + obj.children('.jstree-anchor').addClass('jstree-hovered'); + /** + * triggered when an node is hovered + * @event + * @name hover_node.jstree + * @param {Object} node + */ + this.trigger('hover_node', { 'node' : this.get_node(obj) }); + setTimeout(function () { t.attr('aria-activedescendant', obj[0].id); obj.attr('aria-selected', true); }, 0); + }, + /** + * removes the hover state from a nodecalled when a node is no longer hovered by the user. Used internally. + * @private + * @name dehover_node(obj) + * @param {mixed} obj + * @trigger dehover_node.jstree + */ + dehover_node : function (obj) { + obj = this.get_node(obj, true); + if(!obj || !obj.length || !obj.children('.jstree-hovered').length) { + return false; + } + obj.attr('aria-selected', false).children('.jstree-anchor').removeClass('jstree-hovered'); + /** + * triggered when an node is no longer hovered + * @event + * @name dehover_node.jstree + * @param {Object} node + */ + this.trigger('dehover_node', { 'node' : this.get_node(obj) }); + }, + /** + * select a node + * @name select_node(obj [, supress_event, prevent_open]) + * @param {mixed} obj an array can be used to select multiple nodes + * @param {Boolean} supress_event if set to `true` the `changed.jstree` event won't be triggered + * @param {Boolean} prevent_open if set to `true` parents of the selected node won't be opened + * @trigger select_node.jstree, changed.jstree + */ + select_node : function (obj, supress_event, prevent_open, e) { + var dom, t1, t2, th; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.select_node(obj[t1], supress_event, prevent_open, e); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === '#') { + return false; + } + dom = this.get_node(obj, true); + if(!obj.state.selected) { + obj.state.selected = true; + this._data.core.selected.push(obj.id); + if(!prevent_open) { + dom = this._open_to(obj); + } + if(dom && dom.length) { + dom.children('.jstree-anchor').addClass('jstree-clicked'); + } + /** + * triggered when an node is selected + * @event + * @name select_node.jstree + * @param {Object} node + * @param {Array} selected the current selection + * @param {Object} event the event (if any) that triggered this select_node + */ + this.trigger('select_node', { 'node' : obj, 'selected' : this._data.core.selected, 'event' : e }); + if(!supress_event) { + /** + * triggered when selection changes + * @event + * @name changed.jstree + * @param {Object} node + * @param {Object} action the action that caused the selection to change + * @param {Array} selected the current selection + * @param {Object} event the event (if any) that triggered this changed event + */ + this.trigger('changed', { 'action' : 'select_node', 'node' : obj, 'selected' : this._data.core.selected, 'event' : e }); + } + } + }, + /** + * deselect a node + * @name deselect_node(obj [, supress_event]) + * @param {mixed} obj an array can be used to deselect multiple nodes + * @param {Boolean} supress_event if set to `true` the `changed.jstree` event won't be triggered + * @trigger deselect_node.jstree, changed.jstree + */ + deselect_node : function (obj, supress_event, e) { + var t1, t2, dom; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.deselect_node(obj[t1], supress_event, e); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === '#') { + return false; + } + dom = this.get_node(obj, true); + if(obj.state.selected) { + obj.state.selected = false; + this._data.core.selected = $.vakata.array_remove_item(this._data.core.selected, obj.id); + if(dom.length) { + dom.children('.jstree-anchor').removeClass('jstree-clicked'); + } + /** + * triggered when an node is deselected + * @event + * @name deselect_node.jstree + * @param {Object} node + * @param {Array} selected the current selection + * @param {Object} event the event (if any) that triggered this deselect_node + */ + this.trigger('deselect_node', { 'node' : obj, 'selected' : this._data.core.selected, 'event' : e }); + if(!supress_event) { + this.trigger('changed', { 'action' : 'deselect_node', 'node' : obj, 'selected' : this._data.core.selected, 'event' : e }); + } + } + }, + /** + * select all nodes in the tree + * @name select_all([supress_event]) + * @param {Boolean} supress_event if set to `true` the `changed.jstree` event won't be triggered + * @trigger select_all.jstree, changed.jstree + */ + select_all : function (supress_event) { + var tmp = this._data.core.selected.concat([]), i, j; + this._data.core.selected = this._model.data['#'].children_d.concat(); + for(i = 0, j = this._data.core.selected.length; i < j; i++) { + if(this._model.data[this._data.core.selected[i]]) { + this._model.data[this._data.core.selected[i]].state.selected = true; + } + } + this.redraw(true); + /** + * triggered when all nodes are selected + * @event + * @name select_all.jstree + * @param {Array} selected the current selection + */ + this.trigger('select_all', { 'selected' : this._data.core.selected }); + if(!supress_event) { + this.trigger('changed', { 'action' : 'select_all', 'selected' : this._data.core.selected, 'old_selection' : tmp }); + } + }, + /** + * deselect all selected nodes + * @name deselect_all([supress_event]) + * @param {Boolean} supress_event if set to `true` the `changed.jstree` event won't be triggered + * @trigger deselect_all.jstree, changed.jstree + */ + deselect_all : function (supress_event) { + var tmp = this._data.core.selected.concat([]), i, j; + for(i = 0, j = this._data.core.selected.length; i < j; i++) { + if(this._model.data[this._data.core.selected[i]]) { + this._model.data[this._data.core.selected[i]].state.selected = false; + } + } + this._data.core.selected = []; + this.element.find('.jstree-clicked').removeClass('jstree-clicked'); + /** + * triggered when all nodes are deselected + * @event + * @name deselect_all.jstree + * @param {Object} node the previous selection + * @param {Array} selected the current selection + */ + this.trigger('deselect_all', { 'selected' : this._data.core.selected, 'node' : tmp }); + if(!supress_event) { + this.trigger('changed', { 'action' : 'deselect_all', 'selected' : this._data.core.selected, 'old_selection' : tmp }); + } + }, + /** + * checks if a node is selected + * @name is_selected(obj) + * @param {mixed} obj + * @return {Boolean} + */ + is_selected : function (obj) { + obj = this.get_node(obj); + if(!obj || obj.id === '#') { + return false; + } + return obj.state.selected; + }, + /** + * get an array of all selected nodes + * @name get_selected([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + */ + get_selected : function (full) { + return full ? $.map(this._data.core.selected, $.proxy(function (i) { return this.get_node(i); }, this)) : this._data.core.selected.slice(); + }, + /** + * get an array of all top level selected nodes (ignoring children of selected nodes) + * @name get_top_selected([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + */ + get_top_selected : function (full) { + var tmp = this.get_selected(true), + obj = {}, i, j, k, l; + for(i = 0, j = tmp.length; i < j; i++) { + obj[tmp[i].id] = tmp[i]; + } + for(i = 0, j = tmp.length; i < j; i++) { + for(k = 0, l = tmp[i].children_d.length; k < l; k++) { + if(obj[tmp[i].children_d[k]]) { + delete obj[tmp[i].children_d[k]]; + } + } + } + tmp = []; + for(i in obj) { + if(obj.hasOwnProperty(i)) { + tmp.push(i); + } + } + return full ? $.map(tmp, $.proxy(function (i) { return this.get_node(i); }, this)) : tmp; + }, + /** + * get an array of all bottom level selected nodes (ignoring selected parents) + * @name get_bottom_selected([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + */ + get_bottom_selected : function (full) { + var tmp = this.get_selected(true), + obj = [], i, j; + for(i = 0, j = tmp.length; i < j; i++) { + if(!tmp[i].children.length) { + obj.push(tmp[i].id); + } + } + return full ? $.map(obj, $.proxy(function (i) { return this.get_node(i); }, this)) : obj; + }, + /** + * gets the current state of the tree so that it can be restored later with `set_state(state)`. Used internally. + * @name get_state() + * @private + * @return {Object} + */ + get_state : function () { + var state = { + 'core' : { + 'open' : [], + 'scroll' : { + 'left' : this.element.scrollLeft(), + 'top' : this.element.scrollTop() + }, + /*! + 'themes' : { + 'name' : this.get_theme(), + 'icons' : this._data.core.themes.icons, + 'dots' : this._data.core.themes.dots + }, + */ + 'selected' : [] + } + }, i; + for(i in this._model.data) { + if(this._model.data.hasOwnProperty(i)) { + if(i !== '#') { + if(this._model.data[i].state.opened) { + state.core.open.push(i); + } + if(this._model.data[i].state.selected) { + state.core.selected.push(i); + } + } + } + } + return state; + }, + /** + * sets the state of the tree. Used internally. + * @name set_state(state [, callback]) + * @private + * @param {Object} state the state to restore + * @param {Function} callback an optional function to execute once the state is restored. + * @trigger set_state.jstree + */ + set_state : function (state, callback) { + if(state) { + if(state.core) { + var res, n, t, _this; + if(state.core.open) { + if(!$.isArray(state.core.open)) { + delete state.core.open; + this.set_state(state, callback); + return false; + } + res = true; + n = false; + t = this; + $.each(state.core.open.concat([]), function (i, v) { + n = t.get_node(v); + if(n) { + if(t.is_loaded(v)) { + if(t.is_closed(v)) { + t.open_node(v, false, 0); + } + if(state && state.core && state.core.open) { + $.vakata.array_remove_item(state.core.open, v); + } + } + else { + if(!t.is_loading(v)) { + t.open_node(v, $.proxy(function (o, s) { + if(!s && state && state.core && state.core.open) { + $.vakata.array_remove_item(state.core.open, o.id); + } + this.set_state(state, callback); + }, t), 0); + } + // there will be some async activity - so wait for it + res = false; + } + } + }); + if(res) { + delete state.core.open; + this.set_state(state, callback); + } + return false; + } + if(state.core.scroll) { + if(state.core.scroll && state.core.scroll.left !== undefined) { + this.element.scrollLeft(state.core.scroll.left); + } + if(state.core.scroll && state.core.scroll.top !== undefined) { + this.element.scrollTop(state.core.scroll.top); + } + delete state.core.scroll; + this.set_state(state, callback); + return false; + } + /*! + if(state.core.themes) { + if(state.core.themes.name) { + this.set_theme(state.core.themes.name); + } + if(typeof state.core.themes.dots !== 'undefined') { + this[ state.core.themes.dots ? "show_dots" : "hide_dots" ](); + } + if(typeof state.core.themes.icons !== 'undefined') { + this[ state.core.themes.icons ? "show_icons" : "hide_icons" ](); + } + delete state.core.themes; + delete state.core.open; + this.set_state(state, callback); + return false; + } + */ + if(state.core.selected) { + _this = this; + this.deselect_all(); + $.each(state.core.selected, function (i, v) { + _this.select_node(v); + }); + delete state.core.selected; + this.set_state(state, callback); + return false; + } + if($.isEmptyObject(state.core)) { + delete state.core; + this.set_state(state, callback); + return false; + } + } + if($.isEmptyObject(state)) { + state = null; + if(callback) { callback.call(this); } + /** + * triggered when a `set_state` call completes + * @event + * @name set_state.jstree + */ + this.trigger('set_state'); + return false; + } + return true; + } + return false; + }, + /** + * refreshes the tree - all nodes are reloaded with calls to `load_node`. + * @name refresh() + * @param {Boolean} skip_loading an option to skip showing the loading indicator + * @param {Mixed} forget_state if set to `true` state will not be reapplied, if set to a function (receiving the current state as argument) the result of that function will be used as state + * @trigger refresh.jstree + */ + refresh : function (skip_loading, forget_state) { + this._data.core.state = forget_state === true ? {} : this.get_state(); + if(forget_state && $.isFunction(forget_state)) { this._data.core.state = forget_state.call(this, this._data.core.state); } + this._cnt = 0; + this._model.data = { + '#' : { + id : '#', + parent : null, + parents : [], + children : [], + children_d : [], + state : { loaded : false } + } + }; + var c = this.get_container_ul()[0].className; + if(!skip_loading) { + this.element.html("<"+"ul class='"+c+"'><"+"li class='jstree-initial-node jstree-loading jstree-leaf jstree-last'><i class='jstree-icon jstree-ocl'></i><"+"a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>" + this.get_string("Loading ...") + "</a></li></ul>"); + } + this.load_node('#', function (o, s) { + if(s) { + this.get_container_ul()[0].className = c; + this.set_state($.extend(true, {}, this._data.core.state), function () { + /** + * triggered when a `refresh` call completes + * @event + * @name refresh.jstree + */ + this.trigger('refresh'); + }); + } + this._data.core.state = null; + }); + }, + /** + * refreshes a node in the tree (reload its children) all opened nodes inside that node are reloaded with calls to `load_node`. + * @name refresh_node(obj) + * @param {mixed} obj the node + * @trigger refresh_node.jstree + */ + refresh_node : function (obj) { + obj = this.get_node(obj); + if(!obj || obj.id === '#') { return false; } + var opened = [], to_load = [], s = this._data.core.selected.concat([]); + to_load.push(obj.id); + if(obj.state.opened === true) { opened.push(obj.id); } + this.get_node(obj, true).find('.jstree-open').each(function() { opened.push(this.id); }); + this._load_nodes(to_load, $.proxy(function (nodes) { + this.open_node(opened, false, 0); + this.select_node(this._data.core.selected); + /** + * triggered when a node is refreshed + * @event + * @name refresh_node.jstree + * @param {Object} node - the refreshed node + * @param {Array} nodes - an array of the IDs of the nodes that were reloaded + */ + this.trigger('refresh_node', { 'node' : obj, 'nodes' : nodes }); + }, this)); + }, + /** + * set (change) the ID of a node + * @name set_id(obj, id) + * @param {mixed} obj the node + * @param {String} id the new ID + * @return {Boolean} + */ + set_id : function (obj, id) { + obj = this.get_node(obj); + if(!obj || obj.id === '#') { return false; } + var i, j, m = this._model.data; + id = id.toString(); + // update parents (replace current ID with new one in children and children_d) + m[obj.parent].children[$.inArray(obj.id, m[obj.parent].children)] = id; + for(i = 0, j = obj.parents.length; i < j; i++) { + m[obj.parents[i]].children_d[$.inArray(obj.id, m[obj.parents[i]].children_d)] = id; + } + // update children (replace current ID with new one in parent and parents) + for(i = 0, j = obj.children.length; i < j; i++) { + m[obj.children[i]].parent = id; + } + for(i = 0, j = obj.children_d.length; i < j; i++) { + m[obj.children_d[i]].parents[$.inArray(obj.id, m[obj.children_d[i]].parents)] = id; + } + i = $.inArray(obj.id, this._data.core.selected); + if(i !== -1) { this._data.core.selected[i] = id; } + // update model and obj itself (obj.id, this._model.data[KEY]) + i = this.get_node(obj.id, true); + if(i) { + i.attr('id', id); + } + delete m[obj.id]; + obj.id = id; + m[id] = obj; + return true; + }, + /** + * get the text value of a node + * @name get_text(obj) + * @param {mixed} obj the node + * @return {String} + */ + get_text : function (obj) { + obj = this.get_node(obj); + return (!obj || obj.id === '#') ? false : obj.text; + }, + /** + * set the text value of a node. Used internally, please use `rename_node(obj, val)`. + * @private + * @name set_text(obj, val) + * @param {mixed} obj the node, you can pass an array to set the text on multiple nodes + * @param {String} val the new text value + * @return {Boolean} + * @trigger set_text.jstree + */ + set_text : function (obj, val) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.set_text(obj[t1], val); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === '#') { return false; } + obj.text = val; + if(this.get_node(obj, true).length) { + this.redraw_node(obj.id); + } + /** + * triggered when a node text value is changed + * @event + * @name set_text.jstree + * @param {Object} obj + * @param {String} text the new value + */ + this.trigger('set_text',{ "obj" : obj, "text" : val }); + return true; + }, + /** + * gets a JSON representation of a node (or the whole tree) + * @name get_json([obj, options]) + * @param {mixed} obj + * @param {Object} options + * @param {Boolean} options.no_state do not return state information + * @param {Boolean} options.no_id do not return ID + * @param {Boolean} options.no_children do not include children + * @param {Boolean} options.no_data do not include node data + * @param {Boolean} options.flat return flat JSON instead of nested + * @return {Object} + */ + get_json : function (obj, options, flat) { + obj = this.get_node(obj || '#'); + if(!obj) { return false; } + if(options && options.flat && !flat) { flat = []; } + var tmp = { + 'id' : obj.id, + 'text' : obj.text, + 'icon' : this.get_icon(obj), + 'li_attr' : obj.li_attr, + 'a_attr' : obj.a_attr, + 'state' : {}, + 'data' : options && options.no_data ? false : obj.data + //( this.get_node(obj, true).length ? this.get_node(obj, true).data() : obj.data ), + }, i, j; + if(options && options.flat) { + tmp.parent = obj.parent; + } + else { + tmp.children = []; + } + if(!options || !options.no_state) { + for(i in obj.state) { + if(obj.state.hasOwnProperty(i)) { + tmp.state[i] = obj.state[i]; + } + } + } + if(options && options.no_id) { + delete tmp.id; + if(tmp.li_attr && tmp.li_attr.id) { + delete tmp.li_attr.id; + } + } + if(options && options.flat && obj.id !== '#') { + flat.push(tmp); + } + if(!options || !options.no_children) { + for(i = 0, j = obj.children.length; i < j; i++) { + if(options && options.flat) { + this.get_json(obj.children[i], options, flat); + } + else { + tmp.children.push(this.get_json(obj.children[i], options)); + } + } + } + return options && options.flat ? flat : (obj.id === '#' ? tmp.children : tmp); + }, + /** + * create a new node (do not confuse with load_node) + * @name create_node([obj, node, pos, callback, is_loaded]) + * @param {mixed} par the parent node (to create a root node use either "#" (string) or `null`) + * @param {mixed} node the data for the new node (a valid JSON object, or a simple string with the name) + * @param {mixed} pos the index at which to insert the node, "first" and "last" are also supported, default is "last" + * @param {Function} callback a function to be called once the node is created + * @param {Boolean} is_loaded internal argument indicating if the parent node was succesfully loaded + * @return {String} the ID of the newly create node + * @trigger model.jstree, create_node.jstree + */ + create_node : function (par, node, pos, callback, is_loaded) { + if(par === null) { par = "#"; } + par = this.get_node(par); + + if(!par) { return false; } + pos = pos === undefined ? "last" : pos; + if(!pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) { + return this.load_node(par, function () { this.create_node(par, node, pos, callback, true); }); + } + if(!node) { node = { "text" : this.get_string('New node') }; } + if(node.text === undefined) { node.text = this.get_string('New node'); } + var tmp, dpc, i, j; + if(par.id === '#') { + if(pos === "before") { pos = "first"; } + if(pos === "after") { pos = "last"; } + } + + switch(pos) { + case "before": + tmp = this.get_node(par.parent); + pos = $.inArray(par.id, tmp.children); + par = tmp; + break; + case "after" : + tmp = this.get_node(par.parent); + pos = $.inArray(par.id, tmp.children) + 1; + par = tmp; + break; + case "inside": + case "first": + pos = 0; + break; + case "last": + pos = par.children.length; + break; + default: + if(!pos) { pos = 0; } + break; + } + if(pos > par.children.length) { pos = par.children.length; } + if(!node.id) { node.id = true; } + + + + if(!this.check("create_node", node, par, pos)) { + alert("error"); + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + if(node.id === true) { delete node.id; } + node = this._parse_model_from_json(node, par.id, par.parents.concat()); + if(!node) { return false; } + tmp = this.get_node(node); + dpc = []; + dpc.push(node); + dpc = dpc.concat(tmp.children_d); + this.trigger('model', { "nodes" : dpc, "parent" : par.id }); + + + par.children_d = par.children_d.concat(dpc); + for(i = 0, j = par.parents.length; i < j; i++) { + this._model.data[par.parents[i]].children_d = this._model.data[par.parents[i]].children_d.concat(dpc); + } + node = tmp; + tmp = []; + for(i = 0, j = par.children.length; i < j; i++) { + tmp[i >= pos ? i+1 : i] = par.children[i]; + } + tmp[pos] = node.id; + par.children = tmp; + + + this.redraw_node(par, true); + if(callback) { callback.call(this, this.get_node(node)); } + /** + * triggered when a node is created + * @event + * @name create_node.jstree + * @param {Object} node + * @param {String} parent the parent's ID + * @param {Number} position the position of the new node among the parent's children + */ + this.trigger('create_node', { "node" : this.get_node(node), "parent" : par.id, "position" : pos }); + + return node.id; + }, + /** + * set the text value of a node + * @name rename_node(obj, val) + * @param {mixed} obj the node, you can pass an array to rename multiple nodes to the same name + * @param {String} val the new text value + * @return {Boolean} + * @trigger rename_node.jstree + */ + rename_node : function (obj, val) { + var t1, t2, old; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.rename_node(obj[t1], val); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === '#') { return false; } + old = obj.text; + if(!this.check("rename_node", obj, this.get_parent(obj), val)) { + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + this.set_text(obj, val); // .apply(this, Array.prototype.slice.call(arguments)) + /** + * triggered when a node is renamed + * @event + * @name rename_node.jstree + * @param {Object} node + * @param {String} text the new value + * @param {String} old the old value + */ + this.trigger('rename_node', { "node" : obj, "text" : val, "old" : old }); + return true; + }, + /** + * remove a node + * @name delete_node(obj) + * @param {mixed} obj the node, you can pass an array to delete multiple nodes + * @return {Boolean} + * @trigger delete_node.jstree, changed.jstree + */ + delete_node : function (obj) { + var t1, t2, par, pos, tmp, i, j, k, l, c; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.delete_node(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === '#') { return false; } + par = this.get_node(obj.parent); + pos = $.inArray(obj.id, par.children); + c = false; + if(!this.check("delete_node", obj, par, pos)) { + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + if(pos !== -1) { + par.children = $.vakata.array_remove(par.children, pos); + } + tmp = obj.children_d.concat([]); + tmp.push(obj.id); + for(k = 0, l = tmp.length; k < l; k++) { + for(i = 0, j = obj.parents.length; i < j; i++) { + pos = $.inArray(tmp[k], this._model.data[obj.parents[i]].children_d); + if(pos !== -1) { + this._model.data[obj.parents[i]].children_d = $.vakata.array_remove(this._model.data[obj.parents[i]].children_d, pos); + } + } + if(this._model.data[tmp[k]].state.selected) { + c = true; + pos = $.inArray(tmp[k], this._data.core.selected); + if(pos !== -1) { + this._data.core.selected = $.vakata.array_remove(this._data.core.selected, pos); + } + } + } + /** + * triggered when a node is deleted + * @event + * @name delete_node.jstree + * @param {Object} node + * @param {String} parent the parent's ID + */ + this.trigger('delete_node', { "node" : obj, "parent" : par.id }); + if(c) { + this.trigger('changed', { 'action' : 'delete_node', 'node' : obj, 'selected' : this._data.core.selected, 'parent' : par.id }); + } + for(k = 0, l = tmp.length; k < l; k++) { + delete this._model.data[tmp[k]]; + } + this.redraw_node(par, true); + return true; + }, + /** + * check if an operation is premitted on the tree. Used internally. + * @private + * @name check(chk, obj, par, pos) + * @param {String} chk the operation to check, can be "create_node", "rename_node", "delete_node", "copy_node" or "move_node" + * @param {mixed} obj the node + * @param {mixed} par the parent + * @param {mixed} pos the position to insert at, or if "rename_node" - the new name + * @param {mixed} more some various additional information, for example if a "move_node" operations is triggered by DND this will be the hovered node + * @return {Boolean} + */ + check : function (chk, obj, par, pos, more) { + obj = obj && obj.id ? obj : this.get_node(obj); + par = par && par.id ? par : this.get_node(par); + var tmp = chk.match(/^move_node|copy_node|create_node$/i) ? par : obj, + chc = this.settings.core.check_callback; + if(chk === "move_node" || chk === "copy_node") { + if((!more || !more.is_multi) && (obj.id === par.id || $.inArray(obj.id, par.children) === pos || $.inArray(par.id, obj.children_d) !== -1)) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'core', 'id' : 'core_01', 'reason' : 'Moving parent inside child', 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + return false; + } + } + if(tmp && tmp.data) { tmp = tmp.data; } + if(tmp && tmp.functions && (tmp.functions[chk] === false || tmp.functions[chk] === true)) { + if(tmp.functions[chk] === false) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'core', 'id' : 'core_02', 'reason' : 'Node data prevents function: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + } + return tmp.functions[chk]; + } + + if(chc === false || ($.isFunction(chc) && chc.call(this, chk, obj, par, pos, more) === false) || (chc && chc[chk] === false)) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'core', 'id' : 'core_03', 'reason' : 'User config for core.check_callback prevents function: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + return false; + } + + + return true; + }, + /** + * get the last error + * @name last_error() + * @return {Object} + */ + last_error : function () { + return this._data.core.last_error; + }, + /** + * move a node to a new parent + * @name move_node(obj, par [, pos, callback, is_loaded]) + * @param {mixed} obj the node to move, pass an array to move multiple nodes + * @param {mixed} par the new parent + * @param {mixed} pos the position to insert at (besides integer values, "first" and "last" are supported, as well as "before" and "after"), defaults to integer `0` + * @param {function} callback a function to call once the move is completed, receives 3 arguments - the node, the new parent and the position + * @param {Boolean} internal parameter indicating if the parent node has been loaded + * @trigger move_node.jstree + */ + move_node : function (obj, par, pos, callback, is_loaded) { + var t1, t2, old_par, old_pos, new_par, old_ins, is_multi, dpc, tmp, i, j, k, l, p; + + par = this.get_node(par); + pos = pos === undefined ? 0 : pos; + if(!par) { return false; } + if(!pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) { + return this.load_node(par, function () { this.move_node(obj, par, pos, callback, true); }); + } + + if($.isArray(obj)) { + obj = obj.reverse().slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.move_node(obj[t1], par, pos, callback, is_loaded); + } + return true; + } + obj = obj && obj.id ? obj : this.get_node(obj); + + if(!obj || obj.id === '#') { return false; } + + old_par = (obj.parent || '#').toString(); + new_par = (!pos.toString().match(/^(before|after)$/) || par.id === '#') ? par : this.get_node(par.parent); + old_ins = obj.instance ? obj.instance : (this._model.data[obj.id] ? this : $.jstree.reference(obj.id)); + is_multi = !old_ins || !old_ins._id || (this._id !== old_ins._id); + old_pos = old_ins && old_ins._id && old_par && old_ins._model.data[old_par] && old_ins._model.data[old_par].children ? $.inArray(obj.id, old_ins._model.data[old_par].children) : -1; + if(is_multi) { + if(this.copy_node(obj, par, pos, callback, is_loaded)) { + if(old_ins) { old_ins.delete_node(obj); } + return true; + } + return false; + } + //var m = this._model.data; + if(new_par.id === '#') { + if(pos === "before") { pos = "first"; } + if(pos === "after") { pos = "last"; } + } + switch(pos) { + case "before": + pos = $.inArray(par.id, new_par.children); + break; + case "after" : + pos = $.inArray(par.id, new_par.children) + 1; + break; + case "inside": + case "first": + pos = 0; + break; + case "last": + pos = new_par.children.length; + break; + default: + if(!pos) { pos = 0; } + break; + } + if(pos > new_par.children.length) { pos = new_par.children.length; } + if(!this.check("move_node", obj, new_par, pos, { 'core' : true, 'is_multi' : (old_ins && old_ins._id && old_ins._id !== this._id), 'is_foreign' : (!old_ins || !old_ins._id) })) { + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + if(obj.parent === new_par.id) { + dpc = new_par.children.concat(); + tmp = $.inArray(obj.id, dpc); + if(tmp !== -1) { + dpc = $.vakata.array_remove(dpc, tmp); + if(pos > tmp) { pos--; } + } + tmp = []; + for(i = 0, j = dpc.length; i < j; i++) { + tmp[i >= pos ? i+1 : i] = dpc[i]; + } + tmp[pos] = obj.id; + new_par.children = tmp; + this._node_changed(new_par.id); + this.redraw(new_par.id === '#'); + } + else { + // clean old parent and up + tmp = obj.children_d.concat(); + tmp.push(obj.id); + for(i = 0, j = obj.parents.length; i < j; i++) { + dpc = []; + p = old_ins._model.data[obj.parents[i]].children_d; + for(k = 0, l = p.length; k < l; k++) { + if($.inArray(p[k], tmp) === -1) { + dpc.push(p[k]); + } + } + old_ins._model.data[obj.parents[i]].children_d = dpc; + } + old_ins._model.data[old_par].children = $.vakata.array_remove_item(old_ins._model.data[old_par].children, obj.id); + + // insert into new parent and up + for(i = 0, j = new_par.parents.length; i < j; i++) { + this._model.data[new_par.parents[i]].children_d = this._model.data[new_par.parents[i]].children_d.concat(tmp); + } + dpc = []; + for(i = 0, j = new_par.children.length; i < j; i++) { + dpc[i >= pos ? i+1 : i] = new_par.children[i]; + } + dpc[pos] = obj.id; + new_par.children = dpc; + new_par.children_d.push(obj.id); + new_par.children_d = new_par.children_d.concat(obj.children_d); + + // update object + obj.parent = new_par.id; + tmp = new_par.parents.concat(); + tmp.unshift(new_par.id); + p = obj.parents.length; + obj.parents = tmp; + + // update object children + tmp = tmp.concat(); + for(i = 0, j = obj.children_d.length; i < j; i++) { + this._model.data[obj.children_d[i]].parents = this._model.data[obj.children_d[i]].parents.slice(0,p*-1); + Array.prototype.push.apply(this._model.data[obj.children_d[i]].parents, tmp); + } + + this._node_changed(old_par); + this._node_changed(new_par.id); + this.redraw(old_par === '#' || new_par.id === '#'); + } + if(callback) { callback.call(this, obj, new_par, pos); } + /** + * triggered when a node is moved + * @event + * @name move_node.jstree + * @param {Object} node + * @param {String} parent the parent's ID + * @param {Number} position the position of the node among the parent's children + * @param {String} old_parent the old parent of the node + * @param {Number} old_position the old position of the node + * @param {Boolean} is_multi do the node and new parent belong to different instances + * @param {jsTree} old_instance the instance the node came from + * @param {jsTree} new_instance the instance of the new parent + */ + this.trigger('move_node', { "node" : obj, "parent" : new_par.id, "position" : pos, "old_parent" : old_par, "old_position" : old_pos, 'is_multi' : (old_ins && old_ins._id && old_ins._id !== this._id), 'is_foreign' : (!old_ins || !old_ins._id), 'old_instance' : old_ins, 'new_instance' : this }); + return true; + }, + /** + * copy a node to a new parent + * @name copy_node(obj, par [, pos, callback, is_loaded]) + * @param {mixed} obj the node to copy, pass an array to copy multiple nodes + * @param {mixed} par the new parent + * @param {mixed} pos the position to insert at (besides integer values, "first" and "last" are supported, as well as "before" and "after"), defaults to integer `0` + * @param {function} callback a function to call once the move is completed, receives 3 arguments - the node, the new parent and the position + * @param {Boolean} internal parameter indicating if the parent node has been loaded + * @trigger model.jstree copy_node.jstree + */ + copy_node : function (obj, par, pos, callback, is_loaded) { + var t1, t2, dpc, tmp, i, j, node, old_par, new_par, old_ins, is_multi; + + par = this.get_node(par); + pos = pos === undefined ? 0 : pos; + if(!par) { return false; } + if(!pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) { + return this.load_node(par, function () { this.copy_node(obj, par, pos, callback, true); }); + } + + if($.isArray(obj)) { + obj = obj.reverse().slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.copy_node(obj[t1], par, pos, callback, is_loaded); + } + return true; + } + obj = obj && obj.id ? obj : this.get_node(obj); + if(!obj || obj.id === '#') { return false; } + + old_par = (obj.parent || '#').toString(); + new_par = (!pos.toString().match(/^(before|after)$/) || par.id === '#') ? par : this.get_node(par.parent); + old_ins = obj.instance ? obj.instance : (this._model.data[obj.id] ? this : $.jstree.reference(obj.id)); + is_multi = !old_ins || !old_ins._id || (this._id !== old_ins._id); + if(new_par.id === '#') { + if(pos === "before") { pos = "first"; } + if(pos === "after") { pos = "last"; } + } + switch(pos) { + case "before": + pos = $.inArray(par.id, new_par.children); + break; + case "after" : + pos = $.inArray(par.id, new_par.children) + 1; + break; + case "inside": + case "first": + pos = 0; + break; + case "last": + pos = new_par.children.length; + break; + default: + if(!pos) { pos = 0; } + break; + } + if(pos > new_par.children.length) { pos = new_par.children.length; } + if(!this.check("copy_node", obj, new_par, pos, { 'core' : true, 'is_multi' : (old_ins && old_ins._id && old_ins._id !== this._id), 'is_foreign' : (!old_ins || !old_ins._id) })) { + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + node = old_ins ? old_ins.get_json(obj, { no_id : true, no_data : true, no_state : true }) : obj; + if(!node) { return false; } + if(node.id === true) { delete node.id; } + node = this._parse_model_from_json(node, new_par.id, new_par.parents.concat()); + if(!node) { return false; } + tmp = this.get_node(node); + if(obj && obj.state && obj.state.loaded === false) { tmp.state.loaded = false; } + dpc = []; + dpc.push(node); + dpc = dpc.concat(tmp.children_d); + this.trigger('model', { "nodes" : dpc, "parent" : new_par.id }); + + // insert into new parent and up + for(i = 0, j = new_par.parents.length; i < j; i++) { + this._model.data[new_par.parents[i]].children_d = this._model.data[new_par.parents[i]].children_d.concat(dpc); + } + dpc = []; + for(i = 0, j = new_par.children.length; i < j; i++) { + dpc[i >= pos ? i+1 : i] = new_par.children[i]; + } + dpc[pos] = tmp.id; + new_par.children = dpc; + new_par.children_d.push(tmp.id); + new_par.children_d = new_par.children_d.concat(tmp.children_d); + + this._node_changed(new_par.id); + this.redraw(new_par.id === '#'); + if(callback) { callback.call(this, tmp, new_par, pos); } + /** + * triggered when a node is copied + * @event + * @name copy_node.jstree + * @param {Object} node the copied node + * @param {Object} original the original node + * @param {String} parent the parent's ID + * @param {Number} position the position of the node among the parent's children + * @param {String} old_parent the old parent of the node + * @param {Number} old_position the position of the original node + * @param {Boolean} is_multi do the node and new parent belong to different instances + * @param {jsTree} old_instance the instance the node came from + * @param {jsTree} new_instance the instance of the new parent + */ + this.trigger('copy_node', { "node" : tmp, "original" : obj, "parent" : new_par.id, "position" : pos, "old_parent" : old_par, "old_position" : old_ins && old_ins._id && old_par && old_ins._model.data[old_par] && old_ins._model.data[old_par].children ? $.inArray(obj.id, old_ins._model.data[old_par].children) : -1,'is_multi' : (old_ins && old_ins._id && old_ins._id !== this._id), 'is_foreign' : (!old_ins || !old_ins._id), 'old_instance' : old_ins, 'new_instance' : this }); + return tmp.id; + }, + /** + * cut a node (a later call to `paste(obj)` would move the node) + * @name cut(obj) + * @param {mixed} obj multiple objects can be passed using an array + * @trigger cut.jstree + */ + cut : function (obj) { + if(!obj) { obj = this._data.core.selected.concat(); } + if(!$.isArray(obj)) { obj = [obj]; } + if(!obj.length) { return false; } + var tmp = [], o, t1, t2; + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + o = this.get_node(obj[t1]); + if(o && o.id && o.id !== '#') { tmp.push(o); } + } + if(!tmp.length) { return false; } + ccp_node = tmp; + ccp_inst = this; + ccp_mode = 'move_node'; + /** + * triggered when nodes are added to the buffer for moving + * @event + * @name cut.jstree + * @param {Array} node + */ + this.trigger('cut', { "node" : obj }); + }, + /** + * copy a node (a later call to `paste(obj)` would copy the node) + * @name copy(obj) + * @param {mixed} obj multiple objects can be passed using an array + * @trigger copy.jstre + */ + copy : function (obj) { + if(!obj) { obj = this._data.core.selected.concat(); } + if(!$.isArray(obj)) { obj = [obj]; } + if(!obj.length) { return false; } + var tmp = [], o, t1, t2; + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + o = this.get_node(obj[t1]); + if(o && o.id && o.id !== '#') { tmp.push(o); } + } + if(!tmp.length) { return false; } + ccp_node = tmp; + ccp_inst = this; + ccp_mode = 'copy_node'; + /** + * triggered when nodes are added to the buffer for copying + * @event + * @name copy.jstree + * @param {Array} node + */ + this.trigger('copy', { "node" : obj }); + }, + /** + * get the current buffer (any nodes that are waiting for a paste operation) + * @name get_buffer() + * @return {Object} an object consisting of `mode` ("copy_node" or "move_node"), `node` (an array of objects) and `inst` (the instance) + */ + get_buffer : function () { + return { 'mode' : ccp_mode, 'node' : ccp_node, 'inst' : ccp_inst }; + }, + /** + * check if there is something in the buffer to paste + * @name can_paste() + * @return {Boolean} + */ + can_paste : function () { + return ccp_mode !== false && ccp_node !== false; // && ccp_inst._model.data[ccp_node]; + }, + /** + * copy or move the previously cut or copied nodes to a new parent + * @name paste(obj [, pos]) + * @param {mixed} obj the new parent + * @param {mixed} pos the position to insert at (besides integer, "first" and "last" are supported), defaults to integer `0` + * @trigger paste.jstree + */ + paste : function (obj, pos) { + obj = this.get_node(obj); + if(!obj || !ccp_mode || !ccp_mode.match(/^(copy_node|move_node)$/) || !ccp_node) { return false; } + if(this[ccp_mode](ccp_node, obj, pos)) { + /** + * triggered when paste is invoked + * @event + * @name paste.jstree + * @param {String} parent the ID of the receiving node + * @param {Array} node the nodes in the buffer + * @param {String} mode the performed operation - "copy_node" or "move_node" + */ + this.trigger('paste', { "parent" : obj.id, "node" : ccp_node, "mode" : ccp_mode }); + } + ccp_node = false; + ccp_mode = false; + ccp_inst = false; + }, + /** + * put a node in edit mode (input field to rename the node) + * @name edit(obj [, default_text]) + * @param {mixed} obj + * @param {String} default_text the text to populate the input with (if omitted the node text value is used) + */ + edit : function (obj, default_text) { + obj = this.get_node(obj); + if(!obj) { return false; } + if(this.settings.core.check_callback === false) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'core', 'id' : 'core_07', 'reason' : 'Could not edit node because of check_callback' }; + this.settings.core.error.call(this, this._data.core.last_error); + return false; + } + default_text = typeof default_text === 'string' ? default_text : obj.text; + this.set_text(obj, ""); + obj = this._open_to(obj); + + var rtl = this._data.core.rtl, + w = this.element.width(), + a = obj.children('.jstree-anchor'), + s = $('<span>'), + /*! + oi = obj.children("i:visible"), + ai = a.children("i:visible"), + w1 = oi.width() * oi.length, + w2 = ai.width() * ai.length, + */ + t = default_text, + h1 = $("<"+"div />", { css : { "position" : "absolute", "top" : "-200px", "left" : (rtl ? "0px" : "-1000px"), "visibility" : "hidden" } }).appendTo("body"), + h2 = $("<"+"input />", { + "value" : t, + "class" : "jstree-rename-input", + // "size" : t.length, + "css" : { + "padding" : "0", + "border" : "1px solid silver", + "box-sizing" : "border-box", + "display" : "inline-block", + "height" : (this._data.core.li_height) + "px", + "lineHeight" : (this._data.core.li_height) + "px", + "width" : "150px" // will be set a bit further down + }, + "blur" : $.proxy(function () { + var i = s.children(".jstree-rename-input"), + v = i.val(); + if(v === "") { v = t; } + h1.remove(); + s.replaceWith(a); + s.remove(); + this.set_text(obj, t); + if(this.rename_node(obj, $('<div></div>').text(v)[this.settings.core.force_text ? 'text' : 'html']()) === false) { + this.set_text(obj, t); // move this up? and fix #483 + } + }, this), + "keydown" : function (event) { + var key = event.which; + if(key === 27) { + this.value = t; + } + if(key === 27 || key === 13 || key === 37 || key === 38 || key === 39 || key === 40 || key === 32) { + event.stopImmediatePropagation(); + } + if(key === 27 || key === 13) { + event.preventDefault(); + this.blur(); + } + }, + "click" : function (e) { e.stopImmediatePropagation(); }, + "mousedown" : function (e) { e.stopImmediatePropagation(); }, + "keyup" : function (event) { + h2.width(Math.min(h1.text("pW" + this.value).width(),w)); + }, + "keypress" : function(event) { + if(event.which === 13) { return false; } + } + }), + fn = { + fontFamily : a.css('fontFamily') || '', + fontSize : a.css('fontSize') || '', + fontWeight : a.css('fontWeight') || '', + fontStyle : a.css('fontStyle') || '', + fontStretch : a.css('fontStretch') || '', + fontVariant : a.css('fontVariant') || '', + letterSpacing : a.css('letterSpacing') || '', + wordSpacing : a.css('wordSpacing') || '' + }; + s.attr('class', a.attr('class')).append(a.contents().clone()).append(h2); + a.replaceWith(s); + h1.css(fn); + h2.css(fn).width(Math.min(h1.text("pW" + h2[0].value).width(),w))[0].select(); + }, + + + /** + * changes the theme + * @name set_theme(theme_name [, theme_url]) + * @param {String} theme_name the name of the new theme to apply + * @param {mixed} theme_url the location of the CSS file for this theme. Omit or set to `false` if you manually included the file. Set to `true` to autoload from the `core.themes.dir` directory. + * @trigger set_theme.jstree + */ + set_theme : function (theme_name, theme_url) { + if(!theme_name) { return false; } + if(theme_url === true) { + var dir = this.settings.core.themes.dir; + if(!dir) { dir = $.jstree.path + '/themes'; } + theme_url = dir + '/' + theme_name + '/style.css'; + } + if(theme_url && $.inArray(theme_url, themes_loaded) === -1) { + $('head').append('<'+'link rel="stylesheet" href="' + theme_url + '" type="text/css" />'); + themes_loaded.push(theme_url); + } + if(this._data.core.themes.name) { + this.element.removeClass('jstree-' + this._data.core.themes.name); + } + this._data.core.themes.name = theme_name; + this.element.addClass('jstree-' + theme_name); + this.element[this.settings.core.themes.responsive ? 'addClass' : 'removeClass' ]('jstree-' + theme_name + '-responsive'); + /** + * triggered when a theme is set + * @event + * @name set_theme.jstree + * @param {String} theme the new theme + */ + this.trigger('set_theme', { 'theme' : theme_name }); + }, + /** + * gets the name of the currently applied theme name + * @name get_theme() + * @return {String} + */ + get_theme : function () { return this._data.core.themes.name; }, + /** + * changes the theme variant (if the theme has variants) + * @name set_theme_variant(variant_name) + * @param {String|Boolean} variant_name the variant to apply (if `false` is used the current variant is removed) + */ + set_theme_variant : function (variant_name) { + if(this._data.core.themes.variant) { + this.element.removeClass('jstree-' + this._data.core.themes.name + '-' + this._data.core.themes.variant); + } + this._data.core.themes.variant = variant_name; + if(variant_name) { + this.element.addClass('jstree-' + this._data.core.themes.name + '-' + this._data.core.themes.variant); + } + }, + /** + * gets the name of the currently applied theme variant + * @name get_theme() + * @return {String} + */ + get_theme_variant : function () { return this._data.core.themes.variant; }, + /** + * shows a striped background on the container (if the theme supports it) + * @name show_stripes() + */ + show_stripes : function () { this._data.core.themes.stripes = true; this.get_container_ul().addClass("jstree-striped"); }, + /** + * hides the striped background on the container + * @name hide_stripes() + */ + hide_stripes : function () { this._data.core.themes.stripes = false; this.get_container_ul().removeClass("jstree-striped"); }, + /** + * toggles the striped background on the container + * @name toggle_stripes() + */ + toggle_stripes : function () { if(this._data.core.themes.stripes) { this.hide_stripes(); } else { this.show_stripes(); } }, + /** + * shows the connecting dots (if the theme supports it) + * @name show_dots() + */ + show_dots : function () { this._data.core.themes.dots = true; this.get_container_ul().removeClass("jstree-no-dots"); }, + /** + * hides the connecting dots + * @name hide_dots() + */ + hide_dots : function () { this._data.core.themes.dots = false; this.get_container_ul().addClass("jstree-no-dots"); }, + /** + * toggles the connecting dots + * @name toggle_dots() + */ + toggle_dots : function () { if(this._data.core.themes.dots) { this.hide_dots(); } else { this.show_dots(); } }, + /** + * show the node icons + * @name show_icons() + */ + show_icons : function () { this._data.core.themes.icons = true; this.get_container_ul().removeClass("jstree-no-icons"); }, + /** + * hide the node icons + * @name hide_icons() + */ + hide_icons : function () { this._data.core.themes.icons = false; this.get_container_ul().addClass("jstree-no-icons"); }, + /** + * toggle the node icons + * @name toggle_icons() + */ + toggle_icons : function () { if(this._data.core.themes.icons) { this.hide_icons(); } else { this.show_icons(); } }, + /** + * set the node icon for a node + * @name set_icon(obj, icon) + * @param {mixed} obj + * @param {String} icon the new icon - can be a path to an icon or a className, if using an image that is in the current directory use a `./` prefix, otherwise it will be detected as a class + */ + set_icon : function (obj, icon) { + var t1, t2, dom, old; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.set_icon(obj[t1], icon); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === '#') { return false; } + old = obj.icon; + obj.icon = icon; + dom = this.get_node(obj, true).children(".jstree-anchor").children(".jstree-themeicon"); + if(icon === false) { + this.hide_icon(obj); + } + else if(icon === true) { + dom.removeClass('jstree-themeicon-custom ' + old).css("background","").removeAttr("rel"); + } + else if(icon.indexOf("/") === -1 && icon.indexOf(".") === -1) { + dom.removeClass(old).css("background",""); + dom.addClass(icon + ' jstree-themeicon-custom').attr("rel",icon); + } + else { + dom.removeClass(old).css("background",""); + dom.addClass('jstree-themeicon-custom').css("background", "url('" + icon + "') center center no-repeat").attr("rel",icon); + } + return true; + }, + /** + * get the node icon for a node + * @name get_icon(obj) + * @param {mixed} obj + * @return {String} + */ + get_icon : function (obj) { + obj = this.get_node(obj); + return (!obj || obj.id === '#') ? false : obj.icon; + }, + /** + * hide the icon on an individual node + * @name hide_icon(obj) + * @param {mixed} obj + */ + hide_icon : function (obj) { + var t1, t2; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.hide_icon(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj === '#') { return false; } + obj.icon = false; + this.get_node(obj, true).children(".jstree-anchor").children(".jstree-themeicon").addClass('jstree-themeicon-hidden'); + return true; + }, + /** + * show the icon on an individual node + * @name show_icon(obj) + * @param {mixed} obj + */ + show_icon : function (obj) { + var t1, t2, dom; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.show_icon(obj[t1]); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj === '#') { return false; } + dom = this.get_node(obj, true); + obj.icon = dom.length ? dom.children(".jstree-anchor").children(".jstree-themeicon").attr('rel') : true; + if(!obj.icon) { obj.icon = true; } + dom.children(".jstree-anchor").children(".jstree-themeicon").removeClass('jstree-themeicon-hidden'); + return true; + } + }; + + // helpers + $.vakata = {}; + // collect attributes + $.vakata.attributes = function(node, with_values) { + node = $(node)[0]; + var attr = with_values ? {} : []; + if(node && node.attributes) { + $.each(node.attributes, function (i, v) { + if($.inArray(v.name.toLowerCase(),['style','contenteditable','hasfocus','tabindex']) !== -1) { return; } + if(v.value !== null && $.trim(v.value) !== '') { + if(with_values) { attr[v.name] = v.value; } + else { attr.push(v.name); } + } + }); + } + return attr; + }; + $.vakata.array_unique = function(array) { + var a = [], i, j, l; + for(i = 0, l = array.length; i < l; i++) { + for(j = 0; j <= i; j++) { + if(array[i] === array[j]) { + break; + } + } + if(j === i) { a.push(array[i]); } + } + return a; + }; + // remove item from array + $.vakata.array_remove = function(array, from, to) { + var rest = array.slice((to || from) + 1 || array.length); + array.length = from < 0 ? array.length + from : from; + array.push.apply(array, rest); + return array; + }; + // remove item from array + $.vakata.array_remove_item = function(array, item) { + var tmp = $.inArray(item, array); + return tmp !== -1 ? $.vakata.array_remove(array, tmp) : array; + }; + +/** + * ### Checkbox plugin + * + * This plugin renders checkbox icons in front of each node, making multiple selection much easier. + * It also supports tri-state behavior, meaning that if a node has a few of its children checked it will be rendered as undetermined, and state will be propagated up. + */ + + var _i = document.createElement('I'); + _i.className = 'jstree-icon jstree-checkbox'; + /** + * stores all defaults for the checkbox plugin + * @name $.jstree.defaults.checkbox + * @plugin checkbox + */ + $.jstree.defaults.checkbox = { + /** + * a boolean indicating if checkboxes should be visible (can be changed at a later time using `show_checkboxes()` and `hide_checkboxes`). Defaults to `true`. + * @name $.jstree.defaults.checkbox.visible + * @plugin checkbox + */ + visible : true, + /** + * a boolean indicating if checkboxes should cascade down and have an undetermined state. Defaults to `true`. + * @name $.jstree.defaults.checkbox.three_state + * @plugin checkbox + */ + three_state : true, + /** + * a boolean indicating if clicking anywhere on the node should act as clicking on the checkbox. Defaults to `true`. + * @name $.jstree.defaults.checkbox.whole_node + * @plugin checkbox + */ + whole_node : true, + /** + * a boolean indicating if the selected style of a node should be kept, or removed. Defaults to `true`. + * @name $.jstree.defaults.checkbox.keep_selected_style + * @plugin checkbox + */ + keep_selected_style : true, + /** + * This setting controls how cascading and undetermined nodes are applied. + * If 'up' is in the string - cascading up is enabled, if 'down' is in the string - cascading down is enabled, if 'undetermined' is in the string - undetermined nodes will be used. + * If `three_state` is set to `true` this setting is automatically set to 'up+down+undetermined'. Defaults to ''. + * @name $.jstree.defaults.checkbox.cascade + * @plugin checkbox + */ + cascade : '', + /** + * This setting controls if checkbox are bound to the general tree selection or to an internal array maintained by the checkbox plugin. Defaults to `true`, only set to `false` if you know exactly what you are doing. + * @name $.jstree.defaults.checkbox.tie_selection + * @plugin checkbox + */ + tie_selection : true + }; + $.jstree.plugins.checkbox = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + this._data.checkbox.uto = false; + this._data.checkbox.selected = []; + if(this.settings.checkbox.three_state) { + this.settings.checkbox.cascade = 'up+down+undetermined'; + } + this.element + .on("init.jstree", $.proxy(function () { + this._data.checkbox.visible = this.settings.checkbox.visible; + if(!this.settings.checkbox.keep_selected_style) { + this.element.addClass('jstree-checkbox-no-clicked'); + } + if(this.settings.checkbox.tie_selection) { + this.element.addClass('jstree-checkbox-selection'); + } + }, this)) + .on("loading.jstree", $.proxy(function () { + this[ this._data.checkbox.visible ? 'show_checkboxes' : 'hide_checkboxes' ](); + }, this)); + if(this.settings.checkbox.cascade.indexOf('undetermined') !== -1) { + this.element + .on('changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree', $.proxy(function () { + // only if undetermined is in setting + if(this._data.checkbox.uto) { clearTimeout(this._data.checkbox.uto); } + this._data.checkbox.uto = setTimeout($.proxy(this._undetermined, this), 50); + }, this)); + } + if(!this.settings.checkbox.tie_selection) { + this.element + .on('model.jstree', $.proxy(function (e, data) { + var m = this._model.data, + p = m[data.parent], + dpc = data.nodes, + i, j; + for(i = 0, j = dpc.length; i < j; i++) { + m[dpc[i]].state.checked = (m[dpc[i]].original && m[dpc[i]].original.state && m[dpc[i]].original.state.checked); + if(m[dpc[i]].state.checked) { + this._data.checkbox.selected.push(dpc[i]); + } + } + }, this)); + } + if(this.settings.checkbox.cascade.indexOf('up') !== -1 || this.settings.checkbox.cascade.indexOf('down') !== -1) { + this.element + .on('model.jstree', $.proxy(function (e, data) { + var m = this._model.data, + p = m[data.parent], + dpc = data.nodes, + chd = [], + c, i, j, k, l, tmp, s = this.settings.checkbox.cascade, t = this.settings.checkbox.tie_selection; + + if(s.indexOf('down') !== -1) { + // apply down + if(p.state[ t ? 'selected' : 'checked' ]) { + for(i = 0, j = dpc.length; i < j; i++) { + m[dpc[i]].state[ t ? 'selected' : 'checked' ] = true; + } + this._data[ t ? 'core' : 'checkbox' ].selected = this._data[ t ? 'core' : 'checkbox' ].selected.concat(dpc); + } + else { + for(i = 0, j = dpc.length; i < j; i++) { + if(m[dpc[i]].state[ t ? 'selected' : 'checked' ]) { + for(k = 0, l = m[dpc[i]].children_d.length; k < l; k++) { + m[m[dpc[i]].children_d[k]].state[ t ? 'selected' : 'checked' ] = true; + } + this._data[ t ? 'core' : 'checkbox' ].selected = this._data[ t ? 'core' : 'checkbox' ].selected.concat(m[dpc[i]].children_d); + } + } + } + } + + if(s.indexOf('up') !== -1) { + // apply up + for(i = 0, j = p.children_d.length; i < j; i++) { + if(!m[p.children_d[i]].children.length) { + chd.push(m[p.children_d[i]].parent); + } + } + chd = $.vakata.array_unique(chd); + for(k = 0, l = chd.length; k < l; k++) { + p = m[chd[k]]; + while(p && p.id !== '#') { + c = 0; + for(i = 0, j = p.children.length; i < j; i++) { + c += m[p.children[i]].state[ t ? 'selected' : 'checked' ]; + } + if(c === j) { + p.state[ t ? 'selected' : 'checked' ] = true; + this._data[ t ? 'core' : 'checkbox' ].selected.push(p.id); + tmp = this.get_node(p, true); + if(tmp && tmp.length) { + tmp.children('.jstree-anchor').addClass( t ? 'jstree-clicked' : 'jstree-checked'); + } + } + else { + break; + } + p = this.get_node(p.parent); + } + } + } + + this._data[ t ? 'core' : 'checkbox' ].selected = $.vakata.array_unique(this._data[ t ? 'core' : 'checkbox' ].selected); + }, this)) + .on(this.settings.checkbox.tie_selection ? 'select_node.jstree' : 'check_node.jstree', $.proxy(function (e, data) { + var obj = data.node, + m = this._model.data, + par = this.get_node(obj.parent), + dom = this.get_node(obj, true), + i, j, c, tmp, s = this.settings.checkbox.cascade, t = this.settings.checkbox.tie_selection; + + // apply down + if(s.indexOf('down') !== -1) { + this._data[ t ? 'core' : 'checkbox' ].selected = $.vakata.array_unique(this._data[ t ? 'core' : 'checkbox' ].selected.concat(obj.children_d)); + for(i = 0, j = obj.children_d.length; i < j; i++) { + tmp = m[obj.children_d[i]]; + tmp.state[ t ? 'selected' : 'checked' ] = true; + if(tmp && tmp.original && tmp.original.state && tmp.original.state.undetermined) { + tmp.original.state.undetermined = false; + } + } + } + + // apply up + if(s.indexOf('up') !== -1) { + while(par && par.id !== '#') { + c = 0; + for(i = 0, j = par.children.length; i < j; i++) { + c += m[par.children[i]].state[ t ? 'selected' : 'checked' ]; + } + if(c === j) { + par.state[ t ? 'selected' : 'checked' ] = true; + this._data[ t ? 'core' : 'checkbox' ].selected.push(par.id); + tmp = this.get_node(par, true); + if(tmp && tmp.length) { + tmp.children('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + else { + break; + } + par = this.get_node(par.parent); + } + } + + // apply down (process .children separately?) + if(s.indexOf('down') !== -1 && dom.length) { + dom.find('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + }, this)) + .on(this.settings.checkbox.tie_selection ? 'deselect_all.jstree' : 'uncheck_all.jstree', $.proxy(function (e, data) { + var obj = this.get_node('#'), + m = this._model.data, + i, j, tmp; + for(i = 0, j = obj.children_d.length; i < j; i++) { + tmp = m[obj.children_d[i]]; + if(tmp && tmp.original && tmp.original.state && tmp.original.state.undetermined) { + tmp.original.state.undetermined = false; + } + } + }, this)) + .on(this.settings.checkbox.tie_selection ? 'deselect_node.jstree' : 'uncheck_node.jstree', $.proxy(function (e, data) { + var obj = data.node, + dom = this.get_node(obj, true), + i, j, tmp, s = this.settings.checkbox.cascade, t = this.settings.checkbox.tie_selection; + if(obj && obj.original && obj.original.state && obj.original.state.undetermined) { + obj.original.state.undetermined = false; + } + + // apply down + if(s.indexOf('down') !== -1) { + for(i = 0, j = obj.children_d.length; i < j; i++) { + tmp = this._model.data[obj.children_d[i]]; + tmp.state[ t ? 'selected' : 'checked' ] = false; + if(tmp && tmp.original && tmp.original.state && tmp.original.state.undetermined) { + tmp.original.state.undetermined = false; + } + } + } + + // apply up + if(s.indexOf('up') !== -1) { + for(i = 0, j = obj.parents.length; i < j; i++) { + tmp = this._model.data[obj.parents[i]]; + tmp.state[ t ? 'selected' : 'checked' ] = false; + if(tmp && tmp.original && tmp.original.state && tmp.original.state.undetermined) { + tmp.original.state.undetermined = false; + } + tmp = this.get_node(obj.parents[i], true); + if(tmp && tmp.length) { + tmp.children('.jstree-anchor').removeClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + } + tmp = []; + for(i = 0, j = this._data[ t ? 'core' : 'checkbox' ].selected.length; i < j; i++) { + // apply down + apply up + if( + (s.indexOf('down') === -1 || $.inArray(this._data[ t ? 'core' : 'checkbox' ].selected[i], obj.children_d) === -1) && + (s.indexOf('up') === -1 || $.inArray(this._data[ t ? 'core' : 'checkbox' ].selected[i], obj.parents) === -1) + ) { + tmp.push(this._data[ t ? 'core' : 'checkbox' ].selected[i]); + } + } + this._data[ t ? 'core' : 'checkbox' ].selected = $.vakata.array_unique(tmp); + + // apply down (process .children separately?) + if(s.indexOf('down') !== -1 && dom.length) { + dom.find('.jstree-anchor').removeClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + }, this)); + } + if(this.settings.checkbox.cascade.indexOf('up') !== -1) { + this.element + .on('delete_node.jstree', $.proxy(function (e, data) { + // apply up (whole handler) + var p = this.get_node(data.parent), + m = this._model.data, + i, j, c, tmp, t = this.settings.checkbox.tie_selection; + while(p && p.id !== '#') { + c = 0; + for(i = 0, j = p.children.length; i < j; i++) { + c += m[p.children[i]].state[ t ? 'selected' : 'checked' ]; + } + if(c === j) { + p.state[ t ? 'selected' : 'checked' ] = true; + this._data[ t ? 'core' : 'checkbox' ].selected.push(p.id); + tmp = this.get_node(p, true); + if(tmp && tmp.length) { + tmp.children('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + else { + break; + } + p = this.get_node(p.parent); + } + }, this)) + .on('move_node.jstree', $.proxy(function (e, data) { + // apply up (whole handler) + var is_multi = data.is_multi, + old_par = data.old_parent, + new_par = this.get_node(data.parent), + m = this._model.data, + p, c, i, j, tmp, t = this.settings.checkbox.tie_selection; + if(!is_multi) { + p = this.get_node(old_par); + while(p && p.id !== '#') { + c = 0; + for(i = 0, j = p.children.length; i < j; i++) { + c += m[p.children[i]].state[ t ? 'selected' : 'checked' ]; + } + if(c === j) { + p.state[ t ? 'selected' : 'checked' ] = true; + this._data[ t ? 'core' : 'checkbox' ].selected.push(p.id); + tmp = this.get_node(p, true); + if(tmp && tmp.length) { + tmp.children('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + else { + break; + } + p = this.get_node(p.parent); + } + } + p = new_par; + while(p && p.id !== '#') { + c = 0; + for(i = 0, j = p.children.length; i < j; i++) { + c += m[p.children[i]].state[ t ? 'selected' : 'checked' ]; + } + if(c === j) { + if(!p.state[ t ? 'selected' : 'checked' ]) { + p.state[ t ? 'selected' : 'checked' ] = true; + this._data[ t ? 'core' : 'checkbox' ].selected.push(p.id); + tmp = this.get_node(p, true); + if(tmp && tmp.length) { + tmp.children('.jstree-anchor').addClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + } + else { + if(p.state[ t ? 'selected' : 'checked' ]) { + p.state[ t ? 'selected' : 'checked' ] = false; + this._data[ t ? 'core' : 'checkbox' ].selected = $.vakata.array_remove_item(this._data[ t ? 'core' : 'checkbox' ].selected, p.id); + tmp = this.get_node(p, true); + if(tmp && tmp.length) { + tmp.children('.jstree-anchor').removeClass(t ? 'jstree-clicked' : 'jstree-checked'); + } + } + else { + break; + } + } + p = this.get_node(p.parent); + } + }, this)); + } + }; + /** + * set the undetermined state where and if necessary. Used internally. + * @private + * @name _undetermined() + * @plugin checkbox + */ + this._undetermined = function () { + var i, j, m = this._model.data, t = this.settings.checkbox.tie_selection, s = this._data[ t ? 'core' : 'checkbox' ].selected, p = [], tt = this; + for(i = 0, j = s.length; i < j; i++) { + if(m[s[i]] && m[s[i]].parents) { + p = p.concat(m[s[i]].parents); + } + } + // attempt for server side undetermined state + this.element.find('.jstree-closed').not(':has(.jstree-children)') + .each(function () { + var tmp = tt.get_node(this), tmp2; + if(!tmp.state.loaded) { + if(tmp.original && tmp.original.state && tmp.original.state.undetermined && tmp.original.state.undetermined === true) { + p.push(tmp.id); + p = p.concat(tmp.parents); + } + } + else { + for(i = 0, j = tmp.children_d.length; i < j; i++) { + tmp2 = m[tmp.children_d[i]]; + if(!tmp2.state.loaded && tmp2.original && tmp2.original.state && tmp2.original.state.undetermined && tmp2.original.state.undetermined === true) { + p.push(tmp2.id); + p = p.concat(tmp2.parents); + } + } + } + }); + p = $.vakata.array_unique(p); + p = $.vakata.array_remove_item(p,'#'); + + this.element.find('.jstree-undetermined').removeClass('jstree-undetermined'); + for(i = 0, j = p.length; i < j; i++) { + if(!m[p[i]].state[ t ? 'selected' : 'checked' ]) { + s = this.get_node(p[i], true); + if(s && s.length) { + s.children('.jstree-anchor').children('.jstree-checkbox').addClass('jstree-undetermined'); + } + } + } + }; + this.redraw_node = function(obj, deep, is_callback) { + obj = parent.redraw_node.call(this, obj, deep, is_callback); + if(obj) { + var i, j, tmp = null; + for(i = 0, j = obj.childNodes.length; i < j; i++) { + if(obj.childNodes[i] && obj.childNodes[i].className && obj.childNodes[i].className.indexOf("jstree-anchor") !== -1) { + tmp = obj.childNodes[i]; + break; + } + } + if(tmp) { + if(!this.settings.checkbox.tie_selection && this._model.data[obj.id].state.checked) { tmp.className += ' jstree-checked'; } + tmp.insertBefore(_i.cloneNode(false), tmp.childNodes[0]); + } + } + if(!is_callback && this.settings.checkbox.cascade.indexOf('undetermined') !== -1) { + if(this._data.checkbox.uto) { clearTimeout(this._data.checkbox.uto); } + this._data.checkbox.uto = setTimeout($.proxy(this._undetermined, this), 50); + } + return obj; + }; + /** + * show the node checkbox icons + * @name show_checkboxes() + * @plugin checkbox + */ + this.show_checkboxes = function () { this._data.core.themes.checkboxes = true; this.get_container_ul().removeClass("jstree-no-checkboxes"); }; + /** + * hide the node checkbox icons + * @name hide_checkboxes() + * @plugin checkbox + */ + this.hide_checkboxes = function () { this._data.core.themes.checkboxes = false; this.get_container_ul().addClass("jstree-no-checkboxes"); }; + /** + * toggle the node icons + * @name toggle_checkboxes() + * @plugin checkbox + */ + this.toggle_checkboxes = function () { if(this._data.core.themes.checkboxes) { this.hide_checkboxes(); } else { this.show_checkboxes(); } }; + /** + * checks if a node is in an undetermined state + * @name is_undetermined(obj) + * @param {mixed} obj + * @return {Boolean} + */ + this.is_undetermined = function (obj) { + obj = this.get_node(obj); + var s = this.settings.checkbox.cascade, i, j, t = this.settings.checkbox.tie_selection, d = this._data[ t ? 'core' : 'checkbox' ].selected, m = this._model.data; + if(!obj || obj.state[ t ? 'selected' : 'checked' ] === true || s.indexOf('undetermined') === -1 || (s.indexOf('down') === -1 && s.indexOf('up') === -1)) { + return false; + } + if(!obj.state.loaded && obj.original.state.undetermined === true) { + return true; + } + for(i = 0, j = obj.children_d.length; i < j; i++) { + if($.inArray(obj.children_d[i], d) !== -1 || (!m[obj.children_d[i]].state.loaded && m[obj.children_d[i]].original.state.undetermined)) { + return true; + } + } + return false; + }; + + this.activate_node = function (obj, e) { + if(this.settings.checkbox.tie_selection && (this.settings.checkbox.whole_node || $(e.target).hasClass('jstree-checkbox'))) { + e.ctrlKey = true; + } + if(this.settings.checkbox.tie_selection || (!this.settings.checkbox.whole_node && !$(e.target).hasClass('jstree-checkbox'))) { + return parent.activate_node.call(this, obj, e); + } + if(this.is_checked(obj)) { + this.uncheck_node(obj, e); + } + else { + this.check_node(obj, e); + } + this.trigger('activate_node', { 'node' : this.get_node(obj) }); + }; + + /** + * check a node (only if tie_selection in checkbox settings is false, otherwise select_node will be called internally) + * @name check_node(obj) + * @param {mixed} obj an array can be used to check multiple nodes + * @trigger check_node.jstree + * @plugin checkbox + */ + this.check_node = function (obj, e) { + if(this.settings.checkbox.tie_selection) { return this.select_node(obj, false, true, e); } + var dom, t1, t2, th; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.check_node(obj[t1], e); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === '#') { + return false; + } + dom = this.get_node(obj, true); + if(!obj.state.checked) { + obj.state.checked = true; + this._data.checkbox.selected.push(obj.id); + if(dom && dom.length) { + dom.children('.jstree-anchor').addClass('jstree-checked'); + } + /** + * triggered when an node is checked (only if tie_selection in checkbox settings is false) + * @event + * @name check_node.jstree + * @param {Object} node + * @param {Array} selected the current selection + * @param {Object} event the event (if any) that triggered this check_node + * @plugin checkbox + */ + this.trigger('check_node', { 'node' : obj, 'selected' : this._data.checkbox.selected, 'event' : e }); + } + }; + /** + * uncheck a node (only if tie_selection in checkbox settings is false, otherwise deselect_node will be called internally) + * @name deselect_node(obj) + * @param {mixed} obj an array can be used to deselect multiple nodes + * @trigger uncheck_node.jstree + * @plugin checkbox + */ + this.uncheck_node = function (obj, e) { + if(this.settings.checkbox.tie_selection) { return this.deselect_node(obj, false, e); } + var t1, t2, dom; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.uncheck_node(obj[t1], e); + } + return true; + } + obj = this.get_node(obj); + if(!obj || obj.id === '#') { + return false; + } + dom = this.get_node(obj, true); + if(obj.state.checked) { + obj.state.checked = false; + this._data.checkbox.selected = $.vakata.array_remove_item(this._data.checkbox.selected, obj.id); + if(dom.length) { + dom.children('.jstree-anchor').removeClass('jstree-checked'); + } + /** + * triggered when an node is unchecked (only if tie_selection in checkbox settings is false) + * @event + * @name uncheck_node.jstree + * @param {Object} node + * @param {Array} selected the current selection + * @param {Object} event the event (if any) that triggered this uncheck_node + * @plugin checkbox + */ + this.trigger('uncheck_node', { 'node' : obj, 'selected' : this._data.checkbox.selected, 'event' : e }); + } + }; + /** + * checks all nodes in the tree (only if tie_selection in checkbox settings is false, otherwise select_all will be called internally) + * @name check_all() + * @trigger check_all.jstree, changed.jstree + * @plugin checkbox + */ + this.check_all = function () { + if(this.settings.checkbox.tie_selection) { return this.select_all(); } + var tmp = this._data.checkbox.selected.concat([]), i, j; + this._data.checkbox.selected = this._model.data['#'].children_d.concat(); + for(i = 0, j = this._data.checkbox.selected.length; i < j; i++) { + if(this._model.data[this._data.checkbox.selected[i]]) { + this._model.data[this._data.checkbox.selected[i]].state.checked = true; + } + } + this.redraw(true); + /** + * triggered when all nodes are checked (only if tie_selection in checkbox settings is false) + * @event + * @name check_all.jstree + * @param {Array} selected the current selection + * @plugin checkbox + */ + this.trigger('check_all', { 'selected' : this._data.checkbox.selected }); + }; + /** + * uncheck all checked nodes (only if tie_selection in checkbox settings is false, otherwise deselect_all will be called internally) + * @name uncheck_all() + * @trigger uncheck_all.jstree + * @plugin checkbox + */ + this.uncheck_all = function () { + if(this.settings.checkbox.tie_selection) { return this.deselect_all(); } + var tmp = this._data.checkbox.selected.concat([]), i, j; + for(i = 0, j = this._data.checkbox.selected.length; i < j; i++) { + if(this._model.data[this._data.checkbox.selected[i]]) { + this._model.data[this._data.checkbox.selected[i]].state.checked = false; + } + } + this._data.checkbox.selected = []; + this.element.find('.jstree-checked').removeClass('jstree-checked'); + /** + * triggered when all nodes are unchecked (only if tie_selection in checkbox settings is false) + * @event + * @name uncheck_all.jstree + * @param {Object} node the previous selection + * @param {Array} selected the current selection + * @plugin checkbox + */ + this.trigger('uncheck_all', { 'selected' : this._data.checkbox.selected, 'node' : tmp }); + }; + /** + * checks if a node is checked (if tie_selection is on in the settings this function will return the same as is_selected) + * @name is_checked(obj) + * @param {mixed} obj + * @return {Boolean} + * @plugin checkbox + */ + this.is_checked = function (obj) { + if(this.settings.checkbox.tie_selection) { return this.is_selected(obj); } + obj = this.get_node(obj); + if(!obj || obj.id === '#') { return false; } + return obj.state.checked; + }; + /** + * get an array of all checked nodes (if tie_selection is on in the settings this function will return the same as get_selected) + * @name get_checked([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + * @plugin checkbox + */ + this.get_checked = function (full) { + if(this.settings.checkbox.tie_selection) { return this.get_selected(full); } + return full ? $.map(this._data.checkbox.selected, $.proxy(function (i) { return this.get_node(i); }, this)) : this._data.checkbox.selected; + }; + /** + * get an array of all top level checked nodes (ignoring children of checked nodes) (if tie_selection is on in the settings this function will return the same as get_top_selected) + * @name get_top_checked([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + * @plugin checkbox + */ + this.get_top_checked = function (full) { + if(this.settings.checkbox.tie_selection) { return this.get_top_selected(full); } + var tmp = this.get_checked(true), + obj = {}, i, j, k, l; + for(i = 0, j = tmp.length; i < j; i++) { + obj[tmp[i].id] = tmp[i]; + } + for(i = 0, j = tmp.length; i < j; i++) { + for(k = 0, l = tmp[i].children_d.length; k < l; k++) { + if(obj[tmp[i].children_d[k]]) { + delete obj[tmp[i].children_d[k]]; + } + } + } + tmp = []; + for(i in obj) { + if(obj.hasOwnProperty(i)) { + tmp.push(i); + } + } + return full ? $.map(tmp, $.proxy(function (i) { return this.get_node(i); }, this)) : tmp; + }; + /** + * get an array of all bottom level checked nodes (ignoring selected parents) (if tie_selection is on in the settings this function will return the same as get_bottom_selected) + * @name get_bottom_checked([full]) + * @param {mixed} full if set to `true` the returned array will consist of the full node objects, otherwise - only IDs will be returned + * @return {Array} + * @plugin checkbox + */ + this.get_bottom_checked = function (full) { + if(this.settings.checkbox.tie_selection) { return this.get_bottom_selected(full); } + var tmp = this.get_checked(true), + obj = [], i, j; + for(i = 0, j = tmp.length; i < j; i++) { + if(!tmp[i].children.length) { + obj.push(tmp[i].id); + } + } + return full ? $.map(obj, $.proxy(function (i) { return this.get_node(i); }, this)) : obj; + }; + }; + + // include the checkbox plugin by default + // $.jstree.defaults.plugins.push("checkbox"); + +/** + * ### Contextmenu plugin + * + * Shows a context menu when a node is right-clicked. + */ +// TODO: move logic outside of function + check multiple move + + /** + * stores all defaults for the contextmenu plugin + * @name $.jstree.defaults.contextmenu + * @plugin contextmenu + */ + $.jstree.defaults.contextmenu = { + /** + * a boolean indicating if the node should be selected when the context menu is invoked on it. Defaults to `true`. + * @name $.jstree.defaults.contextmenu.select_node + * @plugin contextmenu + */ + select_node : true, + /** + * a boolean indicating if the menu should be shown aligned with the node. Defaults to `true`, otherwise the mouse coordinates are used. + * @name $.jstree.defaults.contextmenu.show_at_node + * @plugin contextmenu + */ + show_at_node : true, + /** + * an object of actions, or a function that accepts a node and a callback function and calls the callback function with an object of actions available for that node (you can also return the items too). + * + * Each action consists of a key (a unique name) and a value which is an object with the following properties (only label and action are required): + * + * * `separator_before` - a boolean indicating if there should be a separator before this item + * * `separator_after` - a boolean indicating if there should be a separator after this item + * * `_disabled` - a boolean indicating if this action should be disabled + * * `label` - a string - the name of the action (could be a function returning a string) + * * `action` - a function to be executed if this item is chosen + * * `icon` - a string, can be a path to an icon or a className, if using an image that is in the current directory use a `./` prefix, otherwise it will be detected as a class + * * `shortcut` - keyCode which will trigger the action if the menu is open (for example `113` for rename, which equals F2) + * * `shortcut_label` - shortcut label (like for example `F2` for rename) + * + * @name $.jstree.defaults.contextmenu.items + * @plugin contextmenu + */ + items : function (o, cb) { // Could be an object directly + return { + "create" : { + "separator_before" : false, + "separator_after" : true, + "_disabled" : false, //(this.check("create_node", data.reference, {}, "last")), + "label" : "Create", + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + inst.create_node(obj, {}, "last", function (new_node) { + setTimeout(function () { inst.edit(new_node); },0); + }); + } + }, + "rename" : { + "separator_before" : false, + "separator_after" : false, + "_disabled" : false, //(this.check("rename_node", data.reference, this.get_parent(data.reference), "")), + "label" : "Rename", + /* + "shortcut" : 113, + "shortcut_label" : 'F2', + "icon" : "glyphicon glyphicon-leaf", + */ + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + inst.edit(obj); + } + }, + "remove" : { + "separator_before" : false, + "icon" : false, + "separator_after" : false, + "_disabled" : false, //(this.check("delete_node", data.reference, this.get_parent(data.reference), "")), + "label" : "Delete", + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + if(inst.is_selected(obj)) { + inst.delete_node(inst.get_selected()); + } + else { + inst.delete_node(obj); + } + } + }, + "ccp" : { + "separator_before" : true, + "icon" : false, + "separator_after" : false, + "label" : "Edit", + "action" : false, + "submenu" : { + "cut" : { + "separator_before" : false, + "separator_after" : false, + "label" : "Cut", + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + if(inst.is_selected(obj)) { + inst.cut(inst.get_selected()); + } + else { + inst.cut(obj); + } + } + }, + "copy" : { + "separator_before" : false, + "icon" : false, + "separator_after" : false, + "label" : "Copy", + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + if(inst.is_selected(obj)) { + inst.copy(inst.get_selected()); + } + else { + inst.copy(obj); + } + } + }, + "paste" : { + "separator_before" : false, + "icon" : false, + "_disabled" : function (data) { + return !$.jstree.reference(data.reference).can_paste(); + }, + "separator_after" : false, + "label" : "Paste", + "action" : function (data) { + var inst = $.jstree.reference(data.reference), + obj = inst.get_node(data.reference); + inst.paste(obj); + } + } + } + } + }; + } + }; + + $.jstree.plugins.contextmenu = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + + var last_ts = 0; + this.element + .on("contextmenu.jstree", ".jstree-anchor", $.proxy(function (e) { + e.preventDefault(); + last_ts = e.ctrlKey ? e.timeStamp : 0; + if(!this.is_loading(e.currentTarget)) { + this.show_contextmenu(e.currentTarget, e.pageX, e.pageY, e); + } + }, this)) + .on("click.jstree", ".jstree-anchor", $.proxy(function (e) { + if(this._data.contextmenu.visible && (!last_ts || e.timeStamp - last_ts > 250)) { // work around safari & macOS ctrl+click + $.vakata.context.hide(); + } + }, this)); + /* + if(!('oncontextmenu' in document.body) && ('ontouchstart' in document.body)) { + var el = null, tm = null; + this.element + .on("touchstart", ".jstree-anchor", function (e) { + el = e.currentTarget; + tm = +new Date(); + $(document).one("touchend", function (e) { + e.target = document.elementFromPoint(e.originalEvent.targetTouches[0].pageX - window.pageXOffset, e.originalEvent.targetTouches[0].pageY - window.pageYOffset); + e.currentTarget = e.target; + tm = ((+(new Date())) - tm); + if(e.target === el && tm > 600 && tm < 1000) { + e.preventDefault(); + $(el).trigger('contextmenu', e); + } + el = null; + tm = null; + }); + }); + } + */ + $(document).on("context_hide.vakata.jstree", $.proxy(function () { this._data.contextmenu.visible = false; }, this)); + }; + this.teardown = function () { + if(this._data.contextmenu.visible) { + $.vakata.context.hide(); + } + parent.teardown.call(this); + }; + + /** + * prepare and show the context menu for a node + * @name show_contextmenu(obj [, x, y]) + * @param {mixed} obj the node + * @param {Number} x the x-coordinate relative to the document to show the menu at + * @param {Number} y the y-coordinate relative to the document to show the menu at + * @param {Object} e the event if available that triggered the contextmenu + * @plugin contextmenu + * @trigger show_contextmenu.jstree + */ + this.show_contextmenu = function (obj, x, y, e) { + obj = this.get_node(obj); + if(!obj || obj.id === '#') { return false; } + var s = this.settings.contextmenu, + d = this.get_node(obj, true), + a = d.children(".jstree-anchor"), + o = false, + i = false; + if(s.show_at_node || x === undefined || y === undefined) { + o = a.offset(); + x = o.left; + y = o.top + this._data.core.li_height; + } + if(this.settings.contextmenu.select_node && !this.is_selected(obj)) { + this.activate_node(obj, e); + } + + i = s.items; + if($.isFunction(i)) { + i = i.call(this, obj, $.proxy(function (i) { + this._show_contextmenu(obj, x, y, i); + }, this)); + } + if($.isPlainObject(i)) { + this._show_contextmenu(obj, x, y, i); + } + }; + /** + * show the prepared context menu for a node + * @name _show_contextmenu(obj, x, y, i) + * @param {mixed} obj the node + * @param {Number} x the x-coordinate relative to the document to show the menu at + * @param {Number} y the y-coordinate relative to the document to show the menu at + * @param {Number} i the object of items to show + * @plugin contextmenu + * @trigger show_contextmenu.jstree + * @private + */ + this._show_contextmenu = function (obj, x, y, i) { + var d = this.get_node(obj, true), + a = d.children(".jstree-anchor"); + $(document).one("context_show.vakata.jstree", $.proxy(function (e, data) { + var cls = 'jstree-contextmenu jstree-' + this.get_theme() + '-contextmenu'; + $(data.element).addClass(cls); + }, this)); + this._data.contextmenu.visible = true; + $.vakata.context.show(a, { 'x' : x, 'y' : y }, i); + /** + * triggered when the contextmenu is shown for a node + * @event + * @name show_contextmenu.jstree + * @param {Object} node the node + * @param {Number} x the x-coordinate of the menu relative to the document + * @param {Number} y the y-coordinate of the menu relative to the document + * @plugin contextmenu + */ + this.trigger('show_contextmenu', { "node" : obj, "x" : x, "y" : y }); + }; + }; + + // contextmenu helper + (function ($) { + var right_to_left = false, + vakata_context = { + element : false, + reference : false, + position_x : 0, + position_y : 0, + items : [], + html : "", + is_visible : false + }; + + $.vakata.context = { + settings : { + hide_onmouseleave : 0, + icons : true + }, + _trigger : function (event_name) { + $(document).triggerHandler("context_" + event_name + ".vakata", { + "reference" : vakata_context.reference, + "element" : vakata_context.element, + "position" : { + "x" : vakata_context.position_x, + "y" : vakata_context.position_y + } + }); + }, + _execute : function (i) { + i = vakata_context.items[i]; + return i && (!i._disabled || ($.isFunction(i._disabled) && !i._disabled({ "item" : i, "reference" : vakata_context.reference, "element" : vakata_context.element }))) && i.action ? i.action.call(null, { + "item" : i, + "reference" : vakata_context.reference, + "element" : vakata_context.element, + "position" : { + "x" : vakata_context.position_x, + "y" : vakata_context.position_y + } + }) : false; + }, + _parse : function (o, is_callback) { + if(!o) { return false; } + if(!is_callback) { + vakata_context.html = ""; + vakata_context.items = []; + } + var str = "", + sep = false, + tmp; + + if(is_callback) { str += "<"+"ul>"; } + $.each(o, function (i, val) { + if(!val) { return true; } + vakata_context.items.push(val); + if(!sep && val.separator_before) { + str += "<"+"li class='vakata-context-separator'><"+"a href='#' " + ($.vakata.context.settings.icons ? '' : 'style="margin-left:0px;"') + ">&#160;<"+"/a><"+"/li>"; + } + sep = false; + str += "<"+"li class='" + (val._class || "") + (val._disabled === true || ($.isFunction(val._disabled) && val._disabled({ "item" : val, "reference" : vakata_context.reference, "element" : vakata_context.element })) ? " vakata-contextmenu-disabled " : "") + "' "+(val.shortcut?" data-shortcut='"+val.shortcut+"' ":'')+">"; + str += "<"+"a href='#' rel='" + (vakata_context.items.length - 1) + "'>"; + if($.vakata.context.settings.icons) { + str += "<"+"i "; + if(val.icon) { + if(val.icon.indexOf("/") !== -1 || val.icon.indexOf(".") !== -1) { str += " style='background:url(\"" + val.icon + "\") center center no-repeat' "; } + else { str += " class='" + val.icon + "' "; } + } + str += "><"+"/i><"+"span class='vakata-contextmenu-sep'>&#160;<"+"/span>"; + } + str += ($.isFunction(val.label) ? val.label({ "item" : i, "reference" : vakata_context.reference, "element" : vakata_context.element }) : val.label) + (val.shortcut?' <span class="vakata-contextmenu-shortcut vakata-contextmenu-shortcut-'+val.shortcut+'">'+ (val.shortcut_label || '') +'</span>':'') + "<"+"/a>"; + if(val.submenu) { + tmp = $.vakata.context._parse(val.submenu, true); + if(tmp) { str += tmp; } + } + str += "<"+"/li>"; + if(val.separator_after) { + str += "<"+"li class='vakata-context-separator'><"+"a href='#' " + ($.vakata.context.settings.icons ? '' : 'style="margin-left:0px;"') + ">&#160;<"+"/a><"+"/li>"; + sep = true; + } + }); + str = str.replace(/<li class\='vakata-context-separator'\><\/li\>$/,""); + if(is_callback) { str += "</ul>"; } + /** + * triggered on the document when the contextmenu is parsed (HTML is built) + * @event + * @plugin contextmenu + * @name context_parse.vakata + * @param {jQuery} reference the element that was right clicked + * @param {jQuery} element the DOM element of the menu itself + * @param {Object} position the x & y coordinates of the menu + */ + if(!is_callback) { vakata_context.html = str; $.vakata.context._trigger("parse"); } + return str.length > 10 ? str : false; + }, + _show_submenu : function (o) { + o = $(o); + if(!o.length || !o.children("ul").length) { return; } + var e = o.children("ul"), + x = o.offset().left + o.outerWidth(), + y = o.offset().top, + w = e.width(), + h = e.height(), + dw = $(window).width() + $(window).scrollLeft(), + dh = $(window).height() + $(window).scrollTop(); + // може да се спести е една проверка - дали няма някой от класовете вече нагоре + if(right_to_left) { + o[x - (w + 10 + o.outerWidth()) < 0 ? "addClass" : "removeClass"]("vakata-context-left"); + } + else { + o[x + w + 10 > dw ? "addClass" : "removeClass"]("vakata-context-right"); + } + if(y + h + 10 > dh) { + e.css("bottom","-1px"); + } + e.show(); + }, + show : function (reference, position, data) { + var o, e, x, y, w, h, dw, dh, cond = true; + if(vakata_context.element && vakata_context.element.length) { + vakata_context.element.width(''); + } + switch(cond) { + case (!position && !reference): + return false; + case (!!position && !!reference): + vakata_context.reference = reference; + vakata_context.position_x = position.x; + vakata_context.position_y = position.y; + break; + case (!position && !!reference): + vakata_context.reference = reference; + o = reference.offset(); + vakata_context.position_x = o.left + reference.outerHeight(); + vakata_context.position_y = o.top; + break; + case (!!position && !reference): + vakata_context.position_x = position.x; + vakata_context.position_y = position.y; + break; + } + if(!!reference && !data && $(reference).data('vakata_contextmenu')) { + data = $(reference).data('vakata_contextmenu'); + } + if($.vakata.context._parse(data)) { + vakata_context.element.html(vakata_context.html); + } + if(vakata_context.items.length) { + vakata_context.element.appendTo("body"); + e = vakata_context.element; + x = vakata_context.position_x; + y = vakata_context.position_y; + w = e.width(); + h = e.height(); + dw = $(window).width() + $(window).scrollLeft(); + dh = $(window).height() + $(window).scrollTop(); + if(right_to_left) { + x -= e.outerWidth(); + if(x < $(window).scrollLeft() + 20) { + x = $(window).scrollLeft() + 20; + } + } + if(x + w + 20 > dw) { + x = dw - (w + 20); + } + if(y + h + 20 > dh) { + y = dh - (h + 20); + } + + vakata_context.element + .css({ "left" : x, "top" : y }) + .show() + .find('a:eq(0)').focus().parent().addClass("vakata-context-hover"); + vakata_context.is_visible = true; + /** + * triggered on the document when the contextmenu is shown + * @event + * @plugin contextmenu + * @name context_show.vakata + * @param {jQuery} reference the element that was right clicked + * @param {jQuery} element the DOM element of the menu itself + * @param {Object} position the x & y coordinates of the menu + */ + $.vakata.context._trigger("show"); + } + }, + hide : function () { + if(vakata_context.is_visible) { + vakata_context.element.hide().find("ul").hide().end().find(':focus').blur().end().detach(); + vakata_context.is_visible = false; + /** + * triggered on the document when the contextmenu is hidden + * @event + * @plugin contextmenu + * @name context_hide.vakata + * @param {jQuery} reference the element that was right clicked + * @param {jQuery} element the DOM element of the menu itself + * @param {Object} position the x & y coordinates of the menu + */ + $.vakata.context._trigger("hide"); + } + } + }; + $(function () { + right_to_left = $("body").css("direction") === "rtl"; + var to = false; + + vakata_context.element = $("<ul class='vakata-context'></ul>"); + vakata_context.element + .on("mouseenter", "li", function (e) { + e.stopImmediatePropagation(); + + if($.contains(this, e.relatedTarget)) { + // премахнато заради delegate mouseleave по-долу + // $(this).find(".vakata-context-hover").removeClass("vakata-context-hover"); + return; + } + + if(to) { clearTimeout(to); } + vakata_context.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(); + + $(this) + .siblings().find("ul").hide().end().end() + .parentsUntil(".vakata-context", "li").addBack().addClass("vakata-context-hover"); + $.vakata.context._show_submenu(this); + }) + // тестово - дали не натоварва? + .on("mouseleave", "li", function (e) { + if($.contains(this, e.relatedTarget)) { return; } + $(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover"); + }) + .on("mouseleave", function (e) { + $(this).find(".vakata-context-hover").removeClass("vakata-context-hover"); + if($.vakata.context.settings.hide_onmouseleave) { + to = setTimeout( + (function (t) { + return function () { $.vakata.context.hide(); }; + }(this)), $.vakata.context.settings.hide_onmouseleave); + } + }) + .on("click", "a", function (e) { + e.preventDefault(); + //}) + //.on("mouseup", "a", function (e) { + if(!$(this).blur().parent().hasClass("vakata-context-disabled") && $.vakata.context._execute($(this).attr("rel")) !== false) { + $.vakata.context.hide(); + } + }) + .on('keydown', 'a', function (e) { + var o = null; + switch(e.which) { + case 13: + case 32: + e.type = "mouseup"; + e.preventDefault(); + $(e.currentTarget).trigger(e); + break; + case 37: + if(vakata_context.is_visible) { + vakata_context.element.find(".vakata-context-hover").last().parents("li:eq(0)").find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children('a').focus(); + e.stopImmediatePropagation(); + e.preventDefault(); + } + break; + case 38: + if(vakata_context.is_visible) { + o = vakata_context.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(); + if(!o.length) { o = vakata_context.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last(); } + o.addClass("vakata-context-hover").children('a').focus(); + e.stopImmediatePropagation(); + e.preventDefault(); + } + break; + case 39: + if(vakata_context.is_visible) { + vakata_context.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children('a').focus(); + e.stopImmediatePropagation(); + e.preventDefault(); + } + break; + case 40: + if(vakata_context.is_visible) { + o = vakata_context.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(); + if(!o.length) { o = vakata_context.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first(); } + o.addClass("vakata-context-hover").children('a').focus(); + e.stopImmediatePropagation(); + e.preventDefault(); + } + break; + case 27: + $.vakata.context.hide(); + e.preventDefault(); + break; + default: + //console.log(e.which); + break; + } + }) + .on('keydown', function (e) { + e.preventDefault(); + var a = vakata_context.element.find('.vakata-contextmenu-shortcut-' + e.which).parent(); + if(a.parent().not('.vakata-context-disabled')) { + a.click(); + } + }); + + $(document) + .on("mousedown.vakata.jstree", function (e) { + if(vakata_context.is_visible && !$.contains(vakata_context.element[0], e.target)) { $.vakata.context.hide(); } + }) + .on("context_show.vakata.jstree", function (e, data) { + vakata_context.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"); + if(right_to_left) { + vakata_context.element.addClass("vakata-context-rtl").css("direction", "rtl"); + } + // also apply a RTL class? + vakata_context.element.find("ul").hide().end(); + }); + }); + }($)); + // $.jstree.defaults.plugins.push("contextmenu"); + +/** + * ### Drag'n'drop plugin + * + * Enables dragging and dropping of nodes in the tree, resulting in a move or copy operations. + */ + + /** + * stores all defaults for the drag'n'drop plugin + * @name $.jstree.defaults.dnd + * @plugin dnd + */ + $.jstree.defaults.dnd = { + /** + * a boolean indicating if a copy should be possible while dragging (by pressint the meta key or Ctrl). Defaults to `true`. + * @name $.jstree.defaults.dnd.copy + * @plugin dnd + */ + copy : true, + /** + * a number indicating how long a node should remain hovered while dragging to be opened. Defaults to `500`. + * @name $.jstree.defaults.dnd.open_timeout + * @plugin dnd + */ + open_timeout : 500, + /** + * a function invoked each time a node is about to be dragged, invoked in the tree's scope and receives the nodes about to be dragged as an argument (array) - return `false` to prevent dragging + * @name $.jstree.defaults.dnd.is_draggable + * @plugin dnd + */ + is_draggable : true, + /** + * a boolean indicating if checks should constantly be made while the user is dragging the node (as opposed to checking only on drop), default is `true` + * @name $.jstree.defaults.dnd.check_while_dragging + * @plugin dnd + */ + check_while_dragging : true, + /** + * a boolean indicating if nodes from this tree should only be copied with dnd (as opposed to moved), default is `false` + * @name $.jstree.defaults.dnd.always_copy + * @plugin dnd + */ + always_copy : false, + /** + * when dropping a node "inside", this setting indicates the position the node should go to - it can be an integer or a string: "first" (same as 0) or "last", default is `0` + * @name $.jstree.defaults.dnd.inside_pos + * @plugin dnd + */ + inside_pos : 0 + }; + // TODO: now check works by checking for each node individually, how about max_children, unique, etc? + // TODO: drop somewhere else - maybe demo only? + $.jstree.plugins.dnd = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + + this.element + .on('mousedown.jstree touchstart.jstree', '.jstree-anchor', $.proxy(function (e) { + var obj = this.get_node(e.target), + mlt = this.is_selected(obj) ? this.get_selected().length : 1; + if(obj && obj.id && obj.id !== "#" && (e.which === 1 || e.type === "touchstart") && + (this.settings.dnd.is_draggable === true || ($.isFunction(this.settings.dnd.is_draggable) && this.settings.dnd.is_draggable.call(this, (mlt > 1 ? this.get_selected(true) : [obj])))) + ) { + this.element.trigger('mousedown.jstree'); + return $.vakata.dnd.start(e, { 'jstree' : true, 'origin' : this, 'obj' : this.get_node(obj,true), 'nodes' : mlt > 1 ? this.get_selected() : [obj.id] }, '<div id="jstree-dnd" class="jstree-' + this.get_theme() + ( this.settings.core.themes.responsive ? ' jstree-dnd-responsive' : '' ) + '"><i class="jstree-icon jstree-er"></i>' + (mlt > 1 ? mlt + ' ' + this.get_string('nodes') : this.get_text(e.currentTarget, true)) + '<ins class="jstree-copy" style="display:none;">+</ins></div>'); + } + }, this)); + }; + }; + + $(function() { + // bind only once for all instances + var lastmv = false, + laster = false, + opento = false, + marker = $('<div id="jstree-marker">&#160;</div>').hide(); //.appendTo('body'); + + $(document) + .on('dnd_start.vakata.jstree', function (e, data) { + lastmv = false; + if(!data || !data.data || !data.data.jstree) { return; } + marker.appendTo('body'); //.show(); + }) + .on('dnd_move.vakata.jstree', function (e, data) { + if(opento) { clearTimeout(opento); } + if(!data || !data.data || !data.data.jstree) { return; } + + // if we are hovering the marker image do nothing (can happen on "inside" drags) + if(data.event.target.id && data.event.target.id === 'jstree-marker') { + return; + } + + var ins = $.jstree.reference(data.event.target), + ref = false, + off = false, + rel = false, + l, t, h, p, i, o, ok, t1, t2, op, ps, pr, ip, tm; + // if we are over an instance + if(ins && ins._data && ins._data.dnd) { + marker.attr('class', 'jstree-' + ins.get_theme() + ( ins.settings.core.themes.responsive ? ' jstree-dnd-responsive' : '' )); + data.helper + .children().attr('class', 'jstree-' + ins.get_theme() + ( ins.settings.core.themes.responsive ? ' jstree-dnd-responsive' : '' )) + .find('.jstree-copy:eq(0)')[ data.data.origin && (data.data.origin.settings.dnd.always_copy || (data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey))) ? 'show' : 'hide' ](); + + + // if are hovering the container itself add a new root node + if( (data.event.target === ins.element[0] || data.event.target === ins.get_container_ul()[0]) && ins.get_container_ul().children().length === 0) { + ok = true; + for(t1 = 0, t2 = data.data.nodes.length; t1 < t2; t1++) { + ok = ok && ins.check( (data.data.origin && (data.data.origin.settings.dnd.always_copy || (data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey)) ) ? "copy_node" : "move_node"), (data.data.origin && data.data.origin !== ins ? data.data.origin.get_node(data.data.nodes[t1]) : data.data.nodes[t1]), '#', 'last', { 'dnd' : true, 'ref' : ins.get_node('#'), 'pos' : 'i', 'is_multi' : (data.data.origin && data.data.origin !== ins), 'is_foreign' : (!data.data.origin) }); + if(!ok) { break; } + } + if(ok) { + lastmv = { 'ins' : ins, 'par' : '#', 'pos' : 'last' }; + marker.hide(); + data.helper.find('.jstree-icon:eq(0)').removeClass('jstree-er').addClass('jstree-ok'); + return; + } + } + else { + // if we are hovering a tree node + ref = $(data.event.target).closest('.jstree-anchor'); + if(ref && ref.length && ref.parent().is('.jstree-closed, .jstree-open, .jstree-leaf')) { + off = ref.offset(); + rel = data.event.pageY - off.top; + h = ref.height(); + if(rel < h / 3) { + o = ['b', 'i', 'a']; + } + else if(rel > h - h / 3) { + o = ['a', 'i', 'b']; + } + else { + o = rel > h / 2 ? ['i', 'a', 'b'] : ['i', 'b', 'a']; + } + $.each(o, function (j, v) { + switch(v) { + case 'b': + l = off.left - 6; + t = off.top; + p = ins.get_parent(ref); + i = ref.parent().index(); + break; + case 'i': + ip = ins.settings.dnd.inside_pos; + tm = ins.get_node(ref.parent()); + l = off.left - 2; + t = off.top + h / 2 + 1; + p = tm.id; + i = ip === 'first' ? 0 : (ip === 'last' ? tm.children.length : Math.min(ip, tm.children.length)); + break; + case 'a': + l = off.left - 6; + t = off.top + h; + p = ins.get_parent(ref); + i = ref.parent().index() + 1; + break; + } + /*! + // TODO: moving inside, but the node is not yet loaded? + // the check will work anyway, as when moving the node will be loaded first and checked again + if(v === 'i' && !ins.is_loaded(p)) { } + */ + ok = true; + for(t1 = 0, t2 = data.data.nodes.length; t1 < t2; t1++) { + op = data.data.origin && (data.data.origin.settings.dnd.always_copy || (data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey))) ? "copy_node" : "move_node"; + ps = i; + if(op === "move_node" && v === 'a' && (data.data.origin && data.data.origin === ins) && p === ins.get_parent(data.data.nodes[t1])) { + pr = ins.get_node(p); + if(ps > $.inArray(data.data.nodes[t1], pr.children)) { + ps -= 1; + } + } + ok = ok && ( (ins && ins.settings && ins.settings.dnd && ins.settings.dnd.check_while_dragging === false) || ins.check(op, (data.data.origin && data.data.origin !== ins ? data.data.origin.get_node(data.data.nodes[t1]) : data.data.nodes[t1]), p, ps, { 'dnd' : true, 'ref' : ins.get_node(ref.parent()), 'pos' : v, 'is_multi' : (data.data.origin && data.data.origin !== ins), 'is_foreign' : (!data.data.origin) }) ); + if(!ok) { + if(ins && ins.last_error) { laster = ins.last_error(); } + break; + } + } + if(ok) { + if(v === 'i' && ref.parent().is('.jstree-closed') && ins.settings.dnd.open_timeout) { + opento = setTimeout((function (x, z) { return function () { x.open_node(z); }; }(ins, ref)), ins.settings.dnd.open_timeout); + } + lastmv = { 'ins' : ins, 'par' : p, 'pos' : v === 'i' && ip === 'last' && i === 0 && !ins.is_loaded(tm) ? 'last' : i }; + marker.css({ 'left' : l + 'px', 'top' : t + 'px' }).show(); + data.helper.find('.jstree-icon:eq(0)').removeClass('jstree-er').addClass('jstree-ok'); + laster = {}; + o = true; + return false; + } + }); + if(o === true) { return; } + } + } + } + lastmv = false; + data.helper.find('.jstree-icon').removeClass('jstree-ok').addClass('jstree-er'); + marker.hide(); + }) + .on('dnd_scroll.vakata.jstree', function (e, data) { + if(!data || !data.data || !data.data.jstree) { return; } + marker.hide(); + lastmv = false; + data.helper.find('.jstree-icon:eq(0)').removeClass('jstree-ok').addClass('jstree-er'); + }) + .on('dnd_stop.vakata.jstree', function (e, data) { + if(opento) { clearTimeout(opento); } + if(!data || !data.data || !data.data.jstree) { return; } + marker.hide().detach(); + var i, j, nodes = []; + if(lastmv) { + for(i = 0, j = data.data.nodes.length; i < j; i++) { + nodes[i] = data.data.origin ? data.data.origin.get_node(data.data.nodes[i]) : data.data.nodes[i]; + if(data.data.origin) { + nodes[i].instance = data.data.origin; + } + } + lastmv.ins[ data.data.origin && (data.data.origin.settings.dnd.always_copy || (data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey))) ? 'copy_node' : 'move_node' ](nodes, lastmv.par, lastmv.pos); + for(i = 0, j = nodes.length; i < j; i++) { + if(nodes[i].instance) { + nodes[i].instance = null; + } + } + } + else { + i = $(data.event.target).closest('.jstree'); + if(i.length && laster && laster.error && laster.error === 'check') { + i = i.jstree(true); + if(i) { + i.settings.core.error.call(this, laster); + } + } + } + }) + .on('keyup.jstree keydown.jstree', function (e, data) { + data = $.vakata.dnd._get(); + if(data && data.data && data.data.jstree) { + data.helper.find('.jstree-copy:eq(0)')[ data.data.origin && (data.data.origin.settings.dnd.always_copy || (data.data.origin.settings.dnd.copy && (e.metaKey || e.ctrlKey))) ? 'show' : 'hide' ](); + } + }); + }); + + // helpers + (function ($) { + // private variable + var vakata_dnd = { + element : false, + target : false, + is_down : false, + is_drag : false, + helper : false, + helper_w: 0, + data : false, + init_x : 0, + init_y : 0, + scroll_l: 0, + scroll_t: 0, + scroll_e: false, + scroll_i: false, + is_touch: false + }; + $.vakata.dnd = { + settings : { + scroll_speed : 10, + scroll_proximity : 20, + helper_left : 5, + helper_top : 10, + threshold : 5, + threshold_touch : 50 + }, + _trigger : function (event_name, e) { + var data = $.vakata.dnd._get(); + data.event = e; + $(document).triggerHandler("dnd_" + event_name + ".vakata", data); + }, + _get : function () { + return { + "data" : vakata_dnd.data, + "element" : vakata_dnd.element, + "helper" : vakata_dnd.helper + }; + }, + _clean : function () { + if(vakata_dnd.helper) { vakata_dnd.helper.remove(); } + if(vakata_dnd.scroll_i) { clearInterval(vakata_dnd.scroll_i); vakata_dnd.scroll_i = false; } + vakata_dnd = { + element : false, + target : false, + is_down : false, + is_drag : false, + helper : false, + helper_w: 0, + data : false, + init_x : 0, + init_y : 0, + scroll_l: 0, + scroll_t: 0, + scroll_e: false, + scroll_i: false, + is_touch: false + }; + $(document).off("mousemove.vakata.jstree touchmove.vakata.jstree", $.vakata.dnd.drag); + $(document).off("mouseup.vakata.jstree touchend.vakata.jstree", $.vakata.dnd.stop); + }, + _scroll : function (init_only) { + if(!vakata_dnd.scroll_e || (!vakata_dnd.scroll_l && !vakata_dnd.scroll_t)) { + if(vakata_dnd.scroll_i) { clearInterval(vakata_dnd.scroll_i); vakata_dnd.scroll_i = false; } + return false; + } + if(!vakata_dnd.scroll_i) { + vakata_dnd.scroll_i = setInterval($.vakata.dnd._scroll, 100); + return false; + } + if(init_only === true) { return false; } + + var i = vakata_dnd.scroll_e.scrollTop(), + j = vakata_dnd.scroll_e.scrollLeft(); + vakata_dnd.scroll_e.scrollTop(i + vakata_dnd.scroll_t * $.vakata.dnd.settings.scroll_speed); + vakata_dnd.scroll_e.scrollLeft(j + vakata_dnd.scroll_l * $.vakata.dnd.settings.scroll_speed); + if(i !== vakata_dnd.scroll_e.scrollTop() || j !== vakata_dnd.scroll_e.scrollLeft()) { + /** + * triggered on the document when a drag causes an element to scroll + * @event + * @plugin dnd + * @name dnd_scroll.vakata + * @param {Mixed} data any data supplied with the call to $.vakata.dnd.start + * @param {DOM} element the DOM element being dragged + * @param {jQuery} helper the helper shown next to the mouse + * @param {jQuery} event the element that is scrolling + */ + $.vakata.dnd._trigger("scroll", vakata_dnd.scroll_e); + } + }, + start : function (e, data, html) { + if(e.type === "touchstart" && e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0]) { + e.pageX = e.originalEvent.changedTouches[0].pageX; + e.pageY = e.originalEvent.changedTouches[0].pageY; + e.target = document.elementFromPoint(e.originalEvent.changedTouches[0].pageX - window.pageXOffset, e.originalEvent.changedTouches[0].pageY - window.pageYOffset); + } + if(vakata_dnd.is_drag) { $.vakata.dnd.stop({}); } + try { + e.currentTarget.unselectable = "on"; + e.currentTarget.onselectstart = function() { return false; }; + if(e.currentTarget.style) { e.currentTarget.style.MozUserSelect = "none"; } + } catch(ignore) { console.log(ignore.message); } + vakata_dnd.init_x = e.pageX; + vakata_dnd.init_y = e.pageY; + vakata_dnd.data = data; + vakata_dnd.is_down = true; + vakata_dnd.element = e.currentTarget; + vakata_dnd.target = e.target; + vakata_dnd.is_touch = e.type === "touchstart"; + if(html !== false) { + vakata_dnd.helper = $("<div id='vakata-dnd'></div>").html(html).css({ + "display" : "block", + "margin" : "0", + "padding" : "0", + "position" : "absolute", + "top" : "-2000px", + "lineHeight" : "16px", + "zIndex" : "10000" + }); + } + $(document).on("mousemove.vakata.jstree touchmove.vakata.jstree", $.vakata.dnd.drag); + $(document).on("mouseup.vakata.jstree touchend.vakata.jstree", $.vakata.dnd.stop); + return false; + }, + drag : function (e) { + if(e.type === "touchmove" && e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0]) { + e.pageX = e.originalEvent.changedTouches[0].pageX; + e.pageY = e.originalEvent.changedTouches[0].pageY; + e.target = document.elementFromPoint(e.originalEvent.changedTouches[0].pageX - window.pageXOffset, e.originalEvent.changedTouches[0].pageY - window.pageYOffset); + } + if(!vakata_dnd.is_down) { return; } + if(!vakata_dnd.is_drag) { + if( + Math.abs(e.pageX - vakata_dnd.init_x) > (vakata_dnd.is_touch ? $.vakata.dnd.settings.threshold_touch : $.vakata.dnd.settings.threshold) || + Math.abs(e.pageY - vakata_dnd.init_y) > (vakata_dnd.is_touch ? $.vakata.dnd.settings.threshold_touch : $.vakata.dnd.settings.threshold) + ) { + if(vakata_dnd.helper) { + vakata_dnd.helper.appendTo("body"); + vakata_dnd.helper_w = vakata_dnd.helper.outerWidth(); + } + vakata_dnd.is_drag = true; + /** + * triggered on the document when a drag starts + * @event + * @plugin dnd + * @name dnd_start.vakata + * @param {Mixed} data any data supplied with the call to $.vakata.dnd.start + * @param {DOM} element the DOM element being dragged + * @param {jQuery} helper the helper shown next to the mouse + * @param {Object} event the event that caused the start (probably mousemove) + */ + $.vakata.dnd._trigger("start", e); + } + else { return; } + } + + var d = false, w = false, + dh = false, wh = false, + dw = false, ww = false, + dt = false, dl = false, + ht = false, hl = false; + + vakata_dnd.scroll_t = 0; + vakata_dnd.scroll_l = 0; + vakata_dnd.scroll_e = false; + $($(e.target).parentsUntil("body").addBack().get().reverse()) + .filter(function () { + return (/^auto|scroll$/).test($(this).css("overflow")) && + (this.scrollHeight > this.offsetHeight || this.scrollWidth > this.offsetWidth); + }) + .each(function () { + var t = $(this), o = t.offset(); + if(this.scrollHeight > this.offsetHeight) { + if(o.top + t.height() - e.pageY < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_t = 1; } + if(e.pageY - o.top < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_t = -1; } + } + if(this.scrollWidth > this.offsetWidth) { + if(o.left + t.width() - e.pageX < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_l = 1; } + if(e.pageX - o.left < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_l = -1; } + } + if(vakata_dnd.scroll_t || vakata_dnd.scroll_l) { + vakata_dnd.scroll_e = $(this); + return false; + } + }); + + if(!vakata_dnd.scroll_e) { + d = $(document); w = $(window); + dh = d.height(); wh = w.height(); + dw = d.width(); ww = w.width(); + dt = d.scrollTop(); dl = d.scrollLeft(); + if(dh > wh && e.pageY - dt < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_t = -1; } + if(dh > wh && wh - (e.pageY - dt) < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_t = 1; } + if(dw > ww && e.pageX - dl < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_l = -1; } + if(dw > ww && ww - (e.pageX - dl) < $.vakata.dnd.settings.scroll_proximity) { vakata_dnd.scroll_l = 1; } + if(vakata_dnd.scroll_t || vakata_dnd.scroll_l) { + vakata_dnd.scroll_e = d; + } + } + if(vakata_dnd.scroll_e) { $.vakata.dnd._scroll(true); } + + if(vakata_dnd.helper) { + ht = parseInt(e.pageY + $.vakata.dnd.settings.helper_top, 10); + hl = parseInt(e.pageX + $.vakata.dnd.settings.helper_left, 10); + if(dh && ht + 25 > dh) { ht = dh - 50; } + if(dw && hl + vakata_dnd.helper_w > dw) { hl = dw - (vakata_dnd.helper_w + 2); } + vakata_dnd.helper.css({ + left : hl + "px", + top : ht + "px" + }); + } + /** + * triggered on the document when a drag is in progress + * @event + * @plugin dnd + * @name dnd_move.vakata + * @param {Mixed} data any data supplied with the call to $.vakata.dnd.start + * @param {DOM} element the DOM element being dragged + * @param {jQuery} helper the helper shown next to the mouse + * @param {Object} event the event that caused this to trigger (most likely mousemove) + */ + $.vakata.dnd._trigger("move", e); + return false; + }, + stop : function (e) { + if(e.type === "touchend" && e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0]) { + e.pageX = e.originalEvent.changedTouches[0].pageX; + e.pageY = e.originalEvent.changedTouches[0].pageY; + e.target = document.elementFromPoint(e.originalEvent.changedTouches[0].pageX - window.pageXOffset, e.originalEvent.changedTouches[0].pageY - window.pageYOffset); + } + if(vakata_dnd.is_drag) { + /** + * triggered on the document when a drag stops (the dragged element is dropped) + * @event + * @plugin dnd + * @name dnd_stop.vakata + * @param {Mixed} data any data supplied with the call to $.vakata.dnd.start + * @param {DOM} element the DOM element being dragged + * @param {jQuery} helper the helper shown next to the mouse + * @param {Object} event the event that caused the stop + */ + $.vakata.dnd._trigger("stop", e); + } + else { + if(e.type === "touchend" && e.target === vakata_dnd.target) { + var to = setTimeout(function () { $(e.target).click(); }, 100); + $(e.target).one('click', function() { if(to) { clearTimeout(to); } }); + } + } + $.vakata.dnd._clean(); + return false; + } + }; + }($)); + + // include the dnd plugin by default + // $.jstree.defaults.plugins.push("dnd"); + + +/** + * ### Search plugin + * + * Adds search functionality to jsTree. + */ + + /** + * stores all defaults for the search plugin + * @name $.jstree.defaults.search + * @plugin search + */ + $.jstree.defaults.search = { + /** + * a jQuery-like AJAX config, which jstree uses if a server should be queried for results. + * + * A `str` (which is the search string) parameter will be added with the request. The expected result is a JSON array with nodes that need to be opened so that matching nodes will be revealed. + * Leave this setting as `false` to not query the server. You can also set this to a function, which will be invoked in the instance's scope and receive 2 parameters - the search string and the callback to call with the array of nodes to load. + * @name $.jstree.defaults.search.ajax + * @plugin search + */ + ajax : false, + /** + * Indicates if the search should be fuzzy or not (should `chnd3` match `child node 3`). Default is `false`. + * @name $.jstree.defaults.search.fuzzy + * @plugin search + */ + fuzzy : false, + /** + * Indicates if the search should be case sensitive. Default is `false`. + * @name $.jstree.defaults.search.case_sensitive + * @plugin search + */ + case_sensitive : false, + /** + * Indicates if the tree should be filtered to show only matching nodes (keep in mind this can be a heavy on large trees in old browsers). Default is `false`. + * @name $.jstree.defaults.search.show_only_matches + * @plugin search + */ + show_only_matches : false, + /** + * Indicates if all nodes opened to reveal the search result, should be closed when the search is cleared or a new search is performed. Default is `true`. + * @name $.jstree.defaults.search.close_opened_onclear + * @plugin search + */ + close_opened_onclear : true, + /** + * Indicates if only leaf nodes should be included in search results. Default is `false`. + * @name $.jstree.defaults.search.search_leaves_only + * @plugin search + */ + search_leaves_only : false, + /** + * If set to a function it wil be called in the instance's scope with two arguments - search string and node (where node will be every node in the structure, so use with caution). + * If the function returns a truthy value the node will be considered a match (it might not be displayed if search_only_leaves is set to true and the node is not a leaf). Default is `false`. + * @name $.jstree.defaults.search.search_callback + * @plugin search + */ + search_callback : false + }; + + $.jstree.plugins.search = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + + this._data.search.str = ""; + this._data.search.dom = $(); + this._data.search.res = []; + this._data.search.opn = []; + + this.element.on('before_open.jstree', $.proxy(function (e, data) { + var i, j, f, r = this._data.search.res, s = [], o = $(); + if(r && r.length) { + this._data.search.dom = $(this.element[0].querySelectorAll('#' + $.map(r, function (v) { return "0123456789".indexOf(v[0]) !== -1 ? '\\3' + v[0] + ' ' + v.substr(1).replace($.jstree.idregex,'\\$&') : v.replace($.jstree.idregex,'\\$&'); }).join(', #'))); + this._data.search.dom.children(".jstree-anchor").addClass('jstree-search'); + if(this.settings.search.show_only_matches && this._data.search.res.length) { + for(i = 0, j = r.length; i < j; i++) { + s = s.concat(this.get_node(r[i]).parents); + } + s = $.vakata.array_remove_item($.vakata.array_unique(s),'#'); + o = s.length ? $(this.element[0].querySelectorAll('#' + $.map(s, function (v) { return "0123456789".indexOf(v[0]) !== -1 ? '\\3' + v[0] + ' ' + v.substr(1).replace($.jstree.idregex,'\\$&') : v.replace($.jstree.idregex,'\\$&'); }).join(', #'))) : $(); + + this.element.find(".jstree-node").hide().filter('.jstree-last').filter(function() { return this.nextSibling; }).removeClass('jstree-last'); + o = o.add(this._data.search.dom); + o.parentsUntil(".jstree").addBack().show() + .filter(".jstree-children").each(function () { $(this).children(".jstree-node:visible").eq(-1).addClass("jstree-last"); }); + } + } + }, this)); + if(this.settings.search.show_only_matches) { + this.element + .on("search.jstree", function (e, data) { + if(data.nodes.length) { + $(this).find(".jstree-node").hide().filter('.jstree-last').filter(function() { return this.nextSibling; }).removeClass('jstree-last'); + data.nodes.parentsUntil(".jstree").addBack().show() + .filter(".jstree-children").each(function () { $(this).children(".jstree-node:visible").eq(-1).addClass("jstree-last"); }); + } + }) + .on("clear_search.jstree", function (e, data) { + if(data.nodes.length) { + $(this).find(".jstree-node").css("display","").filter('.jstree-last').filter(function() { return this.nextSibling; }).removeClass('jstree-last'); + } + }); + } + }; + /** + * used to search the tree nodes for a given string + * @name search(str [, skip_async]) + * @param {String} str the search string + * @param {Boolean} skip_async if set to true server will not be queried even if configured + * @plugin search + * @trigger search.jstree + */ + this.search = function (str, skip_async) { + if(str === false || $.trim(str.toString()) === "") { + return this.clear_search(); + } + str = str.toString(); + var s = this.settings.search, + a = s.ajax ? s.ajax : false, + f = null, + r = [], + p = [], i, j; + if(this._data.search.res.length) { + this.clear_search(); + } + if(!skip_async && a !== false) { + if($.isFunction(a)) { + return a.call(this, str, $.proxy(function (d) { + if(d && d.d) { d = d.d; } + this._load_nodes(!$.isArray(d) ? [] : $.vakata.array_unique(d), function () { + this.search(str, true); + }, true); + }, this)); + } + else { + a = $.extend({}, a); + if(!a.data) { a.data = {}; } + a.data.str = str; + return $.ajax(a) + .fail($.proxy(function () { + this._data.core.last_error = { 'error' : 'ajax', 'plugin' : 'search', 'id' : 'search_01', 'reason' : 'Could not load search parents', 'data' : JSON.stringify(a) }; + this.settings.core.error.call(this, this._data.core.last_error); + }, this)) + .done($.proxy(function (d) { + if(d && d.d) { d = d.d; } + this._load_nodes(!$.isArray(d) ? [] : $.vakata.array_unique(d), function () { + this.search(str, true); + }, true); + }, this)); + } + } + this._data.search.str = str; + this._data.search.dom = $(); + this._data.search.res = []; + this._data.search.opn = []; + + f = new $.vakata.search(str, true, { caseSensitive : s.case_sensitive, fuzzy : s.fuzzy }); + + $.each(this._model.data, function (i, v) { + if(v.text && ( (s.search_callback && s.search_callback.call(this, str, v)) || (!s.search_callback && f.search(v.text).isMatch) ) && (!s.search_leaves_only || (v.state.loaded && v.children.length === 0)) ) { + r.push(i); + p = p.concat(v.parents); + } + }); + if(r.length) { + p = $.vakata.array_unique(p); + this._search_open(p); + this._data.search.dom = $(this.element[0].querySelectorAll('#' + $.map(r, function (v) { return "0123456789".indexOf(v[0]) !== -1 ? '\\3' + v[0] + ' ' + v.substr(1).replace($.jstree.idregex,'\\$&') : v.replace($.jstree.idregex,'\\$&'); }).join(', #'))); + this._data.search.res = r; + this._data.search.dom.children(".jstree-anchor").addClass('jstree-search'); + } + /** + * triggered after search is complete + * @event + * @name search.jstree + * @param {jQuery} nodes a jQuery collection of matching nodes + * @param {String} str the search string + * @param {Array} res a collection of objects represeing the matching nodes + * @plugin search + */ + this.trigger('search', { nodes : this._data.search.dom, str : str, res : this._data.search.res }); + }; + /** + * used to clear the last search (removes classes and shows all nodes if filtering is on) + * @name clear_search() + * @plugin search + * @trigger clear_search.jstree + */ + this.clear_search = function () { + this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search"); + if(this.settings.search.close_opened_onclear) { + this.close_node(this._data.search.opn, 0); + } + /** + * triggered after search is complete + * @event + * @name clear_search.jstree + * @param {jQuery} nodes a jQuery collection of matching nodes (the result from the last search) + * @param {String} str the search string (the last search string) + * @param {Array} res a collection of objects represeing the matching nodes (the result from the last search) + * @plugin search + */ + this.trigger('clear_search', { 'nodes' : this._data.search.dom, str : this._data.search.str, res : this._data.search.res }); + this._data.search.str = ""; + this._data.search.res = []; + this._data.search.opn = []; + this._data.search.dom = $(); + }; + /** + * opens nodes that need to be opened to reveal the search results. Used only internally. + * @private + * @name _search_open(d) + * @param {Array} d an array of node IDs + * @plugin search + */ + this._search_open = function (d) { + var t = this; + $.each(d.concat([]), function (i, v) { + if(v === "#") { return true; } + try { v = $('#' + v.replace($.jstree.idregex,'\\$&'), t.element); } catch(ignore) { console.log(ignore.message); } + if(v && v.length) { + if(t.is_closed(v)) { + t._data.search.opn.push(v[0].id); + t.open_node(v, function () { t._search_open(d); }, 0); + } + } + }); + }; + }; + + // helpers + (function ($) { + // from http://kiro.me/projects/fuse.html + $.vakata.search = function(pattern, txt, options) { + options = options || {}; + if(options.fuzzy !== false) { + options.fuzzy = true; + } + pattern = options.caseSensitive ? pattern : pattern.toLowerCase(); + var MATCH_LOCATION = options.location || 0, + MATCH_DISTANCE = options.distance || 100, + MATCH_THRESHOLD = options.threshold || 0.6, + patternLen = pattern.length, + matchmask, pattern_alphabet, match_bitapScore, search; + if(patternLen > 32) { + options.fuzzy = false; + } + if(options.fuzzy) { + matchmask = 1 << (patternLen - 1); + pattern_alphabet = (function () { + var mask = {}, + i = 0; + for (i = 0; i < patternLen; i++) { + mask[pattern.charAt(i)] = 0; + } + for (i = 0; i < patternLen; i++) { + mask[pattern.charAt(i)] |= 1 << (patternLen - i - 1); + } + return mask; + }()); + match_bitapScore = function (e, x) { + var accuracy = e / patternLen, + proximity = Math.abs(MATCH_LOCATION - x); + if(!MATCH_DISTANCE) { + return proximity ? 1.0 : accuracy; + } + return accuracy + (proximity / MATCH_DISTANCE); + }; + } + search = function (text) { + text = options.caseSensitive ? text : text.toLowerCase(); + if(pattern === text || text.indexOf(pattern) !== -1) { + return { + isMatch: true, + score: 0 + }; + } + if(!options.fuzzy) { + return { + isMatch: false, + score: 1 + }; + } + var i, j, + textLen = text.length, + scoreThreshold = MATCH_THRESHOLD, + bestLoc = text.indexOf(pattern, MATCH_LOCATION), + binMin, binMid, + binMax = patternLen + textLen, + lastRd, start, finish, rd, charMatch, + score = 1, + locations = []; + if (bestLoc !== -1) { + scoreThreshold = Math.min(match_bitapScore(0, bestLoc), scoreThreshold); + bestLoc = text.lastIndexOf(pattern, MATCH_LOCATION + patternLen); + if (bestLoc !== -1) { + scoreThreshold = Math.min(match_bitapScore(0, bestLoc), scoreThreshold); + } + } + bestLoc = -1; + for (i = 0; i < patternLen; i++) { + binMin = 0; + binMid = binMax; + while (binMin < binMid) { + if (match_bitapScore(i, MATCH_LOCATION + binMid) <= scoreThreshold) { + binMin = binMid; + } else { + binMax = binMid; + } + binMid = Math.floor((binMax - binMin) / 2 + binMin); + } + binMax = binMid; + start = Math.max(1, MATCH_LOCATION - binMid + 1); + finish = Math.min(MATCH_LOCATION + binMid, textLen) + patternLen; + rd = new Array(finish + 2); + rd[finish + 1] = (1 << i) - 1; + for (j = finish; j >= start; j--) { + charMatch = pattern_alphabet[text.charAt(j - 1)]; + if (i === 0) { + rd[j] = ((rd[j + 1] << 1) | 1) & charMatch; + } else { + rd[j] = ((rd[j + 1] << 1) | 1) & charMatch | (((lastRd[j + 1] | lastRd[j]) << 1) | 1) | lastRd[j + 1]; + } + if (rd[j] & matchmask) { + score = match_bitapScore(i, j - 1); + if (score <= scoreThreshold) { + scoreThreshold = score; + bestLoc = j - 1; + locations.push(bestLoc); + if (bestLoc > MATCH_LOCATION) { + start = Math.max(1, 2 * MATCH_LOCATION - bestLoc); + } else { + break; + } + } + } + } + if (match_bitapScore(i + 1, MATCH_LOCATION) > scoreThreshold) { + break; + } + lastRd = rd; + } + return { + isMatch: bestLoc >= 0, + score: score + }; + }; + return txt === true ? { 'search' : search } : search(txt); + }; + }($)); + + // include the search plugin by default + // $.jstree.defaults.plugins.push("search"); + +/** + * ### Sort plugin + * + * Automatically sorts all siblings in the tree according to a sorting function. + */ + + /** + * the settings function used to sort the nodes. + * It is executed in the tree's context, accepts two nodes as arguments and should return `1` or `-1`. + * @name $.jstree.defaults.sort + * @plugin sort + */ + $.jstree.defaults.sort = function (a, b) { + //return this.get_type(a) === this.get_type(b) ? (this.get_text(a) > this.get_text(b) ? 1 : -1) : this.get_type(a) >= this.get_type(b); + return this.get_text(a) > this.get_text(b) ? 1 : -1; + }; + $.jstree.plugins.sort = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + this.element + .on("model.jstree", $.proxy(function (e, data) { + this.sort(data.parent, true); + }, this)) + .on("rename_node.jstree create_node.jstree", $.proxy(function (e, data) { + this.sort(data.parent || data.node.parent, false); + this.redraw_node(data.parent || data.node.parent, true); + }, this)) + .on("move_node.jstree copy_node.jstree", $.proxy(function (e, data) { + this.sort(data.parent, false); + this.redraw_node(data.parent, true); + }, this)); + }; + /** + * used to sort a node's children + * @private + * @name sort(obj [, deep]) + * @param {mixed} obj the node + * @param {Boolean} deep if set to `true` nodes are sorted recursively. + * @plugin sort + * @trigger search.jstree + */ + this.sort = function (obj, deep) { + var i, j; + obj = this.get_node(obj); + if(obj && obj.children && obj.children.length) { + obj.children.sort($.proxy(this.settings.sort, this)); + if(deep) { + for(i = 0, j = obj.children_d.length; i < j; i++) { + this.sort(obj.children_d[i], false); + } + } + } + }; + }; + + // include the sort plugin by default + // $.jstree.defaults.plugins.push("sort"); + +/** + * ### State plugin + * + * Saves the state of the tree (selected nodes, opened nodes) on the user's computer using available options (localStorage, cookies, etc) + */ + + var to = false; + /** + * stores all defaults for the state plugin + * @name $.jstree.defaults.state + * @plugin state + */ + $.jstree.defaults.state = { + /** + * A string for the key to use when saving the current tree (change if using multiple trees in your project). Defaults to `jstree`. + * @name $.jstree.defaults.state.key + * @plugin state + */ + key : 'jstree', + /** + * A space separated list of events that trigger a state save. Defaults to `changed.jstree open_node.jstree close_node.jstree`. + * @name $.jstree.defaults.state.events + * @plugin state + */ + events : 'changed.jstree open_node.jstree close_node.jstree', + /** + * Time in milliseconds after which the state will expire. Defaults to 'false' meaning - no expire. + * @name $.jstree.defaults.state.ttl + * @plugin state + */ + ttl : false, + /** + * A function that will be executed prior to restoring state with one argument - the state object. Can be used to clear unwanted parts of the state. + * @name $.jstree.defaults.state.filter + * @plugin state + */ + filter : false + }; + $.jstree.plugins.state = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + var bind = $.proxy(function () { + this.element.on(this.settings.state.events, $.proxy(function () { + if(to) { clearTimeout(to); } + to = setTimeout($.proxy(function () { this.save_state(); }, this), 100); + }, this)); + }, this); + this.element + .on("ready.jstree", $.proxy(function (e, data) { + this.element.one("restore_state.jstree", bind); + if(!this.restore_state()) { bind(); } + }, this)); + }; + /** + * save the state + * @name save_state() + * @plugin state + */ + this.save_state = function () { + var st = { 'state' : this.get_state(), 'ttl' : this.settings.state.ttl, 'sec' : +(new Date()) }; + $.vakata.storage.set(this.settings.state.key, JSON.stringify(st)); + }; + /** + * restore the state from the user's computer + * @name restore_state() + * @plugin state + */ + this.restore_state = function () { + var k = $.vakata.storage.get(this.settings.state.key); + if(!!k) { try { k = JSON.parse(k); } catch(ex) { return false; } } + if(!!k && k.ttl && k.sec && +(new Date()) - k.sec > k.ttl) { return false; } + if(!!k && k.state) { k = k.state; } + if(!!k && $.isFunction(this.settings.state.filter)) { k = this.settings.state.filter.call(this, k); } + if(!!k) { + this.element.one("set_state.jstree", function (e, data) { data.instance.trigger('restore_state', { 'state' : $.extend(true, {}, k) }); }); + this.set_state(k); + return true; + } + return false; + }; + /** + * clear the state on the user's computer + * @name clear_state() + * @plugin state + */ + this.clear_state = function () { + return $.vakata.storage.del(this.settings.state.key); + }; + }; + + (function ($, undefined) { + $.vakata.storage = { + // simply specifying the functions in FF throws an error + set : function (key, val) { return window.localStorage.setItem(key, val); }, + get : function (key) { return window.localStorage.getItem(key); }, + del : function (key) { return window.localStorage.removeItem(key); } + }; + }($)); + + // include the state plugin by default + // $.jstree.defaults.plugins.push("state"); + +/** + * ### Types plugin + * + * Makes it possible to add predefined types for groups of nodes, which make it possible to easily control nesting rules and icon for each group. + */ + + /** + * An object storing all types as key value pairs, where the key is the type name and the value is an object that could contain following keys (all optional). + * + * * `max_children` the maximum number of immediate children this node type can have. Do not specify or set to `-1` for unlimited. + * * `max_depth` the maximum number of nesting this node type can have. A value of `1` would mean that the node can have children, but no grandchildren. Do not specify or set to `-1` for unlimited. + * * `valid_children` an array of node type strings, that nodes of this type can have as children. Do not specify or set to `-1` for no limits. + * * `icon` a string - can be a path to an icon or a className, if using an image that is in the current directory use a `./` prefix, otherwise it will be detected as a class. Omit to use the default icon from your theme. + * + * There are two predefined types: + * + * * `#` represents the root of the tree, for example `max_children` would control the maximum number of root nodes. + * * `default` represents the default node - any settings here will be applied to all nodes that do not have a type specified. + * + * @name $.jstree.defaults.types + * @plugin types + */ + $.jstree.defaults.types = { + '#' : {}, + 'default' : {} + }; + + $.jstree.plugins.types = function (options, parent) { + this.init = function (el, options) { + var i, j; + if(options && options.types && options.types['default']) { + for(i in options.types) { + if(i !== "default" && i !== "#" && options.types.hasOwnProperty(i)) { + for(j in options.types['default']) { + if(options.types['default'].hasOwnProperty(j) && options.types[i][j] === undefined) { + options.types[i][j] = options.types['default'][j]; + } + } + } + } + } + parent.init.call(this, el, options); + this._model.data['#'].type = '#'; + }; + this.refresh = function (skip_loading, forget_state) { + parent.refresh.call(this, skip_loading, forget_state); + this._model.data['#'].type = '#'; + }; + this.bind = function () { + this.element + .on('model.jstree', $.proxy(function (e, data) { + var m = this._model.data, + dpc = data.nodes, + t = this.settings.types, + i, j, c = 'default'; + for(i = 0, j = dpc.length; i < j; i++) { + c = 'default'; + if(m[dpc[i]].original && m[dpc[i]].original.type && t[m[dpc[i]].original.type]) { + c = m[dpc[i]].original.type; + } + if(m[dpc[i]].data && m[dpc[i]].data.jstree && m[dpc[i]].data.jstree.type && t[m[dpc[i]].data.jstree.type]) { + c = m[dpc[i]].data.jstree.type; + } + m[dpc[i]].type = c; + if(m[dpc[i]].icon === true && t[c].icon !== undefined) { + m[dpc[i]].icon = t[c].icon; + } + } + m['#'].type = '#'; + }, this)); + parent.bind.call(this); + }; + this.get_json = function (obj, options, flat) { + var i, j, + m = this._model.data, + opt = options ? $.extend(true, {}, options, {no_id:false}) : {}, + tmp = parent.get_json.call(this, obj, opt, flat); + if(tmp === false) { return false; } + if($.isArray(tmp)) { + for(i = 0, j = tmp.length; i < j; i++) { + tmp[i].type = tmp[i].id && m[tmp[i].id] && m[tmp[i].id].type ? m[tmp[i].id].type : "default"; + if(options && options.no_id) { + delete tmp[i].id; + if(tmp[i].li_attr && tmp[i].li_attr.id) { + delete tmp[i].li_attr.id; + } + } + } + } + else { + tmp.type = tmp.id && m[tmp.id] && m[tmp.id].type ? m[tmp.id].type : "default"; + if(options && options.no_id) { + tmp = this._delete_ids(tmp); + } + } + return tmp; + }; + this._delete_ids = function (tmp) { + if($.isArray(tmp)) { + for(var i = 0, j = tmp.length; i < j; i++) { + tmp[i] = this._delete_ids(tmp[i]); + } + return tmp; + } + delete tmp.id; + if(tmp.li_attr && tmp.li_attr.id) { + delete tmp.li_attr.id; + } + if(tmp.children && $.isArray(tmp.children)) { + tmp.children = this._delete_ids(tmp.children); + } + return tmp; + }; + this.check = function (chk, obj, par, pos, more) { + if(parent.check.call(this, chk, obj, par, pos, more) === false) { return false; } + obj = obj && obj.id ? obj : this.get_node(obj); + par = par && par.id ? par : this.get_node(par); + var m = obj && obj.id ? $.jstree.reference(obj.id) : null, tmp, d, i, j; + m = m && m._model && m._model.data ? m._model.data : null; + switch(chk) { + case "create_node": + case "move_node": + case "copy_node": + if(chk !== 'move_node' || $.inArray(obj.id, par.children) === -1) { + tmp = this.get_rules(par); + if(tmp.max_children !== undefined && tmp.max_children !== -1 && tmp.max_children === par.children.length) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'types', 'id' : 'types_01', 'reason' : 'max_children prevents function: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + return false; + } + if(tmp.valid_children !== undefined && tmp.valid_children !== -1 && $.inArray(obj.type, tmp.valid_children) === -1) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'types', 'id' : 'types_02', 'reason' : 'valid_children prevents function: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + return false; + } + if(m && obj.children_d && obj.parents) { + d = 0; + for(i = 0, j = obj.children_d.length; i < j; i++) { + d = Math.max(d, m[obj.children_d[i]].parents.length); + } + d = d - obj.parents.length + 1; + } + if(d <= 0 || d === undefined) { d = 1; } + do { + if(tmp.max_depth !== undefined && tmp.max_depth !== -1 && tmp.max_depth < d) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'types', 'id' : 'types_03', 'reason' : 'max_depth prevents function: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + return false; + } + par = this.get_node(par.parent); + tmp = this.get_rules(par); + d++; + } while(par && par.id!=par.parent); + } + break; + } + return true; + }; + /** + * used to retrieve the type settings object for a node + * @name get_rules(obj) + * @param {mixed} obj the node to find the rules for + * @return {Object} + * @plugin types + */ + this.get_rules = function (obj) { + obj = this.get_node(obj); + if(!obj) { return false; } + var tmp = this.get_type(obj, true); + if(tmp.max_depth === undefined) { tmp.max_depth = -1; } + if(tmp.max_children === undefined) { tmp.max_children = -1; } + if(tmp.valid_children === undefined) { tmp.valid_children = -1; } + return tmp; + }; + /** + * used to retrieve the type string or settings object for a node + * @name get_type(obj [, rules]) + * @param {mixed} obj the node to find the rules for + * @param {Boolean} rules if set to `true` instead of a string the settings object will be returned + * @return {String|Object} + * @plugin types + */ + this.get_type = function (obj, rules) { + obj = this.get_node(obj); + return (!obj) ? false : ( rules ? $.extend({ 'type' : obj.type }, this.settings.types[obj.type]) : obj.type); + }; + /** + * used to change a node's type + * @name set_type(obj, type) + * @param {mixed} obj the node to change + * @param {String} type the new type + * @plugin types + */ + this.set_type = function (obj, type) { + var t, t1, t2, old_type, old_icon; + if($.isArray(obj)) { + obj = obj.slice(); + for(t1 = 0, t2 = obj.length; t1 < t2; t1++) { + this.set_type(obj[t1], type); + } + return true; + } + t = this.settings.types; + obj = this.get_node(obj); + if(!t[type] || !obj) { return false; } + old_type = obj.type; + old_icon = this.get_icon(obj); + obj.type = type; + if(old_icon === true || (t[old_type] && t[old_type].icon && old_icon === t[old_type].icon)) { + this.set_icon(obj, t[type].icon !== undefined ? t[type].icon : true); + } + return true; + }; + }; + // include the types plugin by default + // $.jstree.defaults.plugins.push("types"); + +/** + * ### Unique plugin + * + * Enforces that no nodes with the same name can coexist as siblings. + */ + + /** + * stores all defaults for the unique plugin + * @name $.jstree.defaults.unique + * @plugin unique + */ + $.jstree.defaults.unique = { + /** + * Indicates if the comparison should be case sensitive. Default is `false`. + * @name $.jstree.defaults.unique.case_sensitive + * @plugin unique + */ + case_sensitive : false, + /** + * A callback executed in the instance's scope when a new node is created and the name is already taken, the two arguments are the conflicting name and the counter. The default will produce results like `New node (2)`. + * @name $.jstree.defaults.unique.duplicate + * @plugin unique + */ + duplicate : function (name, counter) { + return name + ' (' + counter + ')'; + } + }; + + $.jstree.plugins.unique = function (options, parent) { + this.check = function (chk, obj, par, pos, more) { + if(parent.check.call(this, chk, obj, par, pos, more) === false) { return false; } + obj = obj && obj.id ? obj : this.get_node(obj); + par = par && par.id ? par : this.get_node(par); + if(!par || !par.children) { return true; } + var n = chk === "rename_node" ? pos : obj.text, + c = [], + s = this.settings.unique.case_sensitive, + m = this._model.data, i, j; + for(i = 0, j = par.children.length; i < j; i++) { + c.push(s ? m[par.children[i]].text : m[par.children[i]].text.toLowerCase()); + } + if(!s) { n = n.toLowerCase(); } + switch(chk) { + case "delete_node": + return true; + case "rename_node": + i = ($.inArray(n, c) === -1 || (obj.text && obj.text[ s ? 'toString' : 'toLowerCase']() === n)); + if(!i) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'unique', 'id' : 'unique_01', 'reason' : 'Child with name ' + n + ' already exists. Preventing: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + } + return i; + case "create_node": + i = ($.inArray(n, c) === -1); + if(!i) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'unique', 'id' : 'unique_04', 'reason' : 'Child with name ' + n + ' already exists. Preventing: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + } + return i; + case "copy_node": + i = ($.inArray(n, c) === -1); + if(!i) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'unique', 'id' : 'unique_02', 'reason' : 'Child with name ' + n + ' already exists. Preventing: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + } + return i; + case "move_node": + i = (obj.parent === par.id || $.inArray(n, c) === -1); + if(!i) { + this._data.core.last_error = { 'error' : 'check', 'plugin' : 'unique', 'id' : 'unique_03', 'reason' : 'Child with name ' + n + ' already exists. Preventing: ' + chk, 'data' : JSON.stringify({ 'chk' : chk, 'pos' : pos, 'obj' : obj && obj.id ? obj.id : false, 'par' : par && par.id ? par.id : false }) }; + } + return i; + } + return true; + }; + this.create_node = function (par, node, pos, callback, is_loaded) { + if(!node || node.text === undefined) { + if(par === null) { + par = "#"; + } + par = this.get_node(par); + if(!par) { + return parent.create_node.call(this, par, node, pos, callback, is_loaded); + } + pos = pos === undefined ? "last" : pos; + if(!pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) { + return parent.create_node.call(this, par, node, pos, callback, is_loaded); + } + if(!node) { node = {}; } + var tmp, n, dpc, i, j, m = this._model.data, s = this.settings.unique.case_sensitive, cb = this.settings.unique.duplicate; + n = tmp = this.get_string('New node'); + dpc = []; + for(i = 0, j = par.children.length; i < j; i++) { + dpc.push(s ? m[par.children[i]].text : m[par.children[i]].text.toLowerCase()); + } + i = 1; + while($.inArray(s ? n : n.toLowerCase(), dpc) !== -1) { + n = cb.call(this, tmp, (++i)).toString(); + } + node.text = n; + } + return parent.create_node.call(this, par, node, pos, callback, is_loaded); + }; + }; + + // include the unique plugin by default + // $.jstree.defaults.plugins.push("unique"); + + +/** + * ### Wholerow plugin + * + * Makes each node appear block level. Making selection easier. May cause slow down for large trees in old browsers. + */ + + var div = document.createElement('DIV'); + div.setAttribute('unselectable','on'); + div.className = 'jstree-wholerow'; + div.innerHTML = '&#160;'; + $.jstree.plugins.wholerow = function (options, parent) { + this.bind = function () { + parent.bind.call(this); + + this.element + .on('ready.jstree set_state.jstree', $.proxy(function () { + this.hide_dots(); + }, this)) + .on("init.jstree loading.jstree ready.jstree", $.proxy(function () { + //div.style.height = this._data.core.li_height + 'px'; + this.get_container_ul().addClass('jstree-wholerow-ul'); + }, this)) + .on("deselect_all.jstree", $.proxy(function (e, data) { + this.element.find('.jstree-wholerow-clicked').removeClass('jstree-wholerow-clicked'); + }, this)) + .on("changed.jstree", $.proxy(function (e, data) { + this.element.find('.jstree-wholerow-clicked').removeClass('jstree-wholerow-clicked'); + var tmp = false, i, j; + for(i = 0, j = data.selected.length; i < j; i++) { + tmp = this.get_node(data.selected[i], true); + if(tmp && tmp.length) { + tmp.children('.jstree-wholerow').addClass('jstree-wholerow-clicked'); + } + } + }, this)) + .on("open_node.jstree", $.proxy(function (e, data) { + this.get_node(data.node, true).find('.jstree-clicked').parent().children('.jstree-wholerow').addClass('jstree-wholerow-clicked'); + }, this)) + .on("hover_node.jstree dehover_node.jstree", $.proxy(function (e, data) { + this.get_node(data.node, true).children('.jstree-wholerow')[e.type === "hover_node"?"addClass":"removeClass"]('jstree-wholerow-hovered'); + }, this)) + .on("contextmenu.jstree", ".jstree-wholerow", $.proxy(function (e) { + e.preventDefault(); + var tmp = $.Event('contextmenu', { metaKey : e.metaKey, ctrlKey : e.ctrlKey, altKey : e.altKey, shiftKey : e.shiftKey, pageX : e.pageX, pageY : e.pageY }); + $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor:eq(0)").trigger(tmp); + }, this)) + .on("click.jstree", ".jstree-wholerow", function (e) { + e.stopImmediatePropagation(); + var tmp = $.Event('click', { metaKey : e.metaKey, ctrlKey : e.ctrlKey, altKey : e.altKey, shiftKey : e.shiftKey }); + $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor:eq(0)").trigger(tmp).focus(); + }) + .on("click.jstree", ".jstree-leaf > .jstree-ocl", $.proxy(function (e) { + e.stopImmediatePropagation(); + var tmp = $.Event('click', { metaKey : e.metaKey, ctrlKey : e.ctrlKey, altKey : e.altKey, shiftKey : e.shiftKey }); + $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor:eq(0)").trigger(tmp).focus(); + }, this)) + .on("mouseover.jstree", ".jstree-wholerow, .jstree-icon", $.proxy(function (e) { + e.stopImmediatePropagation(); + this.hover_node(e.currentTarget); + return false; + }, this)) + .on("mouseleave.jstree", ".jstree-node", $.proxy(function (e) { + this.dehover_node(e.currentTarget); + }, this)); + }; + this.teardown = function () { + if(this.settings.wholerow) { + this.element.find(".jstree-wholerow").remove(); + } + parent.teardown.call(this); + }; + this.redraw_node = function(obj, deep, callback) { + obj = parent.redraw_node.call(this, obj, deep, callback); + if(obj) { + var tmp = div.cloneNode(true); + //tmp.style.height = this._data.core.li_height + 'px'; + if($.inArray(obj.id, this._data.core.selected) !== -1) { tmp.className += ' jstree-wholerow-clicked'; } + obj.insertBefore(tmp, obj.childNodes[0]); + } + return obj; + }; + }; + // include the wholerow plugin by default + // $.jstree.defaults.plugins.push("wholerow"); + + +(function ($) { + if(document.registerElement) { + var proto = Object.create(HTMLElement.prototype); + proto.createdCallback = function () { + var c = { core : {}, plugins : [] }, i; + for(i in $.jstree.plugins) { + if($.jstree.plugins.hasOwnProperty(i) && this.attributes[i]) { + c.plugins.push(i); + if(this.getAttribute(i) && JSON.parse(this.getAttribute(i))) { + c[i] = JSON.parse(this.getAttribute(i)); + } + } + } + for(i in $.jstree.defaults.core) { + if($.jstree.defaults.core.hasOwnProperty(i) && this.attributes[i]) { + c.core[i] = JSON.parse(this.getAttribute(i)) || this.getAttribute(i); + } + } + jQuery(this).jstree(c); + }; + // proto.attributeChangedCallback = function (name, previous, value) { }; + document.registerElement("vakata-jstree", { prototype: proto }); + } +}(jQuery)); +})); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/jstree.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/dept_html.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/dept_html.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/dept_html.html (revision 7) @@ -0,0 +1,72 @@ + <html> + <body> + <form name='form1' id='form1' method='post'> + <input type='hidden' name='dn' id='dn'> + <table border='1px' style='border:1px solid #E7E7E7'> + <tr id='line1'> + <td style='background-color: #F6F6F6'> + 부서명 + </td> + <td> + <input type='text' name='ou' id='ou' style='border:1px solid #ffffff' readonly> + </td> + <td style='background-color: #F6F6F6'> + 부서코드 + </td> + <td> + <input type='text' name='ouCode' id='ouCode' style='border:1px solid #ffffff'> + </td> + </tr> + <tr id='line2'> + <td> + 부서장 + </td> + <td style='background-color: #F6F6F6'> + <input type='text' name='ucChieftitle' id='ucChieftitle' style='border:1px solid #ffffff'> + </td> + <td> + 조직명(전체) + </td> + <td style='background-color: #F6F6F6'> + <input type='text' name='ucOrgFullName' id='ucOrgFullName' style='border:1px solid #ffffff'> + </td> + </tr> + <tr id='line3'> + <td style='background-color: #F6F6F6'> + 상위부서코드 + </td> + <td> + <input type='text' name='parentouCode' id='parentouCode' style='border:1px solid #ffffff'> + </td> + <td style='background-color: #F6F6F6'> + 기관코드 + </td> + <td> + <input type='text' name='repouCode' id='repouCode' style='border:1px solid #ffffff'> + </td> + </tr> + <tr id='line4'> + <td> + 문서수신여부 + </td> + <td style='background-color: #F6F6F6'> + <input type='text' name='ouReceiveDocumentYN' id='ouReceiveDocumentYN' style='border:1px solid #ffffff'> + </td> + <td> + 관인부서여부 + </td> + <td style='background-color: #F6F6F6'> + <input type='text' name='ouSendOutDocumentYN' id='ouSendOutDocumentYN' style='border:1px solid #ffffff'> + </td> + </tr> + </table> + </form> + <table style='width:100%'> + <tr> + <td style='text-align:left;vertical-align:middle' > + <button onClick='modifyOrgManage("dept");'>저장</button> + </td> + </tr> + </table> + </body> + </html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/dept_html.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/user_html.jsp =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/user_html.jsp (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/user_html.jsp (revision 7) @@ -0,0 +1,87 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<html> + <body> + <form name='form1' id='form1'> + <input type='hidden' name='dn' id='dn'> + <table border='1px' style='border:1px solid #E7E7E7'> + <tr id='line1'> + <td style='background-color: #F6F6F6'> + ID + </td> + <td> + <input type='text' name='cn' id='cn' style='border:1px solid #ffffff' readonly> + </td> + <!-- 이름 --> + <td style='background-color: #F6F6F6'> + <spring:message code="extLdapumtDpt.user.name" /> + </td> + <td> + <input type='text' name='displayName' id='displayName' style='border:1px solid #ffffff'> + </td> + </tr> + <tr id='line2'> + <!-- 소속부서 --> + <td> + <spring:message code="extLdapumtDpt.user.dept" /> + </td> + <td style='background-color: #F6F6F6'> + <input type='text' name='ou' id='ou' style='border:1px solid #ffffff'> + </td> + <!-- 부서코드 --> + <td> + <spring:message code="extLdapumtDpt.user.deptCode" /> + </td> + <td style='background-color: #F6F6F6'> + <input type='text' name='ouCode' id='ouCode' style='border:1px solid #ffffff'> + </td> + </tr> + <tr id='line3'> + <!-- 소속기관 --> + <td style='background-color: #F6F6F6'> + <spring:message code="extLdapumtDpt.user.deptOrg" /> + </td> + <td> + <input type='text' name='companyName' id='companyName' style='border:1px solid #ffffff'> + </td> + <!-- 기관코드 --> + <td style='background-color: #F6F6F6'> + <spring:message code="extLdapumtDpt.user.deptOrgCode" /> + </td> + <td> + <input type='text' name='topouCode' id='topouCode' style='border:1px solid #ffffff'> + </td> + </tr> + <tr id='line4'> + <!-- 사용자전체이름 --> + <td> + <spring:message code="extLdapumtDpt.user.userFullName" /> + </td> + <td colspan='3' style='background-color: #F6F6F6'> + <input type='text' name='userFullName' width='100%' id='userFullName' style='border:1px solid #ffffff;width:100%'> + </td> + </tr> + <tr> + <!-- 조직전체이름 --> + <td style='background-color: #F6F6F6'> + <spring:message code="extLdapumtDpt.user.orgFullName" /> + </td> + <td colspan='3'> + <input type='text' name='ucOrgFullName' width='100%' id='ucOrgFullName' style='border:1px solid #ffffff;width:100%'> + </td> + </tr> + </table> + </form> + <table style='width:100%'> + <tr> + <td style='text-align:left;vertical-align:middle' > + <button onClick='modifyOrgManage("user");'><spring:message code="button.save" /></button> <!-- 저장 --> + </td> + </tr> + </table> + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/user_html.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/themes/default/32px.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/themes/default/32px.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/themes/default/throbber.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/themes/default/throbber.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/themes/default/style.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/themes/default/style.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/themes/default/style.css (revision 7) @@ -0,0 +1,989 @@ +/* jsTree default theme */ +.jstree-node, +.jstree-children, +.jstree-container-ul { + display: block; + margin: 0; + padding: 0; + list-style-type: none; + list-style-image: none; +} +.jstree-node { + white-space: nowrap; +} +.jstree-anchor { + display: inline-block; + color: black; + white-space: nowrap; + padding: 0 4px 0 1px; + margin: 0; + vertical-align: top; +} +.jstree-anchor:focus { + outline: 0; +} +.jstree-anchor, +.jstree-anchor:link, +.jstree-anchor:visited, +.jstree-anchor:hover, +.jstree-anchor:active { + text-decoration: none; + color: inherit; +} +.jstree-icon { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0; + vertical-align: top; + text-align: center; +} +.jstree-icon:empty { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0; + vertical-align: top; + text-align: center; +} +.jstree-ocl { + cursor: pointer; +} +.jstree-leaf > .jstree-ocl { + cursor: default; +} +.jstree .jstree-open > .jstree-children { + display: block; +} +.jstree .jstree-closed > .jstree-children, +.jstree .jstree-leaf > .jstree-children { + display: none; +} +.jstree-anchor > .jstree-themeicon { + margin-right: 2px; +} +.jstree-no-icons .jstree-themeicon, +.jstree-anchor > .jstree-themeicon-hidden { + display: none; +} +.jstree-rtl .jstree-anchor { + padding: 0 1px 0 4px; +} +.jstree-rtl .jstree-anchor > .jstree-themeicon { + margin-left: 2px; + margin-right: 0; +} +.jstree-rtl .jstree-node { + margin-left: 0; +} +.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; +} +.jstree-wholerow-ul { + position: relative; + display: inline-block; + min-width: 100%; +} +.jstree-wholerow-ul .jstree-leaf > .jstree-ocl { + cursor: pointer; +} +.jstree-wholerow-ul .jstree-anchor, +.jstree-wholerow-ul .jstree-icon { + position: relative; +} +.jstree-wholerow-ul .jstree-wholerow { + width: 100%; + cursor: pointer; + position: absolute; + left: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.vakata-context { + display: none; +} +.vakata-context, +.vakata-context ul { + margin: 0; + padding: 2px; + position: absolute; + background: #f5f5f5; + border: 1px solid #979797; + -moz-box-shadow: 5px 5px 4px -4px #666666; + -webkit-box-shadow: 2px 2px 2px #999999; + box-shadow: 2px 2px 2px #999999; +} +.vakata-context ul { + list-style: none; + left: 100%; + margin-top: -2.7em; + margin-left: -4px; +} +.vakata-context .vakata-context-right ul { + left: auto; + right: 100%; + margin-left: auto; + margin-right: -4px; +} +.vakata-context li { + list-style: none; + display: inline; +} +.vakata-context li > a { + display: block; + padding: 0 2em 0 2em; + text-decoration: none; + width: auto; + color: black; + white-space: nowrap; + line-height: 2.4em; + -moz-text-shadow: 1px 1px 0 white; + -webkit-text-shadow: 1px 1px 0 white; + text-shadow: 1px 1px 0 white; + -moz-border-radius: 1px; + -webkit-border-radius: 1px; + border-radius: 1px; +} +.vakata-context li > a:hover { + position: relative; + background-color: #e8eff7; + -moz-box-shadow: 0 0 2px #0a6aa1; + -webkit-box-shadow: 0 0 2px #0a6aa1; + box-shadow: 0 0 2px #0a6aa1; +} +.vakata-context li > a.vakata-context-parent { + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw=="); + background-position: right center; + background-repeat: no-repeat; +} +.vakata-context li > a:focus { + outline: 0; +} +.vakata-context .vakata-context-hover > a { + position: relative; + background-color: #e8eff7; + -moz-box-shadow: 0 0 2px #0a6aa1; + -webkit-box-shadow: 0 0 2px #0a6aa1; + box-shadow: 0 0 2px #0a6aa1; +} +.vakata-context .vakata-context-separator > a, +.vakata-context .vakata-context-separator > a:hover { + background: white; + border: 0; + border-top: 1px solid #e2e3e3; + height: 1px; + min-height: 1px; + max-height: 1px; + padding: 0; + margin: 0 0 0 2.4em; + border-left: 1px solid #e0e0e0; + -moz-text-shadow: 0 0 0 transparent; + -webkit-text-shadow: 0 0 0 transparent; + text-shadow: 0 0 0 transparent; + -moz-box-shadow: 0 0 0 transparent; + -webkit-box-shadow: 0 0 0 transparent; + box-shadow: 0 0 0 transparent; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; +} +.vakata-context .vakata-contextmenu-disabled a, +.vakata-context .vakata-contextmenu-disabled a:hover { + color: silver; + background-color: transparent; + border: 0; + box-shadow: 0 0 0; +} +.vakata-context li > a > i { + text-decoration: none; + display: inline-block; + width: 2.4em; + height: 2.4em; + background: transparent; + margin: 0 0 0 -2em; + vertical-align: top; + text-align: center; + line-height: 2.4em; +} +.vakata-context li > a > i:empty { + width: 2.4em; + line-height: 2.4em; +} +.vakata-context li > a .vakata-contextmenu-sep { + display: inline-block; + width: 1px; + height: 2.4em; + background: white; + margin: 0 0.5em 0 0; + border-left: 1px solid #e2e3e3; +} +.vakata-context .vakata-contextmenu-shortcut { + font-size: 0.8em; + color: silver; + opacity: 0.5; + display: none; +} +.vakata-context-rtl ul { + left: auto; + right: 100%; + margin-left: auto; + margin-right: -4px; +} +.vakata-context-rtl li > a.vakata-context-parent { + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7"); + background-position: left center; + background-repeat: no-repeat; +} +.vakata-context-rtl .vakata-context-separator > a { + margin: 0 2.4em 0 0; + border-left: 0; + border-right: 1px solid #e2e3e3; +} +.vakata-context-rtl .vakata-context-left ul { + right: auto; + left: 100%; + margin-left: -4px; + margin-right: auto; +} +.vakata-context-rtl li > a > i { + margin: 0 -2em 0 0; +} +.vakata-context-rtl li > a .vakata-contextmenu-sep { + margin: 0 0 0 0.5em; + border-left-color: white; + background: #e2e3e3; +} +#jstree-marker { + position: absolute; + top: 0; + left: 0; + margin: -5px 0 0 0; + padding: 0; + border-right: 0; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid; + width: 0; + height: 0; + font-size: 0; + line-height: 0; +} +#jstree-dnd { + line-height: 16px; + margin: 0; + padding: 4px; +} +#jstree-dnd .jstree-icon, +#jstree-dnd .jstree-copy { + display: inline-block; + text-decoration: none; + margin: 0 2px 0 0; + padding: 0; + width: 16px; + height: 16px; +} +#jstree-dnd .jstree-ok { + background: green; +} +#jstree-dnd .jstree-er { + background: red; +} +#jstree-dnd .jstree-copy { + margin: 0 2px 0 2px; +} +.jstree-default .jstree-node, +.jstree-default .jstree-icon { + background-repeat: no-repeat; + background-color: transparent; +} +.jstree-default .jstree-anchor, +.jstree-default .jstree-wholerow { + transition: background-color 0.15s, box-shadow 0.15s; +} +.jstree-default .jstree-hovered { + background: #e7f4f9; + border-radius: 2px; + box-shadow: inset 0 0 1px #ccc; +} +.jstree-default .jstree-clicked { + background: #beebff; + border-radius: 2px; + box-shadow: inset 0 0 1px #999; +} +.jstree-default .jstree-no-icons .jstree-anchor > .jstree-themeicon { + display: none; +} +.jstree-default .jstree-disabled { + background: transparent; + color: #666; +} +.jstree-default .jstree-disabled.jstree-hovered { + background: transparent; + box-shadow: none; +} +.jstree-default .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default .jstree-disabled > .jstree-icon { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default .jstree-search { + font-style: italic; + color: #8b0000; + font-weight: bold; +} +.jstree-default .jstree-no-checkboxes .jstree-checkbox { + display: none !important; +} +.jstree-default.jstree-checkbox-no-clicked .jstree-clicked { + background: transparent; + box-shadow: none; +} +.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered { + background: #e7f4f9; +} +.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked { + background: transparent; +} +.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered { + background: #e7f4f9; +} +#jstree-dnd.jstree-default .jstree-ok, +#jstree-dnd.jstree-default .jstree-er { + background-image: url("32px.png"); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default i { + background: transparent; + width: 16px; + height: 16px; +} +#jstree-dnd.jstree-default .jstree-ok { + background-position: -9px -71px; +} +#jstree-dnd.jstree-default .jstree-er { + background-position: -39px -71px; +} +.jstree-default > .jstree-striped { + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; +} +.jstree-default > .jstree-wholerow-ul .jstree-hovered, +.jstree-default > .jstree-wholerow-ul .jstree-clicked { + background: transparent; + box-shadow: none; + border-radius: 0; +} +.jstree-default .jstree-wholerow { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.jstree-default .jstree-wholerow-hovered { + background: #e7f4f9; +} +.jstree-default .jstree-wholerow-clicked { + background: #beebff; + background: -moz-linear-gradient(top, #beebff 0%, #a8e4ff 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #beebff), color-stop(100%, #a8e4ff)); + background: -webkit-linear-gradient(top, #beebff 0%, #a8e4ff 100%); + background: -o-linear-gradient(top, #beebff 0%, #a8e4ff 100%); + background: -ms-linear-gradient(top, #beebff 0%, #a8e4ff 100%); + background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%); + /*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='@color1', endColorstr='@color2',GradientType=0 );*/ +} +.jstree-default .jstree-node { + min-height: 24px; + line-height: 24px; + margin-left: 24px; + min-width: 24px; +} +.jstree-default .jstree-anchor { + line-height: 24px; + height: 24px; +} +.jstree-default .jstree-icon { + width: 24px; + height: 24px; + line-height: 24px; +} +.jstree-default .jstree-icon:empty { + width: 24px; + height: 24px; + line-height: 24px; +} +.jstree-default.jstree-rtl .jstree-node { + margin-right: 24px; +} +.jstree-default .jstree-wholerow { + height: 24px; +} +.jstree-default .jstree-node, +.jstree-default .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default .jstree-node { + background-position: -292px -4px; + background-repeat: repeat-y; +} +.jstree-default .jstree-last { + background: transparent; +} +.jstree-default .jstree-open > .jstree-ocl { + background-position: -132px -4px; +} +.jstree-default .jstree-closed > .jstree-ocl { + background-position: -100px -4px; +} +.jstree-default .jstree-leaf > .jstree-ocl { + background-position: -68px -4px; +} +.jstree-default .jstree-themeicon { + background-position: -260px -4px; +} +.jstree-default > .jstree-no-dots .jstree-node, +.jstree-default > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -36px -4px; +} +.jstree-default > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -4px -4px; +} +.jstree-default .jstree-disabled { + background: transparent; +} +.jstree-default .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default .jstree-checkbox { + background-position: -164px -4px; +} +.jstree-default .jstree-checkbox:hover { + background-position: -164px -36px; +} +.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default .jstree-checked > .jstree-checkbox { + background-position: -228px -4px; +} +.jstree-default.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default .jstree-checked > .jstree-checkbox:hover { + background-position: -228px -36px; +} +.jstree-default .jstree-anchor > .jstree-undetermined { + background-position: -196px -4px; +} +.jstree-default .jstree-anchor > .jstree-undetermined:hover { + background-position: -196px -36px; +} +.jstree-default > .jstree-striped { + background-size: auto 48px; +} +.jstree-default.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -132px -36px; +} +.jstree-default.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -100px -36px; +} +.jstree-default.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -68px -36px; +} +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -36px -36px; +} +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -4px -36px; +} +.jstree-default .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default .jstree-file { + background: url("32px.png") -100px -68px no-repeat; +} +.jstree-default .jstree-folder { + background: url("32px.png") -260px -4px no-repeat; +} +.jstree-default.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); +} +.jstree-default.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-small .jstree-node { + min-height: 18px; + line-height: 18px; + margin-left: 18px; + min-width: 18px; +} +.jstree-default-small .jstree-anchor { + line-height: 18px; + height: 18px; +} +.jstree-default-small .jstree-icon { + width: 18px; + height: 18px; + line-height: 18px; +} +.jstree-default-small .jstree-icon:empty { + width: 18px; + height: 18px; + line-height: 18px; +} +.jstree-default-small.jstree-rtl .jstree-node { + margin-right: 18px; +} +.jstree-default-small .jstree-wholerow { + height: 18px; +} +.jstree-default-small .jstree-node, +.jstree-default-small .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default-small .jstree-node { + background-position: -295px -7px; + background-repeat: repeat-y; +} +.jstree-default-small .jstree-last { + background: transparent; +} +.jstree-default-small .jstree-open > .jstree-ocl { + background-position: -135px -7px; +} +.jstree-default-small .jstree-closed > .jstree-ocl { + background-position: -103px -7px; +} +.jstree-default-small .jstree-leaf > .jstree-ocl { + background-position: -71px -7px; +} +.jstree-default-small .jstree-themeicon { + background-position: -263px -7px; +} +.jstree-default-small > .jstree-no-dots .jstree-node, +.jstree-default-small > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-small > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -39px -7px; +} +.jstree-default-small > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -7px -7px; +} +.jstree-default-small .jstree-disabled { + background: transparent; +} +.jstree-default-small .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default-small .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-small .jstree-checkbox { + background-position: -167px -7px; +} +.jstree-default-small .jstree-checkbox:hover { + background-position: -167px -39px; +} +.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default-small .jstree-checked > .jstree-checkbox { + background-position: -231px -7px; +} +.jstree-default-small.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default-small .jstree-checked > .jstree-checkbox:hover { + background-position: -231px -39px; +} +.jstree-default-small .jstree-anchor > .jstree-undetermined { + background-position: -199px -7px; +} +.jstree-default-small .jstree-anchor > .jstree-undetermined:hover { + background-position: -199px -39px; +} +.jstree-default-small > .jstree-striped { + background-size: auto 36px; +} +.jstree-default-small.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-small.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-small.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -135px -39px; +} +.jstree-default-small.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -103px -39px; +} +.jstree-default-small.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -71px -39px; +} +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -39px -39px; +} +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -7px -39px; +} +.jstree-default-small .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default-small > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default-small .jstree-file { + background: url("32px.png") -103px -71px no-repeat; +} +.jstree-default-small .jstree-folder { + background: url("32px.png") -263px -7px no-repeat; +} +.jstree-default-small.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); +} +.jstree-default-small.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-large .jstree-node { + min-height: 32px; + line-height: 32px; + margin-left: 32px; + min-width: 32px; +} +.jstree-default-large .jstree-anchor { + line-height: 32px; + height: 32px; +} +.jstree-default-large .jstree-icon { + width: 32px; + height: 32px; + line-height: 32px; +} +.jstree-default-large .jstree-icon:empty { + width: 32px; + height: 32px; + line-height: 32px; +} +.jstree-default-large.jstree-rtl .jstree-node { + margin-right: 32px; +} +.jstree-default-large .jstree-wholerow { + height: 32px; +} +.jstree-default-large .jstree-node, +.jstree-default-large .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default-large .jstree-node { + background-position: -288px 0px; + background-repeat: repeat-y; +} +.jstree-default-large .jstree-last { + background: transparent; +} +.jstree-default-large .jstree-open > .jstree-ocl { + background-position: -128px 0px; +} +.jstree-default-large .jstree-closed > .jstree-ocl { + background-position: -96px 0px; +} +.jstree-default-large .jstree-leaf > .jstree-ocl { + background-position: -64px 0px; +} +.jstree-default-large .jstree-themeicon { + background-position: -256px 0px; +} +.jstree-default-large > .jstree-no-dots .jstree-node, +.jstree-default-large > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-large > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -32px 0px; +} +.jstree-default-large > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: 0px 0px; +} +.jstree-default-large .jstree-disabled { + background: transparent; +} +.jstree-default-large .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default-large .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-large .jstree-checkbox { + background-position: -160px 0px; +} +.jstree-default-large .jstree-checkbox:hover { + background-position: -160px -32px; +} +.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, +.jstree-default-large .jstree-checked > .jstree-checkbox { + background-position: -224px 0px; +} +.jstree-default-large.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, +.jstree-default-large .jstree-checked > .jstree-checkbox:hover { + background-position: -224px -32px; +} +.jstree-default-large .jstree-anchor > .jstree-undetermined { + background-position: -192px 0px; +} +.jstree-default-large .jstree-anchor > .jstree-undetermined:hover { + background-position: -192px -32px; +} +.jstree-default-large > .jstree-striped { + background-size: auto 64px; +} +.jstree-default-large.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-large.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-large.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -128px -32px; +} +.jstree-default-large.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -96px -32px; +} +.jstree-default-large.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -64px -32px; +} +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -32px -32px; +} +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: 0px -32px; +} +.jstree-default-large .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; +} +.jstree-default-large > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default-large .jstree-file { + background: url("32px.png") -96px -64px no-repeat; +} +.jstree-default-large .jstree-folder { + background: url("32px.png") -256px 0px no-repeat; +} +.jstree-default-large.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); +} +.jstree-default-large.jstree-rtl .jstree-last { + background: transparent; +} +@media (max-width: 768px) { + #jstree-dnd.jstree-dnd-responsive { + line-height: 40px; + font-weight: bold; + font-size: 1.1em; + text-shadow: 1px 1px white; + } + #jstree-dnd.jstree-dnd-responsive > i { + background: transparent; + width: 40px; + height: 40px; + } + #jstree-dnd.jstree-dnd-responsive > .jstree-ok { + background-image: url("40px.png"); + background-position: 0 -200px; + background-size: 120px 240px; + } + #jstree-dnd.jstree-dnd-responsive > .jstree-er { + background-image: url("40px.png"); + background-position: -40px -200px; + background-size: 120px 240px; + } + #jstree-marker.jstree-dnd-responsive { + border-left-width: 10px; + border-top-width: 10px; + border-bottom-width: 10px; + margin-top: -10px; + } +} +@media (max-width: 768px) { + .jstree-default-responsive { + /* + .jstree-open > .jstree-ocl, + .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; } + */ + } + .jstree-default-responsive .jstree-icon { + background-image: url("40px.png"); + } + .jstree-default-responsive .jstree-node, + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background: transparent; + } + .jstree-default-responsive .jstree-node { + min-height: 40px; + line-height: 40px; + margin-left: 40px; + min-width: 40px; + white-space: nowrap; + } + .jstree-default-responsive .jstree-anchor { + line-height: 40px; + height: 40px; + } + .jstree-default-responsive .jstree-icon, + .jstree-default-responsive .jstree-icon:empty { + width: 40px; + height: 40px; + line-height: 40px; + } + .jstree-default-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + } + .jstree-default-responsive.jstree-rtl .jstree-node { + margin-left: 0; + margin-right: 40px; + } + .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; + } + .jstree-default-responsive .jstree-ocl, + .jstree-default-responsive .jstree-themeicon, + .jstree-default-responsive .jstree-checkbox { + background-size: 120px 240px; + } + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background: transparent; + } + .jstree-default-responsive .jstree-open > .jstree-ocl { + background-position: 0 0px !important; + } + .jstree-default-responsive .jstree-closed > .jstree-ocl { + background-position: 0 -40px !important; + } + .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -40px 0px !important; + } + .jstree-default-responsive .jstree-themeicon { + background-position: -40px -40px; + } + .jstree-default-responsive .jstree-checkbox, + .jstree-default-responsive .jstree-checkbox:hover { + background-position: -40px -80px; + } + .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox, + .jstree-default-responsive.jstree-checkbox-selection .jstree-clicked > .jstree-checkbox:hover, + .jstree-default-responsive .jstree-checked > .jstree-checkbox, + .jstree-default-responsive .jstree-checked > .jstree-checkbox:hover { + background-position: 0 -80px; + } + .jstree-default-responsive .jstree-anchor > .jstree-undetermined, + .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover { + background-position: 0 -120px; + } + .jstree-default-responsive .jstree-anchor { + font-weight: bold; + font-size: 1.1em; + text-shadow: 1px 1px white; + } + .jstree-default-responsive > .jstree-striped { + background: transparent; + } + .jstree-default-responsive .jstree-wholerow { + border-top: 1px solid rgba(255, 255, 255, 0.7); + border-bottom: 1px solid rgba(64, 64, 64, 0.2); + background: #ebebeb; + height: 40px; + } + .jstree-default-responsive .jstree-wholerow-hovered { + background: #e7f4f9; + } + .jstree-default-responsive .jstree-wholerow-clicked { + background: #beebff; + } + .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow { + box-shadow: inset 0 -6px 3px -5px #666666; + } + .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow { + box-shadow: inset 0 6px 3px -5px #666666; + border-top: 0; + } + .jstree-default-responsive .jstree-children .jstree-open + .jstree-open { + box-shadow: none; + } + .jstree-default-responsive .jstree-node, + .jstree-default-responsive .jstree-icon, + .jstree-default-responsive .jstree-node > .jstree-ocl, + .jstree-default-responsive .jstree-themeicon, + .jstree-default-responsive .jstree-checkbox { + background-image: url("40px.png"); + background-size: 120px 240px; + } + .jstree-default-responsive .jstree-node { + background-position: -80px 0; + background-repeat: repeat-y; + } + .jstree-default-responsive .jstree-last { + background: transparent; + } + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background-position: -40px -120px; + } + .jstree-default-responsive .jstree-last > .jstree-ocl { + background-position: -40px -160px; + } + .jstree-default-responsive .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + background-position: 0 0; + } + .jstree-default-responsive .jstree-file { + background: url("40px.png") 0 -160px no-repeat; + background-size: 120px 240px; + } + .jstree-default-responsive .jstree-folder { + background: url("40px.png") -40px -40px no-repeat; + background-size: 120px 240px; + } +} +.jstree-default > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/themes/default/style.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/themes/default/style.min.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/themes/default/style.min.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/themes/default/style.min.css (revision 7) @@ -0,0 +1 @@ +.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;-moz-box-shadow:5px 5px 4px -4px #666;-webkit-box-shadow:2px 2px 2px #999;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none;display:inline}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;-moz-text-shadow:1px 1px 0 #fff;-webkit-text-shadow:1px 1px 0 #fff;text-shadow:1px 1px 0 #fff;-moz-border-radius:1px;-webkit-border-radius:1px;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;-moz-box-shadow:0 0 2px #0a6aa1;-webkit-box-shadow:0 0 2px #0a6aa1;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;-moz-box-shadow:0 0 2px #0a6aa1;-webkit-box-shadow:0 0 2px #0a6aa1;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;-moz-text-shadow:0 0 0 transparent;-webkit-text-shadow:0 0 0 transparent;text-shadow:0 0 0 transparent;-moz-box-shadow:0 0 0 transparent;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:0 0;color:#666}.jstree-default .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:16px;height:16px}#jstree-dnd.jstree-default .jstree-ok{background-position:-9px -71px}#jstree-dnd.jstree-default .jstree-er{background-position:-39px -71px}.jstree-default>.jstree-striped{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-moz-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#beebff),color-stop(100%,#a8e4ff));background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-o-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-ms-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url(32px.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:0 0}.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default .jstree-checked>.jstree-checkbox{background-position:-228px -4px}.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default .jstree-checked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px.png) -260px -4px no-repeat}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url(32px.png)}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:0 0}.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-small .jstree-checked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-small .jstree-checked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px.png) -263px -7px no-repeat}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url(32px.png)}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled{background:0 0}.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-large .jstree-checked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-large .jstree-checked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px.png) -256px 0 no-repeat}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover,.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px.png) -40px -40px no-repeat;background-size:120px 240px}}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0} \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/themes/default/style.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/themes/default/40px.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/themes/default/40px.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/user_html.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/user_html.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/user_html.html (revision 7) @@ -0,0 +1,74 @@ +<html> + <body> + <form name='form1' id='form1'> + <input type='hidden' name='dn' id='dn'> + <table border='1px' style='border:1px solid #E7E7E7'> + <tr id='line1'> + <td style='background-color: #F6F6F6'> + ID + </td> + <td> + <input type='text' name='cn' id='cn' style='border:1px solid #ffffff' readonly> + </td> + <td style='background-color: #F6F6F6'> + 이름 + </td> + <td> + <input type='text' name='displayName' id='displayName' style='border:1px solid #ffffff'> + </td> + </tr> + <tr id='line2'> + <td> + 소속부서 + </td> + <td style='background-color: #F6F6F6'> + <input type='text' name='ou' id='ou' style='border:1px solid #ffffff'> + </td> + <td> + 부서코드 + </td> + <td style='background-color: #F6F6F6'> + <input type='text' name='ouCode' id='ouCode' style='border:1px solid #ffffff'> + </td> + </tr> + <tr id='line3'> + <td style='background-color: #F6F6F6'> + 소속기관 + </td> + <td> + <input type='text' name='companyName' id='companyName' style='border:1px solid #ffffff'> + </td> + <td style='background-color: #F6F6F6'> + 기관코드 + </td> + <td> + <input type='text' name='topouCode' id='topouCode' style='border:1px solid #ffffff'> + </td> + </tr> + <tr id='line4'> + <td> + 사용자전체이름 + </td> + <td colspan='3' style='background-color: #F6F6F6'> + <input type='text' name='userFullName' width='100%' id='userFullName' style='border:1px solid #ffffff;width:100%'> + </td> + </tr> + <tr> + <td style='background-color: #F6F6F6'> + 조직전체이름 + </td> + <td colspan='3'> + <input type='text' name='ucOrgFullName' width='100%' id='ucOrgFullName' style='border:1px solid #ffffff;width:100%'> + </td> + </tr> + </table> + </form> + <table style='width:100%'> + <tr> + <td style='text-align:left;vertical-align:middle' > + <button onClick='modifyOrgManage("user");'>저장</button> + </td> + </tr> + </table> + </body> +</html> \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/user_html.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/image/file_sprite.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/image/file_sprite.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/image/user.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/image/user.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/jstree.min.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/jstree.min.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/jstree.min.js (revision 7) @@ -0,0 +1,5 @@ +/*! jsTree - v3.0.4 - 2014-09-10 - (MIT) */ +(function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof exports?e(require("jquery")):e(jQuery)})(function(e,t){"use strict";if(!e.jstree){var i=0,s=!1,r=!1,n=!1,a=[],d=e("script:last").attr("src"),o=document,c=o.createElement("LI"),l,h;c.setAttribute("role","treeitem"),l=o.createElement("I"),l.className="jstree-icon jstree-ocl",c.appendChild(l),l=o.createElement("A"),l.className="jstree-anchor",l.setAttribute("href","#"),h=o.createElement("I"),h.className="jstree-icon jstree-themeicon",l.appendChild(h),c.appendChild(l),l=h=null,e.jstree={version:"3.0.4",defaults:{plugins:[]},plugins:{},path:d&&-1!==d.indexOf("/")?d.replace(/\/[^\/]+$/,""):"",idregex:/[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%]/g},e.jstree.create=function(t,s){var r=new e.jstree.core(++i),n=s;return s=e.extend(!0,{},e.jstree.defaults,s),n&&n.plugins&&(s.plugins=n.plugins),e.each(s.plugins,function(e,t){"core"!==e&&(r=r.plugin(t,s[t]))}),r.init(t,s),r},e.jstree.destroy=function(){e(".jstree:jstree").jstree("destroy"),e(document).off(".jstree")},e.jstree.core=function(e){this._id=e,this._cnt=0,this._wrk=null,this._data={core:{themes:{name:!1,dots:!1,icons:!1},selected:[],last_error:{},working:!1,worker_queue:[],focused:null}}},e.jstree.reference=function(i){var s=null,r=null;if(i&&i.id&&(i=i.id),!r||!r.length)try{r=e(i)}catch(n){}if(!r||!r.length)try{r=e("#"+i.replace(e.jstree.idregex,"\\$&"))}catch(n){}return r&&r.length&&(r=r.closest(".jstree")).length&&(r=r.data("jstree"))?s=r:e(".jstree").each(function(){var r=e(this).data("jstree");return r&&r._model.data[i]?(s=r,!1):t}),s},e.fn.jstree=function(i){var s="string"==typeof i,r=Array.prototype.slice.call(arguments,1),n=null;return this.each(function(){var a=e.jstree.reference(this),d=s&&a?a[i]:null;return n=s&&d?d.apply(a,r):null,a||s||i!==t&&!e.isPlainObject(i)||e(this).data("jstree",new e.jstree.create(this,i)),(a&&!s||i===!0)&&(n=a||!1),null!==n&&n!==t?!1:t}),null!==n&&n!==t?n:this},e.expr[":"].jstree=e.expr.createPseudo(function(i){return function(i){return e(i).hasClass("jstree")&&e(i).data("jstree")!==t}}),e.jstree.defaults.core={data:!1,strings:!1,check_callback:!1,error:e.noop,animation:200,multiple:!0,themes:{name:!1,url:!1,dir:!1,dots:!0,icons:!0,stripes:!1,variant:!1,responsive:!1},expand_selected_onload:!0,worker:!0,force_text:!1},e.jstree.core.prototype={plugin:function(t,i){var s=e.jstree.plugins[t];return s?(this._data[t]={},s.prototype=this,new s(i,this)):this},init:function(t,i){this._model={data:{"#":{id:"#",parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}}},changed:[],force_full_redraw:!1,redraw_timeout:!1,default_state:{loaded:!0,opened:!1,selected:!1,disabled:!1}},this.element=e(t).addClass("jstree jstree-"+this._id),this.settings=i,this.element.bind("destroyed",e.proxy(this.teardown,this)),this._data.core.ready=!1,this._data.core.loaded=!1,this._data.core.rtl="rtl"===this.element.css("direction"),this.element[this._data.core.rtl?"addClass":"removeClass"]("jstree-rtl"),this.element.attr("role","tree"),this.bind(),this.trigger("init"),this._data.core.original_container_html=this.element.find(" > ul > li").clone(!0),this._data.core.original_container_html.find("li").addBack().contents().filter(function(){return 3===this.nodeType&&(!this.nodeValue||/^\s+$/.test(this.nodeValue))}).remove(),this.element.html("<ul class='jstree-container-ul jstree-children'><li class='jstree-initial-node jstree-loading jstree-leaf jstree-last'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this._data.core.li_height=this.get_container_ul().children("li:eq(0)").height()||24,this.trigger("loading"),this.load_node("#")},destroy:function(e){e||this.element.empty(),this.element.unbind("destroyed",this.teardown),this.teardown()},teardown:function(){this.unbind(),this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),this.element=null},bind:function(){this.element.on("dblclick.jstree",function(){if(document.selection&&document.selection.empty)document.selection.empty();else if(window.getSelection){var e=window.getSelection();try{e.removeAllRanges(),e.collapse()}catch(t){}}}).on("click.jstree",".jstree-ocl",e.proxy(function(e){this.toggle_node(e.target)},this)).on("click.jstree",".jstree-anchor",e.proxy(function(t){t.preventDefault(),t.currentTarget!==document.activeElement&&e(t.currentTarget).focus(),this.activate_node(t.currentTarget,t)},this)).on("keydown.jstree",".jstree-anchor",e.proxy(function(t){if("INPUT"===t.target.tagName)return!0;var i=null;switch(t.which){case 13:case 32:t.type="click",e(t.currentTarget).trigger(t);break;case 37:t.preventDefault(),this.is_open(t.currentTarget)?this.close_node(t.currentTarget):(i=this.get_prev_dom(t.currentTarget),i&&i.length&&i.children(".jstree-anchor").focus());break;case 38:t.preventDefault(),i=this.get_prev_dom(t.currentTarget),i&&i.length&&i.children(".jstree-anchor").focus();break;case 39:t.preventDefault(),this.is_closed(t.currentTarget)?this.open_node(t.currentTarget,function(e){this.get_node(e,!0).children(".jstree-anchor").focus()}):(i=this.get_next_dom(t.currentTarget),i&&i.length&&i.children(".jstree-anchor").focus());break;case 40:t.preventDefault(),i=this.get_next_dom(t.currentTarget),i&&i.length&&i.children(".jstree-anchor").focus();break;case 46:t.preventDefault(),i=this.get_node(t.currentTarget),i&&i.id&&"#"!==i.id&&(i=this.is_selected(i)?this.get_selected():i);break;case 113:t.preventDefault(),i=this.get_node(t.currentTarget);break;default:}},this)).on("load_node.jstree",e.proxy(function(t,i){if(i.status&&("#"!==i.node.id||this._data.core.loaded||(this._data.core.loaded=!0,this.trigger("loaded")),!this._data.core.ready&&!this.get_container_ul().find(".jstree-loading:eq(0)").length)){if(this._data.core.ready=!0,this._data.core.selected.length){if(this.settings.core.expand_selected_onload){var s=[],r,n;for(r=0,n=this._data.core.selected.length;n>r;r++)s=s.concat(this._model.data[this._data.core.selected[r]].parents);for(s=e.vakata.array_unique(s),r=0,n=s.length;n>r;r++)this.open_node(s[r],!1,0)}this.trigger("changed",{action:"ready",selected:this._data.core.selected})}setTimeout(e.proxy(function(){this.trigger("ready")},this),0)}},this)).on("init.jstree",e.proxy(function(){var e=this.settings.core.themes;this._data.core.themes.dots=e.dots,this._data.core.themes.stripes=e.stripes,this._data.core.themes.icons=e.icons,this.set_theme(e.name||"default",e.url),this.set_theme_variant(e.variant)},this)).on("loading.jstree",e.proxy(function(){this[this._data.core.themes.dots?"show_dots":"hide_dots"](),this[this._data.core.themes.icons?"show_icons":"hide_icons"](),this[this._data.core.themes.stripes?"show_stripes":"hide_stripes"]()},this)).on("blur.jstree",".jstree-anchor",e.proxy(function(t){this._data.core.focused=null,e(t.currentTarget).filter(".jstree-hovered").mouseleave()},this)).on("focus.jstree",".jstree-anchor",e.proxy(function(t){var i=this.get_node(t.currentTarget);i&&i.id&&(this._data.core.focused=i.id),this.element.find(".jstree-hovered").not(t.currentTarget).mouseleave(),e(t.currentTarget).mouseenter()},this)).on("mouseenter.jstree",".jstree-anchor",e.proxy(function(e){this.hover_node(e.currentTarget)},this)).on("mouseleave.jstree",".jstree-anchor",e.proxy(function(e){this.dehover_node(e.currentTarget)},this))},unbind:function(){this.element.off(".jstree"),e(document).off(".jstree-"+this._id)},trigger:function(e,t){t||(t={}),t.instance=this,this.element.triggerHandler(e.replace(".jstree","")+".jstree",t)},get_container:function(){return this.element},get_container_ul:function(){return this.element.children(".jstree-children:eq(0)")},get_string:function(t){var i=this.settings.core.strings;return e.isFunction(i)?i.call(this,t):i&&i[t]?i[t]:t},_firstChild:function(e){e=e?e.firstChild:null;while(null!==e&&1!==e.nodeType)e=e.nextSibling;return e},_nextSibling:function(e){e=e?e.nextSibling:null;while(null!==e&&1!==e.nodeType)e=e.nextSibling;return e},_previousSibling:function(e){e=e?e.previousSibling:null;while(null!==e&&1!==e.nodeType)e=e.previousSibling;return e},get_node:function(t,i){t&&t.id&&(t=t.id);var s;try{if(this._model.data[t])t=this._model.data[t];else if(((s=e(t,this.element)).length||(s=e("#"+t.replace(e.jstree.idregex,"\\$&"),this.element)).length)&&this._model.data[s.closest(".jstree-node").attr("id")])t=this._model.data[s.closest(".jstree-node").attr("id")];else{if(!(s=e(t,this.element)).length||!s.hasClass("jstree"))return!1;t=this._model.data["#"]}return i&&(t="#"===t.id?this.element:e("#"+t.id.replace(e.jstree.idregex,"\\$&"),this.element)),t}catch(r){return!1}},get_path:function(e,t,i){if(e=e.parents?e:this.get_node(e),!e||"#"===e.id||!e.parents)return!1;var s,r,n=[];for(n.push(i?e.id:e.text),s=0,r=e.parents.length;r>s;s++)n.push(i?e.parents[s]:this.get_text(e.parents[s]));return n=n.reverse().slice(1),t?n.join(t):n},get_next_dom:function(t,i){var s;if(t=this.get_node(t,!0),t[0]===this.element[0]){s=this._firstChild(this.get_container_ul()[0]);while(s&&0===s.offsetHeight)s=this._nextSibling(s);return s?e(s):!1}if(!t||!t.length)return!1;if(i){s=t[0];do s=this._nextSibling(s);while(s&&0===s.offsetHeight);return s?e(s):!1}if(t.hasClass("jstree-open")){s=this._firstChild(t.children(".jstree-children")[0]);while(s&&0===s.offsetHeight)s=this._nextSibling(s);if(null!==s)return e(s)}s=t[0];do s=this._nextSibling(s);while(s&&0===s.offsetHeight);return null!==s?e(s):t.parentsUntil(".jstree",".jstree-node").next(".jstree-node:visible").eq(0)},get_prev_dom:function(t,i){var s;if(t=this.get_node(t,!0),t[0]===this.element[0]){s=this.get_container_ul()[0].lastChild;while(s&&0===s.offsetHeight)s=this._previousSibling(s);return s?e(s):!1}if(!t||!t.length)return!1;if(i){s=t[0];do s=this._previousSibling(s);while(s&&0===s.offsetHeight);return s?e(s):!1}s=t[0];do s=this._previousSibling(s);while(s&&0===s.offsetHeight);if(null!==s){t=e(s);while(t.hasClass("jstree-open"))t=t.children(".jstree-children:eq(0)").children(".jstree-node:visible:last");return t}return s=t[0].parentNode.parentNode,s&&s.className&&-1!==s.className.indexOf("jstree-node")?e(s):!1},get_parent:function(e){return e=this.get_node(e),e&&"#"!==e.id?e.parent:!1},get_children_dom:function(e){return e=this.get_node(e,!0),e[0]===this.element[0]?this.get_container_ul().children(".jstree-node"):e&&e.length?e.children(".jstree-children").children(".jstree-node"):!1},is_parent:function(e){return e=this.get_node(e),e&&(e.state.loaded===!1||e.children.length>0)},is_loaded:function(e){return e=this.get_node(e),e&&e.state.loaded},is_loading:function(e){return e=this.get_node(e),e&&e.state&&e.state.loading},is_open:function(e){return e=this.get_node(e),e&&e.state.opened},is_closed:function(e){return e=this.get_node(e),e&&this.is_parent(e)&&!e.state.opened},is_leaf:function(e){return!this.is_parent(e)},load_node:function(t,i){var s,r,n,a,d;if(e.isArray(t))return this._load_nodes(t.slice(),i),!0;if(t=this.get_node(t),!t)return i&&i.call(this,t,!1),!1;if(t.state.loaded){for(t.state.loaded=!1,s=0,r=t.children_d.length;r>s;s++){for(n=0,a=t.parents.length;a>n;n++)this._model.data[t.parents[n]].children_d=e.vakata.array_remove_item(this._model.data[t.parents[n]].children_d,t.children_d[s]);this._model.data[t.children_d[s]].state.selected&&(d=!0,this._data.core.selected=e.vakata.array_remove_item(this._data.core.selected,t.children_d[s])),delete this._model.data[t.children_d[s]]}t.children=[],t.children_d=[],d&&this.trigger("changed",{action:"load_node",node:t,selected:this._data.core.selected})}return t.state.loading=!0,this.get_node(t,!0).addClass("jstree-loading"),this._load_node(t,e.proxy(function(e){t=this._model.data[t.id],t.state.loading=!1,t.state.loaded=e;var s=this.get_node(t,!0);t.state.loaded&&!t.children.length&&s&&s.length&&!s.hasClass("jstree-leaf")&&s.removeClass("jstree-closed jstree-open").addClass("jstree-leaf"),s.removeClass("jstree-loading"),this.trigger("load_node",{node:t,status:e}),i&&i.call(this,t,e)},this)),!0},_load_nodes:function(e,t,i){var s=!0,r=function(){this._load_nodes(e,t,!0)},n=this._model.data,a,d;for(a=0,d=e.length;d>a;a++)!n[e[a]]||n[e[a]].state.loaded&&i||(this.is_loading(e[a])||this.load_node(e[a],r),s=!1);s&&t&&!t.done&&(t.call(this,e),t.done=!0)},_load_node:function(t,i){var s=this.settings.core.data,r;return s?e.isFunction(s)?s.call(this,t,e.proxy(function(s){s===!1&&i.call(this,!1),this["string"==typeof s?"_append_html_data":"_append_json_data"](t,"string"==typeof s?e(s):s,function(e){i.call(this,e)})},this)):"object"==typeof s?s.url?(s=e.extend(!0,{},s),e.isFunction(s.url)&&(s.url=s.url.call(this,t)),e.isFunction(s.data)&&(s.data=s.data.call(this,t)),e.ajax(s).done(e.proxy(function(s,r,n){var a=n.getResponseHeader("Content-Type");return-1!==a.indexOf("json")||"object"==typeof s?this._append_json_data(t,s,function(e){i.call(this,e)}):-1!==a.indexOf("html")||"string"==typeof s?this._append_html_data(t,e(s),function(e){i.call(this,e)}):(this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:t.id,xhr:n})},this.settings.core.error.call(this,this._data.core.last_error),i.call(this,!1))},this)).fail(e.proxy(function(e){i.call(this,!1),this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:t.id,xhr:e})},this.settings.core.error.call(this,this._data.core.last_error)},this))):(r=e.isArray(s)||e.isPlainObject(s)?JSON.parse(JSON.stringify(s)):s,"#"===t.id?this._append_json_data(t,r,function(e){i.call(this,e)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_05",reason:"Could not load node",data:JSON.stringify({id:t.id})},this.settings.core.error.call(this,this._data.core.last_error),i.call(this,!1))):"string"==typeof s?"#"===t.id?this._append_html_data(t,e(s),function(e){i.call(this,e)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_06",reason:"Could not load node",data:JSON.stringify({id:t.id})},this.settings.core.error.call(this,this._data.core.last_error),i.call(this,!1)):i.call(this,!1):"#"===t.id?this._append_html_data(t,this._data.core.original_container_html.clone(!0),function(e){i.call(this,e)}):i.call(this,!1)},_node_changed:function(e){e=this.get_node(e),e&&this._model.changed.push(e.id)},_append_html_data:function(t,i,s){t=this.get_node(t),t.children=[],t.children_d=[];var r=i.is("ul")?i.children():i,n=t.id,a=[],d=[],o=this._model.data,c=o[n],l=this._data.core.selected.length,h,_,u;for(r.each(e.proxy(function(t,i){h=this._parse_model_from_html(e(i),n,c.parents.concat()),h&&(a.push(h),d.push(h),o[h].children_d.length&&(d=d.concat(o[h].children_d)))},this)),c.children=a,c.children_d=d,_=0,u=c.parents.length;u>_;_++)o[c.parents[_]].children_d=o[c.parents[_]].children_d.concat(d);this.trigger("model",{nodes:d,parent:n}),"#"!==n?(this._node_changed(n),this.redraw()):(this.get_container_ul().children(".jstree-initial-node").remove(),this.redraw(!0)),this._data.core.selected.length!==l&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),s.call(this,!0)},_append_json_data:function(t,i,s,r){t=this.get_node(t),t.children=[],t.children_d=[],i.d&&(i=i.d,"string"==typeof i&&(i=JSON.parse(i))),e.isArray(i)||(i=[i]);var n=null,a={df:this._model.default_state,dat:i,par:t.id,m:this._model.data,t_id:this._id,t_cnt:this._cnt,sel:this._data.core.selected},d=function(e,t){e.data&&(e=e.data);var i=e.dat,s=e.par,r=[],n=[],a=[],d=e.df,o=e.t_id,c=e.t_cnt,l=e.m,h=l[s],_=e.sel,u,g,f,p,m=function(e,i,s){s=s?s.concat():[],i&&s.unshift(i);var r=""+e.id,n,o,c,h,_={id:r,text:e.text||"",icon:e.icon!==t?e.icon:!0,parent:i,parents:s,children:e.children||[],children_d:e.children_d||[],data:e.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(n in d)d.hasOwnProperty(n)&&(_.state[n]=d[n]);if(e&&e.data&&e.data.jstree&&e.data.jstree.icon&&(_.icon=e.data.jstree.icon),e&&e.data&&(_.data=e.data,e.data.jstree))for(n in e.data.jstree)e.data.jstree.hasOwnProperty(n)&&(_.state[n]=e.data.jstree[n]);if(e&&"object"==typeof e.state)for(n in e.state)e.state.hasOwnProperty(n)&&(_.state[n]=e.state[n]);if(e&&"object"==typeof e.li_attr)for(n in e.li_attr)e.li_attr.hasOwnProperty(n)&&(_.li_attr[n]=e.li_attr[n]);if(_.li_attr.id||(_.li_attr.id=r),e&&"object"==typeof e.a_attr)for(n in e.a_attr)e.a_attr.hasOwnProperty(n)&&(_.a_attr[n]=e.a_attr[n]);for(e&&e.children&&e.children===!0&&(_.state.loaded=!1,_.children=[],_.children_d=[]),l[_.id]=_,n=0,o=_.children.length;o>n;n++)c=m(l[_.children[n]],_.id,s),h=l[c],_.children_d.push(c),h.children_d.length&&(_.children_d=_.children_d.concat(h.children_d));return delete e.data,delete e.children,l[_.id].original=e,_.state.selected&&a.push(_.id),_.id},v=function(e,i,s){s=s?s.concat():[],i&&s.unshift(i);var r=!1,n,h,_,u,g;do r="j"+o+"_"+ ++c;while(l[r]);g={id:!1,text:"string"==typeof e?e:"",icon:"object"==typeof e&&e.icon!==t?e.icon:!0,parent:i,parents:s,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(n in d)d.hasOwnProperty(n)&&(g.state[n]=d[n]);if(e&&e.id&&(g.id=""+e.id),e&&e.text&&(g.text=e.text),e&&e.data&&e.data.jstree&&e.data.jstree.icon&&(g.icon=e.data.jstree.icon),e&&e.data&&(g.data=e.data,e.data.jstree))for(n in e.data.jstree)e.data.jstree.hasOwnProperty(n)&&(g.state[n]=e.data.jstree[n]);if(e&&"object"==typeof e.state)for(n in e.state)e.state.hasOwnProperty(n)&&(g.state[n]=e.state[n]);if(e&&"object"==typeof e.li_attr)for(n in e.li_attr)e.li_attr.hasOwnProperty(n)&&(g.li_attr[n]=e.li_attr[n]);if(g.li_attr.id&&!g.id&&(g.id=""+g.li_attr.id),g.id||(g.id=r),g.li_attr.id||(g.li_attr.id=g.id),e&&"object"==typeof e.a_attr)for(n in e.a_attr)e.a_attr.hasOwnProperty(n)&&(g.a_attr[n]=e.a_attr[n]);if(e&&e.children&&e.children.length){for(n=0,h=e.children.length;h>n;n++)_=v(e.children[n],g.id,s),u=l[_],g.children.push(_),u.children_d.length&&(g.children_d=g.children_d.concat(u.children_d));g.children_d=g.children_d.concat(g.children)}return e&&e.children&&e.children===!0&&(g.state.loaded=!1,g.children=[],g.children_d=[]),delete e.data,delete e.children,g.original=e,l[g.id]=g,g.state.selected&&a.push(g.id),g.id};if(i.length&&i[0].id!==t&&i[0].parent!==t){for(g=0,f=i.length;f>g;g++)i[g].children||(i[g].children=[]),l[""+i[g].id]=i[g];for(g=0,f=i.length;f>g;g++)l[""+i[g].parent].children.push(""+i[g].id),h.children_d.push(""+i[g].id);for(g=0,f=h.children.length;f>g;g++)u=m(l[h.children[g]],s,h.parents.concat()),n.push(u),l[u].children_d.length&&(n=n.concat(l[u].children_d));for(g=0,f=h.parents.length;f>g;g++)l[h.parents[g]].children_d=l[h.parents[g]].children_d.concat(n);p={cnt:c,mod:l,sel:_,par:s,dpc:n,add:a}}else{for(g=0,f=i.length;f>g;g++)u=v(i[g],s,h.parents.concat()),u&&(r.push(u),n.push(u),l[u].children_d.length&&(n=n.concat(l[u].children_d)));for(h.children=r,h.children_d=n,g=0,f=h.parents.length;f>g;g++)l[h.parents[g]].children_d=l[h.parents[g]].children_d.concat(n);p={cnt:c,mod:l,sel:_,par:s,dpc:n,add:a}}return p},o=function(t,i){if(this._cnt=t.cnt,this._model.data=t.mod,i){var r,n,a=t.add,d=t.sel,o=this._data.core.selected.slice(),c=this._model.data;if(d.length!==o.length||e.vakata.array_unique(d.concat(o)).length!==d.length){for(r=0,n=d.length;n>r;r++)-1===e.inArray(d[r],a)&&-1===e.inArray(d[r],o)&&(c[d[r]].state.selected=!1);for(r=0,n=o.length;n>r;r++)-1===e.inArray(o[r],d)&&(c[o[r]].state.selected=!0)}}t.add.length&&(this._data.core.selected=this._data.core.selected.concat(t.add)),this.trigger("model",{nodes:t.dpc,parent:t.par}),"#"!==t.par?(this._node_changed(t.par),this.redraw()):this.redraw(!0),t.add.length&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),s.call(this,!0)};if(this.settings.core.worker&&window.Blob&&window.URL&&window.Worker)try{null===this._wrk&&(this._wrk=window.URL.createObjectURL(new window.Blob(["self.onmessage = "+(""+d).replace(/return ([^;}]+)[\s;}]+$/,"postMessage($1);}")],{type:"text/javascript"}))),!this._data.core.working||r?(this._data.core.working=!0,n=new window.Worker(this._wrk),n.onmessage=e.proxy(function(e){o.call(this,e.data,!0),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1},this),a.par?n.postMessage(a):this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1):this._data.core.worker_queue.push([t,i,s,!0])}catch(c){o.call(this,d(a),!1),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}else o.call(this,d(a),!1)},_parse_model_from_html:function(i,s,r){r=r?[].concat(r):[],s&&r.unshift(s);var n,a,d=this._model.data,o={id:!1,text:!1,icon:!0,parent:s,parents:r,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1},c,l,h;for(c in this._model.default_state)this._model.default_state.hasOwnProperty(c)&&(o.state[c]=this._model.default_state[c]);if(l=e.vakata.attributes(i,!0),e.each(l,function(i,s){return s=e.trim(s),s.length?(o.li_attr[i]=s,"id"===i&&(o.id=""+s),t):!0}),l=i.children("a").eq(0),l.length&&(l=e.vakata.attributes(l,!0),e.each(l,function(t,i){i=e.trim(i),i.length&&(o.a_attr[t]=i)})),l=i.children("a:eq(0)").length?i.children("a:eq(0)").clone():i.clone(),l.children("ins, i, ul").remove(),l=l.html(),l=e("<div />").html(l),o.text=this.settings.core.force_text?l.text():l.html(),l=i.data(),o.data=l?e.extend(!0,{},l):null,o.state.opened=i.hasClass("jstree-open"),o.state.selected=i.children("a").hasClass("jstree-clicked"),o.state.disabled=i.children("a").hasClass("jstree-disabled"),o.data&&o.data.jstree)for(c in o.data.jstree)o.data.jstree.hasOwnProperty(c)&&(o.state[c]=o.data.jstree[c]);l=i.children("a").children(".jstree-themeicon"),l.length&&(o.icon=l.hasClass("jstree-themeicon-hidden")?!1:l.attr("rel")),o.state.icon&&(o.icon=o.state.icon),l=i.children("ul").children("li");do h="j"+this._id+"_"+ ++this._cnt;while(d[h]);return o.id=o.li_attr.id?""+o.li_attr.id:h,l.length?(l.each(e.proxy(function(t,i){n=this._parse_model_from_html(e(i),o.id,r),a=this._model.data[n],o.children.push(n),a.children_d.length&&(o.children_d=o.children_d.concat(a.children_d))},this)),o.children_d=o.children_d.concat(o.children)):i.hasClass("jstree-closed")&&(o.state.loaded=!1),o.li_attr["class"]&&(o.li_attr["class"]=o.li_attr["class"].replace("jstree-closed","").replace("jstree-open","")),o.a_attr["class"]&&(o.a_attr["class"]=o.a_attr["class"].replace("jstree-clicked","").replace("jstree-disabled","")),d[o.id]=o,o.state.selected&&this._data.core.selected.push(o.id),o.id},_parse_model_from_flat_json:function(e,i,s){s=s?s.concat():[],i&&s.unshift(i);var r=""+e.id,n=this._model.data,a=this._model.default_state,d,o,c,l,h={id:r,text:e.text||"",icon:e.icon!==t?e.icon:!0,parent:i,parents:s,children:e.children||[],children_d:e.children_d||[],data:e.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(d in a)a.hasOwnProperty(d)&&(h.state[d]=a[d]);if(e&&e.data&&e.data.jstree&&e.data.jstree.icon&&(h.icon=e.data.jstree.icon),e&&e.data&&(h.data=e.data,e.data.jstree))for(d in e.data.jstree)e.data.jstree.hasOwnProperty(d)&&(h.state[d]=e.data.jstree[d]);if(e&&"object"==typeof e.state)for(d in e.state)e.state.hasOwnProperty(d)&&(h.state[d]=e.state[d]);if(e&&"object"==typeof e.li_attr)for(d in e.li_attr)e.li_attr.hasOwnProperty(d)&&(h.li_attr[d]=e.li_attr[d]);if(h.li_attr.id||(h.li_attr.id=r),e&&"object"==typeof e.a_attr)for(d in e.a_attr)e.a_attr.hasOwnProperty(d)&&(h.a_attr[d]=e.a_attr[d]);for(e&&e.children&&e.children===!0&&(h.state.loaded=!1,h.children=[],h.children_d=[]),n[h.id]=h,d=0,o=h.children.length;o>d;d++)c=this._parse_model_from_flat_json(n[h.children[d]],h.id,s),l=n[c],h.children_d.push(c),l.children_d.length&&(h.children_d=h.children_d.concat(l.children_d));return delete e.data,delete e.children,n[h.id].original=e,h.state.selected&&this._data.core.selected.push(h.id),h.id},_parse_model_from_json:function(e,i,s){s=s?s.concat():[],i&&s.unshift(i);var r=!1,n,a,d,o,c=this._model.data,l=this._model.default_state,h;do r="j"+this._id+"_"+ ++this._cnt;while(c[r]);h={id:!1,text:"string"==typeof e?e:"",icon:"object"==typeof e&&e.icon!==t?e.icon:!0,parent:i,parents:s,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1};for(n in l)l.hasOwnProperty(n)&&(h.state[n]=l[n]);if(e&&e.id&&(h.id=""+e.id),e&&e.text&&(h.text=e.text),e&&e.data&&e.data.jstree&&e.data.jstree.icon&&(h.icon=e.data.jstree.icon),e&&e.data&&(h.data=e.data,e.data.jstree))for(n in e.data.jstree)e.data.jstree.hasOwnProperty(n)&&(h.state[n]=e.data.jstree[n]);if(e&&"object"==typeof e.state)for(n in e.state)e.state.hasOwnProperty(n)&&(h.state[n]=e.state[n]);if(e&&"object"==typeof e.li_attr)for(n in e.li_attr)e.li_attr.hasOwnProperty(n)&&(h.li_attr[n]=e.li_attr[n]);if(h.li_attr.id&&!h.id&&(h.id=""+h.li_attr.id),h.id||(h.id=r),h.li_attr.id||(h.li_attr.id=h.id),e&&"object"==typeof e.a_attr)for(n in e.a_attr)e.a_attr.hasOwnProperty(n)&&(h.a_attr[n]=e.a_attr[n]);if(e&&e.children&&e.children.length){for(n=0,a=e.children.length;a>n;n++)d=this._parse_model_from_json(e.children[n],h.id,s),o=c[d],h.children.push(d),o.children_d.length&&(h.children_d=h.children_d.concat(o.children_d));h.children_d=h.children_d.concat(h.children)}return e&&e.children&&e.children===!0&&(h.state.loaded=!1,h.children=[],h.children_d=[]),delete e.data,delete e.children,h.original=e,c[h.id]=h,h.state.selected&&this._data.core.selected.push(h.id),h.id},_redraw:function(){var e=this._model.force_full_redraw?this._model.data["#"].children.concat([]):this._model.changed.concat([]),t=document.createElement("UL"),i,s,r,n=this._data.core.focused;for(s=0,r=e.length;r>s;s++)i=this.redraw_node(e[s],!0,this._model.force_full_redraw),i&&this._model.force_full_redraw&&t.appendChild(i);this._model.force_full_redraw&&(t.className=this.get_container_ul()[0].className,this.element.empty().append(t)),null!==n&&(i=this.get_node(n,!0),i&&i.length&&i.children(".jstree-anchor")[0]!==document.activeElement?i.children(".jstree-anchor").focus():this._data.core.focused=null),this._model.force_full_redraw=!1,this._model.changed=[],this.trigger("redraw",{nodes:e})},redraw:function(e){e&&(this._model.force_full_redraw=!0),this._redraw()},redraw_node:function(t,i,s){var r=this.get_node(t),n=!1,a=!1,d=!1,o=!1,l=!1,h=!1,_="",u=document,g=this._model.data,f=!1,p=!1,m=null;if(!r)return!1;if("#"===r.id)return this.redraw(!0);if(i=i||0===r.children.length,t=document.querySelector?this.element[0].querySelector("#"+(-1!=="0123456789".indexOf(r.id[0])?"\\3"+r.id[0]+" "+r.id.substr(1).replace(e.jstree.idregex,"\\$&"):r.id.replace(e.jstree.idregex,"\\$&"))):document.getElementById(r.id))t=e(t),s||(n=t.parent().parent()[0],n===this.element[0]&&(n=null),a=t.index()),i||!r.children.length||t.children(".jstree-children").length||(i=!0),i||(d=t.children(".jstree-children")[0]),p=t.attr("aria-selected"),f=t.children(".jstree-anchor")[0]===document.activeElement,t.remove();else if(i=!0,!s){if(n="#"!==r.parent?e("#"+r.parent.replace(e.jstree.idregex,"\\$&"),this.element)[0]:null,!(null===n||n&&g[r.parent].state.opened))return!1;a=e.inArray(r.id,null===n?g["#"].children:g[r.parent].children)}t=c.cloneNode(!0),_="jstree-node ";for(o in r.li_attr)if(r.li_attr.hasOwnProperty(o)){if("id"===o)continue;"class"!==o?t.setAttribute(o,r.li_attr[o]):_+=r.li_attr[o]}p&&"false"!==p&&t.setAttribute("aria-selected",!0),r.state.loaded&&!r.children.length?_+=" jstree-leaf":(_+=r.state.opened&&r.state.loaded?" jstree-open":" jstree-closed",t.setAttribute("aria-expanded",r.state.opened&&r.state.loaded)),null!==r.parent&&g[r.parent].children[g[r.parent].children.length-1]===r.id&&(_+=" jstree-last"),t.id=r.id,t.className=_,_=(r.state.selected?" jstree-clicked":"")+(r.state.disabled?" jstree-disabled":"");for(l in r.a_attr)if(r.a_attr.hasOwnProperty(l)){if("href"===l&&"#"===r.a_attr[l])continue;"class"!==l?t.childNodes[1].setAttribute(l,r.a_attr[l]):_+=" "+r.a_attr[l]}if(_.length&&(t.childNodes[1].className="jstree-anchor "+_),(r.icon&&r.icon!==!0||r.icon===!1)&&(r.icon===!1?t.childNodes[1].childNodes[0].className+=" jstree-themeicon-hidden":-1===r.icon.indexOf("/")&&-1===r.icon.indexOf(".")?t.childNodes[1].childNodes[0].className+=" "+r.icon+" jstree-themeicon-custom":(t.childNodes[1].childNodes[0].style.backgroundImage="url("+r.icon+")",t.childNodes[1].childNodes[0].style.backgroundPosition="center center",t.childNodes[1].childNodes[0].style.backgroundSize="auto",t.childNodes[1].childNodes[0].className+=" jstree-themeicon-custom")),this.settings.core.force_text?t.childNodes[1].appendChild(u.createTextNode(r.text)):t.childNodes[1].innerHTML+=r.text,i&&r.children.length&&r.state.opened&&r.state.loaded){for(h=u.createElement("UL"),h.setAttribute("role","group"),h.className="jstree-children",o=0,l=r.children.length;l>o;o++)h.appendChild(this.redraw_node(r.children[o],i,!0));t.appendChild(h)}if(d&&t.appendChild(d),!s){for(n||(n=this.element[0]),o=0,l=n.childNodes.length;l>o;o++)if(n.childNodes[o]&&n.childNodes[o].className&&-1!==n.childNodes[o].className.indexOf("jstree-children")){m=n.childNodes[o];break}m||(m=u.createElement("UL"),m.setAttribute("role","group"),m.className="jstree-children",n.appendChild(m)),n=m,n.childNodes.length>a?n.insertBefore(t,n.childNodes[a]):n.appendChild(t),f&&t.childNodes[1].focus()}return r.state.opened&&!r.state.loaded&&(r.state.opened=!1,setTimeout(e.proxy(function(){this.open_node(r.id,!1,0)},this),0)),t},open_node:function(i,s,r){var n,a,d,o;if(e.isArray(i)){for(i=i.slice(),n=0,a=i.length;a>n;n++)this.open_node(i[n],s,r);return!0}if(i=this.get_node(i),!i||"#"===i.id)return!1;if(r=r===t?this.settings.core.animation:r,!this.is_closed(i))return s&&s.call(this,i,!1),!1;if(this.is_loaded(i))d=this.get_node(i,!0),o=this,d.length&&(i.children.length&&!this._firstChild(d.children(".jstree-children")[0])&&(i.state.opened=!0,this.redraw_node(i,!0),d=this.get_node(i,!0)),r?(this.trigger("before_open",{node:i}),d.children(".jstree-children").css("display","none").end().removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded",!0).children(".jstree-children").stop(!0,!0).slideDown(r,function(){this.style.display="",o.trigger("after_open",{node:i})})):(this.trigger("before_open",{node:i}),d[0].className=d[0].className.replace("jstree-closed","jstree-open"),d[0].setAttribute("aria-expanded",!0))),i.state.opened=!0,s&&s.call(this,i,!0),d.length||this.trigger("before_open",{node:i}),this.trigger("open_node",{node:i}),r&&d.length||this.trigger("after_open",{node:i});else{if(this.is_loading(i))return setTimeout(e.proxy(function(){this.open_node(i,s,r)},this),500);this.load_node(i,function(e,t){return t?this.open_node(e,s,r):s?s.call(this,e,!1):!1})}},_open_to:function(t){if(t=this.get_node(t),!t||"#"===t.id)return!1;var i,s,r=t.parents;for(i=0,s=r.length;s>i;i+=1)"#"!==i&&this.open_node(r[i],!1,0);return e("#"+t.id.replace(e.jstree.idregex,"\\$&"),this.element)},close_node:function(i,s){var r,n,a,d;if(e.isArray(i)){for(i=i.slice(),r=0,n=i.length;n>r;r++)this.close_node(i[r],s);return!0}return i=this.get_node(i),i&&"#"!==i.id?this.is_closed(i)?!1:(s=s===t?this.settings.core.animation:s,a=this,d=this.get_node(i,!0),d.length&&(s?d.children(".jstree-children").attr("style","display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded",!1).children(".jstree-children").stop(!0,!0).slideUp(s,function(){this.style.display="",d.children(".jstree-children").remove(),a.trigger("after_close",{node:i})}):(d[0].className=d[0].className.replace("jstree-open","jstree-closed"),d.attr("aria-expanded",!1).children(".jstree-children").remove())),i.state.opened=!1,this.trigger("close_node",{node:i}),s&&d.length||this.trigger("after_close",{node:i}),t):!1 +},toggle_node:function(i){var s,r;if(e.isArray(i)){for(i=i.slice(),s=0,r=i.length;r>s;s++)this.toggle_node(i[s]);return!0}return this.is_closed(i)?this.open_node(i):this.is_open(i)?this.close_node(i):t},open_all:function(e,t,i){if(e||(e="#"),e=this.get_node(e),!e)return!1;var s="#"===e.id?this.get_container_ul():this.get_node(e,!0),r,n,a;if(!s.length){for(r=0,n=e.children_d.length;n>r;r++)this.is_closed(this._model.data[e.children_d[r]])&&(this._model.data[e.children_d[r]].state.opened=!0);return this.trigger("open_all",{node:e})}i=i||s,a=this,s=this.is_closed(e)?s.find(".jstree-closed").addBack():s.find(".jstree-closed"),s.each(function(){a.open_node(this,function(e,s){s&&this.is_parent(e)&&this.open_all(e,t,i)},t||0)}),0===i.find(".jstree-closed").length&&this.trigger("open_all",{node:this.get_node(i)})},close_all:function(t,i){if(t||(t="#"),t=this.get_node(t),!t)return!1;var s="#"===t.id?this.get_container_ul():this.get_node(t,!0),r=this,n,a;if(!s.length){for(n=0,a=t.children_d.length;a>n;n++)this._model.data[t.children_d[n]].state.opened=!1;return this.trigger("close_all",{node:t})}s=this.is_open(t)?s.find(".jstree-open").addBack():s.find(".jstree-open"),e(s.get().reverse()).each(function(){r.close_node(this,i||0)}),this.trigger("close_all",{node:t})},is_disabled:function(e){return e=this.get_node(e),e&&e.state&&e.state.disabled},enable_node:function(i){var s,r;if(e.isArray(i)){for(i=i.slice(),s=0,r=i.length;r>s;s++)this.enable_node(i[s]);return!0}return i=this.get_node(i),i&&"#"!==i.id?(i.state.disabled=!1,this.get_node(i,!0).children(".jstree-anchor").removeClass("jstree-disabled"),this.trigger("enable_node",{node:i}),t):!1},disable_node:function(i){var s,r;if(e.isArray(i)){for(i=i.slice(),s=0,r=i.length;r>s;s++)this.disable_node(i[s]);return!0}return i=this.get_node(i),i&&"#"!==i.id?(i.state.disabled=!0,this.get_node(i,!0).children(".jstree-anchor").addClass("jstree-disabled"),this.trigger("disable_node",{node:i}),t):!1},activate_node:function(e,i){if(this.is_disabled(e))return!1;if(this._data.core.last_clicked=this._data.core.last_clicked&&this._data.core.last_clicked.id!==t?this.get_node(this._data.core.last_clicked.id):null,this._data.core.last_clicked&&!this._data.core.last_clicked.state.selected&&(this._data.core.last_clicked=null),!this._data.core.last_clicked&&this._data.core.selected.length&&(this._data.core.last_clicked=this.get_node(this._data.core.selected[this._data.core.selected.length-1])),this.settings.core.multiple&&(i.metaKey||i.ctrlKey||i.shiftKey)&&(!i.shiftKey||this._data.core.last_clicked&&this.get_parent(e)&&this.get_parent(e)===this._data.core.last_clicked.parent))if(i.shiftKey){var s=this.get_node(e).id,r=this._data.core.last_clicked.id,n=this.get_node(this._data.core.last_clicked.parent).children,a=!1,d,o;for(d=0,o=n.length;o>d;d+=1)n[d]===s&&(a=!a),n[d]===r&&(a=!a),a||n[d]===s||n[d]===r?this.select_node(n[d],!1,!1,i):this.deselect_node(n[d],!1,i)}else this.is_selected(e)?this.deselect_node(e,!1,i):this.select_node(e,!1,!1,i);else!this.settings.core.multiple&&(i.metaKey||i.ctrlKey||i.shiftKey)&&this.is_selected(e)?this.deselect_node(e,!1,i):(this.deselect_all(!0),this.select_node(e,!1,!1,i),this._data.core.last_clicked=this.get_node(e));this.trigger("activate_node",{node:this.get_node(e)})},hover_node:function(e){if(e=this.get_node(e,!0),!e||!e.length||e.children(".jstree-hovered").length)return!1;var t=this.element.find(".jstree-hovered"),i=this.element;t&&t.length&&this.dehover_node(t),e.children(".jstree-anchor").addClass("jstree-hovered"),this.trigger("hover_node",{node:this.get_node(e)}),setTimeout(function(){i.attr("aria-activedescendant",e[0].id),e.attr("aria-selected",!0)},0)},dehover_node:function(e){return e=this.get_node(e,!0),e&&e.length&&e.children(".jstree-hovered").length?(e.attr("aria-selected",!1).children(".jstree-anchor").removeClass("jstree-hovered"),this.trigger("dehover_node",{node:this.get_node(e)}),t):!1},select_node:function(i,s,r,n){var a,d,o,c;if(e.isArray(i)){for(i=i.slice(),d=0,o=i.length;o>d;d++)this.select_node(i[d],s,r,n);return!0}return i=this.get_node(i),i&&"#"!==i.id?(a=this.get_node(i,!0),i.state.selected||(i.state.selected=!0,this._data.core.selected.push(i.id),r||(a=this._open_to(i)),a&&a.length&&a.children(".jstree-anchor").addClass("jstree-clicked"),this.trigger("select_node",{node:i,selected:this._data.core.selected,event:n}),s||this.trigger("changed",{action:"select_node",node:i,selected:this._data.core.selected,event:n})),t):!1},deselect_node:function(i,s,r){var n,a,d;if(e.isArray(i)){for(i=i.slice(),n=0,a=i.length;a>n;n++)this.deselect_node(i[n],s,r);return!0}return i=this.get_node(i),i&&"#"!==i.id?(d=this.get_node(i,!0),i.state.selected&&(i.state.selected=!1,this._data.core.selected=e.vakata.array_remove_item(this._data.core.selected,i.id),d.length&&d.children(".jstree-anchor").removeClass("jstree-clicked"),this.trigger("deselect_node",{node:i,selected:this._data.core.selected,event:r}),s||this.trigger("changed",{action:"deselect_node",node:i,selected:this._data.core.selected,event:r})),t):!1},select_all:function(e){var t=this._data.core.selected.concat([]),i,s;for(this._data.core.selected=this._model.data["#"].children_d.concat(),i=0,s=this._data.core.selected.length;s>i;i++)this._model.data[this._data.core.selected[i]]&&(this._model.data[this._data.core.selected[i]].state.selected=!0);this.redraw(!0),this.trigger("select_all",{selected:this._data.core.selected}),e||this.trigger("changed",{action:"select_all",selected:this._data.core.selected,old_selection:t})},deselect_all:function(e){var t=this._data.core.selected.concat([]),i,s;for(i=0,s=this._data.core.selected.length;s>i;i++)this._model.data[this._data.core.selected[i]]&&(this._model.data[this._data.core.selected[i]].state.selected=!1);this._data.core.selected=[],this.element.find(".jstree-clicked").removeClass("jstree-clicked"),this.trigger("deselect_all",{selected:this._data.core.selected,node:t}),e||this.trigger("changed",{action:"deselect_all",selected:this._data.core.selected,old_selection:t})},is_selected:function(e){return e=this.get_node(e),e&&"#"!==e.id?e.state.selected:!1},get_selected:function(t){return t?e.map(this._data.core.selected,e.proxy(function(e){return this.get_node(e)},this)):this._data.core.selected.slice()},get_top_selected:function(t){var i=this.get_selected(!0),s={},r,n,a,d;for(r=0,n=i.length;n>r;r++)s[i[r].id]=i[r];for(r=0,n=i.length;n>r;r++)for(a=0,d=i[r].children_d.length;d>a;a++)s[i[r].children_d[a]]&&delete s[i[r].children_d[a]];i=[];for(r in s)s.hasOwnProperty(r)&&i.push(r);return t?e.map(i,e.proxy(function(e){return this.get_node(e)},this)):i},get_bottom_selected:function(t){var i=this.get_selected(!0),s=[],r,n;for(r=0,n=i.length;n>r;r++)i[r].children.length||s.push(i[r].id);return t?e.map(s,e.proxy(function(e){return this.get_node(e)},this)):s},get_state:function(){var e={core:{open:[],scroll:{left:this.element.scrollLeft(),top:this.element.scrollTop()},selected:[]}},t;for(t in this._model.data)this._model.data.hasOwnProperty(t)&&"#"!==t&&(this._model.data[t].state.opened&&e.core.open.push(t),this._model.data[t].state.selected&&e.core.selected.push(t));return e},set_state:function(i,s){if(i){if(i.core){var r,n,a,d;if(i.core.open)return e.isArray(i.core.open)?(r=!0,n=!1,a=this,e.each(i.core.open.concat([]),function(t,d){n=a.get_node(d),n&&(a.is_loaded(d)?(a.is_closed(d)&&a.open_node(d,!1,0),i&&i.core&&i.core.open&&e.vakata.array_remove_item(i.core.open,d)):(a.is_loading(d)||a.open_node(d,e.proxy(function(t,r){!r&&i&&i.core&&i.core.open&&e.vakata.array_remove_item(i.core.open,t.id),this.set_state(i,s)},a),0),r=!1))}),r&&(delete i.core.open,this.set_state(i,s)),!1):(delete i.core.open,this.set_state(i,s),!1);if(i.core.scroll)return i.core.scroll&&i.core.scroll.left!==t&&this.element.scrollLeft(i.core.scroll.left),i.core.scroll&&i.core.scroll.top!==t&&this.element.scrollTop(i.core.scroll.top),delete i.core.scroll,this.set_state(i,s),!1;if(i.core.selected)return d=this,this.deselect_all(),e.each(i.core.selected,function(e,t){d.select_node(t)}),delete i.core.selected,this.set_state(i,s),!1;if(e.isEmptyObject(i.core))return delete i.core,this.set_state(i,s),!1}return e.isEmptyObject(i)?(i=null,s&&s.call(this),this.trigger("set_state"),!1):!0}return!1},refresh:function(t,i){this._data.core.state=i===!0?{}:this.get_state(),i&&e.isFunction(i)&&(this._data.core.state=i.call(this,this._data.core.state)),this._cnt=0,this._model.data={"#":{id:"#",parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}}};var s=this.get_container_ul()[0].className;t||this.element.html("<ul class='"+s+"'><"+"li class='jstree-initial-node jstree-loading jstree-leaf jstree-last'><i class='jstree-icon jstree-ocl'></i><"+"a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.load_node("#",function(t,i){i&&(this.get_container_ul()[0].className=s,this.set_state(e.extend(!0,{},this._data.core.state),function(){this.trigger("refresh")})),this._data.core.state=null})},refresh_node:function(t){if(t=this.get_node(t),!t||"#"===t.id)return!1;var i=[],s=[],r=this._data.core.selected.concat([]);s.push(t.id),t.state.opened===!0&&i.push(t.id),this.get_node(t,!0).find(".jstree-open").each(function(){i.push(this.id)}),this._load_nodes(s,e.proxy(function(e){this.open_node(i,!1,0),this.select_node(this._data.core.selected),this.trigger("refresh_node",{node:t,nodes:e})},this))},set_id:function(t,i){if(t=this.get_node(t),!t||"#"===t.id)return!1;var s,r,n=this._model.data;for(i=""+i,n[t.parent].children[e.inArray(t.id,n[t.parent].children)]=i,s=0,r=t.parents.length;r>s;s++)n[t.parents[s]].children_d[e.inArray(t.id,n[t.parents[s]].children_d)]=i;for(s=0,r=t.children.length;r>s;s++)n[t.children[s]].parent=i;for(s=0,r=t.children_d.length;r>s;s++)n[t.children_d[s]].parents[e.inArray(t.id,n[t.children_d[s]].parents)]=i;return s=e.inArray(t.id,this._data.core.selected),-1!==s&&(this._data.core.selected[s]=i),s=this.get_node(t.id,!0),s&&s.attr("id",i),delete n[t.id],t.id=i,n[i]=t,!0},get_text:function(e){return e=this.get_node(e),e&&"#"!==e.id?e.text:!1},set_text:function(t,i){var s,r;if(e.isArray(t)){for(t=t.slice(),s=0,r=t.length;r>s;s++)this.set_text(t[s],i);return!0}return t=this.get_node(t),t&&"#"!==t.id?(t.text=i,this.get_node(t,!0).length&&this.redraw_node(t.id),this.trigger("set_text",{obj:t,text:i}),!0):!1},get_json:function(e,t,i){if(e=this.get_node(e||"#"),!e)return!1;t&&t.flat&&!i&&(i=[]);var s={id:e.id,text:e.text,icon:this.get_icon(e),li_attr:e.li_attr,a_attr:e.a_attr,state:{},data:t&&t.no_data?!1:e.data},r,n;if(t&&t.flat?s.parent=e.parent:s.children=[],!t||!t.no_state)for(r in e.state)e.state.hasOwnProperty(r)&&(s.state[r]=e.state[r]);if(t&&t.no_id&&(delete s.id,s.li_attr&&s.li_attr.id&&delete s.li_attr.id),t&&t.flat&&"#"!==e.id&&i.push(s),!t||!t.no_children)for(r=0,n=e.children.length;n>r;r++)t&&t.flat?this.get_json(e.children[r],t,i):s.children.push(this.get_json(e.children[r],t));return t&&t.flat?i:"#"===e.id?s.children:s},create_node:function(i,s,r,n,a){if(null===i&&(i="#"),i=this.get_node(i),!i)return!1;if(r=r===t?"last":r,!(""+r).match(/^(before|after)$/)&&!a&&!this.is_loaded(i))return this.load_node(i,function(){this.create_node(i,s,r,n,!0)});s||(s={text:this.get_string("New node")}),s.text===t&&(s.text=this.get_string("New node"));var d,o,c,l;switch("#"===i.id&&("before"===r&&(r="first"),"after"===r&&(r="last")),r){case"before":d=this.get_node(i.parent),r=e.inArray(i.id,d.children),i=d;break;case"after":d=this.get_node(i.parent),r=e.inArray(i.id,d.children)+1,i=d;break;case"inside":case"first":r=0;break;case"last":r=i.children.length;break;default:r||(r=0)}if(r>i.children.length&&(r=i.children.length),s.id||(s.id=!0),!this.check("create_node",s,i,r))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(s.id===!0&&delete s.id,s=this._parse_model_from_json(s,i.id,i.parents.concat()),!s)return!1;for(d=this.get_node(s),o=[],o.push(s),o=o.concat(d.children_d),this.trigger("model",{nodes:o,parent:i.id}),i.children_d=i.children_d.concat(o),c=0,l=i.parents.length;l>c;c++)this._model.data[i.parents[c]].children_d=this._model.data[i.parents[c]].children_d.concat(o);for(s=d,d=[],c=0,l=i.children.length;l>c;c++)d[c>=r?c+1:c]=i.children[c];return d[r]=s.id,i.children=d,this.redraw_node(i,!0),n&&n.call(this,this.get_node(s)),this.trigger("create_node",{node:this.get_node(s),parent:i.id,position:r}),s.id},rename_node:function(t,i){var s,r,n;if(e.isArray(t)){for(t=t.slice(),s=0,r=t.length;r>s;s++)this.rename_node(t[s],i);return!0}return t=this.get_node(t),t&&"#"!==t.id?(n=t.text,this.check("rename_node",t,this.get_parent(t),i)?(this.set_text(t,i),this.trigger("rename_node",{node:t,text:i,old:n}),!0):(this.settings.core.error.call(this,this._data.core.last_error),!1)):!1},delete_node:function(t){var i,s,r,n,a,d,o,c,l,h;if(e.isArray(t)){for(t=t.slice(),i=0,s=t.length;s>i;i++)this.delete_node(t[i]);return!0}if(t=this.get_node(t),!t||"#"===t.id)return!1;if(r=this.get_node(t.parent),n=e.inArray(t.id,r.children),h=!1,!this.check("delete_node",t,r,n))return this.settings.core.error.call(this,this._data.core.last_error),!1;for(-1!==n&&(r.children=e.vakata.array_remove(r.children,n)),a=t.children_d.concat([]),a.push(t.id),c=0,l=a.length;l>c;c++){for(d=0,o=t.parents.length;o>d;d++)n=e.inArray(a[c],this._model.data[t.parents[d]].children_d),-1!==n&&(this._model.data[t.parents[d]].children_d=e.vakata.array_remove(this._model.data[t.parents[d]].children_d,n));this._model.data[a[c]].state.selected&&(h=!0,n=e.inArray(a[c],this._data.core.selected),-1!==n&&(this._data.core.selected=e.vakata.array_remove(this._data.core.selected,n)))}for(this.trigger("delete_node",{node:t,parent:r.id}),h&&this.trigger("changed",{action:"delete_node",node:t,selected:this._data.core.selected,parent:r.id}),c=0,l=a.length;l>c;c++)delete this._model.data[a[c]];return this.redraw_node(r,!0),!0},check:function(t,i,s,r,n){i=i&&i.id?i:this.get_node(i),s=s&&s.id?s:this.get_node(s);var a=t.match(/^move_node|copy_node|create_node$/i)?s:i,d=this.settings.core.check_callback;return"move_node"!==t&&"copy_node"!==t||n&&n.is_multi||i.id!==s.id&&e.inArray(i.id,s.children)!==r&&-1===e.inArray(s.id,i.children_d)?(a&&a.data&&(a=a.data),a&&a.functions&&(a.functions[t]===!1||a.functions[t]===!0)?(a.functions[t]===!1&&(this._data.core.last_error={error:"check",plugin:"core",id:"core_02",reason:"Node data prevents function: "+t,data:JSON.stringify({chk:t,pos:r,obj:i&&i.id?i.id:!1,par:s&&s.id?s.id:!1})}),a.functions[t]):d===!1||e.isFunction(d)&&d.call(this,t,i,s,r,n)===!1||d&&d[t]===!1?(this._data.core.last_error={error:"check",plugin:"core",id:"core_03",reason:"User config for core.check_callback prevents function: "+t,data:JSON.stringify({chk:t,pos:r,obj:i&&i.id?i.id:!1,par:s&&s.id?s.id:!1})},!1):!0):(this._data.core.last_error={error:"check",plugin:"core",id:"core_01",reason:"Moving parent inside child",data:JSON.stringify({chk:t,pos:r,obj:i&&i.id?i.id:!1,par:s&&s.id?s.id:!1})},!1)},last_error:function(){return this._data.core.last_error},move_node:function(i,s,r,n,a){var d,o,c,l,h,_,u,g,f,p,m,v,j,k;if(s=this.get_node(s),r=r===t?0:r,!s)return!1;if(!(""+r).match(/^(before|after)$/)&&!a&&!this.is_loaded(s))return this.load_node(s,function(){this.move_node(i,s,r,n,!0)});if(e.isArray(i)){for(i=i.reverse().slice(),d=0,o=i.length;o>d;d++)this.move_node(i[d],s,r,n,a);return!0}if(i=i&&i.id?i:this.get_node(i),!i||"#"===i.id)return!1;if(c=""+(i.parent||"#"),h=(""+r).match(/^(before|after)$/)&&"#"!==s.id?this.get_node(s.parent):s,_=i.instance?i.instance:this._model.data[i.id]?this:e.jstree.reference(i.id),u=!_||!_._id||this._id!==_._id,l=_&&_._id&&c&&_._model.data[c]&&_._model.data[c].children?e.inArray(i.id,_._model.data[c].children):-1,u)return this.copy_node(i,s,r,n,a)?(_&&_.delete_node(i),!0):!1;switch("#"===h.id&&("before"===r&&(r="first"),"after"===r&&(r="last")),r){case"before":r=e.inArray(s.id,h.children);break;case"after":r=e.inArray(s.id,h.children)+1;break;case"inside":case"first":r=0;break;case"last":r=h.children.length;break;default:r||(r=0)}if(r>h.children.length&&(r=h.children.length),!this.check("move_node",i,h,r,{core:!0,is_multi:_&&_._id&&_._id!==this._id,is_foreign:!_||!_._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(i.parent===h.id){for(g=h.children.concat(),f=e.inArray(i.id,g),-1!==f&&(g=e.vakata.array_remove(g,f),r>f&&r--),f=[],p=0,m=g.length;m>p;p++)f[p>=r?p+1:p]=g[p];f[r]=i.id,h.children=f,this._node_changed(h.id),this.redraw("#"===h.id)}else{for(f=i.children_d.concat(),f.push(i.id),p=0,m=i.parents.length;m>p;p++){for(g=[],k=_._model.data[i.parents[p]].children_d,v=0,j=k.length;j>v;v++)-1===e.inArray(k[v],f)&&g.push(k[v]);_._model.data[i.parents[p]].children_d=g}for(_._model.data[c].children=e.vakata.array_remove_item(_._model.data[c].children,i.id),p=0,m=h.parents.length;m>p;p++)this._model.data[h.parents[p]].children_d=this._model.data[h.parents[p]].children_d.concat(f);for(g=[],p=0,m=h.children.length;m>p;p++)g[p>=r?p+1:p]=h.children[p];for(g[r]=i.id,h.children=g,h.children_d.push(i.id),h.children_d=h.children_d.concat(i.children_d),i.parent=h.id,f=h.parents.concat(),f.unshift(h.id),k=i.parents.length,i.parents=f,f=f.concat(),p=0,m=i.children_d.length;m>p;p++)this._model.data[i.children_d[p]].parents=this._model.data[i.children_d[p]].parents.slice(0,-1*k),Array.prototype.push.apply(this._model.data[i.children_d[p]].parents,f);this._node_changed(c),this._node_changed(h.id),this.redraw("#"===c||"#"===h.id)}return n&&n.call(this,i,h,r),this.trigger("move_node",{node:i,parent:h.id,position:r,old_parent:c,old_position:l,is_multi:_&&_._id&&_._id!==this._id,is_foreign:!_||!_._id,old_instance:_,new_instance:this}),!0},copy_node:function(i,s,r,n,a){var d,o,c,l,h,_,u,g,f,p,m;if(s=this.get_node(s),r=r===t?0:r,!s)return!1;if(!(""+r).match(/^(before|after)$/)&&!a&&!this.is_loaded(s))return this.load_node(s,function(){this.copy_node(i,s,r,n,!0)});if(e.isArray(i)){for(i=i.reverse().slice(),d=0,o=i.length;o>d;d++)this.copy_node(i[d],s,r,n,a);return!0}if(i=i&&i.id?i:this.get_node(i),!i||"#"===i.id)return!1;switch(g=""+(i.parent||"#"),f=(""+r).match(/^(before|after)$/)&&"#"!==s.id?this.get_node(s.parent):s,p=i.instance?i.instance:this._model.data[i.id]?this:e.jstree.reference(i.id),m=!p||!p._id||this._id!==p._id,"#"===f.id&&("before"===r&&(r="first"),"after"===r&&(r="last")),r){case"before":r=e.inArray(s.id,f.children);break;case"after":r=e.inArray(s.id,f.children)+1;break;case"inside":case"first":r=0;break;case"last":r=f.children.length;break;default:r||(r=0)}if(r>f.children.length&&(r=f.children.length),!this.check("copy_node",i,f,r,{core:!0,is_multi:p&&p._id&&p._id!==this._id,is_foreign:!p||!p._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1;if(u=p?p.get_json(i,{no_id:!0,no_data:!0,no_state:!0}):i,!u)return!1;if(u.id===!0&&delete u.id,u=this._parse_model_from_json(u,f.id,f.parents.concat()),!u)return!1;for(l=this.get_node(u),i&&i.state&&i.state.loaded===!1&&(l.state.loaded=!1),c=[],c.push(u),c=c.concat(l.children_d),this.trigger("model",{nodes:c,parent:f.id}),h=0,_=f.parents.length;_>h;h++)this._model.data[f.parents[h]].children_d=this._model.data[f.parents[h]].children_d.concat(c);for(c=[],h=0,_=f.children.length;_>h;h++)c[h>=r?h+1:h]=f.children[h];return c[r]=l.id,f.children=c,f.children_d.push(l.id),f.children_d=f.children_d.concat(l.children_d),this._node_changed(f.id),this.redraw("#"===f.id),n&&n.call(this,l,f,r),this.trigger("copy_node",{node:l,original:i,parent:f.id,position:r,old_parent:g,old_position:p&&p._id&&g&&p._model.data[g]&&p._model.data[g].children?e.inArray(i.id,p._model.data[g].children):-1,is_multi:p&&p._id&&p._id!==this._id,is_foreign:!p||!p._id,old_instance:p,new_instance:this}),l.id},cut:function(i){if(i||(i=this._data.core.selected.concat()),e.isArray(i)||(i=[i]),!i.length)return!1;var a=[],d,o,c;for(o=0,c=i.length;c>o;o++)d=this.get_node(i[o]),d&&d.id&&"#"!==d.id&&a.push(d);return a.length?(s=a,n=this,r="move_node",this.trigger("cut",{node:i}),t):!1},copy:function(i){if(i||(i=this._data.core.selected.concat()),e.isArray(i)||(i=[i]),!i.length)return!1;var a=[],d,o,c;for(o=0,c=i.length;c>o;o++)d=this.get_node(i[o]),d&&d.id&&"#"!==d.id&&a.push(d);return a.length?(s=a,n=this,r="copy_node",this.trigger("copy",{node:i}),t):!1},get_buffer:function(){return{mode:r,node:s,inst:n}},can_paste:function(){return r!==!1&&s!==!1},paste:function(e,i){return e=this.get_node(e),e&&r&&r.match(/^(copy_node|move_node)$/)&&s?(this[r](s,e,i)&&this.trigger("paste",{parent:e.id,node:s,mode:r}),s=!1,r=!1,n=!1,t):!1},edit:function(i,s){if(i=this.get_node(i),!i)return!1;if(this.settings.core.check_callback===!1)return this._data.core.last_error={error:"check",plugin:"core",id:"core_07",reason:"Could not edit node because of check_callback"},this.settings.core.error.call(this,this._data.core.last_error),!1;s="string"==typeof s?s:i.text,this.set_text(i,""),i=this._open_to(i);var r=this._data.core.rtl,n=this.element.width(),a=i.children(".jstree-anchor"),d=e("<span>"),o=s,c=e("<div />",{css:{position:"absolute",top:"-200px",left:r?"0px":"-1000px",visibility:"hidden"}}).appendTo("body"),l=e("<input />",{value:o,"class":"jstree-rename-input",css:{padding:"0",border:"1px solid silver","box-sizing":"border-box",display:"inline-block",height:this._data.core.li_height+"px",lineHeight:this._data.core.li_height+"px",width:"150px"},blur:e.proxy(function(){var t=d.children(".jstree-rename-input"),s=t.val();""===s&&(s=o),c.remove(),d.replaceWith(a),d.remove(),this.set_text(i,o),this.rename_node(i,e("<div></div>").text(s)[this.settings.core.force_text?"text":"html"]())===!1&&this.set_text(i,o)},this),keydown:function(e){var t=e.which;27===t&&(this.value=o),(27===t||13===t||37===t||38===t||39===t||40===t||32===t)&&e.stopImmediatePropagation(),(27===t||13===t)&&(e.preventDefault(),this.blur())},click:function(e){e.stopImmediatePropagation()},mousedown:function(e){e.stopImmediatePropagation()},keyup:function(e){l.width(Math.min(c.text("pW"+this.value).width(),n))},keypress:function(e){return 13===e.which?!1:t}}),h={fontFamily:a.css("fontFamily")||"",fontSize:a.css("fontSize")||"",fontWeight:a.css("fontWeight")||"",fontStyle:a.css("fontStyle")||"",fontStretch:a.css("fontStretch")||"",fontVariant:a.css("fontVariant")||"",letterSpacing:a.css("letterSpacing")||"",wordSpacing:a.css("wordSpacing")||""};d.attr("class",a.attr("class")).append(a.contents().clone()).append(l),a.replaceWith(d),c.css(h),l.css(h).width(Math.min(c.text("pW"+l[0].value).width(),n))[0].select()},set_theme:function(t,i){if(!t)return!1;if(i===!0){var s=this.settings.core.themes.dir;s||(s=e.jstree.path+"/themes"),i=s+"/"+t+"/style.css"}i&&-1===e.inArray(i,a)&&(e("head").append('<link rel="stylesheet" href="'+i+'" type="text/css" />'),a.push(i)),this._data.core.themes.name&&this.element.removeClass("jstree-"+this._data.core.themes.name),this._data.core.themes.name=t,this.element.addClass("jstree-"+t),this.element[this.settings.core.themes.responsive?"addClass":"removeClass"]("jstree-"+t+"-responsive"),this.trigger("set_theme",{theme:t})},get_theme:function(){return this._data.core.themes.name},set_theme_variant:function(e){this._data.core.themes.variant&&this.element.removeClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant),this._data.core.themes.variant=e,e&&this.element.addClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant)},get_theme_variant:function(){return this._data.core.themes.variant},show_stripes:function(){this._data.core.themes.stripes=!0,this.get_container_ul().addClass("jstree-striped")},hide_stripes:function(){this._data.core.themes.stripes=!1,this.get_container_ul().removeClass("jstree-striped")},toggle_stripes:function(){this._data.core.themes.stripes?this.hide_stripes():this.show_stripes()},show_dots:function(){this._data.core.themes.dots=!0,this.get_container_ul().removeClass("jstree-no-dots")},hide_dots:function(){this._data.core.themes.dots=!1,this.get_container_ul().addClass("jstree-no-dots")},toggle_dots:function(){this._data.core.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this._data.core.themes.icons=!0,this.get_container_ul().removeClass("jstree-no-icons")},hide_icons:function(){this._data.core.themes.icons=!1,this.get_container_ul().addClass("jstree-no-icons")},toggle_icons:function(){this._data.core.themes.icons?this.hide_icons():this.show_icons()},set_icon:function(t,i){var s,r,n,a;if(e.isArray(t)){for(t=t.slice(),s=0,r=t.length;r>s;s++)this.set_icon(t[s],i);return!0}return t=this.get_node(t),t&&"#"!==t.id?(a=t.icon,t.icon=i,n=this.get_node(t,!0).children(".jstree-anchor").children(".jstree-themeicon"),i===!1?this.hide_icon(t):i===!0?n.removeClass("jstree-themeicon-custom "+a).css("background","").removeAttr("rel"):-1===i.indexOf("/")&&-1===i.indexOf(".")?(n.removeClass(a).css("background",""),n.addClass(i+" jstree-themeicon-custom").attr("rel",i)):(n.removeClass(a).css("background",""),n.addClass("jstree-themeicon-custom").css("background","url('"+i+"') center center no-repeat").attr("rel",i)),!0):!1},get_icon:function(e){return e=this.get_node(e),e&&"#"!==e.id?e.icon:!1},hide_icon:function(t){var i,s;if(e.isArray(t)){for(t=t.slice(),i=0,s=t.length;s>i;i++)this.hide_icon(t[i]);return!0}return t=this.get_node(t),t&&"#"!==t?(t.icon=!1,this.get_node(t,!0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"),!0):!1},show_icon:function(t){var i,s,r;if(e.isArray(t)){for(t=t.slice(),i=0,s=t.length;s>i;i++)this.show_icon(t[i]);return!0}return t=this.get_node(t),t&&"#"!==t?(r=this.get_node(t,!0),t.icon=r.length?r.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"):!0,t.icon||(t.icon=!0),r.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"),!0):!1}},e.vakata={},e.vakata.attributes=function(t,i){t=e(t)[0];var s=i?{}:[];return t&&t.attributes&&e.each(t.attributes,function(t,r){-1===e.inArray(r.name.toLowerCase(),["style","contenteditable","hasfocus","tabindex"])&&null!==r.value&&""!==e.trim(r.value)&&(i?s[r.name]=r.value:s.push(r.name))}),s},e.vakata.array_unique=function(e){var t=[],i,s,r;for(i=0,r=e.length;r>i;i++){for(s=0;i>=s;s++)if(e[i]===e[s])break;s===i&&t.push(e[i])}return t},e.vakata.array_remove=function(e,t,i){var s=e.slice((i||t)+1||e.length);return e.length=0>t?e.length+t:t,e.push.apply(e,s),e},e.vakata.array_remove_item=function(t,i){var s=e.inArray(i,t);return-1!==s?e.vakata.array_remove(t,s):t};var _=document.createElement("I");_.className="jstree-icon jstree-checkbox",e.jstree.defaults.checkbox={visible:!0,three_state:!0,whole_node:!0,keep_selected_style:!0,cascade:"",tie_selection:!0},e.jstree.plugins.checkbox=function(i,s){this.bind=function(){s.bind.call(this),this._data.checkbox.uto=!1,this._data.checkbox.selected=[],this.settings.checkbox.three_state&&(this.settings.checkbox.cascade="up+down+undetermined"),this.element.on("init.jstree",e.proxy(function(){this._data.checkbox.visible=this.settings.checkbox.visible,this.settings.checkbox.keep_selected_style||this.element.addClass("jstree-checkbox-no-clicked"),this.settings.checkbox.tie_selection&&this.element.addClass("jstree-checkbox-selection")},this)).on("loading.jstree",e.proxy(function(){this[this._data.checkbox.visible?"show_checkboxes":"hide_checkboxes"]()},this)),-1!==this.settings.checkbox.cascade.indexOf("undetermined")&&this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree",e.proxy(function(){this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(e.proxy(this._undetermined,this),50)},this)),this.settings.checkbox.tie_selection||this.element.on("model.jstree",e.proxy(function(e,t){var i=this._model.data,s=i[t.parent],r=t.nodes,n,a;for(n=0,a=r.length;a>n;n++)i[r[n]].state.checked=i[r[n]].original&&i[r[n]].original.state&&i[r[n]].original.state.checked,i[r[n]].state.checked&&this._data.checkbox.selected.push(r[n])},this)),(-1!==this.settings.checkbox.cascade.indexOf("up")||-1!==this.settings.checkbox.cascade.indexOf("down"))&&this.element.on("model.jstree",e.proxy(function(t,i){var s=this._model.data,r=s[i.parent],n=i.nodes,a=[],d,o,c,l,h,_,u=this.settings.checkbox.cascade,g=this.settings.checkbox.tie_selection;if(-1!==u.indexOf("down"))if(r.state[g?"selected":"checked"]){for(o=0,c=n.length;c>o;o++)s[n[o]].state[g?"selected":"checked"]=!0;this._data[g?"core":"checkbox"].selected=this._data[g?"core":"checkbox"].selected.concat(n)}else for(o=0,c=n.length;c>o;o++)if(s[n[o]].state[g?"selected":"checked"]){for(l=0,h=s[n[o]].children_d.length;h>l;l++)s[s[n[o]].children_d[l]].state[g?"selected":"checked"]=!0;this._data[g?"core":"checkbox"].selected=this._data[g?"core":"checkbox"].selected.concat(s[n[o]].children_d)}if(-1!==u.indexOf("up")){for(o=0,c=r.children_d.length;c>o;o++)s[r.children_d[o]].children.length||a.push(s[r.children_d[o]].parent);for(a=e.vakata.array_unique(a),l=0,h=a.length;h>l;l++){r=s[a[l]];while(r&&"#"!==r.id){for(d=0,o=0,c=r.children.length;c>o;o++)d+=s[r.children[o]].state[g?"selected":"checked"];if(d!==c)break;r.state[g?"selected":"checked"]=!0,this._data[g?"core":"checkbox"].selected.push(r.id),_=this.get_node(r,!0),_&&_.length&&_.children(".jstree-anchor").addClass(g?"jstree-clicked":"jstree-checked"),r=this.get_node(r.parent)}}}this._data[g?"core":"checkbox"].selected=e.vakata.array_unique(this._data[g?"core":"checkbox"].selected)},this)).on(this.settings.checkbox.tie_selection?"select_node.jstree":"check_node.jstree",e.proxy(function(t,i){var s=i.node,r=this._model.data,n=this.get_node(s.parent),a=this.get_node(s,!0),d,o,c,l,h=this.settings.checkbox.cascade,_=this.settings.checkbox.tie_selection;if(-1!==h.indexOf("down"))for(this._data[_?"core":"checkbox"].selected=e.vakata.array_unique(this._data[_?"core":"checkbox"].selected.concat(s.children_d)),d=0,o=s.children_d.length;o>d;d++)l=r[s.children_d[d]],l.state[_?"selected":"checked"]=!0,l&&l.original&&l.original.state&&l.original.state.undetermined&&(l.original.state.undetermined=!1);if(-1!==h.indexOf("up"))while(n&&"#"!==n.id){for(c=0,d=0,o=n.children.length;o>d;d++)c+=r[n.children[d]].state[_?"selected":"checked"];if(c!==o)break;n.state[_?"selected":"checked"]=!0,this._data[_?"core":"checkbox"].selected.push(n.id),l=this.get_node(n,!0),l&&l.length&&l.children(".jstree-anchor").addClass(_?"jstree-clicked":"jstree-checked"),n=this.get_node(n.parent)}-1!==h.indexOf("down")&&a.length&&a.find(".jstree-anchor").addClass(_?"jstree-clicked":"jstree-checked")},this)).on(this.settings.checkbox.tie_selection?"deselect_all.jstree":"uncheck_all.jstree",e.proxy(function(e,t){var i=this.get_node("#"),s=this._model.data,r,n,a;for(r=0,n=i.children_d.length;n>r;r++)a=s[i.children_d[r]],a&&a.original&&a.original.state&&a.original.state.undetermined&&(a.original.state.undetermined=!1)},this)).on(this.settings.checkbox.tie_selection?"deselect_node.jstree":"uncheck_node.jstree",e.proxy(function(t,i){var s=i.node,r=this.get_node(s,!0),n,a,d,o=this.settings.checkbox.cascade,c=this.settings.checkbox.tie_selection;if(s&&s.original&&s.original.state&&s.original.state.undetermined&&(s.original.state.undetermined=!1),-1!==o.indexOf("down"))for(n=0,a=s.children_d.length;a>n;n++)d=this._model.data[s.children_d[n]],d.state[c?"selected":"checked"]=!1,d&&d.original&&d.original.state&&d.original.state.undetermined&&(d.original.state.undetermined=!1);if(-1!==o.indexOf("up"))for(n=0,a=s.parents.length;a>n;n++)d=this._model.data[s.parents[n]],d.state[c?"selected":"checked"]=!1,d&&d.original&&d.original.state&&d.original.state.undetermined&&(d.original.state.undetermined=!1),d=this.get_node(s.parents[n],!0),d&&d.length&&d.children(".jstree-anchor").removeClass(c?"jstree-clicked":"jstree-checked");for(d=[],n=0,a=this._data[c?"core":"checkbox"].selected.length;a>n;n++)-1!==o.indexOf("down")&&-1!==e.inArray(this._data[c?"core":"checkbox"].selected[n],s.children_d)||-1!==o.indexOf("up")&&-1!==e.inArray(this._data[c?"core":"checkbox"].selected[n],s.parents)||d.push(this._data[c?"core":"checkbox"].selected[n]); +this._data[c?"core":"checkbox"].selected=e.vakata.array_unique(d),-1!==o.indexOf("down")&&r.length&&r.find(".jstree-anchor").removeClass(c?"jstree-clicked":"jstree-checked")},this)),-1!==this.settings.checkbox.cascade.indexOf("up")&&this.element.on("delete_node.jstree",e.proxy(function(e,t){var i=this.get_node(t.parent),s=this._model.data,r,n,a,d,o=this.settings.checkbox.tie_selection;while(i&&"#"!==i.id){for(a=0,r=0,n=i.children.length;n>r;r++)a+=s[i.children[r]].state[o?"selected":"checked"];if(a!==n)break;i.state[o?"selected":"checked"]=!0,this._data[o?"core":"checkbox"].selected.push(i.id),d=this.get_node(i,!0),d&&d.length&&d.children(".jstree-anchor").addClass(o?"jstree-clicked":"jstree-checked"),i=this.get_node(i.parent)}},this)).on("move_node.jstree",e.proxy(function(t,i){var s=i.is_multi,r=i.old_parent,n=this.get_node(i.parent),a=this._model.data,d,o,c,l,h,_=this.settings.checkbox.tie_selection;if(!s){d=this.get_node(r);while(d&&"#"!==d.id){for(o=0,c=0,l=d.children.length;l>c;c++)o+=a[d.children[c]].state[_?"selected":"checked"];if(o!==l)break;d.state[_?"selected":"checked"]=!0,this._data[_?"core":"checkbox"].selected.push(d.id),h=this.get_node(d,!0),h&&h.length&&h.children(".jstree-anchor").addClass(_?"jstree-clicked":"jstree-checked"),d=this.get_node(d.parent)}}d=n;while(d&&"#"!==d.id){for(o=0,c=0,l=d.children.length;l>c;c++)o+=a[d.children[c]].state[_?"selected":"checked"];if(o===l)d.state[_?"selected":"checked"]||(d.state[_?"selected":"checked"]=!0,this._data[_?"core":"checkbox"].selected.push(d.id),h=this.get_node(d,!0),h&&h.length&&h.children(".jstree-anchor").addClass(_?"jstree-clicked":"jstree-checked"));else{if(!d.state[_?"selected":"checked"])break;d.state[_?"selected":"checked"]=!1,this._data[_?"core":"checkbox"].selected=e.vakata.array_remove_item(this._data[_?"core":"checkbox"].selected,d.id),h=this.get_node(d,!0),h&&h.length&&h.children(".jstree-anchor").removeClass(_?"jstree-clicked":"jstree-checked")}d=this.get_node(d.parent)}},this))},this._undetermined=function(){var t,i,s=this._model.data,r=this.settings.checkbox.tie_selection,n=this._data[r?"core":"checkbox"].selected,a=[],d=this;for(t=0,i=n.length;i>t;t++)s[n[t]]&&s[n[t]].parents&&(a=a.concat(s[n[t]].parents));for(this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function(){var e=d.get_node(this),r;if(e.state.loaded)for(t=0,i=e.children_d.length;i>t;t++)r=s[e.children_d[t]],!r.state.loaded&&r.original&&r.original.state&&r.original.state.undetermined&&r.original.state.undetermined===!0&&(a.push(r.id),a=a.concat(r.parents));else e.original&&e.original.state&&e.original.state.undetermined&&e.original.state.undetermined===!0&&(a.push(e.id),a=a.concat(e.parents))}),a=e.vakata.array_unique(a),a=e.vakata.array_remove_item(a,"#"),this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"),t=0,i=a.length;i>t;t++)s[a[t]].state[r?"selected":"checked"]||(n=this.get_node(a[t],!0),n&&n.length&&n.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined"))},this.redraw_node=function(t,i,r){if(t=s.redraw_node.call(this,t,i,r)){var n,a,d=null;for(n=0,a=t.childNodes.length;a>n;n++)if(t.childNodes[n]&&t.childNodes[n].className&&-1!==t.childNodes[n].className.indexOf("jstree-anchor")){d=t.childNodes[n];break}d&&(!this.settings.checkbox.tie_selection&&this._model.data[t.id].state.checked&&(d.className+=" jstree-checked"),d.insertBefore(_.cloneNode(!1),d.childNodes[0]))}return r||-1===this.settings.checkbox.cascade.indexOf("undetermined")||(this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(e.proxy(this._undetermined,this),50)),t},this.show_checkboxes=function(){this._data.core.themes.checkboxes=!0,this.get_container_ul().removeClass("jstree-no-checkboxes")},this.hide_checkboxes=function(){this._data.core.themes.checkboxes=!1,this.get_container_ul().addClass("jstree-no-checkboxes")},this.toggle_checkboxes=function(){this._data.core.themes.checkboxes?this.hide_checkboxes():this.show_checkboxes()},this.is_undetermined=function(t){t=this.get_node(t);var i=this.settings.checkbox.cascade,s,r,n=this.settings.checkbox.tie_selection,a=this._data[n?"core":"checkbox"].selected,d=this._model.data;if(!t||t.state[n?"selected":"checked"]===!0||-1===i.indexOf("undetermined")||-1===i.indexOf("down")&&-1===i.indexOf("up"))return!1;if(!t.state.loaded&&t.original.state.undetermined===!0)return!0;for(s=0,r=t.children_d.length;r>s;s++)if(-1!==e.inArray(t.children_d[s],a)||!d[t.children_d[s]].state.loaded&&d[t.children_d[s]].original.state.undetermined)return!0;return!1},this.activate_node=function(i,r){return this.settings.checkbox.tie_selection&&(this.settings.checkbox.whole_node||e(r.target).hasClass("jstree-checkbox"))&&(r.ctrlKey=!0),this.settings.checkbox.tie_selection||!this.settings.checkbox.whole_node&&!e(r.target).hasClass("jstree-checkbox")?s.activate_node.call(this,i,r):(this.is_checked(i)?this.uncheck_node(i,r):this.check_node(i,r),this.trigger("activate_node",{node:this.get_node(i)}),t)},this.check_node=function(i,s){if(this.settings.checkbox.tie_selection)return this.select_node(i,!1,!0,s);var r,n,a,d;if(e.isArray(i)){for(i=i.slice(),n=0,a=i.length;a>n;n++)this.check_node(i[n],s);return!0}return i=this.get_node(i),i&&"#"!==i.id?(r=this.get_node(i,!0),i.state.checked||(i.state.checked=!0,this._data.checkbox.selected.push(i.id),r&&r.length&&r.children(".jstree-anchor").addClass("jstree-checked"),this.trigger("check_node",{node:i,selected:this._data.checkbox.selected,event:s})),t):!1},this.uncheck_node=function(i,s){if(this.settings.checkbox.tie_selection)return this.deselect_node(i,!1,s);var r,n,a;if(e.isArray(i)){for(i=i.slice(),r=0,n=i.length;n>r;r++)this.uncheck_node(i[r],s);return!0}return i=this.get_node(i),i&&"#"!==i.id?(a=this.get_node(i,!0),i.state.checked&&(i.state.checked=!1,this._data.checkbox.selected=e.vakata.array_remove_item(this._data.checkbox.selected,i.id),a.length&&a.children(".jstree-anchor").removeClass("jstree-checked"),this.trigger("uncheck_node",{node:i,selected:this._data.checkbox.selected,event:s})),t):!1},this.check_all=function(){if(this.settings.checkbox.tie_selection)return this.select_all();var e=this._data.checkbox.selected.concat([]),t,i;for(this._data.checkbox.selected=this._model.data["#"].children_d.concat(),t=0,i=this._data.checkbox.selected.length;i>t;t++)this._model.data[this._data.checkbox.selected[t]]&&(this._model.data[this._data.checkbox.selected[t]].state.checked=!0);this.redraw(!0),this.trigger("check_all",{selected:this._data.checkbox.selected})},this.uncheck_all=function(){if(this.settings.checkbox.tie_selection)return this.deselect_all();var e=this._data.checkbox.selected.concat([]),t,i;for(t=0,i=this._data.checkbox.selected.length;i>t;t++)this._model.data[this._data.checkbox.selected[t]]&&(this._model.data[this._data.checkbox.selected[t]].state.checked=!1);this._data.checkbox.selected=[],this.element.find(".jstree-checked").removeClass("jstree-checked"),this.trigger("uncheck_all",{selected:this._data.checkbox.selected,node:e})},this.is_checked=function(e){return this.settings.checkbox.tie_selection?this.is_selected(e):(e=this.get_node(e),e&&"#"!==e.id?e.state.checked:!1)},this.get_checked=function(t){return this.settings.checkbox.tie_selection?this.get_selected(t):t?e.map(this._data.checkbox.selected,e.proxy(function(e){return this.get_node(e)},this)):this._data.checkbox.selected},this.get_top_checked=function(t){if(this.settings.checkbox.tie_selection)return this.get_top_selected(t);var i=this.get_checked(!0),s={},r,n,a,d;for(r=0,n=i.length;n>r;r++)s[i[r].id]=i[r];for(r=0,n=i.length;n>r;r++)for(a=0,d=i[r].children_d.length;d>a;a++)s[i[r].children_d[a]]&&delete s[i[r].children_d[a]];i=[];for(r in s)s.hasOwnProperty(r)&&i.push(r);return t?e.map(i,e.proxy(function(e){return this.get_node(e)},this)):i},this.get_bottom_checked=function(t){if(this.settings.checkbox.tie_selection)return this.get_bottom_selected(t);var i=this.get_checked(!0),s=[],r,n;for(r=0,n=i.length;n>r;r++)i[r].children.length||s.push(i[r].id);return t?e.map(s,e.proxy(function(e){return this.get_node(e)},this)):s}},e.jstree.defaults.contextmenu={select_node:!0,show_at_node:!0,items:function(t,i){return{create:{separator_before:!1,separator_after:!0,_disabled:!1,label:"Create",action:function(t){var i=e.jstree.reference(t.reference),s=i.get_node(t.reference);i.create_node(s,{},"last",function(e){setTimeout(function(){i.edit(e)},0)})}},rename:{separator_before:!1,separator_after:!1,_disabled:!1,label:"Rename",action:function(t){var i=e.jstree.reference(t.reference),s=i.get_node(t.reference);i.edit(s)}},remove:{separator_before:!1,icon:!1,separator_after:!1,_disabled:!1,label:"Delete",action:function(t){var i=e.jstree.reference(t.reference),s=i.get_node(t.reference);i.is_selected(s)?i.delete_node(i.get_selected()):i.delete_node(s)}},ccp:{separator_before:!0,icon:!1,separator_after:!1,label:"Edit",action:!1,submenu:{cut:{separator_before:!1,separator_after:!1,label:"Cut",action:function(t){var i=e.jstree.reference(t.reference),s=i.get_node(t.reference);i.is_selected(s)?i.cut(i.get_selected()):i.cut(s)}},copy:{separator_before:!1,icon:!1,separator_after:!1,label:"Copy",action:function(t){var i=e.jstree.reference(t.reference),s=i.get_node(t.reference);i.is_selected(s)?i.copy(i.get_selected()):i.copy(s)}},paste:{separator_before:!1,icon:!1,_disabled:function(t){return!e.jstree.reference(t.reference).can_paste()},separator_after:!1,label:"Paste",action:function(t){var i=e.jstree.reference(t.reference),s=i.get_node(t.reference);i.paste(s)}}}}}}},e.jstree.plugins.contextmenu=function(i,s){this.bind=function(){s.bind.call(this);var t=0;this.element.on("contextmenu.jstree",".jstree-anchor",e.proxy(function(e){e.preventDefault(),t=e.ctrlKey?e.timeStamp:0,this.is_loading(e.currentTarget)||this.show_contextmenu(e.currentTarget,e.pageX,e.pageY,e)},this)).on("click.jstree",".jstree-anchor",e.proxy(function(i){this._data.contextmenu.visible&&(!t||i.timeStamp-t>250)&&e.vakata.context.hide()},this)),e(document).on("context_hide.vakata.jstree",e.proxy(function(){this._data.contextmenu.visible=!1},this))},this.teardown=function(){this._data.contextmenu.visible&&e.vakata.context.hide(),s.teardown.call(this)},this.show_contextmenu=function(i,s,r,n){if(i=this.get_node(i),!i||"#"===i.id)return!1;var a=this.settings.contextmenu,d=this.get_node(i,!0),o=d.children(".jstree-anchor"),c=!1,l=!1;(a.show_at_node||s===t||r===t)&&(c=o.offset(),s=c.left,r=c.top+this._data.core.li_height),this.settings.contextmenu.select_node&&!this.is_selected(i)&&this.activate_node(i,n),l=a.items,e.isFunction(l)&&(l=l.call(this,i,e.proxy(function(e){this._show_contextmenu(i,s,r,e)},this))),e.isPlainObject(l)&&this._show_contextmenu(i,s,r,l)},this._show_contextmenu=function(t,i,s,r){var n=this.get_node(t,!0),a=n.children(".jstree-anchor");e(document).one("context_show.vakata.jstree",e.proxy(function(t,i){var s="jstree-contextmenu jstree-"+this.get_theme()+"-contextmenu";e(i.element).addClass(s)},this)),this._data.contextmenu.visible=!0,e.vakata.context.show(a,{x:i,y:s},r),this.trigger("show_contextmenu",{node:t,x:i,y:s})}},function(e){var i=!1,s={element:!1,reference:!1,position_x:0,position_y:0,items:[],html:"",is_visible:!1};e.vakata.context={settings:{hide_onmouseleave:0,icons:!0},_trigger:function(t){e(document).triggerHandler("context_"+t+".vakata",{reference:s.reference,element:s.element,position:{x:s.position_x,y:s.position_y}})},_execute:function(t){return t=s.items[t],t&&(!t._disabled||e.isFunction(t._disabled)&&!t._disabled({item:t,reference:s.reference,element:s.element}))&&t.action?t.action.call(null,{item:t,reference:s.reference,element:s.element,position:{x:s.position_x,y:s.position_y}}):!1},_parse:function(i,r){if(!i)return!1;r||(s.html="",s.items=[]);var n="",a=!1,d;return r&&(n+="<ul>"),e.each(i,function(i,r){return r?(s.items.push(r),!a&&r.separator_before&&(n+="<li class='vakata-context-separator'><a href='#' "+(e.vakata.context.settings.icons?"":'style="margin-left:0px;"')+">&#160;<"+"/a><"+"/li>"),a=!1,n+="<li class='"+(r._class||"")+(r._disabled===!0||e.isFunction(r._disabled)&&r._disabled({item:r,reference:s.reference,element:s.element})?" vakata-contextmenu-disabled ":"")+"' "+(r.shortcut?" data-shortcut='"+r.shortcut+"' ":"")+">",n+="<a href='#' rel='"+(s.items.length-1)+"'>",e.vakata.context.settings.icons&&(n+="<i ",r.icon&&(n+=-1!==r.icon.indexOf("/")||-1!==r.icon.indexOf(".")?" style='background:url(\""+r.icon+"\") center center no-repeat' ":" class='"+r.icon+"' "),n+="></i><span class='vakata-contextmenu-sep'>&#160;</span>"),n+=(e.isFunction(r.label)?r.label({item:i,reference:s.reference,element:s.element}):r.label)+(r.shortcut?' <span class="vakata-contextmenu-shortcut vakata-contextmenu-shortcut-'+r.shortcut+'">'+(r.shortcut_label||"")+"</span>":"")+"<"+"/a>",r.submenu&&(d=e.vakata.context._parse(r.submenu,!0),d&&(n+=d)),n+="</li>",r.separator_after&&(n+="<li class='vakata-context-separator'><a href='#' "+(e.vakata.context.settings.icons?"":'style="margin-left:0px;"')+">&#160;<"+"/a><"+"/li>",a=!0),t):!0}),n=n.replace(/<li class\='vakata-context-separator'\><\/li\>$/,""),r&&(n+="</ul>"),r||(s.html=n,e.vakata.context._trigger("parse")),n.length>10?n:!1},_show_submenu:function(t){if(t=e(t),t.length&&t.children("ul").length){var s=t.children("ul"),r=t.offset().left+t.outerWidth(),n=t.offset().top,a=s.width(),d=s.height(),o=e(window).width()+e(window).scrollLeft(),c=e(window).height()+e(window).scrollTop();i?t[0>r-(a+10+t.outerWidth())?"addClass":"removeClass"]("vakata-context-left"):t[r+a+10>o?"addClass":"removeClass"]("vakata-context-right"),n+d+10>c&&s.css("bottom","-1px"),s.show()}},show:function(t,r,n){var a,d,o,c,l,h,_,u,g=!0;switch(s.element&&s.element.length&&s.element.width(""),g){case!r&&!t:return!1;case!!r&&!!t:s.reference=t,s.position_x=r.x,s.position_y=r.y;break;case!r&&!!t:s.reference=t,a=t.offset(),s.position_x=a.left+t.outerHeight(),s.position_y=a.top;break;case!!r&&!t:s.position_x=r.x,s.position_y=r.y}t&&!n&&e(t).data("vakata_contextmenu")&&(n=e(t).data("vakata_contextmenu")),e.vakata.context._parse(n)&&s.element.html(s.html),s.items.length&&(s.element.appendTo("body"),d=s.element,o=s.position_x,c=s.position_y,l=d.width(),h=d.height(),_=e(window).width()+e(window).scrollLeft(),u=e(window).height()+e(window).scrollTop(),i&&(o-=d.outerWidth(),e(window).scrollLeft()+20>o&&(o=e(window).scrollLeft()+20)),o+l+20>_&&(o=_-(l+20)),c+h+20>u&&(c=u-(h+20)),s.element.css({left:o,top:c}).show().find("a:eq(0)").focus().parent().addClass("vakata-context-hover"),s.is_visible=!0,e.vakata.context._trigger("show"))},hide:function(){s.is_visible&&(s.element.hide().find("ul").hide().end().find(":focus").blur().end().detach(),s.is_visible=!1,e.vakata.context._trigger("hide"))}},e(function(){i="rtl"===e("body").css("direction");var t=!1;s.element=e("<ul class='vakata-context'></ul>"),s.element.on("mouseenter","li",function(i){i.stopImmediatePropagation(),e.contains(this,i.relatedTarget)||(t&&clearTimeout(t),s.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(),e(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context","li").addBack().addClass("vakata-context-hover"),e.vakata.context._show_submenu(this))}).on("mouseleave","li",function(t){e.contains(this,t.relatedTarget)||e(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")}).on("mouseleave",function(i){e(this).find(".vakata-context-hover").removeClass("vakata-context-hover"),e.vakata.context.settings.hide_onmouseleave&&(t=setTimeout(function(t){return function(){e.vakata.context.hide()}}(this),e.vakata.context.settings.hide_onmouseleave))}).on("click","a",function(t){t.preventDefault(),e(this).blur().parent().hasClass("vakata-context-disabled")||e.vakata.context._execute(e(this).attr("rel"))===!1||e.vakata.context.hide()}).on("keydown","a",function(t){var i=null;switch(t.which){case 13:case 32:t.type="mouseup",t.preventDefault(),e(t.currentTarget).trigger(t);break;case 37:s.is_visible&&(s.element.find(".vakata-context-hover").last().parents("li:eq(0)").find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").focus(),t.stopImmediatePropagation(),t.preventDefault());break;case 38:s.is_visible&&(i=s.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(),i.length||(i=s.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()),i.addClass("vakata-context-hover").children("a").focus(),t.stopImmediatePropagation(),t.preventDefault());break;case 39:s.is_visible&&(s.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").focus(),t.stopImmediatePropagation(),t.preventDefault());break;case 40:s.is_visible&&(i=s.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(),i.length||(i=s.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()),i.addClass("vakata-context-hover").children("a").focus(),t.stopImmediatePropagation(),t.preventDefault());break;case 27:e.vakata.context.hide(),t.preventDefault();break;default:}}).on("keydown",function(e){e.preventDefault();var t=s.element.find(".vakata-contextmenu-shortcut-"+e.which).parent();t.parent().not(".vakata-context-disabled")&&t.click()}),e(document).on("mousedown.vakata.jstree",function(t){s.is_visible&&!e.contains(s.element[0],t.target)&&e.vakata.context.hide()}).on("context_show.vakata.jstree",function(e,t){s.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"),i&&s.element.addClass("vakata-context-rtl").css("direction","rtl"),s.element.find("ul").hide().end()})})}(e),e.jstree.defaults.dnd={copy:!0,open_timeout:500,is_draggable:!0,check_while_dragging:!0,always_copy:!1,inside_pos:0},e.jstree.plugins.dnd=function(i,s){this.bind=function(){s.bind.call(this),this.element.on("mousedown.jstree touchstart.jstree",".jstree-anchor",e.proxy(function(i){var s=this.get_node(i.target),r=this.is_selected(s)?this.get_selected().length:1;return s&&s.id&&"#"!==s.id&&(1===i.which||"touchstart"===i.type)&&(this.settings.dnd.is_draggable===!0||e.isFunction(this.settings.dnd.is_draggable)&&this.settings.dnd.is_draggable.call(this,r>1?this.get_selected(!0):[s]))?(this.element.trigger("mousedown.jstree"),e.vakata.dnd.start(i,{jstree:!0,origin:this,obj:this.get_node(s,!0),nodes:r>1?this.get_selected():[s.id]},'<div id="jstree-dnd" class="jstree-'+this.get_theme()+(this.settings.core.themes.responsive?" jstree-dnd-responsive":"")+'"><i class="jstree-icon jstree-er"></i>'+(r>1?r+" "+this.get_string("nodes"):this.get_text(i.currentTarget,!0))+'<ins class="jstree-copy" style="display:none;">+</ins></div>')):t},this))}},e(function(){var i=!1,s=!1,r=!1,n=e('<div id="jstree-marker">&#160;</div>').hide();e(document).on("dnd_start.vakata.jstree",function(e,t){i=!1,t&&t.data&&t.data.jstree&&n.appendTo("body")}).on("dnd_move.vakata.jstree",function(a,d){if(r&&clearTimeout(r),d&&d.data&&d.data.jstree&&(!d.event.target.id||"jstree-marker"!==d.event.target.id)){var o=e.jstree.reference(d.event.target),c=!1,l=!1,h=!1,_,u,g,f,p,m,v,j,k,y,x,b,w,C;if(o&&o._data&&o._data.dnd)if(n.attr("class","jstree-"+o.get_theme()+(o.settings.core.themes.responsive?" jstree-dnd-responsive":"")),d.helper.children().attr("class","jstree-"+o.get_theme()+(o.settings.core.themes.responsive?" jstree-dnd-responsive":"")).find(".jstree-copy:eq(0)")[d.data.origin&&(d.data.origin.settings.dnd.always_copy||d.data.origin.settings.dnd.copy&&(d.event.metaKey||d.event.ctrlKey))?"show":"hide"](),d.event.target!==o.element[0]&&d.event.target!==o.get_container_ul()[0]||0!==o.get_container_ul().children().length){if(c=e(d.event.target).closest(".jstree-anchor"),c&&c.length&&c.parent().is(".jstree-closed, .jstree-open, .jstree-leaf")&&(l=c.offset(),h=d.event.pageY-l.top,g=c.height(),m=g/3>h?["b","i","a"]:h>g-g/3?["a","i","b"]:h>g/2?["i","a","b"]:["i","b","a"],e.each(m,function(a,h){switch(h){case"b":_=l.left-6,u=l.top,f=o.get_parent(c),p=c.parent().index();break;case"i":w=o.settings.dnd.inside_pos,C=o.get_node(c.parent()),_=l.left-2,u=l.top+g/2+1,f=C.id,p="first"===w?0:"last"===w?C.children.length:Math.min(w,C.children.length);break;case"a":_=l.left-6,u=l.top+g,f=o.get_parent(c),p=c.parent().index()+1}for(v=!0,j=0,k=d.data.nodes.length;k>j;j++)if(y=d.data.origin&&(d.data.origin.settings.dnd.always_copy||d.data.origin.settings.dnd.copy&&(d.event.metaKey||d.event.ctrlKey))?"copy_node":"move_node",x=p,"move_node"===y&&"a"===h&&d.data.origin&&d.data.origin===o&&f===o.get_parent(d.data.nodes[j])&&(b=o.get_node(f),x>e.inArray(d.data.nodes[j],b.children)&&(x-=1)),v=v&&(o&&o.settings&&o.settings.dnd&&o.settings.dnd.check_while_dragging===!1||o.check(y,d.data.origin&&d.data.origin!==o?d.data.origin.get_node(d.data.nodes[j]):d.data.nodes[j],f,x,{dnd:!0,ref:o.get_node(c.parent()),pos:h,is_multi:d.data.origin&&d.data.origin!==o,is_foreign:!d.data.origin})),!v){o&&o.last_error&&(s=o.last_error());break}return v?("i"===h&&c.parent().is(".jstree-closed")&&o.settings.dnd.open_timeout&&(r=setTimeout(function(e,t){return function(){e.open_node(t)}}(o,c),o.settings.dnd.open_timeout)),i={ins:o,par:f,pos:"i"!==h||"last"!==w||0!==p||o.is_loaded(C)?p:"last"},n.css({left:_+"px",top:u+"px"}).show(),d.helper.find(".jstree-icon:eq(0)").removeClass("jstree-er").addClass("jstree-ok"),s={},m=!0,!1):t}),m===!0))return}else{for(v=!0,j=0,k=d.data.nodes.length;k>j;j++)if(v=v&&o.check(d.data.origin&&(d.data.origin.settings.dnd.always_copy||d.data.origin.settings.dnd.copy&&(d.event.metaKey||d.event.ctrlKey))?"copy_node":"move_node",d.data.origin&&d.data.origin!==o?d.data.origin.get_node(d.data.nodes[j]):d.data.nodes[j],"#","last",{dnd:!0,ref:o.get_node("#"),pos:"i",is_multi:d.data.origin&&d.data.origin!==o,is_foreign:!d.data.origin}),!v)break;if(v)return i={ins:o,par:"#",pos:"last"},n.hide(),d.helper.find(".jstree-icon:eq(0)").removeClass("jstree-er").addClass("jstree-ok"),t}i=!1,d.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),n.hide()}}).on("dnd_scroll.vakata.jstree",function(e,t){t&&t.data&&t.data.jstree&&(n.hide(),i=!1,t.helper.find(".jstree-icon:eq(0)").removeClass("jstree-ok").addClass("jstree-er"))}).on("dnd_stop.vakata.jstree",function(t,a){if(r&&clearTimeout(r),a&&a.data&&a.data.jstree){n.hide().detach();var d,o,c=[];if(i){for(d=0,o=a.data.nodes.length;o>d;d++)c[d]=a.data.origin?a.data.origin.get_node(a.data.nodes[d]):a.data.nodes[d],a.data.origin&&(c[d].instance=a.data.origin);for(i.ins[a.data.origin&&(a.data.origin.settings.dnd.always_copy||a.data.origin.settings.dnd.copy&&(a.event.metaKey||a.event.ctrlKey))?"copy_node":"move_node"](c,i.par,i.pos),d=0,o=c.length;o>d;d++)c[d].instance&&(c[d].instance=null)}else d=e(a.event.target).closest(".jstree"),d.length&&s&&s.error&&"check"===s.error&&(d=d.jstree(!0),d&&d.settings.core.error.call(this,s))}}).on("keyup.jstree keydown.jstree",function(t,i){i=e.vakata.dnd._get(),i&&i.data&&i.data.jstree&&i.helper.find(".jstree-copy:eq(0)")[i.data.origin&&(i.data.origin.settings.dnd.always_copy||i.data.origin.settings.dnd.copy&&(t.metaKey||t.ctrlKey))?"show":"hide"]()})}),function(e){var i={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1};e.vakata.dnd={settings:{scroll_speed:10,scroll_proximity:20,helper_left:5,helper_top:10,threshold:5,threshold_touch:50},_trigger:function(t,i){var s=e.vakata.dnd._get();s.event=i,e(document).triggerHandler("dnd_"+t+".vakata",s)},_get:function(){return{data:i.data,element:i.element,helper:i.helper}},_clean:function(){i.helper&&i.helper.remove(),i.scroll_i&&(clearInterval(i.scroll_i),i.scroll_i=!1),i={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1},e(document).off("mousemove.vakata.jstree touchmove.vakata.jstree",e.vakata.dnd.drag),e(document).off("mouseup.vakata.jstree touchend.vakata.jstree",e.vakata.dnd.stop)},_scroll:function(t){if(!i.scroll_e||!i.scroll_l&&!i.scroll_t)return i.scroll_i&&(clearInterval(i.scroll_i),i.scroll_i=!1),!1;if(!i.scroll_i)return i.scroll_i=setInterval(e.vakata.dnd._scroll,100),!1;if(t===!0)return!1;var s=i.scroll_e.scrollTop(),r=i.scroll_e.scrollLeft();i.scroll_e.scrollTop(s+i.scroll_t*e.vakata.dnd.settings.scroll_speed),i.scroll_e.scrollLeft(r+i.scroll_l*e.vakata.dnd.settings.scroll_speed),(s!==i.scroll_e.scrollTop()||r!==i.scroll_e.scrollLeft())&&e.vakata.dnd._trigger("scroll",i.scroll_e)},start:function(t,s,r){"touchstart"===t.type&&t.originalEvent&&t.originalEvent.changedTouches&&t.originalEvent.changedTouches[0]&&(t.pageX=t.originalEvent.changedTouches[0].pageX,t.pageY=t.originalEvent.changedTouches[0].pageY,t.target=document.elementFromPoint(t.originalEvent.changedTouches[0].pageX-window.pageXOffset,t.originalEvent.changedTouches[0].pageY-window.pageYOffset)),i.is_drag&&e.vakata.dnd.stop({});try{t.currentTarget.unselectable="on",t.currentTarget.onselectstart=function(){return!1},t.currentTarget.style&&(t.currentTarget.style.MozUserSelect="none")}catch(n){}return i.init_x=t.pageX,i.init_y=t.pageY,i.data=s,i.is_down=!0,i.element=t.currentTarget,i.target=t.target,i.is_touch="touchstart"===t.type,r!==!1&&(i.helper=e("<div id='vakata-dnd'></div>").html(r).css({display:"block",margin:"0",padding:"0",position:"absolute",top:"-2000px",lineHeight:"16px",zIndex:"10000"})),e(document).on("mousemove.vakata.jstree touchmove.vakata.jstree",e.vakata.dnd.drag),e(document).on("mouseup.vakata.jstree touchend.vakata.jstree",e.vakata.dnd.stop),!1},drag:function(s){if("touchmove"===s.type&&s.originalEvent&&s.originalEvent.changedTouches&&s.originalEvent.changedTouches[0]&&(s.pageX=s.originalEvent.changedTouches[0].pageX,s.pageY=s.originalEvent.changedTouches[0].pageY,s.target=document.elementFromPoint(s.originalEvent.changedTouches[0].pageX-window.pageXOffset,s.originalEvent.changedTouches[0].pageY-window.pageYOffset)),i.is_down){if(!i.is_drag){if(!(Math.abs(s.pageX-i.init_x)>(i.is_touch?e.vakata.dnd.settings.threshold_touch:e.vakata.dnd.settings.threshold)||Math.abs(s.pageY-i.init_y)>(i.is_touch?e.vakata.dnd.settings.threshold_touch:e.vakata.dnd.settings.threshold)))return;i.helper&&(i.helper.appendTo("body"),i.helper_w=i.helper.outerWidth()),i.is_drag=!0,e.vakata.dnd._trigger("start",s)}var r=!1,n=!1,a=!1,d=!1,o=!1,c=!1,l=!1,h=!1,_=!1,u=!1;return i.scroll_t=0,i.scroll_l=0,i.scroll_e=!1,e(e(s.target).parentsUntil("body").addBack().get().reverse()).filter(function(){return/^auto|scroll$/.test(e(this).css("overflow"))&&(this.scrollHeight>this.offsetHeight||this.scrollWidth>this.offsetWidth)}).each(function(){var r=e(this),n=r.offset();return this.scrollHeight>this.offsetHeight&&(n.top+r.height()-s.pageY<e.vakata.dnd.settings.scroll_proximity&&(i.scroll_t=1),s.pageY-n.top<e.vakata.dnd.settings.scroll_proximity&&(i.scroll_t=-1)),this.scrollWidth>this.offsetWidth&&(n.left+r.width()-s.pageX<e.vakata.dnd.settings.scroll_proximity&&(i.scroll_l=1),s.pageX-n.left<e.vakata.dnd.settings.scroll_proximity&&(i.scroll_l=-1)),i.scroll_t||i.scroll_l?(i.scroll_e=e(this),!1):t}),i.scroll_e||(r=e(document),n=e(window),a=r.height(),d=n.height(),o=r.width(),c=n.width(),l=r.scrollTop(),h=r.scrollLeft(),a>d&&s.pageY-l<e.vakata.dnd.settings.scroll_proximity&&(i.scroll_t=-1),a>d&&d-(s.pageY-l)<e.vakata.dnd.settings.scroll_proximity&&(i.scroll_t=1),o>c&&s.pageX-h<e.vakata.dnd.settings.scroll_proximity&&(i.scroll_l=-1),o>c&&c-(s.pageX-h)<e.vakata.dnd.settings.scroll_proximity&&(i.scroll_l=1),(i.scroll_t||i.scroll_l)&&(i.scroll_e=r)),i.scroll_e&&e.vakata.dnd._scroll(!0),i.helper&&(_=parseInt(s.pageY+e.vakata.dnd.settings.helper_top,10),u=parseInt(s.pageX+e.vakata.dnd.settings.helper_left,10),a&&_+25>a&&(_=a-50),o&&u+i.helper_w>o&&(u=o-(i.helper_w+2)),i.helper.css({left:u+"px",top:_+"px"})),e.vakata.dnd._trigger("move",s),!1}},stop:function(t){if("touchend"===t.type&&t.originalEvent&&t.originalEvent.changedTouches&&t.originalEvent.changedTouches[0]&&(t.pageX=t.originalEvent.changedTouches[0].pageX,t.pageY=t.originalEvent.changedTouches[0].pageY,t.target=document.elementFromPoint(t.originalEvent.changedTouches[0].pageX-window.pageXOffset,t.originalEvent.changedTouches[0].pageY-window.pageYOffset)),i.is_drag)e.vakata.dnd._trigger("stop",t);else if("touchend"===t.type&&t.target===i.target){var s=setTimeout(function(){e(t.target).click()},100);e(t.target).one("click",function(){s&&clearTimeout(s)})}return e.vakata.dnd._clean(),!1}}}(e),e.jstree.defaults.search={ajax:!1,fuzzy:!1,case_sensitive:!1,show_only_matches:!1,close_opened_onclear:!0,search_leaves_only:!1,search_callback:!1},e.jstree.plugins.search=function(i,s){this.bind=function(){s.bind.call(this),this._data.search.str="",this._data.search.dom=e(),this._data.search.res=[],this._data.search.opn=[],this.element.on("before_open.jstree",e.proxy(function(t,i){var s,r,n,a=this._data.search.res,d=[],o=e();if(a&&a.length&&(this._data.search.dom=e(this.element[0].querySelectorAll("#"+e.map(a,function(t){return-1!=="0123456789".indexOf(t[0])?"\\3"+t[0]+" "+t.substr(1).replace(e.jstree.idregex,"\\$&"):t.replace(e.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.dom.children(".jstree-anchor").addClass("jstree-search"),this.settings.search.show_only_matches&&this._data.search.res.length)){for(s=0,r=a.length;r>s;s++)d=d.concat(this.get_node(a[s]).parents);d=e.vakata.array_remove_item(e.vakata.array_unique(d),"#"),o=d.length?e(this.element[0].querySelectorAll("#"+e.map(d,function(t){return-1!=="0123456789".indexOf(t[0])?"\\3"+t[0]+" "+t.substr(1).replace(e.jstree.idregex,"\\$&"):t.replace(e.jstree.idregex,"\\$&")}).join(", #"))):e(),this.element.find(".jstree-node").hide().filter(".jstree-last").filter(function(){return this.nextSibling}).removeClass("jstree-last"),o=o.add(this._data.search.dom),o.parentsUntil(".jstree").addBack().show().filter(".jstree-children").each(function(){e(this).children(".jstree-node:visible").eq(-1).addClass("jstree-last")})}},this)),this.settings.search.show_only_matches&&this.element.on("search.jstree",function(t,i){i.nodes.length&&(e(this).find(".jstree-node").hide().filter(".jstree-last").filter(function(){return this.nextSibling}).removeClass("jstree-last"),i.nodes.parentsUntil(".jstree").addBack().show().filter(".jstree-children").each(function(){e(this).children(".jstree-node:visible").eq(-1).addClass("jstree-last")}))}).on("clear_search.jstree",function(t,i){i.nodes.length&&e(this).find(".jstree-node").css("display","").filter(".jstree-last").filter(function(){return this.nextSibling}).removeClass("jstree-last")})},this.search=function(i,s){if(i===!1||""===e.trim(""+i))return this.clear_search();i=""+i;var r=this.settings.search,n=r.ajax?r.ajax:!1,a=null,d=[],o=[],c,l;return this._data.search.res.length&&this.clear_search(),s||n===!1?(this._data.search.str=i,this._data.search.dom=e(),this._data.search.res=[],this._data.search.opn=[],a=new e.vakata.search(i,!0,{caseSensitive:r.case_sensitive,fuzzy:r.fuzzy}),e.each(this._model.data,function(e,t){t.text&&(r.search_callback&&r.search_callback.call(this,i,t)||!r.search_callback&&a.search(t.text).isMatch)&&(!r.search_leaves_only||t.state.loaded&&0===t.children.length)&&(d.push(e),o=o.concat(t.parents))}),d.length&&(o=e.vakata.array_unique(o),this._search_open(o),this._data.search.dom=e(this.element[0].querySelectorAll("#"+e.map(d,function(t){return-1!=="0123456789".indexOf(t[0])?"\\3"+t[0]+" "+t.substr(1).replace(e.jstree.idregex,"\\$&"):t.replace(e.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.res=d,this._data.search.dom.children(".jstree-anchor").addClass("jstree-search")),this.trigger("search",{nodes:this._data.search.dom,str:i,res:this._data.search.res}),t):e.isFunction(n)?n.call(this,i,e.proxy(function(t){t&&t.d&&(t=t.d),this._load_nodes(e.isArray(t)?e.vakata.array_unique(t):[],function(){this.search(i,!0) +},!0)},this)):(n=e.extend({},n),n.data||(n.data={}),n.data.str=i,e.ajax(n).fail(e.proxy(function(){this._data.core.last_error={error:"ajax",plugin:"search",id:"search_01",reason:"Could not load search parents",data:JSON.stringify(n)},this.settings.core.error.call(this,this._data.core.last_error)},this)).done(e.proxy(function(t){t&&t.d&&(t=t.d),this._load_nodes(e.isArray(t)?e.vakata.array_unique(t):[],function(){this.search(i,!0)},!0)},this)))},this.clear_search=function(){this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search"),this.settings.search.close_opened_onclear&&this.close_node(this._data.search.opn,0),this.trigger("clear_search",{nodes:this._data.search.dom,str:this._data.search.str,res:this._data.search.res}),this._data.search.str="",this._data.search.res=[],this._data.search.opn=[],this._data.search.dom=e()},this._search_open=function(t){var i=this;e.each(t.concat([]),function(s,r){if("#"===r)return!0;try{r=e("#"+r.replace(e.jstree.idregex,"\\$&"),i.element)}catch(n){}r&&r.length&&i.is_closed(r)&&(i._data.search.opn.push(r[0].id),i.open_node(r,function(){i._search_open(t)},0))})}},function(e){e.vakata.search=function(e,t,i){i=i||{},i.fuzzy!==!1&&(i.fuzzy=!0),e=i.caseSensitive?e:e.toLowerCase();var s=i.location||0,r=i.distance||100,n=i.threshold||.6,a=e.length,d,o,c,l;return a>32&&(i.fuzzy=!1),i.fuzzy&&(d=1<<a-1,o=function(){var t={},i=0;for(i=0;a>i;i++)t[e.charAt(i)]=0;for(i=0;a>i;i++)t[e.charAt(i)]|=1<<a-i-1;return t}(),c=function(e,t){var i=e/a,n=Math.abs(s-t);return r?i+n/r:n?1:i}),l=function(t){if(t=i.caseSensitive?t:t.toLowerCase(),e===t||-1!==t.indexOf(e))return{isMatch:!0,score:0};if(!i.fuzzy)return{isMatch:!1,score:1};var r,l,h=t.length,_=n,u=t.indexOf(e,s),g,f,p=a+h,m,v,j,k,y,x=1,b=[];for(-1!==u&&(_=Math.min(c(0,u),_),u=t.lastIndexOf(e,s+a),-1!==u&&(_=Math.min(c(0,u),_))),u=-1,r=0;a>r;r++){g=0,f=p;while(f>g)_>=c(r,s+f)?g=f:p=f,f=Math.floor((p-g)/2+g);for(p=f,v=Math.max(1,s-f+1),j=Math.min(s+f,h)+a,k=Array(j+2),k[j+1]=(1<<r)-1,l=j;l>=v;l--)if(y=o[t.charAt(l-1)],k[l]=0===r?(1|k[l+1]<<1)&y:(1|k[l+1]<<1)&y|(1|(m[l+1]|m[l])<<1)|m[l+1],k[l]&d&&(x=c(r,l-1),_>=x)){if(_=x,u=l-1,b.push(u),!(u>s))break;v=Math.max(1,2*s-u)}if(c(r+1,s)>_)break;m=k}return{isMatch:u>=0,score:x}},t===!0?{search:l}:l(t)}}(e),e.jstree.defaults.sort=function(e,t){return this.get_text(e)>this.get_text(t)?1:-1},e.jstree.plugins.sort=function(t,i){this.bind=function(){i.bind.call(this),this.element.on("model.jstree",e.proxy(function(e,t){this.sort(t.parent,!0)},this)).on("rename_node.jstree create_node.jstree",e.proxy(function(e,t){this.sort(t.parent||t.node.parent,!1),this.redraw_node(t.parent||t.node.parent,!0)},this)).on("move_node.jstree copy_node.jstree",e.proxy(function(e,t){this.sort(t.parent,!1),this.redraw_node(t.parent,!0)},this))},this.sort=function(t,i){var s,r;if(t=this.get_node(t),t&&t.children&&t.children.length&&(t.children.sort(e.proxy(this.settings.sort,this)),i))for(s=0,r=t.children_d.length;r>s;s++)this.sort(t.children_d[s],!1)}};var u=!1;e.jstree.defaults.state={key:"jstree",events:"changed.jstree open_node.jstree close_node.jstree",ttl:!1,filter:!1},e.jstree.plugins.state=function(t,i){this.bind=function(){i.bind.call(this);var t=e.proxy(function(){this.element.on(this.settings.state.events,e.proxy(function(){u&&clearTimeout(u),u=setTimeout(e.proxy(function(){this.save_state()},this),100)},this))},this);this.element.on("ready.jstree",e.proxy(function(e,i){this.element.one("restore_state.jstree",t),this.restore_state()||t()},this))},this.save_state=function(){var t={state:this.get_state(),ttl:this.settings.state.ttl,sec:+new Date};e.vakata.storage.set(this.settings.state.key,JSON.stringify(t))},this.restore_state=function(){var t=e.vakata.storage.get(this.settings.state.key);if(t)try{t=JSON.parse(t)}catch(i){return!1}return t&&t.ttl&&t.sec&&+new Date-t.sec>t.ttl?!1:(t&&t.state&&(t=t.state),t&&e.isFunction(this.settings.state.filter)&&(t=this.settings.state.filter.call(this,t)),t?(this.element.one("set_state.jstree",function(i,s){s.instance.trigger("restore_state",{state:e.extend(!0,{},t)})}),this.set_state(t),!0):!1)},this.clear_state=function(){return e.vakata.storage.del(this.settings.state.key)}},function(e,t){e.vakata.storage={set:function(e,t){return window.localStorage.setItem(e,t)},get:function(e){return window.localStorage.getItem(e)},del:function(e){return window.localStorage.removeItem(e)}}}(e),e.jstree.defaults.types={"#":{},"default":{}},e.jstree.plugins.types=function(i,s){this.init=function(e,i){var r,n;if(i&&i.types&&i.types["default"])for(r in i.types)if("default"!==r&&"#"!==r&&i.types.hasOwnProperty(r))for(n in i.types["default"])i.types["default"].hasOwnProperty(n)&&i.types[r][n]===t&&(i.types[r][n]=i.types["default"][n]);s.init.call(this,e,i),this._model.data["#"].type="#"},this.refresh=function(e,t){s.refresh.call(this,e,t),this._model.data["#"].type="#"},this.bind=function(){this.element.on("model.jstree",e.proxy(function(e,i){var s=this._model.data,r=i.nodes,n=this.settings.types,a,d,o="default";for(a=0,d=r.length;d>a;a++)o="default",s[r[a]].original&&s[r[a]].original.type&&n[s[r[a]].original.type]&&(o=s[r[a]].original.type),s[r[a]].data&&s[r[a]].data.jstree&&s[r[a]].data.jstree.type&&n[s[r[a]].data.jstree.type]&&(o=s[r[a]].data.jstree.type),s[r[a]].type=o,s[r[a]].icon===!0&&n[o].icon!==t&&(s[r[a]].icon=n[o].icon);s["#"].type="#"},this)),s.bind.call(this)},this.get_json=function(t,i,r){var n,a,d=this._model.data,o=i?e.extend(!0,{},i,{no_id:!1}):{},c=s.get_json.call(this,t,o,r);if(c===!1)return!1;if(e.isArray(c))for(n=0,a=c.length;a>n;n++)c[n].type=c[n].id&&d[c[n].id]&&d[c[n].id].type?d[c[n].id].type:"default",i&&i.no_id&&(delete c[n].id,c[n].li_attr&&c[n].li_attr.id&&delete c[n].li_attr.id);else c.type=c.id&&d[c.id]&&d[c.id].type?d[c.id].type:"default",i&&i.no_id&&(c=this._delete_ids(c));return c},this._delete_ids=function(t){if(e.isArray(t)){for(var i=0,s=t.length;s>i;i++)t[i]=this._delete_ids(t[i]);return t}return delete t.id,t.li_attr&&t.li_attr.id&&delete t.li_attr.id,t.children&&e.isArray(t.children)&&(t.children=this._delete_ids(t.children)),t},this.check=function(i,r,n,a,d){if(s.check.call(this,i,r,n,a,d)===!1)return!1;r=r&&r.id?r:this.get_node(r),n=n&&n.id?n:this.get_node(n);var o=r&&r.id?e.jstree.reference(r.id):null,c,l,h,_;switch(o=o&&o._model&&o._model.data?o._model.data:null,i){case"create_node":case"move_node":case"copy_node":if("move_node"!==i||-1===e.inArray(r.id,n.children)){if(c=this.get_rules(n),c.max_children!==t&&-1!==c.max_children&&c.max_children===n.children.length)return this._data.core.last_error={error:"check",plugin:"types",id:"types_01",reason:"max_children prevents function: "+i,data:JSON.stringify({chk:i,pos:a,obj:r&&r.id?r.id:!1,par:n&&n.id?n.id:!1})},!1;if(c.valid_children!==t&&-1!==c.valid_children&&-1===e.inArray(r.type,c.valid_children))return this._data.core.last_error={error:"check",plugin:"types",id:"types_02",reason:"valid_children prevents function: "+i,data:JSON.stringify({chk:i,pos:a,obj:r&&r.id?r.id:!1,par:n&&n.id?n.id:!1})},!1;if(o&&r.children_d&&r.parents){for(l=0,h=0,_=r.children_d.length;_>h;h++)l=Math.max(l,o[r.children_d[h]].parents.length);l=l-r.parents.length+1}(0>=l||l===t)&&(l=1);do{if(c.max_depth!==t&&-1!==c.max_depth&&l>c.max_depth)return this._data.core.last_error={error:"check",plugin:"types",id:"types_03",reason:"max_depth prevents function: "+i,data:JSON.stringify({chk:i,pos:a,obj:r&&r.id?r.id:!1,par:n&&n.id?n.id:!1})},!1;n=this.get_node(n.parent),c=this.get_rules(n),l++}while(n)}}return!0},this.get_rules=function(e){if(e=this.get_node(e),!e)return!1;var i=this.get_type(e,!0);return i.max_depth===t&&(i.max_depth=-1),i.max_children===t&&(i.max_children=-1),i.valid_children===t&&(i.valid_children=-1),i},this.get_type=function(t,i){return t=this.get_node(t),t?i?e.extend({type:t.type},this.settings.types[t.type]):t.type:!1},this.set_type=function(i,s){var r,n,a,d,o;if(e.isArray(i)){for(i=i.slice(),n=0,a=i.length;a>n;n++)this.set_type(i[n],s);return!0}return r=this.settings.types,i=this.get_node(i),r[s]&&i?(d=i.type,o=this.get_icon(i),i.type=s,(o===!0||r[d]&&r[d].icon&&o===r[d].icon)&&this.set_icon(i,r[s].icon!==t?r[s].icon:!0),!0):!1}},e.jstree.defaults.unique={case_sensitive:!1,duplicate:function(e,t){return e+" ("+t+")"}},e.jstree.plugins.unique=function(i,s){this.check=function(t,i,r,n,a){if(s.check.call(this,t,i,r,n,a)===!1)return!1;if(i=i&&i.id?i:this.get_node(i),r=r&&r.id?r:this.get_node(r),!r||!r.children)return!0;var d="rename_node"===t?n:i.text,o=[],c=this.settings.unique.case_sensitive,l=this._model.data,h,_;for(h=0,_=r.children.length;_>h;h++)o.push(c?l[r.children[h]].text:l[r.children[h]].text.toLowerCase());switch(c||(d=d.toLowerCase()),t){case"delete_node":return!0;case"rename_node":return h=-1===e.inArray(d,o)||i.text&&i.text[c?"toString":"toLowerCase"]()===d,h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_01",reason:"Child with name "+d+" already exists. Preventing: "+t,data:JSON.stringify({chk:t,pos:n,obj:i&&i.id?i.id:!1,par:r&&r.id?r.id:!1})}),h;case"create_node":return h=-1===e.inArray(d,o),h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_04",reason:"Child with name "+d+" already exists. Preventing: "+t,data:JSON.stringify({chk:t,pos:n,obj:i&&i.id?i.id:!1,par:r&&r.id?r.id:!1})}),h;case"copy_node":return h=-1===e.inArray(d,o),h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_02",reason:"Child with name "+d+" already exists. Preventing: "+t,data:JSON.stringify({chk:t,pos:n,obj:i&&i.id?i.id:!1,par:r&&r.id?r.id:!1})}),h;case"move_node":return h=i.parent===r.id||-1===e.inArray(d,o),h||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_03",reason:"Child with name "+d+" already exists. Preventing: "+t,data:JSON.stringify({chk:t,pos:n,obj:i&&i.id?i.id:!1,par:r&&r.id?r.id:!1})}),h}return!0},this.create_node=function(i,r,n,a,d){if(!r||r.text===t){if(null===i&&(i="#"),i=this.get_node(i),!i)return s.create_node.call(this,i,r,n,a,d);if(n=n===t?"last":n,!(""+n).match(/^(before|after)$/)&&!d&&!this.is_loaded(i))return s.create_node.call(this,i,r,n,a,d);r||(r={});var o,c,l,h,_,u=this._model.data,g=this.settings.unique.case_sensitive,f=this.settings.unique.duplicate;for(c=o=this.get_string("New node"),l=[],h=0,_=i.children.length;_>h;h++)l.push(g?u[i.children[h]].text:u[i.children[h]].text.toLowerCase());h=1;while(-1!==e.inArray(g?c:c.toLowerCase(),l))c=""+f.call(this,o,++h);r.text=c}return s.create_node.call(this,i,r,n,a,d)}};var g=document.createElement("DIV");g.setAttribute("unselectable","on"),g.className="jstree-wholerow",g.innerHTML="&#160;",e.jstree.plugins.wholerow=function(t,i){this.bind=function(){i.bind.call(this),this.element.on("ready.jstree set_state.jstree",e.proxy(function(){this.hide_dots()},this)).on("init.jstree loading.jstree ready.jstree",e.proxy(function(){this.get_container_ul().addClass("jstree-wholerow-ul")},this)).on("deselect_all.jstree",e.proxy(function(e,t){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")},this)).on("changed.jstree",e.proxy(function(e,t){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked");var i=!1,s,r;for(s=0,r=t.selected.length;r>s;s++)i=this.get_node(t.selected[s],!0),i&&i.length&&i.children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("open_node.jstree",e.proxy(function(e,t){this.get_node(t.node,!0).find(".jstree-clicked").parent().children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("hover_node.jstree dehover_node.jstree",e.proxy(function(e,t){this.get_node(t.node,!0).children(".jstree-wholerow")["hover_node"===e.type?"addClass":"removeClass"]("jstree-wholerow-hovered")},this)).on("contextmenu.jstree",".jstree-wholerow",e.proxy(function(t){t.preventDefault();var i=e.Event("contextmenu",{metaKey:t.metaKey,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey,pageX:t.pageX,pageY:t.pageY});e(t.currentTarget).closest(".jstree-node").children(".jstree-anchor:eq(0)").trigger(i)},this)).on("click.jstree",".jstree-wholerow",function(t){t.stopImmediatePropagation();var i=e.Event("click",{metaKey:t.metaKey,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey});e(t.currentTarget).closest(".jstree-node").children(".jstree-anchor:eq(0)").trigger(i).focus()}).on("click.jstree",".jstree-leaf > .jstree-ocl",e.proxy(function(t){t.stopImmediatePropagation();var i=e.Event("click",{metaKey:t.metaKey,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey});e(t.currentTarget).closest(".jstree-node").children(".jstree-anchor:eq(0)").trigger(i).focus()},this)).on("mouseover.jstree",".jstree-wholerow, .jstree-icon",e.proxy(function(e){return e.stopImmediatePropagation(),this.hover_node(e.currentTarget),!1},this)).on("mouseleave.jstree",".jstree-node",e.proxy(function(e){this.dehover_node(e.currentTarget)},this))},this.teardown=function(){this.settings.wholerow&&this.element.find(".jstree-wholerow").remove(),i.teardown.call(this)},this.redraw_node=function(t,s,r){if(t=i.redraw_node.call(this,t,s,r)){var n=g.cloneNode(!0);-1!==e.inArray(t.id,this._data.core.selected)&&(n.className+=" jstree-wholerow-clicked"),t.insertBefore(n,t.childNodes[0])}return t}},function(e){if(document.registerElement){var t=Object.create(HTMLElement.prototype);t.createdCallback=function(){var t={core:{},plugins:[]},i;for(i in e.jstree.plugins)e.jstree.plugins.hasOwnProperty(i)&&this.attributes[i]&&(t.plugins.push(i),this.getAttribute(i)&&JSON.parse(this.getAttribute(i))&&(t[i]=JSON.parse(this.getAttribute(i))));for(i in e.jstree.defaults.core)e.jstree.defaults.core.hasOwnProperty(i)&&this.attributes[i]&&(t.core[i]=JSON.parse(this.getAttribute(i))||this.getAttribute(i));jQuery(this).jstree(t)},document.registerElement("vakata-jstree",{prototype:t})}}(jQuery)}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/jstree.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/dept_html.jsp =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/dept_html.jsp (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/dept_html.jsp (revision 7) @@ -0,0 +1,86 @@ +<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> + <html> + <body> + <form name='form1' id='form1' method='post'> + <input type='hidden' name='dn' id='dn'> + <table border='1px' style='border:1px solid #E7E7E7'> + <tr id='line1'> + <!-- 부서명 --> + <td style='background-color: #F6F6F6'> + <spring:message code="extLdapumtDpt.dept.dept" /> + </td> + <td> + <input type='text' name='ou' id='ou' style='border:1px solid #ffffff' readonly> + </td> + <!-- 부서코드 --> + <td style='background-color: #F6F6F6'> + <spring:message code="extLdapumtDpt.dept.ouCode" /> + </td> + <td> + <input type='text' name='ouCode' id='ouCode' style='border:1px solid #ffffff'> + </td> + </tr> + <tr id='line2'> + <!-- 부서장 --> + <td> + <spring:message code="extLdapumtDpt.dept.ucChieftitle" /> + </td> + <td style='background-color: #F6F6F6'> + <input type='text' name='ucChieftitle' id='ucChieftitle' style='border:1px solid #ffffff'> + </td> + <!-- 조직명(전체) --> + <td> + <spring:message code="extLdapumtDpt.dept.ucOrgFullName" /> + </td> + <td style='background-color: #F6F6F6'> + <input type='text' name='ucOrgFullName' id='ucOrgFullName' style='border:1px solid #ffffff'> + </td> + </tr> + <tr id='line3'> + <!-- 상위부서코드 --> + <td style='background-color: #F6F6F6'> + <spring:message code="extLdapumtDpt.dept.parentouCode" /> + </td> + <td> + <input type='text' name='parentouCode' id='parentouCode' style='border:1px solid #ffffff'> + </td> + <!-- 기관코드 --> + <td style='background-color: #F6F6F6'> + <spring:message code="extLdapumtDpt.dept.repouCode" /> + </td> + <td> + <input type='text' name='repouCode' id='repouCode' style='border:1px solid #ffffff'> + </td> + </tr> + <tr id='line4'> + <!--문서수신여부 --> + <td> + <spring:message code="extLdapumtDpt.dept.ouReceiveDocumentYN" /> + </td> + <td style='background-color: #F6F6F6'> + <input type='text' name='ouReceiveDocumentYN' id='ouReceiveDocumentYN' style='border:1px solid #ffffff'> + </td> + <!-- 관인부서여부 --> + <td> + <spring:message code="extLdapumtDpt.dept.ouSendOutDocumentYN" /> + </td> + <td style='background-color: #F6F6F6'> + <input type='text' name='ouSendOutDocumentYN' id='ouSendOutDocumentYN' style='border:1px solid #ffffff'> + </td> + </tr> + </table> + </form> + <table style='width:100%'> + <tr> + <td style='text-align:left;vertical-align:middle' > + <button onClick='modifyOrgManage("dept");'><spring:message code="button.save" /></button> <!-- 저장 --> + </td> + </tr> + </table> + </body> + </html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/dept_html.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/libs/require.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/libs/require.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/libs/require.js (revision 7) @@ -0,0 +1,36 @@ +/* + RequireJS 2.1.9 Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved. + Available via the MIT or new BSD license. + see: http://github.com/jrburke/requirejs for details +*/ +var requirejs,require,define; +(function(Z){function H(b){return"[object Function]"===L.call(b)}function I(b){return"[object Array]"===L.call(b)}function y(b,c){if(b){var e;for(e=0;e<b.length&&(!b[e]||!c(b[e],e,b));e+=1);}}function M(b,c){if(b){var e;for(e=b.length-1;-1<e&&(!b[e]||!c(b[e],e,b));e-=1);}}function t(b,c){return ga.call(b,c)}function l(b,c){return t(b,c)&&b[c]}function F(b,c){for(var e in b)if(t(b,e)&&c(b[e],e))break}function Q(b,c,e,h){c&&F(c,function(c,j){if(e||!t(b,j))h&&"string"!==typeof c?(b[j]||(b[j]={}),Q(b[j], +c,e,h)):b[j]=c});return b}function u(b,c){return function(){return c.apply(b,arguments)}}function aa(b){throw b;}function ba(b){if(!b)return b;var c=Z;y(b.split("."),function(b){c=c[b]});return c}function A(b,c,e,h){c=Error(c+"\nhttp://requirejs.org/docs/errors.html#"+b);c.requireType=b;c.requireModules=h;e&&(c.originalError=e);return c}function ha(b){function c(a,f,b){var d,m,c,g,e,h,j,i=f&&f.split("/");d=i;var n=k.map,p=n&&n["*"];if(a&&"."===a.charAt(0))if(f){d=l(k.pkgs,f)?i=[f]:i.slice(0,i.length- +1);f=a=d.concat(a.split("/"));for(d=0;f[d];d+=1)if(m=f[d],"."===m)f.splice(d,1),d-=1;else if(".."===m)if(1===d&&(".."===f[2]||".."===f[0]))break;else 0<d&&(f.splice(d-1,2),d-=2);d=l(k.pkgs,f=a[0]);a=a.join("/");d&&a===f+"/"+d.main&&(a=f)}else 0===a.indexOf("./")&&(a=a.substring(2));if(b&&n&&(i||p)){f=a.split("/");for(d=f.length;0<d;d-=1){c=f.slice(0,d).join("/");if(i)for(m=i.length;0<m;m-=1)if(b=l(n,i.slice(0,m).join("/")))if(b=l(b,c)){g=b;e=d;break}if(g)break;!h&&(p&&l(p,c))&&(h=l(p,c),j=d)}!g&& +h&&(g=h,e=j);g&&(f.splice(0,e,g),a=f.join("/"))}return a}function e(a){z&&y(document.getElementsByTagName("script"),function(f){if(f.getAttribute("data-requiremodule")===a&&f.getAttribute("data-requirecontext")===i.contextName)return f.parentNode.removeChild(f),!0})}function h(a){var f=l(k.paths,a);if(f&&I(f)&&1<f.length)return f.shift(),i.require.undef(a),i.require([a]),!0}function $(a){var f,b=a?a.indexOf("!"):-1;-1<b&&(f=a.substring(0,b),a=a.substring(b+1,a.length));return[f,a]}function n(a,f, +b,d){var m,B,g=null,e=f?f.name:null,h=a,j=!0,k="";a||(j=!1,a="_@r"+(L+=1));a=$(a);g=a[0];a=a[1];g&&(g=c(g,e,d),B=l(r,g));a&&(g?k=B&&B.normalize?B.normalize(a,function(a){return c(a,e,d)}):c(a,e,d):(k=c(a,e,d),a=$(k),g=a[0],k=a[1],b=!0,m=i.nameToUrl(k)));b=g&&!B&&!b?"_unnormalized"+(M+=1):"";return{prefix:g,name:k,parentMap:f,unnormalized:!!b,url:m,originalName:h,isDefine:j,id:(g?g+"!"+k:k)+b}}function q(a){var f=a.id,b=l(p,f);b||(b=p[f]=new i.Module(a));return b}function s(a,f,b){var d=a.id,m=l(p, +d);if(t(r,d)&&(!m||m.defineEmitComplete))"defined"===f&&b(r[d]);else if(m=q(a),m.error&&"error"===f)b(m.error);else m.on(f,b)}function v(a,f){var b=a.requireModules,d=!1;if(f)f(a);else if(y(b,function(f){if(f=l(p,f))f.error=a,f.events.error&&(d=!0,f.emit("error",a))}),!d)j.onError(a)}function w(){R.length&&(ia.apply(G,[G.length-1,0].concat(R)),R=[])}function x(a){delete p[a];delete T[a]}function E(a,f,b){var d=a.map.id;a.error?a.emit("error",a.error):(f[d]=!0,y(a.depMaps,function(d,c){var g=d.id, +e=l(p,g);e&&(!a.depMatched[c]&&!b[g])&&(l(f,g)?(a.defineDep(c,r[g]),a.check()):E(e,f,b))}),b[d]=!0)}function C(){var a,f,b,d,m=(b=1E3*k.waitSeconds)&&i.startTime+b<(new Date).getTime(),c=[],g=[],j=!1,l=!0;if(!U){U=!0;F(T,function(b){a=b.map;f=a.id;if(b.enabled&&(a.isDefine||g.push(b),!b.error))if(!b.inited&&m)h(f)?j=d=!0:(c.push(f),e(f));else if(!b.inited&&(b.fetched&&a.isDefine)&&(j=!0,!a.prefix))return l=!1});if(m&&c.length)return b=A("timeout","Load timeout for modules: "+c,null,c),b.contextName= +i.contextName,v(b);l&&y(g,function(a){E(a,{},{})});if((!m||d)&&j)if((z||da)&&!V)V=setTimeout(function(){V=0;C()},50);U=!1}}function D(a){t(r,a[0])||q(n(a[0],null,!0)).init(a[1],a[2])}function J(a){var a=a.currentTarget||a.srcElement,b=i.onScriptLoad;a.detachEvent&&!W?a.detachEvent("onreadystatechange",b):a.removeEventListener("load",b,!1);b=i.onScriptError;(!a.detachEvent||W)&&a.removeEventListener("error",b,!1);return{node:a,id:a&&a.getAttribute("data-requiremodule")}}function K(){var a;for(w();G.length;){a= +G.shift();if(null===a[0])return v(A("mismatch","Mismatched anonymous define() module: "+a[a.length-1]));D(a)}}var U,X,i,N,V,k={waitSeconds:7,baseUrl:"./",paths:{},pkgs:{},shim:{},config:{}},p={},T={},Y={},G=[],r={},S={},L=1,M=1;N={require:function(a){return a.require?a.require:a.require=i.makeRequire(a.map)},exports:function(a){a.usingExports=!0;if(a.map.isDefine)return a.exports?a.exports:a.exports=r[a.map.id]={}},module:function(a){return a.module?a.module:a.module={id:a.map.id,uri:a.map.url,config:function(){var b= +l(k.pkgs,a.map.id);return(b?l(k.config,a.map.id+"/"+b.main):l(k.config,a.map.id))||{}},exports:r[a.map.id]}}};X=function(a){this.events=l(Y,a.id)||{};this.map=a;this.shim=l(k.shim,a.id);this.depExports=[];this.depMaps=[];this.depMatched=[];this.pluginMaps={};this.depCount=0};X.prototype={init:function(a,b,c,d){d=d||{};if(!this.inited){this.factory=b;if(c)this.on("error",c);else this.events.error&&(c=u(this,function(a){this.emit("error",a)}));this.depMaps=a&&a.slice(0);this.errback=c;this.inited=!0; +this.ignore=d.ignore;d.enabled||this.enabled?this.enable():this.check()}},defineDep:function(a,b){this.depMatched[a]||(this.depMatched[a]=!0,this.depCount-=1,this.depExports[a]=b)},fetch:function(){if(!this.fetched){this.fetched=!0;i.startTime=(new Date).getTime();var a=this.map;if(this.shim)i.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],u(this,function(){return a.prefix?this.callPlugin():this.load()}));else return a.prefix?this.callPlugin():this.load()}},load:function(){var a= +this.map.url;S[a]||(S[a]=!0,i.load(this.map.id,a))},check:function(){if(this.enabled&&!this.enabling){var a,b,c=this.map.id;b=this.depExports;var d=this.exports,m=this.factory;if(this.inited)if(this.error)this.emit("error",this.error);else{if(!this.defining){this.defining=!0;if(1>this.depCount&&!this.defined){if(H(m)){if(this.events.error&&this.map.isDefine||j.onError!==aa)try{d=i.execCb(c,m,b,d)}catch(e){a=e}else d=i.execCb(c,m,b,d);this.map.isDefine&&((b=this.module)&&void 0!==b.exports&&b.exports!== +this.exports?d=b.exports:void 0===d&&this.usingExports&&(d=this.exports));if(a)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",v(this.error=a)}else d=m;this.exports=d;if(this.map.isDefine&&!this.ignore&&(r[c]=d,j.onResourceLoad))j.onResourceLoad(i,this.map,this.depMaps);x(c);this.defined=!0}this.defining=!1;this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete= +!0)}}else this.fetch()}},callPlugin:function(){var a=this.map,b=a.id,e=n(a.prefix);this.depMaps.push(e);s(e,"defined",u(this,function(d){var m,e;e=this.map.name;var g=this.map.parentMap?this.map.parentMap.name:null,h=i.makeRequire(a.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){if(d.normalize&&(e=d.normalize(e,function(a){return c(a,g,!0)})||""),d=n(a.prefix+"!"+e,this.map.parentMap),s(d,"defined",u(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})), +e=l(p,d.id)){this.depMaps.push(d);if(this.events.error)e.on("error",u(this,function(a){this.emit("error",a)}));e.enable()}}else m=u(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),m.error=u(this,function(a){this.inited=!0;this.error=a;a.requireModules=[b];F(p,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&x(a.map.id)});v(a)}),m.fromText=u(this,function(d,c){var e=a.name,g=n(e),B=O;c&&(d=c);B&&(O=!1);q(g);t(k.config,b)&&(k.config[e]=k.config[b]);try{j.exec(d)}catch(ca){return v(A("fromtexteval", +"fromText eval for "+b+" failed: "+ca,ca,[b]))}B&&(O=!0);this.depMaps.push(g);i.completeLoad(e);h([e],m)}),d.load(a.name,h,m,k)}));i.enable(e,this);this.pluginMaps[e.id]=e},enable:function(){T[this.map.id]=this;this.enabling=this.enabled=!0;y(this.depMaps,u(this,function(a,b){var c,d;if("string"===typeof a){a=n(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap);this.depMaps[b]=a;if(c=l(N,a.id)){this.depExports[b]=c(this);return}this.depCount+=1;s(a,"defined",u(this,function(a){this.defineDep(b, +a);this.check()}));this.errback&&s(a,"error",u(this,this.errback))}c=a.id;d=p[c];!t(N,c)&&(d&&!d.enabled)&&i.enable(a,this)}));F(this.pluginMaps,u(this,function(a){var b=l(p,a.id);b&&!b.enabled&&i.enable(a,this)}));this.enabling=!1;this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]);c.push(b)},emit:function(a,b){y(this.events[a],function(a){a(b)});"error"===a&&delete this.events[a]}};i={config:k,contextName:b,registry:p,defined:r,urlFetched:S,defQueue:G,Module:X,makeModuleMap:n, +nextTick:j.nextTick,onError:v,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=k.pkgs,c=k.shim,d={paths:!0,config:!0,map:!0};F(a,function(a,b){d[b]?"map"===b?(k.map||(k.map={}),Q(k[b],a,!0,!0)):Q(k[b],a,!0):k[b]=a});a.shim&&(F(a.shim,function(a,b){I(a)&&(a={deps:a});if((a.exports||a.init)&&!a.exportsFn)a.exportsFn=i.makeShimExports(a);c[b]=a}),k.shim=c);a.packages&&(y(a.packages,function(a){a="string"===typeof a?{name:a}:a;b[a.name]={name:a.name, +location:a.location||a.name,main:(a.main||"main").replace(ja,"").replace(ea,"")}}),k.pkgs=b);F(p,function(a,b){!a.inited&&!a.map.unnormalized&&(a.map=n(b))});if(a.deps||a.callback)i.require(a.deps||[],a.callback)},makeShimExports:function(a){return function(){var b;a.init&&(b=a.init.apply(Z,arguments));return b||a.exports&&ba(a.exports)}},makeRequire:function(a,f){function h(d,c,e){var g,k;f.enableBuildCallback&&(c&&H(c))&&(c.__requireJsBuild=!0);if("string"===typeof d){if(H(c))return v(A("requireargs", +"Invalid require call"),e);if(a&&t(N,d))return N[d](p[a.id]);if(j.get)return j.get(i,d,a,h);g=n(d,a,!1,!0);g=g.id;return!t(r,g)?v(A("notloaded",'Module name "'+g+'" has not been loaded yet for context: '+b+(a?"":". Use require([])"))):r[g]}K();i.nextTick(function(){K();k=q(n(null,a));k.skipMap=f.skipMap;k.init(d,c,e,{enabled:!0});C()});return h}f=f||{};Q(h,{isBrowser:z,toUrl:function(b){var f,e=b.lastIndexOf("."),g=b.split("/")[0];if(-1!==e&&(!("."===g||".."===g)||1<e))f=b.substring(e,b.length),b= +b.substring(0,e);return i.nameToUrl(c(b,a&&a.id,!0),f,!0)},defined:function(b){return t(r,n(b,a,!1,!0).id)},specified:function(b){b=n(b,a,!1,!0).id;return t(r,b)||t(p,b)}});a||(h.undef=function(b){w();var c=n(b,a,!0),f=l(p,b);e(b);delete r[b];delete S[c.url];delete Y[b];f&&(f.events.defined&&(Y[b]=f.events),x(b))});return h},enable:function(a){l(p,a.id)&&q(a).enable()},completeLoad:function(a){var b,c,d=l(k.shim,a)||{},e=d.exports;for(w();G.length;){c=G.shift();if(null===c[0]){c[0]=a;if(b)break;b= +!0}else c[0]===a&&(b=!0);D(c)}c=l(p,a);if(!b&&!t(r,a)&&c&&!c.inited){if(k.enforceDefine&&(!e||!ba(e)))return h(a)?void 0:v(A("nodefine","No define call for "+a,null,[a]));D([a,d.deps||[],d.exportsFn])}C()},nameToUrl:function(a,b,c){var d,e,h,g,i,n;if(j.jsExtRegExp.test(a))g=a+(b||"");else{d=k.paths;e=k.pkgs;g=a.split("/");for(i=g.length;0<i;i-=1)if(n=g.slice(0,i).join("/"),h=l(e,n),n=l(d,n)){I(n)&&(n=n[0]);g.splice(0,i,n);break}else if(h){a=a===h.name?h.location+"/"+h.main:h.location;g.splice(0,i, +a);break}g=g.join("/");g+=b||(/^data\:|\?/.test(g)||c?"":".js");g=("/"===g.charAt(0)||g.match(/^[\w\+\.\-]+:/)?"":k.baseUrl)+g}return k.urlArgs?g+((-1===g.indexOf("?")?"?":"&")+k.urlArgs):g},load:function(a,b){j.load(i,a,b)},execCb:function(a,b,c,d){return b.apply(d,c)},onScriptLoad:function(a){if("load"===a.type||ka.test((a.currentTarget||a.srcElement).readyState))P=null,a=J(a),i.completeLoad(a.id)},onScriptError:function(a){var b=J(a);if(!h(b.id))return v(A("scripterror","Script error for: "+b.id, +a,[b.id]))}};i.require=i.makeRequire();return i}var j,w,x,C,J,D,P,K,q,fa,la=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,ma=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,ea=/\.js$/,ja=/^\.\//;w=Object.prototype;var L=w.toString,ga=w.hasOwnProperty,ia=Array.prototype.splice,z=!!("undefined"!==typeof window&&"undefined"!==typeof navigator&&window.document),da=!z&&"undefined"!==typeof importScripts,ka=z&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,W="undefined"!==typeof opera&& +"[object Opera]"===opera.toString(),E={},s={},R=[],O=!1;if("undefined"===typeof define){if("undefined"!==typeof requirejs){if(H(requirejs))return;s=requirejs;requirejs=void 0}"undefined"!==typeof require&&!H(require)&&(s=require,require=void 0);j=requirejs=function(b,c,e,h){var q,n="_";!I(b)&&"string"!==typeof b&&(q=b,I(c)?(b=c,c=e,e=h):b=[]);q&&q.context&&(n=q.context);(h=l(E,n))||(h=E[n]=j.s.newContext(n));q&&h.configure(q);return h.require(b,c,e)};j.config=function(b){return j(b)};j.nextTick="undefined"!== +typeof setTimeout?function(b){setTimeout(b,4)}:function(b){b()};require||(require=j);j.version="2.1.9";j.jsExtRegExp=/^\/|:|\?|\.js$/;j.isBrowser=z;w=j.s={contexts:E,newContext:ha};j({});y(["toUrl","undef","defined","specified"],function(b){j[b]=function(){var c=E._;return c.require[b].apply(c,arguments)}});if(z&&(x=w.head=document.getElementsByTagName("head")[0],C=document.getElementsByTagName("base")[0]))x=w.head=C.parentNode;j.onError=aa;j.createNode=function(b){var c=b.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml", +"html:script"):document.createElement("script");c.type=b.scriptType||"text/javascript";c.charset="utf-8";c.async=!0;return c};j.load=function(b,c,e){var h=b&&b.config||{};if(z)return h=j.createNode(h,c,e),h.setAttribute("data-requirecontext",b.contextName),h.setAttribute("data-requiremodule",c),h.attachEvent&&!(h.attachEvent.toString&&0>h.attachEvent.toString().indexOf("[native code"))&&!W?(O=!0,h.attachEvent("onreadystatechange",b.onScriptLoad)):(h.addEventListener("load",b.onScriptLoad,!1),h.addEventListener("error", +b.onScriptError,!1)),h.src=e,K=h,C?x.insertBefore(h,C):x.appendChild(h),K=null,h;if(da)try{importScripts(e),b.completeLoad(c)}catch(l){b.onError(A("importscripts","importScripts failed for "+c+" at "+e,l,[c]))}};z&&!s.skipDataMain&&M(document.getElementsByTagName("script"),function(b){x||(x=b.parentNode);if(J=b.getAttribute("data-main"))return q=J,s.baseUrl||(D=q.split("/"),q=D.pop(),fa=D.length?D.join("/")+"/":"./",s.baseUrl=fa),q=q.replace(ea,""),j.jsExtRegExp.test(q)&&(q=J),s.deps=s.deps?s.deps.concat(q): +[q],!0});define=function(b,c,e){var h,j;"string"!==typeof b&&(e=c,c=b,b=null);I(c)||(e=c,c=null);!c&&H(e)&&(c=[],e.length&&(e.toString().replace(la,"").replace(ma,function(b,e){c.push(e)}),c=(1===e.length?["require"]:["require","exports","module"]).concat(c)));if(O){if(!(h=K))P&&"interactive"===P.readyState||M(document.getElementsByTagName("script"),function(b){if("interactive"===b.readyState)return P=b}),h=P;h&&(b||(b=h.getAttribute("data-requiremodule")),j=E[h.getAttribute("data-requirecontext")])}(j? +j.defQueue:R).push([b,c,e])};define.amd={jQuery:!0};j.exec=function(b){return eval(b)};j(s)}})(this); Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/libs/require.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/libs/document-register-element.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/libs/document-register-element.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/libs/document-register-element.js (revision 7) @@ -0,0 +1,2 @@ +/*! (C) WebReflection Mit Style License */ +(function(e,t,n,r){"use strict";function q(e,t){for(var n=0,r=e.length;n<r;n++)J(e[n],t)}function R(e){for(var t=0,n=e.length,r;t<n;t++)r=e[t],$(r,c[z(r)])}function U(e){return function(t){g.call(L,t)&&(J(t,e),q(t.querySelectorAll(h),e))}}function z(e){var t=e.getAttribute("is");return d.call(l,t?t.toUpperCase():e.nodeName)}function W(e){var t=e.currentTarget,n=e.attrChange,r=e.prevValue,i=e.newValue;t.attributeChangedCallback&&t.attributeChangedCallback(e.attrName,n===e.ADDITION?null:r,n===e.REMOVAL?null:i)}function X(e){var t=U(e);return function(e){t(e.target)}}function V(e,t){var n=this;O.call(n,e,t),B.call(n,{target:n})}function $(e,t){N(e,t),I?I.observe(e,_):(H&&(e.setAttribute=V,e[i]=F(e),e.addEventListener(u,B)),e.addEventListener(o,W)),e.createdCallback&&(e.created=!0,e.createdCallback(),e.created=!1)}function J(e,t){var n,r=z(e),i="attached",s="detached";-1<r&&(C(e,c[r]),r=0,t===i&&!e[i]?(e[s]=!1,e[i]=!0,r=1):t===s&&!e[s]&&(e[i]=!1,e[s]=!0,r=1),r&&(n=e[t+"Callback"])&&n.call(e))}if(r in t)return;var i="__"+r+(Math.random()*1e5>>0),s="extends",o="DOMAttrModified",u="DOMSubtreeModified",a=/^[A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+$/,f=["ANNOTATION-XML","COLOR-PROFILE","FONT-FACE","FONT-FACE-SRC","FONT-FACE-URI","FONT-FACE-FORMAT","FONT-FACE-NAME","MISSING-GLYPH"],l=[],c=[],h="",p=t.documentElement,d=l.indexOf||function(e){for(var t=this.length;t--&&this[t]!==e;);return t},v=n.prototype,m=v.hasOwnProperty,g=v.isPrototypeOf,y=n.defineProperty,b=n.getOwnPropertyDescriptor,w=n.getOwnPropertyNames,E=n.getPrototypeOf,S=n.setPrototypeOf,x=!!n.__proto__,T=n.create||function K(e){return e?(K.prototype=e,new K):this},N=S||(x?function(e,t){return e.__proto__=t,e}:b?function(){function e(e,t){for(var n,r=w(t),i=0,s=r.length;i<s;i++)n=r[i],m.call(e,n)||y(e,n,b(t,n))}return function(t,n){do e(t,n);while(n=E(n));return t}}():function(e,t){for(var n in t)e[n]=t[n];return e}),C=S||x?function(e,t){g.call(t,e)||$(e,t)}:function(e,t){e[i]||(e[i]=n(!0),$(e,t))},k=e.MutationObserver||e.WebKitMutationObserver,L=(e.HTMLElement||e.Element||e.Node).prototype,A=L.cloneNode,O=L.setAttribute,M=t.createElement,_=k&&{attributes:!0,characterData:!0,attributeOldValue:!0},D=k||function(e){H=!1,p.removeEventListener(o,D)},P=!1,H=!0,B,j,F,I;k||(p.addEventListener(o,D),p.setAttribute(i,1),p.removeAttribute(i),H&&(B=function(e){var t=this,n,r,s;if(t===e.target){n=t[i],t[i]=r=F(t);for(s in r){if(!(s in n))return j(0,t,s,n[s],r[s],"ADDITION");if(r[s]!==n[s])return j(1,t,s,n[s],r[s],"MODIFICATION")}for(s in n)if(!(s in r))return j(2,t,s,n[s],r[s],"REMOVAL")}},j=function(e,t,n,r,i,s){var o={attrChange:e,currentTarget:t,attrName:n,prevValue:r,newValue:i};o[s]=e,W(o)},F=function(e){for(var t,n={},r=e.attributes,i=0,s=r.length;i<s;i++)t=r[i],n[t.name]=t.value;return n})),t[r]=function(n,r){y=n.toUpperCase(),P||(P=!0,k?(I=function(e,t){function n(e,t){for(var n=0,r=e.length;n<r;t(e[n++]));}return new k(function(r){for(var i,s,o=0,u=r.length;o<u;o++)i=r[o],i.type==="childList"?(n(i.addedNodes,e),n(i.removedNodes,t)):(s=i.target,s.attributeChangedCallback&&s.attributeChangedCallback(i.attributeName,i.oldValue,s.getAttribute(i.attributeName)))})}(U("attached"),U("detached")),I.observe(t,{childList:!0,subtree:!0})):(t.addEventListener("DOMNodeInserted",X("attached")),t.addEventListener("DOMNodeRemoved",X("detached"))),t.createElement=function(e,n){var r,i=M.apply(t,arguments);return n&&i.setAttribute("is",e=n.toLowerCase()),r=d.call(l,e.toUpperCase()),-1<r&&$(i,c[r]),i},L.cloneNode=function(e){var t=A.call(this,!!e),n=z(t);return-1<n&&$(t,c[n]),e&&R(t.querySelectorAll(h)),t});if(-1<d.call(l,y))throw new Error("A "+n+" type is already registered");if(!a.test(y)||-1<d.call(f,y))throw new Error("The type "+n+" is invalid");var i=function(){return t.createElement(p,u&&y)},o=r||v,u=m.call(o,s),p=u?r[s]:y,g=l.push(y)-1,y;return h=h.concat(h.length?",":"",u?p+'[is="'+n.toLowerCase()+'"]':p),i.prototype=c[g]=m.call(o,"prototype")?o.prototype:T(L),q(t.querySelectorAll(h),"attached"),i}})(window,document,Object,"registerElement"); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/libs/document-register-element.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/libs/jquery.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/libs/jquery.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/libs/jquery.js (revision 7) @@ -0,0 +1,4 @@ +/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h; +if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px") +},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.ActiveXObject&&m(a).on("unload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m}); Property changes on: base3.10/src/main/webapp/html/egovframework/com/ext/ldapumt/libs/jquery.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/widget/images/handle.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/widget/images/handle.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h1.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h1.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h2.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h2.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h3.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h3.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h4.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h4.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_p.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_p.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_div.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_div.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h5.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h5.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h6.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_h6.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_blockquote.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_blockquote.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_pre.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_pre.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_address.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/showblocks/images/block_address.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/pastefromword/filter/default.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/pastefromword/filter/default.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/pastefromword/filter/default.js (revision 7) @@ -0,0 +1,55 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +(function(){function u(){return!1}function x(a,b){var c,d=[];a.filterChildren(b);for(c=a.children.length-1;0<=c;c--)d.unshift(a.children[c]),a.children[c].remove();c=a.attributes;var e=a,g=!0,h;for(h in c)if(g)g=!1;else{var l=new CKEDITOR.htmlParser.element(a.name);l.attributes[h]=c[h];e.add(l);e=l;delete c[h]}for(c=0;c<d.length;c++)e.add(d[c])}var f,k,t,p,m=CKEDITOR.tools,y=["o:p","xml","script","meta","link"],z="v:arc v:curve v:line v:oval v:polyline v:rect v:roundrect v:group".split(" "),w={}, +v=0;CKEDITOR.plugins.pastefromword={};CKEDITOR.cleanWord=function(a,b){function c(a){(a.attributes["o:gfxdata"]||"v:group"===a.parent.name)&&e.push(a.attributes.id)}var d=Boolean(a.match(/mso-list:\s*l\d+\s+level\d+\s+lfo\d+/)),e=[];CKEDITOR.plugins.clipboard.isCustomDataTypesSupported&&(a=CKEDITOR.plugins.pastefromword.styles.inliner.inline(a).getBody().getHtml());a=a.replace(/<!\[/g,"\x3c!--[").replace(/\]>/g,"]--\x3e");var g=CKEDITOR.htmlParser.fragment.fromHtml(a),h={root:function(a){a.filterChildren(p); +CKEDITOR.plugins.pastefromword.lists.cleanup(f.createLists(a))},elementNames:[[/^\?xml:namespace$/,""],[/^v:shapetype/,""],[new RegExp(y.join("|")),""]],elements:{a:function(a){if(a.attributes.name){if("_GoBack"==a.attributes.name){delete a.name;return}if(a.attributes.name.match(/^OLE_LINK\d+$/)){delete a.name;return}}if(a.attributes.href&&a.attributes.href.match(/#.+$/)){var b=a.attributes.href.match(/#(.+)$/)[1];w[b]=a}a.attributes.name&&w[a.attributes.name]&&(a=w[a.attributes.name],a.attributes.href= +a.attributes.href.replace(/.*#(.*)$/,"#$1"))},div:function(a){k.createStyleStack(a,p,b)},img:function(a){if(a.parent&&a.parent.attributes){var b=a.parent.attributes;(b=b.style||b.STYLE)&&b.match(/mso\-list:\s?Ignore/)&&(a.attributes["cke-ignored"]=!0)}k.mapStyles(a,{width:function(b){k.setStyle(a,"width",b+"px")},height:function(b){k.setStyle(a,"height",b+"px")}});a.attributes.src&&a.attributes.src.match(/^file:\/\//)&&a.attributes.alt&&a.attributes.alt.match(/^https?:\/\//)&&(a.attributes.src=a.attributes.alt); +var b=a.attributes["v:shapes"]?a.attributes["v:shapes"].split(" "):[],c=CKEDITOR.tools.array.every(b,function(a){return-1<e.indexOf(a)});if(b.length&&c)return!1},p:function(a){a.filterChildren(p);if(a.attributes.style&&a.attributes.style.match(/display:\s*none/i))return!1;if(f.thisIsAListItem(b,a))t.isEdgeListItem(b,a)&&t.cleanupEdgeListItem(a),f.convertToFakeListItem(b,a),m.array.reduce(a.children,function(a,b){"p"===b.name&&(0<a&&(new CKEDITOR.htmlParser.element("br")).insertBefore(b),b.replaceWithChildren(), +a+=1);return a},0);else{var c=a.getAscendant(function(a){return"ul"==a.name||"ol"==a.name}),d=m.parseCssText(a.attributes.style);c&&!c.attributes["cke-list-level"]&&d["mso-list"]&&d["mso-list"].match(/level/)&&(c.attributes["cke-list-level"]=d["mso-list"].match(/level(\d+)/)[1]);b.config.enterMode==CKEDITOR.ENTER_BR&&(delete a.name,a.add(new CKEDITOR.htmlParser.element("br")))}k.createStyleStack(a,p,b)},pre:function(a){f.thisIsAListItem(b,a)&&f.convertToFakeListItem(b,a);k.createStyleStack(a,p,b)}, +h1:function(a){f.thisIsAListItem(b,a)&&f.convertToFakeListItem(b,a);k.createStyleStack(a,p,b)},h2:function(a){f.thisIsAListItem(b,a)&&f.convertToFakeListItem(b,a);k.createStyleStack(a,p,b)},h3:function(a){f.thisIsAListItem(b,a)&&f.convertToFakeListItem(b,a);k.createStyleStack(a,p,b)},h4:function(a){f.thisIsAListItem(b,a)&&f.convertToFakeListItem(b,a);k.createStyleStack(a,p,b)},h5:function(a){f.thisIsAListItem(b,a)&&f.convertToFakeListItem(b,a);k.createStyleStack(a,p,b)},h6:function(a){f.thisIsAListItem(b, +a)&&f.convertToFakeListItem(b,a);k.createStyleStack(a,p,b)},font:function(a){if(a.getHtml().match(/^\s*$/))return(new CKEDITOR.htmlParser.text(" ")).insertAfter(a),!1;b&&!0===b.config.pasteFromWordRemoveFontStyles&&a.attributes.size&&delete a.attributes.size;CKEDITOR.dtd.tr[a.parent.name]&&CKEDITOR.tools.arrayCompare(CKEDITOR.tools.objectKeys(a.attributes),["class","style"])?k.createStyleStack(a,p,b):x(a,p)},ul:function(a){if(d)return"li"==a.parent.name&&0===m.indexOf(a.parent.children,a)&&k.setStyle(a.parent, +"list-style-type","none"),f.dissolveList(a),!1},li:function(a){t.correctLevelShift(a);d&&(a.attributes.style=k.normalizedStyles(a,b),k.pushStylesLower(a))},ol:function(a){if(d)return"li"==a.parent.name&&0===m.indexOf(a.parent.children,a)&&k.setStyle(a.parent,"list-style-type","none"),f.dissolveList(a),!1},span:function(a){a.filterChildren(p);a.attributes.style=k.normalizedStyles(a,b);if(!a.attributes.style||a.attributes.style.match(/^mso\-bookmark:OLE_LINK\d+$/)||a.getHtml().match(/^(\s|&nbsp;)+$/)){for(var c= +a.children.length-1;0<=c;c--)a.children[c].insertAfter(a);return!1}a.attributes.style.match(/FONT-FAMILY:\s*Symbol/i)&&a.forEach(function(a){a.value=a.value.replace(/&nbsp;/g,"")},CKEDITOR.NODE_TEXT,!0);k.createStyleStack(a,p,b)},table:function(a){a._tdBorders={};a.filterChildren(p);var b,c=0,d;for(d in a._tdBorders)a._tdBorders[d]>c&&(c=a._tdBorders[d],b=d);k.setStyle(a,"border",b);c=(b=a.parent)&&b.parent;if(b.name&&"div"===b.name&&b.attributes.align&&1===m.objectKeys(b.attributes).length&&1=== +b.children.length){a.attributes.align=b.attributes.align;d=b.children.splice(0);a.remove();for(a=d.length-1;0<=a;a--)c.add(d[a],b.getIndex());b.remove()}},td:function(a){var c=a.getAscendant("table"),d=c._tdBorders,e=["border","border-top","border-right","border-bottom","border-left"],c=m.parseCssText(c.attributes.style),g=c.background||c.BACKGROUND;g&&k.setStyle(a,"background",g,!0);(c=c["background-color"]||c["BACKGROUND-COLOR"])&&k.setStyle(a,"background-color",c,!0);var c=m.parseCssText(a.attributes.style), +h;for(h in c)g=c[h],delete c[h],c[h.toLowerCase()]=g;for(h=0;h<e.length;h++)c[e[h]]&&(g=c[e[h]],d[g]=d[g]?d[g]+1:1);k.createStyleStack(a,p,b,/margin|text\-align|padding|list\-style\-type|width|height|border|white\-space|vertical\-align|background/i)},"v:imagedata":u,"v:shape":function(a){var b=!1;if(null===a.getFirst("v:imagedata"))c(a);else{a.parent.find(function(c){"img"==c.name&&c.attributes&&c.attributes["v:shapes"]==a.attributes.id&&(b=!0)},!0);if(b)return!1;var d="";"v:group"===a.parent.name? +c(a):(a.forEach(function(a){a.attributes&&a.attributes.src&&(d=a.attributes.src)},CKEDITOR.NODE_ELEMENT,!0),a.filterChildren(p),a.name="img",a.attributes.src=a.attributes.src||d,delete a.attributes.type)}},style:function(){return!1},object:function(a){return!(!a.attributes||!a.attributes.data)}},attributes:{style:function(a,c){return k.normalizedStyles(c,b)||!1},"class":function(a){a=a.replace(/(el\d+)|(font\d+)|msonormal|msolistparagraph\w*/ig,"");return""===a?!1:a},cellspacing:u,cellpadding:u,border:u, +"v:shapes":u,"o:spid":u},comment:function(a){a.match(/\[if.* supportFields.*\]/)&&v++;"[endif]"==a&&(v=0<v?v-1:0);return!1},text:function(a,b){if(v)return"";var c=b.parent&&b.parent.parent;return c&&c.attributes&&c.attributes.style&&c.attributes.style.match(/mso-list:\s*ignore/i)?a.replace(/&nbsp;/g," "):a}};CKEDITOR.tools.array.forEach(z,function(a){h.elements[a]=c});p=new CKEDITOR.htmlParser.filter(h);var l=new CKEDITOR.htmlParser.basicWriter;p.applyTo(g);g.writeHtml(l);return l.getHtml()};CKEDITOR.plugins.pastefromword.styles= +{setStyle:function(a,b,c,d){var e=m.parseCssText(a.attributes.style);d&&e[b]||(""===c?delete e[b]:e[b]=c,a.attributes.style=CKEDITOR.tools.writeCssText(e))},mapStyles:function(a,b){for(var c in b)if(a.attributes[c]){if("function"===typeof b[c])b[c](a.attributes[c]);else k.setStyle(a,b[c],a.attributes[c]);delete a.attributes[c]}},normalizedStyles:function(a,b){var c="background-color:transparent border-image:none color:windowtext direction:ltr mso- text-indent visibility:visible div:border:none".split(" "), +d="font-family font font-size color background-color line-height text-decoration".split(" "),e=function(){for(var a=[],b=0;b<arguments.length;b++)arguments[b]&&a.push(arguments[b]);return-1!==m.indexOf(c,a.join(":"))},g=b&&!0===b.config.pasteFromWordRemoveFontStyles,h=m.parseCssText(a.attributes.style);"cke:li"==a.name&&h["TEXT-INDENT"]&&h.MARGIN&&(a.attributes["cke-indentation"]=f.getElementIndentation(a),h.MARGIN=h.MARGIN.replace(/(([\w\.]+ ){3,3})[\d\.]+(\w+$)/,"$10$3"));for(var l=m.objectKeys(h), +q=0;q<l.length;q++){var n=l[q].toLowerCase(),r=h[l[q]],k=CKEDITOR.tools.indexOf;(g&&-1!==k(d,n.toLowerCase())||e(null,n,r)||e(null,n.replace(/\-.*$/,"-"))||e(null,n)||e(a.name,n,r)||e(a.name,n.replace(/\-.*$/,"-"))||e(a.name,n)||e(r))&&delete h[l[q]]}return CKEDITOR.tools.writeCssText(h)},createStyleStack:function(a,b,c,d){var e=[];a.filterChildren(b);for(b=a.children.length-1;0<=b;b--)e.unshift(a.children[b]),a.children[b].remove();k.sortStyles(a);b=m.parseCssText(k.normalizedStyles(a,c));c=a;var g= +"span"===a.name,h;for(h in b)if(!h.match(d||/margin|text\-align|width|border|padding/i))if(g)g=!1;else{var l=new CKEDITOR.htmlParser.element("span");l.attributes.style=h+":"+b[h];c.add(l);c=l;delete b[h]}CKEDITOR.tools.isEmpty(b)?delete a.attributes.style:a.attributes.style=CKEDITOR.tools.writeCssText(b);for(b=0;b<e.length;b++)c.add(e[b])},sortStyles:function(a){for(var b=["border","border-bottom","font-size","background"],c=m.parseCssText(a.attributes.style),d=m.objectKeys(c),e=[],g=[],h=0;h<d.length;h++)-1!== +m.indexOf(b,d[h].toLowerCase())?e.push(d[h]):g.push(d[h]);e.sort(function(a,c){var d=m.indexOf(b,a.toLowerCase()),e=m.indexOf(b,c.toLowerCase());return d-e});d=[].concat(e,g);e={};for(h=0;h<d.length;h++)e[d[h]]=c[d[h]];a.attributes.style=CKEDITOR.tools.writeCssText(e)},pushStylesLower:function(a,b,c){if(!a.attributes.style||0===a.children.length)return!1;b=b||{};var d={"list-style-type":!0,width:!0,height:!0,border:!0,"border-":!0},e=m.parseCssText(a.attributes.style),g;for(g in e)if(!(g.toLowerCase()in +d||d[g.toLowerCase().replace(/\-.*$/,"-")]||g.toLowerCase()in b)){for(var h=!1,l=0;l<a.children.length;l++){var f=a.children[l];if(f.type===CKEDITOR.NODE_TEXT&&c){var n=new CKEDITOR.htmlParser.element("span");n.setHtml(f.value);f.replaceWith(n);f=n}f.type===CKEDITOR.NODE_ELEMENT&&(h=!0,k.setStyle(f,g,e[g]))}h&&delete e[g]}a.attributes.style=CKEDITOR.tools.writeCssText(e);return!0},inliner:{filtered:"break-before break-after break-inside page-break page-break-before page-break-after page-break-inside".split(" "), +parse:function(a){function b(a){var b=new CKEDITOR.dom.element("style"),c=new CKEDITOR.dom.element("iframe");c.hide();CKEDITOR.document.getBody().append(c);c.$.contentDocument.documentElement.appendChild(b.$);b.$.textContent=a;c.remove();return b.$.sheet}function c(a){var b=a.indexOf("{"),c=a.indexOf("}");return d(a.substring(b+1,c),!0)}var d=CKEDITOR.tools.parseCssText,e=CKEDITOR.plugins.pastefromword.styles.inliner.filter,g=a.is?a.$.sheet:b(a);a=[];var h;if(g)for(g=g.cssRules,h=0;h<g.length;h++)g[h].type=== +window.CSSRule.STYLE_RULE&&a.push({selector:g[h].selectorText,styles:e(c(g[h].cssText))});return a},filter:function(a){var b=CKEDITOR.plugins.pastefromword.styles.inliner.filtered,c=m.array.indexOf,d={},e;for(e in a)-1===c(b,e)&&(d[e]=a[e]);return d},sort:function(a){return a.sort(function(a){var c=CKEDITOR.tools.array.map(a,function(a){return a.selector});return function(a,b){var g=-1!==(""+a.selector).indexOf(".")?1:0,g=(-1!==(""+b.selector).indexOf(".")?1:0)-g;return 0!==g?g:c.indexOf(b.selector)- +c.indexOf(a.selector)}}(a))},inline:function(a){var b=CKEDITOR.plugins.pastefromword.styles.inliner.parse,c=CKEDITOR.plugins.pastefromword.styles.inliner.sort,d=function(a){a=(new DOMParser).parseFromString(a,"text/html");return new CKEDITOR.dom.document(a)}(a);a=d.find("style");c=c(function(a){var c=[],d;for(d=0;d<a.count();d++)c=c.concat(b(a.getItem(d)));return c}(a));CKEDITOR.tools.array.forEach(c,function(a){var b=a.styles;a=d.find(a.selector);var c,f,q;for(q=0;q<a.count();q++)c=a.getItem(q), +f=CKEDITOR.tools.parseCssText(c.getAttribute("style")),f=CKEDITOR.tools.extend({},f,b),c.setAttribute("style",CKEDITOR.tools.writeCssText(f))});return d}}};k=CKEDITOR.plugins.pastefromword.styles;CKEDITOR.plugins.pastefromword.lists={thisIsAListItem:function(a,b){return t.isEdgeListItem(a,b)||b.attributes.style&&b.attributes.style.match(/mso\-list:\s?l\d/)&&"li"!==b.parent.name||b.attributes["cke-dissolved"]||b.getHtml().match(/<!\-\-\[if !supportLists]\-\->/)?!0:!1},convertToFakeListItem:function(a, +b){t.isDegenerateListItem(a,b)&&t.assignListLevels(a,b);this.getListItemInfo(b);if(!b.attributes["cke-dissolved"]){var c;b.forEach(function(a){!c&&"img"==a.name&&a.attributes["cke-ignored"]&&"*"==a.attributes.alt&&(c="·",a.remove())},CKEDITOR.NODE_ELEMENT);b.forEach(function(a){c||a.value.match(/^ /)||(c=a.value)},CKEDITOR.NODE_TEXT);if("undefined"==typeof c)return;b.attributes["cke-symbol"]=c.replace(/(?: |&nbsp;).*$/,"");f.removeSymbolText(b)}if(b.attributes.style){var d=m.parseCssText(b.attributes.style); +d["margin-left"]&&(delete d["margin-left"],b.attributes.style=CKEDITOR.tools.writeCssText(d))}b.name="cke:li"},convertToRealListItems:function(a){var b=[];a.forEach(function(a){"cke:li"==a.name&&(a.name="li",b.push(a))},CKEDITOR.NODE_ELEMENT,!1);return b},removeSymbolText:function(a){var b,c=a.attributes["cke-symbol"];a.forEach(function(d){!b&&-1<d.value.indexOf(c)&&(d.value=d.value.replace(c,""),d.parent.getHtml().match(/^(\s|&nbsp;)*$/)&&(b=d.parent!==a?d.parent:null))},CKEDITOR.NODE_TEXT);b&&b.remove()}, +setListSymbol:function(a,b,c){c=c||1;var d=m.parseCssText(a.attributes.style);if("ol"==a.name){if(a.attributes.type||d["list-style-type"])return;var e={"[ivx]":"lower-roman","[IVX]":"upper-roman","[a-z]":"lower-alpha","[A-Z]":"upper-alpha","\\d":"decimal"},g;for(g in e)if(f.getSubsectionSymbol(b).match(new RegExp(g))){d["list-style-type"]=e[g];break}a.attributes["cke-list-style-type"]=d["list-style-type"]}else e={"·":"disc",o:"circle","§":"square"},!d["list-style-type"]&&e[b]&&(d["list-style-type"]= +e[b]);f.setListSymbol.removeRedundancies(d,c);(a.attributes.style=CKEDITOR.tools.writeCssText(d))||delete a.attributes.style},setListStart:function(a){for(var b=[],c=0,d=0;d<a.children.length;d++)b.push(a.children[d].attributes["cke-symbol"]||"");b[0]||c++;switch(a.attributes["cke-list-style-type"]){case "lower-roman":case "upper-roman":a.attributes.start=f.toArabic(f.getSubsectionSymbol(b[c]))-c;break;case "lower-alpha":case "upper-alpha":a.attributes.start=f.getSubsectionSymbol(b[c]).replace(/\W/g, +"").toLowerCase().charCodeAt(0)-96-c;break;case "decimal":a.attributes.start=parseInt(f.getSubsectionSymbol(b[c]),10)-c||1}"1"==a.attributes.start&&delete a.attributes.start;delete a.attributes["cke-list-style-type"]},numbering:{toNumber:function(a,b){function c(a){a=a.toUpperCase();for(var b=1,c=1;0<a.length;c*=26)b+="ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(a.charAt(a.length-1))*c,a=a.substr(0,a.length-1);return b}function d(a){var b=[[1E3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50, +"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];a=a.toUpperCase();for(var c=b.length,d=0,f=0;f<c;++f)for(var n=b[f],r=n[1].length;a.substr(0,r)==n[1];a=a.substr(r))d+=n[0];return d}return"decimal"==b?Number(a):"upper-roman"==b||"lower-roman"==b?d(a.toUpperCase()):"lower-alpha"==b||"upper-alpha"==b?c(a):1},getStyle:function(a){a=a.slice(0,1);var b={i:"lower-roman",v:"lower-roman",x:"lower-roman",l:"lower-roman",m:"lower-roman",I:"upper-roman",V:"upper-roman",X:"upper-roman",L:"upper-roman", +M:"upper-roman"}[a];b||(b="decimal",a.match(/[a-z]/)&&(b="lower-alpha"),a.match(/[A-Z]/)&&(b="upper-alpha"));return b}},getSubsectionSymbol:function(a){return(a.match(/([\da-zA-Z]+).?$/)||["placeholder","1"])[1]},setListDir:function(a){var b=0,c=0;a.forEach(function(a){"li"==a.name&&("rtl"==(a.attributes.dir||a.attributes.DIR||"").toLowerCase()?c++:b++)},CKEDITOR.ELEMENT_NODE);c>b&&(a.attributes.dir="rtl")},createList:function(a){return(a.attributes["cke-symbol"].match(/([\da-np-zA-NP-Z]).?/)||[])[1]? +new CKEDITOR.htmlParser.element("ol"):new CKEDITOR.htmlParser.element("ul")},createLists:function(a){var b,c,d,e=f.convertToRealListItems(a);if(0===e.length)return[];var g=f.groupLists(e);for(a=0;a<g.length;a++){var h=g[a],l=h[0];for(d=0;d<h.length;d++)if(1==h[d].attributes["cke-list-level"]){l=h[d];break}var l=[f.createList(l)],k=l[0],n=[l[0]];k.insertBefore(h[0]);for(d=0;d<h.length;d++){b=h[d];for(c=b.attributes["cke-list-level"];c>l.length;){var r=f.createList(b),m=k.children;0<m.length?m[m.length- +1].add(r):(m=new CKEDITOR.htmlParser.element("li",{style:"list-style-type:none"}),m.add(r),k.add(m));l.push(r);n.push(r);k=r;c==l.length&&f.setListSymbol(r,b.attributes["cke-symbol"],c)}for(;c<l.length;)l.pop(),k=l[l.length-1],c==l.length&&f.setListSymbol(k,b.attributes["cke-symbol"],c);b.remove();k.add(b)}l[0].children.length&&(d=l[0].children[0].attributes["cke-symbol"],!d&&1<l[0].children.length&&(d=l[0].children[1].attributes["cke-symbol"]),d&&f.setListSymbol(l[0],d));for(d=0;d<n.length;d++)f.setListStart(n[d]); +for(d=0;d<h.length;d++)this.determineListItemValue(h[d])}return e},cleanup:function(a){var b=["cke-list-level","cke-symbol","cke-list-id","cke-indentation","cke-dissolved"],c,d;for(c=0;c<a.length;c++)for(d=0;d<b.length;d++)delete a[c].attributes[b[d]]},determineListItemValue:function(a){if("ol"===a.parent.name){var b=this.calculateValue(a),c=a.attributes["cke-symbol"].match(/[a-z0-9]+/gi),d;c&&(c=c[c.length-1],d=a.parent.attributes["cke-list-style-type"]||this.numbering.getStyle(c),c=this.numbering.toNumber(c, +d),c!==b&&(a.attributes.value=c))}},calculateValue:function(a){if(!a.parent)return 1;var b=a.parent;a=a.getIndex();var c=null,d,e,g;for(g=a;0<=g&&null===c;g--)e=b.children[g],e.attributes&&void 0!==e.attributes.value&&(d=g,c=parseInt(e.attributes.value,10));null===c&&(c=void 0!==b.attributes.start?parseInt(b.attributes.start,10):1,d=0);return c+(a-d)},dissolveList:function(a){function b(a){return 50<=a?"l"+b(a-50):40<=a?"xl"+b(a-40):10<=a?"x"+b(a-10):9==a?"ix":5<=a?"v"+b(a-5):4==a?"iv":1<=a?"i"+b(a- +1):""}function c(a,b){function c(b,d){return b&&b.parent?a(b.parent)?c(b.parent,d+1):c(b.parent,d):d}return c(b,0)}var d=function(a){return function(b){return b.name==a}},e=function(a){return d("ul")(a)||d("ol")(a)},g=CKEDITOR.tools.array,h=[],f,q;a.forEach(function(a){h.push(a)},CKEDITOR.NODE_ELEMENT,!1);f=g.filter(h,d("li"));var n=g.filter(h,e);g.forEach(n,function(a){var h=a.attributes.type,f=parseInt(a.attributes.start,10)||1,l=c(e,a)+1;h||(h=m.parseCssText(a.attributes.style)["list-style-type"]); +g.forEach(g.filter(a.children,d("li")),function(c,d){var e;switch(h){case "disc":e="·";break;case "circle":e="o";break;case "square":e="§";break;case "1":case "decimal":e=f+d+".";break;case "a":case "lower-alpha":e=String.fromCharCode(97+f-1+d)+".";break;case "A":case "upper-alpha":e=String.fromCharCode(65+f-1+d)+".";break;case "i":case "lower-roman":e=b(f+d)+".";break;case "I":case "upper-roman":e=b(f+d).toUpperCase()+".";break;default:e="ul"==a.name?"·":f+d+"."}c.attributes["cke-symbol"]=e;c.attributes["cke-list-level"]= +l})});f=g.reduce(f,function(a,b){var c=b.children[0];if(c&&c.name&&c.attributes.style&&c.attributes.style.match(/mso-list:/i)){k.pushStylesLower(b,{"list-style-type":!0,display:!0});var d=m.parseCssText(c.attributes.style,!0);k.setStyle(b,"mso-list",d["mso-list"],!0);k.setStyle(c,"mso-list","");delete b["cke-list-level"];(c=d.display?"display":d.DISPLAY?"DISPLAY":"")&&k.setStyle(b,"display",d[c],!0)}if(1===b.children.length&&e(b.children[0]))return a;b.name="p";b.attributes["cke-dissolved"]=!0;a.push(b); +return a},[]);for(q=f.length-1;0<=q;q--)f[q].insertAfter(a);for(q=n.length-1;0<=q;q--)delete n[q].name},groupLists:function(a){var b,c,d=[[a[0]]],e=d[0];c=a[0];c.attributes["cke-indentation"]=c.attributes["cke-indentation"]||f.getElementIndentation(c);for(b=1;b<a.length;b++){c=a[b];var g=a[b-1];c.attributes["cke-indentation"]=c.attributes["cke-indentation"]||f.getElementIndentation(c);c.previous!==g&&(f.chopDiscontinuousLists(e,d),d.push(e=[]));e.push(c)}f.chopDiscontinuousLists(e,d);return d},chopDiscontinuousLists:function(a, +b){for(var c={},d=[[]],e,g=0;g<a.length;g++){var h=c[a[g].attributes["cke-list-level"]],l=this.getListItemInfo(a[g]),k,n;h?(n=h.type.match(/alpha/)&&7==h.index?"alpha":n,n="o"==a[g].attributes["cke-symbol"]&&14==h.index?"alpha":n,k=f.getSymbolInfo(a[g].attributes["cke-symbol"],n),l=this.getListItemInfo(a[g]),(h.type!=k.type||e&&l.id!=e.id&&!this.isAListContinuation(a[g]))&&d.push([])):k=f.getSymbolInfo(a[g].attributes["cke-symbol"]);for(e=parseInt(a[g].attributes["cke-list-level"],10)+1;20>e;e++)c[e]&& +delete c[e];c[a[g].attributes["cke-list-level"]]=k;d[d.length-1].push(a[g]);e=l}[].splice.apply(b,[].concat([m.indexOf(b,a),1],d))},isAListContinuation:function(a){var b=a;do if((b=b.previous)&&b.type===CKEDITOR.NODE_ELEMENT){if(void 0===b.attributes["cke-list-level"])break;if(b.attributes["cke-list-level"]===a.attributes["cke-list-level"])return b.attributes["cke-list-id"]===a.attributes["cke-list-id"]}while(b);return!1},getElementIndentation:function(a){a=m.parseCssText(a.attributes.style);if(a.margin|| +a.MARGIN){a.margin=a.margin||a.MARGIN;var b={styles:{margin:a.margin}};CKEDITOR.filter.transformationsTools.splitMarginShorthand(b);a["margin-left"]=b.styles["margin-left"]}return parseInt(m.convertToPx(a["margin-left"]||"0px"),10)},toArabic:function(a){return a.match(/[ivxl]/i)?a.match(/^l/i)?50+f.toArabic(a.slice(1)):a.match(/^lx/i)?40+f.toArabic(a.slice(1)):a.match(/^x/i)?10+f.toArabic(a.slice(1)):a.match(/^ix/i)?9+f.toArabic(a.slice(2)):a.match(/^v/i)?5+f.toArabic(a.slice(1)):a.match(/^iv/i)? +4+f.toArabic(a.slice(2)):a.match(/^i/i)?1+f.toArabic(a.slice(1)):f.toArabic(a.slice(1)):0},getSymbolInfo:function(a,b){var c=a.toUpperCase()==a?"upper-":"lower-",d={"·":["disc",-1],o:["circle",-2],"§":["square",-3]};if(a in d||b&&b.match(/(disc|circle|square)/))return{index:d[a][1],type:d[a][0]};if(a.match(/\d/))return{index:a?parseInt(f.getSubsectionSymbol(a),10):0,type:"decimal"};a=a.replace(/\W/g,"").toLowerCase();return!b&&a.match(/[ivxl]+/i)||b&&"alpha"!=b||"roman"==b?{index:f.toArabic(a),type:c+ +"roman"}:a.match(/[a-z]/i)?{index:a.charCodeAt(0)-97,type:c+"alpha"}:{index:-1,type:"disc"}},getListItemInfo:function(a){if(void 0!==a.attributes["cke-list-id"])return{id:a.attributes["cke-list-id"],level:a.attributes["cke-list-level"]};var b=m.parseCssText(a.attributes.style)["mso-list"],c={id:"0",level:"1"};b&&(b+=" ",c.level=b.match(/level(.+?)\s+/)[1],c.id=b.match(/l(\d+?)\s+/)[1]);a.attributes["cke-list-level"]=void 0!==a.attributes["cke-list-level"]?a.attributes["cke-list-level"]:c.level;a.attributes["cke-list-id"]= +c.id;return c}};f=CKEDITOR.plugins.pastefromword.lists;CKEDITOR.plugins.pastefromword.images={extractFromRtf:function(a){var b=[],c=/\{\\pict[\s\S]+?\\bliptag\-?\d+(\\blipupi\-?\d+)?(\{\\\*\\blipuid\s?[\da-fA-F]+)?[\s\}]*?/,d;a=a.match(new RegExp("(?:("+c.source+"))([\\da-fA-F\\s]+)\\}","g"));if(!a)return b;for(var e=0;e<a.length;e++)if(c.test(a[e])){if(-1!==a[e].indexOf("\\pngblip"))d="image/png";else if(-1!==a[e].indexOf("\\jpegblip"))d="image/jpeg";else continue;b.push({hex:d?a[e].replace(c,"").replace(/[^\da-fA-F]/g, +""):null,type:d})}return b},extractTagsFromHtml:function(a){for(var b=/<img[^>]+src="([^"]+)[^>]+/g,c=[],d;d=b.exec(a);)c.push(d[1]);return c}};CKEDITOR.plugins.pastefromword.heuristics={isEdgeListItem:function(a,b){if(!CKEDITOR.env.edge||!a.config.pasteFromWord_heuristicsEdgeList)return!1;var c="";b.forEach&&b.forEach(function(a){c+=a.value},CKEDITOR.NODE_TEXT);return c.match(/^(?: |&nbsp;)*\(?[a-zA-Z0-9]+?[\.\)](?: |&nbsp;){2,}/)?!0:t.isDegenerateListItem(a,b)},cleanupEdgeListItem:function(a){var b= +!1;a.forEach(function(a){b||(a.value=a.value.replace(/^(?:&nbsp;|[\s])+/,""),a.value.length&&(b=!0))},CKEDITOR.NODE_TEXT)},isDegenerateListItem:function(a,b){return!!b.attributes["cke-list-level"]||b.attributes.style&&!b.attributes.style.match(/mso\-list/)&&!!b.find(function(a){if(a.type==CKEDITOR.NODE_ELEMENT&&b.name.match(/h\d/i)&&a.getHtml().match(/^[a-zA-Z0-9]+?[\.\)]$/))return!0;var d=m.parseCssText(a.attributes&&a.attributes.style,!0);if(!d)return!1;var e=d["font-family"]||"";return(d.font|| +d["font-size"]||"").match(/7pt/i)&&!!a.previous||e.match(/symbol/i)},!0).length},assignListLevels:function(a,b){if(!b.attributes||void 0===b.attributes["cke-list-level"]){for(var c=[f.getElementIndentation(b)],d=[b],e=[],g=CKEDITOR.tools.array,h=g.map;b.next&&b.next.attributes&&!b.next.attributes["cke-list-level"]&&t.isDegenerateListItem(a,b.next);)b=b.next,c.push(f.getElementIndentation(b)),d.push(b);var k=h(c,function(a,b){return 0===b?0:a-c[b-1]}),m=this.guessIndentationStep(g.filter(c,function(a){return 0!== +a})),e=h(c,function(a){return Math.round(a/m)});-1!==g.indexOf(e,0)&&(e=h(e,function(a){return a+1}));g.forEach(d,function(a,b){a.attributes["cke-list-level"]=e[b]});return{indents:c,levels:e,diffs:k}}},guessIndentationStep:function(a){return a.length?Math.min.apply(null,a):null},correctLevelShift:function(a){if(this.isShifted(a)){var b=CKEDITOR.tools.array.filter(a.children,function(a){return"ul"==a.name||"ol"==a.name}),c=CKEDITOR.tools.array.reduce(b,function(a,b){return(b.children&&1==b.children.length&& +t.isShifted(b.children[0])?[b]:b.children).concat(a)},[]);CKEDITOR.tools.array.forEach(b,function(a){a.remove()});CKEDITOR.tools.array.forEach(c,function(b){a.add(b)});delete a.name}},isShifted:function(a){return"li"!==a.name?!1:0===CKEDITOR.tools.array.filter(a.children,function(a){return a.name&&("ul"==a.name||"ol"==a.name||"p"==a.name&&0===a.children.length)?!1:!0}).length}};t=CKEDITOR.plugins.pastefromword.heuristics;f.setListSymbol.removeRedundancies=function(a,b){(1===b&&"disc"===a["list-style-type"]|| +"decimal"===a["list-style-type"])&&delete a["list-style-type"]};CKEDITOR.plugins.pastefromword.createAttributeStack=x;CKEDITOR.config.pasteFromWord_heuristicsEdgeList=!0})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/pastefromword/filter/default.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/LICENSE.md =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/LICENSE.md (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/LICENSE.md (revision 7) @@ -0,0 +1,28 @@ +Software License Agreement +========================== + +**CKEditor WSC Plugin** +Copyright &copy; 2012, [CKSource](http://cksource.com) - Frederico Knabben. All rights reserved. + +Licensed under the terms of any of the following licenses at your choice: + +* GNU General Public License Version 2 or later (the "GPL"): + http://www.gnu.org/licenses/gpl.html + +* GNU Lesser General Public License Version 2.1 or later (the "LGPL"): + http://www.gnu.org/licenses/lgpl.html + +* Mozilla Public License Version 1.1 or later (the "MPL"): + http://www.mozilla.org/MPL/MPL-1.1.html + +You are not required to, but if you want to explicitly declare the license you have chosen to be bound to when using, reproducing, modifying and distributing this software, just include a text file titled "legal.txt" in your version of this software, indicating your license choice. + +Sources of Intellectual Property Included in this plugin +-------------------------------------------------------- + +Where not otherwise indicated, all plugin content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, the plugin will incorporate work done by developers outside of CKSource with their express permission. + +Trademarks +---------- + +CKEditor is a trademark of CKSource - Frederico Knabben. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css (revision 7) @@ -0,0 +1,43 @@ +.cke_dialog_body #overlayBlock, +.cke_dialog_body #no_check_over +{ + top: 39px !important; +} + +div[name=SpellTab] .wsc-spelltab-bottom .cke_dialog_ui_vbox td > .cke_dialog_ui_button:first-child +{ + margin-top: 4px; +} + +div[name=SpellTab] .wsc-spelltab-bottom .cke_dialog_ui_hbox_first .cke_dialog_ui_select > label +{ + margin-left: 0; +} + +div[name=SpellTab] .wsc-spelltab-bottom .cke_dialog_ui_hbox_first .cke_dialog_ui_select div.cke_dialog_ui_input_select +{ + width: 140px !important; +} + +div[name=SpellTab] .wsc-spelltab-bottom .cke_dialog_ui_hbox_first .cke_dialog_ui_select select.cke_dialog_ui_input_select, +div[name=Thesaurus] div.cke_dialog_ui_input_select select.cke_dialog_ui_input_select +{ + margin-top: 1px; +} + +div[name=SpellTab] .wsc-spelltab-bottom .cke_dialog_ui_hbox_first .cke_dialog_ui_select select.cke_dialog_ui_input_select:focus, +div[name=Thesaurus] div.cke_dialog_ui_input_select select.cke_dialog_ui_input_select:focus +{ + margin-top: 0; +} + +div[name=GrammTab] .cke_dialog_ui_vbox tbody > tr:first-child .cke_dialog_ui_button, +div[name=Thesaurus] .cke_dialog_ui_vbox tbody > tr:first-child .cke_dialog_ui_button +{ + margin-top: 4px !important; +} + +div[name=Thesaurus] div.cke_dialog_ui_input_select +{ + width: 180px !important; +} Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/README.md =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/README.md (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/README.md (revision 7) @@ -0,0 +1,25 @@ +CKEditor WebSpellChecker Plugin +=============================== + +This plugin brings Web Spell Checker (WSC) into CKEditor. + +WSC is "installation-less", using the web-services of [WebSpellChecker.net](http://www.webspellchecker.net/). It's an out of the box solution. + +Installation +------------ + +1. Clone/copy this repository contents in a new "plugins/wsc" folder in your CKEditor installation. +2. Enable the "wsc" plugin in the CKEditor configuration file (config.js): + + config.extraPlugins = 'wsc'; + +That's all. WSC will appear on the editor toolbar and will be ready to use. + +License +------- + +Licensed under the terms of any of the following licenses at your choice: [GPL](http://www.gnu.org/licenses/gpl.html), [LGPL](http://www.gnu.org/licenses/lgpl.html) and [MPL](http://www.mozilla.org/MPL/MPL-1.1.html). + +See LICENSE.md for more information. + +Developed in cooperation with [WebSpellChecker.net](http://www.webspellchecker.net/). Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/wsc.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/wsc.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/wsc.js (revision 7) @@ -0,0 +1,91 @@ +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +(function(){function z(a){return a&&a.domId&&a.getInputElement().$?a.getInputElement():a&&a.$?a:!1}function I(a){if(!a)throw"Languages-by-groups list are required for construct selectbox";var c=[],d="",e;for(e in a)for(var g in a[e]){var f=a[e][g];"en_US"==f?d=f:c.push(f)}c.sort();d&&c.unshift(d);return{getCurrentLangGroup:function(c){a:{for(var e in a)for(var d in a[e])if(d.toUpperCase()===c.toUpperCase()){c=e;break a}c=""}return c},setLangList:function(){var c={},e;for(e in a)for(var d in a[e])c[a[e][d]]= +d;return c}()}}var f=function(){var a=function(a,b,e){e=e||{};var g=e.expires;if("number"==typeof g&&g){var f=new Date;f.setTime(f.getTime()+1E3*g);g=e.expires=f}g&&g.toUTCString&&(e.expires=g.toUTCString());b=encodeURIComponent(b);a=a+"\x3d"+b;for(var h in e)b=e[h],a+="; "+h,!0!==b&&(a+="\x3d"+b);document.cookie=a};return{postMessage:{init:function(a){window.addEventListener?window.addEventListener("message",a,!1):window.attachEvent("onmessage",a)},send:function(a){var b=Object.prototype.toString, +e=a.fn||null,g=a.id||"",f=a.target||window,h=a.message||{id:g};a.message&&"[object Object]"==b.call(a.message)&&(a.message.id?a.message.id:a.message.id=g,h=a.message);a=window.JSON.stringify(h,e);f.postMessage(a,"*")},unbindHandler:function(a){window.removeEventListener?window.removeEventListener("message",a,!1):window.detachEvent("onmessage",a)}},hash:{create:function(){},parse:function(){}},cookie:{set:a,get:function(a){return(a=document.cookie.match(new RegExp("(?:^|; )"+a.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, +"\\$1")+"\x3d([^;]*)")))?decodeURIComponent(a[1]):void 0},remove:function(c){a(c,"",{expires:-1})}},misc:{findFocusable:function(a){var b=null;a&&(b=a.find("a[href], area[href], input, select, textarea, button, *[tabindex], *[contenteditable]"));return b},isVisible:function(a){var b;(b=0===a.offsetWidth||0==a.offsetHeight)||(b="none"===(document.defaultView&&document.defaultView.getComputedStyle?document.defaultView.getComputedStyle(a,null).display:a.currentStyle?a.currentStyle.display:a.style.display)); +return!b},hasClass:function(a,b){return!(!a.className||!a.className.match(new RegExp("(\\s|^)"+b+"(\\s|$)")))}}}}(),a=a||{};a.TextAreaNumber=null;a.load=!0;a.cmd={SpellTab:"spell",Thesaurus:"thes",GrammTab:"grammar"};a.dialog=null;a.optionNode=null;a.selectNode=null;a.grammerSuggest=null;a.textNode={};a.iframeMain=null;a.dataTemp="";a.div_overlay=null;a.textNodeInfo={};a.selectNode={};a.selectNodeResponce={};a.langList=null;a.langSelectbox=null;a.banner="";a.show_grammar=null;a.div_overlay_no_check= +null;a.targetFromFrame={};a.onLoadOverlay=null;a.LocalizationComing={};a.OverlayPlace=null;a.sessionid="";a.LocalizationButton={ChangeTo_button:{instance:null,text:"Change to",localizationID:"ChangeTo"},ChangeAll:{instance:null,text:"Change All"},IgnoreWord:{instance:null,text:"Ignore word"},IgnoreAllWords:{instance:null,text:"Ignore all words"},Options:{instance:null,text:"Options",optionsDialog:{instance:null}},AddWord:{instance:null,text:"Add word"},FinishChecking_button:{instance:null,text:"Finish Checking", +localizationID:"FinishChecking"},Option_button:{instance:null,text:"Options",localizationID:"Options"},FinishChecking_button_block:{instance:null,text:"Finish Checking",localizationID:"FinishChecking"}};a.LocalizationLabel={ChangeTo_label:{instance:null,text:"Change to",localizationID:"ChangeTo"},Suggestions:{instance:null,text:"Suggestions"},Categories:{instance:null,text:"Categories"},Synonyms:{instance:null,text:"Synonyms"}};var J=function(b){var c,d,e;for(e in b){if(c=a.dialog.getContentElement(a.dialog._.currentTabId, +e))c=c.getElement();else if(b[e].instance)c=b[e].instance.getElement().getFirst()||b[e].instance.getElement();else continue;d=b[e].localizationID||e;c.setText(a.LocalizationComing[d])}},K=function(b){var c,d,e;for(e in b)c=a.dialog.getContentElement(a.dialog._.currentTabId,e),c||(c=b[e].instance),c.setLabel&&(d=b[e].localizationID||e,c.setLabel(a.LocalizationComing[d]+":"))},t,A;a.framesetHtml=function(b){return"\x3ciframe id\x3d"+a.iframeNumber+"_"+b+' frameborder\x3d"0" allowtransparency\x3d"1" style\x3d"width:100%;border: 1px solid #AEB3B9;overflow: auto;background:#fff; border-radius: 3px;"\x3e\x3c/iframe\x3e'}; +a.setIframe=function(b,c){var d;d=a.framesetHtml(c);var e=a.iframeNumber+"_"+c;b.getElement().setHtml(d);d=document.getElementById(e);d=d.contentWindow?d.contentWindow:d.contentDocument.document?d.contentDocument.document:d.contentDocument;d.document.open();d.document.write('\x3c!DOCTYPE html\x3e\x3chtml\x3e\x3chead\x3e\x3cmeta charset\x3d"UTF-8"\x3e\x3ctitle\x3eiframe\x3c/title\x3e\x3cstyle\x3ehtml,body{margin: 0;height: 100%;font: 13px/1.555 "Trebuchet MS", sans-serif;}a{color: #888;font-weight: bold;text-decoration: none;border-bottom: 1px solid #888;}.main-box {color:#252525;padding: 3px 5px;text-align: justify;}.main-box p{margin: 0 0 14px;}.main-box .cerr{color: #f00000;border-bottom-color: #f00000;}\x3c/style\x3e\x3c/head\x3e\x3cbody\x3e\x3cdiv id\x3d"content" class\x3d"main-box"\x3e\x3c/div\x3e\x3ciframe src\x3d"" frameborder\x3d"0" id\x3d"spelltext" name\x3d"spelltext" style\x3d"display:none; width: 100%" \x3e\x3c/iframe\x3e\x3ciframe src\x3d"" frameborder\x3d"0" id\x3d"loadsuggestfirst" name\x3d"loadsuggestfirst" style\x3d"display:none; width: 100%" \x3e\x3c/iframe\x3e\x3ciframe src\x3d"" frameborder\x3d"0" id\x3d"loadspellsuggestall" name\x3d"loadspellsuggestall" style\x3d"display:none; width: 100%" \x3e\x3c/iframe\x3e\x3ciframe src\x3d"" frameborder\x3d"0" id\x3d"loadOptionsForm" name\x3d"loadOptionsForm" style\x3d"display:none; width: 100%" \x3e\x3c/iframe\x3e\x3cscript\x3e(function(window) {var ManagerPostMessage \x3d function() {var _init \x3d function(handler) {if (document.addEventListener) {window.addEventListener("message", handler, false);} else {window.attachEvent("onmessage", handler);};};var _sendCmd \x3d function(o) {var str,type \x3d Object.prototype.toString,fn \x3d o.fn || null,id \x3d o.id || "",target \x3d o.target || window,message \x3d o.message || { "id": id };if (o.message \x26\x26 type.call(o.message) \x3d\x3d "[object Object]") {(o.message["id"]) ? o.message["id"] : o.message["id"] \x3d id;message \x3d o.message;};str \x3d JSON.stringify(message, fn);target.postMessage(str, "*");};return {init: _init,send: _sendCmd};};var manageMessageTmp \x3d new ManagerPostMessage;var appString \x3d (function(){var spell \x3d parent.CKEDITOR.config.wsc.DefaultParams.scriptPath;var serverUrl \x3d parent.CKEDITOR.config.wsc.DefaultParams.serviceHost;return serverUrl + spell;})();function loadScript(src, callback) {var scriptTag \x3d document.createElement("script");scriptTag.type \x3d "text/javascript";callback ? callback : callback \x3d function() {};if(scriptTag.readyState) {scriptTag.onreadystatechange \x3d function() {if (scriptTag.readyState \x3d\x3d "loaded" ||scriptTag.readyState \x3d\x3d "complete") {scriptTag.onreadystatechange \x3d null;setTimeout(function(){scriptTag.parentNode.removeChild(scriptTag)},1);callback();}};}else{scriptTag.onload \x3d function() {setTimeout(function(){scriptTag.parentNode.removeChild(scriptTag)},1);callback();};};scriptTag.src \x3d src;document.getElementsByTagName("head")[0].appendChild(scriptTag);};window.onload \x3d function(){loadScript(appString, function(){manageMessageTmp.send({"id": "iframeOnload","target": window.parent});});}})(this);\x3c/script\x3e\x3c/body\x3e\x3c/html\x3e'); +d.document.close();a.div_overlay.setEnable()};a.setCurrentIframe=function(b){a.setIframe(a.dialog._.contents[b].Content,b)};a.setHeightBannerFrame=function(){var b=a.dialog.getContentElement("SpellTab","banner").getElement(),c=a.dialog.getContentElement("GrammTab","banner").getElement(),d=a.dialog.getContentElement("Thesaurus","banner").getElement();b.setStyle("height","90px");c.setStyle("height","90px");d.setStyle("height","90px")};a.setHeightFrame=function(){document.getElementById(a.iframeNumber+ +"_"+a.dialog._.currentTabId).style.height="240px"};a.sendData=function(b){var c=b._.currentTabId,d=b._.contents[c].Content,e,g;a.previousTab=c;a.setIframe(d,c);var f=function(h){c=b._.currentTabId;h=h||window.event;h.data.getTarget().is("a")&&c!==a.previousTab&&(a.previousTab=c,d=b._.contents[c].Content,e=a.iframeNumber+"_"+c,a.div_overlay.setEnable(),d.getElement().getChildCount()?E(a.targetFromFrame[e],a.cmd[c]):(a.setIframe(d,c),g=document.getElementById(e),a.targetFromFrame[e]=g.contentWindow))}; +b.parts.tabs.removeListener("click",f);b.parts.tabs.on("click",f)};a.buildSelectLang=function(a){var c=new CKEDITOR.dom.element("div"),d=new CKEDITOR.dom.element("select");a="wscLang"+a;c.addClass("cke_dialog_ui_input_select");c.setAttribute("role","presentation");c.setStyles({height:"auto",position:"absolute",right:"0",top:"-1px",width:"160px","white-space":"normal"});d.setAttribute("id",a);d.addClass("cke_dialog_ui_input_select");d.setStyles({width:"160px"});c.append(d);return c};a.buildOptionLang= +function(b,c){var d=document.getElementById("wscLang"+c),e=document.createDocumentFragment(),g,f,h=[];if(0===d.options.length){for(g in b)h.push([g,b[g]]);h.sort();for(var n=0;n<h.length;n++)g=document.createElement("option"),g.setAttribute("value",h[n][1]),f=document.createTextNode(h[n][0]),g.appendChild(f),e.appendChild(g);d.appendChild(e)}for(e=0;e<d.options.length;e++)d.options[e].value==a.selectingLang&&(d.options[e].selected="selected")};a.buildOptionSynonyms=function(b){b=a.selectNodeResponce[b]; +var c=z(a.selectNode.Synonyms);a.selectNode.Synonyms.clear();for(var d=0;d<b.length;d++){var e=document.createElement("option");e.text=b[d];e.value=b[d];c.$.add(e,d)}a.selectNode.Synonyms.getInputElement().$.firstChild.selected=!0;a.textNode.Thesaurus.setValue(a.selectNode.Synonyms.getInputElement().getValue())};var B=function(a){var c=document,d=a.target||c.body,e=a.id||"overlayBlock",g=a.opacity||"0.9";a=a.background||"#f1f1f1";var f=c.getElementById(e),h=f||c.createElement("div");h.style.cssText= +"position: absolute;top:30px;bottom:41px;left:1px;right:1px;z-index: 10020;padding:0;margin:0;background:"+a+";opacity: "+g+";filter: alpha(opacity\x3d"+100*g+");display: none;";h.id=e;f||d.appendChild(h);return{setDisable:function(){h.style.display="none"},setEnable:function(){h.style.display="block"}}},L=function(b,c,d){var e=new CKEDITOR.dom.element("div"),g=new CKEDITOR.dom.element("input"),f=new CKEDITOR.dom.element("label"),h="wscGrammerSuggest"+b+"_"+c;e.addClass("cke_dialog_ui_input_radio"); +e.setAttribute("role","presentation");e.setStyles({width:"97%",padding:"5px","white-space":"normal"});g.setAttributes({type:"radio",value:c,name:"wscGrammerSuggest",id:h});g.setStyles({"float":"left"});g.on("click",function(b){a.textNode.GrammTab.setValue(b.sender.getValue())});d?g.setAttribute("checked",!0):!1;g.addClass("cke_dialog_ui_radio_input");f.appendText(b);f.setAttribute("for",h);f.setStyles({display:"block","line-height":"16px","margin-left":"18px","white-space":"normal"});e.append(g); +e.append(f);return e},F=function(a){a=a||"true";null!==a&&"false"==a&&u()},w=function(b){var c=new I(b);b="wscLang"+a.dialog.getParentEditor().name;b=document.getElementById(b);var d,e=a.iframeNumber+"_"+a.dialog._.currentTabId;a.buildOptionLang(c.setLangList,a.dialog.getParentEditor().name);if(d=c.getCurrentLangGroup(a.selectingLang))v[d].onShow();F(a.show_grammar);b.onchange=function(b){b=c.getCurrentLangGroup(this.value);var d=a.dialog._.currentTabId;v[b].onShow();F(a.show_grammar);a.div_overlay.setEnable(); +a.selectingLang=this.value;d=a.cmd[d];b&&v[b]&&v[b].allowedTabCommands[d]||(d=v[b].defaultTabCommand);for(var h in a.cmd)if(a.cmd[h]==d){a.previousTab=h;break}f.postMessage.send({message:{changeLang:a.selectingLang,interfaceLang:a.interfaceLang,text:a.dataTemp,cmd:d},target:a.targetFromFrame[e],id:"selectionLang_outer__page"})}},M=function(b){var c,d=function(b){b=a.dialog.getContentElement(a.dialog._.currentTabId,b)||a.LocalizationButton[b].instance;b.getElement().hasClass("cke_disabled")?b.getElement().setStyle("color", +"#a0a0a0"):b.disable()};c=function(b){b=a.dialog.getContentElement(a.dialog._.currentTabId,b)||a.LocalizationButton[b].instance;b.enable();b.getElement().setStyle("color","#333")};"no_any_suggestions"==b?(b="No suggestions",c=a.dialog.getContentElement(a.dialog._.currentTabId,"ChangeTo_button")||a.LocalizationButton.ChangeTo_button.instance,c.disable(),c=a.dialog.getContentElement(a.dialog._.currentTabId,"ChangeAll")||a.LocalizationButton.ChangeAll.instance,c.disable(),d("ChangeTo_button"),d("ChangeAll")): +(c("ChangeTo_button"),c("ChangeAll"));return b},O={iframeOnload:function(b){b=a.dialog._.currentTabId;E(a.targetFromFrame[a.iframeNumber+"_"+b],a.cmd[b])},suggestlist:function(b){delete b.id;a.div_overlay_no_check.setDisable();C();w(a.langList);var c=M(b.word),d="";c instanceof Array&&(c=b.word[0]);d=c=c.split(",");a.textNode.SpellTab.setValue(d[0]);b=z(A);A.clear();for(c=0;c<d.length;c++){var e=document.createElement("option");e.text=d[c];e.value=d[c];b.$.add(e,c)}p();a.div_overlay.setDisable()}, +grammerSuggest:function(b){delete b.id;delete b.mocklangs;C();w(a.langList);var c=b.grammSuggest[0];a.grammerSuggest.getElement().setHtml("");a.textNode.GrammTab.reset();a.textNode.GrammTab.setValue(c);a.textNodeInfo.GrammTab.getElement().setHtml("");a.textNodeInfo.GrammTab.getElement().setText(b.info);b=b.grammSuggest;for(var c=b.length,d=!0,e=0;e<c;e++)a.grammerSuggest.getElement().append(L(b[e],b[e],d)),d=!1;p();a.div_overlay.setDisable()},thesaurusSuggest:function(b){delete b.id;delete b.mocklangs; +C();w(a.langList);a.selectNodeResponce=b;a.textNode.Thesaurus.reset();var c=z(a.selectNode.Categories),d=0;a.selectNode.Categories.clear();for(var e in b)b=document.createElement("option"),b.text=e,b.value=e,c.$.add(b,d),d++;c=a.selectNode.Categories.getInputElement().getChildren().$[0].value;a.selectNode.Categories.getInputElement().getChildren().$[0].selected=!0;a.buildOptionSynonyms(c);p();a.div_overlay.setDisable()},finish:function(b){delete b.id;N();b=a.dialog.getContentElement(a.dialog._.currentTabId, +"BlockFinishChecking").getElement();b.removeStyle("display");b.removeStyle("position");b.removeStyle("left");b.show();a.div_overlay.setDisable()},settext:function(b){delete b.id;a.dialog.getParentEditor().getCommand("checkspell");var c=a.dialog.getParentEditor();if(c.scayt&&c.wsc.isSsrvSame){var d=c.wsc.udn;d?c.wsc.DataStorage.setData("scayt_user_dictionary_name",d):c.wsc.DataStorage.setData("scayt_user_dictionary_name","")}try{c.focus()}catch(e){}c.setData(b.text,function(){a.dataTemp="";c.unlockSelection(); +c.fire("saveSnapshot");a.dialog.hide()})},ReplaceText:function(b){delete b.id;a.div_overlay.setEnable();a.dataTemp=b.text;a.selectingLang=b.currentLang;(b.cmd="0"!==b.len&&b.len)?a.div_overlay.setDisable():window.setTimeout(function(){try{a.div_overlay.setDisable()}catch(b){}},500);J(a.LocalizationButton);K(a.LocalizationLabel)},options_checkbox_send:function(b){delete b.id;b={osp:f.cookie.get("osp"),udn:f.cookie.get("udn"),cust_dic_ids:a.cust_dic_ids};f.postMessage.send({message:b,target:a.targetFromFrame[a.iframeNumber+ +"_"+a.dialog._.currentTabId],id:"options_outer__page"})},getOptions:function(b){var c=b.DefOptions.udn;a.LocalizationComing=b.DefOptions.localizationButtonsAndText;a.show_grammar=b.show_grammar;a.langList=b.lang;a.bnr=b.bannerId;a.sessionid=b.sessionid;if(b.bannerId){a.setHeightBannerFrame();var d=b.banner;a.dialog.getContentElement(a.dialog._.currentTabId,"banner").getElement().setHtml(d)}else a.setHeightFrame();"undefined"==c&&(a.userDictionaryName?(c=a.userDictionaryName,d={osp:f.cookie.get("osp"), +udn:a.userDictionaryName,cust_dic_ids:a.cust_dic_ids,id:"options_dic_send",udnCmd:"create"},f.postMessage.send({message:d,target:a.targetFromFrame[void 0]})):c="");f.cookie.set("osp",b.DefOptions.osp);f.cookie.set("udn",c);f.cookie.set("cust_dic_ids",b.DefOptions.cust_dic_ids);f.postMessage.send({id:"giveOptions"})},options_dic_send:function(b){b={osp:f.cookie.get("osp"),udn:f.cookie.get("udn"),cust_dic_ids:a.cust_dic_ids,id:"options_dic_send",udnCmd:f.cookie.get("udnCmd")};f.postMessage.send({message:b, +target:a.targetFromFrame[a.iframeNumber+"_"+a.dialog._.currentTabId]})},data:function(a){delete a.id},giveOptions:function(){},setOptionsConfirmF:function(){},setOptionsConfirmT:function(){t.setValue("")},clickBusy:function(){a.div_overlay.setEnable()},suggestAllCame:function(){a.div_overlay.setDisable();a.div_overlay_no_check.setDisable()},TextCorrect:function(){w(a.langList)}},G=function(a){a=a||window.event;if((a=window.JSON.parse(a.data))&&a.id)O[a.id](a)},E=function(b,c,d,e){c=c||CKEDITOR.config.wsc_cmd; +d=d||a.dataTemp;f.postMessage.send({message:{customerId:a.wsc_customerId,text:d,txt_ctrl:a.TextAreaNumber,cmd:c,cust_dic_ids:a.cust_dic_ids,udn:a.userDictionaryName,slang:a.selectingLang,interfaceLang:a.interfaceLang,reset_suggest:e||!1,sessionid:a.sessionid},target:b,id:"data_outer__page"});a.div_overlay.setEnable()},v={superset:{onShow:function(){a.dialog.showPage("Thesaurus");a.dialog.showPage("GrammTab");q()},allowedTabCommands:{spell:!0,grammar:!0,thes:!0},defaultTabCommand:"spell"},usual:{onShow:function(){x(); +u();q()},allowedTabCommands:{spell:!0},defaultTabCommand:"spell"},rtl:{onShow:function(){x();u();q()},allowedTabCommands:{spell:!0},defaultTabCommand:"spell"},spellgrammar:{onShow:function(){x();a.dialog.showPage("GrammTab");q()},allowedTabCommands:{spell:!0,grammar:!0},defaultTabCommand:"spell"},spellthes:{onShow:function(){a.dialog.showPage("Thesaurus");u();q()},allowedTabCommands:{spell:!0,thes:!0},defaultTabCommand:"spell"}},H=function(b){var c=(new function(a){var b={};return{getCmdByTab:function(c){for(var f in a)b[a[f]]= +f;return b[c]}}}(a.cmd)).getCmdByTab(CKEDITOR.config.wsc_cmd);p();b.selectPage(c);a.sendData(b)},x=function(){a.dialog.hidePage("Thesaurus")},u=function(){a.dialog.hidePage("GrammTab")},q=function(){a.dialog.showPage("SpellTab")},p=function(){var b=a.dialog.getContentElement(a.dialog._.currentTabId,"bottomGroup").getElement();b.removeStyle("display");b.removeStyle("position");b.removeStyle("left");b.show()},N=function(){var b=a.dialog.getContentElement(a.dialog._.currentTabId,"bottomGroup").getElement(), +c=document.activeElement,d;b.setStyles({display:"block",position:"absolute",left:"-9999px"});setTimeout(function(){b.removeStyle("display");b.removeStyle("position");b.removeStyle("left");b.hide();a.dialog._.editor.focusManager.currentActive.focusNext();d=f.misc.findFocusable(a.dialog.parts.contents);if(f.misc.hasClass(c,"cke_dialog_tab")||f.misc.hasClass(c,"cke_dialog_contents_body")||!f.misc.isVisible(c))for(var e=0,g;e<d.count();e++){if(g=d.getItem(e),f.misc.isVisible(g.$)){try{g.$.focus()}catch(k){}break}}else try{c.focus()}catch(h){}}, +0)},C=function(){var b=a.dialog.getContentElement(a.dialog._.currentTabId,"BlockFinishChecking").getElement(),c=document.activeElement,d;b.setStyles({display:"block",position:"absolute",left:"-9999px"});setTimeout(function(){b.removeStyle("display");b.removeStyle("position");b.removeStyle("left");b.hide();a.dialog._.editor.focusManager.currentActive.focusNext();d=f.misc.findFocusable(a.dialog.parts.contents);if(f.misc.hasClass(c,"cke_dialog_tab")||f.misc.hasClass(c,"cke_dialog_contents_body")||!f.misc.isVisible(c))for(var e= +0,g;e<d.count();e++){if(g=d.getItem(e),f.misc.isVisible(g.$)){try{g.$.focus()}catch(k){}break}}else try{c.focus()}catch(h){}},0)};CKEDITOR.dialog.add("checkspell",function(b){function c(a){var c=parseInt(b.config.wsc_left,10),e=parseInt(b.config.wsc_top,10),d=parseInt(b.config.wsc_width,10),f=parseInt(b.config.wsc_height,10),l=CKEDITOR.document.getWindow().getViewPaneSize();a.getPosition();var m=a.getSize(),r=0;if(!a._.resized){var r=m.height-a.parts.contents.getSize("height",!(CKEDITOR.env.gecko|| +CKEDITOR.env.opera||CKEDITOR.env.ie&&CKEDITOR.env.quirks)),D=m.width-a.parts.contents.getSize("width",1);if(d<g.minWidth||isNaN(d))d=g.minWidth;d>l.width-D&&(d=l.width-D);if(f<g.minHeight||isNaN(f))f=g.minHeight;f>l.height-r&&(f=l.height-r);m.width=d+D;m.height=f+r;a._.fromResizeEvent=!1;a.resize(d,f);setTimeout(function(){a._.fromResizeEvent=!1;CKEDITOR.dialog.fire("resize",{dialog:a,width:d,height:f},b)},300)}a._.moved||(r=isNaN(c)&&isNaN(e)?0:1,isNaN(c)&&(c=(l.width-m.width)/2),0>c&&(c=0),c>l.width- +m.width&&(c=l.width-m.width),isNaN(e)&&(e=(l.height-m.height)/2),0>e&&(e=0),e>l.height-m.height&&(e=l.height-m.height),a.move(c,e,r))}function d(){b.wsc={};(function(a){var b={separator:"\x3c$\x3e",getDataType:function(a){return"undefined"===typeof a?"undefined":null===a?"null":Object.prototype.toString.call(a).slice(8,-1)},convertDataToString:function(a){return this.getDataType(a).toLowerCase()+this.separator+a},restoreDataFromString:function(a){var b=a,c;a=this.backCompatibility(a);if("string"=== +typeof a)switch(b=a.indexOf(this.separator),c=a.substring(0,b),b=a.substring(b+this.separator.length),c){case "boolean":b="true"===b;break;case "number":b=parseFloat(b);break;case "array":b=""===b?[]:b.split(",");break;case "null":b=null;break;case "undefined":b=void 0}return b},backCompatibility:function(a){var b=a,c;"string"===typeof a&&(c=a.indexOf(this.separator),0>c&&(b=parseFloat(a),isNaN(b)&&("["===a[0]&&"]"===a[a.length-1]?(a=a.replace("[",""),a=a.replace("]",""),b=""===a?[]:a.split(",")): +b="true"===a||"false"===a?"true"===a:a),b=this.convertDataToString(b)));return b}},c={get:function(a){return b.restoreDataFromString(window.localStorage.getItem(a))},set:function(a,c){var d=b.convertDataToString(c);window.localStorage.setItem(a,d)},del:function(a){window.localStorage.removeItem(a)},clear:function(){window.localStorage.clear()}},e={expiration:31622400,get:function(a){return b.restoreDataFromString(this.getCookie(a))},set:function(a,c){var d=b.convertDataToString(c);this.setCookie(a, +d,{expires:this.expiration})},del:function(a){this.deleteCookie(a)},getCookie:function(a){return(a=document.cookie.match(new RegExp("(?:^|; )"+a.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,"\\$1")+"\x3d([^;]*)")))?decodeURIComponent(a[1]):void 0},setCookie:function(a,b,c){c=c||{};var d=c.expires;if("number"===typeof d&&d){var e=new Date;e.setTime(e.getTime()+1E3*d);d=c.expires=e}d&&d.toUTCString&&(c.expires=d.toUTCString());b=encodeURIComponent(b);a=a+"\x3d"+b;for(var f in c)b=c[f],a+="; "+f,!0!==b&&(a+= +"\x3d"+b);document.cookie=a},deleteCookie:function(a){this.setCookie(a,null,{expires:-1})},clear:function(){for(var a=document.cookie.split(";"),b=0;b<a.length;b++){var c=a[b],d=c.indexOf("\x3d"),c=-1<d?c.substr(0,d):c;this.deleteCookie(c)}}},d=window.localStorage?c:e;a.DataStorage={getData:function(a){return d.get(a)},setData:function(a,b){d.set(a,b)},deleteData:function(a){d.del(a)},clear:function(){d.clear()}}})(b.wsc);b.wsc.operationWithUDN=function(b,c){f.postMessage.send({message:{udn:c,id:"operationWithUDN", +udnCmd:b},target:a.targetFromFrame[a.iframeNumber+"_"+a.dialog._.currentTabId]})};b.wsc.getLocalStorageUDN=function(){var a=b.wsc.DataStorage.getData("scayt_user_dictionary_name");if(a)return a};b.wsc.getLocalStorageUD=function(){var a=b.wsc.DataStorage.getData("scayt_user_dictionary");if(a)return a};b.wsc.addWords=function(a,c){var d=b.config.wsc.DefaultParams.serviceHost+b.config.wsc.DefaultParams.ssrvHost+"?cmd\x3ddictionary\x26format\x3djson\x26customerid\x3d1%3AncttD3-fIoSf2-huzwE4-Y5muI2-mD0Tt-kG9Wz-UEDFC-tYu243-1Uq474-d9Z2l3\x26action\x3daddword\x26word\x3d"+ +a+"\x26callback\x3dtoString\x26synchronization\x3dtrue",e=document.createElement("script");e.type="text/javascript";e.src=d;document.getElementsByTagName("head")[0].appendChild(e);e.onload=c;e.onreadystatechange=function(){"loaded"===this.readyState&&c()}};b.wsc.cgiOrigin=function(){var a=b.config.wsc.DefaultParams.serviceHost.split("/");return a[0]+"//"+a[2]};b.wsc.isSsrvSame=!1}var e=function(c){this.getElement().focus();a.div_overlay.setEnable();c=a.dialog._.currentTabId;var d=a.iframeNumber+"_"+ +c,e=a.textNode[c].getValue(),g=this.getElement().getAttribute("title-cmd");f.postMessage.send({message:{cmd:g,tabId:c,new_word:e},target:a.targetFromFrame[d],id:"cmd_outer__page"});"ChangeTo"!=g&&"ChangeAll"!=g||b.fire("saveSnapshot");"FinishChecking"==g&&b.config.wsc_onFinish.call(CKEDITOR.document.getWindow().getFrame())},g={minWidth:560,minHeight:444},k=!1;return{title:b.config.wsc_dialogTitle||b.lang.wsc.title,minWidth:g.minWidth,minHeight:g.minHeight,buttons:[CKEDITOR.dialog.cancelButton],onLoad:function(){a.dialog= +this;x();u();q();b.plugins.scayt&&d()},onShow:function(){a.dialog=this;b.lockSelection(b.getSelection());a.TextAreaNumber="cke_textarea_"+b.name;f.postMessage.init(G);a.dataTemp=b.getData();a.OverlayPlace=a.dialog.parts.tabs.getParent().$;if(CKEDITOR&&CKEDITOR.config){a.wsc_customerId=b.config.wsc_customerId;a.cust_dic_ids=b.config.wsc_customDictionaryIds;a.userDictionaryName=b.config.wsc_userDictionaryName;a.defaultLanguage=CKEDITOR.config.defaultLanguage;var d="file:"==document.location.protocol? +"http:":document.location.protocol,d=b.config.wsc_customLoaderScript||d+"//www.webspellchecker.net/spellcheck31/lf/22/js/wsc_fck2plugin.js";c(this);CKEDITOR.scriptLoader.load(d,function(c){if(c)if(k)a.onLoadOverlay.setEnable();else{CKEDITOR.config&&CKEDITOR.config.wsc&&CKEDITOR.config.wsc.DefaultParams?(a.serverLocationHash=CKEDITOR.config.wsc.DefaultParams.serviceHost,a.logotype=CKEDITOR.config.wsc.DefaultParams.logoPath,a.loadIcon=CKEDITOR.config.wsc.DefaultParams.iconPath,a.loadIconEmptyEditor= +CKEDITOR.config.wsc.DefaultParams.iconPathEmptyEditor,a.LangComparer=new CKEDITOR.config.wsc.DefaultParams._SP_FCK_LangCompare):(a.serverLocationHash=DefaultParams.serviceHost,a.logotype=DefaultParams.logoPath,a.loadIcon=DefaultParams.iconPath,a.loadIconEmptyEditor=DefaultParams.iconPathEmptyEditor,a.LangComparer=new _SP_FCK_LangCompare);a.pluginPath=CKEDITOR.getUrl(b.plugins.wsc.path);a.iframeNumber=a.TextAreaNumber;a.templatePath=a.pluginPath+"dialogs/tmp.html";a.LangComparer.setDefaulLangCode(a.defaultLanguage); +a.currentLang=b.config.wsc_lang||a.LangComparer.getSPLangCode(b.langCode)||"en_US";a.interfaceLang=b.config.wsc_interfaceLang;a.selectingLang=a.currentLang;a.div_overlay=new B({opacity:"1",background:"#fff url("+a.loadIcon+") no-repeat 50% 50%",target:a.OverlayPlace});var d=a.dialog.parts.tabs.getId(),d=CKEDITOR.document.getById(d);d.setStyle("width","97%");d.getElementsByTag("DIV").count()||d.append(a.buildSelectLang(a.dialog.getParentEditor().name));a.div_overlay_no_check=new B({opacity:"1",id:"no_check_over", +background:"#fff url("+a.loadIconEmptyEditor+") no-repeat 50% 50%",target:a.OverlayPlace});c&&(H(a.dialog),a.dialog.setupContent(a.dialog));b.plugins.scayt&&(b.wsc.isSsrvSame=function(){var a=CKEDITOR.config.wsc.DefaultParams.serviceHost.replace("lf/22/js/../../../","").split("//")[1],c=CKEDITOR.config.wsc.DefaultParams.ssrvHost,d=b.config.scayt_srcUrl,e,f,g,h,n;window.SCAYT&&window.SCAYT.CKSCAYT&&(g=SCAYT.CKSCAYT.prototype.basePath,g.split("//"),h=g.split("//")[1].split("/")[0],n=g.split(h+"/")[1].replace("/lf/scayt3/ckscayt/", +"")+"/script/ssrv.cgi");!d||g||b.config.scayt_servicePath||(d.split("//"),e=d.split("//")[1].split("/")[0],f=d.split(e+"/")[1].replace("/lf/scayt3/ckscayt/ckscayt.js","")+"/script/ssrv.cgi");return"//"+a+c==="//"+(b.config.scayt_serviceHost||h||e)+"/"+(b.config.scayt_servicePath||n||f)}());if(window.SCAYT&&b.wsc&&b.wsc.isSsrvSame){var e=b.wsc.cgiOrigin();b.wsc.syncIsDone=!1;c=function(a){a.origin===e&&(a=JSON.parse(a.data),a.ud&&"undefined"!==a.ud?b.wsc.ud=a.ud:"undefined"===a.ud&&(b.wsc.ud=void 0), +a.udn&&"undefined"!==a.udn?b.wsc.udn=a.udn:"undefined"===a.udn&&(b.wsc.udn=void 0),b.wsc.syncIsDone||(f(b.wsc.ud),b.wsc.syncIsDone=!0))};var f=function(c){c=b.wsc.getLocalStorageUD();var d;c instanceof Array&&(d=c.toString());void 0!==d&&""!==d&&setTimeout(function(){b.wsc.addWords(d,function(){H(a.dialog);a.dialog.setupContent(a.dialog)})},400)};window.addEventListener?addEventListener("message",c,!1):window.attachEvent("onmessage",c);setTimeout(function(){var a=b.wsc.getLocalStorageUDN();void 0!== +a&&b.wsc.operationWithUDN("restore",a)},500)}}else k=!0})}else a.dialog.hide()},onHide:function(){var c=CKEDITOR.plugins.scayt,d=b.scayt;b.unlockSelection();c&&d&&c.state[b.name]&&d.setMarkupPaused(!1);a.dataTemp="";a.sessionid="";f.postMessage.unbindHandler(G);if(b.plugins.scayt&&b.wsc&&b.wsc.isSsrvSame){var c=b.wsc.udn,e=b.wsc.ud,g,k;b.scayt?(c?(b.wsc.DataStorage.setData("scayt_user_dictionary_name",c),b.scayt.restoreUserDictionary(c)):(b.wsc.DataStorage.setData("scayt_user_dictionary_name",""), +b.scayt.removeUserDictionary()),e&&setTimeout(function(){g=e.split(",");for(k=0;k<g.length;k+=1)b.scayt.addWordToUserDictionary(g[k])},200),e||b.wsc.DataStorage.setData("scayt_user_dictionary",[])):(c?b.wsc.DataStorage.setData("scayt_user_dictionary_name",c):b.wsc.DataStorage.setData("scayt_user_dictionary_name",""),e&&(g=e.split(","),b.wsc.DataStorage.setData("scayt_user_dictionary",g)))}},contents:[{id:"SpellTab",label:"SpellChecker",accessKey:"S",elements:[{type:"html",id:"banner",label:"banner", +style:"",html:"\x3cdiv\x3e\x3c/div\x3e"},{type:"html",id:"Content",label:"spellContent",html:"",setup:function(b){b=a.iframeNumber+"_"+b._.currentTabId;var c=document.getElementById(b);a.targetFromFrame[b]=c.contentWindow}},{type:"hbox",id:"bottomGroup",style:"width:560px; margin: 0 auto;",widths:["50%","50%"],className:"wsc-spelltab-bottom",children:[{type:"hbox",id:"leftCol",align:"left",width:"50%",children:[{type:"vbox",id:"rightCol1",widths:["50%","50%"],children:[{type:"text",id:"ChangeTo_label", +label:a.LocalizationLabel.ChangeTo_label.text+":",labelLayout:"horizontal",labelStyle:"font: 12px/25px arial, sans-serif;",width:"140px","default":"",onShow:function(){a.textNode.SpellTab=this;a.LocalizationLabel.ChangeTo_label.instance=this},onHide:function(){this.reset()}},{type:"hbox",id:"rightCol",align:"right",width:"30%",children:[{type:"vbox",id:"rightCol_col__left",children:[{type:"text",id:"labelSuggestions",label:a.LocalizationLabel.Suggestions.text+":",onShow:function(){a.LocalizationLabel.Suggestions.instance= +this;this.getInputElement().setStyles({display:"none"})}},{type:"html",id:"logo",html:"",setup:function(b){this.getElement().$.src=a.logotype;this.getElement().getParent().setStyles({"text-align":"left"})}}]},{type:"select",id:"list_of_suggestions",labelStyle:"font: 12px/25px arial, sans-serif;",size:"6",inputStyle:"width: 140px; height: auto;",items:[["loading..."]],onShow:function(){A=this},onChange:function(){a.textNode.SpellTab.setValue(this.getValue())}}]}]}]},{type:"hbox",id:"rightCol",align:"right", +width:"50%",children:[{type:"vbox",id:"rightCol_col__left",widths:["50%","50%","50%","50%"],children:[{type:"button",id:"ChangeTo_button",label:a.LocalizationButton.ChangeTo_button.text,title:"Change to",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd","ChangeTo");a.LocalizationButton.ChangeTo_button.instance=this},onClick:e},{type:"button",id:"ChangeAll",label:a.LocalizationButton.ChangeAll.text,title:"Change All",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd", +this.id);a.LocalizationButton.ChangeAll.instance=this},onClick:e},{type:"button",id:"AddWord",label:a.LocalizationButton.AddWord.text,title:"Add word",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);a.LocalizationButton.AddWord.instance=this},onClick:e},{type:"button",id:"FinishChecking_button",label:a.LocalizationButton.FinishChecking_button.text,title:"Finish Checking",style:"width: 100%;margin-top: 9px;",onLoad:function(){this.getElement().setAttribute("title-cmd", +"FinishChecking");a.LocalizationButton.FinishChecking_button.instance=this},onClick:e}]},{type:"vbox",id:"rightCol_col__right",widths:["50%","50%","50%"],children:[{type:"button",id:"IgnoreWord",label:a.LocalizationButton.IgnoreWord.text,title:"Ignore word",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);a.LocalizationButton.IgnoreWord.instance=this},onClick:e},{type:"button",id:"IgnoreAllWords",label:a.LocalizationButton.IgnoreAllWords.text,title:"Ignore all words", +style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);a.LocalizationButton.IgnoreAllWords.instance=this},onClick:e},{type:"button",id:"Options",label:a.LocalizationButton.Options.text,title:"Option",style:"width: 100%;",onLoad:function(){a.LocalizationButton.Options.instance=this;"file:"==document.location.protocol&&this.disable()},onClick:function(){this.getElement().focus();"file:"==document.location.protocol?alert("WSC: Options functionality is disabled when runing from file system"): +(y=document.activeElement,b.openDialog("options"))}}]}]}]},{type:"hbox",id:"BlockFinishChecking",style:"width:560px; margin: 0 auto;",widths:["70%","30%"],onShow:function(){this.getElement().setStyles({display:"block",position:"absolute",left:"-9999px"})},onHide:p,children:[{type:"hbox",id:"leftCol",align:"left",width:"70%",children:[{type:"vbox",id:"rightCol1",setup:function(){this.getChild()[0].getElement().$.src=a.logotype;this.getChild()[0].getElement().getParent().setStyles({"text-align":"center"})}, +children:[{type:"html",id:"logo",html:""}]}]},{type:"hbox",id:"rightCol",align:"right",width:"30%",children:[{type:"vbox",id:"rightCol_col__left",children:[{type:"button",id:"Option_button",label:a.LocalizationButton.Options.text,title:"Option",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);"file:"==document.location.protocol&&this.disable()},onClick:function(){this.getElement().focus();"file:"==document.location.protocol?alert("WSC: Options functionality is disabled when runing from file system"): +(y=document.activeElement,b.openDialog("options"))}},{type:"button",id:"FinishChecking_button_block",label:a.LocalizationButton.FinishChecking_button_block.text,title:"Finish Checking",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd","FinishChecking")},onClick:e}]}]}]}]},{id:"GrammTab",label:"Grammar",accessKey:"G",elements:[{type:"html",id:"banner",label:"banner",style:"",html:"\x3cdiv\x3e\x3c/div\x3e"},{type:"html",id:"Content",label:"GrammarContent",html:"",setup:function(){var b= +a.iframeNumber+"_"+a.dialog._.currentTabId,c=document.getElementById(b);a.targetFromFrame[b]=c.contentWindow}},{type:"vbox",id:"bottomGroup",style:"width:560px; margin: 0 auto;",children:[{type:"hbox",id:"leftCol",widths:["66%","34%"],children:[{type:"vbox",children:[{type:"text",id:"text",label:"Change to:",labelLayout:"horizontal",labelStyle:"font: 12px/25px arial, sans-serif;",inputStyle:"float: right; width: 200px;","default":"",onShow:function(){a.textNode.GrammTab=this},onHide:function(){this.reset()}}, +{type:"html",id:"html_text",html:"\x3cdiv style\x3d'min-height: 17px; line-height: 17px; padding: 5px; text-align: left;background: #F1F1F1;color: #595959; white-space: normal!important;'\x3e\x3c/div\x3e",onShow:function(b){a.textNodeInfo.GrammTab=this}},{type:"html",id:"radio",html:"",onShow:function(){a.grammerSuggest=this}}]},{type:"vbox",children:[{type:"button",id:"ChangeTo_button",label:"Change to",title:"Change to",style:"width: 133px; float: right;",onLoad:function(){this.getElement().setAttribute("title-cmd", +"ChangeTo")},onClick:e},{type:"button",id:"IgnoreWord",label:"Ignore word",title:"Ignore word",style:"width: 133px; float: right;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onClick:e},{type:"button",id:"IgnoreAllWords",label:"Ignore Problem",title:"Ignore Problem",style:"width: 133px; float: right;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onClick:e},{type:"button",id:"FinishChecking_button",label:a.LocalizationButton.FinishChecking_button.text, +title:"Finish Checking",style:"width: 133px; float: right; margin-top: 9px;",onLoad:function(){this.getElement().setAttribute("title-cmd","FinishChecking")},onClick:e}]}]}]},{type:"hbox",id:"BlockFinishChecking",style:"width:560px; margin: 0 auto;",widths:["70%","30%"],onShow:function(){this.getElement().setStyles({display:"block",position:"absolute",left:"-9999px"})},onHide:p,children:[{type:"hbox",id:"leftCol",align:"left",width:"70%",children:[{type:"vbox",id:"rightCol1",children:[{type:"html", +id:"logo",html:"",setup:function(){this.getElement().$.src=a.logotype;this.getElement().getParent().setStyles({"text-align":"center"})}}]}]},{type:"hbox",id:"rightCol",align:"right",width:"30%",children:[{type:"vbox",id:"rightCol_col__left",children:[{type:"button",id:"FinishChecking_button_block",label:a.LocalizationButton.FinishChecking_button_block.text,title:"Finish Checking",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd","FinishChecking")},onClick:e}]}]}]}]}, +{id:"Thesaurus",label:"Thesaurus",accessKey:"T",elements:[{type:"html",id:"banner",label:"banner",style:"",html:"\x3cdiv\x3e\x3c/div\x3e"},{type:"html",id:"Content",label:"spellContent",html:"",setup:function(){var b=a.iframeNumber+"_"+a.dialog._.currentTabId,c=document.getElementById(b);a.targetFromFrame[b]=c.contentWindow}},{type:"vbox",id:"bottomGroup",style:"width:560px; margin: -10px auto; overflow: hidden;",children:[{type:"hbox",widths:["75%","25%"],children:[{type:"vbox",children:[{type:"hbox", +widths:["65%","35%"],children:[{type:"text",id:"ChangeTo_label",label:a.LocalizationLabel.ChangeTo_label.text+":",labelLayout:"horizontal",inputStyle:"width: 160px;",labelStyle:"font: 12px/25px arial, sans-serif;","default":"",onShow:function(b){a.textNode.Thesaurus=this;a.LocalizationLabel.ChangeTo_label.instance=this},onHide:function(){this.reset()}},{type:"button",id:"ChangeTo_button",label:a.LocalizationButton.ChangeTo_button.text,title:"Change to",style:"width: 121px; margin-top: 1px;",onLoad:function(){this.getElement().setAttribute("title-cmd", +"ChangeTo");a.LocalizationButton.ChangeTo_button.instance=this},onClick:e}]},{type:"hbox",children:[{type:"select",id:"Categories",label:a.LocalizationLabel.Categories.text+":",labelStyle:"font: 12px/25px arial, sans-serif;",size:"5",inputStyle:"width: 180px; height: auto;",items:[],onShow:function(){a.selectNode.Categories=this;a.LocalizationLabel.Categories.instance=this},onChange:function(){a.buildOptionSynonyms(this.getValue())}},{type:"select",id:"Synonyms",label:a.LocalizationLabel.Synonyms.text+ +":",labelStyle:"font: 12px/25px arial, sans-serif;",size:"5",inputStyle:"width: 180px; height: auto;",items:[],onShow:function(){a.selectNode.Synonyms=this;a.textNode.Thesaurus.setValue(this.getValue());a.LocalizationLabel.Synonyms.instance=this},onChange:function(b){a.textNode.Thesaurus.setValue(this.getValue())}}]}]},{type:"vbox",width:"120px",style:"margin-top:46px;",children:[{type:"html",id:"logotype",label:"WebSpellChecker.net",html:"",setup:function(){this.getElement().$.src=a.logotype;this.getElement().getParent().setStyles({"text-align":"center"})}}, +{type:"button",id:"FinishChecking_button",label:a.LocalizationButton.FinishChecking_button.text,title:"Finish Checking",style:"width: 100%; float: right; margin-top: 9px;",onLoad:function(){this.getElement().setAttribute("title-cmd","FinishChecking")},onClick:e}]}]}]},{type:"hbox",id:"BlockFinishChecking",style:"width:560px; margin: 0 auto;",widths:["70%","30%"],onShow:function(){this.getElement().setStyles({display:"block",position:"absolute",left:"-9999px"})},children:[{type:"hbox",id:"leftCol", +align:"left",width:"70%",children:[{type:"vbox",id:"rightCol1",children:[{type:"html",id:"logo",html:"",setup:function(){this.getElement().$.src=a.logotype;this.getElement().getParent().setStyles({"text-align":"center"})}}]}]},{type:"hbox",id:"rightCol",align:"right",width:"30%",children:[{type:"vbox",id:"rightCol_col__left",children:[{type:"button",id:"FinishChecking_button_block",label:a.LocalizationButton.FinishChecking_button_block.text,title:"Finish Checking",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd", +"FinishChecking")},onClick:e}]}]}]}]}]}});var y=null;CKEDITOR.dialog.add("options",function(b){var c=null,d={},e={},g=null,k=null;f.cookie.get("udn");f.cookie.get("osp");b=function(a){k=this.getElement().getAttribute("title-cmd");a=[];a[0]=e.IgnoreAllCapsWords;a[1]=e.IgnoreWordsNumbers;a[2]=e.IgnoreMixedCaseWords;a[3]=e.IgnoreDomainNames;a=a.toString().replace(/,/g,"");f.cookie.set("osp",a);f.cookie.set("udnCmd",k?k:"ignore");"delete"!=k&&(a="",""!==t.getValue()&&(a=t.getValue()),f.cookie.set("udn", +a));f.postMessage.send({id:"options_dic_send"})};var h=function(){g.getElement().setHtml(a.LocalizationComing.error);g.getElement().show()};return{title:a.LocalizationComing.Options,minWidth:430,minHeight:130,resizable:CKEDITOR.DIALOG_RESIZE_NONE,contents:[{id:"OptionsTab",label:"Options",accessKey:"O",elements:[{type:"hbox",id:"options_error",children:[{type:"html",style:"display: block;text-align: center;white-space: normal!important; font-size: 12px;color:red",html:"\x3cdiv\x3e\x3c/div\x3e",onShow:function(){g= +this}}]},{type:"vbox",id:"Options_content",children:[{type:"hbox",id:"Options_manager",widths:["52%","48%"],children:[{type:"fieldset",label:"Spell Checking Options",style:"border: none;margin-top: 13px;padding: 10px 0 10px 10px",onShow:function(){this.getInputElement().$.children[0].innerHTML=a.LocalizationComing.SpellCheckingOptions},children:[{type:"vbox",id:"Options_checkbox",children:[{type:"checkbox",id:"IgnoreAllCapsWords",label:"Ignore All-Caps Words",labelStyle:"margin-left: 5px; font: 12px/16px arial, sans-serif;display: inline-block;white-space: normal;", +style:"float:left; min-height: 16px;","default":"",onClick:function(){e[this.id]=this.getValue()?1:0}},{type:"checkbox",id:"IgnoreWordsNumbers",label:"Ignore Words with Numbers",labelStyle:"margin-left: 5px; font: 12px/16px arial, sans-serif;display: inline-block;white-space: normal;",style:"float:left; min-height: 16px;","default":"",onClick:function(){e[this.id]=this.getValue()?1:0}},{type:"checkbox",id:"IgnoreMixedCaseWords",label:"Ignore Mixed-Case Words",labelStyle:"margin-left: 5px; font: 12px/16px arial, sans-serif;display: inline-block;white-space: normal;", +style:"float:left; min-height: 16px;","default":"",onClick:function(){e[this.id]=this.getValue()?1:0}},{type:"checkbox",id:"IgnoreDomainNames",label:"Ignore Domain Names",labelStyle:"margin-left: 5px; font: 12px/16px arial, sans-serif;display: inline-block;white-space: normal;",style:"float:left; min-height: 16px;","default":"",onClick:function(){e[this.id]=this.getValue()?1:0}}]}]},{type:"vbox",id:"Options_DictionaryName",children:[{type:"text",id:"DictionaryName",style:"margin-bottom: 10px",label:"Dictionary Name:", +labelLayout:"vertical",labelStyle:"font: 12px/25px arial, sans-serif;","default":"",onLoad:function(){t=this;var b=a.userDictionaryName?a.userDictionaryName:(f.cookie.get("udn"),this.getValue());this.setValue(b)},onShow:function(){t=this;var b=f.cookie.get("udn")?f.cookie.get("udn"):this.getValue();this.setValue(b);this.setLabel(a.LocalizationComing.DictionaryName)},onHide:function(){this.reset()}},{type:"hbox",id:"Options_buttons",children:[{type:"vbox",id:"Options_leftCol_col",widths:["50%","50%"], +children:[{type:"button",id:"create",label:"Create",title:"Create",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onShow:function(){(this.getElement().getFirst()||this.getElement()).setText(a.LocalizationComing.Create)},onClick:b},{type:"button",id:"restore",label:"Restore",title:"Restore",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onShow:function(){(this.getElement().getFirst()||this.getElement()).setText(a.LocalizationComing.Restore)}, +onClick:b}]},{type:"vbox",id:"Options_rightCol_col",widths:["50%","50%"],children:[{type:"button",id:"rename",label:"Rename",title:"Rename",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onShow:function(){(this.getElement().getFirst()||this.getElement()).setText(a.LocalizationComing.Rename)},onClick:b},{type:"button",id:"delete",label:"Remove",title:"Remove",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id)},onShow:function(){(this.getElement().getFirst()|| +this.getElement()).setText(a.LocalizationComing.Remove)},onClick:b}]}]}]}]},{type:"hbox",id:"Options_text",children:[{type:"html",style:"text-align: justify;margin-top: 15px;white-space: normal!important; font-size: 12px;color:#777;",html:"\x3cdiv\x3e"+a.LocalizationComing.OptionsTextIntro+"\x3c/div\x3e",onShow:function(){this.getElement().setText(a.LocalizationComing.OptionsTextIntro)}}]}]}]}],buttons:[CKEDITOR.dialog.okButton,CKEDITOR.dialog.cancelButton],onOk:function(){var a=[];a[0]=e.IgnoreAllCapsWords; +a[1]=e.IgnoreWordsNumbers;a[2]=e.IgnoreMixedCaseWords;a[3]=e.IgnoreDomainNames;a=a.toString().replace(/,/g,"");f.cookie.set("osp",a);f.postMessage.send({id:"options_checkbox_send"});g.getElement().hide();g.getElement().setHtml(" ")},onLoad:function(){c=this;d.IgnoreAllCapsWords=c.getContentElement("OptionsTab","IgnoreAllCapsWords");d.IgnoreWordsNumbers=c.getContentElement("OptionsTab","IgnoreWordsNumbers");d.IgnoreMixedCaseWords=c.getContentElement("OptionsTab","IgnoreMixedCaseWords");d.IgnoreDomainNames= +c.getContentElement("OptionsTab","IgnoreDomainNames")},onShow:function(){f.postMessage.init(h);var b=f.cookie.get("osp").split("");e.IgnoreAllCapsWords=b[0];e.IgnoreWordsNumbers=b[1];e.IgnoreMixedCaseWords=b[2];e.IgnoreDomainNames=b[3];parseInt(e.IgnoreAllCapsWords,10)?d.IgnoreAllCapsWords.setValue("checked",!1):d.IgnoreAllCapsWords.setValue("",!1);parseInt(e.IgnoreWordsNumbers,10)?d.IgnoreWordsNumbers.setValue("checked",!1):d.IgnoreWordsNumbers.setValue("",!1);parseInt(e.IgnoreMixedCaseWords,10)? +d.IgnoreMixedCaseWords.setValue("checked",!1):d.IgnoreMixedCaseWords.setValue("",!1);parseInt(e.IgnoreDomainNames,10)?d.IgnoreDomainNames.setValue("checked",!1):d.IgnoreDomainNames.setValue("",!1);e.IgnoreAllCapsWords=d.IgnoreAllCapsWords.getValue()?1:0;e.IgnoreWordsNumbers=d.IgnoreWordsNumbers.getValue()?1:0;e.IgnoreMixedCaseWords=d.IgnoreMixedCaseWords.getValue()?1:0;e.IgnoreDomainNames=d.IgnoreDomainNames.getValue()?1:0;d.IgnoreAllCapsWords.getElement().$.lastChild.innerHTML=a.LocalizationComing.IgnoreAllCapsWords; +d.IgnoreWordsNumbers.getElement().$.lastChild.innerHTML=a.LocalizationComing.IgnoreWordsWithNumbers;d.IgnoreMixedCaseWords.getElement().$.lastChild.innerHTML=a.LocalizationComing.IgnoreMixedCaseWords;d.IgnoreDomainNames.getElement().$.lastChild.innerHTML=a.LocalizationComing.IgnoreDomainNames},onHide:function(){f.postMessage.unbindHandler(h);if(y)try{y.focus()}catch(a){}}}});CKEDITOR.dialog.on("resize",function(b){b=b.data;var c=b.dialog,d=CKEDITOR.document.getById(a.iframeNumber+"_"+c._.currentTabId); +"checkspell"==c._.name&&(a.bnr?d&&d.setSize("height",b.height-310):d&&d.setSize("height",b.height-220),c._.fromResizeEvent&&!c._.resized&&(c._.resized=!0),c._.fromResizeEvent=!0)});CKEDITOR.on("dialogDefinition",function(b){if("checkspell"===b.data.name){var c=b.data.definition;a.onLoadOverlay=new B({opacity:"1",background:"#fff",target:c.dialog.parts.tabs.getParent().$});a.onLoadOverlay.setEnable();c.dialog.on("cancel",function(b){c.dialog.getParentEditor().config.wsc_onClose.call(this.document.getWindow().getFrame()); +a.div_overlay&&a.div_overlay.setDisable();a.onLoadOverlay.setDisable();return!1},this,null,-1)}})})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/wsc.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/ciframe.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/ciframe.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/ciframe.html (revision 7) @@ -0,0 +1,68 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> +<!-- +Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +--> +<html> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <script type="text/javascript"> + +function gup( name ) +{ + name = name.replace( /[\[]/, '\\\[' ).replace( /[\]]/, '\\\]' ) ; + var regexS = '[\\?&]' + name + '=([^&#]*)' ; + var regex = new RegExp( regexS ) ; + var results = regex.exec( window.location.href ) ; + + if ( results ) + return results[ 1 ] ; + else + return '' ; +} + +var interval; + +function sendData2Master() +{ + var destination = window.parent.parent ; + try + { + if ( destination.XDTMaster ) + { + var t = destination.XDTMaster.read( [ gup( 'cmd' ), gup( 'data' ) ] ) ; + window.clearInterval( interval ) ; + } + } + catch (e) { + console.log(e) ; + } +} + +function OnMessage (event) { + var message = event.data; + var destination = window.parent.parent; + destination.XDTMaster.read( [ 'end', message, 'fpm' ] ) ; +} + +function listenPostMessage() { + if (window.addEventListener) { // all browsers except IE before version 9 + window.addEventListener ("message", OnMessage, false); + }else { + if (window.attachEvent) { // IE before version 9 + window.attachEvent("onmessage", OnMessage); + } + } +} + +function onLoad() +{ + interval = window.setInterval( sendData2Master, 100 ); + listenPostMessage(); +} + +</script> +</head> +<body onload="onLoad()"><p></p></body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/ciframe.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/wsc_ie.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/wsc_ie.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/wsc_ie.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.dialog.add("checkspell",function(a){function c(a,c){var d=0;return function(){"function"==typeof window.doSpell?("undefined"!=typeof e&&window.clearInterval(e),l(a)):180==d++&&window._cancelOnError(c)}}function l(c){var f=new window._SP_FCK_LangCompare,b=CKEDITOR.getUrl(a.plugins.wsc.path+"dialogs/"),e=b+"tmpFrameset.html";window.gFCKPluginName="wsc";f.setDefaulLangCode(a.config.defaultLanguage);window.doSpell({ctrl:g,lang:a.config.wsc_lang||f.getSPLangCode(a.langCode),intLang:a.config.wsc_uiLang|| +f.getSPLangCode(a.langCode),winType:d,onCancel:function(){c.hide()},onFinish:function(b){a.focus();c.getParentEditor().setData(b.value);c.hide()},staticFrame:e,framesetPath:e,iframePath:b+"ciframe.html",schemaURI:b+"wsc.css",userDictionaryName:a.config.wsc_userDictionaryName,customDictionaryName:a.config.wsc_customDictionaryIds&&a.config.wsc_customDictionaryIds.split(","),domainName:a.config.wsc_domainName});CKEDITOR.document.getById(h).setStyle("display","none");CKEDITOR.document.getById(d).setStyle("display", +"block")}var b=CKEDITOR.tools.getNextNumber(),d="cke_frame_"+b,g="cke_data_"+b,h="cke_error_"+b,e,b=document.location.protocol||"http:",k=a.lang.wsc.notAvailable,m='\x3ctextarea style\x3d"display: none" id\x3d"'+g+'" rows\x3d"10" cols\x3d"40"\x3e \x3c/textarea\x3e\x3cdiv id\x3d"'+h+'" style\x3d"display:none;color:red;font-size:16px;font-weight:bold;padding-top:160px;text-align:center;z-index:11;"\x3e\x3c/div\x3e\x3ciframe src\x3d"" style\x3d"width:100%;background-color:#f1f1e3;" frameborder\x3d"0" name\x3d"'+ +d+'" id\x3d"'+d+'" allowtransparency\x3d"1"\x3e\x3c/iframe\x3e',n=a.config.wsc_customLoaderScript||b+"//loader.webspellchecker.net/sproxy_fck/sproxy.php?plugin\x3dfck2\x26customerid\x3d"+a.config.wsc_customerId+"\x26cmd\x3dscript\x26doc\x3dwsc\x26schema\x3d22";a.config.wsc_customLoaderScript&&(k+='\x3cp style\x3d"color:#000;font-size:11px;font-weight: normal;text-align:center;padding-top:10px"\x3e'+a.lang.wsc.errorLoading.replace(/%s/g,a.config.wsc_customLoaderScript)+"\x3c/p\x3e");window._cancelOnError= +function(c){if("undefined"==typeof window.WSC_Error){CKEDITOR.document.getById(d).setStyle("display","none");var b=CKEDITOR.document.getById(h);b.setStyle("display","block");b.setHtml(c||a.lang.wsc.notAvailable)}};return{title:a.config.wsc_dialogTitle||a.lang.wsc.title,minWidth:485,minHeight:380,buttons:[CKEDITOR.dialog.cancelButton],onShow:function(){var b=this.getContentElement("general","content").getElement();b.setHtml(m);b.getChild(2).setStyle("height",this._.contentSize.height+"px");"function"!= +typeof window.doSpell&&CKEDITOR.document.getHead().append(CKEDITOR.document.createElement("script",{attributes:{type:"text/javascript",src:n}}));b=a.getData();CKEDITOR.document.getById(g).setValue(b);e=window.setInterval(c(this,k),250)},onHide:function(){window.ooo=void 0;window.int_framsetLoaded=void 0;window.framesetLoaded=void 0;window.is_window_opened=!1},contents:[{id:"general",label:a.config.wsc_dialogTitle||a.lang.wsc.title,padding:0,elements:[{type:"html",id:"content",html:""}]}]}}); +CKEDITOR.dialog.on("resize",function(a){a=a.data;var c=a.dialog;"checkspell"==c._.name&&((c=(c=c.getContentElement("general","content").getElement())&&c.getChild(2))&&c.setSize("height",a.height),c&&c.setSize("width",a.width))}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/wsc_ie.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/wsc.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/wsc.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/wsc.css (revision 7) @@ -0,0 +1,82 @@ +/* +Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +html, body +{ + background-color: transparent; + margin: 0px; + padding: 0px; +} + +body +{ + padding: 10px; +} + +body, td, input, select, textarea +{ + font-size: 11px; + font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana; +} + +.midtext +{ + padding:0px; + margin:10px; +} + +.midtext p +{ + padding:0px; + margin:10px; +} + +.Button +{ + border: #737357 1px solid; + color: #3b3b1f; + background-color: #c7c78f; +} + +.PopupTabArea +{ + color: #737357; + background-color: #e3e3c7; +} + +.PopupTitleBorder +{ + border-bottom: #d5d59d 1px solid; +} +.PopupTabEmptyArea +{ + padding-left: 10px; + border-bottom: #d5d59d 1px solid; +} + +.PopupTab, .PopupTabSelected +{ + border-right: #d5d59d 1px solid; + border-top: #d5d59d 1px solid; + border-left: #d5d59d 1px solid; + padding: 3px 5px 3px 5px; + color: #737357; +} + +.PopupTab +{ + margin-top: 1px; + border-bottom: #d5d59d 1px solid; + cursor: pointer; +} + +.PopupTabSelected +{ + font-weight: bold; + cursor: default; + padding-top: 4px; + border-bottom: #f1f1e3 1px solid; + background-color: #f1f1e3; +} Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/wsc.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/tmpFrameset.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/tmpFrameset.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/tmpFrameset.html (revision 7) @@ -0,0 +1,61 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> +<!-- +Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +--> +<html> +<head> + <title></title> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> + <script type="text/javascript"> + (function() { + function doLoadScript(url) { + if (!url) { + return false; + } + + var s = document.createElement("script"); + + s.type = "text/javascript"; + s.src = url; + document.getElementsByTagName("head")[0].appendChild(s); + + return true; + } + + function tryLoad() { + window.opener = window.parent; + + // get access to global parameters + var oParams = window.opener.oldFramesetPageParams; + + // make frameset rows string prepare + var sFramesetRows = (parseInt(oParams.firstframeh, 10) || '30') + ",*," + (parseInt(oParams.thirdframeh, 10) || '150') + ',0'; + + document.getElementById('itFrameset').rows = sFramesetRows; + + // dynamic including init frames and crossdomain transport code + // from config sproxy_js_frameset url + var addScriptUrl = oParams.sproxy_js_frameset; + + doLoadScript(addScriptUrl); + } + + if (window.addEventListener) { // all browsers except IE before version 9 + window.addEventListener("load", tryLoad); + } else { + if (window.attachEvent) { // IE before version 9 + window.attachEvent("onload", tryLoad); + } + } + })(); + </script> +</head> + +<frameset id="itFrameset" border="0" rows="30,*,*,0"> + <frame scrolling="no" framespacing="0" frameborder="0" noresize="noresize" marginheight="0" marginwidth="2" src="" name="navbar"></frame> + <frame scrolling="auto" framespacing="0" frameborder="0" noresize="noresize" marginheight="0" marginwidth="0" src="" name="mid"></frame> + <frame scrolling="no" framespacing="0" frameborder="0" noresize="noresize" marginheight="1" marginwidth="1" src="" name="bot"></frame> + <frame scrolling="no" framespacing="0" frameborder="0" noresize="noresize" marginheight="1" marginwidth="1" src="" name="spellsuggestall"></frame> +</frameset> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/wsc/dialogs/tmpFrameset.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/dialog/dialogDefinition.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/dialog/dialogDefinition.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/dialog/dialogDefinition.js (revision 7) @@ -0,0 +1,4 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/dialog/dialogDefinition.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/preview/preview.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/preview/preview.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/preview/preview.html (revision 7) @@ -0,0 +1,13 @@ +<script> + +// Prevent from DOM clobbering. +if ( typeof window.opener._cke_htmlToLoad == 'string' ) { + var doc = document; + doc.open(); + doc.write( window.opener._cke_htmlToLoad ); + doc.close(); + + delete window.opener._cke_htmlToLoad; +} + +</script> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/preview/preview.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/about/dialogs/logo_ckeditor.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/about/dialogs/logo_ckeditor.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/about/dialogs/about.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/about/dialogs/about.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/about/dialogs/about.js (revision 7) @@ -0,0 +1,8 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("about",function(a){a=a.lang.about;var b=CKEDITOR.getUrl(CKEDITOR.plugins.get("about").path+"dialogs/"+(CKEDITOR.env.hidpi?"hidpi/":"")+"logo_ckeditor.png");return{title:a.dlgTitle,minWidth:390,minHeight:210,contents:[{id:"tab1",label:"",title:"",expand:!0,padding:0,elements:[{type:"html",html:'\x3cstyle type\x3d"text/css"\x3e.cke_about_container{color:#000 !important;padding:10px 10px 0;margin-top:5px}.cke_about_container p{margin: 0 0 10px;}.cke_about_container .cke_about_logo{height:81px;background-color:#fff;background-image:url('+ +b+");"+(CKEDITOR.env.hidpi?"background-size:194px 58px;":"")+'background-position:center; background-repeat:no-repeat;margin-bottom:10px;}.cke_about_container a{cursor:pointer !important;color:#00B2CE !important;text-decoration:underline !important;}.cke_about_container \x3e p,.cke_rtl .cke_about_container \x3e p{text-align:center;}\x3c/style\x3e\x3cdiv class\x3d"cke_about_container"\x3e\x3cdiv class\x3d"cke_about_logo"\x3e\x3c/div\x3e\x3cp\x3eCKEditor '+CKEDITOR.version+" (revision "+CKEDITOR.revision+ +')\x3cbr\x3e\x3ca target\x3d"_blank" rel\x3d"noopener noreferrer" href\x3d"https://ckeditor.com/"\x3ehttps://ckeditor.com\x3c/a\x3e\x3c/p\x3e\x3cp\x3e'+a.moreInfo+'\x3cbr\x3e\x3ca target\x3d"_blank" rel\x3d"noopener noreferrer" href\x3d"https://ckeditor.com/legal/ckeditor-oss-license/"\x3ehttps://ckeditor.com/legal/ckeditor-oss-license/\x3c/a\x3e\x3c/p\x3e\x3cp\x3e'+a.copy.replace("$1",'\x3ca target\x3d"_blank" rel\x3d"noopener noreferrer" href\x3d"https://cksource.com/"\x3eCKSource\x3c/a\x3e - Frederico Knabben')+ +"\x3c/p\x3e\x3c/div\x3e"}]}],buttons:[CKEDITOR.dialog.cancelButton]}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/about/dialogs/about.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/tabletools/dialogs/tableCell.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/tabletools/dialogs/tableCell.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/tabletools/dialogs/tableCell.js (revision 7) @@ -0,0 +1,18 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("cellProperties",function(f){function d(a){return function(b){for(var c=a(b[0]),d=1;d<b.length;d++)if(a(b[d])!==c){c=null;break}"undefined"!=typeof c&&(this.setValue(c),CKEDITOR.env.gecko&&"select"==this.type&&!c&&(this.getInputElement().$.selectedIndex=-1))}}function l(a){if(a=n.exec(a.getStyle("width")||a.getAttribute("width")))return a[2]}var h=f.lang.table,c=h.cell,e=f.lang.common,k=CKEDITOR.dialog.validate,n=/^(\d+(?:\.\d+)?)(px|%)$/,g={type:"html",html:"\x26nbsp;"},p="rtl"== +f.lang.dir,m=f.plugins.colordialog;return{title:c.title,minWidth:CKEDITOR.env.ie&&CKEDITOR.env.quirks?450:410,minHeight:CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?230:220,contents:[{id:"info",label:c.title,accessKey:"I",elements:[{type:"hbox",widths:["40%","5%","40%"],children:[{type:"vbox",padding:0,children:[{type:"hbox",widths:["70%","30%"],children:[{type:"text",id:"width",width:"100px",requiredContent:"td{width,height}",label:e.width,validate:k.number(c.invalidWidth),onLoad:function(){var a= +this.getDialog().getContentElement("info","widthType").getElement(),b=this.getInputElement(),c=b.getAttribute("aria-labelledby");b.setAttribute("aria-labelledby",[c,a.$.id].join(" "))},setup:d(function(a){var b=parseInt(a.getAttribute("width"),10);a=parseInt(a.getStyle("width"),10);return isNaN(a)?isNaN(b)?"":b:a}),commit:function(a){var b=parseInt(this.getValue(),10),c=this.getDialog().getValueOf("info","widthType")||l(a);isNaN(b)?a.removeStyle("width"):a.setStyle("width",b+c);a.removeAttribute("width")}, +"default":""},{type:"select",id:"widthType",requiredContent:"td{width,height}",label:f.lang.table.widthUnit,labelStyle:"visibility:hidden","default":"px",items:[[h.widthPx,"px"],[h.widthPc,"%"]],setup:d(l)}]},{type:"hbox",widths:["70%","30%"],children:[{type:"text",id:"height",requiredContent:"td{width,height}",label:e.height,width:"100px","default":"",validate:k.number(c.invalidHeight),onLoad:function(){var a=this.getDialog().getContentElement("info","htmlHeightType").getElement(),b=this.getInputElement(), +c=b.getAttribute("aria-labelledby");this.getDialog().getContentElement("info","height").isVisible()&&(a.setHtml("\x3cbr /\x3e"+h.widthPx),a.setStyle("display","block"),this.getDialog().getContentElement("info","hiddenSpacer").getElement().setStyle("display","block"));b.setAttribute("aria-labelledby",[c,a.$.id].join(" "))},setup:d(function(a){var b=parseInt(a.getAttribute("height"),10);a=parseInt(a.getStyle("height"),10);return isNaN(a)?isNaN(b)?"":b:a}),commit:function(a){var b=parseInt(this.getValue(), +10);isNaN(b)?a.removeStyle("height"):a.setStyle("height",CKEDITOR.tools.cssLength(b));a.removeAttribute("height")}},{id:"htmlHeightType",type:"html",html:"",style:"display: none"}]},{type:"html",id:"hiddenSpacer",html:"\x26nbsp;",style:"display: none"},{type:"select",id:"wordWrap",label:c.wordWrap,"default":"yes",items:[[c.yes,"yes"],[c.no,"no"]],setup:d(function(a){var b=a.getAttribute("noWrap");if("nowrap"==a.getStyle("white-space")||b)return"no"}),commit:function(a){"no"==this.getValue()?a.setStyle("white-space", +"nowrap"):a.removeStyle("white-space");a.removeAttribute("noWrap")}},g,{type:"select",id:"hAlign",label:c.hAlign,"default":"",items:[[e.notSet,""],[e.left,"left"],[e.center,"center"],[e.right,"right"],[e.justify,"justify"]],setup:d(function(a){var b=a.getAttribute("align");return a.getStyle("text-align")||b||""}),commit:function(a){var b=this.getValue();b?a.setStyle("text-align",b):a.removeStyle("text-align");a.removeAttribute("align")}},{type:"select",id:"vAlign",label:c.vAlign,"default":"",items:[[e.notSet, +""],[e.alignTop,"top"],[e.alignMiddle,"middle"],[e.alignBottom,"bottom"],[c.alignBaseline,"baseline"]],setup:d(function(a){var b=a.getAttribute("vAlign");a=a.getStyle("vertical-align");switch(a){case "top":case "middle":case "bottom":case "baseline":break;default:a=""}return a||b||""}),commit:function(a){var b=this.getValue();b?a.setStyle("vertical-align",b):a.removeStyle("vertical-align");a.removeAttribute("vAlign")}}]},g,{type:"vbox",padding:0,children:[{type:"select",id:"cellType",label:c.cellType, +"default":"td",items:[[c.data,"td"],[c.header,"th"]],setup:d(function(a){return a.getName()}),commit:function(a){a.renameNode(this.getValue())}},g,{type:"text",id:"rowSpan",label:c.rowSpan,"default":"",validate:k.integer(c.invalidRowSpan),setup:d(function(a){if((a=parseInt(a.getAttribute("rowSpan"),10))&&1!=a)return a}),commit:function(a){var b=parseInt(this.getValue(),10);b&&1!=b?a.setAttribute("rowSpan",this.getValue()):a.removeAttribute("rowSpan")}},{type:"text",id:"colSpan",label:c.colSpan,"default":"", +validate:k.integer(c.invalidColSpan),setup:d(function(a){if((a=parseInt(a.getAttribute("colSpan"),10))&&1!=a)return a}),commit:function(a){var b=parseInt(this.getValue(),10);b&&1!=b?a.setAttribute("colSpan",this.getValue()):a.removeAttribute("colSpan")}},g,{type:"hbox",padding:0,widths:["60%","40%"],children:[{type:"text",id:"bgColor",label:c.bgColor,"default":"",setup:d(function(a){var b=a.getAttribute("bgColor");return a.getStyle("background-color")||b}),commit:function(a){this.getValue()?a.setStyle("background-color", +this.getValue()):a.removeStyle("background-color");a.removeAttribute("bgColor")}},m?{type:"button",id:"bgColorChoose","class":"colorChooser",label:c.chooseColor,onLoad:function(){this.getElement().getParent().setStyle("vertical-align","bottom")},onClick:function(){f.getColorFromDialog(function(a){a&&this.getDialog().getContentElement("info","bgColor").setValue(a);this.focus()},this)}}:g]},g,{type:"hbox",padding:0,widths:["60%","40%"],children:[{type:"text",id:"borderColor",label:c.borderColor,"default":"", +setup:d(function(a){var b=a.getAttribute("borderColor");return a.getStyle("border-color")||b}),commit:function(a){this.getValue()?a.setStyle("border-color",this.getValue()):a.removeStyle("border-color");a.removeAttribute("borderColor")}},m?{type:"button",id:"borderColorChoose","class":"colorChooser",label:c.chooseColor,style:(p?"margin-right":"margin-left")+": 10px",onLoad:function(){this.getElement().getParent().setStyle("vertical-align","bottom")},onClick:function(){f.getColorFromDialog(function(a){a&& +this.getDialog().getContentElement("info","borderColor").setValue(a);this.focus()},this)}}:g]}]}]}]}],onShow:function(){this.cells=CKEDITOR.plugins.tabletools.getSelectedCells(this._.editor.getSelection());this.setupContent(this.cells)},onOk:function(){for(var a=this._.editor.getSelection(),b=a.createBookmarks(),c=this.cells,d=0;d<c.length;d++)this.commitContent(c[d]);this._.editor.forceNextSelectionCheck();a.selectBookmarks(b);this._.editor.selectionChange()},onLoad:function(){var a={};this.foreach(function(b){b.setup&& +b.commit&&(b.setup=CKEDITOR.tools.override(b.setup,function(c){return function(){c.apply(this,arguments);a[b.id]=b.getValue()}}),b.commit=CKEDITOR.tools.override(b.commit,function(c){return function(){a[b.id]!==b.getValue()&&c.apply(this,arguments)}}))})}}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/tabletools/dialogs/tableCell.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/table/dialogs/table.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/table/dialogs/table.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/table/dialogs/table.js (revision 7) @@ -0,0 +1,21 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +(function(){function v(a){for(var f=0,n=0,l=0,p,e=a.$.rows.length;l<e;l++){p=a.$.rows[l];for(var d=f=0,b,c=p.cells.length;d<c;d++)b=p.cells[d],f+=b.colSpan;f>n&&(n=f)}return n}function r(a){return function(){var f=this.getValue(),f=!!(CKEDITOR.dialog.validate.integer()(f)&&0<f);f||(alert(a),this.select());return f}}function q(a,f){var n=function(e){return new CKEDITOR.dom.element(e,a.document)},q=a.editable(),p=a.plugins.dialogadvtab;return{title:a.lang.table.title,minWidth:310,minHeight:CKEDITOR.env.ie? +310:280,onLoad:function(){var e=this,a=e.getContentElement("advanced","advStyles");if(a)a.on("change",function(){var a=this.getStyle("width",""),c=e.getContentElement("info","txtWidth");c&&c.setValue(a,!0);a=this.getStyle("height","");(c=e.getContentElement("info","txtHeight"))&&c.setValue(a,!0)})},onShow:function(){var e=a.getSelection(),d=e.getRanges(),b,c=this.getContentElement("info","txtRows"),g=this.getContentElement("info","txtCols"),t=this.getContentElement("info","txtWidth"),m=this.getContentElement("info", +"txtHeight");"tableProperties"==f&&((e=e.getSelectedElement())&&e.is("table")?b=e:0<d.length&&(CKEDITOR.env.webkit&&d[0].shrink(CKEDITOR.NODE_ELEMENT),b=a.elementPath(d[0].getCommonAncestor(!0)).contains("table",1)),this._.selectedElement=b);b?(this.setupContent(b),c&&c.disable(),g&&g.disable()):(c&&c.enable(),g&&g.enable());t&&t.onChange();m&&m.onChange()},onOk:function(){var e=a.getSelection(),d=this._.selectedElement&&e.createBookmarks(),b=this._.selectedElement||n("table"),c={};this.commitContent(c, +b);if(c.info){c=c.info;if(!this._.selectedElement)for(var g=b.append(n("tbody")),f=parseInt(c.txtRows,10)||0,m=parseInt(c.txtCols,10)||0,k=0;k<f;k++)for(var h=g.append(n("tr")),l=0;l<m;l++)h.append(n("td")).appendBogus();f=c.selHeaders;if(!b.$.tHead&&("row"==f||"both"==f)){h=b.getElementsByTag("thead").getItem(0);g=b.getElementsByTag("tbody").getItem(0);m=g.getElementsByTag("tr").getItem(0);h||(h=new CKEDITOR.dom.element("thead"),h.insertBefore(g));for(k=0;k<m.getChildCount();k++)g=m.getChild(k), +g.type!=CKEDITOR.NODE_ELEMENT||g.data("cke-bookmark")||(g.renameNode("th"),g.setAttribute("scope","col"));h.append(m.remove())}if(null!==b.$.tHead&&"row"!=f&&"both"!=f){h=new CKEDITOR.dom.element(b.$.tHead);g=b.getElementsByTag("tbody").getItem(0);for(l=g.getFirst();0<h.getChildCount();){m=h.getFirst();for(k=0;k<m.getChildCount();k++)g=m.getChild(k),g.type==CKEDITOR.NODE_ELEMENT&&(g.renameNode("td"),g.removeAttribute("scope"));m.insertBefore(l)}h.remove()}if(!this.hasColumnHeaders&&("col"==f||"both"== +f))for(h=0;h<b.$.rows.length;h++)g=new CKEDITOR.dom.element(b.$.rows[h].cells[0]),g.renameNode("th"),g.setAttribute("scope","row");if(this.hasColumnHeaders&&"col"!=f&&"both"!=f)for(k=0;k<b.$.rows.length;k++)h=new CKEDITOR.dom.element(b.$.rows[k]),"tbody"==h.getParent().getName()&&(g=new CKEDITOR.dom.element(h.$.cells[0]),g.renameNode("td"),g.removeAttribute("scope"));c.txtHeight?b.setStyle("height",c.txtHeight):b.removeStyle("height");c.txtWidth?b.setStyle("width",c.txtWidth):b.removeStyle("width"); +b.getAttribute("style")||b.removeAttribute("style")}if(this._.selectedElement)try{e.selectBookmarks(d)}catch(p){}else a.insertElement(b),setTimeout(function(){var e=new CKEDITOR.dom.element(b.$.rows[0].cells[0]),c=a.createRange();c.moveToPosition(e,CKEDITOR.POSITION_AFTER_START);c.select()},0)},contents:[{id:"info",label:a.lang.table.title,elements:[{type:"hbox",widths:[null,null],styles:["vertical-align:top"],children:[{type:"vbox",padding:0,children:[{type:"text",id:"txtRows","default":3,label:a.lang.table.rows, +required:!0,controlStyle:"width:5em",validate:r(a.lang.table.invalidRows),setup:function(e){this.setValue(e.$.rows.length)},commit:l},{type:"text",id:"txtCols","default":2,label:a.lang.table.columns,required:!0,controlStyle:"width:5em",validate:r(a.lang.table.invalidCols),setup:function(e){this.setValue(v(e))},commit:l},{type:"html",html:"\x26nbsp;"},{type:"select",id:"selHeaders",requiredContent:"th","default":"",label:a.lang.table.headers,items:[[a.lang.table.headersNone,""],[a.lang.table.headersRow, +"row"],[a.lang.table.headersColumn,"col"],[a.lang.table.headersBoth,"both"]],setup:function(e){var a=this.getDialog();a.hasColumnHeaders=!0;for(var b=0;b<e.$.rows.length;b++){var c=e.$.rows[b].cells[0];if(c&&"th"!=c.nodeName.toLowerCase()){a.hasColumnHeaders=!1;break}}null!==e.$.tHead?this.setValue(a.hasColumnHeaders?"both":"row"):this.setValue(a.hasColumnHeaders?"col":"")},commit:l},{type:"text",id:"txtBorder",requiredContent:"table[border]","default":a.filter.check("table[border]")?1:0,label:a.lang.table.border, +controlStyle:"width:3em",validate:CKEDITOR.dialog.validate.number(a.lang.table.invalidBorder),setup:function(a){this.setValue(a.getAttribute("border")||"")},commit:function(a,d){this.getValue()?d.setAttribute("border",this.getValue()):d.removeAttribute("border")}},{id:"cmbAlign",type:"select",requiredContent:"table[align]","default":"",label:a.lang.common.align,items:[[a.lang.common.notSet,""],[a.lang.common.left,"left"],[a.lang.common.center,"center"],[a.lang.common.right,"right"]],setup:function(a){this.setValue(a.getAttribute("align")|| +"")},commit:function(a,d){this.getValue()?d.setAttribute("align",this.getValue()):d.removeAttribute("align")}}]},{type:"vbox",padding:0,children:[{type:"hbox",widths:["5em"],children:[{type:"text",id:"txtWidth",requiredContent:"table{width}",controlStyle:"width:5em",label:a.lang.common.width,title:a.lang.common.cssLengthTooltip,"default":a.filter.check("table{width}")?500>q.getSize("width")?"100%":500:0,getValue:u,validate:CKEDITOR.dialog.validate.cssLength(a.lang.common.invalidCssLength.replace("%1", +a.lang.common.width)),onChange:function(){var a=this.getDialog().getContentElement("advanced","advStyles");a&&a.updateStyle("width",this.getValue())},setup:function(a){a=a.getStyle("width");this.setValue(a)},commit:l}]},{type:"hbox",widths:["5em"],children:[{type:"text",id:"txtHeight",requiredContent:"table{height}",controlStyle:"width:5em",label:a.lang.common.height,title:a.lang.common.cssLengthTooltip,"default":"",getValue:u,validate:CKEDITOR.dialog.validate.cssLength(a.lang.common.invalidCssLength.replace("%1", +a.lang.common.height)),onChange:function(){var a=this.getDialog().getContentElement("advanced","advStyles");a&&a.updateStyle("height",this.getValue())},setup:function(a){(a=a.getStyle("height"))&&this.setValue(a)},commit:l}]},{type:"html",html:"\x26nbsp;"},{type:"text",id:"txtCellSpace",requiredContent:"table[cellspacing]",controlStyle:"width:3em",label:a.lang.table.cellSpace,"default":a.filter.check("table[cellspacing]")?1:0,validate:CKEDITOR.dialog.validate.number(a.lang.table.invalidCellSpacing), +setup:function(a){this.setValue(a.getAttribute("cellSpacing")||"")},commit:function(a,d){this.getValue()?d.setAttribute("cellSpacing",this.getValue()):d.removeAttribute("cellSpacing")}},{type:"text",id:"txtCellPad",requiredContent:"table[cellpadding]",controlStyle:"width:3em",label:a.lang.table.cellPad,"default":a.filter.check("table[cellpadding]")?1:0,validate:CKEDITOR.dialog.validate.number(a.lang.table.invalidCellPadding),setup:function(a){this.setValue(a.getAttribute("cellPadding")||"")},commit:function(a, +d){this.getValue()?d.setAttribute("cellPadding",this.getValue()):d.removeAttribute("cellPadding")}}]}]},{type:"html",align:"right",html:""},{type:"vbox",padding:0,children:[{type:"text",id:"txtCaption",requiredContent:"caption",label:a.lang.table.caption,setup:function(a){this.enable();a=a.getElementsByTag("caption");if(0<a.count()){a=a.getItem(0);var d=a.getFirst(CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_ELEMENT));d&&!d.equals(a.getBogus())?(this.disable(),this.setValue(a.getText())):(a=CKEDITOR.tools.trim(a.getText()), +this.setValue(a))}},commit:function(e,d){if(this.isEnabled()){var b=this.getValue(),c=d.getElementsByTag("caption");if(b)0<c.count()?(c=c.getItem(0),c.setHtml("")):(c=new CKEDITOR.dom.element("caption",a.document),d.append(c,!0)),c.append(new CKEDITOR.dom.text(b,a.document));else if(0<c.count())for(b=c.count()-1;0<=b;b--)c.getItem(b).remove()}}},{type:"text",id:"txtSummary",bidi:!0,requiredContent:"table[summary]",label:a.lang.table.summary,setup:function(a){this.setValue(a.getAttribute("summary")|| +"")},commit:function(a,d){this.getValue()?d.setAttribute("summary",this.getValue()):d.removeAttribute("summary")}}]}]},p&&p.createAdvancedTab(a,null,"table")]}}var u=CKEDITOR.tools.cssLength,l=function(a){var f=this.id;a.info||(a.info={});a.info[f]=this.getValue()};CKEDITOR.dialog.add("table",function(a){return q(a,"table")});CKEDITOR.dialog.add("tableProperties",function(a){return q(a,"tableProperties")})})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/table/dialogs/table.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/specialchar.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/specialchar.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/specialchar.js (revision 7) @@ -0,0 +1,14 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("specialchar",function(k){var e,n=k.lang.specialchar,m=function(c){var b;c=c.data?c.data.getTarget():new CKEDITOR.dom.element(c);"a"==c.getName()&&(b=c.getChild(0).getHtml())&&(c.removeClass("cke_light_background"),e.hide(),c=k.document.createElement("span"),c.setHtml(b),k.insertText(c.getText()))},p=CKEDITOR.tools.addFunction(m),l,g=function(c,b){var a;b=b||c.data.getTarget();"span"==b.getName()&&(b=b.getParent());if("a"==b.getName()&&(a=b.getChild(0).getHtml())){l&&d(null,l); +var f=e.getContentElement("info","htmlPreview").getElement();e.getContentElement("info","charPreview").getElement().setHtml(a);f.setHtml(CKEDITOR.tools.htmlEncode(a));b.getParent().addClass("cke_light_background");l=b}},d=function(c,b){b=b||c.data.getTarget();"span"==b.getName()&&(b=b.getParent());"a"==b.getName()&&(e.getContentElement("info","charPreview").getElement().setHtml("\x26nbsp;"),e.getContentElement("info","htmlPreview").getElement().setHtml("\x26nbsp;"),b.getParent().removeClass("cke_light_background"), +l=void 0)},q=CKEDITOR.tools.addFunction(function(c){c=new CKEDITOR.dom.event(c);var b=c.getTarget(),a;a=c.getKeystroke();var f="rtl"==k.lang.dir;switch(a){case 38:if(a=b.getParent().getParent().getPrevious())a=a.getChild([b.getParent().getIndex(),0]),a.focus(),d(null,b),g(null,a);c.preventDefault();break;case 40:(a=b.getParent().getParent().getNext())&&(a=a.getChild([b.getParent().getIndex(),0]))&&1==a.type&&(a.focus(),d(null,b),g(null,a));c.preventDefault();break;case 32:m({data:c});c.preventDefault(); +break;case f?37:39:if(a=b.getParent().getNext())a=a.getChild(0),1==a.type?(a.focus(),d(null,b),g(null,a),c.preventDefault(!0)):d(null,b);else if(a=b.getParent().getParent().getNext())(a=a.getChild([0,0]))&&1==a.type?(a.focus(),d(null,b),g(null,a),c.preventDefault(!0)):d(null,b);break;case f?39:37:(a=b.getParent().getPrevious())?(a=a.getChild(0),a.focus(),d(null,b),g(null,a),c.preventDefault(!0)):(a=b.getParent().getParent().getPrevious())?(a=a.getLast().getChild(0),a.focus(),d(null,b),g(null,a),c.preventDefault(!0)): +d(null,b)}});return{title:n.title,minWidth:430,minHeight:280,buttons:[CKEDITOR.dialog.cancelButton],charColumns:17,onLoad:function(){for(var c=this.definition.charColumns,b=k.config.specialChars,a=CKEDITOR.tools.getNextId()+"_specialchar_table_label",f=['\x3ctable role\x3d"listbox" aria-labelledby\x3d"'+a+'" style\x3d"width: 320px; height: 100%; border-collapse: separate;" align\x3d"center" cellspacing\x3d"2" cellpadding\x3d"2" border\x3d"0"\x3e'],d=0,g=b.length,h,e;d<g;){f.push('\x3ctr role\x3d"presentation"\x3e'); +for(var l=0;l<c;l++,d++){if(h=b[d]){h instanceof Array?(e=h[1],h=h[0]):(e=h.replace("\x26","").replace(";","").replace("#",""),e=n[e]||h);var m="cke_specialchar_label_"+d+"_"+CKEDITOR.tools.getNextNumber();f.push('\x3ctd class\x3d"cke_dark_background" style\x3d"cursor: default" role\x3d"presentation"\x3e\x3ca href\x3d"javascript: void(0);" role\x3d"option" aria-posinset\x3d"'+(d+1)+'"',' aria-setsize\x3d"'+g+'"',' aria-labelledby\x3d"'+m+'"',' class\x3d"cke_specialchar" title\x3d"',CKEDITOR.tools.htmlEncode(e), +'" onkeydown\x3d"CKEDITOR.tools.callFunction( '+q+', event, this )" onclick\x3d"CKEDITOR.tools.callFunction('+p+', this); return false;" tabindex\x3d"-1"\x3e\x3cspan style\x3d"margin: 0 auto;cursor: inherit"\x3e'+h+'\x3c/span\x3e\x3cspan class\x3d"cke_voice_label" id\x3d"'+m+'"\x3e'+e+"\x3c/span\x3e\x3c/a\x3e")}else f.push('\x3ctd class\x3d"cke_dark_background"\x3e\x26nbsp;');f.push("\x3c/td\x3e")}f.push("\x3c/tr\x3e")}f.push("\x3c/tbody\x3e\x3c/table\x3e",'\x3cspan id\x3d"'+a+'" class\x3d"cke_voice_label"\x3e'+ +n.options+"\x3c/span\x3e");this.getContentElement("info","charContainer").getElement().setHtml(f.join(""))},contents:[{id:"info",label:k.lang.common.generalTab,title:k.lang.common.generalTab,padding:0,align:"top",elements:[{type:"hbox",align:"top",widths:["320px","90px"],children:[{type:"html",id:"charContainer",html:"",onMouseover:g,onMouseout:d,focus:function(){var c=this.getElement().getElementsByTag("a").getItem(0);setTimeout(function(){c.focus();g(null,c)},0)},onShow:function(){var c=this.getElement().getChild([0, +0,0,0,0]);setTimeout(function(){c.focus();g(null,c)},0)},onLoad:function(c){e=c.sender}},{type:"hbox",align:"top",widths:["100%"],children:[{type:"vbox",align:"top",children:[{type:"html",html:"\x3cdiv\x3e\x3c/div\x3e"},{type:"html",id:"charPreview",className:"cke_dark_background",style:"border:1px solid #eeeeee;font-size:28px;height:40px;width:70px;padding-top:9px;font-family:'Microsoft Sans Serif',Arial,Helvetica,Verdana;text-align:center;",html:"\x3cdiv\x3e\x26nbsp;\x3c/div\x3e"},{type:"html", +id:"htmlPreview",className:"cke_dark_background",style:"border:1px solid #eeeeee;font-size:14px;height:20px;width:70px;padding-top:2px;font-family:'Microsoft Sans Serif',Arial,Helvetica,Verdana;text-align:center;",html:"\x3cdiv\x3e\x26nbsp;\x3c/div\x3e"}]}]}]}]}]}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/specialchar.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/th.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/th.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/th.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","th",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"สัญลักษณ์สกุลเงิน",yen:"สัญลักษณ์เงินเยน",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"สัญลักษณ์หัวข้อย่อย",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/th.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/es.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/es.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/es.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","es",{euro:"Símbolo de euro",lsquo:"Comilla simple izquierda",rsquo:"Comilla simple derecha",ldquo:"Comilla doble izquierda",rdquo:"Comilla doble derecha",ndash:"Guión corto",mdash:"Guión medio largo",iexcl:"Signo de admiración invertido",cent:"Símbolo centavo",pound:"Símbolo libra",curren:"Símbolo moneda",yen:"Símbolo yen",brvbar:"Barra vertical rota",sect:"Símbolo sección",uml:"Diéresis",copy:"Signo de derechos de autor",ordf:"Indicador ordinal femenino",laquo:"Abre comillas angulares", +not:"Signo negación",reg:"Signo de marca registrada",macr:"Guión alto",deg:"Signo de grado",sup2:"Superíndice dos",sup3:"Superíndice tres",acute:"Acento agudo",micro:"Signo micro",para:"Signo de pi",middot:"Punto medio",cedil:"Cedilla",sup1:"Superíndice uno",ordm:"Indicador orginal masculino",raquo:"Cierra comillas angulares",frac14:"Fracción ordinaria de un quarto",frac12:"Fracción ordinaria de una mitad",frac34:"Fracción ordinaria de tres cuartos",iquest:"Signo de interrogación invertido",Agrave:"Letra A latina mayúscula con acento grave", +Aacute:"Letra A latina mayúscula con acento agudo",Acirc:"Letra A latina mayúscula con acento circunflejo",Atilde:"Letra A latina mayúscula con tilde",Auml:"Letra A latina mayúscula con diéresis",Aring:"Letra A latina mayúscula con aro arriba",AElig:"Letra Æ latina mayúscula",Ccedil:"Letra C latina mayúscula con cedilla",Egrave:"Letra E latina mayúscula con acento grave",Eacute:"Letra E latina mayúscula con acento agudo",Ecirc:"Letra E latina mayúscula con acento circunflejo",Euml:"Letra E latina mayúscula con diéresis", +Igrave:"Letra I latina mayúscula con acento grave",Iacute:"Letra I latina mayúscula con acento agudo",Icirc:"Letra I latina mayúscula con acento circunflejo",Iuml:"Letra I latina mayúscula con diéresis",ETH:"Letra Eth latina mayúscula",Ntilde:"Letra N latina mayúscula con tilde",Ograve:"Letra O latina mayúscula con acento grave",Oacute:"Letra O latina mayúscula con acento agudo",Ocirc:"Letra O latina mayúscula con acento circunflejo",Otilde:"Letra O latina mayúscula con tilde",Ouml:"Letra O latina mayúscula con diéresis", +times:"Signo de multiplicación",Oslash:"Letra O latina mayúscula con barra inclinada",Ugrave:"Letra U latina mayúscula con acento grave",Uacute:"Letra U latina mayúscula con acento agudo",Ucirc:"Letra U latina mayúscula con acento circunflejo",Uuml:"Letra U latina mayúscula con diéresis",Yacute:"Letra Y latina mayúscula con acento agudo",THORN:"Letra Thorn latina mayúscula",szlig:"Letra s latina fuerte pequeña",agrave:"Letra a latina pequeña con acento grave",aacute:"Letra a latina pequeña con acento agudo", +acirc:"Letra a latina pequeña con acento circunflejo",atilde:"Letra a latina pequeña con tilde",auml:"Letra a latina pequeña con diéresis",aring:"Letra a latina pequeña con aro arriba",aelig:"Letra æ latina pequeña",ccedil:"Letra c latina pequeña con cedilla",egrave:"Letra e latina pequeña con acento grave",eacute:"Letra e latina pequeña con acento agudo",ecirc:"Letra e latina pequeña con acento circunflejo",euml:"Letra e latina pequeña con diéresis",igrave:"Letra i latina pequeña con acento grave", +iacute:"Letra i latina pequeña con acento agudo",icirc:"Letra i latina pequeña con acento circunflejo",iuml:"Letra i latina pequeña con diéresis",eth:"Letra eth latina pequeña",ntilde:"Letra n latina pequeña con tilde",ograve:"Letra o latina pequeña con acento grave",oacute:"Letra o latina pequeña con acento agudo",ocirc:"Letra o latina pequeña con acento circunflejo",otilde:"Letra o latina pequeña con tilde",ouml:"Letra o latina pequeña con diéresis",divide:"Signo de división",oslash:"Letra o latina minúscula con barra inclinada", +ugrave:"Letra u latina pequeña con acento grave",uacute:"Letra u latina pequeña con acento agudo",ucirc:"Letra u latina pequeña con acento circunflejo",uuml:"Letra u latina pequeña con diéresis",yacute:"Letra u latina pequeña con acento agudo",thorn:"Letra thorn latina minúscula",yuml:"Letra y latina pequeña con diéresis",OElig:"Diptongo OE latino en mayúscula",oelig:"Diptongo oe latino en minúscula",372:"Letra W latina mayúscula con acento circunflejo",374:"Letra Y latina mayúscula con acento circunflejo", +373:"Letra w latina pequeña con acento circunflejo",375:"Letra y latina pequeña con acento circunflejo",sbquo:"Comilla simple baja-9",8219:"Comilla simple alta invertida-9",bdquo:"Comillas dobles bajas-9",hellip:"Puntos suspensivos horizontales",trade:"Signo de marca registrada",9658:"Apuntador negro apuntando a la derecha",bull:"Viñeta",rarr:"Flecha a la derecha",rArr:"Flecha doble a la derecha",hArr:"Flecha izquierda derecha doble",diams:"Diamante negro",asymp:"Casi igual a"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/es.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/zh.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/zh.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/zh.js (revision 7) @@ -0,0 +1,9 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","zh",{euro:"歐元符號",lsquo:"左單引號",rsquo:"右單引號",ldquo:"左雙引號",rdquo:"右雙引號",ndash:"短破折號",mdash:"長破折號",iexcl:"倒置的驚嘆號",cent:"美分符號",pound:"英鎊符號",curren:"貨幣符號",yen:"日圓符號",brvbar:"破折號",sect:"章節符號",uml:"分音符號",copy:"版權符號",ordf:"雌性符號",laquo:"左雙角括號",not:"Not 符號",reg:"註冊商標符號",macr:"長音符號",deg:"度數符號",sup2:"上標字 2",sup3:"上標字 3",acute:"尖音符號",micro:"微",para:"段落符號",middot:"中間點",cedil:"字母 C 下面的尾型符號 ",sup1:"上標",ordm:"雄性符號",raquo:"右雙角括號",frac14:"四分之一符號",frac12:"二分之一符號",frac34:"四分之三符號", +iquest:"倒置的問號",Agrave:"拉丁大寫字母 A 帶抑音符號",Aacute:"拉丁大寫字母 A 帶尖音符號",Acirc:"拉丁大寫字母 A 帶揚抑符",Atilde:"拉丁大寫字母 A 帶波浪號",Auml:"拉丁大寫字母 A 帶分音符號",Aring:"拉丁大寫字母 A 帶上圓圈",AElig:"拉丁大寫字母 Æ",Ccedil:"拉丁大寫字母 C 帶下尾符號",Egrave:"拉丁大寫字母 E 帶抑音符號",Eacute:"拉丁大寫字母 E 帶尖音符號",Ecirc:"拉丁大寫字母 E 帶揚抑符",Euml:"拉丁大寫字母 E 帶分音符號",Igrave:"拉丁大寫字母 I 帶抑音符號",Iacute:"拉丁大寫字母 I 帶尖音符號",Icirc:"拉丁大寫字母 I 帶揚抑符",Iuml:"拉丁大寫字母 I 帶分音符號",ETH:"拉丁大寫字母 Eth",Ntilde:"拉丁大寫字母 N 帶波浪號",Ograve:"拉丁大寫字母 O 帶抑音符號",Oacute:"拉丁大寫字母 O 帶尖音符號",Ocirc:"拉丁大寫字母 O 帶揚抑符",Otilde:"拉丁大寫字母 O 帶波浪號", +Ouml:"拉丁大寫字母 O 帶分音符號",times:"乘號",Oslash:"拉丁大寫字母 O 帶粗線符號",Ugrave:"拉丁大寫字母 U 帶抑音符號",Uacute:"拉丁大寫字母 U 帶尖音符號",Ucirc:"拉丁大寫字母 U 帶揚抑符",Uuml:"拉丁大寫字母 U 帶分音符號",Yacute:"拉丁大寫字母 Y 帶尖音符號",THORN:"拉丁大寫字母 Thorn",szlig:"拉丁小寫字母 s",agrave:"拉丁小寫字母 a 帶抑音符號",aacute:"拉丁小寫字母 a 帶尖音符號",acirc:"拉丁小寫字母 a 帶揚抑符",atilde:"拉丁小寫字母 a 帶波浪號",auml:"拉丁小寫字母 a 帶分音符號",aring:"拉丁小寫字母 a 帶上圓圈",aelig:"拉丁小寫字母 æ",ccedil:"拉丁小寫字母 c 帶下尾符號",egrave:"拉丁小寫字母 e 帶抑音符號",eacute:"拉丁小寫字母 e 帶尖音符號",ecirc:"拉丁小寫字母 e 帶揚抑符",euml:"拉丁小寫字母 e 帶分音符號",igrave:"拉丁小寫字母 i 帶抑音符號", +iacute:"拉丁小寫字母 i 帶尖音符號",icirc:"拉丁小寫字母 i 帶揚抑符",iuml:"拉丁小寫字母 i 帶分音符號",eth:"拉丁小寫字母 eth",ntilde:"拉丁小寫字母 n 帶波浪號",ograve:"拉丁小寫字母 o 帶抑音符號",oacute:"拉丁小寫字母 o 帶尖音符號",ocirc:"拉丁小寫字母 o 帶揚抑符",otilde:"拉丁小寫字母 o 帶波浪號",ouml:"拉丁小寫字母 o 帶分音符號",divide:"除號",oslash:"拉丁小寫字母 o 帶粗線符號",ugrave:"拉丁小寫字母 u 帶抑音符號",uacute:"拉丁小寫字母 u 帶尖音符號",ucirc:"拉丁小寫字母 u 帶揚抑符",uuml:"拉丁小寫字母 u 帶分音符號",yacute:"拉丁小寫字母 y 帶尖音符號",thorn:"拉丁小寫字母 thorn",yuml:"拉丁小寫字母 y 帶分音符號",OElig:"拉丁大寫字母 OE",oelig:"拉丁小寫字母 oe",372:"拉丁大寫字母 W 帶揚抑符",374:"拉丁大寫字母 Y 帶揚抑符",373:"拉丁小寫字母 w 帶揚抑符", +375:"拉丁小寫字母 y 帶揚抑符",sbquo:"低 9 單引號",8219:"高 9 反轉單引號",bdquo:"低 9 雙引號",hellip:"水平刪節號",trade:"商標符號",9658:"黑色向右指箭號",bull:"項目符號",rarr:"向右箭號",rArr:"向右雙箭號",hArr:"左右雙箭號",diams:"黑鑽套裝",asymp:"約等於"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/zh.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/cs.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/cs.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/cs.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","cs",{euro:"Znak eura",lsquo:"Počáteční uvozovka jednoduchá",rsquo:"Koncová uvozovka jednoduchá",ldquo:"Počáteční uvozovka dvojitá",rdquo:"Koncová uvozovka dvojitá",ndash:"En pomlčka",mdash:"Em pomlčka",iexcl:"Obrácený vykřičník",cent:"Znak centu",pound:"Znak libry",curren:"Znak měny",yen:"Znak jenu",brvbar:"Přerušená svislá čára",sect:"Znak oddílu",uml:"Přehláska",copy:"Znak copyrightu",ordf:"Ženský indikátor rodu",laquo:"Znak dvojitých lomených uvozovek vlevo", +not:"Logistický zápor",reg:"Znak registrace",macr:"Pomlčka nad",deg:"Znak stupně",sup2:"Dvojka jako horní index",sup3:"Trojka jako horní index",acute:"Čárka nad vpravo",micro:"Znak mikro",para:"Znak odstavce",middot:"Tečka uprostřed",cedil:"Ocásek vlevo",sup1:"Jednička jako horní index",ordm:"Mužský indikátor rodu",raquo:"Znak dvojitých lomených uvozovek vpravo",frac14:"Obyčejný zlomek jedna čtvrtina",frac12:"Obyčejný zlomek jedna polovina",frac34:"Obyčejný zlomek tři čtvrtiny",iquest:"Znak obráceného otazníku", +Agrave:"Velké písmeno latinky A s čárkou nad vlevo",Aacute:"Velké písmeno latinky A s čárkou nad vpravo",Acirc:"Velké písmeno latinky A s vokáněm",Atilde:"Velké písmeno latinky A s tildou",Auml:"Velké písmeno latinky A s dvěma tečkami",Aring:"Velké písmeno latinky A s kroužkem nad",AElig:"Velké písmeno latinky Æ",Ccedil:"Velké písmeno latinky C s ocáskem vlevo",Egrave:"Velké písmeno latinky E s čárkou nad vlevo",Eacute:"Velké písmeno latinky E s čárkou nad vpravo",Ecirc:"Velké písmeno latinky E s vokáněm", +Euml:"Velké písmeno latinky E s dvěma tečkami",Igrave:"Velké písmeno latinky I s čárkou nad vlevo",Iacute:"Velké písmeno latinky I s čárkou nad vpravo",Icirc:"Velké písmeno latinky I s vokáněm",Iuml:"Velké písmeno latinky I s dvěma tečkami",ETH:"Velké písmeno latinky Eth",Ntilde:"Velké písmeno latinky N s tildou",Ograve:"Velké písmeno latinky O s čárkou nad vlevo",Oacute:"Velké písmeno latinky O s čárkou nad vpravo",Ocirc:"Velké písmeno latinky O s vokáněm",Otilde:"Velké písmeno latinky O s tildou", +Ouml:"Velké písmeno latinky O s dvěma tečkami",times:"Znak násobení",Oslash:"Velké písmeno latinky O přeškrtnuté",Ugrave:"Velké písmeno latinky U s čárkou nad vlevo",Uacute:"Velké písmeno latinky U s čárkou nad vpravo",Ucirc:"Velké písmeno latinky U s vokáněm",Uuml:"Velké písmeno latinky U s dvěma tečkami",Yacute:"Velké písmeno latinky Y s čárkou nad vpravo",THORN:"Velké písmeno latinky Thorn",szlig:"Malé písmeno latinky ostré s",agrave:"Malé písmeno latinky a s čárkou nad vlevo",aacute:"Malé písmeno latinky a s čárkou nad vpravo", +acirc:"Malé písmeno latinky a s vokáněm",atilde:"Malé písmeno latinky a s tildou",auml:"Malé písmeno latinky a s dvěma tečkami",aring:"Malé písmeno latinky a s kroužkem nad",aelig:"Malé písmeno latinky ae",ccedil:"Malé písmeno latinky c s ocáskem vlevo",egrave:"Malé písmeno latinky e s čárkou nad vlevo",eacute:"Malé písmeno latinky e s čárkou nad vpravo",ecirc:"Malé písmeno latinky e s vokáněm",euml:"Malé písmeno latinky e s dvěma tečkami",igrave:"Malé písmeno latinky i s čárkou nad vlevo",iacute:"Malé písmeno latinky i s čárkou nad vpravo", +icirc:"Malé písmeno latinky i s vokáněm",iuml:"Malé písmeno latinky i s dvěma tečkami",eth:"Malé písmeno latinky eth",ntilde:"Malé písmeno latinky n s tildou",ograve:"Malé písmeno latinky o s čárkou nad vlevo",oacute:"Malé písmeno latinky o s čárkou nad vpravo",ocirc:"Malé písmeno latinky o s vokáněm",otilde:"Malé písmeno latinky o s tildou",ouml:"Malé písmeno latinky o s dvěma tečkami",divide:"Znak dělení",oslash:"Malé písmeno latinky o přeškrtnuté",ugrave:"Malé písmeno latinky u s čárkou nad vlevo", +uacute:"Malé písmeno latinky u s čárkou nad vpravo",ucirc:"Malé písmeno latinky u s vokáněm",uuml:"Malé písmeno latinky u s dvěma tečkami",yacute:"Malé písmeno latinky y s čárkou nad vpravo",thorn:"Malé písmeno latinky thorn",yuml:"Malé písmeno latinky y s dvěma tečkami",OElig:"Velká ligatura latinky OE",oelig:"Malá ligatura latinky OE",372:"Velké písmeno latinky W s vokáněm",374:"Velké písmeno latinky Y s vokáněm",373:"Malé písmeno latinky w s vokáněm",375:"Malé písmeno latinky y s vokáněm",sbquo:"Dolní 9 uvozovka jednoduchá", +8219:"Horní obrácená 9 uvozovka jednoduchá",bdquo:"Dolní 9 uvozovka dvojitá",hellip:"Trojtečkový úvod",trade:"Obchodní značka",9658:"Černý ukazatel směřující vpravo",bull:"Kolečko",rarr:"Šipka vpravo",rArr:"Dvojitá šipka vpravo",hArr:"Dvojitá šipka vlevo a vpravo",diams:"Černé piky",asymp:"Téměř se rovná"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/cs.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/eo.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/eo.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/eo.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","eo",{euro:"Eŭrosigno",lsquo:"Supra 6-citilo",rsquo:"Supra 9-citilo",ldquo:"Supra 66-citilo",rdquo:"Supra 99-citilo",ndash:"Streketo",mdash:"Substreko",iexcl:"Renversita krisigno",cent:"Cendosigno",pound:"Pundosigno",curren:"Monersigno",yen:"Enosigno",brvbar:"Rompita vertikala streko",sect:"Kurba paragrafo",uml:"Tremao",copy:"Kopirajtosigno",ordf:"Adjektiva numerfinaĵo",laquo:"Duobla malplio-citilo",not:"Negohoko",reg:"Registrita marko",macr:"Superstreko",deg:"Gradosigno", +sup2:"Supra indico 2",sup3:"Supra indico 3",acute:"Dekstra korno",micro:"Mikrosigno",para:"Rekta paragrafo",middot:"Meza punkto",cedil:"Zoeto",sup1:"Supra indico 1",ordm:"Substantiva numerfinaĵo",raquo:"Duobla plio-citilo",frac14:"Kvaronosigno",frac12:"Duonosigno",frac34:"Trikvaronosigno",iquest:"renversita demandosigno",Agrave:"Latina ĉeflitero A kun liva korno",Aacute:"Latina ĉeflitero A kun dekstra korno",Acirc:"Latina ĉeflitero A kun ĉapelo",Atilde:"Latina ĉeflitero A kun tildo",Auml:"Latina ĉeflitero A kun tremao", +Aring:"Latina ĉeflitero A kun superringo",AElig:"Latina ĉeflitera ligaturo Æ",Ccedil:"Latina ĉeflitero C kun zoeto",Egrave:"Latina ĉeflitero E kun liva korno",Eacute:"Latina ĉeflitero E kun dekstra korno",Ecirc:"Latina ĉeflitero E kun ĉapelo",Euml:"Latina ĉeflitero E kun tremao",Igrave:"Latina ĉeflitero I kun liva korno",Iacute:"Latina ĉeflitero I kun dekstra korno",Icirc:"Latina ĉeflitero I kun ĉapelo",Iuml:"Latina ĉeflitero I kun tremao",ETH:"Latina ĉeflitero islanda edo",Ntilde:"Latina ĉeflitero N kun tildo", +Ograve:"Latina ĉeflitero O kun liva korno",Oacute:"Latina ĉeflitero O kun dekstra korno",Ocirc:"Latina ĉeflitero O kun ĉapelo",Otilde:"Latina ĉeflitero O kun tildo",Ouml:"Latina ĉeflitero O kun tremao",times:"Multipliko",Oslash:"Latina ĉeflitero O trastrekita",Ugrave:"Latina ĉeflitero U kun liva korno",Uacute:"Latina ĉeflitero U kun dekstra korno",Ucirc:"Latina ĉeflitero U kun ĉapelo",Uuml:"Latina ĉeflitero U kun tremao",Yacute:"Latina ĉeflitero Y kun dekstra korno",THORN:"Latina ĉeflitero islanda dorno", +szlig:"Latina etlitero germana sozo (akra s)",agrave:"Latina etlitero a kun liva korno",aacute:"Latina etlitero a kun dekstra korno",acirc:"Latina etlitero a kun ĉapelo",atilde:"Latina etlitero a kun tildo",auml:"Latina etlitero a kun tremao",aring:"Latina etlitero a kun superringo",aelig:"Latina etlitera ligaturo æ",ccedil:"Latina etlitero c kun zoeto",egrave:"Latina etlitero e kun liva korno",eacute:"Latina etlitero e kun dekstra korno",ecirc:"Latina etlitero e kun ĉapelo",euml:"Latina etlitero e kun tremao", +igrave:"Latina etlitero i kun liva korno",iacute:"Latina etlitero i kun dekstra korno",icirc:"Latina etlitero i kun ĉapelo",iuml:"Latina etlitero i kun tremao",eth:"Latina etlitero islanda edo",ntilde:"Latina etlitero n kun tildo",ograve:"Latina etlitero o kun liva korno",oacute:"Latina etlitero o kun dekstra korno",ocirc:"Latina etlitero o kun ĉapelo",otilde:"Latina etlitero o kun tildo",ouml:"Latina etlitero o kun tremao",divide:"Dividosigno",oslash:"Latina etlitero o trastrekita",ugrave:"Latina etlitero u kun liva korno", +uacute:"Latina etlitero u kun dekstra korno",ucirc:"Latina etlitero u kun ĉapelo",uuml:"Latina etlitero u kun tremao",yacute:"Latina etlitero y kun dekstra korno",thorn:"Latina etlitero islanda dorno",yuml:"Latina etlitero y kun tremao",OElig:"Latina ĉeflitera ligaturo Œ",oelig:"Latina etlitera ligaturo œ",372:"Latina ĉeflitero W kun ĉapelo",374:"Latina ĉeflitero Y kun ĉapelo",373:"Latina etlitero w kun ĉapelo",375:"Latina etlitero y kun ĉapelo",sbquo:"Suba 9-citilo",8219:"Supra renversita 9-citilo", +bdquo:"Suba 99-citilo",hellip:"Tripunkto",trade:"Varmarka signo",9658:"Nigra sago dekstren",bull:"Bulmarko",rarr:"Sago dekstren",rArr:"Duobla sago dekstren",hArr:"Duobla sago maldekstren",diams:"Nigra kvadrato",asymp:"Preskaŭ egala"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/eo.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","es-mx",{euro:"Signo de Euro",lsquo:"Comillas simple izquierda",rsquo:"Comillas simple derecha",ldquo:"Comillas dobles izquierda",rdquo:"Comillas dobles derecha",ndash:"Guión corto",mdash:"Guión largo",iexcl:"Signo de exclamación invertido",cent:"Signo de centavo",pound:"Signo de Libra",curren:"Signo de moneda",yen:"Signo de Yen",brvbar:"Barra rota",sect:"Signo de la sección",uml:"Diéresis",copy:"Signo de Derechos reservados",ordf:"Indicador ordinal femenino", +laquo:"Señal de doble ángulo hacia la izquierda",not:"Sin signo",reg:"Signo registrado",macr:"Macron",deg:"signo de grados",sup2:"Superíndice dos",sup3:"Superíndice tres",acute:"Acento agudo",micro:"Signo micro",para:"Signo pilcrow",middot:"Punto medio",cedil:"Cedilla",sup1:"Superíndice uno",ordm:"Indicador ordinal masculino",raquo:"Señal de doble ángulo hacia la derecha",frac14:"Fracción un cuarto",frac12:"Fracción medio",frac34:"Fracción tres cuartos",iquest:"Signo de interrogación invertido",Agrave:"Letra mayúscula latina A con acento grave", +Aacute:"Letra mayúscula latina A con acento agudo",Acirc:"Letra mayúscula latina A con circunflexo",Atilde:"Letra mayúscula latina A con tilde",Auml:"Letra mayúscula latina A con diéresis",Aring:"Letra mayúscula latina A con anillo arriba",AElig:"Letra mayúscula latina Æ",Ccedil:"Letra mayúscula latina C con cedilla",Egrave:"Letra mayúscula latina E con acento grave",Eacute:"Letra mayúscula latina E con acento agudo",Ecirc:"Letra mayúscula latina E con circumflex",Euml:"Letra mayúscula latina E con diéresis", +Igrave:"Letra mayúscula latina I con acento grave",Iacute:"Letra mayúscula latina I con acento agudo",Icirc:"Letra mayúscula latina I con circumflex",Iuml:"Letra mayúscula latina E con diéresis",ETH:"Letra mayúscula latina Eth",Ntilde:"Letra mayúscula latina N con tilde",Ograve:"Letra mayúscula latina O con acento grave",Oacute:"Letra mayúscula latina O con acento agudo",Ocirc:"Letra mayúscula latina O con circumflex",Otilde:"Letra mayúscula latina O con tilde",Ouml:"Letra mayúscula latina O con diéresis", +times:"Signo de multiplicación",Oslash:"Letra mayúscula latina O con trazo",Ugrave:"Letra mayúscula latina U con acento grave",Uacute:"Letra mayúscula latina U con acento agudo",Ucirc:"Letra mayúscula latina U con circumflex",Uuml:"Letra mayúscula latina U con diéresis",Yacute:"Letra mayúscula latina Y con acento agudo",THORN:"Letra mayúscula latina Thorn",szlig:"Letra pequeña latina s",agrave:"Letra pequeña latina a con acento grave",aacute:"Letra pequeña latina a con acento agudo",acirc:"Letra pequeña latina a con circumflex", +atilde:"Letra pequeña latina a con tilde",auml:"Letra pequeña latina a con diéresis",aring:"Letra pequeña latina a con anillo arriba",aelig:"Letra pequeña latina æ",ccedil:"Letra pequeña latina c con cedilla",egrave:"Letra pequeña latina e con acento grave",eacute:"Letra pequeña latina e con acento agudo",ecirc:"Letra pequeña latina e con circumflex",euml:"Letra pequeña latina e con diéresis",igrave:"Letra pequeña latina i con acento grave",iacute:"Letra pequeña latina i con acento agudo",icirc:"Letra pequeña latina i con circumflex", +iuml:"Letra pequeña latina i con diéresis",eth:"Letra pequeña latina eth",ntilde:"Letra pequeña latina n con tilde",ograve:"Letra pequeña latina o con acento grave",oacute:"Letra pequeña latina o con acento agudo",ocirc:"Letra pequeña latina o con circumflex",otilde:"Letra pequeña latina o con tilde",ouml:"Letra pequeña latina o con diéresis",divide:"Signo de división",oslash:"Letra pequeña latina o con trazo",ugrave:"Letra pequeña latina u con acento grave",uacute:"Letra pequeña latina u con acento agudo", +ucirc:"Letra pequeña latina u con circumflex",uuml:"Letra pequeña latina u con diéresis",yacute:"Letra pequeña latina y con acento agudo",thorn:"Espina de letra pequeña latina",yuml:"Letra pequeña latina y con diéresis",OElig:"Ligadura de capital latino OE",oelig:"Ligadura de pequeña latino OE",372:"Letra latina mayúscula W con circunflexo",374:"Letra latina mayúscula Y con circunflexo",373:"Letra latina minúscula w con circunflexo",375:"Letra latina minúscula y con circunflexo",sbquo:"Signo de comillas simple abajo", +8219:"Signo de comillas simple arriba",bdquo:"Signo de doble comillas abajo",hellip:"Elipsis horizontal",trade:"Signo merccantl",9658:"Puntero derecho negro",bull:"Bala",rarr:"Flecha hacia la derecha",rArr:"Doble flecha hacia la derecha",hArr:"Flecha doble izquierda derecha",diams:"Palo de diamante negro",asymp:"Casi igual a"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/bg.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/bg.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/bg.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","bg",{euro:"Евро знак",lsquo:"Лява маркировка за цитат",rsquo:"Дясна маркировка за цитат",ldquo:"Лява двойна кавичка за цитат",rdquo:"Дясна двойна кавичка за цитат",ndash:"\\\\",mdash:"/",iexcl:"Обърната питанка",cent:"Знак за цент",pound:"Знак за паунд",curren:"Валутен знак",yen:"Знак за йена",brvbar:"Прекъсната линия",sect:"Знак за секция",uml:"Diaeresis",copy:"Знак за Copyright",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/bg.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","en-gb",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Yen sign",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js (revision 7) @@ -0,0 +1,10 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","fr-ca",{euro:"Symbole Euro",lsquo:"Guillemet simple ouvrant",rsquo:"Guillemet simple fermant",ldquo:"Guillemet double ouvrant",rdquo:"Guillemet double fermant",ndash:"Tiret haut",mdash:"Tiret",iexcl:"Point d'exclamation inversé",cent:"Symbole de cent",pound:"Symbole de Livre Sterling",curren:"Symbole monétaire",yen:"Symbole du Yen",brvbar:"Barre scindée",sect:"Symbole de section",uml:"Tréma",copy:"Symbole de copyright",ordf:"Indicateur ordinal féminin",laquo:"Guillemet français ouvrant", +not:"Indicateur de négation",reg:"Symbole de marque déposée",macr:"Macron",deg:"Degré",sup2:"Exposant 2",sup3:"Exposant 3",acute:"Accent aigüe",micro:"Symbole micro",para:"Paragraphe",middot:"Point médian",cedil:"Cédille",sup1:"Exposant 1",ordm:"Indicateur ordinal masculin",raquo:"Guillemet français fermant",frac14:"Un quart",frac12:"Une demi",frac34:"Trois quart",iquest:"Point d'interrogation inversé",Agrave:"A accent grave",Aacute:"A accent aigüe",Acirc:"A circonflexe",Atilde:"A tilde",Auml:"A tréma", +Aring:"A avec un rond au dessus",AElig:"Æ majuscule",Ccedil:"C cédille",Egrave:"E accent grave",Eacute:"E accent aigüe",Ecirc:"E accent circonflexe",Euml:"E tréma",Igrave:"I accent grave",Iacute:"I accent aigüe",Icirc:"I accent circonflexe",Iuml:"I tréma",ETH:"Lettre majuscule islandaise ED",Ntilde:"N tilde",Ograve:"O accent grave",Oacute:"O accent aigüe",Ocirc:"O accent circonflexe",Otilde:"O tilde",Ouml:"O tréma",times:"Symbole de multiplication",Oslash:"O barré",Ugrave:"U accent grave",Uacute:"U accent aigüe", +Ucirc:"U accent circonflexe",Uuml:"U tréma",Yacute:"Y accent aigüe",THORN:"Lettre islandaise Thorn majuscule",szlig:"Lettre minuscule allemande s dur",agrave:"a accent grave",aacute:"a accent aigüe",acirc:"a accent circonflexe",atilde:"a tilde",auml:"a tréma",aring:"a avec un cercle au dessus",aelig:"æ",ccedil:"c cédille",egrave:"e accent grave",eacute:"e accent aigüe",ecirc:"e accent circonflexe",euml:"e tréma",igrave:"i accent grave",iacute:"i accent aigüe",icirc:"i accent circonflexe",iuml:"i tréma", +eth:"Lettre minuscule islandaise ED",ntilde:"n tilde",ograve:"o accent grave",oacute:"o accent aigüe",ocirc:"O accent circonflexe",otilde:"O tilde",ouml:"O tréma",divide:"Symbole de division",oslash:"o barré",ugrave:"u accent grave",uacute:"u accent aigüe",ucirc:"u accent circonflexe",uuml:"u tréma",yacute:"y accent aigüe",thorn:"Lettre islandaise thorn minuscule",yuml:"y tréma",OElig:"ligature majuscule latine Œ",oelig:"ligature minuscule latine œ",372:"W accent circonflexe",374:"Y accent circonflexe", +373:"w accent circonflexe",375:"y accent circonflexe",sbquo:"Guillemet simple fermant",8219:"Guillemet-virgule supérieur culbuté",bdquo:"Guillemet-virgule double inférieur",hellip:"Points de suspension",trade:"Symbole de marque déposée",9658:"Flèche noire pointant vers la droite",bull:"Puce",rarr:"Flèche vers la droite",rArr:"Flèche double vers la droite",hArr:"Flèche double vers la gauche",diams:"Carreau",asymp:"Presque égal"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ro.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ro.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ro.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","ro",{euro:"Simbol EURO €",lsquo:"Ghilimea simplă stânga",rsquo:"Ghilimea simplă dreapta",ldquo:"Ghilimea dublă stânga",rdquo:"Ghilimea dublă dreapta",ndash:"liniuță despărțire cu spații",mdash:"liniuță despărțire cuvinte fără spații",iexcl:"semnul exclamației inversat",cent:"simbol cent",pound:"simbol lira sterlină",curren:"simbol monedă",yen:"simbol yen",brvbar:"bara verticală întreruptă",sect:"simbol paragraf",uml:"tréma",copy:"simbol drept de autor",ordf:"Indicatorul ordinal feminin a superscript", +laquo:"Left-pointing double angle quotation mark",not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Sedila",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Semnul întrebării inversat", +Agrave:"Latin capital letter A with grave accent",Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex", +Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent",Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde", +Ouml:"Latin capital letter O with diaeresis",times:"Simbol înmulțire",Oslash:"Latin capital letter O with stroke",Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent", +acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis",aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent", +icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth",ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Simbol împărțire",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent", +ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis",yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark", +bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis",trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Aproximativ egal cu"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ro.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ko.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ko.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ko.js (revision 7) @@ -0,0 +1,10 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","ko",{euro:"유로화 기호",lsquo:"왼쪽 외 따옴표",rsquo:"오른쪽 외 따옴표",ldquo:"왼쪽 쌍 따옴표",rdquo:"오른쪽 쌍 따옴표",ndash:"반각 대시",mdash:"전각 대시",iexcl:"반전된 느낌표",cent:"센트 기호",pound:"파운드화 기호",curren:"커런시 기호",yen:"위안화 기호",brvbar:"파선",sect:"섹션 기호",uml:"분음 부호",copy:"저작권 기호",ordf:"Feminine ordinal indicator",laquo:"왼쪽 쌍꺽쇠 인용 부호",not:"금지 기호",reg:"등록 기호",macr:"장음 기호",deg:"도 기호",sup2:"위첨자 2",sup3:"위첨자 3",acute:"양음 악센트 부호",micro:"마이크로 기호",para:"단락 기호",middot:"가운데 점",cedil:"세디유",sup1:"위첨자 1",ordm:"Masculine ordinal indicator", +raquo:"오른쪽 쌍꺽쇠 인용 부호",frac14:"분수 사분의 일",frac12:"분수 이분의 일",frac34:"분수 사분의 삼",iquest:"뒤집힌 물음표",Agrave:"억음 부호가 있는 라틴 대문자 A",Aacute:"양음 악센트 부호가 있는 라틴 대문자 A",Acirc:"곡절 악센트 부호가 있는 라틴 대문자 A",Atilde:"틸데가 있는 라틴 대문자 A",Auml:"분음 기호가 있는 라틴 대문자 A",Aring:"윗고리가 있는 라틴 대문자 A",AElig:"라틴 대문자 Æ",Ccedil:"세디유가 있는 라틴 대문자 C",Egrave:"억음 부호가 있는 라틴 대문자 E",Eacute:"양음 악센트 부호가 있는 라틴 대문자 E",Ecirc:"곡절 악센트 부호가 있는 라틴 대문자 E",Euml:"분음 기호가 있는 라틴 대문자 E",Igrave:"억음 부호가 있는 라틴 대문자 I",Iacute:"양음 악센트 부호가 있는 라틴 대문자 I",Icirc:"곡절 악센트 부호가 있는 라틴 대문자 I", +Iuml:"분음 기호가 있는 라틴 대문자 I",ETH:"라틴 대문자 Eth",Ntilde:"틸데가 있는 라틴 대문자 N",Ograve:"억음 부호가 있는 라틴 대문자 O",Oacute:"양음 부호가 있는 라틴 대문자 O",Ocirc:"곡절 악센트 부호가 있는 라틴 대문자 O",Otilde:"틸데가 있는 라틴 대문자 O",Ouml:"분음 기호가 있는 라틴 대문자 O",times:"곱하기 기호",Oslash:"사선이 있는 라틴 대문자 O",Ugrave:"억음 부호가 있는 라틴 대문자 U",Uacute:"양음 부호가 있는 라틴 대문자 U",Ucirc:"곡절 악센트 부호가 있는 라틴 대문자 U",Uuml:"분음 기호가 있는 라틴 대문자 U",Yacute:"양음 부호가 있는 라틴 대문자 Y",THORN:"라틴 대문자 Thorn",szlig:"라틴 소문자 sharp s",agrave:"억음 부호가 있는 라틴 소문자 a",aacute:"양음 부호가 있는 라틴 소문자 a",acirc:"곡절 악센트 부호가 있는 라틴 소문자 a", +atilde:"틸데가 있는 라틴 소문자 a",auml:"분음 기호가 있는 라틴 소문자 a",aring:"윗고리가 있는 라틴 소문자 a",aelig:"라틴 소문자 æ",ccedil:"세디유가 있는 라틴 소문자 c",egrave:"억음 부호가 있는 라틴 소문자 e",eacute:"양음 부호가 있는 라틴 소문자 e",ecirc:"곡절 악센트 부호가 있는 라틴 소문자 e",euml:"분음 기호가 있는 라틴 소문자 e",igrave:"억음 부호가 있는 라틴 소문자 i",iacute:"양음 부호가 있는 라틴 소문자 i",icirc:"곡절 악센트 부호가 있는 라틴 소문자 i",iuml:"분음 기호가 있는 라틴 소문자 i",eth:"라틴 소문자 eth",ntilde:"틸데가 있는 라틴 소문자 n",ograve:"억음 부호가 있는 라틴 소문자 o",oacute:"양음 부호가 있는 라틴 소문자 o",ocirc:"곡절 악센트 부호가 있는 라틴 소문자 o",otilde:"틸데가 있는 라틴 소문자 o",ouml:"분음 기호가 있는 라틴 소문자 o", +divide:"나누기 기호",oslash:"사선이 있는 라틴 소문자 o",ugrave:"억음 부호가 있는 라틴 소문자 u",uacute:"양음 부호가 있는 라틴 소문자 u",ucirc:"곡절 악센트 부호가 있는 라틴 소문자 u",uuml:"분음 기호가 있는 라틴 소문자 u",yacute:"양음 부호가 있는 라틴 소문자 y",thorn:"라틴 소문자 thorn",yuml:"분음 기호가 있는 라틴 소문자 y",OElig:"라틴 대문합자 OE",oelig:"라틴 소문합자 oe",372:"곡절 악센트 부호가 있는 라틴 대문자 W",374:"곡절 악센트 부호가 있는 라틴 대문자 Y",373:"곡절 악센트 부호가 있는 라틴 소문자 w",375:"곡절 악센트 부호가 있는 라틴 소문자 y",sbquo:"외 아래-9 인용 부호",8219:"외 위쪽-뒤집힌-9 인용 부호",bdquo:"쌍 아래-9 인용 부호",hellip:"수평 생략 부호",trade:"상표 기호",9658:"검정 오른쪽 포인터",bull:"큰 점", +rarr:"오른쪽 화살표",rArr:"오른쪽 두 줄 화살표",hArr:"양쪽 두 줄 화살표",diams:"검정 다이아몬드",asymp:"근사"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ko.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/no.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/no.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/no.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","no",{euro:"Eurosymbol",lsquo:"Venstre enkelt anførselstegn",rsquo:"Høyre enkelt anførselstegn",ldquo:"Venstre dobbelt anførselstegn",rdquo:"Høyre anførsesltegn",ndash:"Kort tankestrek",mdash:"Lang tankestrek",iexcl:"Omvendt utropstegn",cent:"Centsymbol",pound:"Pundsymbol",curren:"Valutategn",yen:"Yensymbol",brvbar:"Brutt loddrett strek",sect:"Paragraftegn",uml:"Tøddel",copy:"Copyrighttegn",ordf:"Feminin ordensindikator",laquo:"Venstre anførselstegn",not:"Negasjonstegn", +reg:"Registrert varemerke-tegn",macr:"Makron",deg:"Gradsymbol",sup2:"Hevet totall",sup3:"Hevet tretall",acute:"Akutt aksent",micro:"Mikrosymbol",para:"Avsnittstegn",middot:"Midtstilt prikk",cedil:"Cedille",sup1:"Hevet ettall",ordm:"Maskulin ordensindikator",raquo:"Høyre anførselstegn",frac14:"Fjerdedelsbrøk",frac12:"Halvbrøk",frac34:"Tre fjerdedelers brøk",iquest:"Omvendt spørsmålstegn",Agrave:"Stor A med grav aksent",Aacute:"Stor A med akutt aksent",Acirc:"Stor A med cirkumfleks",Atilde:"Stor A med tilde", +Auml:"Stor A med tøddel",Aring:"Stor Å",AElig:"Stor Æ",Ccedil:"Stor C med cedille",Egrave:"Stor E med grav aksent",Eacute:"Stor E med akutt aksent",Ecirc:"Stor E med cirkumfleks",Euml:"Stor E med tøddel",Igrave:"Stor I med grav aksent",Iacute:"Stor I med akutt aksent",Icirc:"Stor I med cirkumfleks",Iuml:"Stor I med tøddel",ETH:"Stor Edd/stungen D",Ntilde:"Stor N med tilde",Ograve:"Stor O med grav aksent",Oacute:"Stor O med akutt aksent",Ocirc:"Stor O med cirkumfleks",Otilde:"Stor O med tilde",Ouml:"Stor O med tøddel", +times:"Multiplikasjonstegn",Oslash:"Stor Ø",Ugrave:"Stor U med grav aksent",Uacute:"Stor U med akutt aksent",Ucirc:"Stor U med cirkumfleks",Uuml:"Stor U med tøddel",Yacute:"Stor Y med akutt aksent",THORN:"Stor Thorn",szlig:"Liten dobbelt-s/Eszett",agrave:"Liten a med grav aksent",aacute:"Liten a med akutt aksent",acirc:"Liten a med cirkumfleks",atilde:"Liten a med tilde",auml:"Liten a med tøddel",aring:"Liten å",aelig:"Liten æ",ccedil:"Liten c med cedille",egrave:"Liten e med grav aksent",eacute:"Liten e med akutt aksent", +ecirc:"Liten e med cirkumfleks",euml:"Liten e med tøddel",igrave:"Liten i med grav aksent",iacute:"Liten i med akutt aksent",icirc:"Liten i med cirkumfleks",iuml:"Liten i med tøddel",eth:"Liten edd/stungen d",ntilde:"Liten n med tilde",ograve:"Liten o med grav aksent",oacute:"Liten o med akutt aksent",ocirc:"Liten o med cirkumfleks",otilde:"Liten o med tilde",ouml:"Liten o med tøddel",divide:"Divisjonstegn",oslash:"Liten ø",ugrave:"Liten u med grav aksent",uacute:"Liten u med akutt aksent",ucirc:"Liten u med cirkumfleks", +uuml:"Liten u med tøddel",yacute:"Liten y med akutt aksent",thorn:"Liten thorn",yuml:"Liten y med tøddel",OElig:"Stor ligatur av O og E",oelig:"Liten ligatur av o og e",372:"Stor W med cirkumfleks",374:"Stor Y med cirkumfleks",373:"Liten w med cirkumfleks",375:"Liten y med cirkumfleks",sbquo:"Enkelt lavt 9-anførselstegn",8219:"Enkelt høyt reversert 9-anførselstegn",bdquo:"Dobbelt lavt 9-anførselstegn",hellip:"Ellipse",trade:"Varemerkesymbol",9658:"Svart høyrevendt peker",bull:"Tykk interpunkt",rarr:"Høyrevendt pil", +rArr:"Dobbel høyrevendt pil",hArr:"Dobbel venstrevendt pil",diams:"Svart ruter",asymp:"Omtrent likhetstegn"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/no.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/az.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/az.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/az.js (revision 7) @@ -0,0 +1,10 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","az",{euro:"Avropa valyuta işarəsi",lsquo:"Sol tək dırnaq işarəsi",rsquo:"Sağ tək dırnaq işarəsi",ldquo:"Sol cüt dırnaq işarəsi",rdquo:"Sağ cüt dırnaq işarəsi",ndash:"Çıxma işarəsi",mdash:"Tire",iexcl:"Çevrilmiş nida işarəsi",cent:"Sent işarəsi",pound:"Funt sterlinq işarəsi",curren:"Valyuta işarəsi",yen:"İena işarəsi",brvbar:"Sınmış zolaq",sect:"Paraqraf işarəsi",uml:"Umlyaut",copy:"Müəllif hüquqları haqqında işarəsi",ordf:"Qadın sıra indikatoru (a)",laquo:"Sola göstərən cüt bucaqlı dırnaq", +not:"QEYRİ işarəsi",reg:"Qeyd olunmuş işarəsi",macr:"Makron",deg:"Dərəcə işarəsi",sup2:"Yuxarı indeks 2",sup3:"Yuxarı indeks 3",acute:"Vurğu işarəsi",micro:"Mikro işarəsi",para:"Abzas işarəsi",middot:"Orta nöqtə",cedil:"Tsedilla işarəsi",sup1:"Yuxarı indeks 1",ordm:"Kişi say indikatoru (o)",raquo:"Sağa göstərən cüt bucaqlı dırnaq",frac14:"Dörddə bir hissə kəsri",frac12:"Bir yarım kəsri",frac34:"Dörddə üç hissə kəsri",iquest:"Çevrilmiş sual işarəsi",Agrave:"Soldan vurğu ilə A",Aacute:"Vurğu ilə A", +Acirc:"Dam işarəsi ilə A",Atilde:"Tilda işarəsi ilə A",Auml:"Umlyaut ilə A",Aring:"Dairəli A",AElig:"Æ hərfi",Ccedil:"Tsedilla ilə C",Egrave:"Soldan vurğu ilə E",Eacute:"Vurğu ilə E",Ecirc:"Dam işarəsi ilə E",Euml:"Umlyaut ilə E",Igrave:"Soldan vurğu ilə I",Iacute:"Vurğu ilə I",Icirc:"Dam işarəsi ilə I",Iuml:"Umlyaut ilə I",ETH:"Eth latin hərfi",Ntilde:"Tilda işarəsi ilə N",Ograve:"Soldan vurğu ilə O",Oacute:"Vurğu ilə O",Ocirc:"Dam işarəsi ilə E",Otilde:"Tilda işarəsi ilə O",Ouml:"Umlyaut ilə O", +times:"Vurma işarəsi",Oslash:"Üstxəttli O",Ugrave:"Soldan vurğu ilə U",Uacute:"Vurğu ilə U",Ucirc:"Dam işarəsi ilə U",Uuml:"Umlyaut ilə U",Yacute:"Vurğu ilə Y",THORN:"Thorn hərfi",szlig:"İti s kiçik hərfi",agrave:"Soldan vurğu ilə a",aacute:"Vurğu ilə a",acirc:"Dam işarəsi ilə a",atilde:"Tilda işarəsi ilə a",auml:"Umlyaut ilə a",aring:"Dairəli a",aelig:"æ hərfi",ccedil:"ç hərfi",egrave:"Soldan vurğu ilə e",eacute:"Vurğu ilə e",ecirc:"Dam işarəsi ilə e",euml:"Umlyaut ilə e",igrave:"Soldan vurğu ilə i", +iacute:"Vurğu ilə i",icirc:"Dam işarəsi ilə i",iuml:"Umlyaut ilə i",eth:"eth kiçik hərfi",ntilde:"Tilda işarəsi ilə n",ograve:"Soldan vurğu ilə o",oacute:"Vurğu ilə o",ocirc:"Dam işarəsi ilə o",otilde:"Tilda işarəsi ilə o",ouml:"Umlyaut ilə o",divide:"Bölünmə işarəsi",oslash:"Üstxəttli o",ugrave:"Soldan vurğu ilə u",uacute:"Vurğu ilə u",ucirc:"Dam işarəsi ilə u",uuml:"Umlyaut ilə u",yacute:"Vurğu ilə y",thorn:"Thorn kiçik hərfi",yuml:"Umlyaut ilə y",OElig:"OE ligaturası",oelig:"oe ligaturası",372:"Dam işarəsi ilə W", +374:"Dam işarəsi ilə Y",373:"Dam işarəsi ilə w",375:"Dam işarəsi ilə y",sbquo:"Aşağı dırnaq",8219:"Tək yuxarı çevrilmiş dırnaq",bdquo:"Aşağı cütlü dırnaqlar",hellip:"Üfüqi ellips",trade:"Əmtəə nişanı",9658:"Sağa göstərici",bull:"Marker",rarr:"Sağa istiqamətləndirən ox",rArr:"Sağa istiqamətləndirən cütlü ox",hArr:"Hərtərəfli ox",diams:"Qara kərpic",asymp:"Təxmini barabər"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/az.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","pt-br",{euro:"Euro",lsquo:"Aspas simples esquerda",rsquo:"Aspas simples direita",ldquo:"Aspas duplas esquerda",rdquo:"Aspas duplas direita",ndash:"Traço",mdash:"Travessão",iexcl:"Ponto de exclamação invertido",cent:"Cent",pound:"Cerquilha",curren:"Dinheiro",yen:"Yen",brvbar:"Bara interrompida",sect:"Símbolo de Parágrafo",uml:"Trema",copy:"Direito de Cópia",ordf:"Indicador ordinal feminino",laquo:"Aspas duplas angulares esquerda",not:"Negação",reg:"Marca Registrada", +macr:"Mácron",deg:"Grau",sup2:"2 Superscrito",sup3:"3 Superscrito",acute:"Acento agudo",micro:"Micro",para:"Pé de mosca",middot:"Ponto mediano",cedil:"Cedilha",sup1:"1 Superscrito",ordm:"Indicador ordinal masculino",raquo:"Aspas duplas angulares direita",frac14:"Um quarto",frac12:"Um meio",frac34:"Três quartos",iquest:"Interrogação invertida",Agrave:"A maiúsculo com acento grave",Aacute:"A maiúsculo com acento agudo",Acirc:"A maiúsculo com acento circunflexo",Atilde:"A maiúsculo com til",Auml:"A maiúsculo com trema", +Aring:"A maiúsculo com anel acima",AElig:"Æ maiúsculo",Ccedil:"Ç maiúlculo",Egrave:"E maiúsculo com acento grave",Eacute:"E maiúsculo com acento agudo",Ecirc:"E maiúsculo com acento circumflexo",Euml:"E maiúsculo com trema",Igrave:"I maiúsculo com acento grave",Iacute:"I maiúsculo com acento agudo",Icirc:"I maiúsculo com acento circunflexo",Iuml:"I maiúsculo com crase",ETH:"Eth maiúsculo",Ntilde:"N maiúsculo com til",Ograve:"O maiúsculo com acento grave",Oacute:"O maiúsculo com acento agudo",Ocirc:"O maiúsculo com acento circunflexo", +Otilde:"O maiúsculo com til",Ouml:"O maiúsculo com trema",times:"Multiplicação",Oslash:"Diâmetro",Ugrave:"U maiúsculo com acento grave",Uacute:"U maiúsculo com acento agudo",Ucirc:"U maiúsculo com acento circunflexo",Uuml:"U maiúsculo com trema",Yacute:"Y maiúsculo com acento agudo",THORN:"Thorn maiúsculo",szlig:"Eszett minúsculo",agrave:"a minúsculo com acento grave",aacute:"a minúsculo com acento agudo",acirc:"a minúsculo com acento circunflexo",atilde:"a minúsculo com til",auml:"a minúsculo com trema", +aring:"a minúsculo com anel acima",aelig:"æ minúsculo",ccedil:"ç minúsculo",egrave:"e minúsculo com acento grave",eacute:"e minúsculo com acento agudo",ecirc:"e minúsculo com acento circunflexo",euml:"e minúsculo com trema",igrave:"i minúsculo com acento grave",iacute:"i minúsculo com acento agudo",icirc:"i minúsculo com acento circunflexo",iuml:"i minúsculo com trema",eth:"eth minúsculo",ntilde:"n minúsculo com til",ograve:"o minúsculo com acento grave",oacute:"o minúsculo com acento agudo",ocirc:"o minúsculo com acento circunflexo", +otilde:"o minúsculo com til",ouml:"o minúsculo com trema",divide:"Divisão",oslash:"o minúsculo com cortado ou diâmetro",ugrave:"u minúsculo com acento grave",uacute:"u minúsculo com acento agudo",ucirc:"u minúsculo com acento circunflexo",uuml:"u minúsculo com trema",yacute:"y minúsculo com acento agudo",thorn:"thorn minúsculo",yuml:"y minúsculo com trema",OElig:"Ligação tipográfica OE maiúscula",oelig:"Ligação tipográfica oe minúscula",372:"W maiúsculo com acento circunflexo",374:"Y maiúsculo com acento circunflexo", +373:"w minúsculo com acento circunflexo",375:"y minúsculo com acento circunflexo",sbquo:"Aspas simples inferior direita",8219:"Aspas simples superior esquerda",bdquo:"Aspas duplas inferior direita",hellip:"Reticências",trade:"Trade mark",9658:"Ponta de seta preta para direita",bull:"Ponto lista",rarr:"Seta para direita",rArr:"Seta dupla para direita",hArr:"Seta dupla direita e esquerda",diams:"Ouros",asymp:"Aproximadamente"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en-au.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en-au.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en-au.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","en-au",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Yen sign",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en-au.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sk.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sk.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sk.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","sk",{euro:"Znak eura",lsquo:"Ľavá jednoduchá úvodzovka",rsquo:"Pravá jednoduchá úvodzovka",ldquo:"Pravá dvojitá úvodzovka",rdquo:"Pravá dvojitá úvodzovka",ndash:"En pomlčka",mdash:"Em pomlčka",iexcl:"Obrátený výkričník",cent:"Znak centu",pound:"Znak libry",curren:"Znak meny",yen:"Znak jenu",brvbar:"Prerušená zvislá čiara",sect:"Znak odseku",uml:"Prehláska",copy:"Znak copyrightu",ordf:"Ženský indikátor rodu",laquo:"Znak dvojitých lomených úvodzoviek vľavo",not:"Logistický zápor", +reg:"Znak registrácie",macr:"Pomlčka nad",deg:"Znak stupňa",sup2:"Dvojka ako horný index",sup3:"Trojka ako horný index",acute:"Dĺžeň",micro:"Znak mikro",para:"Znak odstavca",middot:"Bodka uprostred",cedil:"Chvost vľavo",sup1:"Jednotka ako horný index",ordm:"Mužský indikátor rodu",raquo:"Znak dvojitých lomených úvodzoviek vpravo",frac14:"Obyčajný zlomok jedna štvrtina",frac12:"Obyčajný zlomok jedna polovica",frac34:"Obyčajný zlomok tri štvrtiny",iquest:"Otočený otáznik",Agrave:"Veľké písmeno latinky A s accentom", +Aacute:"Veľké písmeno latinky A s dĺžňom",Acirc:"Veľké písmeno latinky A s mäkčeňom",Atilde:"Veľké písmeno latinky A s tildou",Auml:"Veľké písmeno latinky A s dvoma bodkami",Aring:"Veľké písmeno latinky A s krúžkom nad",AElig:"Veľké písmeno latinky Æ",Ccedil:"Veľké písmeno latinky C s chvostom vľavo",Egrave:"Veľké písmeno latinky E s accentom",Eacute:"Veľké písmeno latinky E s dĺžňom",Ecirc:"Veľké písmeno latinky E s mäkčeňom",Euml:"Veľké písmeno latinky E s dvoma bodkami",Igrave:"Veľké písmeno latinky I s accentom", +Iacute:"Veľké písmeno latinky I s dĺžňom",Icirc:"Veľké písmeno latinky I s mäkčeňom",Iuml:"Veľké písmeno latinky I s dvoma bodkami",ETH:"Veľké písmeno latinky Eth",Ntilde:"Veľké písmeno latinky N s tildou",Ograve:"Veľké písmeno latinky O s accentom",Oacute:"Veľké písmeno latinky O s dĺžňom",Ocirc:"Veľké písmeno latinky O s mäkčeňom",Otilde:"Veľké písmeno latinky O s tildou",Ouml:"Veľké písmeno latinky O s dvoma bodkami",times:"Znak násobenia",Oslash:"Veľké písmeno latinky O preškrtnuté",Ugrave:"Veľké písmeno latinky U s accentom", +Uacute:"Veľké písmeno latinky U s dĺžňom",Ucirc:"Veľké písmeno latinky U s mäkčeňom",Uuml:"Veľké písmeno latinky U s dvoma bodkami",Yacute:"Veľké písmeno latinky Y s dĺžňom",THORN:"Veľké písmeno latinky Thorn",szlig:"Malé písmeno latinky ostré s",agrave:"Malé písmeno latinky a s accentom",aacute:"Malé písmeno latinky a s dĺžňom",acirc:"Malé písmeno latinky a s mäkčeňom",atilde:"Malé písmeno latinky a s tildou",auml:"Malé písmeno latinky a s dvoma bodkami",aring:"Malé písmeno latinky a s krúžkom nad", +aelig:"Malé písmeno latinky æ",ccedil:"Malé písmeno latinky c s chvostom vľavo",egrave:"Malé písmeno latinky e s accentom",eacute:"Malé písmeno latinky e s dĺžňom",ecirc:"Malé písmeno latinky e s mäkčeňom",euml:"Malé písmeno latinky e s dvoma bodkami",igrave:"Malé písmeno latinky i s accentom",iacute:"Malé písmeno latinky i s dĺžňom",icirc:"Malé písmeno latinky i s mäkčeňom",iuml:"Malé písmeno latinky i s dvoma bodkami",eth:"Malé písmeno latinky eth",ntilde:"Malé písmeno latinky n s tildou",ograve:"Malé písmeno latinky o s accentom", +oacute:"Malé písmeno latinky o s dĺžňom",ocirc:"Malé písmeno latinky o s mäkčeňom",otilde:"Malé písmeno latinky o s tildou",ouml:"Malé písmeno latinky o s dvoma bodkami",divide:"Znak delenia",oslash:"Malé písmeno latinky o preškrtnuté",ugrave:"Malé písmeno latinky u s accentom",uacute:"Malé písmeno latinky u s dĺžňom",ucirc:"Malé písmeno latinky u s mäkčeňom",uuml:"Malé písmeno latinky u s dvoma bodkami",yacute:"Malé písmeno latinky y s dĺžňom",thorn:"Malé písmeno latinky thorn",yuml:"Malé písmeno latinky y s dvoma bodkami", +OElig:"Veľká ligatúra latinky OE",oelig:"Malá ligatúra latinky OE",372:"Veľké písmeno latinky W s mäkčeňom",374:"Veľké písmeno latinky Y s mäkčeňom",373:"Malé písmeno latinky w s mäkčeňom",375:"Malé písmeno latinky y s mäkčeňom",sbquo:"Dolná jednoduchá 9-úvodzovka",8219:"Horná jednoduchá otočená 9-úvodzovka",bdquo:"Dolná dvojitá 9-úvodzovka",hellip:"Trojbodkový úvod",trade:"Znak ibchodnej značky",9658:"Čierny ukazovateľ smerujúci vpravo",bull:"Kruh",rarr:"Šípka vpravo",rArr:"Dvojitá šipka vpravo", +hArr:"Dvojitá šipka vľavo a vpravo",diams:"Čierne piky",asymp:"Skoro sa rovná"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sk.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/uk.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/uk.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/uk.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","uk",{euro:"Знак євро",lsquo:"Ліві одинарні лапки",rsquo:"Праві одинарні лапки",ldquo:"Ліві подвійні лапки",rdquo:"Праві подвійні лапки",ndash:"Середнє тире",mdash:"Довге тире",iexcl:"Перевернутий знак оклику",cent:"Знак цента",pound:"Знак фунта",curren:"Знак валюти",yen:"Знак єни",brvbar:"Переривчаста вертикальна лінія",sect:"Знак параграфу",uml:"Умлаут",copy:"Знак авторських прав",ordf:"Жіночий порядковий вказівник",laquo:"ліві вказівні подвійні кутові дужки", +not:"Заперечення",reg:"Знак охорони суміжних прав",macr:"Макрон",deg:"Знак градуса",sup2:"два у верхньому індексі",sup3:"три у верхньому індексі",acute:"Знак акута",micro:"Знак мікро",para:"Знак абзацу",middot:"Інтерпункт",cedil:"Седиль",sup1:"Один у верхньому індексі",ordm:"Чоловічий порядковий вказівник",raquo:"праві вказівні подвійні кутові дужки",frac14:"Одна четвертина",frac12:"Одна друга",frac34:"три четвертих",iquest:"Перевернутий знак питання",Agrave:"Велика латинська A з гравісом",Aacute:"Велика латинська А з акутом", +Acirc:"Велика латинська А з циркумфлексом",Atilde:"Велика латинська А з тильдою",Auml:"Велике латинське А з умлаутом",Aring:"Велика латинська A з кільцем згори",AElig:"Велика латинська Æ",Ccedil:"Велика латинська C з седиллю",Egrave:"Велика латинська E з гравісом",Eacute:"Велика латинська E з акутом",Ecirc:"Велика латинська E з циркумфлексом",Euml:"Велика латинська А з умлаутом",Igrave:"Велика латинська I з гравісом",Iacute:"Велика латинська I з акутом",Icirc:"Велика латинська I з циркумфлексом", +Iuml:"Велика латинська І з умлаутом",ETH:"Велика латинська Eth",Ntilde:"Велика латинська N з тильдою",Ograve:"Велика латинська O з гравісом",Oacute:"Велика латинська O з акутом",Ocirc:"Велика латинська O з циркумфлексом",Otilde:"Велика латинська O з тильдою",Ouml:"Велика латинська О з умлаутом",times:"Знак множення",Oslash:"Велика латинська перекреслена O ",Ugrave:"Велика латинська U з гравісом",Uacute:"Велика латинська U з акутом",Ucirc:"Велика латинська U з циркумфлексом",Uuml:"Велика латинська U з умлаутом", +Yacute:"Велика латинська Y з акутом",THORN:"Велика латинська Торн",szlig:"Мала латинська есцет",agrave:"Мала латинська a з гравісом",aacute:"Мала латинська a з акутом",acirc:"Мала латинська a з циркумфлексом",atilde:"Мала латинська a з тильдою",auml:"Мала латинська a з умлаутом",aring:"Мала латинська a з кільцем згори",aelig:"Мала латинська æ",ccedil:"Мала латинська C з седиллю",egrave:"Мала латинська e з гравісом",eacute:"Мала латинська e з акутом",ecirc:"Мала латинська e з циркумфлексом",euml:"Мала латинська e з умлаутом", +igrave:"Мала латинська i з гравісом",iacute:"Мала латинська i з акутом",icirc:"Мала латинська i з циркумфлексом",iuml:"Мала латинська i з умлаутом",eth:"Мала латинська Eth",ntilde:"Мала латинська n з тильдою",ograve:"Мала латинська o з гравісом",oacute:"Мала латинська o з акутом",ocirc:"Мала латинська o з циркумфлексом",otilde:"Мала латинська o з тильдою",ouml:"Мала латинська o з умлаутом",divide:"Знак ділення",oslash:"Мала латинська перекреслена o",ugrave:"Мала латинська u з гравісом",uacute:"Мала латинська u з акутом", +ucirc:"Мала латинська u з циркумфлексом",uuml:"Мала латинська u з умлаутом",yacute:"Мала латинська y з акутом",thorn:"Мала латинська торн",yuml:"Мала латинська y з умлаутом",OElig:"Велика латинська лігатура OE",oelig:"Мала латинська лігатура oe",372:"Велика латинська W з циркумфлексом",374:"Велика латинська Y з циркумфлексом",373:"Мала латинська w з циркумфлексом",375:"Мала латинська y з циркумфлексом",sbquo:"Одиничні нижні лабки",8219:"Верхні одиничні обернені лабки",bdquo:"Подвійні нижні лабки", +hellip:"Три крапки",trade:"Знак торгової марки",9658:"Чорний правий вказівник",bull:"Маркер списку",rarr:"Стрілка вправо",rArr:"Подвійна стрілка вправо",hArr:"Подвійна стрілка вліво-вправо",diams:"Чорний діамонт",asymp:"Наближено дорівнює"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/uk.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/oc.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/oc.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/oc.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","oc",{euro:"Simbòl èuro",lsquo:"Vergueta simpla dobrenta",rsquo:"Vergueta simpla tampanta",ldquo:"Vergueta dobla dobrenta",rdquo:"Vergueta dobla tampanta",ndash:"Jonhent semi-quadratin",mdash:"Jonhent quadratin",iexcl:"Punt d'exclamacion inversat",cent:"Simbòl cent",pound:"Simbòl Liura sterling",curren:"Simbòl monetari",yen:"Simbòl ièn",brvbar:"Barra verticala separada",sect:"Signe de seccion",uml:"Trèma",copy:"Simbòl Copyright",ordf:"Indicador ordinal femenin", +laquo:"Vergueta francesa dobrenta",not:"Croquet de negacion",reg:"Simbòl de marca depausada",macr:"Macron",deg:"Simbòl gra",sup2:"Exponent 2",sup3:"Exponent 3",acute:"Accent agut",micro:"Simbòl micro",para:"Simbòl pè de mòsca",middot:"Punt median",cedil:"Cedilha",sup1:"Exponent 1",ordm:"Indicador ordenal masculin",raquo:"Vergueta francesa tampanta",frac14:"Fraccion un quart",frac12:"Fraccion un mièg",frac34:"Fraccion tres quarts",iquest:"Punt d'interrogacion inversat",Agrave:"A accent grèu majuscula", +Aacute:"A accent agut majuscula",Acirc:"A accent circonflèxe majuscula",Atilde:"A caron majuscula",Auml:"A trèma majuscula",Aring:"A redond majuscula",AElig:"Ligatura Æ majuscula",Ccedil:"C cédille majuscula",Egrave:"E accent grèu majuscula",Eacute:"E accent agut majuscula",Ecirc:"E accent circonflèxe majuscula",Euml:"E trèma majuscula",Igrave:"I accent grèu majuscula",Iacute:"I accent agut majuscula",Icirc:"I accent circonflèxe majuscula",Iuml:"I trèma majuscula",ETH:"Letra majuscula islandaise ED", +Ntilde:"N caron majuscula",Ograve:"O accent grèu majuscula",Oacute:"O accent agut majuscula",Ocirc:"O accent circonflèxe majuscula",Otilde:"O caron majuscula",Ouml:"O trèma majuscula",times:"Simbòl de multiplicacion",Oslash:"O raiat majuscula",Ugrave:"U accent grèu majuscula",Uacute:"U accent agut majuscula",Ucirc:"U accent circonflèxe majuscula",Uuml:"U trèma majuscula",Yacute:"Y accent agut majuscula",THORN:"Letra islandesa thorn majuscula",szlig:"Letra minuscula alemanda S dur",agrave:"A accent grèu minuscula", +aacute:"A accent agut minuscula",acirc:"A accent circonflèxe minuscula",atilde:"A tilda minuscula",auml:"A trèma minuscula",aring:"A redond minuscula",aelig:"Ligatura Æ minuscula",ccedil:"C cédille minuscula",egrave:"E accent grèu minuscula",eacute:"E accent agut minuscula",ecirc:"E accent circonflèxe minuscula",euml:"E trèma minuscula",igrave:"I accent grèu minuscula",iacute:"I accent agut minuscula",icirc:"I accent circonflèxe minuscula",iuml:"i minuscula trèma",eth:"Letra minuscula islandaise ED", +ntilde:"N caron minuscula",ograve:"O minuscula accent grèu",oacute:"O accent agut minuscula",ocirc:"O accent circonflèxe minuscula",otilde:"O tilda minuscula",ouml:"O trèma minuscula",divide:"Simbòl de division",oslash:"O raiat minuscula",ugrave:"U accent grèu minuscula",uacute:"U accent agut minuscula",ucirc:"U accent circonflèxe minuscula",uuml:"U trèma minuscula",yacute:"Y accent agut minuscula",thorn:"Letra islandaise thorn minuscula",yuml:"Y trèma minuscula",OElig:"Ligatura Œ majuscula",oelig:"Ligatura Œ minuscula", +372:"W accent circonflèxe majuscula",374:"Y accent circonflèxe majuscula",373:"W accent circonflèxe minuscula",375:"Y accent circonflèxe minuscula",sbquo:"Vergueta simpla tampanta inferior",8219:"Vergueta-virgula superior culbuté",bdquo:"Vergueta-virgula double inferior",hellip:"Punts de suspension",trade:"Simbòl de marca comerciala",9658:"Sageta negra puntant cap a dreita",bull:"Gròs punt median",rarr:"Sageta cap a dreita",rArr:"Sageta dobla cap a dreita",hArr:"Sageta dobla cap a esquèrra",diams:"Lausange negre", +asymp:"Environ egal"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/oc.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fr.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fr.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fr.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","fr",{euro:"Symbole euro",lsquo:"Guillemet simple ouvrant",rsquo:"Guillemet simple fermant",ldquo:"Guillemet double ouvrant",rdquo:"Guillemet double fermant",ndash:"Tiret demi-cadratin",mdash:"Tiret cadratin",iexcl:"Point d'exclamation inversé",cent:"Symbole cent",pound:"Symbole Livre sterling",curren:"Symbole monétaire",yen:"Symbole yen",brvbar:"Barre verticale scindée",sect:"Signe de section",uml:"Tréma",copy:"Symbole Copyright",ordf:"Indicateur ordinal féminin", +laquo:"Guillemet français ouvrant",not:"Crochet de négation",reg:"Symbole de marque déposée",macr:"Macron",deg:"Symbole degré",sup2:"Exposant 2",sup3:"Exposant 3",acute:"Accent aigu",micro:"Symbole micro",para:"Symbole pied-de-mouche",middot:"Point médian",cedil:"Cédille",sup1:"Exposant 1",ordm:"Indicateur ordinal masculin",raquo:"Guillemet français fermant",frac14:"Fraction un quart",frac12:"Fraction un demi",frac34:"Fraction trois quarts",iquest:"Point d'interrogation inversé",Agrave:"A accent grave majuscule", +Aacute:"A accent aigu majuscule",Acirc:"A accent circonflexe majuscule",Atilde:"A caron majuscule",Auml:"A tréma majuscule",Aring:"A rond majuscule",AElig:"Ligature Æ majuscule",Ccedil:"C cédille majuscule",Egrave:"E accent grave majuscule",Eacute:"E accent aigu majuscule",Ecirc:"E accent circonflexe majuscule",Euml:"E tréma majuscule",Igrave:"I accent grave majuscule",Iacute:"I accent aigu majuscule",Icirc:"I accent circonflexe majuscule",Iuml:"I tréma majuscule",ETH:"Lettre majuscule islandaise ED", +Ntilde:"N caron majuscule",Ograve:"O accent grave majuscule",Oacute:"O accent aigu majuscule",Ocirc:"O accent circonflexe majuscule",Otilde:"O caron majuscule",Ouml:"O tréma majuscule",times:"Symbole de multiplication",Oslash:"O barré majuscule",Ugrave:"U accent grave majuscule",Uacute:"U accent aigu majuscule",Ucirc:"U accent circonflexe majuscule",Uuml:"U tréma majuscule",Yacute:"Y accent aigu majuscule",THORN:"Lettre islandaise thorn majuscule",szlig:"Lettre minuscule allemande S dur",agrave:"A accent grave minuscule", +aacute:"A accent aigu minuscule",acirc:"A accent circonflexe minuscule",atilde:"A tilde minuscule",auml:"A tréma minuscule",aring:"A rond minuscule",aelig:"Ligature Æ minuscule",ccedil:"C cédille minuscule",egrave:"E accent grave minuscule",eacute:"E accent aigu minuscule",ecirc:"E accent circonflexe minuscule",euml:"E tréma minuscule",igrave:"I accent grave minuscule",iacute:"I accent aigu minuscule",icirc:"I accent circonflexe minuscule",iuml:"i minuscule tréma",eth:"Lettre minuscule islandaise ED", +ntilde:"N caron minuscule",ograve:"O minuscule accent grave",oacute:"O accent aigu minuscule",ocirc:"O accent circonflexe minuscule",otilde:"O tilde minuscule",ouml:"O tréma minuscule",divide:"Symbole de division",oslash:"O barré minuscule",ugrave:"U accent grave minuscule",uacute:"U accent aigu minuscule",ucirc:"U accent circonflexe minuscule",uuml:"U tréma minuscule",yacute:"Y accent aigu minuscule",thorn:"Lettre islandaise thorn minuscule",yuml:"Y tréma minuscule",OElig:"Ligature Œ majuscule", +oelig:"Ligature Œ minuscule",372:"W accent circonflexe majuscule",374:"Y accent circonflexe majuscule",373:"W accent circonflexe minuscule",375:"Y accent circonflexe minuscule",sbquo:"Guillemet simple fermant inférieur",8219:"Guillemet-virgule supérieur culbuté",bdquo:"Guillemet-virgule double inférieur",hellip:"Points de suspension",trade:"Symbole de marque commerciale",9658:"Flèche noire pointant vers la droite",bull:"Gros point médian",rarr:"Flèche vers la droite",rArr:"Double flèche vers la droite", +hArr:"Double flèche vers la gauche",diams:"Losange noir",asymp:"Environ égal"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fr.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ar.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ar.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ar.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","ar",{euro:"رمز اليورو",lsquo:"علامة تنصيص فردية علي اليسار",rsquo:"علامة تنصيص فردية علي اليمين",ldquo:"علامة تنصيص مزدوجة علي اليسار",rdquo:"علامة تنصيص مزدوجة علي اليمين",ndash:"En dash",mdash:"Em dash",iexcl:"علامة تعجب مقلوبة",cent:"رمز السنت",pound:"رمز الاسترليني",curren:"رمز العملة",yen:"رمز الين",brvbar:"شريط مقطوع",sect:"رمز القسم",uml:"Diaeresis",copy:"علامة حقوق الطبع",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"ليست علامة",reg:"علامة مسجّلة",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"علامة الإستفهام غير صحيحة",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ar.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","de-ch",{euro:"Euro Zeichen",lsquo:"Hochkomma links",rsquo:"Hochkomma rechts",ldquo:"Anführungszeichen links",rdquo:"Anführungszeichen rechts",ndash:"Kleiner Strich",mdash:"Mittlerer Strich",iexcl:"Invertiertes Ausrufezeichen",cent:"Cent-Zeichen",pound:"Pfund-Zeichen",curren:"Währungszeichen",yen:"Yen",brvbar:"Gestrichelte Linie",sect:"Paragrafenzeichen",uml:"Diäresis",copy:"Copyright-Zeichen",ordf:"Feminine ordinal Anzeige",laquo:"Nach links zeigenden Doppel-Winkel Anführungszeichen", +not:"Not-Zeichen",reg:"Registriert-Zeichen",macr:"Längezeichen",deg:"Grad-Zeichen",sup2:"Hoch 2",sup3:"Hoch 3",acute:"Akzentzeichen ",micro:"Mikro-Zeichen",para:"Pilcrow-Zeichen",middot:"Mittelpunkt",cedil:"Cedilla",sup1:"Hoch 1",ordm:"Männliche Ordnungszahl Anzeige",raquo:"Nach rechts zeigenden Doppel-Winkel Anführungszeichen",frac14:"ein Viertel",frac12:"Hälfte",frac34:"Dreiviertel",iquest:"Umgekehrtes Fragezeichen",Agrave:"Lateinischer Buchstabe A mit AkzentGrave",Aacute:"Lateinischer Buchstabe A mit Akutakzent", +Acirc:"Lateinischer Buchstabe A mit Zirkumflex",Atilde:"Lateinischer Buchstabe A mit Tilde",Auml:"Lateinischer Buchstabe A mit Trema",Aring:"Lateinischer Buchstabe A mit Ring oben",AElig:"Lateinischer Buchstabe Æ",Ccedil:"Lateinischer Buchstabe C mit Cedille",Egrave:"Lateinischer Buchstabe E mit AkzentGrave",Eacute:"Lateinischer Buchstabe E mit Akutakzent",Ecirc:"Lateinischer Buchstabe E mit Zirkumflex",Euml:"Lateinischer Buchstabe E Trema",Igrave:"Lateinischer Buchstabe I mit AkzentGrave",Iacute:"Lateinischer Buchstabe I mit Akutakzent", +Icirc:"Lateinischer Buchstabe I mit Zirkumflex",Iuml:"Lateinischer Buchstabe I mit Trema",ETH:"Lateinischer Buchstabe Eth",Ntilde:"Lateinischer Buchstabe N mit Tilde",Ograve:"Lateinischer Buchstabe O mit AkzentGrave",Oacute:"Lateinischer Buchstabe O mit Akutakzent",Ocirc:"Lateinischer Buchstabe O mit Zirkumflex",Otilde:"Lateinischer Buchstabe O mit Tilde",Ouml:"Lateinischer Buchstabe O mit Trema",times:"Multiplikation",Oslash:"Lateinischer Buchstabe O durchgestrichen",Ugrave:"Lateinischer Buchstabe U mit Akzentgrave", +Uacute:"Lateinischer Buchstabe U mit Akutakzent",Ucirc:"Lateinischer Buchstabe U mit Zirkumflex",Uuml:"Lateinischer Buchstabe a mit Trema",Yacute:"Lateinischer Buchstabe a mit Akzent",THORN:"Lateinischer Buchstabe mit Dorn",szlig:"Kleiner lateinischer Buchstabe scharfe s",agrave:"Kleiner lateinischer Buchstabe a mit Accent grave",aacute:"Kleiner lateinischer Buchstabe a mit Akut",acirc:"Lateinischer Buchstabe a mit Zirkumflex",atilde:"Lateinischer Buchstabe a mit Tilde",auml:"Kleiner lateinischer Buchstabe a mit Trema", +aring:"Kleiner lateinischer Buchstabe a mit Ring oben",aelig:"Lateinischer Buchstabe æ",ccedil:"Kleiner lateinischer Buchstabe c mit Cedille",egrave:"Kleiner lateinischer Buchstabe e mit Accent grave",eacute:"Kleiner lateinischer Buchstabe e mit Akut",ecirc:"Kleiner lateinischer Buchstabe e mit Zirkumflex",euml:"Kleiner lateinischer Buchstabe e mit Trema",igrave:"Kleiner lateinischer Buchstabe i mit AkzentGrave",iacute:"Kleiner lateinischer Buchstabe i mit Akzent",icirc:"Kleiner lateinischer Buchstabe i mit Zirkumflex", +iuml:"Kleiner lateinischer Buchstabe i mit Trema",eth:"Kleiner lateinischer Buchstabe eth",ntilde:"Kleiner lateinischer Buchstabe n mit Tilde",ograve:"Kleiner lateinischer Buchstabe o mit Accent grave",oacute:"Kleiner lateinischer Buchstabe o mit Akzent",ocirc:"Kleiner lateinischer Buchstabe o mit Zirkumflex",otilde:"Lateinischer Buchstabe i mit Tilde",ouml:"Kleiner lateinischer Buchstabe o mit Trema",divide:"Divisionszeichen",oslash:"Kleiner lateinischer Buchstabe o durchgestrichen",ugrave:"Kleiner lateinischer Buchstabe u mit Accent grave", +uacute:"Kleiner lateinischer Buchstabe u mit Akut",ucirc:"Kleiner lateinischer Buchstabe u mit Zirkumflex",uuml:"Kleiner lateinischer Buchstabe u mit Trema",yacute:"Kleiner lateinischer Buchstabe y mit Akut",thorn:"Kleiner lateinischer Buchstabe Dorn",yuml:"Kleiner lateinischer Buchstabe y mit Trema",OElig:"Lateinischer Buchstabe Ligatur OE",oelig:"Kleiner lateinischer Buchstabe Ligatur OE",372:"Lateinischer Buchstabe W mit Zirkumflex",374:"Lateinischer Buchstabe Y mit Zirkumflex",373:"Kleiner lateinischer Buchstabe w mit Zirkumflex", +375:"Kleiner lateinischer Buchstabe y mit Zirkumflex",sbquo:"Tiefergestelltes Komma",8219:"Rumgedrehtes Komma",bdquo:"Doppeltes Anführungszeichen unten",hellip:"horizontale Auslassungspunkte",trade:"Handelszeichen",9658:"Dreickspfeil rechts",bull:"Bullet",rarr:"Pfeil rechts",rArr:"Doppelpfeil rechts",hArr:"Doppelpfeil links",diams:"Karo",asymp:"Ungefähr"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","en",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Yen sign",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ug.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ug.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ug.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","ug",{euro:"ياۋرو بەلگىسى",lsquo:"يالاڭ پەش سول",rsquo:"يالاڭ پەش ئوڭ",ldquo:"قوش پەش سول",rdquo:"قوش پەش ئوڭ",ndash:"سىزىقچە",mdash:"سىزىق",iexcl:"ئۈندەش",cent:"تىيىن بەلگىسى",pound:"فوند ستېرلىڭ",curren:"پۇل بەلگىسى",yen:"ياپونىيە يىنى",brvbar:"ئۈزۈك بالداق",sect:"پاراگراف بەلگىسى",uml:"تاۋۇش ئايرىش بەلگىسى",copy:"نەشر ھوقۇقى بەلگىسى",ordf:"Feminine ordinal indicator",laquo:"قوش تىرناق سول",not:"غەيرى بەلگە",reg:"خەتلەتكەن تاۋار ماركىسى",macr:"سوزۇش بەلگىسى", +deg:"گىرادۇس بەلگىسى",sup2:"يۇقىرى ئىندېكىس 2",sup3:"يۇقىرى ئىندېكىس 3",acute:"ئۇرغۇ بەلگىسى",micro:"Micro sign",para:"ئابزاس بەلگىسى",middot:"ئوتتۇرا چېكىت",cedil:"ئاستىغا قوشۇلىدىغان بەلگە",sup1:"يۇقىرى ئىندېكىس 1",ordm:"Masculine ordinal indicator",raquo:"قوش تىرناق ئوڭ",frac14:"ئاددىي كەسىر تۆتتىن بىر",frac12:"ئاددىي كەسىر ئىككىدىن بىر",frac34:"ئاددىي كەسىر ئۈچتىن تۆرت",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent",Aacute:"Latin capital letter A with acute accent", +Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent",Iacute:"Latin capital letter I with acute accent", +Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"قوش پەش ئوڭ",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke",Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent", +Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis",aring:"Latin small letter a with ring above",aelig:"Latin small letter æ", +ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth",ntilde:"تىك موللاق سوئال بەلگىسى",ograve:"Latin small letter o with grave accent", +oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"بۆلۈش بەلگىسى",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis",yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn", +yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis",trade:"خەتلەتكەن تاۋار ماركىسى بەلگىسى",9658:"Black right-pointing pointer", +bull:"Bullet",rarr:"ئوڭ يا ئوق",rArr:"ئوڭ قوش سىزىق يا ئوق",hArr:"ئوڭ سول قوش سىزىق يا ئوق",diams:"ئۇيۇل غىچ",asymp:"تەخمىنەن تەڭ"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ug.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/hr.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/hr.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/hr.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","hr",{euro:"Euro znak",lsquo:"Lijevi jednostruki navodnik",rsquo:"Desni jednostruki navodnik",ldquo:"Lijevi dvostruki navodnik",rdquo:"Desni dvostruki navodnik",ndash:"En crtica",mdash:"Em crtica",iexcl:"Naopaki uskličnik",cent:"Cent znak",pound:"Funta znak",curren:"Znak valute",yen:"Yen znak",brvbar:"Potrgana prečka",sect:"Znak odjeljka",uml:"Prijeglasi",copy:"Copyright znak",ordf:"Ženska redna oznaka",laquo:"Lijevi dvostruki uglati navodnik",not:"Not znak", +reg:"Registered znak",macr:"Crta iznad",deg:"Stupanj znak",sup2:"Eksponent 2",sup3:"Eksponent tri",acute:"Akcent",micro:"Mikro znak",para:"Znak paragrafa",middot:"Srednja točka",cedil:"Cedilla",sup1:"Eksponent 1",ordm:"Muška redna oznaka",raquo:"Desni dvostruku uglati navodnik",frac14:"Četvrtina",frac12:"Polovina",frac34:"Tri četvrtine",iquest:"Naopaki upitnik",Agrave:"Veliko latinsko slovo A s akcentom",Aacute:"Latinično veliko slovo A sa oštrim naglaskom",Acirc:"Latinično veliko slovo A sa circumflex", +Atilde:"Latinično veliko slovo A sa tildom",Auml:"Latinično veliko slovo A sa diaeresis",Aring:"Latinično veliko slovo A sa gornjim prstenom",AElig:"Latinično veliko slovo Æ",Ccedil:"Veliko latinično slovo C sa cedilla",Egrave:"Veliko latinično slovo E sa akcentom",Eacute:"Veliko latinično slovo E sa akcentom",Ecirc:"Veliko latinično slovo E sa circumflex",Euml:"Veliko latinično slovo E sa diaresis",Igrave:"Veliko latinično slovo I sa akcentom",Iacute:"Veliko latinično slovo I sa akcentom",Icirc:"Veliko latinično slovo I sa circumflex", +Iuml:"Veliko latinično slovo I sa diaresis",ETH:"Veliko latinično slovo Eth",Ntilde:"Veliko latinično slovo N sa tildom",Ograve:"Veliko latinično slovo O sa akcentom",Oacute:"Veliko latinično slovo O sa akcentom",Ocirc:"Veliko latinično slovo O sa circumflex",Otilde:"Veliko latinično slovo O sa tildom",Ouml:"Veliko latinično slovo O sa diaresis",times:"Znak množenja",Oslash:"Veliko latinično slovo O sa crtom",Ugrave:"Veliko latinično slovo U sa akcentom",Uacute:"Veliko latinično slovo U sa akcentom", +Ucirc:"Veliko latinično slovo U sa circumflex",Uuml:"Veliko latinično slovo U sa diaresis",Yacute:"Veliko latinično slovo Y sa akcentom",THORN:"Veliko latinično slovo Trn",szlig:"Malo latinično slovo oštro s",agrave:"Malo latinično slovo a sa akcentom",aacute:"Malo latinično slovo sa akcentom",acirc:"Malo latinično slovo a sa circumflex",atilde:"Malo latinično slovo a sa tildom",auml:"Malo latinično slovo a sa diaresis",aring:"Malo latinično slovo a sa gornjim prstenom",aelig:"Malo latinično slovo æ", +ccedil:"Malo latinično slovo e sa cedilla",egrave:"Malo latinično slovo e sa akcentom",eacute:"Malo latinično slovo e sa akcentom",ecirc:"Malo latinično slovo e sa circumflex",euml:"Malo latinično slovo e sa diaresis",igrave:"Malo latinično slovo i sa akcentom",iacute:"Malo latinično slovo i sa akcentom",icirc:"Malo latinično slovo i sa circumflex",iuml:"Malo latinično slovo i sa diaresis",eth:"Malo latinično slovo eth",ntilde:"Malo latinično slovo n sa tildom",ograve:"Malo latinično slovo o sa akcentom", +oacute:"Malo latinično slovo o sa akcentom",ocirc:"Malo latinično slovo o sa circumflex",otilde:"Malo latinično slovo o sa tildom",ouml:"Malo latinično slovo o sa diaresis",divide:"Znak dijeljenja",oslash:"Malo latinično slovo o sa crtom",ugrave:"Malo latinično slovo s akcentom",uacute:"Malo latinično slovo u sa akcentom",ucirc:"Malo latinično slovo sa circumflex",uuml:"Malo latinično slovo u sa diaresis",yacute:"Malo latinično slovo y s akcentom",thorn:"Malo latinično slovo Trn",yuml:"Malo latinično slovo y sa diaresis", +OElig:"Veliko latinično slovo OE",oelig:"Malo latinično slovoe OE",372:"Veliko latinično slovo W sa circumflex",374:"Veliko latinično slovo Y sa circumflex",373:"Malo latinično slovo w sa circumflex",375:"Malo latinično slovo y sa circumflex",sbquo:"Jednostruki donji navodnik",8219:"Jednostruki gornji navodnik",bdquo:"Dvostruki donji navodnik",hellip:"Tri točkice",trade:"TM znak",9658:"Crni desni pokazivač",bull:"Bullet",rarr:"Desna strelica",rArr:"Desna dvostruka strelica",hArr:"Dvostruka strelica", +diams:"Crni dijamant",asymp:"Približno"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/hr.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/lv.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/lv.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/lv.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","lv",{euro:"Euro zīme",lsquo:"Kreisā vienkārtīga pēdiņa",rsquo:"Labā vienkārtīga pēdiņa",ldquo:"Kreisā dubult pēdiņa",rdquo:"Labā dubult pēdiņa",ndash:"En svītra",mdash:"Em svītra",iexcl:"Apgriezta izsaukuma zīme",cent:"Centu naudas zīme",pound:"Sterliņu mārciņu naudas zīme",curren:"Valūtas zīme",yen:"Jenu naudas zīme",brvbar:"Vertikāla pārrauta līnija",sect:"Paragrāfa zīme",uml:"Diakritiska zīme",copy:"Autortiesību zīme",ordf:"Sievišķas kārtas rādītājs", +laquo:"Kreisā dubult stūra pēdiņu zīme",not:"Neparakstīts",reg:"Reģistrēta zīme",macr:"Garumzīme",deg:"Grādu zīme",sup2:"Augšraksts divi",sup3:"Augšraksts trīs",acute:"Akūta uzsvara zīme",micro:"Mikro zīme",para:"Rindkopas zīme ",middot:"Vidējs punkts",cedil:"Āķītis zem burta",sup1:"Augšraksts viens",ordm:"Vīrišķīgas kārtas rādītājs",raquo:"Labā dubult stūra pēdiņu zīme",frac14:"Vulgāra frakcija 1/4",frac12:"Vulgāra frakcija 1/2",frac34:"Vulgāra frakcija 3/4",iquest:"Apgriezta jautājuma zīme",Agrave:"Lielais latīņu burts A ar uzsvara zīmi", +Aacute:"Lielais latīņu burts A ar akūtu uzsvara zīmi",Acirc:"Lielais latīņu burts A ar diakritisku zīmi",Atilde:"Lielais latīņu burts A ar tildi ",Auml:"Lielais latīņu burts A ar diakritisko zīmi",Aring:"Lielais latīņu burts A ar aplīti augšā",AElig:"Lielais latīņu burts Æ",Ccedil:"Lielais latīņu burts C ar āķīti zem burta",Egrave:"Lielais latīņu burts E ar apostrofu",Eacute:"Lielais latīņu burts E ar akūtu uzsvara zīmi",Ecirc:"Lielais latīņu burts E ar diakritisko zīmi",Euml:"Lielais latīņu burts E ar diakritisko zīmi", +Igrave:"Lielais latīņu burts I ar uzsvaras zīmi",Iacute:"Lielais latīņu burts I ar akūtu uzsvara zīmi",Icirc:"Lielais latīņu burts I ar diakritisko zīmi",Iuml:"Lielais latīņu burts I ar diakritisko zīmi",ETH:"Lielais latīņu burts Eth",Ntilde:"Lielais latīņu burts N ar tildi",Ograve:"Lielais latīņu burts O ar uzsvara zīmi",Oacute:"Lielais latīņu burts O ar akūto uzsvara zīmi",Ocirc:"Lielais latīņu burts O ar diakritisko zīmi",Otilde:"Lielais latīņu burts O ar tildi",Ouml:"Lielais latīņu burts O ar diakritisko zīmi", +times:"Reizināšanas zīme ",Oslash:"Lielais latīņu burts O ar iesvītrojumu",Ugrave:"Lielais latīņu burts U ar uzsvaras zīmi",Uacute:"Lielais latīņu burts U ar akūto uzsvars zīmi",Ucirc:"Lielais latīņu burts U ar diakritisko zīmi",Uuml:"Lielais latīņu burts U ar diakritisko zīmi",Yacute:"Lielais latīņu burts Y ar akūto uzsvaras zīmi",THORN:"Lielais latīņu burts torn",szlig:"Mazs latīņu burts ar ligatūru",agrave:"Mazs latīņu burts a ar uzsvara zīmi",aacute:"Mazs latīņu burts a ar akūto uzsvara zīmi", +acirc:"Mazs latīņu burts a ar diakritisko zīmi",atilde:"Mazs latīņu burts a ar tildi",auml:"Mazs latīņu burts a ar diakritisko zīmi",aring:"Mazs latīņu burts a ar aplīti augšā",aelig:"Mazs latīņu burts æ",ccedil:"Mazs latīņu burts c ar āķīti zem burta",egrave:"Mazs latīņu burts e ar uzsvara zīmi ",eacute:"Mazs latīņu burts e ar akūtu uzsvara zīmi",ecirc:"Mazs latīņu burts e ar diakritisko zīmi",euml:"Mazs latīņu burts e ar diakritisko zīmi",igrave:"Mazs latīņu burts i ar uzsvara zīmi ",iacute:"Mazs latīņu burts i ar akūtu uzsvara zīmi", +icirc:"Mazs latīņu burts i ar diakritisko zīmi",iuml:"Mazs latīņu burts i ar diakritisko zīmi",eth:"Mazs latīņu burts eth",ntilde:"Mazs latīņu burts n ar tildi",ograve:"Mazs latīņu burts o ar uzsvara zīmi ",oacute:"Mazs latīņu burts o ar akūtu uzsvara zīmi",ocirc:"Mazs latīņu burts o ar diakritisko zīmi",otilde:"Mazs latīņu burts o ar tildi",ouml:"Mazs latīņu burts o ar diakritisko zīmi",divide:"Dalīšanas zīme",oslash:"Mazs latīņu burts o ar iesvītrojumu",ugrave:"Mazs latīņu burts u ar uzsvara zīmi ", +uacute:"Mazs latīņu burts u ar akūtu uzsvara zīmi",ucirc:"Mazs latīņu burts u ar diakritisko zīmi",uuml:"Mazs latīņu burts u ar diakritisko zīmi",yacute:"Mazs latīņu burts y ar akūtu uzsvaras zīmi",thorn:"Mazs latīņu burts torns",yuml:"Mazs latīņu burts y ar diakritisko zīmi",OElig:"Liela latīņu ligatūra OE",oelig:"Maza latīņu ligatūra oe",372:"Liels latīņu burts W ar diakritisko zīmi ",374:"Liels latīņu burts Y ar diakritisko zīmi ",373:"Mazs latīņu burts w ar diakritisko zīmi ",375:"Mazs latīņu burts y ar diakritisko zīmi ", +sbquo:"Mazas-9 vienkārtīgas pēdiņas",8219:"Lielas-9 vienkārtīgas apgrieztas pēdiņas",bdquo:"Mazas-9 dubultas pēdiņas",hellip:"Horizontāli daudzpunkti",trade:"Preču zīmes zīme",9658:"Melns pa labi pagriezts radītājs",bull:"Lode",rarr:"Bulta pa labi",rArr:"Dubulta Bulta pa labi",hArr:"Bulta pa kreisi",diams:"Dubulta Bulta pa kreisi",asymp:"Gandrīz vienāds ar"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/lv.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/af.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/af.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/af.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","af",{euro:"Euroteken",lsquo:"Linker enkelkwotasie",rsquo:"Regter enkelkwotasie",ldquo:"Linker dubbelkwotasie",rdquo:"Regter dubbelkwotasie",ndash:"Kortkoppelteken",mdash:"Langkoppelteken",iexcl:"Omgekeerdeuitroepteken",cent:"Centteken",pound:"Pondteken",curren:"Geldeenheidteken",yen:"Yenteken",brvbar:"Gebreekte balk",sect:"Afdeelingsteken",uml:"Deelteken",copy:"Kopieregteken",ordf:"Vroulikekenteken",laquo:"Linkgeoorienteerde aanhaalingsteken",not:"Verbodeteken", +reg:"Regestrasieteken",macr:"Lengteteken",deg:"Gradeteken",sup2:"Kwadraatteken",sup3:"Kubiekteken",acute:"Akuutaksentteken",micro:"Mikroteken",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/af.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/tr.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/tr.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/tr.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","tr",{euro:"Euro işareti",lsquo:"Sol tek tırnak işareti",rsquo:"Sağ tek tırnak işareti",ldquo:"Sol çift tırnak işareti",rdquo:"Sağ çift tırnak işareti",ndash:"En tire",mdash:"Em tire",iexcl:"Ters ünlem işareti",cent:"Cent işareti",pound:"Pound işareti",curren:"Para birimi işareti",yen:"Yen işareti",brvbar:"Kırık bar",sect:"Bölüm işareti",uml:"İki sesli harfin ayrılması",copy:"Telif hakkı işareti",ordf:"Dişil sıralı gösterge",laquo:"Sol-işaret çift açı tırnak işareti", +not:"Not işareti",reg:"Kayıtlı işareti",macr:"Makron",deg:"Derece işareti",sup2:"İkili üstsimge",sup3:"Üçlü üstsimge",acute:"Aksan işareti",micro:"Mikro işareti",para:"Pilcrow işareti",middot:"Orta nokta",cedil:"Kedilla",sup1:"Üstsimge",ordm:"Eril sıralı gösterge",raquo:"Sağ işaret çift açı tırnak işareti",frac14:"Bayağı kesrin dörtte biri",frac12:"Bayağı kesrin bir yarım",frac34:"Bayağı kesrin dörtte üç",iquest:"Ters soru işareti",Agrave:"Aksanlı latin harfi",Aacute:"Aşırı aksanıyla Latin harfi", +Acirc:"Çarpık Latin harfi",Atilde:"Tilde latin harfi",Auml:"Sesli harf ayrılımlıı latin harfi",Aring:"Halkalı latin büyük A harfi",AElig:"Latin büyük Æ harfi",Ccedil:"Latin büyük C harfi ile kedilla",Egrave:"Aksanlı latin büyük E harfi",Eacute:"Aşırı vurgulu latin büyük E harfi",Ecirc:"Çarpık latin büyük E harfi",Euml:"Sesli harf ayrılımlıı latin büyük E harfi",Igrave:"Aksanlı latin büyük I harfi",Iacute:"Aşırı aksanlı latin büyük I harfi",Icirc:"Çarpık latin büyük I harfi",Iuml:"Sesli harf ayrılımlıı latin büyük I harfi", +ETH:"Latin büyük Eth harfi",Ntilde:"Tildeli latin büyük N harfi",Ograve:"Aksanlı latin büyük O harfi",Oacute:"Aşırı aksanlı latin büyük O harfi",Ocirc:"Çarpık latin büyük O harfi",Otilde:"Tildeli latin büyük O harfi",Ouml:"Sesli harf ayrılımlı latin büyük O harfi",times:"Çarpma işareti",Oslash:"Vurgulu latin büyük O harfi",Ugrave:"Aksanlı latin büyük U harfi",Uacute:"Aşırı aksanlı latin büyük U harfi",Ucirc:"Çarpık latin büyük U harfi",Uuml:"Sesli harf ayrılımlı latin büyük U harfi",Yacute:"Aşırı aksanlı latin büyük Y harfi", +THORN:"Latin büyük Thorn harfi",szlig:"Latin küçük keskin s harfi",agrave:"Aksanlı latin küçük a harfi",aacute:"Aşırı aksanlı latin küçük a harfi",acirc:"Çarpık latin küçük a harfi",atilde:"Tildeli latin küçük a harfi",auml:"Sesli harf ayrılımlı latin küçük a harfi",aring:"Halkalı latin küçük a harfi",aelig:"Latin büyük æ harfi",ccedil:"Kedillalı latin küçük c harfi",egrave:"Aksanlı latin küçük e harfi",eacute:"Aşırı aksanlı latin küçük e harfi",ecirc:"Çarpık latin küçük e harfi",euml:"Sesli harf ayrılımlı latin küçük e harfi", +igrave:"Aksanlı latin küçük i harfi",iacute:"Aşırı aksanlı latin küçük i harfi",icirc:"Çarpık latin küçük i harfi",iuml:"Sesli harf ayrılımlı latin küçük i harfi",eth:"Latin küçük eth harfi",ntilde:"Tildeli latin küçük n harfi",ograve:"Aksanlı latin küçük o harfi",oacute:"Aşırı aksanlı latin küçük o harfi",ocirc:"Çarpık latin küçük o harfi",otilde:"Tildeli latin küçük o harfi",ouml:"Sesli harf ayrılımlı latin küçük o harfi",divide:"Bölme işareti",oslash:"Vurgulu latin küçük o harfi",ugrave:"Aksanlı latin küçük u harfi", +uacute:"Aşırı aksanlı latin küçük u harfi",ucirc:"Çarpık latin küçük u harfi",uuml:"Sesli harf ayrılımlı latin küçük u harfi",yacute:"Aşırı aksanlı latin küçük y harfi",thorn:"Latin küçük thorn harfi",yuml:"Sesli harf ayrılımlı latin küçük y harfi",OElig:"Latin büyük bağlı OE harfi",oelig:"Latin küçük bağlı oe harfi",372:"Çarpık latin büyük W harfi",374:"Çarpık latin büyük Y harfi",373:"Çarpık latin küçük w harfi",375:"Çarpık latin küçük y harfi",sbquo:"Tek düşük-9 tırnak işareti",8219:"Tek yüksek-ters-9 tırnak işareti", +bdquo:"Çift düşük-9 tırnak işareti",hellip:"Yatay elips",trade:"Marka tescili işareti",9658:"Siyah sağ işaret işaretçisi",bull:"Koyu nokta",rarr:"Sağa doğru ok",rArr:"Sağa doğru çift ok",hArr:"Sol, sağ çift ok",diams:"Siyah elmas takımı",asymp:"Hemen hemen eşit"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/tr.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sv.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sv.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sv.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","sv",{euro:"Eurotecken",lsquo:"Enkelt vänster citattecken",rsquo:"Enkelt höger citattecken",ldquo:"Dubbelt vänster citattecken",rdquo:"Dubbelt höger citattecken",ndash:"Snedstreck",mdash:"Långt tankstreck",iexcl:"Inverterad utropstecken",cent:"Centtecken",pound:"Pundtecken",curren:"Valutatecken",yen:"Yentecken",brvbar:"Brutet lodrätt streck",sect:"Paragraftecken",uml:"Diaeresis",copy:"Upphovsrättstecken",ordf:"Feminit ordningstalsindikator",laquo:"Vänsterställt dubbelt vinkelcitationstecken", +not:"Icke-tecken",reg:"Registrerad",macr:"Macron",deg:"Grader",sup2:"Upphöjt två",sup3:"Upphöjt tre",acute:"Akut accent",micro:"Mikrotecken",para:"Alinea",middot:"Centrerad prick",cedil:"Cedilj",sup1:"Upphöjt en",ordm:"Maskulina ordningsändelsen",raquo:"Högerställt dubbelt vinkelcitationstecken",frac14:"Bråktal - en kvart",frac12:"Bråktal - en halv",frac34:"Bråktal - tre fjärdedelar",iquest:"Inverterat frågetecken",Agrave:"Stort A med grav accent",Aacute:"Stort A med akutaccent",Acirc:"Stort A med circumflex", +Atilde:"Stort A med tilde",Auml:"Stort A med diaresis",Aring:"Stort A med ring ovan",AElig:"Stort Æ",Ccedil:"Stort C med cedilj",Egrave:"Stort E med grav accent",Eacute:"Stort E med aktuaccent",Ecirc:"Stort E med circumflex",Euml:"Stort E med diaeresis",Igrave:"Stort I med grav accent",Iacute:"Stort I med akutaccent",Icirc:"Stort I med circumflex",Iuml:"Stort I med diaeresis",ETH:"Stort Eth",Ntilde:"Stort N med tilde",Ograve:"Stort O med grav accent",Oacute:"Stort O med aktuaccent",Ocirc:"Stort O med circumflex", +Otilde:"Stort O med tilde",Ouml:"Stort O med diaeresis",times:"Multiplicera",Oslash:"Stor Ø",Ugrave:"Stort U med grav accent",Uacute:"Stort U med akutaccent",Ucirc:"Stort U med circumflex",Uuml:"Stort U med diaeresis",Yacute:"Stort Y med akutaccent",THORN:"Stort Thorn",szlig:"Litet dubbel-s/Eszett",agrave:"Litet a med grav accent",aacute:"Litet a med akutaccent",acirc:"Litet a med circumflex",atilde:"Litet a med tilde",auml:"Litet a med diaeresis",aring:"Litet a med ring ovan",aelig:"Bokstaven æ", +ccedil:"Litet c med cedilj",egrave:"Litet e med grav accent",eacute:"Litet e med akutaccent",ecirc:"Litet e med circumflex",euml:"Litet e med diaeresis",igrave:"Litet i med grav accent",iacute:"Litet i med akutaccent",icirc:"LItet i med circumflex",iuml:"Litet i med didaeresis",eth:"Litet eth",ntilde:"Litet n med tilde",ograve:"LItet o med grav accent",oacute:"LItet o med akutaccent",ocirc:"Litet o med circumflex",otilde:"LItet o med tilde",ouml:"Litet o med diaeresis",divide:"Division",oslash:"ø", +ugrave:"Litet u med grav accent",uacute:"Litet u med akutaccent",ucirc:"LItet u med circumflex",uuml:"Litet u med diaeresis",yacute:"Litet y med akutaccent",thorn:"Litet thorn",yuml:"Litet y med diaeresis",OElig:"Stor ligatur av OE",oelig:"Liten ligatur av oe",372:"Stort W med circumflex",374:"Stort Y med circumflex",373:"Litet w med circumflex",375:"Litet y med circumflex",sbquo:"Enkelt lågt 9-citationstecken",8219:"Enkelt högt bakvänt 9-citationstecken",bdquo:"Dubbelt lågt 9-citationstecken",hellip:"Horisontellt uteslutningstecken", +trade:"Varumärke",9658:"Svart högervänd pekare",bull:"Listpunkt",rarr:"Högerpil",rArr:"Dubbel högerpil",hArr:"Dubbel vänsterpil",diams:"Svart ruter",asymp:"Ungefär lika med"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sv.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","en-ca",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Yen sign",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/hu.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/hu.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/hu.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","hu",{euro:"Euró jel",lsquo:"Bal szimpla idézőjel",rsquo:"Jobb szimpla idézőjel",ldquo:"Bal dupla idézőjel",rdquo:"Jobb dupla idézőjel",ndash:"Rövid gondolatjel",mdash:"Hosszú gondolatjel",iexcl:"Fordított felkiáltójel",cent:"Cent jel",pound:"Font jel",curren:"Valuta jel",yen:"Yen jel",brvbar:"Hosszú kettőspont",sect:"Paragrafus jel",uml:"Kettős hangzó jel",copy:"Szerzői jog jel",ordf:"Női sorrend mutatója",laquo:"Balra mutató duplanyíl",not:"Feltételes kötőjel", +reg:"Bejegyzett védjegy jele",macr:"Hosszúsági jel",deg:"Fok jel",sup2:"Négyzeten jel",sup3:"Köbön jel",acute:"Éles ékezet",micro:"Mikro-jel",para:"Bekezdés jel",middot:"Közép pont",cedil:"Cédille",sup1:"Elsőn jel",ordm:"Férfi sorrend mutatója",raquo:"Jobbra mutató duplanyíl",frac14:"Egy negyed jel",frac12:"Egy ketted jel",frac34:"Három negyed jel",iquest:"Fordított kérdőjel",Agrave:"Latin nagy A fordított ékezettel",Aacute:"Latin nagy A normál ékezettel",Acirc:"Latin nagy A hajtott ékezettel",Atilde:"Latin nagy A hullámjellel", +Auml:"Latin nagy A kettőspont ékezettel",Aring:"Latin nagy A gyűrű ékezettel",AElig:"Latin nagy Æ betű",Ccedil:"Latin nagy C cedillával",Egrave:"Latin nagy E fordított ékezettel",Eacute:"Latin nagy E normál ékezettel",Ecirc:"Latin nagy E hajtott ékezettel",Euml:"Latin nagy E dupla kettőspont ékezettel",Igrave:"Latin nagy I fordított ékezettel",Iacute:"Latin nagy I normál ékezettel",Icirc:"Latin nagy I hajtott ékezettel",Iuml:"Latin nagy I kettőspont ékezettel",ETH:"Latin nagy Eth betű",Ntilde:"Latin nagy N hullámjellel", +Ograve:"Latin nagy O fordított ékezettel",Oacute:"Latin nagy O normál ékezettel",Ocirc:"Latin nagy O hajtott ékezettel",Otilde:"Latin nagy O hullámjellel",Ouml:"Latin nagy O kettőspont ékezettel",times:"Szorzás jel",Oslash:"Latin O betű áthúzással",Ugrave:"Latin nagy U fordított ékezettel",Uacute:"Latin nagy U normál ékezettel",Ucirc:"Latin nagy U hajtott ékezettel",Uuml:"Latin nagy U kettőspont ékezettel",Yacute:"Latin nagy Y normál ékezettel",THORN:"Latin nagy Thorn betű",szlig:"Latin kis s betű", +agrave:"Latin kis a fordított ékezettel",aacute:"Latin kis a normál ékezettel",acirc:"Latin kis a hajtott ékezettel",atilde:"Latin kis a hullámjellel",auml:"Latin kis a kettőspont ékezettel",aring:"Latin kis a gyűrű ékezettel",aelig:"Latin kis æ betű",ccedil:"Latin kis c cedillával",egrave:"Latin kis e fordított ékezettel",eacute:"Latin kis e normál ékezettel",ecirc:"Latin kis e hajtott ékezettel",euml:"Latin kis e dupla kettőspont ékezettel",igrave:"Latin kis i fordított ékezettel",iacute:"Latin kis i normál ékezettel", +icirc:"Latin kis i hajtott ékezettel",iuml:"Latin kis i kettőspont ékezettel",eth:"Latin kis eth betű",ntilde:"Latin kis n hullámjellel",ograve:"Latin kis o fordított ékezettel",oacute:"Latin kis o normál ékezettel",ocirc:"Latin kis o hajtott ékezettel",otilde:"Latin kis o hullámjellel",ouml:"Latin kis o kettőspont ékezettel",divide:"Osztásjel",oslash:"Latin kis o betű áthúzással",ugrave:"Latin kis u fordított ékezettel",uacute:"Latin kis u normál ékezettel",ucirc:"Latin kis u hajtott ékezettel", +uuml:"Latin kis u kettőspont ékezettel",yacute:"Latin kis y normál ékezettel",thorn:"Latin kis thorn jel",yuml:"Latin kis y kettőspont ékezettel",OElig:"Latin nagy OE-jel",oelig:"Latin kis oe-jel",372:"Latin nagy W hajtott ékezettel",374:"Latin nagy Y hajtott ékezettel",373:"Latin kis w hajtott ékezettel",375:"Latin kis y hajtott ékezettel",sbquo:"Nyitó nyomdai szimpla idézőjel",8219:"Záró nyomdai záró idézőjel",bdquo:"Nyitó nyomdai dupla idézőjel",hellip:"Három pont",trade:"Kereskedelmi védjegy jele", +9658:"Jobbra mutató fekete mutató",bull:"Golyó",rarr:"Jobbra mutató nyíl",rArr:"Jobbra mutató duplanyíl",hArr:"Bal-jobb duplanyíl",diams:"Fekete gyémánt jel",asymp:"Majdnem egyenlő jel"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/hu.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/cy.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/cy.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/cy.js (revision 7) @@ -0,0 +1,14 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","cy",{euro:"Arwydd yr Ewro",lsquo:"Dyfynnod chwith unigol",rsquo:"Dyfynnod dde unigol",ldquo:"Dyfynnod chwith dwbl",rdquo:"Dyfynnod dde dwbl",ndash:"Cysylltnod en",mdash:"Cysylltnod em",iexcl:"Ebychnod gwrthdro",cent:"Arwydd sent",pound:"Arwydd punt",curren:"Arwydd arian cyfred",yen:"Arwydd yen",brvbar:"Bar toriedig",sect:"Arwydd adran",uml:"Didolnod",copy:"Arwydd hawlfraint",ordf:"Dangosydd benywaidd",laquo:"Dyfynnod dwbl ar ongl i'r chwith",not:"Arwydd Nid", +reg:"Arwydd cofrestredig",macr:"Macron",deg:"Arwydd gradd",sup2:"Dau uwchsgript",sup3:"Tri uwchsgript",acute:"Acen ddyrchafedig",micro:"Arwydd micro",para:"Arwydd pilcrow",middot:"Dot canol",cedil:"Sedila",sup1:"Un uwchsgript",ordm:"Dangosydd gwrywaidd",raquo:"Dyfynnod dwbl ar ongl i'r dde",frac14:"Ffracsiwn cyffredin un cwarter",frac12:"Ffracsiwn cyffredin un hanner",frac34:"Ffracsiwn cyffredin tri chwarter",iquest:"Marc cwestiwn gwrthdroëdig",Agrave:"Priflythyren A Lladinaidd gydag acen ddisgynedig", +Aacute:"Priflythyren A Lladinaidd gydag acen ddyrchafedig",Acirc:"Priflythyren A Lladinaidd gydag acen grom",Atilde:"Priflythyren A Lladinaidd gyda thild",Auml:"Priflythyren A Lladinaidd gyda didolnod",Aring:"Priflythyren A Lladinaidd gyda chylch uwchben",AElig:"Priflythyren Æ Lladinaidd",Ccedil:"Priflythyren C Lladinaidd gyda sedila",Egrave:"Priflythyren E Lladinaidd gydag acen ddisgynedig",Eacute:"Priflythyren E Lladinaidd gydag acen ddyrchafedig",Ecirc:"Priflythyren E Lladinaidd gydag acen grom", +Euml:"Priflythyren E Lladinaidd gyda didolnod",Igrave:"Priflythyren I Lladinaidd gydag acen ddisgynedig",Iacute:"Priflythyren I Lladinaidd gydag acen ddyrchafedig",Icirc:"Priflythyren I Lladinaidd gydag acen grom",Iuml:"Priflythyren I Lladinaidd gyda didolnod",ETH:"Priflythyren Eth",Ntilde:"Priflythyren N Lladinaidd gyda thild",Ograve:"Priflythyren O Lladinaidd gydag acen ddisgynedig",Oacute:"Priflythyren O Lladinaidd gydag acen ddyrchafedig",Ocirc:"Priflythyren O Lladinaidd gydag acen grom",Otilde:"Priflythyren O Lladinaidd gyda thild", +Ouml:"Priflythyren O Lladinaidd gyda didolnod",times:"Arwydd lluosi",Oslash:"Priflythyren O Lladinaidd gyda strôc",Ugrave:"Priflythyren U Lladinaidd gydag acen ddisgynedig",Uacute:"Priflythyren U Lladinaidd gydag acen ddyrchafedig",Ucirc:"Priflythyren U Lladinaidd gydag acen grom",Uuml:"Priflythyren U Lladinaidd gyda didolnod",Yacute:"Priflythyren Y Lladinaidd gydag acen ddyrchafedig",THORN:"Priflythyren Thorn",szlig:"Llythyren s fach Lladinaidd siarp ",agrave:"Llythyren a fach Lladinaidd gydag acen ddisgynedig", +aacute:"Llythyren a fach Lladinaidd gydag acen ddyrchafedig",acirc:"Llythyren a fach Lladinaidd gydag acen grom",atilde:"Llythyren a fach Lladinaidd gyda thild",auml:"Llythyren a fach Lladinaidd gyda didolnod",aring:"Llythyren a fach Lladinaidd gyda chylch uwchben",aelig:"Llythyren æ fach Lladinaidd",ccedil:"Llythyren c fach Lladinaidd gyda sedila",egrave:"Llythyren e fach Lladinaidd gydag acen ddisgynedig",eacute:"Llythyren e fach Lladinaidd gydag acen ddyrchafedig",ecirc:"Llythyren e fach Lladinaidd gydag acen grom", +euml:"Llythyren e fach Lladinaidd gyda didolnod",igrave:"Llythyren i fach Lladinaidd gydag acen ddisgynedig",iacute:"Llythyren i fach Lladinaidd gydag acen ddyrchafedig",icirc:"Llythyren i fach Lladinaidd gydag acen grom",iuml:"Llythyren i fach Lladinaidd gyda didolnod",eth:"Llythyren eth fach",ntilde:"Llythyren n fach Lladinaidd gyda thild",ograve:"Llythyren o fach Lladinaidd gydag acen ddisgynedig",oacute:"Llythyren o fach Lladinaidd gydag acen ddyrchafedig",ocirc:"Llythyren o fach Lladinaidd gydag acen grom", +otilde:"Llythyren o fach Lladinaidd gyda thild",ouml:"Llythyren o fach Lladinaidd gyda didolnod",divide:"Arwydd rhannu",oslash:"Llythyren o fach Lladinaidd gyda strôc",ugrave:"Llythyren u fach Lladinaidd gydag acen ddisgynedig",uacute:"Llythyren u fach Lladinaidd gydag acen ddyrchafedig",ucirc:"Llythyren u fach Lladinaidd gydag acen grom",uuml:"Llythyren u fach Lladinaidd gyda didolnod",yacute:"Llythyren y fach Lladinaidd gydag acen ddisgynedig",thorn:"Llythyren o fach Lladinaidd gyda strôc",yuml:"Llythyren y fach Lladinaidd gyda didolnod", +OElig:"Priflythyren cwlwm OE Lladinaidd ",oelig:"Priflythyren cwlwm oe Lladinaidd ",372:"Priflythyren W gydag acen grom",374:"Priflythyren Y gydag acen grom",373:"Llythyren w fach gydag acen grom",375:"Llythyren y fach gydag acen grom",sbquo:"Dyfynnod sengl 9-isel",8219:"Dyfynnod sengl 9-uchel cildro",bdquo:"Dyfynnod dwbl 9-isel",hellip:"Coll geiriau llorweddol",trade:"Arwydd marc masnachol",9658:"Pwyntydd du i'r dde",bull:"Bwled",rarr:"Saeth i'r dde",rArr:"Saeth ddwbl i'r dde",hArr:"Saeth ddwbl i'r chwith", +diams:"Siwt diemwnt du",asymp:"Bron yn hafal iddo"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/cy.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/nb.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/nb.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/nb.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","nb",{euro:"Eurosymbol",lsquo:"Venstre enkelt anførselstegn",rsquo:"Høyre enkelt anførselstegn",ldquo:"Venstre dobbelt anførselstegn",rdquo:"Høyre anførsesltegn",ndash:"Kort tankestrek",mdash:"Lang tankestrek",iexcl:"Omvendt utropstegn",cent:"Centsymbol",pound:"Pundsymbol",curren:"Valutategn",yen:"Yensymbol",brvbar:"Brutt loddrett strek",sect:"Paragraftegn",uml:"Tøddel",copy:"Copyrighttegn",ordf:"Feminin ordensindikator",laquo:"Venstre anførselstegn",not:"Negasjonstegn", +reg:"Registrert varemerke-tegn",macr:"Makron",deg:"Gradsymbol",sup2:"Hevet totall",sup3:"Hevet tretall",acute:"Akutt aksent",micro:"Mikrosymbol",para:"Avsnittstegn",middot:"Midtstilt prikk",cedil:"Cedille",sup1:"Hevet ettall",ordm:"Maskulin ordensindikator",raquo:"Høyre anførselstegn",frac14:"Fjerdedelsbrøk",frac12:"Halvbrøk",frac34:"Tre fjerdedelers brøk",iquest:"Omvendt spørsmålstegn",Agrave:"Stor A med grav aksent",Aacute:"Stor A med akutt aksent",Acirc:"Stor A med cirkumfleks",Atilde:"Stor A med tilde", +Auml:"Stor A med tøddel",Aring:"Stor Å",AElig:"Stor Æ",Ccedil:"Stor C med cedille",Egrave:"Stor E med grav aksent",Eacute:"Stor E med akutt aksent",Ecirc:"Stor E med cirkumfleks",Euml:"Stor E med tøddel",Igrave:"Stor I med grav aksent",Iacute:"Stor I med akutt aksent",Icirc:"Stor I med cirkumfleks",Iuml:"Stor I med tøddel",ETH:"Stor Edd/stungen D",Ntilde:"Stor N med tilde",Ograve:"Stor O med grav aksent",Oacute:"Stor O med akutt aksent",Ocirc:"Stor O med cirkumfleks",Otilde:"Stor O med tilde",Ouml:"Stor O med tøddel", +times:"Multiplikasjonstegn",Oslash:"Stor Ø",Ugrave:"Stor U med grav aksent",Uacute:"Stor U med akutt aksent",Ucirc:"Stor U med cirkumfleks",Uuml:"Stor U med tøddel",Yacute:"Stor Y med akutt aksent",THORN:"Stor Thorn",szlig:"Liten dobbelt-s/Eszett",agrave:"Liten a med grav aksent",aacute:"Liten a med akutt aksent",acirc:"Liten a med cirkumfleks",atilde:"Liten a med tilde",auml:"Liten a med tøddel",aring:"Liten å",aelig:"Liten æ",ccedil:"Liten c med cedille",egrave:"Liten e med grav aksent",eacute:"Liten e med akutt aksent", +ecirc:"Liten e med cirkumfleks",euml:"Liten e med tøddel",igrave:"Liten i med grav aksent",iacute:"Liten i med akutt aksent",icirc:"Liten i med cirkumfleks",iuml:"Liten i med tøddel",eth:"Liten edd/stungen d",ntilde:"Liten n med tilde",ograve:"Liten o med grav aksent",oacute:"Liten o med akutt aksent",ocirc:"Liten o med cirkumfleks",otilde:"Liten o med tilde",ouml:"Liten o med tøddel",divide:"Divisjonstegn",oslash:"Liten ø",ugrave:"Liten u med grav aksent",uacute:"Liten u med akutt aksent",ucirc:"Liten u med cirkumfleks", +uuml:"Liten u med tøddel",yacute:"Liten y med akutt aksent",thorn:"Liten thorn",yuml:"Liten y med tøddel",OElig:"Stor ligatur av O og E",oelig:"Liten ligatur av o og e",372:"Stor W med cirkumfleks",374:"Stor Y med cirkumfleks",373:"Liten w med cirkumfleks",375:"Liten y med cirkumfleks",sbquo:"Enkelt lavt 9-anførselstegn",8219:"Enkelt høyt reversert 9-anførselstegn",bdquo:"Dobbelt lavt 9-anførselstegn",hellip:"Ellipse",trade:"Varemerkesymbol",9658:"Svart høyrevendt peker",bull:"Tykk interpunkt",rarr:"Høyrevendt pil", +rArr:"Dobbel høyrevendt pil",hArr:"Dobbel venstrevendt pil",diams:"Svart ruter",asymp:"Omtrent likhetstegn"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/nb.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/eu.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/eu.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/eu.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","eu",{euro:"Euro zeinua",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Libera zeinua",curren:"Currency sign",yen:"Yen zeinua",brvbar:"Broken bar",sect:"Section sign",uml:"Dieresia",copy:"Copyright zeinua",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Ez zeinua",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Bider zeinua",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Buleta",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/eu.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ku.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ku.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ku.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","ku",{euro:"نیشانەی یۆرۆ",lsquo:"نیشانەی فاریزەی سەرووژێری تاکی چەپ",rsquo:"نیشانەی فاریزەی سەرووژێری تاکی ڕاست",ldquo:"نیشانەی فاریزەی سەرووژێری دووهێندەی چه‌پ",rdquo:"نیشانەی فاریزەی سەرووژێری دووهێندەی ڕاست",ndash:"تەقەڵی کورت",mdash:"تەقەڵی درێژ",iexcl:"نیشانەی هەڵەوگێڕی سەرسوڕهێنەر",cent:"نیشانەی سەنت",pound:"نیشانەی پاوەند",curren:"نیشانەی دراو",yen:"نیشانەی یەنی ژاپۆنی",brvbar:"شریتی ئەستوونی پچڕاو",sect:"نیشانەی دوو s لەسەریەک",uml:"خاڵ",copy:"نیشانەی مافی چاپ", +ordf:"هێڵ لەسەر پیتی a",laquo:"دوو تیری بەدووایەکی چەپ",not:"نیشانەی نەخێر",reg:"نیشانەی R لەناو بازنەدا",macr:"ماکڕۆن",deg:"نیشانەی پلە",sup2:"سەرنووسی دوو",sup3:"سەرنووسی سێ",acute:"لاری تیژ",micro:"نیشانەی u لق درێژی چەپی خواروو",para:"نیشانەی پەڕەگراف",middot:"ناوەڕاستی خاڵ",cedil:"نیشانەی c ژێر چووکرە",sup1:"سەرنووسی یەک",ordm:"هێڵ لەژێر پیتی o",raquo:"دوو تیری بەدووایەکی ڕاست",frac14:"یەک لەسەر چووار",frac12:"یەک لەسەر دوو",frac34:"سێ لەسەر چووار",iquest:"هێمای هەڵەوگێری پرسیار",Agrave:"پیتی لاتینی A-ی گەورە لەگەڵ ڕوومەتداری لار", +Aacute:"پیتی لاتینی A-ی گەورە لەگەڵ ڕوومەتداری تیژ",Acirc:"پیتی لاتینی A-ی گەورە لەگەڵ نیشانە لەسەری",Atilde:"پیتی لاتینی A-ی گەورە لەگەڵ زەڕە",Auml:"پیتی لاتینی A-ی گەورە لەگەڵ نیشانە لەسەری",Aring:"پیتی لاتینی گەورەی Å",AElig:"پیتی لاتینی گەورەی Æ",Ccedil:"پیتی لاتینی C-ی گەورە لەگەڵ ژێر چووکرە",Egrave:"پیتی لاتینی E-ی گەورە لەگەڵ ڕوومەتداری لار",Eacute:"پیتی لاتینی E-ی گەورە لەگەڵ ڕوومەتداری تیژ",Ecirc:"پیتی لاتینی E-ی گەورە لەگەڵ نیشانە لەسەری",Euml:"پیتی لاتینی E-ی گەورە لەگەڵ نیشانە لەسەری", +Igrave:"پیتی لاتینی I-ی گەورە لەگەڵ ڕوومەتداری لار",Iacute:"پیتی لاتینی I-ی گەورە لەگەڵ ڕوومەتداری تیژ",Icirc:"پیتی لاتینی I-ی گەورە لەگەڵ نیشانە لەسەری",Iuml:"پیتی لاتینی I-ی گەورە لەگەڵ نیشانە لەسەری",ETH:"پیتی لاتینی E-ی گەورەی",Ntilde:"پیتی لاتینی N-ی گەورە لەگەڵ زەڕە",Ograve:"پیتی لاتینی O-ی گەورە لەگەڵ ڕوومەتداری لار",Oacute:"پیتی لاتینی O-ی گەورە لەگەڵ ڕوومەتداری تیژ",Ocirc:"پیتی لاتینی O-ی گەورە لەگەڵ نیشانە لەسەری",Otilde:"پیتی لاتینی O-ی گەورە لەگەڵ زەڕە",Ouml:"پیتی لاتینی O-ی گەورە لەگەڵ نیشانە لەسەری", +times:"نیشانەی لێکدان",Oslash:"پیتی لاتینی گەورەی Ø لەگەڵ هێمای دڵ وەستان",Ugrave:"پیتی لاتینی U-ی گەورە لەگەڵ ڕوومەتداری لار",Uacute:"پیتی لاتینی U-ی گەورە لەگەڵ ڕوومەتداری تیژ",Ucirc:"پیتی لاتینی U-ی گەورە لەگەڵ نیشانە لەسەری",Uuml:"پیتی لاتینی U-ی گەورە لەگەڵ نیشانە لەسەری",Yacute:"پیتی لاتینی Y-ی گەورە لەگەڵ ڕوومەتداری تیژ",THORN:"پیتی لاتینی دڕکی گەورە",szlig:"پیتی لاتنی نووک تیژی s",agrave:"پیتی لاتینی a-ی بچووک لەگەڵ ڕوومەتداری لار",aacute:"پیتی لاتینی a-ی بچووك لەگەڵ ڕوومەتداری تیژ",acirc:"پیتی لاتینی a-ی بچووك لەگەڵ نیشانە لەسەری", +atilde:"پیتی لاتینی a-ی بچووك لەگەڵ زەڕە",auml:"پیتی لاتینی a-ی بچووك لەگەڵ نیشانە لەسەری",aring:"پیتی لاتینی å-ی بچووك",aelig:"پیتی لاتینی æ-ی بچووك",ccedil:"پیتی لاتینی c-ی بچووك لەگەڵ ژێر چووکرە",egrave:"پیتی لاتینی e-ی بچووك لەگەڵ ڕوومەتداری لار",eacute:"پیتی لاتینی e-ی بچووك لەگەڵ ڕوومەتداری تیژ",ecirc:"پیتی لاتینی e-ی بچووك لەگەڵ نیشانە لەسەری",euml:"پیتی لاتینی e-ی بچووك لەگەڵ نیشانە لەسەری",igrave:"پیتی لاتینی i-ی بچووك لەگەڵ ڕوومەتداری لار",iacute:"پیتی لاتینی i-ی بچووك لەگەڵ ڕوومەتداری تیژ", +icirc:"پیتی لاتینی i-ی بچووك لەگەڵ نیشانە لەسەری",iuml:"پیتی لاتینی i-ی بچووك لەگەڵ نیشانە لەسەری",eth:"پیتی لاتینی e-ی بچووك",ntilde:"پیتی لاتینی n-ی بچووك لەگەڵ زەڕە",ograve:"پیتی لاتینی o-ی بچووك لەگەڵ ڕوومەتداری لار",oacute:"پیتی لاتینی o-ی بچووك له‌گەڵ ڕوومەتداری تیژ",ocirc:"پیتی لاتینی o-ی بچووك لەگەڵ نیشانە لەسەری",otilde:"پیتی لاتینی o-ی بچووك لەگەڵ زەڕە",ouml:"پیتی لاتینی o-ی بچووك لەگەڵ نیشانە لەسەری",divide:"نیشانەی دابەش",oslash:"پیتی لاتینی گەورەی ø لەگەڵ هێمای دڵ وەستان",ugrave:"پیتی لاتینی u-ی بچووك لەگەڵ ڕوومەتداری لار", +uacute:"پیتی لاتینی u-ی بچووك لەگەڵ ڕوومەتداری تیژ",ucirc:"پیتی لاتینی u-ی بچووك لەگەڵ نیشانە لەسەری",uuml:"پیتی لاتینی u-ی بچووك لەگەڵ نیشانە لەسەری",yacute:"پیتی لاتینی y-ی بچووك لەگەڵ ڕوومەتداری تیژ",thorn:"پیتی لاتینی دڕکی بچووك",yuml:"پیتی لاتینی y-ی بچووك لەگەڵ نیشانە لەسەری",OElig:"پیتی لاتینی گەورەی پێکەوەنووسراوی OE",oelig:"پیتی لاتینی بچووکی پێکەوەنووسراوی oe",372:"پیتی لاتینی W-ی گەورە لەگەڵ نیشانە لەسەری",374:"پیتی لاتینی Y-ی گەورە لەگەڵ نیشانە لەسەری",373:"پیتی لاتینی w-ی بچووکی لەگەڵ نیشانە لەسەری", +375:"پیتی لاتینی y-ی بچووکی لەگەڵ نیشانە لەسەری",sbquo:"نیشانەی فاریزەی نزم",8219:"نیشانەی فاریزەی بەرزی پێچەوانە",bdquo:"دوو فاریزەی تەنیش یەك",hellip:"ئاسۆیی بازنە",trade:"نیشانەی بازرگانی",9658:"ئاراستەی ڕەشی دەستی ڕاست",bull:"فیشەك",rarr:"تیری دەستی ڕاست",rArr:"دووتیری دەستی ڕاست",hArr:"دوو تیری ڕاست و چەپ",diams:"ڕەشی پاقڵاوەیی",asymp:"نیشانەی یەکسانە"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ku.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js (revision 7) @@ -0,0 +1,9 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","zh-cn",{euro:"欧元符号",lsquo:"左单引号",rsquo:"右单引号",ldquo:"左双引号",rdquo:"右双引号",ndash:"短划线",mdash:"长划线",iexcl:"竖翻叹号",cent:"分币符号",pound:"英镑符号",curren:"货币符号",yen:"日元符号",brvbar:"间断条",sect:"节标记",uml:"分音符",copy:"版权所有标记",ordf:"阴性顺序指示符",laquo:"左指双尖引号",not:"非标记",reg:"注册标记",macr:"长音符",deg:"度标记",sup2:"上标二",sup3:"上标三",acute:"锐音符",micro:"微符",para:"段落标记",middot:"中间点",cedil:"下加符",sup1:"上标一",ordm:"阳性顺序指示符",raquo:"右指双尖引号",frac14:"普通分数四分之一",frac12:"普通分数二分之一",frac34:"普通分数四分之三",iquest:"竖翻问号", +Agrave:"带抑音符的拉丁文大写字母 A",Aacute:"带锐音符的拉丁文大写字母 A",Acirc:"带扬抑符的拉丁文大写字母 A",Atilde:"带颚化符的拉丁文大写字母 A",Auml:"带分音符的拉丁文大写字母 A",Aring:"带上圆圈的拉丁文大写字母 A",AElig:"拉丁文大写字母 Æ",Ccedil:"带下加符的拉丁文大写字母 C",Egrave:"带抑音符的拉丁文大写字母 E",Eacute:"带锐音符的拉丁文大写字母 E",Ecirc:"带扬抑符的拉丁文大写字母 E",Euml:"带分音符的拉丁文大写字母 E",Igrave:"带抑音符的拉丁文大写字母 I",Iacute:"带锐音符的拉丁文大写字母 I",Icirc:"带扬抑符的拉丁文大写字母 I",Iuml:"带分音符的拉丁文大写字母 I",ETH:"拉丁文大写字母 Eth",Ntilde:"带颚化符的拉丁文大写字母 N",Ograve:"带抑音符的拉丁文大写字母 O",Oacute:"带锐音符的拉丁文大写字母 O",Ocirc:"带扬抑符的拉丁文大写字母 O",Otilde:"带颚化符的拉丁文大写字母 O", +Ouml:"带分音符的拉丁文大写字母 O",times:"乘号",Oslash:"带粗线的拉丁文大写字母 O",Ugrave:"带抑音符的拉丁文大写字母 U",Uacute:"带锐音符的拉丁文大写字母 U",Ucirc:"带扬抑符的拉丁文大写字母 U",Uuml:"带分音符的拉丁文大写字母 U",Yacute:"带抑音符的拉丁文大写字母 Y",THORN:"拉丁文大写字母 Thorn",szlig:"拉丁文小写字母清音 S",agrave:"带抑音符的拉丁文小写字母 A",aacute:"带锐音符的拉丁文小写字母 A",acirc:"带扬抑符的拉丁文小写字母 A",atilde:"带颚化符的拉丁文小写字母 A",auml:"带分音符的拉丁文小写字母 A",aring:"带上圆圈的拉丁文小写字母 A",aelig:"拉丁文小写字母 Ae",ccedil:"带下加符的拉丁文小写字母 C",egrave:"带抑音符的拉丁文小写字母 E",eacute:"带锐音符的拉丁文小写字母 E",ecirc:"带扬抑符的拉丁文小写字母 E",euml:"带分音符的拉丁文小写字母 E",igrave:"带抑音符的拉丁文小写字母 I", +iacute:"带锐音符的拉丁文小写字母 I",icirc:"带扬抑符的拉丁文小写字母 I",iuml:"带分音符的拉丁文小写字母 I",eth:"拉丁文小写字母 Eth",ntilde:"带颚化符的拉丁文小写字母 N",ograve:"带抑音符的拉丁文小写字母 O",oacute:"带锐音符的拉丁文小写字母 O",ocirc:"带扬抑符的拉丁文小写字母 O",otilde:"带颚化符的拉丁文小写字母 O",ouml:"带分音符的拉丁文小写字母 O",divide:"除号",oslash:"带粗线的拉丁文小写字母 O",ugrave:"带抑音符的拉丁文小写字母 U",uacute:"带锐音符的拉丁文小写字母 U",ucirc:"带扬抑符的拉丁文小写字母 U",uuml:"带分音符的拉丁文小写字母 U",yacute:"带抑音符的拉丁文小写字母 Y",thorn:"拉丁文小写字母 Thorn",yuml:"带分音符的拉丁文小写字母 Y",OElig:"拉丁文大写连字 Oe",oelig:"拉丁文小写连字 Oe",372:"带扬抑符的拉丁文大写字母 W",374:"带扬抑符的拉丁文大写字母 Y", +373:"带扬抑符的拉丁文小写字母 W",375:"带扬抑符的拉丁文小写字母 Y",sbquo:"单下 9 形引号",8219:"单高横翻 9 形引号",bdquo:"双下 9 形引号",hellip:"水平省略号",trade:"商标标志",9658:"实心右指指针",bull:"加重号",rarr:"向右箭头",rArr:"向右双线箭头",hArr:"左右双线箭头",diams:"实心方块纸牌",asymp:"约等于"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/da.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/da.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/da.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","da",{euro:"Euro-tegn",lsquo:"Venstre enkelt anførselstegn",rsquo:"Højre enkelt anførselstegn",ldquo:"Venstre dobbelt anførselstegn",rdquo:"Højre dobbelt anførselstegn",ndash:"Bindestreg",mdash:"Tankestreg",iexcl:"Omvendt udråbstegn",cent:"Cent-tegn",pound:"Pund-tegn",curren:"Kurs-tegn",yen:"Yen-tegn",brvbar:"Brudt streg",sect:"Paragraftegn",uml:"Umlaut",copy:"Copyright-tegn",ordf:"Feminin ordinal indikator",laquo:"Venstre dobbel citations-vinkel",not:"Negation", +reg:"Registreret varemærke tegn",macr:"Macron",deg:"Grad-tegn",sup2:"Superscript to",sup3:"Superscript tre",acute:"Prim-tegn",micro:"Mikro-tegn",para:"Pilcrow-tegn",middot:"Punkt-tegn",cedil:"Cedille",sup1:"Superscript et",ordm:"Maskulin ordinal indikator",raquo:"Højre dobbel citations-vinkel",frac14:"En fjerdedel",frac12:"En halv",frac34:"En tredjedel",iquest:"Omvendt udråbstegn",Agrave:"Stort A med accent grave",Aacute:"Stort A med accent aigu",Acirc:"Stort A med cirkumfleks",Atilde:"Stort A med tilde", +Auml:"Stort A med umlaut",Aring:"Stort Å",AElig:"Latin capital letter Æ",Ccedil:"Stort C med cedille",Egrave:"Stort E med accent grave",Eacute:"Stort E med accent aigu",Ecirc:"Stort E med cirkumfleks",Euml:"Stort E med umlaut",Igrave:"Stort I med accent grave",Iacute:"Stort I med accent aigu",Icirc:"Stort I med cirkumfleks",Iuml:"Stort I med umlaut",ETH:"Stort Ð (edd)",Ntilde:"Stort N med tilde",Ograve:"Stort O med accent grave",Oacute:"Stort O med accent aigu",Ocirc:"Stort O med cirkumfleks",Otilde:"Stort O med tilde", +Ouml:"Stort O med umlaut",times:"Gange-tegn",Oslash:"Stort Ø",Ugrave:"Stort U med accent grave",Uacute:"Stort U med accent aigu",Ucirc:"Stort U med cirkumfleks",Uuml:"Stort U med umlaut",Yacute:"Stort Y med accent aigu",THORN:"Stort Thorn",szlig:"Lille eszett",agrave:"Lille a med accent grave",aacute:"Lille a med accent aigu",acirc:"Lille a med cirkumfleks",atilde:"Lille a med tilde",auml:"Lille a med umlaut",aring:"Lilla å",aelig:"Lille æ",ccedil:"Lille c med cedille",egrave:"Lille e med accent grave", +eacute:"Lille e med accent aigu",ecirc:"Lille e med cirkumfleks",euml:"Lille e med umlaut",igrave:"Lille i med accent grave",iacute:"Lille i med accent aigu",icirc:"Lille i med cirkumfleks",iuml:"Lille i med umlaut",eth:"Lille ð (edd)",ntilde:"Lille n med tilde",ograve:"Lille o med accent grave",oacute:"Lille o med accent aigu",ocirc:"Lille o med cirkumfleks",otilde:"Lille o med tilde",ouml:"Lille o med umlaut",divide:"Divisions-tegn",oslash:"Lille ø",ugrave:"Lille u med accent grave",uacute:"Lille u med accent aigu", +ucirc:"Lille u med cirkumfleks",uuml:"Lille u med umlaut",yacute:"Lille y med accent aigu",thorn:"Lille thorn",yuml:"Lille y med umlaut",OElig:"Stort Æ",oelig:"Lille æ",372:"Stort W med cirkumfleks",374:"Stort Y med cirkumfleks",373:"Lille w med cirkumfleks",375:"Lille y med cirkumfleks",sbquo:"Lavt enkelt 9-komma citationstegn",8219:"Højt enkelt 9-komma citationstegn",bdquo:"Dobbelt 9-komma citationstegn",hellip:"Tre horizontale prikker",trade:"Varemærke-tegn",9658:"Sort højre pil",bull:"Punkt", +rarr:"Højre pil",rArr:"Højre dobbelt pil",hArr:"Venstre højre dobbelt pil",diams:"Sort diamant",asymp:"Næsten lig med"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/da.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/he.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/he.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/he.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","he",{euro:"יורו",lsquo:"סימן ציטוט יחיד שמאלי",rsquo:"סימן ציטוט יחיד ימני",ldquo:"סימן ציטוט כפול שמאלי",rdquo:"סימן ציטוט כפול ימני",ndash:"קו מפריד קצר",mdash:"קו מפריד ארוך",iexcl:"סימן קריאה הפוך",cent:"סנט",pound:"פאונד",curren:"מטבע",yen:"ין",brvbar:"קו שבור",sect:"סימן מקטע",uml:"שתי נקודות אופקיות (Diaeresis)",copy:"סימן זכויות יוצרים (Copyright)",ordf:"סימן אורדינאלי נקבי",laquo:"סימן ציטוט זווית כפולה לשמאל",not:"סימן שלילה מתמטי",reg:"סימן רשום", +macr:"מקרון (הגיה ארוכה)",deg:"מעלות",sup2:"2 בכתיב עילי",sup3:"3 בכתיב עילי",acute:"סימן דגוש (Acute)",micro:"מיקרו",para:"סימון פסקה",middot:"נקודה אמצעית",cedil:"סדיליה",sup1:"1 בכתיב עילי",ordm:"סימן אורדינאלי זכרי",raquo:"סימן ציטוט זווית כפולה לימין",frac14:"רבע בשבר פשוט",frac12:"חצי בשבר פשוט",frac34:"שלושה רבעים בשבר פשוט",iquest:"סימן שאלה הפוך",Agrave:"אות לטינית A עם גרש (Grave)",Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde", +Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"אות לטינית Æ גדולה",Ccedil:"Latin capital letter C with cedilla",Egrave:"אות לטינית E עם גרש (Grave)",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"אות לטינית I עם גרש (Grave)",Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis", +ETH:"אות לטינית Eth גדולה",Ntilde:"Latin capital letter N with tilde",Ograve:"אות לטינית O עם גרש (Grave)",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"סימן כפל",Oslash:"Latin capital letter O with stroke",Ugrave:"אות לטינית U עם גרש (Grave)",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis", +Yacute:"Latin capital letter Y with acute accent",THORN:"אות לטינית Thorn גדולה",szlig:"אות לטינית s חדה קטנה",agrave:"אות לטינית a עם גרש (Grave)",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis",aring:"Latin small letter a with ring above",aelig:"אות לטינית æ קטנה",ccedil:"Latin small letter c with cedilla",egrave:"אות לטינית e עם גרש (Grave)",eacute:"Latin small letter e with acute accent", +ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"אות לטינית i עם גרש (Grave)",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"אות לטינית eth קטנה",ntilde:"Latin small letter n with tilde",ograve:"אות לטינית o עם גרש (Grave)",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis", +divide:"סימן חלוקה",oslash:"Latin small letter o with stroke",ugrave:"אות לטינית u עם גרש (Grave)",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis",yacute:"Latin small letter y with acute accent",thorn:"אות לטינית thorn קטנה",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex", +373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"סימן ציטוט נמוך יחיד",8219:"סימן ציטוט",bdquo:"סימן ציטוט נמוך כפול",hellip:"שלוש נקודות",trade:"סימן טריידמארק",9658:"סמן שחור לצד ימין",bull:"תבליט (רשימה)",rarr:"חץ לימין",rArr:"חץ כפול לימין",hArr:"חץ כפול לימין ושמאל",diams:"יהלום מלא",asymp:"כמעט שווה"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/he.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ca.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ca.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ca.js (revision 7) @@ -0,0 +1,14 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","ca",{euro:"Símbol d'euro",lsquo:"Signe de cometa simple esquerra",rsquo:"Signe de cometa simple dreta",ldquo:"Signe de cometa doble esquerra",rdquo:"Signe de cometa doble dreta",ndash:"Guió",mdash:"Guió baix",iexcl:"Signe d'exclamació inversa",cent:"Símbol de percentatge",pound:"Símbol de lliura",curren:"Símbol de moneda",yen:"Símbol de Yen",brvbar:"Barra trencada",sect:"Símbol de secció",uml:"Dièresi",copy:"Símbol de Copyright",ordf:"Indicador ordinal femení", +laquo:"Signe de cometes angulars esquerra",not:"Símbol de negació",reg:"Símbol registrat",macr:"Macron",deg:"Símbol de grau",sup2:"Superíndex dos",sup3:"Superíndex tres",acute:"Accent agut",micro:"Símbol de micro",para:"Símbol de calderó",middot:"Punt volat",cedil:"Ce trencada",sup1:"Superíndex u",ordm:"Indicador ordinal masculí",raquo:"Signe de cometes angulars dreta",frac14:"Fracció vulgar un quart",frac12:"Fracció vulgar una meitat",frac34:"Fracció vulgar tres quarts",iquest:"Símbol d'interrogació invertit", +Agrave:"Lletra majúscula llatina A amb accent greu",Aacute:"Lletra majúscula llatina A amb accent agut",Acirc:"Lletra majúscula llatina A amb circumflex",Atilde:"Lletra majúscula llatina A amb titlla",Auml:"Lletra majúscula llatina A amb dièresi",Aring:"Lletra majúscula llatina A amb anell superior",AElig:"Lletra majúscula llatina Æ",Ccedil:"Lletra majúscula llatina C amb ce trencada",Egrave:"Lletra majúscula llatina E amb accent greu",Eacute:"Lletra majúscula llatina E amb accent agut",Ecirc:"Lletra majúscula llatina E amb circumflex", +Euml:"Lletra majúscula llatina E amb dièresi",Igrave:"Lletra majúscula llatina I amb accent greu",Iacute:"Lletra majúscula llatina I amb accent agut",Icirc:"Lletra majúscula llatina I amb circumflex",Iuml:"Lletra majúscula llatina I amb dièresi",ETH:"Lletra majúscula llatina Eth",Ntilde:"Lletra majúscula llatina N amb titlla",Ograve:"Lletra majúscula llatina O amb accent greu",Oacute:"Lletra majúscula llatina O amb accent agut",Ocirc:"Lletra majúscula llatina O amb circumflex",Otilde:"Lletra majúscula llatina O amb titlla", +Ouml:"Lletra majúscula llatina O amb dièresi",times:"Símbol de multiplicació",Oslash:"Lletra majúscula llatina O amb barra",Ugrave:"Lletra majúscula llatina U amb accent greu",Uacute:"Lletra majúscula llatina U amb accent agut",Ucirc:"Lletra majúscula llatina U amb circumflex",Uuml:"Lletra majúscula llatina U amb dièresi",Yacute:"Lletra majúscula llatina Y amb accent agut",THORN:"Lletra majúscula llatina Thorn",szlig:"Lletra minúscula llatina sharp s",agrave:"Lletra minúscula llatina a amb accent greu", +aacute:"Lletra minúscula llatina a amb accent agut",acirc:"Lletra minúscula llatina a amb circumflex",atilde:"Lletra minúscula llatina a amb titlla",auml:"Lletra minúscula llatina a amb dièresi",aring:"Lletra minúscula llatina a amb anell superior",aelig:"Lletra minúscula llatina æ",ccedil:"Lletra minúscula llatina c amb ce trencada",egrave:"Lletra minúscula llatina e amb accent greu",eacute:"Lletra minúscula llatina e amb accent agut",ecirc:"Lletra minúscula llatina e amb circumflex",euml:"Lletra minúscula llatina e amb dièresi", +igrave:"Lletra minúscula llatina i amb accent greu",iacute:"Lletra minúscula llatina i amb accent agut",icirc:"Lletra minúscula llatina i amb circumflex",iuml:"Lletra minúscula llatina i amb dièresi",eth:"Lletra minúscula llatina eth",ntilde:"Lletra minúscula llatina n amb titlla",ograve:"Lletra minúscula llatina o amb accent greu",oacute:"Lletra minúscula llatina o amb accent agut",ocirc:"Lletra minúscula llatina o amb circumflex",otilde:"Lletra minúscula llatina o amb titlla",ouml:"Lletra minúscula llatina o amb dièresi", +divide:"Símbol de divisió",oslash:"Lletra minúscula llatina o amb barra",ugrave:"Lletra minúscula llatina u amb accent greu",uacute:"Lletra minúscula llatina u amb accent agut",ucirc:"Lletra minúscula llatina u amb circumflex",uuml:"Lletra minúscula llatina u amb dièresi",yacute:"Lletra minúscula llatina y amb accent agut",thorn:"Lletra minúscula llatina thorn",yuml:"Lletra minúscula llatina y amb dièresi",OElig:"Lligadura majúscula llatina OE",oelig:"Lligadura minúscula llatina oe",372:"Lletra majúscula llatina W amb circumflex", +374:"Lletra majúscula llatina Y amb circumflex",373:"Lletra minúscula llatina w amb circumflex",375:"Lletra minúscula llatina y amb circumflex",sbquo:"Signe de cita simple baixa-9",8219:"Signe de cita simple alta-invertida-9",bdquo:"Signe de cita doble baixa-9",hellip:"Punts suspensius",trade:"Símbol de marca registrada",9658:"Punter negre apuntant cap a la dreta",bull:"Vinyeta",rarr:"Fletxa cap a la dreta",rArr:"Doble fletxa cap a la dreta",hArr:"Doble fletxa esquerra dreta",diams:"Vestit negre diamant", +asymp:"Gairebé igual a"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ca.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sq.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sq.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sq.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","sq",{euro:"Shenja e Euros",lsquo:"Thonjëza majtas me një vi",rsquo:"Thonjëza djathtas me një vi",ldquo:"Thonjëza majtas",rdquo:"Thonjëza djathtas",ndash:"En viza lidhëse",mdash:"Em viza lidhëse",iexcl:"Pikëçuditëse e përmbysur",cent:"Shenja e Centit",pound:"Shejna e Funtit",curren:"Shenja e valutës",yen:"Shenja e Jenit",brvbar:"Viza e këputur",sect:"Shenja e pjesës",uml:"Diaeresis",copy:"Shenja e të drejtave të kopjimit",ordf:"Tregues rendor femror",laquo:"Thonjëz me dy kënde e kthyer majtas", +not:"Nuk ka shenjë",reg:"Shenja e të regjistruarit",macr:"Macron",deg:"Shenja e shkallës",sup2:"Super-skripta dy",sup3:"Super-skripta tre",acute:"Theks i mprehtë",micro:"Shjenja e Mikros",para:"Shenja Pilkrou",middot:"Pika e Mesme",cedil:"Hark nën shkronja",sup1:"Super-skripta një",ordm:"Tregues rendor mashkullor",raquo:"Thonjëz me dy kënde e kthyer djathtas",frac14:"Thyesa një të katrat",frac12:"Thyesa një të dytat",frac34:"Thyesa tre të katrat",iquest:"Pikëpyetje e përmbysur",Agrave:"Shkronja e madhe latine A me theks të rëndë", +Aacute:"Shkronja e madhe latine A me theks akute",Acirc:"Shkronja e madhe latine A me theks lakor",Atilde:"Shkronja e madhe latine A me tildë",Auml:"Shkronja e madhe latine A me dy pika",Aring:"Shkronja e madhe latine A me unazë mbi",AElig:"Shkronja e madhe latine Æ",Ccedil:"Shkronja e madhe latine C me hark poshtë",Egrave:"Shkronja e madhe latine E me theks të rëndë",Eacute:"Shkronja e madhe latine E me theks akute",Ecirc:"Shkronja e madhe latine E me theks lakor",Euml:"Shkronja e madhe latine E me dy pika", +Igrave:"Shkronja e madhe latine I me theks të rëndë",Iacute:"Shkronja e madhe latine I me theks akute",Icirc:"Shkronja e madhe latine I me theks lakor",Iuml:"Shkronja e madhe latine I me dy pika",ETH:"Shkronja e madhe latine Eth",Ntilde:"Shkronja e madhe latine N me tildë",Ograve:"Shkronja e madhe latine O me theks të rëndë",Oacute:"Shkronja e madhe latine O me theks akute",Ocirc:"Shkronja e madhe latine O me theks lakor",Otilde:"Shkronja e madhe latine O me tildë",Ouml:"Shkronja e madhe latine O me dy pika", +times:"Shenja e shumëzimit",Oslash:"Shkronja e madhe latine O me vizë në mes",Ugrave:"Shkronja e madhe latine U me theks të rëndë",Uacute:"Shkronja e madhe latine U me theks akute",Ucirc:"Shkronja e madhe latine U me theks lakor",Uuml:"Shkronja e madhe latine U me dy pika",Yacute:"Shkronja e madhe latine Y me theks akute",THORN:"Shkronja e madhe latine Thorn",szlig:"Shkronja e vogë latine s e mprehtë",agrave:"Shkronja e vogë latine a me theks të rëndë",aacute:"Shkronja e vogë latine a me theks të mprehtë", +acirc:"Shkronja e vogël latine a me theks lakor",atilde:"Shkronja e vogël latine a me tildë",auml:"Shkronja e vogël latine a me dy pika",aring:"Shkronja e vogë latine a me unazë mbi",aelig:"Shkronja e vogë latine æ",ccedil:"Shkronja e vogël latine c me hark poshtë",egrave:"Shkronja e vogë latine e me theks të rëndë",eacute:"Shkronja e vogë latine e me theks të mprehtë",ecirc:"Shkronja e vogël latine e me theks lakor",euml:"Shkronja e vogël latine e me dy pika",igrave:"Shkronja e vogë latine i me theks të rëndë", +iacute:"Shkronja e vogë latine i me theks të mprehtë",icirc:"Shkronja e vogël latine i me theks lakor",iuml:"Shkronja e vogël latine i me dy pika",eth:"Shkronja e vogë latine eth",ntilde:"Shkronja e vogël latine n me tildë",ograve:"Shkronja e vogë latine o me theks të rëndë",oacute:"Shkronja e vogë latine o me theks të mprehtë",ocirc:"Shkronja e vogël latine o me theks lakor",otilde:"Shkronja e vogël latine o me tildë",ouml:"Shkronja e vogël latine o me dy pika",divide:"Shenja ndarëse",oslash:"Shkronja e vogël latine o me vizë në mes", +ugrave:"Shkronja e vogë latine u me theks të rëndë",uacute:"Shkronja e vogë latine u me theks të mprehtë",ucirc:"Shkronja e vogël latine u me theks lakor",uuml:"Shkronja e vogël latine u me dy pika",yacute:"Shkronja e vogë latine y me theks të mprehtë",thorn:"Shkronja e vogël latine thorn",yuml:"Shkronja e vogël latine y me dy pika",OElig:"Shkronja e madhe e bashkuar latine OE",oelig:"Shkronja e vogël e bashkuar latine oe",372:"Shkronja e madhe latine W me theks lakor",374:"Shkronja e madhe latine Y me theks lakor", +373:"Shkronja e vogël latine w me theks lakor",375:"Shkronja e vogël latine y me theks lakor",sbquo:"Thonjëz-9 e vetme poshtë",8219:"Thonjëz-9 lartë e vetme e kthyer në të kundërtën",bdquo:"Thonjëza-9 poshtë",hellip:"Tri pika horizontale",trade:"Shenja e Simbolit Tregtarë",9658:"Shenjë tregues kthyer djathtas-prapa",bull:"Pulla",rarr:"Shigjeta djathtas",rArr:"Shenja të dyfishta djathtas",hArr:"Shigjeta e dyfishë majtas-djathtas",diams:"Karo me ngjyrë të zezë",asymp:"Gati e barabar me"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sq.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fi.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fi.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fi.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","fi",{euro:"Euron merkki",lsquo:"Vasen yksittäinen lainausmerkki",rsquo:"Oikea yksittäinen lainausmerkki",ldquo:"Vasen kaksoislainausmerkki",rdquo:"Oikea kaksoislainausmerkki",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Sentin merkki",pound:"Punnan merkki",curren:"Valuuttamerkki",yen:"Yenin merkki",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Rekisteröity merkki",macr:"Macron",deg:"Asteen merkki",sup2:"Yläindeksi kaksi",sup3:"Yläindeksi kolme",acute:"Acute accent",micro:"Mikron merkki",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Yläindeksi yksi",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Ylösalaisin oleva kysymysmerkki",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Kertomerkki",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Jakomerkki",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Tavaramerkki merkki",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Nuoli oikealle",rArr:"Kaksoisnuoli oikealle",hArr:"Kaksoisnuoli oikealle ja vasemmalle",diams:"Black diamond suit",asymp:"Noin"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fi.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ru.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ru.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ru.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","ru",{euro:"Знак евро",lsquo:"Левая одинарная кавычка",rsquo:"Правая одинарная кавычка",ldquo:"Левая двойная кавычка",rdquo:"Левая двойная кавычка",ndash:"Среднее тире",mdash:"Длинное тире",iexcl:"перевёрнутый восклицательный знак",cent:"Цент",pound:"Фунт",curren:"Знак валюты",yen:"Йена",brvbar:"Вертикальная черта с разрывом",sect:"Знак параграфа",uml:"Умлаут",copy:"Знак охраны авторского права",ordf:"Указатель окончания женского рода ...ая",laquo:"Левая кавычка-«ёлочка»", +not:"Отрицание",reg:"Знак охраны смежных прав\\t",macr:"Макрон",deg:"Градус",sup2:"Надстрочное два",sup3:"Надстрочное три",acute:"Акут",micro:"Микро",para:"Абзац",middot:"Интерпункт",cedil:"Седиль",sup1:"Надстрочная единица",ordm:"Порядковое числительное",raquo:"Правая кавычка-«ёлочка»",frac14:"Одна четвертая",frac12:"Одна вторая",frac34:"Три четвёртых",iquest:"Перевёрнутый вопросительный знак",Agrave:"Латинская заглавная буква А с апострофом",Aacute:"Латинская заглавная буква A с ударением",Acirc:"Латинская заглавная буква А с циркумфлексом", +Atilde:"Латинская заглавная буква А с тильдой",Auml:"Латинская заглавная буква А с тремой",Aring:"Латинская заглавная буква А с кольцом над ней",AElig:"Латинская большая буква Æ",Ccedil:"Латинская заглавная буква C с седилью",Egrave:"Латинская заглавная буква Е с апострофом",Eacute:"Латинская заглавная буква Е с ударением",Ecirc:"Латинская заглавная буква Е с циркумфлексом",Euml:"Латинская заглавная буква Е с тремой",Igrave:"Латинская заглавная буква I с апострофом",Iacute:"Латинская заглавная буква I с ударением", +Icirc:"Латинская заглавная буква I с циркумфлексом",Iuml:"Латинская заглавная буква I с тремой",ETH:"Латинская большая буква Eth",Ntilde:"Латинская заглавная буква N с тильдой",Ograve:"Латинская заглавная буква O с апострофом",Oacute:"Латинская заглавная буква O с ударением",Ocirc:"Латинская заглавная буква O с циркумфлексом",Otilde:"Латинская заглавная буква O с тильдой",Ouml:"Латинская заглавная буква O с тремой",times:"Знак умножения",Oslash:"Латинская большая перечеркнутая O",Ugrave:"Латинская заглавная буква U с апострофом", +Uacute:"Латинская заглавная буква U с ударением",Ucirc:"Латинская заглавная буква U с циркумфлексом",Uuml:"Латинская заглавная буква U с тремой",Yacute:"Латинская заглавная буква Y с ударением",THORN:"Латинская заглавная буква Thorn",szlig:"Знак диеза",agrave:"Латинская маленькая буква a с апострофом",aacute:"Латинская маленькая буква a с ударением",acirc:"Латинская маленькая буква a с циркумфлексом",atilde:"Латинская маленькая буква a с тильдой",auml:"Латинская маленькая буква a с тремой",aring:"Латинская маленькая буква a с кольцом", +aelig:"Латинская маленькая буква æ",ccedil:"Латинская маленькая буква с с седилью",egrave:"Латинская маленькая буква е с апострофом",eacute:"Латинская маленькая буква е с ударением",ecirc:"Латинская маленькая буква е с циркумфлексом",euml:"Латинская маленькая буква е с тремой",igrave:"Латинская маленькая буква i с апострофом",iacute:"Латинская маленькая буква i с ударением",icirc:"Латинская маленькая буква i с циркумфлексом",iuml:"Латинская маленькая буква i с тремой",eth:"Латинская маленькая буква eth", +ntilde:"Латинская маленькая буква n с тильдой",ograve:"Латинская маленькая буква o с апострофом",oacute:"Латинская маленькая буква o с ударением",ocirc:"Латинская маленькая буква o с циркумфлексом",otilde:"Латинская маленькая буква o с тильдой",ouml:"Латинская маленькая буква o с тремой",divide:"Знак деления",oslash:"Латинская строчная перечеркнутая o",ugrave:"Латинская маленькая буква u с апострофом",uacute:"Латинская маленькая буква u с ударением",ucirc:"Латинская маленькая буква u с циркумфлексом", +uuml:"Латинская маленькая буква u с тремой",yacute:"Латинская маленькая буква y с ударением",thorn:"Латинская маленькая буква thorn",yuml:"Латинская маленькая буква y с тремой",OElig:"Латинская прописная лигатура OE",oelig:"Латинская строчная лигатура oe",372:"Латинская заглавная буква W с циркумфлексом",374:"Латинская заглавная буква Y с циркумфлексом",373:"Латинская маленькая буква w с циркумфлексом",375:"Латинская маленькая буква y с циркумфлексом",sbquo:"Нижняя одинарная кавычка",8219:"Правая одинарная кавычка", +bdquo:"Левая двойная кавычка",hellip:"Горизонтальное многоточие",trade:"Товарный знак",9658:"Черный указатель вправо",bull:"Маркер списка",rarr:"Стрелка вправо",rArr:"Двойная стрелка вправо",hArr:"Двойная стрелка влево-вправо",diams:"Черный ромб",asymp:"Примерно равно"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ru.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/de.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/de.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/de.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","de",{euro:"Euro Zeichen",lsquo:"Hochkomma links",rsquo:"Hochkomma rechts",ldquo:"Anführungszeichen links",rdquo:"Anführungszeichen rechts",ndash:"Kleiner Strich",mdash:"Mittlerer Strich",iexcl:"Invertiertes Ausrufezeichen",cent:"Cent-Zeichen",pound:"Pfund-Zeichen",curren:"Währungszeichen",yen:"Yen",brvbar:"Gestrichelte Linie",sect:"Paragrafenzeichen",uml:"Diäresis",copy:"Copyright-Zeichen",ordf:"Feminine ordinal Anzeige",laquo:"Nach links zeigenden Doppel-Winkel Anführungszeichen", +not:"Not-Zeichen",reg:"Registriert-Zeichen",macr:"Längezeichen",deg:"Grad-Zeichen",sup2:"Hoch 2",sup3:"Hoch 3",acute:"Akzentzeichen ",micro:"Mikro-Zeichen",para:"Pilcrow-Zeichen",middot:"Mittelpunkt",cedil:"Cedilla",sup1:"Hoch 1",ordm:"Männliche Ordnungszahl Anzeige",raquo:"Nach rechts zeigenden Doppel-Winkel Anführungszeichen",frac14:"ein Viertel",frac12:"Hälfte",frac34:"Dreiviertel",iquest:"Umgekehrtes Fragezeichen",Agrave:"Lateinischer Buchstabe A mit AkzentGrave",Aacute:"Lateinischer Buchstabe A mit Akutakzent", +Acirc:"Lateinischer Buchstabe A mit Zirkumflex",Atilde:"Lateinischer Buchstabe A mit Tilde",Auml:"Lateinischer Buchstabe A mit Trema",Aring:"Lateinischer Buchstabe A mit Ring oben",AElig:"Lateinischer Buchstabe Æ",Ccedil:"Lateinischer Buchstabe C mit Cedille",Egrave:"Lateinischer Buchstabe E mit AkzentGrave",Eacute:"Lateinischer Buchstabe E mit Akutakzent",Ecirc:"Lateinischer Buchstabe E mit Zirkumflex",Euml:"Lateinischer Buchstabe E Trema",Igrave:"Lateinischer Buchstabe I mit AkzentGrave",Iacute:"Lateinischer Buchstabe I mit Akutakzent", +Icirc:"Lateinischer Buchstabe I mit Zirkumflex",Iuml:"Lateinischer Buchstabe I mit Trema",ETH:"Lateinischer Buchstabe Eth",Ntilde:"Lateinischer Buchstabe N mit Tilde",Ograve:"Lateinischer Buchstabe O mit AkzentGrave",Oacute:"Lateinischer Buchstabe O mit Akutakzent",Ocirc:"Lateinischer Buchstabe O mit Zirkumflex",Otilde:"Lateinischer Buchstabe O mit Tilde",Ouml:"Lateinischer Buchstabe O mit Trema",times:"Multiplikation",Oslash:"Lateinischer Buchstabe O durchgestrichen",Ugrave:"Lateinischer Buchstabe U mit Akzentgrave", +Uacute:"Lateinischer Buchstabe U mit Akutakzent",Ucirc:"Lateinischer Buchstabe U mit Zirkumflex",Uuml:"Lateinischer Buchstabe a mit Trema",Yacute:"Lateinischer Buchstabe a mit Akzent",THORN:"Lateinischer Buchstabe mit Dorn",szlig:"Kleiner lateinischer Buchstabe scharfe s",agrave:"Kleiner lateinischer Buchstabe a mit Accent grave",aacute:"Kleiner lateinischer Buchstabe a mit Akut",acirc:"Lateinischer Buchstabe a mit Zirkumflex",atilde:"Lateinischer Buchstabe a mit Tilde",auml:"Kleiner lateinischer Buchstabe a mit Trema", +aring:"Kleiner lateinischer Buchstabe a mit Ring oben",aelig:"Lateinischer Buchstabe æ",ccedil:"Kleiner lateinischer Buchstabe c mit Cedille",egrave:"Kleiner lateinischer Buchstabe e mit Accent grave",eacute:"Kleiner lateinischer Buchstabe e mit Akut",ecirc:"Kleiner lateinischer Buchstabe e mit Zirkumflex",euml:"Kleiner lateinischer Buchstabe e mit Trema",igrave:"Kleiner lateinischer Buchstabe i mit AkzentGrave",iacute:"Kleiner lateinischer Buchstabe i mit Akzent",icirc:"Kleiner lateinischer Buchstabe i mit Zirkumflex", +iuml:"Kleiner lateinischer Buchstabe i mit Trema",eth:"Kleiner lateinischer Buchstabe eth",ntilde:"Kleiner lateinischer Buchstabe n mit Tilde",ograve:"Kleiner lateinischer Buchstabe o mit Accent grave",oacute:"Kleiner lateinischer Buchstabe o mit Akzent",ocirc:"Kleiner lateinischer Buchstabe o mit Zirkumflex",otilde:"Lateinischer Buchstabe i mit Tilde",ouml:"Kleiner lateinischer Buchstabe o mit Trema",divide:"Divisionszeichen",oslash:"Kleiner lateinischer Buchstabe o durchgestrichen",ugrave:"Kleiner lateinischer Buchstabe u mit Accent grave", +uacute:"Kleiner lateinischer Buchstabe u mit Akut",ucirc:"Kleiner lateinischer Buchstabe u mit Zirkumflex",uuml:"Kleiner lateinischer Buchstabe u mit Trema",yacute:"Kleiner lateinischer Buchstabe y mit Akut",thorn:"Kleiner lateinischer Buchstabe Dorn",yuml:"Kleiner lateinischer Buchstabe y mit Trema",OElig:"Lateinischer Buchstabe Ligatur OE",oelig:"Kleiner lateinischer Buchstabe Ligatur OE",372:"Lateinischer Buchstabe W mit Zirkumflex",374:"Lateinischer Buchstabe Y mit Zirkumflex",373:"Kleiner lateinischer Buchstabe w mit Zirkumflex", +375:"Kleiner lateinischer Buchstabe y mit Zirkumflex",sbquo:"Tiefergestelltes Komma",8219:"Rumgedrehtes Komma",bdquo:"Doppeltes Anführungszeichen unten",hellip:"horizontale Auslassungspunkte",trade:"Handelszeichen",9658:"Dreickspfeil rechts",bull:"Bullet",rarr:"Pfeil rechts",rArr:"Doppelpfeil rechts",hArr:"Doppelpfeil links",diams:"Karo",asymp:"Ungefähr"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/de.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fa.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fa.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fa.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","fa",{euro:"نشان یورو",lsquo:"علامت نقل قول تکی چپ",rsquo:"علامت نقل قول تکی راست",ldquo:"علامت نقل قول دوتایی چپ",rdquo:"علامت نقل قول دوتایی راست",ndash:"خط تیره En",mdash:"خط تیره Em",iexcl:"علامت تعجب وارونه",cent:"نشان سنت",pound:"نشان پوند",curren:"نشان ارز",yen:"نشان ین",brvbar:"نوار شکسته",sect:"نشان بخش",uml:"نشان سواگیری",copy:"نشان کپی رایت",ordf:"شاخص ترتیبی مونث",laquo:"اشاره چپ مکرر برای زاویه علامت نقل قول",not:"نشان ثبت نشده",reg:"نشان ثبت شده", +macr:"نشان خط بالای حرف",deg:"نشان درجه",sup2:"بالانویس دو",sup3:"بالانویس سه",acute:"لهجه غلیظ",micro:"نشان مایکرو",para:"نشان محل بند",middot:"نقطه میانی",cedil:"سدیل",sup1:"بالانویس 1",ordm:"شاخص ترتیبی مذکر",raquo:"نشان زاویه‌دار دوتایی نقل قول راست چین",frac14:"واحد عامیانه 1/4",frac12:"واحد عامینه نصف",frac34:"واحد عامیانه 3/4",iquest:"علامت سوال معکوس",Agrave:"حرف A بزرگ لاتین با تلفظ غلیظ",Aacute:"حرف A بزرگ لاتین با تلفظ شدید",Acirc:"حرف A بزرگ لاتین با دور",Atilde:"حرف A بزرگ لاتین با صدای کامی", +Auml:"حرف A بزرگ لاتین با نشان سواگیری",Aring:"حرف A بزرگ لاتین با حلقه بالا",AElig:"حرف Æ بزرگ لاتین",Ccedil:"حرف C بزرگ لاتین با نشان سواگیری",Egrave:"حرف E بزرگ لاتین با تلفظ درشت",Eacute:"حرف E بزرگ لاتین با تلفظ زیر",Ecirc:"حرف E بزرگ لاتین با خمان",Euml:"حرف E بزرگ لاتین با نشان سواگیری",Igrave:"حرف I بزرگ لاتین با تلفظ درشت",Iacute:"حرف I بزرگ لاتین با تلفظ ریز",Icirc:"حرف I بزرگ لاتین با خمان",Iuml:"حرف I بزرگ لاتین با نشان سواگیری",ETH:"حرف لاتین بزرگ واکه ترتیبی",Ntilde:"حرف N بزرگ لاتین با مد", +Ograve:"حرف O بزرگ لاتین با تلفظ درشت",Oacute:"حرف O بزرگ لاتین با تلفظ ریز",Ocirc:"حرف O بزرگ لاتین با خمان",Otilde:"حرف O بزرگ لاتین با مد",Ouml:"حرف O بزرگ لاتین با نشان سواگیری",times:"نشان ضربدر",Oslash:"حرف O بزرگ لاتین با میان خط",Ugrave:"حرف U بزرگ لاتین با تلفظ درشت",Uacute:"حرف U بزرگ لاتین با تلفظ ریز",Ucirc:"حرف U بزرگ لاتین با خمان",Uuml:"حرف U بزرگ لاتین با نشان سواگیری",Yacute:"حرف Y بزرگ لاتین با تلفظ ریز",THORN:"حرف بزرگ لاتین خاردار",szlig:"حرف کوچک لاتین شارپ s",agrave:"حرف a کوچک لاتین با تلفظ درشت", +aacute:"حرف a کوچک لاتین با تلفظ ریز",acirc:"حرف a کوچک لاتین با خمان",atilde:"حرف a کوچک لاتین با صدای کامی",auml:"حرف a کوچک لاتین با نشان سواگیری",aring:"حرف a کوچک لاتین گوشواره دار",aelig:"حرف کوچک لاتین æ",ccedil:"حرف c کوچک لاتین با نشان سدیل",egrave:"حرف e کوچک لاتین با تلفظ درشت",eacute:"حرف e کوچک لاتین با تلفظ ریز",ecirc:"حرف e کوچک لاتین با خمان",euml:"حرف e کوچک لاتین با نشان سواگیری",igrave:"حرف i کوچک لاتین با تلفظ درشت",iacute:"حرف i کوچک لاتین با تلفظ ریز",icirc:"حرف i کوچک لاتین با خمان", +iuml:"حرف i کوچک لاتین با نشان سواگیری",eth:"حرف کوچک لاتین eth",ntilde:"حرف n کوچک لاتین با صدای کامی",ograve:"حرف o کوچک لاتین با تلفظ درشت",oacute:"حرف o کوچک لاتین با تلفظ زیر",ocirc:"حرف o کوچک لاتین با خمان",otilde:"حرف o کوچک لاتین با صدای کامی",ouml:"حرف o کوچک لاتین با نشان سواگیری",divide:"نشان بخش",oslash:"حرف o کوچک لاتین با میان خط",ugrave:"حرف u کوچک لاتین با تلفظ درشت",uacute:"حرف u کوچک لاتین با تلفظ ریز",ucirc:"حرف u کوچک لاتین با خمان",uuml:"حرف u کوچک لاتین با نشان سواگیری",yacute:"حرف y کوچک لاتین با تلفظ ریز", +thorn:"حرف کوچک لاتین خاردار",yuml:"حرف y کوچک لاتین با نشان سواگیری",OElig:"بند بزرگ لاتین OE",oelig:"بند کوچک لاتین oe",372:"حرف W بزرگ لاتین با خمان",374:"حرف Y بزرگ لاتین با خمان",373:"حرف w کوچک لاتین با خمان",375:"حرف y کوچک لاتین با خمان",sbquo:"نشان نقل قول تکی زیر-9",8219:"نشان نقل قول تکی high-reversed-9",bdquo:"نقل قول دوتایی پایین-9",hellip:"حذف افقی",trade:"نشان تجاری",9658:"نشانگر سیاه جهت راست",bull:"گلوله",rarr:"فلش راست",rArr:"فلش دوتایی راست",hArr:"فلش دوتایی چپ راست",diams:"نشان الماس سیاه", +asymp:"تقریبا برابر با"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/fa.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/km.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/km.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/km.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","km",{euro:"សញ្ញា​អឺរ៉ូ",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"សញ្ញា​សេន",pound:"សញ្ញា​ផោន",curren:"សញ្ញា​រូបិយបណ្ណ",yen:"សញ្ញា​យ៉េន",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"សញ្ញា​រក្សា​សិទ្ធិ",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"សញ្ញា​ដឺក្រេ",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"សញ្ញា​មីក្រូ",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/km.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ja.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ja.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ja.js (revision 7) @@ -0,0 +1,9 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","ja",{euro:"ユーロ記号",lsquo:"左シングル引用符",rsquo:"右シングル引用符",ldquo:"左ダブル引用符",rdquo:"右ダブル引用符",ndash:"半角ダッシュ",mdash:"全角ダッシュ",iexcl:"逆さ感嘆符",cent:"セント記号",pound:"ポンド記号",curren:"通貨記号",yen:"円記号",brvbar:"上下に分かれた縦棒",sect:"節記号",uml:"分音記号(ウムラウト)",copy:"著作権表示記号",ordf:"女性序数標識",laquo:" 始め二重山括弧引用記号",not:"論理否定記号",reg:"登録商標記号",macr:"長音符",deg:"度記号",sup2:"上つき2, 2乗",sup3:"上つき3, 3乗",acute:"揚音符",micro:"ミクロン記号",para:"段落記号",middot:"中黒",cedil:"セディラ",sup1:"上つき1",ordm:"男性序数標識",raquo:"終わり二重山括弧引用記号", +frac14:"四分の一",frac12:"二分の一",frac34:"四分の三",iquest:"逆疑問符",Agrave:"抑音符つき大文字A",Aacute:"揚音符つき大文字A",Acirc:"曲折アクセントつき大文字A",Atilde:"チルダつき大文字A",Auml:"分音記号つき大文字A",Aring:"リングつき大文字A",AElig:"AとEの合字",Ccedil:"セディラつき大文字C",Egrave:"抑音符つき大文字E",Eacute:"揚音符つき大文字E",Ecirc:"曲折アクセントつき大文字E",Euml:"分音記号つき大文字E",Igrave:"抑音符つき大文字I",Iacute:"揚音符つき大文字I",Icirc:"曲折アクセントつき大文字I",Iuml:"分音記号つき大文字I",ETH:"[アイスランド語]大文字ETH",Ntilde:"チルダつき大文字N",Ograve:"抑音符つき大文字O",Oacute:"揚音符つき大文字O",Ocirc:"曲折アクセントつき大文字O",Otilde:"チルダつき大文字O",Ouml:" 分音記号つき大文字O", +times:"乗算記号",Oslash:"打ち消し線つき大文字O",Ugrave:"抑音符つき大文字U",Uacute:"揚音符つき大文字U",Ucirc:"曲折アクセントつき大文字U",Uuml:"分音記号つき大文字U",Yacute:"揚音符つき大文字Y",THORN:"[アイスランド語]大文字THORN",szlig:"ドイツ語エスツェット",agrave:"抑音符つき小文字a",aacute:"揚音符つき小文字a",acirc:"曲折アクセントつき小文字a",atilde:"チルダつき小文字a",auml:"分音記号つき小文字a",aring:"リングつき小文字a",aelig:"aとeの合字",ccedil:"セディラつき小文字c",egrave:"抑音符つき小文字e",eacute:"揚音符つき小文字e",ecirc:"曲折アクセントつき小文字e",euml:"分音記号つき小文字e",igrave:"抑音符つき小文字i",iacute:"揚音符つき小文字i",icirc:"曲折アクセントつき小文字i",iuml:"分音記号つき小文字i",eth:"アイスランド語小文字eth", +ntilde:"チルダつき小文字n",ograve:"抑音符つき小文字o",oacute:"揚音符つき小文字o",ocirc:"曲折アクセントつき小文字o",otilde:"チルダつき小文字o",ouml:"分音記号つき小文字o",divide:"除算記号",oslash:"打ち消し線つき小文字o",ugrave:"抑音符つき小文字u",uacute:"揚音符つき小文字u",ucirc:"曲折アクセントつき小文字u",uuml:"分音記号つき小文字u",yacute:"揚音符つき小文字y",thorn:"アイスランド語小文字thorn",yuml:"分音記号つき小文字y",OElig:"OとEの合字",oelig:"oとeの合字",372:"曲折アクセントつき大文字W",374:"曲折アクセントつき大文字Y",373:"曲折アクセントつき小文字w",375:"曲折アクセントつき小文字y",sbquo:"シングル下引用符",8219:"左右逆の左引用符",bdquo:"ダブル下引用符",hellip:"三点リーダ",trade:"商標記号",9658:"右黒三角ポインタ",bull:"黒丸", +rarr:"右矢印",rArr:"右二重矢印",hArr:"左右二重矢印",diams:"ダイヤ",asymp:"漸近"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/ja.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/et.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/et.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/et.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","et",{euro:"Euromärk",lsquo:"Alustav ühekordne jutumärk",rsquo:"Lõpetav ühekordne jutumärk",ldquo:"Alustav kahekordne jutumärk",rdquo:"Lõpetav kahekordne jutumärk",ndash:"Enn-kriips",mdash:"Emm-kriips",iexcl:"Pööratud hüüumärk",cent:"Sendimärk",pound:"Naela märk",curren:"Valuutamärk",yen:"Jeeni märk",brvbar:"Katkestatud kriips",sect:"Lõigu märk",uml:"Täpid",copy:"Autoriõiguse märk",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Ei-märk",reg:"Registered sign",macr:"Macron",deg:"Kraadimärk",sup2:"Ülaindeks kaks",sup3:"Ülaindeks kolm",acute:"Acute accent",micro:"Mikro-märk",para:"Pilcrow sign",middot:"Keskpunkt",cedil:"Cedilla",sup1:"Ülaindeks üks",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Ladina suur A tildega",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Täppidega ladina suur O",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Kandilise katusega suur ladina U",Uuml:"Täppidega ladina suur U",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Ladina väike terav s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Kandilise katusega ladina väike a",atilde:"Tildega ladina väike a",auml:"Täppidega ladina väike a",aring:"Latin small letter a with ring above", +aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth",ntilde:"Latin small letter n with tilde", +ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Jagamismärk",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis",yacute:"Latin small letter y with acute accent", +thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis",trade:"Kaubamärgi märk",9658:"Black right-pointing pointer", +bull:"Kuul",rarr:"Nool paremale",rArr:"Topeltnool paremale",hArr:"Topeltnool vasakule",diams:"Black diamond suit",asymp:"Ligikaudu võrdne"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/et.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/si.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/si.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/si.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","si",{euro:"යුරෝ සලකුණ",lsquo:"වමේ තනි උපුටා දක්වීම ",rsquo:"දකුණේ තනි උපුටා දක්වීම ",ldquo:"වමේ දිත්ව උපුටා දක්වීම ",rdquo:"දකුණේ දිත්ව උපුටා දක්වීම ",ndash:"En dash",mdash:"Em dash",iexcl:"යටිකුරු හර්ෂදී ",cent:"Cent sign",pound:"Pound sign",curren:"මුල්‍යමය ",yen:"යෙන් ",brvbar:"Broken bar",sect:"තෙරේම් ",uml:"Diaeresis",copy:"පිටපත් අයිතිය ",ordf:"දර්ශකය",laquo:"Left-pointing double angle quotation mark",not:"සලකුණක් නොවේ",reg:"සලකුණක් ලියාපදිංචි කිරීම", +macr:"මුද්‍රිත ",deg:"සලකුණේ ",sup2:"උඩු ලකුණු දෙක",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent",Aacute:"Latin capital letter A with acute accent", +Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent",Iacute:"Latin capital letter I with acute accent", +Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke",Ugrave:"Latin capital letter U with grave accent", +Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis",aring:"Latin small letter a with ring above", +aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth",ntilde:"Latin small letter n with tilde", +ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis",yacute:"Latin small letter y with acute accent", +thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis",trade:"Trade mark sign",9658:"Black right-pointing pointer", +bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/si.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/vi.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/vi.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/vi.js (revision 7) @@ -0,0 +1,14 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","vi",{euro:"Ký hiệu Euro",lsquo:"Dấu ngoặc đơn trái",rsquo:"Dấu ngoặc đơn phải",ldquo:"Dấu ngoặc đôi trái",rdquo:"Dấu ngoặc đôi phải",ndash:"Gạch ngang tiếng anh",mdash:"Gạch ngang Em",iexcl:"Chuyển đổi dấu chấm than",cent:"Ký tự tiền Mỹ",pound:"Ký tự tiền Anh",curren:"Ký tự tiền tệ",yen:"Ký tự tiền Yên Nhật",brvbar:"Thanh hỏng",sect:"Ký tự khu vực",uml:"Dấu tách đôi",copy:"Ký tự bản quyền",ordf:"Phần chỉ thị giống cái",laquo:"Chọn dấu ngoặc đôi trái",not:"Không có ký tự", +reg:"Ký tự đăng ký",macr:"Dấu nguyên âm dài",deg:"Ký tự độ",sup2:"Chữ trồi lên trên dạng 2",sup3:"Chữ trồi lên trên dạng 3",acute:"Dấu trọng âm",micro:"Ký tự micro",para:"Ký tự đoạn văn",middot:"Dấu chấm tròn",cedil:"Dấu móc lưới",sup1:"Ký tự trồi lên cấp 1",ordm:"Ký tự biểu hiện giống đực",raquo:"Chọn dấu ngoặc đôi phải",frac14:"Tỉ lệ một phần tư",frac12:"Tỉ lệ một nửa",frac34:"Tỉ lệ ba phần tư",iquest:"Chuyển đổi dấu chấm hỏi",Agrave:"Ký tự la-tinh viết hoa A với dấu huyền",Aacute:"Ký tự la-tinh viết hoa A với dấu sắc", +Acirc:"Ký tự la-tinh viết hoa A với dấu mũ",Atilde:"Ký tự la-tinh viết hoa A với dấu ngã",Auml:"Ký tự la-tinh viết hoa A với dấu hai chấm trên đầu",Aring:"Ký tự la-tinh viết hoa A với biểu tượng vòng tròn trên đầu",AElig:"Ký tự la-tinh viết hoa của Æ",Ccedil:"Ký tự la-tinh viết hoa C với dấu móc bên dưới",Egrave:"Ký tự la-tinh viết hoa E với dấu huyền",Eacute:"Ký tự la-tinh viết hoa E với dấu sắc",Ecirc:"Ký tự la-tinh viết hoa E với dấu mũ",Euml:"Ký tự la-tinh viết hoa E với dấu hai chấm trên đầu", +Igrave:"Ký tự la-tinh viết hoa I với dấu huyền",Iacute:"Ký tự la-tinh viết hoa I với dấu sắc",Icirc:"Ký tự la-tinh viết hoa I với dấu mũ",Iuml:"Ký tự la-tinh viết hoa I với dấu hai chấm trên đầu",ETH:"Viết hoa của ký tự Eth",Ntilde:"Ký tự la-tinh viết hoa N với dấu ngã",Ograve:"Ký tự la-tinh viết hoa O với dấu huyền",Oacute:"Ký tự la-tinh viết hoa O với dấu sắc",Ocirc:"Ký tự la-tinh viết hoa O với dấu mũ",Otilde:"Ký tự la-tinh viết hoa O với dấu ngã",Ouml:"Ký tự la-tinh viết hoa O với dấu hai chấm trên đầu", +times:"Ký tự phép toán nhân",Oslash:"Ký tự la-tinh viết hoa A với dấu ngã xuống",Ugrave:"Ký tự la-tinh viết hoa U với dấu huyền",Uacute:"Ký tự la-tinh viết hoa U với dấu sắc",Ucirc:"Ký tự la-tinh viết hoa U với dấu mũ",Uuml:"Ký tự la-tinh viết hoa U với dấu hai chấm trên đầu",Yacute:"Ký tự la-tinh viết hoa Y với dấu sắc",THORN:"Phần viết hoa của ký tự Thorn",szlig:"Ký tự viết nhỏ la-tinh của chữ s",agrave:"Ký tự la-tinh thường với dấu huyền",aacute:"Ký tự la-tinh thường với dấu sắc",acirc:"Ký tự la-tinh thường với dấu mũ", +atilde:"Ký tự la-tinh thường với dấu ngã",auml:"Ký tự la-tinh thường với dấu hai chấm trên đầu",aring:"Ký tự la-tinh viết thường với biểu tượng vòng tròn trên đầu",aelig:"Ký tự la-tinh viết thường của æ",ccedil:"Ký tự la-tinh viết thường của c với dấu móc bên dưới",egrave:"Ký tự la-tinh viết thường e với dấu huyền",eacute:"Ký tự la-tinh viết thường e với dấu sắc",ecirc:"Ký tự la-tinh viết thường e với dấu mũ",euml:"Ký tự la-tinh viết thường e với dấu hai chấm trên đầu",igrave:"Ký tự la-tinh viết thường i với dấu huyền", +iacute:"Ký tự la-tinh viết thường i với dấu sắc",icirc:"Ký tự la-tinh viết thường i với dấu mũ",iuml:"Ký tự la-tinh viết thường i với dấu hai chấm trên đầu",eth:"Ký tự la-tinh viết thường của eth",ntilde:"Ký tự la-tinh viết thường n với dấu ngã",ograve:"Ký tự la-tinh viết thường o với dấu huyền",oacute:"Ký tự la-tinh viết thường o với dấu sắc",ocirc:"Ký tự la-tinh viết thường o với dấu mũ",otilde:"Ký tự la-tinh viết thường o với dấu ngã",ouml:"Ký tự la-tinh viết thường o với dấu hai chấm trên đầu", +divide:"Ký hiệu phép tính chia",oslash:"Ký tự la-tinh viết thường o với dấu ngã",ugrave:"Ký tự la-tinh viết thường u với dấu huyền",uacute:"Ký tự la-tinh viết thường u với dấu sắc",ucirc:"Ký tự la-tinh viết thường u với dấu mũ",uuml:"Ký tự la-tinh viết thường u với dấu hai chấm trên đầu",yacute:"Ký tự la-tinh viết thường y với dấu sắc",thorn:"Ký tự la-tinh viết thường của chữ thorn",yuml:"Ký tự la-tinh viết thường y với dấu hai chấm trên đầu",OElig:"Ký tự la-tinh viết hoa gạch nối OE",oelig:"Ký tự la-tinh viết thường gạch nối OE", +372:"Ký tự la-tinh viết hoa W với dấu mũ",374:"Ký tự la-tinh viết hoa Y với dấu mũ",373:"Ký tự la-tinh viết thường w với dấu mũ",375:"Ký tự la-tinh viết thường y với dấu mũ",sbquo:"Dấu ngoặc đơn thấp số-9",8219:"Dấu ngoặc đơn đảo ngược số-9",bdquo:"Gấp đôi dấu ngoặc đơn số-9",hellip:"Tĩnh dược chiều ngang",trade:"Ký tự thương hiệu",9658:"Ký tự trỏ về hướng bên phải màu đen",bull:"Ký hiệu",rarr:"Mũi tên hướng bên phải",rArr:"Mũi tên hướng bên phải dạng đôi",hArr:"Mũi tên hướng bên trái dạng đôi",diams:"Ký hiệu hình thoi", +asymp:"Gần bằng với"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/vi.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt (revision 7) @@ -0,0 +1,20 @@ +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + +cs.js Found: 118 Missing: 0 +cy.js Found: 118 Missing: 0 +de.js Found: 118 Missing: 0 +el.js Found: 16 Missing: 102 +eo.js Found: 118 Missing: 0 +et.js Found: 31 Missing: 87 +fa.js Found: 24 Missing: 94 +fi.js Found: 23 Missing: 95 +fr.js Found: 118 Missing: 0 +hr.js Found: 23 Missing: 95 +it.js Found: 118 Missing: 0 +nb.js Found: 118 Missing: 0 +nl.js Found: 118 Missing: 0 +no.js Found: 118 Missing: 0 +tr.js Found: 118 Missing: 0 +ug.js Found: 39 Missing: 79 +zh-cn.js Found: 118 Missing: 0 Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/it.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/it.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/it.js (revision 7) @@ -0,0 +1,14 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","it",{euro:"Simbolo Euro",lsquo:"Virgoletta singola sinistra",rsquo:"Virgoletta singola destra",ldquo:"Virgolette aperte",rdquo:"Virgolette chiuse",ndash:"Trattino",mdash:"Trattino lungo",iexcl:"Punto esclavamativo invertito",cent:"Simbolo Cent",pound:"Simbolo Sterlina",curren:"Simbolo Moneta",yen:"Simbolo Yen",brvbar:"Barra interrotta",sect:"Simbolo di sezione",uml:"Dieresi",copy:"Simbolo Copyright",ordf:"Indicatore ordinale femminile",laquo:"Virgolette basse aperte", +not:"Nessun segno",reg:"Simbolo Registrato",macr:"Macron",deg:"Simbolo Grado",sup2:"Apice Due",sup3:"Apice Tre",acute:"Accento acuto",micro:"Simbolo Micro",para:"Simbolo Paragrafo",middot:"Punto centrale",cedil:"Cediglia",sup1:"Apice Uno",ordm:"Indicatore ordinale maschile",raquo:"Virgolette basse chiuse",frac14:"Frazione volgare un quarto",frac12:"Frazione volgare un mezzo",frac34:"Frazione volgare tre quarti",iquest:"Punto interrogativo invertito",Agrave:"Lettera maiuscola latina A con accento grave", +Aacute:"Lettera maiuscola latina A con accento acuto",Acirc:"Lettera maiuscola latina A con accento circonflesso",Atilde:"Lettera maiuscola latina A con tilde",Auml:"Lettera maiuscola latina A con dieresi",Aring:"Lettera maiuscola latina A con anello sopra",AElig:"Lettera maiuscola latina Æ",Ccedil:"Lettera maiuscola latina C con cediglia",Egrave:"Lettera maiuscola latina E con accento grave",Eacute:"Lettera maiuscola latina E con accento acuto",Ecirc:"Lettera maiuscola latina E con accento circonflesso", +Euml:"Lettera maiuscola latina E con dieresi",Igrave:"Lettera maiuscola latina I con accento grave",Iacute:"Lettera maiuscola latina I con accento acuto",Icirc:"Lettera maiuscola latina I con accento circonflesso",Iuml:"Lettera maiuscola latina I con dieresi",ETH:"Lettera maiuscola latina Eth",Ntilde:"Lettera maiuscola latina N con tilde",Ograve:"Lettera maiuscola latina O con accento grave",Oacute:"Lettera maiuscola latina O con accento acuto",Ocirc:"Lettera maiuscola latina O con accento circonflesso", +Otilde:"Lettera maiuscola latina O con tilde",Ouml:"Lettera maiuscola latina O con dieresi",times:"Simbolo di moltiplicazione",Oslash:"Lettera maiuscola latina O barrata",Ugrave:"Lettera maiuscola latina U con accento grave",Uacute:"Lettera maiuscola latina U con accento acuto",Ucirc:"Lettera maiuscola latina U con accento circonflesso",Uuml:"Lettera maiuscola latina U con accento circonflesso",Yacute:"Lettera maiuscola latina Y con accento acuto",THORN:"Lettera maiuscola latina Thorn",szlig:"Lettera latina minuscola doppia S", +agrave:"Lettera minuscola latina a con accento grave",aacute:"Lettera minuscola latina a con accento acuto",acirc:"Lettera minuscola latina a con accento circonflesso",atilde:"Lettera minuscola latina a con tilde",auml:"Lettera minuscola latina a con dieresi",aring:"Lettera minuscola latina a con anello superiore",aelig:"Lettera minuscola latina ae",ccedil:"Lettera minuscola latina c con cediglia",egrave:"Lettera minuscola latina e con accento grave",eacute:"Lettera minuscola latina e con accento acuto", +ecirc:"Lettera minuscola latina e con accento circonflesso",euml:"Lettera minuscola latina e con dieresi",igrave:"Lettera minuscola latina i con accento grave",iacute:"Lettera minuscola latina i con accento acuto",icirc:"Lettera minuscola latina i con accento circonflesso",iuml:"Lettera minuscola latina i con dieresi",eth:"Lettera minuscola latina eth",ntilde:"Lettera minuscola latina n con tilde",ograve:"Lettera minuscola latina o con accento grave",oacute:"Lettera minuscola latina o con accento acuto", +ocirc:"Lettera minuscola latina o con accento circonflesso",otilde:"Lettera minuscola latina o con tilde",ouml:"Lettera minuscola latina o con dieresi",divide:"Simbolo di divisione",oslash:"Lettera minuscola latina o barrata",ugrave:"Lettera minuscola latina u con accento grave",uacute:"Lettera minuscola latina u con accento acuto",ucirc:"Lettera minuscola latina u con accento circonflesso",uuml:"Lettera minuscola latina u con dieresi",yacute:"Lettera minuscola latina y con accento acuto",thorn:"Lettera minuscola latina thorn", +yuml:"Lettera minuscola latina y con dieresi",OElig:"Legatura maiuscola latina OE",oelig:"Legatura minuscola latina oe",372:"Lettera maiuscola latina W con accento circonflesso",374:"Lettera maiuscola latina Y con accento circonflesso",373:"Lettera minuscola latina w con accento circonflesso",375:"Lettera minuscola latina y con accento circonflesso",sbquo:"Singola virgoletta bassa low-9",8219:"Singola virgoletta bassa low-9 inversa",bdquo:"Doppia virgoletta bassa low-9",hellip:"Ellissi orizzontale", +trade:"Simbolo TM",9658:"Puntatore nero rivolto verso destra",bull:"Punto",rarr:"Freccia verso destra",rArr:"Doppia freccia verso destra",hArr:"Doppia freccia sinistra destra",diams:"Simbolo nero diamante",asymp:"Quasi uguale a"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/it.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/lt.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/lt.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/lt.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","lt",{euro:"Euro ženklas",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cento ženklas",pound:"Svaro ženklas",curren:"Valiutos ženklas",yen:"Jenos ženklas",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Ne ženklas",reg:"Registered sign",macr:"Makronas",deg:"Laipsnio ženklas",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Mikro ženklas",para:"Pilcrow sign",middot:"Vidurinis taškas",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/lt.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/el.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/el.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/el.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","el",{euro:"Σύμβολο Ευρώ",lsquo:"Αριστερός χαρακτήρας μονού εισαγωγικού",rsquo:"Δεξιός χαρακτήρας μονού εισαγωγικού",ldquo:"Αριστερός χαρακτήρας ευθύγραμμων εισαγωγικών",rdquo:"Δεξιός χαρακτήρας ευθύγραμμων εισαγωγικών",ndash:"Παύλα en",mdash:"Παύλα em",iexcl:"Ανάποδο θαυμαστικό",cent:"Σύμβολο σεντ",pound:"Σύμβολο λίρας",curren:"Σύμβολο συναλλαγματικής μονάδας",yen:"Σύμβολο Γιεν",brvbar:"Σπασμένη μπάρα",sect:"Σύμβολο τμήματος",uml:"Διαίρεση",copy:"Σύμβολο πνευματικών δικαιωμάτων", +ordf:"Θηλυκός τακτικός δείκτης",laquo:"Γωνιώδη εισαγωγικά αριστερής κατάδειξης",not:"Σύμβολο άρνησης",reg:"Σύμβολο σημάτων κατατεθέν",macr:"Μακρόν",deg:"Σύμβολο βαθμού",sup2:"Εκτεθειμένο δύο",sup3:"Εκτεθειμένο τρία",acute:"Οξεία",micro:"Σύμβολο μικρού",para:"Σύμβολο παραγράφου",middot:"Μέση τελεία",cedil:"Υπογεγραμμένη",sup1:"Εκτεθειμένο ένα",ordm:"Αρσενικός τακτικός δείκτης",raquo:"Γωνιώδη εισαγωγικά δεξιάς κατάδειξης",frac14:"Γνήσιο κλάσμα ενός τετάρτου",frac12:"Γνήσιο κλάσμα ενός δεύτερου",frac34:"Γνήσιο κλάσμα τριών τετάρτων", +iquest:"Ανάποδο θαυμαστικό",Agrave:"Λατινικό κεφαλαίο γράμμα A με βαρεία",Aacute:"Λατινικό κεφαλαίο γράμμα A με οξεία",Acirc:"Λατινικό κεφαλαίο γράμμα A με περισπωμένη",Atilde:"Λατινικό κεφαλαίο γράμμα A με περισπωμένη",Auml:"Λατινικό κεφαλαίο γράμμα A με διαλυτικά",Aring:"Λατινικό κεφαλαίο γράμμα A με δακτύλιο επάνω",AElig:"Λατινικό κεφαλαίο γράμμα Æ",Ccedil:"Λατινικό κεφαλαίο γράμμα C με υπογεγραμμένη",Egrave:"Λατινικό κεφαλαίο γράμμα E με βαρεία",Eacute:"Λατινικό κεφαλαίο γράμμα E με οξεία",Ecirc:"Λατινικό κεφαλαίο γράμμα Ε με περισπωμένη ", +Euml:"Λατινικό κεφαλαίο γράμμα Ε με διαλυτικά",Igrave:"Λατινικό κεφαλαίο γράμμα I με βαρεία",Iacute:"Λατινικό κεφαλαίο γράμμα I με οξεία",Icirc:"Λατινικό κεφαλαίο γράμμα I με περισπωμένη",Iuml:"Λατινικό κεφαλαίο γράμμα I με διαλυτικά ",ETH:"Λατινικό κεφαλαίο γράμμα Eth",Ntilde:"Λατινικό κεφαλαίο γράμμα N με περισπωμένη",Ograve:"Λατινικό κεφαλαίο γράμμα O με βαρεία",Oacute:"Λατινικό κεφαλαίο γράμμα O με οξεία",Ocirc:"Λατινικό κεφαλαίο γράμμα O με περισπωμένη ",Otilde:"Λατινικό κεφαλαίο γράμμα O με περισπωμένη", +Ouml:"Λατινικό κεφαλαίο γράμμα O με διαλυτικά",times:"Σύμβολο πολλαπλασιασμού",Oslash:"Λατινικό κεφαλαίο γράμμα O με μολυβιά",Ugrave:"Λατινικό κεφαλαίο γράμμα U με βαρεία",Uacute:"Λατινικό κεφαλαίο γράμμα U με οξεία",Ucirc:"Λατινικό κεφαλαίο γράμμα U με περισπωμένη",Uuml:"Λατινικό κεφαλαίο γράμμα U με διαλυτικά",Yacute:"Λατινικό κεφαλαίο γράμμα Y με οξεία",THORN:"Λατινικό κεφαλαίο γράμμα Thorn",szlig:"Λατινικό μικρό γράμμα απότομο s",agrave:"Λατινικό μικρό γράμμα a με βαρεία",aacute:"Λατινικό μικρό γράμμα a με οξεία", +acirc:"Λατινικό μικρό γράμμα a με περισπωμένη",atilde:"Λατινικό μικρό γράμμα a με περισπωμένη",auml:"Λατινικό μικρό γράμμα a με διαλυτικά",aring:"Λατινικό μικρό γράμμα a με δακτύλιο πάνω",aelig:"Λατινικό μικρό γράμμα æ",ccedil:"Λατινικό μικρό γράμμα c με υπογεγραμμένη",egrave:"Λατινικό μικρό γράμμα ε με βαρεία",eacute:"Λατινικό μικρό γράμμα e με οξεία",ecirc:"Λατινικό μικρό γράμμα e με περισπωμένη",euml:"Λατινικό μικρό γράμμα e με διαλυτικά",igrave:"Λατινικό μικρό γράμμα i με βαρεία",iacute:"Λατινικό μικρό γράμμα i με οξεία", +icirc:"Λατινικό μικρό γράμμα i με περισπωμένη",iuml:"Λατινικό μικρό γράμμα i με διαλυτικά",eth:"Λατινικό μικρό γράμμα eth",ntilde:"Λατινικό μικρό γράμμα n με περισπωμένη",ograve:"Λατινικό μικρό γράμμα o με βαρεία",oacute:"Λατινικό μικρό γράμμα o με οξεία ",ocirc:"Λατινικό πεζό γράμμα o με περισπωμένη",otilde:"Λατινικό μικρό γράμμα o με περισπωμένη ",ouml:"Λατινικό μικρό γράμμα o με διαλυτικά",divide:"Σύμβολο διαίρεσης",oslash:"Λατινικό μικρό γράμμα o με περισπωμένη",ugrave:"Λατινικό μικρό γράμμα u με βαρεία", +uacute:"Λατινικό μικρό γράμμα u με οξεία",ucirc:"Λατινικό μικρό γράμμα u με περισπωμένη",uuml:"Λατινικό μικρό γράμμα u με διαλυτικά",yacute:"Λατινικό μικρό γράμμα y με οξεία",thorn:"Λατινικό μικρό γράμμα thorn",yuml:"Λατινικό μικρό γράμμα y με διαλυτικά",OElig:"Λατινικό κεφαλαίο σύμπλεγμα ΟΕ",oelig:"Λατινικό μικρό σύμπλεγμα oe",372:"Λατινικό κεφαλαίο γράμμα W με περισπωμένη",374:"Λατινικό κεφαλαίο γράμμα Y με περισπωμένη",373:"Λατινικό μικρό γράμμα w με περισπωμένη",375:"Λατινικό μικρό γράμμα y με περισπωμένη", +sbquo:"Ενιαίο χαμηλο -9 εισαγωγικό ",8219:"Ενιαίο υψηλο ανεστραμμένο-9 εισαγωγικό ",bdquo:"Διπλό χαμηλό-9 εισαγωγικό ",hellip:"Οριζόντια αποσιωπητικά",trade:"Σύμβολο εμπορικού κατατεθέν",9658:"Μαύρος δείκτης που δείχνει προς τα δεξιά",bull:"Κουκκίδα",rarr:"Δεξί βελάκι",rArr:"Διπλό δεξί βελάκι",hArr:"Διπλό βελάκι αριστερά-δεξιά",diams:"Μαύρο διαμάντι",asymp:"Σχεδόν ίσο με"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/el.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/gl.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/gl.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/gl.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","gl",{euro:"Símbolo do euro",lsquo:"Comiña simple esquerda",rsquo:"Comiña simple dereita",ldquo:"Comiñas dobres esquerda",rdquo:"Comiñas dobres dereita",ndash:"Guión",mdash:"Raia",iexcl:"Signo de admiración invertido",cent:"Símbolo do centavo",pound:"Símbolo da libra",curren:"Símbolo de moeda",yen:"Símbolo do yen",brvbar:"Barra vertical rota",sect:"Símbolo de sección",uml:"Diérese",copy:"Símbolo de dereitos de autoría",ordf:"Indicador ordinal feminino",laquo:"Comiñas latinas, apertura", +not:"Signo negación",reg:"Símbolo de marca rexistrada",macr:"Guión alto",deg:"Signo de grao",sup2:"Superíndice dous",sup3:"Superíndice tres",acute:"Acento agudo",micro:"Signo de micro",para:"Signo de pi",middot:"Punto medio",cedil:"Cedilla",sup1:"Superíndice un",ordm:"Indicador ordinal masculino",raquo:"Comiñas latinas, peche",frac14:"Fracción ordinaria de un cuarto",frac12:"Fracción ordinaria de un medio",frac34:"Fracción ordinaria de tres cuartos",iquest:"Signo de interrogación invertido",Agrave:"Letra A latina maiúscula con acento grave", +Aacute:"Letra A latina maiúscula con acento agudo",Acirc:"Letra A latina maiúscula con acento circunflexo",Atilde:"Letra A latina maiúscula con til",Auml:"Letra A latina maiúscula con diérese",Aring:"Letra A latina maiúscula con aro enriba",AElig:"Letra Æ latina maiúscula",Ccedil:"Letra C latina maiúscula con cedilla",Egrave:"Letra E latina maiúscula con acento grave",Eacute:"Letra E latina maiúscula con acento agudo",Ecirc:"Letra E latina maiúscula con acento circunflexo",Euml:"Letra E latina maiúscula con diérese", +Igrave:"Letra I latina maiúscula con acento grave",Iacute:"Letra I latina maiúscula con acento agudo",Icirc:"Letra I latina maiúscula con acento circunflexo",Iuml:"Letra I latina maiúscula con diérese",ETH:"Letra Ed latina maiúscula",Ntilde:"Letra N latina maiúscula con til",Ograve:"Letra O latina maiúscula con acento grave",Oacute:"Letra O latina maiúscula con acento agudo",Ocirc:"Letra O latina maiúscula con acento circunflexo",Otilde:"Letra O latina maiúscula con til",Ouml:"Letra O latina maiúscula con diérese", +times:"Signo de multiplicación",Oslash:"Letra O latina maiúscula con barra transversal",Ugrave:"Letra U latina maiúscula con acento grave",Uacute:"Letra U latina maiúscula con acento agudo",Ucirc:"Letra U latina maiúscula con acento circunflexo",Uuml:"Letra U latina maiúscula con diérese",Yacute:"Letra Y latina maiúscula con acento agudo",THORN:"Letra Thorn latina maiúscula",szlig:"Letra s latina forte minúscula",agrave:"Letra a latina minúscula con acento grave",aacute:"Letra a latina minúscula con acento agudo", +acirc:"Letra a latina minúscula con acento circunflexo",atilde:"Letra a latina minúscula con til",auml:"Letra a latina minúscula con diérese",aring:"Letra a latina minúscula con aro enriba",aelig:"Letra æ latina minúscula",ccedil:"Letra c latina minúscula con cedilla",egrave:"Letra e latina minúscula con acento grave",eacute:"Letra e latina minúscula con acento agudo",ecirc:"Letra e latina minúscula con acento circunflexo",euml:"Letra e latina minúscula con diérese",igrave:"Letra i latina minúscula con acento grave", +iacute:"Letra i latina minúscula con acento agudo",icirc:"Letra i latina minúscula con acento circunflexo",iuml:"Letra i latina minúscula con diérese",eth:"Letra ed latina minúscula",ntilde:"Letra n latina minúscula con til",ograve:"Letra o latina minúscula con acento grave",oacute:"Letra o latina minúscula con acento agudo",ocirc:"Letra o latina minúscula con acento circunflexo",otilde:"Letra o latina minúscula con til",ouml:"Letra o latina minúscula con diérese",divide:"Signo de división",oslash:"Letra o latina minúscula con barra transversal", +ugrave:"Letra u latina minúscula con acento grave",uacute:"Letra u latina minúscula con acento agudo",ucirc:"Letra u latina minúscula con acento circunflexo",uuml:"Letra u latina minúscula con diérese",yacute:"Letra y latina minúscula con acento agudo",thorn:"Letra Thorn latina minúscula",yuml:"Letra y latina minúscula con diérese",OElig:"Ligadura OE latina maiúscula",oelig:"Ligadura oe latina minúscula",372:"Letra W latina maiúscula con acento circunflexo",374:"Letra Y latina maiúscula con acento circunflexo", +373:"Letra w latina minúscula con acento circunflexo",375:"Letra y latina minúscula con acento circunflexo",sbquo:"Comiña simple baixa, de apertura",8219:"Comiña simple alta, de peche",bdquo:"Comiñas dobres baixas, de apertura",hellip:"Elipse, puntos suspensivos",trade:"Signo de marca rexistrada",9658:"Apuntador negro apuntando á dereita",bull:"Viñeta",rarr:"Frecha á dereita",rArr:"Frecha dobre á dereita",hArr:"Frecha dobre da esquerda á dereita",diams:"Diamante negro",asymp:"Case igual a"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/gl.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/pt.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/pt.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/pt.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","pt",{euro:"Símbolo de Euro",lsquo:"Aspa esquerda simples",rsquo:"Aspa direita simples",ldquo:"Aspa esquerda dupla",rdquo:"Aspa direita dupla",ndash:"Travessão simples",mdash:"Travessão longo",iexcl:"Ponto de exclamação invertido",cent:"Símbolo de cêntimo",pound:"Símbolo de Libra",curren:"Símbolo de Moeda",yen:"Símbolo de Iene",brvbar:"Barra quebrada",sect:"Símbolo de secção",uml:"Trema",copy:"Símbolo de direitos de autor",ordf:"Indicador ordinal feminino",laquo:"Aspa esquerda ângulo duplo", +not:"Não símbolo",reg:"Símbolo de registado",macr:"Mácron",deg:"Símbolo de graus",sup2:"Expoente 2",sup3:"Expoente 3",acute:"Acento agudo",micro:"Símbolo de micro",para:"Símbolo de parágrafo",middot:"Ponto do meio",cedil:"Cedilha",sup1:"Expoente 1",ordm:"Indicador ordinal masculino",raquo:"Aspas ângulo duplo para a direita",frac14:"Fração vulgar 1/4",frac12:"Fração vulgar 1/2",frac34:"Fração vulgar 3/4",iquest:"Ponto de interrogação invertido",Agrave:"Letra maiúscula latina A com acento grave",Aacute:"Letra maiúscula latina A com acento agudo", +Acirc:"Letra maiúscula latina A com circunflexo",Atilde:"Letra maiúscula latina A com til",Auml:"Letra maiúscula latina A com trema",Aring:"Letra maiúscula latina A com sinal diacrítico",AElig:"Letra maiúscula latina Æ",Ccedil:"Letra maiúscula latina C com cedilha",Egrave:"Letra maiúscula latina E com acento grave",Eacute:"Letra maiúscula latina E com acento agudo",Ecirc:"Letra maiúscula latina E com circunflexo",Euml:"Letra maiúscula latina E com trema",Igrave:"Letra maiúscula latina I com acento grave", +Iacute:"Letra maiúscula latina I com acento agudo",Icirc:"Letra maiúscula latina I com cincunflexo",Iuml:"Letra maiúscula latina I com trema",ETH:"Letra maiúscula latina Eth (Ðð)",Ntilde:"Letra maiúscula latina N com til",Ograve:"Letra maiúscula latina O com acento grave",Oacute:"Letra maiúscula latina O com acento agudo",Ocirc:"Letra maiúscula latina I com circunflexo",Otilde:"Letra maiúscula latina O com til",Ouml:"Letra maiúscula latina O com trema",times:"Símbolo de multiplicação",Oslash:"Letra maiúscula O com barra", +Ugrave:"Letra maiúscula latina U com acento grave",Uacute:"Letra maiúscula latina U com acento agudo",Ucirc:"Letra maiúscula latina U com circunflexo",Uuml:"Letra maiúscula latina E com trema",Yacute:"Letra maiúscula latina Y com acento agudo",THORN:"Letra maiúscula latina Rúnico",szlig:"Letra minúscula latina s forte",agrave:"Letra minúscula latina a com acento grave",aacute:"Letra minúscula latina a com acento agudo",acirc:"Letra minúscula latina a com circunflexo",atilde:"Letra minúscula latina a com til", +auml:"Letra minúscula latina a com trema",aring:"Letra minúscula latina a com sinal diacrítico",aelig:"Letra minúscula latina æ",ccedil:"Letra minúscula latina c com cedilha",egrave:"Letra minúscula latina e com acento grave",eacute:"Letra minúscula latina e com acento agudo",ecirc:"Letra minúscula latina e com circunflexo",euml:"Letra minúscula latina e com trema",igrave:"Letra minúscula latina i com acento grave",iacute:"Letra minúscula latina i com acento agudo",icirc:"Letra minúscula latina i com circunflexo", +iuml:"Letra pequena latina i com trema",eth:"Letra minúscula latina eth",ntilde:"Letra minúscula latina n com til",ograve:"Letra minúscula latina o com acento grave",oacute:"Letra minúscula latina o com acento agudo",ocirc:"Letra minúscula latina o com circunflexo",otilde:"Letra minúscula latina o com til",ouml:"Letra minúscula latina o com trema",divide:"Símbolo de divisão",oslash:"Letra minúscula latina o com barra",ugrave:"Letra minúscula latina u com acento grave",uacute:"Letra minúscula latina u com acento agudo", +ucirc:"Letra minúscula latina u com circunflexo",uuml:"Letra minúscula latina u com trema",yacute:"Letra minúscula latina y com acento agudo",thorn:"Letra minúscula latina Rúnico",yuml:"Letra minúscula latina y com trema",OElig:"Ligadura maiúscula latina OE",oelig:"Ligadura minúscula latina oe",372:"Letra maiúscula latina W com circunflexo",374:"Letra maiúscula latina Y com circunflexo",373:"Letra minúscula latina w com circunflexo",375:"Letra minúscula latina y com circunflexo",sbquo:"Aspa Simples inferior-9", +8219:"Aspa simples superior invertida-9",bdquo:"Aspa duplas inferior-9",hellip:"Elipse horizontal ",trade:"Símbolo de marca registada",9658:"Ponteiro preto direito",bull:"Marca",rarr:"Seta para a direita",rArr:"Seta dupla para a direita",hArr:"Seta dupla direita esquerda",diams:"Naipe diamante preto",asymp:"Quase igual a "}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/pt.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/nl.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/nl.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/nl.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","nl",{euro:"Euro-teken",lsquo:"Linker enkel aanhalingsteken",rsquo:"Rechter enkel aanhalingsteken",ldquo:"Linker dubbel aanhalingsteken",rdquo:"Rechter dubbel aanhalingsteken",ndash:"En dash",mdash:"Em dash",iexcl:"Omgekeerd uitroepteken",cent:"Cent-teken",pound:"Pond-teken",curren:"Valuta-teken",yen:"Yen-teken",brvbar:"Gebroken streep",sect:"Paragraaf-teken",uml:"Trema",copy:"Copyright-teken",ordf:"Vrouwelijk ordinaal",laquo:"Linker guillemet",not:"Ongelijk-teken", +reg:"Geregistreerd handelsmerk-teken",macr:"Macron",deg:"Graden-teken",sup2:"Superscript twee",sup3:"Superscript drie",acute:"Accent aigu",micro:"Micro-teken",para:"Alinea-teken",middot:"Halfhoge punt",cedil:"Cedille",sup1:"Superscript een",ordm:"Mannelijk ordinaal",raquo:"Rechter guillemet",frac14:"Breuk kwart",frac12:"Breuk half",frac34:"Breuk driekwart",iquest:"Omgekeerd vraagteken",Agrave:"Latijnse hoofdletter A met een accent grave",Aacute:"Latijnse hoofdletter A met een accent aigu",Acirc:"Latijnse hoofdletter A met een circonflexe", +Atilde:"Latijnse hoofdletter A met een tilde",Auml:"Latijnse hoofdletter A met een trema",Aring:"Latijnse hoofdletter A met een corona",AElig:"Latijnse hoofdletter Æ",Ccedil:"Latijnse hoofdletter C met een cedille",Egrave:"Latijnse hoofdletter E met een accent grave",Eacute:"Latijnse hoofdletter E met een accent aigu",Ecirc:"Latijnse hoofdletter E met een circonflexe",Euml:"Latijnse hoofdletter E met een trema",Igrave:"Latijnse hoofdletter I met een accent grave",Iacute:"Latijnse hoofdletter I met een accent aigu", +Icirc:"Latijnse hoofdletter I met een circonflexe",Iuml:"Latijnse hoofdletter I met een trema",ETH:"Latijnse hoofdletter Eth",Ntilde:"Latijnse hoofdletter N met een tilde",Ograve:"Latijnse hoofdletter O met een accent grave",Oacute:"Latijnse hoofdletter O met een accent aigu",Ocirc:"Latijnse hoofdletter O met een circonflexe",Otilde:"Latijnse hoofdletter O met een tilde",Ouml:"Latijnse hoofdletter O met een trema",times:"Maal-teken",Oslash:"Latijnse hoofdletter O met een schuine streep",Ugrave:"Latijnse hoofdletter U met een accent grave", +Uacute:"Latijnse hoofdletter U met een accent aigu",Ucirc:"Latijnse hoofdletter U met een circonflexe",Uuml:"Latijnse hoofdletter U met een trema",Yacute:"Latijnse hoofdletter Y met een accent aigu",THORN:"Latijnse hoofdletter Thorn",szlig:"Latijnse kleine ringel-s",agrave:"Latijnse kleine letter a met een accent grave",aacute:"Latijnse kleine letter a met een accent aigu",acirc:"Latijnse kleine letter a met een circonflexe",atilde:"Latijnse kleine letter a met een tilde",auml:"Latijnse kleine letter a met een trema", +aring:"Latijnse kleine letter a met een corona",aelig:"Latijnse kleine letter æ",ccedil:"Latijnse kleine letter c met een cedille",egrave:"Latijnse kleine letter e met een accent grave",eacute:"Latijnse kleine letter e met een accent aigu",ecirc:"Latijnse kleine letter e met een circonflexe",euml:"Latijnse kleine letter e met een trema",igrave:"Latijnse kleine letter i met een accent grave",iacute:"Latijnse kleine letter i met een accent aigu",icirc:"Latijnse kleine letter i met een circonflexe", +iuml:"Latijnse kleine letter i met een trema",eth:"Latijnse kleine letter eth",ntilde:"Latijnse kleine letter n met een tilde",ograve:"Latijnse kleine letter o met een accent grave",oacute:"Latijnse kleine letter o met een accent aigu",ocirc:"Latijnse kleine letter o met een circonflexe",otilde:"Latijnse kleine letter o met een tilde",ouml:"Latijnse kleine letter o met een trema",divide:"Deel-teken",oslash:"Latijnse kleine letter o met een schuine streep",ugrave:"Latijnse kleine letter u met een accent grave", +uacute:"Latijnse kleine letter u met een accent aigu",ucirc:"Latijnse kleine letter u met een circonflexe",uuml:"Latijnse kleine letter u met een trema",yacute:"Latijnse kleine letter y met een accent aigu",thorn:"Latijnse kleine letter thorn",yuml:"Latijnse kleine letter y met een trema",OElig:"Latijnse hoofdletter Œ",oelig:"Latijnse kleine letter œ",372:"Latijnse hoofdletter W met een circonflexe",374:"Latijnse hoofdletter Y met een circonflexe",373:"Latijnse kleine letter w met een circonflexe", +375:"Latijnse kleine letter y met een circonflexe",sbquo:"Lage enkele aanhalingsteken",8219:"Hoge omgekeerde enkele aanhalingsteken",bdquo:"Lage dubbele aanhalingsteken",hellip:"Beletselteken",trade:"Trademark-teken",9658:"Zwarte driehoek naar rechts",bull:"Bullet",rarr:"Pijl naar rechts",rArr:"Dubbele pijl naar rechts",hArr:"Dubbele pijl naar links",diams:"Zwart ruitje",asymp:"Benaderingsteken"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/nl.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/pl.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/pl.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/pl.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","pl",{euro:"Znak euro",lsquo:"Cudzysłów pojedynczy otwierający",rsquo:"Cudzysłów pojedynczy zamykający",ldquo:"Cudzysłów apostrofowy otwierający",rdquo:"Cudzysłów apostrofowy zamykający",ndash:"Półpauza",mdash:"Pauza",iexcl:"Odwrócony wykrzyknik",cent:"Znak centa",pound:"Znak funta",curren:"Znak waluty",yen:"Znak jena",brvbar:"Przerwana pionowa kreska",sect:"Paragraf",uml:"Diereza",copy:"Znak praw autorskich",ordf:"Wskaźnik rodzaju żeńskiego liczebnika porządkowego", +laquo:"Lewy cudzysłów ostrokątny",not:"Znak negacji",reg:"Zastrzeżony znak towarowy",macr:"Makron",deg:"Znak stopnia",sup2:"Druga potęga",sup3:"Trzecia potęga",acute:"Akcent ostry",micro:"Znak mikro",para:"Znak akapitu",middot:"Kropka środkowa",cedil:"Cedylla",sup1:"Pierwsza potęga",ordm:"Wskaźnik rodzaju męskiego liczebnika porządkowego",raquo:"Prawy cudzysłów ostrokątny",frac14:"Ułamek zwykły jedna czwarta",frac12:"Ułamek zwykły jedna druga",frac34:"Ułamek zwykły trzy czwarte",iquest:"Odwrócony znak zapytania", +Agrave:"Wielka litera A z akcentem ciężkim",Aacute:"Wielka litera A z akcentem ostrym",Acirc:"Wielka litera A z akcentem przeciągłym",Atilde:"Wielka litera A z tyldą",Auml:"Wielka litera A z dierezą",Aring:"Wielka litera A z kółkiem",AElig:"Wielka ligatura Æ",Ccedil:"Wielka litera C z cedyllą",Egrave:"Wielka litera E z akcentem ciężkim",Eacute:"Wielka litera E z akcentem ostrym",Ecirc:"Wielka litera E z akcentem przeciągłym",Euml:"Wielka litera E z dierezą",Igrave:"Wielka litera I z akcentem ciężkim", +Iacute:"Wielka litera I z akcentem ostrym",Icirc:"Wielka litera I z akcentem przeciągłym",Iuml:"Wielka litera I z dierezą",ETH:"Wielka litera Eth",Ntilde:"Wielka litera N z tyldą",Ograve:"Wielka litera O z akcentem ciężkim",Oacute:"Wielka litera O z akcentem ostrym",Ocirc:"Wielka litera O z akcentem przeciągłym",Otilde:"Wielka litera O z tyldą",Ouml:"Wielka litera O z dierezą",times:"Znak mnożenia wektorowego",Oslash:"Wielka litera O z przekreśleniem",Ugrave:"Wielka litera U z akcentem ciężkim",Uacute:"Wielka litera U z akcentem ostrym", +Ucirc:"Wielka litera U z akcentem przeciągłym",Uuml:"Wielka litera U z dierezą",Yacute:"Wielka litera Y z akcentem ostrym",THORN:"Wielka litera Thorn",szlig:"Mała litera ostre s (eszet)",agrave:"Mała litera a z akcentem ciężkim",aacute:"Mała litera a z akcentem ostrym",acirc:"Mała litera a z akcentem przeciągłym",atilde:"Mała litera a z tyldą",auml:"Mała litera a z dierezą",aring:"Mała litera a z kółkiem",aelig:"Mała ligatura æ",ccedil:"Mała litera c z cedyllą",egrave:"Mała litera e z akcentem ciężkim", +eacute:"Mała litera e z akcentem ostrym",ecirc:"Mała litera e z akcentem przeciągłym",euml:"Mała litera e z dierezą",igrave:"Mała litera i z akcentem ciężkim",iacute:"Mała litera i z akcentem ostrym",icirc:"Mała litera i z akcentem przeciągłym",iuml:"Mała litera i z dierezą",eth:"Mała litera eth",ntilde:"Mała litera n z tyldą",ograve:"Mała litera o z akcentem ciężkim",oacute:"Mała litera o z akcentem ostrym",ocirc:"Mała litera o z akcentem przeciągłym",otilde:"Mała litera o z tyldą",ouml:"Mała litera o z dierezą", +divide:"Anglosaski znak dzielenia",oslash:"Mała litera o z przekreśleniem",ugrave:"Mała litera u z akcentem ciężkim",uacute:"Mała litera u z akcentem ostrym",ucirc:"Mała litera u z akcentem przeciągłym",uuml:"Mała litera u z dierezą",yacute:"Mała litera y z akcentem ostrym",thorn:"Mała litera thorn",yuml:"Mała litera y z dierezą",OElig:"Wielka ligatura OE",oelig:"Mała ligatura oe",372:"Wielka litera W z akcentem przeciągłym",374:"Wielka litera Y z akcentem przeciągłym",373:"Mała litera w z akcentem przeciągłym", +375:"Mała litera y z akcentem przeciągłym",sbquo:"Pojedynczy apostrof dolny",8219:"Pojedynczy apostrof górny",bdquo:"Podwójny apostrof dolny",hellip:"Wielokropek",trade:"Znak towarowy",9658:"Czarny wskaźnik wskazujący w prawo",bull:"Punktor",rarr:"Strzałka w prawo",rArr:"Podwójna strzałka w prawo",hArr:"Podwójna strzałka obustronna",diams:"Czarny znak karo",asymp:"Znak prawie równe"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/pl.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/id.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/id.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/id.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","id",{euro:"Tanda Euro",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Tanda Yen",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Tanda Hak Cipta",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", +not:"Not sign",reg:"Tanda Telah Terdaftar",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", +Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", +Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", +Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", +aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", +ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", +yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", +trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/id.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sl.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sl.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sl.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","sl",{euro:"Znak za evro",lsquo:"Levi enojni narekovaj",rsquo:"Desni enojni narekovaj",ldquo:"Levi dvojni narekovaj",rdquo:"Desni dvojni narekovaj",ndash:"Pomišljaj",mdash:"Dolgi pomišljaj",iexcl:"Obrnjen klicaj",cent:"Znak za cent",pound:"Znak za funt",curren:"Znak valute",yen:"Znak za jen",brvbar:"Zlomljena črta",sect:"Znak za člen",uml:"Diereza",copy:"Znak avtorskih pravic",ordf:"Ženski zaporedni kazalnik",laquo:"Levi dvojni lomljeni narekovaj",not:"Znak za ne", +reg:"Registrirani znak",macr:"Nadčrtano",deg:"Znak za stopinje",sup2:"Nadpisano dva",sup3:"Nadpisano tri",acute:"Ostrivec",micro:"Znak za mikro",para:"Znak za odstavek",middot:"Usredinjena pika",cedil:"Cedilla",sup1:"Nadpisano ena",ordm:"Moški zaporedni kazalnik",raquo:"Desno obrnjen dvojni kotni narekovaj",frac14:"Ena četrtina",frac12:"Ena polovica",frac34:"Tri četrtine",iquest:"Obrnjen vprašaj",Agrave:"Velika latinska črka A s krativcem",Aacute:"Velika latinska črka A z ostrivcem",Acirc:"Velika latinska črka A s strešico", +Atilde:"Velika latinska črka A z tildo",Auml:"Velika latinska črka A z diaeresis-om",Aring:"Velika latinska črka A z obročem",AElig:"Velika latinska črka Æ",Ccedil:"Velika latinska črka C s cedillo",Egrave:"Velika latinska črka E s krativcem",Eacute:"Velika latinska črka E z ostrivcem",Ecirc:"Velika latinska črka E s strešico",Euml:"Velika latinska črka E z diaeresis-om",Igrave:"Velika latinska črka I s krativcem",Iacute:"Velika latinska črka I z ostrivcem",Icirc:"Velika latinska črka I s strešico", +Iuml:"Velika latinska črka I z diaeresis-om",ETH:"Velika latinska črka Eth",Ntilde:"Velika latinska črka N s tildo",Ograve:"Velika latinska črka O s krativcem",Oacute:"Velika latinska črka O z ostrivcem",Ocirc:"Velika latinska črka O s strešico",Otilde:"Velika latinska črka O s tildo",Ouml:"Velika latinska črka O z diaeresis-om",times:"Znak za množenje",Oslash:"Velika prečrtana latinska črka O",Ugrave:"Velika latinska črka U s krativcem",Uacute:"Velika latinska črka U z ostrivcem",Ucirc:"Velika latinska črka U s strešico", +Uuml:"Velika latinska črka U z diaeresis-om",Yacute:"Velika latinska črka Y z ostrivcem",THORN:"Velika latinska črka Thorn",szlig:"Mala ostra latinska črka s",agrave:"Mala latinska črka a s krativcem",aacute:"Mala latinska črka a z ostrivcem",acirc:"Mala latinska črka a s strešico",atilde:"Mala latinska črka a s tildo",auml:"Mala latinska črka a z diaeresis-om",aring:"Mala latinska črka a z obročem",aelig:"Mala latinska črka æ",ccedil:"Mala latinska črka c s cedillo",egrave:"Mala latinska črka e s krativcem", +eacute:"Mala latinska črka e z ostrivcem",ecirc:"Mala latinska črka e s strešico",euml:"Mala latinska črka e z diaeresis-om",igrave:"Mala latinska črka i s krativcem",iacute:"Mala latinska črka i z ostrivcem",icirc:"Mala latinska črka i s strešico",iuml:"Mala latinska črka i z diaeresis-om",eth:"Mala latinska črka eth",ntilde:"Mala latinska črka n s tildo",ograve:"Mala latinska črka o s krativcem",oacute:"Mala latinska črka o z ostrivcem",ocirc:"Mala latinska črka o s strešico",otilde:"Mala latinska črka o s tildo", +ouml:"Mala latinska črka o z diaeresis-om",divide:"Znak za deljenje",oslash:"Mala prečrtana latinska črka o",ugrave:"Mala latinska črka u s krativcem",uacute:"Mala latinska črka u z ostrivcem",ucirc:"Mala latinska črka u s strešico",uuml:"Mala latinska črka u z diaeresis-om",yacute:"Mala latinska črka y z ostrivcem",thorn:"Mala latinska črka thorn",yuml:"Mala latinska črka y z diaeresis-om",OElig:"Velika latinska ligatura OE",oelig:"Mala latinska ligatura oe",372:"Velika latinska črka W s strešico", +374:"Velika latinska črka Y s strešico",373:"Mala latinska črka w s strešico",375:"Mala latinska črka y s strešico",sbquo:"Enojni nizki-9 narekovaj",8219:"Enojni visoki-obrnjen-9 narekovaj",bdquo:"Dvojni nizki-9 narekovaj",hellip:"Horizontalni izpust",trade:"Znak blagovne znamke",9658:"Črni desno-usmerjen kazalec",bull:"Krogla",rarr:"Desno-usmerjena puščica",rArr:"Desno-usmerjena dvojna puščica",hArr:"Leva in desna dvojna puščica",diams:"Črna kara",asymp:"Skoraj enako"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/sl.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/tt.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/tt.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/tt.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("specialchar","tt",{euro:"Евро тамгасы",lsquo:"Сул бер иңле куштырнаклар",rsquo:"Уң бер иңле куштырнаклар",ldquo:"Сул ике иңле куштырнаклар",rdquo:"Уң ике иңле куштырнаклар",ndash:"Кыска сызык",mdash:"Озын сызык",iexcl:"Әйләндерелгән өндәү билгесе",cent:"Цент тамгасы",pound:"Фунт тамгасы",curren:"Акча берәмлеге тамгасы",yen:"Иена тамгасы",brvbar:"Broken bar",sect:"Параграф билгесе",uml:"Диерезис",copy:"Хокук иясе булу билгесе",ordf:"Feminine ordinal indicator",laquo:"Ачылучы чыршысыман җәя", +not:"Юклык ишарəсе",reg:"Теркәләнгән булу билгесе",macr:"Макрон",deg:"Градус билгесе",sup2:"Икенче өске индекс",sup3:"Өченче өске индекс",acute:"Басым билгесе",micro:"Микро билгесе",para:"Параграф билгесе",middot:"Уртадагы нокта",cedil:"Седиль",sup1:"Беренче өске индекс",ordm:"Masculine ordinal indicator",raquo:"Ябылучы чыршысыман җәя",frac14:"Гади дүрттән бер билгесе",frac12:"Гади икедән бер билгесе",frac34:"Гади дүрттән өч билгесе",iquest:"Әйләндерелгән өндәү билгесе",Agrave:"Гравис белән латин A баш хәрефе", +Aacute:"Басым билгесе белән латин A баш хәрефе",Acirc:"Циркумфлекс белән латин A баш хәрефе",Atilde:"Тильда белән латин A баш хәрефе",Auml:"Диерезис белән латин A баш хәрефе",Aring:"Өстендә боҗра булган латин A баш хәрефе",AElig:"Латин Æ баш хәрефе",Ccedil:"Седиль белән латин C баш хәрефе",Egrave:"Гравис белән латин E баш хәрефе",Eacute:"Басым билгесе белән латин E баш хәрефе",Ecirc:"Циркумфлекс белән латин E баш хәрефе",Euml:"Диерезис белән латин E баш хәрефе",Igrave:"Гравис белән латин I баш хәрефе", +Iacute:"Басым билгесе белән латин I баш хәрефе",Icirc:"Циркумфлекс белән латин I баш хәрефе",Iuml:"Диерезис белән латин I баш хәрефе",ETH:"Латин Eth баш хәрефе",Ntilde:"Тильда белән латин N баш хәрефе",Ograve:"Гравис белән латин O баш хәрефе",Oacute:"Басым билгесе белән латин O баш хәрефе",Ocirc:"Циркумфлекс белән латин O баш хәрефе",Otilde:"Тильда белән латин O баш хәрефе",Ouml:"Диерезис белән латин O баш хәрефе",times:"Тапкырлау билгесе",Oslash:"Сызык белән латин O баш хәрефе",Ugrave:"Гравис белән латин U баш хәрефе", +Uacute:"Басым билгесе белән латин U баш хәрефе",Ucirc:"Циркумфлекс белән латин U баш хәрефе",Uuml:"Диерезис белән латин U баш хәрефе",Yacute:"Басым билгесе белән латин Y баш хәрефе",THORN:"Латин Thorn баш хәрефе",szlig:"Латин beta юл хәрефе",agrave:"Гравис белән латин a юл хәрефе",aacute:"Басым билгесе белән латин a юл хәрефе",acirc:"Циркумфлекс белән латин a юл хәрефе",atilde:"Тильда белән латин a юл хәрефе",auml:"Диерезис белән латин a юл хәрефе",aring:"Өстендә боҗра булган латин a юл хәрефе",aelig:"Латин æ юл хәрефе", +ccedil:"Седиль белән латин c юл хәрефе",egrave:"Гравис белән латин e юл хәрефе",eacute:"Басым билгесе белән латин e юл хәрефе",ecirc:"Циркумфлекс белән латин e юл хәрефе",euml:"Диерезис белән латин e юл хәрефе",igrave:"Гравис белән латин i юл хәрефе",iacute:"Басым билгесе белән латин i юл хәрефе",icirc:"Циркумфлекс белән латин i юл хәрефе",iuml:"Диерезис белән латин i юл хәрефе",eth:"Латин eth юл хәрефе",ntilde:"Тильда белән латин n юл хәрефе",ograve:"Гравис белән латин o юл хәрефе",oacute:"Басым билгесе белән латин o юл хәрефе", +ocirc:"Циркумфлекс белән латин o юл хәрефе",otilde:"Тильда белән латин o юл хәрефе",ouml:"Диерезис белән латин o юл хәрефе",divide:"Бүлү билгесе",oslash:"Сызык белән латин o юл хәрефе",ugrave:"Гравис белән латин u юл хәрефе",uacute:"Басым билгесе белән латин u юл хәрефе",ucirc:"Циркумфлекс белән латин u юл хәрефе",uuml:"Диерезис белән латин u юл хәрефе",yacute:"Басым билгесе белән латин y юл хәрефе",thorn:"Латин thorn юл хәрефе",yuml:"Диерезис белән латин y юл хәрефе",OElig:"Латин лигатура OE баш хәрефе", +oelig:"Латин лигатура oe юл хәрефе",372:"Циркумфлекс белән латин W баш хәрефе",374:"Циркумфлекс белән латин Y баш хәрефе",373:"Циркумфлекс белән латин w юл хәрефе",375:"Циркумфлекс белән латин y юл хәрефе",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Ятма эллипс",trade:"Сәүдә маркасы билгесе",9658:"Black right-pointing pointer",bull:"Маркер",rarr:"Уң якка ук",rArr:"Уң якка икеләтә ук",hArr:"Ике якка икеләтә ук",diams:"Black diamond suit", +asymp:"якынча"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/specialchar/dialogs/lang/tt.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/pagebreak/images/pagebreak.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/pagebreak/images/pagebreak.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/div/dialogs/div.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/div/dialogs/div.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/div/dialogs/div.js (revision 7) @@ -0,0 +1,9 @@ +(function(){function t(a,m,r){m.is&&m.getCustomData("block_processed")||(m.is&&CKEDITOR.dom.element.setMarker(r,m,"block_processed",!0),a.push(m))}function q(a,m){function r(){this.foreach(function(a){/^(?!vbox|hbox)/.test(a.type)&&(a.setup||(a.setup=function(c){a.setValue(c.getAttribute(a.id)||"",1)}),a.commit||(a.commit=function(c){var g=this.getValue();if("dir"!=a.id||c.getComputedStyle("direction")!=g)g?c.setAttribute(a.id,g):c.removeAttribute(a.id)}))})}var q=function(){var f=CKEDITOR.tools.extend({}, +CKEDITOR.dtd.$blockLimit);a.config.div_wrapTable&&(delete f.td,delete f.th);return f}(),u=CKEDITOR.dtd.div,n={},p=[];return{title:a.lang.div.title,minWidth:400,minHeight:165,contents:[{id:"info",label:a.lang.common.generalTab,title:a.lang.common.generalTab,elements:[{type:"hbox",widths:["50%","50%"],children:[{id:"elementStyle",type:"select",style:"width: 100%;",label:a.lang.div.styleSelectLabel,"default":"",items:[[a.lang.common.notSet,""]],onChange:function(){var f=["info:elementStyle","info:class", +"advanced:dir","advanced:style"],c=this.getDialog(),g=c._element&&c._element.clone()||new CKEDITOR.dom.element("div",a.document);this.commit(g,!0);for(var f=[].concat(f),b=f.length,k,e=0;e<b;e++)(k=c.getContentElement.apply(c,f[e].split(":")))&&k.setup&&k.setup(g,!0)},setup:function(f){for(var c in n)n[c].checkElementRemovable(f,!0,a)&&this.setValue(c,1)},commit:function(f){var c;(c=this.getValue())?n[c].applyToObject(f,a):f.removeAttribute("style")}},{id:"class",type:"text",requiredContent:"div(cke-xyz)", +label:a.lang.common.cssClass,"default":""}]}]},{id:"advanced",label:a.lang.common.advancedTab,title:a.lang.common.advancedTab,elements:[{type:"vbox",padding:1,children:[{type:"hbox",widths:["50%","50%"],children:[{type:"text",id:"id",requiredContent:"div[id]",label:a.lang.common.id,"default":""},{type:"text",id:"lang",requiredContent:"div[lang]",label:a.lang.common.langCode,"default":""}]},{type:"hbox",children:[{type:"text",id:"style",requiredContent:"div{cke-xyz}",style:"width: 100%;",label:a.lang.common.cssStyle, +"default":"",commit:function(a){a.setAttribute("style",this.getValue())}}]},{type:"hbox",children:[{type:"text",id:"title",requiredContent:"div[title]",style:"width: 100%;",label:a.lang.common.advisoryTitle,"default":""}]},{type:"select",id:"dir",requiredContent:"div[dir]",style:"width: 100%;",label:a.lang.common.langDir,"default":"",items:[[a.lang.common.notSet,""],[a.lang.common.langDirLtr,"ltr"],[a.lang.common.langDirRtl,"rtl"]]}]}]}],onLoad:function(){r.call(this);var f=this,c=this.getContentElement("info", +"elementStyle");a.getStylesSet(function(g){var b,k;if(g)for(var e=0;e<g.length;e++)k=g[e],k.element&&"div"==k.element&&(b=k.name,n[b]=k=new CKEDITOR.style(k),a.filter.check(k)&&(c.items.push([b,b]),c.add(b,b)));c[1<c.items.length?"enable":"disable"]();setTimeout(function(){f._element&&c.setup(f._element)},0)})},onShow:function(){"editdiv"==m&&this.setupContent(this._element=CKEDITOR.plugins.div.getSurroundDiv(a))},onOk:function(){if("editdiv"==m)p=[this._element];else{var f=[],c={},g=[],b,k=a.getSelection(), +e=k.getRanges(),n=k.createBookmarks(),h,l;for(h=0;h<e.length;h++)for(l=e[h].createIterator();b=l.getNextParagraph();)if(b.getName()in q&&!b.isReadOnly()){var d=b.getChildren();for(b=0;b<d.count();b++)t(g,d.getItem(b),c)}else{for(;!u[b.getName()]&&!b.equals(e[h].root);)b=b.getParent();t(g,b,c)}CKEDITOR.dom.element.clearAllMarkers(c);e=[];h=null;for(l=0;l<g.length;l++)b=g[l],d=a.elementPath(b).blockLimit,d.isReadOnly()&&(d=d.getParent()),a.config.div_wrapTable&&d.is(["td","th"])&&(d=a.elementPath(d.getParent()).blockLimit), +d.equals(h)||(h=d,e.push([])),b.getParent()&&e[e.length-1].push(b);for(h=0;h<e.length;h++)if(e[h].length){d=e[h][0];g=d.getParent();for(b=1;b<e[h].length;b++)g=g.getCommonAncestor(e[h][b]);g||(g=a.editable());l=new CKEDITOR.dom.element("div",a.document);for(b=0;b<e[h].length;b++){for(d=e[h][b];d.getParent()&&!d.getParent().equals(g);)d=d.getParent();e[h][b]=d}for(b=0;b<e[h].length;b++)d=e[h][b],d.getCustomData&&d.getCustomData("block_processed")||(d.is&&CKEDITOR.dom.element.setMarker(c,d,"block_processed", +!0),b||l.insertBefore(d),l.append(d));CKEDITOR.dom.element.clearAllMarkers(c);f.push(l)}k.selectBookmarks(n);p=f}f=p.length;for(c=0;c<f;c++)this.commitContent(p[c]),!p[c].getAttribute("style")&&p[c].removeAttribute("style");this.hide()},onHide:function(){"editdiv"==m&&this._element.removeCustomData("elementStyle");delete this._element}}}CKEDITOR.dialog.add("creatediv",function(a){return q(a,"creatediv")});CKEDITOR.dialog.add("editdiv",function(a){return q(a,"editdiv")})})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/div/dialogs/div.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/icons.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/icons.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/icons_hidpi.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/icons_hidpi.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/clipboard/dialogs/paste.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/clipboard/dialogs/paste.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/clipboard/dialogs/paste.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("paste",function(c){function k(a){var b=new CKEDITOR.dom.document(a.document),g=b.getBody(),d=b.getById("cke_actscrpt");d&&d.remove();g.setAttribute("contenteditable",!0);g.on(e.mainPasteEvent,function(a){a=e.initPasteDataTransfer(a);f?a!=f&&(f=e.initPasteDataTransfer()):f=a});if(CKEDITOR.env.ie&&8>CKEDITOR.env.version)b.getWindow().on("blur",function(){b.$.selection.empty()});b.on("keydown",function(a){a=a.data;var b;switch(a.getKeystroke()){case 27:this.hide();b=1;break;case 9:case CKEDITOR.SHIFT+ +9:this.changeFocus(1),b=1}b&&a.preventDefault()},this);c.fire("ariaWidget",new CKEDITOR.dom.element(a.frameElement));b.getWindow().getFrame().removeCustomData("pendingFocus")&&g.focus()}var h=c.lang.clipboard,e=CKEDITOR.plugins.clipboard,f;c.on("pasteDialogCommit",function(a){a.data&&c.fire("paste",{type:"auto",dataValue:a.data.dataValue,method:"paste",dataTransfer:a.data.dataTransfer||e.initPasteDataTransfer()})},null,null,1E3);return{title:h.title,minWidth:CKEDITOR.env.ie&&CKEDITOR.env.quirks?370: +350,minHeight:CKEDITOR.env.quirks?250:245,onShow:function(){this.parts.dialog.$.offsetHeight;this.setupContent();this._.committed=!1},onLoad:function(){(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)&&"rtl"==c.lang.dir&&this.parts.contents.setStyle("overflow","hidden")},onOk:function(){this.commitContent()},contents:[{id:"general",label:c.lang.common.generalTab,elements:[{type:"html",id:"pasteMsg",html:'\x3cdiv style\x3d"white-space:normal;width:340px"\x3e'+h.pasteMsg+"\x3c/div\x3e"},{type:"html", +id:"editing_area",style:"width:100%;height:100%",html:"",focus:function(){var a=this.getInputElement(),b=a.getFrameDocument().getBody();!b||b.isReadOnly()?a.setCustomData("pendingFocus",1):b.focus()},setup:function(){var a=this.getDialog(),b='\x3chtml dir\x3d"'+c.config.contentsLangDirection+'" lang\x3d"'+(c.config.contentsLanguage||c.langCode)+'"\x3e\x3chead\x3e\x3cstyle\x3ebody{margin:3px;height:95%;word-break:break-all;}\x3c/style\x3e\x3c/head\x3e\x3cbody\x3e\x3cscript id\x3d"cke_actscrpt" type\x3d"text/javascript"\x3ewindow.parent.CKEDITOR.tools.callFunction('+ +CKEDITOR.tools.addFunction(k,a)+",this);\x3c/script\x3e\x3c/body\x3e\x3c/html\x3e",g=CKEDITOR.env.air?"javascript:void(0)":CKEDITOR.env.ie&&!CKEDITOR.env.edge?"javascript:void((function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.close();")+'})())"':"",d=CKEDITOR.dom.element.createFromHtml('\x3ciframe class\x3d"cke_pasteframe" frameborder\x3d"0" allowTransparency\x3d"true" src\x3d"'+g+'" aria-label\x3d"'+h.pasteArea+'" aria-describedby\x3d"'+a.getContentElement("general", +"pasteMsg").domId+'"\x3e\x3c/iframe\x3e');f=null;d.on("load",function(a){a.removeListener();a=d.getFrameDocument();a.write(b);c.focusManager.add(a.getBody());CKEDITOR.env.air&&k.call(this,a.getWindow().$)},a);d.setCustomData("dialog",a);a=this.getElement();a.setHtml("");a.append(d);if(CKEDITOR.env.ie&&!CKEDITOR.env.edge){var e=CKEDITOR.dom.element.createFromHtml('\x3cspan tabindex\x3d"-1" style\x3d"position:absolute" role\x3d"presentation"\x3e\x3c/span\x3e');e.on("focus",function(){setTimeout(function(){d.$.contentWindow.focus()})}); +a.append(e);this.focus=function(){e.focus();this.fire("focus")}}this.getInputElement=function(){return d};CKEDITOR.env.ie&&(a.setStyle("display","block"),a.setStyle("height",d.$.offsetHeight+2+"px"))},commit:function(){var a=this.getDialog().getParentEditor(),b=this.getInputElement().getFrameDocument().getBody(),c=b.getBogus();c&&c.remove();b=b.getHtml();this.getDialog()._.committed=!0;a.fire("pasteDialogCommit",{dataValue:b,dataTransfer:f||e.initPasteDataTransfer()})}}]}]}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/clipboard/dialogs/paste.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/liststyle/dialogs/liststyle.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/liststyle/dialogs/liststyle.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/liststyle/dialogs/liststyle.js (revision 7) @@ -0,0 +1,10 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +(function(){function d(c,d){var b;try{b=c.getSelection().getRanges()[0]}catch(f){return null}b.shrink(CKEDITOR.SHRINK_TEXT);return c.elementPath(b.getCommonAncestor()).contains(d,1)}function e(c,e){var b=c.lang.liststyle;if("bulletedListStyle"==e)return{title:b.bulletedTitle,minWidth:300,minHeight:50,contents:[{id:"info",accessKey:"I",elements:[{type:"select",label:b.type,id:"type",align:"center",style:"width:150px",items:[[b.notset,""],[b.circle,"circle"],[b.disc,"disc"],[b.square,"square"]],setup:function(a){a= +a.getStyle("list-style-type")||h[a.getAttribute("type")]||a.getAttribute("type")||"";this.setValue(a)},commit:function(a){var b=this.getValue();b?a.setStyle("list-style-type",b):a.removeStyle("list-style-type")}}]}],onShow:function(){var a=this.getParentEditor();(a=d(a,"ul"))&&this.setupContent(a)},onOk:function(){var a=this.getParentEditor();(a=d(a,"ul"))&&this.commitContent(a)}};if("numberedListStyle"==e){var g=[[b.notset,""],[b.lowerRoman,"lower-roman"],[b.upperRoman,"upper-roman"],[b.lowerAlpha, +"lower-alpha"],[b.upperAlpha,"upper-alpha"],[b.decimal,"decimal"]];(!CKEDITOR.env.ie||7<CKEDITOR.env.version)&&g.concat([[b.armenian,"armenian"],[b.decimalLeadingZero,"decimal-leading-zero"],[b.georgian,"georgian"],[b.lowerGreek,"lower-greek"]]);return{title:b.numberedTitle,minWidth:300,minHeight:50,contents:[{id:"info",accessKey:"I",elements:[{type:"hbox",widths:["25%","75%"],children:[{label:b.start,type:"text",id:"start",validate:CKEDITOR.dialog.validate.integer(b.validateStartNumber),setup:function(a){a= +a.getFirst(f).getAttribute("value")||a.getAttribute("start")||1;this.setValue(a)},commit:function(a){var b=a.getFirst(f),c=b.getAttribute("value")||a.getAttribute("start")||1;a.getFirst(f).removeAttribute("value");var d=parseInt(this.getValue(),10);isNaN(d)?a.removeAttribute("start"):a.setAttribute("start",d);a=b;b=c;for(d=isNaN(d)?1:d;(a=a.getNext(f))&&b++;)a.getAttribute("value")==b&&a.setAttribute("value",d+b-c)}},{type:"select",label:b.type,id:"type",style:"width: 100%;",items:g,setup:function(a){a= +a.getStyle("list-style-type")||h[a.getAttribute("type")]||a.getAttribute("type")||"";this.setValue(a)},commit:function(a){var b=this.getValue();b?a.setStyle("list-style-type",b):a.removeStyle("list-style-type")}}]}]}],onShow:function(){var a=this.getParentEditor();(a=d(a,"ol"))&&this.setupContent(a)},onOk:function(){var a=this.getParentEditor();(a=d(a,"ol"))&&this.commitContent(a)}}}}var f=function(c){return c.type==CKEDITOR.NODE_ELEMENT&&c.is("li")},h={a:"lower-alpha",A:"upper-alpha",i:"lower-roman", +I:"upper-roman",1:"decimal",disc:"disc",circle:"circle",square:"square"};CKEDITOR.dialog.add("numberedListStyle",function(c){return e(c,"numberedListStyle")});CKEDITOR.dialog.add("bulletedListStyle",function(c){return e(c,"bulletedListStyle")})})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/liststyle/dialogs/liststyle.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js (revision 7) @@ -0,0 +1,10 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("a11yHelp",function(e){var a=e.lang.a11yhelp,b=e.lang.common.keyboard,q=CKEDITOR.tools.getNextId(),d={8:b[8],9:a.tab,13:b[13],16:b[16],17:b[17],18:b[18],19:a.pause,20:a.capslock,27:a.escape,33:a.pageUp,34:a.pageDown,35:b[35],36:b[36],37:a.leftArrow,38:a.upArrow,39:a.rightArrow,40:a.downArrow,45:a.insert,46:b[46],91:a.leftWindowKey,92:a.rightWindowKey,93:a.selectKey,96:a.numpad0,97:a.numpad1,98:a.numpad2,99:a.numpad3,100:a.numpad4,101:a.numpad5,102:a.numpad6,103:a.numpad7,104:a.numpad8, +105:a.numpad9,106:a.multiply,107:a.add,109:a.subtract,110:a.decimalPoint,111:a.divide,112:a.f1,113:a.f2,114:a.f3,115:a.f4,116:a.f5,117:a.f6,118:a.f7,119:a.f8,120:a.f9,121:a.f10,122:a.f11,123:a.f12,144:a.numLock,145:a.scrollLock,186:a.semiColon,187:a.equalSign,188:a.comma,189:a.dash,190:a.period,191:a.forwardSlash,192:a.graveAccent,219:a.openBracket,220:a.backSlash,221:a.closeBracket,222:a.singleQuote};d[CKEDITOR.ALT]=b[18];d[CKEDITOR.SHIFT]=b[16];d[CKEDITOR.CTRL]=CKEDITOR.env.mac?b[224]:b[17];var k= +[CKEDITOR.ALT,CKEDITOR.SHIFT,CKEDITOR.CTRL],r=/\$\{(.*?)\}/g,t=function(a,b){var c=e.getCommandKeystroke(b);if(c){for(var l,f,h=[],g=0;g<k.length;g++)f=k[g],l=c/k[g],1<l&&2>=l&&(c-=f,h.push(d[f]));h.push(d[c]||String.fromCharCode(c));c=h.join("+")}else c=a;return c};return{title:a.title,minWidth:600,minHeight:400,contents:[{id:"info",label:e.lang.common.generalTab,expand:!0,elements:[{type:"html",id:"legends",style:"white-space:normal;",focus:function(){this.getElement().focus()},html:function(){for(var b= +'\x3cdiv class\x3d"cke_accessibility_legend" role\x3d"document" aria-labelledby\x3d"'+q+'_arialbl" tabIndex\x3d"-1"\x3e%1\x3c/div\x3e\x3cspan id\x3d"'+q+'_arialbl" class\x3d"cke_voice_label"\x3e'+a.contents+" \x3c/span\x3e",d=[],c=a.legend,l=c.length,f=0;f<l;f++){for(var h=c[f],g=[],e=h.items,k=e.length,p=0;p<k;p++){var m=e[p],n=CKEDITOR.env.edge&&m.legendEdge?m.legendEdge:m.legend,n=n.replace(r,t);n.match(r)||g.push("\x3cdt\x3e%1\x3c/dt\x3e\x3cdd\x3e%2\x3c/dd\x3e".replace("%1",m.name).replace("%2", +n))}d.push("\x3ch1\x3e%1\x3c/h1\x3e\x3cdl\x3e%2\x3c/dl\x3e".replace("%1",h.name).replace("%2",g.join("")))}return b.replace("%1",d.join(""))}()+'\x3cstyle type\x3d"text/css"\x3e.cke_accessibility_legend{width:600px;height:400px;padding-right:5px;overflow-y:auto;overflow-x:hidden;}.cke_browser_quirks .cke_accessibility_legend,{height:390px}.cke_accessibility_legend *{white-space:normal;}.cke_accessibility_legend h1{font-size: 20px;border-bottom: 1px solid #AAA;margin: 5px 0px 15px;}.cke_accessibility_legend dl{margin-left: 5px;}.cke_accessibility_legend dt{font-size: 13px;font-weight: bold;}.cke_accessibility_legend dd{margin:10px}\x3c/style\x3e'}]}], +buttons:[CKEDITOR.dialog.cancelButton]}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","en-gb",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"General",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", +legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/az.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/az.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/az.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","az",{title:"Əlillərə dəstək üzrə təlimat",contents:"Kömək. Pəncərəni bağlamaq üçün ESC basın.",legend:[{name:"Əsas",items:[{name:"Düzəliş edənin alətlər çubuğu",legend:"Panelə keçmək üçün ${toolbarFocus} basın. Növbəti panelə TAB, əvvəlki panelə isə SHIFT+TAB düyməsi vasitəsi ilə keçə bilərsiz. Paneldəki düymələr arasında sol və sağ ox düyməsi ilə keçid edə bilərsiz. Seçilmiş düyməsi SPACE və ya ENTER ilə işlədə bilərsiniz."},{name:"Redaktorun pəncərəsi",legend:"Pəncərə içində növbəti element seçmək üçün TAB düyməni basın, əvvəlki isə - SHIFT+TAB. Təsdiq edilməsi üçün ENTER, imtina edilməsi isə ESC diymələri istifadə edin. Pəncərədə bir neçə vərəq olanda olnarın siyahı ALT+F10 ilə aça bilərsiz. Vərəqlərin siyahı fokus altında olanda ox düymələr vasitəsi ilə onların arasında keçid edə bilərsiz."}, +{name:"Redaktorun seçimlərin menyusu",legend:"Seçimləri redaktə etmək üçün ${contextMenu} ya da APPLICATION KEY basın. Növbəti seçimə keçmək üçün TAB ya AŞAĞI OX düyməsini basın, əvvəlki isə - SHIFT+TAB ya YUXARI OX. Seçimi arımaq SPACE ya ENTER düymələri istifadə edin. Alt menyunu açmaq üçün SPACE, ENTER ya SAĞA OX basın. ESC ya SOLA OX ilə geriyə qayıda bilərsiz. Bütün menyunu ESC ilə bağlıyın."},{name:"Düzəliş edənin siyahı qutusu",legend:"Siyahı qutusu içində növbəti bənd seçmək üçün TAB ya AŞAĞI OX, əvvəlki isə SHIFT+TAB ya YUXARI OX basın. Seçimi arımaq SPACE ya ENTER düymələri istifadə edin. Siyahı qutusu ESC ilə bağlıyın."}, +{name:"Redaktor elementin cığır paneli",legend:"Elementin cığır paneli seçmək üçün ${elementsPathFocus} basın. Növbəti element seçmək üçün TAB ya SAĞA OX, əvvəlki isə SHIFT+TAB ya SOLA OX istifadə edin. Elementi arımaq SPACE ya ENTER düymələri mövcuddur."}]},{name:"Əmrlər",items:[{name:"Əmri geri qaytar",legend:"${undo} basın"},{name:"Geri əmri",legend:"${redo} basın"},{name:"Qalın əmri",legend:"${bold} basın"},{name:"Kursiv əmri",legend:"${italic} basın"},{name:"Altdan xətt əmri",legend:"${underline} basın"}, +{name:"Link əmri",legend:"${link} basın"},{name:"Paneli gizlət əmri",legend:"${toolbarCollapse} basın"},{name:"Əvvəlki fokus sahəsi seç əmrı",legend:"Kursordan əvvəl ən yaxın əlçatmaz yerə dəymək üçün ${accessPreviousSpace} basın, misal üçün: iki dal-badal HR teg. Uzaq yerlərə dəymək üçün bir neçə dəfə basın."},{name:"Növbəti fokus sahəsi seç əmrı",legend:"Kursordan sonra ən yaxın əlçatmaz yerə dəymək üçün ${accessNextSpace} basın, misal üçün: iki dal-badal HR teg. Uzaq yerlərə dəymək üçün bir neçə dəfə basın."}, +{name:"Hərtərəfli Kömək",legend:"${a11yHelp} basın"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Sola ox işarəsi",upArrow:"Yuxarı ox işarəsi",rightArrow:"Sağa ox işarəsi",downArrow:"Aşağı ox işarəsi",insert:"Insert",leftWindowKey:"Soldaki Windows düyməsi",rightWindowKey:"Sağdaki Windows düyməsi",selectKey:"Düyməni seçin", +numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Vurma",add:"Əlavə et",subtract:"Çıxma",decimalPoint:"Onluq kəsri tam ədəddən ayıran nöqtə",divide:"Bölüşdürmə",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Nöqtəli verqül",equalSign:"Barəbərlik işarəsi", +comma:"Vergül",dash:"Defis",period:"Nöqtə",forwardSlash:"Çəp xətt",graveAccent:"Vurğu işarəsi",openBracket:"Açılan mötərizə",backSlash:"Tərs çəpəki xətt",closeBracket:"Bağlanan mötərizə",singleQuote:"Tək dırnaq"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/az.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","ar",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"عام",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", +legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"إضافة",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"تقسيم",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"فاصلة",dash:"Dash",period:"نقطة",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","de-ch",{title:"Barrierefreiheitinformationen",contents:"Hilfeinhalt. Um den Dialog zu schliessen die Taste ESC drücken.",legend:[{name:"Allgemein",items:[{name:"Editorwerkzeugleiste",legend:"Drücken Sie ${toolbarFocus} auf der Symbolleiste. Gehen Sie zur nächsten oder vorherigen Symbolleistengruppe mit TAB und SHIFT+TAB. Gehen Sie zur nächsten oder vorherigen Symbolleiste auf die Schaltfläche mit dem RECHTS- oder LINKS-Pfeil. Drücken Sie die Leertaste oder Eingabetaste, um die Schaltfläche in der Symbolleiste aktivieren."}, +{name:"Editordialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Editor-Kontextmenü",legend:"Dürcken Sie ${contextMenu} oder die Anwendungstaste um das Kontextmenü zu öffnen. Man kann die Pfeiltasten zum Wechsel benutzen. Mit der Leertaste oder der Enter-Taste kann man den Menüpunkt aufrufen. Schliessen Sie das Kontextmenü mit der ESC-Taste."}, +{name:"Editor-Listenbox",legend:"Innerhalb einer Listenbox kann man mit der TAB-Taste oder den Pfeilrunter-Taste den nächsten Menüeintrag wählen. Mit der SHIFT+TAB Tastenkombination oder der Pfeilhoch-Taste gelangt man zum vorherigen Menüpunkt. Mit der Leertaste oder Enter kann man den Menüpunkt auswählen. Drücken Sie ESC zum Verlassen des Menüs."},{name:"Editor-Elementpfadleiste",legend:"Drücken Sie ${elementsPathFocus} um sich durch die Pfadleiste zu bewegen. Um zum nächsten Element zu gelangen drücken Sie TAB oder die Pfeilrechts-Taste. Zum vorherigen Element gelangen Sie mit der SHIFT+TAB oder der Pfeillinks-Taste. Drücken Sie die Leertaste oder Enter um das Element auszuwählen."}]}, +{name:"Befehle",items:[{name:"Rückgängig-Befehl",legend:"Drücken Sie ${undo}"},{name:"Wiederherstellen-Befehl",legend:"Drücken Sie ${redo}"},{name:"Fettschrift-Befehl",legend:"Drücken Sie ${bold}"},{name:"Kursiv-Befehl",legend:"Drücken Sie ${italic}"},{name:"Unterstreichen-Befehl",legend:"Drücken Sie ${underline}"},{name:"Link-Befehl",legend:"Drücken Sie ${link}"},{name:"Werkzeugleiste einklappen-Befehl",legend:"Drücken Sie ${toolbarCollapse}"},{name:"Zugang bisheriger Fokussierung Raumbefehl ",legend:"Drücken Sie ${accessPreviousSpace} auf den am nächsten nicht erreichbar Fokus-Abstand vor die Einfügemarke zugreifen: zwei benachbarte HR-Elemente. Wiederholen Sie die Tastenkombination um entfernte Fokusräume zu erreichen. "}, +{name:"Zugang nächster Schwerpunkt Raumbefehl ",legend:"Drücken Sie $ { accessNextSpace }, um den nächsten unerreichbar Fokus Leerzeichen nach dem Cursor zum Beispiel auf: zwei benachbarten HR Elemente. Wiederholen Sie die Tastenkombination zum fernen Fokus Bereiche zu erreichen. "},{name:"Eingabehilfen",legend:"Drücken Sie ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Feststell",escape:"Escape", +pageUp:"Bild auf",pageDown:"Bild ab",leftArrow:"Linke Pfeiltaste",upArrow:"Obere Pfeiltaste",rightArrow:"Rechte Pfeiltaste",downArrow:"Untere Pfeiltaste",insert:"Einfügen",leftWindowKey:"Linke Windowstaste",rightWindowKey:"Rechte Windowstaste",selectKey:"Taste auswählen",numpad0:"Ziffernblock 0",numpad1:"Ziffernblock 1",numpad2:"Ziffernblock 2",numpad3:"Ziffernblock 3",numpad4:"Ziffernblock 4",numpad5:"Ziffernblock 5",numpad6:"Ziffernblock 6",numpad7:"Ziffernblock 7",numpad8:"Ziffernblock 8",numpad9:"Ziffernblock 9", +multiply:"Multiplizieren",add:"Addieren",subtract:"Subtrahieren",decimalPoint:"Punkt",divide:"Dividieren",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Ziffernblock feststellen",scrollLock:"Rollen",semiColon:"Semikolon",equalSign:"Gleichheitszeichen",comma:"Komma",dash:"Bindestrich",period:"Punkt",forwardSlash:"Schrägstrich",graveAccent:"Gravis",openBracket:"Öffnende eckige Klammer",backSlash:"Rückwärtsgewandter Schrägstrich",closeBracket:"Schliessende eckige Klammer", +singleQuote:"Einfaches Anführungszeichen"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","sr",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"Опште",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", +legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","fi",{title:"Saavutettavuus ohjeet",contents:"Ohjeen sisällöt. Sulkeaksesi tämän dialogin paina ESC.",legend:[{name:"Yleinen",items:[{name:"Editorin työkalupalkki",legend:"Paina ${toolbarFocus} siirtyäksesi työkalupalkkiin. Siirry seuraavaan ja edelliseen työkalupalkin ryhmään TAB ja SHIFT+TAB näppäimillä. Siirry seuraavaan ja edelliseen työkalupainikkeeseen käyttämällä NUOLI OIKEALLE tai NUOLI VASEMMALLE näppäimillä. Paina VÄLILYÖNTI tai ENTER näppäintä aktivoidaksesi työkalupainikkeen."}, +{name:"Editorin dialogi",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Editorin oheisvalikko",legend:"Paina ${contextMenu} tai SOVELLUSPAINIKETTA avataksesi oheisvalikon. Liiku seuraavaan valikon vaihtoehtoon TAB tai NUOLI ALAS näppäimillä. Siirry edelliseen vaihtoehtoon SHIFT+TAB tai NUOLI YLÖS näppäimillä. Paina VÄLILYÖNTI tai ENTER valitaksesi valikon kohdan. Avataksesi nykyisen kohdan alivalikon paina VÄLILYÖNTI tai ENTER tai NUOLI OIKEALLE painiketta. Siirtyäksesi takaisin valikon ylemmälle tasolle paina ESC tai NUOLI vasemmalle. Oheisvalikko suljetaan ESC painikkeella."}, +{name:"Editorin listalaatikko",legend:"Listalaatikon sisällä siirry seuraavaan listan kohtaan TAB tai NUOLI ALAS painikkeilla. Siirry edelliseen listan kohtaan SHIFT+TAB tai NUOLI YLÖS painikkeilla. Paina VÄLILYÖNTI tai ENTER valitaksesi listan vaihtoehdon. Paina ESC sulkeaksesi listalaatikon."},{name:"Editorin elementtipolun palkki",legend:"Paina ${elementsPathFocus} siirtyäksesi elementtipolun palkkiin. Siirry seuraavaan elementtipainikkeeseen TAB tai NUOLI OIKEALLE painikkeilla. Siirry aiempaan painikkeeseen SHIFT+TAB tai NUOLI VASEMMALLE painikkeilla. Paina VÄLILYÖNTI tai ENTER valitaksesi elementin editorissa."}]}, +{name:"Komennot",items:[{name:"Peruuta komento",legend:"Paina ${undo}"},{name:"Tee uudelleen komento",legend:"Paina ${redo}"},{name:"Lihavoi komento",legend:"Paina ${bold}"},{name:"Kursivoi komento",legend:"Paina ${italic}"},{name:"Alleviivaa komento",legend:"Paina ${underline}"},{name:"Linkki komento",legend:"Paina ${link}"},{name:"Pienennä työkalupalkki komento",legend:"Paina ${toolbarCollapse}"},{name:"Siirry aiempaan fokustilaan komento",legend:"Paina ${accessPreviousSpace} siiryäksesi lähimpään kursorin edellä olevaan saavuttamattomaan fokustilaan, esimerkiksi: kaksi vierekkäistä HR elementtiä. Toista näppäinyhdistelmää päästäksesi kauempana oleviin fokustiloihin."}, +{name:"Siirry seuraavaan fokustilaan komento",legend:"Paina ${accessPreviousSpace} siiryäksesi lähimpään kursorin jälkeen olevaan saavuttamattomaan fokustilaan, esimerkiksi: kaksi vierekkäistä HR elementtiä. Toista näppäinyhdistelmää päästäksesi kauempana oleviin fokustiloihin."},{name:"Saavutettavuus ohjeet",legend:"Paina ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape", +pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numeronäppäimistö 0",numpad1:"Numeronäppäimistö 1",numpad2:"Numeronäppäimistö 2",numpad3:"Numeronäppäimistö 3",numpad4:"Numeronäppäimistö 4",numpad5:"Numeronäppäimistö 5",numpad6:"Numeronäppäimistö 6",numpad7:"Numeronäppäimistö 7",numpad8:"Numeronäppäimistö 8", +numpad9:"Numeronäppäimistö 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Puolipiste",equalSign:"Equal Sign",comma:"Pilkku",dash:"Dash",period:"Piste",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","hi",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"सामान्य",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", +legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/da.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/da.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/da.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","da",{title:"Tilgængelighedsinstrukser",contents:"Onlinehjælp. For at lukke dette vindue klik ESC",legend:[{name:"Generelt",items:[{name:"Editor værktøjslinje",legend:"Tryk ${toolbarFocus} for at navigere til værktøjslinjen. Flyt til næste eller forrige værktøjsline gruppe ved hjælp af TAB eller SHIFT+TAB. Flyt til næste eller forrige værktøjslinje knap med venstre- eller højre piltast. Tryk på SPACE eller ENTER for at aktivere værktøjslinje knappen."},{name:"Editor dialogboks", +legend:"Inde i en dialogboks kan du, trykke på TAB for at navigere til næste element, trykke på SHIFT+TAB for at navigere til forrige element, trykke på ENTER for at afsende eller trykke på ESC for at lukke dialogboksen.\r\nNår en dialogboks har flere faner, fanelisten kan tilgås med ALT+F10 eller med TAB. Hvis fanelisten er i fokus kan du skifte til næste eller forrige tab, med højre- og venstre piltast."},{name:"Redaktør kontekstmenu",legend:"Tryk ${contextMenu} eller APPLICATION KEY for at åbne kontekstmenuen. Flyt derefter til næste menuvalg med TAB eller PIL NED. Flyt til forrige valg med SHIFT+TAB eller PIL OP. Tryk MELLEMRUM eller RETUR for at vælge menu-muligheder. Åben under-menu af aktuelle valg med MELLEMRUM eller RETUR eller HØJRE PIL. Gå tilbage til overliggende menu-emne med ESC eller VENSTRE PIL. Luk kontekstmenu med ESC."}, +{name:"Redaktør listeboks",legend:"Flyt til næste emne med TAB eller PIL NED inde i en listeboks. Flyt til forrige listeemne med SHIFT+TAB eller PIL OP. Tryk MELLEMRUM eller RETUR for at vælge liste-muligheder. Tryk ESC for at lukke liste-boksen."},{name:"Redaktør elementsti-bar",legend:"Tryk ${elementsPathFocus} for at navigere til elementernes sti-bar. Flyt til næste element-knap med TAB eller HØJRE PIL. Flyt til forrige knap med SHIFT+TAB eller VENSTRE PIL. Klik MELLEMRUM eller RETUR for at vælge element i editoren."}]}, +{name:"Kommandoer",items:[{name:"Fortryd kommando",legend:"Klik på ${undo}"},{name:"Gentag kommando",legend:"Klik ${redo}"},{name:"Fed kommando",legend:"Klik ${bold}"},{name:"Kursiv kommando",legend:"Klik ${italic}"},{name:"Understregnings kommando",legend:"Klik ${underline}"},{name:"Link kommando",legend:"Klik ${link}"},{name:"Klap værktøjslinje sammen kommando ",legend:"Klik ${toolbarCollapse}"},{name:"Adgang til forrige fokusområde kommando",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:"Tilgængelighedshjælp",legend:"Kilk ${a11yHelp}"},{name:"Indsæt som ren tekst",legend:"Klik ${pastetext}",legendEdge:"Klik ${pastetext}, efterfult af ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down", +leftArrow:"Venstre pil",upArrow:"Pil op",rightArrow:"Højre pil",downArrow:"Pil ned",insert:"Insert",leftWindowKey:"Venstre Windows tast",rightWindowKey:"Højre Windows tast",selectKey:"Select-knap",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Gange",add:"Plus",subtract:"Minus",decimalPoint:"Komma",divide:"Divider",f1:"F1",f2:"F2",f3:"F3",f4:"F4", +f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semikolon",equalSign:"Lighedstegn",comma:"Komma",dash:"Bindestreg",period:"Punktum",forwardSlash:"Skråstreg",graveAccent:"Accent grave",openBracket:"Start klamme",backSlash:"Omvendt skråstreg",closeBracket:"Slut klamme",singleQuote:"Enkelt citationstegn"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/da.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","fa",{title:"دستورالعمل‌های دسترسی",contents:"راهنمای فهرست مطالب. برای بستن این کادر محاوره‌ای ESC را فشار دهید.",legend:[{name:"عمومی",items:[{name:"نوار ابزار ویرایشگر",legend:"${toolbarFocus} را برای باز کردن نوار ابزار بفشارید. با کلید Tab و Shift+Tab در مجموعه نوار ابزار بعدی و قبلی حرکت کنید. برای حرکت در کلید نوار ابزار قبلی و بعدی با کلید جهت‌نمای راست و چپ جابجا شوید. کلید Space یا Enter را برای فعال کردن کلید نوار ابزار بفشارید."},{name:"پنجره محاورهای ویرایشگر", +legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"منوی متنی ویرایشگر",legend:"${contextMenu} یا کلید برنامههای کاربردی را برای باز کردن منوی متن را بفشارید. سپس میتوانید برای حرکت به گزینه بعدی منو با کلید Tab و یا کلید جهتنمای پایین جابجا شوید. حرکت به گزینه قبلی با Shift+Tab یا کلید جهتنمای بالا. فشردن Space یا Enter برای انتخاب یک گزینه از منو. باز کردن زیر شاخه گزینه منو جاری با کلید Space یا Enter و یا کلید جهتنمای راست و چپ. بازگشت به منوی والد با کلید Esc یا کلید جهتنمای چپ. بستن منوی متن با Esc."}, +{name:"جعبه فهرست ویرایشگر",legend:"در داخل جعبه لیست، قلم دوم از اقلام لیست بعدی را با TAB و یا Arrow Down حرکت دهید. انتقال به قلم دوم از اقلام لیست قبلی را با SHIFT + TAB یا UP ARROW. کلید Space یا ENTER را برای انتخاب گزینه لیست بفشارید. کلید ESC را برای بستن جعبه لیست بفشارید."},{name:"ویرایشگر عنصر نوار راه",legend:"برای رفتن به مسیر عناصر ${elementsPathFocus} را بفشارید. حرکت به کلید عنصر بعدی با کلید Tab یا کلید جهت‌نمای راست. برگشت به کلید قبلی با Shift+Tab یا کلید جهت‌نمای چپ. فشردن Space یا Enter برای انتخاب یک عنصر در ویرایشگر."}]}, +{name:"فرمان‌ها",items:[{name:"بازگشت به آخرین فرمان",legend:"فشردن ${undo}"},{name:"انجام مجدد فرمان",legend:"فشردن ${redo}"},{name:"فرمان درشت کردن متن",legend:"فشردن ${bold}"},{name:"فرمان کج کردن متن",legend:"فشردن ${italic}"},{name:"فرمان زیرخطدار کردن متن",legend:"فشردن ${underline}"},{name:"فرمان پیوند دادن",legend:"فشردن ${link}"},{name:"بستن نوار ابزار فرمان",legend:"فشردن ${toolbarCollapse}"},{name:"دسترسی به فرمان محل تمرکز قبلی",legend:"فشردن ${accessPreviousSpace} برای دسترسی به نزدیک‌ترین فضای قابل دسترسی تمرکز قبل از هشتک، برای مثال: دو عنصر مجاور HR -خط افقی-. تکرار کلید ترکیبی برای رسیدن به فضاهای تمرکز از راه دور."}, +{name:"دسترسی به فضای دستور بعدی",legend:"برای دسترسی به نزدیک‌ترین فضای تمرکز غیر قابل دسترس، ${accessNextSpace} را پس از علامت هشتک بفشارید، برای مثال: دو عنصر مجاور HR -خط افقی-. کلید ترکیبی را برای رسیدن به فضای تمرکز تکرار کنید."},{name:"راهنمای دسترسی",legend:"فشردن ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"برگه",pause:"توقف",capslock:"Caps Lock",escape:"گریز",pageUp:"صفحه به بالا",pageDown:"صفحه به پایین", +leftArrow:"پیکان چپ",upArrow:"پیکان بالا",rightArrow:"پیکان راست",downArrow:"پیکان پایین",insert:"ورود",leftWindowKey:"کلید چپ ویندوز",rightWindowKey:"کلید راست ویندوز",selectKey:"انتخاب کلید",numpad0:"کلید شماره 0",numpad1:"کلید شماره 1",numpad2:"کلید شماره 2",numpad3:"کلید شماره 3",numpad4:"کلید شماره 4",numpad5:"کلید شماره 5",numpad6:"کلید شماره 6",numpad7:"کلید شماره 7",numpad8:"کلید شماره 8",numpad9:"کلید شماره 9",multiply:"ضرب",add:"افزودن",subtract:"تفریق",decimalPoint:"نقطه‌ی اعشار",divide:"جدا کردن", +f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"علامت تساوی",comma:"کاما",dash:"خط تیره",period:"دوره",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js (revision 7) @@ -0,0 +1,9 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","ja",{title:"ユーザー補助の説明",contents:"ヘルプ このダイアログを閉じるには ESCを押してください。",legend:[{name:"全般",items:[{name:"エディターツールバー",legend:"${toolbarFocus} を押すとツールバーのオン/オフ操作ができます。カーソルをツールバーのグループで移動させるにはTabかSHIFT+Tabを押します。グループ内でカーソルを移動させるには、右カーソルか左カーソルを押します。スペースキーやエンターを押すとボタンを有効/無効にすることができます。"},{name:"編集ダイアログ",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"エディターのメニュー",legend:"${contextMenu} キーかAPPLICATION KEYを押すとコンテキストメニューが開きます。Tabか下カーソルでメニューのオプション選択が下に移動します。戻るには、SHIFT+Tabか上カーソルです。スペースもしくはENTERキーでメニューオプションを決定できます。現在選んでいるオプションのサブメニューを開くには、スペース、もしくは右カーソルを押します。サブメニューから親メニューに戻るには、ESCか左カーソルを押してください。ESCでコンテキストメニュー自体をキャンセルできます。"},{name:"エディターリストボックス",legend:"リストボックス内で移動するには、Tabか下カーソルで次のアイテムへ移動します。SHIFT+Tabで前のアイテムに戻ります。リストのオプションを選択するには、スペースもしくは、ENTERを押してください。リストボックスを閉じるには、ESCを押してください。"},{name:"エディター要素パスバー",legend:"${elementsPathFocus} を押すとエレメントパスバーを操作出来ます。Tabか右カーソルで次のエレメントを選択できます。前のエレメントを選択するには、SHIFT+Tabか左カーソルです。スペースもしくは、ENTERでエディタ内の対象エレメントを選択出来ます。"}]}, +{name:"コマンド",items:[{name:"元に戻す",legend:"${undo} をクリック"},{name:"やり直し",legend:"${redo} をクリック"},{name:"太字",legend:"${bold} をクリック"},{name:"斜体 ",legend:"${italic} をクリック"},{name:"下線",legend:"${underline} をクリック"},{name:"リンク",legend:"${link} をクリック"},{name:"ツールバーをたたむ",legend:"${toolbarCollapse} をクリック"},{name:"前のカーソル移動のできないポイントへ",legend:"${accessPreviousSpace} を押すとカーソルより前にあるカーソルキーで入り込めないスペースへ移動できます。例えば、HRエレメントが2つ接している場合などです。離れた場所へは、複数回キーを押します。"},{name:"次のカーソルポイントへ移動する",legend:"${accessNextSpace} を押すとカーソルより後ろにあるカーソルキーで入り込めないスペースへ移動できます。例えば、HRエレメントが2つ接している場合などです。離れた場所へは、複数回キーを押します。"}, +{name:"ユーザー補助ヘルプ",legend:"${a11yHelp} をクリック"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"左矢印",upArrow:"上矢印",rightArrow:"右矢印",downArrow:"下矢印",insert:"Insert",leftWindowKey:"左Windowキー",rightWindowKey:"右のWindowキー",selectKey:"Select",numpad0:"Num 0",numpad1:"Num 1",numpad2:"Num 2",numpad3:"Num 3",numpad4:"Num 4",numpad5:"Num 5", +numpad6:"Num 6",numpad7:"Num 7",numpad8:"Num 8",numpad9:"Num 9",multiply:"掛ける",add:"足す",subtract:"引く",decimalPoint:"小数点",divide:"割る",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"セミコロン",equalSign:"イコール記号",comma:"カンマ",dash:"ダッシュ",period:"ピリオド",forwardSlash:"フォワードスラッシュ",graveAccent:"グレイヴアクセント",openBracket:"開きカッコ",backSlash:"バックスラッシュ",closeBracket:"閉じカッコ",singleQuote:"シングルクォート"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","vi",{title:"Hướng dẫn trợ năng",contents:"Nội dung Hỗ trợ. Nhấn ESC để đóng hộp thoại.",legend:[{name:"Chung",items:[{name:"Thanh công cụ soạn thảo",legend:"Nhấn ${toolbarFocus} để điều hướng đến thanh công cụ. Nhấn TAB và SHIFT+TAB để chuyển đến nhóm thanh công cụ khác. Nhấn MŨI TÊN PHẢI hoặc MŨI TÊN TRÁI để chuyển sang nút khác trên thanh công cụ. Nhấn PHÍM CÁCH hoặc ENTER để kích hoạt nút trên thanh công cụ."},{name:"Hộp thoại Biên t",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Trình đơn Ngữ cảnh cBộ soạn thảo",legend:"Nhấn ${contextMenu} hoặc PHÍM ỨNG DỤNG để mở thực đơn ngữ cảnh. Sau đó nhấn TAB hoặc MŨI TÊN XUỐNG để di chuyển đến tuỳ chọn tiếp theo của thực đơn. Nhấn SHIFT+TAB hoặc MŨI TÊN LÊN để quay lại tuỳ chọn trước. Nhấn DẤU CÁCH hoặc ENTER để chọn tuỳ chọn của thực đơn. Nhấn DẤU CÁCH hoặc ENTER hoặc MŨI TÊN SANG PHẢI để mở thực đơn con của tuỳ chọn hiện tại. Nhấn ESC hoặc MŨI TÊN SANG TRÁI để quay trở lại thực đơn gốc. Nhấn ESC để đóng thực đơn ngữ cảnh."}, +{name:"Hộp danh sách trình biên tập",legend:"Trong một danh sách chọn, di chuyển đối tượng tiếp theo với phím TAB hoặc phím mũi tên hướng xuống. Di chuyển đến đối tượng trước đó bằng cách nhấn tổ hợp phím SHIFT+TAB hoặc mũi tên hướng lên. Phím khoảng cách hoặc phím ENTER để chọn các tùy chọn trong danh sách. Nhấn phím ESC để đóng lại danh sách chọn."},{name:"Thanh đường dẫn các đối tượng",legend:"Nhấn ${elementsPathFocus} để điều hướng các đối tượng trong thanh đường dẫn. Di chuyển đến đối tượng tiếp theo bằng phím TAB hoặc phím mũi tên bên phải. Di chuyển đến đối tượng trước đó bằng tổ hợp phím SHIFT+TAB hoặc phím mũi tên bên trái. Nhấn phím khoảng cách hoặc ENTER để chọn đối tượng trong trình soạn thảo."}]}, +{name:"Lệnh",items:[{name:"Làm lại lện",legend:"Ấn ${undo}"},{name:"Làm lại lệnh",legend:"Ấn ${redo}"},{name:"Lệnh in đậm",legend:"Ấn ${bold}"},{name:"Lệnh in nghiêng",legend:"Ấn ${italic}"},{name:"Lệnh gạch dưới",legend:"Ấn ${underline}"},{name:"Lệnh liên kết",legend:"Nhấn ${link}"},{name:"Lệnh hiển thị thanh công cụ",legend:"Nhấn${toolbarCollapse}"},{name:"Truy cập đến lệnh tập trung vào khoảng cách trước đó",legend:"Ấn ${accessPreviousSpace} để truy cập đến phần tập trung khoảng cách sau phần còn sót lại của khoảng cách gần nhất vốn không tác động đến được , thí dụ: hai yếu tố điều chỉnh HR. Lặp lại các phím kết họep này để vươn đến phần khoảng cách."}, +{name:"Truy cập phần đối tượng lệnh khoảng trống",legend:"Ấn ${accessNextSpace} để truy cập đến phần tập trung khoảng cách sau phần còn sót lại của khoảng cách gần nhất vốn không tác động đến được , thí dụ: hai yếu tố điều chỉnh HR. Lặp lại các phím kết họep này để vươn đến phần khoảng cách."},{name:"Trợ giúp liên quan",legend:"Nhấn ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Phím Tab",pause:"Phím Pause",capslock:"Phím Caps Lock", +escape:"Phím Escape",pageUp:"Phím Page Up",pageDown:"Phím Page Down",leftArrow:"Phím Left Arrow",upArrow:"Phím Up Arrow",rightArrow:"Phím Right Arrow",downArrow:"Phím Down Arrow",insert:"Chèn",leftWindowKey:"Phím Left Windows",rightWindowKey:"Phím Right Windows ",selectKey:"Chọn phím",numpad0:"Phím 0",numpad1:"Phím 1",numpad2:"Phím 2",numpad3:"Phím 3",numpad4:"Phím 4",numpad5:"Phím 5",numpad6:"Phím 6",numpad7:"Phím 7",numpad8:"Phím 8",numpad9:"Phím 9",multiply:"Nhân",add:"Thêm",subtract:"Trừ",decimalPoint:"Điểm số thập phân", +divide:"Chia",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Dấu chấm phẩy",equalSign:"Đăng nhập bằng",comma:"Dấu phẩy",dash:"Dấu gạch ngang",period:"Phím .",forwardSlash:"Phím /",graveAccent:"Phím `",openBracket:"Open Bracket",backSlash:"Dấu gạch chéo ngược",closeBracket:"Gần giá đỡ",singleQuote:"Trích dẫn"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","sr-latn",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"Opšte",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", +legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/th.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/th.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/th.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","th",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"ทั่วไป",items:[{name:"แถบเครื่องมือสำหรับเครื่องมือช่วยพิมพ์",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"คำสั่ง",items:[{name:"เลิกทำคำสั่ง",legend:"วาง ${undo}"},{name:"คำสั่งสำหรับทำซ้ำ",legend:"วาง ${redo}"},{name:"คำสั่งสำหรับตัวหนา",legend:"วาง ${bold}"},{name:"คำสั่งสำหรับตัวเอียง",legend:"วาง ${italic}"},{name:"คำสั่งสำหรับขีดเส้นใต้", +legend:"วาง ${underline}"},{name:"คำสั่งสำหรับลิงก์",legend:"วาง ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/th.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js (revision 7) @@ -0,0 +1,9 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","zh",{title:"輔助工具指南",contents:"說明內容。若要關閉此對話框請按「ESC」。",legend:[{name:"一般",items:[{name:"編輯器工具列",legend:"請按 ${toolbarFocus} 以導覽到工具列。利用 TAB 或 SHIFT+TAB 以便移動到下一個及前一個工具列群組。利用右方向鍵或左方向鍵以便移動到下一個及上一個工具列按鈕。按下空白鍵或 ENTER 鍵啟用工具列按鈕。"},{name:"編輯器對話方塊",legend:"在對話框中,按下 TAB 鍵以導覽到下一個對話框元素,按下 SHIFT+TAB 以移動到上一個對話框元素,按下 ENTER 以遞交對話框,按下 ESC 以取消對話框。當對話框有多個分頁時,可以使用 ALT+F10 或是在對話框分頁順序中的一部份按下 TAB 以使用分頁列表。焦點在分頁列表上時,分別使用右方向鍵及左方向鍵移動到下一個及上一個分頁。"},{name:"編輯器內容功能表",legend:"請按下「${contextMenu}」或是「應用程式鍵」以開啟內容選單。以「TAB」或是「↓」鍵移動到下一個選單選項。以「SHIFT + TAB」或是「↑」鍵移動到上一個選單選項。按下「空白鍵」或是「ENTER」鍵以選取選單選項。以「空白鍵」或「ENTER」或「→」開啟目前選項之子選單。以「ESC」或「←」回到父選單。以「ESC」鍵關閉內容選單」。"}, +{name:"編輯器清單方塊",legend:"在清單方塊中,使用 TAB 或下方向鍵移動到下一個列表項目。使用 SHIFT+TAB 或上方向鍵移動到上一個列表項目。按下空白鍵或 ENTER 以選取列表選項。按下 ESC 以關閉清單方塊。"},{name:"編輯器元件路徑工具列",legend:"請按 ${elementsPathFocus} 以瀏覽元素路徑列。利用 TAB 或右方向鍵以便移動到下一個元素按鈕。利用 SHIFT 或左方向鍵以便移動到上一個按鈕。按下空白鍵或 ENTER 鍵來選取在編輯器中的元素。"}]},{name:"命令",items:[{name:"復原命令",legend:"請按下「${undo}」"},{name:"重複命令",legend:"請按下「 ${redo}」"},{name:"粗體命令",legend:"請按下「${bold}」"},{name:"斜體",legend:"請按下「${italic}」"},{name:"底線命令",legend:"請按下「${underline}」"},{name:"連結",legend:"請按下「${link}」"}, +{name:"隱藏工具列",legend:"請按下「${toolbarCollapse}」"},{name:"存取前一個焦點空間命令",legend:"請按下 ${accessPreviousSpace} 以存取最近但無法靠近之插字符號前的焦點空間。舉例:二個相鄰的 HR 元素。\r\n重複按鍵以存取較遠的焦點空間。"},{name:"存取下一個焦點空間命令",legend:"請按下 ${accessNextSpace} 以存取最近但無法靠近之插字符號後的焦點空間。舉例:二個相鄰的 HR 元素。\r\n重複按鍵以存取較遠的焦點空間。"},{name:"協助工具說明",legend:"請按下「${a11yHelp}」"},{name:"以純文字貼上",legend:"按 ${pastetext}",legendEdge:"按 ${pastetext},再來是 ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Esc",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"向左箭號", +upArrow:"向上鍵號",rightArrow:"向右鍵號",downArrow:"向下鍵號",insert:"插入",leftWindowKey:"左方 Windows 鍵",rightWindowKey:"右方 Windows 鍵",selectKey:"選擇鍵",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"乘號",add:"新增",subtract:"減號",decimalPoint:"小數點",divide:"除號",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock", +scrollLock:"Scroll Lock",semiColon:"分號",equalSign:"等號",comma:"逗號",dash:"虛線",period:"句點",forwardSlash:"斜線",graveAccent:"抑音符號",openBracket:"左方括號",backSlash:"反斜線",closeBracket:"右方括號",singleQuote:"單引號"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","eo",{title:"Uzindikoj pri atingeblo",contents:"Helpilenhavo. Por fermi tiun dialogon, premu la ESKAPAN klavon.",legend:[{name:"Ĝeneralaĵoj",items:[{name:"Ilbreto de la redaktilo",legend:"Premu ${toolbarFocus} por atingi la ilbreton. Moviĝu al la sekva aŭ antaŭa grupoj de la ilbreto per la klavoj TABA kaj MAJUSKLIGA+TABA. Moviĝu al la sekva aŭ antaŭa butonoj de la ilbreto per la klavoj SAGO DEKSTREN kaj SAGO MALDEKSTREN. Premu la SPACETklavon aŭ la ENENklavon por aktivigi la ilbretbutonon."}, +{name:"Redaktildialogo",legend:"En dialogo, premu la TABAN klavon por navigi al la sekva dialogelemento, premu la MAJUSKLIGAN+TABAN klavon por iri al la antaŭa dialogelemento, premu la ENEN klavon por sendi la dialogon, premu la ESKAPAN klavon por nuligi la dialogon. Kiam dialogo havas multajn langetojn, eblas atingi la langetliston aŭ per ALT+F10 aŭ per la TABA klavo kiel parton de la dialoga taba ordo. En langetlisto, moviĝu al la sekva kaj antaŭa langeto per la klavoj SAGO DEKSTREN KAJ MALDEKSTREN respektive."}, +{name:"Kunteksta menuo de la redaktilo",legend:"Premu ${contextMenu} aŭ entajpu la KLAVKOMBINAĴON por malfermi la kuntekstan menuon. Poste moviĝu al la sekva opcio de la menuo per la klavoj TABA aŭ SAGO SUBEN. Moviĝu al la antaŭa opcio per la klavoj MAJUSKLGA + TABA aŭ SAGO SUPREN. Premu la SPACETklavon aŭ ENENklavon por selekti la menuopcion. Malfermu la submenuon de la kuranta opcio per la SPACETklavo aŭ la ENENklavo aŭ la SAGO DEKSTREN. Revenu al la elemento de la patra menuo per la klavoj ESKAPA aŭ SAGO MALDEKSTREN. Fermu la kuntekstan menuon per la ESKAPA klavo."}, +{name:"Fallisto de la redaktilo",legend:"En fallisto, moviĝu al la sekva listelemento per la klavoj TABA aŭ SAGO SUBEN. Moviĝu al la antaŭa listelemento per la klavoj MAJUSKLIGA+TABA aŭ SAGO SUPREN. Premu la SPACETklavon aŭ ENENklavon por selekti la opcion en la listo. Premu la ESKAPAN klavon por fermi la falmenuon."},{name:"Breto indikanta la vojon al la redaktilelementoj",legend:"Premu ${elementsPathFocus} por navigi al la breto indikanta la vojon al la redaktilelementoj. Moviĝu al la butono de la sekva elemento per la klavoj TABA aŭ SAGO DEKSTREN. Moviĝu al la butono de la antaŭa elemento per la klavoj MAJUSKLIGA+TABA aŭ SAGO MALDEKSTREN. Premu la SPACETklavon aŭ ENENklavon por selekti la elementon en la redaktilo."}]}, +{name:"Komandoj",items:[{name:"Komando malfari",legend:"Premu ${undo}"},{name:"Komando refari",legend:"Premu ${redo}"},{name:"Komando grasa",legend:"Premu ${bold}"},{name:"Komando kursiva",legend:"Premu ${italic}"},{name:"Komando substreki",legend:"Premu ${underline}"},{name:"Komando ligilo",legend:"Premu ${link}"},{name:"Komando faldi la ilbreton",legend:"Premu ${toolbarCollapse}"},{name:"Komando por atingi la antaŭan fokusan spacon",legend:"Press ${accessPreviousSpace} por atingi la plej proksiman neatingeblan fokusan spacon antaŭ la kursoro, ekzemple : du kuntuŝiĝajn HR elementojn. Ripetu la klavkombinaĵon por atingi malproksimajn fokusajn spacojn."}, +{name:"Komando por atingi la sekvan fokusan spacon",legend:"Press ${accessNextSpace} por atingi la plej proksiman neatingeblan fokusan spacon post la kursoro, ekzemple : du kuntuŝiĝajn HR elementojn. Ripetu la klavkombinajôn por atingi malproksimajn fokusajn spacojn"},{name:"Helpilo pri atingeblo",legend:"Premu ${a11yHelp}"},{name:"Algluu kiel platan tekston",legend:"Presu ${pastetext}",legendEdge:"Presu ${pastetext}, sekvatan de ${paste}"}]}],tab:"Tabo",pause:"Paŭzo",capslock:"Majuskla baskulo", +escape:"Eskapa klavo",pageUp:"Antaŭa Paĝo",pageDown:"Sekva Paĝo",leftArrow:"Sago Maldekstren",upArrow:"Sago Supren",rightArrow:"Sago Dekstren",downArrow:"Sago Suben",insert:"Enmeti",leftWindowKey:"Maldekstra Windows-klavo",rightWindowKey:"Dekstra Windows-klavo",selectKey:"Selektklavo",numpad0:"Nombra Klavaro 0",numpad1:"Nombra Klavaro 1",numpad2:"Nombra Klavaro 2",numpad3:"Nombra Klavaro 3",numpad4:"Nombra Klavaro 4",numpad5:"Nombra Klavaro 5",numpad6:"Nombra Klavaro 6",numpad7:"Nombra Klavaro 7", +numpad8:"Nombra Klavaro 8",numpad9:"Nombra Klavaro 9",multiply:"Obligi",add:"Almeti",subtract:"Subtrahi",decimalPoint:"Dekuma Punkto",divide:"Dividi",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Nombra Baskulo",scrollLock:"Ruluma Baskulo",semiColon:"Punktokomo",equalSign:"Egalsigno",comma:"Komo",dash:"Haltostreko",period:"Punkto",forwardSlash:"Oblikvo",graveAccent:"Malakuto",openBracket:"Malferma Krampo",backSlash:"Retroklino",closeBracket:"Ferma Krampo", +singleQuote:"Citilo"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js (revision 7) @@ -0,0 +1,10 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","ko",{title:"접근성 설명",contents:"도움말. 이 창을 닫으시려면 ESC 를 누르세요.",legend:[{name:"일반",items:[{name:"편집기 툴바",legend:"툴바를 탐색하시려면 ${toolbarFocus} 를 투르세요. 이전/다음 툴바 그룹으로 이동하시려면 TAB 키 또는 SHIFT+TAB 키를 누르세요. 이전/다음 툴바 버튼으로 이동하시려면 오른쪽 화살표 키 또는 왼쪽 화살표 키를 누르세요. 툴바 버튼을 활성화 하려면 SPACE 키 또는 ENTER 키를 누르세요."},{name:"편집기 다이얼로그",legend:"TAB 키를 누르면 다음 대화상자로 이동하고, SHIFT+TAB 키를 누르면 이전 대화상자로 이동합니다. 대화상자를 제출하려면 ENTER 키를 누르고, ESC 키를 누르면 대화상자를 취소합니다. 대화상자에 탭이 여러개 있을 때, ALT+F10 키 또는 TAB 키를 누르면 순서에 따라 탭 목록에 도달할 수 있습니다. 탭 목록에 초점이 맞을 때, 오른쪽과 왼쪽 화살표 키를 이용하면 각각 다음과 이전 탭으로 이동할 수 있습니다."}, +{name:"편집기 환경 메뉴",legend:"${contextMenu} 또는 어플리케이션 키를 누르면 환경-메뉴를 열 수 있습니다. 환경-메뉴에서 TAB 키 또는 아래 화살표 키를 누르면 다음 메뉴 옵션으로 이동할 수 있습니다. 이전 옵션으로 이동은 SHIFT+TAB 키 또는 위 화살표 키를 눌러서 할 수 있습니다. 스페이스 키 또는 ENTER 키를 눌러서 메뉴 옵션을 선택할 수 있습니다. 스페이스 키 또는 ENTER 키 또는 오른쪽 화살표 키를 눌러서 하위 메뉴를 열 수 있습니다. 부모 메뉴 항목으로 돌아가려면 ESC 키 또는 왼쪽 화살표 키를 누릅니다. ESC 키를 눌러서 환경-메뉴를 닫습니다."},{name:"편집기 목록 박스",legend:"리스트-박스 내에서, 목록의 다음 항목으로 이동하려면 TAB 키 또는 아래쪽 화살표 키를 누릅니다. 목록의 이전 항목으로 이동하려면 SHIFT+TAB 키 또는 위쪽 화살표 키를 누릅니다. 스페이스 키 또는 ENTER 키를 누르면 목록의 해당 옵션을 선택합니다. ESC 키를 눌러서 리스트-박스를 닫을 수 있습니다."}, +{name:"편집기 요소 경로 막대",legend:"${elementsPathFocus}를 눌러서 요소 경로 막대를 탐색할 수 있습니다. 다음 요소로 이동하려면 TAB 키 또는 오른쪽 화살표 키를 누릅니다. SHIFT+TAB 키 또는 왼쪽 화살표 키를 누르면 이전 버튼으로 이동할 수 있습니다. 스페이스 키나 ENTER 키를 누르면 편집기의 해당 항목을 선택합니다."}]},{name:"명령",items:[{name:" 명령 실행 취소",legend:"${undo} 누르시오"},{name:" 명령 다시 실행",legend:"${redo} 누르시오"},{name:" 굵게 명령",legend:"${bold} 누르시오"},{name:" 기울임 꼴 명령",legend:"${italic} 누르시오"},{name:" 밑줄 명령",legend:"${underline} 누르시오"},{name:" 링크 명령",legend:"${link} 누르시오"},{name:" 툴바 줄이기 명령",legend:"${toolbarCollapse} 누르시오"}, +{name:" 이전 포커스 공간 접근 명령",legend:"탈자 기호(^) 이전에 ${accessPreviousSpace} 를 누르면, 접근 불가능하면서 가장 가까운 포커스 영역에 접근합니다. 예를 들면, 두 인접한 HR 요소가 있습니다. 키 조합을 반복해서 멀리있는 포커스 영역들에 도달할 수 있습니다."},{name:"다음 포커스 공간 접근 명령",legend:"탈자 기호(^) 다음에 ${accessNextSpace} 를 누르면, 접근 불가능하면서 가장 가까운 포커스 영역에 접근합니다. 예를 들면, 두 인접한 HR 요소가 있습니다. 키 조합을 반복해서 멀리있는 포커스 영역들에 도달할 수 있습니다. "},{name:" 접근성 도움말",legend:"${a11yHelp} 누르시오"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}], +tab:"탭 키",pause:"일시정지 키",capslock:"캡스 록 키",escape:"이스케이프 키",pageUp:"페이지 업 키",pageDown:"페이지 다운 키",leftArrow:"왼쪽 화살표 키",upArrow:"위쪽 화살표 키",rightArrow:"오른쪽 화살표 키",downArrow:"아래쪽 화살표 키",insert:"인서트 키",leftWindowKey:"왼쪽 윈도우 키",rightWindowKey:"오른쪽 윈도우 키",selectKey:"셀렉트 키",numpad0:"숫자 패드 0 키",numpad1:"숫자 패드 1 키",numpad2:"숫자 패드 2 키",numpad3:"숫자 패드 3 키",numpad4:"숫자 패드 4 키",numpad5:"숫자 패드 5 키",numpad6:"숫자 패드 6 키",numpad7:"숫자 패드 7 키",numpad8:"숫자 패드 8 키",numpad9:"숫자 패드 9 키",multiply:"곱셈(*) 키",add:"덧셈(+) 키",subtract:"뺄셈(-) 키", +decimalPoint:"온점(.) 키",divide:"나눗셈(/) 키",f1:"F1 키",f2:"F2 키",f3:"F3 키",f4:"F4 키",f5:"F5 키",f6:"F6 키",f7:"F7 키",f8:"F8 키",f9:"F9 키",f10:"F10 키",f11:"F11 키",f12:"F12 키",numLock:"Num Lock 키",scrollLock:"Scroll Lock 키",semiColon:"세미콜론(;) 키",equalSign:"등호(\x3d) 키",comma:"쉼표(,) 키",dash:"대시(-) 키",period:"온점(.) 키",forwardSlash:"슬래시(/) 키",graveAccent:"억음 악센트(`) 키",openBracket:"브라켓 열기([) 키",backSlash:"역슬래시(\\\\) 키",closeBracket:"브라켓 닫기(]) 키",singleQuote:"외 따옴표(') 키"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","en-au",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"General",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", +legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","ug",{title:"قوشۇمچە چۈشەندۈرۈش",contents:"ياردەم مەزمۇنى. بۇ سۆزلەشكۈنى ياپماقچى بولسىڭىز ESC نى بېسىڭ.",legend:[{name:"ئادەتتىكى",items:[{name:"قورال بالداق تەھرىر",legend:"${toolbarFocus} بېسىلسا قورال بالداققا يېتەكلەيدۇ، TAB ياكى SHIFT+TAB ئارقىلىق قورال بالداق گۇرۇپپىسى تاللىنىدۇ، ئوڭ سول يا ئوقتا توپچا تاللىنىدۇ، بوشلۇق ياكى Enter كۇنۇپكىسىدا تاللانغان توپچىنى قوللىنىدۇ."},{name:"تەھرىرلىگۈچ سۆزلەشكۈسى",legend:"سۆزلەشكۈدە TAB كۇنۇپكىسىدا كېيىنكى سۆز بۆلىكىگە يۆتكىلىدۇ، SHIFT+TAB بىرىكمە كۇنۇپكىسىدا ئالدىنقى سۆز بۆلىكىگە يۆتكىلىدۇ، ENTER كۇنۇپكىسىدا سۆزلەشكۈنى تاپشۇرىدۇ، ESC كۇنۇپكىسى سۆزلەشكۈدىن ۋاز كېچىدۇ. كۆپ بەتكۈچلۈك سۆزلەشكۈگە نىسبەتەن، ALT+F10 دا بەتكۈچ تىزىمىغا يۆتكەيدۇ. ئاندىن TAB كۇنۇپكىسى ياكى ئوڭ يا ئوق كۇنۇپكىسى كېيىنكى بەتكۈچكە يۆتكەيدۇ؛SHIFT+ TAB كۇنۇپكىسى ياكى سول يا ئوق كۇنۇپكىسى ئالدىنقى بەتكۈچكە يۆتكەيدۇ. بوشلۇق كۇنۇپكىسى ياكى ENTER كۇنۇپكىسى بەتكۈچنى تاللايدۇ."}, +{name:"تەھرىرلىگۈچ تىل مۇھىت تىزىملىكى",legend:"${contextMenu} ياكى ئەپ كۇنۇپكىسىدا تىل مۇھىت تىزىملىكىنى ئاچىدۇ. ئاندىن TAB ياكى ئاستى يا ئوق كۇنۇپكىسىدا كېيىنكى تىزىملىك تۈرىگە يۆتكەيدۇ؛ SHIFT+TAB ياكى ئۈستى يا ئوق كۇنۇپكىسىدا ئالدىنقى تىزىملىك تۈرىگە يۆتكەيدۇ. بوشلۇق ياكى ENTER كۇنۇپكىسىدا تىزىملىك تۈرىنى تاللايدۇ. بوشلۇق، ENTER ياكى ئوڭ يا ئوق كۇنۇپكىسىدا تارماق تىزىملىكنى ئاچىدۇ. قايتىش تىزىملىكىگە ESC ياكى سول يا ئوق كۇنۇپكىسى ئىشلىتىلىدۇ. ESC كۇنۇپكىسىدا تىل مۇھىت تىزىملىكى تاقىلىدۇ."},{name:"تەھرىرلىگۈچ تىزىمى", +legend:"تىزىم قۇتىسىدا، كېيىنكى تىزىم تۈرىگە يۆتكەشتە TAB ياكى ئاستى يا ئوق كۇنۇپكىسى ئىشلىتىلىدۇ. ئالدىنقى تىزىم تۈرىگە يۆتكەشتە SHIFT+TAB ياكى ئۈستى يا ئوق كۇنۇپكىسى ئىشلىتىلىدۇ. بوشلۇق ياكى ENTER كۇنۇپكىسىدا تىزىم تۈرىنى تاللايدۇ.ESC كۇنۇپكىسىدا تىزىم قۇتىسىنى يىغىدۇ."},{name:"تەھرىرلىگۈچ ئېلېمېنت يول بالداق",legend:"${elementsPathFocus} بېسىلسا ئېلېمېنت يول بالداققا يېتەكلەيدۇ، TAB ياكى ئوڭ يا ئوقتا كېيىنكى ئېلېمېنت تاللىنىدۇ، SHIFT+TAB ياكى سول يا ئوقتا ئالدىنقى ئېلېمېنت تاللىنىدۇ، بوشلۇق ياكى Enter كۇنۇپكىسىدا تەھرىرلىگۈچتىكى ئېلېمېنت تاللىنىدۇ."}]}, +{name:"بۇيرۇق",items:[{name:"بۇيرۇقتىن يېنىۋال",legend:"${undo} نى بېسىڭ"},{name:"قايتىلاش بۇيرۇقى",legend:"${redo} نى بېسىڭ"},{name:"توملىتىش بۇيرۇقى",legend:"${bold} نى بېسىڭ"},{name:"يانتۇ بۇيرۇقى",legend:"${italic} نى بېسىڭ"},{name:"ئاستى سىزىق بۇيرۇقى",legend:"${underline} نى بېسىڭ"},{name:"ئۇلانما بۇيرۇقى",legend:"${link} نى بېسىڭ"},{name:"قورال بالداق قاتلاش بۇيرۇقى",legend:"${toolbarCollapse} نى بېسىڭ"},{name:"ئالدىنقى فوكۇس نۇقتىسىنى زىيارەت قىلىدىغان بۇيرۇق",legend:"${accessPreviousSpace} بېسىپ ^ بەلگىسىگە ئەڭ يېقىن زىيارەت قىلغىلى بولمايدىغان فوكۇس نۇقتا رايونىنىڭ ئالدىنى زىيارەت قىلىدۇ، مەسىلەن: ئۆز ئارا قوشنا ئىككى HR ئېلېمېنت. بۇ بىرىكمە كۇنۇپكا تەكرارلانسا يىراقتىكى فوكۇس نۇقتا رايونىغا يەتكىلى بولىدۇ."}, +{name:"كېيىنكى فوكۇس نۇقتىسىنى زىيارەت قىلىدىغان بۇيرۇق",legend:"${accessNextSpace} بېسىپ ^ بەلگىسىگە ئەڭ يېقىن زىيارەت قىلغىلى بولمايدىغان فوكۇس نۇقتا رايونىنىڭ كەينىنى زىيارەت قىلىدۇ، مەسىلەن: ئۆز ئارا قوشنا ئىككى HR ئېلېمېنت. بۇ بىرىكمە كۇنۇپكا تەكرارلانسا يىراقتىكى فوكۇس نۇقتا رايونىغا يەتكىلى بولىدۇ."},{name:"توسالغۇسىز لايىھە چۈشەندۈرۈشى",legend:"${a11yHelp} نى بېسىڭ"},{name:"ساپ تېكىست چاپلاش",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause", +capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"سول يا ئوق",upArrow:"ئۈستى يا ئوق",rightArrow:"ئوڭ يا ئوق",downArrow:"ئاستى يا ئوق",insert:"قىستۇر",leftWindowKey:"سول Windows كۇنۇپكىسى",rightWindowKey:"ئوڭ Windows كۇنۇپكىسى",selectKey:"تاللاش كۇنۇپكىسى",numpad0:"سان تاختا 0",numpad1:"سان تاختا 1",numpad2:"سان تاختا 2",numpad3:"سان تاختا 3",numpad4:"سان تاختا 4",numpad5:"سان تاختا 5",numpad6:"سان تاختا 6",numpad7:"سان تاختا 7",numpad8:"سان تاختا 8",numpad9:"سان تاختا 9", +multiply:"يۇلتۇز كۇنۇپكىسى",add:"قوشۇش",subtract:"ئېلىش",decimalPoint:"كەسىر چېكىت",divide:"بۆلۈش",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"سان قۇلۇپ كۇنۇپكىسى",scrollLock:"سۈرگۈچ قۇلۇپ كۇنۇپكىسى",semiColon:"چېكىتلىك پەش",equalSign:"تەڭلىك بەلگىسى",comma:"پەش",dash:"سىزىقچە",period:"چېكىت",forwardSlash:"سولغا يانتۇ سىزىق",graveAccent:"ئۇرغۇ بەلگىسى",openBracket:"ئېچىلغان تىرناق",backSlash:"ئوڭغا يانتۇ سىزىق",closeBracket:"يېپىلغان تىرناق", +singleQuote:"يالاڭ پەش"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","lv",{title:"Pieejamības instrukcija",contents:"Palīdzības saturs. Lai aizvērtu ciet šo dialogu nospiediet ESC.",legend:[{name:"Galvenais",items:[{name:"Redaktora rīkjosla",legend:"Nospiediet ${toolbarFocus} lai pārvietotos uz rīkjoslu. Lai pārvietotos uz nākošo vai iepriekšējo rīkjoslas grupu izmantojiet pogu TAB un SHIFT+TAB. Lai pārvietotos uz nākošo vai iepriekšējo rīkjoslas pogu izmantojiet Kreiso vai Labo bultiņu. Nospiediet Atstarpi vai ENTER lai aktivizētu rīkjosla pogu."}, +{name:"Redaktora dialoga logs",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Redaktora satura izvēle",legend:"Nospiediet ${contextMenu} vai APPLICATION KEY lai atvērtu satura izvēlni. Lai pārvietotos uz nākošo izvēlnes opciju izmantojiet pogu TAB vai pogu Bultiņu uz leju. Lai pārvietotos uz iepriekšējo opciju izmantojiet SHIFT+TAB vai pogu Bultiņa uz augšu. Nospiediet SPACE vai ENTER lai izvelētos izvēlnes opciju. Atveriet tekošajā opcija apakšizvēlni ar SAPCE vai ENTER ka ari to var izdarīt ar Labo bultiņu. Lai atgrieztos atpakaļ uz sakuma izvēlni nospiediet ESC vai Kreiso bultiņu. Lai aizvērtu ciet izvēlnes saturu nospiediet ESC."}, +{name:"Redaktora saraksta lauks",legend:"Saraksta laukā, lai pārvietotos uz nākošo saraksta elementu nospiediet TAB vai pogu Bultiņa uz leju. Lai pārvietotos uz iepriekšējo saraksta elementu nospiediet SHIFT+TAB vai pogu Bultiņa uz augšu. Nospiediet SPACE vai ENTER lai izvēlētos saraksta opcijas. Nospiediet ESC lai aizvērtu saraksta lauku."},{name:"Redaktora elementa ceļa josla",legend:"Nospiediet ${elementsPathFocus} lai pārvietotos uz elementa ceļa joslu. Lai pārvietotos uz nākošo elementa pogu izmantojiet TAB vai Labo bultiņu. Lai pārvietotos uz iepriekšējo elementa pogu izmantojiet SHIFT+TAB vai Kreiso bultiņu. Nospiediet SPACE vai ENTER lai izvēlētos elementu redaktorā."}]}, +{name:"Komandas",items:[{name:"Komanda atcelt darbību",legend:"Nospiediet ${undo}"},{name:"Komanda atkārtot darbību",legend:"Nospiediet ${redo}"},{name:"Treknraksta komanda",legend:"Nospiediet ${bold}"},{name:"Kursīva komanda",legend:"Nospiediet ${italic}"},{name:"Apakšsvītras komanda ",legend:"Nospiediet ${underline}"},{name:"Hipersaites komanda",legend:"Nospiediet ${link}"},{name:"Rīkjoslas aizvēršanas komanda",legend:"Nospiediet ${toolbarCollapse}"},{name:"Piekļūt iepriekšējai fokusa vietas komandai", +legend:"Nospiediet ${accessPreviousSpace} lai piekļūtu tuvākajai nepieejamajai fokusa vietai pirms kursora. Piemēram: diviem blakus esošiem līnijas HR elementiem. Atkārtojiet taustiņu kombināciju lai piekļūtu pie tālākām vietām."},{name:"Piekļūt nākošā fokusa apgabala komandai",legend:"Nospiediet ${accessNextSpace} lai piekļūtu tuvākajai nepieejamajai fokusa vietai pēc kursora. Piemēram: diviem blakus esošiem līnijas HR elementiem. Atkārtojiet taustiņu kombināciju lai piekļūtu pie tālākām vietām."}, +{name:"Pieejamības palīdzība",legend:"Nospiediet ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","eu",{title:"Erabilerraztasunaren argibideak",contents:"Laguntzaren edukiak. Elkarrizketa-koadro hau ixteko sakatu ESC.",legend:[{name:"Orokorra",items:[{name:"Editorearen tresna-barra",legend:"Sakatu ${toolbarFocus} tresna-barrara nabigatzeko. Tresna-barrako aurreko eta hurrengo taldera joateko erabili TAB eta MAIUS+TAB. Tresna-barrako aurreko eta hurrengo botoira joateko erabili ESKUIN-GEZIA eta EZKER-GEZIA. Sakatu ZURIUNEA edo SARTU tresna-barrako botoia aktibatzeko."}, +{name:"Editorearen elkarrizketa-koadroa",legend:"Elkarrizketa-koadro baten barruan sakatu TAB hurrengo elementura nabigatzeko, sakatu MAIUS+TAB aurreko elementura joateko, sakatu SARTU elkarrizketa-koadroa bidaltzeko eta sakatu ESC uzteko. Elkarrizketa-koadro batek hainbat fitxa dituenean, ALT+F10 erabiliz irits daiteke fitxen zerrendara, edo TAB erabiliz. Fokoa fitxen zerrendak duenean, aurreko eta hurrengo fitxetara joateko erabili EZKER-GEZIA eta ESKUIN-GEZIA."},{name:"Editorearen testuinguru-menua", +legend:"Sakatu ${contextMenu} edo APLIKAZIO TEKLA testuinguru-menua irekitzeko. Menuko hurrengo aukerara joateko erabili TAB edo BEHERA GEZIA. Aurreko aukerara nabigatzeko erabili MAIUS+TAB edo GORA GEZIA. Sakatu ZURIUNEA edo SARTU menuko aukera hautatzeko. Ireki uneko aukeraren azpi-menua ZURIUNEA edo SARTU edo ESKUIN-GEZIA erabiliz. Menuko aukera gurasora itzultzeko erabili ESC edo EZKER-GEZIA. Testuinguru-menua ixteko sakatu ESC."},{name:"Editorearen zerrenda-koadroa",legend:"Zerrenda-koadro baten barruan, zerrendako hurrengo elementura joateko erabili TAB edo BEHERA GEZIA. Zerrendako aurreko elementura nabigatzeko MAIUS+TAB edo GORA GEZIA. Sakatu ZURIUNEA edo SARTU zerrendako aukera hautatzeko. Sakatu ESC zerrenda-koadroa ixteko."}, +{name:"Editorearen elementuaren bide-barra",legend:"Sakatu ${elementsPathFocus} elementuaren bide-barrara nabigatzeko. Hurrengo elementuaren botoira joateko erabili TAB edo ESKUIN-GEZIA. Aurreko botoira joateko aldiz erabili MAIUS+TAB edo EZKER-GEZIA. Elementua editorean hautatzeko sakatu ZURIUNEA edo SARTU."}]},{name:"Komandoak",items:[{name:"Desegin komandoa",legend:"Sakatu ${undo}"},{name:"Berregin komandoa",legend:"Sakatu ${redo}"},{name:"Lodia komandoa",legend:"Sakatu ${bold}"},{name:"Etzana komandoa", +legend:"Sakatu ${italic}"},{name:"Azpimarratu komandoa",legend:"Sakatu ${underline}"},{name:"Esteka komandoa",legend:"Sakatu ${link}"},{name:"Tolestu tresna-barra komandoa",legend:"Sakatu ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:"Erabilerraztasunaren laguntza",legend:"Sakatu ${a11yHelp}"},{name:"Itsatsi testu arrunt bezala",legend:"Sakatu ${pastetext}",legendEdge:"Sakatu ${pastetext} eta jarraian ${paste}"}]}],tab:"Tabuladorea",pause:"Pausatu",capslock:"Blok Maius",escape:"Ihes",pageUp:"Orria gora",pageDown:"Orria behera",leftArrow:"Ezker-gezia",upArrow:"Gora gezia",rightArrow:"Eskuin-gezia",downArrow:"Behera gezia",insert:"Txertatu",leftWindowKey:"Ezkerreko Windows tekla",rightWindowKey:"Eskuineko Windows tekla",selectKey:"Hautatu tekla", +numpad0:"Zenbakizko teklatua 0",numpad1:"Zenbakizko teklatua 1",numpad2:"Zenbakizko teklatua 2",numpad3:"Zenbakizko teklatua 3",numpad4:"Zenbakizko teklatua 4",numpad5:"Zenbakizko teklatua 5",numpad6:"Zenbakizko teklatua 6",numpad7:"Zenbakizko teklatua 7",numpad8:"Zenbakizko teklatua 8",numpad9:"Zenbakizko teklatua 9",multiply:"Biderkatu",add:"Gehitu",subtract:"Kendu",decimalPoint:"Koma hamartarra",divide:"Zatitu",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11", +f12:"F12",numLock:"Blok Zenb",scrollLock:"Blok Korr",semiColon:"Puntu eta koma",equalSign:"Berdin zeinua",comma:"Koma",dash:"Marratxoa",period:"Puntua",forwardSlash:"Barra",graveAccent:"Azentu kamutsa",openBracket:"Parentesia ireki",backSlash:"Alderantzizko barra",closeBracket:"Itxi parentesia",singleQuote:"Komatxo bakuna"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","gu",{title:"એક્ક્ષેબિલિટી ની વિગતો",contents:"હેલ્પ. આ બંધ કરવા ESC દબાવો.",legend:[{name:"જનરલ",items:[{name:"એડિટર ટૂલબાર",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"એડિટર ડાયલોગ",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"કમાંડસ",items:[{name:"અન્ડું કમાંડ",legend:"$ દબાવો {undo}"},{name:"ફરી કરો કમાંડ",legend:"$ દબાવો {redo}"},{name:"બોલ્દનો કમાંડ",legend:"$ દબાવો {bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", +legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","ku",{title:"ڕێنمای لەبەردەستدابوون",contents:"پێکهاتەی یارمەتی. کلیك ESC بۆ داخستنی ئەم دیالۆگه.",legend:[{name:"گشتی",items:[{name:"تووڵامرازی دەستكاریكەر",legend:"کلیك ${toolbarFocus} بۆ ڕابەری تووڵامراز. بۆ گواستنەوەی پێشوو داهاتووی گرووپی تووڵامرازی داگرتنی کلیلی TAB لەگەڵ‌ SHIFT+TAB. بۆ گواستنەوەی پێشوو داهاتووی دووگمەی تووڵامرازی لەڕێی کلیلی تیری دەستی ڕاست یان کلیلی تیری دەستی چەپ. کلیکی کلیلی SPACE یان ENTER بۆ چالاککردنی دووگمەی تووڵامراز."},{name:"دیالۆگی دەستكاریكەر", +legend:"لەناوەوەی دیالۆگ, کلیکی کلیلی TAB بۆ ڕابەری دیالۆگێکی تر, داگرتنی کلیلی SHIFT + TAB بۆ گواستنەوەی بۆ دیالۆگی پێشووتر, کلیكی کلیلی ENTER بۆ ڕازیکردنی دیالۆگەکە, کلیكی کلیلی ESC بۆ هەڵوەشاندنەوەی دیالۆگەکە. بۆ دیالۆگی بازدەری (تابی) زیاتر, کلیكی کلیلی ALT + F10 بۆ ڕابه‌ری لیستی بازده‌ره‌کان، یان کلیكی کلیلی TAB. بۆچوونه‌ بازده‌ری تابی پێشوو یان دوواتر کلیلی تیری دەستی ڕاست یان چەپ بکە."},{name:"پێڕستی سەرنووسەر",legend:"کلیك ${contextMenu} یان دوگمەی لیسته‌(Menu) بۆ کردنەوەی لیستەی دەق. بۆ چوونە هەڵبژاردەیەکی تر له‌ لیسته‌ کلیکی کلیلی TAB یان کلیلی تیری ڕوو لەخوارەوه‌ بۆ چوون بۆ هەڵبژاردەی پێشوو کلیکی کلیلی SHIFT+TAB یان کلیلی تیری ڕوو له‌ سەرەوە. داگرتنی کلیلی SPACE یان ENTER بۆ هەڵبژاردنی هەڵبژاردەی لیسته‌. بۆ کردنەوەی لقی ژێر لیسته‌ لەهەڵبژاردەی لیستە کلیکی کلیلی SPACE یان ENTER یان کلیلی تیری دەستی ڕاست. بۆ گەڕانەوه بۆ سەرەوەی لیسته‌ کلیکی کلیلی ESC یان کلیلی تیری دەستی چەپ. بۆ داخستنی لیستە کلیكی کلیلی ESC بکە."}, +{name:"لیستی سنووقی سەرنووسەر",legend:"لەناو سنوقی لیست, چۆن بۆ هەڵنبژاردەی لیستێکی تر کلیکی کلیلی TAB یان کلیلی تیری ڕوو لەخوار. چوون بۆ هەڵبژاردەی لیستی پێشوو کلیکی کلیلی SHIFT+TAB یان کلیلی تیری ڕوو لەسەرەوه‌. کلیکی کلیلی SPACE یان ENTER بۆ دیاریکردنی ‌هەڵبژاردەی لیست. کلیکی کلیلی ESC بۆ داخستنی سنوقی لیست."},{name:"تووڵامرازی توخم",legend:"کلیك ${elementsPathFocus} بۆ ڕابەری تووڵامرازی توخمەکان. چوون بۆ دوگمەی توخمێکی تر کلیکی کلیلی TAB یان کلیلی تیری دەستی ڕاست. چوون بۆ دوگمەی توخمی پێشوو کلیلی SHIFT+TAB یان کلیکی کلیلی تیری دەستی چەپ. داگرتنی کلیلی SPACE یان ENTER بۆ دیاریکردنی توخمەکه‌ لەسەرنووسه."}]}, +{name:"فەرمانەکان",items:[{name:"پووچکردنەوەی فەرمان",legend:"کلیك ${undo}"},{name:"هەڵگەڕانەوەی فەرمان",legend:"کلیك ${redo}"},{name:"فەرمانی دەقی قەڵەو",legend:"کلیك ${bold}"},{name:"فەرمانی دەقی لار",legend:"کلیك ${italic}"},{name:"فەرمانی ژێرهێڵ",legend:"کلیك ${underline}"},{name:"فەرمانی به‌ستەر",legend:"کلیك ${link}"},{name:"شاردەنەوەی تووڵامراز",legend:"کلیك ${toolbarCollapse}"},{name:"چوونەناو سەرنجدانی پێشوی فەرمانی بۆشایی",legend:"کلیک ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:"چوونەناو سەرنجدانی داهاتووی فەرمانی بۆشایی",legend:"کلیک ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:"دەستپێگەیشتنی یارمەتی",legend:"کلیك ${a11yHelp}"},{name:"لکاندنی وەك دەقی ڕوون",legend:"کلیکی ${pastetext}",legendEdge:"کلیکی ${pastetext}، شوێنکەوتکراوە بە ${paste}"}]}],tab:"تاب",pause:"پشوو",capslock:"قفڵدانی پیتی گەورە",escape:"چوونە دەرەوە",pageUp:"پەڕە بەرەوسەر", +pageDown:"پەڕە بەرەوخوار",leftArrow:"تیری دەستی چەپ",upArrow:"تیری بەرەوسەر",rightArrow:"تیری دەستی ڕاست",downArrow:"تیری بەرەوخوار",insert:"خستنە ناو",leftWindowKey:"پەنجەرەی چەپ",rightWindowKey:"پەنجەرەی ڕاست",selectKey:"هەڵبژێرە",numpad0:"Numpad 0",numpad1:"1",numpad2:"2",numpad3:"3",numpad4:"4",numpad5:"5",numpad6:"6",numpad7:"7",numpad8:"8",numpad9:"9",multiply:"*",add:"+",subtract:"-",decimalPoint:".",divide:"/",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10", +f11:"F11",f12:"F12",numLock:"قفڵدانی ژمارە",scrollLock:"قفڵدانی هێڵی هاتووچۆپێکردن",semiColon:";",equalSign:"\x3d",comma:",",dash:"-",period:".",forwardSlash:"/",graveAccent:"`",openBracket:"[",backSlash:"\\\\",closeBracket:"}",singleQuote:"'"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js (revision 7) @@ -0,0 +1,9 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","zh-cn",{title:"辅助功能说明",contents:"帮助内容。要关闭此对话框请按 ESC 键。",legend:[{name:"常规",items:[{name:"编辑器工具栏",legend:"按 ${toolbarFocus} 切换到工具栏,使用 TAB 键和 SHIFT+TAB 组合键移动到上一个和下一个工具栏组。使用左右箭头键移动到上一个或下一个工具栏按钮。按空格键或回车键以选中工具栏按钮。"},{name:"编辑器对话框",legend:"在对话框内,按 TAB 键移动到下一个字段,按 SHIFT + TAB 组合键移动到上一个字段,按 ENTER 键提交对话框,按 ESC 键取消对话框。对于有多选项卡的对话框,可以按 ALT + F10 直接切换到或者按 TAB 键逐步移到选项卡列表,当焦点移到选项卡列表时可以用左右箭头键来移动到前后的选项卡。"},{name:"编辑器上下文菜单",legend:"用 ${contextMenu} 或者“应用程序键”打开上下文菜单。然后用 TAB 键或者下箭头键来移动到下一个菜单项;SHIFT + TAB 组合键或者上箭头键移动到上一个菜单项。用 SPACE 键或者 ENTER 键选择菜单项。用 SPACE 键,ENTER 键或者右箭头键打开子菜单。返回菜单用 ESC 键或者左箭头键。用 ESC 键关闭上下文菜单。"}, +{name:"编辑器列表框",legend:"在列表框中,移到下一列表项用 TAB 键或者下箭头键。移到上一列表项用SHIFT+TAB 组合键或者上箭头键,用 SPACE 键或者 ENTER 键选择列表项。用 ESC 键收起列表框。"},{name:"编辑器元素路径栏",legend:"按 ${elementsPathFocus} 以导航到元素路径栏,使用 TAB 键或右箭头键选择下一个元素,使用 SHIFT+TAB 组合键或左箭头键选择上一个元素,按空格键或回车键以选定编辑器里的元素。"}]},{name:"命令",items:[{name:" 撤消命令",legend:"按 ${undo}"},{name:" 重做命令",legend:"按 ${redo}"},{name:" 加粗命令",legend:"按 ${bold}"},{name:" 倾斜命令",legend:"按 ${italic}"},{name:" 下划线命令",legend:"按 ${underline}"},{name:" 链接命令",legend:"按 ${link}"},{name:" 工具栏折叠命令",legend:"按 ${toolbarCollapse}"}, +{name:"访问前一个焦点区域的命令",legend:"按 ${accessPreviousSpace} 访问^符号前最近的不可访问的焦点区域,例如:两个相邻的 HR 元素。重复此组合按键可以到达远处的焦点区域。"},{name:"访问下一个焦点区域命令",legend:"按 ${accessNextSpace} 以访问^符号后最近的不可访问的焦点区域。例如:两个相邻的 HR 元素。重复此组合按键可以到达远处的焦点区域。"},{name:"辅助功能帮助",legend:"按 ${a11yHelp}"},{name:"粘贴为纯文本",legend:"按 ${pastetext}",legendEdge:"按 ${pastetext},然后再按 ${paste}"}]}],tab:"Tab 键",pause:"暂停键",capslock:"大写锁定键",escape:"Esc 键",pageUp:"上翻页键",pageDown:"下翻页键",leftArrow:"向左箭头键",upArrow:"向上箭头键",rightArrow:"向右箭头键",downArrow:"向下箭头键",insert:"插入键", +leftWindowKey:"左 WIN 键",rightWindowKey:"右 WIN 键",selectKey:"选择键",numpad0:"小键盘 0 键",numpad1:"小键盘 1 键",numpad2:"小键盘 2 键",numpad3:"小键盘 3 键",numpad4:"小键盘 4 键",numpad5:"小键盘 5 键",numpad6:"小键盘 6 键",numpad7:"小键盘 7 键",numpad8:"小键盘 8 键",numpad9:"小键盘 9 键",multiply:"星号键",add:"加号键",subtract:"减号键",decimalPoint:"小数点键",divide:"除号键",f1:"F1 键",f2:"F2 键",f3:"F3 键",f4:"F4 键",f5:"F5 键",f6:"F6 键",f7:"F7 键",f8:"F8 键",f9:"F9 键",f10:"F10 键",f11:"F11 键",f12:"F12 键",numLock:"数字锁定键",scrollLock:"滚动锁定键",semiColon:"分号键",equalSign:"等号键", +comma:"逗号键",dash:"短划线键",period:"句号键",forwardSlash:"斜杠键",graveAccent:"重音符键",openBracket:"左中括号键",backSlash:"反斜杠键",closeBracket:"右中括号键",singleQuote:"单引号键"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/km.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/km.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/km.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","km",{title:"Accessibility Instructions",contents:"មាតិកា​ជំនួយ។ ដើម្បី​បិទ​ផ្ទាំង​នេះ សូម​ចុច ESC ។",legend:[{name:"ទូទៅ",items:[{name:"របារ​ឧបករណ៍​កម្មវិធី​និពន្ធ",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"ផ្ទាំង​កម្មវិធីនិពន្ធ",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"ម៉ីនុយបរិបទអ្នកកែសម្រួល",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"ប្រអប់បញ្ជីអ្នកកែសម្រួល",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"ពាក្យបញ្ជា",items:[{name:"ការ​បញ្ជា​មិនធ្វើវិញ",legend:"ចុច ${undo}"},{name:"ការបញ្ជា​ធ្វើវិញ",legend:"ចុច ${redo}"},{name:"ការបញ្ជា​អក្សរ​ដិត",legend:"ចុច ${bold}"},{name:"ការបញ្ជា​អក្សរ​ទ្រេត",legend:"ចុច ${italic}"},{name:"ពាក្យបញ្ជា​បន្ទាត់​ពីក្រោម", +legend:"ចុច ${underline}"},{name:"ពាក្យបញ្ជា​តំណ",legend:"ចុច ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:"ជំនួយ​ពី​ភាព​ងាយស្រួល",legend:"ជួយ ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"ផ្អាក",capslock:"Caps Lock",escape:"ចាកចេញ",pageUp:"ទំព័រ​លើ",pageDown:"ទំព័រ​ក្រោម",leftArrow:"ព្រួញ​ឆ្វេង",upArrow:"ព្រួញ​លើ",rightArrow:"ព្រួញ​ស្ដាំ",downArrow:"ព្រួញ​ក្រោម",insert:"បញ្ចូល",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"ជ្រើស​គ្រាប់​ចុច",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"គុណ",add:"បន្ថែម",subtract:"ដក",decimalPoint:"ចំណុចទសភាគ",divide:"ចែក",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"បិទ​រំកិល",semiColon:"ចុច​ក្បៀស",equalSign:"សញ្ញា​អឺរ៉ូ",comma:"ក្បៀស",dash:"Dash",period:"ចុច",forwardSlash:"Forward Slash",graveAccent:"Grave Accent", +openBracket:"តង្កៀប​បើក",backSlash:"Backslash",closeBracket:"តង្កៀប​បិទ",singleQuote:"បន្តក់​មួយ"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/km.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","lt",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"Bendros savybės",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", +legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","pt",{title:"Instruções de acessibilidade",contents:"Conteúdo de ajuda. Use a tecla ESC para fechar esta janela.",legend:[{name:"Geral",items:[{name:"Barra de ferramentas do editor",legend:"Clique em ${toolbarFocus} para navegar na barra de ferramentas. Para navegar entre o grupo da barra de ferramentas anterior e seguinte use TAB e SHIFT+TAB. Para navegar entre o botão da barra de ferramentas seguinte e anterior use a SETA DIREITA ou SETA ESQUERDA. Carregue em ESPAÇO ou ENTER para ativar o botão da barra de ferramentas."}, +{name:"Janela do editor",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Menu de contexto do editor",legend:"Clique em ${contextMenu} ou TECLA APLICAÇÃO para abrir o menu de contexto. Depois vá para a opção do menu seguinte com TAB ou SETA PARA BAIXO. Vá para a opção anterior com SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar a opção do menu. Abra o submenu da opção atual com ESPAÇO, ENTER ou SETA DIREITA. Vá para o item do menu contentor com ESC ou SETA ESQUERDA. Feche o menu de contexto com ESC."}, +{name:"Editor de caixa em lista",legend:"Dentro de uma lista, para navegar para o item seguinte da lista use TAB ou SETA PARA BAIXO. Para o item anterior da lista use SHIFT+TAB ou SETA PARA BAIXO. Carregue em ESPAÇO ou ENTER para selecionar a opção lista. Carregue em ESC para fechar a caixa da lista."},{name:"Editor da barra de caminho dos elementos",legend:"Clique em ${elementsPathFocus} para navegar na barra de caminho dos elementos. Para o botão do elemento seguinte use TAB ou SETA DIREITA. para o botão anterior use SHIFT+TAB ou SETA ESQUERDA. Carregue em ESPAÇO ou ENTER para selecionar o elemento no editor."}]}, +{name:"Comandos",items:[{name:"Comando de anular",legend:"Carregar ${undo}"},{name:"Comando de refazer",legend:"Clique ${redo}"},{name:"Comando de negrito",legend:"Pressione ${bold}"},{name:"Comando de itálico",legend:"Pressione ${italic}"},{name:"Comando de sublinhado",legend:"Pressione ${underline}"},{name:"Comando de hiperligação",legend:"Pressione ${link}"},{name:"Comando de ocultar barra de ferramentas",legend:"Pressione ${toolbarCollapse}"},{name:"Aceder ao comando espaço de foco anterior", +legend:"Clique em ${accessPreviousSpace} para aceder ao espaço do focos inalcançável mais perto antes do sinal de omissão, por exemplo: dois elementos HR adjacentes. Repetir a combinação da chave para alcançar os espaços dos focos distantes."},{name:"Acesso comando do espaço focus seguinte",legend:"Pressione ${accessNextSpace} para aceder ao espaço do focos inalcançável mais perto depois do sinal de omissão, por exemplo: dois elementos HR adjacentes. Repetir a combinação da chave para alcançar os espaços dos focos distantes."}, +{name:"Ajuda a acessibilidade",legend:"Pressione ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Separador",pause:"Pausa",capslock:"Maiúsculas",escape:"Esc",pageUp:"Subir página",pageDown:"Descer página",leftArrow:"Seta esquerda",upArrow:"Seta para cima",rightArrow:"Seta direita",downArrow:"Seta para baixo",insert:"Inserir",leftWindowKey:"Tecla esquerda Windows",rightWindowKey:"Tecla direita Windows",selectKey:"Selecionar tecla", +numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiplicar",add:"Adicionar",subtract:"Subtrair",decimalPoint:"Ponto decimal",divide:"Separar",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Ponto e vírgula",equalSign:"Sinald e igual",comma:"Vírgula", +dash:"Cardinal",period:"Ponto",forwardSlash:"Forward Slash",graveAccent:"Acento grave",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Plica"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","tt",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"Гомуми",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Командалар",items:[{name:"Кайтару",legend:"${undo} басыгыз"},{name:"Кабатлау",legend:"${redo} басыгыз"},{name:"Калын",legend:"${bold} басыгыз"},{name:"Курсив",legend:"${italic} басыгыз"},{name:"Астына сызылган",legend:"${underline} басыгыз"}, +{name:"Сылталама",legend:"${link} басыгыз"},{name:" Toolbar Collapse command",legend:"${toolbarCollapse} басыгыз"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"${a11yHelp} басыгыз"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Тыныш",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Сул якка ук",upArrow:"Өскә таба ук",rightArrow:"Уң якка ук",downArrow:"Аска таба ук",insert:"Өстәү",leftWindowKey:"Сул Windows төймəсе",rightWindowKey:"Уң Windows төймəсе",selectKey:"Select төймəсе",numpad0:"Numpad 0", +numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Тапкырлау",add:"Кушу",subtract:"Алу",decimalPoint:"Унарлы нокта",divide:"Бүлү",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Нокталы өтер",equalSign:"Тигезлек билгесе",comma:"Өтер",dash:"Сызык",period:"Дәрәҗә", +forwardSlash:"Кыек сызык",graveAccent:"Гравис",openBracket:"Җәя ачу",backSlash:"Кире кыек сызык",closeBracket:"Җәя ябу",singleQuote:"Бер иңле куштырнаклар"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","nl",{title:"Toegankelijkheidsinstructies",contents:"Help-inhoud. Druk op ESC om dit dialoog te sluiten.",legend:[{name:"Algemeen",items:[{name:"Werkbalk tekstverwerker",legend:"Druk op ${toolbarFocus} om naar de werkbalk te navigeren. Om te schakelen naar de volgende en vorige werkbalkgroep, gebruik TAB en SHIFT+TAB. Om te schakelen naar de volgende en vorige werkbalkknop, gebruik de PIJL RECHTS en PIJL LINKS. Druk op SPATIE of ENTER om een werkbalkknop te activeren."}, +{name:"Dialoog tekstverwerker",legend:"In een dialoogvenster, druk op TAB om te navigeren naar het volgende veld. Druk op SHIFT+TAB om naar het vorige veld te navigeren. Druk op ENTER om het dialoogvenster te verzenden. Druk op ESC om het dialoogvenster te sluiten. Bij dialoogvensters met meerdere tabbladen kan de tabset bereikt worden met ALT+F10 of met TAB als onderdeel van de tabvolgorde in het dialoogvenster. Als de tabset focus heeft, kun je schakalen naar het volgende en vorige tabblad met respectievelijk PIJL RECHTS en PIJL LINKS."}, +{name:"Contextmenu tekstverwerker",legend:"Druk op ${contextMenu} of APPLICATION KEY om het contextmenu te openen. Schakel naar de volgende menuoptie met TAB of PIJL OMLAAG. Schakel naar de vorige menuoptie met SHIFT+TAB of PIJL OMHOOG. Druk op SPATIE of ENTER om een menuoptie te selecteren. Op een submenu van de huidige optie met SPATIE, ENTER of PIJL RECHTS. Ga terug naar de bovenliggende menuoptie met ESC of PIJL LINKS. Sluit het contextmenu met ESC."},{name:"Keuzelijst tekstverwerker",legend:"In een keuzelijst, schakel naar het volgende item met TAB of PIJL OMLAAG. Schakel naar het vorige item met SHIFT+TAB of PIJL OMHOOG. Druk op SPATIE of ENTER om het item te selecteren. Druk op ESC om de keuzelijst te sluiten."}, +{name:"Elementenpad werkbalk tekstverwerker",legend:"Druk op ${elementsPathFocus} om naar het elementenpad te navigeren. Om te schakelen naar het volgende element, gebruik TAB of PIJL RECHTS. Om te schakelen naar het vorige element, gebruik SHIFT+TAB or PIJL LINKS. Druk op SPATIE of ENTER om een element te selecteren in de tekstverwerker."}]},{name:"Opdrachten",items:[{name:"Ongedaan maken opdracht",legend:"Druk op ${undo}"},{name:"Opnieuw uitvoeren opdracht",legend:"Druk op ${redo}"},{name:"Vetgedrukt opdracht", +legend:"Druk op ${bold}"},{name:"Cursief opdracht",legend:"Druk op ${italic}"},{name:"Onderstrepen opdracht",legend:"Druk op ${underline}"},{name:"Link opdracht",legend:"Druk op ${link}"},{name:"Werkbalk inklappen opdracht",legend:"Druk op ${toolbarCollapse}"},{name:"Ga naar vorige focus spatie commando",legend:"Druk ${accessPreviousSpace} om toegang te verkrijgen tot de dichtstbijzijnde onbereikbare focus spatie voor de caret, bijvoorbeeld: twee aangrenzende HR elementen. Herhaal de toetscombinatie om de verste focus spatie te bereiken."}, +{name:"Ga naar volgende focus spatie commando",legend:"Druk ${accessNextSpace} om toegang te verkrijgen tot de dichtstbijzijnde onbereikbare focus spatie na de caret, bijvoorbeeld: twee aangrenzende HR elementen. Herhaal de toetscombinatie om de verste focus spatie te bereiken."},{name:"Toegankelijkheidshulp",legend:"Druk op ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock", +escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Pijl naar links",upArrow:"Pijl omhoog",rightArrow:"Pijl naar rechts",downArrow:"Pijl naar beneden",insert:"Invoegen",leftWindowKey:"Linker Windows-toets",rightWindowKey:"Rechter Windows-toets",selectKey:"Selecteer toets",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Vermenigvuldigen", +add:"Toevoegen",subtract:"Aftrekken",decimalPoint:"Decimaalteken",divide:"Delen",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Puntkomma",equalSign:"Is gelijk-teken",comma:"Komma",dash:"Koppelteken",period:"Punt",forwardSlash:"Slash",graveAccent:"Accent grave",openBracket:"Vierkant haakje openen",backSlash:"Backslash",closeBracket:"Vierkant haakje sluiten",singleQuote:"Apostrof"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","pl",{title:"Instrukcje dotyczące dostępności",contents:"Zawartość pomocy. Wciśnij ESC, aby zamknąć to okno.",legend:[{name:"Informacje ogólne",items:[{name:"Pasek narzędzi edytora",legend:"Naciśnij ${toolbarFocus}, by przejść do paska narzędzi. Przejdź do następnej i poprzedniej grupy narzędzi używając TAB oraz SHIFT+TAB. Przejdź do następnego i poprzedniego przycisku paska narzędzi za pomocą STRZAŁKI W PRAWO lub STRZAŁKI W LEWO. Naciśnij SPACJĘ lub ENTER by aktywować przycisk paska narzędzi."}, +{name:"Okno dialogowe edytora",legend:"Wewnątrz okna dialogowego naciśnij TAB, by przejść do kolejnego elementu tego okna lub SHIFT+TAB, by przejść do poprzedniego elementu okna. Naciśnij ENTER w celu zatwierdzenia opcji okna dialogowego lub ESC w celu anulowania zmian. Jeśli okno dialogowe ma kilka zakładek, do listy zakładek można przejść za pomocą ALT+F10 lub TAB. Gdy lista zakładek jest aktywna, możesz przejść do kolejnej i poprzedniej zakładki za pomocą STRZAŁKI W PRAWO i STRZAŁKI W LEWO."}, +{name:"Menu kontekstowe edytora",legend:"Wciśnij ${contextMenu} lub PRZYCISK APLIKACJI aby otworzyć menu kontekstowe. Przejdź do następnej pozycji menu wciskając TAB lub STRZAŁKĘ W DÓŁ. Przejdź do poprzedniej pozycji menu wciskając SHIFT + TAB lub STRZAŁKĘ W GÓRĘ. Wciśnij SPACJĘ lub ENTER aby wygrać pozycję menu. Otwórz pod-menu obecnej pozycji wciskając SPACJĘ lub ENTER lub STRZAŁKĘ W PRAWO. Wróć do pozycji nadrzędnego menu wciskając ESC lub STRZAŁKĘ W LEWO. Zamknij menu wciskając ESC."},{name:"Lista w edytorze", +legend:"Wewnątrz listy przejdź do kolejnego elementu listy za pomocą przycisku TAB lub STRZAŁKI W DÓŁ. Przejdź do poprzedniego elementu listy za pomocą SHIFT+TAB lub STRZAŁKI W GÓRĘ. Naciśnij SPACJĘ lub ENTER w celu wybrania opcji z listy. Naciśnij ESC, by zamknąć listę."},{name:"Pasek ścieżki elementów edytora",legend:"Naciśnij ${elementsPathFocus} w celu przejścia do paska ścieżki elementów edytora. W celu przejścia do kolejnego elementu naciśnij klawisz TAB lub STRZAŁKI W PRAWO. W celu przejścia do poprzedniego elementu naciśnij klawisze SHIFT+TAB lub STRZAŁKI W LEWO. By wybrać element w edytorze, użyj klawisza SPACJI lub ENTER."}]}, +{name:"Polecenia",items:[{name:"Polecenie Cofnij",legend:"Naciśnij ${undo}"},{name:"Polecenie Ponów",legend:"Naciśnij ${redo}"},{name:"Polecenie Pogrubienie",legend:"Naciśnij ${bold}"},{name:"Polecenie Kursywa",legend:"Naciśnij ${italic}"},{name:"Polecenie Podkreślenie",legend:"Naciśnij ${underline}"},{name:"Polecenie Wstaw/ edytuj odnośnik",legend:"Naciśnij ${link}"},{name:"Polecenie schowaj pasek narzędzi",legend:"Naciśnij ${toolbarCollapse}"},{name:"Przejdź do poprzedniego miejsca, w którym można ustawić focus", +legend:"Naciśnij ${accessPreviousSpace}, aby przejść do najbliższego niedostępnego miejsca przed kursorem, w którym można ustawić focus. Przykład: dwa przylegające elementy HR. Powtórz ten skrót klawiaturowy, by dotrzeć do kolejnych takich miejsc."},{name:"Przejdź do następnego miejsca, w którym można ustawić focus",legend:"Naciśnij ${accessNextSpace}, aby przejść do najbliższego niedostępnego miejsca po kursorze, w którym można ustawić focus. Przykład: dwa przylegające elementy HR. Powtórz ten skrót klawiaturowy, by dotrzeć do kolejnych takich miejsc."}, +{name:"Pomoc dotycząca dostępności",legend:"Naciśnij ${a11yHelp}"},{name:"Wklej jako tekst",legend:"Naciśnij ${pastetext}",legendEdge:"Naciśnij ${pastetext}, a następnie ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Strzałka w lewo",upArrow:"Strzałka w górę",rightArrow:"Strzałka w prawo",downArrow:"Strzałka w dół",insert:"Insert",leftWindowKey:"Lewy klawisz Windows",rightWindowKey:"Prawy klawisz Windows",selectKey:"Klawisz wyboru", +numpad0:"Klawisz 0 na klawiaturze numerycznej",numpad1:"Klawisz 1 na klawiaturze numerycznej",numpad2:"Klawisz 2 na klawiaturze numerycznej",numpad3:"Klawisz 3 na klawiaturze numerycznej",numpad4:"Klawisz 4 na klawiaturze numerycznej",numpad5:"Klawisz 5 na klawiaturze numerycznej",numpad6:"Klawisz 6 na klawiaturze numerycznej",numpad7:"Klawisz 7 na klawiaturze numerycznej",numpad8:"Klawisz 8 na klawiaturze numerycznej",numpad9:"Klawisz 9 na klawiaturze numerycznej",multiply:"Przemnóż",add:"Plus", +subtract:"Minus",decimalPoint:"Separator dziesiętny",divide:"Podziel",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Średnik",equalSign:"Znak równości",comma:"Przecinek",dash:"Pauza",period:"Kropka",forwardSlash:"Ukośnik prawy",graveAccent:"Akcent słaby",openBracket:"Nawias kwadratowy otwierający",backSlash:"Ukośnik lewy",closeBracket:"Nawias kwadratowy zamykający",singleQuote:"Apostrof"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","fo",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"General",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", +legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Falda",add:"Pluss",subtract:"Frádráttar",decimalPoint:"Decimal Point",divide:"Býta",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semikolon",equalSign:"Javnatekn",comma:"Komma",dash:"Dash",period:"Punktum",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","bg",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"Общо",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", +legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/no.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/no.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/no.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","no",{title:"Instruksjoner for tilgjengelighet",contents:"Innhold for hjelp. Trykk ESC for å lukke denne dialogen.",legend:[{name:"Generelt",items:[{name:"Verktøylinje for editor",legend:"Trykk ${toolbarFocus} for å navigere til verktøylinjen. Flytt til neste og forrige verktøylinjegruppe med TAB og SHIFT+TAB. Flytt til neste og forrige verktøylinjeknapp med HØYRE PILTAST og VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å aktivere verktøylinjeknappen."},{name:"Dialog for editor", +legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Kontekstmeny for editor",legend:"Trykk ${contextMenu} eller MENYKNAPP for å åpne kontekstmeny. Gå til neste alternativ i menyen med TAB eller PILTAST NED. Gå til forrige alternativ med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge menyalternativet. Åpne undermenyen på valgt alternativ med MELLOMROM eller ENTER eller HØYRE PILTAST. Gå tilbake til overordnet menyelement med ESC eller VENSTRE PILTAST. Lukk kontekstmenyen med ESC."}, +{name:"Listeboks for editor",legend:"I en listeboks, gå til neste alternativ i listen med TAB eller PILTAST NED. Gå til forrige alternativ i listen med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge alternativet i listen. Trykk ESC for å lukke listeboksen."},{name:"Verktøylinje for elementsti",legend:"Trykk ${elementsPathFocus} for å navigere til verktøylinjen som viser elementsti. Gå til neste elementknapp med TAB eller HØYRE PILTAST. Gå til forrige elementknapp med SHIFT+TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge elementet i editoren."}]}, +{name:"Kommandoer",items:[{name:"Angre",legend:"Trykk ${undo}"},{name:"Gjør om",legend:"Trykk ${redo}"},{name:"Fet tekst",legend:"Trykk ${bold}"},{name:"Kursiv tekst",legend:"Trykk ${italic}"},{name:"Understreking",legend:"Trykk ${underline}"},{name:"Link",legend:"Trykk ${link}"},{name:"Skjul verktøylinje",legend:"Trykk ${toolbarCollapse}"},{name:"Gå til forrige fokusområde",legend:"Trykk ${accessPreviousSpace} for å komme til nærmeste fokusområde før skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet."}, +{name:"Gå til neste fokusområde",legend:"Trykk ${accessNextSpace} for å komme til nærmeste fokusområde etter skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet."},{name:"Hjelp for tilgjengelighet",legend:"Trykk ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock", +escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point", +divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/no.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","fr-ca",{title:"Instructions d'accessibilité",contents:"Contenu de l'aide. Pour fermer cette fenêtre, appuyez sur ESC.",legend:[{name:"Général",items:[{name:"Barre d'outil de l'éditeur",legend:"Appuyer sur ${toolbarFocus} pour accéder à la barre d'outils. Se déplacer vers les groupes suivant ou précédent de la barre d'outil avec les touches TAB et SHIFT+TAB. Se déplacer vers les boutons suivant ou précédent de la barre d'outils avec les touches FLECHE DROITE et FLECHE GAUCHE. Appuyer sur la barre d'espace ou la touche ENTRER pour activer le bouton de barre d'outils."}, +{name:"Dialogue de l'éditeur",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Menu contextuel de l'éditeur",legend:"Appuyer sur ${contextMenu} ou entrer le RACCOURCI CLAVIER pour ouvrir le menu contextuel. Puis se déplacer vers l'option suivante du menu avec les touches TAB ou FLECHE BAS. Se déplacer vers l'option précédente avec les touches SHIFT+TAB ou FLECHE HAUT. appuyer sur la BARRE D'ESPACE ou la touche ENTREE pour sélectionner l'option du menu. Oovrir le sous-menu de l'option courante avec la BARRE D'ESPACE ou les touches ENTREE ou FLECHE DROITE. Revenir à l'élément de menu parent avec les touches ESC ou FLECHE GAUCHE. Fermer le menu contextuel avec ESC."}, +{name:"Menu déroulant de l'éditeur",legend:"A l'intérieur d'une liste en menu déroulant, se déplacer vers l'élément suivant de la liste avec les touches TAB ou FLECHE BAS. Se déplacer vers l'élément précédent de la liste avec les touches SHIFT+TAB ou FLECHE HAUT. Appuyer sur la BARRE D'ESPACE ou sur ENTREE pour sélectionner l'option dans la liste. Appuyer sur ESC pour fermer le menu déroulant."},{name:"Barre d'emplacement des éléments de l'éditeur",legend:"Appuyer sur ${elementsPathFocus} pour naviguer vers la barre d'emplacement des éléments de léditeur. Se déplacer vers le bouton d'élément suivant avec les touches TAB ou FLECHE DROITE. Se déplacer vers le bouton d'élément précédent avec les touches SHIFT+TAB ou FLECHE GAUCHE. Appuyer sur la BARRE D'ESPACE ou sur ENTREE pour sélectionner l'élément dans l'éditeur."}]}, +{name:"Commandes",items:[{name:"Annuler",legend:"Appuyer sur ${undo}"},{name:"Refaire",legend:"Appuyer sur ${redo}"},{name:"Gras",legend:"Appuyer sur ${bold}"},{name:"Italique",legend:"Appuyer sur ${italic}"},{name:"Souligné",legend:"Appuyer sur ${underline}"},{name:"Lien",legend:"Appuyer sur ${link}"},{name:"Enrouler la barre d'outils",legend:"Appuyer sur ${toolbarCollapse}"},{name:"Accéder à l'objet de focus précédent",legend:"Appuyer ${accessPreviousSpace} pour accéder au prochain espace disponible avant le curseur, par exemple: deux éléments HR adjacents. Répéter la combinaison pour joindre les éléments d'espaces distantes."}, +{name:"Accéder au prochain objet de focus",legend:"Appuyer ${accessNextSpace} pour accéder au prochain espace disponible après le curseur, par exemple: deux éléments HR adjacents. Répéter la combinaison pour joindre les éléments d'espaces distantes."},{name:"Aide d'accessibilité",legend:"Appuyer sur ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up", +pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide", +f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","ro",{title:"Instrucțiuni Accesibilitate",contents:"Cuprins. Pentru a închide acest dialog, apăsați tasta ESC.",legend:[{name:"General",items:[{name:"Editor bară de instrumente.",legend:"Apasă ${toolbarFocus} pentru a naviga pe de instrumente. Pentru deplasarea la următorul sau anteriorul grup de instrumente se folosesc tastele TAB și SHIFT+TAB. Pentru deplasare pe urmatorul sau anteriorul instrument se folosesc tastele SĂGEATĂ DREAPTA sau SĂGEATĂ STÂNGA. Tasta SPAȚIU sau ENTER activează instrumentul."}, +{name:"Dialog editor",legend:"În interiorul unui dialog, se apasă TAB pentru navigarea la următorul element de dialog, SHIFT+TAB pentru deplasarea la anteriorul element de dialog, ENTER pentru validare dialog, ESC pentru anulare dialog. Când un dialog are secțiuni multiple, lista secțiunilor este accesibilă cu ALT+F10 sau cu TAB ca parte a ordonării secționării dialogului. Cu lista secțiunii activată, deplasarea înainte înapoi se face cu tastele SĂGEATĂ DREAPTA și respectiv STÂNGA."},{name:"Editor meniu contextual", +legend:"Apasă ${contextMenu} sau TASTA MENIU pentru a deschide meniul contextual. Se trece la următoarea opțiune din meniu cu TAB sau SĂGEATĂ JOS. La opțiunea anterioară cu SHIFT+TAB sau SĂGEATĂ SUS. Se apasă SPAȚIU sau ENTER pentru a selecta opțiunea. Deschide sub-meniul opțiunii curente cu SPAȚIU sau ENTER sau SĂGEATĂ DREAPTA. Se revine la elementul din meniul părinte cu ESC sau SĂGEATĂ STÂNGA. Închide meniul de context cu ESC."},{name:"Caseta listă a editorului",legend:"În interiorul unei liste, treci la următorull element cu TAB sau SĂGEATĂ JOS. Treci la elementul anterior din listă cu SHIFT+TAB sau SĂGEATĂ SUS. Apasă SPAȚIU sau ENTER pentru a selecta opțiunea din listă. Apasă ESC pentru a închide lista."}, +{name:"Bara căii editorului de elemente",legend:"Apasă ${elementsPathFocus} pentru navigare pe elementele barei. Mergi la următorul buton cu TAB sau SĂGEATĂ JOS. Treci la butonul anterior din listă cu SHIFT+TAB sau SĂGEATĂ SUS. Apasă SPAȚIU sau ENTER pentru a selecta butonul în editor."}]},{name:"Comenzi",items:[{name:"Revino anterior (Undo)",legend:"Apasă ${undo}"},{name:"Comanda precedentă",legend:"Apasă ${redo}"},{name:"Îngroșat (Bold)",legend:"Apasă ${bold}"},{name:"Înclinat (Italic)",legend:"Apasă ${italic}"}, +{name:"Subliniere (Underline)",legend:"Apasă ${underline}"},{name:"Legatură (Link)",legend:"Apasă ${link}"},{name:"Desfășurare Bară instrumente",legend:"Apasă ${toolbarCollapse}"},{name:"Accesare spațiu focus anterior",legend:"Apasă ${accessPreviousSpace} pentru a accesa cel mai apropiat spațiu focus indisponibil înaintea cursorului, de exemplu: 2 elemente adiacente HR. Repetă combinația de taste pentru a accesa spațiile îndepărtate de focus."},{name:"Accesare spațiu focus următor",legend:"Apasă ${accessNextSpace} pentru a accesa cel mai apropiat spațiu focus indisponibil după cursor, de exemplu: 2 elemente adiacente HR. Repetă combinația de taste pentru a accesa spațiile îndepărtate de focus."}, +{name:"Ajutor Accesibilitate",legend:"Apasă ${a11yHelp}"},{name:"Adaugă ca Text simplu (Plain Text)",legend:"Apasă ${pastetext}",legendEdge:"Apasă ${pastetext}, urmat de ${paste}"}]}],tab:"TAB",pause:"Pauză",capslock:"Majuscule",escape:"Esc - renunță",pageUp:"Pagină sus",pageDown:"Săgeată jos",leftArrow:"Săgeată stânga",upArrow:"Săgeată sus",rightArrow:"Săgeată dreapta",downArrow:"Săgeată jos",insert:"Inserează",leftWindowKey:"Windows stânga",rightWindowKey:"Windows dreapta",selectKey:"Tasta Selecție", +numpad0:"0 Numeric",numpad1:"1 Numeric",numpad2:"2 Numeric",numpad3:"3 Numeric",numpad4:"4 Numeric",numpad5:"5 Numeric",numpad6:"6 Numeric",numpad7:"7 Numeric",numpad8:"8 Numeric",numpad9:"9 Numeric",multiply:"Înmulțire",add:"Adunare",subtract:"Scădere",decimalPoint:"Punct zecimal",divide:"Împărțire",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"NumLock",scrollLock:"Scroll Lock",semiColon:"Punct și virgulă",equalSign:"Egal",comma:"Virgulă", +dash:"Linie",period:"Punct",forwardSlash:"Slash",graveAccent:"Accent grav",openBracket:"Paranteză dreaptă stânga",backSlash:"Backslash",closeBracket:"Paranteză dreaptă dreapta",singleQuote:"Ghilimea simplă"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","pt-br",{title:"Instruções de Acessibilidade",contents:"Conteúdo da Ajuda. Para fechar este diálogo pressione ESC.",legend:[{name:"Geral",items:[{name:"Barra de Ferramentas do Editor",legend:"Pressione ${toolbarFocus} para navegar para a barra de ferramentas. Mova para o anterior ou próximo grupo de ferramentas com TAB e SHIFT+TAB. Mova para o anterior ou próximo botão com SETA PARA DIREITA or SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para ativar o botão da barra de ferramentas."}, +{name:"Diálogo do Editor",legend:"Dentro de um diálogo, pressione TAB para navegar para o próximo elemento. Pressione SHIFT+TAB para mover para o elemento anterior. Pressione ENTER ara enviar o diálogo. pressione ESC para cancelar o diálogo. Quando um diálogo tem múltiplas abas, a lista de abas pode ser acessada com ALT+F10 ou TAB, como parte da ordem de tabulação do diálogo. Com a lista de abas em foco, mova para a próxima aba e para a aba anterior com a SETA DIREITA ou SETA ESQUERDA, respectivamente."}, +{name:"Menu de Contexto do Editor",legend:"Pressione ${contextMenu} ou TECLA DE MENU para abrir o menu de contexto, então mova para a próxima opção com TAB ou SETA PARA BAIXO. Mova para a anterior com SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar a opção do menu. Abra o submenu da opção atual com ESPAÇO ou ENTER ou SETA PARA DIREITA. Volte para o menu pai com ESC ou SETA PARA ESQUERDA. Feche o menu de contexto com ESC."},{name:"Caixa de Lista do Editor",legend:"Dentro de uma caixa de lista, mova para o próximo item com TAB ou SETA PARA BAIXO. Mova para o item anterior com SHIFT+TAB ou SETA PARA CIMA. Pressione ESPAÇO ou ENTER para selecionar uma opção na lista. Pressione ESC para fechar a caixa de lista."}, +{name:"Barra de Caminho do Elementos do Editor",legend:"Pressione ${elementsPathFocus} para a barra de caminho dos elementos. Mova para o próximo botão de elemento com TAB ou SETA PARA DIREITA. Mova para o botão anterior com SHIFT+TAB ou SETA PARA ESQUERDA. Pressione ESPAÇO ou ENTER para selecionar o elemento no editor."}]},{name:"Comandos",items:[{name:" Comando Desfazer",legend:"Pressione ${undo}"},{name:" Comando Refazer",legend:"Pressione ${redo}"},{name:" Comando Negrito",legend:"Pressione ${bold}"}, +{name:" Comando Itálico",legend:"Pressione ${italic}"},{name:" Comando Sublinhado",legend:"Pressione ${underline}"},{name:" Comando Link",legend:"Pressione ${link}"},{name:" Comando Fechar Barra de Ferramentas",legend:"Pressione ${toolbarCollapse}"},{name:"Acessar o comando anterior de spaço de foco",legend:"Pressione ${accessNextSpace} para acessar o espaço de foco não alcançável mais próximo antes do cursor, por exemplo: dois elementos HR adjacentes. Repita a combinação de teclas para alcançar espaços de foco distantes."}, +{name:"Acessar próximo fomando de spaço de foco",legend:"Pressione ${accessNextSpace} para acessar o espaço de foco não alcançável mais próximo após o cursor, por exemplo: dois elementos HR adjacentes. Repita a combinação de teclas para alcançar espaços de foco distantes."},{name:" Ajuda de Acessibilidade",legend:"Pressione ${a11yHelp}"},{name:"Colar como texto sem formatação",legend:"Pressione ${pastetext}",legendEdge:"Pressione ${pastetext}, seguido de ${paste}"}]}],tab:"Tecla Tab",pause:"Pause", +capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Seta à Esquerda",upArrow:"Seta à Cima",rightArrow:"Seta à Direita",downArrow:"Seta à Baixo",insert:"Insert",leftWindowKey:"Tecla do Windows Esquerda",rightWindowKey:"Tecla do Windows Direita",selectKey:"Tecla Selecionar",numpad0:"0 do Teclado Numérico",numpad1:"1 do Teclado Numérico",numpad2:"2 do Teclado Numérico",numpad3:"3 do Teclado Numérico",numpad4:"4 do Teclado Numérico",numpad5:"5 do Teclado Numérico",numpad6:"6 do Teclado Numérico", +numpad7:"7 do Teclado Numérico",numpad8:"8 do Teclado Numérico",numpad9:"9 do Teclado Numérico",multiply:"Multiplicar",add:"Mais",subtract:"Subtrair",decimalPoint:"Ponto",divide:"Dividir",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Ponto-e-vírgula",equalSign:"Igual",comma:"Vírgula",dash:"Hífen",period:"Ponto",forwardSlash:"Barra",graveAccent:"Acento Grave",openBracket:"Abrir Conchetes", +backSlash:"Contra-barra",closeBracket:"Fechar Colchetes",singleQuote:"Aspas Simples"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/en.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/en.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/en.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","en",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"General",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", +legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/en.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/af.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/af.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/af.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","af",{title:"Toeganglikheid instruksies",contents:"Hulp inhoud. Druk ESC om toe te maak.",legend:[{name:"Algemeen",items:[{name:"Bewerker balk",legend:"Druk ${toolbarFocus} om op die werkbalk te land. Beweeg na die volgende en voorige wekrbalkgroep met TAB and SHIFT+TAB. Beweeg na die volgende en voorige werkbalkknop met die regter of linker pyl. Druk SPASIE of ENTER om die knop te bevestig."},{name:"Bewerker dialoog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Bewerkerinhoudmenu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", +legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pouse",capslock:"Hoofletterslot",escape:"Ontsnap",pageUp:"Blaaiop",pageDown:"Blaaiaf",leftArrow:"Linkspyl",upArrow:"Oppyl",rightArrow:"Regterpyl",downArrow:"Afpyl",insert:"Toevoeg",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Nommerblok 0",numpad1:"Nommerblok 1", +numpad2:"Nommerblok 2",numpad3:"Nommerblok 3",numpad4:"Nommerblok 4",numpad5:"Nommerblok 5",numpad6:"Nommerblok 6",numpad7:"Nommerblok 7",numpad8:"Nommerblok 8",numpad9:"Nommerblok 9",multiply:"Maal",add:"Plus",subtract:"Minus",decimalPoint:"Desimaalepunt",divide:"Gedeeldeur",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Nommervergrendel",scrollLock:"Rolvergrendel",semiColon:"Kommapunt",equalSign:"Isgelykaan",comma:"Komma",dash:"Koppelteken", +period:"Punt",forwardSlash:"Skuinsstreep",graveAccent:"Aksentteken",openBracket:"Oopblokhakkie",backSlash:"Trustreep",closeBracket:"Toeblokhakkie",singleQuote:"Enkelaanhaalingsteken"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/af.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","sv",{title:"Hjälpmedelsinstruktioner",contents:"Hjälpinnehåll. För att stänga denna dialogruta trycker du på ESC.",legend:[{name:"Allmänt",items:[{name:"Editor verktygsfält",legend:"Tryck på ${toolbarFocus} för att navigera till verktygsfältet. Flytta till nästa och föregående verktygsfältsgrupp med TAB och SHIFT+TAB. Flytta till nästa och föregående knapp i verktygsfältet med HÖGERPIL eller VÄNSTERPIL. Tryck SPACE eller ENTER för att aktivera knappen i verktygsfältet."}, +{name:"Dialogeditor",legend:"Inuti en dialogruta, tryck TAB för att navigera till nästa fält i dialogrutan, tryck SKIFT+TAB för att flytta till föregående fält, tryck ENTER för att skicka. Du avbryter och stänger dialogen med ESC. För dialogrutor som har flera flikar, tryck ALT+F10 eller TAB för att navigera till fliklistan. med fliklistan vald flytta till nästa och föregående flik med HÖGER- eller VÄNSTERPIL."},{name:"Editor för innehållsmeny",legend:"Tryck på $ {contextMenu} eller PROGRAMTANGENTEN för att öppna snabbmenyn. Flytta sedan till nästa menyalternativ med TAB eller NEDPIL. Flytta till föregående alternativ med SHIFT + TABB eller UPPIL. Tryck Space eller ENTER för att välja menyalternativ. Öppna undermeny av nuvarande alternativ med SPACE eller ENTER eller HÖGERPIL. Gå tillbaka till överordnade menyalternativ med ESC eller VÄNSTERPIL. Stäng snabbmenyn med ESC."}, +{name:"Editor för list-box",legend:"Inuti en list-box, gå till nästa listobjekt med TAB eller NEDPIL. Flytta till föregående listobjekt med SHIFT+TAB eller UPPIL. Tryck SPACE eller ENTER för att välja listan alternativet. Tryck ESC för att stänga list-boxen."},{name:"Editor för elementens sökväg",legend:"Tryck på ${elementsPathFocus} för att navigera till verktygsfältet för elementens sökvägar. Flytta till nästa elementknapp med TAB eller HÖGERPIL. Flytta till föregående knapp med SKIFT+TAB eller VÄNSTERPIL. Tryck SPACE eller ENTER för att välja element i redigeraren."}]}, +{name:"Kommandon",items:[{name:"Ångra kommando",legend:"Tryck på ${undo}"},{name:"Gör om kommando",legend:"Tryck på ${redo}"},{name:"Kommandot fet stil",legend:"Tryck på ${bold}"},{name:"Kommandot kursiv",legend:"Tryck på ${italic}"},{name:"Kommandot understruken",legend:"Tryck på ${underline}"},{name:"Kommandot länk",legend:"Tryck på ${link}"},{name:"Verktygsfält Dölj kommandot",legend:"Tryck på ${toolbarCollapse}"},{name:"Gå till föregående fokus plats",legend:"Tryck på ${accessPreviousSpace} för att gå till närmast onåbara utrymme före markören, exempel: två intilliggande HR element. Repetera tangentkombinationen för att gå till nästa."}, +{name:"Tillgå nästa fokuskommandots utrymme",legend:"Tryck ${accessNextSpace} på för att komma åt den närmaste onåbar fokus utrymme efter cirkumflex, till exempel: två intilliggande HR element. Upprepa tangentkombinationen för att nå avlägsna fokus utrymmen."},{name:"Hjälp om tillgänglighet",legend:"Tryck ${a11yHelp}"},{name:"Klistra in som vanlig text",legend:"Tryck ${pastetext}",legendEdge:"Tryck ${pastetext}, följt av ${paste}"}]}],tab:"Tab",pause:"Paus",capslock:"Caps lock",escape:"Escape",pageUp:"Sida Up", +pageDown:"Sida Ned",leftArrow:"Vänsterpil",upArrow:"Uppil",rightArrow:"Högerpil",downArrow:"Nedåtpil",insert:"Infoga",leftWindowKey:"Vänster Windowstangent",rightWindowKey:"Höger Windowstangent",selectKey:"Välj tangent",numpad0:"Nummer 0",numpad1:"Nummer 1",numpad2:"Nummer 2",numpad3:"Nummer 3",numpad4:"Nummer 4",numpad5:"Nummer 5",numpad6:"Nummer 6",numpad7:"Nummer 7",numpad8:"Nummer 8",numpad9:"Nummer 9",multiply:"Multiplicera",add:"Addera",subtract:"Minus",decimalPoint:"Decimalpunkt",divide:"Dividera", +f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semikolon",equalSign:"Lika med tecken",comma:"Komma",dash:"Minus",period:"Punkt",forwardSlash:"Snedstreck framåt",graveAccent:"Accent",openBracket:"Öppningsparentes",backSlash:"Snedstreck bakåt",closeBracket:"Slutparentes",singleQuote:"Enkelt Citattecken"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","mn",{title:"Accessibility Instructions",contents:"Help Contents. To close this dialog press ESC.",legend:[{name:"Ерөнхий",items:[{name:"Editor Toolbar",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Editor Context Menu",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", +legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","hu",{title:"Kisegítő utasítások",contents:"Súgó tartalmak. A párbeszédablak bezárásához nyomjon ESC-et.",legend:[{name:"Általános",items:[{name:"Szerkesztő Eszköztár",legend:"Nyomjon ${toolbarFocus} hogy kijelölje az eszköztárat. A következő és előző eszköztár csoporthoz a TAB és SHIFT+TAB-al juthat el. A következő és előző eszköztár gombhoz a BAL NYÍL vagy JOBB NYÍL gombbal juthat el. Nyomjon SPACE-t vagy ENTER-t hogy aktiválja az eszköztár gombot."},{name:"Szerkesző párbeszéd ablak", +legend:"Párbeszédablakban nyomjon TAB-ot a következő párbeszédmezőhöz ugráshoz, nyomjon SHIFT + TAB-ot az előző mezőhöz ugráshoz, nyomjon ENTER-t a párbeszédablak elfogadásához, nyomjon ESC-et a párbeszédablak elvetéséhez. Azokhoz a párbeszédablakokhoz, amik több fület tartalmaznak, nyomjon ALT + F10-et vagy TAB-ot hogy a fülekre ugorjon. Ezután a TAB-al vagy a JOBB NYÍLLAL a következő fülre ugorhat."},{name:"Szerkesztő helyi menü",legend:"Nyomjon ${contextMenu}-t vagy ALKALMAZÁS BILLENTYŰT a helyi menü megnyitásához. Ezután a következő menüpontra léphet a TAB vagy LEFELÉ NYÍLLAL. Az előző opciót a SHIFT+TAB vagy FELFELÉ NYÍLLAL érheti el. Nyomjon SPACE-t vagy ENTER-t a menüpont kiválasztásához. A jelenlegi menüpont almenüjének megnyitásához nyomjon SPACE-t vagy ENTER-t, vagy JOBB NYILAT. A főmenühöz való visszatéréshez nyomjon ESC-et vagy BAL NYILAT. A helyi menü bezárása az ESC billentyűvel lehetséges."}, +{name:"Szerkesztő lista",legend:"A listán belül a következő elemre a TAB vagy LEFELÉ NYÍLLAL mozoghat. Az előző elem kiválasztásához nyomjon SHIFT+TAB-ot vagy FELFELÉ NYILAT. Nyomjon SPACE-t vagy ENTER-t az elem kiválasztásához. Az ESC billentyű megnyomásával bezárhatja a listát."},{name:"Szerkesztő elem utak sáv",legend:"Nyomj ${elementsPathFocus} hogy kijelöld a elemek út sávját. A következő elem gombhoz a TAB-al vagy a JOBB NYÍLLAL juthatsz el. Az előző gombhoz a SHIFT+TAB vagy BAL NYÍLLAL mehetsz. A SPACE vagy ENTER billentyűvel kiválaszthatod az elemet a szerkesztőben."}]}, +{name:"Parancsok",items:[{name:"Parancs visszavonása",legend:"Nyomj ${undo}"},{name:"Parancs megismétlése",legend:"Nyomjon ${redo}"},{name:"Félkövér parancs",legend:"Nyomjon ${bold}"},{name:"Dőlt parancs",legend:"Nyomjon ${italic}"},{name:"Aláhúzott parancs",legend:"Nyomjon ${underline}"},{name:"Link parancs",legend:"Nyomjon ${link}"},{name:"Szerkesztősáv összecsukása parancs",legend:"Nyomjon ${toolbarCollapse}"},{name:"Hozzáférés az előző fókusz helyhez parancs",legend:"Nyomj ${accessNextSpace} hogy hozzáférj a legközelebbi elérhetetlen fókusz helyhez a hiányjel előtt, például: két szomszédos HR elemhez. Ismételd meg a billentyűkombinációt hogy megtaláld a távolabbi fókusz helyeket."}, +{name:"Hozzáférés a következő fókusz helyhez parancs",legend:"Nyomj ${accessNextSpace} hogy hozzáférj a legközelebbi elérhetetlen fókusz helyhez a hiányjel után, például: két szomszédos HR elemhez. Ismételd meg a billentyűkombinációt hogy megtaláld a távolabbi fókusz helyeket."},{name:"Kisegítő súgó",legend:"Nyomjon ${a11yHelp}"},{name:"Beillesztés egyszerű szövegként",legend:"Nyomd meg: ${pastetext}",legendEdge:"Nyomj ${pastetext}, majd ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock", +escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"balra nyíl",upArrow:"felfelé nyíl",rightArrow:"jobbra nyíl",downArrow:"lefelé nyíl",insert:"Insert",leftWindowKey:"bal Windows-billentyű",rightWindowKey:"jobb Windows-billentyű",selectKey:"Billentyű választása",numpad0:"Számbillentyűk 0",numpad1:"Számbillentyűk 1",numpad2:"Számbillentyűk 2",numpad3:"Számbillentyűk 3",numpad4:"Számbillentyűk 4",numpad5:"Számbillentyűk 5",numpad6:"Számbillentyűk 6",numpad7:"Számbillentyűk 7",numpad8:"Számbillentyűk 8", +numpad9:"Számbillentyűk 9",multiply:"Szorzás",add:"Hozzáadás",subtract:"Kivonás",decimalPoint:"Tizedespont",divide:"Osztás",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Pontosvessző",equalSign:"Egyenlőségjel",comma:"Vessző",dash:"Kötőjel",period:"Pont",forwardSlash:"Perjel",graveAccent:"Visszafelé dőlő ékezet",openBracket:"Nyitó szögletes zárójel",backSlash:"fordított perjel",closeBracket:"Záró szögletes zárójel", +singleQuote:"szimpla idézőjel"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","ru",{title:"Горячие клавиши",contents:"Помощь. Для закрытия этого окна нажмите ESC.",legend:[{name:"Основное",items:[{name:"Панель инструментов",legend:"Нажмите ${toolbarFocus} для перехода к панели инструментов. Для перемещения между группами панели инструментов используйте TAB и SHIFT+TAB. Для перемещения между кнопками панели иструментов используйте кнопки ВПРАВО или ВЛЕВО. Нажмите ПРОБЕЛ или ENTER для запуска кнопки панели инструментов."},{name:"Диалоги",legend:'Внутри диалога, нажмите TAB чтобы перейти к следующему элементу диалога, нажмите SHIFT+TAB чтобы перейти к предыдущему элементу диалога, нажмите ENTER чтобы отправить диалог, нажмите ESC чтобы отменить диалог. Когда диалоговое окно имеет несколько вкладок, получить доступ к панели вкладок как части диалога можно нажатием или сочетания ALT+F10 или TAB, при этом активные элементы диалога будут перебираться с учетом порядка табуляции. При активной панели вкладок, переход к следующей или предыдущей вкладке осуществляется нажатием стрелки "ВПРАВО" или стрелки "ВЛЕВО" соответственно.'}, +{name:"Контекстное меню",legend:'Нажмите ${contextMenu} или клавишу APPLICATION, чтобы открыть контекстное меню. Затем перейдите к следующему пункту меню с помощью TAB или стрелкой "ВНИЗ". Переход к предыдущей опции - SHIFT+TAB или стрелкой "ВВЕРХ". Нажмите SPACE, или ENTER, чтобы задействовать опцию меню. Открыть подменю текущей опции - SPACE или ENTER или стрелкой "ВПРАВО". Возврат к родительскому пункту меню - ESC или стрелкой "ВЛЕВО". Закрытие контекстного меню - ESC.'},{name:"Редактор списка", +legend:'Внутри окна списка, переход к следующему пункту списка - TAB или стрелкой "ВНИЗ". Переход к предыдущему пункту списка - SHIFT+TAB или стрелкой "ВВЕРХ". Нажмите SPACE, или ENTER, чтобы задействовать опцию списка. Нажмите ESC, чтобы закрыть окно списка.'},{name:"Путь к элементу",legend:'Нажмите ${elementsPathFocus}, чтобы перейти к панели пути элементов. Переход к следующей кнопке элемента - TAB или стрелкой "ВПРАВО". Переход к предыдущей кнопку - SHIFT+TAB или стрелкой "ВЛЕВО". Нажмите SPACE, или ENTER, чтобы выбрать элемент в редакторе.'}]}, +{name:"Команды",items:[{name:"Отменить",legend:"Нажмите ${undo}"},{name:"Повторить",legend:"Нажмите ${redo}"},{name:"Полужирный",legend:"Нажмите ${bold}"},{name:"Курсив",legend:"Нажмите ${italic}"},{name:"Подчеркнутый",legend:"Нажмите ${underline}"},{name:"Гиперссылка",legend:"Нажмите ${link}"},{name:"Свернуть панель инструментов",legend:"Нажмите ${toolbarCollapse}"},{name:"Команды доступа к предыдущему фокусному пространству",legend:'Нажмите ${accessPreviousSpace}, чтобы обратиться к ближайшему недостижимому фокусному пространству перед символом "^", например: два смежных HR элемента. Повторите комбинацию клавиш, чтобы достичь отдаленных фокусных пространств.'}, +{name:"Команды доступа к следующему фокусному пространству",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:"Справка по горячим клавишам",legend:"Нажмите ${a11yHelp}"},{name:"Вставить только текст",legend:"Нажмите ${pastetext}",legendEdge:"Нажмите ${pastetext} и затем ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Esc",pageUp:"Page Up", +pageDown:"Page Down",leftArrow:"Стрелка влево",upArrow:"Стрелка вверх",rightArrow:"Стрелка вправо",downArrow:"Стрелка вниз",insert:"Insert",leftWindowKey:"Левая клавиша Windows",rightWindowKey:"Правая клавиша Windows",selectKey:"Выбрать",numpad0:"Цифра 0",numpad1:"Цифра 1",numpad2:"Цифра 2",numpad3:"Цифра 3",numpad4:"Цифра 4",numpad5:"Цифра 5",numpad6:"Цифра 6",numpad7:"Цифра 7",numpad8:"Цифра 8",numpad9:"Цифра 9",multiply:"Умножить",add:"Плюс",subtract:"Вычесть",decimalPoint:"Десятичная точка",divide:"Делить", +f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Точка с запятой",equalSign:"Равно",comma:"Запятая",dash:"Тире",period:"Точка",forwardSlash:"Наклонная черта",graveAccent:"Апостроф",openBracket:"Открыть скобку",backSlash:"Обратная наклонная черта",closeBracket:"Закрыть скобку",singleQuote:"Одинарная кавычка"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/de.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/de.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/de.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","de",{title:"Barrierefreiheitinformationen",contents:"Hilfeinhalt. Um den Dialog zu schliessen die Taste ESC drücken.",legend:[{name:"Allgemein",items:[{name:"Editorwerkzeugleiste",legend:"Drücken Sie ${toolbarFocus} auf der Symbolleiste. Gehen Sie zur nächsten oder vorherigen Symbolleistengruppe mit TAB und SHIFT+TAB. Gehen Sie zur nächsten oder vorherigen Symbolleiste auf die Schaltfläche mit dem RECHTS- oder LINKS-Pfeil. Drücken Sie die Leertaste oder Eingabetaste, um die Schaltfläche in der Symbolleiste aktivieren."}, +{name:"Editordialog",legend:"Drücke innerhalb eines Dialogs TAB, um zum nächsten Element zu springen. Drücke SHIFT+TAB, um zum vorigen Element zu springen, drücke ENTER um das Formular im Dialog abzusenden, drücke ESC, um den Dialog zu schließen. Hat der Dialog mehrere Tabs, dann kannst du durch ALT+F10 die Tab-Liste aufrufen or mittels TAB als Teil der Dialog-Tab-Reihenfolge. Ist die Tab-Liste fokussiert, dann mithilfe der Pfeiltasten (LINKS und RECHTS) zwischen den Tabs gewechselt werden."},{name:"Editor-Kontextmenü", +legend:"Dürcken Sie ${contextMenu} oder die Anwendungstaste um das Kontextmenü zu öffnen. Man kann die Pfeiltasten zum Wechsel benutzen. Mit der Leertaste oder der Enter-Taste kann man den Menüpunkt aufrufen. Schliessen Sie das Kontextmenü mit der ESC-Taste."},{name:"Editor-Listenbox",legend:"Innerhalb einer Listenbox kann man mit der TAB-Taste oder den Pfeilrunter-Taste den nächsten Menüeintrag wählen. Mit der SHIFT+TAB Tastenkombination oder der Pfeilhoch-Taste gelangt man zum vorherigen Menüpunkt. Mit der Leertaste oder Enter kann man den Menüpunkt auswählen. Drücken Sie ESC zum Verlassen des Menüs."}, +{name:"Editor-Elementpfadleiste",legend:"Drücken Sie ${elementsPathFocus} um sich durch die Pfadleiste zu bewegen. Um zum nächsten Element zu gelangen drücken Sie TAB oder die Pfeilrechts-Taste. Zum vorherigen Element gelangen Sie mit der SHIFT+TAB oder der Pfeillinks-Taste. Drücken Sie die Leertaste oder Enter um das Element auszuwählen."}]},{name:"Befehle",items:[{name:"Rückgängig-Befehl",legend:"Drücken Sie ${undo}"},{name:"Wiederherstellen-Befehl",legend:"Drücken Sie ${redo}"},{name:"Fettschrift-Befehl", +legend:"Drücken Sie ${bold}"},{name:"Kursiv-Befehl",legend:"Drücken Sie ${italic}"},{name:"Unterstreichen-Befehl",legend:"Drücken Sie ${underline}"},{name:"Link-Befehl",legend:"Drücken Sie ${link}"},{name:"Werkzeugleiste einklappen-Befehl",legend:"Drücken Sie ${toolbarCollapse}"},{name:"Zugang bisheriger Fokussierung Raumbefehl ",legend:"Drücken Sie ${accessPreviousSpace} auf den am nächsten nicht erreichbar Fokus-Abstand vor die Einfügemarke zugreifen: zwei benachbarte HR-Elemente. Wiederholen Sie die Tastenkombination um entfernte Fokusräume zu erreichen. "}, +{name:"Zugang nächster Schwerpunkt Raumbefehl ",legend:"Drücken Sie $ { accessNextSpace }, um den nächsten unerreichbar Fokus Leerzeichen nach dem Cursor zum Beispiel auf: zwei benachbarten HR Elemente. Wiederholen Sie die Tastenkombination zum fernen Fokus Bereiche zu erreichen. "},{name:"Eingabehilfen",legend:"Drücken Sie ${a11yHelp}"},{name:"Einfügen als unformatierter Text. ",legend:"Drücke ${pastetext}",legendEdge:"Drücke ${pastetext} und anschließend ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Feststell", +escape:"Escape",pageUp:"Bild auf",pageDown:"Bild ab",leftArrow:"Linke Pfeiltaste",upArrow:"Obere Pfeiltaste",rightArrow:"Rechte Pfeiltaste",downArrow:"Untere Pfeiltaste",insert:"Einfügen",leftWindowKey:"Linke Windowstaste",rightWindowKey:"Rechte Windowstaste",selectKey:"Taste auswählen",numpad0:"Ziffernblock 0",numpad1:"Ziffernblock 1",numpad2:"Ziffernblock 2",numpad3:"Ziffernblock 3",numpad4:"Ziffernblock 4",numpad5:"Ziffernblock 5",numpad6:"Ziffernblock 6",numpad7:"Ziffernblock 7",numpad8:"Ziffernblock 8", +numpad9:"Ziffernblock 9",multiply:"Multiplizieren",add:"Addieren",subtract:"Subtrahieren",decimalPoint:"Punkt",divide:"Dividieren",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Ziffernblock feststellen",scrollLock:"Rollen",semiColon:"Semikolon",equalSign:"Gleichheitszeichen",comma:"Komma",dash:"Bindestrich",period:"Punkt",forwardSlash:"Schrägstrich",graveAccent:"Gravis",openBracket:"Öffnende eckige Klammer",backSlash:"Rückwärtsgewandter Schrägstrich", +closeBracket:"Schließende eckige Klammer",singleQuote:"Einfaches Anführungszeichen"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/de.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/he.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/he.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/he.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","he",{title:"הוראות נגישות",contents:"הוראות נגישות. לסגירה לחץ אסקייפ (ESC).",legend:[{name:"כללי",items:[{name:"סרגל הכלים",legend:"לחץ על ${toolbarFocus} כדי לנווט לסרגל הכלים. עבור לכפתור הבא עם מקש הטאב (TAB) או חץ שמאלי. עבור לכפתור הקודם עם מקש השיפט (SHIFT) + טאב (TAB) או חץ ימני. לחץ רווח או אנטר (ENTER) כדי להפעיל את הכפתור הנבחר."},{name:"דיאלוגים (חלונות תשאול)",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"תפריט ההקשר (Context Menu)",legend:"לחץ ${contextMenu} או APPLICATION KEYכדי לפתוח את תפריט ההקשר. עבור לאפשרות הבאה עם טאב (TAB) או חץ למטה. עבור לאפשרות הקודמת עם שיפט (SHIFT) + טאב (TAB) או חץ למעלה. לחץ רווח או אנטר (ENTER) כדי לבחור את האפשרות. פתח את תת התפריט (Sub-menu) של האפשרות הנוכחית עם רווח או אנטר (ENTER) או חץ שמאלי. חזור לתפריט האב עם אסקייפ (ESC) או חץ שמאלי. סגור את תפריט ההקשר עם אסקייפ (ESC)."},{name:"תפריטים צפים (List boxes)",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"עץ אלמנטים (Elements Path)",legend:"לחץ ${elementsPathFocus} כדי לנווט לעץ האלמנטים. עבור לפריט הבא עם טאב (TAB) או חץ ימני. עבור לפריט הקודם עם שיפט (SHIFT) + טאב (TAB) או חץ שמאלי. לחץ רווח או אנטר (ENTER) כדי לבחור את האלמנט בעורך."}]},{name:"פקודות",items:[{name:" ביטול צעד אחרון",legend:"לחץ ${undo}"},{name:" חזרה על צעד אחרון",legend:"לחץ ${redo}"},{name:" הדגשה",legend:"לחץ ${bold}"},{name:" הטייה",legend:"לחץ ${italic}"},{name:" הוספת קו תחתון",legend:"לחץ ${underline}"},{name:" הוספת לינק", +legend:"לחץ ${link}"},{name:" כיווץ סרגל הכלים",legend:"לחץ ${toolbarCollapse}"},{name:"גישה למיקום המיקוד הקודם",legend:"לחץ ${accessPreviousSpace} כדי לגשת למיקום המיקוד הלא-נגיש הקרוב לפני הסמן, למשל בין שני אלמנטים סמוכים מסוג HR. חזור על צירוף מקשים זה כדי להגיע למקומות מיקוד רחוקים יותר."},{name:"גישה למיקום המיקוד הבא",legend:"לחץ ${accessNextSpace} כדי לגשת למיקום המיקוד הלא-נגיש הקרוב אחרי הסמן, למשל בין שני אלמנטים סמוכים מסוג HR. חזור על צירוף מקשים זה כדי להגיע למקומות מיקוד רחוקים יותר."}, +{name:" הוראות נגישות",legend:"לחץ ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"חץ שמאלה",upArrow:"חץ למעלה",rightArrow:"חץ ימינה",downArrow:"חץ למטה",insert:"הכנס",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"בחר מקש",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2", +numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"הוסף",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"סלאש",graveAccent:"Grave Accent", +openBracket:"Open Bracket",backSlash:"סלאש הפוך",closeBracket:"Close Bracket",singleQuote:"ציטוט יחיד"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/he.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt (revision 7) @@ -0,0 +1,25 @@ +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + +cs.js Found: 30 Missing: 0 +cy.js Found: 30 Missing: 0 +da.js Found: 12 Missing: 18 +de.js Found: 30 Missing: 0 +el.js Found: 25 Missing: 5 +eo.js Found: 30 Missing: 0 +fa.js Found: 30 Missing: 0 +fi.js Found: 30 Missing: 0 +fr.js Found: 30 Missing: 0 +gu.js Found: 12 Missing: 18 +he.js Found: 30 Missing: 0 +it.js Found: 30 Missing: 0 +mk.js Found: 5 Missing: 25 +nb.js Found: 30 Missing: 0 +nl.js Found: 30 Missing: 0 +no.js Found: 30 Missing: 0 +pt-br.js Found: 30 Missing: 0 +ro.js Found: 6 Missing: 24 +tr.js Found: 30 Missing: 0 +ug.js Found: 27 Missing: 3 +vi.js Found: 6 Missing: 24 +zh-cn.js Found: 30 Missing: 0 Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/et.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/et.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/et.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","et",{title:"Accessibility Instructions",contents:"Abi sisu. Selle dialoogi sulgemiseks vajuta ESC klahvi.",legend:[{name:"Üldine",items:[{name:"Redaktori tööriistariba",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Editor Dialog",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Redaktori kontekstimenüü",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."},{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."}, +{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]},{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command", +legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:"Asetamine tavalise tekstina",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Paus",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Nool vasakule",upArrow:"Nool üles",rightArrow:"Nool paremale",downArrow:"Nool alla",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1", +numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Lisa",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Koma",dash:"Sidekriips",period:"Punkt",forwardSlash:"Forward Slash", +graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/et.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/it.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/it.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/it.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","it",{title:"Istruzioni di Accessibilità",contents:"Contenuti di Aiuto. Per chiudere questa finestra premi ESC.",legend:[{name:"Generale",items:[{name:"Barra degli strumenti Editor",legend:"Premere ${toolbarFocus} per passare alla barra degli strumenti. Usare TAB per spostarsi al gruppo successivo, MAIUSC+TAB per spostarsi a quello precedente. Usare FRECCIA DESTRA per spostarsi al pulsante successivo, FRECCIA SINISTRA per spostarsi a quello precedente. Premere SPAZIO o INVIO per attivare il pulsante della barra degli strumenti."}, +{name:"Finestra Editor",legend:"All'interno di una finestra di dialogo è possibile premere TAB per passare all'elemento successivo della finestra, MAIUSC+TAB per passare a quello precedente; premere INVIO per inviare i dati della finestra, oppure ESC per annullare l'operazione. Quando una finestra di dialogo ha più schede, è possibile passare all'elenco delle schede sia con ALT+F10 che con TAB, in base all'ordine delle tabulazioni della finestra. Quando l'elenco delle schede è attivo, premere la FRECCIA DESTRA o la FRECCIA SINISTRA per passare rispettivamente alla scheda successiva o a quella precedente."}, +{name:"Menù contestuale Editor",legend:"Premi ${contextMenu} o TASTO APPLICAZIONE per aprire il menu contestuale. Dunque muoviti all'opzione successiva del menu con il tasto TAB o con la Freccia Sotto. Muoviti all'opzione precedente con MAIUSC+TAB o con Freccia Sopra. Premi SPAZIO o INVIO per scegliere l'opzione di menu. Apri il sottomenu dell'opzione corrente con SPAZIO o INVIO oppure con la Freccia Destra. Torna indietro al menu superiore con ESC oppure Freccia Sinistra. Chiudi il menu contestuale con ESC."}, +{name:"Box Lista Editor",legend:"All'interno di un elenco di opzioni, per spostarsi all'elemento successivo premere TAB oppure FRECCIA GIÙ. Per spostarsi all'elemento precedente usare SHIFT+TAB oppure FRECCIA SU. Premere SPAZIO o INVIO per selezionare l'elemento della lista. Premere ESC per chiudere l'elenco di opzioni."},{name:"Barra percorso elementi editor",legend:"Premere ${elementsPathFocus} per passare agli elementi della barra del percorso. Usare TAB o FRECCIA DESTRA per passare al pulsante successivo. Per passare al pulsante precedente premere MAIUSC+TAB o FRECCIA SINISTRA. Premere SPAZIO o INVIO per selezionare l'elemento nell'editor."}]}, +{name:"Comandi",items:[{name:" Annulla comando",legend:"Premi ${undo}"},{name:" Ripeti comando",legend:"Premi ${redo}"},{name:" Comando Grassetto",legend:"Premi ${bold}"},{name:" Comando Corsivo",legend:"Premi ${italic}"},{name:" Comando Sottolineato",legend:"Premi ${underline}"},{name:" Comando Link",legend:"Premi ${link}"},{name:" Comando riduci barra degli strumenti",legend:"Premi ${toolbarCollapse}"},{name:"Comando di accesso al precedente spazio di focus",legend:"Premi ${accessPreviousSpace} per accedere il più vicino spazio di focus non raggiungibile prima del simbolo caret, per esempio due elementi HR adiacenti. Ripeti la combinazione di tasti per raggiungere spazi di focus distanti."}, +{name:"Comando di accesso al prossimo spazio di focus",legend:"Premi ${accessNextSpace} per accedere il più vicino spazio di focus non raggiungibile dopo il simbolo caret, per esempio due elementi HR adiacenti. Ripeti la combinazione di tasti per raggiungere spazi di focus distanti."},{name:" Aiuto Accessibilità",legend:"Premi ${a11yHelp}"},{name:"Incolla come testo semplice",legend:"Premi ${pastetext}",legendEdge:"Premi ${pastetext}, seguito da ${paste}"}]}],tab:"Tab",pause:"Pausa",capslock:"Bloc Maiusc", +escape:"Esc",pageUp:"Pagina sù",pageDown:"Pagina giù",leftArrow:"Freccia sinistra",upArrow:"Freccia su",rightArrow:"Freccia destra",downArrow:"Freccia giù",insert:"Ins",leftWindowKey:"Tasto di Windows sinistro",rightWindowKey:"Tasto di Windows destro",selectKey:"Tasto di selezione",numpad0:"0 sul tastierino numerico",numpad1:"1 sul tastierino numerico",numpad2:"2 sul tastierino numerico",numpad3:"3 sul tastierino numerico",numpad4:"4 sul tastierino numerico",numpad5:"5 sul tastierino numerico",numpad6:"6 sul tastierino numerico", +numpad7:"7 sul tastierino numerico",numpad8:"8 sul tastierino numerico",numpad9:"9 sul tastierino numerico",multiply:"Moltiplicazione",add:"Più",subtract:"Sottrazione",decimalPoint:"Punto decimale",divide:"Divisione",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Bloc Num",scrollLock:"Bloc Scorr",semiColon:"Punto-e-virgola",equalSign:"Segno di uguale",comma:"Virgola",dash:"Trattino",period:"Punto",forwardSlash:"Barra",graveAccent:"Accento grave", +openBracket:"Parentesi quadra aperta",backSlash:"Barra rovesciata",closeBracket:"Parentesi quadra chiusa",singleQuote:"Apostrofo"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/it.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/el.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/el.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/el.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","el",{title:"Οδηγίες Προσβασιμότητας",contents:"Περιεχόμενα Βοήθειας. Πατήστε ESC για κλείσιμο.",legend:[{name:"Γενικά",items:[{name:"Εργαλειοθήκη Επεξεργαστή",legend:"Πατήστε ${toolbarFocus} για να περιηγηθείτε στην γραμμή εργαλείων. Μετακινηθείτε ανάμεσα στις ομάδες της γραμμής εργαλείων με TAB και SHIFT+TAB. Μετακινηθείτε ανάμεσα στα κουμπιά εργαλείων με το ΔΕΞΙ ή ΑΡΙΣΤΕΡΟ ΒΕΛΑΚΙ. Πατήστε ΔΙΑΣΤΗΜΑ ή ENTER για να ενεργοποιήσετε το ενεργό κουμπί εργαλείου."},{name:"Παράθυρο Διαλόγου Επεξεργαστή", +legend:"Μέσα σε έναν διάλογο, πιέσετε TAB για να πλοηγηθείτε στο επόμενο στοιχείο του διαλόγου, πιέστε SHIFT+TAB για αν πλοηγηθείτε στο προηγούμενο στοιχείο του διαλόγου, πιέστε ENTER για να υποβάλετε τον διάλογο, πιέστε ESC για να ακυρώσετε τον διάλογο. Όταν ένας διάλογος έχει πολλαπλές παραγράφους, η λίστα των παραγράφων μπορεί να προσπεραστεί είτε με ALT+F10 είτε με TAB σαν μέρος της σειράς παραγράφων του διαλόγου. Με την λίστα των παραγράφων επιλεγμένη, προχωρήστε στην επόμενη και προηγούμενη παράγραφο με τα βέλη ΔΕΞΙΑ και ΑΡΙΣΤΕΡΑ, αντίστοιχα."}, +{name:"Αναδυόμενο Μενού Επεξεργαστή",legend:"Πατήστε ${contextMenu} ή APPLICATION KEY για να ανοίξετε το αναδυόμενο μενού. Μετά μετακινηθείτε στην επόμενη επιλογή του μενού με TAB ή ΚΑΤΩ ΒΕΛΑΚΙ. Μετακινηθείτε στην προηγούμενη επιλογή με SHIFT+TAB ή το ΠΑΝΩ ΒΕΛΑΚΙ. Πατήστε ΔΙΑΣΤΗΜΑ ή ENTER για να επιλέξτε το τρέχων στοιχείο. Ανοίξτε το αναδυόμενο μενού της τρέχουσας επιλογής με ΔΙΑΣΤΗΜΑ ή ENTER ή το ΔΕΞΙ ΒΕΛΑΚΙ. Μεταβείτε πίσω στο αρχικό στοιχείο μενού με το ESC ή το ΑΡΙΣΤΕΡΟ ΒΕΛΑΚΙ. Κλείστε το αναδυόμενο μενού με ESC."}, +{name:"Κουτί Λίστας Επεξεργαστών",legend:"Μέσα σε ένα κουτί λίστας, μετακινηθείτε στο επόμενο στοιχείο με TAB ή ΚΑΤΩ ΒΕΛΑΚΙ. Μετακινηθείτε στο προηγούμενο στοιχείο με SHIFT+TAB ή το ΠΑΝΩ ΒΕΛΑΚΙ. Πατήστε ΔΙΑΣΤΗΜΑ ή ENTER για να επιλέξετε ένα στοιχείο. Πατήστε ESC για να κλείσετε το κουτί της λίστας."},{name:"Μπάρα Διαδρομών Στοιχείων Επεξεργαστή",legend:"Πατήστε ${elementsPathFocus} για να περιηγηθείτε στην μπάρα διαδρομών στοιχείων του επεξεργαστή. Μετακινηθείτε στο κουμπί του επόμενου στοιχείου με το TAB ή το ΔΕΞΙ ΒΕΛΑΚΙ. Μετακινηθείτε στο κουμπί του προηγούμενου στοιχείου με το SHIFT+TAB ή το ΑΡΙΣΤΕΡΟ ΒΕΛΑΚΙ. Πατήστε ΔΙΑΣΤΗΜΑ ή ENTER για να επιλέξετε το στοιχείο στον επεξεργαστή."}]}, +{name:"Εντολές",items:[{name:"Εντολή αναίρεσης",legend:"Πατήστε ${undo}"},{name:"Εντολή επανάληψης",legend:"Πατήστε ${redo}"},{name:"Εντολή έντονης γραφής",legend:"Πατήστε ${bold}"},{name:"Εντολή πλάγιας γραφής",legend:"Πατήστε ${italic}"},{name:"Εντολή υπογράμμισης",legend:"Πατήστε ${underline}"},{name:"Εντολή συνδέσμου",legend:"Πατήστε ${link}"},{name:"Εντολή Σύμπτηξης Εργαλειοθήκης",legend:"Πατήστε ${toolbarCollapse}"},{name:"Πρόσβαση στην προηγούμενη εντολή του χώρου εστίασης ",legend:"Πατήστε ${accessPreviousSpace} για να έχετε πρόσβαση στον πιο κοντινό χώρο εστίασης πριν το δρομέα, για παράδειγμα: δύο παρακείμενα στοιχεία ΥΕ. Επαναλάβετε το συνδυασμό πλήκτρων για να φθάσετε στους χώρους μακρινής εστίασης. "}, +{name:"Πρόσβαση στην επόμενη εντολή του χώρου εστίασης",legend:"Πατήστε ${accessNextSpace} για να έχετε πρόσβαση στον πιο κοντινό χώρο εστίασης μετά το δρομέα, για παράδειγμα: δύο παρακείμενα στοιχεία ΥΕ. Επαναλάβετε το συνδυασμό πλήκτρων για τους χώρους μακρινής εστίασης. "},{name:"Βοήθεια Προσβασιμότητας",legend:"Πατήστε ${a11yHelp}"},{name:"Επικολλήστε ως απλό κείμενο.",legend:"Πιέστε $(pastetext)",legendEdge:"Πιέστε $(pastetext), ακολουθούμενο με (paste)_"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock", +escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Αριστερό Βέλος",upArrow:"Πάνω Βέλος",rightArrow:"Δεξί Βέλος",downArrow:"Κάτω Βέλος",insert:"Insert ",leftWindowKey:"Αριστερό Πλήκτρο Windows",rightWindowKey:"Δεξί Πλήκτρο Windows",selectKey:"Πλήκτρο Select",numpad0:"Αριθμητικό πληκτρολόγιο 0",numpad1:"Αριθμητικό Πληκτρολόγιο 1",numpad2:"Αριθμητικό πληκτρολόγιο 2",numpad3:"Αριθμητικό πληκτρολόγιο 3",numpad4:"Αριθμητικό πληκτρολόγιο 4",numpad5:"Αριθμητικό πληκτρολόγιο 5",numpad6:"Αριθμητικό πληκτρολόγιο 6", +numpad7:"Αριθμητικό πληκτρολόγιο 7",numpad8:"Αριθμητικό πληκτρολόγιο 8",numpad9:"Αριθμητικό πληκτρολόγιο 9",multiply:"Πολλαπλασιασμός",add:"Πρόσθεση",subtract:"Αφαίρεση",decimalPoint:"Υποδιαστολή",divide:"Διαίρεση",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"6",f7:"7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Ερωτηματικό",equalSign:"Σύμβολο Ισότητας",comma:"Κόμμα",dash:"Παύλα",period:"Τελεία",forwardSlash:"Κάθετος",graveAccent:"Βαρεία",openBracket:"Άνοιγμα Παρένθεσης", +backSlash:"Ανάστροφη Κάθετος",closeBracket:"Κλείσιμο Παρένθεσης",singleQuote:"Απόστροφος"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/el.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","gl",{title:"Instrucións de accesibilidade",contents:"Axuda. Para pechar este diálogo prema ESC.",legend:[{name:"Xeral",items:[{name:"Barra de ferramentas do editor",legend:"Prema ${toolbarFocus} para navegar pola barra de ferramentas. Para moverse polos distintos grupos de ferramentas use as teclas TAB e MAIÚS+TAB. Para moverse polas distintas ferramentas use FRECHA DEREITA ou FRECHA ESQUERDA. Prema ESPAZO ou INTRO para activar o botón da barra de ferramentas."}, +{name:"Editor de diálogo",legend:"Dentro do diálogo, prema TAB para navegar cara os seguintes elementos de diálogo, prema MAIÚS+TAB para moverse cara os anteriores elementos de diálogo, prema INTRO para enviar o diálogo, prema ESC para cancelar o diálogo. Cando o diálogo ten múltiples lapelas, a lista de lapelas pode cinguirse con ALT+F10 ou con TAB como parte da orde de lapelas do diálogo. Coa lapela en foco, pode moverse cara a seguinte ou a anterior lapela coas FRECHAS ESQUERDA e DEREICHA respectivamente."}, +{name:"Editor do menú contextual",legend:"Prema ${contextMenu} ou a TECLA MENÚ para abrir o menú contextual. A seguir móvase á seguinte opción do menú con TAB ou FRECHA ABAIXO. Móvase á opción anterior con MAIÚS + TAB ou FRECHA ARRIBA. Prema ESPAZO ou INTRO para seleccionar a opción do menú. Abra o submenú da opción actual con ESPAZO ou INTRO ou FRECHA DEREITA. Regrese ao elemento principal do menú con ESC ou FRECHA ESQUERDA. Peche o menú contextual con ESC."},{name:"Lista do editor",legend:"Dentro dunha lista, móvase ao seguinte elemento da lista con TAB ou FRECHA ABAIXO. Móvase ao elemento anterior da lista con MAIÚS+TAB ou FRECHA ARRIBA. Prema ESPAZO ou INTRO para escoller a opción da lista. Prema ESC para pechar a lista."}, +{name:"Barra da ruta ao elemento no editor",legend:"Prema ${elementsPathFocus} para navegar ata os elementos da barra de ruta. Móvase ao seguinte elemento botón con TAB ou FRECHA DEREITA. Móvase ao botón anterior con MAIÚS+TAB ou FRECHA ESQUERDA. Prema ESPAZO ou INTRO para seleccionar o elemento no editor."}]},{name:"Ordes",items:[{name:"Orde «desfacer»",legend:"Prema ${undo}"},{name:"Orde «refacer»",legend:"Prema ${redo}"},{name:"Orde «negra»",legend:"Prema ${bold}"},{name:"Orde «cursiva»",legend:"Prema ${italic}"}, +{name:"Orde «subliñar»",legend:"Prema ${underline}"},{name:"Orde «ligazón»",legend:"Prema ${link}"},{name:"Orde «contraer a barra de ferramentas»",legend:"Prema ${toolbarCollapse}"},{name:"Orde «acceder ao anterior espazo en foco»",legend:"Prema ${accessPreviousSpace} para acceder ao espazo máis próximo de foco inalcanzábel anterior ao cursor, por exemplo: dous elementos HR adxacentes. Repita a combinación de teclas para chegar a espazos de foco distantes."},{name:"Orde «acceder ao seguinte espazo en foco»", +legend:"Prema ${accessNextSpace} para acceder ao espazo máis próximo de foco inalcanzábel posterior ao cursor, por exemplo: dous elementos HR adxacentes. Repita a combinación de teclas para chegar a espazos de foco distantes."},{name:"Axuda da accesibilidade",legend:"Prema ${a11yHelp}"},{name:"Pegar como texto simple",legend:"Prema ${pastetext}",legendEdge:"Prema ${pastetext}, seguido de ${paste}"}]}],tab:"Tabulador",pause:"Pausa",capslock:"Bloq. Maiús",escape:"Escape",pageUp:"Páxina arriba",pageDown:"Páxina abaixo", +leftArrow:"Frecha esquerda",upArrow:"Frecha arriba",rightArrow:"Frecha dereita",downArrow:"Frecha abaixo",insert:"Inserir",leftWindowKey:"Tecla Windows esquerda",rightWindowKey:"Tecla Windows dereita",selectKey:"Escolla a tecla",numpad0:"Tec. numérico 0",numpad1:"Tec. numérico 1",numpad2:"Tec. numérico 2",numpad3:"Tec. numérico 3",numpad4:"Tec. numérico 4",numpad5:"Tec. numérico 5",numpad6:"Tec. numérico 6",numpad7:"Tec. numérico 7",numpad8:"Tec. numérico 8",numpad9:"Tec. numérico 9",multiply:"Multiplicar", +add:"Sumar",subtract:"Restar",decimalPoint:"Punto decimal",divide:"Dividir",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Bloq. num.",scrollLock:"Bloq. despraz.",semiColon:"Punto e coma",equalSign:"Signo igual",comma:"Coma",dash:"Guión",period:"Punto",forwardSlash:"Barra inclinada",graveAccent:"Acento grave",openBracket:"Abrir corchete",backSlash:"Barra invertida",closeBracket:"Pechar corchete",singleQuote:"Comiña simple"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/id.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/id.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/id.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","id",{title:"Instruksi Accessibility",contents:"Bantuan. Tekan ESC untuk menutup dialog ini.",legend:[{name:"Umum",items:[{name:"Toolbar Editor",legend:"Tekan ${toolbarFocus} untuk berpindah ke toolbar. Untuk berpindah ke group toolbar selanjutnya dan sebelumnya gunakan TAB dan SHIFT+TAB. Untuk berpindah ke tombol toolbar selanjutnya dan sebelumnya gunakan RIGHT ARROW atau LEFT ARROW. Tekan SPASI atau ENTER untuk mengaktifkan tombol toolbar."},{name:"Dialog Editor", +legend:"Pada jendela dialog, tekan TAB untuk berpindah pada elemen dialog selanjutnya, tekan SHIFT+TAB untuk berpindah pada elemen dialog sebelumnya, tekan ENTER untuk submit dialog, tekan ESC untuk membatalkan dialog. Pada dialog dengan multi tab, daftar tab dapat diakses dengan ALT+F10 ataupun dengan tombol TAB sesuai urutan tab pada dialog. Jika daftar tab aktif terpilih, untuk berpindah tab dapat menggunakan RIGHT dan LEFT ARROW."},{name:"Context Menu Editor",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."}, +{name:"List Box Editor",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]}, +{name:"Commands",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down", +leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3", +f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/id.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","sl",{title:"Navodila za dostopnost",contents:"Vsebina pomoči. Če želite zapreti pogovorno okno, pritisnite ESC.",legend:[{name:"Splošno",items:[{name:"Orodna vrstica urejevalnika",legend:"Pritisnite ${toolbarFocus} za pomik v orodno vrstico. Z TAB in SHIFT+TAB se pomikate na naslednjo in prejšnjo skupino orodne vrstice. Z DESNO PUŠČICO ali LEVO PUŠČICO se pomikate na naslednji in prejšnji gumb orodne vrstice. Pritisnite SPACE ali ENTER, da aktivirate gumb orodne vrstice."}, +{name:"Urejevalno Pogovorno Okno",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Kontekstni meni urejevalnika",legend:"Pritisnite ${contextMenu} ali APPLICATION KEY, da odprete kontekstni meni. Nato se premaknite na naslednjo možnost menija s tipko TAB ali PUŠČICA DOL. Premakniti se na prejšnjo možnost z SHIFT + TAB ali PUŠČICA GOR. Pritisnite SPACE ali ENTER za izbiro možnosti menija. Odprite podmeni trenutne možnosti menija s tipko SPACE ali ENTER ali DESNA PUŠČICA. Vrnite se na matični element menija s tipko ESC ali LEVA PUŠČICA. Zaprite kontekstni meni z ESC."}, +{name:"Urejevalno Seznamsko Polje",legend:"Znotraj seznama, se premaknete na naslednji element seznama s tipko TAB ali PUŠČICO DOL. Z SHIFT+TAB ali PUŠČICO GOR se premaknete na prejšnji element seznama. Pritisnite tipko SPACE ali ENTER za izbiro elementa. Pritisnite tipko ESC, da zaprete seznam."},{name:"Urejevalna vrstica poti elementa",legend:"Pritisnite ${elementsPathFocus} za pomikanje po vrstici elementnih poti. S TAB ali DESNA PUŠČICA se premaknete na naslednji gumb elementa. Z SHIFT+TAB ali LEVO PUŠČICO se premaknete na prejšnji gumb elementa. Pritisnite SPACE ali ENTER za izbiro elementa v urejevalniku."}]}, +{name:"Ukazi",items:[{name:"Razveljavi ukaz",legend:"Pritisnite ${undo}"},{name:"Ponovi ukaz",legend:"Pritisnite ${redo}"},{name:"Krepki ukaz",legend:"Pritisnite ${bold}"},{name:"Ležeči ukaz",legend:"Pritisnite ${italic}"},{name:"Poudarni ukaz",legend:"Pritisnite ${underline}"},{name:"Ukaz povezave",legend:"Pritisnite ${link}"},{name:"Skrči Orodno Vrstico Ukaz",legend:"Pritisnite ${toolbarCollapse}"},{name:"Dostop do prejšnjega ukaza ostrenja",legend:"Pritisnite ${accessPreviousSpace} za dostop do najbližjega nedosegljivega osredotočenega prostora pred strešico, npr.: dva sosednja HR elementa. Ponovite kombinacijo tipk, da dosežete oddaljene osredotočene prostore."}, +{name:"Dostop do naslednjega ukaza ostrenja",legend:"Pritisnite ${accessNextSpace} za dostop do najbližjega nedosegljivega osredotočenega prostora po strešici, npr.: dva sosednja HR elementa. Ponovite kombinacijo tipk, da dosežete oddaljene osredotočene prostore."},{name:"Pomoč dostopnosti",legend:"Pritisnite ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape", +pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Puščica levo",upArrow:"Puščica gor",rightArrow:"Puščica desno",downArrow:"Puščica dol",insert:"Insert",leftWindowKey:"Leva tipka Windows",rightWindowKey:"Desna tipka Windows",selectKey:"Select tipka",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Zmnoži",add:"Dodaj",subtract:"Odštej",decimalPoint:"Decimalna vejica", +divide:"Deli",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Podpičje",equalSign:"Enačaj",comma:"Vejica",dash:"Vezaj",period:"Pika",forwardSlash:"Desna poševnica",graveAccent:"Krativec",openBracket:"Oklepaj",backSlash:"Leva poševnica",closeBracket:"Zaklepaj",singleQuote:"Opuščaj"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","cs",{title:"Instrukce pro přístupnost",contents:"Obsah nápovědy. Pro uzavření tohoto dialogu stiskněte klávesu ESC.",legend:[{name:"Obecné",items:[{name:"Panel nástrojů editoru",legend:"Stiskněte${toolbarFocus} k procházení panelu nástrojů. Přejděte na další a předchozí skupiny pomocí TAB a SHIFT+TAB. Přechod na další a předchozí tlačítko panelu nástrojů je pomocí ŠIPKA VPRAVO nebo ŠIPKA VLEVO. Stisknutím mezerníku nebo klávesy ENTER tlačítko aktivujete."},{name:"Dialogové okno editoru", +legend:"Uvnitř dialogového okna stiskněte TAB pro přesunutí na další prvek okna, stiskněte SHIFT+TAB pro přesun na předchozí prvek okna, stiskněte ENTER pro odeslání dialogu, stiskněte ESC pro jeho zrušení. Pro dialogová okna, která mají mnoho karet stiskněte ALT+F10 pro zaměření seznamu karet, nebo TAB, pro posun podle pořadí karet.Při zaměření seznamu karet se můžete jimi posouvat pomocí ŠIPKY VPRAVO a VLEVO."},{name:"Kontextové menu editoru",legend:"Stiskněte ${contextMenu} nebo klávesu APPLICATION k otevření kontextového menu. Pak se přesuňte na další možnost menu pomocí TAB nebo ŠIPKY DOLŮ. Přesuňte se na předchozí možnost pomocí SHIFT+TAB nebo ŠIPKY NAHORU. Stiskněte MEZERNÍK nebo ENTER pro zvolení možnosti menu. Podmenu současné možnosti otevřete pomocí MEZERNÍKU nebo ENTER či ŠIPKY DOLEVA. Kontextové menu uzavřete stiskem ESC."}, +{name:"Rámeček seznamu editoru",legend:"Uvnitř rámečku seznamu se přesunete na další položku menu pomocí TAB nebo ŠIPKA DOLŮ. Na předchozí položku se přesunete SHIFT+TAB nebo ŠIPKA NAHORU. Stiskněte MEZERNÍK nebo ENTER pro zvolení možnosti seznamu. Stiskněte ESC pro uzavření seznamu."},{name:"Lišta cesty prvku v editoru",legend:"Stiskněte ${elementsPathFocus} pro procházení lišty cesty prvku. Na další tlačítko prvku se přesunete pomocí TAB nebo ŠIPKA VPRAVO. Na předchozí tlačítko se přesunete pomocí SHIFT+TAB nebo ŠIPKA VLEVO. Stiskněte MEZERNÍK nebo ENTER pro vybrání prvku v editoru."}]}, +{name:"Příkazy",items:[{name:" Příkaz Zpět",legend:"Stiskněte ${undo}"},{name:" Příkaz Znovu",legend:"Stiskněte ${redo}"},{name:" Příkaz Tučné",legend:"Stiskněte ${bold}"},{name:" Příkaz Kurzíva",legend:"Stiskněte ${italic}"},{name:" Příkaz Podtržení",legend:"Stiskněte ${underline}"},{name:" Příkaz Odkaz",legend:"Stiskněte ${link}"},{name:" Příkaz Skrýt panel nástrojů",legend:"Stiskněte ${toolbarCollapse}"},{name:"Příkaz pro přístup k předchozímu prostoru zaměření",legend:"Stiskněte ${accessPreviousSpace} pro přístup k nejbližšímu nedosažitelnému prostoru zaměření před stříškou, například: dva přilehlé prvky HR. Pro dosažení vzdálených prostorů zaměření tuto kombinaci kláves opakujte."}, +{name:"Příkaz pro přístup k dalšímu prostoru zaměření",legend:"Stiskněte ${accessNextSpace} pro přístup k nejbližšímu nedosažitelnému prostoru zaměření po stříšce, například: dva přilehlé prvky HR. Pro dosažení vzdálených prostorů zaměření tuto kombinaci kláves opakujte."},{name:" Nápověda přístupnosti",legend:"Stiskněte ${a11yHelp}"},{name:"Vložit jako čistý text",legend:"Stiskněte ${pastetext}",legendEdge:"Stiskněte ${pastetext} a pak ${paste}"}]}],tab:"Tabulátor",pause:"Pauza",capslock:"Caps lock", +escape:"Escape",pageUp:"Stránka nahoru",pageDown:"Stránka dolů",leftArrow:"Šipka vlevo",upArrow:"Šipka nahoru",rightArrow:"Šipka vpravo",downArrow:"Šipka dolů",insert:"Vložit",leftWindowKey:"Levá klávesa Windows",rightWindowKey:"Pravá klávesa Windows",selectKey:"Vyberte klávesu",numpad0:"Numerická klávesa 0",numpad1:"Numerická klávesa 1",numpad2:"Numerická klávesa 2",numpad3:"Numerická klávesa 3",numpad4:"Numerická klávesa 4",numpad5:"Numerická klávesa 5",numpad6:"Numerická klávesa 6",numpad7:"Numerická klávesa 7", +numpad8:"Numerická klávesa 8",numpad9:"Numerická klávesa 9",multiply:"Numerická klávesa násobení",add:"Přidat",subtract:"Numerická klávesa odečítání",decimalPoint:"Desetinná tečka",divide:"Numerická klávesa dělení",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num lock",scrollLock:"Scroll lock",semiColon:"Středník",equalSign:"Rovnítko",comma:"Čárka",dash:"Pomlčka",period:"Tečka",forwardSlash:"Lomítko",graveAccent:"Přízvuk",openBracket:"Otevřená hranatá závorka", +backSlash:"Obrácené lomítko",closeBracket:"Uzavřená hranatá závorka",singleQuote:"Jednoduchá uvozovka"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/es.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/es.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/es.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","es",{title:"Instrucciones de accesibilidad",contents:"Ayuda. Para cerrar presione ESC.",legend:[{name:"General",items:[{name:"Barra de herramientas del editor",legend:'Presiona ${toolbarFocus} para navegar por la barra de herramientas. Para moverse por los distintos grupos de herramientas usa las teclas TAB y MAY+TAB. Para moverse por las distintas herramientas usa FLECHA DERECHA o FECHA IZQUIERDA. Presiona "espacio" o "intro" para activar la herramienta.'},{name:"Editor de diálogo", +legend:"Dentro del diálogo, presione TAB para navegar a los siguientes elementos de diálogo, presione SHIFT+TAB para moverse a los anteriores elementos de diálogo, presione ENTER para enviar el diálogo, presiona ESC para cancelar el diálogo. Cuando el diálogo tiene multiples pestañas, la lista de pestañas puede ser abarcada con ALT + F10 or con TAB como parte del orden de pestañas del diálogo. ECon la pestaña enfocada, puede moverse a la siguiente o anterior pestaña con las FLECHAS IZQUIRDA y DERECHA respectivamente."}, +{name:"Editor del menú contextual",legend:"Presiona ${contextMenu} o TECLA MENÚ para abrir el menú contextual. Entonces muévete a la siguiente opción del menú con TAB o FLECHA ABAJO. Muévete a la opción previa con SHIFT + TAB o FLECHA ARRIBA. Presiona ESPACIO o ENTER para seleccionar la opción del menú. Abre el submenú de la opción actual con ESPACIO o ENTER o FLECHA DERECHA. Regresa al elemento padre del menú con ESC o FLECHA IZQUIERDA. Cierra el menú contextual con ESC."},{name:"Lista del Editor", +legend:"Dentro de una lista, te mueves al siguiente elemento de la lista con TAB o FLECHA ABAJO. Te mueves al elemento previo de la lista con SHIFT+TAB o FLECHA ARRIBA. Presiona ESPACIO o ENTER para elegir la opción de la lista. Presiona ESC para cerrar la lista."},{name:"Barra de Ruta del Elemento en el Editor",legend:"Presiona ${elementsPathFocus} para navegar a los elementos de la barra de ruta. Te mueves al siguiente elemento botón con TAB o FLECHA DERECHA. Te mueves al botón previo con SHIFT+TAB o FLECHA IZQUIERDA. Presiona ESPACIO o ENTER para seleccionar el elemento en el editor."}]}, +{name:"Comandos",items:[{name:"Comando deshacer",legend:"Presiona ${undo}"},{name:"Comando rehacer",legend:"Presiona ${redo}"},{name:"Comando negrita",legend:"Presiona ${bold}"},{name:"Comando itálica",legend:"Presiona ${italic}"},{name:"Comando subrayar",legend:"Presiona ${underline}"},{name:"Comando liga",legend:"Presiona ${liga}"},{name:"Comando colapsar barra de herramientas",legend:"Presiona ${toolbarCollapse}"},{name:"Comando accesar el anterior espacio de foco",legend:"Presiona ${accessPreviousSpace} para accesar el espacio de foco no disponible más cercano anterior al cursor, por ejemplo: dos elementos HR adyacentes. Repite la combinación de teclas para alcanzar espacios de foco distantes."}, +{name:"Comando accesar el siguiente spacio de foco",legend:"Presiona ${accessNextSpace} para accesar el espacio de foco no disponible más cercano después del cursor, por ejemplo: dos elementos HR adyacentes. Repite la combinación de teclas para alcanzar espacios de foco distantes."},{name:"Ayuda de Accesibilidad",legend:"Presiona ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tabulador",pause:"Pausa",capslock:"Bloq. Mayús.", +escape:"Escape",pageUp:"Regresar Página",pageDown:"Avanzar Página",leftArrow:"Flecha Izquierda",upArrow:"Flecha Arriba",rightArrow:"Flecha Derecha",downArrow:"Flecha Abajo",insert:"Insertar",leftWindowKey:"Tecla Windows Izquierda",rightWindowKey:"Tecla Windows Derecha",selectKey:"Tecla de Selección",numpad0:"Tecla 0 del teclado numérico",numpad1:"Tecla 1 del teclado numérico",numpad2:"Tecla 2 del teclado numérico",numpad3:"Tecla 3 del teclado numérico",numpad4:"Tecla 4 del teclado numérico",numpad5:"Tecla 5 del teclado numérico", +numpad6:"Tecla 6 del teclado numérico",numpad7:"Tecla 7 del teclado numérico",numpad8:"Tecla 8 del teclado numérico",numpad9:"Tecla 9 del teclado numérico",multiply:"Multiplicar",add:"Sumar",subtract:"Restar",decimalPoint:"Punto Decimal",divide:"Dividir",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Punto y coma",equalSign:"Signo de Igual",comma:"Coma",dash:"Guión",period:"Punto",forwardSlash:"Diagonal", +graveAccent:"Acento Grave",openBracket:"Abrir llave",backSlash:"Diagonal Invertida",closeBracket:"Cerrar llave",singleQuote:"Comillas simples"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/es.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","es-mx",{title:"Instrucciones de accesibilidad",contents:"Contenidos de ayuda. Para cerrar este cuadro de diálogo presione ESC.",legend:[{name:"General",items:[{name:"Barra de herramientas del editor",legend:"Presione ${toolbarFocus} para navegar a la barra de herramientas. Desplácese al grupo de barras de herramientas siguiente y anterior con SHIFT + TAB. Desplácese al botón siguiente y anterior de la barra de herramientas con FLECHA DERECHA o FLECHA IZQUIERDA. Presione SPACE o ENTER para activar el botón de la barra de herramientas."}, +{name:"Editor de diálogo",legend:"Dentro de un cuadro de diálogo, pulse TAB para desplazarse hasta el siguiente elemento de diálogo, pulse MAYÚS + TAB para desplazarse al elemento de diálogo anterior, pulse ENTER para enviar el diálogo, pulse ESC para cancelar el diálogo. Cuando un cuadro de diálogo tiene varias pestañas, se puede acceder a la lista de pestañas con ALT + F10 o con TAB como parte del orden de tabulación del diálogo. Con la lista de tabuladores enfocada, mueva a la pestaña siguiente y anterior con las flechas DERECHA y IZQUIERDA, respectivamente."}, +{name:"Menú contextual del editor",legend:"Presione ${contextMenu} o CLAVE DE APLICACIÓN para abrir el menú contextual. A continuación, vaya a la siguiente opción del menú con TAB o DOWN ARROW. Desplácese a la opción anterior con SHIFT + TAB o FLECHA ARRIBA. Presione SPACE o ENTER para seleccionar la opción del menú. Abra el submenú de la opción actual con ESPACIO o ENTER o FLECHA DERECHA. Vuelva al elemento de menú principal con ESC o FLECHA IZQUIERDA. Cerrar el menú contextual con ESC."},{name:"Editor de cuadro de lista", +legend:"Dentro de un cuadro de lista, mueva al siguiente elemento de lista con TAB O FLECHA ABAJO. Mueva al elemento anterior de la lista con MAYÚS + TAB o FLECHA ARRIBA. Presione SPACE o ENTER para seleccionar la opción de lista. Presione ESC para cerrar el cuadro de lista."},{name:"Barra de ruta del elemento del editor",legend:"Presione ${elementsPathFocus} para navegar a la barra de ruta de elementos. Desplácese al siguiente botón de elemento con TAB o FLECHA DERECHA. Desplácese al botón anterior con SHIFT + TAB o FLECHA IZQUIERDA. Presione SPACE o ENTER para seleccionar el elemento en el editor."}]}, +{name:"Comandos",items:[{name:"Comando deshacer",legend:"Presiona ${undo}"},{name:"Comando rehacer",legend:"Presiona ${redo}"},{name:"Comando negrita",legend:"Presiona ${bold}"},{name:"Comando cursiva",legend:"Presiona {italic}"},{name:"Comando subrayado",legend:"Presiona ${underline}"},{name:"Comando enlace",legend:"Presiona ${link}"},{name:"Comando colapsar barra de herramientas",legend:"Presiona ${toolbarCollapse}"},{name:"Acceda al comando de espacio de enfoque anterior",legend:"Presione ${accessPreviousSpace} para acceder al espacio de enfoque inaccesible más cercano antes del cursor, por ejemplo: dos elementos HR adyacentes. Repita la combinación de teclas para alcanzar los espacios de enfoque distantes."}, +{name:"Acceder al siguiente comando de espacio de enfoque",legend:"Pulse ${accessNextSpace} para acceder al espacio de enfoque más cercano inaccesible después del cursor, por ejemplo: dos elementos HR adyacentes. Repita la combinación de teclas para alcanzar los espacios de enfoque distantes."},{name:"Ayuda de accesibilidad",legend:"Presiona ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tabulador",pause:"Pausa", +capslock:"Mayúsculas",escape:"Escape",pageUp:"Página arriba",pageDown:"Página abajo",leftArrow:"Flecha izquierda",upArrow:"Flecha arriba",rightArrow:"Flecha derecha",downArrow:"Flecha abajo",insert:"Insertar",leftWindowKey:"Tecla izquierda de Windows",rightWindowKey:"Tecla derecha de Windows",selectKey:"Tecla de selección",numpad0:"Teclado numérico 0",numpad1:"Teclado numérico 1",numpad2:"Teclado numérico 2",numpad3:"Teclado numérico 3",numpad4:"Teclado numérico 4",numpad5:"Teclado numérico 5",numpad6:"Teclado numérico 6", +numpad7:"Teclado numérico 7",numpad8:"Teclado numérico 8",numpad9:"Teclado numérico 9",multiply:"Multiplicar",add:"Sumar",subtract:"Restar",decimalPoint:"Punto decimal",divide:"Dividir",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Números",scrollLock:"Bloqueo de desplazamiento",semiColon:"punto y coma",equalSign:"Signo igual",comma:"Coma",dash:"Guión",period:"Espacio",forwardSlash:"Diagonal",graveAccent:"Acento grave",openBracket:"Abrir paréntesis", +backSlash:"Diagonal invertida",closeBracket:"Cerrar paréntesis",singleQuote:"Comillas simple"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","mk",{title:"Инструкции за пристапност",contents:"Содржина на делот за помош. За да го затворите овој дијалог притиснете ESC.",legend:[{name:"Општо",items:[{name:"Мени за уредувачот",legend:"Press ${toolbarFocus} to navigate to the toolbar. Move to the next and previous toolbar group with TAB and SHIFT+TAB. Move to the next and previous toolbar button with RIGHT ARROW or LEFT ARROW. Press SPACE or ENTER to activate the toolbar button."},{name:"Дијалот за едиторот", +legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Контекст-мени на уредувачот",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."}, +{name:"Editor List Box",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},{name:"Editor Element Path Bar",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]}, +{name:"Наредби",items:[{name:" Undo command",legend:"Press ${undo}"},{name:" Redo command",legend:"Press ${redo}"},{name:" Bold command",legend:"Press ${bold}"},{name:" Italic command",legend:"Press ${italic}"},{name:" Underline command",legend:"Press ${underline}"},{name:" Link command",legend:"Press ${link}"},{name:" Toolbar Collapse command",legend:"Press ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:" Accessibility Help",legend:"Press ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Пауза",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Up", +leftArrow:"Стрелка лево",upArrow:"Стрелка горе",rightArrow:"Стрелка десно",downArrow:"Стрелка доле",insert:"Insert",leftWindowKey:"Лево Windows копче",rightWindowKey:"Десно Windows копче",selectKey:"Select копче",numpad0:"Нум. таст. 0",numpad1:"Нум. таст. 1",numpad2:"Нум. таст. 2",numpad3:"Нум. таст. 3",numpad4:"Нум. таст. 4",numpad5:"Нум. таст. 5",numpad6:"Нум. таст. 6",numpad7:"Нум. таст. 7",numpad8:"Нум. таст. 8",numpad9:"Нум. таст. 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point", +divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","sk",{title:"Inštrukcie prístupnosti",contents:"Pomocný obsah. Pre zatvorenie tohto okna, stlačte ESC.",legend:[{name:"Všeobecne",items:[{name:"Lišta nástrojov editora",legend:"Stlačte ${toolbarFocus} pre navigáciu na lištu nástrojov. Medzi ďalšou a predchádzajúcou lištou nástrojov sa pohybujete s TAB a SHIFT+TAB. Medzi ďalším a predchádzajúcim tlačidlom na lište nástrojov sa pohybujete s pravou šípkou a ľavou šípkou. Stlačte medzerník alebo ENTER pre aktiváciu tlačidla lišty nástrojov."}, +{name:"Editorový dialóg",legend:"V dialógovom okne stlačte TAB pre presun na ďalší prvok, SHIFT+TAB pre presun na predchádzajúci prvok, ENTER pre odoslanie, ESC pre zrušenie. Keď má dialógové okno viacero kariet, zoznam kariet dosiahnete buď stlačením ALT+F10 alebo s TAB v príslušnom poradí kariet. So zameraným zoznamom kariet sa pohybujte k ďalšej alebo predchádzajúcej karte cez PRAVÚ a ĽAVÚ ŠÍPKU."},{name:"Editorové kontextové menu",legend:"Stlačte ${contextMenu} alebo APPLICATION KEY pre otvorenie kontextového menu. Potom sa presúvajte na ďalšie možnosti menu s TAB alebo dolnou šípkou. Presunte sa k predchádzajúcej možnosti s SHIFT+TAB alebo hornou šípkou. Stlačte medzerník alebo ENTER pre výber možnosti menu. Otvorte pod-menu danej možnosti s medzerníkom, alebo ENTER, alebo pravou šípkou. Vráťte sa späť do položky rodičovského menu s ESC alebo ľavou šípkou. Zatvorte kontextové menu s ESC."}, +{name:"Editorov box zoznamu",legend:"V boxe zoznamu, presuňte sa na ďalšiu položku v zozname s TAB alebo dolnou šípkou. Presuňte sa k predchádzajúcej položke v zozname so SHIFT+TAB alebo hornou šípkou. Stlačte medzerník alebo ENTER pre výber možnosti zoznamu. Stlačte ESC pre zatvorenie boxu zoznamu."},{name:"Editorove pásmo cesty prvku",legend:"Stlačte ${elementsPathFocus} pre navigovanie na pásmo cesty elementu. Presuňte sa na tlačidlo ďalšieho prvku s TAB alebo pravou šípkou. Presuňte sa k predchádzajúcemu tlačidlu s SHIFT+TAB alebo ľavou šípkou. Stlačte medzerník alebo ENTER pre výber prvku v editore."}]}, +{name:"Príkazy",items:[{name:"Vrátiť príkazy",legend:"Stlačte ${undo}"},{name:"Nanovo vrátiť príkaz",legend:"Stlačte ${redo}"},{name:"Príkaz na stučnenie",legend:"Stlačte ${bold}"},{name:"Príkaz na kurzívu",legend:"Stlačte ${italic}"},{name:"Príkaz na podčiarknutie",legend:"Stlačte ${underline}"},{name:"Príkaz na odkaz",legend:"Stlačte ${link}"},{name:"Príkaz na zbalenie lišty nástrojov",legend:"Stlačte ${toolbarCollapse}"},{name:"Prejsť na predchádzajúcu zamerateľnú medzeru príkazu",legend:"Stlačte ${accessPreviousSpace} pre prístup na najbližšie nedosiahnuteľné zamerateľné medzery pred vsuvkuo. Napríklad: dve za sebou idúce horizontálne čiary. Opakujte kombináciu klávesov pre dosiahnutie vzdialených zamerateľných medzier."}, +{name:"Prejsť na ďalší ",legend:"Stlačte ${accessNextSpace} pre prístup na najbližšie nedosiahnuteľné zamerateľné medzery po vsuvke. Napríklad: dve za sebou idúce horizontálne čiary. Opakujte kombináciu klávesov pre dosiahnutie vzdialených zamerateľných medzier."},{name:"Pomoc prístupnosti",legend:"Stlačte ${a11yHelp}"},{name:"Vložiť ako čistý text",legend:"Stlačte ${pastetext}",legendEdge:"Stlačte ${pastetext} a potom ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Stránka hore", +pageDown:"Stránka dole",leftArrow:"Šípka naľavo",upArrow:"Šípka hore",rightArrow:"Šípka napravo",downArrow:"Šípka dole",insert:"Insert",leftWindowKey:"Ľavé Windows tlačidlo",rightWindowKey:"Pravé Windows tlačidlo",selectKey:"Tlačidlo Select",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Násobenie",add:"Sčítanie",subtract:"Odčítanie",decimalPoint:"Desatinná čiarka", +divide:"Delenie",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Bodkočiarka",equalSign:"Rovná sa",comma:"Čiarka",dash:"Pomĺčka",period:"Bodka",forwardSlash:"Lomítko",graveAccent:"Zdôrazňovanie prízvuku",openBracket:"Hranatá zátvorka otváracia",backSlash:"Backslash",closeBracket:"Hranatá zátvorka zatváracia",singleQuote:"Jednoduché úvodzovky"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","uk",{title:"Спеціальні Інструкції",contents:"Довідка. Натисніть ESC і вона зникне.",legend:[{name:"Основне",items:[{name:"Панель Редактора",legend:"Натисніть ${toolbarFocus} для переходу до панелі інструментів. Для переміщення між групами панелі інструментів використовуйте TAB і SHIFT+TAB. Для переміщення між кнопками панелі іструментів використовуйте кнопки СТРІЛКА ВПРАВО або ВЛІВО. Натисніть ПРОПУСК або ENTER для запуску кнопки панелі інструментів."},{name:"Діалог Редактора", +legend:'Усередині діалогу, натисніть TAB щоб перейти до наступного елементу діалогу, натисніть SHIFT+TAB щоб перейти до попереднього елемента діалогу, натисніть ENTER щоб відправити діалог, натисніть ESC щоб скасувати діалог. Коли діалогове вікно має декілька вкладок, отримати доступ до панелі вкладок як частині діалогу можна натисканням або поєднання ALT+F10 або TAB, при цьому активні елементи діалогу будуть перебиратися з урахуванням порядку табуляції. При активній панелі вкладок, перехід до наступної або попередньої вкладці здійснюється натисканням стрілки "ВПРАВО" або стрілки "ВЛЕВО" відповідно.'}, +{name:"Контекстне Меню Редактора",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Потім перейдіть до наступного пункту меню за допомогою TAB або СТРІЛКИ ВНИЗ. Натисніть ПРОПУСК або ENTER для вибору параметру меню. Відкрийте підменю поточного параметру, натиснувши ПРОПУСК або ENTER або СТРІЛКУ ВПРАВО. Перейдіть до батьківського елемента меню, натиснувши ESC або СТРІЛКУ ВЛІВО. Закрийте контекстне меню, натиснувши ESC."},{name:"Скринька Списків Редактора",legend:"Усередині списку, перехід до наступного пункту списку виконується клавішею TAB або СТРІЛКА ВНИЗ. Перехід до попереднього елемента списку клавішею SHIFT+TAB або СТРІЛКА ВГОРУ. Натисніть ПРОПУСК або ENTER, щоб вибрати параметр списку. Натисніть клавішу ESC, щоб закрити список."}, +{name:"Шлях до елемента редактора",legend:"Натисніть ${elementsPathFocus} для навігації між елементами панелі. Перейдіть до наступного елемента кнопкою TAB або СТРІЛКА ВПРАВО. Перейдіть до попереднього елемента кнопкою SHIFT+TAB або СТРІЛКА ВЛІВО. Натисніть ПРОПУСК або ENTER для вибору елемента в редакторі."}]},{name:"Команди",items:[{name:"Відмінити команду",legend:"Натисніть ${undo}"},{name:"Повторити",legend:"Натисніть ${redo}"},{name:"Жирний",legend:"Натисніть ${bold}"},{name:"Курсив",legend:"Натисніть ${italic}"}, +{name:"Підкреслений",legend:"Натисніть ${underline}"},{name:"Посилання",legend:"Натисніть ${link}"},{name:"Згорнути панель інструментів",legend:"Натисніть ${toolbarCollapse}"},{name:"Доступ до попереднього місця фокусування",legend:"Натисніть ${accessNextSpace} для доступу до найближчої недосяжної області фокусування перед кареткою, наприклад: два сусідні елементи HR. Повторіть комбінацію клавіш для досягнення віддалених областей фокусування."},{name:"Доступ до наступного місця фокусування",legend:"Натисніть ${accessNextSpace} для доступу до найближчої недосяжної області фокусування після каретки, наприклад: два сусідні елементи HR. Повторіть комбінацію клавіш для досягнення віддалених областей фокусування."}, +{name:"Допомога з доступності",legend:"Натисніть ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Esc",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Ліва стрілка",upArrow:"Стрілка вгору",rightArrow:"Права стрілка",downArrow:"Стрілка вниз",insert:"Вставити",leftWindowKey:"Ліва клавіша Windows",rightWindowKey:"Права клавіша Windows",selectKey:"Виберіть клавішу",numpad0:"Numpad 0", +numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Множення",add:"Додати",subtract:"Віднімання",decimalPoint:"Десяткова кома",divide:"Ділення",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Крапка з комою",equalSign:"Знак рівності",comma:"Кома",dash:"Тире",period:"Період", +forwardSlash:"Коса риска",graveAccent:"Гравіс",openBracket:"Відкрити дужку",backSlash:"Зворотна коса риска",closeBracket:"Закрити дужку",singleQuote:"Одинарні лапки"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","oc",{title:"Instruccions d'accessibilitat",contents:"Contengut de l'ajuda. Per tampar aquesta fenèstra, quichatz sus la tòca Escap.",legend:[{name:"General",items:[{name:"Barra d'aisinas de l'editor",legend:"Quichar sus ${toolbarFocus} per accedir a la barra d'aisinas. Se desplaçar cap al groupe seguent o precedent de la barra d'aisinas amb las tòcas Tab e Maj+Tab. Se desplaçar cap al boton seguent o precedent de la barra d'aisinas amb las tòcas Sageta dreita e Sageta esquèrra. Quichar sus la barra d'espaci o la tòca Entrada per activer lo boton de barra d'aisinas."}, +{name:"Fenèstra de l'editor",legend:"Dins una bóstia de dialòg, quichar sus Tab per passar a l'element seguent, quichar sus Maj+Tab per passar a l'element precedent, quichar sus Entrada per validar, quichar sus Escap per anullar. Quand una bóstia de dialòg possedís des onglets, la lista pòt èsser atenta amb Alt+F10 o amb Tab. Dins la lista dels onglets, se desplaçar cap al seguent e lo precedent amb las tòcas Sageta dreita e Sageta esquèrra respectivament."},{name:"Menú contextual de l'editor",legend:"Quichar sus ${contextMenu} o sus la tòca Menú per dobrir lo menú contextual. Se desplaçar ensuite cap a l'opcion seguenta del menú amb las tòcas Tab o Sageta bas. Se desplaçar cap a l'opcion precedenta amb las tòcas Maj+Tab o Sageta naut. Quichar sus la barra d'espaci o la tòca Entrada per seleccionar l'opcion del menu. Quichar sus la barra d'espaci, la tòca Entrada o Sageta dreita per dobrir lo sosmenú de l'opcion seleccionada. Tornar a l'element de menú parent amb la tòca Escap o Sageta esquèrra. Tampar lo menú contextual amb Escap."}, +{name:"Zòna de lista de l'editor",legend:"Dins una lista en menú desenrotlant, se desplaçar cap a l'element seguent de la lista amb las tòcas Tab o Sageta bas. Se desplaçar cap a l'element precedent de la lista amb las tòcas Maj+Tab o Sageta naut. Quichar sus la barra d'espaci o sus Entrada per seleccionar l'opcion dins la lista. Quichar sus Escap per tampar lo menú desenrotlant."},{name:"Barra del camin d'elements de l'editor",legend:"Quichar sus ${elementsPathFocus} per naviguer cap a la barra del fial d'Ariana dels elements. Se desplaçar cap al boton de l'element seguent amb las tòcas Tab o Sageta dreita. Se desplaçar cap al boton precedent amb las tòcas Maj+Tab o Sageta esquèrra. Quichar sus la barra d'espaci o sus Entrada per seleccionar l'element dins l'editor."}]}, +{name:"Comandas",items:[{name:"Anullar la comanda",legend:"Quichar sus ${undo}"},{name:"Comanda restablir",legend:"Quichar sus ${redo}"},{name:" Comanda gras",legend:"Quichar sus ${bold}"},{name:" Comanda italica",legend:"Quichar sus ${italic}"},{name:" Comanda solinhat",legend:"Quichar sus ${underline}"},{name:" Comanda ligam",legend:"Quichar sus ${link}"},{name:"Comanda enrotlar la barra d'aisinas",legend:"Quichar sus ${toolbarCollapse}"},{name:"Comanda d'accès a l'element seleccionable precedent", +legend:"Quichar sus ${accessNextSpace} per accedir a l'element seleccionable inategnible lo mai pròche abans lo cursor, per exemple : doas linhas orizontalas adjacentas. Repetir la combinason de tòcas per aténher los elements seleccionables precedents."},{name:"Comanda d'accès a l'element seleccionable seguent",legend:"Quichar sus ${accessNextSpace} per accedir a l'element seleccionable inatenhible lo mai pròche aprèp lo cursor, per exemple : doas linhas orizontalas adjacentas. Repetir la combinason de tòcas per aténher los elements seleccionables seguents."}, +{name:" Ajuda sus l'accessibilitat",legend:"Quichar sus ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tabulacion",pause:"Pausa",capslock:"Verr. Maj.",escape:"Escap",pageUp:"Pagina superiora",pageDown:"Pagina seguenta",leftArrow:"Sageta esquèrra",upArrow:"Sageta naut",rightArrow:"Sageta dreita",downArrow:"Sageta bassa",insert:"Inser",leftWindowKey:"Tòca Windows esquèrra",rightWindowKey:"Tòca Windows dreita",selectKey:"Tòca Seleccionar", +numpad0:"0 del pavat numeric",numpad1:"1 del pavat numeric",numpad2:"2 del pavat numeric",numpad3:"3 del pavat numeric",numpad4:"4 del pavat numeric",numpad5:"5 del pavat numeric",numpad6:"6 del pavat numeric",numpad7:"7 del pavat numeric",numpad8:"Pavat numeric 8",numpad9:"9 del pavat numeric",multiply:"Multiplicar",add:"Plus",subtract:"Mens",decimalPoint:"Punt decimal",divide:"Devesir",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Verr. Num.", +scrollLock:"Arrèst desfil.",semiColon:"Punt-virgula",equalSign:"Signe egal",comma:"Virgula",dash:"Jonhent",period:"Punt",forwardSlash:"Barra oblica",graveAccent:"Accent grèu",openBracket:"Parentèsi dobèrta",backSlash:"Barra oblica invèrsa",closeBracket:"Parentèsi tampanta",singleQuote:"Apostròfa"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","fr",{title:"Instructions d'accessibilité",contents:"Contenu de l'aide. Pour fermer cette fenêtre, appuyez sur la touche Échap.",legend:[{name:"Général",items:[{name:"Barre d'outils de l'éditeur",legend:"Appuyer sur ${toolbarFocus} pour accéder à la barre d'outils. Se déplacer vers le groupe suivant ou précédent de la barre d'outils avec les touches Tab et Maj+Tab. Se déplacer vers le bouton suivant ou précédent de la barre d'outils avec les touches Flèche droite et Flèche gauche. Appuyer sur la barre d'espace ou la touche Entrée pour activer le bouton de barre d'outils."}, +{name:"Fenêtre de l'éditeur",legend:"Dans une boîte de dialogue, appuyer sur Tab pour passer à l'élément suivant, appuyer sur Maj+Tab pour passer à l'élément précédent, appuyer sur Entrée pour valider, appuyer sur Échap pour annuler. Quand une boîte de dialogue possède des onglets, la liste peut être atteinte avec Alt+F10 ou avec Tab. Dans la liste des onglets, se déplacer vers le suivant et le précédent avec les touches Flèche droite et Flèche gauche respectivement."},{name:"Menu contextuel de l'éditeur", +legend:"Appuyer sur ${contextMenu} ou sur la touche Menu pour ouvrir le menu contextuel. Se déplacer ensuite vers l'option suivante du menu avec les touches Tab ou Flèche bas. Se déplacer vers l'option précédente avec les touches Maj+Tab ou Flèche haut. Appuyer sur la barre d'espace ou la touche Entrée pour sélectionner l'option du menu. Appuyer sur la barre d'espace, la touche Entrée ou Flèche droite pour ouvrir le sous-menu de l'option sélectionnée. Revenir à l'élément de menu parent avec la touche Échap ou Flèche gauche. Fermer le menu contextuel avec Échap."}, +{name:"Zone de liste de l'éditeur",legend:"Dans une liste en menu déroulant, se déplacer vers l'élément suivant de la liste avec les touches Tab ou Flèche bas. Se déplacer vers l'élément précédent de la liste avec les touches Maj+Tab ou Flèche haut. Appuyer sur la barre d'espace ou sur Entrée pour sélectionner l'option dans la liste. Appuyer sur Échap pour fermer le menu déroulant."},{name:"Barre du chemin d'éléments de l'éditeur",legend:"Appuyer sur ${elementsPathFocus} pour naviguer vers la barre du fil d'Ariane des éléments. Se déplacer vers le bouton de l'élément suivant avec les touches Tab ou Flèche droite. Se déplacer vers le bouton précédent avec les touches Maj+Tab ou Flèche gauche. Appuyer sur la barre d'espace ou sur Entrée pour sélectionner l'élément dans l'éditeur."}]}, +{name:"Commandes",items:[{name:" Annuler la commande",legend:"Appuyer sur ${undo}"},{name:"Commande restaurer",legend:"Appuyer sur ${redo}"},{name:" Commande gras",legend:"Appuyer sur ${bold}"},{name:" Commande italique",legend:"Appuyer sur ${italic}"},{name:" Commande souligné",legend:"Appuyer sur ${underline}"},{name:" Commande lien",legend:"Appuyer sur ${link}"},{name:" Commande enrouler la barre d'outils",legend:"Appuyer sur ${toolbarCollapse}"},{name:"Commande d'accès à l'élément sélectionnable précédent", +legend:"Appuyer sur ${accessNextSpace} pour accéder à l'élément sélectionnable inatteignable le plus proche avant le curseur, par exemple : deux lignes horizontales adjacentes. Répéter la combinaison de touches pour atteindre les éléments sélectionnables précédents."},{name:"Commande d'accès à l'élément sélectionnable suivant",legend:"Appuyer sur ${accessNextSpace} pour accéder à l'élément sélectionnable inatteignable le plus proche après le curseur, par exemple : deux lignes horizontales adjacentes. Répéter la combinaison de touches pour atteindre les éléments sélectionnables suivants."}, +{name:" Aide sur l'accessibilité",legend:"Appuyer sur ${a11yHelp}"},{name:"Coller comme texte sans mise en forme",legend:"Appuyer sur ${pastetext}",legendEdge:"Enfoncez ${pastetext}, suivi par ${paste}"}]}],tab:"Tabulation",pause:"Pause",capslock:"Verr. Maj.",escape:"Échap",pageUp:"Page supérieure",pageDown:"Page suivante",leftArrow:"Flèche gauche",upArrow:"Flèche haut",rightArrow:"Flèche droite",downArrow:"Flèche basse",insert:"Inser",leftWindowKey:"Touche Windows gauche",rightWindowKey:"Touche Windows droite", +selectKey:"Touche Sélectionner",numpad0:"0 du pavé numérique",numpad1:"1 du pavé numérique",numpad2:"2 du pavé numérique",numpad3:"3 du pavé numérique",numpad4:"4 du pavé numérique",numpad5:"5 du pavé numérique",numpad6:"6 du pavé numérique",numpad7:"7 du pavé numérique",numpad8:"Pavé numérique 8",numpad9:"9 du pavé numérique",multiply:"Multiplier",add:"Plus",subtract:"Moins",decimalPoint:"Point décimal",divide:"Diviser",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10", +f11:"F11",f12:"F12",numLock:"Verr. Num.",scrollLock:"Arrêt défil.",semiColon:"Point-virgule",equalSign:"Signe égal",comma:"Virgule",dash:"Tiret",period:"Point",forwardSlash:"Barre oblique",graveAccent:"Accent grave",openBracket:"Parenthèse ouvrante",backSlash:"Barre oblique inverse",closeBracket:"Parenthèse fermante",singleQuote:"Apostrophe"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","hr",{title:"Upute dostupnosti",contents:"Sadržaj pomoći. Za zatvaranje pritisnite ESC.",legend:[{name:"Općenito",items:[{name:"Alatna traka",legend:"Pritisni ${toolbarFocus} za navigaciju do alatne trake. Pomicanje do prethodne ili sljedeće alatne grupe vrši se pomoću SHIFT+TAB i TAB. Pomicanje do prethodnog ili sljedećeg gumba u alatnoj traci vrši se pomoću lijeve i desne strelice kursora. Pritisnite SPACE ili ENTER za aktivaciju alatne trake."},{name:"Dijalog", +legend:"Unutar dijaloga, pritisnite TAB kako bi navigirali do sljedećeg elementa dijaloga, pritisnite SHIFT+TAB kako bi se pomaknuli do prethodnog elementa, pritisnite ENTER kako bi poslali dijalog, pritisnite ESC za gašenje dijaloga. Kada dijalog ima više kartica, listi kartica se može pristupiti pomoću ALT+F10 ili sa TAB. Kada je fokusirana lista kartica, pomaknite se naprijed ili nazad pomoću strelica LIJEVO ili DESNO."},{name:"Kontekstni izbornik",legend:"Pritisnite ${contextMenu} ili APPLICATION tipku za otvaranje kontekstnog izbornika. Pomicanje se vrši TAB ili strelicom kursora prema dolje ili SHIFT+TAB ili strelica kursora prema gore. SPACE ili ENTER odabiru opciju izbornika. Otvorite podizbornik trenutne opcije sa SPACE, ENTER ili desna strelica kursora. Povratak na prethodni izbornik vrši se sa ESC ili lijevom strelicom kursora. Zatvaranje se vrši pritiskom na tipku ESC."}, +{name:"Lista",legend:"Unutar list-boxa, pomicanje na sljedeću stavku vrši se sa TAB ili strelica kursora prema dolje. Na prethodnu sa SHIFT+TAB ili strelica prema gore. Pritiskom na SPACE ili ENTER odabire se stavka ili ESC za zatvaranje."},{name:"Traka putanje elemenata",legend:"Pritisnite ${elementsPathFocus} za navigaciju po putanji elemenata. Pritisnite TAB ili desnu strelicu kursora za pomicanje na sljedeći element ili SHIFT+TAB ili lijeva strelica kursora za pomicanje na prethodni element. Pritiskom na SPACE ili ENTER vrši se odabir elementa."}]}, +{name:"Naredbe",items:[{name:"Vrati naredbu",legend:"Pritisni ${undo}"},{name:"Ponovi naredbu",legend:"Pritisni ${redo}"},{name:"Bold naredba",legend:"Pritisni ${bold}"},{name:"Italic naredba",legend:"Pritisni ${italic}"},{name:"Underline naredba",legend:"Pritisni ${underline}"},{name:"Link naredba",legend:"Pritisni ${link}"},{name:"Smanji alatnu traku naredba",legend:"Pritisni ${toolbarCollapse}"},{name:"Naredba za pristupi prethodnom prostoru fokusa",legend:"Pritisni ${accessPreviousSpace} za pristup najbližem nedostupnom razmaku prije kursora, npr.: dva spojena HR elementa. Ponovnim pritiskom dohvatiti će se sljedeći nedostupni razmak."}, +{name:"Naredba za pristup sljedećem prostoru fokusa",legend:"Pritisni ${accessNextSpace} za pristup najbližem nedostupnom razmaku nakon kursora, npr.: dva spojena HR elementa. Ponovnim pritiskom dohvatiti će se sljedeći nedostupni razmak."},{name:"Pomoć za dostupnost",legend:"Pritisni ${a11yHelp}"},{name:"Zalijepi kao čisti tekst",legend:"Pritisnite ${pastetext}",legendEdge:"Pritisnite ${pastetext}, zatim ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up", +pageDown:"Page Down",leftArrow:"Lijev strelica",upArrow:"Strelica gore",rightArrow:"Desna strelica",downArrow:"Strelica dolje",insert:"Insert",leftWindowKey:"Lijeva Windows tipka",rightWindowKey:"Desna Windows tipka",selectKey:"Tipka Select",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"umpad 8",numpad9:"Numpad 9",multiply:"Množenje",add:"Zbrajanje",subtract:"Oduzimanje",decimalPoint:"Decimalna točka", +divide:"Dijeljenje",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Točka zarez",equalSign:"Jednako",comma:"Zarez",dash:"Crtica",period:"Točka",forwardSlash:"Kosa crta",graveAccent:"Akcent",openBracket:"Otvorena uglata zagrada",backSlash:"Obrnuta kosa crta",closeBracket:"Zatvorena uglata zagrada",singleQuote:"Jednostruki navodnik"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","tr",{title:"Erişilebilirlik Talimatları",contents:"Yardım içeriği. Bu pencereyi kapatmak için ESC tuşuna basın.",legend:[{name:"Genel",items:[{name:"Düzenleyici Araç Çubuğu",legend:"Araç çubuğunda gezinmek için ${toolbarFocus} basın. TAB ve SHIFT+TAB ile önceki ve sonraki araç çubuğu grubuna taşıyın. SAĞ OK veya SOL OK ile önceki ve sonraki bir araç çubuğu düğmesini hareket ettirin. SPACE tuşuna basın veya araç çubuğu düğmesini etkinleştirmek için ENTER tuşna basın."}, +{name:"Diyalog Düzenleyici",legend:"Dialog penceresi içinde, sonraki iletişim alanına gitmek için SEKME tuşuna basın, önceki alana geçmek için SHIFT + TAB tuşuna basın, pencereyi göndermek için ENTER tuşuna basın, dialog penceresini iptal etmek için ESC tuşuna basın. Birden çok sekme sayfaları olan diyalogların, sekme listesine gitmek için ALT + F10 tuşlarına basın. Sonra TAB veya SAĞ OK sonraki sekmeye taşıyın. SHIFT + TAB veya SOL OK ile önceki sekmeye geçin. Sekme sayfayı seçmek için SPACE veya ENTER tuşuna basın."}, +{name:"İçerik Menü Editörü",legend:"İçerik menüsünü açmak için ${contextMenu} veya UYGULAMA TUŞU'na basın. Daha sonra SEKME veya AŞAĞI OK ile bir sonraki menü seçeneği taşıyın. SHIFT + TAB veya YUKARI OK ile önceki seçeneğe gider. Menü seçeneğini seçmek için SPACE veya ENTER tuşuna basın. Seçili seçeneğin alt menüsünü SPACE ya da ENTER veya SAĞ OK açın. Üst menü öğesini geçmek için ESC veya SOL OK ile geri dönün. ESC ile bağlam menüsünü kapatın."},{name:"Liste Kutusu Editörü",legend:"Liste kutusu içinde, bir sonraki liste öğesine SEKME VEYA AŞAĞI OK ile taşıyın. SHIFT+TAB veya YUKARI önceki liste öğesi taşıyın. Liste seçeneği seçmek için SPACE veya ENTER tuşuna basın. Liste kutusunu kapatmak için ESC tuşuna basın."}, +{name:"Element Yol Çubuğu Editörü",legend:"Elementlerin yol çubuğunda gezinmek için ${ElementsPathFocus} basın. SEKME veya SAĞ OK ile sonraki element düğmesine taşıyın. SHIFT+TAB veya SOL OK önceki düğmeye hareket ettirin. Editör içindeki elementi seçmek için ENTER veya SPACE tuşuna basın."}]},{name:"Komutlar",items:[{name:"Komutu geri al",legend:"$(undo)'ya basın"},{name:"Komutu geri al",legend:"${redo} basın"},{name:" Kalın komut",legend:"${bold} basın"},{name:" İtalik komutu",legend:"${italic} basın"}, +{name:" Alttan çizgi komutu",legend:"${underline} basın"},{name:" Bağlantı komutu",legend:"${link} basın"},{name:" Araç çubuğu Toplama komutu",legend:"${toolbarCollapse} basın"},{name:"Önceki komut alanına odaklan",legend:"Düzeltme imleçinden önce, en yakın uzaktaki alana erişmek için ${accessPreviousSpace} basın, örneğin: iki birleşik HR elementleri. Aynı tuş kombinasyonu tekrarıyla diğer alanlarada ulaşın."},{name:"Sonraki komut alanına odaklan",legend:"Düzeltme imleçinden sonra, en yakın uzaktaki alana erişmek için ${accessNextSpace} basın, örneğin: iki birleşik HR elementleri. Aynı tuş kombinasyonu tekrarıyla diğer alanlarada ulaşın."}, +{name:"Erişilebilirlik Yardımı",legend:"${a11yHelp}'e basın"},{name:"Düz Metin Olarak Yapıştır",legend:"${pastetext} basın",legendEdge:"Önce ${pastetext} ardından${paste} basın"}]}],tab:"Sekme tuşu",pause:"Durdurma tuşu",capslock:"Büyük harf tuşu",escape:"Vazgeç tuşu",pageUp:"Sayfa Yukarı",pageDown:"Sayfa Aşağı",leftArrow:"Sol ok",upArrow:"Yukarı ok",rightArrow:"Sağ ok",downArrow:"Aşağı ok",insert:"Araya gir",leftWindowKey:"Sol windows tuşu",rightWindowKey:"Sağ windows tuşu",selectKey:"Seçme tuşu", +numpad0:"Nümerik 0",numpad1:"Nümerik 1",numpad2:"Nümerik 2",numpad3:"Nümerik 3",numpad4:"Nümerik 4",numpad5:"Nümerik 5",numpad6:"Nümerik 6",numpad7:"Nümerik 7",numpad8:"Nümerik 8",numpad9:"Nümerik 9",multiply:"Çarpma",add:"Toplama",subtract:"Çıkarma",decimalPoint:"Ondalık işareti",divide:"Bölme",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lk",scrollLock:"Scr Lk",semiColon:"Noktalı virgül",equalSign:"Eşittir",comma:"Virgül",dash:"Eksi", +period:"Nokta",forwardSlash:"İleri eğik çizgi",graveAccent:"Üst tırnak",openBracket:"Parantez aç",backSlash:"Ters eğik çizgi",closeBracket:"Parantez kapa",singleQuote:"Tek tırnak"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","cy",{title:"Canllawiau Hygyrchedd",contents:"Cynnwys Cymorth. I gau y deialog hwn, pwyswch ESC.",legend:[{name:"Cyffredinol",items:[{name:"Bar Offer y Golygydd",legend:"Pwyswch $ {toolbarFocus} i fynd at y bar offer. Symudwch i'r grŵp bar offer nesaf a blaenorol gyda TAB a SHIFT+TAB. Symudwch i'r botwm bar offer nesaf a blaenorol gyda SAETH DDE neu SAETH CHWITH. Pwyswch SPACE neu ENTER i wneud botwm y bar offer yn weithredol."},{name:"Deialog y Golygydd",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"Dewislen Cyd-destun y Golygydd",legend:"Pwyswch $ {contextMenu} neu'r ALLWEDD 'APPLICATION' i agor y ddewislen cyd-destun. Yna symudwch i'r opsiwn ddewislen nesaf gyda'r TAB neu'r SAETH I LAWR. Symudwch i'r opsiwn blaenorol gyda SHIFT+TAB neu'r SAETH I FYNY. Pwyswch SPACE neu ENTER i ddewis yr opsiwn ddewislen. Agorwch is-dewislen yr opsiwn cyfredol gyda SPACE neu ENTER neu SAETH DDE. Ewch yn ôl i'r eitem ar y ddewislen uwch gydag ESC neu SAETH CHWITH. Ceuwch y ddewislen cyd-destun gydag ESC."}, +{name:"Blwch Rhestr y Golygydd",legend:"Tu mewn y blwch rhestr, ewch i'r eitem rhestr nesaf gyda TAB neu'r SAETH I LAWR. Symudwch i restr eitem flaenorol gyda SHIFT+TAB neu SAETH I FYNY. Pwyswch SPACE neu ENTER i ddewis yr opsiwn o'r rhestr. Pwyswch ESC i gau'r rhestr."},{name:"Bar Llwybr Elfen y Golygydd",legend:"Pwyswch ${elementsPathFocus} i fynd i'r bar llwybr elfennau. Symudwch i fotwm yr elfen nesaf gyda TAB neu SAETH DDE. Symudwch i fotwm blaenorol gyda SHIFT+TAB neu SAETH CHWITH. Pwyswch SPACE neu ENTER i ddewis yr elfen yn y golygydd."}]}, +{name:"Gorchmynion",items:[{name:"Gorchymyn dadwneud",legend:"Pwyswch ${undo}"},{name:"Gorchymyn ailadrodd",legend:"Pwyswch ${redo}"},{name:"Gorchymyn Bras",legend:"Pwyswch ${bold}"},{name:"Gorchymyn italig",legend:"Pwyswch ${italig}"},{name:"Gorchymyn tanlinellu",legend:"Pwyso ${underline}"},{name:"Gorchymyn dolen",legend:"Pwyswch ${link}"},{name:"Gorchymyn Cwympo'r Dewislen",legend:"Pwyswch ${toolbarCollapse}"},{name:"Myned i orchymyn bwlch ffocws blaenorol",legend:"Pwyswch ${accessPreviousSpace} i fyned i'r \"blwch ffocws sydd methu ei gyrraedd\" cyn y caret, er enghraifft: dwy elfen HR drws nesaf i'w gilydd. AIladroddwch y cyfuniad allwedd i gyrraedd bylchau ffocws pell."}, +{name:"Ewch i'r gorchymyn blwch ffocws nesaf",legend:"Pwyswch ${accessNextSpace} i fyned i'r blwch ffocws agosaf nad oes modd ei gyrraedd ar ôl y caret, er enghraifft: dwy elfen HR drws nesaf i'w gilydd. Ailadroddwch y cyfuniad allwedd i gyrraedd blychau ffocws pell."},{name:"Cymorth Hygyrchedd",legend:"Pwyswch ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape", +pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply",add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point", +divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js (revision 7) @@ -0,0 +1,12 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","nb",{title:"Instruksjoner for tilgjengelighet",contents:"Innhold for hjelp. Trykk ESC for å lukke denne dialogen.",legend:[{name:"Generelt",items:[{name:"Verktøylinje for editor",legend:"Trykk ${toolbarFocus} for å navigere til verktøylinjen. Flytt til neste og forrige verktøylinjegruppe med TAB og SHIFT+TAB. Flytt til neste og forrige verktøylinjeknapp med HØYRE PILTAST og VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å aktivere verktøylinjeknappen."},{name:"Dialog for editor", +legend:"Mens du er i en dialog, trykk TAB for å navigere til neste dialogelement, trykk SHIFT+TAB for å flytte til forrige dialogelement, trykk ENTER for å akseptere dialogen, trykk ESC for å avbryte dialogen. Når en dialog har flere faner, kan fanelisten nås med enten ALT+F10 eller med TAB. Når fanelisten er fokusert, går man til neste og forrige fane med henholdsvis HØYRE og VENSTRE PILTAST."},{name:"Kontekstmeny for editor",legend:"Trykk ${contextMenu} eller MENYKNAPP for å åpne kontekstmeny. Gå til neste alternativ i menyen med TAB eller PILTAST NED. Gå til forrige alternativ med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge menyalternativet. Åpne undermenyen på valgt alternativ med MELLOMROM eller ENTER eller HØYRE PILTAST. Gå tilbake til overordnet menyelement med ESC eller VENSTRE PILTAST. Lukk kontekstmenyen med ESC."}, +{name:"Listeboks for editor",legend:"I en listeboks, gå til neste alternativ i listen med TAB eller PILTAST NED. Gå til forrige alternativ i listen med SHIFT+TAB eller PILTAST OPP. Trykk MELLOMROM eller ENTER for å velge alternativet i listen. Trykk ESC for å lukke listeboksen."},{name:"Verktøylinje for elementsti",legend:"Trykk ${elementsPathFocus} for å navigere til verktøylinjen som viser elementsti. Gå til neste elementknapp med TAB eller HØYRE PILTAST. Gå til forrige elementknapp med SHIFT+TAB eller VENSTRE PILTAST. Trykk MELLOMROM eller ENTER for å velge elementet i editoren."}]}, +{name:"Hurtigtaster",items:[{name:"Angre",legend:"Trykk ${undo}"},{name:"Gjør om",legend:"Trykk ${redo}"},{name:"Fet tekst",legend:"Trykk ${bold}"},{name:"Kursiv tekst",legend:"Trykk ${italic}"},{name:"Understreking",legend:"Trykk ${underline}"},{name:"Lenke",legend:"Trykk ${link}"},{name:"Skjul verktøylinje",legend:"Trykk ${toolbarCollapse}"},{name:"Gå til forrige fokusområde",legend:"Trykk ${accessPreviousSpace} for å komme til nærmeste fokusområde før skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet."}, +{name:"Gå til neste fokusområde",legend:"Trykk ${accessNextSpace} for å komme til nærmeste fokusområde etter skrivemarkøren som ikke kan nås på vanlig måte, for eksempel to tilstøtende HR-elementer. Gjenta tastekombinasjonen for å komme til fokusområder lenger unna i dokumentet."},{name:"Hjelp for tilgjengelighet",legend:"Trykk ${a11yHelp}"},{name:"Lim inn som ren tekst",legend:"Trykk ${pastetext}",legendEdge:"Trykk ${pastetext}, etterfulgt av ${past}"}]}],tab:"Tabulator",pause:"Pause",capslock:"Caps Lock", +escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Venstre piltast",upArrow:"Opp-piltast",rightArrow:"Høyre piltast",downArrow:"Ned-piltast",insert:"Insert",leftWindowKey:"Venstre Windows-tast",rightWindowKey:"Høyre Windows-tast",selectKey:"Velg nøkkel",numpad0:"Numerisk tastatur 0",numpad1:"Numerisk tastatur 1",numpad2:"Numerisk tastatur 2",numpad3:"Numerisk tastatur 3",numpad4:"Numerisk tastatur 4",numpad5:"Numerisk tastatur 5",numpad6:"Numerisk tastatur 6",numpad7:"Numerisk tastatur 7", +numpad8:"Numerisk tastatur 8",numpad9:"Numerisk tastatur 9",multiply:"Multipliser",add:"Legg til",subtract:"Trekk fra",decimalPoint:"Desimaltegn",divide:"Divider",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semikolon",equalSign:"Likhetstegn",comma:"Komma",dash:"Bindestrek",period:"Punktum",forwardSlash:"Forover skråstrek",graveAccent:"Grav aksent",openBracket:"Åpne parentes",backSlash:"Bakover skråstrek", +closeBracket:"Lukk parentes",singleQuote:"Enkelt sitattegn"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js (revision 7) @@ -0,0 +1,13 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","ca",{title:"Instruccions d'Accessibilitat",contents:"Continguts de l'Ajuda. Per tancar aquest quadre de diàleg premi ESC.",legend:[{name:"General",items:[{name:"Editor de barra d'eines",legend:"Premi ${toolbarFocus} per desplaçar-se per la barra d'eines. Vagi en el següent i anterior grup de barra d'eines amb TAB i SHIFT+TAB. Vagi en el següent i anterior botó de la barra d'eines amb RIGHT ARROW i LEFT ARROW. Premi SPACE o ENTER per activar el botó de la barra d'eines."}, +{name:"Editor de quadre de diàleg",legend:"Dins d'un quadre de diàleg, premi la tecla TAB per desplaçar-se fins al següent element del quadre de diàleg, premi la tecla Shift + TAB per desplaçar-se a l'anterior element del quadre de diàleg, premi la tecla ENTER per confirmar el quadre de diàleg, premi la tecla ESC per cancel·lar el quadre de diàleg. Quan un quadre de diàleg té diverses pestanyes, la llista de pestanyes pot ser assolit ja sigui amb ALT + F10 o TAB, com a part de l'ordre de tabulació del quadre de diàleg. Amb la llista de pestanyes seleccionada, pot anar a la fitxa següent i anterior amb la tecla FLETXA DRETA i ESQUERRA, respectivament."}, +{name:"Editor de menú contextual",legend:"Premi ${contextMenu} o APPLICATION KEY per obrir el menú contextual. Després desplacis a la següent opció del menú amb TAB o DOWN ARROW. Desplacis a l'anterior opció amb SHIFT+TAB o UP ARROW. Premi SPACE o ENTER per seleccionar l'opció del menú. Obri el submenú de l'actual opció utilitzant SPACE o ENTER o RIGHT ARROW. Pot tornar a l'opció del menú pare amb ESC o LEFT ARROW. Tanqui el menú contextual amb ESC."},{name:"Editor de caixa de llista",legend:"Dins d'un quadre de llista, desplacis al següent element de la llista amb TAB o DOWN ARROW. Desplacis a l'anterior element de la llista amb SHIFT+TAB o UP ARROW. Premi SPACE o ENTER per seleccionar l'opció de la llista. Premi ESC per tancar el quadre de llista."}, +{name:"Editor de barra de ruta de l'element",legend:"Premi ${elementsPathFocus} per anar als elements de la barra de ruta. Desplacis al botó de l'element següent amb TAB o RIGHT ARROW. Desplacis a l'anterior botó amb SHIFT+TAB o LEFT ARROW. Premi SPACE o ENTER per seleccionar l'element a l'editor."}]},{name:"Ordres",items:[{name:"Desfer ordre",legend:"Premi ${undo}"},{name:"Refer ordre",legend:"Premi ${redo}"},{name:"Ordre negreta",legend:"Premi ${bold}"},{name:"Ordre cursiva",legend:"Premi ${italic}"}, +{name:"Ordre subratllat",legend:"Premi ${underline}"},{name:"Ordre enllaç",legend:"Premi ${link}"},{name:"Ordre amagar barra d'eines",legend:"Premi ${toolbarCollapse}"},{name:"Ordre per accedir a l'anterior espai enfocat",legend:"Premi ${accessPreviousSpace} per accedir a l'enfocament d'espai més proper inabastable abans del símbol d'intercalació, per exemple: dos elements HR adjacents. Repetiu la combinació de tecles per arribar a enfocaments d'espais distants."},{name:"Ordre per accedir al següent espai enfocat", +legend:"Premi ${accessNextSpace} per accedir a l'enfocament d'espai més proper inabastable després del símbol d'intercalació, per exemple: dos elements HR adjacents. Repetiu la combinació de tecles per arribar a enfocaments d'espais distants."},{name:"Ajuda d'accessibilitat",legend:"Premi ${a11yHelp}"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}],tab:"Tabulació",pause:"Pausa",capslock:"Bloqueig de majúscules",escape:"Escape",pageUp:"Pàgina Amunt", +pageDown:"Pàgina Avall",leftArrow:"Fletxa Esquerra",upArrow:"Fletxa Amunt",rightArrow:"Fletxa Dreta",downArrow:"Fletxa Avall",insert:"Inserir",leftWindowKey:"Tecla Windows Esquerra",rightWindowKey:"Tecla Windows Dreta",selectKey:"Tecla Seleccionar",numpad0:"Teclat Numèric 0",numpad1:"Teclat Numèric 1",numpad2:"Teclat Numèric 2",numpad3:"Teclat Numèric 3",numpad4:"Teclat Numèric 4",numpad5:"Teclat Numèric 5",numpad6:"Teclat Numèric 6",numpad7:"Teclat Numèric 7",numpad8:"Teclat Numèric 8",numpad9:"Teclat Numèric 9", +multiply:"Multiplicació",add:"Suma",subtract:"Resta",decimalPoint:"Punt Decimal",divide:"Divisió",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Bloqueig Teclat Numèric",scrollLock:"Bloqueig de Desplaçament",semiColon:"Punt i Coma",equalSign:"Símbol Igual",comma:"Coma",dash:"Guió",period:"Punt",forwardSlash:"Barra Diagonal",graveAccent:"Accent Obert",openBracket:"Claudàtor Obert",backSlash:"Barra Invertida",closeBracket:"Claudàtor Tancat", +singleQuote:"Cometa Simple"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","sq",{title:"Udhëzimet e Qasjes",contents:"Përmbajtja ndihmëse. Për ta mbyllur dialogun shtyp ESC.",legend:[{name:"Të përgjithshme",items:[{name:"Shiriti i Redaktuesit",legend:"Shtyp ${toolbarFocus} për të shfletuar kokështrirjen. Kalo tek grupi paraprak ose pasues i shiritit përmes kombinacionit TAB dhe SHIFT+TAB, në tastierë. Kalo tek pulla paraprake ose pasuese e kokështrirjes përmes SHIGJETË DJATHTAS ose SHIGJETËS MAJTAS, në tastierë. Shtyp HAPËSIRË ose ENTER Move to the next and previous toolbar button with RIGHT ARROW për të aktivizuar pullën e kokështrirjes."}, +{name:"Dialogu i Redaktuesit",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."},{name:"Menyja Kontestuese e Redaktorit",legend:"Press ${contextMenu} or APPLICATION KEY to open context-menu. Then move to next menu option with TAB or DOWN ARROW. Move to previous option with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the menu option. Open sub-menu of current option with SPACE or ENTER or RIGHT ARROW. Go back to parent menu item with ESC or LEFT ARROW. Close context menu with ESC."}, +{name:"Kutiza e Listës së Redaktuesit",legend:"Inside a list-box, move to next list item with TAB OR DOWN ARROW. Move to previous list item with SHIFT+TAB or UP ARROW. Press SPACE or ENTER to select the list option. Press ESC to close the list-box."},{name:"Shiriti i Rrugës së Elementeve të Redaktorit",legend:"Press ${elementsPathFocus} to navigate to the elements path bar. Move to next element button with TAB or RIGHT ARROW. Move to previous button with SHIFT+TAB or LEFT ARROW. Press SPACE or ENTER to select the element in editor."}]}, +{name:"Komandat",items:[{name:"Rikthe komandën",legend:"Shtyp ${undo}"},{name:"Ribëj komandën",legend:"Shtyp ${redo}"},{name:"Komanda e trashjes së tekstit",legend:"Shtyp ${bold}"},{name:"Komanda kursive",legend:"Shtyp ${italic}"},{name:"Komanda e nënvijëzimit",legend:"Shtyp ${underline}"},{name:"Komanda e Nyjes",legend:"Shtyp ${link}"},{name:"Komanda e Mbjedhjes së Kokështrirjes",legend:"Shtyp ${toolbarCollapse}"},{name:" Access previous focus space command",legend:"Press ${accessPreviousSpace} to access the closest unreachable focus space before the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."}, +{name:" Access next focus space command",legend:"Press ${accessNextSpace} to access the closest unreachable focus space after the caret, for example: two adjacent HR elements. Repeat the key combination to reach distant focus spaces."},{name:"Ndihmë Qasjeje",legend:"Shtyp ${a11yHelp}"},{name:"Hidhe tërë tekstin e thjeshtë",legend:"Shtyp ${pastetext}",legendEdge:"Shtyp ${pastetext}, pasuar nga ${paste}"}]}],tab:"Fletë",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down", +leftArrow:"Shenja majtas",upArrow:"Shenja sipër",rightArrow:"Shenja djathtas",downArrow:"Shenja poshtë",insert:"Shto",leftWindowKey:"Pulla Majtas e Windows-it",rightWindowKey:"Pulla Djathtas e Windows-it",selectKey:"Pulla Përzgjedhëse",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Shumëzo",add:"Shto",subtract:"Zbrit",decimalPoint:"Pika Decimale", +divide:"Pjesëto",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Shenja e Barazimit",comma:"Presje",dash:"vizë",period:"Pikë",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Hape kllapën",backSlash:"Backslash",closeBracket:"Mbylle kllapën",singleQuote:"Thonjëz e vetme"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/si.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/si.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/si.js (revision 7) @@ -0,0 +1,10 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.plugins.setLang("a11yhelp","si",{title:"ළඟා වියහැකි ",contents:"උදව් සඳහා අන්තර්ගතය.නික්මයෙමට ESC බොත්තම ඔබන්න",legend:[{name:"පොදු කරුණු",items:[{name:"සංස්කරණ මෙවලම් ",legend:"ඔබන්න ${මෙවලම් තීරු අවධානය} මෙවලම් තීරුවේ එහා මෙහා යෑමට.ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරුකාණ්ඩය හා TAB හා SHIFT+TAB .ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරු බොත්තම සමග RIGHT ARROW හෝ LEFT ARROW.මෙවලම් තීරු බොත්තම සක්‍රිය කර ගැනීමට SPACE හෝ ENTER බොත්තම ඔබන්න."},{name:"සංස්කරණ ",legend:"Inside a dialog, press TAB to navigate to the next dialog element, press SHIFT+TAB to move to the previous dialog element, press ENTER to submit the dialog, press ESC to cancel the dialog. When a dialog has multiple tabs, the tab list can be reached either with ALT+F10 or with TAB as part of the dialog tabbing order. With tab list focused, move to the next and previous tab with RIGHT and LEFT ARROW, respectively."}, +{name:"සංස්කරණ අඩංගුවට ",legend:"ඔබන්න ${අන්තර්ගත මෙනුව} හෝ APPLICATION KEY අන්තර්ගත-මෙනුව විවුරතකිරීමට. ඊළඟ මෙනුව-ව්කල්පයන්ට යෑමට TAB හෝ DOWN ARROW බොත්තම ද, පෙර විකල්පයන්ටයෑමට SHIFT+TAB හෝ UP ARROW බොත්තම ද, මෙනුව-ව්කල්පයන් තේරීමට SPACE හෝ ENTER බොත්තම ද, දැනට විවුර්තව ඇති උප-මෙනුවක වීකල්ප තේරීමට SPACE හෝ ENTER හෝ RIGHT ARROW ද, නැවත පෙර ප්‍රධාන මෙනුවට යෑමට ESC හෝ LEFT ARROW බොත්තම ද. අන්තර්ගත-මෙනුව වැසීමට ESC බොත්තම ද ඔබන්න."},{name:"සංස්කරණ තේරුම් ",legend:"තේරුම් කොටුව තුළ , ඊළඟ අයිතමයට යෑමට TAB හෝ DOWN ARROW , පෙර අයිතමයට යෑමට SHIFT+TAB හෝ UP ARROW . අයිතම විකල්පයන් තේරීමට SPACE හෝ ENTER ,තේරුම් කොටුව වැසීමට ESC බොත්තම් ද ඔබන්න."}, +{name:"සංස්කරණ අංග සහිත ",legend:"ඔබන්න ${මෙවලම් තීරු අවධානය} මෙවලම් තීරුවේ එහා මෙහා යෑමට.ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරුකාණ්ඩය හා TAB හා SHIFT+TAB .ඉදිරියට යෑමට හා ආපසු යෑමට මෙවලම් තීරු බොත්තම සමග RIGHT ARROW හෝ LEFT ARROW.මෙවලම් තීරු බොත්තම සක්‍රිය කර ගැනීමට SPACE හෝ ENTER බොත්තම ඔබන්න."}]},{name:"විධාන",items:[{name:"විධානය වෙනස් ",legend:"ඔබන්න ${වෙනස් කිරීම}"},{name:"විධාන නැවත් පෙර පරිදිම වෙනස්කර ගැනීම.",legend:"ඔබන්න ${නැවත් පෙර පරිදිම වෙනස්කර ගැනීම}"},{name:"තද අකුරින් විධාන",legend:"ඔබන්න ${තද }"}, +{name:"බැධී අකුරු විධාන",legend:"ඔබන්න ${බැධී අකුරු }"},{name:"යටින් ඉරි ඇද ඇති විධාන.",legend:"ඔබන්න ${යටින් ඉරි ඇද ඇති}"},{name:"සම්බන්ධිත විධාන",legend:"ඔබන්න ${සම්බන්ධ }"},{name:"මෙවලම් තීරු හැකුලුම් විධාන",legend:"ඔබන්න ${මෙවලම් තීරු හැකුලුම් }"},{name:"යොමුවීමට පෙර වැදගත් විධාන",legend:"ඔබන්න ${යොමුවීමට ඊළඟ }"},{name:"යොමුවීමට ඊළග වැදගත් විධාන",legend:"ඔබන්න ${යොමුවීමට ඊළඟ }"},{name:"ප්‍රවේශ ",legend:"ඔබන්න ${a11y }"},{name:" Paste as plain text",legend:"Press ${pastetext}",legendEdge:"Press ${pastetext}, followed by ${paste}"}]}], +tab:"Tab",pause:"Pause",capslock:"Caps Lock",escape:"Escape",pageUp:"Page Up",pageDown:"Page Down",leftArrow:"Left Arrow",upArrow:"Up Arrow",rightArrow:"Right Arrow",downArrow:"Down Arrow",insert:"Insert",leftWindowKey:"Left Windows key",rightWindowKey:"Right Windows key",selectKey:"Select key",numpad0:"Numpad 0",numpad1:"Numpad 1",numpad2:"Numpad 2",numpad3:"Numpad 3",numpad4:"Numpad 4",numpad5:"Numpad 5",numpad6:"Numpad 6",numpad7:"Numpad 7",numpad8:"Numpad 8",numpad9:"Numpad 9",multiply:"Multiply", +add:"Add",subtract:"Subtract",decimalPoint:"Decimal Point",divide:"Divide",f1:"F1",f2:"F2",f3:"F3",f4:"F4",f5:"F5",f6:"F6",f7:"F7",f8:"F8",f9:"F9",f10:"F10",f11:"F11",f12:"F12",numLock:"Num Lock",scrollLock:"Scroll Lock",semiColon:"Semicolon",equalSign:"Equal Sign",comma:"Comma",dash:"Dash",period:"Period",forwardSlash:"Forward Slash",graveAccent:"Grave Accent",openBracket:"Open Bracket",backSlash:"Backslash",closeBracket:"Close Bracket",singleQuote:"Single Quote"}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/a11yhelp/dialogs/lang/si.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/copyformatting/styles/copyformatting.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/copyformatting/styles/copyformatting.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/copyformatting/styles/copyformatting.css (revision 7) @@ -0,0 +1,45 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ + +html.cke_copyformatting_active { + min-height: 100%; +} + +/* There is no cursor in CUR format for IE/Edge as that browser + does not support custom cursor in [contenteditable] area. + Ticket for this issue: + https://connect.microsoft.com/IE/feedback/details/1070215/cant-change-cursor-in-contenteditable-using-css */ +.cke_copyformatting_disabled, +.cke_copyformatting_disabled a, +.cke_copyformatting_disabled .cke_editable { + cursor: url(../cursors/cursor-disabled.svg) 12 1, auto; +} + +.cke_copyformatting_disabled .cke_top a, +.cke_copyformatting_disabled .cke_bottom a { + cursor: default; +} + +/* Added `!important` rule as a fix for overriding the cursor by the Table Resize plugin. + The `!important` rule is used because the Table Resize plugin creates a `<div>` which changes the cursor using inlined styles. */ +.cke_copyformatting_active, +.cke_copyformatting_active.cke_editable, +.cke_copyformatting_active .cke_editable, +.cke_copyformatting_active a, +.cke_copyformatting_active table, +.cke_copyformatting_active div[data-cke-temp], +.cke_copyformatting_tableresize_cursor div[data-cke-temp] { + cursor: url(../cursors/cursor.svg) 12 1, auto !important; +} + +.cke_screen_reader_only { + position: absolute; + clip: rect(1px, 1px, 1px, 1px); + padding: 0; + border: 0; + height: 1px; + width: 1px; + overflow: hidden; +} Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/copyformatting/styles/copyformatting.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/copyformatting/cursors/cursor-disabled.svg =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/copyformatting/cursors/cursor-disabled.svg (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/copyformatting/cursors/cursor-disabled.svg (revision 7) @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg width="16px" height="16px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + + <title>cursor_disabled</title> + <desc></desc> + <defs></defs> + <g id="Page-4" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> + <g id="cursor_disabled_5"> + <g id="cursor_disabled_illustrator" transform="translate(24.000000, 2.000000)"> + <g id="Layer_1"> + <path d="M225,14 C227.8,14 230,11.8 230,9 L230,5 C230,2.2 227.8,0 225,0 L127,0 C124.2,0 122,2.2 122,5 L122,9 C122,11.8 124.2,14 127,14 L158,14 L158,26.3 C172.4,34 185,44.6 195,57.4 L195,14 L225,14 L225,14 Z" id="Shape" fill="#000000"></path> + <path d="M158,228.7 L158,238 L134.5,238 C130.6,239.1 126.7,239.9 122.6,240.6 C122.2,241.3 121.9,242.1 121.9,243 L121.9,247 C121.9,249.8 124.1,252 126.9,252 L224.9,252 C227.7,252 229.9,249.8 229.9,247 L229.9,243 C229.9,240.2 227.7,238 224.9,238 L194.9,238 L194.9,197.6 C185,210.4 172.4,221 158,228.7 L158,228.7 Z" id="Shape" fill="#000000"></path> + <path d="M54.7,107.6 C53.9,110.7 51.1,112.9 41.8,116.1 C35.6,118.3 31.9,121.1 29.5,124.5 C29.5,125.5 29.4,126.4 29.4,127.4 C29.4,134.1 30.3,140.7 32,146.9 L93.9,146.9 L54.7,107.6 L54.7,107.6 Z" id="Shape" fill="#000000"></path> + <path d="M70.8,13 C70.7,13 70.6,13.1 70.5,13.3 C65.9,13.7 58.9,15.5 54.6,24.4 C63.2,20.2 72.5,17.1 82.2,15.1 C77.4,12.7 72.6,13 70.8,13 L70.8,13 Z" id="Shape" fill="#000000"></path> + <path d="M55,170 L55,183.7 C58.7,187 62.7,189.9 67,192.3 L67,170 L78,170 L78,197.6 C81.9,199.1 85.9,200.2 90,201 L90,170 L101,170 L101,202.4 C102.2,202.5 103.3,202.5 104.5,202.5 C109.4,202.5 114.3,202 119.1,201.1 C119.3,193.5 119.5,182.8 119.6,172.6 L105.1,158 L36.1,158 C38.3,162.8 40.9,167.4 44,171.7 L44,170 L55,170 L55,170 Z" id="Shape" fill="#000000"></path> + <path d="M26.3,211.5 C26.3,211.5 24.6,222.6 36.8,222.6 L40.8,222.6 C35.7,219.1 30.8,215.3 26.3,211.1 L26.3,211.5 L26.3,211.5 Z" id="Shape" fill="#000000"></path> + <path d="M172.1,159.8 C176.9,149.8 179.4,138.7 179.4,127.5 C179.4,107.1 171.2,88.6 158,75.1 L158,145.7 L172.1,159.8 L172.1,159.8 Z" id="Shape" fill="#000000"></path> + <path d="M72.2,59.9 L91.2,78.9 C92.3,73 93.7,65.4 94.1,53.3 C86.5,54.3 79.1,56.6 72.2,59.9 L72.2,59.9 Z" id="Shape" fill="#000000"></path> + <path d="M119.7,158 L119.2,158 L119.7,158.5 L119.7,158 L119.7,158 Z" id="Shape" fill="#FF0000"></path> + <path d="M195,75.3 C186.1,59.9 173.3,46.9 158,37.8 C142.3,28.4 124,23 104.5,23 C99.7,23 95,23.3 90.4,24 C86.3,24.6 82.3,25.3 78.3,26.4 C73.4,27.7 68.7,29.3 64.1,31.2 C59.6,33.1 55.3,35.3 51.2,37.7 C20.6,55.9 0,89.3 0,127.5 C0,153.8 9.8,177.9 25.9,196.3 C31.3,202.4 37.3,207.9 44,212.6 C47.5,215.1 51.2,217.4 55,219.5 C57,220.6 59,221.6 61.1,222.5 C74.3,228.6 89,231.9 104.5,231.9 C124,231.9 142.3,226.5 158,217.1 C173.3,207.9 186.1,195 195,179.6 C203.9,164.2 209,146.4 209,127.4 C209,108.5 203.9,90.7 195,75.3 L195,75.3 Z M151.2,198.5 C141.4,205 130.4,209.3 118.9,211.3 C114.2,212.1 109.4,212.5 104.5,212.5 C103.3,212.5 102.2,212.5 101,212.4 C97.3,212.2 93.6,211.8 90,211.2 C85.9,210.5 81.9,209.5 78,208.2 C74.2,207 70.5,205.5 67,203.7 C62.8,201.6 58.8,199.2 55,196.5 C51.1,193.7 47.4,190.5 44,187.1 C36,179 29.6,169.2 25.4,158.4 C21.6,148.8 19.6,138.4 19.6,127.5 C19.6,110.8 24.4,94.7 33.6,80.8 L37,75.7 L55.7,94.4 L108.4,147.1 L119.4,158.1 L119.9,158.1 L119.9,158.6 L156.5,195.2 L151.2,198.5 L151.2,198.5 Z M177.7,170.7 L174.4,176.2 L158,159.9 L89.4,91.3 L55.8,57.6 L61.3,54.3 C71.4,48.3 82.6,44.6 94.2,43.1 C97.6,42.7 101,42.5 104.5,42.5 C124.8,42.5 143.4,49.6 158,61.5 C177.2,77.1 189.4,100.8 189.4,127.4 C189.4,142.7 185.4,157.7 177.7,170.7 L177.7,170.7 Z" id="Shape" fill="#FF0000"></path> + </g> + </g> + </g> + </g> +</svg> \ No newline at end of file Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/copyformatting/cursors/cursor.svg =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/copyformatting/cursors/cursor.svg (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/copyformatting/cursors/cursor.svg (revision 7) @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg width="16px" height="16px" viewBox="0 0 205 252" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <title>cursor</title> + <desc></desc> + <defs></defs> + <g id="Page-4" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> + <g id="Artboard-1" transform="translate(-49.000000, -2.000000)" fill="#000000"> + <g id="cursor" transform="translate(49.000000, 2.000000)"> + <path d="M170,14 L200.007537,14 C202.769057,14 205,11.7636493 205,9.00497092 L205,4.99502908 C205,2.23382212 202.764798,0 200.007537,0 L101.992463,0 C99.2309431,0 97,2.23635069 97,4.99502908 L97,9.00497092 C97,11.7661779 99.2352017,14 101.992463,14 L133,14 L133,238 L101.992463,238 C99.2309431,238 97,240.236351 97,242.995029 L97,247.004971 C97,249.766178 99.2352017,252 101.992463,252 L200.007537,252 C202.769057,252 205,249.763649 205,247.004971 L205,242.995029 C205,240.233822 202.764798,238 200.007537,238 L170,238 L170,14 Z" id="Combined-Shape"></path> + <path d="M65,222.280829 C60.6131176,222.280829 56.3742162,222.280828 52.9999995,222.280828 L53,170 L42,170 L42,222.560593 C38.6130246,222.560593 34.3763308,222.560593 30.0000005,222.560594 L30,170 L19,170 L19,222.560595 C16.324865,222.560595 13.8463369,222.560595 11.7612725,222.560596 C-0.369586438,222.560599 1.28381746,211.509313 1.28381746,211.509313 C1.28381746,211.509313 0.389689944,177.756 0.396571277,158 L94.7408232,158 C94.7392736,177.793089 93.8535396,211.229548 93.8535396,211.229548 C93.8535396,211.229548 95.5069435,222.280834 83.3760845,222.280831 C81.2553782,222.28083 78.7276415,222.28083 76.0000002,222.28083 L76,170 L65,170 L65,222.280829 Z M0.574534036,147 C0.579768387,146.896149 0.585131638,146.794755 0.590625514,146.695866 C1.28381748,134.218409 -0.797112286,122.434146 16.8792816,116.195422 C34.5556755,109.956698 28.6662536,107.530522 30.3978792,95.7462576 C32.1295048,83.961993 25.8921298,78.069863 25.8921315,44.7966496 C25.892133,17.9607206 38.5169467,13.9220173 45.5220939,13.3637617 C45.6089814,13.1340727 45.7002506,13.0164391 45.7960631,13.0164391 C49.8372056,13.0164389 69.2452237,11.2436713 69.2452255,44.5168847 C69.2452273,77.7900982 63.0078523,83.6822281 64.7394778,95.4664928 C66.4711034,107.250757 60.5816815,109.676933 78.2580754,115.915657 C95.9344693,122.154381 93.8535395,133.938644 94.5467315,146.416101 C94.5570586,146.601989 94.5669242,146.796724 94.5763397,147 L0.574534036,147 Z M47.5,41 C52.1944204,41 56,37.1944204 56,32.5 C56,27.8055796 52.1944204,24 47.5,24 C42.8055796,24 39,27.8055796 39,32.5 C39,37.1944204 42.8055796,41 47.5,41 Z" id="Combined-Shape"></path> + </g> + </g> + </g> +</svg> Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/image/images/noimage.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/image/images/noimage.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/image/dialogs/image.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/image/dialogs/image.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/image/dialogs/image.js (revision 7) @@ -0,0 +1,44 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +(function(){var v=function(d,l){function v(){var a=arguments,b=this.getContentElement("advanced","txtdlgGenStyle");b&&b.commit.apply(b,a);this.foreach(function(b){b.commit&&"txtdlgGenStyle"!=b.id&&b.commit.apply(b,a)})}function k(a){if(!w){w=1;var b=this.getDialog(),c=b.imageElement;if(c){this.commit(1,c);a=[].concat(a);for(var d=a.length,f,g=0;g<d;g++)(f=b.getContentElement.apply(b,a[g].split(":")))&&f.setup(1,c)}w=0}}var m=/^\s*(\d+)((px)|\%)?\s*$/i,z=/(^\s*(\d+)((px)|\%)?\s*$)|^$/i,r=/^\d+px$/, +A=function(){var a=this.getValue(),b=this.getDialog(),c=a.match(m);c&&("%"==c[2]&&n(b,!1),a=c[1]);b.lockRatio&&(c=b.originalElement,"true"==c.getCustomData("isReady")&&("txtHeight"==this.id?(a&&"0"!=a&&(a=Math.round(a/c.$.height*c.$.width)),isNaN(a)||b.setValueOf("info","txtWidth",a)):(a&&"0"!=a&&(a=Math.round(a/c.$.width*c.$.height)),isNaN(a)||b.setValueOf("info","txtHeight",a))));e(b)},e=function(a){if(!a.originalElement||!a.preview)return 1;a.commitContent(4,a.preview);return 0},w,n=function(a, +b){if(!a.getContentElement("info","ratioLock"))return null;var c=a.originalElement;if(!c)return null;if("check"==b){if(!a.userlockRatio&&"true"==c.getCustomData("isReady")){var d=a.getValueOf("info","txtWidth"),f=a.getValueOf("info","txtHeight"),c=1E3*c.$.width/c.$.height,g=1E3*d/f;a.lockRatio=!1;d||f?isNaN(c)||isNaN(g)||Math.round(c)!=Math.round(g)||(a.lockRatio=!0):a.lockRatio=!0}}else void 0!==b?a.lockRatio=b:(a.userlockRatio=1,a.lockRatio=!a.lockRatio);d=CKEDITOR.document.getById(t);a.lockRatio? +d.removeClass("cke_btn_unlocked"):d.addClass("cke_btn_unlocked");d.setAttribute("aria-checked",a.lockRatio);CKEDITOR.env.hc&&d.getChild(0).setHtml(a.lockRatio?CKEDITOR.env.ie?"■":"▣":CKEDITOR.env.ie?"□":"▢");return a.lockRatio},B=function(a,b){var c=a.originalElement;if("true"==c.getCustomData("isReady")){var d=a.getContentElement("info","txtWidth"),f=a.getContentElement("info","txtHeight"),g;b?c=g=0:(g=c.$.width,c=c.$.height);d&&d.setValue(g);f&&f.setValue(c)}e(a)},C=function(a,b){function c(a,b){var c= +a.match(m);return c?("%"==c[2]&&(c[1]+="%",n(d,!1)),c[1]):b}if(1==a){var d=this.getDialog(),f="",g="txtWidth"==this.id?"width":"height",e=b.getAttribute(g);e&&(f=c(e,f));f=c(b.getStyle(g),f);this.setValue(f)}},x,u=function(){var a=this.originalElement,b=CKEDITOR.document.getById(p);a.setCustomData("isReady","true");a.removeListener("load",u);a.removeListener("error",h);a.removeListener("abort",h);b&&b.setStyle("display","none");this.dontResetSize||B(this,!1===d.config.image_prefillDimensions);this.firstLoad&& +CKEDITOR.tools.setTimeout(function(){n(this,"check")},0,this);this.dontResetSize=this.firstLoad=!1;e(this)},h=function(){var a=this.originalElement,b=CKEDITOR.document.getById(p);a.removeListener("load",u);a.removeListener("error",h);a.removeListener("abort",h);a=CKEDITOR.getUrl(CKEDITOR.plugins.get("image").path+"images/noimage.png");this.preview&&this.preview.setAttribute("src",a);b&&b.setStyle("display","none");n(this,!1)},q=function(a){return CKEDITOR.tools.getNextId()+"_"+a},t=q("btnLockSizes"), +y=q("btnResetSize"),p=q("ImagePreviewLoader"),E=q("previewLink"),D=q("previewImage");return{title:d.lang.image["image"==l?"title":"titleButton"],minWidth:"moono-lisa"==(CKEDITOR.skinName||d.config.skin)?500:420,minHeight:360,onShow:function(){this.linkEditMode=this.imageEditMode=this.linkElement=this.imageElement=!1;this.lockRatio=!0;this.userlockRatio=0;this.dontResetSize=!1;this.firstLoad=!0;this.addLink=!1;var a=this.getParentEditor(),b=a.getSelection(),c=(b=b&&b.getSelectedElement())&&a.elementPath(b).contains("a", +1),d=CKEDITOR.document.getById(p);d&&d.setStyle("display","none");x=new CKEDITOR.dom.element("img",a.document);this.preview=CKEDITOR.document.getById(D);this.originalElement=a.document.createElement("img");this.originalElement.setAttribute("alt","");this.originalElement.setCustomData("isReady","false");c&&(this.linkElement=c,this.addLink=this.linkEditMode=!0,a=c.getChildren(),1==a.count()&&(d=a.getItem(0),d.type==CKEDITOR.NODE_ELEMENT&&(d.is("img")||d.is("input"))&&(this.imageElement=a.getItem(0), +this.imageElement.is("img")?this.imageEditMode="img":this.imageElement.is("input")&&(this.imageEditMode="input"))),"image"==l&&this.setupContent(2,c));if(this.customImageElement)this.imageEditMode="img",this.imageElement=this.customImageElement,delete this.customImageElement;else if(b&&"img"==b.getName()&&!b.data("cke-realelement")||b&&"input"==b.getName()&&"image"==b.getAttribute("type"))this.imageEditMode=b.getName(),this.imageElement=b;this.imageEditMode&&(this.cleanImageElement=this.imageElement, +this.imageElement=this.cleanImageElement.clone(!0,!0),this.setupContent(1,this.imageElement));n(this,!0);CKEDITOR.tools.trim(this.getValueOf("info","txtUrl"))||(this.preview.removeAttribute("src"),this.preview.setStyle("display","none"))},onOk:function(){if(this.imageEditMode){var a=this.imageEditMode;"image"==l&&"input"==a&&confirm(d.lang.image.button2Img)?(this.imageElement=d.document.createElement("img"),this.imageElement.setAttribute("alt",""),d.insertElement(this.imageElement)):"image"!=l&&"img"== +a&&confirm(d.lang.image.img2Button)?(this.imageElement=d.document.createElement("input"),this.imageElement.setAttributes({type:"image",alt:""}),d.insertElement(this.imageElement)):(this.imageElement=this.cleanImageElement,delete this.cleanImageElement)}else"image"==l?this.imageElement=d.document.createElement("img"):(this.imageElement=d.document.createElement("input"),this.imageElement.setAttribute("type","image")),this.imageElement.setAttribute("alt","");this.linkEditMode||(this.linkElement=d.document.createElement("a")); +this.commitContent(1,this.imageElement);this.commitContent(2,this.linkElement);this.imageElement.getAttribute("style")||this.imageElement.removeAttribute("style");this.imageEditMode?!this.linkEditMode&&this.addLink?(d.insertElement(this.linkElement),this.imageElement.appendTo(this.linkElement)):this.linkEditMode&&!this.addLink&&(d.getSelection().selectElement(this.linkElement),d.insertElement(this.imageElement)):this.addLink?this.linkEditMode?this.linkElement.equals(d.getSelection().getSelectedElement())? +(this.linkElement.setHtml(""),this.linkElement.append(this.imageElement,!1)):d.insertElement(this.imageElement):(d.insertElement(this.linkElement),this.linkElement.append(this.imageElement,!1)):d.insertElement(this.imageElement)},onLoad:function(){"image"!=l&&this.hidePage("Link");var a=this._.element.getDocument();this.getContentElement("info","ratioLock")&&(this.addFocusable(a.getById(y),5),this.addFocusable(a.getById(t),5));this.commitContent=v},onHide:function(){this.preview&&this.commitContent(8, +this.preview);this.originalElement&&(this.originalElement.removeListener("load",u),this.originalElement.removeListener("error",h),this.originalElement.removeListener("abort",h),this.originalElement.remove(),this.originalElement=!1);delete this.imageElement},contents:[{id:"info",label:d.lang.image.infoTab,accessKey:"I",elements:[{type:"vbox",padding:0,children:[{type:"hbox",widths:["280px","110px"],align:"right",className:"cke_dialog_image_url",children:[{id:"txtUrl",type:"text",label:d.lang.common.url, +required:!0,onChange:function(){var a=this.getDialog(),b=this.getValue();if(0<b.length){var a=this.getDialog(),c=a.originalElement;a.preview&&a.preview.removeStyle("display");c.setCustomData("isReady","false");var d=CKEDITOR.document.getById(p);d&&d.setStyle("display","");c.on("load",u,a);c.on("error",h,a);c.on("abort",h,a);c.setAttribute("src",b);a.preview&&(x.setAttribute("src",b),a.preview.setAttribute("src",x.$.src),e(a))}else a.preview&&(a.preview.removeAttribute("src"),a.preview.setStyle("display", +"none"))},setup:function(a,b){if(1==a){var c=b.data("cke-saved-src")||b.getAttribute("src");this.getDialog().dontResetSize=!0;this.setValue(c);this.setInitValue()}},commit:function(a,b){1==a&&(this.getValue()||this.isChanged())?(b.data("cke-saved-src",this.getValue()),b.setAttribute("src",this.getValue())):8==a&&(b.setAttribute("src",""),b.removeAttribute("src"))},validate:CKEDITOR.dialog.validate.notEmpty(d.lang.image.urlMissing)},{type:"button",id:"browse",style:"display:inline-block;margin-top:14px;", +align:"center",label:d.lang.common.browseServer,hidden:!0,filebrowser:"info:txtUrl"}]}]},{id:"txtAlt",type:"text",label:d.lang.image.alt,accessKey:"T","default":"",onChange:function(){e(this.getDialog())},setup:function(a,b){1==a&&this.setValue(b.getAttribute("alt"))},commit:function(a,b){1==a?(this.getValue()||this.isChanged())&&b.setAttribute("alt",this.getValue()):4==a?b.setAttribute("alt",this.getValue()):8==a&&b.removeAttribute("alt")}},{type:"hbox",children:[{id:"basic",type:"vbox",children:[{type:"hbox", +requiredContent:"img{width,height}",widths:["50%","50%"],children:[{type:"vbox",padding:1,children:[{type:"text",width:"45px",id:"txtWidth",label:d.lang.common.width,onKeyUp:A,onChange:function(){k.call(this,"advanced:txtdlgGenStyle")},validate:function(){var a=this.getValue().match(z);(a=!(!a||0===parseInt(a[1],10)))||alert(d.lang.common.invalidLength.replace("%1",d.lang.common.width).replace("%2","px, %"));return a},setup:C,commit:function(a,b){var c=this.getValue();1==a?(c&&d.activeFilter.check("img{width,height}")? +b.setStyle("width",CKEDITOR.tools.cssLength(c)):b.removeStyle("width"),b.removeAttribute("width")):4==a?c.match(m)?b.setStyle("width",CKEDITOR.tools.cssLength(c)):(c=this.getDialog().originalElement,"true"==c.getCustomData("isReady")&&b.setStyle("width",c.$.width+"px")):8==a&&(b.removeAttribute("width"),b.removeStyle("width"))}},{type:"text",id:"txtHeight",width:"45px",label:d.lang.common.height,onKeyUp:A,onChange:function(){k.call(this,"advanced:txtdlgGenStyle")},validate:function(){var a=this.getValue().match(z); +(a=!(!a||0===parseInt(a[1],10)))||alert(d.lang.common.invalidLength.replace("%1",d.lang.common.height).replace("%2","px, %"));return a},setup:C,commit:function(a,b){var c=this.getValue();1==a?(c&&d.activeFilter.check("img{width,height}")?b.setStyle("height",CKEDITOR.tools.cssLength(c)):b.removeStyle("height"),b.removeAttribute("height")):4==a?c.match(m)?b.setStyle("height",CKEDITOR.tools.cssLength(c)):(c=this.getDialog().originalElement,"true"==c.getCustomData("isReady")&&b.setStyle("height",c.$.height+ +"px")):8==a&&(b.removeAttribute("height"),b.removeStyle("height"))}}]},{id:"ratioLock",type:"html",className:"cke_dialog_image_ratiolock",style:"margin-top:30px;width:40px;height:40px;",onLoad:function(){var a=CKEDITOR.document.getById(y),b=CKEDITOR.document.getById(t);a&&(a.on("click",function(a){B(this);a.data&&a.data.preventDefault()},this.getDialog()),a.on("mouseover",function(){this.addClass("cke_btn_over")},a),a.on("mouseout",function(){this.removeClass("cke_btn_over")},a));b&&(b.on("click", +function(a){n(this);var b=this.originalElement,d=this.getValueOf("info","txtWidth");"true"==b.getCustomData("isReady")&&d&&(b=b.$.height/b.$.width*d,isNaN(b)||(this.setValueOf("info","txtHeight",Math.round(b)),e(this)));a.data&&a.data.preventDefault()},this.getDialog()),b.on("mouseover",function(){this.addClass("cke_btn_over")},b),b.on("mouseout",function(){this.removeClass("cke_btn_over")},b))},html:'\x3cdiv\x3e\x3ca href\x3d"javascript:void(0)" tabindex\x3d"-1" title\x3d"'+d.lang.image.lockRatio+ +'" class\x3d"cke_btn_locked" id\x3d"'+t+'" role\x3d"checkbox"\x3e\x3cspan class\x3d"cke_icon"\x3e\x3c/span\x3e\x3cspan class\x3d"cke_label"\x3e'+d.lang.image.lockRatio+'\x3c/span\x3e\x3c/a\x3e\x3ca href\x3d"javascript:void(0)" tabindex\x3d"-1" title\x3d"'+d.lang.image.resetSize+'" class\x3d"cke_btn_reset" id\x3d"'+y+'" role\x3d"button"\x3e\x3cspan class\x3d"cke_label"\x3e'+d.lang.image.resetSize+"\x3c/span\x3e\x3c/a\x3e\x3c/div\x3e"}]},{type:"vbox",padding:1,children:[{type:"text",id:"txtBorder", +requiredContent:"img{border-width}",width:"60px",label:d.lang.image.border,"default":"",onKeyUp:function(){e(this.getDialog())},onChange:function(){k.call(this,"advanced:txtdlgGenStyle")},validate:CKEDITOR.dialog.validate.integer(d.lang.image.validateBorder),setup:function(a,b){if(1==a){var c;c=(c=(c=b.getStyle("border-width"))&&c.match(/^(\d+px)(?: \1 \1 \1)?$/))&&parseInt(c[1],10);isNaN(parseInt(c,10))&&(c=b.getAttribute("border"));this.setValue(c)}},commit:function(a,b){var c=parseInt(this.getValue(), +10);1==a||4==a?(isNaN(c)?!c&&this.isChanged()&&b.removeStyle("border"):(b.setStyle("border-width",CKEDITOR.tools.cssLength(c)),b.setStyle("border-style","solid")),1==a&&b.removeAttribute("border")):8==a&&(b.removeAttribute("border"),b.removeStyle("border-width"),b.removeStyle("border-style"),b.removeStyle("border-color"))}},{type:"text",id:"txtHSpace",requiredContent:"img{margin-left,margin-right}",width:"60px",label:d.lang.image.hSpace,"default":"",onKeyUp:function(){e(this.getDialog())},onChange:function(){k.call(this, +"advanced:txtdlgGenStyle")},validate:CKEDITOR.dialog.validate.integer(d.lang.image.validateHSpace),setup:function(a,b){if(1==a){var c,d;c=b.getStyle("margin-left");d=b.getStyle("margin-right");c=c&&c.match(r);d=d&&d.match(r);c=parseInt(c,10);d=parseInt(d,10);c=c==d&&c;isNaN(parseInt(c,10))&&(c=b.getAttribute("hspace"));this.setValue(c)}},commit:function(a,b){var c=parseInt(this.getValue(),10);1==a||4==a?(isNaN(c)?!c&&this.isChanged()&&(b.removeStyle("margin-left"),b.removeStyle("margin-right")):(b.setStyle("margin-left", +CKEDITOR.tools.cssLength(c)),b.setStyle("margin-right",CKEDITOR.tools.cssLength(c))),1==a&&b.removeAttribute("hspace")):8==a&&(b.removeAttribute("hspace"),b.removeStyle("margin-left"),b.removeStyle("margin-right"))}},{type:"text",id:"txtVSpace",requiredContent:"img{margin-top,margin-bottom}",width:"60px",label:d.lang.image.vSpace,"default":"",onKeyUp:function(){e(this.getDialog())},onChange:function(){k.call(this,"advanced:txtdlgGenStyle")},validate:CKEDITOR.dialog.validate.integer(d.lang.image.validateVSpace), +setup:function(a,b){if(1==a){var c,d;c=b.getStyle("margin-top");d=b.getStyle("margin-bottom");c=c&&c.match(r);d=d&&d.match(r);c=parseInt(c,10);d=parseInt(d,10);c=c==d&&c;isNaN(parseInt(c,10))&&(c=b.getAttribute("vspace"));this.setValue(c)}},commit:function(a,b){var c=parseInt(this.getValue(),10);1==a||4==a?(isNaN(c)?!c&&this.isChanged()&&(b.removeStyle("margin-top"),b.removeStyle("margin-bottom")):(b.setStyle("margin-top",CKEDITOR.tools.cssLength(c)),b.setStyle("margin-bottom",CKEDITOR.tools.cssLength(c))), +1==a&&b.removeAttribute("vspace")):8==a&&(b.removeAttribute("vspace"),b.removeStyle("margin-top"),b.removeStyle("margin-bottom"))}},{id:"cmbAlign",requiredContent:"img{float}",type:"select",widths:["35%","65%"],style:"width:90px",label:d.lang.common.align,"default":"",items:[[d.lang.common.notSet,""],[d.lang.common.left,"left"],[d.lang.common.right,"right"]],onChange:function(){e(this.getDialog());k.call(this,"advanced:txtdlgGenStyle")},setup:function(a,b){if(1==a){var c=b.getStyle("float");switch(c){case "inherit":case "none":c= +""}!c&&(c=(b.getAttribute("align")||"").toLowerCase());this.setValue(c)}},commit:function(a,b){var c=this.getValue();if(1==a||4==a){if(c?b.setStyle("float",c):b.removeStyle("float"),1==a)switch(c=(b.getAttribute("align")||"").toLowerCase(),c){case "left":case "right":b.removeAttribute("align")}}else 8==a&&b.removeStyle("float")}}]}]},{type:"vbox",height:"250px",children:[{type:"html",id:"htmlPreview",style:"width:95%;",html:"\x3cdiv\x3e"+CKEDITOR.tools.htmlEncode(d.lang.common.preview)+'\x3cbr\x3e\x3cdiv id\x3d"'+ +p+'" class\x3d"ImagePreviewLoader" style\x3d"display:none"\x3e\x3cdiv class\x3d"loading"\x3e\x26nbsp;\x3c/div\x3e\x3c/div\x3e\x3cdiv class\x3d"ImagePreviewBox"\x3e\x3ctable\x3e\x3ctr\x3e\x3ctd\x3e\x3ca href\x3d"javascript:void(0)" target\x3d"_blank" onclick\x3d"return false;" id\x3d"'+E+'"\x3e\x3cimg id\x3d"'+D+'" alt\x3d"" /\x3e\x3c/a\x3e'+(d.config.image_previewText||"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas feugiat consequat diam. Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, nulla. Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie. Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem, in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices, ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas elementum. Nunc imperdiet gravida mauris.")+ +"\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3c/div\x3e\x3c/div\x3e"}]}]}]},{id:"Link",requiredContent:"a[href]",label:d.lang.image.linkTab,padding:0,elements:[{id:"txtUrl",type:"text",label:d.lang.common.url,style:"width: 100%","default":"",setup:function(a,b){if(2==a){var c=b.data("cke-saved-href");c||(c=b.getAttribute("href"));this.setValue(c)}},commit:function(a,b){if(2==a&&(this.getValue()||this.isChanged())){var c=this.getValue();b.data("cke-saved-href",c);b.setAttribute("href",c);this.getValue()|| +!d.config.image_removeLinkByEmptyURL?this.getDialog().addLink=!0:this.getDialog().addLink=!1}}},{type:"button",id:"browse",className:"cke_dialog_image_browse",filebrowser:{action:"Browse",target:"Link:txtUrl",url:d.config.filebrowserImageBrowseLinkUrl},style:"float:right",hidden:!0,label:d.lang.common.browseServer},{id:"cmbTarget",type:"select",requiredContent:"a[target]",label:d.lang.common.target,"default":"",items:[[d.lang.common.notSet,""],[d.lang.common.targetNew,"_blank"],[d.lang.common.targetTop, +"_top"],[d.lang.common.targetSelf,"_self"],[d.lang.common.targetParent,"_parent"]],setup:function(a,b){2==a&&this.setValue(b.getAttribute("target")||"")},commit:function(a,b){2==a&&(this.getValue()||this.isChanged())&&b.setAttribute("target",this.getValue())}}]},{id:"Upload",hidden:!0,filebrowser:"uploadButton",label:d.lang.image.upload,elements:[{type:"file",id:"upload",label:d.lang.image.btnUpload,style:"height:40px",size:38},{type:"fileButton",id:"uploadButton",filebrowser:"info:txtUrl",label:d.lang.image.btnUpload, +"for":["Upload","upload"]}]},{id:"advanced",label:d.lang.common.advancedTab,elements:[{type:"hbox",widths:["50%","25%","25%"],children:[{type:"text",id:"linkId",requiredContent:"img[id]",label:d.lang.common.id,setup:function(a,b){1==a&&this.setValue(b.getAttribute("id"))},commit:function(a,b){1==a&&(this.getValue()||this.isChanged())&&b.setAttribute("id",this.getValue())}},{id:"cmbLangDir",type:"select",requiredContent:"img[dir]",style:"width : 100px;",label:d.lang.common.langDir,"default":"",items:[[d.lang.common.notSet, +""],[d.lang.common.langDirLtr,"ltr"],[d.lang.common.langDirRtl,"rtl"]],setup:function(a,b){1==a&&this.setValue(b.getAttribute("dir"))},commit:function(a,b){1==a&&(this.getValue()||this.isChanged())&&b.setAttribute("dir",this.getValue())}},{type:"text",id:"txtLangCode",requiredContent:"img[lang]",label:d.lang.common.langCode,"default":"",setup:function(a,b){1==a&&this.setValue(b.getAttribute("lang"))},commit:function(a,b){1==a&&(this.getValue()||this.isChanged())&&b.setAttribute("lang",this.getValue())}}]}, +{type:"text",id:"txtGenLongDescr",requiredContent:"img[longdesc]",label:d.lang.common.longDescr,setup:function(a,b){1==a&&this.setValue(b.getAttribute("longDesc"))},commit:function(a,b){1==a&&(this.getValue()||this.isChanged())&&b.setAttribute("longDesc",this.getValue())}},{type:"hbox",widths:["50%","50%"],children:[{type:"text",id:"txtGenClass",requiredContent:"img(cke-xyz)",label:d.lang.common.cssClass,"default":"",setup:function(a,b){1==a&&this.setValue(b.getAttribute("class"))},commit:function(a, +b){1==a&&(this.getValue()||this.isChanged())&&b.setAttribute("class",this.getValue())}},{type:"text",id:"txtGenTitle",requiredContent:"img[title]",label:d.lang.common.advisoryTitle,"default":"",onChange:function(){e(this.getDialog())},setup:function(a,b){1==a&&this.setValue(b.getAttribute("title"))},commit:function(a,b){1==a?(this.getValue()||this.isChanged())&&b.setAttribute("title",this.getValue()):4==a?b.setAttribute("title",this.getValue()):8==a&&b.removeAttribute("title")}}]},{type:"text",id:"txtdlgGenStyle", +requiredContent:"img{cke-xyz}",label:d.lang.common.cssStyle,validate:CKEDITOR.dialog.validate.inlineStyle(d.lang.common.invalidInlineStyle),"default":"",setup:function(a,b){if(1==a){var c=b.getAttribute("style");!c&&b.$.style.cssText&&(c=b.$.style.cssText);this.setValue(c);var d=b.$.style.height,c=b.$.style.width,d=(d?d:"").match(m),c=(c?c:"").match(m);this.attributesInStyle={height:!!d,width:!!c}}},onChange:function(){k.call(this,"info:cmbFloat info:cmbAlign info:txtVSpace info:txtHSpace info:txtBorder info:txtWidth info:txtHeight".split(" ")); +e(this)},commit:function(a,b){1==a&&(this.getValue()||this.isChanged())&&b.setAttribute("style",this.getValue())}}]}]}};CKEDITOR.dialog.add("image",function(d){return v(d,"image")});CKEDITOR.dialog.add("imagebutton",function(d){return v(d,"imagebutton")})})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/image/dialogs/image.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/iframe/images/placeholder.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/iframe/images/placeholder.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/iframe/dialogs/iframe.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/iframe/dialogs/iframe.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/iframe/dialogs/iframe.js (revision 7) @@ -0,0 +1,10 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +(function(){function c(b){var c=this instanceof CKEDITOR.ui.dialog.checkbox;b.hasAttribute(this.id)&&(b=b.getAttribute(this.id),c?this.setValue(e[this.id]["true"]==b.toLowerCase()):this.setValue(b))}function d(b){var c=""===this.getValue(),a=this instanceof CKEDITOR.ui.dialog.checkbox,d=this.getValue();c?b.removeAttribute(this.att||this.id):a?b.setAttribute(this.id,e[this.id][d]):b.setAttribute(this.att||this.id,d)}var e={scrolling:{"true":"yes","false":"no"},frameborder:{"true":"1","false":"0"}}; +CKEDITOR.dialog.add("iframe",function(b){var f=b.lang.iframe,a=b.lang.common,e=b.plugins.dialogadvtab;return{title:f.title,minWidth:350,minHeight:260,onShow:function(){this.fakeImage=this.iframeNode=null;var a=this.getSelectedElement();a&&a.data("cke-real-element-type")&&"iframe"==a.data("cke-real-element-type")&&(this.fakeImage=a,this.iframeNode=a=b.restoreRealElement(a),this.setupContent(a))},onOk:function(){var a;a=this.fakeImage?this.iframeNode:new CKEDITOR.dom.element("iframe");var c={},d={}; +this.commitContent(a,c,d);a=b.createFakeElement(a,"cke_iframe","iframe",!0);a.setAttributes(d);a.setStyles(c);this.fakeImage?(a.replace(this.fakeImage),b.getSelection().selectElement(a)):b.insertElement(a)},contents:[{id:"info",label:a.generalTab,accessKey:"I",elements:[{type:"vbox",padding:0,children:[{id:"src",type:"text",label:a.url,required:!0,validate:CKEDITOR.dialog.validate.notEmpty(f.noUrl),setup:c,commit:d}]},{type:"hbox",children:[{id:"width",type:"text",requiredContent:"iframe[width]", +style:"width:100%",labelLayout:"vertical",label:a.width,validate:CKEDITOR.dialog.validate.htmlLength(a.invalidHtmlLength.replace("%1",a.width)),setup:c,commit:d},{id:"height",type:"text",requiredContent:"iframe[height]",style:"width:100%",labelLayout:"vertical",label:a.height,validate:CKEDITOR.dialog.validate.htmlLength(a.invalidHtmlLength.replace("%1",a.height)),setup:c,commit:d},{id:"align",type:"select",requiredContent:"iframe[align]","default":"",items:[[a.notSet,""],[a.left,"left"],[a.right, +"right"],[a.alignTop,"top"],[a.alignMiddle,"middle"],[a.alignBottom,"bottom"]],style:"width:100%",labelLayout:"vertical",label:a.align,setup:function(a,b){c.apply(this,arguments);if(b){var d=b.getAttribute("align");this.setValue(d&&d.toLowerCase()||"")}},commit:function(a,b,c){d.apply(this,arguments);this.getValue()&&(c.align=this.getValue())}}]},{type:"hbox",widths:["50%","50%"],children:[{id:"scrolling",type:"checkbox",requiredContent:"iframe[scrolling]",label:f.scrolling,setup:c,commit:d},{id:"frameborder", +type:"checkbox",requiredContent:"iframe[frameborder]",label:f.border,setup:c,commit:d}]},{type:"hbox",widths:["50%","50%"],children:[{id:"name",type:"text",requiredContent:"iframe[name]",label:a.name,setup:c,commit:d},{id:"title",type:"text",requiredContent:"iframe[title]",label:a.advisoryTitle,setup:c,commit:d}]},{id:"longdesc",type:"text",requiredContent:"iframe[longdesc]",label:a.longDescr,setup:c,commit:d}]},e&&e.createAdvancedTab(b,{id:1,classes:1,styles:1},"iframe")]}})})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/iframe/dialogs/iframe.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/magicline/images/icon-rtl.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/magicline/images/icon-rtl.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/magicline/images/icon.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/magicline/images/icon.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/magicline/images/hidpi/icon.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/magicline/images/hidpi/icon.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/CHANGELOG.md =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/CHANGELOG.md (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/CHANGELOG.md (revision 7) @@ -0,0 +1,20 @@ +SCAYT plugin for CKEditor 4 Changelog +==================== +### CKEditor 4.5.6 + +New Features: +* CKEditor [language addon](http://ckeditor.com/addon/language) support +* CKEditor [placeholder addon](http://ckeditor.com/addon/placeholder) support +* Drag and Drop support +* *Experimental* GRAYT functionality http://www.webspellchecker.net/samples/scayt-ckeditor-plugin.html#25 + +Fixed issues: +* [#98](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/98) SCAYT Affects Dialog Double Click. Fixed in SCAYT Core. +* [#102](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/102) SCAYT Core performance enhancements +* [#104](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/104) SCAYT's spans leak into the clipboard and after pasting +* [#105](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/105) Javascript error fired in case of multiple instances of CKEditor in one page +* [#107](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/107) SCAYT should not check non-editable parts of content +* [#108](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/108) Latest SCAYT copies id of editor element to the iframe +* SCAYT stops working when CKEditor Undo plug-in not enabled +* Issue with pasting SCAYT markup in CKEditor +* [#32](https://github.com/WebSpellChecker/ckeditor-plugin-wsc/issues/32) SCAYT stops working after pressing Cancel button in WSC dialog Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/LICENSE.md =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/LICENSE.md (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/LICENSE.md (revision 7) @@ -0,0 +1,28 @@ +Software License Agreement +========================== + +**CKEditor SCAYT Plugin** +Copyright &copy; 2012, [CKSource](http://cksource.com) - Frederico Knabben. All rights reserved. + +Licensed under the terms of any of the following licenses at your choice: + +* GNU General Public License Version 2 or later (the "GPL"): + http://www.gnu.org/licenses/gpl.html + +* GNU Lesser General Public License Version 2.1 or later (the "LGPL"): + http://www.gnu.org/licenses/lgpl.html + +* Mozilla Public License Version 1.1 or later (the "MPL"): + http://www.mozilla.org/MPL/MPL-1.1.html + +You are not required to, but if you want to explicitly declare the license you have chosen to be bound to when using, reproducing, modifying and distributing this software, just include a text file titled "legal.txt" in your version of this software, indicating your license choice. + +Sources of Intellectual Property Included in this plugin +-------------------------------------------------------- + +Where not otherwise indicated, all plugin content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, the plugin will incorporate work done by developers outside of CKSource with their express permission. + +Trademarks +---------- + +CKEditor is a trademark of CKSource - Frederico Knabben. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css (revision 7) @@ -0,0 +1,25 @@ +.scayt-lang-list > div +{ + padding-bottom: 6px !important; +} + +.scayt-lang-list > div input +{ + margin-right: 4px; +} + +#scayt_about_ +{ + margin: 30px auto 0 auto; +} + +#scayt_about_ p +{ + text-align: center; + margin-bottom: 10px; +} + +.cke_dialog_contents_body div[name=dictionaries] .cke_dialog_ui_hbox_last > a.cke_dialog_ui_button +{ + margin-top: 0; +} Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/README.md =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/README.md (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/README.md (revision 7) @@ -0,0 +1,25 @@ +CKEditor SCAYT Plugin +===================== + +This plugin brings Spell Check As You Type (SCAYT) into up to CKEditor 4+. + +SCAYT is a "installation-less", using the web-services of [WebSpellChecker.net](http://www.webspellchecker.net/). It's an out of the box solution. + +Installation +------------ + +1. Clone/copy this repository contents in a new "plugins/scayt" folder in your CKEditor installation. +2. Enable the "scayt" plugin in the CKEditor configuration file (config.js): + + config.extraPlugins = 'scayt'; + +That's all. SCAYT will appear on the editor toolbar and will be ready to use. + +License +------- + +Licensed under the terms of any of the following licenses at your choice: [GPL](http://www.gnu.org/licenses/gpl.html), [LGPL](http://www.gnu.org/licenses/lgpl.html) and [MPL](http://www.mozilla.org/MPL/MPL-1.1.html). + +See LICENSE.md for more information. + +Developed in cooperation with [WebSpellChecker.net](http://www.webspellchecker.net/). Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/dialogs/toolbar.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/dialogs/toolbar.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/dialogs/toolbar.css (revision 7) @@ -0,0 +1,71 @@ +a +{ + text-decoration:none; + padding: 2px 4px 4px 6px; + display : block; + border-width: 1px; + border-style: solid; + margin : 0px; +} + +a.cke_scayt_toogle:hover, +a.cke_scayt_toogle:focus, +a.cke_scayt_toogle:active +{ + border-color: #316ac5; + background-color: #dff1ff; + color : #000; + cursor: pointer; + margin : 0px; +} +a.cke_scayt_toogle { + color : #316ac5; + border-color: #fff; +} +.scayt_enabled a.cke_scayt_item { + color : #316ac5; + border-color: #fff; + margin : 0px; +} +.scayt_disabled a.cke_scayt_item { + color : gray; + border-color : #fff; +} +.scayt_enabled a.cke_scayt_item:hover, +.scayt_enabled a.cke_scayt_item:focus, +.scayt_enabled a.cke_scayt_item:active +{ + border-color: #316ac5; + background-color: #dff1ff; + color : #000; + cursor: pointer; +} +.scayt_disabled a.cke_scayt_item:hover, +.scayt_disabled a.cke_scayt_item:focus, +.scayt_disabled a.cke_scayt_item:active +{ + border-color: gray; + background-color: #dff1ff; + color : gray; + cursor: no-drop; +} +.cke_scayt_set_on, .cke_scayt_set_off +{ + display: none; +} +.scayt_enabled .cke_scayt_set_on +{ + display: none; +} +.scayt_disabled .cke_scayt_set_on +{ + display: inline; +} +.scayt_disabled .cke_scayt_set_off +{ + display: none; +} +.scayt_enabled .cke_scayt_set_off +{ + display: inline; +} Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/dialogs/toolbar.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/dialogs/options.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/dialogs/options.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/dialogs/options.js (revision 7) @@ -0,0 +1,33 @@ +CKEDITOR.dialog.add("scaytDialog",function(c){var d=c.scayt,k='\x3cp\x3e\x3cimg src\x3d"'+d.getLogo()+'" /\x3e\x3c/p\x3e\x3cp\x3e'+d.getLocal("version")+d.getVersion()+'\x3c/p\x3e\x3cp\x3e\x3ca href\x3d"http://scayt.com/user_manual/scayt_plugin_for_ckeditor4_user_manual.pdf" target\x3d"_blank" style\x3d"text-decoration: underline; color: blue;"\x3e'+d.getLocal("btn_userManual")+"\x3c/a\x3e\x3c/p\x3e\x3cp\x3e"+d.getLocal("text_copyrights")+"\x3c/p\x3e",n=CKEDITOR.document,p={isChanged:function(){return null=== +this.newLang||this.currentLang===this.newLang?!1:!0},currentLang:d.getLang(),newLang:null,reset:function(){this.currentLang=d.getLang();this.newLang=null},id:"lang"},k=[{id:"options",label:d.getLocal("tab_options"),onShow:function(){},elements:[{type:"vbox",id:"scaytOptions",children:function(){var b=d.getApplicationConfig(),a=[],c={"ignore-all-caps-words":"label_allCaps","ignore-domain-names":"label_ignoreDomainNames","ignore-words-with-mixed-cases":"label_mixedCase","ignore-words-with-numbers":"label_mixedWithDigits"}, +f;for(f in b)b={type:"checkbox"},b.id=f,b.label=d.getLocal(c[f]),a.push(b);return a}(),onShow:function(){this.getChild();for(var b=c.scayt,a=0;a<this.getChild().length;a++)this.getChild()[a].setValue(b.getApplicationConfig()[this.getChild()[a].id])}}]},{id:"langs",label:d.getLocal("tab_languages"),elements:[{id:"leftLangColumn",type:"vbox",align:"left",widths:["100"],children:[{type:"html",id:"langBox",style:"overflow: hidden; white-space: normal;margin-bottom:15px;",html:'\x3cdiv\x3e\x3cdiv style\x3d"float:left;width:45%;margin-left:5px;" id\x3d"left-col-'+ +c.name+'" class\x3d"scayt-lang-list"\x3e\x3c/div\x3e\x3cdiv style\x3d"float:left;width:45%;margin-left:15px;" id\x3d"right-col-'+c.name+'" class\x3d"scayt-lang-list"\x3e\x3c/div\x3e\x3c/div\x3e',onShow:function(){var b=c.scayt.getLang();n.getById("scaytLang_"+c.name+"_"+b).$.checked=!0}},{type:"html",id:"graytLanguagesHint",html:'\x3cdiv style\x3d"margin:5px auto; width:95%;white-space:normal;" id\x3d"'+c.name+'graytLanguagesHint"\x3e\x3cspan style\x3d"width:10px;height:10px;display: inline-block; background:#02b620;vertical-align:top;margin-top:2px;"\x3e\x3c/span\x3e - This languages are supported by Grammar As You Type(GRAYT).\x3c/div\x3e', +onShow:function(){var b=n.getById(c.name+"graytLanguagesHint");c.config.grayt_autoStartup||(b.$.style.display="none")}}]}]},{id:"dictionaries",label:d.getLocal("tab_dictionaries"),elements:[{type:"vbox",id:"rightCol_col__left",children:[{type:"html",id:"dictionaryNote",html:""},{type:"text",id:"dictionaryName",label:d.getLocal("label_fieldNameDic")||"Dictionary name",onShow:function(b){var a=b.sender,h=c.scayt;b=SCAYT.prototype.UILib;var f=a.getContentElement("dictionaries","dictionaryName").getInputElement().$; +h.isLicensed()||(f.disabled=!0,b.css(f,{cursor:"not-allowed"}));setTimeout(function(){a.getContentElement("dictionaries","dictionaryNote").getElement().setText("");null!=h.getUserDictionaryName()&&""!=h.getUserDictionaryName()&&a.getContentElement("dictionaries","dictionaryName").setValue(h.getUserDictionaryName())},0)}},{type:"hbox",id:"udButtonsHolder",align:"left",widths:["auto"],style:"width:auto;",children:[{type:"button",id:"createDic",label:d.getLocal("btn_createDic"),title:d.getLocal("btn_createDic"), +onLoad:function(){this.getDialog();var b=c.scayt,a=SCAYT.prototype.UILib,h=this.getElement().$,f=this.getElement().getChild(0).$;b.isLicensed()||(a.css(h,{cursor:"not-allowed"}),a.css(f,{cursor:"not-allowed"}))},onClick:function(){var b=this.getDialog(),a=g,h=c.scayt,f=b.getContentElement("dictionaries","dictionaryName").getValue();h.isLicensed()&&h.createUserDictionary(f,function(e){e.error||a.toggleDictionaryState.call(b,"dictionaryState");e.dialog=b;e.command="create";e.name=f;c.fire("scaytUserDictionaryAction", +e)},function(a){a.dialog=b;a.command="create";a.name=f;c.fire("scaytUserDictionaryActionError",a)})}},{type:"button",id:"restoreDic",label:d.getLocal("btn_connectDic"),title:d.getLocal("btn_connectDic"),onLoad:function(){this.getDialog();var b=c.scayt,a=SCAYT.prototype.UILib,h=this.getElement().$,f=this.getElement().getChild(0).$;b.isLicensed()||(a.css(h,{cursor:"not-allowed"}),a.css(f,{cursor:"not-allowed"}))},onClick:function(){var b=this.getDialog(),a=c.scayt,h=g,f=b.getContentElement("dictionaries", +"dictionaryName").getValue();a.isLicensed()&&a.restoreUserDictionary(f,function(a){a.dialog=b;a.error||h.toggleDictionaryState.call(b,"dictionaryState");a.command="restore";a.name=f;c.fire("scaytUserDictionaryAction",a)},function(a){a.dialog=b;a.command="restore";a.name=f;c.fire("scaytUserDictionaryActionError",a)})}},{type:"button",id:"disconnectDic",label:d.getLocal("btn_disconnectDic"),title:d.getLocal("btn_disconnectDic"),onClick:function(){var b=this.getDialog(),a=c.scayt,h=g,f=b.getContentElement("dictionaries", +"dictionaryName"),e=f.getValue();a.isLicensed()&&(a.disconnectFromUserDictionary({}),f.setValue(""),h.toggleDictionaryState.call(b,"initialState"),c.fire("scaytUserDictionaryAction",{dialog:b,command:"disconnect",name:e}))}},{type:"button",id:"removeDic",label:d.getLocal("btn_deleteDic"),title:d.getLocal("btn_deleteDic"),onClick:function(){var b=this.getDialog(),a=c.scayt,h=g,f=b.getContentElement("dictionaries","dictionaryName"),e=f.getValue();a.isLicensed()&&a.removeUserDictionary(e,function(a){f.setValue(""); +a.error||h.toggleDictionaryState.call(b,"initialState");a.dialog=b;a.command="remove";a.name=e;c.fire("scaytUserDictionaryAction",a)},function(a){a.dialog=b;a.command="remove";a.name=e;c.fire("scaytUserDictionaryActionError",a)})}},{type:"button",id:"renameDic",label:d.getLocal("btn_renameDic"),title:d.getLocal("btn_renameDic"),onClick:function(){var b=this.getDialog(),a=c.scayt,h=b.getContentElement("dictionaries","dictionaryName").getValue();a.isLicensed()&&a.renameUserDictionary(h,function(a){a.dialog= +b;a.command="rename";a.name=h;c.fire("scaytUserDictionaryAction",a)},function(a){a.dialog=b;a.command="rename";a.name=h;c.fire("scaytUserDictionaryActionError",a)})}},{type:"button",id:"editDic",label:d.getLocal("btn_goToDic"),title:d.getLocal("btn_goToDic"),onLoad:function(){this.getDialog()},onClick:function(){var b=this.getDialog(),a=b.getContentElement("dictionaries","addWordField");g.clearWordList.call(b);a.setValue("");g.getUserDictionary.call(b);g.toggleDictionaryState.call(b,"wordsState")}}]}, +{type:"hbox",id:"dicInfo",align:"left",children:[{type:"html",id:"dicInfoHtml",html:'\x3cdiv id\x3d"dic_info_editor1" style\x3d"margin:5px auto; width:95%;white-space:normal;"\x3e'+(c.scayt.isLicensed&&c.scayt.isLicensed()?d.getLocal("text_descriptionDicForPaid"):d.getLocal("text_descriptionDicForFree"))+"\x3c/div\x3e"}]},{id:"addWordAction",type:"hbox",style:"width: 100%; margin-bottom: 0;",widths:["40%","60%"],children:[{id:"addWord",type:"vbox",style:"min-width: 150px;",children:[{type:"text", +id:"addWordField",label:"Add word",maxLength:"64"}]},{id:"addWordButtons",type:"vbox",style:"margin-top: 20px;",children:[{type:"hbox",id:"addWordButton",align:"left",children:[{type:"button",id:"addWord",label:d.getLocal("btn_addWord"),title:d.getLocal("btn_addWord"),onClick:function(){var b=this.getDialog(),a=c.scayt,h=b.getContentElement("dictionaries","itemList"),f=b.getContentElement("dictionaries","addWordField"),e=f.getValue(),d=a.getOption("wordBoundaryRegex"),g=this;e&&(-1!==e.search(d)? +c.fire("scaytUserDictionaryAction",{dialog:b,command:"wordWithBannedSymbols",name:e,error:!0}):h.inChildren(e)?(f.setValue(""),c.fire("scaytUserDictionaryAction",{dialog:b,command:"wordAlreadyAdded",name:e})):(this.disable(),a.addWordToUserDictionary(e,function(a){a.error||(f.setValue(""),h.addChild(e,!0));a.dialog=b;a.command="addWord";a.name=e;g.enable();c.fire("scaytUserDictionaryAction",a)},function(a){a.dialog=b;a.command="addWord";a.name=e;g.enable();c.fire("scaytUserDictionaryActionError", +a)})))}},{type:"button",id:"backToDic",label:d.getLocal("btn_dictionaryPreferences"),title:d.getLocal("btn_dictionaryPreferences"),align:"right",onClick:function(){var b=this.getDialog(),a=c.scayt;null!=a.getUserDictionaryName()&&""!=a.getUserDictionaryName()?g.toggleDictionaryState.call(b,"dictionaryState"):g.toggleDictionaryState.call(b,"initialState")}}]}]}]},{id:"wordsHolder",type:"hbox",style:"width: 100%; height: 170px; margin-bottom: 0;",children:[{type:"scaytItemList",id:"itemList",align:"left", +style:"width: 100%; height: 170px; overflow: auto",onClick:function(b){b=b.data.$;var a=c.scayt,h=SCAYT.prototype.UILib,f=h.parent(b.target)[0],e=h.attr(f,"data-cke-scayt-ud-word"),d=this.getDialog(),g=d.getContentElement("dictionaries","itemList"),m=this;h.hasClass(b.target,"cke_scaytItemList_remove")&&!this.isBlocked()&&(this.block(),a.deleteWordFromUserDictionary(e,function(a){a.error||g.removeChild(f,e);m.unblock();a.dialog=d;a.command="deleteWord";a.name=e;c.fire("scaytUserDictionaryAction", +a)},function(a){m.unblock();a.dialog=d;a.command="deleteWord";a.name=e;c.fire("scaytUserDictionaryActionError",a)}))}}]}]}]},{id:"about",label:d.getLocal("tab_about"),elements:[{type:"html",id:"about",style:"margin: 5px 5px;",html:'\x3cdiv\x3e\x3cdiv id\x3d"scayt_about_"\x3e'+k+"\x3c/div\x3e\x3c/div\x3e"}]}];c.on("scaytUserDictionaryAction",function(b){var a=SCAYT.prototype.UILib,c=b.data.dialog,f=c.getContentElement("dictionaries","dictionaryNote").getElement(),e=b.editor.scayt,d;void 0===b.data.error? +(d=e.getLocal("message_success_"+b.data.command+"Dic"),d=d.replace("%s",b.data.name),f.setText(d),a.css(f.$,{color:"blue"})):(""===b.data.name?f.setText(e.getLocal("message_info_emptyDic")):(d=e.getLocal("message_error_"+b.data.command+"Dic"),d=d.replace("%s",b.data.name),f.setText(d)),a.css(f.$,{color:"red"}),null!=e.getUserDictionaryName()&&""!=e.getUserDictionaryName()?c.getContentElement("dictionaries","dictionaryName").setValue(e.getUserDictionaryName()):c.getContentElement("dictionaries","dictionaryName").setValue(""))}); +c.on("scaytUserDictionaryActionError",function(b){var a=SCAYT.prototype.UILib,c=b.data.dialog,d=c.getContentElement("dictionaries","dictionaryNote").getElement(),e=b.editor.scayt,g;""===b.data.name?d.setText(e.getLocal("message_info_emptyDic")):(g=e.getLocal("message_error_"+b.data.command+"Dic"),g=g.replace("%s",b.data.name),d.setText(g));a.css(d.$,{color:"red"});null!=e.getUserDictionaryName()&&""!=e.getUserDictionaryName()?c.getContentElement("dictionaries","dictionaryName").setValue(e.getUserDictionaryName()): +c.getContentElement("dictionaries","dictionaryName").setValue("")});var g={title:d.getLocal("text_title"),resizable:CKEDITOR.DIALOG_RESIZE_BOTH,minWidth:"moono-lisa"==(CKEDITOR.skinName||c.config.skin)?450:340,minHeight:300,onLoad:function(){if(0!=c.config.scayt_uiTabs[1]){var b=g,a=b.getLangBoxes.call(this);this.getContentElement("dictionaries","addWordField");a.getParent().setStyle("white-space","normal");b.renderLangList(a);this.definition.minWidth=this.getSize().width;this.resize(this.definition.minWidth, +this.definition.minHeight)}},onCancel:function(){p.reset()},onHide:function(){c.unlockSelection()},onShow:function(){c.fire("scaytDialogShown",this);if(0!=c.config.scayt_uiTabs[2]){var b=this.getContentElement("dictionaries","addWordField");g.clearWordList.call(this);b.setValue("");g.getUserDictionary.call(this);g.toggleDictionaryState.call(this,"wordsState")}},onOk:function(){var b=g,a=c.scayt;this.getContentElement("options","scaytOptions");b=b.getChangedOption.call(this);a.commitOption({changedOptions:b})}, +toggleDictionaryButtons:function(b){var a=this.getContentElement("dictionaries","existDic").getElement().getParent(),c=this.getContentElement("dictionaries","notExistDic").getElement().getParent();b?(a.show(),c.hide()):(a.hide(),c.show())},getChangedOption:function(){var b={};if(1==c.config.scayt_uiTabs[0])for(var a=this.getContentElement("options","scaytOptions").getChild(),d=0;d<a.length;d++)a[d].isChanged()&&(b[a[d].id]=a[d].getValue());p.isChanged()&&(b[p.id]=c.config.scayt_sLang=p.currentLang= +p.newLang);return b},buildRadioInputs:function(b,a,d){var f=new CKEDITOR.dom.element("div"),e="scaytLang_"+c.name+"_"+a,g=CKEDITOR.dom.element.createFromHtml('\x3cinput id\x3d"'+e+'" type\x3d"radio" value\x3d"'+a+'" name\x3d"scayt_lang" /\x3e'),k=new CKEDITOR.dom.element("label"),m=c.scayt;f.setStyles({"white-space":"normal",position:"relative","padding-bottom":"2px"});g.on("click",function(a){p.newLang=a.sender.getValue()});k.appendText(b);k.setAttribute("for",e);d&&c.config.grayt_autoStartup&& +k.setStyles({color:"#02b620"});f.append(g);f.append(k);a===m.getLang()&&(g.setAttribute("checked",!0),g.setAttribute("defaultChecked","defaultChecked"));return f},renderLangList:function(b){var a=b.find("#left-col-"+c.name).getItem(0);b=b.find("#right-col-"+c.name).getItem(0);var h=d.getScaytLangList(),f=d.getGraytLangList(),e={},g=[],k=0,m=!1,l;for(l in h.ltr)e[l]=h.ltr[l];for(l in h.rtl)e[l]=h.rtl[l];for(l in e)g.push([l,e[l]]);g.sort(function(a,b){var c=0;a[1]>b[1]?c=1:a[1]<b[1]&&(c=-1);return c}); +e={};for(m=0;m<g.length;m++)e[g[m][0]]=g[m][1];g=Math.round(g.length/2);for(l in e)k++,m=l in f.ltr||l in f.rtl,this.buildRadioInputs(e[l],l,m).appendTo(k<=g?a:b)},getLangBoxes:function(){return this.getContentElement("langs","langBox").getElement()},toggleDictionaryState:function(b){var a=this.getContentElement("dictionaries","dictionaryName").getElement().getParent(),c=this.getContentElement("dictionaries","udButtonsHolder").getElement().getParent(),d=this.getContentElement("dictionaries","createDic").getElement().getParent(), +e=this.getContentElement("dictionaries","restoreDic").getElement().getParent(),g=this.getContentElement("dictionaries","disconnectDic").getElement().getParent(),k=this.getContentElement("dictionaries","removeDic").getElement().getParent(),m=this.getContentElement("dictionaries","renameDic").getElement().getParent(),l=this.getContentElement("dictionaries","dicInfo").getElement().getParent(),p=this.getContentElement("dictionaries","addWordAction").getElement().getParent(),n=this.getContentElement("dictionaries", +"wordsHolder").getElement().getParent();switch(b){case "initialState":a.show();c.show();d.show();e.show();g.hide();k.hide();m.hide();l.show();p.hide();n.hide();break;case "wordsState":a.hide();c.hide();l.hide();p.show();n.show();break;case "dictionaryState":a.show(),c.show(),d.hide(),e.hide(),g.show(),k.show(),m.show(),l.show(),p.hide(),n.hide()}},clearWordList:function(){this.getContentElement("dictionaries","itemList").removeAllChild()},getUserDictionary:function(){var b=this;c.scayt.getUserDictionary("", +function(a){a.error||g.renderItemList.call(b,a.wordlist)})},renderItemList:function(b){for(var a=this.getContentElement("dictionaries","itemList"),c=0;c<b.length;c++)a.addChild(b[c])},contents:function(b,a){var c=[],d=a.config.scayt_uiTabs;if(d){for(var e in d)1==d[e]&&c.push(b[e]);c.push(b[b.length-1])}else return b;return c}(k,c)};return g}); +CKEDITOR.tools.extend(CKEDITOR.ui.dialog,{scaytItemList:function(c,d,k){if(arguments.length){var n=this;c.on("load",function(){n.getElement().on("click",function(c){})});CKEDITOR.ui.dialog.uiElement.call(this,c,d,k,"",null,null,function(){var c=['\x3cp class\x3d"cke_dialog_ui_',d.type,'"'];d.style&&c.push('style\x3d"'+d.style+'" ');c.push("\x3e");c.push("\x3c/p\x3e");return c.join("")})}}}); +CKEDITOR.ui.dialog.scaytItemList.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{children:[],blocked:!1,addChild:function(c,d){var k=new CKEDITOR.dom.element("p"),n=new CKEDITOR.dom.element("a"),p=this.getElement().getChildren().getItem(0);this.children.push(c);k.addClass("cke_scaytItemList-child");k.setAttribute("data-cke-scayt-ud-word",c);k.appendText(c);n.addClass("cke_scaytItemList_remove");n.addClass("cke_dialog_close_button");n.setAttribute("href","javascript:void(0)");k.append(n); +p.append(k,d?!0:!1)},inChildren:function(c){return SCAYT.prototype.Utils.inArray(this.children,c)},removeChild:function(c,d){this.children.splice(SCAYT.prototype.Utils.indexOf(this.children,d),1);this.getElement().getChildren().getItem(0).$.removeChild(c)},removeAllChild:function(){this.children=[];this.getElement().getChildren().getItem(0).setHtml("")},block:function(){this.blocked=!0},unblock:function(){this.blocked=!1},isBlocked:function(){return this.blocked}}); +(function(){commonBuilder={build:function(c,d,k){return new CKEDITOR.ui.dialog[d.type](c,d,k)}};CKEDITOR.dialog.addUIElement("scaytItemList",commonBuilder)})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/dialogs/options.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/dialogs/dialog.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/dialogs/dialog.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/dialogs/dialog.css (revision 7) @@ -0,0 +1,23 @@ +div.cke_dialog_ui_scaytItemList { + border: 1px solid #c9cccf; +} + +.cke_scaytItemList-child { + position: relative; + padding: 6px 30px 6px 5px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.cke_scaytItemList-child:hover { + background: #ebebeb; +} + +.cke_scaytItemList-child .cke_scaytItemList_remove { + position: absolute; + top: 0; + right: 5px; + width: 26px; + height: 26px; +} Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/scayt/dialogs/dialog.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/colordialog/dialogs/colordialog.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/colordialog/dialogs/colordialog.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/colordialog/dialogs/colordialog.css (revision 7) @@ -0,0 +1,20 @@ +/** + * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +.cke_colordialog_colorcell { + width: 12px; /* All cells have equal width which depends on parent width (in this case table parent). Width works more like max-width. */ + height: 14px; + padding: 1px; /* Padding is replaced by border for focused cells. Prevents 'jumping' when adding borders. */ +} + +.cke_colordialog_colorcell.cke_colordialog_focused_light, +.cke_colordialog_colorcell.cke_colordialog_focused_dark { + padding: 0; /* Shrink cell to allow 1px border indicating focus. */ + border: 1px dotted #000; +} + +.cke_colordialog_colorcell.cke_colordialog_focused_dark { + border-color: #FFF; +} Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/colordialog/dialogs/colordialog.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/colordialog/dialogs/colordialog.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/colordialog/dialogs/colordialog.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/colordialog/dialogs/colordialog.js (revision 7) @@ -0,0 +1,14 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("colordialog",function(x){function m(){e.getById(n).removeStyle("background-color");p.getContentElement("picker","selectedColor").setValue("");y()}function z(a){a=a.data.getTarget();var c;"td"==a.getName()&&(c=a.getChild(0).getHtml())&&(y(),f=a,f.setAttribute("aria-selected",!0),f.addClass("cke_colordialog_selected"),p.getContentElement("picker","selectedColor").setValue(c))}function y(){f&&(f.removeClass("cke_colordialog_selected"),f.removeAttribute("aria-selected"),f=null)}function D(a){a= +a.replace(/^#/,"");for(var c=0,b=[];2>=c;c++)b[c]=parseInt(a.substr(2*c,2),16);return 165<=.2126*b[0]+.7152*b[1]+.0722*b[2]}function A(a){!a.name&&(a=new CKEDITOR.event(a));var c=!/mouse/.test(a.name),b=a.data.getTarget(),k;"td"==b.getName()&&(k=b.getChild(0).getHtml())&&(q(a),c?d=b:B=b,c&&b.addClass(D(k)?"cke_colordialog_focused_light":"cke_colordialog_focused_dark"),r(k))}function q(a){if(a=!/mouse/.test(a.name)&&d)a.removeClass("cke_colordialog_focused_light"),a.removeClass("cke_colordialog_focused_dark"); +d||B||r(!1)}function r(a){a?(e.getById(t).setStyle("background-color",a),e.getById(u).setHtml(a)):(e.getById(t).removeStyle("background-color"),e.getById(u).setHtml("\x26nbsp;"))}function E(a){var c=a.data,b=c.getTarget(),k=c.getKeystroke(),d="rtl"==x.lang.dir;switch(k){case 38:if(a=b.getParent().getPrevious())a=a.getChild([b.getIndex()]),a.focus();c.preventDefault();break;case 40:(a=b.getParent().getNext())&&(a=a.getChild([b.getIndex()]))&&1==a.type&&a.focus();c.preventDefault();break;case 32:case 13:z(a); +c.preventDefault();break;case d?37:39:(a=b.getNext())?1==a.type&&(a.focus(),c.preventDefault(!0)):(a=b.getParent().getNext())&&(a=a.getChild([0]))&&1==a.type&&(a.focus(),c.preventDefault(!0));break;case d?39:37:if(a=b.getPrevious())a.focus(),c.preventDefault(!0);else if(a=b.getParent().getPrevious())a=a.getLast(),a.focus(),c.preventDefault(!0)}}var v=CKEDITOR.dom.element,e=CKEDITOR.document,g=x.lang.colordialog,p,f,C={type:"html",html:"\x26nbsp;"},l=function(a){return CKEDITOR.tools.getNextId()+"_"+ +a},t=l("hicolor"),u=l("hicolortext"),n=l("selhicolor"),h,d,B;(function(){function a(a,d){for(var w=a;w<a+3;w++){var e=new v(h.$.insertRow(-1));e.setAttribute("role","row");for(var f=d;f<d+3;f++)for(var g=0;6>g;g++)c(e.$,"#"+b[f]+b[g]+b[w])}}function c(a,c){var b=new v(a.insertCell(-1));b.setAttribute("class","ColorCell cke_colordialog_colorcell");b.setAttribute("tabIndex",-1);b.setAttribute("role","gridcell");b.on("keydown",E);b.on("click",z);b.on("focus",A);b.on("blur",q);b.setStyle("background-color", +c);var d=l("color_table_cell");b.setAttribute("aria-labelledby",d);b.append(CKEDITOR.dom.element.createFromHtml('\x3cspan id\x3d"'+d+'" class\x3d"cke_voice_label"\x3e'+c+"\x3c/span\x3e",CKEDITOR.document))}h=CKEDITOR.dom.element.createFromHtml('\x3ctable tabIndex\x3d"-1" class\x3d"cke_colordialog_table" aria-label\x3d"'+g.options+'" role\x3d"grid" style\x3d"border-collapse:separate;" cellspacing\x3d"0"\x3e\x3ccaption class\x3d"cke_voice_label"\x3e'+g.options+'\x3c/caption\x3e\x3ctbody role\x3d"presentation"\x3e\x3c/tbody\x3e\x3c/table\x3e'); +h.on("mouseover",A);h.on("mouseout",q);var b="00 33 66 99 cc ff".split(" ");a(0,0);a(3,0);a(0,3);a(3,3);var d=new v(h.$.insertRow(-1));d.setAttribute("role","row");c(d.$,"#000000");for(var f=0;16>f;f++){var e=f.toString(16);c(d.$,"#"+e+e+e+e+e+e)}c(d.$,"#ffffff")})();CKEDITOR.document.appendStyleSheet(CKEDITOR.getUrl(CKEDITOR.plugins.get("colordialog").path+"dialogs/colordialog.css"));return{title:g.title,minWidth:360,minHeight:220,onLoad:function(){p=this},onHide:function(){m();d&&(d.removeClass("cke_colordialog_focused_light"), +d.removeClass("cke_colordialog_focused_dark"));r(!1);d=null},contents:[{id:"picker",label:g.title,accessKey:"I",elements:[{type:"hbox",padding:0,widths:["70%","10%","30%"],children:[{type:"html",html:"\x3cdiv\x3e\x3c/div\x3e",onLoad:function(){CKEDITOR.document.getById(this.domId).append(h)},focus:function(){(d||this.getElement().getElementsByTag("td").getItem(0)).focus()}},C,{type:"vbox",padding:0,widths:["70%","5%","25%"],children:[{type:"html",html:"\x3cspan\x3e"+g.highlight+'\x3c/span\x3e\x3cdiv id\x3d"'+ +t+'" style\x3d"border: 1px solid; height: 74px; width: 74px;"\x3e\x3c/div\x3e\x3cdiv id\x3d"'+u+'"\x3e\x26nbsp;\x3c/div\x3e\x3cspan\x3e'+g.selected+'\x3c/span\x3e\x3cdiv id\x3d"'+n+'" style\x3d"border: 1px solid; height: 20px; width: 74px;"\x3e\x3c/div\x3e'},{type:"text",label:g.selected,labelStyle:"display:none",id:"selectedColor",style:"width: 76px;margin-top:4px",onChange:function(){try{e.getById(n).setStyle("background-color",this.getValue())}catch(a){m()}}},C,{type:"button",id:"clear",label:g.clear, +onClick:m}]}]}]}]}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/colordialog/dialogs/colordialog.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/images/hiddenfield.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/images/hiddenfield.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/form.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/form.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/form.js (revision 7) @@ -0,0 +1,8 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("form",function(a){var d={action:1,id:1,method:1,enctype:1,target:1};return{title:a.lang.forms.form.title,minWidth:350,minHeight:200,onShow:function(){delete this.form;var b=this.getParentEditor().elementPath().contains("form",1);b&&(this.form=b,this.setupContent(b))},onOk:function(){var b,a=this.form,c=!a;c&&(b=this.getParentEditor(),a=b.document.createElement("form"),a.appendBogus());c&&b.insertElement(a);this.commitContent(a)},onLoad:function(){function a(b){this.setValue(b.getAttribute(this.id)|| +"")}function e(a){this.getValue()?a.setAttribute(this.id,this.getValue()):a.removeAttribute(this.id)}this.foreach(function(c){d[c.id]&&(c.setup=a,c.commit=e)})},contents:[{id:"info",label:a.lang.forms.form.title,title:a.lang.forms.form.title,elements:[{id:"txtName",bidi:!0,type:"text",label:a.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){this.getValue()?a.data("cke-saved-name",this.getValue()): +(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"action",type:"text",label:a.lang.forms.form.action,"default":"",accessKey:"T"},{type:"hbox",widths:["45%","55%"],children:[{id:"id",type:"text",label:a.lang.common.id,"default":"",accessKey:"I"},{id:"enctype",type:"select",label:a.lang.forms.form.encoding,style:"width:100%",accessKey:"E","default":"",items:[[""],["text/plain"],["multipart/form-data"],["application/x-www-form-urlencoded"]]}]},{type:"hbox",widths:["45%","55%"],children:[{id:"target", +type:"select",label:a.lang.common.target,style:"width:100%",accessKey:"M","default":"",items:[[a.lang.common.notSet,""],[a.lang.common.targetNew,"_blank"],[a.lang.common.targetTop,"_top"],[a.lang.common.targetSelf,"_self"],[a.lang.common.targetParent,"_parent"]]},{id:"method",type:"select",label:a.lang.forms.form.method,accessKey:"M","default":"GET",items:[["GET","get"],["POST","post"]]}]}]}]}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/form.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/checkbox.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/checkbox.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/checkbox.js (revision 7) @@ -0,0 +1,9 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("checkbox",function(d){return{title:d.lang.forms.checkboxAndRadio.checkboxTitle,minWidth:350,minHeight:140,onShow:function(){delete this.checkbox;var a=this.getParentEditor().getSelection().getSelectedElement();a&&"checkbox"==a.getAttribute("type")&&(this.checkbox=a,this.setupContent(a))},onOk:function(){var a,b=this.checkbox;b||(a=this.getParentEditor(),b=a.document.createElement("input"),b.setAttribute("type","checkbox"),a.insertElement(b));this.commitContent({element:b})},contents:[{id:"info", +label:d.lang.forms.checkboxAndRadio.checkboxTitle,title:d.lang.forms.checkboxAndRadio.checkboxTitle,startupFocus:"txtName",elements:[{id:"txtName",type:"text",label:d.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){a=a.element;this.getValue()?a.data("cke-saved-name",this.getValue()):(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"txtValue",type:"text",label:d.lang.forms.checkboxAndRadio.value, +"default":"",accessKey:"V",setup:function(a){a=a.getAttribute("value");this.setValue(CKEDITOR.env.ie&&"on"==a?"":a)},commit:function(a){var b=a.element,c=this.getValue();!c||CKEDITOR.env.ie&&"on"==c?CKEDITOR.env.ie?(c=new CKEDITOR.dom.element("input",b.getDocument()),b.copyAttributes(c,{value:1}),c.replace(b),d.getSelection().selectElement(c),a.element=c):b.removeAttribute("value"):b.setAttribute("value",c)}},{id:"cmbSelected",type:"checkbox",label:d.lang.forms.checkboxAndRadio.selected,"default":"", +accessKey:"S",value:"checked",setup:function(a){this.setValue(a.getAttribute("checked"))},commit:function(a){var b=a.element;if(CKEDITOR.env.ie){var c=!!b.getAttribute("checked"),e=!!this.getValue();c!=e&&(c=CKEDITOR.dom.element.createFromHtml('\x3cinput type\x3d"checkbox"'+(e?' checked\x3d"checked"':"")+"/\x3e",d.document),b.copyAttributes(c,{type:1,checked:1}),c.replace(b),d.getSelection().selectElement(c),a.element=c)}else a=this.getValue(),CKEDITOR.env.webkit&&(b.$.checked=a),a?b.setAttribute("checked", +"checked"):b.removeAttribute("checked")}},{id:"required",type:"checkbox",label:d.lang.forms.checkboxAndRadio.required,"default":"",accessKey:"Q",value:"required",setup:function(a){this.setValue(a.getAttribute("required"))},commit:function(a){a=a.element;this.getValue()?a.setAttribute("required","required"):a.removeAttribute("required")}}]}]}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/checkbox.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/button.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/button.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/button.js (revision 7) @@ -0,0 +1,8 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("button",function(b){function d(a){var b=this.getValue();b?(a.attributes[this.id]=b,"name"==this.id&&(a.attributes["data-cke-saved-name"]=b)):(delete a.attributes[this.id],"name"==this.id&&delete a.attributes["data-cke-saved-name"])}return{title:b.lang.forms.button.title,minWidth:350,minHeight:150,onShow:function(){delete this.button;var a=this.getParentEditor().getSelection().getSelectedElement();a&&a.is("input")&&a.getAttribute("type")in{button:1,reset:1,submit:1}&&(this.button= +a,this.setupContent(a))},onOk:function(){var a=this.getParentEditor(),b=this.button,d=!b,c=b?CKEDITOR.htmlParser.fragment.fromHtml(b.getOuterHtml()).children[0]:new CKEDITOR.htmlParser.element("input");this.commitContent(c);var e=new CKEDITOR.htmlParser.basicWriter;c.writeHtml(e);c=CKEDITOR.dom.element.createFromHtml(e.getHtml(),a.document);d?a.insertElement(c):(c.replace(b),a.getSelection().selectElement(c))},contents:[{id:"info",label:b.lang.forms.button.title,title:b.lang.forms.button.title,elements:[{id:"name", +type:"text",bidi:!0,label:b.lang.common.name,"default":"",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:d},{id:"value",type:"text",label:b.lang.forms.button.text,accessKey:"V","default":"",setup:function(a){this.setValue(a.getAttribute("value")||"")},commit:d},{id:"type",type:"select",label:b.lang.forms.button.type,"default":"button",accessKey:"T",items:[[b.lang.forms.button.typeBtn,"button"],[b.lang.forms.button.typeSbm,"submit"],[b.lang.forms.button.typeRst, +"reset"]],setup:function(a){this.setValue(a.getAttribute("type")||"")},commit:d}]}]}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/button.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/hiddenfield.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/hiddenfield.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/hiddenfield.js (revision 7) @@ -0,0 +1,7 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("hiddenfield",function(d){return{title:d.lang.forms.hidden.title,hiddenField:null,minWidth:350,minHeight:110,onShow:function(){delete this.hiddenField;var a=this.getParentEditor(),b=a.getSelection(),c=b.getSelectedElement();c&&c.data("cke-real-element-type")&&"hiddenfield"==c.data("cke-real-element-type")&&(this.hiddenField=c,c=a.restoreRealElement(this.hiddenField),this.setupContent(c),b.selectElement(this.hiddenField))},onOk:function(){var a=this.getValueOf("info","_cke_saved_name"), +b=this.getParentEditor(),a=CKEDITOR.env.ie&&8>CKEDITOR.document.$.documentMode?b.document.createElement('\x3cinput name\x3d"'+CKEDITOR.tools.htmlEncode(a)+'"\x3e'):b.document.createElement("input");a.setAttribute("type","hidden");this.commitContent(a);a=b.createFakeElement(a,"cke_hidden","hiddenfield");this.hiddenField?(a.replace(this.hiddenField),b.getSelection().selectElement(a)):b.insertElement(a);return!0},contents:[{id:"info",label:d.lang.forms.hidden.title,title:d.lang.forms.hidden.title,elements:[{id:"_cke_saved_name", +type:"text",label:d.lang.forms.hidden.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){this.getValue()?a.setAttribute("name",this.getValue()):a.removeAttribute("name")}},{id:"value",type:"text",label:d.lang.forms.hidden.value,"default":"",accessKey:"V",setup:function(a){this.setValue(a.getAttribute("value")||"")},commit:function(a){this.getValue()?a.setAttribute("value",this.getValue()):a.removeAttribute("value")}}]}]}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/hiddenfield.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/textfield.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/textfield.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/textfield.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("textfield",function(b){function e(a){a=a.element;var b=this.getValue();b?a.setAttribute(this.id,b):a.removeAttribute(this.id)}function f(a){a=a.hasAttribute(this.id)&&a.getAttribute(this.id);this.setValue(a||"")}var g={email:1,password:1,search:1,tel:1,text:1,url:1};return{title:b.lang.forms.textfield.title,minWidth:350,minHeight:150,onShow:function(){delete this.textField;var a=this.getParentEditor().getSelection().getSelectedElement();!a||"input"!=a.getName()||!g[a.getAttribute("type")]&& +a.getAttribute("type")||(this.textField=a,this.setupContent(a))},onOk:function(){var a=this.getParentEditor(),b=this.textField,c=!b;c&&(b=a.document.createElement("input"),b.setAttribute("type","text"));b={element:b};c&&a.insertElement(b.element);this.commitContent(b);c||a.getSelection().selectElement(b.element)},onLoad:function(){this.foreach(function(a){a.getValue&&(a.setup||(a.setup=f),a.commit||(a.commit=e))})},contents:[{id:"info",label:b.lang.forms.textfield.title,title:b.lang.forms.textfield.title, +elements:[{type:"hbox",widths:["50%","50%"],children:[{id:"_cke_saved_name",type:"text",label:b.lang.forms.textfield.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){a=a.element;this.getValue()?a.data("cke-saved-name",this.getValue()):(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"value",type:"text",label:b.lang.forms.textfield.value,"default":"",accessKey:"V",commit:function(a){if(CKEDITOR.env.ie&& +!this.getValue()){var d=a.element,c=new CKEDITOR.dom.element("input",b.document);d.copyAttributes(c,{value:1});c.replace(d);a.element=c}else e.call(this,a)}}]},{type:"hbox",widths:["50%","50%"],children:[{id:"size",type:"text",label:b.lang.forms.textfield.charWidth,"default":"",accessKey:"C",style:"width:50px",validate:CKEDITOR.dialog.validate.integer(b.lang.common.validateNumberFailed)},{id:"maxLength",type:"text",label:b.lang.forms.textfield.maxChars,"default":"",accessKey:"M",style:"width:50px", +validate:CKEDITOR.dialog.validate.integer(b.lang.common.validateNumberFailed)}],onLoad:function(){CKEDITOR.env.ie7Compat&&this.getElement().setStyle("zoom","100%")}},{id:"type",type:"select",label:b.lang.forms.textfield.type,"default":"text",accessKey:"M",items:[[b.lang.forms.textfield.typeEmail,"email"],[b.lang.forms.textfield.typePass,"password"],[b.lang.forms.textfield.typeSearch,"search"],[b.lang.forms.textfield.typeTel,"tel"],[b.lang.forms.textfield.typeText,"text"],[b.lang.forms.textfield.typeUrl, +"url"]],setup:function(a){this.setValue(a.getAttribute("type"))},commit:function(a){var d=a.element;if(CKEDITOR.env.ie){var c=d.getAttribute("type"),e=this.getValue();c!=e&&(c=CKEDITOR.dom.element.createFromHtml('\x3cinput type\x3d"'+e+'"\x3e\x3c/input\x3e',b.document),d.copyAttributes(c,{type:1}),c.replace(d),a.element=c)}else d.setAttribute("type",this.getValue())}},{id:"required",type:"checkbox",label:b.lang.forms.textfield.required,"default":"",accessKey:"Q",value:"required",setup:function(a){this.setValue(a.getAttribute("required"))}, +commit:function(a){a=a.element;this.getValue()?a.setAttribute("required","required"):a.removeAttribute("required")}}]}]}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/textfield.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/select.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/select.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/select.js (revision 7) @@ -0,0 +1,20 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("select",function(c){function h(a,b,e,d,c){a=f(a);d=d?d.createElement("OPTION"):document.createElement("OPTION");if(a&&d&&"option"==d.getName())CKEDITOR.env.ie?(isNaN(parseInt(c,10))?a.$.options.add(d.$):a.$.options.add(d.$,c),d.$.innerHTML=0<b.length?b:"",d.$.value=e):(null!==c&&c<a.getChildCount()?a.getChild(0>c?0:c).insertBeforeMe(d):a.append(d),d.setText(0<b.length?b:""),d.setValue(e));else return!1;return d}function p(a){a=f(a);for(var b=g(a),e=a.getChildren().count()-1;0<= +e;e--)a.getChild(e).$.selected&&a.getChild(e).remove();k(a,b)}function q(a,b,e,d){a=f(a);if(0>b)return!1;a=a.getChild(b);a.setText(e);a.setValue(d);return a}function m(a){for(a=f(a);a.getChild(0)&&a.getChild(0).remove(););}function l(a,b,e){a=f(a);var d=g(a);if(0>d)return!1;b=d+b;b=0>b?0:b;b=b>=a.getChildCount()?a.getChildCount()-1:b;if(d==b)return!1;var d=a.getChild(d),c=d.getText(),r=d.getValue();d.remove();d=h(a,c,r,e?e:null,b);k(a,b);return d}function g(a){return(a=f(a))?a.$.selectedIndex:-1} +function k(a,b){a=f(a);if(0>b)return null;var e=a.getChildren().count();a.$.selectedIndex=b>=e?e-1:b;return a}function n(a){return(a=f(a))?a.getChildren():!1}function f(a){return a&&a.domId&&a.getInputElement().$?a.getInputElement():a&&a.$?a:!1}return{title:c.lang.forms.select.title,minWidth:CKEDITOR.env.ie?460:395,minHeight:CKEDITOR.env.ie?320:300,onShow:function(){delete this.selectBox;this.setupContent("clear");var a=this.getParentEditor().getSelection().getSelectedElement();if(a&&"select"==a.getName()){this.selectBox= +a;this.setupContent(a.getName(),a);for(var a=n(a),b=0;b<a.count();b++)this.setupContent("option",a.getItem(b))}},onOk:function(){var a=this.getParentEditor(),b=this.selectBox,e=!b;e&&(b=a.document.createElement("select"));this.commitContent(b);if(e&&(a.insertElement(b),CKEDITOR.env.ie)){var d=a.getSelection(),c=d.createBookmarks();setTimeout(function(){d.selectBookmarks(c)},0)}},contents:[{id:"info",label:c.lang.forms.select.selectInfo,title:c.lang.forms.select.selectInfo,accessKey:"",elements:[{id:"txtName", +type:"text",widths:["25%","75%"],labelLayout:"horizontal",label:c.lang.common.name,"default":"",accessKey:"N",style:"width:350px",setup:function(a,b){"clear"==a?this.setValue(this["default"]||""):"select"==a&&this.setValue(b.data("cke-saved-name")||b.getAttribute("name")||"")},commit:function(a){this.getValue()?a.data("cke-saved-name",this.getValue()):(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"txtValue",type:"text",widths:["25%","75%"],labelLayout:"horizontal",label:c.lang.forms.select.value, +style:"width:350px","default":"",className:"cke_disabled",onLoad:function(){this.getInputElement().setAttribute("readOnly",!0)},setup:function(a,b){"clear"==a?this.setValue(""):"option"==a&&b.getAttribute("selected")&&this.setValue(b.$.value)}},{type:"hbox",className:"cke_dialog_forms_select_order_txtsize",widths:["175px","170px"],children:[{id:"txtSize",type:"text",labelLayout:"horizontal",label:c.lang.forms.select.size,"default":"",accessKey:"S",style:"width:175px",validate:function(){var a=CKEDITOR.dialog.validate.integer(c.lang.common.validateNumberFailed); +return""===this.getValue()||a.apply(this)},setup:function(a,b){"select"==a&&this.setValue(b.getAttribute("size")||"");CKEDITOR.env.webkit&&this.getInputElement().setStyle("width","86px")},commit:function(a){this.getValue()?a.setAttribute("size",this.getValue()):a.removeAttribute("size")}},{type:"html",html:"\x3cspan\x3e"+CKEDITOR.tools.htmlEncode(c.lang.forms.select.lines)+"\x3c/span\x3e"}]},{type:"html",html:"\x3cspan\x3e"+CKEDITOR.tools.htmlEncode(c.lang.forms.select.opAvail)+"\x3c/span\x3e"},{type:"hbox", +widths:["115px","115px","100px"],className:"cke_dialog_forms_select_order",children:[{type:"vbox",children:[{id:"txtOptName",type:"text",label:c.lang.forms.select.opText,style:"width:115px",setup:function(a){"clear"==a&&this.setValue("")}},{type:"select",id:"cmbName",label:"",title:"",size:5,style:"width:115px;height:75px",items:[],onChange:function(){var a=this.getDialog(),b=a.getContentElement("info","cmbValue"),e=a.getContentElement("info","txtOptName"),a=a.getContentElement("info","txtOptValue"), +d=g(this);k(b,d);e.setValue(this.getValue());a.setValue(b.getValue())},setup:function(a,b){"clear"==a?m(this):"option"==a&&h(this,b.getText(),b.getText(),this.getDialog().getParentEditor().document)},commit:function(a){var b=this.getDialog(),e=n(this),d=n(b.getContentElement("info","cmbValue")),c=b.getContentElement("info","txtValue").getValue();m(a);for(var f=0;f<e.count();f++){var g=h(a,e.getItem(f).getValue(),d.getItem(f).getValue(),b.getParentEditor().document);d.getItem(f).getValue()==c&&(g.setAttribute("selected", +"selected"),g.selected=!0)}}}]},{type:"vbox",children:[{id:"txtOptValue",type:"text",label:c.lang.forms.select.opValue,style:"width:115px",setup:function(a){"clear"==a&&this.setValue("")}},{type:"select",id:"cmbValue",label:"",size:5,style:"width:115px;height:75px",items:[],onChange:function(){var a=this.getDialog(),b=a.getContentElement("info","cmbName"),e=a.getContentElement("info","txtOptName"),a=a.getContentElement("info","txtOptValue"),d=g(this);k(b,d);e.setValue(b.getValue());a.setValue(this.getValue())}, +setup:function(a,b){if("clear"==a)m(this);else if("option"==a){var e=b.getValue();h(this,e,e,this.getDialog().getParentEditor().document);"selected"==b.getAttribute("selected")&&this.getDialog().getContentElement("info","txtValue").setValue(e)}}}]},{type:"vbox",padding:5,children:[{type:"button",id:"btnAdd",label:c.lang.forms.select.btnAdd,title:c.lang.forms.select.btnAdd,style:"width:100%;",onClick:function(){var a=this.getDialog(),b=a.getContentElement("info","txtOptName"),e=a.getContentElement("info", +"txtOptValue"),d=a.getContentElement("info","cmbName"),c=a.getContentElement("info","cmbValue");h(d,b.getValue(),b.getValue(),a.getParentEditor().document);h(c,e.getValue(),e.getValue(),a.getParentEditor().document);b.setValue("");e.setValue("")}},{type:"button",id:"btnModify",label:c.lang.forms.select.btnModify,title:c.lang.forms.select.btnModify,style:"width:100%;",onClick:function(){var a=this.getDialog(),b=a.getContentElement("info","txtOptName"),e=a.getContentElement("info","txtOptValue"),d= +a.getContentElement("info","cmbName"),a=a.getContentElement("info","cmbValue"),c=g(d);0<=c&&(q(d,c,b.getValue(),b.getValue()),q(a,c,e.getValue(),e.getValue()))}},{type:"button",id:"btnUp",style:"width:100%;",label:c.lang.forms.select.btnUp,title:c.lang.forms.select.btnUp,onClick:function(){var a=this.getDialog(),b=a.getContentElement("info","cmbName"),c=a.getContentElement("info","cmbValue");l(b,-1,a.getParentEditor().document);l(c,-1,a.getParentEditor().document)}},{type:"button",id:"btnDown",style:"width:100%;", +label:c.lang.forms.select.btnDown,title:c.lang.forms.select.btnDown,onClick:function(){var a=this.getDialog(),b=a.getContentElement("info","cmbName"),c=a.getContentElement("info","cmbValue");l(b,1,a.getParentEditor().document);l(c,1,a.getParentEditor().document)}}]}]},{type:"hbox",widths:["40%","20%","40%"],children:[{type:"button",id:"btnSetValue",label:c.lang.forms.select.btnSetValue,title:c.lang.forms.select.btnSetValue,onClick:function(){var a=this.getDialog(),b=a.getContentElement("info","cmbValue"); +a.getContentElement("info","txtValue").setValue(b.getValue())}},{type:"button",id:"btnDelete",label:c.lang.forms.select.btnDelete,title:c.lang.forms.select.btnDelete,onClick:function(){var a=this.getDialog(),b=a.getContentElement("info","cmbName"),c=a.getContentElement("info","cmbValue"),d=a.getContentElement("info","txtOptName"),a=a.getContentElement("info","txtOptValue");p(b);p(c);d.setValue("");a.setValue("")}},{type:"vbox",children:[{id:"chkMulti",type:"checkbox",label:c.lang.forms.select.chkMulti, +"default":"",accessKey:"M",value:"checked",setup:function(a,b){"select"==a&&this.setValue(b.getAttribute("multiple"))},commit:function(a){this.getValue()?a.setAttribute("multiple",this.getValue()):a.removeAttribute("multiple")}},{id:"required",type:"checkbox",label:c.lang.forms.select.required,"default":"",accessKey:"Q",value:"checked",setup:function(a,b){"select"==a&&this.setValue(b.getAttribute("required"))},commit:function(a){this.getValue()?a.setAttribute("required","required"):a.removeAttribute("required")}}]}]}]}]}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/select.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/radio.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/radio.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/radio.js (revision 7) @@ -0,0 +1,9 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("radio",function(c){return{title:c.lang.forms.checkboxAndRadio.radioTitle,minWidth:350,minHeight:140,onShow:function(){delete this.radioButton;var a=this.getParentEditor().getSelection().getSelectedElement();a&&"input"==a.getName()&&"radio"==a.getAttribute("type")&&(this.radioButton=a,this.setupContent(a))},onOk:function(){var a,b=this.radioButton;b||(a=this.getParentEditor(),b=a.document.createElement("input"),b.setAttribute("type","radio"),a.insertElement(b));this.commitContent({element:b})}, +contents:[{id:"info",label:c.lang.forms.checkboxAndRadio.radioTitle,title:c.lang.forms.checkboxAndRadio.radioTitle,elements:[{id:"name",type:"text",label:c.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){a=a.element;this.getValue()?a.data("cke-saved-name",this.getValue()):(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{id:"value",type:"text",label:c.lang.forms.checkboxAndRadio.value,"default":"", +accessKey:"V",setup:function(a){this.setValue(a.getAttribute("value")||"")},commit:function(a){a=a.element;this.getValue()?a.setAttribute("value",this.getValue()):a.removeAttribute("value")}},{id:"checked",type:"checkbox",label:c.lang.forms.checkboxAndRadio.selected,"default":"",accessKey:"S",value:"checked",setup:function(a){this.setValue(a.getAttribute("checked"))},commit:function(a){var b=a.element;if(CKEDITOR.env.ie){var d=b.getAttribute("checked"),e=!!this.getValue();d!=e&&(d=CKEDITOR.dom.element.createFromHtml('\x3cinput type\x3d"radio"'+ +(e?' checked\x3d"checked"':"")+"\x3e\x3c/input\x3e",c.document),b.copyAttributes(d,{type:1,checked:1}),d.replace(b),e&&d.setAttribute("checked","checked"),c.getSelection().selectElement(d),a.element=d)}else a=this.getValue(),CKEDITOR.env.webkit&&(b.$.checked=a),a?b.setAttribute("checked","checked"):b.removeAttribute("checked")}},{id:"required",type:"checkbox",label:c.lang.forms.checkboxAndRadio.required,"default":"",accessKey:"Q",value:"required",setup:function(a){this.setValue(a.getAttribute("required"))}, +commit:function(a){a=a.element;this.getValue()?a.setAttribute("required","required"):a.removeAttribute("required")}}]}]}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/radio.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/textarea.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/textarea.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/textarea.js (revision 7) @@ -0,0 +1,8 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("textarea",function(b){return{title:b.lang.forms.textarea.title,minWidth:350,minHeight:220,onShow:function(){delete this.textarea;var a=this.getParentEditor().getSelection().getSelectedElement();a&&"textarea"==a.getName()&&(this.textarea=a,this.setupContent(a))},onOk:function(){var a,b=this.textarea,c=!b;c&&(a=this.getParentEditor(),b=a.document.createElement("textarea"));this.commitContent(b);c&&a.insertElement(b)},contents:[{id:"info",label:b.lang.forms.textarea.title,title:b.lang.forms.textarea.title, +elements:[{id:"_cke_saved_name",type:"text",label:b.lang.common.name,"default":"",accessKey:"N",setup:function(a){this.setValue(a.data("cke-saved-name")||a.getAttribute("name")||"")},commit:function(a){this.getValue()?a.data("cke-saved-name",this.getValue()):(a.data("cke-saved-name",!1),a.removeAttribute("name"))}},{type:"hbox",widths:["50%","50%"],children:[{id:"cols",type:"text",label:b.lang.forms.textarea.cols,"default":"",accessKey:"C",style:"width:50px",validate:CKEDITOR.dialog.validate.integer(b.lang.common.validateNumberFailed), +setup:function(a){a=a.hasAttribute("cols")&&a.getAttribute("cols");this.setValue(a||"")},commit:function(a){this.getValue()?a.setAttribute("cols",this.getValue()):a.removeAttribute("cols")}},{id:"rows",type:"text",label:b.lang.forms.textarea.rows,"default":"",accessKey:"R",style:"width:50px",validate:CKEDITOR.dialog.validate.integer(b.lang.common.validateNumberFailed),setup:function(a){a=a.hasAttribute("rows")&&a.getAttribute("rows");this.setValue(a||"")},commit:function(a){this.getValue()?a.setAttribute("rows", +this.getValue()):a.removeAttribute("rows")}}]},{id:"value",type:"textarea",label:b.lang.forms.textfield.value,"default":"",setup:function(a){this.setValue(a.$.defaultValue)},commit:function(a){a.$.value=a.$.defaultValue=this.getValue()}},{id:"required",type:"checkbox",label:b.lang.forms.textfield.required,"default":"",accessKey:"Q",value:"required",setup:function(a){this.setValue(a.getAttribute("required"))},commit:function(a){this.getValue()?a.setAttribute("required","required"):a.removeAttribute("required")}}]}]}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/forms/dialogs/textarea.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/flash/images/placeholder.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/flash/images/placeholder.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/flash/dialogs/flash.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/flash/dialogs/flash.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/flash/dialogs/flash.js (revision 7) @@ -0,0 +1,24 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +(function(){function b(a,b,c){var h=n[this.id];if(h)for(var f=this instanceof CKEDITOR.ui.dialog.checkbox,e=0;e<h.length;e++){var d=h[e];switch(d.type){case 1:if(!a)continue;if(null!==a.getAttribute(d.name)){a=a.getAttribute(d.name);f?this.setValue("true"==a.toLowerCase()):this.setValue(a);return}f&&this.setValue(!!d["default"]);break;case 2:if(!a)continue;if(d.name in c){a=c[d.name];f?this.setValue("true"==a.toLowerCase()):this.setValue(a);return}f&&this.setValue(!!d["default"]);break;case 4:if(!b)continue; +if(b.getAttribute(d.name)){a=b.getAttribute(d.name);f?this.setValue("true"==a.toLowerCase()):this.setValue(a);return}f&&this.setValue(!!d["default"])}}}function c(a,b,c){var h=n[this.id];if(h)for(var f=""===this.getValue(),e=this instanceof CKEDITOR.ui.dialog.checkbox,d=0;d<h.length;d++){var g=h[d];switch(g.type){case 1:if(!a||"data"==g.name&&b&&!a.hasAttribute("data"))continue;var m=this.getValue();f||e&&m===g["default"]?a.removeAttribute(g.name):a.setAttribute(g.name,m);break;case 2:if(!a)continue; +m=this.getValue();if(f||e&&m===g["default"])g.name in c&&c[g.name].remove();else if(g.name in c)c[g.name].setAttribute("value",m);else{var p=CKEDITOR.dom.element.createFromHtml("\x3ccke:param\x3e\x3c/cke:param\x3e",a.getDocument());p.setAttributes({name:g.name,value:m});1>a.getChildCount()?p.appendTo(a):p.insertBefore(a.getFirst())}break;case 4:if(!b)continue;m=this.getValue();f||e&&m===g["default"]?b.removeAttribute(g.name):b.setAttribute(g.name,m)}}}for(var n={id:[{type:1,name:"id"}],classid:[{type:1, +name:"classid"}],codebase:[{type:1,name:"codebase"}],pluginspage:[{type:4,name:"pluginspage"}],src:[{type:2,name:"movie"},{type:4,name:"src"},{type:1,name:"data"}],name:[{type:4,name:"name"}],align:[{type:1,name:"align"}],"class":[{type:1,name:"class"},{type:4,name:"class"}],width:[{type:1,name:"width"},{type:4,name:"width"}],height:[{type:1,name:"height"},{type:4,name:"height"}],hSpace:[{type:1,name:"hSpace"},{type:4,name:"hSpace"}],vSpace:[{type:1,name:"vSpace"},{type:4,name:"vSpace"}],style:[{type:1, +name:"style"},{type:4,name:"style"}],type:[{type:4,name:"type"}]},k="play loop menu quality scale salign wmode bgcolor base flashvars allowScriptAccess allowFullScreen".split(" "),l=0;l<k.length;l++)n[k[l]]=[{type:4,name:k[l]},{type:2,name:k[l]}];k=["play","loop","menu"];for(l=0;l<k.length;l++)n[k[l]][0]["default"]=n[k[l]][1]["default"]=!0;CKEDITOR.dialog.add("flash",function(a){var l=!a.config.flashEmbedTagOnly,k=a.config.flashAddEmbedTag||a.config.flashEmbedTagOnly,h,f="\x3cdiv\x3e"+CKEDITOR.tools.htmlEncode(a.lang.common.preview)+ +'\x3cbr\x3e\x3cdiv id\x3d"cke_FlashPreviewLoader'+CKEDITOR.tools.getNextNumber()+'" style\x3d"display:none"\x3e\x3cdiv class\x3d"loading"\x3e\x26nbsp;\x3c/div\x3e\x3c/div\x3e\x3cdiv id\x3d"cke_FlashPreviewBox'+CKEDITOR.tools.getNextNumber()+'" class\x3d"FlashPreviewBox"\x3e\x3c/div\x3e\x3c/div\x3e';return{title:a.lang.flash.title,minWidth:420,minHeight:310,onShow:function(){this.fakeImage=this.objectNode=this.embedNode=null;h=new CKEDITOR.dom.element("embed",a.document);var e=this.getSelectedElement(); +if(e&&e.data("cke-real-element-type")&&"flash"==e.data("cke-real-element-type")){this.fakeImage=e;var d=a.restoreRealElement(e),g=null,b=null,c={};if("cke:object"==d.getName()){g=d;d=g.getElementsByTag("embed","cke");0<d.count()&&(b=d.getItem(0));for(var d=g.getElementsByTag("param","cke"),f=0,l=d.count();f<l;f++){var k=d.getItem(f),n=k.getAttribute("name"),k=k.getAttribute("value");c[n]=k}}else"cke:embed"==d.getName()&&(b=d);this.objectNode=g;this.embedNode=b;this.setupContent(g,b,c,e)}},onOk:function(){var e= +null,d=null,b=null;this.fakeImage?(e=this.objectNode,d=this.embedNode):(l&&(e=CKEDITOR.dom.element.createFromHtml("\x3ccke:object\x3e\x3c/cke:object\x3e",a.document),e.setAttributes({classid:"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",codebase:"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version\x3d6,0,40,0"})),k&&(d=CKEDITOR.dom.element.createFromHtml("\x3ccke:embed\x3e\x3c/cke:embed\x3e",a.document),d.setAttributes({type:"application/x-shockwave-flash",pluginspage:"http://www.macromedia.com/go/getflashplayer"}), +e&&d.appendTo(e)));if(e)for(var b={},c=e.getElementsByTag("param","cke"),f=0,h=c.count();f<h;f++)b[c.getItem(f).getAttribute("name")]=c.getItem(f);c={};f={};this.commitContent(e,d,b,c,f);e=a.createFakeElement(e||d,"cke_flash","flash",!0);e.setAttributes(f);e.setStyles(c);this.fakeImage?(e.replace(this.fakeImage),a.getSelection().selectElement(e)):a.insertElement(e)},onHide:function(){this.preview&&this.preview.setHtml("")},contents:[{id:"info",label:a.lang.common.generalTab,accessKey:"I",elements:[{type:"vbox", +padding:0,children:[{type:"hbox",widths:["280px","110px"],align:"right",className:"cke_dialog_flash_url",children:[{id:"src",type:"text",label:a.lang.common.url,required:!0,validate:CKEDITOR.dialog.validate.notEmpty(a.lang.flash.validateSrc),setup:b,commit:c,onLoad:function(){var a=this.getDialog(),b=function(b){h.setAttribute("src",b);a.preview.setHtml('\x3cembed height\x3d"100%" width\x3d"100%" src\x3d"'+CKEDITOR.tools.htmlEncode(h.getAttribute("src"))+'" type\x3d"application/x-shockwave-flash"\x3e\x3c/embed\x3e')}; +a.preview=a.getContentElement("info","preview").getElement().getChild(3);this.on("change",function(a){a.data&&a.data.value&&b(a.data.value)});this.getInputElement().on("change",function(){b(this.getValue())},this)}},{type:"button",id:"browse",filebrowser:"info:src",hidden:!0,style:"display:inline-block;margin-top:14px;",label:a.lang.common.browseServer}]}]},{type:"hbox",widths:["25%","25%","25%","25%","25%"],children:[{type:"text",id:"width",requiredContent:"embed[width]",style:"width:95px",label:a.lang.common.width, +validate:CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1",a.lang.common.width)),setup:b,commit:c},{type:"text",id:"height",requiredContent:"embed[height]",style:"width:95px",label:a.lang.common.height,validate:CKEDITOR.dialog.validate.htmlLength(a.lang.common.invalidHtmlLength.replace("%1",a.lang.common.height)),setup:b,commit:c},{type:"text",id:"hSpace",requiredContent:"embed[hspace]",style:"width:95px",label:a.lang.flash.hSpace,validate:CKEDITOR.dialog.validate.integer(a.lang.flash.validateHSpace), +setup:b,commit:c},{type:"text",id:"vSpace",requiredContent:"embed[vspace]",style:"width:95px",label:a.lang.flash.vSpace,validate:CKEDITOR.dialog.validate.integer(a.lang.flash.validateVSpace),setup:b,commit:c}]},{type:"vbox",children:[{type:"html",id:"preview",style:"width:95%;",html:f}]}]},{id:"Upload",hidden:!0,filebrowser:"uploadButton",label:a.lang.common.upload,elements:[{type:"file",id:"upload",label:a.lang.common.upload,size:38},{type:"fileButton",id:"uploadButton",label:a.lang.common.uploadSubmit, +filebrowser:"info:src","for":["Upload","upload"]}]},{id:"properties",label:a.lang.flash.propertiesTab,elements:[{type:"hbox",widths:["50%","50%"],children:[{id:"scale",type:"select",requiredContent:"embed[scale]",label:a.lang.flash.scale,"default":"",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.flash.scaleAll,"showall"],[a.lang.flash.scaleNoBorder,"noborder"],[a.lang.flash.scaleFit,"exactfit"]],setup:b,commit:c},{id:"allowScriptAccess",type:"select",requiredContent:"embed[allowscriptaccess]", +label:a.lang.flash.access,"default":"",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.flash.accessAlways,"always"],[a.lang.flash.accessSameDomain,"samedomain"],[a.lang.flash.accessNever,"never"]],setup:b,commit:c}]},{type:"hbox",widths:["50%","50%"],children:[{id:"wmode",type:"select",requiredContent:"embed[wmode]",label:a.lang.flash.windowMode,"default":"",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.flash.windowModeWindow,"window"],[a.lang.flash.windowModeOpaque, +"opaque"],[a.lang.flash.windowModeTransparent,"transparent"]],setup:b,commit:c},{id:"quality",type:"select",requiredContent:"embed[quality]",label:a.lang.flash.quality,"default":"high",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.flash.qualityBest,"best"],[a.lang.flash.qualityHigh,"high"],[a.lang.flash.qualityAutoHigh,"autohigh"],[a.lang.flash.qualityMedium,"medium"],[a.lang.flash.qualityAutoLow,"autolow"],[a.lang.flash.qualityLow,"low"]],setup:b,commit:c}]},{type:"hbox",widths:["50%", +"50%"],children:[{id:"align",type:"select",requiredContent:"object[align]",label:a.lang.common.align,"default":"",style:"width : 100%;",items:[[a.lang.common.notSet,""],[a.lang.common.left,"left"],[a.lang.flash.alignAbsBottom,"absBottom"],[a.lang.flash.alignAbsMiddle,"absMiddle"],[a.lang.flash.alignBaseline,"baseline"],[a.lang.common.alignBottom,"bottom"],[a.lang.common.alignMiddle,"middle"],[a.lang.common.right,"right"],[a.lang.flash.alignTextTop,"textTop"],[a.lang.common.alignTop,"top"]],setup:b, +commit:function(a,b,f,k,l){var h=this.getValue();c.apply(this,arguments);h&&(l.align=h)}},{type:"html",html:"\x3cdiv\x3e\x3c/div\x3e"}]},{type:"fieldset",label:CKEDITOR.tools.htmlEncode(a.lang.flash.flashvars),children:[{type:"vbox",padding:0,children:[{type:"checkbox",id:"menu",label:a.lang.flash.chkMenu,"default":!0,setup:b,commit:c},{type:"checkbox",id:"play",label:a.lang.flash.chkPlay,"default":!0,setup:b,commit:c},{type:"checkbox",id:"loop",label:a.lang.flash.chkLoop,"default":!0,setup:b,commit:c}, +{type:"checkbox",id:"allowFullScreen",label:a.lang.flash.chkFull,"default":!0,setup:b,commit:c}]}]}]},{id:"advanced",label:a.lang.common.advancedTab,elements:[{type:"hbox",children:[{type:"text",id:"id",requiredContent:"object[id]",label:a.lang.common.id,setup:b,commit:c}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",id:"bgcolor",requiredContent:"embed[bgcolor]",label:a.lang.flash.bgcolor,setup:b,commit:c},{type:"text",id:"class",requiredContent:"embed(cke-xyz)",label:a.lang.common.cssClass, +setup:b,commit:c}]},{type:"text",id:"style",requiredContent:"embed{cke-xyz}",validate:CKEDITOR.dialog.validate.inlineStyle(a.lang.common.invalidInlineStyle),label:a.lang.common.cssStyle,setup:b,commit:c}]}]}})})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/flash/dialogs/flash.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/confused_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/confused_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/angel_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/angel_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/heart.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/heart.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/shades_smile.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/shades_smile.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/envelope.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/envelope.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/angel_smile.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/angel_smile.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/angry_smile.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/angry_smile.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/envelope.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/envelope.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/cry_smile.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/cry_smile.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/wink_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/wink_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/tounge_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/tounge_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/sad_smile.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/sad_smile.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/thumbs_down.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/thumbs_down.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/broken_heart.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/broken_heart.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/thumbs_up.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/thumbs_up.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/wink_smile.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/wink_smile.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/kiss.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/kiss.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/heart.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/heart.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/devil_smile.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/devil_smile.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/sad_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/sad_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/broken_heart.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/broken_heart.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/angry_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/angry_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/tongue_smile.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/tongue_smile.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/regular_smile.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/regular_smile.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/omg_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/omg_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/cry_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/cry_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/tongue_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/tongue_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/teeth_smile.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/teeth_smile.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/shades_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/shades_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/omg_smile.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/omg_smile.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/confused_smile.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/confused_smile.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/teeth_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/teeth_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/embaressed_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/embaressed_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/embarrassed_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/embarrassed_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/thumbs_up.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/thumbs_up.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/kiss.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/kiss.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/lightbulb.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/lightbulb.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/regular_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/regular_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/embarrassed_smile.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/embarrassed_smile.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/lightbulb.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/lightbulb.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/devil_smile.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/devil_smile.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/thumbs_down.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/images/thumbs_down.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/dialogs/smiley.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/dialogs/smiley.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/dialogs/smiley.js (revision 7) @@ -0,0 +1,11 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("smiley",function(f){for(var e=f.config,a=f.lang.smiley,h=e.smiley_images,g=e.smiley_columns||8,k,m=function(l){var c=l.data.getTarget(),b=c.getName();if("a"==b)c=c.getChild(0);else if("img"!=b)return;var b=c.getAttribute("cke_src"),a=c.getAttribute("title"),c=f.document.createElement("img",{attributes:{src:b,"data-cke-saved-src":b,title:a,alt:a,width:c.$.width,height:c.$.height}});f.insertElement(c);k.hide();l.data.preventDefault()},q=CKEDITOR.tools.addFunction(function(a,c){a= +new CKEDITOR.dom.event(a);c=new CKEDITOR.dom.element(c);var b;b=a.getKeystroke();var d="rtl"==f.lang.dir;switch(b){case 38:if(b=c.getParent().getParent().getPrevious())b=b.getChild([c.getParent().getIndex(),0]),b.focus();a.preventDefault();break;case 40:(b=c.getParent().getParent().getNext())&&(b=b.getChild([c.getParent().getIndex(),0]))&&b.focus();a.preventDefault();break;case 32:m({data:a});a.preventDefault();break;case d?37:39:if(b=c.getParent().getNext())b=b.getChild(0),b.focus(),a.preventDefault(!0); +else if(b=c.getParent().getParent().getNext())(b=b.getChild([0,0]))&&b.focus(),a.preventDefault(!0);break;case d?39:37:if(b=c.getParent().getPrevious())b=b.getChild(0),b.focus(),a.preventDefault(!0);else if(b=c.getParent().getParent().getPrevious())b=b.getLast().getChild(0),b.focus(),a.preventDefault(!0)}}),d=CKEDITOR.tools.getNextId()+"_smiley_emtions_label",d=['\x3cdiv\x3e\x3cspan id\x3d"'+d+'" class\x3d"cke_voice_label"\x3e'+a.options+"\x3c/span\x3e",'\x3ctable role\x3d"listbox" aria-labelledby\x3d"'+ +d+'" style\x3d"width:100%;height:100%;border-collapse:separate;" cellspacing\x3d"2" cellpadding\x3d"2"',CKEDITOR.env.ie&&CKEDITOR.env.quirks?' style\x3d"position:absolute;"':"","\x3e\x3ctbody\x3e"],n=h.length,a=0;a<n;a++){0===a%g&&d.push('\x3ctr role\x3d"presentation"\x3e');var p="cke_smile_label_"+a+"_"+CKEDITOR.tools.getNextNumber();d.push('\x3ctd class\x3d"cke_dark_background cke_centered" style\x3d"vertical-align: middle;" role\x3d"presentation"\x3e\x3ca href\x3d"javascript:void(0)" role\x3d"option"', +' aria-posinset\x3d"'+(a+1)+'"',' aria-setsize\x3d"'+n+'"',' aria-labelledby\x3d"'+p+'"',' class\x3d"cke_smile cke_hand" tabindex\x3d"-1" onkeydown\x3d"CKEDITOR.tools.callFunction( ',q,', event, this );"\x3e','\x3cimg class\x3d"cke_hand" title\x3d"',e.smiley_descriptions[a],'" cke_src\x3d"',CKEDITOR.tools.htmlEncode(e.smiley_path+h[a]),'" alt\x3d"',e.smiley_descriptions[a],'"',' src\x3d"',CKEDITOR.tools.htmlEncode(e.smiley_path+h[a]),'"',CKEDITOR.env.ie?" onload\x3d\"this.setAttribute('width', 2); this.removeAttribute('width');\" ": +"",'\x3e\x3cspan id\x3d"'+p+'" class\x3d"cke_voice_label"\x3e'+e.smiley_descriptions[a]+"\x3c/span\x3e\x3c/a\x3e","\x3c/td\x3e");a%g==g-1&&d.push("\x3c/tr\x3e")}if(a<g-1){for(;a<g-1;a++)d.push("\x3ctd\x3e\x3c/td\x3e");d.push("\x3c/tr\x3e")}d.push("\x3c/tbody\x3e\x3c/table\x3e\x3c/div\x3e");e={type:"html",id:"smileySelector",html:d.join(""),onLoad:function(a){k=a.sender},focus:function(){var a=this;setTimeout(function(){a.getElement().getElementsByTag("a").getItem(0).focus()},0)},onClick:m,style:"width: 100%; border-collapse: separate;"}; +return{title:f.lang.smiley.title,minWidth:270,minHeight:120,contents:[{id:"tab1",label:"",title:"",expand:!0,padding:0,elements:[e]}],buttons:[CKEDITOR.dialog.cancelButton]}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/smiley/dialogs/smiley.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/find/dialogs/find.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/find/dialogs/find.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/find/dialogs/find.js (revision 7) @@ -0,0 +1,25 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +(function(){function C(c){return c.type==CKEDITOR.NODE_TEXT&&0<c.getLength()&&(!r||!c.isReadOnly())}function w(c){return!(c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary(CKEDITOR.tools.extend({},CKEDITOR.dtd.$empty,CKEDITOR.dtd.$nonEditable)))}function q(c,g){function n(a,b){var d=this,c=new CKEDITOR.dom.walker(a);c.guard=b?w:function(a){!w(a)&&(d._.matchBoundary=!0)};c.evaluator=C;c.breakOnFalse=1;a.startContainer.type==CKEDITOR.NODE_TEXT&&(this.textNode=a.startContainer,this.offset=a.startOffset- +1);this._={matchWord:b,walker:c,matchBoundary:!1}}function q(a,b){var d=c.createRange();d.setStart(a.textNode,b?a.offset:a.offset+1);d.setEndAt(c.editable(),CKEDITOR.POSITION_BEFORE_END);return d}function t(a){var b=c.getSelection().getRanges()[0],d=c.editable();b&&!a?(a=b.clone(),a.collapse(!0)):(a=c.createRange(),a.setStartAt(d,CKEDITOR.POSITION_AFTER_START));a.setEndAt(d,CKEDITOR.POSITION_BEFORE_END);return a}var x=new CKEDITOR.style(CKEDITOR.tools.extend({attributes:{"data-cke-highlight":1},fullMatch:1, +ignoreReadonly:1,childRule:function(){return 0}},c.config.find_highlight,!0));n.prototype={next:function(){return this.move()},back:function(){return this.move(!0)},move:function(a){var b=this.textNode;if(null===b)return y.call(this);this._.matchBoundary=!1;if(b&&a&&0<this.offset)this.offset--;else if(b&&this.offset<b.getLength()-1)this.offset++;else{for(b=null;!b&&!(b=this._.walker[a?"previous":"next"].call(this._.walker),this._.matchWord&&!b||this._.walker._.end););this.offset=(this.textNode=b)? +a?b.getLength()-1:0:0}return y.call(this)}};var u=function(a,b){this._={walker:a,cursors:[],rangeLength:b,highlightRange:null,isMatched:0}};u.prototype={toDomRange:function(){var a=c.createRange(),b=this._.cursors;if(1>b.length){var d=this._.walker.textNode;if(d)a.setStartAfter(d);else return null}else d=b[0],b=b[b.length-1],a.setStart(d.textNode,d.offset),a.setEnd(b.textNode,b.offset+1);return a},updateFromDomRange:function(a){var b=new n(a);this._.cursors=[];do a=b.next(),a.character&&this._.cursors.push(a); +while(a.character);this._.rangeLength=this._.cursors.length},setMatched:function(){this._.isMatched=!0},clearMatched:function(){this._.isMatched=!1},isMatched:function(){return this._.isMatched},highlight:function(){if(!(1>this._.cursors.length)){this._.highlightRange&&this.removeHighlight();var a=this.toDomRange(),b=a.createBookmark();x.applyToRange(a,c);a.moveToBookmark(b);this._.highlightRange=a;b=a.startContainer;b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent());b.scrollIntoView();this.updateFromDomRange(a)}}, +removeHighlight:function(){if(this._.highlightRange){var a=this._.highlightRange.createBookmark();x.removeFromRange(this._.highlightRange,c);this._.highlightRange.moveToBookmark(a);this.updateFromDomRange(this._.highlightRange);this._.highlightRange=null}},isReadOnly:function(){return this._.highlightRange?this._.highlightRange.startContainer.isReadOnly():0},moveBack:function(){var a=this._.walker.back(),b=this._.cursors;a.hitMatchBoundary&&(this._.cursors=b=[]);b.unshift(a);b.length>this._.rangeLength&& +b.pop();return a},moveNext:function(){var a=this._.walker.next(),b=this._.cursors;a.hitMatchBoundary&&(this._.cursors=b=[]);b.push(a);b.length>this._.rangeLength&&b.shift();return a},getEndCharacter:function(){var a=this._.cursors;return 1>a.length?null:a[a.length-1].character},getNextCharacterRange:function(a){var b,d;d=this._.cursors;d=(b=d[d.length-1])&&b.textNode?new n(q(b)):this._.walker;return new u(d,a)},getCursors:function(){return this._.cursors}};var z=function(a,b){var d=[-1];b&&(a=a.toLowerCase()); +for(var c=0;c<a.length;c++)for(d.push(d[c]+1);0<d[c+1]&&a.charAt(c)!=a.charAt(d[c+1]-1);)d[c+1]=d[d[c+1]-1]+1;this._={overlap:d,state:0,ignoreCase:!!b,pattern:a}};z.prototype={feedCharacter:function(a){for(this._.ignoreCase&&(a=a.toLowerCase());;){if(a==this._.pattern.charAt(this._.state))return this._.state++,this._.state==this._.pattern.length?(this._.state=0,2):1;if(this._.state)this._.state=this._.overlap[this._.state];else return 0}},reset:function(){this._.state=0}};var D=/[.,"'?!;: \u0085\u00a0\u1680\u280e\u2028\u2029\u202f\u205f\u3000]/, +A=function(a){if(!a)return!0;var b=a.charCodeAt(0);return 9<=b&&13>=b||8192<=b&&8202>=b||D.test(a)},e={searchRange:null,matchRange:null,find:function(a,b,d,f,e,E){this.matchRange?(this.matchRange.removeHighlight(),this.matchRange=this.matchRange.getNextCharacterRange(a.length)):this.matchRange=new u(new n(this.searchRange),a.length);for(var k=new z(a,!b),l=0,m="%";null!==m;){for(this.matchRange.moveNext();m=this.matchRange.getEndCharacter();){l=k.feedCharacter(m);if(2==l)break;this.matchRange.moveNext().hitMatchBoundary&& +k.reset()}if(2==l){if(d){var h=this.matchRange.getCursors(),p=h[h.length-1],h=h[0],g=c.createRange();g.setStartAt(c.editable(),CKEDITOR.POSITION_AFTER_START);g.setEnd(h.textNode,h.offset);h=g;p=q(p);h.trim();p.trim();h=new n(h,!0);p=new n(p,!0);if(!A(h.back().character)||!A(p.next().character))continue}this.matchRange.setMatched();!1!==e&&this.matchRange.highlight();return!0}}this.matchRange.clearMatched();this.matchRange.removeHighlight();return f&&!E?(this.searchRange=t(1),this.matchRange=null, +arguments.callee.apply(this,Array.prototype.slice.call(arguments).concat([!0]))):!1},replaceCounter:0,replace:function(a,b,d,f,e,g,k){r=1;a=0;a=this.hasMatchOptionsChanged(b,f,e);if(!this.matchRange||!this.matchRange.isMatched()||this.matchRange._.isReplaced||this.matchRange.isReadOnly()||a)a&&this.matchRange&&(this.matchRange.clearMatched(),this.matchRange.removeHighlight(),this.matchRange=null),a=this.find(b,f,e,g,!k);else{this.matchRange.removeHighlight();b=this.matchRange.toDomRange();d=c.document.createText(d); +if(!k){var l=c.getSelection();l.selectRanges([b]);c.fire("saveSnapshot")}b.deleteContents();b.insertNode(d);k||(l.selectRanges([b]),c.fire("saveSnapshot"));this.matchRange.updateFromDomRange(b);k||this.matchRange.highlight();this.matchRange._.isReplaced=!0;this.replaceCounter++;a=1}r=0;return a},matchOptions:null,hasMatchOptionsChanged:function(a,b,c){a=[a,b,c].join(".");b=this.matchOptions&&this.matchOptions!=a;this.matchOptions=a;return b}},f=c.lang.find;return{title:f.title,resizable:CKEDITOR.DIALOG_RESIZE_NONE, +minWidth:350,minHeight:170,buttons:[CKEDITOR.dialog.cancelButton(c,{label:c.lang.common.close})],contents:[{id:"find",label:f.find,title:f.find,accessKey:"",elements:[{type:"hbox",widths:["230px","90px"],children:[{type:"text",id:"txtFindFind",label:f.findWhat,isChanged:!1,labelLayout:"horizontal",accessKey:"F"},{type:"button",id:"btnFind",align:"left",style:"width:100%",label:f.find,onClick:function(){var a=this.getDialog();e.find(a.getValueOf("find","txtFindFind"),a.getValueOf("find","txtFindCaseChk"), +a.getValueOf("find","txtFindWordChk"),a.getValueOf("find","txtFindCyclic"))||alert(f.notFoundMsg)}}]},{type:"fieldset",className:"cke_dialog_find_fieldset",label:CKEDITOR.tools.htmlEncode(f.findOptions),style:"margin-top:29px",children:[{type:"vbox",padding:0,children:[{type:"checkbox",id:"txtFindCaseChk",isChanged:!1,label:f.matchCase},{type:"checkbox",id:"txtFindWordChk",isChanged:!1,label:f.matchWord},{type:"checkbox",id:"txtFindCyclic",isChanged:!1,"default":!0,label:f.matchCyclic}]}]}]},{id:"replace", +label:f.replace,accessKey:"M",elements:[{type:"hbox",widths:["230px","90px"],children:[{type:"text",id:"txtFindReplace",label:f.findWhat,isChanged:!1,labelLayout:"horizontal",accessKey:"F"},{type:"button",id:"btnFindReplace",align:"left",style:"width:100%",label:f.replace,onClick:function(){var a=this.getDialog();e.replace(a,a.getValueOf("replace","txtFindReplace"),a.getValueOf("replace","txtReplace"),a.getValueOf("replace","txtReplaceCaseChk"),a.getValueOf("replace","txtReplaceWordChk"),a.getValueOf("replace", +"txtReplaceCyclic"))||alert(f.notFoundMsg)}}]},{type:"hbox",widths:["230px","90px"],children:[{type:"text",id:"txtReplace",label:f.replaceWith,isChanged:!1,labelLayout:"horizontal",accessKey:"R"},{type:"button",id:"btnReplaceAll",align:"left",style:"width:100%",label:f.replaceAll,isChanged:!1,onClick:function(){var a=this.getDialog();e.replaceCounter=0;e.searchRange=t(1);e.matchRange&&(e.matchRange.removeHighlight(),e.matchRange=null);for(c.fire("saveSnapshot");e.replace(a,a.getValueOf("replace", +"txtFindReplace"),a.getValueOf("replace","txtReplace"),a.getValueOf("replace","txtReplaceCaseChk"),a.getValueOf("replace","txtReplaceWordChk"),!1,!0););e.replaceCounter?(alert(f.replaceSuccessMsg.replace(/%1/,e.replaceCounter)),c.fire("saveSnapshot")):alert(f.notFoundMsg)}}]},{type:"fieldset",label:CKEDITOR.tools.htmlEncode(f.findOptions),children:[{type:"vbox",padding:0,children:[{type:"checkbox",id:"txtReplaceCaseChk",isChanged:!1,label:f.matchCase},{type:"checkbox",id:"txtReplaceWordChk",isChanged:!1, +label:f.matchWord},{type:"checkbox",id:"txtReplaceCyclic",isChanged:!1,"default":!0,label:f.matchCyclic}]}]}]}],onLoad:function(){var a=this,b,c=0;this.on("hide",function(){c=0});this.on("show",function(){c=1});this.selectPage=CKEDITOR.tools.override(this.selectPage,function(f){return function(e){f.call(a,e);var g=a._.tabs[e],k;k="find"===e?"txtFindWordChk":"txtReplaceWordChk";b=a.getContentElement(e,"find"===e?"txtFindFind":"txtFindReplace");a.getContentElement(e,k);g.initialized||(CKEDITOR.document.getById(b._.inputId), +g.initialized=!0);if(c){var l;e="find"===e?1:0;var g=1-e,m,h=v.length;for(m=0;m<h;m++)k=this.getContentElement(B[e],v[m][e]),l=this.getContentElement(B[g],v[m][g]),l.setValue(k.getValue())}}})},onShow:function(){e.searchRange=t();var a=this.getParentEditor().getSelection().getSelectedText(),b=this.getContentElement(g,"find"==g?"txtFindFind":"txtFindReplace");b.setValue(a);b.select();this.selectPage(g);this[("find"==g&&this._.editor.readOnly?"hide":"show")+"Page"]("replace")},onHide:function(){var a; +e.matchRange&&e.matchRange.isMatched()&&(e.matchRange.removeHighlight(),(a=e.matchRange.toDomRange())&&c.getSelection().selectRanges([a]),c.focus());delete e.matchRange},onFocus:function(){return"replace"==g?this.getContentElement("replace","txtFindReplace"):this.getContentElement("find","txtFindFind")}}}var r,y=function(){return{textNode:this.textNode,offset:this.offset,character:this.textNode?this.textNode.getText().charAt(this.offset):null,hitMatchBoundary:this._.matchBoundary}},B=["find","replace"], +v=[["txtFindFind","txtFindReplace"],["txtFindCaseChk","txtReplaceCaseChk"],["txtFindWordChk","txtReplaceWordChk"],["txtFindCyclic","txtReplaceCyclic"]];CKEDITOR.dialog.add("find",function(c){return q(c,"find")});CKEDITOR.dialog.add("replace",function(c){return q(c,"replace")})})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/find/dialogs/find.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/templates/default.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/templates/default.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/templates/default.js (revision 7) @@ -0,0 +1,7 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.addTemplates("default",{imagesPath:CKEDITOR.getUrl(CKEDITOR.plugins.getPath("templates")+"templates/images/"),templates:[{title:"Image and Title",image:"template1.gif",description:"One main image with a title and text that surround the image.",html:'\x3ch3\x3e\x3cimg src\x3d" " alt\x3d"" style\x3d"margin-right: 10px" height\x3d"100" width\x3d"100" align\x3d"left" /\x3eType the title here\x3c/h3\x3e\x3cp\x3eType the text here\x3c/p\x3e'},{title:"Strange Template",image:"template2.gif",description:"A template that defines two columns, each one with a title, and some text.", +html:'\x3ctable cellspacing\x3d"0" cellpadding\x3d"0" style\x3d"width:100%" border\x3d"0"\x3e\x3ctr\x3e\x3ctd style\x3d"width:50%"\x3e\x3ch3\x3eTitle 1\x3c/h3\x3e\x3c/td\x3e\x3ctd\x3e\x3c/td\x3e\x3ctd style\x3d"width:50%"\x3e\x3ch3\x3eTitle 2\x3c/h3\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3eText 1\x3c/td\x3e\x3ctd\x3e\x3c/td\x3e\x3ctd\x3eText 2\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3cp\x3eMore text goes here.\x3c/p\x3e'},{title:"Text and Table",image:"template3.gif",description:"A title with some text and a table.", +html:'\x3cdiv style\x3d"width: 80%"\x3e\x3ch3\x3eTitle goes here\x3c/h3\x3e\x3ctable style\x3d"width:150px;float: right" cellspacing\x3d"0" cellpadding\x3d"0" border\x3d"1"\x3e\x3ccaption style\x3d"border:solid 1px black"\x3e\x3cstrong\x3eTable title\x3c/strong\x3e\x3c/caption\x3e\x3ctr\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3ctd\x3e\x26nbsp;\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3cp\x3eType the text here\x3c/p\x3e\x3c/div\x3e'}]}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/templates/default.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/templates/images/template1.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/templates/images/template1.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/templates/images/template2.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/templates/images/template2.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/templates/images/template3.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/templates/images/template3.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/dialogs/templates.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/dialogs/templates.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/dialogs/templates.css (revision 7) @@ -0,0 +1,84 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ + +.cke_tpl_list +{ + border: #dcdcdc 2px solid; + background-color: #ffffff; + overflow-y: auto; + overflow-x: hidden; + width: 100%; + height: 220px; +} + +.cke_tpl_item +{ + margin: 5px; + padding: 7px; + border: #eeeeee 1px solid; + *width: 88%; +} + +.cke_tpl_preview +{ + border-collapse: separate; + text-indent:0; + width: 100%; +} +.cke_tpl_preview td +{ + padding: 2px; + vertical-align: middle; +} +.cke_tpl_preview .cke_tpl_preview_img +{ + width: 100px; +} +.cke_tpl_preview span +{ + white-space: normal; +} + +.cke_tpl_title +{ + font-weight: bold; +} + +.cke_tpl_list a:hover .cke_tpl_item, +.cke_tpl_list a:focus .cke_tpl_item, +.cke_tpl_list a:active .cke_tpl_item +{ + border: #ff9933 1px solid; + background-color: #fffacd; +} + +.cke_tpl_list a:hover *, +.cke_tpl_list a:focus *, +.cke_tpl_list a:active * +{ + cursor: pointer; +} + +/* IE Quirks contextual selectors children will not get :hover transition until + the hover style of the link itself contains certain CSS declarations. */ +.cke_browser_quirks .cke_tpl_list a:active, +.cke_browser_quirks .cke_tpl_list a:hover, +.cke_browser_quirks .cke_tpl_list a:focus +{ + background-position: 0 0; +} + +.cke_hc .cke_tpl_list a:hover .cke_tpl_item, +.cke_hc .cke_tpl_list a:focus .cke_tpl_item, +.cke_hc .cke_tpl_list a:active .cke_tpl_item +{ + border-width: 3px; +} + +.cke_tpl_empty, .cke_tpl_loading +{ + text-align: center; + padding: 5px; +} Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/dialogs/templates.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/dialogs/templates.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/dialogs/templates.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/dialogs/templates.js (revision 7) @@ -0,0 +1,10 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +(function(){CKEDITOR.dialog.add("templates",function(c){function r(a,b){var m=CKEDITOR.dom.element.createFromHtml('\x3ca href\x3d"javascript:void(0)" tabIndex\x3d"-1" role\x3d"option" \x3e\x3cdiv class\x3d"cke_tpl_item"\x3e\x3c/div\x3e\x3c/a\x3e'),d='\x3ctable style\x3d"width:350px;" class\x3d"cke_tpl_preview" role\x3d"presentation"\x3e\x3ctr\x3e';a.image&&b&&(d+='\x3ctd class\x3d"cke_tpl_preview_img"\x3e\x3cimg src\x3d"'+CKEDITOR.getUrl(b+a.image)+'"'+(CKEDITOR.env.ie6Compat?' onload\x3d"this.width\x3dthis.width"': +"")+' alt\x3d"" title\x3d""\x3e\x3c/td\x3e');d+='\x3ctd style\x3d"white-space:normal;"\x3e\x3cspan class\x3d"cke_tpl_title"\x3e'+a.title+"\x3c/span\x3e\x3cbr/\x3e";a.description&&(d+="\x3cspan\x3e"+a.description+"\x3c/span\x3e");d+="\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e";m.getFirst().setHtml(d);m.on("click",function(){t(a.html)});return m}function t(a){var b=CKEDITOR.dialog.getCurrent();b.getValueOf("selectTpl","chkInsertOpt")?(c.fire("saveSnapshot"),c.setData(a,function(){b.hide();var a=c.createRange(); +a.moveToElementEditStart(c.editable());a.select();setTimeout(function(){c.fire("saveSnapshot")},0)})):(c.insertHtml(a),b.hide())}function k(a){var b=a.data.getTarget(),c=g.equals(b);if(c||g.contains(b)){var d=a.data.getKeystroke(),f=g.getElementsByTag("a"),e;if(f){if(c)e=f.getItem(0);else switch(d){case 40:e=b.getNext();break;case 38:e=b.getPrevious();break;case 13:case 32:b.fire("click")}e&&(e.focus(),a.data.preventDefault())}}}var h=CKEDITOR.plugins.get("templates");CKEDITOR.document.appendStyleSheet(CKEDITOR.getUrl(h.path+ +"dialogs/templates.css"));var g,h="cke_tpl_list_label_"+CKEDITOR.tools.getNextNumber(),f=c.lang.templates,n=c.config;return{title:c.lang.templates.title,minWidth:CKEDITOR.env.ie?440:400,minHeight:340,contents:[{id:"selectTpl",label:f.title,elements:[{type:"vbox",padding:5,children:[{id:"selectTplText",type:"html",html:"\x3cspan\x3e"+f.selectPromptMsg+"\x3c/span\x3e"},{id:"templatesList",type:"html",focus:!0,html:'\x3cdiv class\x3d"cke_tpl_list" tabIndex\x3d"-1" role\x3d"listbox" aria-labelledby\x3d"'+ +h+'"\x3e\x3cdiv class\x3d"cke_tpl_loading"\x3e\x3cspan\x3e\x3c/span\x3e\x3c/div\x3e\x3c/div\x3e\x3cspan class\x3d"cke_voice_label" id\x3d"'+h+'"\x3e'+f.options+"\x3c/span\x3e"},{id:"chkInsertOpt",type:"checkbox",label:f.insertOption,"default":n.templates_replaceContent}]}]}],buttons:[CKEDITOR.dialog.cancelButton],onShow:function(){var a=this.getContentElement("selectTpl","templatesList");g=a.getElement();CKEDITOR.loadTemplates(n.templates_files,function(){var b=(n.templates||"default").split(","); +if(b.length){var c=g;c.setHtml("");for(var d=0,h=b.length;d<h;d++)for(var e=CKEDITOR.getTemplates(b[d]),k=e.imagesPath,e=e.templates,q=e.length,l=0;l<q;l++){var p=r(e[l],k);p.setAttribute("aria-posinset",l+1);p.setAttribute("aria-setsize",q);c.append(p)}a.focus()}else g.setHtml('\x3cdiv class\x3d"cke_tpl_empty"\x3e\x3cspan\x3e'+f.emptyListMsg+"\x3c/span\x3e\x3c/div\x3e")});this._.element.on("keydown",k)},onHide:function(){this._.element.removeListener("keydown",k)}}})})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/templates/dialogs/templates.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/images/anchor.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/images/anchor.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/images/hidpi/anchor.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/images/hidpi/anchor.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/dialogs/anchor.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/dialogs/anchor.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/dialogs/anchor.js (revision 7) @@ -0,0 +1,8 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.dialog.add("anchor",function(c){function e(b,a){return b.createFakeElement(b.document.createElement("a",{attributes:a}),"cke_anchor","anchor")}return{title:c.lang.link.anchor.title,minWidth:300,minHeight:60,onOk:function(){var b=CKEDITOR.tools.trim(this.getValueOf("info","txtName")),a={id:b,name:b,"data-cke-saved-name":b};this._.selectedElement?this._.selectedElement.data("cke-realelement")?(b=e(c,a),b.replace(this._.selectedElement),CKEDITOR.env.ie&&c.getSelection().selectElement(b)):this._.selectedElement.setAttributes(a): +(b=(b=c.getSelection())&&b.getRanges()[0],b.collapsed?(a=e(c,a),b.insertNode(a)):(CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(a["class"]="cke_anchor"),a=new CKEDITOR.style({element:"a",attributes:a}),a.type=CKEDITOR.STYLE_INLINE,a.applyToRange(b)))},onHide:function(){delete this._.selectedElement},onShow:function(){var b=c.getSelection(),a;a=b.getRanges()[0];var d=b.getSelectedElement();a.shrink(CKEDITOR.SHRINK_ELEMENT);a=(d=a.getEnclosedNode())&&d.type===CKEDITOR.NODE_ELEMENT&&("anchor"===d.data("cke-real-element-type")|| +d.is("a"))?d:void 0;var f=(d=a&&a.data("cke-realelement"))?CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,a):CKEDITOR.plugins.link.getSelectedLink(c);if(f){this._.selectedElement=f;var e=f.data("cke-saved-name");this.setValueOf("info","txtName",e||"");!d&&b.selectElement(f);a&&(this._.selectedElement=a)}this.getContentElement("info","txtName").focus()},contents:[{id:"info",label:c.lang.link.anchor.title,accessKey:"I",elements:[{type:"text",id:"txtName",label:c.lang.link.anchor.name,required:!0,validate:function(){return this.getValue()? +!0:(alert(c.lang.link.anchor.errorName),!1)}}]}]}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/dialogs/anchor.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/dialogs/link.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/dialogs/link.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/dialogs/link.js (revision 7) @@ -0,0 +1,28 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +(function(){CKEDITOR.dialog.add("link",function(c){function t(a,b){var c=a.createRange();c.setStartBefore(b);c.setEndAfter(b);return c}var n=CKEDITOR.plugins.link,q,r=function(){var a=this.getDialog(),b=a.getContentElement("target","popupFeatures"),a=a.getContentElement("target","linkTargetName"),p=this.getValue();if(b&&a)switch(b=b.getElement(),b.hide(),a.setValue(""),p){case "frame":a.setLabel(c.lang.link.targetFrameName);a.getElement().show();break;case "popup":b.show();a.setLabel(c.lang.link.targetPopupName); +a.getElement().show();break;default:a.setValue(p),a.getElement().hide()}},l=function(a){a.target&&this.setValue(a.target[this.id]||"")},e=function(a){a.advanced&&this.setValue(a.advanced[this.id]||"")},k=function(a){a.target||(a.target={});a.target[this.id]=this.getValue()||""},m=function(a){a.advanced||(a.advanced={});a.advanced[this.id]=this.getValue()||""},g=c.lang.common,b=c.lang.link,d;return{title:b.title,minWidth:"moono-lisa"==(CKEDITOR.skinName||c.config.skin)?450:350,minHeight:240,contents:[{id:"info", +label:b.info,title:b.info,elements:[{type:"text",id:"linkDisplayText",label:b.displayText,setup:function(){this.enable();this.setValue(c.getSelection().getSelectedText());q=this.getValue()},commit:function(a){a.linkText=this.isEnabled()?this.getValue():""}},{id:"linkType",type:"select",label:b.type,"default":"url",items:[[b.toUrl,"url"],[b.toAnchor,"anchor"],[b.toEmail,"email"]],onChange:function(){var a=this.getDialog(),b=["urlOptions","anchorOptions","emailOptions"],p=this.getValue(),f=a.definition.getContents("upload"), +f=f&&f.hidden;"url"==p?(c.config.linkShowTargetTab&&a.showPage("target"),f||a.showPage("upload")):(a.hidePage("target"),f||a.hidePage("upload"));for(f=0;f<b.length;f++){var h=a.getContentElement("info",b[f]);h&&(h=h.getElement().getParent().getParent(),b[f]==p+"Options"?h.show():h.hide())}a.layout()},setup:function(a){this.setValue(a.type||"url")},commit:function(a){a.type=this.getValue()}},{type:"vbox",id:"urlOptions",children:[{type:"hbox",widths:["25%","75%"],children:[{id:"protocol",type:"select", +label:g.protocol,"default":"http://",items:[["http://‎","http://"],["https://‎","https://"],["ftp://‎","ftp://"],["news://‎","news://"],[b.other,""]],setup:function(a){a.url&&this.setValue(a.url.protocol||"")},commit:function(a){a.url||(a.url={});a.url.protocol=this.getValue()}},{type:"text",id:"url",label:g.url,required:!0,onLoad:function(){this.allowOnChange=!0},onKeyUp:function(){this.allowOnChange=!1;var a=this.getDialog().getContentElement("info","protocol"),b=this.getValue(),c=/^((javascript:)|[#\/\.\?])/i, +f=/^(http|https|ftp|news):\/\/(?=.)/i.exec(b);f?(this.setValue(b.substr(f[0].length)),a.setValue(f[0].toLowerCase())):c.test(b)&&a.setValue("");this.allowOnChange=!0},onChange:function(){if(this.allowOnChange)this.onKeyUp()},validate:function(){var a=this.getDialog();return a.getContentElement("info","linkType")&&"url"!=a.getValueOf("info","linkType")?!0:!c.config.linkJavaScriptLinksAllowed&&/javascript\:/.test(this.getValue())?(alert(g.invalidValue),!1):this.getDialog().fakeObj?!0:CKEDITOR.dialog.validate.notEmpty(b.noUrl).apply(this)}, +setup:function(a){this.allowOnChange=!1;a.url&&this.setValue(a.url.url);this.allowOnChange=!0},commit:function(a){this.onChange();a.url||(a.url={});a.url.url=this.getValue();this.allowOnChange=!1}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().show()}},{type:"button",id:"browse",hidden:"true",filebrowser:"info:url",label:g.browseServer}]},{type:"vbox",id:"anchorOptions",width:260,align:"center",padding:0,children:[{type:"fieldset",id:"selectAnchorText", +label:b.selectAnchor,setup:function(){d=n.getEditorAnchors(c);this.getElement()[d&&d.length?"show":"hide"]()},children:[{type:"hbox",id:"selectAnchor",children:[{type:"select",id:"anchorName","default":"",label:b.anchorName,style:"width: 100%;",items:[[""]],setup:function(a){this.clear();this.add("");if(d)for(var b=0;b<d.length;b++)d[b].name&&this.add(d[b].name);a.anchor&&this.setValue(a.anchor.name);(a=this.getDialog().getContentElement("info","linkType"))&&"email"==a.getValue()&&this.focus()},commit:function(a){a.anchor|| +(a.anchor={});a.anchor.name=this.getValue()}},{type:"select",id:"anchorId","default":"",label:b.anchorId,style:"width: 100%;",items:[[""]],setup:function(a){this.clear();this.add("");if(d)for(var b=0;b<d.length;b++)d[b].id&&this.add(d[b].id);a.anchor&&this.setValue(a.anchor.id)},commit:function(a){a.anchor||(a.anchor={});a.anchor.id=this.getValue()}}],setup:function(){this.getElement()[d&&d.length?"show":"hide"]()}}]},{type:"html",id:"noAnchors",style:"text-align: center;",html:'\x3cdiv role\x3d"note" tabIndex\x3d"-1"\x3e'+ +CKEDITOR.tools.htmlEncode(b.noAnchors)+"\x3c/div\x3e",focus:!0,setup:function(){this.getElement()[d&&d.length?"hide":"show"]()}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().hide()}},{type:"vbox",id:"emailOptions",padding:1,children:[{type:"text",id:"emailAddress",label:b.emailAddress,required:!0,validate:function(){var a=this.getDialog();return a.getContentElement("info","linkType")&&"email"==a.getValueOf("info","linkType")?CKEDITOR.dialog.validate.notEmpty(b.noEmail).apply(this): +!0},setup:function(a){a.email&&this.setValue(a.email.address);(a=this.getDialog().getContentElement("info","linkType"))&&"email"==a.getValue()&&this.select()},commit:function(a){a.email||(a.email={});a.email.address=this.getValue()}},{type:"text",id:"emailSubject",label:b.emailSubject,setup:function(a){a.email&&this.setValue(a.email.subject)},commit:function(a){a.email||(a.email={});a.email.subject=this.getValue()}},{type:"textarea",id:"emailBody",label:b.emailBody,rows:3,"default":"",setup:function(a){a.email&& +this.setValue(a.email.body)},commit:function(a){a.email||(a.email={});a.email.body=this.getValue()}}],setup:function(){this.getDialog().getContentElement("info","linkType")||this.getElement().hide()}}]},{id:"target",requiredContent:"a[target]",label:b.target,title:b.target,elements:[{type:"hbox",widths:["50%","50%"],children:[{type:"select",id:"linkTargetType",label:g.target,"default":"notSet",style:"width : 100%;",items:[[g.notSet,"notSet"],[b.targetFrame,"frame"],[b.targetPopup,"popup"],[g.targetNew, +"_blank"],[g.targetTop,"_top"],[g.targetSelf,"_self"],[g.targetParent,"_parent"]],onChange:r,setup:function(a){a.target&&this.setValue(a.target.type||"notSet");r.call(this)},commit:function(a){a.target||(a.target={});a.target.type=this.getValue()}},{type:"text",id:"linkTargetName",label:b.targetFrameName,"default":"",setup:function(a){a.target&&this.setValue(a.target.name)},commit:function(a){a.target||(a.target={});a.target.name=this.getValue().replace(/([^\x00-\x7F]|\s)/gi,"")}}]},{type:"vbox", +width:"100%",align:"center",padding:2,id:"popupFeatures",children:[{type:"fieldset",label:b.popupFeatures,children:[{type:"hbox",children:[{type:"checkbox",id:"resizable",label:b.popupResizable,setup:l,commit:k},{type:"checkbox",id:"status",label:b.popupStatusBar,setup:l,commit:k}]},{type:"hbox",children:[{type:"checkbox",id:"location",label:b.popupLocationBar,setup:l,commit:k},{type:"checkbox",id:"toolbar",label:b.popupToolbar,setup:l,commit:k}]},{type:"hbox",children:[{type:"checkbox",id:"menubar", +label:b.popupMenuBar,setup:l,commit:k},{type:"checkbox",id:"fullscreen",label:b.popupFullScreen,setup:l,commit:k}]},{type:"hbox",children:[{type:"checkbox",id:"scrollbars",label:b.popupScrollBars,setup:l,commit:k},{type:"checkbox",id:"dependent",label:b.popupDependent,setup:l,commit:k}]},{type:"hbox",children:[{type:"text",widths:["50%","50%"],labelLayout:"horizontal",label:g.width,id:"width",setup:l,commit:k},{type:"text",labelLayout:"horizontal",widths:["50%","50%"],label:b.popupLeft,id:"left", +setup:l,commit:k}]},{type:"hbox",children:[{type:"text",labelLayout:"horizontal",widths:["50%","50%"],label:g.height,id:"height",setup:l,commit:k},{type:"text",labelLayout:"horizontal",label:b.popupTop,widths:["50%","50%"],id:"top",setup:l,commit:k}]}]}]}]},{id:"upload",label:b.upload,title:b.upload,hidden:!0,filebrowser:"uploadButton",elements:[{type:"file",id:"upload",label:g.upload,style:"height:40px",size:29},{type:"fileButton",id:"uploadButton",label:g.uploadSubmit,filebrowser:"info:url","for":["upload", +"upload"]}]},{id:"advanced",label:b.advanced,title:b.advanced,elements:[{type:"vbox",padding:1,children:[{type:"hbox",widths:["45%","35%","20%"],children:[{type:"text",id:"advId",requiredContent:"a[id]",label:b.id,setup:e,commit:m},{type:"select",id:"advLangDir",requiredContent:"a[dir]",label:b.langDir,"default":"",style:"width:110px",items:[[g.notSet,""],[b.langDirLTR,"ltr"],[b.langDirRTL,"rtl"]],setup:e,commit:m},{type:"text",id:"advAccessKey",requiredContent:"a[accesskey]",width:"80px",label:b.acccessKey, +maxLength:1,setup:e,commit:m}]},{type:"hbox",widths:["45%","35%","20%"],children:[{type:"text",label:b.name,id:"advName",requiredContent:"a[name]",setup:e,commit:m},{type:"text",label:b.langCode,id:"advLangCode",requiredContent:"a[lang]",width:"110px","default":"",setup:e,commit:m},{type:"text",label:b.tabIndex,id:"advTabIndex",requiredContent:"a[tabindex]",width:"80px",maxLength:5,setup:e,commit:m}]}]},{type:"vbox",padding:1,children:[{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b.advisoryTitle, +requiredContent:"a[title]","default":"",id:"advTitle",setup:e,commit:m},{type:"text",label:b.advisoryContentType,requiredContent:"a[type]","default":"",id:"advContentType",setup:e,commit:m}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text",label:b.cssClasses,requiredContent:"a(cke-xyz)","default":"",id:"advCSSClasses",setup:e,commit:m},{type:"text",label:b.charset,requiredContent:"a[charset]","default":"",id:"advCharset",setup:e,commit:m}]},{type:"hbox",widths:["45%","55%"],children:[{type:"text", +label:b.rel,requiredContent:"a[rel]","default":"",id:"advRel",setup:e,commit:m},{type:"text",label:b.styles,requiredContent:"a{cke-xyz}","default":"",id:"advStyles",validate:CKEDITOR.dialog.validate.inlineStyle(c.lang.common.invalidInlineStyle),setup:e,commit:m}]},{type:"hbox",widths:["45%","55%"],children:[{type:"checkbox",id:"download",requiredContent:"a[download]",label:b.download,setup:function(a){void 0!==a.download&&this.setValue("checked","checked")},commit:function(a){this.getValue()&&(a.download= +this.getValue())}}]}]}]}],onShow:function(){var a=this.getParentEditor(),b=a.getSelection(),c=this.getContentElement("info","linkDisplayText").getElement().getParent().getParent(),f=n.getSelectedLink(a,!0),h=f[0]||null;h&&h.hasAttribute("href")&&(b.getSelectedElement()||b.isInTable()||b.selectElement(h));b=n.parseLinkAttributes(a,h);1>=f.length&&n.showDisplayTextForElement(h,a)?c.show():c.hide();this._.selectedElements=f;this.setupContent(b)},onOk:function(){var a={};this.commitContent(a);if(this._.selectedElements.length){var b= +this._.selectedElements,g=n.getLinkAttributes(c,a),f=[],h,d,l,e,k;for(k=0;k<b.length;k++){h=b[k];d=h.data("cke-saved-href");l=h.getHtml();h.setAttributes(g.set);h.removeAttributes(g.removed);if(a.linkText&&q!=a.linkText)e=a.linkText;else if(d==l||"email"==a.type&&-1!=l.indexOf("@"))e="email"==a.type?a.email.address:g.set["data-cke-saved-href"];e&&h.setText(e);f.push(t(c,h))}c.getSelection().selectRanges(f);delete this._.selectedElements}else{b=n.getLinkAttributes(c,a);g=c.getSelection().getRanges(); +f=new CKEDITOR.style({element:"a",attributes:b.set});h=[];f.type=CKEDITOR.STYLE_INLINE;for(l=0;l<g.length;l++){d=g[l];d.collapsed?(e=new CKEDITOR.dom.text(a.linkText||("email"==a.type?a.email.address:b.set["data-cke-saved-href"]),c.document),d.insertNode(e),d.selectNodeContents(e)):q!==a.linkText&&(e=new CKEDITOR.dom.text(a.linkText,c.document),d.shrink(CKEDITOR.SHRINK_TEXT),c.editable().extractHtmlFromRange(d),d.insertNode(e));e=d._find("a");for(k=0;k<e.length;k++)e[k].remove(!0);f.applyToRange(d, +c);h.push(d)}c.getSelection().selectRanges(h)}},onLoad:function(){c.config.linkShowAdvancedTab||this.hidePage("advanced");c.config.linkShowTargetTab||this.hidePage("target")},onFocus:function(){var a=this.getContentElement("info","linkType");a&&"url"==a.getValue()&&(a=this.getContentElement("info","url"),a.select())}}})})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/link/dialogs/link.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/tableselection/styles/tableselection.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/tableselection/styles/tableselection.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/tableselection/styles/tableselection.css (revision 7) @@ -0,0 +1,32 @@ +.cke_table-faked-selection-editor *::selection, table[data-cke-table-faked-selection-table] *::selection { + background: transparent; +} + +.cke_table-faked-selection-editor { + /* With love, dedicated for Chrome, until https://bugs.chromium.org/p/chromium/issues/detail?id=702610 is resolved. + It will force repaint (without reflow) so that selection is properly displayed. */ + transform: translateZ( 0 ); +} + +.cke_table-faked-selection { + background: darkgray !important; + color: black; +} +.cke_table-faked-selection a { + color: black; +} +.cke_editable:focus .cke_table-faked-selection { + /* We have to use !important here, as td might specify it's own background, thus table selection + would not be visible. */ + background: #0076cb !important; + color: white; +} +.cke_editable:focus .cke_table-faked-selection a { + color: white; +} +.cke_table-faked-selection::-moz-selection, .cke_table-faked-selection ::-moz-selection { + background: transparent; +} +.cke_table-faked-selection::selection, .cke_table-faked-selection ::selection { + background: transparent; +} Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/plugins/tableselection/styles/tableselection.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/CHANGES.md =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/CHANGES.md (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/CHANGES.md (revision 7) @@ -0,0 +1,1483 @@ +CKEditor 4 Changelog +==================== + +## CKEditor 4.9.2 + +**Security Updates:** + +* Fixed XSS vulnerability in the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) (`image2`) plugin reported by [Kyaw Min Thein](https://twitter.com/kyawminthein99). + + Issue summary: It was possible to execute XSS inside CKEditor using the `<img>` tag and specially crafted HTML. Please note that the default presets (Basic/Standard/Full) do not include this plugin, so you are only at risk if you made a custom build and enabled this plugin. + +## CKEditor 4.9.1 + +Fixed Issues: + +* [#1835](https://github.com/ckeditor/ckeditor-dev/issues/1835): Fixed: Integration between [CKFinder](https://ckeditor.com/ckeditor-4/ckfinder/) and the [File Browser](https://ckeditor.com/cke4/addon/filebrowser) plugin does not work. + +## CKEditor 4.9 + +New Features: + +* [#932](https://github.com/ckeditor/ckeditor-dev/issues/932): Introduced Easy Image feature for inserting images that are automatically rescaled, optimized, responsive and delivered through a blazing-fast CDN. Three new plugins were added to support it: + * [Easy Image](https://ckeditor.com/cke4/addon/easyimage), + * [Cloud Services](https://ckeditor.com/cke4/addon/cloudservices) + * [Image Base](https://ckeditor.com/cke4/addon/imagebase) +* [#1338](https://github.com/ckeditor/ckeditor-dev/issues/1338): Keystroke labels are displayed for function keys (like F7, F8). +* [#643](https://github.com/ckeditor/ckeditor-dev/issues/643): The [File Browser](https://ckeditor.com/cke4/addon/filebrowser) plugin can now upload files using XHR requests. This allows for setting custom HTTP headers using the [`config.fileTools_requestHeaders`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-fileTools_requestHeaders) configuration option. +* [#1365](https://github.com/ckeditor/ckeditor-dev/issues/1365): The [File Browser](https://ckeditor.com/cke4/addon/filebrowser) plugin uses XHR requests by default. +* [#1399](https://github.com/ckeditor/ckeditor-dev/issues/1399): Added the possibility to set [`CKEDITOR.config.startupFocus`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-startupFocus) as `start` or `end` to specify where the editor focus should be after the initialization. +* [#1441](https://github.com/ckeditor/ckeditor-dev/issues/1441): The [Magic Line](https://ckeditor.com/cke4/addon/magicline) plugin line element can now be identified by the `data-cke-magic-line="1"` attribute. + +Fixed Issues: + +* [#595](https://github.com/ckeditor/ckeditor-dev/issues/595): Fixed: Pasting does not work on mobile devices. +* [#869](https://github.com/ckeditor/ckeditor-dev/issues/869): Fixed: Empty selection clears cached clipboard data in the editor. +* [#1419](https://github.com/ckeditor/ckeditor-dev/issues/1419): Fixed: The [Widget Selection](https://ckeditor.com/cke4/addon/widgetselection) plugin selects the editor content with the <kbd>Alt+A</kbd> key combination on Windows. +* [#1274](https://github.com/ckeditor/ckeditor-dev/issues/1274): Fixed: [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) does not match a single selected image using the [`contextDefinition.cssSelector`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.balloontoolbar.contextDefinition-property-cssSelector) matcher. +* [#1232](https://github.com/ckeditor/ckeditor-dev/issues/1232): Fixed: [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) buttons should be registered as focusable elements. +* [#1342](https://github.com/ckeditor/ckeditor-dev/issues/1342): Fixed: [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) should be re-positioned after the [`change`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-change) event. +* [#1426](https://github.com/ckeditor/ckeditor-dev/issues/1426): [IE8-9] Fixed: Missing [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) background in the [Kama](https://ckeditor.com/cke4/addon/kama) skin. Thanks to [Christian Elmer](https://github.com/keinkurt)! +* [#1470](https://github.com/ckeditor/ckeditor-dev/issues/1470): Fixed: [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) is not visible after drag and drop of a widget it is attached to. +* [#1048](https://github.com/ckeditor/ckeditor-dev/issues/1048): Fixed: [Balloon Panel](https://ckeditor.com/cke4/addon/balloonpanel) is not positioned properly when a margin is added to its non-static parent. +* [#889](https://github.com/ckeditor/ckeditor-dev/issues/889): Fixed: Unclear error message for width and height fields in the [Image](https://ckeditor.com/cke4/addon/image) and [Enhanced Image](https://ckeditor.com/cke4/addon/image2) plugins. +* [#859](https://github.com/ckeditor/ckeditor-dev/issues/859): Fixed: Cannot edit a link after a double-click on the text in the link. +* [#1013](https://github.com/ckeditor/ckeditor-dev/issues/1013): Fixed: [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) does not work correctly with the [`config.forcePasteAsPlainText`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-forcePasteAsPlainText) option. +* [#1356](https://github.com/ckeditor/ckeditor-dev/issues/1356): Fixed: [Border parse function](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.tools.style.parse-method-border) does not allow spaces in the color value. +* [#1010](https://github.com/ckeditor/ckeditor-dev/issues/1010): Fixed: The CSS `border` shorthand property was incorrectly expanded ignoring the `border-color` style. +* [#1535](https://github.com/ckeditor/ckeditor-dev/issues/1535): Fixed: [Widget](https://ckeditor.com/cke4/addon/widget) mouseover border contrast is insufficient. +* [#1516](https://github.com/ckeditor/ckeditor-dev/issues/1516): Fixed: Fake selection allows removing content in read-only mode using the <kbd>Backspace</kbd> and <kbd>Delete</kbd> keys. +* [#1570](https://github.com/ckeditor/ckeditor-dev/issues/1570): Fixed: Fake selection allows cutting content in read-only mode using the <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>X</kbd> keys. +* [#1363](https://github.com/ckeditor/ckeditor-dev/issues/1363): Fixed: Paste notification is unclear and it might confuse users. + +API Changes: + +* [#1346](https://github.com/ckeditor/ckeditor-dev/issues/1346): [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) [context manager API](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.balloontoolbar.contextManager) is now available in the [`pluginDefinition.init`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.pluginDefinition-method-init) method of the [requiring](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.pluginDefinition-property-requires) plugin. +* [#1530](https://github.com/ckeditor/ckeditor-dev/issues/1530): Added the possibility to use custom icons for [buttons](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR_ui_button.html). + +Other Changes: + +* Updated [SCAYT](https://ckeditor.com/cke4/addon/scayt) (Spell Check As You Type) and [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) (WSC) plugins: + * SCAYT [`scayt_minWordLength`](https://docs.ckeditor.com/ckeditor4/latest/api/CKEDITOR_config.html#scayt_minWordLength) configuration option now defaults to 3 instead of 4. + * SCAYT default number of suggested words in the context menu changed to 3. + * [#90](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/90): Fixed: Selection is lost on link creation if SCAYT highlights the word. + * Fixed: SCAYT crashes when the browser `localStorage` is disabled. + * [IE11] Fixed: `Unable to get property type of undefined or null reference` error in the browser console when SCAYT is disabled/enabled. + * [#46](https://github.com/WebSpellChecker/ckeditor-plugin-wsc/issues/46): Fixed: Editing is blocked when remote spell checker server is offline. + * Fixed: User Dictionary cannot be created in WSC due to `You already have the dictionary` error. + * Fixed: Words with apostrophe `'` on the replacement make the WSC dialog inaccessible. + * Fixed: SCAYT/WSC causes the `Uncaught TypeError` error in the browser console. +* [#1337](https://github.com/ckeditor/ckeditor-dev/issues/1337): Updated the samples layout with the new CKEditor 4 logo and color scheme. +* [#1591](https://github.com/ckeditor/ckeditor-dev/issues/1591): CKBuilder and language tools are now downloaded over HTTPS. Thanks to [August Detlefsen](https://github.com/augustd)! + +## CKEditor 4.8 + +**Important Notes:** + +* [#1249](https://github.com/ckeditor/ckeditor-dev/issues/1249): Enabled the [Upload Image](https://ckeditor.com/cke4/addon/uploadimage) plugin by default in standard and full presets. Also, it will no longer log an error in case of missing [`config.imageUploadUrl`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-imageUploadUrl) property. + +New Features: + +* [#933](https://github.com/ckeditor/ckeditor-dev/issues/933): Introduced [Balloon Toolbar](https://ckeditor.com/cke4/addon/balloontoolbar) plugin. +* [#662](https://github.com/ckeditor/ckeditor-dev/issues/662): Introduced image inlining for the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#468](https://github.com/ckeditor/ckeditor-dev/issues/468): [Edge] Introduced support for the Clipboard API. +* [#607](https://github.com/ckeditor/ckeditor-dev/issues/607): Manually inserted Hex color is prefixed with a hash character (`#`) if needed. It ensures a valid Hex color value is used when setting the table cell border or background color with the [Color Dialog](https://ckeditor.com/cke4/addon/colordialog) window. +* [#584](https://github.com/ckeditor/ckeditor-dev/issues/584): [Font size and Family](https://ckeditor.com/cke4/addon/font) and [Format](https://ckeditor.com/cke4/addon/format) drop-downs are not toggleable anymore. Default option to reset styles added. +* [#856](https://github.com/ckeditor/ckeditor-dev/issues/856): Introduced the [`CKEDITOR.tools.keystrokeToArray`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.tools-method-keystrokeToArray) method. It converts a keystroke into its string representation, returning every key name as a separate array element. +* [#1053](https://github.com/ckeditor/ckeditor-dev/issues/1053): Introduced the [`CKEDITOR.tools.object.merge`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.tools.object-method-merge) method. It allows to merge two objects, returning the new object with all properties from both objects deeply cloned. +* [#1073](https://github.com/ckeditor/ckeditor-dev/issues/1073): Introduced the [`CKEDITOR.tools.array.every`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.tools.array-method-every) method. It invokes a given test function on every array element and returns `true` if all elements pass the test. + +Fixed Issues: + +* [#796](https://github.com/ckeditor/ckeditor-dev/issues/796): Fixed: A list is pasted from OneNote in the reversed order. +* [#834](https://github.com/ckeditor/ckeditor-dev/issues/834): [IE9-11] Fixed: The editor does not save the selected state of radio buttons inserted by the [Form Elements](https://ckeditor.com/cke4/addon/forms) plugin. +* [#704](https://github.com/ckeditor/ckeditor-dev/issues/704): [Edge] Fixed: Using <kbd>Ctrl</kbd>/<kbd>Cmd</kbd> + <kbd>Z</kbd> breaks widget structure. +* [#591](https://github.com/ckeditor/ckeditor-dev/issues/591): Fixed: A column is inserted in a wrong order inside the table if any cell has a vertical split. +* [#787](https://github.com/ckeditor/ckeditor-dev/issues/787): Fixed: Using Cut inside a nested table does not cut the selected content. +* [#842](https://github.com/ckeditor/ckeditor-dev/issues/842): Fixed: List style not restored when toggling list indent level in the [Indent List](https://ckeditor.com/cke4/addon/indentlist) plugin. +* [#711](https://github.com/ckeditor/ckeditor-dev/issues/711): Fixed: Dragging widgets should only work with the left mouse button. +* [#862](https://github.com/ckeditor/ckeditor-dev/issues/862): Fixed: The "Object Styles" group in the [Styles Combo](https://ckeditor.com/cke4/addon/stylescombo) plugin is visible only if the whole element is selected. +* [#994](https://github.com/ckeditor/ckeditor-dev/pull/994): Fixed: Typo in the [`CKEDITOR.focusManager.focus`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.focusManager-method-focus) API documentation. Thanks to [benjy](https://github.com/benjy)! +* [#1014](https://github.com/ckeditor/ckeditor-dev/issues/1014): Fixed: The [Table Tools](https://ckeditor.com/cke4/addon/tabletools) Cell Properties dialog is now [Advanced Content Filter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_acf) aware &mdash; it is not possible to change the cell width or height if corresponding styles are disabled. +* [#877](https://github.com/ckeditor/ckeditor-dev/issues/877): Fixed: A list with custom bullets with exotic characters crashes the editor when [pasted from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#605](https://github.com/ckeditor/ckeditor-dev/issues/605): Fixed: Inline widgets do not preserve trailing spaces. +* [#1008](https://github.com/ckeditor/ckeditor-dev/issues/1008): Fixed: Shorthand Hex colors from the [`config.colorButton_colors`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-colorButton_colors) option are not correctly highlighted in the [Color Button](https://ckeditor.com/cke4/addon/colorbutton) Text Color or Background Color panel. +* [#1094](https://github.com/ckeditor/ckeditor-dev/issues/1094): Fixed: Widget definition [`upcast`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget.definition-property-upcasts) methods are called for every element. +* [#1057](https://github.com/ckeditor/ckeditor-dev/issues/1057): Fixed: The [Notification](https://ckeditor.com/addon/notification) plugin overwrites Web Notifications API due to leakage to the global scope. +* [#1068](https://github.com/ckeditor/ckeditor-dev/issues/1068): Fixed: Upload widget paste listener ignores changes to the [`uploadWidgetDefinition`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.fileTools.uploadWidgetDefinition). +* [#921](https://github.com/ckeditor/ckeditor-dev/issues/921): Fixed: [Edge] CKEditor erroneously perceives internal copy and paste as type "external". +* [#1213](https://github.com/ckeditor/ckeditor-dev/issues/1213): Fixed: Multiple images uploaded using [Upload Image](https://ckeditor.com/cke4/addon/uploadimage) plugin are randomly duplicated or mangled. +* [#532](https://github.com/ckeditor/ckeditor-dev/issues/532): Fixed: Removed an outdated user guide link from the [About](https://ckeditor.com/cke4/addon/about) dialog. +* [#1221](https://github.com/ckeditor/ckeditor-dev/issues/1221): Fixed: Invalid CSS loaded by [Balloon Panel](https://ckeditor.com/cke4/addon/balloonpanel) plugin when [`config.skin`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-skin) is loaded using a custom path. +* [#522](https://github.com/ckeditor/ckeditor-dev/issues/522): Fixed: Widget selection is not removed when widget is inside table cell with [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin enabled. +* [#1027](https://github.com/ckeditor/ckeditor-dev/issues/1027): Fixed: Cannot add multiple images to the table with [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin in certain situations. +* [#1069](https://github.com/ckeditor/ckeditor-dev/issues/1069): Fixed: Wrong shape processing by [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#995](https://github.com/ckeditor/ckeditor-dev/issues/995): Fixed: Hyperlinked image gets inserted twice by [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#1287](https://github.com/ckeditor/ckeditor-dev/issues/1287): Fixed: [Widget](https://ckeditor.com/cke4/addon/widget) plugin throws exception if included in editor build but not loaded into editor's instance. + +API Changes: + +* [#1097](https://github.com/ckeditor/ckeditor-dev/issues/1097): Widget [`upcast`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget.definition-property-upcast) methods are now called in the [widget definition's](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget-property-definition) context. +* [#1118](https://github.com/ckeditor/ckeditor-dev/issues/1118): Added the `show` option in the [`balloonPanel.attach`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.ui.balloonPanel-method-attach) method, allowing to attach a hidden [Balloon Panel](https://ckeditor.com/cke4/addon/balloonpanel) instance. +* [#1145](https://github.com/ckeditor/ckeditor-dev/issues/1145): Added the [`skipNotifications`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.fileTools.uploadWidgetDefinition-property-skipNotifications) option to the [`CKEDITOR.fileTools.uploadWidgetDefinition`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.fileTools.uploadWidgetDefinition), allowing to switch off default notifications displayed by upload widgets. + +Other Changes: + +* [#815](https://github.com/ckeditor/ckeditor-dev/issues/815): Removed Node.js dependency from the CKEditor build script. +* [#1041](https://github.com/ckeditor/ckeditor-dev/pull/1041), [#1131](https://github.com/ckeditor/ckeditor-dev/issues/1131): Updated URLs pointing to [CKSource](https://cksource.com/) and [CKEditor](https://ckeditor.com/) resources after the launch of new websites. + +## CKEditor 4.7.3 + +New Features: + +* [#568](https://github.com/ckeditor/ckeditor-dev/issues/568): Added possibility to adjust nested editables' filters using the [`CKEDITOR.filter.disallowedContent`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.filter-property-disallowedContent) property. + +Fixed Issues: + +* [#554](https://github.com/ckeditor/ckeditor-dev/issues/554): Fixed: [`change`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-change) event not fired when typing the first character after pasting into the editor. Thanks to [Daniel Miller](https://github.com/millerdev)! +* [#566](https://github.com/ckeditor/ckeditor-dev/issues/566): Fixed: The CSS `border` shorthand property with zero width (`border: 0px solid #000;`) causes the table to have the border attribute set to 1. +* [#779](https://github.com/ckeditor/ckeditor-dev/issues/779): Fixed: The [Remove Format](https://ckeditor.com/cke4/addon/removeformat) plugin removes elements with language definition inserted by the [Language](https://ckeditor.com/cke4/addon/language) plugin. +* [#423](https://github.com/ckeditor/ckeditor-dev/issues/423): Fixed: The [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin pastes paragraphs into the editor even if [`CKEDITOR.config.enterMode`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-enterMode) is set to `CKEDITOR.ENTER_BR`. +* [#719](https://github.com/ckeditor/ckeditor-dev/issues/719): Fixed: Image inserted using the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) plugin can be resized when the editor is in [read-only mode](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_readonly). +* [#577](https://github.com/ckeditor/ckeditor-dev/issues/577): Fixed: The "Delete Columns" command provided by the [Table Tools](https://ckeditor.com/cke4/addon/tabletools) plugin throws an error when trying to delete columns. +* [#867](https://github.com/ckeditor/ckeditor-dev/issues/867): Fixed: Typing into a selected table throws an error. +* [#817](https://github.com/ckeditor/ckeditor-dev/issues/817): Fixed: The [Save](https://ckeditor.com/cke4/addon/save) plugin does not work in [Source Mode](https://ckeditor.com/cke4/addon/sourcearea). + +Other Changes: + +* Updated the [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) plugin: + * [#40](https://github.com/WebSpellChecker/ckeditor-plugin-wsc/issues/40): Fixed: IE10 throws an error when spell checking is started. +* [#800](https://github.com/ckeditor/ckeditor-dev/issues/800): Added the [`CKEDITOR.dom.selection.isCollapsed`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.selection-method-isCollapsed) method which is a simpler way to check if the selection is collapsed. +* [#830](https://github.com/ckeditor/ckeditor-dev/issues/830): Added an option to define which dialog tab should be shown by default when creating [`CKEDITOR.dialogCommand`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dialogCommand). + +## CKEditor 4.7.2 + +New Features: + +* [#455](https://github.com/ckeditor/ckeditor-dev/issues/455): Added [Advanced Content Filter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_acf) integration with the [Justify](https://ckeditor.com/cke4/addon/justify) plugin. + +Fixed Issues: + +* [#663](https://github.com/ckeditor/ckeditor-dev/issues/663): [Chrome] Fixed: Clicking the scrollbar throws an `Uncaught TypeError: element.is is not a function` error. +* [#694](https://github.com/ckeditor/ckeditor-dev/pull/694): Refactoring in the [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin: + * [#520](https://github.com/ckeditor/ckeditor-dev/issues/520): Fixed: Widgets cannot be properly pasted into a table cell. + * [#460](https://github.com/ckeditor/ckeditor-dev/issues/460): Fixed: Editor gone after pasting into an editor within a table. +* [#579](https://github.com/ckeditor/ckeditor-dev/issues/579): Fixed: Internal `cke_table-faked-selection-table` class is visible in the Stylesheet Classes field of the [Table Properties](https://ckeditor.com/cke4/addon/table) dialog. +* [#545](https://github.com/ckeditor/ckeditor-dev/issues/545): [Edge] Fixed: Error thrown when pressing the [Select All](https://ckeditor.com/cke4/addon/selectall) button in [Source Mode](https://ckeditor.com/cke4/addon/sourcearea). +* [#582](https://github.com/ckeditor/ckeditor-dev/issues/582): Fixed: Double slash in the path to stylesheet needed by the [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin. Thanks to [Marius Dumitru Florea](https://github.com/mflorea)! +* [#491](https://github.com/ckeditor/ckeditor-dev/issues/491): Fixed: Unnecessary dependency on the [Editor Toolbar](https://ckeditor.com/cke4/addon/toolbar) plugin inside the [Notification](https://ckeditor.com/cke4/addon/notification) plugin. +* [#646](https://github.com/ckeditor/ckeditor-dev/issues/646): Fixed: Error thrown into the browser console after opening the [Styles Combo](https://ckeditor.com/cke4/addon/stylescombo) plugin menu in the editor without any selection. +* [#501](https://github.com/ckeditor/ckeditor-dev/issues/501): Fixed: Double click does not open the dialog for modifying anchors inserted via the [Link](https://ckeditor.com/cke4/addon/link) plugin. +* [#9780](https://dev.ckeditor.com/ticket/9780): [IE8-9] Fixed: Clicking inside an empty [read-only](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-property-readOnly) editor throws an error. +* [#16820](https://dev.ckeditor.com/ticket/16820): [IE10] Fixed: Clicking below a single horizontal rule throws an error. +* [#426](https://github.com/ckeditor/ckeditor-dev/issues/426): Fixed: The [`range.cloneContents`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.range-method-cloneContents) method selects the whole element when the selection starts at the beginning of that element. +* [#644](https://github.com/ckeditor/ckeditor-dev/issues/644): Fixed: The [`range.extractContents`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.range-method-extractContents) method returns an incorrect result when multiple nodes are selected. +* [#684](https://github.com/ckeditor/ckeditor-dev/issues/684): Fixed: The [`elementPath.contains`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.elementPath-method-contains) method incorrectly excludes the last element instead of root when the `fromTop` parameter is set to `true`. + +Other Changes: + +* Updated the [SCAYT](https://ckeditor.com/cke4/addon/scayt) (Spell Check As You Type) plugin: + * [#148](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/148): Fixed: SCAYT leaves underlined word after the CKEditor Replace dialog corrects it. +* [#751](https://github.com/ckeditor/ckeditor-dev/issues/751): Added the [`CKEDITOR.dom.nodeList.toArray`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.nodeList-method-toArray) method which returns an array representation of a [node list](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.nodeList). + +## CKEditor 4.7.1 + +New Features: + +* Added a new Mexican Spanish localization. Thanks to [David Alexandro Rodriguez](https://www.transifex.com/user/profile/darsco16/)! +* [#413](https://github.com/ckeditor/ckeditor-dev/issues/413): Added Paste as Plain Text keyboard shortcut to the [Accessibility Help](https://ckeditor.com/cke4/addon/a11yhelp) instructions. + +Fixed Issues: + +* [#515](https://github.com/ckeditor/ckeditor-dev/issues/515): [Chrome] Fixed: Mouse actions on CKEditor scrollbar throw an exception when the [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin is loaded. +* [#493](https://github.com/ckeditor/ckeditor-dev/issues/493): Fixed: Selection started from a nested table causes an error in the browser while scrolling down. +* [#415](https://github.com/ckeditor/ckeditor-dev/issues/415): [Firefox] Fixed: <kbd>Enter</kbd> key breaks the table structure when pressed in a table selection. +* [#457](https://github.com/ckeditor/ckeditor-dev/issues/457): Fixed: Error thrown when deleting content from the editor with no selection. +* [#478](https://github.com/ckeditor/ckeditor-dev/issues/478): [Chrome] Fixed: Error thrown by the [Enter Key](https://ckeditor.com/cke4/addon/enterkey) plugin when pressing <kbd>Enter</kbd> with no selection. +* [#424](https://github.com/ckeditor/ckeditor-dev/issues/424): Fixed: Error thrown by [Tab Key Handling](https://ckeditor.com/cke4/addon/tab) and [Indent List](https://ckeditor.com/cke4/addon/indentlist) plugins when pressing <kbd>Tab</kbd> with no selection in inline editor. +* [#476](https://github.com/ckeditor/ckeditor-dev/issues/476): Fixed: Anchors inserted with the [Link](https://ckeditor.com/cke4/addon/link) plugin on collapsed selection cannot be edited. +* [#417](https://github.com/ckeditor/ckeditor-dev/issues/417): Fixed: The [Table Resize](https://ckeditor.com/cke4/addon/tableresize) plugin throws an error when used with a table with only header or footer rows. +* [#523](https://github.com/ckeditor/ckeditor-dev/issues/523): Fixed: The [`editor.getCommandKeystroke`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-getCommandKeystroke) method does not obtain the correct keystroke. +* [#534](https://github.com/ckeditor/ckeditor-dev/issues/534): [IE] Fixed: [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) does not work in Quirks Mode. +* [#450](https://github.com/ckeditor/ckeditor-dev/issues/450): Fixed: [`CKEDITOR.filter`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.filter) incorrectly transforms the `margin` CSS property. + +## CKEditor 4.7 + +**Important Notes:** + +* [#13793](https://dev.ckeditor.com/ticket/13793): The [`embed_provider`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-embed_provider) configuration option for the [Media Embed](https://ckeditor.com/cke4/addon/embed) and [Semantic Media Embed](https://ckeditor.com/cke4/addon/embedsemantic) plugins is no longer preset by default. +* The [UI Color](https://ckeditor.com/cke4/addon/uicolor) plugin now uses a custom color picker instead of the `YUI 2.7.0` library which has some known vulnerabilities (it's a security precaution, there was no security issue in CKEditor due to the way it was used). + +New Features: + +* [#16755](https://dev.ckeditor.com/ticket/16755): Added the [Table Selection](https://ckeditor.com/cke4/addon/tableselection) plugin that lets you select and manipulate an arbitrary rectangular table fragment (a few cells, a row or a column). +* [#16961](https://dev.ckeditor.com/ticket/16961): Added support for pasting from Microsoft Excel. +* [#13381](https://dev.ckeditor.com/ticket/13381): Dynamic code evaluation call in [`CKEDITOR.template`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.template) removed. CKEditor can now be used without the `unsafe-eval` Content Security Policy. Thanks to [Caridy Patiño](http://caridy.name)! +* [#16971](https://dev.ckeditor.com/ticket/16971): Added support for color in the `background` property containing also other styles for table cells in the [Table Tools](https://ckeditor.com/cke4/addon/tabletools) plugin. +* [#16847](https://dev.ckeditor.com/ticket/16847): Added support for parsing and inlining any formatting created using the Microsoft Word style system to the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#16818](https://dev.ckeditor.com/ticket/16818): Added table cell height parsing in the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#16850](https://dev.ckeditor.com/ticket/16850): Added a new [`config.enableContextMenu`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-enableContextMenu) configuration option for enabling and disabling the [context menu](https://ckeditor.com/cke4/addon/contextmenu). +* [#16937](https://dev.ckeditor.com/ticket/16937): The `command` parameter in [CKEDITOR.editor.getCommandKeystroke](http://docs.ckeditor.dev/#!/api/CKEDITOR.editor-method-getCommandKeystroke) now also accepts a command name as an argument. +* [#17010](https://dev.ckeditor.com/ticket/17010): The [`CKEDITOR.dom.range.shrink`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.range-method-shrink) method now allows for skipping bogus `<br>` elements. + +Fixed Issues: + +* [#16935](https://dev.ckeditor.com/ticket/16935): [Chrome] Fixed: Blurring the editor in [Source Mode](https://ckeditor.com/cke4/addon/sourcearea) throws an error. +* [#16825](https://dev.ckeditor.com/ticket/16825): [Chrome] Fixed: Error thrown when destroying a focused inline editor. +* [#16857](https://dev.ckeditor.com/ticket/16857): Fixed: <kbd>Ctrl+Shift+V</kbd> blocked by [Copy Formatting](https://ckeditor.com/cke4/addon/copyformatting). +* [#16845](https://dev.ckeditor.com/ticket/16845): [IE] Fixed: Cursor jumps to the top of the scrolled editor after focusing it when the [Copy Formatting](https://ckeditor.com/cke4/addon/copyformatting) plugin is enabled. +* [#16786](https://dev.ckeditor.com/ticket/16786): Fixed: Added missing translations for the [Copy Formatting](https://ckeditor.com/cke4/addon/copyformatting) plugin. +* [#14714](https://dev.ckeditor.com/ticket/14714): [WebKit/Blink] Fixed: Exception thrown on refocusing a blurred inline editor. +* [#16913](https://dev.ckeditor.com/ticket/16913): [Firefox, IE] Fixed: [Paste as Plain Text](https://ckeditor.com/cke4/addon/pastetext) keystroke does not work. +* [#16968](https://dev.ckeditor.com/ticket/16968): Fixed: [Safari] [Paste as Plain Text](https://ckeditor.com/cke4/addon/pastetext) is not handled by the editor. +* [#16912](https://dev.ckeditor.com/ticket/16912): Fixed: Exception thrown when a single image is pasted using [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#16821](https://dev.ckeditor.com/ticket/16821): Fixed: Extraneous `<span>` elements with `height` style stacked when [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#16866](https://dev.ckeditor.com/ticket/16866): [IE, Edge] Fixed: Whitespaces not preserved when [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#16860](https://dev.ckeditor.com/ticket/16860): Fixed: Paragraphs which only look like lists incorrectly transformed into them when [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#16817](https://dev.ckeditor.com/ticket/16817): Fixed: When [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword), paragraphs are transformed into lists with some corrupted data. +* [#16833](https://dev.ckeditor.com/ticket/16833): [IE11] Fixed: Malformed list with headers [pasted from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#16826](https://dev.ckeditor.com/ticket/16826): [IE] Fixed: Superfluous paragraphs within lists [pasted from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#12465](https://dev.ckeditor.com/ticket/12465): Fixed: Cannot change the state of checkboxes or radio buttons if the properties dialog was invoked with a double-click. +* [#13062](https://dev.ckeditor.com/ticket/13062): Fixed: Impossible to unlink when the caret is at the edge of the link. +* [#13585](https://dev.ckeditor.com/ticket/13585): Fixed: Error when wrapping two adjacent `<div>` elements with a `<div>`. +* [#16811](https://dev.ckeditor.com/ticket/16811): Fixed: Table alignment is not preserved by the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#16810](https://dev.ckeditor.com/ticket/16810): Fixed: Vertical align in tables is not supported by the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin. +* [#11956](https://dev.ckeditor.com/ticket/11956): [Blink, IE] Fixed: [Link](https://ckeditor.com/cke4/addon/link) dialog does not open on a double click on the second word of the link with a background color or other styles. +* [#10472](https://dev.ckeditor.com/ticket/10472): Fixed: Unable to use [Table Resize](https://ckeditor.com/cke4/addon/tableresize) on table header and footer. +* [#14762](https://dev.ckeditor.com/ticket/14762): Fixed: Hovering over an empty table (without rows or cells) throws an error when the [Table Resize](https://ckeditor.com/cke4/addon/tableresize) plugin is active. +* [#16777](https://dev.ckeditor.com/ticket/16777): [Edge] Fixed: The [Clipboard](https://ckeditor.com/cke4/addon/clipboard) plugin does not allow to drop widgets into the editor. +* [#14894](https://dev.ckeditor.com/ticket/14894): [Chrome] Fixed: The editor scrolls to the top after focusing or when a dialog is opened. +* [#14769](https://dev.ckeditor.com/ticket/14769): Fixed: URLs with '-' in host are not detected by the [Auto Link](https://ckeditor.com/cke4/addon/autolink) plugin. +* [#16804](https://dev.ckeditor.com/ticket/16804): Fixed: Focus is not on the first menu item when the user opens a context menu or a drop-down list from the editor toolbar. +* [#14407](https://dev.ckeditor.com/ticket/14407): [IE] Fixed: Non-editable widgets can be edited. +* [#16927](https://dev.ckeditor.com/ticket/16927): Fixed: An error thrown if a bundle containing the [Color Button](https://ckeditor.com/cke4/addon/colorbutton) plugin is run in ES5 strict mode. Thanks to [Igor Rubinovich](https://github.com/IgorRubinovich)! +* [#16920](https://dev.ckeditor.com/ticket/16920): Fixed: Several plugins not using the [Dialog](https://ckeditor.com/cke4/addon/dialog) plugin as a direct dependency. +* [PR#336](https://github.com/ckeditor/ckeditor-dev/pull/336): Fixed: Typo in [`CKEDITOR.getCss`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR-method-getCss) API documentation. Thanks to [knusperpixel](https://github.com/knusperpixel)! +* [#17027](https://dev.ckeditor.com/ticket/17027): Fixed: Command event data should be initialized as an empty object. +* Fixed the behavior of HTML parser when parsing `src`/`srcdoc` attributes of the `<iframe>` element in a CKEditor setup with ACF turned off and without the [Iframe Dialog](https://ckeditor.com/cke4/addon/iframe) plugin. The issue was originally reported as a security issue by [Sriramk21](https://twitter.com/sriramk21) from Pegasystems and was later downgraded by the security team into a normal issue due to the requirement of having ACF turned off. Disabling [Advanced Content Filter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_advanced_content_filter) is against [security best practices](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_best_practices-section-security), so the problem described above has not been considered a security issue as such. + +Other Changes: + +* Updated [SCAYT](https://ckeditor.com/cke4/addon/scayt) (Spell Check As You Type) and [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) plugins: + * Fixed: DOM Exception after clicking "Remove Language" on a selected word with enabled [Language](https://ckeditor.com/cke4/addon/language) plugin in SCAYT. +* [#16958](https://dev.ckeditor.com/ticket/16958): Switched the default MathJax CDN provider for the [Mathematical Formulas](https://ckeditor.com/cke4/addon/mathjax) plugin from `cdn.mathjax.org` to [cdnjs](https://cdnjs.com/), due to closing of `cdn.mathjax.org` scheduled for April 30, 2017. +* [#16954](https://dev.ckeditor.com/ticket/16954): Removed the paste dialog. +* [#16982](https://dev.ckeditor.com/ticket/16982): Latest Safari now supports enhanced Clipboard API introduced in CKEditor 4.5.0. +* [#17025](https://dev.ckeditor.com/ticket/17025): Updated [Bender.js](https://github.com/benderjs/benderjs) to 0.4.2. + +## CKEditor 4.6.2 + +New Features: + +* [#16733](https://dev.ckeditor.com/ticket/16733): Added a new pastel color palette for the [Color Button](https://ckeditor.com/cke4/addon/colorbutton) plugin and a new [`config.colorButton_colorsPerRow`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-colorButton_colorsPerRow) configuration option for setting the number of rows in the color selector. +* [#16752](https://dev.ckeditor.com/ticket/16752): Added a new Azerbaijani localization. Thanks to the [Azerbaijani language team](https://www.transifex.com/ckeditor/teams/11143/az/)! +* [#13818](https://dev.ckeditor.com/ticket/13818): It is now possible to group [Widget](https://ckeditor.com/cke4/addon/widget) [style definitions](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_styles-section-widget-styles), so applying one style disables the other. + +Fixed Issues: + +* [#13446](https://dev.ckeditor.com/ticket/13446): [Chrome] Fixed: It is possible to type in an unfocused inline editor. +* [#14856](https://dev.ckeditor.com/ticket/14856): Fixed: [Font size and font family](https://ckeditor.com/cke4/addon/font) reset each other when modified at certain positions. +* [#16745](https://dev.ckeditor.com/ticket/16745): [Edge] Fixed: List items are lost when [pasted from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#16682](https://dev.ckeditor.com/ticket/16682): [Edge] Fixed: A list gets [pasted from Word](https://ckeditor.com/cke4/addon/pastefromword) as a set of paragraphs. Added the [`config.pasteFromWord_heuristicsEdgeList`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-pasteFromWord_heuristicsEdgeList) configuration option. +* [#10373](https://dev.ckeditor.com/ticket/10373): Fixed: Context menu items can be dragged into the editor. +* [#16728](https://dev.ckeditor.com/ticket/16728): [IE] Fixed: [Copy Formatting](https://ckeditor.com/cke4/addon/copyformatting) breaks the editor in Quirks Mode. +* [#16795](https://dev.ckeditor.com/ticket/16795): [IE] Fixed: [Copy Formatting](https://ckeditor.com/cke4/addon/copyformatting) breaks the editor in Compatibility Mode. +* [#16675](https://dev.ckeditor.com/ticket/16675): Fixed: Styles applied with [Copy Formatting](https://ckeditor.com/cke4/addon/copyformatting) to a single table cell are applied to the whole table. +* [#16753](https://dev.ckeditor.com/ticket/16753): Fixed: [`element.setSize`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.element-method-setSize) sets incorrect editor dimensions if the border width is represented as a fraction of pixels. +* [#16705](https://dev.ckeditor.com/ticket/16705): [Firefox] Fixed: Unable to paste images as Base64 strings when using [Clipboard](https://ckeditor.com/cke4/addon/clipboard). +* [#14869](https://dev.ckeditor.com/ticket/14869): Fixed: JavaScript error is thrown when trying to use [Find](https://ckeditor.com/cke4/addon/find) in a [`<div>`-based editor](https://ckeditor.com/cke4/addon/divarea). + +## CKEditor 4.6.1 + +New Features: + +* [#16639](https://dev.ckeditor.com/ticket/16639): The `callback` parameter in the [CKEDITOR.ajax.post](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.ajax-method-post) method became optional. + +Fixed Issues: + +* [#11064](https://dev.ckeditor.com/ticket/11064): [Blink, WebKit] Fixed: Cannot select all editor content when a widget or a non-editable element is the first or last element of the content. Also fixes this issue in the [Select All](https://ckeditor.com/cke4/addon/selectall) plugin. +* [#14755](https://dev.ckeditor.com/ticket/14755): [Blink, WebKit, IE8] Fixed: Browser hangs when a table is inserted in the place of a selected list with an empty last item. +* [#16624](https://dev.ckeditor.com/ticket/16624): Fixed: Improved the [Color Button](https://ckeditor.com/cke4/addon/colorbutton) plugin which will now normalize the CSS `background` property if it only contains a color value. This fixes missing background colors when using [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#16600](https://dev.ckeditor.com/ticket/16600): [Blink, WebKit] Fixed: Error thrown occasionally by an uninitialized editable for multiple CKEditor instances on the same page. + +## CKEditor 4.6 + +New Features: + +* [#14569](https://dev.ckeditor.com/ticket/14569): Added a new, flat, default CKEditor skin called [Moono-Lisa](https://ckeditor.com/cke4/addon/moono-lisa). Refreshed default colors available in the [Color Button](https://ckeditor.com/cke4/addon/colorbutton) plugin ([Text Color and Background Color](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_colorbutton) feature). +* [#14707](https://dev.ckeditor.com/ticket/14707): Added a new [Copy Formatting](https://ckeditor.com/cke4/addon/copyformatting) feature to enable easy copying of styles between your document parts. +* Introduced the completely rewritten [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) plugin: + * Backward incompatibility: The [`config.pasteFromWordRemoveFontStyles`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-pasteFromWordRemoveFontStyles) option now defaults to `false`. This option will be deprecated in the future. Use [Advanced Content Filter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_acf) to replicate the effect of setting it to `true`. + * Backward incompatibility: The [`config.pasteFromWordNumberedHeadingToList`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-pasteFromWordNumberedHeadingToList) and [`config.pasteFromWordRemoveStyles`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-pasteFromWordRemoveStyles) options were dropped and no longer have any effect on pasted content. + * Major improvements in preservation of list numbering, styling and indentation (nested lists with multiple levels). + * Major improvements in document structure parsing that fix plenty of issues with distorted or missing content after paste. +* Added new translation: Occitan. Thanks to [Cédric Valmary](https://totenoc.eu/)! +* [#10015](https://dev.ckeditor.com/ticket/10015): Keyboard shortcuts (relevant to the operating system in use) will now be displayed in tooltips and context menus. +* [#13794](https://dev.ckeditor.com/ticket/13794): The [Upload Image](https://ckeditor.com/cke4/addon/uploadimage) feature now uses `uploaded.width/height` if set. +* [#12541](https://dev.ckeditor.com/ticket/12541): Added the [Upload File](https://ckeditor.com/cke4/addon/uploadfile) plugin that lets you upload a file by drag&amp;dropping it into the editor content. +* [#14449](https://dev.ckeditor.com/ticket/14449): Introduced the [Balloon Panel](https://ckeditor.com/cke4/addon/balloonpanel) plugin that lets you create stylish floating UI elements for the editor. +* [#12077](https://dev.ckeditor.com/ticket/12077): Added support for the HTML5 `download` attribute in link (`<a>`) elements. Selecting the "Force Download" checkbox in the [Link](https://ckeditor.com/cke4/addon/link) dialog will cause the linked file to be downloaded automatically. Thanks to [sbusse](https://github.com/sbusse)! +* [#13518](https://dev.ckeditor.com/ticket/13518): Introduced the [`additionalRequestParameters`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.fileTools.uploadWidgetDefinition-property-additionalRequestParameters) property for file uploads to make it possible to send additional information about the uploaded file to the server. +* [#14889](https://dev.ckeditor.com/ticket/14889): Added the [`config.image2_altRequired`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-image2_altRequired) option for the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) plugin to allow making alternative text a mandatory field. Thanks to [Andrey Fedoseev](https://github.com/andreyfedoseev)! + +Fixed Issues: + +* [#9991](https://dev.ckeditor.com/ticket/9991): Fixed: [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) should only normalize input data. +* [#7209](https://dev.ckeditor.com/ticket/7209): Fixed: Lists with 3 levels not [pasted from Word](https://ckeditor.com/cke4/addon/pastefromword) correctly. +* [#14335](https://dev.ckeditor.com/ticket/14335): Fixed: Pasting a numbered list starting with a value different from "1" from Microsoft Word does not work correctly. +* [#14542](https://dev.ckeditor.com/ticket/14542): Fixed: Copying a numbered list from Microsoft Word does not preserve list formatting. +* [#14544](https://dev.ckeditor.com/ticket/14544): Fixed: Copying a nested list from Microsoft Word results in an empty list. +* [#14660](https://dev.ckeditor.com/ticket/14660): Fixed: [Pasting text from Word](https://ckeditor.com/cke4/addon/pastefromword) breaks the styling in some cases. +* [#14867](https://dev.ckeditor.com/ticket/14867): [Firefox] Fixed: Text gets stripped when [pasting content from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#2507](https://dev.ckeditor.com/ticket/2507): Fixed: [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) does not detect pasting a part of a paragraph. +* [#3336](https://dev.ckeditor.com/ticket/3336): Fixed: Extra blank row added on top of the content [pasted from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#6115](https://dev.ckeditor.com/ticket/6115): Fixed: When Right-to-Left text direction is applied to a table [pasted from Word](https://ckeditor.com/cke4/addon/pastefromword), borders are missing on one side. +* [#6342](https://dev.ckeditor.com/ticket/6342): Fixed: [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) filters out a basic text style when it is [configured to use attributes](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_basicstyles-section-custom-basic-text-style-definition). +* [#6457](https://dev.ckeditor.com/ticket/6457): [IE] Fixed: [Pasting from Word](https://ckeditor.com/cke4/addon/pastefromword) is extremely slow. +* [#6789](https://dev.ckeditor.com/ticket/6789): Fixed: The `mso-list: ignore` style is not handled properly when [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#7262](https://dev.ckeditor.com/ticket/7262): Fixed: Lists in preformatted body disappear when [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#7662](https://dev.ckeditor.com/ticket/7662): [Opera] Fixed: Extra empty number/bullet shown in the editor body when editing a multi-level list [pasted from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#7807](https://dev.ckeditor.com/ticket/7807): Fixed: Last item in a list not converted to a `<li>` element after [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#7950](https://dev.ckeditor.com/ticket/7950): [IE] Fixed: Content [from Word pasted](https://ckeditor.com/cke4/addon/pastefromword) differently than in other browsers. +* [#7982](https://dev.ckeditor.com/ticket/7982): Fixed: Multi-level lists get split into smaller ones when [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#8231](https://dev.ckeditor.com/ticket/8231): [WebKit, Opera] Fixed: [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) inserts empty paragraphs. +* [#8266](https://dev.ckeditor.com/ticket/8266): Fixed: [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) inserts a blank line at the top. +* [#8341](https://dev.ckeditor.com/ticket/8341), [#7646](https://dev.ckeditor.com/ticket/7646): Fixed: Faulty removal of empty `<span>` elements in [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) content cleanup breaking content formatting. +* [#8754](https://dev.ckeditor.com/ticket/8754): [Firefox] Fixed: Incorrect pasting of multiple nested lists in [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#8983](https://dev.ckeditor.com/ticket/8983): Fixed: Alignment lost when [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword) with [`config.enterMode`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-enterMode) set to [`CKEDITOR.ENTER_BR`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR-property-ENTER_BR). +* [#9331](https://dev.ckeditor.com/ticket/9331): [IE] Fixed: [Pasting text from Word](https://ckeditor.com/cke4/addon/pastefromword) creates a simple Caesar cipher. +* [#9422](https://dev.ckeditor.com/ticket/9422): Fixed: [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) leaves an unwanted `color:windowtext` style. +* [#10011](https://dev.ckeditor.com/ticket/10011): [IE9-10] Fixed: [`config.pasteFromWordRemoveFontStyles`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-pasteFromWordRemoveFontStyles) is ignored under certain conditions. +* [#10643](https://dev.ckeditor.com/ticket/10643): Fixed: Differences between using <kbd>Ctrl+V</kbd> and pasting from the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) dialog. +* [#10784](https://dev.ckeditor.com/ticket/10784): Fixed: Lines missing when [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#11294](https://dev.ckeditor.com/ticket/11294): [IE10] Fixed: Font size is not preserved when [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#11627](https://dev.ckeditor.com/ticket/11627): Fixed: Missing words when [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#12784](https://dev.ckeditor.com/ticket/12784): Fixed: Bulleted list with custom bullets gets changed to a numbered list when [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#13174](https://dev.ckeditor.com/ticket/13174): Fixed: Data loss after [pasting from Word](https://ckeditor.com/cke4/addon/pastefromword). +* [#13828](https://dev.ckeditor.com/ticket/13828): Fixed: Widget classes should be added to the wrapper rather than the widget element. +* [#13829](https://dev.ckeditor.com/ticket/13829): Fixed: No class in [Widget](https://ckeditor.com/cke4/addon/widget) wrapper to identify the widget type. +* [#13519](https://dev.ckeditor.com/ticket/13519): Server response received when uploading files should be more flexible. + +Other Changes: + +* Updated [SCAYT](https://ckeditor.com/cke4/addon/scayt) (Spell Check As You Type) and [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) plugins: + * Support for the new default Moono-Lisa skin. + * [#121](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/121): Fixed: [Basic Styles](https://ckeditor.com/cke4/addon/basicstyles) do not work when SCAYT is enabled. + * [#125](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/125): Fixed: Inline styles are not continued when writing multiple lines of styled text with SCAYT enabled. + * [#127](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/127): Fixed: Uncaught TypeError after enabling SCAYT in the CKEditor `<div>` element. + * [#128](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/128): Fixed: Error thrown after enabling SCAYT caused by conflicts with RequireJS. + +## CKEditor 4.5.11 + +**Security Updates:** + +* [Severity: minor] Fixed the `target="_blank"` vulnerability reported by James Gaskell. + + Issue summary: If a victim had access to a spoofed version of ckeditor.com via HTTP (e.g. due to DNS spoofing, using a hacked public network or mailicious hotspot), then when using a link to the ckeditor.com website it was possible for the attacker to change the current URL of the opening page, even if the opening page was protected with SSL. + + An upgrade is recommended. + +New Features: + +* [#14747](https://dev.ckeditor.com/ticket/14747): The [Enhanced Image](https://ckeditor.com/cke4/addon/image2) caption now supports the link `target` attribute. +* [#7154](https://dev.ckeditor.com/ticket/7154): Added support for the "Display Text" field to the [Link](https://ckeditor.com/cke4/addon/link) dialog. Thanks to [Ryan Guill](https://github.com/ryanguill)! + +Fixed Issues: + +* [#13362](https://dev.ckeditor.com/ticket/13362): [Blink, WebKit] Fixed: Active widget element is not cached when it is losing focus and it is inside an editable element. +* [#13755](https://dev.ckeditor.com/ticket/13755): [Edge] Fixed: Pasting images does not work. +* [#13548](https://dev.ckeditor.com/ticket/13548): [IE] Fixed: Clicking the [elements path](https://ckeditor.com/cke4/addon/elementspath) disables Cut and Copy icons. +* [#13812](https://dev.ckeditor.com/ticket/13812): Fixed: When aborting file upload the placeholder for image is left. +* [#14659](https://dev.ckeditor.com/ticket/14659): [Blink] Fixed: Content scrolled to the top after closing the dialog in a [`<div>`-based editor](https://ckeditor.com/cke4/addon/divarea). +* [#14825](https://dev.ckeditor.com/ticket/14825): [Edge] Fixed: Focusing the editor causes unwanted scrolling due to dropped support for the `setActive` method. + +## CKEditor 4.5.10 + +Fixed Issues: + +* [#10750](https://dev.ckeditor.com/ticket/10750): Fixed: The editor does not escape the `font-style` family property correctly, removing quotes and whitespace from font names. +* [#14413](https://dev.ckeditor.com/ticket/14413): Fixed: The [Auto Grow](https://ckeditor.com/cke4/addon/autogrow) plugin with the [`config.autoGrow_onStartup`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-autoGrow_onStartup) option set to `true` does not work properly for an editor that is not visible. +* [#14451](https://dev.ckeditor.com/ticket/14451): Fixed: Numeric element ID not escaped properly. Thanks to [Jakub Chalupa](https://github.com/chaluja7)! +* [#14590](https://dev.ckeditor.com/ticket/14590): Fixed: Additional line break appearing after inline elements when switching modes. Thanks to [dpidcock](https://github.com/dpidcock)! +* [#14539](https://dev.ckeditor.com/ticket/14539): Fixed: JAWS reads "selected Blank" instead of "selected <widget name>" when selecting a widget. +* [#14701](https://dev.ckeditor.com/ticket/14701): Fixed: More precise labels for [Enhanced Image](https://ckeditor.com/cke4/addon/image2) and [Placeholder](https://ckeditor.com/cke4/addon/placeholder) widgets. +* [#14667](https://dev.ckeditor.com/ticket/14667): [IE] Fixed: Removing background color from selected text removes background color from the whole paragraph. +* [#14252](https://dev.ckeditor.com/ticket/14252): [IE] Fixed: Styles drop-down list does not always reflect the current style of the text line. +* [#14275](https://dev.ckeditor.com/ticket/14275): [IE9+] Fixed: `onerror` and `onload` events are not used in browsers it could have been used when loading scripts dynamically. + +## CKEditor 4.5.9 + +Fixed Issues: + +* [#10685](https://dev.ckeditor.com/ticket/10685): Fixed: Unreadable toolbar icons after updating to the new editor version. Fixed with [6876179](https://github.com/ckeditor/ckeditor-dev/commit/6876179db4ee97e786b07b8fd72e6b4120732185) in [ckeditor-dev](https://github.com/ckeditor/ckeditor-dev) and [6c9189f4](https://github.com/ckeditor/ckeditor-presets/commit/6c9189f46392d2c126854fe8889b820b8c76d291) in [ckeditor-presets](https://github.com/ckeditor/ckeditor-presets). +* [#14573](https://dev.ckeditor.com/ticket/14573): Fixed: Missing [Widget](https://ckeditor.com/cke4/addon/widget) drag handler CSS when there are multiple editor instances. +* [#14620](https://dev.ckeditor.com/ticket/14620): Fixed: Setting both the `min-height` style for the `<body>` element and the `height` style for the `<html>` element breaks the [Auto Grow](https://ckeditor.com/cke4/addon/autogrow) plugin. +* [#14538](https://dev.ckeditor.com/ticket/14538): Fixed: Keyboard focus goes into an embedded `<iframe>` element. +* [#14602](https://dev.ckeditor.com/ticket/14602): Fixed: The [`dom.element.removeAttribute()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.element-method-removeAttribute) method does not remove all attributes if no parameter is given. +* [#8679](https://dev.ckeditor.com/ticket/8679): Fixed: Better focus indication and ability to style the selected color in the [color picker dialog](https://ckeditor.com/cke4/addon/colordialog). +* [#11697](https://dev.ckeditor.com/ticket/11697): Fixed: Content is replaced ignoring the letter case setting in the [Find and Replace](https://ckeditor.com/cke4/addon/find) dialog window. +* [#13886](https://dev.ckeditor.com/ticket/13886): Fixed: Invalid handling of the [`CKEDITOR.style`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.style) instance with the `styles` property by [`CKEDITOR.filter`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.filter). +* [#14535](https://dev.ckeditor.com/ticket/14535): Fixed: CSS syntax corrections. Thanks to [mdjdenormandie](https://github.com/mdjdenormandie)! + +## CKEditor 4.5.8 + +New Features: + +* [#12440](https://dev.ckeditor.com/ticket/12440): Added the [`config.colorButton_enableAutomatic`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-colorButton_enableAutomatic) option to allow hiding the "Automatic" option in the [color picker](https://ckeditor.com/cke4/addon/colorbutton). + +Fixed Issues: + +* [#10448](https://dev.ckeditor.com/ticket/10448): Fixed: Lack of scrollbar in the [right-to-left text direction](https://ckeditor.com/cke4/addon/bidi). +* [#12707](https://dev.ckeditor.com/ticket/12707): Fixed: The order of table elements does not comply with the HTML specification. +* [#13756](https://dev.ckeditor.com/ticket/13756): [Edge] Fixed: Context menus are cut-off. + +## CKEditor 4.5.7 + +New Features: + +* [#14327](https://dev.ckeditor.com/ticket/14327): Added Swiss German localization. Thanks to [Miro Grenda](https://twitter.com/mirogrenda)! + +Fixed Issues: + +* [#13816](https://dev.ckeditor.com/ticket/13816): Introduced a new strategy for Filling Character handling to avoid changes in DOM. This fixes the following issues: + * [#12727](https://dev.ckeditor.com/ticket/12727): [Blink] `IndexSizeError` when using the [Div Editing Area](https://ckeditor.com/cke4/addon/divarea) and [Content Templates](https://ckeditor.com/cke4/addon/templates) plugins. + * [#13377](https://dev.ckeditor.com/ticket/13377): [Widget](https://ckeditor.com/cke4/addon/widget) plugin issue when typing in Korean. + * [#13389](https://dev.ckeditor.com/ticket/13389): [Blink] [`editor.getData()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-getData) fails when the cursor is next to an `<hr>` tag. + * [#13513](https://dev.ckeditor.com/ticket/13513): [Blink, WebKit] [Div Editing Area](https://ckeditor.com/cke4/addon/divarea) and [`editor.getData()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-getData) throw an error when an image is the only data in the editor. +* [#13884](https://dev.ckeditor.com/ticket/13884): [Firefox] Fixed: Copying and pasting a table results in just the first cell being pasted. +* [#14234](https://dev.ckeditor.com/ticket/14234): Fixed: URL input field is not marked as required in the [Media Embed](https://ckeditor.com/cke4/addon/embed) dialog. + +## CKEditor 4.5.6 + +New Features: + +* Introduced the [`CKEDITOR.tools.getCookie()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.tools-method-getCookie) and [`CKEDITOR.tools.setCookie()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.tools-method-setCookie) methods for accessing cookies. +* Introduced the [`CKEDITOR.tools.getCsrfToken()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.tools-method-getCsrfToken) method. The CSRF token is now automatically sent by the [File Browser](https://ckeditor.com/cke4/addon/filebrowser) and [File Tools](https://ckeditor.com/cke4/addon/filetools) plugins during file uploads. The server-side upload handlers may check it and use it to additionally secure the communication. + +Other Changes: + +* Updated [SCAYT](https://ckeditor.com/cke4/addon/scayt) (Spell Check As You Type): + - New features: + - CKEditor [Language](https://ckeditor.com/cke4/addon/language) plugin support. + - CKEditor [Placeholder](https://ckeditor.com/cke4/addon/placeholder) plugin support. + - [Drag&Drop](https://sdk.ckeditor.com/samples/fileupload.html) support. + - **Experimental** [GRAYT](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-grayt_autoStartup) (Grammar As You Type) functionality. + - Fixed issues: + * [#98](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/98): SCAYT affects dialog double-click. Fixed in SCAYT core. + * [#102](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/102): SCAYT core performance enhancements. + * [#104](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/104): SCAYT's spans leak into the clipboard and after pasting. + * [#105](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/105): A JavaScript error fired in case of multiple instances of CKEditor on one page. + * [#107](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/107): SCAYT should not check non-editable parts of content. + * [#108](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/108): Latest SCAYT copies the ID of the editor element to the iframe. + * SCAYT stops working when CKEditor [Undo plugin](https://ckeditor.com/cke4/addon/undo) not enabled. + * Issue with pasting SCAYT markup in CKEditor. + * SCAYT stops working after pressing the *Cancel* button in the WSC dialog. + +## CKEditor 4.5.5 + +Fixed Issues: + +* [#13887](https://dev.ckeditor.com/ticket/13887): Fixed: [Link](https://ckeditor.com/cke4/addon/link) plugin alters the `target` attribute value. Thanks to [SamZiemer](https://github.com/SamZiemer)! +* [#12189](https://dev.ckeditor.com/ticket/12189): Fixed: The [Link](https://ckeditor.com/cke4/addon/link) plugin dialog does not display the subject of email links if the subject parameter is not lowercase. +* [#9192](https://dev.ckeditor.com/ticket/9192): Fixed: An `undefined` string is appended to an email address added with the [Link](https://ckeditor.com/cke4/addon/link) plugin if subject and email body are empty and [`config.emailProtection`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-emailProtection) is set to `encode`. +* [#13790](https://dev.ckeditor.com/ticket/13790): Fixed: It is not possible to destroy the editor `<iframe>` after the editor was detached from DOM. Thanks to [Stefan Rijnhart](https://github.com/StefanRijnhart)! +* [#13803](https://dev.ckeditor.com/ticket/13803): Fixed: The editor cannot be destroyed before being fully initialized. Thanks to [Cyril Fluck](https://github.com/cyril-sf)! +* [#13867](https://dev.ckeditor.com/ticket/13867): Fixed: CKEditor does not work when the `classList` polyfill is used. +* [#13885](https://dev.ckeditor.com/ticket/13885): Fixed: [Enhanced Image](https://ckeditor.com/cke4/addon/image2) requires the [Link](https://ckeditor.com/cke4/addon/link) plugin to link an image. +* [#13883](https://dev.ckeditor.com/ticket/13883): Fixed: Copying a table using the context menu strips off styles. +* [#13872](https://dev.ckeditor.com/ticket/13872): Fixed: Cutting is possible in the [read-only](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-property-readOnly) mode. +* [#12848](https://dev.ckeditor.com/ticket/12848): [Blink] Fixed: Opening the [Find and Replace](https://ckeditor.com/cke4/addon/find) dialog window in the [read-only](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-property-readOnly) mode throws an exception. +* [#13879](https://dev.ckeditor.com/ticket/13879): Fixed: It is not possible to prevent the [`editor.drop`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-drop) event. +* [#13361](https://dev.ckeditor.com/ticket/13361): Fixed: Skin images fail when the site path includes parentheses because the `background-image` path needs single quotes around the URL value. +* [#13771](https://dev.ckeditor.com/ticket/13771): Fixed: The `contents.css` style is not used if the [IFrame Editing Area](https://ckeditor.com/cke4/addon/wysiwygarea) plugin is missing. +* [#13782](https://dev.ckeditor.com/ticket/13782): Fixed: Unclear log messages. +* [#13919](https://dev.ckeditor.com/ticket/13919): [Edge] Fixed: Browser window crashes when accessing the `isContentEditable` property of an `<input>` DOM element. + +Other Changes: + +* [#13859](https://dev.ckeditor.com/ticket/13859): Test cases created with `bender.tools.createTestsForEditors` will also receive editor bot as a second parameter. + +## CKEditor 4.5.4 + +New Features: + +* [#13632](https://dev.ckeditor.com/ticket/13632): Introduce error logging mechanism. +* [#13730](https://dev.ckeditor.com/ticket/13730): Switch to the new error logging mechanism. + +Fixed Issues: + +* [#9856](https://dev.ckeditor.com/ticket/9856): Fixed: Cannot use the native context menu together with the [Div Editing Area](https://ckeditor.com/cke4/addon/divarea) plugin. Thanks to [Mark Wade](https://github.com/mark-wade)! +* [#12733](https://dev.ckeditor.com/ticket/12733): [IE9+] Fixed: Radio button `onChange` does not work. Thanks to [Iliya Kostadinov](https://github.com/iliyakostadinov)! +* [#13142](https://dev.ckeditor.com/ticket/13142): [Edge] Fixed: *Ctrl+A* and then *Backspace* result in an empty `<div>` element. +* [#13599](https://dev.ckeditor.com/ticket/13599): Fixed: Cross-editor drag and drop of an inline widget results in error/artifacts. +* [#13640](https://dev.ckeditor.com/ticket/13640): [IE] Fixed: Dropping a widget outside the `<body>` element is not handled correctly. +* [#13533](https://dev.ckeditor.com/ticket/13533): Fixed: No progress during upload. +* [#13680](https://dev.ckeditor.com/ticket/13680): Fixed: The parser should allow the `<h1-6>` element to be a child of the `<summary>` element. +* [#11724](https://dev.ckeditor.com/ticket/11724): [Touch devices] Fixed: Drop-downs often hide right after opening them. +* [#13690](https://dev.ckeditor.com/ticket/13690): Fixed: Copying content from IE to Chrome adds an extra paragraph. +* [#13284](https://dev.ckeditor.com/ticket/13284): Fixed: Cannot drag and drop a widget if the text caret is placed just after the widget instance. +* [#13516](https://dev.ckeditor.com/ticket/13516): Fixed: CKEditor removes empty HTML5 anchors without the `name` attribute. +* [#13765](https://dev.ckeditor.com/ticket/13765): [Safari 9] Fixed: Problems with rendering samples. + +Other Changes: + +* [#11725](https://dev.ckeditor.com/ticket/11725): Marked [`CKEDITOR.env.mobile`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.env-property-mobile) as deprecated. The reason is that it is no longer clear what "mobile" means. +* [#13737](https://dev.ckeditor.com/ticket/13737): Upgraded [Bender.js](https://github.com/benderjs/benderjs) to 0.4.1. + +## CKEditor 4.5.3 + +New Features: + +* [#13501](https://dev.ckeditor.com/ticket/13501): Added the [`config.fileTools_defaultFileName`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-fileTools_defaultFileName) option to allow setting a default file name for paste uploads. +* [#13603](https://dev.ckeditor.com/ticket/13603): Added support for uploading dropped BMP images. + +Fixed Issues: + +* [#13590](https://dev.ckeditor.com/ticket/13590): Fixed: Various issues related to the [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) feature. Fixes also: + * [#11215](https://dev.ckeditor.com/ticket/11215), + * [#8780](https://dev.ckeditor.com/ticket/8780), + * [#12762](https://dev.ckeditor.com/ticket/12762). +* [#13386](https://dev.ckeditor.com/ticket/13386): [Edge] Fixed: Issues with selecting and editing images. +* [#13568](https://dev.ckeditor.com/ticket/13568): Fixed: The [`editor.getSelectedHtml()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-getSelectedHtml) method returns invalid results for entire content selection. +* [#13453](https://dev.ckeditor.com/ticket/13453): Fixed: Drag&drop of entire editor content throws an error. +* [#13465](https://dev.ckeditor.com/ticket/13465): Fixed: Error is thrown and the widget is lost on drag&drop if it is the only content of the editor. +* [#13414](https://dev.ckeditor.com/ticket/13414): Fixed: Content auto paragraphing in a nested editable despite editor configuration. +* [#13429](https://dev.ckeditor.com/ticket/13429): Fixed: Incorrect selection after content insertion by the [Auto Embed](https://ckeditor.com/cke4/addon/autoembed) plugin. +* [#13388](https://dev.ckeditor.com/ticket/13388): Fixed: [Table Resize](https://ckeditor.com/cke4/addon/tableresize) integration with [Undo](https://ckeditor.com/cke4/addon/undo) is broken. + +Other Changes: + +* [#13637](https://dev.ckeditor.com/ticket/13637): Several icons were refactored. +* Updated [Bender.js](https://github.com/benderjs/benderjs) to 0.3.0 and introduced the ability to run tests via HTTPs ([#13265](https://dev.ckeditor.com/ticket/13265)). + +## CKEditor 4.5.2 + +Fixed Issues: + +* [#13609](https://dev.ckeditor.com/ticket/13609): [Edge] Fixed: The browser crashes when switching to the source mode. Thanks to [Andrew Williams and Mark Smeed](http://webxsolution.com/)! +* [PR#201](https://github.com/ckeditor/ckeditor-dev/pull/201): Fixed: Buttons in the toolbar configurator cause form submission. Thanks to [colemanw](https://github.com/colemanw)! +* [#13422](https://dev.ckeditor.com/ticket/13422): Fixed: A monospaced font should be used in the `<textarea>` element storing editor configuration in the toolbar configurator. +* [#13494](https://dev.ckeditor.com/ticket/13494): Fixed: Error thrown in the toolbar configurator if plugin requirements are not met. +* [#13409](https://dev.ckeditor.com/ticket/13409): Fixed: List elements incorrectly merged when pressing *Backspace* or *Delete*. +* [#13434](https://dev.ckeditor.com/ticket/13434): Fixed: Dialog state indicator broken in Right–To–Left environments. +* [#13460](https://dev.ckeditor.com/ticket/13460): [IE8] Fixed: Copying inline widgets is broken when [Advanced Content Filter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_acf) is disabled. +* [#13495](https://dev.ckeditor.com/ticket/13495): [Firefox, IE] Fixed: Text is not word-wrapped in the Paste dialog window. +* [#13528](https://dev.ckeditor.com/ticket/13528): [Firefox@Windows] Fixed: Content copied from Microsoft Word and other external applications is pasted as a plain text. Removed the `CKEDITOR.plugins.clipboard.isHtmlInExternalDataTransfer` property as the check must be dynamic. +* [#13583](https://dev.ckeditor.com/ticket/13583): Fixed: [`DataTransfer.getData()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.clipboard.dataTransfer-method-getData) should work consistently in all browsers and should not strip valuable content. Fixed pasting tables from Microsoft Excel on Chrome. +* [#13468](https://dev.ckeditor.com/ticket/13468): [IE] Fixed: Binding drag&drop `dataTransfer` does not work if `text` data was set in the meantime. +* [#13451](https://dev.ckeditor.com/ticket/13451): [IE8-9] Fixed: One drag&drop operation may affect following ones. +* [#13184](https://dev.ckeditor.com/ticket/13184): Fixed: Web page reloaded after a drop on editor UI. +* [#13129](https://dev.ckeditor.com/ticket/13129) Fixed: Block widget blurred after a drop followed by an undo. +* [#13397](https://dev.ckeditor.com/ticket/13397): Fixed: Drag&drop of a widget inside its nested widget crashes the editor. +* [#13385](https://dev.ckeditor.com/ticket/13385): Fixed: [`editor.getSnapshot()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-getSnapshot) may return a non-string value. +* [#13419](https://dev.ckeditor.com/ticket/13419): Fixed: The [Auto Link](https://ckeditor.com/cke4/addon/autolink) plugin does not encode double quotes in URLs. +* [#13420](https://dev.ckeditor.com/ticket/13420): Fixed: The [Auto Embed](https://ckeditor.com/cke4/addon/autoembed) plugin ignores encoded characters in URL parameters. +* [#13410](https://dev.ckeditor.com/ticket/13410): Fixed: Error thrown in the [Auto Embed](https://ckeditor.com/cke4/addon/autoembed) plugin when undoing right after pasting a link. +* [#13566](https://dev.ckeditor.com/ticket/13566): Fixed: Suppressed notifications in the [Media Embed Base](https://ckeditor.com/cke4/addon/embedbase) plugin. +* [#11616](https://dev.ckeditor.com/ticket/11616): [Chrome] Fixed: Resizing the editor while it is not displayed breaks the editable. Fixes also [#9160](https://dev.ckeditor.com/ticket/9160) and [#9715](https://dev.ckeditor.com/ticket/9715). +* [#11376](https://dev.ckeditor.com/ticket/11376): [IE11] Fixed: Loss of text when pasting bulleted lists from Microsoft Word. +* [#13143](https://dev.ckeditor.com/ticket/13143): [Edge] Fixed: Focus lost when opening the panel. +* [#13387](https://dev.ckeditor.com/ticket/13387): [Edge] Fixed: "Permission denied" error thrown when loading the editor with developer tools open. +* [#13574](https://dev.ckeditor.com/ticket/13574): [Edge] Fixed: "Permission denied" error thrown when opening editor dialog windows. +* [#13441](https://dev.ckeditor.com/ticket/13441): [Edge] Fixed: The [Clipboard](https://ckeditor.com/cke4/addon/clipboard) plugin breaks the state of [Undo](https://ckeditor.com/cke4/addon/undo) commands after a paste. +* [#13554](https://dev.ckeditor.com/ticket/13554): [Edge] Fixed: Paste dialog's iframe does not receive focus on show. +* [#13440](https://dev.ckeditor.com/ticket/13440): [Edge] Fixed: Unable to paste a widget. + +Other Changes: + +* [#13421](https://dev.ckeditor.com/ticket/13421): UX improvements to notifications in the [Auto Embed](https://ckeditor.com/cke4/addon/autoembed) plugin. + +## CKEditor 4.5.1 + +Fixed Issues: + +* [#13486](https://dev.ckeditor.com/ticket/13486): Fixed: The [Upload Image](https://ckeditor.com/cke4/addon/uploadimage) plugin should log an error, not throw an error when upload URL is not set. + +## CKEditor 4.5 + +New Features: + +* [#13304](https://dev.ckeditor.com/ticket/13304): Added support for passing DOM elements to [`config.sharedSpaces`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-sharedSpaces). Thanks to [Undergrounder](https://github.com/Undergrounder)! +* [#13215](https://dev.ckeditor.com/ticket/13215): Added ability to cancel fetching a resource by the Embed plugins. +* [#13213](https://dev.ckeditor.com/ticket/13213): Added the [`dialog#setState()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dialog-method-setState) method and used it in the [Embed](https://ckeditor.com/cke4/addon/embed) dialog to indicate that a resource is being loaded. +* [#13337](https://dev.ckeditor.com/ticket/13337): Added the [`repository.onWidget()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget.repository-method-onWidget) method &mdash; a convenient way to listen to [widget](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget) events through the [repository](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget.repository). +* [#13214](https://dev.ckeditor.com/ticket/13214): Added support for pasting links that convert into embeddable resources on the fly. + +Fixed Issues: + +* [#13334](https://dev.ckeditor.com/ticket/13334): Fixed: Error after nesting widgets and playing with undo/redo. +* [#13118](https://dev.ckeditor.com/ticket/13118): Fixed: The [`editor.getSelectedHtml()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-getSelectedHtml) method throws an error when called in the source mode. +* [#13158](https://dev.ckeditor.com/ticket/13158): Fixed: Error after canceling a dialog when creating a widget. +* [#13197](https://dev.ckeditor.com/ticket/13197): Fixed: Linked inline [Enhanced Image](https://ckeditor.com/cke4/addon/image2) alignment class is not transferred to the widget wrapper. +* [#13199](https://dev.ckeditor.com/ticket/13199): Fixed: [Semantic Embed](https://ckeditor.com/cke4/addon/embedsemantic) does not support widget classes. +* [#13003](https://dev.ckeditor.com/ticket/13003): Fixed: Anchors are uploaded when moving them by drag and drop. +* [#13032](https://dev.ckeditor.com/ticket/13032): Fixed: When upload is done, notification update should be marked as important. +* [#13300](https://dev.ckeditor.com/ticket/13300): Fixed: The `internalCommit` argument in the [Image](https://ckeditor.com/cke4/addon/image) dialog seems to be never used. +* [#13036](https://dev.ckeditor.com/ticket/13036): Fixed: Notifications are moved 10px to the right. +* [#13280](https://dev.ckeditor.com/ticket/13280): [IE8] Fixed: Undo after inline widget drag&drop throws an error. +* [#13186](https://dev.ckeditor.com/ticket/13186): Fixed: Content dropped into a nested editable is not filtered by [Advanced Content Filter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_acf). +* [#13140](https://dev.ckeditor.com/ticket/13140): Fixed: Error thrown when dropping a block widget right after itself. +* [#13176](https://dev.ckeditor.com/ticket/13176): [IE8] Fixed: Errors on drag&drop of embed widgets. +* [#13015](https://dev.ckeditor.com/ticket/13015): Fixed: Dropping an image file on [Enhanced Image](https://ckeditor.com/cke4/addon/image2) causes a page reload. +* [#13080](https://dev.ckeditor.com/ticket/13080): Fixed: Ugly notification shown when the response contains HTML content. +* [#13011](https://dev.ckeditor.com/ticket/13011): [IE8] Fixed: Anchors are duplicated on drag&drop in specific locations. +* [#13105](https://dev.ckeditor.com/ticket/13105): Fixed: Various issues related to [`CKEDITOR.tools.htmlEncode()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.tools-method-htmlEncode) and [`CKEDITOR.tools.htmlDecode()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.tools-method-htmlDecode) methods. +* [#11976](https://dev.ckeditor.com/ticket/11976): [Chrome] Fixed: Copy&paste and drag&drop lists from Microsoft Word. +* [#13128](https://dev.ckeditor.com/ticket/13128): Fixed: Various issues with cloning element IDs: + * Fixed the default behavior of [`range.cloneContents()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.range-method-cloneContents) and [`range.extractContents()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.range-method-extractContents) methods which now clone IDs similarly to their native counterparts. + * Added `cloneId` arguments to the above methods, [`range.splitBlock()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.range-method-splitBlock) and [`element.breakParent()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.element-method-breakParent). Mind the default values and special behavior in the `extractContents()` method! + * Fixed issues where IDs were lost on copy&paste and drag&drop. +* Toolbar configurators: + * [#13185](https://dev.ckeditor.com/ticket/13185): Fixed: Wrong position of the suggestion box if there is not enough space below the caret. + * [#13138](https://dev.ckeditor.com/ticket/13138): Fixed: The "Toggle empty elements" button label is unclear. + * [#13136](https://dev.ckeditor.com/ticket/13136): Fixed: Autocompleter is far too intrusive. + * [#13133](https://dev.ckeditor.com/ticket/13133): Fixed: Tab leaves the editor. + * [#13173](https://dev.ckeditor.com/ticket/13173): Fixed: [`config.removeButtons`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-removeButtons) is ignored by the advanced toolbar configurator. + +Other Changes: + +* [#13119](https://dev.ckeditor.com/ticket/13119): Improved compatibility of editor skins ([Moono](https://ckeditor.com/cke4/addon/moono) and [Kama](https://ckeditor.com/cke4/addon/kama)) with external web page style sheets. +* Toolbar configurators: + * [#13147](https://dev.ckeditor.com/ticket/13147): Added buttons to the sticky toolbar. + * [#13207](https://dev.ckeditor.com/ticket/13207): Used modal window to display toolbar configurator help. +* [#13316](https://dev.ckeditor.com/ticket/13316): Made [`CKEDITOR.env.isCompatible`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.env-property-isCompatible) a blacklist rather than a whitelist. More about the change in the [Browser Compatibility](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_browsers) guide. +* [#13398](https://dev.ckeditor.com/ticket/13398): Renamed `CKEDITOR.fileTools.UploadsRepository` to [`CKEDITOR.fileTools.UploadRepository`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.fileTools.uploadRepository) and changed all related properties. +* [#13279](https://dev.ckeditor.com/ticket/13279): Reviewed CSS vendor prefixes. +* [#13454](https://dev.ckeditor.com/ticket/13454): Removed unused `lang.image.alertUrl` token from the [Image](https://ckeditor.com/cke4/addon/image) plugin. + +## CKEditor 4.5 Beta + +New Features: + +* Clipboard (copy&paste, drag&drop) and file uploading features and improvements ([#11437](https://dev.ckeditor.com/ticket/11437)). + + * Major features: + * Support for dropping and pasting files into the editor was introduced. Through a set of new facades for native APIs it is now possible to easily intercept and process inserted files. + * [File upload tools](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.fileTools) were introduced in order to simplify controlling the loading, uploading and handling server response, properly handle [new upload configuration](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-uploadUrl) options, etc. + * [Upload Image](https://ckeditor.com/cke4/addon/uploadimage) widget was introduced to upload dropped images. A base class for the [upload widget](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.fileTools.uploadWidgetDefinition) was exposed, too, to make it simple to create new types of upload widgets which can handle any type of dropped file, show the upload progress and update the content when the process is done. It also handles editing and undo/redo operations when a file is being uploaded and integrates with the [notification aggregator](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.notificationAggregator) to show progress and success or error. + * All drag and drop operations were integrated with the editor. All dropped content is passed through the [`editor#paste`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-paste) event and a set of new editor events was introduced &mdash; [`dragstart`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-dragstart), [`drop`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-drop), [`dragend`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-dragend). + * The [Data Transfer](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.clipboard.dataTransfer) facade was introduced to unify access to data in various types and files. [Data Transfer](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.clipboard.dataTransfer) is now always available in the [`editor#paste`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-paste) event. + * Switched from the pastebin to using the native clipboard access whenever possible. This solved many issues related to pastebin such as unnecessary scrolling or data loss. Additionally, on copy and cut from the editor the clipboard data is set. Therefore, on paste the editor has access to clean data, undisturbed by the browsers. + * Drag and drop of inline and block widgets was integrated with the standard clipboard APIs. By listening to drag events you will thus be notified about widgets, too. This opens a possibility to filter pasted and dropped widgets. + * The [`editor#paste`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-paste) event can have the `range` parameter so it is possible to change the paste position in the listener or paste in the not selectable position. Also the [`editor.insertHtml()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-insertHtml) method now accepts `range` as an additional parameter. + * [#11621](https://dev.ckeditor.com/ticket/11621): A configurable [paste filter](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-pasteFilter) was introduced. The filter is by default turned to `'semantic-content'` on Webkit and Blink for all pasted content coming from external sources because of the low quality of HTML that these engines put into the clipboard. Internal and cross-editor paste is safe due to the change explained in the previous point. + + * Other changes and related fixes: + * [#12095](https://dev.ckeditor.com/ticket/12095): On drag and copy of widgets [the same method](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-getSelectedHtml) is used to get selected HTML as in the normal case. Thanks to that styles applied to inline widgets are not lost. + * [#11219](https://dev.ckeditor.com/ticket/11219): Fixed: Dragging a [captioned image](https://ckeditor.com/cke4/addon/image2) does not fire the [`editor#paste`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-paste) event. + * [#9554](https://dev.ckeditor.com/ticket/9554): [Webkit Mac] Fixed: Editor scrolls on paste. + * [#9898](https://dev.ckeditor.com/ticket/9898): [Webkit&Divarea] Fixed: Pasting causes undesirable scrolling. + * [#11993](https://dev.ckeditor.com/ticket/11993): [Chrome] Fixed: Pasting content scrolls the document. + * [#12613](https://dev.ckeditor.com/ticket/12613): Show the user that they can not drop on editor UI (toolbar, bottom bar). + * [#12851](https://dev.ckeditor.com/ticket/12851): [Blink/Webkit] Fixed: Formatting disappears when pasting content into cells. + * [#12914](https://dev.ckeditor.com/ticket/12914): Fixed: Copy/Paste of table broken in `div`-based editor. + + * Browser support.<br>Browser support for related features varies significantly (see http://caniuse.com/clipboard). + * File APIs needed to operate and file upload is not supported in Internet Explorer 9 and below. + * Only Chrome and Safari on Mac OS support setting custom data items in the clipboard, so currently it is possible to recognize the origin of the copied content in these browsers only. All drag and drop operations can be identified thanks to the new Data Transfer facade. + * No Internet Explorer browser supports the standard clipboard API which results in small glitches like where only plain text can be dropped from outside the editor. Thanks to the new Data Transfer facade, internal and cross-editor drag and drop supports the full range of data. + * Direct access to clipboard could only be implemented in Chrome, Safari on Mac OS, Opera and Firefox. In other browsers the pastebin must still be used. + +* [#12875](https://dev.ckeditor.com/ticket/12875): Samples and toolbar configuration tools. + * The old set of samples shipped with every CKEditor package was replaced with a shiny new single-page sample. This change concluded a long term plan which started from introducing the [CKEditor SDK](https://sdk.ckeditor.com/) and [CKEditor Functionality Overview](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_features) section in the documentation which essentially redefined the old samples. + * Toolbar configurators with live previews were introduced. They will be shipped with every CKEditor package and are meant to help in configuring toolbar layouts. + +* [#10925](https://dev.ckeditor.com/ticket/10925): The [Media Embed](https://ckeditor.com/cke4/addon/embed) and [Semantic Media Embed](https://ckeditor.com/cke4/addon/embedsemantic) plugins were introduced. Read more about the new features in the [Embedding Content](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_media_embed) article. +* [#10931](https://dev.ckeditor.com/ticket/10931): Added support for nesting widgets. It is now possible to insert one widget into another widget's nested editable. Note that unless nested editable's [allowed content](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget.nestedEditable.definition-property-allowedContent) is defined precisely, starting from CKEditor 4.5 some widget buttons may become enabled. This feature is not supported in IE8. Included issues: + * [#12018](https://dev.ckeditor.com/ticket/12018): Fixed and reviewed: Nested widgets garbage collection. + * [#12024](https://dev.ckeditor.com/ticket/12024): [Firefox] Fixed: Outline is extended to the left by unpositioned drag handlers. + * [#12006](https://dev.ckeditor.com/ticket/12006): Fixed: Drag and drop of nested block widgets. + * [#12008](https://dev.ckeditor.com/ticket/12008): Fixed various cases of inserting a single non-editable element using the [`editor.insertHtml()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-insertHtml) method. Fixes pasting a widget with a nested editable inside another widget's nested editable. + +* Notification system: + * [#11580](https://dev.ckeditor.com/ticket/11580): Introduced the [notification system](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.notification). + * [#12810](https://dev.ckeditor.com/ticket/12810): Introduced a [notification aggregator](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.notificationAggregator) for the [notification system](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.notification) which simplifies displaying progress of many concurrent tasks. +* [#11636](https://dev.ckeditor.com/ticket/11636): Introduced new, UX-focused, methods for getting selected HTML and deleting it &mdash; [`editor.getSelectedHtml()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-getSelectedHtml) and [`editor.extractSelectedHtml()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-extractSelectedHtml). +* [#12416](https://dev.ckeditor.com/ticket/12416): Added the [`widget.definition.upcastPriority`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget.definition-property-upcastPriority) property which gives more control over widget upcasting order to the widget author. +* [#12036](https://dev.ckeditor.com/ticket/12036): Initialize the editor in [read-only](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-property-readOnly) mode when the `<textarea>` element has a `readonly` attribute. +* [#11905](https://dev.ckeditor.com/ticket/11905): The [`resize` event](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-resize) passes the current dimensions in its data. +* [#12126](https://dev.ckeditor.com/ticket/12126): Introduced [`config.image_prefillDimensions`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-image_prefillDimensions) and [`config.image2_prefillDimensions`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-image2_prefillDimensions) to make pre-filling `width` and `height` configurable for the [Enhanced Image](https://ckeditor.com/cke4/addon/image2). +* [#12746](https://dev.ckeditor.com/ticket/12746): Added a new configuration option to hide the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) resizer. +* [#12150](https://dev.ckeditor.com/ticket/12150): Exposed the [`getNestedEditable()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget-static-method-getNestedEditable) and `is*` [widget helper](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget) functions (see the static methods). +* [#12448](https://dev.ckeditor.com/ticket/12448): Introduced the [`editable.insertHtmlIntoRange`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editable-method-insertHtmlIntoRange) method. +* [#12143](https://dev.ckeditor.com/ticket/12143): Added the [`config.floatSpacePreferRight`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-floatSpacePreferRight) configuration option that switches the alignment of the floating toolbar. Thanks to [InvisibleBacon](http://github.com/InvisibleBacon)! +* [#10986](https://dev.ckeditor.com/ticket/10986): Added support for changing dialog input and textarea text directions by using the *Shift+Alt+Home/End* keystrokes. The direction is stored in the value of the input by prepending the [`\u202A`](http://unicode.org/cldr/utility/character.jsp?a=202A) or [`\u202B`](http://unicode.org/cldr/utility/character.jsp?a=202B) marker to it. Read more in the [documentation](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dialog.definition.textInput-property-bidi). Thanks to [edithkk](https://github.com/edithkk)! +* [#12770](https://dev.ckeditor.com/ticket/12770): Added support for passing [widget](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget)'s startup data as a widget command's argument. Thanks to [Rebrov Boris](https://github.com/zipp3r) and [Tieme van Veen](https://github.com/tiemevanveen)! +* [#11583](https://dev.ckeditor.com/ticket/11583): Added support for the HTML5 `required` attribute in various form elements. Thanks to [Steven Busse](https://github.com/sbusse)! + +Changes: + +* [#12858](https://dev.ckeditor.com/ticket/12858): Basic [Spartan](http://blogs.windows.com/bloggingwindows/2015/03/30/introducing-project-spartan-the-new-browser-built-for-windows-10/) browser compatibility. Full compatibility will be introduced later, because at the moment Spartan is still too unstable to be used for tests and we see many changes from version to version. +* [#12948](https://dev.ckeditor.com/ticket/12948): The [`config.mathJaxLibrary`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-mathJaxLib) option does not default to the MathJax CDN any more. It needs to be configured to enable the [Mathematical Formulas](https://ckeditor.com/cke4/addon/mathjax) plugin now. +* [#13069](https://dev.ckeditor.com/ticket/13069): Fixed inconsistencies between [`editable.insertHtml()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editable-method-insertElement) and [`editable.insertElement()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editable-method-insertElement) when the `range` parameter is used. Now, the `editor.insertElement()` method works on a higher level, which means that it saves undo snapshots and sets the selection after insertion. Use the [`editable.insertElementIntoRange()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editable-method-insertElementIntoRange) method directly for the pre 4.5 behavior of `editable.insertElement()`. +* [#12870](https://dev.ckeditor.com/ticket/12870): Use [`editor.showNotification()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-showNotification) instead of `alert()` directly whenever possible. When the [Notification plugin](https://ckeditor.com/cke4/addon/notification) is loaded, the notification system is used automatically. Otherwise, the native `alert()` is displayed. +* [#8024](https://dev.ckeditor.com/ticket/8024): Swapped behavior of the Split Cell Vertically and Horizontally features of the [Table Tools](https://ckeditor.com/cke4/addon/tabletools) plugin to be more intuitive. Thanks to [kevinisagit](https://github.com/kevinisagit)! +* [#10903](https://dev.ckeditor.com/ticket/10903): Performance improvements for the [`dom.element.addClass()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.element-method-addClass), [`dom.element.removeClass()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.element-method-removeClass) and [`dom.element.hasClass()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.element-method-hasClass) methods. Note: The previous implementation allowed passing multiple classes to `addClass()` although it was only a side effect of that implementation. The new implementation does not allow this. +* [#11856](https://dev.ckeditor.com/ticket/11856): The jQuery adapter throws a meaningful error if CKEditor or jQuery are not loaded. + +Fixed issues: + +* [#11586](https://dev.ckeditor.com/ticket/11586): Fixed: [`range.cloneContents()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.range-method-cloneContents) should not change the DOM in order not to affect selection. +* [#12148](https://dev.ckeditor.com/ticket/12148): Fixed: [`dom.element.getChild()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.element-method-getChild) should not modify a passed array. +* [#12503](https://dev.ckeditor.com/ticket/12503): [Blink/Webkit] Fixed: Incorrect result of Select All and *Backspace* or *Delete*. +* [#13001](https://dev.ckeditor.com/ticket/13001): [Firefox] Fixed: The `<br />` filler is placed in the wrong position by the [`range.fixBlock()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.range-method-fixBlock) method due to quirky Firefox behavior. +* [#13101](https://dev.ckeditor.com/ticket/13101): [IE8] Fixed: Colons are prepended to HTML5 element names when cloning them. + +## CKEditor 4.4.8 + +**Security Updates:** + +* Fixed XSS vulnerability in the HTML parser reported by [Dheeraj Joshi](https://twitter.com/dheerajhere) and [Prem Kumar](https://twitter.com/iAmPr3m). + + Issue summary: It was possible to execute XSS inside CKEditor after persuading the victim to: (i) switch CKEditor to source mode, then (ii) paste a specially crafted HTML code, prepared by the attacker, into the opened CKEditor source area, and (iii) switch back to WYSIWYG mode. + +**An upgrade is highly recommended!** + +Fixed Issues: + +* [#12899](https://dev.ckeditor.com/ticket/12899): Fixed: Corrected wrong tag ending for horizontal box definition in the [Dialog User Interface](https://ckeditor.com/cke4/addon/dialogui) plugin. Thanks to [mizafish](https://github.com/mizafish)! +* [#13254](https://dev.ckeditor.com/ticket/13254): Fixed: Cannot outdent block after indent when using the [Div Editing Area](https://ckeditor.com/cke4/addon/divarea) plugin. Thanks to [Jonathan Cottrill](https://github.com/jcttrll)! +* [#13268](https://dev.ckeditor.com/ticket/13268): Fixed: Documentation for [`CKEDITOR.dom.text`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.text) is incorrect. Thanks to [Ben Kiefer](https://github.com/benkiefer)! +* [#12739](https://dev.ckeditor.com/ticket/12739): Fixed: Link loses inline styles when edited without the [Advanced Tab for Dialogs](https://ckeditor.com/cke4/addon/dialogadvtab) plugin. Thanks to [Віталій Крутько](https://github.com/asmforce)! +* [#13292](https://dev.ckeditor.com/ticket/13292): Fixed: Protection pattern does not work in attribute in self-closing elements with no space before `/>`. Thanks to [Віталій Крутько](https://github.com/asmforce)! +* [PR#192](https://github.com/ckeditor/ckeditor-dev/pull/192): Fixed: Variable name typo in the [Dialog User Interface](https://ckeditor.com/cke4/addon/dialogui) plugin which caused [`CKEDITOR.ui.dialog.radio`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.ui.dialog.radio) validation to not work. Thanks to [Florian Ludwig](https://github.com/FlorianLudwig)! +* [#13232](https://dev.ckeditor.com/ticket/13232): [Safari] Fixed: The [`element.appendText()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.element-method-appendText) method does not work properly for empty elements. +* [#13233](https://dev.ckeditor.com/ticket/13233): Fixed: [HTMLDataProcessor](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.htmlDataProcessor) can process `foo:href` attributes. +* [#12796](https://dev.ckeditor.com/ticket/12796): Fixed: The [Indent List](https://ckeditor.com/cke4/addon/indentlist) plugin unwraps parent `<li>` elements. Thanks to [Andrew Stucki](https://github.com/andrewstucki)! +* [#12885](https://dev.ckeditor.com/ticket/12885): Added missing [`editor.getData()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-getData) parameter documentation. +* [#11982](https://dev.ckeditor.com/ticket/11982): Fixed: Bullet added in a wrong position after the *Enter* key is pressed in a nested list. +* [#13027](https://dev.ckeditor.com/ticket/13027): Fixed: Keyboard navigation in dialog windows with multiple tabs not following IBM CI 162 instructions or [ARIA Authoring Practices](http://www.w3.org/TR/2013/WD-wai-aria-practices-20130307/#tabpanel). +* [#12256](https://dev.ckeditor.com/ticket/12256): Fixed: Basic styles classes are lost when pasting from Microsoft Word if [basic styles](https://ckeditor.com/cke4/addon/basicstyles) were configured to use classes. +* [#12729](https://dev.ckeditor.com/ticket/12729): Fixed: Incorrect structure created when merging a block into a list item on *Backspace* and *Delete*. +* [#13031](https://dev.ckeditor.com/ticket/13031): [Firefox] Fixed: No more line breaks in source view since Firefox 36. +* [#13131](https://dev.ckeditor.com/ticket/13131): Fixed: The [Code Snippet](https://ckeditor.com/cke4/addon/codesnippet) plugin cannot be used without the [IFrame Editing Area](https://ckeditor.com/cke4/addon/wysiwygarea) plugin. +* [#9086](https://dev.ckeditor.com/ticket/9086): Fixed: Invalid ARIA property used on paste area `<iframe>`. +* [#13164](https://dev.ckeditor.com/ticket/13164): Fixed: Error when inserting a hidden field. +* [#13155](https://dev.ckeditor.com/ticket/13155): Fixed: Incorrect [Line Utilities](https://ckeditor.com/cke4/addon/lineutils) positioning when `<body>` has a margin. +* [#13351](https://dev.ckeditor.com/ticket/13351): Fixed: Link lost when editing a linked image with the Link tab disabled. This also fixed a bug when inserting an image into a fully selected link would throw an error ([#12847](https://dev.ckeditor.com/ticket/12847)). +* [#13344](https://dev.ckeditor.com/ticket/13344): [WebKit/Blink] Fixed: It is possible to remove or change editor content in [read-only mode](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_readonly). + +Other Changes: + +* [#12844](https://dev.ckeditor.com/ticket/12844) and [#13103](https://dev.ckeditor.com/ticket/13103): Upgraded the [testing environment](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_tests) to [Bender.js](https://github.com/benderjs/benderjs) `0.2.3`. +* [#12930](https://dev.ckeditor.com/ticket/12930): Because of licensing issues, `truncated-mathjax/` is now removed from the `tests/` directory. Now `bender.config.mathJaxLibPath` must be configured manually in order to run [Mathematical Formulas](https://ckeditor.com/cke4/addon/mathjax) plugin tests. +* [#13266](https://dev.ckeditor.com/ticket/13266): Added more shades of gray in the [Color Dialog](https://ckeditor.com/cke4/addon/colordialog) window. Thanks to [mizafish](https://github.com/mizafish)! + + +## CKEditor 4.4.7 + +Fixed Issues: + +* [#12825](https://dev.ckeditor.com/ticket/12825): Fixed: Preventing the [Table Resize](https://ckeditor.com/cke4/addon/tableresize) plugin from operating on elements outside the editor. Thanks to [Paul Martin](https://github.com/Paul-Martin)! +* [#12157](https://dev.ckeditor.com/ticket/12157): Fixed: Lost text formatting on pressing *Tab* when the [`config.tabSpaces`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-tabSpaces) configuration option value was greater than zero. +* [#12777](https://dev.ckeditor.com/ticket/12777): Fixed: The `table-layout` CSS property should be reset by skins. Thanks to [vita10gy](https://github.com/vita10gy)! +* [#12812](https://dev.ckeditor.com/ticket/12812): Fixed: An uncaught security exception is thrown when [Line Utilities](https://ckeditor.com/cke4/addon/lineutils) are used in an inline editor loaded in a cross-domain `iframe`. Thanks to [Vitaliy Zurian](https://github.com/thecatontheflat)! +* [#12735](https://dev.ckeditor.com/ticket/12735): Fixed: [`config.fillEmptyBlocks`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-fillEmptyBlocks) should only apply when outputting data. +* [#10032](https://dev.ckeditor.com/ticket/10032): Fixed: [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) filter is executed for every paste after using the button. +* [#12597](https://dev.ckeditor.com/ticket/12597): [Blink/WebKit] Fixed: Multi-byte Japanese characters entry not working properly after *Shift+Enter*. +* [#12387](https://dev.ckeditor.com/ticket/12387): Fixed: An error is thrown if a skin does not have the [`chameleon`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.skin-method-chameleon) property defined and [`config.uiColor`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-uiColor) is defined. +* [#12747](https://dev.ckeditor.com/ticket/12747): [IE8-10] Fixed: Opening a drop-down for a specific selection when the editor is maximized results in incorrect drop-down panel position. +* [#12850](https://dev.ckeditor.com/ticket/12850): [IEQM] Fixed: An error is thrown after focusing the editor. + +## CKEditor 4.4.6 + +**Security Updates:** + +* Fixed XSS vulnerability in the HTML parser reported by [Maco Cortes](https://www.facebook.com/Maaacoooo). + + Issue summary: It was possible to execute XSS inside CKEditor after persuading the victim to: (i) switch CKEditor to source mode, then (ii) paste a specially crafted HTML code, prepared by the attacker, into the opened CKEditor source area, and (iii) switch back to WYSIWYG mode. + +**An upgrade is highly recommended!** + +New Features: + +* [#12501](https://dev.ckeditor.com/ticket/12501): Allowed dashes in element names in the [string format of allowed content rules](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_allowed_content_rules-section-string-format). +* [#12550](https://dev.ckeditor.com/ticket/12550): Added the `<main>` element to the [`CKEDITOR.dtd`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dtd). + +Fixed Issues: + +* [#12506](https://dev.ckeditor.com/ticket/12506): [Safari] Fixed: Cannot paste into inline editor if the page has `user-select: none` style. Thanks to [shaohua](https://github.com/shaohua)! +* [#12683](https://dev.ckeditor.com/ticket/12683): Fixed: [Filter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_acf) fails to remove custom tags. Thanks to [timselier](https://github.com/timselier)! +* [#12489](https://dev.ckeditor.com/ticket/12489) and [#12491](https://dev.ckeditor.com/ticket/12491): Fixed: Various issues related to restoring the selection after performing operations on filler character. See the [fixed cases](https://dev.ckeditor.com/ticket/12491#comment:4). +* [#12621](https://dev.ckeditor.com/ticket/12621): Fixed: Cannot remove inline styles (bold, italic, etc.) in empty lines. +* [#12630](https://dev.ckeditor.com/ticket/12630): [Chrome] Fixed: Selection is placed outside the paragraph when the [New Page](https://ckeditor.com/cke4/addon/newpage) button is clicked. This patch significantly simplified the way how the initial selection (a selection after the content of the editable is overwritten) is being fixed. That might have fixed many related scenarios in all browsers. +* [#11647](https://dev.ckeditor.com/ticket/11647): Fixed: The [`editor.blur`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-blur) event is not fired on first blur after initializing the inline editor on an already focused element. +* [#12601](https://dev.ckeditor.com/ticket/12601): Fixed: [Strikethrough](https://ckeditor.com/cke4/addon/basicstyles) button tooltip spelling. +* [#12546](https://dev.ckeditor.com/ticket/12546): Fixed: The Preview tab in the [Document Properties](https://ckeditor.com/cke4/addon/docprops) dialog window is always disabled. +* [#12300](https://dev.ckeditor.com/ticket/12300): Fixed: The [`editor.change`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-change) event fired on first navigation key press after typing. +* [#12141](https://dev.ckeditor.com/ticket/12141): Fixed: List items are lost when indenting a list item with content wrapped with a block element. +* [#12515](https://dev.ckeditor.com/ticket/12515): Fixed: Cursor is in the wrong position when undoing after adding an image and typing some text. +* [#12484](https://dev.ckeditor.com/ticket/12484): [Blink/WebKit] Fixed: DOM is changed outside the editor area in a certain case. +* [#12688](https://dev.ckeditor.com/ticket/12688): Improved the tests of the [styles system](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.style) and fixed two minor issues. +* [#12403](https://dev.ckeditor.com/ticket/12403): Fixed: Changing the [font](https://ckeditor.com/cke4/addon/font) style should not lead to nesting it in the previous style element. +* [#12609](https://dev.ckeditor.com/ticket/12609): Fixed: Incorrect `config.magicline_putEverywhere` name used for a [Magic Line](https://ckeditor.com/cke4/addon/magicline) all-encompassing [`config.magicline_everywhere`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-magicline_everywhere) configuration option. + + +## CKEditor 4.4.5 + +New Features: + +* [#12279](https://dev.ckeditor.com/ticket/12279): Added a possibility to pass a custom evaluator to [`node.getAscendant()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.node-method-getAscendant). + +Fixed Issues: + +* [#12423](https://dev.ckeditor.com/ticket/12423): [Safari7.1+] Fixed: *Enter* key moved cursor to a strange position. +* [#12381](https://dev.ckeditor.com/ticket/12381): [iOS] Fixed: Selection issue. Thanks to [Remiremi](https://github.com/Remiremi)! +* [#10804](https://dev.ckeditor.com/ticket/10804): Fixed: `CKEDITOR_GETURL` is not used with some plugins where it should be used. Thanks to [Thomas Andraschko](https://github.com/tandraschko)! +* [#9137](https://dev.ckeditor.com/ticket/9137): Fixed: The `<base>` tag is not created when `<head>` has an attribute. Thanks to [naoki.fujikawa](https://github.com/naoki-fujikawa)! +* [#12377](https://dev.ckeditor.com/ticket/12377): Fixed: Errors thrown in the [Image](https://ckeditor.com/cke4/addon/image) plugin when removing preview from the dialog window definition. Thanks to [Axinet](https://github.com/Axinet)! +* [#12162](https://dev.ckeditor.com/ticket/12162): Fixed: Auto paragraphing and *Enter* key in nested editables. +* [#12315](https://dev.ckeditor.com/ticket/12315): Fixed: Marked [`config.autoParagraph`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-autoParagraph) as deprecated. +* [#12113](https://dev.ckeditor.com/ticket/12113): Fixed: A [code snippet](https://ckeditor.com/cke4/addon/codesnippet) should be presented in the [elements path](https://ckeditor.com/cke4/addon/elementspath) as "code snippet" (translatable). +* [#12311](https://dev.ckeditor.com/ticket/12311): Fixed: [Remove Format](https://ckeditor.com/cke4/addon/removeformat) should also remove `<cite>` elements. +* [#12261](https://dev.ckeditor.com/ticket/12261): Fixed: Filter has to be destroyed and removed from [`CKEDITOR.filter.instances`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.filter-static-property-instances) on editor destroy. +* [#12398](https://dev.ckeditor.com/ticket/12398): Fixed: [Maximize](https://ckeditor.com/cke4/addon/maximize) does not work on an instance without a [title](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-title). +* [#12097](https://dev.ckeditor.com/ticket/12097): Fixed: JAWS not reading the number of options correctly in the [Text Color and Background Color](https://ckeditor.com/cke4/addon/colorbutton) button menu. +* [#12411](https://dev.ckeditor.com/ticket/12411): Fixed: [Page Break](https://ckeditor.com/cke4/addon/pagebreak) used directly in the editable breaks the editor. +* [#12354](https://dev.ckeditor.com/ticket/12354): Fixed: Various issues in undo manager when holding keys. +* [#12324](https://dev.ckeditor.com/ticket/12324): [IE8] Fixed: Undo steps are not recorded when changing the caret position by clicking below the body. +* [#12332](https://dev.ckeditor.com/ticket/12332): Fixed: Lowered DOM events listeners' priorities in undo manager in order to avoid ambiguity. +* [#12402](https://dev.ckeditor.com/ticket/12402): [Blink] Fixed: Workaround for Blink bug with `document.title` which breaks updating title in the full HTML mode. +* [#12338](https://dev.ckeditor.com/ticket/12338): Fixed: The CKEditor package contains unoptimized images. + + +## CKEditor 4.4.4 + +Fixed Issues: + +* [#12268](https://dev.ckeditor.com/ticket/12268): Cleanup of [UI Color](https://ckeditor.com/cke4/addon/uicolor) YUI styles. Thanks to [CasherWest](https://github.com/CasherWest)! +* [#12263](https://dev.ckeditor.com/ticket/12263): Fixed: [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) filter does not properly normalize semicolons style text. Thanks to [Alin Purcaru](https://github.com/mesmerizero)! +* [#12243](https://dev.ckeditor.com/ticket/12243): Fixed: Text formatting lost when pasting from Word. Thanks to [Alin Purcaru](https://github.com/mesmerizero)! +* [#111739](https://dev.ckeditor.com/ticket/11739): Fixed: `keypress` listeners should not be used in the undo manager. A complete rewrite of keyboard handling in the undo manager was made. Numerous smaller issues were fixed, among others: + * [#10926](https://dev.ckeditor.com/ticket/10926): [Chrome@Android] Fixed: Typing does not record snapshots and does not fire the [`editor.change`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-change) event. + * [#11611](https://dev.ckeditor.com/ticket/11611): [Firefox] Fixed: The [`editor.change`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-change) event is fired when pressing Arrow keys. + * [#12219](https://dev.ckeditor.com/ticket/12219): [Safari] Fixed: Some modifications of the [`UndoManager.locked`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.undo.UndoManager-property-locked) property violate strict mode in the [Undo](https://ckeditor.com/cke4/addon/undo) plugin. +* [#10916](https://dev.ckeditor.com/ticket/10916): Fixed: [Magic Line](https://ckeditor.com/cke4/addon/magicline) icon in Right-To-Left environments. +* [#11970](https://dev.ckeditor.com/ticket/11970): [IE] Fixed: CKEditor `paste` event is not fired when pasting with *Shift+Ins*. +* [#12111](https://dev.ckeditor.com/ticket/12111): Fixed: Linked image attributes are not read when opening the image dialog window by doubleclicking. +* [#10030](https://dev.ckeditor.com/ticket/10030): [IE] Fixed: Prevented "Unspecified Error" thrown in various cases when IE8-9 does not allow access to `document.activeElement`. +* [#12273](https://dev.ckeditor.com/ticket/12273): Fixed: Applying block style in a description list breaks it. +* [#12218](https://dev.ckeditor.com/ticket/12218): Fixed: Minor syntax issue in CSS files. +* [#12178](https://dev.ckeditor.com/ticket/12178): [Blink/WebKit] Fixed: Iterator does not return the block if the selection is located at the end of it. +* [#12185](https://dev.ckeditor.com/ticket/12185): [IE9QM] Fixed: Error thrown when moving the mouse over focused editor's scrollbar. +* [#12215](https://dev.ckeditor.com/ticket/12215): Fixed: Basepath resolution does not recognize semicolon as a query separator. +* [#12135](https://dev.ckeditor.com/ticket/12135): Fixed: [Remove Format](https://ckeditor.com/cke4/addon/removeformat) does not work on widgets. +* [#12298](https://dev.ckeditor.com/ticket/12298): [IE11] Fixed: Clicking below `<body>` in Compatibility Mode will no longer reset selection to the first line. +* [#12204](https://dev.ckeditor.com/ticket/12204): Fixed: Editor's voice label is not affected by [`config.title`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-title). +* [#11915](https://dev.ckeditor.com/ticket/11915): Fixed: With [SCAYT](https://ckeditor.com/cke4/addon/scayt) enabled, cursor moves to the beginning of the first highlighted, misspelled word after typing or pasting into the editor. +* [SCAYT](https://github.com/WebSpellChecker/ckeditor-plugin-scayt/issues/69): Fixed: Error thrown in the console after enabling [SCAYT](https://ckeditor.com/cke4/addon/scayt) and trying to add a new image. + + +Other Changes: + +* [#12296](https://dev.ckeditor.com/ticket/12296): Merged `benderjs-ckeditor` into the main CKEditor repository. + +## CKEditor 4.4.3 + +**Security Updates:** + +* Fixed XSS vulnerability in the Preview plugin reported by Mario Heiderich of [Cure53](https://cure53.de/). + +**An upgrade is highly recommended!** + +New Features: + +* [#12164](https://dev.ckeditor.com/ticket/12164): Added the "Justify" option to the "Horizontal Alignment" drop-down in the Table Cell Properties dialog window. + +Fixed Issues: + +* [#12110](https://dev.ckeditor.com/ticket/12110): Fixed: Editor crash after deleting a table. Thanks to [Alin Purcaru](https://github.com/mesmerizero)! +* [#11897](https://dev.ckeditor.com/ticket/11897): Fixed: *Enter* key used in an empty list item creates a new line instead of breaking the list. Thanks to [noam-si](https://github.com/noam-si)! +* [#12140](https://dev.ckeditor.com/ticket/12140): Fixed: Double-clicking linked widgets opens two dialog windows. +* [#12132](https://dev.ckeditor.com/ticket/12132): Fixed: Image is inserted with `width` and `height` styles even when they are not allowed. +* [#9317](https://dev.ckeditor.com/ticket/9317): [IE] Fixed: [`config.disableObjectResizing`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-disableObjectResizing) does not work on IE. **Note**: We were not able to fix this issue on IE11+ because necessary events stopped working. See a [last resort workaround](https://dev.ckeditor.com/ticket/9317#comment:16) and make sure to [support our complaint to Microsoft](https://connect.microsoft.com/IE/feedback/details/742593/please-respect-execcommand-enableobjectresizing-in-contenteditable-elements). +* [#9638](https://dev.ckeditor.com/ticket/9638): Fixed: There should be no information about accessibility help available under the *Alt+0* keyboard shortcut if the [Accessibility Help](https://ckeditor.com/cke4/addon/a11yhelp) plugin is not available. +* [#8117](https://dev.ckeditor.com/ticket/8117) and [#9186](https://dev.ckeditor.com/ticket/9186): Fixed: In HTML5 `<meta>` tags should be allowed everywhere, including inside the `<body>` element. +* [#10422](https://dev.ckeditor.com/ticket/10422): Fixed: [`config.fillEmptyBlocks`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-fillEmptyBlocks) not working properly if a function is specified. + +## CKEditor 4.4.2 + +Important Notes: + +* The CKEditor testing environment is now publicly available. Read more about how to set up the environment and execute tests in the [CKEditor Testing Environment](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_tests) guide. + Please note that the [`tests/`](https://github.com/ckeditor/ckeditor-dev/tree/master/tests) directory which contains editor tests is not available in release packages. It can only be found in the development version of CKEditor on [GitHub](https://github.com/ckeditor/ckeditor-dev/). + +New Features: + +* [#11909](https://dev.ckeditor.com/ticket/11909): Introduced a parameter to prevent the [`editor.setData()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-setData) method from recording undo snapshots. + +Fixed Issues: + +* [#11757](https://dev.ckeditor.com/ticket/11757): Fixed: Imperfections in the [Moono](https://ckeditor.com/cke4/addon/moono) skin. Thanks to [danyaPostfactum](https://github.com/danyaPostfactum)! +* [#10091](https://dev.ckeditor.com/ticket/10091): Blockquote should be treated like an object by the styles system. Thanks to [dan-james-deeson](https://github.com/dan-james-deeson)! +* [#11478](https://dev.ckeditor.com/ticket/11478): Fixed: Issue with passing jQuery objects to [adapter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_jquery) configuration. +* [#10867](https://dev.ckeditor.com/ticket/10867): Fixed: Issue with setting encoded URI as image link. +* [#11983](https://dev.ckeditor.com/ticket/11983): Fixed: Clicking a nested widget does not focus it. Additionally, performance of the [`widget.repository.getByElement()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget.repository-method-getByElement) method was improved. +* [#12000](https://dev.ckeditor.com/ticket/12000): Fixed: Nested widgets should be initialized on [`editor.setData()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-setData) and [`nestedEditable.setData()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget.nestedEditable-method-setData). +* [#12022](https://dev.ckeditor.com/ticket/12022): Fixed: Outer widget's drag handler is not created at all if it has any nested widgets inside. +* [#11960](https://dev.ckeditor.com/ticket/11960): [Blink/WebKit] Fixed: The caret should be scrolled into view on *Backspace* and *Delete* (covers only the merging blocks case). +* [#11306](https://dev.ckeditor.com/ticket/11306): [OSX][Blink/WebKit] Fixed: No widget entries in the context menu on widget right-click. +* [#11957](https://dev.ckeditor.com/ticket/11957): Fixed: Alignment labels in the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) dialog window are not translated. +* [#11980](https://dev.ckeditor.com/ticket/11980): [Blink/WebKit] Fixed: `<span>` elements created when joining adjacent elements (non-collapsed selection). +* [#12009](https://dev.ckeditor.com/ticket/12009): [Nested widgets] Integration with the [Magic Line](https://ckeditor.com/cke4/addon/magicline) plugin. +* [#11387](https://dev.ckeditor.com/ticket/11387): Fixed: `role="radiogroup"` should be applied only to radio inputs' container. +* [#7975](https://dev.ckeditor.com/ticket/7975): [IE8] Fixed: Errors when trying to select an empty table cell. +* [#11947](https://dev.ckeditor.com/ticket/11947): [Firefox+IE11] Fixed: *Shift+Enter* in lists produces two line breaks. +* [#11972](https://dev.ckeditor.com/ticket/11972): Fixed: Feature detection in the [`element.setText()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.element-method-setText) method should not trigger the layout engine. +* [#7634](https://dev.ckeditor.com/ticket/7634): Fixed: The [Flash Dialog](https://ckeditor.com/cke4/addon/flash) plugin omits the `allowFullScreen` parameter in the editor data if set to `true`. +* [#11910](https://dev.ckeditor.com/ticket/11910): Fixed: [Enhanced Image](https://ckeditor.com/cke4/addon/image2) does not take [`config.baseHref`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-baseHref) into account when updating image dimensions. +* [#11753](https://dev.ckeditor.com/ticket/11753): Fixed: Wrong [`checkDirty()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-checkDirty) method value after focusing or blurring a widget. +* [#11830](https://dev.ckeditor.com/ticket/11830): Fixed: Impossible to pass some arguments to [CKBuilder](https://github.com/ckeditor/ckbuilder) when using the `/dev/builder/build.sh` script. +* [#11945](https://dev.ckeditor.com/ticket/11945): Fixed: [Form Elements](https://ckeditor.com/cke4/addon/forms) plugin should not change a core method. +* [#11384](https://dev.ckeditor.com/ticket/11384): [IE9+] Fixed: `IndexSizeError` thrown when pasting into a non-empty selection anchored in one text node. + +## CKEditor 4.4.1 + +New Features: + +* [#9661](https://dev.ckeditor.com/ticket/9661): Added the option to [configure](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-linkJavaScriptLinksAllowed) anchor tags with JavaScript code in the `href` attribute. + +Fixed Issues: + +* [#11861](https://dev.ckeditor.com/ticket/11861): [WebKit/Blink] Fixed: Span elements created while joining adjacent elements. **Note:** This patch only covers cases when *Backspace* or *Delete* is pressed on a collapsed (empty) selection. The remaining case, with a non-empty selection, will be fixed in the next release. +* [#10714](https://dev.ckeditor.com/ticket/10714): [iOS] Fixed: Selection and drop-downs are broken if a touch event listener is used due to a [WebKit bug](https://bugs.webkit.org/show_bug.cgi?id=128924). Thanks to [Arty Gus](https://github.com/artygus)! +* [#11911](https://dev.ckeditor.com/ticket/11911): Fixed setting the `dir` attribute for a preloaded language in [CKEDITOR.lang](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.lang). Thanks to [Akash Mohapatra](https://github.com/akashmohapatra)! +* [#11926](https://dev.ckeditor.com/ticket/11926): Fixed: [Code Snippet](https://ckeditor.com/cke4/addon/codesnippet) does not decode HTML entities when loading code from the `<code>` element. +* [#11223](https://dev.ckeditor.com/ticket/11223): Fixed: Issue when [Protected Source](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-protectedSource) was not working in the `<title>` element. +* [#11859](https://dev.ckeditor.com/ticket/11859): Fixed: Removed the [Source Dialog](https://ckeditor.com/cke4/addon/sourcedialog) plugin dependency from the [Code Snippet](https://ckeditor.com/cke4/addon/codesnippet) sample. +* [#11754](https://dev.ckeditor.com/ticket/11754): [Chrome] Fixed: Infinite loop when content includes not closed attributes. +* [#11848](https://dev.ckeditor.com/ticket/11848): [IE] Fixed: [`editor.insertElement()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-insertElement) throwing an exception when there was no selection in the editor. +* [#11801](https://dev.ckeditor.com/ticket/11801): Fixed: Editor anchors unavailable when linking the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) widget. +* [#11626](https://dev.ckeditor.com/ticket/11626): Fixed: [Table Resize](https://ckeditor.com/cke4/addon/tableresize) sets invalid column width. +* [#11872](https://dev.ckeditor.com/ticket/11872): Made [`element.addClass()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.element-method-addClass) chainable symmetrically to [`element.removeClass()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.element-method-removeClass). +* [#11813](https://dev.ckeditor.com/ticket/11813): Fixed: Link lost while pasting a captioned image and restoring an undo snapshot ([Enhanced Image](https://ckeditor.com/cke4/addon/image2)). +* [#11814](https://dev.ckeditor.com/ticket/11814): Fixed: _Link_ and _Unlink_ entries persistently displayed in the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) context menu. +* [#11839](https://dev.ckeditor.com/ticket/11839): [IE9] Fixed: The caret jumps out of the editable area when resizing the editor in the source mode. +* [#11822](https://dev.ckeditor.com/ticket/11822): [WebKit] Fixed: Editing anchors by double-click is broken in some cases. +* [#11823](https://dev.ckeditor.com/ticket/11823): [IE8] Fixed: [Table Resize](https://ckeditor.com/cke4/addon/tableresize) throws an error over scrollbar. +* [#11788](https://dev.ckeditor.com/ticket/11788): Fixed: It is not possible to change the language back to _Not set_ in the [Code Snippet](https://ckeditor.com/cke4/addon/codesnippet) dialog window. +* [#11788](https://dev.ckeditor.com/ticket/11788): Fixed: [Filter](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.htmlParser.filter) rules are not applied inside elements with the `contenteditable` attribute set to `true`. +* [#11798](https://dev.ckeditor.com/ticket/11798): Fixed: Inserting a non-editable element inside a table cell breaks the table. +* [#11793](https://dev.ckeditor.com/ticket/11793): Fixed: Drop-down is not "on" when clicking it while the editor is blurred. +* [#11850](https://dev.ckeditor.com/ticket/11850): Fixed: Fake objects with the `contenteditable` attribute set to `false` are not downcasted properly. +* [#11811](https://dev.ckeditor.com/ticket/11811): Fixed: Widget's data is not encoded correctly when passed to an attribute. +* [#11777](https://dev.ckeditor.com/ticket/11777): Fixed encoding ampersand in the [Mathematical Formulas](https://ckeditor.com/cke4/addon/mathjax) plugin. +* [#11880](https://dev.ckeditor.com/ticket/11880): [IE8-9] Fixed: Linked image has a default thick border. + +Other Changes: + +* [#11807](https://dev.ckeditor.com/ticket/11807): Updated jQuery version used in the sample to 1.11.0 and tested CKEditor jQuery Adapter with version 1.11.0 and 2.1.0. +* [#9504](https://dev.ckeditor.com/ticket/9504): Stopped using deprecated `attribute.specified` in all browsers except Internet Explorer. +* [#11809](https://dev.ckeditor.com/ticket/11809): Changed tab size in `<pre>` to 4 spaces. + +## CKEditor 4.4 + +**Important Notes:** + +* Marked the [`editor.beforePaste`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-beforePaste) event as deprecated. +* The default class of captioned images has changed to `image` (was: `caption`). Please note that once edited in CKEditor 4.4+, all existing images of the `caption` class (`<figure class="caption">`) will be [filtered out](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_advanced_content_filter) unless the [`config.image2_captionedClass`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-image2_captionedClass) option is set to `caption`. For backward compatibility (i.e. when upgrading), it is highly recommended to use this setting, which also helps prevent CSS conflicts, etc. This does not apply to new CKEditor integrations. +* Widgets without defined buttons are no longer registered automatically to the [Advanced Content Filter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_advanced_content_filter). Before CKEditor 4.4 widgets were registered to the ACF which was an incorrect behavior ([#11567](https://dev.ckeditor.com/ticket/11567)). This change should not have any impact on standard scenarios, but if your button does not execute the widget command, you need to set [`allowedContent`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.feature-property-allowedContent) and [`requiredContent`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.feature-property-requiredContent) properties for it manually, because the editor will not be able to find them. +* The [Show Borders](https://ckeditor.com/cke4/addon/showborders) plugin was added to the Standard installation package in order to ensure that unstyled tables are still visible for the user ([#11665](https://dev.ckeditor.com/ticket/11665)). +* Since CKEditor 4.4 the editor instance should be passed to [`CKEDITOR.style`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.style) methods to ensure full compatibility with other features (e.g. applying styles to widgets requires that). We ensured backward compatibility though, so the [`CKEDITOR.style`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.style) will work even when the editor instance is not provided. + +New Features: + +* [#11297](https://dev.ckeditor.com/ticket/11297): Styles can now be applied to widgets. The definition of a style which can be applied to a specific widget must contain two additional properties &mdash; `type` and `widget`. Read more in the [Widget Styles](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_styles-section-widget-styles) section of the "Syles Drop-down" guide. Note that by default, widgets support only classes and no other attributes or styles. Related changes and features: + * Introduced the [`CKEDITOR.style.addCustomHandler()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.style-static-method-addCustomHandler) method for registering custom style handlers. + * The [`CKEDITOR.style.apply()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.style-method-apply) and [`CKEDITOR.style.remove()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.style-method-remove) methods are now called with an editor instance instead of the document so they can be reused by the [`CKEDITOR.editor.applyStyle()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-applyStyle) and [`CKEDITOR.editor.removeStyle()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-removeStyle) methods. Backward compatibility was preserved, but from CKEditor 4.4 it is highly recommended to pass an editor instead of a document to these methods. + * Many new methods and properties were introduced in the [Widget API](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget) to make the handling of styles by widgets fully customizable. See: [`widget.definition.styleableElements`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget.definition-property-styleableElements), [`widget.definition.styleToAllowedContentRule`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget.definition-property-styleToAllowedContentRules), [`widget.addClass()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget-method-addClass), [`widget.removeClass()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget-method-removeClass), [`widget.getClasses()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget-method-getClasses), [`widget.hasClass()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget-method-hasClass), [`widget.applyStyle()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget-method-applyStyle), [`widget.removeStyle()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget-method-removeStyle), [`widget.checkStyleActive()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget-method-checkStyleActive). + * Integration with the [Allowed Content Filter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_advanced_content_filter) required an introduction of the [`CKEDITOR.style.toAllowedContent()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.style-method-toAllowedContentRules) method which can be implemented by the custom style handler and if exists, it is used by the [`CKEDITOR.filter`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.filter) to translate a style to [allowed content rules](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.filter.allowedContentRules). +* [#11300](https://dev.ckeditor.com/ticket/11300): Various changes in the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) plugin: + * Introduced the [`config.image2_captionedClass`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-image2_captionedClass) option to configure the class of captioned images. + * Introduced the [`config.image2_alignClasses`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-image2_alignClasses) option to configure the way images are aligned with CSS classes. + If this setting is defined, the editor produces classes instead of inline styles for aligned images. + * Default image caption can be translated (customized) with the `editor.lang.image2.captionPlaceholder` string. +* [#11341](https://dev.ckeditor.com/ticket/11341): [Enhanced Image](https://ckeditor.com/cke4/addon/image2) plugin: It is now possible to add a link to any image type. +* [#10202](https://dev.ckeditor.com/ticket/10202): Introduced wildcard support in the [Allowed Content Rules](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_allowed_content_rules) format. +* [#10276](https://dev.ckeditor.com/ticket/10276): Introduced blacklisting in the [Allowed Content Filter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_advanced_content_filter). +* [#10480](https://dev.ckeditor.com/ticket/10480): Introduced code snippets with code highlighting. There are two versions available so far &mdash; the default [Code Snippet](https://ckeditor.com/cke4/addon/codesnippet) which uses the [highlight.js](http://highlightjs.org) library and the [Code Snippet GeSHi](https://ckeditor.com/cke4/addon/codesnippetgeshi) which uses the [GeSHi](http://qbnz.com/highlighter/) library. +* [#11737](https://dev.ckeditor.com/ticket/11737): Introduced an option to prevent [filtering](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_advanced_content_filter) of an element that matches custom criteria (see [`filter.addElementCallback()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.filter-method-addElementCallback)). +* [#11532](https://dev.ckeditor.com/ticket/11532): Introduced the [`editor.addContentsCss()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-addContentsCss) method that can be used for [adding custom CSS files](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/plugin_sdk_styles). +* [#11536](https://dev.ckeditor.com/ticket/11536): Added the [`CKEDITOR.tools.htmlDecode()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.tools-method-htmlDecode) method for decoding HTML entities. +* [#11225](https://dev.ckeditor.com/ticket/11225): Introduced the [`CKEDITOR.tools.transparentImageData`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.tools-property-transparentImageData) property which contains transparent image data to be used in CSS or as image source. + +Other Changes: + +* [#11377](https://dev.ckeditor.com/ticket/11377): Unified internal representation of empty anchors using the [fake objects](https://ckeditor.com/cke4/addon/fakeobjects). +* [#11422](https://dev.ckeditor.com/ticket/11422): Removed Firefox 3.x, Internet Explorer 6 and Opera 12.x leftovers in code. +* [#5217](https://dev.ckeditor.com/ticket/5217): Setting data (including switching between modes) creates a new undo snapshot. Besides that: + * Introduced the [`editable.status`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editable-property-status) property. + * Introduced a new `forceUpdate` option for the [`editor.lockSnapshot`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-lockSnapshot) event. + * Fixed: Selection not being unlocked in inline editor after setting data ([#11500](https://dev.ckeditor.com/ticket/11500)). +* The [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) plugin was updated to the latest version. + +Fixed Issues: + +* [#10190](https://dev.ckeditor.com/ticket/10190): Fixed: Removing block style with [`editor.removeStyle()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-removeStyle) should result in a paragraph and not a div. +* [#11727](https://dev.ckeditor.com/ticket/11727): Fixed: The editor tries to select a non-editable image which was clicked. + +## CKEditor 4.3.5 + +New Features: + +* Added new translation: Tatar. + +Fixed Issues: + +* [#11677](https://dev.ckeditor.com/ticket/11677): Fixed: Undo/Redo keystrokes are blocked in the source mode. +* [#11717](https://dev.ckeditor.com/ticket/11717): [Document Properties](https://ckeditor.com/cke4/addon/docprops) plugin requires the [Color Dialog](https://ckeditor.com/cke4/addon/colordialog) plugin to work. + +## CKEditor 4.3.4 + +Fixed Issues: + +* [#11597](https://dev.ckeditor.com/ticket/11597): [IE11] Fixed: Error thrown when trying to open the [preview](https://ckeditor.com/cke4/addon/preview) using the keyboard. +* [#11544](https://dev.ckeditor.com/ticket/11544): [Placeholders](https://ckeditor.com/cke4/addon/placeholder) will no longer be upcasted in parents not accepting `<span>` elements. +* [#8663](https://dev.ckeditor.com/ticket/8663): Fixed [`element.renameNode()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.element-method-renameNode) not clearing the [`element.getName()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.element-method-getName) cache. +* [#11574](https://dev.ckeditor.com/ticket/11574): Fixed: *Backspace* destroying the DOM structure if an inline editable is placed in a list item. +* [#11603](https://dev.ckeditor.com/ticket/11603): Fixed: [Table Resize](https://ckeditor.com/cke4/addon/tableresize) attaches to tables outside the editable. +* [#9205](https://dev.ckeditor.com/ticket/9205), [#7805](https://dev.ckeditor.com/ticket/7805), [#8216](https://dev.ckeditor.com/ticket/8216): Fixed: `{cke_protected_1}` appearing in data in various cases where HTML comments are placed next to `"` or `'`. +* [#11635](https://dev.ckeditor.com/ticket/11635): Fixed: Some attributes are not protected before the content is passed through the fix bin. +* [#11660](https://dev.ckeditor.com/ticket/11660): [IE] Fixed: Table content is lost when some extra markup is inside the table. +* [#11641](https://dev.ckeditor.com/ticket/11641): Fixed: Switching between modes in the classic editor removes content styles for the inline editor. +* [#11568](https://dev.ckeditor.com/ticket/11568): Fixed: [Styles](https://ckeditor.com/cke4/addon/stylescombo) drop-down list is not enabled on selection change. + +## CKEditor 4.3.3 + +Fixed Issues: + +* [#11500](https://dev.ckeditor.com/ticket/11500): [WebKit/Blink] Fixed: Selection lost when setting data in another inline editor. Additionally, [`selection.removeAllRanges()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.selection-method-removeAllRanges) is now scoped to selection's [root](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.selection-property-root). +* [#11104](https://dev.ckeditor.com/ticket/11104): [IE] Fixed: Various issues with scrolling and selection when focusing widgets. +* [#11487](https://dev.ckeditor.com/ticket/11487): Moving mouse over the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) widget will no longer change the value returned by the [`editor.checkDirty()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-checkDirty) method. +* [#8673](https://dev.ckeditor.com/ticket/8673): [WebKit] Fixed: Cannot select and remove the [Page Break](https://ckeditor.com/cke4/addon/pagebreak). +* [#11413](https://dev.ckeditor.com/ticket/11413): Fixed: Incorrect [`editor.execCommand()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-execCommand) behavior. +* [#11438](https://dev.ckeditor.com/ticket/11438): Splitting table cells vertically is no longer changing table structure. +* [#8899](https://dev.ckeditor.com/ticket/8899): Fixed: Links in the [About CKEditor](https://ckeditor.com/cke4/addon/about) dialog window now open in a new browser window or tab. +* [#11490](https://dev.ckeditor.com/ticket/11490): Fixed: [Menu button](https://ckeditor.com/cke4/addon/menubutton) panel not showing in the source mode. +* [#11417](https://dev.ckeditor.com/ticket/11417): The [`widget.doubleclick`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget-event-doubleclick) event is not canceled anymore after editing was triggered. +* [#11253](https://dev.ckeditor.com/ticket/11253): [IE] Fixed: Clipped upload button in the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) dialog window. +* [#11359](https://dev.ckeditor.com/ticket/11359): Standardized the way anchors are discovered by the [Link](https://ckeditor.com/cke4/addon/link) plugin. +* [#11058](https://dev.ckeditor.com/ticket/11058): [IE8] Fixed: Error when deleting a table row. +* [#11508](https://dev.ckeditor.com/ticket/11508): Fixed: [`htmlDataProcessor`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.htmlDataProcessor) discovering protected attributes within other attributes' values. +* [#11533](https://dev.ckeditor.com/ticket/11533): Widgets: Avoid recurring upcasts if the DOM structure was modified during an upcast. +* [#11400](https://dev.ckeditor.com/ticket/11400): Fixed: The [`domObject.removeAllListeners()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.domObject-method-removeAllListeners) method does not remove custom listeners completely. +* [#11493](https://dev.ckeditor.com/ticket/11493): Fixed: The [`selection.getRanges()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.selection-method-getRanges) method does not override cached ranges when used with the `onlyEditables` argument. +* [#11390](https://dev.ckeditor.com/ticket/11390): [IE] All [XML](https://ckeditor.com/cke4/addon/xml) plugin [methods](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.xml) now work in IE10+. +* [#11542](https://dev.ckeditor.com/ticket/11542): [IE11] Fixed: Blurry toolbar icons when Right-to-Left UI language is set. +* [#11504](https://dev.ckeditor.com/ticket/11504): Fixed: When [`config.fullPage`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-fullPage) is set to `true`, entities are not encoded in editor output. +* [#11004](https://dev.ckeditor.com/ticket/11004): Integrated [Enhanced Image](https://ckeditor.com/cke4/addon/image2) dialog window with [Advanced Content Filter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_advanced_content_filter). +* [#11439](https://dev.ckeditor.com/ticket/11439): Fixed: Properties get cloned in the Cell Properties dialog window if multiple cells are selected. + +## CKEditor 4.3.2 + +Fixed Issues: + +* [#11331](https://dev.ckeditor.com/ticket/11331): A menu button will have a changed label when selected instead of using the `aria-pressed` attribute. +* [#11177](https://dev.ckeditor.com/ticket/11177): Widget drag handler improvements: + * [#11176](https://dev.ckeditor.com/ticket/11176): Fixed: Initial position is not updated when the widget data object is empty. + * [#11001](https://dev.ckeditor.com/ticket/11001): Fixed: Multiple synchronous layout recalculations are caused by initial drag handler positioning causing performance issues. + * [#11161](https://dev.ckeditor.com/ticket/11161): Fixed: Drag handler is not repositioned in various situations. + * [#11281](https://dev.ckeditor.com/ticket/11281): Fixed: Drag handler and mask are duplicated after widget reinitialization. +* [#11207](https://dev.ckeditor.com/ticket/11207): [Firefox] Fixed: Misplaced [Enhanced Image](https://ckeditor.com/cke4/addon/image2) resizer in the inline editor. +* [#11102](https://dev.ckeditor.com/ticket/11102): `CKEDITOR.template` improvements: + * [#11102](https://dev.ckeditor.com/ticket/11102): Added newline character support. + * [#11216](https://dev.ckeditor.com/ticket/11216): Added "\\'" substring support. +* [#11121](https://dev.ckeditor.com/ticket/11121): [Firefox] Fixed: High Contrast mode is enabled when the editor is loaded in a hidden iframe. +* [#11350](https://dev.ckeditor.com/ticket/11350): The default value of [`config.contentsCss`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-contentsCss) is affected by [`CKEDITOR.getUrl()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR-method-getUrl). +* [#11097](https://dev.ckeditor.com/ticket/11097): Improved the [Autogrow](https://ckeditor.com/cke4/addon/autogrow) plugin performance when dealing with very big tables. +* [#11290](https://dev.ckeditor.com/ticket/11290): Removed redundant code in the [Source Dialog](https://ckeditor.com/cke4/addon/sourcedialog) plugin. +* [#11133](https://dev.ckeditor.com/ticket/11133): [Page Break](https://ckeditor.com/cke4/addon/pagebreak) becomes editable if pasted. +* [#11126](https://dev.ckeditor.com/ticket/11126): Fixed: Native Undo executed once the bottom of the snapshot stack is reached. +* [#11131](https://dev.ckeditor.com/ticket/11131): [Div Editing Area](https://ckeditor.com/cke4/addon/divarea): Fixed: Error thrown when switching to source mode if the selection was in widget's nested editable. +* [#11139](https://dev.ckeditor.com/ticket/11139): [Div Editing Area](https://ckeditor.com/cke4/addon/divarea): Fixed: Elements Path is not cleared after switching to source mode. +* [#10778](https://dev.ckeditor.com/ticket/10778): Fixed a bug with range enlargement. The range no longer expands to visible whitespace. +* [#11146](https://dev.ckeditor.com/ticket/11146): [IE] Fixed: Preview window switches Internet Explorer to Quirks Mode. +* [#10762](https://dev.ckeditor.com/ticket/10762): [IE] Fixed: JavaScript code displayed in preview window's URL bar. +* [#11186](https://dev.ckeditor.com/ticket/11186): Introduced the [`widgets.repository.addUpcastCallback()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget.repository-method-addUpcastCallback) method that allows to block upcasting given element to a widget. +* [#11307](https://dev.ckeditor.com/ticket/11307): Fixed: Paste as Plain Text conflict with the [MooTools](http://mootools.net) library. +* [#11140](https://dev.ckeditor.com/ticket/11140): [IE11] Fixed: Anchors are not draggable. +* [#11379](https://dev.ckeditor.com/ticket/11379): Changed default contents `line-height` to unitless values to avoid huge text overlapping (like in [#9696](https://dev.ckeditor.com/ticket/9696)). +* [#10787](https://dev.ckeditor.com/ticket/10787): [Firefox] Fixed: Broken replacement of text while pasting into `div`-based editor. +* [#10884](https://dev.ckeditor.com/ticket/10884): Widgets integration with the [Show Blocks](https://ckeditor.com/cke4/addon/showblocks) plugin. +* [#11021](https://dev.ckeditor.com/ticket/11021): Fixed: An error thrown when selecting entire editable contents while fake selection is on. +* [#11086](https://dev.ckeditor.com/ticket/11086): [IE8] Re-enable inline widgets drag&drop in Internet Explorer 8. +* [#11372](https://dev.ckeditor.com/ticket/11372): Widgets: Special characters encoded twice in nested editables. +* [#10068](https://dev.ckeditor.com/ticket/10068): Fixed: Support for protocol-relative URLs. +* [#11283](https://dev.ckeditor.com/ticket/11283): [Enhanced Image](https://ckeditor.com/cke4/addon/image2): A `<div>` element with `text-align: center` and an image inside is not recognised correctly. +* [#11196](https://dev.ckeditor.com/ticket/11196): [Accessibility Instructions](https://ckeditor.com/cke4/addon/a11yhelp): Allowed additional keyboard button labels to be translated in the dialog window. + +## CKEditor 4.3.1 + +**Important Notes:** + +* To match the naming convention, the `language` button is now `Language` ([#11201](https://dev.ckeditor.com/ticket/11201)). +* [Enhanced Image](https://ckeditor.com/cke4/addon/image2) button, context menu, command, and icon names match those of the [Image](https://ckeditor.com/cke4/addon/image) plugin ([#11222](https://dev.ckeditor.com/ticket/11222)). + +Fixed Issues: + +* [#11244](https://dev.ckeditor.com/ticket/11244): Changed: The [`widget.repository.checkWidgets()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget.repository-method-checkWidgets) method now fires the [`widget.repository.checkWidgets`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget.repository-event-checkWidgets) event, so from CKEditor 4.3.1 it is preferred to use the method rather than fire the event. +* [#11171](https://dev.ckeditor.com/ticket/11171): Fixed: [`editor.insertElement()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-insertElement) and [`editor.insertText()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-insertText) methods do not call the [`widget.repository.checkWidgets()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget.repository-method-checkWidgets) method. +* [#11085](https://dev.ckeditor.com/ticket/11085): [IE8] Replaced preview generated by the [Mathematical Formulas](https://ckeditor.com/cke4/addon/mathjax) widget with a placeholder. +* [#11044](https://dev.ckeditor.com/ticket/11044): Enhanced WAI-ARIA support for the [Language](https://ckeditor.com/cke4/addon/language) plugin drop-down menu. +* [#11075](https://dev.ckeditor.com/ticket/11075): With drop-down menu button focused, pressing the *Down Arrow* key will now open the menu and focus its first option. +* [#11165](https://dev.ckeditor.com/ticket/11165): Fixed: The [File Browser](https://ckeditor.com/cke4/addon/filebrowser) plugin cannot be removed from the editor. +* [#11159](https://dev.ckeditor.com/ticket/11159): [IE9-10] [Enhanced Image](https://ckeditor.com/cke4/addon/image2): Fixed buggy discovery of image dimensions. +* [#11101](https://dev.ckeditor.com/ticket/11101): Drop-down lists no longer break when given double quotes. +* [#11077](https://dev.ckeditor.com/ticket/11077): [Enhanced Image](https://ckeditor.com/cke4/addon/image2): Empty undo step recorded when resizing the image. +* [#10853](https://dev.ckeditor.com/ticket/10853): [Enhanced Image](https://ckeditor.com/cke4/addon/image2): Widget has paragraph wrapper when de-captioning unaligned image. +* [#11198](https://dev.ckeditor.com/ticket/11198): Widgets: Drag handler is not fully visible when an inline widget is in a heading. +* [#11132](https://dev.ckeditor.com/ticket/11132): [Firefox] Fixed: Caret is lost after drag and drop of an inline widget. +* [#11182](https://dev.ckeditor.com/ticket/11182): [IE10-11] Fixed: Editor crashes (IE11) or works with minor issues (IE10) if a page is loaded in Quirks Mode. See [`env.quirks`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.env-property-quirks) for more details. +* [#11204](https://dev.ckeditor.com/ticket/11204): Added `figure` and `figcaption` styles to the `contents.css` file so [Enhanced Image](https://ckeditor.com/cke4/addon/image2) looks nicer. +* [#11202](https://dev.ckeditor.com/ticket/11202): Fixed: No newline in [BBCode](https://ckeditor.com/cke4/addon/bbcode) mode. +* [#10890](https://dev.ckeditor.com/ticket/10890): Fixed: Error thrown when pressing the *Delete* key in a list item. +* [#10055](https://dev.ckeditor.com/ticket/10055): [IE8-10] Fixed: *Delete* pressed on a selected image causes the browser to go back. +* [#11183](https://dev.ckeditor.com/ticket/11183): Fixed: Inserting a horizontal rule or a table in multiple row selection causes a browser crash. Additionally, the [`editor.insertElement()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-insertElement) method does not insert the element into every range of a selection any more. +* [#11042](https://dev.ckeditor.com/ticket/11042): Fixed: Selection made on an element containing a non-editable element was not auto faked. +* [#11125](https://dev.ckeditor.com/ticket/11125): Fixed: Keyboard navigation through menu and drop-down items will now cycle. +* [#11011](https://dev.ckeditor.com/ticket/11011): Fixed: The [`editor.applyStyle()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-applyStyle) method removes attributes from nested elements. +* [#11179](https://dev.ckeditor.com/ticket/11179): Fixed: [`editor.destroy()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-destroy) does not cleanup content generated by the [Table Resize](https://ckeditor.com/cke4/addon/tableresize) plugin for inline editors. +* [#11237](https://dev.ckeditor.com/ticket/11237): Fixed: Table border attribute value is deleted when pasting content from Microsoft Word. +* [#11250](https://dev.ckeditor.com/ticket/11250): Fixed: HTML entities inside the `<textarea>` element are not encoded. +* [#11260](https://dev.ckeditor.com/ticket/11260): Fixed: Initially disabled buttons are not read by JAWS as disabled. +* [#11200](https://dev.ckeditor.com/ticket/11200): Added [Clipboard](https://ckeditor.com/cke4/addon/clipboard) plugin as a dependency for [Widget](https://ckeditor.com/cke4/addon/widget) to fix drag and drop. + +## CKEditor 4.3 + +New Features: + +* [#10612](https://dev.ckeditor.com/ticket/10612): Internet Explorer 11 support. +* [#10869](https://dev.ckeditor.com/ticket/10869): Widgets: Added better integration with the [Elements Path](https://ckeditor.com/cke4/addon/elementspath) plugin. +* [#10886](https://dev.ckeditor.com/ticket/10886): Widgets: Added tooltip to the drag handle. +* [#10933](https://dev.ckeditor.com/ticket/10933): Widgets: Introduced drag and drop of block widgets with the [Line Utilities](https://ckeditor.com/cke4/addon/lineutils) plugin. +* [#10936](https://dev.ckeditor.com/ticket/10936): Widget System changes for easier integration with other dialog systems. +* [#10895](https://dev.ckeditor.com/ticket/10895): [Enhanced Image](https://ckeditor.com/cke4/addon/image2): Added file browser integration. +* [#11002](https://dev.ckeditor.com/ticket/11002): Added the [`draggable`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget.definition-property-draggable) option to disable drag and drop support for widgets. +* [#10937](https://dev.ckeditor.com/ticket/10937): [Mathematical Formulas](https://ckeditor.com/cke4/addon/mathjax) widget improvements: + * loading indicator ([#10948](https://dev.ckeditor.com/ticket/10948)), + * applying paragraph changes (like font color change) to iframe ([#10841](https://dev.ckeditor.com/ticket/10841)), + * Firefox and IE9 clipboard fixes ([#10857](https://dev.ckeditor.com/ticket/10857)), + * fixing same origin policy issue ([#10840](https://dev.ckeditor.com/ticket/10840)), + * fixing undo bugs ([#10842](https://dev.ckeditor.com/ticket/10842), [#10930](https://dev.ckeditor.com/ticket/10930)), + * fixing other minor bugs. +* [#10862](https://dev.ckeditor.com/ticket/10862): [Placeholder](https://ckeditor.com/cke4/addon/placeholder) plugin was rewritten as a widget. +* [#10822](https://dev.ckeditor.com/ticket/10822): Added styles system integration with non-editable elements (for example widgets) and their nested editables. Styles cannot change non-editable content and are applied in nested editable only if allowed by its type and content filter. +* [#10856](https://dev.ckeditor.com/ticket/10856): Menu buttons will now toggle the visibility of their panels when clicked multiple times. [Language](https://ckeditor.com/cke4/addon/language) plugin fixes: Added active language highlighting, added an option to remove the language. +* [#10028](https://dev.ckeditor.com/ticket/10028): New [`config.dialog_noConfirmCancel`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-dialog_noConfirmCancel) configuration option that eliminates the need to confirm closing of a dialog window when the user changed any of its fields. +* [#10848](https://dev.ckeditor.com/ticket/10848): Integrate remaining plugins ([Styles](https://ckeditor.com/cke4/addon/stylescombo), [Format](https://ckeditor.com/cke4/addon/format), [Font](https://ckeditor.com/cke4/addon/font), [Color Button](https://ckeditor.com/cke4/addon/colorbutton), [Language](https://ckeditor.com/cke4/addon/language) and [Indent](https://ckeditor.com/cke4/addon/indent)) with [active filter](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-property-activeFilter). +* [#10855](https://dev.ckeditor.com/ticket/10855): Change the extension of emoticons in the [BBCode](https://ckeditor.com/cke4/addon/bbcode) sample from GIF to PNG. + +Fixed Issues: + +* [#10831](https://dev.ckeditor.com/ticket/10831): [Enhanced Image](https://ckeditor.com/cke4/addon/image2): Merged `image2inline` and `image2block` into one `image2` widget. +* [#10835](https://dev.ckeditor.com/ticket/10835): [Enhanced Image](https://ckeditor.com/cke4/addon/image2): Improved visibility of the resize handle. +* [#10836](https://dev.ckeditor.com/ticket/10836): [Enhanced Image](https://ckeditor.com/cke4/addon/image2): Preserve custom mouse cursor while resizing the image. +* [#10939](https://dev.ckeditor.com/ticket/10939): [Firefox] [Enhanced Image](https://ckeditor.com/cke4/addon/image2): hovering the image causes it to change. +* [#10866](https://dev.ckeditor.com/ticket/10866): Fixed: Broken *Tab* key navigation in the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) dialog window. +* [#10833](https://dev.ckeditor.com/ticket/10833): Fixed: *Lock ratio* option should be on by default in the [Enhanced Image](https://ckeditor.com/cke4/addon/image2) dialog window. +* [#10881](https://dev.ckeditor.com/ticket/10881): Various improvements to *Enter* key behavior in nested editables. +* [#10879](https://dev.ckeditor.com/ticket/10879): [Remove Format](https://ckeditor.com/cke4/addon/removeformat) should not leak from a nested editable. +* [#10877](https://dev.ckeditor.com/ticket/10877): Fixed: [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) fails to apply changes if a nested editable was focused. +* [#10877](https://dev.ckeditor.com/ticket/10877): Fixed: [SCAYT](https://ckeditor.com/cke4/addon/wsc) blocks typing in nested editables. +* [#11079](https://dev.ckeditor.com/ticket/11079): Add button icons to the [Placeholder](https://ckeditor.com/cke4/addon/placeholder) sample. +* [#10870](https://dev.ckeditor.com/ticket/10870): The `paste` command is no longer being disabled when the clipboard is empty. +* [#10854](https://dev.ckeditor.com/ticket/10854): Fixed: Firefox prepends `<br>` to `<body>`, so it is stripped by the HTML data processor. +* [#10823](https://dev.ckeditor.com/ticket/10823): Fixed: [Link](https://ckeditor.com/cke4/addon/link) plugin does not work with non-editable content. +* [#10828](https://dev.ckeditor.com/ticket/10828): [Magic Line](https://ckeditor.com/cke4/addon/magicline) integration with the Widget System. +* [#10865](https://dev.ckeditor.com/ticket/10865): Improved hiding copybin, so copying widgets works smoothly. +* [#11066](https://dev.ckeditor.com/ticket/11066): Widget's private parts use CSS reset. +* [#11027](https://dev.ckeditor.com/ticket/11027): Fixed: Block commands break on widgets; added the [`contentDomInvalidated`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-contentDomInvalidated) event. +* [#10430](https://dev.ckeditor.com/ticket/10430): Resolve dependence of the [Image](https://ckeditor.com/cke4/addon/image) plugin on the [Form Elements](https://ckeditor.com/cke4/addon/forms) plugin. +* [#10911](https://dev.ckeditor.com/ticket/10911): Fixed: Browser *Alt* hotkeys will no longer be blocked while a widget is focused. +* [#11082](https://dev.ckeditor.com/ticket/11082): Fixed: Selected widget is not copied or cut when using toolbar buttons or context menu. +* [#11083](https://dev.ckeditor.com/ticket/11083): Fixed list and div element application to block widgets. +* [#10887](https://dev.ckeditor.com/ticket/10887): Internet Explorer 8 compatibility issues related to the Widget System. +* [#11074](https://dev.ckeditor.com/ticket/11074): Temporarily disabled inline widget drag and drop, because of seriously buggy native `range#moveToPoint` method. +* [#11098](https://dev.ckeditor.com/ticket/11098): Fixed: Wrong selection position after undoing widget drag and drop. +* [#11110](https://dev.ckeditor.com/ticket/11110): Fixed: IFrame and Flash objects are being incorrectly pasted in certain conditions. +* [#11129](https://dev.ckeditor.com/ticket/11129): Page break is lost when loading data. +* [#11123](https://dev.ckeditor.com/ticket/11123): [Firefox] Widget is destroyed after being dragged outside of `<body>`. +* [#11124](https://dev.ckeditor.com/ticket/11124): Fixed the [Elements Path](https://ckeditor.com/cke4/addon/elementspath) in an editor using the [Div Editing Area](https://ckeditor.com/cke4/addon/divarea). + +## CKEditor 4.3 Beta + +New Features: + +* [#9764](https://dev.ckeditor.com/ticket/9764): Widget System. + * [Widget plugin](https://ckeditor.com/cke4/addon/widget) introducing the [Widget API](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.widget). + * New [`editor.enterMode`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-property-enterMode) and [`editor.shiftEnterMode`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-property-shiftEnterMode) properties &ndash; normalized versions of [`config.enterMode`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-enterMode) and [`config.shiftEnterMode`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-shiftEnterMode). + * Dynamic editor settings. Starting from CKEditor 4.3 Beta, *Enter* mode values and [content filter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_advanced_content_filter) instances may be changed dynamically (for example when the caret was placed in an element in which editor features should be adjusted). When you are implementing a new editor feature, you should base its behavior on [dynamic](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-property-activeEnterMode) or [static](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-property-enterMode) *Enter* mode values depending on whether this feature works in selection context or globally on editor content. + * Dynamic *Enter* mode values &ndash; [`editor.setActiveEnterMode()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-setActiveEnterMode) method, [`editor.activeEnterModeChange`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-activeEnterModeChange) event, and two properties: [`editor.activeEnterMode`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-property-activeEnterMode) and [`editor.activeShiftEnterMode`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-property-activeShiftEnterMode). + * Dynamic content filter instances &ndash; [`editor.setActiveFilter()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-setActiveFilter) method, [`editor.activeFilterChange`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-activeFilterChange) event, and [`editor.activeFilter`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-property-activeFilter) property. + * "Fake" selection was introduced. It makes it possible to virtually select any element when the real selection remains hidden. See the [`selection.fake()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.selection-method-fake) method. + * Default [`htmlParser.filter`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.htmlParser.filter) rules are not applied to non-editable elements (elements with `contenteditable` attribute set to `false` and their descendants) anymore. To add a rule which will be applied to all elements you need to pass an additional argument to the [`filter.addRules()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.htmlParser.filter-method-addRules) method. + * Dozens of new methods were introduced &ndash; most interesting ones: + * [`document.find()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.document-method-find), + * [`document.findOne()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.document-method-findOne), + * [`editable.insertElementIntoRange()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editable-method-insertElementIntoRange), + * [`range.moveToClosestEditablePosition()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.range-method-moveToClosestEditablePosition), + * New methods for [`htmlParser.node`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.htmlParser.node) and [`htmlParser.element`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.htmlParser.element). +* [#10659](https://dev.ckeditor.com/ticket/10659): New [Enhanced Image](https://ckeditor.com/cke4/addon/image2) plugin that introduces a widget with integrated image captions, an option to center images, and dynamic "click and drag" resizing. +* [#10664](https://dev.ckeditor.com/ticket/10664): New [Mathematical Formulas](https://ckeditor.com/cke4/addon/mathjax) plugin that introduces the MathJax widget. +* [#7987](https://dev.ckeditor.com/ticket/7987): New [Language](https://ckeditor.com/cke4/addon/language) plugin that implements Language toolbar button to support [WCAG 3.1.2 Language of Parts](http://www.w3.org/TR/UNDERSTANDING-WCAG20/meaning-other-lang-id.html). +* [#10708](https://dev.ckeditor.com/ticket/10708): New [smileys](https://ckeditor.com/cke4/addon/smiley). + +## CKEditor 4.2.3 + +Fixed Issues: + +* [#10994](https://dev.ckeditor.com/ticket/10994): Fixed: Loading external jQuery library when opening the [jQuery Adapter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_jquery) sample directly from file. +* [#10975](https://dev.ckeditor.com/ticket/10975): [IE] Fixed: Error thrown while opening the color palette. +* [#9929](https://dev.ckeditor.com/ticket/9929): [Blink/WebKit] Fixed: A non-breaking space is created once a character is deleted and a regular space is typed. +* [#10963](https://dev.ckeditor.com/ticket/10963): Fixed: JAWS issue with the keyboard shortcut for [Magic Line](https://ckeditor.com/cke4/addon/magicline). +* [#11096](https://dev.ckeditor.com/ticket/11096): Fixed: TypeError: Object has no method 'is'. + +## CKEditor 4.2.2 + +Fixed Issues: + +* [#9314](https://dev.ckeditor.com/ticket/9314): Fixed: Incorrect error message on closing a dialog window without saving changs. +* [#10308](https://dev.ckeditor.com/ticket/10308): [IE10] Fixed: Unspecified error when deleting a row. +* [#10945](https://dev.ckeditor.com/ticket/10945): [Chrome] Fixed: Clicking with a mouse inside the editor does not show the caret. +* [#10912](https://dev.ckeditor.com/ticket/10912): Prevent default action when content of a non-editable link is clicked. +* [#10913](https://dev.ckeditor.com/ticket/10913): Fixed [`CKEDITOR.plugins.addExternal()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.resourceManager-method-addExternal) not handling paths including file name specified. +* [#10666](https://dev.ckeditor.com/ticket/10666): Fixed [`CKEDITOR.tools.isArray()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.tools-method-isArray) not working cross frame. +* [#10910](https://dev.ckeditor.com/ticket/10910): [IE9] Fixed JavaScript error thrown in Compatibility Mode when clicking and/or typing in the editing area. +* [#10868](https://dev.ckeditor.com/ticket/10868): [IE8] Prevent the browser from crashing when applying the Inline Quotation style. +* [#10915](https://dev.ckeditor.com/ticket/10915): Fixed: Invalid CSS filter in the Kama skin. +* [#10914](https://dev.ckeditor.com/ticket/10914): Plugins [Indent List](https://ckeditor.com/cke4/addon/indentlist) and [Indent Block](https://ckeditor.com/cke4/addon/indentblock) are now included in the build configuration. +* [#10812](https://dev.ckeditor.com/ticket/10812): Fixed [`range.createBookmark2()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dom.range-method-createBookmark2) incorrectly normalizing offsets. This bug was causing many issues: [#10850](https://dev.ckeditor.com/ticket/10850), [#10842](https://dev.ckeditor.com/ticket/10842). +* [#10951](https://dev.ckeditor.com/ticket/10951): Reviewed and optimized focus handling on panels (combo, menu buttons, color buttons, and context menu) to enhance accessibility. Fixed [#10705](https://dev.ckeditor.com/ticket/10705), [#10706](https://dev.ckeditor.com/ticket/10706) and [#10707](https://dev.ckeditor.com/ticket/10707). +* [#10704](https://dev.ckeditor.com/ticket/10704): Fixed a JAWS issue with the Select Color dialog window title not being announced. +* [#10753](https://dev.ckeditor.com/ticket/10753): The floating toolbar in inline instances now has a dedicated accessibility label. + +## CKEditor 4.2.1 + +Fixed Issues: + +* [#10301](https://dev.ckeditor.com/ticket/10301): [IE9-10] Undo fails after 3+ consecutive paste actions with a JavaScript error. +* [#10689](https://dev.ckeditor.com/ticket/10689): Save toolbar button saves only the first editor instance. +* [#10368](https://dev.ckeditor.com/ticket/10368): Move language reading direction definition (`dir`) from main language file to core. +* [#9330](https://dev.ckeditor.com/ticket/9330): Fixed pasting anchors from MS Word. +* [#8103](https://dev.ckeditor.com/ticket/8103): Fixed pasting nested lists from MS Word. +* [#9958](https://dev.ckeditor.com/ticket/9958): [IE9] Pressing the "OK" button will trigger the `onbeforeunload` event in the popup dialog. +* [#10662](https://dev.ckeditor.com/ticket/10662): Fixed styles from the Styles drop-down list not registering to the ACF in case when the [Shared Spaces plugin](https://ckeditor.com/cke4/addon/sharedspace) is used. +* [#9654](https://dev.ckeditor.com/ticket/9654): Problems with Internet Explorer 10 Quirks Mode. +* [#9816](https://dev.ckeditor.com/ticket/9816): Floating toolbar does not reposition vertically in several cases. +* [#10646](https://dev.ckeditor.com/ticket/10646): Removing a selected sublist or nested table with *Backspace/Delete* removes the parent element. +* [#10623](https://dev.ckeditor.com/ticket/10623): [WebKit] Page is scrolled when opening a drop-down list. +* [#10004](https://dev.ckeditor.com/ticket/10004): [ChromeVox] Button names are not announced. +* [#10731](https://dev.ckeditor.com/ticket/10731): [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) plugin breaks cloning of editor configuration. +* It is now possible to set per instance [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) plugin configuration instead of setting the configuration globally. + +## CKEditor 4.2 + +**Important Notes:** + +* Dropped compatibility support for Internet Explorer 7 and Firefox 3.6. + +* Both the Basic and the Standard distribution packages will not contain the new [Indent Block](https://ckeditor.com/cke4/addon/indentblock) plugin. Because of this the [Advanced Content Filter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_advanced_content_filter) might remove block indentations from existing contents. If you want to prevent this, either [add an appropriate ACF rule to your filter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_allowed_content_rules) or create a custom build based on the Basic/Standard package and add the Indent Block plugin in [CKBuilder](https://ckeditor.com/cke4/builder). + +New Features: + +* [#10027](https://dev.ckeditor.com/ticket/10027): Separated list and block indentation into two plugins: [Indent List](https://ckeditor.com/cke4/addon/indentlist) and [Indent Block](https://ckeditor.com/cke4/addon/indentblock). +* [#8244](https://dev.ckeditor.com/ticket/8244): Use *(Shift+)Tab* to indent and outdent lists. +* [#10281](https://dev.ckeditor.com/ticket/10281): The [jQuery Adapter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_jquery) is now available. Several jQuery-related issues fixed: [#8261](https://dev.ckeditor.com/ticket/8261), [#9077](https://dev.ckeditor.com/ticket/9077), [#8710](https://dev.ckeditor.com/ticket/8710), [#8530](https://dev.ckeditor.com/ticket/8530), [#9019](https://dev.ckeditor.com/ticket/9019), [#6181](https://dev.ckeditor.com/ticket/6181), [#7876](https://dev.ckeditor.com/ticket/7876), [#6906](https://dev.ckeditor.com/ticket/6906). +* [#10042](https://dev.ckeditor.com/ticket/10042): Introduced [`config.title`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-title) setting to change the human-readable title of the editor. +* [#9794](https://dev.ckeditor.com/ticket/9794): Added [`editor.change`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-change) event. +* [#9923](https://dev.ckeditor.com/ticket/9923): HiDPI support in the editor UI. HiDPI icons for [Moono skin](https://ckeditor.com/cke4/addon/moono) added. +* [#8031](https://dev.ckeditor.com/ticket/8031): Handle `required` attributes on `<textarea>` elements &mdash; introduced [`editor.required`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-required) event. +* [#10280](https://dev.ckeditor.com/ticket/10280): Ability to replace `<textarea>` elements with the inline editor. + +Fixed Issues: + +* [#10599](https://dev.ckeditor.com/ticket/10599): [Indent](https://ckeditor.com/cke4/addon/indent) plugin is no longer required by the [List](https://ckeditor.com/cke4/addon/list) plugin. +* [#10370](https://dev.ckeditor.com/ticket/10370): Inconsistency in data events between framed and inline editors. +* [#10438](https://dev.ckeditor.com/ticket/10438): [FF, IE] No selection is done on an editable element on executing [`editor.setData()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-setData). + +## CKEditor 4.1.3 + +New Features: + +* Added new translation: Indonesian. + +Fixed Issues: + +* [#10644](https://dev.ckeditor.com/ticket/10644): Fixed a critical bug when pasting plain text in Blink-based browsers. +* [#5189](https://dev.ckeditor.com/ticket/5189): [Find/Replace](https://ckeditor.com/cke4/addon/find) dialog window: rename "Cancel" button to "Close". +* [#10562](https://dev.ckeditor.com/ticket/10562): [Housekeeping] Unified CSS gradient filter formats in the [Moono](https://ckeditor.com/cke4/addon/moono) skin. +* [#10537](https://dev.ckeditor.com/ticket/10537): Advanced Content Filter should register a default rule for [`config.shiftEnterMode`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-shiftEnterMode). +* [#10610](https://dev.ckeditor.com/ticket/10610): [`CKEDITOR.dialog.addIframe()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dialog-static-method-addIframe) incorrectly sets the iframe size in dialog windows. + +## CKEditor 4.1.2 + +New Features: + +* Added new translation: Sinhala. + +Fixed Issues: + +* [#10339](https://dev.ckeditor.com/ticket/10339): Fixed: Error thrown when inserted data was totally stripped out after filtering and processing. +* [#10298](https://dev.ckeditor.com/ticket/10298): Fixed: Data processor breaks attributes containing protected parts. +* [#10367](https://dev.ckeditor.com/ticket/10367): Fixed: [`editable.insertText()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editable-method-insertText) loses characters when `RegExp` replace controls are being inserted. +* [#10165](https://dev.ckeditor.com/ticket/10165): [IE] Access denied error when `document.domain` has been altered. +* [#9761](https://dev.ckeditor.com/ticket/9761): Update the *Backspace* key state in [`keystrokeHandler.blockedKeystrokes`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.keystrokeHandler-property-blockedKeystrokes) when calling [`editor.setReadOnly()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-setReadOnly). +* [#6504](https://dev.ckeditor.com/ticket/6504): Fixed: Race condition while loading several [`config.customConfig`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-customConfig) files. +* [#10146](https://dev.ckeditor.com/ticket/10146): [Firefox] Empty lines are being removed while [`config.enterMode`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-enterMode) is [`CKEDITOR.ENTER_BR`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR-property-ENTER_BR). +* [#10360](https://dev.ckeditor.com/ticket/10360): Fixed: ARIA `role="application"` should not be used for dialog windows. +* [#10361](https://dev.ckeditor.com/ticket/10361): Fixed: ARIA `role="application"` should not be used for floating panels. +* [#10510](https://dev.ckeditor.com/ticket/10510): Introduced unique voice labels to differentiate between different editor instances. +* [#9945](https://dev.ckeditor.com/ticket/9945): [iOS] Scrolling not possible on iPad. +* [#10389](https://dev.ckeditor.com/ticket/10389): Fixed: Invalid HTML in the "Text and Table" template. +* [WebSpellChecker](https://ckeditor.com/cke4/addon/wsc) plugin user interface was changed to match CKEditor 4 style. + +## CKEditor 4.1.1 + +New Features: + +* Added new translation: Albanian. + +Fixed Issues: + +* [#10172](https://dev.ckeditor.com/ticket/10172): Pressing *Delete* or *Backspace* in an empty table cell moves the cursor to the next/previous cell. +* [#10219](https://dev.ckeditor.com/ticket/10219): Error thrown when destroying an editor instance in parallel with a `mouseup` event. +* [#10265](https://dev.ckeditor.com/ticket/10265): Wrong loop type in the [File Browser](https://ckeditor.com/cke4/addon/filebrowser) plugin. +* [#10249](https://dev.ckeditor.com/ticket/10249): Wrong undo/redo states at start. +* [#10268](https://dev.ckeditor.com/ticket/10268): [Show Blocks](https://ckeditor.com/cke4/addon/showblocks) does not recover after switching to Source view. +* [#9995](https://dev.ckeditor.com/ticket/9995): HTML code in the `<textarea>` should not be modified by the [`htmlDataProcessor`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.htmlDataProcessor). +* [#10320](https://dev.ckeditor.com/ticket/10320): [Justify](https://ckeditor.com/cke4/addon/justify) plugin should add elements to Advanced Content Filter based on current [Enter mode](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-enterMode). +* [#10260](https://dev.ckeditor.com/ticket/10260): Fixed: Advanced Content Filter blocks [`tabSpaces`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-tabSpaces). Unified `data-cke-*` attributes filtering. +* [#10315](https://dev.ckeditor.com/ticket/10315): [WebKit] [Undo manager](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.undo.UndoManager) should not record snapshots after a filling character was added/removed. +* [#10291](https://dev.ckeditor.com/ticket/10291): [WebKit] Space after a filling character should be secured. +* [#10330](https://dev.ckeditor.com/ticket/10330): [WebKit] The filling character is not removed on `keydown` in specific cases. +* [#10285](https://dev.ckeditor.com/ticket/10285): Fixed: Styled text pasted from MS Word causes an infinite loop. +* [#10131](https://dev.ckeditor.com/ticket/10131): Fixed: [`undoManager.update()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.plugins.undo.UndoManager-method-update) does not refresh the command state. +* [#10337](https://dev.ckeditor.com/ticket/10337): Fixed: Unable to remove `<s>` using [Remove Format](https://ckeditor.com/cke4/addon/removeformat). + +## CKEditor 4.1 + +Fixed Issues: + +* [#10192](https://dev.ckeditor.com/ticket/10192): Closing lists with the *Enter* key does not work with [Advanced Content Filter](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_advanced_content_filter) in several cases. +* [#10191](https://dev.ckeditor.com/ticket/10191): Fixed allowed content rules unification, so the [`filter.allowedContent`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.filter-property-allowedContent) property always contains rules in the same format. +* [#10224](https://dev.ckeditor.com/ticket/10224): Advanced Content Filter does not remove non-empty `<a>` elements anymore. +* Minor issues in plugin integration with Advanced Content Filter: + * [#10166](https://dev.ckeditor.com/ticket/10166): Added transformation from the `align` attribute to `float` style to preserve backward compatibility after the introduction of Advanced Content Filter. + * [#10195](https://dev.ckeditor.com/ticket/10195): [Image](https://ckeditor.com/cke4/addon/image) plugin no longer registers rules for links to Advanced Content Filter. + * [#10213](https://dev.ckeditor.com/ticket/10213): [Justify](https://ckeditor.com/cke4/addon/justify) plugin is now correctly registering rules to Advanced Content Filter when [`config.justifyClasses`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-justifyClasses) is defined. + +## CKEditor 4.1 RC + +New Features: + +* [#9829](https://dev.ckeditor.com/ticket/9829): Advanced Content Filter - data and features activation based on editor configuration. + + Brand new data filtering system that works in 2 modes: + + * Based on loaded features (toolbar items, plugins) - the data will be filtered according to what the editor in its + current configuration can handle. + * Based on [`config.allowedContent`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-allowedContent) rules - the data + will be filtered and the editor features (toolbar items, commands, keystrokes) will be enabled if they are allowed. + + See the `datafiltering.html` sample, [guides](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_advanced_content_filter) and [`CKEDITOR.filter` API documentation](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.filter). +* [#9387](https://dev.ckeditor.com/ticket/9387): Reintroduced [Shared Spaces](https://ckeditor.com/cke4/addon/sharedspace) - the ability to display toolbar and bottom editor space in selected locations and to share them by different editor instances. +* [#9907](https://dev.ckeditor.com/ticket/9907): Added the [`contentPreview`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR-event-contentPreview) event for preview data manipulation. +* [#9713](https://dev.ckeditor.com/ticket/9713): Introduced the [Source Dialog](https://ckeditor.com/cke4/addon/sourcedialog) plugin that brings raw HTML editing for inline editor instances. +* Included in [#9829](https://dev.ckeditor.com/ticket/9829): Introduced new events, [`toHtml`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-toHtml) and [`toDataFormat`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-toDataFormat), allowing for better integration with data processing. +* [#9981](https://dev.ckeditor.com/ticket/9981): Added ability to filter [`htmlParser.fragment`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.htmlParser.fragment), [`htmlParser.element`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.htmlParser.element) etc. by many [`htmlParser.filter`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.htmlParser.filter)s before writing structure to an HTML string. +* Included in [#10103](https://dev.ckeditor.com/ticket/10103): + * Introduced the [`editor.status`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-property-status) property to make it easier to check the current status of the editor. + * Default [`command`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.command) state is now [`CKEDITOR.TRISTATE_DISABLE`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR-property-TRISTATE_DISABLED). It will be activated on [`editor.instanceReady`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR-event-instanceReady) or immediately after being added if the editor is already initialized. +* [#9796](https://dev.ckeditor.com/ticket/9796): Introduced `<s>` as a default tag for strikethrough, which replaces obsolete `<strike>` in HTML5. + +## CKEditor 4.0.3 + +Fixed Issues: + +* [#10196](https://dev.ckeditor.com/ticket/10196): Fixed context menus not opening with keyboard shortcuts when [Autogrow](https://ckeditor.com/cke4/addon/autogrow) is enabled. +* [#10212](https://dev.ckeditor.com/ticket/10212): [IE7-10] Undo command throws errors after multiple switches between Source and WYSIWYG view. +* [#10219](https://dev.ckeditor.com/ticket/10219): [Inline editor] Error thrown after calling [`editor.destroy()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-destroy). + +## CKEditor 4.0.2 + +Fixed Issues: + +* [#9779](https://dev.ckeditor.com/ticket/9779): Fixed overriding [`CKEDITOR.getUrl()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR-method-getUrl) with `CKEDITOR_GETURL`. +* [#9772](https://dev.ckeditor.com/ticket/9772): Custom buttons in the dialog window footer have different look and size ([Moono](https://ckeditor.com/cke4/addon/moono), [Kama](https://ckeditor.com/cke4/addon/kama) skins). +* [#9029](https://dev.ckeditor.com/ticket/9029): Custom styles added with the [`stylesSet.add()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.stylesSet-method-add) are displayed in the wrong order. +* [#9887](https://dev.ckeditor.com/ticket/9887): Disable [Magic Line](https://ckeditor.com/cke4/addon/magicline) when [`editor.readOnly`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-property-readOnly) is set. +* [#9882](https://dev.ckeditor.com/ticket/9882): Fixed empty document title on [`editor.getData()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-getData) if set via the Document Properties dialog window. +* [#9773](https://dev.ckeditor.com/ticket/9773): Fixed rendering problems with selection fields in the Kama skin. +* [#9851](https://dev.ckeditor.com/ticket/9851): The [`selectionChange`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-event-selectionChange) event is not fired when mouse selection ended outside editable. +* [#9903](https://dev.ckeditor.com/ticket/9903): [Inline editor] Bad positioning of floating space with page horizontal scroll. +* [#9872](https://dev.ckeditor.com/ticket/9872): [`editor.checkDirty()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-checkDirty) returns `true` when called onload. Removed the obsolete `editor.mayBeDirty` flag. +* [#9893](https://dev.ckeditor.com/ticket/9893): [IE] Fixed broken toolbar when editing mixed direction content in Quirks mode. +* [#9845](https://dev.ckeditor.com/ticket/9845): Fixed TAB navigation in the [Link](https://ckeditor.com/cke4/addon/link) dialog window when the Anchor option is used and no anchors are available. +* [#9883](https://dev.ckeditor.com/ticket/9883): Maximizing was making the entire page editable with [divarea](https://ckeditor.com/cke4/addon/divarea)-based editors. +* [#9940](https://dev.ckeditor.com/ticket/9940): [Firefox] Navigating back to a page with the editor was making the entire page editable. +* [#9966](https://dev.ckeditor.com/ticket/9966): Fixed: Unable to type square brackets with French keyboard layout. Changed [Magic Line](https://ckeditor.com/cke4/addon/magicline) keystrokes. +* [#9507](https://dev.ckeditor.com/ticket/9507): [Firefox] Selection is moved before editable position when the editor is focused for the first time. +* [#9947](https://dev.ckeditor.com/ticket/9947): [WebKit] Editor overflows parent container in some edge cases. +* [#10105](https://dev.ckeditor.com/ticket/10105): Fixed: Broken [sourcearea](https://ckeditor.com/cke4/addon/sourcearea) view when an RTL language is set. +* [#10123](https://dev.ckeditor.com/ticket/10123): [WebKit] Fixed: Several dialog windows have broken layout since the latest WebKit release. +* [#10152](https://dev.ckeditor.com/ticket/10152): Fixed: Invalid ARIA property used on menu items. + +## CKEditor 4.0.1.1 + +Fixed Issues: + +* Security update: Added protection against XSS attack and possible path disclosure in the PHP sample. + +## CKEditor 4.0.1 + +Fixed Issues: + +* [#9655](https://dev.ckeditor.com/ticket/9655): Support for IE Quirks Mode in the new [Moono skin](https://ckeditor.com/cke4/addon/moono). +* Accessibility issues (mainly in inline editor): [#9364](https://dev.ckeditor.com/ticket/9364), [#9368](https://dev.ckeditor.com/ticket/9368), [#9369](https://dev.ckeditor.com/ticket/9369), [#9370](https://dev.ckeditor.com/ticket/9370), [#9541](https://dev.ckeditor.com/ticket/9541), [#9543](https://dev.ckeditor.com/ticket/9543), [#9841](https://dev.ckeditor.com/ticket/9841), [#9844](https://dev.ckeditor.com/ticket/9844). +* [Magic Line](https://ckeditor.com/cke4/addon/magicline) plugin: + * [#9481](https://dev.ckeditor.com/ticket/9481): Added accessibility support for Magic Line. + * [#9509](https://dev.ckeditor.com/ticket/9509): Added Magic Line support for forms. + * [#9573](https://dev.ckeditor.com/ticket/9573): Magic Line does not disappear on `mouseout` in a specific case. +* [#9754](https://dev.ckeditor.com/ticket/9754): [WebKit] Cutting & pasting simple unformatted text generates an inline wrapper in WebKit browsers. +* [#9456](https://dev.ckeditor.com/ticket/9456): [Chrome] Properly paste bullet list style from MS Word. +* [#9699](https://dev.ckeditor.com/ticket/9699), [#9758](https://dev.ckeditor.com/ticket/9758): Improved selection locking when selecting by dragging. +* Context menu: + * [#9712](https://dev.ckeditor.com/ticket/9712): Opening the context menu destroys editor focus. + * [#9366](https://dev.ckeditor.com/ticket/9366): Context menu should be displayed over the floating toolbar. + * [#9706](https://dev.ckeditor.com/ticket/9706): Context menu generates a JavaScript error in inline mode when the editor is attached to a header element. +* [#9800](https://dev.ckeditor.com/ticket/9800): Hide float panel when resizing the window. +* [#9721](https://dev.ckeditor.com/ticket/9721): Padding in content of div-based editor puts the editing area under the bottom UI space. +* [#9528](https://dev.ckeditor.com/ticket/9528): Host page `box-sizing` style should not influence the editor UI elements. +* [#9503](https://dev.ckeditor.com/ticket/9503): [Form Elements](https://ckeditor.com/cke4/addon/forms) plugin adds context menu listeners only on supported input types. Added support for `tel`, `email`, `search` and `url` input types. +* [#9769](https://dev.ckeditor.com/ticket/9769): Improved floating toolbar positioning in a narrow window. +* [#9875](https://dev.ckeditor.com/ticket/9875): Table dialog window does not populate width correctly. +* [#8675](https://dev.ckeditor.com/ticket/8675): Deleting cells in a nested table removes the outer table cell. +* [#9815](https://dev.ckeditor.com/ticket/9815): Cannot edit dialog window fields in an editor initialized in the jQuery UI modal dialog. +* [#8888](https://dev.ckeditor.com/ticket/8888): CKEditor dialog windows do not show completely in a small window. +* [#9360](https://dev.ckeditor.com/ticket/9360): [Inline editor] Blocks shown for a `<div>` element stay permanently even after the user exits editing the `<div>`. +* [#9531](https://dev.ckeditor.com/ticket/9531): [Firefox & Inline editor] Toolbar is lost when closing the Format drop-down list by clicking its button. +* [#9553](https://dev.ckeditor.com/ticket/9553): Table width incorrectly set when the `border-width` style is specified. +* [#9594](https://dev.ckeditor.com/ticket/9594): Cannot tab past CKEditor when it is in read-only mode. +* [#9658](https://dev.ckeditor.com/ticket/9658): [IE9] Justify not working on selected images. +* [#9686](https://dev.ckeditor.com/ticket/9686): Added missing contents styles for `<pre>` elements. +* [#9709](https://dev.ckeditor.com/ticket/9709): [Paste from Word](https://ckeditor.com/cke4/addon/pastefromword) should not depend on configuration from other styles. +* [#9726](https://dev.ckeditor.com/ticket/9726): Removed [Color Dialog](https://ckeditor.com/cke4/addon/colordialog) plugin dependency from [Table Tools](https://ckeditor.com/cke4/addon/tabletools). +* [#9765](https://dev.ckeditor.com/ticket/9765): Toolbar Collapse command documented incorrectly in the [Accessibility Instructions](https://ckeditor.com/cke4/addon/a11yhelp) dialog window. +* [#9771](https://dev.ckeditor.com/ticket/9771): [WebKit & Opera] Fixed scrolling issues when pasting. +* [#9787](https://dev.ckeditor.com/ticket/9787): [IE9] `onChange` is not fired for checkboxes in dialogs. +* [#9842](https://dev.ckeditor.com/ticket/9842): [Firefox 17] When opening a toolbar menu for the first time and pressing the *Down Arrow* key, focus goes to the next toolbar button instead of the menu options. +* [#9847](https://dev.ckeditor.com/ticket/9847): [Elements Path](https://ckeditor.com/cke4/addon/elementspath) should not be initialized in the inline editor. +* [#9853](https://dev.ckeditor.com/ticket/9853): [`editor.addRemoveFormatFilter()`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-addRemoveFormatFilter) is exposed before it really works. +* [#8893](https://dev.ckeditor.com/ticket/8893): Value of the [`pasteFromWordCleanupFile`](https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-pasteFromWordCleanupFile) configuration option is now taken from the instance configuration. +* [#9693](https://dev.ckeditor.com/ticket/9693): Removed "Live Preview" checkbox from UI color picker. + + +## CKEditor 4.0 + +The first stable release of the new CKEditor 4 code line. + +The CKEditor JavaScript API has been kept compatible with CKEditor 4, whenever +possible. The list of relevant changes can be found in the [API Changes page of +the CKEditor 4 documentation][1]. + +[1]: https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_api_changes "API Changes" Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/ckeditor.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/ckeditor.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/ckeditor.js (revision 7) @@ -0,0 +1,1315 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +(function(){if(window.CKEDITOR&&window.CKEDITOR.dom)return;window.CKEDITOR||(window.CKEDITOR=function(){var a=/(^|.*[\\\/])ckeditor\.js(?:\?.*|;.*)?$/i,d={timestamp:"I3I8",version:"4.9.2",revision:"95e5d83",rnd:Math.floor(900*Math.random())+100,_:{pending:[],basePathSrcPattern:a},status:"unloaded",basePath:function(){var b=window.CKEDITOR_BASEPATH||"";if(!b)for(var c=document.getElementsByTagName("script"),d=0;d<c.length;d++){var g=c[d].src.match(a);if(g){b=g[1];break}}-1==b.indexOf(":/")&&"//"!=b.slice(0,2)&&(b=0===b.indexOf("/")?location.href.match(/^.*?:\/\/[^\/]*/)[0]+ +b:location.href.match(/^[^\?]*\/(?:)/)[0]+b);if(!b)throw'The CKEditor installation path could not be automatically detected. Please set the global variable "CKEDITOR_BASEPATH" before creating editor instances.';return b}(),getUrl:function(a){-1==a.indexOf(":/")&&0!==a.indexOf("/")&&(a=this.basePath+a);this.timestamp&&"/"!=a.charAt(a.length-1)&&!/[&?]t=/.test(a)&&(a+=(0<=a.indexOf("?")?"\x26":"?")+"t\x3d"+this.timestamp);return a},domReady:function(){function a(){try{document.addEventListener?(document.removeEventListener("DOMContentLoaded", +a,!1),b()):document.attachEvent&&"complete"===document.readyState&&(document.detachEvent("onreadystatechange",a),b())}catch(c){}}function b(){for(var a;a=c.shift();)a()}var c=[];return function(b){function d(){try{document.documentElement.doScroll("left")}catch(e){setTimeout(d,1);return}a()}c.push(b);"complete"===document.readyState&&setTimeout(a,1);if(1==c.length)if(document.addEventListener)document.addEventListener("DOMContentLoaded",a,!1),window.addEventListener("load",a,!1);else if(document.attachEvent){document.attachEvent("onreadystatechange", +a);window.attachEvent("onload",a);b=!1;try{b=!window.frameElement}catch(r){}document.documentElement.doScroll&&b&&d()}}}()},b=window.CKEDITOR_GETURL;if(b){var c=d.getUrl;d.getUrl=function(a){return b.call(d,a)||c.call(d,a)}}return d}()); +CKEDITOR.event||(CKEDITOR.event=function(){},CKEDITOR.event.implementOn=function(a){var d=CKEDITOR.event.prototype,b;for(b in d)null==a[b]&&(a[b]=d[b])},CKEDITOR.event.prototype=function(){function a(a){var f=d(this);return f[a]||(f[a]=new b(a))}var d=function(a){a=a.getPrivate&&a.getPrivate()||a._||(a._={});return a.events||(a.events={})},b=function(a){this.name=a;this.listeners=[]};b.prototype={getListenerIndex:function(a){for(var b=0,d=this.listeners;b<d.length;b++)if(d[b].fn==a)return b;return-1}}; +return{define:function(b,d){var h=a.call(this,b);CKEDITOR.tools.extend(h,d,!0)},on:function(b,d,h,k,g){function m(e,a,z,y){e={name:b,sender:this,editor:e,data:a,listenerData:k,stop:z,cancel:y,removeListener:r};return!1===d.call(h,e)?!1:e.data}function r(){z.removeListener(b,d)}var e=a.call(this,b);if(0>e.getListenerIndex(d)){e=e.listeners;h||(h=this);isNaN(g)&&(g=10);var z=this;m.fn=d;m.priority=g;for(var y=e.length-1;0<=y;y--)if(e[y].priority<=g)return e.splice(y+1,0,m),{removeListener:r};e.unshift(m)}return{removeListener:r}}, +once:function(){var a=Array.prototype.slice.call(arguments),b=a[1];a[1]=function(a){a.removeListener();return b.apply(this,arguments)};return this.on.apply(this,a)},capture:function(){CKEDITOR.event.useCapture=1;var a=this.on.apply(this,arguments);CKEDITOR.event.useCapture=0;return a},fire:function(){var a=0,b=function(){a=1},h=0,k=function(){h=1};return function(g,m,r){var e=d(this)[g];g=a;var z=h;a=h=0;if(e){var y=e.listeners;if(y.length)for(var y=y.slice(0),A,D=0;D<y.length;D++){if(e.errorProof)try{A= +y[D].call(this,r,m,b,k)}catch(x){}else A=y[D].call(this,r,m,b,k);!1===A?h=1:"undefined"!=typeof A&&(m=A);if(a||h)break}}m=h?!1:"undefined"==typeof m?!0:m;a=g;h=z;return m}}(),fireOnce:function(a,b,h){b=this.fire(a,b,h);delete d(this)[a];return b},removeListener:function(a,b){var h=d(this)[a];if(h){var k=h.getListenerIndex(b);0<=k&&h.listeners.splice(k,1)}},removeAllListeners:function(){var a=d(this),b;for(b in a)delete a[b]},hasListeners:function(a){return(a=d(this)[a])&&0<a.listeners.length}}}()); +CKEDITOR.editor||(CKEDITOR.editor=function(){CKEDITOR._.pending.push([this,arguments]);CKEDITOR.event.call(this)},CKEDITOR.editor.prototype.fire=function(a,d){a in{instanceReady:1,loaded:1}&&(this[a]=!0);return CKEDITOR.event.prototype.fire.call(this,a,d,this)},CKEDITOR.editor.prototype.fireOnce=function(a,d){a in{instanceReady:1,loaded:1}&&(this[a]=!0);return CKEDITOR.event.prototype.fireOnce.call(this,a,d,this)},CKEDITOR.event.implementOn(CKEDITOR.editor.prototype)); +CKEDITOR.env||(CKEDITOR.env=function(){var a=navigator.userAgent.toLowerCase(),d=a.match(/edge[ \/](\d+.?\d*)/),b=-1<a.indexOf("trident/"),b=!(!d&&!b),b={ie:b,edge:!!d,webkit:!b&&-1<a.indexOf(" applewebkit/"),air:-1<a.indexOf(" adobeair/"),mac:-1<a.indexOf("macintosh"),quirks:"BackCompat"==document.compatMode&&(!document.documentMode||10>document.documentMode),mobile:-1<a.indexOf("mobile"),iOS:/(ipad|iphone|ipod)/.test(a),isCustomDomain:function(){if(!this.ie)return!1;var a=document.domain,b=window.location.hostname; +return a!=b&&a!="["+b+"]"},secure:"https:"==location.protocol};b.gecko="Gecko"==navigator.product&&!b.webkit&&!b.ie;b.webkit&&(-1<a.indexOf("chrome")?b.chrome=!0:b.safari=!0);var c=0;b.ie&&(c=d?parseFloat(d[1]):b.quirks||!document.documentMode?parseFloat(a.match(/msie (\d+)/)[1]):document.documentMode,b.ie9Compat=9==c,b.ie8Compat=8==c,b.ie7Compat=7==c,b.ie6Compat=7>c||b.quirks);b.gecko&&(d=a.match(/rv:([\d\.]+)/))&&(d=d[1].split("."),c=1E4*d[0]+100*(d[1]||0)+1*(d[2]||0));b.air&&(c=parseFloat(a.match(/ adobeair\/(\d+)/)[1])); +b.webkit&&(c=parseFloat(a.match(/ applewebkit\/(\d+)/)[1]));b.version=c;b.isCompatible=!(b.ie&&7>c)&&!(b.gecko&&4E4>c)&&!(b.webkit&&534>c);b.hidpi=2<=window.devicePixelRatio;b.needsBrFiller=b.gecko||b.webkit||b.ie&&10<c;b.needsNbspFiller=b.ie&&11>c;b.cssClass="cke_browser_"+(b.ie?"ie":b.gecko?"gecko":b.webkit?"webkit":"unknown");b.quirks&&(b.cssClass+=" cke_browser_quirks");b.ie&&(b.cssClass+=" cke_browser_ie"+(b.quirks?"6 cke_browser_iequirks":b.version));b.air&&(b.cssClass+=" cke_browser_air"); +b.iOS&&(b.cssClass+=" cke_browser_ios");b.hidpi&&(b.cssClass+=" cke_hidpi");return b}()); +"unloaded"==CKEDITOR.status&&function(){CKEDITOR.event.implementOn(CKEDITOR);CKEDITOR.loadFullCore=function(){if("basic_ready"!=CKEDITOR.status)CKEDITOR.loadFullCore._load=1;else{delete CKEDITOR.loadFullCore;var a=document.createElement("script");a.type="text/javascript";a.src=CKEDITOR.basePath+"ckeditor.js";document.getElementsByTagName("head")[0].appendChild(a)}};CKEDITOR.loadFullCoreTimeout=0;CKEDITOR.add=function(a){(this._.pending||(this._.pending=[])).push(a)};(function(){CKEDITOR.domReady(function(){var a= +CKEDITOR.loadFullCore,d=CKEDITOR.loadFullCoreTimeout;a&&(CKEDITOR.status="basic_ready",a&&a._load?a():d&&setTimeout(function(){CKEDITOR.loadFullCore&&CKEDITOR.loadFullCore()},1E3*d))})})();CKEDITOR.status="basic_loaded"}();"use strict";CKEDITOR.VERBOSITY_WARN=1;CKEDITOR.VERBOSITY_ERROR=2;CKEDITOR.verbosity=CKEDITOR.VERBOSITY_WARN|CKEDITOR.VERBOSITY_ERROR;CKEDITOR.warn=function(a,d){CKEDITOR.verbosity&CKEDITOR.VERBOSITY_WARN&&CKEDITOR.fire("log",{type:"warn",errorCode:a,additionalData:d})}; +CKEDITOR.error=function(a,d){CKEDITOR.verbosity&CKEDITOR.VERBOSITY_ERROR&&CKEDITOR.fire("log",{type:"error",errorCode:a,additionalData:d})}; +CKEDITOR.on("log",function(a){if(window.console&&window.console.log){var d=console[a.data.type]?a.data.type:"log",b=a.data.errorCode;if(a=a.data.additionalData)console[d]("[CKEDITOR] Error code: "+b+".",a);else console[d]("[CKEDITOR] Error code: "+b+".");console[d]("[CKEDITOR] For more information about this error go to https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_errors-section-"+b)}},null,null,999);CKEDITOR.dom={}; +(function(){var a=[],d=CKEDITOR.env.gecko?"-moz-":CKEDITOR.env.webkit?"-webkit-":CKEDITOR.env.ie?"-ms-":"",b=/&/g,c=/>/g,f=/</g,h=/"/g,k=/&(lt|gt|amp|quot|nbsp|shy|#\d{1,5});/g,g={lt:"\x3c",gt:"\x3e",amp:"\x26",quot:'"',nbsp:" ",shy:"­"},m=function(a,e){return"#"==e[0]?String.fromCharCode(parseInt(e.slice(1),10)):g[e]};CKEDITOR.on("reset",function(){a=[]});CKEDITOR.tools={arrayCompare:function(a,e){if(!a&&!e)return!0;if(!a||!e||a.length!=e.length)return!1;for(var b=0;b<a.length;b++)if(a[b]!=e[b])return!1; +return!0},getIndex:function(a,e){for(var b=0;b<a.length;++b)if(e(a[b]))return b;return-1},clone:function(a){var e;if(a&&a instanceof Array){e=[];for(var b=0;b<a.length;b++)e[b]=CKEDITOR.tools.clone(a[b]);return e}if(null===a||"object"!=typeof a||a instanceof String||a instanceof Number||a instanceof Boolean||a instanceof Date||a instanceof RegExp||a.nodeType||a.window===a)return a;e=new a.constructor;for(b in a)e[b]=CKEDITOR.tools.clone(a[b]);return e},capitalize:function(a,e){return a.charAt(0).toUpperCase()+ +(e?a.slice(1):a.slice(1).toLowerCase())},extend:function(a){var e=arguments.length,b,c;"boolean"==typeof(b=arguments[e-1])?e--:"boolean"==typeof(b=arguments[e-2])&&(c=arguments[e-1],e-=2);for(var g=1;g<e;g++){var d=arguments[g],m;for(m in d)if(!0===b||null==a[m])if(!c||m in c)a[m]=d[m]}return a},prototypedCopy:function(a){var e=function(){};e.prototype=a;return new e},copy:function(a){var e={},b;for(b in a)e[b]=a[b];return e},isArray:function(a){return"[object Array]"==Object.prototype.toString.call(a)}, +isEmpty:function(a){for(var e in a)if(a.hasOwnProperty(e))return!1;return!0},cssVendorPrefix:function(a,e,b){if(b)return d+a+":"+e+";"+a+":"+e;b={};b[a]=e;b[d+a]=e;return b},cssStyleToDomStyle:function(){var a=document.createElement("div").style,e="undefined"!=typeof a.cssFloat?"cssFloat":"undefined"!=typeof a.styleFloat?"styleFloat":"float";return function(a){return"float"==a?e:a.replace(/-./g,function(a){return a.substr(1).toUpperCase()})}}(),buildStyleHtml:function(a){a=[].concat(a);for(var e, +b=[],c=0;c<a.length;c++)if(e=a[c])/@import|[{}]/.test(e)?b.push("\x3cstyle\x3e"+e+"\x3c/style\x3e"):b.push('\x3clink type\x3d"text/css" rel\x3dstylesheet href\x3d"'+e+'"\x3e');return b.join("")},htmlEncode:function(a){return void 0===a||null===a?"":String(a).replace(b,"\x26amp;").replace(c,"\x26gt;").replace(f,"\x26lt;")},htmlDecode:function(a){return a.replace(k,m)},htmlEncodeAttr:function(a){return CKEDITOR.tools.htmlEncode(a).replace(h,"\x26quot;")},htmlDecodeAttr:function(a){return CKEDITOR.tools.htmlDecode(a)}, +transformPlainTextToHtml:function(a,e){var b=e==CKEDITOR.ENTER_BR,c=this.htmlEncode(a.replace(/\r\n/g,"\n")),c=c.replace(/\t/g,"\x26nbsp;\x26nbsp; \x26nbsp;"),g=e==CKEDITOR.ENTER_P?"p":"div";if(!b){var d=/\n{2}/g;if(d.test(c))var m="\x3c"+g+"\x3e",p="\x3c/"+g+"\x3e",c=m+c.replace(d,function(){return p+m})+p}c=c.replace(/\n/g,"\x3cbr\x3e");b||(c=c.replace(new RegExp("\x3cbr\x3e(?\x3d\x3c/"+g+"\x3e)"),function(a){return CKEDITOR.tools.repeat(a,2)}));c=c.replace(/^ | $/g,"\x26nbsp;");return c=c.replace(/(>|\s) /g, +function(a,e){return e+"\x26nbsp;"}).replace(/ (?=<)/g,"\x26nbsp;")},getNextNumber:function(){var a=0;return function(){return++a}}(),getNextId:function(){return"cke_"+this.getNextNumber()},getUniqueId:function(){for(var a="e",e=0;8>e;e++)a+=Math.floor(65536*(1+Math.random())).toString(16).substring(1);return a},override:function(a,e){var b=e(a);b.prototype=a.prototype;return b},setTimeout:function(a,e,b,c,g){g||(g=window);b||(b=g);return g.setTimeout(function(){c?a.apply(b,[].concat(c)):a.apply(b)}, +e||0)},trim:function(){var a=/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;return function(e){return e.replace(a,"")}}(),ltrim:function(){var a=/^[ \t\n\r]+/g;return function(e){return e.replace(a,"")}}(),rtrim:function(){var a=/[ \t\n\r]+$/g;return function(e){return e.replace(a,"")}}(),indexOf:function(a,e){if("function"==typeof e)for(var b=0,c=a.length;b<c;b++){if(e(a[b]))return b}else{if(a.indexOf)return a.indexOf(e);b=0;for(c=a.length;b<c;b++)if(a[b]===e)return b}return-1},search:function(a,e){var b=CKEDITOR.tools.indexOf(a, +e);return 0<=b?a[b]:null},bind:function(a,e){return function(){return a.apply(e,arguments)}},createClass:function(a){var e=a.$,b=a.base,c=a.privates||a._,g=a.proto;a=a.statics;!e&&(e=function(){b&&this.base.apply(this,arguments)});if(c)var d=e,e=function(){var a=this._||(this._={}),e;for(e in c){var b=c[e];a[e]="function"==typeof b?CKEDITOR.tools.bind(b,this):b}d.apply(this,arguments)};b&&(e.prototype=this.prototypedCopy(b.prototype),e.prototype.constructor=e,e.base=b,e.baseProto=b.prototype,e.prototype.base= +function(){this.base=b.prototype.base;b.apply(this,arguments);this.base=arguments.callee});g&&this.extend(e.prototype,g,!0);a&&this.extend(e,a,!0);return e},addFunction:function(b,e){return a.push(function(){return b.apply(e||this,arguments)})-1},removeFunction:function(b){a[b]=null},callFunction:function(b){var e=a[b];return e&&e.apply(window,Array.prototype.slice.call(arguments,1))},cssLength:function(){var a=/^-?\d+\.?\d*px$/,e;return function(b){e=CKEDITOR.tools.trim(b+"")+"px";return a.test(e)? +e:b||""}}(),convertToPx:function(){var a;return function(e){a||(a=CKEDITOR.dom.element.createFromHtml('\x3cdiv style\x3d"position:absolute;left:-9999px;top:-9999px;margin:0px;padding:0px;border:0px;"\x3e\x3c/div\x3e',CKEDITOR.document),CKEDITOR.document.getBody().append(a));return/%$/.test(e)?e:(a.setStyle("width",e),a.$.clientWidth)}}(),repeat:function(a,e){return Array(e+1).join(a)},tryThese:function(){for(var a,e=0,b=arguments.length;e<b;e++){var c=arguments[e];try{a=c();break}catch(g){}}return a}, +genKey:function(){return Array.prototype.slice.call(arguments).join("-")},defer:function(a){return function(){var e=arguments,b=this;window.setTimeout(function(){a.apply(b,e)},0)}},normalizeCssText:function(a,e){var b=[],c,g=CKEDITOR.tools.parseCssText(a,!0,e);for(c in g)b.push(c+":"+g[c]);b.sort();return b.length?b.join(";")+";":""},convertRgbToHex:function(a){return a.replace(/(?:rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\))/gi,function(a,b,c,g){a=[b,c,g];for(b=0;3>b;b++)a[b]=("0"+parseInt(a[b],10).toString(16)).slice(-2); +return"#"+a.join("")})},normalizeHex:function(a){return a.replace(/#(([0-9a-f]{3}){1,2})($|;|\s+)/gi,function(a,b,c,g){a=b.toLowerCase();3==a.length&&(a=a.split(""),a=[a[0],a[0],a[1],a[1],a[2],a[2]].join(""));return"#"+a+g})},parseCssText:function(a,e,b){var c={};b&&(a=(new CKEDITOR.dom.element("span")).setAttribute("style",a).getAttribute("style")||"");a&&(a=CKEDITOR.tools.normalizeHex(CKEDITOR.tools.convertRgbToHex(a)));if(!a||";"==a)return c;a.replace(/&quot;/g,'"').replace(/\s*([^:;\s]+)\s*:\s*([^;]+)\s*(?=;|$)/g, +function(a,b,g){e&&(b=b.toLowerCase(),"font-family"==b&&(g=g.replace(/\s*,\s*/g,",")),g=CKEDITOR.tools.trim(g));c[b]=g});return c},writeCssText:function(a,e){var b,c=[];for(b in a)c.push(b+":"+a[b]);e&&c.sort();return c.join("; ")},objectCompare:function(a,e,b){var c;if(!a&&!e)return!0;if(!a||!e)return!1;for(c in a)if(a[c]!=e[c])return!1;if(!b)for(c in e)if(a[c]!=e[c])return!1;return!0},objectKeys:function(a){var e=[],b;for(b in a)e.push(b);return e},convertArrayToObject:function(a,e){var b={};1== +arguments.length&&(e=!0);for(var c=0,g=a.length;c<g;++c)b[a[c]]=e;return b},fixDomain:function(){for(var a;;)try{a=window.parent.document.domain;break}catch(e){a=a?a.replace(/.+?(?:\.|$)/,""):document.domain;if(!a)break;document.domain=a}return!!a},eventsBuffer:function(a,e,b){function c(){d=(new Date).getTime();g=!1;b?e.call(b):e()}var g,d=0;return{input:function(){if(!g){var e=(new Date).getTime()-d;e<a?g=setTimeout(c,a-e):c()}},reset:function(){g&&clearTimeout(g);g=d=0}}},enableHtml5Elements:function(a, +e){for(var b="abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video".split(" "),c=b.length,g;c--;)g=a.createElement(b[c]),e&&a.appendChild(g)},checkIfAnyArrayItemMatches:function(a,e){for(var b=0,c=a.length;b<c;++b)if(a[b].match(e))return!0;return!1},checkIfAnyObjectPropertyMatches:function(a,e){for(var b in a)if(b.match(e))return!0;return!1},keystrokeToString:function(a,e){var b=this.keystrokeToArray(a, +e);b.display=b.display.join("+");b.aria=b.aria.join("+");return b},keystrokeToArray:function(a,e){var b=e&16711680,c=e&65535,g=CKEDITOR.env.mac,d=[],m=[];b&CKEDITOR.CTRL&&(d.push(g?"⌘":a[17]),m.push(g?a[224]:a[17]));b&CKEDITOR.ALT&&(d.push(g?"⌥":a[18]),m.push(a[18]));b&CKEDITOR.SHIFT&&(d.push(g?"⇧":a[16]),m.push(a[16]));c&&(a[c]?(d.push(a[c]),m.push(a[c])):(d.push(String.fromCharCode(c)),m.push(String.fromCharCode(c))));return{display:d,aria:m}},transparentImageData:"data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw\x3d\x3d", +getCookie:function(a){a=a.toLowerCase();for(var e=document.cookie.split(";"),b,c,g=0;g<e.length;g++)if(b=e[g].split("\x3d"),c=decodeURIComponent(CKEDITOR.tools.trim(b[0]).toLowerCase()),c===a)return decodeURIComponent(1<b.length?b[1]:"");return null},setCookie:function(a,b){document.cookie=encodeURIComponent(a)+"\x3d"+encodeURIComponent(b)+";path\x3d/"},getCsrfToken:function(){var a=CKEDITOR.tools.getCookie("ckCsrfToken");if(!a||40!=a.length){var a=[],b="";if(window.crypto&&window.crypto.getRandomValues)a= +new Uint8Array(40),window.crypto.getRandomValues(a);else for(var c=0;40>c;c++)a.push(Math.floor(256*Math.random()));for(c=0;c<a.length;c++)var g="abcdefghijklmnopqrstuvwxyz0123456789".charAt(a[c]%36),b=b+(.5<Math.random()?g.toUpperCase():g);a=b;CKEDITOR.tools.setCookie("ckCsrfToken",a)}return a},escapeCss:function(a){return a?window.CSS&&CSS.escape?CSS.escape(a):isNaN(parseInt(a.charAt(0),10))?a:"\\3"+a.charAt(0)+" "+a.substring(1,a.length):""},getMouseButton:function(a){var b=(a=a.data)&&a.$;return a&& +b?CKEDITOR.env.ie&&9>CKEDITOR.env.version?4===b.button?CKEDITOR.MOUSE_BUTTON_MIDDLE:1===b.button?CKEDITOR.MOUSE_BUTTON_LEFT:CKEDITOR.MOUSE_BUTTON_RIGHT:b.button:!1},convertHexStringToBytes:function(a){var b=[],c=a.length/2,g;for(g=0;g<c;g++)b.push(parseInt(a.substr(2*g,2),16));return b},convertBytesToBase64:function(a){var b="",c=a.length,g;for(g=0;g<c;g+=3){var d=a.slice(g,g+3),m=d.length,f=[],p;if(3>m)for(p=m;3>p;p++)d[p]=0;f[0]=(d[0]&252)>>2;f[1]=(d[0]&3)<<4|d[1]>>4;f[2]=(d[1]&15)<<2|(d[2]&192)>> +6;f[3]=d[2]&63;for(p=0;4>p;p++)b=p<=m?b+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(f[p]):b+"\x3d"}return b},style:{parse:{_colors:{aliceblue:"#F0F8FF",antiquewhite:"#FAEBD7",aqua:"#00FFFF",aquamarine:"#7FFFD4",azure:"#F0FFFF",beige:"#F5F5DC",bisque:"#FFE4C4",black:"#000000",blanchedalmond:"#FFEBCD",blue:"#0000FF",blueviolet:"#8A2BE2",brown:"#A52A2A",burlywood:"#DEB887",cadetblue:"#5F9EA0",chartreuse:"#7FFF00",chocolate:"#D2691E",coral:"#FF7F50",cornflowerblue:"#6495ED", +cornsilk:"#FFF8DC",crimson:"#DC143C",cyan:"#00FFFF",darkblue:"#00008B",darkcyan:"#008B8B",darkgoldenrod:"#B8860B",darkgray:"#A9A9A9",darkgreen:"#006400",darkgrey:"#A9A9A9",darkkhaki:"#BDB76B",darkmagenta:"#8B008B",darkolivegreen:"#556B2F",darkorange:"#FF8C00",darkorchid:"#9932CC",darkred:"#8B0000",darksalmon:"#E9967A",darkseagreen:"#8FBC8F",darkslateblue:"#483D8B",darkslategray:"#2F4F4F",darkslategrey:"#2F4F4F",darkturquoise:"#00CED1",darkviolet:"#9400D3",deeppink:"#FF1493",deepskyblue:"#00BFFF", +dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1E90FF",firebrick:"#B22222",floralwhite:"#FFFAF0",forestgreen:"#228B22",fuchsia:"#FF00FF",gainsboro:"#DCDCDC",ghostwhite:"#F8F8FF",gold:"#FFD700",goldenrod:"#DAA520",gray:"#808080",green:"#008000",greenyellow:"#ADFF2F",grey:"#808080",honeydew:"#F0FFF0",hotpink:"#FF69B4",indianred:"#CD5C5C",indigo:"#4B0082",ivory:"#FFFFF0",khaki:"#F0E68C",lavender:"#E6E6FA",lavenderblush:"#FFF0F5",lawngreen:"#7CFC00",lemonchiffon:"#FFFACD",lightblue:"#ADD8E6",lightcoral:"#F08080", +lightcyan:"#E0FFFF",lightgoldenrodyellow:"#FAFAD2",lightgray:"#D3D3D3",lightgreen:"#90EE90",lightgrey:"#D3D3D3",lightpink:"#FFB6C1",lightsalmon:"#FFA07A",lightseagreen:"#20B2AA",lightskyblue:"#87CEFA",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#B0C4DE",lightyellow:"#FFFFE0",lime:"#00FF00",limegreen:"#32CD32",linen:"#FAF0E6",magenta:"#FF00FF",maroon:"#800000",mediumaquamarine:"#66CDAA",mediumblue:"#0000CD",mediumorchid:"#BA55D3",mediumpurple:"#9370DB",mediumseagreen:"#3CB371", +mediumslateblue:"#7B68EE",mediumspringgreen:"#00FA9A",mediumturquoise:"#48D1CC",mediumvioletred:"#C71585",midnightblue:"#191970",mintcream:"#F5FFFA",mistyrose:"#FFE4E1",moccasin:"#FFE4B5",navajowhite:"#FFDEAD",navy:"#000080",oldlace:"#FDF5E6",olive:"#808000",olivedrab:"#6B8E23",orange:"#FFA500",orangered:"#FF4500",orchid:"#DA70D6",palegoldenrod:"#EEE8AA",palegreen:"#98FB98",paleturquoise:"#AFEEEE",palevioletred:"#DB7093",papayawhip:"#FFEFD5",peachpuff:"#FFDAB9",peru:"#CD853F",pink:"#FFC0CB",plum:"#DDA0DD", +powderblue:"#B0E0E6",purple:"#800080",rebeccapurple:"#663399",red:"#FF0000",rosybrown:"#BC8F8F",royalblue:"#4169E1",saddlebrown:"#8B4513",salmon:"#FA8072",sandybrown:"#F4A460",seagreen:"#2E8B57",seashell:"#FFF5EE",sienna:"#A0522D",silver:"#C0C0C0",skyblue:"#87CEEB",slateblue:"#6A5ACD",slategray:"#708090",slategrey:"#708090",snow:"#FFFAFA",springgreen:"#00FF7F",steelblue:"#4682B4",tan:"#D2B48C",teal:"#008080",thistle:"#D8BFD8",tomato:"#FF6347",turquoise:"#40E0D0",violet:"#EE82EE",wheat:"#F5DEB3",white:"#FFFFFF", +whitesmoke:"#F5F5F5",yellow:"#FFFF00",yellowgreen:"#9ACD32"},_borderStyle:"none hidden dotted dashed solid double groove ridge inset outset".split(" "),_widthRegExp:/^(thin|medium|thick|[\+-]?\d+(\.\d+)?[a-z%]+|[\+-]?0+(\.0+)?|\.\d+[a-z%]+)$/,_rgbaRegExp:/rgba?\(\s*\d+%?\s*,\s*\d+%?\s*,\s*\d+%?\s*(?:,\s*[0-9.]+\s*)?\)/gi,_hslaRegExp:/hsla?\(\s*[0-9.]+\s*,\s*\d+%\s*,\s*\d+%\s*(?:,\s*[0-9.]+\s*)?\)/gi,background:function(a){var b={},c=this._findColor(a);c.length&&(b.color=c[0],CKEDITOR.tools.array.forEach(c, +function(b){a=a.replace(b,"")}));if(a=CKEDITOR.tools.trim(a))b.unprocessed=a;return b},margin:function(a){function b(a){c.top=g[a[0]];c.right=g[a[1]];c.bottom=g[a[2]];c.left=g[a[3]]}var c={},g=a.match(/(?:\-?[\.\d]+(?:%|\w*)|auto|inherit|initial|unset)/g)||["0px"];switch(g.length){case 1:b([0,0,0,0]);break;case 2:b([0,1,0,1]);break;case 3:b([0,1,2,1]);break;case 4:b([0,1,2,3])}return c},border:function(a){var b={},c=a.split(/\s+/g);a=CKEDITOR.tools.style.parse._findColor(a);a.length&&(b.color=a[0]); +CKEDITOR.tools.array.forEach(c,function(a){b.style||-1===CKEDITOR.tools.indexOf(CKEDITOR.tools.style.parse._borderStyle,a)?!b.width&&CKEDITOR.tools.style.parse._widthRegExp.test(a)&&(b.width=a):b.style=a});return b},_findColor:function(a){var b=[],c=CKEDITOR.tools.array,b=b.concat(a.match(this._rgbaRegExp)||[]),b=b.concat(a.match(this._hslaRegExp)||[]);return b=b.concat(c.filter(a.split(/\s+/),function(a){return a.match(/^\#[a-f0-9]{3}(?:[a-f0-9]{3})?$/gi)?!0:a.toLowerCase()in CKEDITOR.tools.style.parse._colors}))}}}, +array:{filter:function(a,b,c){var g=[];this.forEach(a,function(d,m){b.call(c,d,m,a)&&g.push(d)});return g},forEach:function(a,b,c){var g=a.length,d;for(d=0;d<g;d++)b.call(c,a[d],d,a)},map:function(a,b,c){for(var g=[],d=0;d<a.length;d++)g.push(b.call(c,a[d],d,a));return g},reduce:function(a,b,c,g){for(var d=0;d<a.length;d++)c=b.call(g,c,a[d],d,a);return c},every:function(a,b,c){if(!a.length)return!0;b=this.filter(a,b,c);return a.length===b.length}},object:{findKey:function(a,b){if("object"!==typeof a)return null; +for(var c in a)if(a[c]===b)return c;return null},merge:function(a,b){var c=CKEDITOR.tools,g=c.clone(a),d=c.clone(b);c.array.forEach(c.objectKeys(d),function(a){g[a]="object"===typeof d[a]&&"object"===typeof g[a]?c.object.merge(g[a],d[a]):d[a]});return g}}};CKEDITOR.tools.array.indexOf=CKEDITOR.tools.indexOf;CKEDITOR.tools.array.isArray=CKEDITOR.tools.isArray;CKEDITOR.MOUSE_BUTTON_LEFT=0;CKEDITOR.MOUSE_BUTTON_MIDDLE=1;CKEDITOR.MOUSE_BUTTON_RIGHT=2})(); +CKEDITOR.dtd=function(){var a=CKEDITOR.tools.extend,d=function(a,b){for(var c=CKEDITOR.tools.clone(a),g=1;g<arguments.length;g++){b=arguments[g];for(var d in b)delete c[d]}return c},b={},c={},f={address:1,article:1,aside:1,blockquote:1,details:1,div:1,dl:1,fieldset:1,figure:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,hr:1,main:1,menu:1,nav:1,ol:1,p:1,pre:1,section:1,table:1,ul:1},h={command:1,link:1,meta:1,noscript:1,script:1,style:1},k={},g={"#":1},m={center:1,dir:1,noframes:1}; +a(b,{a:1,abbr:1,area:1,audio:1,b:1,bdi:1,bdo:1,br:1,button:1,canvas:1,cite:1,code:1,command:1,datalist:1,del:1,dfn:1,em:1,embed:1,i:1,iframe:1,img:1,input:1,ins:1,kbd:1,keygen:1,label:1,map:1,mark:1,meter:1,noscript:1,object:1,output:1,progress:1,q:1,ruby:1,s:1,samp:1,script:1,select:1,small:1,span:1,strong:1,sub:1,sup:1,textarea:1,time:1,u:1,"var":1,video:1,wbr:1},g,{acronym:1,applet:1,basefont:1,big:1,font:1,isindex:1,strike:1,style:1,tt:1});a(c,f,b,m);d={a:d(b,{a:1,button:1}),abbr:b,address:c, +area:k,article:c,aside:c,audio:a({source:1,track:1},c),b:b,base:k,bdi:b,bdo:b,blockquote:c,body:c,br:k,button:d(b,{a:1,button:1}),canvas:b,caption:c,cite:b,code:b,col:k,colgroup:{col:1},command:k,datalist:a({option:1},b),dd:c,del:b,details:a({summary:1},c),dfn:b,div:c,dl:{dt:1,dd:1},dt:c,em:b,embed:k,fieldset:a({legend:1},c),figcaption:c,figure:a({figcaption:1},c),footer:c,form:c,h1:b,h2:b,h3:b,h4:b,h5:b,h6:b,head:a({title:1,base:1},h),header:c,hgroup:{h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},hr:k,html:a({head:1, +body:1},c,h),i:b,iframe:g,img:k,input:k,ins:b,kbd:b,keygen:k,label:b,legend:b,li:c,link:k,main:c,map:c,mark:b,menu:a({li:1},c),meta:k,meter:d(b,{meter:1}),nav:c,noscript:a({link:1,meta:1,style:1},b),object:a({param:1},b),ol:{li:1},optgroup:{option:1},option:g,output:b,p:b,param:k,pre:b,progress:d(b,{progress:1}),q:b,rp:b,rt:b,ruby:a({rp:1,rt:1},b),s:b,samp:b,script:g,section:c,select:{optgroup:1,option:1},small:b,source:k,span:b,strong:b,style:g,sub:b,summary:a({h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},b), +sup:b,table:{caption:1,colgroup:1,thead:1,tfoot:1,tbody:1,tr:1},tbody:{tr:1},td:c,textarea:g,tfoot:{tr:1},th:c,thead:{tr:1},time:d(b,{time:1}),title:g,tr:{th:1,td:1},track:k,u:b,ul:{li:1},"var":b,video:a({source:1,track:1},c),wbr:k,acronym:b,applet:a({param:1},c),basefont:k,big:b,center:c,dialog:k,dir:{li:1},font:b,isindex:k,noframes:c,strike:b,tt:b};a(d,{$block:a({audio:1,dd:1,dt:1,figcaption:1,li:1,video:1},f,m),$blockLimit:{article:1,aside:1,audio:1,body:1,caption:1,details:1,dir:1,div:1,dl:1, +fieldset:1,figcaption:1,figure:1,footer:1,form:1,header:1,hgroup:1,main:1,menu:1,nav:1,ol:1,section:1,table:1,td:1,th:1,tr:1,ul:1,video:1},$cdata:{script:1,style:1},$editable:{address:1,article:1,aside:1,blockquote:1,body:1,details:1,div:1,fieldset:1,figcaption:1,footer:1,form:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,header:1,hgroup:1,main:1,nav:1,p:1,pre:1,section:1},$empty:{area:1,base:1,basefont:1,br:1,col:1,command:1,dialog:1,embed:1,hr:1,img:1,input:1,isindex:1,keygen:1,link:1,meta:1,param:1,source:1, +track:1,wbr:1},$inline:b,$list:{dl:1,ol:1,ul:1},$listItem:{dd:1,dt:1,li:1},$nonBodyContent:a({body:1,head:1,html:1},d.head),$nonEditable:{applet:1,audio:1,button:1,embed:1,iframe:1,map:1,object:1,option:1,param:1,script:1,textarea:1,video:1},$object:{applet:1,audio:1,button:1,hr:1,iframe:1,img:1,input:1,object:1,select:1,table:1,textarea:1,video:1},$removeEmpty:{abbr:1,acronym:1,b:1,bdi:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,mark:1,meter:1,output:1,q:1,ruby:1, +s:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,time:1,tt:1,u:1,"var":1},$tabIndex:{a:1,area:1,button:1,input:1,object:1,select:1,textarea:1},$tableContent:{caption:1,col:1,colgroup:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1},$transparent:{a:1,audio:1,canvas:1,del:1,ins:1,map:1,noscript:1,object:1,video:1},$intermediate:{caption:1,colgroup:1,dd:1,dt:1,figcaption:1,legend:1,li:1,optgroup:1,option:1,rp:1,rt:1,summary:1,tbody:1,td:1,tfoot:1,th:1,thead:1,tr:1}});return d}(); +CKEDITOR.dom.event=function(a){this.$=a}; +CKEDITOR.dom.event.prototype={getKey:function(){return this.$.keyCode||this.$.which},getKeystroke:function(){var a=this.getKey();if(this.$.ctrlKey||this.$.metaKey)a+=CKEDITOR.CTRL;this.$.shiftKey&&(a+=CKEDITOR.SHIFT);this.$.altKey&&(a+=CKEDITOR.ALT);return a},preventDefault:function(a){var d=this.$;d.preventDefault?d.preventDefault():d.returnValue=!1;a&&this.stopPropagation()},stopPropagation:function(){var a=this.$;a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},getTarget:function(){var a= +this.$.target||this.$.srcElement;return a?new CKEDITOR.dom.node(a):null},getPhase:function(){return this.$.eventPhase||2},getPageOffset:function(){var a=this.getTarget().getDocument().$;return{x:this.$.pageX||this.$.clientX+(a.documentElement.scrollLeft||a.body.scrollLeft),y:this.$.pageY||this.$.clientY+(a.documentElement.scrollTop||a.body.scrollTop)}}};CKEDITOR.CTRL=1114112;CKEDITOR.SHIFT=2228224;CKEDITOR.ALT=4456448;CKEDITOR.EVENT_PHASE_CAPTURING=1;CKEDITOR.EVENT_PHASE_AT_TARGET=2; +CKEDITOR.EVENT_PHASE_BUBBLING=3;CKEDITOR.dom.domObject=function(a){a&&(this.$=a)}; +CKEDITOR.dom.domObject.prototype=function(){var a=function(a,b){return function(c){"undefined"!=typeof CKEDITOR&&a.fire(b,new CKEDITOR.dom.event(c))}};return{getPrivate:function(){var a;(a=this.getCustomData("_"))||this.setCustomData("_",a={});return a},on:function(d){var b=this.getCustomData("_cke_nativeListeners");b||(b={},this.setCustomData("_cke_nativeListeners",b));b[d]||(b=b[d]=a(this,d),this.$.addEventListener?this.$.addEventListener(d,b,!!CKEDITOR.event.useCapture):this.$.attachEvent&&this.$.attachEvent("on"+ +d,b));return CKEDITOR.event.prototype.on.apply(this,arguments)},removeListener:function(a){CKEDITOR.event.prototype.removeListener.apply(this,arguments);if(!this.hasListeners(a)){var b=this.getCustomData("_cke_nativeListeners"),c=b&&b[a];c&&(this.$.removeEventListener?this.$.removeEventListener(a,c,!1):this.$.detachEvent&&this.$.detachEvent("on"+a,c),delete b[a])}},removeAllListeners:function(){var a=this.getCustomData("_cke_nativeListeners"),b;for(b in a){var c=a[b];this.$.detachEvent?this.$.detachEvent("on"+ +b,c):this.$.removeEventListener&&this.$.removeEventListener(b,c,!1);delete a[b]}CKEDITOR.event.prototype.removeAllListeners.call(this)}}}(); +(function(a){var d={};CKEDITOR.on("reset",function(){d={}});a.equals=function(a){try{return a&&a.$===this.$}catch(c){return!1}};a.setCustomData=function(a,c){var f=this.getUniqueId();(d[f]||(d[f]={}))[a]=c;return this};a.getCustomData=function(a){var c=this.$["data-cke-expando"];return(c=c&&d[c])&&a in c?c[a]:null};a.removeCustomData=function(a){var c=this.$["data-cke-expando"],c=c&&d[c],f,h;c&&(f=c[a],h=a in c,delete c[a]);return h?f:null};a.clearCustomData=function(){this.removeAllListeners();var a= +this.$["data-cke-expando"];a&&delete d[a]};a.getUniqueId=function(){return this.$["data-cke-expando"]||(this.$["data-cke-expando"]=CKEDITOR.tools.getNextNumber())};CKEDITOR.event.implementOn(a)})(CKEDITOR.dom.domObject.prototype); +CKEDITOR.dom.node=function(a){return a?new CKEDITOR.dom[a.nodeType==CKEDITOR.NODE_DOCUMENT?"document":a.nodeType==CKEDITOR.NODE_ELEMENT?"element":a.nodeType==CKEDITOR.NODE_TEXT?"text":a.nodeType==CKEDITOR.NODE_COMMENT?"comment":a.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT?"documentFragment":"domObject"](a):this};CKEDITOR.dom.node.prototype=new CKEDITOR.dom.domObject;CKEDITOR.NODE_ELEMENT=1;CKEDITOR.NODE_DOCUMENT=9;CKEDITOR.NODE_TEXT=3;CKEDITOR.NODE_COMMENT=8;CKEDITOR.NODE_DOCUMENT_FRAGMENT=11; +CKEDITOR.POSITION_IDENTICAL=0;CKEDITOR.POSITION_DISCONNECTED=1;CKEDITOR.POSITION_FOLLOWING=2;CKEDITOR.POSITION_PRECEDING=4;CKEDITOR.POSITION_IS_CONTAINED=8;CKEDITOR.POSITION_CONTAINS=16; +CKEDITOR.tools.extend(CKEDITOR.dom.node.prototype,{appendTo:function(a,d){a.append(this,d);return a},clone:function(a,d){function b(c){c["data-cke-expando"]&&(c["data-cke-expando"]=!1);if(c.nodeType==CKEDITOR.NODE_ELEMENT||c.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT)if(d||c.nodeType!=CKEDITOR.NODE_ELEMENT||c.removeAttribute("id",!1),a){c=c.childNodes;for(var f=0;f<c.length;f++)b(c[f])}}function c(b){if(b.type==CKEDITOR.NODE_ELEMENT||b.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT){if(b.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT){var d= +b.getName();":"==d[0]&&b.renameNode(d.substring(1))}if(a)for(d=0;d<b.getChildCount();d++)c(b.getChild(d))}}var f=this.$.cloneNode(a);b(f);f=new CKEDITOR.dom.node(f);CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(this.type==CKEDITOR.NODE_ELEMENT||this.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)&&c(f);return f},hasPrevious:function(){return!!this.$.previousSibling},hasNext:function(){return!!this.$.nextSibling},insertAfter:function(a){a.$.parentNode.insertBefore(this.$,a.$.nextSibling);return a},insertBefore:function(a){a.$.parentNode.insertBefore(this.$, +a.$);return a},insertBeforeMe:function(a){this.$.parentNode.insertBefore(a.$,this.$);return a},getAddress:function(a){for(var d=[],b=this.getDocument().$.documentElement,c=this.$;c&&c!=b;){var f=c.parentNode;f&&d.unshift(this.getIndex.call({$:c},a));c=f}return d},getDocument:function(){return new CKEDITOR.dom.document(this.$.ownerDocument||this.$.parentNode.ownerDocument)},getIndex:function(a){function d(a,c){var m=c?a.nextSibling:a.previousSibling;return m&&m.nodeType==CKEDITOR.NODE_TEXT?b(m)?d(m, +c):m:null}function b(a){return!a.nodeValue||a.nodeValue==CKEDITOR.dom.selection.FILLING_CHAR_SEQUENCE}var c=this.$,f=-1,h;if(!this.$.parentNode||a&&c.nodeType==CKEDITOR.NODE_TEXT&&b(c)&&!d(c)&&!d(c,!0))return-1;do a&&c!=this.$&&c.nodeType==CKEDITOR.NODE_TEXT&&(h||b(c))||(f++,h=c.nodeType==CKEDITOR.NODE_TEXT);while(c=c.previousSibling);return f},getNextSourceNode:function(a,d,b){if(b&&!b.call){var c=b;b=function(a){return!a.equals(c)}}a=!a&&this.getFirst&&this.getFirst();var f;if(!a){if(this.type== +CKEDITOR.NODE_ELEMENT&&b&&!1===b(this,!0))return null;a=this.getNext()}for(;!a&&(f=(f||this).getParent());){if(b&&!1===b(f,!0))return null;a=f.getNext()}return!a||b&&!1===b(a)?null:d&&d!=a.type?a.getNextSourceNode(!1,d,b):a},getPreviousSourceNode:function(a,d,b){if(b&&!b.call){var c=b;b=function(a){return!a.equals(c)}}a=!a&&this.getLast&&this.getLast();var f;if(!a){if(this.type==CKEDITOR.NODE_ELEMENT&&b&&!1===b(this,!0))return null;a=this.getPrevious()}for(;!a&&(f=(f||this).getParent());){if(b&&!1=== +b(f,!0))return null;a=f.getPrevious()}return!a||b&&!1===b(a)?null:d&&a.type!=d?a.getPreviousSourceNode(!1,d,b):a},getPrevious:function(a){var d=this.$,b;do b=(d=d.previousSibling)&&10!=d.nodeType&&new CKEDITOR.dom.node(d);while(b&&a&&!a(b));return b},getNext:function(a){var d=this.$,b;do b=(d=d.nextSibling)&&new CKEDITOR.dom.node(d);while(b&&a&&!a(b));return b},getParent:function(a){var d=this.$.parentNode;return d&&(d.nodeType==CKEDITOR.NODE_ELEMENT||a&&d.nodeType==CKEDITOR.NODE_DOCUMENT_FRAGMENT)? +new CKEDITOR.dom.node(d):null},getParents:function(a){var d=this,b=[];do b[a?"push":"unshift"](d);while(d=d.getParent());return b},getCommonAncestor:function(a){if(a.equals(this))return this;if(a.contains&&a.contains(this))return a;var d=this.contains?this:this.getParent();do if(d.contains(a))return d;while(d=d.getParent());return null},getPosition:function(a){var d=this.$,b=a.$;if(d.compareDocumentPosition)return d.compareDocumentPosition(b);if(d==b)return CKEDITOR.POSITION_IDENTICAL;if(this.type== +CKEDITOR.NODE_ELEMENT&&a.type==CKEDITOR.NODE_ELEMENT){if(d.contains){if(d.contains(b))return CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_PRECEDING;if(b.contains(d))return CKEDITOR.POSITION_IS_CONTAINED+CKEDITOR.POSITION_FOLLOWING}if("sourceIndex"in d)return 0>d.sourceIndex||0>b.sourceIndex?CKEDITOR.POSITION_DISCONNECTED:d.sourceIndex<b.sourceIndex?CKEDITOR.POSITION_PRECEDING:CKEDITOR.POSITION_FOLLOWING}d=this.getAddress();a=a.getAddress();for(var b=Math.min(d.length,a.length),c=0;c<b;c++)if(d[c]!= +a[c])return d[c]<a[c]?CKEDITOR.POSITION_PRECEDING:CKEDITOR.POSITION_FOLLOWING;return d.length<a.length?CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_PRECEDING:CKEDITOR.POSITION_IS_CONTAINED+CKEDITOR.POSITION_FOLLOWING},getAscendant:function(a,d){var b=this.$,c,f;d||(b=b.parentNode);"function"==typeof a?(f=!0,c=a):(f=!1,c=function(b){b="string"==typeof b.nodeName?b.nodeName.toLowerCase():"";return"string"==typeof a?b==a:b in a});for(;b;){if(c(f?new CKEDITOR.dom.node(b):b))return new CKEDITOR.dom.node(b); +try{b=b.parentNode}catch(h){b=null}}return null},hasAscendant:function(a,d){var b=this.$;d||(b=b.parentNode);for(;b;){if(b.nodeName&&b.nodeName.toLowerCase()==a)return!0;b=b.parentNode}return!1},move:function(a,d){a.append(this.remove(),d)},remove:function(a){var d=this.$,b=d.parentNode;if(b){if(a)for(;a=d.firstChild;)b.insertBefore(d.removeChild(a),d);b.removeChild(d)}return this},replace:function(a){this.insertBefore(a);a.remove()},trim:function(){this.ltrim();this.rtrim()},ltrim:function(){for(var a;this.getFirst&& +(a=this.getFirst());){if(a.type==CKEDITOR.NODE_TEXT){var d=CKEDITOR.tools.ltrim(a.getText()),b=a.getLength();if(d)d.length<b&&(a.split(b-d.length),this.$.removeChild(this.$.firstChild));else{a.remove();continue}}break}},rtrim:function(){for(var a;this.getLast&&(a=this.getLast());){if(a.type==CKEDITOR.NODE_TEXT){var d=CKEDITOR.tools.rtrim(a.getText()),b=a.getLength();if(d)d.length<b&&(a.split(d.length),this.$.lastChild.parentNode.removeChild(this.$.lastChild));else{a.remove();continue}}break}CKEDITOR.env.needsBrFiller&& +(a=this.$.lastChild)&&1==a.type&&"br"==a.nodeName.toLowerCase()&&a.parentNode.removeChild(a)},isReadOnly:function(a){var d=this;this.type!=CKEDITOR.NODE_ELEMENT&&(d=this.getParent());CKEDITOR.env.edge&&d&&d.is("textarea","input")&&(a=!0);if(!a&&d&&"undefined"!=typeof d.$.isContentEditable)return!(d.$.isContentEditable||d.data("cke-editable"));for(;d;){if(d.data("cke-editable"))return!1;if(d.hasAttribute("contenteditable"))return"false"==d.getAttribute("contenteditable");d=d.getParent()}return!0}}); +CKEDITOR.dom.window=function(a){CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.window.prototype=new CKEDITOR.dom.domObject; +CKEDITOR.tools.extend(CKEDITOR.dom.window.prototype,{focus:function(){this.$.focus()},getViewPaneSize:function(){var a=this.$.document,d="CSS1Compat"==a.compatMode;return{width:(d?a.documentElement.clientWidth:a.body.clientWidth)||0,height:(d?a.documentElement.clientHeight:a.body.clientHeight)||0}},getScrollPosition:function(){var a=this.$;if("pageXOffset"in a)return{x:a.pageXOffset||0,y:a.pageYOffset||0};a=a.document;return{x:a.documentElement.scrollLeft||a.body.scrollLeft||0,y:a.documentElement.scrollTop|| +a.body.scrollTop||0}},getFrame:function(){var a=this.$.frameElement;return a?new CKEDITOR.dom.element.get(a):null}});CKEDITOR.dom.document=function(a){CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.document.prototype=new CKEDITOR.dom.domObject; +CKEDITOR.tools.extend(CKEDITOR.dom.document.prototype,{type:CKEDITOR.NODE_DOCUMENT,appendStyleSheet:function(a){if(this.$.createStyleSheet)this.$.createStyleSheet(a);else{var d=new CKEDITOR.dom.element("link");d.setAttributes({rel:"stylesheet",type:"text/css",href:a});this.getHead().append(d)}},appendStyleText:function(a){if(this.$.createStyleSheet){var d=this.$.createStyleSheet("");d.cssText=a}else{var b=new CKEDITOR.dom.element("style",this);b.append(new CKEDITOR.dom.text(a,this));this.getHead().append(b)}return d|| +b.$.sheet},createElement:function(a,d){var b=new CKEDITOR.dom.element(a,this);d&&(d.attributes&&b.setAttributes(d.attributes),d.styles&&b.setStyles(d.styles));return b},createText:function(a){return new CKEDITOR.dom.text(a,this)},focus:function(){this.getWindow().focus()},getActive:function(){var a;try{a=this.$.activeElement}catch(d){return null}return new CKEDITOR.dom.element(a)},getById:function(a){return(a=this.$.getElementById(a))?new CKEDITOR.dom.element(a):null},getByAddress:function(a,d){for(var b= +this.$.documentElement,c=0;b&&c<a.length;c++){var f=a[c];if(d)for(var h=-1,k=0;k<b.childNodes.length;k++){var g=b.childNodes[k];if(!0!==d||3!=g.nodeType||!g.previousSibling||3!=g.previousSibling.nodeType)if(h++,h==f){b=g;break}}else b=b.childNodes[f]}return b?new CKEDITOR.dom.node(b):null},getElementsByTag:function(a,d){CKEDITOR.env.ie&&8>=document.documentMode||!d||(a=d+":"+a);return new CKEDITOR.dom.nodeList(this.$.getElementsByTagName(a))},getHead:function(){var a=this.$.getElementsByTagName("head")[0]; +return a=a?new CKEDITOR.dom.element(a):this.getDocumentElement().append(new CKEDITOR.dom.element("head"),!0)},getBody:function(){return new CKEDITOR.dom.element(this.$.body)},getDocumentElement:function(){return new CKEDITOR.dom.element(this.$.documentElement)},getWindow:function(){return new CKEDITOR.dom.window(this.$.parentWindow||this.$.defaultView)},write:function(a){this.$.open("text/html","replace");CKEDITOR.env.ie&&(a=a.replace(/(?:^\s*<!DOCTYPE[^>]*?>)|^/i,'$\x26\n\x3cscript data-cke-temp\x3d"1"\x3e('+ +CKEDITOR.tools.fixDomain+")();\x3c/script\x3e"));this.$.write(a);this.$.close()},find:function(a){return new CKEDITOR.dom.nodeList(this.$.querySelectorAll(a))},findOne:function(a){return(a=this.$.querySelector(a))?new CKEDITOR.dom.element(a):null},_getHtml5ShivFrag:function(){var a=this.getCustomData("html5ShivFrag");a||(a=this.$.createDocumentFragment(),CKEDITOR.tools.enableHtml5Elements(a,!0),this.setCustomData("html5ShivFrag",a));return a}});CKEDITOR.dom.nodeList=function(a){this.$=a}; +CKEDITOR.dom.nodeList.prototype={count:function(){return this.$.length},getItem:function(a){return 0>a||a>=this.$.length?null:(a=this.$[a])?new CKEDITOR.dom.node(a):null},toArray:function(){return CKEDITOR.tools.array.map(this.$,function(a){return new CKEDITOR.dom.node(a)})}};CKEDITOR.dom.element=function(a,d){"string"==typeof a&&(a=(d?d.$:document).createElement(a));CKEDITOR.dom.domObject.call(this,a)}; +CKEDITOR.dom.element.get=function(a){return(a="string"==typeof a?document.getElementById(a)||document.getElementsByName(a)[0]:a)&&(a.$?a:new CKEDITOR.dom.element(a))};CKEDITOR.dom.element.prototype=new CKEDITOR.dom.node;CKEDITOR.dom.element.createFromHtml=function(a,d){var b=new CKEDITOR.dom.element("div",d);b.setHtml(a);return b.getFirst().remove()}; +CKEDITOR.dom.element.setMarker=function(a,d,b,c){var f=d.getCustomData("list_marker_id")||d.setCustomData("list_marker_id",CKEDITOR.tools.getNextNumber()).getCustomData("list_marker_id"),h=d.getCustomData("list_marker_names")||d.setCustomData("list_marker_names",{}).getCustomData("list_marker_names");a[f]=d;h[b]=1;return d.setCustomData(b,c)};CKEDITOR.dom.element.clearAllMarkers=function(a){for(var d in a)CKEDITOR.dom.element.clearMarkers(a,a[d],1)}; +CKEDITOR.dom.element.clearMarkers=function(a,d,b){var c=d.getCustomData("list_marker_names"),f=d.getCustomData("list_marker_id"),h;for(h in c)d.removeCustomData(h);d.removeCustomData("list_marker_names");b&&(d.removeCustomData("list_marker_id"),delete a[f])}; +(function(){function a(a,b){return-1<(" "+a+" ").replace(h," ").indexOf(" "+b+" ")}function d(a){var b=!0;a.$.id||(a.$.id="cke_tmp_"+CKEDITOR.tools.getNextNumber(),b=!1);return function(){b||a.removeAttribute("id")}}function b(a,b){var c=CKEDITOR.tools.escapeCss(a.$.id);return"#"+c+" "+b.split(/,\s*/).join(", #"+c+" ")}function c(a){for(var b=0,c=0,e=k[a].length;c<e;c++)b+=parseFloat(this.getComputedStyle(k[a][c])||0,10)||0;return b}var f=document.createElement("_").classList,f="undefined"!==typeof f&& +null!==String(f.add).match(/\[Native code\]/gi),h=/[\n\t\r]/g;CKEDITOR.tools.extend(CKEDITOR.dom.element.prototype,{type:CKEDITOR.NODE_ELEMENT,addClass:f?function(a){this.$.classList.add(a);return this}:function(b){var c=this.$.className;c&&(a(c,b)||(c+=" "+b));this.$.className=c||b;return this},removeClass:f?function(a){var b=this.$;b.classList.remove(a);b.className||b.removeAttribute("class");return this}:function(b){var c=this.getAttribute("class");c&&a(c,b)&&((c=c.replace(new RegExp("(?:^|\\s+)"+ +b+"(?\x3d\\s|$)"),"").replace(/^\s+/,""))?this.setAttribute("class",c):this.removeAttribute("class"));return this},hasClass:function(b){return a(this.$.className,b)},append:function(a,b){"string"==typeof a&&(a=this.getDocument().createElement(a));b?this.$.insertBefore(a.$,this.$.firstChild):this.$.appendChild(a.$);return a},appendHtml:function(a){if(this.$.childNodes.length){var b=new CKEDITOR.dom.element("div",this.getDocument());b.setHtml(a);b.moveChildren(this)}else this.setHtml(a)},appendText:function(a){null!= +this.$.text&&CKEDITOR.env.ie&&9>CKEDITOR.env.version?this.$.text+=a:this.append(new CKEDITOR.dom.text(a))},appendBogus:function(a){if(a||CKEDITOR.env.needsBrFiller){for(a=this.getLast();a&&a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.rtrim(a.getText());)a=a.getPrevious();a&&a.is&&a.is("br")||(a=this.getDocument().createElement("br"),CKEDITOR.env.gecko&&a.setAttribute("type","_moz"),this.append(a))}},breakParent:function(a,b){var c=new CKEDITOR.dom.range(this.getDocument());c.setStartAfter(this);c.setEndAfter(a); +var e=c.extractContents(!1,b||!1),d;c.insertNode(this.remove());if(CKEDITOR.env.ie&&!CKEDITOR.env.edge){for(c=new CKEDITOR.dom.element("div");d=e.getFirst();)d.$.style.backgroundColor&&(d.$.style.backgroundColor=d.$.style.backgroundColor),c.append(d);c.insertAfter(this);c.remove(!0)}else e.insertAfterNode(this)},contains:document.compareDocumentPosition?function(a){return!!(this.$.compareDocumentPosition(a.$)&16)}:function(a){var b=this.$;return a.type!=CKEDITOR.NODE_ELEMENT?b.contains(a.getParent().$): +b!=a.$&&b.contains(a.$)},focus:function(){function a(){try{this.$.focus()}catch(b){}}return function(b){b?CKEDITOR.tools.setTimeout(a,100,this):a.call(this)}}(),getHtml:function(){var a=this.$.innerHTML;return CKEDITOR.env.ie?a.replace(/<\?[^>]*>/g,""):a},getOuterHtml:function(){if(this.$.outerHTML)return this.$.outerHTML.replace(/<\?[^>]*>/,"");var a=this.$.ownerDocument.createElement("div");a.appendChild(this.$.cloneNode(!0));return a.innerHTML},getClientRect:function(){var a=CKEDITOR.tools.extend({}, +this.$.getBoundingClientRect());!a.width&&(a.width=a.right-a.left);!a.height&&(a.height=a.bottom-a.top);return a},setHtml:CKEDITOR.env.ie&&9>CKEDITOR.env.version?function(a){try{var b=this.$;if(this.getParent())return b.innerHTML=a;var c=this.getDocument()._getHtml5ShivFrag();c.appendChild(b);b.innerHTML=a;c.removeChild(b);return a}catch(e){this.$.innerHTML="";b=new CKEDITOR.dom.element("body",this.getDocument());b.$.innerHTML=a;for(b=b.getChildren();b.count();)this.append(b.getItem(0));return a}}: +function(a){return this.$.innerHTML=a},setText:function(){var a=document.createElement("p");a.innerHTML="x";a=a.textContent;return function(b){this.$[a?"textContent":"innerText"]=b}}(),getAttribute:function(){var a=function(a){return this.$.getAttribute(a,2)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(a){switch(a){case "class":a="className";break;case "http-equiv":a="httpEquiv";break;case "name":return this.$.name;case "tabindex":return a=this.$.getAttribute(a, +2),0!==a&&0===this.$.tabIndex&&(a=null),a;case "checked":return a=this.$.attributes.getNamedItem(a),(a.specified?a.nodeValue:this.$.checked)?"checked":null;case "hspace":case "value":return this.$[a];case "style":return this.$.style.cssText;case "contenteditable":case "contentEditable":return this.$.attributes.getNamedItem("contentEditable").specified?this.$.getAttribute("contentEditable"):null}return this.$.getAttribute(a,2)}:a}(),getAttributes:function(a){var b={},c=this.$.attributes,e;a=CKEDITOR.tools.isArray(a)? +a:[];for(e=0;e<c.length;e++)-1===CKEDITOR.tools.indexOf(a,c[e].name)&&(b[c[e].name]=c[e].value);return b},getChildren:function(){return new CKEDITOR.dom.nodeList(this.$.childNodes)},getComputedStyle:document.defaultView&&document.defaultView.getComputedStyle?function(a){var b=this.getWindow().$.getComputedStyle(this.$,null);return b?b.getPropertyValue(a):""}:function(a){return this.$.currentStyle[CKEDITOR.tools.cssStyleToDomStyle(a)]},getDtd:function(){var a=CKEDITOR.dtd[this.getName()];this.getDtd= +function(){return a};return a},getElementsByTag:CKEDITOR.dom.document.prototype.getElementsByTag,getTabIndex:function(){var a=this.$.tabIndex;return 0!==a||CKEDITOR.dtd.$tabIndex[this.getName()]||0===parseInt(this.getAttribute("tabindex"),10)?a:-1},getText:function(){return this.$.textContent||this.$.innerText||""},getWindow:function(){return this.getDocument().getWindow()},getId:function(){return this.$.id||null},getNameAtt:function(){return this.$.name||null},getName:function(){var a=this.$.nodeName.toLowerCase(); +if(CKEDITOR.env.ie&&8>=document.documentMode){var b=this.$.scopeName;"HTML"!=b&&(a=b.toLowerCase()+":"+a)}this.getName=function(){return a};return this.getName()},getValue:function(){return this.$.value},getFirst:function(a){var b=this.$.firstChild;(b=b&&new CKEDITOR.dom.node(b))&&a&&!a(b)&&(b=b.getNext(a));return b},getLast:function(a){var b=this.$.lastChild;(b=b&&new CKEDITOR.dom.node(b))&&a&&!a(b)&&(b=b.getPrevious(a));return b},getStyle:function(a){return this.$.style[CKEDITOR.tools.cssStyleToDomStyle(a)]}, +is:function(){var a=this.getName();if("object"==typeof arguments[0])return!!arguments[0][a];for(var b=0;b<arguments.length;b++)if(arguments[b]==a)return!0;return!1},isEditable:function(a){var b=this.getName();return this.isReadOnly()||"none"==this.getComputedStyle("display")||"hidden"==this.getComputedStyle("visibility")||CKEDITOR.dtd.$nonEditable[b]||CKEDITOR.dtd.$empty[b]||this.is("a")&&(this.data("cke-saved-name")||this.hasAttribute("name"))&&!this.getChildCount()?!1:!1!==a?(a=CKEDITOR.dtd[b]|| +CKEDITOR.dtd.span,!(!a||!a["#"])):!0},isIdentical:function(a){var b=this.clone(0,1);a=a.clone(0,1);b.removeAttributes(["_moz_dirty","data-cke-expando","data-cke-saved-href","data-cke-saved-name"]);a.removeAttributes(["_moz_dirty","data-cke-expando","data-cke-saved-href","data-cke-saved-name"]);if(b.$.isEqualNode)return b.$.style.cssText=CKEDITOR.tools.normalizeCssText(b.$.style.cssText),a.$.style.cssText=CKEDITOR.tools.normalizeCssText(a.$.style.cssText),b.$.isEqualNode(a.$);b=b.getOuterHtml();a= +a.getOuterHtml();if(CKEDITOR.env.ie&&9>CKEDITOR.env.version&&this.is("a")){var c=this.getParent();c.type==CKEDITOR.NODE_ELEMENT&&(c=c.clone(),c.setHtml(b),b=c.getHtml(),c.setHtml(a),a=c.getHtml())}return b==a},isVisible:function(){var a=(this.$.offsetHeight||this.$.offsetWidth)&&"hidden"!=this.getComputedStyle("visibility"),b,c;a&&CKEDITOR.env.webkit&&(b=this.getWindow(),!b.equals(CKEDITOR.document.getWindow())&&(c=b.$.frameElement)&&(a=(new CKEDITOR.dom.element(c)).isVisible()));return!!a},isEmptyInlineRemoveable:function(){if(!CKEDITOR.dtd.$removeEmpty[this.getName()])return!1; +for(var a=this.getChildren(),b=0,c=a.count();b<c;b++){var e=a.getItem(b);if(e.type!=CKEDITOR.NODE_ELEMENT||!e.data("cke-bookmark"))if(e.type==CKEDITOR.NODE_ELEMENT&&!e.isEmptyInlineRemoveable()||e.type==CKEDITOR.NODE_TEXT&&CKEDITOR.tools.trim(e.getText()))return!1}return!0},hasAttributes:CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(){for(var a=this.$.attributes,b=0;b<a.length;b++){var c=a[b];switch(c.nodeName){case "class":if(this.getAttribute("class"))return!0;case "data-cke-expando":continue; +default:if(c.specified)return!0}}return!1}:function(){var a=this.$.attributes,b=a.length,c={"data-cke-expando":1,_moz_dirty:1};return 0<b&&(2<b||!c[a[0].nodeName]||2==b&&!c[a[1].nodeName])},hasAttribute:function(){function a(b){var c=this.$.attributes.getNamedItem(b);if("input"==this.getName())switch(b){case "class":return 0<this.$.className.length;case "checked":return!!this.$.checked;case "value":return b=this.getAttribute("type"),"checkbox"==b||"radio"==b?"on"!=this.$.value:!!this.$.value}return c? +c.specified:!1}return CKEDITOR.env.ie?8>CKEDITOR.env.version?function(b){return"name"==b?!!this.$.name:a.call(this,b)}:a:function(a){return!!this.$.attributes.getNamedItem(a)}}(),hide:function(){this.setStyle("display","none")},moveChildren:function(a,b){var c=this.$;a=a.$;if(c!=a){var e;if(b)for(;e=c.lastChild;)a.insertBefore(c.removeChild(e),a.firstChild);else for(;e=c.firstChild;)a.appendChild(c.removeChild(e))}},mergeSiblings:function(){function a(b,c,e){if(c&&c.type==CKEDITOR.NODE_ELEMENT){for(var d= +[];c.data("cke-bookmark")||c.isEmptyInlineRemoveable();)if(d.push(c),c=e?c.getNext():c.getPrevious(),!c||c.type!=CKEDITOR.NODE_ELEMENT)return;if(b.isIdentical(c)){for(var g=e?b.getLast():b.getFirst();d.length;)d.shift().move(b,!e);c.moveChildren(b,!e);c.remove();g&&g.type==CKEDITOR.NODE_ELEMENT&&g.mergeSiblings()}}}return function(b){if(!1===b||CKEDITOR.dtd.$removeEmpty[this.getName()]||this.is("a"))a(this,this.getNext(),!0),a(this,this.getPrevious())}}(),show:function(){this.setStyles({display:"", +visibility:""})},setAttribute:function(){var a=function(a,b){this.$.setAttribute(a,b);return this};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(b,c){"class"==b?this.$.className=c:"style"==b?this.$.style.cssText=c:"tabindex"==b?this.$.tabIndex=c:"checked"==b?this.$.checked=c:"contenteditable"==b?a.call(this,"contentEditable",c):a.apply(this,arguments);return this}:CKEDITOR.env.ie8Compat&&CKEDITOR.env.secure?function(b,c){if("src"==b&&c.match(/^http:\/\//))try{a.apply(this, +arguments)}catch(e){}else a.apply(this,arguments);return this}:a}(),setAttributes:function(a){for(var b in a)this.setAttribute(b,a[b]);return this},setValue:function(a){this.$.value=a;return this},removeAttribute:function(){var a=function(a){this.$.removeAttribute(a)};return CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?function(a){"class"==a?a="className":"tabindex"==a?a="tabIndex":"contenteditable"==a&&(a="contentEditable");this.$.removeAttribute(a)}:a}(),removeAttributes:function(a){if(CKEDITOR.tools.isArray(a))for(var b= +0;b<a.length;b++)this.removeAttribute(a[b]);else for(b in a=a||this.getAttributes(),a)a.hasOwnProperty(b)&&this.removeAttribute(b)},removeStyle:function(a){var b=this.$.style;if(b.removeProperty||"border"!=a&&"margin"!=a&&"padding"!=a)b.removeProperty?b.removeProperty(a):b.removeAttribute(CKEDITOR.tools.cssStyleToDomStyle(a)),this.$.style.cssText||this.removeAttribute("style");else{var c=["top","left","right","bottom"],e;"border"==a&&(e=["color","style","width"]);for(var b=[],d=0;d<c.length;d++)if(e)for(var y= +0;y<e.length;y++)b.push([a,c[d],e[y]].join("-"));else b.push([a,c[d]].join("-"));for(a=0;a<b.length;a++)this.removeStyle(b[a])}},setStyle:function(a,b){this.$.style[CKEDITOR.tools.cssStyleToDomStyle(a)]=b;return this},setStyles:function(a){for(var b in a)this.setStyle(b,a[b]);return this},setOpacity:function(a){CKEDITOR.env.ie&&9>CKEDITOR.env.version?(a=Math.round(100*a),this.setStyle("filter",100<=a?"":"progid:DXImageTransform.Microsoft.Alpha(opacity\x3d"+a+")")):this.setStyle("opacity",a)},unselectable:function(){this.setStyles(CKEDITOR.tools.cssVendorPrefix("user-select", +"none"));if(CKEDITOR.env.ie){this.setAttribute("unselectable","on");for(var a,b=this.getElementsByTag("*"),c=0,e=b.count();c<e;c++)a=b.getItem(c),a.setAttribute("unselectable","on")}},getPositionedAncestor:function(){for(var a=this;"html"!=a.getName();){if("static"!=a.getComputedStyle("position"))return a;a=a.getParent()}return null},getDocumentPosition:function(a){var b=0,c=0,e=this.getDocument(),d=e.getBody(),y="BackCompat"==e.$.compatMode;if(document.documentElement.getBoundingClientRect&&(CKEDITOR.env.ie? +8!==CKEDITOR.env.version:1)){var f=this.$.getBoundingClientRect(),h=e.$.documentElement,x=h.clientTop||d.$.clientTop||0,p=h.clientLeft||d.$.clientLeft||0,k=!0;CKEDITOR.env.ie&&(k=e.getDocumentElement().contains(this),e=e.getBody().contains(this),k=y&&e||!y&&k);k&&(CKEDITOR.env.webkit||CKEDITOR.env.ie&&12<=CKEDITOR.env.version?(b=d.$.scrollLeft||h.scrollLeft,c=d.$.scrollTop||h.scrollTop):(c=y?d.$:h,b=c.scrollLeft,c=c.scrollTop),b=f.left+b-p,c=f.top+c-x)}else for(x=this,p=null;x&&"body"!=x.getName()&& +"html"!=x.getName();){b+=x.$.offsetLeft-x.$.scrollLeft;c+=x.$.offsetTop-x.$.scrollTop;x.equals(this)||(b+=x.$.clientLeft||0,c+=x.$.clientTop||0);for(;p&&!p.equals(x);)b-=p.$.scrollLeft,c-=p.$.scrollTop,p=p.getParent();p=x;x=(f=x.$.offsetParent)?new CKEDITOR.dom.element(f):null}a&&(f=this.getWindow(),x=a.getWindow(),!f.equals(x)&&f.$.frameElement&&(a=(new CKEDITOR.dom.element(f.$.frameElement)).getDocumentPosition(a),b+=a.x,c+=a.y));document.documentElement.getBoundingClientRect||!CKEDITOR.env.gecko|| +y||(b+=this.$.clientLeft?1:0,c+=this.$.clientTop?1:0);return{x:b,y:c}},scrollIntoView:function(a){var b=this.getParent();if(b){do if((b.$.clientWidth&&b.$.clientWidth<b.$.scrollWidth||b.$.clientHeight&&b.$.clientHeight<b.$.scrollHeight)&&!b.is("body")&&this.scrollIntoParent(b,a,1),b.is("html")){var c=b.getWindow();try{var e=c.$.frameElement;e&&(b=new CKEDITOR.dom.element(e))}catch(d){}}while(b=b.getParent())}},scrollIntoParent:function(a,b,c){var e,d,y,f;function h(b,c){/body|html/.test(a.getName())? +a.getWindow().$.scrollBy(b,c):(a.$.scrollLeft+=b,a.$.scrollTop+=c)}function x(a,b){var c={x:0,y:0};if(!a.is(k?"body":"html")){var e=a.$.getBoundingClientRect();c.x=e.left;c.y=e.top}e=a.getWindow();e.equals(b)||(e=x(CKEDITOR.dom.element.get(e.$.frameElement),b),c.x+=e.x,c.y+=e.y);return c}function p(a,b){return parseInt(a.getComputedStyle("margin-"+b)||0,10)||0}!a&&(a=this.getWindow());y=a.getDocument();var k="BackCompat"==y.$.compatMode;a instanceof CKEDITOR.dom.window&&(a=k?y.getBody():y.getDocumentElement()); +CKEDITOR.env.webkit&&(y=this.getEditor(!1))&&(y._.previousScrollTop=null);y=a.getWindow();d=x(this,y);var u=x(a,y),K=this.$.offsetHeight;e=this.$.offsetWidth;var l=a.$.clientHeight,q=a.$.clientWidth;y=d.x-p(this,"left")-u.x||0;f=d.y-p(this,"top")-u.y||0;e=d.x+e+p(this,"right")-(u.x+q)||0;d=d.y+K+p(this,"bottom")-(u.y+l)||0;(0>f||0<d)&&h(0,!0===b?f:!1===b?d:0>f?f:d);c&&(0>y||0<e)&&h(0>y?y:e,0)},setState:function(a,b,c){b=b||"cke";switch(a){case CKEDITOR.TRISTATE_ON:this.addClass(b+"_on");this.removeClass(b+ +"_off");this.removeClass(b+"_disabled");c&&this.setAttribute("aria-pressed",!0);c&&this.removeAttribute("aria-disabled");break;case CKEDITOR.TRISTATE_DISABLED:this.addClass(b+"_disabled");this.removeClass(b+"_off");this.removeClass(b+"_on");c&&this.setAttribute("aria-disabled",!0);c&&this.removeAttribute("aria-pressed");break;default:this.addClass(b+"_off"),this.removeClass(b+"_on"),this.removeClass(b+"_disabled"),c&&this.removeAttribute("aria-pressed"),c&&this.removeAttribute("aria-disabled")}}, +getFrameDocument:function(){var a=this.$;try{a.contentWindow.document}catch(b){a.src=a.src}return a&&new CKEDITOR.dom.document(a.contentWindow.document)},copyAttributes:function(a,b){var c=this.$.attributes;b=b||{};for(var e=0;e<c.length;e++){var d=c[e],y=d.nodeName.toLowerCase(),f;if(!(y in b))if("checked"==y&&(f=this.getAttribute(y)))a.setAttribute(y,f);else if(!CKEDITOR.env.ie||this.hasAttribute(y))f=this.getAttribute(y),null===f&&(f=d.nodeValue),a.setAttribute(y,f)}""!==this.$.style.cssText&& +(a.$.style.cssText=this.$.style.cssText)},renameNode:function(a){if(this.getName()!=a){var b=this.getDocument();a=new CKEDITOR.dom.element(a,b);this.copyAttributes(a);this.moveChildren(a);this.getParent(!0)&&this.$.parentNode.replaceChild(a.$,this.$);a.$["data-cke-expando"]=this.$["data-cke-expando"];this.$=a.$;delete this.getName}},getChild:function(){function a(b,c){var e=b.childNodes;if(0<=c&&c<e.length)return e[c]}return function(b){var c=this.$;if(b.slice)for(b=b.slice();0<b.length&&c;)c=a(c, +b.shift());else c=a(c,b);return c?new CKEDITOR.dom.node(c):null}}(),getChildCount:function(){return this.$.childNodes.length},disableContextMenu:function(){function a(b){return b.type==CKEDITOR.NODE_ELEMENT&&b.hasClass("cke_enable_context_menu")}this.on("contextmenu",function(b){b.data.getTarget().getAscendant(a,!0)||b.data.preventDefault()})},getDirection:function(a){return a?this.getComputedStyle("direction")||this.getDirection()||this.getParent()&&this.getParent().getDirection(1)||this.getDocument().$.dir|| +"ltr":this.getStyle("direction")||this.getAttribute("dir")},data:function(a,b){a="data-"+a;if(void 0===b)return this.getAttribute(a);!1===b?this.removeAttribute(a):this.setAttribute(a,b);return null},getEditor:function(a){var b=CKEDITOR.instances,c,e,d;a=a||void 0===a;for(c in b)if(e=b[c],e.element.equals(this)&&e.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO||!a&&(d=e.editable())&&(d.equals(this)||d.contains(this)))return e;return null},find:function(a){var c=d(this);a=new CKEDITOR.dom.nodeList(this.$.querySelectorAll(b(this, +a)));c();return a},findOne:function(a){var c=d(this);a=this.$.querySelector(b(this,a));c();return a?new CKEDITOR.dom.element(a):null},forEach:function(a,b,c){if(!(c||b&&this.type!=b))var e=a(this);if(!1!==e){c=this.getChildren();for(var d=0;d<c.count();d++)e=c.getItem(d),e.type==CKEDITOR.NODE_ELEMENT?e.forEach(a,b):b&&e.type!=b||a(e)}}});var k={width:["border-left-width","border-right-width","padding-left","padding-right"],height:["border-top-width","border-bottom-width","padding-top","padding-bottom"]}; +CKEDITOR.dom.element.prototype.setSize=function(a,b,d){"number"==typeof b&&(!d||CKEDITOR.env.ie&&CKEDITOR.env.quirks||(b-=c.call(this,a)),this.setStyle(a,b+"px"))};CKEDITOR.dom.element.prototype.getSize=function(a,b){var d=Math.max(this.$["offset"+CKEDITOR.tools.capitalize(a)],this.$["client"+CKEDITOR.tools.capitalize(a)])||0;b&&(d-=c.call(this,a));return d}})();CKEDITOR.dom.documentFragment=function(a){a=a||CKEDITOR.document;this.$=a.type==CKEDITOR.NODE_DOCUMENT?a.$.createDocumentFragment():a}; +CKEDITOR.tools.extend(CKEDITOR.dom.documentFragment.prototype,CKEDITOR.dom.element.prototype,{type:CKEDITOR.NODE_DOCUMENT_FRAGMENT,insertAfterNode:function(a){a=a.$;a.parentNode.insertBefore(this.$,a.nextSibling)},getHtml:function(){var a=new CKEDITOR.dom.element("div");this.clone(1,1).appendTo(a);return a.getHtml().replace(/\s*data-cke-expando=".*?"/g,"")}},!0,{append:1,appendBogus:1,clone:1,getFirst:1,getHtml:1,getLast:1,getParent:1,getNext:1,getPrevious:1,appendTo:1,moveChildren:1,insertBefore:1, +insertAfterNode:1,replace:1,trim:1,type:1,ltrim:1,rtrim:1,getDocument:1,getChildCount:1,getChild:1,getChildren:1}); +(function(){function a(a,b){var c=this.range;if(this._.end)return null;if(!this._.start){this._.start=1;if(c.collapsed)return this.end(),null;c.optimize()}var e,d=c.startContainer;e=c.endContainer;var f=c.startOffset,z=c.endOffset,h,l=this.guard,q=this.type,F=a?"getPreviousSourceNode":"getNextSourceNode";if(!a&&!this._.guardLTR){var g=e.type==CKEDITOR.NODE_ELEMENT?e:e.getParent(),k=e.type==CKEDITOR.NODE_ELEMENT?e.getChild(z):e.getNext();this._.guardLTR=function(a,b){return(!b||!g.equals(a))&&(!k|| +!a.equals(k))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(c.root))}}if(a&&!this._.guardRTL){var M=d.type==CKEDITOR.NODE_ELEMENT?d:d.getParent(),t=d.type==CKEDITOR.NODE_ELEMENT?f?d.getChild(f-1):null:d.getPrevious();this._.guardRTL=function(a,b){return(!b||!M.equals(a))&&(!t||!a.equals(t))&&(a.type!=CKEDITOR.NODE_ELEMENT||!b||!a.equals(c.root))}}var E=a?this._.guardRTL:this._.guardLTR;h=l?function(a,b){return!1===E(a,b)?!1:l(a,b)}:E;this.current?e=this.current[F](!1,q,h):(a?e.type==CKEDITOR.NODE_ELEMENT&& +(e=0<z?e.getChild(z-1):!1===h(e,!0)?null:e.getPreviousSourceNode(!0,q,h)):(e=d,e.type==CKEDITOR.NODE_ELEMENT&&((e=e.getChild(f))||(e=!1===h(d,!0)?null:d.getNextSourceNode(!0,q,h)))),e&&!1===h(e)&&(e=null));for(;e&&!this._.end;){this.current=e;if(!this.evaluator||!1!==this.evaluator(e)){if(!b)return e}else if(b&&this.evaluator)return!1;e=e[F](!1,q,h)}this.end();return this.current=null}function d(b){for(var c,e=null;c=a.call(this,b);)e=c;return e}CKEDITOR.dom.walker=CKEDITOR.tools.createClass({$:function(a){this.range= +a;this._={}},proto:{end:function(){this._.end=1},next:function(){return a.call(this)},previous:function(){return a.call(this,1)},checkForward:function(){return!1!==a.call(this,0,1)},checkBackward:function(){return!1!==a.call(this,1,1)},lastForward:function(){return d.call(this)},lastBackward:function(){return d.call(this,1)},reset:function(){delete this.current;this._={}}}});var b={block:1,"list-item":1,table:1,"table-row-group":1,"table-header-group":1,"table-footer-group":1,"table-row":1,"table-column-group":1, +"table-column":1,"table-cell":1,"table-caption":1},c={absolute:1,fixed:1};CKEDITOR.dom.element.prototype.isBlockBoundary=function(a){return"none"!=this.getComputedStyle("float")||this.getComputedStyle("position")in c||!b[this.getComputedStyle("display")]?!!(this.is(CKEDITOR.dtd.$block)||a&&this.is(a)):!0};CKEDITOR.dom.walker.blockBoundary=function(a){return function(b){return!(b.type==CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary(a))}};CKEDITOR.dom.walker.listItemBoundary=function(){return this.blockBoundary({br:1})}; +CKEDITOR.dom.walker.bookmark=function(a,b){function c(a){return a&&a.getName&&"span"==a.getName()&&a.data("cke-bookmark")}return function(e){var d,f;d=e&&e.type!=CKEDITOR.NODE_ELEMENT&&(f=e.getParent())&&c(f);d=a?d:d||c(e);return!!(b^d)}};CKEDITOR.dom.walker.whitespaces=function(a){return function(b){var c;b&&b.type==CKEDITOR.NODE_TEXT&&(c=!CKEDITOR.tools.trim(b.getText())||CKEDITOR.env.webkit&&b.getText()==CKEDITOR.dom.selection.FILLING_CHAR_SEQUENCE);return!!(a^c)}};CKEDITOR.dom.walker.invisible= +function(a){var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.env.webkit?1:0;return function(e){b(e)?e=1:(e.type==CKEDITOR.NODE_TEXT&&(e=e.getParent()),e=e.$.offsetWidth<=c);return!!(a^e)}};CKEDITOR.dom.walker.nodeType=function(a,b){return function(c){return!!(b^c.type==a)}};CKEDITOR.dom.walker.bogus=function(a){function b(a){return!h(a)&&!k(a)}return function(c){var e=CKEDITOR.env.needsBrFiller?c.is&&c.is("br"):c.getText&&f.test(c.getText());e&&(e=c.getParent(),c=c.getNext(b),e=e.isBlockBoundary()&& +(!c||c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary()));return!!(a^e)}};CKEDITOR.dom.walker.temp=function(a){return function(b){b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent());b=b&&b.hasAttribute("data-cke-temp");return!!(a^b)}};var f=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/,h=CKEDITOR.dom.walker.whitespaces(),k=CKEDITOR.dom.walker.bookmark(),g=CKEDITOR.dom.walker.temp(),m=function(a){return k(a)||h(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.is(CKEDITOR.dtd.$inline)&&!a.is(CKEDITOR.dtd.$empty)};CKEDITOR.dom.walker.ignored= +function(a){return function(b){b=h(b)||k(b)||g(b);return!!(a^b)}};var r=CKEDITOR.dom.walker.ignored();CKEDITOR.dom.walker.empty=function(a){return function(b){for(var c=0,e=b.getChildCount();c<e;++c)if(!r(b.getChild(c)))return!!a;return!a}};var e=CKEDITOR.dom.walker.empty(),z=CKEDITOR.dom.walker.validEmptyBlockContainers=CKEDITOR.tools.extend(function(a){var b={},c;for(c in a)CKEDITOR.dtd[c]["#"]&&(b[c]=1);return b}(CKEDITOR.dtd.$block),{caption:1,td:1,th:1});CKEDITOR.dom.walker.editable=function(a){return function(b){b= +r(b)?!1:b.type==CKEDITOR.NODE_TEXT||b.type==CKEDITOR.NODE_ELEMENT&&(b.is(CKEDITOR.dtd.$inline)||b.is("hr")||"false"==b.getAttribute("contenteditable")||!CKEDITOR.env.needsBrFiller&&b.is(z)&&e(b))?!0:!1;return!!(a^b)}};CKEDITOR.dom.element.prototype.getBogus=function(){var a=this;do a=a.getPreviousSourceNode();while(m(a));return a&&(CKEDITOR.env.needsBrFiller?a.is&&a.is("br"):a.getText&&f.test(a.getText()))?a:!1}})(); +CKEDITOR.dom.range=function(a){this.endOffset=this.endContainer=this.startOffset=this.startContainer=null;this.collapsed=!0;var d=a instanceof CKEDITOR.dom.document;this.document=d?a:a.getDocument();this.root=d?a.getBody():a}; +(function(){function a(a){a.collapsed=a.startContainer&&a.endContainer&&a.startContainer.equals(a.endContainer)&&a.startOffset==a.endOffset}function d(a,b,c,d,f){function h(a,b,c,e){var d=c?a.getPrevious():a.getNext();if(e&&k)return d;l||e?b.append(a.clone(!0,f),c):(a.remove(),r&&b.append(a,c));return d}function p(){var a,b,c,e=Math.min(O.length,n.length);for(a=0;a<e;a++)if(b=O[a],c=n[a],!b.equals(c))return a;return a-1}function g(){var b=N-1,c=E&&w&&!q.equals(F);b<v-1||b<B-1||c?(c?a.moveToPosition(F, +CKEDITOR.POSITION_BEFORE_START):B==b+1&&t?a.moveToPosition(n[b],CKEDITOR.POSITION_BEFORE_END):a.moveToPosition(n[b+1],CKEDITOR.POSITION_BEFORE_START),d&&(b=O[b+1])&&b.type==CKEDITOR.NODE_ELEMENT&&(c=CKEDITOR.dom.element.createFromHtml('\x3cspan data-cke-bookmark\x3d"1" style\x3d"display:none"\x3e\x26nbsp;\x3c/span\x3e',a.document),c.insertAfter(b),b.mergeSiblings(!1),a.moveToBookmark({startNode:c}))):a.collapse(!0)}a.optimizeBookmark();var k=0===b,r=1==b,l=2==b;b=l||r;var q=a.startContainer,F=a.endContainer, +L=a.startOffset,C=a.endOffset,M,t,E,w,H,P;if(l&&F.type==CKEDITOR.NODE_TEXT&&(q.equals(F)||q.type===CKEDITOR.NODE_ELEMENT&&q.getFirst().equals(F)))c.append(a.document.createText(F.substring(L,C)));else{F.type==CKEDITOR.NODE_TEXT?l?P=!0:F=F.split(C):0<F.getChildCount()?C>=F.getChildCount()?(F=F.getChild(C-1),t=!0):F=F.getChild(C):w=t=!0;q.type==CKEDITOR.NODE_TEXT?l?H=!0:q.split(L):0<q.getChildCount()?0===L?(q=q.getChild(L),M=!0):q=q.getChild(L-1):E=M=!0;for(var O=q.getParents(),n=F.getParents(),N=p(), +v=O.length-1,B=n.length-1,G=c,I,X,V,da=-1,Q=N;Q<=v;Q++){X=O[Q];V=X.getNext();for(Q!=v||X.equals(n[Q])&&v<B?b&&(I=G.append(X.clone(0,f))):M?h(X,G,!1,E):H&&G.append(a.document.createText(X.substring(L)));V;){if(V.equals(n[Q])){da=Q;break}V=h(V,G)}G=I}G=c;for(Q=N;Q<=B;Q++)if(c=n[Q],V=c.getPrevious(),c.equals(O[Q]))b&&(G=G.getChild(0));else{Q!=B||c.equals(O[Q])&&B<v?b&&(I=G.append(c.clone(0,f))):t?h(c,G,!1,w):P&&G.append(a.document.createText(c.substring(0,C)));if(Q>da)for(;V;)V=h(V,G,!0);G=I}l||g()}} +function b(){var a=!1,b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(!0),d=CKEDITOR.dom.walker.bogus();return function(f){return c(f)||b(f)?!0:d(f)&&!a?a=!0:f.type==CKEDITOR.NODE_TEXT&&(f.hasAscendant("pre")||CKEDITOR.tools.trim(f.getText()).length)||f.type==CKEDITOR.NODE_ELEMENT&&!f.is(h)?!1:!0}}function c(a){var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(1);return function(d){return c(d)||b(d)?!0:!a&&k(d)||d.type==CKEDITOR.NODE_ELEMENT&&d.is(CKEDITOR.dtd.$removeEmpty)}} +function f(a){return function(){var b;return this[a?"getPreviousNode":"getNextNode"](function(a){!b&&r(a)&&(b=a);return m(a)&&!(k(a)&&a.equals(b))})}}var h={abbr:1,acronym:1,b:1,bdo:1,big:1,cite:1,code:1,del:1,dfn:1,em:1,font:1,i:1,ins:1,label:1,kbd:1,q:1,samp:1,small:1,span:1,strike:1,strong:1,sub:1,sup:1,tt:1,u:1,"var":1},k=CKEDITOR.dom.walker.bogus(),g=/^[\t\r\n ]*(?:&nbsp;|\xa0)$/,m=CKEDITOR.dom.walker.editable(),r=CKEDITOR.dom.walker.ignored(!0);CKEDITOR.dom.range.prototype={clone:function(){var a= +new CKEDITOR.dom.range(this.root);a._setStartContainer(this.startContainer);a.startOffset=this.startOffset;a._setEndContainer(this.endContainer);a.endOffset=this.endOffset;a.collapsed=this.collapsed;return a},collapse:function(a){a?(this._setEndContainer(this.startContainer),this.endOffset=this.startOffset):(this._setStartContainer(this.endContainer),this.startOffset=this.endOffset);this.collapsed=!0},cloneContents:function(a){var b=new CKEDITOR.dom.documentFragment(this.document);this.collapsed|| +d(this,2,b,!1,"undefined"==typeof a?!0:a);return b},deleteContents:function(a){this.collapsed||d(this,0,null,a)},extractContents:function(a,b){var c=new CKEDITOR.dom.documentFragment(this.document);this.collapsed||d(this,1,c,a,"undefined"==typeof b?!0:b);return c},createBookmark:function(a){var b,c,d,f,h=this.collapsed;b=this.document.createElement("span");b.data("cke-bookmark",1);b.setStyle("display","none");b.setHtml("\x26nbsp;");a&&(d="cke_bm_"+CKEDITOR.tools.getNextNumber(),b.setAttribute("id", +d+(h?"C":"S")));h||(c=b.clone(),c.setHtml("\x26nbsp;"),a&&c.setAttribute("id",d+"E"),f=this.clone(),f.collapse(),f.insertNode(c));f=this.clone();f.collapse(!0);f.insertNode(b);c?(this.setStartAfter(b),this.setEndBefore(c)):this.moveToPosition(b,CKEDITOR.POSITION_AFTER_END);return{startNode:a?d+(h?"C":"S"):b,endNode:a?d+"E":c,serializable:a,collapsed:h}},createBookmark2:function(){function a(b){var e=b.container,d=b.offset,p;p=e;var f=d;p=p.type!=CKEDITOR.NODE_ELEMENT||0===f||f==p.getChildCount()? +0:p.getChild(f-1).type==CKEDITOR.NODE_TEXT&&p.getChild(f).type==CKEDITOR.NODE_TEXT;p&&(e=e.getChild(d-1),d=e.getLength());if(e.type==CKEDITOR.NODE_ELEMENT&&0<d){a:{for(p=e;d--;)if(f=p.getChild(d).getIndex(!0),0<=f){d=f;break a}d=-1}d+=1}if(e.type==CKEDITOR.NODE_TEXT){p=e;for(f=0;(p=p.getPrevious())&&p.type==CKEDITOR.NODE_TEXT;)f+=p.getText().replace(CKEDITOR.dom.selection.FILLING_CHAR_SEQUENCE,"").length;p=f;e.getText()?d+=p:(f=e.getPrevious(c),p?(d=p,e=f?f.getNext():e.getParent().getFirst()):(e= +e.getParent(),d=f?f.getIndex(!0)+1:0))}b.container=e;b.offset=d}function b(a,c){var e=c.getCustomData("cke-fillingChar");if(e){var d=a.container;e.equals(d)&&(a.offset-=CKEDITOR.dom.selection.FILLING_CHAR_SEQUENCE.length,0>=a.offset&&(a.offset=d.getIndex(),a.container=d.getParent()))}}var c=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_TEXT,!0);return function(c){var d=this.collapsed,f={container:this.startContainer,offset:this.startOffset},p={container:this.endContainer,offset:this.endOffset};c&&(a(f), +b(f,this.root),d||(a(p),b(p,this.root)));return{start:f.container.getAddress(c),end:d?null:p.container.getAddress(c),startOffset:f.offset,endOffset:p.offset,normalized:c,collapsed:d,is2:!0}}}(),moveToBookmark:function(a){if(a.is2){var b=this.document.getByAddress(a.start,a.normalized),c=a.startOffset,d=a.end&&this.document.getByAddress(a.end,a.normalized);a=a.endOffset;this.setStart(b,c);d?this.setEnd(d,a):this.collapse(!0)}else b=(c=a.serializable)?this.document.getById(a.startNode):a.startNode, +a=c?this.document.getById(a.endNode):a.endNode,this.setStartBefore(b),b.remove(),a?(this.setEndBefore(a),a.remove()):this.collapse(!0)},getBoundaryNodes:function(){var a=this.startContainer,b=this.endContainer,c=this.startOffset,d=this.endOffset,f;if(a.type==CKEDITOR.NODE_ELEMENT)if(f=a.getChildCount(),f>c)a=a.getChild(c);else if(1>f)a=a.getPreviousSourceNode();else{for(a=a.$;a.lastChild;)a=a.lastChild;a=new CKEDITOR.dom.node(a);a=a.getNextSourceNode()||a}if(b.type==CKEDITOR.NODE_ELEMENT)if(f=b.getChildCount(), +f>d)b=b.getChild(d).getPreviousSourceNode(!0);else if(1>f)b=b.getPreviousSourceNode();else{for(b=b.$;b.lastChild;)b=b.lastChild;b=new CKEDITOR.dom.node(b)}a.getPosition(b)&CKEDITOR.POSITION_FOLLOWING&&(a=b);return{startNode:a,endNode:b}},getCommonAncestor:function(a,b){var c=this.startContainer,d=this.endContainer,c=c.equals(d)?a&&c.type==CKEDITOR.NODE_ELEMENT&&this.startOffset==this.endOffset-1?c.getChild(this.startOffset):c:c.getCommonAncestor(d);return b&&!c.is?c.getParent():c},optimize:function(){var a= +this.startContainer,b=this.startOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setStartAfter(a):this.setStartBefore(a));a=this.endContainer;b=this.endOffset;a.type!=CKEDITOR.NODE_ELEMENT&&(b?b>=a.getLength()&&this.setEndAfter(a):this.setEndBefore(a))},optimizeBookmark:function(){var a=this.startContainer,b=this.endContainer;a.is&&a.is("span")&&a.data("cke-bookmark")&&this.setStartAt(a,CKEDITOR.POSITION_BEFORE_START);b&&b.is&&b.is("span")&&b.data("cke-bookmark")&&this.setEndAt(b,CKEDITOR.POSITION_AFTER_END)}, +trim:function(a,b){var c=this.startContainer,d=this.startOffset,f=this.collapsed;if((!a||f)&&c&&c.type==CKEDITOR.NODE_TEXT){if(d)if(d>=c.getLength())d=c.getIndex()+1,c=c.getParent();else{var h=c.split(d),d=c.getIndex()+1,c=c.getParent();this.startContainer.equals(this.endContainer)?this.setEnd(h,this.endOffset-this.startOffset):c.equals(this.endContainer)&&(this.endOffset+=1)}else d=c.getIndex(),c=c.getParent();this.setStart(c,d);if(f){this.collapse(!0);return}}c=this.endContainer;d=this.endOffset; +b||f||!c||c.type!=CKEDITOR.NODE_TEXT||(d?(d>=c.getLength()||c.split(d),d=c.getIndex()+1):d=c.getIndex(),c=c.getParent(),this.setEnd(c,d))},enlarge:function(a,b){function c(a){return a&&a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute("contenteditable")?null:a}var d=new RegExp(/[^\s\ufeff]/);switch(a){case CKEDITOR.ENLARGE_INLINE:var f=1;case CKEDITOR.ENLARGE_ELEMENT:var h=function(a,b){var c=new CKEDITOR.dom.range(g);c.setStart(a,b);c.setEndAt(g,CKEDITOR.POSITION_BEFORE_END);var c=new CKEDITOR.dom.walker(c), +e;for(c.guard=function(a){return!(a.type==CKEDITOR.NODE_ELEMENT&&a.isBlockBoundary())};e=c.next();){if(e.type!=CKEDITOR.NODE_TEXT)return!1;M=e!=a?e.getText():e.substring(b);if(d.test(M))return!1}return!0};if(this.collapsed)break;var p=this.getCommonAncestor(),g=this.root,k,r,l,q,F,L=!1,C,M;C=this.startContainer;var t=this.startOffset;C.type==CKEDITOR.NODE_TEXT?(t&&(C=!CKEDITOR.tools.trim(C.substring(0,t)).length&&C,L=!!C),C&&((q=C.getPrevious())||(l=C.getParent()))):(t&&(q=C.getChild(t-1)||C.getLast()), +q||(l=C));for(l=c(l);l||q;){if(l&&!q){!F&&l.equals(p)&&(F=!0);if(f?l.isBlockBoundary():!g.contains(l))break;L&&"inline"==l.getComputedStyle("display")||(L=!1,F?k=l:this.setStartBefore(l));q=l.getPrevious()}for(;q;)if(C=!1,q.type==CKEDITOR.NODE_COMMENT)q=q.getPrevious();else{if(q.type==CKEDITOR.NODE_TEXT)M=q.getText(),d.test(M)&&(q=null),C=/[\s\ufeff]$/.test(M);else if((q.$.offsetWidth>(CKEDITOR.env.webkit?1:0)||b&&q.is("br"))&&!q.data("cke-bookmark"))if(L&&CKEDITOR.dtd.$removeEmpty[q.getName()]){M= +q.getText();if(d.test(M))q=null;else for(var t=q.$.getElementsByTagName("*"),E=0,w;w=t[E++];)if(!CKEDITOR.dtd.$removeEmpty[w.nodeName.toLowerCase()]){q=null;break}q&&(C=!!M.length)}else q=null;C&&(L?F?k=l:l&&this.setStartBefore(l):L=!0);if(q){C=q.getPrevious();if(!l&&!C){l=q;q=null;break}q=C}else l=null}l&&(l=c(l.getParent()))}C=this.endContainer;t=this.endOffset;l=q=null;F=L=!1;C.type==CKEDITOR.NODE_TEXT?CKEDITOR.tools.trim(C.substring(t)).length?L=!0:(L=!C.getLength(),t==C.getLength()?(q=C.getNext())|| +(l=C.getParent()):h(C,t)&&(l=C.getParent())):(q=C.getChild(t))||(l=C);for(;l||q;){if(l&&!q){!F&&l.equals(p)&&(F=!0);if(f?l.isBlockBoundary():!g.contains(l))break;L&&"inline"==l.getComputedStyle("display")||(L=!1,F?r=l:l&&this.setEndAfter(l));q=l.getNext()}for(;q;){C=!1;if(q.type==CKEDITOR.NODE_TEXT)M=q.getText(),h(q,0)||(q=null),C=/^[\s\ufeff]/.test(M);else if(q.type==CKEDITOR.NODE_ELEMENT){if((0<q.$.offsetWidth||b&&q.is("br"))&&!q.data("cke-bookmark"))if(L&&CKEDITOR.dtd.$removeEmpty[q.getName()]){M= +q.getText();if(d.test(M))q=null;else for(t=q.$.getElementsByTagName("*"),E=0;w=t[E++];)if(!CKEDITOR.dtd.$removeEmpty[w.nodeName.toLowerCase()]){q=null;break}q&&(C=!!M.length)}else q=null}else C=1;C&&L&&(F?r=l:this.setEndAfter(l));if(q){C=q.getNext();if(!l&&!C){l=q;q=null;break}q=C}else l=null}l&&(l=c(l.getParent()))}k&&r&&(p=k.contains(r)?r:k,this.setStartBefore(p),this.setEndAfter(p));break;case CKEDITOR.ENLARGE_BLOCK_CONTENTS:case CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:l=new CKEDITOR.dom.range(this.root); +g=this.root;l.setStartAt(g,CKEDITOR.POSITION_AFTER_START);l.setEnd(this.startContainer,this.startOffset);l=new CKEDITOR.dom.walker(l);var H,P,O=CKEDITOR.dom.walker.blockBoundary(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?{br:1}:null),n=null,N=function(a){if(a.type==CKEDITOR.NODE_ELEMENT&&"false"==a.getAttribute("contenteditable"))if(n){if(n.equals(a)){n=null;return}}else n=a;else if(n)return;var b=O(a);b||(H=a);return b},f=function(a){var b=N(a);!b&&a.is&&a.is("br")&&(P=a);return b};l.guard=N;l=l.lastBackward(); +H=H||g;this.setStartAt(H,!H.is("br")&&(!l&&this.checkStartOfBlock()||l&&H.contains(l))?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_AFTER_END);if(a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS){l=this.clone();l=new CKEDITOR.dom.walker(l);var v=CKEDITOR.dom.walker.whitespaces(),B=CKEDITOR.dom.walker.bookmark();l.evaluator=function(a){return!v(a)&&!B(a)};if((l=l.previous())&&l.type==CKEDITOR.NODE_ELEMENT&&l.is("br"))break}l=this.clone();l.collapse();l.setEndAt(g,CKEDITOR.POSITION_BEFORE_END);l=new CKEDITOR.dom.walker(l); +l.guard=a==CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS?f:N;H=n=P=null;l=l.lastForward();H=H||g;this.setEndAt(H,!l&&this.checkEndOfBlock()||l&&H.contains(l)?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_BEFORE_START);P&&this.setEndAfter(P)}},shrink:function(a,b,c){var d="boolean"===typeof c?c:c&&"boolean"===typeof c.shrinkOnBlockBoundary?c.shrinkOnBlockBoundary:!0,f=c&&c.skipBogus;if(!this.collapsed){a=a||CKEDITOR.SHRINK_TEXT;var h=this.clone(),p=this.startContainer,g=this.endContainer,k=this.startOffset, +r=this.endOffset,l=c=1;p&&p.type==CKEDITOR.NODE_TEXT&&(k?k>=p.getLength()?h.setStartAfter(p):(h.setStartBefore(p),c=0):h.setStartBefore(p));g&&g.type==CKEDITOR.NODE_TEXT&&(r?r>=g.getLength()?h.setEndAfter(g):(h.setEndAfter(g),l=0):h.setEndBefore(g));var h=new CKEDITOR.dom.walker(h),q=CKEDITOR.dom.walker.bookmark(),F=CKEDITOR.dom.walker.bogus();h.evaluator=function(b){return b.type==(a==CKEDITOR.SHRINK_ELEMENT?CKEDITOR.NODE_ELEMENT:CKEDITOR.NODE_TEXT)};var L;h.guard=function(b,c){if(f&&F(b)||q(b))return!0; +if(a==CKEDITOR.SHRINK_ELEMENT&&b.type==CKEDITOR.NODE_TEXT||c&&b.equals(L)||!1===d&&b.type==CKEDITOR.NODE_ELEMENT&&b.isBlockBoundary()||b.type==CKEDITOR.NODE_ELEMENT&&b.hasAttribute("contenteditable"))return!1;c||b.type!=CKEDITOR.NODE_ELEMENT||(L=b);return!0};c&&(p=h[a==CKEDITOR.SHRINK_ELEMENT?"lastForward":"next"]())&&this.setStartAt(p,b?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_START);l&&(h.reset(),(h=h[a==CKEDITOR.SHRINK_ELEMENT?"lastBackward":"previous"]())&&this.setEndAt(h,b?CKEDITOR.POSITION_BEFORE_END: +CKEDITOR.POSITION_AFTER_END));return!(!c&&!l)}},insertNode:function(a){this.optimizeBookmark();this.trim(!1,!0);var b=this.startContainer,c=b.getChild(this.startOffset);c?a.insertBefore(c):b.append(a);a.getParent()&&a.getParent().equals(this.endContainer)&&this.endOffset++;this.setStartBefore(a)},moveToPosition:function(a,b){this.setStartAt(a,b);this.collapse(!0)},moveToRange:function(a){this.setStart(a.startContainer,a.startOffset);this.setEnd(a.endContainer,a.endOffset)},selectNodeContents:function(a){this.setStart(a, +0);this.setEnd(a,a.type==CKEDITOR.NODE_TEXT?a.getLength():a.getChildCount())},setStart:function(b,c){b.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[b.getName()]&&(c=b.getIndex(),b=b.getParent());this._setStartContainer(b);this.startOffset=c;this.endContainer||(this._setEndContainer(b),this.endOffset=c);a(this)},setEnd:function(b,c){b.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$empty[b.getName()]&&(c=b.getIndex()+1,b=b.getParent());this._setEndContainer(b);this.endOffset=c;this.startContainer|| +(this._setStartContainer(b),this.startOffset=c);a(this)},setStartAfter:function(a){this.setStart(a.getParent(),a.getIndex()+1)},setStartBefore:function(a){this.setStart(a.getParent(),a.getIndex())},setEndAfter:function(a){this.setEnd(a.getParent(),a.getIndex()+1)},setEndBefore:function(a){this.setEnd(a.getParent(),a.getIndex())},setStartAt:function(b,c){switch(c){case CKEDITOR.POSITION_AFTER_START:this.setStart(b,0);break;case CKEDITOR.POSITION_BEFORE_END:b.type==CKEDITOR.NODE_TEXT?this.setStart(b, +b.getLength()):this.setStart(b,b.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setStartBefore(b);break;case CKEDITOR.POSITION_AFTER_END:this.setStartAfter(b)}a(this)},setEndAt:function(b,c){switch(c){case CKEDITOR.POSITION_AFTER_START:this.setEnd(b,0);break;case CKEDITOR.POSITION_BEFORE_END:b.type==CKEDITOR.NODE_TEXT?this.setEnd(b,b.getLength()):this.setEnd(b,b.getChildCount());break;case CKEDITOR.POSITION_BEFORE_START:this.setEndBefore(b);break;case CKEDITOR.POSITION_AFTER_END:this.setEndAfter(b)}a(this)}, +fixBlock:function(a,b){var c=this.createBookmark(),d=this.document.createElement(b);this.collapse(a);this.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS);this.extractContents().appendTo(d);d.trim();this.insertNode(d);var f=d.getBogus();f&&f.remove();d.appendBogus();this.moveToBookmark(c);return d},splitBlock:function(a,b){var c=new CKEDITOR.dom.elementPath(this.startContainer,this.root),d=new CKEDITOR.dom.elementPath(this.endContainer,this.root),f=c.block,h=d.block,p=null;if(!c.blockLimit.equals(d.blockLimit))return null; +"br"!=a&&(f||(f=this.fixBlock(!0,a),h=(new CKEDITOR.dom.elementPath(this.endContainer,this.root)).block),h||(h=this.fixBlock(!1,a)));c=f&&this.checkStartOfBlock();d=h&&this.checkEndOfBlock();this.deleteContents();f&&f.equals(h)&&(d?(p=new CKEDITOR.dom.elementPath(this.startContainer,this.root),this.moveToPosition(h,CKEDITOR.POSITION_AFTER_END),h=null):c?(p=new CKEDITOR.dom.elementPath(this.startContainer,this.root),this.moveToPosition(f,CKEDITOR.POSITION_BEFORE_START),f=null):(h=this.splitElement(f, +b||!1),f.is("ul","ol")||f.appendBogus()));return{previousBlock:f,nextBlock:h,wasStartOfBlock:c,wasEndOfBlock:d,elementPath:p}},splitElement:function(a,b){if(!this.collapsed)return null;this.setEndAt(a,CKEDITOR.POSITION_BEFORE_END);var c=this.extractContents(!1,b||!1),d=a.clone(!1,b||!1);c.appendTo(d);d.insertAfter(a);this.moveToPosition(a,CKEDITOR.POSITION_AFTER_END);return d},removeEmptyBlocksAtEnd:function(){function a(d){return function(a){return b(a)||c(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.isEmptyInlineRemoveable()|| +d.is("table")&&a.is("caption")?!1:!0}}var b=CKEDITOR.dom.walker.whitespaces(),c=CKEDITOR.dom.walker.bookmark(!1);return function(b){for(var c=this.createBookmark(),d=this[b?"endPath":"startPath"](),f=d.block||d.blockLimit,h;f&&!f.equals(d.root)&&!f.getFirst(a(f));)h=f.getParent(),this[b?"setEndAt":"setStartAt"](f,CKEDITOR.POSITION_AFTER_END),f.remove(1),f=h;this.moveToBookmark(c)}}(),startPath:function(){return new CKEDITOR.dom.elementPath(this.startContainer,this.root)},endPath:function(){return new CKEDITOR.dom.elementPath(this.endContainer, +this.root)},checkBoundaryOfElement:function(a,b){var d=b==CKEDITOR.START,f=this.clone();f.collapse(d);f[d?"setStartAt":"setEndAt"](a,d?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END);f=new CKEDITOR.dom.walker(f);f.evaluator=c(d);return f[d?"checkBackward":"checkForward"]()},checkStartOfBlock:function(){var a=this.startContainer,c=this.startOffset;CKEDITOR.env.ie&&c&&a.type==CKEDITOR.NODE_TEXT&&(a=CKEDITOR.tools.ltrim(a.substring(0,c)),g.test(a)&&this.trim(0,1));this.trim();a=new CKEDITOR.dom.elementPath(this.startContainer, +this.root);c=this.clone();c.collapse(!0);c.setStartAt(a.block||a.blockLimit,CKEDITOR.POSITION_AFTER_START);a=new CKEDITOR.dom.walker(c);a.evaluator=b();return a.checkBackward()},checkEndOfBlock:function(){var a=this.endContainer,c=this.endOffset;CKEDITOR.env.ie&&a.type==CKEDITOR.NODE_TEXT&&(a=CKEDITOR.tools.rtrim(a.substring(c)),g.test(a)&&this.trim(1,0));this.trim();a=new CKEDITOR.dom.elementPath(this.endContainer,this.root);c=this.clone();c.collapse(!1);c.setEndAt(a.block||a.blockLimit,CKEDITOR.POSITION_BEFORE_END); +a=new CKEDITOR.dom.walker(c);a.evaluator=b();return a.checkForward()},getPreviousNode:function(a,b,c){var d=this.clone();d.collapse(1);d.setStartAt(c||this.root,CKEDITOR.POSITION_AFTER_START);c=new CKEDITOR.dom.walker(d);c.evaluator=a;c.guard=b;return c.previous()},getNextNode:function(a,b,c){var d=this.clone();d.collapse();d.setEndAt(c||this.root,CKEDITOR.POSITION_BEFORE_END);c=new CKEDITOR.dom.walker(d);c.evaluator=a;c.guard=b;return c.next()},checkReadOnly:function(){function a(b,c){for(;b;){if(b.type== +CKEDITOR.NODE_ELEMENT){if("false"==b.getAttribute("contentEditable")&&!b.data("cke-editable"))return 0;if(b.is("html")||"true"==b.getAttribute("contentEditable")&&(b.contains(c)||b.equals(c)))break}b=b.getParent()}return 1}return function(){var b=this.startContainer,c=this.endContainer;return!(a(b,c)&&a(c,b))}}(),moveToElementEditablePosition:function(a,b){if(a.type==CKEDITOR.NODE_ELEMENT&&!a.isEditable(!1))return this.moveToPosition(a,b?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START), +!0;for(var c=0;a;){if(a.type==CKEDITOR.NODE_TEXT){b&&this.endContainer&&this.checkEndOfBlock()&&g.test(a.getText())?this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START):this.moveToPosition(a,b?CKEDITOR.POSITION_AFTER_END:CKEDITOR.POSITION_BEFORE_START);c=1;break}if(a.type==CKEDITOR.NODE_ELEMENT)if(a.isEditable())this.moveToPosition(a,b?CKEDITOR.POSITION_BEFORE_END:CKEDITOR.POSITION_AFTER_START),c=1;else if(b&&a.is("br")&&this.endContainer&&this.checkEndOfBlock())this.moveToPosition(a,CKEDITOR.POSITION_BEFORE_START); +else if("false"==a.getAttribute("contenteditable")&&a.is(CKEDITOR.dtd.$block))return this.setStartBefore(a),this.setEndAfter(a),!0;var d=a,f=c,h=void 0;d.type==CKEDITOR.NODE_ELEMENT&&d.isEditable(!1)&&(h=d[b?"getLast":"getFirst"](r));f||h||(h=d[b?"getPrevious":"getNext"](r));a=h}return!!c},moveToClosestEditablePosition:function(a,b){var c,d=0,f,h,p=[CKEDITOR.POSITION_AFTER_END,CKEDITOR.POSITION_BEFORE_START];a?(c=new CKEDITOR.dom.range(this.root),c.moveToPosition(a,p[b?0:1])):c=this.clone();if(a&& +!a.is(CKEDITOR.dtd.$block))d=1;else if(f=c[b?"getNextEditableNode":"getPreviousEditableNode"]())d=1,(h=f.type==CKEDITOR.NODE_ELEMENT)&&f.is(CKEDITOR.dtd.$block)&&"false"==f.getAttribute("contenteditable")?(c.setStartAt(f,CKEDITOR.POSITION_BEFORE_START),c.setEndAt(f,CKEDITOR.POSITION_AFTER_END)):!CKEDITOR.env.needsBrFiller&&h&&f.is(CKEDITOR.dom.walker.validEmptyBlockContainers)?(c.setEnd(f,0),c.collapse()):c.moveToPosition(f,p[b?1:0]);d&&this.moveToRange(c);return!!d},moveToElementEditStart:function(a){return this.moveToElementEditablePosition(a)}, +moveToElementEditEnd:function(a){return this.moveToElementEditablePosition(a,!0)},getEnclosedNode:function(){var a=this.clone();a.optimize();if(a.startContainer.type!=CKEDITOR.NODE_ELEMENT||a.endContainer.type!=CKEDITOR.NODE_ELEMENT)return null;var a=new CKEDITOR.dom.walker(a),b=CKEDITOR.dom.walker.bookmark(!1,!0),c=CKEDITOR.dom.walker.whitespaces(!0);a.evaluator=function(a){return c(a)&&b(a)};var d=a.next();a.reset();return d&&d.equals(a.previous())?d:null},getTouchedStartNode:function(){var a=this.startContainer; +return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.startOffset)||a},getTouchedEndNode:function(){var a=this.endContainer;return this.collapsed||a.type!=CKEDITOR.NODE_ELEMENT?a:a.getChild(this.endOffset-1)||a},getNextEditableNode:f(),getPreviousEditableNode:f(1),_getTableElement:function(a){a=a||{td:1,th:1,tr:1,tbody:1,thead:1,tfoot:1,table:1};var b=this.startContainer,c=this.endContainer,d=b.getAscendant("table",!0),f=c.getAscendant("table",!0);return CKEDITOR.env.safari&&d&&c.equals(this.root)? +b.getAscendant(a,!0):this.getEnclosedNode()?this.getEnclosedNode().getAscendant(a,!0):d&&f&&(d.equals(f)||d.contains(f)||f.contains(d))?b.getAscendant(a,!0):null},scrollIntoView:function(){var a=new CKEDITOR.dom.element.createFromHtml("\x3cspan\x3e\x26nbsp;\x3c/span\x3e",this.document),b,c,d,f=this.clone();f.optimize();(d=f.startContainer.type==CKEDITOR.NODE_TEXT)?(c=f.startContainer.getText(),b=f.startContainer.split(f.startOffset),a.insertAfter(f.startContainer)):f.insertNode(a);a.scrollIntoView(); +d&&(f.startContainer.setText(c),b.remove());a.remove()},_setStartContainer:function(a){this.startContainer=a},_setEndContainer:function(a){this.endContainer=a},_find:function(a,b){var c=this.getCommonAncestor(),d=this.getBoundaryNodes(),f=[],h,p,g,k;if(c&&c.find)for(p=c.find(a),h=0;h<p.count();h++)if(c=p.getItem(h),b||!c.isReadOnly())g=c.getPosition(d.startNode)&CKEDITOR.POSITION_FOLLOWING||d.startNode.equals(c),k=c.getPosition(d.endNode)&CKEDITOR.POSITION_PRECEDING+CKEDITOR.POSITION_IS_CONTAINED|| +d.endNode.equals(c),g&&k&&f.push(c);return f}};CKEDITOR.dom.range.mergeRanges=function(a){return CKEDITOR.tools.array.reduce(a,function(a,b){var c=a[a.length-1],d=!1;b=b.clone();b.enlarge(CKEDITOR.ENLARGE_ELEMENT);if(c){var e=new CKEDITOR.dom.range(b.root),d=new CKEDITOR.dom.walker(e),f=CKEDITOR.dom.walker.whitespaces();e.setStart(c.endContainer,c.endOffset);e.setEnd(b.startContainer,b.startOffset);for(e=d.next();f(e)||b.endContainer.equals(e);)e=d.next();d=!e}d?c.setEnd(b.endContainer,b.endOffset): +a.push(b);return a},[])}})();CKEDITOR.POSITION_AFTER_START=1;CKEDITOR.POSITION_BEFORE_END=2;CKEDITOR.POSITION_BEFORE_START=3;CKEDITOR.POSITION_AFTER_END=4;CKEDITOR.ENLARGE_ELEMENT=1;CKEDITOR.ENLARGE_BLOCK_CONTENTS=2;CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS=3;CKEDITOR.ENLARGE_INLINE=4;CKEDITOR.START=1;CKEDITOR.END=2;CKEDITOR.SHRINK_ELEMENT=1;CKEDITOR.SHRINK_TEXT=2;"use strict"; +(function(){function a(a){1>arguments.length||(this.range=a,this.forceBrBreak=0,this.enlargeBr=1,this.enforceRealBlocks=0,this._||(this._={}))}function d(a){var b=[];a.forEach(function(a){if("true"==a.getAttribute("contenteditable"))return b.push(a),!1},CKEDITOR.NODE_ELEMENT,!0);return b}function b(a,c,f,h){a:{null==h&&(h=d(f));for(var g;g=h.shift();)if(g.getDtd().p){h={element:g,remaining:h};break a}h=null}if(!h)return 0;if((g=CKEDITOR.filter.instances[h.element.data("cke-filter")])&&!g.check(c))return b(a, +c,f,h.remaining);c=new CKEDITOR.dom.range(h.element);c.selectNodeContents(h.element);c=c.createIterator();c.enlargeBr=a.enlargeBr;c.enforceRealBlocks=a.enforceRealBlocks;c.activeFilter=c.filter=g;a._.nestedEditable={element:h.element,container:f,remaining:h.remaining,iterator:c};return 1}function c(a,b,c){if(!b)return!1;a=a.clone();a.collapse(!c);return a.checkBoundaryOfElement(b,c?CKEDITOR.START:CKEDITOR.END)}var f=/^[\r\n\t ]+$/,h=CKEDITOR.dom.walker.bookmark(!1,!0),k=CKEDITOR.dom.walker.whitespaces(!0), +g=function(a){return h(a)&&k(a)},m={dd:1,dt:1,li:1};a.prototype={getNextParagraph:function(a){var d,k,y,A,D;a=a||"p";if(this._.nestedEditable){if(d=this._.nestedEditable.iterator.getNextParagraph(a))return this.activeFilter=this._.nestedEditable.iterator.activeFilter,d;this.activeFilter=this.filter;if(b(this,a,this._.nestedEditable.container,this._.nestedEditable.remaining))return this.activeFilter=this._.nestedEditable.iterator.activeFilter,this._.nestedEditable.iterator.getNextParagraph(a);this._.nestedEditable= +null}if(!this.range.root.getDtd()[a])return null;if(!this._.started){var x=this.range.clone();k=x.startPath();var p=x.endPath(),J=!x.collapsed&&c(x,k.block),u=!x.collapsed&&c(x,p.block,1);x.shrink(CKEDITOR.SHRINK_ELEMENT,!0);J&&x.setStartAt(k.block,CKEDITOR.POSITION_BEFORE_END);u&&x.setEndAt(p.block,CKEDITOR.POSITION_AFTER_START);k=x.endContainer.hasAscendant("pre",!0)||x.startContainer.hasAscendant("pre",!0);x.enlarge(this.forceBrBreak&&!k||!this.enlargeBr?CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:CKEDITOR.ENLARGE_BLOCK_CONTENTS); +x.collapsed||(k=new CKEDITOR.dom.walker(x.clone()),p=CKEDITOR.dom.walker.bookmark(!0,!0),k.evaluator=p,this._.nextNode=k.next(),k=new CKEDITOR.dom.walker(x.clone()),k.evaluator=p,k=k.previous(),this._.lastNode=k.getNextSourceNode(!0,null,x.root),this._.lastNode&&this._.lastNode.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(this._.lastNode.getText())&&this._.lastNode.getParent().isBlockBoundary()&&(p=this.range.clone(),p.moveToPosition(this._.lastNode,CKEDITOR.POSITION_AFTER_END),p.checkEndOfBlock()&& +(p=new CKEDITOR.dom.elementPath(p.endContainer,p.root),this._.lastNode=(p.block||p.blockLimit).getNextSourceNode(!0))),this._.lastNode&&x.root.contains(this._.lastNode)||(this._.lastNode=this._.docEndMarker=x.document.createText(""),this._.lastNode.insertAfter(k)),x=null);this._.started=1;k=x}p=this._.nextNode;x=this._.lastNode;for(this._.nextNode=null;p;){var J=0,u=p.hasAscendant("pre"),K=p.type!=CKEDITOR.NODE_ELEMENT,l=0;if(K)p.type==CKEDITOR.NODE_TEXT&&f.test(p.getText())&&(K=0);else{var q=p.getName(); +if(CKEDITOR.dtd.$block[q]&&"false"==p.getAttribute("contenteditable")){d=p;b(this,a,d);break}else if(p.isBlockBoundary(this.forceBrBreak&&!u&&{br:1})){if("br"==q)K=1;else if(!k&&!p.getChildCount()&&"hr"!=q){d=p;y=p.equals(x);break}k&&(k.setEndAt(p,CKEDITOR.POSITION_BEFORE_START),"br"!=q&&(this._.nextNode=p));J=1}else{if(p.getFirst()){k||(k=this.range.clone(),k.setStartAt(p,CKEDITOR.POSITION_BEFORE_START));p=p.getFirst();continue}K=1}}K&&!k&&(k=this.range.clone(),k.setStartAt(p,CKEDITOR.POSITION_BEFORE_START)); +y=(!J||K)&&p.equals(x);if(k&&!J)for(;!p.getNext(g)&&!y;){q=p.getParent();if(q.isBlockBoundary(this.forceBrBreak&&!u&&{br:1})){J=1;K=0;y||q.equals(x);k.setEndAt(q,CKEDITOR.POSITION_BEFORE_END);break}p=q;K=1;y=p.equals(x);l=1}K&&k.setEndAt(p,CKEDITOR.POSITION_AFTER_END);p=this._getNextSourceNode(p,l,x);if((y=!p)||J&&k)break}if(!d){if(!k)return this._.docEndMarker&&this._.docEndMarker.remove(),this._.nextNode=null;d=new CKEDITOR.dom.elementPath(k.startContainer,k.root);p=d.blockLimit;J={div:1,th:1,td:1}; +d=d.block;!d&&p&&!this.enforceRealBlocks&&J[p.getName()]&&k.checkStartOfBlock()&&k.checkEndOfBlock()&&!p.equals(k.root)?d=p:!d||this.enforceRealBlocks&&d.is(m)?(d=this.range.document.createElement(a),k.extractContents().appendTo(d),d.trim(),k.insertNode(d),A=D=!0):"li"!=d.getName()?k.checkStartOfBlock()&&k.checkEndOfBlock()||(d=d.clone(!1),k.extractContents().appendTo(d),d.trim(),D=k.splitBlock(),A=!D.wasStartOfBlock,D=!D.wasEndOfBlock,k.insertNode(d)):y||(this._.nextNode=d.equals(x)?null:this._getNextSourceNode(k.getBoundaryNodes().endNode, +1,x))}A&&(A=d.getPrevious())&&A.type==CKEDITOR.NODE_ELEMENT&&("br"==A.getName()?A.remove():A.getLast()&&"br"==A.getLast().$.nodeName.toLowerCase()&&A.getLast().remove());D&&(A=d.getLast())&&A.type==CKEDITOR.NODE_ELEMENT&&"br"==A.getName()&&(!CKEDITOR.env.needsBrFiller||A.getPrevious(h)||A.getNext(h))&&A.remove();this._.nextNode||(this._.nextNode=y||d.equals(x)||!x?null:this._getNextSourceNode(d,1,x));return d},_getNextSourceNode:function(a,b,c){function d(a){return!(a.equals(c)||a.equals(f))}var f= +this.range.root;for(a=a.getNextSourceNode(b,null,d);!h(a);)a=a.getNextSourceNode(b,null,d);return a}};CKEDITOR.dom.range.prototype.createIterator=function(){return new a(this)}})(); +CKEDITOR.command=function(a,d){this.uiItems=[];this.exec=function(b){if(this.state==CKEDITOR.TRISTATE_DISABLED||!this.checkAllowed())return!1;this.editorFocus&&a.focus();return!1===this.fire("exec")?!0:!1!==d.exec.call(this,a,b)};this.refresh=function(a,b){if(!this.readOnly&&a.readOnly)return!0;if(this.context&&!b.isContextFor(this.context)||!this.checkAllowed(!0))return this.disable(),!0;this.startDisabled||this.enable();this.modes&&!this.modes[a.mode]&&this.disable();return!1===this.fire("refresh", +{editor:a,path:b})?!0:d.refresh&&!1!==d.refresh.apply(this,arguments)};var b;this.checkAllowed=function(c){return c||"boolean"!=typeof b?b=a.activeFilter.checkFeature(this):b};CKEDITOR.tools.extend(this,d,{modes:{wysiwyg:1},editorFocus:1,contextSensitive:!!d.context,state:CKEDITOR.TRISTATE_DISABLED});CKEDITOR.event.call(this)}; +CKEDITOR.command.prototype={enable:function(){this.state==CKEDITOR.TRISTATE_DISABLED&&this.checkAllowed()&&this.setState(this.preserveState&&"undefined"!=typeof this.previousState?this.previousState:CKEDITOR.TRISTATE_OFF)},disable:function(){this.setState(CKEDITOR.TRISTATE_DISABLED)},setState:function(a){if(this.state==a||a!=CKEDITOR.TRISTATE_DISABLED&&!this.checkAllowed())return!1;this.previousState=this.state;this.state=a;this.fire("state");return!0},toggleState:function(){this.state==CKEDITOR.TRISTATE_OFF? +this.setState(CKEDITOR.TRISTATE_ON):this.state==CKEDITOR.TRISTATE_ON&&this.setState(CKEDITOR.TRISTATE_OFF)}};CKEDITOR.event.implementOn(CKEDITOR.command.prototype);CKEDITOR.ENTER_P=1;CKEDITOR.ENTER_BR=2;CKEDITOR.ENTER_DIV=3; +CKEDITOR.config={customConfig:"config.js",autoUpdateElement:!0,language:"",defaultLanguage:"en",contentsLangDirection:"",enterMode:CKEDITOR.ENTER_P,forceEnterMode:!1,shiftEnterMode:CKEDITOR.ENTER_BR,docType:"\x3c!DOCTYPE html\x3e",bodyId:"",bodyClass:"",fullPage:!1,height:200,contentsCss:CKEDITOR.getUrl("contents.css"),extraPlugins:"",removePlugins:"",protectedSource:[],tabIndex:0,width:"",baseFloatZIndex:1E4,blockedKeystrokes:[CKEDITOR.CTRL+66,CKEDITOR.CTRL+73,CKEDITOR.CTRL+85]}; +(function(){function a(a,b,c,d,f){var e,v;a=[];for(e in b){v=b[e];v="boolean"==typeof v?{}:"function"==typeof v?{match:v}:E(v);"$"!=e.charAt(0)&&(v.elements=e);c&&(v.featureName=c.toLowerCase());var l=v;l.elements=k(l.elements,/\s+/)||null;l.propertiesOnly=l.propertiesOnly||!0===l.elements;var n=/\s*,\s*/,p=void 0;for(p in P){l[p]=k(l[p],n)||null;var h=l,q=O[p],t=k(l[O[p]],n),w=l[p],B=[],g=!0,H=void 0;t?g=!1:t={};for(H in w)"!"==H.charAt(0)&&(H=H.slice(1),B.push(H),t[H]=!0,g=!1);for(;H=B.pop();)w[H]= +w["!"+H],delete w["!"+H];h[q]=(g?!1:t)||null}l.match=l.match||null;d.push(v);a.push(v)}b=f.elements;f=f.generic;var F;c=0;for(d=a.length;c<d;++c){e=E(a[c]);v=!0===e.classes||!0===e.styles||!0===e.attributes;l=e;p=q=n=void 0;for(n in P)l[n]=J(l[n]);h=!0;for(p in O){n=O[p];q=l[n];t=[];w=void 0;for(w in q)-1<w.indexOf("*")?t.push(new RegExp("^"+w.replace(/\*/g,".*")+"$")):t.push(w);q=t;q.length&&(l[n]=q,h=!1)}l.nothingRequired=h;l.noProperties=!(l.attributes||l.classes||l.styles);if(!0===e.elements|| +null===e.elements)f[v?"unshift":"push"](e);else for(F in l=e.elements,delete e.elements,l)if(b[F])b[F][v?"unshift":"push"](e);else b[F]=[e]}}function d(a,c,d,f){if(!a.match||a.match(c))if(f||g(a,c))if(a.propertiesOnly||(d.valid=!0),d.allAttributes||(d.allAttributes=b(a.attributes,c.attributes,d.validAttributes)),d.allStyles||(d.allStyles=b(a.styles,c.styles,d.validStyles)),!d.allClasses){a=a.classes;c=c.classes;f=d.validClasses;if(a)if(!0===a)a=!0;else{for(var e=0,v=c.length,l;e<v;++e)l=c[e],f[l]|| +(f[l]=a(l));a=!1}else a=!1;d.allClasses=a}}function b(a,b,c){if(!a)return!1;if(!0===a)return!0;for(var d in b)c[d]||(c[d]=a(d));return!1}function c(a,b,c){if(!a.match||a.match(b)){if(a.noProperties)return!1;c.hadInvalidAttribute=f(a.attributes,b.attributes)||c.hadInvalidAttribute;c.hadInvalidStyle=f(a.styles,b.styles)||c.hadInvalidStyle;a=a.classes;b=b.classes;if(a){for(var d=!1,e=!0===a,v=b.length;v--;)if(e||a(b[v]))b.splice(v,1),d=!0;a=d}else a=!1;c.hadInvalidClass=a||c.hadInvalidClass}}function f(a, +b){if(!a)return!1;var c=!1,d=!0===a,f;for(f in b)if(d||a(f))delete b[f],c=!0;return c}function h(a,b,c){if(a.disabled||a.customConfig&&!c||!b)return!1;a._.cachedChecks={};return!0}function k(a,b){if(!a)return!1;if(!0===a)return a;if("string"==typeof a)return a=w(a),"*"==a?!0:CKEDITOR.tools.convertArrayToObject(a.split(b));if(CKEDITOR.tools.isArray(a))return a.length?CKEDITOR.tools.convertArrayToObject(a):!1;var c={},d=0,f;for(f in a)c[f]=a[f],d++;return d?c:!1}function g(a,b){if(a.nothingRequired)return!0; +var c,d,f,e;if(f=a.requiredClasses)for(e=b.classes,c=0;c<f.length;++c)if(d=f[c],"string"==typeof d){if(-1==CKEDITOR.tools.indexOf(e,d))return!1}else if(!CKEDITOR.tools.checkIfAnyArrayItemMatches(e,d))return!1;return m(b.styles,a.requiredStyles)&&m(b.attributes,a.requiredAttributes)}function m(a,b){if(!b)return!0;for(var c=0,d;c<b.length;++c)if(d=b[c],"string"==typeof d){if(!(d in a))return!1}else if(!CKEDITOR.tools.checkIfAnyObjectPropertyMatches(a,d))return!1;return!0}function r(a){if(!a)return{}; +a=a.split(/\s*,\s*/).sort();for(var b={};a.length;)b[a.shift()]="cke-test";return b}function e(a){var b,c,d,f,e={},v=1;for(a=w(a);b=a.match(n);)(c=b[2])?(d=z(c,"styles"),f=z(c,"attrs"),c=z(c,"classes")):d=f=c=null,e["$"+v++]={elements:b[1],classes:c,styles:d,attributes:f},a=a.slice(b[0].length);return e}function z(a,b){var c=a.match(N[b]);return c?w(c[1]):null}function y(a){var b=a.styleBackup=a.attributes.style,c=a.classBackup=a.attributes["class"];a.styles||(a.styles=CKEDITOR.tools.parseCssText(b|| +"",1));a.classes||(a.classes=c?c.split(/\s+/):[])}function A(a,b,f,e){var l=0,n;e.toHtml&&(b.name=b.name.replace(v,"$1"));if(e.doCallbacks&&a.elementCallbacks){a:{n=a.elementCallbacks;for(var h=0,t=n.length,w;h<t;++h)if(w=n[h](b)){n=w;break a}n=void 0}if(n)return n}if(e.doTransform&&(n=a._.transformations[b.name])){y(b);for(h=0;h<n.length;++h)q(a,b,n[h]);x(b)}if(e.doFilter){a:{h=b.name;t=a._;a=t.allowedRules.elements[h];n=t.allowedRules.generic;h=t.disallowedRules.elements[h];t=t.disallowedRules.generic; +w=e.skipRequired;var E={valid:!1,validAttributes:{},validClasses:{},validStyles:{},allAttributes:!1,allClasses:!1,allStyles:!1,hadInvalidAttribute:!1,hadInvalidClass:!1,hadInvalidStyle:!1},k,g;if(a||n){y(b);if(h)for(k=0,g=h.length;k<g;++k)if(!1===c(h[k],b,E)){a=null;break a}if(t)for(k=0,g=t.length;k<g;++k)c(t[k],b,E);if(a)for(k=0,g=a.length;k<g;++k)d(a[k],b,E,w);if(n)for(k=0,g=n.length;k<g;++k)d(n[k],b,E,w);a=E}else a=null}if(!a||!a.valid)return f.push(b),1;g=a.validAttributes;var H=a.validStyles; +n=a.validClasses;var h=b.attributes,F=b.styles,t=b.classes;w=b.classBackup;var L=b.styleBackup,G,N,C=[],E=[],O=/^data-cke-/;k=!1;delete h.style;delete h["class"];delete b.classBackup;delete b.styleBackup;if(!a.allAttributes)for(G in h)g[G]||(O.test(G)?G==(N=G.replace(/^data-cke-saved-/,""))||g[N]||(delete h[G],k=!0):(delete h[G],k=!0));if(!a.allStyles||a.hadInvalidStyle){for(G in F)a.allStyles||H[G]?C.push(G+":"+F[G]):k=!0;C.length&&(h.style=C.sort().join("; "))}else L&&(h.style=L);if(!a.allClasses|| +a.hadInvalidClass){for(G=0;G<t.length;++G)(a.allClasses||n[t[G]])&&E.push(t[G]);E.length&&(h["class"]=E.sort().join(" "));w&&E.length<w.split(/\s+/).length&&(k=!0)}else w&&(h["class"]=w);k&&(l=1);if(!e.skipFinalValidation&&!p(b))return f.push(b),1}e.toHtml&&(b.name=b.name.replace(B,"cke:$1"));return l}function D(a){var b=[],c;for(c in a)-1<c.indexOf("*")&&b.push(c.replace(/\*/g,".*"));return b.length?new RegExp("^(?:"+b.join("|")+")$"):null}function x(a){var b=a.attributes,c;delete b.style;delete b["class"]; +if(c=CKEDITOR.tools.writeCssText(a.styles,!0))b.style=c;a.classes.length&&(b["class"]=a.classes.sort().join(" "))}function p(a){switch(a.name){case "a":if(!(a.children.length||a.attributes.name||a.attributes.id))return!1;break;case "img":if(!a.attributes.src)return!1}return!0}function J(a){if(!a)return!1;if(!0===a)return!0;var b=D(a);return function(c){return c in a||b&&c.match(b)}}function u(){return new CKEDITOR.htmlParser.element("br")}function K(a){return a.type==CKEDITOR.NODE_ELEMENT&&("br"== +a.name||t.$block[a.name])}function l(a,b,c){var d=a.name;if(t.$empty[d]||!a.children.length)"hr"==d&&"br"==b?a.replaceWith(u()):(a.parent&&c.push({check:"it",el:a.parent}),a.remove());else if(t.$block[d]||"tr"==d)if("br"==b)a.previous&&!K(a.previous)&&(b=u(),b.insertBefore(a)),a.next&&!K(a.next)&&(b=u(),b.insertAfter(a)),a.replaceWithChildren();else{var d=a.children,f;b:{f=t[b];for(var e=0,v=d.length,l;e<v;++e)if(l=d[e],l.type==CKEDITOR.NODE_ELEMENT&&!f[l.name]){f=!1;break b}f=!0}if(f)a.name=b,a.attributes= +{},c.push({check:"parent-down",el:a});else{f=a.parent;for(var e=f.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT||"body"==f.name,n,h,v=d.length;0<v;)l=d[--v],e&&(l.type==CKEDITOR.NODE_TEXT||l.type==CKEDITOR.NODE_ELEMENT&&t.$inline[l.name])?(n||(n=new CKEDITOR.htmlParser.element(b),n.insertAfter(a),c.push({check:"parent-down",el:n})),n.add(l,0)):(n=null,h=t[f.name]||t.span,l.insertAfter(a),f.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT||l.type!=CKEDITOR.NODE_ELEMENT||h[l.name]||c.push({check:"el-up",el:l}));a.remove()}}else d in +{style:1,script:1}?a.remove():(a.parent&&c.push({check:"it",el:a.parent}),a.replaceWithChildren())}function q(a,b,c){var d,f;for(d=0;d<c.length;++d)if(f=c[d],!(f.check&&!a.check(f.check,!1)||f.left&&!f.left(b))){f.right(b,G);break}}function F(a,b){var c=b.getDefinition(),d=c.attributes,f=c.styles,e,v,l,n;if(a.name!=c.element)return!1;for(e in d)if("class"==e)for(c=d[e].split(/\s+/),l=a.classes.join("|");n=c.pop();){if(-1==l.indexOf(n))return!1}else if(a.attributes[e]!=d[e])return!1;for(v in f)if(a.styles[v]!= +f[v])return!1;return!0}function L(a,b){var c,d;"string"==typeof a?c=a:a instanceof CKEDITOR.style?d=a:(c=a[0],d=a[1]);return[{element:c,left:d,right:function(a,c){c.transform(a,b)}}]}function C(a){return function(b){return F(b,a)}}function M(a){return function(b,c){c[a](b)}}var t=CKEDITOR.dtd,E=CKEDITOR.tools.copy,w=CKEDITOR.tools.trim,H=["","p","br","div"];CKEDITOR.FILTER_SKIP_TREE=2;CKEDITOR.filter=function(a){this.allowedContent=[];this.disallowedContent=[];this.elementCallbacks=null;this.disabled= +!1;this.editor=null;this.id=CKEDITOR.tools.getNextNumber();this._={allowedRules:{elements:{},generic:[]},disallowedRules:{elements:{},generic:[]},transformations:{},cachedTests:{},cachedChecks:{}};CKEDITOR.filter.instances[this.id]=this;if(a instanceof CKEDITOR.editor){a=this.editor=a;this.customConfig=!0;var b=a.config.allowedContent;!0===b?this.disabled=!0:(b||(this.customConfig=!1),this.allow(b,"config",1),this.allow(a.config.extraAllowedContent,"extra",1),this.allow(H[a.enterMode]+" "+H[a.shiftEnterMode], +"default",1),this.disallow(a.config.disallowedContent))}else this.customConfig=!1,this.allow(a,"default",1)};CKEDITOR.filter.instances={};CKEDITOR.filter.prototype={allow:function(b,c,d){if(!h(this,b,d))return!1;var f,v;if("string"==typeof b)b=e(b);else if(b instanceof CKEDITOR.style){if(b.toAllowedContentRules)return this.allow(b.toAllowedContentRules(this.editor),c,d);f=b.getDefinition();b={};d=f.attributes;b[f.element]=f={styles:f.styles,requiredStyles:f.styles&&CKEDITOR.tools.objectKeys(f.styles)}; +d&&(d=E(d),f.classes=d["class"]?d["class"].split(/\s+/):null,f.requiredClasses=f.classes,delete d["class"],f.attributes=d,f.requiredAttributes=d&&CKEDITOR.tools.objectKeys(d))}else if(CKEDITOR.tools.isArray(b)){for(f=0;f<b.length;++f)v=this.allow(b[f],c,d);return v}a(this,b,c,this.allowedContent,this._.allowedRules);return!0},applyTo:function(a,b,c,d){if(this.disabled)return!1;var f=this,e=[],v=this.editor&&this.editor.config.protectedSource,n,h=!1,q={doFilter:!c,doTransform:!0,doCallbacks:!0,toHtml:b}; +a.forEach(function(a){if(a.type==CKEDITOR.NODE_ELEMENT){if("off"==a.attributes["data-cke-filter"])return!1;if(!b||"span"!=a.name||!~CKEDITOR.tools.objectKeys(a.attributes).join("|").indexOf("data-cke-"))if(n=A(f,a,e,q),n&1)h=!0;else if(n&2)return!1}else if(a.type==CKEDITOR.NODE_COMMENT&&a.value.match(/^\{cke_protected\}(?!\{C\})/)){var c;a:{var d=decodeURIComponent(a.value.replace(/^\{cke_protected\}/,""));c=[];var l,p,t;if(v)for(p=0;p<v.length;++p)if((t=d.match(v[p]))&&t[0].length==d.length){c=!0; +break a}d=CKEDITOR.htmlParser.fragment.fromHtml(d);1==d.children.length&&(l=d.children[0]).type==CKEDITOR.NODE_ELEMENT&&A(f,l,c,q);c=!c.length}c||e.push(a)}},null,!0);e.length&&(h=!0);var w;a=[];d=H[d||(this.editor?this.editor.enterMode:CKEDITOR.ENTER_P)];for(var E;c=e.pop();)c.type==CKEDITOR.NODE_ELEMENT?l(c,d,a):c.remove();for(;w=a.pop();)if(c=w.el,c.parent)switch(E=t[c.parent.name]||t.span,w.check){case "it":t.$removeEmpty[c.name]&&!c.children.length?l(c,d,a):p(c)||l(c,d,a);break;case "el-up":c.parent.type== +CKEDITOR.NODE_DOCUMENT_FRAGMENT||E[c.name]||l(c,d,a);break;case "parent-down":c.parent.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT||E[c.name]||l(c.parent,d,a)}return h},checkFeature:function(a){if(this.disabled||!a)return!0;a.toFeature&&(a=a.toFeature(this.editor));return!a.requiredContent||this.check(a.requiredContent)},disable:function(){this.disabled=!0},disallow:function(b){if(!h(this,b,!0))return!1;"string"==typeof b&&(b=e(b));a(this,b,null,this.disallowedContent,this._.disallowedRules);return!0}, +addContentForms:function(a){if(!this.disabled&&a){var b,c,d=[],f;for(b=0;b<a.length&&!f;++b)c=a[b],("string"==typeof c||c instanceof CKEDITOR.style)&&this.check(c)&&(f=c);if(f){for(b=0;b<a.length;++b)d.push(L(a[b],f));this.addTransformations(d)}}},addElementCallback:function(a){this.elementCallbacks||(this.elementCallbacks=[]);this.elementCallbacks.push(a)},addFeature:function(a){if(this.disabled||!a)return!0;a.toFeature&&(a=a.toFeature(this.editor));this.allow(a.allowedContent,a.name);this.addTransformations(a.contentTransformations); +this.addContentForms(a.contentForms);return a.requiredContent&&(this.customConfig||this.disallowedContent.length)?this.check(a.requiredContent):!0},addTransformations:function(a){var b,c;if(!this.disabled&&a){var d=this._.transformations,f;for(f=0;f<a.length;++f){b=a[f];var e=void 0,v=void 0,l=void 0,n=void 0,h=void 0,p=void 0;c=[];for(v=0;v<b.length;++v)l=b[v],"string"==typeof l?(l=l.split(/\s*:\s*/),n=l[0],h=null,p=l[1]):(n=l.check,h=l.left,p=l.right),e||(e=l,e=e.element?e.element:n?n.match(/^([a-z0-9]+)/i)[0]: +e.left.getDefinition().element),h instanceof CKEDITOR.style&&(h=C(h)),c.push({check:n==e?null:n,left:h,right:"string"==typeof p?M(p):p});b=e;d[b]||(d[b]=[]);d[b].push(c)}}},check:function(a,b,c){if(this.disabled)return!0;if(CKEDITOR.tools.isArray(a)){for(var d=a.length;d--;)if(this.check(a[d],b,c))return!0;return!1}var f,v;if("string"==typeof a){v=a+"\x3c"+(!1===b?"0":"1")+(c?"1":"0")+"\x3e";if(v in this._.cachedChecks)return this._.cachedChecks[v];d=e(a).$1;f=d.styles;var l=d.classes;d.name=d.elements; +d.classes=l=l?l.split(/\s*,\s*/):[];d.styles=r(f);d.attributes=r(d.attributes);d.children=[];l.length&&(d.attributes["class"]=l.join(" "));f&&(d.attributes.style=CKEDITOR.tools.writeCssText(d.styles));f=d}else d=a.getDefinition(),f=d.styles,l=d.attributes||{},f&&!CKEDITOR.tools.isEmpty(f)?(f=E(f),l.style=CKEDITOR.tools.writeCssText(f,!0)):f={},f={name:d.element,attributes:l,classes:l["class"]?l["class"].split(/\s+/):[],styles:f,children:[]};var l=CKEDITOR.tools.clone(f),n=[],h;if(!1!==b&&(h=this._.transformations[f.name])){for(d= +0;d<h.length;++d)q(this,f,h[d]);x(f)}A(this,l,n,{doFilter:!0,doTransform:!1!==b,skipRequired:!c,skipFinalValidation:!c});b=0<n.length?!1:CKEDITOR.tools.objectCompare(f.attributes,l.attributes,!0)?!0:!1;"string"==typeof a&&(this._.cachedChecks[v]=b);return b},getAllowedEnterMode:function(){var a=["p","div","br"],b={p:CKEDITOR.ENTER_P,div:CKEDITOR.ENTER_DIV,br:CKEDITOR.ENTER_BR};return function(c,d){var f=a.slice(),e;if(this.check(H[c]))return c;for(d||(f=f.reverse());e=f.pop();)if(this.check(e))return b[e]; +return CKEDITOR.ENTER_BR}}(),clone:function(){var a=new CKEDITOR.filter,b=CKEDITOR.tools.clone;a.allowedContent=b(this.allowedContent);a._.allowedRules=b(this._.allowedRules);a.disallowedContent=b(this.disallowedContent);a._.disallowedRules=b(this._.disallowedRules);a._.transformations=b(this._.transformations);a.disabled=this.disabled;a.editor=this.editor;return a},destroy:function(){delete CKEDITOR.filter.instances[this.id];delete this._;delete this.allowedContent;delete this.disallowedContent}}; +var P={styles:1,attributes:1,classes:1},O={styles:"requiredStyles",attributes:"requiredAttributes",classes:"requiredClasses"},n=/^([a-z0-9\-*\s]+)((?:\s*\{[!\w\-,\s\*]+\}\s*|\s*\[[!\w\-,\s\*]+\]\s*|\s*\([!\w\-,\s\*]+\)\s*){0,3})(?:;\s*|$)/i,N={styles:/{([^}]+)}/,attrs:/\[([^\]]+)\]/,classes:/\(([^\)]+)\)/},v=/^cke:(object|embed|param)$/,B=/^(object|embed|param)$/,G;G=CKEDITOR.filter.transformationsTools={sizeToStyle:function(a){this.lengthToStyle(a,"width");this.lengthToStyle(a,"height")},sizeToAttribute:function(a){this.lengthToAttribute(a, +"width");this.lengthToAttribute(a,"height")},lengthToStyle:function(a,b,c){c=c||b;if(!(c in a.styles)){var d=a.attributes[b];d&&(/^\d+$/.test(d)&&(d+="px"),a.styles[c]=d)}delete a.attributes[b]},lengthToAttribute:function(a,b,c){c=c||b;if(!(c in a.attributes)){var d=a.styles[b],f=d&&d.match(/^(\d+)(?:\.\d*)?px$/);f?a.attributes[c]=f[1]:"cke-test"==d&&(a.attributes[c]="cke-test")}delete a.styles[b]},alignmentToStyle:function(a){if(!("float"in a.styles)){var b=a.attributes.align;if("left"==b||"right"== +b)a.styles["float"]=b}delete a.attributes.align},alignmentToAttribute:function(a){if(!("align"in a.attributes)){var b=a.styles["float"];if("left"==b||"right"==b)a.attributes.align=b}delete a.styles["float"]},splitBorderShorthand:function(a){if(a.styles.border){var b=CKEDITOR.tools.style.parse.border(a.styles.border);b.color&&(a.styles["border-color"]=b.color);b.style&&(a.styles["border-style"]=b.style);b.width&&(a.styles["border-width"]=b.width);delete a.styles.border}},listTypeToStyle:function(a){if(a.attributes.type)switch(a.attributes.type){case "a":a.styles["list-style-type"]= +"lower-alpha";break;case "A":a.styles["list-style-type"]="upper-alpha";break;case "i":a.styles["list-style-type"]="lower-roman";break;case "I":a.styles["list-style-type"]="upper-roman";break;case "1":a.styles["list-style-type"]="decimal";break;default:a.styles["list-style-type"]=a.attributes.type}},splitMarginShorthand:function(a){function b(d){a.styles["margin-top"]=c[d[0]];a.styles["margin-right"]=c[d[1]];a.styles["margin-bottom"]=c[d[2]];a.styles["margin-left"]=c[d[3]]}if(a.styles.margin){var c= +a.styles.margin.match(/(\-?[\.\d]+\w+)/g)||["0px"];switch(c.length){case 1:b([0,0,0,0]);break;case 2:b([0,1,0,1]);break;case 3:b([0,1,2,1]);break;case 4:b([0,1,2,3])}delete a.styles.margin}},matchesStyle:F,transform:function(a,b){if("string"==typeof b)a.name=b;else{var c=b.getDefinition(),d=c.styles,f=c.attributes,e,l,v,n;a.name=c.element;for(e in f)if("class"==e)for(c=a.classes.join("|"),v=f[e].split(/\s+/);n=v.pop();)-1==c.indexOf(n)&&a.classes.push(n);else a.attributes[e]=f[e];for(l in d)a.styles[l]= +d[l]}}}})(); +(function(){CKEDITOR.focusManager=function(a){if(a.focusManager)return a.focusManager;this.hasFocus=!1;this.currentActive=null;this._={editor:a};return this};CKEDITOR.focusManager._={blurDelay:200};CKEDITOR.focusManager.prototype={focus:function(a){this._.timer&&clearTimeout(this._.timer);a&&(this.currentActive=a);this.hasFocus||this._.locked||((a=CKEDITOR.currentInstance)&&a.focusManager.blur(1),this.hasFocus=!0,(a=this._.editor.container)&&a.addClass("cke_focus"),this._.editor.fire("focus"))},lock:function(){this._.locked= +1},unlock:function(){delete this._.locked},blur:function(a){function d(){if(this.hasFocus){this.hasFocus=!1;var a=this._.editor.container;a&&a.removeClass("cke_focus");this._.editor.fire("blur")}}if(!this._.locked){this._.timer&&clearTimeout(this._.timer);var b=CKEDITOR.focusManager._.blurDelay;a||!b?d.call(this):this._.timer=CKEDITOR.tools.setTimeout(function(){delete this._.timer;d.call(this)},b,this)}},add:function(a,d){var b=a.getCustomData("focusmanager");if(!b||b!=this){b&&b.remove(a);var b= +"focus",c="blur";d&&(CKEDITOR.env.ie?(b="focusin",c="focusout"):CKEDITOR.event.useCapture=1);var f={blur:function(){a.equals(this.currentActive)&&this.blur()},focus:function(){this.focus(a)}};a.on(b,f.focus,this);a.on(c,f.blur,this);d&&(CKEDITOR.event.useCapture=0);a.setCustomData("focusmanager",this);a.setCustomData("focusmanager_handlers",f)}},remove:function(a){a.removeCustomData("focusmanager");var d=a.removeCustomData("focusmanager_handlers");a.removeListener("blur",d.blur);a.removeListener("focus", +d.focus)}}})();CKEDITOR.keystrokeHandler=function(a){if(a.keystrokeHandler)return a.keystrokeHandler;this.keystrokes={};this.blockedKeystrokes={};this._={editor:a};return this}; +(function(){var a,d=function(b){b=b.data;var d=b.getKeystroke(),h=this.keystrokes[d],k=this._.editor;a=!1===k.fire("key",{keyCode:d,domEvent:b});a||(h&&(a=!1!==k.execCommand(h,{from:"keystrokeHandler"})),a||(a=!!this.blockedKeystrokes[d]));a&&b.preventDefault(!0);return!a},b=function(b){a&&(a=!1,b.data.preventDefault(!0))};CKEDITOR.keystrokeHandler.prototype={attach:function(a){a.on("keydown",d,this);if(CKEDITOR.env.gecko&&CKEDITOR.env.mac)a.on("keypress",b,this)}}})(); +(function(){CKEDITOR.lang={languages:{af:1,ar:1,az:1,bg:1,bn:1,bs:1,ca:1,cs:1,cy:1,da:1,de:1,"de-ch":1,el:1,"en-au":1,"en-ca":1,"en-gb":1,en:1,eo:1,es:1,"es-mx":1,et:1,eu:1,fa:1,fi:1,fo:1,"fr-ca":1,fr:1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,is:1,it:1,ja:1,ka:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,ms:1,nb:1,nl:1,no:1,oc:1,pl:1,"pt-br":1,pt:1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,"sr-latn":1,sr:1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,"zh-cn":1,zh:1},rtl:{ar:1,fa:1,he:1,ku:1,ug:1},load:function(a,d,b){a&&CKEDITOR.lang.languages[a]|| +(a=this.detect(d,a));var c=this;d=function(){c[a].dir=c.rtl[a]?"rtl":"ltr";b(a,c[a])};this[a]?d():CKEDITOR.scriptLoader.load(CKEDITOR.getUrl("lang/"+a+".js"),d,this)},detect:function(a,d){var b=this.languages;d=d||navigator.userLanguage||navigator.language||a;var c=d.toLowerCase().match(/([a-z]+)(?:-([a-z]+))?/),f=c[1],c=c[2];b[f+"-"+c]?f=f+"-"+c:b[f]||(f=null);CKEDITOR.lang.detect=f?function(){return f}:function(a){return a};return f||a}}})(); +CKEDITOR.scriptLoader=function(){var a={},d={};return{load:function(b,c,f,h){var k="string"==typeof b;k&&(b=[b]);f||(f=CKEDITOR);var g=b.length,m=[],r=[],e=function(a){c&&(k?c.call(f,a):c.call(f,m,r))};if(0===g)e(!0);else{var z=function(a,b){(b?m:r).push(a);0>=--g&&(h&&CKEDITOR.document.getDocumentElement().removeStyle("cursor"),e(b))},y=function(b,c){a[b]=1;var f=d[b];delete d[b];for(var e=0;e<f.length;e++)f[e](b,c)},A=function(b){if(a[b])z(b,!0);else{var f=d[b]||(d[b]=[]);f.push(z);if(!(1<f.length)){var e= +new CKEDITOR.dom.element("script");e.setAttributes({type:"text/javascript",src:b});c&&(CKEDITOR.env.ie&&(8>=CKEDITOR.env.version||CKEDITOR.env.ie9Compat)?e.$.onreadystatechange=function(){if("loaded"==e.$.readyState||"complete"==e.$.readyState)e.$.onreadystatechange=null,y(b,!0)}:(e.$.onload=function(){setTimeout(function(){y(b,!0)},0)},e.$.onerror=function(){y(b,!1)}));e.appendTo(CKEDITOR.document.getHead())}}};h&&CKEDITOR.document.getDocumentElement().setStyle("cursor","wait");for(var D=0;D<g;D++)A(b[D])}}, +queue:function(){function a(){var b;(b=c[0])&&this.load(b.scriptUrl,b.callback,CKEDITOR,0)}var c=[];return function(d,h){var k=this;c.push({scriptUrl:d,callback:function(){h&&h.apply(this,arguments);c.shift();a.call(k)}});1==c.length&&a.call(this)}}()}}();CKEDITOR.resourceManager=function(a,d){this.basePath=a;this.fileName=d;this.registered={};this.loaded={};this.externals={};this._={waitingList:{}}}; +CKEDITOR.resourceManager.prototype={add:function(a,d){if(this.registered[a])throw Error('[CKEDITOR.resourceManager.add] The resource name "'+a+'" is already registered.');var b=this.registered[a]=d||{};b.name=a;b.path=this.getPath(a);CKEDITOR.fire(a+CKEDITOR.tools.capitalize(this.fileName)+"Ready",b);return this.get(a)},get:function(a){return this.registered[a]||null},getPath:function(a){var d=this.externals[a];return CKEDITOR.getUrl(d&&d.dir||this.basePath+a+"/")},getFilePath:function(a){var d=this.externals[a]; +return CKEDITOR.getUrl(this.getPath(a)+(d?d.file:this.fileName+".js"))},addExternal:function(a,d,b){a=a.split(",");for(var c=0;c<a.length;c++){var f=a[c];b||(d=d.replace(/[^\/]+$/,function(a){b=a;return""}));this.externals[f]={dir:d,file:b||this.fileName+".js"}}},load:function(a,d,b){CKEDITOR.tools.isArray(a)||(a=a?[a]:[]);for(var c=this.loaded,f=this.registered,h=[],k={},g={},m=0;m<a.length;m++){var r=a[m];if(r)if(c[r]||f[r])g[r]=this.get(r);else{var e=this.getFilePath(r);h.push(e);e in k||(k[e]= +[]);k[e].push(r)}}CKEDITOR.scriptLoader.load(h,function(a,f){if(f.length)throw Error('[CKEDITOR.resourceManager.load] Resource name "'+k[f[0]].join(",")+'" was not found at "'+f[0]+'".');for(var e=0;e<a.length;e++)for(var h=k[a[e]],m=0;m<h.length;m++){var p=h[m];g[p]=this.get(p);c[p]=1}d.call(b,g)},this)}};CKEDITOR.plugins=new CKEDITOR.resourceManager("plugins/","plugin"); +CKEDITOR.plugins.load=CKEDITOR.tools.override(CKEDITOR.plugins.load,function(a){var d={};return function(b,c,f){var h={},k=function(b){a.call(this,b,function(a){CKEDITOR.tools.extend(h,a);var b=[],e;for(e in a){var g=a[e],y=g&&g.requires;if(!d[e]){if(g.icons)for(var A=g.icons.split(","),D=A.length;D--;)CKEDITOR.skin.addIcon(A[D],g.path+"icons/"+(CKEDITOR.env.hidpi&&g.hidpi?"hidpi/":"")+A[D]+".png");d[e]=1}if(y)for(y.split&&(y=y.split(",")),g=0;g<y.length;g++)h[y[g]]||b.push(y[g])}if(b.length)k.call(this, +b);else{for(e in h)g=h[e],g.onLoad&&!g.onLoad._called&&(!1===g.onLoad()&&delete h[e],g.onLoad._called=1);c&&c.call(f||window,h)}},this)};k.call(this,b)}});CKEDITOR.plugins.setLang=function(a,d,b){var c=this.get(a);a=c.langEntries||(c.langEntries={});c=c.lang||(c.lang=[]);c.split&&(c=c.split(","));-1==CKEDITOR.tools.indexOf(c,d)&&c.push(d);a[d]=b};CKEDITOR.ui=function(a){if(a.ui)return a.ui;this.items={};this.instances={};this.editor=a;this._={handlers:{}};return this}; +CKEDITOR.ui.prototype={add:function(a,d,b){b.name=a.toLowerCase();var c=this.items[a]={type:d,command:b.command||null,args:Array.prototype.slice.call(arguments,2)};CKEDITOR.tools.extend(c,b)},get:function(a){return this.instances[a]},create:function(a){var d=this.items[a],b=d&&this._.handlers[d.type],c=d&&d.command&&this.editor.getCommand(d.command),b=b&&b.create.apply(this,d.args);this.instances[a]=b;c&&c.uiItems.push(b);b&&!b.type&&(b.type=d.type);return b},addHandler:function(a,d){this._.handlers[a]= +d},space:function(a){return CKEDITOR.document.getById(this.spaceId(a))},spaceId:function(a){return this.editor.id+"_"+a}};CKEDITOR.event.implementOn(CKEDITOR.ui); +(function(){function a(a,f,e){CKEDITOR.event.call(this);a=a&&CKEDITOR.tools.clone(a);if(void 0!==f){if(!(f instanceof CKEDITOR.dom.element))throw Error("Expect element of type CKEDITOR.dom.element.");if(!e)throw Error("One of the element modes must be specified.");if(CKEDITOR.env.ie&&CKEDITOR.env.quirks&&e==CKEDITOR.ELEMENT_MODE_INLINE)throw Error("Inline element mode is not supported on IE quirks.");if(!b(f,e))throw Error('The specified element mode is not supported on element: "'+f.getName()+'".'); +this.element=f;this.elementMode=e;this.name=this.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO&&(f.getId()||f.getNameAtt())}else this.elementMode=CKEDITOR.ELEMENT_MODE_NONE;this._={};this.commands={};this.templates={};this.name=this.name||d();this.id=CKEDITOR.tools.getNextId();this.status="unloaded";this.config=CKEDITOR.tools.prototypedCopy(CKEDITOR.config);this.ui=new CKEDITOR.ui(this);this.focusManager=new CKEDITOR.focusManager(this);this.keystrokeHandler=new CKEDITOR.keystrokeHandler(this);this.on("readOnly", +c);this.on("selectionChange",function(a){h(this,a.data.path)});this.on("activeFilterChange",function(){h(this,this.elementPath(),!0)});this.on("mode",c);this.on("instanceReady",function(){if(this.config.startupFocus){if("end"===this.config.startupFocus){var a=this.createRange();a.selectNodeContents(this.editable());a.shrink(CKEDITOR.SHRINK_ELEMENT,!0);a.collapse();this.getSelection().selectRanges([a])}this.focus()}});CKEDITOR.fire("instanceCreated",null,this);CKEDITOR.add(this);CKEDITOR.tools.setTimeout(function(){"destroyed"!== +this.status?g(this,a):CKEDITOR.warn("editor-incorrect-destroy")},0,this)}function d(){do var a="editor"+ ++D;while(CKEDITOR.instances[a]);return a}function b(a,b){return b==CKEDITOR.ELEMENT_MODE_INLINE?a.is(CKEDITOR.dtd.$editable)||a.is("textarea"):b==CKEDITOR.ELEMENT_MODE_REPLACE?!a.is(CKEDITOR.dtd.$nonBodyContent):1}function c(){var a=this.commands,b;for(b in a)f(this,a[b])}function f(a,b){b[b.startDisabled?"disable":a.readOnly&&!b.readOnly?"disable":b.modes[a.mode]?"enable":"disable"]()}function h(a, +b,c){if(b){var d,f,e=a.commands;for(f in e)d=e[f],(c||d.contextSensitive)&&d.refresh(a,b)}}function k(a){var b=a.config.customConfig;if(!b)return!1;var b=CKEDITOR.getUrl(b),c=x[b]||(x[b]={});c.fn?(c.fn.call(a,a.config),CKEDITOR.getUrl(a.config.customConfig)!=b&&k(a)||a.fireOnce("customConfigLoaded")):CKEDITOR.scriptLoader.queue(b,function(){c.fn=CKEDITOR.editorConfig?CKEDITOR.editorConfig:function(){};k(a)});return!0}function g(a,b){a.on("customConfigLoaded",function(){if(b){if(b.on)for(var c in b.on)a.on(c, +b.on[c]);CKEDITOR.tools.extend(a.config,b,!0);delete a.config.on}c=a.config;a.readOnly=c.readOnly?!0:a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?a.element.is("textarea")?a.element.hasAttribute("disabled")||a.element.hasAttribute("readonly"):a.element.isReadOnly():a.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE?a.element.hasAttribute("disabled")||a.element.hasAttribute("readonly"):!1;a.blockless=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?!(a.element.is("textarea")||CKEDITOR.dtd[a.element.getName()].p): +!1;a.tabIndex=c.tabIndex||a.element&&a.element.getAttribute("tabindex")||0;a.activeEnterMode=a.enterMode=a.blockless?CKEDITOR.ENTER_BR:c.enterMode;a.activeShiftEnterMode=a.shiftEnterMode=a.blockless?CKEDITOR.ENTER_BR:c.shiftEnterMode;c.skin&&(CKEDITOR.skinName=c.skin);a.fireOnce("configLoaded");a.dataProcessor=new CKEDITOR.htmlDataProcessor(a);a.filter=a.activeFilter=new CKEDITOR.filter(a);m(a)});b&&null!=b.customConfig&&(a.config.customConfig=b.customConfig);k(a)||a.fireOnce("customConfigLoaded")} +function m(a){CKEDITOR.skin.loadPart("editor",function(){r(a)})}function r(a){CKEDITOR.lang.load(a.config.language,a.config.defaultLanguage,function(b,c){var d=a.config.title;a.langCode=b;a.lang=CKEDITOR.tools.prototypedCopy(c);a.title="string"==typeof d||!1===d?d:[a.lang.editor,a.name].join(", ");a.config.contentsLangDirection||(a.config.contentsLangDirection=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?a.element.getDirection(1):a.lang.dir);a.fire("langLoaded");e(a)})}function e(a){a.getStylesSet(function(b){a.once("loaded", +function(){a.fire("stylesSet",{styles:b})},null,null,1);z(a)})}function z(a){var b=a.config,c=b.plugins,d=b.extraPlugins,f=b.removePlugins;if(d)var e=new RegExp("(?:^|,)(?:"+d.replace(/\s*,\s*/g,"|")+")(?\x3d,|$)","g"),c=c.replace(e,""),c=c+(","+d);if(f)var h=new RegExp("(?:^|,)(?:"+f.replace(/\s*,\s*/g,"|")+")(?\x3d,|$)","g"),c=c.replace(h,"");CKEDITOR.env.air&&(c+=",adobeair");CKEDITOR.plugins.load(c.split(","),function(c){var d=[],f=[],e=[];a.plugins=c;for(var l in c){var w=c[l],q=w.lang,k=null, +g=w.requires,n;CKEDITOR.tools.isArray(g)&&(g=g.join(","));if(g&&(n=g.match(h)))for(;g=n.pop();)CKEDITOR.error("editor-plugin-required",{plugin:g.replace(",",""),requiredBy:l});q&&!a.lang[l]&&(q.split&&(q=q.split(",")),0<=CKEDITOR.tools.indexOf(q,a.langCode)?k=a.langCode:(k=a.langCode.replace(/-.*/,""),k=k!=a.langCode&&0<=CKEDITOR.tools.indexOf(q,k)?k:0<=CKEDITOR.tools.indexOf(q,"en")?"en":q[0]),w.langEntries&&w.langEntries[k]?(a.lang[l]=w.langEntries[k],k=null):e.push(CKEDITOR.getUrl(w.path+"lang/"+ +k+".js")));f.push(k);d.push(w)}CKEDITOR.scriptLoader.load(e,function(){for(var c=["beforeInit","init","afterInit"],e=0;e<c.length;e++)for(var l=0;l<d.length;l++){var n=d[l];0===e&&f[l]&&n.lang&&n.langEntries&&(a.lang[n.name]=n.langEntries[f[l]]);if(n[c[e]])n[c[e]](a)}a.fireOnce("pluginsLoaded");b.keystrokes&&a.setKeystroke(a.config.keystrokes);for(l=0;l<a.config.blockedKeystrokes.length;l++)a.keystrokeHandler.blockedKeystrokes[a.config.blockedKeystrokes[l]]=1;a.status="loaded";a.fireOnce("loaded"); +CKEDITOR.fire("instanceLoaded",null,a)})})}function y(){var a=this.element;if(a&&this.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO){var b=this.getData();this.config.htmlEncodeOutput&&(b=CKEDITOR.tools.htmlEncode(b));a.is("textarea")?a.setValue(b):a.setHtml(b);return!0}return!1}function A(a,b){function c(a){var b=a.startContainer,d=a.endContainer;return b.is&&(b.is("tr")||b.is("td")&&b.equals(d)&&a.endOffset===b.getChildCount())?!0:!1}function d(a){var b=a.startContainer;return b.is("tr")?a.cloneContents(): +b.clone(!0)}for(var f=new CKEDITOR.dom.documentFragment,e,h,k,g=0;g<a.length;g++){var M=a[g],t=M.startContainer.getAscendant("tr",!0);c(M)?(e||(e=t.getAscendant("table").clone(),e.append(t.getAscendant({thead:1,tbody:1,tfoot:1}).clone()),f.append(e),e=e.findOne("thead, tbody, tfoot")),h&&h.equals(t)||(h=t,k=t.clone(),e.append(k)),k.append(d(M))):f.append(M.cloneContents())}return e?f:b.getHtmlFromRange(a[0])}a.prototype=CKEDITOR.editor.prototype;CKEDITOR.editor=a;var D=0,x={};CKEDITOR.tools.extend(CKEDITOR.editor.prototype, +{addCommand:function(a,b){b.name=a.toLowerCase();var c=new CKEDITOR.command(this,b);this.mode&&f(this,c);return this.commands[a]=c},_attachToForm:function(){function a(b){c.updateElement();c._.required&&!d.getValue()&&!1===c.fire("required")&&b.data.preventDefault()}function b(a){return!!(a&&a.call&&a.apply)}var c=this,d=c.element,f=new CKEDITOR.dom.element(d.$.form);d.is("textarea")&&f&&(f.on("submit",a),b(f.$.submit)&&(f.$.submit=CKEDITOR.tools.override(f.$.submit,function(b){return function(){a(); +b.apply?b.apply(this):b()}})),c.on("destroy",function(){f.removeListener("submit",a)}))},destroy:function(a){this.fire("beforeDestroy");!a&&y.call(this);this.editable(null);this.filter&&(this.filter.destroy(),delete this.filter);delete this.activeFilter;this.status="destroyed";this.fire("destroy");this.removeAllListeners();CKEDITOR.remove(this);CKEDITOR.fire("instanceDestroyed",null,this)},elementPath:function(a){if(!a){a=this.getSelection();if(!a)return null;a=a.getStartElement()}return a?new CKEDITOR.dom.elementPath(a, +this.editable()):null},createRange:function(){var a=this.editable();return a?new CKEDITOR.dom.range(a):null},execCommand:function(a,b){var c=this.getCommand(a),d={name:a,commandData:b||{},command:c};return c&&c.state!=CKEDITOR.TRISTATE_DISABLED&&!1!==this.fire("beforeCommandExec",d)&&(d.returnValue=c.exec(d.commandData),!c.async&&!1!==this.fire("afterCommandExec",d))?d.returnValue:!1},getCommand:function(a){return this.commands[a]},getData:function(a){!a&&this.fire("beforeGetData");var b=this._.data; +"string"!=typeof b&&(b=(b=this.element)&&this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE?b.is("textarea")?b.getValue():b.getHtml():"");b={dataValue:b};!a&&this.fire("getData",b);return b.dataValue},getSnapshot:function(){var a=this.fire("getSnapshot");"string"!=typeof a&&(a=(a=this.element)&&this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE?a.is("textarea")?a.getValue():a.getHtml():"");return a},loadSnapshot:function(a){this.fire("loadSnapshot",a)},setData:function(a,b,c){var d=!0,f=b;b&&"object"== +typeof b&&(c=b.internal,f=b.callback,d=!b.noSnapshot);!c&&d&&this.fire("saveSnapshot");if(f||!c)this.once("dataReady",function(a){!c&&d&&this.fire("saveSnapshot");f&&f.call(a.editor)});a={dataValue:a};!c&&this.fire("setData",a);this._.data=a.dataValue;!c&&this.fire("afterSetData",a)},setReadOnly:function(a){a=null==a||a;this.readOnly!=a&&(this.readOnly=a,this.keystrokeHandler.blockedKeystrokes[8]=+a,this.editable().setReadOnly(a),this.fire("readOnly"))},insertHtml:function(a,b,c){this.fire("insertHtml", +{dataValue:a,mode:b,range:c})},insertText:function(a){this.fire("insertText",a)},insertElement:function(a){this.fire("insertElement",a)},getSelectedHtml:function(a){var b=this.editable(),c=this.getSelection(),c=c&&c.getRanges();if(!b||!c||0===c.length)return null;b=A(c,b);return a?b.getHtml():b},extractSelectedHtml:function(a,b){var c=this.editable(),d=this.getSelection().getRanges(),f=new CKEDITOR.dom.documentFragment,e;if(!c||0===d.length)return null;for(e=0;e<d.length;e++)f.append(c.extractHtmlFromRange(d[e], +b));b||this.getSelection().selectRanges([d[0]]);return a?f.getHtml():f},focus:function(){this.fire("beforeFocus")},checkDirty:function(){return"ready"==this.status&&this._.previousValue!==this.getSnapshot()},resetDirty:function(){this._.previousValue=this.getSnapshot()},updateElement:function(){return y.call(this)},setKeystroke:function(){for(var a=this.keystrokeHandler.keystrokes,b=CKEDITOR.tools.isArray(arguments[0])?arguments[0]:[[].slice.call(arguments,0)],c,d,f=b.length;f--;)c=b[f],d=0,CKEDITOR.tools.isArray(c)&& +(d=c[1],c=c[0]),d?a[c]=d:delete a[c]},getCommandKeystroke:function(a){if(a="string"===typeof a?this.getCommand(a):a){var b=CKEDITOR.tools.object.findKey(this.commands,a),c=this.keystrokeHandler.keystrokes,d;if(a.fakeKeystroke)return a.fakeKeystroke;for(d in c)if(c.hasOwnProperty(d)&&c[d]==b)return d}return null},addFeature:function(a){return this.filter.addFeature(a)},setActiveFilter:function(a){a||(a=this.filter);this.activeFilter!==a&&(this.activeFilter=a,this.fire("activeFilterChange"),a===this.filter? +this.setActiveEnterMode(null,null):this.setActiveEnterMode(a.getAllowedEnterMode(this.enterMode),a.getAllowedEnterMode(this.shiftEnterMode,!0)))},setActiveEnterMode:function(a,b){a=a?this.blockless?CKEDITOR.ENTER_BR:a:this.enterMode;b=b?this.blockless?CKEDITOR.ENTER_BR:b:this.shiftEnterMode;if(this.activeEnterMode!=a||this.activeShiftEnterMode!=b)this.activeEnterMode=a,this.activeShiftEnterMode=b,this.fire("activeEnterModeChange")},showNotification:function(a){alert(a)}})})(); +CKEDITOR.ELEMENT_MODE_NONE=0;CKEDITOR.ELEMENT_MODE_REPLACE=1;CKEDITOR.ELEMENT_MODE_APPENDTO=2;CKEDITOR.ELEMENT_MODE_INLINE=3;CKEDITOR.htmlParser=function(){this._={htmlPartsRegex:/<(?:(?:\/([^>]+)>)|(?:!--([\S|\s]*?)--\x3e)|(?:([^\/\s>]+)((?:\s+[\w\-:.]+(?:\s*=\s*?(?:(?:"[^"]*")|(?:'[^']*')|[^\s"'\/>]+))?)*)[\S\s]*?(\/?)>))/g}}; +(function(){var a=/([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g,d={checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};CKEDITOR.htmlParser.prototype={onTagOpen:function(){},onTagClose:function(){},onText:function(){},onCDATA:function(){},onComment:function(){},parse:function(b){for(var c,f,h=0,k;c=this._.htmlPartsRegex.exec(b);){f=c.index;if(f>h)if(h=b.substring(h,f),k)k.push(h);else this.onText(h); +h=this._.htmlPartsRegex.lastIndex;if(f=c[1])if(f=f.toLowerCase(),k&&CKEDITOR.dtd.$cdata[f]&&(this.onCDATA(k.join("")),k=null),!k){this.onTagClose(f);continue}if(k)k.push(c[0]);else if(f=c[3]){if(f=f.toLowerCase(),!/="/.test(f)){var g={},m,r=c[4];c=!!c[5];if(r)for(;m=a.exec(r);){var e=m[1].toLowerCase();m=m[2]||m[3]||m[4]||"";g[e]=!m&&d[e]?e:CKEDITOR.tools.htmlDecodeAttr(m)}this.onTagOpen(f,g,c);!k&&CKEDITOR.dtd.$cdata[f]&&(k=[])}}else if(f=c[2])this.onComment(f)}if(b.length>h)this.onText(b.substring(h, +b.length))}}})(); +CKEDITOR.htmlParser.basicWriter=CKEDITOR.tools.createClass({$:function(){this._={output:[]}},proto:{openTag:function(a){this._.output.push("\x3c",a)},openTagClose:function(a,d){d?this._.output.push(" /\x3e"):this._.output.push("\x3e")},attribute:function(a,d){"string"==typeof d&&(d=CKEDITOR.tools.htmlEncodeAttr(d));this._.output.push(" ",a,'\x3d"',d,'"')},closeTag:function(a){this._.output.push("\x3c/",a,"\x3e")},text:function(a){this._.output.push(a)},comment:function(a){this._.output.push("\x3c!--",a, +"--\x3e")},write:function(a){this._.output.push(a)},reset:function(){this._.output=[];this._.indent=!1},getHtml:function(a){var d=this._.output.join("");a&&this.reset();return d}}});"use strict"; +(function(){CKEDITOR.htmlParser.node=function(){};CKEDITOR.htmlParser.node.prototype={remove:function(){var a=this.parent.children,d=CKEDITOR.tools.indexOf(a,this),b=this.previous,c=this.next;b&&(b.next=c);c&&(c.previous=b);a.splice(d,1);this.parent=null},replaceWith:function(a){var d=this.parent.children,b=CKEDITOR.tools.indexOf(d,this),c=a.previous=this.previous,f=a.next=this.next;c&&(c.next=a);f&&(f.previous=a);d[b]=a;a.parent=this.parent;this.parent=null},insertAfter:function(a){var d=a.parent.children, +b=CKEDITOR.tools.indexOf(d,a),c=a.next;d.splice(b+1,0,this);this.next=a.next;this.previous=a;a.next=this;c&&(c.previous=this);this.parent=a.parent},insertBefore:function(a){var d=a.parent.children,b=CKEDITOR.tools.indexOf(d,a);d.splice(b,0,this);this.next=a;(this.previous=a.previous)&&(a.previous.next=this);a.previous=this;this.parent=a.parent},getAscendant:function(a){var d="function"==typeof a?a:"string"==typeof a?function(b){return b.name==a}:function(b){return b.name in a},b=this.parent;for(;b&& +b.type==CKEDITOR.NODE_ELEMENT;){if(d(b))return b;b=b.parent}return null},wrapWith:function(a){this.replaceWith(a);a.add(this);return a},getIndex:function(){return CKEDITOR.tools.indexOf(this.parent.children,this)},getFilterContext:function(a){return a||{}}}})();"use strict";CKEDITOR.htmlParser.comment=function(a){this.value=a;this._={isBlockLike:!1}}; +CKEDITOR.htmlParser.comment.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_COMMENT,filter:function(a,d){var b=this.value;if(!(b=a.onComment(d,b,this)))return this.remove(),!1;if("string"!=typeof b)return this.replaceWith(b),!1;this.value=b;return!0},writeHtml:function(a,d){d&&this.filter(d);a.comment(this.value)}});"use strict"; +(function(){CKEDITOR.htmlParser.text=function(a){this.value=a;this._={isBlockLike:!1}};CKEDITOR.htmlParser.text.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(a,d){if(!(this.value=a.onText(d,this.value,this)))return this.remove(),!1},writeHtml:function(a,d){d&&this.filter(d);a.text(this.value)}})})();"use strict"; +(function(){CKEDITOR.htmlParser.cdata=function(a){this.value=a};CKEDITOR.htmlParser.cdata.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_TEXT,filter:function(){},writeHtml:function(a){a.write(this.value)}})})();"use strict";CKEDITOR.htmlParser.fragment=function(){this.children=[];this.parent=null;this._={isBlockLike:!0,hasInlineStarted:!1}}; +(function(){function a(a){return a.attributes["data-cke-survive"]?!1:"a"==a.name&&a.attributes.href||CKEDITOR.dtd.$removeEmpty[a.name]}var d=CKEDITOR.tools.extend({table:1,ul:1,ol:1,dl:1},CKEDITOR.dtd.table,CKEDITOR.dtd.ul,CKEDITOR.dtd.ol,CKEDITOR.dtd.dl),b={ol:1,ul:1},c=CKEDITOR.tools.extend({},{html:1},CKEDITOR.dtd.html,CKEDITOR.dtd.body,CKEDITOR.dtd.head,{style:1,script:1}),f={ul:"li",ol:"li",dl:"dd",table:"tbody",tbody:"tr",thead:"tr",tfoot:"tr",tr:"td"};CKEDITOR.htmlParser.fragment.fromHtml= +function(h,k,g){function m(a){var b;if(0<p.length)for(var c=0;c<p.length;c++){var d=p[c],f=d.name,e=CKEDITOR.dtd[f],l=u.name&&CKEDITOR.dtd[u.name];l&&!l[f]||a&&e&&!e[a]&&CKEDITOR.dtd[a]?f==u.name&&(z(u,u.parent,1),c--):(b||(r(),b=1),d=d.clone(),d.parent=u,u=d,p.splice(c,1),c--)}}function r(){for(;J.length;)z(J.shift(),u)}function e(a){if(a._.isBlockLike&&"pre"!=a.name&&"textarea"!=a.name){var b=a.children.length,c=a.children[b-1],d;c&&c.type==CKEDITOR.NODE_TEXT&&((d=CKEDITOR.tools.rtrim(c.value))? +c.value=d:a.children.length=b-1)}}function z(b,c,d){c=c||u||x;var f=u;void 0===b.previous&&(y(c,b)&&(u=c,D.onTagOpen(g,{}),b.returnPoint=c=u),e(b),a(b)&&!b.children.length||c.add(b),"pre"==b.name&&(l=!1),"textarea"==b.name&&(K=!1));b.returnPoint?(u=b.returnPoint,delete b.returnPoint):u=d?c:f}function y(a,b){if((a==x||"body"==a.name)&&g&&(!a.name||CKEDITOR.dtd[a.name][g])){var c,d;return(c=b.attributes&&(d=b.attributes["data-cke-real-element-type"])?d:b.name)&&c in CKEDITOR.dtd.$inline&&!(c in CKEDITOR.dtd.head)&& +!b.isOrphan||b.type==CKEDITOR.NODE_TEXT}}function A(a,b){return a in CKEDITOR.dtd.$listItem||a in CKEDITOR.dtd.$tableContent?a==b||"dt"==a&&"dd"==b||"dd"==a&&"dt"==b:!1}var D=new CKEDITOR.htmlParser,x=k instanceof CKEDITOR.htmlParser.element?k:"string"==typeof k?new CKEDITOR.htmlParser.element(k):new CKEDITOR.htmlParser.fragment,p=[],J=[],u=x,K="textarea"==x.name,l="pre"==x.name;D.onTagOpen=function(f,e,h,k){e=new CKEDITOR.htmlParser.element(f,e);e.isUnknown&&h&&(e.isEmpty=!0);e.isOptionalClose=k; +if(a(e))p.push(e);else{if("pre"==f)l=!0;else{if("br"==f&&l){u.add(new CKEDITOR.htmlParser.text("\n"));return}"textarea"==f&&(K=!0)}if("br"==f)J.push(e);else{for(;!(k=(h=u.name)?CKEDITOR.dtd[h]||(u._.isBlockLike?CKEDITOR.dtd.div:CKEDITOR.dtd.span):c,e.isUnknown||u.isUnknown||k[f]);)if(u.isOptionalClose)D.onTagClose(h);else if(f in b&&h in b)h=u.children,(h=h[h.length-1])&&"li"==h.name||z(h=new CKEDITOR.htmlParser.element("li"),u),!e.returnPoint&&(e.returnPoint=u),u=h;else if(f in CKEDITOR.dtd.$listItem&& +!A(f,h))D.onTagOpen("li"==f?"ul":"dl",{},0,1);else if(h in d&&!A(f,h))!e.returnPoint&&(e.returnPoint=u),u=u.parent;else if(h in CKEDITOR.dtd.$inline&&p.unshift(u),u.parent)z(u,u.parent,1);else{e.isOrphan=1;break}m(f);r();e.parent=u;e.isEmpty?z(e):u=e}}};D.onTagClose=function(a){for(var b=p.length-1;0<=b;b--)if(a==p[b].name){p.splice(b,1);return}for(var c=[],d=[],f=u;f!=x&&f.name!=a;)f._.isBlockLike||d.unshift(f),c.push(f),f=f.returnPoint||f.parent;if(f!=x){for(b=0;b<c.length;b++){var e=c[b];z(e,e.parent)}u= +f;f._.isBlockLike&&r();z(f,f.parent);f==u&&(u=u.parent);p=p.concat(d)}"body"==a&&(g=!1)};D.onText=function(a){if(!(u._.hasInlineStarted&&!J.length||l||K)&&(a=CKEDITOR.tools.ltrim(a),0===a.length))return;var b=u.name,e=b?CKEDITOR.dtd[b]||(u._.isBlockLike?CKEDITOR.dtd.div:CKEDITOR.dtd.span):c;if(!K&&!e["#"]&&b in d)D.onTagOpen(f[b]||""),D.onText(a);else{r();m();l||K||(a=a.replace(/[\t\r\n ]{2,}|[\t\r\n]/g," "));a=new CKEDITOR.htmlParser.text(a);if(y(u,a))this.onTagOpen(g,{},0,1);u.add(a)}};D.onCDATA= +function(a){u.add(new CKEDITOR.htmlParser.cdata(a))};D.onComment=function(a){r();m();u.add(new CKEDITOR.htmlParser.comment(a))};D.parse(h);for(r();u!=x;)z(u,u.parent,1);e(x);return x};CKEDITOR.htmlParser.fragment.prototype={type:CKEDITOR.NODE_DOCUMENT_FRAGMENT,add:function(a,b){isNaN(b)&&(b=this.children.length);var c=0<b?this.children[b-1]:null;if(c){if(a._.isBlockLike&&c.type==CKEDITOR.NODE_TEXT&&(c.value=CKEDITOR.tools.rtrim(c.value),0===c.value.length)){this.children.pop();this.add(a);return}c.next= +a}a.previous=c;a.parent=this;this.children.splice(b,0,a);this._.hasInlineStarted||(this._.hasInlineStarted=a.type==CKEDITOR.NODE_TEXT||a.type==CKEDITOR.NODE_ELEMENT&&!a._.isBlockLike)},filter:function(a,b){b=this.getFilterContext(b);a.onRoot(b,this);this.filterChildren(a,!1,b)},filterChildren:function(a,b,c){if(this.childrenFilteredBy!=a.id){c=this.getFilterContext(c);if(b&&!this.parent)a.onRoot(c,this);this.childrenFilteredBy=a.id;for(b=0;b<this.children.length;b++)!1===this.children[b].filter(a, +c)&&b--}},writeHtml:function(a,b){b&&this.filter(b);this.writeChildrenHtml(a)},writeChildrenHtml:function(a,b,c){var d=this.getFilterContext();if(c&&!this.parent&&b)b.onRoot(d,this);b&&this.filterChildren(b,!1,d);b=0;c=this.children;for(d=c.length;b<d;b++)c[b].writeHtml(a)},forEach:function(a,b,c){if(!(c||b&&this.type!=b))var d=a(this);if(!1!==d){c=this.children;for(var f=0;f<c.length;f++)d=c[f],d.type==CKEDITOR.NODE_ELEMENT?d.forEach(a,b):b&&d.type!=b||a(d)}},getFilterContext:function(a){return a|| +{}}}})();"use strict"; +(function(){function a(){this.rules=[]}function d(b,c,d,h){var k,g;for(k in c)(g=b[k])||(g=b[k]=new a),g.add(c[k],d,h)}CKEDITOR.htmlParser.filter=CKEDITOR.tools.createClass({$:function(b){this.id=CKEDITOR.tools.getNextNumber();this.elementNameRules=new a;this.attributeNameRules=new a;this.elementsRules={};this.attributesRules={};this.textRules=new a;this.commentRules=new a;this.rootRules=new a;b&&this.addRules(b,10)},proto:{addRules:function(a,c){var f;"number"==typeof c?f=c:c&&"priority"in c&&(f= +c.priority);"number"!=typeof f&&(f=10);"object"!=typeof c&&(c={});a.elementNames&&this.elementNameRules.addMany(a.elementNames,f,c);a.attributeNames&&this.attributeNameRules.addMany(a.attributeNames,f,c);a.elements&&d(this.elementsRules,a.elements,f,c);a.attributes&&d(this.attributesRules,a.attributes,f,c);a.text&&this.textRules.add(a.text,f,c);a.comment&&this.commentRules.add(a.comment,f,c);a.root&&this.rootRules.add(a.root,f,c)},applyTo:function(a){a.filter(this)},onElementName:function(a,c){return this.elementNameRules.execOnName(a, +c)},onAttributeName:function(a,c){return this.attributeNameRules.execOnName(a,c)},onText:function(a,c,d){return this.textRules.exec(a,c,d)},onComment:function(a,c,d){return this.commentRules.exec(a,c,d)},onRoot:function(a,c){return this.rootRules.exec(a,c)},onElement:function(a,c){for(var d=[this.elementsRules["^"],this.elementsRules[c.name],this.elementsRules.$],h,k=0;3>k;k++)if(h=d[k]){h=h.exec(a,c,this);if(!1===h)return null;if(h&&h!=c)return this.onNode(a,h);if(c.parent&&!c.name)break}return c}, +onNode:function(a,c){var d=c.type;return d==CKEDITOR.NODE_ELEMENT?this.onElement(a,c):d==CKEDITOR.NODE_TEXT?new CKEDITOR.htmlParser.text(this.onText(a,c.value)):d==CKEDITOR.NODE_COMMENT?new CKEDITOR.htmlParser.comment(this.onComment(a,c.value)):null},onAttribute:function(a,c,d,h){return(d=this.attributesRules[d])?d.exec(a,h,c,this):h}}});CKEDITOR.htmlParser.filterRulesGroup=a;a.prototype={add:function(a,c,d){this.rules.splice(this.findIndex(c),0,{value:a,priority:c,options:d})},addMany:function(a, +c,d){for(var h=[this.findIndex(c),0],k=0,g=a.length;k<g;k++)h.push({value:a[k],priority:c,options:d});this.rules.splice.apply(this.rules,h)},findIndex:function(a){for(var c=this.rules,d=c.length-1;0<=d&&a<c[d].priority;)d--;return d+1},exec:function(a,c){var d=c instanceof CKEDITOR.htmlParser.node||c instanceof CKEDITOR.htmlParser.fragment,h=Array.prototype.slice.call(arguments,1),k=this.rules,g=k.length,m,r,e,z;for(z=0;z<g;z++)if(d&&(m=c.type,r=c.name),e=k[z],!(a.nonEditable&&!e.options.applyToAll|| +a.nestedEditable&&e.options.excludeNestedEditable)){e=e.value.apply(null,h);if(!1===e||d&&e&&(e.name!=r||e.type!=m))return e;null!=e&&(h[0]=c=e)}return c},execOnName:function(a,c){for(var d=0,h=this.rules,k=h.length,g;c&&d<k;d++)g=h[d],a.nonEditable&&!g.options.applyToAll||a.nestedEditable&&g.options.excludeNestedEditable||(c=c.replace(g.value[0],g.value[1]));return c}}})(); +(function(){function a(a,d){function e(a){return a||CKEDITOR.env.needsNbspFiller?new CKEDITOR.htmlParser.text(" "):new CKEDITOR.htmlParser.element("br",{"data-cke-bogus":1})}function n(a,d){return function(f){if(f.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT){var l=[],v=b(f),n,w;if(v)for(t(v,1)&&l.push(v);v;)h(v)&&(n=c(v))&&t(n)&&((w=c(n))&&!h(w)?l.push(n):(e(E).insertAfter(n),n.remove())),v=v.previous;for(v=0;v<l.length;v++)l[v].remove();if(l=!a||!1!==("function"==typeof d?d(f):d))E||CKEDITOR.env.needsBrFiller|| +f.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT?E||CKEDITOR.env.needsBrFiller||!(7<document.documentMode||f.name in CKEDITOR.dtd.tr||f.name in CKEDITOR.dtd.$listItem)?(l=b(f),l=!l||"form"==f.name&&"input"==l.name):l=!1:l=!1;l&&f.add(e(a))}}}function t(a,b){if((!E||CKEDITOR.env.needsBrFiller)&&a.type==CKEDITOR.NODE_ELEMENT&&"br"==a.name&&!a.attributes["data-cke-eol"])return!0;var c;return a.type==CKEDITOR.NODE_TEXT&&(c=a.value.match(p))&&(c.index&&((new CKEDITOR.htmlParser.text(a.value.substring(0,c.index))).insertBefore(a), +a.value=c[0]),!CKEDITOR.env.needsBrFiller&&E&&(!b||a.parent.name in g)||!E&&((c=a.previous)&&"br"==c.name||!c||h(c)))?!0:!1}var w={elements:{}},E="html"==d,g=CKEDITOR.tools.extend({},l),q;for(q in g)"#"in u[q]||delete g[q];for(q in g)w.elements[q]=n(E,a.config.fillEmptyBlocks);w.root=n(E,!1);w.elements.br=function(a){return function(b){if(b.parent.type!=CKEDITOR.NODE_DOCUMENT_FRAGMENT){var d=b.attributes;if("data-cke-bogus"in d||"data-cke-eol"in d)delete d["data-cke-bogus"];else{for(d=b.next;d&&f(d);)d= +d.next;var l=c(b);!d&&h(b.parent)?k(b.parent,e(a)):h(d)&&l&&!h(l)&&e(a).insertBefore(d)}}}}(E);return w}function d(a,b){return a!=CKEDITOR.ENTER_BR&&!1!==b?a==CKEDITOR.ENTER_DIV?"div":"p":!1}function b(a){for(a=a.children[a.children.length-1];a&&f(a);)a=a.previous;return a}function c(a){for(a=a.previous;a&&f(a);)a=a.previous;return a}function f(a){return a.type==CKEDITOR.NODE_TEXT&&!CKEDITOR.tools.trim(a.value)||a.type==CKEDITOR.NODE_ELEMENT&&a.attributes["data-cke-bookmark"]}function h(a){return a&& +(a.type==CKEDITOR.NODE_ELEMENT&&a.name in l||a.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT)}function k(a,b){var c=a.children[a.children.length-1];a.children.push(b);b.parent=a;c&&(c.next=b,b.previous=c)}function g(a){a=a.attributes;"false"!=a.contenteditable&&(a["data-cke-editable"]=a.contenteditable?"true":1);a.contenteditable="false"}function m(a){a=a.attributes;switch(a["data-cke-editable"]){case "true":a.contenteditable="true";break;case "1":delete a.contenteditable}}function r(a){return a.replace(M, +function(a,b,c){return"\x3c"+b+c.replace(t,function(a,b){return E.test(b)&&-1==c.indexOf("data-cke-saved-"+b)?" data-cke-saved-"+a+" data-cke-"+CKEDITOR.rnd+"-"+a:a})+"\x3e"})}function e(a,b){return a.replace(b,function(a,b,c){0===a.indexOf("\x3ctextarea")&&(a=b+A(c).replace(/</g,"\x26lt;").replace(/>/g,"\x26gt;")+"\x3c/textarea\x3e");return"\x3ccke:encoded\x3e"+encodeURIComponent(a)+"\x3c/cke:encoded\x3e"})}function z(a){return a.replace(P,function(a,b){return decodeURIComponent(b)})}function y(a){return a.replace(/\x3c!--(?!{cke_protected})[\s\S]+?--\x3e/g, +function(a){return"\x3c!--"+J+"{C}"+encodeURIComponent(a).replace(/--/g,"%2D%2D")+"--\x3e"})}function A(a){return a.replace(/\x3c!--\{cke_protected\}\{C\}([\s\S]+?)--\x3e/g,function(a,b){return decodeURIComponent(b)})}function D(a,b){var c=b._.dataStore;return a.replace(/\x3c!--\{cke_protected\}([\s\S]+?)--\x3e/g,function(a,b){return decodeURIComponent(b)}).replace(/\{cke_protected_(\d+)\}/g,function(a,b){return c&&c[b]||""})}function x(a,b){var c=[],d=b.config.protectedSource,f=b._.dataStore||(b._.dataStore= +{id:1}),e=/<\!--\{cke_temp(comment)?\}(\d*?)--\x3e/g,d=[/<script[\s\S]*?(<\/script>|$)/gi,/<noscript[\s\S]*?<\/noscript>/gi,/<meta[\s\S]*?\/?>/gi].concat(d);a=a.replace(/\x3c!--[\s\S]*?--\x3e/g,function(a){return"\x3c!--{cke_tempcomment}"+(c.push(a)-1)+"--\x3e"});for(var l=0;l<d.length;l++)a=a.replace(d[l],function(a){a=a.replace(e,function(a,b,d){return c[d]});return/cke_temp(comment)?/.test(a)?a:"\x3c!--{cke_temp}"+(c.push(a)-1)+"--\x3e"});a=a.replace(e,function(a,b,d){return"\x3c!--"+J+(b?"{C}": +"")+encodeURIComponent(c[d]).replace(/--/g,"%2D%2D")+"--\x3e"});a=a.replace(/<\w+(?:\s+(?:(?:[^\s=>]+\s*=\s*(?:[^'"\s>]+|'[^']*'|"[^"]*"))|[^\s=\/>]+))+\s*\/?>/g,function(a){return a.replace(/\x3c!--\{cke_protected\}([^>]*)--\x3e/g,function(a,b){f[f.id]=decodeURIComponent(b);return"{cke_protected_"+f.id++ +"}"})});return a=a.replace(/<(title|iframe|textarea)([^>]*)>([\s\S]*?)<\/\1>/g,function(a,c,d,f){return"\x3c"+c+d+"\x3e"+D(A(f),b)+"\x3c/"+c+"\x3e"})}CKEDITOR.htmlDataProcessor=function(b){var c, +f,l=this;this.editor=b;this.dataFilter=c=new CKEDITOR.htmlParser.filter;this.htmlFilter=f=new CKEDITOR.htmlParser.filter;this.writer=new CKEDITOR.htmlParser.basicWriter;c.addRules(q);c.addRules(F,{applyToAll:!0});c.addRules(a(b,"data"),{applyToAll:!0});f.addRules(L);f.addRules(C,{applyToAll:!0});f.addRules(a(b,"html"),{applyToAll:!0});b.on("toHtml",function(a){a=a.data;var c=a.dataValue,f,c=x(c,b),c=e(c,H),c=r(c),c=e(c,w),c=c.replace(O,"$1cke:$2"),c=c.replace(N,"\x3ccke:$1$2\x3e\x3c/cke:$1\x3e"), +c=c.replace(/(<pre\b[^>]*>)(\r\n|\n)/g,"$1$2$2"),c=c.replace(/([^a-z0-9<\-])(on\w{3,})(?!>)/gi,"$1data-cke-"+CKEDITOR.rnd+"-$2");f=a.context||b.editable().getName();var l;CKEDITOR.env.ie&&9>CKEDITOR.env.version&&"pre"==f&&(f="div",c="\x3cpre\x3e"+c+"\x3c/pre\x3e",l=1);f=b.document.createElement(f);f.setHtml("a"+c);c=f.getHtml().substr(1);c=c.replace(new RegExp("data-cke-"+CKEDITOR.rnd+"-","ig"),"");l&&(c=c.replace(/^<pre>|<\/pre>$/gi,""));c=c.replace(n,"$1$2");c=z(c);c=A(c);f=!1===a.fixForBody?!1: +d(a.enterMode,b.config.autoParagraph);c=CKEDITOR.htmlParser.fragment.fromHtml(c,a.context,f);f&&(l=c,!l.children.length&&CKEDITOR.dtd[l.name][f]&&(f=new CKEDITOR.htmlParser.element(f),l.add(f)));a.dataValue=c},null,null,5);b.on("toHtml",function(a){a.data.filter.applyTo(a.data.dataValue,!0,a.data.dontFilter,a.data.enterMode)&&b.fire("dataFiltered")},null,null,6);b.on("toHtml",function(a){a.data.dataValue.filterChildren(l.dataFilter,!0)},null,null,10);b.on("toHtml",function(a){a=a.data;var b=a.dataValue, +c=new CKEDITOR.htmlParser.basicWriter;b.writeChildrenHtml(c);b=c.getHtml(!0);a.dataValue=y(b)},null,null,15);b.on("toDataFormat",function(a){var c=a.data.dataValue;a.data.enterMode!=CKEDITOR.ENTER_BR&&(c=c.replace(/^<br *\/?>/i,""));a.data.dataValue=CKEDITOR.htmlParser.fragment.fromHtml(c,a.data.context,d(a.data.enterMode,b.config.autoParagraph))},null,null,5);b.on("toDataFormat",function(a){a.data.dataValue.filterChildren(l.htmlFilter,!0)},null,null,10);b.on("toDataFormat",function(a){a.data.filter.applyTo(a.data.dataValue, +!1,!0)},null,null,11);b.on("toDataFormat",function(a){var c=a.data.dataValue,d=l.writer;d.reset();c.writeChildrenHtml(d);c=d.getHtml(!0);c=A(c);c=D(c,b);a.data.dataValue=c},null,null,15)};CKEDITOR.htmlDataProcessor.prototype={toHtml:function(a,b,c,d){var f=this.editor,e,l,n,h;b&&"object"==typeof b?(e=b.context,c=b.fixForBody,d=b.dontFilter,l=b.filter,n=b.enterMode,h=b.protectedWhitespaces):e=b;e||null===e||(e=f.editable().getName());return f.fire("toHtml",{dataValue:a,context:e,fixForBody:c,dontFilter:d, +filter:l||f.filter,enterMode:n||f.enterMode,protectedWhitespaces:h}).dataValue},toDataFormat:function(a,b){var c,d,f;b&&(c=b.context,d=b.filter,f=b.enterMode);c||null===c||(c=this.editor.editable().getName());return this.editor.fire("toDataFormat",{dataValue:a,filter:d||this.editor.filter,context:c,enterMode:f||this.editor.enterMode}).dataValue}};var p=/(?:&nbsp;|\xa0)$/,J="{cke_protected}",u=CKEDITOR.dtd,K="caption colgroup col thead tfoot tbody".split(" "),l=CKEDITOR.tools.extend({},u.$blockLimit, +u.$block),q={elements:{input:g,textarea:g}},F={attributeNames:[[/^on/,"data-cke-pa-on"],[/^srcdoc/,"data-cke-pa-srcdoc"],[/^data-cke-expando$/,""]],elements:{iframe:function(a){if(a.attributes&&a.attributes.src){var b=a.attributes.src.toLowerCase().replace(/[^a-z]/gi,"");if(0===b.indexOf("javascript")||0===b.indexOf("data"))a.attributes["data-cke-pa-src"]=a.attributes.src,delete a.attributes.src}}}},L={elements:{embed:function(a){var b=a.parent;if(b&&"object"==b.name){var c=b.attributes.width,b=b.attributes.height; +c&&(a.attributes.width=c);b&&(a.attributes.height=b)}},a:function(a){var b=a.attributes;if(!(a.children.length||b.name||b.id||a.attributes["data-cke-saved-name"]))return!1}}},C={elementNames:[[/^cke:/,""],[/^\?xml:namespace$/,""]],attributeNames:[[/^data-cke-(saved|pa)-/,""],[/^data-cke-.*/,""],["hidefocus",""]],elements:{$:function(a){var b=a.attributes;if(b){if(b["data-cke-temp"])return!1;for(var c=["name","href","src"],d,f=0;f<c.length;f++)d="data-cke-saved-"+c[f],d in b&&delete b[c[f]]}return a}, +table:function(a){a.children.slice(0).sort(function(a,b){var c,d;a.type==CKEDITOR.NODE_ELEMENT&&b.type==a.type&&(c=CKEDITOR.tools.indexOf(K,a.name),d=CKEDITOR.tools.indexOf(K,b.name));-1<c&&-1<d&&c!=d||(c=a.parent?a.getIndex():-1,d=b.parent?b.getIndex():-1);return c>d?1:-1})},param:function(a){a.children=[];a.isEmpty=!0;return a},span:function(a){"Apple-style-span"==a.attributes["class"]&&delete a.name},html:function(a){delete a.attributes.contenteditable;delete a.attributes["class"]},body:function(a){delete a.attributes.spellcheck; +delete a.attributes.contenteditable},style:function(a){var b=a.children[0];b&&b.value&&(b.value=CKEDITOR.tools.trim(b.value));a.attributes.type||(a.attributes.type="text/css")},title:function(a){var b=a.children[0];!b&&k(a,b=new CKEDITOR.htmlParser.text);b.value=a.attributes["data-cke-title"]||""},input:m,textarea:m},attributes:{"class":function(a){return CKEDITOR.tools.ltrim(a.replace(/(?:^|\s+)cke_[^\s]*/g,""))||!1}}};CKEDITOR.env.ie&&(C.attributes.style=function(a){return a.replace(/(^|;)([^\:]+)/g, +function(a){return a.toLowerCase()})});var M=/<(a|area|img|input|source)\b([^>]*)>/gi,t=/([\w-:]+)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi,E=/^(href|src|name)$/i,w=/(?:<style(?=[ >])[^>]*>[\s\S]*?<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,H=/(<textarea(?=[ >])[^>]*>)([\s\S]*?)(?:<\/textarea>)/gi,P=/<cke:encoded>([^<]*)<\/cke:encoded>/gi,O=/(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,n=/(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi,N=/<cke:(param|embed)([^>]*?)\/?>(?!\s*<\/cke:\1)/gi})(); +"use strict";CKEDITOR.htmlParser.element=function(a,d){this.name=a;this.attributes=d||{};this.children=[];var b=a||"",c=b.match(/^cke:(.*)/);c&&(b=c[1]);b=!!(CKEDITOR.dtd.$nonBodyContent[b]||CKEDITOR.dtd.$block[b]||CKEDITOR.dtd.$listItem[b]||CKEDITOR.dtd.$tableContent[b]||CKEDITOR.dtd.$nonEditable[b]||"br"==b);this.isEmpty=!!CKEDITOR.dtd.$empty[a];this.isUnknown=!CKEDITOR.dtd[a];this._={isBlockLike:b,hasInlineStarted:this.isEmpty||!b}}; +CKEDITOR.htmlParser.cssStyle=function(a){var d={};((a instanceof CKEDITOR.htmlParser.element?a.attributes.style:a)||"").replace(/&quot;/g,'"').replace(/\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g,function(a,c,f){"font-family"==c&&(f=f.replace(/["']/g,""));d[c.toLowerCase()]=f});return{rules:d,populate:function(a){var c=this.toString();c&&(a instanceof CKEDITOR.dom.element?a.setAttribute("style",c):a instanceof CKEDITOR.htmlParser.element?a.attributes.style=c:a.style=c)},toString:function(){var a=[],c; +for(c in d)d[c]&&a.push(c,":",d[c],";");return a.join("")}}}; +(function(){function a(a){return function(b){return b.type==CKEDITOR.NODE_ELEMENT&&("string"==typeof a?b.name==a:b.name in a)}}var d=function(a,b){a=a[0];b=b[0];return a<b?-1:a>b?1:0},b=CKEDITOR.htmlParser.fragment.prototype;CKEDITOR.htmlParser.element.prototype=CKEDITOR.tools.extend(new CKEDITOR.htmlParser.node,{type:CKEDITOR.NODE_ELEMENT,add:b.add,clone:function(){return new CKEDITOR.htmlParser.element(this.name,this.attributes)},filter:function(a,b){var d=this,k,g;b=d.getFilterContext(b);if(b.off)return!0; +if(!d.parent)a.onRoot(b,d);for(;;){k=d.name;if(!(g=a.onElementName(b,k)))return this.remove(),!1;d.name=g;if(!(d=a.onElement(b,d)))return this.remove(),!1;if(d!==this)return this.replaceWith(d),!1;if(d.name==k)break;if(d.type!=CKEDITOR.NODE_ELEMENT)return this.replaceWith(d),!1;if(!d.name)return this.replaceWithChildren(),!1}k=d.attributes;var m,r;for(m in k){for(g=k[m];;)if(r=a.onAttributeName(b,m))if(r!=m)delete k[m],m=r;else break;else{delete k[m];break}r&&(!1===(g=a.onAttribute(b,d,r,g))?delete k[r]: +k[r]=g)}d.isEmpty||this.filterChildren(a,!1,b);return!0},filterChildren:b.filterChildren,writeHtml:function(a,b){b&&this.filter(b);var h=this.name,k=[],g=this.attributes,m,r;a.openTag(h,g);for(m in g)k.push([m,g[m]]);a.sortAttributes&&k.sort(d);m=0;for(r=k.length;m<r;m++)g=k[m],a.attribute(g[0],g[1]);a.openTagClose(h,this.isEmpty);this.writeChildrenHtml(a);this.isEmpty||a.closeTag(h)},writeChildrenHtml:b.writeChildrenHtml,replaceWithChildren:function(){for(var a=this.children,b=a.length;b;)a[--b].insertAfter(this); +this.remove()},forEach:b.forEach,getFirst:function(b){if(!b)return this.children.length?this.children[0]:null;"function"!=typeof b&&(b=a(b));for(var d=0,h=this.children.length;d<h;++d)if(b(this.children[d]))return this.children[d];return null},getHtml:function(){var a=new CKEDITOR.htmlParser.basicWriter;this.writeChildrenHtml(a);return a.getHtml()},setHtml:function(a){a=this.children=CKEDITOR.htmlParser.fragment.fromHtml(a).children;for(var b=0,d=a.length;b<d;++b)a[b].parent=this},getOuterHtml:function(){var a= +new CKEDITOR.htmlParser.basicWriter;this.writeHtml(a);return a.getHtml()},split:function(a){for(var b=this.children.splice(a,this.children.length-a),d=this.clone(),k=0;k<b.length;++k)b[k].parent=d;d.children=b;b[0]&&(b[0].previous=null);0<a&&(this.children[a-1].next=null);this.parent.add(d,this.getIndex()+1);return d},find:function(a,b){void 0===b&&(b=!1);var d=[],k;for(k=0;k<this.children.length;k++){var g=this.children[k];"function"==typeof a&&a(g)?d.push(g):"string"==typeof a&&g.name===a&&d.push(g); +b&&g.find&&(d=d.concat(g.find(a,b)))}return d},addClass:function(a){if(!this.hasClass(a)){var b=this.attributes["class"]||"";this.attributes["class"]=b+(b?" ":"")+a}},removeClass:function(a){var b=this.attributes["class"];b&&((b=CKEDITOR.tools.trim(b.replace(new RegExp("(?:\\s+|^)"+a+"(?:\\s+|$)")," ")))?this.attributes["class"]=b:delete this.attributes["class"])},hasClass:function(a){var b=this.attributes["class"];return b?(new RegExp("(?:^|\\s)"+a+"(?\x3d\\s|$)")).test(b):!1},getFilterContext:function(a){var b= +[];a||(a={off:!1,nonEditable:!1,nestedEditable:!1});a.off||"off"!=this.attributes["data-cke-processor"]||b.push("off",!0);a.nonEditable||"false"!=this.attributes.contenteditable?a.nonEditable&&!a.nestedEditable&&"true"==this.attributes.contenteditable&&b.push("nestedEditable",!0):b.push("nonEditable",!0);if(b.length){a=CKEDITOR.tools.copy(a);for(var d=0;d<b.length;d+=2)a[b[d]]=b[d+1]}return a}},!0)})(); +(function(){var a=/{([^}]+)}/g;CKEDITOR.template=function(a){this.source=String(a)};CKEDITOR.template.prototype.output=function(d,b){var c=this.source.replace(a,function(a,b){return void 0!==d[b]?d[b]:a});return b?b.push(c):c}})();delete CKEDITOR.loadFullCore;CKEDITOR.instances={};CKEDITOR.document=new CKEDITOR.dom.document(document); +CKEDITOR.add=function(a){CKEDITOR.instances[a.name]=a;a.on("focus",function(){CKEDITOR.currentInstance!=a&&(CKEDITOR.currentInstance=a,CKEDITOR.fire("currentInstance"))});a.on("blur",function(){CKEDITOR.currentInstance==a&&(CKEDITOR.currentInstance=null,CKEDITOR.fire("currentInstance"))});CKEDITOR.fire("instance",null,a)};CKEDITOR.remove=function(a){delete CKEDITOR.instances[a.name]}; +(function(){var a={};CKEDITOR.addTemplate=function(d,b){var c=a[d];if(c)return c;c={name:d,source:b};CKEDITOR.fire("template",c);return a[d]=new CKEDITOR.template(c.source)};CKEDITOR.getTemplate=function(d){return a[d]}})();(function(){var a=[];CKEDITOR.addCss=function(d){a.push(d)};CKEDITOR.getCss=function(){return a.join("\n")}})();CKEDITOR.on("instanceDestroyed",function(){CKEDITOR.tools.isEmpty(this.instances)&&CKEDITOR.fire("reset")});CKEDITOR.TRISTATE_ON=1;CKEDITOR.TRISTATE_OFF=2; +CKEDITOR.TRISTATE_DISABLED=0; +(function(){CKEDITOR.inline=function(a,d){if(!CKEDITOR.env.isCompatible)return null;a=CKEDITOR.dom.element.get(a);if(a.getEditor())throw'The editor instance "'+a.getEditor().name+'" is already attached to the provided element.';var b=new CKEDITOR.editor(d,a,CKEDITOR.ELEMENT_MODE_INLINE),c=a.is("textarea")?a:null;c?(b.setData(c.getValue(),null,!0),a=CKEDITOR.dom.element.createFromHtml('\x3cdiv contenteditable\x3d"'+!!b.readOnly+'" class\x3d"cke_textarea_inline"\x3e'+c.getValue()+"\x3c/div\x3e",CKEDITOR.document), +a.insertAfter(c),c.hide(),c.$.form&&b._attachToForm()):b.setData(a.getHtml(),null,!0);b.on("loaded",function(){b.fire("uiReady");b.editable(a);b.container=a;b.ui.contentsElement=a;b.setData(b.getData(1));b.resetDirty();b.fire("contentDom");b.mode="wysiwyg";b.fire("mode");b.status="ready";b.fireOnce("instanceReady");CKEDITOR.fire("instanceReady",null,b)},null,null,1E4);b.on("destroy",function(){c&&(b.container.clearCustomData(),b.container.remove(),c.show());b.element.clearCustomData();delete b.element}); +return b};CKEDITOR.inlineAll=function(){var a,d,b;for(b in CKEDITOR.dtd.$editable)for(var c=CKEDITOR.document.getElementsByTag(b),f=0,h=c.count();f<h;f++)a=c.getItem(f),"true"==a.getAttribute("contenteditable")&&(d={element:a,config:{}},!1!==CKEDITOR.fire("inline",d)&&CKEDITOR.inline(a,d.config))};CKEDITOR.domReady(function(){!CKEDITOR.disableAutoInline&&CKEDITOR.inlineAll()})})();CKEDITOR.replaceClass="ckeditor"; +(function(){function a(a,f,h,k){if(!CKEDITOR.env.isCompatible)return null;a=CKEDITOR.dom.element.get(a);if(a.getEditor())throw'The editor instance "'+a.getEditor().name+'" is already attached to the provided element.';var g=new CKEDITOR.editor(f,a,k);k==CKEDITOR.ELEMENT_MODE_REPLACE&&(a.setStyle("visibility","hidden"),g._.required=a.hasAttribute("required"),a.removeAttribute("required"));h&&g.setData(h,null,!0);g.on("loaded",function(){b(g);k==CKEDITOR.ELEMENT_MODE_REPLACE&&g.config.autoUpdateElement&& +a.$.form&&g._attachToForm();g.setMode(g.config.startupMode,function(){g.resetDirty();g.status="ready";g.fireOnce("instanceReady");CKEDITOR.fire("instanceReady",null,g)})});g.on("destroy",d);return g}function d(){var a=this.container,b=this.element;a&&(a.clearCustomData(),a.remove());b&&(b.clearCustomData(),this.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&(b.show(),this._.required&&b.setAttribute("required","required")),delete this.element)}function b(a){var b=a.name,d=a.element,k=a.elementMode,g= +a.fire("uiSpace",{space:"top",html:""}).html,m=a.fire("uiSpace",{space:"bottom",html:""}).html,r=new CKEDITOR.template('\x3c{outerEl} id\x3d"cke_{name}" class\x3d"{id} cke cke_reset cke_chrome cke_editor_{name} cke_{langDir} '+CKEDITOR.env.cssClass+'" dir\x3d"{langDir}" lang\x3d"{langCode}" role\x3d"application"'+(a.title?' aria-labelledby\x3d"cke_{name}_arialbl"':"")+"\x3e"+(a.title?'\x3cspan id\x3d"cke_{name}_arialbl" class\x3d"cke_voice_label"\x3e{voiceLabel}\x3c/span\x3e':"")+'\x3c{outerEl} class\x3d"cke_inner cke_reset" role\x3d"presentation"\x3e{topHtml}\x3c{outerEl} id\x3d"{contentId}" class\x3d"cke_contents cke_reset" role\x3d"presentation"\x3e\x3c/{outerEl}\x3e{bottomHtml}\x3c/{outerEl}\x3e\x3c/{outerEl}\x3e'), +b=CKEDITOR.dom.element.createFromHtml(r.output({id:a.id,name:b,langDir:a.lang.dir,langCode:a.langCode,voiceLabel:a.title,topHtml:g?'\x3cspan id\x3d"'+a.ui.spaceId("top")+'" class\x3d"cke_top cke_reset_all" role\x3d"presentation" style\x3d"height:auto"\x3e'+g+"\x3c/span\x3e":"",contentId:a.ui.spaceId("contents"),bottomHtml:m?'\x3cspan id\x3d"'+a.ui.spaceId("bottom")+'" class\x3d"cke_bottom cke_reset_all" role\x3d"presentation"\x3e'+m+"\x3c/span\x3e":"",outerEl:CKEDITOR.env.ie?"span":"div"}));k==CKEDITOR.ELEMENT_MODE_REPLACE? +(d.hide(),b.insertAfter(d)):d.append(b);a.container=b;a.ui.contentsElement=a.ui.space("contents");g&&a.ui.space("top").unselectable();m&&a.ui.space("bottom").unselectable();d=a.config.width;k=a.config.height;d&&b.setStyle("width",CKEDITOR.tools.cssLength(d));k&&a.ui.space("contents").setStyle("height",CKEDITOR.tools.cssLength(k));b.disableContextMenu();CKEDITOR.env.webkit&&b.on("focus",function(){a.focus()});a.fireOnce("uiReady")}CKEDITOR.replace=function(b,d){return a(b,d,null,CKEDITOR.ELEMENT_MODE_REPLACE)}; +CKEDITOR.appendTo=function(b,d,h){return a(b,d,h,CKEDITOR.ELEMENT_MODE_APPENDTO)};CKEDITOR.replaceAll=function(){for(var a=document.getElementsByTagName("textarea"),b=0;b<a.length;b++){var d=null,k=a[b];if(k.name||k.id){if("string"==typeof arguments[0]){if(!(new RegExp("(?:^|\\s)"+arguments[0]+"(?:$|\\s)")).test(k.className))continue}else if("function"==typeof arguments[0]&&(d={},!1===arguments[0](k,d)))continue;this.replace(k,d)}}};CKEDITOR.editor.prototype.addMode=function(a,b){(this._.modes||(this._.modes= +{}))[a]=b};CKEDITOR.editor.prototype.setMode=function(a,b){var d=this,k=this._.modes;if(a!=d.mode&&k&&k[a]){d.fire("beforeSetMode",a);if(d.mode){var g=d.checkDirty(),k=d._.previousModeData,m,r=0;d.fire("beforeModeUnload");d.editable(0);d._.previousMode=d.mode;d._.previousModeData=m=d.getData(1);"source"==d.mode&&k==m&&(d.fire("lockSnapshot",{forceUpdate:!0}),r=1);d.ui.space("contents").setHtml("");d.mode=""}else d._.previousModeData=d.getData(1);this._.modes[a](function(){d.mode=a;void 0!==g&&!g&& +d.resetDirty();r?d.fire("unlockSnapshot"):"wysiwyg"==a&&d.fire("saveSnapshot");setTimeout(function(){d.fire("mode");b&&b.call(d)},0)})}};CKEDITOR.editor.prototype.resize=function(a,b,d,k){var g=this.container,m=this.ui.space("contents"),r=CKEDITOR.env.webkit&&this.document&&this.document.getWindow().$.frameElement;k=k?this.container.getFirst(function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.hasClass("cke_inner")}):g;k.setSize("width",a,!0);r&&(r.style.width="1%");var e=(k.$.offsetHeight||0)-(m.$.clientHeight|| +0),g=Math.max(b-(d?0:e),0);b=d?b+e:b;m.setStyle("height",g+"px");r&&(r.style.width="100%");this.fire("resize",{outerHeight:b,contentsHeight:g,outerWidth:a||k.getSize("width")})};CKEDITOR.editor.prototype.getResizable=function(a){return a?this.ui.space("contents"):this.container};CKEDITOR.domReady(function(){CKEDITOR.replaceClass&&CKEDITOR.replaceAll(CKEDITOR.replaceClass)})})();CKEDITOR.config.startupMode="wysiwyg"; +(function(){function a(a){var b=a.editor,e=a.data.path,f=e.blockLimit,h=a.data.selection,g=h.getRanges()[0],t;if(CKEDITOR.env.gecko||CKEDITOR.env.ie&&CKEDITOR.env.needsBrFiller)if(h=d(h,e))h.appendBogus(),t=CKEDITOR.env.ie;k(b,e.block,f)&&g.collapsed&&!g.getCommonAncestor().isReadOnly()&&(e=g.clone(),e.enlarge(CKEDITOR.ENLARGE_BLOCK_CONTENTS),f=new CKEDITOR.dom.walker(e),f.guard=function(a){return!c(a)||a.type==CKEDITOR.NODE_COMMENT||a.isReadOnly()},!f.checkForward()||e.checkStartOfBlock()&&e.checkEndOfBlock())&& +(b=g.fixBlock(!0,b.activeEnterMode==CKEDITOR.ENTER_DIV?"div":"p"),CKEDITOR.env.needsBrFiller||(b=b.getFirst(c))&&b.type==CKEDITOR.NODE_TEXT&&CKEDITOR.tools.trim(b.getText()).match(/^(?:&nbsp;|\xa0)$/)&&b.remove(),t=1,a.cancel());t&&g.select()}function d(a,b){if(a.isFake)return 0;var d=b.block||b.blockLimit,e=d&&d.getLast(c);if(!(!d||!d.isBlockBoundary()||e&&e.type==CKEDITOR.NODE_ELEMENT&&e.isBlockBoundary()||d.is("pre")||d.getBogus()))return d}function b(a){var b=a.data.getTarget();b.is("input")&& +(b=b.getAttribute("type"),"submit"!=b&&"reset"!=b||a.data.preventDefault())}function c(a){return e(a)&&z(a)}function f(a,b){return function(c){var d=c.data.$.toElement||c.data.$.fromElement||c.data.$.relatedTarget;(d=d&&d.nodeType==CKEDITOR.NODE_ELEMENT?new CKEDITOR.dom.element(d):null)&&(b.equals(d)||b.contains(d))||a.call(this,c)}}function h(a){function b(a){return function(b,e){e&&b.type==CKEDITOR.NODE_ELEMENT&&b.is(f)&&(d=b);if(!(e||!c(b)||a&&A(b)))return!1}}var d,e=a.getRanges()[0];a=a.root; +var f={table:1,ul:1,ol:1,dl:1};if(e.startPath().contains(f)){var h=e.clone();h.collapse(1);h.setStartAt(a,CKEDITOR.POSITION_AFTER_START);a=new CKEDITOR.dom.walker(h);a.guard=b();a.checkBackward();if(d)return h=e.clone(),h.collapse(),h.setEndAt(d,CKEDITOR.POSITION_AFTER_END),a=new CKEDITOR.dom.walker(h),a.guard=b(!0),d=!1,a.checkForward(),d}return null}function k(a,b,c){return!1!==a.config.autoParagraph&&a.activeEnterMode!=CKEDITOR.ENTER_BR&&(a.editable().equals(c)&&!b||b&&"true"==b.getAttribute("contenteditable"))} +function g(a){return a.activeEnterMode!=CKEDITOR.ENTER_BR&&!1!==a.config.autoParagraph?a.activeEnterMode==CKEDITOR.ENTER_DIV?"div":"p":!1}function m(a){var b=a.editor;b.getSelection().scrollIntoView();setTimeout(function(){b.fire("saveSnapshot")},0)}function r(a,b,c){var d=a.getCommonAncestor(b);for(b=a=c?b:a;(a=a.getParent())&&!d.equals(a)&&1==a.getChildCount();)b=a;b.remove()}var e,z,y,A,D,x,p,J,u,K;CKEDITOR.editable=CKEDITOR.tools.createClass({base:CKEDITOR.dom.element,$:function(a,b){this.base(b.$|| +b);this.editor=a;this.status="unloaded";this.hasFocus=!1;this.setup()},proto:{focus:function(){var a;if(CKEDITOR.env.webkit&&!this.hasFocus&&(a=this.editor._.previousActive||this.getDocument().getActive(),this.contains(a))){a.focus();return}CKEDITOR.env.edge&&14<CKEDITOR.env.version&&!this.hasFocus&&this.getDocument().equals(CKEDITOR.document)&&(this.editor._.previousScrollTop=this.$.scrollTop);try{if(!CKEDITOR.env.ie||CKEDITOR.env.edge&&14<CKEDITOR.env.version||!this.getDocument().equals(CKEDITOR.document))if(CKEDITOR.env.chrome){var b= +this.$.scrollTop;this.$.focus();this.$.scrollTop=b}else this.$.focus();else this.$.setActive()}catch(c){if(!CKEDITOR.env.ie)throw c;}CKEDITOR.env.safari&&!this.isInline()&&(a=CKEDITOR.document.getActive(),a.equals(this.getWindow().getFrame())||this.getWindow().focus())},on:function(a,b){var c=Array.prototype.slice.call(arguments,0);CKEDITOR.env.ie&&/^focus|blur$/.exec(a)&&(a="focus"==a?"focusin":"focusout",b=f(b,this),c[0]=a,c[1]=b);return CKEDITOR.dom.element.prototype.on.apply(this,c)},attachListener:function(a){!this._.listeners&& +(this._.listeners=[]);var b=Array.prototype.slice.call(arguments,1),b=a.on.apply(a,b);this._.listeners.push(b);return b},clearListeners:function(){var a=this._.listeners;try{for(;a.length;)a.pop().removeListener()}catch(b){}},restoreAttrs:function(){var a=this._.attrChanges,b,c;for(c in a)a.hasOwnProperty(c)&&(b=a[c],null!==b?this.setAttribute(c,b):this.removeAttribute(c))},attachClass:function(a){var b=this.getCustomData("classes");this.hasClass(a)||(!b&&(b=[]),b.push(a),this.setCustomData("classes", +b),this.addClass(a))},changeAttr:function(a,b){var c=this.getAttribute(a);b!==c&&(!this._.attrChanges&&(this._.attrChanges={}),a in this._.attrChanges||(this._.attrChanges[a]=c),this.setAttribute(a,b))},insertText:function(a){this.editor.focus();this.insertHtml(this.transformPlainTextToHtml(a),"text")},transformPlainTextToHtml:function(a){var b=this.editor.getSelection().getStartElement().hasAscendant("pre",!0)?CKEDITOR.ENTER_BR:this.editor.activeEnterMode;return CKEDITOR.tools.transformPlainTextToHtml(a, +b)},insertHtml:function(a,b,c){var d=this.editor;d.focus();d.fire("saveSnapshot");c||(c=d.getSelection().getRanges()[0]);x(this,b||"html",a,c);c.select();m(this);this.editor.fire("afterInsertHtml",{})},insertHtmlIntoRange:function(a,b,c){x(this,c||"html",a,b);this.editor.fire("afterInsertHtml",{intoRange:b})},insertElement:function(a,b){var d=this.editor;d.focus();d.fire("saveSnapshot");var e=d.activeEnterMode,d=d.getSelection(),f=a.getName(),f=CKEDITOR.dtd.$block[f];b||(b=d.getRanges()[0]);this.insertElementIntoRange(a, +b)&&(b.moveToPosition(a,CKEDITOR.POSITION_AFTER_END),f&&((f=a.getNext(function(a){return c(a)&&!A(a)}))&&f.type==CKEDITOR.NODE_ELEMENT&&f.is(CKEDITOR.dtd.$block)?f.getDtd()["#"]?b.moveToElementEditStart(f):b.moveToElementEditEnd(a):f||e==CKEDITOR.ENTER_BR||(f=b.fixBlock(!0,e==CKEDITOR.ENTER_DIV?"div":"p"),b.moveToElementEditStart(f))));d.selectRanges([b]);m(this)},insertElementIntoSelection:function(a){this.insertElement(a)},insertElementIntoRange:function(a,b){var c=this.editor,d=c.config.enterMode, +e=a.getName(),f=CKEDITOR.dtd.$block[e];if(b.checkReadOnly())return!1;b.deleteContents(1);b.startContainer.type==CKEDITOR.NODE_ELEMENT&&(b.startContainer.is({tr:1,table:1,tbody:1,thead:1,tfoot:1})?p(b):b.startContainer.is(CKEDITOR.dtd.$list)&&J(b));var t,E;if(f)for(;(t=b.getCommonAncestor(0,1))&&(E=CKEDITOR.dtd[t.getName()])&&(!E||!E[e]);)t.getName()in CKEDITOR.dtd.span?b.splitElement(t):b.checkStartOfBlock()&&b.checkEndOfBlock()?(b.setStartBefore(t),b.collapse(!0),t.remove()):b.splitBlock(d==CKEDITOR.ENTER_DIV? +"div":"p",c.editable());b.insertNode(a);return!0},setData:function(a,b){b||(a=this.editor.dataProcessor.toHtml(a));this.setHtml(a);this.fixInitialSelection();"unloaded"==this.status&&(this.status="ready");this.editor.fire("dataReady")},getData:function(a){var b=this.getHtml();a||(b=this.editor.dataProcessor.toDataFormat(b));return b},setReadOnly:function(a){this.setAttribute("contenteditable",!a)},detach:function(){this.removeClass("cke_editable");this.status="detached";var a=this.editor;this._.detach(); +delete a.document;delete a.window},isInline:function(){return this.getDocument().equals(CKEDITOR.document)},fixInitialSelection:function(){function a(){var b=c.getDocument().$,d=b.getSelection(),e;a:if(d.anchorNode&&d.anchorNode==c.$)e=!0;else{if(CKEDITOR.env.webkit&&(e=c.getDocument().getActive())&&e.equals(c)&&!d.anchorNode){e=!0;break a}e=void 0}e&&(e=new CKEDITOR.dom.range(c),e.moveToElementEditStart(c),b=b.createRange(),b.setStart(e.startContainer.$,e.startOffset),b.collapse(!0),d.removeAllRanges(), +d.addRange(b))}function b(){var a=c.getDocument().$,d=a.selection,e=c.getDocument().getActive();"None"==d.type&&e.equals(c)&&(d=new CKEDITOR.dom.range(c),a=a.body.createTextRange(),d.moveToElementEditStart(c),d=d.startContainer,d.type!=CKEDITOR.NODE_ELEMENT&&(d=d.getParent()),a.moveToElementText(d.$),a.collapse(!0),a.select())}var c=this;if(CKEDITOR.env.ie&&(9>CKEDITOR.env.version||CKEDITOR.env.quirks))this.hasFocus&&(this.focus(),b());else if(this.hasFocus)this.focus(),a();else this.once("focus", +function(){a()},null,null,-999)},getHtmlFromRange:function(a){if(a.collapsed)return new CKEDITOR.dom.documentFragment(a.document);a={doc:this.getDocument(),range:a.clone()};u.eol.detect(a,this);u.bogus.exclude(a);u.cell.shrink(a);a.fragment=a.range.cloneContents();u.tree.rebuild(a,this);u.eol.fix(a,this);return new CKEDITOR.dom.documentFragment(a.fragment.$)},extractHtmlFromRange:function(a,b){var c=K,d={range:a,doc:a.document},e=this.getHtmlFromRange(a);if(a.collapsed)return a.optimize(),e;a.enlarge(CKEDITOR.ENLARGE_INLINE, +1);c.table.detectPurge(d);d.bookmark=a.createBookmark();delete d.range;var f=this.editor.createRange();f.moveToPosition(d.bookmark.startNode,CKEDITOR.POSITION_BEFORE_START);d.targetBookmark=f.createBookmark();c.list.detectMerge(d,this);c.table.detectRanges(d,this);c.block.detectMerge(d,this);d.tableContentsRanges?(c.table.deleteRanges(d),a.moveToBookmark(d.bookmark),d.range=a):(a.moveToBookmark(d.bookmark),d.range=a,a.extractContents(c.detectExtractMerge(d)));a.moveToBookmark(d.targetBookmark);a.optimize(); +c.fixUneditableRangePosition(a);c.list.merge(d,this);c.table.purge(d,this);c.block.merge(d,this);if(b){c=a.startPath();if(d=a.checkStartOfBlock()&&a.checkEndOfBlock()&&c.block&&!a.root.equals(c.block)){a:{var d=c.block.getElementsByTag("span"),f=0,t;if(d)for(;t=d.getItem(f++);)if(!z(t)){d=!0;break a}d=!1}d=!d}d&&(a.moveToPosition(c.block,CKEDITOR.POSITION_BEFORE_START),c.block.remove())}else c.autoParagraph(this.editor,a),y(a.startContainer)&&a.startContainer.appendBogus();a.startContainer.mergeSiblings(); +return e},setup:function(){var a=this.editor;this.attachListener(a,"beforeGetData",function(){var b=this.getData();this.is("textarea")||!1!==a.config.ignoreEmptyParagraph&&(b=b.replace(D,function(a,b){return b}));a.setData(b,null,1)},this);this.attachListener(a,"getSnapshot",function(a){a.data=this.getData(1)},this);this.attachListener(a,"afterSetData",function(){this.setData(a.getData(1))},this);this.attachListener(a,"loadSnapshot",function(a){this.setData(a.data,1)},this);this.attachListener(a, +"beforeFocus",function(){var b=a.getSelection();(b=b&&b.getNative())&&"Control"==b.type||this.focus()},this);this.attachListener(a,"insertHtml",function(a){this.insertHtml(a.data.dataValue,a.data.mode,a.data.range)},this);this.attachListener(a,"insertElement",function(a){this.insertElement(a.data)},this);this.attachListener(a,"insertText",function(a){this.insertText(a.data)},this);this.setReadOnly(a.readOnly);this.attachClass("cke_editable");a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?this.attachClass("cke_editable_inline"): +a.elementMode!=CKEDITOR.ELEMENT_MODE_REPLACE&&a.elementMode!=CKEDITOR.ELEMENT_MODE_APPENDTO||this.attachClass("cke_editable_themed");this.attachClass("cke_contents_"+a.config.contentsLangDirection);a.keystrokeHandler.blockedKeystrokes[8]=+a.readOnly;a.keystrokeHandler.attach(this);this.on("blur",function(){this.hasFocus=!1},null,null,-1);this.on("focus",function(){this.hasFocus=!0},null,null,-1);if(CKEDITOR.env.webkit)this.on("scroll",function(){a._.previousScrollTop=a.editable().$.scrollTop},null, +null,-1);if(CKEDITOR.env.edge&&14<CKEDITOR.env.version){var d=function(){var b=a.editable();null!=a._.previousScrollTop&&b.getDocument().equals(CKEDITOR.document)&&(b.$.scrollTop=a._.previousScrollTop,a._.previousScrollTop=null,this.removeListener("scroll",d))};this.on("scroll",d)}a.focusManager.add(this);this.equals(CKEDITOR.document.getActive())&&(this.hasFocus=!0,a.once("contentDom",function(){a.focusManager.focus(this)},this));this.isInline()&&this.changeAttr("tabindex",a.tabIndex);if(!this.is("textarea")){a.document= +this.getDocument();a.window=this.getWindow();var f=a.document;this.changeAttr("spellcheck",!a.config.disableNativeSpellChecker);var g=a.config.contentsLangDirection;this.getDirection(1)!=g&&this.changeAttr("dir",g);var k=CKEDITOR.getCss();if(k){var g=f.getHead(),p=g.getCustomData("stylesheet");p?k!=p.getText()&&(CKEDITOR.env.ie&&9>CKEDITOR.env.version?p.$.styleSheet.cssText=k:p.setText(k)):(k=f.appendStyleText(k),k=new CKEDITOR.dom.element(k.ownerNode||k.owningElement),g.setCustomData("stylesheet", +k),k.data("cke-temp",1))}g=f.getCustomData("stylesheet_ref")||0;f.setCustomData("stylesheet_ref",g+1);this.setCustomData("cke_includeReadonly",!a.config.disableReadonlyStyling);this.attachListener(this,"click",function(a){a=a.data;var b=(new CKEDITOR.dom.elementPath(a.getTarget(),this)).contains("a");b&&2!=a.$.button&&b.isReadOnly()&&a.preventDefault()});var t={8:1,46:1};this.attachListener(a,"key",function(b){if(a.readOnly)return!0;var c=b.data.domEvent.getKey(),d;b=a.getSelection();if(0!==b.getRanges().length){if(c in +t){var f,g=b.getRanges()[0],n=g.startPath(),k,v,B,c=8==c;CKEDITOR.env.ie&&11>CKEDITOR.env.version&&(f=b.getSelectedElement())||(f=h(b))?(a.fire("saveSnapshot"),g.moveToPosition(f,CKEDITOR.POSITION_BEFORE_START),f.remove(),g.select(),a.fire("saveSnapshot"),d=1):g.collapsed&&((k=n.block)&&(B=k[c?"getPrevious":"getNext"](e))&&B.type==CKEDITOR.NODE_ELEMENT&&B.is("table")&&g[c?"checkStartOfBlock":"checkEndOfBlock"]()?(a.fire("saveSnapshot"),g[c?"checkEndOfBlock":"checkStartOfBlock"]()&&k.remove(),g["moveToElementEdit"+ +(c?"End":"Start")](B),g.select(),a.fire("saveSnapshot"),d=1):n.blockLimit&&n.blockLimit.is("td")&&(v=n.blockLimit.getAscendant("table"))&&g.checkBoundaryOfElement(v,c?CKEDITOR.START:CKEDITOR.END)&&(B=v[c?"getPrevious":"getNext"](e))?(a.fire("saveSnapshot"),g["moveToElementEdit"+(c?"End":"Start")](B),g.checkStartOfBlock()&&g.checkEndOfBlock()?B.remove():g.select(),a.fire("saveSnapshot"),d=1):(v=n.contains(["td","th","caption"]))&&g.checkBoundaryOfElement(v,c?CKEDITOR.START:CKEDITOR.END)&&(d=1))}return!d}}); +a.blockless&&CKEDITOR.env.ie&&CKEDITOR.env.needsBrFiller&&this.attachListener(this,"keyup",function(b){b.data.getKeystroke()in t&&!this.getFirst(c)&&(this.appendBogus(),b=a.createRange(),b.moveToPosition(this,CKEDITOR.POSITION_AFTER_START),b.select())});this.attachListener(this,"dblclick",function(b){if(a.readOnly)return!1;b={element:b.data.getTarget()};a.fire("doubleclick",b)});CKEDITOR.env.ie&&this.attachListener(this,"click",b);CKEDITOR.env.ie&&!CKEDITOR.env.edge||this.attachListener(this,"mousedown", +function(b){var c=b.data.getTarget();c.is("img","hr","input","textarea","select")&&!c.isReadOnly()&&(a.getSelection().selectElement(c),c.is("input","textarea","select")&&b.data.preventDefault())});CKEDITOR.env.edge&&this.attachListener(this,"mouseup",function(b){(b=b.data.getTarget())&&b.is("img")&&a.getSelection().selectElement(b)});CKEDITOR.env.gecko&&this.attachListener(this,"mouseup",function(b){if(2==b.data.$.button&&(b=b.data.getTarget(),!b.getOuterHtml().replace(D,""))){var c=a.createRange(); +c.moveToElementEditStart(b);c.select(!0)}});CKEDITOR.env.webkit&&(this.attachListener(this,"click",function(a){a.data.getTarget().is("input","select")&&a.data.preventDefault()}),this.attachListener(this,"mouseup",function(a){a.data.getTarget().is("input","textarea")&&a.data.preventDefault()}));CKEDITOR.env.webkit&&this.attachListener(a,"key",function(b){if(a.readOnly)return!0;var c=b.data.domEvent.getKey();if(c in t&&(b=a.getSelection(),0!==b.getRanges().length)){var c=8==c,d=b.getRanges()[0];b=d.startPath(); +if(d.collapsed)a:{var e=b.block;if(e&&d[c?"checkStartOfBlock":"checkEndOfBlock"]()&&d.moveToClosestEditablePosition(e,!c)&&d.collapsed){if(d.startContainer.type==CKEDITOR.NODE_ELEMENT){var f=d.startContainer.getChild(d.startOffset-(c?1:0));if(f&&f.type==CKEDITOR.NODE_ELEMENT&&f.is("hr")){a.fire("saveSnapshot");f.remove();b=!0;break a}}d=d.startPath().block;if(!d||d&&d.contains(e))b=void 0;else{a.fire("saveSnapshot");var n;(n=(c?d:e).getBogus())&&n.remove();n=a.getSelection();f=n.createBookmarks(); +(c?e:d).moveChildren(c?d:e,!1);b.lastElement.mergeSiblings();r(e,d,!c);n.selectBookmarks(f);b=!0}}else b=!1}else c=d,n=b.block,d=c.endPath().block,n&&d&&!n.equals(d)?(a.fire("saveSnapshot"),(e=n.getBogus())&&e.remove(),c.enlarge(CKEDITOR.ENLARGE_INLINE),c.deleteContents(),d.getParent()&&(d.moveChildren(n,!1),b.lastElement.mergeSiblings(),r(n,d,!0)),c=a.getSelection().getRanges()[0],c.collapse(1),c.optimize(),""===c.startContainer.getHtml()&&c.startContainer.appendBogus(),c.select(),b=!0):b=!1;if(!b)return; +a.getSelection().scrollIntoView();a.fire("saveSnapshot");return!1}},this,null,100)}}},_:{detach:function(){this.editor.setData(this.editor.getData(),0,1);this.clearListeners();this.restoreAttrs();var a;if(a=this.removeCustomData("classes"))for(;a.length;)this.removeClass(a.pop());if(!this.is("textarea")){a=this.getDocument();var b=a.getHead();if(b.getCustomData("stylesheet")){var c=a.getCustomData("stylesheet_ref");--c?a.setCustomData("stylesheet_ref",c):(a.removeCustomData("stylesheet_ref"),b.removeCustomData("stylesheet").remove())}}this.editor.fire("contentDomUnload"); +delete this.editor}}});CKEDITOR.editor.prototype.editable=function(a){var b=this._.editable;if(b&&a)return 0;arguments.length&&(b=this._.editable=a?a instanceof CKEDITOR.editable?a:new CKEDITOR.editable(this,a):(b&&b.detach(),null));return b};CKEDITOR.on("instanceLoaded",function(b){var c=b.editor;c.on("insertElement",function(a){a=a.data;a.type==CKEDITOR.NODE_ELEMENT&&(a.is("input")||a.is("textarea"))&&("false"!=a.getAttribute("contentEditable")&&a.data("cke-editable",a.hasAttribute("contenteditable")? +"true":"1"),a.setAttribute("contentEditable",!1))});c.on("selectionChange",function(b){if(!c.readOnly){var d=c.getSelection();d&&!d.isLocked&&(d=c.checkDirty(),c.fire("lockSnapshot"),a(b),c.fire("unlockSnapshot"),!d&&c.resetDirty())}})});CKEDITOR.on("instanceCreated",function(a){var b=a.editor;b.on("mode",function(){var a=b.editable();if(a&&a.isInline()){var c=b.title;a.changeAttr("role","textbox");a.changeAttr("aria-label",c);c&&a.changeAttr("title",c);var d=b.fire("ariaEditorHelpLabel",{}).label; +if(d&&(c=this.ui.space(this.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?"top":"contents"))){var e=CKEDITOR.tools.getNextId(),d=CKEDITOR.dom.element.createFromHtml('\x3cspan id\x3d"'+e+'" class\x3d"cke_voice_label"\x3e'+d+"\x3c/span\x3e");c.append(d);a.changeAttr("aria-describedby",e)}}})});CKEDITOR.addCss(".cke_editable{cursor:text}.cke_editable img,.cke_editable input,.cke_editable textarea{cursor:default}");e=CKEDITOR.dom.walker.whitespaces(!0);z=CKEDITOR.dom.walker.bookmark(!1,!0);y=CKEDITOR.dom.walker.empty(); +A=CKEDITOR.dom.walker.bogus();D=/(^|<body\b[^>]*>)\s*<(p|div|address|h\d|center|pre)[^>]*>\s*(?:<br[^>]*>|&nbsp;|\u00A0|&#160;)?\s*(:?<\/\2>)?\s*(?=$|<\/body>)/gi;x=function(){function a(b){return b.type==CKEDITOR.NODE_ELEMENT}function b(c,d){var e,f,t,h,g=[],w=d.range.startContainer;e=d.range.startPath();for(var w=E[w.getName()],k=0,H=c.getChildren(),p=H.count(),m=-1,r=-1,P=0,C=e.contains(E.$list);k<p;++k)e=H.getItem(k),a(e)?(t=e.getName(),C&&t in CKEDITOR.dtd.$list?g=g.concat(b(e,d)):(h=!!w[t], +"br"!=t||!e.data("cke-eol")||k&&k!=p-1||(P=(f=k?g[k-1].node:H.getItem(k+1))&&(!a(f)||!f.is("br")),f=f&&a(f)&&E.$block[f.getName()]),-1!=m||h||(m=k),h||(r=k),g.push({isElement:1,isLineBreak:P,isBlock:e.isBlockBoundary(),hasBlockSibling:f,node:e,name:t,allowed:h}),f=P=0)):g.push({isElement:0,node:e,allowed:1});-1<m&&(g[m].firstNotAllowed=1);-1<r&&(g[r].lastNotAllowed=1);return g}function d(b,c){var e=[],f=b.getChildren(),t=f.count(),h,g=0,k=E[c],w=!b.is(E.$inline)||b.is("br");for(w&&e.push(" ");g<t;g++)h= +f.getItem(g),a(h)&&!h.is(k)?e=e.concat(d(h,c)):e.push(h);w&&e.push(" ");return e}function e(b){return a(b.startContainer)&&b.startContainer.getChild(b.startOffset-1)}function f(b){return b&&a(b)&&(b.is(E.$removeEmpty)||b.is("a")&&!b.isBlockBoundary())}function h(b,c,d,e){var f=b.clone(),t,g;f.setEndAt(c,CKEDITOR.POSITION_BEFORE_END);(t=(new CKEDITOR.dom.walker(f)).next())&&a(t)&&w[t.getName()]&&(g=t.getPrevious())&&a(g)&&!g.getParent().equals(b.startContainer)&&d.contains(g)&&e.contains(t)&&t.isIdentical(g)&& +(t.moveChildren(g),t.remove(),h(b,c,d,e))}function t(b,c){function d(b,c){if(c.isBlock&&c.isElement&&!c.node.is("br")&&a(b)&&b.is("br"))return b.remove(),1}var e=c.endContainer.getChild(c.endOffset),f=c.endContainer.getChild(c.endOffset-1);e&&d(e,b[b.length-1]);f&&d(f,b[0])&&(c.setEnd(c.endContainer,c.endOffset-1),c.collapse())}var E=CKEDITOR.dtd,w={p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,ul:1,ol:1,li:1,pre:1,dl:1,blockquote:1},H={p:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1},p=CKEDITOR.tools.extend({}, +E.$inline);delete p.br;return function(w,n,N,v){var B=w.editor,G=!1;"unfiltered_html"==n&&(n="html",G=!0);if(!v.checkReadOnly()){var I=(new CKEDITOR.dom.elementPath(v.startContainer,v.root)).blockLimit||v.root;w={type:n,dontFilter:G,editable:w,editor:B,range:v,blockLimit:I,mergeCandidates:[],zombies:[]};n=w.range;v=w.mergeCandidates;var m,r;"text"==w.type&&n.shrink(CKEDITOR.SHRINK_ELEMENT,!0,!1)&&(m=CKEDITOR.dom.element.createFromHtml("\x3cspan\x3e\x26nbsp;\x3c/span\x3e",n.document),n.insertNode(m), +n.setStartAfter(m));G=new CKEDITOR.dom.elementPath(n.startContainer);w.endPath=I=new CKEDITOR.dom.elementPath(n.endContainer);if(!n.collapsed){var B=I.block||I.blockLimit,y=n.getCommonAncestor();B&&!B.equals(y)&&!B.contains(y)&&n.checkEndOfBlock()&&w.zombies.push(B);n.deleteContents()}for(;(r=e(n))&&a(r)&&r.isBlockBoundary()&&G.contains(r);)n.moveToPosition(r,CKEDITOR.POSITION_BEFORE_END);h(n,w.blockLimit,G,I);m&&(n.setEndBefore(m),n.collapse(),m.remove());m=n.startPath();if(B=m.contains(f,!1,1))n.splitElement(B), +w.inlineStylesRoot=B,w.inlineStylesPeak=m.lastElement;m=n.createBookmark();(B=m.startNode.getPrevious(c))&&a(B)&&f(B)&&v.push(B);(B=m.startNode.getNext(c))&&a(B)&&f(B)&&v.push(B);for(B=m.startNode;(B=B.getParent())&&f(B);)v.push(B);n.moveToBookmark(m);if(m=N){m=w.range;if("text"==w.type&&w.inlineStylesRoot){r=w.inlineStylesPeak;n=r.getDocument().createText("{cke-peak}");for(v=w.inlineStylesRoot.getParent();!r.equals(v);)n=n.appendTo(r.clone()),r=r.getParent();N=n.getOuterHtml().split("{cke-peak}").join(N)}r= +w.blockLimit.getName();if(/^\s+|\s+$/.test(N)&&"span"in CKEDITOR.dtd[r]){var x='\x3cspan data-cke-marker\x3d"1"\x3e\x26nbsp;\x3c/span\x3e';N=x+N+x}N=w.editor.dataProcessor.toHtml(N,{context:null,fixForBody:!1,protectedWhitespaces:!!x,dontFilter:w.dontFilter,filter:w.editor.activeFilter,enterMode:w.editor.activeEnterMode});r=m.document.createElement("body");r.setHtml(N);x&&(r.getFirst().remove(),r.getLast().remove());if((x=m.startPath().block)&&(1!=x.getChildCount()||!x.getBogus()))a:{var z;if(1== +r.getChildCount()&&a(z=r.getFirst())&&z.is(H)&&!z.hasAttribute("contenteditable")){x=z.getElementsByTag("*");m=0;for(v=x.count();m<v;m++)if(n=x.getItem(m),!n.is(p))break a;z.moveChildren(z.getParent(1));z.remove()}}w.dataWrapper=r;m=N}if(m){z=w.range;m=z.document;var u;r=w.blockLimit;v=0;var A,x=[],D,T;N=B=0;var J,K;n=z.startContainer;var G=w.endPath.elements[0],W,I=G.getPosition(n),y=!!G.getCommonAncestor(n)&&I!=CKEDITOR.POSITION_IDENTICAL&&!(I&CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_IS_CONTAINED); +n=b(w.dataWrapper,w);for(t(n,z);v<n.length;v++){I=n[v];if(u=I.isLineBreak){u=z;J=r;var S=void 0,Y=void 0;I.hasBlockSibling?u=1:(S=u.startContainer.getAscendant(E.$block,1))&&S.is({div:1,p:1})?(Y=S.getPosition(J),Y==CKEDITOR.POSITION_IDENTICAL||Y==CKEDITOR.POSITION_CONTAINS?u=0:(J=u.splitElement(S),u.moveToPosition(J,CKEDITOR.POSITION_AFTER_START),u=1)):u=0}if(u)N=0<v;else{u=z.startPath();!I.isBlock&&k(w.editor,u.block,u.blockLimit)&&(T=g(w.editor))&&(T=m.createElement(T),T.appendBogus(),z.insertNode(T), +CKEDITOR.env.needsBrFiller&&(A=T.getBogus())&&A.remove(),z.moveToPosition(T,CKEDITOR.POSITION_BEFORE_END));if((u=z.startPath().block)&&!u.equals(D)){if(A=u.getBogus())A.remove(),x.push(u);D=u}I.firstNotAllowed&&(B=1);if(B&&I.isElement){u=z.startContainer;for(J=null;u&&!E[u.getName()][I.name];){if(u.equals(r)){u=null;break}J=u;u=u.getParent()}if(u)J&&(K=z.splitElement(J),w.zombies.push(K),w.zombies.push(J));else{J=r.getName();W=!v;u=v==n.length-1;J=d(I.node,J);for(var S=[],Y=J.length,Z=0,ba=void 0, +ca=0,U=-1;Z<Y;Z++)ba=J[Z]," "==ba?(ca||W&&!Z||(S.push(new CKEDITOR.dom.text(" ")),U=S.length),ca=1):(S.push(ba),ca=0);u&&U==S.length&&S.pop();W=S}}if(W){for(;u=W.pop();)z.insertNode(u);W=0}else z.insertNode(I.node);I.lastNotAllowed&&v<n.length-1&&((K=y?G:K)&&z.setEndAt(K,CKEDITOR.POSITION_AFTER_START),B=0);z.collapse()}}1!=n.length?A=!1:(A=n[0],A=A.isElement&&"false"==A.node.getAttribute("contenteditable"));A&&(N=!0,u=n[0].node,z.setStartAt(u,CKEDITOR.POSITION_BEFORE_START),z.setEndAt(u,CKEDITOR.POSITION_AFTER_END)); +w.dontMoveCaret=N;w.bogusNeededBlocks=x}A=w.range;var R;K=w.bogusNeededBlocks;for(W=A.createBookmark();D=w.zombies.pop();)D.getParent()&&(T=A.clone(),T.moveToElementEditStart(D),T.removeEmptyBlocksAtEnd());if(K)for(;D=K.pop();)CKEDITOR.env.needsBrFiller?D.appendBogus():D.append(A.document.createText(" "));for(;D=w.mergeCandidates.pop();)D.mergeSiblings();A.moveToBookmark(W);if(!w.dontMoveCaret){for(D=e(A);D&&a(D)&&!D.is(E.$empty);){if(D.isBlockBoundary())A.moveToPosition(D,CKEDITOR.POSITION_BEFORE_END); +else{if(f(D)&&D.getHtml().match(/(\s|&nbsp;)$/g)){R=null;break}R=A.clone();R.moveToPosition(D,CKEDITOR.POSITION_BEFORE_END)}D=D.getLast(c)}R&&A.moveToRange(R)}}}}();p=function(){function a(b){b=new CKEDITOR.dom.walker(b);b.guard=function(a,b){if(b)return!1;if(a.type==CKEDITOR.NODE_ELEMENT)return a.is(CKEDITOR.dtd.$tableContent)};b.evaluator=function(a){return a.type==CKEDITOR.NODE_ELEMENT};return b}function b(a,c,d){c=a.getDocument().createElement(c);a.append(c,d);return c}function c(a){var b=a.count(), +d;for(b;0<b--;)d=a.getItem(b),CKEDITOR.tools.trim(d.getHtml())||(d.appendBogus(),CKEDITOR.env.ie&&9>CKEDITOR.env.version&&d.getChildCount()&&d.getFirst().remove())}return function(d){var e=d.startContainer,f=e.getAscendant("table",1),t=!1;c(f.getElementsByTag("td"));c(f.getElementsByTag("th"));f=d.clone();f.setStart(e,0);f=a(f).lastBackward();f||(f=d.clone(),f.setEndAt(e,CKEDITOR.POSITION_BEFORE_END),f=a(f).lastForward(),t=!0);f||(f=e);f.is("table")?(d.setStartAt(f,CKEDITOR.POSITION_BEFORE_START), +d.collapse(!0),f.remove()):(f.is({tbody:1,thead:1,tfoot:1})&&(f=b(f,"tr",t)),f.is("tr")&&(f=b(f,f.getParent().is("thead")?"th":"td",t)),(e=f.getBogus())&&e.remove(),d.moveToPosition(f,t?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END))}}();J=function(){function a(b){b=new CKEDITOR.dom.walker(b);b.guard=function(a,b){if(b)return!1;if(a.type==CKEDITOR.NODE_ELEMENT)return a.is(CKEDITOR.dtd.$list)||a.is(CKEDITOR.dtd.$listItem)};b.evaluator=function(a){return a.type==CKEDITOR.NODE_ELEMENT&& +a.is(CKEDITOR.dtd.$listItem)};return b}return function(b){var c=b.startContainer,d=!1,e;e=b.clone();e.setStart(c,0);e=a(e).lastBackward();e||(e=b.clone(),e.setEndAt(c,CKEDITOR.POSITION_BEFORE_END),e=a(e).lastForward(),d=!0);e||(e=c);e.is(CKEDITOR.dtd.$list)?(b.setStartAt(e,CKEDITOR.POSITION_BEFORE_START),b.collapse(!0),e.remove()):((c=e.getBogus())&&c.remove(),b.moveToPosition(e,d?CKEDITOR.POSITION_AFTER_START:CKEDITOR.POSITION_BEFORE_END),b.select())}}();u={eol:{detect:function(a,b){var c=a.range, +d=c.clone(),e=c.clone(),f=new CKEDITOR.dom.elementPath(c.startContainer,b),t=new CKEDITOR.dom.elementPath(c.endContainer,b);d.collapse(1);e.collapse();f.block&&d.checkBoundaryOfElement(f.block,CKEDITOR.END)&&(c.setStartAfter(f.block),a.prependEolBr=1);t.block&&e.checkBoundaryOfElement(t.block,CKEDITOR.START)&&(c.setEndBefore(t.block),a.appendEolBr=1)},fix:function(a,b){var c=b.getDocument(),d;a.appendEolBr&&(d=this.createEolBr(c),a.fragment.append(d));!a.prependEolBr||d&&!d.getPrevious()||a.fragment.append(this.createEolBr(c), +1)},createEolBr:function(a){return a.createElement("br",{attributes:{"data-cke-eol":1}})}},bogus:{exclude:function(a){var b=a.range.getBoundaryNodes(),c=b.startNode,b=b.endNode;!b||!A(b)||c&&c.equals(b)||a.range.setEndBefore(b)}},tree:{rebuild:function(a,b){var c=a.range,d=c.getCommonAncestor(),e=new CKEDITOR.dom.elementPath(d,b),f=new CKEDITOR.dom.elementPath(c.startContainer,b),c=new CKEDITOR.dom.elementPath(c.endContainer,b),t;d.type==CKEDITOR.NODE_TEXT&&(d=d.getParent());if(e.blockLimit.is({tr:1, +table:1})){var g=e.contains("table").getParent();t=function(a){return!a.equals(g)}}else if(e.block&&e.block.is(CKEDITOR.dtd.$listItem)&&(f=f.contains(CKEDITOR.dtd.$list),c=c.contains(CKEDITOR.dtd.$list),!f.equals(c))){var w=e.contains(CKEDITOR.dtd.$list).getParent();t=function(a){return!a.equals(w)}}t||(t=function(a){return!a.equals(e.block)&&!a.equals(e.blockLimit)});this.rebuildFragment(a,b,d,t)},rebuildFragment:function(a,b,c,d){for(var e;c&&!c.equals(b)&&d(c);)e=c.clone(0,1),a.fragment.appendTo(e), +a.fragment=e,c=c.getParent()}},cell:{shrink:function(a){a=a.range;var b=a.startContainer,c=a.endContainer,d=a.startOffset,e=a.endOffset;b.type==CKEDITOR.NODE_ELEMENT&&b.equals(c)&&b.is("tr")&&++d==e&&a.shrink(CKEDITOR.SHRINK_TEXT)}}};K=function(){function a(b,c){var d=b.getParent();if(d.is(CKEDITOR.dtd.$inline))b[c?"insertBefore":"insertAfter"](d)}function b(c,d,e){a(d);a(e,1);for(var f;f=e.getNext();)f.insertAfter(d),d=f;y(c)&&c.remove()}function c(a,b){var d=new CKEDITOR.dom.range(a);d.setStartAfter(b.startNode); +d.setEndBefore(b.endNode);return d}return{list:{detectMerge:function(a,b){var d=c(b,a.bookmark),e=d.startPath(),f=d.endPath(),w=e.contains(CKEDITOR.dtd.$list),g=f.contains(CKEDITOR.dtd.$list);a.mergeList=w&&g&&w.getParent().equals(g.getParent())&&!w.equals(g);a.mergeListItems=e.block&&f.block&&e.block.is(CKEDITOR.dtd.$listItem)&&f.block.is(CKEDITOR.dtd.$listItem);if(a.mergeList||a.mergeListItems)d=d.clone(),d.setStartBefore(a.bookmark.startNode),d.setEndAfter(a.bookmark.endNode),a.mergeListBookmark= +d.createBookmark()},merge:function(a,c){if(a.mergeListBookmark){var d=a.mergeListBookmark.startNode,e=a.mergeListBookmark.endNode,f=new CKEDITOR.dom.elementPath(d,c),w=new CKEDITOR.dom.elementPath(e,c);if(a.mergeList){var g=f.contains(CKEDITOR.dtd.$list),h=w.contains(CKEDITOR.dtd.$list);g.equals(h)||(h.moveChildren(g),h.remove())}a.mergeListItems&&(f=f.contains(CKEDITOR.dtd.$listItem),w=w.contains(CKEDITOR.dtd.$listItem),f.equals(w)||b(w,d,e));d.remove();e.remove()}}},block:{detectMerge:function(a, +b){if(!a.tableContentsRanges&&!a.mergeListBookmark){var c=new CKEDITOR.dom.range(b);c.setStartBefore(a.bookmark.startNode);c.setEndAfter(a.bookmark.endNode);a.mergeBlockBookmark=c.createBookmark()}},merge:function(a,c){if(a.mergeBlockBookmark&&!a.purgeTableBookmark){var d=a.mergeBlockBookmark.startNode,e=a.mergeBlockBookmark.endNode,f=new CKEDITOR.dom.elementPath(d,c),g=new CKEDITOR.dom.elementPath(e,c),f=f.block,g=g.block;f&&g&&!f.equals(g)&&b(g,d,e);d.remove();e.remove()}}},table:function(){function a(c){var e= +[],f,g=new CKEDITOR.dom.walker(c),h=c.startPath().contains(d),k=c.endPath().contains(d),n={};g.guard=function(a,g){if(a.type==CKEDITOR.NODE_ELEMENT){var B="visited_"+(g?"out":"in");if(a.getCustomData(B))return;CKEDITOR.dom.element.setMarker(n,a,B,1)}if(g&&h&&a.equals(h))f=c.clone(),f.setEndAt(h,CKEDITOR.POSITION_BEFORE_END),e.push(f);else if(!g&&k&&a.equals(k))f=c.clone(),f.setStartAt(k,CKEDITOR.POSITION_AFTER_START),e.push(f);else{if(B=!g)B=a.type==CKEDITOR.NODE_ELEMENT&&a.is(d)&&(!h||b(a,h))&&(!k|| +b(a,k));if(!B&&(B=g))if(a.is(d))var B=h&&h.getAscendant("table",!0),l=k&&k.getAscendant("table",!0),H=a.getAscendant("table",!0),B=B&&B.contains(H)||l&&l.contains(H);else B=void 0;B&&(f=c.clone(),f.selectNodeContents(a),e.push(f))}};g.lastForward();CKEDITOR.dom.element.clearAllMarkers(n);return e}function b(a,c){var d=CKEDITOR.POSITION_CONTAINS+CKEDITOR.POSITION_IS_CONTAINED,e=a.getPosition(c);return e===CKEDITOR.POSITION_IDENTICAL?!1:0===(e&d)}var d={td:1,th:1,caption:1};return{detectPurge:function(a){var b= +a.range,c=b.clone();c.enlarge(CKEDITOR.ENLARGE_ELEMENT);var c=new CKEDITOR.dom.walker(c),e=0;c.evaluator=function(a){a.type==CKEDITOR.NODE_ELEMENT&&a.is(d)&&++e};c.checkForward();if(1<e){var c=b.startPath().contains("table"),f=b.endPath().contains("table");c&&f&&b.checkBoundaryOfElement(c,CKEDITOR.START)&&b.checkBoundaryOfElement(f,CKEDITOR.END)&&(b=a.range.clone(),b.setStartBefore(c),b.setEndAfter(f),a.purgeTableBookmark=b.createBookmark())}},detectRanges:function(e,f){var g=c(f,e.bookmark),h=g.clone(), +k,l,n=g.getCommonAncestor();n.is(CKEDITOR.dtd.$tableContent)&&!n.is(d)&&(n=n.getAscendant("table",!0));l=n;n=new CKEDITOR.dom.elementPath(g.startContainer,l);l=new CKEDITOR.dom.elementPath(g.endContainer,l);n=n.contains("table");l=l.contains("table");if(n||l)n&&l&&b(n,l)?(e.tableSurroundingRange=h,h.setStartAt(n,CKEDITOR.POSITION_AFTER_END),h.setEndAt(l,CKEDITOR.POSITION_BEFORE_START),h=g.clone(),h.setEndAt(n,CKEDITOR.POSITION_AFTER_END),k=g.clone(),k.setStartAt(l,CKEDITOR.POSITION_BEFORE_START), +k=a(h).concat(a(k))):n?l||(e.tableSurroundingRange=h,h.setStartAt(n,CKEDITOR.POSITION_AFTER_END),g.setEndAt(n,CKEDITOR.POSITION_AFTER_END)):(e.tableSurroundingRange=h,h.setEndAt(l,CKEDITOR.POSITION_BEFORE_START),g.setStartAt(l,CKEDITOR.POSITION_AFTER_START)),e.tableContentsRanges=k?k:a(g)},deleteRanges:function(a){for(var b;b=a.tableContentsRanges.pop();)b.extractContents(),y(b.startContainer)&&b.startContainer.appendBogus();a.tableSurroundingRange&&a.tableSurroundingRange.extractContents()},purge:function(a){if(a.purgeTableBookmark){var b= +a.doc,c=a.range.clone(),b=b.createElement("p");b.insertBefore(a.purgeTableBookmark.startNode);c.moveToBookmark(a.purgeTableBookmark);c.deleteContents();a.range.moveToPosition(b,CKEDITOR.POSITION_AFTER_START)}}}}(),detectExtractMerge:function(a){return!(a.range.startPath().contains(CKEDITOR.dtd.$listItem)&&a.range.endPath().contains(CKEDITOR.dtd.$listItem))},fixUneditableRangePosition:function(a){a.startContainer.getDtd()["#"]||a.moveToClosestEditablePosition(null,!0)},autoParagraph:function(a,b){var c= +b.startPath(),d;k(a,c.block,c.blockLimit)&&(d=g(a))&&(d=b.document.createElement(d),d.appendBogus(),b.insertNode(d),b.moveToPosition(d,CKEDITOR.POSITION_AFTER_START))}}}()})(); +(function(){function a(a){return CKEDITOR.plugins.widget&&CKEDITOR.plugins.widget.isDomWidget(a)}function d(b,c){if(0===b.length||a(b[0].getEnclosedNode()))return!1;var d,e;if((d=!c&&1===b.length)&&!(d=b[0].collapsed)){var f=b[0];d=f.startContainer.getAscendant({td:1,th:1},!0);var g=f.endContainer.getAscendant({td:1,th:1},!0);e=CKEDITOR.tools.trim;d&&d.equals(g)&&!d.findOne("td, th, tr, tbody, table")?(f=f.cloneContents(),d=f.getFirst()?e(f.getFirst().getText())!==e(d.getText()):!0):d=!1}if(d)return!1; +for(e=0;e<b.length;e++)if(d=b[e]._getTableElement(),!d)return!1;return!0}function b(a){function b(a){a=a.find("td, th");var c=[],d;for(d=0;d<a.count();d++)c.push(a.getItem(d));return c}var c=[],d,e;for(e=0;e<a.length;e++)d=a[e]._getTableElement(),d.is&&d.is({td:1,th:1})?c.push(d):c=c.concat(b(d));return c}function c(a){a=b(a);var c="",d=[],e,f;for(f=0;f<a.length;f++)e&&!e.equals(a[f].getAscendant("tr"))?(c+=d.join("\t")+"\n",e=a[f].getAscendant("tr"),d=[]):0===f&&(e=a[f].getAscendant("tr")),d.push(a[f].getText()); +return c+=d.join("\t")}function f(a){var b=this.root.editor,d=b.getSelection(1);this.reset();l=!0;d.root.once("selectionchange",function(a){a.cancel()},null,null,0);d.selectRanges([a[0]]);d=this._.cache;d.ranges=new CKEDITOR.dom.rangeList(a);d.type=CKEDITOR.SELECTION_TEXT;d.selectedElement=a[0]._getTableElement();d.selectedText=c(a);d.nativeSel=null;this.isFake=1;this.rev=J++;b._.fakeSelection=this;l=!1;this.root.fire("selectionchange")}function h(){var b=this._.fakeSelection,c;if(b){c=this.getSelection(1); +var e;if(!(e=!c)&&(e=!c.isHidden())){e=b;var f=c.getRanges(),g=e.getRanges(),h=f.length&&f[0]._getTableElement()&&f[0]._getTableElement().getAscendant("table",!0),n=g.length&&g[0]._getTableElement()&&g[0]._getTableElement().getAscendant("table",!0),k=1===f.length&&f[0]._getTableElement()&&f[0]._getTableElement().is("table"),v=1===g.length&&g[0]._getTableElement()&&g[0]._getTableElement().is("table");if(a(e.getSelectedElement()))e=!1;else{var l=1===f.length&&f[0].collapsed,g=d(f,!!CKEDITOR.env.webkit)&& +d(g);h=h&&n?h.equals(n)||n.contains(h):!1;h&&(l||g)?(k&&!v&&e.selectRanges(f),e=!0):e=!1}e=!e}e&&(b.reset(),b=0)}if(!b&&(b=c||this.getSelection(1),!b||b.getType()==CKEDITOR.SELECTION_NONE))return;this.fire("selectionCheck",b);c=this.elementPath();c.compare(this._.selectionPreviousPath)||(e=this._.selectionPreviousPath&&this._.selectionPreviousPath.blockLimit.equals(c.blockLimit),CKEDITOR.env.webkit&&!e&&(this._.previousActive=this.document.getActive()),this._.selectionPreviousPath=c,this.fire("selectionChange", +{selection:b,path:c}))}function k(){F=!0;q||(g.call(this),q=CKEDITOR.tools.setTimeout(g,200,this))}function g(){q=null;F&&(CKEDITOR.tools.setTimeout(h,0,this),F=!1)}function m(a){return L(a)||a.type==CKEDITOR.NODE_ELEMENT&&!a.is(CKEDITOR.dtd.$empty)?!0:!1}function r(a){function b(c,d){return c&&c.type!=CKEDITOR.NODE_TEXT?a.clone()["moveToElementEdit"+(d?"End":"Start")](c):!1}if(!(a.root instanceof CKEDITOR.editable))return!1;var c=a.startContainer,d=a.getPreviousNode(m,null,c),e=a.getNextNode(m,null, +c);return b(d)||b(e,1)||!(d||e||c.type==CKEDITOR.NODE_ELEMENT&&c.isBlockBoundary()&&c.getBogus())?!0:!1}function e(a){z(a,!1);var b=a.getDocument().createText(u);a.setCustomData("cke-fillingChar",b);return b}function z(a,b){var c=a&&a.removeCustomData("cke-fillingChar");if(c){if(!1!==b){var d=a.getDocument().getSelection().getNative(),e=d&&"None"!=d.type&&d.getRangeAt(0),f=u.length;if(c.getLength()>f&&e&&e.intersectsNode(c.$)){var n=[{node:d.anchorNode,offset:d.anchorOffset},{node:d.focusNode,offset:d.focusOffset}]; +d.anchorNode==c.$&&d.anchorOffset>f&&(n[0].offset-=f);d.focusNode==c.$&&d.focusOffset>f&&(n[1].offset-=f)}}c.setText(y(c.getText(),1));n&&(c=a.getDocument().$,d=c.getSelection(),c=c.createRange(),c.setStart(n[0].node,n[0].offset),c.collapse(!0),d.removeAllRanges(),d.addRange(c),d.extend(n[1].node,n[1].offset))}}function y(a,b){return b?a.replace(K,function(a,b){return b?" ":""}):a.replace(u,"")}function A(a,b){var c=b&&CKEDITOR.tools.htmlEncode(b)||"\x26nbsp;",c=CKEDITOR.dom.element.createFromHtml('\x3cdiv data-cke-hidden-sel\x3d"1" data-cke-temp\x3d"1" style\x3d"'+ +(CKEDITOR.env.ie&&14>CKEDITOR.env.version?"display:none":"position:fixed;top:0;left:-1000px")+'"\x3e'+c+"\x3c/div\x3e",a.document);a.fire("lockSnapshot");a.editable().append(c);var d=a.getSelection(1),e=a.createRange(),f=d.root.on("selectionchange",function(a){a.cancel()},null,null,0);e.setStartAt(c,CKEDITOR.POSITION_AFTER_START);e.setEndAt(c,CKEDITOR.POSITION_BEFORE_END);d.selectRanges([e]);f.removeListener();a.fire("unlockSnapshot");a._.hiddenSelectionContainer=c}function D(a){var b={37:1,39:1, +8:1,46:1};return function(c){var d=c.data.getKeystroke();if(b[d]){var e=a.getSelection().getRanges(),f=e[0];1==e.length&&f.collapsed&&(d=f[38>d?"getPreviousEditableNode":"getNextEditableNode"]())&&d.type==CKEDITOR.NODE_ELEMENT&&"false"==d.getAttribute("contenteditable")&&(a.getSelection().fake(d),c.data.preventDefault(),c.cancel())}}}function x(a){for(var b=0;b<a.length;b++){var c=a[b];c.getCommonAncestor().isReadOnly()&&a.splice(b,1);if(!c.collapsed){if(c.startContainer.isReadOnly())for(var d=c.startContainer, +e;d&&!((e=d.type==CKEDITOR.NODE_ELEMENT)&&d.is("body")||!d.isReadOnly());)e&&"false"==d.getAttribute("contentEditable")&&c.setStartAfter(d),d=d.getParent();d=c.startContainer;e=c.endContainer;var f=c.startOffset,n=c.endOffset,g=c.clone();d&&d.type==CKEDITOR.NODE_TEXT&&(f>=d.getLength()?g.setStartAfter(d):g.setStartBefore(d));e&&e.type==CKEDITOR.NODE_TEXT&&(n?g.setEndAfter(e):g.setEndBefore(e));d=new CKEDITOR.dom.walker(g);d.evaluator=function(d){if(d.type==CKEDITOR.NODE_ELEMENT&&d.isReadOnly()){var e= +c.clone();c.setEndBefore(d);c.collapsed&&a.splice(b--,1);d.getPosition(g.endContainer)&CKEDITOR.POSITION_CONTAINS||(e.setStartAfter(d),e.collapsed||a.splice(b+1,0,e));return!0}return!1};d.next()}}return a}var p="function"!=typeof window.getSelection,J=1,u=CKEDITOR.tools.repeat("​",7),K=new RegExp(u+"( )?","g"),l,q,F,L=CKEDITOR.dom.walker.invisible(1),C=function(){function a(b){return function(a){var c=a.editor.createRange();c.moveToClosestEditablePosition(a.selected,b)&&a.editor.getSelection().selectRanges([c]); +return!1}}function b(a){return function(b){var c=b.editor,d=c.createRange(),e;if(!c.readOnly)return(e=d.moveToClosestEditablePosition(b.selected,a))||(e=d.moveToClosestEditablePosition(b.selected,!a)),e&&c.getSelection().selectRanges([d]),c.fire("saveSnapshot"),b.selected.remove(),e||(d.moveToElementEditablePosition(c.editable()),c.getSelection().selectRanges([d])),c.fire("saveSnapshot"),!1}}var c=a(),d=a(1);return{37:c,38:c,39:d,40:d,8:b(),46:b(1)}}();CKEDITOR.on("instanceCreated",function(a){function b(){var a= +c.getSelection();a&&a.removeAllRanges()}var c=a.editor;c.on("contentDom",function(){function a(){r=new CKEDITOR.dom.selection(c.getSelection());r.lock()}function b(){f.removeListener("mouseup",b);t.removeListener("mouseup",b);var a=CKEDITOR.document.$.selection,c=a.createRange();"None"!=a.type&&c.parentElement()&&c.parentElement().ownerDocument==e.$&&c.select()}function d(a){if(CKEDITOR.env.ie){var b=(a=a.getRanges()[0])?a.startContainer.getAscendant(function(a){return a.type==CKEDITOR.NODE_ELEMENT&& +("false"==a.getAttribute("contenteditable")||"true"==a.getAttribute("contenteditable"))},!0):null;return a&&"false"==b.getAttribute("contenteditable")&&b}}var e=c.document,f=CKEDITOR.document,g=c.editable(),l=e.getBody(),t=e.getDocumentElement(),E=g.isInline(),m,r;CKEDITOR.env.gecko&&g.attachListener(g,"focus",function(a){a.removeListener();0!==m&&(a=c.getSelection().getNative())&&a.isCollapsed&&a.anchorNode==g.$&&(a=c.createRange(),a.moveToElementEditStart(g),a.select())},null,null,-2);g.attachListener(g, +CKEDITOR.env.webkit?"DOMFocusIn":"focus",function(){m&&CKEDITOR.env.webkit&&(m=c._.previousActive&&c._.previousActive.equals(e.getActive()))&&null!=c._.previousScrollTop&&c._.previousScrollTop!=g.$.scrollTop&&(g.$.scrollTop=c._.previousScrollTop);c.unlockSelection(m);m=0},null,null,-1);g.attachListener(g,"mousedown",function(){m=0});if(CKEDITOR.env.ie||E)p?g.attachListener(g,"beforedeactivate",a,null,null,-1):g.attachListener(c,"selectionCheck",a,null,null,-1),g.attachListener(g,CKEDITOR.env.webkit? +"DOMFocusOut":"blur",function(){c.lockSelection(r);m=1},null,null,-1),g.attachListener(g,"mousedown",function(){m=0});if(CKEDITOR.env.ie&&!E){var y;g.attachListener(g,"mousedown",function(a){2==a.data.$.button&&((a=c.document.getSelection())&&a.getType()!=CKEDITOR.SELECTION_NONE||(y=c.window.getScrollPosition()))});g.attachListener(g,"mouseup",function(a){2==a.data.$.button&&y&&(c.document.$.documentElement.scrollLeft=y.x,c.document.$.documentElement.scrollTop=y.y);y=null});if("BackCompat"!=e.$.compatMode){if(CKEDITOR.env.ie7Compat|| +CKEDITOR.env.ie6Compat){var q,u;t.on("mousedown",function(a){function b(a){a=a.data.$;if(q){var c=l.$.createTextRange();try{c.moveToPoint(a.clientX,a.clientY)}catch(d){}q.setEndPoint(0>u.compareEndPoints("StartToStart",c)?"EndToEnd":"StartToStart",c);q.select()}}function c(){t.removeListener("mousemove",b);f.removeListener("mouseup",c);t.removeListener("mouseup",c);q.select()}a=a.data;if(a.getTarget().is("html")&&a.$.y<t.$.clientHeight&&a.$.x<t.$.clientWidth){q=l.$.createTextRange();try{q.moveToPoint(a.$.clientX, +a.$.clientY)}catch(d){}u=q.duplicate();t.on("mousemove",b);f.on("mouseup",c);t.on("mouseup",c)}})}if(7<CKEDITOR.env.version&&11>CKEDITOR.env.version)t.on("mousedown",function(a){a.data.getTarget().is("html")&&(f.on("mouseup",b),t.on("mouseup",b))})}}g.attachListener(g,"selectionchange",h,c);g.attachListener(g,"keyup",k,c);g.attachListener(g,"keydown",function(a){var b=this.getSelection(1);d(b)&&(b.selectElement(d(b)),a.data.preventDefault())},c);g.attachListener(g,CKEDITOR.env.webkit?"DOMFocusIn": +"focus",function(){c.forceNextSelectionCheck();c.selectionChange(1)});if(E&&(CKEDITOR.env.webkit||CKEDITOR.env.gecko)){var x;g.attachListener(g,"mousedown",function(){x=1});g.attachListener(e.getDocumentElement(),"mouseup",function(){x&&k.call(c);x=0})}else g.attachListener(CKEDITOR.env.ie?g:e.getDocumentElement(),"mouseup",k,c);CKEDITOR.env.webkit&&g.attachListener(e,"keydown",function(a){switch(a.data.getKey()){case 13:case 33:case 34:case 35:case 36:case 37:case 39:case 8:case 45:case 46:g.hasFocus&& +z(g)}},null,null,-1);g.attachListener(g,"keydown",D(c),null,null,-1)});c.on("setData",function(){c.unlockSelection();CKEDITOR.env.webkit&&b()});c.on("contentDomUnload",function(){c.unlockSelection()});if(CKEDITOR.env.ie9Compat)c.on("beforeDestroy",b,null,null,9);c.on("dataReady",function(){delete c._.fakeSelection;delete c._.hiddenSelectionContainer;c.selectionChange(1)});c.on("loadSnapshot",function(){var a=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_ELEMENT),b=c.editable().getLast(a);b&&b.hasAttribute("data-cke-hidden-sel")&& +(b.remove(),CKEDITOR.env.gecko&&(a=c.editable().getFirst(a))&&a.is("br")&&a.getAttribute("_moz_editor_bogus_node")&&a.remove())},null,null,100);c.on("key",function(a){if("wysiwyg"==c.mode){var b=c.getSelection();if(b.isFake){var d=C[a.data.keyCode];if(d)return d({editor:c,selected:b.getSelectedElement(),selection:b,keyEvent:a})}}})});if(CKEDITOR.env.webkit)CKEDITOR.on("instanceReady",function(a){var b=a.editor;b.on("selectionChange",function(){var a=b.editable(),c=a.getCustomData("cke-fillingChar"); +c&&(c.getCustomData("ready")?(z(a),a.editor.fire("selectionCheck")):c.setCustomData("ready",1))},null,null,-1);b.on("beforeSetMode",function(){z(b.editable())},null,null,-1);b.on("getSnapshot",function(a){a.data&&(a.data=y(a.data))},b,null,20);b.on("toDataFormat",function(a){a.data.dataValue=y(a.data.dataValue)},null,null,0)});CKEDITOR.editor.prototype.selectionChange=function(a){(a?h:k).call(this)};CKEDITOR.editor.prototype.getSelection=function(a){return!this._.savedSelection&&!this._.fakeSelection|| +a?(a=this.editable())&&"wysiwyg"==this.mode?new CKEDITOR.dom.selection(a):null:this._.savedSelection||this._.fakeSelection};CKEDITOR.editor.prototype.lockSelection=function(a){a=a||this.getSelection(1);return a.getType()!=CKEDITOR.SELECTION_NONE?(!a.isLocked&&a.lock(),this._.savedSelection=a,!0):!1};CKEDITOR.editor.prototype.unlockSelection=function(a){var b=this._.savedSelection;return b?(b.unlock(a),delete this._.savedSelection,!0):!1};CKEDITOR.editor.prototype.forceNextSelectionCheck=function(){delete this._.selectionPreviousPath}; +CKEDITOR.dom.document.prototype.getSelection=function(){return new CKEDITOR.dom.selection(this)};CKEDITOR.dom.range.prototype.select=function(){var a=this.root instanceof CKEDITOR.editable?this.root.editor.getSelection():new CKEDITOR.dom.selection(this.root);a.selectRanges([this]);return a};CKEDITOR.SELECTION_NONE=1;CKEDITOR.SELECTION_TEXT=2;CKEDITOR.SELECTION_ELEMENT=3;CKEDITOR.dom.selection=function(a){if(a instanceof CKEDITOR.dom.selection){var b=a;a=a.root}var c=a instanceof CKEDITOR.dom.element; +this.rev=b?b.rev:J++;this.document=a instanceof CKEDITOR.dom.document?a:a.getDocument();this.root=c?a:this.document.getBody();this.isLocked=0;this._={cache:{}};if(b)return CKEDITOR.tools.extend(this._.cache,b._.cache),this.isFake=b.isFake,this.isLocked=b.isLocked,this;a=this.getNative();var d,e;if(a)if(a.getRangeAt)d=(e=a.rangeCount&&a.getRangeAt(0))&&new CKEDITOR.dom.node(e.commonAncestorContainer);else{try{e=a.createRange()}catch(f){}d=e&&CKEDITOR.dom.element.get(e.item&&e.item(0)||e.parentElement())}if(!d|| +d.type!=CKEDITOR.NODE_ELEMENT&&d.type!=CKEDITOR.NODE_TEXT||!this.root.equals(d)&&!this.root.contains(d))this._.cache.type=CKEDITOR.SELECTION_NONE,this._.cache.startElement=null,this._.cache.selectedElement=null,this._.cache.selectedText="",this._.cache.ranges=new CKEDITOR.dom.rangeList;return this};var M={img:1,hr:1,li:1,table:1,tr:1,td:1,th:1,embed:1,object:1,ol:1,ul:1,a:1,input:1,form:1,select:1,textarea:1,button:1,fieldset:1,thead:1,tfoot:1};CKEDITOR.tools.extend(CKEDITOR.dom.selection,{_removeFillingCharSequenceString:y, +_createFillingCharSequenceNode:e,FILLING_CHAR_SEQUENCE:u});CKEDITOR.dom.selection.prototype={getNative:function(){return void 0!==this._.cache.nativeSel?this._.cache.nativeSel:this._.cache.nativeSel=p?this.document.$.selection:this.document.getWindow().$.getSelection()},getType:p?function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_NONE;try{var c=this.getNative(),d=c.type;"Text"==d&&(b=CKEDITOR.SELECTION_TEXT);"Control"==d&&(b=CKEDITOR.SELECTION_ELEMENT);c.createRange().parentElement()&& +(b=CKEDITOR.SELECTION_TEXT)}catch(e){}return a.type=b}:function(){var a=this._.cache;if(a.type)return a.type;var b=CKEDITOR.SELECTION_TEXT,c=this.getNative();if(!c||!c.rangeCount)b=CKEDITOR.SELECTION_NONE;else if(1==c.rangeCount){var c=c.getRangeAt(0),d=c.startContainer;d==c.endContainer&&1==d.nodeType&&1==c.endOffset-c.startOffset&&M[d.childNodes[c.startOffset].nodeName.toLowerCase()]&&(b=CKEDITOR.SELECTION_ELEMENT)}return a.type=b},getRanges:function(){var a=p?function(){function a(b){return(new CKEDITOR.dom.node(b)).getIndex()} +var b=function(b,c){b=b.duplicate();b.collapse(c);var d=b.parentElement();if(!d.hasChildNodes())return{container:d,offset:0};for(var e=d.children,f,g,h=b.duplicate(),k=0,l=e.length-1,t=-1,m,p;k<=l;)if(t=Math.floor((k+l)/2),f=e[t],h.moveToElementText(f),m=h.compareEndPoints("StartToStart",b),0<m)l=t-1;else if(0>m)k=t+1;else return{container:d,offset:a(f)};if(-1==t||t==e.length-1&&0>m){h.moveToElementText(d);h.setEndPoint("StartToStart",b);h=h.text.replace(/(\r\n|\r)/g,"\n").length;e=d.childNodes;if(!h)return f= +e[e.length-1],f.nodeType!=CKEDITOR.NODE_TEXT?{container:d,offset:e.length}:{container:f,offset:f.nodeValue.length};for(d=e.length;0<h&&0<d;)g=e[--d],g.nodeType==CKEDITOR.NODE_TEXT&&(p=g,h-=g.nodeValue.length);return{container:p,offset:-h}}h.collapse(0<m?!0:!1);h.setEndPoint(0<m?"StartToStart":"EndToStart",b);h=h.text.replace(/(\r\n|\r)/g,"\n").length;if(!h)return{container:d,offset:a(f)+(0<m?0:1)};for(;0<h;)try{g=f[0<m?"previousSibling":"nextSibling"],g.nodeType==CKEDITOR.NODE_TEXT&&(h-=g.nodeValue.length, +p=g),f=g}catch(r){return{container:d,offset:a(f)}}return{container:p,offset:0<m?-h:p.nodeValue.length+h}};return function(){var a=this.getNative(),c=a&&a.createRange(),d=this.getType();if(!a)return[];if(d==CKEDITOR.SELECTION_TEXT)return a=new CKEDITOR.dom.range(this.root),d=b(c,!0),a.setStart(new CKEDITOR.dom.node(d.container),d.offset),d=b(c),a.setEnd(new CKEDITOR.dom.node(d.container),d.offset),a.endContainer.getPosition(a.startContainer)&CKEDITOR.POSITION_PRECEDING&&a.endOffset<=a.startContainer.getIndex()&& +a.collapse(),[a];if(d==CKEDITOR.SELECTION_ELEMENT){for(var d=[],e=0;e<c.length;e++){for(var f=c.item(e),g=f.parentNode,h=0,a=new CKEDITOR.dom.range(this.root);h<g.childNodes.length&&g.childNodes[h]!=f;h++);a.setStart(new CKEDITOR.dom.node(g),h);a.setEnd(new CKEDITOR.dom.node(g),h+1);d.push(a)}return d}return[]}}():function(){var a=[],b,c=this.getNative();if(!c)return a;for(var d=0;d<c.rangeCount;d++){var e=c.getRangeAt(d);b=new CKEDITOR.dom.range(this.root);b.setStart(new CKEDITOR.dom.node(e.startContainer), +e.startOffset);b.setEnd(new CKEDITOR.dom.node(e.endContainer),e.endOffset);a.push(b)}return a};return function(b){var c=this._.cache,d=c.ranges;d||(c.ranges=d=new CKEDITOR.dom.rangeList(a.call(this)));return b?x(new CKEDITOR.dom.rangeList(d.slice())):d}}(),getStartElement:function(){var a=this._.cache;if(void 0!==a.startElement)return a.startElement;var b;switch(this.getType()){case CKEDITOR.SELECTION_ELEMENT:return this.getSelectedElement();case CKEDITOR.SELECTION_TEXT:var c=this.getRanges()[0]; +if(c){if(c.collapsed)b=c.startContainer,b.type!=CKEDITOR.NODE_ELEMENT&&(b=b.getParent());else{for(c.optimize();b=c.startContainer,c.startOffset==(b.getChildCount?b.getChildCount():b.getLength())&&!b.isBlockBoundary();)c.setStartAfter(b);b=c.startContainer;if(b.type!=CKEDITOR.NODE_ELEMENT)return b.getParent();if((b=b.getChild(c.startOffset))&&b.type==CKEDITOR.NODE_ELEMENT)for(c=b.getFirst();c&&c.type==CKEDITOR.NODE_ELEMENT;)b=c,c=c.getFirst();else b=c.startContainer}b=b.$}}return a.startElement=b? +new CKEDITOR.dom.element(b):null},getSelectedElement:function(){var a=this._.cache;if(void 0!==a.selectedElement)return a.selectedElement;var b=this,c=CKEDITOR.tools.tryThese(function(){return b.getNative().createRange().item(0)},function(){for(var a=b.getRanges()[0].clone(),c,d,e=2;e&&!((c=a.getEnclosedNode())&&c.type==CKEDITOR.NODE_ELEMENT&&M[c.getName()]&&(d=c));e--)a.shrink(CKEDITOR.SHRINK_ELEMENT);return d&&d.$});return a.selectedElement=c?new CKEDITOR.dom.element(c):null},getSelectedText:function(){var a= +this._.cache;if(void 0!==a.selectedText)return a.selectedText;var b=this.getNative(),b=p?"Control"==b.type?"":b.createRange().text:b.toString();return a.selectedText=b},lock:function(){this.getRanges();this.getStartElement();this.getSelectedElement();this.getSelectedText();this._.cache.nativeSel=null;this.isLocked=1},unlock:function(a){if(this.isLocked){if(a)var b=this.getSelectedElement(),c=this.getRanges(),e=this.isFake;this.isLocked=0;this.reset();a&&(a=b||c[0]&&c[0].getCommonAncestor())&&a.getAscendant("body", +1)&&(d(c)?f.call(this,c):e?this.fake(b):b?this.selectElement(b):this.selectRanges(c))}},reset:function(){this._.cache={};this.isFake=0;var a=this.root.editor;if(a&&a._.fakeSelection)if(this.rev==a._.fakeSelection.rev){delete a._.fakeSelection;var b=a._.hiddenSelectionContainer;if(b){var c=a.checkDirty();a.fire("lockSnapshot");b.remove();a.fire("unlockSnapshot");!c&&a.resetDirty()}delete a._.hiddenSelectionContainer}else CKEDITOR.warn("selection-fake-reset");this.rev=J++},selectElement:function(a){var b= +new CKEDITOR.dom.range(this.root);b.setStartBefore(a);b.setEndAfter(a);this.selectRanges([b])},selectRanges:function(a){var b=this.root.editor,c=b&&b._.hiddenSelectionContainer;this.reset();if(c)for(var c=this.root,g,h=0;h<a.length;++h)g=a[h],g.endContainer.equals(c)&&(g.endOffset=Math.min(g.endOffset,c.getChildCount()));if(a.length)if(this.isLocked){var k=CKEDITOR.document.getActive();this.unlock();this.selectRanges(a);this.lock();k&&!k.equals(this.root)&&k.focus()}else{var n;a:{var m,v;if(1==a.length&& +!(v=a[0]).collapsed&&(n=v.getEnclosedNode())&&n.type==CKEDITOR.NODE_ELEMENT&&(v=v.clone(),v.shrink(CKEDITOR.SHRINK_ELEMENT,!0),(m=v.getEnclosedNode())&&m.type==CKEDITOR.NODE_ELEMENT&&(n=m),"false"==n.getAttribute("contenteditable")))break a;n=void 0}if(n)this.fake(n);else if(b&&b.plugins.tableselection&&CKEDITOR.plugins.tableselection.isSupportedEnvironment&&d(a)&&!l)f.call(this,a);else{if(p){m=CKEDITOR.dom.walker.whitespaces(!0);n=/\ufeff|\u00a0/;v={table:1,tbody:1,tr:1};1<a.length&&(b=a[a.length- +1],a[0].setEnd(b.endContainer,b.endOffset));b=a[0];a=b.collapsed;var B,G,I;if((c=b.getEnclosedNode())&&c.type==CKEDITOR.NODE_ELEMENT&&c.getName()in M&&(!c.is("a")||!c.getText()))try{I=c.$.createControlRange();I.addElement(c.$);I.select();return}catch(q){}if(b.startContainer.type==CKEDITOR.NODE_ELEMENT&&b.startContainer.getName()in v||b.endContainer.type==CKEDITOR.NODE_ELEMENT&&b.endContainer.getName()in v)b.shrink(CKEDITOR.NODE_ELEMENT,!0),a=b.collapsed;I=b.createBookmark();v=I.startNode;a||(k=I.endNode); +I=b.document.$.body.createTextRange();I.moveToElementText(v.$);I.moveStart("character",1);k?(n=b.document.$.body.createTextRange(),n.moveToElementText(k.$),I.setEndPoint("EndToEnd",n),I.moveEnd("character",-1)):(B=v.getNext(m),G=v.hasAscendant("pre"),B=!(B&&B.getText&&B.getText().match(n))&&(G||!v.hasPrevious()||v.getPrevious().is&&v.getPrevious().is("br")),G=b.document.createElement("span"),G.setHtml("\x26#65279;"),G.insertBefore(v),B&&b.document.createText("").insertBefore(v));b.setStartBefore(v); +v.remove();a?(B?(I.moveStart("character",-1),I.select(),b.document.$.selection.clear()):I.select(),b.moveToPosition(G,CKEDITOR.POSITION_BEFORE_START),G.remove()):(b.setEndBefore(k),k.remove(),I.select())}else{k=this.getNative();if(!k)return;this.removeAllRanges();for(I=0;I<a.length;I++){if(I<a.length-1&&(B=a[I],G=a[I+1],n=B.clone(),n.setStart(B.endContainer,B.endOffset),n.setEnd(G.startContainer,G.startOffset),!n.collapsed&&(n.shrink(CKEDITOR.NODE_ELEMENT,!0),b=n.getCommonAncestor(),n=n.getEnclosedNode(), +b.isReadOnly()||n&&n.isReadOnly()))){G.setStart(B.startContainer,B.startOffset);a.splice(I--,1);continue}b=a[I];G=this.document.$.createRange();b.collapsed&&CKEDITOR.env.webkit&&r(b)&&(n=e(this.root),b.insertNode(n),(B=n.getNext())&&!n.getPrevious()&&B.type==CKEDITOR.NODE_ELEMENT&&"br"==B.getName()?(z(this.root),b.moveToPosition(B,CKEDITOR.POSITION_BEFORE_START)):b.moveToPosition(n,CKEDITOR.POSITION_AFTER_END));G.setStart(b.startContainer.$,b.startOffset);try{G.setEnd(b.endContainer.$,b.endOffset)}catch(y){if(0<= +y.toString().indexOf("NS_ERROR_ILLEGAL_VALUE"))b.collapse(1),G.setEnd(b.endContainer.$,b.endOffset);else throw y;}k.addRange(G)}}this.reset();this.root.fire("selectionchange")}}},fake:function(a,b){var c=this.root.editor;void 0===b&&a.hasAttribute("aria-label")&&(b=a.getAttribute("aria-label"));this.reset();A(c,b);var d=this._.cache,e=new CKEDITOR.dom.range(this.root);e.setStartBefore(a);e.setEndAfter(a);d.ranges=new CKEDITOR.dom.rangeList(e);d.selectedElement=d.startElement=a;d.type=CKEDITOR.SELECTION_ELEMENT; +d.selectedText=d.nativeSel=null;this.isFake=1;this.rev=J++;c._.fakeSelection=this;this.root.fire("selectionchange")},isHidden:function(){var a=this.getCommonAncestor();a&&a.type==CKEDITOR.NODE_TEXT&&(a=a.getParent());return!(!a||!a.data("cke-hidden-sel"))},isInTable:function(a){return d(this.getRanges(),a)},isCollapsed:function(){var a=this.getRanges();return 1===a.length&&a[0].collapsed},createBookmarks:function(a){a=this.getRanges().createBookmarks(a);this.isFake&&(a.isFake=1);return a},createBookmarks2:function(a){a= +this.getRanges().createBookmarks2(a);this.isFake&&(a.isFake=1);return a},selectBookmarks:function(a){for(var b=[],c,e=0;e<a.length;e++){var f=new CKEDITOR.dom.range(this.root);f.moveToBookmark(a[e]);b.push(f)}a.isFake&&(c=d(b)?b[0]._getTableElement():b[0].getEnclosedNode(),c&&c.type==CKEDITOR.NODE_ELEMENT||(CKEDITOR.warn("selection-not-fake"),a.isFake=0));a.isFake&&!d(b)?this.fake(c):this.selectRanges(b);return this},getCommonAncestor:function(){var a=this.getRanges();return a.length?a[0].startContainer.getCommonAncestor(a[a.length- +1].endContainer):null},scrollIntoView:function(){this.type!=CKEDITOR.SELECTION_NONE&&this.getRanges()[0].scrollIntoView()},removeAllRanges:function(){if(this.getType()!=CKEDITOR.SELECTION_NONE){var a=this.getNative();try{a&&a[p?"empty":"removeAllRanges"]()}catch(b){}this.reset()}}}})();"use strict";CKEDITOR.STYLE_BLOCK=1;CKEDITOR.STYLE_INLINE=2;CKEDITOR.STYLE_OBJECT=3; +(function(){function a(a,b){for(var c,d;(a=a.getParent())&&!a.equals(b);)if(a.getAttribute("data-nostyle"))c=a;else if(!d){var e=a.getAttribute("contentEditable");"false"==e?c=a:"true"==e&&(d=1)}return c}function d(a,b,c,d){return(a.getPosition(b)|d)==d&&(!c.childRule||c.childRule(a))}function b(c){var e=c.document;if(c.collapsed)e=J(this,e),c.insertNode(e),c.moveToPosition(e,CKEDITOR.POSITION_BEFORE_END);else{var g=this.element,h=this._.definition,k,l=h.ignoreReadonly,m=l||h.includeReadonly;null== +m&&(m=c.root.getCustomData("cke_includeReadonly"));var p=CKEDITOR.dtd[g];p||(k=!0,p=CKEDITOR.dtd.span);c.enlarge(CKEDITOR.ENLARGE_INLINE,1);c.trim();var r=c.createBookmark(),t=r.startNode,y=r.endNode,q=t,u;if(!l){var x=c.getCommonAncestor(),l=a(t,x),x=a(y,x);l&&(q=l.getNextSourceNode(!0));x&&(y=x)}for(q.getPosition(y)==CKEDITOR.POSITION_FOLLOWING&&(q=0);q;){l=!1;if(q.equals(y))q=null,l=!0;else{var z=q.type==CKEDITOR.NODE_ELEMENT?q.getName():null,x=z&&"false"==q.getAttribute("contentEditable"),A=z&& +q.getAttribute("data-nostyle");if(z&&q.data("cke-bookmark")){q=q.getNextSourceNode(!0);continue}if(x&&m&&CKEDITOR.dtd.$block[z])for(var E=q,C=f(E),F=void 0,H=C.length,K=0,E=H&&new CKEDITOR.dom.range(E.getDocument());K<H;++K){var F=C[K],L=CKEDITOR.filter.instances[F.data("cke-filter")];if(L?L.check(this):1)E.selectNodeContents(F),b.call(this,E)}C=z?!p[z]||A?0:x&&!m?0:d(q,y,h,P):1;if(C)if(F=q.getParent(),C=h,H=g,K=k,!F||!(F.getDtd()||CKEDITOR.dtd.span)[H]&&!K||C.parentRule&&!C.parentRule(F))l=!0;else{if(u|| +z&&CKEDITOR.dtd.$removeEmpty[z]&&(q.getPosition(y)|P)!=P||(u=c.clone(),u.setStartBefore(q)),z=q.type,z==CKEDITOR.NODE_TEXT||x||z==CKEDITOR.NODE_ELEMENT&&!q.getChildCount()){for(var z=q,M;(l=!z.getNext(w))&&(M=z.getParent(),p[M.getName()])&&d(M,t,h,O);)z=M;u.setEndAfter(z)}}else l=!0;q=q.getNextSourceNode(A||x)}if(l&&u&&!u.collapsed){for(var l=J(this,e),x=l.hasAttributes(),A=u.getCommonAncestor(),z={},C={},F={},H={},U,R,aa;l&&A;){if(A.getName()==g){for(U in h.attributes)!H[U]&&(aa=A.getAttribute(R))&& +(l.getAttribute(U)==aa?C[U]=1:H[U]=1);for(R in h.styles)!F[R]&&(aa=A.getStyle(R))&&(l.getStyle(R)==aa?z[R]=1:F[R]=1)}A=A.getParent()}for(U in C)l.removeAttribute(U);for(R in z)l.removeStyle(R);x&&!l.hasAttributes()&&(l=null);l?(u.extractContents().appendTo(l),u.insertNode(l),D.call(this,l),l.mergeSiblings(),CKEDITOR.env.ie||l.$.normalize()):(l=new CKEDITOR.dom.element("span"),u.extractContents().appendTo(l),u.insertNode(l),D.call(this,l),l.remove(!0));u=null}}c.moveToBookmark(r);c.shrink(CKEDITOR.SHRINK_TEXT); +c.shrink(CKEDITOR.NODE_ELEMENT,!0)}}function c(a){function b(){for(var a=new CKEDITOR.dom.elementPath(d.getParent()),c=new CKEDITOR.dom.elementPath(p.getParent()),e=null,f=null,g=0;g<a.elements.length;g++){var h=a.elements[g];if(h==a.block||h==a.blockLimit)break;r.checkElementRemovable(h,!0)&&(e=h)}for(g=0;g<c.elements.length;g++){h=c.elements[g];if(h==c.block||h==c.blockLimit)break;r.checkElementRemovable(h,!0)&&(f=h)}f&&p.breakParent(f);e&&d.breakParent(e)}a.enlarge(CKEDITOR.ENLARGE_INLINE,1);var c= +a.createBookmark(),d=c.startNode,e=this._.definition.alwaysRemoveElement;if(a.collapsed){for(var f=new CKEDITOR.dom.elementPath(d.getParent(),a.root),g,h=0,k;h<f.elements.length&&(k=f.elements[h])&&k!=f.block&&k!=f.blockLimit;h++)if(this.checkElementRemovable(k)){var m;!e&&a.collapsed&&(a.checkBoundaryOfElement(k,CKEDITOR.END)||(m=a.checkBoundaryOfElement(k,CKEDITOR.START)))?(g=k,g.match=m?"start":"end"):(k.mergeSiblings(),k.is(this.element)?A.call(this,k):x(k,l(this)[k.getName()]))}if(g){e=d;for(h= +0;;h++){k=f.elements[h];if(k.equals(g))break;else if(k.match)continue;else k=k.clone();k.append(e);e=k}e["start"==g.match?"insertBefore":"insertAfter"](g)}}else{var p=c.endNode,r=this;b();for(f=d;!f.equals(p);)g=f.getNextSourceNode(),f.type==CKEDITOR.NODE_ELEMENT&&this.checkElementRemovable(f)&&(f.getName()==this.element?A.call(this,f):x(f,l(this)[f.getName()]),g.type==CKEDITOR.NODE_ELEMENT&&g.contains(d)&&(b(),g=d.getNext())),f=g}a.moveToBookmark(c);a.shrink(CKEDITOR.NODE_ELEMENT,!0)}function f(a){var b= +[];a.forEach(function(a){if("true"==a.getAttribute("contenteditable"))return b.push(a),!1},CKEDITOR.NODE_ELEMENT,!0);return b}function h(a){var b=a.getEnclosedNode()||a.getCommonAncestor(!1,!0);(a=(new CKEDITOR.dom.elementPath(b,a.root)).contains(this.element,1))&&!a.isReadOnly()&&u(a,this)}function k(a){var b=a.getCommonAncestor(!0,!0);if(a=(new CKEDITOR.dom.elementPath(b,a.root)).contains(this.element,1)){var b=this._.definition,c=b.attributes;if(c)for(var d in c)a.removeAttribute(d,c[d]);if(b.styles)for(var e in b.styles)b.styles.hasOwnProperty(e)&& +a.removeStyle(e)}}function g(a){var b=a.createBookmark(!0),c=a.createIterator();c.enforceRealBlocks=!0;this._.enterMode&&(c.enlargeBr=this._.enterMode!=CKEDITOR.ENTER_BR);for(var d,e=a.document,f;d=c.getNextParagraph();)!d.isReadOnly()&&(c.activeFilter?c.activeFilter.check(this):1)&&(f=J(this,e,d),r(d,f));a.moveToBookmark(b)}function m(a){var b=a.createBookmark(1),c=a.createIterator();c.enforceRealBlocks=!0;c.enlargeBr=this._.enterMode!=CKEDITOR.ENTER_BR;for(var d,e;d=c.getNextParagraph();)this.checkElementRemovable(d)&& +(d.is("pre")?((e=this._.enterMode==CKEDITOR.ENTER_BR?null:a.document.createElement(this._.enterMode==CKEDITOR.ENTER_P?"p":"div"))&&d.copyAttributes(e),r(d,e)):A.call(this,d));a.moveToBookmark(b)}function r(a,b){var c=!b;c&&(b=a.getDocument().createElement("div"),a.copyAttributes(b));var d=b&&b.is("pre"),f=a.is("pre"),g=!d&&f;if(d&&!f){f=b;(g=a.getBogus())&&g.remove();g=a.getHtml();g=z(g,/(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g,"");g=g.replace(/[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi,"$1");g=g.replace(/([ \t\n\r]+|&nbsp;)/g, +" ");g=g.replace(/<br\b[^>]*>/gi,"\n");if(CKEDITOR.env.ie){var h=a.getDocument().createElement("div");h.append(f);f.$.outerHTML="\x3cpre\x3e"+g+"\x3c/pre\x3e";f.copyAttributes(h.getFirst());f=h.getFirst().remove()}else f.setHtml(g);b=f}else g?b=y(c?[a.getHtml()]:e(a),b):a.moveChildren(b);b.replace(a);if(d){var c=b,k;(k=c.getPrevious(H))&&k.type==CKEDITOR.NODE_ELEMENT&&k.is("pre")&&(d=z(k.getHtml(),/\n$/,"")+"\n\n"+z(c.getHtml(),/^\n/,""),CKEDITOR.env.ie?c.$.outerHTML="\x3cpre\x3e"+d+"\x3c/pre\x3e": +c.setHtml(d),k.remove())}else c&&p(b)}function e(a){var b=[];z(a.getOuterHtml(),/(\S\s*)\n(?:\s|(<span[^>]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,function(a,b,c){return b+"\x3c/pre\x3e"+c+"\x3cpre\x3e"}).replace(/<pre\b.*?>([\s\S]*?)<\/pre>/gi,function(a,c){b.push(c)});return b}function z(a,b,c){var d="",e="";a=a.replace(/(^<span[^>]+data-cke-bookmark.*?\/span>)|(<span[^>]+data-cke-bookmark.*?\/span>$)/gi,function(a,b,c){b&&(d=b);c&&(e=c);return""});return d+a.replace(b,c)+e}function y(a,b){var c; +1<a.length&&(c=new CKEDITOR.dom.documentFragment(b.getDocument()));for(var d=0;d<a.length;d++){var e=a[d],e=e.replace(/(\r\n|\r)/g,"\n"),e=z(e,/^[ \t]*\n/,""),e=z(e,/\n$/,""),e=z(e,/^[ \t]+|[ \t]+$/g,function(a,b){return 1==a.length?"\x26nbsp;":b?" "+CKEDITOR.tools.repeat("\x26nbsp;",a.length-1):CKEDITOR.tools.repeat("\x26nbsp;",a.length-1)+" "}),e=e.replace(/\n/g,"\x3cbr\x3e"),e=e.replace(/[ \t]{2,}/g,function(a){return CKEDITOR.tools.repeat("\x26nbsp;",a.length-1)+" "});if(c){var f=b.clone();f.setHtml(e); +c.append(f)}else b.setHtml(e)}return c||b}function A(a,b){var c=this._.definition,d=c.attributes,c=c.styles,e=l(this)[a.getName()],f=CKEDITOR.tools.isEmpty(d)&&CKEDITOR.tools.isEmpty(c),g;for(g in d)if("class"!=g&&!this._.definition.fullMatch||a.getAttribute(g)==q(g,d[g]))b&&"data-"==g.slice(0,5)||(f=a.hasAttribute(g),a.removeAttribute(g));for(var h in c)this._.definition.fullMatch&&a.getStyle(h)!=q(h,c[h],!0)||(f=f||!!a.getStyle(h),a.removeStyle(h));x(a,e,C[a.getName()]);f&&(this._.definition.alwaysRemoveElement? +p(a,1):!CKEDITOR.dtd.$block[a.getName()]||this._.enterMode==CKEDITOR.ENTER_BR&&!a.hasAttributes()?p(a):a.renameNode(this._.enterMode==CKEDITOR.ENTER_P?"p":"div"))}function D(a){for(var b=l(this),c=a.getElementsByTag(this.element),d,e=c.count();0<=--e;)d=c.getItem(e),d.isReadOnly()||A.call(this,d,!0);for(var f in b)if(f!=this.element)for(c=a.getElementsByTag(f),e=c.count()-1;0<=e;e--)d=c.getItem(e),d.isReadOnly()||x(d,b[f])}function x(a,b,c){if(b=b&&b.attributes)for(var d=0;d<b.length;d++){var e=b[d][0], +f;if(f=a.getAttribute(e)){var g=b[d][1];(null===g||g.test&&g.test(f)||"string"==typeof g&&f==g)&&a.removeAttribute(e)}}c||p(a)}function p(a,b){if(!a.hasAttributes()||b)if(CKEDITOR.dtd.$block[a.getName()]){var c=a.getPrevious(H),d=a.getNext(H);!c||c.type!=CKEDITOR.NODE_TEXT&&c.isBlockBoundary({br:1})||a.append("br",1);!d||d.type!=CKEDITOR.NODE_TEXT&&d.isBlockBoundary({br:1})||a.append("br");a.remove(!0)}else c=a.getFirst(),d=a.getLast(),a.remove(!0),c&&(c.type==CKEDITOR.NODE_ELEMENT&&c.mergeSiblings(), +d&&!c.equals(d)&&d.type==CKEDITOR.NODE_ELEMENT&&d.mergeSiblings())}function J(a,b,c){var d;d=a.element;"*"==d&&(d="span");d=new CKEDITOR.dom.element(d,b);c&&c.copyAttributes(d);d=u(d,a);b.getCustomData("doc_processing_style")&&d.hasAttribute("id")?d.removeAttribute("id"):b.setCustomData("doc_processing_style",1);return d}function u(a,b){var c=b._.definition,d=c.attributes,c=CKEDITOR.style.getStyleText(c);if(d)for(var e in d)a.setAttribute(e,d[e]);c&&a.setAttribute("style",c);return a}function K(a, +b){for(var c in a)a[c]=a[c].replace(E,function(a,c){return b[c]})}function l(a){if(a._.overrides)return a._.overrides;var b=a._.overrides={},c=a._.definition.overrides;if(c){CKEDITOR.tools.isArray(c)||(c=[c]);for(var d=0;d<c.length;d++){var e=c[d],f,g;"string"==typeof e?f=e.toLowerCase():(f=e.element?e.element.toLowerCase():a.element,g=e.attributes);e=b[f]||(b[f]={});if(g){var e=e.attributes=e.attributes||[],h;for(h in g)e.push([h.toLowerCase(),g[h]])}}}return b}function q(a,b,c){var d=new CKEDITOR.dom.element("span"); +d[c?"setStyle":"setAttribute"](a,b);return d[c?"getStyle":"getAttribute"](a)}function F(a,b){function c(a,b){return"font-family"==b.toLowerCase()?a.replace(/["']/g,""):a}"string"==typeof a&&(a=CKEDITOR.tools.parseCssText(a));"string"==typeof b&&(b=CKEDITOR.tools.parseCssText(b,!0));for(var d in a)if(!(d in b)||c(b[d],d)!=c(a[d],d)&&"inherit"!=a[d]&&"inherit"!=b[d])return!1;return!0}function L(a,b,c){var d=a.document,e=a.getRanges();b=b?this.removeFromRange:this.applyToRange;var f,g;if(a.isFake&&a.isInTable())for(f= +[],g=0;g<e.length;g++)f.push(e[g].clone());for(var h=e.createIterator();g=h.getNextRange();)b.call(this,g,c);a.selectRanges(f||e);d.removeCustomData("doc_processing_style")}var C={address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1,section:1,header:1,footer:1,nav:1,article:1,aside:1,figure:1,dialog:1,hgroup:1,time:1,meter:1,menu:1,command:1,keygen:1,output:1,progress:1,details:1,datagrid:1,datalist:1},M={a:1,blockquote:1,embed:1,hr:1,img:1,li:1,object:1,ol:1,table:1,td:1,tr:1,th:1,ul:1,dl:1,dt:1, +dd:1,form:1,audio:1,video:1},t=/\s*(?:;\s*|$)/,E=/#\((.+?)\)/g,w=CKEDITOR.dom.walker.bookmark(0,1),H=CKEDITOR.dom.walker.whitespaces(1);CKEDITOR.style=function(a,b){if("string"==typeof a.type)return new CKEDITOR.style.customHandlers[a.type](a);var c=a.attributes;c&&c.style&&(a.styles=CKEDITOR.tools.extend({},a.styles,CKEDITOR.tools.parseCssText(c.style)),delete c.style);b&&(a=CKEDITOR.tools.clone(a),K(a.attributes,b),K(a.styles,b));c=this.element=a.element?"string"==typeof a.element?a.element.toLowerCase(): +a.element:"*";this.type=a.type||(C[c]?CKEDITOR.STYLE_BLOCK:M[c]?CKEDITOR.STYLE_OBJECT:CKEDITOR.STYLE_INLINE);"object"==typeof this.element&&(this.type=CKEDITOR.STYLE_OBJECT);this._={definition:a}};CKEDITOR.style.prototype={apply:function(a){if(a instanceof CKEDITOR.dom.document)return L.call(this,a.getSelection());if(this.checkApplicable(a.elementPath(),a)){var b=this._.enterMode;b||(this._.enterMode=a.activeEnterMode);L.call(this,a.getSelection(),0,a);this._.enterMode=b}},remove:function(a){if(a instanceof +CKEDITOR.dom.document)return L.call(this,a.getSelection(),1);if(this.checkApplicable(a.elementPath(),a)){var b=this._.enterMode;b||(this._.enterMode=a.activeEnterMode);L.call(this,a.getSelection(),1,a);this._.enterMode=b}},applyToRange:function(a){this.applyToRange=this.type==CKEDITOR.STYLE_INLINE?b:this.type==CKEDITOR.STYLE_BLOCK?g:this.type==CKEDITOR.STYLE_OBJECT?h:null;return this.applyToRange(a)},removeFromRange:function(a){this.removeFromRange=this.type==CKEDITOR.STYLE_INLINE?c:this.type==CKEDITOR.STYLE_BLOCK? +m:this.type==CKEDITOR.STYLE_OBJECT?k:null;return this.removeFromRange(a)},applyToObject:function(a){u(a,this)},checkActive:function(a,b){switch(this.type){case CKEDITOR.STYLE_BLOCK:return this.checkElementRemovable(a.block||a.blockLimit,!0,b);case CKEDITOR.STYLE_OBJECT:case CKEDITOR.STYLE_INLINE:for(var c=a.elements,d=0,e;d<c.length;d++)if(e=c[d],this.type!=CKEDITOR.STYLE_INLINE||e!=a.block&&e!=a.blockLimit){if(this.type==CKEDITOR.STYLE_OBJECT){var f=e.getName();if(!("string"==typeof this.element? +f==this.element:f in this.element))continue}if(this.checkElementRemovable(e,!0,b))return!0}}return!1},checkApplicable:function(a,b,c){b&&b instanceof CKEDITOR.filter&&(c=b);if(c&&!c.check(this))return!1;switch(this.type){case CKEDITOR.STYLE_OBJECT:return!!a.contains(this.element);case CKEDITOR.STYLE_BLOCK:return!!a.blockLimit.getDtd()[this.element]}return!0},checkElementMatch:function(a,b){var c=this._.definition;if(!a||!c.ignoreReadonly&&a.isReadOnly())return!1;var d=a.getName();if("string"==typeof this.element? +d==this.element:d in this.element){if(!b&&!a.hasAttributes())return!0;if(d=c._AC)c=d;else{var d={},e=0,f=c.attributes;if(f)for(var g in f)e++,d[g]=f[g];if(g=CKEDITOR.style.getStyleText(c))d.style||e++,d.style=g;d._length=e;c=c._AC=d}if(c._length){for(var h in c)if("_length"!=h)if(d=a.getAttribute(h)||"","style"==h?F(c[h],d):c[h]==d){if(!b)return!0}else if(b)return!1;if(b)return!0}else return!0}return!1},checkElementRemovable:function(a,b,c){if(this.checkElementMatch(a,b,c))return!0;if(b=l(this)[a.getName()]){var d; +if(!(b=b.attributes))return!0;for(c=0;c<b.length;c++)if(d=b[c][0],d=a.getAttribute(d)){var e=b[c][1];if(null===e)return!0;if("string"==typeof e){if(d==e)return!0}else if(e.test(d))return!0}}return!1},buildPreview:function(a){var b=this._.definition,c=[],d=b.element;"bdo"==d&&(d="span");var c=["\x3c",d],e=b.attributes;if(e)for(var f in e)c.push(" ",f,'\x3d"',e[f],'"');(e=CKEDITOR.style.getStyleText(b))&&c.push(' style\x3d"',e,'"');c.push("\x3e",a||b.name,"\x3c/",d,"\x3e");return c.join("")},getDefinition:function(){return this._.definition}}; +CKEDITOR.style.getStyleText=function(a){var b=a._ST;if(b)return b;var b=a.styles,c=a.attributes&&a.attributes.style||"",d="";c.length&&(c=c.replace(t,";"));for(var e in b){var f=b[e],g=(e+":"+f).replace(t,";");"inherit"==f?d+=g:c+=g}c.length&&(c=CKEDITOR.tools.normalizeCssText(c,!0));return a._ST=c+d};CKEDITOR.style.customHandlers={};CKEDITOR.style.addCustomHandler=function(a){var b=function(a){this._={definition:a};this.setup&&this.setup(a)};b.prototype=CKEDITOR.tools.extend(CKEDITOR.tools.prototypedCopy(CKEDITOR.style.prototype), +{assignedTo:CKEDITOR.STYLE_OBJECT},a,!0);return this.customHandlers[a.type]=b};var P=CKEDITOR.POSITION_PRECEDING|CKEDITOR.POSITION_IDENTICAL|CKEDITOR.POSITION_IS_CONTAINED,O=CKEDITOR.POSITION_FOLLOWING|CKEDITOR.POSITION_IDENTICAL|CKEDITOR.POSITION_IS_CONTAINED})();CKEDITOR.styleCommand=function(a,d){this.requiredContent=this.allowedContent=this.style=a;CKEDITOR.tools.extend(this,d,!0)}; +CKEDITOR.styleCommand.prototype.exec=function(a){a.focus();this.state==CKEDITOR.TRISTATE_OFF?a.applyStyle(this.style):this.state==CKEDITOR.TRISTATE_ON&&a.removeStyle(this.style)};CKEDITOR.stylesSet=new CKEDITOR.resourceManager("","stylesSet");CKEDITOR.addStylesSet=CKEDITOR.tools.bind(CKEDITOR.stylesSet.add,CKEDITOR.stylesSet);CKEDITOR.loadStylesSet=function(a,d,b){CKEDITOR.stylesSet.addExternal(a,d,"");CKEDITOR.stylesSet.load(a,b)}; +CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{attachStyleStateChange:function(a,d){var b=this._.styleStateChangeCallbacks;b||(b=this._.styleStateChangeCallbacks=[],this.on("selectionChange",function(a){for(var d=0;d<b.length;d++){var h=b[d],k=h.style.checkActive(a.data.path,this)?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF;h.fn.call(this,k)}}));b.push({style:a,fn:d})},applyStyle:function(a){a.apply(this)},removeStyle:function(a){a.remove(this)},getStylesSet:function(a){if(this._.stylesDefinitions)a(this._.stylesDefinitions); +else{var d=this,b=d.config.stylesCombo_stylesSet||d.config.stylesSet;if(!1===b)a(null);else if(b instanceof Array)d._.stylesDefinitions=b,a(b);else{b||(b="default");var b=b.split(":"),c=b[0];CKEDITOR.stylesSet.addExternal(c,b[1]?b.slice(1).join(":"):CKEDITOR.getUrl("styles.js"),"");CKEDITOR.stylesSet.load(c,function(b){d._.stylesDefinitions=b[c];a(d._.stylesDefinitions)})}}}}); +CKEDITOR.dom.comment=function(a,d){"string"==typeof a&&(a=(d?d.$:document).createComment(a));CKEDITOR.dom.domObject.call(this,a)};CKEDITOR.dom.comment.prototype=new CKEDITOR.dom.node;CKEDITOR.tools.extend(CKEDITOR.dom.comment.prototype,{type:CKEDITOR.NODE_COMMENT,getOuterHtml:function(){return"\x3c!--"+this.$.nodeValue+"--\x3e"}});"use strict"; +(function(){var a={},d={},b;for(b in CKEDITOR.dtd.$blockLimit)b in CKEDITOR.dtd.$list||(a[b]=1);for(b in CKEDITOR.dtd.$block)b in CKEDITOR.dtd.$blockLimit||b in CKEDITOR.dtd.$empty||(d[b]=1);CKEDITOR.dom.elementPath=function(b,f){var h=null,k=null,g=[],m=b,r;f=f||b.getDocument().getBody();m||(m=f);do if(m.type==CKEDITOR.NODE_ELEMENT){g.push(m);if(!this.lastElement&&(this.lastElement=m,m.is(CKEDITOR.dtd.$object)||"false"==m.getAttribute("contenteditable")))continue;if(m.equals(f))break;if(!k&&(r=m.getName(), +"true"==m.getAttribute("contenteditable")?k=m:!h&&d[r]&&(h=m),a[r])){if(r=!h&&"div"==r){a:{r=m.getChildren();for(var e=0,z=r.count();e<z;e++){var y=r.getItem(e);if(y.type==CKEDITOR.NODE_ELEMENT&&CKEDITOR.dtd.$block[y.getName()]){r=!0;break a}}r=!1}r=!r}r?h=m:k=m}}while(m=m.getParent());k||(k=f);this.block=h;this.blockLimit=k;this.root=f;this.elements=g}})(); +CKEDITOR.dom.elementPath.prototype={compare:function(a){var d=this.elements;a=a&&a.elements;if(!a||d.length!=a.length)return!1;for(var b=0;b<d.length;b++)if(!d[b].equals(a[b]))return!1;return!0},contains:function(a,d,b){var c=0,f;"string"==typeof a&&(f=function(b){return b.getName()==a});a instanceof CKEDITOR.dom.element?f=function(b){return b.equals(a)}:CKEDITOR.tools.isArray(a)?f=function(b){return-1<CKEDITOR.tools.indexOf(a,b.getName())}:"function"==typeof a?f=a:"object"==typeof a&&(f=function(b){return b.getName()in +a});var h=this.elements,k=h.length;d&&(b?c+=1:--k);b&&(h=Array.prototype.slice.call(h,0),h.reverse());for(;c<k;c++)if(f(h[c]))return h[c];return null},isContextFor:function(a){var d;return a in CKEDITOR.dtd.$block?(d=this.contains(CKEDITOR.dtd.$intermediate)||this.root.equals(this.block)&&this.block||this.blockLimit,!!d.getDtd()[a]):!0},direction:function(){return(this.block||this.blockLimit||this.root).getDirection(1)}}; +CKEDITOR.dom.text=function(a,d){"string"==typeof a&&(a=(d?d.$:document).createTextNode(a));this.$=a};CKEDITOR.dom.text.prototype=new CKEDITOR.dom.node; +CKEDITOR.tools.extend(CKEDITOR.dom.text.prototype,{type:CKEDITOR.NODE_TEXT,getLength:function(){return this.$.nodeValue.length},getText:function(){return this.$.nodeValue},setText:function(a){this.$.nodeValue=a},split:function(a){var d=this.$.parentNode,b=d.childNodes.length,c=this.getLength(),f=this.getDocument(),h=new CKEDITOR.dom.text(this.$.splitText(a),f);d.childNodes.length==b&&(a>=c?(h=f.createText(""),h.insertAfter(this)):(a=f.createText(""),a.insertAfter(h),a.remove()));return h},substring:function(a, +d){return"number"!=typeof d?this.$.nodeValue.substr(a):this.$.nodeValue.substring(a,d)}}); +(function(){function a(a,c,d){var h=a.serializable,k=c[d?"endContainer":"startContainer"],g=d?"endOffset":"startOffset",m=h?c.document.getById(a.startNode):a.startNode;a=h?c.document.getById(a.endNode):a.endNode;k.equals(m.getPrevious())?(c.startOffset=c.startOffset-k.getLength()-a.getPrevious().getLength(),k=a.getNext()):k.equals(a.getPrevious())&&(c.startOffset-=k.getLength(),k=a.getNext());k.equals(m.getParent())&&c[g]++;k.equals(a.getParent())&&c[g]++;c[d?"endContainer":"startContainer"]=k;return c} +CKEDITOR.dom.rangeList=function(a){if(a instanceof CKEDITOR.dom.rangeList)return a;a?a instanceof CKEDITOR.dom.range&&(a=[a]):a=[];return CKEDITOR.tools.extend(a,d)};var d={createIterator:function(){var a=this,c=CKEDITOR.dom.walker.bookmark(),d=[],h;return{getNextRange:function(k){h=void 0===h?0:h+1;var g=a[h];if(g&&1<a.length){if(!h)for(var m=a.length-1;0<=m;m--)d.unshift(a[m].createBookmark(!0));if(k)for(var r=0;a[h+r+1];){var e=g.document;k=0;m=e.getById(d[r].endNode);for(e=e.getById(d[r+1].startNode);;){m= +m.getNextSourceNode(!1);if(e.equals(m))k=1;else if(c(m)||m.type==CKEDITOR.NODE_ELEMENT&&m.isBlockBoundary())continue;break}if(!k)break;r++}for(g.moveToBookmark(d.shift());r--;)m=a[++h],m.moveToBookmark(d.shift()),g.setEnd(m.endContainer,m.endOffset)}return g}}},createBookmarks:function(b){for(var c=[],d,h=0;h<this.length;h++){c.push(d=this[h].createBookmark(b,!0));for(var k=h+1;k<this.length;k++)this[k]=a(d,this[k]),this[k]=a(d,this[k],!0)}return c},createBookmarks2:function(a){for(var c=[],d=0;d< +this.length;d++)c.push(this[d].createBookmark2(a));return c},moveToBookmarks:function(a){for(var c=0;c<this.length;c++)this[c].moveToBookmark(a[c])}}})(); +(function(){function a(){return CKEDITOR.getUrl(CKEDITOR.skinName.split(",")[1]||"skins/"+CKEDITOR.skinName.split(",")[0]+"/")}function d(b){var c=CKEDITOR.skin["ua_"+b],d=CKEDITOR.env;if(c)for(var c=c.split(",").sort(function(a,b){return a>b?-1:1}),f=0,g;f<c.length;f++)if(g=c[f],d.ie&&(g.replace(/^ie/,"")==d.version||d.quirks&&"iequirks"==g)&&(g="ie"),d[g]){b+="_"+c[f];break}return CKEDITOR.getUrl(a()+b+".css")}function b(a,b){h[a]||(CKEDITOR.document.appendStyleSheet(d(a)),h[a]=1);b&&b()}function c(a){var b= +a.getById(k);b||(b=a.getHead().append("style"),b.setAttribute("id",k),b.setAttribute("type","text/css"));return b}function f(a,b,c){var d,f,g;if(CKEDITOR.env.webkit)for(b=b.split("}").slice(0,-1),f=0;f<b.length;f++)b[f]=b[f].split("{");for(var h=0;h<a.length;h++)if(CKEDITOR.env.webkit)for(f=0;f<b.length;f++){g=b[f][1];for(d=0;d<c.length;d++)g=g.replace(c[d][0],c[d][1]);a[h].$.sheet.addRule(b[f][0],g)}else{g=b;for(d=0;d<c.length;d++)g=g.replace(c[d][0],c[d][1]);CKEDITOR.env.ie&&11>CKEDITOR.env.version? +a[h].$.styleSheet.cssText+=g:a[h].$.innerHTML+=g}}var h={};CKEDITOR.skin={path:a,loadPart:function(c,d){CKEDITOR.skin.name!=CKEDITOR.skinName.split(",")[0]?CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(a()+"skin.js"),function(){b(c,d)}):b(c,d)},getPath:function(a){return CKEDITOR.getUrl(d(a))},icons:{},addIcon:function(a,b,c,d){a=a.toLowerCase();this.icons[a]||(this.icons[a]={path:b,offset:c||0,bgsize:d||"16px"})},getIconStyle:function(a,b,c,d,f){var g;a&&(a=a.toLowerCase(),b&&(g=this.icons[a+"-rtl"]), +g||(g=this.icons[a]));a=c||g&&g.path||"";d=d||g&&g.offset;f=f||g&&g.bgsize||"16px";a&&(a=a.replace(/'/g,"\\'"));return a&&"background-image:url('"+CKEDITOR.getUrl(a)+"');background-position:0 "+d+"px;background-size:"+f+";"}};CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{getUiColor:function(){return this.uiColor},setUiColor:function(a){var b=c(CKEDITOR.document);return(this.setUiColor=function(a){this.uiColor=a;var c=CKEDITOR.skin.chameleon,d="",h="";"function"==typeof c&&(d=c(this,"editor"),h= +c(this,"panel"));a=[[m,a]];f([b],d,a);f(g,h,a)}).call(this,a)}});var k="cke_ui_color",g=[],m=/\$color/g;CKEDITOR.on("instanceLoaded",function(a){if(!CKEDITOR.env.ie||!CKEDITOR.env.quirks){var b=a.editor;a=function(a){a=(a.data[0]||a.data).element.getElementsByTag("iframe").getItem(0).getFrameDocument();if(!a.getById("cke_ui_color")){a=c(a);g.push(a);var d=b.getUiColor();d&&f([a],CKEDITOR.skin.chameleon(b,"panel"),[[m,d]])}};b.on("panelShow",a);b.on("menuShow",a);b.config.uiColor&&b.setUiColor(b.config.uiColor)}})})(); +(function(){if(CKEDITOR.env.webkit)CKEDITOR.env.hc=!1;else{var a=CKEDITOR.dom.element.createFromHtml('\x3cdiv style\x3d"width:0;height:0;position:absolute;left:-10000px;border:1px solid;border-color:red blue"\x3e\x3c/div\x3e',CKEDITOR.document);a.appendTo(CKEDITOR.document.getHead());try{var d=a.getComputedStyle("border-top-color"),b=a.getComputedStyle("border-right-color");CKEDITOR.env.hc=!(!d||d!=b)}catch(c){CKEDITOR.env.hc=!1}a.remove()}CKEDITOR.env.hc&&(CKEDITOR.env.cssClass+=" cke_hc");CKEDITOR.document.appendStyleText(".cke{visibility:hidden;}"); +CKEDITOR.status="loaded";CKEDITOR.fireOnce("loaded");if(a=CKEDITOR._.pending)for(delete CKEDITOR._.pending,d=0;d<a.length;d++)CKEDITOR.editor.prototype.constructor.apply(a[d][0],a[d][1]),CKEDITOR.add(a[d][0])})();/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +CKEDITOR.skin.name="moono-lisa";CKEDITOR.skin.ua_editor="ie,iequirks,ie8,gecko";CKEDITOR.skin.ua_dialog="ie,iequirks,ie8"; +CKEDITOR.skin.chameleon=function(){var b=function(){return function(b,d){for(var a=b.match(/[^#]./g),e=0;3>e;e++){var f=e,c;c=parseInt(a[e],16);c=("0"+(0>d?0|c*(1+d):0|c+(255-c)*d).toString(16)).slice(-2);a[f]=c}return"#"+a.join("")}}(),f={editor:new CKEDITOR.template("{id}.cke_chrome [border-color:{defaultBorder};] {id} .cke_top [ background-color:{defaultBackground};border-bottom-color:{defaultBorder};] {id} .cke_bottom [background-color:{defaultBackground};border-top-color:{defaultBorder};] {id} .cke_resizer [border-right-color:{ckeResizer}] {id} .cke_dialog_title [background-color:{defaultBackground};border-bottom-color:{defaultBorder};] {id} .cke_dialog_footer [background-color:{defaultBackground};outline-color:{defaultBorder};] {id} .cke_dialog_tab [background-color:{dialogTab};border-color:{defaultBorder};] {id} .cke_dialog_tab:hover [background-color:{lightBackground};] {id} .cke_dialog_contents [border-top-color:{defaultBorder};] {id} .cke_dialog_tab_selected, {id} .cke_dialog_tab_selected:hover [background:{dialogTabSelected};border-bottom-color:{dialogTabSelectedBorder};] {id} .cke_dialog_body [background:{dialogBody};border-color:{defaultBorder};] {id} a.cke_button_off:hover,{id} a.cke_button_off:focus,{id} a.cke_button_off:active [background-color:{darkBackground};border-color:{toolbarElementsBorder};] {id} .cke_button_on [background-color:{ckeButtonOn};border-color:{toolbarElementsBorder};] {id} .cke_toolbar_separator,{id} .cke_toolgroup a.cke_button:last-child:after,{id} .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after [background-color: {toolbarElementsBorder};border-color: {toolbarElementsBorder};] {id} a.cke_combo_button:hover,{id} a.cke_combo_button:focus,{id} .cke_combo_on a.cke_combo_button [border-color:{toolbarElementsBorder};background-color:{darkBackground};] {id} .cke_combo:after [border-color:{toolbarElementsBorder};] {id} .cke_path_item [color:{elementsPathColor};] {id} a.cke_path_item:hover,{id} a.cke_path_item:focus,{id} a.cke_path_item:active [background-color:{darkBackground};] {id}.cke_panel [border-color:{defaultBorder};] "),panel:new CKEDITOR.template(".cke_panel_grouptitle [background-color:{lightBackground};border-color:{defaultBorder};] .cke_menubutton_icon [background-color:{menubuttonIcon};] .cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active [background-color:{menubuttonHover};] .cke_menubutton:hover .cke_menubutton_icon, .cke_menubutton:focus .cke_menubutton_icon, .cke_menubutton:active .cke_menubutton_icon [background-color:{menubuttonIconHover};] .cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon [background-color:{menubuttonIcon};] .cke_menuseparator [background-color:{menubuttonIcon};] a:hover.cke_colorbox, a:active.cke_colorbox [border-color:{defaultBorder};] a:hover.cke_colorauto, a:hover.cke_colormore, a:active.cke_colorauto, a:active.cke_colormore [background-color:{ckeColorauto};border-color:{defaultBorder};] ")}; +return function(g,d){var a=b(g.uiColor,.4),a={id:"."+g.id,defaultBorder:b(a,-.2),toolbarElementsBorder:b(a,-.25),defaultBackground:a,lightBackground:b(a,.8),darkBackground:b(a,-.15),ckeButtonOn:b(a,.4),ckeResizer:b(a,-.4),ckeColorauto:b(a,.8),dialogBody:b(a,.7),dialogTab:b(a,.65),dialogTabSelected:"#FFF",dialogTabSelectedBorder:"#FFF",elementsPathColor:b(a,-.6),menubuttonHover:b(a,.1),menubuttonIcon:b(a,.5),menubuttonIconHover:b(a,.3)};return f[d].output(a).replace(/\[/g,"{").replace(/\]/g,"}")}}();CKEDITOR.plugins.add("dialogui",{onLoad:function(){var h=function(b){this._||(this._={});this._["default"]=this._.initValue=b["default"]||"";this._.required=b.required||!1;for(var a=[this._],d=1;d<arguments.length;d++)a.push(arguments[d]);a.push(!0);CKEDITOR.tools.extend.apply(CKEDITOR.tools,a);return this._},v={build:function(b,a,d){return new CKEDITOR.ui.dialog.textInput(b,a,d)}},n={build:function(b,a,d){return new CKEDITOR.ui.dialog[a.type](b,a,d)}},q={isChanged:function(){return this.getValue()!= +this.getInitValue()},reset:function(b){this.setValue(this.getInitValue(),b)},setInitValue:function(){this._.initValue=this.getValue()},resetInitValue:function(){this._.initValue=this._["default"]},getInitValue:function(){return this._.initValue}},r=CKEDITOR.tools.extend({},CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,{onChange:function(b,a){this._.domOnChangeRegistered||(b.on("load",function(){this.getInputElement().on("change",function(){b.parts.dialog.isVisible()&&this.fire("change",{value:this.getValue()})}, +this)},this),this._.domOnChangeRegistered=!0);this.on("change",a)}},!0),x=/^on([A-Z]\w+)/,t=function(b){for(var a in b)(x.test(a)||"title"==a||"type"==a)&&delete b[a];return b},w=function(b){b=b.data.getKeystroke();b==CKEDITOR.SHIFT+CKEDITOR.ALT+36?this.setDirectionMarker("ltr"):b==CKEDITOR.SHIFT+CKEDITOR.ALT+35&&this.setDirectionMarker("rtl")};CKEDITOR.tools.extend(CKEDITOR.ui.dialog,{labeledElement:function(b,a,d,f){if(!(4>arguments.length)){var c=h.call(this,a);c.labelId=CKEDITOR.tools.getNextId()+ +"_label";this._.children=[];var e={role:a.role||"presentation"};a.includeLabel&&(e["aria-labelledby"]=c.labelId);CKEDITOR.ui.dialog.uiElement.call(this,b,a,d,"div",null,e,function(){var e=[],g=a.required?" cke_required":"";"horizontal"!=a.labelLayout?e.push('\x3clabel class\x3d"cke_dialog_ui_labeled_label'+g+'" ',' id\x3d"'+c.labelId+'"',c.inputId?' for\x3d"'+c.inputId+'"':"",(a.labelStyle?' style\x3d"'+a.labelStyle+'"':"")+"\x3e",a.label,"\x3c/label\x3e",'\x3cdiv class\x3d"cke_dialog_ui_labeled_content"', +a.controlStyle?' style\x3d"'+a.controlStyle+'"':"",' role\x3d"presentation"\x3e',f.call(this,b,a),"\x3c/div\x3e"):(g={type:"hbox",widths:a.widths,padding:0,children:[{type:"html",html:'\x3clabel class\x3d"cke_dialog_ui_labeled_label'+g+'" id\x3d"'+c.labelId+'" for\x3d"'+c.inputId+'"'+(a.labelStyle?' style\x3d"'+a.labelStyle+'"':"")+"\x3e"+CKEDITOR.tools.htmlEncode(a.label)+"\x3c/label\x3e"},{type:"html",html:'\x3cspan class\x3d"cke_dialog_ui_labeled_content"'+(a.controlStyle?' style\x3d"'+a.controlStyle+ +'"':"")+"\x3e"+f.call(this,b,a)+"\x3c/span\x3e"}]},CKEDITOR.dialog._.uiElementBuilders.hbox.build(b,g,e));return e.join("")})}},textInput:function(b,a,d){if(!(3>arguments.length)){h.call(this,a);var f=this._.inputId=CKEDITOR.tools.getNextId()+"_textInput",c={"class":"cke_dialog_ui_input_"+a.type,id:f,type:a.type};a.validate&&(this.validate=a.validate);a.maxLength&&(c.maxlength=a.maxLength);a.size&&(c.size=a.size);a.inputStyle&&(c.style=a.inputStyle);var e=this,m=!1;b.on("load",function(){e.getInputElement().on("keydown", +function(a){13==a.data.getKeystroke()&&(m=!0)});e.getInputElement().on("keyup",function(a){13==a.data.getKeystroke()&&m&&(b.getButton("ok")&&setTimeout(function(){b.getButton("ok").click()},0),m=!1);e.bidi&&w.call(e,a)},null,null,1E3)});CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){var b=['\x3cdiv class\x3d"cke_dialog_ui_input_',a.type,'" role\x3d"presentation"'];a.width&&b.push('style\x3d"width:'+a.width+'" ');b.push("\x3e\x3cinput ");c["aria-labelledby"]=this._.labelId;this._.required&& +(c["aria-required"]=this._.required);for(var e in c)b.push(e+'\x3d"'+c[e]+'" ');b.push(" /\x3e\x3c/div\x3e");return b.join("")})}},textarea:function(b,a,d){if(!(3>arguments.length)){h.call(this,a);var f=this,c=this._.inputId=CKEDITOR.tools.getNextId()+"_textarea",e={};a.validate&&(this.validate=a.validate);e.rows=a.rows||5;e.cols=a.cols||20;e["class"]="cke_dialog_ui_input_textarea "+(a["class"]||"");"undefined"!=typeof a.inputStyle&&(e.style=a.inputStyle);a.dir&&(e.dir=a.dir);if(f.bidi)b.on("load", +function(){f.getInputElement().on("keyup",w)},f);CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){e["aria-labelledby"]=this._.labelId;this._.required&&(e["aria-required"]=this._.required);var a=['\x3cdiv class\x3d"cke_dialog_ui_input_textarea" role\x3d"presentation"\x3e\x3ctextarea id\x3d"',c,'" '],b;for(b in e)a.push(b+'\x3d"'+CKEDITOR.tools.htmlEncode(e[b])+'" ');a.push("\x3e",CKEDITOR.tools.htmlEncode(f._["default"]),"\x3c/textarea\x3e\x3c/div\x3e");return a.join("")})}},checkbox:function(b, +a,d){if(!(3>arguments.length)){var f=h.call(this,a,{"default":!!a["default"]});a.validate&&(this.validate=a.validate);CKEDITOR.ui.dialog.uiElement.call(this,b,a,d,"span",null,null,function(){var c=CKEDITOR.tools.extend({},a,{id:a.id?a.id+"_checkbox":CKEDITOR.tools.getNextId()+"_checkbox"},!0),e=[],d=CKEDITOR.tools.getNextId()+"_label",g={"class":"cke_dialog_ui_checkbox_input",type:"checkbox","aria-labelledby":d};t(c);a["default"]&&(g.checked="checked");"undefined"!=typeof c.inputStyle&&(c.style=c.inputStyle); +f.checkbox=new CKEDITOR.ui.dialog.uiElement(b,c,e,"input",null,g);e.push(' \x3clabel id\x3d"',d,'" for\x3d"',g.id,'"'+(a.labelStyle?' style\x3d"'+a.labelStyle+'"':"")+"\x3e",CKEDITOR.tools.htmlEncode(a.label),"\x3c/label\x3e");return e.join("")})}},radio:function(b,a,d){if(!(3>arguments.length)){h.call(this,a);this._["default"]||(this._["default"]=this._.initValue=a.items[0][1]);a.validate&&(this.validate=a.validate);var f=[],c=this;a.role="radiogroup";a.includeLabel=!0;CKEDITOR.ui.dialog.labeledElement.call(this, +b,a,d,function(){for(var e=[],d=[],g=(a.id?a.id:CKEDITOR.tools.getNextId())+"_radio",k=0;k<a.items.length;k++){var l=a.items[k],h=void 0!==l[2]?l[2]:l[0],n=void 0!==l[1]?l[1]:l[0],p=CKEDITOR.tools.getNextId()+"_radio_input",q=p+"_label",p=CKEDITOR.tools.extend({},a,{id:p,title:null,type:null},!0),h=CKEDITOR.tools.extend({},p,{title:h},!0),r={type:"radio","class":"cke_dialog_ui_radio_input",name:g,value:n,"aria-labelledby":q},u=[];c._["default"]==n&&(r.checked="checked");t(p);t(h);"undefined"!=typeof p.inputStyle&& +(p.style=p.inputStyle);p.keyboardFocusable=!0;f.push(new CKEDITOR.ui.dialog.uiElement(b,p,u,"input",null,r));u.push(" ");new CKEDITOR.ui.dialog.uiElement(b,h,u,"label",null,{id:q,"for":r.id},l[0]);e.push(u.join(""))}new CKEDITOR.ui.dialog.hbox(b,f,e,d);return d.join("")});this._.children=f}},button:function(b,a,d){if(arguments.length){"function"==typeof a&&(a=a(b.getParentEditor()));h.call(this,a,{disabled:a.disabled||!1});CKEDITOR.event.implementOn(this);var f=this;b.on("load",function(){var a=this.getElement(); +(function(){a.on("click",function(a){f.click();a.data.preventDefault()});a.on("keydown",function(a){a.data.getKeystroke()in{32:1}&&(f.click(),a.data.preventDefault())})})();a.unselectable()},this);var c=CKEDITOR.tools.extend({},a);delete c.style;var e=CKEDITOR.tools.getNextId()+"_label";CKEDITOR.ui.dialog.uiElement.call(this,b,c,d,"a",null,{style:a.style,href:"javascript:void(0)",title:a.label,hidefocus:"true","class":a["class"],role:"button","aria-labelledby":e},'\x3cspan id\x3d"'+e+'" class\x3d"cke_dialog_ui_button"\x3e'+ +CKEDITOR.tools.htmlEncode(a.label)+"\x3c/span\x3e")}},select:function(b,a,d){if(!(3>arguments.length)){var f=h.call(this,a);a.validate&&(this.validate=a.validate);f.inputId=CKEDITOR.tools.getNextId()+"_select";CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){var c=CKEDITOR.tools.extend({},a,{id:a.id?a.id+"_select":CKEDITOR.tools.getNextId()+"_select"},!0),e=[],d=[],g={id:f.inputId,"class":"cke_dialog_ui_input_select","aria-labelledby":this._.labelId};e.push('\x3cdiv class\x3d"cke_dialog_ui_input_', +a.type,'" role\x3d"presentation"');a.width&&e.push('style\x3d"width:'+a.width+'" ');e.push("\x3e");void 0!==a.size&&(g.size=a.size);void 0!==a.multiple&&(g.multiple=a.multiple);t(c);for(var k=0,l;k<a.items.length&&(l=a.items[k]);k++)d.push('\x3coption value\x3d"',CKEDITOR.tools.htmlEncode(void 0!==l[1]?l[1]:l[0]).replace(/"/g,"\x26quot;"),'" /\x3e ',CKEDITOR.tools.htmlEncode(l[0]));"undefined"!=typeof c.inputStyle&&(c.style=c.inputStyle);f.select=new CKEDITOR.ui.dialog.uiElement(b,c,e,"select",null, +g,d.join(""));e.push("\x3c/div\x3e");return e.join("")})}},file:function(b,a,d){if(!(3>arguments.length)){void 0===a["default"]&&(a["default"]="");var f=CKEDITOR.tools.extend(h.call(this,a),{definition:a,buttons:[]});a.validate&&(this.validate=a.validate);b.on("load",function(){CKEDITOR.document.getById(f.frameId).getParent().addClass("cke_dialog_ui_input_file")});CKEDITOR.ui.dialog.labeledElement.call(this,b,a,d,function(){f.frameId=CKEDITOR.tools.getNextId()+"_fileInput";var b=['\x3ciframe frameborder\x3d"0" allowtransparency\x3d"0" class\x3d"cke_dialog_ui_input_file" role\x3d"presentation" id\x3d"', +f.frameId,'" title\x3d"',a.label,'" src\x3d"javascript:void('];b.push(CKEDITOR.env.ie?"(function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.close();")+"})()":"0");b.push(')"\x3e\x3c/iframe\x3e');return b.join("")})}},fileButton:function(b,a,d){var f=this;if(!(3>arguments.length)){h.call(this,a);a.validate&&(this.validate=a.validate);var c=CKEDITOR.tools.extend({},a),e=c.onClick;c.className=(c.className?c.className+" ":"")+"cke_dialog_ui_button";c.onClick=function(c){var d= +a["for"];c=e?e.call(this,c):!1;!1!==c&&("xhr"!==c&&b.getContentElement(d[0],d[1]).submit(),this.disable())};b.on("load",function(){b.getContentElement(a["for"][0],a["for"][1])._.buttons.push(f)});CKEDITOR.ui.dialog.button.call(this,b,c,d)}},html:function(){var b=/^\s*<[\w:]+\s+([^>]*)?>/,a=/^(\s*<[\w:]+(?:\s+[^>]*)?)((?:.|\r|\n)+)$/,d=/\/$/;return function(f,c,e){if(!(3>arguments.length)){var m=[],g=c.html;"\x3c"!=g.charAt(0)&&(g="\x3cspan\x3e"+g+"\x3c/span\x3e");var k=c.focus;if(k){var l=this.focus; +this.focus=function(){("function"==typeof k?k:l).call(this);this.fire("focus")};c.isFocusable&&(this.isFocusable=this.isFocusable);this.keyboardFocusable=!0}CKEDITOR.ui.dialog.uiElement.call(this,f,c,m,"span",null,null,"");m=m.join("").match(b);g=g.match(a)||["","",""];d.test(g[1])&&(g[1]=g[1].slice(0,-1),g[2]="/"+g[2]);e.push([g[1]," ",m[1]||"",g[2]].join(""))}}}(),fieldset:function(b,a,d,f,c){var e=c.label;this._={children:a};CKEDITOR.ui.dialog.uiElement.call(this,b,c,f,"fieldset",null,null,function(){var a= +[];e&&a.push("\x3clegend"+(c.labelStyle?' style\x3d"'+c.labelStyle+'"':"")+"\x3e"+e+"\x3c/legend\x3e");for(var b=0;b<d.length;b++)a.push(d[b]);return a.join("")})}},!0);CKEDITOR.ui.dialog.html.prototype=new CKEDITOR.ui.dialog.uiElement;CKEDITOR.ui.dialog.labeledElement.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{setLabel:function(b){var a=CKEDITOR.document.getById(this._.labelId);1>a.getChildCount()?(new CKEDITOR.dom.text(b,CKEDITOR.document)).appendTo(a):a.getChild(0).$.nodeValue= +b;return this},getLabel:function(){var b=CKEDITOR.document.getById(this._.labelId);return!b||1>b.getChildCount()?"":b.getChild(0).getText()},eventProcessors:r},!0);CKEDITOR.ui.dialog.button.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{click:function(){return this._.disabled?!1:this.fire("click",{dialog:this._.dialog})},enable:function(){this._.disabled=!1;var b=this.getElement();b&&b.removeClass("cke_disabled")},disable:function(){this._.disabled=!0;this.getElement().addClass("cke_disabled")}, +isVisible:function(){return this.getElement().getFirst().isVisible()},isEnabled:function(){return!this._.disabled},eventProcessors:CKEDITOR.tools.extend({},CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors,{onClick:function(b,a){this.on("click",function(){a.apply(this,arguments)})}},!0),accessKeyUp:function(){this.click()},accessKeyDown:function(){this.focus()},keyboardFocusable:!0},!0);CKEDITOR.ui.dialog.textInput.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,{getInputElement:function(){return CKEDITOR.document.getById(this._.inputId)}, +focus:function(){var b=this.selectParentTab();setTimeout(function(){var a=b.getInputElement();a&&a.$.focus()},0)},select:function(){var b=this.selectParentTab();setTimeout(function(){var a=b.getInputElement();a&&(a.$.focus(),a.$.select())},0)},accessKeyUp:function(){this.select()},setValue:function(b){if(this.bidi){var a=b&&b.charAt(0);(a="‪"==a?"ltr":"‫"==a?"rtl":null)&&(b=b.slice(1));this.setDirectionMarker(a)}b||(b="");return CKEDITOR.ui.dialog.uiElement.prototype.setValue.apply(this,arguments)}, +getValue:function(){var b=CKEDITOR.ui.dialog.uiElement.prototype.getValue.call(this);if(this.bidi&&b){var a=this.getDirectionMarker();a&&(b=("ltr"==a?"‪":"‫")+b)}return b},setDirectionMarker:function(b){var a=this.getInputElement();b?a.setAttributes({dir:b,"data-cke-dir-marker":b}):this.getDirectionMarker()&&a.removeAttributes(["dir","data-cke-dir-marker"])},getDirectionMarker:function(){return this.getInputElement().data("cke-dir-marker")},keyboardFocusable:!0},q,!0);CKEDITOR.ui.dialog.textarea.prototype= +new CKEDITOR.ui.dialog.textInput;CKEDITOR.ui.dialog.select.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,{getInputElement:function(){return this._.select.getElement()},add:function(b,a,d){var f=new CKEDITOR.dom.element("option",this.getDialog().getParentEditor().document),c=this.getInputElement().$;f.$.text=b;f.$.value=void 0===a||null===a?b:a;void 0===d||null===d?CKEDITOR.env.ie?c.add(f.$):c.add(f.$,null):c.add(f.$,d);return this},remove:function(b){this.getInputElement().$.remove(b); +return this},clear:function(){for(var b=this.getInputElement().$;0<b.length;)b.remove(0);return this},keyboardFocusable:!0},q,!0);CKEDITOR.ui.dialog.checkbox.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{getInputElement:function(){return this._.checkbox.getElement()},setValue:function(b,a){this.getInputElement().$.checked=b;!a&&this.fire("change",{value:b})},getValue:function(){return this.getInputElement().$.checked},accessKeyUp:function(){this.setValue(!this.getValue())},eventProcessors:{onChange:function(b, +a){if(!CKEDITOR.env.ie||8<CKEDITOR.env.version)return r.onChange.apply(this,arguments);b.on("load",function(){var a=this._.checkbox.getElement();a.on("propertychange",function(b){b=b.data.$;"checked"==b.propertyName&&this.fire("change",{value:a.$.checked})},this)},this);this.on("change",a);return null}},keyboardFocusable:!0},q,!0);CKEDITOR.ui.dialog.radio.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement,{setValue:function(b,a){for(var d=this._.children,f,c=0;c<d.length&&(f=d[c]);c++)f.getElement().$.checked= +f.getValue()==b;!a&&this.fire("change",{value:b})},getValue:function(){for(var b=this._.children,a=0;a<b.length;a++)if(b[a].getElement().$.checked)return b[a].getValue();return null},accessKeyUp:function(){var b=this._.children,a;for(a=0;a<b.length;a++)if(b[a].getElement().$.checked){b[a].getElement().focus();return}b[0].getElement().focus()},eventProcessors:{onChange:function(b,a){if(!CKEDITOR.env.ie||8<CKEDITOR.env.version)return r.onChange.apply(this,arguments);b.on("load",function(){for(var a= +this._.children,b=this,c=0;c<a.length;c++)a[c].getElement().on("propertychange",function(a){a=a.data.$;"checked"==a.propertyName&&this.$.checked&&b.fire("change",{value:this.getAttribute("value")})})},this);this.on("change",a);return null}}},q,!0);CKEDITOR.ui.dialog.file.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.labeledElement,q,{getInputElement:function(){var b=CKEDITOR.document.getById(this._.frameId).getFrameDocument();return 0<b.$.forms.length?new CKEDITOR.dom.element(b.$.forms[0].elements[0]): +this.getElement()},submit:function(){this.getInputElement().getParent().$.submit();return this},getAction:function(){return this.getInputElement().getParent().$.action},registerEvents:function(b){var a=/^on([A-Z]\w+)/,d,f=function(a,b,c,d){a.on("formLoaded",function(){a.getInputElement().on(c,d,a)})},c;for(c in b)if(d=c.match(a))this.eventProcessors[c]?this.eventProcessors[c].call(this,this._.dialog,b[c]):f(this,this._.dialog,d[1].toLowerCase(),b[c]);return this},reset:function(){function b(){d.$.open(); +var b="";f.size&&(b=f.size-(CKEDITOR.env.ie?7:0));var h=a.frameId+"_input";d.$.write(['\x3chtml dir\x3d"'+g+'" lang\x3d"'+k+'"\x3e\x3chead\x3e\x3ctitle\x3e\x3c/title\x3e\x3c/head\x3e\x3cbody style\x3d"margin: 0; overflow: hidden; background: transparent;"\x3e','\x3cform enctype\x3d"multipart/form-data" method\x3d"POST" dir\x3d"'+g+'" lang\x3d"'+k+'" action\x3d"',CKEDITOR.tools.htmlEncode(f.action),'"\x3e\x3clabel id\x3d"',a.labelId,'" for\x3d"',h,'" style\x3d"display:none"\x3e',CKEDITOR.tools.htmlEncode(f.label), +'\x3c/label\x3e\x3cinput style\x3d"width:100%" id\x3d"',h,'" aria-labelledby\x3d"',a.labelId,'" type\x3d"file" name\x3d"',CKEDITOR.tools.htmlEncode(f.id||"cke_upload"),'" size\x3d"',CKEDITOR.tools.htmlEncode(0<b?b:""),'" /\x3e\x3c/form\x3e\x3c/body\x3e\x3c/html\x3e\x3cscript\x3e',CKEDITOR.env.ie?"("+CKEDITOR.tools.fixDomain+")();":"","window.parent.CKEDITOR.tools.callFunction("+e+");","window.onbeforeunload \x3d function() {window.parent.CKEDITOR.tools.callFunction("+m+")}","\x3c/script\x3e"].join("")); +d.$.close();for(b=0;b<c.length;b++)c[b].enable()}var a=this._,d=CKEDITOR.document.getById(a.frameId).getFrameDocument(),f=a.definition,c=a.buttons,e=this.formLoadedNumber,m=this.formUnloadNumber,g=a.dialog._.editor.lang.dir,k=a.dialog._.editor.langCode;e||(e=this.formLoadedNumber=CKEDITOR.tools.addFunction(function(){this.fire("formLoaded")},this),m=this.formUnloadNumber=CKEDITOR.tools.addFunction(function(){this.getInputElement().clearCustomData()},this),this.getDialog()._.editor.on("destroy",function(){CKEDITOR.tools.removeFunction(e); +CKEDITOR.tools.removeFunction(m)}));CKEDITOR.env.gecko?setTimeout(b,500):b()},getValue:function(){return this.getInputElement().$.value||""},setInitValue:function(){this._.initValue=""},eventProcessors:{onChange:function(b,a){this._.domOnChangeRegistered||(this.on("formLoaded",function(){this.getInputElement().on("change",function(){this.fire("change",{value:this.getValue()})},this)},this),this._.domOnChangeRegistered=!0);this.on("change",a)}},keyboardFocusable:!0},!0);CKEDITOR.ui.dialog.fileButton.prototype= +new CKEDITOR.ui.dialog.button;CKEDITOR.ui.dialog.fieldset.prototype=CKEDITOR.tools.clone(CKEDITOR.ui.dialog.hbox.prototype);CKEDITOR.dialog.addUIElement("text",v);CKEDITOR.dialog.addUIElement("password",v);CKEDITOR.dialog.addUIElement("textarea",n);CKEDITOR.dialog.addUIElement("checkbox",n);CKEDITOR.dialog.addUIElement("radio",n);CKEDITOR.dialog.addUIElement("button",n);CKEDITOR.dialog.addUIElement("select",n);CKEDITOR.dialog.addUIElement("file",n);CKEDITOR.dialog.addUIElement("fileButton",n);CKEDITOR.dialog.addUIElement("html", +n);CKEDITOR.dialog.addUIElement("fieldset",{build:function(b,a,d){for(var f=a.children,c,e=[],h=[],g=0;g<f.length&&(c=f[g]);g++){var k=[];e.push(k);h.push(CKEDITOR.dialog._.uiElementBuilders[c.type].build(b,c,k))}return new CKEDITOR.ui.dialog[a.type](b,h,e,d,a)}})}});CKEDITOR.DIALOG_RESIZE_NONE=0;CKEDITOR.DIALOG_RESIZE_WIDTH=1;CKEDITOR.DIALOG_RESIZE_HEIGHT=2;CKEDITOR.DIALOG_RESIZE_BOTH=3;CKEDITOR.DIALOG_STATE_IDLE=1;CKEDITOR.DIALOG_STATE_BUSY=2; +(function(){function x(){for(var a=this._.tabIdList.length,b=CKEDITOR.tools.indexOf(this._.tabIdList,this._.currentTabId)+a,c=b-1;c>b-a;c--)if(this._.tabs[this._.tabIdList[c%a]][0].$.offsetHeight)return this._.tabIdList[c%a];return null}function A(){for(var a=this._.tabIdList.length,b=CKEDITOR.tools.indexOf(this._.tabIdList,this._.currentTabId),c=b+1;c<b+a;c++)if(this._.tabs[this._.tabIdList[c%a]][0].$.offsetHeight)return this._.tabIdList[c%a];return null}function K(a,b){for(var c=a.$.getElementsByTagName("input"), +e=0,d=c.length;e<d;e++){var f=new CKEDITOR.dom.element(c[e]);"text"==f.getAttribute("type").toLowerCase()&&(b?(f.setAttribute("value",f.getCustomData("fake_value")||""),f.removeCustomData("fake_value")):(f.setCustomData("fake_value",f.getAttribute("value")),f.setAttribute("value","")))}}function T(a,b){var c=this.getInputElement();c&&(a?c.removeAttribute("aria-invalid"):c.setAttribute("aria-invalid",!0));a||(this.select?this.select():this.focus());b&&alert(b);this.fire("validated",{valid:a,msg:b})} +function U(){var a=this.getInputElement();a&&a.removeAttribute("aria-invalid")}function V(a){var b=CKEDITOR.dom.element.createFromHtml(CKEDITOR.addTemplate("dialog",W).output({id:CKEDITOR.tools.getNextNumber(),editorId:a.id,langDir:a.lang.dir,langCode:a.langCode,editorDialogClass:"cke_editor_"+a.name.replace(/\./g,"\\.")+"_dialog",closeTitle:a.lang.common.close,hidpi:CKEDITOR.env.hidpi?"cke_hidpi":""})),c=b.getChild([0,0,0,0,0]),e=c.getChild(0),d=c.getChild(1);a.plugins.clipboard&&CKEDITOR.plugins.clipboard.preventDefaultDropOnElement(c); +!CKEDITOR.env.ie||CKEDITOR.env.quirks||CKEDITOR.env.edge||(a="javascript:void(function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.close();")+"}())",CKEDITOR.dom.element.createFromHtml('\x3ciframe frameBorder\x3d"0" class\x3d"cke_iframe_shim" src\x3d"'+a+'" tabIndex\x3d"-1"\x3e\x3c/iframe\x3e').appendTo(c.getParent()));e.unselectable();d.unselectable();return{element:b,parts:{dialog:b.getChild(0),title:e,close:d,tabs:c.getChild(2),contents:c.getChild([3,0,0,0]), +footer:c.getChild([3,0,1,0])}}}function L(a,b,c){this.element=b;this.focusIndex=c;this.tabIndex=0;this.isFocusable=function(){return!b.getAttribute("disabled")&&b.isVisible()};this.focus=function(){a._.currentFocusIndex=this.focusIndex;this.element.focus()};b.on("keydown",function(a){a.data.getKeystroke()in{32:1,13:1}&&this.fire("click")});b.on("focus",function(){this.fire("mouseover")});b.on("blur",function(){this.fire("mouseout")})}function X(a){function b(){a.layout()}var c=CKEDITOR.document.getWindow(); +c.on("resize",b);a.on("hide",function(){c.removeListener("resize",b)})}function M(a,b){this._={dialog:a};CKEDITOR.tools.extend(this,b)}function Y(a){function b(b){var c=a.getSize(),k=CKEDITOR.document.getWindow().getViewPaneSize(),q=b.data.$.screenX,n=b.data.$.screenY,r=q-e.x,l=n-e.y;e={x:q,y:n};d.x+=r;d.y+=l;a.move(d.x+h[3]<g?-h[3]:d.x-h[1]>k.width-c.width-g?k.width-c.width+("rtl"==f.lang.dir?0:h[1]):d.x,d.y+h[0]<g?-h[0]:d.y-h[2]>k.height-c.height-g?k.height-c.height+h[2]:d.y,1);b.data.preventDefault()} +function c(){CKEDITOR.document.removeListener("mousemove",b);CKEDITOR.document.removeListener("mouseup",c);if(CKEDITOR.env.ie6Compat){var a=u.getChild(0).getFrameDocument();a.removeListener("mousemove",b);a.removeListener("mouseup",c)}}var e=null,d=null,f=a.getParentEditor(),g=f.config.dialog_magnetDistance,h=CKEDITOR.skin.margins||[0,0,0,0];"undefined"==typeof g&&(g=20);a.parts.title.on("mousedown",function(g){e={x:g.data.$.screenX,y:g.data.$.screenY};CKEDITOR.document.on("mousemove",b);CKEDITOR.document.on("mouseup", +c);d=a.getPosition();if(CKEDITOR.env.ie6Compat){var f=u.getChild(0).getFrameDocument();f.on("mousemove",b);f.on("mouseup",c)}g.data.preventDefault()},a)}function Z(a){function b(b){var c="rtl"==f.lang.dir,n=k.width,q=k.height,G=n+(b.data.$.screenX-m.x)*(c?-1:1)*(a._.moved?1:2),H=q+(b.data.$.screenY-m.y)*(a._.moved?1:2),B=a._.element.getFirst(),B=c&&B.getComputedStyle("right"),C=a.getPosition();C.y+H>p.height&&(H=p.height-C.y);(c?B:C.x)+G>p.width&&(G=p.width-(c?B:C.x));if(d==CKEDITOR.DIALOG_RESIZE_WIDTH|| +d==CKEDITOR.DIALOG_RESIZE_BOTH)n=Math.max(e.minWidth||0,G-g);if(d==CKEDITOR.DIALOG_RESIZE_HEIGHT||d==CKEDITOR.DIALOG_RESIZE_BOTH)q=Math.max(e.minHeight||0,H-h);a.resize(n,q);a._.moved||a.layout();b.data.preventDefault()}function c(){CKEDITOR.document.removeListener("mouseup",c);CKEDITOR.document.removeListener("mousemove",b);q&&(q.remove(),q=null);if(CKEDITOR.env.ie6Compat){var a=u.getChild(0).getFrameDocument();a.removeListener("mouseup",c);a.removeListener("mousemove",b)}}var e=a.definition,d=e.resizable; +if(d!=CKEDITOR.DIALOG_RESIZE_NONE){var f=a.getParentEditor(),g,h,p,m,k,q,n=CKEDITOR.tools.addFunction(function(d){k=a.getSize();var e=a.parts.contents;e.$.getElementsByTagName("iframe").length&&(q=CKEDITOR.dom.element.createFromHtml('\x3cdiv class\x3d"cke_dialog_resize_cover" style\x3d"height: 100%; position: absolute; width: 100%;"\x3e\x3c/div\x3e'),e.append(q));h=k.height-a.parts.contents.getSize("height",!(CKEDITOR.env.gecko||CKEDITOR.env.ie&&CKEDITOR.env.quirks));g=k.width-a.parts.contents.getSize("width", +1);m={x:d.screenX,y:d.screenY};p=CKEDITOR.document.getWindow().getViewPaneSize();CKEDITOR.document.on("mousemove",b);CKEDITOR.document.on("mouseup",c);CKEDITOR.env.ie6Compat&&(e=u.getChild(0).getFrameDocument(),e.on("mousemove",b),e.on("mouseup",c));d.preventDefault&&d.preventDefault()});a.on("load",function(){var b="";d==CKEDITOR.DIALOG_RESIZE_WIDTH?b=" cke_resizer_horizontal":d==CKEDITOR.DIALOG_RESIZE_HEIGHT&&(b=" cke_resizer_vertical");b=CKEDITOR.dom.element.createFromHtml('\x3cdiv class\x3d"cke_resizer'+ +b+" cke_resizer_"+f.lang.dir+'" title\x3d"'+CKEDITOR.tools.htmlEncode(f.lang.common.resize)+'" onmousedown\x3d"CKEDITOR.tools.callFunction('+n+', event )"\x3e'+("ltr"==f.lang.dir?"◢":"◣")+"\x3c/div\x3e");a.parts.footer.append(b,1)});f.on("destroy",function(){CKEDITOR.tools.removeFunction(n)})}}function I(a){a.data.preventDefault(1)}function N(a){var b=CKEDITOR.document.getWindow(),c=a.config,e=CKEDITOR.skinName||a.config.skin,d=c.dialog_backgroundCoverColor||("moono-lisa"==e?"black":"white"),e=c.dialog_backgroundCoverOpacity, +f=c.baseFloatZIndex,c=CKEDITOR.tools.genKey(d,e,f),g=z[c];g?g.show():(f=['\x3cdiv tabIndex\x3d"-1" style\x3d"position: ',CKEDITOR.env.ie6Compat?"absolute":"fixed","; z-index: ",f,"; top: 0px; left: 0px; ",CKEDITOR.env.ie6Compat?"":"background-color: "+d,'" class\x3d"cke_dialog_background_cover"\x3e'],CKEDITOR.env.ie6Compat&&(d="\x3chtml\x3e\x3cbody style\x3d\\'background-color:"+d+";\\'\x3e\x3c/body\x3e\x3c/html\x3e",f.push('\x3ciframe hidefocus\x3d"true" frameborder\x3d"0" id\x3d"cke_dialog_background_iframe" src\x3d"javascript:'), +f.push("void((function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.write( '"+d+"' );document.close();")+"})())"),f.push('" style\x3d"position:absolute;left:0;top:0;width:100%;height: 100%;filter: progid:DXImageTransform.Microsoft.Alpha(opacity\x3d0)"\x3e\x3c/iframe\x3e')),f.push("\x3c/div\x3e"),g=CKEDITOR.dom.element.createFromHtml(f.join("")),g.setOpacity(void 0!==e?e:.5),g.on("keydown",I),g.on("keypress",I),g.on("keyup",I),g.appendTo(CKEDITOR.document.getBody()), +z[c]=g);a.focusManager.add(g);u=g;a=function(){var a=b.getViewPaneSize();g.setStyles({width:a.width+"px",height:a.height+"px"})};var h=function(){var a=b.getScrollPosition(),c=CKEDITOR.dialog._.currentTop;g.setStyles({left:a.x+"px",top:a.y+"px"});if(c){do a=c.getPosition(),c.move(a.x,a.y);while(c=c._.parentDialog)}};J=a;b.on("resize",a);a();CKEDITOR.env.mac&&CKEDITOR.env.webkit||g.focus();if(CKEDITOR.env.ie6Compat){var p=function(){h();arguments.callee.prevScrollHandler.apply(this,arguments)};b.$.setTimeout(function(){p.prevScrollHandler= +window.onscroll||function(){};window.onscroll=p},0);h()}}function O(a){u&&(a.focusManager.remove(u),a=CKEDITOR.document.getWindow(),u.hide(),a.removeListener("resize",J),CKEDITOR.env.ie6Compat&&a.$.setTimeout(function(){window.onscroll=window.onscroll&&window.onscroll.prevScrollHandler||null},0),J=null)}var v=CKEDITOR.tools.cssLength,W='\x3cdiv class\x3d"cke_reset_all {editorId} {editorDialogClass} {hidpi}" dir\x3d"{langDir}" lang\x3d"{langCode}" role\x3d"dialog" aria-labelledby\x3d"cke_dialog_title_{id}"\x3e\x3ctable class\x3d"cke_dialog '+ +CKEDITOR.env.cssClass+' cke_{langDir}" style\x3d"position:absolute" role\x3d"presentation"\x3e\x3ctr\x3e\x3ctd role\x3d"presentation"\x3e\x3cdiv class\x3d"cke_dialog_body" role\x3d"presentation"\x3e\x3cdiv id\x3d"cke_dialog_title_{id}" class\x3d"cke_dialog_title" role\x3d"presentation"\x3e\x3c/div\x3e\x3ca id\x3d"cke_dialog_close_button_{id}" class\x3d"cke_dialog_close_button" href\x3d"javascript:void(0)" title\x3d"{closeTitle}" role\x3d"button"\x3e\x3cspan class\x3d"cke_label"\x3eX\x3c/span\x3e\x3c/a\x3e\x3cdiv id\x3d"cke_dialog_tabs_{id}" class\x3d"cke_dialog_tabs" role\x3d"tablist"\x3e\x3c/div\x3e\x3ctable class\x3d"cke_dialog_contents" role\x3d"presentation"\x3e\x3ctr\x3e\x3ctd id\x3d"cke_dialog_contents_{id}" class\x3d"cke_dialog_contents_body" role\x3d"presentation"\x3e\x3c/td\x3e\x3c/tr\x3e\x3ctr\x3e\x3ctd id\x3d"cke_dialog_footer_{id}" class\x3d"cke_dialog_footer" role\x3d"presentation"\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3c/div\x3e\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3c/div\x3e'; +CKEDITOR.dialog=function(a,b){function c(){var a=l._.focusList;a.sort(function(a,b){return a.tabIndex!=b.tabIndex?b.tabIndex-a.tabIndex:a.focusIndex-b.focusIndex});for(var b=a.length,c=0;c<b;c++)a[c].focusIndex=c}function e(a){var b=l._.focusList;a=a||0;if(!(1>b.length)){var c=l._.currentFocusIndex;l._.tabBarMode&&0>a&&(c=0);try{b[c].getInputElement().$.blur()}catch(d){}var e=c,g=1<l._.pageCount;do{e+=a;if(g&&!l._.tabBarMode&&(e==b.length||-1==e)){l._.tabBarMode=!0;l._.tabs[l._.currentTabId][0].focus(); +l._.currentFocusIndex=-1;return}e=(e+b.length)%b.length;if(e==c)break}while(a&&!b[e].isFocusable());b[e].focus();"text"==b[e].type&&b[e].select()}}function d(b){if(l==CKEDITOR.dialog._.currentTop){var c=b.data.getKeystroke(),d="rtl"==a.lang.dir,g=[37,38,39,40];q=n=0;if(9==c||c==CKEDITOR.SHIFT+9)e(c==CKEDITOR.SHIFT+9?-1:1),q=1;else if(c==CKEDITOR.ALT+121&&!l._.tabBarMode&&1<l.getPageCount())l._.tabBarMode=!0,l._.tabs[l._.currentTabId][0].focus(),l._.currentFocusIndex=-1,q=1;else if(-1!=CKEDITOR.tools.indexOf(g, +c)&&l._.tabBarMode)c=-1!=CKEDITOR.tools.indexOf([d?39:37,38],c)?x.call(l):A.call(l),l.selectPage(c),l._.tabs[c][0].focus(),q=1;else if(13!=c&&32!=c||!l._.tabBarMode)if(13==c)c=b.data.getTarget(),c.is("a","button","select","textarea")||c.is("input")&&"button"==c.$.type||((c=this.getButton("ok"))&&CKEDITOR.tools.setTimeout(c.click,0,c),q=1),n=1;else if(27==c)(c=this.getButton("cancel"))?CKEDITOR.tools.setTimeout(c.click,0,c):!1!==this.fire("cancel",{hide:!0}).hide&&this.hide(),n=1;else return;else this.selectPage(this._.currentTabId), +this._.tabBarMode=!1,this._.currentFocusIndex=-1,e(1),q=1;f(b)}}function f(a){q?a.data.preventDefault(1):n&&a.data.stopPropagation()}var g=CKEDITOR.dialog._.dialogDefinitions[b],h=CKEDITOR.tools.clone(aa),p=a.config.dialog_buttonsOrder||"OS",m=a.lang.dir,k={},q,n;("OS"==p&&CKEDITOR.env.mac||"rtl"==p&&"ltr"==m||"ltr"==p&&"rtl"==m)&&h.buttons.reverse();g=CKEDITOR.tools.extend(g(a),h);g=CKEDITOR.tools.clone(g);g=new P(this,g);h=V(a);this._={editor:a,element:h.element,name:b,contentSize:{width:0,height:0}, +size:{width:0,height:0},contents:{},buttons:{},accessKeyMap:{},tabs:{},tabIdList:[],currentTabId:null,currentTabIndex:null,pageCount:0,lastTab:null,tabBarMode:!1,focusList:[],currentFocusIndex:0,hasFocus:!1};this.parts=h.parts;CKEDITOR.tools.setTimeout(function(){a.fire("ariaWidget",this.parts.contents)},0,this);h={position:CKEDITOR.env.ie6Compat?"absolute":"fixed",top:0,visibility:"hidden"};h["rtl"==m?"right":"left"]=0;this.parts.dialog.setStyles(h);CKEDITOR.event.call(this);this.definition=g=CKEDITOR.fire("dialogDefinition", +{name:b,definition:g},a).definition;if(!("removeDialogTabs"in a._)&&a.config.removeDialogTabs){h=a.config.removeDialogTabs.split(";");for(m=0;m<h.length;m++)if(p=h[m].split(":"),2==p.length){var r=p[0];k[r]||(k[r]=[]);k[r].push(p[1])}a._.removeDialogTabs=k}if(a._.removeDialogTabs&&(k=a._.removeDialogTabs[b]))for(m=0;m<k.length;m++)g.removeContents(k[m]);if(g.onLoad)this.on("load",g.onLoad);if(g.onShow)this.on("show",g.onShow);if(g.onHide)this.on("hide",g.onHide);if(g.onOk)this.on("ok",function(b){a.fire("saveSnapshot"); +setTimeout(function(){a.fire("saveSnapshot")},0);!1===g.onOk.call(this,b)&&(b.data.hide=!1)});this.state=CKEDITOR.DIALOG_STATE_IDLE;if(g.onCancel)this.on("cancel",function(a){!1===g.onCancel.call(this,a)&&(a.data.hide=!1)});var l=this,t=function(a){var b=l._.contents,c=!1,d;for(d in b)for(var e in b[d])if(c=a.call(this,b[d][e]))return};this.on("ok",function(a){t(function(b){if(b.validate){var c=b.validate(this),d="string"==typeof c||!1===c;d&&(a.data.hide=!1,a.stop());T.call(b,!d,"string"==typeof c? +c:void 0);return d}})},this,null,0);this.on("cancel",function(b){t(function(c){if(c.isChanged())return a.config.dialog_noConfirmCancel||confirm(a.lang.common.confirmCancel)||(b.data.hide=!1),!0})},this,null,0);this.parts.close.on("click",function(a){!1!==this.fire("cancel",{hide:!0}).hide&&this.hide();a.data.preventDefault()},this);this.changeFocus=e;var y=this._.element;a.focusManager.add(y,1);this.on("show",function(){y.on("keydown",d,this);if(CKEDITOR.env.gecko)y.on("keypress",f,this)});this.on("hide", +function(){y.removeListener("keydown",d);CKEDITOR.env.gecko&&y.removeListener("keypress",f);t(function(a){U.apply(a)})});this.on("iframeAdded",function(a){(new CKEDITOR.dom.document(a.data.iframe.$.contentWindow.document)).on("keydown",d,this,null,0)});this.on("show",function(){c();var b=1<l._.pageCount;a.config.dialog_startupFocusTab&&b?(l._.tabBarMode=!0,l._.tabs[l._.currentTabId][0].focus(),l._.currentFocusIndex=-1):this._.hasFocus||(this._.currentFocusIndex=b?-1:this._.focusList.length-1,g.onFocus? +(b=g.onFocus.call(this))&&b.focus():e(1))},this,null,4294967295);if(CKEDITOR.env.ie6Compat)this.on("load",function(){var a=this.getElement(),b=a.getFirst();b.remove();b.appendTo(a)},this);Y(this);Z(this);(new CKEDITOR.dom.text(g.title,CKEDITOR.document)).appendTo(this.parts.title);for(m=0;m<g.contents.length;m++)(k=g.contents[m])&&this.addPage(k);this.parts.tabs.on("click",function(a){var b=a.data.getTarget();b.hasClass("cke_dialog_tab")&&(b=b.$.id,this.selectPage(b.substring(4,b.lastIndexOf("_"))), +this._.tabBarMode&&(this._.tabBarMode=!1,this._.currentFocusIndex=-1,e(1)),a.data.preventDefault())},this);m=[];k=CKEDITOR.dialog._.uiElementBuilders.hbox.build(this,{type:"hbox",className:"cke_dialog_footer_buttons",widths:[],children:g.buttons},m).getChild();this.parts.footer.setHtml(m.join(""));for(m=0;m<k.length;m++)this._.buttons[k[m].id]=k[m]};CKEDITOR.dialog.prototype={destroy:function(){this.hide();this._.element.remove()},resize:function(){return function(a,b){this._.contentSize&&this._.contentSize.width== +a&&this._.contentSize.height==b||(CKEDITOR.dialog.fire("resize",{dialog:this,width:a,height:b},this._.editor),this.fire("resize",{width:a,height:b},this._.editor),this.parts.contents.setStyles({width:a+"px",height:b+"px"}),"rtl"==this._.editor.lang.dir&&this._.position&&(this._.position.x=CKEDITOR.document.getWindow().getViewPaneSize().width-this._.contentSize.width-parseInt(this._.element.getFirst().getStyle("right"),10)),this._.contentSize={width:a,height:b})}}(),getSize:function(){var a=this._.element.getFirst(); +return{width:a.$.offsetWidth||0,height:a.$.offsetHeight||0}},move:function(a,b,c){var e=this._.element.getFirst(),d="rtl"==this._.editor.lang.dir,f="fixed"==e.getComputedStyle("position");CKEDITOR.env.ie&&e.setStyle("zoom","100%");f&&this._.position&&this._.position.x==a&&this._.position.y==b||(this._.position={x:a,y:b},f||(f=CKEDITOR.document.getWindow().getScrollPosition(),a+=f.x,b+=f.y),d&&(f=this.getSize(),a=CKEDITOR.document.getWindow().getViewPaneSize().width-f.width-a),b={top:(0<b?b:0)+"px"}, +b[d?"right":"left"]=(0<a?a:0)+"px",e.setStyles(b),c&&(this._.moved=1))},getPosition:function(){return CKEDITOR.tools.extend({},this._.position)},show:function(){var a=this._.element,b=this.definition;a.getParent()&&a.getParent().equals(CKEDITOR.document.getBody())?a.setStyle("display","block"):a.appendTo(CKEDITOR.document.getBody());this.resize(this._.contentSize&&this._.contentSize.width||b.width||b.minWidth,this._.contentSize&&this._.contentSize.height||b.height||b.minHeight);this.reset();null=== +this._.currentTabId&&this.selectPage(this.definition.contents[0].id);null===CKEDITOR.dialog._.currentZIndex&&(CKEDITOR.dialog._.currentZIndex=this._.editor.config.baseFloatZIndex);this._.element.getFirst().setStyle("z-index",CKEDITOR.dialog._.currentZIndex+=10);null===CKEDITOR.dialog._.currentTop?(CKEDITOR.dialog._.currentTop=this,this._.parentDialog=null,N(this._.editor)):(this._.parentDialog=CKEDITOR.dialog._.currentTop,this._.parentDialog.getElement().getFirst().$.style.zIndex-=Math.floor(this._.editor.config.baseFloatZIndex/ +2),CKEDITOR.dialog._.currentTop=this);a.on("keydown",Q);a.on("keyup",R);this._.hasFocus=!1;for(var c in b.contents)if(b.contents[c]){var a=b.contents[c],e=this._.tabs[a.id],d=a.requiredContent,f=0;if(e){for(var g in this._.contents[a.id]){var h=this._.contents[a.id][g];"hbox"!=h.type&&"vbox"!=h.type&&h.getInputElement()&&(h.requiredContent&&!this._.editor.activeFilter.check(h.requiredContent)?h.disable():(h.enable(),f++))}!f||d&&!this._.editor.activeFilter.check(d)?e[0].addClass("cke_dialog_tab_disabled"): +e[0].removeClass("cke_dialog_tab_disabled")}}CKEDITOR.tools.setTimeout(function(){this.layout();X(this);this.parts.dialog.setStyle("visibility","");this.fireOnce("load",{});CKEDITOR.ui.fire("ready",this);this.fire("show",{});this._.editor.fire("dialogShow",this);this._.parentDialog||this._.editor.focusManager.lock();this.foreach(function(a){a.setInitValue&&a.setInitValue()})},100,this)},layout:function(){var a=this.parts.dialog,b=this.getSize(),c=CKEDITOR.document.getWindow().getViewPaneSize(),e= +(c.width-b.width)/2,d=(c.height-b.height)/2;CKEDITOR.env.ie6Compat||(b.height+(0<d?d:0)>c.height||b.width+(0<e?e:0)>c.width?a.setStyle("position","absolute"):a.setStyle("position","fixed"));this.move(this._.moved?this._.position.x:e,this._.moved?this._.position.y:d)},foreach:function(a){for(var b in this._.contents)for(var c in this._.contents[b])a.call(this,this._.contents[b][c]);return this},reset:function(){var a=function(a){a.reset&&a.reset(1)};return function(){this.foreach(a);return this}}(), +setupContent:function(){var a=arguments;this.foreach(function(b){b.setup&&b.setup.apply(b,a)})},commitContent:function(){var a=arguments;this.foreach(function(b){CKEDITOR.env.ie&&this._.currentFocusIndex==b.focusIndex&&b.getInputElement().$.blur();b.commit&&b.commit.apply(b,a)})},hide:function(){if(this.parts.dialog.isVisible()){this.fire("hide",{});this._.editor.fire("dialogHide",this);this.selectPage(this._.tabIdList[0]);var a=this._.element;a.setStyle("display","none");this.parts.dialog.setStyle("visibility", +"hidden");for(ba(this);CKEDITOR.dialog._.currentTop!=this;)CKEDITOR.dialog._.currentTop.hide();if(this._.parentDialog){var b=this._.parentDialog.getElement().getFirst();b.setStyle("z-index",parseInt(b.$.style.zIndex,10)+Math.floor(this._.editor.config.baseFloatZIndex/2))}else O(this._.editor);if(CKEDITOR.dialog._.currentTop=this._.parentDialog)CKEDITOR.dialog._.currentZIndex-=10;else{CKEDITOR.dialog._.currentZIndex=null;a.removeListener("keydown",Q);a.removeListener("keyup",R);var c=this._.editor; +c.focus();setTimeout(function(){c.focusManager.unlock();CKEDITOR.env.iOS&&c.window.focus()},0)}delete this._.parentDialog;this.foreach(function(a){a.resetInitValue&&a.resetInitValue()});this.setState(CKEDITOR.DIALOG_STATE_IDLE)}},addPage:function(a){if(!a.requiredContent||this._.editor.filter.check(a.requiredContent)){for(var b=[],c=a.label?' title\x3d"'+CKEDITOR.tools.htmlEncode(a.label)+'"':"",e=CKEDITOR.dialog._.uiElementBuilders.vbox.build(this,{type:"vbox",className:"cke_dialog_page_contents", +children:a.elements,expand:!!a.expand,padding:a.padding,style:a.style||"width: 100%;"},b),d=this._.contents[a.id]={},f=e.getChild(),g=0;e=f.shift();)e.notAllowed||"hbox"==e.type||"vbox"==e.type||g++,d[e.id]=e,"function"==typeof e.getChild&&f.push.apply(f,e.getChild());g||(a.hidden=!0);b=CKEDITOR.dom.element.createFromHtml(b.join(""));b.setAttribute("role","tabpanel");e=CKEDITOR.env;d="cke_"+a.id+"_"+CKEDITOR.tools.getNextNumber();c=CKEDITOR.dom.element.createFromHtml(['\x3ca class\x3d"cke_dialog_tab"', +0<this._.pageCount?" cke_last":"cke_first",c,a.hidden?' style\x3d"display:none"':"",' id\x3d"',d,'"',e.gecko&&!e.hc?"":' href\x3d"javascript:void(0)"',' tabIndex\x3d"-1" hidefocus\x3d"true" role\x3d"tab"\x3e',a.label,"\x3c/a\x3e"].join(""));b.setAttribute("aria-labelledby",d);this._.tabs[a.id]=[c,b];this._.tabIdList.push(a.id);!a.hidden&&this._.pageCount++;this._.lastTab=c;this.updateStyle();b.setAttribute("name",a.id);b.appendTo(this.parts.contents);c.unselectable();this.parts.tabs.append(c);a.accessKey&& +(S(this,this,"CTRL+"+a.accessKey,ca,da),this._.accessKeyMap["CTRL+"+a.accessKey]=a.id)}},selectPage:function(a){if(this._.currentTabId!=a&&!this._.tabs[a][0].hasClass("cke_dialog_tab_disabled")&&!1!==this.fire("selectPage",{page:a,currentPage:this._.currentTabId})){for(var b in this._.tabs){var c=this._.tabs[b][0],e=this._.tabs[b][1];b!=a&&(c.removeClass("cke_dialog_tab_selected"),e.hide());e.setAttribute("aria-hidden",b!=a)}var d=this._.tabs[a];d[0].addClass("cke_dialog_tab_selected");CKEDITOR.env.ie6Compat|| +CKEDITOR.env.ie7Compat?(K(d[1]),d[1].show(),setTimeout(function(){K(d[1],1)},0)):d[1].show();this._.currentTabId=a;this._.currentTabIndex=CKEDITOR.tools.indexOf(this._.tabIdList,a)}},updateStyle:function(){this.parts.dialog[(1===this._.pageCount?"add":"remove")+"Class"]("cke_single_page")},hidePage:function(a){var b=this._.tabs[a]&&this._.tabs[a][0];b&&1!=this._.pageCount&&b.isVisible()&&(a==this._.currentTabId&&this.selectPage(x.call(this)),b.hide(),this._.pageCount--,this.updateStyle())},showPage:function(a){if(a= +this._.tabs[a]&&this._.tabs[a][0])a.show(),this._.pageCount++,this.updateStyle()},getElement:function(){return this._.element},getName:function(){return this._.name},getContentElement:function(a,b){var c=this._.contents[a];return c&&c[b]},getValueOf:function(a,b){return this.getContentElement(a,b).getValue()},setValueOf:function(a,b,c){return this.getContentElement(a,b).setValue(c)},getButton:function(a){return this._.buttons[a]},click:function(a){return this._.buttons[a].click()},disableButton:function(a){return this._.buttons[a].disable()}, +enableButton:function(a){return this._.buttons[a].enable()},getPageCount:function(){return this._.pageCount},getParentEditor:function(){return this._.editor},getSelectedElement:function(){return this.getParentEditor().getSelection().getSelectedElement()},addFocusable:function(a,b){if("undefined"==typeof b)b=this._.focusList.length,this._.focusList.push(new L(this,a,b));else{this._.focusList.splice(b,0,new L(this,a,b));for(var c=b+1;c<this._.focusList.length;c++)this._.focusList[c].focusIndex++}}, +setState:function(a){if(this.state!=a){this.state=a;if(a==CKEDITOR.DIALOG_STATE_BUSY){if(!this.parts.spinner){var b=this.getParentEditor().lang.dir,c={attributes:{"class":"cke_dialog_spinner"},styles:{"float":"rtl"==b?"right":"left"}};c.styles["margin-"+("rtl"==b?"left":"right")]="8px";this.parts.spinner=CKEDITOR.document.createElement("div",c);this.parts.spinner.setHtml("\x26#8987;");this.parts.spinner.appendTo(this.parts.title,1)}this.parts.spinner.show();this.getButton("ok").disable()}else a== +CKEDITOR.DIALOG_STATE_IDLE&&(this.parts.spinner&&this.parts.spinner.hide(),this.getButton("ok").enable());this.fire("state",a)}}};CKEDITOR.tools.extend(CKEDITOR.dialog,{add:function(a,b){this._.dialogDefinitions[a]&&"function"!=typeof b||(this._.dialogDefinitions[a]=b)},exists:function(a){return!!this._.dialogDefinitions[a]},getCurrent:function(){return CKEDITOR.dialog._.currentTop},isTabEnabled:function(a,b,c){a=a.config.removeDialogTabs;return!(a&&a.match(new RegExp("(?:^|;)"+b+":"+c+"(?:$|;)", +"i")))},okButton:function(){var a=function(a,c){c=c||{};return CKEDITOR.tools.extend({id:"ok",type:"button",label:a.lang.common.ok,"class":"cke_dialog_ui_button_ok",onClick:function(a){a=a.data.dialog;!1!==a.fire("ok",{hide:!0}).hide&&a.hide()}},c,!0)};a.type="button";a.override=function(b){return CKEDITOR.tools.extend(function(c){return a(c,b)},{type:"button"},!0)};return a}(),cancelButton:function(){var a=function(a,c){c=c||{};return CKEDITOR.tools.extend({id:"cancel",type:"button",label:a.lang.common.cancel, +"class":"cke_dialog_ui_button_cancel",onClick:function(a){a=a.data.dialog;!1!==a.fire("cancel",{hide:!0}).hide&&a.hide()}},c,!0)};a.type="button";a.override=function(b){return CKEDITOR.tools.extend(function(c){return a(c,b)},{type:"button"},!0)};return a}(),addUIElement:function(a,b){this._.uiElementBuilders[a]=b}});CKEDITOR.dialog._={uiElementBuilders:{},dialogDefinitions:{},currentTop:null,currentZIndex:null};CKEDITOR.event.implementOn(CKEDITOR.dialog);CKEDITOR.event.implementOn(CKEDITOR.dialog.prototype); +var aa={resizable:CKEDITOR.DIALOG_RESIZE_BOTH,minWidth:600,minHeight:400,buttons:[CKEDITOR.dialog.okButton,CKEDITOR.dialog.cancelButton]},D=function(a,b,c){for(var e=0,d;d=a[e];e++)if(d.id==b||c&&d[c]&&(d=D(d[c],b,c)))return d;return null},E=function(a,b,c,e,d){if(c){for(var f=0,g;g=a[f];f++){if(g.id==c)return a.splice(f,0,b),b;if(e&&g[e]&&(g=E(g[e],b,c,e,!0)))return g}if(d)return null}a.push(b);return b},F=function(a,b,c){for(var e=0,d;d=a[e];e++){if(d.id==b)return a.splice(e,1);if(c&&d[c]&&(d=F(d[c], +b,c)))return d}return null},P=function(a,b){this.dialog=a;for(var c=b.contents,e=0,d;d=c[e];e++)c[e]=d&&new M(a,d);CKEDITOR.tools.extend(this,b)};P.prototype={getContents:function(a){return D(this.contents,a)},getButton:function(a){return D(this.buttons,a)},addContents:function(a,b){return E(this.contents,a,b)},addButton:function(a,b){return E(this.buttons,a,b)},removeContents:function(a){F(this.contents,a)},removeButton:function(a){F(this.buttons,a)}};M.prototype={get:function(a){return D(this.elements, +a,"children")},add:function(a,b){return E(this.elements,a,b,"children")},remove:function(a){F(this.elements,a,"children")}};var J,z={},u,w={},Q=function(a){var b=a.data.$.ctrlKey||a.data.$.metaKey,c=a.data.$.altKey,e=a.data.$.shiftKey,d=String.fromCharCode(a.data.$.keyCode);(b=w[(b?"CTRL+":"")+(c?"ALT+":"")+(e?"SHIFT+":"")+d])&&b.length&&(b=b[b.length-1],b.keydown&&b.keydown.call(b.uiElement,b.dialog,b.key),a.data.preventDefault())},R=function(a){var b=a.data.$.ctrlKey||a.data.$.metaKey,c=a.data.$.altKey, +e=a.data.$.shiftKey,d=String.fromCharCode(a.data.$.keyCode);(b=w[(b?"CTRL+":"")+(c?"ALT+":"")+(e?"SHIFT+":"")+d])&&b.length&&(b=b[b.length-1],b.keyup&&(b.keyup.call(b.uiElement,b.dialog,b.key),a.data.preventDefault()))},S=function(a,b,c,e,d){(w[c]||(w[c]=[])).push({uiElement:a,dialog:b,key:c,keyup:d||a.accessKeyUp,keydown:e||a.accessKeyDown})},ba=function(a){for(var b in w){for(var c=w[b],e=c.length-1;0<=e;e--)c[e].dialog!=a&&c[e].uiElement!=a||c.splice(e,1);0===c.length&&delete w[b]}},da=function(a, +b){a._.accessKeyMap[b]&&a.selectPage(a._.accessKeyMap[b])},ca=function(){};(function(){CKEDITOR.ui.dialog={uiElement:function(a,b,c,e,d,f,g){if(!(4>arguments.length)){var h=(e.call?e(b):e)||"div",p=["\x3c",h," "],m=(d&&d.call?d(b):d)||{},k=(f&&f.call?f(b):f)||{},q=(g&&g.call?g.call(this,a,b):g)||"",n=this.domId=k.id||CKEDITOR.tools.getNextId()+"_uiElement";b.requiredContent&&!a.getParentEditor().filter.check(b.requiredContent)&&(m.display="none",this.notAllowed=!0);k.id=n;var r={};b.type&&(r["cke_dialog_ui_"+ +b.type]=1);b.className&&(r[b.className]=1);b.disabled&&(r.cke_disabled=1);for(var l=k["class"]&&k["class"].split?k["class"].split(" "):[],n=0;n<l.length;n++)l[n]&&(r[l[n]]=1);l=[];for(n in r)l.push(n);k["class"]=l.join(" ");b.title&&(k.title=b.title);r=(b.style||"").split(";");b.align&&(l=b.align,m["margin-left"]="left"==l?0:"auto",m["margin-right"]="right"==l?0:"auto");for(n in m)r.push(n+":"+m[n]);b.hidden&&r.push("display:none");for(n=r.length-1;0<=n;n--)""===r[n]&&r.splice(n,1);0<r.length&&(k.style= +(k.style?k.style+"; ":"")+r.join("; "));for(n in k)p.push(n+'\x3d"'+CKEDITOR.tools.htmlEncode(k[n])+'" ');p.push("\x3e",q,"\x3c/",h,"\x3e");c.push(p.join(""));(this._||(this._={})).dialog=a;"boolean"==typeof b.isChanged&&(this.isChanged=function(){return b.isChanged});"function"==typeof b.isChanged&&(this.isChanged=b.isChanged);"function"==typeof b.setValue&&(this.setValue=CKEDITOR.tools.override(this.setValue,function(a){return function(c){a.call(this,b.setValue.call(this,c))}}));"function"==typeof b.getValue&& +(this.getValue=CKEDITOR.tools.override(this.getValue,function(a){return function(){return b.getValue.call(this,a.call(this))}}));CKEDITOR.event.implementOn(this);this.registerEvents(b);this.accessKeyUp&&this.accessKeyDown&&b.accessKey&&S(this,a,"CTRL+"+b.accessKey);var t=this;a.on("load",function(){var b=t.getInputElement();if(b){var c=t.type in{checkbox:1,ratio:1}&&CKEDITOR.env.ie&&8>CKEDITOR.env.version?"cke_dialog_ui_focused":"";b.on("focus",function(){a._.tabBarMode=!1;a._.hasFocus=!0;t.fire("focus"); +c&&this.addClass(c)});b.on("blur",function(){t.fire("blur");c&&this.removeClass(c)})}});CKEDITOR.tools.extend(this,b);this.keyboardFocusable&&(this.tabIndex=b.tabIndex||0,this.focusIndex=a._.focusList.push(this)-1,this.on("focus",function(){a._.currentFocusIndex=t.focusIndex}))}},hbox:function(a,b,c,e,d){if(!(4>arguments.length)){this._||(this._={});var f=this._.children=b,g=d&&d.widths||null,h=d&&d.height||null,p,m={role:"presentation"};d&&d.align&&(m.align=d.align);CKEDITOR.ui.dialog.uiElement.call(this, +a,d||{type:"hbox"},e,"table",{},m,function(){var a=['\x3ctbody\x3e\x3ctr class\x3d"cke_dialog_ui_hbox"\x3e'];for(p=0;p<c.length;p++){var b="cke_dialog_ui_hbox_child",e=[];0===p&&(b="cke_dialog_ui_hbox_first");p==c.length-1&&(b="cke_dialog_ui_hbox_last");a.push('\x3ctd class\x3d"',b,'" role\x3d"presentation" ');g?g[p]&&e.push("width:"+v(g[p])):e.push("width:"+Math.floor(100/c.length)+"%");h&&e.push("height:"+v(h));d&&void 0!==d.padding&&e.push("padding:"+v(d.padding));CKEDITOR.env.ie&&CKEDITOR.env.quirks&& +f[p].align&&e.push("text-align:"+f[p].align);0<e.length&&a.push('style\x3d"'+e.join("; ")+'" ');a.push("\x3e",c[p],"\x3c/td\x3e")}a.push("\x3c/tr\x3e\x3c/tbody\x3e");return a.join("")})}},vbox:function(a,b,c,e,d){if(!(3>arguments.length)){this._||(this._={});var f=this._.children=b,g=d&&d.width||null,h=d&&d.heights||null;CKEDITOR.ui.dialog.uiElement.call(this,a,d||{type:"vbox"},e,"div",null,{role:"presentation"},function(){var b=['\x3ctable role\x3d"presentation" cellspacing\x3d"0" border\x3d"0" ']; +b.push('style\x3d"');d&&d.expand&&b.push("height:100%;");b.push("width:"+v(g||"100%"),";");CKEDITOR.env.webkit&&b.push("float:none;");b.push('"');b.push('align\x3d"',CKEDITOR.tools.htmlEncode(d&&d.align||("ltr"==a.getParentEditor().lang.dir?"left":"right")),'" ');b.push("\x3e\x3ctbody\x3e");for(var e=0;e<c.length;e++){var k=[];b.push('\x3ctr\x3e\x3ctd role\x3d"presentation" ');g&&k.push("width:"+v(g||"100%"));h?k.push("height:"+v(h[e])):d&&d.expand&&k.push("height:"+Math.floor(100/c.length)+"%"); +d&&void 0!==d.padding&&k.push("padding:"+v(d.padding));CKEDITOR.env.ie&&CKEDITOR.env.quirks&&f[e].align&&k.push("text-align:"+f[e].align);0<k.length&&b.push('style\x3d"',k.join("; "),'" ');b.push(' class\x3d"cke_dialog_ui_vbox_child"\x3e',c[e],"\x3c/td\x3e\x3c/tr\x3e")}b.push("\x3c/tbody\x3e\x3c/table\x3e");return b.join("")})}}}})();CKEDITOR.ui.dialog.uiElement.prototype={getElement:function(){return CKEDITOR.document.getById(this.domId)},getInputElement:function(){return this.getElement()},getDialog:function(){return this._.dialog}, +setValue:function(a,b){this.getInputElement().setValue(a);!b&&this.fire("change",{value:a});return this},getValue:function(){return this.getInputElement().getValue()},isChanged:function(){return!1},selectParentTab:function(){for(var a=this.getInputElement();(a=a.getParent())&&-1==a.$.className.search("cke_dialog_page_contents"););if(!a)return this;a=a.getAttribute("name");this._.dialog._.currentTabId!=a&&this._.dialog.selectPage(a);return this},focus:function(){this.selectParentTab().getInputElement().focus(); +return this},registerEvents:function(a){var b=/^on([A-Z]\w+)/,c,e=function(a,b,c,d){b.on("load",function(){a.getInputElement().on(c,d,a)})},d;for(d in a)if(c=d.match(b))this.eventProcessors[d]?this.eventProcessors[d].call(this,this._.dialog,a[d]):e(this,this._.dialog,c[1].toLowerCase(),a[d]);return this},eventProcessors:{onLoad:function(a,b){a.on("load",b,this)},onShow:function(a,b){a.on("show",b,this)},onHide:function(a,b){a.on("hide",b,this)}},accessKeyDown:function(){this.focus()},accessKeyUp:function(){}, +disable:function(){var a=this.getElement();this.getInputElement().setAttribute("disabled","true");a.addClass("cke_disabled")},enable:function(){var a=this.getElement();this.getInputElement().removeAttribute("disabled");a.removeClass("cke_disabled")},isEnabled:function(){return!this.getElement().hasClass("cke_disabled")},isVisible:function(){return this.getInputElement().isVisible()},isFocusable:function(){return this.isEnabled()&&this.isVisible()?!0:!1}};CKEDITOR.ui.dialog.hbox.prototype=CKEDITOR.tools.extend(new CKEDITOR.ui.dialog.uiElement, +{getChild:function(a){if(1>arguments.length)return this._.children.concat();a.splice||(a=[a]);return 2>a.length?this._.children[a[0]]:this._.children[a[0]]&&this._.children[a[0]].getChild?this._.children[a[0]].getChild(a.slice(1,a.length)):null}},!0);CKEDITOR.ui.dialog.vbox.prototype=new CKEDITOR.ui.dialog.hbox;(function(){var a={build:function(a,c,e){for(var d=c.children,f,g=[],h=[],p=0;p<d.length&&(f=d[p]);p++){var m=[];g.push(m);h.push(CKEDITOR.dialog._.uiElementBuilders[f.type].build(a,f,m))}return new CKEDITOR.ui.dialog[c.type](a, +h,g,e,c)}};CKEDITOR.dialog.addUIElement("hbox",a);CKEDITOR.dialog.addUIElement("vbox",a)})();CKEDITOR.dialogCommand=function(a,b){this.dialogName=a;CKEDITOR.tools.extend(this,b,!0)};CKEDITOR.dialogCommand.prototype={exec:function(a){var b=this.tabId;a.openDialog(this.dialogName,function(a){b&&a.selectPage(b)})},canUndo:!1,editorFocus:1};(function(){var a=/^([a]|[^a])+$/,b=/^\d*$/,c=/^\d*(?:\.\d+)?$/,e=/^(((\d*(\.\d+))|(\d*))(px|\%)?)?$/,d=/^(((\d*(\.\d+))|(\d*))(px|em|ex|in|cm|mm|pt|pc|\%)?)?$/i, +f=/^(\s*[\w-]+\s*:\s*[^:;]+(?:;|$))*$/;CKEDITOR.VALIDATE_OR=1;CKEDITOR.VALIDATE_AND=2;CKEDITOR.dialog.validate={functions:function(){var a=arguments;return function(){var b=this&&this.getValue?this.getValue():a[0],c,d=CKEDITOR.VALIDATE_AND,e=[],f;for(f=0;f<a.length;f++)if("function"==typeof a[f])e.push(a[f]);else break;f<a.length&&"string"==typeof a[f]&&(c=a[f],f++);f<a.length&&"number"==typeof a[f]&&(d=a[f]);var n=d==CKEDITOR.VALIDATE_AND?!0:!1;for(f=0;f<e.length;f++)n=d==CKEDITOR.VALIDATE_AND?n&& +e[f](b):n||e[f](b);return n?!0:c}},regex:function(a,b){return function(c){c=this&&this.getValue?this.getValue():c;return a.test(c)?!0:b}},notEmpty:function(b){return this.regex(a,b)},integer:function(a){return this.regex(b,a)},number:function(a){return this.regex(c,a)},cssLength:function(a){return this.functions(function(a){return d.test(CKEDITOR.tools.trim(a))},a)},htmlLength:function(a){return this.functions(function(a){return e.test(CKEDITOR.tools.trim(a))},a)},inlineStyle:function(a){return this.functions(function(a){return f.test(CKEDITOR.tools.trim(a))}, +a)},equals:function(a,b){return this.functions(function(b){return b==a},b)},notEqual:function(a,b){return this.functions(function(b){return b!=a},b)}};CKEDITOR.on("instanceDestroyed",function(a){if(CKEDITOR.tools.isEmpty(CKEDITOR.instances)){for(var b;b=CKEDITOR.dialog._.currentTop;)b.hide();for(var c in z)z[c].remove();z={}}a=a.editor._.storedDialogs;for(var d in a)a[d].destroy()})})();CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{openDialog:function(a,b){var c=null,e=CKEDITOR.dialog._.dialogDefinitions[a]; +null===CKEDITOR.dialog._.currentTop&&N(this);if("function"==typeof e)c=this._.storedDialogs||(this._.storedDialogs={}),c=c[a]||(c[a]=new CKEDITOR.dialog(this,a)),b&&b.call(c,c),c.show();else{if("failed"==e)throw O(this),Error('[CKEDITOR.dialog.openDialog] Dialog "'+a+'" failed when loading definition.');"string"==typeof e&&CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(e),function(){"function"!=typeof CKEDITOR.dialog._.dialogDefinitions[a]&&(CKEDITOR.dialog._.dialogDefinitions[a]="failed");this.openDialog(a, +b)},this,0,1)}CKEDITOR.skin.loadPart("dialog");return c}})})();CKEDITOR.plugins.add("dialog",{requires:"dialogui",init:function(x){x.on("doubleclick",function(A){A.data.dialog&&x.openDialog(A.data.dialog)},null,null,999)}});CKEDITOR.plugins.add("about",{requires:"dialog",init:function(a){var b=a.addCommand("about",new CKEDITOR.dialogCommand("about"));b.modes={wysiwyg:1,source:1};b.canUndo=!1;b.readOnly=1;a.ui.addButton&&a.ui.addButton("About",{label:a.lang.about.dlgTitle,command:"about",toolbar:"about"});CKEDITOR.dialog.add("about",this.path+"dialogs/about.js")}});(function(){CKEDITOR.plugins.add("a11yhelp",{requires:"dialog",availableLangs:{af:1,ar:1,az:1,bg:1,ca:1,cs:1,cy:1,da:1,de:1,"de-ch":1,el:1,en:1,"en-au":1,"en-gb":1,eo:1,es:1,"es-mx":1,et:1,eu:1,fa:1,fi:1,fo:1,fr:1,"fr-ca":1,gl:1,gu:1,he:1,hi:1,hr:1,hu:1,id:1,it:1,ja:1,km:1,ko:1,ku:1,lt:1,lv:1,mk:1,mn:1,nb:1,nl:1,no:1,oc:1,pl:1,pt:1,"pt-br":1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,sr:1,"sr-latn":1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,zh:1,"zh-cn":1},init:function(b){var c=this;b.addCommand("a11yHelp",{exec:function(){var a= +b.langCode,a=c.availableLangs[a]?a:c.availableLangs[a.replace(/-.*/,"")]?a.replace(/-.*/,""):"en";CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(c.path+"dialogs/lang/"+a+".js"),function(){b.lang.a11yhelp=c.langEntries[a];b.openDialog("a11yHelp")})},modes:{wysiwyg:1,source:1},readOnly:1,canUndo:!1});b.setKeystroke(CKEDITOR.ALT+48,"a11yHelp");CKEDITOR.dialog.add("a11yHelp",this.path+"dialogs/a11yhelp.js");b.on("ariaEditorHelpLabel",function(a){a.data.label=b.lang.common.editorHelp})}})})();(function(){function f(c){var a=this.att;c=c&&c.hasAttribute(a)&&c.getAttribute(a)||"";void 0!==c&&this.setValue(c)}function g(){for(var c,a=0;a<arguments.length;a++)if(arguments[a]instanceof CKEDITOR.dom.element){c=arguments[a];break}if(c){var a=this.att,b=this.getValue();b?c.setAttribute(a,b):c.removeAttribute(a,b)}}var k={id:1,dir:1,classes:1,styles:1};CKEDITOR.plugins.add("dialogadvtab",{requires:"dialog",allowedContent:function(c){c||(c=k);var a=[];c.id&&a.push("id");c.dir&&a.push("dir");var b= +"";a.length&&(b+="["+a.join(",")+"]");c.classes&&(b+="(*)");c.styles&&(b+="{*}");return b},createAdvancedTab:function(c,a,b){a||(a=k);var d=c.lang.common,h={id:"advanced",label:d.advancedTab,title:d.advancedTab,elements:[{type:"vbox",padding:1,children:[]}]},e=[];if(a.id||a.dir)a.id&&e.push({id:"advId",att:"id",type:"text",requiredContent:b?b+"[id]":null,label:d.id,setup:f,commit:g}),a.dir&&e.push({id:"advLangDir",att:"dir",type:"select",requiredContent:b?b+"[dir]":null,label:d.langDir,"default":"", +style:"width:100%",items:[[d.notSet,""],[d.langDirLTR,"ltr"],[d.langDirRTL,"rtl"]],setup:f,commit:g}),h.elements[0].children.push({type:"hbox",widths:["50%","50%"],children:[].concat(e)});if(a.styles||a.classes)e=[],a.styles&&e.push({id:"advStyles",att:"style",type:"text",requiredContent:b?b+"{cke-xyz}":null,label:d.styles,"default":"",validate:CKEDITOR.dialog.validate.inlineStyle(d.invalidInlineStyle),onChange:function(){},getStyle:function(a,c){var b=this.getValue().match(new RegExp("(?:^|;)\\s*"+ +a+"\\s*:\\s*([^;]*)","i"));return b?b[1]:c},updateStyle:function(a,b){var d=this.getValue(),e=c.document.createElement("span");e.setAttribute("style",d);e.setStyle(a,b);d=CKEDITOR.tools.normalizeCssText(e.getAttribute("style"));this.setValue(d,1)},setup:f,commit:g}),a.classes&&e.push({type:"hbox",widths:["45%","55%"],children:[{id:"advCSSClasses",att:"class",type:"text",requiredContent:b?b+"(cke-xyz)":null,label:d.cssClasses,"default":"",setup:f,commit:g}]}),h.elements[0].children.push({type:"hbox", +widths:["50%","50%"],children:[].concat(e)});return h}})})();CKEDITOR.plugins.add("basicstyles",{init:function(c){var e=0,d=function(g,d,b,a){if(a){a=new CKEDITOR.style(a);var f=h[b];f.unshift(a);c.attachStyleStateChange(a,function(a){!c.readOnly&&c.getCommand(b).setState(a)});c.addCommand(b,new CKEDITOR.styleCommand(a,{contentForms:f}));c.ui.addButton&&c.ui.addButton(g,{label:d,command:b,toolbar:"basicstyles,"+(e+=10)})}},h={bold:["strong","b",["span",function(a){a=a.styles["font-weight"];return"bold"==a||700<=+a}]],italic:["em","i",["span",function(a){return"italic"== +a.styles["font-style"]}]],underline:["u",["span",function(a){return"underline"==a.styles["text-decoration"]}]],strike:["s","strike",["span",function(a){return"line-through"==a.styles["text-decoration"]}]],subscript:["sub"],superscript:["sup"]},b=c.config,a=c.lang.basicstyles;d("Bold",a.bold,"bold",b.coreStyles_bold);d("Italic",a.italic,"italic",b.coreStyles_italic);d("Underline",a.underline,"underline",b.coreStyles_underline);d("Strike",a.strike,"strike",b.coreStyles_strike);d("Subscript",a.subscript, +"subscript",b.coreStyles_subscript);d("Superscript",a.superscript,"superscript",b.coreStyles_superscript);c.setKeystroke([[CKEDITOR.CTRL+66,"bold"],[CKEDITOR.CTRL+73,"italic"],[CKEDITOR.CTRL+85,"underline"]])}});CKEDITOR.config.coreStyles_bold={element:"strong",overrides:"b"};CKEDITOR.config.coreStyles_italic={element:"em",overrides:"i"};CKEDITOR.config.coreStyles_underline={element:"u"};CKEDITOR.config.coreStyles_strike={element:"s",overrides:"strike"};CKEDITOR.config.coreStyles_subscript={element:"sub"}; +CKEDITOR.config.coreStyles_superscript={element:"sup"};(function(){function q(a,f,d,b){if(!a.isReadOnly()&&!a.equals(d.editable())){CKEDITOR.dom.element.setMarker(b,a,"bidi_processed",1);b=a;for(var c=d.editable();(b=b.getParent())&&!b.equals(c);)if(b.getCustomData("bidi_processed")){a.removeStyle("direction");a.removeAttribute("dir");return}b="useComputedState"in d.config?d.config.useComputedState:1;(b?a.getComputedStyle("direction"):a.getStyle("direction")||a.hasAttribute("dir"))!=f&&(a.removeStyle("direction"),b?(a.removeAttribute("dir"),f!=a.getComputedStyle("direction")&& +a.setAttribute("dir",f)):a.setAttribute("dir",f),d.forceNextSelectionCheck())}}function v(a,f,d){var b=a.getCommonAncestor(!1,!0);a=a.clone();a.enlarge(d==CKEDITOR.ENTER_BR?CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS:CKEDITOR.ENLARGE_BLOCK_CONTENTS);if(a.checkBoundaryOfElement(b,CKEDITOR.START)&&a.checkBoundaryOfElement(b,CKEDITOR.END)){for(var c;b&&b.type==CKEDITOR.NODE_ELEMENT&&(c=b.getParent())&&1==c.getChildCount()&&!(b.getName()in f);)b=c;return b.type==CKEDITOR.NODE_ELEMENT&&b.getName()in f&&b}}function p(a){return{context:"p", +allowedContent:{"h1 h2 h3 h4 h5 h6 table ul ol blockquote div tr p div li td":{propertiesOnly:!0,attributes:"dir"}},requiredContent:"p[dir]",refresh:function(a,d){var b=a.config.useComputedState,c,b=void 0===b||b;if(!b){c=d.lastElement;for(var h=a.editable();c&&!(c.getName()in u||c.equals(h));){var e=c.getParent();if(!e)break;c=e}}c=c||d.block||d.blockLimit;c.equals(a.editable())&&(h=a.getSelection().getRanges()[0].getEnclosedNode())&&h.type==CKEDITOR.NODE_ELEMENT&&(c=h);c&&(b=b?c.getComputedStyle("direction"): +c.getStyle("direction")||c.getAttribute("dir"),a.getCommand("bidirtl").setState("rtl"==b?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF),a.getCommand("bidiltr").setState("ltr"==b?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF));b=(d.block||d.blockLimit||a.editable()).getDirection(1);b!=(a._.selDir||a.lang.dir)&&(a._.selDir=b,a.fire("contentDirChanged",b))},exec:function(f){var d=f.getSelection(),b=f.config.enterMode,c=d.getRanges();if(c&&c.length){for(var h={},e=d.createBookmarks(),c=c.createIterator(),g, +l=0;g=c.getNextRange(1);){var k=g.getEnclosedNode();k&&(!k||k.type==CKEDITOR.NODE_ELEMENT&&k.getName()in r)||(k=v(g,t,b));k&&q(k,a,f,h);var m=new CKEDITOR.dom.walker(g),n=e[l].startNode,p=e[l++].endNode;m.evaluator=function(a){var c=b==CKEDITOR.ENTER_P?"p":"div",d;if(d=(a?a.type==CKEDITOR.NODE_ELEMENT:!1)&&a.getName()in t){if(c=a.is(c))c=(c=a.getParent())?c.type==CKEDITOR.NODE_ELEMENT:!1;d=!(c&&a.getParent().is("blockquote"))}return!!(d&&a.getPosition(n)&CKEDITOR.POSITION_FOLLOWING&&(a.getPosition(p)& +CKEDITOR.POSITION_PRECEDING+CKEDITOR.POSITION_CONTAINS)==CKEDITOR.POSITION_PRECEDING)};for(;k=m.next();)q(k,a,f,h);g=g.createIterator();for(g.enlargeBr=b!=CKEDITOR.ENTER_BR;k=g.getNextParagraph(b==CKEDITOR.ENTER_P?"p":"div");)q(k,a,f,h)}CKEDITOR.dom.element.clearAllMarkers(h);f.forceNextSelectionCheck();d.selectBookmarks(e);f.focus()}}}}function w(a){var f=a==l.setAttribute,d=a==l.removeAttribute,b=/\bdirection\s*:\s*(.*?)\s*(:?$|;)/;return function(c,h){if(!this.isReadOnly()){var e;if(e=c==(f||d? +"dir":"direction")||"style"==c&&(d||b.test(h))){a:{e=this;for(var g=e.getDocument().getBody().getParent();e;){if(e.equals(g)){e=!1;break a}e=e.getParent()}e=!0}e=!e}if(e&&(e=this.getDirection(1),g=a.apply(this,arguments),e!=this.getDirection(1)))return this.getDocument().fire("dirChanged",this),g}return a.apply(this,arguments)}}var t={table:1,ul:1,ol:1,blockquote:1,div:1},r={},u={};CKEDITOR.tools.extend(r,t,{tr:1,p:1,div:1,li:1});CKEDITOR.tools.extend(u,r,{td:1});CKEDITOR.plugins.add("bidi",{init:function(a){function f(b, +c,d,e,f){a.addCommand(d,new CKEDITOR.command(a,e));a.ui.addButton&&a.ui.addButton(b,{label:c,command:d,toolbar:"bidi,"+f})}if(!a.blockless){var d=a.lang.bidi;f("BidiLtr",d.ltr,"bidiltr",p("ltr"),10);f("BidiRtl",d.rtl,"bidirtl",p("rtl"),20);a.on("contentDom",function(){a.document.on("dirChanged",function(b){a.fire("dirChanged",{node:b.data,dir:b.data.getDirection(1)})})});a.on("contentDirChanged",function(b){b=(a.lang.dir!=b.data?"add":"remove")+"Class";var c=a.ui.space(a.config.toolbarLocation);if(c)c[b]("cke_mixed_dir_content")})}}}); +for(var l=CKEDITOR.dom.element.prototype,n=["setStyle","removeStyle","setAttribute","removeAttribute"],m=0;m<n.length;m++)l[n[m]]=CKEDITOR.tools.override(l[n[m]],w)})();(function(){var m={exec:function(g){var a=g.getCommand("blockquote").state,k=g.getSelection(),c=k&&k.getRanges()[0];if(c){var h=k.createBookmarks();if(CKEDITOR.env.ie){var e=h[0].startNode,b=h[0].endNode,d;if(e&&"blockquote"==e.getParent().getName())for(d=e;d=d.getNext();)if(d.type==CKEDITOR.NODE_ELEMENT&&d.isBlockBoundary()){e.move(d,!0);break}if(b&&"blockquote"==b.getParent().getName())for(d=b;d=d.getPrevious();)if(d.type==CKEDITOR.NODE_ELEMENT&&d.isBlockBoundary()){b.move(d);break}}var f=c.createIterator(); +f.enlargeBr=g.config.enterMode!=CKEDITOR.ENTER_BR;if(a==CKEDITOR.TRISTATE_OFF){for(e=[];a=f.getNextParagraph();)e.push(a);1>e.length&&(a=g.document.createElement(g.config.enterMode==CKEDITOR.ENTER_P?"p":"div"),b=h.shift(),c.insertNode(a),a.append(new CKEDITOR.dom.text("",g.document)),c.moveToBookmark(b),c.selectNodeContents(a),c.collapse(!0),b=c.createBookmark(),e.push(a),h.unshift(b));d=e[0].getParent();c=[];for(b=0;b<e.length;b++)a=e[b],d=d.getCommonAncestor(a.getParent());for(a={table:1,tbody:1, +tr:1,ol:1,ul:1};a[d.getName()];)d=d.getParent();for(b=null;0<e.length;){for(a=e.shift();!a.getParent().equals(d);)a=a.getParent();a.equals(b)||c.push(a);b=a}for(;0<c.length;)if(a=c.shift(),"blockquote"==a.getName()){for(b=new CKEDITOR.dom.documentFragment(g.document);a.getFirst();)b.append(a.getFirst().remove()),e.push(b.getLast());b.replace(a)}else e.push(a);c=g.document.createElement("blockquote");for(c.insertBefore(e[0]);0<e.length;)a=e.shift(),c.append(a)}else if(a==CKEDITOR.TRISTATE_ON){b=[]; +for(d={};a=f.getNextParagraph();){for(e=c=null;a.getParent();){if("blockquote"==a.getParent().getName()){c=a.getParent();e=a;break}a=a.getParent()}c&&e&&!e.getCustomData("blockquote_moveout")&&(b.push(e),CKEDITOR.dom.element.setMarker(d,e,"blockquote_moveout",!0))}CKEDITOR.dom.element.clearAllMarkers(d);a=[];e=[];for(d={};0<b.length;)f=b.shift(),c=f.getParent(),f.getPrevious()?f.getNext()?(f.breakParent(f.getParent()),e.push(f.getNext())):f.remove().insertAfter(c):f.remove().insertBefore(c),c.getCustomData("blockquote_processed")|| +(e.push(c),CKEDITOR.dom.element.setMarker(d,c,"blockquote_processed",!0)),a.push(f);CKEDITOR.dom.element.clearAllMarkers(d);for(b=e.length-1;0<=b;b--){c=e[b];a:{d=c;for(var f=0,m=d.getChildCount(),l=void 0;f<m&&(l=d.getChild(f));f++)if(l.type==CKEDITOR.NODE_ELEMENT&&l.isBlockBoundary()){d=!1;break a}d=!0}d&&c.remove()}if(g.config.enterMode==CKEDITOR.ENTER_BR)for(c=!0;a.length;)if(f=a.shift(),"div"==f.getName()){b=new CKEDITOR.dom.documentFragment(g.document);!c||!f.getPrevious()||f.getPrevious().type== +CKEDITOR.NODE_ELEMENT&&f.getPrevious().isBlockBoundary()||b.append(g.document.createElement("br"));for(c=f.getNext()&&!(f.getNext().type==CKEDITOR.NODE_ELEMENT&&f.getNext().isBlockBoundary());f.getFirst();)f.getFirst().remove().appendTo(b);c&&b.append(g.document.createElement("br"));b.replace(f);c=!1}}k.selectBookmarks(h);g.focus()}},refresh:function(g,a){this.setState(g.elementPath(a.block||a.blockLimit).contains("blockquote",1)?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF)},context:"blockquote",allowedContent:"blockquote", +requiredContent:"blockquote"};CKEDITOR.plugins.add("blockquote",{init:function(g){g.blockless||(g.addCommand("blockquote",m),g.ui.addButton&&g.ui.addButton("Blockquote",{label:g.lang.blockquote.toolbar,command:"blockquote",toolbar:"blocks,10"}))}})})();(function(){function q(b,a){CKEDITOR.tools.extend(this,a,{editor:b,id:"cke-"+CKEDITOR.tools.getUniqueId(),area:b._.notificationArea});a.type||(this.type="info");this.element=this._createElement();b.plugins.clipboard&&CKEDITOR.plugins.clipboard.preventDefaultDropOnElement(this.element)}function r(b){var a=this;this.editor=b;this.notifications=[];this.element=this._createElement();this._uiBuffer=CKEDITOR.tools.eventsBuffer(10,this._layout,this);this._changeBuffer=CKEDITOR.tools.eventsBuffer(500,this._layout, +this);b.on("destroy",function(){a._removeListeners();a.element.remove()})}CKEDITOR.plugins.add("notification",{init:function(b){function a(b){var a=new CKEDITOR.dom.element("div");a.setStyles({position:"fixed","margin-left":"-9999px"});a.setAttributes({"aria-live":"assertive","aria-atomic":"true"});a.setText(b);CKEDITOR.document.getBody().append(a);setTimeout(function(){a.remove()},100)}b._.notificationArea=new r(b);b.showNotification=function(a,d,e){var f,l;"progress"==d?f=e:l=e;a=new CKEDITOR.plugins.notification(b, +{message:a,type:d,progress:f,duration:l});a.show();return a};b.on("key",function(c){if(27==c.data.keyCode){var d=b._.notificationArea.notifications;d.length&&(a(b.lang.notification.closed),d[d.length-1].hide(),c.cancel())}})}});q.prototype={show:function(){!1!==this.editor.fire("notificationShow",{notification:this})&&(this.area.add(this),this._hideAfterTimeout())},update:function(b){var a=!0;!1===this.editor.fire("notificationUpdate",{notification:this,options:b})&&(a=!1);var c=this.element,d=c.findOne(".cke_notification_message"), +e=c.findOne(".cke_notification_progress"),f=b.type;c.removeAttribute("role");b.progress&&"progress"!=this.type&&(f="progress");f&&(c.removeClass(this._getClass()),c.removeAttribute("aria-label"),this.type=f,c.addClass(this._getClass()),c.setAttribute("aria-label",this.type),"progress"!=this.type||e?"progress"!=this.type&&e&&e.remove():(e=this._createProgressElement(),e.insertBefore(d)));void 0!==b.message&&(this.message=b.message,d.setHtml(this.message));void 0!==b.progress&&(this.progress=b.progress, +e&&e.setStyle("width",this._getPercentageProgress()));a&&b.important&&(c.setAttribute("role","alert"),this.isVisible()||this.area.add(this));this.duration=b.duration;this._hideAfterTimeout()},hide:function(){!1!==this.editor.fire("notificationHide",{notification:this})&&this.area.remove(this)},isVisible:function(){return 0<=CKEDITOR.tools.indexOf(this.area.notifications,this)},_createElement:function(){var b=this,a,c,d=this.editor.lang.common.close;a=new CKEDITOR.dom.element("div");a.addClass("cke_notification"); +a.addClass(this._getClass());a.setAttributes({id:this.id,role:"alert","aria-label":this.type});"progress"==this.type&&a.append(this._createProgressElement());c=new CKEDITOR.dom.element("p");c.addClass("cke_notification_message");c.setHtml(this.message);a.append(c);c=CKEDITOR.dom.element.createFromHtml('\x3ca class\x3d"cke_notification_close" href\x3d"javascript:void(0)" title\x3d"'+d+'" role\x3d"button" tabindex\x3d"-1"\x3e\x3cspan class\x3d"cke_label"\x3eX\x3c/span\x3e\x3c/a\x3e');a.append(c);c.on("click", +function(){b.editor.focus();b.hide()});return a},_getClass:function(){return"progress"==this.type?"cke_notification_info":"cke_notification_"+this.type},_createProgressElement:function(){var b=new CKEDITOR.dom.element("span");b.addClass("cke_notification_progress");b.setStyle("width",this._getPercentageProgress());return b},_getPercentageProgress:function(){return Math.round(100*(this.progress||0))+"%"},_hideAfterTimeout:function(){var b=this,a;this._hideTimeoutId&&clearTimeout(this._hideTimeoutId); +if("number"==typeof this.duration)a=this.duration;else if("info"==this.type||"success"==this.type)a="number"==typeof this.editor.config.notification_duration?this.editor.config.notification_duration:5E3;a&&(b._hideTimeoutId=setTimeout(function(){b.hide()},a))}};r.prototype={add:function(b){this.notifications.push(b);this.element.append(b.element);1==this.element.getChildCount()&&(CKEDITOR.document.getBody().append(this.element),this._attachListeners());this._layout()},remove:function(b){var a=CKEDITOR.tools.indexOf(this.notifications, +b);0>a||(this.notifications.splice(a,1),b.element.remove(),this.element.getChildCount()||(this._removeListeners(),this.element.remove()))},_createElement:function(){var b=this.editor,a=b.config,c=new CKEDITOR.dom.element("div");c.addClass("cke_notifications_area");c.setAttribute("id","cke_notifications_area_"+b.name);c.setStyle("z-index",a.baseFloatZIndex-2);return c},_attachListeners:function(){var b=CKEDITOR.document.getWindow(),a=this.editor;b.on("scroll",this._uiBuffer.input);b.on("resize",this._uiBuffer.input); +a.on("change",this._changeBuffer.input);a.on("floatingSpaceLayout",this._layout,this,null,20);a.on("blur",this._layout,this,null,20)},_removeListeners:function(){var b=CKEDITOR.document.getWindow(),a=this.editor;b.removeListener("scroll",this._uiBuffer.input);b.removeListener("resize",this._uiBuffer.input);a.removeListener("change",this._changeBuffer.input);a.removeListener("floatingSpaceLayout",this._layout);a.removeListener("blur",this._layout)},_layout:function(){function b(){a.setStyle("left", +k(n+d.width-g-h))}var a=this.element,c=this.editor,d=c.ui.contentsElement.getClientRect(),e=c.ui.contentsElement.getDocumentPosition(),f,l,u=a.getClientRect(),m,g=this._notificationWidth,h=this._notificationMargin;m=CKEDITOR.document.getWindow();var p=m.getScrollPosition(),t=m.getViewPaneSize(),q=CKEDITOR.document.getBody(),r=q.getDocumentPosition(),k=CKEDITOR.tools.cssLength;g&&h||(m=this.element.getChild(0),g=this._notificationWidth=m.getClientRect().width,h=this._notificationMargin=parseInt(m.getComputedStyle("margin-left"), +10)+parseInt(m.getComputedStyle("margin-right"),10));c.toolbar&&(f=c.ui.space("top"),l=f.getClientRect());f&&f.isVisible()&&l.bottom>d.top&&l.bottom<d.bottom-u.height?a.setStyles({position:"fixed",top:k(l.bottom)}):0<d.top?a.setStyles({position:"absolute",top:k(e.y)}):e.y+d.height-u.height>p.y?a.setStyles({position:"fixed",top:0}):a.setStyles({position:"absolute",top:k(e.y+d.height-u.height)});var n="fixed"==a.getStyle("position")?d.left:"static"!=q.getComputedStyle("position")?e.x-r.x:e.x;d.width< +g+h?e.x+g+h>p.x+t.width?b():a.setStyle("left",k(n)):e.x+g+h>p.x+t.width?a.setStyle("left",k(n)):e.x+d.width/2+g/2+h>p.x+t.width?a.setStyle("left",k(n-e.x+p.x+t.width-g-h)):0>d.left+d.width-g-h?b():0>d.left+d.width/2-g/2?a.setStyle("left",k(n-e.x+p.x)):a.setStyle("left",k(n+d.width/2-g/2-h/2))}};CKEDITOR.plugins.notification=q})();(function(){var c='\x3ca id\x3d"{id}" class\x3d"cke_button cke_button__{name} cke_button_{state} {cls}"'+(CKEDITOR.env.gecko&&!CKEDITOR.env.hc?"":" href\x3d\"javascript:void('{titleJs}')\"")+' title\x3d"{title}" tabindex\x3d"-1" hidefocus\x3d"true" role\x3d"button" aria-labelledby\x3d"{id}_label" aria-describedby\x3d"{id}_description" aria-haspopup\x3d"{hasArrow}" aria-disabled\x3d"{ariaDisabled}"';CKEDITOR.env.gecko&&CKEDITOR.env.mac&&(c+=' onkeypress\x3d"return false;"');CKEDITOR.env.gecko&&(c+= +' onblur\x3d"this.style.cssText \x3d this.style.cssText;"');var c=c+(' onkeydown\x3d"return CKEDITOR.tools.callFunction({keydownFn},event);" onfocus\x3d"return CKEDITOR.tools.callFunction({focusFn},event);" '+(CKEDITOR.env.ie?'onclick\x3d"return false;" onmouseup':"onclick")+'\x3d"CKEDITOR.tools.callFunction({clickFn},this);return false;"\x3e\x3cspan class\x3d"cke_button_icon cke_button__{iconName}_icon" style\x3d"{style}"'),c=c+'\x3e\x26nbsp;\x3c/span\x3e\x3cspan id\x3d"{id}_label" class\x3d"cke_button_label cke_button__{name}_label" aria-hidden\x3d"false"\x3e{label}\x3c/span\x3e\x3cspan id\x3d"{id}_description" class\x3d"cke_button_label" aria-hidden\x3d"false"\x3e{ariaShortcut}\x3c/span\x3e{arrowHtml}\x3c/a\x3e', +v=CKEDITOR.addTemplate("buttonArrow",'\x3cspan class\x3d"cke_button_arrow"\x3e'+(CKEDITOR.env.hc?"\x26#9660;":"")+"\x3c/span\x3e"),w=CKEDITOR.addTemplate("button",c);CKEDITOR.plugins.add("button",{beforeInit:function(a){a.ui.addHandler(CKEDITOR.UI_BUTTON,CKEDITOR.ui.button.handler)}});CKEDITOR.UI_BUTTON="button";CKEDITOR.ui.button=function(a){CKEDITOR.tools.extend(this,a,{title:a.label,click:a.click||function(b){b.execCommand(a.command)}});this._={}};CKEDITOR.ui.button.handler={create:function(a){return new CKEDITOR.ui.button(a)}}; +CKEDITOR.ui.button.prototype={render:function(a,b){function c(){var f=a.mode;f&&(f=this.modes[f]?void 0!==n[f]?n[f]:CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,f=a.readOnly&&!this.readOnly?CKEDITOR.TRISTATE_DISABLED:f,this.setState(f),this.refresh&&this.refresh())}var n=null,p=CKEDITOR.env,q=this._.id=CKEDITOR.tools.getNextId(),g="",d=this.command,t,k,l;this._.editor=a;var e={id:q,button:this,editor:a,focus:function(){CKEDITOR.document.getById(q).focus()},execute:function(){this.button.click(a)}, +attach:function(a){this.button.attach(a)}},x=CKEDITOR.tools.addFunction(function(a){if(e.onkey)return a=new CKEDITOR.dom.event(a),!1!==e.onkey(e,a.getKeystroke())}),y=CKEDITOR.tools.addFunction(function(a){var b;e.onfocus&&(b=!1!==e.onfocus(e,new CKEDITOR.dom.event(a)));return b}),u=0;e.clickFn=t=CKEDITOR.tools.addFunction(function(){u&&(a.unlockSelection(1),u=0);e.execute();p.iOS&&a.focus()});this.modes?(n={},a.on("beforeModeUnload",function(){a.mode&&this._.state!=CKEDITOR.TRISTATE_DISABLED&&(n[a.mode]= +this._.state)},this),a.on("activeFilterChange",c,this),a.on("mode",c,this),!this.readOnly&&a.on("readOnly",c,this)):d&&(d=a.getCommand(d))&&(d.on("state",function(){this.setState(d.state)},this),g+=d.state==CKEDITOR.TRISTATE_ON?"on":d.state==CKEDITOR.TRISTATE_DISABLED?"disabled":"off");var m;if(this.directional)a.on("contentDirChanged",function(b){var c=CKEDITOR.document.getById(this._.id),d=c.getFirst();b=b.data;b!=a.lang.dir?c.addClass("cke_"+b):c.removeClass("cke_ltr").removeClass("cke_rtl");d.setAttribute("style", +CKEDITOR.skin.getIconStyle(m,"rtl"==b,this.icon,this.iconOffset))},this);d?(k=a.getCommandKeystroke(d))&&(l=CKEDITOR.tools.keystrokeToString(a.lang.common.keyboard,k)):g+="off";k=this.name||this.command;var h=null,r=this.icon;m=k;this.icon&&!/\./.test(this.icon)?(m=this.icon,r=null):(this.icon&&(h=this.icon),CKEDITOR.env.hidpi&&this.iconHiDpi&&(h=this.iconHiDpi));h?(CKEDITOR.skin.addIcon(h,h),r=null):h=m;g={id:q,name:k,iconName:m,label:this.label,cls:this.className||"",state:g,ariaDisabled:"disabled"== +g?"true":"false",title:this.title+(l?" ("+l.display+")":""),ariaShortcut:l?a.lang.common.keyboardShortcut+" "+l.aria:"",titleJs:p.gecko&&!p.hc?"":(this.title||"").replace("'",""),hasArrow:this.hasArrow?"true":"false",keydownFn:x,focusFn:y,clickFn:t,style:CKEDITOR.skin.getIconStyle(h,"rtl"==a.lang.dir,r,this.iconOffset),arrowHtml:this.hasArrow?v.output():""};w.output(g,b);if(this.onRender)this.onRender();return e},setState:function(a){if(this._.state==a)return!1;this._.state=a;var b=CKEDITOR.document.getById(this._.id); +return b?(b.setState(a,"cke_button"),a==CKEDITOR.TRISTATE_DISABLED?b.setAttribute("aria-disabled",!0):b.removeAttribute("aria-disabled"),this.hasArrow?(a=a==CKEDITOR.TRISTATE_ON?this._.editor.lang.button.selectedLabel.replace(/%1/g,this.label):this.label,CKEDITOR.document.getById(this._.id+"_label").setText(a)):a==CKEDITOR.TRISTATE_ON?b.setAttribute("aria-pressed",!0):b.removeAttribute("aria-pressed"),!0):!1},getState:function(){return this._.state},toFeature:function(a){if(this._.feature)return this._.feature; +var b=this;this.allowedContent||this.requiredContent||!this.command||(b=a.getCommand(this.command)||b);return this._.feature=b}};CKEDITOR.ui.prototype.addButton=function(a,b){this.add(a,CKEDITOR.UI_BUTTON,b)}})();(function(){function D(a){function d(){for(var b=f(),e=CKEDITOR.tools.clone(a.config.toolbarGroups)||v(a),n=0;n<e.length;n++){var g=e[n];if("/"!=g){"string"==typeof g&&(g=e[n]={name:g});var l,d=g.groups;if(d)for(var h=0;h<d.length;h++)l=d[h],(l=b[l])&&c(g,l);(l=b[g.name])&&c(g,l)}}return e}function f(){var b={},c,e,g;for(c in a.ui.items)e=a.ui.items[c],g=e.toolbar||"others",g=g.split(","),e=g[0],g=parseInt(g[1]||-1,10),b[e]||(b[e]=[]),b[e].push({name:c,order:g});for(e in b)b[e]=b[e].sort(function(b, +a){return b.order==a.order?0:0>a.order?-1:0>b.order?1:b.order<a.order?-1:1});return b}function c(c,e){if(e.length){c.items?c.items.push(a.ui.create("-")):c.items=[];for(var d;d=e.shift();)d="string"==typeof d?d:d.name,b&&-1!=CKEDITOR.tools.indexOf(b,d)||(d=a.ui.create(d))&&a.addFeature(d)&&c.items.push(d)}}function h(b){var a=[],e,d,h;for(e=0;e<b.length;++e)d=b[e],h={},"/"==d?a.push(d):CKEDITOR.tools.isArray(d)?(c(h,CKEDITOR.tools.clone(d)),a.push(h)):d.items&&(c(h,CKEDITOR.tools.clone(d.items)), +h.name=d.name,a.push(h));return a}var b=a.config.removeButtons,b=b&&b.split(","),e=a.config.toolbar;"string"==typeof e&&(e=a.config["toolbar_"+e]);return a.toolbar=e?h(e):d()}function v(a){return a._.toolbarGroups||(a._.toolbarGroups=[{name:"document",groups:["mode","document","doctools"]},{name:"clipboard",groups:["clipboard","undo"]},{name:"editing",groups:["find","selection","spellchecker"]},{name:"forms"},"/",{name:"basicstyles",groups:["basicstyles","cleanup"]},{name:"paragraph",groups:["list", +"indent","blocks","align","bidi"]},{name:"links"},{name:"insert"},"/",{name:"styles"},{name:"colors"},{name:"tools"},{name:"others"},{name:"about"}])}var z=function(){this.toolbars=[];this.focusCommandExecuted=!1};z.prototype.focus=function(){for(var a=0,d;d=this.toolbars[a++];)for(var f=0,c;c=d.items[f++];)if(c.focus){c.focus();return}};var E={modes:{wysiwyg:1,source:1},readOnly:1,exec:function(a){a.toolbox&&(a.toolbox.focusCommandExecuted=!0,CKEDITOR.env.ie||CKEDITOR.env.air?setTimeout(function(){a.toolbox.focus()}, +100):a.toolbox.focus())}};CKEDITOR.plugins.add("toolbar",{requires:"button",init:function(a){var d,f=function(c,h){var b,e="rtl"==a.lang.dir,k=a.config.toolbarGroupCycling,q=e?37:39,e=e?39:37,k=void 0===k||k;switch(h){case 9:case CKEDITOR.SHIFT+9:for(;!b||!b.items.length;)if(b=9==h?(b?b.next:c.toolbar.next)||a.toolbox.toolbars[0]:(b?b.previous:c.toolbar.previous)||a.toolbox.toolbars[a.toolbox.toolbars.length-1],b.items.length)for(c=b.items[d?b.items.length-1:0];c&&!c.focus;)(c=d?c.previous:c.next)|| +(b=0);c&&c.focus();return!1;case q:b=c;do b=b.next,!b&&k&&(b=c.toolbar.items[0]);while(b&&!b.focus);b?b.focus():f(c,9);return!1;case 40:return c.button&&c.button.hasArrow?c.execute():f(c,40==h?q:e),!1;case e:case 38:b=c;do b=b.previous,!b&&k&&(b=c.toolbar.items[c.toolbar.items.length-1]);while(b&&!b.focus);b?b.focus():(d=1,f(c,CKEDITOR.SHIFT+9),d=0);return!1;case 27:return a.focus(),!1;case 13:case 32:return c.execute(),!1}return!0};a.on("uiSpace",function(c){if(c.data.space==a.config.toolbarLocation){c.removeListener(); +a.toolbox=new z;var d=CKEDITOR.tools.getNextId(),b=['\x3cspan id\x3d"',d,'" class\x3d"cke_voice_label"\x3e',a.lang.toolbar.toolbars,"\x3c/span\x3e",'\x3cspan id\x3d"'+a.ui.spaceId("toolbox")+'" class\x3d"cke_toolbox" role\x3d"group" aria-labelledby\x3d"',d,'" onmousedown\x3d"return false;"\x3e'],d=!1!==a.config.toolbarStartupExpanded,e,k;a.config.toolbarCanCollapse&&a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE&&b.push('\x3cspan class\x3d"cke_toolbox_main"'+(d?"\x3e":' style\x3d"display:none"\x3e')); +for(var q=a.toolbox.toolbars,n=D(a),g=n.length,l=0;l<g;l++){var r,m=0,w,p=n[l],v="/"!==p&&("/"===n[l+1]||l==g-1),x;if(p)if(e&&(b.push("\x3c/span\x3e"),k=e=0),"/"===p)b.push('\x3cspan class\x3d"cke_toolbar_break"\x3e\x3c/span\x3e');else{x=p.items||p;for(var y=0;y<x.length;y++){var t=x[y],A;if(t){var B=function(c){c=c.render(a,b);u=m.items.push(c)-1;0<u&&(c.previous=m.items[u-1],c.previous.next=c);c.toolbar=m;c.onkey=f;c.onfocus=function(){a.toolbox.focusCommandExecuted||a.focus()}};if(t.type==CKEDITOR.UI_SEPARATOR)k= +e&&t;else{A=!1!==t.canGroup;if(!m){r=CKEDITOR.tools.getNextId();m={id:r,items:[]};w=p.name&&(a.lang.toolbar.toolbarGroups[p.name]||p.name);b.push('\x3cspan id\x3d"',r,'" class\x3d"cke_toolbar'+(v?' cke_toolbar_last"':'"'),w?' aria-labelledby\x3d"'+r+'_label"':"",' role\x3d"toolbar"\x3e');w&&b.push('\x3cspan id\x3d"',r,'_label" class\x3d"cke_voice_label"\x3e',w,"\x3c/span\x3e");b.push('\x3cspan class\x3d"cke_toolbar_start"\x3e\x3c/span\x3e');var u=q.push(m)-1;0<u&&(m.previous=q[u-1],m.previous.next= +m)}A?e||(b.push('\x3cspan class\x3d"cke_toolgroup" role\x3d"presentation"\x3e'),e=1):e&&(b.push("\x3c/span\x3e"),e=0);k&&(B(k),k=0);B(t)}}}e&&(b.push("\x3c/span\x3e"),k=e=0);m&&b.push('\x3cspan class\x3d"cke_toolbar_end"\x3e\x3c/span\x3e\x3c/span\x3e')}}a.config.toolbarCanCollapse&&b.push("\x3c/span\x3e");if(a.config.toolbarCanCollapse&&a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE){var C=CKEDITOR.tools.addFunction(function(){a.execCommand("toolbarCollapse")});a.on("destroy",function(){CKEDITOR.tools.removeFunction(C)}); +a.addCommand("toolbarCollapse",{readOnly:1,exec:function(b){var a=b.ui.space("toolbar_collapser"),c=a.getPrevious(),d=b.ui.space("contents"),e=c.getParent(),h=parseInt(d.$.style.height,10),g=e.$.offsetHeight,f=a.hasClass("cke_toolbox_collapser_min");f?(c.show(),a.removeClass("cke_toolbox_collapser_min"),a.setAttribute("title",b.lang.toolbar.toolbarCollapse)):(c.hide(),a.addClass("cke_toolbox_collapser_min"),a.setAttribute("title",b.lang.toolbar.toolbarExpand));a.getFirst().setText(f?"▲":"◀");d.setStyle("height", +h-(e.$.offsetHeight-g)+"px");b.fire("resize",{outerHeight:b.container.$.offsetHeight,contentsHeight:d.$.offsetHeight,outerWidth:b.container.$.offsetWidth})},modes:{wysiwyg:1,source:1}});a.setKeystroke(CKEDITOR.ALT+(CKEDITOR.env.ie||CKEDITOR.env.webkit?189:109),"toolbarCollapse");b.push('\x3ca title\x3d"'+(d?a.lang.toolbar.toolbarCollapse:a.lang.toolbar.toolbarExpand)+'" id\x3d"'+a.ui.spaceId("toolbar_collapser")+'" tabIndex\x3d"-1" class\x3d"cke_toolbox_collapser');d||b.push(" cke_toolbox_collapser_min"); +b.push('" onclick\x3d"CKEDITOR.tools.callFunction('+C+')"\x3e','\x3cspan class\x3d"cke_arrow"\x3e\x26#9650;\x3c/span\x3e',"\x3c/a\x3e")}b.push("\x3c/span\x3e");c.data.html+=b.join("")}});a.on("destroy",function(){if(this.toolbox){var a,d=0,b,e,f;for(a=this.toolbox.toolbars;d<a.length;d++)for(e=a[d].items,b=0;b<e.length;b++)f=e[b],f.clickFn&&CKEDITOR.tools.removeFunction(f.clickFn),f.keyDownFn&&CKEDITOR.tools.removeFunction(f.keyDownFn)}});a.on("uiReady",function(){var c=a.ui.space("toolbox");c&&a.focusManager.add(c, +1)});a.addCommand("toolbarFocus",E);a.setKeystroke(CKEDITOR.ALT+121,"toolbarFocus");a.ui.add("-",CKEDITOR.UI_SEPARATOR,{});a.ui.addHandler(CKEDITOR.UI_SEPARATOR,{create:function(){return{render:function(a,d){d.push('\x3cspan class\x3d"cke_toolbar_separator" role\x3d"separator"\x3e\x3c/span\x3e');return{}}}}})}});CKEDITOR.ui.prototype.addToolbarGroup=function(a,d,f){var c=v(this.editor),h=0===d,b={name:a};if(f){if(f=CKEDITOR.tools.search(c,function(a){return a.name==f})){!f.groups&&(f.groups=[]);if(d&& +(d=CKEDITOR.tools.indexOf(f.groups,d),0<=d)){f.groups.splice(d+1,0,a);return}h?f.groups.splice(0,0,a):f.groups.push(a);return}d=null}d&&(d=CKEDITOR.tools.indexOf(c,function(a){return a.name==d}));h?c.splice(0,0,a):"number"==typeof d?c.splice(d+1,0,b):c.push(a)}})();CKEDITOR.UI_SEPARATOR="separator";CKEDITOR.config.toolbarLocation="top";(function(){function r(a,b,c){b.type||(b.type="auto");if(c&&!1===a.fire("beforePaste",b)||!b.dataValue&&b.dataTransfer.isEmpty())return!1;b.dataValue||(b.dataValue="");if(CKEDITOR.env.gecko&&"drop"==b.method&&a.toolbox)a.once("afterPaste",function(){a.toolbox.focus()});return a.fire("paste",b)}function x(a){function b(){var b=a.editable();if(CKEDITOR.plugins.clipboard.isCustomCopyCutSupported){var c=function(b){a.getSelection().isCollapsed()||(a.readOnly&&"cut"==b.name||p.initPasteDataTransfer(b, +a),b.data.preventDefault())};b.on("copy",c);b.on("cut",c);b.on("cut",function(){a.readOnly||a.extractSelectedHtml()},null,null,999)}b.on(p.mainPasteEvent,function(a){"beforepaste"==p.mainPasteEvent&&m||l(a)});"beforepaste"==p.mainPasteEvent&&(b.on("paste",function(a){u||(g(),a.data.preventDefault(),l(a),e("paste"))}),b.on("contextmenu",h,null,null,0),b.on("beforepaste",function(a){!a.data||a.data.$.ctrlKey||a.data.$.shiftKey||h()},null,null,0));b.on("beforecut",function(){!m&&f(a)});var d;b.attachListener(CKEDITOR.env.ie? +b:a.document.getDocumentElement(),"mouseup",function(){d=setTimeout(function(){t()},0)});a.on("destroy",function(){clearTimeout(d)});b.on("keyup",t)}function c(b){return{type:b,canUndo:"cut"==b,startDisabled:!0,fakeKeystroke:"cut"==b?CKEDITOR.CTRL+88:CKEDITOR.CTRL+67,exec:function(){"cut"==this.type&&f();var b;var c=this.type;if(CKEDITOR.env.ie)b=e(c);else try{b=a.document.$.execCommand(c,!1,null)}catch(d){b=!1}b||a.showNotification(a.lang.clipboard[this.type+"Error"]);return b}}}function d(){return{canUndo:!1, +async:!0,fakeKeystroke:CKEDITOR.CTRL+86,exec:function(a,b){function c(b,h){h="undefined"!==typeof h?h:!0;b?(b.method="paste",b.dataTransfer||(b.dataTransfer=p.initPasteDataTransfer()),r(a,b,h)):e&&!a._.forcePasteDialog&&a.showNotification(n,"info",a.config.clipboard_notificationDuration);a._.forcePasteDialog=!1;a.fire("afterCommandExec",{name:"paste",command:d,returnValue:!!b})}b="undefined"!==typeof b&&null!==b?b:{};var d=this,e="undefined"!==typeof b.notification?b.notification:!0,h=b.type,f=CKEDITOR.tools.keystrokeToString(a.lang.common.keyboard, +a.getCommandKeystroke(this)),n="string"===typeof e?e:a.lang.clipboard.pasteNotification.replace(/%1/,'\x3ckbd aria-label\x3d"'+f.aria+'"\x3e'+f.display+"\x3c/kbd\x3e"),f="string"===typeof b?b:b.dataValue;h&&!0!==a.config.forcePasteAsPlainText&&"allow-word"!==a.config.forcePasteAsPlainText?a._.nextPasteType=h:delete a._.nextPasteType;"string"===typeof f?c({dataValue:f}):a.getClipboardData(c)}}}function g(){u=1;setTimeout(function(){u=0},100)}function h(){m=1;setTimeout(function(){m=0},10)}function e(b){var c= +a.document,d=c.getBody(),e=!1,h=function(){e=!0};d.on(b,h);7<CKEDITOR.env.version?c.$.execCommand(b):c.$.selection.createRange().execCommand(b);d.removeListener(b,h);return e}function f(){if(CKEDITOR.env.ie&&!CKEDITOR.env.quirks){var b=a.getSelection(),c,d,e;b.getType()==CKEDITOR.SELECTION_ELEMENT&&(c=b.getSelectedElement())&&(d=b.getRanges()[0],e=a.document.createText(""),e.insertBefore(c),d.setStartBefore(e),d.setEndAfter(c),b.selectRanges([d]),setTimeout(function(){c.getParent()&&(e.remove(),b.selectElement(c))}, +0))}}function k(b,c){var d=a.document,e=a.editable(),h=function(a){a.cancel()},f;if(!d.getById("cke_pastebin")){var n=a.getSelection(),g=n.createBookmarks();CKEDITOR.env.ie&&n.root.fire("selectionchange");var l=new CKEDITOR.dom.element(!CKEDITOR.env.webkit&&!e.is("body")||CKEDITOR.env.ie?"div":"body",d);l.setAttributes({id:"cke_pastebin","data-cke-temp":"1"});var k=0,d=d.getWindow();CKEDITOR.env.webkit?(e.append(l),l.addClass("cke_editable"),e.is("body")||(k="static"!=e.getComputedStyle("position")? +e:CKEDITOR.dom.element.get(e.$.offsetParent),k=k.getDocumentPosition().y)):e.getAscendant(CKEDITOR.env.ie?"body":"html",1).append(l);l.setStyles({position:"absolute",top:d.getScrollPosition().y-k+10+"px",width:"1px",height:Math.max(1,d.getViewPaneSize().height-20)+"px",overflow:"hidden",margin:0,padding:0});CKEDITOR.env.safari&&l.setStyles(CKEDITOR.tools.cssVendorPrefix("user-select","text"));(k=l.getParent().isReadOnly())?(l.setOpacity(0),l.setAttribute("contenteditable",!0)):l.setStyle("ltr"==a.config.contentsLangDirection? +"left":"right","-10000px");a.on("selectionChange",h,null,null,0);if(CKEDITOR.env.webkit||CKEDITOR.env.gecko)f=e.once("blur",h,null,null,-100);k&&l.focus();k=new CKEDITOR.dom.range(l);k.selectNodeContents(l);var t=k.select();CKEDITOR.env.ie&&(f=e.once("blur",function(){a.lockSelection(t)}));var q=CKEDITOR.document.getWindow().getScrollPosition().y;setTimeout(function(){CKEDITOR.env.webkit&&(CKEDITOR.document.getBody().$.scrollTop=q);f&&f.removeListener();CKEDITOR.env.ie&&e.focus();n.selectBookmarks(g); +l.remove();var b;CKEDITOR.env.webkit&&(b=l.getFirst())&&b.is&&b.hasClass("Apple-style-span")&&(l=b);a.removeListener("selectionChange",h);c(l.getHtml())},0)}}function y(){if("paste"==p.mainPasteEvent)return a.fire("beforePaste",{type:"auto",method:"paste"}),!1;a.focus();g();var b=a.focusManager;b.lock();if(a.editable().fire(p.mainPasteEvent)&&!e("paste"))return b.unlock(),!1;b.unlock();return!0}function n(b){if("wysiwyg"==a.mode)switch(b.data.keyCode){case CKEDITOR.CTRL+86:case CKEDITOR.SHIFT+45:b= +a.editable();g();"paste"==p.mainPasteEvent&&b.fire("beforepaste");break;case CKEDITOR.CTRL+88:case CKEDITOR.SHIFT+46:a.fire("saveSnapshot"),setTimeout(function(){a.fire("saveSnapshot")},50)}}function l(b){var c={type:"auto",method:"paste",dataTransfer:p.initPasteDataTransfer(b)};c.dataTransfer.cacheData();var d=!1!==a.fire("beforePaste",c);d&&p.canClipboardApiBeTrusted(c.dataTransfer,a)?(b.data.preventDefault(),setTimeout(function(){r(a,c)},0)):k(b,function(b){c.dataValue=b.replace(/<span[^>]+data-cke-bookmark[^<]*?<\/span>/ig, +"");d&&r(a,c)})}function t(){if("wysiwyg"==a.mode){var b=q("paste");a.getCommand("cut").setState(q("cut"));a.getCommand("copy").setState(q("copy"));a.getCommand("paste").setState(b);a.fire("pasteState",b)}}function q(b){if(v&&b in{paste:1,cut:1})return CKEDITOR.TRISTATE_DISABLED;if("paste"==b)return CKEDITOR.TRISTATE_OFF;b=a.getSelection();var c=b.getRanges();return b.getType()==CKEDITOR.SELECTION_NONE||1==c.length&&c[0].collapsed?CKEDITOR.TRISTATE_DISABLED:CKEDITOR.TRISTATE_OFF}var p=CKEDITOR.plugins.clipboard, +m=0,u=0,v=0;(function(){a.on("key",n);a.on("contentDom",b);a.on("selectionChange",function(a){v=a.data.selection.getRanges()[0].checkReadOnly();t()});if(a.contextMenu){a.contextMenu.addListener(function(a,b){v=b.getRanges()[0].checkReadOnly();return{cut:q("cut"),copy:q("copy"),paste:q("paste")}});var c=null;a.on("menuShow",function(){c&&(c.removeListener(),c=null);var b=a.contextMenu.findItemByCommandName("paste");b&&b.element&&(c=b.element.on("touchend",function(){a._.forcePasteDialog=!0}))})}if(a.ui.addButton)a.once("instanceReady", +function(){a._.pasteButtons&&CKEDITOR.tools.array.forEach(a._.pasteButtons,function(b){if(b=a.ui.get(b))CKEDITOR.document.getById(b._.id).on("touchend",function(){a._.forcePasteDialog=!0})})})})();(function(){function b(c,d,e,h,f){var n=a.lang.clipboard[d];a.addCommand(d,e);a.ui.addButton&&a.ui.addButton(c,{label:n,command:d,toolbar:"clipboard,"+h});a.addMenuItems&&a.addMenuItem(d,{label:n,command:d,group:"clipboard",order:f})}b("Cut","cut",c("cut"),10,1);b("Copy","copy",c("copy"),20,4);b("Paste", +"paste",d(),30,8);a._.pasteButtons||(a._.pasteButtons=[]);a._.pasteButtons.push("Paste")})();a.getClipboardData=function(b,c){function d(a){a.removeListener();a.cancel();c(a.data)}function e(a){a.removeListener();a.cancel();c({type:f,dataValue:a.data.dataValue,dataTransfer:a.data.dataTransfer,method:"paste"})}var h=!1,f="auto";c||(c=b,b=null);a.on("beforePaste",function(a){a.removeListener();h=!0;f=a.data.type},null,null,1E3);a.on("paste",d,null,null,0);!1===y()&&(a.removeListener("paste",d),a._.forcePasteDialog&& +h&&a.fire("pasteDialog")?(a.on("pasteDialogCommit",e),a.on("dialogHide",function(a){a.removeListener();a.data.removeListener("pasteDialogCommit",e);a.data._.committed||c(null)})):c(null))}}function z(a){if(CKEDITOR.env.webkit){if(!a.match(/^[^<]*$/g)&&!a.match(/^(<div><br( ?\/)?><\/div>|<div>[^<]*<\/div>)*$/gi))return"html"}else if(CKEDITOR.env.ie){if(!a.match(/^([^<]|<br( ?\/)?>)*$/gi)&&!a.match(/^(<p>([^<]|<br( ?\/)?>)*<\/p>|(\r\n))*$/gi))return"html"}else if(CKEDITOR.env.gecko){if(!a.match(/^([^<]|<br( ?\/)?>)*$/gi))return"html"}else return"html"; +return"htmlifiedtext"}function A(a,b){function c(a){return CKEDITOR.tools.repeat("\x3c/p\x3e\x3cp\x3e",~~(a/2))+(1==a%2?"\x3cbr\x3e":"")}b=b.replace(/\s+/g," ").replace(/> +</g,"\x3e\x3c").replace(/<br ?\/>/gi,"\x3cbr\x3e");b=b.replace(/<\/?[A-Z]+>/g,function(a){return a.toLowerCase()});if(b.match(/^[^<]$/))return b;CKEDITOR.env.webkit&&-1<b.indexOf("\x3cdiv\x3e")&&(b=b.replace(/^(<div>(<br>|)<\/div>)(?!$|(<div>(<br>|)<\/div>))/g,"\x3cbr\x3e").replace(/^(<div>(<br>|)<\/div>){2}(?!$)/g,"\x3cdiv\x3e\x3c/div\x3e"), +b.match(/<div>(<br>|)<\/div>/)&&(b="\x3cp\x3e"+b.replace(/(<div>(<br>|)<\/div>)+/g,function(a){return c(a.split("\x3c/div\x3e\x3cdiv\x3e").length+1)})+"\x3c/p\x3e"),b=b.replace(/<\/div><div>/g,"\x3cbr\x3e"),b=b.replace(/<\/?div>/g,""));CKEDITOR.env.gecko&&a.enterMode!=CKEDITOR.ENTER_BR&&(CKEDITOR.env.gecko&&(b=b.replace(/^<br><br>$/,"\x3cbr\x3e")),-1<b.indexOf("\x3cbr\x3e\x3cbr\x3e")&&(b="\x3cp\x3e"+b.replace(/(<br>){2,}/g,function(a){return c(a.length/4)})+"\x3c/p\x3e"));return B(a,b)}function C(){function a(){var a= +{},b;for(b in CKEDITOR.dtd)"$"!=b.charAt(0)&&"div"!=b&&"span"!=b&&(a[b]=1);return a}var b={};return{get:function(c){return"plain-text"==c?b.plainText||(b.plainText=new CKEDITOR.filter("br")):"semantic-content"==c?((c=b.semanticContent)||(c=new CKEDITOR.filter,c.allow({$1:{elements:a(),attributes:!0,styles:!1,classes:!1}}),c=b.semanticContent=c),c):c?new CKEDITOR.filter(c):null}}}function w(a,b,c){b=CKEDITOR.htmlParser.fragment.fromHtml(b);var d=new CKEDITOR.htmlParser.basicWriter;c.applyTo(b,!0,!1, +a.activeEnterMode);b.writeHtml(d);return d.getHtml()}function B(a,b){a.enterMode==CKEDITOR.ENTER_BR?b=b.replace(/(<\/p><p>)+/g,function(a){return CKEDITOR.tools.repeat("\x3cbr\x3e",a.length/7*2)}).replace(/<\/?p>/g,""):a.enterMode==CKEDITOR.ENTER_DIV&&(b=b.replace(/<(\/)?p>/g,"\x3c$1div\x3e"));return b}function D(a){a.data.preventDefault();a.data.$.dataTransfer.dropEffect="none"}function E(a){var b=CKEDITOR.plugins.clipboard;a.on("contentDom",function(){function c(b,c,e){c.select();r(a,{dataTransfer:e, +method:"drop"},1);e.sourceEditor.fire("saveSnapshot");e.sourceEditor.editable().extractHtmlFromRange(b);e.sourceEditor.getSelection().selectRanges([b]);e.sourceEditor.fire("saveSnapshot")}function d(c,e){c.select();r(a,{dataTransfer:e,method:"drop"},1);b.resetDragDataTransfer()}function g(b,c,e){var d={$:b.data.$,target:b.data.getTarget()};c&&(d.dragRange=c);e&&(d.dropRange=e);!1===a.fire(b.name,d)&&b.data.preventDefault()}function h(a){a.type!=CKEDITOR.NODE_ELEMENT&&(a=a.getParent());return a.getChildCount()} +var e=a.editable(),f=CKEDITOR.plugins.clipboard.getDropTarget(a),k=a.ui.space("top"),m=a.ui.space("bottom");b.preventDefaultDropOnElement(k);b.preventDefaultDropOnElement(m);e.attachListener(f,"dragstart",g);e.attachListener(a,"dragstart",b.resetDragDataTransfer,b,null,1);e.attachListener(a,"dragstart",function(c){b.initDragDataTransfer(c,a)},null,null,2);e.attachListener(a,"dragstart",function(){var c=b.dragRange=a.getSelection().getRanges()[0];CKEDITOR.env.ie&&10>CKEDITOR.env.version&&(b.dragStartContainerChildCount= +c?h(c.startContainer):null,b.dragEndContainerChildCount=c?h(c.endContainer):null)},null,null,100);e.attachListener(f,"dragend",g);e.attachListener(a,"dragend",b.initDragDataTransfer,b,null,1);e.attachListener(a,"dragend",b.resetDragDataTransfer,b,null,100);e.attachListener(f,"dragover",function(a){if(CKEDITOR.env.edge)a.data.preventDefault();else{var b=a.data.getTarget();b&&b.is&&b.is("html")?a.data.preventDefault():CKEDITOR.env.ie&&CKEDITOR.plugins.clipboard.isFileApiSupported&&a.data.$.dataTransfer.types.contains("Files")&& +a.data.preventDefault()}});e.attachListener(f,"drop",function(c){if(!c.data.$.defaultPrevented){c.data.preventDefault();var e=c.data.getTarget();if(!e.isReadOnly()||e.type==CKEDITOR.NODE_ELEMENT&&e.is("html")){var e=b.getRangeAtDropPosition(c,a),d=b.dragRange;e&&g(c,d,e)}}},null,null,9999);e.attachListener(a,"drop",b.initDragDataTransfer,b,null,1);e.attachListener(a,"drop",function(e){if(e=e.data){var h=e.dropRange,f=e.dragRange,g=e.dataTransfer;g.getTransferType(a)==CKEDITOR.DATA_TRANSFER_INTERNAL? +setTimeout(function(){b.internalDrop(f,h,g,a)},0):g.getTransferType(a)==CKEDITOR.DATA_TRANSFER_CROSS_EDITORS?c(f,h,g):d(h,g)}},null,null,9999)})}var m;CKEDITOR.plugins.add("clipboard",{requires:"dialog,notification,toolbar",init:function(a){var b,c=C();a.config.forcePasteAsPlainText?b="plain-text":a.config.pasteFilter?b=a.config.pasteFilter:!CKEDITOR.env.webkit||"pasteFilter"in a.config||(b="semantic-content");a.pasteFilter=c.get(b);x(a);E(a);CKEDITOR.dialog.add("paste",CKEDITOR.getUrl(this.path+ +"dialogs/paste.js"));if(CKEDITOR.env.gecko){var d=["image/png","image/jpeg","image/gif"],g;a.on("paste",function(b){var c=b.data,f=c.dataTransfer;if(!c.dataValue&&"paste"==c.method&&f&&1==f.getFilesCount()&&g!=f.id&&(f=f.getFile(0),-1!=CKEDITOR.tools.indexOf(d,f.type))){var k=new FileReader;k.addEventListener("load",function(){b.data.dataValue='\x3cimg src\x3d"'+k.result+'" /\x3e';a.fire("paste",b.data)},!1);k.addEventListener("abort",function(){a.fire("paste",b.data)},!1);k.addEventListener("error", +function(){a.fire("paste",b.data)},!1);k.readAsDataURL(f);g=c.dataTransfer.id;b.stop()}},null,null,1)}a.on("paste",function(b){b.data.dataTransfer||(b.data.dataTransfer=new CKEDITOR.plugins.clipboard.dataTransfer);if(!b.data.dataValue){var c=b.data.dataTransfer,d=c.getData("text/html");if(d)b.data.dataValue=d,b.data.type="html";else if(d=c.getData("text/plain"))b.data.dataValue=a.editable().transformPlainTextToHtml(d),b.data.type="text"}},null,null,1);a.on("paste",function(a){var b=a.data.dataValue, +c=CKEDITOR.dtd.$block;-1<b.indexOf("Apple-")&&(b=b.replace(/<span class="Apple-converted-space">&nbsp;<\/span>/gi," "),"html"!=a.data.type&&(b=b.replace(/<span class="Apple-tab-span"[^>]*>([^<]*)<\/span>/gi,function(a,b){return b.replace(/\t/g,"\x26nbsp;\x26nbsp; \x26nbsp;")})),-1<b.indexOf('\x3cbr class\x3d"Apple-interchange-newline"\x3e')&&(a.data.startsWithEOL=1,a.data.preSniffing="html",b=b.replace(/<br class="Apple-interchange-newline">/,"")),b=b.replace(/(<[^>]+) class="Apple-[^"]*"/gi,"$1")); +if(b.match(/^<[^<]+cke_(editable|contents)/i)){var d,g,n=new CKEDITOR.dom.element("div");for(n.setHtml(b);1==n.getChildCount()&&(d=n.getFirst())&&d.type==CKEDITOR.NODE_ELEMENT&&(d.hasClass("cke_editable")||d.hasClass("cke_contents"));)n=g=d;g&&(b=g.getHtml().replace(/<br>$/i,""))}CKEDITOR.env.ie?b=b.replace(/^&nbsp;(?: |\r\n)?<(\w+)/g,function(b,d){return d.toLowerCase()in c?(a.data.preSniffing="html","\x3c"+d):b}):CKEDITOR.env.webkit?b=b.replace(/<\/(\w+)><div><br><\/div>$/,function(b,d){return d in +c?(a.data.endsWithEOL=1,"\x3c/"+d+"\x3e"):b}):CKEDITOR.env.gecko&&(b=b.replace(/(\s)<br>$/,"$1"));a.data.dataValue=b},null,null,3);a.on("paste",function(b){b=b.data;var d=a._.nextPasteType||b.type,f=b.dataValue,g,m=a.config.clipboard_defaultContentType||"html",n=b.dataTransfer.getTransferType(a);g="html"==d||"html"==b.preSniffing?"html":z(f);delete a._.nextPasteType;"htmlifiedtext"==g&&(f=A(a.config,f));"text"==d&&"html"==g?f=w(a,f,c.get("plain-text")):n==CKEDITOR.DATA_TRANSFER_EXTERNAL&&a.pasteFilter&& +!b.dontFilter&&(f=w(a,f,a.pasteFilter));b.startsWithEOL&&(f='\x3cbr data-cke-eol\x3d"1"\x3e'+f);b.endsWithEOL&&(f+='\x3cbr data-cke-eol\x3d"1"\x3e');"auto"==d&&(d="html"==g||"html"==m?"html":"text");b.type=d;b.dataValue=f;delete b.preSniffing;delete b.startsWithEOL;delete b.endsWithEOL},null,null,6);a.on("paste",function(b){b=b.data;b.dataValue&&(a.insertHtml(b.dataValue,b.type,b.range),setTimeout(function(){a.fire("afterPaste")},0))},null,null,1E3);a.on("pasteDialog",function(b){setTimeout(function(){a.openDialog("paste", +b.data)},0)})}});CKEDITOR.plugins.clipboard={isCustomCopyCutSupported:(!CKEDITOR.env.ie||16<=CKEDITOR.env.version)&&!CKEDITOR.env.iOS,isCustomDataTypesSupported:!CKEDITOR.env.ie||16<=CKEDITOR.env.version,isFileApiSupported:!CKEDITOR.env.ie||9<CKEDITOR.env.version,mainPasteEvent:CKEDITOR.env.ie&&!CKEDITOR.env.edge?"beforepaste":"paste",addPasteButton:function(a,b,c){a.ui.addButton&&(a.ui.addButton(b,c),a._.pasteButtons||(a._.pasteButtons=[]),a._.pasteButtons.push(b))},canClipboardApiBeTrusted:function(a, +b){return a.getTransferType(b)!=CKEDITOR.DATA_TRANSFER_EXTERNAL||CKEDITOR.env.chrome&&!a.isEmpty()||CKEDITOR.env.gecko&&(a.getData("text/html")||a.getFilesCount())||CKEDITOR.env.safari&&603<=CKEDITOR.env.version&&!CKEDITOR.env.iOS||CKEDITOR.env.edge&&16<=CKEDITOR.env.version?!0:!1},getDropTarget:function(a){var b=a.editable();return CKEDITOR.env.ie&&9>CKEDITOR.env.version||b.isInline()?b:a.document},fixSplitNodesAfterDrop:function(a,b,c,d){function g(a,c,d){var g=a;g.type==CKEDITOR.NODE_TEXT&&(g= +a.getParent());if(g.equals(c)&&d!=c.getChildCount())return a=b.startContainer.getChild(b.startOffset-1),c=b.startContainer.getChild(b.startOffset),a&&a.type==CKEDITOR.NODE_TEXT&&c&&c.type==CKEDITOR.NODE_TEXT&&(d=a.getLength(),a.setText(a.getText()+c.getText()),c.remove(),b.setStart(a,d),b.collapse(!0)),!0}var h=b.startContainer;"number"==typeof d&&"number"==typeof c&&h.type==CKEDITOR.NODE_ELEMENT&&(g(a.startContainer,h,c)||g(a.endContainer,h,d))},isDropRangeAffectedByDragRange:function(a,b){var c= +b.startContainer,d=b.endOffset;return a.endContainer.equals(c)&&a.endOffset<=d||a.startContainer.getParent().equals(c)&&a.startContainer.getIndex()<d||a.endContainer.getParent().equals(c)&&a.endContainer.getIndex()<d?!0:!1},internalDrop:function(a,b,c,d){var g=CKEDITOR.plugins.clipboard,h=d.editable(),e,f;d.fire("saveSnapshot");d.fire("lockSnapshot",{dontUpdate:1});CKEDITOR.env.ie&&10>CKEDITOR.env.version&&this.fixSplitNodesAfterDrop(a,b,g.dragStartContainerChildCount,g.dragEndContainerChildCount); +(f=this.isDropRangeAffectedByDragRange(a,b))||(e=a.createBookmark(!1));g=b.clone().createBookmark(!1);f&&(e=a.createBookmark(!1));a=e.startNode;b=e.endNode;f=g.startNode;b&&a.getPosition(f)&CKEDITOR.POSITION_PRECEDING&&b.getPosition(f)&CKEDITOR.POSITION_FOLLOWING&&f.insertBefore(a);a=d.createRange();a.moveToBookmark(e);h.extractHtmlFromRange(a,1);b=d.createRange();b.moveToBookmark(g);r(d,{dataTransfer:c,method:"drop",range:b},1);d.fire("unlockSnapshot")},getRangeAtDropPosition:function(a,b){var c= +a.data.$,d=c.clientX,g=c.clientY,h=b.getSelection(!0).getRanges()[0],e=b.createRange();if(a.data.testRange)return a.data.testRange;if(document.caretRangeFromPoint&&b.document.$.caretRangeFromPoint(d,g))c=b.document.$.caretRangeFromPoint(d,g),e.setStart(CKEDITOR.dom.node(c.startContainer),c.startOffset),e.collapse(!0);else if(c.rangeParent)e.setStart(CKEDITOR.dom.node(c.rangeParent),c.rangeOffset),e.collapse(!0);else{if(CKEDITOR.env.ie&&8<CKEDITOR.env.version&&h&&b.editable().hasFocus)return h;if(document.body.createTextRange){b.focus(); +c=b.document.getBody().$.createTextRange();try{for(var f=!1,k=0;20>k&&!f;k++){if(!f)try{c.moveToPoint(d,g-k),f=!0}catch(m){}if(!f)try{c.moveToPoint(d,g+k),f=!0}catch(n){}}if(f){var l="cke-temp-"+(new Date).getTime();c.pasteHTML('\x3cspan id\x3d"'+l+'"\x3e​\x3c/span\x3e');var t=b.document.getById(l);e.moveToPosition(t,CKEDITOR.POSITION_BEFORE_START);t.remove()}else{var q=b.document.$.elementFromPoint(d,g),p=new CKEDITOR.dom.element(q),r;if(p.equals(b.editable())||"html"==p.getName())return h&&h.startContainer&& +!h.startContainer.equals(b.editable())?h:null;r=p.getClientRect();d<r.left?e.setStartAt(p,CKEDITOR.POSITION_AFTER_START):e.setStartAt(p,CKEDITOR.POSITION_BEFORE_END);e.collapse(!0)}}catch(u){return null}}else return null}return e},initDragDataTransfer:function(a,b){var c=a.data.$?a.data.$.dataTransfer:null,d=new this.dataTransfer(c,b);"dragstart"===a.name&&d.storeId();c?this.dragData&&d.id==this.dragData.id?d=this.dragData:this.dragData=d:this.dragData?d=this.dragData:this.dragData=d;a.data.dataTransfer= +d},resetDragDataTransfer:function(){this.dragData=null},initPasteDataTransfer:function(a,b){if(this.isCustomCopyCutSupported){if(a&&a.data&&a.data.$){var c=a.data.$.clipboardData,d=new this.dataTransfer(c,b);"copy"!==a.name&&"cut"!==a.name||d.storeId();this.copyCutData&&d.id==this.copyCutData.id?(d=this.copyCutData,d.$=c):this.copyCutData=d;return d}return new this.dataTransfer(null,b)}return new this.dataTransfer(CKEDITOR.env.edge&&a&&a.data.$&&a.data.$.clipboardData||null,b)},preventDefaultDropOnElement:function(a){a&& +a.on("dragover",D)}};m=CKEDITOR.plugins.clipboard.isCustomDataTypesSupported?"cke/id":"Text";CKEDITOR.plugins.clipboard.dataTransfer=function(a,b){a&&(this.$=a);this._={metaRegExp:/^<meta.*?>/i,bodyRegExp:/<body(?:[\s\S]*?)>([\s\S]*)<\/body>/i,fragmentRegExp:/\x3c!--(?:Start|End)Fragment--\x3e/g,data:{},files:[],nativeHtmlCache:"",normalizeType:function(a){a=a.toLowerCase();return"text"==a||"text/plain"==a?"Text":"url"==a?"URL":a}};this._.fallbackDataTransfer=new CKEDITOR.plugins.clipboard.fallbackDataTransfer(this); +this.id=this.getData(m);this.id||(this.id="Text"==m?"":"cke-"+CKEDITOR.tools.getUniqueId());b&&(this.sourceEditor=b,this.setData("text/html",b.getSelectedHtml(1)),"Text"==m||this.getData("text/plain")||this.setData("text/plain",b.getSelection().getSelectedText()))};CKEDITOR.DATA_TRANSFER_INTERNAL=1;CKEDITOR.DATA_TRANSFER_CROSS_EDITORS=2;CKEDITOR.DATA_TRANSFER_EXTERNAL=3;CKEDITOR.plugins.clipboard.dataTransfer.prototype={getData:function(a,b){a=this._.normalizeType(a);var c="text/html"==a&&b?this._.nativeHtmlCache: +this._.data[a];if(void 0===c||null===c||""===c){if(this._.fallbackDataTransfer.isRequired())c=this._.fallbackDataTransfer.getData(a,b);else try{c=this.$.getData(a)||""}catch(d){c=""}"text/html"!=a||b||(c=this._stripHtml(c))}"Text"==a&&CKEDITOR.env.gecko&&this.getFilesCount()&&"file://"==c.substring(0,7)&&(c="");if("string"===typeof c)var g=c.indexOf("\x3c/html\x3e"),c=-1!==g?c.substring(0,g+7):c;return c},setData:function(a,b){a=this._.normalizeType(a);"text/html"==a?(this._.data[a]=this._stripHtml(b), +this._.nativeHtmlCache=b):this._.data[a]=b;if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported||"URL"==a||"Text"==a)if("Text"==m&&"Text"==a&&(this.id=b),this._.fallbackDataTransfer.isRequired())this._.fallbackDataTransfer.setData(a,b);else try{this.$.setData(a,b)}catch(c){}},storeId:function(){"Text"!==m&&this.setData(m,this.id)},getTransferType:function(a){return this.sourceEditor?this.sourceEditor==a?CKEDITOR.DATA_TRANSFER_INTERNAL:CKEDITOR.DATA_TRANSFER_CROSS_EDITORS:CKEDITOR.DATA_TRANSFER_EXTERNAL}, +cacheData:function(){function a(a){a=b._.normalizeType(a);var c=b.getData(a);"text/html"==a&&(b._.nativeHtmlCache=b.getData(a,!0),c=b._stripHtml(c));c&&(b._.data[a]=c)}if(this.$){var b=this,c,d;if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported){if(this.$.types)for(c=0;c<this.$.types.length;c++)a(this.$.types[c])}else a("Text"),a("URL");d=this._getImageFromClipboard();if(this.$&&this.$.files||d){this._.files=[];if(this.$.files&&this.$.files.length)for(c=0;c<this.$.files.length;c++)this._.files.push(this.$.files[c]); +0===this._.files.length&&d&&this._.files.push(d)}}},getFilesCount:function(){return this._.files.length?this._.files.length:this.$&&this.$.files&&this.$.files.length?this.$.files.length:this._getImageFromClipboard()?1:0},getFile:function(a){return this._.files.length?this._.files[a]:this.$&&this.$.files&&this.$.files.length?this.$.files[a]:0===a?this._getImageFromClipboard():void 0},isEmpty:function(){var a={},b;if(this.getFilesCount())return!1;CKEDITOR.tools.array.forEach(CKEDITOR.tools.objectKeys(this._.data), +function(b){a[b]=1});if(this.$)if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported){if(this.$.types)for(var c=0;c<this.$.types.length;c++)a[this.$.types[c]]=1}else a.Text=1,a.URL=1;"Text"!=m&&(a[m]=0);for(b in a)if(a[b]&&""!==this.getData(b))return!1;return!0},_getImageFromClipboard:function(){var a;if(this.$&&this.$.items&&this.$.items[0])try{if((a=this.$.items[0].getAsFile())&&a.type)return a}catch(b){}},_stripHtml:function(a){if(a&&a.length){a=a.replace(this._.metaRegExp,"");var b=this._.bodyRegExp.exec(a); +b&&b.length&&(a=b[1],a=a.replace(this._.fragmentRegExp,""))}return a}};CKEDITOR.plugins.clipboard.fallbackDataTransfer=function(a){this._dataTransfer=a;this._customDataFallbackType="text/html"};CKEDITOR.plugins.clipboard.fallbackDataTransfer._isCustomMimeTypeSupported=null;CKEDITOR.plugins.clipboard.fallbackDataTransfer._customTypes=[];CKEDITOR.plugins.clipboard.fallbackDataTransfer.prototype={isRequired:function(){var a=CKEDITOR.plugins.clipboard.fallbackDataTransfer,b=this._dataTransfer.$;if(null=== +a._isCustomMimeTypeSupported)if(b){a._isCustomMimeTypeSupported=!1;try{b.setData("cke/mimetypetest","cke test value"),a._isCustomMimeTypeSupported="cke test value"===b.getData("cke/mimetypetest"),b.clearData("cke/mimetypetest")}catch(c){}}else return!1;return!a._isCustomMimeTypeSupported},getData:function(a,b){var c=this._getData(this._customDataFallbackType,!0);if(b)return c;var c=this._extractDataComment(c),d=null,d=a===this._customDataFallbackType?c.content:c.data&&c.data[a]?c.data[a]:this._getData(a, +!0);return null!==d?d:""},setData:function(a,b){var c=a===this._customDataFallbackType;c&&(b=this._applyDataComment(b,this._getFallbackTypeData()));var d=b,g=this._dataTransfer.$;try{g.setData(a,d),c&&(this._dataTransfer._.nativeHtmlCache=d)}catch(h){if(this._isUnsupportedMimeTypeError(h)){c=CKEDITOR.plugins.clipboard.fallbackDataTransfer;-1===CKEDITOR.tools.indexOf(c._customTypes,a)&&c._customTypes.push(a);var c=this._getFallbackTypeContent(),e=this._getFallbackTypeData();e[a]=d;try{d=this._applyDataComment(c, +e),g.setData(this._customDataFallbackType,d),this._dataTransfer._.nativeHtmlCache=d}catch(f){d=""}}}return d},_getData:function(a,b){var c=this._dataTransfer._.data;if(!b&&c[a])return c[a];try{return this._dataTransfer.$.getData(a)}catch(d){return null}},_getFallbackTypeContent:function(){var a=this._dataTransfer._.data[this._customDataFallbackType];a||(a=this._extractDataComment(this._getData(this._customDataFallbackType,!0)).content);return a},_getFallbackTypeData:function(){var a=CKEDITOR.plugins.clipboard.fallbackDataTransfer._customTypes, +b=this._extractDataComment(this._getData(this._customDataFallbackType,!0)).data||{},c=this._dataTransfer._.data;CKEDITOR.tools.array.forEach(a,function(a){void 0!==c[a]?b[a]=c[a]:void 0!==b[a]&&(b[a]=b[a])},this);return b},_isUnsupportedMimeTypeError:function(a){return a.message&&-1!==a.message.search(/element not found/gi)},_extractDataComment:function(a){var b={data:null,content:a||""};if(a&&16<a.length){var c;(c=/\x3c!--cke-data:(.*?)--\x3e/g.exec(a))&&c[1]&&(b.data=JSON.parse(decodeURIComponent(c[1])), +b.content=a.replace(c[0],""))}return b},_applyDataComment:function(a,b){var c="";b&&CKEDITOR.tools.objectKeys(b).length&&(c="\x3c!--cke-data:"+encodeURIComponent(JSON.stringify(b))+"--\x3e");return c+(a&&a.length?a:"")}}})();CKEDITOR.config.clipboard_notificationDuration=1E4;CKEDITOR.plugins.add("panelbutton",{requires:"button",onLoad:function(){function e(c){var a=this._;a.state!=CKEDITOR.TRISTATE_DISABLED&&(this.createPanel(c),a.on?a.panel.hide():a.panel.showBlock(this._.id,this.document.getById(this._.id),4))}CKEDITOR.ui.panelButton=CKEDITOR.tools.createClass({base:CKEDITOR.ui.button,$:function(c){var a=c.panel||{};delete c.panel;this.base(c);this.document=a.parent&&a.parent.getDocument()||CKEDITOR.document;a.block={attributes:a.attributes};this.hasArrow=a.toolbarRelated= +!0;this.click=e;this._={panelDefinition:a}},statics:{handler:{create:function(c){return new CKEDITOR.ui.panelButton(c)}}},proto:{createPanel:function(c){var a=this._;if(!a.panel){var f=this._.panelDefinition,e=this._.panelDefinition.block,g=f.parent||CKEDITOR.document.getBody(),d=this._.panel=new CKEDITOR.ui.floatPanel(c,g,f),f=d.addBlock(a.id,e),b=this;d.onShow=function(){b.className&&this.element.addClass(b.className+"_panel");b.setState(CKEDITOR.TRISTATE_ON);a.on=1;b.editorFocus&&c.focus();if(b.onOpen)b.onOpen()}; +d.onHide=function(d){b.className&&this.element.getFirst().removeClass(b.className+"_panel");b.setState(b.modes&&b.modes[c.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED);a.on=0;if(!d&&b.onClose)b.onClose()};d.onEscape=function(){d.hide(1);b.document.getById(a.id).focus()};if(this.onBlock)this.onBlock(d,f);f.onHide=function(){a.on=0;b.setState(CKEDITOR.TRISTATE_OFF)}}}}})},beforeInit:function(e){e.ui.addHandler(CKEDITOR.UI_PANELBUTTON,CKEDITOR.ui.panelButton.handler)}}); +CKEDITOR.UI_PANELBUTTON="panelbutton";(function(){CKEDITOR.plugins.add("panel",{beforeInit:function(a){a.ui.addHandler(CKEDITOR.UI_PANEL,CKEDITOR.ui.panel.handler)}});CKEDITOR.UI_PANEL="panel";CKEDITOR.ui.panel=function(a,b){b&&CKEDITOR.tools.extend(this,b);CKEDITOR.tools.extend(this,{className:"",css:[]});this.id=CKEDITOR.tools.getNextId();this.document=a;this.isFramed=this.forceIFrame||this.css.length;this._={blocks:{}}};CKEDITOR.ui.panel.handler={create:function(a){return new CKEDITOR.ui.panel(a)}};var g=CKEDITOR.addTemplate("panel", +'\x3cdiv lang\x3d"{langCode}" id\x3d"{id}" dir\x3d{dir} class\x3d"cke cke_reset_all {editorId} cke_panel cke_panel {cls} cke_{dir}" style\x3d"z-index:{z-index}" role\x3d"presentation"\x3e{frame}\x3c/div\x3e'),h=CKEDITOR.addTemplate("panel-frame",'\x3ciframe id\x3d"{id}" class\x3d"cke_panel_frame" role\x3d"presentation" frameborder\x3d"0" src\x3d"{src}"\x3e\x3c/iframe\x3e'),k=CKEDITOR.addTemplate("panel-frame-inner",'\x3c!DOCTYPE html\x3e\x3chtml class\x3d"cke_panel_container {env}" dir\x3d"{dir}" lang\x3d"{langCode}"\x3e\x3chead\x3e{css}\x3c/head\x3e\x3cbody class\x3d"cke_{dir}" style\x3d"margin:0;padding:0" onload\x3d"{onload}"\x3e\x3c/body\x3e\x3c/html\x3e'); +CKEDITOR.ui.panel.prototype={render:function(a,b){this.getHolderElement=function(){var a=this._.holder;if(!a){if(this.isFramed){var a=this.document.getById(this.id+"_frame"),b=a.getParent(),a=a.getFrameDocument();CKEDITOR.env.iOS&&b.setStyles({overflow:"scroll","-webkit-overflow-scrolling":"touch"});b=CKEDITOR.tools.addFunction(CKEDITOR.tools.bind(function(){this.isLoaded=!0;if(this.onLoad)this.onLoad()},this));a.write(k.output(CKEDITOR.tools.extend({css:CKEDITOR.tools.buildStyleHtml(this.css),onload:"window.parent.CKEDITOR.tools.callFunction("+ +b+");"},e)));a.getWindow().$.CKEDITOR=CKEDITOR;a.on("keydown",function(a){var b=a.data.getKeystroke(),c=this.document.getById(this.id).getAttribute("dir");this._.onKeyDown&&!1===this._.onKeyDown(b)?a.data.preventDefault():(27==b||b==("rtl"==c?39:37))&&this.onEscape&&!1===this.onEscape(b)&&a.data.preventDefault()},this);a=a.getBody();a.unselectable();CKEDITOR.env.air&&CKEDITOR.tools.callFunction(b)}else a=this.document.getById(this.id);this._.holder=a}return a};var e={editorId:a.id,id:this.id,langCode:a.langCode, +dir:a.lang.dir,cls:this.className,frame:"",env:CKEDITOR.env.cssClass,"z-index":a.config.baseFloatZIndex+1};if(this.isFramed){var d=CKEDITOR.env.air?"javascript:void(0)":CKEDITOR.env.ie?"javascript:void(function(){"+encodeURIComponent("document.open();("+CKEDITOR.tools.fixDomain+")();document.close();")+"}())":"";e.frame=h.output({id:this.id+"_frame",src:d})}d=g.output(e);b&&b.push(d);return d},addBlock:function(a,b){b=this._.blocks[a]=b instanceof CKEDITOR.ui.panel.block?b:new CKEDITOR.ui.panel.block(this.getHolderElement(), +b);this._.currentBlock||this.showBlock(a);return b},getBlock:function(a){return this._.blocks[a]},showBlock:function(a){a=this._.blocks[a];var b=this._.currentBlock,e=!this.forceIFrame||CKEDITOR.env.ie?this._.holder:this.document.getById(this.id+"_frame");b&&b.hide();this._.currentBlock=a;CKEDITOR.fire("ariaWidget",e);a._.focusIndex=-1;this._.onKeyDown=a.onKeyDown&&CKEDITOR.tools.bind(a.onKeyDown,a);a.show();return a},destroy:function(){this.element&&this.element.remove()}};CKEDITOR.ui.panel.block= +CKEDITOR.tools.createClass({$:function(a,b){this.element=a.append(a.getDocument().createElement("div",{attributes:{tabindex:-1,"class":"cke_panel_block"},styles:{display:"none"}}));b&&CKEDITOR.tools.extend(this,b);this.element.setAttributes({role:this.attributes.role||"presentation","aria-label":this.attributes["aria-label"],title:this.attributes.title||this.attributes["aria-label"]});this.keys={};this._.focusIndex=-1;this.element.disableContextMenu()},_:{markItem:function(a){-1!=a&&(a=this.element.getElementsByTag("a").getItem(this._.focusIndex= +a),CKEDITOR.env.webkit&&a.getDocument().getWindow().focus(),a.focus(),this.onMark&&this.onMark(a))},markFirstDisplayed:function(a){for(var b=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&"none"==a.getStyle("display")},e=this._.getItems(),d,c,f=e.count()-1;0<=f;f--)if(d=e.getItem(f),d.getAscendant(b)||(c=d,this._.focusIndex=f),"true"==d.getAttribute("aria-selected")){c=d;this._.focusIndex=f;break}c&&(a&&a(),CKEDITOR.env.webkit&&c.getDocument().getWindow().focus(),c.focus(),this.onMark&&this.onMark(c))}, +getItems:function(){return this.element.getElementsByTag("a")}},proto:{show:function(){this.element.setStyle("display","")},hide:function(){this.onHide&&!0===this.onHide.call(this)||this.element.setStyle("display","none")},onKeyDown:function(a,b){var e=this.keys[a];switch(e){case "next":for(var d=this._.focusIndex,e=this.element.getElementsByTag("a"),c;c=e.getItem(++d);)if(c.getAttribute("_cke_focus")&&c.$.offsetWidth){this._.focusIndex=d;c.focus();break}return c||b?!1:(this._.focusIndex=-1,this.onKeyDown(a, +1));case "prev":d=this._.focusIndex;for(e=this.element.getElementsByTag("a");0<d&&(c=e.getItem(--d));){if(c.getAttribute("_cke_focus")&&c.$.offsetWidth){this._.focusIndex=d;c.focus();break}c=null}return c||b?!1:(this._.focusIndex=e.count(),this.onKeyDown(a,1));case "click":case "mouseup":return d=this._.focusIndex,(c=0<=d&&this.element.getElementsByTag("a").getItem(d))&&(c.$[e]?c.$[e]():c.$["on"+e]()),!1}return!0}}})})();CKEDITOR.plugins.add("floatpanel",{requires:"panel"}); +(function(){function v(a,b,c,m,h){h=CKEDITOR.tools.genKey(b.getUniqueId(),c.getUniqueId(),a.lang.dir,a.uiColor||"",m.css||"",h||"");var g=f[h];g||(g=f[h]=new CKEDITOR.ui.panel(b,m),g.element=c.append(CKEDITOR.dom.element.createFromHtml(g.render(a),b)),g.element.setStyles({display:"none",position:"absolute"}));return g}var f={};CKEDITOR.ui.floatPanel=CKEDITOR.tools.createClass({$:function(a,b,c,m){function h(){e.hide()}c.forceIFrame=1;c.toolbarRelated&&a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE&& +(b=CKEDITOR.document.getById("cke_"+a.name));var g=b.getDocument();m=v(a,g,b,c,m||0);var n=m.element,k=n.getFirst(),e=this;n.disableContextMenu();this.element=n;this._={editor:a,panel:m,parentElement:b,definition:c,document:g,iframe:k,children:[],dir:a.lang.dir,showBlockParams:null};a.on("mode",h);a.on("resize",h);g.getWindow().on("resize",function(){this.reposition()},this)},proto:{addBlock:function(a,b){return this._.panel.addBlock(a,b)},addListBlock:function(a,b){return this._.panel.addListBlock(a, +b)},getBlock:function(a){return this._.panel.getBlock(a)},showBlock:function(a,b,c,m,h,g){var n=this._.panel,k=n.showBlock(a);this._.showBlockParams=[].slice.call(arguments);this.allowBlur(!1);var e=this._.editor.editable();this._.returnFocus=e.hasFocus?e:new CKEDITOR.dom.element(CKEDITOR.document.$.activeElement);this._.hideTimeout=0;var l=this.element,e=this._.iframe,e=CKEDITOR.env.ie&&!CKEDITOR.env.edge?e:new CKEDITOR.dom.window(e.$.contentWindow),f=l.getDocument(),r=this._.parentElement.getPositionedAncestor(), +t=b.getDocumentPosition(f),f=r?r.getDocumentPosition(f):{x:0,y:0},q="rtl"==this._.dir,d=t.x+(m||0)-f.x,p=t.y+(h||0)-f.y;!q||1!=c&&4!=c?q||2!=c&&3!=c||(d+=b.$.offsetWidth-1):d+=b.$.offsetWidth;if(3==c||4==c)p+=b.$.offsetHeight-1;this._.panel._.offsetParentId=b.getId();l.setStyles({top:p+"px",left:0,display:""});l.setOpacity(0);l.getFirst().removeStyle("width");this._.editor.focusManager.add(e);this._.blurSet||(CKEDITOR.event.useCapture=!0,e.on("blur",function(a){function u(){delete this._.returnFocus; +this.hide()}this.allowBlur()&&a.data.getPhase()==CKEDITOR.EVENT_PHASE_AT_TARGET&&this.visible&&!this._.activeChild&&(CKEDITOR.env.iOS?this._.hideTimeout||(this._.hideTimeout=CKEDITOR.tools.setTimeout(u,0,this)):u.call(this))},this),e.on("focus",function(){this._.focused=!0;this.hideChild();this.allowBlur(!0)},this),CKEDITOR.env.iOS&&(e.on("touchstart",function(){clearTimeout(this._.hideTimeout)},this),e.on("touchend",function(){this._.hideTimeout=0;this.focus()},this)),CKEDITOR.event.useCapture=!1, +this._.blurSet=1);n.onEscape=CKEDITOR.tools.bind(function(a){if(this.onEscape&&!1===this.onEscape(a))return!1},this);CKEDITOR.tools.setTimeout(function(){var a=CKEDITOR.tools.bind(function(){var a=l;a.removeStyle("width");if(k.autoSize){var b=k.element.getDocument(),b=(CKEDITOR.env.webkit||CKEDITOR.env.edge?k.element:b.getBody()).$.scrollWidth;CKEDITOR.env.ie&&CKEDITOR.env.quirks&&0<b&&(b+=(a.$.offsetWidth||0)-(a.$.clientWidth||0)+3);a.setStyle("width",b+10+"px");b=k.element.$.scrollHeight;CKEDITOR.env.ie&& +CKEDITOR.env.quirks&&0<b&&(b+=(a.$.offsetHeight||0)-(a.$.clientHeight||0)+3);a.setStyle("height",b+"px");n._.currentBlock.element.setStyle("display","none").removeStyle("display")}else a.removeStyle("height");q&&(d-=l.$.offsetWidth);l.setStyle("left",d+"px");var b=n.element.getWindow(),a=l.$.getBoundingClientRect(),b=b.getViewPaneSize(),c=a.width||a.right-a.left,e=a.height||a.bottom-a.top,m=q?a.right:b.width-a.left,h=q?b.width-a.right:a.left;q?m<c&&(d=h>c?d+c:b.width>c?d-a.left:d-a.right+b.width): +m<c&&(d=h>c?d-c:b.width>c?d-a.right+b.width:d-a.left);c=a.top;b.height-a.top<e&&(p=c>e?p-e:b.height>e?p-a.bottom+b.height:p-a.top);CKEDITOR.env.ie&&(b=a=new CKEDITOR.dom.element(l.$.offsetParent),"html"==b.getName()&&(b=b.getDocument().getBody()),"rtl"==b.getComputedStyle("direction")&&(d=CKEDITOR.env.ie8Compat?d-2*l.getDocument().getDocumentElement().$.scrollLeft:d-(a.$.scrollWidth-a.$.clientWidth)));var a=l.getFirst(),f;(f=a.getCustomData("activePanel"))&&f.onHide&&f.onHide.call(this,1);a.setCustomData("activePanel", +this);l.setStyles({top:p+"px",left:d+"px"});l.setOpacity(1);g&&g()},this);n.isLoaded?a():n.onLoad=a;CKEDITOR.tools.setTimeout(function(){var a=CKEDITOR.env.webkit&&CKEDITOR.document.getWindow().getScrollPosition().y;this.focus();k.element.focus();CKEDITOR.env.webkit&&(CKEDITOR.document.getBody().$.scrollTop=a);this.allowBlur(!0);CKEDITOR.env.ie?CKEDITOR.tools.setTimeout(function(){k.markFirstDisplayed?k.markFirstDisplayed():k._.markFirstDisplayed()},0):k.markFirstDisplayed?k.markFirstDisplayed(): +k._.markFirstDisplayed();this._.editor.fire("panelShow",this)},0,this)},CKEDITOR.env.air?200:0,this);this.visible=1;this.onShow&&this.onShow.call(this)},reposition:function(){var a=this._.showBlockParams;this.visible&&this._.showBlockParams&&(this.hide(),this.showBlock.apply(this,a))},focus:function(){if(CKEDITOR.env.webkit){var a=CKEDITOR.document.getActive();a&&!a.equals(this._.iframe)&&a.$.blur()}(this._.lastFocused||this._.iframe.getFrameDocument().getWindow()).focus()},blur:function(){var a= +this._.iframe.getFrameDocument().getActive();a&&a.is("a")&&(this._.lastFocused=a)},hide:function(a){if(this.visible&&(!this.onHide||!0!==this.onHide.call(this))){this.hideChild();CKEDITOR.env.gecko&&this._.iframe.getFrameDocument().$.activeElement.blur();this.element.setStyle("display","none");this.visible=0;this.element.getFirst().removeCustomData("activePanel");if(a=a&&this._.returnFocus)CKEDITOR.env.webkit&&a.type&&a.getWindow().$.focus(),a.focus();delete this._.lastFocused;this._.showBlockParams= +null;this._.editor.fire("panelHide",this)}},allowBlur:function(a){var b=this._.panel;void 0!==a&&(b.allowBlur=a);return b.allowBlur},showAsChild:function(a,b,c,f,h,g){if(this._.activeChild!=a||a._.panel._.offsetParentId!=c.getId())this.hideChild(),a.onHide=CKEDITOR.tools.bind(function(){CKEDITOR.tools.setTimeout(function(){this._.focused||this.hide()},0,this)},this),this._.activeChild=a,this._.focused=!1,a.showBlock(b,c,f,h,g),this.blur(),(CKEDITOR.env.ie7Compat||CKEDITOR.env.ie6Compat)&&setTimeout(function(){a.element.getChild(0).$.style.cssText+= +""},100)},hideChild:function(a){var b=this._.activeChild;b&&(delete b.onHide,delete this._.activeChild,b.hide(),a&&this.focus())}}});CKEDITOR.on("instanceDestroyed",function(){var a=CKEDITOR.tools.isEmpty(CKEDITOR.instances),b;for(b in f){var c=f[b];a?c.destroy():c.element.hide()}a&&(f={})})})();CKEDITOR.plugins.add("colorbutton",{requires:"panelbutton,floatpanel",init:function(d){function t(a,e,g,r,l){var n=new CKEDITOR.style(k["colorButton_"+e+"Style"]),m=CKEDITOR.tools.getNextId()+"_colorBox",p;l=l||{};d.ui.add(a,CKEDITOR.UI_PANELBUTTON,{label:g,title:g,modes:{wysiwyg:1},editorFocus:0,toolbar:"colors,"+r,allowedContent:n,requiredContent:n,contentTransformations:l.contentTransformations,panel:{css:CKEDITOR.skin.getPath("editor"),attributes:{role:"listbox","aria-label":h.panelTitle}},onBlock:function(a, +b){p=b;b.autoSize=!0;b.element.addClass("cke_colorblock");b.element.setHtml(y(a,e,m));b.element.getDocument().getBody().setStyle("overflow","hidden");CKEDITOR.ui.fire("ready",this);var c=b.keys,f="rtl"==d.lang.dir;c[f?37:39]="next";c[40]="next";c[9]="next";c[f?39:37]="prev";c[38]="prev";c[CKEDITOR.SHIFT+9]="prev";c[32]="click"},refresh:function(){d.activeFilter.check(n)||this.setState(CKEDITOR.TRISTATE_DISABLED)},onOpen:function(){var a=d.getSelection(),b=a&&a.getStartElement(),c=d.elementPath(b); +if(c){b=c.block||c.blockLimit||d.document.getBody();do c=b&&b.getComputedStyle("back"==e?"background-color":"color")||"transparent";while("back"==e&&"transparent"==c&&b&&(b=b.getParent()));c&&"transparent"!=c||(c="#ffffff");!1!==k.colorButton_enableAutomatic&&this._.panel._.iframe.getFrameDocument().getById(m).setStyle("background-color",c);if(b=a&&a.getRanges()[0]){for(var a=new CKEDITOR.dom.walker(b),f=b.collapsed?b.startContainer:a.next(),b="";f;){f.type===CKEDITOR.NODE_TEXT&&(f=f.getParent()); +f=u(f.getComputedStyle("back"==e?"background-color":"color"));b=b||f;if(b!==f){b="";break}f=a.next()}a=b;b=p._.getItems();for(f=0;f<b.count();f++){var g=b.getItem(f);g.removeAttribute("aria-selected");a&&a==u(g.getAttribute("data-value"))&&g.setAttribute("aria-selected",!0)}}return c}}})}function y(a,e,g){a=[];var r=k.colorButton_colors.split(","),l=k.colorButton_colorsPerRow||6,n=d.plugins.colordialog&&!1!==k.colorButton_enableMore,m=r.length+(n?2:1),p=CKEDITOR.tools.addFunction(function(a,b){function c(a){d.removeStyle(new CKEDITOR.style(k["colorButton_"+ +b+"Style"],{color:"inherit"}));var e=k["colorButton_"+b+"Style"];e.childRule="back"==b?function(a){return v(a)}:function(a){return!(a.is("a")||a.getElementsByTag("a").count())||v(a)};d.focus();d.applyStyle(new CKEDITOR.style(e,{color:a}));d.fire("saveSnapshot")}d.focus();d.fire("saveSnapshot");if("?"==a)d.getColorFromDialog(function(a){if(a)return c(a)});else return c(a)});!1!==k.colorButton_enableAutomatic&&a.push('\x3ca class\x3d"cke_colorauto" _cke_focus\x3d1 hidefocus\x3dtrue title\x3d"',h.auto, +'" onclick\x3d"CKEDITOR.tools.callFunction(',p,",null,'",e,"');return false;\" href\x3d\"javascript:void('",h.auto,'\')" role\x3d"option" aria-posinset\x3d"1" aria-setsize\x3d"',m,'"\x3e\x3ctable role\x3d"presentation" cellspacing\x3d0 cellpadding\x3d0 width\x3d"100%"\x3e\x3ctr\x3e\x3ctd colspan\x3d"'+l+'" align\x3d"center"\x3e\x3cspan class\x3d"cke_colorbox" id\x3d"',g,'"\x3e\x3c/span\x3e',h.auto,"\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e\x3c/a\x3e");a.push('\x3ctable role\x3d"presentation" cellspacing\x3d0 cellpadding\x3d0 width\x3d"100%"\x3e'); +for(g=0;g<r.length;g++){0===g%l&&a.push("\x3c/tr\x3e\x3ctr\x3e");var q=r[g].split("/"),b=q[0],c=q[1]||b;q[1]||(b="#"+b.replace(/^(.)(.)(.)$/,"$1$1$2$2$3$3"));q=d.lang.colorbutton.colors[c]||c;a.push('\x3ctd\x3e\x3ca class\x3d"cke_colorbox" _cke_focus\x3d1 hidefocus\x3dtrue title\x3d"',q,'" onclick\x3d"CKEDITOR.tools.callFunction(',p,",'",b,"','",e,"'); return false;\" href\x3d\"javascript:void('",q,'\')" data-value\x3d"'+c+'" role\x3d"option" aria-posinset\x3d"',g+2,'" aria-setsize\x3d"',m,'"\x3e\x3cspan class\x3d"cke_colorbox" style\x3d"background-color:#', +c,'"\x3e\x3c/span\x3e\x3c/a\x3e\x3c/td\x3e')}n&&a.push('\x3c/tr\x3e\x3ctr\x3e\x3ctd colspan\x3d"'+l+'" align\x3d"center"\x3e\x3ca class\x3d"cke_colormore" _cke_focus\x3d1 hidefocus\x3dtrue title\x3d"',h.more,'" onclick\x3d"CKEDITOR.tools.callFunction(',p,",'?','",e,"');return false;\" href\x3d\"javascript:void('",h.more,"')\"",' role\x3d"option" aria-posinset\x3d"',m,'" aria-setsize\x3d"',m,'"\x3e',h.more,"\x3c/a\x3e\x3c/td\x3e");a.push("\x3c/tr\x3e\x3c/table\x3e");return a.join("")}function v(a){return"false"== +a.getAttribute("contentEditable")||a.getAttribute("data-nostyle")}function u(a){return CKEDITOR.tools.normalizeHex("#"+CKEDITOR.tools.convertRgbToHex(a||"")).replace(/#/g,"")}var k=d.config,h=d.lang.colorbutton;if(!CKEDITOR.env.hc){t("TextColor","fore",h.textColorTitle,10,{contentTransformations:[[{element:"font",check:"span{color}",left:function(a){return!!a.attributes.color},right:function(a){a.name="span";a.attributes.color&&(a.styles.color=a.attributes.color);delete a.attributes.color}}]]});var w= +{},x=d.config.colorButton_normalizeBackground;if(void 0===x||x)w.contentTransformations=[[{element:"span",left:function(a){var d=CKEDITOR.tools;if("span"!=a.name||!a.styles||!a.styles.background)return!1;a=d.style.parse.background(a.styles.background);return a.color&&1===d.objectKeys(a).length},right:function(a){var e=(new CKEDITOR.style(d.config.colorButton_backStyle,{color:a.styles.background})).getDefinition();a.name=e.element;a.styles=e.styles;a.attributes=e.attributes||{};return a}}]];t("BGColor", +"back",h.bgColorTitle,20,w)}}});CKEDITOR.config.colorButton_colors="1ABC9C,2ECC71,3498DB,9B59B6,4E5F70,F1C40F,16A085,27AE60,2980B9,8E44AD,2C3E50,F39C12,E67E22,E74C3C,ECF0F1,95A5A6,DDD,FFF,D35400,C0392B,BDC3C7,7F8C8D,999,000";CKEDITOR.config.colorButton_foreStyle={element:"span",styles:{color:"#(color)"},overrides:[{element:"font",attributes:{color:null}}]};CKEDITOR.config.colorButton_backStyle={element:"span",styles:{"background-color":"#(color)"}};CKEDITOR.plugins.colordialog={requires:"dialog",init:function(b){var d=new CKEDITOR.dialogCommand("colordialog");d.editorFocus=!1;b.addCommand("colordialog",d);CKEDITOR.dialog.add("colordialog",this.path+"dialogs/colordialog.js");b.getColorFromDialog=function(d,g){var c,f,e;c=function(a){f(this);a="ok"==a.name?this.getValueOf("picker","selectedColor"):null;/^[0-9a-f]{3}([0-9a-f]{3})?$/i.test(a)&&(a="#"+a);d.call(g,a)};f=function(a){a.removeListener("ok",c);a.removeListener("cancel",c)};e=function(a){a.on("ok", +c);a.on("cancel",c)};b.execCommand("colordialog");if(b._.storedDialogs&&b._.storedDialogs.colordialog)e(b._.storedDialogs.colordialog);else CKEDITOR.on("dialogDefinition",function(a){if("colordialog"==a.data.name){var b=a.data.definition;a.removeListener();b.onLoad=CKEDITOR.tools.override(b.onLoad,function(a){return function(){e(this);b.onLoad=a;"function"==typeof a&&a.call(this)}})}})}}};CKEDITOR.plugins.add("colordialog",CKEDITOR.plugins.colordialog);(function(){CKEDITOR.plugins.add("templates",{requires:"dialog",init:function(a){CKEDITOR.dialog.add("templates",CKEDITOR.getUrl(this.path+"dialogs/templates.js"));a.addCommand("templates",new CKEDITOR.dialogCommand("templates"));a.ui.addButton&&a.ui.addButton("Templates",{label:a.lang.templates.button,command:"templates",toolbar:"doctools,10"})}});var c={},f={};CKEDITOR.addTemplates=function(a,d){c[a]=d};CKEDITOR.getTemplates=function(a){return c[a]};CKEDITOR.loadTemplates=function(a,d){for(var e= +[],b=0,c=a.length;b<c;b++)f[a[b]]||(e.push(a[b]),f[a[b]]=1);e.length?CKEDITOR.scriptLoader.load(e,d):setTimeout(d,0)}})();CKEDITOR.config.templates_files=[CKEDITOR.getUrl("plugins/templates/templates/default.js")];CKEDITOR.config.templates_replaceContent=!0;CKEDITOR.plugins.add("menu",{requires:"floatpanel",beforeInit:function(l){for(var h=l.config.menu_groups.split(","),r=l._.menuGroups={},t=l._.menuItems={},n=0;n<h.length;n++)r[h[n]]=n+1;l.addMenuGroup=function(a,b){r[a]=b||100};l.addMenuItem=function(a,b){r[b.group]&&(t[a]=new CKEDITOR.menuItem(this,a,b))};l.addMenuItems=function(a){for(var b in a)this.addMenuItem(b,a[b])};l.getMenuItem=function(a){return t[a]};l.removeMenuItem=function(a){delete t[a]}}}); +(function(){function l(a){a.sort(function(a,d){return a.group<d.group?-1:a.group>d.group?1:a.order<d.order?-1:a.order>d.order?1:0})}var h='\x3cspan class\x3d"cke_menuitem"\x3e\x3ca id\x3d"{id}" class\x3d"cke_menubutton cke_menubutton__{name} cke_menubutton_{state} {cls}" href\x3d"{href}" title\x3d"{title}" tabindex\x3d"-1" _cke_focus\x3d1 hidefocus\x3d"true" role\x3d"{role}" aria-label\x3d"{label}" aria-describedby\x3d"{id}_description" aria-haspopup\x3d"{hasPopup}" aria-disabled\x3d"{disabled}" {ariaChecked} draggable\x3d"false"'; +CKEDITOR.env.gecko&&CKEDITOR.env.mac&&(h+=' onkeypress\x3d"return false;"');CKEDITOR.env.gecko&&(h+=' onblur\x3d"this.style.cssText \x3d this.style.cssText;" ondragstart\x3d"return false;"');var h=h+(' onmouseover\x3d"CKEDITOR.tools.callFunction({hoverFn},{index});" onmouseout\x3d"CKEDITOR.tools.callFunction({moveOutFn},{index});" '+(CKEDITOR.env.ie?'onclick\x3d"return false;" onmouseup':"onclick")+'\x3d"CKEDITOR.tools.callFunction({clickFn},{index}); return false;"\x3e'),r=CKEDITOR.addTemplate("menuItem", +h+'\x3cspan class\x3d"cke_menubutton_inner"\x3e\x3cspan class\x3d"cke_menubutton_icon"\x3e\x3cspan class\x3d"cke_button_icon cke_button__{iconName}_icon" style\x3d"{iconStyle}"\x3e\x3c/span\x3e\x3c/span\x3e\x3cspan class\x3d"cke_menubutton_label"\x3e{label}\x3c/span\x3e{shortcutHtml}{arrowHtml}\x3c/span\x3e\x3c/a\x3e\x3cspan id\x3d"{id}_description" class\x3d"cke_voice_label" aria-hidden\x3d"false"\x3e{ariaShortcut}\x3c/span\x3e\x3c/span\x3e'),t=CKEDITOR.addTemplate("menuArrow",'\x3cspan class\x3d"cke_menuarrow"\x3e\x3cspan\x3e{label}\x3c/span\x3e\x3c/span\x3e'), +n=CKEDITOR.addTemplate("menuShortcut",'\x3cspan class\x3d"cke_menubutton_label cke_menubutton_shortcut"\x3e{shortcut}\x3c/span\x3e');CKEDITOR.menu=CKEDITOR.tools.createClass({$:function(a,b){b=this._.definition=b||{};this.id=CKEDITOR.tools.getNextId();this.editor=a;this.items=[];this._.listeners=[];this._.level=b.level||1;var d=CKEDITOR.tools.extend({},b.panel,{css:[CKEDITOR.skin.getPath("editor")],level:this._.level-1,block:{}}),m=d.block.attributes=d.attributes||{};!m.role&&(m.role="menu");this._.panelDefinition= +d},_:{onShow:function(){var a=this.editor.getSelection(),b=a&&a.getStartElement(),d=this.editor.elementPath(),m=this._.listeners;this.removeAll();for(var g=0;g<m.length;g++){var k=m[g](b,a,d);if(k)for(var e in k){var f=this.editor.getMenuItem(e);!f||f.command&&!this.editor.getCommand(f.command).state||(f.state=k[e],this.add(f))}}},onClick:function(a){this.hide();if(a.onClick)a.onClick();else a.command&&this.editor.execCommand(a.command)},onEscape:function(a){var b=this.parent;b?b._.panel.hideChild(1): +27==a&&this.hide(1);return!1},onHide:function(){this.onHide&&this.onHide()},showSubMenu:function(a){var b=this._.subMenu,d=this.items[a];if(d=d.getItems&&d.getItems()){b?b.removeAll():(b=this._.subMenu=new CKEDITOR.menu(this.editor,CKEDITOR.tools.extend({},this._.definition,{level:this._.level+1},!0)),b.parent=this,b._.onClick=CKEDITOR.tools.bind(this._.onClick,this));for(var m in d){var g=this.editor.getMenuItem(m);g&&(g.state=d[m],b.add(g))}var k=this._.panel.getBlock(this.id).element.getDocument().getById(this.id+ +String(a));setTimeout(function(){b.show(k,2)},0)}else this._.panel.hideChild(1)}},proto:{add:function(a){a.order||(a.order=this.items.length);this.items.push(a)},removeAll:function(){this.items=[]},show:function(a,b,d,m){if(!this.parent&&(this._.onShow(),!this.items.length))return;b=b||("rtl"==this.editor.lang.dir?2:1);var g=this.items,k=this.editor,e=this._.panel,f=this._.element;if(!e){e=this._.panel=new CKEDITOR.ui.floatPanel(this.editor,CKEDITOR.document.getBody(),this._.panelDefinition,this._.level); +e.onEscape=CKEDITOR.tools.bind(function(a){if(!1===this._.onEscape(a))return!1},this);e.onShow=function(){e._.panel.getHolderElement().getParent().addClass("cke").addClass("cke_reset_all")};e.onHide=CKEDITOR.tools.bind(function(){this._.onHide&&this._.onHide()},this);f=e.addBlock(this.id,this._.panelDefinition.block);f.autoSize=!0;var c=f.keys;c[40]="next";c[9]="next";c[38]="prev";c[CKEDITOR.SHIFT+9]="prev";c["rtl"==k.lang.dir?37:39]=CKEDITOR.env.ie?"mouseup":"click";c[32]=CKEDITOR.env.ie?"mouseup": +"click";CKEDITOR.env.ie&&(c[13]="mouseup");f=this._.element=f.element;c=f.getDocument();c.getBody().setStyle("overflow","hidden");c.getElementsByTag("html").getItem(0).setStyle("overflow","hidden");this._.itemOverFn=CKEDITOR.tools.addFunction(function(a){clearTimeout(this._.showSubTimeout);this._.showSubTimeout=CKEDITOR.tools.setTimeout(this._.showSubMenu,k.config.menu_subMenuDelay||400,this,[a])},this);this._.itemOutFn=CKEDITOR.tools.addFunction(function(){clearTimeout(this._.showSubTimeout)},this); +this._.itemClickFn=CKEDITOR.tools.addFunction(function(a){var b=this.items[a];if(b.state==CKEDITOR.TRISTATE_DISABLED)this.hide(1);else if(b.getItems)this._.showSubMenu(a);else this._.onClick(b)},this)}l(g);for(var c=k.elementPath(),c=['\x3cdiv class\x3d"cke_menu'+(c&&c.direction()!=k.lang.dir?" cke_mixed_dir_content":"")+'" role\x3d"presentation"\x3e'],h=g.length,n=h&&g[0].group,q=0;q<h;q++){var p=g[q];n!=p.group&&(c.push('\x3cdiv class\x3d"cke_menuseparator" role\x3d"separator"\x3e\x3c/div\x3e'), +n=p.group);p.render(this,q,c)}c.push("\x3c/div\x3e");f.setHtml(c.join(""));CKEDITOR.ui.fire("ready",this);this.parent?this.parent._.panel.showAsChild(e,this.id,a,b,d,m):e.showBlock(this.id,a,b,d,m);k.fire("menuShow",[e])},addListener:function(a){this._.listeners.push(a)},hide:function(a){this._.onHide&&this._.onHide();this._.panel&&this._.panel.hide(a)},findItemByCommandName:function(a){var b=CKEDITOR.tools.array.filter(this.items,function(b){return a===b.command});return b.length?(b=b[0],{item:b, +element:this._.element.findOne("."+b.className)}):null}}});CKEDITOR.menuItem=CKEDITOR.tools.createClass({$:function(a,b,d){CKEDITOR.tools.extend(this,d,{order:0,className:"cke_menubutton__"+b});this.group=a._.menuGroups[this.group];this.editor=a;this.name=b},proto:{render:function(a,b,d){var h=a.id+String(b),g="undefined"==typeof this.state?CKEDITOR.TRISTATE_OFF:this.state,k="",e=this.editor,f,c,l=g==CKEDITOR.TRISTATE_ON?"on":g==CKEDITOR.TRISTATE_DISABLED?"disabled":"off";this.role in{menuitemcheckbox:1, +menuitemradio:1}&&(k=' aria-checked\x3d"'+(g==CKEDITOR.TRISTATE_ON?"true":"false")+'"');var u=this.getItems,q="\x26#"+("rtl"==this.editor.lang.dir?"9668":"9658")+";",p=this.name;this.icon&&!/\./.test(this.icon)&&(p=this.icon);this.command&&(f=e.getCommand(this.command),(f=e.getCommandKeystroke(f))&&(c=CKEDITOR.tools.keystrokeToString(e.lang.common.keyboard,f)));a={id:h,name:this.name,iconName:p,label:this.label,cls:this.className||"",state:l,hasPopup:u?"true":"false",disabled:g==CKEDITOR.TRISTATE_DISABLED, +title:this.label+(c?" ("+c.display+")":""),ariaShortcut:c?e.lang.common.keyboardShortcut+" "+c.aria:"",href:"javascript:void('"+(this.label||"").replace("'")+"')",hoverFn:a._.itemOverFn,moveOutFn:a._.itemOutFn,clickFn:a._.itemClickFn,index:b,iconStyle:CKEDITOR.skin.getIconStyle(p,"rtl"==this.editor.lang.dir,p==this.icon?null:this.icon,this.iconOffset),shortcutHtml:c?n.output({shortcut:c.display}):"",arrowHtml:u?t.output({label:q}):"",role:this.role?this.role:"menuitem",ariaChecked:k};r.output(a,d)}}})})(); +CKEDITOR.config.menu_groups="clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea,div";CKEDITOR.plugins.add("contextmenu",{requires:"menu",onLoad:function(){CKEDITOR.plugins.contextMenu=CKEDITOR.tools.createClass({base:CKEDITOR.menu,$:function(a){this.base.call(this,a,{panel:{className:"cke_menu_panel",attributes:{"aria-label":a.lang.contextmenu.options}}})},proto:{addTarget:function(a,e){a.on("contextmenu",function(a){a=a.data;var c=CKEDITOR.env.webkit?f:CKEDITOR.env.mac?a.$.metaKey:a.$.ctrlKey;if(!e||!c){a.preventDefault();if(CKEDITOR.env.mac&&CKEDITOR.env.webkit){var c=this.editor, +b=(new CKEDITOR.dom.elementPath(a.getTarget(),c.editable())).contains(function(a){return a.hasAttribute("contenteditable")},!0);b&&"false"==b.getAttribute("contenteditable")&&c.getSelection().fake(b)}var b=a.getTarget().getDocument(),d=a.getTarget().getDocument().getDocumentElement(),c=!b.equals(CKEDITOR.document),b=b.getWindow().getScrollPosition(),g=c?a.$.clientX:a.$.pageX||b.x+a.$.clientX,h=c?a.$.clientY:a.$.pageY||b.y+a.$.clientY;CKEDITOR.tools.setTimeout(function(){this.open(d,null,g,h)},CKEDITOR.env.ie? +200:0,this)}},this);if(CKEDITOR.env.webkit){var f,d=function(){f=0};a.on("keydown",function(a){f=CKEDITOR.env.mac?a.data.$.metaKey:a.data.$.ctrlKey});a.on("keyup",d);a.on("contextmenu",d)}},open:function(a,e,f,d){!1!==this.editor.config.enableContextMenu&&(this.editor.focus(),a=a||CKEDITOR.document.getDocumentElement(),this.editor.selectionChange(1),this.show(a,e,f,d))}}})},beforeInit:function(a){var e=a.contextMenu=new CKEDITOR.plugins.contextMenu(a);a.on("contentDom",function(){e.addTarget(a.editable(), +!1!==a.config.browserContextMenuOnCtrl)});a.addCommand("contextMenu",{exec:function(){a.contextMenu.open(a.document.getBody())}});a.setKeystroke(CKEDITOR.SHIFT+121,"contextMenu");a.setKeystroke(CKEDITOR.CTRL+CKEDITOR.SHIFT+121,"contextMenu")}});(function(){function k(a,b,d,e){var c=new CKEDITOR.dom.walker(a);if(a=a.startContainer.getAscendant(b,!0)||a.endContainer.getAscendant(b,!0))if(d(a),e)return;for(;a=c.next();)if(a=a.getAscendant(b,!0))if(d(a),e)break}function u(a,b){var d={ul:"ol",ol:"ul"};return-1!==l(b,function(b){return b.element===a||b.element===d[a]})}function q(a){this.styles=null;this.sticky=!1;this.editor=a;this.filter=new CKEDITOR.filter(a.config.copyFormatting_allowRules);!0===a.config.copyFormatting_allowRules&&(this.filter.disabled= +!0);a.config.copyFormatting_disallowRules&&this.filter.disallow(a.config.copyFormatting_disallowRules)}var l=CKEDITOR.tools.indexOf,r=CKEDITOR.tools.getMouseButton,t=!1;CKEDITOR.plugins.add("copyformatting",{lang:"az,de,en,it,ja,nb,nl,oc,pl,pt-br,ru,sv,tr,zh,zh-cn",icons:"copyformatting",hidpi:!0,init:function(a){var b=CKEDITOR.plugins.copyformatting;b._addScreenReaderContainer();t||(CKEDITOR.document.appendStyleSheet(this.path+"styles/copyformatting.css"),t=!0);a.addContentsCss&&a.addContentsCss(this.path+ +"styles/copyformatting.css");a.copyFormatting=new b.state(a);a.addCommand("copyFormatting",b.commands.copyFormatting);a.addCommand("applyFormatting",b.commands.applyFormatting);a.ui.addButton("CopyFormatting",{label:a.lang.copyformatting.label,command:"copyFormatting",toolbar:"cleanup,0"});a.on("contentDom",function(){var d=a.editable(),b=d.isInline()?d:a.document,c=a.ui.get("CopyFormatting");d.attachListener(b,"mouseup",function(b){r(b)===CKEDITOR.MOUSE_BUTTON_LEFT&&a.execCommand("applyFormatting")}); +d.attachListener(CKEDITOR.document,"mouseup",function(b){var e=a.getCommand("copyFormatting");r(b)!==CKEDITOR.MOUSE_BUTTON_LEFT||e.state!==CKEDITOR.TRISTATE_ON||d.contains(b.data.getTarget())||a.execCommand("copyFormatting")});c&&(b=CKEDITOR.document.getById(c._.id),d.attachListener(b,"dblclick",function(){a.execCommand("copyFormatting",{sticky:!0})}),d.attachListener(b,"mouseup",function(a){a.data.stopPropagation()}))});a.config.copyFormatting_keystrokeCopy&&a.setKeystroke(a.config.copyFormatting_keystrokeCopy, +"copyFormatting");a.on("key",function(b){var e=a.getCommand("copyFormatting");b=b.data.domEvent;b.getKeystroke&&27===b.getKeystroke()&&e.state===CKEDITOR.TRISTATE_ON&&a.execCommand("copyFormatting")});a.copyFormatting.on("extractFormatting",function(d){var e=d.data.element;if(e.contains(a.editable())||e.equals(a.editable()))return d.cancel();e=b._convertElementToStyleDef(e);if(!a.copyFormatting.filter.check(new CKEDITOR.style(e),!0,!0))return d.cancel();d.data.styleDef=e});a.copyFormatting.on("applyFormatting", +function(d){if(!d.data.preventFormatStripping){var e=d.data.range,c=b._extractStylesFromRange(a,e),f=b._determineContext(e),g,h;if(a.copyFormatting._isContextAllowed(f))for(h=0;h<c.length;h++)f=c[h],g=e.createBookmark(),-1===l(b.preservedElements,f.element)?CKEDITOR.env.webkit&&!CKEDITOR.env.chrome?c[h].removeFromRange(d.data.range,d.editor):c[h].remove(d.editor):u(f.element,d.data.styles)&&b._removeStylesFromElementInRange(e,f.element),e.moveToBookmark(g)}});a.copyFormatting.on("applyFormatting", +function(b){var e=CKEDITOR.plugins.copyformatting,c=e._determineContext(b.data.range);"list"===c&&a.copyFormatting._isContextAllowed("list")?e._applyStylesToListContext(b.editor,b.data.range,b.data.styles):"table"===c&&a.copyFormatting._isContextAllowed("table")?e._applyStylesToTableContext(b.editor,b.data.range,b.data.styles):a.copyFormatting._isContextAllowed("text")&&e._applyStylesToTextContext(b.editor,b.data.range,b.data.styles)},null,null,999)}});q.prototype._isContextAllowed=function(a){var b= +this.editor.config.copyFormatting_allowedContexts;return!0===b||-1!==l(b,a)};CKEDITOR.event.implementOn(q.prototype);CKEDITOR.plugins.copyformatting={state:q,inlineBoundary:"h1 h2 h3 h4 h5 h6 p div".split(" "),excludedAttributes:["id","style","href","data-cke-saved-href","dir"],elementsForInlineTransform:["li"],excludedElementsFromInlineTransform:["table","thead","tbody","ul","ol"],excludedAttributesFromInlineTransform:["value","type"],preservedElements:"ul ol li td th tr thead tbody table".split(" "), +breakOnElements:["ul","ol","table"],_initialKeystrokePasteCommand:null,commands:{copyFormatting:{exec:function(a,b){var d=CKEDITOR.plugins.copyformatting,e=a.copyFormatting,c=b?"keystrokeHandler"==b.from:!1,f=b?b.sticky||c:!1,g=d._getCursorContainer(a),h=CKEDITOR.document.getDocumentElement();if(this.state===CKEDITOR.TRISTATE_ON)return e.styles=null,e.sticky=!1,g.removeClass("cke_copyformatting_active"),h.removeClass("cke_copyformatting_disabled"),h.removeClass("cke_copyformatting_tableresize_cursor"), +d._putScreenReaderMessage(a,"canceled"),d._detachPasteKeystrokeHandler(a),this.setState(CKEDITOR.TRISTATE_OFF);e.styles=d._extractStylesFromElement(a,a.elementPath().lastElement);this.setState(CKEDITOR.TRISTATE_ON);c||(g.addClass("cke_copyformatting_active"),h.addClass("cke_copyformatting_tableresize_cursor"),a.config.copyFormatting_outerCursor&&h.addClass("cke_copyformatting_disabled"));e.sticky=f;d._putScreenReaderMessage(a,"copied");d._attachPasteKeystrokeHandler(a)}},applyFormatting:{editorFocus:!1, +exec:function(a,b){var d=a.getCommand("copyFormatting"),e=b?"keystrokeHandler"==b.from:!1,c=CKEDITOR.plugins.copyformatting,f=a.copyFormatting,g=c._getCursorContainer(a),h=CKEDITOR.document.getDocumentElement();if(e||d.state===CKEDITOR.TRISTATE_ON){if(e&&!f.styles)return c._putScreenReaderMessage(a,"failed"),c._detachPasteKeystrokeHandler(a),!1;e=c._applyFormat(a,f.styles);f.sticky||(f.styles=null,g.removeClass("cke_copyformatting_active"),h.removeClass("cke_copyformatting_disabled"),h.removeClass("cke_copyformatting_tableresize_cursor"), +d.setState(CKEDITOR.TRISTATE_OFF),c._detachPasteKeystrokeHandler(a));c._putScreenReaderMessage(a,e?"applied":"canceled")}}}},_getCursorContainer:function(a){return a.elementMode===CKEDITOR.ELEMENT_MODE_INLINE?a.editable():a.editable().getParent()},_convertElementToStyleDef:function(a){var b=CKEDITOR.tools,d=a.getAttributes(CKEDITOR.plugins.copyformatting.excludedAttributes),b=b.parseCssText(a.getAttribute("style"),!0,!0);return{element:a.getName(),type:CKEDITOR.STYLE_INLINE,attributes:d,styles:b}}, +_extractStylesFromElement:function(a,b){var d={},e=[];do if(b.type===CKEDITOR.NODE_ELEMENT&&!b.hasAttribute("data-cke-bookmark")&&(d.element=b,a.copyFormatting.fire("extractFormatting",d,a)&&d.styleDef&&e.push(new CKEDITOR.style(d.styleDef)),b.getName&&-1!==l(CKEDITOR.plugins.copyformatting.breakOnElements,b.getName())))break;while((b=b.getParent())&&b.type===CKEDITOR.NODE_ELEMENT);return e},_extractStylesFromRange:function(a,b){for(var d=[],e=new CKEDITOR.dom.walker(b),c;c=e.next();)d=d.concat(CKEDITOR.plugins.copyformatting._extractStylesFromElement(a, +c));return d},_removeStylesFromElementInRange:function(a,b){for(var d=-1!==l(["ol","ul","table"],b),e=new CKEDITOR.dom.walker(a),c;c=e.next();)if(c=c.getAscendant(b,!0))if(c.removeAttributes(c.getAttributes()),d)break},_getSelectedWordOffset:function(a){function b(a,b){return a[b?"getPrevious":"getNext"](function(a){return a.type!==CKEDITOR.NODE_COMMENT})}function d(a){return a.type==CKEDITOR.NODE_ELEMENT?(a=a.getHtml().replace(/<span.*?>&nbsp;<\/span>/g,""),a.replace(/<.*?>/g,"")):a.getText()}function e(a, +c){var f=a,g=/\s/g,h="p br ol ul li td th div caption body".split(" "),m=!1,k=!1,p,n;do{for(p=b(f,c);!p&&f.getParent();){f=f.getParent();if(-1!==l(h,f.getName())){k=m=!0;break}p=b(f,c)}if(p&&p.getName&&-1!==l(h,p.getName())){m=!0;break}f=p}while(f&&f.getStyle&&("none"==f.getStyle("display")||!f.getText()));for(f||(f=a);f.type!==CKEDITOR.NODE_TEXT;)f=!m||c||k?f.getChild(0):f.getChild(f.getChildCount()-1);for(h=d(f);null!=(k=g.exec(h))&&(n=k.index,c););if("number"!==typeof n&&!m)return e(f,c);if(m)c? +n=0:(g=/([\.\b]*$)/,n=(k=g.exec(h))?k.index:h.length);else if(c&&(n+=1,n>h.length))return e(f);return{node:f,offset:n}}var c=/\b\w+\b/ig,f,g,h,m,k;h=m=k=a.startContainer;for(f=d(h);null!=(g=c.exec(f));)if(g.index+g[0].length>=a.startOffset)return a=g.index,c=g.index+g[0].length,0===g.index&&(g=e(h,!0),m=g.node,a=g.offset),c>=f.length&&(f=e(h),k=f.node,c=f.offset),{startNode:m,startOffset:a,endNode:k,endOffset:c};return null},_filterStyles:function(a){var b=CKEDITOR.tools.isEmpty,d=[],e,c;for(c=0;c< +a.length;c++)e=a[c]._.definition,-1!==CKEDITOR.tools.indexOf(CKEDITOR.plugins.copyformatting.inlineBoundary,e.element)&&(e.element=a[c].element="span"),"span"===e.element&&b(e.attributes)&&b(e.styles)||d.push(a[c]);return d},_determineContext:function(a){function b(b){var e=new CKEDITOR.dom.walker(a),c;if(a.startContainer.getAscendant(b,!0)||a.endContainer.getAscendant(b,!0))return!0;for(;c=e.next();)if(c.getAscendant(b,!0))return!0}return b({ul:1,ol:1})?"list":b("table")?"table":"text"},_applyStylesToTextContext:function(a, +b,d){var e=CKEDITOR.plugins.copyformatting,c=e.excludedAttributesFromInlineTransform,f,g;CKEDITOR.env.webkit&&!CKEDITOR.env.chrome&&a.getSelection().selectRanges([b]);for(f=0;f<d.length;f++)if(b=d[f],-1===l(e.excludedElementsFromInlineTransform,b.element)){if(-1!==l(e.elementsForInlineTransform,b.element))for(b.element=b._.definition.element="span",g=0;g<c.length;g++)b._.definition.attributes[c[g]]&&delete b._.definition.attributes[c[g]];b.apply(a)}},_applyStylesToListContext:function(a,b,d){var e, +c,f;for(f=0;f<d.length;f++)e=d[f],c=b.createBookmark(),"ol"===e.element||"ul"===e.element?k(b,{ul:1,ol:1},function(a){var b=e;a.getName()!==b.element&&a.renameNode(b.element);b.applyToObject(a)},!0):"li"===e.element?k(b,"li",function(a){e.applyToObject(a)}):CKEDITOR.plugins.copyformatting._applyStylesToTextContext(a,b,[e]),b.moveToBookmark(c)},_applyStylesToTableContext:function(a,b,d){function e(a,b){a.getName()!==b.element&&(b=b.getDefinition(),b.element=a.getName(),b=new CKEDITOR.style(b));b.applyToObject(a)} +var c,f,g;for(g=0;g<d.length;g++)c=d[g],f=b.createBookmark(),-1!==l(["table","tr"],c.element)?k(b,c.element,function(a){c.applyToObject(a)}):-1!==l(["td","th"],c.element)?k(b,{td:1,th:1},function(a){e(a,c)}):-1!==l(["thead","tbody"],c.element)?k(b,{thead:1,tbody:1},function(a){e(a,c)}):CKEDITOR.plugins.copyformatting._applyStylesToTextContext(a,b,[c]),b.moveToBookmark(f)},_applyFormat:function(a,b){var d=a.getSelection().getRanges()[0],e=CKEDITOR.plugins.copyformatting,c,f;if(!d)return!1;if(d.collapsed){f= +a.getSelection().createBookmarks();if(!(c=e._getSelectedWordOffset(d)))return;d=a.createRange();d.setStart(c.startNode,c.startOffset);d.setEnd(c.endNode,c.endOffset);d.select()}b=e._filterStyles(b);if(!a.copyFormatting.fire("applyFormatting",{styles:b,range:d,preventFormatStripping:!1},a))return!1;f&&a.getSelection().selectBookmarks(f);return!0},_putScreenReaderMessage:function(a,b){var d=this._getScreenReaderContainer();d&&d.setText(a.lang.copyformatting.notification[b])},_addScreenReaderContainer:function(){if(this._getScreenReaderContainer())return this._getScreenReaderContainer(); +if(!CKEDITOR.env.ie6Compat&&!CKEDITOR.env.ie7Compat)return CKEDITOR.document.getBody().append(CKEDITOR.dom.element.createFromHtml('\x3cdiv class\x3d"cke_screen_reader_only cke_copyformatting_notification"\x3e\x3cdiv aria-live\x3d"polite"\x3e\x3c/div\x3e\x3c/div\x3e')).getChild(0)},_getScreenReaderContainer:function(){if(!CKEDITOR.env.ie6Compat&&!CKEDITOR.env.ie7Compat)return CKEDITOR.document.getBody().findOne(".cke_copyformatting_notification div[aria-live]")},_attachPasteKeystrokeHandler:function(a){var b= +a.config.copyFormatting_keystrokePaste;b&&(this._initialKeystrokePasteCommand=a.keystrokeHandler.keystrokes[b],a.setKeystroke(b,"applyFormatting"))},_detachPasteKeystrokeHandler:function(a){var b=a.config.copyFormatting_keystrokePaste;b&&a.setKeystroke(b,this._initialKeystrokePasteCommand||!1)}};CKEDITOR.config.copyFormatting_outerCursor=!0;CKEDITOR.config.copyFormatting_allowRules="b s u i em strong span p div td th ol ul li(*)[*]{*}";CKEDITOR.config.copyFormatting_disallowRules="*[data-cke-widget*,data-widget*,data-cke-realelement](cke_widget*)"; +CKEDITOR.config.copyFormatting_allowedContexts=!0;CKEDITOR.config.copyFormatting_keystrokeCopy=CKEDITOR.CTRL+CKEDITOR.SHIFT+67;CKEDITOR.config.copyFormatting_keystrokePaste=CKEDITOR.CTRL+CKEDITOR.SHIFT+86})();(function(){CKEDITOR.plugins.add("div",{requires:"dialog",init:function(a){if(!a.blockless){var c=a.lang.div,b="div(*)";CKEDITOR.dialog.isTabEnabled(a,"editdiv","advanced")&&(b+=";div[dir,id,lang,title]{*}");a.addCommand("creatediv",new CKEDITOR.dialogCommand("creatediv",{allowedContent:b,requiredContent:"div",contextSensitive:!0,contentTransformations:[["div: alignmentToStyle"]],refresh:function(a,c){this.setState("div"in(a.config.div_wrapTable?c.root:c.blockLimit).getDtd()?CKEDITOR.TRISTATE_OFF: +CKEDITOR.TRISTATE_DISABLED)}}));a.addCommand("editdiv",new CKEDITOR.dialogCommand("editdiv",{requiredContent:"div"}));a.addCommand("removediv",{requiredContent:"div",exec:function(a){function c(b){(b=CKEDITOR.plugins.div.getSurroundDiv(a,b))&&!b.data("cke-div-added")&&(f.push(b),b.data("cke-div-added"))}for(var b=a.getSelection(),g=b&&b.getRanges(),e,h=b.createBookmarks(),f=[],d=0;d<g.length;d++)e=g[d],e.collapsed?c(b.getStartElement()):(e=new CKEDITOR.dom.walker(e),e.evaluator=c,e.lastForward()); +for(d=0;d<f.length;d++)f[d].remove(!0);b.selectBookmarks(h)}});a.ui.addButton&&a.ui.addButton("CreateDiv",{label:c.toolbar,command:"creatediv",toolbar:"blocks,50"});a.addMenuItems&&(a.addMenuItems({editdiv:{label:c.edit,command:"editdiv",group:"div",order:1},removediv:{label:c.remove,command:"removediv",group:"div",order:5}}),a.contextMenu&&a.contextMenu.addListener(function(b){return!b||b.isReadOnly()?null:CKEDITOR.plugins.div.getSurroundDiv(a)?{editdiv:CKEDITOR.TRISTATE_OFF,removediv:CKEDITOR.TRISTATE_OFF}: +null}));CKEDITOR.dialog.add("creatediv",this.path+"dialogs/div.js");CKEDITOR.dialog.add("editdiv",this.path+"dialogs/div.js")}}});CKEDITOR.plugins.div={getSurroundDiv:function(a,c){var b=a.elementPath(c);return a.elementPath(b.blockLimit).contains(function(a){return a.is("div")&&!a.isReadOnly()},1)}}})();CKEDITOR.plugins.add("resize",{init:function(b){function f(d){var e=c.width,m=c.height,f=e+(d.data.$.screenX-n.x)*("rtl"==g?-1:1);d=m+(d.data.$.screenY-n.y);h&&(e=Math.max(a.resize_minWidth,Math.min(f,a.resize_maxWidth)));p&&(m=Math.max(a.resize_minHeight,Math.min(d,a.resize_maxHeight)));b.resize(h?e:null,m)}function k(){CKEDITOR.document.removeListener("mousemove",f);CKEDITOR.document.removeListener("mouseup",k);b.document&&(b.document.removeListener("mousemove",f),b.document.removeListener("mouseup", +k))}var a=b.config,r=b.ui.spaceId("resizer"),g=b.element?b.element.getDirection(1):"ltr";!a.resize_dir&&(a.resize_dir="vertical");void 0===a.resize_maxWidth&&(a.resize_maxWidth=3E3);void 0===a.resize_maxHeight&&(a.resize_maxHeight=3E3);void 0===a.resize_minWidth&&(a.resize_minWidth=750);void 0===a.resize_minHeight&&(a.resize_minHeight=250);if(!1!==a.resize_enabled){var l=null,n,c,h=("both"==a.resize_dir||"horizontal"==a.resize_dir)&&a.resize_minWidth!=a.resize_maxWidth,p=("both"==a.resize_dir||"vertical"== +a.resize_dir)&&a.resize_minHeight!=a.resize_maxHeight,q=CKEDITOR.tools.addFunction(function(d){l||(l=b.getResizable());c={width:l.$.offsetWidth||0,height:l.$.offsetHeight||0};n={x:d.screenX,y:d.screenY};a.resize_minWidth>c.width&&(a.resize_minWidth=c.width);a.resize_minHeight>c.height&&(a.resize_minHeight=c.height);CKEDITOR.document.on("mousemove",f);CKEDITOR.document.on("mouseup",k);b.document&&(b.document.on("mousemove",f),b.document.on("mouseup",k));d.preventDefault&&d.preventDefault()});b.on("destroy", +function(){CKEDITOR.tools.removeFunction(q)});b.on("uiSpace",function(a){if("bottom"==a.data.space){var e="";h&&!p&&(e=" cke_resizer_horizontal");!h&&p&&(e=" cke_resizer_vertical");var c='\x3cspan id\x3d"'+r+'" class\x3d"cke_resizer'+e+" cke_resizer_"+g+'" title\x3d"'+CKEDITOR.tools.htmlEncode(b.lang.common.resize)+'" onmousedown\x3d"CKEDITOR.tools.callFunction('+q+', event)"\x3e'+("ltr"==g?"◢":"◣")+"\x3c/span\x3e";"ltr"==g&&"ltr"==e?a.data.html+=c:a.data.html=c+a.data.html}},b,null,100);b.on("maximize", +function(a){b.ui.space("resizer")[a.data==CKEDITOR.TRISTATE_ON?"hide":"show"]()})}}});(function(){function q(a,c){function k(b){b=h.list[b];var e;b.equals(a.editable())||"true"==b.getAttribute("contenteditable")?(e=a.createRange(),e.selectNodeContents(b),e=e.select()):(e=a.getSelection(),e.selectElement(b));CKEDITOR.env.ie&&a.fire("selectionChange",{selection:e,path:new CKEDITOR.dom.elementPath(b)});a.focus()}function l(){m&&m.setHtml('\x3cspan class\x3d"cke_path_empty"\x3e\x26nbsp;\x3c/span\x3e');delete h.list}var n=a.ui.spaceId("path"),m,h=a._.elementsPath,q=h.idBase;c.html+='\x3cspan id\x3d"'+ +n+'_label" class\x3d"cke_voice_label"\x3e'+a.lang.elementspath.eleLabel+'\x3c/span\x3e\x3cspan id\x3d"'+n+'" class\x3d"cke_path" role\x3d"group" aria-labelledby\x3d"'+n+'_label"\x3e\x3cspan class\x3d"cke_path_empty"\x3e\x26nbsp;\x3c/span\x3e\x3c/span\x3e';a.on("uiReady",function(){var b=a.ui.space("path");b&&a.focusManager.add(b,1)});h.onClick=k;var v=CKEDITOR.tools.addFunction(k),w=CKEDITOR.tools.addFunction(function(b,e){var g=h.idBase,d;e=new CKEDITOR.dom.event(e);d="rtl"==a.lang.dir;switch(e.getKeystroke()){case d? +39:37:case 9:return(d=CKEDITOR.document.getById(g+(b+1)))||(d=CKEDITOR.document.getById(g+"0")),d.focus(),!1;case d?37:39:case CKEDITOR.SHIFT+9:return(d=CKEDITOR.document.getById(g+(b-1)))||(d=CKEDITOR.document.getById(g+(h.list.length-1))),d.focus(),!1;case 27:return a.focus(),!1;case 13:case 32:return k(b),!1}return!0});a.on("selectionChange",function(b){for(var e=[],g=h.list=[],d=[],c=h.filters,p=!0,k=b.data.path.elements,u=k.length;u--;){var f=k[u],r=0;b=f.data("cke-display-name")?f.data("cke-display-name"): +f.data("cke-real-element-type")?f.data("cke-real-element-type"):f.getName();(p=f.hasAttribute("contenteditable")?"true"==f.getAttribute("contenteditable"):p)||f.hasAttribute("contenteditable")||(r=1);for(var t=0;t<c.length;t++){var l=c[t](f,b);if(!1===l){r=1;break}b=l||b}r||(g.unshift(f),d.unshift(b))}g=g.length;for(c=0;c<g;c++)b=d[c],p=a.lang.elementspath.eleTitle.replace(/%1/,b),b=x.output({id:q+c,label:p,text:b,jsTitle:"javascript:void('"+b+"')",index:c,keyDownFn:w,clickFn:v}),e.unshift(b);m|| +(m=CKEDITOR.document.getById(n));d=m;d.setHtml(e.join("")+'\x3cspan class\x3d"cke_path_empty"\x3e\x26nbsp;\x3c/span\x3e');a.fire("elementsPathUpdate",{space:d})});a.on("readOnly",l);a.on("contentDomUnload",l);a.addCommand("elementsPathFocus",y.toolbarFocus);a.setKeystroke(CKEDITOR.ALT+122,"elementsPathFocus")}var y={toolbarFocus:{editorFocus:!1,readOnly:1,exec:function(a){(a=CKEDITOR.document.getById(a._.elementsPath.idBase+"0"))&&a.focus(CKEDITOR.env.ie||CKEDITOR.env.air)}}},c="";CKEDITOR.env.gecko&& +CKEDITOR.env.mac&&(c+=' onkeypress\x3d"return false;"');CKEDITOR.env.gecko&&(c+=' onblur\x3d"this.style.cssText \x3d this.style.cssText;"');var x=CKEDITOR.addTemplate("pathItem",'\x3ca id\x3d"{id}" href\x3d"{jsTitle}" tabindex\x3d"-1" class\x3d"cke_path_item" title\x3d"{label}"'+c+' hidefocus\x3d"true" onkeydown\x3d"return CKEDITOR.tools.callFunction({keyDownFn},{index}, event );" onclick\x3d"CKEDITOR.tools.callFunction({clickFn},{index}); return false;" role\x3d"button" aria-label\x3d"{label}"\x3e{text}\x3c/a\x3e'); +CKEDITOR.plugins.add("elementspath",{init:function(a){a._.elementsPath={idBase:"cke_elementspath_"+CKEDITOR.tools.getNextNumber()+"_",filters:[]};a.on("uiSpace",function(c){"bottom"==c.data.space&&q(a,c.data)})}})})();(function(){function q(b,d,a){a=b.config.forceEnterMode||a;if("wysiwyg"==b.mode){d||(d=b.activeEnterMode);var h=b.elementPath();h&&!h.isContextFor("p")&&(d=CKEDITOR.ENTER_BR,a=1);b.fire("saveSnapshot");d==CKEDITOR.ENTER_BR?t(b,d,null,a):u(b,d,null,a);b.fire("saveSnapshot")}}function v(b){b=b.getSelection().getRanges(!0);for(var d=b.length-1;0<d;d--)b[d].deleteContents();return b[0]}function y(b){var d=b.startContainer.getAscendant(function(a){return a.type==CKEDITOR.NODE_ELEMENT&&"true"==a.getAttribute("contenteditable")}, +!0);if(b.root.equals(d))return b;d=new CKEDITOR.dom.range(d);d.moveToRange(b);return d}CKEDITOR.plugins.add("enterkey",{init:function(b){b.addCommand("enter",{modes:{wysiwyg:1},editorFocus:!1,exec:function(b){q(b)}});b.addCommand("shiftEnter",{modes:{wysiwyg:1},editorFocus:!1,exec:function(b){q(b,b.activeShiftEnterMode,1)}});b.setKeystroke([[13,"enter"],[CKEDITOR.SHIFT+13,"shiftEnter"]])}});var z=CKEDITOR.dom.walker.whitespaces(),A=CKEDITOR.dom.walker.bookmark();CKEDITOR.plugins.enterkey={enterBlock:function(b, +d,a,h){if(a=a||v(b)){a=y(a);var f=a.document,k=a.checkStartOfBlock(),m=a.checkEndOfBlock(),l=b.elementPath(a.startContainer),c=l.block,n=d==CKEDITOR.ENTER_DIV?"div":"p",e;if(k&&m){if(c&&(c.is("li")||c.getParent().is("li"))){c.is("li")||(c=c.getParent());a=c.getParent();e=a.getParent();h=!c.hasPrevious();var p=!c.hasNext(),n=b.getSelection(),g=n.createBookmarks(),k=c.getDirection(1),m=c.getAttribute("class"),r=c.getAttribute("style"),q=e.getDirection(1)!=k;b=b.enterMode!=CKEDITOR.ENTER_BR||q||r||m; +if(e.is("li"))h||p?(h&&p&&a.remove(),c[p?"insertAfter":"insertBefore"](e)):c.breakParent(e);else{if(b)if(l.block.is("li")?(e=f.createElement(d==CKEDITOR.ENTER_P?"p":"div"),q&&e.setAttribute("dir",k),r&&e.setAttribute("style",r),m&&e.setAttribute("class",m),c.moveChildren(e)):e=l.block,h||p)e[h?"insertBefore":"insertAfter"](a);else c.breakParent(a),e.insertAfter(a);else if(c.appendBogus(!0),h||p)for(;f=c[h?"getFirst":"getLast"]();)f[h?"insertBefore":"insertAfter"](a);else for(c.breakParent(a);f=c.getLast();)f.insertAfter(a); +c.remove()}n.selectBookmarks(g);return}if(c&&c.getParent().is("blockquote")){c.breakParent(c.getParent());c.getPrevious().getFirst(CKEDITOR.dom.walker.invisible(1))||c.getPrevious().remove();c.getNext().getFirst(CKEDITOR.dom.walker.invisible(1))||c.getNext().remove();a.moveToElementEditStart(c);a.select();return}}else if(c&&c.is("pre")&&!m){t(b,d,a,h);return}if(k=a.splitBlock(n)){d=k.previousBlock;c=k.nextBlock;l=k.wasStartOfBlock;b=k.wasEndOfBlock;c?(g=c.getParent(),g.is("li")&&(c.breakParent(g), +c.move(c.getNext(),1))):d&&(g=d.getParent())&&g.is("li")&&(d.breakParent(g),g=d.getNext(),a.moveToElementEditStart(g),d.move(d.getPrevious()));if(l||b){if(d){if(d.is("li")||!w.test(d.getName())&&!d.is("pre"))e=d.clone()}else c&&(e=c.clone());e?h&&!e.is("li")&&e.renameNode(n):g&&g.is("li")?e=g:(e=f.createElement(n),d&&(p=d.getDirection())&&e.setAttribute("dir",p));if(f=k.elementPath)for(h=0,n=f.elements.length;h<n;h++){g=f.elements[h];if(g.equals(f.block)||g.equals(f.blockLimit))break;CKEDITOR.dtd.$removeEmpty[g.getName()]&& +(g=g.clone(),e.moveChildren(g),e.append(g))}e.appendBogus();e.getParent()||a.insertNode(e);e.is("li")&&e.removeAttribute("value");!CKEDITOR.env.ie||!l||b&&d.getChildCount()||(a.moveToElementEditStart(b?d:e),a.select());a.moveToElementEditStart(l&&!b?c:e)}else c.is("li")&&(e=a.clone(),e.selectNodeContents(c),e=new CKEDITOR.dom.walker(e),e.evaluator=function(a){return!(A(a)||z(a)||a.type==CKEDITOR.NODE_ELEMENT&&a.getName()in CKEDITOR.dtd.$inline&&!(a.getName()in CKEDITOR.dtd.$empty))},(g=e.next())&& +g.type==CKEDITOR.NODE_ELEMENT&&g.is("ul","ol")&&(CKEDITOR.env.needsBrFiller?f.createElement("br"):f.createText(" ")).insertBefore(g)),c&&a.moveToElementEditStart(c);a.select();a.scrollIntoView()}}},enterBr:function(b,d,a,h){if(a=a||v(b)){var f=a.document,k=a.checkEndOfBlock(),m=new CKEDITOR.dom.elementPath(b.getSelection().getStartElement()),l=m.block,c=l&&m.block.getName();h||"li"!=c?(!h&&k&&w.test(c)?(k=l.getDirection())?(f=f.createElement("div"),f.setAttribute("dir",k),f.insertAfter(l),a.setStart(f, +0)):(f.createElement("br").insertAfter(l),CKEDITOR.env.gecko&&f.createText("").insertAfter(l),a.setStartAt(l.getNext(),CKEDITOR.env.ie?CKEDITOR.POSITION_BEFORE_START:CKEDITOR.POSITION_AFTER_START)):(b="pre"==c&&CKEDITOR.env.ie&&8>CKEDITOR.env.version?f.createText("\r"):f.createElement("br"),a.deleteContents(),a.insertNode(b),CKEDITOR.env.needsBrFiller?(f.createText("").insertAfter(b),k&&(l||m.blockLimit).appendBogus(),b.getNext().$.nodeValue="",a.setStartAt(b.getNext(),CKEDITOR.POSITION_AFTER_START)): +a.setStartAt(b,CKEDITOR.POSITION_AFTER_END)),a.collapse(!0),a.select(),a.scrollIntoView()):u(b,d,a,h)}}};var x=CKEDITOR.plugins.enterkey,t=x.enterBr,u=x.enterBlock,w=/^h[1-6]$/})();(function(){function k(b,f){var g={},c=[],e={nbsp:" ",shy:"­",gt:"\x3e",lt:"\x3c",amp:"\x26",apos:"'",quot:'"'};b=b.replace(/\b(nbsp|shy|gt|lt|amp|apos|quot)(?:,|$)/g,function(b,a){var d=f?"\x26"+a+";":e[a];g[d]=f?e[a]:"\x26"+a+";";c.push(d);return""});if(!f&&b){b=b.split(",");var a=document.createElement("div"),d;a.innerHTML="\x26"+b.join(";\x26")+";";d=a.innerHTML;a=null;for(a=0;a<d.length;a++){var h=d.charAt(a);g[h]="\x26"+b[a]+";";c.push(h)}}g.regex=c.join(f?"|":"");return g}CKEDITOR.plugins.add("entities", +{afterInit:function(b){function f(a){return h[a]}function g(b){return"force"!=c.entities_processNumerical&&a[b]?a[b]:"\x26#"+b.charCodeAt(0)+";"}var c=b.config;if(b=(b=b.dataProcessor)&&b.htmlFilter){var e=[];!1!==c.basicEntities&&e.push("nbsp,gt,lt,amp");c.entities&&(e.length&&e.push("quot,iexcl,cent,pound,curren,yen,brvbar,sect,uml,copy,ordf,laquo,not,shy,reg,macr,deg,plusmn,sup2,sup3,acute,micro,para,middot,cedil,sup1,ordm,raquo,frac14,frac12,frac34,iquest,times,divide,fnof,bull,hellip,prime,Prime,oline,frasl,weierp,image,real,trade,alefsym,larr,uarr,rarr,darr,harr,crarr,lArr,uArr,rArr,dArr,hArr,forall,part,exist,empty,nabla,isin,notin,ni,prod,sum,minus,lowast,radic,prop,infin,ang,and,or,cap,cup,int,there4,sim,cong,asymp,ne,equiv,le,ge,sub,sup,nsub,sube,supe,oplus,otimes,perp,sdot,lceil,rceil,lfloor,rfloor,lang,rang,loz,spades,clubs,hearts,diams,circ,tilde,ensp,emsp,thinsp,zwnj,zwj,lrm,rlm,ndash,mdash,lsquo,rsquo,sbquo,ldquo,rdquo,bdquo,dagger,Dagger,permil,lsaquo,rsaquo,euro"), +c.entities_latin&&e.push("Agrave,Aacute,Acirc,Atilde,Auml,Aring,AElig,Ccedil,Egrave,Eacute,Ecirc,Euml,Igrave,Iacute,Icirc,Iuml,ETH,Ntilde,Ograve,Oacute,Ocirc,Otilde,Ouml,Oslash,Ugrave,Uacute,Ucirc,Uuml,Yacute,THORN,szlig,agrave,aacute,acirc,atilde,auml,aring,aelig,ccedil,egrave,eacute,ecirc,euml,igrave,iacute,icirc,iuml,eth,ntilde,ograve,oacute,ocirc,otilde,ouml,oslash,ugrave,uacute,ucirc,uuml,yacute,thorn,yuml,OElig,oelig,Scaron,scaron,Yuml"),c.entities_greek&&e.push("Alpha,Beta,Gamma,Delta,Epsilon,Zeta,Eta,Theta,Iota,Kappa,Lambda,Mu,Nu,Xi,Omicron,Pi,Rho,Sigma,Tau,Upsilon,Phi,Chi,Psi,Omega,alpha,beta,gamma,delta,epsilon,zeta,eta,theta,iota,kappa,lambda,mu,nu,xi,omicron,pi,rho,sigmaf,sigma,tau,upsilon,phi,chi,psi,omega,thetasym,upsih,piv"), +c.entities_additional&&e.push(c.entities_additional));var a=k(e.join(",")),d=a.regex?"["+a.regex+"]":"a^";delete a.regex;c.entities&&c.entities_processNumerical&&(d="[^ -~]|"+d);var d=new RegExp(d,"g"),h=k("nbsp,gt,lt,amp,shy",!0),l=new RegExp(h.regex,"g");b.addRules({text:function(a){return a.replace(l,f).replace(d,g)}},{applyToAll:!0,excludeNestedEditable:!0})}}})})();CKEDITOR.config.basicEntities=!0;CKEDITOR.config.entities=!0;CKEDITOR.config.entities_latin=!0;CKEDITOR.config.entities_greek=!0; +CKEDITOR.config.entities_additional="#39";CKEDITOR.plugins.add("popup"); +CKEDITOR.tools.extend(CKEDITOR.editor.prototype,{popup:function(e,a,b,d){a=a||"80%";b=b||"70%";"string"==typeof a&&1<a.length&&"%"==a.substr(a.length-1,1)&&(a=parseInt(window.screen.width*parseInt(a,10)/100,10));"string"==typeof b&&1<b.length&&"%"==b.substr(b.length-1,1)&&(b=parseInt(window.screen.height*parseInt(b,10)/100,10));640>a&&(a=640);420>b&&(b=420);var f=parseInt((window.screen.height-b)/2,10),g=parseInt((window.screen.width-a)/2,10);d=(d||"location\x3dno,menubar\x3dno,toolbar\x3dno,dependent\x3dyes,minimizable\x3dno,modal\x3dyes,alwaysRaised\x3dyes,resizable\x3dyes,scrollbars\x3dyes")+",width\x3d"+ +a+",height\x3d"+b+",top\x3d"+f+",left\x3d"+g;var c=window.open("",null,d,!0);if(!c)return!1;try{-1==navigator.userAgent.toLowerCase().indexOf(" chrome/")&&(c.moveTo(g,f),c.resizeTo(a,b)),c.focus(),c.location.href=e}catch(h){window.open(e,null,d,!0)}return!0}});(function(){function k(a){this.editor=a;this.loaders=[]}function l(a,c,b){var d=a.config.fileTools_defaultFileName;this.editor=a;this.lang=a.lang;"string"===typeof c?(this.data=c,this.file=n(this.data),this.loaded=this.total=this.file.size):(this.data=null,this.file=c,this.total=this.file.size,this.loaded=0);b?this.fileName=b:this.file.name?this.fileName=this.file.name:(a=this.file.type.split("/"),d&&(a[0]=d),this.fileName=a.join("."));this.uploaded=0;this.responseData=this.uploadTotal=null;this.status= +"created";this.abort=function(){this.changeStatus("abort")}}function n(a){var c=a.match(m)[1];a=a.replace(m,"");a=atob(a);var b=[],d,f,g,e;for(d=0;d<a.length;d+=512){f=a.slice(d,d+512);g=Array(f.length);for(e=0;e<f.length;e++)g[e]=f.charCodeAt(e);f=new Uint8Array(g);b.push(f)}return new Blob(b,{type:c})}CKEDITOR.plugins.add("filetools",{beforeInit:function(a){a.uploadRepository=new k(a);a.on("fileUploadRequest",function(a){var b=a.data.fileLoader;b.xhr.open("POST",b.uploadUrl,!0);a.data.requestData.upload= +{file:b.file,name:b.fileName}},null,null,5);a.on("fileUploadRequest",function(c){var b=c.data.fileLoader,d=new FormData;c=c.data.requestData;var f=a.config.fileTools_requestHeaders,g,e;for(e in c){var h=c[e];"object"===typeof h&&h.file?d.append(e,h.file,h.name):d.append(e,h)}d.append("ckCsrfToken",CKEDITOR.tools.getCsrfToken());if(f)for(g in f)b.xhr.setRequestHeader(g,f[g]);b.xhr.send(d)},null,null,999);a.on("fileUploadResponse",function(a){var b=a.data.fileLoader,d=b.xhr,f=a.data;try{var g=JSON.parse(d.responseText); +g.error&&g.error.message&&(f.message=g.error.message);if(g.uploaded)for(var e in g)f[e]=g[e];else a.cancel()}catch(h){f.message=b.lang.filetools.responseError,CKEDITOR.warn("filetools-response-error",{responseText:d.responseText}),a.cancel()}},null,null,999)}});k.prototype={create:function(a,c,b){b=b||l;var d=this.loaders.length;a=new b(this.editor,a,c);a.id=d;this.loaders[d]=a;this.fire("instanceCreated",a);return a},isFinished:function(){for(var a=0;a<this.loaders.length;++a)if(!this.loaders[a].isFinished())return!1; +return!0}};l.prototype={loadAndUpload:function(a,c){var b=this;this.once("loaded",function(d){d.cancel();b.once("update",function(a){a.cancel()},null,null,0);b.upload(a,c)},null,null,0);this.load()},load:function(){var a=this,c=this.reader=new FileReader;a.changeStatus("loading");this.abort=function(){a.reader.abort()};c.onabort=function(){a.changeStatus("abort")};c.onerror=function(){a.message=a.lang.filetools.loadError;a.changeStatus("error")};c.onprogress=function(b){a.loaded=b.loaded;a.update()}; +c.onload=function(){a.loaded=a.total;a.data=c.result;a.changeStatus("loaded")};c.readAsDataURL(this.file)},upload:function(a,c){var b=c||{};a?(this.uploadUrl=a,this.xhr=new XMLHttpRequest,this.attachRequestListeners(),this.editor.fire("fileUploadRequest",{fileLoader:this,requestData:b})&&this.changeStatus("uploading")):(this.message=this.lang.filetools.noUrlError,this.changeStatus("error"))},attachRequestListeners:function(){function a(){"error"!=b.status&&(b.message=b.lang.filetools.networkError, +b.changeStatus("error"))}function c(){"abort"!=b.status&&b.changeStatus("abort")}var b=this,d=this.xhr;b.abort=function(){d.abort();c()};d.onerror=a;d.onabort=c;d.upload?(d.upload.onprogress=function(a){a.lengthComputable&&(b.uploadTotal||(b.uploadTotal=a.total),b.uploaded=a.loaded,b.update())},d.upload.onerror=a,d.upload.onabort=c):(b.uploadTotal=b.total,b.update());d.onload=function(){b.update();if("abort"!=b.status)if(b.uploaded=b.uploadTotal,200>d.status||299<d.status)b.message=b.lang.filetools["httpError"+ +d.status],b.message||(b.message=b.lang.filetools.httpError.replace("%1",d.status)),b.changeStatus("error");else{for(var a={fileLoader:b},c=["message","fileName","url"],e=b.editor.fire("fileUploadResponse",a),h=0;h<c.length;h++){var k=c[h];"string"===typeof a[k]&&(b[k]=a[k])}b.responseData=a;delete b.responseData.fileLoader;!1===e?b.changeStatus("error"):b.changeStatus("uploaded")}}},changeStatus:function(a){this.status=a;if("error"==a||"abort"==a||"loaded"==a||"uploaded"==a)this.abort=function(){}; +this.fire(a);this.update()},update:function(){this.fire("update")},isFinished:function(){return!!this.status.match(/^(?:loaded|uploaded|error|abort)$/)}};CKEDITOR.event.implementOn(k.prototype);CKEDITOR.event.implementOn(l.prototype);var m=/^data:(\S*?);base64,/;CKEDITOR.fileTools||(CKEDITOR.fileTools={});CKEDITOR.tools.extend(CKEDITOR.fileTools,{uploadRepository:k,fileLoader:l,getUploadUrl:function(a,c){var b=CKEDITOR.tools.capitalize;return c&&a[c+"UploadUrl"]?a[c+"UploadUrl"]:a.uploadUrl?a.uploadUrl: +c&&a["filebrowser"+b(c,1)+"UploadUrl"]?a["filebrowser"+b(c,1)+"UploadUrl"]+"\x26responseType\x3djson":a.filebrowserUploadUrl?a.filebrowserUploadUrl+"\x26responseType\x3djson":null},isTypeSupported:function(a,c){return!!a.type.match(c)},isFileUploadSupported:"function"===typeof FileReader&&"function"===typeof(new FileReader).readAsDataURL&&"function"===typeof FormData&&"function"===typeof(new FormData).append&&"function"===typeof XMLHttpRequest&&"function"===typeof Blob})})();(function(){function g(a,b){var d=[];if(b)for(var c in b)d.push(c+"\x3d"+encodeURIComponent(b[c]));else return a;return a+(-1!=a.indexOf("?")?"\x26":"?")+d.join("\x26")}function p(a){return!a.match(/command=QuickUpload/)||a.match(/(\?|&)responseType=json/)?a:g(a,{responseType:"json"})}function k(a){a+="";return a.charAt(0).toUpperCase()+a.substr(1)}function q(){var a=this.getDialog(),b=a.getParentEditor();b._.filebrowserSe=this;var d=b.config["filebrowser"+k(a.getName())+"WindowWidth"]||b.config.filebrowserWindowWidth|| +"80%",a=b.config["filebrowser"+k(a.getName())+"WindowHeight"]||b.config.filebrowserWindowHeight||"70%",c=this.filebrowser.params||{};c.CKEditor=b.name;c.CKEditorFuncNum=b._.filebrowserFn;c.langCode||(c.langCode=b.langCode);c=g(this.filebrowser.url,c);b.popup(c,d,a,b.config.filebrowserWindowFeatures||b.config.fileBrowserWindowFeatures)}function r(a){var b=new CKEDITOR.dom.element(a.$.form);b&&((a=b.$.elements.ckCsrfToken)?a=new CKEDITOR.dom.element(a):(a=new CKEDITOR.dom.element("input"),a.setAttributes({name:"ckCsrfToken", +type:"hidden"}),b.append(a)),a.setAttribute("value",CKEDITOR.tools.getCsrfToken()))}function t(){var a=this.getDialog();a.getParentEditor()._.filebrowserSe=this;return a.getContentElement(this["for"][0],this["for"][1]).getInputElement().$.value&&a.getContentElement(this["for"][0],this["for"][1]).getAction()?!0:!1}function u(a,b,d){var c=d.params||{};c.CKEditor=a.name;c.CKEditorFuncNum=a._.filebrowserFn;c.langCode||(c.langCode=a.langCode);b.action=g(d.url,c);b.filebrowser=d}function l(a,b,d,c){if(c&& +c.length)for(var e,g=c.length;g--;)if(e=c[g],"hbox"!=e.type&&"vbox"!=e.type&&"fieldset"!=e.type||l(a,b,d,e.children),e.filebrowser)if("string"==typeof e.filebrowser&&(e.filebrowser={action:"fileButton"==e.type?"QuickUpload":"Browse",target:e.filebrowser}),"Browse"==e.filebrowser.action){var f=e.filebrowser.url;void 0===f&&(f=a.config["filebrowser"+k(b)+"BrowseUrl"],void 0===f&&(f=a.config.filebrowserBrowseUrl));f&&(e.onClick=q,e.filebrowser.url=f,e.hidden=!1)}else if("QuickUpload"==e.filebrowser.action&& +e["for"]&&(f=e.filebrowser.url,void 0===f&&(f=a.config["filebrowser"+k(b)+"UploadUrl"],void 0===f&&(f=a.config.filebrowserUploadUrl)),f)){var h=e.onClick;e.onClick=function(b){var c=b.sender,d=c.getDialog().getContentElement(this["for"][0],this["for"][1]).getInputElement(),e=CKEDITOR.fileTools&&CKEDITOR.fileTools.isFileUploadSupported;if(h&&!1===h.call(c,b))return!1;if(t.call(c,b)){if("form"!==a.config.filebrowserUploadMethod&&e)return b=a.uploadRepository.create(d.$.files[0]),b.on("uploaded",function(a){var b= +a.sender.responseData;m.call(a.sender.editor,b.url,b.message)}),b.on("error",n.bind(this)),b.on("abort",n.bind(this)),b.loadAndUpload(p(f)),"xhr";r(d);return!0}return!1};e.filebrowser.url=f;e.hidden=!1;u(a,d.getContents(e["for"][0]).get(e["for"][1]),e.filebrowser)}}function n(a){var b={};try{b=JSON.parse(a.sender.xhr.response)||{}}catch(d){}this.enable();alert(b.error?b.error.message:a.sender.message)}function h(a,b,d){if(-1!==d.indexOf(";")){d=d.split(";");for(var c=0;c<d.length;c++)if(h(a,b,d[c]))return!0; +return!1}return(a=a.getContents(b).get(d).filebrowser)&&a.url}function m(a,b){var d=this._.filebrowserSe.getDialog(),c=this._.filebrowserSe["for"],e=this._.filebrowserSe.filebrowser.onSelect;c&&d.getContentElement(c[0],c[1]).reset();if("function"!=typeof b||!1!==b.call(this._.filebrowserSe))if(!e||!1!==e.call(this._.filebrowserSe,a,b))if("string"==typeof b&&b&&alert(b),a&&(c=this._.filebrowserSe,d=c.getDialog(),c=c.filebrowser.target||null))if(c=c.split(":"),e=d.getContentElement(c[0],c[1]))e.setValue(a), +d.selectPage(c[0])}CKEDITOR.plugins.add("filebrowser",{requires:"popup,filetools",init:function(a){a._.filebrowserFn=CKEDITOR.tools.addFunction(m,a);a.on("destroy",function(){CKEDITOR.tools.removeFunction(this._.filebrowserFn)})}});CKEDITOR.on("dialogDefinition",function(a){if(a.editor.plugins.filebrowser)for(var b=a.data.definition,d,c=0;c<b.contents.length;++c)if(d=b.contents[c])l(a.editor,a.data.name,b,d.elements),d.hidden&&d.filebrowser&&(d.hidden=!h(b,d.id,d.filebrowser))})})();CKEDITOR.plugins.add("find",{requires:"dialog",init:function(a){var b=a.addCommand("find",new CKEDITOR.dialogCommand("find"));b.canUndo=!1;b.readOnly=1;a.addCommand("replace",new CKEDITOR.dialogCommand("replace")).canUndo=!1;a.ui.addButton&&(a.ui.addButton("Find",{label:a.lang.find.find,command:"find",toolbar:"find,10"}),a.ui.addButton("Replace",{label:a.lang.find.replace,command:"replace",toolbar:"find,20"}));CKEDITOR.dialog.add("find",this.path+"dialogs/find.js");CKEDITOR.dialog.add("replace",this.path+ +"dialogs/find.js")}});CKEDITOR.config.find_highlight={element:"span",styles:{"background-color":"#004",color:"#fff"}};(function(){function g(a,b){var c=l.exec(a),d=l.exec(b);if(c){if(!c[2]&&"px"==d[2])return d[1];if("px"==c[2]&&!d[2])return d[1]+"px"}return b}var k=CKEDITOR.htmlParser.cssStyle,h=CKEDITOR.tools.cssLength,l=/^((?:\d*(?:\.\d+))|(?:\d+))(.*)?$/i,m={elements:{$:function(a){var b=a.attributes;if((b=(b=(b=b&&b["data-cke-realelement"])&&new CKEDITOR.htmlParser.fragment.fromHtml(decodeURIComponent(b)))&&b.children[0])&&a.attributes["data-cke-resizable"]){var c=(new k(a)).rules;a=b.attributes;var d=c.width, +c=c.height;d&&(a.width=g(a.width,d));c&&(a.height=g(a.height,c))}return b}}};CKEDITOR.plugins.add("fakeobjects",{init:function(a){a.filter.allow("img[!data-cke-realelement,src,alt,title](*){*}","fakeobjects")},afterInit:function(a){(a=(a=a.dataProcessor)&&a.htmlFilter)&&a.addRules(m,{applyToAll:!0})}});CKEDITOR.editor.prototype.createFakeElement=function(a,b,c,d){var e=this.lang.fakeobjects,e=e[c]||e.unknown;b={"class":b,"data-cke-realelement":encodeURIComponent(a.getOuterHtml()),"data-cke-real-node-type":a.type, +alt:e,title:e,align:a.getAttribute("align")||""};CKEDITOR.env.hc||(b.src=CKEDITOR.tools.transparentImageData);c&&(b["data-cke-real-element-type"]=c);d&&(b["data-cke-resizable"]=d,c=new k,d=a.getAttribute("width"),a=a.getAttribute("height"),d&&(c.rules.width=h(d)),a&&(c.rules.height=h(a)),c.populate(b));return this.document.createElement("img",{attributes:b})};CKEDITOR.editor.prototype.createFakeParserElement=function(a,b,c,d){var e=this.lang.fakeobjects,e=e[c]||e.unknown,f;f=new CKEDITOR.htmlParser.basicWriter; +a.writeHtml(f);f=f.getHtml();b={"class":b,"data-cke-realelement":encodeURIComponent(f),"data-cke-real-node-type":a.type,alt:e,title:e,align:a.attributes.align||""};CKEDITOR.env.hc||(b.src=CKEDITOR.tools.transparentImageData);c&&(b["data-cke-real-element-type"]=c);d&&(b["data-cke-resizable"]=d,d=a.attributes,a=new k,c=d.width,d=d.height,void 0!==c&&(a.rules.width=h(c)),void 0!==d&&(a.rules.height=h(d)),a.populate(b));return new CKEDITOR.htmlParser.element("img",b)};CKEDITOR.editor.prototype.restoreRealElement= +function(a){if(a.data("cke-real-node-type")!=CKEDITOR.NODE_ELEMENT)return null;var b=CKEDITOR.dom.element.createFromHtml(decodeURIComponent(a.data("cke-realelement")),this.document);if(a.data("cke-resizable")){var c=a.getStyle("width");a=a.getStyle("height");c&&b.setAttribute("width",g(b.getAttribute("width"),c));a&&b.setAttribute("height",g(b.getAttribute("height"),a))}return b}})();(function(){function d(a){a=a.attributes;return"application/x-shockwave-flash"==a.type||f.test(a.src||"")}function e(a,b){return a.createFakeParserElement(b,"cke_flash","flash",!0)}var f=/\.swf(?:$|\?)/i;CKEDITOR.plugins.add("flash",{requires:"dialog,fakeobjects",onLoad:function(){CKEDITOR.addCss("img.cke_flash{background-image: url("+CKEDITOR.getUrl(this.path+"images/placeholder.png")+");background-position: center center;background-repeat: no-repeat;border: 1px solid #a9a9a9;width: 80px;height: 80px;}")}, +init:function(a){var b="object[classid,codebase,height,hspace,vspace,width];param[name,value];embed[height,hspace,pluginspage,src,type,vspace,width]";CKEDITOR.dialog.isTabEnabled(a,"flash","properties")&&(b+=";object[align]; embed[allowscriptaccess,quality,scale,wmode]");CKEDITOR.dialog.isTabEnabled(a,"flash","advanced")&&(b+=";object[id]{*}; embed[bgcolor]{*}(*)");a.addCommand("flash",new CKEDITOR.dialogCommand("flash",{allowedContent:b,requiredContent:"embed"}));a.ui.addButton&&a.ui.addButton("Flash", +{label:a.lang.common.flash,command:"flash",toolbar:"insert,20"});CKEDITOR.dialog.add("flash",this.path+"dialogs/flash.js");a.addMenuItems&&a.addMenuItems({flash:{label:a.lang.flash.properties,command:"flash",group:"flash"}});a.on("doubleclick",function(a){var b=a.data.element;b.is("img")&&"flash"==b.data("cke-real-element-type")&&(a.data.dialog="flash")});a.contextMenu&&a.contextMenu.addListener(function(a){if(a&&a.is("img")&&!a.isReadOnly()&&"flash"==a.data("cke-real-element-type"))return{flash:CKEDITOR.TRISTATE_OFF}})}, +afterInit:function(a){var b=a.dataProcessor;(b=b&&b.dataFilter)&&b.addRules({elements:{"cke:object":function(b){var c=b.attributes;if(!(c.classid&&String(c.classid).toLowerCase()||d(b))){for(c=0;c<b.children.length;c++)if("cke:embed"==b.children[c].name){if(!d(b.children[c]))break;return e(a,b)}return null}return e(a,b)},"cke:embed":function(b){return d(b)?e(a,b):null}}},5)}})})();CKEDITOR.tools.extend(CKEDITOR.config,{flashEmbedTagOnly:!1,flashAddEmbedTag:!0,flashConvertOnEdit:!1});(function(){function k(a){var l=a.config,p=a.fire("uiSpace",{space:"top",html:""}).html,t=function(){function f(a,c,e){b.setStyle(c,w(e));b.setStyle("position",a)}function e(a){var b=k.getDocumentPosition();switch(a){case "top":f("absolute","top",b.y-q-r);break;case "pin":f("fixed","top",x);break;case "bottom":f("absolute","top",b.y+(c.height||c.bottom-c.top)+r)}m=a}var m,k,n,c,h,q,v,p=l.floatSpaceDockedOffsetX||0,r=l.floatSpaceDockedOffsetY||0,u=l.floatSpacePinnedOffsetX||0,x=l.floatSpacePinnedOffsetY|| +0;return function(d){if(k=a.editable()){var f=d&&"focus"==d.name;f&&b.show();a.fire("floatingSpaceLayout",{show:f});b.removeStyle("left");b.removeStyle("right");n=b.getClientRect();c=k.getClientRect();h=g.getViewPaneSize();q=n.height;v="pageXOffset"in g.$?g.$.pageXOffset:CKEDITOR.document.$.documentElement.scrollLeft;m?(q+r<=c.top?e("top"):q+r>h.height-c.bottom?e("pin"):e("bottom"),d=h.width/2,d=l.floatSpacePreferRight?"right":0<c.left&&c.right<h.width&&c.width>n.width?"rtl"==l.contentsLangDirection? +"right":"left":d-c.left>c.right-d?"left":"right",n.width>h.width?(d="left",f=0):(f="left"==d?0<c.left?c.left:0:c.right<h.width?h.width-c.right:0,f+n.width>h.width&&(d="left"==d?"right":"left",f=0)),b.setStyle(d,w(("pin"==m?u:p)+f+("pin"==m?0:"left"==d?v:-v)))):(m="pin",e("pin"),t(d))}}}();if(p){var k=new CKEDITOR.template('\x3cdiv id\x3d"cke_{name}" class\x3d"cke {id} cke_reset_all cke_chrome cke_editor_{name} cke_float cke_{langDir} '+CKEDITOR.env.cssClass+'" dir\x3d"{langDir}" title\x3d"'+(CKEDITOR.env.gecko? +" ":"")+'" lang\x3d"{langCode}" role\x3d"application" style\x3d"{style}"'+(a.title?' aria-labelledby\x3d"cke_{name}_arialbl"':" ")+"\x3e"+(a.title?'\x3cspan id\x3d"cke_{name}_arialbl" class\x3d"cke_voice_label"\x3e{voiceLabel}\x3c/span\x3e':" ")+'\x3cdiv class\x3d"cke_inner"\x3e\x3cdiv id\x3d"{topId}" class\x3d"cke_top" role\x3d"presentation"\x3e{content}\x3c/div\x3e\x3c/div\x3e\x3c/div\x3e'),b=CKEDITOR.document.getBody().append(CKEDITOR.dom.element.createFromHtml(k.output({content:p,id:a.id,langDir:a.lang.dir, +langCode:a.langCode,name:a.name,style:"display:none;z-index:"+(l.baseFloatZIndex-1),topId:a.ui.spaceId("top"),voiceLabel:a.title}))),u=CKEDITOR.tools.eventsBuffer(500,t),e=CKEDITOR.tools.eventsBuffer(100,t);b.unselectable();b.on("mousedown",function(a){a=a.data;a.getTarget().hasAscendant("a",1)||a.preventDefault()});a.on("focus",function(b){t(b);a.on("change",u.input);g.on("scroll",e.input);g.on("resize",e.input)});a.on("blur",function(){b.hide();a.removeListener("change",u.input);g.removeListener("scroll", +e.input);g.removeListener("resize",e.input)});a.on("destroy",function(){g.removeListener("scroll",e.input);g.removeListener("resize",e.input);b.clearCustomData();b.remove()});a.focusManager.hasFocus&&b.show();a.focusManager.add(b,1)}}var g=CKEDITOR.document.getWindow(),w=CKEDITOR.tools.cssLength;CKEDITOR.plugins.add("floatingspace",{init:function(a){a.on("loaded",function(){k(this)},null,null,20)}})})();CKEDITOR.plugins.add("listblock",{requires:"panel",onLoad:function(){var f=CKEDITOR.addTemplate("panel-list",'\x3cul role\x3d"presentation" class\x3d"cke_panel_list"\x3e{items}\x3c/ul\x3e'),g=CKEDITOR.addTemplate("panel-list-item",'\x3cli id\x3d"{id}" class\x3d"cke_panel_listItem" role\x3dpresentation\x3e\x3ca id\x3d"{id}_option" _cke_focus\x3d1 hidefocus\x3dtrue title\x3d"{title}" href\x3d"javascript:void(\'{val}\')" {onclick}\x3d"CKEDITOR.tools.callFunction({clickFn},\'{val}\'); return false;" role\x3d"option"\x3e{text}\x3c/a\x3e\x3c/li\x3e'), +h=CKEDITOR.addTemplate("panel-list-group",'\x3ch1 id\x3d"{id}" class\x3d"cke_panel_grouptitle" role\x3d"presentation" \x3e{label}\x3c/h1\x3e'),k=/\'/g;CKEDITOR.ui.panel.prototype.addListBlock=function(a,b){return this.addBlock(a,new CKEDITOR.ui.listBlock(this.getHolderElement(),b))};CKEDITOR.ui.listBlock=CKEDITOR.tools.createClass({base:CKEDITOR.ui.panel.block,$:function(a,b){b=b||{};var c=b.attributes||(b.attributes={});(this.multiSelect=!!b.multiSelect)&&(c["aria-multiselectable"]=!0);!c.role&& +(c.role="listbox");this.base.apply(this,arguments);this.element.setAttribute("role",c.role);c=this.keys;c[40]="next";c[9]="next";c[38]="prev";c[CKEDITOR.SHIFT+9]="prev";c[32]=CKEDITOR.env.ie?"mouseup":"click";CKEDITOR.env.ie&&(c[13]="mouseup");this._.pendingHtml=[];this._.pendingList=[];this._.items={};this._.groups={}},_:{close:function(){if(this._.started){var a=f.output({items:this._.pendingList.join("")});this._.pendingList=[];this._.pendingHtml.push(a);delete this._.started}},getClick:function(){this._.click|| +(this._.click=CKEDITOR.tools.addFunction(function(a){var b=this.toggle(a);if(this.onClick)this.onClick(a,b)},this));return this._.click}},proto:{add:function(a,b,c){var d=CKEDITOR.tools.getNextId();this._.started||(this._.started=1,this._.size=this._.size||0);this._.items[a]=d;var e;e=CKEDITOR.tools.htmlEncodeAttr(a).replace(k,"\\'");a={id:d,val:e,onclick:CKEDITOR.env.ie?'onclick\x3d"return false;" onmouseup':"onclick",clickFn:this._.getClick(),title:CKEDITOR.tools.htmlEncodeAttr(c||a),text:b||a}; +this._.pendingList.push(g.output(a))},startGroup:function(a){this._.close();var b=CKEDITOR.tools.getNextId();this._.groups[a]=b;this._.pendingHtml.push(h.output({id:b,label:a}))},commit:function(){this._.close();this.element.appendHtml(this._.pendingHtml.join(""));delete this._.size;this._.pendingHtml=[]},toggle:function(a){var b=this.isMarked(a);b?this.unmark(a):this.mark(a);return!b},hideGroup:function(a){var b=(a=this.element.getDocument().getById(this._.groups[a]))&&a.getNext();a&&(a.setStyle("display", +"none"),b&&"ul"==b.getName()&&b.setStyle("display","none"))},hideItem:function(a){this.element.getDocument().getById(this._.items[a]).setStyle("display","none")},showAll:function(){var a=this._.items,b=this._.groups,c=this.element.getDocument(),d;for(d in a)c.getById(a[d]).setStyle("display","");for(var e in b)a=c.getById(b[e]),d=a.getNext(),a.setStyle("display",""),d&&"ul"==d.getName()&&d.setStyle("display","")},mark:function(a){this.multiSelect||this.unmarkAll();a=this._.items[a];var b=this.element.getDocument().getById(a); +b.addClass("cke_selected");this.element.getDocument().getById(a+"_option").setAttribute("aria-selected",!0);this.onMark&&this.onMark(b)},markFirstDisplayed:function(){var a=this;this._.markFirstDisplayed(function(){a.multiSelect||a.unmarkAll()})},unmark:function(a){var b=this.element.getDocument();a=this._.items[a];var c=b.getById(a);c.removeClass("cke_selected");b.getById(a+"_option").removeAttribute("aria-selected");this.onUnmark&&this.onUnmark(c)},unmarkAll:function(){var a=this._.items,b=this.element.getDocument(), +c;for(c in a){var d=a[c];b.getById(d).removeClass("cke_selected");b.getById(d+"_option").removeAttribute("aria-selected")}this.onUnmark&&this.onUnmark()},isMarked:function(a){return this.element.getDocument().getById(this._.items[a]).hasClass("cke_selected")},focus:function(a){this._.focusIndex=-1;var b=this.element.getElementsByTag("a"),c,d=-1;if(a)for(c=this.element.getDocument().getById(this._.items[a]).getFirst();a=b.getItem(++d);){if(a.equals(c)){this._.focusIndex=d;break}}else this.element.focus(); +c&&setTimeout(function(){c.focus()},0)}}})}});CKEDITOR.plugins.add("richcombo",{requires:"floatpanel,listblock,button",beforeInit:function(c){c.ui.addHandler(CKEDITOR.UI_RICHCOMBO,CKEDITOR.ui.richCombo.handler)}}); +(function(){var c='\x3cspan id\x3d"{id}" class\x3d"cke_combo cke_combo__{name} {cls}" role\x3d"presentation"\x3e\x3cspan id\x3d"{id}_label" class\x3d"cke_combo_label"\x3e{label}\x3c/span\x3e\x3ca class\x3d"cke_combo_button" title\x3d"{title}" tabindex\x3d"-1"'+(CKEDITOR.env.gecko&&!CKEDITOR.env.hc?"":" href\x3d\"javascript:void('{titleJs}')\"")+' hidefocus\x3d"true" role\x3d"button" aria-labelledby\x3d"{id}_label" aria-haspopup\x3d"true"';CKEDITOR.env.gecko&&CKEDITOR.env.mac&&(c+=' onkeypress\x3d"return false;"'); +CKEDITOR.env.gecko&&(c+=' onblur\x3d"this.style.cssText \x3d this.style.cssText;"');var c=c+(' onkeydown\x3d"return CKEDITOR.tools.callFunction({keydownFn},event,this);" onfocus\x3d"return CKEDITOR.tools.callFunction({focusFn},event);" '+(CKEDITOR.env.ie?'onclick\x3d"return false;" onmouseup':"onclick")+'\x3d"CKEDITOR.tools.callFunction({clickFn},this);return false;"\x3e\x3cspan id\x3d"{id}_text" class\x3d"cke_combo_text cke_combo_inlinelabel"\x3e{label}\x3c/span\x3e\x3cspan class\x3d"cke_combo_open"\x3e\x3cspan class\x3d"cke_combo_arrow"\x3e'+ +(CKEDITOR.env.hc?"\x26#9660;":CKEDITOR.env.air?"\x26nbsp;":"")+"\x3c/span\x3e\x3c/span\x3e\x3c/a\x3e\x3c/span\x3e"),k=CKEDITOR.addTemplate("combo",c);CKEDITOR.UI_RICHCOMBO="richcombo";CKEDITOR.ui.richCombo=CKEDITOR.tools.createClass({$:function(a){CKEDITOR.tools.extend(this,a,{canGroup:!1,title:a.label,modes:{wysiwyg:1},editorFocus:1});a=this.panel||{};delete this.panel;this.id=CKEDITOR.tools.getNextNumber();this.document=a.parent&&a.parent.getDocument()||CKEDITOR.document;a.className="cke_combopanel"; +a.block={multiSelect:a.multiSelect,attributes:a.attributes};a.toolbarRelated=!0;this._={panelDefinition:a,items:{}}},proto:{renderHtml:function(a){var b=[];this.render(a,b);return b.join("")},render:function(a,b){function f(){if(this.getState()!=CKEDITOR.TRISTATE_ON){var b=this.modes[a.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED;a.readOnly&&!this.readOnly&&(b=CKEDITOR.TRISTATE_DISABLED);this.setState(b);this.setValue("");b!=CKEDITOR.TRISTATE_DISABLED&&this.refresh&&this.refresh()}}var c= +CKEDITOR.env,h="cke_"+this.id,e=CKEDITOR.tools.addFunction(function(b){l&&(a.unlockSelection(1),l=0);g.execute(b)},this),d=this,g={id:h,combo:this,focus:function(){CKEDITOR.document.getById(h).getChild(1).focus()},execute:function(b){var c=d._;if(c.state!=CKEDITOR.TRISTATE_DISABLED)if(d.createPanel(a),c.on)c.panel.hide();else{d.commit();var f=d.getValue();f?c.list.mark(f):c.list.unmarkAll();c.panel.showBlock(d.id,new CKEDITOR.dom.element(b),4)}},clickFn:e};a.on("activeFilterChange",f,this);a.on("mode", +f,this);a.on("selectionChange",f,this);!this.readOnly&&a.on("readOnly",f,this);var m=CKEDITOR.tools.addFunction(function(a,b){a=new CKEDITOR.dom.event(a);var d=a.getKeystroke();switch(d){case 13:case 32:case 40:CKEDITOR.tools.callFunction(e,b);break;default:g.onkey(g,d)}a.preventDefault()}),n=CKEDITOR.tools.addFunction(function(){g.onfocus&&g.onfocus()}),l=0;g.keyDownFn=m;c={id:h,name:this.name||this.command,label:this.label,title:this.title,cls:this.className||"",titleJs:c.gecko&&!c.hc?"":(this.title|| +"").replace("'",""),keydownFn:m,focusFn:n,clickFn:e};k.output(c,b);if(this.onRender)this.onRender();return g},createPanel:function(a){if(!this._.panel){var b=this._.panelDefinition,c=this._.panelDefinition.block,k=b.parent||CKEDITOR.document.getBody(),h="cke_combopanel__"+this.name,e=new CKEDITOR.ui.floatPanel(a,k,b),b=e.addListBlock(this.id,c),d=this;e.onShow=function(){this.element.addClass(h);d.setState(CKEDITOR.TRISTATE_ON);d._.on=1;d.editorFocus&&!a.focusManager.hasFocus&&a.focus();if(d.onOpen)d.onOpen()}; +e.onHide=function(b){this.element.removeClass(h);d.setState(d.modes&&d.modes[a.mode]?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED);d._.on=0;if(!b&&d.onClose)d.onClose()};e.onEscape=function(){e.hide(1)};b.onClick=function(a,b){d.onClick&&d.onClick.call(d,a,b);e.hide()};this._.panel=e;this._.list=b;e.getBlock(this.id).onHide=function(){d._.on=0;d.setState(CKEDITOR.TRISTATE_OFF)};this.init&&this.init()}},setValue:function(a,b){this._.value=a;var c=this.document.getById("cke_"+this.id+"_text");c&& +(a||b?c.removeClass("cke_combo_inlinelabel"):(b=this.label,c.addClass("cke_combo_inlinelabel")),c.setText("undefined"!=typeof b?b:a))},getValue:function(){return this._.value||""},unmarkAll:function(){this._.list.unmarkAll()},mark:function(a){this._.list.mark(a)},hideItem:function(a){this._.list.hideItem(a)},hideGroup:function(a){this._.list.hideGroup(a)},showAll:function(){this._.list.showAll()},add:function(a,b,c){this._.items[a]=c||a;this._.list.add(a,b,c)},startGroup:function(a){this._.list.startGroup(a)}, +commit:function(){this._.committed||(this._.list.commit(),this._.committed=1,CKEDITOR.ui.fire("ready",this));this._.committed=1},setState:function(a){if(this._.state!=a){var b=this.document.getById("cke_"+this.id);b.setState(a,"cke_combo");a==CKEDITOR.TRISTATE_DISABLED?b.setAttribute("aria-disabled",!0):b.removeAttribute("aria-disabled");this._.state=a}},getState:function(){return this._.state},enable:function(){this._.state==CKEDITOR.TRISTATE_DISABLED&&this.setState(this._.lastState)},disable:function(){this._.state!= +CKEDITOR.TRISTATE_DISABLED&&(this._.lastState=this._.state,this.setState(CKEDITOR.TRISTATE_DISABLED))}},statics:{handler:{create:function(a){return new CKEDITOR.ui.richCombo(a)}}}});CKEDITOR.ui.prototype.addRichCombo=function(a,b){this.add(a,CKEDITOR.UI_RICHCOMBO,b)}})();(function(){function p(b,f,e,d,r,p,v,x){var y=b.config,t=new CKEDITOR.style(v),g=r.split(";");r=[];for(var k={},l=0;l<g.length;l++){var m=g[l];if(m){var m=m.split("/"),w={},q=g[l]=m[0];w[e]=r[l]=m[1]||q;k[q]=new CKEDITOR.style(v,w);k[q]._.definition.name=q}else g.splice(l--,1)}b.ui.addRichCombo(f,{label:d.label,title:d.panelTitle,toolbar:"styles,"+x,defaultValue:"cke-default",allowedContent:t,requiredContent:t,contentTransformations:[[{element:"font",check:"span",left:function(a){return!!a.attributes.size|| +!!a.attributes.align||!!a.attributes.face},right:function(a){var b=" x-small small medium large x-large xx-large 48px".split(" ");a.name="span";a.attributes.size&&(a.styles["font-size"]=b[a.attributes.size],delete a.attributes.size);a.attributes.align&&(a.styles["text-align"]=a.attributes.align,delete a.attributes.align);a.attributes.face&&(a.styles["font-family"]=a.attributes.face,delete a.attributes.face)}}]],panel:{css:[CKEDITOR.skin.getPath("editor")].concat(y.contentsCss),multiSelect:!1,attributes:{"aria-label":d.panelTitle}}, +init:function(){var a;a="("+b.lang.common.optionDefault+")";this.startGroup(d.panelTitle);this.add(this.defaultValue,a,a);for(var c=0;c<g.length;c++)a=g[c],this.add(a,k[a].buildPreview(),a)},onClick:function(a){b.focus();b.fire("saveSnapshot");var c=this.getValue(),f=k[a],e,n,h,d,g;if(c&&a!=c)if(e=k[c],c=b.getSelection().getRanges()[0],c.collapsed){if(n=b.elementPath(),h=n.contains(function(a){return e.checkElementRemovable(a)})){d=c.checkBoundaryOfElement(h,CKEDITOR.START);g=c.checkBoundaryOfElement(h, +CKEDITOR.END);if(d&&g){for(d=c.createBookmark();n=h.getFirst();)n.insertBefore(h);h.remove();c.moveToBookmark(d)}else d||g?c.moveToPosition(h,d?CKEDITOR.POSITION_BEFORE_START:CKEDITOR.POSITION_AFTER_END):(c.splitElement(h),c.moveToPosition(h,CKEDITOR.POSITION_AFTER_END)),u(c,n.elements.slice(),h);b.getSelection().selectRanges([c])}}else b.removeStyle(e);a===this.defaultValue?e&&b.removeStyle(e):b.applyStyle(f);b.fire("saveSnapshot")},onRender:function(){b.on("selectionChange",function(a){var c=this.getValue(); +a=a.data.path.elements;for(var d=0,f;d<a.length;d++){f=a[d];for(var e in k)if(k[e].checkElementMatch(f,!0,b)){e!=c&&this.setValue(e);return}}this.setValue("",p)},this)},refresh:function(){b.activeFilter.check(t)||this.setState(CKEDITOR.TRISTATE_DISABLED)}})}function u(b,f,e){var d=f.pop();if(d){if(e)return u(b,f,d.equals(e)?null:e);e=d.clone();b.insertNode(e);b.moveToPosition(e,CKEDITOR.POSITION_AFTER_START);u(b,f)}}CKEDITOR.plugins.add("font",{requires:"richcombo",init:function(b){var f=b.config; +p(b,"Font","family",b.lang.font,f.font_names,f.font_defaultLabel,f.font_style,30);p(b,"FontSize","size",b.lang.font.fontSize,f.fontSize_sizes,f.fontSize_defaultLabel,f.fontSize_style,40)}})})();CKEDITOR.config.font_names="Arial/Arial, Helvetica, sans-serif;Comic Sans MS/Comic Sans MS, cursive;Courier New/Courier New, Courier, monospace;Georgia/Georgia, serif;Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;Tahoma/Tahoma, Geneva, sans-serif;Times New Roman/Times New Roman, Times, serif;Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;Verdana/Verdana, Geneva, sans-serif"; +CKEDITOR.config.font_defaultLabel="";CKEDITOR.config.font_style={element:"span",styles:{"font-family":"#(family)"},overrides:[{element:"font",attributes:{face:null}}]};CKEDITOR.config.fontSize_sizes="8/8px;9/9px;10/10px;11/11px;12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px;26/26px;28/28px;36/36px;48/48px;72/72px";CKEDITOR.config.fontSize_defaultLabel="";CKEDITOR.config.fontSize_style={element:"span",styles:{"font-size":"#(size)"},overrides:[{element:"font",attributes:{size:null}}]};CKEDITOR.plugins.add("forms",{requires:"dialog,fakeobjects",onLoad:function(){CKEDITOR.addCss(".cke_editable form{border: 1px dotted #FF0000;padding: 2px;}\n");CKEDITOR.addCss("img.cke_hidden{background-image: url("+CKEDITOR.getUrl(this.path+"images/hiddenfield.gif")+");background-position: center center;background-repeat: no-repeat;border: 1px solid #a9a9a9;width: 16px !important;height: 16px !important;}")},init:function(a){var b=a.lang,g=0,h={email:1,password:1,search:1,tel:1,text:1,url:1},l={checkbox:"input[type,name,checked,required]", +radio:"input[type,name,checked,required]",textfield:"input[type,name,value,size,maxlength,required]",textarea:"textarea[cols,rows,name,required]",select:"select[name,size,multiple,required]; option[value,selected]",button:"input[type,name,value]",form:"form[action,name,id,enctype,target,method]",hiddenfield:"input[type,name,value]",imagebutton:"input[type,alt,src]{width,height,border,border-width,border-style,margin,float}"},m={checkbox:"input",radio:"input",textfield:"input",textarea:"textarea", +select:"select",button:"input",form:"form",hiddenfield:"input",imagebutton:"input"},e=function(d,c,e){var h={allowedContent:l[c],requiredContent:m[c]};"form"==c&&(h.context="form");a.addCommand(c,new CKEDITOR.dialogCommand(c,h));a.ui.addButton&&a.ui.addButton(d,{label:b.common[d.charAt(0).toLowerCase()+d.slice(1)],command:c,toolbar:"forms,"+(g+=10)});CKEDITOR.dialog.add(c,e)},f=this.path+"dialogs/";!a.blockless&&e("Form","form",f+"form.js");e("Checkbox","checkbox",f+"checkbox.js");e("Radio","radio", +f+"radio.js");e("TextField","textfield",f+"textfield.js");e("Textarea","textarea",f+"textarea.js");e("Select","select",f+"select.js");e("Button","button",f+"button.js");var k=a.plugins.image;k&&!a.plugins.image2&&e("ImageButton","imagebutton",CKEDITOR.plugins.getPath("image")+"dialogs/image.js");e("HiddenField","hiddenfield",f+"hiddenfield.js");a.addMenuItems&&(e={checkbox:{label:b.forms.checkboxAndRadio.checkboxTitle,command:"checkbox",group:"checkbox"},radio:{label:b.forms.checkboxAndRadio.radioTitle, +command:"radio",group:"radio"},textfield:{label:b.forms.textfield.title,command:"textfield",group:"textfield"},hiddenfield:{label:b.forms.hidden.title,command:"hiddenfield",group:"hiddenfield"},button:{label:b.forms.button.title,command:"button",group:"button"},select:{label:b.forms.select.title,command:"select",group:"select"},textarea:{label:b.forms.textarea.title,command:"textarea",group:"textarea"}},k&&(e.imagebutton={label:b.image.titleButton,command:"imagebutton",group:"imagebutton"}),!a.blockless&& +(e.form={label:b.forms.form.menu,command:"form",group:"form"}),a.addMenuItems(e));a.contextMenu&&(!a.blockless&&a.contextMenu.addListener(function(d,c,a){if((d=a.contains("form",1))&&!d.isReadOnly())return{form:CKEDITOR.TRISTATE_OFF}}),a.contextMenu.addListener(function(d){if(d&&!d.isReadOnly()){var c=d.getName();if("select"==c)return{select:CKEDITOR.TRISTATE_OFF};if("textarea"==c)return{textarea:CKEDITOR.TRISTATE_OFF};if("input"==c){var a=d.getAttribute("type")||"text";switch(a){case "button":case "submit":case "reset":return{button:CKEDITOR.TRISTATE_OFF}; +case "checkbox":return{checkbox:CKEDITOR.TRISTATE_OFF};case "radio":return{radio:CKEDITOR.TRISTATE_OFF};case "image":return k?{imagebutton:CKEDITOR.TRISTATE_OFF}:null}if(h[a])return{textfield:CKEDITOR.TRISTATE_OFF}}if("img"==c&&"hiddenfield"==d.data("cke-real-element-type"))return{hiddenfield:CKEDITOR.TRISTATE_OFF}}}));a.on("doubleclick",function(d){var c=d.data.element;if(!a.blockless&&c.is("form"))d.data.dialog="form";else if(c.is("select"))d.data.dialog="select";else if(c.is("textarea"))d.data.dialog= +"textarea";else if(c.is("img")&&"hiddenfield"==c.data("cke-real-element-type"))d.data.dialog="hiddenfield";else if(c.is("input")){c=c.getAttribute("type")||"text";switch(c){case "button":case "submit":case "reset":d.data.dialog="button";break;case "checkbox":d.data.dialog="checkbox";break;case "radio":d.data.dialog="radio";break;case "image":d.data.dialog="imagebutton"}h[c]&&(d.data.dialog="textfield")}})},afterInit:function(a){var b=a.dataProcessor,g=b&&b.htmlFilter,b=b&&b.dataFilter;CKEDITOR.env.ie&& +g&&g.addRules({elements:{input:function(a){a=a.attributes;var b=a.type;b||(a.type="text");"checkbox"!=b&&"radio"!=b||"on"!=a.value||delete a.value}}},{applyToAll:!0});b&&b.addRules({elements:{input:function(b){if("hidden"==b.attributes.type)return a.createFakeParserElement(b,"cke_hidden","hiddenfield")}}},{applyToAll:!0})}});CKEDITOR.plugins.add("format",{requires:"richcombo",init:function(a){if(!a.blockless){for(var f=a.config,c=a.lang.format,l=f.format_tags.split(";"),d={},m=0,n=[],g=0;g<l.length;g++){var h=l[g],k=new CKEDITOR.style(f["format_"+h]);if(!a.filter.customConfig||a.filter.check(k))m++,d[h]=k,d[h]._.enterMode=a.config.enterMode,n.push(k)}0!==m&&a.ui.addRichCombo("Format",{label:c.label,title:c.panelTitle,toolbar:"styles,20",allowedContent:n,panel:{css:[CKEDITOR.skin.getPath("editor")].concat(f.contentsCss), +multiSelect:!1,attributes:{"aria-label":c.panelTitle}},init:function(){this.startGroup(c.panelTitle);for(var a in d){var e=c["tag_"+a];this.add(a,d[a].buildPreview(e),e)}},onClick:function(b){a.focus();a.fire("saveSnapshot");b=d[b];var e=a.elementPath();b.checkActive(e,a)||a.applyStyle(b);setTimeout(function(){a.fire("saveSnapshot")},0)},onRender:function(){a.on("selectionChange",function(b){var e=this.getValue();b=b.data.path;this.refresh();for(var c in d)if(d[c].checkActive(b,a)){c!=e&&this.setValue(c, +a.lang.format["tag_"+c]);return}this.setValue("")},this)},onOpen:function(){this.showAll();for(var b in d)a.activeFilter.check(d[b])||this.hideItem(b)},refresh:function(){var b=a.elementPath();if(b){if(b.isContextFor("p"))for(var c in d)if(a.activeFilter.check(d[c]))return;this.setState(CKEDITOR.TRISTATE_DISABLED)}}})}}});CKEDITOR.config.format_tags="p;h1;h2;h3;h4;h5;h6;pre;address;div";CKEDITOR.config.format_p={element:"p"};CKEDITOR.config.format_div={element:"div"};CKEDITOR.config.format_pre={element:"pre"}; +CKEDITOR.config.format_address={element:"address"};CKEDITOR.config.format_h1={element:"h1"};CKEDITOR.config.format_h2={element:"h2"};CKEDITOR.config.format_h3={element:"h3"};CKEDITOR.config.format_h4={element:"h4"};CKEDITOR.config.format_h5={element:"h5"};CKEDITOR.config.format_h6={element:"h6"};(function(){var b={canUndo:!1,exec:function(a){var b=a.document.createElement("hr");a.insertElement(b)},allowedContent:"hr",requiredContent:"hr"};CKEDITOR.plugins.add("horizontalrule",{init:function(a){a.blockless||(a.addCommand("horizontalrule",b),a.ui.addButton&&a.ui.addButton("HorizontalRule",{label:a.lang.horizontalrule.toolbar,command:"horizontalrule",toolbar:"insert,40"}))}})})();CKEDITOR.plugins.add("htmlwriter",{init:function(b){var a=new CKEDITOR.htmlWriter;a.forceSimpleAmpersand=b.config.forceSimpleAmpersand;a.indentationChars=b.config.dataIndentationChars||"\t";b.dataProcessor.writer=a}}); +CKEDITOR.htmlWriter=CKEDITOR.tools.createClass({base:CKEDITOR.htmlParser.basicWriter,$:function(){this.base();this.indentationChars="\t";this.selfClosingEnd=" /\x3e";this.lineBreakChars="\n";this.sortAttributes=1;this._.indent=0;this._.indentation="";this._.inPre=0;this._.rules={};var b=CKEDITOR.dtd,a;for(a in CKEDITOR.tools.extend({},b.$nonBodyContent,b.$block,b.$listItem,b.$tableContent))this.setRules(a,{indent:!b[a]["#"],breakBeforeOpen:1,breakBeforeClose:!b[a]["#"],breakAfterClose:1,needsSpace:a in +b.$block&&!(a in{li:1,dt:1,dd:1})});this.setRules("br",{breakAfterOpen:1});this.setRules("title",{indent:0,breakAfterOpen:0});this.setRules("style",{indent:0,breakBeforeClose:1});this.setRules("pre",{breakAfterOpen:1,indent:0})},proto:{openTag:function(b){var a=this._.rules[b];this._.afterCloser&&a&&a.needsSpace&&this._.needsSpace&&this._.output.push("\n");this._.indent?this.indentation():a&&a.breakBeforeOpen&&(this.lineBreak(),this.indentation());this._.output.push("\x3c",b);this._.afterCloser=0}, +openTagClose:function(b,a){var c=this._.rules[b];a?(this._.output.push(this.selfClosingEnd),c&&c.breakAfterClose&&(this._.needsSpace=c.needsSpace)):(this._.output.push("\x3e"),c&&c.indent&&(this._.indentation+=this.indentationChars));c&&c.breakAfterOpen&&this.lineBreak();"pre"==b&&(this._.inPre=1)},attribute:function(b,a){"string"==typeof a&&(this.forceSimpleAmpersand&&(a=a.replace(/&amp;/g,"\x26")),a=CKEDITOR.tools.htmlEncodeAttr(a));this._.output.push(" ",b,'\x3d"',a,'"')},closeTag:function(b){var a= +this._.rules[b];a&&a.indent&&(this._.indentation=this._.indentation.substr(this.indentationChars.length));this._.indent?this.indentation():a&&a.breakBeforeClose&&(this.lineBreak(),this.indentation());this._.output.push("\x3c/",b,"\x3e");"pre"==b&&(this._.inPre=0);a&&a.breakAfterClose&&(this.lineBreak(),this._.needsSpace=a.needsSpace);this._.afterCloser=1},text:function(b){this._.indent&&(this.indentation(),!this._.inPre&&(b=CKEDITOR.tools.ltrim(b)));this._.output.push(b)},comment:function(b){this._.indent&& +this.indentation();this._.output.push("\x3c!--",b,"--\x3e")},lineBreak:function(){!this._.inPre&&0<this._.output.length&&this._.output.push(this.lineBreakChars);this._.indent=1},indentation:function(){!this._.inPre&&this._.indentation&&this._.output.push(this._.indentation);this._.indent=0},reset:function(){this._.output=[];this._.indent=0;this._.indentation="";this._.afterCloser=0;this._.inPre=0;this._.needsSpace=0},setRules:function(b,a){var c=this._.rules[b];c?CKEDITOR.tools.extend(c,a,!0):this._.rules[b]= +a}}});(function(){CKEDITOR.plugins.add("iframe",{requires:"dialog,fakeobjects",onLoad:function(){CKEDITOR.addCss("img.cke_iframe{background-image: url("+CKEDITOR.getUrl(this.path+"images/placeholder.png")+");background-position: center center;background-repeat: no-repeat;border: 1px solid #a9a9a9;width: 80px;height: 80px;}")},init:function(a){var b=a.lang.iframe,c="iframe[align,longdesc,frameborder,height,name,scrolling,src,title,width]";a.plugins.dialogadvtab&&(c+=";iframe"+a.plugins.dialogadvtab.allowedContent({id:1, +classes:1,styles:1}));CKEDITOR.dialog.add("iframe",this.path+"dialogs/iframe.js");a.addCommand("iframe",new CKEDITOR.dialogCommand("iframe",{allowedContent:c,requiredContent:"iframe"}));a.ui.addButton&&a.ui.addButton("Iframe",{label:b.toolbar,command:"iframe",toolbar:"insert,80"});a.on("doubleclick",function(a){var b=a.data.element;b.is("img")&&"iframe"==b.data("cke-real-element-type")&&(a.data.dialog="iframe")});a.addMenuItems&&a.addMenuItems({iframe:{label:b.title,command:"iframe",group:"image"}}); +a.contextMenu&&a.contextMenu.addListener(function(a){if(a&&a.is("img")&&"iframe"==a.data("cke-real-element-type"))return{iframe:CKEDITOR.TRISTATE_OFF}})},afterInit:function(a){var b=a.dataProcessor;(b=b&&b.dataFilter)&&b.addRules({elements:{iframe:function(b){return a.createFakeParserElement(b,"cke_iframe","iframe",!0)}}})}})})();(function(){function m(a){function f(a){var b=!1;g.attachListener(g,"keydown",function(){var d=c.getBody().getElementsByTag(a);if(!b){for(var e=0;e<d.count();e++)d.getItem(e).setCustomData("retain",!0);b=!0}},null,null,1);g.attachListener(g,"keyup",function(){var d=c.getElementsByTag(a);b&&(1==d.count()&&!d.getItem(0).getCustomData("retain")&&CKEDITOR.tools.isEmpty(d.getItem(0).getAttributes())&&d.getItem(0).remove(1),b=!1)})}var b=this.editor,c=a.document,d=c.body,e=c.getElementById("cke_actscrpt"); +e&&e.parentNode.removeChild(e);(e=c.getElementById("cke_shimscrpt"))&&e.parentNode.removeChild(e);(e=c.getElementById("cke_basetagscrpt"))&&e.parentNode.removeChild(e);d.contentEditable=!0;CKEDITOR.env.ie&&(d.hideFocus=!0,d.disabled=!0,d.removeAttribute("disabled"));delete this._.isLoadingData;this.$=d;c=new CKEDITOR.dom.document(c);this.setup();this.fixInitialSelection();var g=this;CKEDITOR.env.ie&&!CKEDITOR.env.edge&&c.getDocumentElement().addClass(c.$.compatMode);CKEDITOR.env.ie&&!CKEDITOR.env.edge&& +b.enterMode!=CKEDITOR.ENTER_P?f("p"):CKEDITOR.env.edge&&15>CKEDITOR.env.version&&b.enterMode!=CKEDITOR.ENTER_DIV&&f("div");if(CKEDITOR.env.webkit||CKEDITOR.env.ie&&10<CKEDITOR.env.version)c.getDocumentElement().on("mousedown",function(a){a.data.getTarget().is("html")&&setTimeout(function(){b.editable().focus()})});n(b);try{b.document.$.execCommand("2D-position",!1,!0)}catch(h){}(CKEDITOR.env.gecko||CKEDITOR.env.ie&&"CSS1Compat"==b.document.$.compatMode)&&this.attachListener(this,"keydown",function(a){var c= +a.data.getKeystroke();if(33==c||34==c)if(CKEDITOR.env.ie)setTimeout(function(){b.getSelection().scrollIntoView()},0);else if(b.window.$.innerHeight>this.$.offsetHeight){var d=b.createRange();d[33==c?"moveToElementEditStart":"moveToElementEditEnd"](this);d.select();a.data.preventDefault()}});CKEDITOR.env.ie&&this.attachListener(c,"blur",function(){try{c.$.selection.empty()}catch(a){}});CKEDITOR.env.iOS&&this.attachListener(c,"touchend",function(){a.focus()});d=b.document.getElementsByTag("title").getItem(0); +d.data("cke-title",d.getText());CKEDITOR.env.ie&&(b.document.$.title=this._.docTitle);CKEDITOR.tools.setTimeout(function(){"unloaded"==this.status&&(this.status="ready");b.fire("contentDom");this._.isPendingFocus&&(b.focus(),this._.isPendingFocus=!1);setTimeout(function(){b.fire("dataReady")},0)},0,this)}function n(a){function f(){var c;a.editable().attachListener(a,"selectionChange",function(){var d=a.getSelection().getSelectedElement();d&&(c&&(c.detachEvent("onresizestart",b),c=null),d.$.attachEvent("onresizestart", +b),c=d.$)})}function b(a){a.returnValue=!1}if(CKEDITOR.env.gecko)try{var c=a.document.$;c.execCommand("enableObjectResizing",!1,!a.config.disableObjectResizing);c.execCommand("enableInlineTableEditing",!1,!a.config.disableNativeTableHandles)}catch(d){}else CKEDITOR.env.ie&&11>CKEDITOR.env.version&&a.config.disableObjectResizing&&f(a)}function p(){var a=[];if(8<=CKEDITOR.document.$.documentMode){a.push("html.CSS1Compat [contenteditable\x3dfalse]{min-height:0 !important}");var f=[],b;for(b in CKEDITOR.dtd.$removeEmpty)f.push("html.CSS1Compat "+ +b+"[contenteditable\x3dfalse]");a.push(f.join(",")+"{display:inline-block}")}else CKEDITOR.env.gecko&&(a.push("html{height:100% !important}"),a.push("img:-moz-broken{-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}"));a.push("html{cursor:text;*cursor:auto}");a.push("img,input,textarea{cursor:default}");return a.join("\n")}var l;CKEDITOR.plugins.add("wysiwygarea",{init:function(a){a.config.fullPage&&a.addFeature({allowedContent:"html head title; style [media,type]; body (*)[id]; meta link [*]", +requiredContent:"body"});a.addMode("wysiwyg",function(f){function b(b){b&&b.removeListener();a.editable(new l(a,d.$.contentWindow.document.body));a.setData(a.getData(1),f)}var c="document.open();"+(CKEDITOR.env.ie?"("+CKEDITOR.tools.fixDomain+")();":"")+"document.close();",c=CKEDITOR.env.air?"javascript:void(0)":CKEDITOR.env.ie&&!CKEDITOR.env.edge?"javascript:void(function(){"+encodeURIComponent(c)+"}())":"",d=CKEDITOR.dom.element.createFromHtml('\x3ciframe src\x3d"'+c+'" frameBorder\x3d"0"\x3e\x3c/iframe\x3e'); +d.setStyles({width:"100%",height:"100%"});d.addClass("cke_wysiwyg_frame").addClass("cke_reset");c=a.ui.space("contents");c.append(d);var e=CKEDITOR.env.ie&&!CKEDITOR.env.edge||CKEDITOR.env.gecko;if(e)d.on("load",b);var g=a.title,h=a.fire("ariaEditorHelpLabel",{}).label;g&&(CKEDITOR.env.ie&&h&&(g+=", "+h),d.setAttribute("title",g));if(h){var g=CKEDITOR.tools.getNextId(),k=CKEDITOR.dom.element.createFromHtml('\x3cspan id\x3d"'+g+'" class\x3d"cke_voice_label"\x3e'+h+"\x3c/span\x3e");c.append(k,1);d.setAttribute("aria-describedby", +g)}a.on("beforeModeUnload",function(a){a.removeListener();k&&k.remove()});d.setAttributes({tabIndex:a.tabIndex,allowTransparency:"true"});!e&&b();a.fire("ariaWidget",d)})}});CKEDITOR.editor.prototype.addContentsCss=function(a){var f=this.config,b=f.contentsCss;CKEDITOR.tools.isArray(b)||(f.contentsCss=b?[b]:[]);f.contentsCss.push(a)};l=CKEDITOR.tools.createClass({$:function(){this.base.apply(this,arguments);this._.frameLoadedHandler=CKEDITOR.tools.addFunction(function(a){CKEDITOR.tools.setTimeout(m, +0,this,a)},this);this._.docTitle=this.getWindow().getFrame().getAttribute("title")},base:CKEDITOR.editable,proto:{setData:function(a,f){var b=this.editor;if(f)this.setHtml(a),this.fixInitialSelection(),b.fire("dataReady");else{this._.isLoadingData=!0;b._.dataStore={id:1};var c=b.config,d=c.fullPage,e=c.docType,g=CKEDITOR.tools.buildStyleHtml(p()).replace(/<style>/,'\x3cstyle data-cke-temp\x3d"1"\x3e');d||(g+=CKEDITOR.tools.buildStyleHtml(b.config.contentsCss));var h=c.baseHref?'\x3cbase href\x3d"'+ +c.baseHref+'" data-cke-temp\x3d"1" /\x3e':"";d&&(a=a.replace(/<!DOCTYPE[^>]*>/i,function(a){b.docType=e=a;return""}).replace(/<\?xml\s[^\?]*\?>/i,function(a){b.xmlDeclaration=a;return""}));a=b.dataProcessor.toHtml(a);d?(/<body[\s|>]/.test(a)||(a="\x3cbody\x3e"+a),/<html[\s|>]/.test(a)||(a="\x3chtml\x3e"+a+"\x3c/html\x3e"),/<head[\s|>]/.test(a)?/<title[\s|>]/.test(a)||(a=a.replace(/<head[^>]*>/,"$\x26\x3ctitle\x3e\x3c/title\x3e")):a=a.replace(/<html[^>]*>/,"$\x26\x3chead\x3e\x3ctitle\x3e\x3c/title\x3e\x3c/head\x3e"), +h&&(a=a.replace(/<head[^>]*?>/,"$\x26"+h)),a=a.replace(/<\/head\s*>/,g+"$\x26"),a=e+a):a=c.docType+'\x3chtml dir\x3d"'+c.contentsLangDirection+'" lang\x3d"'+(c.contentsLanguage||b.langCode)+'"\x3e\x3chead\x3e\x3ctitle\x3e'+this._.docTitle+"\x3c/title\x3e"+h+g+"\x3c/head\x3e\x3cbody"+(c.bodyId?' id\x3d"'+c.bodyId+'"':"")+(c.bodyClass?' class\x3d"'+c.bodyClass+'"':"")+"\x3e"+a+"\x3c/body\x3e\x3c/html\x3e";CKEDITOR.env.gecko&&(a=a.replace(/<body/,'\x3cbody contenteditable\x3d"true" '),2E4>CKEDITOR.env.version&& +(a=a.replace(/<body[^>]*>/,"$\x26\x3c!-- cke-content-start --\x3e")));c='\x3cscript id\x3d"cke_actscrpt" type\x3d"text/javascript"'+(CKEDITOR.env.ie?' defer\x3d"defer" ':"")+"\x3evar wasLoaded\x3d0;function onload(){if(!wasLoaded)window.parent.CKEDITOR.tools.callFunction("+this._.frameLoadedHandler+",window);wasLoaded\x3d1;}"+(CKEDITOR.env.ie?"onload();":'document.addEventListener("DOMContentLoaded", onload, false );')+"\x3c/script\x3e";CKEDITOR.env.ie&&9>CKEDITOR.env.version&&(c+='\x3cscript id\x3d"cke_shimscrpt"\x3ewindow.parent.CKEDITOR.tools.enableHtml5Elements(document)\x3c/script\x3e'); +h&&CKEDITOR.env.ie&&10>CKEDITOR.env.version&&(c+='\x3cscript id\x3d"cke_basetagscrpt"\x3evar baseTag \x3d document.querySelector( "base" );baseTag.href \x3d baseTag.href;\x3c/script\x3e');a=a.replace(/(?=\s*<\/(:?head)>)/,c);this.clearCustomData();this.clearListeners();b.fire("contentDomUnload");var k=this.getDocument();try{k.write(a)}catch(l){setTimeout(function(){k.write(a)},0)}}},getData:function(a){if(a)return this.getHtml();a=this.editor;var f=a.config,b=f.fullPage,c=b&&a.docType,d=b&&a.xmlDeclaration, +e=this.getDocument(),b=b?e.getDocumentElement().getOuterHtml():e.getBody().getHtml();CKEDITOR.env.gecko&&f.enterMode!=CKEDITOR.ENTER_BR&&(b=b.replace(/<br>(?=\s*(:?$|<\/body>))/,""));b=a.dataProcessor.toDataFormat(b);d&&(b=d+"\n"+b);c&&(b=c+"\n"+b);return b},focus:function(){this._.isLoadingData?this._.isPendingFocus=!0:l.baseProto.focus.call(this)},detach:function(){var a=this.editor,f=a.document,b;try{b=a.window.getFrame()}catch(c){}l.baseProto.detach.call(this);this.clearCustomData();f.getDocumentElement().clearCustomData(); +CKEDITOR.tools.removeFunction(this._.frameLoadedHandler);b&&b.getParent()?(b.clearCustomData(),(a=b.removeCustomData("onResize"))&&a.removeListener(),b.remove()):CKEDITOR.warn("editor-destroy-iframe")}}})})();CKEDITOR.config.disableObjectResizing=!1;CKEDITOR.config.disableNativeTableHandles=!0;CKEDITOR.config.disableNativeSpellChecker=!0;(function(){function e(b,a){a||(a=b.getSelection().getSelectedElement());if(a&&a.is("img")&&!a.data("cke-realelement")&&!a.isReadOnly())return a}function f(b){var a=b.getStyle("float");if("inherit"==a||"none"==a)a=0;a||(a=b.getAttribute("align"));return a}CKEDITOR.plugins.add("image",{requires:"dialog",init:function(b){if(!b.plugins.image2){CKEDITOR.dialog.add("image",this.path+"dialogs/image.js");var a="img[alt,!src]{border-style,border-width,float,height,margin,margin-bottom,margin-left,margin-right,margin-top,width}"; +CKEDITOR.dialog.isTabEnabled(b,"image","advanced")&&(a="img[alt,dir,id,lang,longdesc,!src,title]{*}(*)");b.addCommand("image",new CKEDITOR.dialogCommand("image",{allowedContent:a,requiredContent:"img[alt,src]",contentTransformations:[["img{width}: sizeToStyle","img[width]: sizeToAttribute"],["img{float}: alignmentToStyle","img[align]: alignmentToAttribute"]]}));b.ui.addButton&&b.ui.addButton("Image",{label:b.lang.common.image,command:"image",toolbar:"insert,10"});b.on("doubleclick",function(b){var a= +b.data.element;!a.is("img")||a.data("cke-realelement")||a.isReadOnly()||(b.data.dialog="image")});b.addMenuItems&&b.addMenuItems({image:{label:b.lang.image.menu,command:"image",group:"image"}});b.contextMenu&&b.contextMenu.addListener(function(a){if(e(b,a))return{image:CKEDITOR.TRISTATE_OFF}})}},afterInit:function(b){function a(a){var d=b.getCommand("justify"+a);if(d){if("left"==a||"right"==a)d.on("exec",function(d){var c=e(b),g;c&&(g=f(c),g==a?(c.removeStyle("float"),a==f(c)&&c.removeAttribute("align")): +c.setStyle("float",a),d.cancel())});d.on("refresh",function(d){var c=e(b);c&&(c=f(c),this.setState(c==a?CKEDITOR.TRISTATE_ON:"right"==a||"left"==a?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED),d.cancel())})}}b.plugins.image2||(a("left"),a("right"),a("center"),a("block"))}})})();CKEDITOR.config.image_removeLinkByEmptyURL=!0;(function(){function m(a,b){var e,f;b.on("refresh",function(a){var b=[k],c;for(c in a.data.states)b.push(a.data.states[c]);this.setState(CKEDITOR.tools.search(b,p)?p:k)},b,null,100);b.on("exec",function(b){e=a.getSelection();f=e.createBookmarks(1);b.data||(b.data={});b.data.done=!1},b,null,0);b.on("exec",function(){a.forceNextSelectionCheck();e.selectBookmarks(f)},b,null,100)}var k=CKEDITOR.TRISTATE_DISABLED,p=CKEDITOR.TRISTATE_OFF;CKEDITOR.plugins.add("indent",{init:function(a){var b=CKEDITOR.plugins.indent.genericDefinition; +m(a,a.addCommand("indent",new b(!0)));m(a,a.addCommand("outdent",new b));a.ui.addButton&&(a.ui.addButton("Indent",{label:a.lang.indent.indent,command:"indent",directional:!0,toolbar:"indent,20"}),a.ui.addButton("Outdent",{label:a.lang.indent.outdent,command:"outdent",directional:!0,toolbar:"indent,10"}));a.on("dirChanged",function(b){var f=a.createRange(),l=b.data.node;f.setStartBefore(l);f.setEndAfter(l);for(var n=new CKEDITOR.dom.walker(f),c;c=n.next();)if(c.type==CKEDITOR.NODE_ELEMENT)if(!c.equals(l)&& +c.getDirection())f.setStartAfter(c),n=new CKEDITOR.dom.walker(f);else{var d=a.config.indentClasses;if(d)for(var g="ltr"==b.data.dir?["_rtl",""]:["","_rtl"],h=0;h<d.length;h++)c.hasClass(d[h]+g[0])&&(c.removeClass(d[h]+g[0]),c.addClass(d[h]+g[1]));d=c.getStyle("margin-right");g=c.getStyle("margin-left");d?c.setStyle("margin-left",d):c.removeStyle("margin-left");g?c.setStyle("margin-right",g):c.removeStyle("margin-right")}})}});CKEDITOR.plugins.indent={genericDefinition:function(a){this.isIndent=!!a; +this.startDisabled=!this.isIndent},specificDefinition:function(a,b,e){this.name=b;this.editor=a;this.jobs={};this.enterBr=a.config.enterMode==CKEDITOR.ENTER_BR;this.isIndent=!!e;this.relatedGlobal=e?"indent":"outdent";this.indentKey=e?9:CKEDITOR.SHIFT+9;this.database={}},registerCommands:function(a,b){a.on("pluginsLoaded",function(){for(var a in b)(function(a,b){var e=a.getCommand(b.relatedGlobal),c;for(c in b.jobs)e.on("exec",function(d){d.data.done||(a.fire("lockSnapshot"),b.execJob(a,c)&&(d.data.done= +!0),a.fire("unlockSnapshot"),CKEDITOR.dom.element.clearAllMarkers(b.database))},this,null,c),e.on("refresh",function(d){d.data.states||(d.data.states={});d.data.states[b.name+"@"+c]=b.refreshJob(a,c,d.data.path)},this,null,c);a.addFeature(b)})(this,b[a])})}};CKEDITOR.plugins.indent.genericDefinition.prototype={context:"p",exec:function(){}};CKEDITOR.plugins.indent.specificDefinition.prototype={execJob:function(a,b){var e=this.jobs[b];if(e.state!=k)return e.exec.call(this,a)},refreshJob:function(a, +b,e){b=this.jobs[b];a.activeFilter.checkFeature(this)?b.state=b.refresh.call(this,a,e):b.state=k;return b.state},getContext:function(a){return a.contains(this.context)}}})();(function(){function f(b,c,a){if(!b.getCustomData("indent_processed")){var d=this.editor,l=this.isIndent;if(c){d=b.$.className.match(this.classNameRegex);a=0;d&&(d=d[1],a=CKEDITOR.tools.indexOf(c,d)+1);if(0>(a+=l?1:-1))return;a=Math.min(a,c.length);a=Math.max(a,0);b.$.className=CKEDITOR.tools.ltrim(b.$.className.replace(this.classNameRegex,""));0<a&&b.addClass(c[a-1])}else{c=m(b,a);a=parseInt(b.getStyle(c),10);var g=d.config.indentOffset||40;isNaN(a)&&(a=0);a+=(l?1:-1)*g;if(0>a)return;a=Math.max(a, +0);a=Math.ceil(a/g)*g;b.setStyle(c,a?a+(d.config.indentUnit||"px"):"");""===b.getAttribute("style")&&b.removeAttribute("style")}CKEDITOR.dom.element.setMarker(this.database,b,"indent_processed",1)}}function m(b,c){return"ltr"==(c||b.getComputedStyle("direction"))?"margin-left":"margin-right"}var h=CKEDITOR.dtd.$listItem,p=CKEDITOR.dtd.$list,k=CKEDITOR.TRISTATE_DISABLED,n=CKEDITOR.TRISTATE_OFF;CKEDITOR.plugins.add("indentblock",{requires:"indent",init:function(b){function c(){a.specificDefinition.apply(this, +arguments);this.allowedContent={"div h1 h2 h3 h4 h5 h6 ol p pre ul":{propertiesOnly:!0,styles:d?null:"margin-left,margin-right",classes:d||null}};this.contentTransformations=[["div: splitMarginShorthand"],["h1: splitMarginShorthand"],["h2: splitMarginShorthand"],["h3: splitMarginShorthand"],["h4: splitMarginShorthand"],["h5: splitMarginShorthand"],["h6: splitMarginShorthand"],["ol: splitMarginShorthand"],["p: splitMarginShorthand"],["pre: splitMarginShorthand"],["ul: splitMarginShorthand"]];this.enterBr&& +(this.allowedContent.div=!0);this.requiredContent=(this.enterBr?"div":"p")+(d?"("+d.join(",")+")":"{margin-left}");this.jobs={20:{refresh:function(a,b){var e=b.block||b.blockLimit;if(!e.is(h))var c=e.getAscendant(h),e=c&&b.contains(c)||e;e.is(h)&&(e=e.getParent());if(this.enterBr||this.getContext(b)){if(d){var c=d,e=e.$.className.match(this.classNameRegex),f=this.isIndent,c=e?f?e[1]!=c.slice(-1):!0:f;return c?n:k}return this.isIndent?n:e?CKEDITOR[0>=(parseInt(e.getStyle(m(e)),10)||0)?"TRISTATE_DISABLED": +"TRISTATE_OFF"]:k}return k},exec:function(a){var b=a.getSelection(),b=b&&b.getRanges()[0],c;if(c=a.elementPath().contains(p))f.call(this,c,d);else for(b=b.createIterator(),a=a.config.enterMode,b.enforceRealBlocks=!0,b.enlargeBr=a!=CKEDITOR.ENTER_BR;c=b.getNextParagraph(a==CKEDITOR.ENTER_P?"p":"div");)c.isReadOnly()||f.call(this,c,d);return!0}}}}var a=CKEDITOR.plugins.indent,d=b.config.indentClasses;a.registerCommands(b,{indentblock:new c(b,"indentblock",!0),outdentblock:new c(b,"outdentblock")}); +CKEDITOR.tools.extend(c.prototype,a.specificDefinition.prototype,{context:{div:1,dl:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,ul:1,ol:1,p:1,pre:1,table:1},classNameRegex:d?new RegExp("(?:^|\\s+)("+d.join("|")+")(?\x3d$|\\s)"):null})}})})();(function(){function w(f){function g(b){for(var e=c.startContainer,a=c.endContainer;e&&!e.getParent().equals(b);)e=e.getParent();for(;a&&!a.getParent().equals(b);)a=a.getParent();if(!e||!a)return!1;for(var d=[],h=!1;!h;)e.equals(a)&&(h=!0),d.push(e),e=e.getNext();if(1>d.length)return!1;e=b.getParents(!0);for(a=0;a<e.length;a++)if(e[a].getName&&p[e[a].getName()]){b=e[a];break}for(var e=k.isIndent?1:-1,a=d[0],d=d[d.length-1],h=CKEDITOR.plugins.list.listToArray(b,q),m=h[d.getCustomData("listarray_index")].indent, +a=a.getCustomData("listarray_index");a<=d.getCustomData("listarray_index");a++)if(h[a].indent+=e,0<e){for(var g=h[a].parent,n=a-1;0<=n;n--)if(h[n].indent===e){g=h[n].parent;break}h[a].parent=new CKEDITOR.dom.element(g.getName(),g.getDocument())}for(a=d.getCustomData("listarray_index")+1;a<h.length&&h[a].indent>m;a++)h[a].indent+=e;e=CKEDITOR.plugins.list.arrayToList(h,q,null,f.config.enterMode,b.getDirection());if(!k.isIndent){var t;if((t=b.getParent())&&t.is("li"))for(var d=e.listNode.getChildren(), +r=[],l,a=d.count()-1;0<=a;a--)(l=d.getItem(a))&&l.is&&l.is("li")&&r.push(l)}e&&e.listNode.replace(b);if(r&&r.length)for(a=0;a<r.length;a++){for(l=b=r[a];(l=l.getNext())&&l.is&&l.getName()in p;)CKEDITOR.env.needsNbspFiller&&!b.getFirst(x)&&b.append(c.document.createText(" ")),b.append(l);b.insertAfter(t)}e&&f.fire("contentDomInvalidated");return!0}for(var k=this,q=this.database,p=this.context,c,m=f.getSelection(),m=(m&&m.getRanges()).createIterator();c=m.getNextRange();){for(var b=c.getCommonAncestor();b&& +(b.type!=CKEDITOR.NODE_ELEMENT||!p[b.getName()]);){if(f.editable().equals(b)){b=!1;break}b=b.getParent()}b||(b=c.startPath().contains(p))&&c.setEndAt(b,CKEDITOR.POSITION_BEFORE_END);if(!b){var d=c.getEnclosedNode();d&&d.type==CKEDITOR.NODE_ELEMENT&&d.getName()in p&&(c.setStartAt(d,CKEDITOR.POSITION_AFTER_START),c.setEndAt(d,CKEDITOR.POSITION_BEFORE_END),b=d)}b&&c.startContainer.type==CKEDITOR.NODE_ELEMENT&&c.startContainer.getName()in p&&(d=new CKEDITOR.dom.walker(c),d.evaluator=n,c.startContainer= +d.next());b&&c.endContainer.type==CKEDITOR.NODE_ELEMENT&&c.endContainer.getName()in p&&(d=new CKEDITOR.dom.walker(c),d.evaluator=n,c.endContainer=d.previous());if(b)return g(b)}return 0}function n(f){return f.type==CKEDITOR.NODE_ELEMENT&&f.is("li")}function x(f){return y(f)&&z(f)}var y=CKEDITOR.dom.walker.whitespaces(!0),z=CKEDITOR.dom.walker.bookmark(!1,!0),u=CKEDITOR.TRISTATE_DISABLED,v=CKEDITOR.TRISTATE_OFF;CKEDITOR.plugins.add("indentlist",{requires:"indent",init:function(f){function g(f){k.specificDefinition.apply(this, +arguments);this.requiredContent=["ul","ol"];f.on("key",function(g){var c=f.elementPath();if("wysiwyg"==f.mode&&g.data.keyCode==this.indentKey&&c){var m=this.getContext(c);!m||this.isIndent&&CKEDITOR.plugins.indentList.firstItemInPath(this.context,c,m)||(f.execCommand(this.relatedGlobal),g.cancel())}},this);this.jobs[this.isIndent?10:30]={refresh:this.isIndent?function(f,c){var g=this.getContext(c),b=CKEDITOR.plugins.indentList.firstItemInPath(this.context,c,g);return g&&this.isIndent&&!b?v:u}:function(f, +c){return!this.getContext(c)||this.isIndent?u:v},exec:CKEDITOR.tools.bind(w,this)}}var k=CKEDITOR.plugins.indent;k.registerCommands(f,{indentlist:new g(f,"indentlist",!0),outdentlist:new g(f,"outdentlist")});CKEDITOR.tools.extend(g.prototype,k.specificDefinition.prototype,{context:{ol:1,ul:1}})}});CKEDITOR.plugins.indentList={};CKEDITOR.plugins.indentList.firstItemInPath=function(f,g,k){var q=g.contains(n);k||(k=g.contains(f));return k&&q&&q.equals(k.getFirst(n))}})();CKEDITOR.plugins.add("smiley",{requires:"dialog",init:function(a){a.config.smiley_path=a.config.smiley_path||this.path+"images/";a.addCommand("smiley",new CKEDITOR.dialogCommand("smiley",{allowedContent:"img[alt,height,!src,title,width]",requiredContent:"img"}));a.ui.addButton&&a.ui.addButton("Smiley",{label:a.lang.smiley.toolbar,command:"smiley",toolbar:"insert,50"});CKEDITOR.dialog.add("smiley",this.path+"dialogs/smiley.js")}});CKEDITOR.config.smiley_images="regular_smile.png sad_smile.png wink_smile.png teeth_smile.png confused_smile.png tongue_smile.png embarrassed_smile.png omg_smile.png whatchutalkingabout_smile.png angry_smile.png angel_smile.png shades_smile.png devil_smile.png cry_smile.png lightbulb.png thumbs_down.png thumbs_up.png heart.png broken_heart.png kiss.png envelope.png".split(" "); +CKEDITOR.config.smiley_descriptions="smiley;sad;wink;laugh;frown;cheeky;blush;surprise;indecision;angry;angel;cool;devil;crying;enlightened;no;yes;heart;broken heart;kiss;mail".split(";");(function(){function q(a,c){c=void 0===c||c;var b;if(c)b=a.getComputedStyle("text-align");else{for(;!a.hasAttribute||!a.hasAttribute("align")&&!a.getStyle("text-align");){b=a.getParent();if(!b)break;a=b}b=a.getStyle("text-align")||a.getAttribute("align")||""}b&&(b=b.replace(/(?:-(?:moz|webkit)-)?(?:start|auto)/i,""));!b&&c&&(b="rtl"==a.getComputedStyle("direction")?"right":"left");return b}function h(a,c,b){this.editor=a;this.name=c;this.value=b;this.context="p";c=a.config.justifyClasses;var f=a.config.enterMode== +CKEDITOR.ENTER_P?"p":"div";if(c){switch(b){case "left":this.cssClassName=c[0];break;case "center":this.cssClassName=c[1];break;case "right":this.cssClassName=c[2];break;case "justify":this.cssClassName=c[3]}this.cssClassRegex=new RegExp("(?:^|\\s+)(?:"+c.join("|")+")(?\x3d$|\\s)");this.requiredContent=f+"("+this.cssClassName+")"}else this.requiredContent=f+"{text-align}";this.allowedContent={"caption div h1 h2 h3 h4 h5 h6 p pre td th li":{propertiesOnly:!0,styles:this.cssClassName?null:"text-align", +classes:this.cssClassName||null}};a.config.enterMode==CKEDITOR.ENTER_BR&&(this.allowedContent.div=!0)}function m(a){var c=a.editor,b=c.createRange();b.setStartBefore(a.data.node);b.setEndAfter(a.data.node);for(var f=new CKEDITOR.dom.walker(b),d;d=f.next();)if(d.type==CKEDITOR.NODE_ELEMENT)if(!d.equals(a.data.node)&&d.getDirection())b.setStartAfter(d),f=new CKEDITOR.dom.walker(b);else{var e=c.config.justifyClasses;e&&(d.hasClass(e[0])?(d.removeClass(e[0]),d.addClass(e[2])):d.hasClass(e[2])&&(d.removeClass(e[2]), +d.addClass(e[0])));e=d.getStyle("text-align");"left"==e?d.setStyle("text-align","right"):"right"==e&&d.setStyle("text-align","left")}}h.prototype={exec:function(a){var c=a.getSelection(),b=a.config.enterMode;if(c){for(var f=c.createBookmarks(),d=c.getRanges(),e=this.cssClassName,h,g,k=a.config.useComputedState,k=void 0===k||k,n=d.length-1;0<=n;n--)for(h=d[n].createIterator(),h.enlargeBr=b!=CKEDITOR.ENTER_BR;g=h.getNextParagraph(b==CKEDITOR.ENTER_P?"p":"div");)if(!g.isReadOnly()){var l=g.getName(), +p;p=a.activeFilter.check(l+"{text-align}");if((l=a.activeFilter.check(l+"("+e+")"))||p){g.removeAttribute("align");g.removeStyle("text-align");var m=e&&(g.$.className=CKEDITOR.tools.ltrim(g.$.className.replace(this.cssClassRegex,""))),r=this.state==CKEDITOR.TRISTATE_OFF&&(!k||q(g,!0)!=this.value);e&&l?r?g.addClass(e):m||g.removeAttribute("class"):r&&p&&g.setStyle("text-align",this.value)}}a.focus();a.forceNextSelectionCheck();c.selectBookmarks(f)}},refresh:function(a,c){var b=c.block||c.blockLimit, +f=b.getName(),d=b.equals(a.editable()),f=this.cssClassName?a.activeFilter.check(f+"("+this.cssClassName+")"):a.activeFilter.check(f+"{text-align}");d&&1===c.elements.length?this.setState(CKEDITOR.TRISTATE_OFF):!d&&f?this.setState(q(b,this.editor.config.useComputedState)==this.value?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF):this.setState(CKEDITOR.TRISTATE_DISABLED)}};CKEDITOR.plugins.add("justify",{init:function(a){if(!a.blockless){var c=new h(a,"justifyleft","left"),b=new h(a,"justifycenter","center"), +f=new h(a,"justifyright","right"),d=new h(a,"justifyblock","justify");a.addCommand("justifyleft",c);a.addCommand("justifycenter",b);a.addCommand("justifyright",f);a.addCommand("justifyblock",d);a.ui.addButton&&(a.ui.addButton("JustifyLeft",{label:a.lang.common.alignLeft,command:"justifyleft",toolbar:"align,10"}),a.ui.addButton("JustifyCenter",{label:a.lang.common.center,command:"justifycenter",toolbar:"align,20"}),a.ui.addButton("JustifyRight",{label:a.lang.common.alignRight,command:"justifyright", +toolbar:"align,30"}),a.ui.addButton("JustifyBlock",{label:a.lang.common.justify,command:"justifyblock",toolbar:"align,40"}));a.on("dirChanged",m)}}})})();CKEDITOR.plugins.add("menubutton",{requires:"button,menu",onLoad:function(){var d=function(c){var a=this._,b=a.menu;a.state!==CKEDITOR.TRISTATE_DISABLED&&(a.on&&b?b.hide():(a.previousState=a.state,b||(b=a.menu=new CKEDITOR.menu(c,{panel:{className:"cke_menu_panel",attributes:{"aria-label":c.lang.common.options}}}),b.onHide=CKEDITOR.tools.bind(function(){var b=this.command?c.getCommand(this.command).modes:this.modes;this.setState(!b||b[c.mode]?a.previousState:CKEDITOR.TRISTATE_DISABLED);a.on=0},this), +this.onMenu&&b.addListener(this.onMenu)),this.setState(CKEDITOR.TRISTATE_ON),a.on=1,setTimeout(function(){b.show(CKEDITOR.document.getById(a.id),4)},0)))};CKEDITOR.ui.menuButton=CKEDITOR.tools.createClass({base:CKEDITOR.ui.button,$:function(c){delete c.panel;this.base(c);this.hasArrow=!0;this.click=d},statics:{handler:{create:function(c){return new CKEDITOR.ui.menuButton(c)}}}})},beforeInit:function(d){d.ui.addHandler(CKEDITOR.UI_MENUBUTTON,CKEDITOR.ui.menuButton.handler)}}); +CKEDITOR.UI_MENUBUTTON="menubutton";(function(){CKEDITOR.plugins.add("language",{requires:"menubutton",init:function(a){var b=a.config.language_list||["ar:Arabic:rtl","fr:French","es:Spanish"],c=this,d=a.lang.language,e={},g,h,k,f;a.addCommand("language",{allowedContent:"span[!lang,!dir]",requiredContent:"span[lang,dir]",contextSensitive:!0,exec:function(a,b){var c=e["language_"+b];if(c)a[c.style.checkActive(a.elementPath(),a)?"removeStyle":"applyStyle"](c.style)},refresh:function(a){this.setState(c.getCurrentLangElement(a)?CKEDITOR.TRISTATE_ON: +CKEDITOR.TRISTATE_OFF)}});for(f=0;f<b.length;f++)g=b[f].split(":"),h=g[0],k="language_"+h,e[k]={label:g[1],langId:h,group:"language",order:f,ltr:"rtl"!=(""+g[2]).toLowerCase(),onClick:function(){a.execCommand("language",this.langId)},role:"menuitemcheckbox"},e[k].style=new CKEDITOR.style({element:"span",attributes:{lang:h,dir:e[k].ltr?"ltr":"rtl"}});e.language_remove={label:d.remove,group:"language_remove",state:CKEDITOR.TRISTATE_DISABLED,order:e.length,onClick:function(){var b=c.getCurrentLangElement(a); +b&&a.execCommand("language",b.getAttribute("lang"))}};a.addMenuGroup("language",1);a.addMenuGroup("language_remove");a.addMenuItems(e);a.ui.add("Language",CKEDITOR.UI_MENUBUTTON,{label:d.button,allowedContent:"span[!lang,!dir]",requiredContent:"span[lang,dir]",toolbar:"bidi,30",command:"language",onMenu:function(){var b={},d=c.getCurrentLangElement(a),f;for(f in e)b[f]=CKEDITOR.TRISTATE_OFF;b.language_remove=d?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED;d&&(b["language_"+d.getAttribute("lang")]= +CKEDITOR.TRISTATE_ON);return b}});a.addRemoveFormatFilter&&a.addRemoveFormatFilter(function(a){return!(a.is("span")&&a.getAttribute("dir")&&a.getAttribute("lang"))})},getCurrentLangElement:function(a){var b=a.elementPath();a=b&&b.elements;var c;if(b)for(var d=0;d<a.length;d++)b=a[d],!c&&"span"==b.getName()&&b.hasAttribute("dir")&&b.hasAttribute("lang")&&(c=b);return c}})})();(function(){function p(c){return c.replace(/'/g,"\\$\x26")}function q(c){for(var b,a=c.length,d=[],f=0;f<a;f++)b=c.charCodeAt(f),d.push(b);return"String.fromCharCode("+d.join(",")+")"}function r(c,b){var a=c.plugins.link,d=a.compiledProtectionFunction.params,f,e;e=[a.compiledProtectionFunction.name,"("];for(var g=0;g<d.length;g++)a=d[g].toLowerCase(),f=b[a],0<g&&e.push(","),e.push("'",f?p(encodeURIComponent(b[a])):"","'");e.push(")");return e.join("")}function n(c){c=c.config.emailProtection||""; +var b;c&&"encode"!=c&&(b={},c.replace(/^([^(]+)\(([^)]+)\)$/,function(a,c,f){b.name=c;b.params=[];f.replace(/[^,\s]+/g,function(a){b.params.push(a)})}));return b}CKEDITOR.plugins.add("link",{requires:"dialog,fakeobjects",onLoad:function(){function c(b){return a.replace(/%1/g,"rtl"==b?"right":"left").replace(/%2/g,"cke_contents_"+b)}var b="background:url("+CKEDITOR.getUrl(this.path+"images"+(CKEDITOR.env.hidpi?"/hidpi":"")+"/anchor.png")+") no-repeat %1 center;border:1px dotted #00f;background-size:16px;", +a=".%2 a.cke_anchor,.%2 a.cke_anchor_empty,.cke_editable.%2 a[name],.cke_editable.%2 a[data-cke-saved-name]{"+b+"padding-%1:18px;cursor:auto;}.%2 img.cke_anchor{"+b+"width:16px;min-height:15px;height:1.15em;vertical-align:text-bottom;}";CKEDITOR.addCss(c("ltr")+c("rtl"))},init:function(c){var b="a[!href]";CKEDITOR.dialog.isTabEnabled(c,"link","advanced")&&(b=b.replace("]",",accesskey,charset,dir,id,lang,name,rel,tabindex,title,type,download]{*}(*)"));CKEDITOR.dialog.isTabEnabled(c,"link","target")&& +(b=b.replace("]",",target,onclick]"));c.addCommand("link",new CKEDITOR.dialogCommand("link",{allowedContent:b,requiredContent:"a[href]"}));c.addCommand("anchor",new CKEDITOR.dialogCommand("anchor",{allowedContent:"a[!name,id]",requiredContent:"a[name]"}));c.addCommand("unlink",new CKEDITOR.unlinkCommand);c.addCommand("removeAnchor",new CKEDITOR.removeAnchorCommand);c.setKeystroke(CKEDITOR.CTRL+76,"link");c.ui.addButton&&(c.ui.addButton("Link",{label:c.lang.link.toolbar,command:"link",toolbar:"links,10"}), +c.ui.addButton("Unlink",{label:c.lang.link.unlink,command:"unlink",toolbar:"links,20"}),c.ui.addButton("Anchor",{label:c.lang.link.anchor.toolbar,command:"anchor",toolbar:"links,30"}));CKEDITOR.dialog.add("link",this.path+"dialogs/link.js");CKEDITOR.dialog.add("anchor",this.path+"dialogs/anchor.js");c.on("doubleclick",function(a){var b=a.data.element.getAscendant({a:1,img:1},!0);b&&!b.isReadOnly()&&(b.is("a")?(a.data.dialog=!b.getAttribute("name")||b.getAttribute("href")&&b.getChildCount()?"link": +"anchor",a.data.link=b):CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,b)&&(a.data.dialog="anchor"))},null,null,0);c.on("doubleclick",function(a){a.data.dialog in{link:1,anchor:1}&&a.data.link&&c.getSelection().selectElement(a.data.link)},null,null,20);c.addMenuItems&&c.addMenuItems({anchor:{label:c.lang.link.anchor.menu,command:"anchor",group:"anchor",order:1},removeAnchor:{label:c.lang.link.anchor.remove,command:"removeAnchor",group:"anchor",order:5},link:{label:c.lang.link.menu,command:"link",group:"link", +order:1},unlink:{label:c.lang.link.unlink,command:"unlink",group:"link",order:5}});c.contextMenu&&c.contextMenu.addListener(function(a){if(!a||a.isReadOnly())return null;a=CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,a);if(!a&&!(a=CKEDITOR.plugins.link.getSelectedLink(c)))return null;var b={};a.getAttribute("href")&&a.getChildCount()&&(b={link:CKEDITOR.TRISTATE_OFF,unlink:CKEDITOR.TRISTATE_OFF});a&&a.hasAttribute("name")&&(b.anchor=b.removeAnchor=CKEDITOR.TRISTATE_OFF);return b});this.compiledProtectionFunction= +n(c)},afterInit:function(c){c.dataProcessor.dataFilter.addRules({elements:{a:function(a){return a.attributes.name?a.children.length?null:c.createFakeParserElement(a,"cke_anchor","anchor"):null}}});var b=c._.elementsPath&&c._.elementsPath.filters;b&&b.push(function(a,b){if("a"==b&&(CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,a)||a.getAttribute("name")&&(!a.getAttribute("href")||!a.getChildCount())))return"anchor"})}});var t=/^javascript:/,u=/^mailto:([^?]+)(?:\?(.+))?$/,v=/subject=([^;?:@&=$,\/]*)/i, +w=/body=([^;?:@&=$,\/]*)/i,x=/^#(.*)$/,y=/^((?:http|https|ftp|news):\/\/)?(.*)$/,z=/^(_(?:self|top|parent|blank))$/,A=/^javascript:void\(location\.href='mailto:'\+String\.fromCharCode\(([^)]+)\)(?:\+'(.*)')?\)$/,B=/^javascript:([^(]+)\(([^)]+)\)$/,C=/\s*window.open\(\s*this\.href\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*;\s*return\s*false;*\s*/,D=/(?:^|,)([^=]+)=(\d+|yes|no)/gi,m={id:"advId",dir:"advLangDir",accessKey:"advAccessKey",name:"advName",lang:"advLangCode",tabindex:"advTabIndex", +title:"advTitle",type:"advContentType","class":"advCSSClasses",charset:"advCharset",style:"advStyles",rel:"advRel"};CKEDITOR.plugins.link={getSelectedLink:function(c,b){var a=c.getSelection(),d=a.getSelectedElement(),f=a.getRanges(),e=[],g;if(!b&&d&&d.is("a"))return d;for(d=0;d<f.length;d++)if(g=a.getRanges()[d],g.shrink(CKEDITOR.SHRINK_ELEMENT,!0,{skipBogus:!0}),(g=c.elementPath(g.getCommonAncestor()).contains("a",1))&&b)e.push(g);else if(g)return g;return b?e:null},getEditorAnchors:function(c){for(var b= +c.editable(),a=b.isInline()&&!c.plugins.divarea?c.document:b,b=a.getElementsByTag("a"),a=a.getElementsByTag("img"),d=[],f=0,e;e=b.getItem(f++);)(e.data("cke-saved-name")||e.hasAttribute("name"))&&d.push({name:e.data("cke-saved-name")||e.getAttribute("name"),id:e.getAttribute("id")});for(f=0;e=a.getItem(f++);)(e=this.tryRestoreFakeAnchor(c,e))&&d.push({name:e.getAttribute("name"),id:e.getAttribute("id")});return d},fakeAnchor:!0,tryRestoreFakeAnchor:function(c,b){if(b&&b.data("cke-real-element-type")&& +"anchor"==b.data("cke-real-element-type")){var a=c.restoreRealElement(b);if(a.data("cke-saved-name"))return a}},parseLinkAttributes:function(c,b){var a=b&&(b.data("cke-saved-href")||b.getAttribute("href"))||"",d=c.plugins.link.compiledProtectionFunction,f=c.config.emailProtection,e,g={};a.match(t)&&("encode"==f?a=a.replace(A,function(a,b,c){c=c||"";return"mailto:"+String.fromCharCode.apply(String,b.split(","))+c.replace(/\\'/g,"'")}):f&&a.replace(B,function(a,b,c){if(b==d.name){g.type="email";a=g.email= +{};b=/(^')|('$)/g;c=c.match(/[^,\s]+/g);for(var e=c.length,f,h,k=0;k<e;k++)f=decodeURIComponent,h=c[k].replace(b,"").replace(/\\'/g,"'"),h=f(h),f=d.params[k].toLowerCase(),a[f]=h;a.address=[a.name,a.domain].join("@")}}));if(!g.type)if(f=a.match(x))g.type="anchor",g.anchor={},g.anchor.name=g.anchor.id=f[1];else if(f=a.match(u)){e=a.match(v);a=a.match(w);g.type="email";var k=g.email={};k.address=f[1];e&&(k.subject=decodeURIComponent(e[1]));a&&(k.body=decodeURIComponent(a[1]))}else a&&(e=a.match(y))&& +(g.type="url",g.url={},g.url.protocol=e[1],g.url.url=e[2]);if(b){if(a=b.getAttribute("target"))g.target={type:a.match(z)?a:"frame",name:a};else if(a=(a=b.data("cke-pa-onclick")||b.getAttribute("onclick"))&&a.match(C))for(g.target={type:"popup",name:a[1]};f=D.exec(a[2]);)"yes"!=f[2]&&"1"!=f[2]||f[1]in{height:1,width:1,top:1,left:1}?isFinite(f[2])&&(g.target[f[1]]=f[2]):g.target[f[1]]=!0;null!==b.getAttribute("download")&&(g.download=!0);var a={},h;for(h in m)(f=b.getAttribute(h))&&(a[m[h]]=f);if(h= +b.data("cke-saved-name")||a.advName)a.advName=h;CKEDITOR.tools.isEmpty(a)||(g.advanced=a)}return g},getLinkAttributes:function(c,b){var a=c.config.emailProtection||"",d={};switch(b.type){case "url":var a=b.url&&void 0!==b.url.protocol?b.url.protocol:"http://",f=b.url&&CKEDITOR.tools.trim(b.url.url)||"";d["data-cke-saved-href"]=0===f.indexOf("/")?f:a+f;break;case "anchor":a=b.anchor&&b.anchor.id;d["data-cke-saved-href"]="#"+(b.anchor&&b.anchor.name||a||"");break;case "email":var e=b.email,f=e.address; +switch(a){case "":case "encode":var g=encodeURIComponent(e.subject||""),k=encodeURIComponent(e.body||""),e=[];g&&e.push("subject\x3d"+g);k&&e.push("body\x3d"+k);e=e.length?"?"+e.join("\x26"):"";"encode"==a?(a=["javascript:void(location.href\x3d'mailto:'+",q(f)],e&&a.push("+'",p(e),"'"),a.push(")")):a=["mailto:",f,e];break;default:a=f.split("@",2),e.name=a[0],e.domain=a[1],a=["javascript:",r(c,e)]}d["data-cke-saved-href"]=a.join("")}if(b.target)if("popup"==b.target.type){for(var a=["window.open(this.href, '", +b.target.name||"","', '"],h="resizable status location toolbar menubar fullscreen scrollbars dependent".split(" "),f=h.length,g=function(a){b.target[a]&&h.push(a+"\x3d"+b.target[a])},e=0;e<f;e++)h[e]+=b.target[h[e]]?"\x3dyes":"\x3dno";g("width");g("left");g("height");g("top");a.push(h.join(","),"'); return false;");d["data-cke-pa-onclick"]=a.join("")}else"notSet"!=b.target.type&&b.target.name&&(d.target=b.target.name);b.download&&(d.download="");if(b.advanced){for(var l in m)(a=b.advanced[m[l]])&& +(d[l]=a);d.name&&(d["data-cke-saved-name"]=d.name)}d["data-cke-saved-href"]&&(d.href=d["data-cke-saved-href"]);l={target:1,onclick:1,"data-cke-pa-onclick":1,"data-cke-saved-name":1,download:1};b.advanced&&CKEDITOR.tools.extend(l,m);for(var n in d)delete l[n];return{set:d,removed:CKEDITOR.tools.objectKeys(l)}},showDisplayTextForElement:function(c,b){var a={img:1,table:1,tbody:1,thead:1,tfoot:1,input:1,select:1,textarea:1},d=b.getSelection();return b.widgets&&b.widgets.focused||d&&1<d.getRanges().length? +!1:!c||!c.getName||!c.is(a)}};CKEDITOR.unlinkCommand=function(){};CKEDITOR.unlinkCommand.prototype={exec:function(c){if(CKEDITOR.env.ie){var b=c.getSelection().getRanges()[0],a=b.getPreviousEditableNode()&&b.getPreviousEditableNode().getAscendant("a",!0)||b.getNextEditableNode()&&b.getNextEditableNode().getAscendant("a",!0),d;b.collapsed&&a&&(d=b.createBookmark(),b.selectNodeContents(a),b.select())}a=new CKEDITOR.style({element:"a",type:CKEDITOR.STYLE_INLINE,alwaysRemoveElement:1});c.removeStyle(a); +d&&(b.moveToBookmark(d),b.select())},refresh:function(c,b){var a=b.lastElement&&b.lastElement.getAscendant("a",!0);a&&"a"==a.getName()&&a.getAttribute("href")&&a.getChildCount()?this.setState(CKEDITOR.TRISTATE_OFF):this.setState(CKEDITOR.TRISTATE_DISABLED)},contextSensitive:1,startDisabled:1,requiredContent:"a[href]",editorFocus:1};CKEDITOR.removeAnchorCommand=function(){};CKEDITOR.removeAnchorCommand.prototype={exec:function(c){var b=c.getSelection(),a=b.createBookmarks(),d;if(b&&(d=b.getSelectedElement())&& +(d.getChildCount()?d.is("a"):CKEDITOR.plugins.link.tryRestoreFakeAnchor(c,d)))d.remove(1);else if(d=CKEDITOR.plugins.link.getSelectedLink(c))d.hasAttribute("href")?(d.removeAttributes({name:1,"data-cke-saved-name":1}),d.removeClass("cke_anchor")):d.remove(1);b.selectBookmarks(a)},requiredContent:"a[name]"};CKEDITOR.tools.extend(CKEDITOR.config,{linkShowAdvancedTab:!0,linkShowTargetTab:!0})})();(function(){function I(b,m,e){function c(c){if(!(!(a=d[c?"getFirst":"getLast"]())||a.is&&a.isBlockBoundary()||!(p=m.root[c?"getPrevious":"getNext"](CKEDITOR.dom.walker.invisible(!0)))||p.is&&p.isBlockBoundary({br:1})))b.document.createElement("br")[c?"insertBefore":"insertAfter"](a)}for(var f=CKEDITOR.plugins.list.listToArray(m.root,e),g=[],k=0;k<m.contents.length;k++){var h=m.contents[k];(h=h.getAscendant("li",!0))&&!h.getCustomData("list_item_processed")&&(g.push(h),CKEDITOR.dom.element.setMarker(e, +h,"list_item_processed",!0))}h=null;for(k=0;k<g.length;k++)h=g[k].getCustomData("listarray_index"),f[h].indent=-1;for(k=h+1;k<f.length;k++)if(f[k].indent>f[k-1].indent+1){g=f[k-1].indent+1-f[k].indent;for(h=f[k].indent;f[k]&&f[k].indent>=h;)f[k].indent+=g,k++;k--}var d=CKEDITOR.plugins.list.arrayToList(f,e,null,b.config.enterMode,m.root.getAttribute("dir")).listNode,a,p;c(!0);c();d.replace(m.root);b.fire("contentDomInvalidated")}function B(b,m){this.name=b;this.context=this.type=m;this.allowedContent= +m+" li";this.requiredContent=m}function E(b,m,e,c){for(var f,g;f=b[c?"getLast":"getFirst"](J);)(g=f.getDirection(1))!==m.getDirection(1)&&f.setAttribute("dir",g),f.remove(),e?f[c?"insertBefore":"insertAfter"](e):m.append(f,c)}function F(b){function m(e){var c=b[e?"getPrevious":"getNext"](u);c&&c.type==CKEDITOR.NODE_ELEMENT&&c.is(b.getName())&&(E(b,c,null,!e),b.remove(),b=c)}m();m(1)}function G(b){return b.type==CKEDITOR.NODE_ELEMENT&&(b.getName()in CKEDITOR.dtd.$block||b.getName()in CKEDITOR.dtd.$listItem)&& +CKEDITOR.dtd[b.getName()]["#"]}function C(b,m,e){b.fire("saveSnapshot");e.enlarge(CKEDITOR.ENLARGE_LIST_ITEM_CONTENTS);var c=e.extractContents();m.trim(!1,!0);var f=m.createBookmark(),g=new CKEDITOR.dom.elementPath(m.startContainer),k=g.block,g=g.lastElement.getAscendant("li",1)||k,h=new CKEDITOR.dom.elementPath(e.startContainer),d=h.contains(CKEDITOR.dtd.$listItem),h=h.contains(CKEDITOR.dtd.$list);k?(k=k.getBogus())&&k.remove():h&&(k=h.getPrevious(u))&&z(k)&&k.remove();(k=c.getLast())&&k.type==CKEDITOR.NODE_ELEMENT&& +k.is("br")&&k.remove();(k=m.startContainer.getChild(m.startOffset))?c.insertBefore(k):m.startContainer.append(c);d&&(c=A(d))&&(g.contains(d)?(E(c,d.getParent(),d),c.remove()):g.append(c));for(;e.checkStartOfBlock()&&e.checkEndOfBlock();){h=e.startPath();c=h.block;if(!c)break;c.is("li")&&(g=c.getParent(),c.equals(g.getLast(u))&&c.equals(g.getFirst(u))&&(c=g));e.moveToPosition(c,CKEDITOR.POSITION_BEFORE_START);c.remove()}e=e.clone();c=b.editable();e.setEndAt(c,CKEDITOR.POSITION_BEFORE_END);e=new CKEDITOR.dom.walker(e); +e.evaluator=function(a){return u(a)&&!z(a)};(e=e.next())&&e.type==CKEDITOR.NODE_ELEMENT&&e.getName()in CKEDITOR.dtd.$list&&F(e);m.moveToBookmark(f);m.select();b.fire("saveSnapshot")}function A(b){return(b=b.getLast(u))&&b.type==CKEDITOR.NODE_ELEMENT&&b.getName()in v?b:null}var v={ol:1,ul:1},K=CKEDITOR.dom.walker.whitespaces(),H=CKEDITOR.dom.walker.bookmark(),u=function(b){return!(K(b)||H(b))},z=CKEDITOR.dom.walker.bogus();CKEDITOR.plugins.list={listToArray:function(b,m,e,c,f){if(!v[b.getName()])return[]; +c||(c=0);e||(e=[]);for(var g=0,k=b.getChildCount();g<k;g++){var h=b.getChild(g);h.type==CKEDITOR.NODE_ELEMENT&&h.getName()in CKEDITOR.dtd.$list&&CKEDITOR.plugins.list.listToArray(h,m,e,c+1);if("li"==h.$.nodeName.toLowerCase()){var d={parent:b,indent:c,element:h,contents:[]};f?d.grandparent=f:(d.grandparent=b.getParent(),d.grandparent&&"li"==d.grandparent.$.nodeName.toLowerCase()&&(d.grandparent=d.grandparent.getParent()));m&&CKEDITOR.dom.element.setMarker(m,h,"listarray_index",e.length);e.push(d); +for(var a=0,p=h.getChildCount(),l;a<p;a++)l=h.getChild(a),l.type==CKEDITOR.NODE_ELEMENT&&v[l.getName()]?CKEDITOR.plugins.list.listToArray(l,m,e,c+1,d.grandparent):d.contents.push(l)}}return e},arrayToList:function(b,m,e,c,f){e||(e=0);if(!b||b.length<e+1)return null;for(var g,k=b[e].parent.getDocument(),h=new CKEDITOR.dom.documentFragment(k),d=null,a=e,p=Math.max(b[e].indent,0),l=null,q,n,t=c==CKEDITOR.ENTER_P?"p":"div";;){var r=b[a];g=r.grandparent;q=r.element.getDirection(1);if(r.indent==p){d&&b[a].parent.getName()== +d.getName()||(d=b[a].parent.clone(!1,1),f&&d.setAttribute("dir",f),h.append(d));l=d.append(r.element.clone(0,1));q!=d.getDirection(1)&&l.setAttribute("dir",q);for(g=0;g<r.contents.length;g++)l.append(r.contents[g].clone(1,1));a++}else if(r.indent==Math.max(p,0)+1)r=b[a-1].element.getDirection(1),a=CKEDITOR.plugins.list.arrayToList(b,null,a,c,r!=q?q:null),!l.getChildCount()&&CKEDITOR.env.needsNbspFiller&&7>=k.$.documentMode&&l.append(k.createText(" ")),l.append(a.listNode),a=a.nextIndex;else if(-1== +r.indent&&!e&&g){v[g.getName()]?(l=r.element.clone(!1,!0),q!=g.getDirection(1)&&l.setAttribute("dir",q)):l=new CKEDITOR.dom.documentFragment(k);var d=g.getDirection(1)!=q,y=r.element,D=y.getAttribute("class"),z=y.getAttribute("style"),A=l.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT&&(c!=CKEDITOR.ENTER_BR||d||z||D),w,B=r.contents.length,x;for(g=0;g<B;g++)if(w=r.contents[g],H(w)&&1<B)A?x=w.clone(1,1):l.append(w.clone(1,1));else if(w.type==CKEDITOR.NODE_ELEMENT&&w.isBlockBoundary()){d&&!w.getDirection()&& +w.setAttribute("dir",q);n=w;var C=y.getAttribute("style");C&&n.setAttribute("style",C.replace(/([^;])$/,"$1;")+(n.getAttribute("style")||""));D&&w.addClass(D);n=null;x&&(l.append(x),x=null);l.append(w.clone(1,1))}else A?(n||(n=k.createElement(t),l.append(n),d&&n.setAttribute("dir",q)),z&&n.setAttribute("style",z),D&&n.setAttribute("class",D),x&&(n.append(x),x=null),n.append(w.clone(1,1))):l.append(w.clone(1,1));x&&((n||l).append(x),x=null);l.type==CKEDITOR.NODE_DOCUMENT_FRAGMENT&&a!=b.length-1&&(CKEDITOR.env.needsBrFiller&& +(q=l.getLast())&&q.type==CKEDITOR.NODE_ELEMENT&&q.is("br")&&q.remove(),(q=l.getLast(u))&&q.type==CKEDITOR.NODE_ELEMENT&&q.is(CKEDITOR.dtd.$block)||l.append(k.createElement("br")));q=l.$.nodeName.toLowerCase();"div"!=q&&"p"!=q||l.appendBogus();h.append(l);d=null;a++}else return null;n=null;if(b.length<=a||Math.max(b[a].indent,0)<p)break}if(m)for(b=h.getFirst();b;){if(b.type==CKEDITOR.NODE_ELEMENT&&(CKEDITOR.dom.element.clearMarkers(m,b),b.getName()in CKEDITOR.dtd.$listItem&&(e=b,k=f=c=void 0,c=e.getDirection()))){for(f= +e.getParent();f&&!(k=f.getDirection());)f=f.getParent();c==k&&e.removeAttribute("dir")}b=b.getNextSourceNode()}return{listNode:h,nextIndex:a}}};var L=/^h[1-6]$/,J=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_ELEMENT);B.prototype={exec:function(b){this.refresh(b,b.elementPath());var m=b.config,e=b.getSelection(),c=e&&e.getRanges();if(this.state==CKEDITOR.TRISTATE_OFF){var f=b.editable();if(f.getFirst(u)){var g=1==c.length&&c[0];(m=g&&g.getEnclosedNode())&&m.is&&this.type==m.getName()&&this.setState(CKEDITOR.TRISTATE_ON)}else m.enterMode== +CKEDITOR.ENTER_BR?f.appendBogus():c[0].fixBlock(1,m.enterMode==CKEDITOR.ENTER_P?"p":"div"),e.selectRanges(c)}for(var m=e.createBookmarks(!0),f=[],k={},c=c.createIterator(),h=0;(g=c.getNextRange())&&++h;){var d=g.getBoundaryNodes(),a=d.startNode,p=d.endNode;a.type==CKEDITOR.NODE_ELEMENT&&"td"==a.getName()&&g.setStartAt(d.startNode,CKEDITOR.POSITION_AFTER_START);p.type==CKEDITOR.NODE_ELEMENT&&"td"==p.getName()&&g.setEndAt(d.endNode,CKEDITOR.POSITION_BEFORE_END);g=g.createIterator();for(g.forceBrBreak= +this.state==CKEDITOR.TRISTATE_OFF;d=g.getNextParagraph();)if(!d.getCustomData("list_block")){CKEDITOR.dom.element.setMarker(k,d,"list_block",1);for(var l=b.elementPath(d),a=l.elements,p=0,l=l.blockLimit,q,n=a.length-1;0<=n&&(q=a[n]);n--)if(v[q.getName()]&&l.contains(q)){l.removeCustomData("list_group_object_"+h);(a=q.getCustomData("list_group_object"))?a.contents.push(d):(a={root:q,contents:[d]},f.push(a),CKEDITOR.dom.element.setMarker(k,q,"list_group_object",a));p=1;break}p||(p=l,p.getCustomData("list_group_object_"+ +h)?p.getCustomData("list_group_object_"+h).contents.push(d):(a={root:p,contents:[d]},CKEDITOR.dom.element.setMarker(k,p,"list_group_object_"+h,a),f.push(a)))}}for(q=[];0<f.length;)if(a=f.shift(),this.state==CKEDITOR.TRISTATE_OFF)if(v[a.root.getName()]){c=b;h=a;a=k;g=q;p=CKEDITOR.plugins.list.listToArray(h.root,a);l=[];for(d=0;d<h.contents.length;d++)n=h.contents[d],(n=n.getAscendant("li",!0))&&!n.getCustomData("list_item_processed")&&(l.push(n),CKEDITOR.dom.element.setMarker(a,n,"list_item_processed", +!0));for(var n=h.root.getDocument(),t=void 0,r=void 0,d=0;d<l.length;d++){var y=l[d].getCustomData("listarray_index"),t=p[y].parent;t.is(this.type)||(r=n.createElement(this.type),t.copyAttributes(r,{start:1,type:1}),r.removeStyle("list-style-type"),p[y].parent=r)}a=CKEDITOR.plugins.list.arrayToList(p,a,null,c.config.enterMode);p=void 0;l=a.listNode.getChildCount();for(d=0;d<l&&(p=a.listNode.getChild(d));d++)p.getName()==this.type&&g.push(p);a.listNode.replace(h.root);c.fire("contentDomInvalidated")}else{p= +b;g=a;d=q;l=g.contents;c=g.root.getDocument();h=[];1==l.length&&l[0].equals(g.root)&&(a=c.createElement("div"),l[0].moveChildren&&l[0].moveChildren(a),l[0].append(a),l[0]=a);g=g.contents[0].getParent();for(n=0;n<l.length;n++)g=g.getCommonAncestor(l[n].getParent());t=p.config.useComputedState;p=a=void 0;t=void 0===t||t;for(n=0;n<l.length;n++)for(r=l[n];y=r.getParent();){if(y.equals(g)){h.push(r);!p&&r.getDirection()&&(p=1);r=r.getDirection(t);null!==a&&(a=a&&a!=r?null:r);break}r=y}if(!(1>h.length)){l= +h[h.length-1].getNext();n=c.createElement(this.type);d.push(n);for(t=d=void 0;h.length;)d=h.shift(),t=c.createElement("li"),r=d,r.is("pre")||L.test(r.getName())||"false"==r.getAttribute("contenteditable")?d.appendTo(t):(d.copyAttributes(t),a&&d.getDirection()&&(t.removeStyle("direction"),t.removeAttribute("dir")),d.moveChildren(t),d.remove()),t.appendTo(n);a&&p&&n.setAttribute("dir",a);l?n.insertBefore(l):n.appendTo(g)}}else this.state==CKEDITOR.TRISTATE_ON&&v[a.root.getName()]&&I.call(this,b,a,k); +for(n=0;n<q.length;n++)F(q[n]);CKEDITOR.dom.element.clearAllMarkers(k);e.selectBookmarks(m);b.focus()},refresh:function(b,m){var e=m.contains(v,1),c=m.blockLimit||m.root;e&&c.contains(e)?this.setState(e.is(this.type)?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF):this.setState(CKEDITOR.TRISTATE_OFF)}};CKEDITOR.plugins.add("list",{requires:"indentlist",init:function(b){b.blockless||(b.addCommand("numberedlist",new B("numberedlist","ol")),b.addCommand("bulletedlist",new B("bulletedlist","ul")),b.ui.addButton&& +(b.ui.addButton("NumberedList",{label:b.lang.list.numberedlist,command:"numberedlist",directional:!0,toolbar:"list,10"}),b.ui.addButton("BulletedList",{label:b.lang.list.bulletedlist,command:"bulletedlist",directional:!0,toolbar:"list,20"})),b.on("key",function(m){var e=m.data.domEvent.getKey(),c;if("wysiwyg"==b.mode&&e in{8:1,46:1}){var f=b.getSelection().getRanges()[0],g=f&&f.startPath();if(f&&f.collapsed){var k=8==e,h=b.editable(),d=new CKEDITOR.dom.walker(f.clone());d.evaluator=function(a){return u(a)&& +!z(a)};d.guard=function(a,b){return!(b&&a.type==CKEDITOR.NODE_ELEMENT&&a.is("table"))};e=f.clone();if(k){var a;(a=g.contains(v))&&f.checkBoundaryOfElement(a,CKEDITOR.START)&&(a=a.getParent())&&a.is("li")&&(a=A(a))?(c=a,a=a.getPrevious(u),e.moveToPosition(a&&z(a)?a:c,CKEDITOR.POSITION_BEFORE_START)):(d.range.setStartAt(h,CKEDITOR.POSITION_AFTER_START),d.range.setEnd(f.startContainer,f.startOffset),(a=d.previous())&&a.type==CKEDITOR.NODE_ELEMENT&&(a.getName()in v||a.is("li"))&&(a.is("li")||(d.range.selectNodeContents(a), +d.reset(),d.evaluator=G,a=d.previous()),c=a,e.moveToElementEditEnd(c),e.moveToPosition(e.endPath().block,CKEDITOR.POSITION_BEFORE_END)));if(c)C(b,e,f),m.cancel();else{var p=g.contains(v);p&&f.checkBoundaryOfElement(p,CKEDITOR.START)&&(c=p.getFirst(u),f.checkBoundaryOfElement(c,CKEDITOR.START)&&(a=p.getPrevious(u),A(c)?a&&(f.moveToElementEditEnd(a),f.select()):b.execCommand("outdent"),m.cancel()))}}else if(c=g.contains("li")){if(d.range.setEndAt(h,CKEDITOR.POSITION_BEFORE_END),k=(h=c.getLast(u))&& +G(h)?h:c,g=0,(a=d.next())&&a.type==CKEDITOR.NODE_ELEMENT&&a.getName()in v&&a.equals(h)?(g=1,a=d.next()):f.checkBoundaryOfElement(k,CKEDITOR.END)&&(g=2),g&&a){f=f.clone();f.moveToElementEditStart(a);if(1==g&&(e.optimize(),!e.startContainer.equals(c))){for(c=e.startContainer;c.is(CKEDITOR.dtd.$inline);)p=c,c=c.getParent();p&&e.moveToPosition(p,CKEDITOR.POSITION_AFTER_END)}2==g&&(e.moveToPosition(e.endPath().block,CKEDITOR.POSITION_BEFORE_END),f.endPath().block&&f.moveToPosition(f.endPath().block,CKEDITOR.POSITION_AFTER_START)); +C(b,e,f);m.cancel()}}else d.range.setEndAt(h,CKEDITOR.POSITION_BEFORE_END),(a=d.next())&&a.type==CKEDITOR.NODE_ELEMENT&&a.is(v)&&(a=a.getFirst(u),g.block&&f.checkStartOfBlock()&&f.checkEndOfBlock()?(g.block.remove(),f.moveToElementEditStart(a),f.select()):A(a)?(f.moveToElementEditStart(a),f.select()):(f=f.clone(),f.moveToElementEditStart(a),C(b,e,f)),m.cancel());setTimeout(function(){b.selectionChange(1)})}}}))}})})();(function(){CKEDITOR.plugins.liststyle={requires:"dialog,contextmenu",init:function(a){if(!a.blockless){var b;b=new CKEDITOR.dialogCommand("numberedListStyle",{requiredContent:"ol",allowedContent:"ol{list-style-type}[start]; li{list-style-type}[value]",contentTransformations:[["ol: listTypeToStyle"]]});b=a.addCommand("numberedListStyle",b);a.addFeature(b);CKEDITOR.dialog.add("numberedListStyle",this.path+"dialogs/liststyle.js");b=new CKEDITOR.dialogCommand("bulletedListStyle",{requiredContent:"ul", +allowedContent:"ul{list-style-type}",contentTransformations:[["ul: listTypeToStyle"]]});b=a.addCommand("bulletedListStyle",b);a.addFeature(b);CKEDITOR.dialog.add("bulletedListStyle",this.path+"dialogs/liststyle.js");a.addMenuGroup("list",108);a.addMenuItems({numberedlist:{label:a.lang.liststyle.numberedTitle,group:"list",command:"numberedListStyle"},bulletedlist:{label:a.lang.liststyle.bulletedTitle,group:"list",command:"bulletedListStyle"}});a.contextMenu.addListener(function(a){if(!a||a.isReadOnly())return null; +for(;a;){var b=a.getName();if("ol"==b)return{numberedlist:CKEDITOR.TRISTATE_OFF};if("ul"==b)return{bulletedlist:CKEDITOR.TRISTATE_OFF};a=a.getParent()}return null})}}};CKEDITOR.plugins.add("liststyle",CKEDITOR.plugins.liststyle)})();(function(){function V(a,c,d){return n(c)&&n(d)&&d.equals(c.getNext(function(a){return!(E(a)||F(a)||u(a))}))}function z(a){this.upper=a[0];this.lower=a[1];this.set.apply(this,a.slice(2))}function O(a){var c=a.element;if(c&&n(c)&&(c=c.getAscendant(a.triggers,!0))&&a.editable.contains(c)){var d=P(c);if("true"==d.getAttribute("contenteditable"))return c;if(d.is(a.triggers))return d}return null}function ka(a,c,d){r(a,c);r(a,d);a=c.size.bottom;d=d.size.top;return a&&d?0|(a+d)/2:a||d}function w(a,c,d){return c= +c[d?"getPrevious":"getNext"](function(b){return b&&b.type==CKEDITOR.NODE_TEXT&&!E(b)||n(b)&&!u(b)&&!A(a,b)})}function q(a,c,d){return a>c&&a<d}function P(a,c){if(a.data("cke-editable"))return null;for(c||(a=a.getParent());a&&!a.data("cke-editable");){if(a.hasAttribute("contenteditable"))return a;a=a.getParent()}return null}function la(a){var c=a.doc,d=G('\x3cspan contenteditable\x3d"false" data-cke-magic-line\x3d"1" style\x3d"'+Q+"position:absolute;border-top:1px dashed "+a.boxColor+'"\x3e\x3c/span\x3e', +c),b=CKEDITOR.getUrl(this.path+"images/"+(t.hidpi?"hidpi/":"")+"icon"+(a.rtl?"-rtl":"")+".png");v(d,{attach:function(){this.wrap.getParent()||this.wrap.appendTo(a.editable,!0);return this},lineChildren:[v(G('\x3cspan title\x3d"'+a.editor.lang.magicline.title+'" contenteditable\x3d"false"\x3e\x26#8629;\x3c/span\x3e',c),{base:Q+"height:17px;width:17px;"+(a.rtl?"left":"right")+":17px;background:url("+b+") center no-repeat "+a.boxColor+";cursor:pointer;"+(t.hc?"font-size: 15px;line-height:14px;border:1px solid #fff;text-align:center;": +"")+(t.hidpi?"background-size: 9px 10px;":""),looks:["top:-8px; border-radius: 2px;","top:-17px; border-radius: 2px 2px 0px 0px;","top:-1px; border-radius: 0px 0px 2px 2px;"]}),v(G(W,c),{base:X+"left:0px;border-left-color:"+a.boxColor+";",looks:["border-width:8px 0 8px 8px;top:-8px","border-width:8px 0 0 8px;top:-8px","border-width:0 0 8px 8px;top:0px"]}),v(G(W,c),{base:X+"right:0px;border-right-color:"+a.boxColor+";",looks:["border-width:8px 8px 8px 0;top:-8px","border-width:8px 8px 0 0;top:-8px", +"border-width:0 8px 8px 0;top:0px"]})],detach:function(){this.wrap.getParent()&&this.wrap.remove();return this},mouseNear:function(){r(a,this);var b=a.holdDistance,c=this.size;return c&&q(a.mouse.y,c.top-b,c.bottom+b)&&q(a.mouse.x,c.left-b,c.right+b)?!0:!1},place:function(){var b=a.view,c=a.editable,d=a.trigger,h=d.upper,g=d.lower,l=h||g,p=l.getParent(),m={};this.trigger=d;h&&r(a,h,!0);g&&r(a,g,!0);r(a,p,!0);a.inInlineMode&&H(a,!0);p.equals(c)?(m.left=b.scroll.x,m.right=-b.scroll.x,m.width=""):(m.left= +l.size.left-l.size.margin.left+b.scroll.x-(a.inInlineMode?b.editable.left+b.editable.border.left:0),m.width=l.size.outerWidth+l.size.margin.left+l.size.margin.right+b.scroll.x,m.right="");h&&g?m.top=h.size.margin.bottom===g.size.margin.top?0|h.size.bottom+h.size.margin.bottom/2:h.size.margin.bottom<g.size.margin.top?h.size.bottom+h.size.margin.bottom:h.size.bottom+h.size.margin.bottom-g.size.margin.top:h?g||(m.top=h.size.bottom+h.size.margin.bottom):m.top=g.size.top-g.size.margin.top;d.is(C)||q(m.top, +b.scroll.y-15,b.scroll.y+5)?(m.top=a.inInlineMode?0:b.scroll.y,this.look(C)):d.is(D)||q(m.top,b.pane.bottom-5,b.pane.bottom+15)?(m.top=a.inInlineMode?b.editable.height+b.editable.padding.top+b.editable.padding.bottom:b.pane.bottom-1,this.look(D)):(a.inInlineMode&&(m.top-=b.editable.top+b.editable.border.top),this.look(x));a.inInlineMode&&(m.top--,m.top+=b.editable.scroll.top,m.left+=b.editable.scroll.left);for(var n in m)m[n]=CKEDITOR.tools.cssLength(m[n]);this.setStyles(m)},look:function(a){if(this.oldLook!= +a){for(var b=this.lineChildren.length,c;b--;)(c=this.lineChildren[b]).setAttribute("style",c.base+c.looks[0|a/2]);this.oldLook=a}},wrap:new R("span",a.doc)});for(c=d.lineChildren.length;c--;)d.lineChildren[c].appendTo(d);d.look(x);d.appendTo(d.wrap);d.unselectable();d.lineChildren[0].on("mouseup",function(b){d.detach();S(a,function(b){var c=a.line.trigger;b[c.is(I)?"insertBefore":"insertAfter"](c.is(I)?c.lower:c.upper)},!0);a.editor.focus();t.ie||a.enterMode==CKEDITOR.ENTER_BR||a.hotNode.scrollIntoView(); +b.data.preventDefault(!0)});d.on("mousedown",function(a){a.data.preventDefault(!0)});a.line=d}function S(a,c,d){var b=new CKEDITOR.dom.range(a.doc),e=a.editor,f;t.ie&&a.enterMode==CKEDITOR.ENTER_BR?f=a.doc.createText(J):(f=(f=P(a.element,!0))&&f.data("cke-enter-mode")||a.enterMode,f=new R(K[f],a.doc),f.is("br")||a.doc.createText(J).appendTo(f));d&&e.fire("saveSnapshot");c(f);b.moveToPosition(f,CKEDITOR.POSITION_AFTER_START);e.getSelection().selectRanges([b]);a.hotNode=f;d&&e.fire("saveSnapshot")} +function Y(a,c){return{canUndo:!0,modes:{wysiwyg:1},exec:function(){function d(b){var d=t.ie&&9>t.version?" ":J,f=a.hotNode&&a.hotNode.getText()==d&&a.element.equals(a.hotNode)&&a.lastCmdDirection===!!c;S(a,function(d){f&&a.hotNode&&a.hotNode.remove();d[c?"insertAfter":"insertBefore"](b);d.setAttributes({"data-cke-magicline-hot":1,"data-cke-magicline-dir":!!c});a.lastCmdDirection=!!c});t.ie||a.enterMode==CKEDITOR.ENTER_BR||a.hotNode.scrollIntoView();a.line.detach()}return function(b){b=b.getSelection().getStartElement(); +var e;b=b.getAscendant(Z,1);if(!aa(a,b)&&b&&!b.equals(a.editable)&&!b.contains(a.editable)){(e=P(b))&&"false"==e.getAttribute("contenteditable")&&(b=e);a.element=b;e=w(a,b,!c);var f;n(e)&&e.is(a.triggers)&&e.is(ma)&&(!w(a,e,!c)||(f=w(a,e,!c))&&n(f)&&f.is(a.triggers))?d(e):(f=O(a,b),n(f)&&(w(a,f,!c)?(b=w(a,f,!c))&&n(b)&&b.is(a.triggers)&&d(f):d(f)))}}}()}}function A(a,c){if(!c||c.type!=CKEDITOR.NODE_ELEMENT||!c.$)return!1;var d=a.line;return d.wrap.equals(c)||d.wrap.contains(c)}function n(a){return a&& +a.type==CKEDITOR.NODE_ELEMENT&&a.$}function u(a){if(!n(a))return!1;var c;(c=ba(a))||(n(a)?(c={left:1,right:1,center:1},c=!(!c[a.getComputedStyle("float")]&&!c[a.getAttribute("align")])):c=!1);return c}function ba(a){return!!{absolute:1,fixed:1}[a.getComputedStyle("position")]}function L(a,c){return n(c)?c.is(a.triggers):null}function aa(a,c){if(!c)return!1;for(var d=c.getParents(1),b=d.length;b--;)for(var e=a.tabuList.length;e--;)if(d[b].hasAttribute(a.tabuList[e]))return!0;return!1}function na(a, +c,d){c=c[d?"getLast":"getFirst"](function(b){return a.isRelevant(b)&&!b.is(oa)});if(!c)return!1;r(a,c);return d?c.size.top>a.mouse.y:c.size.bottom<a.mouse.y}function ca(a){var c=a.editable,d=a.mouse,b=a.view,e=a.triggerOffset;H(a);var f=d.y>(a.inInlineMode?b.editable.top+b.editable.height/2:Math.min(b.editable.height,b.pane.height)/2),c=c[f?"getLast":"getFirst"](function(a){return!(E(a)||F(a))});if(!c)return null;A(a,c)&&(c=a.line.wrap[f?"getPrevious":"getNext"](function(a){return!(E(a)||F(a))})); +if(!n(c)||u(c)||!L(a,c))return null;r(a,c);return!f&&0<=c.size.top&&q(d.y,0,c.size.top+e)?(a=a.inInlineMode||0===b.scroll.y?C:x,new z([null,c,I,M,a])):f&&c.size.bottom<=b.pane.height&&q(d.y,c.size.bottom-e,b.pane.height)?(a=a.inInlineMode||q(c.size.bottom,b.pane.height-e,b.pane.height)?D:x,new z([c,null,da,M,a])):null}function ea(a){var c=a.mouse,d=a.view,b=a.triggerOffset,e=O(a);if(!e)return null;r(a,e);var b=Math.min(b,0|e.size.outerHeight/2),f=[],k,h;if(q(c.y,e.size.top-1,e.size.top+b))h=!1;else if(q(c.y, +e.size.bottom-b,e.size.bottom+1))h=!0;else return null;if(u(e)||na(a,e,h)||e.getParent().is(fa))return null;var g=w(a,e,!h);if(g){if(g&&g.type==CKEDITOR.NODE_TEXT)return null;if(n(g)){if(u(g)||!L(a,g)||g.getParent().is(fa))return null;f=[g,e][h?"reverse":"concat"]().concat([T,M])}}else e.equals(a.editable[h?"getLast":"getFirst"](a.isRelevant))?(H(a),h&&q(c.y,e.size.bottom-b,d.pane.height)&&q(e.size.bottom,d.pane.height-b,d.pane.height)?k=D:q(c.y,0,e.size.top+b)&&(k=C)):k=x,f=[null,e][h?"reverse": +"concat"]().concat([h?da:I,M,k,e.equals(a.editable[h?"getLast":"getFirst"](a.isRelevant))?h?D:C:x]);return 0 in f?new z(f):null}function U(a,c,d,b){for(var e=c.getDocumentPosition(),f={},k={},h={},g={},l=y.length;l--;)f[y[l]]=parseInt(c.getComputedStyle.call(c,"border-"+y[l]+"-width"),10)||0,h[y[l]]=parseInt(c.getComputedStyle.call(c,"padding-"+y[l]),10)||0,k[y[l]]=parseInt(c.getComputedStyle.call(c,"margin-"+y[l]),10)||0;d&&!b||N(a,b);g.top=e.y-(d?0:a.view.scroll.y);g.left=e.x-(d?0:a.view.scroll.x); +g.outerWidth=c.$.offsetWidth;g.outerHeight=c.$.offsetHeight;g.height=g.outerHeight-(h.top+h.bottom+f.top+f.bottom);g.width=g.outerWidth-(h.left+h.right+f.left+f.right);g.bottom=g.top+g.outerHeight;g.right=g.left+g.outerWidth;a.inInlineMode&&(g.scroll={top:c.$.scrollTop,left:c.$.scrollLeft});return v({border:f,padding:h,margin:k,ignoreScroll:d},g,!0)}function r(a,c,d){if(!n(c))return c.size=null;if(!c.size)c.size={};else if(c.size.ignoreScroll==d&&c.size.date>new Date-ga)return null;return v(c.size, +U(a,c,d),{date:+new Date},!0)}function H(a,c){a.view.editable=U(a,a.editable,c,!0)}function N(a,c){a.view||(a.view={});var d=a.view;if(!(!c&&d&&d.date>new Date-ga)){var b=a.win,d=b.getScrollPosition(),b=b.getViewPaneSize();v(a.view,{scroll:{x:d.x,y:d.y,width:a.doc.$.documentElement.scrollWidth-b.width,height:a.doc.$.documentElement.scrollHeight-b.height},pane:{width:b.width,height:b.height,bottom:b.height+d.y},date:+new Date},!0)}}function pa(a,c,d,b){for(var e=b,f=b,k=0,h=!1,g=!1,l=a.view.pane.height, +p=a.mouse;p.y+k<l&&0<p.y-k;){h||(h=c(e,b));g||(g=c(f,b));!h&&0<p.y-k&&(e=d(a,{x:p.x,y:p.y-k}));!g&&p.y+k<l&&(f=d(a,{x:p.x,y:p.y+k}));if(h&&g)break;k+=2}return new z([e,f,null,null])}CKEDITOR.plugins.add("magicline",{init:function(a){var c=a.config,d=c.magicline_triggerOffset||30,b={editor:a,enterMode:c.enterMode,triggerOffset:d,holdDistance:0|d*(c.magicline_holdDistance||.5),boxColor:c.magicline_color||"#ff0000",rtl:"rtl"==c.contentsLangDirection,tabuList:["data-cke-hidden-sel"].concat(c.magicline_tabuList|| +[]),triggers:c.magicline_everywhere?Z:{table:1,hr:1,div:1,ul:1,ol:1,dl:1,form:1,blockquote:1}},e,f,k;b.isRelevant=function(a){return n(a)&&!A(b,a)&&!u(a)};a.on("contentDom",function(){var d=a.editable(),g=a.document,l=a.window;v(b,{editable:d,inInlineMode:d.isInline(),doc:g,win:l,hotNode:null},!0);b.boundary=b.inInlineMode?b.editable:b.doc.getDocumentElement();d.is(B.$inline)||(b.inInlineMode&&!ba(d)&&d.setStyles({position:"relative",top:null,left:null}),la.call(this,b),N(b),d.attachListener(a,"beforeUndoImage", +function(){b.line.detach()}),d.attachListener(a,"beforeGetData",function(){b.line.wrap.getParent()&&(b.line.detach(),a.once("getData",function(){b.line.attach()},null,null,1E3))},null,null,0),d.attachListener(b.inInlineMode?g:g.getWindow().getFrame(),"mouseout",function(c){if("wysiwyg"==a.mode)if(b.inInlineMode){var d=c.data.$.clientX;c=c.data.$.clientY;N(b);H(b,!0);var e=b.view.editable,f=b.view.scroll;d>e.left-f.x&&d<e.right-f.x&&c>e.top-f.y&&c<e.bottom-f.y||(clearTimeout(k),k=null,b.line.detach())}else clearTimeout(k), +k=null,b.line.detach()}),d.attachListener(d,"keyup",function(){b.hiddenMode=0}),d.attachListener(d,"keydown",function(c){if("wysiwyg"==a.mode)switch(c.data.getKeystroke()){case 2228240:case 16:b.hiddenMode=1,b.line.detach()}}),d.attachListener(b.inInlineMode?d:g,"mousemove",function(c){f=!0;if("wysiwyg"==a.mode&&!a.readOnly&&!k){var d={x:c.data.$.clientX,y:c.data.$.clientY};k=setTimeout(function(){b.mouse=d;k=b.trigger=null;N(b);f&&!b.hiddenMode&&a.focusManager.hasFocus&&!b.line.mouseNear()&&(b.element= +ha(b,!0))&&((b.trigger=ca(b)||ea(b)||ia(b))&&!aa(b,b.trigger.upper||b.trigger.lower)?b.line.attach().place():(b.trigger=null,b.line.detach()),f=!1)},30)}}),d.attachListener(l,"scroll",function(){"wysiwyg"==a.mode&&(b.line.detach(),t.webkit&&(b.hiddenMode=1,clearTimeout(e),e=setTimeout(function(){b.mouseDown||(b.hiddenMode=0)},50)))}),d.attachListener(ja?g:l,"mousedown",function(){"wysiwyg"==a.mode&&(b.line.detach(),b.hiddenMode=1,b.mouseDown=1)}),d.attachListener(ja?g:l,"mouseup",function(){b.hiddenMode= +0;b.mouseDown=0}),a.addCommand("accessPreviousSpace",Y(b)),a.addCommand("accessNextSpace",Y(b,!0)),a.setKeystroke([[c.magicline_keystrokePrevious,"accessPreviousSpace"],[c.magicline_keystrokeNext,"accessNextSpace"]]),a.on("loadSnapshot",function(){var c,d,e,f;for(f in{p:1,br:1,div:1})for(c=a.document.getElementsByTag(f),e=c.count();e--;)if((d=c.getItem(e)).data("cke-magicline-hot")){b.hotNode=d;b.lastCmdDirection="true"===d.data("cke-magicline-dir")?!0:!1;return}}),this.backdoor={accessFocusSpace:S, +boxTrigger:z,isLine:A,getAscendantTrigger:O,getNonEmptyNeighbour:w,getSize:U,that:b,triggerEdge:ea,triggerEditable:ca,triggerExpand:ia})},this)}});var v=CKEDITOR.tools.extend,R=CKEDITOR.dom.element,G=R.createFromHtml,t=CKEDITOR.env,ja=CKEDITOR.env.ie&&9>CKEDITOR.env.version,B=CKEDITOR.dtd,K={},I=128,da=64,T=32,M=16,C=4,D=2,x=1,J=" ",fa=B.$listItem,oa=B.$tableContent,ma=v({},B.$nonEditable,B.$empty),Z=B.$block,ga=100,Q="width:0px;height:0px;padding:0px;margin:0px;display:block;z-index:9999;color:#fff;position:absolute;font-size: 0px;line-height:0px;", +X=Q+"border-color:transparent;display:block;border-style:solid;",W="\x3cspan\x3e"+J+"\x3c/span\x3e";K[CKEDITOR.ENTER_BR]="br";K[CKEDITOR.ENTER_P]="p";K[CKEDITOR.ENTER_DIV]="div";z.prototype={set:function(a,c,d){this.properties=a+c+(d||x);return this},is:function(a){return(this.properties&a)==a}};var ha=function(){function a(a,d){var b=a.$.elementFromPoint(d.x,d.y);return b&&b.nodeType?new CKEDITOR.dom.element(b):null}return function(c,d,b){if(!c.mouse)return null;var e=c.doc,f=c.line.wrap;b=b||c.mouse; +var k=a(e,b);d&&A(c,k)&&(f.hide(),k=a(e,b),f.show());return!k||k.type!=CKEDITOR.NODE_ELEMENT||!k.$||t.ie&&9>t.version&&!c.boundary.equals(k)&&!c.boundary.contains(k)?null:k}}(),E=CKEDITOR.dom.walker.whitespaces(),F=CKEDITOR.dom.walker.nodeType(CKEDITOR.NODE_COMMENT),ia=function(){function a(a){var b=a.element,e,f,k;if(!n(b)||b.contains(a.editable)||b.isReadOnly())return null;k=pa(a,function(a,b){return!b.equals(a)},function(a,b){return ha(a,!0,b)},b);e=k.upper;f=k.lower;if(V(a,e,f))return k.set(T, +8);if(e&&b.contains(e))for(;!e.getParent().equals(b);)e=e.getParent();else e=b.getFirst(function(b){return c(a,b)});if(f&&b.contains(f))for(;!f.getParent().equals(b);)f=f.getParent();else f=b.getLast(function(b){return c(a,b)});if(!e||!f)return null;r(a,e);r(a,f);if(!q(a.mouse.y,e.size.top,f.size.bottom))return null;for(var b=Number.MAX_VALUE,h,g,l,p;f&&!f.equals(e)&&(g=e.getNext(a.isRelevant));)h=Math.abs(ka(a,e,g)-a.mouse.y),h<b&&(b=h,l=e,p=g),e=g,r(a,e);if(!l||!p||!q(a.mouse.y,l.size.top,p.size.bottom))return null; +k.upper=l;k.lower=p;return k.set(T,8)}function c(a,b){return!(b&&b.type==CKEDITOR.NODE_TEXT||F(b)||u(b)||A(a,b)||b.type==CKEDITOR.NODE_ELEMENT&&b.$&&b.is("br"))}return function(c){var b=a(c),e;if(e=b){e=b.upper;var f=b.lower;e=!e||!f||u(f)||u(e)||f.equals(e)||e.equals(f)||f.contains(e)||e.contains(f)?!1:L(c,e)&&L(c,f)&&V(c,e,f)?!0:!1}return e?b:null}}(),y=["top","left","right","bottom"]})();CKEDITOR.config.magicline_keystrokePrevious=CKEDITOR.CTRL+CKEDITOR.SHIFT+51; +CKEDITOR.config.magicline_keystrokeNext=CKEDITOR.CTRL+CKEDITOR.SHIFT+52;(function(){function n(a){if(!a||a.type!=CKEDITOR.NODE_ELEMENT||"form"!=a.getName())return[];for(var e=[],f=["style","className"],b=0;b<f.length;b++){var c=a.$.elements.namedItem(f[b]);c&&(c=new CKEDITOR.dom.element(c),e.push([c,c.nextSibling]),c.remove())}return e}function t(a,e){if(a&&a.type==CKEDITOR.NODE_ELEMENT&&"form"==a.getName()&&0<e.length)for(var f=e.length-1;0<=f;f--){var b=e[f][0],c=e[f][1];c?b.insertBefore(c):b.appendTo(a)}}function r(a,e){var f=n(a),b={},c=a.$;e||(b["class"]=c.className|| +"",c.className="");b.inline=c.style.cssText||"";e||(c.style.cssText="position: static; overflow: visible");t(f);return b}function u(a,e){var f=n(a),b=a.$;"class"in e&&(b.className=e["class"]);"inline"in e&&(b.style.cssText=e.inline);t(f)}function v(a){if(!a.editable().isInline()){var e=CKEDITOR.instances,f;for(f in e){var b=e[f];"wysiwyg"!=b.mode||b.readOnly||(b=b.document.getBody(),b.setAttribute("contentEditable",!1),b.setAttribute("contentEditable",!0))}a.editable().hasFocus&&(a.toolbox.focus(), +a.focus())}}CKEDITOR.plugins.add("maximize",{init:function(a){function e(){var b=c.getViewPaneSize();a.resize(b.width,b.height,null,!0)}if(a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE){var f=a.lang,b=CKEDITOR.document,c=b.getWindow(),l,m,p,n=CKEDITOR.TRISTATE_OFF;a.addCommand("maximize",{modes:{wysiwyg:!CKEDITOR.env.iOS,source:!CKEDITOR.env.iOS},readOnly:1,editorFocus:!1,exec:function(){var h=a.container.getFirst(function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.hasClass("cke_inner")}),g=a.ui.space("contents"); +if("wysiwyg"==a.mode){var d=a.getSelection();l=d&&d.getRanges();m=c.getScrollPosition()}else{var k=a.editable().$;l=!CKEDITOR.env.ie&&[k.selectionStart,k.selectionEnd];m=[k.scrollLeft,k.scrollTop]}if(this.state==CKEDITOR.TRISTATE_OFF){c.on("resize",e);p=c.getScrollPosition();for(d=a.container;d=d.getParent();)d.setCustomData("maximize_saved_styles",r(d)),d.setStyle("z-index",a.config.baseFloatZIndex-5);g.setCustomData("maximize_saved_styles",r(g,!0));h.setCustomData("maximize_saved_styles",r(h,!0)); +g={overflow:CKEDITOR.env.webkit?"":"hidden",width:0,height:0};b.getDocumentElement().setStyles(g);!CKEDITOR.env.gecko&&b.getDocumentElement().setStyle("position","fixed");CKEDITOR.env.gecko&&CKEDITOR.env.quirks||b.getBody().setStyles(g);CKEDITOR.env.ie?setTimeout(function(){c.$.scrollTo(0,0)},0):c.$.scrollTo(0,0);h.setStyle("position",CKEDITOR.env.gecko&&CKEDITOR.env.quirks?"fixed":"absolute");h.$.offsetLeft;h.setStyles({"z-index":a.config.baseFloatZIndex-5,left:"0px",top:"0px"});h.addClass("cke_maximized"); +e();g=h.getDocumentPosition();h.setStyles({left:-1*g.x+"px",top:-1*g.y+"px"});CKEDITOR.env.gecko&&v(a)}else if(this.state==CKEDITOR.TRISTATE_ON){c.removeListener("resize",e);for(var d=[g,h],q=0;q<d.length;q++)u(d[q],d[q].getCustomData("maximize_saved_styles")),d[q].removeCustomData("maximize_saved_styles");for(d=a.container;d=d.getParent();)u(d,d.getCustomData("maximize_saved_styles")),d.removeCustomData("maximize_saved_styles");CKEDITOR.env.ie?setTimeout(function(){c.$.scrollTo(p.x,p.y)},0):c.$.scrollTo(p.x, +p.y);h.removeClass("cke_maximized");CKEDITOR.env.webkit&&(h.setStyle("display","inline"),setTimeout(function(){h.setStyle("display","block")},0));a.fire("resize",{outerHeight:a.container.$.offsetHeight,contentsHeight:g.$.offsetHeight,outerWidth:a.container.$.offsetWidth})}this.toggleState();if(d=this.uiItems[0])g=this.state==CKEDITOR.TRISTATE_OFF?f.maximize.maximize:f.maximize.minimize,d=CKEDITOR.document.getById(d._.id),d.getChild(1).setHtml(g),d.setAttribute("title",g),d.setAttribute("href",'javascript:void("'+ +g+'");');"wysiwyg"==a.mode?l?(CKEDITOR.env.gecko&&v(a),a.getSelection().selectRanges(l),(k=a.getSelection().getStartElement())&&k.scrollIntoView(!0)):c.$.scrollTo(m.x,m.y):(l&&(k.selectionStart=l[0],k.selectionEnd=l[1]),k.scrollLeft=m[0],k.scrollTop=m[1]);l=m=null;n=this.state;a.fire("maximize",this.state)},canUndo:!1});a.ui.addButton&&a.ui.addButton("Maximize",{label:f.maximize.maximize,command:"maximize",toolbar:"tools,10"});a.on("mode",function(){var b=a.getCommand("maximize");b.setState(b.state== +CKEDITOR.TRISTATE_DISABLED?CKEDITOR.TRISTATE_DISABLED:n)},null,null,100)}}})})();CKEDITOR.plugins.add("newpage",{init:function(a){a.addCommand("newpage",{modes:{wysiwyg:1,source:1},exec:function(b){var a=this;b.setData(b.config.newpage_html||"",function(){b.focus();setTimeout(function(){b.fire("afterCommandExec",{name:"newpage",command:a});b.selectionChange()},200)})},async:!0});a.ui.addButton&&a.ui.addButton("NewPage",{label:a.lang.newpage.toolbar,command:"newpage",toolbar:"document,20"})}});(function(){function e(a){return{"aria-label":a,"class":"cke_pagebreak",contenteditable:"false","data-cke-display-name":"pagebreak","data-cke-pagebreak":1,style:"page-break-after: always",title:a}}CKEDITOR.plugins.add("pagebreak",{requires:"fakeobjects",onLoad:function(){var a=("background:url("+CKEDITOR.getUrl(this.path+"images/pagebreak.gif")+") no-repeat center center;clear:both;width:100%;border-top:#999 1px dotted;border-bottom:#999 1px dotted;padding:0;height:7px;cursor:default;").replace(/;/g, +" !important;");CKEDITOR.addCss("div.cke_pagebreak{"+a+"}")},init:function(a){a.blockless||(a.addCommand("pagebreak",CKEDITOR.plugins.pagebreakCmd),a.ui.addButton&&a.ui.addButton("PageBreak",{label:a.lang.pagebreak.toolbar,command:"pagebreak",toolbar:"insert,70"}),CKEDITOR.env.webkit&&a.on("contentDom",function(){a.document.on("click",function(b){b=b.data.getTarget();b.is("div")&&b.hasClass("cke_pagebreak")&&a.getSelection().selectElement(b)})}))},afterInit:function(a){function b(f){CKEDITOR.tools.extend(f.attributes, +e(a.lang.pagebreak.alt),!0);f.children.length=0}var c=a.dataProcessor,g=c&&c.dataFilter,c=c&&c.htmlFilter,h=/page-break-after\s*:\s*always/i,k=/display\s*:\s*none/i;c&&c.addRules({attributes:{"class":function(a,b){var c=a.replace("cke_pagebreak","");if(c!=a){var d=CKEDITOR.htmlParser.fragment.fromHtml('\x3cspan style\x3d"display: none;"\x3e\x26nbsp;\x3c/span\x3e').children[0];b.children.length=0;b.add(d);d=b.attributes;delete d["aria-label"];delete d.contenteditable;delete d.title}return c}}},{applyToAll:!0, +priority:5});g&&g.addRules({elements:{div:function(a){if(a.attributes["data-cke-pagebreak"])b(a);else if(h.test(a.attributes.style)){var c=a.children[0];c&&"span"==c.name&&k.test(c.attributes.style)&&b(a)}}}})}});CKEDITOR.plugins.pagebreakCmd={exec:function(a){var b=a.document.createElement("div",{attributes:e(a.lang.pagebreak.alt)});a.insertElement(b)},context:"div",allowedContent:{div:{styles:"!page-break-after"},span:{match:function(a){return(a=a.parent)&&"div"==a.name&&a.styles&&a.styles["page-break-after"]}, +styles:"display"}},requiredContent:"div{page-break-after}"}})();(function(){var f={canUndo:!1,async:!0,exec:function(a,b){var c=a.lang,e=CKEDITOR.tools.keystrokeToString(c.common.keyboard,a.getCommandKeystroke(CKEDITOR.env.ie?a.commands.paste:this)),d=b&&"undefined"!==typeof b.notification?b.notification:!b||!b.from||"keystrokeHandler"===b.from&&CKEDITOR.env.ie,c=d&&"string"===typeof d?d:c.pastetext.pasteNotification.replace(/%1/,'\x3ckbd aria-label\x3d"'+e.aria+'"\x3e'+e.display+"\x3c/kbd\x3e");a.execCommand("paste",{type:"text",notification:d?c:!1})}};CKEDITOR.plugins.add("pastetext", +{requires:"clipboard",init:function(a){var b=CKEDITOR.env.safari?CKEDITOR.CTRL+CKEDITOR.ALT+CKEDITOR.SHIFT+86:CKEDITOR.CTRL+CKEDITOR.SHIFT+86;a.addCommand("pastetext",f);a.setKeystroke(b,"pastetext");CKEDITOR.plugins.clipboard.addPasteButton(a,"PasteText",{label:a.lang.pastetext.button,command:"pastetext",toolbar:"clipboard,40"});if(a.config.forcePasteAsPlainText)a.on("beforePaste",function(a){"html"!=a.data.type&&(a.data.type="text")});a.on("pasteState",function(b){a.getCommand("pastetext").setState(b.data)})}})})();(function(){function l(a,f,e){var h=CKEDITOR.cleanWord;h?e():(a=CKEDITOR.getUrl(a.config.pasteFromWordCleanupFile||f+"filter/default.js"),CKEDITOR.scriptLoader.load(a,e,null,!0));return!h}CKEDITOR.plugins.add("pastefromword",{requires:"clipboard",init:function(a){function f(a){var b=CKEDITOR.plugins.pastefromword&&CKEDITOR.plugins.pastefromword.images,c,d=[];if(b&&a.editor.filter.check("img[src]")&&(c=b.extractTagsFromHtml(a.data.dataValue),0!==c.length&&(b=b.extractFromRtf(a.data.dataTransfer["text/rtf"]), +0!==b.length&&(CKEDITOR.tools.array.forEach(b,function(a){d.push(a.type?"data:"+a.type+";base64,"+CKEDITOR.tools.convertBytesToBase64(CKEDITOR.tools.convertHexStringToBytes(a.hex)):null)},this),c.length===d.length))))for(b=0;b<c.length;b++)0===c[b].indexOf("file://")&&d[b]&&(a.data.dataValue=a.data.dataValue.replace(c[b],d[b]))}var e=0,h=this.path,m=void 0===a.config.pasteFromWord_inlineImages?!0:a.config.pasteFromWord_inlineImages;a.addCommand("pastefromword",{canUndo:!1,async:!0,exec:function(a, +b){e=1;a.execCommand("paste",{type:"html",notification:b&&"undefined"!==typeof b.notification?b.notification:!0})}});CKEDITOR.plugins.clipboard.addPasteButton(a,"PasteFromWord",{label:a.lang.pastefromword.toolbar,command:"pastefromword",toolbar:"clipboard,50"});a.on("paste",function(f){var b=f.data,c=CKEDITOR.plugins.clipboard.isCustomDataTypesSupported?b.dataTransfer.getData("text/html",!0):null,d=CKEDITOR.plugins.clipboard.isCustomDataTypesSupported?b.dataTransfer.getData("text/rtf"):null,c=c|| +b.dataValue,g={dataValue:c,dataTransfer:{"text/rtf":d}},d=/(class=\"?Mso|style=(?:\"|\')[^\"]*?\bmso\-|w:WordDocument|<o:\w+>|<\/font>)/,d=/<meta\s*name=(?:\"|\')?generator(?:\"|\')?\s*content=(?:\"|\')?microsoft/gi.test(c)||d.test(c);if(c&&(e||d)&&(!1!==a.fire("pasteFromWord",g)||e)){b.dontFilter=!0;var k=l(a,h,function(){if(k)a.fire("paste",b);else if(!a.config.pasteFromWordPromptCleanup||e||confirm(a.lang.pastefromword.confirmCleanup))g.dataValue=CKEDITOR.cleanWord(g.dataValue,a),a.fire("afterPasteFromWord", +g),b.dataValue=g.dataValue,!0===a.config.forcePasteAsPlainText?b.type="text":CKEDITOR.env.ie&&"allow-word"===a.config.forcePasteAsPlainText&&(b.type="html");e=0});k&&f.cancel()}},null,null,3);if(CKEDITOR.plugins.clipboard.isCustomDataTypesSupported&&m)a.on("afterPasteFromWord",f)}})})();(function(){var h,k={modes:{wysiwyg:1,source:1},canUndo:!1,readOnly:1,exec:function(a){var g,b=a.config,f=b.baseHref?'\x3cbase href\x3d"'+b.baseHref+'"/\x3e':"";if(b.fullPage)g=a.getData().replace(/<head>/,"$\x26"+f).replace(/[^>]*(?=<\/title>)/,"$\x26 \x26mdash; "+a.lang.preview.preview);else{var b="\x3cbody ",d=a.document&&a.document.getBody();d&&(d.getAttribute("id")&&(b+='id\x3d"'+d.getAttribute("id")+'" '),d.getAttribute("class")&&(b+='class\x3d"'+d.getAttribute("class")+'" '));b+="\x3e";g=a.config.docType+ +'\x3chtml dir\x3d"'+a.config.contentsLangDirection+'"\x3e\x3chead\x3e'+f+"\x3ctitle\x3e"+a.lang.preview.preview+"\x3c/title\x3e"+CKEDITOR.tools.buildStyleHtml(a.config.contentsCss)+"\x3c/head\x3e"+b+a.getData()+"\x3c/body\x3e\x3c/html\x3e"}f=640;b=420;d=80;try{var c=window.screen,f=Math.round(.8*c.width),b=Math.round(.7*c.height),d=Math.round(.1*c.width)}catch(k){}if(!1===a.fire("contentPreview",a={dataValue:g}))return!1;var c="",e;CKEDITOR.env.ie&&(window._cke_htmlToLoad=a.dataValue,e="javascript:void( (function(){document.open();"+ +("("+CKEDITOR.tools.fixDomain+")();").replace(/\/\/.*?\n/g,"").replace(/parent\./g,"window.opener.")+"document.write( window.opener._cke_htmlToLoad );document.close();window.opener._cke_htmlToLoad \x3d null;})() )",c="");CKEDITOR.env.gecko&&(window._cke_htmlToLoad=a.dataValue,c=CKEDITOR.getUrl(h+"preview.html"));c=window.open(c,null,"toolbar\x3dyes,location\x3dno,status\x3dyes,menubar\x3dyes,scrollbars\x3dyes,resizable\x3dyes,width\x3d"+f+",height\x3d"+b+",left\x3d"+d);CKEDITOR.env.ie&&c&&(c.location= +e);CKEDITOR.env.ie||CKEDITOR.env.gecko||(e=c.document,e.open(),e.write(a.dataValue),e.close());return!0}};CKEDITOR.plugins.add("preview",{init:function(a){a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE&&(h=this.path,a.addCommand("preview",k),a.ui.addButton&&a.ui.addButton("Preview",{label:a.lang.preview.preview,command:"preview",toolbar:"document,40"}))}})})();CKEDITOR.plugins.add("print",{init:function(a){a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE&&(a.addCommand("print",CKEDITOR.plugins.print),a.ui.addButton&&a.ui.addButton("Print",{label:a.lang.print.toolbar,command:"print",toolbar:"document,50"}))}});CKEDITOR.plugins.print={exec:function(a){CKEDITOR.env.gecko?a.window.$.print():a.document.$.execCommand("Print")},canUndo:!1,readOnly:1,modes:{wysiwyg:1}};CKEDITOR.plugins.add("removeformat",{init:function(a){a.addCommand("removeFormat",CKEDITOR.plugins.removeformat.commands.removeformat);a.ui.addButton&&a.ui.addButton("RemoveFormat",{label:a.lang.removeformat.toolbar,command:"removeFormat",toolbar:"cleanup,10"})}}); +CKEDITOR.plugins.removeformat={commands:{removeformat:{exec:function(a){for(var h=a._.removeFormatRegex||(a._.removeFormatRegex=new RegExp("^(?:"+a.config.removeFormatTags.replace(/,/g,"|")+")$","i")),e=a._.removeAttributes||(a._.removeAttributes=a.config.removeFormatAttributes.split(",")),f=CKEDITOR.plugins.removeformat.filter,m=a.getSelection().getRanges(),n=m.createIterator(),p=function(a){return a.type==CKEDITOR.NODE_ELEMENT},c;c=n.getNextRange();){c.collapsed||c.enlarge(CKEDITOR.ENLARGE_ELEMENT); +var l=c.createBookmark(),b=l.startNode,d=l.endNode,k=function(b){for(var c=a.elementPath(b),e=c.elements,d=1,g;(g=e[d])&&!g.equals(c.block)&&!g.equals(c.blockLimit);d++)h.test(g.getName())&&f(a,g)&&b.breakParent(g)};k(b);if(d)for(k(d),b=b.getNextSourceNode(!0,CKEDITOR.NODE_ELEMENT);b&&!b.equals(d);)if(b.isReadOnly()){if(b.getPosition(d)&CKEDITOR.POSITION_CONTAINS)break;b=b.getNext(p)}else k=b.getNextSourceNode(!1,CKEDITOR.NODE_ELEMENT),"img"==b.getName()&&b.data("cke-realelement")||!f(a,b)||(h.test(b.getName())? +b.remove(1):(b.removeAttributes(e),a.fire("removeFormatCleanup",b))),b=k;c.moveToBookmark(l)}a.forceNextSelectionCheck();a.getSelection().selectRanges(m)}}},filter:function(a,h){for(var e=a._.removeFormatFilters||[],f=0;f<e.length;f++)if(!1===e[f](h))return!1;return!0}};CKEDITOR.editor.prototype.addRemoveFormatFilter=function(a){this._.removeFormatFilters||(this._.removeFormatFilters=[]);this._.removeFormatFilters.push(a)};CKEDITOR.config.removeFormatTags="b,big,cite,code,del,dfn,em,font,i,ins,kbd,q,s,samp,small,span,strike,strong,sub,sup,tt,u,var"; +CKEDITOR.config.removeFormatAttributes="class,style,lang,width,height,align,hspace,valign";(function(){var b={readOnly:1,modes:{wysiwyg:1,source:1},exec:function(a){if(a.fire("save")&&(a=a.element.$.form))try{a.submit()}catch(b){a.submit.click&&a.submit.click()}}};CKEDITOR.plugins.add("save",{init:function(a){a.elementMode==CKEDITOR.ELEMENT_MODE_REPLACE&&(a.addCommand("save",b).startDisabled=!a.element.$.form,a.ui.addButton&&a.ui.addButton("Save",{label:a.lang.save.toolbar,command:"save",toolbar:"document,10"}))}})})();(function(){CKEDITOR.plugins.add("selectall",{init:function(b){b.addCommand("selectAll",{modes:{wysiwyg:1,source:1},exec:function(a){var b=a.editable();if(b.is("textarea"))a=b.$,CKEDITOR.env.ie&&a.createTextRange?a.createTextRange().execCommand("SelectAll"):(a.selectionStart=0,a.selectionEnd=a.value.length),a.focus();else{if(b.is("body"))a.document.$.execCommand("SelectAll",!1,null);else{var c=a.createRange();c.selectNodeContents(b);c.select()}a.forceNextSelectionCheck();a.selectionChange()}},canUndo:!1}); +b.ui.addButton&&b.ui.addButton("SelectAll",{label:b.lang.selectall.toolbar,command:"selectAll",toolbar:"selection,10"})}})})();(function(){var k={readOnly:1,preserveState:!0,editorFocus:!1,exec:function(a){this.toggleState();this.refresh(a)},refresh:function(a){if(a.document){var c=this.state!=CKEDITOR.TRISTATE_ON||a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE&&!a.focusManager.hasFocus?"removeClass":"attachClass";a.editable()[c]("cke_show_blocks")}}};CKEDITOR.plugins.add("showblocks",{onLoad:function(){var a="p div pre address blockquote h1 h2 h3 h4 h5 h6".split(" "),c,b,e,f,k=CKEDITOR.getUrl(this.path),l=!(CKEDITOR.env.ie&& +9>CKEDITOR.env.version),g=l?":not([contenteditable\x3dfalse]):not(.cke_show_blocks_off)":"",d,h;for(c=b=e=f="";d=a.pop();)h=a.length?",":"",c+=".cke_show_blocks "+d+g+h,e+=".cke_show_blocks.cke_contents_ltr "+d+g+h,f+=".cke_show_blocks.cke_contents_rtl "+d+g+h,b+=".cke_show_blocks "+d+g+"{background-image:url("+CKEDITOR.getUrl(k+"images/block_"+d+".png")+")}";CKEDITOR.addCss((c+"{background-repeat:no-repeat;border:1px dotted gray;padding-top:8px}").concat(b,e+"{background-position:top left;padding-left:8px}", +f+"{background-position:top right;padding-right:8px}"));l||CKEDITOR.addCss(".cke_show_blocks [contenteditable\x3dfalse],.cke_show_blocks .cke_show_blocks_off{border:none;padding-top:0;background-image:none}.cke_show_blocks.cke_contents_rtl [contenteditable\x3dfalse],.cke_show_blocks.cke_contents_rtl .cke_show_blocks_off{padding-right:0}.cke_show_blocks.cke_contents_ltr [contenteditable\x3dfalse],.cke_show_blocks.cke_contents_ltr .cke_show_blocks_off{padding-left:0}")},init:function(a){function c(){b.refresh(a)} +if(!a.blockless){var b=a.addCommand("showblocks",k);b.canUndo=!1;a.config.startupOutlineBlocks&&b.setState(CKEDITOR.TRISTATE_ON);a.ui.addButton&&a.ui.addButton("ShowBlocks",{label:a.lang.showblocks.toolbar,command:"showblocks",toolbar:"tools,20"});a.on("mode",function(){b.state!=CKEDITOR.TRISTATE_DISABLED&&b.refresh(a)});a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE&&(a.on("focus",c),a.on("blur",c));a.on("contentDom",function(){b.state!=CKEDITOR.TRISTATE_DISABLED&&b.refresh(a)})}}})})();(function(){var f={preserveState:!0,editorFocus:!1,readOnly:1,exec:function(a){this.toggleState();this.refresh(a)},refresh:function(a){if(a.document){var b=this.state==CKEDITOR.TRISTATE_ON?"attachClass":"removeClass";a.editable()[b]("cke_show_borders")}}};CKEDITOR.plugins.add("showborders",{modes:{wysiwyg:1},onLoad:function(){var a;a=(CKEDITOR.env.ie6Compat?[".%1 table.%2,",".%1 table.%2 td, .%1 table.%2 th","{","border : #d3d3d3 1px dotted","}"]:".%1 table.%2,;.%1 table.%2 \x3e tr \x3e td, .%1 table.%2 \x3e tr \x3e th,;.%1 table.%2 \x3e tbody \x3e tr \x3e td, .%1 table.%2 \x3e tbody \x3e tr \x3e th,;.%1 table.%2 \x3e thead \x3e tr \x3e td, .%1 table.%2 \x3e thead \x3e tr \x3e th,;.%1 table.%2 \x3e tfoot \x3e tr \x3e td, .%1 table.%2 \x3e tfoot \x3e tr \x3e th;{;border : #d3d3d3 1px dotted;}".split(";")).join("").replace(/%2/g, +"cke_show_border").replace(/%1/g,"cke_show_borders ");CKEDITOR.addCss(a)},init:function(a){var b=a.addCommand("showborders",f);b.canUndo=!1;!1!==a.config.startupShowBorders&&b.setState(CKEDITOR.TRISTATE_ON);a.on("mode",function(){b.state!=CKEDITOR.TRISTATE_DISABLED&&b.refresh(a)},null,null,100);a.on("contentDom",function(){b.state!=CKEDITOR.TRISTATE_DISABLED&&b.refresh(a)});a.on("removeFormatCleanup",function(d){d=d.data;a.getCommand("showborders").state==CKEDITOR.TRISTATE_ON&&d.is("table")&&(!d.hasAttribute("border")|| +0>=parseInt(d.getAttribute("border"),10))&&d.addClass("cke_show_border")})},afterInit:function(a){var b=a.dataProcessor;a=b&&b.dataFilter;b=b&&b.htmlFilter;a&&a.addRules({elements:{table:function(a){a=a.attributes;var b=a["class"],c=parseInt(a.border,10);c&&!(0>=c)||b&&-1!=b.indexOf("cke_show_border")||(a["class"]=(b||"")+" cke_show_border")}}});b&&b.addRules({elements:{table:function(a){a=a.attributes;var b=a["class"];b&&(a["class"]=b.replace("cke_show_border","").replace(/\s{2}/," ").replace(/^\s+|\s+$/, +""))}}})}});CKEDITOR.on("dialogDefinition",function(a){var b=a.data.name;if("table"==b||"tableProperties"==b)if(a=a.data.definition,b=a.getContents("info").get("txtBorder"),b.commit=CKEDITOR.tools.override(b.commit,function(a){return function(b,c){a.apply(this,arguments);var e=parseInt(this.getValue(),10);c[!e||0>=e?"addClass":"removeClass"]("cke_show_border")}}),a=(a=a.getContents("advanced"))&&a.get("advCSSClasses"))a.setup=CKEDITOR.tools.override(a.setup,function(a){return function(){a.apply(this, +arguments);this.setValue(this.getValue().replace(/cke_show_border/,""))}}),a.commit=CKEDITOR.tools.override(a.commit,function(a){return function(b,c){a.apply(this,arguments);parseInt(c.getAttribute("border"),10)||c.addClass("cke_show_border")}})})})();(function(){CKEDITOR.plugins.add("sourcearea",{init:function(a){function d(){var a=e&&this.equals(CKEDITOR.document.getActive());this.hide();this.setStyle("height",this.getParent().$.clientHeight+"px");this.setStyle("width",this.getParent().$.clientWidth+"px");this.show();a&&this.focus()}if(a.elementMode!=CKEDITOR.ELEMENT_MODE_INLINE){var f=CKEDITOR.plugins.sourcearea;a.addMode("source",function(e){var b=a.ui.space("contents").getDocument().createElement("textarea");b.setStyles(CKEDITOR.tools.extend({width:CKEDITOR.env.ie7Compat? +"99%":"100%",height:"100%",resize:"none",outline:"none","text-align":"left"},CKEDITOR.tools.cssVendorPrefix("tab-size",a.config.sourceAreaTabSize||4)));b.setAttribute("dir","ltr");b.addClass("cke_source").addClass("cke_reset").addClass("cke_enable_context_menu");a.ui.space("contents").append(b);b=a.editable(new c(a,b));b.setData(a.getData(1));CKEDITOR.env.ie&&(b.attachListener(a,"resize",d,b),b.attachListener(CKEDITOR.document.getWindow(),"resize",d,b),CKEDITOR.tools.setTimeout(d,0,b));a.fire("ariaWidget", +this);e()});a.addCommand("source",f.commands.source);a.ui.addButton&&a.ui.addButton("Source",{label:a.lang.sourcearea.toolbar,command:"source",toolbar:"mode,10"});a.on("mode",function(){a.getCommand("source").setState("source"==a.mode?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF)});var e=CKEDITOR.env.ie&&9==CKEDITOR.env.version}}});var c=CKEDITOR.tools.createClass({base:CKEDITOR.editable,proto:{setData:function(a){this.setValue(a);this.status="ready";this.editor.fire("dataReady")},getData:function(){return this.getValue()}, +insertHtml:function(){},insertElement:function(){},insertText:function(){},setReadOnly:function(a){this[(a?"set":"remove")+"Attribute"]("readOnly","readonly")},detach:function(){c.baseProto.detach.call(this);this.clearCustomData();this.remove()}}})})(); +CKEDITOR.plugins.sourcearea={commands:{source:{modes:{wysiwyg:1,source:1},editorFocus:!1,readOnly:1,exec:function(c){"wysiwyg"==c.mode&&c.fire("saveSnapshot");c.getCommand("source").setState(CKEDITOR.TRISTATE_DISABLED);c.setMode("source"==c.mode?"wysiwyg":"source")},canUndo:!1}}};CKEDITOR.plugins.add("specialchar",{availableLangs:{af:1,ar:1,az:1,bg:1,ca:1,cs:1,cy:1,da:1,de:1,"de-ch":1,el:1,en:1,"en-au":1,"en-ca":1,"en-gb":1,eo:1,es:1,"es-mx":1,et:1,eu:1,fa:1,fi:1,fr:1,"fr-ca":1,gl:1,he:1,hr:1,hu:1,id:1,it:1,ja:1,km:1,ko:1,ku:1,lt:1,lv:1,nb:1,nl:1,no:1,oc:1,pl:1,pt:1,"pt-br":1,ro:1,ru:1,si:1,sk:1,sl:1,sq:1,sv:1,th:1,tr:1,tt:1,ug:1,uk:1,vi:1,zh:1,"zh-cn":1},requires:"dialog",init:function(a){var c=this;CKEDITOR.dialog.add("specialchar",this.path+"dialogs/specialchar.js");a.addCommand("specialchar", +{exec:function(){var b=a.langCode,b=c.availableLangs[b]?b:c.availableLangs[b.replace(/-.*/,"")]?b.replace(/-.*/,""):"en";CKEDITOR.scriptLoader.load(CKEDITOR.getUrl(c.path+"dialogs/lang/"+b+".js"),function(){CKEDITOR.tools.extend(a.lang.specialchar,c.langEntries[b]);a.openDialog("specialchar")})},modes:{wysiwyg:1},canUndo:!1});a.ui.addButton&&a.ui.addButton("SpecialChar",{label:a.lang.specialchar.toolbar,command:"specialchar",toolbar:"insert,50"})}});CKEDITOR.config.specialChars="! \x26quot; # $ % \x26amp; ' ( ) * + - . / 0 1 2 3 4 5 6 7 8 9 : ; \x26lt; \x3d \x26gt; ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ \x26euro; \x26lsquo; \x26rsquo; \x26ldquo; \x26rdquo; \x26ndash; \x26mdash; \x26iexcl; \x26cent; \x26pound; \x26curren; \x26yen; \x26brvbar; \x26sect; \x26uml; \x26copy; \x26ordf; \x26laquo; \x26not; \x26reg; \x26macr; \x26deg; \x26sup2; \x26sup3; \x26acute; \x26micro; \x26para; \x26middot; \x26cedil; \x26sup1; \x26ordm; \x26raquo; \x26frac14; \x26frac12; \x26frac34; \x26iquest; \x26Agrave; \x26Aacute; \x26Acirc; \x26Atilde; \x26Auml; \x26Aring; \x26AElig; \x26Ccedil; \x26Egrave; \x26Eacute; \x26Ecirc; \x26Euml; \x26Igrave; \x26Iacute; \x26Icirc; \x26Iuml; \x26ETH; \x26Ntilde; \x26Ograve; \x26Oacute; \x26Ocirc; \x26Otilde; \x26Ouml; \x26times; \x26Oslash; \x26Ugrave; \x26Uacute; \x26Ucirc; \x26Uuml; \x26Yacute; \x26THORN; \x26szlig; \x26agrave; \x26aacute; \x26acirc; \x26atilde; \x26auml; \x26aring; \x26aelig; \x26ccedil; \x26egrave; \x26eacute; \x26ecirc; \x26euml; \x26igrave; \x26iacute; \x26icirc; \x26iuml; \x26eth; \x26ntilde; \x26ograve; \x26oacute; \x26ocirc; \x26otilde; \x26ouml; \x26divide; \x26oslash; \x26ugrave; \x26uacute; \x26ucirc; \x26uuml; \x26yacute; \x26thorn; \x26yuml; \x26OElig; \x26oelig; \x26#372; \x26#374 \x26#373 \x26#375; \x26sbquo; \x26#8219; \x26bdquo; \x26hellip; \x26trade; \x26#9658; \x26bull; \x26rarr; \x26rArr; \x26hArr; \x26diams; \x26asymp;".split(" ");CKEDITOR.plugins.add("scayt",{requires:"menubutton,dialog",tabToOpen:null,dialogName:"scaytDialog",onLoad:function(a){CKEDITOR.plugins.scayt.onLoadTimestamp=(new Date).getTime();"moono-lisa"==(CKEDITOR.skinName||a.config.skin)&&CKEDITOR.document.appendStyleSheet(this.path+"skins/"+CKEDITOR.skin.name+"/scayt.css");CKEDITOR.document.appendStyleSheet(this.path+"dialogs/dialog.css")},init:function(a){var c=this,d=CKEDITOR.plugins.scayt;this.bindEvents(a);this.parseConfig(a);this.addRule(a);CKEDITOR.dialog.add(this.dialogName, +CKEDITOR.getUrl(this.path+"dialogs/options.js"));this.addMenuItems(a);var b=a.lang.scayt,e=CKEDITOR.env;a.ui.add("Scayt",CKEDITOR.UI_MENUBUTTON,{label:b.text_title,title:a.plugins.wsc?a.lang.wsc.title:b.text_title,modes:{wysiwyg:!(e.ie&&(8>e.version||e.quirks))},toolbar:"spellchecker,20",refresh:function(){var b=a.ui.instances.Scayt.getState();a.scayt&&(b=d.state.scayt[a.name]?CKEDITOR.TRISTATE_ON:CKEDITOR.TRISTATE_OFF);a.fire("scaytButtonState",b)},onRender:function(){var d=this;a.on("scaytButtonState", +function(a){void 0!==typeof a.data&&d.setState(a.data)})},onMenu:function(){var b=a.scayt;a.getMenuItem("scaytToggle").label=a.lang.scayt[b&&d.state.scayt[a.name]?"btn_disable":"btn_enable"];var c={scaytToggle:CKEDITOR.TRISTATE_OFF,scaytOptions:b?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,scaytLangs:b?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,scaytDict:b?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,scaytAbout:b?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,WSC:a.plugins.wsc?CKEDITOR.TRISTATE_OFF: +CKEDITOR.TRISTATE_DISABLED};a.config.scayt_uiTabs[0]||delete c.scaytOptions;a.config.scayt_uiTabs[1]||delete c.scaytLangs;a.config.scayt_uiTabs[2]||delete c.scaytDict;b&&!CKEDITOR.plugins.scayt.isNewUdSupported(b)&&(delete c.scaytDict,a.config.scayt_uiTabs[2]=0,CKEDITOR.plugins.scayt.alarmCompatibilityMessage());return c}});a.contextMenu&&a.addMenuItems&&(a.contextMenu.addListener(function(b,d){var e=a.scayt,k,m;e&&(m=e.getSelectionNode())&&(k=c.menuGenerator(a,m),e.showBanner("."+a.contextMenu._.definition.panel.className.split(" ").join(" ."))); +return k}),a.contextMenu._.onHide=CKEDITOR.tools.override(a.contextMenu._.onHide,function(b){return function(){var d=a.scayt;d&&d.hideBanner();return b.apply(this)}}))},addMenuItems:function(a){var c=this,d=CKEDITOR.plugins.scayt;a.addMenuGroup("scaytButton");for(var b=a.config.scayt_contextMenuItemsOrder.split("|"),e=0;e<b.length;e++)b[e]="scayt_"+b[e];if((b=["grayt_description","grayt_suggest","grayt_control"].concat(b))&&b.length)for(e=0;e<b.length;e++)a.addMenuGroup(b[e],e-10);a.addCommand("scaytToggle", +{exec:function(a){var b=a.scayt;d.state.scayt[a.name]=!d.state.scayt[a.name];!0===d.state.scayt[a.name]?b||d.createScayt(a):b&&d.destroy(a)}});a.addCommand("scaytAbout",{exec:function(a){a.scayt.tabToOpen="about";a.lockSelection();a.openDialog(c.dialogName)}});a.addCommand("scaytOptions",{exec:function(a){a.scayt.tabToOpen="options";a.lockSelection();a.openDialog(c.dialogName)}});a.addCommand("scaytLangs",{exec:function(a){a.scayt.tabToOpen="langs";a.lockSelection();a.openDialog(c.dialogName)}}); +a.addCommand("scaytDict",{exec:function(a){a.scayt.tabToOpen="dictionaries";a.lockSelection();a.openDialog(c.dialogName)}});b={scaytToggle:{label:a.lang.scayt.btn_enable,group:"scaytButton",command:"scaytToggle"},scaytAbout:{label:a.lang.scayt.btn_about,group:"scaytButton",command:"scaytAbout"},scaytOptions:{label:a.lang.scayt.btn_options,group:"scaytButton",command:"scaytOptions"},scaytLangs:{label:a.lang.scayt.btn_langs,group:"scaytButton",command:"scaytLangs"},scaytDict:{label:a.lang.scayt.btn_dictionaries, +group:"scaytButton",command:"scaytDict"}};a.plugins.wsc&&(b.WSC={label:a.lang.wsc.toolbar,group:"scaytButton",onClick:function(){var b=CKEDITOR.plugins.scayt,d=a.scayt,c=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?a.container.getText():a.document.getBody().getText();(c=c.replace(/\s/g,""))?(d&&b.state.scayt[a.name]&&d.setMarkupPaused&&d.setMarkupPaused(!0),a.lockSelection(),a.execCommand("checkspell")):alert("Nothing to check!")}});a.addMenuItems(b)},bindEvents:function(a){var c=CKEDITOR.plugins.scayt, +d=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE,b=function(){c.destroy(a)},e=function(){!c.state.scayt[a.name]||a.readOnly||a.scayt||c.createScayt(a)},f=function(){var b=a.editable();b.attachListener(b,"focus",function(b){CKEDITOR.plugins.scayt&&!a.scayt&&setTimeout(e,0);b=CKEDITOR.plugins.scayt&&CKEDITOR.plugins.scayt.state.scayt[a.name]&&a.scayt;var c,h;if((d||b)&&a._.savedSelection){b=a._.savedSelection.getSelectedElement();b=!b&&a._.savedSelection.getRanges();for(var f=0;f<b.length;f++)h=b[f],"string"=== +typeof h.startContainer.$.nodeValue&&(c=h.startContainer.getText().length,(c<h.startOffset||c<h.endOffset)&&a.unlockSelection(!1))}},this,null,-10)},g=function(){d?a.config.scayt_inlineModeImmediateMarkup?e():(a.on("blur",function(){setTimeout(b,0)}),a.on("focus",e),a.focusManager.hasFocus&&e()):e();f();var c=a.editable();c.attachListener(c,"mousedown",function(b){b=b.data.getTarget();var d=a.widgets&&a.widgets.getByElement(b);d&&(d.wrapper=b.getAscendant(function(a){return a.hasAttribute("data-cke-widget-wrapper")}, +!0))},this,null,-10)};a.on("contentDom",g);a.on("beforeCommandExec",function(b){var d=a.scayt,e=!1,f=!1,g=!0;b.data.name in c.options.disablingCommandExec&&"wysiwyg"==a.mode?d&&(c.destroy(a),a.fire("scaytButtonState",CKEDITOR.TRISTATE_DISABLED)):"bold"!==b.data.name&&"italic"!==b.data.name&&"underline"!==b.data.name&&"strike"!==b.data.name&&"subscript"!==b.data.name&&"superscript"!==b.data.name&&"enter"!==b.data.name&&"cut"!==b.data.name&&"language"!==b.data.name||!d||("cut"===b.data.name&&(g=!1, +f=!0),"language"===b.data.name&&(f=e=!0),a.fire("reloadMarkupScayt",{removeOptions:{removeInside:g,forceBookmark:f,language:e},timeout:0}))});a.on("beforeSetMode",function(b){if("source"==b.data){if(b=a.scayt)c.destroy(a),a.fire("scaytButtonState",CKEDITOR.TRISTATE_DISABLED);a.document&&a.document.getBody().removeAttribute("_jquid")}});a.on("afterCommandExec",function(b){"wysiwyg"!=a.mode||"undo"!=b.data.name&&"redo"!=b.data.name||setTimeout(function(){c.reloadMarkup(a.scayt)},250)});a.on("readOnly", +function(b){var d;b&&(d=a.scayt,!0===b.editor.readOnly?d&&d.fire("removeMarkupInDocument",{}):d?c.reloadMarkup(d):"wysiwyg"==b.editor.mode&&!0===c.state.scayt[b.editor.name]&&(c.createScayt(a),b.editor.fire("scaytButtonState",CKEDITOR.TRISTATE_ON)))});a.on("beforeDestroy",b);a.on("setData",function(){b();(a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE||a.plugins.divarea)&&g()},this,null,50);a.on("reloadMarkupScayt",function(b){var d=b.data&&b.data.removeOptions,e=b.data&&b.data.timeout,f=b.data&&b.data.language, +g=a.scayt;g&&setTimeout(function(){f&&(d.selectionNode=a.plugins.language.getCurrentLangElement(a),d.selectionNode=d.selectionNode&&d.selectionNode.$||null);g.removeMarkupInSelectionNode(d);c.reloadMarkup(g)},e||0)});a.on("insertElement",function(){a.fire("reloadMarkupScayt",{removeOptions:{forceBookmark:!0}})},this,null,50);a.on("insertHtml",function(){a.scayt&&a.scayt.setFocused&&a.scayt.setFocused(!0);a.fire("reloadMarkupScayt")},this,null,50);a.on("insertText",function(){a.scayt&&a.scayt.setFocused&& +a.scayt.setFocused(!0);a.fire("reloadMarkupScayt")},this,null,50);a.on("scaytDialogShown",function(b){b.data.selectPage(a.scayt.tabToOpen)})},parseConfig:function(a){var c=CKEDITOR.plugins.scayt;c.replaceOldOptionsNames(a.config);"boolean"!==typeof a.config.scayt_autoStartup&&(a.config.scayt_autoStartup=!1);c.state.scayt[a.name]=a.config.scayt_autoStartup;"boolean"!==typeof a.config.grayt_autoStartup&&(a.config.grayt_autoStartup=!1);"boolean"!==typeof a.config.scayt_inlineModeImmediateMarkup&&(a.config.scayt_inlineModeImmediateMarkup= +!1);c.state.grayt[a.name]=a.config.grayt_autoStartup;a.config.scayt_contextCommands||(a.config.scayt_contextCommands="ignoreall|add");a.config.scayt_contextMenuItemsOrder||(a.config.scayt_contextMenuItemsOrder="suggest|moresuggest|control");a.config.scayt_sLang||(a.config.scayt_sLang="en_US");if(void 0===a.config.scayt_maxSuggestions||"number"!=typeof a.config.scayt_maxSuggestions||0>a.config.scayt_maxSuggestions)a.config.scayt_maxSuggestions=3;if(void 0===a.config.scayt_minWordLength||"number"!= +typeof a.config.scayt_minWordLength||1>a.config.scayt_minWordLength)a.config.scayt_minWordLength=3;if(void 0===a.config.scayt_customDictionaryIds||"string"!==typeof a.config.scayt_customDictionaryIds)a.config.scayt_customDictionaryIds="";if(void 0===a.config.scayt_userDictionaryName||"string"!==typeof a.config.scayt_userDictionaryName)a.config.scayt_userDictionaryName=null;if("string"===typeof a.config.scayt_uiTabs&&3===a.config.scayt_uiTabs.split(",").length){var d=[],b=[];a.config.scayt_uiTabs= +a.config.scayt_uiTabs.split(",");CKEDITOR.tools.search(a.config.scayt_uiTabs,function(a){1===Number(a)||0===Number(a)?(b.push(!0),d.push(Number(a))):b.push(!1)});null===CKEDITOR.tools.search(b,!1)?a.config.scayt_uiTabs=d:a.config.scayt_uiTabs=[1,1,1]}else a.config.scayt_uiTabs=[1,1,1];"string"!=typeof a.config.scayt_serviceProtocol&&(a.config.scayt_serviceProtocol=null);"string"!=typeof a.config.scayt_serviceHost&&(a.config.scayt_serviceHost=null);"string"!=typeof a.config.scayt_servicePort&&(a.config.scayt_servicePort= +null);"string"!=typeof a.config.scayt_servicePath&&(a.config.scayt_servicePath=null);a.config.scayt_moreSuggestions||(a.config.scayt_moreSuggestions="on");"string"!==typeof a.config.scayt_customerId&&(a.config.scayt_customerId="1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2");"string"!==typeof a.config.scayt_customPunctuation&&(a.config.scayt_customPunctuation="-");"string"!==typeof a.config.scayt_srcUrl&&(c=document.location.protocol,c=-1!=c.search(/https?:/)?c:"http:",a.config.scayt_srcUrl= +c+"//svc.webspellchecker.net/spellcheck31/lf/scayt3/ckscayt/ckscayt.js");"boolean"!==typeof CKEDITOR.config.scayt_handleCheckDirty&&(CKEDITOR.config.scayt_handleCheckDirty=!0);"boolean"!==typeof CKEDITOR.config.scayt_handleUndoRedo&&(CKEDITOR.config.scayt_handleUndoRedo=!0);CKEDITOR.config.scayt_handleUndoRedo=CKEDITOR.plugins.undo?CKEDITOR.config.scayt_handleUndoRedo:!1;"boolean"!==typeof a.config.scayt_multiLanguageMode&&(a.config.scayt_multiLanguageMode=!1);"object"!==typeof a.config.scayt_multiLanguageStyles&& +(a.config.scayt_multiLanguageStyles={});a.config.scayt_ignoreAllCapsWords&&"boolean"!==typeof a.config.scayt_ignoreAllCapsWords&&(a.config.scayt_ignoreAllCapsWords=!1);a.config.scayt_ignoreDomainNames&&"boolean"!==typeof a.config.scayt_ignoreDomainNames&&(a.config.scayt_ignoreDomainNames=!1);a.config.scayt_ignoreWordsWithMixedCases&&"boolean"!==typeof a.config.scayt_ignoreWordsWithMixedCases&&(a.config.scayt_ignoreWordsWithMixedCases=!1);a.config.scayt_ignoreWordsWithNumbers&&"boolean"!==typeof a.config.scayt_ignoreWordsWithNumbers&& +(a.config.scayt_ignoreWordsWithNumbers=!1);if(a.config.scayt_disableOptionsStorage){var c=CKEDITOR.tools.isArray(a.config.scayt_disableOptionsStorage)?a.config.scayt_disableOptionsStorage:"string"===typeof a.config.scayt_disableOptionsStorage?[a.config.scayt_disableOptionsStorage]:void 0,e="all options lang ignore-all-caps-words ignore-domain-names ignore-words-with-mixed-cases ignore-words-with-numbers".split(" "),f=["lang","ignore-all-caps-words","ignore-domain-names","ignore-words-with-mixed-cases", +"ignore-words-with-numbers"],g=CKEDITOR.tools.search,h=CKEDITOR.tools.indexOf;a.config.scayt_disableOptionsStorage=function(a){for(var b=[],d=0;d<a.length;d++){var c=a[d],n=!!g(a,"options");if(!g(e,c)||n&&g(f,function(a){if("lang"===a)return!1}))return;g(f,c)&&f.splice(h(f,c),1);if("all"===c||n&&g(a,"lang"))return[];"options"===c&&(f=["lang"])}return b=b.concat(f)}(c)}},addRule:function(a){var c=CKEDITOR.plugins.scayt,d=a.dataProcessor,b=d&&d.htmlFilter,e=a._.elementsPath&&a._.elementsPath.filters, +d=d&&d.dataFilter,f=a.addRemoveFormatFilter,g=function(b){if(a.scayt&&(b.hasAttribute(c.options.data_attribute_name)||b.hasAttribute(c.options.problem_grammar_data_attribute)))return!1},h=function(b){var d=!0;a.scayt&&(b.hasAttribute(c.options.data_attribute_name)||b.hasAttribute(c.options.problem_grammar_data_attribute))&&(d=!1);return d};e&&e.push(g);d&&d.addRules({elements:{span:function(a){var b=a.hasClass(c.options.misspelled_word_class)&&a.attributes[c.options.data_attribute_name],d=a.hasClass(c.options.problem_grammar_class)&& +a.attributes[c.options.problem_grammar_data_attribute];c&&(b||d)&&delete a.name;return a}}});b&&b.addRules({elements:{span:function(a){var b=a.hasClass(c.options.misspelled_word_class)&&a.attributes[c.options.data_attribute_name],d=a.hasClass(c.options.problem_grammar_class)&&a.attributes[c.options.problem_grammar_data_attribute];c&&(b||d)&&delete a.name;return a}}});f&&f.call(a,h)},scaytMenuDefinition:function(a){var c=this;a=a.scayt;return{scayt:{scayt_ignore:{label:a.getLocal("btn_ignore"),group:"scayt_control", +order:1,exec:function(a){a.scayt.ignoreWord()}},scayt_ignoreall:{label:a.getLocal("btn_ignoreAll"),group:"scayt_control",order:2,exec:function(a){a.scayt.ignoreAllWords()}},scayt_add:{label:a.getLocal("btn_addWord"),group:"scayt_control",order:3,exec:function(a){var b=a.scayt;setTimeout(function(){b.addWordToUserDictionary()},10)}},scayt_option:{label:a.getLocal("btn_options"),group:"scayt_control",order:4,exec:function(a){a.scayt.tabToOpen="options";a.lockSelection();a.openDialog(c.dialogName)}, +verification:function(a){return 1==a.config.scayt_uiTabs[0]?!0:!1}},scayt_language:{label:a.getLocal("btn_langs"),group:"scayt_control",order:5,exec:function(a){a.scayt.tabToOpen="langs";a.lockSelection();a.openDialog(c.dialogName)},verification:function(a){return 1==a.config.scayt_uiTabs[1]?!0:!1}},scayt_dictionary:{label:a.getLocal("btn_dictionaries"),group:"scayt_control",order:6,exec:function(a){a.scayt.tabToOpen="dictionaries";a.lockSelection();a.openDialog(c.dialogName)},verification:function(a){return 1== +a.config.scayt_uiTabs[2]?!0:!1}},scayt_about:{label:a.getLocal("btn_about"),group:"scayt_control",order:7,exec:function(a){a.scayt.tabToOpen="about";a.lockSelection();a.openDialog(c.dialogName)}}},grayt:{grayt_problemdescription:{label:"Grammar problem description",group:"grayt_description",order:1,state:CKEDITOR.TRISTATE_DISABLED,exec:function(a){}},grayt_ignore:{label:a.getLocal("btn_ignore"),group:"grayt_control",order:2,exec:function(a){a.scayt.ignorePhrase()}},grayt_ignoreall:{label:a.getLocal("btn_ignoreAll"), +group:"grayt_control",order:3,exec:function(a){a.scayt.ignoreAllPhrases()}}}}},buildSuggestionMenuItems:function(a,c,d){var b={},e={},f=d?"word":"phrase",g=d?"startGrammarCheck":"startSpellCheck",h=a.scayt;if(0<c.length&&"no_any_suggestions"!==c[0])if(d)for(d=0;d<c.length;d++){var k="scayt_suggest_"+CKEDITOR.plugins.scayt.suggestions[d].replace(" ","_");a.addCommand(k,this.createCommand(CKEDITOR.plugins.scayt.suggestions[d],f,g));d<a.config.scayt_maxSuggestions?(a.addMenuItem(k,{label:c[d],command:k, +group:"scayt_suggest",order:d+1}),b[k]=CKEDITOR.TRISTATE_OFF):(a.addMenuItem(k,{label:c[d],command:k,group:"scayt_moresuggest",order:d+1}),e[k]=CKEDITOR.TRISTATE_OFF,"on"===a.config.scayt_moreSuggestions&&(a.addMenuItem("scayt_moresuggest",{label:h.getLocal("btn_moreSuggestions"),group:"scayt_moresuggest",order:10,getItems:function(){return e}}),b.scayt_moresuggest=CKEDITOR.TRISTATE_OFF))}else for(d=0;d<c.length;d++)k="grayt_suggest_"+CKEDITOR.plugins.scayt.suggestions[d].replace(" ","_"),a.addCommand(k, +this.createCommand(CKEDITOR.plugins.scayt.suggestions[d],f,g)),a.addMenuItem(k,{label:c[d],command:k,group:"grayt_suggest",order:d+1}),b[k]=CKEDITOR.TRISTATE_OFF;else b.no_scayt_suggest=CKEDITOR.TRISTATE_DISABLED,a.addCommand("no_scayt_suggest",{exec:function(){}}),a.addMenuItem("no_scayt_suggest",{label:h.getLocal("btn_noSuggestions")||"no_scayt_suggest",command:"no_scayt_suggest",group:"scayt_suggest",order:0});return b},menuGenerator:function(a,c){var d=a.scayt,b=this.scaytMenuDefinition(a),e= +{},f=a.config.scayt_contextCommands.split("|"),g=c.getAttribute(d.getLangAttribute())||d.getLang(),h,k,m;h=d.isScaytNode(c);k=d.isGraytNode(c);h?(b=b.scayt,e=c.getAttribute(d.getScaytNodeAttributeName()),d.fire("getSuggestionsList",{lang:g,word:e}),e=this.buildSuggestionMenuItems(a,CKEDITOR.plugins.scayt.suggestions,h)):k&&(b=b.grayt,e=c.getAttribute(d.getGraytNodeAttributeName()),m=d.getProblemDescriptionText(e,g),b.grayt_problemdescription&&m&&(b.grayt_problemdescription.label=m),d.fire("getGrammarSuggestionsList", +{lang:g,phrase:e}),e=this.buildSuggestionMenuItems(a,CKEDITOR.plugins.scayt.suggestions,h));if(h&&"off"==a.config.scayt_contextCommands)return e;for(var l in b)h&&-1==CKEDITOR.tools.indexOf(f,l.replace("scayt_",""))&&"all"!=a.config.scayt_contextCommands||k&&"grayt_problemdescription"!==l&&-1==CKEDITOR.tools.indexOf(f,l.replace("grayt_",""))&&"all"!=a.config.scayt_contextCommands||(e[l]="undefined"!=typeof b[l].state?b[l].state:CKEDITOR.TRISTATE_OFF,"function"!==typeof b[l].verification||b[l].verification(a)|| +delete e[l],a.addCommand(l,{exec:b[l].exec}),a.addMenuItem(l,{label:a.lang.scayt[b[l].label]||b[l].label,command:l,group:b[l].group,order:b[l].order}));return e},createCommand:function(a,c,d){return{exec:function(b){b=b.scayt;var e={};e[c]=a;b.replaceSelectionNode(e);"startGrammarCheck"===d&&b.removeMarkupInSelectionNode({grammarOnly:!0});b.fire(d)}}}}); +CKEDITOR.plugins.scayt={charsToObserve:[{charName:"cke-fillingChar",charCode:function(){var a=CKEDITOR.version.match(/^\d(\.\d*)*/),a=a&&a[0],c;if(a){c="4.5.7";var d,a=a.replace(/\./g,"");c=c.replace(/\./g,"");d=a.length-c.length;d=0<=d?d:0;c=parseInt(a)>=parseInt(c)*Math.pow(10,d)}return c?Array(7).join(String.fromCharCode(8203)):String.fromCharCode(8203)}()}],onLoadTimestamp:"",state:{scayt:{},grayt:{}},warningCounter:0,suggestions:[],options:{disablingCommandExec:{source:!0,newpage:!0,templates:!0}, +data_attribute_name:"data-scayt-word",misspelled_word_class:"scayt-misspell-word",problem_grammar_data_attribute:"data-grayt-phrase",problem_grammar_class:"gramm-problem"},backCompatibilityMap:{scayt_service_protocol:"scayt_serviceProtocol",scayt_service_host:"scayt_serviceHost",scayt_service_port:"scayt_servicePort",scayt_service_path:"scayt_servicePath",scayt_customerid:"scayt_customerId"},alarmCompatibilityMessage:function(){5>this.warningCounter&&(console.warn("You are using the latest version of SCAYT plugin for CKEditor with the old application version. In order to have access to the newest features, it is recommended to upgrade the application version to latest one as well. Contact us for more details at support@webspellchecker.net."), +this.warningCounter+=1)},isNewUdSupported:function(a){return a.getUserDictionary?!0:!1},reloadMarkup:function(a){var c;a&&(c=a.getScaytLangList(),a.reloadMarkup?a.reloadMarkup():(this.alarmCompatibilityMessage(),c&&c.ltr&&c.rtl&&a.fire("startSpellCheck, startGrammarCheck")))},replaceOldOptionsNames:function(a){for(var c in a)c in this.backCompatibilityMap&&(a[this.backCompatibilityMap[c]]=a[c],delete a[c])},createScayt:function(a){var c=this,d=CKEDITOR.plugins.scayt;this.loadScaytLibrary(a,function(a){function e(a){return new SCAYT.CKSCAYT(a, +function(){},function(){})}var f=a.window&&a.window.getFrame()||a.editable();if(f){f={lang:a.config.scayt_sLang,container:f.$,customDictionary:a.config.scayt_customDictionaryIds,userDictionaryName:a.config.scayt_userDictionaryName,localization:a.langCode,customer_id:a.config.scayt_customerId,customPunctuation:a.config.scayt_customPunctuation,debug:a.config.scayt_debug,data_attribute_name:c.options.data_attribute_name,misspelled_word_class:c.options.misspelled_word_class,problem_grammar_data_attribute:c.options.problem_grammar_data_attribute, +problem_grammar_class:c.options.problem_grammar_class,"options-to-restore":a.config.scayt_disableOptionsStorage,focused:a.editable().hasFocus,ignoreElementsRegex:a.config.scayt_elementsToIgnore,ignoreGraytElementsRegex:a.config.grayt_elementsToIgnore,minWordLength:a.config.scayt_minWordLength,multiLanguageMode:a.config.scayt_multiLanguageMode,multiLanguageStyles:a.config.scayt_multiLanguageStyles,graytAutoStartup:a.config.grayt_autoStartup,charsToObserve:d.charsToObserve};a.config.scayt_serviceProtocol&& +(f.service_protocol=a.config.scayt_serviceProtocol);a.config.scayt_serviceHost&&(f.service_host=a.config.scayt_serviceHost);a.config.scayt_servicePort&&(f.service_port=a.config.scayt_servicePort);a.config.scayt_servicePath&&(f.service_path=a.config.scayt_servicePath);"boolean"===typeof a.config.scayt_ignoreAllCapsWords&&(f["ignore-all-caps-words"]=a.config.scayt_ignoreAllCapsWords);"boolean"===typeof a.config.scayt_ignoreDomainNames&&(f["ignore-domain-names"]=a.config.scayt_ignoreDomainNames);"boolean"=== +typeof a.config.scayt_ignoreWordsWithMixedCases&&(f["ignore-words-with-mixed-cases"]=a.config.scayt_ignoreWordsWithMixedCases);"boolean"===typeof a.config.scayt_ignoreWordsWithNumbers&&(f["ignore-words-with-numbers"]=a.config.scayt_ignoreWordsWithNumbers);var g;try{g=e(f)}catch(h){c.alarmCompatibilityMessage(),delete f.charsToObserve,g=e(f)}g.subscribe("suggestionListSend",function(a){for(var b={},d=[],c=0;c<a.suggestionList.length;c++)b["word_"+a.suggestionList[c]]||(b["word_"+a.suggestionList[c]]= +a.suggestionList[c],d.push(a.suggestionList[c]));CKEDITOR.plugins.scayt.suggestions=d});g.subscribe("selectionIsChanged",function(d){a.getSelection().isLocked&&"restoreSelection"!==d.action&&a.lockSelection();"restoreSelection"===d.action&&a.selectionChange(!0)});g.subscribe("graytStateChanged",function(c){d.state.grayt[a.name]=c.state});g.addMarkupHandler&&g.addMarkupHandler(function(d){var c=a.editable(),e=c.getCustomData(d.charName);e&&(e.$=d.node,c.setCustomData(d.charName,e))});a.scayt=g;a.fire("scaytButtonState", +a.readOnly?CKEDITOR.TRISTATE_DISABLED:CKEDITOR.TRISTATE_ON)}else d.state.scayt[a.name]=!1})},destroy:function(a){a.scayt&&a.scayt.destroy();delete a.scayt;a.fire("scaytButtonState",CKEDITOR.TRISTATE_OFF)},loadScaytLibrary:function(a,c){var d,b=function(){CKEDITOR.fireOnce("scaytReady");a.scayt||"function"===typeof c&&c(a)};"undefined"===typeof window.SCAYT||"function"!==typeof window.SCAYT.CKSCAYT?(d=a.config.scayt_srcUrl+"?"+this.onLoadTimestamp,CKEDITOR.scriptLoader.load(d,function(a){a&&b()})): +window.SCAYT&&"function"===typeof window.SCAYT.CKSCAYT&&b()}}; +CKEDITOR.on("dialogDefinition",function(a){var c=a.data.name;a=a.data.definition.dialog;"scaytDialog"!==c&&"checkspell"!==c&&(a.on("show",function(a){a=a.sender&&a.sender.getParentEditor();var b=CKEDITOR.plugins.scayt,c=a.scayt;c&&b.state.scayt[a.name]&&c.setMarkupPaused&&c.setMarkupPaused(!0)}),a.on("hide",function(a){a=a.sender&&a.sender.getParentEditor();var b=CKEDITOR.plugins.scayt,c=a.scayt;c&&b.state.scayt[a.name]&&c.setMarkupPaused&&c.setMarkupPaused(!1)}));if("scaytDialog"===c)a.on("cancel", +function(a){return!1},this,null,-1);if("checkspell"===c)a.on("cancel",function(a){a=a.sender&&a.sender.getParentEditor();var b=CKEDITOR.plugins.scayt,c=a.scayt;c&&b.state.scayt[a.name]&&c.setMarkupPaused&&c.setMarkupPaused(!1);a.unlockSelection()},this,null,-2);if("link"===c)a.on("ok",function(a){var b=a.sender&&a.sender.getParentEditor();b&&setTimeout(function(){b.fire("reloadMarkupScayt",{removeOptions:{removeInside:!0,forceBookmark:!0},timeout:0})},0)});if("replace"===c)a.on("hide",function(a){a= +a.sender&&a.sender.getParentEditor();var b=CKEDITOR.plugins.scayt,c=a.scayt;a&&setTimeout(function(){c&&(c.fire("removeMarkupInDocument",{}),b.reloadMarkup(c))},0)})}); +CKEDITOR.on("scaytReady",function(){if(!0===CKEDITOR.config.scayt_handleCheckDirty){var a=CKEDITOR.editor.prototype;a.checkDirty=CKEDITOR.tools.override(a.checkDirty,function(a){return function(){var b=null,c=this.scayt;if(CKEDITOR.plugins.scayt&&CKEDITOR.plugins.scayt.state.scayt[this.name]&&this.scayt){if(b="ready"==this.status)var f=c.removeMarkupFromString(this.getSnapshot()),c=c.removeMarkupFromString(this._.previousValue),b=b&&c!==f}else b=a.call(this);return b}});a.resetDirty=CKEDITOR.tools.override(a.resetDirty, +function(a){return function(){var b=this.scayt;CKEDITOR.plugins.scayt&&CKEDITOR.plugins.scayt.state.scayt[this.name]&&this.scayt?this._.previousValue=b.removeMarkupFromString(this.getSnapshot()):a.call(this)}})}if(!0===CKEDITOR.config.scayt_handleUndoRedo){var a=CKEDITOR.plugins.undo.Image.prototype,c="function"==typeof a.equalsContent?"equalsContent":"equals";a[c]=CKEDITOR.tools.override(a[c],function(a){return function(b){var c=b.editor.scayt,f=this.contents,g=b.contents,h=null;CKEDITOR.plugins.scayt&& +CKEDITOR.plugins.scayt.state.scayt[b.editor.name]&&b.editor.scayt&&(this.contents=c.removeMarkupFromString(f)||"",b.contents=c.removeMarkupFromString(g)||"");h=a.apply(this,arguments);this.contents=f;b.contents=g;return h}})}});(function(){CKEDITOR.plugins.add("stylescombo",{requires:"richcombo",init:function(c){var l=c.config,g=c.lang.stylescombo,f={},k=[],m=[];c.on("stylesSet",function(a){if(a=a.data.styles){for(var b,h,d,e=0,n=a.length;e<n;e++)(b=a[e],c.blockless&&b.element in CKEDITOR.dtd.$block||"string"==typeof b.type&&!CKEDITOR.style.customHandlers[b.type]||(h=b.name,b=new CKEDITOR.style(b),c.filter.customConfig&&!c.filter.check(b)))||(b._name=h,b._.enterMode=l.enterMode,b._.type=d=b.assignedTo||b.type,b._.weight= +e+1E3*(d==CKEDITOR.STYLE_OBJECT?1:d==CKEDITOR.STYLE_BLOCK?2:3),f[h]=b,k.push(b),m.push(b));k.sort(function(a,b){return a._.weight-b._.weight})}});c.ui.addRichCombo("Styles",{label:g.label,title:g.panelTitle,toolbar:"styles,10",allowedContent:m,panel:{css:[CKEDITOR.skin.getPath("editor")].concat(l.contentsCss),multiSelect:!0,attributes:{"aria-label":g.panelTitle}},init:function(){var a,b,c,d,e,f;e=0;for(f=k.length;e<f;e++)a=k[e],b=a._name,d=a._.type,d!=c&&(this.startGroup(g["panelTitle"+String(d)]), +c=d),this.add(b,a.type==CKEDITOR.STYLE_OBJECT?b:a.buildPreview(),b);this.commit()},onClick:function(a){c.focus();c.fire("saveSnapshot");a=f[a];var b=c.elementPath();if(a.group&&a.removeStylesFromSameGroup(c))c.applyStyle(a);else c[a.checkActive(b,c)?"removeStyle":"applyStyle"](a);c.fire("saveSnapshot")},onRender:function(){c.on("selectionChange",function(a){var b=this.getValue();a=a.data.path.elements;for(var h=0,d=a.length,e;h<d;h++){e=a[h];for(var g in f)if(f[g].checkElementRemovable(e,!0,c)){g!= +b&&this.setValue(g);return}}this.setValue("")},this)},onOpen:function(){var a=c.getSelection(),a=a.getSelectedElement()||a.getStartElement()||c.editable(),a=c.elementPath(a),b=[0,0,0,0];this.showAll();this.unmarkAll();for(var h in f){var d=f[h],e=d._.type;d.checkApplicable(a,c,c.activeFilter)?b[e]++:this.hideItem(h);d.checkActive(a,c)&&this.mark(h)}b[CKEDITOR.STYLE_BLOCK]||this.hideGroup(g["panelTitle"+String(CKEDITOR.STYLE_BLOCK)]);b[CKEDITOR.STYLE_INLINE]||this.hideGroup(g["panelTitle"+String(CKEDITOR.STYLE_INLINE)]); +b[CKEDITOR.STYLE_OBJECT]||this.hideGroup(g["panelTitle"+String(CKEDITOR.STYLE_OBJECT)])},refresh:function(){var a=c.elementPath();if(a){for(var b in f)if(f[b].checkApplicable(a,c,c.activeFilter))return;this.setState(CKEDITOR.TRISTATE_DISABLED)}},reset:function(){f={};k=[]}})}})})();(function(){function k(c){return{editorFocus:!1,canUndo:!1,modes:{wysiwyg:1},exec:function(d){if(d.editable().hasFocus){var e=d.getSelection(),b;if(b=(new CKEDITOR.dom.elementPath(e.getCommonAncestor(),e.root)).contains({td:1,th:1},1)){var e=d.createRange(),a=CKEDITOR.tools.tryThese(function(){var a=b.getParent().$.cells[b.$.cellIndex+(c?-1:1)];a.parentNode.parentNode;return a},function(){var a=b.getParent(),a=a.getAscendant("table").$.rows[a.$.rowIndex+(c?-1:1)];return a.cells[c?a.cells.length-1: +0]});if(a||c)if(a)a=new CKEDITOR.dom.element(a),e.moveToElementEditStart(a),e.checkStartOfBlock()&&e.checkEndOfBlock()||e.selectNodeContents(a);else return!0;else{for(var f=b.getAscendant("table").$,a=b.getParent().$.cells,f=new CKEDITOR.dom.element(f.insertRow(-1),d.document),g=0,h=a.length;g<h;g++)f.append((new CKEDITOR.dom.element(a[g],d.document)).clone(!1,!1)).appendBogus();e.moveToElementEditStart(f)}e.select(!0);return!0}}return!1}}}var h={editorFocus:!1,modes:{wysiwyg:1,source:1}},g={exec:function(c){c.container.focusNext(!0, +c.tabIndex)}},f={exec:function(c){c.container.focusPrevious(!0,c.tabIndex)}};CKEDITOR.plugins.add("tab",{init:function(c){for(var d=!1!==c.config.enableTabKeyTools,e=c.config.tabSpaces||0,b="";e--;)b+=" ";if(b)c.on("key",function(a){9==a.data.keyCode&&(c.insertText(b),a.cancel())});if(d)c.on("key",function(a){(9==a.data.keyCode&&c.execCommand("selectNextCell")||a.data.keyCode==CKEDITOR.SHIFT+9&&c.execCommand("selectPreviousCell"))&&a.cancel()});c.addCommand("blur",CKEDITOR.tools.extend(g,h));c.addCommand("blurBack", +CKEDITOR.tools.extend(f,h));c.addCommand("selectNextCell",k());c.addCommand("selectPreviousCell",k(!0))}})})(); +CKEDITOR.dom.element.prototype.focusNext=function(k,h){var g=void 0===h?this.getTabIndex():h,f,c,d,e,b,a;if(0>=g)for(b=this.getNextSourceNode(k,CKEDITOR.NODE_ELEMENT);b;){if(b.isVisible()&&0===b.getTabIndex()){d=b;break}b=b.getNextSourceNode(!1,CKEDITOR.NODE_ELEMENT)}else for(b=this.getDocument().getBody().getFirst();b=b.getNextSourceNode(!1,CKEDITOR.NODE_ELEMENT);){if(!f)if(!c&&b.equals(this)){if(c=!0,k){if(!(b=b.getNextSourceNode(!0,CKEDITOR.NODE_ELEMENT)))break;f=1}}else c&&!this.contains(b)&& +(f=1);if(b.isVisible()&&!(0>(a=b.getTabIndex()))){if(f&&a==g){d=b;break}a>g&&(!d||!e||a<e)?(d=b,e=a):d||0!==a||(d=b,e=a)}}d&&d.focus()}; +CKEDITOR.dom.element.prototype.focusPrevious=function(k,h){for(var g=void 0===h?this.getTabIndex():h,f,c,d,e=0,b,a=this.getDocument().getBody().getLast();a=a.getPreviousSourceNode(!1,CKEDITOR.NODE_ELEMENT);){if(!f)if(!c&&a.equals(this)){if(c=!0,k){if(!(a=a.getPreviousSourceNode(!0,CKEDITOR.NODE_ELEMENT)))break;f=1}}else c&&!this.contains(a)&&(f=1);if(a.isVisible()&&!(0>(b=a.getTabIndex())))if(0>=g){if(f&&0===b){d=a;break}b>e&&(d=a,e=b)}else{if(f&&b==g){d=a;break}b<g&&(!d||b>e)&&(d=a,e=b)}}d&&d.focus()};CKEDITOR.plugins.add("table",{requires:"dialog",init:function(a){function f(c){return CKEDITOR.tools.extend(c||{},{contextSensitive:1,refresh:function(c,b){this.setState(b.contains("table",1)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED)}})}if(!a.blockless){var e=a.lang.table;a.addCommand("table",new CKEDITOR.dialogCommand("table",{context:"table",allowedContent:"table{width,height}[align,border,cellpadding,cellspacing,summary];caption tbody thead tfoot;th td tr[scope];"+(a.plugins.dialogadvtab? +"table"+a.plugins.dialogadvtab.allowedContent():""),requiredContent:"table",contentTransformations:[["table{width}: sizeToStyle","table[width]: sizeToAttribute"],["td: splitBorderShorthand"],[{element:"table",right:function(c){if(c.styles){var a;if(c.styles.border)a=CKEDITOR.tools.style.parse.border(c.styles.border);else if(CKEDITOR.env.ie&&8===CKEDITOR.env.version){var b=c.styles;b["border-left"]&&b["border-left"]===b["border-right"]&&b["border-right"]===b["border-top"]&&b["border-top"]===b["border-bottom"]&& +(a=CKEDITOR.tools.style.parse.border(b["border-top"]))}a&&a.style&&"solid"===a.style&&a.width&&0!==parseFloat(a.width)&&(c.attributes.border=1);"collapse"==c.styles["border-collapse"]&&(c.attributes.cellspacing=0)}}}]]}));a.addCommand("tableProperties",new CKEDITOR.dialogCommand("tableProperties",f()));a.addCommand("tableDelete",f({exec:function(a){var d=a.elementPath().contains("table",1);if(d){var b=d.getParent(),e=a.editable();1!=b.getChildCount()||b.is("td","th")||b.equals(e)||(d=b);a=a.createRange(); +a.moveToPosition(d,CKEDITOR.POSITION_BEFORE_START);d.remove();a.select()}}}));a.ui.addButton&&a.ui.addButton("Table",{label:e.toolbar,command:"table",toolbar:"insert,30"});CKEDITOR.dialog.add("table",this.path+"dialogs/table.js");CKEDITOR.dialog.add("tableProperties",this.path+"dialogs/table.js");a.addMenuItems&&a.addMenuItems({table:{label:e.menu,command:"tableProperties",group:"table",order:5},tabledelete:{label:e.deleteTable,command:"tableDelete",group:"table",order:1}});a.on("doubleclick",function(a){a.data.element.is("table")&& +(a.data.dialog="tableProperties")});a.contextMenu&&a.contextMenu.addListener(function(){return{tabledelete:CKEDITOR.TRISTATE_OFF,table:CKEDITOR.TRISTATE_OFF}})}}});(function(){function q(d,f){function b(a){return f?f.contains(a)&&a.getAscendant("table",!0).equals(f):!0}function c(b){0<e.length||b.type!=CKEDITOR.NODE_ELEMENT||!F.test(b.getName())||b.getCustomData("selected_cell")||(CKEDITOR.dom.element.setMarker(a,b,"selected_cell",!0),e.push(b))}var e=[],a={};if(!d)return e;for(var g=d.getRanges(),k=0;k<g.length;k++){var h=g[k];if(h.collapsed)(h=h.getCommonAncestor().getAscendant({td:1,th:1},!0))&&b(h)&&e.push(h);else{var h=new CKEDITOR.dom.walker(h),l;for(h.guard= +c;l=h.next();)l.type==CKEDITOR.NODE_ELEMENT&&l.is(CKEDITOR.dtd.table)||(l=l.getAscendant({td:1,th:1},!0))&&!l.getCustomData("selected_cell")&&b(l)&&(CKEDITOR.dom.element.setMarker(a,l,"selected_cell",!0),e.push(l))}}CKEDITOR.dom.element.clearAllMarkers(a);return e}function r(d,f){for(var b=D(d)?d:q(d),c=b[0],e=c.getAscendant("table"),c=c.getDocument(),a=b[0].getParent(),g=a.$.rowIndex,b=b[b.length-1],k=b.getParent().$.rowIndex+b.$.rowSpan-1,b=new CKEDITOR.dom.element(e.$.rows[k]),g=f?g:k,a=f?a:b, +b=CKEDITOR.tools.buildTableMap(e),e=b[g],g=f?b[g-1]:b[g+1],b=b[0].length,c=c.createElement("tr"),k=0;e[k]&&k<b;k++){var h;1<e[k].rowSpan&&g&&e[k]==g[k]?(h=e[k],h.rowSpan+=1):(h=(new CKEDITOR.dom.element(e[k])).clone(),h.removeAttribute("rowSpan"),h.appendBogus(),c.append(h),h=h.$);k+=h.colSpan-1}f?c.insertBefore(a):c.insertAfter(a);return c}function B(d){if(d instanceof CKEDITOR.dom.selection){var f=d.getRanges(),b=q(d),c=b[0].getAscendant("table"),e=CKEDITOR.tools.buildTableMap(c),a=b[0].getParent().$.rowIndex, +b=b[b.length-1],g=b.getParent().$.rowIndex+b.$.rowSpan-1,b=[];d.reset();for(d=a;d<=g;d++){for(var k=e[d],h=new CKEDITOR.dom.element(c.$.rows[d]),l=0;l<k.length;l++){var m=new CKEDITOR.dom.element(k[l]),n=m.getParent().$.rowIndex;1==m.$.rowSpan?m.remove():(--m.$.rowSpan,n==d&&(n=e[d+1],n[l-1]?m.insertAfter(new CKEDITOR.dom.element(n[l-1])):(new CKEDITOR.dom.element(c.$.rows[d+1])).append(m,1)));l+=m.$.colSpan-1}b.push(h)}e=c.$.rows;f[0].moveToPosition(c,CKEDITOR.POSITION_BEFORE_START);a=new CKEDITOR.dom.element(e[g+ +1]||(0<a?e[a-1]:null)||c.$.parentNode);for(d=b.length;0<=d;d--)B(b[d]);return c.$.parentNode?a:(f[0].select(),null)}d instanceof CKEDITOR.dom.element&&(c=d.getAscendant("table"),1==c.$.rows.length?c.remove():d.remove());return null}function v(d){for(var f=d.getParent().$.cells,b=0,c=0;c<f.length;c++){var e=f[c],b=b+e.colSpan;if(e==d.$)break}return b-1}function w(d,f){for(var b=f?Infinity:0,c=0;c<d.length;c++){var e=v(d[c]);if(f?e<b:e>b)b=e}return b}function u(d,f){for(var b=D(d)?d:q(d),c=b[0].getAscendant("table"), +e=w(b,1),b=w(b),a=f?e:b,g=CKEDITOR.tools.buildTableMap(c),c=[],e=[],b=[],k=g.length,h=0;h<k;h++)c.push(g[h][a]),e.push(f?g[h][a-1]:g[h][a+1]);for(h=0;h<k;h++)c[h]&&(1<c[h].colSpan&&e[h]==c[h]?(g=c[h],g.colSpan+=1):(a=new CKEDITOR.dom.element(c[h]),g=a.clone(),g.removeAttribute("colSpan"),g.appendBogus(),g[f?"insertBefore":"insertAfter"].call(g,a),b.push(g),g=g.$),h+=g.rowSpan-1);return b}function y(d){function f(a){var b,c,d;b=a.getRanges();if(1!==b.length)return a;b=b[0];if(b.collapsed||0!==b.endOffset)return a; +c=b.endContainer;d=c.getName().toLowerCase();if("td"!==d&&"th"!==d)return a;for((d=c.getPrevious())||(d=c.getParent().getPrevious().getLast());d.type!==CKEDITOR.NODE_TEXT&&"br"!==d.getName().toLowerCase();)if(d=d.getLast(),!d)return a;b.setEndAt(d,CKEDITOR.POSITION_BEFORE_END);return b.select()}CKEDITOR.env.webkit&&!d.isFake&&(d=f(d));var b=d.getRanges(),c=q(d),e=c[0],a=c[c.length-1],c=e.getAscendant("table"),g=CKEDITOR.tools.buildTableMap(c),k,h,l=[];d.reset();var m=0;for(d=g.length;m<d;m++)for(var n= +0,p=g[m].length;n<p;n++)void 0===k&&g[m][n]==e.$&&(k=n),g[m][n]==a.$&&(h=n);for(m=k;m<=h;m++)for(n=0;n<g.length;n++)a=g[n],e=new CKEDITOR.dom.element(c.$.rows[n]),a=new CKEDITOR.dom.element(a[m]),a.$&&(1==a.$.colSpan?a.remove():--a.$.colSpan,n+=a.$.rowSpan-1,e.$.cells.length||l.push(e));k=g[0].length-1>h?new CKEDITOR.dom.element(g[0][h+1]):k&&-1!==g[0][k-1].cellIndex?new CKEDITOR.dom.element(g[0][k-1]):new CKEDITOR.dom.element(c.$.parentNode);l.length==d&&(b[0].moveToPosition(c,CKEDITOR.POSITION_AFTER_END), +b[0].select(),c.remove());return k}function t(d,f){var b=d.getStartElement().getAscendant({td:1,th:1},!0);if(b){var c=b.clone();c.appendBogus();f?c.insertBefore(b):c.insertAfter(b)}}function z(d){if(d instanceof CKEDITOR.dom.selection){var f=d.getRanges(),b=q(d),c=b[0]&&b[0].getAscendant("table"),e;a:{var a=0;e=b.length-1;for(var g={},k,h;k=b[a++];)CKEDITOR.dom.element.setMarker(g,k,"delete_cell",!0);for(a=0;k=b[a++];)if((h=k.getPrevious())&&!h.getCustomData("delete_cell")||(h=k.getNext())&&!h.getCustomData("delete_cell")){CKEDITOR.dom.element.clearAllMarkers(g); +e=h;break a}CKEDITOR.dom.element.clearAllMarkers(g);a=b[0].getParent();(a=a.getPrevious())?e=a.getLast():(a=b[e].getParent(),e=(a=a.getNext())?a.getChild(0):null)}d.reset();for(d=b.length-1;0<=d;d--)z(b[d]);e?p(e,!0):c&&(f[0].moveToPosition(c,CKEDITOR.POSITION_BEFORE_START),f[0].select(),c.remove())}else d instanceof CKEDITOR.dom.element&&(f=d.getParent(),1==f.getChildCount()?f.remove():d.remove())}function p(d,f){var b=d.getDocument(),c=CKEDITOR.document;CKEDITOR.env.ie&&10==CKEDITOR.env.version&& +(c.focus(),b.focus());b=new CKEDITOR.dom.range(b);b["moveToElementEdit"+(f?"End":"Start")](d)||(b.selectNodeContents(d),b.collapse(f?!1:!0));b.select(!0)}function A(d,f,b){d=d[f];if("undefined"==typeof b)return d;for(f=0;d&&f<d.length;f++){if(b.is&&d[f]==b.$)return f;if(f==b)return new CKEDITOR.dom.element(d[f])}return b.is?-1:null}function x(d,f,b){var c=q(d),e;if((f?1!=c.length:2>c.length)||(e=d.getCommonAncestor())&&e.type==CKEDITOR.NODE_ELEMENT&&e.is("table"))return!1;var a;d=c[0];e=d.getAscendant("table"); +var g=CKEDITOR.tools.buildTableMap(e),k=g.length,h=g[0].length,l=d.getParent().$.rowIndex,m=A(g,l,d);if(f){var n;try{var p=parseInt(d.getAttribute("rowspan"),10)||1;a=parseInt(d.getAttribute("colspan"),10)||1;n=g["up"==f?l-p:"down"==f?l+p:l]["left"==f?m-a:"right"==f?m+a:m]}catch(x){return!1}if(!n||d.$==n)return!1;c["up"==f||"left"==f?"unshift":"push"](new CKEDITOR.dom.element(n))}f=d.getDocument();var r=l,p=n=0,u=!b&&new CKEDITOR.dom.documentFragment(f),w=0;for(f=0;f<c.length;f++){a=c[f];var t=a.getParent(), +y=a.getFirst(),v=a.$.colSpan,z=a.$.rowSpan,t=t.$.rowIndex,B=A(g,t,a),w=w+v*z,p=Math.max(p,B-m+v);n=Math.max(n,t-l+z);b||(v=a,(z=v.getBogus())&&z.remove(),v.trim(),a.getChildren().count()&&(t==r||!y||y.isBlockBoundary&&y.isBlockBoundary({br:1})||(r=u.getLast(CKEDITOR.dom.walker.whitespaces(!0)),!r||r.is&&r.is("br")||u.append("br")),a.moveChildren(u)),f?a.remove():a.setHtml(""));r=t}if(b)return n*p==w;u.moveChildren(d);d.appendBogus();p>=h?d.removeAttribute("rowSpan"):d.$.rowSpan=n;n>=k?d.removeAttribute("colSpan"): +d.$.colSpan=p;b=new CKEDITOR.dom.nodeList(e.$.rows);c=b.count();for(f=c-1;0<=f;f--)e=b.getItem(f),e.$.cells.length||(e.remove(),c++);return d}function C(d,f){var b=q(d);if(1<b.length)return!1;if(f)return!0;var b=b[0],c=b.getParent(),e=c.getAscendant("table"),a=CKEDITOR.tools.buildTableMap(e),g=c.$.rowIndex,k=A(a,g,b),h=b.$.rowSpan,l;if(1<h){l=Math.ceil(h/2);for(var h=Math.floor(h/2),c=g+l,e=new CKEDITOR.dom.element(e.$.rows[c]),a=A(a,c),m,c=b.clone(),g=0;g<a.length;g++)if(m=a[g],m.parentNode==e.$&& +g>k){c.insertBefore(new CKEDITOR.dom.element(m));break}else m=null;m||e.append(c)}else for(h=l=1,e=c.clone(),e.insertAfter(c),e.append(c=b.clone()),m=A(a,g),k=0;k<m.length;k++)m[k].rowSpan++;c.appendBogus();b.$.rowSpan=l;c.$.rowSpan=h;1==l&&b.removeAttribute("rowSpan");1==h&&c.removeAttribute("rowSpan");return c}function E(d,f){var b=q(d);if(1<b.length)return!1;if(f)return!0;var b=b[0],c=b.getParent(),e=c.getAscendant("table"),e=CKEDITOR.tools.buildTableMap(e),a=A(e,c.$.rowIndex,b),g=b.$.colSpan; +if(1<g)c=Math.ceil(g/2),g=Math.floor(g/2);else{for(var g=c=1,k=[],h=0;h<e.length;h++){var l=e[h];k.push(l[a]);1<l[a].rowSpan&&(h+=l[a].rowSpan-1)}for(e=0;e<k.length;e++)k[e].colSpan++}e=b.clone();e.insertAfter(b);e.appendBogus();b.$.colSpan=c;e.$.colSpan=g;1==c&&b.removeAttribute("colSpan");1==g&&e.removeAttribute("colSpan");return e}var F=/^(?:td|th)$/,D=CKEDITOR.tools.isArray;CKEDITOR.plugins.tabletools={requires:"table,dialog,contextmenu",init:function(d){function f(a){return CKEDITOR.tools.extend(a|| +{},{contextSensitive:1,refresh:function(a,b){this.setState(b.contains({td:1,th:1},1)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED)}})}function b(a,b){var c=d.addCommand(a,b);d.addFeature(c)}var c=d.lang.table,e=CKEDITOR.tools.style.parse;b("cellProperties",new CKEDITOR.dialogCommand("cellProperties",f({allowedContent:"td th{width,height,border-color,background-color,white-space,vertical-align,text-align}[colspan,rowspan]",requiredContent:"table",contentTransformations:[[{element:"td",left:function(a){return a.styles.background&& +e.background(a.styles.background).color},right:function(a){a.styles["background-color"]=e.background(a.styles.background).color}},{element:"td",check:"td{vertical-align}",left:function(a){return a.attributes&&a.attributes.valign},right:function(a){a.styles["vertical-align"]=a.attributes.valign;delete a.attributes.valign}}],[{element:"tr",check:"td{height}",left:function(a){return a.styles&&a.styles.height},right:function(a){CKEDITOR.tools.array.forEach(a.children,function(b){b.name in{td:1,th:1}&& +(b.attributes["cke-row-height"]=a.styles.height)});delete a.styles.height}}],[{element:"td",check:"td{height}",left:function(a){return(a=a.attributes)&&a["cke-row-height"]},right:function(a){a.styles.height=a.attributes["cke-row-height"];delete a.attributes["cke-row-height"]}}]]})));CKEDITOR.dialog.add("cellProperties",this.path+"dialogs/tableCell.js");b("rowDelete",f({requiredContent:"table",exec:function(a){a=a.getSelection();(a=B(a))&&p(a)}}));b("rowInsertBefore",f({requiredContent:"table",exec:function(a){a= +a.getSelection();a=q(a);r(a,!0)}}));b("rowInsertAfter",f({requiredContent:"table",exec:function(a){a=a.getSelection();a=q(a);r(a)}}));b("columnDelete",f({requiredContent:"table",exec:function(a){a=a.getSelection();(a=y(a))&&p(a,!0)}}));b("columnInsertBefore",f({requiredContent:"table",exec:function(a){a=a.getSelection();a=q(a);u(a,!0)}}));b("columnInsertAfter",f({requiredContent:"table",exec:function(a){a=a.getSelection();a=q(a);u(a)}}));b("cellDelete",f({requiredContent:"table",exec:function(a){a= +a.getSelection();z(a)}}));b("cellMerge",f({allowedContent:"td[colspan,rowspan]",requiredContent:"td[colspan,rowspan]",exec:function(a,b){b.cell=x(a.getSelection());p(b.cell,!0)}}));b("cellMergeRight",f({allowedContent:"td[colspan]",requiredContent:"td[colspan]",exec:function(a,b){b.cell=x(a.getSelection(),"right");p(b.cell,!0)}}));b("cellMergeDown",f({allowedContent:"td[rowspan]",requiredContent:"td[rowspan]",exec:function(a,b){b.cell=x(a.getSelection(),"down");p(b.cell,!0)}}));b("cellVerticalSplit", +f({allowedContent:"td[rowspan]",requiredContent:"td[rowspan]",exec:function(a){p(E(a.getSelection()))}}));b("cellHorizontalSplit",f({allowedContent:"td[colspan]",requiredContent:"td[colspan]",exec:function(a){p(C(a.getSelection()))}}));b("cellInsertBefore",f({requiredContent:"table",exec:function(a){a=a.getSelection();t(a,!0)}}));b("cellInsertAfter",f({requiredContent:"table",exec:function(a){a=a.getSelection();t(a)}}));d.addMenuItems&&d.addMenuItems({tablecell:{label:c.cell.menu,group:"tablecell", +order:1,getItems:function(){var a=d.getSelection(),b=q(a);return{tablecell_insertBefore:CKEDITOR.TRISTATE_OFF,tablecell_insertAfter:CKEDITOR.TRISTATE_OFF,tablecell_delete:CKEDITOR.TRISTATE_OFF,tablecell_merge:x(a,null,!0)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,tablecell_merge_right:x(a,"right",!0)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,tablecell_merge_down:x(a,"down",!0)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,tablecell_split_vertical:E(a,!0)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED, +tablecell_split_horizontal:C(a,!0)?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED,tablecell_properties:0<b.length?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED}}},tablecell_insertBefore:{label:c.cell.insertBefore,group:"tablecell",command:"cellInsertBefore",order:5},tablecell_insertAfter:{label:c.cell.insertAfter,group:"tablecell",command:"cellInsertAfter",order:10},tablecell_delete:{label:c.cell.deleteCell,group:"tablecell",command:"cellDelete",order:15},tablecell_merge:{label:c.cell.merge, +group:"tablecell",command:"cellMerge",order:16},tablecell_merge_right:{label:c.cell.mergeRight,group:"tablecell",command:"cellMergeRight",order:17},tablecell_merge_down:{label:c.cell.mergeDown,group:"tablecell",command:"cellMergeDown",order:18},tablecell_split_horizontal:{label:c.cell.splitHorizontal,group:"tablecell",command:"cellHorizontalSplit",order:19},tablecell_split_vertical:{label:c.cell.splitVertical,group:"tablecell",command:"cellVerticalSplit",order:20},tablecell_properties:{label:c.cell.title, +group:"tablecellproperties",command:"cellProperties",order:21},tablerow:{label:c.row.menu,group:"tablerow",order:1,getItems:function(){return{tablerow_insertBefore:CKEDITOR.TRISTATE_OFF,tablerow_insertAfter:CKEDITOR.TRISTATE_OFF,tablerow_delete:CKEDITOR.TRISTATE_OFF}}},tablerow_insertBefore:{label:c.row.insertBefore,group:"tablerow",command:"rowInsertBefore",order:5},tablerow_insertAfter:{label:c.row.insertAfter,group:"tablerow",command:"rowInsertAfter",order:10},tablerow_delete:{label:c.row.deleteRow, +group:"tablerow",command:"rowDelete",order:15},tablecolumn:{label:c.column.menu,group:"tablecolumn",order:1,getItems:function(){return{tablecolumn_insertBefore:CKEDITOR.TRISTATE_OFF,tablecolumn_insertAfter:CKEDITOR.TRISTATE_OFF,tablecolumn_delete:CKEDITOR.TRISTATE_OFF}}},tablecolumn_insertBefore:{label:c.column.insertBefore,group:"tablecolumn",command:"columnInsertBefore",order:5},tablecolumn_insertAfter:{label:c.column.insertAfter,group:"tablecolumn",command:"columnInsertAfter",order:10},tablecolumn_delete:{label:c.column.deleteColumn, +group:"tablecolumn",command:"columnDelete",order:15}});d.contextMenu&&d.contextMenu.addListener(function(a,b,c){return(a=c.contains({td:1,th:1},1))&&!a.isReadOnly()?{tablecell:CKEDITOR.TRISTATE_OFF,tablerow:CKEDITOR.TRISTATE_OFF,tablecolumn:CKEDITOR.TRISTATE_OFF}:null})},getCellColIndex:v,insertRow:r,insertColumn:u,getSelectedCells:q};CKEDITOR.plugins.add("tabletools",CKEDITOR.plugins.tabletools)})(); +CKEDITOR.tools.buildTableMap=function(q,r,B,v,w){q=q.$.rows;B=B||0;v="number"===typeof v?v:q.length-1;w="number"===typeof w?w:-1;var u=-1,y=[];for(r=r||0;r<=v;r++){u++;!y[u]&&(y[u]=[]);for(var t=-1,z=B;z<=(-1===w?q[r].cells.length-1:w);z++){var p=q[r].cells[z];if(!p)break;for(t++;y[u][t];)t++;for(var A=isNaN(p.colSpan)?1:p.colSpan,p=isNaN(p.rowSpan)?1:p.rowSpan,x=0;x<p&&!(r+x>v);x++){y[u+x]||(y[u+x]=[]);for(var C=0;C<A;C++)y[u+x][t+C]=q[r].cells[z]}t+=A-1;if(-1!==w&&t>=w)break}}return y};(function(){function B(a){return CKEDITOR.plugins.widget&&CKEDITOR.plugins.widget.isDomWidget(a)}function x(a,b){var c=a.getAscendant("table"),d=b.getAscendant("table"),e=CKEDITOR.tools.buildTableMap(c),h=n(a),m=n(b),l=[],k={},f,p;c.contains(d)&&(b=b.getAscendant({td:1,th:1}),m=n(b));h>m&&(c=h,h=m,m=c,c=a,a=b,b=c);for(c=0;c<e[h].length;c++)if(a.$===e[h][c]){f=c;break}for(c=0;c<e[m].length;c++)if(b.$===e[m][c]){p=c;break}f>p&&(c=f,f=p,p=c);for(c=h;c<=m;c++)for(h=f;h<=p;h++)d=new CKEDITOR.dom.element(e[c][h]), +d.$&&!d.getCustomData("selected_cell")&&(l.push(d),CKEDITOR.dom.element.setMarker(k,d,"selected_cell",!0));CKEDITOR.dom.element.clearAllMarkers(k);return l}function H(a){if(a)return a=a.clone(),a.enlarge(CKEDITOR.ENLARGE_ELEMENT),(a=a.getEnclosedNode())&&a.is&&a.is(CKEDITOR.dtd.$tableContent)}function I(a){return(a=a.editable().findOne(".cke_table-faked-selection"))&&a.getAscendant("table")}function y(a,b){var c=a.editable().find(".cke_table-faked-selection"),d;a.fire("lockSnapshot");a.editable().removeClass("cke_table-faked-selection-editor"); +for(d=0;d<c.count();d++)c.getItem(d).removeClass("cke_table-faked-selection");0<c.count()&&c.getItem(0).getAscendant("table").data("cke-table-faked-selection-table",!1);a.fire("unlockSnapshot");b&&(g={active:!1},a.getSelection().isInTable()&&a.getSelection().reset())}function t(a,b){var c=[],d,e;for(e=0;e<b.length;e++)d=a.createRange(),d.setStartBefore(b[e]),d.setEndAfter(b[e]),c.push(d);a.getSelection().selectRanges(c)}function J(a){var b=a.editable().find(".cke_table-faked-selection");1>b.count()|| +(b=x(b.getItem(0),b.getItem(b.count()-1)),t(a,b))}function K(a,b,c){var d=u(a.getSelection(!0));b=b.is("table")?null:b;var e;(e=g.active&&!g.first)&&!(e=b)&&(e=a.getSelection().getRanges(),e=1<d.length||e[0]&&!e[0].collapsed?!0:!1);if(e)g.first=b||d[0],g.dirty=b?!1:1!==d.length;else if(g.active&&b&&g.first.getAscendant("table").equals(b.getAscendant("table"))){d=x(g.first,b);if(!g.dirty&&1===d.length&&!B(c.data.getTarget()))return y(a,"mouseup"===c.name);g.dirty=!0;g.last=b;t(a,d)}}function L(a){var b= +(a=a.editor||a.sender.editor)&&a.getSelection(),c=b&&b.getRanges()||[],d;if(b&&(y(a),b.isInTable()&&b.isFake)){1===c.length&&c[0]._getTableElement()&&c[0]._getTableElement().is("table")&&(d=c[0]._getTableElement());d=u(b,d);a.fire("lockSnapshot");for(b=0;b<d.length;b++)d[b].addClass("cke_table-faked-selection");0<d.length&&(a.editable().addClass("cke_table-faked-selection-editor"),d[0].getAscendant("table").data("cke-table-faked-selection-table",""));a.fire("unlockSnapshot")}}function n(a){return a.getAscendant("tr", +!0).$.rowIndex}function v(a){function b(a,b){return a&&b?a.equals(b)||a.contains(b)||b.contains(a)||a.getCommonAncestor(b).is(f):!1}function c(a){return!a.getAscendant("table",!0)&&a.getDocument().equals(e.document)}function d(a,d,e,k){return("mousedown"!==a.name||CKEDITOR.tools.getMouseButton(a)!==CKEDITOR.MOUSE_BUTTON_LEFT&&k)&&("mouseup"!==a.name||c(a.data.getTarget())||b(e,k))?!1:!0}if(a.data.getTarget().getName&&("mouseup"===a.name||!B(a.data.getTarget()))){var e=a.editor||a.listenerData.editor, +h=e.getSelection(1),m=I(e),l=a.data.getTarget(),k=l&&l.getAscendant({td:1,th:1},!0),l=l&&l.getAscendant("table",!0),f={table:1,thead:1,tbody:1,tfoot:1,tr:1,td:1,th:1};d(a,h,m,l)&&y(e,!0);!g.active&&"mousedown"===a.name&&CKEDITOR.tools.getMouseButton(a)===CKEDITOR.MOUSE_BUTTON_LEFT&&l&&(g={active:!0},CKEDITOR.document.on("mouseup",v,null,{editor:e}));(k||l)&&K(e,k||l,a);"mouseup"===a.name&&(CKEDITOR.tools.getMouseButton(a)===CKEDITOR.MOUSE_BUTTON_LEFT&&(c(a.data.getTarget())||b(m,l))&&J(e),g={active:!1}, +CKEDITOR.document.removeListener("mouseup",v))}}function M(a){var b=a.data.getTarget().getAscendant({td:1,th:1},!0);b&&!b.hasClass("cke_table-faked-selection")&&(a.cancel(),a.data.preventDefault())}function N(a,b){function c(a){a.cancel()}var d=a.getSelection(),e=d.createBookmarks(),h=a.document,m=a.createRange(),l=h.getDocumentElement().$,k=CKEDITOR.env.ie&&9>CKEDITOR.env.version,f=a.blockless||CKEDITOR.env.ie?"span":"div",p,r,C,g;h.getById("cke_table_copybin")||(p=h.createElement(f),r=h.createElement(f), +r.setAttributes({id:"cke_table_copybin","data-cke-temp":"1"}),p.setStyles({position:"absolute",width:"1px",height:"1px",overflow:"hidden"}),p.setStyle("ltr"==a.config.contentsLangDirection?"left":"right","-5000px"),p.setHtml(a.getSelectedHtml(!0)),a.fire("lockSnapshot"),r.append(p),a.editable().append(r),g=a.on("selectionChange",c,null,null,0),k&&(C=l.scrollTop),m.selectNodeContents(p),m.select(),k&&(l.scrollTop=C),setTimeout(function(){r.remove();d.selectBookmarks(e);g.removeListener();a.fire("unlockSnapshot"); +b&&(a.extractSelectedHtml(),a.fire("saveSnapshot"))},100))}function D(a){var b=a.editor||a.sender.editor;b.getSelection().isInTable()&&N(b,"cut"===a.name)}function q(a){this._reset();a&&this.setSelectedCells(a)}function z(a,b,c){a.on("beforeCommandExec",function(d){-1!==CKEDITOR.tools.array.indexOf(b,d.data.name)&&(d.data.selectedCells=u(a.getSelection()))});a.on("afterCommandExec",function(d){-1!==CKEDITOR.tools.array.indexOf(b,d.data.name)&&c(a,d.data)})}var g={active:!1},w,u,A,E,F;q.prototype= +{};q.prototype._reset=function(){this.cells={first:null,last:null,all:[]};this.rows={first:null,last:null}};q.prototype.setSelectedCells=function(a){this._reset();a=a.slice(0);this._arraySortByDOMOrder(a);this.cells.all=a;this.cells.first=a[0];this.cells.last=a[a.length-1];this.rows.first=a[0].getAscendant("tr");this.rows.last=this.cells.last.getAscendant("tr")};q.prototype.getTableMap=function(){var a=A(this.cells.first),b;a:{b=this.cells.last;var c=b.getAscendant("table"),d=n(b),c=CKEDITOR.tools.buildTableMap(c), +e;for(e=0;e<c[d].length;e++)if((new CKEDITOR.dom.element(c[d][e])).equals(b)){b=e;break a}b=void 0}return CKEDITOR.tools.buildTableMap(this._getTable(),n(this.rows.first),a,n(this.rows.last),b)};q.prototype._getTable=function(){return this.rows.first.getAscendant("table")};q.prototype.insertRow=function(a,b,c){if("undefined"===typeof a)a=1;else if(0>=a)return;for(var d=this.cells.first.$.cellIndex,e=this.cells.last.$.cellIndex,h=c?[]:this.cells.all,m,l=0;l<a;l++)m=E(c?this.cells.all:h,b),m=CKEDITOR.tools.array.filter(m.find("td, th").toArray(), +function(a){return c?!0:a.$.cellIndex>=d&&a.$.cellIndex<=e}),h=b?m.concat(h):h.concat(m);this.setSelectedCells(h)};q.prototype.insertColumn=function(a){function b(a){a=n(a);return a>=e&&a<=h}if("undefined"===typeof a)a=1;else if(0>=a)return;for(var c=this.cells,d=c.all,e=n(c.first),h=n(c.last),c=0;c<a;c++)d=d.concat(CKEDITOR.tools.array.filter(F(d),b));this.setSelectedCells(d)};q.prototype.emptyCells=function(a){a=a||this.cells.all;for(var b=0;b<a.length;b++)a[b].setHtml("")};q.prototype._arraySortByDOMOrder= +function(a){a.sort(function(a,c){return a.getPosition(c)&CKEDITOR.POSITION_PRECEDING?-1:1})};var G={onPaste:function(a){function b(a){return Math.max.apply(null,CKEDITOR.tools.array.map(a,function(a){return a.length},0))}function c(a){var b=d.createRange();b.selectNodeContents(a);b.select()}var d=a.editor,e=d.getSelection(),h=u(e),m=this.findTableInPastedContent(d,a.data.dataValue),l=e.isInTable(!0)&&this.isBoundarySelection(e),k,f;!h.length||1===h.length&&!H(e.getRanges()[0])&&!l||l&&!m||(h=h[0].getAscendant("table"), +k=new q(u(e,h)),d.once("afterPaste",function(){var a;if(f){a=new CKEDITOR.dom.element(f[0][0]);var b=f[f.length-1];a=x(a,new CKEDITOR.dom.element(b[b.length-1]))}else a=k.cells.all;t(d,a)}),m?(a.stop(),l?(k.insertRow(1,1===l,!0),e.selectElement(k.rows.first)):(k.emptyCells(),t(d,k.cells.all)),a=k.getTableMap(),f=CKEDITOR.tools.buildTableMap(m),k.insertRow(f.length-a.length),k.insertColumn(b(f)-b(a)),a=k.getTableMap(),this.pasteTable(k,a,f),d.fire("saveSnapshot"),setTimeout(function(){d.fire("afterPaste")}, +0)):(c(k.cells.first),d.once("afterPaste",function(){d.fire("lockSnapshot");k.emptyCells(k.cells.all.slice(1));t(d,k.cells.all);d.fire("unlockSnapshot")})))},isBoundarySelection:function(a){a=a.getRanges()[0];var b=a.endContainer.getAscendant("tr",!0);if(b&&a.collapsed){if(a.checkBoundaryOfElement(b,CKEDITOR.START))return 1;if(a.checkBoundaryOfElement(b,CKEDITOR.END))return 2}return 0},findTableInPastedContent:function(a,b){var c=a.dataProcessor,d=new CKEDITOR.dom.element("body");c||(c=new CKEDITOR.htmlDataProcessor(a)); +d.setHtml(c.toHtml(b),{fixForBody:!1});return 1<d.getChildCount()?null:d.findOne("table")},pasteTable:function(a,b,c){var d,e=A(a.cells.first),h=a._getTable(),m={},l,k,f,p;for(f=0;f<c.length;f++)for(l=new CKEDITOR.dom.element(h.$.rows[a.rows.first.$.rowIndex+f]),p=0;p<c[f].length;p++)if(k=new CKEDITOR.dom.element(c[f][p]),d=b[f]&&b[f][p]?new CKEDITOR.dom.element(b[f][p]):null,k&&!k.getCustomData("processed")){if(d&&d.getParent())k.replace(d);else if(0===p||c[f][p-1])(d=0!==p?new CKEDITOR.dom.element(c[f][p- +1]):null)&&l.equals(d.getParent())?k.insertAfter(d):0<e?l.$.cells[e]?k.insertAfter(new CKEDITOR.dom.element(l.$.cells[e])):l.append(k):l.append(k,!0);CKEDITOR.dom.element.setMarker(m,k,"processed",!0)}else k.getCustomData("processed")&&d&&d.remove();CKEDITOR.dom.element.clearAllMarkers(m)}};CKEDITOR.plugins.tableselection={getCellsBetween:x,keyboardIntegration:function(a){function b(a){var b=a.getEnclosedNode();b&&b.is({td:1,th:1})?a.getEnclosedNode().setText(""):a.deleteContents();CKEDITOR.tools.array.forEach(a._find("td"), +function(a){a.appendBogus()})}var c=a.editable();c.attachListener(c,"keydown",function(a){function c(b,e){if(!e.length)return null;var f=a.createRange(),h=CKEDITOR.dom.range.mergeRanges(e);CKEDITOR.tools.array.forEach(h,function(a){a.enlarge(CKEDITOR.ENLARGE_ELEMENT)});var r=h[0].getBoundaryNodes(),g=r.startNode,r=r.endNode;if(g&&g.is&&g.is(m)){for(var q=g.getAscendant("table",!0),n=g.getPreviousSourceNode(!1,CKEDITOR.NODE_ELEMENT,q),t=!1,u=function(a){return!g.contains(a)&&a.is&&a.is("td","th")};n&& +!u(n);)n=n.getPreviousSourceNode(!1,CKEDITOR.NODE_ELEMENT,q);!n&&r&&r.is&&!r.is("table")&&r.getNext()&&(n=r.getNext().findOne("td, th"),t=!0);if(n)f["moveToElementEdit"+(t?"Start":"End")](n);else f.setStartBefore(g.getAscendant("table",!0)),f.collapse(!0);h[0].deleteContents();return[f]}if(g)return f.moveToElementEditablePosition(g),[f]}var h={37:1,38:1,39:1,40:1,8:1,46:1},m=CKEDITOR.tools.extend({table:1},CKEDITOR.dtd.$tableContent);delete m.td;delete m.th;return function(l){var k=l.data.getKey(), +f,m=37===k||38==k,g,n,q;if(h[k]&&(f=a.getSelection())&&f.isInTable()&&f.isFake)if(g=f.getRanges(),n=g[0]._getTableElement(),q=g[g.length-1]._getTableElement(),l.data.preventDefault(),l.cancel(),8<k&&46>k)g[0].moveToElementEditablePosition(m?n:q,!m),f.selectRanges([g[0]]);else{for(l=0;l<g.length;l++)b(g[l]);(l=c(n,g))?g=l:g[0].moveToElementEditablePosition(n);f.selectRanges(g);a.fire("saveSnapshot")}}}(a),null,null,-1);c.attachListener(c,"keypress",function(d){var c=a.getSelection(),h=d.data.$.charCode|| +13===d.data.getKey(),g;if(c&&c.isInTable()&&c.isFake&&h&&!(d.data.getKeystroke()&CKEDITOR.CTRL)){d=c.getRanges();h=d[0].getEnclosedNode().getAscendant({td:1,th:1},!0);for(g=0;g<d.length;g++)b(d[g]);h&&(d[0].moveToElementEditablePosition(h),c.selectRanges([d[0]]))}},null,null,-1)},isSupportedEnvironment:!(CKEDITOR.env.ie&&11>CKEDITOR.env.version)};CKEDITOR.plugins.add("tableselection",{requires:"clipboard,tabletools",onLoad:function(){w=CKEDITOR.plugins.tabletools;u=w.getSelectedCells;A=w.getCellColIndex; +E=w.insertRow;F=w.insertColumn;CKEDITOR.document.appendStyleSheet(this.path+"styles/tableselection.css")},init:function(a){CKEDITOR.plugins.tableselection.isSupportedEnvironment&&(a.addContentsCss&&a.addContentsCss(this.path+"styles/tableselection.css"),a.on("contentDom",function(){var b=a.editable(),c=b.isInline()?b:a.document,d={editor:a};b.attachListener(c,"mousedown",v,null,d);b.attachListener(c,"mousemove",v,null,d);b.attachListener(c,"mouseup",v,null,d);b.attachListener(b,"dragstart",M);b.attachListener(a, +"selectionCheck",L);CKEDITOR.plugins.tableselection.keyboardIntegration(a);CKEDITOR.plugins.clipboard&&!CKEDITOR.plugins.clipboard.isCustomCopyCutSupported&&(b.attachListener(b,"cut",D),b.attachListener(b,"copy",D))}),a.on("paste",G.onPaste,G),z(a,"rowInsertBefore rowInsertAfter columnInsertBefore columnInsertAfter cellInsertBefore cellInsertAfter".split(" "),function(a,c){t(a,c.selectedCells)}),z(a,["cellMerge","cellMergeRight","cellMergeDown"],function(a,c){t(a,[c.commandData.cell])}),z(a,["cellDelete"], +function(a){y(a,!0)}))}})})();(function(){var g=[CKEDITOR.CTRL+90,CKEDITOR.CTRL+89,CKEDITOR.CTRL+CKEDITOR.SHIFT+90],n={8:1,46:1};CKEDITOR.plugins.add("undo",{init:function(a){function b(a){d.enabled&&!1!==a.data.command.canUndo&&d.save()}function c(){d.enabled=a.readOnly?!1:"wysiwyg"==a.mode;d.onChange()}var d=a.undoManager=new e(a),l=d.editingHandler=new k(d),f=a.addCommand("undo",{exec:function(){d.undo()&&(a.selectionChange(),this.fire("afterUndo"))},startDisabled:!0,canUndo:!1}),h=a.addCommand("redo",{exec:function(){d.redo()&& +(a.selectionChange(),this.fire("afterRedo"))},startDisabled:!0,canUndo:!1});a.setKeystroke([[g[0],"undo"],[g[1],"redo"],[g[2],"redo"]]);d.onChange=function(){f.setState(d.undoable()?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED);h.setState(d.redoable()?CKEDITOR.TRISTATE_OFF:CKEDITOR.TRISTATE_DISABLED)};a.on("beforeCommandExec",b);a.on("afterCommandExec",b);a.on("saveSnapshot",function(a){d.save(a.data&&a.data.contentOnly)});a.on("contentDom",l.attachListeners,l);a.on("instanceReady",function(){a.fire("saveSnapshot")}); +a.on("beforeModeUnload",function(){"wysiwyg"==a.mode&&d.save(!0)});a.on("mode",c);a.on("readOnly",c);a.ui.addButton&&(a.ui.addButton("Undo",{label:a.lang.undo.undo,command:"undo",toolbar:"undo,10"}),a.ui.addButton("Redo",{label:a.lang.undo.redo,command:"redo",toolbar:"undo,20"}));a.resetUndo=function(){d.reset();a.fire("saveSnapshot")};a.on("updateSnapshot",function(){d.currentImage&&d.update()});a.on("lockSnapshot",function(a){a=a.data;d.lock(a&&a.dontUpdate,a&&a.forceUpdate)});a.on("unlockSnapshot", +d.unlock,d)}});CKEDITOR.plugins.undo={};var e=CKEDITOR.plugins.undo.UndoManager=function(a){this.strokesRecorded=[0,0];this.locked=null;this.previousKeyGroup=-1;this.limit=a.config.undoStackSize||20;this.strokesLimit=25;this.editor=a;this.reset()};e.prototype={type:function(a,b){var c=e.getKeyGroup(a),d=this.strokesRecorded[c]+1;b=b||d>=this.strokesLimit;this.typing||(this.hasUndo=this.typing=!0,this.hasRedo=!1,this.onChange());b?(d=0,this.editor.fire("saveSnapshot")):this.editor.fire("change");this.strokesRecorded[c]= +d;this.previousKeyGroup=c},keyGroupChanged:function(a){return e.getKeyGroup(a)!=this.previousKeyGroup},reset:function(){this.snapshots=[];this.index=-1;this.currentImage=null;this.hasRedo=this.hasUndo=!1;this.locked=null;this.resetType()},resetType:function(){this.strokesRecorded=[0,0];this.typing=!1;this.previousKeyGroup=-1},refreshState:function(){this.hasUndo=!!this.getNextImage(!0);this.hasRedo=!!this.getNextImage(!1);this.resetType();this.onChange()},save:function(a,b,c){var d=this.editor;if(this.locked|| +"ready"!=d.status||"wysiwyg"!=d.mode)return!1;var e=d.editable();if(!e||"ready"!=e.status)return!1;e=this.snapshots;b||(b=new f(d));if(!1===b.contents)return!1;if(this.currentImage)if(b.equalsContent(this.currentImage)){if(a||b.equalsSelection(this.currentImage))return!1}else!1!==c&&d.fire("change");e.splice(this.index+1,e.length-this.index-1);e.length==this.limit&&e.shift();this.index=e.push(b)-1;this.currentImage=b;!1!==c&&this.refreshState();return!0},restoreImage:function(a){var b=this.editor, +c;a.bookmarks&&(b.focus(),c=b.getSelection());this.locked={level:999};this.editor.loadSnapshot(a.contents);a.bookmarks?c.selectBookmarks(a.bookmarks):CKEDITOR.env.ie&&(c=this.editor.document.getBody().$.createTextRange(),c.collapse(!0),c.select());this.locked=null;this.index=a.index;this.currentImage=this.snapshots[this.index];this.update();this.refreshState();b.fire("change")},getNextImage:function(a){var b=this.snapshots,c=this.currentImage,d;if(c)if(a)for(d=this.index-1;0<=d;d--){if(a=b[d],!c.equalsContent(a))return a.index= +d,a}else for(d=this.index+1;d<b.length;d++)if(a=b[d],!c.equalsContent(a))return a.index=d,a;return null},redoable:function(){return this.enabled&&this.hasRedo},undoable:function(){return this.enabled&&this.hasUndo},undo:function(){if(this.undoable()){this.save(!0);var a=this.getNextImage(!0);if(a)return this.restoreImage(a),!0}return!1},redo:function(){if(this.redoable()&&(this.save(!0),this.redoable())){var a=this.getNextImage(!1);if(a)return this.restoreImage(a),!0}return!1},update:function(a){if(!this.locked){a|| +(a=new f(this.editor));for(var b=this.index,c=this.snapshots;0<b&&this.currentImage.equalsContent(c[b-1]);)--b;c.splice(b,this.index-b+1,a);this.index=b;this.currentImage=a}},updateSelection:function(a){if(!this.snapshots.length)return!1;var b=this.snapshots,c=b[b.length-1];return c.equalsContent(a)&&!c.equalsSelection(a)?(this.currentImage=b[b.length-1]=a,!0):!1},lock:function(a,b){if(this.locked)this.locked.level++;else if(a)this.locked={level:1};else{var c=null;if(b)c=!0;else{var d=new f(this.editor, +!0);this.currentImage&&this.currentImage.equalsContent(d)&&(c=d)}this.locked={update:c,level:1}}},unlock:function(){if(this.locked&&!--this.locked.level){var a=this.locked.update;this.locked=null;if(!0===a)this.update();else if(a){var b=new f(this.editor,!0);a.equalsContent(b)||this.update()}}}};e.navigationKeyCodes={37:1,38:1,39:1,40:1,36:1,35:1,33:1,34:1};e.keyGroups={PRINTABLE:0,FUNCTIONAL:1};e.isNavigationKey=function(a){return!!e.navigationKeyCodes[a]};e.getKeyGroup=function(a){var b=e.keyGroups; +return n[a]?b.FUNCTIONAL:b.PRINTABLE};e.getOppositeKeyGroup=function(a){var b=e.keyGroups;return a==b.FUNCTIONAL?b.PRINTABLE:b.FUNCTIONAL};e.ieFunctionalKeysBug=function(a){return CKEDITOR.env.ie&&e.getKeyGroup(a)==e.keyGroups.FUNCTIONAL};var f=CKEDITOR.plugins.undo.Image=function(a,b){this.editor=a;a.fire("beforeUndoImage");var c=a.getSnapshot();CKEDITOR.env.ie&&c&&(c=c.replace(/\s+data-cke-expando=".*?"/g,""));this.contents=c;b||(this.bookmarks=(c=c&&a.getSelection())&&c.createBookmarks2(!0));a.fire("afterUndoImage")}, +h=/\b(?:href|src|name)="[^"]*?"/gi;f.prototype={equalsContent:function(a){var b=this.contents;a=a.contents;CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)&&(b=b.replace(h,""),a=a.replace(h,""));return b!=a?!1:!0},equalsSelection:function(a){var b=this.bookmarks;a=a.bookmarks;if(b||a){if(!b||!a||b.length!=a.length)return!1;for(var c=0;c<b.length;c++){var d=b[c],e=a[c];if(d.startOffset!=e.startOffset||d.endOffset!=e.endOffset||!CKEDITOR.tools.arrayCompare(d.start,e.start)||!CKEDITOR.tools.arrayCompare(d.end, +e.end))return!1}}return!0}};var k=CKEDITOR.plugins.undo.NativeEditingHandler=function(a){this.undoManager=a;this.ignoreInputEvent=!1;this.keyEventsStack=new m;this.lastKeydownImage=null};k.prototype={onKeydown:function(a){var b=a.data.getKey();if(229!==b)if(-1<CKEDITOR.tools.indexOf(g,a.data.getKeystroke()))a.data.preventDefault();else if(this.keyEventsStack.cleanUp(a),a=this.undoManager,this.keyEventsStack.getLast(b)||this.keyEventsStack.push(b),this.lastKeydownImage=new f(a.editor),e.isNavigationKey(b)|| +this.undoManager.keyGroupChanged(b))if(a.strokesRecorded[0]||a.strokesRecorded[1])a.save(!1,this.lastKeydownImage,!1),a.resetType()},onInput:function(){if(this.ignoreInputEvent)this.ignoreInputEvent=!1;else{var a=this.keyEventsStack.getLast();a||(a=this.keyEventsStack.push(0));this.keyEventsStack.increment(a.keyCode);this.keyEventsStack.getTotalInputs()>=this.undoManager.strokesLimit&&(this.undoManager.type(a.keyCode,!0),this.keyEventsStack.resetInputs())}},onKeyup:function(a){var b=this.undoManager; +a=a.data.getKey();var c=this.keyEventsStack.getTotalInputs();this.keyEventsStack.remove(a);if(!(e.ieFunctionalKeysBug(a)&&this.lastKeydownImage&&this.lastKeydownImage.equalsContent(new f(b.editor,!0))))if(0<c)b.type(a);else if(e.isNavigationKey(a))this.onNavigationKey(!0)},onNavigationKey:function(a){var b=this.undoManager;!a&&b.save(!0,null,!1)||b.updateSelection(new f(b.editor));b.resetType()},ignoreInputEventListener:function(){this.ignoreInputEvent=!0},activateInputEventListener:function(){this.ignoreInputEvent= +!1},attachListeners:function(){var a=this.undoManager.editor,b=a.editable(),c=this;b.attachListener(b,"keydown",function(a){c.onKeydown(a);if(e.ieFunctionalKeysBug(a.data.getKey()))c.onInput()},null,null,999);b.attachListener(b,CKEDITOR.env.ie?"keypress":"input",c.onInput,c,null,999);b.attachListener(b,"keyup",c.onKeyup,c,null,999);b.attachListener(b,"paste",c.ignoreInputEventListener,c,null,999);b.attachListener(b,"drop",c.ignoreInputEventListener,c,null,999);a.on("afterPaste",c.activateInputEventListener, +c,null,999);b.attachListener(b.isInline()?b:a.document.getDocumentElement(),"click",function(){c.onNavigationKey()},null,null,999);b.attachListener(this.undoManager.editor,"blur",function(){c.keyEventsStack.remove(9)},null,null,999)}};var m=CKEDITOR.plugins.undo.KeyEventsStack=function(){this.stack=[]};m.prototype={push:function(a){a=this.stack.push({keyCode:a,inputs:0});return this.stack[a-1]},getLastIndex:function(a){if("number"!=typeof a)return this.stack.length-1;for(var b=this.stack.length;b--;)if(this.stack[b].keyCode== +a)return b;return-1},getLast:function(a){a=this.getLastIndex(a);return-1!=a?this.stack[a]:null},increment:function(a){this.getLast(a).inputs++},remove:function(a){a=this.getLastIndex(a);-1!=a&&this.stack.splice(a,1)},resetInputs:function(a){if("number"==typeof a)this.getLast(a).inputs=0;else for(a=this.stack.length;a--;)this.stack[a].inputs=0},getTotalInputs:function(){for(var a=this.stack.length,b=0;a--;)b+=this.stack[a].inputs;return b},cleanUp:function(a){a=a.data.$;a.ctrlKey||a.metaKey||this.remove(17); +a.shiftKey||this.remove(16);a.altKey||this.remove(18)}}})();(function(){function m(a,d){CKEDITOR.tools.extend(this,{editor:a,editable:a.editable(),doc:a.document,win:a.window},d,!0);this.inline=this.editable.isInline();this.inline||(this.frame=this.win.getFrame());this.target=this[this.inline?"editable":"doc"]}function n(a,d){CKEDITOR.tools.extend(this,d,{editor:a},!0)}function p(a,d){var b=a.editable();CKEDITOR.tools.extend(this,{editor:a,editable:b,inline:b.isInline(),doc:a.document,win:a.window,container:CKEDITOR.document.getBody(),winTop:CKEDITOR.document.getWindow()}, +d,!0);this.hidden={};this.visible={};this.inline||(this.frame=this.win.getFrame());this.queryViewport();var c=CKEDITOR.tools.bind(this.queryViewport,this),e=CKEDITOR.tools.bind(this.hideVisible,this),g=CKEDITOR.tools.bind(this.removeAll,this);b.attachListener(this.winTop,"resize",c);b.attachListener(this.winTop,"scroll",c);b.attachListener(this.winTop,"resize",e);b.attachListener(this.win,"scroll",e);b.attachListener(this.inline?b:this.frame,"mouseout",function(a){var b=a.data.$.clientX;a=a.data.$.clientY; +this.queryViewport();(b<=this.rect.left||b>=this.rect.right||a<=this.rect.top||a>=this.rect.bottom)&&this.hideVisible();(0>=b||b>=this.winTopPane.width||0>=a||a>=this.winTopPane.height)&&this.hideVisible()},this);b.attachListener(a,"resize",c);b.attachListener(a,"mode",g);a.on("destroy",g);this.lineTpl=(new CKEDITOR.template('\x3cdiv data-cke-lineutils-line\x3d"1" class\x3d"cke_reset_all" style\x3d"{lineStyle}"\x3e\x3cspan style\x3d"{tipLeftStyle}"\x3e\x26nbsp;\x3c/span\x3e\x3cspan style\x3d"{tipRightStyle}"\x3e\x26nbsp;\x3c/span\x3e\x3c/div\x3e')).output({lineStyle:CKEDITOR.tools.writeCssText(CKEDITOR.tools.extend({}, +t,this.lineStyle,!0)),tipLeftStyle:CKEDITOR.tools.writeCssText(CKEDITOR.tools.extend({},q,{left:"0px","border-left-color":"red","border-width":"6px 0 6px 6px"},this.tipCss,this.tipLeftStyle,!0)),tipRightStyle:CKEDITOR.tools.writeCssText(CKEDITOR.tools.extend({},q,{right:"0px","border-right-color":"red","border-width":"6px 6px 6px 0"},this.tipCss,this.tipRightStyle,!0))})}function l(a){var d;if(d=a&&a.type==CKEDITOR.NODE_ELEMENT)d=!(r[a.getComputedStyle("float")]||r[a.getAttribute("align")]);return d&& +!u[a.getComputedStyle("position")]}CKEDITOR.plugins.add("lineutils");CKEDITOR.LINEUTILS_BEFORE=1;CKEDITOR.LINEUTILS_AFTER=2;CKEDITOR.LINEUTILS_INSIDE=4;m.prototype={start:function(a){var d=this,b=this.editor,c=this.doc,e,g,f,h,k=CKEDITOR.tools.eventsBuffer(50,function(){b.readOnly||"wysiwyg"!=b.mode||(d.relations={},(g=c.$.elementFromPoint(f,h))&&g.nodeType&&(e=new CKEDITOR.dom.element(g),d.traverseSearch(e),isNaN(f+h)||d.pixelSearch(e,f,h),a&&a(d.relations,f,h)))});this.listener=this.editable.attachListener(this.target, +"mousemove",function(a){f=a.data.$.clientX;h=a.data.$.clientY;k.input()});this.editable.attachListener(this.inline?this.editable:this.frame,"mouseout",function(){k.reset()})},stop:function(){this.listener&&this.listener.removeListener()},getRange:function(){var a={};a[CKEDITOR.LINEUTILS_BEFORE]=CKEDITOR.POSITION_BEFORE_START;a[CKEDITOR.LINEUTILS_AFTER]=CKEDITOR.POSITION_AFTER_END;a[CKEDITOR.LINEUTILS_INSIDE]=CKEDITOR.POSITION_AFTER_START;return function(d){var b=this.editor.createRange();b.moveToPosition(this.relations[d.uid].element, +a[d.type]);return b}}(),store:function(){function a(a,b,c){var e=a.getUniqueId();e in c?c[e].type|=b:c[e]={element:a,type:b}}return function(d,b){var c;b&CKEDITOR.LINEUTILS_AFTER&&l(c=d.getNext())&&c.isVisible()&&(a(c,CKEDITOR.LINEUTILS_BEFORE,this.relations),b^=CKEDITOR.LINEUTILS_AFTER);b&CKEDITOR.LINEUTILS_INSIDE&&l(c=d.getFirst())&&c.isVisible()&&(a(c,CKEDITOR.LINEUTILS_BEFORE,this.relations),b^=CKEDITOR.LINEUTILS_INSIDE);a(d,b,this.relations)}}(),traverseSearch:function(a){var d,b,c;do if(c=a.$["data-cke-expando"], +!(c&&c in this.relations)){if(a.equals(this.editable))break;if(l(a))for(d in this.lookups)(b=this.lookups[d](a))&&this.store(a,b)}while((!a||a.type!=CKEDITOR.NODE_ELEMENT||"true"!=a.getAttribute("contenteditable"))&&(a=a.getParent()))},pixelSearch:function(){function a(a,c,e,g,f){for(var h=0,k;f(e);){e+=g;if(25==++h)break;if(k=this.doc.$.elementFromPoint(c,e))if(k==a)h=0;else if(d(a,k)&&(h=0,l(k=new CKEDITOR.dom.element(k))))return k}}var d=CKEDITOR.env.ie||CKEDITOR.env.webkit?function(a,c){return a.contains(c)}: +function(a,c){return!!(a.compareDocumentPosition(c)&16)};return function(b,c,d){var g=this.win.getViewPaneSize().height,f=a.call(this,b.$,c,d,-1,function(a){return 0<a});c=a.call(this,b.$,c,d,1,function(a){return a<g});if(f)for(this.traverseSearch(f);!f.getParent().equals(b);)f=f.getParent();if(c)for(this.traverseSearch(c);!c.getParent().equals(b);)c=c.getParent();for(;f||c;){f&&(f=f.getNext(l));if(!f||f.equals(c))break;this.traverseSearch(f);c&&(c=c.getPrevious(l));if(!c||c.equals(f))break;this.traverseSearch(c)}}}(), +greedySearch:function(){this.relations={};for(var a=this.editable.getElementsByTag("*"),d=0,b,c,e;b=a.getItem(d++);)if(!b.equals(this.editable)&&b.type==CKEDITOR.NODE_ELEMENT&&(b.hasAttribute("contenteditable")||!b.isReadOnly())&&l(b)&&b.isVisible())for(e in this.lookups)(c=this.lookups[e](b))&&this.store(b,c);return this.relations}};n.prototype={locate:function(){function a(a,b){var c=a.element[b===CKEDITOR.LINEUTILS_BEFORE?"getPrevious":"getNext"]();return c&&l(c)?(a.siblingRect=c.getClientRect(), +b==CKEDITOR.LINEUTILS_BEFORE?(a.siblingRect.bottom+a.elementRect.top)/2:(a.elementRect.bottom+a.siblingRect.top)/2):b==CKEDITOR.LINEUTILS_BEFORE?a.elementRect.top:a.elementRect.bottom}return function(d){var b;this.locations={};for(var c in d)b=d[c],b.elementRect=b.element.getClientRect(),b.type&CKEDITOR.LINEUTILS_BEFORE&&this.store(c,CKEDITOR.LINEUTILS_BEFORE,a(b,CKEDITOR.LINEUTILS_BEFORE)),b.type&CKEDITOR.LINEUTILS_AFTER&&this.store(c,CKEDITOR.LINEUTILS_AFTER,a(b,CKEDITOR.LINEUTILS_AFTER)),b.type& +CKEDITOR.LINEUTILS_INSIDE&&this.store(c,CKEDITOR.LINEUTILS_INSIDE,(b.elementRect.top+b.elementRect.bottom)/2);return this.locations}}(),sort:function(){var a,d,b,c;return function(e,g){a=this.locations;d=[];for(var f in a)for(var h in a[f])if(b=Math.abs(e-a[f][h]),d.length){for(c=0;c<d.length;c++)if(b<d[c].dist){d.splice(c,0,{uid:+f,type:h,dist:b});break}c==d.length&&d.push({uid:+f,type:h,dist:b})}else d.push({uid:+f,type:h,dist:b});return"undefined"!=typeof g?d.slice(0,g):d}}(),store:function(a, +d,b){this.locations[a]||(this.locations[a]={});this.locations[a][d]=b}};var q={display:"block",width:"0px",height:"0px","border-color":"transparent","border-style":"solid",position:"absolute",top:"-6px"},t={height:"0px","border-top":"1px dashed red",position:"absolute","z-index":9999};p.prototype={removeAll:function(){for(var a in this.hidden)this.hidden[a].remove(),delete this.hidden[a];for(a in this.visible)this.visible[a].remove(),delete this.visible[a]},hideLine:function(a){var d=a.getUniqueId(); +a.hide();this.hidden[d]=a;delete this.visible[d]},showLine:function(a){var d=a.getUniqueId();a.show();this.visible[d]=a;delete this.hidden[d]},hideVisible:function(){for(var a in this.visible)this.hideLine(this.visible[a])},placeLine:function(a,d){var b,c,e;if(b=this.getStyle(a.uid,a.type)){for(e in this.visible)if(this.visible[e].getCustomData("hash")!==this.hash){c=this.visible[e];break}if(!c)for(e in this.hidden)if(this.hidden[e].getCustomData("hash")!==this.hash){this.showLine(c=this.hidden[e]); +break}c||this.showLine(c=this.addLine());c.setCustomData("hash",this.hash);this.visible[c.getUniqueId()]=c;c.setStyles(b);d&&d(c)}},getStyle:function(a,d){var b=this.relations[a],c=this.locations[a][d],e={};e.width=b.siblingRect?Math.max(b.siblingRect.width,b.elementRect.width):b.elementRect.width;e.top=this.inline?c+this.winTopScroll.y-this.rect.relativeY:this.rect.top+this.winTopScroll.y+c;if(e.top-this.winTopScroll.y<this.rect.top||e.top-this.winTopScroll.y>this.rect.bottom)return!1;this.inline? +e.left=b.elementRect.left-this.rect.relativeX:(0<b.elementRect.left?e.left=this.rect.left+b.elementRect.left:(e.width+=b.elementRect.left,e.left=this.rect.left),0<(b=e.left+e.width-(this.rect.left+this.winPane.width))&&(e.width-=b));e.left+=this.winTopScroll.x;for(var g in e)e[g]=CKEDITOR.tools.cssLength(e[g]);return e},addLine:function(){var a=CKEDITOR.dom.element.createFromHtml(this.lineTpl);a.appendTo(this.container);return a},prepare:function(a,d){this.relations=a;this.locations=d;this.hash=Math.random()}, +cleanup:function(){var a,d;for(d in this.visible)a=this.visible[d],a.getCustomData("hash")!==this.hash&&this.hideLine(a)},queryViewport:function(){this.winPane=this.win.getViewPaneSize();this.winTopScroll=this.winTop.getScrollPosition();this.winTopPane=this.winTop.getViewPaneSize();this.rect=this.getClientRect(this.inline?this.editable:this.frame)},getClientRect:function(a){a=a.getClientRect();var d=this.container.getDocumentPosition(),b=this.container.getComputedStyle("position");a.relativeX=a.relativeY= +0;"static"!=b&&(a.relativeY=d.y,a.relativeX=d.x,a.top-=a.relativeY,a.bottom-=a.relativeY,a.left-=a.relativeX,a.right-=a.relativeX);return a}};var r={left:1,right:1,center:1},u={absolute:1,fixed:1};CKEDITOR.plugins.lineutils={finder:m,locator:n,liner:p}})();(function(){function f(a){return a.getName&&!a.hasAttribute("data-cke-temp")}CKEDITOR.plugins.add("widgetselection",{init:function(a){if(CKEDITOR.env.webkit){var b=CKEDITOR.plugins.widgetselection;a.on("contentDom",function(a){a=a.editor;var d=a.document,e=a.editable();e.attachListener(d,"keydown",function(a){a.data.getKeystroke()==CKEDITOR.CTRL+65&&CKEDITOR.tools.setTimeout(function(){b.addFillers(e)||b.removeFillers(e)},0)},null,null,-1);a.on("selectionCheck",function(a){b.removeFillers(a.editor.editable())}); +a.on("paste",function(a){a.data.dataValue=b.cleanPasteData(a.data.dataValue)});"selectall"in a.plugins&&b.addSelectAllIntegration(a)})}}});CKEDITOR.plugins.widgetselection={startFiller:null,endFiller:null,fillerAttribute:"data-cke-filler-webkit",fillerContent:"\x26nbsp;",fillerTagName:"div",addFillers:function(a){var b=a.editor;if(!this.isWholeContentSelected(a)&&0<a.getChildCount()){var c=a.getFirst(f),d=a.getLast(f);c&&c.type==CKEDITOR.NODE_ELEMENT&&!c.isEditable()&&(this.startFiller=this.createFiller(), +a.append(this.startFiller,1));d&&d.type==CKEDITOR.NODE_ELEMENT&&!d.isEditable()&&(this.endFiller=this.createFiller(!0),a.append(this.endFiller,0));if(this.hasFiller(a))return b=b.createRange(),b.selectNodeContents(a),b.select(),!0}return!1},removeFillers:function(a){if(this.hasFiller(a)&&!this.isWholeContentSelected(a)){var b=a.findOne(this.fillerTagName+"["+this.fillerAttribute+"\x3dstart]"),c=a.findOne(this.fillerTagName+"["+this.fillerAttribute+"\x3dend]");this.startFiller&&b&&this.startFiller.equals(b)? +this.removeFiller(this.startFiller,a):this.startFiller=b;this.endFiller&&c&&this.endFiller.equals(c)?this.removeFiller(this.endFiller,a):this.endFiller=c}},cleanPasteData:function(a){a&&a.length&&(a=a.replace(this.createFillerRegex(),"").replace(this.createFillerRegex(!0),""));return a},isWholeContentSelected:function(a){var b=a.editor.getSelection().getRanges()[0];return!b||b&&b.collapsed?!1:(b=b.clone(),b.enlarge(CKEDITOR.ENLARGE_ELEMENT),!!(b&&a&&b.startContainer&&b.endContainer&&0===b.startOffset&& +b.endOffset===a.getChildCount()&&b.startContainer.equals(a)&&b.endContainer.equals(a)))},hasFiller:function(a){return 0<a.find(this.fillerTagName+"["+this.fillerAttribute+"]").count()},createFiller:function(a){var b=new CKEDITOR.dom.element(this.fillerTagName);b.setHtml(this.fillerContent);b.setAttribute(this.fillerAttribute,a?"end":"start");b.setAttribute("data-cke-temp",1);b.setStyles({display:"block",width:0,height:0,padding:0,border:0,margin:0,position:"absolute",top:0,left:"-9999px",opacity:0, +overflow:"hidden"});return b},removeFiller:function(a,b){if(a){var c=b.editor,d=b.editor.getSelection().getRanges()[0].startPath(),e=c.createRange(),g,f;d.contains(a)&&(g=a.getHtml(),f=!0);d="start"==a.getAttribute(this.fillerAttribute);a.remove();g&&0<g.length&&g!=this.fillerContent?(b.insertHtmlIntoRange(g,c.getSelection().getRanges()[0]),e.setStartAt(b.getChild(b.getChildCount()-1),CKEDITOR.POSITION_BEFORE_END),c.getSelection().selectRanges([e])):f&&(d?e.setStartAt(b.getFirst().getNext(),CKEDITOR.POSITION_AFTER_START): +e.setEndAt(b.getLast().getPrevious(),CKEDITOR.POSITION_BEFORE_END),b.editor.getSelection().selectRanges([e]))}},createFillerRegex:function(a){var b=this.createFiller(a).getOuterHtml().replace(/style="[^"]*"/gi,'style\x3d"[^"]*"').replace(/>[^<]*</gi,"\x3e[^\x3c]*\x3c");return new RegExp((a?"":"^")+b+(a?"$":""))},addSelectAllIntegration:function(a){var b=this;a.editable().attachListener(a,"beforeCommandExec",function(c){var d=a.editable();"selectAll"==c.data.name&&d&&b.addFillers(d)},null,null,9999)}}})();(function(){function p(a){this.editor=a;this.registered={};this.instances={};this.selected=[];this.widgetHoldingFocusedEditable=this.focused=null;this._={nextId:0,upcasts:[],upcastCallbacks:[],filters:{}};I(this);J(this);this.on("checkWidgets",K);this.editor.on("contentDomInvalidated",this.checkWidgets,this);L(this);M(this);N(this);O(this);P(this)}function g(a,b,c,d,e){var f=a.editor;CKEDITOR.tools.extend(this,d,{editor:f,id:b,inline:"span"==c.getParent().getName(),element:c,data:CKEDITOR.tools.extend({}, +"function"==typeof d.defaults?d.defaults():d.defaults),dataReady:!1,inited:!1,ready:!1,edit:g.prototype.edit,focusedEditable:null,definition:d,repository:a,draggable:!1!==d.draggable,_:{downcastFn:d.downcast&&"string"==typeof d.downcast?d.downcasts[d.downcast]:d.downcast}},!0);a.fire("instanceCreated",this);Q(this,d);this.init&&this.init();this.inited=!0;(a=this.element.data("cke-widget-data"))&&this.setData(JSON.parse(decodeURIComponent(a)));e&&this.setData(e);this.data.classes||this.setData("classes", +this.getClasses());this.dataReady=!0;r(this);this.fire("data",this.data);this.isInited()&&f.editable().contains(this.wrapper)&&(this.ready=!0,this.fire("ready"))}function q(a,b,c){CKEDITOR.dom.element.call(this,b.$);this.editor=a;this._={};b=this.filter=c.filter;CKEDITOR.dtd[this.getName()].p?(this.enterMode=b?b.getAllowedEnterMode(a.enterMode):a.enterMode,this.shiftEnterMode=b?b.getAllowedEnterMode(a.shiftEnterMode,!0):a.shiftEnterMode):this.enterMode=this.shiftEnterMode=CKEDITOR.ENTER_BR}function R(a, +b){a.addCommand(b.name,{exec:function(a,d){function e(){a.widgets.finalizeCreation(k)}var f=a.widgets.focused;if(f&&f.name==b.name)f.edit();else if(b.insert)b.insert();else if(b.template){var f="function"==typeof b.defaults?b.defaults():b.defaults,f=CKEDITOR.dom.element.createFromHtml(b.template.output(f)),h,l=a.widgets.wrapElement(f,b.name),k=new CKEDITOR.dom.documentFragment(l.getDocument());k.append(l);(h=a.widgets.initOn(f,b,d&&d.startupData))?(f=h.once("edit",function(b){if(b.data.dialog)h.once("dialog", +function(b){b=b.data;var d,f;d=b.once("ok",e,null,null,20);f=b.once("cancel",function(b){b.data&&!1===b.data.hide||a.widgets.destroy(h,!0)});b.once("hide",function(){d.removeListener();f.removeListener()})});else e()},null,null,999),h.edit(),f.removeListener()):e()}},allowedContent:b.allowedContent,requiredContent:b.requiredContent,contentForms:b.contentForms,contentTransformations:b.contentTransformations})}function S(a,b){function c(a,c){var d=b.upcast.split(","),e,f;for(f=0;f<d.length;f++)if(e= +d[f],e===a.name)return b.upcasts[e].call(this,a,c);return!1}function d(b,c,d){var e=CKEDITOR.tools.getIndex(a._.upcasts,function(a){return a[2]>d});0>e&&(e=a._.upcasts.length);a._.upcasts.splice(e,0,[CKEDITOR.tools.bind(b,c),c.name,d])}var e=b.upcast,f=b.upcastPriority||10;e&&("string"==typeof e?d(c,b,f):d(e,b,f))}function t(a,b){a.focused=null;if(b.isInited()){var c=b.editor.checkDirty();a.fire("widgetBlurred",{widget:b});b.setFocused(!1);!c&&b.editor.resetDirty()}}function K(a){a=a.data;if("wysiwyg"== +this.editor.mode){var b=this.editor.editable(),c=this.instances,d,e,f,h;if(b){for(d in c)c[d].isReady()&&!b.contains(c[d].wrapper)&&this.destroy(c[d],!0);if(a&&a.initOnlyNew)c=this.initOnAll();else{var l=b.find(".cke_widget_wrapper"),c=[];d=0;for(e=l.count();d<e;d++){f=l.getItem(d);if(h=!this.getByElement(f,!0)){a:{h=T;for(var k=f;k=k.getParent();)if(h(k)){h=!0;break a}h=!1}h=!h}h&&b.contains(f)&&(f.addClass("cke_widget_new"),c.push(this.initOn(f.getFirst(g.isDomWidgetElement))))}}a&&a.focusInited&& +1==c.length&&c[0].focus()}}}function u(a){if("undefined"!=typeof a.attributes&&a.attributes["data-widget"]){var b=v(a),c=w(a),d=!1;b&&b.value&&b.value.match(/^\s/g)&&(b.parent.attributes["data-cke-white-space-first"]=1,b.value=b.value.replace(/^\s/g,"\x26nbsp;"),d=!0);c&&c.value&&c.value.match(/\s$/g)&&(c.parent.attributes["data-cke-white-space-last"]=1,c.value=c.value.replace(/\s$/g,"\x26nbsp;"),d=!0);d&&(a.attributes["data-cke-widget-white-space"]=1)}}function v(a){return a.find(function(a){return 3=== +a.type},!0).shift()}function w(a){return a.find(function(a){return 3===a.type},!0).pop()}function x(a,b,c){if(!c.allowedContent&&!c.disallowedContent)return null;var d=this._.filters[a];d||(this._.filters[a]=d={});a=d[b];a||(a=c.allowedContent?new CKEDITOR.filter(c.allowedContent):this.editor.filter.clone(),d[b]=a,c.disallowedContent&&a.disallow(c.disallowedContent));return a}function U(a){var b=[],c=a._.upcasts,d=a._.upcastCallbacks;return{toBeWrapped:b,iterator:function(a){var f,h,l,k,m;if("data-cke-widget-wrapper"in +a.attributes)return(a=a.getFirst(g.isParserWidgetElement))&&b.push([a]),!1;if("data-widget"in a.attributes)return b.push([a]),!1;if(m=c.length){if(a.attributes["data-cke-widget-upcasted"])return!1;k=0;for(f=d.length;k<f;++k)if(!1===d[k](a))return;for(k=0;k<m;++k)if(f=c[k],l={},h=f[0](a,l))return h instanceof CKEDITOR.htmlParser.element&&(a=h),a.attributes["data-cke-widget-data"]=encodeURIComponent(JSON.stringify(l)),a.attributes["data-cke-widget-upcasted"]=1,b.push([a,f[1]]),!1}}}}function y(a,b){return{tabindex:-1, +contenteditable:"false","data-cke-widget-wrapper":1,"data-cke-filter":"off","class":"cke_widget_wrapper cke_widget_new cke_widget_"+(a?"inline":"block")+(b?" cke_widget_"+b:"")}}function z(a,b,c){if(a.type==CKEDITOR.NODE_ELEMENT){var d=CKEDITOR.dtd[a.name];if(d&&!d[c.name]){var d=a.split(b),e=a.parent;b=d.getIndex();a.children.length||(--b,a.remove());d.children.length||d.remove();return z(e,b,c)}}a.add(c,b)}function A(a,b){return"boolean"==typeof a.inline?a.inline:!!CKEDITOR.dtd.$inline[b]}function T(a){return a.hasAttribute("data-cke-temp")} +function n(a,b,c,d){var e=a.editor;e.fire("lockSnapshot");c?(d=c.data("cke-widget-editable"),d=b.editables[d],a.widgetHoldingFocusedEditable=b,b.focusedEditable=d,c.addClass("cke_widget_editable_focused"),d.filter&&e.setActiveFilter(d.filter),e.setActiveEnterMode(d.enterMode,d.shiftEnterMode)):(d||b.focusedEditable.removeClass("cke_widget_editable_focused"),b.focusedEditable=null,a.widgetHoldingFocusedEditable=null,e.setActiveFilter(null),e.setActiveEnterMode(null,null));e.fire("unlockSnapshot")} +function V(a){a.contextMenu&&a.contextMenu.addListener(function(b){if(b=a.widgets.getByElement(b,!0))return b.fire("contextMenu",{})})}function W(a,b){return CKEDITOR.tools.trim(b)}function O(a){var b=a.editor,c=CKEDITOR.plugins.lineutils;b.on("dragstart",function(c){var e=c.data.target;g.isDomDragHandler(e)&&(e=a.getByElement(e),c.data.dataTransfer.setData("cke/widget-id",e.id),b.focus(),e.focus())});b.on("drop",function(c){var e=c.data.dataTransfer,f=e.getData("cke/widget-id"),h=e.getTransferType(b), +e=b.createRange();""!==f&&h===CKEDITOR.DATA_TRANSFER_CROSS_EDITORS?c.cancel():""!==f&&h==CKEDITOR.DATA_TRANSFER_INTERNAL&&(f=a.instances[f])&&(e.setStartBefore(f.wrapper),e.setEndAfter(f.wrapper),c.data.dragRange=e,delete CKEDITOR.plugins.clipboard.dragStartContainerChildCount,delete CKEDITOR.plugins.clipboard.dragEndContainerChildCount,c.data.dataTransfer.setData("text/html",b.editable().getHtmlFromRange(e).getHtml()),b.widgets.destroy(f,!0))});b.on("contentDom",function(){var d=b.editable();CKEDITOR.tools.extend(a, +{finder:new c.finder(b,{lookups:{"default":function(b){if(!b.is(CKEDITOR.dtd.$listItem)&&b.is(CKEDITOR.dtd.$block)&&!g.isDomNestedEditable(b)&&!a._.draggedWidget.wrapper.contains(b)){var c=g.getNestedEditable(d,b);if(c){b=a._.draggedWidget;if(a.getByElement(c)==b)return;c=CKEDITOR.filter.instances[c.data("cke-filter")];b=b.requiredContent;if(c&&b&&!c.check(b))return}return CKEDITOR.LINEUTILS_BEFORE|CKEDITOR.LINEUTILS_AFTER}}}}),locator:new c.locator(b),liner:new c.liner(b,{lineStyle:{cursor:"move !important", +"border-top-color":"#666"},tipLeftStyle:{"border-left-color":"#666"},tipRightStyle:{"border-right-color":"#666"}})},!0)})}function M(a){var b=a.editor;b.on("contentDom",function(){var c=b.editable(),d=c.isInline()?c:b.document,e,f;c.attachListener(d,"mousedown",function(c){var d=c.data.getTarget();e=d instanceof CKEDITOR.dom.element?a.getByElement(d):null;f=0;e&&(e.inline&&d.type==CKEDITOR.NODE_ELEMENT&&d.hasAttribute("data-cke-widget-drag-handler")?(f=1,a.focused!=e&&b.getSelection().removeAllRanges()): +g.getNestedEditable(e.wrapper,d)?e=null:(c.data.preventDefault(),CKEDITOR.env.ie||e.focus()))});c.attachListener(d,"mouseup",function(){f&&e&&e.wrapper&&(f=0,e.focus())});CKEDITOR.env.ie&&c.attachListener(d,"mouseup",function(){setTimeout(function(){e&&e.wrapper&&c.contains(e.wrapper)&&(e.focus(),e=null)})})});b.on("doubleclick",function(b){var d=a.getByElement(b.data.element);if(d&&!g.getNestedEditable(d.wrapper,b.data.element))return d.fire("doubleclick",{element:b.data.element})},null,null,1)} +function N(a){a.editor.on("key",function(b){var c=a.focused,d=a.widgetHoldingFocusedEditable,e;c?e=c.fire("key",{keyCode:b.data.keyCode}):d&&(c=b.data.keyCode,b=d.focusedEditable,c==CKEDITOR.CTRL+65?(c=b.getBogus(),d=d.editor.createRange(),d.selectNodeContents(b),c&&d.setEndAt(c,CKEDITOR.POSITION_BEFORE_START),d.select(),e=!1):8==c||46==c?(e=d.editor.getSelection().getRanges(),d=e[0],e=!(1==e.length&&d.collapsed&&d.checkBoundaryOfElement(b,CKEDITOR[8==c?"START":"END"]))):e=void 0);return e},null, +null,1)}function P(a){function b(b){a.focused&&B(a.focused,"cut"==b.name)}var c=a.editor;c.on("contentDom",function(){var a=c.editable();a.attachListener(a,"copy",b);a.attachListener(a,"cut",b)})}function L(a){var b=a.editor;b.on("selectionCheck",function(){a.fire("checkSelection")});a.on("checkSelection",a.checkSelection,a);b.on("selectionChange",function(c){var d=(c=g.getNestedEditable(b.editable(),c.data.selection.getStartElement()))&&a.getByElement(c),e=a.widgetHoldingFocusedEditable;e?e===d&& +e.focusedEditable.equals(c)||(n(a,e,null),d&&c&&n(a,d,c)):d&&c&&n(a,d,c)});b.on("dataReady",function(){C(a).commit()});b.on("blur",function(){var b;(b=a.focused)&&t(a,b);(b=a.widgetHoldingFocusedEditable)&&n(a,b,null)})}function J(a){var b=a.editor,c={};b.on("toDataFormat",function(b){var e=CKEDITOR.tools.getNextNumber(),f=[];b.data.downcastingSessionId=e;c[e]=f;b.data.dataValue.forEach(function(b){var c=b.attributes,d;if("data-cke-widget-white-space"in c){d=v(b);var e=w(b);d.parent.attributes["data-cke-white-space-first"]&& +(d.value=d.value.replace(/^&nbsp;/g," "));e.parent.attributes["data-cke-white-space-last"]&&(e.value=e.value.replace(/&nbsp;$/g," "))}if("data-cke-widget-id"in c){if(c=a.instances[c["data-cke-widget-id"]])d=b.getFirst(g.isParserWidgetElement),f.push({wrapper:b,element:d,widget:c,editables:{}}),"1"!=d.attributes["data-cke-widget-keep-attr"]&&delete d.attributes["data-widget"]}else if("data-cke-widget-editable"in c)return f[f.length-1].editables[c["data-cke-widget-editable"]]=b,!1},CKEDITOR.NODE_ELEMENT, +!0)},null,null,8);b.on("toDataFormat",function(a){if(a.data.downcastingSessionId){a=c[a.data.downcastingSessionId];for(var b,f,h,l,g,m;b=a.shift();){f=b.widget;h=b.element;l=f._.downcastFn&&f._.downcastFn.call(f,h);for(m in b.editables)g=b.editables[m],delete g.attributes.contenteditable,g.setHtml(f.editables[m].getData());l||(l=h);b.wrapper.replaceWith(l)}}},null,null,13);b.on("contentDomUnload",function(){a.destroyAll(!0)})}function I(a){var b=a.editor,c,d;b.on("toHtml",function(b){var d=U(a),h; +for(b.data.dataValue.forEach(d.iterator,CKEDITOR.NODE_ELEMENT,!0);h=d.toBeWrapped.pop();){var l=h[0],k=l.parent;k.type==CKEDITOR.NODE_ELEMENT&&k.attributes["data-cke-widget-wrapper"]&&k.replaceWith(l);a.wrapElement(h[0],h[1])}c=b.data.protectedWhitespaces?3==b.data.dataValue.children.length&&g.isParserWidgetWrapper(b.data.dataValue.children[1]):1==b.data.dataValue.children.length&&g.isParserWidgetWrapper(b.data.dataValue.children[0])},null,null,8);b.on("dataReady",function(){if(d)for(var c=b.editable().find(".cke_widget_wrapper"), +f,h,l=0,k=c.count();l<k;++l)f=c.getItem(l),h=f.getFirst(g.isDomWidgetElement),h.type==CKEDITOR.NODE_ELEMENT&&h.data("widget")?(h.replace(f),a.wrapElement(h)):f.remove();d=0;a.destroyAll(!0);a.initOnAll()});b.on("loadSnapshot",function(b){/data-cke-widget/.test(b.data)&&(d=1);a.destroyAll(!0)},null,null,9);b.on("paste",function(a){a=a.data;a.dataValue=a.dataValue.replace(X,W);a.range&&(a=g.getNestedEditable(b.editable(),a.range.startContainer))&&(a=CKEDITOR.filter.instances[a.data("cke-filter")])&& +b.setActiveFilter(a)});b.on("afterInsertHtml",function(d){d.data.intoRange?a.checkWidgets({initOnlyNew:!0}):(b.fire("lockSnapshot"),a.checkWidgets({initOnlyNew:!0,focusInited:c}),b.fire("unlockSnapshot"))})}function C(a){var b=a.selected,c=[],d=b.slice(0),e=null;return{select:function(a){0>CKEDITOR.tools.indexOf(b,a)&&c.push(a);a=CKEDITOR.tools.indexOf(d,a);0<=a&&d.splice(a,1);return this},focus:function(a){e=a;return this},commit:function(){var f=a.focused!==e,h,g;a.editor.fire("lockSnapshot");for(f&& +(h=a.focused)&&t(a,h);h=d.pop();)b.splice(CKEDITOR.tools.indexOf(b,h),1),h.isInited()&&(g=h.editor.checkDirty(),h.setSelected(!1),!g&&h.editor.resetDirty());f&&e&&(g=a.editor.checkDirty(),a.focused=e,a.fire("widgetFocused",{widget:e}),e.setFocused(!0),!g&&a.editor.resetDirty());for(;h=c.pop();)b.push(h),h.setSelected(!0);a.editor.fire("unlockSnapshot")}}}function D(a,b,c){var d=0;b=E(b);var e=a.data.classes||{},f;if(b){for(e=CKEDITOR.tools.clone(e);f=b.pop();)c?e[f]||(d=e[f]=1):e[f]&&(delete e[f], +d=1);d&&a.setData("classes",e)}}function F(a){a.cancel()}function B(a,b){var c=a.editor,d=c.document,e=CKEDITOR.env.edge&&16<=CKEDITOR.env.version;if(!d.getById("cke_copybin")){var f=!c.blockless&&!CKEDITOR.env.ie||e?"div":"span",e=d.createElement(f),h=d.createElement(f),f=CKEDITOR.env.ie&&9>CKEDITOR.env.version;h.setAttributes({id:"cke_copybin","data-cke-temp":"1"});e.setStyles({position:"absolute",width:"1px",height:"1px",overflow:"hidden"});e.setStyle("ltr"==c.config.contentsLangDirection?"left": +"right","-5000px");var g=c.createRange();g.setStartBefore(a.wrapper);g.setEndAfter(a.wrapper);e.setHtml('\x3cspan data-cke-copybin-start\x3d"1"\x3e​\x3c/span\x3e'+c.editable().getHtmlFromRange(g).getHtml()+'\x3cspan data-cke-copybin-end\x3d"1"\x3e​\x3c/span\x3e');c.fire("saveSnapshot");c.fire("lockSnapshot");h.append(e);c.editable().append(h);var k=c.on("selectionChange",F,null,null,0),m=a.repository.on("checkSelection",F,null,null,0);if(f)var n=d.getDocumentElement().$,p=n.scrollTop;g=c.createRange(); +g.selectNodeContents(e);g.select();f&&(n.scrollTop=p);setTimeout(function(){b||a.focus();h.remove();k.removeListener();m.removeListener();c.fire("unlockSnapshot");b&&!c.readOnly&&(a.repository.del(a),c.fire("saveSnapshot"))},100)}}function E(a){return(a=(a=a.getDefinition().attributes)&&a["class"])?a.split(/\s+/):null}function G(){var a=CKEDITOR.document.getActive(),b=this.editor,c=b.editable();(c.isInline()?c:b.document.getWindow().getFrame()).equals(a)&&b.focusManager.focus(c)}function H(){CKEDITOR.env.gecko&& +this.editor.unlockSelection();CKEDITOR.env.webkit||(this.editor.forceNextSelectionCheck(),this.editor.selectionChange(1))}function Y(a){var b=null;a.on("data",function(){var a=this.data.classes,d;if(b!=a){for(d in b)a&&a[d]||this.removeClass(d);for(d in a)this.addClass(d);b=a}})}function Z(a){a.on("data",function(){if(a.wrapper){var b=this.getLabel?this.getLabel():this.editor.lang.widget.label.replace(/%1/,this.pathName||this.element.getName());a.wrapper.setAttribute("role","region");a.wrapper.setAttribute("aria-label", +b)}},null,null,9999)}function aa(a){if(a.draggable){var b=a.editor,c=a.wrapper.getLast(g.isDomDragHandlerContainer),d;c?d=c.findOne("img"):(c=new CKEDITOR.dom.element("span",b.document),c.setAttributes({"class":"cke_reset cke_widget_drag_handler_container",style:"background:rgba(220,220,220,0.5);background-image:url("+b.plugins.widget.path+"images/handle.png)"}),d=new CKEDITOR.dom.element("img",b.document),d.setAttributes({"class":"cke_reset cke_widget_drag_handler","data-cke-widget-drag-handler":"1", +src:CKEDITOR.tools.transparentImageData,width:15,title:b.lang.widget.move,height:15,role:"presentation"}),a.inline&&d.setAttribute("draggable","true"),c.append(d),a.wrapper.append(c));a.wrapper.on("dragover",function(a){a.data.preventDefault()});a.wrapper.on("mouseenter",a.updateDragHandlerPosition,a);setTimeout(function(){a.on("data",a.updateDragHandlerPosition,a)},50);if(!a.inline&&(d.on("mousedown",ba,a),CKEDITOR.env.ie&&9>CKEDITOR.env.version))d.on("dragstart",function(a){a.data.preventDefault(!0)}); +a.dragHandlerContainer=c}}function ba(a){function b(){var b;for(q.reset();b=g.pop();)b.removeListener();var c=k;b=a.sender;var d=this.repository.finder,e=this.repository.liner,f=this.editor,h=this.editor.editable();CKEDITOR.tools.isEmpty(e.visible)||(c=d.getRange(c[0]),this.focus(),f.fire("drop",{dropRange:c,target:c.startContainer}));h.removeClass("cke_widget_dragging");e.hideVisible();f.fire("dragend",{target:b})}if(CKEDITOR.tools.getMouseButton(a)===CKEDITOR.MOUSE_BUTTON_LEFT){var c=this.repository.finder, +d=this.repository.locator,e=this.repository.liner,f=this.editor,h=f.editable(),g=[],k=[],m,n;this.repository._.draggedWidget=this;var p=c.greedySearch(),q=CKEDITOR.tools.eventsBuffer(50,function(){m=d.locate(p);k=d.sort(n,1);k.length&&(e.prepare(p,m),e.placeLine(k[0]),e.cleanup())});h.addClass("cke_widget_dragging");g.push(h.on("mousemove",function(a){n=a.data.$.clientY;q.input()}));f.fire("dragstart",{target:a.sender});g.push(f.document.once("mouseup",b,this));h.isInline()||g.push(CKEDITOR.document.once("mouseup", +b,this))}}function ca(a){var b,c,d=a.editables;a.editables={};if(a.editables)for(b in d)c=d[b],a.initEditable(b,"string"==typeof c?{selector:c}:c)}function da(a){if(a.mask){var b=a.wrapper.findOne(".cke_widget_mask");b||(b=new CKEDITOR.dom.element("img",a.editor.document),b.setAttributes({src:CKEDITOR.tools.transparentImageData,"class":"cke_reset cke_widget_mask"}),a.wrapper.append(b));a.mask=b}}function ea(a){if(a.parts){var b={},c,d;for(d in a.parts)c=a.wrapper.findOne(a.parts[d]),b[d]=c;a.parts= +b}}function Q(a,b){fa(a);ea(a);ca(a);da(a);aa(a);Y(a);Z(a);if(CKEDITOR.env.ie&&9>CKEDITOR.env.version)a.wrapper.on("dragstart",function(b){var d=b.data.getTarget();g.getNestedEditable(a,d)||a.inline&&g.isDomDragHandler(d)||b.data.preventDefault()});a.wrapper.removeClass("cke_widget_new");a.element.addClass("cke_widget_element");a.on("key",function(b){b=b.data.keyCode;if(13==b)a.edit();else{if(b==CKEDITOR.CTRL+67||b==CKEDITOR.CTRL+88){B(a,b==CKEDITOR.CTRL+88);return}if(b in ga||CKEDITOR.CTRL&b||CKEDITOR.ALT& +b)return}return!1},null,null,999);a.on("doubleclick",function(b){a.edit()&&b.cancel()});if(b.data)a.on("data",b.data);if(b.edit)a.on("edit",b.edit)}function fa(a){(a.wrapper=a.element.getParent()).setAttribute("data-cke-widget-id",a.id)}function r(a){a.element.data("cke-widget-data",encodeURIComponent(JSON.stringify(a.data)))}function ha(){function a(){}function b(a,b,c){return c&&this.checkElement(a)?(a=c.widgets.getByElement(a,!0))&&a.checkStyleActive(this):!1}var c={};CKEDITOR.style.addCustomHandler({type:"widget", +setup:function(a){this.widget=a.widget;if(this.group="string"==typeof a.group?[a.group]:a.group){a=this.widget;var b;c[a]||(c[a]={});for(var f=0,h=this.group.length;f<h;f++)b=this.group[f],c[a][b]||(c[a][b]=[]),c[a][b].push(this)}},apply:function(a){var b;a instanceof CKEDITOR.editor&&this.checkApplicable(a.elementPath(),a)&&(b=a.widgets.focused,this.group&&this.removeStylesFromSameGroup(a),b.applyStyle(this))},remove:function(a){a instanceof CKEDITOR.editor&&this.checkApplicable(a.elementPath(), +a)&&a.widgets.focused.removeStyle(this)},removeStylesFromSameGroup:function(a){var b,f,h=!1;if(!(a instanceof CKEDITOR.editor))return!1;f=a.elementPath();if(this.checkApplicable(f,a))for(var g=0,k=this.group.length;g<k;g++){b=c[this.widget][this.group[g]];for(var m=0;m<b.length;m++)b[m]!==this&&b[m].checkActive(f,a)&&(a.widgets.focused.removeStyle(b[m]),h=!0)}return h},checkActive:function(a,b){return this.checkElementMatch(a.lastElement,0,b)},checkApplicable:function(a,b){return b instanceof CKEDITOR.editor? +this.checkElement(a.lastElement):!1},checkElementMatch:b,checkElementRemovable:b,checkElement:function(a){return g.isDomWidgetWrapper(a)?(a=a.getFirst(g.isDomWidgetElement))&&a.data("widget")==this.widget:!1},buildPreview:function(a){return a||this._.definition.name},toAllowedContentRules:function(a){if(!a)return null;a=a.widgets.registered[this.widget];var b,c={};if(!a)return null;if(a.styleableElements){b=this.getClassesArray();if(!b)return null;c[a.styleableElements]={classes:b,propertiesOnly:!0}; +return c}return a.styleToAllowedContentRules?a.styleToAllowedContentRules(this):null},getClassesArray:function(){var a=this._.definition.attributes&&this._.definition.attributes["class"];return a?CKEDITOR.tools.trim(a).split(/\s+/):null},applyToRange:a,removeFromRange:a,applyToObject:a})}CKEDITOR.plugins.add("widget",{requires:"lineutils,clipboard,widgetselection",onLoad:function(){void 0!==CKEDITOR.document.$.querySelectorAll&&(CKEDITOR.addCss(".cke_widget_wrapper{position:relative;outline:none}.cke_widget_inline{display:inline-block}.cke_widget_wrapper:hover\x3e.cke_widget_element{outline:2px solid #ffd25c;cursor:default}.cke_widget_wrapper:hover .cke_widget_editable{outline:2px solid #ffd25c}.cke_widget_wrapper.cke_widget_focused\x3e.cke_widget_element,.cke_widget_wrapper .cke_widget_editable.cke_widget_editable_focused{outline:2px solid #47a4f5}.cke_widget_editable{cursor:text}.cke_widget_drag_handler_container{position:absolute;width:15px;height:0;display:none;opacity:0.75;transition:height 0s 0.2s;line-height:0}.cke_widget_wrapper:hover\x3e.cke_widget_drag_handler_container{height:15px;transition:none}.cke_widget_drag_handler_container:hover{opacity:1}img.cke_widget_drag_handler{cursor:move;width:15px;height:15px;display:inline-block}.cke_widget_mask{position:absolute;top:0;left:0;width:100%;height:100%;display:block}.cke_editable.cke_widget_dragging, .cke_editable.cke_widget_dragging *{cursor:move !important}"), +ha())},beforeInit:function(a){void 0!==CKEDITOR.document.$.querySelectorAll&&(a.widgets=new p(a))},afterInit:function(a){if(void 0!==CKEDITOR.document.$.querySelectorAll){var b=a.widgets.registered,c,d,e;for(d in b)c=b[d],(e=c.button)&&a.ui.addButton&&a.ui.addButton(CKEDITOR.tools.capitalize(c.name,!0),{label:e,command:c.name,toolbar:"insert,10"});V(a)}}});p.prototype={MIN_SELECTION_CHECK_INTERVAL:500,add:function(a,b){b=CKEDITOR.tools.prototypedCopy(b);b.name=a;b._=b._||{};this.editor.fire("widgetDefinition", +b);b.template&&(b.template=new CKEDITOR.template(b.template));R(this.editor,b);S(this,b);return this.registered[a]=b},addUpcastCallback:function(a){this._.upcastCallbacks.push(a)},checkSelection:function(){var a=this.editor.getSelection(),b=a.getSelectedElement(),c=C(this),d;if(b&&(d=this.getByElement(b,!0)))return c.focus(d).select(d).commit();a=a.getRanges()[0];if(!a||a.collapsed)return c.commit();a=new CKEDITOR.dom.walker(a);for(a.evaluator=g.isDomWidgetWrapper;b=a.next();)c.select(this.getByElement(b)); +c.commit()},checkWidgets:function(a){this.fire("checkWidgets",CKEDITOR.tools.copy(a||{}))},del:function(a){if(this.focused===a){var b=a.editor,c=b.createRange(),d;(d=c.moveToClosestEditablePosition(a.wrapper,!0))||(d=c.moveToClosestEditablePosition(a.wrapper,!1));d&&b.getSelection().selectRanges([c])}a.wrapper.remove();this.destroy(a,!0)},destroy:function(a,b){this.widgetHoldingFocusedEditable===a&&n(this,a,null,b);a.destroy(b);delete this.instances[a.id];this.fire("instanceDestroyed",a)},destroyAll:function(a, +b){var c,d,e=this.instances;if(b&&!a){d=b.find(".cke_widget_wrapper");for(var e=d.count(),f=0;f<e;++f)(c=this.getByElement(d.getItem(f),!0))&&this.destroy(c)}else for(d in e)c=e[d],this.destroy(c,a)},finalizeCreation:function(a){(a=a.getFirst())&&g.isDomWidgetWrapper(a)&&(this.editor.insertElement(a),a=this.getByElement(a),a.ready=!0,a.fire("ready"),a.focus())},getByElement:function(){function a(a){return a.is(b)&&a.data("cke-widget-id")}var b={div:1,span:1};return function(b,d){if(!b)return null; +var e=a(b);if(!d&&!e){var f=this.editor.editable();do b=b.getParent();while(b&&!b.equals(f)&&!(e=a(b)))}return this.instances[e]||null}}(),initOn:function(a,b,c){b?"string"==typeof b&&(b=this.registered[b]):b=this.registered[a.data("widget")];if(!b)return null;var d=this.wrapElement(a,b.name);return d?d.hasClass("cke_widget_new")?(a=new g(this,this._.nextId++,a,b,c),a.isInited()?this.instances[a.id]=a:null):this.getByElement(a):null},initOnAll:function(a){a=(a||this.editor.editable()).find(".cke_widget_new"); +for(var b=[],c,d=a.count();d--;)(c=this.initOn(a.getItem(d).getFirst(g.isDomWidgetElement)))&&b.push(c);return b},onWidget:function(a){var b=Array.prototype.slice.call(arguments);b.shift();for(var c in this.instances){var d=this.instances[c];d.name==a&&d.on.apply(d,b)}this.on("instanceCreated",function(c){c=c.data;c.name==a&&c.on.apply(c,b)})},parseElementClasses:function(a){if(!a)return null;a=CKEDITOR.tools.trim(a).split(/\s+/);for(var b,c={},d=0;b=a.pop();)-1==b.indexOf("cke_")&&(c[b]=d=1);return d? +c:null},wrapElement:function(a,b){var c=null,d,e;if(a instanceof CKEDITOR.dom.element){b=b||a.data("widget");d=this.registered[b];if(!d)return null;if((c=a.getParent())&&c.type==CKEDITOR.NODE_ELEMENT&&c.data("cke-widget-wrapper"))return c;a.hasAttribute("data-cke-widget-keep-attr")||a.data("cke-widget-keep-attr",a.data("widget")?1:0);a.data("widget",b);(e=A(d,a.getName()))&&u(a);c=new CKEDITOR.dom.element(e?"span":"div");c.setAttributes(y(e,b));c.data("cke-display-name",d.pathName?d.pathName:a.getName()); +a.getParent(!0)&&c.replace(a);a.appendTo(c)}else if(a instanceof CKEDITOR.htmlParser.element){b=b||a.attributes["data-widget"];d=this.registered[b];if(!d)return null;if((c=a.parent)&&c.type==CKEDITOR.NODE_ELEMENT&&c.attributes["data-cke-widget-wrapper"])return c;"data-cke-widget-keep-attr"in a.attributes||(a.attributes["data-cke-widget-keep-attr"]=a.attributes["data-widget"]?1:0);b&&(a.attributes["data-widget"]=b);(e=A(d,a.name))&&u(a);c=new CKEDITOR.htmlParser.element(e?"span":"div",y(e,b));c.attributes["data-cke-display-name"]= +d.pathName?d.pathName:a.name;d=a.parent;var f;d&&(f=a.getIndex(),a.remove());c.add(a);d&&z(d,f,c)}return c},_tests_createEditableFilter:x};CKEDITOR.event.implementOn(p.prototype);g.prototype={addClass:function(a){this.element.addClass(a);this.wrapper.addClass(g.WRAPPER_CLASS_PREFIX+a)},applyStyle:function(a){D(this,a,1)},checkStyleActive:function(a){a=E(a);var b;if(!a)return!1;for(;b=a.pop();)if(!this.hasClass(b))return!1;return!0},destroy:function(a){this.fire("destroy");if(this.editables)for(var b in this.editables)this.destroyEditable(b, +a);a||("0"==this.element.data("cke-widget-keep-attr")&&this.element.removeAttribute("data-widget"),this.element.removeAttributes(["data-cke-widget-data","data-cke-widget-keep-attr"]),this.element.removeClass("cke_widget_element"),this.element.replace(this.wrapper));this.wrapper=null},destroyEditable:function(a,b){var c=this.editables[a];c.removeListener("focus",H);c.removeListener("blur",G);this.editor.focusManager.remove(c);b||(this.repository.destroyAll(!1,c),c.removeClass("cke_widget_editable"), +c.removeClass("cke_widget_editable_focused"),c.removeAttributes(["contenteditable","data-cke-widget-editable","data-cke-enter-mode"]));delete this.editables[a]},edit:function(){var a={dialog:this.dialog},b=this;if(!1===this.fire("edit",a)||!a.dialog)return!1;this.editor.openDialog(a.dialog,function(a){var d,e;!1!==b.fire("dialog",a)&&(d=a.on("show",function(){a.setupContent(b)}),e=a.on("ok",function(){var d,e=b.on("data",function(a){d=1;a.cancel()},null,null,0);b.editor.fire("saveSnapshot");a.commitContent(b); +e.removeListener();d&&(b.fire("data",b.data),b.editor.fire("saveSnapshot"))}),a.once("hide",function(){d.removeListener();e.removeListener()}))});return!0},getClasses:function(){return this.repository.parseElementClasses(this.element.getAttribute("class"))},hasClass:function(a){return this.element.hasClass(a)},initEditable:function(a,b){var c=this._findOneNotNested(b.selector);return c&&c.is(CKEDITOR.dtd.$editable)?(c=new q(this.editor,c,{filter:x.call(this.repository,this.name,a,b)}),this.editables[a]= +c,c.setAttributes({contenteditable:"true","data-cke-widget-editable":a,"data-cke-enter-mode":c.enterMode}),c.filter&&c.data("cke-filter",c.filter.id),c.addClass("cke_widget_editable"),c.removeClass("cke_widget_editable_focused"),b.pathName&&c.data("cke-display-name",b.pathName),this.editor.focusManager.add(c),c.on("focus",H,this),CKEDITOR.env.ie&&c.on("blur",G,this),c._.initialSetData=!0,c.setData(c.getHtml()),!0):!1},_findOneNotNested:function(a){a=this.wrapper.find(a);for(var b,c,d=0;d<a.count();d++)if(b= +a.getItem(d),c=b.getAscendant(g.isDomWidgetWrapper),this.wrapper.equals(c))return b;return null},isInited:function(){return!(!this.wrapper||!this.inited)},isReady:function(){return this.isInited()&&this.ready},focus:function(){var a=this.editor.getSelection();if(a){var b=this.editor.checkDirty();a.fake(this.wrapper);!b&&this.editor.resetDirty()}this.editor.focus()},removeClass:function(a){this.element.removeClass(a);this.wrapper.removeClass(g.WRAPPER_CLASS_PREFIX+a)},removeStyle:function(a){D(this, +a,0)},setData:function(a,b){var c=this.data,d=0;if("string"==typeof a)c[a]!==b&&(c[a]=b,d=1);else{var e=a;for(a in e)c[a]!==e[a]&&(d=1,c[a]=e[a])}d&&this.dataReady&&(r(this),this.fire("data",c));return this},setFocused:function(a){this.wrapper[a?"addClass":"removeClass"]("cke_widget_focused");this.fire(a?"focus":"blur");return this},setSelected:function(a){this.wrapper[a?"addClass":"removeClass"]("cke_widget_selected");this.fire(a?"select":"deselect");return this},updateDragHandlerPosition:function(){var a= +this.editor,b=this.element.$,c=this._.dragHandlerOffset,b={x:b.offsetLeft,y:b.offsetTop-15};c&&b.x==c.x&&b.y==c.y||(c=a.checkDirty(),a.fire("lockSnapshot"),this.dragHandlerContainer.setStyles({top:b.y+"px",left:b.x+"px",display:"block"}),a.fire("unlockSnapshot"),!c&&a.resetDirty(),this._.dragHandlerOffset=b)}};CKEDITOR.event.implementOn(g.prototype);g.getNestedEditable=function(a,b){return!b||b.equals(a)?null:g.isDomNestedEditable(b)?b:g.getNestedEditable(a,b.getParent())};g.isDomDragHandler=function(a){return a.type== +CKEDITOR.NODE_ELEMENT&&a.hasAttribute("data-cke-widget-drag-handler")};g.isDomDragHandlerContainer=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.hasClass("cke_widget_drag_handler_container")};g.isDomNestedEditable=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute("data-cke-widget-editable")};g.isDomWidgetElement=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute("data-widget")};g.isDomWidgetWrapper=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&a.hasAttribute("data-cke-widget-wrapper")}; +g.isDomWidget=function(a){return a?this.isDomWidgetWrapper(a)||this.isDomWidgetElement(a):!1};g.isParserWidgetElement=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&!!a.attributes["data-widget"]};g.isParserWidgetWrapper=function(a){return a.type==CKEDITOR.NODE_ELEMENT&&!!a.attributes["data-cke-widget-wrapper"]};g.WRAPPER_CLASS_PREFIX="cke_widget_wrapper_";q.prototype=CKEDITOR.tools.extend(CKEDITOR.tools.prototypedCopy(CKEDITOR.dom.element.prototype),{setData:function(a){this._.initialSetData|| +this.editor.widgets.destroyAll(!1,this);this._.initialSetData=!1;a=this.editor.dataProcessor.toHtml(a,{context:this.getName(),filter:this.filter,enterMode:this.enterMode});this.setHtml(a);this.editor.widgets.initOnAll(this)},getData:function(){return this.editor.dataProcessor.toDataFormat(this.getHtml(),{context:this.getName(),filter:this.filter,enterMode:this.enterMode})}});var X=/^(?:<(?:div|span)(?: data-cke-temp="1")?(?: id="cke_copybin")?(?: data-cke-temp="1")?>)?(?:<(?:div|span)(?: style="[^"]+")?>)?<span [^>]*data-cke-copybin-start="1"[^>]*>.?<\/span>([\s\S]+)<span [^>]*data-cke-copybin-end="1"[^>]*>.?<\/span>(?:<\/(?:div|span)>)?(?:<\/(?:div|span)>)?$/i, +ga={37:1,38:1,39:1,40:1,8:1,46:1};CKEDITOR.plugins.widget=g;g.repository=p;g.nestedEditable=q})();(function(){function e(a,b,c){this.editor=a;this.notification=null;this._message=new CKEDITOR.template(b);this._singularMessage=c?new CKEDITOR.template(c):null;this._tasks=[];this._doneTasks=this._doneWeights=this._totalWeights=0}function d(a){this._weight=a||1;this._doneWeight=0;this._isCanceled=!1}CKEDITOR.plugins.add("notificationaggregator",{requires:"notification"});e.prototype={createTask:function(a){a=a||{};var b=!this.notification,c;b&&(this.notification=this._createNotification());c=this._addTask(a); +c.on("updated",this._onTaskUpdate,this);c.on("done",this._onTaskDone,this);c.on("canceled",function(){this._removeTask(c)},this);this.update();b&&this.notification.show();return c},update:function(){this._updateNotification();this.isFinished()&&this.fire("finished")},getPercentage:function(){return 0===this.getTaskCount()?1:this._doneWeights/this._totalWeights},isFinished:function(){return this.getDoneTaskCount()===this.getTaskCount()},getTaskCount:function(){return this._tasks.length},getDoneTaskCount:function(){return this._doneTasks}, +_updateNotification:function(){this.notification.update({message:this._getNotificationMessage(),progress:this.getPercentage()})},_getNotificationMessage:function(){var a=this.getTaskCount(),b={current:this.getDoneTaskCount(),max:a,percentage:Math.round(100*this.getPercentage())};return(1==a&&this._singularMessage?this._singularMessage:this._message).output(b)},_createNotification:function(){return new CKEDITOR.plugins.notification(this.editor,{type:"progress"})},_addTask:function(a){a=new d(a.weight); +this._tasks.push(a);this._totalWeights+=a._weight;return a},_removeTask:function(a){var b=CKEDITOR.tools.indexOf(this._tasks,a);-1!==b&&(a._doneWeight&&(this._doneWeights-=a._doneWeight),this._totalWeights-=a._weight,this._tasks.splice(b,1),this.update())},_onTaskUpdate:function(a){this._doneWeights+=a.data;this.update()},_onTaskDone:function(){this._doneTasks+=1;this.update()}};CKEDITOR.event.implementOn(e.prototype);d.prototype={done:function(){this.update(this._weight)},update:function(a){if(!this.isDone()&& +!this.isCanceled()){a=Math.min(this._weight,a);var b=a-this._doneWeight;this._doneWeight=a;this.fire("updated",b);this.isDone()&&this.fire("done")}},cancel:function(){this.isDone()||this.isCanceled()||(this._isCanceled=!0,this.fire("canceled"))},isDone:function(){return this._weight===this._doneWeight},isCanceled:function(){return this._isCanceled}};CKEDITOR.event.implementOn(d.prototype);CKEDITOR.plugins.notificationAggregator=e;CKEDITOR.plugins.notificationAggregator.task=d})();(function(){CKEDITOR.plugins.add("uploadwidget",{requires:"widget,clipboard,filetools,notificationaggregator",init:function(a){a.filter.allow("*[!data-widget,!data-cke-upload-id]")}});CKEDITOR.fileTools||(CKEDITOR.fileTools={});CKEDITOR.tools.extend(CKEDITOR.fileTools,{addUploadWidget:function(a,c,f){var h=CKEDITOR.fileTools,b=a.uploadRepository,m=f.supportedTypes?10:20;if(f.fileToElement)a.on("paste",function(d){d=d.data;var l=a.widgets.registered[c],k=d.dataTransfer,f=k.getFilesCount(),g=l.loadMethod|| +"loadAndUpload",e,n;if(!d.dataValue&&f)for(n=0;n<f;n++)if(e=k.getFile(n),!l.supportedTypes||h.isTypeSupported(e,l.supportedTypes)){var m=l.fileToElement(e);e=b.create(e,void 0,l.loaderType);m&&(e[g](l.uploadUrl,l.additionalRequestParameters),CKEDITOR.fileTools.markElement(m,c,e.id),"loadAndUpload"!=g&&"upload"!=g||l.skipNotifications||CKEDITOR.fileTools.bindNotifications(a,e),d.dataValue+=m.getOuterHtml())}},null,null,m);CKEDITOR.tools.extend(f,{downcast:function(){return new CKEDITOR.htmlParser.text("")}, +init:function(){var d=this,c=this.wrapper.findOne("[data-cke-upload-id]").data("cke-upload-id"),k=b.loaders[c],f=CKEDITOR.tools.capitalize,g,e;k.on("update",function(b){if(d.wrapper&&d.wrapper.getParent()){a.fire("lockSnapshot");b="on"+f(k.status);if("function"!==typeof d[b]||!1!==d[b](k))e="cke_upload_"+k.status,d.wrapper&&e!=g&&(g&&d.wrapper.removeClass(g),d.wrapper.addClass(e),g=e),"error"!=k.status&&"abort"!=k.status||a.widgets.del(d);a.fire("unlockSnapshot")}else a.editable().find('[data-cke-upload-id\x3d"'+ +c+'"]').count()||k.abort(),b.removeListener()});k.update()},replaceWith:function(d,c){if(""===d.trim())a.widgets.del(this);else{var b=this==a.widgets.focused,f=a.editable(),g=a.createRange(),e,h;b||(h=a.getSelection().createBookmarks());g.setStartBefore(this.wrapper);g.setEndAfter(this.wrapper);b&&(e=g.createBookmark());f.insertHtmlIntoRange(d,g,c);a.widgets.checkWidgets({initOnlyNew:!0});a.widgets.destroy(this,!0);b?(g.moveToBookmark(e),g.select()):a.getSelection().selectBookmarks(h)}},_getLoader:function(){var a= +this.wrapper.findOne("[data-cke-upload-id]");return a?this.editor.uploadRepository.loaders[a.data("cke-upload-id")]:null}});a.widgets.add(c,f)},markElement:function(a,c,f){a.setAttributes({"data-cke-upload-id":f,"data-widget":c})},bindNotifications:function(a,c){function f(){h=a._.uploadWidgetNotificaionAggregator;if(!h||h.isFinished())h=a._.uploadWidgetNotificaionAggregator=new CKEDITOR.plugins.notificationAggregator(a,a.lang.uploadwidget.uploadMany,a.lang.uploadwidget.uploadOne),h.once("finished", +function(){var b=h.getTaskCount();0===b?h.notification.hide():h.notification.update({message:1==b?a.lang.uploadwidget.doneOne:a.lang.uploadwidget.doneMany.replace("%1",b),type:"success",important:1})})}var h,b=null;c.on("update",function(){!b&&c.uploadTotal&&(f(),b=h.createTask({weight:c.uploadTotal}));b&&"uploading"==c.status&&b.update(c.uploaded)});c.on("uploaded",function(){b&&b.done()});c.on("error",function(){b&&b.cancel();a.showNotification(c.message,"warning")});c.on("abort",function(){b&& +b.cancel();a.showNotification(a.lang.uploadwidget.abort,"info")})}})})();(function(){function l(c){9>=c&&(c="0"+c);return String(c)}function n(c){var a=new Date,a=[a.getFullYear(),a.getMonth()+1,a.getDate(),a.getHours(),a.getMinutes(),a.getSeconds()];e+=1;return"image-"+CKEDITOR.tools.array.map(a,l).join("")+"-"+e+"."+c}var e=0;CKEDITOR.plugins.add("uploadimage",{requires:"uploadwidget",onLoad:function(){CKEDITOR.addCss(".cke_upload_uploading img{opacity: 0.3}")},init:function(c){if(CKEDITOR.plugins.clipboard.isFileApiSupported){var a=CKEDITOR.fileTools,e=a.getUploadUrl(c.config, +"image");e&&(a.addUploadWidget(c,"uploadimage",{supportedTypes:/image\/(jpeg|png|gif|bmp)/,uploadUrl:e,fileToElement:function(){var b=new CKEDITOR.dom.element("img");b.setAttribute("src","data:image/gif;base64,R0lGODlhDgAOAIAAAAAAAP///yH5BAAAAAAALAAAAAAOAA4AAAIMhI+py+0Po5y02qsKADs\x3d");return b},parts:{img:"img"},onUploading:function(b){this.parts.img.setAttribute("src",b.data)},onUploaded:function(b){var a=this.parts.img.$;this.replaceWith('\x3cimg src\x3d"'+b.url+'" width\x3d"'+(b.responseData.width|| +a.naturalWidth)+'" height\x3d"'+(b.responseData.height||a.naturalHeight)+'"\x3e')}}),c.on("paste",function(b){if(b.data.dataValue.match(/<img[\s\S]+data:/i)){b=b.data;var f=document.implementation.createHTMLDocument(""),f=new CKEDITOR.dom.element(f.body),m,g,k;f.data("cke-editable",1);f.appendHtml(b.dataValue);m=f.find("img");for(k=0;k<m.count();k++){g=m.getItem(k);var d=g.getAttribute("src"),h=d&&"data:"==d.substring(0,5),l=null===g.data("cke-realelement");h&&l&&!g.data("cke-upload-id")&&!g.isReadOnly(1)&& +(h=(h=d.match(/image\/([a-z]+?);/i))&&h[1]||"jpg",d=c.uploadRepository.create(d,n(h)),d.upload(e),a.markElement(g,"uploadimage",d.id),a.bindNotifications(c,d))}b.dataValue=f.getHtml()}}))}}})})();CKEDITOR.plugins.add("wsc",{requires:"dialog",parseApi:function(a){a.config.wsc_onFinish="function"===typeof a.config.wsc_onFinish?a.config.wsc_onFinish:function(){};a.config.wsc_onClose="function"===typeof a.config.wsc_onClose?a.config.wsc_onClose:function(){}},parseConfig:function(a){a.config.wsc_customerId=a.config.wsc_customerId||CKEDITOR.config.wsc_customerId||"1:ua3xw1-2XyGJ3-GWruD3-6OFNT1-oXcuB1-nR6Bp4-hgQHc-EcYng3-sdRXG3-NOfFk";a.config.wsc_customDictionaryIds=a.config.wsc_customDictionaryIds|| +CKEDITOR.config.wsc_customDictionaryIds||"";a.config.wsc_userDictionaryName=a.config.wsc_userDictionaryName||CKEDITOR.config.wsc_userDictionaryName||"";a.config.wsc_customLoaderScript=a.config.wsc_customLoaderScript||CKEDITOR.config.wsc_customLoaderScript;a.config.wsc_interfaceLang=a.config.wsc_interfaceLang;CKEDITOR.config.wsc_cmd=a.config.wsc_cmd||CKEDITOR.config.wsc_cmd||"spell";CKEDITOR.config.wsc_version="v4.3.0-master-d769233";CKEDITOR.config.wsc_removeGlobalVariable=!0},onLoad:function(a){"moono-lisa"== +(CKEDITOR.skinName||a.config.skin)&&CKEDITOR.document.appendStyleSheet(this.path+"skins/"+CKEDITOR.skin.name+"/wsc.css")},init:function(a){var b=CKEDITOR.env;this.parseConfig(a);this.parseApi(a);a.addCommand("checkspell",new CKEDITOR.dialogCommand("checkspell")).modes={wysiwyg:!CKEDITOR.env.opera&&!CKEDITOR.env.air&&document.domain==window.location.hostname&&!(b.ie&&(8>b.version||b.quirks))};"undefined"==typeof a.plugins.scayt&&a.ui.addButton&&a.ui.addButton("SpellChecker",{label:a.lang.wsc.toolbar, +click:function(a){var b=a.elementMode==CKEDITOR.ELEMENT_MODE_INLINE?a.container.getText():a.document.getBody().getText();(b=b.replace(/\s/g,""))?a.execCommand("checkspell"):alert("Nothing to check!")},toolbar:"spellchecker,10"});CKEDITOR.dialog.add("checkspell",this.path+(CKEDITOR.env.ie&&7>=CKEDITOR.env.version?"dialogs/wsc_ie.js":window.postMessage?"dialogs/wsc.js":"dialogs/wsc_ie.js"))}});CKEDITOR.config.plugins='dialogui,dialog,about,a11yhelp,dialogadvtab,basicstyles,bidi,blockquote,notification,button,toolbar,clipboard,panelbutton,panel,floatpanel,colorbutton,colordialog,templates,menu,contextmenu,copyformatting,div,resize,elementspath,enterkey,entities,popup,filetools,filebrowser,find,fakeobjects,flash,floatingspace,listblock,richcombo,font,forms,format,horizontalrule,htmlwriter,iframe,wysiwygarea,image,indent,indentblock,indentlist,smiley,justify,menubutton,language,link,list,liststyle,magicline,maximize,newpage,pagebreak,pastetext,pastefromword,preview,print,removeformat,save,selectall,showblocks,showborders,sourcearea,specialchar,scayt,stylescombo,tab,table,tabletools,tableselection,undo,lineutils,widgetselection,widget,notificationaggregator,uploadwidget,uploadimage,wsc';CKEDITOR.config.skin='moono-lisa';(function() {var setIcons = function(icons, strip) {var path = CKEDITOR.getUrl( 'plugins/' + strip );icons = icons.split( ',' );for ( var i = 0; i < icons.length; i++ )CKEDITOR.skin.icons[ icons[ i ] ] = { path: path, offset: -icons[ ++i ], bgsize : icons[ ++i ] };};if (CKEDITOR.env.hidpi) setIcons('about,0,,bold,24,,italic,48,,strike,72,,subscript,96,,superscript,120,,underline,144,,bidiltr,168,,bidirtl,192,,blockquote,216,,copy-rtl,240,,copy,264,,cut-rtl,288,,cut,312,,paste-rtl,336,,paste,360,,bgcolor,384,,textcolor,408,,templates-rtl,432,,templates,456,,copyformatting,480,,creatediv,504,,find-rtl,528,,find,552,,replace,576,,flash,600,,button,624,,checkbox,648,,form,672,,hiddenfield,696,,imagebutton,720,,radio,744,,select-rtl,768,,select,792,,textarea-rtl,816,,textarea,840,,textfield-rtl,864,,textfield,888,,horizontalrule,912,,iframe,936,,image,960,,indent-rtl,984,,indent,1008,,outdent-rtl,1032,,outdent,1056,,smiley,1080,,justifyblock,1104,,justifycenter,1128,,justifyleft,1152,,justifyright,1176,,language,1200,,anchor-rtl,1224,,anchor,1248,,link,1272,,unlink,1296,,bulletedlist-rtl,1320,,bulletedlist,1344,,numberedlist-rtl,1368,,numberedlist,1392,,maximize,1416,,newpage-rtl,1440,,newpage,1464,,pagebreak-rtl,1488,,pagebreak,1512,,pastetext-rtl,1536,,pastetext,1560,,pastefromword-rtl,1584,,pastefromword,1608,,preview-rtl,1632,,preview,1656,,print,1680,,removeformat,1704,,save,1728,,selectall,1752,,showblocks-rtl,1776,,showblocks,1800,,source-rtl,1824,,source,1848,,specialchar,1872,,scayt,1896,,table,1920,,redo-rtl,1944,,redo,1968,,undo-rtl,1992,,undo,2016,,spellchecker,2040,','icons_hidpi.png');else setIcons('about,0,auto,bold,24,auto,italic,48,auto,strike,72,auto,subscript,96,auto,superscript,120,auto,underline,144,auto,bidiltr,168,auto,bidirtl,192,auto,blockquote,216,auto,copy-rtl,240,auto,copy,264,auto,cut-rtl,288,auto,cut,312,auto,paste-rtl,336,auto,paste,360,auto,bgcolor,384,auto,textcolor,408,auto,templates-rtl,432,auto,templates,456,auto,copyformatting,480,auto,creatediv,504,auto,find-rtl,528,auto,find,552,auto,replace,576,auto,flash,600,auto,button,624,auto,checkbox,648,auto,form,672,auto,hiddenfield,696,auto,imagebutton,720,auto,radio,744,auto,select-rtl,768,auto,select,792,auto,textarea-rtl,816,auto,textarea,840,auto,textfield-rtl,864,auto,textfield,888,auto,horizontalrule,912,auto,iframe,936,auto,image,960,auto,indent-rtl,984,auto,indent,1008,auto,outdent-rtl,1032,auto,outdent,1056,auto,smiley,1080,auto,justifyblock,1104,auto,justifycenter,1128,auto,justifyleft,1152,auto,justifyright,1176,auto,language,1200,auto,anchor-rtl,1224,auto,anchor,1248,auto,link,1272,auto,unlink,1296,auto,bulletedlist-rtl,1320,auto,bulletedlist,1344,auto,numberedlist-rtl,1368,auto,numberedlist,1392,auto,maximize,1416,auto,newpage-rtl,1440,auto,newpage,1464,auto,pagebreak-rtl,1488,auto,pagebreak,1512,auto,pastetext-rtl,1536,auto,pastetext,1560,auto,pastefromword-rtl,1584,auto,pastefromword,1608,auto,preview-rtl,1632,auto,preview,1656,auto,print,1680,auto,removeformat,1704,auto,save,1728,auto,selectall,1752,auto,showblocks-rtl,1776,auto,showblocks,1800,auto,source-rtl,1824,auto,source,1848,auto,specialchar,1872,auto,scayt,1896,auto,table,1920,auto,redo-rtl,1944,auto,redo,1968,auto,undo-rtl,1992,auto,undo,2016,auto,spellchecker,2040,auto','icons.png');})();CKEDITOR.lang.languages={"af":1,"sq":1,"ar":1,"az":1,"eu":1,"bn":1,"bs":1,"bg":1,"ca":1,"zh-cn":1,"zh":1,"hr":1,"cs":1,"da":1,"nl":1,"en":1,"en-au":1,"en-ca":1,"en-gb":1,"eo":1,"et":1,"fo":1,"fi":1,"fr":1,"fr-ca":1,"gl":1,"ka":1,"de":1,"de-ch":1,"el":1,"gu":1,"he":1,"hi":1,"hu":1,"is":1,"id":1,"it":1,"ja":1,"km":1,"ko":1,"ku":1,"lv":1,"lt":1,"mk":1,"ms":1,"mn":1,"no":1,"nb":1,"oc":1,"fa":1,"pl":1,"pt-br":1,"pt":1,"ro":1,"ru":1,"sr":1,"sr-latn":1,"si":1,"sk":1,"sl":1,"es":1,"es-mx":1,"sv":1,"tt":1,"th":1,"tr":1,"ug":1,"uk":1,"vi":1,"cy":1};}()); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/ckeditor.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/LICENSE.md =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/LICENSE.md (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/LICENSE.md (revision 7) @@ -0,0 +1,1420 @@ +Software License Agreement +========================== + +CKEditor - The text editor for Internet - https://ckeditor.com/ +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + +Licensed under the terms of any of the following licenses at your +choice: + + - GNU General Public License Version 2 or later (the "GPL") + http://www.gnu.org/licenses/gpl.html + (See Appendix A) + + - GNU Lesser General Public License Version 2.1 or later (the "LGPL") + http://www.gnu.org/licenses/lgpl.html + (See Appendix B) + + - Mozilla Public License Version 1.1 or later (the "MPL") + http://www.mozilla.org/MPL/MPL-1.1.html + (See Appendix C) + +You are not required to, but if you want to explicitly declare the +license you have chosen to be bound to when using, reproducing, +modifying and distributing this software, just include a text file +titled "legal.txt" in your version of this software, indicating your +license choice. In any case, your choice will not restrict any +recipient of your version of this software to use, reproduce, modify +and distribute this software under any of the above licenses. + +Sources of Intellectual Property Included in CKEditor +----------------------------------------------------- + +Where not otherwise indicated, all CKEditor content is authored by +CKSource engineers and consists of CKSource-owned intellectual +property. In some specific instances, CKEditor will incorporate work +done by developers outside of CKSource with their express permission. + +The following libraries are included in CKEditor under the MIT license (see Appendix D): + +* CKSource Samples Framework (included in the samples) - Copyright (c) 2014-2018, CKSource - Frederico Knabben. +* PicoModal (included in `samples/js/sf.js`) - Copyright (c) 2012 James Frasca. +* CodeMirror (included in the samples) - Copyright (C) 2014 by Marijn Haverbeke <marijnh@gmail.com> and others. + +Parts of code taken from the following libraries are included in CKEditor under the MIT license (see Appendix D): + +* jQuery (inspired the domReady function, ckeditor_base.js) - Copyright (c) 2011 John Resig, http://jquery.com/ + +The following libraries are included in CKEditor under the SIL Open Font License, Version 1.1 (see Appendix E): + +* Font Awesome (included in the toolbar configurator) - Copyright (C) 2012 by Dave Gandy. + +The following libraries are included in CKEditor under the BSD-3 License (see Appendix F): + +* highlight.js (included in the `codesnippet` plugin) - Copyright (c) 2006, Ivan Sagalaev. +* YUI Library (included in the `uicolor` plugin) - Copyright (c) 2009, Yahoo! Inc. + + +Trademarks +---------- + +CKEditor is a trademark of CKSource - Frederico Knabben. All other brand +and product names are trademarks, registered trademarks or service +marks of their respective holders. + +--- + +Appendix A: The GPL License +--------------------------- + +``` +GNU GENERAL PUBLIC LICENSE +Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software-to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + +GNU GENERAL PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + +NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS +``` + +Appendix B: The LGPL License +---------------------------- + +``` +GNU LESSER GENERAL PUBLIC LICENSE +Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + +Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software-to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages-typically libraries-of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + +GNU LESSER GENERAL PUBLIC LICENSE +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + +NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + +END OF TERMS AND CONDITIONS +``` + +Appendix C: The MPL License +--------------------------- + +``` +MOZILLA PUBLIC LICENSE +Version 1.1 + +1. Definitions. + + 1.0.1. "Commercial Use" means distribution or otherwise making the + Covered Code available to a third party. + + 1.1. "Contributor" means each entity that creates or contributes to + the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Code, prior Modifications used by a Contributor, and the Modifications + made by that particular Contributor. + + 1.3. "Covered Code" means the Original Code or Modifications or the + combination of the Original Code and Modifications, in each case + including portions thereof. + + 1.4. "Electronic Distribution Mechanism" means a mechanism generally + accepted in the software development community for the electronic + transfer of data. + + 1.5. "Executable" means Covered Code in any form other than Source + Code. + + 1.6. "Initial Developer" means the individual or entity identified + as the Initial Developer in the Source Code notice required by Exhibit + A. + + 1.7. "Larger Work" means a work which combines Covered Code or + portions thereof with code not governed by the terms of this License. + + 1.8. "License" means this document. + + 1.8.1. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed herein. + + 1.9. "Modifications" means any addition to or deletion from the + substance or structure of either the Original Code or any previous + Modifications. When Covered Code is released as a series of files, a + Modification is: + A. Any addition to or deletion from the contents of a file + containing Original Code or previous Modifications. + + B. Any new file that contains any part of the Original Code or + previous Modifications. + + 1.10. "Original Code" means Source Code of computer software code + which is described in the Source Code notice required by Exhibit A as + Original Code, and which, at the time of its release under this + License is not already Covered Code governed by this License. + + 1.10.1. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, process, + and apparatus claims, in any patent Licensable by grantor. + + 1.11. "Source Code" means the preferred form of the Covered Code for + making modifications to it, including all modules it contains, plus + any associated interface definition files, scripts used to control + compilation and installation of an Executable, or source code + differential comparisons against either the Original Code or another + well known, available Covered Code of the Contributor's choice. The + Source Code can be in a compressed or archival form, provided the + appropriate decompression or de-archiving software is widely available + for no charge. + + 1.12. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms of, this + License or a future version of this License issued under Section 6.1. + For legal entities, "You" includes any entity which controls, is + controlled by, or is under common control with You. For purposes of + this definition, "control" means (a) the power, direct or indirect, + to cause the direction or management of such entity, whether by + contract or otherwise, or (b) ownership of more than fifty percent + (50%) of the outstanding shares or beneficial ownership of such + entity. + +2. Source Code License. + + 2.1. The Initial Developer Grant. + The Initial Developer hereby grants You a world-wide, royalty-free, + non-exclusive license, subject to third party intellectual property + claims: + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer to use, reproduce, + modify, display, perform, sublicense and distribute the Original + Code (or portions thereof) with or without Modifications, and/or + as part of a Larger Work; and + + (b) under Patents Claims infringed by the making, using or + selling of Original Code, to make, have made, use, practice, + sell, and offer for sale, and/or otherwise dispose of the + Original Code (or portions thereof). + + (c) the licenses granted in this Section 2.1(a) and (b) are + effective on the date Initial Developer first distributes + Original Code under the terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: 1) for code that You delete from the Original Code; 2) + separate from the Original Code; or 3) for infringements caused + by: i) the modification of the Original Code or ii) the + combination of the Original Code with other software or devices. + + 2.2. Contributor Grant. + Subject to third party intellectual property claims, each Contributor + hereby grants You a world-wide, royalty-free, non-exclusive license + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor, to use, reproduce, modify, + display, perform, sublicense and distribute the Modifications + created by such Contributor (or portions thereof) either on an + unmodified basis, with other Modifications, as Covered Code + and/or as part of a Larger Work; and + + (b) under Patent Claims infringed by the making, using, or + selling of Modifications made by that Contributor either alone + and/or in combination with its Contributor Version (or portions + of such combination), to make, use, sell, offer for sale, have + made, and/or otherwise dispose of: 1) Modifications made by that + Contributor (or portions thereof); and 2) the combination of + Modifications made by that Contributor with its Contributor + Version (or portions of such combination). + + (c) the licenses granted in Sections 2.2(a) and 2.2(b) are + effective on the date Contributor first makes Commercial Use of + the Covered Code. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: 1) for any code that Contributor has deleted from the + Contributor Version; 2) separate from the Contributor Version; + 3) for infringements caused by: i) third party modifications of + Contributor Version or ii) the combination of Modifications made + by that Contributor with other software (except as part of the + Contributor Version) or other devices; or 4) under Patent Claims + infringed by Covered Code in the absence of Modifications made by + that Contributor. + +3. Distribution Obligations. + + 3.1. Application of License. + The Modifications which You create or to which You contribute are + governed by the terms of this License, including without limitation + Section 2.2. The Source Code version of Covered Code may be + distributed only under the terms of this License or a future version + of this License released under Section 6.1, and You must include a + copy of this License with every copy of the Source Code You + distribute. You may not offer or impose any terms on any Source Code + version that alters or restricts the applicable version of this + License or the recipients' rights hereunder. However, You may include + an additional document offering the additional rights described in + Section 3.5. + + 3.2. Availability of Source Code. + Any Modification which You create or to which You contribute must be + made available in Source Code form under the terms of this License + either on the same media as an Executable version or via an accepted + Electronic Distribution Mechanism to anyone to whom you made an + Executable version available; and if made available via Electronic + Distribution Mechanism, must remain available for at least twelve (12) + months after the date it initially became available, or at least six + (6) months after a subsequent version of that particular Modification + has been made available to such recipients. You are responsible for + ensuring that the Source Code version remains available even if the + Electronic Distribution Mechanism is maintained by a third party. + + 3.3. Description of Modifications. + You must cause all Covered Code to which You contribute to contain a + file documenting the changes You made to create that Covered Code and + the date of any change. You must include a prominent statement that + the Modification is derived, directly or indirectly, from Original + Code provided by the Initial Developer and including the name of the + Initial Developer in (a) the Source Code, and (b) in any notice in an + Executable version or related documentation in which You describe the + origin or ownership of the Covered Code. + + 3.4. Intellectual Property Matters + (a) Third Party Claims. + If Contributor has knowledge that a license under a third party's + intellectual property rights is required to exercise the rights + granted by such Contributor under Sections 2.1 or 2.2, + Contributor must include a text file with the Source Code + distribution titled "LEGAL" which describes the claim and the + party making the claim in sufficient detail that a recipient will + know whom to contact. If Contributor obtains such knowledge after + the Modification is made available as described in Section 3.2, + Contributor shall promptly modify the LEGAL file in all copies + Contributor makes available thereafter and shall take other steps + (such as notifying appropriate mailing lists or newsgroups) + reasonably calculated to inform those who received the Covered + Code that new knowledge has been obtained. + + (b) Contributor APIs. + If Contributor's Modifications include an application programming + interface and Contributor has knowledge of patent licenses which + are reasonably necessary to implement that API, Contributor must + also include this information in the LEGAL file. + + (c) Representations. + Contributor represents that, except as disclosed pursuant to + Section 3.4(a) above, Contributor believes that Contributor's + Modifications are Contributor's original creation(s) and/or + Contributor has sufficient rights to grant the rights conveyed by + this License. + + 3.5. Required Notices. + You must duplicate the notice in Exhibit A in each file of the Source + Code. If it is not possible to put such notice in a particular Source + Code file due to its structure, then You must include such notice in a + location (such as a relevant directory) where a user would be likely + to look for such a notice. If You created one or more Modification(s) + You may add your name as a Contributor to the notice described in + Exhibit A. You must also duplicate this License in any documentation + for the Source Code where You describe recipients' rights or ownership + rights relating to Covered Code. You may choose to offer, and to + charge a fee for, warranty, support, indemnity or liability + obligations to one or more recipients of Covered Code. However, You + may do so only on Your own behalf, and not on behalf of the Initial + Developer or any Contributor. You must make it absolutely clear than + any such warranty, support, indemnity or liability obligation is + offered by You alone, and You hereby agree to indemnify the Initial + Developer and every Contributor for any liability incurred by the + Initial Developer or such Contributor as a result of warranty, + support, indemnity or liability terms You offer. + + 3.6. Distribution of Executable Versions. + You may distribute Covered Code in Executable form only if the + requirements of Section 3.1-3.5 have been met for that Covered Code, + and if You include a notice stating that the Source Code version of + the Covered Code is available under the terms of this License, + including a description of how and where You have fulfilled the + obligations of Section 3.2. The notice must be conspicuously included + in any notice in an Executable version, related documentation or + collateral in which You describe recipients' rights relating to the + Covered Code. You may distribute the Executable version of Covered + Code or ownership rights under a license of Your choice, which may + contain terms different from this License, provided that You are in + compliance with the terms of this License and that the license for the + Executable version does not attempt to limit or alter the recipient's + rights in the Source Code version from the rights set forth in this + License. If You distribute the Executable version under a different + license You must make it absolutely clear that any terms which differ + from this License are offered by You alone, not by the Initial + Developer or any Contributor. You hereby agree to indemnify the + Initial Developer and every Contributor for any liability incurred by + the Initial Developer or such Contributor as a result of any such + terms You offer. + + 3.7. Larger Works. + You may create a Larger Work by combining Covered Code with other code + not governed by the terms of this License and distribute the Larger + Work as a single product. In such a case, You must make sure the + requirements of this License are fulfilled for the Covered Code. + +4. Inability to Comply Due to Statute or Regulation. + + If it is impossible for You to comply with any of the terms of this + License with respect to some or all of the Covered Code due to + statute, judicial order, or regulation then You must: (a) comply with + the terms of this License to the maximum extent possible; and (b) + describe the limitations and the code they affect. Such description + must be included in the LEGAL file described in Section 3.4 and must + be included with all distributions of the Source Code. Except to the + extent prohibited by statute or regulation, such description must be + sufficiently detailed for a recipient of ordinary skill to be able to + understand it. + +5. Application of this License. + + This License applies to code to which the Initial Developer has + attached the notice in Exhibit A and to related Covered Code. + +6. Versions of the License. + + 6.1. New Versions. + Netscape Communications Corporation ("Netscape") may publish revised + and/or new versions of the License from time to time. Each version + will be given a distinguishing version number. + + 6.2. Effect of New Versions. + Once Covered Code has been published under a particular version of the + License, You may always continue to use it under the terms of that + version. You may also choose to use such Covered Code under the terms + of any subsequent version of the License published by Netscape. No one + other than Netscape has the right to modify the terms applicable to + Covered Code created under this License. + + 6.3. Derivative Works. + If You create or use a modified version of this License (which you may + only do in order to apply it to code which is not already Covered Code + governed by this License), You must (a) rename Your license so that + the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", + "MPL", "NPL" or any confusingly similar phrase do not appear in your + license (except to note that your license differs from this License) + and (b) otherwise make it clear that Your version of the license + contains terms which differ from the Mozilla Public License and + Netscape Public License. (Filling in the name of the Initial + Developer, Original Code or Contributor in the notice described in + Exhibit A shall not of themselves be deemed to be modifications of + this License.) + +7. DISCLAIMER OF WARRANTY. + + COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF + DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. + THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE + IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE + COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER + OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. + +8. TERMINATION. + + 8.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to cure + such breach within 30 days of becoming aware of the breach. All + sublicenses to the Covered Code which are properly granted shall + survive any termination of this License. Provisions which, by their + nature, must remain in effect beyond the termination of this License + shall survive. + + 8.2. If You initiate litigation by asserting a patent infringement + claim (excluding declatory judgment actions) against Initial Developer + or a Contributor (the Initial Developer or Contributor against whom + You file such action is referred to as "Participant") alleging that: + + (a) such Participant's Contributor Version directly or indirectly + infringes any patent, then any and all rights granted by such + Participant to You under Sections 2.1 and/or 2.2 of this License + shall, upon 60 days notice from Participant terminate prospectively, + unless if within 60 days after receipt of notice You either: (i) + agree in writing to pay Participant a mutually agreeable reasonable + royalty for Your past and future use of Modifications made by such + Participant, or (ii) withdraw Your litigation claim with respect to + the Contributor Version against such Participant. If within 60 days + of notice, a reasonable royalty and payment arrangement are not + mutually agreed upon in writing by the parties or the litigation claim + is not withdrawn, the rights granted by Participant to You under + Sections 2.1 and/or 2.2 automatically terminate at the expiration of + the 60 day notice period specified above. + + (b) any software, hardware, or device, other than such Participant's + Contributor Version, directly or indirectly infringes any patent, then + any rights granted to You by such Participant under Sections 2.1(b) + and 2.2(b) are revoked effective as of the date You first made, used, + sold, distributed, or had made, Modifications made by that + Participant. + + 8.3. If You assert a patent infringement claim against Participant + alleging that such Participant's Contributor Version directly or + indirectly infringes any patent where such claim is resolved (such as + by license or settlement) prior to the initiation of patent + infringement litigation, then the reasonable value of the licenses + granted by such Participant under Sections 2.1 or 2.2 shall be taken + into account in determining the amount or value of any payment or + license. + + 8.4. In the event of termination under Sections 8.1 or 8.2 above, + all end user license agreements (excluding distributors and resellers) + which have been validly granted by You or any distributor hereunder + prior to termination shall survive termination. + +9. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL + DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, + OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR + ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY + CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, + WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY + RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW + PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE + EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO + THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. + +10. U.S. GOVERNMENT END USERS. + + The Covered Code is a "commercial item," as that term is defined in + 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer + software" and "commercial computer software documentation," as such + terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 + C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), + all U.S. Government End Users acquire Covered Code with only those + rights set forth herein. + +11. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed by + California law provisions (except to the extent applicable law, if + any, provides otherwise), excluding its conflict-of-law provisions. + With respect to disputes in which at least one party is a citizen of, + or an entity chartered or registered to do business in the United + States of America, any litigation relating to this License shall be + subject to the jurisdiction of the Federal Courts of the Northern + District of California, with venue lying in Santa Clara County, + California, with the losing party responsible for costs, including + without limitation, court costs and reasonable attorneys' fees and + expenses. The application of the United Nations Convention on + Contracts for the International Sale of Goods is expressly excluded. + Any law or regulation which provides that the language of a contract + shall be construed against the drafter shall not apply to this + License. + +12. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or indirectly, + out of its utilization of rights under this License and You agree to + work with Initial Developer and Contributors to distribute such + responsibility on an equitable basis. Nothing herein is intended or + shall be deemed to constitute any admission of liability. + +13. MULTIPLE-LICENSED CODE. + + Initial Developer may designate portions of the Covered Code as + "Multiple-Licensed". "Multiple-Licensed" means that the Initial + Developer permits you to utilize portions of the Covered Code under + Your choice of the NPL or the alternative licenses, if any, specified + by the Initial Developer in the file described in Exhibit A. + +EXHIBIT A -Mozilla Public License. + + ``The contents of this file are subject to the Mozilla Public License + Version 1.1 (the "License"); you may not use this file except in + compliance with the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + + Software distributed under the License is distributed on an "AS IS" + basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the + License for the specific language governing rights and limitations + under the License. + + The Original Code is ______________________________________. + + The Initial Developer of the Original Code is ________________________. + Portions created by ______________________ are Copyright (C) ______ + _______________________. All Rights Reserved. + + Contributor(s): ______________________________________. + + Alternatively, the contents of this file may be used under the terms + of the _____ license (the "[___] License"), in which case the + provisions of [______] License are applicable instead of those + above. If you wish to allow use of your version of this file only + under the terms of the [____] License and not to allow others to use + your version of this file under the MPL, indicate your decision by + deleting the provisions above and replace them with the notice and + other provisions required by the [___] License. If you do not delete + the provisions above, a recipient may use your version of this file + under either the MPL or the [___] License." + + [NOTE: The text of this Exhibit A may differ slightly from the text of + the notices in the Source Code files of the Original Code. You should + use the text of this Exhibit A rather than the text found in the + Original Code Source Code for Your Modifications.] +``` + +Appendix D: The MIT License +--------------------------- + +``` +The MIT License (MIT) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +``` + +Appendix E: The SIL Open Font License Version 1.1 +--------------------------------------------- + +``` +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. +``` + +Appendix F: The BSD-3 License +----------------------------- + +``` +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +``` + Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/adapters/jquery.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/adapters/jquery.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/adapters/jquery.js (revision 7) @@ -0,0 +1,10 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +(function(a){if("undefined"==typeof a)throw Error("jQuery should be loaded before CKEditor jQuery adapter.");if("undefined"==typeof CKEDITOR)throw Error("CKEditor should be loaded before CKEditor jQuery adapter.");CKEDITOR.config.jqueryOverrideVal="undefined"==typeof CKEDITOR.config.jqueryOverrideVal?!0:CKEDITOR.config.jqueryOverrideVal;a.extend(a.fn,{ckeditorGet:function(){var a=this.eq(0).data("ckeditorInstance");if(!a)throw"CKEditor is not initialized yet, use ckeditor() with a callback.";return a}, +ckeditor:function(g,d){if(!CKEDITOR.env.isCompatible)throw Error("The environment is incompatible.");if(!a.isFunction(g)){var m=d;d=g;g=m}var k=[];d=d||{};this.each(function(){var b=a(this),c=b.data("ckeditorInstance"),f=b.data("_ckeditorInstanceLock"),h=this,l=new a.Deferred;k.push(l.promise());if(c&&!f)g&&g.apply(c,[this]),l.resolve();else if(f)c.once("instanceReady",function(){setTimeout(function(){c.element?(c.element.$==h&&g&&g.apply(c,[h]),l.resolve()):setTimeout(arguments.callee,100)},0)}, +null,null,9999);else{if(d.autoUpdateElement||"undefined"==typeof d.autoUpdateElement&&CKEDITOR.config.autoUpdateElement)d.autoUpdateElementJquery=!0;d.autoUpdateElement=!1;b.data("_ckeditorInstanceLock",!0);c=a(this).is("textarea")?CKEDITOR.replace(h,d):CKEDITOR.inline(h,d);b.data("ckeditorInstance",c);c.on("instanceReady",function(d){var e=d.editor;setTimeout(function(){if(e.element){d.removeListener();e.on("dataReady",function(){b.trigger("dataReady.ckeditor",[e])});e.on("setData",function(a){b.trigger("setData.ckeditor", +[e,a.data])});e.on("getData",function(a){b.trigger("getData.ckeditor",[e,a.data])},999);e.on("destroy",function(){b.trigger("destroy.ckeditor",[e])});e.on("save",function(){a(h.form).submit();return!1},null,null,20);if(e.config.autoUpdateElementJquery&&b.is("textarea")&&a(h.form).length){var c=function(){b.ckeditor(function(){e.updateElement()})};a(h.form).submit(c);a(h.form).bind("form-pre-serialize",c);b.bind("destroy.ckeditor",function(){a(h.form).unbind("submit",c);a(h.form).unbind("form-pre-serialize", +c)})}e.on("destroy",function(){b.removeData("ckeditorInstance")});b.removeData("_ckeditorInstanceLock");b.trigger("instanceReady.ckeditor",[e]);g&&g.apply(e,[h]);l.resolve()}else setTimeout(arguments.callee,100)},0)},null,null,9999)}});var f=new a.Deferred;this.promise=f.promise();a.when.apply(this,k).then(function(){f.resolve()});this.editor=this.eq(0).data("ckeditorInstance");return this}});CKEDITOR.config.jqueryOverrideVal&&(a.fn.val=CKEDITOR.tools.override(a.fn.val,function(g){return function(d){if(arguments.length){var m= +this,k=[],f=this.each(function(){var b=a(this),c=b.data("ckeditorInstance");if(b.is("textarea")&&c){var f=new a.Deferred;c.setData(d,function(){f.resolve()});k.push(f.promise());return!0}return g.call(b,d)});if(k.length){var b=new a.Deferred;a.when.apply(this,k).done(function(){b.resolveWith(m)});return b.promise()}return f}var f=a(this).eq(0),c=f.data("ckeditorInstance");return f.is("textarea")&&c?c.getData():g.call(f)}}))})(window.jQuery); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/adapters/jquery.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/config.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/config.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/config.js (revision 7) @@ -0,0 +1,14 @@ +/** + * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see https://ckeditor.com/legal/ckeditor-oss-license + */ + +CKEDITOR.editorConfig = function( config ) { + // Define changes to default configuration here. For example: + // config.language = 'fr'; + // config.uiColor = '#AADC6E'; + config.filebrowserUploadMethod = 'form'; + // endter / shiftEnter Mode + //config.enterMode = CKEDITOR.ENTER_BR; + //config.shiftEnterMode = CKEDITOR.ENTER_P; +}; Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/config.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/styles.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/styles.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/styles.js (revision 7) @@ -0,0 +1,137 @@ +/** + * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +// This file contains style definitions that can be used by CKEditor plugins. +// +// The most common use for it is the "stylescombo" plugin which shows the Styles drop-down +// list containing all styles in the editor toolbar. Other plugins, like +// the "div" plugin, use a subset of the styles for their features. +// +// If you do not have plugins that depend on this file in your editor build, you can simply +// ignore it. Otherwise it is strongly recommended to customize this file to match your +// website requirements and design properly. +// +// For more information refer to: https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_styles-section-style-rules + +CKEDITOR.stylesSet.add( 'default', [ + /* Block styles */ + + // These styles are already available in the "Format" drop-down list ("format" plugin), + // so they are not needed here by default. You may enable them to avoid + // placing the "Format" combo in the toolbar, maintaining the same features. + /* + { name: 'Paragraph', element: 'p' }, + { name: 'Heading 1', element: 'h1' }, + { name: 'Heading 2', element: 'h2' }, + { name: 'Heading 3', element: 'h3' }, + { name: 'Heading 4', element: 'h4' }, + { name: 'Heading 5', element: 'h5' }, + { name: 'Heading 6', element: 'h6' }, + { name: 'Preformatted Text',element: 'pre' }, + { name: 'Address', element: 'address' }, + */ + + { name: 'Italic Title', element: 'h2', styles: { 'font-style': 'italic' } }, + { name: 'Subtitle', element: 'h3', styles: { 'color': '#aaa', 'font-style': 'italic' } }, + { + name: 'Special Container', + element: 'div', + styles: { + padding: '5px 10px', + background: '#eee', + border: '1px solid #ccc' + } + }, + + /* Inline styles */ + + // These are core styles available as toolbar buttons. You may opt enabling + // some of them in the Styles drop-down list, removing them from the toolbar. + // (This requires the "stylescombo" plugin.) + /* + { name: 'Strong', element: 'strong', overrides: 'b' }, + { name: 'Emphasis', element: 'em' , overrides: 'i' }, + { name: 'Underline', element: 'u' }, + { name: 'Strikethrough', element: 'strike' }, + { name: 'Subscript', element: 'sub' }, + { name: 'Superscript', element: 'sup' }, + */ + + { name: 'Marker', element: 'span', attributes: { 'class': 'marker' } }, + + { name: 'Big', element: 'big' }, + { name: 'Small', element: 'small' }, + { name: 'Typewriter', element: 'tt' }, + + { name: 'Computer Code', element: 'code' }, + { name: 'Keyboard Phrase', element: 'kbd' }, + { name: 'Sample Text', element: 'samp' }, + { name: 'Variable', element: 'var' }, + + { name: 'Deleted Text', element: 'del' }, + { name: 'Inserted Text', element: 'ins' }, + + { name: 'Cited Work', element: 'cite' }, + { name: 'Inline Quotation', element: 'q' }, + + { name: 'Language: RTL', element: 'span', attributes: { 'dir': 'rtl' } }, + { name: 'Language: LTR', element: 'span', attributes: { 'dir': 'ltr' } }, + + /* Object styles */ + + { + name: 'Styled Image (left)', + element: 'img', + attributes: { 'class': 'left' } + }, + + { + name: 'Styled Image (right)', + element: 'img', + attributes: { 'class': 'right' } + }, + + { + name: 'Compact Table', + element: 'table', + attributes: { + cellpadding: '5', + cellspacing: '0', + border: '1', + bordercolor: '#ccc' + }, + styles: { + 'border-collapse': 'collapse' + } + }, + + { name: 'Borderless Table', element: 'table', styles: { 'border-style': 'hidden', 'background-color': '#E6E6FA' } }, + { name: 'Square Bulleted List', element: 'ul', styles: { 'list-style-type': 'square' } }, + + /* Widget styles */ + + { name: 'Clean Image', type: 'widget', widget: 'image', attributes: { 'class': 'image-clean' } }, + { name: 'Grayscale Image', type: 'widget', widget: 'image', attributes: { 'class': 'image-grayscale' } }, + + { name: 'Featured Snippet', type: 'widget', widget: 'codeSnippet', attributes: { 'class': 'code-featured' } }, + + { name: 'Featured Formula', type: 'widget', widget: 'mathjax', attributes: { 'class': 'math-featured' } }, + + { name: '240p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-240p' }, group: 'size' }, + { name: '360p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-360p' }, group: 'size' }, + { name: '480p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-480p' }, group: 'size' }, + { name: '720p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-720p' }, group: 'size' }, + { name: '1080p', type: 'widget', widget: 'embedSemantic', attributes: { 'class': 'embed-1080p' }, group: 'size' }, + + // Adding space after the style name is an intended workaround. For now, there + // is no option to create two styles with the same name for different widget types. See https://dev.ckeditor.com/ticket/16664. + { name: '240p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-240p' }, group: 'size' }, + { name: '360p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-360p' }, group: 'size' }, + { name: '480p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-480p' }, group: 'size' }, + { name: '720p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-720p' }, group: 'size' }, + { name: '1080p ', type: 'widget', widget: 'embed', attributes: { 'class': 'embed-1080p' }, group: 'size' } + +] ); + Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/styles.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/build-config.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/build-config.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/build-config.js (revision 7) @@ -0,0 +1,189 @@ +/** + * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * This file was added automatically by CKEditor builder. + * You may re-use it at any time to build CKEditor again. + * + * If you would like to build CKEditor online again + * (for example to upgrade), visit one the following links: + * + * (1) http://ckeditor.com/builder + * Visit online builder to build CKEditor from scratch. + * + * (2) http://ckeditor.com/builder/d92ab52ffca329d7b5e1b78ef77a81f9 + * Visit online builder to build CKEditor, starting with the same setup as before. + * + * (3) http://ckeditor.com/builder/download/d92ab52ffca329d7b5e1b78ef77a81f9 + * Straight download link to the latest version of CKEditor (Optimized) with the same setup as before. + * + * NOTE: + * This file is not used by CKEditor, you may remove it. + * Changing this file will not change your CKEditor configuration. + */ + +var CKBUILDER_CONFIG = { + skin: 'moono-lisa', + preset: 'full', + ignore: [ + '.DS_Store', + '.bender', + '.editorconfig', + '.gitattributes', + '.gitignore', + '.idea', + '.jscsrc', + '.jshintignore', + '.jshintrc', + '.mailmap', + '.travis.yml', + 'bender-err.log', + 'bender-out.log', + 'bender.ci.js', + 'bender.js', + 'dev', + 'gruntfile.js', + 'less', + 'node_modules', + 'package.json', + 'tests' + ], + plugins : { + 'a11yhelp' : 1, + 'about' : 1, + 'basicstyles' : 1, + 'bidi' : 1, + 'blockquote' : 1, + 'clipboard' : 1, + 'colorbutton' : 1, + 'colordialog' : 1, + 'contextmenu' : 1, + 'copyformatting' : 1, + 'dialogadvtab' : 1, + 'div' : 1, + 'elementspath' : 1, + 'enterkey' : 1, + 'entities' : 1, + 'filebrowser' : 1, + 'find' : 1, + 'flash' : 1, + 'floatingspace' : 1, + 'font' : 1, + 'format' : 1, + 'forms' : 1, + 'horizontalrule' : 1, + 'htmlwriter' : 1, + 'iframe' : 1, + 'image' : 1, + 'indentblock' : 1, + 'indentlist' : 1, + 'justify' : 1, + 'language' : 1, + 'link' : 1, + 'list' : 1, + 'liststyle' : 1, + 'magicline' : 1, + 'maximize' : 1, + 'newpage' : 1, + 'pagebreak' : 1, + 'pastefromword' : 1, + 'pastetext' : 1, + 'preview' : 1, + 'print' : 1, + 'removeformat' : 1, + 'resize' : 1, + 'save' : 1, + 'scayt' : 1, + 'selectall' : 1, + 'showblocks' : 1, + 'showborders' : 1, + 'smiley' : 1, + 'sourcearea' : 1, + 'specialchar' : 1, + 'stylescombo' : 1, + 'tab' : 1, + 'table' : 1, + 'tableselection' : 1, + 'tabletools' : 1, + 'templates' : 1, + 'toolbar' : 1, + 'undo' : 1, + 'uploadimage' : 1, + 'wsc' : 1, + 'wysiwygarea' : 1 + }, + languages : { + 'af' : 1, + 'ar' : 1, + 'az' : 1, + 'bg' : 1, + 'bn' : 1, + 'bs' : 1, + 'ca' : 1, + 'cs' : 1, + 'cy' : 1, + 'da' : 1, + 'de' : 1, + 'de-ch' : 1, + 'el' : 1, + 'en' : 1, + 'en-au' : 1, + 'en-ca' : 1, + 'en-gb' : 1, + 'eo' : 1, + 'es' : 1, + 'es-mx' : 1, + 'et' : 1, + 'eu' : 1, + 'fa' : 1, + 'fi' : 1, + 'fo' : 1, + 'fr' : 1, + 'fr-ca' : 1, + 'gl' : 1, + 'gu' : 1, + 'he' : 1, + 'hi' : 1, + 'hr' : 1, + 'hu' : 1, + 'id' : 1, + 'is' : 1, + 'it' : 1, + 'ja' : 1, + 'ka' : 1, + 'km' : 1, + 'ko' : 1, + 'ku' : 1, + 'lt' : 1, + 'lv' : 1, + 'mk' : 1, + 'mn' : 1, + 'ms' : 1, + 'nb' : 1, + 'nl' : 1, + 'no' : 1, + 'oc' : 1, + 'pl' : 1, + 'pt' : 1, + 'pt-br' : 1, + 'ro' : 1, + 'ru' : 1, + 'si' : 1, + 'sk' : 1, + 'sl' : 1, + 'sq' : 1, + 'sr' : 1, + 'sr-latn' : 1, + 'sv' : 1, + 'th' : 1, + 'tr' : 1, + 'tt' : 1, + 'ug' : 1, + 'uk' : 1, + 'vi' : 1, + 'zh' : 1, + 'zh-cn' : 1 + } +}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/build-config.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor.css (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #d1d1d1;padding:0}.cke_inner{display:block;background:#fff;padding:0;-webkit-touch-callout:none}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #d1d1d1;background:#f8f8f8;padding:6px 8px 2px;white-space:normal}.cke_float .cke_top{border:1px solid #d1d1d1}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #d1d1d1;background:#f8f8f8}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #bcbcbc transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #bcbcbc;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #d1d1d1}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_block:focus{outline:0}.cke_panel_list{margin:0;padding:0;list-style-type:none;white-space:nowrap}.cke_panel_listItem{margin:0;padding:0}.cke_panel_listItem a{padding:6px 7px;display:block;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis}.cke_hc .cke_panel_listItem a{border-style:none}.cke_panel_listItem.cke_selected a,.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{background-color:#e9e9e9}.cke_panel_listItem a:focus{outline:1px dotted #000}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:4px 5px}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:6px 6px 7px 6px;color:#484848;border-bottom:1px solid #d1d1d1;background:#f8f8f8}.cke_colorblock{padding:10px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}a.cke_colorbox{padding:2px;float:left;width:20px;height:20px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{outline:0;padding:0;border:2px solid #139ff7}a:hover.cke_colorbox{border-color:#bcbcbc}span.cke_colorbox{width:20px;height:20px;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:3px;display:block;cursor:pointer}a.cke_colorauto{padding:0;border:1px solid transparent;margin-bottom:6px;height:26px;line-height:26px}a.cke_colormore{margin-top:10px;height:20px;line-height:19px}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{outline:0;border:#139ff7 1px solid;background-color:#f8f8f8}a:hover.cke_colorauto,a:hover.cke_colormore{border-color:#bcbcbc}.cke_colorauto span.cke_colorbox{width:18px;height:18px;border:1px solid #808080;margin-left:1px;margin-top:3px}.cke_rtl .cke_colorauto span.cke_colorbox{margin-left:0;margin-right:1px}span.cke_colorbox[style*="#ffffff"],span.cke_colorbox[style*="#FFFFFF"],span.cke_colorbox[style="background-color:#fff"],span.cke_colorbox[style="background-color:#FFF"],span.cke_colorbox[style*="rgb(255,255,255)"],span.cke_colorbox[style*="rgb(255, 255, 255)"]{border:1px solid #808080;width:18px;height:18px}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{border:0;float:left;margin:1px 2px 6px 0;padding-right:3px}.cke_rtl .cke_toolgroup{float:right;margin:1px 0 6px 2px;padding-left:3px;padding-right:0}.cke_hc .cke_toolgroup{margin-right:5px;margin-bottom:5px}.cke_hc.cke_rtl .cke_toolgroup{margin-right:0;margin-left:5px}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0;position:relative}.cke_rtl a.cke_button{float:right}.cke_hc a.cke_button{border:1px solid black;padding:3px 5px;margin:0 3px 5px 0}.cke_hc.cke_rtl a.cke_button{margin:0 0 5px 3px}a.cke_button_on{background:#fff;border:1px #bcbcbc solid;padding:3px 5px}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active{background:#e5e5e5;border:1px #bcbcbc solid;padding:3px 5px}.cke_hc a.cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active{background:#e5e5e5;border:3px solid #000;padding:1px 3px}a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{border:0;padding:4px 6px;background-color:transparent}a.cke_button_disabled:focus{border:1px #bcbcbc solid;padding:3px 5px}.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border:1px solid #acacac;padding:3px 5px;margin:0 3px 5px 0}.cke_hc a.cke_button_disabled:focus{border:3px solid #000;padding:1px 3px}.cke_hc.cke_rtl a.cke_button_disabled:hover,.cke_hc.cke_rtl a.cke_button_disabled:focus,.cke_hc.cke_rtl a.cke_button_disabled:active{margin:0 0 5px 3px}a.cke_button_disabled .cke_button_icon,a.cke_button_disabled .cke_button_arrow{opacity:.3}.cke_hc a.cke_button_disabled{border-color:#acacac}.cke_hc a.cke_button_disabled .cke_button_icon,.cke_hc a.cke_button_disabled .cke_button_label{opacity:.5}.cke_toolgroup a.cke_button:last-child:after,.cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{content:"";position:absolute;height:18px;width:0;border-right:1px solid #bcbcbc;margin-top:4px;top:0;right:-3px}.cke_rtl .cke_toolgroup a.cke_button:last-child:after,.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{border-right:0;right:auto;border-left:1px solid #bcbcbc;top:0;left:-3px}.cke_hc .cke_toolgroup a.cke_button:last-child:after,.cke_hc .cke_toolgroup a.cke_button.cke_button_disabled:last-child:after,.cke_hc .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{border-color:#000;top:0;right:-7px}.cke_hc.cke_rtl .cke_toolgroup a.cke_button:last-child:after,.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:last-child:after,.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{top:0;right:auto;left:-7px}.cke_toolgroup a.cke_button:hover:last-child:after,.cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-1px;right:-4px}.cke_rtl .cke_toolgroup a.cke_button:hover:last-child:after,.cke_rtl .cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-1px;right:auto;left:-4px}.cke_hc .cke_toolgroup a.cke_button:hover:last-child:after,.cke_hc .cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-2px;right:-9px}.cke_hc.cke_rtl .cke_toolgroup a.cke_button:hover:last-child:after,.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-2px;right:auto;left:-9px}.cke_toolbar.cke_toolbar_last .cke_toolgroup a.cke_button:last-child:after{content:none;border:0;width:0;height:0}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#484848}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #484848}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px 0 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#bcbcbc;margin:4px 2px 0 2px;height:18px;width:1px}.cke_rtl .cke_toolbar_separator{float:right}.cke_hc .cke_toolbar_separator{background-color:#000;margin-left:2px;margin-right:5px;margin-bottom:9px}.cke_hc.cke_rtl .cke_toolbar_separator{margin-left:5px;margin-right:2px}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #bcbcbc}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser:hover{background:#e5e5e5}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border:3px solid transparent;border-bottom-color:#484848}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#484848}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0}.cke_menuitem span{cursor:default}.cke_menubutton{display:block}.cke_hc .cke_menubutton{padding:2px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#e9e9e9;display:block;outline:1px dotted}.cke_menubutton:hover{outline:0}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_disabled:hover,.cke_menubutton_disabled:focus,.cke_menubutton_disabled:active{background-color:transparent;outline:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#f8f8f8;padding:6px 4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#e9e9e9}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{background-color:#f8f8f8;outline:0}.cke_menuitem .cke_menubutton_on{background-color:#e9e9e9;border:1px solid #dedede;outline:0}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px;background-color:#e9e9e9}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_shortcut{color:#979797}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d1d1d1;height:1px}.cke_menuarrow{background:transparent url(images/arrow.png) no-repeat 0 10px;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow{background-image:none}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left;position:relative;margin-bottom:5px}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:1px;margin-bottom:10px}.cke_combo:after{content:"";position:absolute;height:18px;width:0;border-right:1px solid #bcbcbc;margin-top:5px;top:0;right:0}.cke_rtl .cke_combo:after{border-right:0;border-left:1px solid #bcbcbc;right:auto;left:0}.cke_hc .cke_combo:after{border-color:#000}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0;padding:1px}.cke_rtl a.cke_combo_button{float:right}.cke_hc a.cke_combo_button{padding:4px}.cke_combo_on a.cke_combo_button,.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus,.cke_combo_off a.cke_combo_button:active{background:#e5e5e5;border:1px solid #bcbcbc;padding:0 0 0 1px;margin-left:-1px}.cke_combo_off a.cke_combo_button:focus{outline:0}.cke_combo_on a.cke_combo_button,.cke_combo_off a.cke_combo_button:active{background:#fff}.cke_rtl .cke_combo_on a.cke_combo_button,.cke_rtl .cke_combo_off a.cke_combo_button:hover,.cke_rtl .cke_combo_off a.cke_combo_button:focus,.cke_rtl .cke_combo_off a.cke_combo_button:active{padding:0 1px 0 0;margin-left:0;margin-right:-1px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border:3px solid #000;padding:1px 1px 1px 2px}.cke_hc.cke_rtl .cke_combo_on a.cke_combo_button,.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:hover,.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:focus,.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:active{padding:1px 2px 1px 1px}.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:0 0 0 3px;margin-left:-3px}.cke_rtl .cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_rtl .cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_rtl .cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_rtl .cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:0 3px 0 0;margin-left:0;margin-right:-3px}.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:1px 1px 1px 7px;margin-left:-6px}.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:1px 7px 1px 1px;margin-left:0;margin-right:-6px}.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:0;margin:0}.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:1px;margin:0}.cke_toolbar .cke_combo+.cke_toolbar_end,.cke_toolbar .cke_combo+.cke_toolgroup{margin-right:0;margin-left:2px}.cke_rtl .cke_toolbar .cke_combo+.cke_toolbar_end,.cke_rtl .cke_toolbar .cke_combo+.cke_toolgroup{margin-left:0;margin-right:2px}.cke_hc .cke_toolbar .cke_combo+.cke_toolbar_end,.cke_hc .cke_toolbar .cke_combo+.cke_toolgroup{margin-left:5px}.cke_hc.cke_rtl .cke_toolbar .cke_combo+.cke_toolbar_end,.cke_hc.cke_rtl .cke_toolbar .cke_combo+.cke_toolgroup{margin-left:0;margin-right:5px}.cke_toolbar.cke_toolbar_last .cke_combo:nth-last-child(-n+2):after{content:none;border:0;width:0;height:0}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#484848;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 10px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #484848}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#484848;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#e5e5e5}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combopanel__fontsize{width:135px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;text-align:center;opacity:.95;filter:alpha(opacity = 95);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}.cke_button__about_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -144px !important;}.cke_button__bidiltr_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -168px !important;}.cke_button__bidirtl_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -192px !important;}.cke_button__blockquote_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -216px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -240px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -264px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -288px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -312px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -336px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -360px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -384px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -408px !important;}.cke_rtl .cke_button__templates_icon, .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -432px !important;}.cke_ltr .cke_button__templates_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -456px !important;}.cke_button__copyformatting_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -480px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -504px !important;}.cke_rtl .cke_button__find_icon, .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -528px !important;}.cke_ltr .cke_button__find_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -552px !important;}.cke_button__replace_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -576px !important;}.cke_button__flash_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -600px !important;}.cke_button__button_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -624px !important;}.cke_button__checkbox_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -648px !important;}.cke_button__form_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -672px !important;}.cke_button__hiddenfield_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -696px !important;}.cke_button__imagebutton_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -720px !important;}.cke_button__radio_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -744px !important;}.cke_rtl .cke_button__select_icon, .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -768px !important;}.cke_ltr .cke_button__select_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -792px !important;}.cke_rtl .cke_button__textarea_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -816px !important;}.cke_ltr .cke_button__textarea_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -840px !important;}.cke_rtl .cke_button__textfield_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -864px !important;}.cke_ltr .cke_button__textfield_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -888px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -912px !important;}.cke_button__iframe_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -936px !important;}.cke_button__image_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -960px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -984px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1008px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1032px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1056px !important;}.cke_button__smiley_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1080px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1104px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1128px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1152px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1176px !important;}.cke_button__language_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1200px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1224px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1248px !important;}.cke_button__link_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1272px !important;}.cke_button__unlink_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1296px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1320px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1344px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1368px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1392px !important;}.cke_button__maximize_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1416px !important;}.cke_rtl .cke_button__newpage_icon, .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1440px !important;}.cke_ltr .cke_button__newpage_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1464px !important;}.cke_rtl .cke_button__pagebreak_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1488px !important;}.cke_ltr .cke_button__pagebreak_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1512px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1536px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1560px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1584px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1608px !important;}.cke_rtl .cke_button__preview_icon, .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1632px !important;}.cke_ltr .cke_button__preview_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1656px !important;}.cke_button__print_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1680px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1704px !important;}.cke_button__save_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1728px !important;}.cke_button__selectall_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1752px !important;}.cke_rtl .cke_button__showblocks_icon, .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1776px !important;}.cke_ltr .cke_button__showblocks_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1800px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1824px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1848px !important;}.cke_button__specialchar_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1872px !important;}.cke_button__scayt_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1896px !important;}.cke_button__table_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1920px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1944px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1968px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1992px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -2016px !important;}.cke_button__spellchecker_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -2040px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidiltr_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidirtl_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__templates_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__templates_icon,.cke_ltr.cke_hidpi .cke_button__templates_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_hidpi .cke_button__copyformatting_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__find_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__find_icon,.cke_ltr.cke_hidpi .cke_button__find_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_hidpi .cke_button__replace_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_button__flash_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_hidpi .cke_button__button_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_button__checkbox_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__form_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_hidpi .cke_button__hiddenfield_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_button__imagebutton_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_hidpi .cke_button__radio_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__select_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__select_icon,.cke_ltr.cke_hidpi .cke_button__select_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textarea_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textarea_icon,.cke_ltr.cke_hidpi .cke_button__textarea_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textfield_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textfield_icon,.cke_ltr.cke_hidpi .cke_button__textfield_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1032px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1056px !important;background-size: 16px !important;}.cke_hidpi .cke_button__smiley_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1080px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1104px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1128px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1152px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1176px !important;background-size: 16px !important;}.cke_hidpi .cke_button__language_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1200px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1224px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1248px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1272px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1296px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1320px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1344px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1368px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1392px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1416px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__newpage_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1440px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__newpage_icon,.cke_ltr.cke_hidpi .cke_button__newpage_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1464px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pagebreak_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1488px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pagebreak_icon,.cke_ltr.cke_hidpi .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1512px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1536px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1560px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1584px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1608px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__preview_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1632px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__preview_icon,.cke_ltr.cke_hidpi .cke_button__preview_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1656px !important;background-size: 16px !important;}.cke_hidpi .cke_button__print_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1680px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1704px !important;background-size: 16px !important;}.cke_hidpi .cke_button__save_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1728px !important;background-size: 16px !important;}.cke_hidpi .cke_button__selectall_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1752px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__showblocks_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1776px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__showblocks_icon,.cke_ltr.cke_hidpi .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1800px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1824px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1848px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1872px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1896px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1920px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1944px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1968px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1992px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -2016px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -2040px !important;background-size: 16px !important;} \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/icons_hidpi.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/icons_hidpi.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_ie.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_ie.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_ie.css (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #d1d1d1;padding:0}.cke_inner{display:block;background:#fff;padding:0;-webkit-touch-callout:none}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #d1d1d1;background:#f8f8f8;padding:6px 8px 2px;white-space:normal}.cke_float .cke_top{border:1px solid #d1d1d1}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #d1d1d1;background:#f8f8f8}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #bcbcbc transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #bcbcbc;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #d1d1d1}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_block:focus{outline:0}.cke_panel_list{margin:0;padding:0;list-style-type:none;white-space:nowrap}.cke_panel_listItem{margin:0;padding:0}.cke_panel_listItem a{padding:6px 7px;display:block;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis}.cke_hc .cke_panel_listItem a{border-style:none}.cke_panel_listItem.cke_selected a,.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{background-color:#e9e9e9}.cke_panel_listItem a:focus{outline:1px dotted #000}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:4px 5px}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:6px 6px 7px 6px;color:#484848;border-bottom:1px solid #d1d1d1;background:#f8f8f8}.cke_colorblock{padding:10px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}a.cke_colorbox{padding:2px;float:left;width:20px;height:20px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{outline:0;padding:0;border:2px solid #139ff7}a:hover.cke_colorbox{border-color:#bcbcbc}span.cke_colorbox{width:20px;height:20px;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:3px;display:block;cursor:pointer}a.cke_colorauto{padding:0;border:1px solid transparent;margin-bottom:6px;height:26px;line-height:26px}a.cke_colormore{margin-top:10px;height:20px;line-height:19px}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{outline:0;border:#139ff7 1px solid;background-color:#f8f8f8}a:hover.cke_colorauto,a:hover.cke_colormore{border-color:#bcbcbc}.cke_colorauto span.cke_colorbox{width:18px;height:18px;border:1px solid #808080;margin-left:1px;margin-top:3px}.cke_rtl .cke_colorauto span.cke_colorbox{margin-left:0;margin-right:1px}span.cke_colorbox[style*="#ffffff"],span.cke_colorbox[style*="#FFFFFF"],span.cke_colorbox[style="background-color:#fff"],span.cke_colorbox[style="background-color:#FFF"],span.cke_colorbox[style*="rgb(255,255,255)"],span.cke_colorbox[style*="rgb(255, 255, 255)"]{border:1px solid #808080;width:18px;height:18px}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{border:0;float:left;margin:1px 2px 6px 0;padding-right:3px}.cke_rtl .cke_toolgroup{float:right;margin:1px 0 6px 2px;padding-left:3px;padding-right:0}.cke_hc .cke_toolgroup{margin-right:5px;margin-bottom:5px}.cke_hc.cke_rtl .cke_toolgroup{margin-right:0;margin-left:5px}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0;position:relative}.cke_rtl a.cke_button{float:right}.cke_hc a.cke_button{border:1px solid black;padding:3px 5px;margin:0 3px 5px 0}.cke_hc.cke_rtl a.cke_button{margin:0 0 5px 3px}a.cke_button_on{background:#fff;border:1px #bcbcbc solid;padding:3px 5px}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active{background:#e5e5e5;border:1px #bcbcbc solid;padding:3px 5px}.cke_hc a.cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active{background:#e5e5e5;border:3px solid #000;padding:1px 3px}a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{border:0;padding:4px 6px;background-color:transparent}a.cke_button_disabled:focus{border:1px #bcbcbc solid;padding:3px 5px}.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border:1px solid #acacac;padding:3px 5px;margin:0 3px 5px 0}.cke_hc a.cke_button_disabled:focus{border:3px solid #000;padding:1px 3px}.cke_hc.cke_rtl a.cke_button_disabled:hover,.cke_hc.cke_rtl a.cke_button_disabled:focus,.cke_hc.cke_rtl a.cke_button_disabled:active{margin:0 0 5px 3px}a.cke_button_disabled .cke_button_icon,a.cke_button_disabled .cke_button_arrow{opacity:.3}.cke_hc a.cke_button_disabled{border-color:#acacac}.cke_hc a.cke_button_disabled .cke_button_icon,.cke_hc a.cke_button_disabled .cke_button_label{opacity:.5}.cke_toolgroup a.cke_button:last-child:after,.cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{content:"";position:absolute;height:18px;width:0;border-right:1px solid #bcbcbc;margin-top:4px;top:0;right:-3px}.cke_rtl .cke_toolgroup a.cke_button:last-child:after,.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{border-right:0;right:auto;border-left:1px solid #bcbcbc;top:0;left:-3px}.cke_hc .cke_toolgroup a.cke_button:last-child:after,.cke_hc .cke_toolgroup a.cke_button.cke_button_disabled:last-child:after,.cke_hc .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{border-color:#000;top:0;right:-7px}.cke_hc.cke_rtl .cke_toolgroup a.cke_button:last-child:after,.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:last-child:after,.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{top:0;right:auto;left:-7px}.cke_toolgroup a.cke_button:hover:last-child:after,.cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-1px;right:-4px}.cke_rtl .cke_toolgroup a.cke_button:hover:last-child:after,.cke_rtl .cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-1px;right:auto;left:-4px}.cke_hc .cke_toolgroup a.cke_button:hover:last-child:after,.cke_hc .cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-2px;right:-9px}.cke_hc.cke_rtl .cke_toolgroup a.cke_button:hover:last-child:after,.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-2px;right:auto;left:-9px}.cke_toolbar.cke_toolbar_last .cke_toolgroup a.cke_button:last-child:after{content:none;border:0;width:0;height:0}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#484848}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #484848}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px 0 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#bcbcbc;margin:4px 2px 0 2px;height:18px;width:1px}.cke_rtl .cke_toolbar_separator{float:right}.cke_hc .cke_toolbar_separator{background-color:#000;margin-left:2px;margin-right:5px;margin-bottom:9px}.cke_hc.cke_rtl .cke_toolbar_separator{margin-left:5px;margin-right:2px}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #bcbcbc}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser:hover{background:#e5e5e5}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border:3px solid transparent;border-bottom-color:#484848}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#484848}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0}.cke_menuitem span{cursor:default}.cke_menubutton{display:block}.cke_hc .cke_menubutton{padding:2px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#e9e9e9;display:block;outline:1px dotted}.cke_menubutton:hover{outline:0}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_disabled:hover,.cke_menubutton_disabled:focus,.cke_menubutton_disabled:active{background-color:transparent;outline:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#f8f8f8;padding:6px 4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#e9e9e9}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{background-color:#f8f8f8;outline:0}.cke_menuitem .cke_menubutton_on{background-color:#e9e9e9;border:1px solid #dedede;outline:0}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px;background-color:#e9e9e9}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_shortcut{color:#979797}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d1d1d1;height:1px}.cke_menuarrow{background:transparent url(images/arrow.png) no-repeat 0 10px;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow{background-image:none}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left;position:relative;margin-bottom:5px}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:1px;margin-bottom:10px}.cke_combo:after{content:"";position:absolute;height:18px;width:0;border-right:1px solid #bcbcbc;margin-top:5px;top:0;right:0}.cke_rtl .cke_combo:after{border-right:0;border-left:1px solid #bcbcbc;right:auto;left:0}.cke_hc .cke_combo:after{border-color:#000}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0;padding:1px}.cke_rtl a.cke_combo_button{float:right}.cke_hc a.cke_combo_button{padding:4px}.cke_combo_on a.cke_combo_button,.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus,.cke_combo_off a.cke_combo_button:active{background:#e5e5e5;border:1px solid #bcbcbc;padding:0 0 0 1px;margin-left:-1px}.cke_combo_off a.cke_combo_button:focus{outline:0}.cke_combo_on a.cke_combo_button,.cke_combo_off a.cke_combo_button:active{background:#fff}.cke_rtl .cke_combo_on a.cke_combo_button,.cke_rtl .cke_combo_off a.cke_combo_button:hover,.cke_rtl .cke_combo_off a.cke_combo_button:focus,.cke_rtl .cke_combo_off a.cke_combo_button:active{padding:0 1px 0 0;margin-left:0;margin-right:-1px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border:3px solid #000;padding:1px 1px 1px 2px}.cke_hc.cke_rtl .cke_combo_on a.cke_combo_button,.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:hover,.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:focus,.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:active{padding:1px 2px 1px 1px}.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:0 0 0 3px;margin-left:-3px}.cke_rtl .cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_rtl .cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_rtl .cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_rtl .cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:0 3px 0 0;margin-left:0;margin-right:-3px}.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:1px 1px 1px 7px;margin-left:-6px}.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:1px 7px 1px 1px;margin-left:0;margin-right:-6px}.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:0;margin:0}.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:1px;margin:0}.cke_toolbar .cke_combo+.cke_toolbar_end,.cke_toolbar .cke_combo+.cke_toolgroup{margin-right:0;margin-left:2px}.cke_rtl .cke_toolbar .cke_combo+.cke_toolbar_end,.cke_rtl .cke_toolbar .cke_combo+.cke_toolgroup{margin-left:0;margin-right:2px}.cke_hc .cke_toolbar .cke_combo+.cke_toolbar_end,.cke_hc .cke_toolbar .cke_combo+.cke_toolgroup{margin-left:5px}.cke_hc.cke_rtl .cke_toolbar .cke_combo+.cke_toolbar_end,.cke_hc.cke_rtl .cke_toolbar .cke_combo+.cke_toolgroup{margin-left:0;margin-right:5px}.cke_toolbar.cke_toolbar_last .cke_combo:nth-last-child(-n+2):after{content:none;border:0;width:0;height:0}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#484848;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 10px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #484848}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#484848;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#e5e5e5}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combopanel__fontsize{width:135px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;text-align:center;opacity:.95;filter:alpha(opacity = 95);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_button__about_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -144px !important;}.cke_button__bidiltr_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -168px !important;}.cke_button__bidirtl_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -192px !important;}.cke_button__blockquote_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -216px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -240px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -264px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -288px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -312px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -336px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -360px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -384px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -408px !important;}.cke_rtl .cke_button__templates_icon, .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -432px !important;}.cke_ltr .cke_button__templates_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -456px !important;}.cke_button__copyformatting_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -480px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -504px !important;}.cke_rtl .cke_button__find_icon, .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -528px !important;}.cke_ltr .cke_button__find_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -552px !important;}.cke_button__replace_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -576px !important;}.cke_button__flash_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -600px !important;}.cke_button__button_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -624px !important;}.cke_button__checkbox_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -648px !important;}.cke_button__form_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -672px !important;}.cke_button__hiddenfield_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -696px !important;}.cke_button__imagebutton_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -720px !important;}.cke_button__radio_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -744px !important;}.cke_rtl .cke_button__select_icon, .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -768px !important;}.cke_ltr .cke_button__select_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -792px !important;}.cke_rtl .cke_button__textarea_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -816px !important;}.cke_ltr .cke_button__textarea_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -840px !important;}.cke_rtl .cke_button__textfield_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -864px !important;}.cke_ltr .cke_button__textfield_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -888px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -912px !important;}.cke_button__iframe_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -936px !important;}.cke_button__image_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -960px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -984px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1008px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1032px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1056px !important;}.cke_button__smiley_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1080px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1104px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1128px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1152px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1176px !important;}.cke_button__language_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1200px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1224px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1248px !important;}.cke_button__link_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1272px !important;}.cke_button__unlink_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1296px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1320px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1344px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1368px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1392px !important;}.cke_button__maximize_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1416px !important;}.cke_rtl .cke_button__newpage_icon, .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1440px !important;}.cke_ltr .cke_button__newpage_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1464px !important;}.cke_rtl .cke_button__pagebreak_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1488px !important;}.cke_ltr .cke_button__pagebreak_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1512px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1536px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1560px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1584px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1608px !important;}.cke_rtl .cke_button__preview_icon, .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1632px !important;}.cke_ltr .cke_button__preview_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1656px !important;}.cke_button__print_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1680px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1704px !important;}.cke_button__save_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1728px !important;}.cke_button__selectall_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1752px !important;}.cke_rtl .cke_button__showblocks_icon, .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1776px !important;}.cke_ltr .cke_button__showblocks_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1800px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1824px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1848px !important;}.cke_button__specialchar_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1872px !important;}.cke_button__scayt_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1896px !important;}.cke_button__table_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1920px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1944px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1968px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1992px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -2016px !important;}.cke_button__spellchecker_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -2040px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidiltr_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidirtl_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__templates_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__templates_icon,.cke_ltr.cke_hidpi .cke_button__templates_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_hidpi .cke_button__copyformatting_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__find_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__find_icon,.cke_ltr.cke_hidpi .cke_button__find_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_hidpi .cke_button__replace_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_button__flash_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_hidpi .cke_button__button_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_button__checkbox_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__form_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_hidpi .cke_button__hiddenfield_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_button__imagebutton_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_hidpi .cke_button__radio_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__select_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__select_icon,.cke_ltr.cke_hidpi .cke_button__select_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textarea_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textarea_icon,.cke_ltr.cke_hidpi .cke_button__textarea_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textfield_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textfield_icon,.cke_ltr.cke_hidpi .cke_button__textfield_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1032px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1056px !important;background-size: 16px !important;}.cke_hidpi .cke_button__smiley_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1080px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1104px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1128px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1152px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1176px !important;background-size: 16px !important;}.cke_hidpi .cke_button__language_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1200px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1224px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1248px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1272px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1296px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1320px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1344px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1368px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1392px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1416px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__newpage_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1440px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__newpage_icon,.cke_ltr.cke_hidpi .cke_button__newpage_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1464px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pagebreak_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1488px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pagebreak_icon,.cke_ltr.cke_hidpi .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1512px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1536px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1560px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1584px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1608px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__preview_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1632px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__preview_icon,.cke_ltr.cke_hidpi .cke_button__preview_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1656px !important;background-size: 16px !important;}.cke_hidpi .cke_button__print_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1680px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1704px !important;background-size: 16px !important;}.cke_hidpi .cke_button__save_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1728px !important;background-size: 16px !important;}.cke_hidpi .cke_button__selectall_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1752px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__showblocks_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1776px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__showblocks_icon,.cke_ltr.cke_hidpi .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1800px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1824px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1848px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1872px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1896px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1920px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1944px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1968px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1992px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -2016px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -2040px !important;background-size: 16px !important;} \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_ie.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/icons.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/icons.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/readme.md =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/readme.md (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/readme.md (revision 7) @@ -0,0 +1,46 @@ +"Moono-lisa" Skin +================= + +This skin has been made a **default skin** starting from CKEditor 4.6.0 and is maintained by the core developers. + +For more information about skins, please check the [CKEditor Skin SDK](https://docs.ckeditor.com/ckeditor4/docs/#!/guide/skin_sdk_intro) +documentation. + +Features +------------------- +"Moono-lisa" is a monochromatic skin, which offers a modern, flat and minimalistic look which blends very well in modern design. +It comes with the following features: + +- Chameleon feature with brightness. +- High-contrast compatibility. +- Graphics source provided in SVG. + +Directory Structure +------------------- + +CSS parts: +- **editor.css**: the main CSS file. It's simply loading several other files, for easier maintenance, +- **mainui.css**: the file contains styles of entire editor outline structures, +- **toolbar.css**: the file contains styles of the editor toolbar space (top), +- **richcombo.css**: the file contains styles of the rich combo ui elements on toolbar, +- **panel.css**: the file contains styles of the rich combo drop-down, it's not loaded +until the first panel open up, +- **elementspath.css**: the file contains styles of the editor elements path bar (bottom), +- **menu.css**: the file contains styles of all editor menus including context menu and button drop-down, +it's not loaded until the first menu open up, +- **dialog.css**: the CSS files for the dialog UI, it's not loaded until the first dialog open, +- **reset.css**: the file defines the basis of style resets among all editor UI spaces, +- **preset.css**: the file defines the default styles of some UI elements reflecting the skin preference, +- **editor_XYZ.css** and **dialog_XYZ.css**: browser specific CSS hacks. + +Other parts: +- **skin.js**: the only JavaScript part of the skin that registers the skin, its browser specific files and its icons and defines the Chameleon feature, +- **images/**: contains a fill general used images, +- **dev/**: contains SVG and PNG source of the skin icons. + +License +------- + +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + +For licensing, see LICENSE.md or [https://ckeditor.com/legal/ckeditor-oss-license](https://ckeditor.com/legal/ckeditor-oss-license) Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog_ie.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog_ie.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog_ie.css (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#fff}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:12px;cursor:move;position:relative;color:#484848;border-bottom:1px solid #d1d1d1;padding:12px 19px 12px 12px;background:#f8f8f8;letter-spacing:.3px}.cke_dialog_spinner{border-radius:50%;width:12px;height:12px;overflow:hidden;text-indent:-9999em;border:2px solid rgba(102,102,102,0.2);border-left-color:rgba(102,102,102,1);-webkit-animation:dialog_spinner 1s infinite linear;animation:dialog_spinner 1s infinite linear}.cke_browser_ie8 .cke_dialog_spinner,.cke_browser_ie9 .cke_dialog_spinner{background:url(images/spinner.gif) center top no-repeat;width:16px;height:16px;border:0}@-webkit-keyframes dialog_spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes dialog_spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:43px;border-top:1px solid #d1d1d1}.cke_dialog_contents_body{overflow:auto;padding:9px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border-top:1px solid #d1d1d1;background:#f8f8f8}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:22px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:33px;display:inline-block;margin:9px 0 0;position:absolute;z-index:2;left:11px}.cke_rtl .cke_dialog_tabs{left:auto;right:11px}a.cke_dialog_tab{height:25px;padding:4px 8px;display:inline-block;cursor:pointer;line-height:26px;outline:0;color:#484848;border:1px solid #d1d1d1;border-radius:3px 3px 0 0;background:#f8f8f8;min-width:90px;text-align:center;margin-left:-1px;letter-spacing:.3px}a.cke_dialog_tab:hover{background-color:#fff}a.cke_dialog_tab:focus{border:2px solid #139ff7;border-bottom-color:#d1d1d1;padding:3px 7px;position:relative;z-index:1}a.cke_dialog_tab_selected{background:#fff;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover,a.cke_dialog_tab_selected:focus{border-bottom-color:#fff}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab:focus,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}a.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:16px;width:16px;top:11px;z-index:5;opacity:.7;filter:alpha(opacity = 70)}.cke_rtl .cke_dialog_close_button{left:12px}.cke_ltr .cke_dialog_close_button{right:12px}.cke_hc a.cke_dialog_close_button{background-image:none}.cke_hidpi a.cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}a.cke_dialog_close_button:hover{opacity:1;filter:alpha(opacity = 100)}a.cke_dialog_close_button span{display:none}.cke_hc a.cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%;margin-top:12px}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;border:1px solid #bcbcbc;padding:4px 6px;outline:0;width:100%;*width:95%;box-sizing:border-box;border-radius:2px;min-height:28px;margin-left:1px}input.cke_dialog_ui_input_text:hover,input.cke_dialog_ui_input_password:hover,textarea.cke_dialog_ui_input_textarea:hover{border:1px solid #aeb3b9}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus,select.cke_dialog_ui_input_select:focus{outline:0;border:2px solid #139ff7}input.cke_dialog_ui_input_text:focus{padding-left:5px}textarea.cke_dialog_ui_input_textarea:focus{padding:3px 5px}select.cke_dialog_ui_input_select:focus{margin:0;width:100%!important}input.cke_dialog_ui_checkbox_input,input.cke_dialog_ui_radio_input{margin-left:1px;margin-right:2px}input.cke_dialog_ui_checkbox_input:focus,input.cke_dialog_ui_checkbox_input:active,input.cke_dialog_ui_radio_input:focus,input.cke_dialog_ui_radio_input:active{border:0;outline:2px solid #139ff7}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:4px 1px;margin:0;text-align:center;color:#484848;vertical-align:middle;cursor:pointer;border:1px solid #bcbcbc;border-radius:2px;background:#f8f8f8;letter-spacing:.3px;line-height:18px;box-sizing:border-box}.cke_hc a.cke_dialog_ui_button{border-width:3px}span.cke_dialog_ui_button{padding:0 10px;cursor:pointer}a.cke_dialog_ui_button:hover{background:#fff}a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border:2px solid #139ff7;outline:0;padding:3px 0}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;font-weight:bold;padding:0 12px}a.cke_dialog_ui_button_ok{color:#fff;background:#09863e;border:1px solid #09863e}.cke_hc a.cke_dialog_ui_button{border:3px solid #bcbcbc}a.cke_dialog_ui_button_ok:hover{background:#53aa78;border-color:#53aa78}a.cke_dialog_ui_button_ok:focus{box-shadow:inset 0 0 0 2px #FFF}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#139ff7}.cke_hc a.cke_dialog_ui_button_ok:hover,.cke_hc a.cke_dialog_ui_button_ok:focus,.cke_hc a.cke_dialog_ui_button_ok:active{border-color:#484848}a.cke_dialog_ui_button_ok.cke_disabled{background:#d1d1d1;border-color:#d1d1d1;cursor:default}a.cke_dialog_ui_button_ok.cke_disabled span{cursor:default}.cke_dialog_footer_buttons{display:inline-table;margin:5px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:28px;line-height:28px;background-color:#fff;border:1px solid #bcbcbc;padding:3px 3px 3px 6px;outline:0;border-radius:2px;margin:0 1px;box-sizing:border-box;width:calc(100% - 2px)!important}.cke_dialog_ui_input_file{width:100%;height:25px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog_ui_labeled_label{margin-left:1px}.cke_dialog .cke_dark_background{background-color:transparent}.cke_dialog .cke_light_background{background-color:#ebebeb}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked,.cke_dialog a.cke_btn_reset{margin:2px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_hidpi .cke_dialog a.cke_btn_unlocked,.cke_hidpi .cke_dialog a.cke_btn_locked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_over,.cke_dialog a.cke_btn_locked:hover,.cke_dialog a.cke_btn_locked:focus,.cke_dialog a.cke_btn_locked:active,.cke_dialog a.cke_btn_unlocked:hover,.cke_dialog a.cke_btn_unlocked:focus,.cke_dialog a.cke_btn_unlocked:active,.cke_dialog a.cke_btn_reset:hover,.cke_dialog a.cke_btn_reset:focus,.cke_dialog a.cke_btn_reset:active{cursor:pointer;outline:0;margin:0;border:2px solid #139ff7}.cke_dialog fieldset{border:1px solid #bcbcbc}.cke_dialog fieldset legend{padding:0 6px}.cke_dialog_ui_checkbox,.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox{display:inline-block}.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox{padding-top:5px}.cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input,.cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input+label,.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input,.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input+label{vertical-align:middle}.cke_dialog .ImagePreviewBox{border:1px ridge #bcbcbc;overflow:scroll;height:200px;width:300px;padding:2px;background-color:white}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity = 90);background-color:#e4e4e4}.cke_dialog .FlashPreviewBox{white-space:normal;border:1px solid #bcbcbc;overflow:auto;height:160px;width:390px;padding:2px;background-color:white}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;border-radius:3px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline;cursor:default;letter-spacing:.3px}.cke_dialog_body label+.cke_dialog_ui_labeled_content{margin-top:2px}.cke_dialog_contents_body .cke_dialog_ui_text,.cke_dialog_contents_body .cke_dialog_ui_select,.cke_dialog_contents_body .cke_dialog_ui_hbox_last>a.cke_dialog_ui_button{margin-top:4px}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{border:2px solid transparent}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#888}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#139ff7}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity = 0);width:100%;height:100%}.cke_dialog_contents_body .cke_accessibility_legend{margin:2px 7px 2px 2px}.cke_dialog_contents_body .cke_accessibility_legend:focus,.cke_dialog_contents_body .cke_accessibility_legend:active{outline:0;border:2px solid #139ff7;margin:0 5px 0 0}.cke_dialog_contents_body input[type=file]:focus,.cke_dialog_contents_body input[type=file]:active{border:2px solid #139ff7}.cke_dialog_find_fieldset{margin-top:10px!important}.cke_dialog_image_ratiolock{margin-top:52px!important}.cke_dialog_forms_select_order label.cke_dialog_ui_labeled_label{margin-left:0}.cke_dialog_forms_select_order div.cke_dialog_ui_input_select{width:100%}.cke_dialog_forms_select_order_txtsize .cke_dialog_ui_hbox_last{padding-top:4px}.cke_dialog_image_url .cke_dialog_ui_hbox_last,.cke_dialog_flash_url .cke_dialog_ui_hbox_last{vertical-align:bottom}a.cke_dialog_ui_button.cke_dialog_image_browse{margin-top:10px}.cke_dialog_contents_body .cke_tpl_list{border:#bcbcbc 1px solid;margin:1px}.cke_dialog_contents_body .cke_tpl_list:focus,.cke_dialog_contents_body .cke_tpl_list:active{outline:0;margin:0;border:2px solid #139ff7}.cke_dialog_contents_body .cke_tpl_list a:focus,.cke_dialog_contents_body .cke_tpl_list a:active{outline:0}.cke_dialog_contents_body .cke_tpl_list a:focus .cke_tpl_item,.cke_dialog_contents_body .cke_tpl_list a:active .cke_tpl_item{border:2px solid #139ff7;padding:6px}.cke_rtl input.cke_dialog_ui_input_text,.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px}.cke_rtl div.cke_dialog_ui_input_text,.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px}.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px}.cke_rtl .cke_dialog_ui_vbox_child,.cke_rtl .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important}.cke_hc .cke_dialog_title,.cke_hc .cke_dialog_footer,.cke_hc a.cke_dialog_tab,.cke_hc a.cke_dialog_ui_button,.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button_ok,.cke_hc a.cke_dialog_ui_button_ok:hover{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:0} \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog_ie.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_iequirks.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_iequirks.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_iequirks.css (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #d1d1d1;padding:0}.cke_inner{display:block;background:#fff;padding:0;-webkit-touch-callout:none}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #d1d1d1;background:#f8f8f8;padding:6px 8px 2px;white-space:normal}.cke_float .cke_top{border:1px solid #d1d1d1}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #d1d1d1;background:#f8f8f8}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #bcbcbc transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #bcbcbc;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #d1d1d1}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_block:focus{outline:0}.cke_panel_list{margin:0;padding:0;list-style-type:none;white-space:nowrap}.cke_panel_listItem{margin:0;padding:0}.cke_panel_listItem a{padding:6px 7px;display:block;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis}.cke_hc .cke_panel_listItem a{border-style:none}.cke_panel_listItem.cke_selected a,.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{background-color:#e9e9e9}.cke_panel_listItem a:focus{outline:1px dotted #000}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:4px 5px}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:6px 6px 7px 6px;color:#484848;border-bottom:1px solid #d1d1d1;background:#f8f8f8}.cke_colorblock{padding:10px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}a.cke_colorbox{padding:2px;float:left;width:20px;height:20px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{outline:0;padding:0;border:2px solid #139ff7}a:hover.cke_colorbox{border-color:#bcbcbc}span.cke_colorbox{width:20px;height:20px;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:3px;display:block;cursor:pointer}a.cke_colorauto{padding:0;border:1px solid transparent;margin-bottom:6px;height:26px;line-height:26px}a.cke_colormore{margin-top:10px;height:20px;line-height:19px}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{outline:0;border:#139ff7 1px solid;background-color:#f8f8f8}a:hover.cke_colorauto,a:hover.cke_colormore{border-color:#bcbcbc}.cke_colorauto span.cke_colorbox{width:18px;height:18px;border:1px solid #808080;margin-left:1px;margin-top:3px}.cke_rtl .cke_colorauto span.cke_colorbox{margin-left:0;margin-right:1px}span.cke_colorbox[style*="#ffffff"],span.cke_colorbox[style*="#FFFFFF"],span.cke_colorbox[style="background-color:#fff"],span.cke_colorbox[style="background-color:#FFF"],span.cke_colorbox[style*="rgb(255,255,255)"],span.cke_colorbox[style*="rgb(255, 255, 255)"]{border:1px solid #808080;width:18px;height:18px}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{border:0;float:left;margin:1px 2px 6px 0;padding-right:3px}.cke_rtl .cke_toolgroup{float:right;margin:1px 0 6px 2px;padding-left:3px;padding-right:0}.cke_hc .cke_toolgroup{margin-right:5px;margin-bottom:5px}.cke_hc.cke_rtl .cke_toolgroup{margin-right:0;margin-left:5px}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0;position:relative}.cke_rtl a.cke_button{float:right}.cke_hc a.cke_button{border:1px solid black;padding:3px 5px;margin:0 3px 5px 0}.cke_hc.cke_rtl a.cke_button{margin:0 0 5px 3px}a.cke_button_on{background:#fff;border:1px #bcbcbc solid;padding:3px 5px}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active{background:#e5e5e5;border:1px #bcbcbc solid;padding:3px 5px}.cke_hc a.cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active{background:#e5e5e5;border:3px solid #000;padding:1px 3px}a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{border:0;padding:4px 6px;background-color:transparent}a.cke_button_disabled:focus{border:1px #bcbcbc solid;padding:3px 5px}.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border:1px solid #acacac;padding:3px 5px;margin:0 3px 5px 0}.cke_hc a.cke_button_disabled:focus{border:3px solid #000;padding:1px 3px}.cke_hc.cke_rtl a.cke_button_disabled:hover,.cke_hc.cke_rtl a.cke_button_disabled:focus,.cke_hc.cke_rtl a.cke_button_disabled:active{margin:0 0 5px 3px}a.cke_button_disabled .cke_button_icon,a.cke_button_disabled .cke_button_arrow{opacity:.3}.cke_hc a.cke_button_disabled{border-color:#acacac}.cke_hc a.cke_button_disabled .cke_button_icon,.cke_hc a.cke_button_disabled .cke_button_label{opacity:.5}.cke_toolgroup a.cke_button:last-child:after,.cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{content:"";position:absolute;height:18px;width:0;border-right:1px solid #bcbcbc;margin-top:4px;top:0;right:-3px}.cke_rtl .cke_toolgroup a.cke_button:last-child:after,.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{border-right:0;right:auto;border-left:1px solid #bcbcbc;top:0;left:-3px}.cke_hc .cke_toolgroup a.cke_button:last-child:after,.cke_hc .cke_toolgroup a.cke_button.cke_button_disabled:last-child:after,.cke_hc .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{border-color:#000;top:0;right:-7px}.cke_hc.cke_rtl .cke_toolgroup a.cke_button:last-child:after,.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:last-child:after,.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{top:0;right:auto;left:-7px}.cke_toolgroup a.cke_button:hover:last-child:after,.cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-1px;right:-4px}.cke_rtl .cke_toolgroup a.cke_button:hover:last-child:after,.cke_rtl .cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-1px;right:auto;left:-4px}.cke_hc .cke_toolgroup a.cke_button:hover:last-child:after,.cke_hc .cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-2px;right:-9px}.cke_hc.cke_rtl .cke_toolgroup a.cke_button:hover:last-child:after,.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-2px;right:auto;left:-9px}.cke_toolbar.cke_toolbar_last .cke_toolgroup a.cke_button:last-child:after{content:none;border:0;width:0;height:0}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#484848}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #484848}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px 0 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#bcbcbc;margin:4px 2px 0 2px;height:18px;width:1px}.cke_rtl .cke_toolbar_separator{float:right}.cke_hc .cke_toolbar_separator{background-color:#000;margin-left:2px;margin-right:5px;margin-bottom:9px}.cke_hc.cke_rtl .cke_toolbar_separator{margin-left:5px;margin-right:2px}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #bcbcbc}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser:hover{background:#e5e5e5}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border:3px solid transparent;border-bottom-color:#484848}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#484848}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0}.cke_menuitem span{cursor:default}.cke_menubutton{display:block}.cke_hc .cke_menubutton{padding:2px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#e9e9e9;display:block;outline:1px dotted}.cke_menubutton:hover{outline:0}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_disabled:hover,.cke_menubutton_disabled:focus,.cke_menubutton_disabled:active{background-color:transparent;outline:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#f8f8f8;padding:6px 4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#e9e9e9}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{background-color:#f8f8f8;outline:0}.cke_menuitem .cke_menubutton_on{background-color:#e9e9e9;border:1px solid #dedede;outline:0}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px;background-color:#e9e9e9}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_shortcut{color:#979797}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d1d1d1;height:1px}.cke_menuarrow{background:transparent url(images/arrow.png) no-repeat 0 10px;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow{background-image:none}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left;position:relative;margin-bottom:5px}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:1px;margin-bottom:10px}.cke_combo:after{content:"";position:absolute;height:18px;width:0;border-right:1px solid #bcbcbc;margin-top:5px;top:0;right:0}.cke_rtl .cke_combo:after{border-right:0;border-left:1px solid #bcbcbc;right:auto;left:0}.cke_hc .cke_combo:after{border-color:#000}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0;padding:1px}.cke_rtl a.cke_combo_button{float:right}.cke_hc a.cke_combo_button{padding:4px}.cke_combo_on a.cke_combo_button,.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus,.cke_combo_off a.cke_combo_button:active{background:#e5e5e5;border:1px solid #bcbcbc;padding:0 0 0 1px;margin-left:-1px}.cke_combo_off a.cke_combo_button:focus{outline:0}.cke_combo_on a.cke_combo_button,.cke_combo_off a.cke_combo_button:active{background:#fff}.cke_rtl .cke_combo_on a.cke_combo_button,.cke_rtl .cke_combo_off a.cke_combo_button:hover,.cke_rtl .cke_combo_off a.cke_combo_button:focus,.cke_rtl .cke_combo_off a.cke_combo_button:active{padding:0 1px 0 0;margin-left:0;margin-right:-1px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border:3px solid #000;padding:1px 1px 1px 2px}.cke_hc.cke_rtl .cke_combo_on a.cke_combo_button,.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:hover,.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:focus,.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:active{padding:1px 2px 1px 1px}.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:0 0 0 3px;margin-left:-3px}.cke_rtl .cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_rtl .cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_rtl .cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_rtl .cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:0 3px 0 0;margin-left:0;margin-right:-3px}.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:1px 1px 1px 7px;margin-left:-6px}.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:1px 7px 1px 1px;margin-left:0;margin-right:-6px}.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:0;margin:0}.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:1px;margin:0}.cke_toolbar .cke_combo+.cke_toolbar_end,.cke_toolbar .cke_combo+.cke_toolgroup{margin-right:0;margin-left:2px}.cke_rtl .cke_toolbar .cke_combo+.cke_toolbar_end,.cke_rtl .cke_toolbar .cke_combo+.cke_toolgroup{margin-left:0;margin-right:2px}.cke_hc .cke_toolbar .cke_combo+.cke_toolbar_end,.cke_hc .cke_toolbar .cke_combo+.cke_toolgroup{margin-left:5px}.cke_hc.cke_rtl .cke_toolbar .cke_combo+.cke_toolbar_end,.cke_hc.cke_rtl .cke_toolbar .cke_combo+.cke_toolgroup{margin-left:0;margin-right:5px}.cke_toolbar.cke_toolbar_last .cke_combo:nth-last-child(-n+2):after{content:none;border:0;width:0;height:0}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#484848;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 10px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #484848}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#484848;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#e5e5e5}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combopanel__fontsize{width:135px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;text-align:center;opacity:.95;filter:alpha(opacity = 95);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_top,.cke_contents,.cke_bottom{width:100%}.cke_button_arrow{font-size:0}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_button,.cke_rtl .cke_button *,.cke_rtl .cke_combo,.cke_rtl .cke_combo *,.cke_rtl .cke_path_item,.cke_rtl .cke_path_item *,.cke_rtl .cke_path_empty{float:none}.cke_rtl .cke_toolgroup,.cke_rtl .cke_toolbar_separator,.cke_rtl .cke_combo_button,.cke_rtl .cke_combo_button *,.cke_rtl .cke_button,.cke_rtl .cke_button_icon{display:inline-block;vertical-align:top}.cke_rtl .cke_button_icon{float:none}.cke_resizer{width:10px}.cke_source{white-space:normal}.cke_bottom{position:static}.cke_colorbox{font-size:0}.cke_button__about_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -144px !important;}.cke_button__bidiltr_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -168px !important;}.cke_button__bidirtl_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -192px !important;}.cke_button__blockquote_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -216px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -240px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -264px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -288px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -312px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -336px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -360px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -384px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -408px !important;}.cke_rtl .cke_button__templates_icon, .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -432px !important;}.cke_ltr .cke_button__templates_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -456px !important;}.cke_button__copyformatting_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -480px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -504px !important;}.cke_rtl .cke_button__find_icon, .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -528px !important;}.cke_ltr .cke_button__find_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -552px !important;}.cke_button__replace_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -576px !important;}.cke_button__flash_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -600px !important;}.cke_button__button_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -624px !important;}.cke_button__checkbox_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -648px !important;}.cke_button__form_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -672px !important;}.cke_button__hiddenfield_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -696px !important;}.cke_button__imagebutton_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -720px !important;}.cke_button__radio_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -744px !important;}.cke_rtl .cke_button__select_icon, .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -768px !important;}.cke_ltr .cke_button__select_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -792px !important;}.cke_rtl .cke_button__textarea_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -816px !important;}.cke_ltr .cke_button__textarea_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -840px !important;}.cke_rtl .cke_button__textfield_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -864px !important;}.cke_ltr .cke_button__textfield_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -888px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -912px !important;}.cke_button__iframe_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -936px !important;}.cke_button__image_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -960px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -984px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1008px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1032px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1056px !important;}.cke_button__smiley_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1080px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1104px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1128px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1152px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1176px !important;}.cke_button__language_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1200px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1224px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1248px !important;}.cke_button__link_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1272px !important;}.cke_button__unlink_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1296px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1320px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1344px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1368px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1392px !important;}.cke_button__maximize_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1416px !important;}.cke_rtl .cke_button__newpage_icon, .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1440px !important;}.cke_ltr .cke_button__newpage_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1464px !important;}.cke_rtl .cke_button__pagebreak_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1488px !important;}.cke_ltr .cke_button__pagebreak_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1512px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1536px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1560px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1584px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1608px !important;}.cke_rtl .cke_button__preview_icon, .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1632px !important;}.cke_ltr .cke_button__preview_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1656px !important;}.cke_button__print_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1680px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1704px !important;}.cke_button__save_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1728px !important;}.cke_button__selectall_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1752px !important;}.cke_rtl .cke_button__showblocks_icon, .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1776px !important;}.cke_ltr .cke_button__showblocks_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1800px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1824px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1848px !important;}.cke_button__specialchar_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1872px !important;}.cke_button__scayt_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1896px !important;}.cke_button__table_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1920px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1944px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1968px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1992px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -2016px !important;}.cke_button__spellchecker_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -2040px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidiltr_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidirtl_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__templates_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__templates_icon,.cke_ltr.cke_hidpi .cke_button__templates_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_hidpi .cke_button__copyformatting_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__find_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__find_icon,.cke_ltr.cke_hidpi .cke_button__find_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_hidpi .cke_button__replace_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_button__flash_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_hidpi .cke_button__button_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_button__checkbox_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__form_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_hidpi .cke_button__hiddenfield_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_button__imagebutton_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_hidpi .cke_button__radio_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__select_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__select_icon,.cke_ltr.cke_hidpi .cke_button__select_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textarea_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textarea_icon,.cke_ltr.cke_hidpi .cke_button__textarea_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textfield_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textfield_icon,.cke_ltr.cke_hidpi .cke_button__textfield_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1032px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1056px !important;background-size: 16px !important;}.cke_hidpi .cke_button__smiley_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1080px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1104px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1128px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1152px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1176px !important;background-size: 16px !important;}.cke_hidpi .cke_button__language_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1200px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1224px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1248px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1272px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1296px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1320px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1344px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1368px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1392px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1416px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__newpage_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1440px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__newpage_icon,.cke_ltr.cke_hidpi .cke_button__newpage_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1464px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pagebreak_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1488px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pagebreak_icon,.cke_ltr.cke_hidpi .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1512px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1536px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1560px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1584px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1608px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__preview_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1632px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__preview_icon,.cke_ltr.cke_hidpi .cke_button__preview_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1656px !important;background-size: 16px !important;}.cke_hidpi .cke_button__print_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1680px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1704px !important;background-size: 16px !important;}.cke_hidpi .cke_button__save_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1728px !important;background-size: 16px !important;}.cke_hidpi .cke_button__selectall_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1752px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__showblocks_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1776px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__showblocks_icon,.cke_ltr.cke_hidpi .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1800px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1824px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1848px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1872px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1896px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1920px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1944px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1968px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1992px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -2016px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -2040px !important;background-size: 16px !important;} \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_iequirks.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/close.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/close.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/arrow.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/arrow.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/lock.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/lock.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/refresh.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/refresh.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/lock-open.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/lock-open.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/hidpi/close.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/hidpi/close.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/hidpi/lock.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/hidpi/lock.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/hidpi/refresh.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/hidpi/refresh.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/hidpi/lock-open.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/hidpi/lock-open.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/spinner.gif =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/images/spinner.gif ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog_ie8.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog_ie8.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog_ie8.css (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#fff}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:12px;cursor:move;position:relative;color:#484848;border-bottom:1px solid #d1d1d1;padding:12px 19px 12px 12px;background:#f8f8f8;letter-spacing:.3px}.cke_dialog_spinner{border-radius:50%;width:12px;height:12px;overflow:hidden;text-indent:-9999em;border:2px solid rgba(102,102,102,0.2);border-left-color:rgba(102,102,102,1);-webkit-animation:dialog_spinner 1s infinite linear;animation:dialog_spinner 1s infinite linear}.cke_browser_ie8 .cke_dialog_spinner,.cke_browser_ie9 .cke_dialog_spinner{background:url(images/spinner.gif) center top no-repeat;width:16px;height:16px;border:0}@-webkit-keyframes dialog_spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes dialog_spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:43px;border-top:1px solid #d1d1d1}.cke_dialog_contents_body{overflow:auto;padding:9px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border-top:1px solid #d1d1d1;background:#f8f8f8}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:22px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:33px;display:inline-block;margin:9px 0 0;position:absolute;z-index:2;left:11px}.cke_rtl .cke_dialog_tabs{left:auto;right:11px}a.cke_dialog_tab{height:25px;padding:4px 8px;display:inline-block;cursor:pointer;line-height:26px;outline:0;color:#484848;border:1px solid #d1d1d1;border-radius:3px 3px 0 0;background:#f8f8f8;min-width:90px;text-align:center;margin-left:-1px;letter-spacing:.3px}a.cke_dialog_tab:hover{background-color:#fff}a.cke_dialog_tab:focus{border:2px solid #139ff7;border-bottom-color:#d1d1d1;padding:3px 7px;position:relative;z-index:1}a.cke_dialog_tab_selected{background:#fff;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover,a.cke_dialog_tab_selected:focus{border-bottom-color:#fff}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab:focus,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}a.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:16px;width:16px;top:11px;z-index:5;opacity:.7;filter:alpha(opacity = 70)}.cke_rtl .cke_dialog_close_button{left:12px}.cke_ltr .cke_dialog_close_button{right:12px}.cke_hc a.cke_dialog_close_button{background-image:none}.cke_hidpi a.cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}a.cke_dialog_close_button:hover{opacity:1;filter:alpha(opacity = 100)}a.cke_dialog_close_button span{display:none}.cke_hc a.cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%;margin-top:12px}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;border:1px solid #bcbcbc;padding:4px 6px;outline:0;width:100%;*width:95%;box-sizing:border-box;border-radius:2px;min-height:28px;margin-left:1px}input.cke_dialog_ui_input_text:hover,input.cke_dialog_ui_input_password:hover,textarea.cke_dialog_ui_input_textarea:hover{border:1px solid #aeb3b9}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus,select.cke_dialog_ui_input_select:focus{outline:0;border:2px solid #139ff7}input.cke_dialog_ui_input_text:focus{padding-left:5px}textarea.cke_dialog_ui_input_textarea:focus{padding:3px 5px}select.cke_dialog_ui_input_select:focus{margin:0;width:100%!important}input.cke_dialog_ui_checkbox_input,input.cke_dialog_ui_radio_input{margin-left:1px;margin-right:2px}input.cke_dialog_ui_checkbox_input:focus,input.cke_dialog_ui_checkbox_input:active,input.cke_dialog_ui_radio_input:focus,input.cke_dialog_ui_radio_input:active{border:0;outline:2px solid #139ff7}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:4px 1px;margin:0;text-align:center;color:#484848;vertical-align:middle;cursor:pointer;border:1px solid #bcbcbc;border-radius:2px;background:#f8f8f8;letter-spacing:.3px;line-height:18px;box-sizing:border-box}.cke_hc a.cke_dialog_ui_button{border-width:3px}span.cke_dialog_ui_button{padding:0 10px;cursor:pointer}a.cke_dialog_ui_button:hover{background:#fff}a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border:2px solid #139ff7;outline:0;padding:3px 0}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;font-weight:bold;padding:0 12px}a.cke_dialog_ui_button_ok{color:#fff;background:#09863e;border:1px solid #09863e}.cke_hc a.cke_dialog_ui_button{border:3px solid #bcbcbc}a.cke_dialog_ui_button_ok:hover{background:#53aa78;border-color:#53aa78}a.cke_dialog_ui_button_ok:focus{box-shadow:inset 0 0 0 2px #FFF}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#139ff7}.cke_hc a.cke_dialog_ui_button_ok:hover,.cke_hc a.cke_dialog_ui_button_ok:focus,.cke_hc a.cke_dialog_ui_button_ok:active{border-color:#484848}a.cke_dialog_ui_button_ok.cke_disabled{background:#d1d1d1;border-color:#d1d1d1;cursor:default}a.cke_dialog_ui_button_ok.cke_disabled span{cursor:default}.cke_dialog_footer_buttons{display:inline-table;margin:5px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:28px;line-height:28px;background-color:#fff;border:1px solid #bcbcbc;padding:3px 3px 3px 6px;outline:0;border-radius:2px;margin:0 1px;box-sizing:border-box;width:calc(100% - 2px)!important}.cke_dialog_ui_input_file{width:100%;height:25px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog_ui_labeled_label{margin-left:1px}.cke_dialog .cke_dark_background{background-color:transparent}.cke_dialog .cke_light_background{background-color:#ebebeb}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked,.cke_dialog a.cke_btn_reset{margin:2px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_hidpi .cke_dialog a.cke_btn_unlocked,.cke_hidpi .cke_dialog a.cke_btn_locked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_over,.cke_dialog a.cke_btn_locked:hover,.cke_dialog a.cke_btn_locked:focus,.cke_dialog a.cke_btn_locked:active,.cke_dialog a.cke_btn_unlocked:hover,.cke_dialog a.cke_btn_unlocked:focus,.cke_dialog a.cke_btn_unlocked:active,.cke_dialog a.cke_btn_reset:hover,.cke_dialog a.cke_btn_reset:focus,.cke_dialog a.cke_btn_reset:active{cursor:pointer;outline:0;margin:0;border:2px solid #139ff7}.cke_dialog fieldset{border:1px solid #bcbcbc}.cke_dialog fieldset legend{padding:0 6px}.cke_dialog_ui_checkbox,.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox{display:inline-block}.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox{padding-top:5px}.cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input,.cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input+label,.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input,.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input+label{vertical-align:middle}.cke_dialog .ImagePreviewBox{border:1px ridge #bcbcbc;overflow:scroll;height:200px;width:300px;padding:2px;background-color:white}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity = 90);background-color:#e4e4e4}.cke_dialog .FlashPreviewBox{white-space:normal;border:1px solid #bcbcbc;overflow:auto;height:160px;width:390px;padding:2px;background-color:white}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;border-radius:3px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline;cursor:default;letter-spacing:.3px}.cke_dialog_body label+.cke_dialog_ui_labeled_content{margin-top:2px}.cke_dialog_contents_body .cke_dialog_ui_text,.cke_dialog_contents_body .cke_dialog_ui_select,.cke_dialog_contents_body .cke_dialog_ui_hbox_last>a.cke_dialog_ui_button{margin-top:4px}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{border:2px solid transparent}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#888}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#139ff7}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity = 0);width:100%;height:100%}.cke_dialog_contents_body .cke_accessibility_legend{margin:2px 7px 2px 2px}.cke_dialog_contents_body .cke_accessibility_legend:focus,.cke_dialog_contents_body .cke_accessibility_legend:active{outline:0;border:2px solid #139ff7;margin:0 5px 0 0}.cke_dialog_contents_body input[type=file]:focus,.cke_dialog_contents_body input[type=file]:active{border:2px solid #139ff7}.cke_dialog_find_fieldset{margin-top:10px!important}.cke_dialog_image_ratiolock{margin-top:52px!important}.cke_dialog_forms_select_order label.cke_dialog_ui_labeled_label{margin-left:0}.cke_dialog_forms_select_order div.cke_dialog_ui_input_select{width:100%}.cke_dialog_forms_select_order_txtsize .cke_dialog_ui_hbox_last{padding-top:4px}.cke_dialog_image_url .cke_dialog_ui_hbox_last,.cke_dialog_flash_url .cke_dialog_ui_hbox_last{vertical-align:bottom}a.cke_dialog_ui_button.cke_dialog_image_browse{margin-top:10px}.cke_dialog_contents_body .cke_tpl_list{border:#bcbcbc 1px solid;margin:1px}.cke_dialog_contents_body .cke_tpl_list:focus,.cke_dialog_contents_body .cke_tpl_list:active{outline:0;margin:0;border:2px solid #139ff7}.cke_dialog_contents_body .cke_tpl_list a:focus,.cke_dialog_contents_body .cke_tpl_list a:active{outline:0}.cke_dialog_contents_body .cke_tpl_list a:focus .cke_tpl_item,.cke_dialog_contents_body .cke_tpl_list a:active .cke_tpl_item{border:2px solid #139ff7;padding:6px}.cke_rtl input.cke_dialog_ui_input_text,.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px}.cke_rtl div.cke_dialog_ui_input_text,.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px}.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px}.cke_rtl .cke_dialog_ui_vbox_child,.cke_rtl .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important}.cke_hc .cke_dialog_title,.cke_hc .cke_dialog_footer,.cke_hc a.cke_dialog_tab,.cke_hc a.cke_dialog_ui_button,.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button_ok,.cke_hc a.cke_dialog_ui_button_ok:hover{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:0}a.cke_dialog_ui_button{min-height:18px}input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{min-height:18px}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus{padding-top:4px;padding-bottom:2px}select.cke_dialog_ui_input_select{width:100%!important}select.cke_dialog_ui_input_select:focus{margin-left:1px;width:100%!important;padding-top:2px;padding-bottom:2px} \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog_ie8.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_gecko.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_gecko.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_gecko.css (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #d1d1d1;padding:0}.cke_inner{display:block;background:#fff;padding:0;-webkit-touch-callout:none}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #d1d1d1;background:#f8f8f8;padding:6px 8px 2px;white-space:normal}.cke_float .cke_top{border:1px solid #d1d1d1}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #d1d1d1;background:#f8f8f8}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #bcbcbc transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #bcbcbc;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #d1d1d1}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_block:focus{outline:0}.cke_panel_list{margin:0;padding:0;list-style-type:none;white-space:nowrap}.cke_panel_listItem{margin:0;padding:0}.cke_panel_listItem a{padding:6px 7px;display:block;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis}.cke_hc .cke_panel_listItem a{border-style:none}.cke_panel_listItem.cke_selected a,.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{background-color:#e9e9e9}.cke_panel_listItem a:focus{outline:1px dotted #000}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:4px 5px}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:6px 6px 7px 6px;color:#484848;border-bottom:1px solid #d1d1d1;background:#f8f8f8}.cke_colorblock{padding:10px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}a.cke_colorbox{padding:2px;float:left;width:20px;height:20px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{outline:0;padding:0;border:2px solid #139ff7}a:hover.cke_colorbox{border-color:#bcbcbc}span.cke_colorbox{width:20px;height:20px;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:3px;display:block;cursor:pointer}a.cke_colorauto{padding:0;border:1px solid transparent;margin-bottom:6px;height:26px;line-height:26px}a.cke_colormore{margin-top:10px;height:20px;line-height:19px}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{outline:0;border:#139ff7 1px solid;background-color:#f8f8f8}a:hover.cke_colorauto,a:hover.cke_colormore{border-color:#bcbcbc}.cke_colorauto span.cke_colorbox{width:18px;height:18px;border:1px solid #808080;margin-left:1px;margin-top:3px}.cke_rtl .cke_colorauto span.cke_colorbox{margin-left:0;margin-right:1px}span.cke_colorbox[style*="#ffffff"],span.cke_colorbox[style*="#FFFFFF"],span.cke_colorbox[style="background-color:#fff"],span.cke_colorbox[style="background-color:#FFF"],span.cke_colorbox[style*="rgb(255,255,255)"],span.cke_colorbox[style*="rgb(255, 255, 255)"]{border:1px solid #808080;width:18px;height:18px}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{border:0;float:left;margin:1px 2px 6px 0;padding-right:3px}.cke_rtl .cke_toolgroup{float:right;margin:1px 0 6px 2px;padding-left:3px;padding-right:0}.cke_hc .cke_toolgroup{margin-right:5px;margin-bottom:5px}.cke_hc.cke_rtl .cke_toolgroup{margin-right:0;margin-left:5px}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0;position:relative}.cke_rtl a.cke_button{float:right}.cke_hc a.cke_button{border:1px solid black;padding:3px 5px;margin:0 3px 5px 0}.cke_hc.cke_rtl a.cke_button{margin:0 0 5px 3px}a.cke_button_on{background:#fff;border:1px #bcbcbc solid;padding:3px 5px}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active{background:#e5e5e5;border:1px #bcbcbc solid;padding:3px 5px}.cke_hc a.cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active{background:#e5e5e5;border:3px solid #000;padding:1px 3px}a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{border:0;padding:4px 6px;background-color:transparent}a.cke_button_disabled:focus{border:1px #bcbcbc solid;padding:3px 5px}.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border:1px solid #acacac;padding:3px 5px;margin:0 3px 5px 0}.cke_hc a.cke_button_disabled:focus{border:3px solid #000;padding:1px 3px}.cke_hc.cke_rtl a.cke_button_disabled:hover,.cke_hc.cke_rtl a.cke_button_disabled:focus,.cke_hc.cke_rtl a.cke_button_disabled:active{margin:0 0 5px 3px}a.cke_button_disabled .cke_button_icon,a.cke_button_disabled .cke_button_arrow{opacity:.3}.cke_hc a.cke_button_disabled{border-color:#acacac}.cke_hc a.cke_button_disabled .cke_button_icon,.cke_hc a.cke_button_disabled .cke_button_label{opacity:.5}.cke_toolgroup a.cke_button:last-child:after,.cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{content:"";position:absolute;height:18px;width:0;border-right:1px solid #bcbcbc;margin-top:4px;top:0;right:-3px}.cke_rtl .cke_toolgroup a.cke_button:last-child:after,.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{border-right:0;right:auto;border-left:1px solid #bcbcbc;top:0;left:-3px}.cke_hc .cke_toolgroup a.cke_button:last-child:after,.cke_hc .cke_toolgroup a.cke_button.cke_button_disabled:last-child:after,.cke_hc .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{border-color:#000;top:0;right:-7px}.cke_hc.cke_rtl .cke_toolgroup a.cke_button:last-child:after,.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:last-child:after,.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{top:0;right:auto;left:-7px}.cke_toolgroup a.cke_button:hover:last-child:after,.cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-1px;right:-4px}.cke_rtl .cke_toolgroup a.cke_button:hover:last-child:after,.cke_rtl .cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-1px;right:auto;left:-4px}.cke_hc .cke_toolgroup a.cke_button:hover:last-child:after,.cke_hc .cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-2px;right:-9px}.cke_hc.cke_rtl .cke_toolgroup a.cke_button:hover:last-child:after,.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-2px;right:auto;left:-9px}.cke_toolbar.cke_toolbar_last .cke_toolgroup a.cke_button:last-child:after{content:none;border:0;width:0;height:0}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#484848}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #484848}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px 0 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#bcbcbc;margin:4px 2px 0 2px;height:18px;width:1px}.cke_rtl .cke_toolbar_separator{float:right}.cke_hc .cke_toolbar_separator{background-color:#000;margin-left:2px;margin-right:5px;margin-bottom:9px}.cke_hc.cke_rtl .cke_toolbar_separator{margin-left:5px;margin-right:2px}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #bcbcbc}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser:hover{background:#e5e5e5}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border:3px solid transparent;border-bottom-color:#484848}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#484848}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0}.cke_menuitem span{cursor:default}.cke_menubutton{display:block}.cke_hc .cke_menubutton{padding:2px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#e9e9e9;display:block;outline:1px dotted}.cke_menubutton:hover{outline:0}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_disabled:hover,.cke_menubutton_disabled:focus,.cke_menubutton_disabled:active{background-color:transparent;outline:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#f8f8f8;padding:6px 4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#e9e9e9}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{background-color:#f8f8f8;outline:0}.cke_menuitem .cke_menubutton_on{background-color:#e9e9e9;border:1px solid #dedede;outline:0}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px;background-color:#e9e9e9}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_shortcut{color:#979797}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d1d1d1;height:1px}.cke_menuarrow{background:transparent url(images/arrow.png) no-repeat 0 10px;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow{background-image:none}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left;position:relative;margin-bottom:5px}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:1px;margin-bottom:10px}.cke_combo:after{content:"";position:absolute;height:18px;width:0;border-right:1px solid #bcbcbc;margin-top:5px;top:0;right:0}.cke_rtl .cke_combo:after{border-right:0;border-left:1px solid #bcbcbc;right:auto;left:0}.cke_hc .cke_combo:after{border-color:#000}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0;padding:1px}.cke_rtl a.cke_combo_button{float:right}.cke_hc a.cke_combo_button{padding:4px}.cke_combo_on a.cke_combo_button,.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus,.cke_combo_off a.cke_combo_button:active{background:#e5e5e5;border:1px solid #bcbcbc;padding:0 0 0 1px;margin-left:-1px}.cke_combo_off a.cke_combo_button:focus{outline:0}.cke_combo_on a.cke_combo_button,.cke_combo_off a.cke_combo_button:active{background:#fff}.cke_rtl .cke_combo_on a.cke_combo_button,.cke_rtl .cke_combo_off a.cke_combo_button:hover,.cke_rtl .cke_combo_off a.cke_combo_button:focus,.cke_rtl .cke_combo_off a.cke_combo_button:active{padding:0 1px 0 0;margin-left:0;margin-right:-1px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border:3px solid #000;padding:1px 1px 1px 2px}.cke_hc.cke_rtl .cke_combo_on a.cke_combo_button,.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:hover,.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:focus,.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:active{padding:1px 2px 1px 1px}.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:0 0 0 3px;margin-left:-3px}.cke_rtl .cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_rtl .cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_rtl .cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_rtl .cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:0 3px 0 0;margin-left:0;margin-right:-3px}.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:1px 1px 1px 7px;margin-left:-6px}.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:1px 7px 1px 1px;margin-left:0;margin-right:-6px}.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:0;margin:0}.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:1px;margin:0}.cke_toolbar .cke_combo+.cke_toolbar_end,.cke_toolbar .cke_combo+.cke_toolgroup{margin-right:0;margin-left:2px}.cke_rtl .cke_toolbar .cke_combo+.cke_toolbar_end,.cke_rtl .cke_toolbar .cke_combo+.cke_toolgroup{margin-left:0;margin-right:2px}.cke_hc .cke_toolbar .cke_combo+.cke_toolbar_end,.cke_hc .cke_toolbar .cke_combo+.cke_toolgroup{margin-left:5px}.cke_hc.cke_rtl .cke_toolbar .cke_combo+.cke_toolbar_end,.cke_hc.cke_rtl .cke_toolbar .cke_combo+.cke_toolgroup{margin-left:0;margin-right:5px}.cke_toolbar.cke_toolbar_last .cke_combo:nth-last-child(-n+2):after{content:none;border:0;width:0;height:0}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#484848;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 10px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #484848}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#484848;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#e5e5e5}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combopanel__fontsize{width:135px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;text-align:center;opacity:.95;filter:alpha(opacity = 95);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}.cke_bottom{padding-bottom:3px}.cke_combo_text{margin-bottom:-1px;margin-top:1px}.cke_button__about_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -144px !important;}.cke_button__bidiltr_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -168px !important;}.cke_button__bidirtl_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -192px !important;}.cke_button__blockquote_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -216px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -240px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -264px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -288px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -312px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -336px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -360px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -384px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -408px !important;}.cke_rtl .cke_button__templates_icon, .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -432px !important;}.cke_ltr .cke_button__templates_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -456px !important;}.cke_button__copyformatting_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -480px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -504px !important;}.cke_rtl .cke_button__find_icon, .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -528px !important;}.cke_ltr .cke_button__find_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -552px !important;}.cke_button__replace_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -576px !important;}.cke_button__flash_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -600px !important;}.cke_button__button_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -624px !important;}.cke_button__checkbox_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -648px !important;}.cke_button__form_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -672px !important;}.cke_button__hiddenfield_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -696px !important;}.cke_button__imagebutton_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -720px !important;}.cke_button__radio_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -744px !important;}.cke_rtl .cke_button__select_icon, .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -768px !important;}.cke_ltr .cke_button__select_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -792px !important;}.cke_rtl .cke_button__textarea_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -816px !important;}.cke_ltr .cke_button__textarea_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -840px !important;}.cke_rtl .cke_button__textfield_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -864px !important;}.cke_ltr .cke_button__textfield_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -888px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -912px !important;}.cke_button__iframe_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -936px !important;}.cke_button__image_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -960px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -984px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1008px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1032px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1056px !important;}.cke_button__smiley_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1080px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1104px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1128px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1152px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1176px !important;}.cke_button__language_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1200px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1224px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1248px !important;}.cke_button__link_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1272px !important;}.cke_button__unlink_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1296px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1320px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1344px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1368px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1392px !important;}.cke_button__maximize_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1416px !important;}.cke_rtl .cke_button__newpage_icon, .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1440px !important;}.cke_ltr .cke_button__newpage_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1464px !important;}.cke_rtl .cke_button__pagebreak_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1488px !important;}.cke_ltr .cke_button__pagebreak_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1512px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1536px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1560px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1584px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1608px !important;}.cke_rtl .cke_button__preview_icon, .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1632px !important;}.cke_ltr .cke_button__preview_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1656px !important;}.cke_button__print_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1680px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1704px !important;}.cke_button__save_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1728px !important;}.cke_button__selectall_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1752px !important;}.cke_rtl .cke_button__showblocks_icon, .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1776px !important;}.cke_ltr .cke_button__showblocks_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1800px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1824px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1848px !important;}.cke_button__specialchar_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1872px !important;}.cke_button__scayt_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1896px !important;}.cke_button__table_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1920px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1944px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1968px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1992px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -2016px !important;}.cke_button__spellchecker_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -2040px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidiltr_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidirtl_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__templates_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__templates_icon,.cke_ltr.cke_hidpi .cke_button__templates_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_hidpi .cke_button__copyformatting_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__find_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__find_icon,.cke_ltr.cke_hidpi .cke_button__find_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_hidpi .cke_button__replace_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_button__flash_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_hidpi .cke_button__button_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_button__checkbox_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__form_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_hidpi .cke_button__hiddenfield_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_button__imagebutton_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_hidpi .cke_button__radio_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__select_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__select_icon,.cke_ltr.cke_hidpi .cke_button__select_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textarea_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textarea_icon,.cke_ltr.cke_hidpi .cke_button__textarea_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textfield_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textfield_icon,.cke_ltr.cke_hidpi .cke_button__textfield_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1032px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1056px !important;background-size: 16px !important;}.cke_hidpi .cke_button__smiley_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1080px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1104px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1128px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1152px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1176px !important;background-size: 16px !important;}.cke_hidpi .cke_button__language_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1200px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1224px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1248px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1272px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1296px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1320px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1344px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1368px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1392px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1416px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__newpage_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1440px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__newpage_icon,.cke_ltr.cke_hidpi .cke_button__newpage_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1464px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pagebreak_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1488px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pagebreak_icon,.cke_ltr.cke_hidpi .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1512px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1536px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1560px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1584px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1608px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__preview_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1632px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__preview_icon,.cke_ltr.cke_hidpi .cke_button__preview_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1656px !important;background-size: 16px !important;}.cke_hidpi .cke_button__print_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1680px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1704px !important;background-size: 16px !important;}.cke_hidpi .cke_button__save_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1728px !important;background-size: 16px !important;}.cke_hidpi .cke_button__selectall_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1752px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__showblocks_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1776px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__showblocks_icon,.cke_ltr.cke_hidpi .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1800px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1824px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1848px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1872px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1896px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1920px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1944px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1968px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1992px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -2016px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -2040px !important;background-size: 16px !important;} \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_gecko.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog.css (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#fff}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:12px;cursor:move;position:relative;color:#484848;border-bottom:1px solid #d1d1d1;padding:12px 19px 12px 12px;background:#f8f8f8;letter-spacing:.3px}.cke_dialog_spinner{border-radius:50%;width:12px;height:12px;overflow:hidden;text-indent:-9999em;border:2px solid rgba(102,102,102,0.2);border-left-color:rgba(102,102,102,1);-webkit-animation:dialog_spinner 1s infinite linear;animation:dialog_spinner 1s infinite linear}.cke_browser_ie8 .cke_dialog_spinner,.cke_browser_ie9 .cke_dialog_spinner{background:url(images/spinner.gif) center top no-repeat;width:16px;height:16px;border:0}@-webkit-keyframes dialog_spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes dialog_spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:43px;border-top:1px solid #d1d1d1}.cke_dialog_contents_body{overflow:auto;padding:9px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border-top:1px solid #d1d1d1;background:#f8f8f8}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:22px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:33px;display:inline-block;margin:9px 0 0;position:absolute;z-index:2;left:11px}.cke_rtl .cke_dialog_tabs{left:auto;right:11px}a.cke_dialog_tab{height:25px;padding:4px 8px;display:inline-block;cursor:pointer;line-height:26px;outline:0;color:#484848;border:1px solid #d1d1d1;border-radius:3px 3px 0 0;background:#f8f8f8;min-width:90px;text-align:center;margin-left:-1px;letter-spacing:.3px}a.cke_dialog_tab:hover{background-color:#fff}a.cke_dialog_tab:focus{border:2px solid #139ff7;border-bottom-color:#d1d1d1;padding:3px 7px;position:relative;z-index:1}a.cke_dialog_tab_selected{background:#fff;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover,a.cke_dialog_tab_selected:focus{border-bottom-color:#fff}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab:focus,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}a.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:16px;width:16px;top:11px;z-index:5;opacity:.7;filter:alpha(opacity = 70)}.cke_rtl .cke_dialog_close_button{left:12px}.cke_ltr .cke_dialog_close_button{right:12px}.cke_hc a.cke_dialog_close_button{background-image:none}.cke_hidpi a.cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}a.cke_dialog_close_button:hover{opacity:1;filter:alpha(opacity = 100)}a.cke_dialog_close_button span{display:none}.cke_hc a.cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%;margin-top:12px}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;border:1px solid #bcbcbc;padding:4px 6px;outline:0;width:100%;*width:95%;box-sizing:border-box;border-radius:2px;min-height:28px;margin-left:1px}input.cke_dialog_ui_input_text:hover,input.cke_dialog_ui_input_password:hover,textarea.cke_dialog_ui_input_textarea:hover{border:1px solid #aeb3b9}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus,select.cke_dialog_ui_input_select:focus{outline:0;border:2px solid #139ff7}input.cke_dialog_ui_input_text:focus{padding-left:5px}textarea.cke_dialog_ui_input_textarea:focus{padding:3px 5px}select.cke_dialog_ui_input_select:focus{margin:0;width:100%!important}input.cke_dialog_ui_checkbox_input,input.cke_dialog_ui_radio_input{margin-left:1px;margin-right:2px}input.cke_dialog_ui_checkbox_input:focus,input.cke_dialog_ui_checkbox_input:active,input.cke_dialog_ui_radio_input:focus,input.cke_dialog_ui_radio_input:active{border:0;outline:2px solid #139ff7}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:4px 1px;margin:0;text-align:center;color:#484848;vertical-align:middle;cursor:pointer;border:1px solid #bcbcbc;border-radius:2px;background:#f8f8f8;letter-spacing:.3px;line-height:18px;box-sizing:border-box}.cke_hc a.cke_dialog_ui_button{border-width:3px}span.cke_dialog_ui_button{padding:0 10px;cursor:pointer}a.cke_dialog_ui_button:hover{background:#fff}a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border:2px solid #139ff7;outline:0;padding:3px 0}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;font-weight:bold;padding:0 12px}a.cke_dialog_ui_button_ok{color:#fff;background:#09863e;border:1px solid #09863e}.cke_hc a.cke_dialog_ui_button{border:3px solid #bcbcbc}a.cke_dialog_ui_button_ok:hover{background:#53aa78;border-color:#53aa78}a.cke_dialog_ui_button_ok:focus{box-shadow:inset 0 0 0 2px #FFF}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#139ff7}.cke_hc a.cke_dialog_ui_button_ok:hover,.cke_hc a.cke_dialog_ui_button_ok:focus,.cke_hc a.cke_dialog_ui_button_ok:active{border-color:#484848}a.cke_dialog_ui_button_ok.cke_disabled{background:#d1d1d1;border-color:#d1d1d1;cursor:default}a.cke_dialog_ui_button_ok.cke_disabled span{cursor:default}.cke_dialog_footer_buttons{display:inline-table;margin:5px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:28px;line-height:28px;background-color:#fff;border:1px solid #bcbcbc;padding:3px 3px 3px 6px;outline:0;border-radius:2px;margin:0 1px;box-sizing:border-box;width:calc(100% - 2px)!important}.cke_dialog_ui_input_file{width:100%;height:25px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog_ui_labeled_label{margin-left:1px}.cke_dialog .cke_dark_background{background-color:transparent}.cke_dialog .cke_light_background{background-color:#ebebeb}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked,.cke_dialog a.cke_btn_reset{margin:2px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_hidpi .cke_dialog a.cke_btn_unlocked,.cke_hidpi .cke_dialog a.cke_btn_locked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_over,.cke_dialog a.cke_btn_locked:hover,.cke_dialog a.cke_btn_locked:focus,.cke_dialog a.cke_btn_locked:active,.cke_dialog a.cke_btn_unlocked:hover,.cke_dialog a.cke_btn_unlocked:focus,.cke_dialog a.cke_btn_unlocked:active,.cke_dialog a.cke_btn_reset:hover,.cke_dialog a.cke_btn_reset:focus,.cke_dialog a.cke_btn_reset:active{cursor:pointer;outline:0;margin:0;border:2px solid #139ff7}.cke_dialog fieldset{border:1px solid #bcbcbc}.cke_dialog fieldset legend{padding:0 6px}.cke_dialog_ui_checkbox,.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox{display:inline-block}.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox{padding-top:5px}.cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input,.cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input+label,.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input,.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input+label{vertical-align:middle}.cke_dialog .ImagePreviewBox{border:1px ridge #bcbcbc;overflow:scroll;height:200px;width:300px;padding:2px;background-color:white}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity = 90);background-color:#e4e4e4}.cke_dialog .FlashPreviewBox{white-space:normal;border:1px solid #bcbcbc;overflow:auto;height:160px;width:390px;padding:2px;background-color:white}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;border-radius:3px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline;cursor:default;letter-spacing:.3px}.cke_dialog_body label+.cke_dialog_ui_labeled_content{margin-top:2px}.cke_dialog_contents_body .cke_dialog_ui_text,.cke_dialog_contents_body .cke_dialog_ui_select,.cke_dialog_contents_body .cke_dialog_ui_hbox_last>a.cke_dialog_ui_button{margin-top:4px}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{border:2px solid transparent}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#888}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#139ff7}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity = 0);width:100%;height:100%}.cke_dialog_contents_body .cke_accessibility_legend{margin:2px 7px 2px 2px}.cke_dialog_contents_body .cke_accessibility_legend:focus,.cke_dialog_contents_body .cke_accessibility_legend:active{outline:0;border:2px solid #139ff7;margin:0 5px 0 0}.cke_dialog_contents_body input[type=file]:focus,.cke_dialog_contents_body input[type=file]:active{border:2px solid #139ff7}.cke_dialog_find_fieldset{margin-top:10px!important}.cke_dialog_image_ratiolock{margin-top:52px!important}.cke_dialog_forms_select_order label.cke_dialog_ui_labeled_label{margin-left:0}.cke_dialog_forms_select_order div.cke_dialog_ui_input_select{width:100%}.cke_dialog_forms_select_order_txtsize .cke_dialog_ui_hbox_last{padding-top:4px}.cke_dialog_image_url .cke_dialog_ui_hbox_last,.cke_dialog_flash_url .cke_dialog_ui_hbox_last{vertical-align:bottom}a.cke_dialog_ui_button.cke_dialog_image_browse{margin-top:10px}.cke_dialog_contents_body .cke_tpl_list{border:#bcbcbc 1px solid;margin:1px}.cke_dialog_contents_body .cke_tpl_list:focus,.cke_dialog_contents_body .cke_tpl_list:active{outline:0;margin:0;border:2px solid #139ff7}.cke_dialog_contents_body .cke_tpl_list a:focus,.cke_dialog_contents_body .cke_tpl_list a:active{outline:0}.cke_dialog_contents_body .cke_tpl_list a:focus .cke_tpl_item,.cke_dialog_contents_body .cke_tpl_list a:active .cke_tpl_item{border:2px solid #139ff7;padding:6px} \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog_iequirks.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog_iequirks.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog_iequirks.css (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +.cke_dialog{visibility:visible}.cke_dialog_body{z-index:1;background:#fff}.cke_dialog strong{font-weight:bold}.cke_dialog_title{font-weight:bold;font-size:12px;cursor:move;position:relative;color:#484848;border-bottom:1px solid #d1d1d1;padding:12px 19px 12px 12px;background:#f8f8f8;letter-spacing:.3px}.cke_dialog_spinner{border-radius:50%;width:12px;height:12px;overflow:hidden;text-indent:-9999em;border:2px solid rgba(102,102,102,0.2);border-left-color:rgba(102,102,102,1);-webkit-animation:dialog_spinner 1s infinite linear;animation:dialog_spinner 1s infinite linear}.cke_browser_ie8 .cke_dialog_spinner,.cke_browser_ie9 .cke_dialog_spinner{background:url(images/spinner.gif) center top no-repeat;width:16px;height:16px;border:0}@-webkit-keyframes dialog_spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes dialog_spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.cke_dialog_contents{background-color:#fff;overflow:auto;padding:15px 10px 5px 10px;margin-top:43px;border-top:1px solid #d1d1d1}.cke_dialog_contents_body{overflow:auto;padding:9px 10px 5px 10px;margin-top:22px}.cke_dialog_footer{text-align:right;position:relative;border-top:1px solid #d1d1d1;background:#f8f8f8}.cke_rtl .cke_dialog_footer{text-align:left}.cke_hc .cke_dialog_footer{outline:0;border-top:1px solid #fff}.cke_dialog .cke_resizer{margin-top:22px}.cke_dialog .cke_resizer_rtl{margin-left:5px}.cke_dialog .cke_resizer_ltr{margin-right:5px}.cke_dialog_tabs{height:33px;display:inline-block;margin:9px 0 0;position:absolute;z-index:2;left:11px}.cke_rtl .cke_dialog_tabs{left:auto;right:11px}a.cke_dialog_tab{height:25px;padding:4px 8px;display:inline-block;cursor:pointer;line-height:26px;outline:0;color:#484848;border:1px solid #d1d1d1;border-radius:3px 3px 0 0;background:#f8f8f8;min-width:90px;text-align:center;margin-left:-1px;letter-spacing:.3px}a.cke_dialog_tab:hover{background-color:#fff}a.cke_dialog_tab:focus{border:2px solid #139ff7;border-bottom-color:#d1d1d1;padding:3px 7px;position:relative;z-index:1}a.cke_dialog_tab_selected{background:#fff;border-bottom-color:#fff;cursor:default;filter:none}a.cke_dialog_tab_selected:hover,a.cke_dialog_tab_selected:focus{border-bottom-color:#fff}.cke_hc a.cke_dialog_tab:hover,.cke_hc a.cke_dialog_tab:focus,.cke_hc a.cke_dialog_tab_selected{border:3px solid;padding:2px 6px}a.cke_dialog_tab_disabled{color:#bababa;cursor:default}.cke_single_page .cke_dialog_tabs{display:none}.cke_single_page .cke_dialog_contents{padding-top:5px;margin-top:0;border-top:0}a.cke_dialog_close_button{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:16px;width:16px;top:11px;z-index:5;opacity:.7;filter:alpha(opacity = 70)}.cke_rtl .cke_dialog_close_button{left:12px}.cke_ltr .cke_dialog_close_button{right:12px}.cke_hc a.cke_dialog_close_button{background-image:none}.cke_hidpi a.cke_dialog_close_button{background-image:url(images/hidpi/close.png);background-size:16px}a.cke_dialog_close_button:hover{opacity:1;filter:alpha(opacity = 100)}a.cke_dialog_close_button span{display:none}.cke_hc a.cke_dialog_close_button span{display:inline;cursor:pointer;font-weight:bold;position:relative;top:3px}div.cke_disabled .cke_dialog_ui_labeled_content div *{background-color:#ddd;cursor:default}.cke_dialog_ui_vbox table,.cke_dialog_ui_hbox table{margin:auto}.cke_dialog_ui_vbox_child{padding:5px 0}.cke_dialog_ui_hbox{width:100%;margin-top:12px}.cke_dialog_ui_hbox_first,.cke_dialog_ui_hbox_child,.cke_dialog_ui_hbox_last{vertical-align:top}.cke_ltr .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_ui_hbox_child{padding-right:10px}.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_child{padding-left:10px}.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_ltr .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-right:5px}.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_footer_buttons .cke_dialog_ui_hbox_child{padding-left:5px;padding-right:0}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:1px solid}textarea.cke_dialog_ui_input_textarea{overflow:auto;resize:none}input.cke_dialog_ui_input_text,input.cke_dialog_ui_input_password,textarea.cke_dialog_ui_input_textarea{background-color:#fff;border:1px solid #bcbcbc;padding:4px 6px;outline:0;width:100%;*width:95%;box-sizing:border-box;border-radius:2px;min-height:28px;margin-left:1px}input.cke_dialog_ui_input_text:hover,input.cke_dialog_ui_input_password:hover,textarea.cke_dialog_ui_input_textarea:hover{border:1px solid #aeb3b9}input.cke_dialog_ui_input_text:focus,input.cke_dialog_ui_input_password:focus,textarea.cke_dialog_ui_input_textarea:focus,select.cke_dialog_ui_input_select:focus{outline:0;border:2px solid #139ff7}input.cke_dialog_ui_input_text:focus{padding-left:5px}textarea.cke_dialog_ui_input_textarea:focus{padding:3px 5px}select.cke_dialog_ui_input_select:focus{margin:0;width:100%!important}input.cke_dialog_ui_checkbox_input,input.cke_dialog_ui_radio_input{margin-left:1px;margin-right:2px}input.cke_dialog_ui_checkbox_input:focus,input.cke_dialog_ui_checkbox_input:active,input.cke_dialog_ui_radio_input:focus,input.cke_dialog_ui_radio_input:active{border:0;outline:2px solid #139ff7}a.cke_dialog_ui_button{display:inline-block;*display:inline;*zoom:1;padding:4px 1px;margin:0;text-align:center;color:#484848;vertical-align:middle;cursor:pointer;border:1px solid #bcbcbc;border-radius:2px;background:#f8f8f8;letter-spacing:.3px;line-height:18px;box-sizing:border-box}.cke_hc a.cke_dialog_ui_button{border-width:3px}span.cke_dialog_ui_button{padding:0 10px;cursor:pointer}a.cke_dialog_ui_button:hover{background:#fff}a.cke_dialog_ui_button:focus,a.cke_dialog_ui_button:active{border:2px solid #139ff7;outline:0;padding:3px 0}.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button:focus,.cke_hc a.cke_dialog_ui_button:active{border:3px solid}.cke_dialog_footer_buttons a.cke_dialog_ui_button span{color:inherit;font-size:12px;font-weight:bold;padding:0 12px}a.cke_dialog_ui_button_ok{color:#fff;background:#09863e;border:1px solid #09863e}.cke_hc a.cke_dialog_ui_button{border:3px solid #bcbcbc}a.cke_dialog_ui_button_ok:hover{background:#53aa78;border-color:#53aa78}a.cke_dialog_ui_button_ok:focus{box-shadow:inset 0 0 0 2px #FFF}a.cke_dialog_ui_button_ok:focus,a.cke_dialog_ui_button_ok:active{border-color:#139ff7}.cke_hc a.cke_dialog_ui_button_ok:hover,.cke_hc a.cke_dialog_ui_button_ok:focus,.cke_hc a.cke_dialog_ui_button_ok:active{border-color:#484848}a.cke_dialog_ui_button_ok.cke_disabled{background:#d1d1d1;border-color:#d1d1d1;cursor:default}a.cke_dialog_ui_button_ok.cke_disabled span{cursor:default}.cke_dialog_footer_buttons{display:inline-table;margin:5px;width:auto;position:relative;vertical-align:middle}div.cke_dialog_ui_input_select{display:table}select.cke_dialog_ui_input_select{height:28px;line-height:28px;background-color:#fff;border:1px solid #bcbcbc;padding:3px 3px 3px 6px;outline:0;border-radius:2px;margin:0 1px;box-sizing:border-box;width:calc(100% - 2px)!important}.cke_dialog_ui_input_file{width:100%;height:25px}.cke_hc .cke_dialog_ui_labeled_content input:focus,.cke_hc .cke_dialog_ui_labeled_content select:focus,.cke_hc .cke_dialog_ui_labeled_content textarea:focus{outline:1px dotted}.cke_dialog_ui_labeled_label{margin-left:1px}.cke_dialog .cke_dark_background{background-color:transparent}.cke_dialog .cke_light_background{background-color:#ebebeb}.cke_dialog .cke_centered{text-align:center}.cke_dialog a.cke_btn_reset{float:right;background:url(images/refresh.png) top left no-repeat;width:16px;height:16px;border:1px none;font-size:1px}.cke_hidpi .cke_dialog a.cke_btn_reset{background-size:16px;background-image:url(images/hidpi/refresh.png)}.cke_rtl .cke_dialog a.cke_btn_reset{float:left}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked{float:left;width:16px;height:16px;background-repeat:no-repeat;border:none 1px;font-size:1px}.cke_dialog a.cke_btn_locked,.cke_dialog a.cke_btn_unlocked,.cke_dialog a.cke_btn_reset{margin:2px}.cke_dialog a.cke_btn_locked{background-image:url(images/lock.png)}.cke_dialog a.cke_btn_unlocked{background-image:url(images/lock-open.png)}.cke_rtl .cke_dialog a.cke_btn_locked,.cke_rtl .cke_dialog a.cke_btn_unlocked{float:right}.cke_hidpi .cke_dialog a.cke_btn_unlocked,.cke_hidpi .cke_dialog a.cke_btn_locked{background-size:16px}.cke_hidpi .cke_dialog a.cke_btn_locked{background-image:url(images/hidpi/lock.png)}.cke_hidpi .cke_dialog a.cke_btn_unlocked{background-image:url(images/hidpi/lock-open.png)}.cke_dialog a.cke_btn_locked .cke_icon{display:none}.cke_dialog a.cke_btn_over,.cke_dialog a.cke_btn_locked:hover,.cke_dialog a.cke_btn_locked:focus,.cke_dialog a.cke_btn_locked:active,.cke_dialog a.cke_btn_unlocked:hover,.cke_dialog a.cke_btn_unlocked:focus,.cke_dialog a.cke_btn_unlocked:active,.cke_dialog a.cke_btn_reset:hover,.cke_dialog a.cke_btn_reset:focus,.cke_dialog a.cke_btn_reset:active{cursor:pointer;outline:0;margin:0;border:2px solid #139ff7}.cke_dialog fieldset{border:1px solid #bcbcbc}.cke_dialog fieldset legend{padding:0 6px}.cke_dialog_ui_checkbox,.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox{display:inline-block}.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox{padding-top:5px}.cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input,.cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input+label,.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input,.cke_dialog fieldset .cke_dialog_ui_vbox .cke_dialog_ui_checkbox .cke_dialog_ui_checkbox_input+label{vertical-align:middle}.cke_dialog .ImagePreviewBox{border:1px ridge #bcbcbc;overflow:scroll;height:200px;width:300px;padding:2px;background-color:white}.cke_dialog .ImagePreviewBox table td{white-space:normal}.cke_dialog .ImagePreviewLoader{position:absolute;white-space:normal;overflow:hidden;height:160px;width:230px;margin:2px;padding:2px;opacity:.9;filter:alpha(opacity = 90);background-color:#e4e4e4}.cke_dialog .FlashPreviewBox{white-space:normal;border:1px solid #bcbcbc;overflow:auto;height:160px;width:390px;padding:2px;background-color:white}.cke_dialog .cke_pastetext{width:346px;height:170px}.cke_dialog .cke_pastetext textarea{width:340px;height:170px;resize:none}.cke_dialog iframe.cke_pasteframe{width:346px;height:130px;background-color:white;border:1px solid #aeb3b9;border-radius:3px}.cke_dialog .cke_hand{cursor:pointer}.cke_disabled{color:#a0a0a0}.cke_dialog_body .cke_label{display:none}.cke_dialog_body label{display:inline;cursor:default;letter-spacing:.3px}.cke_dialog_body label+.cke_dialog_ui_labeled_content{margin-top:2px}.cke_dialog_contents_body .cke_dialog_ui_text,.cke_dialog_contents_body .cke_dialog_ui_select,.cke_dialog_contents_body .cke_dialog_ui_hbox_last>a.cke_dialog_ui_button{margin-top:4px}a.cke_smile{overflow:hidden;display:block;text-align:center;padding:.3em 0}a.cke_smile img{vertical-align:middle}a.cke_specialchar{cursor:inherit;display:block;height:1.25em;padding:.2em .3em;text-align:center}a.cke_smile,a.cke_specialchar{border:2px solid transparent}a.cke_smile:hover,a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:hover,a.cke_specialchar:focus,a.cke_specialchar:active{background:#fff;outline:0}a.cke_smile:hover,a.cke_specialchar:hover{border-color:#888}a.cke_smile:focus,a.cke_smile:active,a.cke_specialchar:focus,a.cke_specialchar:active{border-color:#139ff7}.cke_dialog_contents a.colorChooser{display:block;margin-top:6px;margin-left:10px;width:80px}.cke_rtl .cke_dialog_contents a.colorChooser{margin-right:10px}.cke_iframe_shim{display:block;position:absolute;top:0;left:0;z-index:-1;filter:alpha(opacity = 0);width:100%;height:100%}.cke_dialog_contents_body .cke_accessibility_legend{margin:2px 7px 2px 2px}.cke_dialog_contents_body .cke_accessibility_legend:focus,.cke_dialog_contents_body .cke_accessibility_legend:active{outline:0;border:2px solid #139ff7;margin:0 5px 0 0}.cke_dialog_contents_body input[type=file]:focus,.cke_dialog_contents_body input[type=file]:active{border:2px solid #139ff7}.cke_dialog_find_fieldset{margin-top:10px!important}.cke_dialog_image_ratiolock{margin-top:52px!important}.cke_dialog_forms_select_order label.cke_dialog_ui_labeled_label{margin-left:0}.cke_dialog_forms_select_order div.cke_dialog_ui_input_select{width:100%}.cke_dialog_forms_select_order_txtsize .cke_dialog_ui_hbox_last{padding-top:4px}.cke_dialog_image_url .cke_dialog_ui_hbox_last,.cke_dialog_flash_url .cke_dialog_ui_hbox_last{vertical-align:bottom}a.cke_dialog_ui_button.cke_dialog_image_browse{margin-top:10px}.cke_dialog_contents_body .cke_tpl_list{border:#bcbcbc 1px solid;margin:1px}.cke_dialog_contents_body .cke_tpl_list:focus,.cke_dialog_contents_body .cke_tpl_list:active{outline:0;margin:0;border:2px solid #139ff7}.cke_dialog_contents_body .cke_tpl_list a:focus,.cke_dialog_contents_body .cke_tpl_list a:active{outline:0}.cke_dialog_contents_body .cke_tpl_list a:focus .cke_tpl_item,.cke_dialog_contents_body .cke_tpl_list a:active .cke_tpl_item{border:2px solid #139ff7;padding:6px}.cke_rtl input.cke_dialog_ui_input_text,.cke_rtl input.cke_dialog_ui_input_password{padding-right:2px}.cke_rtl div.cke_dialog_ui_input_text,.cke_rtl div.cke_dialog_ui_input_password{padding-left:2px}.cke_rtl div.cke_dialog_ui_input_text{padding-right:1px}.cke_rtl .cke_dialog_ui_vbox_child,.cke_rtl .cke_dialog_ui_hbox_child,.cke_rtl .cke_dialog_ui_hbox_first,.cke_rtl .cke_dialog_ui_hbox_last{padding-right:2px!important}.cke_hc .cke_dialog_title,.cke_hc .cke_dialog_footer,.cke_hc a.cke_dialog_tab,.cke_hc a.cke_dialog_ui_button,.cke_hc a.cke_dialog_ui_button:hover,.cke_hc a.cke_dialog_ui_button_ok,.cke_hc a.cke_dialog_ui_button_ok:hover{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_hc div.cke_dialog_ui_input_text,.cke_hc div.cke_dialog_ui_input_password,.cke_hc div.cke_dialog_ui_input_textarea,.cke_hc div.cke_dialog_ui_input_select,.cke_hc div.cke_dialog_ui_input_file{border:0}.cke_dialog_footer{filter:""} \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/dialog_iequirks.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_ie8.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_ie8.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_ie8.css (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +.cke_reset{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none}.cke_reset_all,.cke_reset_all *,.cke_reset_all a,.cke_reset_all textarea{margin:0;padding:0;border:0;background:transparent;text-decoration:none;width:auto;height:auto;vertical-align:baseline;box-sizing:content-box;position:static;transition:none;border-collapse:collapse;font:normal normal normal 12px Arial,Helvetica,Tahoma,Verdana,Sans-Serif;color:#000;text-align:left;white-space:nowrap;cursor:auto;float:none}.cke_reset_all .cke_rtl *{text-align:right}.cke_reset_all iframe{vertical-align:inherit}.cke_reset_all textarea{white-space:pre-wrap}.cke_reset_all textarea,.cke_reset_all input[type="text"],.cke_reset_all input[type="password"]{cursor:text}.cke_reset_all textarea[disabled],.cke_reset_all input[type="text"][disabled],.cke_reset_all input[type="password"][disabled]{cursor:default}.cke_reset_all fieldset{padding:10px;border:2px groove #e0dfe3}.cke_reset_all select{box-sizing:border-box}.cke_reset_all table{table-layout:auto}.cke_chrome{display:block;border:1px solid #d1d1d1;padding:0}.cke_inner{display:block;background:#fff;padding:0;-webkit-touch-callout:none}.cke_float{border:0}.cke_float .cke_inner{padding-bottom:0}.cke_top,.cke_contents,.cke_bottom{display:block;overflow:hidden}.cke_top{border-bottom:1px solid #d1d1d1;background:#f8f8f8;padding:6px 8px 2px;white-space:normal}.cke_float .cke_top{border:1px solid #d1d1d1}.cke_bottom{padding:6px 8px 2px;position:relative;border-top:1px solid #d1d1d1;background:#f8f8f8}.cke_browser_ios .cke_contents{overflow-y:auto;-webkit-overflow-scrolling:touch}.cke_resizer{width:0;height:0;overflow:hidden;border-width:10px 10px 0 0;border-color:transparent #bcbcbc transparent transparent;border-style:dashed solid dashed dashed;font-size:0;vertical-align:bottom;margin-top:6px;margin-bottom:2px}.cke_hc .cke_resizer{font-size:15px;width:auto;height:auto;border-width:0}.cke_resizer_ltr{cursor:se-resize;float:right;margin-right:-4px}.cke_resizer_rtl{border-width:10px 0 0 10px;border-color:transparent transparent transparent #bcbcbc;border-style:dashed dashed dashed solid;cursor:sw-resize;float:left;margin-left:-4px;right:auto}.cke_wysiwyg_div{display:block;height:100%;overflow:auto;padding:0 8px;outline-style:none;box-sizing:border-box}.cke_panel{visibility:visible;width:120px;height:100px;overflow:hidden;background-color:#fff;border:1px solid #d1d1d1}.cke_menu_panel{padding:0;margin:0}.cke_combopanel{width:150px;height:170px}.cke_panel_frame{width:100%;height:100%;font-size:12px;overflow:auto;overflow-x:hidden}.cke_panel_container{overflow-y:auto;overflow-x:hidden}.cke_panel_block:focus{outline:0}.cke_panel_list{margin:0;padding:0;list-style-type:none;white-space:nowrap}.cke_panel_listItem{margin:0;padding:0}.cke_panel_listItem a{padding:6px 7px;display:block;color:inherit!important;text-decoration:none;overflow:hidden;text-overflow:ellipsis}.cke_hc .cke_panel_listItem a{border-style:none}.cke_panel_listItem.cke_selected a,.cke_panel_listItem a:hover,.cke_panel_listItem a:focus,.cke_panel_listItem a:active{background-color:#e9e9e9}.cke_panel_listItem a:focus{outline:1px dotted #000}.cke_hc .cke_panel_listItem a:hover,.cke_hc .cke_panel_listItem a:focus,.cke_hc .cke_panel_listItem a:active{border:2px solid;padding:4px 5px}.cke_panel_listItem p,.cke_panel_listItem h1,.cke_panel_listItem h2,.cke_panel_listItem h3,.cke_panel_listItem h4,.cke_panel_listItem h5,.cke_panel_listItem h6,.cke_panel_listItem pre{margin-top:0;margin-bottom:0}.cke_panel_grouptitle{cursor:default;font-size:11px;font-weight:bold;white-space:nowrap;margin:0;padding:6px 6px 7px 6px;color:#484848;border-bottom:1px solid #d1d1d1;background:#f8f8f8}.cke_colorblock{padding:10px;font-size:11px;font-family:'Microsoft Sans Serif',Tahoma,Arial,Verdana,Sans-Serif}.cke_colorblock,.cke_colorblock a{text-decoration:none;color:#000}a.cke_colorbox{padding:2px;float:left;width:20px;height:20px}.cke_rtl a.cke_colorbox{float:right}a:hover.cke_colorbox,a:focus.cke_colorbox,a:active.cke_colorbox{outline:0;padding:0;border:2px solid #139ff7}a:hover.cke_colorbox{border-color:#bcbcbc}span.cke_colorbox{width:20px;height:20px;float:left}.cke_rtl span.cke_colorbox{float:right}a.cke_colorauto,a.cke_colormore{border:#fff 1px solid;padding:3px;display:block;cursor:pointer}a.cke_colorauto{padding:0;border:1px solid transparent;margin-bottom:6px;height:26px;line-height:26px}a.cke_colormore{margin-top:10px;height:20px;line-height:19px}a:hover.cke_colorauto,a:hover.cke_colormore,a:focus.cke_colorauto,a:focus.cke_colormore,a:active.cke_colorauto,a:active.cke_colormore{outline:0;border:#139ff7 1px solid;background-color:#f8f8f8}a:hover.cke_colorauto,a:hover.cke_colormore{border-color:#bcbcbc}.cke_colorauto span.cke_colorbox{width:18px;height:18px;border:1px solid #808080;margin-left:1px;margin-top:3px}.cke_rtl .cke_colorauto span.cke_colorbox{margin-left:0;margin-right:1px}span.cke_colorbox[style*="#ffffff"],span.cke_colorbox[style*="#FFFFFF"],span.cke_colorbox[style="background-color:#fff"],span.cke_colorbox[style="background-color:#FFF"],span.cke_colorbox[style*="rgb(255,255,255)"],span.cke_colorbox[style*="rgb(255, 255, 255)"]{border:1px solid #808080;width:18px;height:18px}.cke_toolbar{float:left}.cke_rtl .cke_toolbar{float:right}.cke_toolgroup{border:0;float:left;margin:1px 2px 6px 0;padding-right:3px}.cke_rtl .cke_toolgroup{float:right;margin:1px 0 6px 2px;padding-left:3px;padding-right:0}.cke_hc .cke_toolgroup{margin-right:5px;margin-bottom:5px}.cke_hc.cke_rtl .cke_toolgroup{margin-right:0;margin-left:5px}a.cke_button{display:inline-block;height:18px;padding:4px 6px;outline:0;cursor:default;float:left;border:0;position:relative}.cke_rtl a.cke_button{float:right}.cke_hc a.cke_button{border:1px solid black;padding:3px 5px;margin:0 3px 5px 0}.cke_hc.cke_rtl a.cke_button{margin:0 0 5px 3px}a.cke_button_on{background:#fff;border:1px #bcbcbc solid;padding:3px 5px}a.cke_button_off:hover,a.cke_button_off:focus,a.cke_button_off:active{background:#e5e5e5;border:1px #bcbcbc solid;padding:3px 5px}.cke_hc a.cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active{background:#e5e5e5;border:3px solid #000;padding:1px 3px}a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{border:0;padding:4px 6px;background-color:transparent}a.cke_button_disabled:focus{border:1px #bcbcbc solid;padding:3px 5px}.cke_hc a.cke_button_disabled:hover,.cke_hc a.cke_button_disabled:focus,.cke_hc a.cke_button_disabled:active{border:1px solid #acacac;padding:3px 5px;margin:0 3px 5px 0}.cke_hc a.cke_button_disabled:focus{border:3px solid #000;padding:1px 3px}.cke_hc.cke_rtl a.cke_button_disabled:hover,.cke_hc.cke_rtl a.cke_button_disabled:focus,.cke_hc.cke_rtl a.cke_button_disabled:active{margin:0 0 5px 3px}a.cke_button_disabled .cke_button_icon,a.cke_button_disabled .cke_button_arrow{opacity:.3}.cke_hc a.cke_button_disabled{border-color:#acacac}.cke_hc a.cke_button_disabled .cke_button_icon,.cke_hc a.cke_button_disabled .cke_button_label{opacity:.5}.cke_toolgroup a.cke_button:last-child:after,.cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{content:"";position:absolute;height:18px;width:0;border-right:1px solid #bcbcbc;margin-top:4px;top:0;right:-3px}.cke_rtl .cke_toolgroup a.cke_button:last-child:after,.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{border-right:0;right:auto;border-left:1px solid #bcbcbc;top:0;left:-3px}.cke_hc .cke_toolgroup a.cke_button:last-child:after,.cke_hc .cke_toolgroup a.cke_button.cke_button_disabled:last-child:after,.cke_hc .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{border-color:#000;top:0;right:-7px}.cke_hc.cke_rtl .cke_toolgroup a.cke_button:last-child:after,.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:last-child:after,.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_disabled:hover:last-child:after{top:0;right:auto;left:-7px}.cke_toolgroup a.cke_button:hover:last-child:after,.cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-1px;right:-4px}.cke_rtl .cke_toolgroup a.cke_button:hover:last-child:after,.cke_rtl .cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-1px;right:auto;left:-4px}.cke_hc .cke_toolgroup a.cke_button:hover:last-child:after,.cke_hc .cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-2px;right:-9px}.cke_hc.cke_rtl .cke_toolgroup a.cke_button:hover:last-child:after,.cke_hc.cke_rtl .cke_toolgroup a.cke_button.cke_button_on:last-child:after{top:-2px;right:auto;left:-9px}.cke_toolbar.cke_toolbar_last .cke_toolgroup a.cke_button:last-child:after{content:none;border:0;width:0;height:0}.cke_button_icon{cursor:inherit;background-repeat:no-repeat;margin-top:1px;width:16px;height:16px;float:left;display:inline-block}.cke_rtl .cke_button_icon{float:right}.cke_hc .cke_button_icon{display:none}.cke_button_label{display:none;padding-left:3px;margin-top:1px;line-height:17px;vertical-align:middle;float:left;cursor:default;color:#484848}.cke_rtl .cke_button_label{padding-right:3px;padding-left:0;float:right}.cke_hc .cke_button_label{padding:0;display:inline-block;font-size:12px}.cke_button_arrow{display:inline-block;margin:8px 0 0 1px;width:0;height:0;cursor:default;vertical-align:top;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #484848}.cke_rtl .cke_button_arrow{margin-right:5px;margin-left:0}.cke_hc .cke_button_arrow{font-size:10px;margin:3px 0 0 3px;width:auto;border:0}.cke_toolbar_separator{float:left;background-color:#bcbcbc;margin:4px 2px 0 2px;height:18px;width:1px}.cke_rtl .cke_toolbar_separator{float:right}.cke_hc .cke_toolbar_separator{background-color:#000;margin-left:2px;margin-right:5px;margin-bottom:9px}.cke_hc.cke_rtl .cke_toolbar_separator{margin-left:5px;margin-right:2px}.cke_toolbar_break{display:block;clear:left}.cke_rtl .cke_toolbar_break{clear:right}a.cke_toolbox_collapser{width:12px;height:11px;float:right;margin:11px 0 0;font-size:0;cursor:default;text-align:center;border:1px solid #bcbcbc}.cke_rtl .cke_toolbox_collapser{float:left}.cke_toolbox_collapser:hover{background:#e5e5e5}.cke_toolbox_collapser.cke_toolbox_collapser_min{margin:0 2px 4px}.cke_toolbox_collapser .cke_arrow{display:inline-block;height:0;width:0;font-size:0;margin-top:1px;border:3px solid transparent;border-bottom-color:#484848}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{margin-top:4px;border-bottom-color:transparent;border-top-color:#484848}.cke_hc .cke_toolbox_collapser .cke_arrow{font-size:8px;width:auto;border:0;margin-top:0}.cke_menuitem span{cursor:default}.cke_menubutton{display:block}.cke_hc .cke_menubutton{padding:2px}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:#e9e9e9;display:block;outline:1px dotted}.cke_menubutton:hover{outline:0}.cke_hc .cke_menubutton:hover,.cke_hc .cke_menubutton:focus,.cke_hc .cke_menubutton:active{border:2px solid;padding:0}.cke_menubutton_disabled:hover,.cke_menubutton_disabled:focus,.cke_menubutton_disabled:active{background-color:transparent;outline:0}.cke_menubutton_inner{display:table-row}.cke_menubutton_icon,.cke_menubutton_label,.cke_menuarrow{display:table-cell}.cke_menubutton_icon{background-color:#f8f8f8;padding:6px 4px}.cke_hc .cke_menubutton_icon{height:16px;width:0;padding:4px 0}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:#e9e9e9}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{background-color:#f8f8f8;outline:0}.cke_menuitem .cke_menubutton_on{background-color:#e9e9e9;border:1px solid #dedede;outline:0}.cke_menubutton_on .cke_menubutton_icon{padding-right:3px;background-color:#e9e9e9}.cke_menubutton_label{padding:0 5px;background-color:transparent;width:100%;vertical-align:middle}.cke_menubutton_shortcut{color:#979797}.cke_menubutton_disabled .cke_menubutton_label{opacity:.3;filter:alpha(opacity=30)}.cke_panel_frame .cke_menubutton_label{display:none}.cke_menuseparator{background-color:#d1d1d1;height:1px}.cke_menuarrow{background:transparent url(images/arrow.png) no-repeat 0 10px;padding:0 5px}.cke_rtl .cke_menuarrow{background-position:5px -13px;background-repeat:no-repeat}.cke_hc .cke_menuarrow{background-image:none}.cke_menuarrow span{display:none}.cke_hc .cke_menuarrow span{vertical-align:middle;display:inline}.cke_combo{display:inline-block;float:left;position:relative;margin-bottom:5px}.cke_rtl .cke_combo{float:right}.cke_hc .cke_combo{margin-top:1px;margin-bottom:10px}.cke_combo:after{content:"";position:absolute;height:18px;width:0;border-right:1px solid #bcbcbc;margin-top:5px;top:0;right:0}.cke_rtl .cke_combo:after{border-right:0;border-left:1px solid #bcbcbc;right:auto;left:0}.cke_hc .cke_combo:after{border-color:#000}a.cke_combo_button{cursor:default;display:inline-block;float:left;margin:0;padding:1px}.cke_rtl a.cke_combo_button{float:right}.cke_hc a.cke_combo_button{padding:4px}.cke_combo_on a.cke_combo_button,.cke_combo_off a.cke_combo_button:hover,.cke_combo_off a.cke_combo_button:focus,.cke_combo_off a.cke_combo_button:active{background:#e5e5e5;border:1px solid #bcbcbc;padding:0 0 0 1px;margin-left:-1px}.cke_combo_off a.cke_combo_button:focus{outline:0}.cke_combo_on a.cke_combo_button,.cke_combo_off a.cke_combo_button:active{background:#fff}.cke_rtl .cke_combo_on a.cke_combo_button,.cke_rtl .cke_combo_off a.cke_combo_button:hover,.cke_rtl .cke_combo_off a.cke_combo_button:focus,.cke_rtl .cke_combo_off a.cke_combo_button:active{padding:0 1px 0 0;margin-left:0;margin-right:-1px}.cke_hc .cke_combo_on a.cke_combo_button,.cke_hc .cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_combo_off a.cke_combo_button:active{border:3px solid #000;padding:1px 1px 1px 2px}.cke_hc.cke_rtl .cke_combo_on a.cke_combo_button,.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:hover,.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:focus,.cke_hc.cke_rtl .cke_combo_off a.cke_combo_button:active{padding:1px 2px 1px 1px}.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:0 0 0 3px;margin-left:-3px}.cke_rtl .cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_rtl .cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_rtl .cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_rtl .cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:0 3px 0 0;margin-left:0;margin-right:-3px}.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:1px 1px 1px 7px;margin-left:-6px}.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc.cke_rtl .cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:1px 7px 1px 1px;margin-left:0;margin-right:-6px}.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:0;margin:0}.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_toolbox .cke_toolbar:first-child>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_on a.cke_combo_button,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:hover,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:focus,.cke_hc .cke_toolbar_break+.cke_toolbar>.cke_toolbar_start+.cke_combo_off a.cke_combo_button:active{padding:1px;margin:0}.cke_toolbar .cke_combo+.cke_toolbar_end,.cke_toolbar .cke_combo+.cke_toolgroup{margin-right:0;margin-left:2px}.cke_rtl .cke_toolbar .cke_combo+.cke_toolbar_end,.cke_rtl .cke_toolbar .cke_combo+.cke_toolgroup{margin-left:0;margin-right:2px}.cke_hc .cke_toolbar .cke_combo+.cke_toolbar_end,.cke_hc .cke_toolbar .cke_combo+.cke_toolgroup{margin-left:5px}.cke_hc.cke_rtl .cke_toolbar .cke_combo+.cke_toolbar_end,.cke_hc.cke_rtl .cke_toolbar .cke_combo+.cke_toolgroup{margin-left:0;margin-right:5px}.cke_toolbar.cke_toolbar_last .cke_combo:nth-last-child(-n+2):after{content:none;border:0;width:0;height:0}.cke_combo_text{line-height:26px;padding-left:10px;text-overflow:ellipsis;overflow:hidden;float:left;cursor:default;color:#484848;width:60px}.cke_rtl .cke_combo_text{float:right;text-align:right;padding-left:0;padding-right:10px}.cke_hc .cke_combo_text{line-height:18px;font-size:12px}.cke_combo_open{cursor:default;display:inline-block;font-size:0;height:19px;line-height:17px;margin:1px 10px 1px;width:5px}.cke_hc .cke_combo_open{height:12px}.cke_combo_arrow{cursor:default;margin:11px 0 0;float:left;height:0;width:0;font-size:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:3px solid #484848}.cke_hc .cke_combo_arrow{font-size:10px;width:auto;border:0;margin-top:3px}.cke_combo_label{display:none;float:left;line-height:26px;vertical-align:top;margin-right:5px}.cke_rtl .cke_combo_label{float:right;margin-left:5px;margin-right:0}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{opacity:.3}.cke_path{float:left;margin:-2px 0 2px}a.cke_path_item,span.cke_path_empty{display:inline-block;float:left;padding:3px 4px;margin-right:2px;cursor:default;text-decoration:none;outline:0;border:0;color:#484848;font-weight:bold;font-size:11px}.cke_rtl .cke_path,.cke_rtl .cke_path_item,.cke_rtl .cke_path_empty{float:right}a.cke_path_item:hover,a.cke_path_item:focus,a.cke_path_item:active{background-color:#e5e5e5}.cke_hc a.cke_path_item:hover,.cke_hc a.cke_path_item:focus,.cke_hc a.cke_path_item:active{border:2px solid;padding:1px 2px}.cke_button__source_label,.cke_button__sourcedialog_label{display:inline}.cke_combopanel__fontsize{width:135px}textarea.cke_source{font-family:'Courier New',Monospace;font-size:small;background-color:#fff;white-space:pre-wrap;border:0;padding:0;margin:0;display:block}.cke_wysiwyg_frame,.cke_wysiwyg_div{background-color:#fff}.cke_notifications_area{pointer-events:none}.cke_notification{pointer-events:auto;position:relative;margin:10px;width:300px;color:white;text-align:center;opacity:.95;filter:alpha(opacity = 95);-webkit-animation:fadeIn .7s;animation:fadeIn .7s}.cke_notification_message a{color:#12306f}@-webkit-keyframes fadeIn{from{opacity:.4}to{opacity:.95}}@keyframes fadeIn{from{opacity:.4}to{opacity:.95}}.cke_notification_success{background:#72b572;border:1px solid #63a563}.cke_notification_warning{background:#c83939;border:1px solid #902b2b}.cke_notification_info{background:#2e9ad0;border:1px solid #0f74a8}.cke_notification_info span.cke_notification_progress{background-color:#0f74a8;display:block;padding:0;margin:0;height:100%;overflow:hidden;position:absolute;z-index:1}.cke_notification_message{position:relative;margin:4px 23px 3px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:18px;z-index:4;text-overflow:ellipsis;overflow:hidden}.cke_notification_close{background-image:url(images/close.png);background-repeat:no-repeat;background-position:50%;position:absolute;cursor:pointer;text-align:center;height:20px;width:20px;top:1px;right:1px;padding:0;margin:0;z-index:5;opacity:.6;filter:alpha(opacity = 60)}.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_notification_close span{display:none}.cke_notification_warning a.cke_notification_close{opacity:.8;filter:alpha(opacity = 80)}.cke_notification_warning a.cke_notification_close:hover{opacity:1;filter:alpha(opacity = 100)}.cke_chrome{visibility:inherit}.cke_voice_label{display:none}legend.cke_voice_label{display:none}a.cke_button_disabled,a.cke_button_disabled:hover,a.cke_button_disabled:focus,a.cke_button_disabled:active{filter:alpha(opacity = 30)}.cke_button_disabled .cke_button_icon{filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#00ffffff,endColorstr=#00ffffff)}.cke_button_off:hover,.cke_button_off:focus,.cke_button_off:active{filter:alpha(opacity = 100)}.cke_combo_disabled .cke_combo_inlinelabel,.cke_combo_disabled .cke_combo_open{filter:alpha(opacity = 30)}.cke_toolbox_collapser{border:1px solid #a6a6a6}.cke_toolbox_collapser .cke_arrow{margin-top:1px}.cke_hc .cke_top,.cke_hc .cke_bottom,.cke_hc .cke_combo_button,.cke_hc a.cke_combo_button:hover,.cke_hc a.cke_combo_button:focus,.cke_hc .cke_toolgroup,.cke_hc .cke_button_on,.cke_hc a.cke_button_off:hover,.cke_hc a.cke_button_off:focus,.cke_hc a.cke_button_off:active,.cke_hc .cke_toolbox_collapser,.cke_hc .cke_toolbox_collapser:hover,.cke_hc .cke_panel_grouptitle{filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.cke_toolbox_collapser .cke_arrow{border-width:4px}.cke_toolbox_collapser.cke_toolbox_collapser_min .cke_arrow{border-width:3px}.cke_toolbox_collapser .cke_arrow{margin-top:0}.cke_toolbar{position:relative}.cke_rtl .cke_toolbar_end{right:auto;left:0}.cke_toolbar_end:after{content:"";position:absolute;height:18px;width:0;border-right:1px solid #bcbcbc;margin-top:4px;top:1px;right:2px}.cke_rtl .cke_toolbar_end:after{right:auto;left:2px}.cke_hc .cke_toolbar_end:after{top:2px;right:5px;border-color:#000}.cke_hc.cke_rtl .cke_toolbar_end:after{right:auto;left:5px}.cke_combo+.cke_toolbar_end:after,.cke_toolbar.cke_toolbar_last .cke_toolbar_end:after{content:none;border:0}.cke_combo+.cke_toolgroup+.cke_toolbar_end:after{right:0}.cke_rtl .cke_combo+.cke_toolgroup+.cke_toolbar_end:after{right:auto;left:0}.cke_button__about_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -0px !important;}.cke_button__bold_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -24px !important;}.cke_button__italic_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -48px !important;}.cke_button__strike_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -72px !important;}.cke_button__subscript_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -96px !important;}.cke_button__superscript_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -120px !important;}.cke_button__underline_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -144px !important;}.cke_button__bidiltr_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -168px !important;}.cke_button__bidirtl_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -192px !important;}.cke_button__blockquote_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -216px !important;}.cke_rtl .cke_button__copy_icon, .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -240px !important;}.cke_ltr .cke_button__copy_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -264px !important;}.cke_rtl .cke_button__cut_icon, .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -288px !important;}.cke_ltr .cke_button__cut_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -312px !important;}.cke_rtl .cke_button__paste_icon, .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -336px !important;}.cke_ltr .cke_button__paste_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -360px !important;}.cke_button__bgcolor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -384px !important;}.cke_button__textcolor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -408px !important;}.cke_rtl .cke_button__templates_icon, .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -432px !important;}.cke_ltr .cke_button__templates_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -456px !important;}.cke_button__copyformatting_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -480px !important;}.cke_button__creatediv_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -504px !important;}.cke_rtl .cke_button__find_icon, .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -528px !important;}.cke_ltr .cke_button__find_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -552px !important;}.cke_button__replace_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -576px !important;}.cke_button__flash_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -600px !important;}.cke_button__button_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -624px !important;}.cke_button__checkbox_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -648px !important;}.cke_button__form_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -672px !important;}.cke_button__hiddenfield_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -696px !important;}.cke_button__imagebutton_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -720px !important;}.cke_button__radio_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -744px !important;}.cke_rtl .cke_button__select_icon, .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -768px !important;}.cke_ltr .cke_button__select_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -792px !important;}.cke_rtl .cke_button__textarea_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -816px !important;}.cke_ltr .cke_button__textarea_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -840px !important;}.cke_rtl .cke_button__textfield_icon, .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -864px !important;}.cke_ltr .cke_button__textfield_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -888px !important;}.cke_button__horizontalrule_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -912px !important;}.cke_button__iframe_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -936px !important;}.cke_button__image_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -960px !important;}.cke_rtl .cke_button__indent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -984px !important;}.cke_ltr .cke_button__indent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1008px !important;}.cke_rtl .cke_button__outdent_icon, .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1032px !important;}.cke_ltr .cke_button__outdent_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1056px !important;}.cke_button__smiley_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1080px !important;}.cke_button__justifyblock_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1104px !important;}.cke_button__justifycenter_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1128px !important;}.cke_button__justifyleft_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1152px !important;}.cke_button__justifyright_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1176px !important;}.cke_button__language_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1200px !important;}.cke_rtl .cke_button__anchor_icon, .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1224px !important;}.cke_ltr .cke_button__anchor_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1248px !important;}.cke_button__link_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1272px !important;}.cke_button__unlink_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1296px !important;}.cke_rtl .cke_button__bulletedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1320px !important;}.cke_ltr .cke_button__bulletedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1344px !important;}.cke_rtl .cke_button__numberedlist_icon, .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1368px !important;}.cke_ltr .cke_button__numberedlist_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1392px !important;}.cke_button__maximize_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1416px !important;}.cke_rtl .cke_button__newpage_icon, .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1440px !important;}.cke_ltr .cke_button__newpage_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1464px !important;}.cke_rtl .cke_button__pagebreak_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1488px !important;}.cke_ltr .cke_button__pagebreak_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1512px !important;}.cke_rtl .cke_button__pastetext_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1536px !important;}.cke_ltr .cke_button__pastetext_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1560px !important;}.cke_rtl .cke_button__pastefromword_icon, .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1584px !important;}.cke_ltr .cke_button__pastefromword_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1608px !important;}.cke_rtl .cke_button__preview_icon, .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1632px !important;}.cke_ltr .cke_button__preview_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1656px !important;}.cke_button__print_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1680px !important;}.cke_button__removeformat_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1704px !important;}.cke_button__save_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1728px !important;}.cke_button__selectall_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1752px !important;}.cke_rtl .cke_button__showblocks_icon, .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1776px !important;}.cke_ltr .cke_button__showblocks_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1800px !important;}.cke_rtl .cke_button__source_icon, .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1824px !important;}.cke_ltr .cke_button__source_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1848px !important;}.cke_button__specialchar_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1872px !important;}.cke_button__scayt_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1896px !important;}.cke_button__table_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1920px !important;}.cke_rtl .cke_button__redo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1944px !important;}.cke_ltr .cke_button__redo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1968px !important;}.cke_rtl .cke_button__undo_icon, .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -1992px !important;}.cke_ltr .cke_button__undo_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -2016px !important;}.cke_button__spellchecker_icon {background: url(icons.png?t=95e5d83) no-repeat 0 -2040px !important;}.cke_hidpi .cke_button__about_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -0px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bold_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -24px !important;background-size: 16px !important;}.cke_hidpi .cke_button__italic_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -48px !important;background-size: 16px !important;}.cke_hidpi .cke_button__strike_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -72px !important;background-size: 16px !important;}.cke_hidpi .cke_button__subscript_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -96px !important;background-size: 16px !important;}.cke_hidpi .cke_button__superscript_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -120px !important;background-size: 16px !important;}.cke_hidpi .cke_button__underline_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -144px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidiltr_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -168px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bidirtl_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -192px !important;background-size: 16px !important;}.cke_hidpi .cke_button__blockquote_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -216px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__copy_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__copy_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -240px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__copy_icon,.cke_ltr.cke_hidpi .cke_button__copy_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -264px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__cut_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__cut_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -288px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__cut_icon,.cke_ltr.cke_hidpi .cke_button__cut_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -312px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__paste_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__paste_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -336px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__paste_icon,.cke_ltr.cke_hidpi .cke_button__paste_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -360px !important;background-size: 16px !important;}.cke_hidpi .cke_button__bgcolor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -384px !important;background-size: 16px !important;}.cke_hidpi .cke_button__textcolor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -408px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__templates_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__templates_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -432px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__templates_icon,.cke_ltr.cke_hidpi .cke_button__templates_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -456px !important;background-size: 16px !important;}.cke_hidpi .cke_button__copyformatting_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -480px !important;background-size: 16px !important;}.cke_hidpi .cke_button__creatediv_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -504px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__find_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__find_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -528px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__find_icon,.cke_ltr.cke_hidpi .cke_button__find_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -552px !important;background-size: 16px !important;}.cke_hidpi .cke_button__replace_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -576px !important;background-size: 16px !important;}.cke_hidpi .cke_button__flash_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -600px !important;background-size: 16px !important;}.cke_hidpi .cke_button__button_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -624px !important;background-size: 16px !important;}.cke_hidpi .cke_button__checkbox_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -648px !important;background-size: 16px !important;}.cke_hidpi .cke_button__form_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -672px !important;background-size: 16px !important;}.cke_hidpi .cke_button__hiddenfield_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -696px !important;background-size: 16px !important;}.cke_hidpi .cke_button__imagebutton_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -720px !important;background-size: 16px !important;}.cke_hidpi .cke_button__radio_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -744px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__select_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__select_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -768px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__select_icon,.cke_ltr.cke_hidpi .cke_button__select_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -792px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textarea_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textarea_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -816px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textarea_icon,.cke_ltr.cke_hidpi .cke_button__textarea_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -840px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__textfield_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__textfield_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -864px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__textfield_icon,.cke_ltr.cke_hidpi .cke_button__textfield_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -888px !important;background-size: 16px !important;}.cke_hidpi .cke_button__horizontalrule_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -912px !important;background-size: 16px !important;}.cke_hidpi .cke_button__iframe_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -936px !important;background-size: 16px !important;}.cke_hidpi .cke_button__image_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -960px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__indent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__indent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -984px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__indent_icon,.cke_ltr.cke_hidpi .cke_button__indent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1008px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__outdent_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__outdent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1032px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__outdent_icon,.cke_ltr.cke_hidpi .cke_button__outdent_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1056px !important;background-size: 16px !important;}.cke_hidpi .cke_button__smiley_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1080px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyblock_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1104px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifycenter_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1128px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyleft_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1152px !important;background-size: 16px !important;}.cke_hidpi .cke_button__justifyright_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1176px !important;background-size: 16px !important;}.cke_hidpi .cke_button__language_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1200px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__anchor_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__anchor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1224px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__anchor_icon,.cke_ltr.cke_hidpi .cke_button__anchor_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1248px !important;background-size: 16px !important;}.cke_hidpi .cke_button__link_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1272px !important;background-size: 16px !important;}.cke_hidpi .cke_button__unlink_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1296px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__bulletedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1320px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__bulletedlist_icon,.cke_ltr.cke_hidpi .cke_button__bulletedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1344px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__numberedlist_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1368px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__numberedlist_icon,.cke_ltr.cke_hidpi .cke_button__numberedlist_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1392px !important;background-size: 16px !important;}.cke_hidpi .cke_button__maximize_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1416px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__newpage_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__newpage_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1440px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__newpage_icon,.cke_ltr.cke_hidpi .cke_button__newpage_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1464px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pagebreak_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1488px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pagebreak_icon,.cke_ltr.cke_hidpi .cke_button__pagebreak_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1512px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastetext_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1536px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastetext_icon,.cke_ltr.cke_hidpi .cke_button__pastetext_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1560px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__pastefromword_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1584px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__pastefromword_icon,.cke_ltr.cke_hidpi .cke_button__pastefromword_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1608px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__preview_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__preview_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1632px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__preview_icon,.cke_ltr.cke_hidpi .cke_button__preview_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1656px !important;background-size: 16px !important;}.cke_hidpi .cke_button__print_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1680px !important;background-size: 16px !important;}.cke_hidpi .cke_button__removeformat_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1704px !important;background-size: 16px !important;}.cke_hidpi .cke_button__save_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1728px !important;background-size: 16px !important;}.cke_hidpi .cke_button__selectall_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1752px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__showblocks_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1776px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__showblocks_icon,.cke_ltr.cke_hidpi .cke_button__showblocks_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1800px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__source_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__source_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1824px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__source_icon,.cke_ltr.cke_hidpi .cke_button__source_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1848px !important;background-size: 16px !important;}.cke_hidpi .cke_button__specialchar_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1872px !important;background-size: 16px !important;}.cke_hidpi .cke_button__scayt_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1896px !important;background-size: 16px !important;}.cke_hidpi .cke_button__table_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1920px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__redo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__redo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1944px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__redo_icon,.cke_ltr.cke_hidpi .cke_button__redo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1968px !important;background-size: 16px !important;}.cke_rtl.cke_hidpi .cke_button__undo_icon, .cke_hidpi .cke_mixed_dir_content .cke_rtl .cke_button__undo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -1992px !important;background-size: 16px !important;}.cke_hidpi .cke_ltr .cke_button__undo_icon,.cke_ltr.cke_hidpi .cke_button__undo_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -2016px !important;background-size: 16px !important;}.cke_hidpi .cke_button__spellchecker_icon {background: url(icons_hidpi.png?t=95e5d83) no-repeat 0 -2040px !important;background-size: 16px !important;} \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/skins/moono-lisa/editor_ie8.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/README.md =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/README.md (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/README.md (revision 7) @@ -0,0 +1,39 @@ +CKEditor 4 +========== + +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +http://ckeditor.com - See LICENSE.md for license information. + +CKEditor is a text editor to be used inside web pages. It's not a replacement +for desktop text editors like Word or OpenOffice, but a component to be used as +part of web applications and websites. + +## Documentation + +The full editor documentation is available online at the following address: +http://docs.ckeditor.com + +## Installation + +Installing CKEditor is an easy task. Just follow these simple steps: + + 1. **Download** the latest version from the CKEditor website: + http://ckeditor.com. You should have already completed this step, but be + sure you have the very latest version. + 2. **Extract** (decompress) the downloaded file into the root of your website. + +**Note:** CKEditor is by default installed in the `ckeditor` folder. You can +place the files in whichever you want though. + +## Checking Your Installation + +The editor comes with a few sample pages that can be used to verify that +installation proceeded properly. Take a look at the `samples` directory. + +To test your installation, just call the following page at your website: + + http://<your site>/<CKEditor installation path>/samples/index.html + +For example: + + http://www.example.com/ckeditor/samples/index.html Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/css/fontello.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/css/fontello.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/css/fontello.css (revision 7) @@ -0,0 +1,55 @@ +@font-face { + font-family: 'fontello'; + src: url('../font/fontello.eot?89024372'); + src: url('../font/fontello.eot?89024372#iefix') format('embedded-opentype'), + url('../font/fontello.woff?89024372') format('woff'), + url('../font/fontello.ttf?89024372') format('truetype'), + url('../font/fontello.svg?89024372#fontello') format('svg'); + font-weight: normal; + font-style: normal; +} +/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */ +/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */ +/* +@media screen and (-webkit-min-device-pixel-ratio:0) { + @font-face { + font-family: 'fontello'; + src: url('../font/fontello.svg?89024372#fontello') format('svg'); + } +} +*/ + + [class^="icon-"]:before, [class*=" icon-"]:before { + font-family: "fontello"; + font-style: normal; + font-weight: normal; + speak: none; + + display: inline-block; + text-decoration: inherit; + width: 1em; + margin-right: .2em; + text-align: center; + /* opacity: .8; */ + + /* For safety - reset parent styles, that can break glyph codes*/ + font-variant: normal; + text-transform: none; + + /* fix buttons height, for twitter bootstrap */ + line-height: 1em; + + /* Animation center compensation - margins should be symmetric */ + /* remove if not needed */ + margin-left: .2em; + + /* you can be more comfortable with increased icons size */ + /* font-size: 120%; */ + + /* Uncomment for 3D effect */ + /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ +} + +.icon-trash:before { content: '\e802'; } /* '' */ +.icon-down-big:before { content: '\e800'; } /* '' */ +.icon-up-big:before { content: '\e801'; } /* '' */ Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/css/fontello.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.js (revision 7) @@ -0,0 +1,16 @@ +(function(f){"object"==typeof exports&&"object"==typeof module?f(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],f):f(CodeMirror)})(function(f){function p(a,b){this.cm=a;this.options=this.buildOptions(b);this.widget=null;this.tick=this.debounce=0;this.startPos=this.cm.getCursor();this.startLen=this.cm.getLine(this.startPos.line).length;var c=this;a.on("cursorActivity",this.activityFunc=function(){c.cursorActivity()})}function w(a,b){function c(a, +c){var d;d="string"!=typeof c?function(a){return c(a,b)}:e.hasOwnProperty(c)?e[c]:c;f[a]=d}var e={Up:function(){b.moveFocus(-1)},Down:function(){b.moveFocus(1)},PageUp:function(){b.moveFocus(-b.menuSize()+1,!0)},PageDown:function(){b.moveFocus(b.menuSize()-1,!0)},Home:function(){b.setFocus(0)},End:function(){b.setFocus(b.length-1)},Enter:b.pick,Tab:b.pick,Esc:b.close},d=a.options.customKeys,f=d?{}:e;if(d)for(var g in d)d.hasOwnProperty(g)&&c(g,d[g]);if(d=a.options.extraKeys)for(g in d)d.hasOwnProperty(g)&& +c(g,d[g]);return f}function v(a,b){for(;b&&b!=a;){if("LI"===b.nodeName.toUpperCase()&&b.parentNode==a)return b;b=b.parentNode}}function n(a,b){this.completion=a;this.data=b;this.picked=!1;var c=this,e=a.cm,d=this.hints=document.createElement("ul");d.className="CodeMirror-hints";this.selectedHint=b.selectedHint||0;for(var m=b.list,g=0;g<m.length;++g){var l=d.appendChild(document.createElement("li")),h=m[g],k="CodeMirror-hint"+(g!=this.selectedHint?"":" CodeMirror-hint-active");null!=h.className&&(k= +h.className+" "+k);l.className=k;h.render?h.render(l,b,h):l.appendChild(document.createTextNode(h.displayText||("string"==typeof h?h:h.text)));l.hintId=g}var g=e.cursorCoords(a.options.alignWithWord?b.from:null),r=g.left,t=g.bottom,n=!0;d.style.left=r+"px";d.style.top=t+"px";l=window.innerWidth||Math.max(document.body.offsetWidth,document.documentElement.offsetWidth);k=window.innerHeight||Math.max(document.body.offsetHeight,document.documentElement.offsetHeight);(a.options.container||document.body).appendChild(d); +h=d.getBoundingClientRect();if(0<h.bottom-k){var u=h.bottom-h.top;0<g.top-(g.bottom-h.top)-u?(d.style.top=(t=g.top-u)+"px",n=!1):u>k&&(d.style.height=k-5+"px",d.style.top=(t=g.bottom-h.top)+"px",k=e.getCursor(),b.from.ch!=k.ch&&(g=e.cursorCoords(k),d.style.left=(r=g.left)+"px",h=d.getBoundingClientRect()))}k=h.right-l;0<k&&(h.right-h.left>l&&(d.style.width=l-5+"px",k-=h.right-h.left-l),d.style.left=(r=g.left-k)+"px");e.addKeyMap(this.keyMap=w(a,{moveFocus:function(a,b){c.changeActive(c.selectedHint+ +a,b)},setFocus:function(a){c.changeActive(a)},menuSize:function(){return c.screenAmount()},length:m.length,close:function(){a.close()},pick:function(){c.pick()},data:b}));if(a.options.closeOnUnfocus){var p;e.on("blur",this.onBlur=function(){p=setTimeout(function(){a.close()},100)});e.on("focus",this.onFocus=function(){clearTimeout(p)})}var q=e.getScrollInfo();e.on("scroll",this.onScroll=function(){var c=e.getScrollInfo(),b=e.getWrapperElement().getBoundingClientRect(),f=t+q.top-c.top,g=f-(window.pageYOffset|| +(document.documentElement||document.body).scrollTop);n||(g+=d.offsetHeight);if(g<=b.top||g>=b.bottom)return a.close();d.style.top=f+"px";d.style.left=r+q.left-c.left+"px"});f.on(d,"dblclick",function(a){(a=v(d,a.target||a.srcElement))&&null!=a.hintId&&(c.changeActive(a.hintId),c.pick())});f.on(d,"click",function(b){(b=v(d,b.target||b.srcElement))&&null!=b.hintId&&(c.changeActive(b.hintId),a.options.completeOnSingleClick&&c.pick())});f.on(d,"mousedown",function(){setTimeout(function(){e.focus()},20)}); +f.signal(b,"select",m[0],d.firstChild);return!0}f.showHint=function(a,b,c){if(!b)return a.showHint(c);c&&c.async&&(b.async=!0);b={hint:b};if(c)for(var e in c)b[e]=c[e];return a.showHint(b)};f.defineExtension("showHint",function(a){1<this.listSelections().length||this.somethingSelected()||(this.state.completionActive&&this.state.completionActive.close(),a=this.state.completionActive=new p(this,a),a.options.hint&&(f.signal(this,"startCompletion",this),a.update()))});var x=window.requestAnimationFrame|| +function(a){return setTimeout(a,1E3/60)},y=window.cancelAnimationFrame||clearTimeout;p.prototype={close:function(){this.active()&&(this.tick=this.cm.state.completionActive=null,this.cm.off("cursorActivity",this.activityFunc),this.widget&&this.widget.close(),f.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(a,b){var c=a.list[b];c.hint?c.hint(this.cm,a,c):this.cm.replaceRange("string"==typeof c?c:c.text,c.from||a.from,c.to||a.to, +"complete");f.signal(a,"pick",c);this.close()},showHints:function(a){if(!a||!a.list.length||!this.active())return this.close();this.options.completeSingle&&1==a.list.length?this.pick(a,0):this.showWidget(a)},cursorActivity:function(){this.debounce&&(y(this.debounce),this.debounce=0);var a=this.cm.getCursor(),b=this.cm.getLine(a.line);if(a.line!=this.startPos.line||b.length-a.ch!=this.startLen-this.startPos.ch||a.ch<this.startPos.ch||this.cm.somethingSelected()||a.ch&&this.options.closeCharacters.test(b.charAt(a.ch- +1)))this.close();else{var c=this;this.debounce=x(function(){c.update()});this.widget&&this.widget.disable()}},update:function(){if(null!=this.tick)if(this.data&&f.signal(this.data,"update"),this.options.hint.async){var a=++this.tick,b=this;this.options.hint(this.cm,function(c){b.tick==a&&b.finishUpdate(c)},this.options)}else this.finishUpdate(this.options.hint(this.cm,this.options),a)},finishUpdate:function(a){this.data=a;var b=this.widget&&this.widget.picked;this.widget&&this.widget.close();a&&a.list.length&& +(b&&1==a.list.length?this.pick(a,0):this.widget=new n(this,a))},showWidget:function(a){this.data=a;this.widget=new n(this,a);f.signal(a,"shown")},buildOptions:function(a){var b=this.cm.options.hintOptions,c={},e;for(e in q)c[e]=q[e];if(b)for(e in b)void 0!==b[e]&&(c[e]=b[e]);if(a)for(e in a)void 0!==a[e]&&(c[e]=a[e]);return c}};n.prototype={close:function(){if(this.completion.widget==this){this.completion.widget=null;this.hints.parentNode.removeChild(this.hints);this.completion.cm.removeKeyMap(this.keyMap); +var a=this.completion.cm;this.completion.options.closeOnUnfocus&&(a.off("blur",this.onBlur),a.off("focus",this.onFocus));a.off("scroll",this.onScroll)}},disable:function(){this.completion.cm.removeKeyMap(this.keyMap);var a=this;this.keyMap={Enter:function(){a.picked=!0}};this.completion.cm.addKeyMap(this.keyMap)},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(a,b){a>=this.data.list.length?a=b?this.data.list.length-1:0:0>a&&(a=b?0:this.data.list.length-1); +if(this.selectedHint!=a){var c=this.hints.childNodes[this.selectedHint];c.className=c.className.replace(" CodeMirror-hint-active","");c=this.hints.childNodes[this.selectedHint=a];c.className+=" CodeMirror-hint-active";c.offsetTop<this.hints.scrollTop?this.hints.scrollTop=c.offsetTop-3:c.offsetTop+c.offsetHeight>this.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=c.offsetTop+c.offsetHeight-this.hints.clientHeight+3);f.signal(this.data,"select",this.data.list[this.selectedHint],c)}}, +screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1}};f.registerHelper("hint","auto",function(a,b){var c=a.getHelpers(a.getCursor(),"hint");if(c.length)for(var e=0;e<c.length;e++){var d=c[e](a,b);if(d&&d.list.length)return d}else if(c=a.getHelper(a.getCursor(),"hintWords")){if(c)return f.hint.fromList(a,{words:c})}else if(f.hint.anyword)return f.hint.anyword(a,b)});f.registerHelper("hint","fromList",function(a,b){for(var c=a.getCursor(),e=a.getTokenAt(c), +d=[],m=0;m<b.words.length;m++){var g=b.words[m];g.slice(0,e.string.length)==e.string&&d.push(g)}if(d.length)return{list:d,from:f.Pos(c.line,e.start),to:f.Pos(c.line,e.end)}});f.commands.autocomplete=f.showHint;var q={hint:f.hint.auto,completeSingle:!0,alignWithWord:!0,closeCharacters:/[\s()\[\]{};:>,]/,closeOnUnfocus:!0,completeOnSingleClick:!1,container:null,customKeys:null,extraKeys:null};f.defineOption("hintOptions",null)}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.css (revision 7) @@ -0,0 +1,325 @@ +/* BASICS */ + +.CodeMirror { + /* Set height, width, borders, and global font properties here */ + font-family: monospace; + height: 300px; + color: black; +} + +/* PADDING */ + +.CodeMirror-lines { + padding: 4px 0; /* Vertical padding around content */ +} +.CodeMirror pre { + padding: 0 4px; /* Horizontal padding of content */ +} + +.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + background-color: white; /* The little square between H and V scrollbars */ +} + +/* GUTTER */ + +.CodeMirror-gutters { + border-right: 1px solid #ddd; + background-color: #f7f7f7; + white-space: nowrap; +} +.CodeMirror-linenumbers {} +.CodeMirror-linenumber { + padding: 0 3px 0 5px; + min-width: 20px; + text-align: right; + color: #999; + white-space: nowrap; +} + +.CodeMirror-guttermarker { color: black; } +.CodeMirror-guttermarker-subtle { color: #999; } + +/* CURSOR */ + +.CodeMirror div.CodeMirror-cursor { + border-left: 1px solid black; +} +/* Shown when moving in bi-directional text */ +.CodeMirror div.CodeMirror-secondarycursor { + border-left: 1px solid silver; +} +.CodeMirror.cm-fat-cursor div.CodeMirror-cursor { + width: auto; + border: 0; + background: #7e7; +} +.CodeMirror.cm-fat-cursor div.CodeMirror-cursors { + z-index: 1; +} + +.cm-animate-fat-cursor { + width: auto; + border: 0; + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; +} +@-moz-keyframes blink { + 0% { background: #7e7; } + 50% { background: none; } + 100% { background: #7e7; } +} +@-webkit-keyframes blink { + 0% { background: #7e7; } + 50% { background: none; } + 100% { background: #7e7; } +} +@keyframes blink { + 0% { background: #7e7; } + 50% { background: none; } + 100% { background: #7e7; } +} + +/* Can style cursor different in overwrite (non-insert) mode */ +div.CodeMirror-overwrite div.CodeMirror-cursor {} + +.cm-tab { display: inline-block; text-decoration: inherit; } + +.CodeMirror-ruler { + border-left: 1px solid #ccc; + position: absolute; +} + +/* DEFAULT THEME */ + +.cm-s-default .cm-keyword {color: #708;} +.cm-s-default .cm-atom {color: #219;} +.cm-s-default .cm-number {color: #164;} +.cm-s-default .cm-def {color: #00f;} +.cm-s-default .cm-variable, +.cm-s-default .cm-punctuation, +.cm-s-default .cm-property, +.cm-s-default .cm-operator {} +.cm-s-default .cm-variable-2 {color: #05a;} +.cm-s-default .cm-variable-3 {color: #085;} +.cm-s-default .cm-comment {color: #a50;} +.cm-s-default .cm-string {color: #a11;} +.cm-s-default .cm-string-2 {color: #f50;} +.cm-s-default .cm-meta {color: #555;} +.cm-s-default .cm-qualifier {color: #555;} +.cm-s-default .cm-builtin {color: #30a;} +.cm-s-default .cm-bracket {color: #997;} +.cm-s-default .cm-tag {color: #170;} +.cm-s-default .cm-attribute {color: #00c;} +.cm-s-default .cm-header {color: blue;} +.cm-s-default .cm-quote {color: #090;} +.cm-s-default .cm-hr {color: #999;} +.cm-s-default .cm-link {color: #00c;} + +.cm-negative {color: #d44;} +.cm-positive {color: #292;} +.cm-header, .cm-strong {font-weight: bold;} +.cm-em {font-style: italic;} +.cm-link {text-decoration: underline;} +.cm-strikethrough {text-decoration: line-through;} + +.cm-s-default .cm-error {color: #f00;} +.cm-invalidchar {color: #f00;} + +.CodeMirror-composing { border-bottom: 2px solid; } + +/* Default styles for common addons */ + +div.CodeMirror span.CodeMirror-matchingbracket {color: #0f0;} +div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #f22;} +.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } +.CodeMirror-activeline-background {background: #e8f2ff;} + +/* STOP */ + +/* The rest of this file contains styles related to the mechanics of + the editor. You probably shouldn't touch them. */ + +.CodeMirror { + position: relative; + overflow: hidden; + background: white; +} + +.CodeMirror-scroll { + overflow: scroll !important; /* Things will break if this is overridden */ + /* 30px is the magic margin used to hide the element's real scrollbars */ + /* See overflow: hidden in .CodeMirror */ + margin-bottom: -30px; margin-right: -30px; + padding-bottom: 30px; + height: 100%; + outline: none; /* Prevent dragging from highlighting the element */ + position: relative; +} +.CodeMirror-sizer { + position: relative; + border-right: 30px solid transparent; +} + +/* The fake, visible scrollbars. Used to force redraw during scrolling + before actuall scrolling happens, thus preventing shaking and + flickering artifacts. */ +.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + position: absolute; + z-index: 6; + display: none; +} +.CodeMirror-vscrollbar { + right: 0; top: 0; + overflow-x: hidden; + overflow-y: scroll; +} +.CodeMirror-hscrollbar { + bottom: 0; left: 0; + overflow-y: hidden; + overflow-x: scroll; +} +.CodeMirror-scrollbar-filler { + right: 0; bottom: 0; +} +.CodeMirror-gutter-filler { + left: 0; bottom: 0; +} + +.CodeMirror-gutters { + position: absolute; left: 0; top: 0; + z-index: 3; +} +.CodeMirror-gutter { + white-space: normal; + height: 100%; + display: inline-block; + margin-bottom: -30px; + /* Hack to make IE7 behave */ + *zoom:1; + *display:inline; +} +.CodeMirror-gutter-wrapper { + position: absolute; + z-index: 4; + height: 100%; +} +.CodeMirror-gutter-elt { + position: absolute; + cursor: default; + z-index: 4; +} +.CodeMirror-gutter-wrapper { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} + +.CodeMirror-lines { + cursor: text; + min-height: 1px; /* prevents collapsing before first draw */ +} +.CodeMirror pre { + /* Reset some styles that the rest of the page might have set */ + -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; + border-width: 0; + background: transparent; + font-family: inherit; + font-size: inherit; + margin: 0; + white-space: pre; + word-wrap: normal; + line-height: inherit; + color: inherit; + z-index: 2; + position: relative; + overflow: visible; + -webkit-tap-highlight-color: transparent; +} +.CodeMirror-wrap pre { + word-wrap: break-word; + white-space: pre-wrap; + word-break: normal; +} + +.CodeMirror-linebackground { + position: absolute; + left: 0; right: 0; top: 0; bottom: 0; + z-index: 0; +} + +.CodeMirror-linewidget { + position: relative; + z-index: 2; + overflow: auto; +} + +.CodeMirror-widget {} + +.CodeMirror-code { + outline: none; +} + +/* Force content-box sizing for the elements where we expect it */ +.CodeMirror-scroll, +.CodeMirror-sizer, +.CodeMirror-gutter, +.CodeMirror-gutters, +.CodeMirror-linenumber { + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +.CodeMirror-measure { + position: absolute; + width: 100%; + height: 0; + overflow: hidden; + visibility: hidden; +} +.CodeMirror-measure pre { position: static; } + +.CodeMirror div.CodeMirror-cursor { + position: absolute; + border-right: none; + width: 0; +} + +div.CodeMirror-cursors { + visibility: hidden; + position: relative; + z-index: 3; +} +.CodeMirror-focused div.CodeMirror-cursors { + visibility: visible; +} + +.CodeMirror-selected { background: #d9d9d9; } +.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } +.CodeMirror-crosshair { cursor: crosshair; } +.CodeMirror ::selection { background: #d7d4f0; } +.CodeMirror ::-moz-selection { background: #d7d4f0; } + +.cm-searching { + background: #ffa; + background: rgba(255, 255, 0, .4); +} + +/* IE7 hack to prevent it from returning funny offsetTops on the spans */ +.CodeMirror span { *vertical-align: text-bottom; } + +/* Used to force a border model for a node */ +.cm-force-border { padding-right: .1px; } + +@media print { + /* Hide the cursor when printing */ + .CodeMirror div.CodeMirror-cursors { + visibility: hidden; + } +} + +/* See issue #2901 */ +.cm-tab-wrap-hack:after { content: ''; } + +/* Help users use markselection to safely style text background */ +span.CodeMirror-selectedtext { background: none; } Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/javascript.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/javascript.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/javascript.js (revision 7) @@ -0,0 +1,25 @@ +(function(p){"object"==typeof exports&&"object"==typeof module?p(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],p):p(CodeMirror)})(function(p){p.defineMode("javascript",function(oa,t){function q(a,c,e){E=a;I=e;return c}function w(a,c){var e=a.next();if('"'==e||"'"==e)return c.tokenize=pa(e),c.tokenize(a,c);if("."==e&&a.match(/^\d+(?:[eE][+\-]?\d+)?/))return q("number","number");if("."==e&&a.match(".."))return q("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(e))return q(e); +if("\x3d"==e&&a.eat("\x3e"))return q("\x3d\x3e","operator");if("0"==e&&a.eat(/x/i))return a.eatWhile(/[\da-f]/i),q("number","number");if(/\d/.test(e))return a.match(/^\d*(?:\.\d*)?(?:[eE][+\-]?\d+)?/),q("number","number");if("/"==e){if(a.eat("*"))return c.tokenize=J,J(a,c);if(a.eat("/"))return a.skipToEnd(),q("comment","comment");if("operator"==c.lastType||"keyword c"==c.lastType||"sof"==c.lastType||/^[\[{}\(,;:]$/.test(c.lastType)){a:for(var e=!1,d,b=!1;null!=(d=a.next());){if(!e){if("/"==d&&!b)break a; +"["==d?b=!0:b&&"]"==d&&(b=!1)}e=!e&&"\\"==d}a.match(/^\b(([gimyu])(?![gimyu]*\2))+\b/);return q("regexp","string-2")}a.eatWhile(K);return q("operator","operator",a.current())}if("`"==e)return c.tokenize=Q,Q(a,c);if("#"==e)return a.skipToEnd(),q("error","error");if(K.test(e))return a.eatWhile(K),q("operator","operator",a.current());if(R.test(e))return a.eatWhile(R),e=a.current(),(d=ba.propertyIsEnumerable(e)&&ba[e])&&"."!=c.lastType?q(d.type,d.style,e):q("variable","variable",e)}function pa(a){return function(c, +e){var d=!1,b;if(L&&"@"==c.peek()&&c.match(qa))return e.tokenize=w,q("jsonld-keyword","meta");for(;null!=(b=c.next())&&(b!=a||d);)d=!d&&"\\"==b;d||(e.tokenize=w);return q("string","string")}}function J(a,c){for(var e=!1,d;d=a.next();){if("/"==d&&e){c.tokenize=w;break}e="*"==d}return q("comment","comment")}function Q(a,c){for(var e=!1,d;null!=(d=a.next());){if(!e&&("`"==d||"$"==d&&a.eat("{"))){c.tokenize=w;break}e=!e&&"\\"==d}return q("quasi","string-2",a.current())}function S(a,c){c.fatArrowAt&&(c.fatArrowAt= +null);var e=a.string.indexOf("\x3d\x3e",a.start);if(!(0>e)){for(var d=0,b=!1,e=e-1;0<=e;--e){var f=a.string.charAt(e),g="([{}])".indexOf(f);if(0<=g&&3>g){if(!d){++e;break}if(0==--d)break}else if(3<=g&&6>g)++d;else if(R.test(f))b=!0;else{if(/["'\/]/.test(f))return;if(b&&!d){++e;break}}}b&&!d&&(c.fatArrowAt=e)}}function ca(a,c,b,d,f,h){this.indented=a;this.column=c;this.type=b;this.prev=f;this.info=h;null!=d&&(this.align=d)}function g(){for(var a=arguments.length-1;0<=a;a--)f.cc.push(arguments[a])} +function b(){g.apply(null,arguments);return!0}function x(a){function c(c){for(;c;c=c.next)if(c.name==a)return!0;return!1}var b=f.state;b.context?(f.marked="def",c(b.localVars)||(b.localVars={name:a,next:b.localVars})):!c(b.globalVars)&&t.globalVars&&(b.globalVars={name:a,next:b.globalVars})}function y(){f.state.context={prev:f.state.context,vars:f.state.localVars};f.state.localVars=ra}function z(){f.state.localVars=f.state.context.vars;f.state.context=f.state.context.prev}function l(a,c){var b=function(){var b= +f.state,e=b.indented;if("stat"==b.lexical.type)e=b.lexical.indented;else for(var h=b.lexical;h&&")"==h.type&&h.align;h=h.prev)e=h.indented;b.lexical=new ca(e,f.stream.column(),a,null,b.lexical,c)};b.lex=!0;return b}function k(){var a=f.state;a.lexical.prev&&(")"==a.lexical.type&&(a.indented=a.lexical.indented),a.lexical=a.lexical.prev)}function m(a){function c(e){return e==a?b():";"==a?g():b(c)}return c}function r(a,c){return"var"==a?b(l("vardef",c.length),T,m(";"),k):"keyword a"==a?b(l("form"),n, +r,k):"keyword b"==a?b(l("form"),r,k):"{"==a?b(l("}"),U,k):";"==a?b():"if"==a?("else"==f.state.lexical.info&&f.state.cc[f.state.cc.length-1]==k&&f.state.cc.pop()(),b(l("form"),n,r,k,da)):"function"==a?b(v):"for"==a?b(l("form"),ea,r,k):"variable"==a?b(l("stat"),sa):"switch"==a?b(l("form"),n,l("}","switch"),m("{"),U,k,k):"case"==a?b(n,m(":")):"default"==a?b(m(":")):"catch"==a?b(l("form"),y,m("("),V,m(")"),r,k,z):"module"==a?b(l("form"),y,ta,z,k):"class"==a?b(l("form"),ua,k):"export"==a?b(l("form"),va, +k):"import"==a?b(l("form"),wa,k):g(l("stat"),n,m(";"),k)}function n(a){return fa(a,!1)}function u(a){return fa(a,!0)}function fa(a,c){if(f.state.fatArrowAt==f.stream.start){var e=c?ga:ha;if("("==a)return b(y,l(")"),F(A,")"),k,m("\x3d\x3e"),e,z);if("variable"==a)return g(y,A,m("\x3d\x3e"),e,z)}e=c?W:M;return xa.hasOwnProperty(a)?b(e):"function"==a?b(v,e):"keyword c"==a?b(c?ia:X):"("==a?b(l(")"),X,N,m(")"),k,e):"operator"==a||"spread"==a?b(c?u:n):"["==a?b(l("]"),ya,k,e):"{"==a?G(za,"}",null,e):"quasi"== +a?g(O,e):b()}function X(a){return a.match(/[;\}\)\],]/)?g():g(n)}function ia(a){return a.match(/[;\}\)\],]/)?g():g(u)}function M(a,c){return","==a?b(n):W(a,c,!1)}function W(a,c,e){var d=0==e?M:W,f=0==e?n:u;if("\x3d\x3e"==a)return b(y,e?ga:ha,z);if("operator"==a)return/\+\+|--/.test(c)?b(d):"?"==c?b(n,m(":"),f):b(f);if("quasi"==a)return g(O,d);if(";"!=a){if("("==a)return G(u,")","call",d);if("."==a)return b(Aa,d);if("["==a)return b(l("]"),X,m("]"),k,d)}}function O(a,c){return"quasi"!=a?g():"${"!=c.slice(c.length- +2)?b(O):b(n,Ba)}function Ba(a){if("}"==a)return f.marked="string-2",f.state.tokenize=Q,b(O)}function ha(a){S(f.stream,f.state);return g("{"==a?r:n)}function ga(a){S(f.stream,f.state);return g("{"==a?r:u)}function sa(a){return":"==a?b(k,r):g(M,m(";"),k)}function Aa(a){if("variable"==a)return f.marked="property",b()}function za(a,c){if("variable"==a||"keyword"==f.style)return f.marked="property","get"==c||"set"==c?b(Ca):b(H);if("number"==a||"string"==a)return f.marked=L?"property":f.style+" property", +b(H);if("jsonld-keyword"==a)return b(H);if("["==a)return b(n,m("]"),H)}function Ca(a){if("variable"!=a)return g(H);f.marked="property";return b(v)}function H(a){if(":"==a)return b(u);if("("==a)return g(v)}function F(a,c){function e(d){return","==d?(d=f.state.lexical,"call"==d.info&&(d.pos=(d.pos||0)+1),b(a,e)):d==c?b():b(m(c))}return function(d){return d==c?b():g(a,e)}}function G(a,c,e){for(var d=3;d<arguments.length;d++)f.cc.push(arguments[d]);return b(l(c,e),F(a,c),k)}function U(a){return"}"==a? +b():g(r,U)}function ja(a){if(ka&&":"==a)return b(Da)}function Da(a){if("variable"==a)return f.marked="variable-3",b()}function T(){return g(A,ja,Y,Ea)}function A(a,c){if("variable"==a)return x(c),b();if("["==a)return G(A,"]");if("{"==a)return G(Fa,"}")}function Fa(a,c){if("variable"==a&&!f.stream.match(/^\s*:/,!1))return x(c),b(Y);"variable"==a&&(f.marked="property");return b(m(":"),A,Y)}function Y(a,c){if("\x3d"==c)return b(u)}function Ea(a){if(","==a)return b(T)}function da(a,c){if("keyword b"== +a&&"else"==c)return b(l("form","else"),r,k)}function ea(a){if("("==a)return b(l(")"),Ga,m(")"),k)}function Ga(a){return"var"==a?b(T,m(";"),P):";"==a?b(P):"variable"==a?b(Ha):g(n,m(";"),P)}function Ha(a,c){return"in"==c||"of"==c?(f.marked="keyword",b(n)):b(M,P)}function P(a,c){return";"==a?b(la):"in"==c||"of"==c?(f.marked="keyword",b(n)):g(n,m(";"),la)}function la(a){")"!=a&&b(n)}function v(a,c){if("*"==c)return f.marked="keyword",b(v);if("variable"==a)return x(c),b(v);if("("==a)return b(y,l(")"), +F(V,")"),k,r,z)}function V(a){return"spread"==a?b(V):g(A,ja)}function ua(a,c){if("variable"==a)return x(c),b(ma)}function ma(a,c){if("extends"==c)return b(n,ma);if("{"==a)return b(l("}"),B,k)}function B(a,c){if("variable"==a||"keyword"==f.style){if("static"==c)return f.marked="keyword",b(B);f.marked="property";return"get"==c||"set"==c?b(Ia,v,B):b(v,B)}if("*"==c)return f.marked="keyword",b(B);if(";"==a)return b(B);if("}"==a)return b()}function Ia(a){if("variable"!=a)return g();f.marked="property"; +return b()}function ta(a,c){if("string"==a)return b(r);if("variable"==a)return x(c),b(Z)}function va(a,c){return"*"==c?(f.marked="keyword",b(Z,m(";"))):"default"==c?(f.marked="keyword",b(n,m(";"))):g(r)}function wa(a){return"string"==a?b():g(aa,Z)}function aa(a,c){if("{"==a)return G(aa,"}");"variable"==a&&x(c);"*"==c&&(f.marked="keyword");return b(Ja)}function Ja(a,c){if("as"==c)return f.marked="keyword",b(aa)}function Z(a,c){if("from"==c)return f.marked="keyword",b(n)}function ya(a){return"]"==a? +b():g(u,Ka)}function Ka(a){return"for"==a?g(N,m("]")):","==a?b(F(ia,"]")):g(F(u,"]"))}function N(a){if("for"==a)return b(ea,N);if("if"==a)return b(n,N)}var C=oa.indentUnit,na=t.statementIndent,L=t.jsonld,D=t.json||L,ka=t.typescript,R=t.wordCharacters||/[\w$\xa1-\uffff]/,ba=function(){function a(a){return{type:a,style:"keyword"}}var c=a("keyword a"),b=a("keyword b"),d=a("keyword c"),f=a("operator"),h={type:"atom",style:"atom"},c={"if":a("if"),"while":c,"with":c,"else":b,"do":b,"try":b,"finally":b, +"return":d,"break":d,"continue":d,"new":d,"delete":d,"throw":d,"debugger":d,"var":a("var"),"const":a("var"),let:a("var"),"function":a("function"),"catch":a("catch"),"for":a("for"),"switch":a("switch"),"case":a("case"),"default":a("default"),"in":f,"typeof":f,"instanceof":f,"true":h,"false":h,"null":h,undefined:h,NaN:h,Infinity:h,"this":a("this"),module:a("module"),"class":a("class"),"super":a("atom"),yield:d,"export":a("export"),"import":a("import"),"extends":d};if(ka){var b={type:"variable",style:"variable-3"}, +b={"interface":a("interface"),"extends":a("extends"),constructor:a("constructor"),"public":a("public"),"private":a("private"),"protected":a("protected"),"static":a("static"),string:b,number:b,bool:b,any:b},g;for(g in b)c[g]=b[g]}return c}(),K=/[+\-*&%=<>!?|~^]/,qa=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/,E,I,xa={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,"this":!0,"jsonld-keyword":!0},f={state:null,column:null,marked:null,cc:null},ra={name:"this", +next:{name:"arguments"}};k.lex=!0;return{startState:function(a){a={tokenize:w,lastType:"sof",cc:[],lexical:new ca((a||0)-C,0,"block",!1),localVars:t.localVars,context:t.localVars&&{vars:t.localVars},indented:0};t.globalVars&&"object"==typeof t.globalVars&&(a.globalVars=t.globalVars);return a},token:function(a,b){a.sol()&&(b.lexical.hasOwnProperty("align")||(b.lexical.align=!1),b.indented=a.indentation(),S(a,b));if(b.tokenize!=J&&a.eatSpace())return null;var e=b.tokenize(a,b);if("comment"==E)return e; +b.lastType="operator"!=E||"++"!=I&&"--"!=I?E:"incdec";a:{var d=E,g=I,h=b.cc;f.state=b;f.stream=a;f.marked=null;f.cc=h;f.style=e;b.lexical.hasOwnProperty("align")||(b.lexical.align=!0);for(;;)if((h.length?h.pop():D?n:r)(d,g)){for(;h.length&&h[h.length-1].lex;)h.pop()();if(f.marked){e=f.marked;break a}if(d="variable"==d)b:{for(d=b.localVars;d;d=d.next)if(d.name==g){d=!0;break b}for(h=b.context;h;h=h.prev)for(d=h.vars;d;d=d.next)if(d.name==g){d=!0;break b}d=void 0}if(d){e="variable-2";break a}break a}}return e}, +indent:function(a,b){if(a.tokenize==J)return p.Pass;if(a.tokenize!=w)return 0;var e=b&&b.charAt(0),d=a.lexical;if(!/^\s*else\b/.test(b))for(var f=a.cc.length-1;0<=f;--f){var g=a.cc[f];if(g==k)d=d.prev;else if(g!=da)break}"stat"==d.type&&"}"==e&&(d=d.prev);na&&")"==d.type&&"stat"==d.prev.type&&(d=d.prev);f=d.type;g=e==f;return"vardef"==f?d.indented+("operator"==a.lastType||","==a.lastType?d.info+1:0):"form"==f&&"{"==e?d.indented:"form"==f?d.indented+C:"stat"==f?(e=d.indented,d="operator"==a.lastType|| +","==a.lastType||K.test(b.charAt(0))||/[,.]/.test(b.charAt(0)),e+(d?na||C:0)):"switch"!=d.info||g||0==t.doubleIndentSwitch?d.align?d.column+(g?0:1):d.indented+(g?0:C):d.indented+(/^(?:case|default)\b/.test(b)?C:2*C)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:D?null:"/*",blockCommentEnd:D?null:"*/",lineComment:D?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:D?"json":"javascript",jsonldMode:L,jsonMode:D}});p.registerHelper("wordChars","javascript",/[\w$]/); +p.defineMIME("text/javascript","javascript");p.defineMIME("text/ecmascript","javascript");p.defineMIME("application/javascript","javascript");p.defineMIME("application/x-javascript","javascript");p.defineMIME("application/ecmascript","javascript");p.defineMIME("application/json",{name:"javascript",json:!0});p.defineMIME("application/x-json",{name:"javascript",json:!0});p.defineMIME("application/ld+json",{name:"javascript",jsonld:!0});p.defineMIME("text/typescript",{name:"javascript",typescript:!0}); +p.defineMIME("application/typescript",{name:"javascript",typescript:!0})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/javascript.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.js (revision 7) @@ -0,0 +1,288 @@ +(function(q){if("object"==typeof exports&&"object"==typeof module)module.exports=q();else{if("function"==typeof define&&define.amd)return define([],q);this.CodeMirror=q()}})(function(){function q(a,b){if(!(this instanceof q))return new q(a,b);this.options=b=b?V(b):{};V(qf,b,!1);wc(b);var c=b.value;"string"==typeof c&&(c=new P(c,b.mode));this.doc=c;var d=new q.inputStyles[b.inputStyle](this),d=this.display=new rf(a,c,d);d.wrapper.CodeMirror=this;Ad(this);Bd(this);b.lineWrapping&&(this.display.wrapper.className+= +" CodeMirror-wrap");b.autofocus&&!ab&&d.input.focus();Cd(this);this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:!1,cutIncoming:!1,draggingText:!1,highlight:new bb,keySeq:null,specialChars:null};var e=this;B&&11>C&&setTimeout(function(){e.display.input.reset(!0)},20);sf(this);Dd||(tf(),Dd=!0);Ja(this);this.curOp.forceUpdate=!0;Ed(this,c);b.autofocus&&!ab||e.hasFocus()?setTimeout(cb(xc,this),20):db(this);for(var f in Ka)if(Ka.hasOwnProperty(f))Ka[f](this, +b[f],Fd);Gd(this);b.finishInit&&b.finishInit(this);for(c=0;c<yc.length;++c)yc[c](this);La(this);J&&b.lineWrapping&&"optimizelegibility"==getComputedStyle(d.lineDiv).textRendering&&(d.lineDiv.style.textRendering="auto")}function rf(a,b,c){this.input=c;this.scrollbarFiller=t("div",null,"CodeMirror-scrollbar-filler");this.scrollbarFiller.setAttribute("cm-not-content","true");this.gutterFiller=t("div",null,"CodeMirror-gutter-filler");this.gutterFiller.setAttribute("cm-not-content","true");this.lineDiv= +t("div",null,"CodeMirror-code");this.selectionDiv=t("div",null,null,"position: relative; z-index: 1");this.cursorDiv=t("div",null,"CodeMirror-cursors");this.measure=t("div",null,"CodeMirror-measure");this.lineMeasure=t("div",null,"CodeMirror-measure");this.lineSpace=t("div",[this.measure,this.lineMeasure,this.selectionDiv,this.cursorDiv,this.lineDiv],null,"position: relative; outline: none");this.mover=t("div",[t("div",[this.lineSpace],"CodeMirror-lines")],null,"position: relative");this.sizer=t("div", +[this.mover],"CodeMirror-sizer");this.sizerWidth=null;this.heightForcer=t("div",null,null,"position: absolute; height: "+Hd+"px; width: 1px;");this.gutters=t("div",null,"CodeMirror-gutters");this.lineGutter=null;this.scroller=t("div",[this.sizer,this.heightForcer,this.gutters],"CodeMirror-scroll");this.scroller.setAttribute("tabIndex","-1");this.wrapper=t("div",[this.scrollbarFiller,this.gutterFiller,this.scroller],"CodeMirror");B&&8>C&&(this.gutters.style.zIndex=-1,this.scroller.style.paddingRight= +0);J||wa&&ab||(this.scroller.draggable=!0);a&&(a.appendChild?a.appendChild(this.wrapper):a(this.wrapper));this.reportedViewFrom=this.reportedViewTo=this.viewFrom=this.viewTo=b.first;this.view=[];this.externalMeasured=this.renderedView=null;this.lastWrapHeight=this.lastWrapWidth=this.viewOffset=0;this.updateLineNumbers=null;this.nativeBarWidth=this.barHeight=this.barWidth=0;this.scrollbarsClipped=!1;this.lineNumWidth=this.lineNumInnerWidth=this.lineNumChars=null;this.alignWidgets=!1;this.maxLine=this.cachedCharWidth= +this.cachedTextHeight=this.cachedPaddingH=null;this.maxLineLength=0;this.maxLineChanged=!1;this.wheelDX=this.wheelDY=this.wheelStartX=this.wheelStartY=null;this.shift=!1;this.activeTouch=this.selForContextMenu=null;c.init(this)}function zc(a){a.doc.mode=q.getMode(a.options,a.doc.modeOption);eb(a)}function eb(a){a.doc.iter(function(a){a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null)});a.doc.frontier=a.doc.first;fb(a,100);a.state.modeGen++;a.curOp&&Q(a)}function Id(a){var b=xa(a.display), +c=a.options.lineWrapping,d=c&&Math.max(5,a.display.scroller.clientWidth/gb(a.display)-3);return function(e){if(ya(a.doc,e))return 0;var f=0;if(e.widgets)for(var g=0;g<e.widgets.length;g++)e.widgets[g].height&&(f+=e.widgets[g].height);return c?f+(Math.ceil(e.text.length/d)||1)*b:f+b}}function Ac(a){var b=a.doc,c=Id(a);b.iter(function(a){var b=c(a);b!=a.height&&ca(a,b)})}function Bd(a){a.display.wrapper.className=a.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+a.options.theme.replace(/(^|\s)\s*/g, +" cm-s-");hb(a)}function ib(a){Ad(a);Q(a);setTimeout(function(){Bc(a)},20)}function Ad(a){var b=a.display.gutters,c=a.options.gutters;za(b);for(var d=0;d<c.length;++d){var e=c[d],f=b.appendChild(t("div",null,"CodeMirror-gutter "+e));"CodeMirror-linenumbers"==e&&(a.display.lineGutter=f,f.style.width=(a.display.lineNumWidth||1)+"px")}b.style.display=d?"":"none";Cc(a)}function Cc(a){a.display.sizer.style.marginLeft=a.display.gutters.offsetWidth+"px"}function Kb(a){if(0==a.height)return 0;for(var b=a.text.length, +c,d=a;c=Aa(d,!0);)c=c.find(0,!0),d=c.from.line,b+=c.from.ch-c.to.ch;for(d=a;c=Aa(d,!1);)c=c.find(0,!0),b-=d.text.length-c.from.ch,d=c.to.line,b+=d.text.length-c.to.ch;return b}function Dc(a){var b=a.display;a=a.doc;b.maxLine=u(a,a.first);b.maxLineLength=Kb(b.maxLine);b.maxLineChanged=!0;a.iter(function(a){var d=Kb(a);d>b.maxLineLength&&(b.maxLineLength=d,b.maxLine=a)})}function wc(a){var b=D(a.gutters,"CodeMirror-linenumbers");-1==b&&a.lineNumbers?a.gutters=a.gutters.concat(["CodeMirror-linenumbers"]): +-1<b&&!a.lineNumbers&&(a.gutters=a.gutters.slice(0),a.gutters.splice(b,1))}function jb(a){var b=a.display,c=b.gutters.offsetWidth,d=Math.round(a.doc.height+Ec(a.display));return{clientHeight:b.scroller.clientHeight,viewHeight:b.wrapper.clientHeight,scrollWidth:b.scroller.scrollWidth,clientWidth:b.scroller.clientWidth,viewWidth:b.wrapper.clientWidth,barLeft:a.options.fixedGutter?c:0,docHeight:d,scrollHeight:d+da(a)+b.barHeight,nativeBarWidth:b.nativeBarWidth,gutterWidth:c}}function Fc(a,b,c){this.cm= +c;var d=this.vert=t("div",[t("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),e=this.horiz=t("div",[t("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");a(d);a(e);v(d,"scroll",function(){d.clientHeight&&b(d.scrollTop,"vertical")});v(e,"scroll",function(){e.clientWidth&&b(e.scrollLeft,"horizontal")});this.checkedOverlay=!1;B&&8>C&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")}function Gc(){}function Cd(a){a.display.scrollbars&&(a.display.scrollbars.clear(), +a.display.scrollbars.addClass&&kb(a.display.wrapper,a.display.scrollbars.addClass));a.display.scrollbars=new q.scrollbarModel[a.options.scrollbarStyle](function(b){a.display.wrapper.insertBefore(b,a.display.scrollbarFiller);v(b,"mousedown",function(){a.state.focused&&setTimeout(function(){a.display.input.focus()},0)});b.setAttribute("cm-not-content","true")},function(b,c){"horizontal"==c?Ma(a,b):lb(a,b)},a);a.display.scrollbars.addClass&&mb(a.display.wrapper,a.display.scrollbars.addClass)}function Na(a, +b){b||(b=jb(a));var c=a.display.barWidth,d=a.display.barHeight;Jd(a,b);for(var e=0;4>e&&c!=a.display.barWidth||d!=a.display.barHeight;e++)c!=a.display.barWidth&&a.options.lineWrapping&&Lb(a),Jd(a,jb(a)),c=a.display.barWidth,d=a.display.barHeight}function Jd(a,b){var c=a.display,d=c.scrollbars.update(b);c.sizer.style.paddingRight=(c.barWidth=d.right)+"px";c.sizer.style.paddingBottom=(c.barHeight=d.bottom)+"px";d.right&&d.bottom?(c.scrollbarFiller.style.display="block",c.scrollbarFiller.style.height= +d.bottom+"px",c.scrollbarFiller.style.width=d.right+"px"):c.scrollbarFiller.style.display="";d.bottom&&a.options.coverGutterNextToScrollbar&&a.options.fixedGutter?(c.gutterFiller.style.display="block",c.gutterFiller.style.height=d.bottom+"px",c.gutterFiller.style.width=b.gutterWidth+"px"):c.gutterFiller.style.display=""}function Hc(a,b,c){var d=c&&null!=c.top?Math.max(0,c.top):a.scroller.scrollTop,d=Math.floor(d-a.lineSpace.offsetTop),e=c&&null!=c.bottom?c.bottom:d+a.wrapper.clientHeight,d=Ba(b,d), +e=Ba(b,e);if(c&&c.ensure){var f=c.ensure.from.line;c=c.ensure.to.line;f<d?(d=f,e=Ba(b,ea(u(b,f))+a.wrapper.clientHeight)):Math.min(c,b.lastLine())>=e&&(d=Ba(b,ea(u(b,c))-a.wrapper.clientHeight),e=c)}return{from:d,to:Math.max(e,d+1)}}function Bc(a){var b=a.display,c=b.view;if(b.alignWidgets||b.gutters.firstChild&&a.options.fixedGutter){for(var d=Ic(b)-b.scroller.scrollLeft+a.doc.scrollLeft,e=b.gutters.offsetWidth,f=d+"px",g=0;g<c.length;g++)if(!c[g].hidden){a.options.fixedGutter&&c[g].gutter&&(c[g].gutter.style.left= +f);var h=c[g].alignable;if(h)for(var k=0;k<h.length;k++)h[k].style.left=f}a.options.fixedGutter&&(b.gutters.style.left=d+e+"px")}}function Gd(a){if(!a.options.lineNumbers)return!1;var b=a.doc,b=Jc(a.options,b.first+b.size-1),c=a.display;if(b.length!=c.lineNumChars){var d=c.measure.appendChild(t("div",[t("div",b)],"CodeMirror-linenumber CodeMirror-gutter-elt")),e=d.firstChild.offsetWidth,d=d.offsetWidth-e;c.lineGutter.style.width="";c.lineNumInnerWidth=Math.max(e,c.lineGutter.offsetWidth-d)+1;c.lineNumWidth= +c.lineNumInnerWidth+d;c.lineNumChars=c.lineNumInnerWidth?b.length:-1;c.lineGutter.style.width=c.lineNumWidth+"px";Cc(a);return!0}return!1}function Jc(a,b){return String(a.lineNumberFormatter(b+a.firstLineNumber))}function Ic(a){return a.scroller.getBoundingClientRect().left-a.sizer.getBoundingClientRect().left}function Mb(a,b,c){var d=a.display;this.viewport=b;this.visible=Hc(d,a.doc,b);this.editorIsHidden=!d.wrapper.offsetWidth;this.wrapperHeight=d.wrapper.clientHeight;this.wrapperWidth=d.wrapper.clientWidth; +this.oldDisplayWidth=pa(a);this.force=c;this.dims=Kc(a);this.events=[]}function Lc(a,b){var c=a.display,d=a.doc;if(b.editorIsHidden)return qa(a),!1;if(!b.force&&b.visible.from>=c.viewFrom&&b.visible.to<=c.viewTo&&(null==c.updateLineNumbers||c.updateLineNumbers>=c.viewTo)&&c.renderedView==c.view&&0==Kd(a))return!1;Gd(a)&&(qa(a),b.dims=Kc(a));var e=d.first+d.size,f=Math.max(b.visible.from-a.options.viewportMargin,d.first),g=Math.min(e,b.visible.to+a.options.viewportMargin);c.viewFrom<f&&20>f-c.viewFrom&& +(f=Math.max(d.first,c.viewFrom));c.viewTo>g&&20>c.viewTo-g&&(g=Math.min(e,c.viewTo));ra&&(f=Mc(a.doc,f),g=Ld(a.doc,g));d=f!=c.viewFrom||g!=c.viewTo||c.lastWrapHeight!=b.wrapperHeight||c.lastWrapWidth!=b.wrapperWidth;e=a.display;0==e.view.length||f>=e.viewTo||g<=e.viewFrom?(e.view=Nb(a,f,g),e.viewFrom=f):(e.viewFrom>f?e.view=Nb(a,f,e.viewFrom).concat(e.view):e.viewFrom<f&&(e.view=e.view.slice(Ca(a,f))),e.viewFrom=f,e.viewTo<g?e.view=e.view.concat(Nb(a,e.viewTo,g)):e.viewTo>g&&(e.view=e.view.slice(0, +Ca(a,g))));e.viewTo=g;c.viewOffset=ea(u(a.doc,c.viewFrom));a.display.mover.style.top=c.viewOffset+"px";g=Kd(a);if(!d&&0==g&&!b.force&&c.renderedView==c.view&&(null==c.updateLineNumbers||c.updateLineNumbers>=c.viewTo))return!1;f=fa();4<g&&(c.lineDiv.style.display="none");uf(a,c.updateLineNumbers,b.dims);4<g&&(c.lineDiv.style.display="");c.renderedView=c.view;f&&fa()!=f&&f.offsetHeight&&f.focus();za(c.cursorDiv);za(c.selectionDiv);c.gutters.style.height=0;d&&(c.lastWrapHeight=b.wrapperHeight,c.lastWrapWidth= +b.wrapperWidth,fb(a,400));c.updateLineNumbers=null;return!0}function Md(a,b){for(var c=b.viewport,d=!0;;d=!1){if(!d||!a.options.lineWrapping||b.oldDisplayWidth==pa(a))if(c&&null!=c.top&&(c={top:Math.min(a.doc.height+Ec(a.display)-Nc(a),c.top)}),b.visible=Hc(a.display,a.doc,c),b.visible.from>=a.display.viewFrom&&b.visible.to<=a.display.viewTo)break;if(!Lc(a,b))break;Lb(a);d=jb(a);nb(a);Oc(a,d);Na(a,d)}b.signal(a,"update",a);if(a.display.viewFrom!=a.display.reportedViewFrom||a.display.viewTo!=a.display.reportedViewTo)b.signal(a, +"viewportChange",a,a.display.viewFrom,a.display.viewTo),a.display.reportedViewFrom=a.display.viewFrom,a.display.reportedViewTo=a.display.viewTo}function Pc(a,b){var c=new Mb(a,b);if(Lc(a,c)){Lb(a);Md(a,c);var d=jb(a);nb(a);Oc(a,d);Na(a,d);c.finish()}}function Oc(a,b){a.display.sizer.style.minHeight=b.docHeight+"px";var c=b.docHeight+a.display.barHeight;a.display.heightForcer.style.top=c+"px";a.display.gutters.style.height=Math.max(c+da(a),b.clientHeight)+"px"}function Lb(a){a=a.display;for(var b= +a.lineDiv.offsetTop,c=0;c<a.view.length;c++){var d=a.view[c],e;if(!d.hidden){if(B&&8>C){var f=d.node.offsetTop+d.node.offsetHeight;e=f-b;b=f}else e=d.node.getBoundingClientRect(),e=e.bottom-e.top;f=d.line.height-e;2>e&&(e=xa(a));if(.001<f||-.001>f)if(ca(d.line,e),Nd(d.line),d.rest)for(e=0;e<d.rest.length;e++)Nd(d.rest[e])}}}function Nd(a){if(a.widgets)for(var b=0;b<a.widgets.length;++b)a.widgets[b].height=a.widgets[b].node.offsetHeight}function Kc(a){for(var b=a.display,c={},d={},e=b.gutters.clientLeft, +f=b.gutters.firstChild,g=0;f;f=f.nextSibling,++g)c[a.options.gutters[g]]=f.offsetLeft+f.clientLeft+e,d[a.options.gutters[g]]=f.clientWidth;return{fixedPos:Ic(b),gutterTotalWidth:b.gutters.offsetWidth,gutterLeft:c,gutterWidth:d,wrapperWidth:b.wrapper.clientWidth}}function uf(a,b,c){function d(b){var c=b.nextSibling;J&&W&&a.display.currentWheelTarget==b?b.style.display="none":b.parentNode.removeChild(b);return c}for(var e=a.display,f=a.options.lineNumbers,g=e.lineDiv,h=g.firstChild,k=e.view,e=e.viewFrom, +l=0;l<k.length;l++){var m=k[l];if(!m.hidden)if(m.node&&m.node.parentNode==g){for(;h!=m.node;)h=d(h);h=f&&null!=b&&b<=e&&m.lineNumber;m.changes&&(-1<D(m.changes,"gutter")&&(h=!1),Od(a,m,e,c));h&&(za(m.lineNumber),m.lineNumber.appendChild(document.createTextNode(Jc(a.options,e))));h=m.node.nextSibling}else{var p=vf(a,m,e,c);g.insertBefore(p,h)}e+=m.size}for(;h;)h=d(h)}function Od(a,b,c,d){for(var e=0;e<b.changes.length;e++){var f=b.changes[e];if("text"==f){var f=b,g=f.text.className,h=Pd(a,f);f.text== +f.node&&(f.node=h.pre);f.text.parentNode.replaceChild(h.pre,f.text);f.text=h.pre;h.bgClass!=f.bgClass||h.textClass!=f.textClass?(f.bgClass=h.bgClass,f.textClass=h.textClass,Qc(f)):g&&(f.text.className=g)}else if("gutter"==f)Qd(a,b,c,d);else if("class"==f)Qc(b);else if("widget"==f){f=a;g=b;h=d;g.alignable&&(g.alignable=null);for(var k=g.node.firstChild,l=void 0;k;k=l)l=k.nextSibling,"CodeMirror-linewidget"==k.className&&g.node.removeChild(k);Rd(f,g,h)}}b.changes=null}function Ob(a){a.node==a.text&& +(a.node=t("div",null,null,"position: relative"),a.text.parentNode&&a.text.parentNode.replaceChild(a.node,a.text),a.node.appendChild(a.text),B&&8>C&&(a.node.style.zIndex=2));return a.node}function Pd(a,b){var c=a.display.externalMeasured;return c&&c.line==b.line?(a.display.externalMeasured=null,b.measure=c.measure,c.built):Sd(a,b)}function Qc(a){var b=a.bgClass?a.bgClass+" "+(a.line.bgClass||""):a.line.bgClass;b&&(b+=" CodeMirror-linebackground");if(a.background)b?a.background.className=b:(a.background.parentNode.removeChild(a.background), +a.background=null);else if(b){var c=Ob(a);a.background=c.insertBefore(t("div",null,b),c.firstChild)}a.line.wrapClass?Ob(a).className=a.line.wrapClass:a.node!=a.text&&(a.node.className="");a.text.className=(a.textClass?a.textClass+" "+(a.line.textClass||""):a.line.textClass)||""}function Qd(a,b,c,d){b.gutter&&(b.node.removeChild(b.gutter),b.gutter=null);var e=b.line.gutterMarkers;if(a.options.lineNumbers||e){var f=Ob(b),g=b.gutter=t("div",null,"CodeMirror-gutter-wrapper","left: "+(a.options.fixedGutter? +d.fixedPos:-d.gutterTotalWidth)+"px; width: "+d.gutterTotalWidth+"px");a.display.input.setUneditable(g);f.insertBefore(g,b.text);b.line.gutterClass&&(g.className+=" "+b.line.gutterClass);!a.options.lineNumbers||e&&e["CodeMirror-linenumbers"]||(b.lineNumber=g.appendChild(t("div",Jc(a.options,c),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+d.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+a.display.lineNumInnerWidth+"px")));if(e)for(b=0;b<a.options.gutters.length;++b)c=a.options.gutters[b], +(f=e.hasOwnProperty(c)&&e[c])&&g.appendChild(t("div",[f],"CodeMirror-gutter-elt","left: "+d.gutterLeft[c]+"px; width: "+d.gutterWidth[c]+"px"))}}function vf(a,b,c,d){var e=Pd(a,b);b.text=b.node=e.pre;e.bgClass&&(b.bgClass=e.bgClass);e.textClass&&(b.textClass=e.textClass);Qc(b);Qd(a,b,c,d);Rd(a,b,d);return b.node}function Rd(a,b,c){Td(a,b.line,b,c,!0);if(b.rest)for(var d=0;d<b.rest.length;d++)Td(a,b.rest[d],b,c,!1)}function Td(a,b,c,d,e){if(b.widgets){var f=Ob(c),g=0;for(b=b.widgets;g<b.length;++g){var h= +b[g],k=t("div",[h.node],"CodeMirror-linewidget");h.handleMouseEvents||k.setAttribute("cm-ignore-events","true");var l=h,m=k,p=d;if(l.noHScroll){(c.alignable||(c.alignable=[])).push(m);var n=p.wrapperWidth;m.style.left=p.fixedPos+"px";l.coverGutter||(n-=p.gutterTotalWidth,m.style.paddingLeft=p.gutterTotalWidth+"px");m.style.width=n+"px"}l.coverGutter&&(m.style.zIndex=5,m.style.position="relative",l.noHScroll||(m.style.marginLeft=-p.gutterTotalWidth+"px"));a.display.input.setUneditable(k);e&&h.above? +f.insertBefore(k,c.gutter||c.text):f.appendChild(k);L(h,"redraw")}}}function Rc(a){return r(a.line,a.ch)}function Pb(a,b){return 0>y(a,b)?b:a}function Qb(a,b){return 0>y(a,b)?a:b}function Ud(a){a.state.focused||(a.display.input.focus(),xc(a))}function Rb(a){return a.options.readOnly||a.doc.cantEdit}function Sc(a,b,c,d,e){var f=a.doc;a.display.shift=!1;d||(d=f.sel);var g=sa(b),h=null;a.state.pasteIncoming&&1<d.ranges.length&&(X&&X.join("\n")==b?h=0==d.ranges.length%X.length&&ob(X,sa):g.length==d.ranges.length&& +(h=ob(g,function(a){return[a]})));for(var k=d.ranges.length-1;0<=k;k--){var l=d.ranges[k],m=l.from(),p=l.to();l.empty()&&(c&&0<c?m=r(m.line,m.ch-c):a.state.overwrite&&!a.state.pasteIncoming&&(p=r(p.line,Math.min(u(f,p.line).text.length,p.ch+A(g).length))));var n=a.curOp.updateInput,m={from:m,to:p,text:h?h[k%h.length]:g,origin:e||(a.state.pasteIncoming?"paste":a.state.cutIncoming?"cut":"+input")};Oa(a.doc,m);L(a,"inputRead",a,m);if(b&&!a.state.pasteIncoming&&a.options.electricChars&&a.options.smartIndent&& +100>l.head.ch&&(!k||d.ranges[k-1].head.line!=l.head.line)){l=a.getModeAt(l.head);m=ta(m);p=!1;if(l.electricChars)for(var E=0;E<l.electricChars.length;E++){if(-1<b.indexOf(l.electricChars.charAt(E))){p=pb(a,m.line,"smart");break}}else l.electricInput&&l.electricInput.test(u(f,m.line).text.slice(0,m.ch))&&(p=pb(a,m.line,"smart"));p&&L(a,"electricInput",a,m.line)}}Pa(a);a.curOp.updateInput=n;a.curOp.typing=!0;a.state.pasteIncoming=a.state.cutIncoming=!1}function Vd(a){for(var b=[],c=[],d=0;d<a.doc.sel.ranges.length;d++){var e= +a.doc.sel.ranges[d].head.line,e={anchor:r(e,0),head:r(e+1,0)};c.push(e);b.push(a.getRange(e.anchor,e.head))}return{text:b,ranges:c}}function Wd(a){a.setAttribute("autocorrect","off");a.setAttribute("autocapitalize","off");a.setAttribute("spellcheck","false")}function Tc(a){this.cm=a;this.prevInput="";this.pollingFast=!1;this.polling=new bb;this.hasSelection=this.inaccurateSelection=!1;this.composing=null}function Xd(){var a=t("textarea",null,null,"position: absolute; padding: 0; width: 1px; height: 1em; outline: none"), +b=t("div",[a],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");J?a.style.width="1000px":a.setAttribute("wrap","off");Qa&&(a.style.border="1px solid black");Wd(a);return b}function Uc(a){this.cm=a;this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null;this.polling=new bb;this.gracePeriod=!1}function Yd(a,b){var c=Vc(a,b.line);if(!c||c.hidden)return null;var d=u(a.doc,b.line),c=Zd(c,d,b.line);(d=Y(d))&&Sb(d,b.ch);d=$d(c.map,b.ch,"left");d.offset= +"right"==d.collapse?d.end:d.start;return d}function Ra(a,b){b&&(a.bad=!0);return a}function Tb(a,b,c){var d;if(b==a.display.lineDiv){d=a.display.lineDiv.childNodes[c];if(!d)return Ra(a.clipPos(r(a.display.viewTo-1)),!0);b=null;c=0}else for(d=b;;d=d.parentNode){if(!d||d==a.display.lineDiv)return null;if(d.parentNode&&d.parentNode==a.display.lineDiv)break}for(var e=0;e<a.display.view.length;e++){var f=a.display.view[e];if(f.node==d)return wf(f,b,c)}}function wf(a,b,c){function d(b,c,d){for(var e=-1;e< +(l?l.length:0);e++)for(var f=0>e?k.map:l[e],g=0;g<f.length;g+=3){var h=f[g+2];if(h==b||h==c){c=F(0>e?a.line:a.rest[e]);e=f[g]+d;if(0>d||h!=b)e=f[g+(d?1:0)];return r(c,e)}}}var e=a.text.firstChild,f=!1;if(!b||!Wc(e,b))return Ra(r(F(a.line),0),!0);if(b==e&&(f=!0,b=e.childNodes[c],c=0,!b))return c=a.rest?A(a.rest):a.line,Ra(r(F(c),c.text.length),f);var g=3==b.nodeType?b:null,h=b;g||1!=b.childNodes.length||3!=b.firstChild.nodeType||(g=b.firstChild,c&&(c=g.nodeValue.length));for(;h.parentNode!=e;)h=h.parentNode; +var k=a.measure,l=k.maps;if(b=d(g,h,c))return Ra(b,f);e=h.nextSibling;for(g=g?g.nodeValue.length-c:0;e;e=e.nextSibling){if(b=d(e,e.firstChild,0))return Ra(r(b.line,b.ch-g),f);g+=e.textContent.length}h=h.previousSibling;for(g=c;h;h=h.previousSibling){if(b=d(h,h.firstChild,-1))return Ra(r(b.line,b.ch+g),f);g+=e.textContent.length}}function xf(a,b,c,d,e){function f(a){return function(b){return b.id==a}}function g(b){if(1==b.nodeType){var c=b.getAttribute("cm-text");if(null!=c)""==c&&(c=b.textContent.replace(/\u200b/g, +"")),h+=c;else{var c=b.getAttribute("cm-marker"),p;if(c)b=a.findMarks(r(d,0),r(e+1,0),f(+c)),b.length&&(p=b[0].find())&&(h+=Da(a.doc,p.from,p.to).join("\n"));else if("false"!=b.getAttribute("contenteditable")){for(p=0;p<b.childNodes.length;p++)g(b.childNodes[p]);/^(pre|div|p)$/i.test(b.nodeName)&&(k=!0)}}}else 3==b.nodeType&&(b=b.nodeValue)&&(k&&(h+="\n",k=!1),h+=b)}for(var h="",k=!1;;){g(b);if(b==c)break;b=b.nextSibling}return h}function la(a,b){this.ranges=a;this.primIndex=b}function z(a,b){this.anchor= +a;this.head=b}function Z(a,b){var c=a[b];a.sort(function(a,b){return y(a.from(),b.from())});b=D(a,c);for(c=1;c<a.length;c++){var d=a[c],e=a[c-1];if(0<=y(e.to(),d.from())){var f=Qb(e.from(),d.from()),g=Pb(e.to(),d.to()),d=e.empty()?d.from()==d.head:e.from()==e.head;c<=b&&--b;a.splice(--c,2,new z(d?g:f,d?f:g))}}return new la(a,b)}function ga(a,b){return new la([new z(a,b||a)],0)}function w(a,b){if(b.line<a.first)return r(a.first,0);var c=a.first+a.size-1;if(b.line>c)return r(c,u(a,c).text.length);var c= +u(a,b.line).text.length,d=b.ch,c=null==d||d>c?r(b.line,c):0>d?r(b.line,0):b;return c}function qb(a,b){return b>=a.first&&b<a.first+a.size}function rb(a,b,c,d){return a.cm&&a.cm.display.shift||a.extend?(a=b.anchor,d&&(b=0>y(c,a),b!=0>y(d,a)?(a=c,c=d):b!=0>y(c,d)&&(c=d)),new z(a,c)):new z(d||c,c)}function Ub(a,b,c,d){H(a,new la([rb(a,a.sel.primary(),b,c)],0),d)}function ae(a,b,c){for(var d=[],e=0;e<a.sel.ranges.length;e++)d[e]=rb(a,a.sel.ranges[e],b[e],null);b=Z(d,a.sel.primIndex);H(a,b,c)}function Xc(a, +b,c,d){var e=a.sel.ranges.slice(0);e[b]=c;H(a,Z(e,a.sel.primIndex),d)}function yf(a,b){var c={ranges:b.ranges,update:function(b){this.ranges=[];for(var c=0;c<b.length;c++)this.ranges[c]=new z(w(a,b[c].anchor),w(a,b[c].head))}};K(a,"beforeSelectionChange",a,c);a.cm&&K(a.cm,"beforeSelectionChange",a.cm,c);return c.ranges!=b.ranges?Z(c.ranges,c.ranges.length-1):b}function be(a,b,c){var d=a.history.done,e=A(d);e&&e.ranges?(d[d.length-1]=b,Vb(a,b,c)):H(a,b,c)}function H(a,b,c){Vb(a,b,c);b=a.sel;var d= +a.cm?a.cm.curOp.id:NaN,e=a.history,f=c&&c.origin,g;if(!(g=d==e.lastSelOp)&&(g=f&&e.lastSelOrigin==f)&&!(g=e.lastModTime==e.lastSelTime&&e.lastOrigin==f)){g=A(e.done);var h=f.charAt(0);g="*"==h||"+"==h&&g.ranges.length==b.ranges.length&&g.somethingSelected()==b.somethingSelected()&&new Date-a.history.lastSelTime<=(a.cm?a.cm.options.historyEventDelay:500)}g?e.done[e.done.length-1]=b:Wb(b,e.done);e.lastSelTime=+new Date;e.lastSelOrigin=f;e.lastSelOp=d;c&&!1!==c.clearRedo&&ce(e.undone)}function Vb(a, +b,c){if(S(a,"beforeSelectionChange")||a.cm&&S(a.cm,"beforeSelectionChange"))b=yf(a,b);var d=c&&c.bias||(0>y(b.primary().head,a.sel.primary().head)?-1:1);de(a,ee(a,b,d,!0));c&&!1===c.scroll||!a.cm||Pa(a.cm)}function de(a,b){b.equals(a.sel)||(a.sel=b,a.cm&&(a.cm.curOp.updateInput=a.cm.curOp.selectionChanged=!0,fe(a.cm)),L(a,"cursorActivity",a))}function ge(a){de(a,ee(a,a.sel,null,!1),ha)}function ee(a,b,c,d){for(var e,f=0;f<b.ranges.length;f++){var g=b.ranges[f],h=Xb(a,g.anchor,c,d),k=Xb(a,g.head,c, +d);if(e||h!=g.anchor||k!=g.head)e||(e=b.ranges.slice(0,f)),e[f]=new z(h,k)}return e?Z(e,b.primIndex):b}function Xb(a,b,c,d){var e=!1,f=b,g=c||1;a.cantEdit=!1;a:for(;;){var h=u(a,f.line);if(h.markedSpans)for(var k=0;k<h.markedSpans.length;++k){var l=h.markedSpans[k],m=l.marker;if((null==l.from||(m.inclusiveLeft?l.from<=f.ch:l.from<f.ch))&&(null==l.to||(m.inclusiveRight?l.to>=f.ch:l.to>f.ch))){if(d&&(K(m,"beforeCursorEnter"),m.explicitlyCleared))if(h.markedSpans){--k;continue}else break;if(m.atomic){k= +m.find(0>g?-1:1);if(0==y(k,f)&&(k.ch+=g,0>k.ch?k=k.line>a.first?w(a,r(k.line-1)):null:k.ch>h.text.length&&(k=k.line<a.first+a.size-1?r(k.line+1,0):null),!k)){if(e){if(!d)return Xb(a,b,c,!0);a.cantEdit=!0;return r(a.first,0)}e=!0;k=b;g=-g}f=k;continue a}}}return f}}function nb(a){a.display.input.showSelection(a.display.input.prepareSelection())}function he(a,b){for(var c=a.doc,d={},e=d.cursors=document.createDocumentFragment(),f=d.selection=document.createDocumentFragment(),g=0;g<c.sel.ranges.length;g++)if(!1!== +b||g!=c.sel.primIndex){var h=c.sel.ranges[g],k=h.empty();if(k||a.options.showCursorWhenSelecting){var l=a,m=e,p=ma(l,h.head,"div",null,null,!l.options.singleCursorHeightPerLine),n=m.appendChild(t("div"," ","CodeMirror-cursor"));n.style.left=p.left+"px";n.style.top=p.top+"px";n.style.height=Math.max(0,p.bottom-p.top)*l.options.cursorHeight+"px";p.other&&(l=m.appendChild(t("div"," ","CodeMirror-cursor CodeMirror-secondarycursor")),l.style.display="",l.style.left=p.other.left+"px",l.style.top=p.other.top+ +"px",l.style.height=.85*(p.other.bottom-p.other.top)+"px")}k||zf(a,h,f)}return d}function zf(a,b,c){function d(a,b,c,d){0>b&&(b=0);b=Math.round(b);d=Math.round(d);h.appendChild(t("div",null,"CodeMirror-selected","position: absolute; left: "+a+"px; top: "+b+"px; width: "+(null==c?m-a:c)+"px; height: "+(d-b)+"px"))}function e(b,c,e){var f=u(g,b),h=f.text.length,k,p;Af(Y(f),c||0,null==e?h:e,function(g,q,t){var u=Yb(a,r(b,g),"div",f,"left"),v,w;g==q?(v=u,t=w=u.left):(v=Yb(a,r(b,q-1),"div",f,"right"), +"rtl"==t&&(t=u,u=v,v=t),t=u.left,w=v.right);null==c&&0==g&&(t=l);3<v.top-u.top&&(d(t,u.top,null,u.bottom),t=l,u.bottom<v.top&&d(t,u.bottom,null,v.top));null==e&&q==h&&(w=m);if(!k||u.top<k.top||u.top==k.top&&u.left<k.left)k=u;if(!p||v.bottom>p.bottom||v.bottom==p.bottom&&v.right>p.right)p=v;t<l+1&&(t=l);d(t,v.top,w-t,v.bottom)});return{start:k,end:p}}var f=a.display,g=a.doc,h=document.createDocumentFragment(),k=ie(a.display),l=k.left,m=Math.max(f.sizerWidth,pa(a)-f.sizer.offsetLeft)-k.right,f=b.from(); +b=b.to();if(f.line==b.line)e(f.line,f.ch,b.ch);else{var p=u(g,f.line),k=u(g,b.line),k=ia(p)==ia(k),f=e(f.line,f.ch,k?p.text.length+1:null).end;b=e(b.line,k?0:null,b.ch).start;k&&(f.top<b.top-2?(d(f.right,f.top,null,f.bottom),d(l,b.top,b.left,b.bottom)):d(f.right,f.top,b.left-f.right,f.bottom));f.bottom<b.top&&d(l,f.bottom,null,b.top)}c.appendChild(h)}function Yc(a){if(a.state.focused){var b=a.display;clearInterval(b.blinker);var c=!0;b.cursorDiv.style.visibility="";0<a.options.cursorBlinkRate?b.blinker= +setInterval(function(){b.cursorDiv.style.visibility=(c=!c)?"":"hidden"},a.options.cursorBlinkRate):0>a.options.cursorBlinkRate&&(b.cursorDiv.style.visibility="hidden")}}function fb(a,b){a.doc.mode.startState&&a.doc.frontier<a.display.viewTo&&a.state.highlight.set(b,cb(Bf,a))}function Bf(a){var b=a.doc;b.frontier<b.first&&(b.frontier=b.first);if(!(b.frontier>=a.display.viewTo)){var c=+new Date+a.options.workTime,d=Sa(b.mode,sb(a,b.frontier)),e=[];b.iter(b.frontier,Math.min(b.first+b.size,a.display.viewTo+ +500),function(f){if(b.frontier>=a.display.viewFrom){var g=f.styles,h=je(a,f,d,!0);f.styles=h.styles;var k=f.styleClasses;(h=h.classes)?f.styleClasses=h:k&&(f.styleClasses=null);k=!g||g.length!=f.styles.length||k!=h&&(!k||!h||k.bgClass!=h.bgClass||k.textClass!=h.textClass);for(h=0;!k&&h<g.length;++h)k=g[h]!=f.styles[h];k&&e.push(b.frontier);f.stateAfter=Sa(b.mode,d)}else Zc(a,f.text,d),f.stateAfter=0==b.frontier%5?Sa(b.mode,d):null;++b.frontier;if(+new Date>c)return fb(a,a.options.workDelay),!0}); +e.length&&T(a,function(){for(var b=0;b<e.length;b++)na(a,e[b],"text")})}}function Cf(a,b,c){for(var d,e,f=a.doc,g=c?-1:b-(a.doc.mode.innerMode?1E3:100);b>g;--b){if(b<=f.first)return f.first;var h=u(f,b-1);if(h.stateAfter&&(!c||b<=f.frontier))return b;h=aa(h.text,null,a.options.tabSize);if(null==e||d>h)e=b-1,d=h}return e}function sb(a,b,c){var d=a.doc,e=a.display;if(!d.mode.startState)return!0;var f=Cf(a,b,c),g=f>d.first&&u(d,f-1).stateAfter,g=g?Sa(d.mode,g):Df(d.mode);d.iter(f,b,function(c){Zc(a, +c.text,g);c.stateAfter=f==b-1||0==f%5||f>=e.viewFrom&&f<e.viewTo?Sa(d.mode,g):null;++f});c&&(d.frontier=f);return g}function Ec(a){return a.mover.offsetHeight-a.lineSpace.offsetHeight}function ie(a){if(a.cachedPaddingH)return a.cachedPaddingH;var b=U(a.measure,t("pre","x")),b=window.getComputedStyle?window.getComputedStyle(b):b.currentStyle,b={left:parseInt(b.paddingLeft),right:parseInt(b.paddingRight)};isNaN(b.left)||isNaN(b.right)||(a.cachedPaddingH=b);return b}function da(a){return Hd-a.display.nativeBarWidth} +function pa(a){return a.display.scroller.clientWidth-da(a)-a.display.barWidth}function Nc(a){return a.display.scroller.clientHeight-da(a)-a.display.barHeight}function Zd(a,b,c){if(a.line==b)return{map:a.measure.map,cache:a.measure.cache};for(var d=0;d<a.rest.length;d++)if(a.rest[d]==b)return{map:a.measure.maps[d],cache:a.measure.caches[d]};for(d=0;d<a.rest.length;d++)if(F(a.rest[d])>c)return{map:a.measure.maps[d],cache:a.measure.caches[d],before:!0}}function Vc(a,b){if(b>=a.display.viewFrom&&b<a.display.viewTo)return a.display.view[Ca(a, +b)];var c=a.display.externalMeasured;if(c&&b>=c.lineN&&b<c.lineN+c.size)return c}function Zb(a,b){var c=F(b),d=Vc(a,c);d&&!d.text?d=null:d&&d.changes&&Od(a,d,c,Kc(a));if(!d){var e;e=ia(b);d=F(e);e=a.display.externalMeasured=new ke(a.doc,e,d);e.lineN=d;d=e.built=Sd(a,e);e.text=d.pre;U(a.display.lineMeasure,d.pre);d=e}c=Zd(d,b,c);return{line:b,view:d,rect:null,map:c.map,cache:c.cache,before:c.before,hasHeights:!1}}function $c(a,b,c,d,e){b.before&&(c=-1);var f=c+(d||"");if(b.cache.hasOwnProperty(f))a= +b.cache[f];else{b.rect||(b.rect=b.view.text.getBoundingClientRect());if(!b.hasHeights){var g=b.view,h=b.rect,k=a.options.lineWrapping,l=k&&pa(a);if(!g.measure.heights||k&&g.measure.width!=l){var m=g.measure.heights=[];if(k)for(g.measure.width=l,g=g.text.firstChild.getClientRects(),k=0;k<g.length-1;k++){var l=g[k],p=g[k+1];2<Math.abs(l.bottom-p.bottom)&&m.push((l.bottom+p.top)/2-h.top)}m.push(h.bottom-h.top)}b.hasHeights=!0}g=d;k=$d(b.map,c,g);d=k.node;h=k.start;l=k.end;c=k.collapse;var n;if(3==d.nodeType){for(m= +0;4>m;m++){for(;h&&tb(b.line.text.charAt(k.coverStart+h));)--h;for(;k.coverStart+l<k.coverEnd&&tb(b.line.text.charAt(k.coverStart+l));)++l;if(B&&9>C&&0==h&&l==k.coverEnd-k.coverStart)n=d.parentNode.getBoundingClientRect();else if(B&&a.options.lineWrapping){var E=Ea(d,h,l).getClientRects();n=E.length?E["right"==g?E.length-1:0]:ad}else n=Ea(d,h,l).getBoundingClientRect()||ad;if(n.left||n.right||0==h)break;l=h;--h;c="right"}B&&11>C&&((E=!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI)|| +(null!=bd?E=bd:(m=U(a.display.measure,t("span","x")),E=m.getBoundingClientRect(),m=Ea(m,0,1).getBoundingClientRect(),E=bd=1<Math.abs(E.left-m.left)),E=!E),E||(E=screen.logicalXDPI/screen.deviceXDPI,m=screen.logicalYDPI/screen.deviceYDPI,n={left:n.left*E,right:n.right*E,top:n.top*m,bottom:n.bottom*m}))}else 0<h&&(c=g="right"),n=a.options.lineWrapping&&1<(E=d.getClientRects()).length?E["right"==g?E.length-1:0]:d.getBoundingClientRect();!(B&&9>C)||h||n&&(n.left||n.right)||(n=(n=d.parentNode.getClientRects()[0])? +{left:n.left,right:n.left+gb(a.display),top:n.top,bottom:n.bottom}:ad);E=n.top-b.rect.top;d=n.bottom-b.rect.top;h=(E+d)/2;g=b.view.measure.heights;for(m=0;m<g.length-1&&!(h<g[m]);m++);c={left:("right"==c?n.right:n.left)-b.rect.left,right:("left"==c?n.left:n.right)-b.rect.left,top:m?g[m-1]:0,bottom:g[m]};n.left||n.right||(c.bogus=!0);a.options.singleCursorHeightPerLine||(c.rtop=E,c.rbottom=d);a=c;a.bogus||(b.cache[f]=a)}return{left:a.left,right:a.right,top:e?a.rtop:a.top,bottom:e?a.rbottom:a.bottom}} +function $d(a,b,c){for(var d,e,f,g,h=0;h<a.length;h+=3){var k=a[h],l=a[h+1];if(b<k)e=0,f=1,g="left";else if(b<l)e=b-k,f=e+1;else if(h==a.length-3||b==l&&a[h+3]>b)f=l-k,e=f-1,b>=l&&(g="right");if(null!=e){d=a[h+2];k==l&&c==(d.insertLeft?"left":"right")&&(g=c);if("left"==c&&0==e)for(;h&&a[h-2]==a[h-3]&&a[h-1].insertLeft;)d=a[(h-=3)+2],g="left";if("right"==c&&e==l-k)for(;h<a.length-3&&a[h+3]==a[h+4]&&!a[h+5].insertLeft;)d=a[(h+=3)+2],g="right";break}}return{node:d,start:e,end:f,collapse:g,coverStart:k, +coverEnd:l}}function le(a){if(a.measure&&(a.measure.cache={},a.measure.heights=null,a.rest))for(var b=0;b<a.rest.length;b++)a.measure.caches[b]={}}function me(a){a.display.externalMeasure=null;za(a.display.lineMeasure);for(var b=0;b<a.display.view.length;b++)le(a.display.view[b])}function hb(a){me(a);a.display.cachedCharWidth=a.display.cachedTextHeight=a.display.cachedPaddingH=null;a.options.lineWrapping||(a.display.maxLineChanged=!0);a.display.lineNumChars=null}function cd(a,b,c,d){if(b.widgets)for(var e= +0;e<b.widgets.length;++e)if(b.widgets[e].above){var f=ub(b.widgets[e]);c.top+=f;c.bottom+=f}if("line"==d)return c;d||(d="local");b=ea(b);b="local"==d?b+a.display.lineSpace.offsetTop:b-a.display.viewOffset;if("page"==d||"window"==d)a=a.display.lineSpace.getBoundingClientRect(),b+=a.top+("window"==d?0:window.pageYOffset||(document.documentElement||document.body).scrollTop),d=a.left+("window"==d?0:window.pageXOffset||(document.documentElement||document.body).scrollLeft),c.left+=d,c.right+=d;c.top+=b; +c.bottom+=b;return c}function ne(a,b,c){if("div"==c)return b;var d=b.left;b=b.top;"page"==c?(d-=window.pageXOffset||(document.documentElement||document.body).scrollLeft,b-=window.pageYOffset||(document.documentElement||document.body).scrollTop):"local"!=c&&c||(c=a.display.sizer.getBoundingClientRect(),d+=c.left,b+=c.top);a=a.display.lineSpace.getBoundingClientRect();return{left:d-a.left,top:b-a.top}}function Yb(a,b,c,d,e){d||(d=u(a.doc,b.line));var f=d;b=b.ch;d=$c(a,Zb(a,d),b,e);return cd(a,f,d,c)} +function ma(a,b,c,d,e,f){function g(b,g){var h=$c(a,e,b,g?"right":"left",f);g?h.left=h.right:h.right=h.left;return cd(a,d,h,c)}function h(a,b){var c=k[b],d=c.level%2;a==dd(c)&&b&&c.level<k[b-1].level?(c=k[--b],a=ed(c)-(c.level%2?0:1),d=!0):a==ed(c)&&b<k.length-1&&c.level<k[b+1].level&&(c=k[++b],a=dd(c)-c.level%2,d=!1);return d&&a==c.to&&a>c.from?g(a-1):g(a,d)}d=d||u(a.doc,b.line);e||(e=Zb(a,d));var k=Y(d);b=b.ch;if(!k)return g(b);var l=Sb(k,b),l=h(b,l);null!=vb&&(l.other=h(b,vb));return l}function oe(a, +b){var c=0;b=w(a.doc,b);a.options.lineWrapping||(c=gb(a.display)*b.ch);var d=u(a.doc,b.line),e=ea(d)+a.display.lineSpace.offsetTop;return{left:c,right:c,top:e,bottom:e+d.height}}function $b(a,b,c,d){a=r(a,b);a.xRel=d;c&&(a.outside=!0);return a}function fd(a,b,c){var d=a.doc;c+=a.display.viewOffset;if(0>c)return $b(d.first,0,!0,-1);var e=Ba(d,c),f=d.first+d.size-1;if(e>f)return $b(d.first+d.size-1,u(d,f).text.length,!0,1);0>b&&(b=0);for(d=u(d,e);;)if(e=Ef(a,d,e,b,c),f=(d=Aa(d,!1))&&d.find(0,!0),d&& +(e.ch>f.from.ch||e.ch==f.from.ch&&0<e.xRel))e=F(d=f.to.line);else return e}function Ef(a,b,c,d,e){function f(d){d=ma(a,r(c,d),"line",b,l);h=!0;if(g>d.bottom)return d.left-k;if(g<d.top)return d.left+k;h=!1;return d.left}var g=e-ea(b),h=!1,k=2*a.display.wrapper.clientWidth,l=Zb(a,b),m=Y(b),p=b.text.length;e=ac(b);var n=bc(b),E=f(e),q=h,t=f(n),u=h;if(d>t)return $b(c,n,u,1);for(;;){if(m?n==e||n==gd(b,e,1):1>=n-e){m=d<E||d-E<=t-d?e:n;for(d-=m==e?E:t;tb(b.text.charAt(m));)++m;return $b(c,m,m==e?q:u,-1> +d?-1:1<d?1:0)}var v=Math.ceil(p/2),w=e+v;if(m)for(var w=e,x=0;x<v;++x)w=gd(b,w,1);x=f(w);if(x>d){n=w;t=x;if(u=h)t+=1E3;p=v}else e=w,E=x,q=h,p-=v}}function xa(a){if(null!=a.cachedTextHeight)return a.cachedTextHeight;if(null==Fa){Fa=t("pre");for(var b=0;49>b;++b)Fa.appendChild(document.createTextNode("x")),Fa.appendChild(t("br"));Fa.appendChild(document.createTextNode("x"))}U(a.measure,Fa);b=Fa.offsetHeight/50;3<b&&(a.cachedTextHeight=b);za(a.measure);return b||1}function gb(a){if(null!=a.cachedCharWidth)return a.cachedCharWidth; +var b=t("span","xxxxxxxxxx"),c=t("pre",[b]);U(a.measure,c);b=b.getBoundingClientRect();b=(b.right-b.left)/10;2<b&&(a.cachedCharWidth=b);return b||10}function Ja(a){a.curOp={cm:a,viewChanged:!1,startHeight:a.doc.height,forceUpdate:!1,updateInput:null,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Ff};Ta?Ta.ops.push(a.curOp):a.curOp.ownsGroup=Ta={ops:[a.curOp],delayedCallbacks:[]}} +function La(a){if(a=a.curOp.ownsGroup)try{var b=a.delayedCallbacks,c=0;do{for(;c<b.length;c++)b[c]();for(var d=0;d<a.ops.length;d++){var e=a.ops[d];if(e.cursorActivityHandlers)for(;e.cursorActivityCalled<e.cursorActivityHandlers.length;)e.cursorActivityHandlers[e.cursorActivityCalled++](e.cm)}}while(c<b.length)}finally{Ta=null;for(b=0;b<a.ops.length;b++)a.ops[b].cm.curOp=null;a=a.ops;for(b=0;b<a.length;b++){var e=a[b],c=e.cm,f=d=c.display;!f.scrollbarsClipped&&f.scroller.offsetWidth&&(f.nativeBarWidth= +f.scroller.offsetWidth-f.scroller.clientWidth,f.heightForcer.style.height=da(c)+"px",f.sizer.style.marginBottom=-f.nativeBarWidth+"px",f.sizer.style.borderRightWidth=da(c)+"px",f.scrollbarsClipped=!0);e.updateMaxLine&&Dc(c);e.mustUpdate=e.viewChanged||e.forceUpdate||null!=e.scrollTop||e.scrollToPos&&(e.scrollToPos.from.line<d.viewFrom||e.scrollToPos.to.line>=d.viewTo)||d.maxLineChanged&&c.options.lineWrapping;e.update=e.mustUpdate&&new Mb(c,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}for(b= +0;b<a.length;b++)e=a[b],e.updatedDisplay=e.mustUpdate&&Lc(e.cm,e.update);for(b=0;b<a.length;b++)if(e=a[b],c=e.cm,d=c.display,e.updatedDisplay&&Lb(c),e.barMeasure=jb(c),d.maxLineChanged&&!c.options.lineWrapping&&(f=void 0,f=d.maxLine.text.length,f=$c(c,Zb(c,d.maxLine),f,void 0),e.adjustWidthTo=f.left+3,c.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(d.scroller.clientWidth,d.sizer.offsetLeft+e.adjustWidthTo+da(c)+c.display.barWidth),e.maxScrollLeft=Math.max(0,d.sizer.offsetLeft+ +e.adjustWidthTo-pa(c))),e.updatedDisplay||e.selectionChanged)e.preparedSelection=d.input.prepareSelection();for(b=0;b<a.length;b++)e=a[b],c=e.cm,null!=e.adjustWidthTo&&(c.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft<c.doc.scrollLeft&&Ma(c,Math.min(c.display.scroller.scrollLeft,e.maxScrollLeft),!0),c.display.maxLineChanged=!1),e.preparedSelection&&c.display.input.showSelection(e.preparedSelection),e.updatedDisplay&&Oc(c,e.barMeasure),(e.updatedDisplay||e.startHeight!=c.doc.height)&& +Na(c,e.barMeasure),e.selectionChanged&&Yc(c),c.state.focused&&e.updateInput&&c.display.input.reset(e.typing),e.focus&&e.focus==fa()&&Ud(e.cm);for(b=0;b<a.length;b++){e=a[b];c=e.cm;d=c.display;f=c.doc;e.updatedDisplay&&Md(c,e.update);null==d.wheelStartX||null==e.scrollTop&&null==e.scrollLeft&&!e.scrollToPos||(d.wheelStartX=d.wheelStartY=null);null==e.scrollTop||d.scroller.scrollTop==e.scrollTop&&!e.forceScroll||(f.scrollTop=Math.max(0,Math.min(d.scroller.scrollHeight-d.scroller.clientHeight,e.scrollTop)), +d.scrollbars.setScrollTop(f.scrollTop),d.scroller.scrollTop=f.scrollTop);null==e.scrollLeft||d.scroller.scrollLeft==e.scrollLeft&&!e.forceScroll||(f.scrollLeft=Math.max(0,Math.min(d.scroller.scrollWidth-pa(c),e.scrollLeft)),d.scrollbars.setScrollLeft(f.scrollLeft),d.scroller.scrollLeft=f.scrollLeft,Bc(c));if(e.scrollToPos){var g=void 0,h=w(f,e.scrollToPos.from),g=w(f,e.scrollToPos.to),k=e.scrollToPos.margin;null==k&&(k=0);for(var l=0;5>l;l++){var m=!1,p=ma(c,h),n=g&&g!=h?ma(c,g):p,n=cc(c,Math.min(p.left, +n.left),Math.min(p.top,n.top)-k,Math.max(p.left,n.left),Math.max(p.bottom,n.bottom)+k),q=c.doc.scrollTop,r=c.doc.scrollLeft;null!=n.scrollTop&&(lb(c,n.scrollTop),1<Math.abs(c.doc.scrollTop-q)&&(m=!0));null!=n.scrollLeft&&(Ma(c,n.scrollLeft),1<Math.abs(c.doc.scrollLeft-r)&&(m=!0));if(!m)break}g=p;e.scrollToPos.isCursor&&c.state.focused&&(ja(c,"scrollCursorIntoView")||(k=c.display,l=k.sizer.getBoundingClientRect(),h=null,0>g.top+l.top?h=!0:g.bottom+l.top>(window.innerHeight||document.documentElement.clientHeight)&& +(h=!1),null==h||Gf||(g=t("div","​",null,"position: absolute; top: "+(g.top-k.viewOffset-c.display.lineSpace.offsetTop)+"px; height: "+(g.bottom-g.top+da(c)+k.barHeight)+"px; left: "+g.left+"px; width: 2px;"),c.display.lineSpace.appendChild(g),g.scrollIntoView(h),c.display.lineSpace.removeChild(g))))}h=e.maybeHiddenMarkers;g=e.maybeUnhiddenMarkers;if(h)for(k=0;k<h.length;++k)h[k].lines.length||K(h[k],"hide");if(g)for(k=0;k<g.length;++k)g[k].lines.length&&K(g[k],"unhide");d.wrapper.offsetHeight&&(f.scrollTop= +c.display.scroller.scrollTop);e.changeObjs&&K(c,"changes",c,e.changeObjs);e.update&&e.update.finish()}}}function T(a,b){if(a.curOp)return b();Ja(a);try{return b()}finally{La(a)}}function G(a,b){return function(){if(a.curOp)return b.apply(a,arguments);Ja(a);try{return b.apply(a,arguments)}finally{La(a)}}}function M(a){return function(){if(this.curOp)return a.apply(this,arguments);Ja(this);try{return a.apply(this,arguments)}finally{La(this)}}}function N(a){return function(){var b=this.cm;if(!b||b.curOp)return a.apply(this, +arguments);Ja(b);try{return a.apply(this,arguments)}finally{La(b)}}}function ke(a,b,c){for(var d=this.line=b,e;d=Aa(d,!1);)d=d.find(1,!0).line,(e||(e=[])).push(d);this.size=(this.rest=e)?F(A(this.rest))-c+1:1;this.node=this.text=null;this.hidden=ya(a,b)}function Nb(a,b,c){var d=[],e;for(e=b;e<c;)b=new ke(a.doc,u(a.doc,e),e),e+=b.size,d.push(b);return d}function Q(a,b,c,d){null==b&&(b=a.doc.first);null==c&&(c=a.doc.first+a.doc.size);d||(d=0);var e=a.display;d&&c<e.viewTo&&(null==e.updateLineNumbers|| +e.updateLineNumbers>b)&&(e.updateLineNumbers=b);a.curOp.viewChanged=!0;if(b>=e.viewTo)ra&&Mc(a.doc,b)<e.viewTo&&qa(a);else if(c<=e.viewFrom)ra&&Ld(a.doc,c+d)>e.viewFrom?qa(a):(e.viewFrom+=d,e.viewTo+=d);else if(b<=e.viewFrom&&c>=e.viewTo)qa(a);else if(b<=e.viewFrom){var f=dc(a,c,c+d,1);f?(e.view=e.view.slice(f.index),e.viewFrom=f.lineN,e.viewTo+=d):qa(a)}else if(c>=e.viewTo)(f=dc(a,b,b,-1))?(e.view=e.view.slice(0,f.index),e.viewTo=f.lineN):qa(a);else{var f=dc(a,b,b,-1),g=dc(a,c,c+d,1);f&&g?(e.view= +e.view.slice(0,f.index).concat(Nb(a,f.lineN,g.lineN)).concat(e.view.slice(g.index)),e.viewTo+=d):qa(a)}if(a=e.externalMeasured)c<a.lineN?a.lineN+=d:b<a.lineN+a.size&&(e.externalMeasured=null)}function na(a,b,c){a.curOp.viewChanged=!0;var d=a.display,e=a.display.externalMeasured;e&&b>=e.lineN&&b<e.lineN+e.size&&(d.externalMeasured=null);b<d.viewFrom||b>=d.viewTo||(a=d.view[Ca(a,b)],null!=a.node&&(a=a.changes||(a.changes=[]),-1==D(a,c)&&a.push(c)))}function qa(a){a.display.viewFrom=a.display.viewTo= +a.doc.first;a.display.view=[];a.display.viewOffset=0}function Ca(a,b){if(b>=a.display.viewTo)return null;b-=a.display.viewFrom;if(0>b)return null;for(var c=a.display.view,d=0;d<c.length;d++)if(b-=c[d].size,0>b)return d}function dc(a,b,c,d){var e=Ca(a,b),f=a.display.view;if(!ra||c==a.doc.first+a.doc.size)return{index:e,lineN:c};for(var g=0,h=a.display.viewFrom;g<e;g++)h+=f[g].size;if(h!=b){if(0<d){if(e==f.length-1)return null;b=h+f[e].size-b;e++}else b=h-b;c+=b}for(;Mc(a.doc,c)!=c;){if(e==(0>d?0:f.length- +1))return null;c+=d*f[e-(0>d?1:0)].size;e+=d}return{index:e,lineN:c}}function Kd(a){a=a.display.view;for(var b=0,c=0;c<a.length;c++){var d=a[c];d.hidden||d.node&&!d.changes||++b}return b}function sf(a){function b(){d.activeTouch&&(e=setTimeout(function(){d.activeTouch=null},1E3),f=d.activeTouch,f.end=+new Date)}function c(a,b){if(null==b.left)return!0;var c=b.left-a.left,d=b.top-a.top;return 400<c*c+d*d}var d=a.display;v(d.scroller,"mousedown",G(a,pe));B&&11>C?v(d.scroller,"dblclick",G(a,function(b){if(!ja(a, +b)){var c=Ua(a,b);!c||hd(a,b,"gutterClick",!0,L)||oa(a.display,b)||(O(b),b=a.findWordAt(c),Ub(a.doc,b.anchor,b.head))}})):v(d.scroller,"dblclick",function(b){ja(a,b)||O(b)});id||v(d.scroller,"contextmenu",function(b){qe(a,b)});var e,f={end:0};v(d.scroller,"touchstart",function(a){var b;1!=a.touches.length?b=!1:(b=a.touches[0],b=1>=b.radiusX&&1>=b.radiusY);b||(clearTimeout(e),b=+new Date,d.activeTouch={start:b,moved:!1,prev:300>=b-f.end?f:null},1==a.touches.length&&(d.activeTouch.left=a.touches[0].pageX, +d.activeTouch.top=a.touches[0].pageY))});v(d.scroller,"touchmove",function(){d.activeTouch&&(d.activeTouch.moved=!0)});v(d.scroller,"touchend",function(e){var f=d.activeTouch;if(f&&!oa(d,e)&&null!=f.left&&!f.moved&&300>new Date-f.start){var g=a.coordsChar(d.activeTouch,"page"),f=!f.prev||c(f,f.prev)?new z(g,g):!f.prev.prev||c(f,f.prev.prev)?a.findWordAt(g):new z(r(g.line,0),w(a.doc,r(g.line+1,0)));a.setSelection(f.anchor,f.head);a.focus();O(e)}b()});v(d.scroller,"touchcancel",b);v(d.scroller,"scroll", +function(){d.scroller.clientHeight&&(lb(a,d.scroller.scrollTop),Ma(a,d.scroller.scrollLeft,!0),K(a,"scroll",a))});v(d.scroller,"mousewheel",function(b){re(a,b)});v(d.scroller,"DOMMouseScroll",function(b){re(a,b)});v(d.wrapper,"scroll",function(){d.wrapper.scrollTop=d.wrapper.scrollLeft=0});d.dragFunctions={simple:function(b){ja(a,b)||jd(b)},start:function(b){if(B&&(!a.state.draggingText||100>+new Date-se))jd(b);else if(!ja(a,b)&&!oa(a.display,b)&&(b.dataTransfer.setData("Text",a.getSelection()),b.dataTransfer.setDragImage&& +!te)){var c=t("img",null,null,"position: fixed; left: 0; top: 0;");c.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d";ba&&(c.width=c.height=1,a.display.wrapper.appendChild(c),c._top=c.offsetTop);b.dataTransfer.setDragImage(c,0,0);ba&&c.parentNode.removeChild(c)}},drop:G(a,Hf)};var g=d.input.getField();v(g,"keyup",function(b){ue.call(a,b)});v(g,"keydown",G(a,ve));v(g,"keypress",G(a,we));v(g,"focus",cb(xc,a));v(g,"blur",cb(db,a))}function If(a){var b=a.display; +if(b.lastWrapHeight!=b.wrapper.clientHeight||b.lastWrapWidth!=b.wrapper.clientWidth)b.cachedCharWidth=b.cachedTextHeight=b.cachedPaddingH=null,b.scrollbarsClipped=!1,a.setSize()}function oa(a,b){for(var c=b.target||b.srcElement;c!=a.wrapper;c=c.parentNode)if(!c||1==c.nodeType&&"true"==c.getAttribute("cm-ignore-events")||c.parentNode==a.sizer&&c!=a.mover)return!0}function Ua(a,b,c,d){var e=a.display;if(!c&&"true"==(b.target||b.srcElement).getAttribute("cm-not-content"))return null;var f,g;c=e.lineSpace.getBoundingClientRect(); +try{f=b.clientX-c.left,g=b.clientY-c.top}catch(h){return null}b=fd(a,f,g);var k;d&&1==b.xRel&&(k=u(a.doc,b.line).text).length==b.ch&&(d=aa(k,k.length,a.options.tabSize)-k.length,b=r(b.line,Math.max(0,Math.round((f-ie(a.display).left)/gb(a.display))-d)));return b}function pe(a){var b=this.display;if(!(b.activeTouch&&b.input.supportsTouch()||ja(this,a)))if(b.shift=a.shiftKey,oa(b,a))J||(b.scroller.draggable=!1,setTimeout(function(){b.scroller.draggable=!0},100));else if(!hd(this,a,"gutterClick",!0, +L)){var c=Ua(this,a);window.focus();switch(xe(a)){case 1:c?Jf(this,a,c):(a.target||a.srcElement)==b.scroller&&O(a);break;case 2:J&&(this.state.lastMiddleDown=+new Date);c&&Ub(this.doc,c);setTimeout(function(){b.input.focus()},20);O(a);break;case 3:id?qe(this,a):Kf(this)}}}function Jf(a,b,c){B?setTimeout(cb(Ud,a),0):a.curOp.focus=fa();var d=+new Date,e;ec&&ec.time>d-400&&0==y(ec.pos,c)?e="triple":fc&&fc.time>d-400&&0==y(fc.pos,c)?(e="double",ec={time:d,pos:c}):(e="single",fc={time:d,pos:c});var d= +a.doc.sel,f=W?b.metaKey:b.ctrlKey,g;a.options.dragDrop&&Lf&&!Rb(a)&&"single"==e&&-1<(g=d.contains(c))&&!d.ranges[g].empty()?Mf(a,b,c,f):Nf(a,b,c,e,f)}function Mf(a,b,c,d){var e=a.display,f=+new Date,g=G(a,function(h){J&&(e.scroller.draggable=!1);a.state.draggingText=!1;ka(document,"mouseup",g);ka(e.scroller,"drop",g);10>Math.abs(b.clientX-h.clientX)+Math.abs(b.clientY-h.clientY)&&(O(h),!d&&+new Date-200<f&&Ub(a.doc,c),J||B&&9==C?setTimeout(function(){document.body.focus();e.input.focus()},20):e.input.focus())}); +J&&(e.scroller.draggable=!0);a.state.draggingText=g;e.scroller.dragDrop&&e.scroller.dragDrop();v(document,"mouseup",g);v(e.scroller,"drop",g)}function Nf(a,b,c,d,e){function f(b){if(0!=y(x,b))if(x=b,"rect"==d){for(var e=[],f=a.options.tabSize,g=aa(u(l,c.line).text,c.ch,f),h=aa(u(l,b.line).text,b.ch,f),k=Math.min(g,h),g=Math.max(g,h),h=Math.min(c.line,b.line),q=Math.min(a.lastLine(),Math.max(c.line,b.line));h<=q;h++){var E=u(l,h).text,t=ye(E,k,f);k==g?e.push(new z(r(h,t),r(h,t))):E.length>t&&e.push(new z(r(h, +t),r(h,ye(E,g,f))))}e.length||e.push(new z(c,c));H(l,Z(n.ranges.slice(0,p).concat(e),p),{origin:"*mouse",scroll:!1});a.scrollIntoView(b)}else e=m,f=e.anchor,k=b,"single"!=d&&(b="double"==d?a.findWordAt(b):new z(r(b.line,0),w(l,r(b.line+1,0))),0<y(b.anchor,f)?(k=b.head,f=Qb(e.from(),b.anchor)):(k=b.anchor,f=Pb(e.to(),b.head))),e=n.ranges.slice(0),e[p]=new z(w(l,f),k),H(l,Z(e,p),kd)}function g(b){var c=++A,e=Ua(a,b,!0,"rect"==d);if(e)if(0!=y(e,x)){a.curOp.focus=fa();f(e);var h=Hc(k,l);(e.line>=h.to|| +e.line<h.from)&&setTimeout(G(a,function(){A==c&&g(b)}),150)}else{var m=b.clientY<B.top?-20:b.clientY>B.bottom?20:0;m&&setTimeout(G(a,function(){A==c&&(k.scroller.scrollTop+=m,g(b))}),50)}}function h(a){A=Infinity;O(a);k.input.focus();ka(document,"mousemove",F);ka(document,"mouseup",C);l.history.lastSelOrigin=null}var k=a.display,l=a.doc;O(b);var m,p,n=l.sel,q=n.ranges;e&&!b.shiftKey?(p=l.sel.contains(c),m=-1<p?q[p]:new z(c,c)):(m=l.sel.primary(),p=l.sel.primIndex);if(b.altKey)d="rect",e||(m=new z(c, +c)),c=Ua(a,b,!0,!0),p=-1;else if("double"==d){var t=a.findWordAt(c);m=a.display.shift||l.extend?rb(l,m,t.anchor,t.head):t}else"triple"==d?(t=new z(r(c.line,0),w(l,r(c.line+1,0))),m=a.display.shift||l.extend?rb(l,m,t.anchor,t.head):t):m=rb(l,m,c);e?-1==p?(p=q.length,H(l,Z(q.concat([m]),p),{scroll:!1,origin:"*mouse"})):1<q.length&&q[p].empty()&&"single"==d&&!b.shiftKey?(H(l,Z(q.slice(0,p).concat(q.slice(p+1)),0)),n=l.sel):Xc(l,p,m,kd):(p=0,H(l,new la([m],0),kd),n=l.sel);var x=c,B=k.wrapper.getBoundingClientRect(), +A=0,F=G(a,function(a){xe(a)?g(a):h(a)}),C=G(a,h);v(document,"mousemove",F);v(document,"mouseup",C)}function hd(a,b,c,d,e){try{var f=b.clientX,g=b.clientY}catch(h){return!1}if(f>=Math.floor(a.display.gutters.getBoundingClientRect().right))return!1;d&&O(b);d=a.display;var k=d.lineDiv.getBoundingClientRect();if(g>k.bottom||!S(a,c))return ld(b);g-=k.top-d.viewOffset;for(k=0;k<a.options.gutters.length;++k){var l=d.gutters.childNodes[k];if(l&&l.getBoundingClientRect().right>=f)return f=Ba(a.doc,g),e(a, +c,a,f,a.options.gutters[k],b),ld(b)}}function Hf(a){var b=this;if(!ja(b,a)&&!oa(b.display,a)){O(a);B&&(se=+new Date);var c=Ua(b,a,!0),d=a.dataTransfer.files;if(c&&!Rb(b))if(d&&d.length&&window.FileReader&&window.File){var e=d.length,f=Array(e),g=0;a=function(a,d){var h=new FileReader;h.onload=G(b,function(){f[d]=h.result;if(++g==e){c=w(b.doc,c);var a={from:c,to:c,text:sa(f.join("\n")),origin:"paste"};Oa(b.doc,a);be(b.doc,ga(c,ta(a)))}});h.readAsText(a)};for(var h=0;h<e;++h)a(d[h],h)}else if(b.state.draggingText&& +-1<b.doc.sel.contains(c))b.state.draggingText(a),setTimeout(function(){b.display.input.focus()},20);else try{if(f=a.dataTransfer.getData("Text")){if(b.state.draggingText&&(W?!a.altKey:!a.ctrlKey))var k=b.listSelections();Vb(b.doc,ga(c,c));if(k)for(h=0;h<k.length;++h)wb(b.doc,"",k[h].anchor,k[h].head,"drag");b.replaceSelection(f,"around","paste");b.display.input.focus()}}catch(l){}}}function lb(a,b){2>Math.abs(a.doc.scrollTop-b)||(a.doc.scrollTop=b,wa||Pc(a,{top:b}),a.display.scroller.scrollTop!=b&& +(a.display.scroller.scrollTop=b),a.display.scrollbars.setScrollTop(b),wa&&Pc(a),fb(a,100))}function Ma(a,b,c){(c?b==a.doc.scrollLeft:2>Math.abs(a.doc.scrollLeft-b))||(b=Math.min(b,a.display.scroller.scrollWidth-a.display.scroller.clientWidth),a.doc.scrollLeft=b,Bc(a),a.display.scroller.scrollLeft!=b&&(a.display.scroller.scrollLeft=b),a.display.scrollbars.setScrollLeft(b))}function re(a,b){var c=ze(b),d=c.x,c=c.y,e=a.display,f=e.scroller;if(d&&f.scrollWidth>f.clientWidth||c&&f.scrollHeight>f.clientHeight){if(c&& +W&&J){var g=b.target,h=e.view;a:for(;g!=f;g=g.parentNode)for(var k=0;k<h.length;k++)if(h[k].node==g){a.display.currentWheelTarget=g;break a}}!d||wa||ba||null==R?(c&&null!=R&&(g=c*R,h=a.doc.scrollTop,k=h+e.wrapper.clientHeight,0>g?h=Math.max(0,h+g-50):k=Math.min(a.doc.height,k+g+50),Pc(a,{top:h,bottom:k})),20>gc&&(null==e.wheelStartX?(e.wheelStartX=f.scrollLeft,e.wheelStartY=f.scrollTop,e.wheelDX=d,e.wheelDY=c,setTimeout(function(){if(null!=e.wheelStartX){var a=f.scrollLeft-e.wheelStartX,b=f.scrollTop- +e.wheelStartY,a=b&&e.wheelDY&&b/e.wheelDY||a&&e.wheelDX&&a/e.wheelDX;e.wheelStartX=e.wheelStartY=null;a&&(R=(R*gc+a)/(gc+1),++gc)}},200)):(e.wheelDX+=d,e.wheelDY+=c))):(c&&lb(a,Math.max(0,Math.min(f.scrollTop+c*R,f.scrollHeight-f.clientHeight))),Ma(a,Math.max(0,Math.min(f.scrollLeft+d*R,f.scrollWidth-f.clientWidth))),O(b),e.wheelStartX=null)}}function hc(a,b,c){if("string"==typeof b&&(b=ic[b],!b))return!1;a.display.input.ensurePolled();var d=a.display.shift,e=!1;try{Rb(a)&&(a.state.suppressEdits= +!0),c&&(a.display.shift=!1),e=b(a)!=Ae}finally{a.display.shift=d,a.state.suppressEdits=!1}return e}function Of(a,b,c){for(var d=0;d<a.state.keyMaps.length;d++){var e=xb(b,a.state.keyMaps[d],c,a);if(e)return e}return a.options.extraKeys&&xb(b,a.options.extraKeys,c,a)||xb(b,a.options.keyMap,c,a)}function jc(a,b,c,d){var e=a.state.keySeq;if(e){if(Pf(b))return"handled";Qf.set(50,function(){a.state.keySeq==e&&(a.state.keySeq=null,a.display.input.reset())});b=e+" "+b}d=Of(a,b,d);"multi"==d&&(a.state.keySeq= +b);"handled"==d&&L(a,"keyHandled",a,b,c);if("handled"==d||"multi"==d)O(c),Yc(a);return e&&!d&&/\'$/.test(b)?(O(c),!0):!!d}function Be(a,b){var c=Rf(b,!0);return c?b.shiftKey&&!a.state.keySeq?jc(a,"Shift-"+c,b,function(b){return hc(a,b,!0)})||jc(a,c,b,function(b){if("string"==typeof b?/^go[A-Z]/.test(b):b.motion)return hc(a,b)}):jc(a,c,b,function(b){return hc(a,b)}):!1}function Sf(a,b,c){return jc(a,"'"+c+"'",b,function(b){return hc(a,b,!0)})}function ve(a){this.curOp.focus=fa();if(!ja(this,a)){B&& +11>C&&27==a.keyCode&&(a.returnValue=!1);var b=a.keyCode;this.display.shift=16==b||a.shiftKey;var c=Be(this,a);ba&&(md=c?b:null,!c&&88==b&&!Ce&&(W?a.metaKey:a.ctrlKey)&&this.replaceSelection("",null,"cut"));18!=b||/\bCodeMirror-crosshair\b/.test(this.display.lineDiv.className)||Tf(this)}}function Tf(a){function b(a){18!=a.keyCode&&a.altKey||(kb(c,"CodeMirror-crosshair"),ka(document,"keyup",b),ka(document,"mouseover",b))}var c=a.display.lineDiv;mb(c,"CodeMirror-crosshair");v(document,"keyup",b);v(document, +"mouseover",b)}function ue(a){16==a.keyCode&&(this.doc.sel.shift=!1);ja(this,a)}function we(a){if(!(oa(this.display,a)||ja(this,a)||a.ctrlKey&&!a.altKey||W&&a.metaKey)){var b=a.keyCode,c=a.charCode;if(ba&&b==md)md=null,O(a);else if(!ba||a.which&&!(10>a.which)||!Be(this,a))if(b=String.fromCharCode(null==c?b:c),!Sf(this,a,b))this.display.input.onKeyPress(a)}}function Kf(a){a.state.delayingBlurEvent=!0;setTimeout(function(){a.state.delayingBlurEvent&&(a.state.delayingBlurEvent=!1,db(a))},100)}function xc(a){a.state.delayingBlurEvent&& +(a.state.delayingBlurEvent=!1);"nocursor"!=a.options.readOnly&&(a.state.focused||(K(a,"focus",a),a.state.focused=!0,mb(a.display.wrapper,"CodeMirror-focused"),a.curOp||a.display.selForContextMenu==a.doc.sel||(a.display.input.reset(),J&&setTimeout(function(){a.display.input.reset(!0)},20)),a.display.input.receivedFocus()),Yc(a))}function db(a){a.state.delayingBlurEvent||(a.state.focused&&(K(a,"blur",a),a.state.focused=!1,kb(a.display.wrapper,"CodeMirror-focused")),clearInterval(a.display.blinker), +setTimeout(function(){a.state.focused||(a.display.shift=!1)},150))}function qe(a,b){var c;(c=oa(a.display,b))||(c=S(a,"gutterContextMenu")?hd(a,b,"gutterContextMenu",!1,K):!1);if(!c)a.display.input.onContextMenu(b)}function De(a,b){if(0>y(a,b.from))return a;if(0>=y(a,b.to))return ta(b);var c=a.line+b.text.length-(b.to.line-b.from.line)-1,d=a.ch;a.line==b.to.line&&(d+=ta(b).ch-b.to.ch);return r(c,d)}function nd(a,b){for(var c=[],d=0;d<a.sel.ranges.length;d++){var e=a.sel.ranges[d];c.push(new z(De(e.anchor, +b),De(e.head,b)))}return Z(c,a.sel.primIndex)}function Ee(a,b,c){return a.line==b.line?r(c.line,a.ch-b.ch+c.ch):r(c.line+(a.line-b.line),a.ch)}function Fe(a,b,c){b={canceled:!1,from:b.from,to:b.to,text:b.text,origin:b.origin,cancel:function(){this.canceled=!0}};c&&(b.update=function(b,c,f,g){b&&(this.from=w(a,b));c&&(this.to=w(a,c));f&&(this.text=f);void 0!==g&&(this.origin=g)});K(a,"beforeChange",a,b);a.cm&&K(a.cm,"beforeChange",a.cm,b);return b.canceled?null:{from:b.from,to:b.to,text:b.text,origin:b.origin}} +function Oa(a,b,c){if(a.cm){if(!a.cm.curOp)return G(a.cm,Oa)(a,b,c);if(a.cm.state.suppressEdits)return}if(S(a,"beforeChange")||a.cm&&S(a.cm,"beforeChange"))if(b=Fe(a,b,!0),!b)return;if(c=Ge&&!c&&Uf(a,b.from,b.to))for(var d=c.length-1;0<=d;--d)He(a,{from:c[d].from,to:c[d].to,text:d?[""]:b.text});else He(a,b)}function He(a,b){if(1!=b.text.length||""!=b.text[0]||0!=y(b.from,b.to)){var c=nd(a,b);Ie(a,b,c,a.cm?a.cm.curOp.id:NaN);yb(a,b,c,od(a,b));var d=[];Ga(a,function(a,c){c||-1!=D(d,a.history)||(Je(a.history, +b),d.push(a.history));yb(a,b,null,od(a,b))})}}function kc(a,b,c){if(!a.cm||!a.cm.state.suppressEdits){for(var d=a.history,e,f=a.sel,g="undo"==b?d.done:d.undone,h="undo"==b?d.undone:d.done,k=0;k<g.length&&(e=g[k],c?!e.ranges||e.equals(a.sel):e.ranges);k++);if(k!=g.length){for(d.lastOrigin=d.lastSelOrigin=null;;)if(e=g.pop(),e.ranges){Wb(e,h);if(c&&!e.equals(a.sel)){H(a,e,{clearRedo:!1});return}f=e}else break;c=[];Wb(f,h);h.push({changes:c,generation:d.generation});d.generation=e.generation||++d.maxGeneration; +d=S(a,"beforeChange")||a.cm&&S(a.cm,"beforeChange");for(k=e.changes.length-1;0<=k;--k){var l=e.changes[k];l.origin=b;if(d&&!Fe(a,l,!1)){g.length=0;break}c.push(pd(a,l));f=k?nd(a,l):A(g);yb(a,l,f,Ke(a,l));!k&&a.cm&&a.cm.scrollIntoView({from:l.from,to:ta(l)});var m=[];Ga(a,function(a,b){b||-1!=D(m,a.history)||(Je(a.history,l),m.push(a.history));yb(a,l,null,Ke(a,l))})}}}}function Le(a,b){if(0!=b&&(a.first+=b,a.sel=new la(ob(a.sel.ranges,function(a){return new z(r(a.anchor.line+b,a.anchor.ch),r(a.head.line+ +b,a.head.ch))}),a.sel.primIndex),a.cm)){Q(a.cm,a.first,a.first-b,b);for(var c=a.cm.display,d=c.viewFrom;d<c.viewTo;d++)na(a.cm,d,"gutter")}}function yb(a,b,c,d){if(a.cm&&!a.cm.curOp)return G(a.cm,yb)(a,b,c,d);if(b.to.line<a.first)Le(a,b.text.length-1-(b.to.line-b.from.line));else if(!(b.from.line>a.lastLine())){if(b.from.line<a.first){var e=b.text.length-1-(a.first-b.from.line);Le(a,e);b={from:r(a.first,0),to:r(b.to.line+e,b.to.ch),text:[A(b.text)],origin:b.origin}}e=a.lastLine();b.to.line>e&&(b= +{from:b.from,to:r(e,u(a,e).text.length),text:[b.text[0]],origin:b.origin});b.removed=Da(a,b.from,b.to);c||(c=nd(a,b));a.cm?Vf(a.cm,b,d):qd(a,b,d);Vb(a,c,ha)}}function Vf(a,b,c){var d=a.doc,e=a.display,f=b.from,g=b.to,h=!1,k=f.line;a.options.lineWrapping||(k=F(ia(u(d,f.line))),d.iter(k,g.line+1,function(a){if(a==e.maxLine)return h=!0}));-1<d.sel.contains(b.from,b.to)&&fe(a);qd(d,b,c,Id(a));a.options.lineWrapping||(d.iter(k,f.line+b.text.length,function(a){var b=Kb(a);b>e.maxLineLength&&(e.maxLine= +a,e.maxLineLength=b,e.maxLineChanged=!0,h=!1)}),h&&(a.curOp.updateMaxLine=!0));d.frontier=Math.min(d.frontier,f.line);fb(a,400);c=b.text.length-(g.line-f.line)-1;b.full?Q(a):f.line!=g.line||1!=b.text.length||Me(a.doc,b)?Q(a,f.line,g.line+1,c):na(a,f.line,"text");c=S(a,"changes");if((d=S(a,"change"))||c)b={from:f,to:g,text:b.text,removed:b.removed,origin:b.origin},d&&L(a,"change",a,b),c&&(a.curOp.changeObjs||(a.curOp.changeObjs=[])).push(b);a.display.selForContextMenu=null}function wb(a,b,c,d,e){d|| +(d=c);if(0>y(d,c)){var f=d;d=c;c=f}"string"==typeof b&&(b=sa(b));Oa(a,{from:c,to:d,text:b,origin:e})}function cc(a,b,c,d,e){var f=a.display,g=xa(a.display);0>c&&(c=0);var h=a.curOp&&null!=a.curOp.scrollTop?a.curOp.scrollTop:f.scroller.scrollTop,k=Nc(a),l={};e-c>k&&(e=c+k);var m=a.doc.height+Ec(f),p=c<g,g=e>m-g;c<h?l.scrollTop=p?0:c:e>h+k&&(c=Math.min(c,(g?m:e)-k),c!=h&&(l.scrollTop=c));h=a.curOp&&null!=a.curOp.scrollLeft?a.curOp.scrollLeft:f.scroller.scrollLeft;a=pa(a)-(a.options.fixedGutter?f.gutters.offsetWidth: +0);(f=d-b>a)&&(d=b+a);10>b?l.scrollLeft=0:b<h?l.scrollLeft=Math.max(0,b-(f?0:10)):d>a+h-3&&(l.scrollLeft=d+(f?0:10)-a);return l}function lc(a,b,c){null==b&&null==c||mc(a);null!=b&&(a.curOp.scrollLeft=(null==a.curOp.scrollLeft?a.doc.scrollLeft:a.curOp.scrollLeft)+b);null!=c&&(a.curOp.scrollTop=(null==a.curOp.scrollTop?a.doc.scrollTop:a.curOp.scrollTop)+c)}function Pa(a){mc(a);var b=a.getCursor(),c=b,d=b;a.options.lineWrapping||(c=b.ch?r(b.line,b.ch-1):b,d=r(b.line,b.ch+1));a.curOp.scrollToPos={from:c, +to:d,margin:a.options.cursorScrollMargin,isCursor:!0}}function mc(a){var b=a.curOp.scrollToPos;if(b){a.curOp.scrollToPos=null;var c=oe(a,b.from),d=oe(a,b.to),b=cc(a,Math.min(c.left,d.left),Math.min(c.top,d.top)-b.margin,Math.max(c.right,d.right),Math.max(c.bottom,d.bottom)+b.margin);a.scrollTo(b.scrollLeft,b.scrollTop)}}function pb(a,b,c,d){var e=a.doc,f;null==c&&(c="add");"smart"==c&&(e.mode.indent?f=sb(a,b):c="prev");var g=a.options.tabSize,h=u(e,b),k=aa(h.text,null,g);h.stateAfter&&(h.stateAfter= +null);var l=h.text.match(/^\s*/)[0],m;if(!d&&!/\S/.test(h.text))m=0,c="not";else if("smart"==c&&(m=e.mode.indent(f,h.text.slice(l.length),h.text),m==Ae||150<m)){if(!d)return;c="prev"}"prev"==c?m=b>e.first?aa(u(e,b-1).text,null,g):0:"add"==c?m=k+a.options.indentUnit:"subtract"==c?m=k-a.options.indentUnit:"number"==typeof c&&(m=k+c);m=Math.max(0,m);c="";d=0;if(a.options.indentWithTabs)for(a=Math.floor(m/g);a;--a)d+=g,c+="\t";d<m&&(c+=Ne(m-d));if(c!=l)return wb(e,c,r(b,0),r(b,l.length),"+input"),h.stateAfter= +null,!0;for(a=0;a<e.sel.ranges.length;a++)if(g=e.sel.ranges[a],g.head.line==b&&g.head.ch<l.length){d=r(b,l.length);Xc(e,a,new z(d,d));break}}function nc(a,b,c,d){var e=b,f=b;"number"==typeof b?f=u(a,Math.max(a.first,Math.min(b,a.first+a.size-1))):e=F(b);if(null==e)return null;d(f,e)&&a.cm&&na(a.cm,e,c);return f}function Va(a,b){for(var c=a.doc.sel.ranges,d=[],e=0;e<c.length;e++){for(var f=b(c[e]);d.length&&0>=y(f.from,A(d).to);){var g=d.pop();if(0>y(g.from,f.from)){f.from=g.from;break}}d.push(f)}T(a, +function(){for(var b=d.length-1;0<=b;b--)wb(a.doc,"",d[b].from,d[b].to,"+delete");Pa(a)})}function rd(a,b,c,d,e){function f(b){var d=(e?gd:Oe)(l,h,c,!0);if(null==d){if(b=!b)b=g+c,b<a.first||b>=a.first+a.size?b=m=!1:(g=b,b=l=u(a,b));if(b)h=e?(0>c?bc:ac)(l):0>c?l.text.length:0;else return m=!1}else h=d;return!0}var g=b.line,h=b.ch,k=c,l=u(a,g),m=!0;if("char"==d)f();else if("column"==d)f(!0);else if("word"==d||"group"==d){var p=null;d="group"==d;b=a.cm&&a.cm.getHelper(b,"wordChars");for(var n=!0;!(0> +c)||f(!n);n=!1){var q=l.text.charAt(h)||"\n",q=oc(q,b)?"w":d&&"\n"==q?"n":!d||/\s/.test(q)?null:"p";!d||n||q||(q="s");if(p&&p!=q){0>c&&(c=1,f());break}q&&(p=q);if(0<c&&!f(!n))break}}k=Xb(a,r(g,h),k,!0);m||(k.hitSide=!0);return k}function Pe(a,b,c,d){var e=a.doc,f=b.left,g;"page"==d?(g=Math.min(a.display.wrapper.clientHeight,window.innerHeight||document.documentElement.clientHeight),g=b.top+c*(g-(0>c?1.5:.5)*xa(a.display))):"line"==d&&(g=0<c?b.bottom+3:b.top-3);for(;;){b=fd(a,f,g);if(!b.outside)break; +if(0>c?0>=g:g>=e.height){b.hitSide=!0;break}g+=5*c}return b}function x(a,b,c,d){q.defaults[a]=b;c&&(Ka[a]=d?function(a,b,d){d!=Fd&&c(a,b,d)}:c)}function Wf(a){var b=a.split(/-(?!$)/);a=b[b.length-1];for(var c,d,e,f,g=0;g<b.length-1;g++){var h=b[g];if(/^(cmd|meta|m)$/i.test(h))f=!0;else if(/^a(lt)?$/i.test(h))c=!0;else if(/^(c|ctrl|control)$/i.test(h))d=!0;else if(/^s(hift)$/i.test(h))e=!0;else throw Error("Unrecognized modifier name: "+h);}c&&(a="Alt-"+a);d&&(a="Ctrl-"+a);f&&(a="Cmd-"+a);e&&(a="Shift-"+ +a);return a}function pc(a){return"string"==typeof a?ua[a]:a}function Wa(a,b,c,d,e){if(d&&d.shared)return Xf(a,b,c,d,e);if(a.cm&&!a.cm.curOp)return G(a.cm,Wa)(a,b,c,d,e);var f=new Ha(a,e);e=y(b,c);d&&V(d,f,!1);if(0<e||0==e&&!1!==f.clearWhenEmpty)return f;f.replacedWith&&(f.collapsed=!0,f.widgetNode=t("span",[f.replacedWith],"CodeMirror-widget"),d.handleMouseEvents||f.widgetNode.setAttribute("cm-ignore-events","true"),d.insertLeft&&(f.widgetNode.insertLeft=!0));if(f.collapsed){if(Qe(a,b.line,b,c,f)|| +b.line!=c.line&&Qe(a,c.line,b,c,f))throw Error("Inserting collapsed marker partially overlapping an existing one");ra=!0}f.addToHistory&&Ie(a,{from:b,to:c,origin:"markText"},a.sel,NaN);var g=b.line,h=a.cm,k;a.iter(g,c.line+1,function(a){h&&f.collapsed&&!h.options.lineWrapping&&ia(a)==h.display.maxLine&&(k=!0);f.collapsed&&g!=b.line&&ca(a,0);var d=new qc(f,g==b.line?b.ch:null,g==c.line?c.ch:null);a.markedSpans=a.markedSpans?a.markedSpans.concat([d]):[d];d.marker.attachLine(a);++g});f.collapsed&&a.iter(b.line, +c.line+1,function(b){ya(a,b)&&ca(b,0)});f.clearOnEnter&&v(f,"beforeCursorEnter",function(){f.clear()});f.readOnly&&(Ge=!0,(a.history.done.length||a.history.undone.length)&&a.clearHistory());f.collapsed&&(f.id=++sd,f.atomic=!0);if(h){k&&(h.curOp.updateMaxLine=!0);if(f.collapsed)Q(h,b.line,c.line+1);else if(f.className||f.title||f.startStyle||f.endStyle||f.css)for(d=b.line;d<=c.line;d++)na(h,d,"text");f.atomic&&ge(h.doc);L(h,"markerAdded",h,f)}return f}function Xf(a,b,c,d,e){d=V(d);d.shared=!1;var f= +[Wa(a,b,c,d,e)],g=f[0],h=d.widgetNode;Ga(a,function(a){h&&(d.widgetNode=h.cloneNode(!0));f.push(Wa(a,w(a,b),w(a,c),d,e));for(var l=0;l<a.linked.length;++l)if(a.linked[l].isParent)return;g=A(f)});return new rc(f,g)}function Re(a){return a.findMarks(r(a.first,0),a.clipPos(r(a.lastLine())),function(a){return a.parent})}function Yf(a){for(var b=0;b<a.length;b++){var c=a[b],d=[c.primary.doc];Ga(c.primary.doc,function(a){d.push(a)});for(var e=0;e<c.markers.length;e++){var f=c.markers[e];-1==D(d,f.doc)&& +(f.parent=null,c.markers.splice(e--,1))}}}function qc(a,b,c){this.marker=a;this.from=b;this.to=c}function zb(a,b){if(a)for(var c=0;c<a.length;++c){var d=a[c];if(d.marker==b)return d}}function od(a,b){if(b.full)return null;var c=qb(a,b.from.line)&&u(a,b.from.line).markedSpans,d=qb(a,b.to.line)&&u(a,b.to.line).markedSpans;if(!c&&!d)return null;var e=b.from.ch,f=b.to.ch,g=0==y(b.from,b.to);if(c)for(var h=0,k;h<c.length;++h){var l=c[h],m=l.marker;if(null==l.from||(m.inclusiveLeft?l.from<=e:l.from<e)|| +!(l.from!=e||"bookmark"!=m.type||g&&l.marker.insertLeft)){var p=null==l.to||(m.inclusiveRight?l.to>=e:l.to>e);(k||(k=[])).push(new qc(m,l.from,p?null:l.to))}}c=k;if(d)for(var h=0,n;h<d.length;++h)if(k=d[h],l=k.marker,null==k.to||(l.inclusiveRight?k.to>=f:k.to>f)||k.from==f&&"bookmark"==l.type&&(!g||k.marker.insertLeft))m=null==k.from||(l.inclusiveLeft?k.from<=f:k.from<f),(n||(n=[])).push(new qc(l,m?null:k.from-f,null==k.to?null:k.to-f));d=n;g=1==b.text.length;n=A(b.text).length+(g?e:0);if(c)for(f= +0;f<c.length;++f)if(h=c[f],null==h.to)(k=zb(d,h.marker),k)?g&&(h.to=null==k.to?null:k.to+n):h.to=e;if(d)for(f=0;f<d.length;++f)h=d[f],null!=h.to&&(h.to+=n),null==h.from?(k=zb(c,h.marker),k||(h.from=n,g&&(c||(c=[])).push(h))):(h.from+=n,g&&(c||(c=[])).push(h));c&&(c=Se(c));d&&d!=c&&(d=Se(d));e=[c];if(!g){var g=b.text.length-2,q;if(0<g&&c)for(f=0;f<c.length;++f)null==c[f].to&&(q||(q=[])).push(new qc(c[f].marker,null,null));for(f=0;f<g;++f)e.push(q);e.push(d)}return e}function Se(a){for(var b=0;b<a.length;++b){var c= +a[b];null!=c.from&&c.from==c.to&&!1!==c.marker.clearWhenEmpty&&a.splice(b--,1)}return a.length?a:null}function Ke(a,b){var c;if(c=b["spans_"+a.id]){for(var d=0,e=[];d<b.text.length;++d)e.push(Zf(c[d]));c=e}else c=null;d=od(a,b);if(!c)return d;if(!d)return c;for(e=0;e<c.length;++e){var f=c[e],g=d[e];if(f&&g){var h=0;a:for(;h<g.length;++h){for(var k=g[h],l=0;l<f.length;++l)if(f[l].marker==k.marker)continue a;f.push(k)}}else g&&(c[e]=g)}return c}function Uf(a,b,c){var d=null;a.iter(b.line,c.line+1,function(a){if(a.markedSpans)for(var b= +0;b<a.markedSpans.length;++b){var c=a.markedSpans[b].marker;!c.readOnly||d&&-1!=D(d,c)||(d||(d=[])).push(c)}});if(!d)return null;a=[{from:b,to:c}];for(b=0;b<d.length;++b){c=d[b];for(var e=c.find(0),f=0;f<a.length;++f){var g=a[f];if(!(0>y(g.to,e.from)||0<y(g.from,e.to))){var h=[f,1],k=y(g.from,e.from),l=y(g.to,e.to);(0>k||!c.inclusiveLeft&&!k)&&h.push({from:g.from,to:e.from});(0<l||!c.inclusiveRight&&!l)&&h.push({from:e.to,to:g.to});a.splice.apply(a,h);f+=h.length-1}}}return a}function Te(a){var b= +a.markedSpans;if(b){for(var c=0;c<b.length;++c)b[c].marker.detachLine(a);a.markedSpans=null}}function Ue(a,b){if(b){for(var c=0;c<b.length;++c)b[c].marker.attachLine(a);a.markedSpans=b}}function Ve(a,b){var c=a.lines.length-b.lines.length;if(0!=c)return c;var c=a.find(),d=b.find(),e=y(c.from,d.from)||(a.inclusiveLeft?-1:0)-(b.inclusiveLeft?-1:0);return e?-e:(c=y(c.to,d.to)||(a.inclusiveRight?1:0)-(b.inclusiveRight?1:0))?c:b.id-a.id}function Aa(a,b){var c=ra&&a.markedSpans,d;if(c)for(var e,f=0;f<c.length;++f)e= +c[f],e.marker.collapsed&&null==(b?e.from:e.to)&&(!d||0>Ve(d,e.marker))&&(d=e.marker);return d}function Qe(a,b,c,d,e){a=u(a,b);if(a=ra&&a.markedSpans)for(b=0;b<a.length;++b){var f=a[b];if(f.marker.collapsed){var g=f.marker.find(0),h=y(g.from,c)||(f.marker.inclusiveLeft?-1:0)-(e.inclusiveLeft?-1:0),k=y(g.to,d)||(f.marker.inclusiveRight?1:0)-(e.inclusiveRight?1:0);if(!(0<=h&&0>=k||0>=h&&0<=k)&&(0>=h&&(0<y(g.to,c)||f.marker.inclusiveRight&&e.inclusiveLeft)||0<=h&&(0>y(g.from,d)||f.marker.inclusiveLeft&& +e.inclusiveRight)))return!0}}}function ia(a){for(var b;b=Aa(a,!0);)a=b.find(-1,!0).line;return a}function Mc(a,b){var c=u(a,b),d=ia(c);return c==d?b:F(d)}function Ld(a,b){if(b>a.lastLine())return b;var c=u(a,b),d;if(!ya(a,c))return b;for(;d=Aa(c,!1);)c=d.find(1,!0).line;return F(c)+1}function ya(a,b){var c=ra&&b.markedSpans;if(c)for(var d,e=0;e<c.length;++e)if(d=c[e],d.marker.collapsed&&(null==d.from||!d.marker.widgetNode&&0==d.from&&d.marker.inclusiveLeft&&td(a,b,d)))return!0}function td(a,b,c){if(null== +c.to)return b=c.marker.find(1,!0),td(a,b.line,zb(b.line.markedSpans,c.marker));if(c.marker.inclusiveRight&&c.to==b.text.length)return!0;for(var d,e=0;e<b.markedSpans.length;++e)if(d=b.markedSpans[e],d.marker.collapsed&&!d.marker.widgetNode&&d.from==c.to&&(null==d.to||d.to!=c.from)&&(d.marker.inclusiveLeft||c.marker.inclusiveRight)&&td(a,b,d))return!0}function ub(a){if(null!=a.height)return a.height;var b=a.doc.cm;if(!b)return 0;if(!Wc(document.body,a.node)){var c="position: relative;";a.coverGutter&& +(c+="margin-left: -"+b.display.gutters.offsetWidth+"px;");a.noHScroll&&(c+="width: "+b.display.wrapper.clientWidth+"px;");U(b.display.measure,t("div",[a.node],null,c))}return a.height=a.node.offsetHeight}function $f(a,b,c,d){var e=new sc(a,c,d),f=a.cm;f&&e.noHScroll&&(f.display.alignWidgets=!0);nc(a,b,"widget",function(b){var c=b.widgets||(b.widgets=[]);null==e.insertAt?c.push(e):c.splice(Math.min(c.length-1,Math.max(0,e.insertAt)),0,e);e.line=b;f&&!ya(a,b)&&(c=ea(b)<a.scrollTop,ca(b,b.height+ub(e)), +c&&lc(f,null,e.height),f.curOp.forceUpdate=!0);return!0});return e}function We(a,b){if(a)for(;;){var c=a.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!c)break;a=a.slice(0,c.index)+a.slice(c.index+c[0].length);var d=c[1]?"bgClass":"textClass";null==b[d]?b[d]=c[2]:(new RegExp("(?:^|s)"+c[2]+"(?:$|s)")).test(b[d])||(b[d]+=" "+c[2])}return a}function Xe(a,b){if(a.blankLine)return a.blankLine(b);if(a.innerMode){var c=q.innerMode(a,b);if(c.mode.blankLine)return c.mode.blankLine(c.state)}}function ud(a, +b,c,d){for(var e=0;10>e;e++){d&&(d[0]=q.innerMode(a,c).mode);var f=a.token(b,c);if(b.pos>b.start)return f}throw Error("Mode "+a.name+" failed to advance stream.");}function Ye(a,b,c,d){function e(a){return{start:m.start,end:m.pos,string:m.current(),type:h||null,state:a?Sa(f.mode,l):l}}var f=a.doc,g=f.mode,h;b=w(f,b);var k=u(f,b.line),l=sb(a,b.line,c),m=new tc(k.text,a.options.tabSize),p;for(d&&(p=[]);(d||m.pos<b.ch)&&!m.eol();)m.start=m.pos,h=ud(g,m,l),d&&p.push(e(!0));return d?p:e()}function Ze(a, +b,c,d,e,f,g){var h=c.flattenSpans;null==h&&(h=a.options.flattenSpans);var k=0,l=null,m=new tc(b,a.options.tabSize),p,n=a.options.addModeClass&&[null];for(""==b&&We(Xe(c,d),f);!m.eol();){m.pos>a.options.maxHighlightLength?(h=!1,g&&Zc(a,b,d,m.pos),m.pos=b.length,p=null):p=We(ud(c,m,d,n),f);if(n){var q=n[0].name;q&&(p="m-"+(p?q+" "+p:q))}if(!h||l!=p){for(;k<m.start;)k=Math.min(m.start,k+5E4),e(k,l);l=p}m.start=m.pos}for(;k<m.pos;)a=Math.min(m.pos,k+5E4),e(a,l),k=a}function je(a,b,c,d){var e=[a.state.modeGen], +f={};Ze(a,b.text,a.doc.mode,c,function(a,b){e.push(a,b)},f,d);for(c=0;c<a.state.overlays.length;++c){var g=a.state.overlays[c],h=1,k=0;Ze(a,b.text,g.mode,!0,function(a,b){for(var c=h;k<a;){var d=e[h];d>a&&e.splice(h,1,a,e[h+1],d);h+=2;k=Math.min(a,d)}if(b)if(g.opaque)e.splice(c,h-c,a,"cm-overlay "+b),h=c+2;else for(;c<h;c+=2)d=e[c+1],e[c+1]=(d?d+" ":"")+"cm-overlay "+b},f)}return{styles:e,classes:f.bgClass||f.textClass?f:null}}function $e(a,b,c){if(!b.styles||b.styles[0]!=a.state.modeGen){var d=je(a, +b,b.stateAfter=sb(a,F(b)));b.styles=d.styles;d.classes?b.styleClasses=d.classes:b.styleClasses&&(b.styleClasses=null);c===a.doc.frontier&&a.doc.frontier++}return b.styles}function Zc(a,b,c,d){var e=a.doc.mode,f=new tc(b,a.options.tabSize);f.start=f.pos=d||0;for(""==b&&Xe(e,c);!f.eol()&&f.pos<=a.options.maxHighlightLength;)ud(e,f,c),f.start=f.pos}function af(a,b){if(!a||/^\s*$/.test(a))return null;var c=b.addModeClass?ag:bg;return c[a]||(c[a]=a.replace(/\S+/g,"cm-$\x26"))}function Sd(a,b){var c=t("span", +null,null,J?"padding-right: .1px":null),c={pre:t("pre",[c]),content:c,col:0,pos:0,cm:a,splitSpaces:(B||J)&&a.getOption("lineWrapping")};b.measure={};for(var d=0;d<=(b.rest?b.rest.length:0);d++){var e=d?b.rest[d-1]:b.line,f;c.pos=0;c.addToken=cg;var g;if(null!=vd)g=vd;else{g=U(a.display.measure,document.createTextNode("AخA"));var h=Ea(g,0,1).getBoundingClientRect();g=h&&h.left!=h.right?vd=3>Ea(g,1,2).getBoundingClientRect().right-h.right:!1}g&&(f=Y(e))&&(c.addToken=dg(c.addToken,f));c.map=[];h=b!= +a.display.externalMeasured&&F(e);a:{g=c;var h=$e(a,e,h),k=e.markedSpans,l=e.text,m=0;if(k)for(var p=l.length,n=0,q=1,r="",u=void 0,v=void 0,w=0,x=void 0,y=void 0,A=void 0,C=void 0,z=void 0;;){if(w==n){for(var x=y=A=C=v="",z=null,w=Infinity,G=[],H=0;H<k.length;++H){var I=k[H],D=I.marker;"bookmark"==D.type&&I.from==n&&D.widgetNode?G.push(D):I.from<=n&&(null==I.to||I.to>n||D.collapsed&&I.to==n&&I.from==n)?(null!=I.to&&I.to!=n&&w>I.to&&(w=I.to,y=""),D.className&&(x+=" "+D.className),D.css&&(v=D.css), +D.startStyle&&I.from==n&&(A+=" "+D.startStyle),D.endStyle&&I.to==w&&(y+=" "+D.endStyle),D.title&&!C&&(C=D.title),D.collapsed&&(!z||0>Ve(z.marker,D))&&(z=I)):I.from>n&&w>I.from&&(w=I.from)}if(z&&(z.from||0)==n){bf(g,(null==z.to?p+1:z.to)-n,z.marker,null==z.from);if(null==z.to)break a;z.to==n&&(z=!1)}if(!z&&G.length)for(H=0;H<G.length;++H)bf(g,0,G[H])}if(n>=p)break;for(G=Math.min(p,w);;){if(r){H=n+r.length;z||(I=H>G?r.slice(0,G-n):r,g.addToken(g,I,u?u+x:x,A,n+I.length==w?y:"",C,v));if(H>=G){r=r.slice(G- +n);n=G;break}n=H;A=""}r=l.slice(m,m=h[q++]);u=af(h[q++],g.cm.options)}}else for(var q=1;q<h.length;q+=2)g.addToken(g,l.slice(m,m=h[q]),af(h[q+1],g.cm.options))}e.styleClasses&&(e.styleClasses.bgClass&&(c.bgClass=wd(e.styleClasses.bgClass,c.bgClass||"")),e.styleClasses.textClass&&(c.textClass=wd(e.styleClasses.textClass,c.textClass||"")));0==c.map.length&&c.map.push(0,0,c.content.appendChild(eg(a.display.measure)));0==d?(b.measure.map=c.map,b.measure.cache={}):((b.measure.maps||(b.measure.maps=[])).push(c.map), +(b.measure.caches||(b.measure.caches=[])).push({}))}J&&/\bcm-tab\b/.test(c.content.lastChild.className)&&(c.content.className="cm-tab-wrap-hack");K(a,"renderLine",a,b.line,c.pre);c.pre.className&&(c.textClass=wd(c.pre.className,c.textClass||""));return c}function cg(a,b,c,d,e,f,g){if(b){var h=a.splitSpaces?b.replace(/ {3,}/g,fg):b,k=a.cm.state.specialChars,l=!1;if(k.test(b))for(var m=document.createDocumentFragment(),p=0;;){k.lastIndex=p;var n=k.exec(b),q=n?n.index-p:b.length-p;if(q){var r=document.createTextNode(h.slice(p, +p+q));B&&9>C?m.appendChild(t("span",[r])):m.appendChild(r);a.map.push(a.pos,a.pos+q,r);a.col+=q;a.pos+=q}if(!n)break;p+=q+1;"\t"==n[0]?(r=a.cm.options.tabSize,n=r-a.col%r,r=m.appendChild(t("span",Ne(n),"cm-tab")),r.setAttribute("role","presentation"),r.setAttribute("cm-text","\t"),a.col+=n):(r=a.cm.options.specialCharPlaceholder(n[0]),r.setAttribute("cm-text",n[0]),B&&9>C?m.appendChild(t("span",[r])):m.appendChild(r),a.col+=1);a.map.push(a.pos,a.pos+1,r);a.pos++}else{a.col+=b.length;var m=document.createTextNode(h); +a.map.push(a.pos,a.pos+b.length,m);B&&9>C&&(l=!0);a.pos+=b.length}if(c||d||e||l||g)return b=c||"",d&&(b+=d),e&&(b+=e),d=t("span",[m],b,g),f&&(d.title=f),a.content.appendChild(d);a.content.appendChild(m)}}function fg(a){for(var b=" ",c=0;c<a.length-2;++c)b+=c%2?" ":" ";return b+" "}function dg(a,b){return function(c,d,e,f,g,h,k){e=e?e+" cm-force-border":"cm-force-border";for(var l=c.pos,m=l+d.length;;){for(var p=0;p<b.length;p++){var n=b[p];if(n.to>l&&n.from<=l)break}if(n.to>=m)return a(c,d,e,f,g, +h,k);a(c,d.slice(0,n.to-l),e,f,null,h,k);f=null;d=d.slice(n.to-l);l=n.to}}}function bf(a,b,c,d){var e=!d&&c.widgetNode;e&&a.map.push(a.pos,a.pos+b,e);!d&&a.cm.display.input.needsContentAttribute&&(e||(e=a.content.appendChild(document.createElement("span"))),e.setAttribute("cm-marker",c.id));e&&(a.cm.display.input.setUneditable(e),a.content.appendChild(e));a.pos+=b}function Me(a,b){return 0==b.from.ch&&0==b.to.ch&&""==A(b.text)&&(!a.cm||a.cm.options.wholeLineUpdateBefore)}function qd(a,b,c,d){function e(a, +c,e){a.text=c;a.stateAfter&&(a.stateAfter=null);a.styles&&(a.styles=null);null!=a.order&&(a.order=null);Te(a);Ue(a,e);c=d?d(a):1;c!=a.height&&ca(a,c);L(a,"change",a,b)}function f(a,b){for(var e=a,f=[];e<b;++e)f.push(new Ab(k[e],c?c[e]:null,d));return f}var g=b.from,h=b.to,k=b.text,l=u(a,g.line),m=u(a,h.line),p=A(k),n=c?c[k.length-1]:null,q=h.line-g.line;if(b.full)a.insert(0,f(0,k.length)),a.remove(k.length,a.size-k.length);else if(Me(a,b)){var r=f(0,k.length-1);e(m,m.text,n);q&&a.remove(g.line,q); +r.length&&a.insert(g.line,r)}else l==m?1==k.length?e(l,l.text.slice(0,g.ch)+p+l.text.slice(h.ch),n):(r=f(1,k.length-1),r.push(new Ab(p+l.text.slice(h.ch),n,d)),e(l,l.text.slice(0,g.ch)+k[0],c?c[0]:null),a.insert(g.line+1,r)):1==k.length?(e(l,l.text.slice(0,g.ch)+k[0]+m.text.slice(h.ch),c?c[0]:null),a.remove(g.line+1,q)):(e(l,l.text.slice(0,g.ch)+k[0],c?c[0]:null),e(m,p+m.text.slice(h.ch),n),r=f(1,k.length-1),1<q&&a.remove(g.line+1,q-1),a.insert(g.line+1,r));L(a,"change",a,b)}function Bb(a){this.lines= +a;this.parent=null;for(var b=0,c=0;b<a.length;++b)a[b].parent=this,c+=a[b].height;this.height=c}function Cb(a){this.children=a;for(var b=0,c=0,d=0;d<a.length;++d){var e=a[d],b=b+e.chunkSize(),c=c+e.height;e.parent=this}this.size=b;this.height=c;this.parent=null}function Ga(a,b,c){function d(a,f,g){if(a.linked)for(var h=0;h<a.linked.length;++h){var k=a.linked[h];if(k.doc!=f){var l=g&&k.sharedHist;if(!c||l)b(k.doc,l),d(k.doc,a,l)}}}d(a,null,!0)}function Ed(a,b){if(b.cm)throw Error("This document is already in use."); +a.doc=b;b.cm=a;Ac(a);zc(a);a.options.lineWrapping||Dc(a);a.options.mode=b.modeOption;Q(a)}function u(a,b){b-=a.first;if(0>b||b>=a.size)throw Error("There is no line "+(b+a.first)+" in the document.");for(var c=a;!c.lines;)for(var d=0;;++d){var e=c.children[d],f=e.chunkSize();if(b<f){c=e;break}b-=f}return c.lines[b]}function Da(a,b,c){var d=[],e=b.line;a.iter(b.line,c.line+1,function(a){a=a.text;e==c.line&&(a=a.slice(0,c.ch));e==b.line&&(a=a.slice(b.ch));d.push(a);++e});return d}function xd(a,b,c){var d= +[];a.iter(b,c,function(a){d.push(a.text)});return d}function ca(a,b){var c=b-a.height;if(c)for(var d=a;d;d=d.parent)d.height+=c}function F(a){if(null==a.parent)return null;var b=a.parent;a=D(b.lines,a);for(var c=b.parent;c;b=c,c=c.parent)for(var d=0;c.children[d]!=b;++d)a+=c.children[d].chunkSize();return a+b.first}function Ba(a,b){var c=a.first;a:do{for(var d=0;d<a.children.length;++d){var e=a.children[d],f=e.height;if(b<f){a=e;continue a}b-=f;c+=e.chunkSize()}return c}while(!a.lines);for(d=0;d< +a.lines.length;++d){e=a.lines[d].height;if(b<e)break;b-=e}return c+d}function ea(a){a=ia(a);for(var b=0,c=a.parent,d=0;d<c.lines.length;++d){var e=c.lines[d];if(e==a)break;else b+=e.height}for(a=c.parent;a;c=a,a=c.parent)for(d=0;d<a.children.length&&(e=a.children[d],e!=c);++d)b+=e.height;return b}function Y(a){var b=a.order;null==b&&(b=a.order=gg(a.text));return b}function uc(a){this.done=[];this.undone=[];this.undoDepth=Infinity;this.lastModTime=this.lastSelTime=0;this.lastOrigin=this.lastSelOrigin= +this.lastOp=this.lastSelOp=null;this.generation=this.maxGeneration=a||1}function pd(a,b){var c={from:Rc(b.from),to:ta(b),text:Da(a,b.from,b.to)};cf(a,c,b.from.line,b.to.line+1);Ga(a,function(a){cf(a,c,b.from.line,b.to.line+1)},!0);return c}function ce(a){for(;a.length;)if(A(a).ranges)a.pop();else break}function Ie(a,b,c,d){var e=a.history;e.undone.length=0;var f=+new Date,g,h;if(h=e.lastOp==d||e.lastOrigin==b.origin&&b.origin&&("+"==b.origin.charAt(0)&&a.cm&&e.lastModTime>f-a.cm.options.historyEventDelay|| +"*"==b.origin.charAt(0)))e.lastOp==d?(ce(e.done),g=A(e.done)):e.done.length&&!A(e.done).ranges?g=A(e.done):1<e.done.length&&!e.done[e.done.length-2].ranges?(e.done.pop(),g=A(e.done)):g=void 0,h=g;if(h){var k=A(g.changes);0==y(b.from,b.to)&&0==y(b.from,k.to)?k.to=ta(b):g.changes.push(pd(a,b))}else for((g=A(e.done))&&g.ranges||Wb(a.sel,e.done),g={changes:[pd(a,b)],generation:e.generation},e.done.push(g);e.done.length>e.undoDepth;)e.done.shift(),e.done[0].ranges||e.done.shift();e.done.push(c);e.generation= +++e.maxGeneration;e.lastModTime=e.lastSelTime=f;e.lastOp=e.lastSelOp=d;e.lastOrigin=e.lastSelOrigin=b.origin;k||K(a,"historyAdded")}function Wb(a,b){var c=A(b);c&&c.ranges&&c.equals(a)||b.push(a)}function cf(a,b,c,d){var e=b["spans_"+a.id],f=0;a.iter(Math.max(a.first,c),Math.min(a.first+a.size,d),function(c){c.markedSpans&&((e||(e=b["spans_"+a.id]={}))[f]=c.markedSpans);++f})}function Zf(a){if(!a)return null;for(var b=0,c;b<a.length;++b)a[b].marker.explicitlyCleared?c||(c=a.slice(0,b)):c&&c.push(a[b]); +return c?c.length?c:null:a}function Xa(a,b,c){for(var d=0,e=[];d<a.length;++d){var f=a[d];if(f.ranges)e.push(c?la.prototype.deepCopy.call(f):f);else{var f=f.changes,g=[];e.push({changes:g});for(var h=0;h<f.length;++h){var k=f[h],l;g.push({from:k.from,to:k.to,text:k.text});if(b)for(var m in k)(l=m.match(/^spans_(\d+)$/))&&-1<D(b,Number(l[1]))&&(A(g)[m]=k[m],delete k[m])}}}return e}function df(a,b,c,d){c<a.line?a.line+=d:b<a.line&&(a.line=b,a.ch=0)}function ef(a,b,c,d){for(var e=0;e<a.length;++e){var f= +a[e],g=!0;if(f.ranges){f.copied||(f=a[e]=f.deepCopy(),f.copied=!0);for(var h=0;h<f.ranges.length;h++)df(f.ranges[h].anchor,b,c,d),df(f.ranges[h].head,b,c,d)}else{for(h=0;h<f.changes.length;++h){var k=f.changes[h];if(c<k.from.line)k.from=r(k.from.line+d,k.from.ch),k.to=r(k.to.line+d,k.to.ch);else if(b<=k.to.line){g=!1;break}}g||(a.splice(0,e+1),e=0)}}}function Je(a,b){var c=b.from.line,d=b.to.line,e=b.text.length-(d-c)-1;ef(a.done,c,d,e);ef(a.undone,c,d,e)}function ld(a){return null!=a.defaultPrevented? +a.defaultPrevented:0==a.returnValue}function xe(a){var b=a.which;null==b&&(a.button&1?b=1:a.button&2?b=3:a.button&4&&(b=2));W&&a.ctrlKey&&1==b&&(b=3);return b}function L(a,b){function c(a){return function(){a.apply(null,e)}}var d=a._handlers&&a._handlers[b];if(d){var e=Array.prototype.slice.call(arguments,2),f;Ta?f=Ta.delayedCallbacks:Db?f=Db:(f=Db=[],setTimeout(hg,0));for(var g=0;g<d.length;++g)f.push(c(d[g]))}}function hg(){var a=Db;Db=null;for(var b=0;b<a.length;++b)a[b]()}function ja(a,b,c){"string"== +typeof b&&(b={type:b,preventDefault:function(){this.defaultPrevented=!0}});K(a,c||b.type,a,b);return ld(b)||b.codemirrorIgnore}function fe(a){var b=a._handlers&&a._handlers.cursorActivity;if(b){a=a.curOp.cursorActivityHandlers||(a.curOp.cursorActivityHandlers=[]);for(var c=0;c<b.length;++c)-1==D(a,b[c])&&a.push(b[c])}}function S(a,b){var c=a._handlers&&a._handlers[b];return c&&0<c.length}function Ya(a){a.prototype.on=function(a,c){v(this,a,c)};a.prototype.off=function(a,c){ka(this,a,c)}}function bb(){this.id= +null}function ye(a,b,c){for(var d=0,e=0;;){var f=a.indexOf("\t",d);-1==f&&(f=a.length);var g=f-d;if(f==a.length||e+g>=b)return d+Math.min(g,b-e);e+=f-d;e+=c-e%c;d=f+1;if(e>=b)return d}}function Ne(a){for(;vc.length<=a;)vc.push(A(vc)+" ");return vc[a]}function A(a){return a[a.length-1]}function D(a,b){for(var c=0;c<a.length;++c)if(a[c]==b)return c;return-1}function ob(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=b(a[d],d);return c}function Eb(){}function ff(a,b){var c;Object.create?c=Object.create(a): +(Eb.prototype=a,c=new Eb);b&&V(b,c);return c}function V(a,b,c){b||(b={});for(var d in a)!a.hasOwnProperty(d)||!1===c&&b.hasOwnProperty(d)||(b[d]=a[d]);return b}function cb(a){var b=Array.prototype.slice.call(arguments,1);return function(){return a.apply(null,b)}}function oc(a,b){return b?-1<b.source.indexOf("\\w")&&gf(a)?!0:b.test(a):gf(a)}function hf(a){for(var b in a)if(a.hasOwnProperty(b)&&a[b])return!1;return!0}function tb(a){return 768<=a.charCodeAt(0)&&ig.test(a)}function t(a,b,c,d){a=document.createElement(a); +c&&(a.className=c);d&&(a.style.cssText=d);if("string"==typeof b)a.appendChild(document.createTextNode(b));else if(b)for(c=0;c<b.length;++c)a.appendChild(b[c]);return a}function za(a){for(var b=a.childNodes.length;0<b;--b)a.removeChild(a.firstChild);return a}function U(a,b){return za(a).appendChild(b)}function fa(){return document.activeElement}function Fb(a){return new RegExp("(^|\\s)"+a+"(?:$|\\s)\\s*")}function wd(a,b){for(var c=a.split(" "),d=0;d<c.length;d++)c[d]&&!Fb(c[d]).test(b)&&(b+=" "+c[d]); +return b}function jf(a){if(document.body.getElementsByClassName)for(var b=document.body.getElementsByClassName("CodeMirror"),c=0;c<b.length;c++){var d=b[c].CodeMirror;d&&a(d)}}function tf(){var a;v(window,"resize",function(){null==a&&(a=setTimeout(function(){a=null;jf(If)},100))});v(window,"blur",function(){jf(db)})}function eg(a){if(null==yd){var b=t("span","​");U(a,t("span",[b,document.createTextNode("x")]));0!=a.firstChild.offsetHeight&&(yd=1>=b.offsetWidth&&2<b.offsetHeight&&!(B&&8>C))}a=yd?t("span", +"​"):t("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");a.setAttribute("cm-text","");return a}function Af(a,b,c,d){if(!a)return d(b,c,"ltr");for(var e=!1,f=0;f<a.length;++f){var g=a[f];if(g.from<c&&g.to>b||b==c&&g.to==b)d(Math.max(g.from,b),Math.min(g.to,c),1==g.level?"rtl":"ltr"),e=!0}e||d(b,c,"ltr")}function dd(a){return a.level%2?a.to:a.from}function ed(a){return a.level%2?a.from:a.to}function ac(a){return(a=Y(a))?dd(a[0]):0}function bc(a){var b=Y(a);return b?ed(A(b)):a.text.length} +function kf(a,b){var c=u(a.doc,b),d=ia(c);d!=c&&(b=F(d));d=(c=Y(d))?c[0].level%2?bc(d):ac(d):0;return r(b,d)}function lf(a,b){var c=kf(a,b.line),d=u(a.doc,c.line),e=Y(d);return e&&0!=e[0].level?c:(d=Math.max(0,d.text.search(/\S/)),r(c.line,b.line==c.line&&b.ch<=d&&b.ch?0:d))}function Sb(a,b){vb=null;for(var c=0,d;c<a.length;++c){var e=a[c];if(e.from<b&&e.to>b)return c;if(e.from==b||e.to==b)if(null==d)d=c;else{var f;f=e.level;var g=a[d].level,h=a[0].level;f=f==h?!0:g==h?!1:f<g;if(f)return e.from!= +e.to&&(vb=d),c;e.from!=e.to&&(vb=c);break}}return d}function zd(a,b,c,d){if(!d)return b+c;do b+=c;while(0<b&&tb(a.text.charAt(b)));return b}function gd(a,b,c,d){var e=Y(a);if(!e)return Oe(a,b,c,d);var f=Sb(e,b),g=e[f];for(b=zd(a,b,g.level%2?-c:c,d);;){if(b>g.from&&b<g.to)return b;if(b==g.from||b==g.to){if(Sb(e,b)==f)return b;g=e[f+c];return 0<c==g.level%2?g.to:g.from}g=e[f+=c];if(!g)return null;b=0<c==g.level%2?zd(a,g.to,-1,d):zd(a,g.from,1,d)}}function Oe(a,b,c,d){b+=c;if(d)for(;0<b&&tb(a.text.charAt(b));)b+= +c;return 0>b||b>a.text.length?null:b}var wa=/gecko\/\d/i.test(navigator.userAgent),mf=/MSIE \d/.test(navigator.userAgent),nf=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),B=mf||nf,C=B&&(mf?document.documentMode||6:nf[1]),J=/WebKit\//.test(navigator.userAgent),jg=J&&/Qt\/\d+\.\d+/.test(navigator.userAgent),kg=/Chrome\//.test(navigator.userAgent),ba=/Opera\//.test(navigator.userAgent),te=/Apple Computer/.test(navigator.vendor),lg=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(navigator.userAgent), +Gf=/PhantomJS/.test(navigator.userAgent),Qa=/AppleWebKit/.test(navigator.userAgent)&&/Mobile\/\w+/.test(navigator.userAgent),ab=Qa||/Android|webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(navigator.userAgent),W=Qa||/Mac/.test(navigator.platform),mg=/win/i.test(navigator.platform),Ia=ba&&navigator.userAgent.match(/Version\/(\d*\.\d*)/);Ia&&(Ia=Number(Ia[1]));Ia&&15<=Ia&&(ba=!1,J=!0);var of=W&&(jg||ba&&(null==Ia||12.11>Ia)),id=wa||B&&9<=C,Ge=!1,ra=!1;Fc.prototype=V({update:function(a){var b= +a.scrollWidth>a.clientWidth+1,c=a.scrollHeight>a.clientHeight+1,d=a.nativeBarWidth;c?(this.vert.style.display="block",this.vert.style.bottom=b?d+"px":"0",this.vert.firstChild.style.height=Math.max(0,a.scrollHeight-a.clientHeight+(a.viewHeight-(b?d:0)))+"px"):(this.vert.style.display="",this.vert.firstChild.style.height="0");b?(this.horiz.style.display="block",this.horiz.style.right=c?d+"px":"0",this.horiz.style.left=a.barLeft+"px",this.horiz.firstChild.style.width=a.scrollWidth-a.clientWidth+(a.viewWidth- +a.barLeft-(c?d:0))+"px"):(this.horiz.style.display="",this.horiz.firstChild.style.width="0");!this.checkedOverlay&&0<a.clientHeight&&(0==d&&this.overlayHack(),this.checkedOverlay=!0);return{right:c?d:0,bottom:b?d:0}},setScrollLeft:function(a){this.horiz.scrollLeft!=a&&(this.horiz.scrollLeft=a)},setScrollTop:function(a){this.vert.scrollTop!=a&&(this.vert.scrollTop=a)},overlayHack:function(){this.horiz.style.minHeight=this.vert.style.minWidth=W&&!lg?"12px":"18px";var a=this,b=function(b){(b.target|| +b.srcElement)!=a.vert&&(b.target||b.srcElement)!=a.horiz&&G(a.cm,pe)(b)};v(this.vert,"mousedown",b);v(this.horiz,"mousedown",b)},clear:function(){var a=this.horiz.parentNode;a.removeChild(this.horiz);a.removeChild(this.vert)}},Fc.prototype);Gc.prototype=V({update:function(){return{bottom:0,right:0}},setScrollLeft:function(){},setScrollTop:function(){},clear:function(){}},Gc.prototype);q.scrollbarModel={"native":Fc,"null":Gc};Mb.prototype.signal=function(a,b){S(a,b)&&this.events.push(arguments)};Mb.prototype.finish= +function(){for(var a=0;a<this.events.length;a++)K.apply(null,this.events[a])};var r=q.Pos=function(a,b){if(!(this instanceof r))return new r(a,b);this.line=a;this.ch=b},y=q.cmpPos=function(a,b){return a.line-b.line||a.ch-b.ch},X=null;Tc.prototype=V({init:function(a){function b(a){if(d.somethingSelected())X=d.getSelections(),c.inaccurateSelection&&(c.prevInput="",c.inaccurateSelection=!1,f.value=X.join("\n"),Za(f));else if(d.options.lineWiseCopyCut){var b=Vd(d);X=b.text;"cut"==a.type?d.setSelections(b.ranges, +null,ha):(c.prevInput="",f.value=b.text.join("\n"),Za(f))}else return;"cut"==a.type&&(d.state.cutIncoming=!0)}var c=this,d=this.cm,e=this.wrapper=Xd(),f=this.textarea=e.firstChild;a.wrapper.insertBefore(e,a.wrapper.firstChild);Qa&&(f.style.width="0px");v(f,"input",function(){B&&9<=C&&c.hasSelection&&(c.hasSelection=null);c.poll()});v(f,"paste",function(){if(J&&!d.state.fakedLastChar&&!(200>new Date-d.state.lastMiddleDown)){var a=f.selectionStart,b=f.selectionEnd;f.value+="$";f.selectionEnd=b;f.selectionStart= +a;d.state.fakedLastChar=!0}d.state.pasteIncoming=!0;c.fastPoll()});v(f,"cut",b);v(f,"copy",b);v(a.scroller,"paste",function(b){oa(a,b)||(d.state.pasteIncoming=!0,c.focus())});v(a.lineSpace,"selectstart",function(b){oa(a,b)||O(b)});v(f,"compositionstart",function(){var a=d.getCursor("from");c.composing={start:a,range:d.markText(a,d.getCursor("to"),{className:"CodeMirror-composing"})}});v(f,"compositionend",function(){c.composing&&(c.poll(),c.composing.range.clear(),c.composing=null)})},prepareSelection:function(){var a= +this.cm,b=a.display,c=a.doc,d=he(a);if(a.options.moveInputWithCursor){var a=ma(a,c.sel.primary().head,"div"),c=b.wrapper.getBoundingClientRect(),e=b.lineDiv.getBoundingClientRect();d.teTop=Math.max(0,Math.min(b.wrapper.clientHeight-10,a.top+e.top-c.top));d.teLeft=Math.max(0,Math.min(b.wrapper.clientWidth-10,a.left+e.left-c.left))}return d},showSelection:function(a){var b=this.cm.display;U(b.cursorDiv,a.cursors);U(b.selectionDiv,a.selection);null!=a.teTop&&(this.wrapper.style.top=a.teTop+"px",this.wrapper.style.left= +a.teLeft+"px")},reset:function(a){if(!this.contextMenuPending){var b,c,d=this.cm,e=d.doc;d.somethingSelected()?(this.prevInput="",b=e.sel.primary(),c=(b=Ce&&(100<b.to().line-b.from().line||1E3<(c=d.getSelection()).length))?"-":c||d.getSelection(),this.textarea.value=c,d.state.focused&&Za(this.textarea),B&&9<=C&&(this.hasSelection=c)):a||(this.prevInput=this.textarea.value="",B&&9<=C&&(this.hasSelection=null));this.inaccurateSelection=b}},getField:function(){return this.textarea},supportsTouch:function(){return!1}, +focus:function(){if("nocursor"!=this.cm.options.readOnly&&(!ab||fa()!=this.textarea))try{this.textarea.focus()}catch(a){}},blur:function(){this.textarea.blur()},resetPosition:function(){this.wrapper.style.top=this.wrapper.style.left=0},receivedFocus:function(){this.slowPoll()},slowPoll:function(){var a=this;a.pollingFast||a.polling.set(this.cm.options.pollInterval,function(){a.poll();a.cm.state.focused&&a.slowPoll()})},fastPoll:function(){function a(){c.poll()||b?(c.pollingFast=!1,c.slowPoll()):(b= +!0,c.polling.set(60,a))}var b=!1,c=this;c.pollingFast=!0;c.polling.set(20,a)},poll:function(){var a=this.cm,b=this.textarea,c=this.prevInput;if(!a.state.focused||ng(b)&&!c||Rb(a)||a.options.disableInput||a.state.keySeq)return!1;a.state.pasteIncoming&&a.state.fakedLastChar&&(b.value=b.value.substring(0,b.value.length-1),a.state.fakedLastChar=!1);var d=b.value;if(d==c&&!a.somethingSelected())return!1;if(B&&9<=C&&this.hasSelection===d||W&&/[\uf700-\uf7ff]/.test(d))return a.display.input.reset(),!1;if(a.doc.sel== +a.display.selForContextMenu){var e=d.charCodeAt(0);8203!=e||c||(c="​");if(8666==e)return this.reset(),this.cm.execCommand("undo")}for(var f=0,e=Math.min(c.length,d.length);f<e&&c.charCodeAt(f)==d.charCodeAt(f);)++f;var g=this;T(a,function(){Sc(a,d.slice(f),c.length-f,null,g.composing?"*compose":null);1E3<d.length||-1<d.indexOf("\n")?b.value=g.prevInput="":g.prevInput=d;g.composing&&(g.composing.range.clear(),g.composing.range=a.markText(g.composing.start,a.getCursor("to"),{className:"CodeMirror-composing"}))}); +return!0},ensurePolled:function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},onKeyPress:function(){B&&9<=C&&(this.hasSelection=null);this.fastPoll()},onContextMenu:function(a){function b(){if(null!=g.selectionStart){var a=e.somethingSelected(),b="​"+(a?g.value:"");g.value="⇚";g.value=b;d.prevInput=a?"":"​";g.selectionStart=1;g.selectionEnd=b.length;f.selForContextMenu=e.doc.sel}}function c(){d.contextMenuPending=!1;d.wrapper.style.position="relative";g.style.cssText=l;B&&9>C&&f.scrollbars.setScrollTop(f.scroller.scrollTop= +k);if(null!=g.selectionStart){(!B||B&&9>C)&&b();var a=0,c=function(){f.selForContextMenu==e.doc.sel&&0==g.selectionStart&&0<g.selectionEnd&&"​"==d.prevInput?G(e,ic.selectAll)(e):10>a++?f.detectingSelectAll=setTimeout(c,500):f.input.reset()};f.detectingSelectAll=setTimeout(c,200)}}var d=this,e=d.cm,f=e.display,g=d.textarea,h=Ua(e,a),k=f.scroller.scrollTop;if(h&&!ba){e.options.resetSelectionOnContextMenu&&-1==e.doc.sel.contains(h)&&G(e,H)(e.doc,ga(h),ha);var l=g.style.cssText;d.wrapper.style.position= +"absolute";g.style.cssText="position: fixed; width: 30px; height: 30px; top: "+(a.clientY-5)+"px; left: "+(a.clientX-5)+"px; z-index: 1000; background: "+(B?"rgba(255, 255, 255, .05)":"transparent")+"; outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity\x3d5);";if(J)var m=window.scrollY;f.input.focus();J&&window.scrollTo(null,m);f.input.reset();e.somethingSelected()||(g.value=d.prevInput=" ");d.contextMenuPending=!0;f.selForContextMenu=e.doc.sel;clearTimeout(f.detectingSelectAll); +B&&9<=C&&b();if(id){jd(a);var p=function(){ka(window,"mouseup",p);setTimeout(c,20)};v(window,"mouseup",p)}else setTimeout(c,50)}},setUneditable:Eb,needsContentAttribute:!1},Tc.prototype);Uc.prototype=V({init:function(a){function b(a){if(d.somethingSelected())X=d.getSelections(),"cut"==a.type&&d.replaceSelection("",null,"cut");else if(d.options.lineWiseCopyCut){var b=Vd(d);X=b.text;"cut"==a.type&&d.operation(function(){d.setSelections(b.ranges,0,ha);d.replaceSelection("",null,"cut")})}else return; +if(a.clipboardData&&!Qa)a.preventDefault(),a.clipboardData.clearData(),a.clipboardData.setData("text/plain",X.join("\n"));else{var c=Xd();a=c.firstChild;d.display.lineSpace.insertBefore(c,d.display.lineSpace.firstChild);a.value=X.join("\n");var h=document.activeElement;Za(a);setTimeout(function(){d.display.lineSpace.removeChild(c);h.focus()},50)}}var c=this,d=c.cm;a=c.div=a.lineDiv;a.contentEditable="true";Wd(a);v(a,"paste",function(a){var b=a.clipboardData&&a.clipboardData.getData("text/plain"); +b&&(a.preventDefault(),d.replaceSelection(b,null,"paste"))});v(a,"compositionstart",function(a){a=a.data;c.composing={sel:d.doc.sel,data:a,startData:a};if(a){var b=d.doc.sel.primary(),g=d.getLine(b.head.line).indexOf(a,Math.max(0,b.head.ch-a.length));-1<g&&g<=b.head.ch&&(c.composing.sel=ga(r(b.head.line,g),r(b.head.line,g+a.length)))}});v(a,"compositionupdate",function(a){c.composing.data=a.data});v(a,"compositionend",function(a){var b=c.composing;b&&(a.data==b.startData||/\u200b/.test(a.data)||(b.data= +a.data),setTimeout(function(){b.handled||c.applyComposition(b);c.composing==b&&(c.composing=null)},50))});v(a,"touchstart",function(){c.forceCompositionEnd()});v(a,"input",function(){c.composing||c.pollContent()||T(c.cm,function(){Q(d)})});v(a,"copy",b);v(a,"cut",b)},prepareSelection:function(){var a=he(this.cm,!1);a.focus=this.cm.state.focused;return a},showSelection:function(a){a&&this.cm.display.view.length&&(a.focus&&this.showPrimarySelection(),this.showMultipleSelections(a))},showPrimarySelection:function(){var a= +window.getSelection(),b=this.cm.doc.sel.primary(),c=Tb(this.cm,a.anchorNode,a.anchorOffset),d=Tb(this.cm,a.focusNode,a.focusOffset);if(!c||c.bad||!d||d.bad||0!=y(Qb(c,d),b.from())||0!=y(Pb(c,d),b.to()))if(c=Yd(this.cm,b.from()),d=Yd(this.cm,b.to()),c||d){var e=this.cm.display.view,b=a.rangeCount&&a.getRangeAt(0);c?d||(d=e[e.length-1].measure,d=d.maps?d.maps[d.maps.length-1]:d.map,d={node:d[d.length-1],offset:d[d.length-2]-d[d.length-3]}):c={node:e[0].measure.map[2],offset:0};try{var f=Ea(c.node,c.offset, +d.offset,d.node)}catch(g){}f&&(a.removeAllRanges(),a.addRange(f),b&&null==a.anchorNode?a.addRange(b):wa&&this.startGracePeriod());this.rememberSelection()}},startGracePeriod:function(){var a=this;clearTimeout(this.gracePeriod);this.gracePeriod=setTimeout(function(){a.gracePeriod=!1;a.selectionChanged()&&a.cm.operation(function(){a.cm.curOp.selectionChanged=!0})},20)},showMultipleSelections:function(a){U(this.cm.display.cursorDiv,a.cursors);U(this.cm.display.selectionDiv,a.selection)},rememberSelection:function(){var a= +window.getSelection();this.lastAnchorNode=a.anchorNode;this.lastAnchorOffset=a.anchorOffset;this.lastFocusNode=a.focusNode;this.lastFocusOffset=a.focusOffset},selectionInEditor:function(){var a=window.getSelection();if(!a.rangeCount)return!1;a=a.getRangeAt(0).commonAncestorContainer;return Wc(this.div,a)},focus:function(){"nocursor"!=this.cm.options.readOnly&&this.div.focus()},blur:function(){this.div.blur()},getField:function(){return this.div},supportsTouch:function(){return!0},receivedFocus:function(){function a(){b.cm.state.focused&& +(b.pollSelection(),b.polling.set(b.cm.options.pollInterval,a))}var b=this;this.selectionInEditor()?this.pollSelection():T(this.cm,function(){b.cm.curOp.selectionChanged=!0});this.polling.set(this.cm.options.pollInterval,a)},selectionChanged:function(){var a=window.getSelection();return a.anchorNode!=this.lastAnchorNode||a.anchorOffset!=this.lastAnchorOffset||a.focusNode!=this.lastFocusNode||a.focusOffset!=this.lastFocusOffset},pollSelection:function(){if(!this.composing&&!this.gracePeriod&&this.selectionChanged()){var a= +window.getSelection(),b=this.cm;this.rememberSelection();var c=Tb(b,a.anchorNode,a.anchorOffset),d=Tb(b,a.focusNode,a.focusOffset);c&&d&&T(b,function(){H(b.doc,ga(c,d),ha);if(c.bad||d.bad)b.curOp.selectionChanged=!0})}},pollContent:function(){var a=this.cm,b=a.display,c=a.doc.sel.primary(),d=c.from(),c=c.to();if(d.line<b.viewFrom||c.line>b.viewTo-1)return!1;var e;d.line==b.viewFrom||0==(e=Ca(a,d.line))?(d=F(b.view[0].line),e=b.view[0].node):(d=F(b.view[e].line),e=b.view[e-1].node.nextSibling);var f= +Ca(a,c.line);f==b.view.length-1?(c=b.viewTo-1,b=b.view[f].node):(c=F(b.view[f+1].line)-1,b=b.view[f+1].node.previousSibling);b=sa(xf(a,e,b,d,c));for(e=Da(a.doc,r(d,0),r(c,u(a.doc,c).text.length));1<b.length&&1<e.length;)if(A(b)==A(e))b.pop(),e.pop(),c--;else if(b[0]==e[0])b.shift(),e.shift(),d++;else break;for(var g=0,f=0,h=b[0],k=e[0],l=Math.min(h.length,k.length);g<l&&h.charCodeAt(g)==k.charCodeAt(g);)++g;h=A(b);k=A(e);for(l=Math.min(h.length-(1==b.length?g:0),k.length-(1==e.length?g:0));f<l&&h.charCodeAt(h.length- +f-1)==k.charCodeAt(k.length-f-1);)++f;b[b.length-1]=h.slice(0,h.length-f);b[0]=b[0].slice(g);d=r(d,g);c=r(c,e.length?A(e).length-f:0);if(1<b.length||b[0]||y(d,c))return wb(a.doc,b,d,c,"+input"),!0},ensurePolled:function(){this.forceCompositionEnd()},reset:function(){this.forceCompositionEnd()},forceCompositionEnd:function(){this.composing&&!this.composing.handled&&(this.applyComposition(this.composing),this.composing.handled=!0,this.div.blur(),this.div.focus())},applyComposition:function(a){a.data&& +a.data!=a.startData&&G(this.cm,Sc)(this.cm,a.data,0,a.sel)},setUneditable:function(a){a.setAttribute("contenteditable","false")},onKeyPress:function(a){a.preventDefault();G(this.cm,Sc)(this.cm,String.fromCharCode(null==a.charCode?a.keyCode:a.charCode),0)},onContextMenu:Eb,resetPosition:Eb,needsContentAttribute:!0},Uc.prototype);q.inputStyles={textarea:Tc,contenteditable:Uc};la.prototype={primary:function(){return this.ranges[this.primIndex]},equals:function(a){if(a==this)return!0;if(a.primIndex!= +this.primIndex||a.ranges.length!=this.ranges.length)return!1;for(var b=0;b<this.ranges.length;b++){var c=this.ranges[b],d=a.ranges[b];if(0!=y(c.anchor,d.anchor)||0!=y(c.head,d.head))return!1}return!0},deepCopy:function(){for(var a=[],b=0;b<this.ranges.length;b++)a[b]=new z(Rc(this.ranges[b].anchor),Rc(this.ranges[b].head));return new la(a,this.primIndex)},somethingSelected:function(){for(var a=0;a<this.ranges.length;a++)if(!this.ranges[a].empty())return!0;return!1},contains:function(a,b){b||(b=a); +for(var c=0;c<this.ranges.length;c++){var d=this.ranges[c];if(0<=y(b,d.from())&&0>=y(a,d.to()))return c}return-1}};z.prototype={from:function(){return Qb(this.anchor,this.head)},to:function(){return Pb(this.anchor,this.head)},empty:function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch}};var ad={left:0,right:0,top:0,bottom:0},Fa,Ta=null,Ff=0,fc,ec,se=0,gc=0,R=null;B?R=-.53:wa?R=15:kg?R=-.7:te&&(R=-1/3);var ze=function(a){var b=a.wheelDeltaX,c=a.wheelDeltaY;null==b&&a.detail&& +a.axis==a.HORIZONTAL_AXIS&&(b=a.detail);null==c&&a.detail&&a.axis==a.VERTICAL_AXIS?c=a.detail:null==c&&(c=a.wheelDelta);return{x:b,y:c}};q.wheelEventPixels=function(a){a=ze(a);a.x*=R;a.y*=R;return a};var Qf=new bb,md=null,ta=q.changeEnd=function(a){return a.text?r(a.from.line+a.text.length-1,A(a.text).length+(1==a.text.length?a.from.ch:0)):a.to};q.prototype={constructor:q,focus:function(){window.focus();this.display.input.focus()},setOption:function(a,b){var c=this.options,d=c[a];if(c[a]!=b||"mode"== +a)c[a]=b,Ka.hasOwnProperty(a)&&G(this,Ka[a])(this,b,d)},getOption:function(a){return this.options[a]},getDoc:function(){return this.doc},addKeyMap:function(a,b){this.state.keyMaps[b?"push":"unshift"](pc(a))},removeKeyMap:function(a){for(var b=this.state.keyMaps,c=0;c<b.length;++c)if(b[c]==a||b[c].name==a)return b.splice(c,1),!0},addOverlay:M(function(a,b){var c=a.token?a:q.getMode(this.options,a);if(c.startState)throw Error("Overlays may not be stateful.");this.state.overlays.push({mode:c,modeSpec:a, +opaque:b&&b.opaque});this.state.modeGen++;Q(this)}),removeOverlay:M(function(a){for(var b=this.state.overlays,c=0;c<b.length;++c){var d=b[c].modeSpec;if(d==a||"string"==typeof a&&d.name==a){b.splice(c,1);this.state.modeGen++;Q(this);break}}}),indentLine:M(function(a,b,c){"string"!=typeof b&&"number"!=typeof b&&(b=null==b?this.options.smartIndent?"smart":"prev":b?"add":"subtract");qb(this.doc,a)&&pb(this,a,b,c)}),indentSelection:M(function(a){for(var b=this.doc.sel.ranges,c=-1,d=0;d<b.length;d++){var e= +b[d];if(e.empty())e.head.line>c&&(pb(this,e.head.line,a,!0),c=e.head.line,d==this.doc.sel.primIndex&&Pa(this));else{for(var f=e.from(),e=e.to(),g=Math.max(c,f.line),c=Math.min(this.lastLine(),e.line-(e.ch?0:1))+1,e=g;e<c;++e)pb(this,e,a);e=this.doc.sel.ranges;0==f.ch&&b.length==e.length&&0<e[d].from().ch&&Xc(this.doc,d,new z(f,e[d].to()),ha)}}}),getTokenAt:function(a,b){return Ye(this,a,b)},getLineTokens:function(a,b){return Ye(this,r(a),b,!0)},getTokenTypeAt:function(a){a=w(this.doc,a);var b=$e(this, +u(this.doc,a.line)),c=0,d=(b.length-1)/2;a=a.ch;if(0==a)b=b[2];else for(;;){var e=c+d>>1;if((e?b[2*e-1]:0)>=a)d=e;else if(b[2*e+1]<a)c=e+1;else{b=b[2*e+2];break}}c=b?b.indexOf("cm-overlay "):-1;return 0>c?b:0==c?null:b.slice(0,c-1)},getModeAt:function(a){var b=this.doc.mode;return b.innerMode?q.innerMode(b,this.getTokenAt(a).state).mode:b},getHelper:function(a,b){return this.getHelpers(a,b)[0]},getHelpers:function(a,b){var c=[];if(!$a.hasOwnProperty(b))return c;var d=$a[b],e=this.getModeAt(a);if("string"== +typeof e[b])d[e[b]]&&c.push(d[e[b]]);else if(e[b])for(var f=0;f<e[b].length;f++){var g=d[e[b][f]];g&&c.push(g)}else e.helperType&&d[e.helperType]?c.push(d[e.helperType]):d[e.name]&&c.push(d[e.name]);for(f=0;f<d._global.length;f++)g=d._global[f],g.pred(e,this)&&-1==D(c,g.val)&&c.push(g.val);return c},getStateAfter:function(a,b){var c=this.doc;a=Math.max(c.first,Math.min(null==a?c.first+c.size-1:a,c.first+c.size-1));return sb(this,a+1,b)},cursorCoords:function(a,b){var c;c=this.doc.sel.primary();c= +null==a?c.head:"object"==typeof a?w(this.doc,a):a?c.from():c.to();return ma(this,c,b||"page")},charCoords:function(a,b){return Yb(this,w(this.doc,a),b||"page")},coordsChar:function(a,b){a=ne(this,a,b||"page");return fd(this,a.left,a.top)},lineAtHeight:function(a,b){a=ne(this,{top:a,left:0},b||"page").top;return Ba(this.doc,a+this.display.viewOffset)},heightAtLine:function(a,b){var c=!1,d;"number"==typeof a?(d=this.doc.first+this.doc.size-1,a<this.doc.first?a=this.doc.first:a>d&&(a=d,c=!0),d=u(this.doc, +a)):d=a;return cd(this,d,{top:0,left:0},b||"page").top+(c?this.doc.height-ea(d):0)},defaultTextHeight:function(){return xa(this.display)},defaultCharWidth:function(){return gb(this.display)},setGutterMarker:M(function(a,b,c){return nc(this.doc,a,"gutter",function(a){var e=a.gutterMarkers||(a.gutterMarkers={});e[b]=c;!c&&hf(e)&&(a.gutterMarkers=null);return!0})}),clearGutter:M(function(a){var b=this,c=b.doc,d=c.first;c.iter(function(c){c.gutterMarkers&&c.gutterMarkers[a]&&(c.gutterMarkers[a]=null, +na(b,d,"gutter"),hf(c.gutterMarkers)&&(c.gutterMarkers=null));++d})}),lineInfo:function(a){if("number"==typeof a){if(!qb(this.doc,a))return null;var b=a;a=u(this.doc,a);if(!a)return null}else if(b=F(a),null==b)return null;return{line:b,handle:a,text:a.text,gutterMarkers:a.gutterMarkers,textClass:a.textClass,bgClass:a.bgClass,wrapClass:a.wrapClass,widgets:a.widgets}},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(a,b,c,d,e){var f=this.display;a= +ma(this,w(this.doc,a));var g=a.bottom,h=a.left;b.style.position="absolute";b.setAttribute("cm-ignore-events","true");this.display.input.setUneditable(b);f.sizer.appendChild(b);if("over"==d)g=a.top;else if("above"==d||"near"==d){var k=Math.max(f.wrapper.clientHeight,this.doc.height),l=Math.max(f.sizer.clientWidth,f.lineSpace.clientWidth);("above"==d||a.bottom+b.offsetHeight>k)&&a.top>b.offsetHeight?g=a.top-b.offsetHeight:a.bottom+b.offsetHeight<=k&&(g=a.bottom);h+b.offsetWidth>l&&(h=l-b.offsetWidth)}b.style.top= +g+"px";b.style.left=b.style.right="";"right"==e?(h=f.sizer.clientWidth-b.offsetWidth,b.style.right="0px"):("left"==e?h=0:"middle"==e&&(h=(f.sizer.clientWidth-b.offsetWidth)/2),b.style.left=h+"px");c&&(a=cc(this,h,g,h+b.offsetWidth,g+b.offsetHeight),null!=a.scrollTop&&lb(this,a.scrollTop),null!=a.scrollLeft&&Ma(this,a.scrollLeft))},triggerOnKeyDown:M(ve),triggerOnKeyPress:M(we),triggerOnKeyUp:ue,execCommand:function(a){if(ic.hasOwnProperty(a))return ic[a](this)},findPosH:function(a,b,c,d){var e=1; +0>b&&(e=-1,b=-b);var f=0;for(a=w(this.doc,a);f<b&&(a=rd(this.doc,a,e,c,d),!a.hitSide);++f);return a},moveH:M(function(a,b){var c=this;c.extendSelectionsBy(function(d){return c.display.shift||c.doc.extend||d.empty()?rd(c.doc,d.head,a,b,c.options.rtlMoveVisually):0>a?d.from():d.to()},Gb)}),deleteH:M(function(a,b){var c=this.doc;this.doc.sel.somethingSelected()?c.replaceSelection("",null,"+delete"):Va(this,function(d){var e=rd(c,d.head,a,b,!1);return 0>a?{from:e,to:d.head}:{from:d.head,to:e}})}),findPosV:function(a, +b,c,d){var e=1;0>b&&(e=-1,b=-b);var f=0;for(a=w(this.doc,a);f<b&&(a=ma(this,a,"div"),null==d?d=a.left:a.left=d,a=Pe(this,a,e,c),!a.hitSide);++f);return a},moveV:M(function(a,b){var c=this,d=this.doc,e=[],f=!c.display.shift&&!d.extend&&d.sel.somethingSelected();d.extendSelectionsBy(function(g){if(f)return 0>a?g.from():g.to();var k=ma(c,g.head,"div");null!=g.goalColumn&&(k.left=g.goalColumn);e.push(k.left);var l=Pe(c,k,a,b);"page"==b&&g==d.sel.primary()&&lc(c,null,Yb(c,l,"div").top-k.top);return l}, +Gb);if(e.length)for(var g=0;g<d.sel.ranges.length;g++)d.sel.ranges[g].goalColumn=e[g]}),findWordAt:function(a){var b=u(this.doc,a.line).text,c=a.ch,d=a.ch;if(b){var e=this.getHelper(a,"wordChars");(0>a.xRel||d==b.length)&&c?--c:++d;for(var f=b.charAt(c),f=oc(f,e)?function(a){return oc(a,e)}:/\s/.test(f)?function(a){return/\s/.test(a)}:function(a){return!/\s/.test(a)&&!oc(a)};0<c&&f(b.charAt(c-1));)--c;for(;d<b.length&&f(b.charAt(d));)++d}return new z(r(a.line,c),r(a.line,d))},toggleOverwrite:function(a){if(null== +a||a!=this.state.overwrite)(this.state.overwrite=!this.state.overwrite)?mb(this.display.cursorDiv,"CodeMirror-overwrite"):kb(this.display.cursorDiv,"CodeMirror-overwrite"),K(this,"overwriteToggle",this,this.state.overwrite)},hasFocus:function(){return this.display.input.getField()==fa()},scrollTo:M(function(a,b){null==a&&null==b||mc(this);null!=a&&(this.curOp.scrollLeft=a);null!=b&&(this.curOp.scrollTop=b)}),getScrollInfo:function(){var a=this.display.scroller;return{left:a.scrollLeft,top:a.scrollTop, +height:a.scrollHeight-da(this)-this.display.barHeight,width:a.scrollWidth-da(this)-this.display.barWidth,clientHeight:Nc(this),clientWidth:pa(this)}},scrollIntoView:M(function(a,b){null==a?(a={from:this.doc.sel.primary().head,to:null},null==b&&(b=this.options.cursorScrollMargin)):"number"==typeof a?a={from:r(a,0),to:null}:null==a.from&&(a={from:a,to:null});a.to||(a.to=a.from);a.margin=b||0;if(null!=a.from.line)mc(this),this.curOp.scrollToPos=a;else{var c=cc(this,Math.min(a.from.left,a.to.left),Math.min(a.from.top, +a.to.top)-a.margin,Math.max(a.from.right,a.to.right),Math.max(a.from.bottom,a.to.bottom)+a.margin);this.scrollTo(c.scrollLeft,c.scrollTop)}}),setSize:M(function(a,b){function c(a){return"number"==typeof a||/^\d+$/.test(String(a))?a+"px":a}var d=this;null!=a&&(d.display.wrapper.style.width=c(a));null!=b&&(d.display.wrapper.style.height=c(b));d.options.lineWrapping&&me(this);var e=d.display.viewFrom;d.doc.iter(e,d.display.viewTo,function(a){if(a.widgets)for(var b=0;b<a.widgets.length;b++)if(a.widgets[b].noHScroll){na(d, +e,"widget");break}++e});d.curOp.forceUpdate=!0;K(d,"refresh",this)}),operation:function(a){return T(this,a)},refresh:M(function(){var a=this.display.cachedTextHeight;Q(this);this.curOp.forceUpdate=!0;hb(this);this.scrollTo(this.doc.scrollLeft,this.doc.scrollTop);Cc(this);(null==a||.5<Math.abs(a-xa(this.display)))&&Ac(this);K(this,"refresh",this)}),swapDoc:M(function(a){var b=this.doc;b.cm=null;Ed(this,a);hb(this);this.display.input.reset();this.scrollTo(a.scrollLeft,a.scrollTop);this.curOp.forceScroll= +!0;L(this,"swapDoc",this,b);return b}),getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}};Ya(q);var qf=q.defaults={},Ka=q.optionHandlers={},Fd=q.Init={toString:function(){return"CodeMirror.Init"}};x("value","",function(a,b){a.setValue(b)},!0);x("mode",null,function(a,b){a.doc.modeOption=b;zc(a)},!0);x("indentUnit", +2,zc,!0);x("indentWithTabs",!1);x("smartIndent",!0);x("tabSize",4,function(a){eb(a);hb(a);Q(a)},!0);x("specialChars",/[\t\u0000-\u0019\u00ad\u200b-\u200f\u2028\u2029\ufeff]/g,function(a,b,c){a.state.specialChars=new RegExp(b.source+(b.test("\t")?"":"|\t"),"g");c!=q.Init&&a.refresh()});x("specialCharPlaceholder",function(a){var b=t("span","•","cm-invalidchar");b.title="\\u"+a.charCodeAt(0).toString(16);b.setAttribute("aria-label",b.title);return b},function(a){a.refresh()},!0);x("electricChars",!0); +x("inputStyle",ab?"contenteditable":"textarea",function(){throw Error("inputStyle can not (yet) be changed in a running editor");},!0);x("rtlMoveVisually",!mg);x("wholeLineUpdateBefore",!0);x("theme","default",function(a){Bd(a);ib(a)},!0);x("keyMap","default",function(a,b,c){b=pc(b);(c=c!=q.Init&&pc(c))&&c.detach&&c.detach(a,b);b.attach&&b.attach(a,c||null)});x("extraKeys",null);x("lineWrapping",!1,function(a){a.options.lineWrapping?(mb(a.display.wrapper,"CodeMirror-wrap"),a.display.sizer.style.minWidth= +"",a.display.sizerWidth=null):(kb(a.display.wrapper,"CodeMirror-wrap"),Dc(a));Ac(a);Q(a);hb(a);setTimeout(function(){Na(a)},100)},!0);x("gutters",[],function(a){wc(a.options);ib(a)},!0);x("fixedGutter",!0,function(a,b){a.display.gutters.style.left=b?Ic(a.display)+"px":"0";a.refresh()},!0);x("coverGutterNextToScrollbar",!1,function(a){Na(a)},!0);x("scrollbarStyle","native",function(a){Cd(a);Na(a);a.display.scrollbars.setScrollTop(a.doc.scrollTop);a.display.scrollbars.setScrollLeft(a.doc.scrollLeft)}, +!0);x("lineNumbers",!1,function(a){wc(a.options);ib(a)},!0);x("firstLineNumber",1,ib,!0);x("lineNumberFormatter",function(a){return a},ib,!0);x("showCursorWhenSelecting",!1,nb,!0);x("resetSelectionOnContextMenu",!0);x("lineWiseCopyCut",!0);x("readOnly",!1,function(a,b){"nocursor"==b?(db(a),a.display.input.blur(),a.display.disabled=!0):(a.display.disabled=!1,b||a.display.input.reset())});x("disableInput",!1,function(a,b){b||a.display.input.reset()},!0);x("dragDrop",!0,function(a,b,c){!b!=!(c&&c!=q.Init)&& +(c=a.display.dragFunctions,b=b?v:ka,b(a.display.scroller,"dragstart",c.start),b(a.display.scroller,"dragenter",c.simple),b(a.display.scroller,"dragover",c.simple),b(a.display.scroller,"drop",c.drop))});x("cursorBlinkRate",530);x("cursorScrollMargin",0);x("cursorHeight",1,nb,!0);x("singleCursorHeightPerLine",!0,nb,!0);x("workTime",100);x("workDelay",100);x("flattenSpans",!0,eb,!0);x("addModeClass",!1,eb,!0);x("pollInterval",100);x("undoDepth",200,function(a,b){a.doc.history.undoDepth=b});x("historyEventDelay", +1250);x("viewportMargin",10,function(a){a.refresh()},!0);x("maxHighlightLength",1E4,eb,!0);x("moveInputWithCursor",!0,function(a,b){b||a.display.input.resetPosition()});x("tabindex",null,function(a,b){a.display.input.getField().tabIndex=b||""});x("autofocus",null);var pf=q.modes={},Hb=q.mimeModes={};q.defineMode=function(a,b){q.defaults.mode||"null"==a||(q.defaults.mode=a);2<arguments.length&&(b.dependencies=Array.prototype.slice.call(arguments,2));pf[a]=b};q.defineMIME=function(a,b){Hb[a]=b};q.resolveMode= +function(a){if("string"==typeof a&&Hb.hasOwnProperty(a))a=Hb[a];else if(a&&"string"==typeof a.name&&Hb.hasOwnProperty(a.name)){var b=Hb[a.name];"string"==typeof b&&(b={name:b});a=ff(b,a);a.name=b.name}else if("string"==typeof a&&/^[\w\-]+\/[\w\-]+\+xml$/.test(a))return q.resolveMode("application/xml");return"string"==typeof a?{name:a}:a||{name:"null"}};q.getMode=function(a,b){b=q.resolveMode(b);var c=pf[b.name];if(!c)return q.getMode(a,"text/plain");c=c(a,b);if(Ib.hasOwnProperty(b.name)){var d=Ib[b.name], +e;for(e in d)d.hasOwnProperty(e)&&(c.hasOwnProperty(e)&&(c["_"+e]=c[e]),c[e]=d[e])}c.name=b.name;b.helperType&&(c.helperType=b.helperType);if(b.modeProps)for(e in b.modeProps)c[e]=b.modeProps[e];return c};q.defineMode("null",function(){return{token:function(a){a.skipToEnd()}}});q.defineMIME("text/plain","null");var Ib=q.modeExtensions={};q.extendMode=function(a,b){var c=Ib.hasOwnProperty(a)?Ib[a]:Ib[a]={};V(b,c)};q.defineExtension=function(a,b){q.prototype[a]=b};q.defineDocExtension=function(a,b){P.prototype[a]= +b};q.defineOption=x;var yc=[];q.defineInitHook=function(a){yc.push(a)};var $a=q.helpers={};q.registerHelper=function(a,b,c){$a.hasOwnProperty(a)||($a[a]=q[a]={_global:[]});$a[a][b]=c};q.registerGlobalHelper=function(a,b,c,d){q.registerHelper(a,b,d);$a[a]._global.push({pred:c,val:d})};var Sa=q.copyState=function(a,b){if(!0===b)return b;if(a.copyState)return a.copyState(b);var c={},d;for(d in b){var e=b[d];e instanceof Array&&(e=e.concat([]));c[d]=e}return c},Df=q.startState=function(a,b,c){return a.startState? +a.startState(b,c):!0};q.innerMode=function(a,b){for(;a.innerMode;){var c=a.innerMode(b);if(!c||c.mode==a)break;b=c.state;a=c.mode}return c||{mode:a,state:b}};var ic=q.commands={selectAll:function(a){a.setSelection(r(a.firstLine(),0),r(a.lastLine()),ha)},singleSelection:function(a){a.setSelection(a.getCursor("anchor"),a.getCursor("head"),ha)},killLine:function(a){Va(a,function(b){if(b.empty()){var c=u(a.doc,b.head.line).text.length;return b.head.ch==c&&b.head.line<a.lastLine()?{from:b.head,to:r(b.head.line+ +1,0)}:{from:b.head,to:r(b.head.line,c)}}return{from:b.from(),to:b.to()}})},deleteLine:function(a){Va(a,function(b){return{from:r(b.from().line,0),to:w(a.doc,r(b.to().line+1,0))}})},delLineLeft:function(a){Va(a,function(a){return{from:r(a.from().line,0),to:a.from()}})},delWrappedLineLeft:function(a){Va(a,function(b){var c=a.charCoords(b.head,"div").top+5;return{from:a.coordsChar({left:0,top:c},"div"),to:b.from()}})},delWrappedLineRight:function(a){Va(a,function(b){var c=a.charCoords(b.head,"div").top+ +5,c=a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:c},"div");return{from:b.from(),to:c}})},undo:function(a){a.undo()},redo:function(a){a.redo()},undoSelection:function(a){a.undoSelection()},redoSelection:function(a){a.redoSelection()},goDocStart:function(a){a.extendSelection(r(a.firstLine(),0))},goDocEnd:function(a){a.extendSelection(r(a.lastLine()))},goLineStart:function(a){a.extendSelectionsBy(function(b){return kf(a,b.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(a){a.extendSelectionsBy(function(b){return lf(a, +b.head)},{origin:"+move",bias:1})},goLineEnd:function(a){a.extendSelectionsBy(function(b){b=b.head.line;for(var c,d=u(a.doc,b);c=Aa(d,!1);)d=c.find(1,!0).line,b=null;c=(c=Y(d))?c[0].level%2?ac(d):bc(d):d.text.length;return r(null==b?F(d):b,c)},{origin:"+move",bias:-1})},goLineRight:function(a){a.extendSelectionsBy(function(b){b=a.charCoords(b.head,"div").top+5;return a.coordsChar({left:a.display.lineDiv.offsetWidth+100,top:b},"div")},Gb)},goLineLeft:function(a){a.extendSelectionsBy(function(b){b= +a.charCoords(b.head,"div").top+5;return a.coordsChar({left:0,top:b},"div")},Gb)},goLineLeftSmart:function(a){a.extendSelectionsBy(function(b){var c=a.charCoords(b.head,"div").top+5,c=a.coordsChar({left:0,top:c},"div");return c.ch<a.getLine(c.line).search(/\S/)?lf(a,b.head):c},Gb)},goLineUp:function(a){a.moveV(-1,"line")},goLineDown:function(a){a.moveV(1,"line")},goPageUp:function(a){a.moveV(-1,"page")},goPageDown:function(a){a.moveV(1,"page")},goCharLeft:function(a){a.moveH(-1,"char")},goCharRight:function(a){a.moveH(1, +"char")},goColumnLeft:function(a){a.moveH(-1,"column")},goColumnRight:function(a){a.moveH(1,"column")},goWordLeft:function(a){a.moveH(-1,"word")},goGroupRight:function(a){a.moveH(1,"group")},goGroupLeft:function(a){a.moveH(-1,"group")},goWordRight:function(a){a.moveH(1,"word")},delCharBefore:function(a){a.deleteH(-1,"char")},delCharAfter:function(a){a.deleteH(1,"char")},delWordBefore:function(a){a.deleteH(-1,"word")},delWordAfter:function(a){a.deleteH(1,"word")},delGroupBefore:function(a){a.deleteH(-1, +"group")},delGroupAfter:function(a){a.deleteH(1,"group")},indentAuto:function(a){a.indentSelection("smart")},indentMore:function(a){a.indentSelection("add")},indentLess:function(a){a.indentSelection("subtract")},insertTab:function(a){a.replaceSelection("\t")},insertSoftTab:function(a){for(var b=[],c=a.listSelections(),d=a.options.tabSize,e=0;e<c.length;e++){var f=c[e].from(),f=aa(a.getLine(f.line),f.ch,d);b.push(Array(d-f%d+1).join(" "))}a.replaceSelections(b)},defaultTab:function(a){a.somethingSelected()? +a.indentSelection("add"):a.execCommand("insertTab")},transposeChars:function(a){T(a,function(){for(var b=a.listSelections(),c=[],d=0;d<b.length;d++){var e=b[d].head,f=u(a.doc,e.line).text;if(f)if(e.ch==f.length&&(e=new r(e.line,e.ch-1)),0<e.ch)e=new r(e.line,e.ch+1),a.replaceRange(f.charAt(e.ch-1)+f.charAt(e.ch-2),r(e.line,e.ch-2),e,"+transpose");else if(e.line>a.doc.first){var g=u(a.doc,e.line-1).text;g&&a.replaceRange(f.charAt(0)+"\n"+g.charAt(g.length-1),r(e.line-1,g.length-1),r(e.line,1),"+transpose")}c.push(new z(e, +e))}a.setSelections(c)})},newlineAndIndent:function(a){T(a,function(){for(var b=a.listSelections().length,c=0;c<b;c++){var d=a.listSelections()[c];a.replaceRange("\n",d.anchor,d.head,"+input");a.indentLine(d.from().line+1,null,!0);Pa(a)}})},toggleOverwrite:function(a){a.toggleOverwrite()}},ua=q.keyMap={};ua.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore", +"Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"};ua.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter", +"Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"};ua.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Alt-F":"goWordRight","Alt-B":"goWordLeft","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp", +"Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-D":"delWordAfter","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars"};ua.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter", +"Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]};ua["default"]=W?ua.macDefault:ua.pcDefault;q.normalizeKeyMap=function(a){var b={},c;for(c in a)if(a.hasOwnProperty(c)){var d= +a[c];if(!/^(name|fallthrough|(de|at)tach)$/.test(c)){if("..."!=d)for(var e=ob(c.split(" "),Wf),f=0;f<e.length;f++){var g,h;f==e.length-1?(h=c,g=d):(h=e.slice(0,f+1).join(" "),g="...");var k=b[h];if(!k)b[h]=g;else if(k!=g)throw Error("Inconsistent bindings for "+h);}delete a[c]}}for(var l in b)a[l]=b[l];return a};var xb=q.lookupKey=function(a,b,c,d){b=pc(b);var e=b.call?b.call(a,d):b[a];if(!1===e)return"nothing";if("..."===e)return"multi";if(null!=e&&c(e))return"handled";if(b.fallthrough){if("[object Array]"!= +Object.prototype.toString.call(b.fallthrough))return xb(a,b.fallthrough,c,d);for(e=0;e<b.fallthrough.length;e++){var f=xb(a,b.fallthrough[e],c,d);if(f)return f}}},Pf=q.isModifierKey=function(a){a="string"==typeof a?a:va[a.keyCode];return"Ctrl"==a||"Alt"==a||"Shift"==a||"Mod"==a},Rf=q.keyName=function(a,b){if(ba&&34==a.keyCode&&a["char"])return!1;var c=va[a.keyCode],d=c;if(null==d||a.altGraphKey)return!1;a.altKey&&"Alt"!=c&&(d="Alt-"+d);(of?a.metaKey:a.ctrlKey)&&"Ctrl"!=c&&(d="Ctrl-"+d);(of?a.ctrlKey: +a.metaKey)&&"Cmd"!=c&&(d="Cmd-"+d);!b&&a.shiftKey&&"Shift"!=c&&(d="Shift-"+d);return d};q.fromTextArea=function(a,b){function c(){a.value=k.getValue()}b=b?V(b):{};b.value=a.value;!b.tabindex&&a.tabIndex&&(b.tabindex=a.tabIndex);!b.placeholder&&a.placeholder&&(b.placeholder=a.placeholder);if(null==b.autofocus){var d=fa();b.autofocus=d==a||null!=a.getAttribute("autofocus")&&d==document.body}if(a.form&&(v(a.form,"submit",c),!b.leaveSubmitMethodAlone)){var e=a.form,f=e.submit;try{var g=e.submit=function(){c(); +e.submit=f;e.submit();e.submit=g}}catch(h){}}b.finishInit=function(b){b.save=c;b.getTextArea=function(){return a};b.toTextArea=function(){b.toTextArea=isNaN;c();a.parentNode.removeChild(b.getWrapperElement());a.style.display="";a.form&&(ka(a.form,"submit",c),"function"==typeof a.form.submit&&(a.form.submit=f))}};a.style.display="none";var k=q(function(b){a.parentNode.insertBefore(b,a.nextSibling)},b);return k};var tc=q.StringStream=function(a,b){this.pos=this.start=0;this.string=a;this.tabSize=b|| +8;this.lineStart=this.lastColumnPos=this.lastColumnValue=0};tc.prototype={eol:function(){return this.pos>=this.string.length},sol:function(){return this.pos==this.lineStart},peek:function(){return this.string.charAt(this.pos)||void 0},next:function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},eat:function(a){var b=this.string.charAt(this.pos);if("string"==typeof a?b==a:b&&(a.test?a.test(b):a(b)))return++this.pos,b},eatWhile:function(a){for(var b=this.pos;this.eat(a););return this.pos> +b},eatSpace:function(){for(var a=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>a},skipToEnd:function(){this.pos=this.string.length},skipTo:function(a){a=this.string.indexOf(a,this.pos);if(-1<a)return this.pos=a,!0},backUp:function(a){this.pos-=a},column:function(){this.lastColumnPos<this.start&&(this.lastColumnValue=aa(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start);return this.lastColumnValue-(this.lineStart? +aa(this.string,this.lineStart,this.tabSize):0)},indentation:function(){return aa(this.string,null,this.tabSize)-(this.lineStart?aa(this.string,this.lineStart,this.tabSize):0)},match:function(a,b,c){if("string"==typeof a){var d=function(a){return c?a.toLowerCase():a},e=this.string.substr(this.pos,a.length);if(d(e)==d(a))return!1!==b&&(this.pos+=a.length),!0}else{if((a=this.string.slice(this.pos).match(a))&&0<a.index)return null;a&&!1!==b&&(this.pos+=a[0].length);return a}},current:function(){return this.string.slice(this.start, +this.pos)},hideFirstChars:function(a,b){this.lineStart+=a;try{return b()}finally{this.lineStart-=a}}};var sd=0,Ha=q.TextMarker=function(a,b){this.lines=[];this.type=b;this.doc=a;this.id=++sd};Ya(Ha);Ha.prototype.clear=function(){if(!this.explicitlyCleared){var a=this.doc.cm,b=a&&!a.curOp;b&&Ja(a);if(S(this,"clear")){var c=this.find();c&&L(this,"clear",c.from,c.to)}for(var d=c=null,e=0;e<this.lines.length;++e){var f=this.lines[e],g=zb(f.markedSpans,this);a&&!this.collapsed?na(a,F(f),"text"):a&&(null!= +g.to&&(d=F(f)),null!=g.from&&(c=F(f)));for(var h=f,k=f.markedSpans,l=g,m=void 0,p=0;p<k.length;++p)k[p]!=l&&(m||(m=[])).push(k[p]);h.markedSpans=m;null==g.from&&this.collapsed&&!ya(this.doc,f)&&a&&ca(f,xa(a.display))}if(a&&this.collapsed&&!a.options.lineWrapping)for(e=0;e<this.lines.length;++e)f=ia(this.lines[e]),g=Kb(f),g>a.display.maxLineLength&&(a.display.maxLine=f,a.display.maxLineLength=g,a.display.maxLineChanged=!0);null!=c&&a&&this.collapsed&&Q(a,c,d+1);this.lines.length=0;this.explicitlyCleared= +!0;this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,a&&ge(a.doc));a&&L(a,"markerCleared",a,this);b&&La(a);this.parent&&this.parent.clear()}};Ha.prototype.find=function(a,b){null==a&&"bookmark"==this.type&&(a=1);for(var c,d,e=0;e<this.lines.length;++e){var f=this.lines[e],g=zb(f.markedSpans,this);if(null!=g.from&&(c=r(b?f:F(f),g.from),-1==a))return c;if(null!=g.to&&(d=r(b?f:F(f),g.to),1==a))return d}return c&&{from:c,to:d}};Ha.prototype.changed=function(){var a=this.find(-1,!0),b=this,c=this.doc.cm; +a&&c&&T(c,function(){var d=a.line,e=F(a.line);if(e=Vc(c,e))le(e),c.curOp.selectionChanged=c.curOp.forceUpdate=!0;c.curOp.updateMaxLine=!0;ya(b.doc,d)||null==b.height||(e=b.height,b.height=null,(e=ub(b)-e)&&ca(d,d.height+e))})};Ha.prototype.attachLine=function(a){if(!this.lines.length&&this.doc.cm){var b=this.doc.cm.curOp;b.maybeHiddenMarkers&&-1!=D(b.maybeHiddenMarkers,this)||(b.maybeUnhiddenMarkers||(b.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(a)};Ha.prototype.detachLine=function(a){this.lines.splice(D(this.lines, +a),1);!this.lines.length&&this.doc.cm&&(a=this.doc.cm.curOp,(a.maybeHiddenMarkers||(a.maybeHiddenMarkers=[])).push(this))};var sd=0,rc=q.SharedTextMarker=function(a,b){this.markers=a;this.primary=b;for(var c=0;c<a.length;++c)a[c].parent=this};Ya(rc);rc.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var a=0;a<this.markers.length;++a)this.markers[a].clear();L(this,"clear")}};rc.prototype.find=function(a,b){return this.primary.find(a,b)};var sc=q.LineWidget=function(a, +b,c){if(c)for(var d in c)c.hasOwnProperty(d)&&(this[d]=c[d]);this.doc=a;this.node=b};Ya(sc);sc.prototype.clear=function(){var a=this.doc.cm,b=this.line.widgets,c=this.line,d=F(c);if(null!=d&&b){for(var e=0;e<b.length;++e)b[e]==this&&b.splice(e--,1);b.length||(c.widgets=null);var f=ub(this);ca(c,Math.max(0,c.height-f));a&&T(a,function(){var b=-f;ea(c)<(a.curOp&&a.curOp.scrollTop||a.doc.scrollTop)&&lc(a,null,b);na(a,d,"widget")})}};sc.prototype.changed=function(){var a=this.height,b=this.doc.cm,c=this.line; +this.height=null;var d=ub(this)-a;d&&(ca(c,c.height+d),b&&T(b,function(){b.curOp.forceUpdate=!0;ea(c)<(b.curOp&&b.curOp.scrollTop||b.doc.scrollTop)&&lc(b,null,d)}))};var Ab=q.Line=function(a,b,c){this.text=a;Ue(this,b);this.height=c?c(this):1};Ya(Ab);Ab.prototype.lineNo=function(){return F(this)};var bg={},ag={};Bb.prototype={chunkSize:function(){return this.lines.length},removeInner:function(a,b){for(var c=a,d=a+b;c<d;++c){var e=this.lines[c];this.height-=e.height;var f=e;f.parent=null;Te(f);L(e, +"delete")}this.lines.splice(a,b)},collapse:function(a){a.push.apply(a,this.lines)},insertInner:function(a,b,c){this.height+=c;this.lines=this.lines.slice(0,a).concat(b).concat(this.lines.slice(a));for(a=0;a<b.length;++a)b[a].parent=this},iterN:function(a,b,c){for(b=a+b;a<b;++a)if(c(this.lines[a]))return!0}};Cb.prototype={chunkSize:function(){return this.size},removeInner:function(a,b){this.size-=b;for(var c=0;c<this.children.length;++c){var d=this.children[c],e=d.chunkSize();if(a<e){var f=Math.min(b, +e-a),g=d.height;d.removeInner(a,f);this.height-=g-d.height;e==f&&(this.children.splice(c--,1),d.parent=null);if(0==(b-=f))break;a=0}else a-=e}25>this.size-b&&(1<this.children.length||!(this.children[0]instanceof Bb))&&(c=[],this.collapse(c),this.children=[new Bb(c)],this.children[0].parent=this)},collapse:function(a){for(var b=0;b<this.children.length;++b)this.children[b].collapse(a)},insertInner:function(a,b,c){this.size+=b.length;this.height+=c;for(var d=0;d<this.children.length;++d){var e=this.children[d], +f=e.chunkSize();if(a<=f){e.insertInner(a,b,c);if(e.lines&&50<e.lines.length){for(;50<e.lines.length;)a=e.lines.splice(e.lines.length-25,25),a=new Bb(a),e.height-=a.height,this.children.splice(d+1,0,a),a.parent=this;this.maybeSpill()}break}a-=f}},maybeSpill:function(){if(!(10>=this.children.length)){var a=this;do{var b=a.children.splice(a.children.length-5,5),b=new Cb(b);if(a.parent){a.size-=b.size;a.height-=b.height;var c=D(a.parent.children,a);a.parent.children.splice(c+1,0,b)}else c=new Cb(a.children), +c.parent=a,a.children=[c,b],a=c;b.parent=a.parent}while(10<a.children.length);a.parent.maybeSpill()}},iterN:function(a,b,c){for(var d=0;d<this.children.length;++d){var e=this.children[d],f=e.chunkSize();if(a<f){f=Math.min(b,f-a);if(e.iterN(a,f,c))return!0;if(0==(b-=f))break;a=0}else a-=f}}};var og=0,P=q.Doc=function(a,b,c){if(!(this instanceof P))return new P(a,b,c);null==c&&(c=0);Cb.call(this,[new Bb([new Ab("",null)])]);this.first=c;this.scrollTop=this.scrollLeft=0;this.cantEdit=!1;this.cleanGeneration= +1;this.frontier=c;c=r(c,0);this.sel=ga(c);this.history=new uc(null);this.id=++og;this.modeOption=b;"string"==typeof a&&(a=sa(a));qd(this,{from:c,to:c,text:a});H(this,ga(c),ha)};P.prototype=ff(Cb.prototype,{constructor:P,iter:function(a,b,c){c?this.iterN(a-this.first,b-a,c):this.iterN(this.first,this.first+this.size,a)},insert:function(a,b){for(var c=0,d=0;d<b.length;++d)c+=b[d].height;this.insertInner(a-this.first,b,c)},remove:function(a,b){this.removeInner(a-this.first,b)},getValue:function(a){var b= +xd(this,this.first,this.first+this.size);return!1===a?b:b.join(a||"\n")},setValue:N(function(a){var b=r(this.first,0),c=this.first+this.size-1;Oa(this,{from:b,to:r(c,u(this,c).text.length),text:sa(a),origin:"setValue",full:!0},!0);H(this,ga(b))}),replaceRange:function(a,b,c,d){b=w(this,b);c=c?w(this,c):b;wb(this,a,b,c,d)},getRange:function(a,b,c){a=Da(this,w(this,a),w(this,b));return!1===c?a:a.join(c||"\n")},getLine:function(a){return(a=this.getLineHandle(a))&&a.text},getLineHandle:function(a){if(qb(this, +a))return u(this,a)},getLineNumber:function(a){return F(a)},getLineHandleVisualStart:function(a){"number"==typeof a&&(a=u(this,a));return ia(a)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(a){return w(this,a)},getCursor:function(a){var b=this.sel.primary();return null==a||"head"==a?b.head:"anchor"==a?b.anchor:"end"==a||"to"==a||!1===a?b.to():b.from()},listSelections:function(){return this.sel.ranges}, +somethingSelected:function(){return this.sel.somethingSelected()},setCursor:N(function(a,b,c){a=w(this,"number"==typeof a?r(a,b||0):a);H(this,ga(a,null),c)}),setSelection:N(function(a,b,c){var d=w(this,a);a=w(this,b||a);H(this,ga(d,a),c)}),extendSelection:N(function(a,b,c){Ub(this,w(this,a),b&&w(this,b),c)}),extendSelections:N(function(a,b){for(var c=[],d=0;d<a.length;d++)c[d]=w(this,a[d]);ae(this,c)}),extendSelectionsBy:N(function(a,b){ae(this,ob(this.sel.ranges,a),b)}),setSelections:N(function(a, +b,c){if(a.length){for(var d=0,e=[];d<a.length;d++)e[d]=new z(w(this,a[d].anchor),w(this,a[d].head));null==b&&(b=Math.min(a.length-1,this.sel.primIndex));H(this,Z(e,b),c)}}),addSelection:N(function(a,b,c){var d=this.sel.ranges.slice(0);d.push(new z(w(this,a),w(this,b||a)));H(this,Z(d,d.length-1),c)}),getSelection:function(a){for(var b=this.sel.ranges,c,d=0;d<b.length;d++){var e=Da(this,b[d].from(),b[d].to());c=c?c.concat(e):e}return!1===a?c:c.join(a||"\n")},getSelections:function(a){for(var b=[],c= +this.sel.ranges,d=0;d<c.length;d++){var e=Da(this,c[d].from(),c[d].to());!1!==a&&(e=e.join(a||"\n"));b[d]=e}return b},replaceSelection:function(a,b,c){for(var d=[],e=0;e<this.sel.ranges.length;e++)d[e]=a;this.replaceSelections(d,b,c||"+input")},replaceSelections:N(function(a,b,c){for(var d=[],e=this.sel,f=0;f<e.ranges.length;f++){var g=e.ranges[f];d[f]={from:g.from(),to:g.to(),text:sa(a[f]),origin:c}}if(f=b&&"end"!=b){f=[];c=a=r(this.first,0);for(e=0;e<d.length;e++){var h=d[e],g=Ee(h.from,a,c),k= +Ee(ta(h),a,c);a=h.to;c=k;"around"==b?(h=this.sel.ranges[e],h=0>y(h.head,h.anchor),f[e]=new z(h?k:g,h?g:k)):f[e]=new z(g,g)}f=new la(f,this.sel.primIndex)}b=f;for(f=d.length-1;0<=f;f--)Oa(this,d[f]);b?be(this,b):this.cm&&Pa(this.cm)}),undo:N(function(){kc(this,"undo")}),redo:N(function(){kc(this,"redo")}),undoSelection:N(function(){kc(this,"undo",!0)}),redoSelection:N(function(){kc(this,"redo",!0)}),setExtending:function(a){this.extend=a},getExtending:function(){return this.extend},historySize:function(){for(var a= +this.history,b=0,c=0,d=0;d<a.done.length;d++)a.done[d].ranges||++b;for(d=0;d<a.undone.length;d++)a.undone[d].ranges||++c;return{undo:b,redo:c}},clearHistory:function(){this.history=new uc(this.history.maxGeneration)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(a){a&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null);return this.history.generation},isClean:function(a){return this.history.generation==(a||this.cleanGeneration)}, +getHistory:function(){return{done:Xa(this.history.done),undone:Xa(this.history.undone)}},setHistory:function(a){var b=this.history=new uc(this.history.maxGeneration);b.done=Xa(a.done.slice(0),null,!0);b.undone=Xa(a.undone.slice(0),null,!0)},addLineClass:N(function(a,b,c){return nc(this,a,"gutter"==b?"gutter":"class",function(a){var e="text"==b?"textClass":"background"==b?"bgClass":"gutter"==b?"gutterClass":"wrapClass";if(a[e]){if(Fb(c).test(a[e]))return!1;a[e]+=" "+c}else a[e]=c;return!0})}),removeLineClass:N(function(a, +b,c){return nc(this,a,"gutter"==b?"gutter":"class",function(a){var e="text"==b?"textClass":"background"==b?"bgClass":"gutter"==b?"gutterClass":"wrapClass",f=a[e];if(f)if(null==c)a[e]=null;else{var g=f.match(Fb(c));if(!g)return!1;var h=g.index+g[0].length;a[e]=f.slice(0,g.index)+(g.index&&h!=f.length?" ":"")+f.slice(h)||null}else return!1;return!0})}),addLineWidget:N(function(a,b,c){return $f(this,a,b,c)}),removeLineWidget:function(a){a.clear()},markText:function(a,b,c){return Wa(this,w(this,a),w(this, +b),c,"range")},setBookmark:function(a,b){var c={replacedWith:b&&(null==b.nodeType?b.widget:b),insertLeft:b&&b.insertLeft,clearWhenEmpty:!1,shared:b&&b.shared,handleMouseEvents:b&&b.handleMouseEvents};a=w(this,a);return Wa(this,a,a,c,"bookmark")},findMarksAt:function(a){a=w(this,a);var b=[],c=u(this,a.line).markedSpans;if(c)for(var d=0;d<c.length;++d){var e=c[d];(null==e.from||e.from<=a.ch)&&(null==e.to||e.to>=a.ch)&&b.push(e.marker.parent||e.marker)}return b},findMarks:function(a,b,c){a=w(this,a); +b=w(this,b);var d=[],e=a.line;this.iter(a.line,b.line+1,function(f){if(f=f.markedSpans)for(var g=0;g<f.length;g++){var h=f[g];e==a.line&&a.ch>h.to||null==h.from&&e!=a.line||e==b.line&&h.from>b.ch||c&&!c(h.marker)||d.push(h.marker.parent||h.marker)}++e});return d},getAllMarks:function(){var a=[];this.iter(function(b){if(b=b.markedSpans)for(var c=0;c<b.length;++c)null!=b[c].from&&a.push(b[c].marker)});return a},posFromIndex:function(a){var b,c=this.first;this.iter(function(d){d=d.text.length+1;if(d> +a)return b=a,!0;a-=d;++c});return w(this,r(c,b))},indexFromPos:function(a){a=w(this,a);var b=a.ch;if(a.line<this.first||0>a.ch)return 0;this.iter(this.first,a.line,function(a){b+=a.text.length+1});return b},copy:function(a){var b=new P(xd(this,this.first,this.first+this.size),this.modeOption,this.first);b.scrollTop=this.scrollTop;b.scrollLeft=this.scrollLeft;b.sel=this.sel;b.extend=!1;a&&(b.history.undoDepth=this.history.undoDepth,b.setHistory(this.getHistory()));return b},linkedDoc:function(a){a|| +(a={});var b=this.first,c=this.first+this.size;null!=a.from&&a.from>b&&(b=a.from);null!=a.to&&a.to<c&&(c=a.to);b=new P(xd(this,b,c),a.mode||this.modeOption,b);a.sharedHist&&(b.history=this.history);(this.linked||(this.linked=[])).push({doc:b,sharedHist:a.sharedHist});b.linked=[{doc:this,isParent:!0,sharedHist:a.sharedHist}];a=Re(this);for(c=0;c<a.length;c++){var d=a[c],e=d.find(),f=b.clipPos(e.from),e=b.clipPos(e.to);y(f,e)&&(f=Wa(b,f,e,d.primary,d.primary.type),d.markers.push(f),f.parent=d)}return b}, +unlinkDoc:function(a){a instanceof q&&(a=a.doc);if(this.linked)for(var b=0;b<this.linked.length;++b)if(this.linked[b].doc==a){this.linked.splice(b,1);a.unlinkDoc(this);Yf(Re(this));break}if(a.history==this.history){var c=[a.id];Ga(a,function(a){c.push(a.id)},!0);a.history=new uc(null);a.history.done=Xa(this.history.done,c);a.history.undone=Xa(this.history.undone,c)}},iterLinkedDocs:function(a){Ga(this,a)},getMode:function(){return this.mode},getEditor:function(){return this.cm}});P.prototype.eachLine= +P.prototype.iter;var pg=["iter","insert","remove","copy","getEditor"],Jb;for(Jb in P.prototype)P.prototype.hasOwnProperty(Jb)&&0>D(pg,Jb)&&(q.prototype[Jb]=function(a){return function(){return a.apply(this.doc,arguments)}}(P.prototype[Jb]));Ya(P);var O=q.e_preventDefault=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1},qg=q.e_stopPropagation=function(a){a.stopPropagation?a.stopPropagation():a.cancelBubble=!0},jd=q.e_stop=function(a){O(a);qg(a)},v=q.on=function(a,b,c){a.addEventListener? +a.addEventListener(b,c,!1):a.attachEvent?a.attachEvent("on"+b,c):(a=a._handlers||(a._handlers={}),(a[b]||(a[b]=[])).push(c))},ka=q.off=function(a,b,c){if(a.removeEventListener)a.removeEventListener(b,c,!1);else if(a.detachEvent)a.detachEvent("on"+b,c);else if(a=a._handlers&&a._handlers[b])for(b=0;b<a.length;++b)if(a[b]==c){a.splice(b,1);break}},K=q.signal=function(a,b){var c=a._handlers&&a._handlers[b];if(c)for(var d=Array.prototype.slice.call(arguments,2),e=0;e<c.length;++e)c[e].apply(null,d)},Db= +null,Hd=30,Ae=q.Pass={toString:function(){return"CodeMirror.Pass"}},ha={scroll:!1},kd={origin:"*mouse"},Gb={origin:"+move"};bb.prototype.set=function(a,b){clearTimeout(this.id);this.id=setTimeout(b,a)};var aa=q.countColumn=function(a,b,c,d,e){null==b&&(b=a.search(/[^\s\u00a0]/),-1==b&&(b=a.length));d=d||0;for(e=e||0;;){var f=a.indexOf("\t",d);if(0>f||f>=b)return e+(b-d);e+=f-d;e+=c-e%c;d=f+1}},vc=[""],Za=function(a){a.select()};Qa?Za=function(a){a.selectionStart=0;a.selectionEnd=a.value.length}:B&& +(Za=function(a){try{a.select()}catch(b){}});var rg=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,gf=q.isWordChar=function(a){return/\w/.test(a)||"€"<a&&(a.toUpperCase()!=a.toLowerCase()||rg.test(a))},ig=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/, +Ea;Ea=document.createRange?function(a,b,c,d){var e=document.createRange();e.setEnd(d||a,c);e.setStart(a,b);return e}:function(a,b,c){var d=document.body.createTextRange();try{d.moveToElementText(a.parentNode)}catch(e){return d}d.collapse(!0);d.moveEnd("character",c);d.moveStart("character",b);return d};var Wc=q.contains=function(a,b){3==b.nodeType&&(b=b.parentNode);if(a.contains)return a.contains(b);do if(11==b.nodeType&&(b=b.host),b==a)return!0;while(b=b.parentNode)};B&&11>C&&(fa=function(){try{return document.activeElement}catch(a){return document.body}}); +var kb=q.rmClass=function(a,b){var c=a.className,d=Fb(b).exec(c);if(d){var e=c.slice(d.index+d[0].length);a.className=c.slice(0,d.index)+(e?d[1]+e:"")}},mb=q.addClass=function(a,b){var c=a.className;Fb(b).test(c)||(a.className+=(c?" ":"")+b)},Dd=!1,Lf=function(){if(B&&9>C)return!1;var a=t("div");return"draggable"in a||"dragDrop"in a}(),yd,vd,sa=q.splitLines=3!="\n\nb".split(/\n/).length?function(a){for(var b=0,c=[],d=a.length;b<=d;){var e=a.indexOf("\n",b);-1==e&&(e=a.length);var f=a.slice(b,"\r"== +a.charAt(e-1)?e-1:e),g=f.indexOf("\r");-1!=g?(c.push(f.slice(0,g)),b+=g+1):(c.push(f),b=e+1)}return c}:function(a){return a.split(/\r\n?|\n/)},ng=window.getSelection?function(a){try{return a.selectionStart!=a.selectionEnd}catch(b){return!1}}:function(a){try{var b=a.ownerDocument.selection.createRange()}catch(c){}return b&&b.parentElement()==a?0!=b.compareEndPoints("StartToEnd",b):!1},Ce=function(){var a=t("div");if("oncopy"in a)return!0;a.setAttribute("oncopy","return;");return"function"==typeof a.oncopy}(), +bd=null,va={3:"Enter",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"\x3d",91:"Mod",92:"Mod",93:"Mod",107:"\x3d",109:"-",127:"Delete",173:"-",186:";",187:"\x3d",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home", +63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"};q.keyNames=va;(function(){for(var a=0;10>a;a++)va[a+48]=va[a+96]=String(a);for(a=65;90>=a;a++)va[a]=String.fromCharCode(a);for(a=1;12>=a;a++)va[a+111]=va[a+63235]="F"+a})();var vb,gg=function(){function a(a){return 247>=a?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(a): +1424<=a&&1524>=a?"R":1536<=a&&1773>=a?"rrrrrrrrrrrr,rNNmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmrrrrrrrnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmNmmmm".charAt(a-1536):1774<=a&&2220>=a?"r":8192<=a&&8203>=a?"w":8204==a?"b":"L"}function b(a,b,c){this.level=a;this.from=b;this.to=c}var c=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,d=/[stwN]/,e=/[LRr]/,f=/[Lb1n]/,g=/[1n]/;return function(h){if(!c.test(h))return!1; +for(var k=h.length,l=[],m=0,p;m<k;++m)l.push(a(h.charCodeAt(m)));for(var m=0,n="L";m<k;++m)p=l[m],"m"==p?l[m]=n:n=p;m=0;for(n="L";m<k;++m)p=l[m],"1"==p&&"r"==n?l[m]="n":e.test(p)&&(n=p,"r"==p&&(l[m]="R"));m=1;for(n=l[0];m<k-1;++m)p=l[m],"+"==p&&"1"==n&&"1"==l[m+1]?l[m]="1":","!=p||n!=l[m+1]||"1"!=n&&"n"!=n||(l[m]=n),n=p;for(m=0;m<k;++m)if(p=l[m],","==p)l[m]="N";else if("%"==p){for(n=m+1;n<k&&"%"==l[n];++n);var q=m&&"!"==l[m-1]||n<k&&"1"==l[n]?"1":"N";for(p=m;p<n;++p)l[p]=q;m=n-1}m=0;for(n="L";m<k;++m)p= +l[m],"L"==n&&"1"==p?l[m]="L":e.test(p)&&(n=p);for(m=0;m<k;++m)if(d.test(l[m])){for(n=m+1;n<k&&d.test(l[n]);++n);p="L"==(n<k?l[n]:"L");q="L"==(m?l[m-1]:"L")||p?"L":"R";for(p=m;p<n;++p)l[p]=q;m=n-1}for(var n=[],r,m=0;m<k;)if(f.test(l[m])){p=m;for(++m;m<k&&f.test(l[m]);++m);n.push(new b(0,p,m))}else{var t=m,q=n.length;for(++m;m<k&&"L"!=l[m];++m);for(p=t;p<m;)if(g.test(l[p])){t<p&&n.splice(q,0,new b(1,t,p));t=p;for(++p;p<m&&g.test(l[p]);++p);n.splice(q,0,new b(2,t,p));t=p}else++p;t<m&&n.splice(q,0,new b(1, +t,m))}1==n[0].level&&(r=h.match(/^\s+/))&&(n[0].from=r[0].length,n.unshift(new b(0,0,r[0].length)));1==A(n).level&&(r=h.match(/\s+$/))&&(A(n).to-=r[0].length,n.push(new b(0,k-r[0].length,k)));2==n[0].level&&n.unshift(new b(1,n[0].to,n[0].to));n[0].level!=A(n).level&&n.push(new b(n[0].level,k,k));return n}}();q.version="5.2.0";return q}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/codemirror.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.css (revision 7) @@ -0,0 +1,38 @@ +.CodeMirror-hints { + position: absolute; + z-index: 10; + overflow: hidden; + list-style: none; + + margin: 0; + padding: 2px; + + -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2); + -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2); + box-shadow: 2px 3px 5px rgba(0,0,0,.2); + border-radius: 3px; + border: 1px solid silver; + + background: white; + font-size: 90%; + font-family: monospace; + + max-height: 20em; + overflow-y: auto; +} + +.CodeMirror-hint { + margin: 0; + padding: 0 4px; + border-radius: 2px; + max-width: 19em; + overflow: hidden; + white-space: pre; + color: black; + cursor: pointer; +} + +li.CodeMirror-hint-active { + background: #08f; + color: white; +} Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/show-hint.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/neo.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/neo.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/neo.css (revision 7) @@ -0,0 +1,36 @@ +/* neo theme for codemirror */ + +/* Color scheme */ + +.cm-s-neo.CodeMirror { + background-color:#ffffff; + color:#2e383c; + line-height:1.4375; +} +.cm-s-neo .cm-comment {color:#75787b} +.cm-s-neo .cm-keyword, .cm-s-neo .cm-property {color:#1d75b3} +.cm-s-neo .cm-atom,.cm-s-neo .cm-number {color:#75438a} +.cm-s-neo .cm-node,.cm-s-neo .cm-tag {color:#9c3328} +.cm-s-neo .cm-string {color:#b35e14} +.cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier {color:#047d65} + + +/* Editor styling */ + +.cm-s-neo pre { + padding:0; +} + +.cm-s-neo .CodeMirror-gutters { + border:none; + border-right:10px solid transparent; + background-color:transparent; +} + +.cm-s-neo .CodeMirror-linenumber { + padding:0; + color:#e0e2e5; +} + +.cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; } +.cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; } Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/lib/codemirror/neo.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/index.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/index.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/index.html (revision 7) @@ -0,0 +1,446 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<!--[if IE 8]><html class="ie8"><![endif]--> +<!--[if gt IE 8]><html><![endif]--> +<!--[if !IE]><!--><html><!--<![endif]--> +<head> + <meta charset="utf-8"> + <title>Toolbar Configurator</title> + <script src="../../ckeditor.js"></script> + <script> + if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) + CKEDITOR.tools.enableHtml5Elements( document ); + </script> + <link rel="stylesheet" href="lib/codemirror/codemirror.css"> + <link rel="stylesheet" href="lib/codemirror/show-hint.css"> + <link rel="stylesheet" href="lib/codemirror/neo.css"> + <link rel="stylesheet" href="css/fontello.css"> + <link rel="stylesheet" href="../css/samples.css"> +</head> +<body id="toolbar"> + +<nav class="navigation-a"> + <div class="grid-container"> + <ul class="navigation-a-left grid-width-70"> + <li><a href="https://ckeditor.com/ckeditor-4/">Project Homepage</a></li> + <li><a href="https://github.com/ckeditor/ckeditor-dev/issues">I found a bug</a></li> + <li><a href="http://github.com/ckeditor/ckeditor-dev" class="icon-pos-right icon-navigation-a-github">Fork CKEditor on GitHub</a></li> + </ul> + <ul class="navigation-a-right grid-width-30"> + <li><a href="https://ckeditor.com/blog/">CKEditor Blog</a></li> + </ul> + </div> +</nav> + +<header class="header-a"> + <div class="grid-container"> + <h1 class="header-a-logo grid-width-30"> + <a href="../index.html"><img src="../img/logo.svg" onerror="this.src='../img/logo.png'; this.onerror=null;" alt="CKEditor Logo"></a> + </h1> + <nav class="navigation-b grid-width-70"> + <ul> + <li><a href="../index.html" class="button-a">Start</a></li> + <li><a href="index.html" class="button-a button-a-background">Toolbar configurator</a></li> + </ul> + </nav> + </div> +</header> + +<main> + <div class="adjoined-top"> + <div class="grid-container"> + <div class="content grid-width-100"> + <div class="grid-container-nested"> + <h1 class="grid-width-60"> + Toolbar Configurator + <a href="#help-content" type="button" title="Configurator help" id="help" class="button-a button-a-background button-a-no-text icon-pos-left icon-question-mark">Help</a> + </h1> + + <div class="grid-width-40 grid-switch-magic"> + <div class="switch"> + <span class="balloon-a balloon-a-se">Select configurator type</span> + <input type="radio" name="radio" data-num="1" id="radio-basic" /> + <input type="radio" name="radio" data-num="2" id="radio-advanced" /> + <label data-for="1" for="radio-basic">Basic</label> + <span class="switch-inner"> + <span class="handler"></span> + </span> + <label data-for="2" for="radio-advanced">Advanced</label> + </div> + </div> + </div> + </div> + </div> + </div> + <div class="adjoined-bottom"> + <div class="grid-container"> + <div class="grid-width-100"> + <div class="editors-container"> + <div id="editor-basic"></div> + <div id="editor-advanced"></div> + </div> + </div> + </div> + </div> + + <div class="grid-container configurator"> + <div class="content grid-width-100"> + <div class="configurator"> + <div> + <div id="toolbarModifierWrapper"></div> + </div> + </div> + </div> + </div> + + <div id="help-content"> + <div class="grid-container"> + <div class="grid-width-100"> + <h2>What Am I Doing Here?</h2> + + <div class="grid-container grid-container-nested"> + <div class="basic"> + <div class="grid-width-50"> + <p>Arrange <a href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-toolbarGroups">toolbar groups</a>, toggle <a href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-removeButtons">button visibility</a> according to your needs and get your toolbar configuration.</p> + <p>You can replace the content of the <a href="../../config.js"><code>config.js</code></a> file with the generated configuration. If you already set some configuration options you will need to merge both configurations.</p> + </div> + <div class="grid-width-50"> + <p>Read more about different ways of <a href="https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_configuration">setting configuration</a> and do not forget about <strong>clearing browser cache</strong>.</p> + <p>Arranging toolbar groups is the recommended way of configuring the toolbar, but if you need more freedom you can use the <a href="#advanced">advanced configurator</a>.</p> + </div> + </div> + <div class="advanced" style="display: none;"> + <div class="grid-width-50"> + <p>With this code editor you can edit your <a href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-toolbar">toolbar configuration</a> live.</p> + <p>You can replace the content of the <a href="../../config.js"><code>config.js</code></a> file with the generated configuration. If you already set some configuration options you will need to merge both configurations.</p> + </div> + <div class="grid-width-50"> + <p>Read more about different ways of <a href="https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_configuration">setting configuration</a> and do not forget about <strong>clearing browser cache</strong>.</p> + </div> + </div> + </div> + + <p class="grid-container grid-container-nested"> + <button type="button" class="help-content-close grid-width-100 button-a button-a-background">Got it. Let's play!</button> + </p> + </div> + </div> + </div> +</main> + +<footer class="footer-a grid-container"> + <p class="grid-width-100"> + CKEditor &ndash; The text editor for the Internet &ndash; <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p class="grid-width-100" id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> &ndash; Frederico Knabben. All rights reserved. + </p> +</footer> + +<script src="lib/codemirror/codemirror.js"></script> +<script src="lib/codemirror/javascript.js"></script> +<script src="lib/codemirror/show-hint.js"></script> + +<script src="js/fulltoolbareditor.js"></script> +<script src="js/abstracttoolbarmodifier.js"></script> +<script src="js/toolbarmodifier.js"></script> +<script src="js/toolbartextmodifier.js"></script> +<script src="../js/sf.js"></script> + +<script> + ( function() { + 'use strict'; + + var mode = ( window.location.hash.substr( 1 ) === 'advanced' ) ? 'advanced' : 'basic', + configuratorSection = CKEDITOR.document.findOne( 'main > .grid-container.configurator' ), + basicInstruction = CKEDITOR.document.findOne( '#help-content .basic' ), + advancedInstruction = CKEDITOR.document.findOne( '#help-content .advanced' ), + + // Configurator mode switcher. + modeSwitchBasic = CKEDITOR.document.getById( 'radio-basic' ), + modeSwitchAdvanced = CKEDITOR.document.getById( 'radio-advanced' ); + + // Initial setup + function updateSwitcher() { + if ( mode === 'advanced' ) { + modeSwitchAdvanced.$.checked = true; + } else { + modeSwitchBasic.$.checked = true; + } + } + + updateSwitcher(); + + CKEDITOR.document.getWindow().on( 'hashchange', function( e ) { + var hash = window.location.hash.substr( 1 ); + if ( !( hash === 'advanced' || hash === 'basic' ) ) { + return; + } + mode = hash; + onToolbarsDone( mode ); + } ); + + CKEDITOR.document.getWindow().on( 'resize', function() { + updateToolbar( ( mode === 'basic' ? toolbarModifier : toolbarTextModifier )[ 'editorInstance' ] ); + } ); + + function onRefresh( modifier ) { + modifier = modifier || this; + + if ( mode === 'basic' && modifier instanceof ToolbarConfigurator.ToolbarTextModifier ) { + return; + } + + // CodeMirror container becomes visible, so we need to refresh and to avoid rendering problems. + if ( mode === 'advanced' && modifier instanceof ToolbarConfigurator.ToolbarTextModifier ) { + modifier.codeContainer.refresh(); + } + + updateToolbar( modifier.editorInstance ); + } + + function updateToolbar( editor ) { + var editorContainer = editor.container; + + // Not always editor is loaded. + if ( !editorContainer ) { + return; + } + + var displayStyle = editorContainer.getStyle( 'display' ); + + editorContainer.setStyle( 'display', 'block' ); + + var newHeight = editorContainer.getSize( 'height' ); + + var newMarginTop = parseInt( editorContainer.getComputedStyle( 'margin-top' ), 10 ); + newMarginTop = ( isNaN( newMarginTop ) ? 0 : Number( newMarginTop ) ); + + var newMarginBottom = parseInt( editorContainer.getComputedStyle( 'margin-bottom' ), 10 ); + newMarginBottom = ( isNaN( newMarginBottom ) ? 0 : Number( newMarginBottom ) ); + + var result = newHeight + newMarginTop + newMarginBottom; + + editorContainer.setStyle( 'display', displayStyle ); + + editor.container.getAscendant( 'div' ).setStyle( 'height', result + 'px' ); + } + + var toolbarModifier = new ToolbarConfigurator.ToolbarModifier( 'editor-basic' ); + + var done = 0; + toolbarModifier.init( onToolbarInit ); + toolbarModifier.onRefresh = onRefresh; + + CKEDITOR.document.getById( 'toolbarModifierWrapper' ).append( toolbarModifier.mainContainer ); + + var toolbarTextModifier = new ToolbarConfigurator.ToolbarTextModifier( 'editor-advanced' ); + toolbarTextModifier.init( onToolbarInit ); + toolbarTextModifier.onRefresh = onRefresh; + + function onToolbarInit() { + if ( ++done === 2 ) { + onToolbarsDone(); + + positionSticky.watch( CKEDITOR.document.findOne( '.toolbar' ), function() { + return mode === 'advanced'; + } ); + } + } + + function onToolbarsDone() { + if ( mode === 'basic' ) { + toggleModeBasic( false ); + } else { + toggleModeAdvanced( false ); + } + + updateSwitcher(); + + setTimeout( function() { + CKEDITOR.document.findOne( '.editors-container' ).addClass( 'active' ); + CKEDITOR.document.findOne( '#toolbarModifierWrapper' ).addClass( 'active' ); + }, 200 ); + } + + CKEDITOR.document.getById( 'toolbarModifierWrapper' ).append( toolbarTextModifier.mainContainer ); + + function toogleModeSwitch( onElement, offElement, onModifier, offModifier ) { + onElement.addClass( 'fancy-button-active' ); + offElement.removeClass( 'fancy-button-active' ); + + onModifier.showUI(); + offModifier.hideUI(); + } + + function toggleModeBasic( callOnRefresh ) { + callOnRefresh = ( callOnRefresh !== false ); + mode = 'basic'; + window.location.hash = '#basic'; + toogleModeSwitch( modeSwitchBasic, modeSwitchAdvanced, toolbarModifier, toolbarTextModifier ); + + configuratorSection.removeClass( 'freed-width' ); + basicInstruction.show(); + advancedInstruction.hide(); + + callOnRefresh && onRefresh( toolbarModifier ); + } + + function toggleModeAdvanced( callOnRefresh ) { + callOnRefresh = ( callOnRefresh !== false ); + mode = 'advanced'; + window.location.hash = '#advanced'; + toogleModeSwitch( modeSwitchAdvanced, modeSwitchBasic, toolbarTextModifier, toolbarModifier ); + + configuratorSection.addClass( 'freed-width' ); + advancedInstruction.show(); + basicInstruction.hide(); + + callOnRefresh && onRefresh( toolbarTextModifier ); + } + + modeSwitchBasic.on( 'click', toggleModeBasic ); + modeSwitchAdvanced.on( 'click', toggleModeAdvanced ); + + // + // Position:sticky for the toolbar. + // + + // Will make elements behave like they were styled with position:sticky. + var positionSticky = { + // Store object: { + // element: CKEDITOR.dom.element, // Element which will float. + // placeholder: CKEDITOR.dom.element, // Placeholder which is place to prevent page bounce. + // isFixed: boolean // Whether element float now. + // } + watched: [], + + active: [], + + staticContainer: null, + + init: function() { + var element = CKEDITOR.dom.element.createFromHtml( + '<div class="staticContainer">' + + '<div class="grid-container" >' + + '<div class="grid-width-100">' + + '<div class="inner"></div>' + + '</div>' + + '</div>' + + '</div>' ); + + this.staticContainer = element.findOne( '.inner' ); + + CKEDITOR.document.getBody().append( element ); + }, + + watch: function( element, preventFunc ) { + this.watched.push( { + element: element, + placeholder: new CKEDITOR.dom.element( 'div' ), + isFixed: false, + preventFunc: preventFunc + } ); + }, + + checkAll: function() { + for ( var i = 0; i < this.watched.length; i++ ) { + this.check( this.watched[ i ] ); + } + }, + + check: function( element ) { + var isFixed = element.isFixed; + var shouldBeFixed = this.shouldBeFixed( element ); + + // Nothing to be done. + if ( isFixed === shouldBeFixed ) { + return; + } + + var placeholder = element.placeholder; + + if ( isFixed ) { + // Unfixing. + + element.element.insertBefore( placeholder ); + placeholder.remove(); + + element.element.removeStyle( 'margin' ); + + this.active.splice( CKEDITOR.tools.indexOf( this.active, element ), 1 ); + + } else { + // Fixing. + placeholder.setStyle( 'width', element.element.getSize( 'width' ) + 'px' ); + placeholder.setStyle( 'height', element.element.getSize( 'height' ) + 'px' ); + placeholder.setStyle( 'margin-bottom', element.element.getComputedStyle( 'margin-bottom' ) ); + placeholder.setStyle( 'display', element.element.getComputedStyle( 'display' ) ); + placeholder.insertAfter( element.element ); + + this.staticContainer.append( element.element ); + + this.active.push( element ); + } + + element.isFixed = !element.isFixed; + }, + + shouldBeFixed: function( element ) { + if ( element.preventFunc && element.preventFunc() ) { + return false; + } + + // If element is already fixed we are checking it's placeholder. + var related = ( element.isFixed ? element.placeholder : element.element ), + clientRect = related.$.getBoundingClientRect(), + staticHeight = this.staticContainer.getSize('height' ), + elemHeight = element.element.getSize( 'height' ); + + if ( element.isFixed ) { + return ( clientRect.top + elemHeight < staticHeight ); + } else { + return ( clientRect.top < staticHeight ); + } + } + }; + + positionSticky.init(); + + CKEDITOR.document.getWindow().on( 'scroll', + new CKEDITOR.tools.eventsBuffer( 100, positionSticky.checkAll, positionSticky ).input + ); + + // Make the toolbar sticky. + positionSticky.watch( CKEDITOR.document.findOne( '.editors-container' ) ); + + // Help button and help-content. + ( function() { + var helpButton = CKEDITOR.document.getById( 'help' ), + helpContent = CKEDITOR.document.getById( 'help-content' ); + + // Don't show help button on IE8 because it's unsupported by Pico Modal. + if ( CKEDITOR.env.ie && CKEDITOR.env.version == 8 ) { + helpButton.hide(); + } else { + // Display help modal when the button is clicked. + helpButton.on( 'click', function( evt ) { + SF.modal( { + // Clone modal content from DOM. + content: helpContent.getHtml(), + + afterCreate: function( modal ) { + // Enable modal content button to close the modal. + new CKEDITOR.dom.element( modal.modalElem() ).findOne( '.help-content-close' ).once( 'click', modal.close ); + } + } ).show(); + } ); + } + } )(); + } )(); +</script> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/index.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/toolbarmodifier.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/toolbarmodifier.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/toolbarmodifier.js (revision 7) @@ -0,0 +1,33 @@ +(function(){function d(a,b){l.call(this,a,b);this.actualConfig=this.originalConfig=this.removedButtons=null;this.emptyVisible=!1;this.state="edit";this.toolbarButtons=[{text:{active:"Hide empty toolbar groups",inactive:"Show empty toolbar groups"},group:"edit",position:"left",cssClass:"button-a-soft",clickCallback:function(a,b){a[a.hasClass("button-a-background")?"removeClass":"addClass"]("button-a-background");this._toggleVisibilityEmptyElements();this.emptyVisible?a.setText(b.text.active):a.setText(b.text.inactive)}}, +{text:"Add row separator",group:"edit",position:"left",cssClass:"button-a-soft",clickCallback:function(){this._addSeparator()}},{text:"Select config",group:"config",position:"left",cssClass:"button-a-soft",clickCallback:function(){this.configContainer.findOne("textarea").$.select()}},{text:"Back to configurator",group:"config",position:"right",cssClass:"button-a-background",clickCallback:function(){if("paste"===this.state){var a=this.configContainer.findOne("textarea").getValue();(a=d.evaluateToolbarGroupsConfig(a))? +this.setConfig(a):alert("Your pasted config is wrong.")}this.state="edit";this._showConfigurationTool();this.showToolbarBtnsByGroupName(this.state)}},{text:'Get toolbar \x3cspan class\x3d"highlight"\x3econfig\x3c/span\x3e',group:"edit",position:"right",cssClass:"button-a-background icon-pos-left icon-download",clickCallback:function(){this.state="config";this._showConfig();this.showToolbarBtnsByGroupName(this.state)}}];this.cachedActiveElement=null}var l=ToolbarConfigurator.AbstractToolbarModifier; +ToolbarConfigurator.ToolbarModifier=d;d.prototype=Object.create(ToolbarConfigurator.AbstractToolbarModifier.prototype);d.prototype.getActualConfig=function(){var a=l.prototype.getActualConfig.call(this);if(a.toolbarGroups)for(var b=a.toolbarGroups.length,c=0;c<b;c+=1)a.toolbarGroups[c]=d.parseGroupToConfigValue(a.toolbarGroups[c]);return a};d.prototype._onInit=function(a,b,c){c=!0===c;l.prototype._onInit.call(this,void 0,b);this.removedButtons=[];c?this.removedButtons=this.actualConfig.removeButtons? +this.actualConfig.removeButtons.split(","):[]:"removeButtons"in this.originalConfig?this.removedButtons=this.originalConfig.removeButtons?this.originalConfig.removeButtons.split(","):[]:(this.originalConfig.removeButtons="",this.removedButtons=[]);this.actualConfig.toolbarGroups||(this.actualConfig.toolbarGroups=this.fullToolbarEditor.getFullToolbarGroupsConfig());this._fixGroups(this.actualConfig);this._calculateTotalBtns();this._createModifier();this._refreshMoveBtnsAvalibility();this._refreshBtnTabIndexes(); +"function"===typeof a&&a(this.mainContainer)};d.prototype._showConfigurationTool=function(){this.configContainer.addClass("hidden");this.modifyContainer.removeClass("hidden")};d.prototype._showConfig=function(){var a=this.getActualConfig(),b,c;if(a.toolbarGroups){b=a.toolbarGroups;for(var e=this.cfg.trimEmptyGroups,f=[],g=b.length,m=0;m<g;m++){var h=b[m];if("/"===h)f.push("'/'");else{if(e)for(var k=h.groups.length;k--;)0===d.getTotalSubGroupButtonsNumber(h.groups[k],this.fullToolbarEditor)&&h.groups.splice(k, +1);e&&0===h.groups.length||f.push(l.stringifyJSONintoOneLine(h,{addSpaces:!0,noQuotesOnKey:!0,singleQuotes:!0}))}}b="\n\t\t"+f.join(",\n\t\t")}a.removeButtons&&(c=a.removeButtons);a=['\x3ctextarea class\x3d"configCode" readonly\x3eCKEDITOR.editorConfig \x3d function( config ) {\n',b?"\tconfig.toolbarGroups \x3d ["+b+"\n\t];":"",c?"\n\n":"",c?"\tconfig.removeButtons \x3d '"+c+"';":"","\n};\x3c/textarea\x3e"].join("");this.modifyContainer.addClass("hidden");this.configContainer.removeClass("hidden"); +this.configContainer.setHtml(a)};d.prototype._toggleVisibilityEmptyElements=function(){this.modifyContainer.hasClass("empty-visible")?(this.modifyContainer.removeClass("empty-visible"),this.emptyVisible=!1):(this.modifyContainer.addClass("empty-visible"),this.emptyVisible=!0);this._refreshMoveBtnsAvalibility()};d.prototype._createModifier=function(){function a(){b._highlightGroup(this.data("name"))}var b=this;l.prototype._createModifier.call(this);this.modifyContainer.setHtml(this._toolbarConfigToListString()); +var c=this.modifyContainer.find('li[data-type\x3d"group"]');this.modifyContainer.on("mouseleave",function(){this._dehighlightActiveToolGroup()},this);for(var e=c.count(),f=0;f<e;f+=1)c.getItem(f).on("mouseenter",a);CKEDITOR.document.on("keypress",function(a){a=a.data.$.keyCode;a=32===a||13===a;var c=new CKEDITOR.dom.element(CKEDITOR.document.$.activeElement);c.getAscendant(function(a){return a.$===b.mainContainer.$})&&a&&"button"===c.data("type")&&c.findOne("input").$.click()});this.modifyContainer.on("click", +function(a){var c=a.data.$,e=new CKEDITOR.dom.element(c.target||c.srcElement);if(a=d.getGroupOrSeparatorLiAncestor(e)){b.cachedActiveElement=document.activeElement;if(e.$ instanceof HTMLInputElement)b._handleCheckboxClicked(e);else if(e.$ instanceof HTMLButtonElement&&(c.preventDefault?c.preventDefault():c.returnValue=!1,(c=b._handleAnchorClicked(e.$))&&"remove"==c.action))return;c=a.data("type");a=a.data("name");b._setActiveElement(c,a);b.cachedActiveElement&&b.cachedActiveElement.focus()}});this.toolbarContainer|| +(this._createToolbar(),this.toolbarContainer.insertBefore(this.mainContainer.getChildren().getItem(0)));this.showToolbarBtnsByGroupName("edit");this.configContainer||(this.configContainer=new CKEDITOR.dom.element("div"),this.configContainer.addClass("configContainer"),this.configContainer.addClass("hidden"),this.mainContainer.append(this.configContainer));return this.mainContainer};d.prototype.showToolbarBtnsByGroupName=function(a){if(this.toolbarContainer)for(var b=this.toolbarContainer.find("button"), +c=b.count(),e=0;e<c;e+=1){var d=b.getItem(e);d.data("group")==a?d.removeClass("hidden"):d.addClass("hidden")}};d.parseGroupToConfigValue=function(a){if("separator"==a.type)return"/";var b=a.groups,c=b.length;delete a.totalBtns;for(var e=0;e<c;e+=1)b[e]=b[e].name;return a};d.getGroupOrSeparatorLiAncestor=function(a){return a.$ instanceof HTMLLIElement&&"group"==a.data("type")?a:d.getFirstAncestor(a,function(a){a=a.data("type");return"group"==a||"separator"==a})};d.prototype._setActiveElement=function(a, +b){this.currentActive&&this.currentActive.elem.removeClass("active");if(null===a)this._dehighlightActiveToolGroup(),this.currentActive=null;else{var c=this.mainContainer.findOne('ul[data-type\x3dtable-body] li[data-type\x3d"'+a+'"][data-name\x3d"'+b+'"]');c.addClass("active");this.currentActive={type:a,name:b,elem:c};"group"==a&&this._highlightGroup(b);"separator"==a&&this._dehighlightActiveToolGroup()}};d.prototype.getActiveToolGroup=function(){return this.editorInstance.container?this.editorInstance.container.findOne(".cke_toolgroup.active, .cke_toolbar.active"): +null};d.prototype._dehighlightActiveToolGroup=function(){var a=this.getActiveToolGroup();a&&a.removeClass("active");this.editorInstance.container&&this.editorInstance.container.removeClass("some-toolbar-active")};d.prototype._highlightGroup=function(a){this.editorInstance.container&&(a=this.getFirstEnabledButtonInGroup(a),a=this.editorInstance.container.findOne(".cke_button__"+a+", .cke_combo__"+a),this._dehighlightActiveToolGroup(),this.editorInstance.container&&this.editorInstance.container.addClass("some-toolbar-active"), +a&&(a=d.getFirstAncestor(a,function(a){return a.hasClass("cke_toolbar")}))&&a.addClass("active"))};d.prototype.getFirstEnabledButtonInGroup=function(a){var b=this.actualConfig.toolbarGroups;a=this.getGroupIndex(a);b=b[a];if(-1===a)return null;a=b.groups?b.groups.length:0;for(var c=0;c<a;c+=1){var e=this.getFirstEnabledButtonInSubgroup(b.groups[c].name);if(e)return e}return null};d.prototype.getFirstEnabledButtonInSubgroup=function(a){for(var b=(a=this.fullToolbarEditor.buttonsByGroup[a])?a.length: +0,c=0;c<b;c+=1){var e=a[c].name;if(!this.isButtonRemoved(e))return e}return null};d.prototype._handleCheckboxClicked=function(a){var b=a.getAscendant("li").data("name");a.$.checked?this._removeButtonFromRemoved(b):this._addButtonToRemoved(b)};d.prototype._handleAnchorClicked=function(a){a=new CKEDITOR.dom.element(a);var b=a.getAscendant("li"),c=b.getAscendant("ul"),e=b.data("type"),d=b.data("name"),g=a.data("direction"),m="up"===g?b.getPrevious():b.getNext(),h;if(a.hasClass("disabled"))return null; +if(a.hasClass("remove"))return b.remove(),this._removeSeparator(b.data("name")),this._setActiveElement(null),{action:"remove"};if(!a.hasClass("move")||!m)return{action:null};if("group"===e||"separator"===e)h=this._moveGroup(g,d);"subgroup"===e&&(h=b.getAscendant("li").data("name"),h=this._moveSubgroup(g,h,d));"up"===g&&b.insertBefore(c.getChild(h));"down"===g&&b.insertAfter(c.getChild(h));for(var k;b="up"===g?b.getPrevious():b.getNext();)if(this.emptyVisible||!b.hasClass("empty")){k=b;break}k||(k= +'[data-direction\x3d"'+("up"===g?"down":"up")+'"]',this.cachedActiveElement=a.getParent().findOne(k));this._refreshMoveBtnsAvalibility();this._refreshBtnTabIndexes();return{action:"move"}};d.prototype._refreshMoveBtnsAvalibility=function(){function a(a){var c=a.count();for(d=0;d<c;d+=1)b._disableElementsInList(a.getItem(d))}for(var b=this,c=this.mainContainer.find("ul[data-type\x3dtable-body] li \x3e p \x3e span \x3e button.move.disabled"),e=c.count(),d=0;d<e;d+=1)c.getItem(d).removeClass("disabled"); +a(this.mainContainer.find("ul[data-type\x3dtable-body]"));a(this.mainContainer.find("ul[data-type\x3dtable-body] \x3e li \x3e ul"))};d.prototype._refreshBtnTabIndexes=function(){for(var a=this.mainContainer.find('[data-tab\x3d"true"]'),b=a.count(),c=0;c<b;c++){var e=a.getItem(c),d=e.hasClass("disabled");e.setAttribute("tabindex",d?-1:c)}};d.prototype._disableElementsInList=function(a){function b(a){return!a.hasClass("empty")}if(a.getChildren().count()){var c;this.emptyVisible?(c=a.getFirst(),a=a.getLast()): +(c=a.getFirst(b),a=a.getLast(b));if(c)var e=c.findOne('p button[data-direction\x3d"up"]');if(a)var d=a.findOne('p button[data-direction\x3d"down"]');e&&(e.addClass("disabled"),e.setAttribute("tabindex","-1"));d&&(d.addClass("disabled"),d.setAttribute("tabindex","-1"))}};d.prototype.getGroupIndex=function(a){for(var b=this.actualConfig.toolbarGroups,c=b.length,d=0;d<c;d+=1)if(b[d].name===a)return d;return-1};d.prototype._addSeparator=function(){var a=this._determineSeparatorToAddIndex(),b=d.createSeparatorLiteral(), +c=CKEDITOR.dom.element.createFromHtml(d.getToolbarSeparatorString(b));this.actualConfig.toolbarGroups.splice(a,0,b);c.insertBefore(this.modifyContainer.findOne("ul[data-type\x3dtable-body]").getChild(a));this._setActiveElement("separator",b.name);this._refreshMoveBtnsAvalibility();this._refreshBtnTabIndexes();this._refreshEditor()};d.prototype._removeSeparator=function(a){var b=CKEDITOR.tools.indexOf(this.actualConfig.toolbarGroups,function(b){return"separator"==b.type&&b.name==a});this.actualConfig.toolbarGroups.splice(b, +1);this._refreshMoveBtnsAvalibility();this._refreshBtnTabIndexes();this._refreshEditor()};d.prototype._determineSeparatorToAddIndex=function(){return this.currentActive?("group"==this.currentActive.elem.data("type")||"separator"==this.currentActive.elem.data("type")?this.currentActive.elem:this.currentActive.elem.getAscendant("li")).getIndex():0};d.prototype._moveElement=function(a,b,c){function e(a){return a.totalBtns||"separator"==a.type}c=this.emptyVisible?"down"==c?b+1:b-1:d.getFirstElementIndexWith(a, +b,c,e);return d.moveTo(c-b,a,b)};d.prototype._moveGroup=function(a,b){var c=this.getGroupIndex(b),c=this._moveElement(this.actualConfig.toolbarGroups,c,a);this._refreshMoveBtnsAvalibility();this._refreshBtnTabIndexes();this._refreshEditor();return c};d.prototype._moveSubgroup=function(a,b,c){b=this.getGroupIndex(b);b=this.actualConfig.toolbarGroups[b];var d=CKEDITOR.tools.indexOf(b.groups,function(a){return a.name==c});a=this._moveElement(b.groups,d,a);this._refreshEditor();return a};d.prototype._calculateTotalBtns= +function(){for(var a=this.actualConfig.toolbarGroups,b=a.length;b--;){var c=a[b],e=d.getTotalGroupButtonsNumber(c,this.fullToolbarEditor);"separator"!=c.type&&(c.totalBtns=e)}};d.prototype._addButtonToRemoved=function(a){if(-1!=CKEDITOR.tools.indexOf(this.removedButtons,a))throw"Button already added to removed";this.removedButtons.push(a);this.actualConfig.removeButtons=this.removedButtons.join(",");this._refreshEditor()};d.prototype._removeButtonFromRemoved=function(a){a=CKEDITOR.tools.indexOf(this.removedButtons, +a);if(-1===a)throw"Trying to remove button from removed, but not found";this.removedButtons.splice(a,1);this.actualConfig.removeButtons=this.removedButtons.join(",");this._refreshEditor()};d.parseGroupToConfigValue=function(a){if("separator"==a.type)return"/";var b=a.groups,c=b.length;delete a.totalBtns;for(var d=0;d<c;d+=1)b[d]=b[d].name;return a};d.getGroupOrSeparatorLiAncestor=function(a){return a.$ instanceof HTMLLIElement&&"group"==a.data("type")?a:d.getFirstAncestor(a,function(a){a=a.data("type"); +return"group"==a||"separator"==a})};d.createSeparatorLiteral=function(){return{type:"separator",name:"separator"+CKEDITOR.tools.getNextNumber()}};d.prototype._toolbarConfigToListString=function(){for(var a=this.actualConfig.toolbarGroups||[],b='\x3cul data-type\x3d"table-body"\x3e',c=a.length,e=0;e<c;e+=1)var f=a[e],b="separator"===f.type?b+d.getToolbarSeparatorString(f):b+this._getToolbarGroupString(f);b+="\x3c/ul\x3e";return d.getToolbarHeaderString()+b};d.prototype._getToolbarGroupString=function(a){var b= +a.groups,c;c=""+['\x3cli data-type\x3d"group" data-name\x3d"',a.name,'" ',a.totalBtns?"":'class\x3d"empty"',"\x3e"].join("");c+=d.getToolbarElementPreString(a)+"\x3cul\x3e";a=b.length;for(var e=0;e<a;e+=1){var f=b[e];c+=this._getToolbarSubgroupString(f,this.fullToolbarEditor.buttonsByGroup[f.name])}return c+"\x3c/ul\x3e\x3c/li\x3e"};d.getToolbarSeparatorString=function(a){return['\x3cli data-type\x3d"',a.type,'" data-name\x3d"',a.name,'"\x3e',d.getToolbarElementPreString("row separator"),"\x3c/li\x3e"].join("")}; +d.getToolbarHeaderString=function(){return'\x3cul data-type\x3d"table-header"\x3e\x3cli data-type\x3d"header"\x3e\x3cp\x3eToolbars\x3c/p\x3e\x3cul\x3e\x3cli\x3e\x3cp\x3eToolbar groups\x3c/p\x3e\x3cp\x3eToolbar group items\x3c/p\x3e\x3c/li\x3e\x3c/ul\x3e\x3c/li\x3e\x3c/ul\x3e'};d.getFirstAncestor=function(a,b){for(var c=a.getParents(),d=c.length;d--;)if(b(c[d]))return c[d];return null};d.getFirstElementIndexWith=function(a,b,c,d){for(;"up"===c?b--:++b<a.length;)if(d(a[b]))return b;return-1};d.moveTo= +function(a,b,c){var d;-1!==c&&(d=b.splice(c,1)[0]);a=c+a;b.splice(a,0,d);return a};d.getTotalSubGroupButtonsNumber=function(a,b){var c=b.buttonsByGroup["string"==typeof a?a:a.name];return c?c.length:0};d.getTotalGroupButtonsNumber=function(a,b){for(var c=0,e=a.groups,f=e?e.length:0,g=0;g<f;g+=1)c+=d.getTotalSubGroupButtonsNumber(e[g],b);return c};d.prototype._getToolbarSubgroupString=function(a,b){var c;c=""+['\x3cli data-type\x3d"subgroup" data-name\x3d"',a.name,'" ',a.totalBtns?"":'class\x3d"empty" ', +"\x3e"].join("");c+=d.getToolbarElementPreString(a.name);c+="\x3cul\x3e";for(var e=b?b.length:0,f=0;f<e;f+=1)c+=this.getButtonString(b[f]);return c+="\x3c/ul\x3e\x3c/li\x3e"};d.prototype._getConfigButtonName=function(a){var b=this.fullToolbarEditor.editorInstance.ui.items,c;for(c in b)if(b[c].name==a)return c;return null};d.prototype.isButtonRemoved=function(a){return-1!=CKEDITOR.tools.indexOf(this.removedButtons,this._getConfigButtonName(a))};d.prototype.getButtonString=function(a){var b=this.isButtonRemoved(a.name)? +"":'checked\x3d"checked"';return['\x3cli data-tab\x3d"true" data-type\x3d"button" data-name\x3d"',this._getConfigButtonName(a.name),'"\x3e\x3clabel title\x3d"',a.label,'" \x3e\x3cinput tabindex\x3d"-1"type\x3d"checkbox"',b,"/\x3e",a.$.getOuterHtml(),"\x3c/label\x3e\x3c/li\x3e"].join("")};d.getToolbarElementPreString=function(a){a=a.name?a.name:a;return['\x3cp\x3e\x3cspan\x3e\x3cbutton title\x3d"Move element upward" data-tab\x3d"true" data-direction\x3d"up" class\x3d"move icon-up-big"\x3e\x3c/button\x3e\x3cbutton title\x3d"Move element downward" data-tab\x3d"true" data-direction\x3d"down" class\x3d"move icon-down-big"\x3e\x3c/button\x3e', +"row separator"==a?'\x3cbutton title\x3d"Remove element" data-tab\x3d"true" class\x3d"remove icon-trash"\x3e\x3c/button\x3e':"",a,"\x3c/span\x3e\x3c/p\x3e"].join("")};d.evaluateToolbarGroupsConfig=function(a){return a=function(a){var c={},d;try{d=eval("("+a+")")}catch(f){try{d=eval(a)}catch(g){return null}}return c.toolbarGroups&&"number"===typeof c.toolbarGroups.length?JSON.stringify(c):d&&"number"===typeof d.length?JSON.stringify({toolbarGroups:d}):d&&d.toolbarGroups?JSON.stringify(d):null}(a)}; +return d})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/toolbarmodifier.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/abstracttoolbarmodifier.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/abstracttoolbarmodifier.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/abstracttoolbarmodifier.js (revision 7) @@ -0,0 +1,13 @@ +"function"!=typeof Object.create&&function(){var a=function(){};Object.create=function(b){if(1<arguments.length)throw Error("Second argument not supported");if(null===b)throw Error("Cannot set a null [[Prototype]]");if("object"!=typeof b)throw TypeError("Argument must be an object");a.prototype=b;return new a}}(); +CKEDITOR.plugins.add("toolbarconfiguratorarea",{afterInit:function(a){a.addMode("wysiwyg",function(b){var c=CKEDITOR.dom.element.createFromHtml('\x3cdiv class\x3d"cke_wysiwyg_div cke_reset" hidefocus\x3d"true"\x3e\x3c/div\x3e');a.ui.space("contents").append(c);c=a.editable(c);c.detach=CKEDITOR.tools.override(c.detach,function(b){return function(){b.apply(this,arguments);this.remove()}});a.setData(a.getData(1),b);a.fire("contentDom")});a.dataProcessor.toHtml=function(b){return b};a.dataProcessor.toDataFormat= +function(b){return b}}});Object.keys||(Object.keys=function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c="toString toLocaleString valueOf hasOwnProperty isPrototypeOf propertyIsEnumerable constructor".split(" "),e=c.length;return function(d){if("object"!==typeof d&&("function"!==typeof d||null===d))throw new TypeError("Object.keys called on non-object");var g=[],f;for(f in d)a.call(d,f)&&g.push(f);if(b)for(f=0;f<e;f++)a.call(d,c[f])&&g.push(c[f]);return g}}()); +(function(){function a(b,c){this.cfg=c||{};this.hidden=!1;this.editorId=b;this.fullToolbarEditor=new ToolbarConfigurator.FullToolbarEditor;this.actualConfig=this.originalConfig=this.mainContainer=null;this.isEditableVisible=this.waitForReady=!1;this.toolbarContainer=null;this.toolbarButtons=[]}ToolbarConfigurator.AbstractToolbarModifier=a;a.prototype.setConfig=function(b){this._onInit(void 0,b,!0)};a.prototype.init=function(b){var c=this;this.mainContainer=new CKEDITOR.dom.element("div");if(null!== +this.fullToolbarEditor.editorInstance)throw"Only one instance of ToolbarModifier is allowed";this.editorInstance||this._createEditor(!1);this.editorInstance.once("loaded",function(){c.fullToolbarEditor.init(function(){c._onInit(b);if("function"==typeof c.onRefresh)c.onRefresh()},c.editorInstance.config)});return this.mainContainer};a.prototype._onInit=function(b,c){this.originalConfig=this.editorInstance.config;this.actualConfig=c?JSON.parse(c):JSON.parse(JSON.stringify(this.originalConfig));if(!this.actualConfig.toolbarGroups&& +!this.actualConfig.toolbar){for(var a=this.actualConfig,d=this.editorInstance.toolbar,g=[],f=d.length,k=0;k<f;k++){var h=d[k];"string"==typeof h?g.push(h):g.push({name:h.name,groups:h.groups?h.groups.slice():[]})}a.toolbarGroups=g}"function"===typeof b&&b(this.mainContainer)};a.prototype._createModifier=function(){this.mainContainer.addClass("unselectable");this.modifyContainer&&this.modifyContainer.remove();this.modifyContainer=new CKEDITOR.dom.element("div");this.modifyContainer.addClass("toolbarModifier"); +this.mainContainer.append(this.modifyContainer);return this.mainContainer};a.prototype.getEditableArea=function(){return this.editorInstance.container.findOne("#"+this.editorInstance.id+"_contents")};a.prototype._hideEditable=function(){var b=this.getEditableArea();this.isEditableVisible=!1;this.lastEditableAreaHeight=b.getStyle("height");b.setStyle("height","0")};a.prototype._showEditable=function(){this.isEditableVisible=!0;this.getEditableArea().setStyle("height",this.lastEditableAreaHeight||"auto")}; +a.prototype._toggleEditable=function(){this.isEditableVisible?this._hideEditable():this._showEditable()};a.prototype._refreshEditor=function(){function b(){c.editorInstance.destroy();c._createEditor(!0,c.getActualConfig());c.waitForReady=!1}var c=this,a=this.editorInstance.status;this.waitForReady||("unloaded"==a||"loaded"==a?(this.waitForReady=!0,this.editorInstance.once("instanceReady",function(){b()},this)):b())};a.prototype._createEditor=function(b,c){function e(){}var d=this;this.editorInstance= +CKEDITOR.replace(this.editorId);this.editorInstance.on("configLoaded",function(){var b=d.editorInstance.config;c&&CKEDITOR.tools.extend(b,c,!0);a.extendPluginsConfig(b)});this.editorInstance.on("uiSpace",function(b){"top"!=b.data.space&&b.stop()},null,null,-999);this.editorInstance.once("loaded",function(){var c=d.editorInstance.ui.instances,a;for(a in c)c[a]&&(c[a].click=e,c[a].onClick=e);d.isEditableVisible||d._hideEditable();d.currentActive&&d.currentActive.name&&d._highlightGroup(d.currentActive.name); +d.hidden?d.hideUI():d.showUI();if(b&&"function"===typeof d.onRefresh)d.onRefresh()})};a.prototype.getActualConfig=function(){return JSON.parse(JSON.stringify(this.actualConfig))};a.prototype._createToolbar=function(){if(this.toolbarButtons.length){this.toolbarContainer=new CKEDITOR.dom.element("div");this.toolbarContainer.addClass("toolbar");for(var b=this.toolbarButtons.length,c=0;c<b;c+=1)this._createToolbarBtn(this.toolbarButtons[c])}};a.prototype._createToolbarBtn=function(b){var c=ToolbarConfigurator.FullToolbarEditor.createButton("string"=== +typeof b.text?b.text:b.text.inactive,b.cssClass);this.toolbarContainer.append(c);c.data("group",b.group);c.addClass(b.position);c.on("click",function(){b.clickCallback.call(this,c,b)},this);return c};a.prototype._fixGroups=function(b){b=b.toolbarGroups||[];for(var c=b.length,a=0;a<c;a+=1){var d=b[a];"/"==d?(d=b[a]={},d.type="separator",d.name="separator"+CKEDITOR.tools.getNextNumber()):(d.groups=d.groups||[],-1==CKEDITOR.tools.indexOf(d.groups,d.name)&&(this.editorInstance.ui.addToolbarGroup(d.name, +d.groups[d.groups.length-1],d.name),d.groups.push(d.name)),this._fixSubgroups(d))}};a.prototype._fixSubgroups=function(b){b=b.groups;for(var c=b.length,a=0;a<c;a+=1){var d=b[a];b[a]={name:d,totalBtns:ToolbarConfigurator.ToolbarModifier.getTotalSubGroupButtonsNumber(d,this.fullToolbarEditor)}}};a.stringifyJSONintoOneLine=function(b,a){a=a||{};var e=JSON.stringify(b,null,""),e=e.replace(/\n/g,"");a.addSpaces&&(e=e.replace(/(\{|:|,|\[|\])/g,function(a){return a+" "}),e=e.replace(/(\])/g,function(a){return" "+ +a}));a.noQuotesOnKey&&(e=e.replace(/"(\w*)":/g,function(a,b){return b+":"}));a.singleQuotes&&(e=e.replace(/\"/g,"'"));return e};a.prototype.hideUI=function(){this.hidden=!0;this.mainContainer.hide();this.editorInstance.container&&this.editorInstance.container.hide()};a.prototype.showUI=function(){this.hidden=!1;this.mainContainer.show();this.editorInstance.container&&this.editorInstance.container.show()};a.extendPluginsConfig=function(a){var c=a.extraPlugins;a.extraPlugins=(c?c+",":"")+"toolbarconfiguratorarea"}})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/abstracttoolbarmodifier.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/toolbartextmodifier.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/toolbartextmodifier.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/toolbartextmodifier.js (revision 7) @@ -0,0 +1,14 @@ +(function(){function e(a){l.call(this,a);this.hintContainer=this.codeContainer=null}var l=ToolbarConfigurator.AbstractToolbarModifier,g=ToolbarConfigurator.FullToolbarEditor;ToolbarConfigurator.ToolbarTextModifier=e;e.prototype=Object.create(l.prototype);e.prototype._onInit=function(a,d){l.prototype._onInit.call(this,void 0,d);this._createModifier(d?this.actualConfig:void 0);"function"===typeof a&&a(this.mainContainer)};e.prototype._createModifier=function(a){function d(a){var b=c(a);if(null!==b.charsBetween){var d= +k.getUnusedButtonsArray(k.actualConfig.toolbar,!0,b.charsBetween),e=a.getCursor(),b=CodeMirror.Pos(e.line,e.ch-b.charsBetween.length),h=a.getTokenAt(e);"{"===a.getTokenAt({line:e.line,ch:h.start}).string&&(d=["name"]);if(0!==d.length)return new f(b,e,d)}}function f(a,c,b){this.from=a;this.to=c;this.list=b;this._handlers=[]}function c(a,c){var b={};b.cur=a.getCursor();b.tok=a.getTokenAt(b.cur);b["char"]=c||b.tok.string.charAt(b.tok.string.length-1);var d=a.getRange(CodeMirror.Pos(b.cur.line,0),b.cur).split("").reverse().join(""), +d=d.replace(/(['|"]\w*['|"])/g,"");b.charsBetween=d.match(/(^\w*)(['|"])/);b.charsBetween&&(b.endChar=b.charsBetween[2],b.charsBetween=b.charsBetween[1].split("").reverse().join(""));return b}function b(a){setTimeout(function(){a.state.completionActive||CodeMirror.showHint(a,d,{hintsClass:"toolbar-modifier",completeSingle:!1})},100);return CodeMirror.Pass}var k=this;this._createToolbar();this.toolbarContainer&&this.mainContainer.append(this.toolbarContainer);l.prototype._createModifier.call(this); +this._setupActualConfig(a);a=this.actualConfig.toolbar;a=CKEDITOR.tools.isArray(a)?"\tconfig.toolbar \x3d "+("[\n\t\t"+g.map(a,function(a){return l.stringifyJSONintoOneLine(a,{addSpaces:!0,noQuotesOnKey:!0,singleQuotes:!0})}).join(",\n\t\t")+"\n\t]")+";":"config.toolbar \x3d [];";a=["CKEDITOR.editorConfig \x3d function( config ) {\n",a,"\n};"].join("");var e=new CKEDITOR.dom.element("div");e.addClass("codemirror-wrapper");this.modifyContainer.append(e);this.codeContainer=CodeMirror(e.$,{mode:{name:"javascript", +json:!0},lineNumbers:!1,lineWrapping:!0,viewportMargin:Infinity,value:a,smartIndent:!1,indentWithTabs:!0,indentUnit:4,tabSize:4,theme:"neo",extraKeys:{Left:b,Right:b,"'''":b,"'\"'":b,Backspace:b,Delete:b,"Shift-Tab":"indentLess"}});this.codeContainer.on("endCompletion",function(a,b){var d=c(a);void 0!==b&&a.replaceSelection(d.endChar)});this.codeContainer.on("change",function(){var a=k.codeContainer.getValue(),a=k._evaluateValue(a);null!==a?(k.actualConfig.toolbar=a.toolbar?a.toolbar:k.actualConfig.toolbar, +k._fillHintByUnusedElements(),k._refreshEditor(),k.mainContainer.removeClass("invalid")):k.mainContainer.addClass("invalid")});this.hintContainer=new CKEDITOR.dom.element("div");this.hintContainer.addClass("toolbarModifier-hints");this._fillHintByUnusedElements();this.hintContainer.insertBefore(e)};e.prototype._fillHintByUnusedElements=function(){var a=this.getUnusedButtonsArray(this.actualConfig.toolbar,!0),a=this.groupButtonNamesByGroup(a),d=g.map(a,function(a){var b=g.map(a.buttons,function(a){return"\x3ccode\x3e"+ +a+"\x3c/code\x3e "}).join("");return["\x3cdt\x3e\x3ccode\x3e",a.name,"\x3c/code\x3e\x3c/dt\x3e\x3cdd\x3e",b,"\x3c/dd\x3e"].join("")}).join(" "),f='\x3cdt class\x3d"list-header"\x3eToolbar group\x3c/dt\x3e\x3cdd class\x3d"list-header"\x3eUnused items\x3c/dd\x3e';a.length||(f="\x3cp\x3eAll items are in use.\x3c/p\x3e");this.codeContainer.refresh();this.hintContainer.setHtml("\x3ch3\x3eUnused toolbar items\x3c/h3\x3e\x3cdl\x3e"+f+d+"\x3c/dl\x3e")};e.prototype.getToolbarGroupByButtonName=function(a){var d= +this.fullToolbarEditor.buttonNamesByGroup,f;for(f in d)for(var c=d[f],b=c.length;b--;)if(a===c[b])return f;return null};e.prototype.getUnusedButtonsArray=function(a,d,f){d=!0===d?!0:!1;var c=e.mapToolbarCfgToElementsList(a);a=Object.keys(this.fullToolbarEditor.editorInstance.ui.items);a=g.filter(a,function(a){var d="-"===a;a=void 0===f||0===a.toLowerCase().indexOf(f.toLowerCase());return!d&&a});a=g.filter(a,function(a){return-1==CKEDITOR.tools.indexOf(c,a)});d&&a.sort();return a};e.prototype.groupButtonNamesByGroup= +function(a){var d=[],f=JSON.parse(JSON.stringify(this.fullToolbarEditor.buttonNamesByGroup)),c;for(c in f){var b=f[c],b=g.filter(b,function(b){return-1!==CKEDITOR.tools.indexOf(a,b)});b.length&&d.push({name:c,buttons:b})}return d};e.mapToolbarCfgToElementsList=function(a){function d(a){return"-"!==a}for(var f=[],c=a.length,b=0;b<c;b+=1)a[b]&&"string"!==typeof a[b]&&(f=f.concat(g.filter(a[b].items,d)));return f};e.prototype._setupActualConfig=function(a){a=a||this.editorInstance.config;CKEDITOR.tools.isArray(a.toolbar)|| +(a.toolbarGroups||(a.toolbarGroups=this.fullToolbarEditor.getFullToolbarGroupsConfig(!0)),this._fixGroups(a),a.toolbar=this._mapToolbarGroupsToToolbar(a.toolbarGroups,this.actualConfig.removeButtons),this.actualConfig.toolbar=a.toolbar,this.actualConfig.removeButtons="")};e.prototype._mapToolbarGroupsToToolbar=function(a,d){d=d||this.editorInstance.config.removedBtns;d="string"==typeof d?d.split(","):[];for(var f=a.length;f--;){var c=this._mapToolbarSubgroup(a[f],d);"separator"===a[f].type?a[f]="/": +CKEDITOR.tools.isArray(c)&&0===c.length?a.splice(f,1):a[f]="string"==typeof c?c:{name:a[f].name,items:c}}return a};e.prototype._mapToolbarSubgroup=function(a,d){if("string"==typeof a)return a;for(var f=a.groups?a.groups.length:0,c=[],b=0;b<f;b+=1){var e=a.groups[b],e=this.fullToolbarEditor.buttonsByGroup["string"===typeof e?e:e.name]||[],e=this._mapButtonsToButtonsNames(e,d),g=e.length,c=c.concat(e);g&&c.push("-")}"-"==c[c.length-1]&&c.pop();return c};e.prototype._mapButtonsToButtonsNames=function(a, +d){for(var f=a.length;f--;){var c=a[f],c="string"===typeof c?c:this.fullToolbarEditor.getCamelCasedButtonName(c.name);-1!==CKEDITOR.tools.indexOf(d,c)?a.splice(f,1):a[f]=c}return a};e.prototype._evaluateValue=function(a){var d;try{var f={};Function("var CKEDITOR \x3d {}; "+a+"; return CKEDITOR;")().editorConfig(f);d=f;for(var c=d.toolbar.length;c--;)d.toolbar[c]||d.toolbar.splice(c,1)}catch(b){d=null}return d};e.prototype.mapToolbarToToolbarGroups=function(a){function d(a,b){a=a.slice();for(var d= +b.length;d--;){var c=a.indexOf(b[d]);-1!==c&&a.splice(c,1)}return a}for(var f={},c=[],b=[],c=a.length,e=0;e<c;e++)if("/"===a[e])b.push("/");else{var g=a[e].items,m={};m.name=a[e].name;m.groups=[];for(var l=g.length,p=0;p<l;p++){var n=g[p];if("-"!==n){var h=this.getToolbarGroupByButtonName(n);-1===m.groups.indexOf(h)&&m.groups.push(h);f[h]=f[h]||{};h=f[h].buttons=f[h].buttons||{};h[n]=h[n]||{used:0,origin:m.name};h[n].used++}}b.push(m)}c=function(a,b){var c=[],e;for(e in a)var f=a[e],g=b[e].slice(), +c=c.concat(d(g,Object.keys(f.buttons)));return c}(f,this.fullToolbarEditor.buttonNamesByGroup);return{toolbarGroups:b,removeButtons:c.join(",")}};return e})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/toolbartextmodifier.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/fulltoolbareditor.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/fulltoolbareditor.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/fulltoolbareditor.js (revision 7) @@ -0,0 +1,9 @@ +window.ToolbarConfigurator={}; +(function(){function e(){this.instanceid="fte"+CKEDITOR.tools.getNextId();this.textarea=new CKEDITOR.dom.element("textarea");this.textarea.setAttributes({id:this.instanceid,name:this.instanceid,contentEditable:!0});this.editorInstance=this.buttons=null}ToolbarConfigurator.FullToolbarEditor=e;e.prototype.init=function(b){var a=this;document.body.appendChild(this.textarea.$);CKEDITOR.replace(this.instanceid);this.editorInstance=CKEDITOR.instances[this.instanceid];this.editorInstance.once("configLoaded",function(d){var c= +d.editor.config;delete c.removeButtons;delete c.toolbarGroups;delete c.toolbar;ToolbarConfigurator.AbstractToolbarModifier.extendPluginsConfig(c);d.editor.once("loaded",function(){a.buttons=e.toolbarToButtons(a.editorInstance.toolbar);a.buttonsByGroup=e.groupButtons(a.buttons);a.buttonNamesByGroup=a.groupButtonNamesByGroup(a.buttons);d.editor.container.hide();"function"===typeof b&&b(a.buttons)})})};e.prototype.groupButtonNamesByGroup=function(b){var a=this;b=e.groupButtons(b);for(var d in b)b[d]= +e.map(b[d],function(b){return a.getCamelCasedButtonName(b.name)});return b};e.prototype.getGroupByName=function(b){for(var a=this.editorInstance.config.toolbarGroups||this.getFullToolbarGroupsConfig(),d=a.length,c=0;c<d;c+=1)if(a[c].name===b)return a[c];return null};e.prototype.getCamelCasedButtonName=function(b){var a=this.editorInstance.ui.items,d;for(d in a)if(a[d].name==b)return d;return null};e.prototype.getFullToolbarGroupsConfig=function(b){b=!0===b?!0:!1;for(var a=[],d=this.editorInstance.toolbar, +c=d.length,f=0;f<c;f+=1){var e=d[f],g={};"string"!=typeof e.name?b&&a.push("/"):(g.name=e.name,e.groups&&(g.groups=Array.prototype.slice.call(e.groups)),a.push(g))}return a};e.filter=function(b,a){for(var d=b&&b.length?b.length:0,c=[],f=0;f<d;f+=1)a(b[f])&&c.push(b[f]);return c};e.map=function(b,a){var d;if(CKEDITOR.tools.isArray(b)){d=[];for(var c=b.length,f=0;f<c;f+=1)d.push(a(b[f]))}else for(c in d={},b)d[c]=a(b[c]);return d};e.groupButtons=function(b){for(var a={},d=b.length,c=0;c<d;c+=1){var f= +b[c],e=f.toolbar.split(",")[0];a[e]=a[e]||[];a[e].push(f)}return a};e.toolbarToButtons=function(b){for(var a=[],d=b.length,c=0;c<d;c+=1)"object"==typeof b[c]&&(a=a.concat(e.groupToButtons(b[c])));return a};e.createToolbarButton=function(b){var a=new CKEDITOR.dom.element("a"),d=e.createIcon(b.name,b.icon,b.command);a.setStyle("float","none");a.addClass("cke_"+("rtl"==CKEDITOR.lang.dir?"rtl":"ltr"));if(b instanceof CKEDITOR.ui.button)a.addClass("cke_button"),a.addClass("cke_toolgroup"),a.append(d); +else if(CKEDITOR.ui.richCombo&&b instanceof CKEDITOR.ui.richCombo){var d=new CKEDITOR.dom.element("span"),c=new CKEDITOR.dom.element("span"),f=new CKEDITOR.dom.element("span");a.addClass("cke_combo_button");d.addClass("cke_combo_text");d.addClass("cke_combo_inlinelabel");d.setText(b.label);c.addClass("cke_combo_open");f.addClass("cke_combo_arrow");c.append(f);a.append(d);a.append(c)}return a};e.createIcon=function(b,a,d){var c=CKEDITOR.skin.getIconStyle(b,"rtl"==CKEDITOR.lang.dir),c=(c=c||CKEDITOR.skin.getIconStyle(a, +"rtl"==CKEDITOR.lang.dir))||CKEDITOR.skin.getIconStyle(d,"rtl"==CKEDITOR.lang.dir);a=new CKEDITOR.dom.element("span");a.addClass("cke_button_icon");a.addClass("cke_button__"+b+"_icon");a.setAttribute("style",c);a.setStyle("float","none");return a};e.createButton=function(b,a){var d=new CKEDITOR.dom.element("button");d.addClass("button-a");d.setAttribute("type","button");if("string"==typeof a){a=a.split(" ");for(var c=a.length;c--;)d.addClass(a[c])}d.setHtml(b);return d};e.groupToButtons=function(b){for(var a= +[],d=(b=b.items)?b.length:0,c=0;c<d;c+=1){var f=b[c];if(f instanceof CKEDITOR.ui.button||CKEDITOR.ui.richCombo&&f instanceof CKEDITOR.ui.richCombo)f.$=e.createToolbarButton(f),a.push(f)}return a}})(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/js/fulltoolbareditor.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/fontello.ttf =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/fontello.ttf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/LICENSE.txt =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/LICENSE.txt (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/LICENSE.txt (revision 7) @@ -0,0 +1,10 @@ +Font license info + + +## Font Awesome + + Copyright (C) 2012 by Dave Gandy + + Author: Dave Gandy + License: SIL () + Homepage: http://fortawesome.github.com/Font-Awesome/ Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/LICENSE.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/config.json =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/config.json (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/config.json (revision 7) @@ -0,0 +1,28 @@ +{ + "name": "", + "css_prefix_text": "icon-", + "css_use_suffix": false, + "hinting": true, + "units_per_em": 1000, + "ascent": 850, + "glyphs": [ + { + "uid": "f48ae54adfb27d8ada53d0fd9e34ee10", + "css": "trash-empty", + "code": 59392, + "src": "fontawesome" + }, + { + "uid": "1c4068ed75209e21af36017df8871802", + "css": "down-big", + "code": 59393, + "src": "fontawesome" + }, + { + "uid": "95376bf082bfec6ce06ea1cda7bd7ead", + "css": "up-big", + "code": 59394, + "src": "fontawesome" + } + ] +} \ No newline at end of file Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/fontello.eot =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/fontello.eot ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/fontello.woff =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/fontello.woff ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/fontello.svg =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/fontello.svg (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/toolbarconfigurator/font/fontello.svg (revision 7) @@ -0,0 +1,14 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg"> +<metadata>Copyright (C) 2014 by original authors @ fontello.com</metadata> +<defs> +<font id="fontello" horiz-adv-x="1000" > +<font-face font-family="fontello" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" /> +<missing-glyph horiz-adv-x="1000" /> +<glyph glyph-name="trash" unicode="&#xe802;" d="m286 439v-321q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q8 0 13-5t5-13z m143 0v-321q0-8-5-13t-13-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q8 0 13-5t5-13z m142 0v-321q0-8-5-13t-12-5h-36q-8 0-13 5t-5 13v321q0 8 5 13t13 5h36q7 0 12-5t5-13z m72-404v529h-500v-529q0-12 4-22t8-15t6-5h464q2 0 6 5t8 15t4 22z m-375 601h250l-27 65q-4 5-9 6h-177q-6-1-10-6z m518-18v-36q0-8-5-13t-13-5h-54v-529q0-46-26-80t-63-34h-464q-37 0-63 33t-27 79v531h-53q-8 0-13 5t-5 13v36q0 8 5 13t13 5h172l39 93q9 21 31 35t44 15h178q22 0 44-15t30-35l39-93h173q8 0 13-5t5-13z" horiz-adv-x="785.7" /> +<glyph glyph-name="down-big" unicode="&#xe800;" d="m899 386q0-30-21-50l-363-364q-22-21-51-21q-29 0-50 21l-363 364q-21 20-21 50q0 29 21 51l41 41q22 21 51 21q29 0 50-21l164-164v393q0 29 21 50t51 22h71q29 0 50-22t21-50v-393l164 164q21 21 51 21q29 0 50-21l42-42q21-21 21-50z" horiz-adv-x="928.6" /> +<glyph glyph-name="up-big" unicode="&#xe801;" d="m899 308q0-28-21-50l-42-42q-21-21-50-21q-30 0-51 21l-164 164v-393q0-29-20-47t-51-19h-71q-30 0-51 19t-21 47v393l-164-164q-20-21-50-21t-50 21l-42 42q-21 21-21 50q0 30 21 51l363 363q20 21 50 21q30 0 51-21l363-363q21-22 21-51z" horiz-adv-x="928.6" /> +</font> +</defs> +</svg> \ No newline at end of file Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/css/samples.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/css/samples.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/css/samples.css (revision 7) @@ -0,0 +1,1637 @@ +/** + * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ +@media (max-width: 900px) { + .global-is-mobile-hidden { + display: none !important; + } +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section { + display: block; +} +body, +html { + margin: 0; + padding: 0; + font: 16px / 1.8 Arial, 'Helvetica Neue', Helvetica, sans-serif; + font-weight: 300; + color: #575757; +} +.grid-width-10 { + width: 10%; +} +.grid-width-20 { + width: 20%; +} +.grid-width-30 { + width: 30%; +} +.grid-width-40 { + width: 40%; +} +.grid-width-50 { + width: 50%; +} +.grid-width-60 { + width: 60%; +} +.grid-width-70 { + width: 70%; +} +.grid-width-80 { + width: 80%; +} +.grid-width-90 { + width: 90%; +} +.grid-width-100 { + width: 100%; +} +@media (max-width: 900px) { + .grid-width-10, + .grid-width-20, + .grid-width-30, + .grid-width-40, + .grid-width-50, + .grid-width-60, + .grid-width-70, + .grid-width-80, + .grid-width-90, + .grid-width-100 { + width: 100%; + } +} +*[class*="grid-width"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding-left: 4%; + padding-right: 4%; + float: left; +} +*[class*="grid-width"]:after, +.grid-container:after, +*[class*="grid-width"]:before, +.grid-container:before { + content: ''; + display: block; + overflow: hidden; + visibility: hidden; + font-size: 0; + line-height: 0; + width: 0; + height: 0; +} +*[class*="grid-width"]:after, +.grid-container:after { + clear: both; +} +.grid-container { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin-left: auto; + margin-right: auto; +} +.grid-container-nested *[class*="grid-width"]:first-child { + padding-left: 0; +} +.grid-container-nested *[class*="grid-width"]:last-child { + padding-right: 0; +} +@media (max-width: 900px) { + .grid-container-nested *[class*="grid-width"]:first-child { + padding-left: 4%; + } + .grid-container-nested *[class*="grid-width"]:last-child { + padding-right: 4%; + } +} +.header-a { + min-height: 140px; + overflow: hidden; +} +.header-a .header-a-logo { + margin: 40px 0 0; +} +@media (max-width: 900px) { + .header-a .header-a-logo { + text-align: center; + } +} +.header-a .header-a-logo img { + border: transparent; +} +.navigation-a { + height: 30px; + background: #3D3D3D; + position: absolute; + left: 0; + right: 0; + top: 0; + padding: 0; + overflow: hidden; +} +@media (max-width: 900px) { + .navigation-a { + text-align: center; + } +} +.navigation-a ul { + list-style: none; + margin: 0; + overflow: hidden; +} +.navigation-a ul li, +.navigation-a ul li a { + display: inline-block; +} +@media (max-width: 900px) { + .navigation-a ul { + width: auto; + text-overflow: ellipsis; + white-space: nowrap; + display: inline-block; + float: none; + } + .navigation-a ul:before, + .navigation-a ul:after { + display: none; + } +} +.navigation-a ul.navigation-a-left { + text-align: left; +} +@media (max-width: 900px) { + .navigation-a ul.navigation-a-left { + padding-right: 0; + } +} +.navigation-a ul.navigation-a-right { + text-align: right; +} +@media (max-width: 900px) { + .navigation-a ul.navigation-a-right { + padding-left: 23px; + } +} +.navigation-a ul li + li { + margin-left: 23px; +} +.navigation-a ul li a { + font-size: 10px; + font-size: 0.625rem; + line-height: 18px; + line-height: 1.13rem; + line-height: 30px; + float: left; + color: #ddd; + font-weight: bold; + text-decoration: none; + text-transform: uppercase; +} +.navigation-a ul li a:hover { + cursor: pointer; + color: #fff; +} +.icon-navigation-a-github:before, +.icon-navigation-a-github:after { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAAXNSR0IArs4c6QAAAa9JREFUOBGNlM8rRGEUht0pDGosjKYZpUSIkuwsiCaxUEqK2VOUBcrWv2BjxUJho6wsLLDzY2fhD5iR5NeOcJvIjOfM3O927m3mmlPPnPec835nZprvjlVVJvL5fCOjMWiDCLzCLVxZlpUj/x8saYV9+IZS8UJzFWoCt2GYgk+oJG4wJUouZDANv5VsUZ47dNSzkEYHfIDEHixDWgoiB/rTHlPPwBNInPmXHRb7hdeUDFG10AN1Th1Fd5mD6BMwMVnoUyVA3t3EkjkQlDFfmwPkc7NsQTXf0bGgJWaGb16dk18+EmLYawzkC+6Q3KdK4kiZqtGdskx/kmdlCJS86RuGrDLFZJmtGi1KB0q+VhOGsDLZsiyjGsOY4qoOkrO+YUauwCDoOKWo9xk9JfM+MPdSzqZdA8UlyDO3AvKLPsIG9LsmBHUKduEHdCy6PrpJZyKXdwKMOemaissOHJ9O9xTeh57GluMYIsehWy8STW/d8ZhkI0b9PjFasA1fsAOb0KCN1PLXYyKLGNdzj2YYArnZDyDRrA3Ua4UuDzd5QM/KaoxhmAO5Om5Qt8OI2/CJP6MVa1dvltQ5AAAAAElFTkSuQmCC"); +} +.navigation-b { + text-align: right; + margin: 52px 0 0; + overflow: visible; +} +@media (max-width: 900px) { + .navigation-b { + text-align: center; + margin-top: 20px; + padding: 0; + } +} +.navigation-b ul { + padding: 0; + list-style: none; + margin: 0; + overflow: visible; +} +.navigation-b ul li, +.navigation-b ul li a { + display: inline-block; +} +@media (max-width: 900px) { + .navigation-b ul { + display: table; + width: 100%; + padding-bottom: 1.5em; + } +} +@media (max-width: 900px) { + .navigation-b ul li { + display: table-row; + } +} +.navigation-b ul li + li { + margin-left: 20px; +} +@media (max-width: 900px) { + .navigation-b ul li + li { + margin-left: 0; + } +} +.navigation-b ul li a { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + text-transform: uppercase; + text-decoration: none; + outline: none; +} +@media (max-width: 900px) { + .navigation-b ul li a { + width: 100%; + -webkit-border-radius: 0; + -webkit-background-clip: padding-box; + -moz-border-radius: 0; + -moz-background-clip: padding; + border-radius: 0; + background-clip: padding-box; + } +} +.footer-a { + font-size: 13px; + font-size: 0.8125rem; + line-height: 23.4px; + line-height: 1.46rem; + padding-top: 2.25em; + padding-bottom: 2.25em; + overflow: hidden; + color: #8a8a8a; +} +.footer-a a { + color: #0287D0; + text-decoration: none; + border-bottom: 1px dotted #0287D0; +} +.footer-a a:hover { + color: #0277b7; +} +.footer-a p { + margin: 0; + display: inline-block; + text-align: center; +} +.content { + font-size: 14px; + font-size: 0.875rem; + line-height: 25.2px; + line-height: 1.57rem; + overflow: hidden; + padding-top: 1.5em; + padding-bottom: 1.5em; +} +.content p { + margin: 0.75em 0; +} +.content ul, +.content ol, +.content pre, +.content blockquote, +.content textarea:not([class^="cke"]), +.content .cke { + margin: 1.875em 0; +} +.content code, +.content kbd { + -webkit-border-radius: 3px; + -webkit-background-clip: padding-box; + -moz-border-radius: 3px; + -moz-background-clip: padding; + border-radius: 3px; + background-clip: padding-box; + padding: 3px 4px; +} +.content pre, +.content code, +.content kbd, +.content blockquote { + background: #f5f5f5; +} +.content blockquote, +.content pre { + background: none; + border-left: 4px solid #0287D0; + padding: 1.5em 2.25em; +} +.content p a, +.content ul a, +.content ol a, +.content blockquote a, +.content h1 a, +.content h2 a, +.content h3 a, +.content h4 a, +.content h5 a { + color: #0287D0; + text-decoration: none; + border-bottom: 1px dotted #0287D0; +} +.content p a:hover, +.content ul a:hover, +.content ol a:hover, +.content blockquote a:hover, +.content h1 a:hover, +.content h2 a:hover, +.content h3 a:hover, +.content h4 a:hover, +.content h5 a:hover { + color: #0277b7; +} +.content h1, +.content h2, +.content h3, +.content h4, +.content h5 { + color: #000; + font-weight: 100; +} +.content h1 code, +.content h2 code, +.content h3 code, +.content h4 code, +.content h5 code, +.content h1 kbd, +.content h2 kbd, +.content h3 kbd, +.content h4 kbd, +.content h5 kbd { + font-size: inherit; +} +.content h1 a.content-heading-anchor, +.content h2 a.content-heading-anchor, +.content h3 a.content-heading-anchor, +.content h4 a.content-heading-anchor, +.content h5 a.content-heading-anchor { + font-weight: 100; + vertical-align: middle; + opacity: 0; + border: 0; +} +.content h1:hover a.content-heading-anchor, +.content h2:hover a.content-heading-anchor, +.content h3:hover a.content-heading-anchor, +.content h4:hover a.content-heading-anchor, +.content h5:hover a.content-heading-anchor { + opacity: 1; +} +.content h1:target a, +.content h2:target a, +.content h3:target a, +.content h4:target a, +.content h5:target a { + -webkit-animation: targetLinkOpacity 0.5s linear alternate; + -moz-animation: targetLinkOpacity 0.5s linear alternate; + -o-animation: targetLinkOpacity 0.5s linear alternate; + animation: targetLinkOpacity 0.5s linear alternate; + opacity: 1; +} +.content input, +.content select, +.content textarea:not([class^="cke"]) { + -webkit-border-radius: 3px; + -webkit-background-clip: padding-box; + -moz-border-radius: 3px; + -moz-background-clip: padding; + border-radius: 3px; + background-clip: padding-box; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08); + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08); + font: inherit; + color: inherit; + border: 1px solid #D9D9D9; + padding: .2em .5em; +} +.content input:focus, +.content select:focus, +.content textarea:not([class^="cke"]):focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08), 0 0 8px #93c6ef; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08), 0 0 8px #93c6ef; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.08), 0 0 8px #93c6ef; +} +.content abbr { + border-bottom: 1px dotted #666; + cursor: pointer; +} +.content blockquote { + font-style: italic; + font-family: Georgia, Times, "Times New Roman", serif; + font-size: 16px; + font-size: 1rem; + line-height: 28.8px; + line-height: 1.8rem; +} +.content em { + font-style: italic; +} +.content h1 { + font-size: 36px; + font-size: 2.25rem; + line-height: 64.8px; + line-height: 4.05rem; + margin: 1.125em 0 0; +} +.content h2 { + font-size: 27.2px; + font-size: 1.7rem; + line-height: 48.96px; + line-height: 3.06rem; + margin: 0.9em 0 0; +} +.content h3 { + font-size: 24px; + font-size: 1.5rem; + line-height: 43.2px; + line-height: 2.7rem; + font-weight: 500; + margin: 0.75em 0 0; +} +.content h4 { + font-size: 19.2px; + font-size: 1.2rem; + line-height: 34.56px; + line-height: 2.16rem; + font-weight: 500; + margin: 0.75em 0 0; +} +.content h5 { + font-size: 17.6px; + font-size: 1.1rem; + line-height: 31.68px; + line-height: 1.98rem; + font-weight: 500; + margin: 0.75em 0 0; +} +.content hr { + border: 0; + border-top: 4px solid #D9D9D9; + margin: 1.5em 0; +} +.content input[type="text"] { + height: 1.8em; + line-height: 1.8em; +} +.content input[type="button"] { + -webkit-appearance: button; + -moz-appearance: button; + appearance: button; +} +.content kbd { + font-size: 12px; + font-size: 0.75rem; + line-height: 21.6px; + line-height: 1.35rem; + font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; + padding: 2px 6px; + -webkit-box-shadow: 0 0 4px #fff inset, 0 2px 0 #D9D9D9; + -moz-box-shadow: 0 0 4px #fff inset, 0 2px 0 #D9D9D9; + box-shadow: 0 0 4px #fff inset, 0 2px 0 #D9D9D9; +} +.content p img { + vertical-align: middle; +} +.content p pre { + padding: 1.5em; +} +.content pre { + padding: 0; + border: 0; + tab-size: 4; + -o-tab-size: 4; + -moz-tab-size: 4; +} +.content pre, +.content code { + font-size: 11.89px; + font-size: 0.743rem; + line-height: 21.4px; + line-height: 1.34rem; + font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif; +} +.content pre a, +.content code a { + border: 0; +} +.content pre code { + padding: 0.75em; + display: block; +} +.content strong { + color: #000; +} +.content ul ul, +.content ol ul, +.content ul ol, +.content ol ol { + margin: 0.75em 0; +} +.content ul li, +.content ol li { + font-size: 14px; + font-size: 0.875rem; + line-height: 30.24px; + line-height: 1.89rem; +} +.content textarea:not([class^="cke"]) { + width: 100%; +} +.content div.todo { + border: 2px dotted #444; + padding: 10px; + margin: 60px 0 10px 0; + /* Remove me some day */ +} +.content div.todo:before { + content: "TODO"; + font-weight: bold; +} +body a.button-a, +body button.button-a, +body input.button-a { + -webkit-border-radius: 3px; + -webkit-background-clip: padding-box; + -moz-border-radius: 3px; + -moz-background-clip: padding; + border-radius: 3px; + background-clip: padding-box; + font-size: 14px; + font-size: 0.875rem; + line-height: 25.2px; + line-height: 1.57rem; + height: 36px; + line-height: 36px; + padding: 0 1.1em; + font-weight: 700; + color: #3e3e3e; + white-space: nowrap; + text-decoration: none; + display: inline-block; + cursor: pointer; + border: 0; + vertical-align: middle; + margin: 1px 0; + background: transparent; +} +body a.button-a.icon-pos-left, +body button.button-a.icon-pos-left, +body input.button-a.icon-pos-left { + padding-left: .8em; +} +body a.button-a.icon-pos-right, +body button.button-a.icon-pos-right, +body input.button-a.icon-pos-right { + padding-right: .8em; +} +body a.button-a.button-a-no-text, +body button.button-a.button-a-no-text, +body input.button-a.button-a-no-text { + -webkit-border-radius: 100px; + -webkit-background-clip: padding-box; + -moz-border-radius: 100px; + -moz-background-clip: padding; + border-radius: 100px; + background-clip: padding-box; + width: 36px; + padding: 0; + text-indent: -999px; + overflow: hidden; + position: relative; + text-align: center; +} +body a.button-a.button-a-no-text:before, +body button.button-a.button-a-no-text:before, +body input.button-a.button-a-no-text:before { + position: absolute; + left: 50%; + top: 50%; + margin: -9px 0 0 -9px; +} +@media (max-width: 900px) { + body a.button-a.button-a-mobile-collapsed, + body button.button-a.button-a-mobile-collapsed, + body input.button-a.button-a-mobile-collapsed { + -webkit-border-radius: 100px; + -webkit-background-clip: padding-box; + -moz-border-radius: 100px; + -moz-background-clip: padding; + border-radius: 100px; + background-clip: padding-box; + width: 36px; + padding: 0; + text-indent: -999px; + overflow: hidden; + position: relative; + text-align: center; + } + body a.button-a.button-a-mobile-collapsed:before, + body button.button-a.button-a-mobile-collapsed:before, + body input.button-a.button-a-mobile-collapsed:before { + position: absolute; + left: 50%; + top: 50%; + margin: -9px 0 0 -9px; + } + body a.button-a.button-a-mobile-collapsed:before, + body button.button-a.button-a-mobile-collapsed:before, + body input.button-a.button-a-mobile-collapsed:before { + position: absolute; + left: 50%; + top: 50%; + margin: -9px 0 0 -9px; + } +} +body a.button-a:active, +body button.button-a:active, +body input.button-a:active, +body a.button-a:hover, +body button.button-a:hover, +body input.button-a:hover { + color: #fff; + background: #0277b7; +} +body a.button-a:focus, +body button.button-a:focus, +body input.button-a:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px #93c6ef; + -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px #93c6ef; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px #93c6ef; +} +body a.button-a-soft, +body button.button-a-soft, +body input.button-a-soft { + background: #e7e7e7; +} +body a.button-a-soft:active, +body button.button-a-soft:active, +body input.button-a-soft:active, +body a.button-a-soft:hover, +body button.button-a-soft:hover, +body input.button-a-soft:hover { + color: #3e3e3e; + background: #cecece; +} +body a.button-a-background, +body button.button-a-background, +body input.button-a-background, +body a.navigation-b ul li a:hover, +body button.navigation-b ul li a:hover, +body input.navigation-b ul li a:hover { + color: #fff; + background: #0287D0; +} +body a.button-a-background:active, +body button.button-a-background:active, +body input.button-a-background:active, +body a.button-a-background:hover, +body button.button-a-background:hover, +body input.button-a-background:hover, +body a.navigation-b ul li a:hover:active, +body button.navigation-b ul li a:hover:active, +body input.navigation-b ul li a:hover:active, +body a.navigation-b ul li a:hover:hover, +body button.navigation-b ul li a:hover:hover, +body input.navigation-b ul li a:hover:hover { + color: #fff; + background: #0277b7; +} +.balloon-a { + font-size: 12px; + font-size: 0.75rem; + line-height: 21.6px; + line-height: 1.35rem; + -webkit-border-radius: 3px; + -webkit-background-clip: padding-box; + -moz-border-radius: 3px; + -moz-background-clip: padding; + border-radius: 3px; + background-clip: padding-box; + border-bottom: 3px solid #d4d4d4; + background: #ebebeb; + display: inline-block; + white-space: nowrap; + padding: .4em 1.2em .2em; + font-weight: 700; + position: relative; + z-index: 1000; + text-transform: none; + color: #575757; +} +.balloon-a:hover { + color: #575757; +} +.balloon-a:before { + content: ''; + width: 0; + height: 0; + border-style: solid; + position: absolute; +} +.balloon-a-ne:before, +.balloon-a-nw:before { + top: -13px; + border-width: 0 9px 15.6px 9px; + border-color: transparent transparent #ebebeb transparent; +} +.balloon-a-se:before, +.balloon-a-sw:before { + bottom: -13px; + border-width: 15.6px 9px 0 9px; + border-color: #ebebeb transparent transparent transparent; +} +.balloon-a-nw:before, +.balloon-a-sw:before { + left: 20px; +} +.balloon-a-ne:before, +.balloon-a-se:before { + right: 20px; +} +.icon-pos-left:before, +.icon-pos-right:after { + content: ''; + display: inline-block; + width: 18px; + height: 18px; + vertical-align: middle; + background-repeat: no-repeat; +} +.icon-pos-left:before { + margin-right: 10px; +} +.icon-pos-right:after { + margin-left: 10px; +} +.icon-download:before, +.icon-download:after { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAQFJREFUOBGtVDESgjAQBGfobHwE/AIa/AN/8EEWfMWGZ+gDaG2ws8BdyY13SRgGcGducre3WQ5NSJIIxnGsES3ijhhcMCdXR7ZYCqIc0SGWQE1ud7sKjRLxXHJQfWpLYwaCk6wxET/u+U2GIngd8yRViINau28bBH/YAGqvSQPhRNQHqBqj3FY0NKq27TW7qhSTDaCOhkaRAj7Hmm8S4V+c6C+gUa+crsizuWmoc70MKbWCnqPy2GvcUJxE4a/sIajRaGkU+/sf4IuISQGePR/T/QMbHEhwPLVnMWPuOCwGnWg41dwVeaN3ccHch70idIRi/6WV0WC2/zMiZm661R+2DxyEdjTuST3mAAAAAElFTkSuQmCC"); +} +.icon-question-mark:before, +.icon-question-mark:after { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAUhJREFUOBGllLFOAkEQhjk0WthT2JFA7Czsqc7OxFLewEeAZ/AVbO0tTLTSBKhstTBUNkYLEoVAbD2//zILe5e9uwCT/JnZmX/+m83ebq0WsCRJYnANxmBhUKxcHGjJpiC1wQBUmTjtbLetKHTAT5WCVxe3kxEjoUmKRL6pvYEZyJt6VpOxCG3nmfyx+yJxBM7BFPg2SDlkTv2sxZqi4YnUvfgswI9FuHAkzz9EUTTRmqYeTifXsvoj/s9i57oi6ljz9kviFdyBCbgHe+rCn4C8jVXQ18rshuKOiTSIXwLkRZWQTurARJrE7wERpea7kD7BkcgB+yB3CFGlPmgqCNiXhEagSGif2qU1Ln8FW/tupK3pXhXZrWNDuCoikY/rHPMT5KFr2MAPTSM90rIrUjJIeq1WV0RTwN7+0rrtILb9M+LEbLq1H7Z/Ea3+RvBddl0AAAAASUVORK5CYII="); +} +.icon-close:before, +.icon-close:after { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAUlJREFUOBGllDFuwzAMRe3Cd+jYKUCzd/XkDtm9dsoVOuUqBnqBoodwgBwiW8ZsXTIWqPu+Iia0LMAoTOBbJEV+UZTkosjIMAwN6MARXCKky9dkUsYuglagB3OimNU4O1pM1OB7jsHNK7YekeFQJZ5kj/0LcnLA+RMnlHOvDMNv5wO7BFuQkn3hq0ALjKwPVeF4BSaqpLRy0T1ZIHFz75bE2BR8dBImqmBrwRplg09QmR/9GZyBSadAHauXCZkRROKURLlHEemepJIlIyhHotzLg1/N6erTxtmmvqA8muHGIbc1rTBqrEuwnqWnGbbmmz0hwaHtvM2QhWbrXZnosvnTWWPrdCY9w7cDJtf3h9VHjy5Zq9UZ08beyJh7Aicg6W/VYvgnIjJdNn9PMIOITJWcgnV9VvcnEitY/mitNFZZ/hsxsljdv39sfybRQ4R/kU0MAAAAAElFTkSuQmCC"); +} +.ie8 .switch > * { + vertical-align: middle; +} +.ie8 .switch input[type="radio"] { + margin: 0 0.25em; + display: inline-block; +} +.ie8 .switch label { + margin-left: 0 !important; + margin-right: 0 !important; +} +.ie8 .switch label[data-for="1"] { + float: left; +} +.ie8 .switch label[data-for="2"] { + float: right; +} +.ie8 .switch .switch-inner { + display: none; +} +.switch { + font-size: 14px; + font-size: 0.875rem; + line-height: 25.2px; + line-height: 1.57rem; + font-weight: bold; + background-color: #0287D0; + overflow: hidden; + display: inline-block; + padding: 0.75em 0.25em; + color: #fff; + -webkit-border-radius: 3px; + -webkit-background-clip: padding-box; + -moz-border-radius: 3px; + -moz-background-clip: padding; + border-radius: 3px; + background-clip: padding-box; + position: relative; +} +.switch input[type="radio"] { + display: none; +} +.switch label { + position: relative; + z-index: 2; + float: left; + cursor: pointer; + padding: 0 0.75em; +} +.switch label:hover { + text-decoration: underline; +} +.switch .switch-inner { + float: left; + background-color: #FFF; + height: 1.5em; + width: 4.125em; + padding: 2px; + margin: 0 0.25em; + -webkit-border-radius: 5.5px; + -webkit-background-clip: padding-box; + -moz-border-radius: 5.5px; + -moz-background-clip: padding; + border-radius: 5.5px; + background-clip: padding-box; +} +.switch .switch-inner .handler { + overflow: hidden; + position: relative; + display: block; + height: 1.5em; + width: 1.5em; + background: #027dc1; + -webkit-border-radius: 4.5px; + -webkit-background-clip: padding-box; + -moz-border-radius: 4.5px; + -moz-background-clip: padding; + border-radius: 4.5px; + background-clip: padding-box; +} +.switch .switch-inner .handler:before { + content: ''; + display: block; + position: absolute; + top: 0; + right: 0; + bottom: 3px; + left: 0; + background-color: #0291df; + -webkit-border-bottom-left-radius: 4.5px; + -moz-border-radius-bottomleft: 4.5px; + border-bottom-left-radius: 4.5px; + -webkit-border-bottom-right-radius: 4.5px; + -webkit-background-clip: padding-box; + -moz-border-radius-bottomright: 4.5px; + -moz-background-clip: padding; + border-bottom-right-radius: 4.5px; + background-clip: padding-box; +} +.switch:hover .switch-inner .handler:before { + background: #029ef3; +} +.switch input[data-num="2"]:checked ~ .switch-inner > .handler { + margin-left: auto; +} +.switch input[data-num="2"]:checked ~ label[data-for="1"] { + padding-right: 5.125em; + margin-right: -4.375em; +} +.switch input[data-num="1"]:checked ~ label[data-for="2"] { + padding-left: 5.125em; + margin-left: -4.375em; +} +.toggler { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.toggler label { + cursor: pointer; +} +.toggler [data-collapse] { + display: inherit; +} +.toggler [data-expand] { + display: none; +} +.toggler.collapsed [data-collapse] { + display: none; +} +.toggler.collapsed [data-expand] { + display: inherit; +} +.toggler-container { + overflow: hidden; +} +.toggler-container.collapsed { + height: 0; +} +.icon-toggler-expanded:before, +.icon-toggler-collapsed:before, +.icon-toggler-expanded:after, +.icon-toggler-collapsed:after { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAByCAYAAABeOoENAAAAAXNSR0IArs4c6QAAAbxJREFUaAXtmT1KBEEQhRdFQdBEMfQEBoaGopl3MfECXsFERLyBh/AUIuwJDEUQM//eB11Dz1A1uzotGFTBY2rr58306+kNpmazP7Z98V8Kj8JrAT4xcgttXRVXwofwFYAcNdS6RuJegOBTuBUOhc0CfGLkqKHWJeMuFDwJJ0Jk5Kihlp6esW4embuNkVgTNdTS09MMEbkDj76sUUsPvZ2xIwTRATsQuBuxGsTIYdSSo7cztpggwprdyKlJ8ImZUUuM3s48ol1lXwQjwydm5hINl2bF53KMCL82d2mR2GvqnBfg1+aKPbb9p+oGtYXbT1GTFxKiZkfEyHgy7x0y0clR454zSGpDMzaA3fzV30hNln4qkAqkAqlAKpAKpAKpQCqQCqQCqUAqkAqkAqlAKpAKpAKpQCrw3xWY/GGcz++TP9U3Gx40GWdEAxabXA33NBywRCOfdzFcCztDJv12Rz7REMpmIc9qPBNWK0J3COWNxegxIrs+KHZcyHpjsZUSXPaypcLtseJFS3tT84WwUZG4S4vEZkl3wl5FYK4rdrT9R9Y1uIbbT12TFxKiZkfEyCYfWojMJv+NGNGPr99GI9DP7P9TCgAAAABJRU5ErkJggg=="); +} +.icon-toggler-expanded.icon-light:before, +.icon-toggler-collapsed.icon-light:before, +.icon-toggler-expanded.icon-light:after, +.icon-toggler-collapsed.icon-light:after { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAByCAYAAABeOoENAAAAAXNSR0IArs4c6QAAAcVJREFUaAXtmT9KA1EQxhMlASE2SkpPkCJlStHOu3gGwRPYBAm5gYfwFBKwtrARRAh26vr7ljfx7TrLChtBcAa+zOSbPy/7vcTC6fV+04qimIArsALrBMXiJq1nUzQEc/AOmkw51QzdgUqAWyD7AEswA6MExeKUk6n2+zBInSJ7BKfuaZDKpRpcMa/UQUgTfWSd1jjEmlSTatXzpRlvJKJsacVtXrVlB72bWgjdiGwmEj8FOq1u4qapRprJVvkgXbFsZCTxomSqL4ssr0uQrY3TJ/AGjeFfVJlM8diaiCuDdlLiIfmNcP1+/wnu0hoVJ84oq7XeUhNXbE4dgPuEgU2Qh3PFbrx+Gs6E2hD/+tMJ3b+QadB2fiLZsG4/2poG3f6M5MMiDgVCgVAgFAgFQoFQIBQIBUKBUCAUCAVCgVAgFAgFQoFQIBQIBf66AiwLuv1jnAH/Zb/Go5abq/qdwvsLFhJNK583ctfg0Bnmrnwq+zVrYoDZM8E52M1yP9uvqcGmZP6O+CTl3LWYHdTm9yk4aCzilLZHe6XmAuzZEGL30ZrEpr64AUc2wDycK7a7X6P42BpzD+9fv4pIxn4tWznnwm0r/gQpiG1tFshTowAAAABJRU5ErkJggg=="); +} +.icon-toggler-expanded:before, +.icon-toggler-expanded:after { + background-position: top left; +} +.icon-toggler-collapsed:before, +.icon-toggler-collapsed:after { + background-position: bottom left; +} +.modal { + padding: 20px; + border-radius: 3px; + background-color: white; + max-width: 700px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + width: 80% !important; + top: 50% !important; + -webkit-transform: translate(-50%, -50%) !important; + -moz-transform: translate(-50%, -50%) !important; + -ms-transform: translate(-50%, -50%) !important; + -o-transform: translate(-50%, -50%) !important; + transform: translate(-50%, -50%) !important; +} +.modal-close { + -webkit-border-radius: 100px; + -webkit-background-clip: padding-box; + -moz-border-radius: 100px; + -moz-background-clip: padding; + border-radius: 100px; + background-clip: padding-box; + cursor: pointer; + height: 18px; + width: 18px; + position: absolute; + top: 10px; + right: 10px; + font-size: 17px; + text-align: center; + line-height: 19px; + background: #cccccc; +} +main .grid-container, +header .grid-container, +.navigation-a > div, +footer > div { + max-width: 968px; +} +.header-a { + margin-top: 30px; +} +.footer-a { + border-top: 1px solid #D9D9D9; +} +.adjoined-top { + background-color: #0287D0; + color: #fff; +} +.adjoined-top .content h1, +.adjoined-top .content h2, +.adjoined-top .content h3, +.adjoined-top .content h4, +.adjoined-top .content h5 { + color: #fff; +} +.adjoined-top .content p { + font-size: 18px; + font-size: 1.125rem; + line-height: 32.4px; + line-height: 2.02rem; + font-weight: 100; +} +.adjoined-top .content p a { + text-decoration: none; + border-bottom: 1px dotted #fff; + color: inherit; +} +.adjoined-top .content p a:hover { + color: #e6e6e6; +} +.adjoined-top .content button { + color: #fff; +} +.adjoined-top .content strong { + color: #fff; +} +.adjoined-top .content code { + font-size: inherit; + color: #0287D0; +} +.adjoined-bottom { + position: relative; +} +.adjoined-bottom:before { + z-index: -1; + content: ''; + background: #0287D0; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 50%; +} +main .grid-container, +header .grid-container, +.navigation-a > div, +footer > div { + max-width: 1052px; +} +main .grid-container.freed-width { + max-width: none; +} +.switch { + background: #027dc1; + float: right; + overflow: visible; +} +.switch .balloon-a { + position: absolute; + top: -40px; + right: 50%; + margin-right: -15px; + background: #FFEFC1; + border-bottom-color: #DCDCA4; +} +.switch .balloon-a:before { + border-color: #FFEFC1 transparent transparent transparent; +} +#toolbar .editors-container { + overflow: hidden; + height: 0; + transition: height 200ms; +} +#toolbar .editors-container.active { + height: auto; +} +#main #editor { + background: #FFF; + padding: 2% 4%; + border: dashed 5px #0287D0; +} +#main .adjoined-top:before { + height: 335px; +} +#toolbar .adjoined-top:before { + height: 219px; +} +#toolbar .adjoined-top .grid-container-nested { + height: 147px; +} +.content .grid-switch-magic { + margin: 3.5em 0 0; +} +#info-box { + padding-bottom: 0; +} +#info-box > div { + width: 100%; + text-align: right; +} +#info-box > div .toggler { + padding-right: 0; +} +#info-box > div .toggler:hover { + background: transparent; + color: #000; +} +#info-box > div .toggler:hover > label { + text-decoration: underline; +} +#info-box > div h2 { + float: left; + margin-top: 0; +} +#info-box > div#instructions-container { + text-align: left; +} +#toolbarModifierWrapper { + overflow: hidden; + height: 0; + opacity: 0; + transition: height 200ms; +} +#toolbarModifierWrapper.active { + height: auto; + opacity: 1; +} +header { + overflow: visible; +} +header div.grid-container { + overflow: visible; +} +header .navigation-b { + overflow: visible; +} +header .navigation-b ul { + overflow: visible; +} +header .navigation-b a { + position: relative; +} +header .balloon-a { + position: absolute; + top: 48px; + left: 50%; + margin-left: -35px; +} +@media (max-width: 1140px) { + header .balloon-a { + left: auto; + margin-left: auto; + right: 50%; + margin-right: -35px; + } + header .balloon-a:before { + left: auto; + right: 22px; + } +} +@media (max-width: 900px) { + header .balloon-a { + display: none; + } +} +header .header-a-logo img { + width: 160px; + height: 60px; +} + +#toolbar .cke_toolbar { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: default; +} +.some-toolbar-active .cke_toolbar { + zoom: 1; + filter: alpha(opacity=50); + -webkit-opacity: 0.5; + -moz-opacity: 0.5; + opacity: 0.5; +} +.cke_toolbar.active { + position: relative; + zoom: 1; + filter: alpha(opacity=100); + -webkit-opacity: 1; + -moz-opacity: 1; + opacity: 1; +} +.cke_toolbar.active:after { + content: ''; + display: block; + position: absolute; + top: 0; + right: 6px; + bottom: 5px; + left: 0; + -webkit-border-radius: 5px; + -webkit-background-clip: padding-box; + -moz-border-radius: 5px; + -moz-background-clip: padding; + border-radius: 5px; + background-clip: padding-box; + -webkit-box-shadow: 0px 0px 15px 3px #fff4b0; + -moz-box-shadow: 0px 0px 15px 3px #fff4b0; + box-shadow: 0px 0px 15px 3px #fff4b0; +} +.cke_toolbar.active .cke_toolgroup { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + border-color: #e3c300; +} +.cke_toolbar.active .cke_combo, +.cke_toolbar.active .cke_toolgroup { + position: relative; + z-index: 2; +} +.cke_toolbar.active .cke_combo_button { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.unselectable { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.toolbar { + padding: 5px 0; + margin-bottom: 2.4em; + overflow: hidden; + background: #fff; +} +.toolbar button.button-a.cke_button { + cursor: pointer; + display: inline-block; + padding: 4px 6px; + outline: 0; + border: 1px solid #a6a6a6; +} +.toolbar button.button-a.hidden { + display: none; +} +.toolbar button.button-a.left { + float: left; + margin-right: 8px; +} +.toolbar button.button-a.right { + float: right; + margin-left: 8px; +} +.toolbar button.button-a .highlight { + color: #ffefc1; +} +.configContainer.hidden, +.toolbarModifier.hidden, +.toolbarModifier-hints.hidden { + display: none; +} +.toolbarModifier :focus, +.toolbar button:focus, +.configContainer textarea.configCode:focus { + outline: none; +} +div.toolbarModifier { + padding: 0; + overflow: hidden; + width: 100%; + position: relative; + display: table; + border-collapse: collapse; +} +div.toolbarModifier ::-moz-focus-inner { + border: 0; +} +div.toolbarModifier .empty { + display: none; +} +div.toolbarModifier.empty-visible .empty { + display: table-row; + zoom: 1; + filter: alpha(opacity=60); + -webkit-opacity: 0.6; + -moz-opacity: 0.6; + opacity: 0.6; +} +div.toolbarModifier .empty > p { + line-height: 31px; +} +div.toolbarModifier > ul { + padding: 0; + margin: 0; + border-top: 1px solid #ccc; + width: 100%; +} +div.toolbarModifier > ul[data-type="table-header"] { + display: table-header-group; +} +div.toolbarModifier > ul[data-type="table-body"] { + display: table-row-group; +} +div.toolbarModifier > ul p { + padding: 0; + margin: 0; +} +div.toolbarModifier > ul > li { + display: table-row; +} +div.toolbarModifier > ul > li[data-type="header"] { + font-weight: bold; + user-select: none; + cursor: default; +} +div.toolbarModifier > ul > li[data-type="group"], +div.toolbarModifier > ul > li[data-type="separator"] { + border-bottom: 1px solid #ccc; +} +div.toolbarModifier > ul > li[data-type="subgroup"] { + border-top: 1px solid #eee; +} +div.toolbarModifier > ul > li[data-type="subgroup"]:first-child { + border-top: none; +} +div.toolbarModifier > ul > li[data-type="group"].active, +div.toolbarModifier > ul > li[data-type="group"]:hover, +div.toolbarModifier > ul > li[data-type="separator"].active, +div.toolbarModifier > ul > li[data-type="separator"]:hover { + overflow: hidden; + z-index: 2; +} +div.toolbarModifier > ul > li[data-type="group"].active, +div.toolbarModifier > ul > li[data-type="separator"].active, +div.toolbarModifier > ul > li[data-type="group"].active:hover, +div.toolbarModifier > ul > li[data-type="separator"].active:hover { + background: #f0fafb; +} +div.toolbarModifier > ul > li[data-type="group"]:hover, +div.toolbarModifier > ul > li[data-type="separator"]:hover { + background: #fffbe3; +} +div.toolbarModifier > ul > li[data-type="separator"] { + background: #f5f5f5; +} +div.toolbarModifier > ul > li[data-type="separator"]:after { + content: ''; + width: 100%; +} +div.toolbarModifier > ul > li[data-type="separator"] > p { + padding: 2px 5px; +} +div.toolbarModifier > ul > li > p, +div.toolbarModifier > ul > li > ul { + display: table-cell; + vertical-align: middle; +} +div.toolbarModifier > ul > li p { + padding-left: 5px; + min-width: 200px; +} +div.toolbarModifier > ul > li p span { + white-space: nowrap; + cursor: default; +} +div.toolbarModifier > ul > li p span button { + font-size: 12.666px; + margin-right: 5px; + cursor: pointer; + background: #fff; + -webkit-border-radius: 5px; + -webkit-background-clip: padding-box; + -moz-border-radius: 5px; + -moz-background-clip: padding; + border-radius: 5px; + background-clip: padding-box; + border: 1px solid #bbb; + padding: 0 7px; + line-height: 12px; + height: 20px; +} +div.toolbarModifier > ul > li p span button:not(.disabled):hover, +div.toolbarModifier > ul > li p span button:not(.disabled):focus { + color: #fff; + background-color: #454545; + border-color: transparent; +} +div.toolbarModifier > ul > li p span button.move.disabled { + cursor: default; + zoom: 1; + filter: alpha(opacity=20); + -webkit-opacity: 0.2; + -moz-opacity: 0.2; + opacity: 0.2; +} +div.toolbarModifier > ul > li ul { + border-collapse: collapse; + padding: 0; + width: 100%; +} +div.toolbarModifier > ul > li ul li { + display: table-row; + list-style-type: none; + line-height: 1; +} +div.toolbarModifier > ul > li ul li[data-type="subgroup"] { + border-top: 1px solid #ddd; +} +div.toolbarModifier > ul > li ul li[data-type="subgroup"]:first-child { + border-top: 0; +} +div.toolbarModifier > ul > li ul li[data-type="subgroup"] [data-type="button"] { + -webkit-border-radius: 3px; + -webkit-background-clip: padding-box; + -moz-border-radius: 3px; + -moz-background-clip: padding; + border-radius: 3px; + background-clip: padding-box; + padding: 0 2px; +} +div.toolbarModifier > ul > li ul li[data-type="subgroup"] [data-type="button"]:focus { + background: rgba(0, 0, 0, 0.04); +} +div.toolbarModifier > ul > li ul li[data-type="subgroup"] [data-type="button"] input { + vertical-align: middle; +} +div.toolbarModifier > ul > li ul li > p, +div.toolbarModifier > ul > li ul li > ul { + display: table-cell; + vertical-align: middle; +} +div.toolbarModifier > ul > li ul li ul { + padding: 0; +} +div.toolbarModifier > ul > li ul li ul li { + padding: 0; + display: inline-block; + cursor: pointer; + margin: 2px 5px 2px 0; +} +div.toolbarModifier > ul > li ul li ul li .cke_combo_text { + cursor: pointer; + white-space: nowrap; +} +div.toolbarModifier > ul > li ul li ul li .cke_toolgroup, +div.toolbarModifier > ul > li ul li ul li .cke_combo_button { + cursor: pointer; + margin: 0; + vertical-align: middle; + border: 1px solid #ddd; + font-size: 11.41px; + font-size: 0.713rem; + line-height: 20.54px; + line-height: 1.28rem; +} +div.toolbarModifier > .codemirror-wrapper { + overflow-y: auto; +} +div.toolbarModifier-hints { + float: right; + width: 350px; + min-width: 150px; + overflow-y: auto; + margin-left: 1.5em; +} +div.toolbarModifier-hints h3 { + font-size: 18.08px; + font-size: 1.13rem; + line-height: 32.54px; + line-height: 2.03rem; + padding: 0.36em 1.5em; + background: #f5f5f5; + border-bottom: 1px solid #ddd; + margin-top: 0; + margin-bottom: 1.2em; +} +div.toolbarModifier-hints dl { + margin-bottom: 1.2em; + overflow: hidden; +} +div.toolbarModifier-hints dl .list-header { + font-weight: bold; + border: 0; + padding-bottom: 0.6em; +} +div.toolbarModifier-hints dl > p { + text-align: center; +} +div.toolbarModifier-hints dl dt { + float: left; + width: 9em; + clear: both; + text-align: right; + border-top: 1px solid #ddd; + padding-left: 1.5em; + padding-right: .1em; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +div.toolbarModifier-hints dl dt code { + background: none; + border: none; + vertical-align: middle; +} +div.toolbarModifier-hints dl dd { + margin-left: 10em; + clear: right; + padding-right: 1.5em; +} +div.toolbarModifier-hints dl dd code { + line-height: 2.2em; +} +div.toolbarModifier-hints dl dd:after { + content: '\00a0'; + display: block; + clear: left; + float: right; + height: 0; + width: 0; +} +.toolbarModifier-hints, +.configContainer textarea.configCode, +.CodeMirror { + -webkit-border-radius: 3px; + -webkit-background-clip: padding-box; + -moz-border-radius: 3px; + -moz-background-clip: padding; + border-radius: 3px; + background-clip: padding-box; + border: 1px solid #ccc; + font-size: 13.01px; + font-size: 0.813rem; + line-height: 23.42px; + line-height: 1.46rem; +} +.configContainer textarea.configCode, +.CodeMirror pre, +.CodeMirror-linenumber { + font-size: 13.01px; + font-size: 0.813rem; + line-height: 23.42px; + line-height: 1.46rem; + font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif; +} +.CodeMirror pre { + border: none; + padding: 0; + margin: 0; +} +.configContainer textarea.configCode { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + color: #575757; + padding: 10px; + width: 100%; + min-height: 500px; + margin: 0; + resize: none; + outline: none; + -moz-tab-size: 4; + tab-size: 4; + white-space: pre; + word-wrap: normal; + overflow: auto; +} +.CodeMirror-hints.toolbar-modifier { + padding: 0; + color: #575757; + font-size: 14px; + font-size: 0.875rem; + line-height: 25.2px; + line-height: 1.57rem; + font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif; +} +.CodeMirror-hints.toolbar-modifier .CodeMirror-hint-active { + color: #575757; + background: #f0fafb; +} +.CodeMirror-hints.toolbar-modifier > li:hover { + background: #fffbe3; +} +/* Text modifier */ +#toolbarModifierWrapper { + margin-bottom: 1.2em; +} +#toolbarModifierWrapper .invalid .CodeMirror { + background: #fff8f8; + border-color: red; +} +#toolbarModifierWrapper .CodeMirror { + height: auto; + padding: 0 0.6em; +} +.staticContainer { + position: fixed; + top: 0; + width: 100%; + z-index: 10; +} +.staticContainer > .grid-container { + max-width: 1052px; +} +.staticContainer > .grid-container .inner { + background: #fff; +} +.staticContainer > .grid-container .inner .toolbar { + margin-bottom: 0; +} +#help { + position: relative; + top: -15px; + left: -5px; +} +#help-content { + display: none; +} +/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9ja3NvdXJjZS1zYW1wbGVzLWZyYW1ld29yay9jb21wb25lbnRzL2dsb2JhbC9nbG9iYWwubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ja3NvdXJjZS1zYW1wbGVzLWZyYW1ld29yay9jb21wb25lbnRzL2NvcmUvY29yZS5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nrc291cmNlLXNhbXBsZXMtZnJhbWV3b3JrL2NvbXBvbmVudHMvZ3JpZC9ncmlkLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbGVzc2hhdC9sZXNzaGF0Lmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY2tzb3VyY2Utc2FtcGxlcy1mcmFtZXdvcmsvY29tcG9uZW50cy9oZWFkZXItYS9oZWFkZXItYS5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nrc291cmNlLXNhbXBsZXMtZnJhbWV3b3JrL2NvbXBvbmVudHMvbmF2aWdhdGlvbi1hL25hdmlnYXRpb24tYS5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nrc291cmNlLXNhbXBsZXMtZnJhbWV3b3JrL2NvbXBvbmVudHMvbmF2aWdhdGlvbi1iL25hdmlnYXRpb24tYi5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nrc291cmNlLXNhbXBsZXMtZnJhbWV3b3JrL2NvbXBvbmVudHMvZm9vdGVyLWEvZm9vdGVyLWEubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ja3NvdXJjZS1zYW1wbGVzLWZyYW1ld29yay9jb21wb25lbnRzL2NvbnRlbnQvY29udGVudC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nrc291cmNlLXNhbXBsZXMtZnJhbWV3b3JrL2NvbXBvbmVudHMvYnV0dG9uLWEvYnV0dG9uLWEubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ja3NvdXJjZS1zYW1wbGVzLWZyYW1ld29yay9jb21wb25lbnRzL2JhbGxvb24tYS9iYWxsb29uLWEubGVzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ja3NvdXJjZS1zYW1wbGVzLWZyYW1ld29yay9jb21wb25lbnRzL2ljb24vaWNvbi5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nrc291cmNlLXNhbXBsZXMtZnJhbWV3b3JrL2NvbXBvbmVudHMvc3dpdGNoL3N3aXRjaC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nrc291cmNlLXNhbXBsZXMtZnJhbWV3b3JrL2NvbXBvbmVudHMvdG9nZ2xlci90b2dnbGVyLmxlc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvY2tzb3VyY2Utc2FtcGxlcy1mcmFtZXdvcmsvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nrc291cmNlLXNhbXBsZXMtZnJhbWV3b3JrL2NvbXBvbmVudHMvYmFzaWNzYW1wbGUvY29yZS5sZXNzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Nrc291cmNlLXNhbXBsZXMtZnJhbWV3b3JrL2NvbXBvbmVudHMvYmFzaWNzYW1wbGUvYWRqb2luZWQubGVzcyIsIi4uLy4uL3NhbXBsZXMvbGVzcy9jdXN0b20ubGVzcyIsIi4uLy4uL3NhbXBsZXMvdG9vbGJhcmNvbmZpZ3VyYXRvci9sZXNzL3Rvb2xiYXJtb2RpZmllci5sZXNzIiwiLi4vLi4vc2FtcGxlcy90b29sYmFyY29uZmlndXJhdG9yL2xlc3MvYmFzZS5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFtREMsUUFBZ0M7RUF5Q2hDO0lBQ0Msd0JBQUE7OztBQzFGRjtBQUFTO0FBQU87QUFBUztBQUFZO0FBQVE7QUFBUTtBQUFRO0FBQVE7QUFBTTtBQUFNO0FBQUs7RUFDckYsY0FBQTs7QUFHRDtBQUFNO0VBQ0wsU0FBQTtFQUNBLFVBQUE7RUFDQSx3QkROK0IsdUNDTS9CO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBOztBQ0hBLFlBQVk7RUFDWCxVQUFBOztBQURELFlBQVk7RUFDWCxVQUFBOztBQURELFlBQVk7RUFDWCxVQUFBOztBQURELFlBQVk7RUFDWCxVQUFBOztBQURELFlBQVk7RUFDWCxVQUFBOztBQURELFlBQVk7RUFDWCxVQUFBOztBQURELFlBQVk7RUFDWCxVQUFBOztBQURELFlBQVk7RUFDWCxVQUFBOztBQURELFlBQVk7RUFDWCxVQUFBOztBQURELFlBQVk7RUFDWCxXQUFBOztBRnlDRCxRQUFnQztFRWpDaEM7RUFLQyxZQUFZO0VBQVosWUFBWTtFQUFaLFlBQVk7RUFBWixZQUFZO0VBQVosWUFBWTtFQUFaLFlBQVk7RUFBWixZQUFZO0VBQVosWUFBWTtFQUFaLFlBQVk7SUFKWixXQUFBOzs7QUFhRixDQUFDO0VDK1FDLDhCQUFBO0VBQ0EsMkJBQUE7RUFDQSxzQkFBQTtFRC9RRCxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EsV0FBQTs7QUFJQSxDQURBLHFCQUNDO0FBQUQsZUFBQztBQUFRLENBRFQscUJBQ1U7QUFBRCxlQUFDO0VBQ1QsU0FBUyxFQUFUO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBOztBQUtELENBREEscUJBQ0M7QUFBRCxlQUFDO0VBQ0EsV0FBQTs7QUFJRjtFQ3FQRSw4QkFBQTtFQUNBLDJCQUFBO0VBQ0Esc0JBQUE7RURyUEQsaUJBQUE7RUFDQSxrQkFBQTs7QUFLQyxzQkFERCxFQUFDLHFCQUNDO0VBQ0EsZUFBQTs7QUFHRCxzQkFMRCxFQUFDLHFCQUtDO0VBQ0EsZ0JBQUE7O0FGcEJGLFFBQWdDO0VFMEI5QixzQkFERCxFQUFDLHFCQUNDO0lBQ0EsZ0JBQUE7O0VBR0Qsc0JBTEQsRUFBQyxxQkFLQztJQUNBLGlCQUFBOzs7QUU3RUo7RUFDQyxpQkFBQTtFQUdBLGdCQUFBOztBQUpELFNBTUM7RUFDQyxnQkFBQTs7QUp1Q0QsUUFBZ0M7RUE2Q2pDLFNJckZDO0lBSUUsa0JBQUE7OztBQVZILFNBTUMsZUFPQztFQUNDLG1CQUFBOztBQ1ZIO0VBQ0MsWUFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLE1BQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7O0FMa0NBLFFBQWdDO0VBNkNqQztJSzVFRSxrQkFBQTs7O0FBWEYsYUFjQztFQUNDLGdCQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQUFBOztBQWpCRixhQWNDLEdBS0M7QUFuQkYsYUFjQyxHQUtLLEdBQUc7RUFDTixxQkFBQTs7QUxzQkYsUUFBZ0M7RUE2Q2pDLGFLekVDO0lBVUUsV0FBQTtJQUNBLHVCQUFBO0lBQ0EsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLFdBQUE7O0VBRUEsYUFoQkYsR0FnQkc7RUFBUyxhQWhCWixHQWdCYTtJQUNWLGFBQUE7OztBQUtELGFBdEJGLEdBcUJFLGFBQ0M7RUFDQSxnQkFBQTs7QUxLSCxRQUFnQztFQTZDakMsYUt6RUMsR0FxQkUsYUFDQztJQUlDLGdCQUFBOzs7QUFJRixhQTlCRixHQXFCRSxhQVNDO0VBQ0EsaUJBQUE7O0FMSEgsUUFBZ0M7RUE2Q2pDLGFLekVDLEdBcUJFLGFBU0M7SUFJQyxrQkFBQTs7O0FBTUYsYUF4Q0YsR0F1Q0MsR0FDRztFQUNELGlCQUFBOztBQXZESixhQWNDLEdBdUNDLEdBS0M7RUx4Q0YsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFS3VDRyxpQkFBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLHlCQUFBOztBQUVBLGFBckRILEdBdUNDLEdBS0MsRUFTRTtFQUNBLGVBQUE7RUFDQSxXQUFBOztBQVFKLHlCQUFDO0FBQVMseUJBQUM7RUFDVixzQkFBa0IscXJCQUFsQjs7QUNwRkY7RUFDQyxpQkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7O0FONkNBLFFBQWdDO0VBNkNqQztJTXZGRSxrQkFBQTtJQUNBLGdCQUFBO0lBR0EsVUFBQTs7O0FBVkYsYUFhQztFQUNDLFVBQUE7RUFDQSxnQkFBQTtFQUNBLFNBQUE7RUFDQSxpQkFBQTs7QUFqQkYsYUFhQyxHQU1DO0FBbkJGLGFBYUMsR0FNSyxHQUFHO0VBQ04scUJBQUE7O0FONEJGLFFBQWdDO0VBNkNqQyxhTWhGQztJQVdFLGNBQUE7SUFDQSxXQUFBO0lBQ0EscUJBQUE7OztBTnNCRixRQUFnQztFQTZDakMsYU1oRkMsR0FnQkM7SUFFRSxrQkFBQTs7O0FBR0QsYUFyQkYsR0FnQkMsR0FLRztFQUNELGlCQUFBOztBTmFILFFBQWdDO0VBNkNqQyxhTWhGQyxHQWdCQyxHQUtHO0lBSUEsY0FBQTs7O0FBdENMLGFBYUMsR0FnQkMsR0FhQztFSGtRRCw4QkFBQTtFQUNBLDJCQUFBO0VBQ0Esc0JBQUE7RUdsUUUseUJBQUE7RUFDQSxxQkFBQTtFQUNBLGFBQUE7O0FORUgsUUFBZ0M7RUE2Q2pDLGFNaEZDLEdBZ0JDLEdBYUM7SUFPRSxXQUFBO0lIK05ILHdCQUFBO0lBQWlDLG9DQUFBO0lBQ2pDLHFCQUFBO0lBQThCLDZCQUFBO0lBQzlCLGdCQUFBO0lBQXlCLDRCQUFBOzs7QUlsUjNCO0VQd0JDLGVBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RU94QkEsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTs7QUFORCxTUDRFQztFQUNDLGNBQUE7RUFDQSxxQkFBQTtFQUVBLGlDQUFBOztBQUVBLFNBTkQsRUFNRTtFQUNBLGNBQUE7O0FPbkZILFNBUUM7RUFDQyxTQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTs7QUNYRjtFUndCQyxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VRekJBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxxQkFBQTs7QUFKRCxRQVNDO0VBQ0MsZ0JBQUE7O0FBVkYsUUFhQztBQWJELFFBYUs7QUFiTCxRQWFTO0FBYlQsUUFhYztBQWJkLFFBYTBCLFNBQVEsSUFBSTtBQWJ0QyxRQWF3RDtFQUN0RCxpQkFBQTs7QUFkRixRQWlCQztBQWpCRCxRQWlCTztFTCtQTCwwQkFBQTtFQUFpQyxvQ0FBQTtFQUNqQyx1QkFBQTtFQUE4Qiw2QkFBQTtFQUM5QixrQkFBQTtFQUF5Qiw0QkFBQTtFSy9QekIsZ0JBQUE7O0FBbkJGLFFBc0JDO0FBdEJELFFBc0JNO0FBdEJOLFFBc0JZO0FBdEJaLFFBc0JpQjtFQUNmLG1CQUFBOztBQXZCRixRQTBCQztBQTFCRCxRQTBCYTtFQUNYLGdCQUFBO0VBQ0EsOEJBQUE7RUFDQSxxQkFBQTs7QUE3QkYsUUFvQ0MsRVJ3Q0E7QVE1RUQsUUFvQ0ksR1J3Q0g7QVE1RUQsUUFvQ1EsR1J3Q1A7QVE1RUQsUUFvQ1ksV1J3Q1g7QVE1RUQsUUFvQ3dCLEdSd0N2QjtBUTVFRCxRQW9DNEIsR1J3QzNCO0FRNUVELFFBb0NnQyxHUndDL0I7QVE1RUQsUUFvQ29DLEdSd0NuQztBUTVFRCxRQW9Dd0MsR1J3Q3ZDO0VBQ0MsY0FBQTtFQUNBLHFCQUFBO0VBRUEsaUNBQUE7O0FBRUEsUVE5Q0QsRVJ3Q0EsRUFNRTtBQUFELFFROUNFLEdSd0NILEVBTUU7QUFBRCxRUTlDTSxHUndDUCxFQU1FO0FBQUQsUVE5Q1UsV1J3Q1gsRUFNRTtBQUFELFFROUNzQixHUndDdkIsRUFNRTtBQUFELFFROUMwQixHUndDM0IsRUFNRTtBQUFELFFROUM4QixHUndDL0IsRUFNRTtBQUFELFFROUNrQyxHUndDbkMsRUFNRTtBQUFELFFROUNzQyxHUndDdkMsRUFNRTtFQUNBLGNBQUE7O0FRbkZILFFBd0NDO0FBeENELFFBd0NLO0FBeENMLFFBd0NTO0FBeENULFFBd0NhO0FBeENiLFFBd0NpQjtFQUNmLFdBQUE7RUFDQSxnQkFBQTs7QUExQ0YsUUF3Q0MsR0FLQztBQTdDRixRQXdDSyxHQUtIO0FBN0NGLFFBd0NTLEdBS1A7QUE3Q0YsUUF3Q2EsR0FLWDtBQTdDRixRQXdDaUIsR0FLZjtBQTdDRixRQXdDQyxHQUtPO0FBN0NSLFFBd0NLLEdBS0c7QUE3Q1IsUUF3Q1MsR0FLRDtBQTdDUixRQXdDYSxHQUtMO0FBN0NSLFFBd0NpQixHQUtUO0VBQ0wsa0JBQUE7O0FBOUNILFFBd0NDLEdBVUMsRUFBQztBQWxESCxRQXdDSyxHQVVILEVBQUM7QUFsREgsUUF3Q1MsR0FVUCxFQUFDO0FBbERILFFBd0NhLEdBVVgsRUFBQztBQWxESCxRQXdDaUIsR0FVZixFQUFDO0VBQ0EsZ0JBQUE7RUFDQSxzQkFBQTtFQUNBLFVBQUE7RUFDQSxTQUFBOztBQUdELFFBakJELEdBaUJFLE1BQ0EsRUFBQztBQURGLFFBakJHLEdBaUJGLE1BQ0EsRUFBQztBQURGLFFBakJPLEdBaUJOLE1BQ0EsRUFBQztBQURGLFFBakJXLEdBaUJWLE1BQ0EsRUFBQztBQURGLFFBakJlLEdBaUJkLE1BQ0EsRUFBQztFQUNBLFVBQUE7O0FBSUYsUUF2QkQsR0F1QkUsT0FDQTtBQURELFFBdkJHLEdBdUJGLE9BQ0E7QUFERCxRQXZCTyxHQXVCTixPQUNBO0FBREQsUUF2QlcsR0F1QlYsT0FDQTtBQURELFFBdkJlLEdBdUJkLE9BQ0E7RUx3REQsMERBQUE7RUFDQSx1REFBQTtFQUNBLHFEQUFBO0VBQ0Esa0RBQUE7RUt6REUsVUFBQTs7QUFsRUosUUF1RUM7QUF2RUQsUUF1RVE7QUF2RVIsUUF1RWdCLFNBQVEsSUFBSTtFTHlNMUIsMEJBQUE7RUFBaUMsb0NBQUE7RUFDakMsdUJBQUE7RUFBOEIsNkJBQUE7RUFDOUIsa0JBQUE7RUFBeUIsNEJBQUE7RUFtQnpCLHVEQUFBO0VBQ0Esb0RBQUE7RUFDQSwrQ0FBQTtFSzVOQSxhQUFBO0VBQ0EsY0FBQTtFQUVBLHlCQUFBO0VBQ0Esa0JBQUE7O0FBRUEsUUFWRCxNQVVFO0FBQUQsUUFWTSxPQVVMO0FBQUQsUUFWYyxTQUFRLElBQUksZ0JBVXpCO0VBQ0EscUJBQUE7RUFDQSxVQUFBO0VMa05ELHdFQUFBO0VBQ0EscUVBQUE7RUFDQSxnRUFBQTs7QUt2U0YsUUE4RkM7RUFDQyw4QkFBQTtFQUNBLGVBQUE7O0FBaEdGLFFBbUdDO0VBQ0Msa0JBQUE7RUFDQSw2QlJuRzJDLHdCUW1HM0M7RVI3RUQsZUFBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBOztBUTNCRCxRQXlHQztFQUNDLGtCQUFBOztBQTFHRixRQTZHQztFUnJGQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VRb0ZDLG1CQUFBOztBQS9HRixRQWtIQztFUjFGQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQkFBQTtFUXlGQyxpQkFBQTs7QUFwSEYsUUF1SEM7RVIvRkEsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFUThGQyxnQkFBQTtFQUNBLGtCQUFBOztBQTFIRixRQTZIQztFUnJHQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQkFBQTtFUW9HQyxnQkFBQTtFQUNBLGtCQUFBOztBQWhJRixRQW1JQztFUjNHQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQkFBQTtFUTBHQyxnQkFBQTtFQUNBLGtCQUFBOztBQXRJRixRQXlJQztFQUNDLFNBQUE7RUFDQSw2QkFBQTtFQUNBLGVBQUE7O0FBSUEsUUFERCxNQUNFO0VBQ0EsYUFBQTtFQUNBLGtCQUFBOztBQUdELFFBTkQsTUFNRTtFTDJDRCwwQkFBQTtFQUNBLHVCQUFBO0VBQ0Esa0JBQUE7O0FLbE1GLFFBNEpDO0VScElBLGVBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RVFtSUMsb0JSN0o4Qix1Q1E2SjlCO0VBQ0EsZ0JBQUE7RUxzSUEsdURBQUE7RUFDQSxvREFBQTtFQUNBLCtDQUFBOztBS3ZTRixRQXVLQyxFQUNDO0VBQ0Msc0JBQUE7O0FBektILFFBdUtDLEVBS0M7RUFDQyxjQUFBOztBQTdLSCxRQWlMQztFQUNDLFVBQUE7RUFDQSxTQUFBO0VBRUEsV0FBQTtFQUNBLGNBQUE7RUFDQSxnQkFBQTs7QUF2TEYsUUEwTEM7QUExTEQsUUEwTE07RVJsS0wsa0JBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RVFrS0MsZ0pBQUE7O0FBN0xGLFFBMExDLElBS0M7QUEvTEYsUUEwTE0sS0FLSjtFQUNDLFNBQUE7O0FBaE1ILFFBcU1DLElBQUk7RUFDSCxlQUFBO0VBQ0EsY0FBQTs7QUF2TUYsUUEwTUM7RUFDQyxXQUFBOztBQTNNRixRQThNQyxHQUVDO0FBaE5GLFFBOE1LLEdBRUg7QUFoTkYsUUE4TUMsR0FFSztBQWhOTixRQThNSyxHQUVDO0VBQ0gsZ0JBQUE7O0FBak5ILFFBOE1DLEdBTUM7QUFwTkYsUUE4TUssR0FNSDtFUjVMRCxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLG9CQUFBOztBUTNCRCxRQTBOQyxTQUFRLElBQUk7RUFDWCxXQUFBOztBQTNORixRQThOQyxJQUFHO0VBQ0YsdUJBQUE7RUFDQSxhQUFBO0VBQ0EscUJBQUE7OztBQUdBLFFBTkQsSUFBRyxLQU1EO0VBQ0EsU0FBUyxNQUFUO0VBQ0EsaUJBQUE7O0FDak9ELElBREQsRUFDRTtBQUFELElBREUsT0FDRDtBQUFELElBRFUsTUFDVDtFTjJRRCwwQkFBQTtFQUFpQyxvQ0FBQTtFQUNqQyx1QkFBQTtFQUE4Qiw2QkFBQTtFQUM5QixrQkFBQTtFQUF5Qiw0QkFBQTtFSDFQMUIsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFU25CRSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0VBQ0EscUJBQUE7RUFDQSxxQkFBQTtFQUNBLGVBQUE7RUFDQSxTQUFBO0VBQ0Esc0JBQUE7RUFJQSxhQUFBO0VBR0EsdUJBQUE7O0FBRUEsSUF2QkYsRUFDRSxTQXNCQztBQUFELElBdkJDLE9BQ0QsU0FzQkM7QUFBRCxJQXZCUyxNQUNULFNBc0JDO0VBQ0Esa0JBQUE7O0FBR0QsSUEzQkYsRUFDRSxTQTBCQztBQUFELElBM0JDLE9BQ0QsU0EwQkM7QUFBRCxJQTNCUyxNQUNULFNBMEJDO0VBQ0EsbUJBQUE7O0FBb0JELElBaERGLEVBQ0UsU0ErQ0M7QUFBRCxJQWhEQyxPQUNELFNBK0NDO0FBQUQsSUFoRFMsTUFDVCxTQStDQztFTjRORiw0QkFBQTtFQUFpQyxvQ0FBQTtFQUNqQyx5QkFBQTtFQUE4Qiw2QkFBQTtFQUM5QixvQkFBQTtFQUF5Qiw0QkFBQTtFTTdPdkIsV0FBQTtFQUNBLFVBQUE7RUFDQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTs7QUFFQSxJQXhDSCxFQUNFLFNBK0NDLGlCQVJDO0FBQUQsSUF4Q0EsT0FDRCxTQStDQyxpQkFSQztBQUFELElBeENRLE1BQ1QsU0ErQ0MsaUJBUkM7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0EscUJBQUE7O0FUQUosUUFBZ0M7RUE2Q2pDLElTekZDLEVBQ0UsU0FtREM7RVRxQ0osSVN6RkksT0FDRCxTQW1EQztFVHFDSixJU3pGWSxNQUNULFNBbURDO0lOd05GLDRCQUFBO0lBQWlDLG9DQUFBO0lBQ2pDLHlCQUFBO0lBQThCLDZCQUFBO0lBQzlCLG9CQUFBO0lBQXlCLDRCQUFBO0lNN092QixXQUFBO0lBQ0EsVUFBQTtJQUNBLG1CQUFBO0lBQ0EsZ0JBQUE7SUFDQSxrQkFBQTtJQUNBLGtCQUFBOztFQUVBLElBeENILEVBQ0UsU0FtREMsMEJBWkM7RUFBRCxJQXhDQSxPQUNELFNBbURDLDBCQVpDO0VBQUQsSUF4Q1EsTUFDVCxTQW1EQywwQkFaQztJQUNBLGtCQUFBO0lBQ0EsU0FBQTtJQUNBLFFBQUE7SUFDQSxxQkFBQTs7RUFKRCxJQXhDSCxFQUNFLFNBbURDLDBCQVpDO0VBQUQsSUF4Q0EsT0FDRCxTQW1EQywwQkFaQztFQUFELElBeENRLE1BQ1QsU0FtREMsMEJBWkM7SUFDQSxrQkFBQTtJQUNBLFNBQUE7SUFDQSxRQUFBO0lBQ0EscUJBQUE7OztBQWNGLElBMURGLEVBQ0UsU0F5REM7QUFBRCxJQTFEQyxPQUNELFNBeURDO0FBQUQsSUExRFMsTUFDVCxTQXlEQztBQUNELElBM0RGLEVBQ0UsU0EwREM7QUFBRCxJQTNEQyxPQUNELFNBMERDO0FBQUQsSUEzRFMsTUFDVCxTQTBEQztFQUNBLFdBQUE7RUFDQSxtQkFBQTs7QUFHRCxJQWhFRixFQUNFLFNBK0RDO0FBQUQsSUFoRUMsT0FDRCxTQStEQztBQUFELElBaEVTLE1BQ1QsU0ErREM7RUFDQSxxQkFBQTtFQUNBLFVBQUE7RU4rTkYseUVBQUE7RUFDQSxzRUFBQTtFQUNBLGlFQUFBOztBTXROQSxJQTdFRCxFQTZFRTtBQUFELElBN0VFLE9BNkVEO0FBQUQsSUE3RVUsTUE2RVQ7RUFDQSxtQkFBQTs7QUFFQSxJQWhGRixFQTZFRSxjQUdDO0FBQUQsSUFoRkMsT0E2RUQsY0FHQztBQUFELElBaEZTLE1BNkVULGNBR0M7QUFDRCxJQWpGRixFQTZFRSxjQUlDO0FBQUQsSUFqRkMsT0E2RUQsY0FJQztBQUFELElBakZTLE1BNkVULGNBSUM7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7O0FBSUYsSUF2RkQsRUF1RkU7QUFBRCxJQXZGRSxPQXVGRDtBQUFELElBdkZVLE1BdUZUO0FBQUQsSUF2RkQsRUhpREcsYUF4Q0gsR0FnQkMsR0FhQyxFQVdFO0FHc0NILElBdkZFLE9IaURBLGFBeENILEdBZ0JDLEdBYUMsRUFXRTtBR3NDSCxJQXZGVSxNSGlEUixhQXhDSCxHQWdCQyxHQWFDLEVBV0U7RUd1Q0YsV0FBQTtFQUNBLG1CQUFBOztBQUVBLElBM0ZGLEVBdUZFLG9CQUlDO0FBQUQsSUEzRkMsT0F1RkQsb0JBSUM7QUFBRCxJQTNGUyxNQXVGVCxvQkFJQztBQUNELElBNUZGLEVBdUZFLG9CQUtDO0FBQUQsSUE1RkMsT0F1RkQsb0JBS0M7QUFBRCxJQTVGUyxNQXVGVCxvQkFLQztBQURELElBM0ZGLEVIaURHLGFBeENILEdBZ0JDLEdBYUMsRUFXRSxNRzBDRDtBQUFELElBM0ZDLE9IaURBLGFBeENILEdBZ0JDLEdBYUMsRUFXRSxNRzBDRDtBQUFELElBM0ZTLE1IaURSLGFBeENILEdBZ0JDLEdBYUMsRUFXRSxNRzBDRDtBQUNELElBNUZGLEVIaURHLGFBeENILEdBZ0JDLEdBYUMsRUFXRSxNRzJDRDtBQUFELElBNUZDLE9IaURBLGFBeENILEdBZ0JDLEdBYUMsRUFXRSxNRzJDRDtBQUFELElBNUZTLE1IaURSLGFBeENILEdBZ0JDLEdBYUMsRUFXRSxNRzJDRDtFQUNBLFdBQUE7RUFDQSxtQkFBQTs7QUNoR0o7RVZzQkMsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFR3FQQywwQkFBQTtFQUFpQyxvQ0FBQTtFQUNqQyx1QkFBQTtFQUE4Qiw2QkFBQTtFQUM5QixrQkFBQTtFQUF5Qiw0QkFBQTtFTzdRMUIsZ0NBQUE7RUFFQSxtQkFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7RUFDQSx3QkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQUFBO0VBQ0Esb0JBQUE7RUFDQSxjQUFBOztBQUVBLFVBQUM7RUFDQSxjQUFBOztBQUdELFVBQUM7RUFDQSxTQUFTLEVBQVQ7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7O0FBTUQsYUFBQztBQUFELGFBQUM7RUFDQSxVQUFBO0VBQ0EsOEJBQUE7RUFDQSx5REFBQTs7QUFNRCxhQUFDO0FBQUQsYUFBQztFQUNBLGFBQUE7RUFDQSw4QkFBQTtFQUNBLHlEQUFBOztBQU1ELGFBQUM7QUFBRCxhQUFDO0VBQ0EsVUFBQTs7QUFNRCxhQUFDO0FBQUQsYUFBQztFQUNBLFdBQUE7O0FDdkRGLGNBQWM7QUFDZCxlQUFlO0VBQ2QsU0FBUyxFQUFUO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHNCQUFBO0VBQ0EsNEJBQUE7O0FBR0QsY0FBYztFQUNiLGtCQUFBOztBQUdELGVBQWU7RUFDZCxpQkFBQTs7QUFJQSxjQUFDO0FBQVMsY0FBQztFQUNWLHNCQUFrQiw2Y0FBbEI7O0FBS0QsbUJBQUM7QUFBUyxtQkFBQztFQUNWLHNCQUFrQiw2aUJBQWxCOztBQUtELFdBQUM7QUFBUyxXQUFDO0VBQ1Ysc0JBQWtCLDZpQkFBbEI7O0FDNUJGLElBQUssUUFFSjtFQUNDLHNCQUFBOztBQUhGLElBQUssUUFNSixNQUFLO0VBQ0osZ0JBQUE7RUFDQSxxQkFBQTs7QUFSRixJQUFLLFFBV0o7RUFDQyx5QkFBQTtFQUNBLDBCQUFBOztBQUVBLElBZkcsUUFXSixNQUlFO0VBQ0EsV0FBQTs7QUFHRCxJQW5CRyxRQVdKLE1BUUU7RUFDQSxZQUFBOztBQXBCSCxJQUFLLFFBd0JKO0VBQ0MsYUFBQTs7QUFJRjtFWlpDLGVBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0Esb0JBQUE7RVlXQSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBO0VBQ0EsV0FBQTtFVHFPQywwQkFBQTtFQUFpQyxvQ0FBQTtFQUNqQyx1QkFBQTtFQUE4Qiw2QkFBQTtFQUM5QixrQkFBQTtFQUF5Qiw0QkFBQTtFU3JPMUIsa0JBQUE7O0FBVEQsT0FXQyxNQUFLO0VBQ0osYUFBQTs7QUFaRixPQWVDO0VBQ0Msa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTs7QUFFQSxPQVBELE1BT0U7RUFDQSwwQkFBQTs7QUF2QkgsT0EyQkM7RUFDQyxXQUFBO0VBQ0Esc0JBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFVDJNQSw0QkFBQTtFQUFpQyxvQ0FBQTtFQUNqQyx5QkFBQTtFQUE4Qiw2QkFBQTtFQUM5QixvQkFBQTtFQUF5Qiw0QkFBQTs7QVM5TzNCLE9BMkJDLGNBU0M7RUFDQyxnQkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGFBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RVRrTUQsNEJBQUE7RUFBaUMsb0NBQUE7RUFDakMseUJBQUE7RUFBOEIsNkJBQUE7RUFDOUIsb0JBQUE7RUFBeUIsNEJBQUE7O0FTak14QixPQWxCRixjQVNDLFNBU0U7RUFDQSxTQUFTLEVBQVQ7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLFdBQUE7RUFDQSxPQUFBO0VBRUEseUJBQUE7RVRnS0Ysd0NBQUE7RUFDQSxvQ0FBQTtFQUNBLGdDQUFBO0VBS0EseUNBQUE7RUFBOEMsb0NBQUE7RUFDOUMscUNBQUE7RUFBMEMsNkJBQUE7RUFDMUMsaUNBQUE7RUFBc0MsNEJBQUE7O0FTakt2QyxPQUFDLE1BQ0EsY0FBYyxTQUFRO0VBQ3JCLG1CQUFBOztBQWhFSCxPQW9FQyxNQUFLLGNBQWdCLFFBRXBCLGdCQUFnQjtFQUNmLGlCQUFBOztBQXZFSCxPQW9FQyxNQUFLLGNBQWdCLFFBU3BCLFFBQU87RUFDTixzQkFBQTtFQUNBLHNCQUFBOztBQS9FSCxPQW1GQyxNQUFLLGNBQWdCLFFBQVMsUUFBTztFQUNwQyxxQkFBQTtFQUNBLHFCQUFBOztBQ3pIRjtFVjQyQkUseUJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7O0FVLzJCRixRQUdDO0VBQ0MsZUFBQTs7QUFKRixRQU1DO0VBQ0MsZ0JBQUE7O0FBUEYsUUFVQztFQUNDLGFBQUE7O0FBR0QsUUFBQyxVQUNBO0VBQ0MsYUFBQTs7QUFGRixRQUFDLFVBS0E7RUFDQyxnQkFBQTs7QUFLSDtFQUNDLGdCQUFBOztBQUVBLGtCQUFDO0VBQ0EsU0FBQTs7QUFNRCxzQkFBQztBQUFELHVCQUFDO0FBQVMsc0JBQUM7QUFBRCx1QkFBQztFQUNWLHNCQUFrQix5c0JBQWxCOztBQUlBLHNCQURBLFdBQ0M7QUFBRCx1QkFEQSxXQUNDO0FBQVMsc0JBRFYsV0FDVztBQUFELHVCQURWLFdBQ1c7RUFDVixzQkFBa0IscXRCQUFsQjs7QUFNRixzQkFBQztBQUNELHNCQUFDO0VBQ0EsNkJBQUE7O0FBS0QsdUJBQUM7QUFDRCx1QkFBQztFQUNBLGdDQUFBOztBQ3RERjtFQUNDLGFBQUE7RUFDQSxrQkFBQTtFQUNBLHVCQUFBO0VBQ0EsZ0JBQUE7RVhzU0MsOEJBQUE7RUFDQSwyQkFBQTtFQUNBLHNCQUFBO0VXblNELHFCQUFBO0VBQ0EsbUJBQUE7RVgwdUJDLHdDQUFBO0VBQ0EscUNBQUE7RUFDQSxvQ0FBQTtFQUNBLG1DQUFBO0VBQ0EsZ0NBQUE7O0FXM3VCRCxNQUFDO0VYaVFBLDRCQUFBO0VBQWlDLG9DQUFBO0VBQ2pDLHlCQUFBO0VBQThCLDZCQUFBO0VBQzlCLG9CQUFBO0VBQXlCLDRCQUFBO0VXalF6QixlQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTs7QUN6QkYsSUFBSztBQUNMLE1BQU87QUFDUCxhQUFjO0FBQ2QsTUFBTztFQUNOLGdCQUFBOztBQUlEO0VBQ0MsZ0JBQUE7O0FBR0Q7RUFDQyw2QkFBQTs7QUNYQSxTQUFDO0VBQ0EseUJBQUE7RUFDQSxXQUFBOztBQUZELFNBQUMsSUFJQSxTQUNDO0FBTEYsU0FBQyxJQUlBLFNBQ0s7QUFMTixTQUFDLElBSUEsU0FDUztBQUxWLFNBQUMsSUFJQSxTQUNhO0FBTGQsU0FBQyxJQUlBLFNBQ2lCO0VBQ2YsV0FBQTs7QUFOSCxTQUFDLElBSUEsU0FLQztFaEJZRixlQUFBO0VBQ0EsbUJBQUE7RUFDQSxtQkFBQTtFQUNBLG9CQUFBO0VnQmJHLGdCQUFBOztBQVhILFNBQUMsSUFJQSxTQUtDLEVBSUM7RUFDQyxxQkFBQTtFQUNBLDhCQUFBO0VBQ0EsY0FBQTs7QUFFQSxTQWxCSCxJQUlBLFNBS0MsRUFJQyxFQUtFO0VBQ0EsY0FBQTs7QUFuQkwsU0FBQyxJQUlBLFNBb0JDO0VBQ0MsV0FBQTs7QUF6QkgsU0FBQyxJQUlBLFNBd0JDO0VBQ0MsV0FBQTs7QUE3QkgsU0FBQyxJQUlBLFNBNEJDO0VBQ0Msa0JBQUE7RUFDQSxjQUFBOztBQUtILFNBQUM7RUFDQSxrQkFBQTs7QUFFQSxTQUhBLE9BR0M7RUFDQSxXQUFBO0VBQ0EsU0FBUyxFQUFUO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUNBLFdBQUE7O0FDdERILElBQUs7QUFDTCxNQUFPO0FBQ1AsYUFBYztBQUNkLE1BQU87RUFDTixpQkFBQTs7QUFHRCxJQUFLLGdCQUFlO0VBQ25CLGVBQUE7O0FBR0Q7RUFDQyxtQkFBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTs7QUFIRCxPQU1DO0VBRUMsa0JBQUE7RUFDQSxVQUFBO0VBQ0EsVUFBQTtFQUNBLG1CQUFBO0VBR0EsbUJBQUE7RUFDQSw0QkFBQTs7QUFFQSxPQVhELFdBV0U7RUFDQSx5REFBQTs7QUFLSCxRQUFTO0VBQ1IsZ0JBQUE7RUFDQSxTQUFBO0VBQ0Esd0JBQUE7O0FBRUEsUUFMUSxtQkFLUDtFQUNBLFlBQUE7O0FBS0YsS0FBTTtFQUNMLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLDBCQUFBOztBQUdELEtBQU0sY0FBYTtFQUNsQixhQUFBOztBQUlBLFFBRFEsY0FDUDtFQUNBLGFBQUE7O0FBRkYsUUFBUyxjQUtSO0VBQ0MsYUFBQTs7QUFJRixRQUNDO0VBQ0MsaUJBQUE7O0FBSUY7RUFDQyxpQkFBQTs7QUFERCxTQUdDO0VBQ0MsV0FBQTtFQUNBLGlCQUFBOztBQUxGLFNBR0MsTUFJQztFQUNDLGdCQUFBOztBQUVBLFNBUEYsTUFJQyxTQUdFO0VBQ0EsdUJBQUE7RUFDQSxXQUFBOztBQUZELFNBUEYsTUFJQyxTQUdFLE1BSUE7RUFDQywwQkFBQTs7QUFmTCxTQUdDLE1BaUJDO0VBQ0MsV0FBQTtFQUNBLGFBQUE7O0FBR0QsU0F0QkQsTUFzQkU7RUFDQSxnQkFBQTs7QUFLSDtFQUNDLGdCQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSx3QkFBQTs7QUFFQSx1QkFBQztFQUNBLFlBQUE7RUFDQSxVQUFBOztBQUtGO0VBQ0MsaUJBQUE7O0FBREQsTUFHQyxJQUFHO0VBQ0YsaUJBQUE7O0FBSkYsTUFPQztFQUNDLGlCQUFBOztBQVJGLE1BT0MsY0FHQztFQUNDLGlCQUFBOztBQVhILE1BT0MsY0FPQztFQUVDLGtCQUFBOztBQWhCSCxNQW9CQztFQUNDLGtCQUFBO0VBQ0EsU0FBQTtFQUVBLFNBQUE7RUFDQSxrQkFBQTs7QWpCM0ZELFFBQWdDO0VBNkNqQyxNaUJ5Q0M7SUFVRSxVQUFBO0lBQ0EsaUJBQUE7SUFFQSxVQUFBO0lBQ0EsbUJBQUE7O0VBRUEsTUFoQkYsV0FnQkc7SUFDQSxVQUFBO0lBQ0EsV0FBQTs7O0FqQnhHSCxRQUFnQztFQTZDakMsTWlCeUNDO0lBd0JFLGFBQUE7OztBQTVDSCxNQWdEQyxlQUNDO0VBQ0MsWUFBQTtFQUNBLFlBQUE7Ozs7Ozs7Ozs7QUNySkgsUUFBUztFQUNSLG9CQUFBO0VmMjFCQyx5QkFBQTtFQUNBLHNCQUFBO0VBQ0EscUJBQUE7RUFDQSxpQkFBQTtFZTUxQkQsZUFBQTs7QUFJRCxvQkFBcUI7RWZxZWxCLE9BQUE7RUFBUyx5QkFBQTtFQUNWLG9CQUFBO0VBQ0EsaUJBQUE7RUFDQSxZQUFBOztBZXBlRixZQUFZO0VBQ1gsa0JBQUE7RWZnZUUsT0FBQTtFQUFTLDBCQUFBO0VBQ1Ysa0JBQUE7RUFDQSxlQUFBO0VBQ0EsVUFBQTs7QWU5ZEQsWUFOVyxPQU1WO0VBQ0EsU0FBUyxFQUFUO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0EsT0FBQTtFZndPQSwwQkFBQTtFQUFpQyxvQ0FBQTtFQUNqQyx1QkFBQTtFQUE4Qiw2QkFBQTtFQUM5QixrQkFBQTtFQUF5Qiw0QkFBQTtFQW1CekIsNENBQUE7RUFDQSx5Q0FBQTtFQUNBLG9DQUFBOztBZTVRRixZQUFZLE9Ba0JYO0Vmd1BDLHdCQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTtFZXhQQSxxQkFBQTs7QUFwQkYsWUFBWSxPQXVCWDtBQXZCRCxZQUFZLE9Bd0JYO0VBQ0Msa0JBQUE7RUFDQSxVQUFBOztBQTFCRixZQUFZLE9BNkJYO0VmNk9DLHdCQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTs7QWUxT0Y7RWYreUJFLHlCQUFBO0VBQ0Esc0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBOztBZS95QkY7RUFDQyxjQUFBO0VBQ0Esb0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBOztBQUdDLFFBREQsT0FBTSxTQUNKO0VBQ0EsZUFBQTtFQUVBLHFCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxVQUFBO0VBQ0EseUJBQUE7O0FBR0QsUUFWRCxPQUFNLFNBVUo7RUFDQSxhQUFBOztBQUdELFFBZEQsT0FBTSxTQWNKO0VBQ0EsV0FBQTtFQUNBLGlCQUFBOztBQUdELFFBbkJELE9BQU0sU0FtQko7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7O0FBM0JILFFBTUMsT0FBTSxTQXdCTDtFQUNDLGNBQUE7O0FBTUgsZ0JBQWdCO0FBQ2hCLGdCQUFnQjtBQUNoQixzQkFBc0I7RUFDckIsYUFBQTs7QUFHRCxnQkFBaUI7QUFDakIsUUFBUyxPQUFNO0FBQ2YsZ0JBQWlCLFNBQVEsV0FBVztFQUNuQyxhQUFBOztBQUdELEdBQUc7RUFDRixVQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxjQUFBO0VBQ0EseUJBQUE7O0FBTkQsR0FBRyxnQkFRRjtFQUNDLFNBQUE7O0FBVEYsR0FBRyxnQkFZRjtFQUNDLGFBQUE7O0FBR0QsR0FoQkUsZ0JBZ0JELGNBQWU7RUFDZixrQkFBQTtFZjBYQyxPQUFBO0VBQVMseUJBQUE7RUFDVixvQkFBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTs7QWU5WUYsR0FBRyxnQkF1QkYsT0FBTztFQUNOLGlCQUFBOztBQUlELEdBNUJFLGdCQTRCQTtFQUNELFVBQUE7RUFDQSxTQUFBO0VBQ0EsMEJBQUE7RUFDQSxXQUFBOztBQUVBLEdBbENDLGdCQTRCQSxLQU1BO0VBQ0EsMkJBQUE7O0FBR0QsR0F0Q0MsZ0JBNEJBLEtBVUE7RUFDQSx3QkFBQTs7QUFYRixHQTVCRSxnQkE0QkEsS0FlRDtFQUNDLFVBQUE7RUFDQSxTQUFBOztBQUlELEdBakRDLGdCQTRCQSxLQXFCQztFQUNELGtCQUFBOztBQUVBLEdBcERBLGdCQTRCQSxLQXFCQyxLQUdBO0VBQ0EsaUJBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7O0FBR0QsR0ExREEsZ0JBNEJBLEtBcUJDLEtBU0E7QUFDRCxHQTNEQSxnQkE0QkEsS0FxQkMsS0FVQTtFQUNBLDZCQUFBOztBQUdELEdBL0RBLGdCQTRCQSxLQXFCQyxLQWNBO0VBQ0EsMEJBQUE7O0FBRUEsR0FsRUQsZ0JBNEJBLEtBcUJDLEtBY0Esc0JBR0M7RUFDQSxnQkFBQTs7QUFJRixHQXZFQSxnQkE0QkEsS0FxQkMsS0FzQkEsbUJBQW1CO0FBQ3BCLEdBeEVBLGdCQTRCQSxLQXFCQyxLQXVCQSxtQkFBbUI7QUFDcEIsR0F6RUEsZ0JBNEJBLEtBcUJDLEtBd0JBLHVCQUF1QjtBQUN4QixHQTFFQSxnQkE0QkEsS0FxQkMsS0F5QkEsdUJBQXVCO0VBQ3ZCLGdCQUFBO0VBQ0EsVUFBQTs7QUFHRCxHQS9FQSxnQkE0QkEsS0FxQkMsS0E4QkEsbUJBQW1CO0FBQ3BCLEdBaEZBLGdCQTRCQSxLQXFCQyxLQStCQSx1QkFBdUI7QUFDeEIsR0FqRkEsZ0JBNEJBLEtBcUJDLEtBZ0NBLG1CQUFtQixPQUFPO0FBQzNCLEdBbEZBLGdCQTRCQSxLQXFCQyxLQWlDQSx1QkFBdUIsT0FBTztFQUM5QixtQkFBQTs7QUFHRCxHQXRGQSxnQkE0QkEsS0FxQkMsS0FxQ0EsbUJBQW1CO0FBQ3BCLEdBdkZBLGdCQTRCQSxLQXFCQyxLQXNDQSx1QkFBdUI7RUFDdkIsbUJBQUE7O0FBR0QsR0EzRkEsZ0JBNEJBLEtBcUJDLEtBMENBO0VBTUEsbUJBQUE7O0FBTEEsR0E1RkQsZ0JBNEJBLEtBcUJDLEtBMENBLHVCQUNDO0VBQ0EsU0FBUyxFQUFUO0VBQ0EsV0FBQTs7QUFLRCxHQW5HRCxnQkE0QkEsS0FxQkMsS0EwQ0EsdUJBUUU7RUFDRCxnQkFBQTs7QUFJRixHQXhHQSxnQkE0QkEsS0FxQkMsS0F1REM7QUFBSyxHQXhHUCxnQkE0QkEsS0FxQkMsS0F1RFE7RUFDUixtQkFBQTtFQUNBLHNCQUFBOztBQXpERixHQWpEQyxnQkE0QkEsS0FxQkMsS0E2REQ7RUFDQyxpQkFBQTtFQUNBLGdCQUFBOztBQS9ERixHQWpEQyxnQkE0QkEsS0FxQkMsS0E2REQsRUFJQztFQUNDLG1CQUFBO0VBQ0EsZUFBQTs7QUFuRUgsR0FqREMsZ0JBNEJBLEtBcUJDLEtBNkRELEVBSUMsS0FJQztFQUNDLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RWZxQ0osMEJBQUE7RUFBaUMsb0NBQUE7RUFDakMsdUJBQUE7RUFBOEIsNkJBQUE7RUFDOUIsa0JBQUE7RUFBeUIsNEJBQUE7RWVyQ3JCLHNCQUFBO0VBQ0EsY0FBQTtFQUNBLGlCQUFBO0VBQ0EsWUFBQTs7QUFHQyxHQWxJSixnQkE0QkEsS0FxQkMsS0E2REQsRUFJQyxLQUlDLE9BV0UsSUFBSSxXQUNIO0FBQ0QsR0FuSUosZ0JBNEJBLEtBcUJDLEtBNkRELEVBSUMsS0FJQyxPQVdFLElBQUksV0FFSDtFQUNBLFdBQUE7RUFDQSx5QkFBQTtFQUNBLHlCQUFBOztBQUlGLEdBMUlILGdCQTRCQSxLQXFCQyxLQTZERCxFQUlDLEtBSUMsT0FvQkUsS0FBSztFQUNMLGVBQUE7RWZnUUosT0FBQTtFQUFTLHlCQUFBO0VBQ1Ysb0JBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7O0FlN1ZBLEdBakRDLGdCQTRCQSxLQXFCQyxLQWtHRDtFQUNDLHlCQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7O0FBckdGLEdBakRDLGdCQTRCQSxLQXFCQyxLQWtHRCxHQU1DO0VBQ0Msa0JBQUE7RUFDQSxxQkFBQTtFQUdBLGNBQUE7O0FBRUEsR0FoS0YsZ0JBNEJBLEtBcUJDLEtBa0dELEdBTUMsR0FPRTtFQUNBLDBCQUFBOztBQUVBLEdBbktILGdCQTRCQSxLQXFCQyxLQWtHRCxHQU1DLEdBT0Usc0JBR0M7RUFDQSxhQUFBOztBQUpGLEdBaEtGLGdCQTRCQSxLQXFCQyxLQWtHRCxHQU1DLEdBT0Usc0JBT0E7RWZSSiwwQkFBQTtFQUFpQyxvQ0FBQTtFQUNqQyx1QkFBQTtFQUE4Qiw2QkFBQTtFQUM5QixrQkFBQTtFQUF5Qiw0QkFBQTtFZVFwQixjQUFBOztBQUVBLEdBM0tKLGdCQTRCQSxLQXFCQyxLQWtHRCxHQU1DLEdBT0Usc0JBT0EscUJBSUU7RUFDQSwrQkFBQTs7QUFaSCxHQWhLRixnQkE0QkEsS0FxQkMsS0FrR0QsR0FNQyxHQU9FLHNCQU9BLHFCQVFDO0VBQ0Msc0JBQUE7O0FBS0gsR0FyTEYsZ0JBNEJBLEtBcUJDLEtBa0dELEdBTUMsR0E0Qkc7QUFBSyxHQXJMVCxnQkE0QkEsS0FxQkMsS0FrR0QsR0FNQyxHQTRCVTtFQUNSLG1CQUFBO0VBQ0Esc0JBQUE7O0FBdElKLEdBakRDLGdCQTRCQSxLQXFCQyxLQWtHRCxHQU1DLEdBa0NDO0VBQ0MsVUFBQTs7QUEzSUosR0FqREMsZ0JBNEJBLEtBcUJDLEtBa0dELEdBTUMsR0FrQ0MsR0FJQztFQUNDLFVBQUE7RUFDQSxxQkFBQTtFQUNBLGVBQUE7RUFDQSxxQkFBQTs7QUFsSkwsR0FqREMsZ0JBNEJBLEtBcUJDLEtBa0dELEdBTUMsR0FrQ0MsR0FJQyxHQU9DO0VBQ0MsZUFBQTtFQUNBLG1CQUFBOztBQXZKTixHQWpEQyxnQkE0QkEsS0FxQkMsS0FrR0QsR0FNQyxHQWtDQyxHQUlDLEdBWUM7QUExSkwsR0FqREMsZ0JBNEJBLEtBcUJDLEtBa0dELEdBTUMsR0FrQ0MsR0FJQyxHQWFDO0VBQ0MsZUFBQTtFQUNBLFNBQUE7RUFDQSxzQkFBQTtFQUNBLHNCQUFBO0VDbFNQLGtCQUFBO0VBQ0EsbUJBQUE7RUFFQSxvQkFBQTtFQUNBLG9CQUFBOztBRHdTQSxHQTFORSxnQkEwTkE7RUFDRCxnQkFBQTs7QUFJRCxHQS9ORSxnQkErTkQ7RUFDQSxZQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTs7QUFMRCxHQS9ORSxnQkErTkQsTUFPQTtFQ3hURCxrQkFBQTtFQUNBLGtCQUFBO0VBRUEsb0JBQUE7RUFDQSxvQkFBQTtFRHNURSxxQkFBQTtFQUNBLG1CQUFBO0VBQ0EsNkJBQUE7RUFDQSxhQUFBO0VBQ0Esb0JBQUE7O0FBYkYsR0EvTkUsZ0JBK05ELE1BZ0JBO0VBRUMsb0JBQUE7RUFDQSxnQkFBQTs7QUFuQkYsR0EvTkUsZ0JBK05ELE1BZ0JBLEdBS0M7RUFDQyxpQkFBQTtFQUNBLFNBQUE7RUFDQSxxQkFBQTs7QUFHRCxHQTFQQSxnQkErTkQsTUFnQkEsR0FXRztFQUNELGtCQUFBOztBQTVCSCxHQS9ORSxnQkErTkQsTUFnQkEsR0FlQztFQUNDLFdBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsMEJBQUE7RUFDQSxtQkFBQTtFQUNBLG1CQUFBO0VmMUVGLDhCQUFBO0VBQ0EsMkJBQUE7RUFDQSxzQkFBQTs7QWVrQ0QsR0EvTkUsZ0JBK05ELE1BZ0JBLEdBZUMsR0FVQztFQUNDLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLHNCQUFBOztBQTVDSixHQS9ORSxnQkErTkQsTUFnQkEsR0FnQ0M7RUFDQyxpQkFBQTtFQUNBLFlBQUE7RUFDQSxvQkFBQTs7QUFuREgsR0EvTkUsZ0JBK05ELE1BZ0JBLEdBZ0NDLEdBS0M7RUFDQyxrQkFBQTs7QUFHRCxHQXhSRCxnQkErTkQsTUFnQkEsR0FnQ0MsR0FTRTtFQUNBLFNBQVMsT0FBVDtFQUNBLGNBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7RUFDQSxRQUFBOztBQU9MO0FBQ0EsZ0JBQWlCLFNBQVE7QUFDekI7RWZ4SUUsMEJBQUE7RUFBaUMsb0NBQUE7RUFDakMsdUJBQUE7RUFBOEIsNkJBQUE7RUFDOUIsa0JBQUE7RUFBeUIsNEJBQUE7RWV3STFCLHNCQUFBO0VDM1hBLGtCQUFBO0VBQ0EsbUJBQUE7RUFFQSxvQkFBQTtFQUNBLG9CQUFBOztBRDJYRCxnQkFBaUIsU0FBUTtBQUN6QixXQUFZO0FBQ1o7RUNqWUMsa0JBQUE7RUFDQSxtQkFBQTtFQUVBLG9CQUFBO0VBQ0Esb0JBQUE7RUQrWEEsZ0pBQUE7O0FBR0QsV0FBWTtFQUNYLFlBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTs7QUFHRCxnQkFBaUIsU0FBUTtFZi9IdkIsOEJBQUE7RUFDQSwyQkFBQTtFQUNBLHNCQUFBO0VlK0hELGNBQUE7RUFDQSxhQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0EsU0FBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7O0FBR0QsaUJBQWlCO0VBQ2hCLFVBQUE7RUFDQSxjQUFBO0VDOVpBLGVBQUE7RUFDQSxtQkFBQTtFQUVBLG1CQUFBO0VBQ0Esb0JBQUE7RURrYUEsZ0pBQUE7O0FBVkQsaUJBQWlCLGlCQUloQjtFQUNDLGNBQUE7RUFDQSxtQkFBQTs7QUFNRCxpQkFaZ0IsaUJBWWQsS0FBSTtFQUNMLG1CQUFBOzs7QUFLRjtFQUNDLG9CQUFBOztBQURELHVCQUdDLFNBQVM7RUFDUixtQkFBQTtFQUNBLGlCQUFBOztBQUxGLHVCQVFDO0VBRUMsWUFBQTtFQUdBLGdCQUFBOztBQUlGO0VBQ0MsZUFBQTtFQUNBLE1BQUE7RUFDQSxXQUFBO0VBQ0EsV0FBQTs7QUFKRCxnQkFNQztFQUNDLGlCQUFBOztBQVBGLGdCQU1DLGtCQUdDO0VBQ0MsZ0JBQUE7O0FBVkgsZ0JBTUMsa0JBR0MsT0FHQztFQUNDLGdCQUFBOztBQU9KO0VBQ0Msa0JBQUE7RUFDQSxVQUFBO0VBQ0EsVUFBQTs7QUFFQSxLQUFDO0VBQ0EsYUFBQSJ9 */ Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/css/samples.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/img/header-bg.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/img/header-bg.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/img/header-separator.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/img/header-separator.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/img/logo.svg =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/img/logo.svg (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/img/logo.svg (revision 7) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg width="443px" height="129px" viewBox="0 0 443 129" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <!-- Generator: Sketch 48.2 (47327) - http://www.bohemiancoding.com/sketch --> + <title>Group</title> + <desc>Created with Sketch.</desc> + <defs></defs> + <g id="products-icons" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> + <g id="Group"> + <path d="M192.234,50.622 C191.867998,48.9546583 191.268171,47.4601733 190.4345,46.1385 C189.600829,44.8168267 188.584173,43.7086711 187.3845,42.814 C186.184827,41.9193289 184.863174,41.238169 183.4195,40.7705 C181.975826,40.302831 180.461008,40.069 178.875,40.069 C175.987652,40.069 173.50701,40.6179945 171.433,41.716 C169.35899,42.8140055 167.661173,44.2678243 166.3395,46.0775 C165.017827,47.8871757 164.041836,49.9306553 163.4115,52.208 C162.781164,54.4853447 162.466,56.8236547 162.466,59.223 C162.466,61.5816785 162.781164,63.9098218 163.4115,66.2075 C164.041836,68.5051782 165.017827,70.5588243 166.3395,72.3685 C167.661173,74.1781757 169.35899,75.6319945 171.433,76.73 C173.50701,77.8280055 175.987652,78.377 178.875,78.377 C180.908344,78.377 182.738325,78.0110037 184.365,77.279 C185.991675,76.5469963 187.394661,75.550673 188.574,74.29 C189.753339,73.029327 190.708996,71.5551751 191.441,69.8675 C192.173004,68.1798249 192.640666,66.3600098 192.844,64.408 L196.992,64.408 C196.707332,67.0920134 196.077005,69.5116559 195.101,71.667 C194.124995,73.8223441 192.864341,75.6523258 191.319,77.157 C189.773659,78.6616742 187.953844,79.8206626 185.8595,80.634 C183.765156,81.4473374 181.437013,81.854 178.875,81.854 C175.458983,81.854 172.459846,81.2338395 169.8775,79.9935 C167.295154,78.7531605 165.150009,77.0960104 163.442,75.022 C161.733991,72.9479896 160.453004,70.5486803 159.599,67.824 C158.744996,65.0993197 158.318,62.2323484 158.318,59.223 C158.318,56.2136516 158.744996,53.3466803 159.599,50.622 C160.453004,47.8973197 161.733991,45.4878438 163.442,43.3935 C165.150009,41.2991562 167.295154,39.6318395 169.8775,38.3915 C172.459846,37.1511605 175.458983,36.531 178.875,36.531 C180.94901,36.531 182.972157,36.8359969 184.9445,37.446 C186.916843,38.0560031 188.706159,38.9608273 190.3125,40.1605 C191.918841,41.3601727 193.260828,42.8343246 194.3385,44.583 C195.416172,46.3316754 196.097332,48.3446553 196.382,50.622 L192.234,50.622 Z M203.516,37.446 L207.664,37.446 L207.664,60.87 L232.979,37.446 L238.591,37.446 L219.132,55.441 L239.506,81 L234.138,81 L216.021,58.308 L207.664,66.055 L207.664,81 L203.516,81 L203.516,37.446 Z M243.224,37.446 L273.297,37.446 L273.297,40.984 L247.372,40.984 L247.372,56.722 L271.65,56.722 L271.65,60.26 L247.372,60.26 L247.372,77.462 L273.602,77.462 L273.602,81 L243.224,81 L243.224,37.446 Z M306.539,81 L303.001,81 L303.001,75.022 L302.879,75.022 C302.472331,76.0386717 301.872504,76.9739957 301.0795,77.828 C300.286496,78.6820043 299.381672,79.4038304 298.365,79.9935 C297.348328,80.5831696 296.260506,81.040665 295.1015,81.366 C293.942494,81.691335 292.793672,81.854 291.655,81.854 C289.255655,81.854 287.171509,81.4168377 285.4025,80.5425 C283.633491,79.6681623 282.159339,78.4685076 280.98,76.9435 C279.800661,75.4184924 278.926336,73.6495101 278.357,71.6365 C277.787664,69.6234899 277.503,67.4986779 277.503,65.262 C277.503,63.0253221 277.787664,60.9005101 278.357,58.8875 C278.926336,56.8744899 279.800661,55.1055076 280.98,53.5805 C282.159339,52.0554924 283.633491,50.8456711 285.4025,49.951 C287.171509,49.0563289 289.255655,48.609 291.655,48.609 C292.834339,48.609 293.983161,48.7513319 295.1015,49.036 C296.219839,49.3206681 297.266995,49.7578304 298.243,50.3475 C299.219005,50.9371696 300.083163,51.6589957 300.8355,52.513 C301.587837,53.3670043 302.167331,54.3633276 302.574,55.502 L302.696,55.502 L302.696,37.446 L306.539,37.446 L306.539,81 Z M281.346,65.262 C281.346,66.8886748 281.539165,68.5051586 281.9255,70.1115 C282.311835,71.7178414 282.921829,73.151327 283.7555,74.412 C284.589171,75.672673 285.65666,76.699496 286.958,77.4925 C288.25934,78.285504 289.824991,78.682 291.655,78.682 C293.688344,78.682 295.406493,78.285504 296.8095,77.4925 C298.212507,76.699496 299.351162,75.672673 300.2255,74.412 C301.099838,73.151327 301.730165,71.7178414 302.1165,70.1115 C302.502835,68.5051586 302.696,66.8886748 302.696,65.262 C302.696,63.6353252 302.502835,62.0188414 302.1165,60.4125 C301.730165,58.8061586 301.099838,57.372673 300.2255,56.112 C299.351162,54.851327 298.212507,53.824504 296.8095,53.0315 C295.406493,52.238496 293.688344,51.842 291.655,51.842 C289.824991,51.842 288.25934,52.238496 286.958,53.0315 C285.65666,53.824504 284.589171,54.851327 283.7555,56.112 C282.921829,57.372673 282.311835,58.8061586 281.9255,60.4125 C281.539165,62.0188414 281.346,63.6353252 281.346,65.262 Z M314.1,37.446 L317.943,37.446 L317.943,43.607 L314.1,43.607 L314.1,37.446 Z M314.1,49.524 L317.943,49.524 L317.943,81 L314.1,81 L314.1,49.524 Z M331.604,49.524 L338.009,49.524 L338.009,52.757 L331.604,52.757 L331.604,73.985 C331.604,75.245673 331.776832,76.2318298 332.1225,76.9435 C332.468168,77.6551702 333.332326,78.0516663 334.715,78.133 C335.813006,78.133 336.910995,78.0720006 338.009,77.95 L338.009,81.183 C337.439664,81.183 336.870336,81.2033331 336.301,81.244 C335.731664,81.2846669 335.162336,81.305 334.593,81.305 C332.030987,81.305 330.241672,80.8068383 329.225,79.8105 C328.208328,78.8141617 327.720333,76.9740134 327.761,74.29 L327.761,52.757 L322.271,52.757 L322.271,49.524 L327.761,49.524 L327.761,40.069 L331.604,40.069 L331.604,49.524 Z M357.038,51.842 C355.207991,51.842 353.601674,52.2283295 352.219,53.001 C350.836326,53.7736705 349.687505,54.790327 348.7725,56.051 C347.857495,57.311673 347.166169,58.7451586 346.6985,60.3515 C346.230831,61.9578414 345.997,63.5946583 345.997,65.262 C345.997,66.9293417 346.230831,68.5661586 346.6985,70.1725 C347.166169,71.7788414 347.857495,73.212327 348.7725,74.473 C349.687505,75.733673 350.836326,76.7503295 352.219,77.523 C353.601674,78.2956705 355.207991,78.682 357.038,78.682 C358.868009,78.682 360.474326,78.2956705 361.857,77.523 C363.239674,76.7503295 364.388495,75.733673 365.3035,74.473 C366.218505,73.212327 366.909831,71.7788414 367.3775,70.1725 C367.845169,68.5661586 368.079,66.9293417 368.079,65.262 C368.079,63.5946583 367.845169,61.9578414 367.3775,60.3515 C366.909831,58.7451586 366.218505,57.311673 365.3035,56.051 C364.388495,54.790327 363.239674,53.7736705 361.857,53.001 C360.474326,52.2283295 358.868009,51.842 357.038,51.842 Z M357.038,48.609 C359.437345,48.609 361.562157,49.0563289 363.4125,49.951 C365.262843,50.8456711 366.818327,52.0453258 368.079,53.55 C369.339673,55.0546742 370.29533,56.8134899 370.946,58.8265 C371.59667,60.8395101 371.922,62.9846553 371.922,65.262 C371.922,67.5393447 371.59667,69.6844899 370.946,71.6975 C370.29533,73.7105101 369.339673,75.4693258 368.079,76.974 C366.818327,78.4786742 365.262843,79.6681623 363.4125,80.5425 C361.562157,81.4168377 359.437345,81.854 357.038,81.854 C354.638655,81.854 352.513843,81.4168377 350.6635,80.5425 C348.813157,79.6681623 347.257673,78.4786742 345.997,76.974 C344.736327,75.4693258 343.78067,73.7105101 343.13,71.6975 C342.47933,69.6844899 342.154,67.5393447 342.154,65.262 C342.154,62.9846553 342.47933,60.8395101 343.13,58.8265 C343.78067,56.8134899 344.736327,55.0546742 345.997,53.55 C347.257673,52.0453258 348.813157,50.8456711 350.6635,49.951 C352.513843,49.0563289 354.638655,48.609 357.038,48.609 Z M377.836,49.524 L381.374,49.524 L381.374,56.905 L381.496,56.905 C382.472005,54.3429872 383.986823,52.3706736 386.0405,50.988 C388.094177,49.6053264 390.544319,48.9749994 393.391,49.097 L393.391,52.94 C391.642325,52.8586663 390.056341,53.0924973 388.633,53.6415 C387.20966,54.1905027 385.979505,54.9733283 384.9425,55.99 C383.905495,57.0066718 383.102336,58.216493 382.533,59.6195 C381.963664,61.022507 381.679,62.5576583 381.679,64.225 L381.679,81 L377.836,81 L377.836,49.524 Z M432.242,67.153 L432.242,43.912 L432.12,43.912 L416.016,67.153 L432.242,67.153 Z M412.539,66.665 L432.303,38.3 L435.78,38.3 L435.78,67.153 L442.185,67.153 L442.185,70.386 L435.78,70.386 L435.78,81 L432.242,81 L432.242,70.386 L412.539,70.386 L412.539,66.665 Z" id="ckeditor-4-txt" fill="#32373C"></path> + <path d="M91.3990305,18.4275908 C89.708134,21.8370406 88.7575758,25.6787251 88.7575758,29.7424242 C88.7575758,43.8256854 100.174315,55.2424242 114.257576,55.2424242 C114.439555,55.2424242 114.62109,55.240518 114.80216,55.2367244 L114.80216,90.9505846 C114.80216,95.2377717 112.514973,99.199296 108.80216,101.342889 L63.6969697,127.384383 C59.9841568,129.527977 55.4097826,129.527977 51.6969697,127.384383 L6.59177944,101.342889 C2.87896651,99.199296 0.591779435,95.2377717 0.591779435,90.9505846 L0.591779435,38.8675972 C0.591779435,34.5804101 2.87896651,30.6188859 6.59177944,28.4752923 L51.6969697,2.43379858 C55.4097826,0.290205045 59.9841568,0.290205045 63.6969697,2.43379858 L91.3990305,18.4275908 Z M32.8787879,42.2424242 C31.2219336,42.2424242 29.8787879,43.58557 29.8787879,45.2424242 L29.8787879,46.6741182 C29.8787879,48.3309725 31.2219336,49.6741182 32.8787879,49.6741182 L83.5454545,49.6741182 C85.2023088,49.6741182 86.5454545,48.3309725 86.5454545,46.6741182 L86.5454545,45.2424242 C86.5454545,43.58557 85.2023088,42.2424242 83.5454545,42.2424242 L32.8787879,42.2424242 Z M32.8787879,60.7203179 C31.2219336,60.7203179 29.8787879,62.0634637 29.8787879,63.7203179 L29.8787879,65.1520119 C29.8787879,66.8088662 31.2219336,68.1520119 32.8787879,68.1520119 L69.6110283,68.1520119 C71.2678826,68.1520119 72.6110283,66.8088662 72.6110283,65.1520119 L72.6110283,63.7203179 C72.6110283,62.0634637 71.2678826,60.7203179 69.6110283,60.7203179 L32.8787879,60.7203179 Z M32.8787879,79.1982116 C31.2219336,79.1982116 29.8787879,80.5413574 29.8787879,82.1982116 L29.8787879,83.6299056 C29.8787879,85.2867599 31.2219336,86.6299056 32.8787879,86.6299056 L83.5454545,86.6299056 C85.2023088,86.6299056 86.5454545,85.2867599 86.5454545,83.6299056 L86.5454545,82.1982116 C86.5454545,80.5413574 85.2023088,79.1982116 83.5454545,79.1982116 L32.8787879,79.1982116 Z M114.757576,50.2424242 C103.159596,50.2424242 93.7575758,40.840404 93.7575758,29.2424242 C93.7575758,17.6444445 103.159596,8.24242424 114.757576,8.24242424 C126.355556,8.24242424 135.757576,17.6444445 135.757576,29.2424242 C135.757576,40.840404 126.355556,50.2424242 114.757576,50.2424242 Z M118.332146,34.5716487 L120.545455,34.5716487 L120.545455,31.2467386 L118.309328,31.2467386 L118.309328,20.6363636 L113.722988,20.6363636 L107.151515,31.1244992 L107.151515,34.5716487 L114.749781,34.5716487 L114.749781,37.9454545 L118.332146,37.9454545 L118.332146,34.5716487 Z M114.772598,24.841397 L114.772598,31.2467386 L110.870786,31.2467386 L114.704145,24.841397 L114.772598,24.841397 Z" id="ckeditor-4" fill="#0287D0"></path> + </g> + </g> +</svg> Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/img/github-top.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/img/github-top.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/img/logo.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/img/logo.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/img/navigation-tip.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/img/navigation-tip.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/index.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/index.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/index.html (revision 7) @@ -0,0 +1,128 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>CKEditor Sample</title> + <script src="../ckeditor.js"></script> + <script src="js/sample.js"></script> + <link rel="stylesheet" href="css/samples.css"> + <link rel="stylesheet" href="toolbarconfigurator/lib/codemirror/neo.css"> +</head> +<body id="main"> + +<nav class="navigation-a"> + <div class="grid-container"> + <ul class="navigation-a-left grid-width-70"> + <li><a href="https://ckeditor.com/ckeditor-4/">Project Homepage</a></li> + <li><a href="https://github.com/ckeditor/ckeditor-dev/issues">I found a bug</a></li> + <li><a href="http://github.com/ckeditor/ckeditor-dev" class="icon-pos-right icon-navigation-a-github">Fork CKEditor on GitHub</a></li> + </ul> + <ul class="navigation-a-right grid-width-30"> + <li><a href="https://ckeditor.com/blog/">CKEditor Blog</a></li> + </ul> + </div> +</nav> + +<header class="header-a"> + <div class="grid-container"> + <h1 class="header-a-logo grid-width-30"> + <a href="index.html"><img src="img/logo.svg" onerror="this.src='img/logo.png'; this.onerror=null;" alt="CKEditor Sample"></a> + </h1> + + <nav class="navigation-b grid-width-70"> + <ul> + <li><a href="index.html" class="button-a button-a-background">Start</a></li> + <li><a href="toolbarconfigurator/index.html" class="button-a">Toolbar configurator <span class="balloon-a balloon-a-nw">Edit your toolbar now!</span></a></li> + </ul> + </nav> + </div> +</header> + +<main> + <div class="adjoined-top"> + <div class="grid-container"> + <div class="content grid-width-100"> + <h1>Congratulations!</h1> + <p> + If you can see CKEditor below, it means that the installation succeeded. + You can now try out your new editor version, see its features, and when you are ready to move on, check some of the <a href="#sample-customize">most useful resources</a> recommended below. + </p> + </div> + </div> + </div> + <div class="adjoined-bottom"> + <div class="grid-container"> + <div class="grid-width-100"> + <div id="editor"> + <h1>Hello world!</h1> + <p>I'm an instance of <a href="https://ckeditor.com">CKEditor</a>.</p> + </div> + </div> + </div> + </div> + + <div class="grid-container"> + <div class="content grid-width-100"> + <section id="sample-customize"> + <h2>Customize Your Editor</h2> + <p>Modular build and <a href="https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_configuration">numerous configuration options</a> give you nearly endless possibilities to customize CKEditor. Replace the content of your <code><a href="../config.js">config.js</a></code> file with the following code and refresh this page (<strong>remember to clear the browser cache</strong>)!</p> + <pre class="cm-s-neo CodeMirror"><code><span style="padding-right: 0.1px;"><span class="cm-variable">CKEDITOR</span>.<span class="cm-property">editorConfig</span> <span class="cm-operator">=</span> <span class="cm-keyword">function</span>( <span class="cm-def">config</span> ) {</span> +<span style="padding-right: 0.1px;"><span class="cm-tab"> </span><span class="cm-variable-2">config</span>.<span class="cm-property">language</span> <span class="cm-operator">=</span> <span class="cm-string">'es'</span>;</span> +<span style="padding-right: 0.1px;"><span class="cm-tab"> </span><span class="cm-variable-2">config</span>.<span class="cm-property">uiColor</span> <span class="cm-operator">=</span> <span class="cm-string">'#F7B42C'</span>;</span> +<span style="padding-right: 0.1px;"><span class="cm-tab"> </span><span class="cm-variable-2">config</span>.<span class="cm-property">height</span> <span class="cm-operator">=</span> <span class="cm-number">300</span>;</span> +<span style="padding-right: 0.1px;"><span class="cm-tab"> </span><span class="cm-variable-2">config</span>.<span class="cm-property">toolbarCanCollapse</span> <span class="cm-operator">=</span> <span class="cm-atom">true</span>;</span> +<span style="padding-right: 0.1px;">};</span></code></pre> + </section> + + <section> + <h2>Toolbar Configuration</h2> + <p>If you want to reorder toolbar buttons or remove some of them, check <a href="toolbarconfigurator/index.html">this handy tool</a>!</p> + </section> + + <section> + <h2>More Samples!</h2> + <p>Visit the <a href="https://sdk.ckeditor.com">CKEditor SDK</a> for a huge collection of samples showcasing editor features, with source code readily available to copy and use in your own implementation.</p> + </section> + + <section> + <h2>Developer's Guide</h2> + <p>The most important resource for all developers working with CKEditor, integrating it with their websites and applications, and customizing to their needs. You can start from here:</p> + <ul> + <li><a href="https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_installation">Getting Started</a> &ndash; Explains most crucial editor concepts and practices as well as the installation process and integration with your website.</li> + <li><a href="https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_advanced_installation">Advanced Installation Concepts</a> &ndash; Describes how to upgrade, install additional components (plugins, skins), or create a custom build.</li> + </ul> + <p>When you have the basics sorted out, feel free to browse some more advanced sections like:</p> + <ul> + <li><a href="https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_features">Functionality Overview</a> &ndash; Descriptions and samples of various editor features.</li> + <li><a href="https://docs.ckeditor.com/ckeditor4/docs/#!/guide/plugin_sdk_intro">Plugin SDK</a>, <a href="https://docs.ckeditor.com/ckeditor4/docs/#!/guide/widget_sdk_intro">Widget SDK</a>, and <a href="https://docs.ckeditor.com/ckeditor4/docs/#!/guide/skin_sdk_intro">Skin SDK</a> &ndash; Useful when you want to create your own editor components.</li> + </ul> + </section> + + <section> + <h2>CKEditor JavaScript API</h2> + <p>CKEditor boasts a rich <a href="https://docs.ckeditor.com/ckeditor4/docs/#!/api">JavaScript API</a> that you can use to adjust the editor to your needs and integrate it with your website or application.</p> + </section> + </div> + </div> +</main> + +<footer class="footer-a grid-container"> + <div class="grid-container"> + <p class="grid-width-100"> + CKEditor &ndash; The text editor for the Internet &ndash; <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p class="grid-width-100" id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> &ndash; Frederico Knabben. All rights reserved. + </p> + </div> +</footer> +<script> + initSample(); +</script> + +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/index.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/dialog/dialog.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/dialog/dialog.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/dialog/dialog.html (revision 7) @@ -0,0 +1,190 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>Using API to Customize Dialog Windows &mdash; CKEditor Sample</title> + <script src="../../../ckeditor.js"></script> + <link rel="stylesheet" href="../../../samples/old/sample.css"> + <meta name="ckeditor-sample-name" content="Using the JavaScript API to customize dialog windows"> + <meta name="ckeditor-sample-group" content="Advanced Samples"> + <meta name="ckeditor-sample-description" content="Using the dialog windows API to customize dialog windows without changing the original editor code."> + <style> + + .cke_button__mybutton_icon + { + display: none !important; + } + + .cke_button__mybutton_label + { + display: inline !important; + } + + </style> + <script> + + CKEDITOR.on( 'instanceCreated', function( ev ){ + var editor = ev.editor; + + // Listen for the "pluginsLoaded" event, so we are sure that the + // "dialog" plugin has been loaded and we are able to do our + // customizations. + editor.on( 'pluginsLoaded', function() { + + // If our custom dialog has not been registered, do that now. + if ( !CKEDITOR.dialog.exists( 'myDialog' ) ) { + // We need to do the following trick to find out the dialog + // definition file URL path. In the real world, you would simply + // point to an absolute path directly, like "/mydir/mydialog.js". + var href = document.location.href.split( '/' ); + href.pop(); + href.push( 'assets/my_dialog.js' ); + href = href.join( '/' ); + + // Finally, register the dialog. + CKEDITOR.dialog.add( 'myDialog', href ); + } + + // Register the command used to open the dialog. + editor.addCommand( 'myDialogCmd', new CKEDITOR.dialogCommand( 'myDialog' ) ); + + // Add the a custom toolbar buttons, which fires the above + // command.. + editor.ui.add( 'MyButton', CKEDITOR.UI_BUTTON, { + label: 'My Dialog', + command: 'myDialogCmd' + }); + }); + }); + + // When opening a dialog, its "definition" is created for it, for + // each editor instance. The "dialogDefinition" event is then + // fired. We should use this event to make customizations to the + // definition of existing dialogs. + CKEDITOR.on( 'dialogDefinition', function( ev ) { + // Take the dialog name and its definition from the event data. + var dialogName = ev.data.name; + var dialogDefinition = ev.data.definition; + + // Check if the definition is from the dialog we're + // interested on (the "Link" dialog). + if ( dialogName == 'myDialog' && ev.editor.name == 'editor2' ) { + // Get a reference to the "Link Info" tab. + var infoTab = dialogDefinition.getContents( 'tab1' ); + + // Add a new text field to the "tab1" tab page. + infoTab.add( { + type: 'text', + label: 'My Custom Field', + id: 'customField', + 'default': 'Sample!', + validate: function() { + if ( ( /\d/ ).test( this.getValue() ) ) + return 'My Custom Field must not contain digits'; + } + }); + + // Remove the "select1" field from the "tab1" tab. + infoTab.remove( 'select1' ); + + // Set the default value for "input1" field. + var input1 = infoTab.get( 'input1' ); + input1[ 'default' ] = 'www.example.com'; + + // Remove the "tab2" tab page. + dialogDefinition.removeContents( 'tab2' ); + + // Add a new tab to the "Link" dialog. + dialogDefinition.addContents( { + id: 'customTab', + label: 'My Tab', + accessKey: 'M', + elements: [ + { + id: 'myField1', + type: 'text', + label: 'My Text Field' + }, + { + id: 'myField2', + type: 'text', + label: 'Another Text Field' + } + ] + }); + + // Provide the focus handler to start initial focus in "customField" field. + dialogDefinition.onFocus = function() { + var urlField = this.getContentElement( 'tab1', 'customField' ); + urlField.select(); + }; + } + }); + + var config = { + extraPlugins: 'dialog', + toolbar: [ [ 'MyButton' ] ] + }; + + </script> +</head> +<body> + <h1 class="samples"> + <a href="../../../samples/old/index.html">CKEditor Samples</a> &raquo; Using CKEditor Dialog API + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out the <a href="https://sdk.ckeditor.com/">brand new samples in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows how to use the + <a class="samples" href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.dialog">CKEditor Dialog API</a> + to customize CKEditor dialog windows without changing the original editor code. + The following customizations are being done in the example below: + </p> + <p> + For details on how to create this setup check the source code of this sample page. + </p> + </div> + <p>A custom dialog is added to the editors using the <code>pluginsLoaded</code> event, from an external <a target="_blank" href="assets/my_dialog.js">dialog definition file</a>:</p> + <ol> + <li><strong>Creating a custom dialog window</strong> &ndash; "My Dialog" dialog window opened with the "My Dialog" toolbar button.</li> + <li><strong>Creating a custom button</strong> &ndash; Add button to open the dialog with "My Dialog" toolbar button.</li> + </ol> + <textarea cols="80" id="editor1" name="editor1" rows="10">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="https://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea> + <script> + // Replace the <textarea id="editor1"> with an CKEditor instance. + CKEDITOR.replace( 'editor1', config ); + </script> + <p>The below editor modify the dialog definition of the above added dialog using the <code>dialogDefinition</code> event:</p> + <ol> + <li><strong>Adding dialog tab</strong> &ndash; Add new tab "My Tab" to dialog window.</li> + <li><strong>Removing a dialog window tab</strong> &ndash; Remove "Second Tab" page from the dialog window.</li> + <li><strong>Adding dialog window fields</strong> &ndash; Add "My Custom Field" to the dialog window.</li> + <li><strong>Removing dialog window field</strong> &ndash; Remove "Select Field" selection field from the dialog window.</li> + <li><strong>Setting default values for dialog window fields</strong> &ndash; Set default value of "Text Field" text field. </li> + <li><strong>Setup initial focus for dialog window</strong> &ndash; Put initial focus on "My Custom Field" text field. </li> + </ol> + <textarea cols="80" id="editor2" name="editor2" rows="10">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="https://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea> + <script> + + // Replace the <textarea id="editor1"> with an CKEditor instance. + CKEDITOR.replace( 'editor2', config ); + + </script> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/dialog/dialog.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/dialog/assets/my_dialog.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/dialog/assets/my_dialog.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/dialog/assets/my_dialog.js (revision 7) @@ -0,0 +1,48 @@ +/** + * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +CKEDITOR.dialog.add( 'myDialog', function() { + return { + title: 'My Dialog', + minWidth: 400, + minHeight: 200, + contents: [ + { + id: 'tab1', + label: 'First Tab', + title: 'First Tab', + elements: [ + { + id: 'input1', + type: 'text', + label: 'Text Field' + }, + { + id: 'select1', + type: 'select', + label: 'Select Field', + items: [ + [ 'option1', 'value1' ], + [ 'option2', 'value2' ] + ] + } + ] + }, + { + id: 'tab2', + label: 'Second Tab', + title: 'Second Tab', + elements: [ + { + id: 'button1', + type: 'button', + label: 'Button Field' + } + ] + } + ] + }; +} ); + Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/dialog/assets/my_dialog.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/assets/outputxhtml/outputxhtml.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/assets/outputxhtml/outputxhtml.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/assets/outputxhtml/outputxhtml.css (revision 7) @@ -0,0 +1,204 @@ +/* + * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + * + * Styles used by the XHTML 1.1 sample page (xhtml.html). + */ + +/** + * Basic definitions for the editing area. + */ +body +{ + font-family: Arial, Verdana, sans-serif; + font-size: 80%; + color: #000000; + background-color: #ffffff; + padding: 5px; + margin: 0px; +} + +/** + * Core styles. + */ + +.Bold +{ + font-weight: bold; +} + +.Italic +{ + font-style: italic; +} + +.Underline +{ + text-decoration: underline; +} + +.StrikeThrough +{ + text-decoration: line-through; +} + +.Subscript +{ + vertical-align: sub; + font-size: smaller; +} + +.Superscript +{ + vertical-align: super; + font-size: smaller; +} + +/** + * Font faces. + */ + +.FontComic +{ + font-family: 'Comic Sans MS'; +} + +.FontCourier +{ + font-family: 'Courier New'; +} + +.FontTimes +{ + font-family: 'Times New Roman'; +} + +/** + * Font sizes. + */ + +.FontSmaller +{ + font-size: smaller; +} + +.FontLarger +{ + font-size: larger; +} + +.FontSmall +{ + font-size: 8pt; +} + +.FontBig +{ + font-size: 14pt; +} + +.FontDouble +{ + font-size: 200%; +} + +/** + * Font colors. + */ +.FontColor1 +{ + color: #ff9900; +} + +.FontColor2 +{ + color: #0066cc; +} + +.FontColor3 +{ + color: #ff0000; +} + +.FontColor1BG +{ + background-color: #ff9900; +} + +.FontColor2BG +{ + background-color: #0066cc; +} + +.FontColor3BG +{ + background-color: #ff0000; +} + +/** + * Indentation. + */ + +.Indent1 +{ + margin-left: 40px; +} + +.Indent2 +{ + margin-left: 80px; +} + +.Indent3 +{ + margin-left: 120px; +} + +/** + * Alignment. + */ + +.JustifyLeft +{ + text-align: left; +} + +.JustifyRight +{ + text-align: right; +} + +.JustifyCenter +{ + text-align: center; +} + +.JustifyFull +{ + text-align: justify; +} + +/** + * Other. + */ + +code +{ + font-family: courier, monospace; + background-color: #eeeeee; + padding-left: 1px; + padding-right: 1px; + border: #c0c0c0 1px solid; +} + +kbd +{ + padding: 0px 1px 0px 1px; + border-width: 1px 2px 2px 1px; + border-style: solid; +} + +blockquote +{ + color: #808080; +} Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/assets/outputxhtml/outputxhtml.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/assets/uilanguages/languages.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/assets/uilanguages/languages.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/assets/uilanguages/languages.js (revision 7) @@ -0,0 +1,7 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +var CKEDITOR_LANGS=function(){var c={af:"Afrikaans",ar:"Arabic",az:"Azerbaijani",bg:"Bulgarian",bn:"Bengali/Bangla",bs:"Bosnian",ca:"Catalan",cs:"Czech",cy:"Welsh",da:"Danish",de:"German","de-ch":"German (Switzerland)",el:"Greek",en:"English","en-au":"English (Australia)","en-ca":"English (Canadian)","en-gb":"English (United Kingdom)",eo:"Esperanto",es:"Spanish","es-mx":"Spanish (Mexico)",et:"Estonian",eu:"Basque",fa:"Persian",fi:"Finnish",fo:"Faroese",fr:"French","fr-ca":"French (Canada)",gl:"Galician", +gu:"Gujarati",he:"Hebrew",hi:"Hindi",hr:"Croatian",hu:"Hungarian",id:"Indonesian",is:"Icelandic",it:"Italian",ja:"Japanese",ka:"Georgian",km:"Khmer",ko:"Korean",ku:"Kurdish",lt:"Lithuanian",lv:"Latvian",mk:"Macedonian",mn:"Mongolian",ms:"Malay",nb:"Norwegian Bokmal",nl:"Dutch",no:"Norwegian",oc:"Occitan",pl:"Polish",pt:"Portuguese (Portugal)","pt-br":"Portuguese (Brazil)",ro:"Romanian",ru:"Russian",si:"Sinhala",sk:"Slovak",sq:"Albanian",sl:"Slovenian",sr:"Serbian (Cyrillic)","sr-latn":"Serbian (Latin)", +sv:"Swedish",th:"Thai",tr:"Turkish",tt:"Tatar",ug:"Uighur",uk:"Ukrainian",vi:"Vietnamese",zh:"Chinese Traditional","zh-cn":"Chinese Simplified"},b=[],a;for(a in CKEDITOR.lang.languages)b.push({code:a,name:c[a]||a});b.sort(function(a,b){return a.name<b.name?-1:1});return b}(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/assets/uilanguages/languages.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/assets/inlineall/logo.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/assets/inlineall/logo.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/assets/sample.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/assets/sample.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/enterkey/enterkey.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/enterkey/enterkey.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/enterkey/enterkey.html (revision 7) @@ -0,0 +1,106 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>ENTER Key Configuration &mdash; CKEditor Sample</title> + <script src="../../../ckeditor.js"></script> + <link href="../../../samples/old/sample.css" rel="stylesheet"> + <meta name="ckeditor-sample-name" content="Using the &quot;Enter&quot; key in CKEditor"> + <meta name="ckeditor-sample-group" content="Advanced Samples"> + <meta name="ckeditor-sample-description" content="Configuring the behavior of &lt;em&gt;Enter&lt;/em&gt; and &lt;em&gt;Shift+Enter&lt;/em&gt; keys."> + <script> + + var editor; + + function changeEnter() { + // If we already have an editor, let's destroy it first. + if ( editor ) + editor.destroy( true ); + + // Create the editor again, with the appropriate settings. + editor = CKEDITOR.replace( 'editor1', { + extraPlugins: 'enterkey', + enterMode: Number( document.getElementById( 'xEnter' ).value ), + shiftEnterMode: Number( document.getElementById( 'xShiftEnter' ).value ) + }); + } + + window.onload = changeEnter; + + </script> +</head> +<body> + <h1 class="samples"> + <a href="../../../samples/old/index.html">CKEditor Samples</a> &raquo; ENTER Key Configuration + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/enterkey.html">brand new version in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows how to configure the <em>Enter</em> and <em>Shift+Enter</em> keys + to perform actions specified in the + <a class="samples" href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-enterMode"><code>enterMode</code></a> + and <a class="samples" href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-shiftEnterMode"><code>shiftEnterMode</code></a> + parameters, respectively. + You can choose from the following options: + </p> + <ul class="samples"> + <li><strong><code>ENTER_P</code></strong> &ndash; new <code>&lt;p&gt;</code> paragraphs are created;</li> + <li><strong><code>ENTER_BR</code></strong> &ndash; lines are broken with <code>&lt;br&gt;</code> elements;</li> + <li><strong><code>ENTER_DIV</code></strong> &ndash; new <code>&lt;div&gt;</code> blocks are created.</li> + </ul> + <p> + The sample code below shows how to configure CKEditor to create a <code>&lt;div&gt;</code> block when <em>Enter</em> key is pressed. + </p> +<pre class="samples"> +CKEDITOR.replace( '<em>textarea_id</em>', { + <strong>enterMode: CKEDITOR.ENTER_DIV</strong> +});</pre> + <p> + Note that <code><em>textarea_id</em></code> in the code above is the <code>id</code> attribute of + the <code>&lt;textarea&gt;</code> element to be replaced. + </p> + </div> + <div style="float: left; margin-right: 20px"> + When <em>Enter</em> is pressed:<br> + <select id="xEnter" onchange="changeEnter();"> + <option selected="selected" value="1">Create a new &lt;P&gt; (recommended)</option> + <option value="3">Create a new &lt;DIV&gt;</option> + <option value="2">Break the line with a &lt;BR&gt;</option> + </select> + </div> + <div style="float: left"> + When <em>Shift+Enter</em> is pressed:<br> + <select id="xShiftEnter" onchange="changeEnter();"> + <option value="1">Create a new &lt;P&gt;</option> + <option value="3">Create a new &lt;DIV&gt;</option> + <option selected="selected" value="2">Break the line with a &lt;BR&gt; (recommended)</option> + </select> + </div> + <br style="clear: both"> + <form action="../../../samples/sample_posteddata.php" method="post"> + <p> + <br> + <textarea cols="80" id="editor1" name="editor1" rows="10">This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="https://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.</textarea> + </p> + <p> + <input type="submit" value="Submit"> + </p> + </form> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/enterkey/enterkey.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/index.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/index.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/index.html (revision 7) @@ -0,0 +1,131 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>CKEditor Samples</title> + <link rel="stylesheet" href="sample.css"> +</head> +<body> + <h1 class="samples"> + CKEditor Samples + </h1> + <div class="warning deprecated"> + These samples are not maintained anymore. Check out the <a href="https://sdk.ckeditor.com/">brand new samples in CKEditor SDK</a>. + </div> + <div class="twoColumns"> + <div class="twoColumnsLeft"> + <h2 class="samples"> + Basic Samples + </h2> + <dl class="samples"> + <dt><a class="samples" href="replacebyclass.html">Replace textarea elements by class name</a></dt> + <dd>Automatic replacement of all textarea elements of a given class with a CKEditor instance.</dd> + + <dt><a class="samples" href="replacebycode.html">Replace textarea elements by code</a></dt> + <dd>Replacement of textarea elements with CKEditor instances by using a JavaScript call.</dd> + + <dt><a class="samples" href="jquery.html">Create editors with jQuery</a></dt> + <dd>Creating standard and inline CKEditor instances with jQuery adapter.</dd> + </dl> + + <h2 class="samples"> + Basic Customization + </h2> + <dl class="samples"> + <dt><a class="samples" href="uicolor.html">User Interface color</a></dt> + <dd>Changing CKEditor User Interface color and adding a toolbar button that lets the user set the UI color.</dd> + + <dt><a class="samples" href="uilanguages.html">User Interface languages</a></dt> + <dd>Changing CKEditor User Interface language and adding a drop-down list that lets the user choose the UI language.</dd> + </dl> + + + <h2 class="samples">Plugins</h2> +<dl class="samples"> +<dt><a class="samples" href="magicline/magicline.html">Magicline plugin</a></dt> +<dd>Using the Magicline plugin to access difficult focus spaces.</dd> + +<dt><a class="samples" href="wysiwygarea/fullpage.html">Full page support</a></dt> +<dd>CKEditor inserted with a JavaScript call and used to edit the whole page from &lt;html&gt; to &lt;/html&gt;.</dd> +</dl> + </div> + <div class="twoColumnsRight"> + <h2 class="samples"> + Inline Editing + </h2> + <dl class="samples"> + <dt><a class="samples" href="inlineall.html">Massive inline editor creation</a></dt> + <dd>Turn all elements with <code>contentEditable = true</code> attribute into inline editors.</dd> + + <dt><a class="samples" href="inlinebycode.html">Convert element into an inline editor by code</a></dt> + <dd>Conversion of DOM elements into inline CKEditor instances by using a JavaScript call.</dd> + + <dt><a class="samples" href="inlinetextarea.html">Replace textarea with inline editor</a> <span class="new">New!</span></dt> + <dd>A form with a textarea that is replaced by an inline editor at runtime.</dd> + + + </dl> + + <h2 class="samples"> + Advanced Samples + </h2> + <dl class="samples"> + <dt><a class="samples" href="datafiltering.html">Data filtering and features activation</a> <span class="new">New!</span></dt> + <dd>Data filtering and automatic features activation basing on configuration.</dd> + + <dt><a class="samples" href="divreplace.html">Replace DIV elements on the fly</a></dt> + <dd>Transforming a <code>div</code> element into an instance of CKEditor with a mouse click.</dd> + + <dt><a class="samples" href="appendto.html">Append editor instances</a></dt> + <dd>Appending editor instances to existing DOM elements.</dd> + + <dt><a class="samples" href="ajax.html">Create and destroy editor instances for Ajax applications</a></dt> + <dd>Creating and destroying CKEditor instances on the fly and saving the contents entered into the editor window.</dd> + + <dt><a class="samples" href="api.html">Basic usage of the API</a></dt> + <dd>Using the CKEditor JavaScript API to interact with the editor at runtime.</dd> + + <dt><a class="samples" href="xhtmlstyle.html">XHTML-compliant style</a></dt> + <dd>Configuring CKEditor to produce XHTML 1.1 compliant attributes and styles.</dd> + + <dt><a class="samples" href="readonly.html">Read-only mode</a></dt> + <dd>Using the readOnly API to block introducing changes to the editor contents.</dd> + + <dt><a class="samples" href="tabindex.html">"Tab" key-based navigation</a></dt> + <dd>Navigating among editor instances with tab key.</dd> + + + +<dt><a class="samples" href="dialog/dialog.html">Using the JavaScript API to customize dialog windows</a></dt> +<dd>Using the dialog windows API to customize dialog windows without changing the original editor code.</dd> + +<dt><a class="samples" href="enterkey/enterkey.html">Using the &quot;Enter&quot; key in CKEditor</a></dt> +<dd>Configuring the behavior of <em>Enter</em> and <em>Shift+Enter</em> keys.</dd> + +<dt><a class="samples" href="htmlwriter/outputforflash.html">Output for Flash</a></dt> +<dd>Configuring CKEditor to produce HTML code that can be used with Adobe Flash.</dd> + +<dt><a class="samples" href="htmlwriter/outputhtml.html">Output HTML</a></dt> +<dd>Configuring CKEditor to produce legacy HTML 4 code.</dd> + +<dt><a class="samples" href="toolbar/toolbar.html">Toolbar Configurations</a></dt> +<dd>Configuring CKEditor to display full or custom toolbar layout.</dd> + + </dl> + </div> + </div> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/index.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/sample.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/sample.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/sample.js (revision 7) @@ -0,0 +1,50 @@ +/** + * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +// Tool scripts for the sample pages. +// This file can be ignored and is not required to make use of CKEditor. + +( function() { + CKEDITOR.on( 'instanceReady', function( ev ) { + // Check for sample compliance. + var editor = ev.editor, + meta = CKEDITOR.document.$.getElementsByName( 'ckeditor-sample-required-plugins' ), + requires = meta.length ? CKEDITOR.dom.element.get( meta[ 0 ] ).getAttribute( 'content' ).split( ',' ) : [], + missing = [], + i; + + if ( requires.length ) { + for ( i = 0; i < requires.length; i++ ) { + if ( !editor.plugins[ requires[ i ] ] ) + missing.push( '<code>' + requires[ i ] + '</code>' ); + } + + if ( missing.length ) { + var warn = CKEDITOR.dom.element.createFromHtml( + '<div class="warning">' + + '<span>To fully experience this demo, the ' + missing.join( ', ' ) + ' plugin' + ( missing.length > 1 ? 's are' : ' is' ) + ' required.</span>' + + '</div>' + ); + warn.insertBefore( editor.container ); + } + } + + // Set icons. + var doc = new CKEDITOR.dom.document( document ), + icons = doc.find( '.button_icon' ); + + for ( i = 0; i < icons.count(); i++ ) { + var icon = icons.getItem( i ), + name = icon.getAttribute( 'data-icon' ), + style = CKEDITOR.skin.getIconStyle( name, ( CKEDITOR.lang.dir == 'rtl' ) ); + + icon.addClass( 'cke_button_icon' ); + icon.addClass( 'cke_button__' + name + '_icon' ); + icon.setAttribute( 'style', style ); + icon.setStyle( 'float', 'none' ); + + } + } ); +} )(); Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/sample.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/wysiwygarea/fullpage.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/wysiwygarea/fullpage.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/wysiwygarea/fullpage.html (revision 7) @@ -0,0 +1,80 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>Full Page Editing &mdash; CKEditor Sample</title> + <script src="../../../ckeditor.js"></script> + <script src="../../../samples/old/sample.js"></script> + <link rel="stylesheet" href="../../../samples/old/sample.css"> + <meta name="ckeditor-sample-required-plugins" content="sourcearea"> + <meta name="ckeditor-sample-name" content="Full page support"> + <meta name="ckeditor-sample-group" content="Plugins"> + <meta name="ckeditor-sample-description" content="CKEditor inserted with a JavaScript call and used to edit the whole page from &lt;html&gt; to &lt;/html&gt;."> +</head> +<body> + <h1 class="samples"> + <a href="../../../samples/old/index.html">CKEditor Samples</a> &raquo; Full Page Editing + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/fullpage.html">brand new version in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows how to configure CKEditor to edit entire HTML pages, from the + <code>&lt;html&gt;</code> tag to the <code>&lt;/html&gt;</code> tag. + </p> + <p> + The CKEditor instance below is inserted with a JavaScript call using the following code: + </p> +<pre class="samples"> +CKEDITOR.replace( '<em>textarea_id</em>', { + <strong>fullPage: true</strong>, + <strong>allowedContent: true</strong> +}); +</pre> + <p> + Note that <code><em>textarea_id</em></code> in the code above is the <code>id</code> attribute of + the <code>&lt;textarea&gt;</code> element to be replaced. + </p> + <p> + The <code><em>allowedContent</em></code> in the code above is set to <code>true</code> to disable content filtering. + Setting this option is not obligatory, but in full page mode there is a strong chance that one may want be able to freely enter any HTML content in source mode without any limitations. + </p> + </div> + <form action="../../../samples/sample_posteddata.php" method="post"> + <label for="editor1"> + CKEditor output the entire page including content outside of + <code>&lt;body&gt;</code> element, so content like meta and title can be changed: + </label> + <textarea cols="80" id="editor1" name="editor1" rows="10"> + &lt;h1&gt;&lt;img align=&quot;right&quot; alt=&quot;Saturn V carrying Apollo 11&quot; src=&quot;../../../samples/old/assets/sample.jpg&quot;/&gt; Apollo 11&lt;/h1&gt; &lt;p&gt;&lt;b&gt;Apollo 11&lt;/b&gt; was the spaceflight that landed the first humans, Americans &lt;a href=&quot;http://en.wikipedia.org/wiki/Neil_Armstrong&quot; title=&quot;Neil Armstrong&quot;&gt;Neil Armstrong&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Buzz_Aldrin&quot; title=&quot;Buzz Aldrin&quot;&gt;Buzz Aldrin&lt;/a&gt;, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.&lt;/p&gt; &lt;p&gt;Armstrong spent about &lt;s&gt;three and a half&lt;/s&gt; two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5&amp;nbsp;kg) of lunar material for return to Earth. A third member of the mission, &lt;a href=&quot;http://en.wikipedia.org/wiki/Michael_Collins_(astronaut)&quot; title=&quot;Michael Collins (astronaut)&quot;&gt;Michael Collins&lt;/a&gt;, piloted the &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_Command/Service_Module&quot; title=&quot;Apollo Command/Service Module&quot;&gt;command&lt;/a&gt; spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth.&lt;/p&gt; &lt;h2&gt;Broadcasting and &lt;em&gt;quotes&lt;/em&gt; &lt;a id=&quot;quotes&quot; name=&quot;quotes&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;One small step for [a] man, one giant leap for mankind.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Apollo 11 effectively ended the &lt;a href=&quot;http://en.wikipedia.org/wiki/Space_Race&quot; title=&quot;Space Race&quot;&gt;Space Race&lt;/a&gt; and fulfilled a national goal proposed in 1961 by the late U.S. President &lt;a href=&quot;http://en.wikipedia.org/wiki/John_F._Kennedy&quot; title=&quot;John F. Kennedy&quot;&gt;John F. Kennedy&lt;/a&gt; in a speech before the United States Congress:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;[...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.&lt;/p&gt;&lt;/blockquote&gt; &lt;h2&gt;Technical details &lt;a id=&quot;tech-details&quot; name=&quot;tech-details&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;table align=&quot;right&quot; border=&quot;1&quot; bordercolor=&quot;#ccc&quot; cellpadding=&quot;5&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse:collapse;margin:10px 0 10px 15px;&quot;&gt; &lt;caption&gt;&lt;strong&gt;Mission crew&lt;/strong&gt;&lt;/caption&gt; &lt;thead&gt; &lt;tr&gt; &lt;th scope=&quot;col&quot;&gt;Position&lt;/th&gt; &lt;th scope=&quot;col&quot;&gt;Astronaut&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;Commander&lt;/td&gt; &lt;td&gt;Neil A. Armstrong&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Command Module Pilot&lt;/td&gt; &lt;td&gt;Michael Collins&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Lunar Module Pilot&lt;/td&gt; &lt;td&gt;Edwin &amp;quot;Buzz&amp;quot; E. Aldrin, Jr.&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;Launched by a &lt;strong&gt;Saturn V&lt;/strong&gt; rocket from &lt;a href=&quot;http://en.wikipedia.org/wiki/Kennedy_Space_Center&quot; title=&quot;Kennedy Space Center&quot;&gt;Kennedy Space Center&lt;/a&gt; in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of &lt;a href=&quot;http://en.wikipedia.org/wiki/NASA&quot; title=&quot;NASA&quot;&gt;NASA&lt;/a&gt;&amp;#39;s Apollo program. The Apollo spacecraft had three parts:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Command Module&lt;/strong&gt; with a cabin for the three astronauts which was the only part which landed back on Earth&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Service Module&lt;/strong&gt; which supported the Command Module with propulsion, electrical power, oxygen and water&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Lunar Module&lt;/strong&gt; for landing on the Moon.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;After being sent to the Moon by the Saturn V&amp;#39;s upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mare_Tranquillitatis&quot; title=&quot;Mare Tranquillitatis&quot;&gt;Sea of Tranquility&lt;/a&gt;. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pacific_Ocean&quot; title=&quot;Pacific Ocean&quot;&gt;Pacific Ocean&lt;/a&gt; on July 24.&lt;/p&gt; &lt;hr/&gt; &lt;p style=&quot;text-align: right;&quot;&gt;&lt;small&gt;Source: &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_11&quot;&gt;Wikipedia.org&lt;/a&gt;&lt;/small&gt;&lt;/p&gt; + </textarea> + <script> + + CKEDITOR.replace( 'editor1', { + fullPage: true, + allowedContent: true, + extraPlugins: 'wysiwygarea' + }); + + </script> + <p> + <input type="submit" value="Submit"> + </p> + </form> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/wysiwygarea/fullpage.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/datafiltering.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/datafiltering.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/datafiltering.html (revision 7) @@ -0,0 +1,508 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>Data Filtering &mdash; CKEditor Sample</title> + <script src="../../ckeditor.js"></script> + <link rel="stylesheet" href="sample.css"> + <script> + // Remove advanced tabs for all editors. + CKEDITOR.config.removeDialogTabs = 'image:advanced;link:advanced;flash:advanced;creatediv:advanced;editdiv:advanced'; + </script> +</head> +<body> + <h1 class="samples"> + <a href="index.html">CKEditor Samples</a> &raquo; Data Filtering and Features Activation + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/acf.html">brand new version in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample page demonstrates the idea of Advanced Content Filter + (<abbr title="Advanced Content Filter">ACF</abbr>), a sophisticated + tool that takes control over what kind of data is accepted by the editor and what + kind of output is produced. + </p> + <h2>When and what is being filtered?</h2> + <p> + <abbr title="Advanced Content Filter">ACF</abbr> controls + <strong>every single source of data</strong> that comes to the editor. + It process both HTML that is inserted manually (i.e. pasted by the user) + and programmatically like: + </p> +<pre class="samples"> +editor.setData( '&lt;p&gt;Hello world!&lt;/p&gt;' ); +</pre> + <p> + <abbr title="Advanced Content Filter">ACF</abbr> discards invalid, + useless HTML tags and attributes so the editor remains "clean" during + runtime. <abbr title="Advanced Content Filter">ACF</abbr> behaviour + can be configured and adjusted for a particular case to prevent the + output HTML (i.e. in CMS systems) from being polluted. + + This kind of filtering is a first, client-side line of defense + against "<a href="http://en.wikipedia.org/wiki/Tag_soup">tag soups</a>", + the tool that precisely restricts which tags, attributes and styles + are allowed (desired). When properly configured, <abbr title="Advanced Content Filter">ACF</abbr> + is an easy and fast way to produce a high-quality, intentionally filtered HTML. + </p> + + <h3>How to configure or disable ACF?</h3> + <p> + Advanced Content Filter is enabled by default, working in "automatic mode", yet + it provides a set of easy rules that allow adjusting filtering rules + and disabling the entire feature when necessary. The config property + responsible for this feature is <code><a class="samples" + href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-allowedContent">config.allowedContent</a></code>. + </p> + <p> + By "automatic mode" is meant that loaded plugins decide which kind + of content is enabled and which is not. For example, if the link + plugin is loaded it implies that <code>&lt;a&gt;</code> tag is + automatically allowed. Each plugin is given a set + of predefined <abbr title="Advanced Content Filter">ACF</abbr> rules + that control the editor until <code><a class="samples" + href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-allowedContent"> + config.allowedContent</a></code> + is defined manually. + </p> + <p> + Let's assume our intention is to restrict the editor to accept (produce) <strong>paragraphs + only: no attributes, no styles, no other tags</strong>. + With <abbr title="Advanced Content Filter">ACF</abbr> + this is very simple. Basically set <code><a class="samples" + href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-allowedContent"> + config.allowedContent</a></code> to <code>'p'</code>: + </p> +<pre class="samples"> +var editor = CKEDITOR.replace( <em>textarea_id</em>, { + <strong>allowedContent: 'p'</strong> +} ); +</pre> + <p> + Now try to play with allowed content: + </p> +<pre class="samples"> +// Trying to insert disallowed tag and attribute. +editor.setData( '&lt;p <strong>style="color: red"</strong>&gt;Hello <strong>&lt;em&gt;world&lt;/em&gt;</strong>!&lt;/p&gt;' ); +alert( editor.getData() ); + +// Filtered data is returned. +"&lt;p&gt;Hello world!&lt;/p&gt;" +</pre> + <p> + What happened? Since <code>config.allowedContent: 'p'</code> is set the editor assumes + that only plain <code>&lt;p&gt;</code> are accepted. Nothing more. This is why + <code>style</code> attribute and <code>&lt;em&gt;</code> tag are gone. The same + filtering would happen if we pasted disallowed HTML into this editor. + </p> + <p> + This is just a small sample of what <abbr title="Advanced Content Filter">ACF</abbr> + can do. To know more, please refer to the sample section below and + <a href="https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_advanced_content_filter">the official Advanced Content Filter guide</a>. + </p> + <p> + You may, of course, want CKEditor to avoid filtering of any kind. + To get rid of <abbr title="Advanced Content Filter">ACF</abbr>, + basically set <code><a class="samples" + href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-allowedContent"> + config.allowedContent</a></code> to <code>true</code> like this: + </p> +<pre class="samples"> +CKEDITOR.replace( <em>textarea_id</em>, { + <strong>allowedContent: true</strong> +} ); +</pre> + + <h2>Beyond data flow: Features activation</h2> + <p> + <abbr title="Advanced Content Filter">ACF</abbr> is far more than + <abbr title="Input/Output">I/O</abbr> control: the entire + <abbr title="User Interface">UI</abbr> of the editor is adjusted to what + filters restrict. For example: if <code>&lt;a&gt;</code> tag is + <strong>disallowed</strong> + by <abbr title="Advanced Content Filter">ACF</abbr>, + then accordingly <code>link</code> command, toolbar button and link dialog + are also disabled. Editor is smart: it knows which features must be + removed from the interface to match filtering rules. + </p> + <p> + CKEditor can be far more specific. If <code>&lt;a&gt;</code> tag is + <strong>allowed</strong> by filtering rules to be used but it is restricted + to have only one attribute (<code>href</code>) + <code>config.allowedContent = 'a[!href]'</code>, then + "Target" tab of the link dialog is automatically disabled as <code>target</code> + attribute isn't included in <abbr title="Advanced Content Filter">ACF</abbr> rules + for <code>&lt;a&gt;</code>. This behaviour applies to dialog fields, context + menus and toolbar buttons. + </p> + + <h2>Sample configurations</h2> + <p> + There are several editor instances below that present different + <abbr title="Advanced Content Filter">ACF</abbr> setups. <strong>All of them, + except the inline instance, share the same HTML content</strong> to visualize + how different filtering rules affect the same input data. + </p> + </div> + + <div> + <label for="editor1"> + Editor 1: + </label> + <div class="description"> + <p> + This editor is using default configuration ("automatic mode"). It means that + <code><a class="samples" + href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-allowedContent"> + config.allowedContent</a></code> is defined by loaded plugins. + Each plugin extends filtering rules to make it's own associated content + available for the user. + </p> + </div> + <textarea cols="80" id="editor1" name="editor1" rows="10"> + &lt;h1&gt;&lt;img alt=&quot;Saturn V carrying Apollo 11&quot; class=&quot;right&quot; src=&quot;assets/sample.jpg&quot;/&gt; Apollo 11&lt;/h1&gt; &lt;p&gt;&lt;b&gt;Apollo 11&lt;/b&gt; was the spaceflight that landed the first humans, Americans &lt;a href=&quot;http://en.wikipedia.org/wiki/Neil_Armstrong&quot; title=&quot;Neil Armstrong&quot;&gt;Neil Armstrong&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Buzz_Aldrin&quot; title=&quot;Buzz Aldrin&quot;&gt;Buzz Aldrin&lt;/a&gt;, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.&lt;/p&gt; &lt;p&gt;Armstrong spent about &lt;s&gt;three and a half&lt;/s&gt; two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5&amp;nbsp;kg) of lunar material for return to Earth. A third member of the mission, &lt;a href=&quot;http://en.wikipedia.org/wiki/Michael_Collins_(astronaut)&quot; title=&quot;Michael Collins (astronaut)&quot;&gt;Michael Collins&lt;/a&gt;, piloted the &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_Command/Service_Module&quot; title=&quot;Apollo Command/Service Module&quot;&gt;command&lt;/a&gt; spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth.&lt;/p&gt; &lt;h2&gt;Broadcasting and &lt;em&gt;quotes&lt;/em&gt; &lt;a id=&quot;quotes&quot; name=&quot;quotes&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;One small step for [a] man, one giant leap for mankind.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Apollo 11 effectively ended the &lt;a href=&quot;http://en.wikipedia.org/wiki/Space_Race&quot; title=&quot;Space Race&quot;&gt;Space Race&lt;/a&gt; and fulfilled a national goal proposed in 1961 by the late U.S. President &lt;a href=&quot;http://en.wikipedia.org/wiki/John_F._Kennedy&quot; title=&quot;John F. Kennedy&quot;&gt;John F. Kennedy&lt;/a&gt; in a speech before the United States Congress:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;[...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.&lt;/p&gt;&lt;/blockquote&gt; &lt;h2&gt;Technical details &lt;a id=&quot;tech-details&quot; name=&quot;tech-details&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;table align=&quot;right&quot; border=&quot;1&quot; bordercolor=&quot;#ccc&quot; cellpadding=&quot;5&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse:collapse;margin:10px 0 10px 15px;&quot;&gt; &lt;caption&gt;&lt;strong&gt;Mission crew&lt;/strong&gt;&lt;/caption&gt; &lt;thead&gt; &lt;tr&gt; &lt;th scope=&quot;col&quot;&gt;Position&lt;/th&gt; &lt;th scope=&quot;col&quot;&gt;Astronaut&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;Commander&lt;/td&gt; &lt;td&gt;Neil A. Armstrong&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Command Module Pilot&lt;/td&gt; &lt;td&gt;Michael Collins&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Lunar Module Pilot&lt;/td&gt; &lt;td&gt;Edwin &amp;quot;Buzz&amp;quot; E. Aldrin, Jr.&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;Launched by a &lt;strong&gt;Saturn V&lt;/strong&gt; rocket from &lt;a href=&quot;http://en.wikipedia.org/wiki/Kennedy_Space_Center&quot; title=&quot;Kennedy Space Center&quot;&gt;Kennedy Space Center&lt;/a&gt; in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of &lt;a href=&quot;http://en.wikipedia.org/wiki/NASA&quot; title=&quot;NASA&quot;&gt;NASA&lt;/a&gt;&amp;#39;s Apollo program. The Apollo spacecraft had three parts:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Command Module&lt;/strong&gt; with a cabin for the three astronauts which was the only part which landed back on Earth&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Service Module&lt;/strong&gt; which supported the Command Module with propulsion, electrical power, oxygen and water&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Lunar Module&lt;/strong&gt; for landing on the Moon.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;After being sent to the Moon by the Saturn V&amp;#39;s upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mare_Tranquillitatis&quot; title=&quot;Mare Tranquillitatis&quot;&gt;Sea of Tranquility&lt;/a&gt;. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pacific_Ocean&quot; title=&quot;Pacific Ocean&quot;&gt;Pacific Ocean&lt;/a&gt; on July 24.&lt;/p&gt; &lt;hr/&gt; &lt;p style=&quot;text-align: right;&quot;&gt;&lt;small&gt;Source: &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_11&quot;&gt;Wikipedia.org&lt;/a&gt;&lt;/small&gt;&lt;/p&gt; + </textarea> + + <script> + + CKEDITOR.replace( 'editor1' ); + + </script> + </div> + + <br> + + <div> + <label for="editor2"> + Editor 2: + </label> + <div class="description"> + <p> + This editor is using a custom configuration for + <abbr title="Advanced Content Filter">ACF</abbr>: + </p> +<pre class="samples"> +CKEDITOR.replace( 'editor2', { + allowedContent: + 'h1 h2 h3 p blockquote strong em;' + + 'a[!href];' + + 'img(left,right)[!src,alt,width,height];' + + 'table tr th td caption;' + + 'span{!font-family};' +' + 'span{!color};' + + 'span(!marker);' + + 'del ins' +} ); +</pre> + <p> + The following rules may require additional explanation: + </p> + <ul> + <li> + <code>h1 h2 h3 p blockquote strong em</code> - These tags + are accepted by the editor. Any tag attributes will be discarded. + </li> + <li> + <code>a[!href]</code> - <code>href</code> attribute is obligatory + for <code>&lt;a&gt;</code> tag. Tags without this attribute + are disarded. No other attribute will be accepted. + </li> + <li> + <code>img(left,right)[!src,alt,width,height]</code> - <code>src</code> + attribute is obligatory for <code>&lt;img&gt;</code> tag. + <code>alt</code>, <code>width</code>, <code>height</code> + and <code>class</code> attributes are accepted but + <code>class</code> must be either <code>class="left"</code> + or <code>class="right"</code> + </li> + <li> + <code>table tr th td caption</code> - These tags + are accepted by the editor. Any tag attributes will be discarded. + </li> + <li> + <code>span{!font-family}</code>, <code>span{!color}</code>, + <code>span(!marker)</code> - <code>&lt;span&gt;</code> tags + will be accepted if either <code>font-family</code> or + <code>color</code> style is set or <code>class="marker"</code> + is present. + </li> + <li> + <code>del ins</code> - These tags + are accepted by the editor. Any tag attributes will be discarded. + </li> + </ul> + <p> + Please note that <strong><abbr title="User Interface">UI</abbr> of the + editor is different</strong>. It's a response to what happened to the filters. + Since <code>text-align</code> isn't allowed, the align toolbar is gone. + The same thing happened to subscript/superscript, strike, underline + (<code>&lt;u&gt;</code>, <code>&lt;sub&gt;</code>, <code>&lt;sup&gt;</code> + are disallowed by <code><a class="samples" + href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-allowedContent"> + config.allowedContent</a></code>) and many other buttons. + </p> + </div> + <textarea cols="80" id="editor2" name="editor2" rows="10"> + &lt;h1&gt;&lt;img alt=&quot;Saturn V carrying Apollo 11&quot; class=&quot;right&quot; src=&quot;assets/sample.jpg&quot;/&gt; Apollo 11&lt;/h1&gt; &lt;p&gt;&lt;b&gt;Apollo 11&lt;/b&gt; was the spaceflight that landed the first humans, Americans &lt;a href=&quot;http://en.wikipedia.org/wiki/Neil_Armstrong&quot; title=&quot;Neil Armstrong&quot;&gt;Neil Armstrong&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Buzz_Aldrin&quot; title=&quot;Buzz Aldrin&quot;&gt;Buzz Aldrin&lt;/a&gt;, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.&lt;/p&gt; &lt;p&gt;Armstrong spent about &lt;s&gt;three and a half&lt;/s&gt; two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5&amp;nbsp;kg) of lunar material for return to Earth. A third member of the mission, &lt;a href=&quot;http://en.wikipedia.org/wiki/Michael_Collins_(astronaut)&quot; title=&quot;Michael Collins (astronaut)&quot;&gt;Michael Collins&lt;/a&gt;, piloted the &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_Command/Service_Module&quot; title=&quot;Apollo Command/Service Module&quot;&gt;command&lt;/a&gt; spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth.&lt;/p&gt; &lt;h2&gt;Broadcasting and &lt;em&gt;quotes&lt;/em&gt; &lt;a id=&quot;quotes&quot; name=&quot;quotes&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;One small step for [a] man, one giant leap for mankind.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Apollo 11 effectively ended the &lt;a href=&quot;http://en.wikipedia.org/wiki/Space_Race&quot; title=&quot;Space Race&quot;&gt;Space Race&lt;/a&gt; and fulfilled a national goal proposed in 1961 by the late U.S. President &lt;a href=&quot;http://en.wikipedia.org/wiki/John_F._Kennedy&quot; title=&quot;John F. Kennedy&quot;&gt;John F. Kennedy&lt;/a&gt; in a speech before the United States Congress:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;[...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.&lt;/p&gt;&lt;/blockquote&gt; &lt;h2&gt;Technical details &lt;a id=&quot;tech-details&quot; name=&quot;tech-details&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;table align=&quot;right&quot; border=&quot;1&quot; bordercolor=&quot;#ccc&quot; cellpadding=&quot;5&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse:collapse;margin:10px 0 10px 15px;&quot;&gt; &lt;caption&gt;&lt;strong&gt;Mission crew&lt;/strong&gt;&lt;/caption&gt; &lt;thead&gt; &lt;tr&gt; &lt;th scope=&quot;col&quot;&gt;Position&lt;/th&gt; &lt;th scope=&quot;col&quot;&gt;Astronaut&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;Commander&lt;/td&gt; &lt;td&gt;Neil A. Armstrong&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Command Module Pilot&lt;/td&gt; &lt;td&gt;Michael Collins&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Lunar Module Pilot&lt;/td&gt; &lt;td&gt;Edwin &amp;quot;Buzz&amp;quot; E. Aldrin, Jr.&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;Launched by a &lt;strong&gt;Saturn V&lt;/strong&gt; rocket from &lt;a href=&quot;http://en.wikipedia.org/wiki/Kennedy_Space_Center&quot; title=&quot;Kennedy Space Center&quot;&gt;Kennedy Space Center&lt;/a&gt; in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of &lt;a href=&quot;http://en.wikipedia.org/wiki/NASA&quot; title=&quot;NASA&quot;&gt;NASA&lt;/a&gt;&amp;#39;s Apollo program. The Apollo spacecraft had three parts:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Command Module&lt;/strong&gt; with a cabin for the three astronauts which was the only part which landed back on Earth&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Service Module&lt;/strong&gt; which supported the Command Module with propulsion, electrical power, oxygen and water&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Lunar Module&lt;/strong&gt; for landing on the Moon.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;After being sent to the Moon by the Saturn V&amp;#39;s upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mare_Tranquillitatis&quot; title=&quot;Mare Tranquillitatis&quot;&gt;Sea of Tranquility&lt;/a&gt;. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pacific_Ocean&quot; title=&quot;Pacific Ocean&quot;&gt;Pacific Ocean&lt;/a&gt; on July 24.&lt;/p&gt; &lt;hr/&gt; &lt;p style=&quot;text-align: right;&quot;&gt;&lt;small&gt;Source: &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_11&quot;&gt;Wikipedia.org&lt;/a&gt;&lt;/small&gt;&lt;/p&gt; + </textarea> + <script> + + CKEDITOR.replace( 'editor2', { + allowedContent: + 'h1 h2 h3 p blockquote strong em;' + + 'a[!href];' + + 'img(left,right)[!src,alt,width,height];' + + 'table tr th td caption;' + + 'span{!font-family};' + + 'span{!color};' + + 'span(!marker);' + + 'del ins' + } ); + + </script> + </div> + + <br> + + <div> + <label for="editor3"> + Editor 3: + </label> + <div class="description"> + <p> + This editor is using a custom configuration for + <abbr title="Advanced Content Filter">ACF</abbr>. + Note that filters can be configured as an object literal + as an alternative to a string-based definition. + </p> +<pre class="samples"> +CKEDITOR.replace( 'editor3', { + allowedContent: { + 'b i ul ol big small': true, + 'h1 h2 h3 p blockquote li': { + styles: 'text-align' + }, + a: { attributes: '!href,target' }, + img: { + attributes: '!src,alt', + styles: 'width,height', + classes: 'left,right' + } + } +} ); +</pre> + </div> + <textarea cols="80" id="editor3" name="editor3" rows="10"> + &lt;h1&gt;&lt;img alt=&quot;Saturn V carrying Apollo 11&quot; class=&quot;right&quot; src=&quot;assets/sample.jpg&quot;/&gt; Apollo 11&lt;/h1&gt; &lt;p&gt;&lt;b&gt;Apollo 11&lt;/b&gt; was the spaceflight that landed the first humans, Americans &lt;a href=&quot;http://en.wikipedia.org/wiki/Neil_Armstrong&quot; title=&quot;Neil Armstrong&quot;&gt;Neil Armstrong&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Buzz_Aldrin&quot; title=&quot;Buzz Aldrin&quot;&gt;Buzz Aldrin&lt;/a&gt;, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.&lt;/p&gt; &lt;p&gt;Armstrong spent about &lt;s&gt;three and a half&lt;/s&gt; two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5&amp;nbsp;kg) of lunar material for return to Earth. A third member of the mission, &lt;a href=&quot;http://en.wikipedia.org/wiki/Michael_Collins_(astronaut)&quot; title=&quot;Michael Collins (astronaut)&quot;&gt;Michael Collins&lt;/a&gt;, piloted the &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_Command/Service_Module&quot; title=&quot;Apollo Command/Service Module&quot;&gt;command&lt;/a&gt; spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth.&lt;/p&gt; &lt;h2&gt;Broadcasting and &lt;em&gt;quotes&lt;/em&gt; &lt;a id=&quot;quotes&quot; name=&quot;quotes&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;One small step for [a] man, one giant leap for mankind.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Apollo 11 effectively ended the &lt;a href=&quot;http://en.wikipedia.org/wiki/Space_Race&quot; title=&quot;Space Race&quot;&gt;Space Race&lt;/a&gt; and fulfilled a national goal proposed in 1961 by the late U.S. President &lt;a href=&quot;http://en.wikipedia.org/wiki/John_F._Kennedy&quot; title=&quot;John F. Kennedy&quot;&gt;John F. Kennedy&lt;/a&gt; in a speech before the United States Congress:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;[...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.&lt;/p&gt;&lt;/blockquote&gt; &lt;h2&gt;Technical details &lt;a id=&quot;tech-details&quot; name=&quot;tech-details&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;table align=&quot;right&quot; border=&quot;1&quot; bordercolor=&quot;#ccc&quot; cellpadding=&quot;5&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse:collapse;margin:10px 0 10px 15px;&quot;&gt; &lt;caption&gt;&lt;strong&gt;Mission crew&lt;/strong&gt;&lt;/caption&gt; &lt;thead&gt; &lt;tr&gt; &lt;th scope=&quot;col&quot;&gt;Position&lt;/th&gt; &lt;th scope=&quot;col&quot;&gt;Astronaut&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;Commander&lt;/td&gt; &lt;td&gt;Neil A. Armstrong&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Command Module Pilot&lt;/td&gt; &lt;td&gt;Michael Collins&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Lunar Module Pilot&lt;/td&gt; &lt;td&gt;Edwin &amp;quot;Buzz&amp;quot; E. Aldrin, Jr.&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;Launched by a &lt;strong&gt;Saturn V&lt;/strong&gt; rocket from &lt;a href=&quot;http://en.wikipedia.org/wiki/Kennedy_Space_Center&quot; title=&quot;Kennedy Space Center&quot;&gt;Kennedy Space Center&lt;/a&gt; in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of &lt;a href=&quot;http://en.wikipedia.org/wiki/NASA&quot; title=&quot;NASA&quot;&gt;NASA&lt;/a&gt;&amp;#39;s Apollo program. The Apollo spacecraft had three parts:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Command Module&lt;/strong&gt; with a cabin for the three astronauts which was the only part which landed back on Earth&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Service Module&lt;/strong&gt; which supported the Command Module with propulsion, electrical power, oxygen and water&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Lunar Module&lt;/strong&gt; for landing on the Moon.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;After being sent to the Moon by the Saturn V&amp;#39;s upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mare_Tranquillitatis&quot; title=&quot;Mare Tranquillitatis&quot;&gt;Sea of Tranquility&lt;/a&gt;. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pacific_Ocean&quot; title=&quot;Pacific Ocean&quot;&gt;Pacific Ocean&lt;/a&gt; on July 24.&lt;/p&gt; &lt;hr/&gt; &lt;p style=&quot;text-align: right;&quot;&gt;&lt;small&gt;Source: &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_11&quot;&gt;Wikipedia.org&lt;/a&gt;&lt;/small&gt;&lt;/p&gt; + </textarea> + <script> + + CKEDITOR.replace( 'editor3', { + allowedContent: { + 'b i ul ol big small': true, + 'h1 h2 h3 p blockquote li': { + styles: 'text-align' + }, + a: { attributes: '!href,target' }, + img: { + attributes: '!src,alt', + styles: 'width,height', + classes: 'left,right' + } + } + } ); + + </script> + </div> + + <br> + + <div> + <label for="editor4"> + Editor 4: + </label> + <div class="description"> + <p> + This editor is using a custom set of plugins and buttons. + </p> +<pre class="samples"> +CKEDITOR.replace( 'editor4', { + removePlugins: 'bidi,font,forms,flash,horizontalrule,iframe,justify,table,tabletools,smiley', + removeButtons: 'Anchor,Underline,Strike,Subscript,Superscript,Image', + format_tags: 'p;h1;h2;h3;pre;address' +} ); +</pre> + <p> + As you can see, removing plugins and buttons implies filtering. + Several tags are not allowed in the editor because there's no + plugin/button that is responsible for creating and editing this + kind of content (for example: the image is missing because + of <code>removeButtons: 'Image'</code>). The conclusion is that + <abbr title="Advanced Content Filter">ACF</abbr> works "backwards" + as well: <strong>modifying <abbr title="User Interface">UI</abbr> + elements is changing allowed content rules</strong>. + </p> + </div> + <textarea cols="80" id="editor4" name="editor4" rows="10"> + &lt;h1&gt;&lt;img alt=&quot;Saturn V carrying Apollo 11&quot; class=&quot;right&quot; src=&quot;assets/sample.jpg&quot;/&gt; Apollo 11&lt;/h1&gt; &lt;p&gt;&lt;b&gt;Apollo 11&lt;/b&gt; was the spaceflight that landed the first humans, Americans &lt;a href=&quot;http://en.wikipedia.org/wiki/Neil_Armstrong&quot; title=&quot;Neil Armstrong&quot;&gt;Neil Armstrong&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Buzz_Aldrin&quot; title=&quot;Buzz Aldrin&quot;&gt;Buzz Aldrin&lt;/a&gt;, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.&lt;/p&gt; &lt;p&gt;Armstrong spent about &lt;s&gt;three and a half&lt;/s&gt; two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5&amp;nbsp;kg) of lunar material for return to Earth. A third member of the mission, &lt;a href=&quot;http://en.wikipedia.org/wiki/Michael_Collins_(astronaut)&quot; title=&quot;Michael Collins (astronaut)&quot;&gt;Michael Collins&lt;/a&gt;, piloted the &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_Command/Service_Module&quot; title=&quot;Apollo Command/Service Module&quot;&gt;command&lt;/a&gt; spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth.&lt;/p&gt; &lt;h2&gt;Broadcasting and &lt;em&gt;quotes&lt;/em&gt; &lt;a id=&quot;quotes&quot; name=&quot;quotes&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;One small step for [a] man, one giant leap for mankind.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Apollo 11 effectively ended the &lt;a href=&quot;http://en.wikipedia.org/wiki/Space_Race&quot; title=&quot;Space Race&quot;&gt;Space Race&lt;/a&gt; and fulfilled a national goal proposed in 1961 by the late U.S. President &lt;a href=&quot;http://en.wikipedia.org/wiki/John_F._Kennedy&quot; title=&quot;John F. Kennedy&quot;&gt;John F. Kennedy&lt;/a&gt; in a speech before the United States Congress:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;[...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.&lt;/p&gt;&lt;/blockquote&gt; &lt;h2&gt;Technical details &lt;a id=&quot;tech-details&quot; name=&quot;tech-details&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;table align=&quot;right&quot; border=&quot;1&quot; bordercolor=&quot;#ccc&quot; cellpadding=&quot;5&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse:collapse;margin:10px 0 10px 15px;&quot;&gt; &lt;caption&gt;&lt;strong&gt;Mission crew&lt;/strong&gt;&lt;/caption&gt; &lt;thead&gt; &lt;tr&gt; &lt;th scope=&quot;col&quot;&gt;Position&lt;/th&gt; &lt;th scope=&quot;col&quot;&gt;Astronaut&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;Commander&lt;/td&gt; &lt;td&gt;Neil A. Armstrong&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Command Module Pilot&lt;/td&gt; &lt;td&gt;Michael Collins&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Lunar Module Pilot&lt;/td&gt; &lt;td&gt;Edwin &amp;quot;Buzz&amp;quot; E. Aldrin, Jr.&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;Launched by a &lt;strong&gt;Saturn V&lt;/strong&gt; rocket from &lt;a href=&quot;http://en.wikipedia.org/wiki/Kennedy_Space_Center&quot; title=&quot;Kennedy Space Center&quot;&gt;Kennedy Space Center&lt;/a&gt; in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of &lt;a href=&quot;http://en.wikipedia.org/wiki/NASA&quot; title=&quot;NASA&quot;&gt;NASA&lt;/a&gt;&amp;#39;s Apollo program. The Apollo spacecraft had three parts:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Command Module&lt;/strong&gt; with a cabin for the three astronauts which was the only part which landed back on Earth&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Service Module&lt;/strong&gt; which supported the Command Module with propulsion, electrical power, oxygen and water&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Lunar Module&lt;/strong&gt; for landing on the Moon.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;After being sent to the Moon by the Saturn V&amp;#39;s upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mare_Tranquillitatis&quot; title=&quot;Mare Tranquillitatis&quot;&gt;Sea of Tranquility&lt;/a&gt;. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pacific_Ocean&quot; title=&quot;Pacific Ocean&quot;&gt;Pacific Ocean&lt;/a&gt; on July 24.&lt;/p&gt; &lt;hr/&gt; &lt;p style=&quot;text-align: right;&quot;&gt;&lt;small&gt;Source: &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_11&quot;&gt;Wikipedia.org&lt;/a&gt;&lt;/small&gt;&lt;/p&gt; + </textarea> + <script> + + CKEDITOR.replace( 'editor4', { + removePlugins: 'bidi,div,font,forms,flash,horizontalrule,iframe,justify,table,tabletools,smiley', + removeButtons: 'Anchor,Underline,Strike,Subscript,Superscript,Image', + format_tags: 'p;h1;h2;h3;pre;address' + } ); + + </script> + </div> + + <br> + + <div> + <label for="editor5"> + Editor 5: + </label> + <div class="description"> + <p> + This editor is built on editable <code>&lt;h1&gt;</code> element. + <abbr title="Advanced Content Filter">ACF</abbr> takes care of + what can be included in <code>&lt;h1&gt;</code>. Note that there + are no block styles in Styles combo. Also why lists, indentation, + blockquote, div, form and other buttons are missing. + </p> + <p> + <abbr title="Advanced Content Filter">ACF</abbr> makes sure that + no disallowed tags will come to <code>&lt;h1&gt;</code> so the final + markup is valid. If the user tried to paste some invalid HTML + into this editor (let's say a list), it would be automatically + converted into plain text. + </p> + </div> + <h1 id="editor5" contenteditable="true"> + <em>Apollo 11</em> was the spaceflight that landed the first humans, Americans <a href="http://en.wikipedia.org/wiki/Neil_Armstrong" title="Neil Armstrong">Neil Armstrong</a> and <a href="http://en.wikipedia.org/wiki/Buzz_Aldrin" title="Buzz Aldrin">Buzz Aldrin</a>, on the Moon on July 20, 1969, at 20:18 UTC. + </h1> + </div> + + <br> + + <div> + <label for="editor3"> + Editor 6: + </label> + <div class="description"> + <p> + This editor is using a custom configuration for <abbr title="Advanced Content Filter">ACF</abbr>. + It's using the <a href="https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_disallowed_content" rel="noopener noreferrer" target="_blank"> + Disallowed Content</a> property of the filter to eliminate all <code>title</code> attributes. + </p> + +<pre class="samples"> +CKEDITOR.replace( 'editor6', { + allowedContent: { + 'b i ul ol big small': true, + 'h1 h2 h3 p blockquote li': { + styles: 'text-align' + }, + a: {attributes: '!href,target'}, + img: { + attributes: '!src,alt', + styles: 'width,height', + classes: 'left,right' + } + }, + disallowedContent: '*{title*}' +} ); +</pre> + </div> + <textarea cols="80" id="editor6" name="editor6" rows="10"> + &lt;h1&gt;&lt;img alt=&quot;Saturn V carrying Apollo 11&quot; class=&quot;right&quot; src=&quot;assets/sample.jpg&quot;/&gt; Apollo 11&lt;/h1&gt; &lt;p&gt;&lt;b&gt;Apollo 11&lt;/b&gt; was the spaceflight that landed the first humans, Americans &lt;a href=&quot;http://en.wikipedia.org/wiki/Neil_Armstrong&quot; title=&quot;Neil Armstrong&quot;&gt;Neil Armstrong&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Buzz_Aldrin&quot; title=&quot;Buzz Aldrin&quot;&gt;Buzz Aldrin&lt;/a&gt;, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.&lt;/p&gt; &lt;p&gt;Armstrong spent about &lt;s&gt;three and a half&lt;/s&gt; two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5&amp;nbsp;kg) of lunar material for return to Earth. A third member of the mission, &lt;a href=&quot;http://en.wikipedia.org/wiki/Michael_Collins_(astronaut)&quot; title=&quot;Michael Collins (astronaut)&quot;&gt;Michael Collins&lt;/a&gt;, piloted the &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_Command/Service_Module&quot; title=&quot;Apollo Command/Service Module&quot;&gt;command&lt;/a&gt; spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth.&lt;/p&gt; &lt;h2&gt;Broadcasting and &lt;em&gt;quotes&lt;/em&gt; &lt;a id=&quot;quotes&quot; name=&quot;quotes&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;One small step for [a] man, one giant leap for mankind.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Apollo 11 effectively ended the &lt;a href=&quot;http://en.wikipedia.org/wiki/Space_Race&quot; title=&quot;Space Race&quot;&gt;Space Race&lt;/a&gt; and fulfilled a national goal proposed in 1961 by the late U.S. President &lt;a href=&quot;http://en.wikipedia.org/wiki/John_F._Kennedy&quot; title=&quot;John F. Kennedy&quot;&gt;John F. Kennedy&lt;/a&gt; in a speech before the United States Congress:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;[...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.&lt;/p&gt;&lt;/blockquote&gt; &lt;h2&gt;Technical details &lt;a id=&quot;tech-details&quot; name=&quot;tech-details&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;table align=&quot;right&quot; border=&quot;1&quot; bordercolor=&quot;#ccc&quot; cellpadding=&quot;5&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse:collapse;margin:10px 0 10px 15px;&quot;&gt; &lt;caption&gt;&lt;strong&gt;Mission crew&lt;/strong&gt;&lt;/caption&gt; &lt;thead&gt; &lt;tr&gt; &lt;th scope=&quot;col&quot;&gt;Position&lt;/th&gt; &lt;th scope=&quot;col&quot;&gt;Astronaut&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;Commander&lt;/td&gt; &lt;td&gt;Neil A. Armstrong&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Command Module Pilot&lt;/td&gt; &lt;td&gt;Michael Collins&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Lunar Module Pilot&lt;/td&gt; &lt;td&gt;Edwin &amp;quot;Buzz&amp;quot; E. Aldrin, Jr.&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;Launched by a &lt;strong&gt;Saturn V&lt;/strong&gt; rocket from &lt;a href=&quot;http://en.wikipedia.org/wiki/Kennedy_Space_Center&quot; title=&quot;Kennedy Space Center&quot;&gt;Kennedy Space Center&lt;/a&gt; in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of &lt;a href=&quot;http://en.wikipedia.org/wiki/NASA&quot; title=&quot;NASA&quot;&gt;NASA&lt;/a&gt;&amp;#39;s Apollo program. The Apollo spacecraft had three parts:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Command Module&lt;/strong&gt; with a cabin for the three astronauts which was the only part which landed back on Earth&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Service Module&lt;/strong&gt; which supported the Command Module with propulsion, electrical power, oxygen and water&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Lunar Module&lt;/strong&gt; for landing on the Moon.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;After being sent to the Moon by the Saturn V&amp;#39;s upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mare_Tranquillitatis&quot; title=&quot;Mare Tranquillitatis&quot;&gt;Sea of Tranquility&lt;/a&gt;. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pacific_Ocean&quot; title=&quot;Pacific Ocean&quot;&gt;Pacific Ocean&lt;/a&gt; on July 24.&lt;/p&gt; &lt;hr/&gt; &lt;p style=&quot;text-align: right;&quot;&gt;&lt;small&gt;Source: &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_11&quot;&gt;Wikipedia.org&lt;/a&gt;&lt;/small&gt;&lt;/p&gt; + </textarea> + <script> + + CKEDITOR.replace( 'editor6', { + allowedContent: { + 'b i ul ol big small': true, + 'h1 h2 h3 p blockquote li': { + styles: 'text-align' + }, + a: {attributes: '!href,target'}, + img: { + attributes: '!src,alt', + styles: 'width,height', + classes: 'left,right' + } + }, + disallowedContent: '*{title*}' + } ); + + </script> + </div> + + <br> + + <div> + <label for="editor7"> + Editor 7: + </label> + <div class="description"> + <p> + This editor is using a custom configuration for <abbr title="Advanced Content Filter">ACF</abbr>. + It's using the <a href="https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_disallowed_content" rel="noopener noreferrer" target="_blank"> + Disallowed Content</a> property of the filter to eliminate all <code>a</code> and <code>img</code> tags, + while allowing all other tags. + </p> +<pre class="samples"> +CKEDITOR.replace( 'editor7', { + allowedContent: { + // Allow all content. + $1: { + elements: CKEDITOR.dtd, + attributes: true, + styles: true, + classes: true + } + }, + disallowedContent: 'img a' +} ); +</pre> + </div> + <textarea cols="80" id="editor7" name="editor7" rows="10"> + &lt;h1&gt;&lt;img alt=&quot;Saturn V carrying Apollo 11&quot; class=&quot;right&quot; src=&quot;assets/sample.jpg&quot;/&gt; Apollo 11&lt;/h1&gt; &lt;p&gt;&lt;b&gt;Apollo 11&lt;/b&gt; was the spaceflight that landed the first humans, Americans &lt;a href=&quot;http://en.wikipedia.org/wiki/Neil_Armstrong&quot; title=&quot;Neil Armstrong&quot;&gt;Neil Armstrong&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Buzz_Aldrin&quot; title=&quot;Buzz Aldrin&quot;&gt;Buzz Aldrin&lt;/a&gt;, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.&lt;/p&gt; &lt;p&gt;Armstrong spent about &lt;s&gt;three and a half&lt;/s&gt; two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5&amp;nbsp;kg) of lunar material for return to Earth. A third member of the mission, &lt;a href=&quot;http://en.wikipedia.org/wiki/Michael_Collins_(astronaut)&quot; title=&quot;Michael Collins (astronaut)&quot;&gt;Michael Collins&lt;/a&gt;, piloted the &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_Command/Service_Module&quot; title=&quot;Apollo Command/Service Module&quot;&gt;command&lt;/a&gt; spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth.&lt;/p&gt; &lt;h2&gt;Broadcasting and &lt;em&gt;quotes&lt;/em&gt; &lt;a id=&quot;quotes&quot; name=&quot;quotes&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;One small step for [a] man, one giant leap for mankind.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Apollo 11 effectively ended the &lt;a href=&quot;http://en.wikipedia.org/wiki/Space_Race&quot; title=&quot;Space Race&quot;&gt;Space Race&lt;/a&gt; and fulfilled a national goal proposed in 1961 by the late U.S. President &lt;a href=&quot;http://en.wikipedia.org/wiki/John_F._Kennedy&quot; title=&quot;John F. Kennedy&quot;&gt;John F. Kennedy&lt;/a&gt; in a speech before the United States Congress:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;[...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.&lt;/p&gt;&lt;/blockquote&gt; &lt;h2&gt;Technical details &lt;a id=&quot;tech-details&quot; name=&quot;tech-details&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;table align=&quot;right&quot; border=&quot;1&quot; bordercolor=&quot;#ccc&quot; cellpadding=&quot;5&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse:collapse;margin:10px 0 10px 15px;&quot;&gt; &lt;caption&gt;&lt;strong&gt;Mission crew&lt;/strong&gt;&lt;/caption&gt; &lt;thead&gt; &lt;tr&gt; &lt;th scope=&quot;col&quot;&gt;Position&lt;/th&gt; &lt;th scope=&quot;col&quot;&gt;Astronaut&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;Commander&lt;/td&gt; &lt;td&gt;Neil A. Armstrong&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Command Module Pilot&lt;/td&gt; &lt;td&gt;Michael Collins&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Lunar Module Pilot&lt;/td&gt; &lt;td&gt;Edwin &amp;quot;Buzz&amp;quot; E. Aldrin, Jr.&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;Launched by a &lt;strong&gt;Saturn V&lt;/strong&gt; rocket from &lt;a href=&quot;http://en.wikipedia.org/wiki/Kennedy_Space_Center&quot; title=&quot;Kennedy Space Center&quot;&gt;Kennedy Space Center&lt;/a&gt; in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of &lt;a href=&quot;http://en.wikipedia.org/wiki/NASA&quot; title=&quot;NASA&quot;&gt;NASA&lt;/a&gt;&amp;#39;s Apollo program. The Apollo spacecraft had three parts:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Command Module&lt;/strong&gt; with a cabin for the three astronauts which was the only part which landed back on Earth&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Service Module&lt;/strong&gt; which supported the Command Module with propulsion, electrical power, oxygen and water&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Lunar Module&lt;/strong&gt; for landing on the Moon.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;After being sent to the Moon by the Saturn V&amp;#39;s upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mare_Tranquillitatis&quot; title=&quot;Mare Tranquillitatis&quot;&gt;Sea of Tranquility&lt;/a&gt;. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pacific_Ocean&quot; title=&quot;Pacific Ocean&quot;&gt;Pacific Ocean&lt;/a&gt; on July 24.&lt;/p&gt; &lt;hr/&gt; &lt;p style=&quot;text-align: right;&quot;&gt;&lt;small&gt;Source: &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_11&quot;&gt;Wikipedia.org&lt;/a&gt;&lt;/small&gt;&lt;/p&gt; + </textarea> + <script> + + CKEDITOR.replace( 'editor7', { + allowedContent: { + // allow all content + $1: { + elements: CKEDITOR.dtd, + attributes: true, + styles: true, + classes: true + } + }, + disallowedContent: 'img a' + } ); + + </script> + </div> + + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/datafiltering.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/inlinebycode.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/inlinebycode.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/inlinebycode.html (revision 7) @@ -0,0 +1,124 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>Inline Editing by Code &mdash; CKEditor Sample</title> + <script src="../../ckeditor.js"></script> + <link href="sample.css" rel="stylesheet"> + <style> + + #editable + { + padding: 10px; + float: left; + } + + </style> +</head> +<body> + <h1 class="samples"> + <a href="index.html">CKEditor Samples</a> &raquo; Inline Editing by Code + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/inline.html">brand new version in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows how to create an inline editor instance of CKEditor. It is created + with a JavaScript call using the following code: + </p> +<pre class="samples"> +// This property tells CKEditor to not activate every element with contenteditable=true element. +CKEDITOR.disableAutoInline = true; + +var editor = CKEDITOR.inline( document.getElementById( 'editable' ) ); +</pre> + <p> + Note that <code>editable</code> in the code above is the <code>id</code> + attribute of the <code>&lt;div&gt;</code> element to be converted into an inline instance. + </p> + </div> + <div id="editable" contenteditable="true"> + <h1><img alt="Saturn V carrying Apollo 11" class="right" src="assets/sample.jpg" /> Apollo 11</h1> + + <p><b>Apollo 11</b> was the spaceflight that landed the first humans, Americans <a href="http://en.wikipedia.org/wiki/Neil_Armstrong" title="Neil Armstrong">Neil Armstrong</a> and <a href="http://en.wikipedia.org/wiki/Buzz_Aldrin" title="Buzz Aldrin">Buzz Aldrin</a>, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.</p> + + <p>Armstrong spent about <s>three and a half</s> two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5&nbsp;kg) of lunar material for return to Earth. A third member of the mission, <a href="http://en.wikipedia.org/wiki/Michael_Collins_(astronaut)" title="Michael Collins (astronaut)">Michael Collins</a>, piloted the <a href="http://en.wikipedia.org/wiki/Apollo_Command/Service_Module" title="Apollo Command/Service Module">command</a> spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth.</p> + + <h2>Broadcasting and <em>quotes</em> <a id="quotes" name="quotes"></a></h2> + + <p>Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:</p> + + <blockquote> + <p>One small step for [a] man, one giant leap for mankind.</p> + </blockquote> + + <p>Apollo 11 effectively ended the <a href="http://en.wikipedia.org/wiki/Space_Race" title="Space Race">Space Race</a> and fulfilled a national goal proposed in 1961 by the late U.S. President <a href="http://en.wikipedia.org/wiki/John_F._Kennedy" title="John F. Kennedy">John F. Kennedy</a> in a speech before the United States Congress:</p> + + <blockquote> + <p>[...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.</p> + </blockquote> + + <h2>Technical details <a id="tech-details" name="tech-details"></a></h2> + + <table align="right" border="1" bordercolor="#ccc" cellpadding="5" cellspacing="0" style="border-collapse:collapse;margin:10px 0 10px 15px;"> + <caption><strong>Mission crew</strong></caption> + <thead> + <tr> + <th scope="col">Position</th> + <th scope="col">Astronaut</th> + </tr> + </thead> + <tbody> + <tr> + <td>Commander</td> + <td>Neil A. Armstrong</td> + </tr> + <tr> + <td>Command Module Pilot</td> + <td>Michael Collins</td> + </tr> + <tr> + <td>Lunar Module Pilot</td> + <td>Edwin &quot;Buzz&quot; E. Aldrin, Jr.</td> + </tr> + </tbody> + </table> + + <p>Launched by a <strong>Saturn V</strong> rocket from <a href="http://en.wikipedia.org/wiki/Kennedy_Space_Center" title="Kennedy Space Center">Kennedy Space Center</a> in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of <a href="http://en.wikipedia.org/wiki/NASA" title="NASA">NASA</a>&#39;s Apollo program. The Apollo spacecraft had three parts:</p> + + <ol> + <li><strong>Command Module</strong> with a cabin for the three astronauts which was the only part which landed back on Earth</li> + <li><strong>Service Module</strong> which supported the Command Module with propulsion, electrical power, oxygen and water</li> + <li><strong>Lunar Module</strong> for landing on the Moon.</li> + </ol> + + <p>After being sent to the Moon by the Saturn V&#39;s upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the <a href="http://en.wikipedia.org/wiki/Mare_Tranquillitatis" title="Mare Tranquillitatis">Sea of Tranquility</a>. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the <a href="http://en.wikipedia.org/wiki/Pacific_Ocean" title="Pacific Ocean">Pacific Ocean</a> on July 24.</p> + + <hr /> + <p style="text-align: right;"><small>Source: <a href="http://en.wikipedia.org/wiki/Apollo_11">Wikipedia.org</a></small></p> + </div> + + <script> + // We need to turn off the automatic editor creation first. + CKEDITOR.disableAutoInline = true; + + var editor = CKEDITOR.inline( 'editable' ); + </script> + <div id="footer"> + <hr> + <p contenteditable="true"> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/"> + https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> + - Frederico Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/inlinebycode.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/tabindex.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/tabindex.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/tabindex.html (revision 7) @@ -0,0 +1,78 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>TAB Key-Based Navigation &mdash; CKEditor Sample</title> + <script src="../../ckeditor.js"></script> + <link href="sample.css" rel="stylesheet"> + <style> + + .cke_focused, + .cke_editable.cke_focused + { + outline: 3px dotted blue !important; + *border: 3px dotted blue !important; /* For IE7 */ + } + + </style> + <script> + + CKEDITOR.on( 'instanceReady', function( evt ) { + var editor = evt.editor; + editor.setData( 'This editor has it\'s tabIndex set to <strong>' + editor.tabIndex + '</strong>' ); + + // Apply focus class name. + editor.on( 'focus', function() { + editor.container.addClass( 'cke_focused' ); + }); + editor.on( 'blur', function() { + editor.container.removeClass( 'cke_focused' ); + }); + + // Put startup focus on the first editor in tab order. + if ( editor.tabIndex == 1 ) + editor.focus(); + }); + + </script> +</head> +<body> + <h1 class="samples"> + <a href="index.html">CKEditor Samples</a> &raquo; TAB Key-Based Navigation + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/tabindex.html">brand new version in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows how tab key navigation among editor instances is + affected by the <code>tabIndex</code> attribute from + the original page element. Use TAB key to move between the editors. + </p> + </div> + <p> + <textarea class="ckeditor" cols="80" id="editor4" rows="10" tabindex="1"></textarea> + </p> + <div class="ckeditor" contenteditable="true" id="editor1" tabindex="4"></div> + <p> + <textarea class="ckeditor" cols="80" id="editor2" rows="10" tabindex="2"></textarea> + </p> + <p> + <textarea class="ckeditor" cols="80" id="editor3" rows="10" tabindex="3"></textarea> + </p> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/tabindex.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/outputforflash.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/outputforflash.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/outputforflash.html (revision 7) @@ -0,0 +1,283 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>Output for Flash &mdash; CKEditor Sample</title> + <script src="../../../ckeditor.js"></script> + <script src="../../../samples/old/sample.js"></script> + <script src="assets/outputforflash/swfobject.js"></script> + <link href="../../../samples/old/sample.css" rel="stylesheet"> + <meta name="ckeditor-sample-required-plugins" content="sourcearea"> + <meta name="ckeditor-sample-name" content="Output for Flash"> + <meta name="ckeditor-sample-group" content="Advanced Samples"> + <meta name="ckeditor-sample-description" content="Configuring CKEditor to produce HTML code that can be used with Adobe Flash."> + <style> + + .alert + { + background: #ffa84c; + padding: 10px 15px; + font-weight: bold; + display: block; + margin-bottom: 20px; + } + + </style> +</head> +<body> + <h1 class="samples"> + <a href="../../../samples/old/index.html">CKEditor Samples</a> &raquo; Producing Flash Compliant HTML Output + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out the <a href="https://sdk.ckeditor.com/">brand new samples in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows how to configure CKEditor to output + HTML code that can be used with + <a class="samples" href="http://www.adobe.com/livedocs/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&amp;file=00000922.html"> + Adobe Flash</a>. + The code will contain a subset of standard HTML elements like <code>&lt;b&gt;</code>, + <code>&lt;i&gt;</code>, and <code>&lt;p&gt;</code> as well as HTML attributes. + </p> + <p> + To add a CKEditor instance outputting Flash compliant HTML code, load the editor using a standard + JavaScript call, and define CKEditor features to use HTML elements and attributes. + </p> + <p> + For details on how to create this setup check the source code of this sample page. + </p> + </div> + <p> + To see how it works, create some content in the editing area of CKEditor on the left + and send it to the Flash object on the right side of the page by using the + <strong>Send to Flash</strong> button. + </p> + <table style="width: 100%; border-spacing: 0; border-collapse:collapse;"> + <tr> + <td style="width: 100%"> + <textarea cols="80" id="editor1" name="editor1" rows="10">&lt;p&gt;&lt;b&gt;&lt;font size=&quot;18&quot; style=&quot;font-size:18px;&quot;&gt;Flash and HTML&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;It is possible to have &lt;a href=&quot;https://ckeditor.com&quot;&gt;CKEditor&lt;/a&gt; creating content that will be later loaded inside &lt;b&gt;Flash&lt;/b&gt; objects and animations.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Flash has a few limitations when dealing with HTML:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;It has limited support on tags.&lt;/li&gt;&lt;li&gt;There is no margin between block elements, like paragraphs.&lt;/li&gt;&lt;/ul&gt;</textarea> + <script> + + if ( document.location.protocol == 'file:' ) + alert( 'Warning: This samples does not work when loaded from local filesystem' + + 'due to security restrictions implemented in Flash.' + + '\n\nPlease load the sample from a web server instead.' ); + + var editor = CKEDITOR.replace( 'editor1', { + /* + * Ensure that htmlwriter plugin, which is required for this sample, is loaded. + */ + extraPlugins: 'htmlwriter', + + height: 290, + width: '100%', + toolbar: [ + [ 'Source', '-', 'Bold', 'Italic', 'Underline', '-', 'BulletedList', '-', 'Link', 'Unlink' ], + [ 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock' ], + '/', + [ 'Font', 'FontSize' ], + [ 'TextColor', '-', 'About' ] + ], + + /* + * Style sheet for the contents + */ + contentsCss: 'body {color:#000; background-color#FFF; font-family: Arial; font-size:80%;} p, ol, ul {margin-top: 0px; margin-bottom: 0px;}', + + /* + * Quirks doctype + */ + docType: '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', + + /* + * Core styles. + */ + coreStyles_bold: { element: 'b' }, + coreStyles_italic: { element: 'i' }, + coreStyles_underline: { element: 'u' }, + + /* + * Font face. + */ + + // Define the way font elements will be applied to the document. The "font" + // element will be used. + font_style: { + element: 'font', + attributes: { 'face': '#(family)' } + }, + + /* + * Font sizes. + */ + + // The CSS part of the font sizes isn't used by Flash, it is there to get the + // font rendered correctly in CKEditor. + fontSize_sizes: '8px/8;9px/9;10px/10;11px/11;12px/12;14px/14;16px/16;18px/18;20px/20;22px/22;24px/24;26px/26;28px/28;36px/36;48px/48;72px/72', + fontSize_style: { + element: 'font', + attributes: { 'size': '#(size)' }, + styles: { 'font-size': '#(size)px' } + } , + + /* + * Font colors. + */ + colorButton_enableMore: true, + + colorButton_foreStyle: { + element: 'font', + attributes: { 'color': '#(color)' } + }, + + colorButton_backStyle: { + element: 'font', + styles: { 'background-color': '#(color)' } + }, + + on: { 'instanceReady': configureFlashOutput } + }); + + /* + * Adjust the behavior of the dataProcessor to match the + * requirements of Flash + */ + function configureFlashOutput( ev ) { + var editor = ev.editor, + dataProcessor = editor.dataProcessor, + htmlFilter = dataProcessor && dataProcessor.htmlFilter; + + // Out self closing tags the HTML4 way, like <br>. + dataProcessor.writer.selfClosingEnd = '>'; + + // Make output formatting match Flash expectations + var dtd = CKEDITOR.dtd; + for ( var e in CKEDITOR.tools.extend( {}, dtd.$nonBodyContent, dtd.$block, dtd.$listItem, dtd.$tableContent ) ) { + dataProcessor.writer.setRules( e, { + indent: false, + breakBeforeOpen: false, + breakAfterOpen: false, + breakBeforeClose: false, + breakAfterClose: false + }); + } + dataProcessor.writer.setRules( 'br', { + indent: false, + breakBeforeOpen: false, + breakAfterOpen: false, + breakBeforeClose: false, + breakAfterClose: false + }); + + // Output properties as attributes, not styles. + htmlFilter.addRules( { + elements: { + $: function( element ) { + var style, match, width, height, align; + + // Output dimensions of images as width and height + if ( element.name == 'img' ) { + style = element.attributes.style; + + if ( style ) { + // Get the width from the style. + match = ( /(?:^|\s)width\s*:\s*(\d+)px/i ).exec( style ); + width = match && match[1]; + + // Get the height from the style. + match = ( /(?:^|\s)height\s*:\s*(\d+)px/i ).exec( style ); + height = match && match[1]; + + if ( width ) { + element.attributes.style = element.attributes.style.replace( /(?:^|\s)width\s*:\s*(\d+)px;?/i , '' ); + element.attributes.width = width; + } + + if ( height ) { + element.attributes.style = element.attributes.style.replace( /(?:^|\s)height\s*:\s*(\d+)px;?/i , '' ); + element.attributes.height = height; + } + } + } + + // Output alignment of paragraphs using align + if ( element.name == 'p' ) { + style = element.attributes.style; + + if ( style ) { + // Get the align from the style. + match = ( /(?:^|\s)text-align\s*:\s*(\w*);?/i ).exec( style ); + align = match && match[1]; + + if ( align ) { + element.attributes.style = element.attributes.style.replace( /(?:^|\s)text-align\s*:\s*(\w*);?/i , '' ); + element.attributes.align = align; + } + } + } + + if ( element.attributes.style === '' ) + delete element.attributes.style; + + return element; + } + } + }); + } + + function sendToFlash() { + var html = CKEDITOR.instances.editor1.getData() ; + + // Quick fix for link color. + html = html.replace( /<a /g, '<font color="#0000FF"><u><a ' ) + html = html.replace( /<\/a>/g, '</a></u></font>' ) + + var flash = document.getElementById( 'ckFlashContainer' ) ; + flash.setData( html ) ; + } + + CKEDITOR.domReady( function() { + if ( !swfobject.hasFlashPlayerVersion( '8' ) ) { + CKEDITOR.dom.element.createFromHtml( '<span class="alert">' + + 'At least Adobe Flash Player 8 is required to run this sample. ' + + 'You can download it from <a href="http://get.adobe.com/flashplayer">Adobe\'s website</a>.' + + '</span>' ).insertBefore( editor.element ); + } + + swfobject.embedSWF( + 'assets/outputforflash/outputforflash.swf', + 'ckFlashContainer', + '550', + '400', + '8', + { wmode: 'transparent' } + ); + }); + + </script> + <p> + <input type="button" value="Send to Flash" onclick="sendToFlash();"> + </p> + </td> + <td style="vertical-align: top; padding-left: 20px"> + <div id="ckFlashContainer"></div> + </td> + </tr> + </table> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/outputforflash.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.fla =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.fla ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/assets/outputforflash/swfobject.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/assets/outputforflash/swfobject.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/assets/outputforflash/swfobject.js (revision 7) @@ -0,0 +1,19 @@ +var swfobject=function(){function w(){if(!u){try{var a=d.getElementsByTagName("body")[0].appendChild(d.createElement("span"));a.parentNode.removeChild(a)}catch(b){return}u=!0;for(var a=z.length,c=0;c<a;c++)z[c]()}}function M(a){u?a():z[z.length]=a}function N(a){if("undefined"!=typeof n.addEventListener)n.addEventListener("load",a,!1);else if("undefined"!=typeof d.addEventListener)d.addEventListener("load",a,!1);else if("undefined"!=typeof n.attachEvent)U(n,"onload",a);else if("function"==typeof n.onload){var b= +n.onload;n.onload=function(){b();a()}}else n.onload=a}function V(){var a=d.getElementsByTagName("body")[0],b=d.createElement("object");b.setAttribute("type","application/x-shockwave-flash");var c=a.appendChild(b);if(c){var f=0;(function(){if("undefined"!=typeof c.GetVariable){var g=c.GetVariable("$version");g&&(g=g.split(" ")[1].split(","),e.pv=[parseInt(g[0],10),parseInt(g[1],10),parseInt(g[2],10)])}else if(10>f){f++;setTimeout(arguments.callee,10);return}a.removeChild(b);c=null;E()})()}else E()} +function E(){var a=r.length;if(0<a)for(var b=0;b<a;b++){var c=r[b].id,f=r[b].callbackFn,g={success:!1,id:c};if(0<e.pv[0]){var d=p(c);if(d)if(!A(r[b].swfVersion)||e.wk&&312>e.wk)if(r[b].expressInstall&&F()){g={};g.data=r[b].expressInstall;g.width=d.getAttribute("width")||"0";g.height=d.getAttribute("height")||"0";d.getAttribute("class")&&(g.styleclass=d.getAttribute("class"));d.getAttribute("align")&&(g.align=d.getAttribute("align"));for(var h={},d=d.getElementsByTagName("param"),k=d.length,l=0;l< +k;l++)"movie"!=d[l].getAttribute("name").toLowerCase()&&(h[d[l].getAttribute("name")]=d[l].getAttribute("value"));G(g,h,c,f)}else W(d),f&&f(g);else v(c,!0),f&&(g.success=!0,g.ref=H(c),f(g))}else v(c,!0),f&&((c=H(c))&&"undefined"!=typeof c.SetVariable&&(g.success=!0,g.ref=c),f(g))}}function H(a){var b=null;(a=p(a))&&"OBJECT"==a.nodeName&&("undefined"!=typeof a.SetVariable?b=a:(a=a.getElementsByTagName("object")[0])&&(b=a));return b}function F(){return!B&&A("6.0.65")&&(e.win||e.mac)&&!(e.wk&&312>e.wk)} +function G(a,b,c,f){B=!0;I=f||null;O={success:!1,id:c};var g=p(c);if(g){"OBJECT"==g.nodeName?(y=J(g),C=null):(y=g,C=c);a.id="SWFObjectExprInst";if("undefined"==typeof a.width||!/%$/.test(a.width)&&310>parseInt(a.width,10))a.width="310";if("undefined"==typeof a.height||!/%$/.test(a.height)&&137>parseInt(a.height,10))a.height="137";d.title=d.title.slice(0,47)+" - Flash Player Installation";f=e.ie&&e.win?"ActiveX":"PlugIn";f="MMredirectURL\x3d"+n.location.toString().replace(/&/g,"%26")+"\x26MMplayerType\x3d"+ +f+"\x26MMdoctitle\x3d"+d.title;b.flashvars="undefined"!=typeof b.flashvars?b.flashvars+("\x26"+f):f;e.ie&&e.win&&4!=g.readyState&&(f=d.createElement("div"),c+="SWFObjectNew",f.setAttribute("id",c),g.parentNode.insertBefore(f,g),g.style.display="none",function(){4==g.readyState?g.parentNode.removeChild(g):setTimeout(arguments.callee,10)}());K(a,b,c)}}function W(a){if(e.ie&&e.win&&4!=a.readyState){var b=d.createElement("div");a.parentNode.insertBefore(b,a);b.parentNode.replaceChild(J(a),b);a.style.display= +"none";(function(){4==a.readyState?a.parentNode.removeChild(a):setTimeout(arguments.callee,10)})()}else a.parentNode.replaceChild(J(a),a)}function J(a){var b=d.createElement("div");if(e.win&&e.ie)b.innerHTML=a.innerHTML;else if(a=a.getElementsByTagName("object")[0])if(a=a.childNodes)for(var c=a.length,f=0;f<c;f++)1==a[f].nodeType&&"PARAM"==a[f].nodeName||8==a[f].nodeType||b.appendChild(a[f].cloneNode(!0));return b}function K(a,b,c){var f,g=p(c);if(e.wk&&312>e.wk)return f;if(g)if("undefined"==typeof a.id&& +(a.id=c),e.ie&&e.win){var q="",h;for(h in a)a[h]!=Object.prototype[h]&&("data"==h.toLowerCase()?b.movie=a[h]:"styleclass"==h.toLowerCase()?q+=' class\x3d"'+a[h]+'"':"classid"!=h.toLowerCase()&&(q+=" "+h+'\x3d"'+a[h]+'"'));h="";for(var k in b)b[k]!=Object.prototype[k]&&(h+='\x3cparam name\x3d"'+k+'" value\x3d"'+b[k]+'" /\x3e');g.outerHTML='\x3cobject classid\x3d"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+q+"\x3e"+h+"\x3c/object\x3e";D[D.length]=a.id;f=p(a.id)}else{k=d.createElement("object");k.setAttribute("type", +"application/x-shockwave-flash");for(var l in a)a[l]!=Object.prototype[l]&&("styleclass"==l.toLowerCase()?k.setAttribute("class",a[l]):"classid"!=l.toLowerCase()&&k.setAttribute(l,a[l]));for(q in b)b[q]!=Object.prototype[q]&&"movie"!=q.toLowerCase()&&(a=k,h=q,l=b[q],c=d.createElement("param"),c.setAttribute("name",h),c.setAttribute("value",l),a.appendChild(c));g.parentNode.replaceChild(k,g);f=k}return f}function P(a){var b=p(a);b&&"OBJECT"==b.nodeName&&(e.ie&&e.win?(b.style.display="none",function(){if(4== +b.readyState){var c=p(a);if(c){for(var f in c)"function"==typeof c[f]&&(c[f]=null);c.parentNode.removeChild(c)}}else setTimeout(arguments.callee,10)}()):b.parentNode.removeChild(b))}function p(a){var b=null;try{b=d.getElementById(a)}catch(c){}return b}function U(a,b,c){a.attachEvent(b,c);x[x.length]=[a,b,c]}function A(a){var b=e.pv;a=a.split(".");a[0]=parseInt(a[0],10);a[1]=parseInt(a[1],10)||0;a[2]=parseInt(a[2],10)||0;return b[0]>a[0]||b[0]==a[0]&&b[1]>a[1]||b[0]==a[0]&&b[1]==a[1]&&b[2]>=a[2]?!0: +!1}function Q(a,b,c,f){if(!e.ie||!e.mac){var g=d.getElementsByTagName("head")[0];g&&(c=c&&"string"==typeof c?c:"screen",f&&(L=m=null),m&&L==c||(f=d.createElement("style"),f.setAttribute("type","text/css"),f.setAttribute("media",c),m=g.appendChild(f),e.ie&&e.win&&"undefined"!=typeof d.styleSheets&&0<d.styleSheets.length&&(m=d.styleSheets[d.styleSheets.length-1]),L=c),e.ie&&e.win?m&&"object"==typeof m.addRule&&m.addRule(a,b):m&&"undefined"!=typeof d.createTextNode&&m.appendChild(d.createTextNode(a+ +" {"+b+"}")))}}function v(a,b){if(R){var c=b?"visible":"hidden";u&&p(a)?p(a).style.visibility=c:Q("#"+a,"visibility:"+c)}}function S(a){return null!=/[\\\"<>\.;]/.exec(a)&&"undefined"!=typeof encodeURIComponent?encodeURIComponent(a):a}var n=window,d=document,t=navigator,T=!1,z=[function(){T?V():E()}],r=[],D=[],x=[],y,C,I,O,u=!1,B=!1,m,L,R=!0,e=function(){var a="undefined"!=typeof d.getElementById&&"undefined"!=typeof d.getElementsByTagName&&"undefined"!=typeof d.createElement,b=t.userAgent.toLowerCase(), +c=t.platform.toLowerCase(),f=c?/win/.test(c):/win/.test(b),c=c?/mac/.test(c):/mac/.test(b),b=/webkit/.test(b)?parseFloat(b.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):!1,g=!+"\v1",e=[0,0,0],h=null;if("undefined"!=typeof t.plugins&&"object"==typeof t.plugins["Shockwave Flash"])!(h=t.plugins["Shockwave Flash"].description)||"undefined"!=typeof t.mimeTypes&&t.mimeTypes["application/x-shockwave-flash"]&&!t.mimeTypes["application/x-shockwave-flash"].enabledPlugin||(T=!0,g=!1,h=h.replace(/^.*\s+(\S+\s+\S+$)/, +"$1"),e[0]=parseInt(h.replace(/^(.*)\..*$/,"$1"),10),e[1]=parseInt(h.replace(/^.*\.(.*)\s.*$/,"$1"),10),e[2]=/[a-zA-Z]/.test(h)?parseInt(h.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0);else if("undefined"!=typeof n.ActiveXObject)try{var k=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");k&&(h=k.GetVariable("$version"))&&(g=!0,h=h.split(" ")[1].split(","),e=[parseInt(h[0],10),parseInt(h[1],10),parseInt(h[2],10)])}catch(l){}return{w3:a,pv:e,wk:b,ie:g,win:f,mac:c}}();(function(){e.w3&&(("undefined"!=typeof d.readyState&& +"complete"==d.readyState||"undefined"==typeof d.readyState&&(d.getElementsByTagName("body")[0]||d.body))&&w(),u||("undefined"!=typeof d.addEventListener&&d.addEventListener("DOMContentLoaded",w,!1),e.ie&&e.win&&(d.attachEvent("onreadystatechange",function(){"complete"==d.readyState&&(d.detachEvent("onreadystatechange",arguments.callee),w())}),n==top&&function(){if(!u){try{d.documentElement.doScroll("left")}catch(a){setTimeout(arguments.callee,0);return}w()}}()),e.wk&&function(){u||(/loaded|complete/.test(d.readyState)? +w():setTimeout(arguments.callee,0))}(),N(w)))})();(function(){e.ie&&e.win&&window.attachEvent("onunload",function(){for(var a=x.length,b=0;b<a;b++)x[b][0].detachEvent(x[b][1],x[b][2]);a=D.length;for(b=0;b<a;b++)P(D[b]);for(var c in e)e[c]=null;e=null;for(var f in swfobject)swfobject[f]=null;swfobject=null})})();return{registerObject:function(a,b,c,f){if(e.w3&&a&&b){var d={};d.id=a;d.swfVersion=b;d.expressInstall=c;d.callbackFn=f;r[r.length]=d;v(a,!1)}else f&&f({success:!1,id:a})},getObjectById:function(a){if(e.w3)return H(a)}, +embedSWF:function(a,b,c,d,g,q,h,k,l,n){var p={success:!1,id:b};e.w3&&!(e.wk&&312>e.wk)&&a&&b&&c&&d&&g?(v(b,!1),M(function(){c+="";d+="";var e={};if(l&&"object"===typeof l)for(var m in l)e[m]=l[m];e.data=a;e.width=c;e.height=d;m={};if(k&&"object"===typeof k)for(var r in k)m[r]=k[r];if(h&&"object"===typeof h)for(var t in h)m.flashvars="undefined"!=typeof m.flashvars?m.flashvars+("\x26"+t+"\x3d"+h[t]):t+"\x3d"+h[t];if(A(g))r=K(e,m,b),e.id==b&&v(b,!0),p.success=!0,p.ref=r;else{if(q&&F()){e.data=q;G(e, +m,b,n);return}v(b,!0)}n&&n(p)})):n&&n(p)},switchOffAutoHideShow:function(){R=!1},ua:e,getFlashPlayerVersion:function(){return{major:e.pv[0],minor:e.pv[1],release:e.pv[2]}},hasFlashPlayerVersion:A,createSWF:function(a,b,c){if(e.w3)return K(a,b,c)},showExpressInstall:function(a,b,c,d){e.w3&&F()&&G(a,b,c,d)},removeSWF:function(a){e.w3&&P(a)},createCSS:function(a,b,c,d){e.w3&&Q(a,b,c,d)},addDomLoadEvent:M,addLoadEvent:N,getQueryParamValue:function(a){var b=d.location.search||d.location.hash;if(b){/\?/.test(b)&& +(b=b.split("?")[1]);if(null==a)return S(b);for(var b=b.split("\x26"),c=0;c<b.length;c++)if(b[c].substring(0,b[c].indexOf("\x3d"))==a)return S(b[c].substring(b[c].indexOf("\x3d")+1))}return""},expressInstallCallback:function(){if(B){var a=p("SWFObjectExprInst");a&&y&&(a.parentNode.replaceChild(y,a),C&&(v(C,!0),e.ie&&e.win&&(y.style.display="block")),I&&I(O));B=!1}}}}(); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/assets/outputforflash/swfobject.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.swf =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/assets/outputforflash/outputforflash.swf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/outputhtml.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/outputhtml.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/outputhtml.html (revision 7) @@ -0,0 +1,224 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>HTML Compliant Output &mdash; CKEditor Sample</title> + <script src="../../../ckeditor.js"></script> + <script src="../../../samples/old/sample.js"></script> + <link href="../../../samples/old/sample.css" rel="stylesheet"> + <meta name="ckeditor-sample-required-plugins" content="sourcearea"> + <meta name="ckeditor-sample-name" content="Output HTML"> + <meta name="ckeditor-sample-group" content="Advanced Samples"> + <meta name="ckeditor-sample-description" content="Configuring CKEditor to produce legacy HTML 4 code."> +</head> +<body> + <h1 class="samples"> + <a href="../../../samples/old/index.html">CKEditor Samples</a> &raquo; Producing HTML Compliant Output + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out the <a href="https://sdk.ckeditor.com/">brand new samples in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows how to configure CKEditor to output valid + <a class="samples" href="http://www.w3.org/TR/html401/">HTML 4.01</a> code. + Traditional HTML elements like <code>&lt;b&gt;</code>, + <code>&lt;i&gt;</code>, and <code>&lt;font&gt;</code> are used in place of + <code>&lt;strong&gt;</code>, <code>&lt;em&gt;</code>, and CSS styles. + </p> + <p> + To add a CKEditor instance outputting legacy HTML 4.01 code, load the editor using a standard + JavaScript call, and define CKEditor features to use the HTML compliant elements and attributes. + </p> + <p> + A snippet of the configuration code can be seen below; check the source of this page for + full definition: + </p> +<pre class="samples"> +CKEDITOR.replace( '<em>textarea_id</em>', { + coreStyles_bold: { element: 'b' }, + coreStyles_italic: { element: 'i' }, + + fontSize_style: { + element: 'font', + attributes: { 'size': '#(size)' } + } + + ... +});</pre> + </div> + <form action="../../../samples/sample_posteddata.php" method="post"> + <p> + <label for="editor1"> + Editor 1: + </label> + <textarea cols="80" id="editor1" name="editor1" rows="10">&lt;p&gt;This is some &lt;b&gt;sample text&lt;/b&gt;. You are using &lt;a href="https://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea> + <script> + + CKEDITOR.replace( 'editor1', { + /* + * Ensure that htmlwriter plugin, which is required for this sample, is loaded. + */ + extraPlugins: 'htmlwriter', + + /* + * Style sheet for the contents + */ + contentsCss: 'body {color:#000; background-color#:FFF;}', + + /* + * Simple HTML5 doctype + */ + docType: '<!DOCTYPE HTML>', + + /* + * Allowed content rules which beside limiting allowed HTML + * will also take care of transforming styles to attributes + * (currently only for img - see transformation rules defined below). + * + * Read more: https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_advanced_content_filter + */ + allowedContent: + 'h1 h2 h3 p pre[align]; ' + + 'blockquote code kbd samp var del ins cite q b i u strike ul ol li hr table tbody tr td th caption; ' + + 'img[!src,alt,align,width,height]; font[!face]; font[!family]; font[!color]; font[!size]; font{!background-color}; a[!href]; a[!name]', + + /* + * Core styles. + */ + coreStyles_bold: { element: 'b' }, + coreStyles_italic: { element: 'i' }, + coreStyles_underline: { element: 'u' }, + coreStyles_strike: { element: 'strike' }, + + /* + * Font face. + */ + + // Define the way font elements will be applied to the document. + // The "font" element will be used. + font_style: { + element: 'font', + attributes: { 'face': '#(family)' } + }, + + /* + * Font sizes. + */ + fontSize_sizes: 'xx-small/1;x-small/2;small/3;medium/4;large/5;x-large/6;xx-large/7', + fontSize_style: { + element: 'font', + attributes: { 'size': '#(size)' } + }, + + /* + * Font colors. + */ + + colorButton_foreStyle: { + element: 'font', + attributes: { 'color': '#(color)' } + }, + + colorButton_backStyle: { + element: 'font', + styles: { 'background-color': '#(color)' } + }, + + /* + * Styles combo. + */ + stylesSet: [ + { name: 'Computer Code', element: 'code' }, + { name: 'Keyboard Phrase', element: 'kbd' }, + { name: 'Sample Text', element: 'samp' }, + { name: 'Variable', element: 'var' }, + { name: 'Deleted Text', element: 'del' }, + { name: 'Inserted Text', element: 'ins' }, + { name: 'Cited Work', element: 'cite' }, + { name: 'Inline Quotation', element: 'q' } + ], + + on: { + pluginsLoaded: configureTransformations, + loaded: configureHtmlWriter + } + }); + + /* + * Add missing content transformations. + */ + function configureTransformations( evt ) { + var editor = evt.editor; + + editor.dataProcessor.htmlFilter.addRules( { + attributes: { + style: function( value, element ) { + // Return #RGB for background and border colors + return CKEDITOR.tools.convertRgbToHex( value ); + } + } + } ); + + // Default automatic content transformations do not yet take care of + // align attributes on blocks, so we need to add our own transformation rules. + function alignToAttribute( element ) { + if ( element.styles[ 'text-align' ] ) { + element.attributes.align = element.styles[ 'text-align' ]; + delete element.styles[ 'text-align' ]; + } + } + editor.filter.addTransformations( [ + [ { element: 'p', right: alignToAttribute } ], + [ { element: 'h1', right: alignToAttribute } ], + [ { element: 'h2', right: alignToAttribute } ], + [ { element: 'h3', right: alignToAttribute } ], + [ { element: 'pre', right: alignToAttribute } ] + ] ); + } + + /* + * Adjust the behavior of htmlWriter to make it output HTML like FCKeditor. + */ + function configureHtmlWriter( evt ) { + var editor = evt.editor, + dataProcessor = editor.dataProcessor; + + // Out self closing tags the HTML4 way, like <br>. + dataProcessor.writer.selfClosingEnd = '>'; + + // Make output formatting behave similar to FCKeditor. + var dtd = CKEDITOR.dtd; + for ( var e in CKEDITOR.tools.extend( {}, dtd.$nonBodyContent, dtd.$block, dtd.$listItem, dtd.$tableContent ) ) { + dataProcessor.writer.setRules( e, { + indent: true, + breakBeforeOpen: true, + breakAfterOpen: false, + breakBeforeClose: !dtd[ e ][ '#' ], + breakAfterClose: true + }); + } + } + + </script> + </p> + <p> + <input type="submit" value="Submit"> + </p> + </form> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/htmlwriter/outputhtml.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/readonly.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/readonly.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/readonly.html (revision 7) @@ -0,0 +1,76 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>Using the CKEditor Read-Only API &mdash; CKEditor Sample</title> + <script src="../../ckeditor.js"></script> + <link rel="stylesheet" href="sample.css"> + <script> + + var editor; + + // The instanceReady event is fired, when an instance of CKEditor has finished + // its initialization. + CKEDITOR.on( 'instanceReady', function( ev ) { + editor = ev.editor; + + // Show this "on" button. + document.getElementById( 'readOnlyOn' ).style.display = ''; + + // Event fired when the readOnly property changes. + editor.on( 'readOnly', function() { + document.getElementById( 'readOnlyOn' ).style.display = this.readOnly ? 'none' : ''; + document.getElementById( 'readOnlyOff' ).style.display = this.readOnly ? '' : 'none'; + }); + }); + + function toggleReadOnly( isReadOnly ) { + // Change the read-only state of the editor. + // https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-setReadOnly + editor.setReadOnly( isReadOnly ); + } + + </script> +</head> +<body> + <h1 class="samples"> + <a href="index.html">CKEditor Samples</a> &raquo; Using the CKEditor Read-Only API + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/readonly.html">brand new version in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows how to use the + <code><a class="samples" href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-setReadOnly">setReadOnly</a></code> + API to put editor into the read-only state that makes it impossible for users to change the editor contents. + </p> + <p> + For details on how to create this setup check the source code of this sample page. + </p> + </div> + <form action="sample_posteddata.php" method="post"> + <p> + <textarea class="ckeditor" id="editor1" name="editor1" cols="100" rows="10">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="https://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea> + </p> + <p> + <input id="readOnlyOn" onclick="toggleReadOnly();" type="button" value="Make it read-only" style="display:none"> + <input id="readOnlyOff" onclick="toggleReadOnly( false );" type="button" value="Make it editable again" style="display:none"> + </p> + </form> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/readonly.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/sample_posteddata.php =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/sample_posteddata.php (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/sample_posteddata.php (revision 7) @@ -0,0 +1,16 @@ +<?php /* <body><pre> + +------------------------------------------------------------------------------------------- + CKEditor - Posted Data + + We are sorry, but your Web server does not support the PHP language used in this script. + + Please note that CKEditor can be used with any other server-side language than just PHP. + To save the content created with CKEditor you need to read the POST data on the server + side and write it to a file or the database. + + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +------------------------------------------------------------------------------------------- + +</pre><div style="display:none"></body> */ include "assets/posteddata.php"; ?> Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/uicolor.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/uicolor.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/uicolor.html (revision 7) @@ -0,0 +1,72 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>UI Color Picker &mdash; CKEditor Sample</title> + <script src="../../ckeditor.js"></script> + <link rel="stylesheet" href="sample.css"> +</head> +<body> + <h1 class="samples"> + <a href="index.html">CKEditor Samples</a> &raquo; UI Color + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/uicolor.html">brand new version in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows how to automatically replace <code>&lt;textarea&gt;</code> elements + with a CKEditor instance with an option to change the color of its user interface.<br> + <strong>Note:</strong>The UI skin color feature depends on the CKEditor skin + compatibility. The Moono and Kama skins are examples of skins that work with it. + </p> + </div> + <form action="sample_posteddata.php" method="post"> + <p> + This editor instance has a UI color value defined in configuration to change the skin color, + To specify the color of the user interface, set the <code>uiColor</code> property: + </p> + <pre class="samples"> +CKEDITOR.replace( '<em>textarea_id</em>', { + <strong>uiColor: '#14B8C4'</strong> +});</pre> + <p> + Note that <code><em>textarea_id</em></code> in the code above is the <code>id</code> attribute of + the <code>&lt;textarea&gt;</code> element to be replaced. + </p> + <p> + <textarea cols="80" id="editor1" name="editor1" rows="10">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="https://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea> + <script> + + // Replace the <textarea id="editor"> with an CKEditor + // instance, using default configurations. + CKEDITOR.replace( 'editor1', { + uiColor: '#14B8C4', + toolbar: [ + [ 'Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink' ], + [ 'FontSize', 'TextColor', 'BGColor' ] + ] + }); + + </script> + </p> + <p> + <input type="submit" value="Submit"> + </p> + </form> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/uicolor.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/magicline/magicline.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/magicline/magicline.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/magicline/magicline.html (revision 7) @@ -0,0 +1,209 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>Using Magicline plugin &mdash; CKEditor Sample</title> + <script src="../../../ckeditor.js"></script> + <link rel="stylesheet" href="../../../samples/old/sample.css"> + <meta name="ckeditor-sample-name" content="Magicline plugin"> + <meta name="ckeditor-sample-group" content="Plugins"> + <meta name="ckeditor-sample-description" content="Using the Magicline plugin to access difficult focus spaces."> +</head> +<body> + <h1 class="samples"> + <a href="../../../samples/old/index.html">CKEditor Samples</a> &raquo; Using Magicline plugin + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/magicline.html">brand new version in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows the advantages of <strong>Magicline</strong> plugin + which is to enhance the editing process. Thanks to this plugin, + a number of difficult focus spaces which are inaccessible due to + browser issues can now be focused. + </p> + <p> + <strong>Magicline</strong> plugin shows a red line with a handler + which, when clicked, inserts a paragraph and allows typing. To see this, + focus an editor and move your mouse above the focus space you want + to access. The plugin is enabled by default so no additional + configuration is necessary. + </p> + </div> + <div> + <label for="editor1"> + Editor 1: + </label> + <div class="description"> + <p> + This editor uses a default <strong>Magicline</strong> setup. + </p> + </div> + <textarea cols="80" id="editor1" name="editor1" rows="10"> + &lt;table border=&quot;1&quot; cellpadding=&quot;1&quot; cellspacing=&quot;1&quot; style=&quot;width: 100%; &quot;&gt; + &lt;tbody&gt; + &lt;tr&gt; + &lt;td&gt;This table&lt;/td&gt; + &lt;td&gt;is the&lt;/td&gt; + &lt;td&gt;very first&lt;/td&gt; + &lt;td&gt;element of the document.&lt;/td&gt; + &lt;/tr&gt; + &lt;tr&gt; + &lt;td&gt;We are still&lt;/td&gt; + &lt;td&gt;able to acces&lt;/td&gt; + &lt;td&gt;the space before it.&lt;/td&gt; + &lt;td&gt; + &lt;table border=&quot;1&quot; cellpadding=&quot;1&quot; cellspacing=&quot;1&quot; style=&quot;width: 100%; &quot;&gt; + &lt;tbody&gt; + &lt;tr&gt; + &lt;td&gt;This table is inside of a cell of another table.&lt;/td&gt; + &lt;/tr&gt; + &lt;tr&gt; + &lt;td&gt;We can type&amp;nbsp;either before or after it though.&lt;/td&gt; + &lt;/tr&gt; + &lt;/tbody&gt; + &lt;/table&gt; + &lt;/td&gt; + &lt;/tr&gt; + &lt;/tbody&gt; + &lt;/table&gt; + + &lt;p&gt;Two succesive horizontal lines (&lt;tt&gt;HR&lt;/tt&gt; tags). We can access the space in between:&lt;/p&gt; + + &lt;hr /&gt; + &lt;hr /&gt; + &lt;ol&gt; + &lt;li&gt;This numbered list...&lt;/li&gt; + &lt;li&gt;...is a neighbour of a horizontal line...&lt;/li&gt; + &lt;li&gt;...and another list.&lt;/li&gt; + &lt;/ol&gt; + + &lt;ul&gt; + &lt;li&gt;We can type between the lists...&lt;/li&gt; + &lt;li&gt;...thanks to &lt;strong&gt;Magicline&lt;/strong&gt;.&lt;/li&gt; + &lt;/ul&gt; + + &lt;p&gt;Lorem ipsum dolor sit amet dui. Morbi vel turpis. Nullam et leo. Etiam rutrum, urna tellus dui vel tincidunt mattis egestas, justo fringilla vel, massa. Phasellus.&lt;/p&gt; + + &lt;p&gt;Quisque iaculis, dui lectus varius vitae, tortor. Proin lacus. Pellentesque ac lacus. Aenean nonummy commodo nec, pede. Etiam blandit risus elit.&lt;/p&gt; + + &lt;p&gt;Ut pretium. Vestibulum rutrum in, adipiscing elit. Sed in quam in purus sem vitae pede. Pellentesque bibendum, urna sem vel risus. Vivamus posuere metus. Aliquam gravida iaculis nisl. Nam enim. Aliquam erat ac lacus tellus ac felis.&lt;/p&gt; + + &lt;div style=&quot;border: 2px dashed green; background: #ddd; text-align: center;&quot;&gt; + &lt;p&gt;This text is wrapped in a&amp;nbsp;&lt;tt&gt;DIV&lt;/tt&gt;&amp;nbsp;element. We can type after this element though.&lt;/p&gt; + &lt;/div&gt; + </textarea> + <script> + + // This call can be placed at any point after the + // <textarea>, or inside a <head><script> in a + // window.onload event handler. + + CKEDITOR.replace( 'editor1', { + extraPlugins: 'magicline', // Ensure that magicline plugin, which is required for this sample, is loaded. + allowedContent: true // Switch off the ACF, so very complex content created to + // show magicline's power isn't filtered. + } ); + + </script> + </div> + <br> + <div> + <label for="editor2"> + Editor 2: + </label> + <div class="description"> + <p> + This editor is using a blue line. + </p> +<pre class="samples"> +CKEDITOR.replace( 'editor2', { + magicline_color: 'blue' +});</pre> + </div> + <textarea cols="80" id="editor2" name="editor2" rows="10"> + &lt;table border=&quot;1&quot; cellpadding=&quot;1&quot; cellspacing=&quot;1&quot; style=&quot;width: 100%; &quot;&gt; + &lt;tbody&gt; + &lt;tr&gt; + &lt;td&gt;This table&lt;/td&gt; + &lt;td&gt;is the&lt;/td&gt; + &lt;td&gt;very first&lt;/td&gt; + &lt;td&gt;element of the document.&lt;/td&gt; + &lt;/tr&gt; + &lt;tr&gt; + &lt;td&gt;We are still&lt;/td&gt; + &lt;td&gt;able to acces&lt;/td&gt; + &lt;td&gt;the space before it.&lt;/td&gt; + &lt;td&gt; + &lt;table border=&quot;1&quot; cellpadding=&quot;1&quot; cellspacing=&quot;1&quot; style=&quot;width: 100%; &quot;&gt; + &lt;tbody&gt; + &lt;tr&gt; + &lt;td&gt;This table is inside of a cell of another table.&lt;/td&gt; + &lt;/tr&gt; + &lt;tr&gt; + &lt;td&gt;We can type&amp;nbsp;either before or after it though.&lt;/td&gt; + &lt;/tr&gt; + &lt;/tbody&gt; + &lt;/table&gt; + &lt;/td&gt; + &lt;/tr&gt; + &lt;/tbody&gt; + &lt;/table&gt; + + &lt;p&gt;Two succesive horizontal lines (&lt;tt&gt;HR&lt;/tt&gt; tags). We can access the space in between:&lt;/p&gt; + + &lt;hr /&gt; + &lt;hr /&gt; + &lt;ol&gt; + &lt;li&gt;This numbered list...&lt;/li&gt; + &lt;li&gt;...is a neighbour of a horizontal line...&lt;/li&gt; + &lt;li&gt;...and another list.&lt;/li&gt; + &lt;/ol&gt; + + &lt;ul&gt; + &lt;li&gt;We can type between the lists...&lt;/li&gt; + &lt;li&gt;...thanks to &lt;strong&gt;Magicline&lt;/strong&gt;.&lt;/li&gt; + &lt;/ul&gt; + + &lt;p&gt;Lorem ipsum dolor sit amet dui. Morbi vel turpis. Nullam et leo. Etiam rutrum, urna tellus dui vel tincidunt mattis egestas, justo fringilla vel, massa. Phasellus.&lt;/p&gt; + + &lt;p&gt;Quisque iaculis, dui lectus varius vitae, tortor. Proin lacus. Pellentesque ac lacus. Aenean nonummy commodo nec, pede. Etiam blandit risus elit.&lt;/p&gt; + + &lt;p&gt;Ut pretium. Vestibulum rutrum in, adipiscing elit. Sed in quam in purus sem vitae pede. Pellentesque bibendum, urna sem vel risus. Vivamus posuere metus. Aliquam gravida iaculis nisl. Nam enim. Aliquam erat ac lacus tellus ac felis.&lt;/p&gt; + + &lt;div style=&quot;border: 2px dashed green; background: #ddd; text-align: center;&quot;&gt; + &lt;p&gt;This text is wrapped in a&amp;nbsp;&lt;tt&gt;DIV&lt;/tt&gt;&amp;nbsp;element. We can type after this element though.&lt;/p&gt; + &lt;/div&gt; + </textarea> + <script> + + // This call can be placed at any point after the + // <textarea>, or inside a <head><script> in a + // window.onload event handler. + + CKEDITOR.replace( 'editor2', { + extraPlugins: 'magicline', // Ensure that magicline plugin, which is required for this sample, is loaded. + magicline_color: 'blue', // Blue line + allowedContent: true // Switch off the ACF, so very complex content created to + // show magicline's power isn't filtered. + }); + + </script> + </div> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/magicline/magicline.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/replacebycode.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/replacebycode.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/replacebycode.html (revision 7) @@ -0,0 +1,59 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>Replace Textarea by Code &mdash; CKEditor Sample</title> + <script src="../../ckeditor.js"></script> + <link href="sample.css" rel="stylesheet"> +</head> +<body> + <h1 class="samples"> + <a href="index.html">CKEditor Samples</a> &raquo; Replace Textarea Elements Using JavaScript Code + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/classic.html">brand new version in CKEditor SDK</a>. + </div> + <form action="sample_posteddata.php" method="post"> + <div class="description"> + <p> + This editor is using an <code>&lt;iframe&gt;</code> element-based editing area, provided by the <strong>Wysiwygarea</strong> plugin. + </p> +<pre class="samples"> +CKEDITOR.replace( '<em>textarea_id</em>' ) +</pre> + </div> + <textarea cols="80" id="editor1" name="editor1" rows="10"> + &lt;h1&gt;&lt;img alt=&quot;Saturn V carrying Apollo 11&quot; class=&quot;right&quot; src=&quot;assets/sample.jpg&quot;/&gt; Apollo 11&lt;/h1&gt; &lt;p&gt;&lt;b&gt;Apollo 11&lt;/b&gt; was the spaceflight that landed the first humans, Americans &lt;a href=&quot;http://en.wikipedia.org/wiki/Neil_Armstrong&quot; title=&quot;Neil Armstrong&quot;&gt;Neil Armstrong&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Buzz_Aldrin&quot; title=&quot;Buzz Aldrin&quot;&gt;Buzz Aldrin&lt;/a&gt;, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.&lt;/p&gt; &lt;p&gt;Armstrong spent about &lt;s&gt;three and a half&lt;/s&gt; two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5&amp;nbsp;kg) of lunar material for return to Earth. A third member of the mission, &lt;a href=&quot;http://en.wikipedia.org/wiki/Michael_Collins_(astronaut)&quot; title=&quot;Michael Collins (astronaut)&quot;&gt;Michael Collins&lt;/a&gt;, piloted the &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_Command/Service_Module&quot; title=&quot;Apollo Command/Service Module&quot;&gt;command&lt;/a&gt; spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth.&lt;/p&gt; &lt;h2&gt;Broadcasting and &lt;em&gt;quotes&lt;/em&gt; &lt;a id=&quot;quotes&quot; name=&quot;quotes&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;One small step for [a] man, one giant leap for mankind.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Apollo 11 effectively ended the &lt;a href=&quot;http://en.wikipedia.org/wiki/Space_Race&quot; title=&quot;Space Race&quot;&gt;Space Race&lt;/a&gt; and fulfilled a national goal proposed in 1961 by the late U.S. President &lt;a href=&quot;http://en.wikipedia.org/wiki/John_F._Kennedy&quot; title=&quot;John F. Kennedy&quot;&gt;John F. Kennedy&lt;/a&gt; in a speech before the United States Congress:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;[...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.&lt;/p&gt;&lt;/blockquote&gt; &lt;h2&gt;Technical details &lt;a id=&quot;tech-details&quot; name=&quot;tech-details&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;table align=&quot;right&quot; border=&quot;1&quot; bordercolor=&quot;#ccc&quot; cellpadding=&quot;5&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse:collapse;margin:10px 0 10px 15px;&quot;&gt; &lt;caption&gt;&lt;strong&gt;Mission crew&lt;/strong&gt;&lt;/caption&gt; &lt;thead&gt; &lt;tr&gt; &lt;th scope=&quot;col&quot;&gt;Position&lt;/th&gt; &lt;th scope=&quot;col&quot;&gt;Astronaut&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;Commander&lt;/td&gt; &lt;td&gt;Neil A. Armstrong&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Command Module Pilot&lt;/td&gt; &lt;td&gt;Michael Collins&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Lunar Module Pilot&lt;/td&gt; &lt;td&gt;Edwin &amp;quot;Buzz&amp;quot; E. Aldrin, Jr.&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;Launched by a &lt;strong&gt;Saturn V&lt;/strong&gt; rocket from &lt;a href=&quot;http://en.wikipedia.org/wiki/Kennedy_Space_Center&quot; title=&quot;Kennedy Space Center&quot;&gt;Kennedy Space Center&lt;/a&gt; in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of &lt;a href=&quot;http://en.wikipedia.org/wiki/NASA&quot; title=&quot;NASA&quot;&gt;NASA&lt;/a&gt;&amp;#39;s Apollo program. The Apollo spacecraft had three parts:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Command Module&lt;/strong&gt; with a cabin for the three astronauts which was the only part which landed back on Earth&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Service Module&lt;/strong&gt; which supported the Command Module with propulsion, electrical power, oxygen and water&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Lunar Module&lt;/strong&gt; for landing on the Moon.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;After being sent to the Moon by the Saturn V&amp;#39;s upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mare_Tranquillitatis&quot; title=&quot;Mare Tranquillitatis&quot;&gt;Sea of Tranquility&lt;/a&gt;. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pacific_Ocean&quot; title=&quot;Pacific Ocean&quot;&gt;Pacific Ocean&lt;/a&gt; on July 24.&lt;/p&gt; &lt;hr/&gt; &lt;p style=&quot;text-align: right;&quot;&gt;&lt;small&gt;Source: &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_11&quot;&gt;Wikipedia.org&lt;/a&gt;&lt;/small&gt;&lt;/p&gt; + </textarea> + <script> + + // This call can be placed at any point after the + // <textarea>, or inside a <head><script> in a + // window.onload event handler. + + // Replace the <textarea id="editor"> with an CKEditor + // instance, using default configurations. + + CKEDITOR.replace( 'editor1' ); + + </script> + <p> + <input type="submit" value="Submit"> + </p> + </form> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/replacebycode.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/xhtmlstyle.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/xhtmlstyle.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/xhtmlstyle.html (revision 7) @@ -0,0 +1,234 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>XHTML Compliant Output &mdash; CKEditor Sample</title> + <meta name="ckeditor-sample-required-plugins" content="sourcearea"> + <script src="../../ckeditor.js"></script> + <script src="sample.js"></script> + <link href="sample.css" rel="stylesheet"> +</head> +<body> + <h1 class="samples"> + <a href="index.html">CKEditor Samples</a> &raquo; Producing XHTML Compliant Output + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/basicstyles.html">brand new version in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows how to configure CKEditor to output valid + <a class="samples" href="http://www.w3.org/TR/xhtml11/">XHTML 1.1</a> code. + Deprecated elements (<code>&lt;font&gt;</code>, <code>&lt;u&gt;</code>) or attributes + (<code>size</code>, <code>face</code>) will be replaced with XHTML compliant code. + </p> + <p> + To add a CKEditor instance outputting valid XHTML code, load the editor using a standard + JavaScript call and define CKEditor features to use the XHTML compliant elements and styles. + </p> + <p> + A snippet of the configuration code can be seen below; check the source of this page for + full definition: + </p> +<pre class="samples"> +CKEDITOR.replace( '<em>textarea_id</em>', { + contentsCss: 'assets/outputxhtml.css', + + coreStyles_bold: { + element: 'span', + attributes: { 'class': 'Bold' } + }, + coreStyles_italic: { + element: 'span', + attributes: { 'class': 'Italic' } + }, + + ... +});</pre> + </div> + <form action="sample_posteddata.php" method="post"> + <p> + <label for="editor1"> + Editor 1: + </label> + <textarea cols="80" id="editor1" name="editor1" rows="10">&lt;p&gt;This is some &lt;span class="Bold"&gt;sample text&lt;/span&gt;. You are using &lt;a href="https://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea> + <script> + + CKEDITOR.replace( 'editor1', { + /* + * Style sheet for the contents + */ + contentsCss: 'assets/outputxhtml/outputxhtml.css', + + /* + * Special allowed content rules for spans used by + * font face, size, and color buttons. + * + * Note: all rules have been written separately so + * it was possible to specify required classes. + */ + extraAllowedContent: 'span(!FontColor1);span(!FontColor2);span(!FontColor3);' + + 'span(!FontColor1BG);span(!FontColor2BG);span(!FontColor3BG);' + + 'span(!FontComic);span(!FontCourier);span(!FontTimes);' + + 'span(!FontSmaller);span(!FontLarger);span(!FontSmall);span(!FontBig);span(!FontDouble)', + + /* + * Core styles. + */ + coreStyles_bold: { + element: 'span', + attributes: { 'class': 'Bold' } + }, + coreStyles_italic: { + element: 'span', + attributes: { 'class': 'Italic' } + }, + coreStyles_underline: { + element: 'span', + attributes: { 'class': 'Underline' } + }, + coreStyles_strike: { + element: 'span', + attributes: { 'class': 'StrikeThrough' }, + overrides: 'strike' + }, + coreStyles_subscript: { + element: 'span', + attributes: { 'class': 'Subscript' }, + overrides: 'sub' + }, + coreStyles_superscript: { + element: 'span', + attributes: { 'class': 'Superscript' }, + overrides: 'sup' + }, + + /* + * Font face. + */ + + // List of fonts available in the toolbar combo. Each font definition is + // separated by a semi-colon (;). We are using class names here, so each font + // is defined by {Combo Label}/{Class Name}. + font_names: 'Comic Sans MS/FontComic;Courier New/FontCourier;Times New Roman/FontTimes', + + // Define the way font elements will be applied to the document. The "span" + // element will be used. When a font is selected, the font name defined in the + // above list is passed to this definition with the name "Font", being it + // injected in the "class" attribute. + // We must also instruct the editor to replace span elements that are used to + // set the font (Overrides). + font_style: { + element: 'span', + attributes: { 'class': '#(family)' }, + overrides: [ + { + element: 'span', + attributes: { + 'class': /^Font(?:Comic|Courier|Times)$/ + } + } + ] + }, + + /* + * Font sizes. + */ + fontSize_sizes: 'Smaller/FontSmaller;Larger/FontLarger;8pt/FontSmall;14pt/FontBig;Double Size/FontDouble', + fontSize_style: { + element: 'span', + attributes: { 'class': '#(size)' }, + overrides: [ + { + element: 'span', + attributes: { + 'class': /^Font(?:Smaller|Larger|Small|Big|Double)$/ + } + } + ] + } , + + /* + * Font colors. + */ + colorButton_enableMore: false, + + colorButton_colors: 'FontColor1/FF9900,FontColor2/0066CC,FontColor3/F00', + colorButton_foreStyle: { + element: 'span', + attributes: { 'class': '#(color)' }, + overrides: [ + { + element: 'span', + attributes: { + 'class': /^FontColor(?:1|2|3)$/ + } + } + ] + }, + + colorButton_backStyle: { + element: 'span', + attributes: { 'class': '#(color)BG' }, + overrides: [ + { + element: 'span', + attributes: { + 'class': /^FontColor(?:1|2|3)BG$/ + } + } + ] + }, + + /* + * Indentation. + */ + indentClasses: [ 'Indent1', 'Indent2', 'Indent3' ], + + /* + * Paragraph justification. + */ + justifyClasses: [ 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyFull' ], + + /* + * Styles combo. + */ + stylesSet: [ + { name: 'Strong Emphasis', element: 'strong' }, + { name: 'Emphasis', element: 'em' }, + + { name: 'Computer Code', element: 'code' }, + { name: 'Keyboard Phrase', element: 'kbd' }, + { name: 'Sample Text', element: 'samp' }, + { name: 'Variable', element: 'var' }, + + { name: 'Deleted Text', element: 'del' }, + { name: 'Inserted Text', element: 'ins' }, + + { name: 'Cited Work', element: 'cite' }, + { name: 'Inline Quotation', element: 'q' } + ] + }); + + </script> + </p> + <p> + <input type="submit" value="Submit"> + </p> + </form> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/xhtmlstyle.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/appendto.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/appendto.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/appendto.html (revision 7) @@ -0,0 +1,59 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>Append To Page Element Using JavaScript Code &mdash; CKEditor Sample</title> + <script src="../../ckeditor.js"></script> + <link rel="stylesheet" href="sample.css"> +</head> +<body> + <h1 class="samples"> + <a href="index.html">CKEditor Samples</a> &raquo; Append To Page Element Using JavaScript Code + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out the <a href="https://sdk.ckeditor.com/">brand new samples in CKEditor SDK</a>. + </div> + <div id="section1"> + <div class="description"> + <p> + The <code><a class="samples" href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR-method-appendTo">CKEDITOR.appendTo()</a></code> method serves to to place editors inside existing DOM elements. Unlike <code><a class="samples" href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR-method-replace">CKEDITOR.replace()</a></code>, + a target container to be replaced is no longer necessary. A new editor + instance is inserted directly wherever it is desired. + </p> +<pre class="samples">CKEDITOR.appendTo( '<em>container_id</em>', + { /* Configuration options to be used. */ } + 'Editor content to be used.' +);</pre> + </div> + <script> + + // This call can be placed at any point after the + // DOM element to append CKEditor to or inside the <head><script> + // in a window.onload event handler. + + // Append a CKEditor instance using the default configuration and the + // provided content to the <div> element of ID "section1". + CKEDITOR.appendTo( 'section1', + null, + '<p>This is some <strong>sample text</strong>. You are using <a href="https://ckeditor.com/">CKEditor</a>.</p>' + ); + + </script> + </div> + <br> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/appendto.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/inlinetextarea.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/inlinetextarea.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/inlinetextarea.html (revision 7) @@ -0,0 +1,113 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>Replace Textarea with Inline Editor &mdash; CKEditor Sample</title> + <script src="../../ckeditor.js"></script> + <link href="sample.css" rel="stylesheet"> + <style> + + /* Style the CKEditor element to look like a textfield */ + .cke_textarea_inline + { + padding: 10px; + height: 200px; + overflow: auto; + + border: 1px solid gray; + -webkit-appearance: textfield; + } + + </style> +</head> +<body> + <h1 class="samples"> + <a href="index.html">CKEditor Samples</a> &raquo; Replace Textarea with Inline Editor + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/inline.html">brand new version in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + You can also create an inline editor from a <code>textarea</code> + element. In this case the <code>textarea</code> will be replaced + by a <code>div</code> element with inline editing enabled. + </p> +<pre class="samples"> +// "article-body" is the name of a textarea element. +var editor = CKEDITOR.inline( 'article-body' ); +</pre> + </div> + <form action="sample_posteddata.php" method="post"> + <h2>This is a sample form with some fields</h2> + <p> + Title:<br> + <input type="text" name="title" value="Sample Form"></p> + <p> + Article Body (Textarea converted to CKEditor):<br> + <textarea name="article-body" style="height: 200px"> + &lt;h2&gt;Technical details &lt;a id="tech-details" name="tech-details"&gt;&lt;/a&gt;&lt;/h2&gt; + + &lt;table align="right" border="1" bordercolor="#ccc" cellpadding="5" cellspacing="0" style="border-collapse:collapse;margin:10px 0 10px 15px;"&gt; + &lt;caption&gt;&lt;strong&gt;Mission crew&lt;/strong&gt;&lt;/caption&gt; + &lt;thead&gt; + &lt;tr&gt; + &lt;th scope="col"&gt;Position&lt;/th&gt; + &lt;th scope="col"&gt;Astronaut&lt;/th&gt; + &lt;/tr&gt; + &lt;/thead&gt; + &lt;tbody&gt; + &lt;tr&gt; + &lt;td&gt;Commander&lt;/td&gt; + &lt;td&gt;Neil A. Armstrong&lt;/td&gt; + &lt;/tr&gt; + &lt;tr&gt; + &lt;td&gt;Command Module Pilot&lt;/td&gt; + &lt;td&gt;Michael Collins&lt;/td&gt; + &lt;/tr&gt; + &lt;tr&gt; + &lt;td&gt;Lunar Module Pilot&lt;/td&gt; + &lt;td&gt;Edwin &quot;Buzz&quot; E. Aldrin, Jr.&lt;/td&gt; + &lt;/tr&gt; + &lt;/tbody&gt; + &lt;/table&gt; + + &lt;p&gt;Launched by a &lt;strong&gt;Saturn V&lt;/strong&gt; rocket from &lt;a href="http://en.wikipedia.org/wiki/Kennedy_Space_Center" title="Kennedy Space Center"&gt;Kennedy Space Center&lt;/a&gt; in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of &lt;a href="http://en.wikipedia.org/wiki/NASA" title="NASA"&gt;NASA&lt;/a&gt;&#39;s Apollo program. The Apollo spacecraft had three parts:&lt;/p&gt; + + &lt;ol&gt; + &lt;li&gt;&lt;strong&gt;Command Module&lt;/strong&gt; with a cabin for the three astronauts which was the only part which landed back on Earth&lt;/li&gt; + &lt;li&gt;&lt;strong&gt;Service Module&lt;/strong&gt; which supported the Command Module with propulsion, electrical power, oxygen and water&lt;/li&gt; + &lt;li&gt;&lt;strong&gt;Lunar Module&lt;/strong&gt; for landing on the Moon.&lt;/li&gt; + &lt;/ol&gt; + + &lt;p&gt;After being sent to the Moon by the Saturn V&#39;s upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the &lt;a href="http://en.wikipedia.org/wiki/Mare_Tranquillitatis" title="Mare Tranquillitatis"&gt;Sea of Tranquility&lt;/a&gt;. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the &lt;a href="http://en.wikipedia.org/wiki/Pacific_Ocean" title="Pacific Ocean"&gt;Pacific Ocean&lt;/a&gt; on July 24.&lt;/p&gt; + + &lt;hr /&gt; + &lt;p style="text-align: right;"&gt;&lt;small&gt;Source: &lt;a href="http://en.wikipedia.org/wiki/Apollo_11"&gt;Wikipedia.org&lt;/a&gt;&lt;/small&gt;&lt;/p&gt; + </textarea> + </p> + <p> + <input type="submit" value="Submit"> + </p> + </form> + + <script> + CKEDITOR.inline( 'article-body' ); + </script> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/"> + https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> + - Frederico Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/inlinetextarea.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/replacebyclass.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/replacebyclass.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/replacebyclass.html (revision 7) @@ -0,0 +1,60 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>Replace Textareas by Class Name &mdash; CKEditor Sample</title> + <script src="../../ckeditor.js"></script> + <link rel="stylesheet" href="sample.css"> +</head> +<body> + <h1 class="samples"> + <a href="index.html">CKEditor Samples</a> &raquo; Replace Textarea Elements by Class Name + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out the <a href="https://sdk.ckeditor.com/">brand new samples in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows how to automatically replace all <code>&lt;textarea&gt;</code> elements + of a given class with a CKEditor instance. + </p> + <p> + To replace a <code>&lt;textarea&gt;</code> element, simply assign it the <code>ckeditor</code> + class, as in the code below: + </p> +<pre class="samples"> +&lt;textarea <strong>class="ckeditor</strong>" name="editor1"&gt;&lt;/textarea&gt; +</pre> + <p> + Note that other <code>&lt;textarea&gt;</code> attributes (like <code>id</code> or <code>name</code>) need to be adjusted to your document. + </p> + </div> + <form action="sample_posteddata.php" method="post"> + <p> + <label for="editor1"> + Editor 1: + </label> + <textarea class="ckeditor" cols="80" id="editor1" name="editor1" rows="10"> + &lt;h1&gt;&lt;img alt=&quot;Saturn V carrying Apollo 11&quot; class=&quot;right&quot; src=&quot;assets/sample.jpg&quot;/&gt; Apollo 11&lt;/h1&gt; &lt;p&gt;&lt;b&gt;Apollo 11&lt;/b&gt; was the spaceflight that landed the first humans, Americans &lt;a href=&quot;http://en.wikipedia.org/wiki/Neil_Armstrong&quot; title=&quot;Neil Armstrong&quot;&gt;Neil Armstrong&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Buzz_Aldrin&quot; title=&quot;Buzz Aldrin&quot;&gt;Buzz Aldrin&lt;/a&gt;, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.&lt;/p&gt; &lt;p&gt;Armstrong spent about &lt;s&gt;three and a half&lt;/s&gt; two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5&amp;nbsp;kg) of lunar material for return to Earth. A third member of the mission, &lt;a href=&quot;http://en.wikipedia.org/wiki/Michael_Collins_(astronaut)&quot; title=&quot;Michael Collins (astronaut)&quot;&gt;Michael Collins&lt;/a&gt;, piloted the &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_Command/Service_Module&quot; title=&quot;Apollo Command/Service Module&quot;&gt;command&lt;/a&gt; spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth.&lt;/p&gt; &lt;h2&gt;Broadcasting and &lt;em&gt;quotes&lt;/em&gt; &lt;a id=&quot;quotes&quot; name=&quot;quotes&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;p&gt;Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;One small step for [a] man, one giant leap for mankind.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Apollo 11 effectively ended the &lt;a href=&quot;http://en.wikipedia.org/wiki/Space_Race&quot; title=&quot;Space Race&quot;&gt;Space Race&lt;/a&gt; and fulfilled a national goal proposed in 1961 by the late U.S. President &lt;a href=&quot;http://en.wikipedia.org/wiki/John_F._Kennedy&quot; title=&quot;John F. Kennedy&quot;&gt;John F. Kennedy&lt;/a&gt; in a speech before the United States Congress:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;[...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.&lt;/p&gt;&lt;/blockquote&gt; &lt;h2&gt;Technical details &lt;a id=&quot;tech-details&quot; name=&quot;tech-details&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;table align=&quot;right&quot; border=&quot;1&quot; bordercolor=&quot;#ccc&quot; cellpadding=&quot;5&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse:collapse;margin:10px 0 10px 15px;&quot;&gt; &lt;caption&gt;&lt;strong&gt;Mission crew&lt;/strong&gt;&lt;/caption&gt; &lt;thead&gt; &lt;tr&gt; &lt;th scope=&quot;col&quot;&gt;Position&lt;/th&gt; &lt;th scope=&quot;col&quot;&gt;Astronaut&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;Commander&lt;/td&gt; &lt;td&gt;Neil A. Armstrong&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Command Module Pilot&lt;/td&gt; &lt;td&gt;Michael Collins&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Lunar Module Pilot&lt;/td&gt; &lt;td&gt;Edwin &amp;quot;Buzz&amp;quot; E. Aldrin, Jr.&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;Launched by a &lt;strong&gt;Saturn V&lt;/strong&gt; rocket from &lt;a href=&quot;http://en.wikipedia.org/wiki/Kennedy_Space_Center&quot; title=&quot;Kennedy Space Center&quot;&gt;Kennedy Space Center&lt;/a&gt; in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of &lt;a href=&quot;http://en.wikipedia.org/wiki/NASA&quot; title=&quot;NASA&quot;&gt;NASA&lt;/a&gt;&amp;#39;s Apollo program. The Apollo spacecraft had three parts:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Command Module&lt;/strong&gt; with a cabin for the three astronauts which was the only part which landed back on Earth&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Service Module&lt;/strong&gt; which supported the Command Module with propulsion, electrical power, oxygen and water&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Lunar Module&lt;/strong&gt; for landing on the Moon.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;After being sent to the Moon by the Saturn V&amp;#39;s upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mare_Tranquillitatis&quot; title=&quot;Mare Tranquillitatis&quot;&gt;Sea of Tranquility&lt;/a&gt;. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pacific_Ocean&quot; title=&quot;Pacific Ocean&quot;&gt;Pacific Ocean&lt;/a&gt; on July 24.&lt;/p&gt; &lt;hr/&gt; &lt;p style=&quot;text-align: right;&quot;&gt;&lt;small&gt;Source: &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_11&quot;&gt;Wikipedia.org&lt;/a&gt;&lt;/small&gt;&lt;/p&gt; + </textarea> + </p> + <p> + <input type="submit" value="Submit"> + </p> + </form> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/replacebyclass.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/uilanguages.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/uilanguages.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/uilanguages.html (revision 7) @@ -0,0 +1,122 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>User Interface Globalization &mdash; CKEditor Sample</title> + <script src="../../ckeditor.js"></script> + <script src="assets/uilanguages/languages.js"></script> + <link rel="stylesheet" href="sample.css"> +</head> +<body> + <h1 class="samples"> + <a href="index.html">CKEditor Samples</a> &raquo; User Interface Languages + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/uilanguages.html">brand new version in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows how to automatically replace <code>&lt;textarea&gt;</code> elements + with a CKEditor instance with an option to change the language of its user interface. + </p> + <p> + It pulls the language list from CKEditor <code>_languages.js</code> file that contains the list of supported languages and creates + a drop-down list that lets the user change the UI language. + </p> + <p> + By default, CKEditor automatically localizes the editor to the language of the user. + The UI language can be controlled with two configuration options: + <code><a class="samples" href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-language">language</a></code> and + <code><a class="samples" href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-defaultLanguage"> + defaultLanguage</a></code>. The <code>defaultLanguage</code> setting specifies the + default CKEditor language to be used when a localization suitable for user's settings is not available. + </p> + <p> + To specify the user interface language that will be used no matter what language is + specified in user's browser or operating system, set the <code>language</code> property: + </p> +<pre class="samples"> +CKEDITOR.replace( '<em>textarea_id</em>', { + // Load the German interface. + <strong>language: 'de'</strong> +});</pre> + <p> + Note that <code><em>textarea_id</em></code> in the code above is the <code>id</code> attribute of + the <code>&lt;textarea&gt;</code> element to be replaced. + </p> + </div> + <form action="sample_posteddata.php" method="post"> + <p> + Available languages (<span id="count"> </span> languages!):<br> + <script> + + document.write( '<select disabled="disabled" id="languages" onchange="createEditor( this.value );">' ); + + // Get the language list from the _languages.js file. + for ( var i = 0 ; i < window.CKEDITOR_LANGS.length ; i++ ) { + document.write( + '<option value="' + window.CKEDITOR_LANGS[i].code + '">' + + window.CKEDITOR_LANGS[i].name + + '</option>' ); + } + + document.write( '</select>' ); + + </script> + <br> + <span style="color: #888888"> + (You may see strange characters if your system does not support the selected language) + </span> + </p> + <p> + <textarea cols="80" id="editor1" name="editor1" rows="10">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="https://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea> + <script> + + // Set the number of languages. + document.getElementById( 'count' ).innerHTML = window.CKEDITOR_LANGS.length; + + var editor; + + function createEditor( languageCode ) { + if ( editor ) + editor.destroy(); + + // Replace the <textarea id="editor"> with an CKEditor + // instance, using default configurations. + editor = CKEDITOR.replace( 'editor1', { + language: languageCode, + + on: { + instanceReady: function() { + // Wait for the editor to be ready to set + // the language combo. + var languages = document.getElementById( 'languages' ); + languages.value = this.langCode; + languages.disabled = false; + } + } + }); + } + + // At page startup, load the default language: + createEditor( '' ); + + </script> + </p> + </form> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/uilanguages.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/inlineall.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/inlineall.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/inlineall.html (revision 7) @@ -0,0 +1,314 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>Massive inline editing &mdash; CKEditor Sample</title> + <script src="../../ckeditor.js"></script> + <script> + + // This code is generally not necessary, but it is here to demonstrate + // how to customize specific editor instances on the fly. This fits well + // this demo because we have editable elements (like headers) that + // require less features. + + // The "instanceCreated" event is fired for every editor instance created. + CKEDITOR.on( 'instanceCreated', function( event ) { + var editor = event.editor, + element = editor.element; + + // Customize editors for headers and tag list. + // These editors don't need features like smileys, templates, iframes etc. + if ( element.is( 'h1', 'h2', 'h3' ) || element.getAttribute( 'id' ) == 'taglist' ) { + // Customize the editor configurations on "configLoaded" event, + // which is fired after the configuration file loading and + // execution. This makes it possible to change the + // configurations before the editor initialization takes place. + editor.on( 'configLoaded', function() { + + // Remove unnecessary plugins to make the editor simpler. + editor.config.removePlugins = 'colorbutton,find,flash,font,' + + 'forms,iframe,image,newpage,removeformat,' + + 'smiley,specialchar,stylescombo,templates'; + + // Rearrange the layout of the toolbar. + editor.config.toolbarGroups = [ + { name: 'editing', groups: [ 'basicstyles', 'links' ] }, + { name: 'undo' }, + { name: 'clipboard', groups: [ 'selection', 'clipboard' ] }, + { name: 'about' } + ]; + }); + } + }); + + </script> + <link href="sample.css" rel="stylesheet"> + <style> + + /* The following styles are just to make the page look nice. */ + + /* Workaround to show Arial Black in Firefox. */ + @font-face + { + font-family: 'arial-black'; + src: local('Arial Black'); + } + + *[contenteditable="true"] + { + padding: 10px; + } + + #container + { + width: 960px; + margin: 30px auto 0; + } + + #header + { + overflow: hidden; + padding: 0 0 30px; + border-bottom: 5px solid #05B2D2; + position: relative; + } + + #headerLeft, + #headerRight + { + width: 49%; + overflow: hidden; + } + + #headerLeft + { + float: left; + padding: 10px 1px 1px; + } + + #headerLeft h2, + #headerLeft h3 + { + text-align: right; + margin: 0; + overflow: hidden; + font-weight: normal; + } + + #headerLeft h2 + { + font-family: "Arial Black",arial-black; + font-size: 4.6em; + line-height: 1.1; + text-transform: uppercase; + } + + #headerLeft h3 + { + font-size: 2.3em; + line-height: 1.1; + margin: .2em 0 0; + color: #666; + } + + #headerRight + { + float: right; + padding: 1px; + } + + #headerRight p + { + line-height: 1.8; + text-align: justify; + margin: 0; + } + + #headerRight p + p + { + margin-top: 20px; + } + + #headerRight > div + { + padding: 20px; + margin: 0 0 0 30px; + font-size: 1.4em; + color: #666; + } + + #columns + { + color: #333; + overflow: hidden; + padding: 20px 0; + } + + #columns > div + { + float: left; + width: 33.3%; + } + + #columns #column1 > div + { + margin-left: 1px; + } + + #columns #column3 > div + { + margin-right: 1px; + } + + #columns > div > div + { + margin: 0px 10px; + padding: 10px 20px; + } + + #columns blockquote + { + margin-left: 15px; + } + + #tagLine + { + border-top: 5px solid #05B2D2; + padding-top: 20px; + } + + #taglist { + display: inline-block; + margin-left: 20px; + font-weight: bold; + margin: 0 0 0 20px; + } + + </style> +</head> +<body> +<div> + <h1 class="samples"><a href="index.html">CKEditor Samples</a> &raquo; Massive inline editing</h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/inline.html">brand new version in CKEditor SDK</a>. + </div> + <div class="description"> + <p>This sample page demonstrates the inline editing feature - CKEditor instances will be created automatically from page elements with <strong>contentEditable</strong> attribute set to value <strong>true</strong>:</p> + <pre class="samples">&lt;div <strong>contenteditable="true</strong>" &gt; ... &lt;/div&gt;</pre> + <p>Click inside of any element below to start editing.</p> + </div> +</div> +<div id="container"> + <div id="header"> + <div id="headerLeft"> + <h2 id="sampleTitle" contenteditable="true"> + CKEditor<br> Goes Inline! + </h2> + <h3 contenteditable="true"> + Lorem ipsum dolor sit amet dolor duis blandit vestibulum faucibus a, tortor. + </h3> + </div> + <div id="headerRight"> + <div contenteditable="true"> + <p> + Lorem ipsum dolor sit amet enim. Etiam ullamcorper. Suspendisse a pellentesque dui, non felis. Maecenas malesuada elit lectus felis, malesuada ultricies. + </p> + <p> + Curabitur et ligula. Ut molestie a, ultricies porta urna. Vestibulum commodo volutpat a, convallis ac, laoreet enim. Phasellus fermentum in, dolor. Pellentesque facilisis. Nulla imperdiet sit amet magna. Vestibulum dapibus, mauris nec malesuada fames ac. + </p> + </div> + </div> + </div> + <div id="columns"> + <div id="column1"> + <div contenteditable="true"> + <h3> + Fusce vitae porttitor + </h3> + <p> + <strong> + Lorem ipsum dolor sit amet dolor. Duis blandit vestibulum faucibus a, tortor. + </strong> + </p> + <p> + Proin nunc justo felis mollis tincidunt, risus risus pede, posuere cubilia Curae, Nullam euismod, enim. Etiam nibh ultricies dolor ac dignissim erat volutpat. Vivamus fermentum <a href="https://ckeditor.com/">nisl nulla sem in</a> metus. Maecenas wisi. Donec nec erat volutpat. + </p> + <blockquote> + <p> + Fusce vitae porttitor a, euismod convallis nisl, blandit risus tortor, pretium. + Vehicula vitae, imperdiet vel, ornare enim vel sodales rutrum + </p> + </blockquote> + <blockquote> + <p> + Libero nunc, rhoncus ante ipsum non ipsum. Nunc eleifend pede turpis id sollicitudin fringilla. Phasellus ultrices, velit ac arcu. + </p> + </blockquote> + <p>Pellentesque nunc. Donec suscipit erat. Pellentesque habitant morbi tristique ullamcorper.</p> + <p><s>Mauris mattis feugiat lectus nec mauris. Nullam vitae ante.</s></p> + </div> + </div> + <div id="column2"> + <div contenteditable="true"> + <h3> + Integer condimentum sit amet + </h3> + <p> + <strong>Aenean nonummy a, mattis varius. Cras aliquet.</strong> + Praesent <a href="https://ckeditor.com/">magna non mattis ac, rhoncus nunc</a>, rhoncus eget, cursus pulvinar mollis.</p> + <p>Proin id nibh. Sed eu libero posuere sed, lectus. Phasellus dui gravida gravida feugiat mattis ac, felis.</p> + <p>Integer condimentum sit amet, tempor elit odio, a dolor non ante at sapien. Sed ac lectus. Nulla ligula quis eleifend mi, id leo velit pede cursus arcu id nulla ac lectus. Phasellus vestibulum. Nunc viverra enim quis diam.</p> + </div> + <div contenteditable="true"> + <h3> + Praesent wisi accumsan sit amet nibh + </h3> + <p>Donec ullamcorper, risus tortor, pretium porttitor. Morbi quam quis lectus non leo.</p> + <p style="margin-left: 40px; ">Integer faucibus scelerisque. Proin faucibus at, aliquet vulputate, odio at eros. Fusce <a href="https://ckeditor.com/">gravida, erat vitae augue</a>. Fusce urna fringilla gravida.</p> + <p>In hac habitasse platea dictumst. Praesent wisi accumsan sit amet nibh. Maecenas orci luctus a, lacinia quam sem, posuere commodo, odio condimentum tempor, pede semper risus. Suspendisse pede. In hac habitasse platea dictumst. Nam sed laoreet sit amet erat. Integer.</p> + </div> + </div> + <div id="column3"> + <div contenteditable="true"> + <p> + <img src="assets/inlineall/logo.png" alt="CKEditor logo" style="float:left"> + </p> + <p>Quisque justo neque, mattis sed, fermentum ultrices <strong>posuere cubilia Curae</strong>, Vestibulum elit metus, quis placerat ut, lectus. Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis. Fusce porttitor, nulla quis turpis. Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi. Donec odio nec velit ac nunc sit amet, accumsan cursus aliquet. Vestibulum ante sit amet sagittis mi.</p> + <h3> + Nullam laoreet vel consectetuer tellus suscipit + </h3> + <ul> + <li>Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis.</li> + <li>Fusce porttitor, nulla quis turpis. Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi.</li> + <li>Mauris eget tellus. Donec non felis. Nam eget dolor. Vestibulum enim. Donec.</li> + </ul> + <p>Quisque justo neque, mattis sed, <a href="https://ckeditor.com/">fermentum ultrices posuere cubilia</a> Curae, Vestibulum elit metus, quis placerat ut, lectus.</p> + <p>Nullam laoreet vel, consectetuer tellus suscipit ultricies, hendrerit wisi. Ut sagittis, nunc libero, egestas consequat lobortis velit rutrum ut, faucibus turpis. Fusce porttitor, nulla quis turpis.</p> + <p>Donec odio nec velit ac nunc sit amet, accumsan cursus aliquet. Vestibulum ante sit amet sagittis mi. Sed in nonummy faucibus turpis. Mauris eget tellus. Donec non felis. Nam eget dolor. Vestibulum enim. Donec.</p> + </div> + </div> + </div> + <div id="tagLine"> + Tags of this article: + <p id="taglist" contenteditable="true"> + inline, editing, floating, CKEditor + </p> + </div> +</div> +<div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/"> + https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> + - Frederico Knabben. All rights reserved. + </p> +</div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/inlineall.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/ajax.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/ajax.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/ajax.html (revision 7) @@ -0,0 +1,85 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>Ajax &mdash; CKEditor Sample</title> + <script src="../../ckeditor.js"></script> + <link rel="stylesheet" href="sample.css"> + <script> + + var editor, html = ''; + + function createEditor() { + if ( editor ) + return; + + // Create a new editor inside the <div id="editor">, setting its value to html + var config = {}; + editor = CKEDITOR.appendTo( 'editor', config, html ); + } + + function removeEditor() { + if ( !editor ) + return; + + // Retrieve the editor contents. In an Ajax application, this data would be + // sent to the server or used in any other way. + document.getElementById( 'editorcontents' ).innerHTML = html = editor.getData(); + document.getElementById( 'contents' ).style.display = ''; + + // Destroy the editor. + editor.destroy(); + editor = null; + } + + </script> +</head> +<body> + <h1 class="samples"> + <a href="index.html">CKEditor Samples</a> &raquo; Create and Destroy Editor Instances for Ajax Applications + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/saveajax.html">brand new version in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows how to create and destroy CKEditor instances on the fly. After the removal of CKEditor the content created inside the editing + area will be displayed in a <code>&lt;div&gt;</code> element. + </p> + <p> + For details of how to create this setup check the source code of this sample page + for JavaScript code responsible for the creation and destruction of a CKEditor instance. + </p> + </div> + <p>Click the buttons to create and remove a CKEditor instance.</p> + <p> + <input onclick="createEditor();" type="button" value="Create Editor"> + <input onclick="removeEditor();" type="button" value="Remove Editor"> + </p> + <!-- This div will hold the editor. --> + <div id="editor"> + </div> + <div id="contents" style="display: none"> + <p> + Edited Contents: + </p> + <!-- This div will be used to display the editor contents. --> + <div id="editorcontents"> + </div> + </div> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/ajax.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/jquery.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/jquery.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/jquery.html (revision 7) @@ -0,0 +1,103 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>jQuery Adapter &mdash; CKEditor Sample</title> + <script src="http://code.jquery.com/jquery-1.11.0.min.js"></script> + <script src="../../ckeditor.js"></script> + <script src="../../adapters/jquery.js"></script> + <link href="sample.css" rel="stylesheet"> + <style> + + #editable + { + padding: 10px; + float: left; + } + + </style> + <script> + + CKEDITOR.disableAutoInline = true; + + $( document ).ready( function() { + $( '#editor1' ).ckeditor(); // Use CKEDITOR.replace() if element is <textarea>. + $( '#editable' ).ckeditor(); // Use CKEDITOR.inline(). + } ); + + function setValue() { + $( '#editor1' ).val( $( 'input#val' ).val() ); + } + + </script> +</head> +<body> + <h1 class="samples"> + <a href="index.html" id="a-test">CKEditor Samples</a> &raquo; Create Editors with jQuery + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out the <a href="https://sdk.ckeditor.com/">brand new samples in CKEditor SDK</a>. + </div> + <form action="sample_posteddata.php" method="post"> + <div class="description"> + <p> + This sample shows how to use the <a href="https://docs.ckeditor.com/ckeditor4/docs/#!/guide/dev_jquery">jQuery adapter</a>. + Note that you have to include both CKEditor and jQuery scripts before including the adapter. + </p> + +<pre class="samples"> +&lt;script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"&gt;&lt;/script&gt; +&lt;script src="/ckedit../../ckeditor.js"&gt;&lt;/script&gt; +&lt;script src="/ckeditor/adapters/jquery.js"&gt;&lt;/script&gt; +</pre> + + <p>Then you can replace HTML elements with a CKEditor instance using the <code>ckeditor()</code> method.</p> + +<pre class="samples"> +$( document ).ready( function() { + $( 'textarea#editor1' ).ckeditor(); +} ); +</pre> + </div> + + <h2 class="samples">Inline Example</h2> + + <div id="editable" contenteditable="true"> + <p><img alt="Saturn V carrying Apollo 11" class="right" src="assets/sample.jpg"/><b>Apollo 11</b> was the spaceflight that landed the first humans, Americans <a href="http://en.wikipedia.org/wiki/Neil_Armstrong" title="Neil Armstrong">Neil Armstrong</a> and <a href="http://en.wikipedia.org/wiki/Buzz_Aldrin" title="Buzz Aldrin">Buzz Aldrin</a>, on the Moon on July 20, 1969, at 20:18 UTC. Armstrong became the first to step onto the lunar surface 6 hours later on July 21 at 02:56 UTC.</p> + <p>Armstrong spent about <s>three and a half</s> two and a half hours outside the spacecraft, Aldrin slightly less; and together they collected 47.5 pounds (21.5&nbsp;kg) of lunar material for return to Earth. A third member of the mission, <a href="http://en.wikipedia.org/wiki/Michael_Collins_(astronaut)" title="Michael Collins (astronaut)">Michael Collins</a>, piloted the <a href="http://en.wikipedia.org/wiki/Apollo_Command/Service_Module" title="Apollo Command/Service Module">command</a> spacecraft alone in lunar orbit until Armstrong and Aldrin returned to it for the trip back to Earth. + <p>Broadcast on live TV to a world-wide audience, Armstrong stepped onto the lunar surface and described the event as:</p> + <blockquote><p>One small step for [a] man, one giant leap for mankind.</p></blockquote> <p>Apollo 11 effectively ended the <a href="http://en.wikipedia.org/wiki/Space_Race" title="Space Race">Space Race</a> and fulfilled a national goal proposed in 1961 by the late U.S. President <a href="http://en.wikipedia.org/wiki/John_F._Kennedy" title="John F. Kennedy">John F. Kennedy</a> in a speech before the United States Congress:</p> <blockquote><p>[...] before this decade is out, of landing a man on the Moon and returning him safely to the Earth.</p></blockquote> + </div> + + <br style="clear: both"> + + <h2 class="samples">Classic (iframe-based) Example</h2> + + <textarea cols="80" id="editor1" name="editor1" rows="10"> + &lt;h2&gt;Technical details &lt;a id=&quot;tech-details&quot; name=&quot;tech-details&quot;&gt;&lt;/a&gt;&lt;/h2&gt; &lt;table align=&quot;right&quot; border=&quot;1&quot; bordercolor=&quot;#ccc&quot; cellpadding=&quot;5&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse:collapse;margin:10px 0 10px 15px;&quot;&gt; &lt;caption&gt;&lt;strong&gt;Mission crew&lt;/strong&gt;&lt;/caption&gt; &lt;thead&gt; &lt;tr&gt; &lt;th scope=&quot;col&quot;&gt;Position&lt;/th&gt; &lt;th scope=&quot;col&quot;&gt;Astronaut&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;Commander&lt;/td&gt; &lt;td&gt;Neil A. Armstrong&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Command Module Pilot&lt;/td&gt; &lt;td&gt;Michael Collins&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Lunar Module Pilot&lt;/td&gt; &lt;td&gt;Edwin &amp;quot;Buzz&amp;quot; E. Aldrin, Jr.&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; &lt;p&gt;Launched by a &lt;strong&gt;Saturn V&lt;/strong&gt; rocket from &lt;a href=&quot;http://en.wikipedia.org/wiki/Kennedy_Space_Center&quot; title=&quot;Kennedy Space Center&quot;&gt;Kennedy Space Center&lt;/a&gt; in Merritt Island, Florida on July 16, Apollo 11 was the fifth manned mission of &lt;a href=&quot;http://en.wikipedia.org/wiki/NASA&quot; title=&quot;NASA&quot;&gt;NASA&lt;/a&gt;&amp;#39;s Apollo program. The Apollo spacecraft had three parts:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Command Module&lt;/strong&gt; with a cabin for the three astronauts which was the only part which landed back on Earth&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Service Module&lt;/strong&gt; which supported the Command Module with propulsion, electrical power, oxygen and water&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Lunar Module&lt;/strong&gt; for landing on the Moon.&lt;/li&gt; &lt;/ol&gt; &lt;p&gt;After being sent to the Moon by the Saturn V&amp;#39;s upper stage, the astronauts separated the spacecraft from it and travelled for three days until they entered into lunar orbit. Armstrong and Aldrin then moved into the Lunar Module and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mare_Tranquillitatis&quot; title=&quot;Mare Tranquillitatis&quot;&gt;Sea of Tranquility&lt;/a&gt;. They stayed a total of about 21 and a half hours on the lunar surface. After lifting off in the upper part of the Lunar Module and rejoining Collins in the Command Module, they returned to Earth and landed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pacific_Ocean&quot; title=&quot;Pacific Ocean&quot;&gt;Pacific Ocean&lt;/a&gt; on July 24.&lt;/p&gt; &lt;hr/&gt; &lt;p style=&quot;text-align: right;&quot;&gt;&lt;small&gt;Source: &lt;a href=&quot;http://en.wikipedia.org/wiki/Apollo_11&quot;&gt;Wikipedia.org&lt;/a&gt;&lt;/small&gt;&lt;/p&gt; + </textarea> + + <p style="overflow: hidden"> + <input style="float: left" type="submit" value="Submit"> + <span style="float: right"> + <input type="text" id="val" value="I'm using jQuery val()!" size="30"> + <input onclick="setValue();" type="button" value="Set value"> + </span> + </p> + </form> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/jquery.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/toolbar/toolbar.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/toolbar/toolbar.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/toolbar/toolbar.html (revision 7) @@ -0,0 +1,235 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>Toolbar Configuration &mdash; CKEditor Sample</title> + <meta name="ckeditor-sample-name" content="Toolbar Configurations"> + <meta name="ckeditor-sample-group" content="Advanced Samples"> + <meta name="ckeditor-sample-description" content="Configuring CKEditor to display full or custom toolbar layout."> + <script src="../../../ckeditor.js"></script> + <link href="../../../samples/old/sample.css" rel="stylesheet"> +</head> +<body> + <h1 class="samples"> + <a href="../../../samples/old/index.html">CKEditor Samples</a> &raquo; Toolbar Configuration + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out the <a href="../../../samples/toolbarconfigurator/index.html#basic">brand new CKEditor Toolbar Configurator</a>. + </div> + <div class="description"> + <p> + This sample page demonstrates editor with loaded <a href="#fullToolbar">full toolbar</a> (all registered buttons) and, if + current editor's configuration modifies default settings, also editor with <a href="#currentToolbar">modified toolbar</a>. + </p> + + <p>Since CKEditor 4 there are two ways to configure toolbar buttons.</p> + + <h2 class="samples">By <a href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-toolbar">config.toolbar</a></h2> + + <p> + You can explicitly define which buttons are displayed in which groups and in which order. + This is the more precise setting, but less flexible. If newly added plugin adds its + own button you'll have to add it manually to your <code>config.toolbar</code> setting as well. + </p> + + <p>To add a CKEditor instance with custom toolbar setting, insert the following JavaScript call to your code:</p> + + <pre class="samples"> +CKEDITOR.replace( <em>'textarea_id'</em>, { + <strong>toolbar:</strong> [ + { name: 'document', items: [ 'Source', '-', 'NewPage', 'Preview', '-', 'Templates' ] }, // Defines toolbar group with name (used to create voice label) and items in 3 subgroups. + [ 'Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Undo', 'Redo' ], // Defines toolbar group without name. + '/', // Line break - next group will be placed in new line. + { name: 'basicstyles', items: [ 'Bold', 'Italic' ] } + ] +});</pre> + + <h2 class="samples">By <a href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.config-cfg-toolbarGroups">config.toolbarGroups</a></h2> + + <p> + You can define which groups of buttons (like e.g. <code>basicstyles</code>, <code>clipboard</code> + and <code>forms</code>) are displayed and in which order. Registered buttons are associated + with toolbar groups by <code>toolbar</code> property in their definition. + This setting's advantage is that you don't have to modify toolbar configuration + when adding/removing plugins which register their own buttons. + </p> + + <p>To add a CKEditor instance with custom toolbar groups setting, insert the following JavaScript call to your code:</p> + + <pre class="samples"> +CKEDITOR.replace( <em>'textarea_id'</em>, { + <strong>toolbarGroups:</strong> [ + { name: 'document', groups: [ 'mode', 'document' ] }, // Displays document group with its two subgroups. + { name: 'clipboard', groups: [ 'clipboard', 'undo' ] }, // Group's name will be used to create voice label. + '/', // Line break - next group will be placed in new line. + { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] }, + { name: 'links' } + ] + + // NOTE: Remember to leave 'toolbar' property with the default value (null). +});</pre> + </div> + + <div id="currentToolbar" style="display: none"> + <h2 class="samples">Current toolbar configuration</h2> + <p>Below you can see editor with current toolbar definition.</p> + <textarea cols="80" id="editorCurrent" name="editorCurrent" rows="10">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="https://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea> + <pre id="editorCurrentCfg" class="samples"></pre> + </div> + + <div id="fullToolbar"> + <h2 class="samples">Full toolbar configuration</h2> + <p>Below you can see editor with full toolbar, generated automatically by the editor.</p> + <p> + <strong>Note</strong>: To create editor instance with full toolbar you don't have to set anything. + Just leave <code>toolbar</code> and <code>toolbarGroups</code> with the default, <code>null</code> values. + </p> + <textarea cols="80" id="editorFull" name="editorFull" rows="10">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="https://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea> + <pre id="editorFullCfg" class="samples"></pre> + </div> + + <script> + +(function() { + 'use strict'; + + var buttonsNames; + + CKEDITOR.config.extraPlugins = 'toolbar'; + + CKEDITOR.on( 'instanceReady', function( evt ) { + var editor = evt.editor, + editorCurrent = editor.name == 'editorCurrent', + defaultToolbar = !( editor.config.toolbar || editor.config.toolbarGroups || editor.config.removeButtons ), + pre = CKEDITOR.document.getById( editor.name + 'Cfg' ), + output = ''; + + if ( editorCurrent ) { + // If default toolbar configuration has been modified, show "current toolbar" section. + if ( !defaultToolbar ) + CKEDITOR.document.getById( 'currentToolbar' ).show(); + else + return; + } + + if ( !buttonsNames ) + buttonsNames = createButtonsNamesHash( editor.ui.items ); + + // Toolbar isn't set explicitly, so it was created automatically from toolbarGroups. + if ( !editor.config.toolbar ) { + output += + '// Toolbar configuration generated automatically by the editor based on config.toolbarGroups.\n' + + dumpToolbarConfiguration( editor ) + + '\n\n' + + '// Toolbar groups configuration.\n' + + dumpToolbarConfiguration( editor, true ) + } + // Toolbar groups doesn't count in this case - print only toolbar. + else { + output += '// Toolbar configuration.\n' + + dumpToolbarConfiguration( editor ); + } + + // Recreate to avoid old IE from loosing whitespaces on filling <pre> content. + var preOutput = pre.getOuterHtml().replace( /(?=<\/)/, output ); + CKEDITOR.dom.element.createFromHtml( preOutput ).replace( pre ); + } ); + + CKEDITOR.replace( 'editorCurrent', { height: 100 } ); + CKEDITOR.replace( 'editorFull', { + // Reset toolbar settings, so full toolbar will be generated automatically. + toolbar: null, + toolbarGroups: null, + removeButtons: null, + height: 100 + } ); + + function dumpToolbarConfiguration( editor, printGroups ) { + var output = [], + toolbar = editor.toolbar; + + for ( var i = 0; i < toolbar.length; ++i ) { + var group = dumpToolbarGroup( toolbar[ i ], printGroups ); + if ( group ) + output.push( group ); + } + + return 'config.toolbar' + ( printGroups ? 'Groups' : '' ) + ' = [\n\t' + output.join( ',\n\t' ) + '\n];'; + } + + function dumpToolbarGroup( group, printGroups ) { + var output = []; + + if ( typeof group == 'string' ) + return '\'' + group + '\''; + if ( CKEDITOR.tools.isArray( group ) ) + return dumpToolbarItems( group ); + // Skip group when printing entire toolbar configuration and there are no items in this group. + if ( !printGroups && !group.items ) + return; + + if ( group.name ) + output.push( 'name: \'' + group.name + '\'' ); + + if ( group.groups ) + output.push( 'groups: ' + dumpToolbarItems( group.groups ) ); + + if ( !printGroups ) + output.push( 'items: ' + dumpToolbarItems( group.items ) ); + + return '{ ' + output.join( ', ' ) + ' }'; + } + + function dumpToolbarItems( items ) { + if ( typeof items == 'string' ) + return '\'' + items + '\''; + + var names = [], + i, item; + + for ( var i = 0; i < items.length; ++i ) { + item = items[ i ]; + if ( typeof item == 'string' ) + names.push( item ); + else { + if ( item.type == CKEDITOR.UI_SEPARATOR ) + names.push( '-' ); + else + names.push( buttonsNames[ item.name ] ); + } + } + + return '[ \'' + names.join( '\', \'' ) + '\' ]'; + } + + // Creates { 'lowercased': 'LowerCased' } buttons names hash. + function createButtonsNamesHash( items ) { + var hash = {}, + name; + + for ( name in items ) { + hash[ items[ name ].name ] = name; + } + + return hash; + } + +})(); + </script> + + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/toolbar/toolbar.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/divreplace.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/divreplace.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/divreplace.html (revision 7) @@ -0,0 +1,144 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>Replace DIV &mdash; CKEditor Sample</title> + <script src="../../ckeditor.js"></script> + <link href="sample.css" rel="stylesheet"> + <style> + + div.editable + { + border: solid 2px transparent; + padding-left: 15px; + padding-right: 15px; + } + + div.editable:hover + { + border-color: black; + } + + </style> + <script> + + // Uncomment the following code to test the "Timeout Loading Method". + // CKEDITOR.loadFullCoreTimeout = 5; + + window.onload = function() { + // Listen to the double click event. + if ( window.addEventListener ) + document.body.addEventListener( 'dblclick', onDoubleClick, false ); + else if ( window.attachEvent ) + document.body.attachEvent( 'ondblclick', onDoubleClick ); + + }; + + function onDoubleClick( ev ) { + // Get the element which fired the event. This is not necessarily the + // element to which the event has been attached. + var element = ev.target || ev.srcElement; + + // Find out the div that holds this element. + var name; + + do { + element = element.parentNode; + } + while ( element && ( name = element.nodeName.toLowerCase() ) && + ( name != 'div' || element.className.indexOf( 'editable' ) == -1 ) && name != 'body' ); + + if ( name == 'div' && element.className.indexOf( 'editable' ) != -1 ) + replaceDiv( element ); + } + + var editor; + + function replaceDiv( div ) { + if ( editor ) + editor.destroy(); + + editor = CKEDITOR.replace( div ); + } + + </script> +</head> +<body> + <h1 class="samples"> + <a href="index.html">CKEditor Samples</a> &raquo; Replace DIV with CKEditor on the Fly + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out the <a href="https://sdk.ckeditor.com/">brand new samples in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows how to automatically replace <code>&lt;div&gt;</code> elements + with a CKEditor instance on the fly, following user's doubleclick. The content + that was previously placed inside the <code>&lt;div&gt;</code> element will now + be moved into CKEditor editing area. + </p> + <p> + For details on how to create this setup check the source code of this sample page. + </p> + </div> + <p> + Double-click any of the following <code>&lt;div&gt;</code> elements to transform them into + editor instances. + </p> + <div class="editable"> + <h3> + Part 1 + </h3> + <p> + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi + semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna + rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla + nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce + eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus. + </p> + </div> + <div class="editable"> + <h3> + Part 2 + </h3> + <p> + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi + semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna + rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla + nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce + eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus. + </p> + <p> + Donec velit. Mauris massa. Vestibulum non nulla. Nam suscipit arcu nec elit. Phasellus + sollicitudin iaculis ante. Ut non mauris et sapien tincidunt adipiscing. Vestibulum + vitae leo. Suspendisse nec mi tristique nulla laoreet vulputate. + </p> + </div> + <div class="editable"> + <h3> + Part 3 + </h3> + <p> + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras et ipsum quis mi + semper accumsan. Integer pretium dui id massa. Suspendisse in nisl sit amet urna + rutrum imperdiet. Nulla eu tellus. Donec ante nisi, ullamcorper quis, fringilla + nec, sagittis eleifend, pede. Nulla commodo interdum massa. Donec id metus. Fusce + eu ipsum. Suspendisse auctor. Phasellus fermentum porttitor risus. + </p> + </div> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/divreplace.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/api.html =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/api.html (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/api.html (revision 7) @@ -0,0 +1,210 @@ +<!DOCTYPE html> +<!-- +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +--> +<html> +<head> + <meta charset="utf-8"> + <title>API Usage &mdash; CKEditor Sample</title> + <script src="../../ckeditor.js"></script> + <link href="sample.css" rel="stylesheet"> + <script> + +// The instanceReady event is fired, when an instance of CKEditor has finished +// its initialization. +CKEDITOR.on( 'instanceReady', function( ev ) { + // Show the editor name and description in the browser status bar. + document.getElementById( 'eMessage' ).innerHTML = 'Instance <code>' + ev.editor.name + '<\/code> loaded.'; + + // Show this sample buttons. + document.getElementById( 'eButtons' ).style.display = 'block'; +}); + +function InsertHTML() { + // Get the editor instance that we want to interact with. + var editor = CKEDITOR.instances.editor1; + var value = document.getElementById( 'htmlArea' ).value; + + // Check the active editing mode. + if ( editor.mode == 'wysiwyg' ) + { + // Insert HTML code. + // https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-insertHtml + editor.insertHtml( value ); + } + else + alert( 'You must be in WYSIWYG mode!' ); +} + +function InsertText() { + // Get the editor instance that we want to interact with. + var editor = CKEDITOR.instances.editor1; + var value = document.getElementById( 'txtArea' ).value; + + // Check the active editing mode. + if ( editor.mode == 'wysiwyg' ) + { + // Insert as plain text. + // https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-insertText + editor.insertText( value ); + } + else + alert( 'You must be in WYSIWYG mode!' ); +} + +function SetContents() { + // Get the editor instance that we want to interact with. + var editor = CKEDITOR.instances.editor1; + var value = document.getElementById( 'htmlArea' ).value; + + // Set editor contents (replace current contents). + // https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-setData + editor.setData( value ); +} + +function GetContents() { + // Get the editor instance that you want to interact with. + var editor = CKEDITOR.instances.editor1; + + // Get editor contents + // https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-getData + alert( editor.getData() ); +} + +function ExecuteCommand( commandName ) { + // Get the editor instance that we want to interact with. + var editor = CKEDITOR.instances.editor1; + + // Check the active editing mode. + if ( editor.mode == 'wysiwyg' ) + { + // Execute the command. + // https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-execCommand + editor.execCommand( commandName ); + } + else + alert( 'You must be in WYSIWYG mode!' ); +} + +function CheckDirty() { + // Get the editor instance that we want to interact with. + var editor = CKEDITOR.instances.editor1; + // Checks whether the current editor contents present changes when compared + // to the contents loaded into the editor at startup + // https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-checkDirty + alert( editor.checkDirty() ); +} + +function ResetDirty() { + // Get the editor instance that we want to interact with. + var editor = CKEDITOR.instances.editor1; + // Resets the "dirty state" of the editor (see CheckDirty()) + // https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor-method-resetDirty + editor.resetDirty(); + alert( 'The "IsDirty" status has been reset' ); +} + +function Focus() { + CKEDITOR.instances.editor1.focus(); +} + +function onFocus() { + document.getElementById( 'eMessage' ).innerHTML = '<b>' + this.name + ' is focused </b>'; +} + +function onBlur() { + document.getElementById( 'eMessage' ).innerHTML = this.name + ' lost focus'; +} + + </script> + +</head> +<body> + <h1 class="samples"> + <a href="index.html">CKEditor Samples</a> &raquo; Using CKEditor JavaScript API + </h1> + <div class="warning deprecated"> + This sample is not maintained anymore. Check out its <a href="https://sdk.ckeditor.com/samples/api.html">brand new version in CKEditor SDK</a>. + </div> + <div class="description"> + <p> + This sample shows how to use the + <a class="samples" href="https://docs.ckeditor.com/ckeditor4/docs/#!/api/CKEDITOR.editor">CKEditor JavaScript API</a> + to interact with the editor at runtime. + </p> + <p> + For details on how to create this setup check the source code of this sample page. + </p> + </div> + + <!-- This <div> holds alert messages to be display in the sample page. --> + <div id="alerts"> + <noscript> + <p> + <strong>CKEditor requires JavaScript to run</strong>. In a browser with no JavaScript + support, like yours, you should still see the contents (HTML data) and you should + be able to edit it normally, without a rich editor interface. + </p> + </noscript> + </div> + <form action="../../../samples/sample_posteddata.php" method="post"> + <textarea cols="100" id="editor1" name="editor1" rows="10">&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="https://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;</textarea> + + <script> + // Replace the <textarea id="editor1"> with an CKEditor instance. + CKEDITOR.replace( 'editor1', { + on: { + focus: onFocus, + blur: onBlur, + + // Check for availability of corresponding plugins. + pluginsLoaded: function( evt ) { + var doc = CKEDITOR.document, ed = evt.editor; + if ( !ed.getCommand( 'bold' ) ) + doc.getById( 'exec-bold' ).hide(); + if ( !ed.getCommand( 'link' ) ) + doc.getById( 'exec-link' ).hide(); + } + } + }); + </script> + + <p id="eMessage"> + </p> + + <div id="eButtons" style="display: none"> + <input id="exec-bold" onclick="ExecuteCommand('bold');" type="button" value="Execute &quot;bold&quot; Command"> + <input id="exec-link" onclick="ExecuteCommand('link');" type="button" value="Execute &quot;link&quot; Command"> + <input onclick="Focus();" type="button" value="Focus"> + <br><br> + <input onclick="InsertHTML();" type="button" value="Insert HTML"> + <input onclick="SetContents();" type="button" value="Set Editor Contents"> + <input onclick="GetContents();" type="button" value="Get Editor Contents (HTML)"> + <br> + <textarea cols="100" id="htmlArea" rows="3">&lt;h2&gt;Test&lt;/h2&gt;&lt;p&gt;This is some &lt;a href="/Test1.html"&gt;sample&lt;/a&gt; HTML code.&lt;/p&gt;</textarea> + <br> + <br> + <input onclick="InsertText();" type="button" value="Insert Text"> + <br> + <textarea cols="100" id="txtArea" rows="3"> First line with some leading whitespaces. + +Second line of text preceded by two line breaks.</textarea> + <br> + <br> + <input onclick="CheckDirty();" type="button" value="checkDirty()"> + <input onclick="ResetDirty();" type="button" value="resetDirty()"> + </div> + </form> + <div id="footer"> + <hr> + <p> + CKEditor - The text editor for the Internet - <a class="samples" href="https://ckeditor.com/">https://ckeditor.com</a> + </p> + <p id="copy"> + Copyright &copy; 2003-2018, <a class="samples" href="https://cksource.com/">CKSource</a> - Frederico + Knabben. All rights reserved. + </p> + </div> +</body> +</html> Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/api.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/sample.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/sample.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/sample.css (revision 7) @@ -0,0 +1,357 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ + +html, body, h1, h2, h3, h4, h5, h6, div, span, blockquote, p, address, form, fieldset, img, ul, ol, dl, dt, dd, li, hr, table, td, th, strong, em, sup, sub, dfn, ins, del, q, cite, var, samp, code, kbd, tt, pre +{ + line-height: 1.5; +} + +body +{ + padding: 10px 30px; +} + +input, textarea, select, option, optgroup, button, td, th +{ + font-size: 100%; +} + +pre +{ + -moz-tab-size: 4; + tab-size: 4; +} + +pre, code, kbd, samp, tt +{ + font-family: monospace,monospace; + font-size: 1em; +} + +body { + width: 960px; + margin: 0 auto; +} + +code +{ + background: #f3f3f3; + border: 1px solid #ddd; + padding: 1px 4px; + border-radius: 3px; +} + +abbr +{ + border-bottom: 1px dotted #555; + cursor: pointer; +} + +.new, .beta +{ + text-transform: uppercase; + font-size: 10px; + font-weight: bold; + padding: 1px 4px; + margin: 0 0 0 5px; + color: #fff; + float: right; + border-radius: 3px; +} + +.new +{ + background: #FF7E00; + border: 1px solid #DA8028; + text-shadow: 0 1px 0 #C97626; + + box-shadow: 0 2px 3px 0 #FFA54E inset; +} + +.beta +{ + background: #18C0DF; + border: 1px solid #19AAD8; + text-shadow: 0 1px 0 #048CAD; + font-style: italic; + + box-shadow: 0 2px 3px 0 #50D4FD inset; +} + +h1.samples +{ + color: #0782C1; + font-size: 200%; + font-weight: normal; + margin: 0; + padding: 0; +} + +h1.samples a +{ + color: #0782C1; + text-decoration: none; + border-bottom: 1px dotted #0782C1; +} + +.samples a:hover +{ + border-bottom: 1px dotted #0782C1; +} + +h2.samples +{ + color: #000000; + font-size: 130%; + margin: 15px 0 0 0; + padding: 0; +} + +p, blockquote, address, form, pre, dl, h1.samples, h2.samples +{ + margin-bottom: 15px; +} + +ul.samples +{ + margin-bottom: 15px; +} + +.clear +{ + clear: both; +} + +fieldset +{ + margin: 0; + padding: 10px; +} + +body, input, textarea +{ + color: #333333; + font-family: Arial, Helvetica, sans-serif; +} + +body +{ + font-size: 75%; +} + +a.samples +{ + color: #189DE1; + text-decoration: none; +} + +form +{ + margin: 0; + padding: 0; +} + +pre.samples +{ + background-color: #F7F7F7; + border: 1px solid #D7D7D7; + overflow: auto; + padding: 0.25em; + white-space: pre-wrap; /* CSS 2.1 */ + word-wrap: break-word; /* IE7 */ +} + +#footer +{ + clear: both; + padding-top: 10px; +} + +#footer hr +{ + margin: 10px 0 15px 0; + height: 1px; + border: solid 1px gray; + border-bottom: none; +} + +#footer p +{ + margin: 0 10px 10px 10px; + float: left; +} + +#footer #copy +{ + float: right; +} + +#outputSample +{ + width: 100%; + table-layout: fixed; +} + +#outputSample thead th +{ + color: #dddddd; + background-color: #999999; + padding: 4px; + white-space: nowrap; +} + +#outputSample tbody th +{ + vertical-align: top; + text-align: left; +} + +#outputSample pre +{ + margin: 0; + padding: 0; +} + +.description +{ + border: 1px dotted #B7B7B7; + margin-bottom: 10px; + padding: 10px 10px 0; + overflow: hidden; +} + +label +{ + display: block; + margin-bottom: 6px; +} + +/** + * CKEditor editables are automatically set with the "cke_editable" class + * plus cke_editable_(inline|themed) depending on the editor type. + */ + +/* Style a bit the inline editables. */ +.cke_editable.cke_editable_inline +{ + cursor: pointer; +} + +/* Once an editable element gets focused, the "cke_focus" class is + added to it, so we can style it differently. */ +.cke_editable.cke_editable_inline.cke_focus +{ + box-shadow: inset 0px 0px 20px 3px #ddd, inset 0 0 1px #000; + outline: none; + background: #eee; + cursor: text; +} + +/* Avoid pre-formatted overflows inline editable. */ +.cke_editable_inline pre +{ + white-space: pre-wrap; + word-wrap: break-word; +} + +/** + * Samples index styles. + */ + +.twoColumns, +.twoColumnsLeft, +.twoColumnsRight +{ + overflow: hidden; +} + +.twoColumnsLeft, +.twoColumnsRight +{ + width: 45%; +} + +.twoColumnsLeft +{ + float: left; +} + +.twoColumnsRight +{ + float: right; +} + +dl.samples +{ + padding: 0 0 0 40px; +} +dl.samples > dt +{ + display: list-item; + list-style-type: disc; + list-style-position: outside; + margin: 0 0 3px; +} +dl.samples > dd +{ + margin: 0 0 3px; +} +.warning +{ + color: #ff0000; + background-color: #FFCCBA; + border: 2px dotted #ff0000; + padding: 15px 10px; + margin: 10px 0; +} + +.warning.deprecated { + font-size: 1.3em; +} + +/* Used on inline samples */ + +blockquote +{ + font-style: italic; + font-family: Georgia, Times, "Times New Roman", serif; + padding: 2px 0; + border-style: solid; + border-color: #ccc; + border-width: 0; +} + +.cke_contents_ltr blockquote +{ + padding-left: 20px; + padding-right: 8px; + border-left-width: 5px; +} + +.cke_contents_rtl blockquote +{ + padding-left: 8px; + padding-right: 20px; + border-right-width: 5px; +} + +img.right { + border: 1px solid #ccc; + float: right; + margin-left: 15px; + padding: 5px; +} + +img.left { + border: 1px solid #ccc; + float: left; + margin-right: 15px; + padding: 5px; +} + +.marker +{ + background-color: Yellow; +} Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/old/sample.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/js/sf.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/js/sf.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/js/sf.js (revision 7) @@ -0,0 +1,17 @@ +/* + Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ +var SF=function(){function d(a){return(a=a.attributes?a.attributes.getNamedItem("class"):null)?a.value.split(" "):[]}function c(a){var e=document.createAttribute("class");e.value=a.join(" ");return e}var b={attachListener:function(a,e,b){if(a.addEventListener)a.addEventListener(e,b,!1);else if(a.attachEvent)a.attachEvent("on"+e,function(){b.apply(a,arguments)});else throw Error("Could not attach event.");}};b.indexOf=function(){var a=Array.prototype.indexOf;return"function"===a?function(e,b){return a.call(e, +b)}:function(a,b){for(var c=a.length,d=0;d<c;d++)if(a[d]===b)return d;return-1}}();b.accept=function(a,e){var c;a.children?(c=a.children,e(a)):"number"===typeof a.length&&(c=a);for(var d=c?c.length||0:0;d--;)b.accept(c[d],e)};b.getByClass=function(){var a=document.getElementsByClassName;return"function"===typeof a?function(e,b){"string"===typeof e&&(b=e,e=document);return a.call(e,b)}:function(a,c){"string"===typeof a&&(c=a,a=document.getElementsByTagName("html")[0]);var d=[];b.accept(a,function(a){b.classList.contains(a, +c)&&d.push(a)});return d}}();b.classList={};b.classList.add=function(a,b){var f=d(a);f.push(b);a.attributes.setNamedItem(c(f))};b.classList.remove=function(a,e){var f=d(a,e),n=b.indexOf(f,e);-1!==n&&(f.splice(n,1),a.attributes.setNamedItem(c(f)))};b.classList.contains=function(a,c){return-1!==b.indexOf(d(a),c)};b.classList.toggle=function(a,b){this.contains(a,b)?this.remove(a,b):this.add(a,b)};return b}();"use strict"; +(function(){function d(c){for(var b in c)delete c[b]}SF.modal=function(c){function b(a){27==a.keyCode&&f.close()}c.modalClass="modal content";c.closeClass="modal-close";c.modalStyles=d;c.closeStyles=d;var a=c.afterCreate,e=c.afterClose;c.afterCreate=function(c){a&&a(c);window.addEventListener("keydown",b)};c.afterClose=function(a){e&&e(a);window.removeEventListener("keydown",b)};var f=(new picoModal(c)).afterCreate(c.afterCreate).afterClose(c.afterClose);return f}})();"use strict"; +(function(){for(var d=SF.getByClass("toggler"),c=d.length;c--;)SF.attachListener(d[c],"click",function(){var b=SF.classList.contains(this,"icon-toggler-expanded")||SF.classList.contains(this,"icon-toggler-collapsed"),a=document.getElementById(this.getAttribute("data-for"));SF.classList.toggle(this,"collapsed");SF.classList.contains(this,"collapsed")?(SF.classList.add(a,"collapsed"),b&&(SF.classList.remove(this,"icon-toggler-expanded"),SF.classList.add(this,"icon-toggler-collapsed"))):(SF.classList.remove(a, +"collapsed"),b&&(SF.classList.remove(this,"icon-toggler-collapsed"),SF.classList.add(this,"icon-toggler-expanded")))})})();"use strict";(function(){for(var d=SF.getByClass("tree-a"),c=d.length;c--;)SF.attachListener(d[c],"click",function(b){b=b.target||b.srcElement;"H2"!==b.nodeName||SF.classList.contains(b,"tree-a-no-sub")||SF.classList.toggle(b,"tree-a-active")})})(); +(function(d,c){function b(a){return"object"===typeof Node?a instanceof Node:a&&"object"===typeof a&&"number"===typeof a.nodeType}function a(){var a=[];return{watch:a.push.bind(a),trigger:function(b){for(var c=!0,d={preventDefault:function(){c=!1}},e=0;e<a.length;e++)a[e](b,d);return c}}}function e(a){this.elem=a}function f(a,b){return e.div().clazz("pico-overlay").clazz(a("overlayClass","")).stylize({display:"block",position:"fixed",top:"0px",left:"0px",height:"100%",width:"100%",zIndex:1E4}).stylize(a("overlayStyles", +{opacity:.5,background:"#000"})).onClick(function(){a("overlayClose",!0)&&b()})}function n(a,b){var c=a("width","auto");"number"===typeof c&&(c=""+c+"px");return e.div().clazz("pico-content").clazz(a("modalClass","")).stylize({display:"block",position:"fixed",zIndex:10001,left:"50%",top:"50px",width:c,"-ms-transform":"translateX(-50%)","-moz-transform":"translateX(-50%)","-webkit-transform":"translateX(-50%)","-o-transform":"translateX(-50%)",transform:"translateX(-50%)"}).stylize(a("modalStyles", +{backgroundColor:"white",padding:"20px",borderRadius:"5px"})).html(a("content")).attr("role","dialog").onClick(function(a){(new e(a.target)).anyAncestor(function(a){return/\bpico-close\b/.test(a.elem.className)})&&b()})}function p(a){return function(){return a().elem}}function k(c){function e(a,b){var d=c[a];"function"===typeof d&&(d=d(b));return void 0===d?b:d}function k(){l().hide();m().hide();v.trigger(h)}function q(){w.trigger(h)&&k()}function g(a){return function(){a.apply(this,arguments);return h}} +function r(a){if(!t){var c=n(e,q),b=f(e,q),d;d=e("closeButton",!0)?c.child().html(e("closeHtml","\x26#xD7;")).clazz("pico-close").clazz(e("closeClass")).stylize(e("closeStyles",{borderRadius:"2px",cursor:"pointer",height:"15px",width:"15px",position:"absolute",top:"5px",right:"5px",fontSize:"16px",textAlign:"center",lineHeight:"15px",background:"#CCC"})):void 0;t={modal:c,overlay:b,close:d};x.trigger(h)}return t[a]}if("string"===typeof c||b(c))c={content:c};var x=a(),y=a(),z=a(),w=a(),v=a(),t,m=r.bind(d, +"modal"),l=r.bind(d,"overlay"),u=r.bind(d,"close"),h={modalElem:p(m),closeElem:p(u),overlayElem:p(l),show:function(){y.trigger(h)&&(l().show(),u(),m().show(),z.trigger(h));return this},close:g(q),forceClose:g(k),destroy:function(){m=m().destroy();l=l().destroy();u=void 0},options:function(a){c=a},afterCreate:g(x.watch),beforeShow:g(y.watch),afterShow:g(z.watch),beforeClose:g(w.watch),afterClose:g(v.watch)};return h}e.div=function(a){var b=c.createElement("div");(a||c.body).appendChild(b);return new e(b)}; +e.prototype={child:function(){return e.div(this.elem)},stylize:function(a){a=a||{};"undefined"!==typeof a.opacity&&(a.filter="alpha(opacity\x3d"+100*a.opacity+")");for(var b in a)a.hasOwnProperty(b)&&(this.elem.style[b]=a[b]);return this},clazz:function(a){this.elem.className+=" "+a;return this},html:function(a){b(a)?this.elem.appendChild(a):this.elem.innerHTML=a;return this},onClick:function(a){this.elem.addEventListener("click",a);return this},destroy:function(){c.body.removeChild(this.elem)},hide:function(){this.elem.style.display= +"none"},show:function(){this.elem.style.display="block"},attr:function(a,b){this.elem.setAttribute(a,b);return this},anyAncestor:function(a){for(var b=this.elem;b;){if(a(new e(b)))return!0;b=b.parentNode}return!1}};"function"===typeof d.define&&d.define.amd?d.define(function(){return k}):d.picoModal=k})(window,document); \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/js/sf.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/js/sample.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/js/sample.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/js/sample.js (revision 7) @@ -0,0 +1,53 @@ +/** + * Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license + */ + +/* exported initSample */ + +if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ) + CKEDITOR.tools.enableHtml5Elements( document ); + +// The trick to keep the editor in the sample quite small +// unless user specified own height. +CKEDITOR.config.height = 150; +CKEDITOR.config.width = 'auto'; + +var initSample = ( function() { + var wysiwygareaAvailable = isWysiwygareaAvailable(), + isBBCodeBuiltIn = !!CKEDITOR.plugins.get( 'bbcode' ); + + return function() { + var editorElement = CKEDITOR.document.getById( 'editor' ); + + // :((( + if ( isBBCodeBuiltIn ) { + editorElement.setHtml( + 'Hello world!\n\n' + + 'I\'m an instance of [url=https://ckeditor.com]CKEditor[/url].' + ); + } + + // Depending on the wysiwygare plugin availability initialize classic or inline editor. + if ( wysiwygareaAvailable ) { + CKEDITOR.replace( 'editor' ); + } else { + editorElement.setAttribute( 'contenteditable', 'true' ); + CKEDITOR.inline( 'editor' ); + + // TODO we can consider displaying some info box that + // without wysiwygarea the classic editor may not work. + } + }; + + function isWysiwygareaAvailable() { + // If in development mode, then the wysiwygarea must be available. + // Split REV into two strings so builder does not replace it :D. + if ( CKEDITOR.revision == ( '%RE' + 'V%' ) ) { + return true; + } + + return !!CKEDITOR.plugins.get( 'wysiwygarea' ); + } +} )(); + Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/samples/js/sample.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fi.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fi.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fi.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['fi']={"editor":"Rikastekstieditori","editorPanel":"Rikastekstieditoripaneeli","common":{"editorHelp":"Paina ALT 0 nähdäksesi ohjeen","browseServer":"Selaa palvelinta","url":"Osoite","protocol":"Protokolla","upload":"Lisää tiedosto","uploadSubmit":"Lähetä palvelimelle","image":"Kuva","flash":"Flash-animaatio","form":"Lomake","checkbox":"Valintaruutu","radio":"Radiopainike","textField":"Tekstikenttä","textarea":"Tekstilaatikko","hiddenField":"Piilokenttä","button":"Painike","select":"Valintakenttä","imageButton":"Kuvapainike","notSet":"<ei asetettu>","id":"Tunniste","name":"Nimi","langDir":"Kielen suunta","langDirLtr":"Vasemmalta oikealle (LTR)","langDirRtl":"Oikealta vasemmalle (RTL)","langCode":"Kielikoodi","longDescr":"Pitkän kuvauksen URL","cssClass":"Tyyliluokat","advisoryTitle":"Avustava otsikko","cssStyle":"Tyyli","ok":"OK","cancel":"Peruuta","close":"Sulje","preview":"Esikatselu","resize":"Raahaa muuttaaksesi kokoa","generalTab":"Yleinen","advancedTab":"Lisäominaisuudet","validateNumberFailed":"Arvon pitää olla numero.","confirmNewPage":"Kaikki tallentamattomat muutokset tähän sisältöön menetetään. Oletko varma, että haluat ladata uuden sivun?","confirmCancel":"Jotkut asetuksista on muuttuneet. Oletko varma, että haluat sulkea valintaikkunan?","options":"Asetukset","target":"Kohde","targetNew":"Uusi ikkuna (_blank)","targetTop":"Päällimmäinen ikkuna (_top)","targetSelf":"Sama ikkuna (_self)","targetParent":"Ylemmän tason ikkuna (_parent)","langDirLTR":"Vasemmalta oikealle (LTR)","langDirRTL":"Oikealta vasemmalle (RTL)","styles":"Tyyli","cssClasses":"Tyylitiedoston luokat","width":"Leveys","height":"Korkeus","align":"Kohdistus","left":"Vasemmalle","right":"Oikealle","center":"Keskelle","justify":"Tasaa molemmat reunat","alignLeft":"Tasaa vasemmat reunat","alignRight":"Tasaa oikeat reunat","alignCenter":"Align Center","alignTop":"Ylös","alignMiddle":"Keskelle","alignBottom":"Alas","alignNone":"Ei asetettu","invalidValue":"Virheellinen arvo.","invalidHeight":"Korkeuden täytyy olla numero.","invalidWidth":"Leveyden täytyy olla numero.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Kentän \"%1\" arvon täytyy olla positiivinen luku CSS mittayksikön (px, %, in, cm, mm, em, ex, pt tai pc) kanssa tai ilman.","invalidHtmlLength":"Kentän \"%1\" arvon täytyy olla positiivinen luku HTML mittayksikön (px tai %) kanssa tai ilman.","invalidInlineStyle":"Tyylille annetun arvon täytyy koostua yhdestä tai useammasta \"nimi : arvo\" parista, jotka ovat eroteltuna toisistaan puolipisteillä.","cssLengthTooltip":"Anna numeroarvo pikseleinä tai numeroarvo CSS mittayksikön kanssa (px, %, in, cm, mm, em, ex, pt, tai pc).","unavailable":"%1<span class=\"cke_accessibility\">, ei saatavissa</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Kaikki oikeuden pidätetään.","dlgTitle":"Tietoa CKEditorista","moreInfo":"Lisenssitiedot löytyvät kotisivuiltamme:"},"basicstyles":{"bold":"Lihavoitu","italic":"Kursivoitu","strike":"Yliviivattu","subscript":"Alaindeksi","superscript":"Yläindeksi","underline":"Alleviivattu"},"bidi":{"ltr":"Tekstin suunta vasemmalta oikealle","rtl":"Tekstin suunta oikealta vasemmalle"},"blockquote":{"toolbar":"Lainaus"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Valittu)"},"toolbar":{"toolbarCollapse":"Kutista työkalupalkki","toolbarExpand":"Laajenna työkalupalkki","toolbarGroups":{"document":"Dokumentti","clipboard":"Leikepöytä/Kumoa","editing":"Muokkaus","forms":"Lomakkeet","basicstyles":"Perustyylit","paragraph":"Kappale","links":"Linkit","insert":"Lisää","styles":"Tyylit","colors":"Värit","tools":"Työkalut"},"toolbars":"Editorin työkalupalkit"},"clipboard":{"copy":"Kopioi","copyError":"Selaimesi turva-asetukset eivät salli editorin toteuttaa kopioimista. Käytä näppäimistöä kopioimiseen (Ctrl+C).","cut":"Leikkaa","cutError":"Selaimesi turva-asetukset eivät salli editorin toteuttaa leikkaamista. Käytä näppäimistöä leikkaamiseen (Ctrl+X).","paste":"Liitä","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Leikealue","pasteMsg":"Paste your content inside the area below and press OK.","title":"Liitä"},"colorbutton":{"auto":"Automaattinen","bgColorTitle":"Taustaväri","colors":{"000":"Musta","800000":"Kastanjanruskea","8B4513":"Satulanruskea","2F4F4F":"Tumma liuskekivenharmaa","008080":"Sinivihreä","000080":"Laivastonsininen","4B0082":"Indigonsininen","696969":"Tummanharmaa","B22222":"Tiili","A52A2A":"Ruskea","DAA520":"Kultapiisku","006400":"Tummanvihreä","40E0D0":"Turkoosi","0000CD":"Keskisininen","800080":"Purppura","808080":"Harmaa","F00":"Punainen","FF8C00":"Tumma oranssi","FFD700":"Kulta","008000":"Vihreä","0FF":"Syaani","00F":"Sininen","EE82EE":"Violetti","A9A9A9":"Tummanharmaa","FFA07A":"Vaaleanlohenpunainen","FFA500":"Oranssi","FFFF00":"Keltainen","00FF00":"Limetin vihreä","AFEEEE":"Haalea turkoosi","ADD8E6":"Vaaleansininen","DDA0DD":"Luumu","D3D3D3":"Vaaleanharmaa","FFF0F5":"Laventelinpunainen","FAEBD7":"Antiikinvalkoinen","FFFFE0":"Vaaleankeltainen","F0FFF0":"Hunajameloni","F0FFFF":"Asurinsininen","F0F8FF":"Alice Blue -sininen","E6E6FA":"Lavanteli","FFF":"Valkoinen","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Lisää värejä...","panelTitle":"Värit","textColorTitle":"Tekstiväri"},"colordialog":{"clear":"Poista","highlight":"Korostus","options":"Värin ominaisuudet","selected":"Valittu","title":"Valitse väri"},"templates":{"button":"Pohjat","emptyListMsg":"(Ei määriteltyjä pohjia)","insertOption":"Korvaa koko sisältö","options":"Sisältöpohjan ominaisuudet","selectPromptMsg":"Valitse editoriin avattava pohja","title":"Sisältöpohjat"},"contextmenu":{"options":"Pikavalikon ominaisuudet"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Ohjeistava otsikko","cssClassInputLabel":"Tyylitiedoston luokat","edit":"Muokkaa Diviä","inlineStyleInputLabel":"Sisätyyli","langDirLTRLabel":"Vasemmalta oikealle (LTR)","langDirLabel":"Kielen suunta","langDirRTLLabel":"Oikealta vasemmalle (RTL)","languageCodeInputLabel":" Kielen koodi","remove":"Poista Div","styleSelectLabel":"Tyyli","title":"Luo div-kehikko","toolbar":"Luo div-kehikko"},"elementspath":{"eleLabel":"Elementin polku","eleTitle":"%1 elementti"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Etsi","findOptions":"Hakuasetukset","findWhat":"Etsi mitä:","matchCase":"Sama kirjainkoko","matchCyclic":"Kierrä ympäri","matchWord":"Koko sana","notFoundMsg":"Etsittyä tekstiä ei löytynyt.","replace":"Korvaa","replaceAll":"Korvaa kaikki","replaceSuccessMsg":"%1 esiintymä(ä) korvattu.","replaceWith":"Korvaa tällä:","title":"Etsi ja korvaa"},"fakeobjects":{"anchor":"Ankkuri","flash":"Flash animaatio","hiddenfield":"Piilokenttä","iframe":"IFrame-kehys","unknown":"Tuntematon objekti"},"flash":{"access":"Skriptien pääsy","accessAlways":"Aina","accessNever":"Ei koskaan","accessSameDomain":"Sama verkkotunnus","alignAbsBottom":"Aivan alas","alignAbsMiddle":"Aivan keskelle","alignBaseline":"Alas (teksti)","alignTextTop":"Ylös (teksti)","bgcolor":"Taustaväri","chkFull":"Salli kokoruututila","chkLoop":"Toisto","chkMenu":"Näytä Flash-valikko","chkPlay":"Automaattinen käynnistys","flashvars":"Muuttujat Flash:lle","hSpace":"Vaakatila","properties":"Flash-ominaisuudet","propertiesTab":"Ominaisuudet","quality":"Laatu","qualityAutoHigh":"Automaattinen korkea","qualityAutoLow":"Automaattinen matala","qualityBest":"Paras","qualityHigh":"Korkea","qualityLow":"Matala","qualityMedium":"Keskitaso","scale":"Levitä","scaleAll":"Näytä kaikki","scaleFit":"Tarkka koko","scaleNoBorder":"Ei rajaa","title":"Flash ominaisuudet","vSpace":"Pystytila","validateHSpace":"Vaakatilan täytyy olla numero.","validateSrc":"Linkille on kirjoitettava URL","validateVSpace":"Pystytilan täytyy olla numero.","windowMode":"Ikkuna tila","windowModeOpaque":"Läpinäkyvyys","windowModeTransparent":"Läpinäkyvä","windowModeWindow":"Ikkuna"},"font":{"fontSize":{"label":"Koko","voiceLabel":"Kirjaisimen koko","panelTitle":"Koko"},"label":"Kirjaisinlaji","panelTitle":"Kirjaisinlaji","voiceLabel":"Kirjaisinlaji"},"forms":{"button":{"title":"Painikkeen ominaisuudet","text":"Teksti (arvo)","type":"Tyyppi","typeBtn":"Painike","typeSbm":"Lähetä","typeRst":"Tyhjennä"},"checkboxAndRadio":{"checkboxTitle":"Valintaruudun ominaisuudet","radioTitle":"Radiopainikkeen ominaisuudet","value":"Arvo","selected":"Valittu","required":"Required"},"form":{"title":"Lomakkeen ominaisuudet","menu":"Lomakkeen ominaisuudet","action":"Toiminto","method":"Tapa","encoding":"Enkoodaus"},"hidden":{"title":"Piilokentän ominaisuudet","name":"Nimi","value":"Arvo"},"select":{"title":"Valintakentän ominaisuudet","selectInfo":"Info","opAvail":"Ominaisuudet","value":"Arvo","size":"Koko","lines":"Rivit","chkMulti":"Salli usea valinta","required":"Required","opText":"Teksti","opValue":"Arvo","btnAdd":"Lisää","btnModify":"Muuta","btnUp":"Ylös","btnDown":"Alas","btnSetValue":"Aseta valituksi","btnDelete":"Poista"},"textarea":{"title":"Tekstilaatikon ominaisuudet","cols":"Sarakkeita","rows":"Rivejä"},"textfield":{"title":"Tekstikentän ominaisuudet","name":"Nimi","value":"Arvo","charWidth":"Leveys","maxChars":"Maksimi merkkimäärä","required":"Required","type":"Tyyppi","typeText":"Teksti","typePass":"Salasana","typeEmail":"Sähköposti","typeSearch":"Haku","typeTel":"Puhelinnumero","typeUrl":"Osoite"}},"format":{"label":"Muotoilu","panelTitle":"Muotoilu","tag_address":"Osoite","tag_div":"Normaali (DIV)","tag_h1":"Otsikko 1","tag_h2":"Otsikko 2","tag_h3":"Otsikko 3","tag_h4":"Otsikko 4","tag_h5":"Otsikko 5","tag_h6":"Otsikko 6","tag_p":"Normaali","tag_pre":"Muotoiltu"},"horizontalrule":{"toolbar":"Lisää murtoviiva"},"iframe":{"border":"Näytä kehyksen reunat","noUrl":"Anna IFrame-kehykselle lähdeosoite (src)","scrolling":"Näytä vierityspalkit","title":"IFrame-kehyksen ominaisuudet","toolbar":"IFrame-kehys"},"image":{"alt":"Vaihtoehtoinen teksti","border":"Kehys","btnUpload":"Lähetä palvelimelle","button2Img":"Haluatko muuntaa valitun kuvanäppäimen kuvaksi?","hSpace":"Vaakatila","img2Button":"Haluatko muuntaa valitun kuvan kuvanäppäimeksi?","infoTab":"Kuvan tiedot","linkTab":"Linkki","lockRatio":"Lukitse suhteet","menu":"Kuvan ominaisuudet","resetSize":"Alkuperäinen koko","title":"Kuvan ominaisuudet","titleButton":"Kuvapainikkeen ominaisuudet","upload":"Lisää kuva","urlMissing":"Kuvan lähdeosoite puuttuu.","vSpace":"Pystytila","validateBorder":"Kehyksen täytyy olla kokonaisluku.","validateHSpace":"HSpace-määrityksen täytyy olla kokonaisluku.","validateVSpace":"VSpace-määrityksen täytyy olla kokonaisluku."},"indent":{"indent":"Suurenna sisennystä","outdent":"Pienennä sisennystä"},"smiley":{"options":"Hymiön ominaisuudet","title":"Lisää hymiö","toolbar":"Hymiö"},"language":{"button":"Aseta kieli","remove":"Poista kieli"},"link":{"acccessKey":"Pikanäppäin","advanced":"Lisäominaisuudet","advisoryContentType":"Avustava sisällön tyyppi","advisoryTitle":"Avustava otsikko","anchor":{"toolbar":"Lisää ankkuri/muokkaa ankkuria","menu":"Ankkurin ominaisuudet","title":"Ankkurin ominaisuudet","name":"Nimi","errorName":"Ankkurille on kirjoitettava nimi","remove":"Poista ankkuri"},"anchorId":"Ankkurin ID:n mukaan","anchorName":"Ankkurin nimen mukaan","charset":"Linkitetty kirjaimisto","cssClasses":"Tyyliluokat","download":"Force Download","displayText":"Display Text","emailAddress":"Sähköpostiosoite","emailBody":"Viesti","emailSubject":"Aihe","id":"Tunniste","info":"Linkin tiedot","langCode":"Kielen suunta","langDir":"Kielen suunta","langDirLTR":"Vasemmalta oikealle (LTR)","langDirRTL":"Oikealta vasemmalle (RTL)","menu":"Muokkaa linkkiä","name":"Nimi","noAnchors":"(Ei ankkureita tässä dokumentissa)","noEmail":"Kirjoita sähköpostiosoite","noUrl":"Linkille on kirjoitettava URL","other":"<muu>","popupDependent":"Riippuva (Netscape)","popupFeatures":"Popup ikkunan ominaisuudet","popupFullScreen":"Täysi ikkuna (IE)","popupLeft":"Vasemmalta (px)","popupLocationBar":"Osoiterivi","popupMenuBar":"Valikkorivi","popupResizable":"Venytettävä","popupScrollBars":"Vierityspalkit","popupStatusBar":"Tilarivi","popupToolbar":"Vakiopainikkeet","popupTop":"Ylhäältä (px)","rel":"Suhde","selectAnchor":"Valitse ankkuri","styles":"Tyyli","tabIndex":"Tabulaattori indeksi","target":"Kohde","targetFrame":"<kehys>","targetFrameName":"Kohdekehyksen nimi","targetPopup":"<popup ikkuna>","targetPopupName":"Popup ikkunan nimi","title":"Linkki","toAnchor":"Ankkuri tässä sivussa","toEmail":"Sähköposti","toUrl":"Osoite","toolbar":"Lisää linkki/muokkaa linkkiä","type":"Linkkityyppi","unlink":"Poista linkki","upload":"Lisää tiedosto"},"list":{"bulletedlist":"Luettelomerkit","numberedlist":"Numerointi"},"liststyle":{"armenian":"Armeenialainen numerointi","bulletedTitle":"Numeroimattoman listan ominaisuudet","circle":"Ympyrä","decimal":"Desimaalit (1, 2, 3, jne.)","decimalLeadingZero":"Desimaalit, alussa nolla (01, 02, 03, jne.)","disc":"Levy","georgian":"Georgialainen numerointi (an, ban, gan, etc.)","lowerAlpha":"Pienet aakkoset (a, b, c, d, e, jne.)","lowerGreek":"Pienet kreikkalaiset (alpha, beta, gamma, jne.)","lowerRoman":"Pienet roomalaiset (i, ii, iii, iv, v, jne.)","none":"Ei mikään","notset":"<ei asetettu>","numberedTitle":"Numeroidun listan ominaisuudet","square":"Neliö","start":"Alku","type":"Tyyppi","upperAlpha":"Isot aakkoset (A, B, C, D, E, jne.)","upperRoman":"Isot roomalaiset (I, II, III, IV, V, jne.)","validateStartNumber":"Listan ensimmäisen numeron tulee olla kokonaisluku."},"magicline":{"title":"Lisää kappale tähän."},"maximize":{"maximize":"Suurenna","minimize":"Pienennä"},"newpage":{"toolbar":"Tyhjennä"},"pagebreak":{"alt":"Sivunvaihto","toolbar":"Lisää sivunvaihto"},"pastetext":{"button":"Liitä tekstinä","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Liitä tekstinä"},"pastefromword":{"confirmCleanup":"Liittämäsi teksti näyttäisi olevan Word-dokumentista. Haluatko siivota sen ennen liittämistä? (Suositus: Kyllä)","error":"Liitetyn tiedon siivoaminen ei onnistunut sisäisen virheen takia","title":"Liitä Word-dokumentista","toolbar":"Liitä Word-dokumentista"},"preview":{"preview":"Esikatsele"},"print":{"toolbar":"Tulosta"},"removeformat":{"toolbar":"Poista muotoilu"},"save":{"toolbar":"Tallenna"},"selectall":{"toolbar":"Valitse kaikki"},"showblocks":{"toolbar":"Näytä elementit"},"sourcearea":{"toolbar":"Koodi"},"specialchar":{"options":"Erikoismerkin ominaisuudet","title":"Valitse erikoismerkki","toolbar":"Lisää erikoismerkki"},"scayt":{"btn_about":"Tietoja oikoluvusta kirjoitetaessa","btn_dictionaries":"Sanakirjat","btn_disable":"Poista käytöstä oikoluku kirjoitetaessa","btn_enable":"Ota käyttöön oikoluku kirjoitettaessa","btn_langs":"Kielet","btn_options":"Asetukset","text_title":"Oikolue kirjoitettaessa"},"stylescombo":{"label":"Tyyli","panelTitle":"Muotoilujen tyylit","panelTitle1":"Lohkojen tyylit","panelTitle2":"Rivinsisäiset tyylit","panelTitle3":"Objektien tyylit"},"table":{"border":"Rajan paksuus","caption":"Otsikko","cell":{"menu":"Solu","insertBefore":"Lisää solu eteen","insertAfter":"Lisää solu perään","deleteCell":"Poista solut","merge":"Yhdistä solut","mergeRight":"Yhdistä oikealla olevan kanssa","mergeDown":"Yhdistä alla olevan kanssa","splitHorizontal":"Jaa solu vaakasuunnassa","splitVertical":"Jaa solu pystysuunnassa","title":"Solun ominaisuudet","cellType":"Solun tyyppi","rowSpan":"Rivin jatkuvuus","colSpan":"Solun jatkuvuus","wordWrap":"Rivitys","hAlign":"Horisontaali kohdistus","vAlign":"Vertikaali kohdistus","alignBaseline":"Alas (teksti)","bgColor":"Taustan väri","borderColor":"Reunan väri","data":"Data","header":"Ylätunniste","yes":"Kyllä","no":"Ei","invalidWidth":"Solun leveyden täytyy olla numero.","invalidHeight":"Solun korkeuden täytyy olla numero.","invalidRowSpan":"Rivin jatkuvuuden täytyy olla kokonaisluku.","invalidColSpan":"Solun jatkuvuuden täytyy olla kokonaisluku.","chooseColor":"Valitse"},"cellPad":"Solujen sisennys","cellSpace":"Solujen väli","column":{"menu":"Sarake","insertBefore":"Lisää sarake vasemmalle","insertAfter":"Lisää sarake oikealle","deleteColumn":"Poista sarakkeet"},"columns":"Sarakkeet","deleteTable":"Poista taulu","headers":"Ylätunnisteet","headersBoth":"Molemmat","headersColumn":"Ensimmäinen sarake","headersNone":"Ei","headersRow":"Ensimmäinen rivi","invalidBorder":"Reunan koon täytyy olla numero.","invalidCellPadding":"Solujen sisennyksen täytyy olla numero.","invalidCellSpacing":"Solujen välin täytyy olla numero.","invalidCols":"Sarakkeiden määrän täytyy olla suurempi kuin 0.","invalidHeight":"Taulun korkeuden täytyy olla numero.","invalidRows":"Rivien määrän täytyy olla suurempi kuin 0.","invalidWidth":"Taulun leveyden täytyy olla numero.","menu":"Taulun ominaisuudet","row":{"menu":"Rivi","insertBefore":"Lisää rivi yläpuolelle","insertAfter":"Lisää rivi alapuolelle","deleteRow":"Poista rivit"},"rows":"Rivit","summary":"Yhteenveto","title":"Taulun ominaisuudet","toolbar":"Taulu","widthPc":"prosenttia","widthPx":"pikseliä","widthUnit":"leveysyksikkö"},"undo":{"redo":"Toista","undo":"Kumoa"},"widget":{"move":"Siirrä klikkaamalla ja raahaamalla","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Jätä huomioimatta","btnIgnoreAll":"Jätä kaikki huomioimatta","btnReplace":"Korvaa","btnReplaceAll":"Korvaa kaikki","btnUndo":"Kumoa","changeTo":"Vaihda","errorLoading":"Virhe ladattaessa oikolukupalvelua isännältä: %s.","ieSpellDownload":"Oikeinkirjoituksen tarkistusta ei ole asennettu. Haluatko ladata sen nyt?","manyChanges":"Tarkistus valmis: %1 sanaa muutettiin","noChanges":"Tarkistus valmis: Yhtään sanaa ei muutettu","noMispell":"Tarkistus valmis: Ei virheitä","noSuggestions":"Ei ehdotuksia","notAvailable":"Valitettavasti oikoluku ei ole käytössä tällä hetkellä.","notInDic":"Ei sanakirjassa","oneChange":"Tarkistus valmis: Yksi sana muutettiin","progress":"Tarkistus käynnissä...","title":"Oikoluku","toolbar":"Tarkista oikeinkirjoitus"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fi.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ja.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ja.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ja.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['ja']={"editor":"リッチテキストエディタ","editorPanel":"リッチテキストエディタパネル","common":{"editorHelp":"ヘルプは ALT 0 を押してください","browseServer":"サーバブラウザ","url":"URL","protocol":"プロトコル","upload":"アップロード","uploadSubmit":"サーバーに送信","image":"イメージ","flash":"Flash","form":"フォーム","checkbox":"チェックボックス","radio":"ラジオボタン","textField":"1行テキスト","textarea":"テキストエリア","hiddenField":"不可視フィールド","button":"ボタン","select":"選択フィールド","imageButton":"画像ボタン","notSet":"<なし>","id":"Id","name":"Name属性","langDir":"文字表記の方向","langDirLtr":"左から右 (LTR)","langDirRtl":"右から左 (RTL)","langCode":"言語コード","longDescr":"longdesc属性(長文説明)","cssClass":"スタイルシートクラス","advisoryTitle":"Title属性","cssStyle":"スタイルシート","ok":"OK","cancel":"キャンセル","close":"閉じる","preview":"プレビュー","resize":"ドラッグしてリサイズ","generalTab":"全般","advancedTab":"高度な設定","validateNumberFailed":"値が数値ではありません","confirmNewPage":"変更内容を保存せず、 新しいページを開いてもよろしいでしょうか?","confirmCancel":"オプション設定を変更しました。ダイアログを閉じてもよろしいでしょうか?","options":"オプション","target":"ターゲット","targetNew":"新しいウインドウ (_blank)","targetTop":"最上部ウィンドウ (_top)","targetSelf":"同じウィンドウ (_self)","targetParent":"親ウィンドウ (_parent)","langDirLTR":"左から右 (LTR)","langDirRTL":"右から左 (RTL)","styles":"スタイル","cssClasses":"スタイルシートクラス","width":"幅","height":"高さ","align":"行揃え","left":"左","right":"右","center":"中央","justify":"両端揃え","alignLeft":"左揃え","alignRight":"右揃え","alignCenter":"Align Center","alignTop":"上","alignMiddle":"中央","alignBottom":"下","alignNone":"なし","invalidValue":"不正な値です。","invalidHeight":"高さは数値で入力してください。","invalidWidth":"幅は数値で入力してください。","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"入力された \"%1\" 項目の値は、CSSの大きさ(px, %, in, cm, mm, em, ex, pt, または pc)が正しいものである/ないに関わらず、正の値である必要があります。","invalidHtmlLength":"入力された \"%1\" 項目の値は、HTMLの大きさ(px または %)が正しいものである/ないに関わらず、正の値である必要があります。","invalidInlineStyle":"入力されたインラインスタイルの値は、\"名前 : 値\" のフォーマットのセットで、複数の場合はセミコロンで区切られている形式である必要があります。","cssLengthTooltip":"ピクセル数もしくはCSSにセットできる数値を入力してください。(px,%,in,cm,mm,em,ex,pt,or pc)","unavailable":"%1<span class=\"cke_accessibility\">, 利用不可能</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"キーボードショートカット","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"CKEditorについて","moreInfo":"ライセンス情報の詳細はウェブサイトにて確認してください:"},"basicstyles":{"bold":"太字","italic":"斜体","strike":"打ち消し線","subscript":"下付き","superscript":"上付き","underline":"下線"},"bidi":{"ltr":"テキストの向き : 左から右へ","rtl":"テキストの向き : 右から左へ"},"blockquote":{"toolbar":"ブロック引用文"},"notification":{"closed":"通知を閉じました。"},"button":{"selectedLabel":"%1 (選択中)"},"toolbar":{"toolbarCollapse":"ツールバーを閉じる","toolbarExpand":"ツールバーを開く","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"編集ツールバー"},"clipboard":{"copy":"コピー","copyError":"ブラウザーのセキュリティ設定によりエディタのコピー操作を自動で実行することができません。実行するには手動でキーボードの(Ctrl/Cmd+C)を使用してください。","cut":"切り取り","cutError":"ブラウザーのセキュリティ設定によりエディタの切り取り操作を自動で実行することができません。実行するには手動でキーボードの(Ctrl/Cmd+X)を使用してください。","paste":"貼り付け","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"貼り付け場所","pasteMsg":"Paste your content inside the area below and press OK.","title":"貼り付け"},"colorbutton":{"auto":"自動","bgColorTitle":"背景色","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"その他の色...","panelTitle":"色","textColorTitle":"文字色"},"colordialog":{"clear":"クリア","highlight":"ハイライト","options":"カラーオプション","selected":"選択された色","title":"色選択"},"templates":{"button":"テンプレート","emptyListMsg":"(テンプレートが定義されていません)","insertOption":"現在のエディタの内容と置き換えます","options":"テンプレートオプション","selectPromptMsg":"エディターで使用するテンプレートを選択してください。<br>(現在のエディタの内容は失われます):","title":"内容テンプレート"},"contextmenu":{"options":"コンテキストメニューオプション"},"copyformatting":{"label":"フォーマットをコピー","notification":{"copied":"コピーされたフォーマット","applied":"フォーマットを適用しました","canceled":"フォーマットを取り消しました","failed":"フォーマットに失敗しました。最初にフォーマットをコピーしてください。"}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Title属性","cssClassInputLabel":"スタイルシートクラス","edit":"Divコンテナを編集","inlineStyleInputLabel":"インラインスタイル","langDirLTRLabel":"左から右 (LTR)","langDirLabel":"文字表記の方向","langDirRTLLabel":"右から左 (RTL)","languageCodeInputLabel":" 言語コード","remove":"Divコンテナを削除","styleSelectLabel":"スタイル","title":"Divコンテナを作成","toolbar":"Divコンテナを作成"},"elementspath":{"eleLabel":"要素パス","eleTitle":"%1 要素"},"filetools":{"loadError":"ファイルの読み込み中にエラーが発生しました。","networkError":"ファイルのアップロード中にネットワークエラーが発生しました。","httpError404":"ファイルのアップロード中にHTTPエラーが発生しました。(404: File not found)","httpError403":"ファイルのアップロード中にHTTPエラーが発生しました。(403: Forbidden)","httpError":"ファイルのアップロード中にHTTPエラーが発生しました。(error status: %1)","noUrlError":"アップロードURLが定義されていません。","responseError":"サーバーの応答が不正です。"},"find":{"find":"検索","findOptions":"検索オプション","findWhat":"検索する文字列:","matchCase":"大文字と小文字を区別する","matchCyclic":"末尾に逹したら先頭に戻る","matchWord":"単語単位で探す","notFoundMsg":"指定された文字列は見つかりませんでした。","replace":"置換","replaceAll":"すべて置換","replaceSuccessMsg":"%1 個置換しました。","replaceWith":"置換後の文字列:","title":"検索と置換"},"fakeobjects":{"anchor":"アンカー","flash":"Flash Animation","hiddenfield":"不可視フィールド","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"スクリプトアクセス(AllowScriptAccess)","accessAlways":"すべての場合に通信可能(Always)","accessNever":"すべての場合に通信不可能(Never)","accessSameDomain":"同一ドメインのみに通信可能(Same domain)","alignAbsBottom":"下部(絶対的)","alignAbsMiddle":"中央(絶対的)","alignBaseline":"ベースライン","alignTextTop":"テキスト上部","bgcolor":"背景色","chkFull":"フルスクリーン許可","chkLoop":"ループ再生","chkMenu":"Flashメニュー可能","chkPlay":"再生","flashvars":"フラッシュに渡す変数(FlashVars)","hSpace":"横間隔","properties":"Flash プロパティ","propertiesTab":"プロパティ","quality":"画質","qualityAutoHigh":"自動/高","qualityAutoLow":"自動/低","qualityBest":"品質優先","qualityHigh":"高","qualityLow":"低","qualityMedium":"中","scale":"拡大縮小設定","scaleAll":"すべて表示","scaleFit":"上下左右にフィット","scaleNoBorder":"外が見えない様に拡大","title":"Flash プロパティ","vSpace":"縦間隔","validateHSpace":"横間隔は数値で入力してください。","validateSrc":"リンクURLを入力してください。","validateVSpace":"縦間隔は数値で入力してください。","windowMode":"ウィンドウモード","windowModeOpaque":"背景を不透明設定","windowModeTransparent":"背景を透過設定","windowModeWindow":"標準"},"font":{"fontSize":{"label":"サイズ","voiceLabel":"フォントサイズ","panelTitle":"フォントサイズ"},"label":"フォント","panelTitle":"フォント","voiceLabel":"フォント"},"forms":{"button":{"title":"ボタン プロパティ","text":"テキスト (値)","type":"タイプ","typeBtn":"ボタン","typeSbm":"送信","typeRst":"リセット"},"checkboxAndRadio":{"checkboxTitle":"チェックボックスのプロパティ","radioTitle":"ラジオボタンのプロパティ","value":"値","selected":"選択済み","required":"必須"},"form":{"title":"フォームのプロパティ","menu":"フォームのプロパティ","action":"アクション (action)","method":"メソッド (method)","encoding":"エンコード方式 (encoding)"},"hidden":{"title":"不可視フィールド プロパティ","name":"名前 (name)","value":"値 (value)"},"select":{"title":"選択フィールドのプロパティ","selectInfo":"情報","opAvail":"利用可能なオプション","value":"選択項目値","size":"サイズ","lines":"行","chkMulti":"複数選択を許可","required":"必須","opText":"選択項目名","opValue":"値","btnAdd":"追加","btnModify":"編集","btnUp":"上へ","btnDown":"下へ","btnSetValue":"選択した値を設定","btnDelete":"削除"},"textarea":{"title":"テキストエリア プロパティ","cols":"列","rows":"行"},"textfield":{"title":"1行テキスト プロパティ","name":"名前","value":"値","charWidth":"サイズ","maxChars":"最大長","required":"必須","type":"タイプ","typeText":"テキスト","typePass":"パスワード入力","typeEmail":"メール","typeSearch":"検索","typeTel":"電話番号","typeUrl":"URL"}},"format":{"label":"書式","panelTitle":"段落の書式","tag_address":"アドレス","tag_div":"標準 (DIV)","tag_h1":"見出し 1","tag_h2":"見出し 2","tag_h3":"見出し 3","tag_h4":"見出し 4","tag_h5":"見出し 5","tag_h6":"見出し 6","tag_p":"標準","tag_pre":"書式付き"},"horizontalrule":{"toolbar":"水平線"},"iframe":{"border":"フレームの枠を表示","noUrl":"iframeのURLを入力してください。","scrolling":"スクロールバーの表示を許可","title":"iFrameのプロパティ","toolbar":"IFrame"},"image":{"alt":"代替テキスト","border":"枠線の幅","btnUpload":"サーバーに送信","button2Img":"選択した画像ボタンを画像に変換しますか?","hSpace":"水平間隔","img2Button":"選択した画像を画像ボタンに変換しますか?","infoTab":"画像情報","linkTab":"リンク","lockRatio":"比率を固定","menu":"画像のプロパティ","resetSize":"サイズをリセット","title":"画像のプロパティ","titleButton":"画像ボタンのプロパティ","upload":"アップロード","urlMissing":"画像のURLを入力してください。","vSpace":"垂直間隔","validateBorder":"枠線の幅は数値で入力してください。","validateHSpace":"水平間隔は数値で入力してください。","validateVSpace":"垂直間隔は数値で入力してください。"},"indent":{"indent":"インデント","outdent":"インデント解除"},"smiley":{"options":"絵文字オプション","title":"顔文字挿入","toolbar":"絵文字"},"language":{"button":"言語を設定","remove":"言語を削除"},"link":{"acccessKey":"アクセスキー","advanced":"高度な設定","advisoryContentType":"Content Type属性","advisoryTitle":"Title属性","anchor":{"toolbar":"アンカー挿入/編集","menu":"アンカーの編集","title":"アンカーのプロパティ","name":"アンカー名","errorName":"アンカー名を入力してください。","remove":"アンカーを削除"},"anchorId":"エレメントID","anchorName":"アンカー名","charset":"リンク先のcharset","cssClasses":"スタイルシートクラス","download":"強制的にダウンロード","displayText":"表示文字","emailAddress":"E-Mail アドレス","emailBody":"本文","emailSubject":"件名","id":"Id","info":"ハイパーリンク情報","langCode":"言語コード","langDir":"文字表記の方向","langDirLTR":"左から右 (LTR)","langDirRTL":"右から左 (RTL)","menu":"リンクを編集","name":"Name属性","noAnchors":"(このドキュメント内にアンカーはありません)","noEmail":"メールアドレスを入力してください。","noUrl":"リンクURLを入力してください。","other":"<その他の>","popupDependent":"開いたウィンドウに連動して閉じる (Netscape)","popupFeatures":"ポップアップウィンドウ特徴","popupFullScreen":"全画面モード(IE)","popupLeft":"左端からの座標で指定","popupLocationBar":"ロケーションバー","popupMenuBar":"メニューバー","popupResizable":"サイズ可変","popupScrollBars":"スクロールバー","popupStatusBar":"ステータスバー","popupToolbar":"ツールバー","popupTop":"上端からの座標で指定","rel":"関連リンク","selectAnchor":"アンカーを選択","styles":"スタイルシート","tabIndex":"タブインデックス","target":"ターゲット","targetFrame":"<フレーム>","targetFrameName":"ターゲットのフレーム名","targetPopup":"<ポップアップウィンドウ>","targetPopupName":"ポップアップウィンドウ名","title":"ハイパーリンク","toAnchor":"ページ内のアンカー","toEmail":"E-Mail","toUrl":"URL","toolbar":"リンク挿入/編集","type":"リンクタイプ","unlink":"リンクを削除","upload":"アップロード"},"list":{"bulletedlist":"番号無しリスト","numberedlist":"番号付きリスト"},"liststyle":{"armenian":"アルメニア数字","bulletedTitle":"箇条書きのプロパティ","circle":"白丸","decimal":"数字 (1, 2, 3, etc.)","decimalLeadingZero":"0付きの数字 (01, 02, 03, etc.)","disc":"黒丸","georgian":"グルジア数字 (an, ban, gan, etc.)","lowerAlpha":"小文字アルファベット (a, b, c, d, e, etc.)","lowerGreek":"小文字ギリシャ文字 (alpha, beta, gamma, etc.)","lowerRoman":"小文字ローマ数字 (i, ii, iii, iv, v, etc.)","none":"なし","notset":"<なし>","numberedTitle":"番号付きリストのプロパティ","square":"四角","start":"開始","type":"種類","upperAlpha":"大文字アルファベット (A, B, C, D, E, etc.)","upperRoman":"大文字ローマ数字 (I, II, III, IV, V, etc.)","validateStartNumber":"リストの開始番号は数値で入力してください。"},"magicline":{"title":"ここに段落を挿入"},"maximize":{"maximize":"最大化","minimize":"最小化"},"newpage":{"toolbar":"新しいページ"},"pagebreak":{"alt":"改ページ","toolbar":"印刷の為に改ページ挿入"},"pastetext":{"button":"プレーンテキストとして貼り付け","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"プレーンテキストとして貼り付け"},"pastefromword":{"confirmCleanup":"貼り付けを行うテキストはワード文章からコピーされようとしています。貼り付ける前にクリーニングを行いますか?","error":"内部エラーにより貼り付けたデータをクリアできませんでした","title":"ワード文章から貼り付け","toolbar":"ワード文章から貼り付け"},"preview":{"preview":"プレビュー"},"print":{"toolbar":"印刷"},"removeformat":{"toolbar":"書式を解除"},"save":{"toolbar":"保存"},"selectall":{"toolbar":"すべて選択"},"showblocks":{"toolbar":"ブロック表示"},"sourcearea":{"toolbar":"ソース"},"specialchar":{"options":"特殊文字オプション","title":"特殊文字の選択","toolbar":"特殊文字を挿入"},"scayt":{"btn_about":"SCAYTバージョン","btn_dictionaries":"辞書","btn_disable":"SCAYT無効","btn_enable":"SCAYT有効","btn_langs":"言語","btn_options":"オプション","text_title":"スペルチェック設定(SCAYT)"},"stylescombo":{"label":"スタイル","panelTitle":"スタイル","panelTitle1":"ブロックスタイル","panelTitle2":"インラインスタイル","panelTitle3":"オブジェクトスタイル"},"table":{"border":"枠線の幅","caption":"キャプション","cell":{"menu":"セル","insertBefore":"セルを前に挿入","insertAfter":"セルを後に挿入","deleteCell":"セルを削除","merge":"セルを結合","mergeRight":"右に結合","mergeDown":"下に結合","splitHorizontal":"セルを水平方向に分割","splitVertical":"セルを垂直方向に分割","title":"セルのプロパティ","cellType":"セルの種類","rowSpan":"行の結合数","colSpan":"列の結合数","wordWrap":"単語の折り返し","hAlign":"水平方向の配置","vAlign":"垂直方向の配置","alignBaseline":"ベースライン","bgColor":"背景色","borderColor":"ボーダーカラー","data":"テーブルデータ (td)","header":"ヘッダ","yes":"はい","no":"いいえ","invalidWidth":"セル幅は数値で入力してください。","invalidHeight":"セル高さは数値で入力してください。","invalidRowSpan":"縦幅(行数)は数値で入力してください。","invalidColSpan":"横幅(列数)は数値で入力してください。","chooseColor":"色の選択"},"cellPad":"セル内間隔","cellSpace":"セル内余白","column":{"menu":"列","insertBefore":"列を左に挿入","insertAfter":"列を右に挿入","deleteColumn":"列を削除"},"columns":"列数","deleteTable":"表を削除","headers":"ヘッダ (th)","headersBoth":"両方","headersColumn":"最初の列のみ","headersNone":"なし","headersRow":"最初の行のみ","invalidBorder":"枠線の幅は数値で入力してください。","invalidCellPadding":"セル内余白は数値で入力してください。","invalidCellSpacing":"セル間余白は数値で入力してください。","invalidCols":"列数は0より大きな数値を入力してください。","invalidHeight":"高さは数値で入力してください。","invalidRows":"行数は0より大きな数値を入力してください。","invalidWidth":"幅は数値で入力してください。","menu":"表のプロパティ","row":{"menu":"行","insertBefore":"行を上に挿入","insertAfter":"行を下に挿入","deleteRow":"行を削除"},"rows":"行数","summary":"表の概要","title":"表のプロパティ","toolbar":"表","widthPc":"パーセント","widthPx":"ピクセル","widthUnit":"幅の単位"},"undo":{"redo":"やり直す","undo":"元に戻す"},"widget":{"move":"ドラッグして移動","label":"%1 ウィジェット"},"uploadwidget":{"abort":"アップロードを中止しました。","doneOne":"ファイルのアップロードに成功しました。","doneMany":"%1個のファイルのアップロードに成功しました。","uploadOne":"ファイルのアップロード中 ({percentage}%)...","uploadMany":"{max} 個中 {current} 個のファイルをアップロードしました。 ({percentage}%)..."},"wsc":{"btnIgnore":"無視","btnIgnoreAll":"すべて無視","btnReplace":"置換","btnReplaceAll":"すべて置換","btnUndo":"やり直し","changeTo":"変更","errorLoading":"アプリケーションサービスホスト読込みエラー: %s.","ieSpellDownload":"スペルチェッカーがインストールされていません。今すぐダウンロードしますか?","manyChanges":"スペルチェック完了: %1 語句変更されました","noChanges":"スペルチェック完了: 語句は変更されませんでした","noMispell":"スペルチェック完了: スペルの誤りはありませんでした","noSuggestions":"- 該当なし -","notAvailable":"申し訳ありません、現在サービスを利用することができません","notInDic":"辞書にありません","oneChange":"スペルチェック完了: 1語句変更されました","progress":"スペルチェック処理中...","title":"スペルチェック","toolbar":"スペルチェック"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ja.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/vi.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/vi.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/vi.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['vi']={"editor":"Bộ soạn thảo văn bản có định dạng","editorPanel":"Bảng điều khiển Rich Text Editor","common":{"editorHelp":"Nhấn ALT + 0 để được giúp đỡ","browseServer":"Duyệt máy chủ","url":"URL","protocol":"Giao thức","upload":"Tải lên","uploadSubmit":"Tải lên máy chủ","image":"Hình ảnh","flash":"Flash","form":"Biểu mẫu","checkbox":"Nút kiểm","radio":"Nút chọn","textField":"Trường văn bản","textarea":"Vùng văn bản","hiddenField":"Trường ẩn","button":"Nút","select":"Ô chọn","imageButton":"Nút hình ảnh","notSet":"<không thiết lập>","id":"Định danh","name":"Tên","langDir":"Hướng ngôn ngữ","langDirLtr":"Trái sang phải (LTR)","langDirRtl":"Phải sang trái (RTL)","langCode":"Mã ngôn ngữ","longDescr":"Mô tả URL","cssClass":"Lớp Stylesheet","advisoryTitle":"Nhan đề hướng dẫn","cssStyle":"Kiểu ","ok":"Đồng ý","cancel":"Bỏ qua","close":"Đóng","preview":"Xem trước","resize":"Kéo rê để thay đổi kích cỡ","generalTab":"Tab chung","advancedTab":"Tab mở rộng","validateNumberFailed":"Giá trị này không phải là số.","confirmNewPage":"Mọi thay đổi không được lưu lại, nội dung này sẽ bị mất. Bạn có chắc chắn muốn tải một trang mới?","confirmCancel":"Một vài tùy chọn đã bị thay đổi. Bạn có chắc chắn muốn đóng hộp thoại?","options":"Tùy chọn","target":"Đích đến","targetNew":"Cửa sổ mới (_blank)","targetTop":"Cửa sổ trên cùng (_top)","targetSelf":"Tại trang (_self)","targetParent":"Cửa sổ cha (_parent)","langDirLTR":"Trái sang phải (LTR)","langDirRTL":"Phải sang trái (RTL)","styles":"Kiểu","cssClasses":"Lớp CSS","width":"Chiều rộng","height":"Chiều cao","align":"Vị trí","left":"Trái","right":"Phải","center":"Giữa","justify":"Sắp chữ","alignLeft":"Canh trái","alignRight":"Canh phải","alignCenter":"Align Center","alignTop":"Trên","alignMiddle":"Giữa","alignBottom":"Dưới","alignNone":"Không","invalidValue":"Giá trị không hợp lệ.","invalidHeight":"Chiều cao phải là số nguyên.","invalidWidth":"Chiều rộng phải là số nguyên.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Giá trị quy định cho trường \"%1\" phải là một số dương có hoặc không có một đơn vị đo CSS hợp lệ (px, %, in, cm, mm, em, ex, pt, hoặc pc).","invalidHtmlLength":"Giá trị quy định cho trường \"%1\" phải là một số dương có hoặc không có một đơn vị đo HTML hợp lệ (px hoặc %).","invalidInlineStyle":"Giá trị quy định cho kiểu nội tuyến phải bao gồm một hoặc nhiều dữ liệu với định dạng \"tên:giá trị\", cách nhau bằng dấu chấm phẩy.","cssLengthTooltip":"Nhập một giá trị theo pixel hoặc một số với một đơn vị CSS hợp lệ (px, %, in, cm, mm, em, ex, pt, hoặc pc).","unavailable":"%1<span class=\"cke_accessibility\">, không có</span>","keyboard":{"8":"Phím Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Xóa","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Bản quyền &copy; $1. Giữ toàn quyền.","dlgTitle":"Thông tin về CKEditor 4","moreInfo":"Vui lòng ghé thăm trang web của chúng tôi để có thông tin về giấy phép:"},"basicstyles":{"bold":"Đậm","italic":"Nghiêng","strike":"Gạch xuyên ngang","subscript":"Chỉ số dưới","superscript":"Chỉ số trên","underline":"Gạch chân"},"bidi":{"ltr":"Văn bản hướng từ trái sang phải","rtl":"Văn bản hướng từ phải sang trái"},"blockquote":{"toolbar":"Khối trích dẫn"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Đã chọn)"},"toolbar":{"toolbarCollapse":"Thu gọn thanh công cụ","toolbarExpand":"Mở rộng thnah công cụ","toolbarGroups":{"document":"Tài liệu","clipboard":"Clipboard/Undo","editing":"Chỉnh sửa","forms":"Bảng biểu","basicstyles":"Kiểu cơ bản","paragraph":"Đoạn","links":"Liên kết","insert":"Chèn","styles":"Kiểu","colors":"Màu sắc","tools":"Công cụ"},"toolbars":"Thanh công cụ"},"clipboard":{"copy":"Sao chép","copyError":"Các thiết lập bảo mật của trình duyệt không cho phép trình biên tập tự động thực thi lệnh sao chép. Hãy sử dụng bàn phím cho lệnh này (Ctrl/Cmd+C).","cut":"Cắt","cutError":"Các thiết lập bảo mật của trình duyệt không cho phép trình biên tập tự động thực thi lệnh cắt. Hãy sử dụng bàn phím cho lệnh này (Ctrl/Cmd+X).","paste":"Dán","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Khu vực dán","pasteMsg":"Paste your content inside the area below and press OK.","title":"Dán"},"colorbutton":{"auto":"Tự động","bgColorTitle":"Màu nền","colors":{"000":"Đen","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Nâu","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Xám","F00":"Đỏ","FF8C00":"Dark Orange","FFD700":"Vàng","008000":"Xanh lá cây","0FF":"Cyan","00F":"Xanh da trời","EE82EE":"Tím","A9A9A9":"Xám tối","FFA07A":"Light Salmon","FFA500":"Màu cam","FFFF00":"Vàng","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"Trắng","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Màu khác...","panelTitle":"Màu sắc","textColorTitle":"Màu chữ"},"colordialog":{"clear":"Xóa bỏ","highlight":"Màu chọn","options":"Tùy chọn màu","selected":"Màu đã chọn","title":"Chọn màu"},"templates":{"button":"Mẫu dựng sẵn","emptyListMsg":"(Không có mẫu dựng sẵn nào được định nghĩa)","insertOption":"Thay thế nội dung hiện tại","options":"Tùy chọn mẫu dựng sẵn","selectPromptMsg":"Hãy chọn mẫu dựng sẵn để mở trong trình biên tập<br>(nội dung hiện tại sẽ bị mất):","title":"Nội dung Mẫu dựng sẵn"},"contextmenu":{"options":"Tùy chọn menu bổ xung"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Định danh (id)","advisoryTitleInputLabel":"Nhan đề hướng dẫn","cssClassInputLabel":"Các lớp CSS","edit":"Chỉnh sửa","inlineStyleInputLabel":"Kiểu nội dòng","langDirLTRLabel":"Trái sang phải (LTR)","langDirLabel":"Hướng ngôn ngữ","langDirRTLLabel":"Phải qua trái (RTL)","languageCodeInputLabel":"Mã ngôn ngữ","remove":"Xóa bỏ","styleSelectLabel":"Kiểu (style)","title":"Tạo khối các thành phần","toolbar":"Tạo khối các thành phần"},"elementspath":{"eleLabel":"Nhãn thành phần","eleTitle":"%1 thành phần"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Tìm kiếm","findOptions":"Tìm tùy chọn","findWhat":"Tìm chuỗi:","matchCase":"Phân biệt chữ hoa/thường","matchCyclic":"Giống một phần","matchWord":"Giống toàn bộ từ","notFoundMsg":"Không tìm thấy chuỗi cần tìm.","replace":"Thay thế","replaceAll":"Thay thế tất cả","replaceSuccessMsg":"%1 vị trí đã được thay thế.","replaceWith":"Thay bằng:","title":"Tìm kiếm và thay thế"},"fakeobjects":{"anchor":"Điểm neo","flash":"Flash","hiddenfield":"Trường ẩn","iframe":"IFrame","unknown":"Đối tượng không rõ ràng"},"flash":{"access":"Truy cập mã","accessAlways":"Luôn luôn","accessNever":"Không bao giờ","accessSameDomain":"Cùng tên miền","alignAbsBottom":"Dưới tuyệt đối","alignAbsMiddle":"Giữa tuyệt đối","alignBaseline":"Đường cơ sở","alignTextTop":"Phía trên chữ","bgcolor":"Màu nền","chkFull":"Cho phép toàn màn hình","chkLoop":"Lặp","chkMenu":"Cho phép bật menu của Flash","chkPlay":"Tự động chạy","flashvars":"Các biến số dành cho Flash","hSpace":"Khoảng đệm ngang","properties":"Thuộc tính Flash","propertiesTab":"Thuộc tính","quality":"Chất lượng","qualityAutoHigh":"Cao tự động","qualityAutoLow":"Thấp tự động","qualityBest":"Tốt nhất","qualityHigh":"Cao","qualityLow":"Thấp","qualityMedium":"Trung bình","scale":"Tỷ lệ","scaleAll":"Hiển thị tất cả","scaleFit":"Vừa vặn","scaleNoBorder":"Không đường viền","title":"Thuộc tính Flash","vSpace":"Khoảng đệm dọc","validateHSpace":"Khoảng đệm ngang phải là số nguyên.","validateSrc":"Hãy đưa vào đường dẫn liên kết","validateVSpace":"Khoảng đệm dọc phải là số nguyên.","windowMode":"Chế độ cửa sổ","windowModeOpaque":"Mờ đục","windowModeTransparent":"Trong suốt","windowModeWindow":"Cửa sổ"},"font":{"fontSize":{"label":"Cỡ chữ","voiceLabel":"Kích cỡ phông","panelTitle":"Cỡ chữ"},"label":"Phông","panelTitle":"Phông","voiceLabel":"Phông"},"forms":{"button":{"title":"Thuộc tính của nút","text":"Chuỗi hiển thị (giá trị)","type":"Kiểu","typeBtn":"Nút bấm","typeSbm":"Nút gửi","typeRst":"Nút nhập lại"},"checkboxAndRadio":{"checkboxTitle":"Thuộc tính nút kiểm","radioTitle":"Thuộc tính nút chọn","value":"Giá trị","selected":"Được chọn","required":"Bắt buộc"},"form":{"title":"Thuộc tính biểu mẫu","menu":"Thuộc tính biểu mẫu","action":"Hành động","method":"Phương thức","encoding":"Bảng mã"},"hidden":{"title":"Thuộc tính trường ẩn","name":"Tên","value":"Giá trị"},"select":{"title":"Thuộc tính ô chọn","selectInfo":"Thông tin","opAvail":"Các tùy chọn có thể sử dụng","value":"Giá trị","size":"Kích cỡ","lines":"dòng","chkMulti":"Cho phép chọn nhiều","required":"Bắt buộc","opText":"Văn bản","opValue":"Giá trị","btnAdd":"Thêm","btnModify":"Thay đổi","btnUp":"Lên","btnDown":"Xuống","btnSetValue":"Giá trị được chọn","btnDelete":"Nút xoá"},"textarea":{"title":"Thuộc tính vùng văn bản","cols":"Số cột","rows":"Số hàng"},"textfield":{"title":"Thuộc tính trường văn bản","name":"Tên","value":"Giá trị","charWidth":"Độ rộng của ký tự","maxChars":"Số ký tự tối đa","required":"Bắt buộc","type":"Kiểu","typeText":"Ký tự","typePass":"Mật khẩu","typeEmail":"Email","typeSearch":"Tìm kiếm","typeTel":"Số điện thoại","typeUrl":"URL"}},"format":{"label":"Định dạng","panelTitle":"Định dạng","tag_address":"Address","tag_div":"Bình thường (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Bình thường (P)","tag_pre":"Đã thiết lập"},"horizontalrule":{"toolbar":"Chèn đường phân cách ngang"},"iframe":{"border":"Hiển thị viền khung","noUrl":"Vui lòng nhập địa chỉ iframe","scrolling":"Kích hoạt thanh cuộn","title":"Thuộc tính iframe","toolbar":"Iframe"},"image":{"alt":"Chú thích ảnh","border":"Đường viền","btnUpload":"Tải lên máy chủ","button2Img":"Bạn có muốn chuyển nút bấm bằng ảnh được chọn thành ảnh?","hSpace":"Khoảng đệm ngang","img2Button":"Bạn có muốn chuyển đổi ảnh được chọn thành nút bấm bằng ảnh?","infoTab":"Thông tin của ảnh","linkTab":"Tab liên kết","lockRatio":"Giữ nguyên tỷ lệ","menu":"Thuộc tính của ảnh","resetSize":"Kích thước gốc","title":"Thuộc tính của ảnh","titleButton":"Thuộc tính nút của ảnh","upload":"Tải lên","urlMissing":"Thiếu đường dẫn hình ảnh","vSpace":"Khoảng đệm dọc","validateBorder":"Chiều rộng của đường viền phải là một số nguyên dương","validateHSpace":"Khoảng đệm ngang phải là một số nguyên dương","validateVSpace":"Khoảng đệm dọc phải là một số nguyên dương"},"indent":{"indent":"Dịch vào trong","outdent":"Dịch ra ngoài"},"smiley":{"options":"Tùy chọn hình biểu lộ cảm xúc","title":"Chèn hình biểu lộ cảm xúc (mặt cười)","toolbar":"Hình biểu lộ cảm xúc (mặt cười)"},"language":{"button":"Thiết lập ngôn ngữ","remove":"Loại bỏ ngôn ngữ"},"link":{"acccessKey":"Phím hỗ trợ truy cập","advanced":"Mở rộng","advisoryContentType":"Nội dung hướng dẫn","advisoryTitle":"Nhan đề hướng dẫn","anchor":{"toolbar":"Chèn/Sửa điểm neo","menu":"Thuộc tính điểm neo","title":"Thuộc tính điểm neo","name":"Tên của điểm neo","errorName":"Hãy nhập vào tên của điểm neo","remove":"Xóa neo"},"anchorId":"Theo định danh thành phần","anchorName":"Theo tên điểm neo","charset":"Bảng mã của tài nguyên được liên kết đến","cssClasses":"Lớp Stylesheet","download":"Force Download","displayText":"Display Text","emailAddress":"Thư điện tử","emailBody":"Nội dung thông điệp","emailSubject":"Tiêu đề thông điệp","id":"Định danh","info":"Thông tin liên kết","langCode":"Mã ngôn ngữ","langDir":"Hướng ngôn ngữ","langDirLTR":"Trái sang phải (LTR)","langDirRTL":"Phải sang trái (RTL)","menu":"Sửa liên kết","name":"Tên","noAnchors":"(Không có điểm neo nào trong tài liệu)","noEmail":"Hãy đưa vào địa chỉ thư điện tử","noUrl":"Hãy đưa vào đường dẫn liên kết (URL)","other":"<khác>","popupDependent":"Phụ thuộc (Netscape)","popupFeatures":"Đặc điểm của cửa sổ Popup","popupFullScreen":"Toàn màn hình (IE)","popupLeft":"Vị trí bên trái","popupLocationBar":"Thanh vị trí","popupMenuBar":"Thanh Menu","popupResizable":"Có thể thay đổi kích cỡ","popupScrollBars":"Thanh cuộn","popupStatusBar":"Thanh trạng thái","popupToolbar":"Thanh công cụ","popupTop":"Vị trí phía trên","rel":"Quan hệ","selectAnchor":"Chọn một điểm neo","styles":"Kiểu (style)","tabIndex":"Chỉ số của Tab","target":"Đích","targetFrame":"<khung>","targetFrameName":"Tên khung đích","targetPopup":"<cửa sổ popup>","targetPopupName":"Tên cửa sổ Popup","title":"Liên kết","toAnchor":"Neo trong trang này","toEmail":"Thư điện tử","toUrl":"URL","toolbar":"Chèn/Sửa liên kết","type":"Kiểu liên kết","unlink":"Xoá liên kết","upload":"Tải lên"},"list":{"bulletedlist":"Chèn/Xoá Danh sách không thứ tự","numberedlist":"Chèn/Xoá Danh sách có thứ tự"},"liststyle":{"armenian":"Số theo kiểu Armenian","bulletedTitle":"Thuộc tính danh sách không thứ tự","circle":"Khuyên tròn","decimal":"Kiểu số (1, 2, 3 ...)","decimalLeadingZero":"Kiểu số (01, 02, 03...)","disc":"Hình đĩa","georgian":"Số theo kiểu Georgian (an, ban, gan...)","lowerAlpha":"Kiểu abc thường (a, b, c, d, e...)","lowerGreek":"Kiểu Hy Lạp (alpha, beta, gamma...)","lowerRoman":"Số La Mã kiểu thường (i, ii, iii, iv, v...)","none":"Không gì cả","notset":"<không thiết lập>","numberedTitle":"Thuộc tính danh sách có thứ tự","square":"Hình vuông","start":"Bắt đầu","type":"Kiểu loại","upperAlpha":"Kiểu ABC HOA (A, B, C, D, E...)","upperRoman":"Số La Mã kiểu HOA (I, II, III, IV, V...)","validateStartNumber":"Số bắt đầu danh sách phải là một số nguyên."},"magicline":{"title":"Chèn đoạn vào đây"},"maximize":{"maximize":"Phóng to tối đa","minimize":"Thu nhỏ"},"newpage":{"toolbar":"Trang mới"},"pagebreak":{"alt":"Ngắt trang","toolbar":"Chèn ngắt trang"},"pastetext":{"button":"Dán theo định dạng văn bản thuần","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Dán theo định dạng văn bản thuần"},"pastefromword":{"confirmCleanup":"Văn bản bạn muốn dán có kèm định dạng của Word. Bạn có muốn loại bỏ định dạng Word trước khi dán?","error":"Không thể để làm sạch các dữ liệu dán do một lỗi nội bộ","title":"Dán với định dạng Word","toolbar":"Dán với định dạng Word"},"preview":{"preview":"Xem trước"},"print":{"toolbar":"In"},"removeformat":{"toolbar":"Xoá định dạng"},"save":{"toolbar":"Lưu"},"selectall":{"toolbar":"Chọn tất cả"},"showblocks":{"toolbar":"Hiển thị các khối"},"sourcearea":{"toolbar":"Mã HTML"},"specialchar":{"options":"Tùy chọn các ký tự đặc biệt","title":"Hãy chọn ký tự đặc biệt","toolbar":"Chèn ký tự đặc biệt"},"scayt":{"btn_about":"Thông tin về SCAYT","btn_dictionaries":"Từ điển","btn_disable":"Tắt SCAYT","btn_enable":"Bật SCAYT","btn_langs":"Ngôn ngữ","btn_options":"Tùy chọn","text_title":"Kiểm tra chính tả ngay khi gõ chữ (SCAYT)"},"stylescombo":{"label":"Kiểu","panelTitle":"Phong cách định dạng","panelTitle1":"Kiểu khối","panelTitle2":"Kiểu trực tiếp","panelTitle3":"Kiểu đối tượng"},"table":{"border":"Kích thước đường viền","caption":"Đầu đề","cell":{"menu":"Ô","insertBefore":"Chèn ô Phía trước","insertAfter":"Chèn ô Phía sau","deleteCell":"Xoá ô","merge":"Kết hợp ô","mergeRight":"Kết hợp sang phải","mergeDown":"Kết hợp xuống dưới","splitHorizontal":"Phân tách ô theo chiều ngang","splitVertical":"Phân tách ô theo chiều dọc","title":"Thuộc tính của ô","cellType":"Kiểu của ô","rowSpan":"Kết hợp hàng","colSpan":"Kết hợp cột","wordWrap":"Chữ liền hàng","hAlign":"Canh lề ngang","vAlign":"Canh lề dọc","alignBaseline":"Đường cơ sở","bgColor":"Màu nền","borderColor":"Màu viền","data":"Dữ liệu","header":"Đầu đề","yes":"Có","no":"Không","invalidWidth":"Chiều rộng của ô phải là một số nguyên.","invalidHeight":"Chiều cao của ô phải là một số nguyên.","invalidRowSpan":"Số hàng kết hợp phải là một số nguyên.","invalidColSpan":"Số cột kết hợp phải là một số nguyên.","chooseColor":"Chọn màu"},"cellPad":"Khoảng đệm giữ ô và nội dung","cellSpace":"Khoảng cách giữa các ô","column":{"menu":"Cột","insertBefore":"Chèn cột phía trước","insertAfter":"Chèn cột phía sau","deleteColumn":"Xoá cột"},"columns":"Số cột","deleteTable":"Xóa bảng","headers":"Đầu đề","headersBoth":"Cả hai","headersColumn":"Cột đầu tiên","headersNone":"Không có","headersRow":"Hàng đầu tiên","invalidBorder":"Kích cỡ của đường biên phải là một số nguyên.","invalidCellPadding":"Khoảng đệm giữa ô và nội dung phải là một số nguyên.","invalidCellSpacing":"Khoảng cách giữa các ô phải là một số nguyên.","invalidCols":"Số lượng cột phải là một số lớn hơn 0.","invalidHeight":"Chiều cao của bảng phải là một số nguyên.","invalidRows":"Số lượng hàng phải là một số lớn hơn 0.","invalidWidth":"Chiều rộng của bảng phải là một số nguyên.","menu":"Thuộc tính bảng","row":{"menu":"Hàng","insertBefore":"Chèn hàng phía trước","insertAfter":"Chèn hàng phía sau","deleteRow":"Xoá hàng"},"rows":"Số hàng","summary":"Tóm lược","title":"Thuộc tính bảng","toolbar":"Bảng","widthPc":"Phần trăm (%)","widthPx":"Điểm ảnh (px)","widthUnit":"Đơn vị"},"undo":{"redo":"Làm lại thao tác","undo":"Khôi phục thao tác"},"widget":{"move":"Nhấp chuột và kéo để di chuyển","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Bỏ qua","btnIgnoreAll":"Bỏ qua tất cả","btnReplace":"Thay thế","btnReplaceAll":"Thay thế tất cả","btnUndo":"Phục hồi lại","changeTo":"Chuyển thành","errorLoading":"Lỗi khi đang nạp dịch vụ ứng dụng: %s.","ieSpellDownload":"Chức năng kiểm tra chính tả chưa được cài đặt. Bạn có muốn tải về ngay bây giờ?","manyChanges":"Hoàn tất kiểm tra chính tả: %1 từ đã được thay đổi","noChanges":"Hoàn tất kiểm tra chính tả: Không có từ nào được thay đổi","noMispell":"Hoàn tất kiểm tra chính tả: Không có lỗi chính tả","noSuggestions":"- Không đưa ra gợi ý về từ -","notAvailable":"Xin lỗi, dịch vụ này hiện tại không có.","notInDic":"Không có trong từ điển","oneChange":"Hoàn tất kiểm tra chính tả: Một từ đã được thay đổi","progress":"Đang tiến hành kiểm tra chính tả...","title":"Kiểm tra chính tả","toolbar":"Kiểm tra chính tả"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/vi.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ug.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ug.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ug.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['ug']={"editor":"تەھرىرلىگۈچ","editorPanel":"مول تېكست تەھرىرلىگۈچ تاختىسى","common":{"editorHelp":"ALT+0 نى بېسىپ ياردەمنى كۆرۈڭ","browseServer":"كۆرسىتىش مۇلازىمېتىر","url":"ئەسلى ھۆججەت","protocol":"كېلىشىم","upload":"يۈكلە","uploadSubmit":"مۇلازىمېتىرغا يۈكلە","image":"سۈرەت","flash":"چاقماق","form":"جەدۋەل","checkbox":"كۆپ تاللاش رامكىسى","radio":"يەككە تاللاش توپچىسى","textField":"يەككە قۇر تېكىست","textarea":"كۆپ قۇر تېكىست","hiddenField":"يوشۇرۇن دائىرە","button":"توپچا","select":"تىزىم/تىزىملىك","imageButton":"سۈرەت دائىرە","notSet":"‹تەڭشەلمىگەن›","id":"ID","name":"ئات","langDir":"تىل يۆنىلىشى","langDirLtr":"سولدىن ئوڭغا (LTR)","langDirRtl":"ئوڭدىن سولغا (RTL)","langCode":"تىل كودى","longDescr":"تەپسىلىي چۈشەندۈرۈش ئادرېسى","cssClass":"ئۇسلۇب خىلىنىڭ ئاتى","advisoryTitle":"ماۋزۇ","cssStyle":"قۇر ئىچىدىكى ئۇسلۇبى","ok":"جەزملە","cancel":"ۋاز كەچ","close":"تاقا","preview":"ئالدىن كۆزەت","resize":"چوڭلۇقىنى ئۆزگەرت","generalTab":"ئادەتتىكى","advancedTab":"ئالىي","validateNumberFailed":"سان پىچىمىدا كىرگۈزۈش زۆرۈر","confirmNewPage":"نۆۋەتتىكى پۈتۈك مەزمۇنى ساقلانمىدى، يېڭى پۈتۈك قۇرامسىز؟","confirmCancel":"قىسمەن ئۆزگەرتىش ساقلانمىدى، بۇ سۆزلەشكۈنى تاقامسىز؟","options":"تاللانما","target":"نىشان كۆزنەك","targetNew":"يېڭى كۆزنەك (_blank)","targetTop":"پۈتۈن بەت (_top)","targetSelf":"مەزكۇر كۆزنەك (_self)","targetParent":"ئاتا كۆزنەك (_parent)","langDirLTR":"سولدىن ئوڭغا (LTR)","langDirRTL":"ئوڭدىن سولغا (RTL)","styles":"ئۇسلۇبلار","cssClasses":"ئۇسلۇب خىللىرى","width":"كەڭلىك","height":"ئېگىزلىك","align":"توغرىلىنىشى","left":"سول","right":"ئوڭ","center":"ئوتتۇرا","justify":"ئىككى تەرەپتىن توغرىلا","alignLeft":"سولغا توغرىلا","alignRight":"ئوڭغا توغرىلا","alignCenter":"Align Center","alignTop":"ئۈستى","alignMiddle":"ئوتتۇرا","alignBottom":"ئاستى","alignNone":"يوق","invalidValue":"ئىناۋەتسىز قىممەت.","invalidHeight":"ئېگىزلىك چوقۇم رەقەم پىچىمىدا بولۇشى زۆرۈر","invalidWidth":"كەڭلىك چوقۇم رەقەم پىچىمىدا بولۇشى زۆرۈر","invalidLength":"بەلگىلەنگەن قىممەت \"1%\" سۆز بۆلىكىدىكى ئېنىقسىز ماتىريال ياكى مۇسبەت سانلار (2%).","invalidCssLength":"بۇ سۆز بۆلىكى چوقۇم مۇۋاپىق بولغان CSS ئۇزۇنلۇق قىممىتى بولۇشى زۆرۈر، بىرلىكى (px, %, in, cm, mm, em, ex, pt ياكى pc)","invalidHtmlLength":"بۇ سۆز بۆلىكى چوقۇم بىرىكمە HTML ئۇزۇنلۇق قىممىتى بولۇشى كېرەك. ئۆز ئىچىگە ئالىدىغان بىرلىك (px ياكى %)","invalidInlineStyle":"ئىچكى باغلانما ئۇسلۇبى چوقۇم چېكىتلىك پەش بىلەن ئايرىلغان بىر ياكى كۆپ «خاسلىق ئاتى:خاسلىق قىممىتى» پىچىمىدا بولۇشى لازىم","cssLengthTooltip":"بۇ سۆز بۆلىكى بىرىكمە CSS ئۇزۇنلۇق قىممىتى بولۇشى كېرەك. ئۆز ئىچىگە ئالىدىغان بىرلىك (px, %, in, cm, mm, em, ex, pt ياكى pc)","unavailable":"%1<span class=\\\\\"cke_accessibility\\\\\">، ئىشلەتكىلى بولمايدۇ</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"ئۆچۈر","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"تېزلەتمە كونۇپكا","optionDefault":"سۈكۈتتىكى"},"about":{"copy":"Copyright &copy; $1. نەشر ھوقۇقىغا ئىگە","dlgTitle":"CKEditor تەھرىرلىگۈچى 4 ھەقىدە","moreInfo":"تور تۇرايىمىزنى زىيارەت قىلىپ كېلىشىمگە ئائىت تېخىمۇ كۆپ ئۇچۇرغا ئېرىشىڭ"},"basicstyles":{"bold":"توم","italic":"يانتۇ","strike":"ئۆچۈرۈش سىزىقى","subscript":"تۆۋەن ئىندېكس","superscript":"يۇقىرى ئىندېكس","underline":"ئاستى سىزىق"},"bidi":{"ltr":"تېكىست يۆنىلىشى سولدىن ئوڭغا","rtl":"تېكىست يۆنىلىشى ئوڭدىن سولغا"},"blockquote":{"toolbar":"بۆلەك نەقىل"},"notification":{"closed":"ئوقتۇرۇش تاقالدى."},"button":{"selectedLabel":"%1 (تاللاندى)"},"toolbar":{"toolbarCollapse":"قورال بالداقنى قاتلا","toolbarExpand":"قورال بالداقنى ياي","toolbarGroups":{"document":"پۈتۈك","clipboard":"چاپلاش تاختىسى/يېنىۋال","editing":"تەھرىر","forms":"جەدۋەل","basicstyles":"ئاساسىي ئۇسلۇب","paragraph":"ئابزاس","links":"ئۇلانما","insert":"قىستۇر","styles":"ئۇسلۇب","colors":"رەڭ","tools":"قورال"},"toolbars":"قورال بالداق"},"clipboard":{"copy":"كۆچۈر","copyError":"تور كۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى تەھرىرلىگۈچنىڭ كۆچۈر مەشغۇلاتىنى ئۆزلۈكىدىن ئىجرا قىلىشىغا يول قويمايدۇ، ھەرپتاختا تېز كۇنۇپكا (Ctrl/Cmd+C) ئارقىلىق تاماملاڭ","cut":"كەس","cutError":"تور كۆرگۈڭىزنىڭ بىخەتەرلىك تەڭشىكى تەھرىرلىگۈچنىڭ كەس مەشغۇلاتىنى ئۆزلۈكىدىن ئىجرا قىلىشىغا يول قويمايدۇ، ھەرپتاختا تېز كۇنۇپكا (Ctrl/Cmd+X) ئارقىلىق تاماملاڭ","paste":"چاپلا","pasteNotification":"چاپلانغىنى 1% . سىزنىڭ تور كۆرگۈچىڭىز قۇرال تەكچىسى ۋە سىيرىلما تاللاپ چاپلاش ئىقتىدارىنى قوللىمايدىكەن .","pasteArea":"چاپلاش دائىرىسى","pasteMsg":"مەزمۇنىڭىزنى تۆۋەندىكى رايونغا چاپلاپ ئاندىن OK نى بېسىڭ .","title":"چاپلا"},"colorbutton":{"auto":"ئۆزلۈكىدىن","bgColorTitle":"تەگلىك رەڭگى","colors":{"000":"قارا","800000":"قىزغۇچ سېرىق","8B4513":"توق قوڭۇر","2F4F4F":"قارامتۇل يېشىل","008080":"كۆكۈش يېشىل","000080":"قارامتۇل كۆك","4B0082":"كۆكۈش كۈلرەڭ","696969":"قارامتۇل كۈلرەڭ","B22222":"خىش قىزىل","A52A2A":"قوڭۇر","DAA520":"ئالتۇن سېرىق","006400":"توق يېشىل","40E0D0":"كۆكۈچ يېشىل","0000CD":"ئوتتۇراھال كۆك","800080":"بىنەپشە","808080":"كۈلرەڭ","F00":"قىزىل","FF8C00":"توق قىزغۇچ سېرىق","FFD700":"ئالتۇن","008000":"يېشىل","0FF":"يېشىل كۆك","00F":"كۆك","EE82EE":"قىزغۇچ بىنەپشە","A9A9A9":"توق كۈلرەڭ","FFA07A":"كاۋا چېچىكى سېرىق","FFA500":"قىزغۇچ سېرىق","FFFF00":"سېرىق","00FF00":"Lime","AFEEEE":"سۇس ھاۋا رەڭ","ADD8E6":"ئوچۇق كۆك","DDA0DD":"قىزغۇچ بىنەپشە","D3D3D3":"سۇس كۆكۈچ كۈلرەڭ","FFF0F5":"سۇس قىزغۇچ بىنەپشە","FAEBD7":"Antique White","FFFFE0":"سۇس سېرىق","F0FFF0":"Honeydew","F0FFFF":"ئاسمان كۆكى","F0F8FF":"سۇس كۆك","E6E6FA":"سۇس بىنەپشە","FFF":"ئاق","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"باشقا رەڭ","panelTitle":"رەڭ","textColorTitle":"تېكىست رەڭگى"},"colordialog":{"clear":"تازىلا","highlight":"يورۇت","options":"رەڭ تاللانمىسى","selected":"رەڭ تاللاڭ","title":"رەڭ تاللاڭ"},"templates":{"button":"قېلىپ","emptyListMsg":"(قېلىپ يوق)","insertOption":"نۆۋەتتىكى مەزمۇننى ئالماشتۇر","options":"قېلىپ تاللانمىسى","selectPromptMsg":"تەھرىرلىگۈچنىڭ مەزمۇن قېلىپىنى تاللاڭ:","title":"مەزمۇن قېلىپى"},"contextmenu":{"options":"قىسقا يول تىزىملىك تاللانمىسى"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"ماۋزۇ","cssClassInputLabel":"ئۇسلۇب تىپىنىڭ ئاتى","edit":"DIV تەھرىر","inlineStyleInputLabel":"قۇر ئىچىدىكى ئۇسلۇبى","langDirLTRLabel":"سولدىن ئوڭغا (LTR)","langDirLabel":"تىل يۆنىلىشى","langDirRTLLabel":"ئوڭدىن سولغا (RTL)","languageCodeInputLabel":"تىل كودى","remove":"DIV چىقىرىۋەت","styleSelectLabel":"ئۇسلۇب","title":"DIV قاچا قۇر","toolbar":"DIV قاچا قۇر"},"elementspath":{"eleLabel":"ئېلېمېنت يولى","eleTitle":"%1 ئېلېمېنت"},"filetools":{"loadError":"ھۆججەت ئوقۇشتا خاتالىق كۆرۈلدى","networkError":"ھۆججەت يۈكلەشتە تور خاتالىقى كۆرۈلدى.","httpError404":"ھۆججەت يۈكلىگەندە HTTP خاتالىقى كۆرۈلدى (404: ھۆججەت تېپىلمىدى).","httpError403":"ھۆججەت يۈكلىگەندە HTTP خاتالىقى كۆرۈلدى (403: چەكلەنگەن).","httpError":"ھۆججەت يۈكلىگەندە HTTP خاتالىقى كۆرۈلدى (404: خاتالىق نىسپىتى: 1%).","noUrlError":"چىقىردىغان ئۇلانما تەڭشەلمىگەن .","responseError":"مۇلازىمىتىردا ئىنكاس يوق ."},"find":{"find":"ئىزدە","findOptions":"ئىزدەش تاللانمىسى","findWhat":"ئىزدە:","matchCase":"چوڭ كىچىك ھەرپنى پەرقلەندۈر","matchCyclic":"ئايلانما ماسلىشىش","matchWord":"پۈتۈن سۆز ماسلىشىش","notFoundMsg":"بەلگىلەنگەن تېكىستنى تاپالمىدى","replace":"ئالماشتۇر","replaceAll":"ھەممىنى ئالماشتۇر","replaceSuccessMsg":"جەمئى %1 جايدىكى ئالماشتۇرۇش تاماملاندى","replaceWith":"ئالماشتۇر:","title":"ئىزدەپ ئالماشتۇر"},"fakeobjects":{"anchor":"لەڭگەرلىك نۇقتا","flash":"Flash جانلاندۇرۇم","hiddenfield":"يوشۇرۇن دائىرە","iframe":"IFrame","unknown":"يوچۇن نەڭ"},"flash":{"access":"قوليازما زىيارەتكە يول قوي","accessAlways":"ھەمىشە","accessNever":"ھەرگىز","accessSameDomain":"ئوخشاش دائىرىدە","alignAbsBottom":"مۇتلەق ئاستى","alignAbsMiddle":"مۇتلەق ئوتتۇرا","alignBaseline":"ئاساسىي سىزىق","alignTextTop":"تېكىست ئۈستىدە","bgcolor":"تەگلىك رەڭگى","chkFull":"پۈتۈن ئېكراننى قوزغات","chkLoop":"دەۋرىي","chkMenu":"Flash تىزىملىكنى قوزغات","chkPlay":"ئۆزلۈكىدىن چال","flashvars":"Flash ئۆزگەرگۈچى","hSpace":"توغرىسىغا ئارىلىق","properties":"Flash خاسلىق","propertiesTab":"خاسلىق","quality":"سۈپەت","qualityAutoHigh":"يۇقىرى (ئاپتوماتىك)","qualityAutoLow":"تۆۋەن (ئاپتوماتىك)","qualityBest":"ئەڭ ياخشى","qualityHigh":"يۇقىرى","qualityLow":"تۆۋەن","qualityMedium":"ئوتتۇرا (ئاپتوماتىك)","scale":"نىسبىتى","scaleAll":"ھەممىنى كۆرسەت","scaleFit":"قەتئىي ماسلىشىش","scaleNoBorder":"گىرۋەك يوق","title":"ماۋزۇ","vSpace":"بويىغا ئارىلىق","validateHSpace":"توغرىسىغا ئارىلىق چوقۇم سان بولىدۇ","validateSrc":"ئەسلى ھۆججەت ئادرېسىنى كىرگۈزۈڭ","validateVSpace":"بويىغا ئارىلىق چوقۇم سان بولىدۇ","windowMode":"كۆزنەك ھالىتى","windowModeOpaque":"خىرە","windowModeTransparent":"سۈزۈك","windowModeWindow":"كۆزنەك گەۋدىسى"},"font":{"fontSize":{"label":"چوڭلۇقى","voiceLabel":"خەت چوڭلۇقى","panelTitle":"چوڭلۇقى"},"label":"خەت نۇسخا","panelTitle":"خەت نۇسخا","voiceLabel":"خەت نۇسخا"},"forms":{"button":{"title":"توپچا خاسلىقى","text":"بەلگە (قىممەت)","type":"تىپى","typeBtn":"توپچا","typeSbm":"تاپشۇر","typeRst":"ئەسلىگە قايتۇر"},"checkboxAndRadio":{"checkboxTitle":"كۆپ تاللاش خاسلىقى","radioTitle":"تاق تاللاش توپچا خاسلىقى","value":"تاللىغان قىممەت","selected":"تاللانغان","required":"زۆرۈر"},"form":{"title":"جەدۋەل خاسلىقى","menu":"جەدۋەل خاسلىقى","action":"مەشغۇلات","method":"ئۇسۇل","encoding":"جەدۋەل كودلىنىشى"},"hidden":{"title":"يوشۇرۇن دائىرە خاسلىقى","name":"ئات","value":"دەسلەپكى قىممىتى"},"select":{"title":"جەدۋەل/تىزىم خاسلىقى","selectInfo":"ئۇچۇر تاللاڭ","opAvail":"تاللاش تۈرلىرى","value":"قىممەت","size":"ئېگىزلىكى","lines":"قۇر","chkMulti":"كۆپ تاللاشچان","required":"زۆرۈر","opText":"تاللانما تېكىستى","opValue":"تاللانما قىممىتى","btnAdd":"قوش","btnModify":"ئۆزگەرت","btnUp":"ئۈستىگە","btnDown":"ئاستىغا","btnSetValue":"دەسلەپكى تاللانما قىممىتىگە تەڭشە","btnDelete":"ئۆچۈر"},"textarea":{"title":" كۆپ قۇرلۇق تېكىست خاسلىقى","cols":"ھەرپ كەڭلىكى","rows":"قۇر سانى"},"textfield":{"title":"تاق قۇرلۇق تېكىست خاسلىقى","name":"ئات","value":"دەسلەپكى قىممىتى","charWidth":"ھەرپ كەڭلىكى","maxChars":"ئەڭ كۆپ ھەرپ سانى","required":"زۆرۈر","type":"تىپى","typeText":"تېكىست","typePass":"ئىم","typeEmail":"تورخەت","typeSearch":"ئىزدە","typeTel":"تېلېفون نومۇر","typeUrl":"ئادرېس"}},"format":{"label":"پىچىم","panelTitle":"پىچىم","tag_address":"ئادرېس","tag_div":"ئابزاس (DIV)","tag_h1":"ماۋزۇ 1","tag_h2":"ماۋزۇ 2","tag_h3":"ماۋزۇ 3","tag_h4":"ماۋزۇ 4","tag_h5":"ماۋزۇ 5","tag_h6":"ماۋزۇ 6","tag_p":"ئادەتتىكى","tag_pre":"تىزىلغان پىچىم"},"horizontalrule":{"toolbar":"توغرا سىزىق قىستۇر"},"iframe":{"border":"كاندۇك گىرۋەكلىرىنى كۆرسەت","noUrl":"كاندۇكنىڭ ئادرېسى(Url)نى كىرگۈزۈڭ","scrolling":"دومىلىما سۈرگۈچكە يول قوي","title":"IFrame خاسلىق","toolbar":"IFrame "},"image":{"alt":"تېكىست ئالماشتۇر","border":"گىرۋەك چوڭلۇقى","btnUpload":"مۇلازىمېتىرغا يۈكلە","button2Img":"نۆۋەتتىكى توپچىنى سۈرەتكە ئۆزگەرتەمسىز؟","hSpace":"توغرىسىغا ئارىلىقى","img2Button":"نۆۋەتتىكى سۈرەتنى توپچىغا ئۆزگەرتەمسىز؟","infoTab":"سۈرەت","linkTab":"ئۇلانما","lockRatio":"نىسبەتنى قۇلۇپلا","menu":"سۈرەت خاسلىقى","resetSize":"ئەسلى چوڭلۇق","title":"سۈرەت خاسلىقى","titleButton":"سۈرەت دائىرە خاسلىقى","upload":"يۈكلە","urlMissing":"سۈرەتنىڭ ئەسلى ھۆججەت ئادرېسى كەم","vSpace":"بويىغا ئارىلىقى","validateBorder":"گىرۋەك چوڭلۇقى چوقۇم سان بولىدۇ","validateHSpace":"توغرىسىغا ئارىلىق چوقۇم پۈتۈن سان بولىدۇ","validateVSpace":"بويىغا ئارىلىق چوقۇم پۈتۈن سان بولىدۇ"},"indent":{"indent":"تارايت","outdent":"كەڭەيت"},"smiley":{"options":"چىراي ئىپادە سىنبەلگە تاللانمىسى","title":"چىراي ئىپادە سىنبەلگە قىستۇر","toolbar":"چىراي ئىپادە"},"language":{"button":"تىل تەڭشەك","remove":"تىلنى چىقىرىۋەت"},"link":{"acccessKey":"زىيارەت كۇنۇپكا","advanced":"ئالىي","advisoryContentType":"مەزمۇن تىپى","advisoryTitle":"ماۋزۇ","anchor":{"toolbar":"لەڭگەرلىك نۇقتا ئۇلانمىسى قىستۇر/تەھرىرلە","menu":"لەڭگەرلىك نۇقتا ئۇلانما خاسلىقى","title":"لەڭگەرلىك نۇقتا ئۇلانما خاسلىقى","name":"لەڭگەرلىك نۇقتا ئاتى","errorName":"لەڭگەرلىك نۇقتا ئاتىنى كىرگۈزۈڭ","remove":"لەڭگەرلىك نۇقتا ئۆچۈر"},"anchorId":"لەڭگەرلىك نۇقتا ID سى بويىچە","anchorName":"لەڭگەرلىك نۇقتا ئاتى بويىچە","charset":"ھەرپ كودلىنىشى","cssClasses":"ئۇسلۇب خىلى ئاتى","download":"Force Download","displayText":"Display Text","emailAddress":"ئادرېس","emailBody":"مەزمۇن","emailSubject":"ماۋزۇ","id":"ID","info":"ئۇلانما ئۇچۇرى","langCode":"تىل كودى","langDir":"تىل يۆنىلىشى","langDirLTR":"سولدىن ئوڭغا (LTR)","langDirRTL":"ئوڭدىن سولغا (RTL)","menu":"ئۇلانما تەھرىر","name":"ئات","noAnchors":"(بۇ پۈتۈكتە ئىشلەتكىلى بولىدىغان لەڭگەرلىك نۇقتا يوق)","noEmail":"ئېلخەت ئادرېسىنى كىرگۈزۈڭ","noUrl":"ئۇلانما ئادرېسىنى كىرگۈزۈڭ","other":"‹باشقا›","popupDependent":"تەۋە (NS)","popupFeatures":"قاڭقىش كۆزنەك خاسلىقى","popupFullScreen":"پۈتۈن ئېكران (IE)","popupLeft":"سول","popupLocationBar":"ئادرېس بالداق","popupMenuBar":"تىزىملىك بالداق","popupResizable":"چوڭلۇقى ئۆزگەرتىشچان","popupScrollBars":"دومىلىما سۈرگۈچ","popupStatusBar":"ھالەت بالداق","popupToolbar":"قورال بالداق","popupTop":"ئوڭ","rel":"باغلىنىش","selectAnchor":"بىر لەڭگەرلىك نۇقتا تاللاڭ","styles":"قۇر ئىچىدىكى ئۇسلۇبى","tabIndex":"Tab تەرتىپى","target":"نىشان","targetFrame":"‹كاندۇك›","targetFrameName":"نىشان كاندۇك ئاتى","targetPopup":"‹قاڭقىش كۆزنەك›","targetPopupName":"قاڭقىش كۆزنەك ئاتى","title":"ئۇلانما","toAnchor":"بەت ئىچىدىكى لەڭگەرلىك نۇقتا ئۇلانمىسى","toEmail":"ئېلخەت","toUrl":"ئادرېس","toolbar":"ئۇلانما قىستۇر/تەھرىرلە","type":"ئۇلانما تىپى","unlink":"ئۇلانما بىكار قىل","upload":"يۈكلە"},"list":{"bulletedlist":"تۈر بەلگە تىزىمى","numberedlist":"تەرتىپ نومۇر تىزىمى"},"liststyle":{"armenian":"قەدىمكى ئەرمىنىيە تەرتىپ نومۇرى شەكلى","bulletedTitle":"تۈر بەلگە تىزىم خاسلىقى","circle":"بوش چەمبەر","decimal":"سان (1, 2, 3 قاتارلىق)","decimalLeadingZero":"نۆلدىن باشلانغان سان بەلگە (01, 02, 03 قاتارلىق)","disc":"تولدۇرۇلغان چەمبەر","georgian":"قەدىمكى جورجىيە تەرتىپ نومۇرى شەكلى (an, ban, gan قاتارلىق)","lowerAlpha":"ئىنگلىزچە كىچىك ھەرپ (a, b, c, d, e قاتارلىق)","lowerGreek":"گرېكچە كىچىك ھەرپ (alpha, beta, gamma قاتارلىق)","lowerRoman":"كىچىك ھەرپلىك رىم رەقىمى (i, ii, iii, iv, v قاتارلىق)","none":"بەلگە يوق","notset":"‹تەڭشەلمىگەن›","numberedTitle":"تەرتىپ نومۇر تىزىم خاسلىقى","square":"تولدۇرۇلغان تۆت چاسا","start":"باشلىنىش نومۇرى","type":"بەلگە تىپى","upperAlpha":"ئىنگلىزچە چوڭ ھەرپ (A, B, C, D, E قاتارلىق)","upperRoman":"چوڭ ھەرپلىك رىم رەقىمى (I, II, III, IV, V قاتارلىق)","validateStartNumber":"تىزىم باشلىنىش تەرتىپ نومۇرى چوقۇم پۈتۈن سان پىچىمىدا بولۇشى لازىم"},"magicline":{"title":"بۇ جايغا ئابزاس قىستۇر"},"maximize":{"maximize":"چوڭايت","minimize":"كىچىكلەت"},"newpage":{"toolbar":"يېڭى بەت"},"pagebreak":{"alt":"بەت ئايرىغۇچ","toolbar":"بەت ئايرىغۇچ قىستۇر"},"pastetext":{"button":"پىچىمى يوق تېكىست سۈپىتىدە چاپلا","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"پىچىمى يوق تېكىست سۈپىتىدە چاپلا"},"pastefromword":{"confirmCleanup":"سىز چاپلىماقچى بولغان مەزمۇن MS Word تىن كەلگەندەك قىلىدۇ، MS Word پىچىمىنى تازىلىۋەتكەندىن كېيىن ئاندىن چاپلامدۇ؟","error":"ئىچكى خاتالىق سەۋەبىدىن چاپلايدىغان سانلىق مەلۇماتنى تازىلىيالمايدۇ","title":"MS Word تىن چاپلا","toolbar":"MS Word تىن چاپلا"},"preview":{"preview":"ئالدىن كۆزەت"},"print":{"toolbar":"باس "},"removeformat":{"toolbar":"پىچىمنى چىقىرىۋەت"},"save":{"toolbar":"ساقلا"},"selectall":{"toolbar":"ھەممىنى تاللا"},"showblocks":{"toolbar":"بۆلەكنى كۆرسەت"},"sourcearea":{"toolbar":"مەنبە"},"specialchar":{"options":"ئالاھىدە ھەرپ تاللانمىسى","title":"ئالاھىدە ھەرپ تاللاڭ","toolbar":"ئالاھىدە ھەرپ قىستۇر"},"scayt":{"btn_about":"شۇئان ئىملا تەكشۈرۈش ھەققىدە","btn_dictionaries":"لۇغەت","btn_disable":"شۇئان ئىملا تەكشۈرۈشنى چەكلە","btn_enable":"شۇئان ئىملا تەكشۈرۈشنى قوزغات","btn_langs":"تىل","btn_options":"تاللانما","text_title":"شۇئان ئىملا تەكشۈر"},"stylescombo":{"label":"ئۇسلۇب","panelTitle":"ئۇسلۇب","panelTitle1":"بۆلەك دەرىجىسىدىكى ئېلېمېنت ئۇسلۇبى","panelTitle2":"ئىچكى باغلانما ئېلېمېنت ئۇسلۇبى","panelTitle3":"نەڭ (Object) ئېلېمېنت ئۇسلۇبى"},"table":{"border":"گىرۋەك","caption":"ماۋزۇ","cell":{"menu":"كاتەكچە","insertBefore":"سولغا كاتەكچە قىستۇر","insertAfter":"ئوڭغا كاتەكچە قىستۇر","deleteCell":"كەتەكچە ئۆچۈر","merge":"كاتەكچە بىرلەشتۈر","mergeRight":"كاتەكچىنى ئوڭغا بىرلەشتۈر","mergeDown":"كاتەكچىنى ئاستىغا بىرلەشتۈر","splitHorizontal":"كاتەكچىنى توغرىسىغا بىرلەشتۈر","splitVertical":"كاتەكچىنى بويىغا بىرلەشتۈر","title":"كاتەكچە خاسلىقى","cellType":"كاتەكچە تىپى","rowSpan":"بويىغا چات ئارىسى قۇر سانى","colSpan":"توغرىسىغا چات ئارىسى ئىستون سانى","wordWrap":"ئۆزلۈكىدىن قۇر قاتلا","hAlign":"توغرىسىغا توغرىلا","vAlign":"بويىغا توغرىلا","alignBaseline":"ئاساسىي سىزىق","bgColor":"تەگلىك رەڭگى","borderColor":"گىرۋەك رەڭگى","data":"سانلىق مەلۇمات","header":"جەدۋەل باشى","yes":"ھەئە","no":"ياق","invalidWidth":"كاتەكچە كەڭلىكى چوقۇم سان بولىدۇ","invalidHeight":"كاتەكچە ئېگىزلىكى چوقۇم سان بولىدۇ","invalidRowSpan":"قۇر چات ئارىسى چوقۇم پۈتۈن سان بولىدۇ ","invalidColSpan":"ئىستون چات ئارىسى چوقۇم پۈتۈن سان بولىدۇ","chooseColor":"تاللاڭ"},"cellPad":"يان ئارىلىق","cellSpace":"ئارىلىق","column":{"menu":"ئىستون","insertBefore":"سولغا ئىستون قىستۇر","insertAfter":"ئوڭغا ئىستون قىستۇر","deleteColumn":"ئىستون ئۆچۈر"},"columns":"ئىستون سانى","deleteTable":"جەدۋەل ئۆچۈر","headers":"ماۋزۇ كاتەكچە","headersBoth":"بىرىنچى ئىستون ۋە بىرىنچى قۇر","headersColumn":"بىرىنچى ئىستون","headersNone":"يوق","headersRow":"بىرىنچى قۇر","invalidBorder":"گىرۋەك توملۇقى چوقۇم سان بولىدۇ","invalidCellPadding":"كاتەكچىگە چوقۇم سان تولدۇرۇلىدۇ","invalidCellSpacing":"كاتەكچە ئارىلىقى چوقۇم سان بولىدۇ","invalidCols":"بەلگىلەنگەن قۇر سانى چوقۇم نۆلدىن چوڭ بولىدۇ","invalidHeight":"جەدۋەل ئېگىزلىكى چوقۇم سان بولىدۇ","invalidRows":"بەلگىلەنگەن ئىستون سانى چوقۇم نۆلدىن چوڭ بولىدۇ","invalidWidth":"جەدۋەل كەڭلىكى چوقۇم سان بولىدۇ","menu":"جەدۋەل خاسلىقى","row":{"menu":"قۇر","insertBefore":"ئۈستىگە قۇر قىستۇر","insertAfter":"ئاستىغا قۇر قىستۇر","deleteRow":"قۇر ئۆچۈر"},"rows":"قۇر سانى","summary":"ئۈزۈندە","title":"جەدۋەل خاسلىقى","toolbar":"جەدۋەل","widthPc":"پىرسەنت","widthPx":"پىكسېل","widthUnit":"كەڭلىك بىرلىكى"},"undo":{"redo":"قايتىلا ","undo":"يېنىۋال"},"widget":{"move":"يۆتكەشتە چېكىپ سۆرەڭ","label":"%1 widget"},"uploadwidget":{"abort":"يۈكلەشنى ئىشلەتكۈچى ئۈزۈۋەتتى.","doneOne":"ھۆججەت مۇۋەپپەقىيەتلىك يۈكلەندى.","doneMany":"مۇۋەپپەقىيەتلىك ھالدا %1 ھۆججەت يۈكلەندى.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"پەرۋا قىلما","btnIgnoreAll":"ھەممىگە پەرۋا قىلما","btnReplace":"ئالماشتۇر","btnReplaceAll":"ھەممىنى ئالماشتۇر","btnUndo":"يېنىۋال","changeTo":"ئۆزگەرت","errorLoading":"لازىملىق مۇلازىمېتىرنى يۈكلىگەندە خاتالىق كۆرۈلدى: %s.","ieSpellDownload":"ئىملا تەكشۈرۈش قىستۇرمىسى تېخى ئورنىتىلمىغان، ھازىرلا چۈشۈرەمسىز؟","manyChanges":"ئىملا تەكشۈرۈش تامام: %1 سۆزنى ئۆزگەرتتى","noChanges":"ئىملا تەكشۈرۈش تامام: ھېچقانداق سۆزنى ئۆزگەرتمىدى","noMispell":"ئىملا تەكشۈرۈش تامام: ئىملا خاتالىقى بايقالمىدى","noSuggestions":"-تەكلىپ يوق-","notAvailable":"كەچۈرۈڭ، مۇلازىمېتىرنى ۋاقتىنچە ئىشلەتكىلى بولمايدۇ","notInDic":"لۇغەتتە يوق","oneChange":"ئىملا تەكشۈرۈش تامام: بىر سۆزنى ئۆزگەرتتى","progress":"ئىملا تەكشۈرۈۋاتىدۇ…","title":"ئىملا تەكشۈر","toolbar":"ئىملا تەكشۈر"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ug.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/km.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/km.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/km.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['km']={"editor":"ឧបករណ៍​សរសេរ​អត្ថបទ​សម្បូរ​បែប","editorPanel":"ផ្ទាំង​ឧបករណ៍​សរសេរ​អត្ថបទ​សម្បូរ​បែប","common":{"editorHelp":"ចុច ALT 0 សម្រាប់​ជំនួយ","browseServer":"រក​មើល​ក្នុង​ម៉ាស៊ីន​បម្រើ","url":"URL","protocol":"ពិធីការ","upload":"ផ្ទុក​ឡើង","uploadSubmit":"បញ្ជូនទៅកាន់ម៉ាស៊ីន​បម្រើ","image":"រូបភាព","flash":"Flash","form":"បែបបទ","checkbox":"ប្រអប់​ធីក","radio":"ប៊ូតុង​មូល","textField":"វាល​អត្ថបទ","textarea":"Textarea","hiddenField":"វាល​កំបាំង","button":"ប៊ូតុង","select":"វាល​ជម្រើស","imageButton":"ប៊ូតុង​រូបភាព","notSet":"<មិនកំណត់>","id":"Id","name":"ឈ្មោះ","langDir":"ទិសដៅភាសា","langDirLtr":"ពីឆ្វេងទៅស្តាំ (LTR)","langDirRtl":"ពីស្តាំទៅឆ្វេង (RTL)","langCode":"លេខ​កូដ​ភាសា","longDescr":"URL អធិប្បាយ​វែង","cssClass":"Stylesheet Classes","advisoryTitle":"ចំណង​ជើង​ណែនាំ","cssStyle":"រចនាបថ","ok":"ព្រម","cancel":"បោះបង់","close":"បិទ","preview":"មើល​ជា​មុន","resize":"ប្ដូរ​ទំហំ","generalTab":"ទូទៅ","advancedTab":"កម្រិត​ខ្ពស់","validateNumberFailed":"តម្លៃ​នេះ​ពុំ​មែន​ជា​លេខ​ទេ។","confirmNewPage":"រាល់​បន្លាស់​ប្ដូរ​នានា​ដែល​មិន​ទាន់​រក្សា​ទុក​ក្នុង​មាតិកា​នេះ នឹង​ត្រូវ​បាត់​បង់។ តើ​អ្នក​ពិត​ជា​ចង់​ផ្ទុក​ទំព័រ​ថ្មី​មែនទេ?","confirmCancel":"ការ​កំណត់​មួយ​ចំនួន​ត្រូ​វ​បាន​ផ្លាស់​ប្ដូរ។ តើ​អ្នក​ពិត​ជា​ចង់​បិទ​ប្រអប់​នេះ​មែនទេ?","options":"ការ​កំណត់","target":"គោលដៅ","targetNew":"វីនដូ​ថ្មី (_blank)","targetTop":"វីនដូ​លើ​គេ (_top)","targetSelf":"វីនដូ​ដូច​គ្នា (_self)","targetParent":"វីនដូ​មេ (_parent)","langDirLTR":"ពីឆ្វេងទៅស្តាំ(LTR)","langDirRTL":"ពីស្តាំទៅឆ្វេង(RTL)","styles":"រចនាបថ","cssClasses":"Stylesheet Classes","width":"ទទឹង","height":"កំពស់","align":"កំណត់​ទីតាំង","left":"ខាងឆ្វង","right":"ខាងស្តាំ","center":"កណ្តាល","justify":"តំរឹមសងខាង","alignLeft":"តម្រឹម​ឆ្វេង","alignRight":"តម្រឹម​ស្ដាំ","alignCenter":"Align Center","alignTop":"ខាងលើ","alignMiddle":"កណ្តាល","alignBottom":"ខាងក្រោម","alignNone":"គ្មាន","invalidValue":"តម្លៃ​មិន​ត្រឹម​ត្រូវ។","invalidHeight":"តម្លៃ​កំពស់​ត្រូវ​តែ​ជា​លេខ។","invalidWidth":"តម្លៃ​ទទឹង​ត្រូវ​តែ​ជា​លេខ។","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"តម្លៃ​កំណត់​សម្រាប់​វាល \"%1\" ត្រូវ​តែ​ជា​លេខ​វិជ្ជមាន​ ដោយ​ភ្ជាប់ឬ​មិន​ភ្ជាប់​ជាមួយ​នឹង​ឯកតា​រង្វាស់​របស់ CSS (px, %, in, cm, mm, em, ex, pt ឬ pc) ។","invalidHtmlLength":"តម្លៃ​កំណត់​សម្រាប់​វាល \"%1\" ត្រូវ​តែ​ជា​លេខ​វិជ្ជមាន ដោយ​ភ្ជាប់​ឬ​មិន​ភ្ជាប់​ជាមួយ​នឹង​ឯកតា​រង្វាស់​របស់ HTML (px ឬ %) ។","invalidInlineStyle":"តម្លៃ​កំណត់​សម្រាប់​រចនាបថ​ក្នុង​តួ ត្រូវ​តែ​មាន​មួយ​ឬ​ធាតុ​ច្រើន​ដោយ​មាន​ទ្រង់ទ្រាយ​ជា \"ឈ្មោះ : តម្លៃ\" ហើយ​ញែក​ចេញ​ពី​គ្នា​ដោយ​ចុច​ក្បៀស។","cssLengthTooltip":"បញ្ចូល​លេខ​សម្រាប់​តម្លៃ​ជា​ភិចសែល ឬ​លេខ​ដែល​មាន​ឯកតា​ត្រឹមត្រូវ​របស់ CSS (px, %, in, cm, mm, em, ex, pt ឬ pc) ។","unavailable":"%1<span class=\"cke_accessibility\">, មិន​មាន</span>","keyboard":{"8":"លុបថយក្រោយ","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"ចុង","36":"ផ្ទះ","46":"លុប","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"រក្សាសិទ្ធិ &copy; $1។ រក្សា​សិទ្ធិ​គ្រប់​បែប​យ៉ាង។","dlgTitle":"អំពី CKEditor","moreInfo":"សម្រាប់​ព័ត៌មាន​អំពី​អាជ្ញាបណញណ សូម​មើល​ក្នុង​គេហទំព័រ​របស់​យើង៖"},"basicstyles":{"bold":"ដិត","italic":"ទ្រេត","strike":"គូស​បន្ទាត់​ចំ​កណ្ដាល","subscript":"អក្សរតូចក្រោម","superscript":"អក្សរតូចលើ","underline":"គូស​បន្ទាត់​ក្រោម"},"bidi":{"ltr":"ទិស​ដៅ​អក្សរ​ពី​ឆ្វេង​ទៅ​ស្ដាំ","rtl":"ទិស​ដៅ​អក្សរ​ពី​ស្ដាំ​ទៅ​ឆ្វេង"},"blockquote":{"toolbar":"ប្លក់​ពាក្យ​សម្រង់"},"notification":{"closed":"បាន​បិទ​ការ​ផ្ដល់​ដំណឹង។"},"button":{"selectedLabel":"%1 (បាន​ជ្រើស​រើស)"},"toolbar":{"toolbarCollapse":"បង្រួម​របារ​ឧបករណ៍","toolbarExpand":"ពង្រីក​របារ​ឧបករណ៍","toolbarGroups":{"document":"ឯកសារ","clipboard":"Clipboard/មិន​ធ្វើ​វិញ","editing":"ការ​កែ​សម្រួល","forms":"បែបបទ","basicstyles":"រចនាបថ​មូលដ្ឋាន","paragraph":"កថាខណ្ឌ","links":"តំណ","insert":"បញ្ចូល","styles":"រចនាបថ","colors":"ពណ៌","tools":"ឧបករណ៍"},"toolbars":"របារ​ឧបករណ៍​កែ​សម្រួល"},"clipboard":{"copy":"ចម្លង","copyError":"ការកំណត់សុវត្ថភាពរបស់កម្មវិធីរុករករបស់លោកអ្នក នេះ​មិនអាចធ្វើកម្មវិធីតាក់តែងអត្ថបទ ចំលងអត្ថបទយកដោយស្វ័យប្រវត្តបានឡើយ ។ សូមប្រើប្រាស់បន្សំ ឃីដូចនេះ (Ctrl/Cmd+C)។","cut":"កាត់យក","cutError":"ការកំណត់សុវត្ថភាពរបស់កម្មវិធីរុករករបស់លោកអ្នក នេះ​មិនអាចធ្វើកម្មវិធីតាក់តែងអត្ថបទ កាត់អត្ថបទយកដោយស្វ័យប្រវត្តបានឡើយ ។ សូមប្រើប្រាស់បន្សំ ឃីដូចនេះ (Ctrl/Cmd+X) ។","paste":"បិទ​ភ្ជាប់","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"តំបន់​បិទ​ភ្ជាប់","pasteMsg":"Paste your content inside the area below and press OK.","title":"បិទ​ភ្ជាប់"},"colorbutton":{"auto":"ស្វ័យប្រវត្តិ","bgColorTitle":"ពណ៌ផ្ទៃខាងក្រោយ","colors":{"000":"ខ្មៅ","800000":"ត្នោត​ចាស់","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"ខៀវ​ចាស់","4B0082":"ធ្លះ","696969":"ប្រផេះ​ក្រាស់","B22222":"Fire Brick","A52A2A":"ត្នោត","DAA520":"Golden Rod","006400":"បៃតង​ចាស់","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"ប្រផេះ","F00":"ក្រហម","FF8C00":"ទឹក​ក្រូច​ចាស់","FFD700":"មាស","008000":"បៃតង","0FF":"Cyan","00F":"ខៀវ","EE82EE":"ស្វាយ","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"ទឹក​ក្រូច","FFFF00":"លឿង","00FF00":"ក្រូច​ឆ្មារ","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"លឿង​ស្ដើង","F0FFF0":"Honeydew","F0FFFF":"ផ្ទៃមេឃ","F0F8FF":"Alice Blue","E6E6FA":"ឡាវិនដឺ","FFF":"ស","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"ពណ៌​ផ្សេង​ទៀត..","panelTitle":"ពណ៌","textColorTitle":"ពណ៌អក្សរ"},"colordialog":{"clear":"សម្អាត","highlight":"បន្លិច​ពណ៌","options":"ជម្រើស​ពណ៌","selected":"ពណ៌​ដែល​បាន​រើស","title":"រើស​ពណ៌"},"templates":{"button":"ពុម្ព​គំរូ","emptyListMsg":"(មិន​មាន​ពុម្ព​គំរូ​ត្រូវ​បាន​កំណត់)","insertOption":"ជំនួស​ក្នុង​មាតិកា​បច្ចុប្បន្ន","options":"ជម្រើស​ពុម្ព​គំរូ","selectPromptMsg":"សូម​រើស​ពុម្ព​គំរូ​ដើម្បី​បើក​ក្នុង​កម្មវិធី​សរសេរ​អត្ថបទ","title":"ពុម្ព​គំរូ​មាតិកា"},"contextmenu":{"options":"ជម្រើស​ម៉ឺនុយ​បរិបទ"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"ចំណង​ជើង​ប្រឹក្សា","cssClassInputLabel":"Stylesheet Classes","edit":"កែ Div","inlineStyleInputLabel":"ស្ទីល​ក្នុង​បន្ទាត់","langDirLTRLabel":"ពីឆ្វេងទៅស្តាំ(LTR)","langDirLabel":"ទិសដៅភាសា","langDirRTLLabel":"ពីស្តាំទៅឆ្វេង(RTL)","languageCodeInputLabel":"កូដ​ភាសា","remove":"ដក Div ចេញ","styleSelectLabel":"ស្ទីល","title":"បង្កើត​អ្នក​ផ្ទុក Div","toolbar":"បង្កើត​អ្នក​ផ្ទុក Div"},"elementspath":{"eleLabel":"ទីតាំង​ធាតុ","eleTitle":"ធាតុ %1"},"filetools":{"loadError":"មាន​បញ្ហា​កើតឡើង​ក្នុង​ពេល​អាន​ឯកសារ។","networkError":"មាន​បញ្ហា​បណ្ដាញ​កើត​ឡើង​ក្នុង​ពេល​ផ្ទុកឡើង​ឯកសារ។","httpError404":"មាន​បញ្ហា HTTP កើត​ឡើង​ក្នុង​ពេល​ផ្ទុកឡើង​ឯកសារ (404៖ រក​ឯកសារ​មិន​ឃើញ)។","httpError403":"មាន​បញ្ហា HTTP កើត​ឡើង​ក្នុង​ពេល​ផ្ទុកឡើង​ឯកសារ (403៖ ហាមឃាត់)។","httpError":"មាន​បញ្ហា HTTP កើត​ឡើង​ក្នុង​ពេល​ផ្ទុកឡើង​ឯកសារ (ស្ថានភាព​កំហុស៖ %1)។","noUrlError":"មិន​មាន​បញ្ជាក់ URL ផ្ទុក​ឡើង។","responseError":"ការ​ឆ្លើយតប​របស់​ម៉ាស៊ីនបម្រើ មិន​ត្រឹមត្រូវ។"},"find":{"find":"ស្វែងរក","findOptions":"ជម្រើស​ស្វែង​រក","findWhat":"ស្វែងរកអ្វី:","matchCase":"ករណី​ដំណូច","matchCyclic":"ត្រូវ​នឹង cyclic","matchWord":"ដូច​នឹង​ពាក្យ​ទាំង​មូល","notFoundMsg":"រក​មិន​ឃើញ​ពាក្យ​ដែល​បាន​បញ្ជាក់។","replace":"ជំនួស","replaceAll":"ជំនួសទាំងអស់","replaceSuccessMsg":"ការ​ជំនួស​ចំនួន %1 បាន​កើត​ឡើង។","replaceWith":"ជំនួសជាមួយ:","title":"រក​និង​ជំនួស"},"fakeobjects":{"anchor":"យុថ្កា","flash":"Flash មាន​ចលនា","hiddenfield":"វាល​កំបាំង","iframe":"IFrame","unknown":"វត្ថុ​មិន​ស្គាល់"},"flash":{"access":"Script Access","accessAlways":"ជានិច្ច","accessNever":"កុំ","accessSameDomain":"Same domain","alignAbsBottom":"Abs Bottom","alignAbsMiddle":"Abs Middle","alignBaseline":"បន្ទាត់ជាមូលដ្ឋាន","alignTextTop":"លើអត្ថបទ","bgcolor":"ពណ៌ផ្ទៃខាងក្រោយ","chkFull":"អនុញ្ញាត​ឲ្យ​ពេញ​អេក្រង់","chkLoop":"ចំនួនដង","chkMenu":"បង្ហាញ មឺនុយរបស់ Flash","chkPlay":"លេងដោយស្វ័យប្រវត្ត","flashvars":"អថេរ Flash","hSpace":"គំលាតទទឹង","properties":"ការកំណត់ Flash","propertiesTab":"លក្ខណៈ​សម្បត្តិ","quality":"គុណភាព","qualityAutoHigh":"ខ្ពស់​ស្វ័យ​ប្រវត្តិ","qualityAutoLow":"ទាប​ស្វ័យ​ប្រវត្តិ","qualityBest":"ល្អ​បំផុត","qualityHigh":"ខ្ពស់","qualityLow":"ទាប","qualityMedium":"មធ្យម","scale":"ទំហំ","scaleAll":"បង្ហាញទាំងអស់","scaleFit":"ត្រូវល្មម","scaleNoBorder":"មិនបង្ហាញស៊ុម","title":"ការកំណត់ Flash","vSpace":"គំលាតបណ្តោយ","validateHSpace":"HSpace must be a number.","validateSrc":"សូមសរសេរ អាស័យដ្ឋាន URL","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"ភាព​ថ្លា","windowModeWindow":"វីនដូ"},"font":{"fontSize":{"label":"ទំហំ","voiceLabel":"ទំហំ​អក្សរ","panelTitle":"ទំហំ​អក្សរ"},"label":"ពុម្ព​អក្សរ","panelTitle":"ឈ្មោះ​ពុម្ព​អក្សរ","voiceLabel":"ពុម្ព​អក្សរ"},"forms":{"button":{"title":"លក្ខណៈ​ប៊ូតុង","text":"អត្ថបទ (តម្លៃ)","type":"ប្រភេទ","typeBtn":"ប៊ូតុង","typeSbm":"ដាក់ស្នើ","typeRst":"កំណត់​ឡើង​វិញ"},"checkboxAndRadio":{"checkboxTitle":"លក្ខណៈ​ប្រអប់​ធីក","radioTitle":"លក្ខនៈ​ប៊ូតុង​មូល","value":"តម្លៃ","selected":"បាន​ជ្រើស","required":"Required"},"form":{"title":"លក្ខណៈ​បែបបទ","menu":"លក្ខណៈ​បែបបទ","action":"សកម្មភាព","method":"វិធីសាស្ត្រ","encoding":"ការ​អ៊ិនកូដ"},"hidden":{"title":"លក្ខណៈ​វាល​កំបាំង","name":"ឈ្មោះ","value":"តម្លៃ"},"select":{"title":"លក្ខណៈ​វាល​ជម្រើស","selectInfo":"ព័ត៌មាន​ជម្រើស","opAvail":"ជម្រើស​ដែល​មាន","value":"តម្លៃ","size":"ទំហំ","lines":"បន្ទាត់","chkMulti":"អនុញ្ញាត​ពហុ​ជម្រើស","required":"Required","opText":"អត្ថបទ","opValue":"តម្លៃ","btnAdd":"បន្ថែម","btnModify":"ផ្លាស់ប្តូរ","btnUp":"លើ","btnDown":"ក្រោម","btnSetValue":"កំណត់​ជា​តម្លៃ​ដែល​បាន​ជ្រើស","btnDelete":"លុប"},"textarea":{"title":"លក្ខណៈ​ប្រអប់​អត្ថបទ","cols":"ជួរឈរ","rows":"ជួរដេក"},"textfield":{"title":"លក្ខណៈ​វាល​អត្ថបទ","name":"ឈ្មោះ","value":"តម្លៃ","charWidth":"ទទឹង​តួ​អក្សរ","maxChars":"អក្សរអតិបរិមា","required":"Required","type":"ប្រភេទ","typeText":"អត្ថបទ","typePass":"ពាក្យសម្ងាត់","typeEmail":"អ៊ីមែល","typeSearch":"ស្វែង​រក","typeTel":"លេខ​ទូរសព្ទ","typeUrl":"URL"}},"format":{"label":"ទម្រង់","panelTitle":"ទម្រង់​កថាខណ្ឌ","tag_address":"អាសយដ្ឋាន","tag_div":"ធម្មតា (DIV)","tag_h1":"ចំណង​ជើង 1","tag_h2":"ចំណង​ជើង 2","tag_h3":"ចំណង​ជើង 3","tag_h4":"ចំណង​ជើង 4","tag_h5":"ចំណង​ជើង 5","tag_h6":"ចំណង​ជើង 6","tag_p":"ធម្មតា","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"បន្ថែមបន្ទាត់ផ្តេក"},"iframe":{"border":"បង្ហាញ​បន្ទាត់​ស៊ុម","noUrl":"សូម​បញ្ចូល URL របស់ iframe","scrolling":"ប្រើ​របារ​រំកិល","title":"លក្ខណៈ​សម្បត្តិ IFrame","toolbar":"IFrame"},"image":{"alt":"អត្ថបទជំនួស","border":"ស៊ុម","btnUpload":"ផ្ញើ​ទៅ​ម៉ាស៊ីន​បម្រើ","button2Img":"តើ​អ្នក​ចង់​ផ្លាស់​ប្ដូរ​ប៊ូតុង​រូបភាព​ដែល​បាន​ជ្រើស នៅ​លើ​រូបភាព​ធម្មតា​មួយ​មែនទេ?","hSpace":"គម្លាត​ផ្ដេក","img2Button":"តើ​អ្នក​ចង់​ផ្លាស់​ប្ដូរ​រូបភាព​ដែល​បាន​ជ្រើស នៅ​លើ​ប៊ូតុង​រូបភាព​មែនទេ?","infoTab":"ពត៌មានអំពីរូបភាព","linkTab":"តំណ","lockRatio":"ចាក់​សោ​ផល​ធៀប","menu":"លក្ខណៈ​រូបភាព","resetSize":"កំណត់ទំហំឡើងវិញ","title":"លក្ខណៈ​រូបភាព","titleButton":"លក្ខណៈ​ប៊ូតុង​រូបភាព","upload":"ផ្ទុកឡើង","urlMissing":"ខ្វះ URL ប្រភព​រូប​ភាព។","vSpace":"គម្លាត​បញ្ឈរ","validateBorder":"ស៊ុម​ត្រូវ​តែ​ជា​លេខ។","validateHSpace":"គម្លាត​ផ្ដេក​ត្រូវ​តែ​ជា​លេខ។","validateVSpace":"គម្លាត​បញ្ឈរ​ត្រូវ​តែ​ជា​លេខ។"},"indent":{"indent":"បន្ថែមការចូលបន្ទាត់","outdent":"បន្ថយការចូលបន្ទាត់"},"smiley":{"options":"ជម្រើស​រូប​សញ្ញា​អារម្មណ៍","title":"បញ្ចូល​រូប​សញ្ញា​អារម្មណ៍","toolbar":"រូប​សញ្ញ​អារម្មណ៍"},"language":{"button":"កំណត់​ភាសា","remove":"លុប​ភាសា"},"link":{"acccessKey":"សោរ​ចូល","advanced":"កម្រិត​ខ្ពស់","advisoryContentType":"ប្រភេទអត្ថបទ​ប្រឹក្សា","advisoryTitle":"ចំណងជើង​ប្រឹក្សា","anchor":{"toolbar":"យុថ្កា","menu":"កែ​យុថ្កា","title":"លក្ខណៈ​យុថ្កា","name":"ឈ្មោះ​យុថ្កា","errorName":"សូម​បញ្ចូល​ឈ្មោះ​យុថ្កា","remove":"ដក​យុថ្កា​ចេញ"},"anchorId":"តាម ID ធាតុ","anchorName":"តាម​ឈ្មោះ​យុថ្កា","charset":"លេខកូតអក្សររបស់ឈ្នាប់","cssClasses":"Stylesheet Classes","download":"Force Download","displayText":"Display Text","emailAddress":"អាសយដ្ឋាន​អ៊ីមែល","emailBody":"តួ​អត្ថបទ","emailSubject":"ប្រធានបទ​សារ","id":"Id","info":"ព័ត៌មាន​ពី​តំណ","langCode":"កូដ​ភាសា","langDir":"ទិសដៅភាសា","langDirLTR":"ពីឆ្វេងទៅស្តាំ(LTR)","langDirRTL":"ពីស្តាំទៅឆ្វេង(RTL)","menu":"កែ​តំណ","name":"ឈ្មោះ","noAnchors":"(មិន​មាន​យុថ្កា​នៅ​ក្នុង​ឯកសារ​អត្ថថបទ​ទេ)","noEmail":"សូម​បញ្ចូល​អាសយដ្ឋាន​អ៊ីមែល","noUrl":"សូម​បញ្ចូល​តំណ URL","other":"<ផ្សេង​ទៀត>","popupDependent":"Dependent (Netscape)","popupFeatures":"មុខ​ងារ​ផុស​ផ្ទាំង​វីនដូ​ឡើង","popupFullScreen":"ពេញ​អេក្រង់ (IE)","popupLeft":"ទីតាំងខាងឆ្វេង","popupLocationBar":"របារ​ទីតាំង","popupMenuBar":"របារ​ម៉ឺនុយ","popupResizable":"អាច​ប្ដូរ​ទំហំ","popupScrollBars":"របារ​រំកិល","popupStatusBar":"របារ​ស្ថានភាព","popupToolbar":"របារ​ឧបករណ៍","popupTop":"ទីតាំង​កំពូល","rel":"សម្ពន្ធ​ភាព","selectAnchor":"រើស​យក​យុថ្កា​មួយ","styles":"ស្ទីល","tabIndex":"លេខ Tab","target":"គោលដៅ","targetFrame":"<ស៊ុម>","targetFrameName":"ឈ្មោះ​ស៊ុម​ជា​គោល​ដៅ","targetPopup":"<វីនដូ​ផុស​ឡើង>","targetPopupName":"ឈ្មោះ​វីនដូត​ផុស​ឡើង","title":"តំណ","toAnchor":"ត​ភ្ជាប់​ទៅ​យុថ្កា​ក្នុង​អត្ថបទ","toEmail":"អ៊ីមែល","toUrl":"URL","toolbar":"តំណ","type":"ប្រភេទ​តំណ","unlink":"ផ្ដាច់​តំណ","upload":"ផ្ទុក​ឡើង"},"list":{"bulletedlist":"បញ្ចូល / លុប​បញ្ជី​ជា​ចំណុច​មូល","numberedlist":"បញ្ចូល / លុប​បញ្ជី​ជា​លេខ"},"liststyle":{"armenian":"លេខ​អារមេនី","bulletedTitle":"លក្ខណៈ​សម្បត្តិ​បញ្ជី​ជា​ចំណុច","circle":"រង្វង់​មូល","decimal":"លេខ​ទសភាគ (1, 2, 3, ...)","decimalLeadingZero":"ទសភាគ​ចាប់​ផ្ដើម​ពី​សូន្យ (01, 02, 03, ...)","disc":"ថាស","georgian":"លេខ​ចចជា (an, ban, gan, ...)","lowerAlpha":"ព្យញ្ជនៈ​តូច (a, b, c, d, e, ...)","lowerGreek":"លេខ​ក្រិក​តូច (alpha, beta, gamma, ...)","lowerRoman":"លេខ​រ៉ូម៉ាំង​តូច (i, ii, iii, iv, v, ...)","none":"គ្មាន","notset":"<not set>","numberedTitle":"លក្ខណៈ​សម្បត្តិ​បញ្ជី​ជា​លេខ","square":"ការេ","start":"ចាប់​ផ្ដើម","type":"ប្រភេទ","upperAlpha":"អក្សរ​ធំ (A, B, C, D, E, ...)","upperRoman":"លេខ​រ៉ូម៉ាំង​ធំ (I, II, III, IV, V, ...)","validateStartNumber":"លេខ​ចាប់​ផ្ដើម​បញ្ជី ត្រូវ​តែ​ជា​តួ​លេខ​ពិត​ប្រាកដ។"},"magicline":{"title":"បញ្ចូល​កថាខណ្ឌ​នៅ​ទីនេះ"},"maximize":{"maximize":"ពង្រីក​អតិបរមា","minimize":"បង្រួម​អប្បបរមា"},"newpage":{"toolbar":"ទំព័រ​ថ្មី"},"pagebreak":{"alt":"បំបែក​ទំព័រ","toolbar":"បន្ថែម​ការ​បំបែក​ទំព័រ​មុន​បោះពុម្ព"},"pastetext":{"button":"បិទ​ភ្ជាប់​ជា​អត្ថបទ​ធម្មតា","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"បិទ​ភ្ជាប់​ជា​អត្ថបទ​ធម្មតា"},"pastefromword":{"confirmCleanup":"អត្ថបទ​ដែល​អ្នក​ចង់​បិទ​ភ្ជាប់​នេះ ទំនង​ដូច​ជា​ចម្លង​មក​ពី Word។ តើ​អ្នក​ចង់​សម្អាត​វា​មុន​បិទ​ភ្ជាប់​ទេ?","error":"ដោយ​សារ​មាន​បញ្ហា​ផ្នែក​ក្នុង​ធ្វើ​ឲ្យ​មិន​អាច​សម្អាត​ទិន្នន័យ​ដែល​បាន​បិទ​ភ្ជាប់","title":"បិទ​ភ្ជាប់​ពី Word","toolbar":"បិទ​ភ្ជាប់​ពី Word"},"preview":{"preview":"មើល​ជា​មុន"},"print":{"toolbar":"បោះពុម្ព"},"removeformat":{"toolbar":"ជម្រះ​ទ្រង់​ទ្រាយ"},"save":{"toolbar":"រក្សាទុក"},"selectall":{"toolbar":"រើស​ទាំង​អស់"},"showblocks":{"toolbar":"បង្ហាញ​ប្លក់"},"sourcearea":{"toolbar":"អក្សរ​កូដ"},"specialchar":{"options":"ជម្រើស​តួ​អក្សរ​ពិសេស","title":"រើស​តួអក្សរ​ពិសេស","toolbar":"បន្ថែមអក្សរពិសេស"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"រចនាបថ","panelTitle":"ទ្រង់ទ្រាយ​រចនាបថ","panelTitle1":"រចនាបថ​ប្លក់","panelTitle2":"រចនាបថ​ក្នុង​ជួរ","panelTitle3":"រចនាបថ​វត្ថុ"},"table":{"border":"ទំហំ​បន្ទាត់​ស៊ុម","caption":"ចំណងជើង","cell":{"menu":"ក្រឡា","insertBefore":"បញ្ចូល​ក្រឡា​ពីមុខ","insertAfter":"បញ្ចូល​ក្រឡា​ពី​ក្រោយ","deleteCell":"លុប​ក្រឡា","merge":"បញ្ចូល​ក្រឡា​ចូល​គ្នា","mergeRight":"បញ្ចូល​គ្នា​ខាង​ស្ដាំ","mergeDown":"បញ្ចូល​គ្នា​ចុះ​ក្រោម","splitHorizontal":"ពុះ​ក្រឡា​ផ្ដេក","splitVertical":"ពុះ​ក្រឡា​បញ្ឈរ","title":"លក្ខណៈ​ក្រឡា","cellType":"ប្រភេទ​ក្រឡា","rowSpan":"ចំនួន​ជួរ​ដេក​លាយ​ចូល​គ្នា","colSpan":"ចំនួន​ជួរ​ឈរ​លាយ​ចូល​គ្នា","wordWrap":"រុំ​ពាក្យ","hAlign":"ការ​តម្រឹម​ផ្ដេក","vAlign":"ការ​តម្រឹម​បញ្ឈរ","alignBaseline":"ខ្សែ​បន្ទាត់​គោល","bgColor":"ពណ៌​ផ្ទៃ​ក្រោយ","borderColor":"ពណ៌​បន្ទាត់​ស៊ុម","data":"ទិន្នន័យ","header":"ក្បាល","yes":"ព្រម","no":"ទេ","invalidWidth":"ទទឹង​ក្រឡា​ត្រូវ​តែ​ជា​លេខ។","invalidHeight":"កម្ពស់​ក្រឡា​ត្រូវ​តែ​ជា​លេខ។","invalidRowSpan":"ចំនួន​ជួរ​ដេក​លាយ​ចូល​គ្នា​ត្រូវ​តែ​ជា​លេខ​ទាំង​អស់។","invalidColSpan":"ចំនួន​ជួរ​ឈរ​លាយ​ចូល​គ្នា​ត្រូវ​តែ​ជា​លេខ​ទាំង​អស់។","chooseColor":"រើស"},"cellPad":"ចន្លោះ​ក្រឡា","cellSpace":"គម្លាត​ក្រឡា","column":{"menu":"ជួរ​ឈរ","insertBefore":"បញ្ចូល​ជួរ​ឈរ​ពីមុខ","insertAfter":"បញ្ចូល​ជួរ​ឈរ​ពី​ក្រោយ","deleteColumn":"លុប​ជួរ​ឈរ"},"columns":"ជួរឈរ","deleteTable":"លុប​តារាង","headers":"ក្បាល","headersBoth":"ទាំង​ពីរ","headersColumn":"ជួរ​ឈរ​ដំបូង","headersNone":"មិន​មាន","headersRow":"ជួរ​ដេក​ដំបូង","invalidBorder":"ទំហំ​បន្ទាត់​ស៊ុម​ត្រូវ​តែ​ជា​លេខ។","invalidCellPadding":"ចន្លោះ​ក្រឡា​ត្រូវ​តែជា​លេខ​វិជ្ជមាន។","invalidCellSpacing":"គម្លាត​ក្រឡា​ត្រូវ​តែ​ជា​លេខ​វិជ្ជមាន។","invalidCols":"ចំនួន​ជួរ​ឈរ​ត្រូវ​តែ​ជា​លេខ​ធំ​ជាង 0។","invalidHeight":"កម្ពស់​តារាង​ត្រូវ​តែ​ជា​លេខ","invalidRows":"ចំនួន​ជួរ​ដេក​ត្រូវ​តែ​ជា​លេខ​ធំ​ជាង 0។","invalidWidth":"ទទឹង​តារាង​ត្រូវ​តែ​ជា​លេខ។","menu":"លក្ខណៈ​តារាង","row":{"menu":"ជួរ​ដេក","insertBefore":"បញ្ចូល​ជួរ​ដេក​ពីមុខ","insertAfter":"បញ្ចូល​ជួរ​ដេក​ពី​ក្រោយ","deleteRow":"លុប​ជួរ​ដេក"},"rows":"ជួរ​ដេក","summary":"សេចក្តី​សង្ខេប","title":"លក្ខណៈ​តារាង","toolbar":"តារាង","widthPc":"ភាគរយ","widthPx":"ភីកសែល","widthUnit":"ឯកតា​ទទឹង"},"undo":{"redo":"ធ្វើ​ឡើង​វិញ","undo":"មិន​ធ្វើ​វិញ"},"widget":{"move":"ចុច​ហើយ​ទាញ​ដើម្បី​ផ្លាស់​ទី","label":"%1 widget"},"uploadwidget":{"abort":"បាន​ផ្ដាច់​ការផ្ទុកឡើង​ដោយ​អ្នក​ប្រើប្រាស់។","doneOne":"បាន​ផ្ទុកឡើង​នូវ​ឯកសារ​ដោយ​ជោគជ័យ។","doneMany":"បាន​ផ្ទុក​ឡើង​នូវ​ឯកសារ %1 ដោយ​ជោគជ័យ។","uploadOne":"កំពុង​ផ្ទុកឡើង​ឯកសារ ({percentage}%)...","uploadMany":"កំពុង​ផ្ទុកឡើង​ឯកសារ, រួចរាល់ {current} នៃ {max} ({percentage}%)..."},"wsc":{"btnIgnore":"មិនផ្លាស់ប្តូរ","btnIgnoreAll":"មិនផ្លាស់ប្តូរ ទាំងអស់","btnReplace":"ជំនួស","btnReplaceAll":"ជំនួសទាំងអស់","btnUndo":"សារឡើងវិញ","changeTo":"ផ្លាស់ប្តូរទៅ","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"ពុំមានកម្មវិធីពិនិត្យអក្ខរាវិរុទ្ធ ។ តើចង់ទាញយកពីណា?","manyChanges":"ការពិនិត្យអក្ខរាវិរុទ្ធបានចប់: %1 ពាក្យបានផ្លាស់ប្តូរ","noChanges":"ការពិនិត្យអក្ខរាវិរុទ្ធបានចប់: ពុំមានផ្លាស់ប្តូរ","noMispell":"ការពិនិត្យអក្ខរាវិរុទ្ធបានចប់: គ្មានកំហុស","noSuggestions":"- គ្មានសំណើរ -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"គ្មានក្នុងវចនានុក្រម","oneChange":"ការពិនិត្យអក្ខរាវិរុទ្ធបានចប់: ពាក្យមួយត្រូចបានផ្លាស់ប្តូរ","progress":"កំពុងពិនិត្យអក្ខរាវិរុទ្ធ...","title":"Spell Checker","toolbar":"ពិនិត្យអក្ខរាវិរុទ្ធ"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/km.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/bs.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/bs.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/bs.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['bs']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protokol","upload":"Šalji","uploadSubmit":"Šalji na server","image":"Slika","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<nije podešeno>","id":"Id","name":"Naziv","langDir":"Smjer pisanja","langDirLtr":"S lijeva na desno (LTR)","langDirRtl":"S desna na lijevo (RTL)","langCode":"Jezièni kôd","longDescr":"Dugaèki opis URL-a","cssClass":"Klase CSS stilova","advisoryTitle":"Advisory title","cssStyle":"Stil","ok":"OK","cancel":"Odustani","close":"Close","preview":"Prikaži","resize":"Resize","generalTab":"General","advancedTab":"Naprednije","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Prozor","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"S lijeva na desno (LTR)","langDirRTL":"S desna na lijevo (RTL)","styles":"Stil","cssClasses":"Klase CSS stilova","width":"Širina","height":"Visina","align":"Poravnanje","left":"Lijevo","right":"Desno","center":"Centar","justify":"Puno poravnanje","alignLeft":"Lijevo poravnanje","alignRight":"Desno poravnanje","alignCenter":"Align Center","alignTop":"Vrh","alignMiddle":"Sredina","alignBottom":"Dno","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Boldiraj","italic":"Ukosi","strike":"Precrtaj","subscript":"Subscript","superscript":"Superscript","underline":"Podvuci"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Kopiraj","copyError":"Sigurnosne postavke Vašeg pretraživaèa ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+C).","cut":"Izreži","cutError":"Sigurnosne postavke vašeg pretraživaèa ne dozvoljavaju operacije automatskog rezanja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+X).","paste":"Zalijepi","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK.","title":"Zalijepi"},"colorbutton":{"auto":"Automatska","bgColorTitle":"Boja pozadine","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Više boja...","panelTitle":"Colors","textColorTitle":"Boja teksta"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"Templates","emptyListMsg":"(No templates defined)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"Please select the template to open in the editor","title":"Content Templates"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory title","cssClassInputLabel":"Klase CSS stilova","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"S lijeva na desno (LTR)","langDirLabel":"Smjer pisanja","langDirRTLLabel":"S desna na lijevo (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Stil","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Naði","findOptions":"Find Options","findWhat":"Naði šta:","matchCase":"Uporeðuj velika/mala slova","matchCyclic":"Match cyclic","matchWord":"Uporeðuj samo cijelu rijeè","notFoundMsg":"Traženi tekst nije pronaðen.","replace":"Zamjeni","replaceAll":"Zamjeni sve","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Zamjeni sa:","title":"Find and Replace"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs dole","alignAbsMiddle":"Abs sredina","alignBaseline":"Bazno","alignTextTop":"Vrh teksta","bgcolor":"Boja pozadine","chkFull":"Allow Fullscreen","chkLoop":"Loop","chkMenu":"Enable Flash Menu","chkPlay":"Auto Play","flashvars":"Variables for Flash","hSpace":"HSpace","properties":"Flash Properties","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Scale","scaleAll":"Show all","scaleFit":"Exact Fit","scaleNoBorder":"No Border","title":"Flash Properties","vSpace":"VSpace","validateHSpace":"HSpace must be a number.","validateSrc":"Molimo ukucajte URL link","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Velièina","voiceLabel":"Font Size","panelTitle":"Velièina"},"label":"Font","panelTitle":"Font","voiceLabel":"Font"},"forms":{"button":{"title":"Button Properties","text":"Text (Value)","type":"Type","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Checkbox Properties","radioTitle":"Radio Button Properties","value":"Value","selected":"Selected","required":"Required"},"form":{"title":"Form Properties","menu":"Form Properties","action":"Action","method":"Method","encoding":"Encoding"},"hidden":{"title":"Hidden Field Properties","name":"Name","value":"Value"},"select":{"title":"Selection Field Properties","selectInfo":"Select Info","opAvail":"Available Options","value":"Value","size":"Size","lines":"lines","chkMulti":"Allow multiple selections","required":"Required","opText":"Text","opValue":"Value","btnAdd":"Add","btnModify":"Modify","btnUp":"Up","btnDown":"Down","btnSetValue":"Set as selected value","btnDelete":"Delete"},"textarea":{"title":"Textarea Properties","cols":"Columns","rows":"Rows"},"textfield":{"title":"Text Field Properties","name":"Name","value":"Value","charWidth":"Character Width","maxChars":"Maximum Characters","required":"Required","type":"Type","typeText":"Text","typePass":"Password","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Format","tag_address":"Address","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"Ubaci horizontalnu liniju"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Tekst na slici","border":"Okvir","btnUpload":"Šalji na server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"HSpace","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Info slike","linkTab":"Link","lockRatio":"Zakljuèaj odnos","menu":"Svojstva slike","resetSize":"Resetuj dimenzije","title":"Svojstva slike","titleButton":"Image Button Properties","upload":"Šalji","urlMissing":"Image source URL is missing.","vSpace":"VSpace","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Poveæaj uvod","outdent":"Smanji uvod"},"smiley":{"options":"Smiley Options","title":"Ubaci smješka","toolbar":"Smješko"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Pristupna tipka","advanced":"Naprednije","advisoryContentType":"Advisory vrsta sadržaja","advisoryTitle":"Advisory title","anchor":{"toolbar":"Anchor","menu":"Edit Anchor","title":"Anchor Properties","name":"Anchor Name","errorName":"Please type the anchor name","remove":"Remove Anchor"},"anchorId":"Po Id-u elementa","anchorName":"Po nazivu sidra","charset":"Linked Resource Charset","cssClasses":"Klase CSS stilova","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail Adresa","emailBody":"Poruka","emailSubject":"Subjekt poruke","id":"Id","info":"Link info","langCode":"Smjer pisanja","langDir":"Smjer pisanja","langDirLTR":"S lijeva na desno (LTR)","langDirRTL":"S desna na lijevo (RTL)","menu":"Izmjeni link","name":"Naziv","noAnchors":"(Nema dostupnih sidra na stranici)","noEmail":"Molimo ukucajte e-mail adresu","noUrl":"Molimo ukucajte URL link","other":"<other>","popupDependent":"Ovisno (Netscape)","popupFeatures":"Moguænosti popup prozora","popupFullScreen":"Cijeli ekran (IE)","popupLeft":"Lijeva pozicija","popupLocationBar":"Traka za lokaciju","popupMenuBar":"Izborna traka","popupResizable":"Resizable","popupScrollBars":"Scroll traka","popupStatusBar":"Statusna traka","popupToolbar":"Traka sa alatima","popupTop":"Gornja pozicija","rel":"Relationship","selectAnchor":"Izaberi sidro","styles":"Stil","tabIndex":"Tab indeks","target":"Prozor","targetFrame":"<frejm>","targetFrameName":"Target Frame Name","targetPopup":"<popup prozor>","targetPopupName":"Naziv popup prozora","title":"Link","toAnchor":"Sidro na ovoj stranici","toEmail":"E-Mail","toUrl":"URL","toolbar":"Ubaci/Izmjeni link","type":"Tip linka","unlink":"Izbriši link","upload":"Šalji"},"list":{"bulletedlist":"Lista","numberedlist":"Numerisana lista"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"newpage":{"toolbar":"Novi dokument"},"pagebreak":{"alt":"Page Break","toolbar":"Insert Page Break for Printing"},"pastetext":{"button":"Zalijepi kao obièan tekst","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Zalijepi kao obièan tekst"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Zalijepi iz Word-a","toolbar":"Zalijepi iz Word-a"},"preview":{"preview":"Prikaži"},"print":{"toolbar":"Štampaj"},"removeformat":{"toolbar":"Poništi format"},"save":{"toolbar":"Snimi"},"selectall":{"toolbar":"Selektuj sve"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"HTML kôd"},"specialchar":{"options":"Special Character Options","title":"Izaberi specijalni karakter","toolbar":"Ubaci specijalni karater"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Stil","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Okvir","caption":"Naslov","cell":{"menu":"Cell","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"Briši æelije","merge":"Spoji æelije","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Uvod æelija","cellSpace":"Razmak æelija","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Briši kolone"},"columns":"Kolona","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a positive number.","invalidCellSpacing":"Cell spacing must be a positive number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"Svojstva tabele","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Briši redove"},"rows":"Redova","summary":"Summary","title":"Svojstva tabele","toolbar":"Tabela","widthPc":"posto","widthPx":"piksela","widthUnit":"width unit"},"undo":{"redo":"Ponovi","undo":"Vrati"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/bs.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ar.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ar.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ar.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['ar']={"editor":"محرر النص الغني","editorPanel":"لائحة محرر النص المنسق","common":{"editorHelp":"إضغط على ALT + 0 للحصول على المساعدة.","browseServer":"تصفح","url":"الرابط","protocol":"البروتوكول","upload":"رفع","uploadSubmit":"أرسل","image":"صورة","flash":"فلاش","form":"نموذج","checkbox":"خانة إختيار","radio":"زر اختيار","textField":"مربع نص","textarea":"مساحة نصية","hiddenField":"إدراج حقل خفي","button":"زر ضغط","select":"اختار","imageButton":"زر صورة","notSet":"<بدون تحديد>","id":"الرقم","name":"إسم","langDir":"إتجاه النص","langDirLtr":"اليسار لليمين (LTR)","langDirRtl":"اليمين لليسار (RTL)","langCode":"رمز اللغة","longDescr":"الوصف التفصيلى","cssClass":"فئات التنسيق","advisoryTitle":"عنوان التقرير","cssStyle":"نمط","ok":"موافق","cancel":"إلغاء الأمر","close":"أغلق","preview":"استعراض","resize":"تغيير الحجم","generalTab":"عام","advancedTab":"متقدم","validateNumberFailed":"لايوجد نتيجة","confirmNewPage":"ستفقد أي متغييرات اذا لم تقم بحفظها اولا. هل أنت متأكد أنك تريد صفحة جديدة؟","confirmCancel":"بعض الخيارات قد تغيرت. هل أنت متأكد من إغلاق مربع النص؟","options":"خيارات","target":"هدف الرابط","targetNew":"نافذة جديدة","targetTop":"النافذة الأعلى","targetSelf":"داخل النافذة","targetParent":"النافذة الأم","langDirLTR":"اليسار لليمين (LTR)","langDirRTL":"اليمين لليسار (RTL)","styles":"نمط","cssClasses":"فئات التنسيق","width":"العرض","height":"الإرتفاع","align":"محاذاة","left":"يسار","right":"يمين","center":"وسط","justify":"ضبط","alignLeft":"محاذاة إلى اليسار","alignRight":"محاذاة إلى اليمين","alignCenter":"Align Center","alignTop":"أعلى","alignMiddle":"وسط","alignBottom":"أسفل","alignNone":"None","invalidValue":"قيمة غير مفبولة.","invalidHeight":"الارتفاع يجب أن يكون عدداً.","invalidWidth":"العرض يجب أن يكون عدداً.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"قيمة الخانة المخصصة لـ \"%1\" يجب أن تكون رقما موجبا، باستخدام أو من غير استخدام وحدة CSS قياس مقبولة (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"قيمة الخانة المخصصة لـ \"%1\" يجب أن تكون رقما موجبا، باستخدام أو من غير استخدام وحدة HTML قياس مقبولة (px or %).","invalidInlineStyle":"قيمة الخانة المخصصة لـ Inline Style يجب أن تختوي على مجموع واحد أو أكثر بالشكل التالي: \"name : value\", مفصولة بفاصلة منقزطة.","cssLengthTooltip":"أدخل رقما للقيمة بالبكسل أو رقما بوحدة CSS مقبولة (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, غير متاح</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"حقوق النشر &copy; $1. جميع الحقوق محفوظة.","dlgTitle":"عن CKEditor","moreInfo":"للحصول على معلومات الترخيص ، يرجى زيارة موقعنا:"},"basicstyles":{"bold":"عريض","italic":"مائل","strike":"يتوسطه خط","subscript":"منخفض","superscript":"مرتفع","underline":"تسطير"},"bidi":{"ltr":"إتجاه النص من اليسار إلى اليمين","rtl":"إتجاه النص من اليمين إلى اليسار"},"blockquote":{"toolbar":"اقتباس"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (محدد)"},"toolbar":{"toolbarCollapse":"تقليص شريط الأدوت","toolbarExpand":"تمديد شريط الأدوات","toolbarGroups":{"document":"مستند","clipboard":"الحافظة/الرجوع","editing":"تحرير","forms":"نماذج","basicstyles":"نمط بسيط","paragraph":"فقرة","links":"روابط","insert":"إدراج","styles":"أنماط","colors":"ألوان","tools":"أدوات"},"toolbars":"أشرطة أدوات المحرر"},"clipboard":{"copy":"نسخ","copyError":"الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع عمليات النسخ التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+C).","cut":"قص","cutError":"الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع القص التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+X).","paste":"لصق","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"منطقة اللصق","pasteMsg":"Paste your content inside the area below and press OK.","title":"لصق"},"colorbutton":{"auto":"تلقائي","bgColorTitle":"لون الخلفية","colors":{"000":"أسود","800000":"كستنائي","8B4513":"بني فاتح","2F4F4F":"رمادي أردوازي غامق","008080":"أزرق مخضر","000080":"أزرق داكن","4B0082":"كحلي","696969":"رمادي داكن","B22222":"طوبي","A52A2A":"بني","DAA520":"ذهبي داكن","006400":"أخضر داكن","40E0D0":"فيروزي","0000CD":"أزرق متوسط","800080":"بنفسجي غامق","808080":"رمادي","F00":"أحمر","FF8C00":"برتقالي داكن","FFD700":"ذهبي","008000":"أخضر","0FF":"تركواز","00F":"أزرق","EE82EE":"بنفسجي","A9A9A9":"رمادي شاحب","FFA07A":"برتقالي وردي","FFA500":"برتقالي","FFFF00":"أصفر","00FF00":"ليموني","AFEEEE":"فيروزي شاحب","ADD8E6":"أزرق فاتح","DDA0DD":"بنفسجي فاتح","D3D3D3":"رمادي فاتح","FFF0F5":"وردي فاتح","FAEBD7":"أبيض عتيق","FFFFE0":"أصفر فاتح","F0FFF0":"أبيض مائل للأخضر","F0FFFF":"سماوي","F0F8FF":"لبني","E6E6FA":"أرجواني","FFF":"أبيض","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"ألوان إضافية...","panelTitle":"Colors","textColorTitle":"لون النص"},"colordialog":{"clear":"مسح","highlight":"تحديد","options":"اختيارات الألوان","selected":"اللون المختار","title":"اختر اللون"},"templates":{"button":"القوالب","emptyListMsg":"(لم يتم تعريف أي قالب)","insertOption":"استبدال المحتوى","options":"خصائص القوالب","selectPromptMsg":"اختر القالب الذي تود وضعه في المحرر","title":"قوالب المحتوى"},"contextmenu":{"options":"خصائص قائمة السياق"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"هوية","advisoryTitleInputLabel":"عنوان التقرير","cssClassInputLabel":"فئات التنسيق","edit":"تحرير Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"اليسار لليمين (LTR)","langDirLabel":"إتجاه النص","langDirRTLLabel":"اليمين لليسار (RTL)","languageCodeInputLabel":"رمز اللغة","remove":"إزالة Div","styleSelectLabel":"نمط","title":"إحداث Div Container","toolbar":"إحداث Div Container"},"elementspath":{"eleLabel":"مسار العنصر","eleTitle":"عنصر 1%"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"بحث","findOptions":"Find Options","findWhat":"البحث بـ:","matchCase":"مطابقة حالة الأحرف","matchCyclic":"مطابقة دورية","matchWord":"مطابقة بالكامل","notFoundMsg":"لم يتم العثور على النص المحدد.","replace":"إستبدال","replaceAll":"إستبدال الكل","replaceSuccessMsg":"تم استبدال 1% من الحالات ","replaceWith":"إستبدال بـ:","title":"بحث واستبدال"},"fakeobjects":{"anchor":"إرساء","flash":"رسم متحرك بالفلاش","hiddenfield":"إدراج حقل خفي","iframe":"iframe","unknown":"عنصر غير معروف"},"flash":{"access":"دخول النص البرمجي","accessAlways":"دائماً","accessNever":"مطلقاً","accessSameDomain":"نفس النطاق","alignAbsBottom":"أسفل النص","alignAbsMiddle":"وسط السطر","alignBaseline":"على السطر","alignTextTop":"أعلى النص","bgcolor":"لون الخلفية","chkFull":"ملء الشاشة","chkLoop":"تكرار","chkMenu":"تمكين قائمة فيلم الفلاش","chkPlay":"تشغيل تلقائي","flashvars":"متغيرات الفلاش","hSpace":"تباعد أفقي","properties":"خصائص الفلاش","propertiesTab":"الخصائص","quality":"جودة","qualityAutoHigh":"عالية تلقائياً","qualityAutoLow":"منخفضة تلقائياً","qualityBest":"أفضل","qualityHigh":"عالية","qualityLow":"منخفضة","qualityMedium":"متوسطة","scale":"الحجم","scaleAll":"إظهار الكل","scaleFit":"ضبط تام","scaleNoBorder":"بلا حدود","title":"خصائص فيلم الفلاش","vSpace":"تباعد عمودي","validateHSpace":"HSpace يجب أن يكون عدداً.","validateSrc":"فضلاً أدخل عنوان الموقع الذي يشير إليه الرابط","validateVSpace":"VSpace يجب أن يكون عدداً.","windowMode":"وضع النافذة","windowModeOpaque":"غير شفاف","windowModeTransparent":"شفاف","windowModeWindow":"نافذة"},"font":{"fontSize":{"label":"حجم الخط","voiceLabel":"حجم الخط","panelTitle":"حجم الخط"},"label":"خط","panelTitle":"حجم الخط","voiceLabel":"حجم الخط"},"forms":{"button":{"title":"خصائص زر الضغط","text":"القيمة/التسمية","type":"نوع الزر","typeBtn":"زر","typeSbm":"إرسال","typeRst":"إعادة تعيين"},"checkboxAndRadio":{"checkboxTitle":"خصائص خانة الإختيار","radioTitle":"خصائص زر الخيار","value":"القيمة","selected":"محدد","required":"Required"},"form":{"title":"خصائص النموذج","menu":"خصائص النموذج","action":"اسم الملف","method":"الأسلوب","encoding":"تشفير"},"hidden":{"title":"خصائص الحقل المخفي","name":"الاسم","value":"القيمة"},"select":{"title":"خصائص اختيار الحقل","selectInfo":"اختار معلومات","opAvail":"الخيارات المتاحة","value":"القيمة","size":"الحجم","lines":"الأسطر","chkMulti":"السماح بتحديدات متعددة","required":"Required","opText":"النص","opValue":"القيمة","btnAdd":"إضافة","btnModify":"تعديل","btnUp":"أعلى","btnDown":"أسفل","btnSetValue":"إجعلها محددة","btnDelete":"إزالة"},"textarea":{"title":"خصائص مساحة النص","cols":"الأعمدة","rows":"الصفوف"},"textfield":{"title":"خصائص مربع النص","name":"الاسم","value":"القيمة","charWidth":"عرض السمات","maxChars":"اقصى عدد للسمات","required":"Required","type":"نوع المحتوى","typeText":"نص","typePass":"كلمة مرور","typeEmail":"بريد إلكتروني","typeSearch":"بحث","typeTel":"رقم الهاتف","typeUrl":"الرابط"}},"format":{"label":"تنسيق","panelTitle":"تنسيق الفقرة","tag_address":"عنوان","tag_div":"عادي (DIV)","tag_h1":"العنوان 1","tag_h2":"العنوان 2","tag_h3":"العنوان 3","tag_h4":"العنوان 4","tag_h5":"العنوان 5","tag_h6":"العنوان 6","tag_p":"عادي","tag_pre":"منسّق"},"horizontalrule":{"toolbar":"خط فاصل"},"iframe":{"border":"إظهار حدود الإطار","noUrl":"فضلا أكتب رابط الـ iframe","scrolling":"تفعيل أشرطة الإنتقال","title":"خصائص iframe","toolbar":"iframe"},"image":{"alt":"عنوان الصورة","border":"سمك الحدود","btnUpload":"أرسلها للخادم","button2Img":"هل تريد تحويل زر الصورة المختار إلى صورة بسيطة؟","hSpace":"تباعد أفقي","img2Button":"هل تريد تحويل الصورة المختارة إلى زر صورة؟","infoTab":"معلومات الصورة","linkTab":"الرابط","lockRatio":"تناسق الحجم","menu":"خصائص الصورة","resetSize":"إستعادة الحجم الأصلي","title":"خصائص الصورة","titleButton":"خصائص زر الصورة","upload":"رفع","urlMissing":"عنوان مصدر الصورة مفقود","vSpace":"تباعد عمودي","validateBorder":"الإطار يجب أن يكون عددا","validateHSpace":"HSpace يجب أن يكون عدداً.","validateVSpace":"VSpace يجب أن يكون عدداً."},"indent":{"indent":"زيادة المسافة البادئة","outdent":"إنقاص المسافة البادئة"},"smiley":{"options":"خصائص الإبتسامات","title":"إدراج ابتسامات","toolbar":"ابتسامات"},"language":{"button":"حدد اللغة","remove":"حذف اللغة"},"link":{"acccessKey":"مفاتيح الإختصار","advanced":"متقدم","advisoryContentType":"نوع التقرير","advisoryTitle":"عنوان التقرير","anchor":{"toolbar":"إشارة مرجعية","menu":"تحرير الإشارة المرجعية","title":"خصائص الإشارة المرجعية","name":"اسم الإشارة المرجعية","errorName":"الرجاء كتابة اسم الإشارة المرجعية","remove":"إزالة الإشارة المرجعية"},"anchorId":"حسب رقم العنصر","anchorName":"حسب إسم الإشارة المرجعية","charset":"ترميز المادة المطلوبة","cssClasses":"فئات التنسيق","download":"Force Download","displayText":"Display Text","emailAddress":"البريد الإلكتروني","emailBody":"محتوى الرسالة","emailSubject":"موضوع الرسالة","id":"هوية","info":"معلومات الرابط","langCode":"رمز اللغة","langDir":"إتجاه نص اللغة","langDirLTR":"اليسار لليمين (LTR)","langDirRTL":"اليمين لليسار (RTL)","menu":"تحرير الرابط","name":"إسم","noAnchors":"(لا توجد علامات مرجعية في هذا المستند)","noEmail":"الرجاء كتابة الريد الإلكتروني","noUrl":"الرجاء كتابة رابط الموقع","other":"<أخرى>","popupDependent":"تابع (Netscape)","popupFeatures":"خصائص النافذة المنبثقة","popupFullScreen":"ملئ الشاشة (IE)","popupLeft":"التمركز لليسار","popupLocationBar":"شريط العنوان","popupMenuBar":"القوائم الرئيسية","popupResizable":"قابلة التشكيل","popupScrollBars":"أشرطة التمرير","popupStatusBar":"شريط الحالة","popupToolbar":"شريط الأدوات","popupTop":"التمركز للأعلى","rel":"العلاقة","selectAnchor":"اختر علامة مرجعية","styles":"نمط","tabIndex":"الترتيب","target":"هدف الرابط","targetFrame":"<إطار>","targetFrameName":"اسم الإطار المستهدف","targetPopup":"<نافذة منبثقة>","targetPopupName":"اسم النافذة المنبثقة","title":"رابط","toAnchor":"مكان في هذا المستند","toEmail":"بريد إلكتروني","toUrl":"الرابط","toolbar":"رابط","type":"نوع الربط","unlink":"إزالة رابط","upload":"رفع"},"list":{"bulletedlist":"ادخال/حذف تعداد نقطي","numberedlist":"ادخال/حذف تعداد رقمي"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"إدراج فقرة هنا"},"maximize":{"maximize":"تكبير","minimize":"تصغير"},"newpage":{"toolbar":"صفحة جديدة"},"pagebreak":{"alt":"فاصل الصفحة","toolbar":"إدخال صفحة جديدة"},"pastetext":{"button":"لصق كنص بسيط","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"لصق كنص بسيط"},"pastefromword":{"confirmCleanup":"يبدو أن النص المراد لصقه منسوخ من برنامج وورد. هل تود تنظيفه قبل الشروع في عملية اللصق؟","error":"لم يتم مسح المعلومات الملصقة لخلل داخلي","title":"لصق من وورد","toolbar":"لصق من وورد"},"preview":{"preview":"معاينة الصفحة"},"print":{"toolbar":"طباعة"},"removeformat":{"toolbar":"إزالة التنسيقات"},"save":{"toolbar":"حفظ"},"selectall":{"toolbar":"تحديد الكل"},"showblocks":{"toolbar":"مخطط تفصيلي"},"sourcearea":{"toolbar":"المصدر"},"specialchar":{"options":"خيارات الأحرف الخاصة","title":"اختر حرف خاص","toolbar":"إدراج حرف خاص"},"scayt":{"btn_about":"عن SCAYT","btn_dictionaries":"قواميس","btn_disable":"تعطيل SCAYT","btn_enable":"تفعيل SCAYT","btn_langs":"لغات","btn_options":"خيارات","text_title":"تدقيق إملائي أثناء الكتابة"},"stylescombo":{"label":"أنماط","panelTitle":"أنماط التنسيق","panelTitle1":"أنماط الفقرة","panelTitle2":"أنماط مضمنة","panelTitle3":"أنماط الكائن"},"table":{"border":"الحدود","caption":"الوصف","cell":{"menu":"خلية","insertBefore":"إدراج خلية قبل","insertAfter":"إدراج خلية بعد","deleteCell":"حذف خلية","merge":"دمج خلايا","mergeRight":"دمج لليمين","mergeDown":"دمج للأسفل","splitHorizontal":"تقسيم الخلية أفقياً","splitVertical":"تقسيم الخلية عمودياً","title":"خصائص الخلية","cellType":"نوع الخلية","rowSpan":"امتداد الصفوف","colSpan":"امتداد الأعمدة","wordWrap":"التفاف النص","hAlign":"محاذاة أفقية","vAlign":"محاذاة رأسية","alignBaseline":"خط القاعدة","bgColor":"لون الخلفية","borderColor":"لون الحدود","data":"بيانات","header":"عنوان","yes":"نعم","no":"لا","invalidWidth":"عرض الخلية يجب أن يكون عدداً.","invalidHeight":"ارتفاع الخلية يجب أن يكون عدداً.","invalidRowSpan":"امتداد الصفوف يجب أن يكون عدداً صحيحاً.","invalidColSpan":"امتداد الأعمدة يجب أن يكون عدداً صحيحاً.","chooseColor":"اختر"},"cellPad":"المسافة البادئة","cellSpace":"تباعد الخلايا","column":{"menu":"عمود","insertBefore":"إدراج عمود قبل","insertAfter":"إدراج عمود بعد","deleteColumn":"حذف أعمدة"},"columns":"أعمدة","deleteTable":"حذف الجدول","headers":"العناوين","headersBoth":"كلاهما","headersColumn":"العمود الأول","headersNone":"بدون","headersRow":"الصف الأول","invalidBorder":"حجم الحد يجب أن يكون عدداً.","invalidCellPadding":"المسافة البادئة يجب أن تكون عدداً","invalidCellSpacing":"المسافة بين الخلايا يجب أن تكون عدداً.","invalidCols":"عدد الأعمدة يجب أن يكون عدداً أكبر من صفر.","invalidHeight":"ارتفاع الجدول يجب أن يكون عدداً.","invalidRows":"عدد الصفوف يجب أن يكون عدداً أكبر من صفر.","invalidWidth":"عرض الجدول يجب أن يكون عدداً.","menu":"خصائص الجدول","row":{"menu":"صف","insertBefore":"إدراج صف قبل","insertAfter":"إدراج صف بعد","deleteRow":"حذف صفوف"},"rows":"صفوف","summary":"الخلاصة","title":"خصائص الجدول","toolbar":"جدول","widthPc":"بالمئة","widthPx":"بكسل","widthUnit":"وحدة العرض"},"undo":{"redo":"إعادة","undo":"تراجع"},"widget":{"move":"إضغط و إسحب للتحريك","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"تجاهل","btnIgnoreAll":"تجاهل الكل","btnReplace":"تغيير","btnReplaceAll":"تغيير الكل","btnUndo":"تراجع","changeTo":"التغيير إلى","errorLoading":"خطأ في تحميل تطبيق خدمة الاستضافة: %s.","ieSpellDownload":"المدقق الإملائي (الإنجليزي) غير مثبّت. هل تود تحميله الآن؟","manyChanges":"تم إكمال التدقيق الإملائي: تم تغيير %1 من كلمات","noChanges":"تم التدقيق الإملائي: لم يتم تغيير أي كلمة","noMispell":"تم التدقيق الإملائي: لم يتم العثور على أي أخطاء إملائية","noSuggestions":"- لا توجد إقتراحات -","notAvailable":"عفواً، ولكن هذه الخدمة غير متاحة الان","notInDic":"ليست في القاموس","oneChange":"تم التدقيق الإملائي: تم تغيير كلمة واحدة فقط","progress":"جاري التدقيق الاملائى","title":"التدقيق الإملائي","toolbar":"تدقيق إملائي"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ar.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/de-ch.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/de-ch.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/de-ch.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['de-ch']={"editor":"WYSIWYG-Editor","editorPanel":"WYSIWYG-Editor-Leiste","common":{"editorHelp":"Drücken Sie ALT 0 für Hilfe","browseServer":"Server durchsuchen","url":"URL","protocol":"Protokoll","upload":"Hochladen","uploadSubmit":"Zum Server senden","image":"Bild","flash":"Flash","form":"Formular","checkbox":"Kontrollbox","radio":"Optionsfeld","textField":"Textfeld","textarea":"Textfeld","hiddenField":"Verstecktes Feld","button":"Schaltfläche","select":"Auswahlfeld","imageButton":"Bildschaltfläche","notSet":"<nicht festgelegt>","id":"Kennung","name":"Name","langDir":"Schreibrichtung","langDirLtr":"Links nach Rechts (LTR)","langDirRtl":"Rechts nach Links (RTL)","langCode":"Sprachcode","longDescr":"Langbeschreibungs-URL","cssClass":"Formatvorlagenklassen","advisoryTitle":"Titel Beschreibung","cssStyle":"Stil","ok":"OK","cancel":"Abbrechen","close":"Schliessen","preview":"Vorschau","resize":"Grösse ändern","generalTab":"Allgemein","advancedTab":"Erweitert","validateNumberFailed":"Dieser Wert ist keine Nummer.","confirmNewPage":"Alle nicht gespeicherten Änderungen gehen verlohren. Sind Sie sicher die neue Seite zu laden?","confirmCancel":"Einige Optionen wurden geändert. Wollen Sie den Dialog dennoch schliessen?","options":"Optionen","target":"Zielseite","targetNew":"Neues Fenster (_blank)","targetTop":"Oberstes Fenster (_top)","targetSelf":"Gleiches Fenster (_self)","targetParent":"Oberes Fenster (_parent)","langDirLTR":"Links nach Rechts (LNR)","langDirRTL":"Rechts nach Links (RNL)","styles":"Style","cssClasses":"Stylesheet Klasse","width":"Breite","height":"Höhe","align":"Ausrichtung","left":"Links","right":"Rechts","center":"Zentriert","justify":"Blocksatz","alignLeft":"Linksbündig","alignRight":"Rechtsbündig","alignCenter":"Align Center","alignTop":"Oben","alignMiddle":"Mitte","alignBottom":"Unten","alignNone":"Keine","invalidValue":"Ungültiger Wert.","invalidHeight":"Höhe muss eine Zahl sein.","invalidWidth":"Breite muss eine Zahl sein.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Wert spezifiziert für \"%1\" Feld muss ein positiver numerischer Wert sein mit oder ohne korrekte CSS Messeinheit (px, %, in, cm, mm, em, ex, pt oder pc).","invalidHtmlLength":"Wert spezifiziert für \"%1\" Feld muss ein positiver numerischer Wert sein mit oder ohne korrekte HTML Messeinheit (px oder %).","invalidInlineStyle":"Wert spezifiziert für inline Stilart muss enthalten ein oder mehr Tupels mit dem Format \"Name : Wert\" getrennt mit Semikolons.","cssLengthTooltip":"Gebe eine Zahl ein für ein Wert in pixels oder eine Zahl mit einer korrekten CSS Messeinheit (px, %, in, cm, mm, em, ex, pt oder pc).","unavailable":"%1<span class=\"cke_accessibility\">, nicht verfügbar</span>","keyboard":{"8":"Rücktaste","13":"Eingabe","16":"Umschalt","17":"Strg","18":"Alt","32":"Space","35":"Ende","36":"Pos1","46":"Entfernen","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Alle Rechte vorbehalten.","dlgTitle":"Über CKEditor 4","moreInfo":"Für Informationen über unsere Lizenzbestimmungen besuchen sie bitte unsere Webseite:"},"basicstyles":{"bold":"Fett","italic":"Kursiv","strike":"Durchgestrichen","subscript":"Tiefgestellt","superscript":"Hochgestellt","underline":"Unterstrichen"},"bidi":{"ltr":"Leserichtung von Links nach Rechts","rtl":"Leserichtung von Rechts nach Links"},"blockquote":{"toolbar":"Zitatblock"},"notification":{"closed":"Benachrichtigung geschlossen."},"button":{"selectedLabel":"%1 (Ausgewählt)"},"toolbar":{"toolbarCollapse":"Werkzeugleiste einklappen","toolbarExpand":"Werkzeugleiste ausklappen","toolbarGroups":{"document":"Dokument","clipboard":"Zwischenablage/Rückgängig","editing":"Editieren","forms":"Formulare","basicstyles":"Grundstile","paragraph":"Absatz","links":"Links","insert":"Einfügen","styles":"Stile","colors":"Farben","tools":"Werkzeuge"},"toolbars":"Editor Werkzeugleisten"},"clipboard":{"copy":"Kopieren","copyError":"Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage über STRG-C (kopieren).","cut":"Ausschneiden","cutError":"Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).","paste":"Einfügen","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Einfügebereich","pasteMsg":"Paste your content inside the area below and press OK.","title":"Einfügen"},"colorbutton":{"auto":"Automatisch","bgColorTitle":"Hintergrundfarbe","colors":{"000":"Schwarz","800000":"Kastanienbraun","8B4513":"Braun","2F4F4F":"Dunkles Schiefergrau","008080":"Blaugrün","000080":"Marineblau","4B0082":"Indigo","696969":"Dunkelgrau","B22222":"Ziegelrot","A52A2A":"Braun","DAA520":"Goldgelb","006400":"Dunkelgrün","40E0D0":"Türkis","0000CD":"Mittelblau","800080":"Lila","808080":"Grau","F00":"Rot","FF8C00":"Dunkelorange","FFD700":"Gold","008000":"Grün","0FF":"Cyan","00F":"Blau","EE82EE":"Violett","A9A9A9":"Dunkelgrau","FFA07A":"Helles Lachsrosa","FFA500":"Orange","FFFF00":"Gelb","00FF00":"Lime","AFEEEE":"Blasstürkis","ADD8E6":"Hellblau","DDA0DD":"Pflaumenblau","D3D3D3":"Hellgrau","FFF0F5":"Lavendel","FAEBD7":"Antik Weiss","FFFFE0":"Hellgelb","F0FFF0":"Honigtau","F0FFFF":"Azurblau","F0F8FF":"Alice Blau","E6E6FA":"Lavendel","FFF":"Weiss","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Weitere Farben...","panelTitle":"Farben","textColorTitle":"Textfarbe"},"colordialog":{"clear":"Entfernen","highlight":"Hervorheben","options":"Farboptionen","selected":"Ausgewählte Farbe","title":"Farbe auswählen"},"templates":{"button":"Vorlagen","emptyListMsg":"(Keine Vorlagen definiert)","insertOption":"Aktuelle Inhalte ersetzen","options":"Vorlagenoptionen","selectPromptMsg":"Klicken Sie auf eine Vorlage, um sie im Editor zu öffnen","title":"Inhaltsvorlagen"},"contextmenu":{"options":"Kontextmenüoptionen"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Kennung","advisoryTitleInputLabel":"Tooltip","cssClassInputLabel":"Formatvorlagenklasse","edit":"Div bearbeiten","inlineStyleInputLabel":"Inline Stil","langDirLTRLabel":"Links nach Rechs (LTR)","langDirLabel":"Sprachrichtung","langDirRTLLabel":"Rechs nach Links (RTL)","languageCodeInputLabel":"Sprachcode","remove":"Div entfernen","styleSelectLabel":"Stil","title":"Div Container erzeugen","toolbar":"Div Container erzeugen"},"elementspath":{"eleLabel":"Elementepfad","eleTitle":"%1 Element"},"filetools":{"loadError":"Während dem Lesen der Datei ist ein Fehler aufgetreten.","networkError":"Während dem Hochladen der Datei ist ein Netzwerkfehler aufgetreten.","httpError404":"Während dem Hochladen der Datei ist ein HTTP-Fehler aufgetreten (404: Datei nicht gefunden).","httpError403":"Während dem Hochladen der Datei ist ein HTTP-Fehler aufgetreten (403: Verboten).","httpError":"Während dem Hochladen der Datei ist ein HTTP-Fehler aufgetreten (Fehlerstatus: %1).","noUrlError":"Hochlade-URL ist nicht definiert.","responseError":"Falsche Antwort des Servers."},"find":{"find":"Suchen","findOptions":"Suchoptionen","findWhat":"Suche nach:","matchCase":"Gross-/Kleinschreibung beachten","matchCyclic":"Zyklische Suche","matchWord":"Nur ganze Worte suchen","notFoundMsg":"Der angegebene Text wurde nicht gefunden.","replace":"Ersetzen","replaceAll":"Alle ersetzen","replaceSuccessMsg":"%1 Vorkommen ersetzt.","replaceWith":"Ersetze mit:","title":"Suchen und Ersetzen"},"fakeobjects":{"anchor":"Anker","flash":"Flash-Animation","hiddenfield":"Verstecktes Feld","iframe":"IFrame","unknown":"Unbekanntes Objekt"},"flash":{"access":"Skriptzugriff","accessAlways":"Immer","accessNever":"Nie","accessSameDomain":"Gleiche Domain","alignAbsBottom":"Abs Unten","alignAbsMiddle":"Abs Mitte","alignBaseline":"Basislinie","alignTextTop":"Text oben","bgcolor":"Hintergrundfarbe","chkFull":"Vollbildmodus erlauben","chkLoop":"Endlosschleife","chkMenu":"Flash-Menü aktivieren","chkPlay":"Automatisch Abspielen","flashvars":"Variablen für Flash","hSpace":"Horizontal-Abstand","properties":"Flash-Eigenschaften","propertiesTab":"Eigenschaften","quality":"Qualität","qualityAutoHigh":"Auto Hoch","qualityAutoLow":"Auto Niedrig","qualityBest":"Beste","qualityHigh":"Hoch","qualityLow":"Niedrig","qualityMedium":"Mittel","scale":"Skalierung","scaleAll":"Alles anzeigen","scaleFit":"Passgenau","scaleNoBorder":"Ohne Rand","title":"Flash-Eigenschaften","vSpace":"Vertikal-Abstand","validateHSpace":"HSpace muss eine Zahl sein.","validateSrc":"URL darf nicht leer sein.","validateVSpace":"VSpace muss eine Zahl sein.","windowMode":"Fenstermodus","windowModeOpaque":"Deckend","windowModeTransparent":"Transparent","windowModeWindow":"Fenster"},"font":{"fontSize":{"label":"Grösse","voiceLabel":"Schrifgrösse","panelTitle":"Schriftgrösse"},"label":"Schriftart","panelTitle":"Schriftartname","voiceLabel":"Schriftart"},"forms":{"button":{"title":"Schaltflächeneigenschaften","text":"Text (Wert)","type":"Typ","typeBtn":"Button","typeSbm":"Absenden","typeRst":"Zurücksetzen"},"checkboxAndRadio":{"checkboxTitle":"Kontrollboxeigenschaften","radioTitle":"Optionsfeldeigenschaften","value":"Wert","selected":"Ausgewählt","required":"Erforderlich"},"form":{"title":"Formulareigenschaften","menu":"Formulareigenschaften","action":"Aktion","method":"Methode","encoding":"Kodierung"},"hidden":{"title":"Versteckte Feldeigenschaften","name":"Name","value":"Wert"},"select":{"title":"Auswahlfeldeigenschaften","selectInfo":"Info auswählen","opAvail":"Verfügbare Optionen","value":"Wert","size":"Grösse","lines":"Linien","chkMulti":"Mehrfachauswahl erlauben","required":"Erforderlich","opText":"Text","opValue":"Wert","btnAdd":"Hinzufügen","btnModify":"Ändern","btnUp":"Hoch","btnDown":"Runter","btnSetValue":"Als ausgewählten Wert festlegen","btnDelete":"Entfernen"},"textarea":{"title":"Textfeldeigenschaften","cols":"Spalten","rows":"Reihen"},"textfield":{"title":"Textfeldeigenschaften","name":"Name","value":"Wert","charWidth":"Zeichenbreite","maxChars":"Max. Zeichen","required":"Erforderlich","type":"Typ","typeText":"Text","typePass":"Passwort","typeEmail":"E-mail","typeSearch":"Suche","typeTel":"Telefonnummer","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Absatzformat","tag_address":"Adresse","tag_div":"Normal (DIV)","tag_h1":"Überschrift 1","tag_h2":"Überschrift 2","tag_h3":"Überschrift 3","tag_h4":"Überschrift 4","tag_h5":"Überschrift 5","tag_h6":"Überschrift 6","tag_p":"Normal","tag_pre":"Formatiert"},"horizontalrule":{"toolbar":"Horizontale Linie einfügen"},"iframe":{"border":"Rahmen anzeigen","noUrl":"Bitte geben Sie die IFrame-URL an","scrolling":"Rollbalken anzeigen","title":"IFrame-Eigenschaften","toolbar":"IFrame"},"image":{"alt":"Alternativer Text","border":"Rahmen","btnUpload":"Zum Server senden","button2Img":"Möchten Sie die ausgewählte Bildschaltfläche in ein einfaches Bild umwandeln?","hSpace":"Horizontal-Abstand","img2Button":"Möchten Sie das ausgewählte Bild in eine Bildschaltfläche umwandeln?","infoTab":"Bildinfo","linkTab":"Link","lockRatio":"Grössenverhältnis beibehalten","menu":"Bildeigenschaften","resetSize":"Grösse zurücksetzen","title":"Bildeigenschaften","titleButton":"Bildschaltflächeneigenschaften","upload":"Hochladen","urlMissing":"Bildquellen-URL fehlt.","vSpace":"Vertikal-Abstand","validateBorder":"Rahmen muss eine ganze Zahl sein.","validateHSpace":"Horizontal-Abstand muss eine ganze Zahl sein.","validateVSpace":"Vertikal-Abstand muss eine ganze Zahl sein."},"indent":{"indent":"Einzug erhöhen","outdent":"Einzug verringern"},"smiley":{"options":"Smiley-Optionen","title":"Smiley auswählen","toolbar":"Smiley"},"language":{"button":"Sprache festlegen","remove":"Sprache entfernen"},"link":{"acccessKey":"Zugriffstaste","advanced":"Erweitert","advisoryContentType":"Inhaltstyp","advisoryTitle":"Titel Beschreibung","anchor":{"toolbar":"Anker","menu":"Anker bearbeiten","title":"Ankereigenschaften","name":"Ankername","errorName":"Bitte geben Sie den Namen des Ankers ein","remove":"Anker entfernen"},"anchorId":"Nach Elementkennung","anchorName":"Nach Ankername","charset":"Verknüpfter Ressourcenzeichensatz","cssClasses":"Formatvorlagenklasse","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail-Adresse","emailBody":"Nachrichtentext","emailSubject":"Betreffzeile","id":"Kennung","info":"Linkinfo","langCode":"Sprachcode","langDir":"Schreibrichtung","langDirLTR":"Links nach Rechts (LTR)","langDirRTL":"Rechts nach Links (RTL)","menu":"Link bearbeiten","name":"Name","noAnchors":"(Keine Anker im Dokument vorhanden)","noEmail":"Bitte geben Sie E-Mail-Adresse an","noUrl":"Bitte geben Sie die Link-URL an","other":"<andere>","popupDependent":"Abhängig (Netscape)","popupFeatures":"Pop-up Fenstereigenschaften","popupFullScreen":"Vollbild (IE)","popupLeft":"Linke Position","popupLocationBar":"Adressleiste","popupMenuBar":"Menüleiste","popupResizable":"Grösse änderbar","popupScrollBars":"Rollbalken","popupStatusBar":"Statusleiste","popupToolbar":"Werkzeugleiste","popupTop":"Obere Position","rel":"Beziehung","selectAnchor":"Anker auswählen","styles":"Style","tabIndex":"Tab-Index","target":"Zielseite","targetFrame":"<Frame>","targetFrameName":"Ziel-Fenster-Name","targetPopup":"<Pop-up Fenster>","targetPopupName":"Pop-up Fenster-Name","title":"Link","toAnchor":"Anker in dieser Seite","toEmail":"E-Mail","toUrl":"URL","toolbar":"Link einfügen/editieren","type":"Link-Typ","unlink":"Link entfernen","upload":"Hochladen"},"list":{"bulletedlist":"Liste","numberedlist":"Nummerierte Liste einfügen/entfernen"},"liststyle":{"armenian":"Armenische Nummerierung","bulletedTitle":"Aufzählungslisteneigenschaften","circle":"Ring","decimal":"Dezimal (1, 2, 3, etc.)","decimalLeadingZero":"Dezimal mit führender Null (01, 02, 03, usw.)","disc":"Kreis","georgian":"Georgische Nummerierung (an, ban, gan, usw.)","lowerAlpha":"Klein Alpha (a, b, c, d, e, usw.)","lowerGreek":"Klein griechisch (alpha, beta, gamma, usw.)","lowerRoman":"Klein römisch (i, ii, iii, iv, v, usw.)","none":"Keine","notset":"<nicht festgelegt>","numberedTitle":"Nummerierte Listeneigenschaften","square":"Quadrat","start":"Start","type":"Typ","upperAlpha":"Gross alpha (A, B, C, D, E, etc.)","upperRoman":"Gross römisch (I, II, III, IV, V, usw.)","validateStartNumber":"Listenstartnummer muss eine ganze Zahl sein."},"magicline":{"title":"Absatz hier einfügen"},"maximize":{"maximize":"Maximieren","minimize":"Minimieren"},"newpage":{"toolbar":"Neue Seite"},"pagebreak":{"alt":"Seitenumbruch","toolbar":"Seitenumbruch zum Drucken einfügen"},"pastetext":{"button":"Als Klartext einfügen","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Als Klartext einfügen"},"pastefromword":{"confirmCleanup":"Der Text, den Sie einfügen möchten, scheint aus MS-Word kopiert zu sein. Möchten Sie ihn zuvor bereinigen lassen?","error":"Aufgrund eines internen Fehlers war es nicht möglich die eingefügten Daten zu bereinigen","title":"Aus Word einfügen","toolbar":"Aus Word einfügen"},"preview":{"preview":"Vorschau"},"print":{"toolbar":"Drucken"},"removeformat":{"toolbar":"Formatierung entfernen"},"save":{"toolbar":"Speichern"},"selectall":{"toolbar":"Alles auswählen"},"showblocks":{"toolbar":"Blöcke anzeigen"},"sourcearea":{"toolbar":"Quellcode"},"specialchar":{"options":"Sonderzeichenoptionen","title":"Sonderzeichen auswählen","toolbar":"Sonderzeichen einfügen"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Stil","panelTitle":"Formatierungsstile","panelTitle1":"Blockstile","panelTitle2":"Inline Stilart","panelTitle3":"Objektstile"},"table":{"border":"Rahmengrösse","caption":"Überschrift","cell":{"menu":"Zelle","insertBefore":"Zelle davor einfügen","insertAfter":"Zelle danach einfügen","deleteCell":"Zelle löschen","merge":"Zellen verbinden","mergeRight":"Nach rechts verbinden","mergeDown":"Nach unten verbinden","splitHorizontal":"Zelle horizontal teilen","splitVertical":"Zelle vertikal teilen","title":"Zelleneigenschaften","cellType":"Zellart","rowSpan":"Anzahl Zeilen verbinden","colSpan":"Anzahl Spalten verbinden","wordWrap":"Zeilenumbruch","hAlign":"Horizontale Ausrichtung","vAlign":"Vertikale Ausrichtung","alignBaseline":"Grundlinie","bgColor":"Hintergrundfarbe","borderColor":"Rahmenfarbe","data":"Daten","header":"Überschrift","yes":"Ja","no":"Nein","invalidWidth":"Zellenbreite muss eine Zahl sein.","invalidHeight":"Zellenhöhe muss eine Zahl sein.","invalidRowSpan":"\"Anzahl Zeilen verbinden\" muss eine Ganzzahl sein.","invalidColSpan":"\"Anzahl Spalten verbinden\" muss eine Ganzzahl sein.","chooseColor":"Wählen"},"cellPad":"Zellenabstand innen","cellSpace":"Zellenabstand aussen","column":{"menu":"Spalte","insertBefore":"Spalte links davor einfügen","insertAfter":"Spalte rechts danach einfügen","deleteColumn":"Spalte löschen"},"columns":"Spalte","deleteTable":"Tabelle löschen","headers":"Kopfzeile","headersBoth":"Beide","headersColumn":"Erste Spalte","headersNone":"Keine","headersRow":"Erste Zeile","invalidBorder":"Die Rahmenbreite muss eine Zahl sein.","invalidCellPadding":"Der Zellenabstand innen muss eine positive Zahl sein.","invalidCellSpacing":"Der Zellenabstand aussen muss eine positive Zahl sein.","invalidCols":"Die Anzahl der Spalten muß grösser als 0 sein..","invalidHeight":"Die Tabellenbreite muss eine Zahl sein.","invalidRows":"Die Anzahl der Zeilen muß grösser als 0 sein.","invalidWidth":"Die Tabellenbreite muss eine Zahl sein.","menu":"Tabellen-Eigenschaften","row":{"menu":"Zeile","insertBefore":"Zeile oberhalb einfügen","insertAfter":"Zeile unterhalb einfügen","deleteRow":"Zeile entfernen"},"rows":"Zeile","summary":"Inhaltsübersicht","title":"Tabellen-Eigenschaften","toolbar":"Tabelle","widthPc":"%","widthPx":"Pixel","widthUnit":"Breite Einheit"},"undo":{"redo":"Wiederherstellen","undo":"Rückgängig"},"widget":{"move":"Zum Verschieben anwählen und ziehen","label":"%1 widget"},"uploadwidget":{"abort":"Hochladen durch den Benutzer abgebrochen.","doneOne":"Datei erfolgreich hochgeladen.","doneMany":"%1 Dateien erfolgreich hochgeladen.","uploadOne":"Datei wird hochgeladen ({percentage}%)...","uploadMany":"Dateien werden hochgeladen, {current} von {max} fertig ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/de-ch.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/hi.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/hi.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/hi.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['hi']={"editor":"रिच टेक्स्ट एडिटर","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"मदद के लिये ALT 0 दबाए","browseServer":"सर्वर ब्राउज़ करें","url":"URL","protocol":"प्रोटोकॉल","upload":"अपलोड","uploadSubmit":"इसे सर्वर को भेजें","image":"तस्वीर","flash":"फ़्लैश","form":"फ़ॉर्म","checkbox":"चॅक बॉक्स","radio":"रेडिओ बटन","textField":"टेक्स्ट फ़ील्ड","textarea":"टेक्स्ट एरिया","hiddenField":"गुप्त फ़ील्ड","button":"बटन","select":"चुनाव फ़ील्ड","imageButton":"तस्वीर बटन","notSet":"<सॅट नहीं>","id":"Id","name":"नाम","langDir":"भाषा लिखने की दिशा","langDirLtr":"बायें से दायें (LTR)","langDirRtl":"दायें से बायें (RTL)","langCode":"भाषा कोड","longDescr":"अधिक विवरण के लिए URL","cssClass":"स्टाइल-शीट क्लास","advisoryTitle":"परामर्श शीर्शक","cssStyle":"स्टाइल","ok":"ठीक है","cancel":"रद्द करें","close":"Close","preview":"प्रीव्यू","resize":"Resize","generalTab":"सामान्य","advancedTab":"ऍड्वान्स्ड","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"टार्गेट","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"बायें से दायें (LTR)","langDirRTL":"दायें से बायें (RTL)","styles":"स्टाइल","cssClasses":"स्टाइल-शीट क्लास","width":"चौड़ाई","height":"ऊँचाई","align":"ऍलाइन","left":"दायें","right":"दायें","center":"बीच में","justify":"ब्लॉक जस्टीफ़ाई","alignLeft":"बायीं तरफ","alignRight":"दायीं तरफ","alignCenter":"Align Center","alignTop":"ऊपर","alignMiddle":"मध्य","alignBottom":"नीचे","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"बोल्ड","italic":"इटैलिक","strike":"स्ट्राइक थ्रू","subscript":"अधोलेख","superscript":"अभिलेख","underline":"रेखांकण"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"ब्लॉक-कोट"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"एडिटर टूलबार"},"clipboard":{"copy":"कॉपी","copyError":"आपके ब्राआउज़र की सुरक्षा सॅटिन्ग्स ने कॉपी करने की अनुमति नहीं प्रदान की है। (Ctrl/Cmd+C) का प्रयोग करें।","cut":"कट","cutError":"आपके ब्राउज़र की सुरक्षा सॅटिन्ग्स ने कट करने की अनुमति नहीं प्रदान की है। (Ctrl/Cmd+X) का प्रयोग करें।","paste":"पेस्ट","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK.","title":"पेस्ट"},"colorbutton":{"auto":"स्वचालित","bgColorTitle":"बैक्ग्राउन्ड रंग","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"और रंग...","panelTitle":"Colors","textColorTitle":"टेक्स्ट रंग"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"टॅम्प्लेट","emptyListMsg":"(कोई टॅम्प्लेट डिफ़ाइन नहीं किया गया है)","insertOption":"मूल शब्दों को बदलें","options":"Template Options","selectPromptMsg":"ऍडिटर में ओपन करने हेतु टॅम्प्लेट चुनें(वर्तमान कन्टॅन्ट सेव नहीं होंगे):","title":"कन्टेन्ट टॅम्प्लेट"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"परामर्श शीर्शक","cssClassInputLabel":"स्टाइल-शीट क्लास","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"बायें से दायें (LTR)","langDirLabel":"भाषा लिखने की दिशा","langDirRTLLabel":"दायें से बायें (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"स्टाइल","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"खोजें","findOptions":"Find Options","findWhat":"यह खोजें:","matchCase":"केस मिलायें","matchCyclic":"Match cyclic","matchWord":"पूरा शब्द मिलायें","notFoundMsg":"आपके द्वारा दिया गया टेक्स्ट नहीं मिला","replace":"रीप्लेस","replaceAll":"सभी रिप्लेस करें","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"इससे रिप्लेस करें:","title":"खोजें और बदलें"},"fakeobjects":{"anchor":"ऐंकर इन्सर्ट/संपादन","flash":"Flash Animation","hiddenfield":"गुप्त फ़ील्ड","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs नीचे","alignAbsMiddle":"Abs ऊपर","alignBaseline":"मूल रेखा","alignTextTop":"टेक्स्ट ऊपर","bgcolor":"बैक्ग्राउन्ड रंग","chkFull":"Allow Fullscreen","chkLoop":"लूप","chkMenu":"फ़्लैश मॅन्यू का प्रयोग करें","chkPlay":"ऑटो प्ले","flashvars":"Variables for Flash","hSpace":"हॉरिज़ॉन्टल स्पेस","properties":"फ़्लैश प्रॉपर्टीज़","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"स्केल","scaleAll":"सभी दिखायें","scaleFit":"बिल्कुल फ़िट","scaleNoBorder":"कोई बॉर्डर नहीं","title":"फ़्लैश प्रॉपर्टीज़","vSpace":"वर्टिकल स्पेस","validateHSpace":"HSpace must be a number.","validateSrc":"लिंक URL टाइप करें","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"साइज़","voiceLabel":"Font Size","panelTitle":"साइज़"},"label":"फ़ॉन्ट","panelTitle":"फ़ॉन्ट","voiceLabel":"फ़ॉन्ट"},"forms":{"button":{"title":"बटन प्रॉपर्टीज़","text":"टेक्स्ट (वैल्यू)","type":"प्रकार","typeBtn":"बटन","typeSbm":"सब्मिट","typeRst":"रिसेट"},"checkboxAndRadio":{"checkboxTitle":"चॅक बॉक्स प्रॉपर्टीज़","radioTitle":"रेडिओ बटन प्रॉपर्टीज़","value":"वैल्यू","selected":"सॅलॅक्टॅड","required":"Required"},"form":{"title":"फ़ॉर्म प्रॉपर्टीज़","menu":"फ़ॉर्म प्रॉपर्टीज़","action":"क्रिया","method":"तरीका","encoding":"Encoding"},"hidden":{"title":"गुप्त फ़ील्ड प्रॉपर्टीज़","name":"नाम","value":"वैल्यू"},"select":{"title":"चुनाव फ़ील्ड प्रॉपर्टीज़","selectInfo":"सूचना","opAvail":"उपलब्ध विकल्प","value":"वैल्यू","size":"साइज़","lines":"पंक्तियाँ","chkMulti":"एक से ज्यादा विकल्प चुनने दें","required":"Required","opText":"टेक्स्ट","opValue":"वैल्यू","btnAdd":"जोड़ें","btnModify":"बदलें","btnUp":"ऊपर","btnDown":"नीचे","btnSetValue":"चुनी गई वैल्यू सॅट करें","btnDelete":"डिलीट"},"textarea":{"title":"टेक्स्त एरिया प्रॉपर्टीज़","cols":"कालम","rows":"पंक्तियां"},"textfield":{"title":"टेक्स्ट फ़ील्ड प्रॉपर्टीज़","name":"नाम","value":"वैल्यू","charWidth":"करॅक्टर की चौढ़ाई","maxChars":"अधिकतम करॅक्टर","required":"Required","type":"टाइप","typeText":"टेक्स्ट","typePass":"पास्वर्ड","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"फ़ॉर्मैट","panelTitle":"फ़ॉर्मैट","tag_address":"पता","tag_div":"शीर्षक (DIV)","tag_h1":"शीर्षक 1","tag_h2":"शीर्षक 2","tag_h3":"शीर्षक 3","tag_h4":"शीर्षक 4","tag_h5":"शीर्षक 5","tag_h6":"शीर्षक 6","tag_p":"साधारण","tag_pre":"फ़ॉर्मैटॅड"},"horizontalrule":{"toolbar":"हॉरिज़ॉन्टल रेखा इन्सर्ट करें"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"वैकल्पिक टेक्स्ट","border":"बॉर्डर","btnUpload":"इसे सर्वर को भेजें","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"हॉरिज़ॉन्टल स्पेस","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"तस्वीर की जानकारी","linkTab":"लिंक","lockRatio":"लॉक अनुपात","menu":"तस्वीर प्रॉपर्टीज़","resetSize":"रीसॅट साइज़","title":"तस्वीर प्रॉपर्टीज़","titleButton":"तस्वीर बटन प्रॉपर्टीज़","upload":"अपलोड","urlMissing":"Image source URL is missing.","vSpace":"वर्टिकल स्पेस","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"इन्डॅन्ट बढ़ायें","outdent":"इन्डॅन्ट कम करें"},"smiley":{"options":"Smiley Options","title":"स्माइली इन्सर्ट करें","toolbar":"स्माइली"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"ऍक्सॅस की","advanced":"ऍड्वान्स्ड","advisoryContentType":"परामर्श कन्टॅन्ट प्रकार","advisoryTitle":"परामर्श शीर्शक","anchor":{"toolbar":"ऐंकर इन्सर्ट/संपादन","menu":"ऐंकर प्रॉपर्टीज़","title":"ऐंकर प्रॉपर्टीज़","name":"ऐंकर का नाम","errorName":"ऐंकर का नाम टाइप करें","remove":"Remove Anchor"},"anchorId":"ऍलीमॅन्ट Id से","anchorName":"ऐंकर नाम से","charset":"लिंक रिसोर्स करॅक्टर सॅट","cssClasses":"स्टाइल-शीट क्लास","download":"Force Download","displayText":"Display Text","emailAddress":"ई-मेल पता","emailBody":"संदेश","emailSubject":"संदेश विषय","id":"Id","info":"लिंक ","langCode":"भाषा लिखने की दिशा","langDir":"भाषा लिखने की दिशा","langDirLTR":"बायें से दायें (LTR)","langDirRTL":"दायें से बायें (RTL)","menu":"लिंक संपादन","name":"नाम","noAnchors":"(डॉक्यूमॅन्ट में ऐंकर्स की संख्या)","noEmail":"ई-मेल पता टाइप करें","noUrl":"लिंक URL टाइप करें","other":"<अन्य>","popupDependent":"डिपेन्डॅन्ट (Netscape)","popupFeatures":"पॉप-अप विन्डो फ़ीचर्स","popupFullScreen":"फ़ुल स्क्रीन (IE)","popupLeft":"बायीं तरफ","popupLocationBar":"लोकेशन बार","popupMenuBar":"मॅन्यू बार","popupResizable":"आकार बदलने लायक","popupScrollBars":"स्क्रॉल बार","popupStatusBar":"स्टेटस बार","popupToolbar":"टूल बार","popupTop":"दायीं तरफ","rel":"संबंध","selectAnchor":"ऐंकर चुनें","styles":"स्टाइल","tabIndex":"टैब इन्डॅक्स","target":"टार्गेट","targetFrame":"<फ़्रेम>","targetFrameName":"टार्गेट फ़्रेम का नाम","targetPopup":"<पॉप-अप विन्डो>","targetPopupName":"पॉप-अप विन्डो का नाम","title":"लिंक","toAnchor":"इस पेज का ऐंकर","toEmail":"ई-मेल","toUrl":"URL","toolbar":"लिंक इन्सर्ट/संपादन","type":"लिंक प्रकार","unlink":"लिंक हटायें","upload":"अपलोड"},"list":{"bulletedlist":"बुलॅट सूची","numberedlist":"अंकीय सूची"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"मेक्सिमाईज़","minimize":"मिनिमाईज़"},"newpage":{"toolbar":"नया पेज"},"pagebreak":{"alt":"पेज ब्रेक","toolbar":"पेज ब्रेक इन्सर्ट् करें"},"pastetext":{"button":"पेस्ट (सादा टॅक्स्ट)","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"पेस्ट (सादा टॅक्स्ट)"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"पेस्ट (वर्ड से)","toolbar":"पेस्ट (वर्ड से)"},"preview":{"preview":"प्रीव्यू"},"print":{"toolbar":"प्रिन्ट"},"removeformat":{"toolbar":"फ़ॉर्मैट हटायें"},"save":{"toolbar":"सेव"},"selectall":{"toolbar":"सब सॅलॅक्ट करें"},"showblocks":{"toolbar":"ब्लॉक दिखायें"},"sourcearea":{"toolbar":"सोर्स"},"specialchar":{"options":"विशेष चरित्र विकल्प","title":"विशेष करॅक्टर चुनें","toolbar":"विशेष करॅक्टर इन्सर्ट करें"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"स्टाइल","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"बॉर्डर साइज़","caption":"शीर्षक","cell":{"menu":"खाना","insertBefore":"पहले सैल डालें","insertAfter":"बाद में सैल डालें","deleteCell":"सैल डिलीट करें","merge":"सैल मिलायें","mergeRight":"बाँया विलय","mergeDown":"नीचे विलय करें","splitHorizontal":"सैल को क्षैतिज स्थिति में विभाजित करें","splitVertical":"सैल को लम्बाकार में विभाजित करें","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"सैल पैडिंग","cellSpace":"सैल अंतर","column":{"menu":"कालम","insertBefore":"पहले कालम डालें","insertAfter":"बाद में कालम डालें","deleteColumn":"कालम डिलीट करें"},"columns":"कालम","deleteTable":"टेबल डिलीट करें","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a positive number.","invalidCellSpacing":"Cell spacing must be a positive number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"टेबल प्रॉपर्टीज़","row":{"menu":"पंक्ति","insertBefore":"पहले पंक्ति डालें","insertAfter":"बाद में पंक्ति डालें","deleteRow":"पंक्तियाँ डिलीट करें"},"rows":"पंक्तियाँ","summary":"सारांश","title":"टेबल प्रॉपर्टीज़","toolbar":"टेबल","widthPc":"प्रतिशत","widthPx":"पिक्सैल","widthUnit":"width unit"},"undo":{"redo":"रीडू","undo":"अन्डू"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"इग्नोर","btnIgnoreAll":"सभी इग्नोर करें","btnReplace":"रिप्लेस","btnReplaceAll":"सभी रिप्लेस करें","btnUndo":"अन्डू","changeTo":"इसमें बदलें","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"स्पॅल-चॅकर इन्स्टाल नहीं किया गया है। क्या आप इसे डाउनलोड करना चाहेंगे?","manyChanges":"वर्तनी की जाँच : %1 शब्द बदले गये","noChanges":"वर्तनी की जाँच :कोई शब्द नहीं बदला गया","noMispell":"वर्तनी की जाँच : कोई गलत वर्तनी (स्पॅलिंग) नहीं पाई गई","noSuggestions":"- कोई सुझाव नहीं -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"शब्दकोश में नहीं","oneChange":"वर्तनी की जाँच : एक शब्द बदला गया","progress":"वर्तनी की जाँच (स्पॅल-चॅक) जारी है...","title":"Spell Checker","toolbar":"वर्तनी (स्पेलिंग) जाँच"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/hi.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/th.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/th.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/th.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['th']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"กด ALT 0 หากต้องการความช่วยเหลือ","browseServer":"เปิดหน้าต่างจัดการไฟล์อัพโหลด","url":"ที่อยู่อ้างอิง URL","protocol":"โปรโตคอล","upload":"อัพโหลดไฟล์","uploadSubmit":"อัพโหลดไฟล์ไปเก็บไว้ที่เครื่องแม่ข่าย (เซิร์ฟเวอร์)","image":"รูปภาพ","flash":"ไฟล์ Flash","form":"แบบฟอร์ม","checkbox":"เช็คบ๊อก","radio":"เรดิโอบัตตอน","textField":"เท็กซ์ฟิลด์","textarea":"เท็กซ์แอเรีย","hiddenField":"ฮิดเดนฟิลด์","button":"ปุ่ม","select":"แถบตัวเลือก","imageButton":"ปุ่มแบบรูปภาพ","notSet":"<ไม่ระบุ>","id":"ไอดี","name":"ชื่อ","langDir":"การเขียน-อ่านภาษา","langDirLtr":"จากซ้ายไปขวา (LTR)","langDirRtl":"จากขวามาซ้าย (RTL)","langCode":"รหัสภาษา","longDescr":"คำอธิบายประกอบ URL","cssClass":"คลาสของไฟล์กำหนดลักษณะการแสดงผล","advisoryTitle":"คำเกริ่นนำ","cssStyle":"ลักษณะการแสดงผล","ok":"ตกลง","cancel":"ยกเลิก","close":"ปิด","preview":"ดูหน้าเอกสารตัวอย่าง","resize":"ปรับขนาด","generalTab":"ทั่วไป","advancedTab":"ขั้นสูง","validateNumberFailed":"ค่านี้ไม่ใช่ตัวเลข","confirmNewPage":"การเปลี่ยนแปลงใดๆ ในเนื้อหานี้ ที่ไม่ได้ถูกบันทึกไว้ จะสูญหายทั้งหมด คุณแน่ใจว่าจะเรียกหน้าใหม่?","confirmCancel":"ตัวเลือกบางตัวมีการเปลี่ยนแปลง คุณแน่ใจว่าจะปิดกล่องโต้ตอบนี้?","options":"ตัวเลือก","target":"การเปิดหน้าลิงค์","targetNew":"หน้าต่างใหม่ (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"หน้าต่างเดียวกัน (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"จากซ้ายไปขวา (LTR)","langDirRTL":"จากขวามาซ้าย (RTL)","styles":"ลักษณะการแสดงผล","cssClasses":"คลาสของไฟล์กำหนดลักษณะการแสดงผล","width":"ความกว้าง","height":"ความสูง","align":"การจัดวาง","left":"ชิดซ้าย","right":"ชิดขวา","center":"กึ่งกลาง","justify":"நியாயப்படுத்தவும்","alignLeft":"จัดชิดซ้าย","alignRight":"จัดชิดขวา","alignCenter":"Align Center","alignTop":"บนสุด","alignMiddle":"กึ่งกลางแนวตั้ง","alignBottom":"ชิดด้านล่าง","alignNone":"None","invalidValue":"ค่าไม่ถูกต้อง","invalidHeight":"ความสูงต้องเป็นตัวเลข","invalidWidth":"ความกว้างต้องเป็นตัวเลข","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"ตัวหนา","italic":"ตัวเอียง","strike":"ตัวขีดเส้นทับ","subscript":"ตัวห้อย","superscript":"ตัวยก","underline":"ตัวขีดเส้นใต้"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"ซ่อนแถบเครื่องมือ","toolbarExpand":"เปิดแถบเครื่องมือ","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"แถบเครื่องมือช่วยพิมพ์ข้อความ"},"clipboard":{"copy":"สำเนา","copyError":"ไม่สามารถสำเนาข้อความที่เลือกไว้ได้เนื่องจากการกำหนดค่าระดับความปลอดภัย. กรุณาใช้ปุ่มลัดเพื่อวางข้อความแทน (กดปุ่ม Ctrl/Cmd และตัว C พร้อมกัน).","cut":"ตัด","cutError":"ไม่สามารถตัดข้อความที่เลือกไว้ได้เนื่องจากการกำหนดค่าระดับความปลอดภัย. กรุณาใช้ปุ่มลัดเพื่อวางข้อความแทน (กดปุ่ม Ctrl/Cmd และตัว X พร้อมกัน).","paste":"วาง","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK.","title":"วาง"},"colorbutton":{"auto":"สีอัตโนมัติ","bgColorTitle":"สีพื้นหลัง","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"เลือกสีอื่นๆ...","panelTitle":"Colors","textColorTitle":"สีตัวอักษร"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"เทมเพลต","emptyListMsg":"(ยังไม่มีการกำหนดเทมเพลต)","insertOption":"แทนที่เนื้อหาเว็บไซต์ที่เลือก","options":"ตัวเลือกเกี่ยวกับเทมเพลท","selectPromptMsg":"กรุณาเลือก เทมเพลต เพื่อนำไปแก้ไขในอีดิตเตอร์<br />(เนื้อหาส่วนนี้จะหายไป):","title":"เทมเพลตของส่วนเนื้อหาเว็บไซต์"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"ไอดี","advisoryTitleInputLabel":"คำเกริ่นนำ","cssClassInputLabel":"คลาสของไฟล์กำหนดลักษณะการแสดงผล","edit":"แก้ไข Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"จากซ้ายไปขวา (LTR)","langDirLabel":"การเขียน-อ่านภาษา","langDirRTLLabel":"จากขวามาซ้าย (RTL)","languageCodeInputLabel":"รหัสภาษา","remove":"ลบ Div","styleSelectLabel":"ลักษณะการแสดงผล","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"ค้นหา","findOptions":"Find Options","findWhat":"ค้นหาคำว่า:","matchCase":"ตัวโหญ่-เล็ก ต้องตรงกัน","matchCyclic":"Match cyclic","matchWord":"ต้องตรงกันทุกคำ","notFoundMsg":"ไม่พบคำที่ค้นหา.","replace":"ค้นหาและแทนที่","replaceAll":"แทนที่ทั้งหมดที่พบ","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"แทนที่ด้วย:","title":"Find and Replace"},"fakeobjects":{"anchor":"แทรก/แก้ไข Anchor","flash":"ภาพอนิเมชั่นแฟลช","hiddenfield":"ฮิดเดนฟิลด์","iframe":"IFrame","unknown":"วัตถุไม่ทราบชนิด"},"flash":{"access":"การเข้าถึงสคริปต์","accessAlways":"ตลอดไป","accessNever":"ไม่เลย","accessSameDomain":"โดเมนเดียวกัน","alignAbsBottom":"ชิดด้านล่างสุด","alignAbsMiddle":"กึ่งกลาง","alignBaseline":"ชิดบรรทัด","alignTextTop":"ใต้ตัวอักษร","bgcolor":"สีพื้นหลัง","chkFull":"อนุญาตให้แสดงเต็มหน้าจอได้","chkLoop":"เล่นวนรอบ Loop","chkMenu":"ให้ใช้งานเมนูของ Flash","chkPlay":"เล่นอัตโนมัติ Auto Play","flashvars":"ตัวแปรสำหรับ Flas","hSpace":"ระยะแนวนอน","properties":"คุณสมบัติของไฟล์ Flash","propertiesTab":"คุณสมบัติ","quality":"คุณภาพ","qualityAutoHigh":"ปรับคุณภาพสูงอัตโนมัติ","qualityAutoLow":"ปรับคุณภาพต่ำอัตโนมัติ","qualityBest":"ดีที่สุด","qualityHigh":"สูง","qualityLow":"ต่ำ","qualityMedium":"ปานกลาง","scale":"อัตราส่วน Scale","scaleAll":"แสดงให้เห็นทั้งหมด Show all","scaleFit":"แสดงให้พอดีกับพื้นที่ Exact Fit","scaleNoBorder":"ไม่แสดงเส้นขอบ No Border","title":"คุณสมบัติของไฟล์ Flash","vSpace":"ระยะแนวตั้ง","validateHSpace":"HSpace ต้องเป็นจำนวนตัวเลข","validateSrc":"กรุณาระบุที่อยู่อ้างอิงออนไลน์ (URL)","validateVSpace":"VSpace ต้องเป็นจำนวนตัวเลข","windowMode":"โหมดหน้าต่าง","windowModeOpaque":"ความทึบแสง","windowModeTransparent":"ความโปรงแสง","windowModeWindow":"หน้าต่าง"},"font":{"fontSize":{"label":"ขนาด","voiceLabel":"Font Size","panelTitle":"ขนาด"},"label":"แบบอักษร","panelTitle":"แบบอักษร","voiceLabel":"แบบอักษร"},"forms":{"button":{"title":"รายละเอียดของ ปุ่ม","text":"ข้อความ (ค่าตัวแปร)","type":"ข้อความ","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"คุณสมบัติของ เช็คบ๊อก","radioTitle":"คุณสมบัติของ เรดิโอบัตตอน","value":"ค่าตัวแปร","selected":"เลือกเป็นค่าเริ่มต้น","required":"Required"},"form":{"title":"คุณสมบัติของ แบบฟอร์ม","menu":"คุณสมบัติของ แบบฟอร์ม","action":"แอคชั่น","method":"เมธอด","encoding":"Encoding"},"hidden":{"title":"คุณสมบัติของ ฮิดเดนฟิลด์","name":"ชื่อ","value":"ค่าตัวแปร"},"select":{"title":"คุณสมบัติของ แถบตัวเลือก","selectInfo":"อินโฟ","opAvail":"รายการตัวเลือก","value":"ค่าตัวแปร","size":"ขนาด","lines":"บรรทัด","chkMulti":"เลือกหลายค่าได้","required":"Required","opText":"ข้อความ","opValue":"ค่าตัวแปร","btnAdd":"เพิ่ม","btnModify":"แก้ไข","btnUp":"บน","btnDown":"ล่าง","btnSetValue":"เลือกเป็นค่าเริ่มต้น","btnDelete":"ลบ"},"textarea":{"title":"คุณสมบัติของ เท็กแอเรีย","cols":"สดมภ์","rows":"แถว"},"textfield":{"title":"คุณสมบัติของ เท็กซ์ฟิลด์","name":"ชื่อ","value":"ค่าตัวแปร","charWidth":"ความกว้าง","maxChars":"จำนวนตัวอักษรสูงสุด","required":"Required","type":"ชนิด","typeText":"ข้อความ","typePass":"รหัสผ่าน","typeEmail":"อีเมล","typeSearch":"ค้นหาก","typeTel":"หมายเลขโทรศัพท์","typeUrl":"ที่อยู่อ้างอิง URL"}},"format":{"label":"รูปแบบ","panelTitle":"รูปแบบ","tag_address":"Address","tag_div":"Paragraph (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"แทรกเส้นคั่นบรรทัด"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"คำประกอบรูปภาพ","border":"ขนาดขอบรูป","btnUpload":"อัพโหลดไฟล์ไปเก็บไว้ที่เครื่องแม่ข่าย (เซิร์ฟเวอร์)","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"ระยะแนวนอน","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"ข้อมูลของรูปภาพ","linkTab":"ลิ้งค์","lockRatio":"กำหนดอัตราส่วน กว้าง-สูง แบบคงที่","menu":"คุณสมบัติของ รูปภาพ","resetSize":"กำหนดรูปเท่าขนาดจริง","title":"คุณสมบัติของ รูปภาพ","titleButton":"คุณสมบัติของ ปุ่มแบบรูปภาพ","upload":"อัพโหลดไฟล์","urlMissing":"Image source URL is missing.","vSpace":"ระยะแนวตั้ง","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"เพิ่มระยะย่อหน้า","outdent":"ลดระยะย่อหน้า"},"smiley":{"options":"ตัวเลือกไอคอนแสดงอารมณ์","title":"แทรกสัญลักษณ์สื่ออารมณ์","toolbar":"รูปสื่ออารมณ์"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"แอคเซส คีย์","advanced":"ขั้นสูง","advisoryContentType":"ชนิดของคำเกริ่นนำ","advisoryTitle":"คำเกริ่นนำ","anchor":{"toolbar":"แทรก/แก้ไข Anchor","menu":"รายละเอียด Anchor","title":"รายละเอียด Anchor","name":"ชื่อ Anchor","errorName":"กรุณาระบุชื่อของ Anchor","remove":"Remove Anchor"},"anchorId":"ไอดี","anchorName":"ชื่อ","charset":"ลิงค์เชื่อมโยงไปยังชุดตัวอักษร","cssClasses":"คลาสของไฟล์กำหนดลักษณะการแสดงผล","download":"Force Download","displayText":"Display Text","emailAddress":"อีเมล์ (E-Mail)","emailBody":"ข้อความ","emailSubject":"หัวเรื่อง","id":"ไอดี","info":"รายละเอียด","langCode":"การเขียน-อ่านภาษา","langDir":"การเขียน-อ่านภาษา","langDirLTR":"จากซ้ายไปขวา (LTR)","langDirRTL":"จากขวามาซ้าย (RTL)","menu":"แก้ไข ลิงค์","name":"ชื่อ","noAnchors":"(ยังไม่มีจุดเชื่อมโยงภายในหน้าเอกสารนี้)","noEmail":"กรุณาระบุอีเมล์ (E-mail)","noUrl":"กรุณาระบุที่อยู่อ้างอิงออนไลน์ (URL)","other":"<อื่น ๆ>","popupDependent":"แสดงเต็มหน้าจอ (Netscape)","popupFeatures":"คุณสมบัติของหน้าจอเล็ก (Pop-up)","popupFullScreen":"แสดงเต็มหน้าจอ (IE5.5++ เท่านั้น)","popupLeft":"พิกัดซ้าย (Left Position)","popupLocationBar":"แสดงที่อยู่ของไฟล์","popupMenuBar":"แสดงแถบเมนู","popupResizable":"สามารถปรับขนาดได้","popupScrollBars":"แสดงแถบเลื่อน","popupStatusBar":"แสดงแถบสถานะ","popupToolbar":"แสดงแถบเครื่องมือ","popupTop":"พิกัดบน (Top Position)","rel":"ความสัมพันธ์","selectAnchor":"ระบุข้อมูลของจุดเชื่อมโยง (Anchor)","styles":"ลักษณะการแสดงผล","tabIndex":"ลำดับของ แท็บ","target":"การเปิดหน้าลิงค์","targetFrame":"<เปิดในเฟรม>","targetFrameName":"ชื่อทาร์เก็ตเฟรม","targetPopup":"<เปิดหน้าจอเล็ก (Pop-up)>","targetPopupName":"ระบุชื่อหน้าจอเล็ก (Pop-up)","title":"ลิงค์เชื่อมโยงเว็บ อีเมล์ รูปภาพ หรือไฟล์อื่นๆ","toAnchor":"จุดเชื่อมโยง (Anchor)","toEmail":"ส่งอีเมล์ (E-Mail)","toUrl":"ที่อยู่อ้างอิง URL","toolbar":"แทรก/แก้ไข ลิงค์","type":"ประเภทของลิงค์","unlink":"ลบ ลิงค์","upload":"อัพโหลดไฟล์"},"list":{"bulletedlist":"ลำดับรายการแบบสัญลักษณ์","numberedlist":"ลำดับรายการแบบตัวเลข"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"ขยายใหญ่","minimize":"ย่อขนาด"},"newpage":{"toolbar":"สร้างหน้าเอกสารใหม่"},"pagebreak":{"alt":"ตัวแบ่งหน้า","toolbar":"แทรกตัวแบ่งหน้า Page Break"},"pastetext":{"button":"วางแบบตัวอักษรธรรมดา","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"วางแบบตัวอักษรธรรมดา"},"pastefromword":{"confirmCleanup":"ข้อความที่คุณต้องการวางลงไปเป็นข้อความที่คัดลอกมาจากโปรแกรมไมโครซอฟท์เวิร์ด คุณต้องการล้างค่าข้อความดังกล่าวก่อนวางลงไปหรือไม่?","error":"ไม่สามารถล้างข้อมูลที่ต้องการวางได้เนื่องจากเกิดข้อผิดพลาดภายในระบบ","title":"วางสำเนาจากตัวอักษรเวิร์ด","toolbar":"วางสำเนาจากตัวอักษรเวิร์ด"},"preview":{"preview":"ดูหน้าเอกสารตัวอย่าง"},"print":{"toolbar":"สั่งพิมพ์"},"removeformat":{"toolbar":"ล้างรูปแบบ"},"save":{"toolbar":"บันทึก"},"selectall":{"toolbar":"เลือกทั้งหมด"},"showblocks":{"toolbar":"แสดงบล็อคข้อมูล"},"sourcearea":{"toolbar":"ดูรหัส HTML"},"specialchar":{"options":"Special Character Options","title":"แทรกตัวอักษรพิเศษ","toolbar":"แทรกตัวอักษรพิเศษ"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"ลักษณะ","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"ขนาดเส้นขอบ","caption":"หัวเรื่องของตาราง","cell":{"menu":"ช่องตาราง","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"ลบช่อง","merge":"ผสานช่อง","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"ระยะแนวตั้ง","cellSpace":"ระยะแนวนอนน","column":{"menu":"คอลัมน์","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"ลบสดมน์"},"columns":"สดมน์","deleteTable":"ลบตาราง","headers":"ส่วนหัว","headersBoth":"ทั้งสองอย่าง","headersColumn":"คอลัมน์แรก","headersNone":"None","headersRow":"แถวแรก","invalidBorder":"ขนาดเส้นกรอบต้องเป็นจำนวนตัวเลข","invalidCellPadding":"ช่องว่างภายในเซลล์ต้องเลขจำนวนบวก","invalidCellSpacing":"ช่องว่างภายในเซลล์ต้องเป็นเลขจำนวนบวก","invalidCols":"จำนวนคอลัมน์ต้องเป็นจำนวนมากกว่า 0","invalidHeight":"ส่วนสูงของตารางต้องเป็นตัวเลข","invalidRows":"จำนวนของแถวต้องเป็นจำนวนมากกว่า 0","invalidWidth":"ความกว้างตารางต้องเป็นตัวเลข","menu":"คุณสมบัติของ ตาราง","row":{"menu":"แถว","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"ลบแถว"},"rows":"แถว","summary":"สรุปความ","title":"คุณสมบัติของ ตาราง","toolbar":"ตาราง","widthPc":"เปอร์เซ็น","widthPx":"จุดสี","widthUnit":"หน่วยความกว้าง"},"undo":{"redo":"ทำซ้ำคำสั่ง","undo":"ยกเลิกคำสั่ง"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"ยกเว้น","btnIgnoreAll":"ยกเว้นทั้งหมด","btnReplace":"แทนที่","btnReplaceAll":"แทนที่ทั้งหมด","btnUndo":"ยกเลิก","changeTo":"แก้ไขเป็น","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"ไม่ได้ติดตั้งระบบตรวจสอบคำสะกด. ต้องการติดตั้งไหมครับ?","manyChanges":"ตรวจสอบคำสะกดเสร็จสิ้น:: แก้ไข %1 คำ","noChanges":"ตรวจสอบคำสะกดเสร็จสิ้น: ไม่มีการแก้คำใดๆ","noMispell":"ตรวจสอบคำสะกดเสร็จสิ้น: ไม่พบคำสะกดผิด","noSuggestions":"- ไม่มีคำแนะนำใดๆ -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"ไม่พบในดิกชันนารี","oneChange":"ตรวจสอบคำสะกดเสร็จสิ้น: แก้ไข1คำ","progress":"กำลังตรวจสอบคำสะกด...","title":"Spell Checker","toolbar":"ตรวจการสะกดคำ"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/th.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ko.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ko.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ko.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['ko']={"editor":"리치 텍스트 편집기","editorPanel":"리치 텍스트 편집기 패널","common":{"editorHelp":"도움이 필요하면 ALT 0 을 누르세요","browseServer":"서버 탐색","url":"URL","protocol":"프로토콜","upload":"업로드","uploadSubmit":"서버로 전송","image":"이미지","flash":"플래시","form":"폼","checkbox":"체크 박스","radio":"라디오 버튼","textField":"한 줄 입력 칸","textarea":"여러 줄 입력 칸","hiddenField":"숨은 입력 칸","button":"버튼","select":"선택 목록","imageButton":"이미지 버튼","notSet":"<설정 안 됨>","id":"ID","name":"이름","langDir":"언어 방향","langDirLtr":"왼쪽에서 오른쪽 (LTR)","langDirRtl":"오른쪽에서 왼쪽 (RTL)","langCode":"언어 코드","longDescr":"웹 주소 설명","cssClass":"스타일 시트 클래스","advisoryTitle":"보조 제목","cssStyle":"스타일","ok":"확인","cancel":"취소","close":"닫기","preview":"미리보기","resize":"크기 조절","generalTab":"일반","advancedTab":"자세히","validateNumberFailed":"이 값은 숫자가 아닙니다.","confirmNewPage":"저장하지 않은 모든 변경사항은 유실됩니다. 정말로 새로운 페이지를 부르겠습니까?","confirmCancel":"일부 옵션이 변경 되었습니다. 정말로 창을 닫겠습니까?","options":"옵션","target":"타겟","targetNew":"새 창 (_blank)","targetTop":"최상위 창 (_top)","targetSelf":"같은 창 (_self)","targetParent":"부모 창 (_parent)","langDirLTR":"왼쪽에서 오른쪽 (LTR)","langDirRTL":"오른쪽에서 왼쪽 (RTL)","styles":"스타일","cssClasses":"스타일 시트 클래스","width":"너비","height":"높이","align":"정렬","left":"왼쪽","right":"오른쪽","center":"중앙","justify":"양쪽 정렬","alignLeft":"왼쪽 정렬","alignRight":"오른쪽 정렬","alignCenter":"중앙 정렬","alignTop":"위","alignMiddle":"중간","alignBottom":"아래","alignNone":"기본","invalidValue":"잘못된 값.","invalidHeight":"높이는 숫자여야 합니다.","invalidWidth":"넓이는 숫자여야 합니다.","invalidLength":"\"%1\" 값은 유효한 측정단위(%2)를 포함하거나 포함하지 않은 양수여야 합니다.","invalidCssLength":"\"%1\" 값은 유효한 CSS 측정 단위(px, %, in, cm, mm, em, ex, pt, or pc)를 포함하거나 포함하지 않은 양수 여야 합니다.","invalidHtmlLength":"\"%1\" 값은 유효한 HTML 측정 단위(px or %)를 포함하거나 포함하지 않은 양수여야 합니다.","invalidInlineStyle":"인라인 스타일에 설정된 값은 \"name : value\" 형식을 가진 하나 이상의 투플(tuples)이 세미콜론(;)으로 구분되어 구성되어야 합니다.","cssLengthTooltip":"픽셀 단위의 숫자만 입력하시거나 유효한 CSS 단위(px, %, in, cm, mm, em, ex, pt, or pc)와 함께 숫자를 입력해주세요.","unavailable":"%1<span class=\"cke_accessibility\">, 사용불가</span>","keyboard":{"8":"백스페이스","13":"엔터","16":"시프트","17":"컨트롤","18":"알트","32":"간격","35":"엔드","36":"홈","46":"딜리트","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"커맨드"},"keyboardShortcut":"키보드 단축키","optionDefault":"기본값"},"about":{"copy":"저작권 &copy; $1 . 판권 소유.","dlgTitle":"CKEditor 에 대하여","moreInfo":"라이선스에 대한 정보는 저희 웹 사이트를 참고하세요:"},"basicstyles":{"bold":"굵게","italic":"기울임꼴","strike":"취소선","subscript":"아래 첨자","superscript":"위 첨자","underline":"밑줄"},"bidi":{"ltr":"텍스트 방향이 왼쪽에서 오른쪽으로 ","rtl":"텍스트 방향이 오른쪽에서 왼쪽으로"},"blockquote":{"toolbar":"인용 단락"},"notification":{"closed":"알림이 닫힘."},"button":{"selectedLabel":"%1 (선택됨)"},"toolbar":{"toolbarCollapse":"툴바 줄이기","toolbarExpand":"툴바 확장","toolbarGroups":{"document":"문서","clipboard":"클립보드/실행 취소","editing":"편집","forms":"폼","basicstyles":"기본 스타일","paragraph":"단락","links":"링크","insert":"삽입","styles":"스타일","colors":"색상","tools":"도구"},"toolbars":"에디터 툴바"},"clipboard":{"copy":"복사","copyError":"브라우저의 보안설정 때문에 복사할 수 없습니다. 키보드(Ctrl/Cmd+C)를 이용해서 복사하십시오.","cut":"잘라내기","cutError":"브라우저의 보안설정 때문에 잘라내기 기능을 실행할 수 없습니다. 키보드(Ctrl/Cmd+X)를 이용해서 잘라내기 하십시오","paste":"붙여넣기","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"붙여넣기 범위","pasteMsg":"Paste your content inside the area below and press OK.","title":"붙여넣기"},"colorbutton":{"auto":"기본 색상","bgColorTitle":"배경 색상","colors":{"000":"검정","800000":"밤색","8B4513":"새들 브라운","2F4F4F":"다크 슬레이트 그레이","008080":"틸","000080":"네이비","4B0082":"남색","696969":"짙은 회색","B22222":"벽돌색","A52A2A":"갈색","DAA520":"골든 로드","006400":"암록색","40E0D0":"터코이즈","0000CD":"미디엄 블루","800080":"보라","808080":"회색","F00":"빨강","FF8C00":"짙은 주황","FFD700":"금색","008000":"녹색","0FF":"시안","00F":"파랑","EE82EE":"남보라","A9A9A9":"딤 그레이","FFA07A":"라이트 새먼","FFA500":"주황","FFFF00":"노랑","00FF00":"라임","AFEEEE":"패일 터코이즈","ADD8E6":"연한 파랑","DDA0DD":"자두","D3D3D3":"연한 회색","FFF0F5":"라벤더 블러쉬","FAEBD7":"앤틱 화이트","FFFFE0":"연한 노랑","F0FFF0":"허니듀","F0FFFF":"하늘색","F0F8FF":"앨리스 블루","E6E6FA":"라벤더","FFF":"흰색","1ABC9C":"진한 청록색","2ECC71":"에메랄드","3498DB":"밝은 파랑","9B59B6":"자수정","4E5F70":"회청색","F1C40F":"선명한 노랑","16A085":"다크 시안","27AE60":"다크 에메랄드","2980B9":"진한 파랑","8E44AD":"다크 바이올렛","2C3E50":"탁한 파랑","F39C12":"주황","E67E22":"당근","E74C3C":"창백한 빨강","ECF0F1":"밝은 은색","95A5A6":"밝은 회청록","DDD":"밝은 회색","D35400":"호박","C0392B":"진한 빨강","BDC3C7":"은색","7F8C8D":"회청록","999":"암회색"},"more":"색상 선택...","panelTitle":"색상","textColorTitle":"글자 색상"},"colordialog":{"clear":"비우기","highlight":"강조","options":"색상 옵션","selected":"선택된 색상","title":"색상 선택"},"templates":{"button":"템플릿","emptyListMsg":"(템플릿이 없습니다)","insertOption":"현재 내용 바꾸기","options":"템플릿 옵션","selectPromptMsg":"에디터에서 사용할 템플릿을 선택하십시오","title":"내용 템플릿"},"contextmenu":{"options":"컨텍스트 메뉴 옵션"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"보조 제목","cssClassInputLabel":"스타일 시트 클래스","edit":"Div 편집","inlineStyleInputLabel":"인라인 스타일","langDirLTRLabel":"왼쪽에서 오른쪽 (LTR)","langDirLabel":"언어 방향","langDirRTLLabel":"오른쪽에서 왼쪽 (RTL)","languageCodeInputLabel":" 언어 코드","remove":"Div 태그 삭제","styleSelectLabel":"스타일","title":"Div 태그 생성","toolbar":"Div 태그 생성"},"elementspath":{"eleLabel":"요소 경로","eleTitle":"%1 요소"},"filetools":{"loadError":"파일을 읽는 중 오류가 발생했습니다.","networkError":"파일 업로드 중 네트워크 오류가 발생했습니다.","httpError404":"파일 업로드중 HTTP 오류가 발생했습니다 (404: 파일 찾을수 없음).","httpError403":"파일 업로드중 HTTP 오류가 발생했습니다 (403: 권한 없음).","httpError":"파일 업로드중 HTTP 오류가 발생했습니다 (오류 코드 %1).","noUrlError":"업로드 주소가 정의되어 있지 않습니다.","responseError":"잘못된 서버 응답."},"find":{"find":"찾기","findOptions":"찾기 조건","findWhat":"찾을 내용:","matchCase":"대소문자 구분","matchCyclic":"되돌이 검색","matchWord":"온전한 단어","notFoundMsg":"문자열을 찾을 수 없습니다.","replace":"바꾸기","replaceAll":"모두 바꾸기","replaceSuccessMsg":"%1개의 항목이 바뀌었습니다.","replaceWith":"바꿀 내용:","title":"찾기 및 바꾸기"},"fakeobjects":{"anchor":"책갈피","flash":"플래시 애니메이션","hiddenfield":"숨은 입력 칸","iframe":"아이프레임","unknown":"알 수 없는 객체"},"flash":{"access":"스크립트 허용","accessAlways":"항상 허용","accessNever":"허용 안함","accessSameDomain":"같은 도메인 허용","alignAbsBottom":"아래","alignAbsMiddle":"중간","alignBaseline":"영문 글꼴 기준선","alignTextTop":"글자 상단","bgcolor":"배경 색상","chkFull":"전체화면 허용","chkLoop":"반복","chkMenu":"플래시 메뉴 활성화","chkPlay":"자동 재생","flashvars":"플래시 변수","hSpace":"가로 여백","properties":"플래시 속성","propertiesTab":"속성","quality":"품질","qualityAutoHigh":"자동 높음","qualityAutoLow":"자동 낮음","qualityBest":"최고","qualityHigh":"높음","qualityLow":"낮음","qualityMedium":"중간","scale":"배율","scaleAll":"모두 보기","scaleFit":"맞춤","scaleNoBorder":"테두리 없음","title":"플래시 속성","vSpace":"세로 여백","validateHSpace":"가로 여백은 숫자여야 합니다.","validateSrc":"링크 주소(URL)를 입력하십시오.","validateVSpace":"세로 여백은 숫자여야 합니다.","windowMode":"윈도우 모드","windowModeOpaque":"불투명","windowModeTransparent":"투명","windowModeWindow":"윈도우"},"font":{"fontSize":{"label":"크기","voiceLabel":"글자 크기","panelTitle":"글자 크기"},"label":"글꼴","panelTitle":"글꼴","voiceLabel":"글꼴"},"forms":{"button":{"title":"버튼 속성","text":"글자 (값)","type":"종류","typeBtn":"버튼","typeSbm":"제출","typeRst":"재설정"},"checkboxAndRadio":{"checkboxTitle":"체크 박스 속성","radioTitle":"라디오 버튼 속성","value":"값","selected":"선택됨","required":"필수 항목"},"form":{"title":"폼 속성","menu":"폼 속성","action":"실행 경로(Action)","method":"방법(Method)","encoding":"인코딩"},"hidden":{"title":"숨은 입력 칸 속성","name":"이름","value":"값"},"select":{"title":"선택 목록 속성","selectInfo":"선택 정보","opAvail":"옵션","value":"값","size":"크기","lines":"줄","chkMulti":"여러 항목 선택 허용","required":"필수 항목","opText":"이름","opValue":"값","btnAdd":"추가","btnModify":"수정","btnUp":"위","btnDown":"아래","btnSetValue":"선택된 것으로 설정","btnDelete":"삭제"},"textarea":{"title":"여러 줄 입력 칸 속성","cols":"칸 수","rows":"줄 수"},"textfield":{"title":"한 줄 입력 칸 속성","name":"이름","value":"값","charWidth":"글자 너비","maxChars":"최대 글자 수","required":"필수 항목","type":"형식","typeText":"문자열","typePass":"비밀번호","typeEmail":"이메일","typeSearch":"검색","typeTel":"전화번호","typeUrl":"웹 주소(URL)"}},"format":{"label":"문단","panelTitle":"문단 형식","tag_address":"글쓴이","tag_div":"기본 (DIV)","tag_h1":"제목 1","tag_h2":"제목 2","tag_h3":"제목 3","tag_h4":"제목 4","tag_h5":"제목 5","tag_h6":"제목 6","tag_p":"본문","tag_pre":"정형 문단"},"horizontalrule":{"toolbar":"가로 줄 삽입"},"iframe":{"border":"프레임 테두리 표시","noUrl":"아이프레임 주소(URL)를 입력해주세요.","scrolling":"스크롤바 사용","title":"아이프레임 속성","toolbar":"아이프레임"},"image":{"alt":"대체 문자열","border":"테두리","btnUpload":"서버로 전송","button2Img":"단순 이미지에서 선택한 이미지 버튼을 변환하시겠습니까?","hSpace":"가로 여백","img2Button":"이미지 버튼에 선택한 이미지를 변환하시겠습니까?","infoTab":"이미지 정보","linkTab":"링크","lockRatio":"비율 유지","menu":"이미지 속성","resetSize":"원래 크기로","title":"이미지 속성","titleButton":"이미지 버튼 속성","upload":"업로드","urlMissing":"이미지 원본 주소(URL)가 없습니다.","vSpace":"세로 여백","validateBorder":"테두리 두께는 정수여야 합니다.","validateHSpace":"가로 길이는 정수여야 합니다.","validateVSpace":"세로 길이는 정수여야 합니다."},"indent":{"indent":"들여쓰기","outdent":"내어쓰기"},"smiley":{"options":"이모티콘 옵션","title":"이모티콘 삽입","toolbar":"이모티콘"},"language":{"button":"언어 설정","remove":"언어 설정 지우기"},"link":{"acccessKey":"액세스 키","advanced":"고급","advisoryContentType":"보조 콘텐츠 유형","advisoryTitle":"보조 제목","anchor":{"toolbar":"책갈피","menu":"책갈피 편집","title":"책갈피 속성","name":"책갈피 이름","errorName":"책갈피 이름을 입력하십시오","remove":"책갈피 제거"},"anchorId":"책갈피 ID","anchorName":"책갈피 이름","charset":"링크된 자료 문자열 인코딩","cssClasses":"스타일시트 클래스","download":"강제 다운로드","displayText":"보이는 글자","emailAddress":"이메일 주소","emailBody":"메시지 내용","emailSubject":"메시지 제목","id":"ID","info":"링크 정보","langCode":"언어 코드","langDir":"언어 방향","langDirLTR":"왼쪽에서 오른쪽 (LTR)","langDirRTL":"오른쪽에서 왼쪽 (RTL)","menu":"링크 수정","name":"이름","noAnchors":"(문서에 책갈피가 없습니다.)","noEmail":"이메일 주소를 입력하십시오","noUrl":"링크 주소(URL)를 입력하십시오","other":"<기타>","popupDependent":"Dependent (Netscape)","popupFeatures":"팝업창 속성","popupFullScreen":"전체화면 (IE)","popupLeft":"왼쪽 위치","popupLocationBar":"주소 표시줄","popupMenuBar":"메뉴 바","popupResizable":"크기 조절 가능","popupScrollBars":"스크롤 바","popupStatusBar":"상태 바","popupToolbar":"툴바","popupTop":"위쪽 위치","rel":"관계","selectAnchor":"책갈피 선택","styles":"스타일","tabIndex":"탭 순서","target":"타겟","targetFrame":"<프레임>","targetFrameName":"타겟 프레임 이름","targetPopup":"<팝업 창>","targetPopupName":"팝업 창 이름","title":"링크","toAnchor":"책갈피","toEmail":"이메일","toUrl":"주소(URL)","toolbar":"링크 삽입/변경","type":"링크 종류","unlink":"링크 지우기","upload":"업로드"},"list":{"bulletedlist":"순서 없는 목록","numberedlist":"순서 있는 목록"},"liststyle":{"armenian":"아르메니아 숫자","bulletedTitle":"순서 없는 목록 속성","circle":"원","decimal":"수 (1, 2, 3, 등)","decimalLeadingZero":"0이 붙은 수 (01, 02, 03, 등)","disc":"내림차순","georgian":"그루지야 숫자 (an, ban, gan, 등)","lowerAlpha":"영소문자 (a, b, c, d, e, 등)","lowerGreek":"그리스 소문자 (alpha, beta, gamma, 등)","lowerRoman":"로마 소문자 (i, ii, iii, iv, v, 등)","none":"없음","notset":"<설정 없음>","numberedTitle":"순서 있는 목록 속성","square":"사각","start":"시작","type":"유형","upperAlpha":"영대문자 (A, B, C, D, E, 등)","upperRoman":"로마 대문자 (I, II, III, IV, V, 등)","validateStartNumber":"목록 시작 숫자는 정수여야 합니다."},"magicline":{"title":"여기에 단락 삽입"},"maximize":{"maximize":"최대화","minimize":"최소화"},"newpage":{"toolbar":"새 페이지"},"pagebreak":{"alt":"페이지 나누기","toolbar":"인쇄시 페이지 나누기 삽입"},"pastetext":{"button":"텍스트로 붙여넣기","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"텍스트로 붙여넣기"},"pastefromword":{"confirmCleanup":"붙여 넣을 내용은 MS Word에서 복사 한 것입니다. 붙여 넣기 전에 정리 하시겠습니까?","error":"내부 오류로 붙여 넣은 데이터를 정리 할 수 없습니다.","title":"MS Word 에서 붙여넣기","toolbar":"MS Word 에서 붙여넣기"},"preview":{"preview":"미리보기"},"print":{"toolbar":"인쇄"},"removeformat":{"toolbar":"형식 지우기"},"save":{"toolbar":"저장"},"selectall":{"toolbar":"모두 선택"},"showblocks":{"toolbar":"블록 보기"},"sourcearea":{"toolbar":"소스"},"specialchar":{"options":"특수문자 옵션","title":"특수문자 선택","toolbar":"특수문자 삽입"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"스타일","panelTitle":"전체 구성 스타일","panelTitle1":"블록 스타일","panelTitle2":"인라인 스타일","panelTitle3":"객체 스타일"},"table":{"border":"테두리 두께","caption":"주석","cell":{"menu":"셀","insertBefore":"앞에 셀 삽입","insertAfter":"뒤에 셀 삽입","deleteCell":"셀 삭제","merge":"셀 합치기","mergeRight":"오른쪽 합치기","mergeDown":"왼쪽 합치기","splitHorizontal":"수평 나누기","splitVertical":"수직 나누기","title":"셀 속성","cellType":"셀 종류","rowSpan":"행 간격","colSpan":"열 간격","wordWrap":"줄 끝 단어 줄 바꿈","hAlign":"가로 정렬","vAlign":"세로 정렬","alignBaseline":"영문 글꼴 기준선","bgColor":"배경색","borderColor":"테두리 색","data":"자료","header":"머릿칸","yes":"예","no":"아니오","invalidWidth":"셀 너비는 숫자여야 합니다.","invalidHeight":"셀 높이는 숫자여야 합니다.","invalidRowSpan":"행 간격은 정수여야 합니다.","invalidColSpan":"열 간격은 정수여야 합니다.","chooseColor":"선택"},"cellPad":"셀 여백","cellSpace":"셀 간격","column":{"menu":"열","insertBefore":"왼쪽에 열 삽입","insertAfter":"오른쪽에 열 삽입","deleteColumn":"열 삭제"},"columns":"열","deleteTable":"표 삭제","headers":"머릿칸","headersBoth":"모두","headersColumn":"첫 열","headersNone":"없음","headersRow":"첫 행","invalidBorder":"테두리 두께는 숫자여야 합니다.","invalidCellPadding":"셀 여백은 0 이상이어야 합니다.","invalidCellSpacing":"셀 간격은 0 이상이어야 합니다.","invalidCols":"열 번호는 0보다 커야 합니다.","invalidHeight":"표 높이는 숫자여야 합니다.","invalidRows":"행 번호는 0보다 커야 합니다.","invalidWidth":"표의 너비는 숫자여야 합니다.","menu":"표 속성","row":{"menu":"행","insertBefore":"위에 행 삽입","insertAfter":"아래에 행 삽입","deleteRow":"행 삭제"},"rows":"행","summary":"요약","title":"표 속성","toolbar":"표","widthPc":"백분율","widthPx":"픽셀","widthUnit":"너비 단위"},"undo":{"redo":"다시 실행","undo":"실행 취소"},"widget":{"move":"움직이려면 클릭 후 드래그 하세요","label":"%1 위젯"},"uploadwidget":{"abort":"사용자가 업로드를 중단했습니다.","doneOne":"파일이 성공적으로 업로드되었습니다.","doneMany":"파일 %1개를 성공적으로 업로드하였습니다.","uploadOne":"파일 업로드중 ({percentage}%)...","uploadMany":"파일 {max} 개 중 {current} 번째 파일 업로드 중 ({percentage}%)..."},"wsc":{"btnIgnore":"건너뜀","btnIgnoreAll":"모두 건너뜀","btnReplace":"변경","btnReplaceAll":"모두 변경","btnUndo":"취소","changeTo":"변경할 단어","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"철자 검사기가 철치되지 않았습니다. 지금 다운로드하시겠습니까?","manyChanges":"철자검사 완료: %1 단어가 변경되었습니다.","noChanges":"철자검사 완료: 변경된 단어가 없습니다.","noMispell":"철자검사 완료: 잘못된 철자가 없습니다.","noSuggestions":"- 추천단어 없음 -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"사전에 없는 단어","oneChange":"철자검사 완료: 단어가 변경되었습니다.","progress":"철자검사를 진행중입니다...","title":"Spell Check","toolbar":"철자검사"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ko.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/eu.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/eu.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/eu.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['eu']={"editor":"Testu aberastuaren editorea","editorPanel":"Testu aberastuaren editorearen panela","common":{"editorHelp":"Sakatu ALT 0 laguntza jasotzeko","browseServer":"Arakatu zerbitzaria","url":"URLa","protocol":"Protokoloa","upload":"Kargatu","uploadSubmit":"Bidali zerbitzarira","image":"Irudia","flash":"Flash","form":"Formularioa","checkbox":"Kontrol-laukia","radio":"Aukera-botoia","textField":"Testu-eremua","textarea":"Testu-area","hiddenField":"Ezkutuko eremua","button":"Botoia","select":"Hautespen-eremua","imageButton":"Irudi-botoia","notSet":"<ezarri gabe>","id":"Id","name":"Izena","langDir":"Hizkuntzaren norabidea","langDirLtr":"Ezkerretik eskuinera (LTR)","langDirRtl":"Eskuinetik ezkerrera (RTL)","langCode":"Hizkuntzaren kodea","longDescr":"URLaren deskribapen luzea","cssClass":"Estilo-orriko klaseak","advisoryTitle":"Aholkatutako izenburua","cssStyle":"Estiloa","ok":"Ados","cancel":"Utzi","close":"Itxi","preview":"Aurrebista","resize":"Aldatu tamainaz","generalTab":"Orokorra","advancedTab":"Aurreratua","validateNumberFailed":"Balio hau ez da zenbaki bat.","confirmNewPage":"Eduki honetan gorde gabe dauden aldaketak galduko dira. Ziur zaude orri berri bat kargatu nahi duzula?","confirmCancel":"Aukera batzuk aldatu dituzu. Ziur zaude elkarrizketa-koadroa itxi nahi duzula?","options":"Aukerak","target":"Helburua","targetNew":"Leiho berria (_blank)","targetTop":"Goieneko leihoan (_top)","targetSelf":"Leiho berean (_self)","targetParent":"Leiho gurasoan (_parent)","langDirLTR":"Ezkerretik eskuinera (LTR)","langDirRTL":"Eskuinetik ezkerrera (RTL)","styles":"Estiloa","cssClasses":"Estilo-orriko klaseak","width":"Zabalera","height":"Altuera","align":"Lerrokatzea","left":"Ezkerrean","right":"Eskuinean","center":"Erdian","justify":"Justifikatu","alignLeft":"Lerrokatu ezkerrean","alignRight":"Lerrokatu eskuinean","alignCenter":"Align Center","alignTop":"Goian","alignMiddle":"Erdian","alignBottom":"Behean","alignNone":"Bat ere ez","invalidValue":"Balio desegokia.","invalidHeight":"Altuera zenbaki bat izan behar da.","invalidWidth":"Zabalera zenbaki bat izan behar da.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"\"%1\" eremurako zehaztutako balioak zenbaki positibo bat izan behar du, CSS neurri unitate batekin edo gabe (px, %, in, cm, mm, em, ex, pt edo pc).","invalidHtmlLength":"\"%1\" eremurako zehaztutako balioak zenbaki positibo bat izan behar du, HTML neurri unitate batekin edo gabe (px edo %).","invalidInlineStyle":"Lineako estiloan zehaztutako balioak \"izen : balio\" formatuko tupla bat edo gehiago izan behar dira, komaz bereiztuak.","cssLengthTooltip":"Sartu zenbaki bat edo zenbaki bat baliozko CSS unitate batekin (px, %, in, cm, mm, em, ex, pt, edo pc).","unavailable":"%1<span class=\"cke_accessibility\">, erabilezina</span>","keyboard":{"8":"Atzera tekla","13":"Sartu","16":"Maius","17":"Ktrl","18":"Alt","32":"Zuriunea","35":"Buka","36":"Etxea","46":"Ezabatu","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Komandoa"},"keyboardShortcut":"Laster-tekla","optionDefault":"Lehenetsia"},"about":{"copy":"Copyright &copy; $1. Eskubide guztiak erreserbaturik.","dlgTitle":"CKEditor 4ri buruz","moreInfo":"Lizentziari buruzko informazioa gure webgunean:"},"basicstyles":{"bold":"Lodia","italic":"Etzana","strike":"Marratua","subscript":"Azpi-indizea","superscript":"Goi-indizea","underline":"Azpimarratu"},"bidi":{"ltr":"Testuaren norantza ezkerretik eskuinera","rtl":"Testuaren norantza eskuinetik ezkerrera"},"blockquote":{"toolbar":"Aipamen blokea"},"notification":{"closed":"Jakinarazpena itxita."},"button":{"selectedLabel":"%1 (hautatuta)"},"toolbar":{"toolbarCollapse":"Tolestu tresna-barra","toolbarExpand":"Zabaldu tresna-barra","toolbarGroups":{"document":"Dokumentua","clipboard":"Arbela/Desegin","editing":"Editatu","forms":"Formularioak","basicstyles":"Oinarrizko estiloak","paragraph":"Paragrafoa","links":"Estekak","insert":"Txertatu","styles":"Estiloak","colors":"Koloreak","tools":"Tresnak"},"toolbars":"Editorearen tresna-barrak"},"clipboard":{"copy":"Kopiatu","copyError":"Zure web nabigatzailearen segurtasun ezarpenek ez dute baimentzen testuak automatikoki kopiatzea. Mesedez teklatua erabil ezazu (Ctrl/Cmd+C).","cut":"Ebaki","cutError":"Zure web nabigatzailearen segurtasun ezarpenek ez dute baimentzen testuak automatikoki moztea. Mesedez teklatua erabil ezazu (Ctrl/Cmd+X).","paste":"Itsatsi","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Itsasteko area","pasteMsg":"Paste your content inside the area below and press OK.","title":"Itsatsi"},"colorbutton":{"auto":"Automatikoa","bgColorTitle":"Atzeko planoko kolorea","colors":{"000":"Beltza","800000":"Granatea","8B4513":"Zela marroia","2F4F4F":"Arbel gris iluna","008080":"Urdin berdexka","000080":"Urdin iluna","4B0082":"Indigoa","696969":"Gris iluna","B22222":"Adreilu erregogorra","A52A2A":"Marroia","DAA520":"Urrezko makila","006400":"Berde iluna","40E0D0":"Turkesa","0000CD":"Urdin ertaina","800080":"Morea","808080":"Grisa","F00":"Gorria","FF8C00":"Laranja iluna","FFD700":"Urrea","008000":"Berdea","0FF":"Ziana","00F":"Urdina","EE82EE":"Bioleta","A9A9A9":"Gris ahula","FFA07A":"Izokin-kolore argia","FFA500":"Laranja","FFFF00":"Horia","00FF00":"Lima","AFEEEE":"Turkesa argia","ADD8E6":"Urdin argia","DDA0DD":"Aran-kolorea","D3D3D3":"Gris argia","FFF0F5":"Izpiliku-gorrixka","FAEBD7":"Zuri zaharra","FFFFE0":"Hori argia","F0FFF0":"Ezti-ihintza","F0FFFF":"Zeru-urdina","F0F8FF":"Alizia urdina","E6E6FA":"Izpilikua","FFF":"Zuria","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Gris iluna"},"more":"Kolore gehiago...","panelTitle":"Koloreak","textColorTitle":"Testu-kolorea"},"colordialog":{"clear":"Garbitu","highlight":"Nabarmendu","options":"Kolore aukerak","selected":"Hautatutako kolorea","title":"Hautatu kolorea"},"templates":{"button":"Txantiloiak","emptyListMsg":"(Ez dago txantiloirik definituta)","insertOption":"Ordeztu uneko edukiak","options":"Txantiloi aukerak","selectPromptMsg":"Mesedez hautatu txantiloia editorean irekitzeko","title":"Eduki txantiloiak"},"contextmenu":{"options":"Testuinguru-menuaren aukerak"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Aholkatutako izenburua","cssClassInputLabel":"Estilo-orriko klaseak","edit":"Editatu Div-a","inlineStyleInputLabel":"Lineako estiloa","langDirLTRLabel":"Ezkerretik eskuinera (LTR)","langDirLabel":"Hizkuntzaren norabidea","langDirRTLLabel":"Eskuinetik ezkerrera (RTL)","languageCodeInputLabel":"Hizkuntzaren kodea","remove":"Kendu Div-a","styleSelectLabel":"Estiloa","title":"Sortu Div edukiontzia","toolbar":"Sortu Div edukiontzia"},"elementspath":{"eleLabel":"Elementuen bidea","eleTitle":"%1 elementua"},"filetools":{"loadError":"Errorea gertatu da fitxategia irakurtzean.","networkError":"Sareko errorea gertatu da fitxategia kargatzean.","httpError404":"HTTP errorea gertatu da fitxategia kargatzean (404: Fitxategia ez da aurkitu).","httpError403":"HTTP errorea gertatu da fitxategia kargatzean (403: Debekatuta).","httpError":"HTTP errorea gertatu da fitxategia kargatzean (errore-egoera: %1).","noUrlError":"Kargatzeko URLa definitu gabe.","responseError":"Zerbitzariaren erantzun okerra."},"find":{"find":"Bilatu","findOptions":"Bilaketaren aukerak","findWhat":"Bilatu hau:","matchCase":"Maiuskula/minuskula","matchCyclic":"Bilaketa ziklikoa","matchWord":"Bilatu hitz osoa","notFoundMsg":"Ez da aurkitu zehazturiko testua.","replace":"Ordezkatu","replaceAll":"Ordezkatu guztiak","replaceSuccessMsg":"%1 aldiz ordezkatua.","replaceWith":"Ordezkatu honekin:","title":"Bilatu eta ordezkatu"},"fakeobjects":{"anchor":"Aingura","flash":"Flash animazioa","hiddenfield":"Ezkutuko eremua","iframe":"IFrame-a","unknown":"Objektu ezezaguna"},"flash":{"access":"Script atzipena","accessAlways":"Beti","accessNever":"Inoiz ere ez","accessSameDomain":"Domeinu berekoak","alignAbsBottom":"Abs behean","alignAbsMiddle":"Abs erdian","alignBaseline":"Oinean","alignTextTop":"Testua goian","bgcolor":"Atzeko planoko kolorea","chkFull":"Onartu pantaila osoa","chkLoop":"Begizta","chkMenu":"Gaitu Flash-en menua","chkPlay":"Erreproduzitu automatikoki","flashvars":"Flash-en aldagaiak","hSpace":"HSpace","properties":"Flash-en propietateak","propertiesTab":"Propietateak","quality":"Kalitatea","qualityAutoHigh":"Auto altua","qualityAutoLow":"Auto baxua","qualityBest":"Hoberena","qualityHigh":"Altua","qualityLow":"Baxua","qualityMedium":"Ertaina","scale":"Eskalatu","scaleAll":"Erakutsi dena","scaleFit":"Doitu","scaleNoBorder":"Ertzik gabe","title":"Flash-en propietateak","vSpace":"VSpace","validateHSpace":"HSpace zenbaki bat izan behar da.","validateSrc":"URLak ezin du hutsik egon.","validateVSpace":"VSpace zenbaki bat izan behar da.","windowMode":"Leiho-modua","windowModeOpaque":"Opakoa","windowModeTransparent":"Gardena","windowModeWindow":"Leihoa"},"font":{"fontSize":{"label":"Tamaina","voiceLabel":"Letra-tamaina","panelTitle":"Letra-tamaina"},"label":"Letra-tipoa","panelTitle":"Letra-tipoaren izena","voiceLabel":"Letra-tipoa"},"forms":{"button":{"title":"Botoiaren ezaugarriak","text":"Testua (balioa)","type":"Mota","typeBtn":"Botoia","typeSbm":"Bidali","typeRst":"Berrezarri"},"checkboxAndRadio":{"checkboxTitle":"Kontrol-laukiaren propietateak","radioTitle":"Aukera-botoiaren propietateak","value":"Balioa","selected":"Hautatuta","required":"Beharrezkoa"},"form":{"title":"Formularioaren propietateak","menu":"Formularioaren propietateak","action":"Ekintza","method":"Metodoa","encoding":"Kodeketa"},"hidden":{"title":"Ezkutuko eremuaren propietateak","name":"Izena","value":"Balioa"},"select":{"title":"Hautespen eremuaren propietateak","selectInfo":"Hautatu informazioa","opAvail":"Erabilgarri dauden aukerak","value":"Balioa","size":"Tamaina","lines":"lerro kopurua","chkMulti":"baimendu hautapen anitzak","required":"Beharrezkoa","opText":"Testua","opValue":"Balioa","btnAdd":"Gehitu","btnModify":"Aldatu","btnUp":"Gora","btnDown":"Behera","btnSetValue":"Ezarri hautatutako balio bezala","btnDelete":"Ezabatu"},"textarea":{"title":"Testu-arearen propietateak","cols":"Zutabeak","rows":"Errenkadak"},"textfield":{"title":"Testu-eremuaren propietateak","name":"Izena","value":"Balioa","charWidth":"Karaktere-zabalera","maxChars":"Gehienezko karaktereak","required":"Beharrezkoa","type":"Mota","typeText":"Testua","typePass":"Pasahitza","typeEmail":"E-posta","typeSearch":"Bilatu","typeTel":"Telefono zenbakia","typeUrl":"URLa"}},"format":{"label":"Formatua","panelTitle":"Paragrafoaren formatua","tag_address":"Helbidea","tag_div":"Normala (DIV)","tag_h1":"Izenburua 1","tag_h2":"Izenburua 2","tag_h3":"Izenburua 3","tag_h4":"Izenburua 4","tag_h5":"Izenburua 5","tag_h6":"Izenburua 6","tag_p":"Normala","tag_pre":"Formatuduna"},"horizontalrule":{"toolbar":"Txertatu marra horizontala"},"iframe":{"border":"Erakutsi markoaren ertza","noUrl":"Idatzi iframe-aren URLa, mesedez.","scrolling":"Gaitu korritze-barrak","title":"IFrame-aren propietateak","toolbar":"IFrame-a"},"image":{"alt":"Ordezko testua","border":"Ertza","btnUpload":"Bidali zerbitzarira","button2Img":"Hautatutako irudi-botoia irudi arrunt bihurtu nahi duzu?","hSpace":"HSpace","img2Button":"Hautatutako irudia irudi-botoi bihurtu nahi duzu?","infoTab":"Irudiaren informazioa","linkTab":"Esteka","lockRatio":"Blokeatu erlazioa","menu":"Irudiaren propietateak","resetSize":"Berrezarri tamaina","title":"Irudiaren propietateak","titleButton":"Irudi-botoiaren propietateak","upload":"Kargatu","urlMissing":"Irudiaren iturburuaren URLa falta da.","vSpace":"VSpace","validateBorder":"Ertza zenbaki oso bat izan behar da.","validateHSpace":"HSpace zenbaki oso bat izan behar da.","validateVSpace":"VSpace zenbaki oso bat izan behar da."},"indent":{"indent":"Handitu koska","outdent":"Txikitu koska"},"smiley":{"options":"Aurpegieren aukerak","title":"Txertatu aurpegiera","toolbar":"Aurpegierak"},"language":{"button":"Ezarri hizkuntza","remove":"Kendu hizkuntza"},"link":{"acccessKey":"Sarbide-tekla","advanced":"Aurreratua","advisoryContentType":"Aholkatutako eduki-mota","advisoryTitle":"Aholkatutako izenburua","anchor":{"toolbar":"Aingura","menu":"Editatu aingura","title":"Ainguraren propietateak","name":"Ainguraren izena","errorName":"Idatzi ainguraren izena","remove":"Kendu aingura"},"anchorId":"Elementuaren Id-aren arabera","anchorName":"Aingura-izenaren arabera","charset":"Estekatutako baliabide karaktere-jokoa","cssClasses":"Estilo-orriko klaseak","download":"Force Download","displayText":"Bistaratu testua","emailAddress":"E-posta helbidea","emailBody":"Mezuaren gorputza","emailSubject":"Mezuaren gaia","id":"Id","info":"Estekaren informazioa","langCode":"Hizkuntzaren kodea","langDir":"Hizkuntzaren norabidea","langDirLTR":"Ezkerretik eskuinera (LTR)","langDirRTL":"Eskuinetik ezkerrera (RTL)","menu":"Editatu esteka","name":"Izena","noAnchors":"(Ez dago aingurarik erabilgarri dokumentuan)","noEmail":"Mesedez idatzi e-posta helbidea","noUrl":"Mesedez idatzi estekaren URLa","other":"<bestelakoa>","popupDependent":"Menpekoa (Netscape)","popupFeatures":"Laster-leihoaren ezaugarriak","popupFullScreen":"Pantaila osoa (IE)","popupLeft":"Ezkerreko posizioa","popupLocationBar":"Kokaleku-barra","popupMenuBar":"Menu-barra","popupResizable":"Tamaina aldakorra","popupScrollBars":"Korritze-barrak","popupStatusBar":"Egoera-barra","popupToolbar":"Tresna-barra","popupTop":"Goiko posizioa","rel":"Erlazioa","selectAnchor":"Hautatu aingura","styles":"Estiloa","tabIndex":"Tabulazio indizea","target":"Helburua","targetFrame":"<frame>","targetFrameName":"Helburuko markoaren izena","targetPopup":"<laster-leihoa>","targetPopupName":"Laster-leihoaren izena","title":"Esteka","toAnchor":"Estekatu testuko aingurara","toEmail":"E-posta","toUrl":"URLa","toolbar":"Esteka","type":"Esteka-mota","unlink":"Kendu esteka","upload":"Kargatu"},"list":{"bulletedlist":"Buletdun Zerrenda","numberedlist":"Zenbakidun Zerrenda"},"liststyle":{"armenian":"Zenbakitze armeniarra","bulletedTitle":"Buletadun zerrendaren propietateak","circle":"Zirkulua","decimal":"Hamartarra (1, 2, 3...)","decimalLeadingZero":"Aurretik zeroa duen hamartarra (01, 02, 03...)","disc":"Diskoa","georgian":"Zenbakitze georgiarra (an, ban, gan...)","lowerAlpha":"Alfabetoa minuskulaz (a, b, c, d, e...)","lowerGreek":"Greziera minuskulaz (alpha, beta, gamma...)","lowerRoman":"Erromatarra minuskulaz (i, ii, iii, iv, v...)","none":"Bat ere ez","notset":"<ezarri gabea>","numberedTitle":"Zenbakidun zerrendaren propietateak","square":"Karratua","start":"Hasi","type":"Mota","upperAlpha":"Alfabetoa maiuskulaz (A, B, C, D, E...)","upperRoman":"Erromatarra maiuskulaz (I, II, III, IV, V, etc.)","validateStartNumber":"Zerrendaren hasierako zenbakiak zenbaki osoa izan behar du."},"magicline":{"title":"Txertatu paragrafoa hemen"},"maximize":{"maximize":"Maximizatu","minimize":"Minimizatu"},"newpage":{"toolbar":"Orrialde berria"},"pagebreak":{"alt":"Orrialde-jauzia","toolbar":"Txertatu orrialde-jauzia inprimatzean"},"pastetext":{"button":"Itsatsi testu arrunta bezala","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Itsatsi testu arrunta bezala"},"pastefromword":{"confirmCleanup":"Itsatsi nahi duzun testua Word-etik kopiatua dela dirudi. Itsatsi baino lehen garbitu nahi duzu?","error":"Barne-errore bat dela eta ezin izan da itsatsitako testua garbitu","title":"Itsatsi Word-etik","toolbar":"Itsatsi Word-etik"},"preview":{"preview":"Aurrebista"},"print":{"toolbar":"Inprimatu"},"removeformat":{"toolbar":"Kendu formatua"},"save":{"toolbar":"Gorde"},"selectall":{"toolbar":"Hautatu dena"},"showblocks":{"toolbar":"Erakutsi blokeak"},"sourcearea":{"toolbar":"Iturburua"},"specialchar":{"options":"Karaktere berezien aukerak","title":"Hautatu karaktere berezia","toolbar":"Txertatu karaktere berezia"},"scayt":{"btn_about":"SCAYTi buruz","btn_dictionaries":"Hiztegiak","btn_disable":"Desgaitu SCAYT","btn_enable":"Gaitu SCAYT","btn_langs":"Hizkuntzak","btn_options":"Aukerak","text_title":"Ortografia Zuzenketa Idatzi Ahala (SCAYT)"},"stylescombo":{"label":"Estiloak","panelTitle":"Formatu estiloak","panelTitle1":"Bloke estiloak","panelTitle2":"Lineako estiloak","panelTitle3":"Objektu estiloak"},"table":{"border":"Ertzaren zabalera","caption":"Epigrafea","cell":{"menu":"Gelaxka","insertBefore":"Txertatu gelaxka aurretik","insertAfter":"Txertatu gelaxka ondoren","deleteCell":"Ezabatu gelaxkak","merge":"Batu gelaxkak","mergeRight":"Batu eskuinetara","mergeDown":"Batu behera","splitHorizontal":"Banatu gelaxka horizontalki","splitVertical":"Banatu gelaxka bertikalki","title":"Gelaxkaren propietateak","cellType":"Gelaxka-mota","rowSpan":"Errenkaden hedadura","colSpan":"Zutabeen hedadura","wordWrap":"Itzulbira","hAlign":"Lerrokatze horizontala","vAlign":"Lerrokatze bertikala","alignBaseline":"Oinarri-lerroan","bgColor":"Atzeko planoaren kolorea","borderColor":"Ertzaren kolorea","data":"Data","header":"Goiburua","yes":"Bai","no":"Ez","invalidWidth":"Gelaxkaren zabalera zenbaki bat izan behar da.","invalidHeight":"Gelaxkaren altuera zenbaki bat izan behar da.","invalidRowSpan":"Errenkaden hedadura zenbaki osoa izan behar da.","invalidColSpan":"Zutabeen hedadura zenbaki osoa izan behar da.","chooseColor":"Aukeratu"},"cellPad":"Gelaxken betegarria","cellSpace":"Gelaxka arteko tartea","column":{"menu":"Zutabea","insertBefore":"Txertatu zutabea aurretik","insertAfter":"Txertatu zutabea ondoren","deleteColumn":"Ezabatu zutabeak"},"columns":"Zutabeak","deleteTable":"Ezabatu taula","headers":"Goiburuak","headersBoth":"Biak","headersColumn":"Lehen zutabea","headersNone":"Bat ere ez","headersRow":"Lehen errenkada","invalidBorder":"Ertzaren tamaina zenbaki bat izan behar da.","invalidCellPadding":"Gelaxken betegarria zenbaki bat izan behar da.","invalidCellSpacing":"Gelaxka arteko tartea zenbaki bat izan behar da.","invalidCols":"Zutabe kopurua 0 baino handiagoa den zenbakia izan behar da.","invalidHeight":"Taularen altuera zenbaki bat izan behar da.","invalidRows":"Errenkada kopurua 0 baino handiagoa den zenbakia izan behar da.","invalidWidth":"Taularen zabalera zenbaki bat izan behar da.","menu":"Taularen propietateak","row":{"menu":"Errenkada","insertBefore":"Txertatu errenkada aurretik","insertAfter":"Txertatu errenkada ondoren","deleteRow":"Ezabatu errenkadak"},"rows":"Errenkadak","summary":"Laburpena","title":"Taularen propietateak","toolbar":"Taula","widthPc":"ehuneko","widthPx":"pixel","widthUnit":"zabalera unitatea"},"undo":{"redo":"Berregin","undo":"Desegin"},"widget":{"move":"Klikatu eta arrastatu lekuz aldatzeko","label":"%1 widget"},"uploadwidget":{"abort":"Karga erabiltzaileak bertan behera utzita.","doneOne":"Fitxategia behar bezala kargatu da.","doneMany":"Behar bezala kargatu dira %1 fitxategi.","uploadOne":"Fitxategia kargatzen ({percentage}%)...","uploadMany":"Fitxategiak kargatzen, {current} / {max} eginda ({percentage}%)..."},"wsc":{"btnIgnore":"Ezikusi","btnIgnoreAll":"Denak Ezikusi","btnReplace":"Ordezkatu","btnReplaceAll":"Denak Ordezkatu","btnUndo":"Desegin","changeTo":"Honekin ordezkatu","errorLoading":"Errorea gertatu da aplikazioa zerbitzaritik kargatzean: %s.","ieSpellDownload":"Zuzentzaile ortografikoa ez dago instalatuta. Deskargatu nahi duzu?","manyChanges":"Zuzenketa ortografikoa bukatuta: %1 hitz aldatu dira","noChanges":"Zuzenketa ortografikoa bukatuta: Ez da ezer aldatu","noMispell":"Zuzenketa ortografikoa bukatuta: Akatsik ez","noSuggestions":"- Iradokizunik ez -","notAvailable":"Barkatu baina momentu honetan zerbitzua ez dago erabilgarri.","notInDic":"Ez dago hiztegian","oneChange":"Zuzenketa ortografikoa bukatuta: Hitz bat aldatu da","progress":"Zuzenketa ortografikoa martxan...","title":"Ortografia zuzenketa","toolbar":"Ortografia"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/eu.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/pt.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/pt.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/pt.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['pt']={"editor":"Editor de texto enriquecido","editorPanel":"Painel do editor de texto enriquecido","common":{"editorHelp":"Pressione ALT+0 para ajuda","browseServer":"Navegar no servidor","url":"URL","protocol":"Protocolo","upload":"Carregar","uploadSubmit":"Enviar para o servidor","image":"Imagem","flash":"Flash","form":"Formulário","checkbox":"Caixa de verificação","radio":"Botão","textField":"Campo de texto","textarea":"Área de texto","hiddenField":"Campo oculto","button":"Botão","select":"Campo de seleção","imageButton":"Botão da imagem","notSet":"<Não definido>","id":"ID","name":"Nome","langDir":"Direção do idioma","langDirLtr":"Esquerda para a Direita (EPD)","langDirRtl":"Direita para a Esquerda (DPE)","langCode":"Código do idioma","longDescr":"Descrição completa do URL","cssClass":"Classes de estilo das folhas","advisoryTitle":"Título consultivo","cssStyle":"Estilo","ok":"CONFIRMAR","cancel":"Cancelar","close":"Fechar","preview":"Pré-visualização","resize":"Redimensionar","generalTab":"Geral","advancedTab":"Avançado","validateNumberFailed":"Este valor não é um numero.","confirmNewPage":"Irão ser perdidas quaisquer alterações não guardadas. Tem a certeza que deseja carregar a nova página?","confirmCancel":"Foram alteradas algumas das opções. Tem a certeza que deseja fechar a janela?","options":"Opções","target":"Destino","targetNew":"Nova janela (_blank)","targetTop":"Janela superior (_top)","targetSelf":"Mesma janela (_self)","targetParent":"Janela dependente (_parent)","langDirLTR":"Esquerda para a Direita (EPD)","langDirRTL":"Direita para a Esquerda (DPE)","styles":"Estilo","cssClasses":"Classes de folhas de estilo","width":"Largura","height":"Altura","align":"Alinhamento","left":"Esquerda","right":"Direita","center":"Centrado","justify":"Justificado","alignLeft":"Alinhar à esquerda","alignRight":"Alinhar à direita","alignCenter":"Align Center","alignTop":"Topo","alignMiddle":"Centro","alignBottom":"Base","alignNone":"Nenhum","invalidValue":"Valor inválido.","invalidHeight":"A altura deve ser um número.","invalidWidth":"A largura deve ser um número. ","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"O valor especificado para o campo \"1%\" deve ser um número positivo, com ou sem uma unidade de medida CSS válida (px, %, in, cm, mm, em, ex, pt, ou pc).","invalidHtmlLength":"O valor especificado para o campo \"1%\" deve ser um número positivo, com ou sem uma unidade de medida HTML válida (px ou %).","invalidInlineStyle":"O valor especificado para o estilo em linha deve constituir um ou mais conjuntos de valores com o formato de \"nome : valor\", separados por ponto e vírgula.","cssLengthTooltip":"Insira um número para um valor em pontos ou um número com uma unidade CSS válida (px, %, in, cm, mm, em, ex, pt, ou pc).","unavailable":"%1<span class=\"cke_accessibility\">, indisponível</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Espaço","35":"Fim","36":"Entrada","46":"Eliminar","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Comando"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Direitos de Autor &copy; $1. Todos os direitos reservados.","dlgTitle":"Sobre o CKEditor 4","moreInfo":"Para informação sobre licenciamento visite o nosso sítio web:"},"basicstyles":{"bold":"Negrito","italic":"Itálico","strike":"Rasurado","subscript":"Superior à linha","superscript":"Superior à linha","underline":"Sublinhado"},"bidi":{"ltr":"Direção do texto da esquerda para a direita","rtl":"Direção do texto da direita para a esquerda"},"blockquote":{"toolbar":"Bloco de citação"},"notification":{"closed":"Notificação encerrada."},"button":{"selectedLabel":"%1 (Selecionado)"},"toolbar":{"toolbarCollapse":"Ocultar barra de ferramentas","toolbarExpand":"Expandir barra de ferramentas","toolbarGroups":{"document":"Documento","clipboard":"Área de transferência/Anular","editing":"Edição","forms":"Formulários","basicstyles":"Estilos básicos","paragraph":"Parágrafo","links":"Hiperligações","insert":"Inserir","styles":"Estilos","colors":"Cores","tools":"Ferramentas"},"toolbars":"Editor de barras de ferramentas"},"clipboard":{"copy":"Copiar","copyError":"A configuração de segurança do navegador não permite a execução automática de operações de copiar. Por favor use o teclado (Ctrl/Cmd+C).","cut":"Cortar","cutError":"A configuração de segurança do navegador não permite a execução automática de operações de cortar. Por favor use o teclado (Ctrl/Cmd+X).","paste":"Colar","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Colar área","pasteMsg":"Paste your content inside the area below and press OK.","title":"Colar"},"colorbutton":{"auto":"Automático","bgColorTitle":"Cor de fundo","colors":{"000":"Black","800000":"Castanho","8B4513":"Saddle Brown","2F4F4F":"Cinza lousa escuro","008080":"Teal","000080":"Azul naval","4B0082":"Indigo","696969":"Cinza escuro","B22222":"Vermelho tijolo","A52A2A":"Castanho","DAA520":"Dourado (daa520)","006400":"Verde escuro (006400)","40E0D0":"Turquesa","0000CD":"Azul médio (0000cd)","800080":"Purple","808080":"Cinza","F00":"Vermelho","FF8C00":"Laranja escuro","FFD700":"Dourado","008000":"Verde","0FF":"Ciano","00F":"Azul","EE82EE":"Violeta","A9A9A9":"Cinza fosco","FFA07A":"Salmão claro","FFA500":"Laranja","FFFF00":"Amarelo","00FF00":"Limão (Verde espectro)","AFEEEE":"Turquesa pálida (afeeee)","ADD8E6":"Light Blue","DDA0DD":"Ameixa","D3D3D3":"Cinza claro","FFF0F5":"Lavanda avermelhada","FAEBD7":"Branco velho","FFFFE0":"Amarelo claro","F0FFF0":"Maná (f0fff0)","F0FFFF":"Azul celeste","F0F8FF":"Azul Alice (f0f8ff)","E6E6FA":"Lavanda","FFF":"Branco","1ABC9C":"Ciano forte","2ECC71":"Esmeralda","3498DB":"Azul brilhante","9B59B6":"Amethyst","4E5F70":"Azul acinzentado","F1C40F":"Amarelo vívido","16A085":"Ciano escuro","27AE60":"Esmeralda escuro","2980B9":"Azul forte","8E44AD":"Violeta escuro","2C3E50":"Desaturated Blue","F39C12":"Laranja","E67E22":"Cenoura","E74C3C":"Vermelho claro","ECF0F1":"Prateado brilhante","95A5A6":"Ciano acinzentado claro","DDD":"Cinza claro","D35400":"Abóbora","C0392B":"Strong Red","BDC3C7":"Prateado","7F8C8D":"Ciano acinzentado","999":"Cinza escuro"},"more":"Mais cores...","panelTitle":"Cores","textColorTitle":"Cor do texto"},"colordialog":{"clear":"Limpar","highlight":"Realçar","options":"Opções de cor","selected":"Cor selecionada","title":"Selecionar cor"},"templates":{"button":"Temas","emptyListMsg":"(Sem temas definidos)","insertOption":"Substituir conteúdos atuais","options":"Opções do modelo","selectPromptMsg":"Por favor, selecione o modelo a abrir no editor","title":"Conteúdo dos modelos"},"contextmenu":{"options":"Menu de opções de contexto"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"Título","cssClassInputLabel":"Classes de folhas de estilo","edit":"Editar Div","inlineStyleInputLabel":"Estilo na etiqueta","langDirLTRLabel":"Esquerda para a direita (EPD)","langDirLabel":"Orientação de idioma","langDirRTLLabel":"Direita para a Esquerda (DPE)","languageCodeInputLabel":"Código do idioma","remove":"Remover Div","styleSelectLabel":"Estilo","title":"Criar Div","toolbar":"Criar Div"},"elementspath":{"eleLabel":"Caminho dos elementos","eleTitle":"Elemento %1"},"filetools":{"loadError":"Ocorreu um erro ao ler o ficheiro","networkError":"Ocorreu um erro de rede ao carregar o ficheiro.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Pesquisar","findOptions":"Opções de pesquisa","findWhat":"Texto a procurar:","matchCase":"Maiúsculas/Minúsculas","matchCyclic":"Match cyclic","matchWord":"Coincidir com toda a palavra","notFoundMsg":"O texto especificado não foi encontrado.","replace":"Substituir","replaceAll":"Substituir tudo","replaceSuccessMsg":"%1 ocurrências(s) substituídas.","replaceWith":"Substituir por:","title":"Pesquisar e substituir"},"fakeobjects":{"anchor":" Inserir/Editar âncora","flash":"Animação Flash","hiddenfield":"Campo oculto","iframe":"IFrame","unknown":"Objeto desconhecido"},"flash":{"access":"Acesso ao Script","accessAlways":"Sempre","accessNever":"Nunca","accessSameDomain":"Mesmo domínio","alignAbsBottom":"Abs inferior","alignAbsMiddle":"Abs centro","alignBaseline":"Linha de base","alignTextTop":"Topo do texto","bgcolor":"Cor de fundo","chkFull":"Permitir ecrã inteiro","chkLoop":"Cíclico","chkMenu":"Permitir menu do Flash","chkPlay":"Reproduzir automaticamente","flashvars":"Variáveis para o Flash","hSpace":"Esp. Horiz","properties":"Propriedades do Flash","propertiesTab":"Propriedades","quality":"Qualidade","qualityAutoHigh":"Altura automática","qualityAutoLow":"Baixa Automaticamente","qualityBest":"Melhor","qualityHigh":"Alta","qualityLow":"Baixa","qualityMedium":"Média","scale":"Escala","scaleAll":"Mostrar tudo","scaleFit":"Tamanho exato","scaleNoBorder":"Sem bordas","title":"Propriedades do Flash","vSpace":"Esp.Vert","validateHSpace":"HSpace tem de ser um numero.","validateSrc":"O URL não pode ficar vazio","validateVSpace":"VSpace tem de ser um número.","windowMode":"Modo de janela","windowModeOpaque":"Opaco","windowModeTransparent":"Transparente","windowModeWindow":"Janela"},"font":{"fontSize":{"label":"Tamanho","voiceLabel":"Tamanho da letra","panelTitle":"Tamanho da letra"},"label":"Fonte","panelTitle":"Nome do tipo de letra","voiceLabel":"Tipo de letra"},"forms":{"button":{"title":"Propriedades do botão","text":"Texto (valor)","type":"Tipo","typeBtn":"Botão","typeSbm":"Enviar","typeRst":"Repor"},"checkboxAndRadio":{"checkboxTitle":"Propriedades da caixa de verificação","radioTitle":"Propriedades do botão de rádio","value":"Valor","selected":"Selecionado","required":"Obrigatório"},"form":{"title":"Propriedades do formulário","menu":"Propriedades do formulário","action":"Ação","method":"Método","encoding":"Codificação"},"hidden":{"title":"Propriedades do campo oculto","name":"Nome","value":"Valor"},"select":{"title":"Propriedades da caixa de seleção","selectInfo":"Informação","opAvail":"Opções disponíveis","value":"Valor","size":"Tamanho","lines":"linhas","chkMulti":"Permitir seleções múltiplas","required":"Obrigatório","opText":"Texto","opValue":"Valor","btnAdd":"Adicionar","btnModify":"Modificar","btnUp":"Subir","btnDown":"Descer","btnSetValue":"Definir como valor selecionado","btnDelete":"Apagar"},"textarea":{"title":"Propriedades da área de texto","cols":"Colunas","rows":"Linhas"},"textfield":{"title":"Propriedades do campo de texto","name":"Nome","value":"Valor","charWidth":"Tamanho do caracter","maxChars":"Máximo de caracteres","required":"Obrigatório","type":"Tipo","typeText":"Texto","typePass":"Senha","typeEmail":"Email","typeSearch":"Pesquisar","typeTel":"Telefone","typeUrl":"URL"}},"format":{"label":"Formatar","panelTitle":"Formatar Parágrafo","tag_address":"Endereço","tag_div":"Normal (DIV)","tag_h1":"Título 1","tag_h2":"Título 2","tag_h3":"Título 3","tag_h4":"Título 4","tag_h5":"Título 5","tag_h6":"Título 6","tag_p":"Normal","tag_pre":"Formatado"},"horizontalrule":{"toolbar":"Inserir linha horizontal"},"iframe":{"border":"Mostrar a borda da Frame","noUrl":"Por favor, digite o URL da iframe","scrolling":"Ativar barras de rolamento","title":"Propriedades da IFrame","toolbar":"IFrame"},"image":{"alt":"Texto alternativo","border":"Limite","btnUpload":"Enviar para o servidor","button2Img":"Deseja transformar o botão com imagem selecionado numa imagem simples?","hSpace":"Esp. Horiz","img2Button":"Deseja transformar a imagem selecionada num botão com imagem?","infoTab":"Informação da imagem","linkTab":"Hiperligação","lockRatio":"Proporcional","menu":"Propriedades da Imagem","resetSize":"Tamanho original","title":"Propriedades da imagem","titleButton":"Propriedades do botão de imagem","upload":"Carregar","urlMissing":"O URL de origem da imagem está em falta.","vSpace":"Esp. Vert","validateBorder":"A borda tem de ser um número inteiro.","validateHSpace":"HSpace tem de ser um numero.","validateVSpace":"VSpace tem de ser um numero."},"indent":{"indent":"Aumentar avanço","outdent":"Diminuir avanço"},"smiley":{"options":"Opções de Emoticons","title":"Inserir um Emoticon","toolbar":"Emoticons"},"language":{"button":"Definir Idioma","remove":"Remover idioma"},"link":{"acccessKey":"Chave de acesso","advanced":"Avançado","advisoryContentType":"Tipo de conteúdo","advisoryTitle":"Título","anchor":{"toolbar":" Inserir/Editar âncora","menu":"Propriedades da âncora","title":"Propriedades da âncora","name":"Nome da âncora","errorName":"Por favor, introduza o nome da âncora","remove":"Remover âncora"},"anchorId":"Por ID do elemento","anchorName":"Por Nome de Referência","charset":"Fonte de caracteres vinculado","cssClasses":"Classes de Estilo","download":"Force Download","displayText":"Mostrar texto","emailAddress":"Endereço de email","emailBody":"Corpo da mensagem","emailSubject":"Título de mensagem","id":"ID","info":"Informação da hiperligação","langCode":"Código de idioma","langDir":"Orientação de idioma","langDirLTR":"Esquerda para a Direita (EPD)","langDirRTL":"Direita para a Esquerda (DPE)","menu":"Editar hiperligação","name":"Nome","noAnchors":"(Não existem âncoras no documento)","noEmail":"Por favor, escreva o endereço de email","noUrl":"Por favor, introduza o endereço URL","other":"<outro>","popupDependent":"Dependente (Netscape)","popupFeatures":"Características de janela flutuante","popupFullScreen":"Janela completa (IE)","popupLeft":"Posição esquerda","popupLocationBar":"Barra de localização","popupMenuBar":"Barra de menu","popupResizable":"Redimensionável","popupScrollBars":"Barras de deslocamento","popupStatusBar":"Barra de estado","popupToolbar":"Barra de ferramentas","popupTop":"Posição topo","rel":"Relação","selectAnchor":"Selecionar âncora","styles":"Estilo","tabIndex":"Índice de tabulação","target":"Alvo","targetFrame":"<frame>","targetFrameName":"Nome da janela de destino","targetPopup":"<janela de popup>","targetPopupName":"Nome da janela flutuante","title":"Hiperligação","toAnchor":"Ligar a âncora no texto","toEmail":"Email","toUrl":"URL","toolbar":"Hiperligação","type":"Tipo de hiperligação","unlink":"Eliminar hiperligação","upload":"Carregar"},"list":{"bulletedlist":"Marcas","numberedlist":"Numeração"},"liststyle":{"armenian":"Numeração armênia","bulletedTitle":"Propriedades da lista não numerada","circle":"Círculo","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Zero decimal à esquerda (01, 02, 03, etc.)","disc":"Disco","georgian":"Numeração georgiana (an, ban, gan, etc.)","lowerAlpha":"Minúsculas (a, b, c, d, e, etc.)","lowerGreek":"Grego em minúsculas (alpha, beta, gamma, etc.)","lowerRoman":"Romano em minúsculas (i, ii, iii, iv, v, etc.)","none":"Nenhum","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Quadrado","start":"Iniciar","type":"Tipo","upperAlpha":"Maiúsculas (A, B, C, D, E, etc.)","upperRoman":"Romanos em maiúscula (I, II, III, IV, V, etc.)","validateStartNumber":"A lista tem iniciar por um número inteiro"},"magicline":{"title":"Inserir parágrafo aqui"},"maximize":{"maximize":"Maximizar","minimize":"Minimizar"},"newpage":{"toolbar":"Nova página"},"pagebreak":{"alt":"Quebra de página","toolbar":"Inserir quebra de página"},"pastetext":{"button":"Colar como texto simples","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Colar como texto simples"},"pastefromword":{"confirmCleanup":"O texto que pretende colar parece ter sido copiado do Word. Deseja limpar o código antes de o colar?","error":"Não foi possível limpar a informação colada devido a um erro interno.","title":"Colar do Word","toolbar":"Colar do Word"},"preview":{"preview":"Pré-visualizar"},"print":{"toolbar":"Imprimir"},"removeformat":{"toolbar":"Limpar formatação"},"save":{"toolbar":"Guardar"},"selectall":{"toolbar":"Selecionar tudo"},"showblocks":{"toolbar":"Exibir blocos"},"sourcearea":{"toolbar":"Fonte"},"specialchar":{"options":"Opções de caracteres especiais","title":"Selecione um caracter especial","toolbar":"Inserir carácter especial"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Estilos","panelTitle":"Estilos de formatação","panelTitle1":"Estilos de bloco","panelTitle2":"Estilos nas etiquetas","panelTitle3":"Estilos em objeto"},"table":{"border":"Tamanho do contorno","caption":"Legenda","cell":{"menu":"Célula","insertBefore":"Inserir célula antes","insertAfter":"Inserir célula depois","deleteCell":"Apagar células","merge":"Unir células","mergeRight":"Unir à direita","mergeDown":"Fundir abaixo","splitHorizontal":"Dividir célula horizontalmente","splitVertical":"Dividir célula verticalmente","title":"Propriedades da célula","cellType":"Tipo de célula","rowSpan":"Linhas na célula","colSpan":"Colunas na célula","wordWrap":"Moldar texto","hAlign":"Alinhamento horizontal","vAlign":"Alinhamento vertical","alignBaseline":"Linha base","bgColor":"Cor de fundo","borderColor":"Cor da margem","data":"Dados","header":"Cabeçalho","yes":"Sim","no":"Não","invalidWidth":"A largura da célula deve ser um número.","invalidHeight":"A altura da célula deve ser um número.","invalidRowSpan":"As linhas da célula devem ser um número inteiro.","invalidColSpan":"As colunas da célula devem ter um número inteiro.","chooseColor":"Escolher"},"cellPad":"Espaço interior","cellSpace":"Espaçamento de célula","column":{"menu":"Coluna","insertBefore":"Inserir coluna antes","insertAfter":"Inserir coluna depois","deleteColumn":"Apagar colunas"},"columns":"Colunas","deleteTable":"Apagar tabela","headers":"Cabeçalhos","headersBoth":"Ambos","headersColumn":"Primeira coluna","headersNone":"Nenhum","headersRow":"Primeira linha","invalidBorder":"O tamanho da margem tem de ser um número.","invalidCellPadding":"A criação do espaço na célula deve ser um número positivo.","invalidCellSpacing":"O espaçamento da célula deve ser um número positivo.","invalidCols":"O número de colunas tem de ser um número maior que 0.","invalidHeight":"A altura da tabela tem de ser um número.","invalidRows":"O número de linhas tem de ser maior que 0.","invalidWidth":"A largura da tabela tem de ser um número.","menu":"Propriedades da tabela","row":{"menu":"Linha","insertBefore":"Inserir linha antes","insertAfter":"Inserir linha depois","deleteRow":"Apagar linhas"},"rows":"Linhas","summary":"Resumo","title":"Propriedades da tabela","toolbar":"Tabela","widthPc":"percentagem","widthPx":"pixéis","widthUnit":"unidade da largura"},"undo":{"redo":"Refazer","undo":"Anular"},"widget":{"move":"Clique e arraste para mover","label":"%1 widget"},"uploadwidget":{"abort":"Carregamento cancelado pelo utilizador.","doneOne":"Ficheiro carregado com sucesso.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorar","btnIgnoreAll":"Ignorar Tudo","btnReplace":"Substituir","btnReplaceAll":"Substituir Tudo","btnUndo":"Anular","changeTo":"Mudar para","errorLoading":"Error loading application service host: %s.","ieSpellDownload":" Verificação ortográfica não instalada. Quer descarregar agora?","manyChanges":"Verificação ortográfica completa: %1 palavras alteradas","noChanges":"Verificação ortográfica completa: não houve alteração de palavras","noMispell":"Verificação ortográfica completa: não foram encontrados erros","noSuggestions":"- Sem sugestões -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Não está num directório","oneChange":"Verificação ortográfica completa: uma palavra alterada","progress":"Verificação ortográfica em progresso…","title":"Spell Checker","toolbar":"Verificação Ortográfica"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/pt.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/tt.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/tt.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/tt.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['tt']={"editor":"Форматлаулы текст өлкәсе","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Ярдәм өчен ALT 0 басыгыз","browseServer":"Сервер карап чыгу","url":"Сылталама","protocol":"Протокол","upload":"Йөкләү","uploadSubmit":"Серверга җибәрү","image":"Рәсем","flash":"Флеш","form":"Форма","checkbox":"Чекбокс","radio":"Радио төймә","textField":"Текст кыры","textarea":"Текст мәйданы","hiddenField":"Яшерен кыр","button":"Төймə","select":"Сайлау кыры","imageButton":"Рәсемле төймə","notSet":"<билгеләнмәгән>","id":"Id","name":"Исем","langDir":"Язылыш юнəлеше","langDirLtr":"Сулдан уңга язылыш (LTR)","langDirRtl":"Уңнан сулга язылыш (RTL)","langCode":"Тел коды","longDescr":"Җентекле тасвирламага сылталама","cssClass":"Стильләр класслары","advisoryTitle":"Киңәш исем","cssStyle":"Стиль","ok":"Тәмам","cancel":"Баш тарту","close":"Чыгу","preview":"Карап алу","resize":"Зурлыкны үзгәртү","generalTab":"Төп","advancedTab":"Киңәйтелгән көйләүләр","validateNumberFailed":"Әлеге кыйммәт сан түгел.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Үзлекләр","target":"Максат","targetNew":"Яңа тәрәзә (_blank)","targetTop":"Өске тәрәзә (_top)","targetSelf":"Шул үк тәрәзә (_self)","targetParent":"Ана тәрәзә (_parent)","langDirLTR":"Сулдан уңга язылыш (LTR)","langDirRTL":"Уңнан сулга язылыш (RTL)","styles":"Стиль","cssClasses":"Стильләр класслары","width":"Киңлек","height":"Биеклек","align":"Тигезләү","left":"Сул якка","right":"Уң якка","center":"Үзәккә","justify":"Киңлеккә карап тигезләү","alignLeft":"Сул як кырыйдан тигезләү","alignRight":"Уң як кырыйдан тигезләү","alignCenter":"Align Center","alignTop":"Өскә","alignMiddle":"Уртага","alignBottom":"Аска","alignNone":"Һичбер","invalidValue":"Дөрес булмаган кыйммәт.","invalidHeight":"Биеклек сан булырга тиеш.","invalidWidth":"Киңлек сан булырга тиеш.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Кайтару","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Бетерү","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Бар хокуклар сакланган","dlgTitle":"CKEditor турында","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Калын","italic":"Курсив","strike":"Сызылган","subscript":"Аскы индекс","superscript":"Өске индекс","underline":"Астына сызылган"},"bidi":{"ltr":"Сулдан уңга язылыш","rtl":"Уңнан сулга язылыш"},"blockquote":{"toolbar":"Өземтә блогы"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Сайланган)"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Документ","clipboard":"Алмашу буферы/Кайтару","editing":"Төзәтү","forms":"Формалар","basicstyles":"Төп стильләр","paragraph":"Параграф","links":"Сылталамалар","insert":"Өстәү","styles":"Стильләр","colors":"Төсләр","tools":"Кораллар"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Күчермәләү","copyError":"Браузерыгызның иминлек үзлекләре автоматик рәвештә күчермәләү үтәүне тыя. Тиз төймәләрне (Ctrl/Cmd+C) кулланыгыз.","cut":"Кисеп алу","cutError":"Браузерыгызның иминлек үзлекләре автоматик рәвештә күчермәләү үтәүне тыя. Тиз төймәләрне (Ctrl/Cmd+C) кулланыгыз.","paste":"Өстәү","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Өстәү мәйданы","pasteMsg":"Paste your content inside the area below and press OK.","title":"Өстәү"},"colorbutton":{"auto":"Автоматик","bgColorTitle":"Фон төсе","colors":{"000":"Кара","800000":"Бордо","8B4513":"Дарчин","2F4F4F":"Аспид соры","008080":"Күкле-яшелле","000080":"Куе күк","4B0082":"Индиго","696969":"Куе соры","B22222":"Кармин","A52A2A":"Чия кызыл","DAA520":"Алтын каен","006400":"Үлән","40E0D0":"Фирәзә","0000CD":"Фарсы күк","800080":"Шәмәхә","808080":"Соры","F00":"Кызыл","FF8C00":"Кабак","FFD700":"Алтын","008000":"Яшел","0FF":"Ачык зәңгәр","00F":"Зәңгәр","EE82EE":"Миләүшә","A9A9A9":"Ачык соры","FFA07A":"Кызгылт сары алсу","FFA500":"Кызгылт сары","FFFF00":"Сары","00FF00":"Лайм","AFEEEE":"Тонык күк","ADD8E6":"Тонык күкбаш","DDA0DD":"Аксыл шәмәхә","D3D3D3":"Ачык соры","FFF0F5":"Ал ала миләүшә","FAEBD7":"Җитен","FFFFE0":"Ачык сары","F0FFF0":"Аксыл көрән","F0FFFF":"Ап-ак","F0F8FF":"Аксыл зәңгәр диңгез","E6E6FA":"Ала миләүшә","FFF":"Ак","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Башка төсләр...","panelTitle":"Төсләр","textColorTitle":"Текст төсе"},"colordialog":{"clear":"Бушату","highlight":"Билгеләү","options":"Төс көйләүләре","selected":"Сайланган төсләр","title":"Төс сайлау"},"templates":{"button":"Шаблоннар","emptyListMsg":"(Шаблоннар билгеләнмәгән)","insertOption":"Әлеге эчтәлекне алмаштыру","options":"Шаблон үзлекләре","selectPromptMsg":"Please select the template to open in the editor","title":"Эчтәлек шаблоннары"},"contextmenu":{"options":"Контекст меню үзлекләре"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Идентификатор","advisoryTitleInputLabel":"Киңәш исем","cssClassInputLabel":"Стильләр класслары","edit":"Edit Div","inlineStyleInputLabel":"Эчке стиль","langDirLTRLabel":"Сулдан уңга язылыш (LTR)","langDirLabel":"Язылыш юнəлеше","langDirRTLLabel":"Уңнан сулга язылыш (RTL)","languageCodeInputLabel":"Тел коды","remove":"Remove Div","styleSelectLabel":"Стиль","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 элемент"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Эзләү","findOptions":"Эзләү көйләүләре","findWhat":"Нәрсә эзләргә:","matchCase":"Баш һәм юл хәрефләрен исәпкә алу","matchCyclic":"Кабатлап эзләргә","matchWord":"Сүзләрне тулысынча гына эзләү","notFoundMsg":"Эзләнгән текст табылмады.","replace":"Алмаштыру","replaceAll":"Барысын да алмаштыру","replaceSuccessMsg":"%1 урында(ларда) алмаштырылган.","replaceWith":"Нәрсәгә алмаштыру:","title":"Эзләп табу һәм алмаштыру"},"fakeobjects":{"anchor":"Якорь","flash":"Флеш анимациясы","hiddenfield":"Яшерен кыр","iframe":"IFrame","unknown":"Танылмаган объект"},"flash":{"access":"Script Access","accessAlways":"Һəрвакыт","accessNever":"Беркайчан да","accessSameDomain":"Same domain","alignAbsBottom":"Иң аска","alignAbsMiddle":"Төгәл уртада","alignBaseline":"Таяныч сызыгы","alignTextTop":"Текст өсте","bgcolor":"Фон төсе","chkFull":"Allow Fullscreen","chkLoop":"Әйләнеш","chkMenu":"Enable Flash Menu","chkPlay":"Auto Play","flashvars":"Variables for Flash","hSpace":"Горизонталь ара","properties":"Флеш үзлекләре","propertiesTab":"Үзлекләр","quality":"Сыйфат","qualityAutoHigh":"Авто югары сыйфат","qualityAutoLow":"Авто түбән сыйфат","qualityBest":"Иң югары сыйфат","qualityHigh":"Югары","qualityLow":"Түбəн","qualityMedium":"Уртача","scale":"Зурлык","scaleAll":"Барысын күрсәтү","scaleFit":"Exact Fit","scaleNoBorder":"Чиксез","title":"Флеш үзлекләре","vSpace":"Вертикаль ара","validateHSpace":"Горизонталь ара сан булырга тиеш.","validateSrc":"URL буш булмаска тиеш.","validateVSpace":"Вертикаль ара сан булырга тиеш.","windowMode":"Тəрəзə тәртибе","windowModeOpaque":"Үтә күренмәле","windowModeTransparent":"Үтə күренмəле","windowModeWindow":"Тəрəзə"},"font":{"fontSize":{"label":"Зурлык","voiceLabel":"Шрифт зурлыклары","panelTitle":"Шрифт зурлыклары"},"label":"Шрифт","panelTitle":"Шрифт исеме","voiceLabel":"Шрифт"},"forms":{"button":{"title":"Төймә үзлекләре","text":"Текст (күләм)","type":"Төр","typeBtn":"Төймә","typeSbm":"Җибәрү","typeRst":"Кире кайтару"},"checkboxAndRadio":{"checkboxTitle":"Checkbox Properties","radioTitle":"Радио төймə үзлекләре","value":"Күләм","selected":"Сайланган","required":"Мәҗбүри"},"form":{"title":"Форма үзлекләре","menu":"Форма үзлекләре","action":"Гамәл","method":"Ысул","encoding":"Кодировка"},"hidden":{"title":"Яшерен кыр үзлекләре","name":"Исем","value":"Күләм"},"select":{"title":"Selection Field Properties","selectInfo":"Информацияне сайлау","opAvail":"Мөмкин булган көйләүләр","value":"Күләм","size":"Зурлык","lines":"юллар","chkMulti":"Allow multiple selections","required":"Мәҗбүри","opText":"Текст","opValue":"Күләм","btnAdd":"Кушу","btnModify":"Үзгәртү","btnUp":"Өскә","btnDown":"Аска","btnSetValue":"Сайланган күләм булып билгеләргә","btnDelete":"Бетерү"},"textarea":{"title":"Текст мәйданы үзлекләре","cols":"Баганалар","rows":"Юллар"},"textfield":{"title":"Текст кыры үзлекләре","name":"Исем","value":"Күләм","charWidth":"Символлар киңлеге","maxChars":"Maximum Characters","required":"Мәҗбүри","type":"Төр","typeText":"Текст","typePass":"Сер сүз","typeEmail":"Эл. почта","typeSearch":"Эзләү","typeTel":"Телефон номеры","typeUrl":"Сылталама"}},"format":{"label":"Форматлау","panelTitle":"Параграф форматлавы","tag_address":"Адрес","tag_div":"Гади (DIV)","tag_h1":"Башлам 1","tag_h2":"Башлам 2","tag_h3":"Башлам 3","tag_h4":"Башлам 4","tag_h5":"Башлам 5","tag_h6":"Башлам 6","tag_p":"Гади","tag_pre":"Форматлаулы"},"horizontalrule":{"toolbar":"Ятма сызык өстәү"},"iframe":{"border":"Frame чикләрен күрсәтү","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame үзлекләре","toolbar":"IFrame"},"image":{"alt":"Альтернатив текст","border":"Чик","btnUpload":"Серверга җибәрү","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"Горизонталь ара","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Рәсем тасвирламасы","linkTab":"Сылталама","lockRatio":"Lock Ratio","menu":"Рәсем үзлекләре","resetSize":"Баштагы зурлык","title":"Рәсем үзлекләре","titleButton":"Рәсемле төймə үзлекләре","upload":"Йөкләү","urlMissing":"Image source URL is missing.","vSpace":"Вертикаль ара","validateBorder":"Чик киңлеге сан булырга тиеш.","validateHSpace":"Горизонталь ара бөтен сан булырга тиеш.","validateVSpace":"Вертикаль ара бөтен сан булырга тиеш."},"indent":{"indent":"Отступны арттыру","outdent":"Отступны кечерәйтү"},"smiley":{"options":"Смайл көйләүләре","title":"Смайл өстәү","toolbar":"Смайл"},"language":{"button":"Тел сайлау","remove":"Телне бетерү"},"link":{"acccessKey":"Access Key","advanced":"Киңәйтелгән көйләүләр","advisoryContentType":"Advisory Content Type","advisoryTitle":"Киңәш исем","anchor":{"toolbar":"Якорь","menu":"Якорьне үзгәртү","title":"Якорь үзлекләре","name":"Якорь исеме","errorName":"Якорьнең исемен языгыз","remove":"Якорьне бетерү"},"anchorId":"Элемент идентификаторы буенча","anchorName":"Якорь исеме буенча","charset":"Linked Resource Charset","cssClasses":"Стильләр класслары","download":"Force Download","displayText":"Display Text","emailAddress":"Электрон почта адресы","emailBody":"Хат эчтәлеге","emailSubject":"Хат темасы","id":"Идентификатор","info":"Сылталама тасвирламасы","langCode":"Тел коды","langDir":"Язылыш юнəлеше","langDirLTR":"Сулдан уңга язылыш (LTR)","langDirRTL":"Уңнан сулга язылыш (RTL)","menu":"Сылталамаyны үзгәртү","name":"Исем","noAnchors":"(Әлеге документта якорьләр табылмады)","noEmail":"Электрон почта адресын языгыз","noUrl":"Сылталаманы языгыз","other":"<бүтән>","popupDependent":"Бәйле (Netscape)","popupFeatures":"Popup Window Features","popupFullScreen":"Тулы экран (IE)","popupLeft":"Left Position","popupLocationBar":"Location Bar","popupMenuBar":"Menu Bar","popupResizable":"Resizable","popupScrollBars":"Scroll Bars","popupStatusBar":"Status Bar","popupToolbar":"Toolbar","popupTop":"Top Position","rel":"Бәйләнеш","selectAnchor":"Якорьне сайлау","styles":"Стиль","tabIndex":"Tab Index","target":"Максат","targetFrame":"<frame>","targetFrameName":"Target Frame Name","targetPopup":"<popup window>","targetPopupName":"Попап тәрәзәсе исеме","title":"Сылталама","toAnchor":"Якорьне текст белән бәйләү","toEmail":"Электрон почта","toUrl":"Сылталама","toolbar":"Сылталама","type":"Сылталама төре","unlink":"Сылталаманы бетерү","upload":"Йөкләү"},"list":{"bulletedlist":"Маркерлы тезмә өстәү/бетерү","numberedlist":" Номерланган тезмә өстәү/бетерү"},"liststyle":{"armenian":"Әрмән номерлавы","bulletedTitle":"Маркерлы тезмә үзлекләре","circle":"Түгәрәк","decimal":"Унарлы (1, 2, 3, ...)","decimalLeadingZero":"Ноль белән башланган унарлы (01, 02, 03, ...)","disc":"Диск","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"Һичбер","notset":"<билгеләнмәгән>","numberedTitle":"Номерлы тезмә үзлекләре","square":"Шакмак","start":"Башлау","type":"Төр","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Бирегә параграф өстәү"},"maximize":{"maximize":"Зурайту","minimize":"Кечерәйтү"},"newpage":{"toolbar":"Яңа бит"},"pagebreak":{"alt":"Бит бүлгече","toolbar":"Бастыру өчен бит бүлгечен өстәү"},"pastetext":{"button":"Форматлаусыз текст өстәү","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Форматлаусыз текст өстәү"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Word'тан өстәү","toolbar":"Word'тан өстәү"},"preview":{"preview":"Карап алу"},"print":{"toolbar":"Бастыру"},"removeformat":{"toolbar":"Форматлауны бетерү"},"save":{"toolbar":"Саклау"},"selectall":{"toolbar":"Барысын сайлау"},"showblocks":{"toolbar":"Блокларны күрсәтү"},"sourcearea":{"toolbar":"Чыганак"},"specialchar":{"options":"Махсус символ үзлекләре","title":"Махсус символ сайлау","toolbar":"Махсус символ өстәү"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Стильләр","panelTitle":"Форматлау стильләре","panelTitle1":"Блоклар стильләре","panelTitle2":"Эчке стильләр","panelTitle3":"Объектлар стильләре"},"table":{"border":"Чик калынлыгы","caption":"Исем","cell":{"menu":"Күзәнәк","insertBefore":"Алдына күзәнәк өстәү","insertAfter":"Артына күзәнәк өстәү","deleteCell":"Күзәнәкләрне бетерү","merge":"Күзәнәкләрне берләштерү","mergeRight":"Уң яктагы белән берләштерү","mergeDown":"Астагы белән берләштерү","splitHorizontal":"Күзәнәкне юлларга бүлү","splitVertical":"Күзәнәкне баганаларга бүлү","title":"Күзәнәк үзлекләре","cellType":"Күзәнәк төре","rowSpan":"Юлларны берләштерү","colSpan":"Баганаларны берләштерү","wordWrap":"Текстны күчерү","hAlign":"Ятма тигезләү","vAlign":"Асма тигезләү","alignBaseline":"Таяныч сызыгы","bgColor":"Фон төсе","borderColor":"Чик төсе","data":"Мәгълүмат","header":"Башлык","yes":"Әйе","no":"Юк","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Сайлау"},"cellPad":"Cell padding","cellSpace":"Cell spacing","column":{"menu":"Багана","insertBefore":"Сулдан баганалар өстәү","insertAfter":"Уңнан баганалар өстәү","deleteColumn":"Баганаларны бетерү"},"columns":"Баганалар","deleteTable":"Таблицаны бетерү","headers":"Башлыклар","headersBoth":"Икесе дә","headersColumn":"Беренче багана","headersNone":"Һичбер","headersRow":"Беренче юл","invalidBorder":"Чик киңлеге сан булырга тиеш.","invalidCellPadding":"Cell padding must be a positive number.","invalidCellSpacing":"Күзәнәкләр аралары уңай сан булырга тиеш.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Таблица биеклеге сан булырга тиеш.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Таблица киңлеге сан булырга тиеш","menu":"Таблица үзлекләре","row":{"menu":"Юл","insertBefore":"Өстән юллар өстәү","insertAfter":"Астан юллар өстәү","deleteRow":"Юлларны бетерү"},"rows":"Юллар","summary":"Йомгаклау","title":"Таблица үзлекләре","toolbar":"Таблица","widthPc":"процент","widthPx":"Нокталар","widthUnit":"киңлек берәмлеге"},"undo":{"redo":"Кабатлау","undo":"Кайтару"},"widget":{"move":"Күчереп куер өчен басып шудырыгыз","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/tt.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en-gb.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en-gb.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en-gb.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['en-gb']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Drag to resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialogue window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Align","left":"Left","right":"Right","center":"Center","justify":"Justify","alignLeft":"Align Left","alignRight":"Align Right","alignCenter":"Align Center","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK.","title":"Paste"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Colour","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Grey","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Grey","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Grey","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Grey","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"More Colours...","panelTitle":"Colours","textColorTitle":"Text Colour"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Colour Options","selected":"Selected Colour","title":"Select colour"},"templates":{"button":"Templates","emptyListMsg":"(No templates defined)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"Please select the template to open in the editor","title":"Content Templates"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Find","findOptions":"Find Options","findWhat":"Find what:","matchCase":"Match case","matchCyclic":"Match cyclic","matchWord":"Match whole word","notFoundMsg":"The specified text was not found.","replace":"Replace","replaceAll":"Replace All","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Replace with:","title":"Find and Replace"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs Bottom","alignAbsMiddle":"Abs Middle","alignBaseline":"Baseline","alignTextTop":"Text Top","bgcolor":"Background colour","chkFull":"Allow Fullscreen","chkLoop":"Loop","chkMenu":"Enable Flash Menu","chkPlay":"Auto Play","flashvars":"Variables for Flash","hSpace":"HSpace","properties":"Flash Properties","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Scale","scaleAll":"Show all","scaleFit":"Exact Fit","scaleNoBorder":"No Border","title":"Flash Properties","vSpace":"VSpace","validateHSpace":"HSpace must be a number.","validateSrc":"URL must not be empty.","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"forms":{"button":{"title":"Button Properties","text":"Text (Value)","type":"Type","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Checkbox Properties","radioTitle":"Radio Button Properties","value":"Value","selected":"Selected","required":"Required"},"form":{"title":"Form Properties","menu":"Form Properties","action":"Action","method":"Method","encoding":"Encoding"},"hidden":{"title":"Hidden Field Properties","name":"Name","value":"Value"},"select":{"title":"Selection Field Properties","selectInfo":"Select Info","opAvail":"Available Options","value":"Value","size":"Size","lines":"lines","chkMulti":"Allow multiple selections","required":"Required","opText":"Text","opValue":"Value","btnAdd":"Add","btnModify":"Modify","btnUp":"Up","btnDown":"Down","btnSetValue":"Set as selected value","btnDelete":"Delete"},"textarea":{"title":"Textarea Properties","cols":"Columns","rows":"Rows"},"textfield":{"title":"Text Field Properties","name":"Name","value":"Value","charWidth":"Character Width","maxChars":"Maximum Characters","required":"Required","type":"Type","typeText":"Text","typePass":"Password","typeEmail":"E-mail","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Paragraph Format","tag_address":"Address","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"Insert Horizontal Line"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Alternative Text","border":"Border","btnUpload":"Send it to the Server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"HSpace","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Image Info","linkTab":"Link","lockRatio":"Lock Ratio","menu":"Image Properties","resetSize":"Reset Size","title":"Image Properties","titleButton":"Image Button Properties","upload":"Upload","urlMissing":"Image source URL is missing.","vSpace":"VSpace","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"smiley":{"options":"Smiley Options","title":"Insert a Smiley","toolbar":"Smiley"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Access Key","advanced":"Advanced","advisoryContentType":"Advisory Content Type","advisoryTitle":"Advisory Title","anchor":{"toolbar":"Anchor","menu":"Edit Anchor","title":"Anchor Properties","name":"Anchor Name","errorName":"Please type the anchor name","remove":"Remove Anchor"},"anchorId":"By Element Id","anchorName":"By Anchor Name","charset":"Linked Resource Charset","cssClasses":"Stylesheet Classes","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail Address","emailBody":"Message Body","emailSubject":"Message Subject","id":"Id","info":"Link Info","langCode":"Language Code","langDir":"Language Direction","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","menu":"Edit Link","name":"Name","noAnchors":"(No anchors available in the document)","noEmail":"Please type the e-mail address","noUrl":"Please type the link URL","other":"<other>","popupDependent":"Dependent (Netscape)","popupFeatures":"Popup Window Features","popupFullScreen":"Full Screen (IE)","popupLeft":"Left Position","popupLocationBar":"Location Bar","popupMenuBar":"Menu Bar","popupResizable":"Resizable","popupScrollBars":"Scroll Bars","popupStatusBar":"Status Bar","popupToolbar":"Toolbar","popupTop":"Top Position","rel":"Relationship","selectAnchor":"Select an Anchor","styles":"Style","tabIndex":"Tab Index","target":"Target","targetFrame":"<frame>","targetFrameName":"Target Frame Name","targetPopup":"<popup window>","targetPopupName":"Popup Window Name","title":"Link","toAnchor":"Link to anchor in the text","toEmail":"E-mail","toUrl":"URL","toolbar":"Link","type":"Link Type","unlink":"Unlink","upload":"Upload"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximise","minimize":"Minimise"},"newpage":{"toolbar":"New Page"},"pagebreak":{"alt":"Page Break","toolbar":"Insert Page Break for Printing"},"pastetext":{"button":"Paste as plain text","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Paste as Plain Text"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Paste from Word","toolbar":"Paste from Word"},"preview":{"preview":"Preview"},"print":{"toolbar":"Print"},"removeformat":{"toolbar":"Remove Format"},"save":{"toolbar":"Save"},"selectall":{"toolbar":"Select All"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"Source"},"specialchar":{"options":"Special Character Options","title":"Select Special Character","toolbar":"Insert Special Character"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Styles","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Border size","caption":"Caption","cell":{"menu":"Cell","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"Delete Cells","merge":"Merge Cells","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Cell padding","cellSpace":"Cell spacing","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Delete Columns"},"columns":"Columns","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a number.","invalidCellSpacing":"Cell spacing must be a number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"Table Properties","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Delete Rows"},"rows":"Rows","summary":"Summary","title":"Table Properties","toolbar":"Table","widthPc":"percent","widthPx":"pixels","widthUnit":"width unit"},"undo":{"redo":"Redo","undo":"Undo"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en-gb.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sr.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sr.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sr.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['sr']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Претражи сервер","url":"УРЛ","protocol":"Протокол","upload":"Пошаљи","uploadSubmit":"Пошаљи на сервер","image":"Слика","flash":"Флеш елемент","form":"Форма","checkbox":"Поље за потврду","radio":"Радио-дугме","textField":"Текстуално поље","textarea":"Зона текста","hiddenField":"Скривено поље","button":"Дугме","select":"Изборно поље","imageButton":"Дугме са сликом","notSet":"<није постављено>","id":"Ид","name":"Назив","langDir":"Смер језика","langDirLtr":"С лева на десно (LTR)","langDirRtl":"С десна на лево (RTL)","langCode":"Kôд језика","longDescr":"Пун опис УРЛ","cssClass":"Stylesheet класе","advisoryTitle":"Advisory наслов","cssStyle":"Стил","ok":"OK","cancel":"Oткажи","close":"Затвори","preview":"Изглед странице","resize":"Resize","generalTab":"Опште","advancedTab":"Напредни тагови","validateNumberFailed":"Ова вредност није цигра.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Опције","target":"Meтa","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"С лева на десно (LTR)","langDirRTL":"С десна на лево (RTL)","styles":"Стил","cssClasses":"Stylesheet класе","width":"Ширина","height":"Висина","align":"Равнање","left":"Лево","right":"Десно","center":"Средина","justify":"Обострано равнање","alignLeft":"Лево равнање","alignRight":"Десно равнање","alignCenter":"Align Center","alignTop":"Врх","alignMiddle":"Средина","alignBottom":"Доле","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Подебљано","italic":"Курзив","strike":"Прецртано","subscript":"Индекс","superscript":"Степен","underline":"Подвучено"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Склопи алатну траку","toolbarExpand":"Прошири алатну траку","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Едитор алатне траке"},"clipboard":{"copy":"Копирај","copyError":"Сигурносна подешавања Вашег претраживача не дозвољавају операције аутоматског копирања текста. Молимо Вас да користите пречицу са тастатуре (Ctrl/Cmd+C).","cut":"Исеци","cutError":"Сигурносна подешавања Вашег претраживача не дозвољавају операције аутоматског исецања текста. Молимо Вас да користите пречицу са тастатуре (Ctrl/Cmd+X).","paste":"Залепи","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Залепи зону","pasteMsg":"Paste your content inside the area below and press OK.","title":"Залепи"},"colorbutton":{"auto":"Аутоматски","bgColorTitle":"Боја позадине","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Више боја...","panelTitle":"Colors","textColorTitle":"Боја текста"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"Обрасци","emptyListMsg":"(Нема дефинисаних образаца)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"Молимо Вас да одаберете образац који ће бити примењен на страницу (тренутни садржај ће бити обрисан):","title":"Обрасци за садржај"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Претрага","findOptions":"Find Options","findWhat":"Пронађи:","matchCase":"Разликуј велика и мала слова","matchCyclic":"Match cyclic","matchWord":"Упореди целе речи","notFoundMsg":"Тражени текст није пронађен.","replace":"Замена","replaceAll":"Замени све","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Замени са:","title":"Find and Replace"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs доле","alignAbsMiddle":"Abs средина","alignBaseline":"Базно","alignTextTop":"Врх текста","bgcolor":"Боја позадине","chkFull":"Allow Fullscreen","chkLoop":"Понављај","chkMenu":"Укључи флеш мени","chkPlay":"Аутоматски старт","flashvars":"Variables for Flash","hSpace":"HSpace","properties":"Особине Флеша","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Скалирај","scaleAll":"Прикажи све","scaleFit":"Попуни површину","scaleNoBorder":"Без ивице","title":"Особине флеша","vSpace":"VSpace","validateHSpace":"HSpace must be a number.","validateSrc":"Унесите УРЛ линка","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Величина фонта","voiceLabel":"Font Size","panelTitle":"Величина фонта"},"label":"Фонт","panelTitle":"Фонт","voiceLabel":"Фонт"},"forms":{"button":{"title":"Особине дугмета","text":"Текст (вредност)","type":"Tип","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Особине поља за потврду","radioTitle":"Особине радио-дугмета","value":"Вредност","selected":"Означено","required":"Required"},"form":{"title":"Особине форме","menu":"Особине форме","action":"Aкција","method":"Mетода","encoding":"Encoding"},"hidden":{"title":"Особине скривеног поља","name":"Назив","value":"Вредност"},"select":{"title":"Особине изборног поља","selectInfo":"Инфо","opAvail":"Доступне опције","value":"Вредност","size":"Величина","lines":"линија","chkMulti":"Дозволи вишеструку селекцију","required":"Required","opText":"Текст","opValue":"Вредност","btnAdd":"Додај","btnModify":"Измени","btnUp":"Горе","btnDown":"Доле","btnSetValue":"Подеси као означену вредност","btnDelete":"Обриши"},"textarea":{"title":"Особине зоне текста","cols":"Број колона","rows":"Број редова"},"textfield":{"title":"Особине текстуалног поља","name":"Назив","value":"Вредност","charWidth":"Ширина (карактера)","maxChars":"Максимално карактера","required":"Required","type":"Тип","typeText":"Текст","typePass":"Лозинка","typeEmail":"Е-пошта","typeSearch":"Претрага","typeTel":"Број телефона","typeUrl":"УРЛ"}},"format":{"label":"Формат","panelTitle":"Формат","tag_address":"Adresa","tag_div":"Нормално (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatirano"},"horizontalrule":{"toolbar":"Унеси хоризонталну линију"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Алтернативни текст","border":"Оквир","btnUpload":"Пошаљи на сервер","button2Img":"Да ли желите да промените одабрану слику дугмета као једноставну слику?","hSpace":"HSpace","img2Button":"Да ли желите да промените одабрану слику у слику дугмета?","infoTab":"Инфо слике","linkTab":"Линк","lockRatio":"Закључај однос","menu":"Особине слика","resetSize":"Ресетуј величину","title":"Особине слика","titleButton":"Особине дугмета са сликом","upload":"Пошаљи","urlMissing":"Недостаје УРЛ слике.","vSpace":"VSpace","validateBorder":"Ивица треба да буде цифра.","validateHSpace":"HSpace треба да буде цифра.","validateVSpace":"VSpace треба да буде цифра."},"indent":{"indent":"Увећај леву маргину","outdent":"Смањи леву маргину"},"smiley":{"options":"Smiley Options","title":"Унеси смајлија","toolbar":"Смајли"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Приступни тастер","advanced":"Напредни тагови","advisoryContentType":"Advisory врста садржаја","advisoryTitle":"Advisory наслов","anchor":{"toolbar":"Унеси/измени сидро","menu":"Особине сидра","title":"Особине сидра","name":"Име сидра","errorName":"Молимо Вас да унесете име сидра","remove":"Remove Anchor"},"anchorId":"Пo Ид-jу елемента","anchorName":"По називу сидра","charset":"Linked Resource Charset","cssClasses":"Stylesheet класе","download":"Force Download","displayText":"Display Text","emailAddress":"Адреса електронске поште","emailBody":"Садржај поруке","emailSubject":"Наслов","id":"Ид","info":"Линк инфо","langCode":"Смер језика","langDir":"Смер језика","langDirLTR":"С лева на десно (LTR)","langDirRTL":"С десна на лево (RTL)","menu":"Промени линк","name":"Назив","noAnchors":"(Нема доступних сидра)","noEmail":"Откуцајте адресу електронске поште","noUrl":"Унесите УРЛ линка","other":"<друго>","popupDependent":"Зависно (Netscape)","popupFeatures":"Могућности искачућег прозора","popupFullScreen":"Приказ преко целог екрана (ИE)","popupLeft":"Од леве ивице екрана (пиксела)","popupLocationBar":"Локација","popupMenuBar":"Контекстни мени","popupResizable":"Величина се мења","popupScrollBars":"Скрол бар","popupStatusBar":"Статусна линија","popupToolbar":"Toolbar","popupTop":"Од врха екрана (пиксела)","rel":"Однос","selectAnchor":"Одабери сидро","styles":"Стил","tabIndex":"Таб индекс","target":"Meтa","targetFrame":"<оквир>","targetFrameName":"Назив одредишног фрејма","targetPopup":"<искачући прозор>","targetPopupName":"Назив искачућег прозора","title":"Линк","toAnchor":"Сидро на овој страници","toEmail":"Eлектронска пошта","toUrl":"УРЛ","toolbar":"Унеси/измени линк","type":"Врста линка","unlink":"Уклони линк","upload":"Пошаљи"},"list":{"bulletedlist":"Ненабројива листа","numberedlist":"Набројиву листу"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"newpage":{"toolbar":"Нова страница"},"pagebreak":{"alt":"Page Break","toolbar":"Insert Page Break for Printing"},"pastetext":{"button":"Залепи као чист текст","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Залепи као чист текст"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Залепи из Worda","toolbar":"Залепи из Worda"},"preview":{"preview":"Изглед странице"},"print":{"toolbar":"Штампа"},"removeformat":{"toolbar":"Уклони форматирање"},"save":{"toolbar":"Сачувај"},"selectall":{"toolbar":"Означи све"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"Kôд"},"specialchar":{"options":"Опције специјалног карактера","title":"Одаберите специјални карактер","toolbar":"Унеси специјални карактер"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Стил","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Величина оквира","caption":"Наслов табеле","cell":{"menu":"Cell","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"Обриши ћелије","merge":"Спој ћелије","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Размак ћелија","cellSpace":"Ћелијски простор","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Обриши колоне"},"columns":"Kолона","deleteTable":"Обриши таблу","headers":"Поглавља","headersBoth":"Оба","headersColumn":"Прва колона","headersNone":"None","headersRow":"Први ред","invalidBorder":"Величина ивице треба да буде цифра.","invalidCellPadding":"Пуњење ћелије треба да буде позитивна цифра.","invalidCellSpacing":"Размак ћелије треба да буде позитивна цифра.","invalidCols":"Број колона треба да буде цифра већа од 0.","invalidHeight":"Висина табеле треба да буде цифра.","invalidRows":"Број реда треба да буде цифра већа од 0.","invalidWidth":"Ширина табеле треба да буде цифра.","menu":"Особине табеле","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Обриши редове"},"rows":"Редова","summary":"Резиме","title":"Особине табеле","toolbar":"Табела","widthPc":"процената","widthPx":"пиксела","widthUnit":"јединица ширине"},"undo":{"redo":"Понови акцију","undo":"Поништи акцију"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Игнориши","btnIgnoreAll":"Игнориши све","btnReplace":"Замени","btnReplaceAll":"Замени све","btnUndo":"Врати акцију","changeTo":"Измени","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Провера спеловања није инсталирана. Да ли желите да је скинете са Интернета?","manyChanges":"Провера спеловања завршена: %1 реч(и) је измењено","noChanges":"Провера спеловања завршена: Није измењена ниједна реч","noMispell":"Провера спеловања завршена: грешке нису пронађене","noSuggestions":"- Без сугестија -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Није у речнику","oneChange":"Провера спеловања завршена: Измењена је једна реч","progress":"Провера спеловања у току...","title":"Spell Checker","toolbar":"Провери спеловање"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sr.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fa.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fa.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fa.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['fa']={"editor":"ویرایش‌گر متن غنی","editorPanel":"پنل ویرایشگر متن غنی","common":{"editorHelp":"کلید Alt+0 را برای راهنمایی بفشارید","browseServer":"فهرست​نمایی سرور","url":"URL","protocol":"قرارداد","upload":"بالاگذاری","uploadSubmit":"به سرور بفرست","image":"تصویر","flash":"فلش","form":"فرم","checkbox":"چک‌باکس","radio":"دکمه‌ی رادیویی","textField":"فیلد متنی","textarea":"ناحیهٴ متنی","hiddenField":"فیلد پنهان","button":"دکمه","select":"فیلد انتخاب چند گزینه​ای","imageButton":"دکمه‌ی تصویری","notSet":"<تعیین‌نشده>","id":"شناسه","name":"نام","langDir":"جهت زبان","langDirLtr":"چپ به راست","langDirRtl":"راست به چپ","langCode":"کد زبان","longDescr":"URL توصیف طولانی","cssClass":"کلاس​های شیوه​نامه (Stylesheet)","advisoryTitle":"عنوان کمکی","cssStyle":"سبک","ok":"پذیرش","cancel":"انصراف","close":"بستن","preview":"پیش‌نمایش","resize":"تغییر اندازه","generalTab":"عمومی","advancedTab":"پیش‌رفته","validateNumberFailed":"این مقدار یک عدد نیست.","confirmNewPage":"هر تغییر ایجاد شده​ی ذخیره نشده از بین خواهد رفت. آیا اطمینان دارید که قصد بارگیری صفحه جدیدی را دارید؟","confirmCancel":"برخی از گزینه‌ها تغییر کرده‌اند. آیا واقعا قصد بستن این پنجره را دارید؟","options":"گزینه​ها","target":"مقصد","targetNew":"پنجره جدید","targetTop":"بالاترین پنجره","targetSelf":"همان پنجره","targetParent":"پنجره والد","langDirLTR":"چپ به راست","langDirRTL":"راست به چپ","styles":"سبک","cssClasses":"کلاس‌های سبک‌نامه","width":"عرض","height":"طول","align":"چینش","left":"چپ","right":"راست","center":"وسط","justify":"بلوک چین","alignLeft":"چپ چین","alignRight":"راست چین","alignCenter":"Align Center","alignTop":"بالا","alignMiddle":"میانه","alignBottom":"پائین","alignNone":"هیچ","invalidValue":"مقدار نامعتبر.","invalidHeight":"ارتفاع باید یک عدد باشد.","invalidWidth":"عرض باید یک عدد باشد.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"عدد تعیین شده برای فیلد \"%1\" باید یک عدد مثبت با یا بدون یک واحد اندازه گیری CSS معتبر باشد (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"عدد تعیین شده برای فیلد \"%1\" باید یک عدد مثبت با یا بدون یک واحد اندازه گیری HTML معتبر باشد (px or %).","invalidInlineStyle":"عدد تعیین شده برای سبک درون​خطی -Inline Style- باید دارای یک یا چند چندتایی با شکلی شبیه \"name : value\" که باید با یک \";\" از هم جدا شوند.","cssLengthTooltip":"یک عدد برای یک مقدار بر حسب پیکسل و یا یک عدد با یک واحد CSS معتبر وارد کنید (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">، غیر قابل دسترس</span>","keyboard":{"8":"عقبگرد","13":"ورود","16":"تعویض","17":"کنترل","18":"دگرساز","32":"Space","35":"پایان","36":"خانه","46":"حذف","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"حق نشر &copy; $1. کلیه حقوق محفوظ است.","dlgTitle":"درباره CKEditor","moreInfo":"برای کسب اطلاعات مجوز لطفا به وب سایت ما مراجعه کنید:"},"basicstyles":{"bold":"درشت","italic":"خمیده","strike":"خط‌خورده","subscript":"زیرنویس","superscript":"بالانویس","underline":"زیرخط‌دار"},"bidi":{"ltr":"جهت متن از چپ به راست","rtl":"جهت متن از راست به چپ"},"blockquote":{"toolbar":"بلوک نقل قول"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (انتخاب شده)"},"toolbar":{"toolbarCollapse":"بستن نوار ابزار","toolbarExpand":"بازکردن نوار ابزار","toolbarGroups":{"document":"سند","clipboard":"حافظه موقت/برگشت","editing":"در حال ویرایش","forms":"فرم​ها","basicstyles":"سبک‌های پایه","paragraph":"بند","links":"پیوندها","insert":"ورود","styles":"سبک‌ها","colors":"رنگ​ها","tools":"ابزارها"},"toolbars":"نوار ابزارهای ویرایش‌گر"},"clipboard":{"copy":"رونوشت","copyError":"تنظیمات امنیتی مرورگر شما اجازه نمیدهد که ویرایشگر به طور خودکار عملکردهای کپی کردن را انجام دهد. لطفا با دکمههای صفحه کلید این کار را انجام دهید (Ctrl/Cmd+C).","cut":"برش","cutError":"تنظیمات امنیتی مرورگر شما اجازه نمیدهد که ویرایشگر به طور خودکار عملکردهای برش را انجام دهد. لطفا با دکمههای صفحه کلید این کار را انجام دهید (Ctrl/Cmd+X).","paste":"چسباندن","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"محل چسباندن","pasteMsg":"Paste your content inside the area below and press OK.","title":"چسباندن"},"colorbutton":{"auto":"خودکار","bgColorTitle":"رنگ پس​زمینه","colors":{"000":"سیاه","800000":"خرمایی","8B4513":"قهوه​ای شکلاتی","2F4F4F":"ارغوانی مایل به خاکستری","008080":"آبی مایل به خاکستری","000080":"آبی سیر","4B0082":"نیلی","696969":"خاکستری تیره","B22222":"آتش آجری","A52A2A":"قهوه​ای","DAA520":"میله​ی طلایی","006400":"سبز تیره","40E0D0":"فیروزه​ای","0000CD":"آبی روشن","800080":"ارغوانی","808080":"خاکستری","F00":"قرمز","FF8C00":"نارنجی پررنگ","FFD700":"طلایی","008000":"سبز","0FF":"آبی مایل به سبز","00F":"آبی","EE82EE":"بنفش","A9A9A9":"خاکستری مات","FFA07A":"صورتی کدر روشن","FFA500":"نارنجی","FFFF00":"زرد","00FF00":"فسفری","AFEEEE":"فیروزه​ای رنگ پریده","ADD8E6":"آبی کمرنگ","DDA0DD":"آلویی","D3D3D3":"خاکستری روشن","FFF0F5":"بنفش کمرنگ","FAEBD7":"عتیقه سفید","FFFFE0":"زرد روشن","F0FFF0":"عسلی","F0FFFF":"لاجوردی","F0F8FF":"آبی براق","E6E6FA":"بنفش کمرنگ","FFF":"سفید","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"رنگ​های بیشتر...","panelTitle":"رنگها","textColorTitle":"رنگ متن"},"colordialog":{"clear":"پاک کردن","highlight":"متمایز","options":"گزینه​های رنگ","selected":"رنگ انتخاب شده","title":"انتخاب رنگ"},"templates":{"button":"الگوها","emptyListMsg":"(الگوئی تعریف نشده است)","insertOption":"محتویات کنونی جایگزین شوند","options":"گزینه‌های الگو","selectPromptMsg":"لطفاً الگوی مورد نظر را برای بازکردن در ویرایشگر انتخاب کنید","title":"الگوهای محتویات"},"contextmenu":{"options":"گزینه​های منوی زمینه"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"شناسه","advisoryTitleInputLabel":"عنوان مشاوره","cssClassInputLabel":"کلاس​های شیوه​نامه","edit":"ویرایش Div","inlineStyleInputLabel":"سبک درون​خطی(Inline Style)","langDirLTRLabel":"چپ به راست (LTR)","langDirLabel":"جهت نوشتاری زبان","langDirRTLLabel":"راست به چپ (RTL)","languageCodeInputLabel":" کد زبان","remove":"حذف Div","styleSelectLabel":"سبک","title":"ایجاد یک محل DIV","toolbar":"ایجاد یک محل DIV"},"elementspath":{"eleLabel":"مسیر عناصر","eleTitle":"%1 عنصر"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"جستجو","findOptions":"گزینه​های جستجو","findWhat":"چه چیز را مییابید:","matchCase":"همسانی در بزرگی و کوچکی نویسه​ها","matchCyclic":"همسانی با چرخه","matchWord":"همسانی با واژهٴ کامل","notFoundMsg":"متن موردنظر یافت نشد.","replace":"جایگزینی","replaceAll":"جایگزینی همهٴ یافته​ها","replaceSuccessMsg":"%1 رخداد جایگزین شد.","replaceWith":"جایگزینی با:","title":"جستجو و جایگزینی"},"fakeobjects":{"anchor":"لنگر","flash":"انیمشن فلش","hiddenfield":"فیلد پنهان","iframe":"IFrame","unknown":"شیء ناشناخته"},"flash":{"access":"دسترسی به اسکریپت","accessAlways":"همیشه","accessNever":"هرگز","accessSameDomain":"همان دامنه","alignAbsBottom":"پائین مطلق","alignAbsMiddle":"وسط مطلق","alignBaseline":"خط پایه","alignTextTop":"متن بالا","bgcolor":"رنگ پس​زمینه","chkFull":"اجازه تمام صفحه","chkLoop":"اجرای پیاپی","chkMenu":"در دسترس بودن منوی فلش","chkPlay":"آغاز خودکار","flashvars":"مقادیر برای فلش","hSpace":"فاصلهٴ افقی","properties":"ویژگی​های فلش","propertiesTab":"ویژگی​ها","quality":"کیفیت","qualityAutoHigh":"بالا - خودکار","qualityAutoLow":"پایین - خودکار","qualityBest":"بهترین","qualityHigh":"بالا","qualityLow":"پایین","qualityMedium":"متوسط","scale":"مقیاس","scaleAll":"نمایش همه","scaleFit":"جایگیری کامل","scaleNoBorder":"بدون کران","title":"ویژگی​های فلش","vSpace":"فاصلهٴ عمودی","validateHSpace":"مقدار فاصله گذاری افقی باید یک عدد باشد.","validateSrc":"لطفا URL پیوند را بنویسید","validateVSpace":"مقدار فاصله گذاری عمودی باید یک عدد باشد.","windowMode":"حالت پنجره","windowModeOpaque":"مات","windowModeTransparent":"شفاف","windowModeWindow":"پنجره"},"font":{"fontSize":{"label":"اندازه","voiceLabel":"اندازه قلم","panelTitle":"اندازه قلم"},"label":"قلم","panelTitle":"نام قلم","voiceLabel":"قلم"},"forms":{"button":{"title":"ویژگی​های دکمه","text":"متن (مقدار)","type":"نوع","typeBtn":"دکمه","typeSbm":"ثبت","typeRst":"بازنشانی (Reset)"},"checkboxAndRadio":{"checkboxTitle":"ویژگی​های خانهٴ گزینه​ای","radioTitle":"ویژگی​های دکمهٴ رادیویی","value":"مقدار","selected":"برگزیده","required":"Required"},"form":{"title":"ویژگی​های فرم","menu":"ویژگی​های فرم","action":"رویداد","method":"متد","encoding":"رمزنگاری"},"hidden":{"title":"ویژگی​های فیلد پنهان","name":"نام","value":"مقدار"},"select":{"title":"ویژگی​های فیلد چندگزینه​ای","selectInfo":"اطلاعات","opAvail":"گزینه​های دردسترس","value":"مقدار","size":"اندازه","lines":"خطوط","chkMulti":"گزینش چندگانه فراهم باشد","required":"Required","opText":"متن","opValue":"مقدار","btnAdd":"افزودن","btnModify":"ویرایش","btnUp":"بالا","btnDown":"پائین","btnSetValue":"تنظیم به عنوان مقدار برگزیده","btnDelete":"پاککردن"},"textarea":{"title":"ویژگی​های ناحیهٴ متنی","cols":"ستون​ها","rows":"سطرها"},"textfield":{"title":"ویژگی​های فیلد متنی","name":"نام","value":"مقدار","charWidth":"پهنای نویسه","maxChars":"بیشینهٴ نویسه​ها","required":"Required","type":"نوع","typeText":"متن","typePass":"گذرواژه","typeEmail":"ایمیل","typeSearch":"جستجو","typeTel":"شماره تلفن","typeUrl":"URL"}},"format":{"label":"قالب","panelTitle":"قالب بند","tag_address":"نشانی","tag_div":"بند","tag_h1":"سرنویس ۱","tag_h2":"سرنویس ۲","tag_h3":"سرنویس ۳","tag_h4":"سرنویس ۴","tag_h5":"سرنویس ۵","tag_h6":"سرنویس ۶","tag_p":"معمولی","tag_pre":"قالب‌دار"},"horizontalrule":{"toolbar":"گنجاندن خط افقی"},"iframe":{"border":"نمایش خطوط frame","noUrl":"لطفا مسیر URL iframe را درج کنید","scrolling":"نمایش خطکشها","title":"ویژگیهای IFrame","toolbar":"IFrame"},"image":{"alt":"متن جایگزین","border":"لبه","btnUpload":"به سرور بفرست","button2Img":"آیا مایلید از یک تصویر ساده روی دکمه تصویری انتخاب شده استفاده کنید؟","hSpace":"فاصلهٴ افقی","img2Button":"آیا مایلید از یک دکمه تصویری روی تصویر انتخاب شده استفاده کنید؟","infoTab":"اطلاعات تصویر","linkTab":"پیوند","lockRatio":"قفل کردن نسبت","menu":"ویژگی​های تصویر","resetSize":"بازنشانی اندازه","title":"ویژگی​های تصویر","titleButton":"ویژگی​های دکمهٴ تصویری","upload":"انتقال به سرور","urlMissing":"آدرس URL اصلی تصویر یافت نشد.","vSpace":"فاصلهٴ عمودی","validateBorder":"مقدار خطوط باید یک عدد باشد.","validateHSpace":"مقدار فاصله گذاری افقی باید یک عدد باشد.","validateVSpace":"مقدار فاصله گذاری عمودی باید یک عدد باشد."},"indent":{"indent":"افزایش تورفتگی","outdent":"کاهش تورفتگی"},"smiley":{"options":"گزینه​های خندانک","title":"گنجاندن خندانک","toolbar":"خندانک"},"language":{"button":"تعیین زبان","remove":"حذف زبان"},"link":{"acccessKey":"کلید دستیابی","advanced":"پیشرفته","advisoryContentType":"نوع محتوای کمکی","advisoryTitle":"عنوان کمکی","anchor":{"toolbar":"گنجاندن/ویرایش لنگر","menu":"ویژگی​های لنگر","title":"ویژگی​های لنگر","name":"نام لنگر","errorName":"لطفا نام لنگر را بنویسید","remove":"حذف لنگر"},"anchorId":"با شناسهٴ المان","anchorName":"با نام لنگر","charset":"نویسه​گان منبع پیوند شده","cssClasses":"کلاس​های شیوه​نامه(Stylesheet)","download":"Force Download","displayText":"Display Text","emailAddress":"نشانی پست الکترونیکی","emailBody":"متن پیام","emailSubject":"موضوع پیام","id":"شناسه","info":"اطلاعات پیوند","langCode":"جهت​نمای زبان","langDir":"جهت​نمای زبان","langDirLTR":"چپ به راست (LTR)","langDirRTL":"راست به چپ (RTL)","menu":"ویرایش پیوند","name":"نام","noAnchors":"(در این سند لنگری دردسترس نیست)","noEmail":"لطفا نشانی پست الکترونیکی را بنویسید","noUrl":"لطفا URL پیوند را بنویسید","other":"<سایر>","popupDependent":"وابسته (Netscape)","popupFeatures":"ویژگی​های پنجرهٴ پاپاپ","popupFullScreen":"تمام صفحه (IE)","popupLeft":"موقعیت چپ","popupLocationBar":"نوار موقعیت","popupMenuBar":"نوار منو","popupResizable":"قابل تغییر اندازه","popupScrollBars":"میله​های پیمایش","popupStatusBar":"نوار وضعیت","popupToolbar":"نوار ابزار","popupTop":"موقعیت بالا","rel":"وابستگی","selectAnchor":"یک لنگر برگزینید","styles":"شیوه (style)","tabIndex":"نمایهٴ دسترسی با برگه","target":"مقصد","targetFrame":"<فریم>","targetFrameName":"نام فریم مقصد","targetPopup":"<پنجرهٴ پاپاپ>","targetPopupName":"نام پنجرهٴ پاپاپ","title":"پیوند","toAnchor":"لنگر در همین صفحه","toEmail":"پست الکترونیکی","toUrl":"URL","toolbar":"گنجاندن/ویرایش پیوند","type":"نوع پیوند","unlink":"برداشتن پیوند","upload":"انتقال به سرور"},"list":{"bulletedlist":"فهرست نقطه​ای","numberedlist":"فهرست شماره​دار"},"liststyle":{"armenian":"شماره‌گذاری ارمنی","bulletedTitle":"خصوصیات فهرست نقطه‌ای","circle":"دایره","decimal":"ده‌دهی (۱، ۲، ۳، ...)","decimalLeadingZero":"دهدهی همراه با صفر (۰۱، ۰۲، ۰۳، ...)","disc":"صفحه گرد","georgian":"شمارهگذاری گریگورین (an, ban, gan, etc.)","lowerAlpha":"پانویس الفبایی (a, b, c, d, e, etc.)","lowerGreek":"پانویس یونانی (alpha, beta, gamma, etc.)","lowerRoman":"پانویس رومی (i, ii, iii, iv, v, etc.)","none":"هیچ","notset":"<تنظیم نشده>","numberedTitle":"ویژگیهای فهرست شمارهدار","square":"چهارگوش","start":"شروع","type":"نوع","upperAlpha":"بالانویس الفبایی (A, B, C, D, E, etc.)","upperRoman":"بالانویس رومی (I, II, III, IV, V, etc.)","validateStartNumber":"فهرست شماره شروع باید یک عدد صحیح باشد."},"magicline":{"title":"قرار دادن بند در اینجا"},"maximize":{"maximize":"بیشنه کردن","minimize":"کمینه کردن"},"newpage":{"toolbar":"برگهٴ تازه"},"pagebreak":{"alt":"شکستن صفحه","toolbar":"گنجاندن شکستگی پایان برگه"},"pastetext":{"button":"چسباندن به عنوان متن ساده","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"چسباندن به عنوان متن ساده"},"pastefromword":{"confirmCleanup":"متنی که میخواهید بچسبانید به نظر میرسد که از Word کپی شده است. آیا میخواهید قبل از چسباندن آن را پاکسازی کنید؟","error":"به دلیل بروز خطای داخلی امکان پاکسازی اطلاعات بازنشانی شده وجود ندارد.","title":"چسباندن از Word","toolbar":"چسباندن از Word"},"preview":{"preview":"پیشنمایش"},"print":{"toolbar":"چاپ"},"removeformat":{"toolbar":"برداشتن فرمت"},"save":{"toolbar":"ذخیره"},"selectall":{"toolbar":"گزینش همه"},"showblocks":{"toolbar":"نمایش بلوک‌ها"},"sourcearea":{"toolbar":"منبع"},"specialchar":{"options":"گزینه‌های نویسه‌های ویژه","title":"گزینش نویسه‌ی ویژه","toolbar":"گنجاندن نویسه‌ی ویژه"},"scayt":{"btn_about":"درباره SCAYT","btn_dictionaries":"دیکشنریها","btn_disable":"غیرفعالسازی SCAYT","btn_enable":"فعالسازی SCAYT","btn_langs":"زبانها","btn_options":"گزینهها","text_title":"بررسی املای تایپ شما"},"stylescombo":{"label":"سبک","panelTitle":"سبکهای قالببندی","panelTitle1":"سبکهای بلوک","panelTitle2":"سبکهای درونخطی","panelTitle3":"سبکهای شیء"},"table":{"border":"اندازهٴ لبه","caption":"عنوان","cell":{"menu":"سلول","insertBefore":"افزودن سلول قبل از","insertAfter":"افزودن سلول بعد از","deleteCell":"حذف سلولها","merge":"ادغام سلولها","mergeRight":"ادغام به راست","mergeDown":"ادغام به پایین","splitHorizontal":"جدا کردن افقی سلول","splitVertical":"جدا کردن عمودی سلول","title":"ویژگیهای سلول","cellType":"نوع سلول","rowSpan":"محدوده ردیفها","colSpan":"محدوده ستونها","wordWrap":"شکستن کلمه","hAlign":"چینش افقی","vAlign":"چینش عمودی","alignBaseline":"خط مبنا","bgColor":"رنگ زمینه","borderColor":"رنگ خطوط","data":"اطلاعات","header":"سرنویس","yes":"بله","no":"خیر","invalidWidth":"عرض سلول باید یک عدد باشد.","invalidHeight":"ارتفاع سلول باید عدد باشد.","invalidRowSpan":"مقدار محدوده ردیفها باید یک عدد باشد.","invalidColSpan":"مقدار محدوده ستونها باید یک عدد باشد.","chooseColor":"انتخاب"},"cellPad":"فاصلهٴ پرشده در سلول","cellSpace":"فاصلهٴ میان سلولها","column":{"menu":"ستون","insertBefore":"افزودن ستون قبل از","insertAfter":"افزودن ستون بعد از","deleteColumn":"حذف ستونها"},"columns":"ستونها","deleteTable":"پاک کردن جدول","headers":"سرنویسها","headersBoth":"هردو","headersColumn":"اولین ستون","headersNone":"هیچ","headersRow":"اولین ردیف","invalidBorder":"مقدار اندازه خطوط باید یک عدد باشد.","invalidCellPadding":"بالشتک سلول باید یک عدد باشد.","invalidCellSpacing":"مقدار فاصلهگذاری سلول باید یک عدد باشد.","invalidCols":"تعداد ستونها باید یک عدد بزرگتر از 0 باشد.","invalidHeight":"مقدار ارتفاع جدول باید یک عدد باشد.","invalidRows":"تعداد ردیفها باید یک عدد بزرگتر از 0 باشد.","invalidWidth":"مقدار پهنای جدول باید یک عدد باشد.","menu":"ویژگیهای جدول","row":{"menu":"سطر","insertBefore":"افزودن سطر قبل از","insertAfter":"افزودن سطر بعد از","deleteRow":"حذف سطرها"},"rows":"سطرها","summary":"خلاصه","title":"ویژگیهای جدول","toolbar":"جدول","widthPc":"درصد","widthPx":"پیکسل","widthUnit":"واحد پهنا"},"undo":{"redo":"بازچیدن","undo":"واچیدن"},"widget":{"move":"کلیک و کشیدن برای جابجایی","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"چشمپوشی","btnIgnoreAll":"چشمپوشی همه","btnReplace":"جایگزینی","btnReplaceAll":"جایگزینی همه","btnUndo":"واچینش","changeTo":"تغییر به","errorLoading":"خطا در بارگیری برنامه خدمات میزبان: %s.","ieSpellDownload":"بررسی کنندهٴ املا نصب نشده است. آیا میخواهید آن را هماکنون دریافت کنید؟","manyChanges":"بررسی املا انجام شد. %1 واژه تغییر یافت","noChanges":"بررسی املا انجام شد. هیچ واژهای تغییر نیافت","noMispell":"بررسی املا انجام شد. هیچ غلط املائی یافت نشد","noSuggestions":"- پیشنهادی نیست -","notAvailable":"با عرض پوزش خدمات الان در دسترس نیستند.","notInDic":"در واژه~نامه یافت نشد","oneChange":"بررسی املا انجام شد. یک واژه تغییر یافت","progress":"بررسی املا در حال انجام...","title":"بررسی املا","toolbar":"بررسی املا"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fa.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/zh.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/zh.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/zh.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['zh']={"editor":"RTF 編輯器","editorPanel":"RTF 編輯器面板","common":{"editorHelp":"按下 ALT 0 取得說明。","browseServer":"瀏覽伺服器","url":"URL","protocol":"通訊協定","upload":"上傳","uploadSubmit":"傳送至伺服器","image":"圖像","flash":"Flash","form":"表格","checkbox":"核取方塊","radio":"選項按鈕","textField":"文字欄位","textarea":"文字區域","hiddenField":"隱藏欄位","button":"按鈕","select":"選取欄位","imageButton":"影像按鈕","notSet":"<未設定>","id":"ID","name":"名稱","langDir":"語言方向","langDirLtr":"由左至右 (LTR)","langDirRtl":"由右至左 (RTL)","langCode":"語言代碼","longDescr":"完整描述 URL","cssClass":"樣式表類別","advisoryTitle":"標題","cssStyle":"樣式","ok":"確定","cancel":"取消","close":"關閉","preview":"預覽","resize":"調整大小","generalTab":"一般","advancedTab":"進階","validateNumberFailed":"此值不是數值。","confirmNewPage":"現存的修改尚未儲存,要開新檔案?","confirmCancel":"部份選項尚未儲存,要關閉對話框?","options":"選項","target":"目標","targetNew":"開新視窗 (_blank)","targetTop":"最上層視窗 (_top)","targetSelf":"相同視窗 (_self)","targetParent":"父視窗 (_parent)","langDirLTR":"由左至右 (LTR)","langDirRTL":"由右至左 (RTL)","styles":"樣式","cssClasses":"樣式表類別","width":"寬度","height":"高度","align":"對齊方式","left":"靠左對齊","right":"靠右對齊","center":"置中對齊","justify":"左右對齊","alignLeft":"靠左對齊","alignRight":"靠右對齊","alignCenter":"Align Center","alignTop":"頂端","alignMiddle":"中間對齊","alignBottom":"底端","alignNone":"無","invalidValue":"無效值。","invalidHeight":"高度必須為數字。","invalidWidth":"寬度必須為數字。","invalidLength":"為「%1」欄位指定的值必須為正值,可包含或不包含測量單位(%2)。","invalidCssLength":"「%1」的值應為正數,並可包含有效的 CSS 單位 (px, %, in, cm, mm, em, ex, pt, 或 pc)。","invalidHtmlLength":"「%1」的值應為正數,並可包含有效的 HTML 單位 (px 或 %)。","invalidInlineStyle":"行內樣式的值應包含一個以上的變數值組,其格式如「名稱:值」,並以分號區隔之。","cssLengthTooltip":"請輸入數值,單位是像素或有效的 CSS 單位 (px, %, in, cm, mm, em, ex, pt, 或 pc)。","unavailable":"%1<span class=\"cke_accessibility\">,無法使用</span>","keyboard":{"8":"退格鍵","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"空白鍵","35":"End","36":"Home","46":"刪除","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command 鍵"},"keyboardShortcut":"鍵盤快捷鍵","optionDefault":"預設"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"關於 CKEditor 4","moreInfo":"關於授權資訊,請參閱我們的網站:"},"basicstyles":{"bold":"粗體","italic":"斜體","strike":"刪除線","subscript":"下標","superscript":"上標","underline":"底線"},"bidi":{"ltr":"文字方向從左至右","rtl":"文字方向從右至左"},"blockquote":{"toolbar":"引用段落"},"notification":{"closed":"通知已關閉。"},"button":{"selectedLabel":"%1 (已選取)"},"toolbar":{"toolbarCollapse":"摺疊工具列","toolbarExpand":"展開工具列","toolbarGroups":{"document":"文件","clipboard":"剪貼簿/復原","editing":"編輯選項","forms":"格式","basicstyles":"基本樣式","paragraph":"段落","links":"連結","insert":"插入","styles":"樣式","colors":"顏色","tools":"工具"},"toolbars":"編輯器工具列"},"clipboard":{"copy":"複製","copyError":"瀏覽器的安全性設定不允許編輯器自動執行複製動作。請使用鍵盤快捷鍵 (Ctrl/Cmd+C) 複製。","cut":"剪下","cutError":"瀏覽器的安全性設定不允許編輯器自動執行剪下動作。請使用鏐盤快捷鍵 (Ctrl/Cmd+X) 剪下。","paste":"貼上","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"貼上區","pasteMsg":"Paste your content inside the area below and press OK.","title":"貼上"},"colorbutton":{"auto":"自動","bgColorTitle":"背景顏色","colors":{"000":"黑色","800000":"栗色","8B4513":"鞍褐色","2F4F4F":"暗瓦灰色","008080":"水壓色","000080":"丈青澀","4B0082":"靛青","696969":"深灰色","B22222":"磚紅色","A52A2A":"褐色","DAA520":"金黃色","006400":"深綠色","40E0D0":"青綠色","0000CD":"藍色","800080":"紫色","808080":"灰色","F00":"紅色","FF8C00":"深橘色","FFD700":"金色","008000":"綠色","0FF":"青色","00F":"藍色","EE82EE":"紫色","A9A9A9":"暗灰色","FFA07A":"亮鮭紅","FFA500":"橘色","FFFF00":"黃色","00FF00":"鮮綠色","AFEEEE":"綠松色","ADD8E6":"淺藍色","DDA0DD":"枚紅色","D3D3D3":"淺灰色","FFF0F5":"淺紫色","FAEBD7":"骨董白","FFFFE0":"淺黃色","F0FFF0":"蜜瓜綠","F0FFFF":"天藍色","F0F8FF":"愛麗斯蘭","E6E6FA":"淺紫色","FFF":"白色","1ABC9C":"深青色","2ECC71":"翠綠色","3498DB":"亮藍色","9B59B6":"紫色","4E5F70":"藍灰色","F1C40F":"鮮黃色","16A085":"暗青色","27AE60":"暗綠色","2980B9":"深藍色","8E44AD":"暗紫色","2C3E50":"不飽和藍色","F39C12":"橘色","E67E22":"胡蘿蔔色","E74C3C":"淡紅色","ECF0F1":"亮銀色","95A5A6":"淺灰青色","DDD":"淺灰色","D35400":"南瓜色","C0392B":"深紅色","BDC3C7":"銀色","7F8C8D":"灰青色","999":"深灰色"},"more":"更多顏色","panelTitle":"顏色","textColorTitle":"文字顏色"},"colordialog":{"clear":"清除","highlight":"高亮","options":"色彩選項","selected":"選取的色彩","title":"選取色彩"},"templates":{"button":"範本","emptyListMsg":"(尚未定義任何範本)","insertOption":"替代實際內容","options":"範本選項","selectPromptMsg":"請選擇要在編輯器中開啟的範本。","title":"內容範本"},"contextmenu":{"options":"內容功能表選項"},"copyformatting":{"label":"格式化複製","notification":{"copied":"已複製格式化","applied":"格式化已套用","canceled":"格式化已取消","failed":"格式化失敗。您無法在沒有複製它們前就套用樣式。"}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"標題","cssClassInputLabel":"樣式表類別","edit":"編輯 Div","inlineStyleInputLabel":"行內樣式","langDirLTRLabel":"由左至右 (LTR)","langDirLabel":"語言方向","langDirRTLLabel":"由右至左 (RTL)","languageCodeInputLabel":"語言碼","remove":"移除 Div","styleSelectLabel":"樣式","title":"建立 Div 容器","toolbar":"建立 Div 容器"},"elementspath":{"eleLabel":"元件路徑","eleTitle":"%1 個元件"},"filetools":{"loadError":"在讀取檔案時發生錯誤。","networkError":"在上傳檔案時發生網路錯誤。","httpError404":"在上傳檔案時發生 HTTP 錯誤(404:檔案找不到)。","httpError403":"在上傳檔案時發生 HTTP 錯誤(403:禁止)。","httpError":"在上傳檔案時發生 HTTP 錯誤(錯誤狀態:%1)。","noUrlError":"上傳的 URL 未被定義。","responseError":"不正確的伺服器回應。"},"find":{"find":"尋找","findOptions":"尋找選項","findWhat":"尋找目標:","matchCase":"大小寫須相符","matchCyclic":"循環搜尋","matchWord":"全字拼寫須相符","notFoundMsg":"找不到指定的文字。","replace":"取代","replaceAll":"全部取代","replaceSuccessMsg":"已取代 %1 個指定項目。","replaceWith":"取代成:","title":"尋找及取代"},"fakeobjects":{"anchor":"錨點","flash":"Flash 動畫","hiddenfield":"隱藏欄位","iframe":"IFrame","unknown":"無法辨識的物件"},"flash":{"access":"腳本存取","accessAlways":"永遠","accessNever":"從不","accessSameDomain":"相同網域","alignAbsBottom":"絕對下方","alignAbsMiddle":"絕對置中","alignBaseline":"基準線","alignTextTop":"上層文字","bgcolor":"背景顏色","chkFull":"允許全螢幕","chkLoop":"重複播放","chkMenu":"啟用 Flash 選單","chkPlay":"自動播放","flashvars":"Flash 變數","hSpace":"HSpace","properties":"Flash 屬性​​","propertiesTab":"屬性","quality":"品質","qualityAutoHigh":"自動高","qualityAutoLow":"自動低","qualityBest":"最佳","qualityHigh":"高","qualityLow":"低","qualityMedium":"中","scale":"縮放比例","scaleAll":"全部顯示","scaleFit":"最適化","scaleNoBorder":"無框線","title":"Flash 屬性​​","vSpace":"VSpace","validateHSpace":"HSpace 必須為數字。","validateSrc":"URL 不可為空白。","validateVSpace":"VSpace 必須為數字。","windowMode":"視窗模式","windowModeOpaque":"不透明","windowModeTransparent":"透明","windowModeWindow":"視窗"},"font":{"fontSize":{"label":"大小","voiceLabel":"字型大小","panelTitle":"字型大小"},"label":"字型","panelTitle":"字型名稱","voiceLabel":"字型"},"forms":{"button":{"title":"按鈕內容","text":"顯示文字 (值)","type":"類型","typeBtn":"按鈕","typeSbm":"送出","typeRst":"重設"},"checkboxAndRadio":{"checkboxTitle":"核取方塊內容","radioTitle":"選項按鈕內容","value":"數值","selected":"已選","required":"必填"},"form":{"title":"表單內容","menu":"表單內容","action":"動作","method":"方式","encoding":"編碼"},"hidden":{"title":"隱藏欄位內容","name":"名稱","value":"數值"},"select":{"title":"選取欄位內容","selectInfo":"選擇資訊","opAvail":"可用選項","value":"數值","size":"大小","lines":"行數","chkMulti":"允許多選","required":"必填","opText":"文字","opValue":"數值","btnAdd":"新增","btnModify":"修改","btnUp":"向上","btnDown":"向下","btnSetValue":"設為已選","btnDelete":"刪除"},"textarea":{"title":"文字區域內容","cols":"列","rows":"行"},"textfield":{"title":"文字欄位內容","name":"名字","value":"數值","charWidth":"字元寬度","maxChars":"最大字元數","required":"必填","type":"類型","typeText":"文字","typePass":"密碼","typeEmail":"電子郵件","typeSearch":"搜尋","typeTel":"電話號碼","typeUrl":"URL"}},"format":{"label":"格式","panelTitle":"段落格式","tag_address":"地址","tag_div":"標準 (DIV)","tag_h1":"標題 1","tag_h2":"標題 2","tag_h3":"標題 3","tag_h4":"標題 4","tag_h5":"標題 5","tag_h6":"標題 6","tag_p":"標準","tag_pre":"格式設定"},"horizontalrule":{"toolbar":"插入水平線"},"iframe":{"border":"顯示框架框線","noUrl":"請輸入 iframe URL","scrolling":"啟用捲軸列","title":"IFrame 屬性","toolbar":"IFrame"},"image":{"alt":"替代文字","border":"框線","btnUpload":"傳送到伺服器","button2Img":"請問您確定要將「圖片按鈕」轉換成「圖片」嗎?","hSpace":"HSpace","img2Button":"請問您確定要將「圖片」轉換成「圖片按鈕」嗎?","infoTab":"影像資訊","linkTab":"連結","lockRatio":"固定比例","menu":"影像屬性","resetSize":"重設大小","title":"影像屬性","titleButton":"影像按鈕屬性","upload":"上傳","urlMissing":"遺失圖片來源之 URL ","vSpace":"VSpace","validateBorder":"框線必須是整數。","validateHSpace":"HSpace 必須是整數。","validateVSpace":"VSpace 必須是整數。"},"indent":{"indent":"增加縮排","outdent":"減少縮排"},"smiley":{"options":"表情符號選項","title":"插入表情符號","toolbar":"表情符號"},"language":{"button":"設定語言","remove":"移除語言"},"link":{"acccessKey":"便捷鍵","advanced":"進階","advisoryContentType":"建議內容類型","advisoryTitle":"標題","anchor":{"toolbar":"錨點","menu":"編輯錨點","title":"錨點內容","name":"錨點名稱","errorName":"請輸入錨點名稱","remove":"移除錨點"},"anchorId":"依元件編號","anchorName":"依錨點名稱","charset":"連結資源的字元集","cssClasses":"樣式表類別","download":"強制下載","displayText":"顯示文字","emailAddress":"電子郵件地址","emailBody":"郵件本文","emailSubject":"郵件主旨","id":"ID","info":"連結資訊","langCode":"語言碼","langDir":"語言方向","langDirLTR":"由左至右 (LTR)","langDirRTL":"由右至左 (RTL)","menu":"編輯連結","name":"名稱","noAnchors":"(本文件中無可用之錨點)","noEmail":"請輸入電子郵件","noUrl":"請輸入連結 URL","other":"<其他>","popupDependent":"獨立 (Netscape)","popupFeatures":"快顯視窗功能","popupFullScreen":"全螢幕 (IE)","popupLeft":"左側位置","popupLocationBar":"位置列","popupMenuBar":"功能表列","popupResizable":"可調大小","popupScrollBars":"捲軸","popupStatusBar":"狀態列","popupToolbar":"工具列","popupTop":"頂端位置","rel":"關係","selectAnchor":"選取一個錨點","styles":"樣式","tabIndex":"定位順序","target":"目標","targetFrame":"<框架>","targetFrameName":"目標框架名稱","targetPopup":"<快顯視窗>","targetPopupName":"快顯視窗名稱","title":"連結","toAnchor":"文字中的錨點連結","toEmail":"電子郵件","toUrl":"網址","toolbar":"連結","type":"連結類型","unlink":"取消連結","upload":"上傳"},"list":{"bulletedlist":"插入/移除項目符號清單","numberedlist":"插入/移除編號清單清單"},"liststyle":{"armenian":"亞美尼亞數字","bulletedTitle":"項目符號清單屬性","circle":"圓圈","decimal":"小數點 (1, 2, 3, etc.)","decimalLeadingZero":"前綴 0 十位數字 (01, 02, 03, 等)","disc":"圓點","georgian":"喬治王時代數字 (an, ban, gan, 等)","lowerAlpha":"小寫字母 (a, b, c, d, e 等)","lowerGreek":"小寫希臘字母 (alpha, beta, gamma, 等)","lowerRoman":"小寫羅馬數字 (i, ii, iii, iv, v 等)","none":"無","notset":"<未設定>","numberedTitle":"編號清單屬性","square":"方塊","start":"開始","type":"類型","upperAlpha":"大寫字母 (A, B, C, D, E 等)","upperRoman":"大寫羅馬數字 (I, II, III, IV, V 等)","validateStartNumber":"清單起始號碼須為一完整數字。"},"magicline":{"title":"在此插入段落"},"maximize":{"maximize":"最大化","minimize":"最小化"},"newpage":{"toolbar":"新增網頁"},"pagebreak":{"alt":"換頁","toolbar":"插入換頁符號以便列印"},"pastetext":{"button":"貼成純文字","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"貼成純文字"},"pastefromword":{"confirmCleanup":"您想貼上的文字似乎是自 Word 複製而來,請問您是否要先清除 Word 的格式後再行貼上?","error":"由於發生內部錯誤,無法清除清除 Word 的格式。","title":"自 Word 貼上","toolbar":"自 Word 貼上"},"preview":{"preview":"預覽"},"print":{"toolbar":"列印"},"removeformat":{"toolbar":"移除格式"},"save":{"toolbar":"儲存"},"selectall":{"toolbar":"全選"},"showblocks":{"toolbar":"顯示區塊"},"sourcearea":{"toolbar":"原始碼"},"specialchar":{"options":"特殊字元選項","title":"選取特殊字元","toolbar":"插入特殊字元"},"scayt":{"btn_about":"關於即時拼寫檢查","btn_dictionaries":"字典","btn_disable":"關閉即時拼寫檢查","btn_enable":"啟用即時拼寫檢查","btn_langs":"語言","btn_options":"選項","text_title":"即時拼寫檢查"},"stylescombo":{"label":"樣式","panelTitle":"格式化樣式","panelTitle1":"區塊樣式","panelTitle2":"內嵌樣式","panelTitle3":"物件樣式"},"table":{"border":"框線大小","caption":"標題","cell":{"menu":"儲存格","insertBefore":"前方插入儲存格","insertAfter":"後方插入儲存格","deleteCell":"刪除儲存格","merge":"合併儲存格","mergeRight":"向右合併","mergeDown":"向下合併","splitHorizontal":"水平分割儲存格","splitVertical":"垂直分割儲存格","title":"儲存格屬性","cellType":"儲存格類型","rowSpan":"列全長","colSpan":"行全長","wordWrap":"自動斷行","hAlign":"水平對齊","vAlign":"垂直對齊","alignBaseline":"基準線","bgColor":"背景顏色","borderColor":"框線顏色","data":"資料","header":"頁首","yes":"是","no":"否","invalidWidth":"儲存格寬度必須為數字。","invalidHeight":"儲存格高度必須為數字。","invalidRowSpan":"列全長必須是整數。","invalidColSpan":"行全長必須是整數。","chooseColor":"選擇"},"cellPad":"儲存格邊距","cellSpace":"儲存格間距","column":{"menu":"行","insertBefore":"左方插入行","insertAfter":"右方插入行","deleteColumn":"刪除行"},"columns":"行","deleteTable":"刪除表格","headers":"頁首","headersBoth":"同時","headersColumn":"第一行","headersNone":"無","headersRow":"第一列","invalidBorder":"框線大小必須是整數。","invalidCellPadding":"儲存格邊距必須為正數。","invalidCellSpacing":"儲存格間距必須為正數。","invalidCols":"行數須為大於 0 的正整數。","invalidHeight":"表格高度必須為數字。","invalidRows":"列數須為大於 0 的正整數。","invalidWidth":"表格寬度必須為數字。","menu":"表格屬性","row":{"menu":"列","insertBefore":"上方插入列","insertAfter":"下方插入列","deleteRow":"刪除列"},"rows":"列","summary":"總結","title":"表格屬性","toolbar":"表格","widthPc":"百分比","widthPx":"像素","widthUnit":"寬度單位"},"undo":{"redo":"取消復原","undo":"復原"},"widget":{"move":"拖曳以移動","label":"%1 小工具"},"uploadwidget":{"abort":"上傳由使用者放棄。","doneOne":"檔案成功上傳。","doneMany":"成功上傳 %1 檔案。","uploadOne":"正在上傳檔案({percentage}%)...","uploadMany":"正在上傳檔案,{max} 中的 {current} 已完成({percentage}%)..."},"wsc":{"btnIgnore":"忽略","btnIgnoreAll":"全部忽略","btnReplace":"取代","btnReplaceAll":"全部取代","btnUndo":"復原","changeTo":"更改為","errorLoading":"無法聯系侍服器: %s.","ieSpellDownload":"尚未安裝拼字檢查元件。您是否想要現在下載?","manyChanges":"拼字檢查完成:更改了 %1 個單字","noChanges":"拼字檢查完成:未更改任何單字","noMispell":"拼字檢查完成:未發現拼字錯誤","noSuggestions":"- 無建議值 -","notAvailable":"抱歉,服務目前暫不可用","notInDic":"不在字典中","oneChange":"拼字檢查完成:更改了 1 個單字","progress":"進行拼字檢查中…","title":"拼字檢查","toolbar":"拼字檢查"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/zh.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/eo.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/eo.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/eo.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['eo']={"editor":"RiĉTeksta Redaktilo","editorPanel":"Panelo de la RiĉTeksta Redaktilo","common":{"editorHelp":"Premu ALT 0 por helpilo","browseServer":"Foliumi en la Servilo","url":"URL","protocol":"Protokolo","upload":"Alŝuti","uploadSubmit":"Sendu al Servilo","image":"Bildo","flash":"Flaŝo","form":"Formularo","checkbox":"Markobutono","radio":"Radiobutono","textField":"Teksta kampo","textarea":"Teksta Areo","hiddenField":"Kaŝita Kampo","button":"Butono","select":"Elekta Kampo","imageButton":"Bildbutono","notSet":"<Defaŭlta>","id":"Id","name":"Nomo","langDir":"Skribdirekto","langDirLtr":"De maldekstro dekstren (LTR)","langDirRtl":"De dekstro maldekstren (RTL)","langCode":"Lingva Kodo","longDescr":"URL de Longa Priskribo","cssClass":"Klasoj de Stilfolioj","advisoryTitle":"Priskriba Titolo","cssStyle":"Stilo","ok":"Akcepti","cancel":"Rezigni","close":"Fermi","preview":"Vidigi Aspekton","resize":"Movigi por ŝanĝi la grandon","generalTab":"Ĝenerala","advancedTab":"Speciala","validateNumberFailed":"Tiu valoro ne estas nombro.","confirmNewPage":"La neregistritaj ŝanĝoj estas perdotaj. Ĉu vi certas, ke vi volas ŝargi novan paĝon?","confirmCancel":"Iuj opcioj esta ŝanĝitaj. Ĉu vi certas, ke vi volas fermi la dialogon?","options":"Opcioj","target":"Celo","targetNew":"Nova Fenestro (_blank)","targetTop":"Supra Fenestro (_top)","targetSelf":"Sama Fenestro (_self)","targetParent":"Patra Fenestro (_parent)","langDirLTR":"De maldekstro dekstren (LTR)","langDirRTL":"De dekstro maldekstren (RTL)","styles":"Stilo","cssClasses":"Stilfoliaj Klasoj","width":"Larĝo","height":"Alto","align":"Ĝisrandigo","left":"Maldekstre","right":"Dekstre","center":"Centre","justify":"Ĝisrandigi Ambaŭflanke","alignLeft":"Ĝisrandigi maldekstren","alignRight":"Ĝisrandigi dekstren","alignCenter":"Align Center","alignTop":"Supre","alignMiddle":"Centre","alignBottom":"Malsupre","alignNone":"Neniu","invalidValue":"Nevalida Valoro","invalidHeight":"Alto devas esti nombro.","invalidWidth":"Larĝo devas esti nombro.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"La valoro indikita por la \"%1\" kampo devas esti pozitiva nombro kun aŭ sen valida CSSmezurunuo (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"La valoro indikita por la \"%1\" kampo devas esti pozitiva nombro kun aŭ sen valida HTMLmezurunuo (px or %).","invalidInlineStyle":"La valoro indikita por la enlinia stilo devas konsisti el unu aŭ pluraj elementoj kun la formato de \"nomo : valoro\", apartigitaj per punktokomoj.","cssLengthTooltip":"Entajpu nombron por rastrumera valoro aŭ nombron kun valida CSSunuo (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, nehavebla</span>","keyboard":{"8":"Retropaŝo","13":"Enigi","16":"Registrumo","17":"Stirklavo","18":"Alt-klavo","32":"Spaco","35":"Fino","36":"Hejmo","46":"Forigi","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Komando"},"keyboardShortcut":"Fulmoklavo","optionDefault":"Defaŭlta"},"about":{"copy":"Copyright &copy; $1. Ĉiuj rajtoj rezervitaj.","dlgTitle":"Pri CKEditor 4","moreInfo":"Por informoj pri licenco, bonvolu viziti nian retpaĝaron:"},"basicstyles":{"bold":"Grasa","italic":"Kursiva","strike":"Trastreko","subscript":"Suba indico","superscript":"Supra indico","underline":"Substreko"},"bidi":{"ltr":"Tekstdirekto de maldekstre dekstren","rtl":"Tekstdirekto de dekstre maldekstren"},"blockquote":{"toolbar":"Citaĵo"},"notification":{"closed":"Sciigo fermita"},"button":{"selectedLabel":"%1 (Selektita)"},"toolbar":{"toolbarCollapse":"Faldi la ilbreton","toolbarExpand":"Malfaldi la ilbreton","toolbarGroups":{"document":"Dokumento","clipboard":"Poŝo/Malfari","editing":"Redaktado","forms":"Formularoj","basicstyles":"Bazaj stiloj","paragraph":"Paragrafo","links":"Ligiloj","insert":"Enmeti","styles":"Stiloj","colors":"Koloroj","tools":"Iloj"},"toolbars":"Ilobretoj de la redaktilo"},"clipboard":{"copy":"Kopii","copyError":"La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras kopiajn operaciojn. Bonvolu uzi la klavaron por tio (Ctrl/Cmd-C).","cut":"Eltondi","cutError":"La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras eltondajn operaciojn. Bonvolu uzi la klavaron por tio (Ctrl/Cmd-X).","paste":"Interglui","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Intergluoareo","pasteMsg":"Paste your content inside the area below and press OK.","title":"Interglui"},"colorbutton":{"auto":"Aŭtomata","bgColorTitle":"Fona Koloro","colors":{"000":"Nigra","800000":"Kaŝtankolora","8B4513":"Mezbruna","2F4F4F":"Ardezgriza","008080":"Marĉanaskolora","000080":"Maristblua","4B0082":"Indigokolora","696969":"Malhelgriza","B22222":"Brikruĝa","A52A2A":"Bruna","DAA520":"Senbrilorkolora","006400":"Malhelverda","40E0D0":"Turkisblua","0000CD":"Reĝblua","800080":"Purpura","808080":"Griza","F00":"Ruĝa","FF8C00":"Malheloranĝkolora","FFD700":"Orkolora","008000":"Verda","0FF":"Verdblua","00F":"Blua","EE82EE":"Viola","A9A9A9":"Mezgriza","FFA07A":"Salmokolora","FFA500":"Oranĝkolora","FFFF00":"Flava","00FF00":"Limetkolora","AFEEEE":"Helturkiskolora","ADD8E6":"Helblua","DDA0DD":"Prunkolora","D3D3D3":"Helgriza","FFF0F5":"Lavendkolora vangoŝminko","FAEBD7":"Antikvablanka","FFFFE0":"Helflava","F0FFF0":"Vintromelonkolora","F0FFFF":"Lazura","F0F8FF":"Aliceblua","E6E6FA":"Lavendkolora","FFF":"Blanka","1ABC9C":"Fortverdblua","2ECC71":"Smeraldkolora","3498DB":"Brilblua","9B59B6":"Ametistkolora","4E5F70":"Grizblua","F1C40F":"Brilflava","16A085":"Malhelverdblua","27AE60":"Malhelsmeraldkolora","2980B9":"Fortblua","8E44AD":"Malhelviola","2C3E50":"Malsaturita Bluo","F39C12":"Oranĝkolora","E67E22":"Karotkolora","E74C3C":"Pale Ruĝa","ECF0F1":"Brile Arĝenta","95A5A6":"Helgrizverdblua","DDD":"Helgriza","D35400":"Kukurbokolora","C0392B":"Forte ruĝa","BDC3C7":"Arĝenta","7F8C8D":"Grizverdblua","999":"Malhelgriza"},"more":"Pli da Koloroj...","panelTitle":"Koloroj","textColorTitle":"Teksta Koloro"},"colordialog":{"clear":"Forigi","highlight":"Detaloj","options":"Opcioj pri koloroj","selected":"Selektita koloro","title":"Selekti koloron"},"templates":{"button":"Ŝablonoj","emptyListMsg":"(Neniu ŝablono difinita)","insertOption":"Anstataŭigi la nunan enhavon","options":"Opcioj pri ŝablonoj","selectPromptMsg":"Bonvolu selekti la ŝablonon por malfermi ĝin en la redaktilo","title":"Enhavo de ŝablonoj"},"contextmenu":{"options":"Opcioj de Kunteksta Menuo"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Priskriba Titolo","cssClassInputLabel":"Stilfolioklasoj","edit":"Redakti Div","inlineStyleInputLabel":"Enlinia stilo","langDirLTRLabel":"Maldekstre dekstren (angle LTR)","langDirLabel":"Skribdirekto","langDirRTLLabel":"Dekstre maldekstren (angle RTL)","languageCodeInputLabel":" Lingvokodo","remove":"Forigi Div","styleSelectLabel":"Stilo","title":"Krei DIV ujon","toolbar":"Krei DIV ujon"},"elementspath":{"eleLabel":"Vojo al Elementoj","eleTitle":"%1 elementoj"},"filetools":{"loadError":"Eraro okazis dum la dosiera legado.","networkError":"Reta eraro okazis dum la dosiera alŝuto.","httpError404":"HTTP eraro okazis dum la dosiera alŝuto (404: dosiero ne trovita).","httpError403":"HTTP eraro okazis dum la dosiera alŝuto (403: malpermesita).","httpError":"HTTP eraro okazis dum la dosiera alŝuto (erara stato: %1).","noUrlError":"Alŝuta URL ne estas difinita.","responseError":"Malĝusta respondo de la servilo."},"find":{"find":"Serĉi","findOptions":"Opcioj pri Serĉado","findWhat":"Serĉi:","matchCase":"Kongruigi Usklecon","matchCyclic":"Cikla Serĉado","matchWord":"Tuta Vorto","notFoundMsg":"La celteksto ne estas trovita.","replace":"Anstataŭigi","replaceAll":"Anstataŭigi Ĉion","replaceSuccessMsg":"%1 anstataŭigita(j) apero(j).","replaceWith":"Anstataŭigi per:","title":"Serĉi kaj Anstataŭigi"},"fakeobjects":{"anchor":"Ankro","flash":"FlaŝAnimacio","hiddenfield":"Kaŝita kampo","iframe":"Enlinia Kadro (IFrame)","unknown":"Nekonata objekto"},"flash":{"access":"Atingi skriptojn","accessAlways":"Ĉiam","accessNever":"Neniam","accessSameDomain":"Sama domajno","alignAbsBottom":"Absoluta Malsupro","alignAbsMiddle":"Absoluta Centro","alignBaseline":"TekstoMalsupro","alignTextTop":"TekstoSupro","bgcolor":"Fona Koloro","chkFull":"Permesi tutekranon","chkLoop":"Iteracio","chkMenu":"Ebligi flaŝmenuon","chkPlay":"Aŭtomata legado","flashvars":"Variabloj por Flaŝo","hSpace":"Horizontala Spaco","properties":"Flaŝatributoj","propertiesTab":"Atributoj","quality":"Kvalito","qualityAutoHigh":"Aŭtomate alta","qualityAutoLow":"Aŭtomate malalta","qualityBest":"Plej bona","qualityHigh":"Alta","qualityLow":"Malalta","qualityMedium":"Meza","scale":"Skalo","scaleAll":"Montri ĉion","scaleFit":"Origina grando","scaleNoBorder":"Neniu bordero","title":"Flaŝatributoj","vSpace":"Vertikala Spaco","validateHSpace":"Horizontala Spaco devas esti nombro.","validateSrc":"Bonvolu entajpi la retadreson (URL)","validateVSpace":"Vertikala Spaco devas esti nombro.","windowMode":"Fenestra reĝimo","windowModeOpaque":"Opaka","windowModeTransparent":"Travidebla","windowModeWindow":"Fenestro"},"font":{"fontSize":{"label":"Grado","voiceLabel":"Tipara grado","panelTitle":"Tipara grado"},"label":"Tiparo","panelTitle":"Tipara nomo","voiceLabel":"Tiparo"},"forms":{"button":{"title":"Butonaj atributoj","text":"Teksto (Valoro)","type":"Tipo","typeBtn":"Butono","typeSbm":"Validigi (submit)","typeRst":"Remeti en la originstaton (Reset)"},"checkboxAndRadio":{"checkboxTitle":"Markobutonaj Atributoj","radioTitle":"Radiobutonaj Atributoj","value":"Valoro","selected":"Selektita","required":"Postulata"},"form":{"title":"Formularaj Atributoj","menu":"Formularaj Atributoj","action":"Ago","method":"Metodo","encoding":"Kodoprezento"},"hidden":{"title":"Atributoj de Kaŝita Kampo","name":"Nomo","value":"Valoro"},"select":{"title":"Atributoj de Elekta Kampo","selectInfo":"Informoj pri la rulummenuo","opAvail":"Elektoj Disponeblaj","value":"Valoro","size":"Grando","lines":"Linioj","chkMulti":"Permesi Plurajn Elektojn","required":"Postulata","opText":"Teksto","opValue":"Valoro","btnAdd":"Aldoni","btnModify":"Modifi","btnUp":"Supren","btnDown":"Malsupren","btnSetValue":"Agordi kiel Elektitan Valoron","btnDelete":"Forigi"},"textarea":{"title":"Atributoj de Teksta Areo","cols":"Kolumnoj","rows":"Linioj"},"textfield":{"title":"Atributoj de Teksta Kampo","name":"Nomo","value":"Valoro","charWidth":"Signolarĝo","maxChars":"Maksimuma Nombro da Signoj","required":"Postulata","type":"Tipo","typeText":"Teksto","typePass":"Pasvorto","typeEmail":"retpoŝtadreso","typeSearch":"Serĉi","typeTel":"Telefonnumero","typeUrl":"URL"}},"format":{"label":"Formato","panelTitle":"ParagrafFormato","tag_address":"Adreso","tag_div":"Normala (DIV)","tag_h1":"Titolo 1","tag_h2":"Titolo 2","tag_h3":"Titolo 3","tag_h4":"Titolo 4","tag_h5":"Titolo 5","tag_h6":"Titolo 6","tag_p":"Normala","tag_pre":"Formatita"},"horizontalrule":{"toolbar":"Enmeti Horizontalan Linion"},"iframe":{"border":"Montri borderon de kadro (frame)","noUrl":"Bonvolu entajpi la retadreson de la ligilo al la enlinia kadro (IFrame)","scrolling":"Ebligi rulumskalon","title":"Atributoj de la enlinia kadro (IFrame)","toolbar":"Enlinia kadro (IFrame)"},"image":{"alt":"Anstataŭiga Teksto","border":"Bordero","btnUpload":"Sendu al Servilo","button2Img":"Ĉu vi volas transformi la selektitan bildbutonon en simplan bildon?","hSpace":"Horizontala Spaco","img2Button":"Ĉu vi volas transformi la selektitan bildon en bildbutonon?","infoTab":"Informoj pri Bildo","linkTab":"Ligilo","lockRatio":"Konservi Proporcion","menu":"Atributoj de Bildo","resetSize":"Origina Grando","title":"Atributoj de Bildo","titleButton":"Bildbutonaj Atributoj","upload":"Alŝuti","urlMissing":"La fontretadreso de la bildo mankas.","vSpace":"Vertikala Spaco","validateBorder":"La bordero devas esti entjera nombro.","validateHSpace":"La horizontala spaco devas esti entjera nombro.","validateVSpace":"La vertikala spaco devas esti entjera nombro."},"indent":{"indent":"Pligrandigi Krommarĝenon","outdent":"Malpligrandigi Krommarĝenon"},"smiley":{"options":"Opcioj pri mienvinjetoj","title":"Enmeti Mienvinjeton","toolbar":"Mienvinjeto"},"language":{"button":"Instali lingvon","remove":"Forigi lingvon"},"link":{"acccessKey":"Fulmoklavo","advanced":"Speciala","advisoryContentType":"Enhavotipo","advisoryTitle":"Priskriba Titolo","anchor":{"toolbar":"Ankro","menu":"Enmeti/Ŝanĝi Ankron","title":"Ankraj Atributoj","name":"Ankra Nomo","errorName":"Bv entajpi la ankran nomon","remove":"Forigi Ankron"},"anchorId":"Per Elementidentigilo","anchorName":"Per Ankronomo","charset":"Signaro de la Ligita Rimedo","cssClasses":"Klasoj de Stilfolioj","download":"Altrudi Elŝuton","displayText":"Vidigi Tekston","emailAddress":"Retpoŝto","emailBody":"Mesaĝa korpo","emailSubject":"Mesaĝa Temo","id":"Id","info":"Informoj pri la Ligilo","langCode":"Lingva Kodo","langDir":"Skribdirekto","langDirLTR":"De maldekstro dekstren (LTR)","langDirRTL":"De dekstro maldekstren (RTL)","menu":"Ŝanĝi Ligilon","name":"Nomo","noAnchors":"<Ne disponeblas ankroj en la dokumento>","noEmail":"Bonvolu entajpi la retpoŝtadreson","noUrl":"Bonvolu entajpi la URL-on","other":"<alia>","popupDependent":"Dependa (Netscape)","popupFeatures":"Atributoj de la Ŝprucfenestro","popupFullScreen":"Tutekrane (IE)","popupLeft":"Maldekstra Pozicio","popupLocationBar":"Adresobreto","popupMenuBar":"Menubreto","popupResizable":"Dimensiŝanĝebla","popupScrollBars":"Rulumskaloj","popupStatusBar":"Statobreto","popupToolbar":"Ilobreto","popupTop":"Supra Pozicio","rel":"Rilato","selectAnchor":"Elekti Ankron","styles":"Stilo","tabIndex":"Taba Indekso","target":"Celo","targetFrame":"<kadro>","targetFrameName":"Nomo de CelKadro","targetPopup":"<ŝprucfenestro>","targetPopupName":"Nomo de Ŝprucfenestro","title":"Ligilo","toAnchor":"Ankri en tiu ĉi paĝo","toEmail":"Retpoŝto","toUrl":"URL","toolbar":"Enmeti/Ŝanĝi Ligilon","type":"Tipo de Ligilo","unlink":"Forigi Ligilon","upload":"Alŝuti"},"list":{"bulletedlist":"Bula Listo","numberedlist":"Numera Listo"},"liststyle":{"armenian":"Armena nombrado","bulletedTitle":"Atributoj de Bula Listo","circle":"Cirklo","decimal":"Dekumaj Nombroj (1, 2, 3, ktp.)","decimalLeadingZero":"Dekumaj Nombroj malantaŭ nulo (01, 02, 03, ktp.)","disc":"Disko","georgian":"Gruza nombrado (an, ban, gan, ktp.)","lowerAlpha":"Minusklaj Literoj (a, b, c, d, e, ktp.)","lowerGreek":"Grekaj Minusklaj Literoj (alpha, beta, gamma, ktp.)","lowerRoman":"Minusklaj Romanaj Nombroj (i, ii, iii, iv, v, ktp.)","none":"Neniu","notset":"<Defaŭlta>","numberedTitle":"Atributoj de Numera Listo","square":"kvadrato","start":"Komenco","type":"Tipo","upperAlpha":"Majusklaj Literoj (A, B, C, D, E, ktp.)","upperRoman":"Majusklaj Romanaj Nombroj (I, II, III, IV, V, ktp.)","validateStartNumber":"La unua listero devas esti entjera nombro."},"magicline":{"title":"Enmeti paragrafon ĉi-tien"},"maximize":{"maximize":"Pligrandigi","minimize":"Malgrandigi"},"newpage":{"toolbar":"Nova Paĝo"},"pagebreak":{"alt":"Paĝavanco","toolbar":"Enmeti Paĝavancon por Presado"},"pastetext":{"button":"Interglui kiel platan tekston","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Interglui kiel platan tekston"},"pastefromword":{"confirmCleanup":"La teksto, kiun vi volas interglui, ŝajnas esti kopiita el Word. Ĉu vi deziras purigi ĝin antaŭ intergluo?","error":"Ne eblis purigi la intergluitajn datenojn pro interna eraro","title":"Interglui el Word","toolbar":"Interglui el Word"},"preview":{"preview":"Vidigi Aspekton"},"print":{"toolbar":"Presi"},"removeformat":{"toolbar":"Forigi Formaton"},"save":{"toolbar":"Konservi"},"selectall":{"toolbar":"Elekti ĉion"},"showblocks":{"toolbar":"Montri la blokojn"},"sourcearea":{"toolbar":"Fonto"},"specialchar":{"options":"Opcioj pri Specialaj Signoj","title":"Selekti Specialan Signon","toolbar":"Enmeti Specialan Signon"},"scayt":{"btn_about":"Pri OKDVT","btn_dictionaries":"Vortaroj","btn_disable":"Malebligi OKDVT","btn_enable":"Ebligi OKDVT","btn_langs":"Lingvoj","btn_options":"Opcioj","text_title":"OrtografiKontrolado Dum Vi Tajpas (OKDVT)"},"stylescombo":{"label":"Stiloj","panelTitle":"Stiloj pri enpaĝigo","panelTitle1":"Stiloj de blokoj","panelTitle2":"Enliniaj Stiloj","panelTitle3":"Stiloj de objektoj"},"table":{"border":"Bordero","caption":"Tabeltitolo","cell":{"menu":"Ĉelo","insertBefore":"Enmeti Ĉelon Antaŭ","insertAfter":"Enmeti Ĉelon Post","deleteCell":"Forigi la Ĉelojn","merge":"Kunfandi la Ĉelojn","mergeRight":"Kunfandi dekstren","mergeDown":"Kunfandi malsupren ","splitHorizontal":"Horizontale dividi","splitVertical":"Vertikale dividi","title":"Ĉelatributoj","cellType":"Ĉeltipo","rowSpan":"Kunfando de linioj","colSpan":"Kunfando de kolumnoj","wordWrap":"Cezuro","hAlign":"Horizontala ĝisrandigo","vAlign":"Vertikala ĝisrandigo","alignBaseline":"Malsupro de la teksto","bgColor":"Fonkoloro","borderColor":"Borderkoloro","data":"Datenoj","header":"Supra paĝotitolo","yes":"Jes","no":"No","invalidWidth":"Ĉellarĝo devas esti nombro.","invalidHeight":"Ĉelalto devas esti nombro.","invalidRowSpan":"Kunfando de linioj devas esti entjera nombro.","invalidColSpan":"Kunfando de kolumnoj devas esti entjera nombro.","chooseColor":"Elektu"},"cellPad":"Interna Marĝeno de la ĉeloj","cellSpace":"Spaco inter la Ĉeloj","column":{"menu":"Kolumno","insertBefore":"Enmeti kolumnon antaŭ","insertAfter":"Enmeti kolumnon post","deleteColumn":"Forigi Kolumnojn"},"columns":"Kolumnoj","deleteTable":"Forigi Tabelon","headers":"Supraj Paĝotitoloj","headersBoth":"Ambaŭ","headersColumn":"Unua kolumno","headersNone":"Neniu","headersRow":"Unua linio","invalidBorder":"La bordergrando devas esti nombro.","invalidCellPadding":"La interna marĝeno en la ĉeloj devas esti pozitiva nombro.","invalidCellSpacing":"La spaco inter la ĉeloj devas esti pozitiva nombro.","invalidCols":"La nombro de la kolumnoj devas superi 0.","invalidHeight":"La tabelalto devas esti nombro.","invalidRows":"La nombro de la linioj devas superi 0.","invalidWidth":"La tabellarĝo devas esti nombro.","menu":"Atributoj de Tabelo","row":{"menu":"Linio","insertBefore":"Enmeti linion antaŭ","insertAfter":"Enmeti linion post","deleteRow":"Forigi Liniojn"},"rows":"Linioj","summary":"Resumo","title":"Atributoj de Tabelo","toolbar":"Tabelo","widthPc":"elcentoj","widthPx":"Rastrumeroj","widthUnit":"unuo de larĝo"},"undo":{"redo":"Refari","undo":"Malfari"},"widget":{"move":"klaki kaj treni por movi","label":"%1 fenestraĵo"},"uploadwidget":{"abort":"Alŝuto ĉesigita de la uzanto","doneOne":"Dosiero sukcese alŝutita.","doneMany":"Sukcese alŝutitaj %1 dosieroj.","uploadOne":"alŝutata dosiero ({percentage}%)...","uploadMany":"Alŝutataj dosieroj, {current} el {max} faritaj ({percentage}%)..."},"wsc":{"btnIgnore":"Ignori","btnIgnoreAll":"Ignori Ĉion","btnReplace":"Anstataŭigi","btnReplaceAll":"Anstataŭigi Ĉion","btnUndo":"Malfari","changeTo":"Ŝanĝi al","errorLoading":"Eraro en la servoelŝuto el la gastiga komputiko: %s.","ieSpellDownload":"Ortografikontrolilo ne instalita. Ĉu vi volas elŝuti ĝin nun?","manyChanges":"Ortografikontrolado finita: %1 vortoj korektitaj","noChanges":"Ortografikontrolado finita: neniu vorto korektita","noMispell":"Ortografikontrolado finita: neniu eraro trovita","noSuggestions":"- Neniu propono -","notAvailable":"Bedaŭrinde la servo ne funkcias nuntempe.","notInDic":"Ne trovita en la vortaro","oneChange":"Ortografikontrolado finita: unu vorto korektita","progress":"La ortografio estas kontrolata...","title":"Kontroli la ortografion","toolbar":"Kontroli la ortografion"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/eo.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/lv.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/lv.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/lv.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['lv']={"editor":"Bagātinātā teksta redaktors","editorPanel":"Bagātinātā teksta redaktora panelis","common":{"editorHelp":"Palīdzībai, nospiediet ALT 0 ","browseServer":"Skatīt servera saturu","url":"URL","protocol":"Protokols","upload":"Augšupielādēt","uploadSubmit":"Nosūtīt serverim","image":"Attēls","flash":"Flash","form":"Forma","checkbox":"Atzīmēšanas kastīte","radio":"Izvēles poga","textField":"Teksta rinda","textarea":"Teksta laukums","hiddenField":"Paslēpta teksta rinda","button":"Poga","select":"Iezīmēšanas lauks","imageButton":"Attēlpoga","notSet":"<nav iestatīts>","id":"Id","name":"Nosaukums","langDir":"Valodas lasīšanas virziens","langDirLtr":"No kreisās uz labo (LTR)","langDirRtl":"No labās uz kreiso (RTL)","langCode":"Valodas kods","longDescr":"Gara apraksta Hipersaite","cssClass":"Stilu saraksta klases","advisoryTitle":"Konsultatīvs virsraksts","cssStyle":"Stils","ok":"Darīts!","cancel":"Atcelt","close":"Aizvērt","preview":"Priekšskatījums","resize":"Mērogot","generalTab":"Vispārīgi","advancedTab":"Izvērstais","validateNumberFailed":"Šī vērtība nav skaitlis","confirmNewPage":"Jebkuras nesaglabātās izmaiņas tiks zaudētas. Vai tiešām vēlaties atvērt jaunu lapu?","confirmCancel":"Daži no uzstādījumiem ir mainīti. Vai tiešām vēlaties aizvērt šo dialogu?","options":"Uzstādījumi","target":"Mērķis","targetNew":"Jauns logs (_blank)","targetTop":"Virsējais logs (_top)","targetSelf":"Tas pats logs (_self)","targetParent":"Avota logs (_parent)","langDirLTR":"Kreisais uz Labo (LTR)","langDirRTL":"Labais uz Kreiso (RTL)","styles":"Stils","cssClasses":"Stilu klases","width":"Platums","height":"Augstums","align":"Nolīdzināt","left":"Pa kreisi","right":"Pa labi","center":"Centrēti","justify":"Izlīdzināt malas","alignLeft":"Izlīdzināt pa kreisi","alignRight":"Izlīdzināt pa labi","alignCenter":"Align Center","alignTop":"Augšā","alignMiddle":"Vertikāli centrēts","alignBottom":"Apakšā","alignNone":"Nekas","invalidValue":"Nekorekta vērtība","invalidHeight":"Augstumam jābūt skaitlim.","invalidWidth":"Platumam jābūt skaitlim","invalidLength":"Laukam \"%1\" norādītajai vērtībai jābūt pozitīvam skaitlim ar vai bez korektām mērvienībām (%2).","invalidCssLength":"Laukam \"%1\" norādītajai vērtībai jābūt pozitīvam skaitlim ar vai bez korektām CSS mērvienībām (px, %, in, cm, mm, em, ex, pt, vai pc).","invalidHtmlLength":"Laukam \"%1\" norādītajai vērtībai jābūt pozitīvam skaitlim ar vai bez korektām HTML mērvienībām (px vai %).","invalidInlineStyle":"Iekļautajā stilā norādītajai vērtībai jāsastāv no viena vai vairākiem pāriem pēc formāta \"nosaukums: vērtība\", atdalītiem ar semikolu.","cssLengthTooltip":"Ievadiet vērtību pikseļos vai skaitli ar derīgu CSS mērvienību (px, %, in, cm, mm, em, ex, pt, vai pc).","unavailable":"%1<span class=\"cke_accessibility\">, nav pieejams</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Kopēšanas tiesības &copy; $1. Visas tiesības rezervētas.","dlgTitle":"Par CKEditor 4","moreInfo":"Informācijai par licenzēšanu apmeklējiet mūsu mājas lapu:"},"basicstyles":{"bold":"Treknināts","italic":"Kursīvs","strike":"Pārsvītrots","subscript":"Apakšrakstā","superscript":"Augšrakstā","underline":"Pasvītrots"},"bidi":{"ltr":"Teksta virziens no kreisās uz labo","rtl":"Teksta virziens no labās uz kreiso"},"blockquote":{"toolbar":"Bloka citāts"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Aizvērt rīkjoslu","toolbarExpand":"Atvērt rīkjoslu","toolbarGroups":{"document":"Dokuments","clipboard":"Starpliktuve/Atcelt","editing":"Labošana","forms":"Formas","basicstyles":"Pamata stili","paragraph":"Paragrāfs","links":"Saites","insert":"Ievietot","styles":"Stili","colors":"Krāsas","tools":"Rīki"},"toolbars":"Redaktora rīkjoslas"},"clipboard":{"copy":"Kopēt","copyError":"Jūsu pārlūkprogrammas drošības iestatījumi nepieļauj redaktoram automātiski veikt kopēšanas darbību. Lūdzu, izmantojiet (Ctrl/Cmd+C), lai veiktu šo darbību.","cut":"Izgriezt","cutError":"Jūsu pārlūkprogrammas drošības iestatījumi nepieļauj redaktoram automātiski veikt izgriezšanas darbību. Lūdzu, izmantojiet (Ctrl/Cmd+X), lai veiktu šo darbību.","paste":"Ielīmēt","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Ielīmēšanas zona","pasteMsg":"Paste your content inside the area below and press OK.","title":"Ievietot"},"colorbutton":{"auto":"Automātiska","bgColorTitle":"Fona krāsa","colors":{"000":"Melns","800000":"Sarkanbrūns","8B4513":"Sedlu brūns","2F4F4F":"Tumšas tāfeles pelēks","008080":"Zili-zaļš","000080":"Jūras","4B0082":"Indigo","696969":"Tumši pelēks","B22222":"Ķieģeļsarkans","A52A2A":"Brūns","DAA520":"Zelta","006400":"Tumši zaļš","40E0D0":"Tirkīzs","0000CD":"Vidēji zils","800080":"Purpurs","808080":"Pelēks","F00":"Sarkans","FF8C00":"Tumši oranžs","FFD700":"Zelta","008000":"Zaļš","0FF":"Tumšzils","00F":"Zils","EE82EE":"Violets","A9A9A9":"Pelēks","FFA07A":"Gaiši laškrāsas","FFA500":"Oranžs","FFFF00":"Dzeltens","00FF00":"Laima","AFEEEE":"Gaiši tirkīza","ADD8E6":"Gaiši zils","DDA0DD":"Plūmju","D3D3D3":"Gaiši pelēks","FFF0F5":"Lavandas sārts","FAEBD7":"Antīki balts","FFFFE0":"Gaiši dzeltens","F0FFF0":"Meduspile","F0FFFF":"Debesszils","F0F8FF":"Alises zils","E6E6FA":"Lavanda","FFF":"Balts","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Plašāka palete...","panelTitle":"Krāsa","textColorTitle":"Teksta krāsa"},"colordialog":{"clear":"Notīrīt","highlight":"Paraugs","options":"Krāsas uzstādījumi","selected":"Izvēlētā krāsa","title":"Izvēlies krāsu"},"templates":{"button":"Sagataves","emptyListMsg":"(Nav norādītas sagataves)","insertOption":"Aizvietot pašreizējo saturu","options":"Sagataves uzstādījumi","selectPromptMsg":"Lūdzu, norādiet sagatavi, ko atvērt editorā<br>(patreizējie dati tiks zaudēti):","title":"Satura sagataves"},"contextmenu":{"options":"Uznirstošās izvēlnes uzstādījumi"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Konsultatīvs virsraksts","cssClassInputLabel":"Stilu klases","edit":"Labot Div","inlineStyleInputLabel":"Iekļautais stils","langDirLTRLabel":"Kreisais uz Labo (LTR)","langDirLabel":"Valodas virziens","langDirRTLLabel":"Labais uz kreiso (RTL)","languageCodeInputLabel":"Valodas kods","remove":"Noņemt Div","styleSelectLabel":"Stils","title":"Izveidot div konteineri","toolbar":"Izveidot div konteineri"},"elementspath":{"eleLabel":"Elementa ceļš","eleTitle":"%1 elements"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Meklēt","findOptions":"Meklēt uzstādījumi","findWhat":"Meklēt:","matchCase":"Reģistrjūtīgs","matchCyclic":"Sakrist cikliski","matchWord":"Jāsakrīt pilnībā","notFoundMsg":"Norādītā frāze netika atrasta.","replace":"Nomainīt","replaceAll":"Aizvietot visu","replaceSuccessMsg":"%1 gadījums(i) aizvietoti","replaceWith":"Nomainīt uz:","title":"Meklēt un aizvietot"},"fakeobjects":{"anchor":"Iezīme","flash":"Flash animācija","hiddenfield":"Slēpts lauks","iframe":"Iframe","unknown":"Nezināms objekts"},"flash":{"access":"Skripta pieeja","accessAlways":"Vienmēr","accessNever":"Nekad","accessSameDomain":"Tas pats domēns","alignAbsBottom":"Absolūti apakšā","alignAbsMiddle":"Absolūti vertikāli centrēts","alignBaseline":"Pamatrindā","alignTextTop":"Teksta augšā","bgcolor":"Fona krāsa","chkFull":"Pilnekrāns","chkLoop":"Nepārtraukti","chkMenu":"Atļaut Flash izvēlni","chkPlay":"Automātiska atskaņošana","flashvars":"Flash mainīgie","hSpace":"Horizontālā telpa","properties":"Flash īpašības","propertiesTab":"Uzstādījumi","quality":"Kvalitāte","qualityAutoHigh":"Automātiski Augsta","qualityAutoLow":"Automātiski Zema","qualityBest":"Labākā","qualityHigh":"Augsta","qualityLow":"Zema","qualityMedium":"Vidēja","scale":"Mainīt izmēru","scaleAll":"Rādīt visu","scaleFit":"Precīzs izmērs","scaleNoBorder":"Bez rāmja","title":"Flash īpašības","vSpace":"Vertikālā telpa","validateHSpace":"Hspace jābūt skaitlim","validateSrc":"Lūdzu norādi hipersaiti","validateVSpace":"Vspace jābūt skaitlim","windowMode":"Loga režīms","windowModeOpaque":"Necaurspīdīgs","windowModeTransparent":"Caurspīdīgs","windowModeWindow":"Logs"},"font":{"fontSize":{"label":"Izmērs","voiceLabel":"Fonta izmeŗs","panelTitle":"Izmērs"},"label":"Šrifts","panelTitle":"Šrifts","voiceLabel":"Fonts"},"forms":{"button":{"title":"Pogas īpašības","text":"Teksts (vērtība)","type":"Tips","typeBtn":"Poga","typeSbm":"Nosūtīt","typeRst":"Atcelt"},"checkboxAndRadio":{"checkboxTitle":"Atzīmēšanas kastītes īpašības","radioTitle":"Izvēles poga īpašības","value":"Vērtība","selected":"Iezīmēts","required":"Required"},"form":{"title":"Formas īpašības","menu":"Formas īpašības","action":"Darbība","method":"Metode","encoding":"Kodējums"},"hidden":{"title":"Paslēptās teksta rindas īpašības","name":"Nosaukums","value":"Vērtība"},"select":{"title":"Iezīmēšanas lauka īpašības","selectInfo":"Informācija","opAvail":"Pieejamās iespējas","value":"Vērtība","size":"Izmērs","lines":"rindas","chkMulti":"Atļaut vairākus iezīmējumus","required":"Required","opText":"Teksts","opValue":"Vērtība","btnAdd":"Pievienot","btnModify":"Veikt izmaiņas","btnUp":"Augšup","btnDown":"Lejup","btnSetValue":"Noteikt kā iezīmēto vērtību","btnDelete":"Dzēst"},"textarea":{"title":"Teksta laukuma īpašības","cols":"Kolonnas","rows":"Rindas"},"textfield":{"title":"Teksta rindas īpašības","name":"Nosaukums","value":"Vērtība","charWidth":"Simbolu platums","maxChars":"Simbolu maksimālais daudzums","required":"Required","type":"Tips","typeText":"Teksts","typePass":"Parole","typeEmail":"Epasts","typeSearch":"Meklēt","typeTel":"Tālruņa numurs","typeUrl":"Adrese"}},"format":{"label":"Formāts","panelTitle":"Formāts","tag_address":"Adrese","tag_div":"Rindkopa (DIV)","tag_h1":"Virsraksts 1","tag_h2":"Virsraksts 2","tag_h3":"Virsraksts 3","tag_h4":"Virsraksts 4","tag_h5":"Virsraksts 5","tag_h6":"Virsraksts 6","tag_p":"Normāls teksts","tag_pre":"Formatēts teksts"},"horizontalrule":{"toolbar":"Ievietot horizontālu Atdalītājsvītru"},"iframe":{"border":"Rādīt rāmi","noUrl":"Norādiet iframe adresi","scrolling":"Atļaut ritjoslas","title":"IFrame uzstādījumi","toolbar":"IFrame"},"image":{"alt":"Alternatīvais teksts","border":"Rāmis","btnUpload":"Nosūtīt serverim","button2Img":"Vai vēlaties pārveidot izvēlēto attēla pogu uz attēla?","hSpace":"Horizontālā telpa","img2Button":"Vai vēlaties pārveidot izvēlēto attēlu uz attēla pogas?","infoTab":"Informācija par attēlu","linkTab":"Hipersaite","lockRatio":"Nemainīga Augstuma/Platuma attiecība","menu":"Attēla īpašības","resetSize":"Atjaunot sākotnējo izmēru","title":"Attēla īpašības","titleButton":"Attēlpogas īpašības","upload":"Augšupielādēt","urlMissing":"Trūkst attēla atrašanās adrese.","vSpace":"Vertikālā telpa","validateBorder":"Apmalei jābūt veselam skaitlim","validateHSpace":"HSpace jābūt veselam skaitlim","validateVSpace":"VSpace jābūt veselam skaitlim"},"indent":{"indent":"Palielināt atkāpi","outdent":"Samazināt atkāpi"},"smiley":{"options":"Smaidiņu uzstādījumi","title":"Ievietot smaidiņu","toolbar":"Smaidiņi"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Pieejas taustiņš","advanced":"Izvērstais","advisoryContentType":"Konsultatīvs satura tips","advisoryTitle":"Konsultatīvs virsraksts","anchor":{"toolbar":"Ievietot/Labot iezīmi","menu":"Labot iezīmi","title":"Iezīmes uzstādījumi","name":"Iezīmes nosaukums","errorName":"Lūdzu norādiet iezīmes nosaukumu","remove":"Noņemt iezīmi"},"anchorId":"Pēc elementa ID","anchorName":"Pēc iezīmes nosaukuma","charset":"Pievienotā resursa kodējums","cssClasses":"Stilu saraksta klases","download":"Force Download","displayText":"Display Text","emailAddress":"E-pasta adrese","emailBody":"Ziņas saturs","emailSubject":"Ziņas tēma","id":"ID","info":"Hipersaites informācija","langCode":"Valodas kods","langDir":"Valodas lasīšanas virziens","langDirLTR":"No kreisās uz labo (LTR)","langDirRTL":"No labās uz kreiso (RTL)","menu":"Labot hipersaiti","name":"Nosaukums","noAnchors":"(Šajā dokumentā nav iezīmju)","noEmail":"Lūdzu norādi e-pasta adresi","noUrl":"Lūdzu norādi hipersaiti","other":"<cits>","popupDependent":"Atkarīgs (Netscape)","popupFeatures":"Uznirstošā loga nosaukums īpašības","popupFullScreen":"Pilnā ekrānā (IE)","popupLeft":"Kreisā koordināte","popupLocationBar":"Atrašanās vietas josla","popupMenuBar":"Izvēlnes josla","popupResizable":"Mērogojams","popupScrollBars":"Ritjoslas","popupStatusBar":"Statusa josla","popupToolbar":"Rīku josla","popupTop":"Augšējā koordināte","rel":"Relācija","selectAnchor":"Izvēlēties iezīmi","styles":"Stils","tabIndex":"Ciļņu indekss","target":"Mērķis","targetFrame":"<ietvars>","targetFrameName":"Mērķa ietvara nosaukums","targetPopup":"<uznirstošā logā>","targetPopupName":"Uznirstošā loga nosaukums","title":"Hipersaite","toAnchor":"Iezīme šajā lapā","toEmail":"E-pasts","toUrl":"Adrese","toolbar":"Ievietot/Labot hipersaiti","type":"Hipersaites tips","unlink":"Noņemt hipersaiti","upload":"Augšupielādēt"},"list":{"bulletedlist":"Pievienot/Noņemt vienkāršu sarakstu","numberedlist":"Numurēts saraksts"},"liststyle":{"armenian":"Armēņu skaitļi","bulletedTitle":"Vienkārša saraksta uzstādījumi","circle":"Aplis","decimal":"Decimālie (1, 2, 3, utt)","decimalLeadingZero":"Decimālie ar nulli (01, 02, 03, utt)","disc":"Disks","georgian":"Gruzīņu skaitļi (an, ban, gan, utt)","lowerAlpha":"Mazie alfabēta (a, b, c, d, e, utt)","lowerGreek":"Mazie grieķu (alfa, beta, gamma, utt)","lowerRoman":"Mazie romāņu (i, ii, iii, iv, v, utt)","none":"Nekas","notset":"<nav norādīts>","numberedTitle":"Numurēta saraksta uzstādījumi","square":"Kvadrāts","start":"Sākt","type":"Tips","upperAlpha":"Lielie alfabēta (A, B, C, D, E, utt)","upperRoman":"Lielie romāņu (I, II, III, IV, V, utt)","validateStartNumber":"Saraksta sākuma numuram jābūt veselam skaitlim"},"magicline":{"title":"Ievietot šeit rindkopu"},"maximize":{"maximize":"Maksimizēt","minimize":"Minimizēt"},"newpage":{"toolbar":"Jauna lapa"},"pagebreak":{"alt":"Lapas pārnesums","toolbar":"Ievietot lapas pārtraukumu drukai"},"pastetext":{"button":"Ievietot kā vienkāršu tekstu","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Ievietot kā vienkāršu tekstu"},"pastefromword":{"confirmCleanup":"Teksts, kuru vēlaties ielīmēt, izskatās ir nokopēts no Word. Vai vēlaties to iztīrīt pirms ielīmēšanas?","error":"Iekšējas kļūdas dēļ, neizdevās iztīrīt ielīmētos datus.","title":"Ievietot no Worda","toolbar":"Ievietot no Worda"},"preview":{"preview":"Priekšskatīt"},"print":{"toolbar":"Drukāt"},"removeformat":{"toolbar":"Noņemt stilus"},"save":{"toolbar":"Saglabāt"},"selectall":{"toolbar":"Iezīmēt visu"},"showblocks":{"toolbar":"Parādīt blokus"},"sourcearea":{"toolbar":"HTML kods"},"specialchar":{"options":"Speciālo simbolu uzstādījumi","title":"Ievietot īpašu simbolu","toolbar":"Ievietot speciālo simbolu"},"scayt":{"btn_about":"Par SCAYT","btn_dictionaries":"Vārdnīcas","btn_disable":"Atslēgt SCAYT","btn_enable":"Ieslēgt SCAYT","btn_langs":"Valodas","btn_options":"Uzstādījumi","text_title":"Pārbaudīt gramatiku rakstot"},"stylescombo":{"label":"Stils","panelTitle":"Formatēšanas stili","panelTitle1":"Bloka stili","panelTitle2":"iekļautie stili","panelTitle3":"Objekta stili"},"table":{"border":"Rāmja izmērs","caption":"Leģenda","cell":{"menu":"Šūna","insertBefore":"Pievienot šūnu pirms","insertAfter":"Pievienot šūnu pēc","deleteCell":"Dzēst rūtiņas","merge":"Apvienot rūtiņas","mergeRight":"Apvieno pa labi","mergeDown":"Apvienot uz leju","splitHorizontal":"Sadalīt šūnu horizontāli","splitVertical":"Sadalīt šūnu vertikāli","title":"Šūnas uzstādījumi","cellType":"Šūnas tips","rowSpan":"Apvienotas rindas","colSpan":"Apvienotas kolonas","wordWrap":"Vārdu pārnese","hAlign":"Horizontālais novietojums","vAlign":"Vertikālais novietojums","alignBaseline":"Pamatrinda","bgColor":"Fona krāsa","borderColor":"Rāmja krāsa","data":"Dati","header":"Virsraksts","yes":"Jā","no":"Nē","invalidWidth":"Šūnas platumam jābūt skaitlim","invalidHeight":"Šūnas augstumam jābūt skaitlim","invalidRowSpan":"Apvienojamo rindu skaitam jābūt veselam skaitlim","invalidColSpan":"Apvienojamo kolonu skaitam jābūt veselam skaitlim","chooseColor":"Izvēlēties"},"cellPad":"Rūtiņu nobīde","cellSpace":"Rūtiņu atstatums","column":{"menu":"Kolonna","insertBefore":"Ievietot kolonu pirms","insertAfter":"Ievieto kolonu pēc","deleteColumn":"Dzēst kolonnas"},"columns":"Kolonnas","deleteTable":"Dzēst tabulu","headers":"Virsraksti","headersBoth":"Abi","headersColumn":"Pirmā kolona","headersNone":"Nekas","headersRow":"Pirmā rinda","invalidBorder":"Rāmju izmēram jābūt skaitlim","invalidCellPadding":"Šūnu atkāpēm jābūt pozitīvam skaitlim","invalidCellSpacing":"Šūnu atstarpēm jābūt pozitīvam skaitlim","invalidCols":"Kolonu skaitam jābūt lielākam par 0","invalidHeight":"Tabulas augstumam jābūt skaitlim","invalidRows":"Rindu skaitam jābūt lielākam par 0","invalidWidth":"Tabulas platumam jābūt skaitlim","menu":"Tabulas īpašības","row":{"menu":"Rinda","insertBefore":"Ievietot rindu pirms","insertAfter":"Ievietot rindu pēc","deleteRow":"Dzēst rindas"},"rows":"Rindas","summary":"Anotācija","title":"Tabulas īpašības","toolbar":"Tabula","widthPc":"procentuāli","widthPx":"pikseļos","widthUnit":"platuma mērvienība"},"undo":{"redo":"Atkārtot","undo":"Atcelt"},"widget":{"move":"Klikšķina un velc, lai pārvietotu","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorēt","btnIgnoreAll":"Ignorēt visu","btnReplace":"Aizvietot","btnReplaceAll":"Aizvietot visu","btnUndo":"Atcelt","changeTo":"Nomainīt uz","errorLoading":"Kļūda ielādējot aplikācijas servisa adresi: %s.","ieSpellDownload":"Pareizrakstības pārbaudītājs nav pievienots. Vai vēlaties to lejupielādēt tagad?","manyChanges":"Pareizrakstības pārbaude pabeigta: %1 vārdi tika mainīti","noChanges":"Pareizrakstības pārbaude pabeigta: nekas netika labots","noMispell":"Pareizrakstības pārbaude pabeigta: kļūdas netika atrastas","noSuggestions":"- Nav ieteikumu -","notAvailable":"Atvainojiet, bet serviss šobrīd nav pieejams.","notInDic":"Netika atrasts vārdnīcā","oneChange":"Pareizrakstības pārbaude pabeigta: 1 vārds izmainīts","progress":"Notiek pareizrakstības pārbaude...","title":"Pārbaudīt gramatiku","toolbar":"Pareizrakstības pārbaude"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/lv.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/gu.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/gu.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/gu.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['gu']={"editor":"રીચ ટેક્ષ્ત્ એડીટર","editorPanel":"વધુ વિકલ્પ વાળુ એડિટર","common":{"editorHelp":"મદદ માટ ALT 0 દબાવો","browseServer":"સર્વર બ્રાઉઝ કરો","url":"URL","protocol":"પ્રોટોકૉલ","upload":"અપલોડ","uploadSubmit":"આ સર્વરને મોકલવું","image":"ચિત્ર","flash":"ફ્લૅશ","form":"ફૉર્મ/પત્રક","checkbox":"ચેક બોક્સ","radio":"રેડિઓ બટન","textField":"ટેક્સ્ટ ફીલ્ડ, શબ્દ ક્ષેત્ર","textarea":"ટેક્સ્ટ એરિઆ, શબ્દ વિસ્તાર","hiddenField":"ગુપ્ત ક્ષેત્ર","button":"બટન","select":"પસંદગી ક્ષેત્ર","imageButton":"ચિત્ર બટન","notSet":"<સેટ નથી>","id":"Id","name":"નામ","langDir":"ભાષા લેખવાની પદ્ધતિ","langDirLtr":"ડાબે થી જમણે (LTR)","langDirRtl":"જમણે થી ડાબે (RTL)","langCode":"ભાષા કોડ","longDescr":"વધારે માહિતી માટે URL","cssClass":"સ્ટાઇલ-શીટ ક્લાસ","advisoryTitle":"મુખ્ય મથાળું","cssStyle":"સ્ટાઇલ","ok":"ઠીક છે","cancel":"રદ કરવું","close":"બંધ કરવું","preview":"જોવું","resize":"ખેંચી ને યોગ્ય કરવું","generalTab":"જનરલ","advancedTab":"અડ્વાન્સડ","validateNumberFailed":"આ રકમ આકડો નથી.","confirmNewPage":"સવે કાર્ય વગરનું ફકરો ખોવાઈ જશે. તમને ખાતરી છે કે તમને નવું પાનું ખોલવું છે?","confirmCancel":"ઘણા વિકલ્પો બદલાયા છે. તમારે આ બોક્ષ્ બંધ કરવું છે?","options":"વિકલ્પો","target":"લક્ષ્ય","targetNew":"નવી વિન્ડો (_blank)","targetTop":"ઉપરની વિન્ડો (_top)","targetSelf":"એજ વિન્ડો (_self)","targetParent":"પેરનટ વિન્ડો (_parent)","langDirLTR":"ડાબે થી જમણે (LTR)","langDirRTL":"જમણે થી ડાબે (RTL)","styles":"શૈલી","cssClasses":"શૈલી કલાસીસ","width":"પહોળાઈ","height":"ઊંચાઈ","align":"લાઇનદોરીમાં ગોઠવવું","left":"ડાબી બાજુ ગોઠવવું","right":"જમણી","center":"મધ્ય સેન્ટર","justify":"બ્લૉક, અંતરાય જસ્ટિફાઇ","alignLeft":"ડાબી બાજુએ/બાજુ તરફ","alignRight":"જમણી બાજુએ/બાજુ તરફ","alignCenter":"Align Center","alignTop":"ઉપર","alignMiddle":"વચ્ચે","alignBottom":"નીચે","alignNone":"કઇ નહી","invalidValue":"અનુચિત મૂલ્ય","invalidHeight":"ઉંચાઈ એક આંકડો હોવો જોઈએ.","invalidWidth":"પોહળ ઈ એક આંકડો હોવો જોઈએ.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"\"%1\" ની વેલ્યુ એક પોસીટીવ આંકડો હોવો જોઈએ અથવા CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc) વગર.","invalidHtmlLength":"\"%1\" ની વેલ્યુ એક પોસીટીવ આંકડો હોવો જોઈએ અથવા HTML measurement unit (px or %) વગર.","invalidInlineStyle":"ઈનલાઈન સ્ટાઈલ ની વેલ્યુ \"name : value\" ના ફોર્મેટ માં હોવી જોઈએ, વચ્ચે સેમી-કોલોન જોઈએ.","cssLengthTooltip":"પિક્ષ્લ્ નો આંકડો CSS unit (px, %, in, cm, mm, em, ex, pt, or pc) માં નાખો.","unavailable":"%1<span class=\"cke_accessibility\">, નથી મળતું</span>","keyboard":{"8":"Backspace કી","13":"Enter કી","16":"Shift કી","17":"Ctrl કી","18":"Alt કી","32":"Space કી","35":"End કી","36":"Home કી","46":"Delete કી","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command કી"},"keyboardShortcut":"કીબોર્ડ શૉર્ટકટ","optionDefault":"Default"},"about":{"copy":"કોપીરાઈટ &copy; $1. ઓલ રાઈટ્સ ","dlgTitle":"CKEditor વિષે","moreInfo":"લાયસનસની માહિતી માટે અમારી વેબ સાઈટ"},"basicstyles":{"bold":"બોલ્ડ/સ્પષ્ટ","italic":"ઇટેલિક, ત્રાંસા","strike":"છેકી નાખવું","subscript":"એક ચિહ્નની નીચે કરેલું બીજું ચિહ્ન","superscript":"એક ચિહ્ન ઉપર કરેલું બીજું ચિહ્ન.","underline":"અન્ડર્લાઇન, નીચે લીટી"},"bidi":{"ltr":"ટેક્ષ્ત્ ની દિશા ડાબે થી જમણે","rtl":"ટેક્ષ્ત્ ની દિશા જમણે થી ડાબે"},"blockquote":{"toolbar":"બ્લૉક-કોટ, અવતરણચિહ્નો"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"ટૂલબાર નાનું કરવું","toolbarExpand":"ટૂલબાર મોટું કરવું","toolbarGroups":{"document":"દસ્તાવેજ","clipboard":"ક્લિપબોર્ડ/અન","editing":"એડીટ કરવું","forms":"ફોર્મ","basicstyles":"બેસિક્ સ્ટાઇલ","paragraph":"ફકરો","links":"લીંક","insert":"ઉમેરવું","styles":"સ્ટાઇલ","colors":"રંગ","tools":"ટૂલ્સ"},"toolbars":"એડીટર ટૂલ બાર"},"clipboard":{"copy":"નકલ","copyError":"તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કોપી કરવાની પરવાનગી નથી આપતી. (Ctrl/Cmd+C) का प्रयोग करें।","cut":"કાપવું","cutError":"તમારા બ્રાઉઝર ની સુરક્ષિત સેટિંગસ કટ કરવાની પરવાનગી નથી આપતી. (Ctrl/Cmd+X) નો ઉપયોગ કરો.","paste":"પેસ્ટ","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"પેસ્ટ કરવાની જગ્યા","pasteMsg":"Paste your content inside the area below and press OK.","title":"પેસ્ટ"},"colorbutton":{"auto":"સ્વચાલિત","bgColorTitle":"બૅકગ્રાઉન્ડ રંગ,","colors":{"000":"કાળો","800000":"મરુન","8B4513":"છીક","2F4F4F":"ડાર્ક સ્લેટ ગ્રે ","008080":"ટીલ","000080":"નેવી","4B0082":"જામલી","696969":"ડાર્ક ગ્રે","B22222":"ઈટ","A52A2A":"બ્રાઉન","DAA520":"ગોલ્ડન રોડ","006400":"ડાર્ક લીલો","40E0D0":"ટ્રકોઈસ","0000CD":"મધ્યમ વાદળી","800080":"પર્પલ","808080":"ગ્રે","F00":"લાલ","FF8C00":"ડાર્ક ઓરંજ","FFD700":"ગોલ્ડ","008000":"ગ્રીન","0FF":"સાયન","00F":"વાદળી","EE82EE":"વાયોલેટ","A9A9A9":"ડીમ ","FFA07A":"લાઈટ સાલમન","FFA500":"ઓરંજ","FFFF00":"પીળો","00FF00":"લાઈમ","AFEEEE":"પેલ કોઈસ","ADD8E6":"લાઈટ બ્લુ","DDA0DD":"પલ્મ","D3D3D3":"લાઈટ ગ્રે","FFF0F5":"લવંડર ","FAEBD7":"એન્ટીક સફેદ","FFFFE0":"લાઈટ પીળો","F0FFF0":"હનીડઉય","F0FFFF":"અઝુરે","F0F8FF":"એલીસ બ્લુ","E6E6FA":"લવંડર","FFF":"સફેદ","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"ઔર રંગ...","panelTitle":"રંગ","textColorTitle":"શબ્દનો રંગ"},"colordialog":{"clear":"સાફ કરવું","highlight":"હાઈઈટ","options":"રંગના વિકલ્પ","selected":"પસંદ કરેલો રંગ","title":"રંગ પસંદ કરો"},"templates":{"button":"ટેમ્પ્લેટ","emptyListMsg":"(કોઈ ટેમ્પ્લેટ ડિફાઇન નથી)","insertOption":"મૂળ શબ્દને બદલો","options":"ટેમ્પ્લેટના વિકલ્પો","selectPromptMsg":"એડિટરમાં ઓપન કરવા ટેમ્પ્લેટ પસંદ કરો (વર્તમાન કન્ટેન્ટ સેવ નહીં થાય):","title":"કન્ટેન્ટ ટેમ્પ્લેટ"},"contextmenu":{"options":"કોન્તેક્ષ્ત્ મેનુના વિકલ્પો"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"એડવાઈઝર શીર્ષક","cssClassInputLabel":"સ્ટાઈલશીટ કલાસીસ","edit":"ડીવીમાં ફેરફાર કરવો","inlineStyleInputLabel":"ઈનલાઈન પદ્ધતિ","langDirLTRLabel":"ડાબે થી જમણે (LTR)","langDirLabel":"ભાષાની દિશા","langDirRTLLabel":"જમણે થી ડાબે (RTL)","languageCodeInputLabel":"ભાષાનો કોડ","remove":"ડીવી કાઢી કાઢવું","styleSelectLabel":"સ્ટાઈલ","title":"Div કન્ટેનર બનાવુંવું","toolbar":"Div કન્ટેનર બનાવુંવું"},"elementspath":{"eleLabel":"એલીમેન્ટ્સ નો ","eleTitle":"એલીમેન્ટ %1"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"શોધવું","findOptions":"વીકલ્પ શોધો","findWhat":"આ શોધો","matchCase":"કેસ સરખા રાખો","matchCyclic":"સરખાવવા બધા","matchWord":"બઘા શબ્દ સરખા રાખો","notFoundMsg":"તમે શોધેલી ટેક્સ્ટ નથી મળી","replace":"રિપ્લેસ/બદલવું","replaceAll":"બઘા બદલી ","replaceSuccessMsg":"%1 ફેરફારો બાદલાયા છે.","replaceWith":"આનાથી બદલો","title":"શોધવું અને બદલવું"},"fakeobjects":{"anchor":"અનકર","flash":"ફ્લેશ ","hiddenfield":"હિડન ","iframe":"IFrame","unknown":"અનનોન ઓબ્જેક્ટ"},"flash":{"access":"સ્ક્રીપ્ટ એક્સેસ","accessAlways":"હમેશાં","accessNever":"નહી","accessSameDomain":"એજ ડોમેન","alignAbsBottom":"Abs નીચે","alignAbsMiddle":"Abs ઉપર","alignBaseline":"આધાર લીટી","alignTextTop":"ટેક્સ્ટ ઉપર","bgcolor":"બૅકગ્રાઉન્ડ રંગ,","chkFull":"ફૂલ સ્ક્રીન કરવું","chkLoop":"લૂપ","chkMenu":"ફ્લૅશ મેન્યૂ નો પ્રયોગ કરો","chkPlay":"ઑટો/સ્વયં પ્લે","flashvars":"ફલેશ ના વિકલ્પો","hSpace":"સમસ્તરીય જગ્યા","properties":"ફ્લૅશના ગુણ","propertiesTab":"ગુણ","quality":"ગુણધર્મ","qualityAutoHigh":"ઓટો ઊંચું","qualityAutoLow":"ઓટો નીચું","qualityBest":"શ્રેષ્ઠ","qualityHigh":"ઊંચું","qualityLow":"નીચું","qualityMedium":"મધ્યમ","scale":"સ્કેલ","scaleAll":"સ્કેલ ઓલ/બધુ બતાવો","scaleFit":"સ્કેલ એકદમ ફીટ","scaleNoBorder":"સ્કેલ બોર્ડર વગર","title":"ફ્લૅશ ગુણ","vSpace":"લંબરૂપ જગ્યા","validateHSpace":"HSpace આંકડો હોવો જોઈએ.","validateSrc":"લિંક URL ટાઇપ કરો","validateVSpace":"VSpace આંકડો હોવો જોઈએ.","windowMode":"વિન્ડો મોડ","windowModeOpaque":"અપારદર્શક","windowModeTransparent":"પારદર્શક","windowModeWindow":"વિન્ડો"},"font":{"fontSize":{"label":"ફૉન્ટ સાઇઝ/કદ","voiceLabel":"ફોન્ટ સાઈઝ","panelTitle":"ફૉન્ટ સાઇઝ/કદ"},"label":"ફૉન્ટ","panelTitle":"ફૉન્ટ","voiceLabel":"ફોન્ટ"},"forms":{"button":{"title":"બટનના ગુણ","text":"ટેક્સ્ટ (વૅલ્યૂ)","type":"પ્રકાર","typeBtn":"બટન","typeSbm":"સબ્મિટ","typeRst":"રિસેટ"},"checkboxAndRadio":{"checkboxTitle":"ચેક બોક્સ ગુણ","radioTitle":"રેડિઓ બટનના ગુણ","value":"વૅલ્યૂ","selected":"સિલેક્ટેડ","required":"Required"},"form":{"title":"ફૉર્મ/પત્રકના ગુણ","menu":"ફૉર્મ/પત્રકના ગુણ","action":"ક્રિયા","method":"પદ્ધતિ","encoding":"અન્કોડીન્ગ"},"hidden":{"title":"ગુપ્ત ક્ષેત્રના ગુણ","name":"નામ","value":"વૅલ્યૂ"},"select":{"title":"પસંદગી ક્ષેત્રના ગુણ","selectInfo":"સૂચના","opAvail":"ઉપલબ્ધ વિકલ્પ","value":"વૅલ્યૂ","size":"સાઇઝ","lines":"લીટીઓ","chkMulti":"એકથી વધારે પસંદ કરી શકો","required":"Required","opText":"ટેક્સ્ટ","opValue":"વૅલ્યૂ","btnAdd":"ઉમેરવું","btnModify":"બદલવું","btnUp":"ઉપર","btnDown":"નીચે","btnSetValue":"પસંદ કરલી વૅલ્યૂ સેટ કરો","btnDelete":"રદ કરવું"},"textarea":{"title":"ટેક્સ્ટ એઅરિઆ, શબ્દ વિસ્તારના ગુણ","cols":"કૉલમ/ઊભી કટાર","rows":"પંક્તિઓ"},"textfield":{"title":"ટેક્સ્ટ ફીલ્ડ, શબ્દ ક્ષેત્રના ગુણ","name":"નામ","value":"વૅલ્યૂ","charWidth":"કેરેક્ટરની પહોળાઈ","maxChars":"અધિકતમ કેરેક્ટર","required":"Required","type":"ટાઇપ","typeText":"ટેક્સ્ટ","typePass":"પાસવર્ડ","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"ફૉન્ટ ફૉર્મટ, રચનાની શૈલી","panelTitle":"ફૉન્ટ ફૉર્મટ, રચનાની શૈલી","tag_address":"સરનામું","tag_div":"શીર્ષક (DIV)","tag_h1":"શીર્ષક 1","tag_h2":"શીર્ષક 2","tag_h3":"શીર્ષક 3","tag_h4":"શીર્ષક 4","tag_h5":"શીર્ષક 5","tag_h6":"શીર્ષક 6","tag_p":"સામાન્ય","tag_pre":"ફૉર્મટેડ"},"horizontalrule":{"toolbar":"સમસ્તરીય રેખા ઇન્સર્ટ/દાખલ કરવી"},"iframe":{"border":"ફ્રેમ બોર્ડેર બતાવવી","noUrl":"iframe URL ટાઈપ્ કરો","scrolling":"સ્ક્રોલબાર ચાલુ કરવા","title":"IFrame વિકલ્પો","toolbar":"IFrame"},"image":{"alt":"ઑલ્ટર્નટ ટેક્સ્ટ","border":"બોર્ડર","btnUpload":"આ સર્વરને મોકલવું","button2Img":"તમારે ઈમેજ બટનને સાદી ઈમેજમાં બદલવું છે.","hSpace":"સમસ્તરીય જગ્યા","img2Button":"તમારે સાદી ઈમેજને ઈમેજ બટનમાં બદલવું છે.","infoTab":"ચિત્ર ની જાણકારી","linkTab":"લિંક","lockRatio":"લૉક ગુણોત્તર","menu":"ચિત્રના ગુણ","resetSize":"રીસેટ સાઇઝ","title":"ચિત્રના ગુણ","titleButton":"ચિત્ર બટનના ગુણ","upload":"અપલોડ","urlMissing":"ઈમેજની મૂળ URL છે નહી.","vSpace":"લંબરૂપ જગ્યા","validateBorder":"બોર્ડેર આંકડો હોવો જોઈએ.","validateHSpace":"HSpaceઆંકડો હોવો જોઈએ.","validateVSpace":"VSpace આંકડો હોવો જોઈએ. "},"indent":{"indent":"ઇન્ડેન્ટ, લીટીના આરંભમાં જગ્યા વધારવી","outdent":"ઇન્ડેન્ટ લીટીના આરંભમાં જગ્યા ઘટાડવી"},"smiley":{"options":"સમ્ય્લી વિકલ્પો","title":"સ્માઇલી પસંદ કરો","toolbar":"સ્માઇલી"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"ઍક્સેસ કી","advanced":"અડ્વાન્સડ","advisoryContentType":"મુખ્ય કન્ટેન્ટ પ્રકાર","advisoryTitle":"મુખ્ય મથાળું","anchor":{"toolbar":"ઍંકર ઇન્સર્ટ/દાખલ કરવી","menu":"ઍંકરના ગુણ","title":"ઍંકરના ગુણ","name":"ઍંકરનું નામ","errorName":"ઍંકરનું નામ ટાઈપ કરો","remove":"સ્થિર નકરવું"},"anchorId":"ઍંકર એલિમન્ટ Id થી પસંદ કરો","anchorName":"ઍંકર નામથી પસંદ કરો","charset":"લિંક રિસૉર્સ કૅરિક્ટર સેટ","cssClasses":"સ્ટાઇલ-શીટ ક્લાસ","download":"ડાઉનલોડ કરો","displayText":"લખાણ દેખાડો","emailAddress":"ઈ-મેલ સરનામું","emailBody":"સંદેશ","emailSubject":"ઈ-મેલ વિષય","id":"Id","info":"લિંક ઇન્ફૉ ટૅબ","langCode":"ભાષા લેખવાની પદ્ધતિ","langDir":"ભાષા લેખવાની પદ્ધતિ","langDirLTR":"ડાબે થી જમણે (LTR)","langDirRTL":"જમણે થી ડાબે (RTL)","menu":" લિંક એડિટ/માં ફેરફાર કરવો","name":"નામ","noAnchors":"(ડૉક્યુમન્ટમાં ઍંકરની સંખ્યા)","noEmail":"ઈ-મેલ સરનામું ટાઇપ કરો","noUrl":"લિંક URL ટાઇપ કરો","other":"<other> <અન્ય>","popupDependent":"ડિપેન્ડન્ટ (Netscape)","popupFeatures":"પૉપ-અપ વિન્ડો ફીચરસૅ","popupFullScreen":"ફુલ સ્ક્રીન (IE)","popupLeft":"ડાબી બાજુ","popupLocationBar":"લોકેશન બાર","popupMenuBar":"મેન્યૂ બાર","popupResizable":"રીસાઈઝએબલ","popupScrollBars":"સ્ક્રોલ બાર","popupStatusBar":"સ્ટૅટસ બાર","popupToolbar":"ટૂલ બાર","popupTop":"જમણી બાજુ","rel":"સંબંધની સ્થિતિ","selectAnchor":"ઍંકર પસંદ કરો","styles":"સ્ટાઇલ","tabIndex":"ટૅબ ઇન્ડેક્સ","target":"ટાર્ગેટ/લક્ષ્ય","targetFrame":"<ફ્રેમ>","targetFrameName":"ટાર્ગેટ ફ્રેમ નું નામ","targetPopup":"<પૉપ-અપ વિન્ડો>","targetPopupName":"પૉપ-અપ વિન્ડો નું નામ","title":"લિંક","toAnchor":"આ પેજનો ઍંકર","toEmail":"ઈ-મેલ","toUrl":"URL","toolbar":"લિંક ઇન્સર્ટ/દાખલ કરવી","type":"લિંક પ્રકાર","unlink":"લિંક કાઢવી","upload":"અપલોડ"},"list":{"bulletedlist":"બુલેટ સૂચિ","numberedlist":"સંખ્યાંકન સૂચિ"},"liststyle":{"armenian":"અરમેનિયન આંકડા પદ્ધતિ","bulletedTitle":"બુલેટેડ લીસ્ટના ગુણ","circle":"વર્તુળ","decimal":"આંકડા (1, 2, 3, etc.)","decimalLeadingZero":"સુન્ય આગળ આંકડા (01, 02, 03, etc.)","disc":"ડિસ્ક","georgian":"ગેઓર્ગિયન આંકડા પદ્ધતિ (an, ban, gan, etc.)","lowerAlpha":"આલ્ફા નાના (a, b, c, d, e, etc.)","lowerGreek":"ગ્રીક નાના (alpha, beta, gamma, etc.)","lowerRoman":"રોમન નાના (i, ii, iii, iv, v, etc.)","none":"કસુ ","notset":"<સેટ નથી>","numberedTitle":"આંકડાના લીસ્ટના ગુણ","square":"ચોરસ","start":"શરુ કરવું","type":"પ્રકાર","upperAlpha":"આલ્ફા મોટા (A, B, C, D, E, etc.)","upperRoman":"રોમન મોટા (I, II, III, IV, V, etc.)","validateStartNumber":"લીસ્ટના સરુઆતનો આંકડો પુરો હોવો જોઈએ."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"મોટું કરવું","minimize":"નાનું કરવું"},"newpage":{"toolbar":"નવુ પાનું"},"pagebreak":{"alt":"નવું પાનું","toolbar":"ઇન્સર્ટ પેજબ્રેક/પાનાને અલગ કરવું/દાખલ કરવું"},"pastetext":{"button":"પેસ્ટ (ટેક્સ્ટ)","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"પેસ્ટ (ટેક્સ્ટ)"},"pastefromword":{"confirmCleanup":"તમે જે ટેક્ષ્ત્ કોપી કરી રહ્યા છો ટે વર્ડ ની છે. કોપી કરતા પેહલા સાફ કરવી છે?","error":"પેસ્ટ કરેલો ડેટા ઇન્ટરનલ એરર ના લીથે સાફ કરી શકાયો નથી.","title":"પેસ્ટ (વડૅ ટેક્સ્ટ)","toolbar":"પેસ્ટ (વડૅ ટેક્સ્ટ)"},"preview":{"preview":"પૂર્વદર્શન"},"print":{"toolbar":"પ્રિન્ટ"},"removeformat":{"toolbar":"ફૉર્મટ કાઢવું"},"save":{"toolbar":"સેવ"},"selectall":{"toolbar":"બઘું પસંદ કરવું"},"showblocks":{"toolbar":"બ્લૉક બતાવવું"},"sourcearea":{"toolbar":"મૂળ કે પ્રાથમિક દસ્તાવેજ"},"specialchar":{"options":"સ્પેશિઅલ કરેક્ટરના વિકલ્પો","title":"સ્પેશિઅલ વિશિષ્ટ અક્ષર પસંદ કરો","toolbar":"વિશિષ્ટ અક્ષર ઇન્સર્ટ/દાખલ કરવું"},"scayt":{"btn_about":"SCAYT વિષે","btn_dictionaries":"શબ્દકોશ","btn_disable":"SCAYT ડિસેબલ કરવું","btn_enable":"SCAYT એનેબલ કરવું","btn_langs":"ભાષાઓ","btn_options":"વિકલ્પો","text_title":"ટાઈપ કરતા સ્પેલ તપાસો"},"stylescombo":{"label":"શૈલી/રીત","panelTitle":"ફોર્મેટ ","panelTitle1":"બ્લોક ","panelTitle2":"ઈનલાઈન ","panelTitle3":"ઓબ્જેક્ટ પદ્ધતિ"},"table":{"border":"કોઠાની બાજુ(બોર્ડર) સાઇઝ","caption":"મથાળું/કૅપ્શન ","cell":{"menu":"કોષના ખાના","insertBefore":"પહેલાં કોષ ઉમેરવો","insertAfter":"પછી કોષ ઉમેરવો","deleteCell":"કોષ ડિલીટ/કાઢી નાખવો","merge":"કોષ ભેગા કરવા","mergeRight":"જમણી બાજુ ભેગા કરવા","mergeDown":"નીચે ભેગા કરવા","splitHorizontal":"કોષને સમસ્તરીય વિભાજન કરવું","splitVertical":"કોષને સીધું ને ઊભું વિભાજન કરવું","title":"સેલના ગુણ","cellType":"સેલનો પ્રકાર","rowSpan":"આડી કટારની જગ્યા","colSpan":"ઊભી કતારની જગ્યા","wordWrap":"વર્ડ રેપ","hAlign":"સપાટ લાઈનદોરી","vAlign":"ઊભી લાઈનદોરી","alignBaseline":"બસે લાઈન","bgColor":"પાછાળનો રંગ","borderColor":"બોર્ડેર રંગ","data":"સ્વીકૃત માહિતી","header":"મથાળું","yes":"હા","no":"ના","invalidWidth":"સેલની પોહલાઈ આંકડો હોવો જોઈએ.","invalidHeight":"સેલની ઊંચાઈ આંકડો હોવો જોઈએ.","invalidRowSpan":"રો સ્પાન આંકડો હોવો જોઈએ.","invalidColSpan":"કોલમ સ્પાન આંકડો હોવો જોઈએ.","chooseColor":"પસંદ કરવું"},"cellPad":"સેલ પૅડિંગ","cellSpace":"સેલ અંતર","column":{"menu":"કૉલમ/ઊભી કટાર","insertBefore":"પહેલાં કૉલમ/ઊભી કટાર ઉમેરવી","insertAfter":"પછી કૉલમ/ઊભી કટાર ઉમેરવી","deleteColumn":"કૉલમ/ઊભી કટાર ડિલીટ/કાઢી નાખવી"},"columns":"કૉલમ/ઊભી કટાર","deleteTable":"કોઠો ડિલીટ/કાઢી નાખવું","headers":"મથાળા","headersBoth":"બેવું","headersColumn":"પહેલી ઊભી કટાર","headersNone":"નથી ","headersRow":"પહેલી કટાર","invalidBorder":"બોર્ડર એક આંકડો હોવો જોઈએ","invalidCellPadding":"સેલની અંદરની જગ્યા સુન્ય કરતા વધારે હોવી જોઈએ.","invalidCellSpacing":"સેલ વચ્ચેની જગ્યા સુન્ય કરતા વધારે હોવી જોઈએ.","invalidCols":"ઉભી કટાર, 0 કરતા વધારે હોવી જોઈએ.","invalidHeight":"ટેબલની ઊંચાઈ આંકડો હોવો જોઈએ.","invalidRows":"આડી કટાર, 0 કરતા વધારે હોવી જોઈએ.","invalidWidth":"ટેબલની પોહલાઈ આંકડો હોવો જોઈએ.","menu":"ટેબલ, કોઠાનું મથાળું","row":{"menu":"પંક્તિના ખાના","insertBefore":"પહેલાં પંક્તિ ઉમેરવી","insertAfter":"પછી પંક્તિ ઉમેરવી","deleteRow":"પંક્તિઓ ડિલીટ/કાઢી નાખવી"},"rows":"પંક્તિના ખાના","summary":"ટૂંકો એહેવાલ","title":"ટેબલ, કોઠાનું મથાળું","toolbar":"ટેબલ, કોઠો","widthPc":"પ્રતિશત","widthPx":"પિકસલ","widthUnit":"પોહાલાઈ એકમ"},"undo":{"redo":"રિડૂ; પછી હતી એવી સ્થિતિ પાછી લાવવી","undo":"રદ કરવું; પહેલાં હતી એવી સ્થિતિ પાછી લાવવી"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"ઇગ્નોર/અવગણના કરવી","btnIgnoreAll":"બધાની ઇગ્નોર/અવગણના કરવી","btnReplace":"બદલવું","btnReplaceAll":"બધા બદલી કરો","btnUndo":"અન્ડૂ","changeTo":"આનાથી બદલવું","errorLoading":"સર્વિસ એપ્લીકેશન લોડ નથી થ: %s.","ieSpellDownload":"સ્પેલ-ચેકર ઇન્સ્ટોલ નથી. શું તમે ડાઉનલોડ કરવા માંગો છો?","manyChanges":"શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: %1 શબ્દ બદલયા છે","noChanges":"શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: એકપણ શબ્દ બદલયો નથી","noMispell":"શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: ખોટી જોડણી મળી નથી","noSuggestions":"- કઇ સજેશન નથી -","notAvailable":"માફ કરશો, આ સુવિધા ઉપલબ્ધ નથી","notInDic":"શબ્દકોશમાં નથી","oneChange":"શબ્દની જોડણી/સ્પેલ ચેક પૂર્ણ: એક શબ્દ બદલયો છે","progress":"શબ્દની જોડણી/સ્પેલ ચેક ચાલુ છે...","title":"સ્પેલ ","toolbar":"જોડણી (સ્પેલિંગ) તપાસવી"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/gu.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ku.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ku.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ku.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['ku']={"editor":"سەرنووسەی دەقی تەواو","editorPanel":"بڕگەی سەرنووسەی دەقی تەواو","common":{"editorHelp":"کلیکی ALT لەگەڵ 0 بکه‌ بۆ یارمەتی","browseServer":"هێنانی ڕاژە","url":"ناونیشانی بەستەر","protocol":"پڕۆتۆکۆڵ","upload":"بارکردن","uploadSubmit":"ناردنی بۆ ڕاژە","image":"وێنە","flash":"فلاش","form":"داڕشتە","checkbox":"خانەی نیشانکردن","radio":"جێگرەوەی دوگمە","textField":"خانەی دەق","textarea":"ڕووبەری دەق","hiddenField":"شاردنەوی خانە","button":"دوگمە","select":"هەڵبژاردەی خانە","imageButton":"دوگمەی وێنە","notSet":"<هیچ دانەدراوە>","id":"ناسنامە","name":"ناو","langDir":"ئاراستەی زمان","langDirLtr":"چەپ بۆ ڕاست (LTR)","langDirRtl":"ڕاست بۆ چەپ (RTL)","langCode":"هێمای زمان","longDescr":"پێناسەی درێژی بەستەر","cssClass":"شێوازی چینی په‌ڕە","advisoryTitle":"ڕاوێژکاری سەردێڕ","cssStyle":"شێواز","ok":"باشە","cancel":"پاشگەزبوونەوە","close":"داخستن","preview":"پێشبینین","resize":"گۆڕینی ئەندازە","generalTab":"گشتی","advancedTab":"پەرەسەندوو","validateNumberFailed":"ئەم نرخە ژمارە نیە، تکایە نرخێکی ژمارە بنووسە.","confirmNewPage":"سەرجەم گۆڕانکاریەکان و پێکهاتەکانی ناووەوە لەدەست دەدەی گەر بێتوو پاشکەوتی نەکەی یەکەم جار، تۆ هەر دڵنیایی لەکردنەوەی پەنجەرەکی نوێ؟","confirmCancel":"هەندێك هەڵبژاردە گۆڕدراوە. تۆ دڵنیایی لە داخستنی ئەم دیالۆگە؟","options":"هەڵبژاردەکان","target":"ئامانج","targetNew":"پەنجەرەیەکی نوێ (_blank)","targetTop":"لووتکەی پەنجەرە (_top)","targetSelf":"لەهەمان پەنجەرە (_self)","targetParent":"پەنجەرەی باوان (_parent)","langDirLTR":"چەپ بۆ ڕاست (LTR)","langDirRTL":"ڕاست بۆ چەپ (RTL)","styles":"شێواز","cssClasses":"شێوازی چینی پەڕە","width":"پانی","height":"درێژی","align":"ڕێککەرەوە","left":"چەپ","right":"ڕاست","center":"ناوەڕاست","justify":"هاوستوونی","alignLeft":"بەهێڵ کردنی چەپ","alignRight":"بەهێڵ کردنی ڕاست","alignCenter":"Align Center","alignTop":"سەرەوە","alignMiddle":"ناوەند","alignBottom":"ژێرەوە","alignNone":"هیچ","invalidValue":"نرخێکی نادرووست.","invalidHeight":"درێژی دەبێت ژمارە بێت.","invalidWidth":"پانی دەبێت ژمارە بێت.","invalidLength":"ئەم نرخەی دراوە بۆ خانەی \"%1\" دەبێت ژمارەکی درووست لەگەڵ بێت یان بە بێ پێوانەی یەکەی ( %2)","invalidCssLength":"ئەم نرخەی دراوە بۆ خانەی \"%1\" دەبێت ژمارەکی درووست بێت یان بێ ناونیشانی ئامرازی (px, %, in, cm, mm, em, ex, pt, یان pc).","invalidHtmlLength":"ئەم نرخەی دراوە بۆ خانەی \"%1\" دەبێت ژمارەکی درووست بێت یان بێ ناونیشانی ئامرازی HTML (px یان %).","invalidInlineStyle":"دانەی نرخی شێوازی ناوهێڵ دەبێت پێکهاتبێت لەیەك یان زیاتری داڕشتە \"ناو : نرخ\", جیاکردنەوەی بە فاریزە و خاڵ","cssLengthTooltip":"ژمارەیەك بنووسه‌ بۆ نرخی piksel یان ئامرازێکی درووستی CSS (px, %, in, cm, mm, em, ex, pt, یان pc).","unavailable":"%1<span class=\"cke_accessibility\">, ئامادە نیە</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"فەرمان"},"keyboardShortcut":"کورتبڕی تەختەکلیل","optionDefault":"هەمیشەیی"},"about":{"copy":"مافی لەبەرگەرتنەوەی &copy; $1. گشتی پارێزراوه. ورگێڕانی بۆ کوردی لەلایەن هۆژە کۆیی.","dlgTitle":"دەربارەی CKEditor 4","moreInfo":"بۆ زانیاری زیاتر دەربارەی مۆڵەتی بەکارهێنان، تکایه سەردانی ماڵپەڕەکەمان بکه:"},"basicstyles":{"bold":"قەڵەو","italic":"لار","strike":"لێدان","subscript":"ژێرنووس","superscript":"سەرنووس","underline":"ژێرهێڵ"},"bidi":{"ltr":"ئاراستەی نووسە لە چەپ بۆ ڕاست","rtl":"ئاراستەی نووسە لە ڕاست بۆ چەپ"},"blockquote":{"toolbar":"بەربەستکردنی ووتەی وەرگیراو"},"notification":{"closed":"ئاگادارکەرەوەکە داخرا."},"button":{"selectedLabel":"%1 (هەڵبژێردراو)"},"toolbar":{"toolbarCollapse":"شاردنەوی هێڵی تووڵامراز","toolbarExpand":"نیشاندانی هێڵی تووڵامراز","toolbarGroups":{"document":"پەڕه","clipboard":"بڕین/پووچکردنەوە","editing":"چاکسازی","forms":"داڕشتە","basicstyles":"شێوازی بنچینەیی","paragraph":"بڕگە","links":"بەستەر","insert":"خستنە ناو","styles":"شێواز","colors":"ڕەنگەکان","tools":"ئامرازەکان"},"toolbars":"تووڵامرازی دەسکاریکەر"},"clipboard":{"copy":"لەبەرگرتنەوە","copyError":"پارێزی وێبگەڕەکەت ڕێگەنادات بەسەرنووسەکە لە لکاندنی دەقی خۆکارارنە. تکایە لەبری ئەمە ئەم فەرمانە بەکاربهێنە بەداگرتنی کلیلی (Ctrl/Cmd+C).","cut":"بڕین","cutError":"پارێزی وێبگەڕەکەت ڕێگەنادات بە سەرنووسەکە لەبڕینی خۆکارانە. تکایە لەبری ئەمە ئەم فەرمانە بەکاربهێنە بەداگرتنی کلیلی (Ctrl/Cmd+X).","paste":"لکاندن","pasteNotification":"کلیک بکە لەسەر %1 بۆ لکاندنی. وێبگەڕەکەت پشتیوانی لکاندن ناکات بە دوگمەی تولامراز یان ئامرازی ناوەڕۆکی لیستە - کلیکی دەستی ڕاست. ","pasteArea":"ناوچەی لکاندن","pasteMsg":"ناوەڕۆکەکەت لەم پانتایی خوارەوە بلکێنە","title":"لکاندن"},"colorbutton":{"auto":"خۆکار","bgColorTitle":"ڕەنگی پاشبنەما","colors":{"000":"ڕەش","800000":"سۆرو ماڕوونی","8B4513":"ماڕوونی","2F4F4F":"سەوزی تاریك","008080":"سەوز و شین","000080":"شینی تۆخ","4B0082":"مۆری تۆخ","696969":"ڕەساسی تۆخ","B22222":"سۆری تۆخ","A52A2A":"قاوەیی","DAA520":"قاوەیی بریسکەدار","006400":"سەوزی تۆخ","40E0D0":"شینی ناتۆخی بریسکەدار","0000CD":"شینی مامناوەند","800080":"پەمبەیی","808080":"ڕەساسی","F00":"سۆر","FF8C00":"نارەنجی تۆخ","FFD700":"زەرد","008000":"سەوز","0FF":"شینی ئاسمانی","00F":"شین","EE82EE":"پەمەیی","A9A9A9":"ڕەساسی تاریک","FFA07A":"نارەنجی ناتۆخ","FFA500":"نارەنجی","FFFF00":"زەرد","00FF00":"سەوز","AFEEEE":"شینی ناتۆخ","ADD8E6":"شینی زۆر ناتۆخ","DDA0DD":"پەمەیی ناتۆخ","D3D3D3":"ڕەساسی بریسکەدار","FFF0F5":"جەرگی زۆر ناتۆخ","FAEBD7":"جەرگی ناتۆخ","FFFFE0":"سپی ناتۆخ","F0FFF0":"هەنگوینی ناتۆخ","F0FFFF":"شینێکی زۆر ناتۆخ","F0F8FF":"شینێکی ئاسمانی زۆر ناتۆخ","E6E6FA":"شیری","FFF":"سپی","1ABC9C":"شینی ئاسمانی بەهیز","2ECC71":"زەمروتی سەوز","3498DB":"شینی ناتۆخ","9B59B6":"ئەرخەوانی، وەنەوشەیی","4E5F70":"شینی ڕه‌ساسی","F1C40F":"زەردی زیندوو","16A085":"شینی ئاسمانی تاریک","27AE60":"زەمروتی سەوزی تاریک","2980B9":"شینی تۆخ","8E44AD":"پەمەیی تاریک","2C3E50":"شینی ڕەشوسپی","F39C12":"نارنجی","E67E22":"گێزەر","E74C3C":"سوری زەرد هەڵگەڕاو","ECF0F1":"زیوی ڕووناک","95A5A6":"شینی ئاسمانی ڕه‌ساسی بریسکه‌دار","DDD":"ڕەساسی بریسکەدار","D35400":"کولەکەی شیرین","C0392B":"سوری بەهێز","BDC3C7":"زیوی","7F8C8D":"شینی ئاسمانی ڕه‌ساسی","999":"ڕەساسی تۆخ"},"more":"ڕەنگی زیاتر...","panelTitle":"ڕەنگەکان","textColorTitle":"ڕەنگی دەق"},"colordialog":{"clear":"پاکیکەوە","highlight":"نیشانکردن","options":"هەڵبژاردەی ڕەنگەکان","selected":"ڕەنگی هەڵبژێردراو","title":"هەڵبژاردنی ڕەنگ"},"templates":{"button":"ڕووکار","emptyListMsg":"(هیچ ڕووکارێك دیارینەکراوە)","insertOption":"لە شوێن دانانی ئەم پێکهاتانەی ئێستا","options":"هەڵبژاردەکانی ڕووکار","selectPromptMsg":"ڕووکارێك هەڵبژێره بۆ کردنەوەی له سەرنووسەر:","title":"پێکهاتەی ڕووکار"},"contextmenu":{"options":"هەڵبژاردەی لیستەی کلیکی دەستی ڕاست"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"ناسنامە","advisoryTitleInputLabel":"سەردێڕ","cssClassInputLabel":"شێوازی چینی پەڕه","edit":"چاکسازی Div","inlineStyleInputLabel":"شێوازی ناوهێڵ","langDirLTRLabel":"چەپ بۆ ڕاست (LTR)","langDirLabel":"ئاراستەی زمان","langDirRTLLabel":"ڕاست بۆ چەپ (RTL)","languageCodeInputLabel":"هێمای زمان","remove":"لابردنی Div","styleSelectLabel":"شێواز","title":"دروستکردنی لەخۆگری Div","toolbar":"دروستکردنی لەخۆگری Div"},"elementspath":{"eleLabel":"ڕێڕەوی توخمەکان","eleTitle":"%1 توخم"},"filetools":{"loadError":"هەڵەیەک ڕوویدا لە ماوەی خوێندنەوەی پەڕگەکە.","networkError":"هەڵەیەکی ڕایەڵە ڕوویدا لە ماوەی بارکردنی پەڕگەکە.","httpError404":"هەڵەیەک ڕوویدا لە ماوەی بارکردنی پەڕگەکە (404: پەڕگەکە نەدۆزراوە).","httpError403":"هەڵەیەک ڕوویدا لە ماوەی بارکردنی پەڕگەکە (403: قەدەغەکراو).","httpError":"هەڵەیەک ڕوویدا لە ماوەی بارکردنی پەڕگەکە (دۆخی هەڵە: %1).","noUrlError":"بەستەری پەڕگەکە پێناسە نەکراوە.","responseError":"وەڵامێکی نادروستی سێرڤەر."},"find":{"find":"گەڕان","findOptions":"هەڵبژاردەکانی گەڕان","findWhat":"گەڕان بەدووای:","matchCase":"جیاکردنەوه لەنێوان پیتی گەورەو بچووك","matchCyclic":"گەڕان لەهەموو پەڕەکه","matchWord":"تەنەا هەموو وشەکه","notFoundMsg":"هیچ دەقه گەڕانێك نەدۆزراوه.","replace":"لەبریدانان","replaceAll":"لەبریدانانی هەمووی","replaceSuccessMsg":" پێشهاتە(ی) لەبری دانرا. %1","replaceWith":"لەبریدانان به:","title":"گەڕان و لەبریدانان"},"fakeobjects":{"anchor":"لەنگەر","flash":"فلاش","hiddenfield":"شاردنەوەی خانه","iframe":"لەچوارچێوە","unknown":"بەرکارێکی نەناسراو"},"flash":{"access":"دەستپێگەیشتنی نووسراو","accessAlways":"هەمیشه","accessNever":"هەرگیز","accessSameDomain":"هەمان دۆمەین","alignAbsBottom":"له ژێرەوه","alignAbsMiddle":"لەناوەند","alignBaseline":"هێڵەبنەڕەت","alignTextTop":"دەق لەسەرەوه","bgcolor":"ڕەنگی پاشبنەما","chkFull":"ڕێپێدان بە پڕی شاشه","chkLoop":"گرێ","chkMenu":"چالاککردنی لیستەی فلاش","chkPlay":"پێکردنی یان لێدانی خۆکار","flashvars":"گۆڕاوەکان بۆ فلاش","hSpace":"بۆشایی ئاسۆیی","properties":"خاسیەتی فلاش","propertiesTab":"خاسیەت","quality":"جۆرایەتی","qualityAutoHigh":"بەرزی خۆکار","qualityAutoLow":"نزمی خۆکار","qualityBest":"باشترین","qualityHigh":"بەرزی","qualityLow":"نزم","qualityMedium":"مامناوەند","scale":"پێوانه","scaleAll":"نیشاندانی هەموو","scaleFit":"بەوردی بگونجێت","scaleNoBorder":"بێ پەراوێز","title":"خاسیەتی فلاش","vSpace":"بۆشایی ئەستونی","validateHSpace":"بۆشایی ئاسۆیی دەبێت ژمارە بێت.","validateSrc":"ناونیشانی بەستەر نابێت خاڵی بێت","validateVSpace":"بۆشایی ئەستونی دەبێت ژماره بێت.","windowMode":"شێوازی پەنجەره","windowModeOpaque":"ناڕوون","windowModeTransparent":"ڕۆشن","windowModeWindow":"پەنجەره"},"font":{"fontSize":{"label":"گەورەیی","voiceLabel":"گەورەیی فۆنت","panelTitle":"گەورەیی فۆنت"},"label":"فۆنت","panelTitle":"ناوی فۆنت","voiceLabel":"فۆنت"},"forms":{"button":{"title":"خاسیەتی دوگمە","text":"(نرخی) دەق","type":"جۆر","typeBtn":"دوگمە","typeSbm":"بنێرە","typeRst":"ڕێکخستنەوە"},"checkboxAndRadio":{"checkboxTitle":"خاسیەتی چووارگۆشی پشکنین","radioTitle":"خاسیەتی جێگرەوەی دوگمە","value":"نرخ","selected":"هەڵبژاردرا","required":"پێویستە"},"form":{"title":"خاسیەتی داڕشتە","menu":"خاسیەتی داڕشتە","action":"کردار","method":"ڕێگە","encoding":"بەکۆدکەر"},"hidden":{"title":"خاسیەتی خانەی شاردراوە","name":"ناو","value":"نرخ"},"select":{"title":"هەڵبژاردەی خاسیەتی خانە","selectInfo":"زانیاری","opAvail":"هەڵبژاردەی لەبەردەستدابوون","value":"نرخ","size":"گەورەیی","lines":"هێڵەکان","chkMulti":"ڕێدان بەفره هەڵبژارده","required":"پێویستە","opText":"دەق","opValue":"نرخ","btnAdd":"زیادکردن","btnModify":"گۆڕانکاری","btnUp":"سەرەوه","btnDown":"خوارەوە","btnSetValue":"دابنێ وەك نرخێکی هەڵبژێردراو","btnDelete":"سڕینەوه"},"textarea":{"title":"خاسیەتی ڕووبەری دەق","cols":"ستوونەکان","rows":"ڕیزەکان"},"textfield":{"title":"خاسیەتی خانەی دەق","name":"ناو","value":"نرخ","charWidth":"پانی نووسە","maxChars":"ئەوپەڕی نووسە","required":"پێویستە","type":"جۆر","typeText":"دەق","typePass":"پێپەڕەوشە","typeEmail":"ئیمەیل","typeSearch":"گەڕان","typeTel":"ژمارەی تەلەفۆن","typeUrl":"ناونیشانی بەستەر"}},"format":{"label":"ڕازاندنەوە","panelTitle":"بەشی ڕازاندنەوه","tag_address":"ناونیشان","tag_div":"(DIV)-ی ئاسایی","tag_h1":"سەرنووسەی ١","tag_h2":"سەرنووسەی ٢","tag_h3":"سەرنووسەی ٣","tag_h4":"سەرنووسەی ٤","tag_h5":"سەرنووسەی ٥","tag_h6":"سەرنووسەی ٦","tag_p":"ئاسایی","tag_pre":"شێوازکراو"},"horizontalrule":{"toolbar":"دانانی هێلی ئاسۆیی"},"iframe":{"border":"نیشاندانی لاکێشه بە چوواردەوری چووارچێوە","noUrl":"تکایه ناونیشانی بەستەر بنووسه بۆ چووارچێوه","scrolling":"چالاککردنی هاتووچۆپێکردن","title":"دیالۆگی چووارچێوه","toolbar":"چووارچێوه"},"image":{"alt":"جێگرەوەی دەق","border":"پەراوێز","btnUpload":"ناردنی بۆ ڕاژه","button2Img":"تۆ دەتەوێت دوگمەی وێنەی دیاریکراو بگۆڕیت بۆ وێنەیەکی ئاسایی؟","hSpace":"بۆشایی ئاسۆیی","img2Button":"تۆ دەتەوێت وێنەی دیاریکراو بگۆڕیت بۆ دوگمەی وێنه؟","infoTab":"زانیاری وێنه","linkTab":"بەستەر","lockRatio":"داخستنی ڕێژه","menu":"خاسیەتی وێنه","resetSize":"ڕێکخستنەوەی قەباره","title":"خاسیەتی وێنه","titleButton":"خاسیەتی دوگمەی وێنه","upload":"بارکردن","urlMissing":"سەرچاوەی بەستەری وێنه بزره","vSpace":"بۆشایی ئەستونی","validateBorder":"پەراوێز دەبێت بەتەواوی تەنها ژماره بێت.","validateHSpace":"بۆشایی ئاسۆیی دەبێت بەتەواوی تەنها ژمارە بێت.","validateVSpace":"بۆشایی ئەستونی دەبێت بەتەواوی تەنها ژماره بێت."},"indent":{"indent":"زیادکردنی بۆشایی","outdent":"کەمکردنەوەی بۆشایی"},"smiley":{"options":"هەڵبژاردەی زەردەخەنه","title":"دانانی زەردەخەنەیەك","toolbar":"زەردەخەنه"},"language":{"button":"جێگیرکردنی زمان","remove":"لابردنی زمان"},"link":{"acccessKey":"کلیلی دەستپێگەیشتن","advanced":"پێشکەوتوو","advisoryContentType":"جۆری ناوەڕۆکی ڕاویژکار","advisoryTitle":"ڕاوێژکاری سەردێڕ","anchor":{"toolbar":"دانان/چاکسازی لەنگەر","menu":"چاکسازی لەنگەر","title":"خاسیەتی لەنگەر","name":"ناوی لەنگەر","errorName":"تکایه ناوی لەنگەر بنووسه","remove":"لابردنی لەنگەر"},"anchorId":"بەپێی ناسنامەی توخم","anchorName":"بەپێی ناوی لەنگەر","charset":"بەستەری سەرچاوەی نووسە","cssClasses":"شێوازی چینی پەڕه","download":"داگرتنی بەهێز","displayText":"پیشاندانی دەق","emailAddress":"ناونیشانی ئیمەیل","emailBody":"ناوەڕۆکی نامە","emailSubject":"بابەتی نامە","id":"ناسنامە","info":"زانیاری بەستەر","langCode":"هێمای زمان","langDir":"ئاراستەی زمان","langDirLTR":"چەپ بۆ ڕاست (LTR)","langDirRTL":"ڕاست بۆ چەپ (RTL)","menu":"چاکسازی بەستەر","name":"ناو","noAnchors":"(هیچ جۆرێکی لەنگەر ئامادە نیە لەم پەڕەیه)","noEmail":"تکایە ناونیشانی ئیمەیل بنووسە","noUrl":"تکایە ناونیشانی بەستەر بنووسە","other":"<هیتر>","popupDependent":"پێوەبەستراو (Netscape)","popupFeatures":"خاسیەتی پەنجەرەی سەرهەڵدەر","popupFullScreen":"پڕ بەپڕی شاشە (IE)","popupLeft":"جێگای چەپ","popupLocationBar":"هێڵی ناونیشانی بەستەر","popupMenuBar":"هێڵی لیسته","popupResizable":"توانای گۆڕینی قەباره","popupScrollBars":"هێڵی هاتووچۆپێکردن","popupStatusBar":"هێڵی دۆخ","popupToolbar":"هێڵی تووڵامراز","popupTop":"جێگای سەرەوە","rel":"پەیوەندی","selectAnchor":"هەڵبژاردنی لەنگەرێك","styles":"شێواز","tabIndex":"بازدەری تابی ئیندێکس","target":"ئامانج","targetFrame":"<چووارچێوە>","targetFrameName":"ناوی ئامانجی چووارچێوە","targetPopup":"<پەنجەرەی سەرهەڵدەر>","targetPopupName":"ناوی پەنجەرەی سەرهەڵدەر","title":"بەستەر","toAnchor":"بەستەر بۆ لەنگەر له دەق","toEmail":"ئیمەیل","toUrl":"ناونیشانی بەستەر","toolbar":"دانان/ڕێکخستنی بەستەر","type":"جۆری بەستەر","unlink":"لابردنی بەستەر","upload":"بارکردن"},"list":{"bulletedlist":"دانان/لابردنی خاڵی لیست","numberedlist":"دانان/لابردنی ژمارەی لیست"},"liststyle":{"armenian":"ئاراستەی ژمارەی ئەرمەنی","bulletedTitle":"خاسیەتی لیستی خاڵی","circle":"بازنه","decimal":"ژمارە (1, 2, 3, وە هیتر.)","decimalLeadingZero":"ژمارە سفڕی لەپێشەوه (01, 02, 03, وە هیتر.)","disc":"پەپکە","georgian":"ئاراستەی ژمارەی جۆڕجی (an, ban, gan, وە هیتر.)","lowerAlpha":"ئەلفابێی بچووك (a, b, c, d, e, وە هیتر.)","lowerGreek":"یۆنانی بچووك (alpha, beta, gamma, وە هیتر.)","lowerRoman":"ژمارەی ڕۆمی بچووك (i, ii, iii, iv, v, وە هیتر.)","none":"هیچ","notset":"<دانەندراوه>","numberedTitle":"خاسیەتی لیستی ژمارەیی","square":"چووراگۆشە","start":"دەستپێکردن","type":"جۆر","upperAlpha":"ئەلفابێی گەوره (A, B, C, D, E, وە هیتر.)","upperRoman":"ژمارەی ڕۆمی گەوره (I, II, III, IV, V, وە هیتر.)","validateStartNumber":"دەستپێکەری لیستی ژمارەیی دەبێت تەنها ژمارە بێت."},"magicline":{"title":"بڕگە لێرە دابنێ"},"maximize":{"maximize":"ئەوپەڕی گەورەیی","minimize":"ئەوپەڕی بچووکی"},"newpage":{"toolbar":"پەڕەیەکی نوێ"},"pagebreak":{"alt":"پشووی پەڕە","toolbar":"دانانی پشووی پەڕە بۆ چاپکردن"},"pastetext":{"button":"لکاندنی وەك دەقی ڕوون","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"لکاندنی وەك دەقی ڕوون"},"pastefromword":{"confirmCleanup":"ئەم دەقەی بەتەمای بیلکێنی پێدەچێت له word هێنرابێت. دەتەوێت پاکی بکەیوه پێش ئەوەی بیلکێنی؟","error":"هیچ ڕێگەیەك نەبوو لەلکاندنی دەقەکه بەهۆی هەڵەیەکی ناوەخۆیی","title":"لکاندنی لەلایەن Word","toolbar":"لکاندنی لەڕێی Word"},"preview":{"preview":"پێشبینین"},"print":{"toolbar":"چاپکردن"},"removeformat":{"toolbar":"لابردنی داڕشتەکە"},"save":{"toolbar":"پاشکەوتکردن"},"selectall":{"toolbar":"دیاریکردنی هەمووی"},"showblocks":{"toolbar":"نیشاندانی بەربەستەکان"},"sourcearea":{"toolbar":"سەرچاوە"},"specialchar":{"options":"هەڵبژاردەی نووسەی تایبەتی","title":"هەڵبژاردنی نووسەی تایبەتی","toolbar":"دانانی نووسەی تایبەتی"},"scayt":{"btn_about":"دهربارهی SCAYT","btn_dictionaries":"فهرههنگهکان","btn_disable":"ناچالاککردنی SCAYT","btn_enable":"چالاککردنی SCAYT","btn_langs":"زمانهکان","btn_options":"ههڵبژارده","text_title":"پشکنینی نووسه لهکاتی نووسین"},"stylescombo":{"label":"شێواز","panelTitle":"شێوازی ڕازاندنەوە","panelTitle1":"شێوازی خشت","panelTitle2":"شێوازی ناوهێڵ","panelTitle3":"شێوازی بەرکار"},"table":{"border":"گەورەیی پەراوێز","caption":"سەردێڕ","cell":{"menu":"خانه","insertBefore":"دانانی خانه لەپێش","insertAfter":"دانانی خانه لەپاش","deleteCell":"سڕینەوەی خانه","merge":"تێکەڵکردنی خانە","mergeRight":"تێکەڵکردنی لەگەڵ ڕاست","mergeDown":"تێکەڵکردنی لەگەڵ خوارەوە","splitHorizontal":"دابەشکردنی خانەی ئاسۆیی","splitVertical":"دابەشکردنی خانەی ئەستونی","title":"خاسیەتی خانه","cellType":"جۆری خانه","rowSpan":"ماوەی نێوان ڕیز","colSpan":"بستی ئەستونی","wordWrap":"پێچانەوەی وشە","hAlign":"ڕیزکردنی ئاسۆیی","vAlign":"ڕیزکردنی ئەستونی","alignBaseline":"هێڵەبنەڕەت","bgColor":"ڕەنگی پاشبنەما","borderColor":"ڕەنگی پەراوێز","data":"داتا","header":"سەرپەڕه","yes":"بەڵێ","no":"نەخێر","invalidWidth":"پانی خانه دەبێت بەتەواوی ژماره بێت.","invalidHeight":"درێژی خانه بەتەواوی دەبێت ژمارە بێت.","invalidRowSpan":"ماوەی نێوان ڕیز بەتەواوی دەبێت ژمارە بێت.","invalidColSpan":"ماوەی نێوان ئەستونی بەتەواوی دەبێت ژمارە بێت.","chooseColor":"هەڵبژێرە"},"cellPad":"بۆشایی ناوپۆش","cellSpace":"بۆشایی خانه","column":{"menu":"ئەستون","insertBefore":"دانانی ئەستون لەپێش","insertAfter":"دانانی ئەستوون لەپاش","deleteColumn":"سڕینەوەی ئەستوون"},"columns":"ستوونەکان","deleteTable":"سڕینەوەی خشتە","headers":"سەرپەڕه","headersBoth":"هەردووك","headersColumn":"یەکەم ئەستوون","headersNone":"هیچ","headersRow":"یەکەم ڕیز","invalidBorder":"ژمارەی پەراوێز دەبێت تەنها ژماره بێت.","invalidCellPadding":"ناوپۆشی خانه دەبێت ژمارەکی درووست بێت.","invalidCellSpacing":"بۆشایی خانه دەبێت ژمارەکی درووست بێت.","invalidCols":"ژمارەی ئەستوونی دەبێت گەورەتر بێت لەژمارەی 0.","invalidHeight":"درێژی خشته دهبێت تهنها ژماره بێت.","invalidRows":"ژمارەی ڕیز دەبێت گەورەتر بێت لەژمارەی 0.","invalidWidth":"پانی خشته دەبێت تەنها ژماره بێت.","menu":"خاسیەتی خشتە","row":{"menu":"ڕیز","insertBefore":"دانانی ڕیز لەپێش","insertAfter":"دانانی ڕیز لەپاش","deleteRow":"سڕینەوەی ڕیز"},"rows":"ڕیز","summary":"کورتە","title":"خاسیەتی خشتە","toolbar":"خشتە","widthPc":"لەسەدا","widthPx":"وێنەخاڵ - پیکسل","widthUnit":"پانی یەکە"},"undo":{"redo":"هەڵگەڕاندنەوە","undo":"پووچکردنەوە"},"widget":{"move":"کرتەبکە و ڕایبکێشە بۆ جوڵاندن","label":"%1 ویجێت"},"uploadwidget":{"abort":"بارکردنەکە بڕدرا لەلایەن بەکارهێنەر.","doneOne":"پەڕگەکە بەسەرکەوتووانە بارکرا.","doneMany":"بەسەرکەوتووانە بارکرا %1 پەڕگە.","uploadOne":"پەڕگە باردەکرێت ({percentage}%)...","uploadMany":"پەڕگە باردەکرێت, {current} لە {max} ئەنجامدراوە ({percentage}%)..."},"wsc":{"btnIgnore":"پشتگوێ کردن","btnIgnoreAll":"پشتگوێکردنی ههمووی","btnReplace":"لهبریدانن","btnReplaceAll":"لهبریدانانی ههمووی","btnUndo":"پووچکردنهوه","changeTo":"گۆڕینی بۆ","errorLoading":"ههڵه لههێنانی داخوازینامهی خانهخۆێی ڕاژه: %s.","ieSpellDownload":"پشکنینی ڕێنووس دانهمزراوه. دهتهوێت ئێستا دایبگریت?","manyChanges":"پشکنینی ڕێنووس کۆتای هات: لهسهدا %1 ی وشهکان گۆڕدرا","noChanges":"پشکنینی ڕێنووس کۆتای هات: هیچ وشهیهك نۆگۆڕدرا","noMispell":"پشکنینی ڕێنووس کۆتای هات: هیچ ههڵهیهکی ڕێنووس نهدۆزراوه","noSuggestions":"- هیچ پێشنیارێك -","notAvailable":"ببووره، لهمکاتهدا ڕاژهکه لهبهردهستا نیه.","notInDic":"لهفهرههنگ دانیه","oneChange":"پشکنینی ڕێنووس کۆتای هات: یهك وشه گۆڕدرا","progress":"پشکنینی ڕێنووس لهبهردهوامبوون دایه...","title":"پشکنینی ڕێنووس","toolbar":"پشکنینی ڕێنووس"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ku.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/zh-cn.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/zh-cn.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/zh-cn.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['zh-cn']={"editor":"所见即所得编辑器","editorPanel":"所见即所得编辑器面板","common":{"editorHelp":"按 ALT+0 获得帮助","browseServer":"浏览服务器","url":"URL","protocol":"协议","upload":"上传","uploadSubmit":"上传到服务器","image":"图像","flash":"Flash","form":"表单","checkbox":"复选框","radio":"单选按钮","textField":"单行文本","textarea":"多行文本","hiddenField":"隐藏域","button":"按钮","select":"列表/菜单","imageButton":"图像按钮","notSet":"<没有设置>","id":"ID","name":"名称","langDir":"语言方向","langDirLtr":"从左到右 (LTR)","langDirRtl":"从右到左 (RTL)","langCode":"语言代码","longDescr":"详细说明 URL","cssClass":"样式类名称","advisoryTitle":"标题","cssStyle":"行内样式","ok":"确定","cancel":"取消","close":"关闭","preview":"预览","resize":"拖拽以改变大小","generalTab":"常规","advancedTab":"高级","validateNumberFailed":"需要输入数字格式","confirmNewPage":"当前文档内容未保存,是否确认新建文档?","confirmCancel":"部分修改尚未保存,是否确认关闭对话框?","options":"选项","target":"目标窗口","targetNew":"新窗口 (_blank)","targetTop":"整页 (_top)","targetSelf":"本窗口 (_self)","targetParent":"父窗口 (_parent)","langDirLTR":"从左到右 (LTR)","langDirRTL":"从右到左 (RTL)","styles":"样式","cssClasses":"样式类","width":"宽度","height":"高度","align":"对齐方式","left":"左对齐","right":"右对齐","center":"居中","justify":"两端对齐","alignLeft":"左对齐","alignRight":"右对齐","alignCenter":"Align Center","alignTop":"顶端","alignMiddle":"居中","alignBottom":"底部","alignNone":"无","invalidValue":"无效的值。","invalidHeight":"高度必须为数字格式","invalidWidth":"宽度必须为数字格式","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"此“%1”字段的值必须为正数,可以包含或不包含一个有效的 CSS 长度单位(px, %, in, cm, mm, em, ex, pt 或 pc)","invalidHtmlLength":"此“%1”字段的值必须为正数,可以包含或不包含一个有效的 HTML 长度单位(px 或 %)","invalidInlineStyle":"内联样式必须为格式是以分号分隔的一个或多个“属性名 : 属性值”。","cssLengthTooltip":"输入一个表示像素值的数字,或加上一个有效的 CSS 长度单位(px, %, in, cm, mm, em, ex, pt 或 pc)。","unavailable":"%1<span class=\"cke_accessibility\">,不可用</span>","keyboard":{"8":"退格键","13":"回车键","16":"Shift","17":"Ctrl","18":"Alt","32":"空格键","35":"行尾键","36":"行首键","46":"删除键","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"快捷键","optionDefault":"Default"},"about":{"copy":"版权所有 &copy; $1。<br />保留所有权利。","dlgTitle":"关于 CKEditor 4","moreInfo":"相关授权许可信息请访问我们的网站:"},"basicstyles":{"bold":"加粗","italic":"倾斜","strike":"删除线","subscript":"下标","superscript":"上标","underline":"下划线"},"bidi":{"ltr":"文字方向为从左至右","rtl":"文字方向为从右至左"},"blockquote":{"toolbar":"块引用"},"notification":{"closed":"通知已关闭"},"button":{"selectedLabel":"已选中 %1 项"},"toolbar":{"toolbarCollapse":"折叠工具栏","toolbarExpand":"展开工具栏","toolbarGroups":{"document":"文档","clipboard":"剪贴板/撤销","editing":"编辑","forms":"表单","basicstyles":"基本格式","paragraph":"段落","links":"链接","insert":"插入","styles":"样式","colors":"颜色","tools":"工具"},"toolbars":"工具栏"},"clipboard":{"copy":"复制","copyError":"您的浏览器安全设置不允许编辑器自动执行复制操作,请使用键盘快捷键(Ctrl/Cmd+C)来完成。","cut":"剪切","cutError":"您的浏览器安全设置不允许编辑器自动执行剪切操作,请使用键盘快捷键(Ctrl/Cmd+X)来完成。","paste":"粘贴","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"粘贴区域","pasteMsg":"Paste your content inside the area below and press OK.","title":"粘贴"},"colorbutton":{"auto":"自动","bgColorTitle":"背景颜色","colors":{"000":"黑色","800000":"栗色","8B4513":"鞍褐色","2F4F4F":"深岩灰色","008080":"凫绿色","000080":"海军蓝色","4B0082":"靛色","696969":"深灰色","B22222":"火砖红色","A52A2A":"褐色","DAA520":"金菊色","006400":"深绿色","40E0D0":"绿松石色","0000CD":"中蓝色","800080":"紫色","808080":"灰色","F00":"红色","FF8C00":"深橙色","FFD700":"金色","008000":"绿色","0FF":"青色","00F":"蓝色","EE82EE":"紫罗兰色","A9A9A9":"暗灰色","FFA07A":"浅鲑红色","FFA500":"橙色","FFFF00":"黄色","00FF00":"鲜绿色","AFEEEE":"灰绿松石色","ADD8E6":"浅蓝色","DDA0DD":"梅红色","D3D3D3":"浅灰色","FFF0F5":"薰衣草紫红色","FAEBD7":"古董白色","FFFFE0":"浅黄色","F0FFF0":"蜜瓜绿色","F0FFFF":"浅蓝色","F0F8FF":"爱丽丝蓝色","E6E6FA":"薰衣草紫色","FFF":"白色","1ABC9C":"浓青色","2ECC71":"碧绿色","3498DB":"亮蓝色","9B59B6":"紫水晶色","4E5F70":"灰蓝色","F1C40F":"鲜黄色","16A085":"深青色","27AE60":"深碧绿色","2980B9":"浓蓝色","8E44AD":"深紫罗兰色","2C3E50":"不饱和蓝色","F39C12":"橙色","E67E22":"红萝卜红色","E74C3C":"灰红色","ECF0F1":"亮银色","95A5A6":"浅灰青色","DDD":"浅灰色","D35400":"南瓜黄色","C0392B":"浓红色","BDC3C7":"银色","7F8C8D":"灰青色","999":"深灰色"},"more":"其它颜色...","panelTitle":"颜色","textColorTitle":"文本颜色"},"colordialog":{"clear":"清除","highlight":"高亮","options":"颜色选项","selected":"选择颜色","title":"选择颜色"},"templates":{"button":"模板","emptyListMsg":"(没有模板)","insertOption":"替换当前内容","options":"模板选项","selectPromptMsg":"请选择要在编辑器中使用的模板:","title":"内容模板"},"contextmenu":{"options":"快捷菜单选项"},"copyformatting":{"label":"格式刷","notification":{"copied":"格式已复制","applied":"格式已应用","canceled":"格式已取消","failed":"格式化失败,您不能还没复制就应用格式"}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"标题","cssClassInputLabel":"样式类名称","edit":"编辑 DIV","inlineStyleInputLabel":"行内样式","langDirLTRLabel":"从左到右 (LTR)","langDirLabel":"语言方向","langDirRTLLabel":"从右到左 (RTL)","languageCodeInputLabel":"语言代码","remove":"移除 DIV","styleSelectLabel":"样式","title":"创建 DIV 容器","toolbar":"创建 DIV 容器"},"elementspath":{"eleLabel":"元素路径","eleTitle":"%1 元素"},"filetools":{"loadError":"读取文件时发生错误","networkError":"上传文件时发生网络错误","httpError404":"上传文件时发生 HTTP 错误(404:无法找到文件)","httpError403":"上传文件时发生 HTTP 错误(403:禁止访问)","httpError":"上传文件时发生 HTTP 错误(错误代码:%1)","noUrlError":"上传的 URL 未定义","responseError":"不正确的服务器响应"},"find":{"find":"查找","findOptions":"查找选项","findWhat":"查找:","matchCase":"区分大小写","matchCyclic":"循环匹配","matchWord":"全字匹配","notFoundMsg":"指定的文本没有找到。","replace":"替换","replaceAll":"全部替换","replaceSuccessMsg":"共完成 %1 处替换。","replaceWith":"替换:","title":"查找和替换"},"fakeobjects":{"anchor":"锚点","flash":"Flash 动画","hiddenfield":"隐藏域","iframe":"IFrame","unknown":"未知对象"},"flash":{"access":"允许脚本访问","accessAlways":"总是","accessNever":"从不","accessSameDomain":"同域","alignAbsBottom":"绝对底部","alignAbsMiddle":"绝对居中","alignBaseline":"基线","alignTextTop":"文本上方","bgcolor":"背景颜色","chkFull":"启用全屏","chkLoop":"循环","chkMenu":"启用 Flash 菜单","chkPlay":"自动播放","flashvars":"Flash 变量","hSpace":"水平间距","properties":"Flash 属性","propertiesTab":"属性","quality":"质量","qualityAutoHigh":"高(自动)","qualityAutoLow":"低(自动)","qualityBest":"最好","qualityHigh":"高","qualityLow":"低","qualityMedium":"中(自动)","scale":"缩放","scaleAll":"全部显示","scaleFit":"严格匹配","scaleNoBorder":"无边框","title":"标题","vSpace":"垂直间距","validateHSpace":"水平间距必须为数字格式","validateSrc":"请输入源文件地址","validateVSpace":"垂直间距必须为数字格式","windowMode":"窗体模式","windowModeOpaque":"不透明","windowModeTransparent":"透明","windowModeWindow":"窗体"},"font":{"fontSize":{"label":"大小","voiceLabel":"文字大小","panelTitle":"大小"},"label":"字体","panelTitle":"字体","voiceLabel":"字体"},"forms":{"button":{"title":"按钮属性","text":"标签(值)","type":"类型","typeBtn":"按钮","typeSbm":"提交","typeRst":"重设"},"checkboxAndRadio":{"checkboxTitle":"复选框属性","radioTitle":"单选按钮属性","value":"选定值","selected":"已勾选","required":"必选项"},"form":{"title":"表单属性","menu":"表单属性","action":"动作","method":"方法","encoding":"表单编码"},"hidden":{"title":"隐藏域属性","name":"名称","value":"初始值"},"select":{"title":"菜单/列表属性","selectInfo":"选择信息","opAvail":"可选项","value":"值","size":"高度","lines":"行","chkMulti":"允许多选","required":"必选项","opText":"选项文本","opValue":"选项值","btnAdd":"添加","btnModify":"修改","btnUp":"上移","btnDown":"下移","btnSetValue":"设为初始选定","btnDelete":"删除"},"textarea":{"title":"多行文本属性","cols":"字符宽度","rows":"行数"},"textfield":{"title":"单行文本属性","name":"名称","value":"初始值","charWidth":"字符宽度","maxChars":"最多字符数","required":"必填项","type":"类型","typeText":"文本","typePass":"密码","typeEmail":"Email","typeSearch":"搜索","typeTel":"电话号码","typeUrl":"地址"}},"format":{"label":"格式","panelTitle":"格式","tag_address":"地址","tag_div":"段落(DIV)","tag_h1":"标题 1","tag_h2":"标题 2","tag_h3":"标题 3","tag_h4":"标题 4","tag_h5":"标题 5","tag_h6":"标题 6","tag_p":"普通","tag_pre":"已编排格式"},"horizontalrule":{"toolbar":"插入水平线"},"iframe":{"border":"显示框架边框","noUrl":"请输入框架的 URL","scrolling":"允许滚动条","title":"IFrame 属性","toolbar":"IFrame"},"image":{"alt":"替换文本","border":"边框大小","btnUpload":"上传到服务器","button2Img":"确定要把当前图像按钮转换为普通图像吗?","hSpace":"水平间距","img2Button":"确定要把当前图像改变为图像按钮吗?","infoTab":"图像信息","linkTab":"链接","lockRatio":"锁定比例","menu":"图像属性","resetSize":"原始尺寸","title":"图像属性","titleButton":"图像域属性","upload":"上传","urlMissing":"缺少图像源文件地址","vSpace":"垂直间距","validateBorder":"边框大小必须为整数格式","validateHSpace":"水平间距必须为整数格式","validateVSpace":"垂直间距必须为整数格式"},"indent":{"indent":"增加缩进量","outdent":"减少缩进量"},"smiley":{"options":"表情图标选项","title":"插入表情图标","toolbar":"表情符"},"language":{"button":"设置语言","remove":"移除语言"},"link":{"acccessKey":"访问键","advanced":"高级","advisoryContentType":"内容类型","advisoryTitle":"标题","anchor":{"toolbar":"插入/编辑锚点链接","menu":"锚点链接属性","title":"锚点链接属性","name":"锚点名称","errorName":"请输入锚点名称","remove":"删除锚点"},"anchorId":"按锚点 ID","anchorName":"按锚点名称","charset":"字符编码","cssClasses":"样式类名称","download":"强制下载","displayText":"显示文本","emailAddress":"地址","emailBody":"内容","emailSubject":"主题","id":"ID","info":"超链接信息","langCode":"语言代码","langDir":"语言方向","langDirLTR":"从左到右 (LTR)","langDirRTL":"从右到左 (RTL)","menu":"编辑超链接","name":"名称","noAnchors":"(此文档没有可用的锚点)","noEmail":"请输入电子邮件地址","noUrl":"请输入超链接地址","other":"<其他>","popupDependent":"依附 (NS)","popupFeatures":"弹出窗口属性","popupFullScreen":"全屏 (IE)","popupLeft":"左","popupLocationBar":"地址栏","popupMenuBar":"菜单栏","popupResizable":"可缩放","popupScrollBars":"滚动条","popupStatusBar":"状态栏","popupToolbar":"工具栏","popupTop":"右","rel":"关联","selectAnchor":"选择一个锚点","styles":"行内样式","tabIndex":"Tab 键次序","target":"目标","targetFrame":"<框架>","targetFrameName":"目标框架名称","targetPopup":"<弹出窗口>","targetPopupName":"弹出窗口名称","title":"超链接","toAnchor":"页内锚点链接","toEmail":"电子邮件","toUrl":"地址","toolbar":"插入/编辑超链接","type":"超链接类型","unlink":"取消超链接","upload":"上传"},"list":{"bulletedlist":"项目列表","numberedlist":"编号列表"},"liststyle":{"armenian":"传统的亚美尼亚编号方式","bulletedTitle":"项目列表属性","circle":"空心圆","decimal":"数字 (1, 2, 3, 等)","decimalLeadingZero":"0开头的数字标记(01, 02, 03, 等)","disc":"实心圆","georgian":"传统的乔治亚编号方式(an, ban, gan, 等)","lowerAlpha":"小写英文字母(a, b, c, d, e, 等)","lowerGreek":"小写希腊字母(alpha, beta, gamma, 等)","lowerRoman":"小写罗马数字(i, ii, iii, iv, v, 等)","none":"无标记","notset":"<没有设置>","numberedTitle":"编号列表属性","square":"实心方块","start":"开始序号","type":"标记类型","upperAlpha":"大写英文字母(A, B, C, D, E, 等)","upperRoman":"大写罗马数字(I, II, III, IV, V, 等)","validateStartNumber":"列表开始序号必须为整数格式"},"magicline":{"title":"在这插入段落"},"maximize":{"maximize":"全屏","minimize":"最小化"},"newpage":{"toolbar":"新建"},"pagebreak":{"alt":"分页符","toolbar":"插入打印分页符"},"pastetext":{"button":"粘贴为无格式文本","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"粘贴为无格式文本"},"pastefromword":{"confirmCleanup":"您要粘贴的内容好像是来自 MS Word,是否要清除 MS Word 格式后再粘贴?","error":"由于内部错误无法清理要粘贴的数据","title":"从 MS Word 粘贴","toolbar":"从 MS Word 粘贴"},"preview":{"preview":"预览"},"print":{"toolbar":"打印"},"removeformat":{"toolbar":"清除格式"},"save":{"toolbar":"保存"},"selectall":{"toolbar":"全选"},"showblocks":{"toolbar":"显示区块"},"sourcearea":{"toolbar":"源码"},"specialchar":{"options":"特殊符号选项","title":"选择特殊符号","toolbar":"插入特殊符号"},"scayt":{"btn_about":"关于即时拼写检查","btn_dictionaries":"字典","btn_disable":"禁用即时拼写检查","btn_enable":"启用即时拼写检查","btn_langs":"语言","btn_options":"选项","text_title":"即时拼写检查"},"stylescombo":{"label":"样式","panelTitle":"样式","panelTitle1":"块级元素样式","panelTitle2":"内联元素样式","panelTitle3":"对象元素样式"},"table":{"border":"边框","caption":"标题","cell":{"menu":"单元格","insertBefore":"在左侧插入单元格","insertAfter":"在右侧插入单元格","deleteCell":"删除单元格","merge":"合并单元格","mergeRight":"向右合并单元格","mergeDown":"向下合并单元格","splitHorizontal":"水平拆分单元格","splitVertical":"垂直拆分单元格","title":"单元格属性","cellType":"单元格类型","rowSpan":"纵跨行数","colSpan":"横跨列数","wordWrap":"自动换行","hAlign":"水平对齐","vAlign":"垂直对齐","alignBaseline":"基线","bgColor":"背景颜色","borderColor":"边框颜色","data":"数据","header":"表头","yes":"是","no":"否","invalidWidth":"单元格宽度必须为数字格式","invalidHeight":"单元格高度必须为数字格式","invalidRowSpan":"行跨度必须为整数格式","invalidColSpan":"列跨度必须为整数格式","chooseColor":"选择"},"cellPad":"边距","cellSpace":"间距","column":{"menu":"列","insertBefore":"在左侧插入列","insertAfter":"在右侧插入列","deleteColumn":"删除列"},"columns":"列数","deleteTable":"删除表格","headers":"标题单元格","headersBoth":"第一列和第一行","headersColumn":"第一列","headersNone":"无","headersRow":"第一行","invalidBorder":"边框粗细必须为数字格式","invalidCellPadding":"单元格填充必须为数字格式","invalidCellSpacing":"单元格间距必须为数字格式","invalidCols":"指定的行数必须大于零","invalidHeight":"表格高度必须为数字格式","invalidRows":"指定的列数必须大于零","invalidWidth":"表格宽度必须为数字格式","menu":"表格属性","row":{"menu":"行","insertBefore":"在上方插入行","insertAfter":"在下方插入行","deleteRow":"删除行"},"rows":"行数","summary":"摘要","title":"表格属性","toolbar":"表格","widthPc":"百分比","widthPx":"像素","widthUnit":"宽度单位"},"undo":{"redo":"重做","undo":"撤消"},"widget":{"move":"点击并拖拽以移动","label":"%1 小部件"},"uploadwidget":{"abort":"上传已被用户中止","doneOne":"文件上传成功","doneMany":"成功上传了 %1 个文件","uploadOne":"正在上传文件({percentage}%)...","uploadMany":"正在上传文件,{max} 中的 {current}({percentage}%)..."},"wsc":{"btnIgnore":"忽略","btnIgnoreAll":"全部忽略","btnReplace":"替换","btnReplaceAll":"全部替换","btnUndo":"撤消","changeTo":"更改为","errorLoading":"加载应该服务主机时出错: %s.","ieSpellDownload":"拼写检查插件还没安装, 您是否想现在就下载?","manyChanges":"拼写检查完成: 更改了 %1 个单词","noChanges":"拼写检查完成: 没有更改任何单词","noMispell":"拼写检查完成: 没有发现拼写错误","noSuggestions":"- 没有建议 -","notAvailable":"抱歉, 服务目前暂不可用","notInDic":"没有在字典里","oneChange":"拼写检查完成: 更改了一个单词","progress":"正在进行拼写检查...","title":"拼写检查","toolbar":"拼写检查"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/zh-cn.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/nl.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/nl.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/nl.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['nl']={"editor":"Tekstverwerker","editorPanel":"Tekstverwerker beheerpaneel","common":{"editorHelp":"Druk ALT 0 voor hulp","browseServer":"Bladeren op server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Naar server verzenden","image":"Afbeelding","flash":"Flash","form":"Formulier","checkbox":"Selectievinkje","radio":"Keuzerondje","textField":"Tekstveld","textarea":"Tekstvak","hiddenField":"Verborgen veld","button":"Knop","select":"Selectieveld","imageButton":"Afbeeldingsknop","notSet":"<niet ingevuld>","id":"Id","name":"Naam","langDir":"Schrijfrichting","langDirLtr":"Links naar rechts (LTR)","langDirRtl":"Rechts naar links (RTL)","langCode":"Taalcode","longDescr":"Lange URL-omschrijving","cssClass":"Stylesheet-klassen","advisoryTitle":"Adviserende titel","cssStyle":"Stijl","ok":"OK","cancel":"Annuleren","close":"Sluiten","preview":"Voorbeeld","resize":"Sleep om te herschalen","generalTab":"Algemeen","advancedTab":"Geavanceerd","validateNumberFailed":"Deze waarde is geen geldig getal.","confirmNewPage":"Alle aangebrachte wijzigingen gaan verloren. Weet u zeker dat u een nieuwe pagina wilt openen?","confirmCancel":"Enkele opties zijn gewijzigd. Weet u zeker dat u dit dialoogvenster wilt sluiten?","options":"Opties","target":"Doelvenster","targetNew":"Nieuw venster (_blank)","targetTop":"Hele venster (_top)","targetSelf":"Zelfde venster (_self)","targetParent":"Origineel venster (_parent)","langDirLTR":"Links naar rechts (LTR)","langDirRTL":"Rechts naar links (RTL)","styles":"Stijl","cssClasses":"Stylesheet-klassen","width":"Breedte","height":"Hoogte","align":"Uitlijning","left":"Links","right":"Rechts","center":"Centreren","justify":"Uitvullen","alignLeft":"Links uitlijnen","alignRight":"Rechts uitlijnen","alignCenter":"Align Center","alignTop":"Boven","alignMiddle":"Midden","alignBottom":"Onder","alignNone":"Geen","invalidValue":"Ongeldige waarde.","invalidHeight":"De hoogte moet een getal zijn.","invalidWidth":"De breedte moet een getal zijn.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Waarde in veld \"%1\" moet een positief nummer zijn, met of zonder een geldige CSS meeteenheid (px, %, in, cm, mm, em, ex, pt of pc).","invalidHtmlLength":"Waarde in veld \"%1\" moet een positief nummer zijn, met of zonder een geldige HTML meeteenheid (px of %).","invalidInlineStyle":"Waarde voor de online stijl moet bestaan uit een of meerdere tupels met het formaat \"naam : waarde\", gescheiden door puntkomma's.","cssLengthTooltip":"Geef een nummer in voor een waarde in pixels of geef een nummer in met een geldige CSS eenheid (px, %, in, cm, mm, em, ex, pt, of pc).","unavailable":"%1<span class=\"cke_accessibility\">, niet beschikbaar</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Spatie","35":"End","36":"Home","46":"Verwijderen","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Sneltoets","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Alle rechten voorbehouden.","dlgTitle":"Over CKEditor 4","moreInfo":"Bezoek onze website voor licentieinformatie:"},"basicstyles":{"bold":"Vet","italic":"Cursief","strike":"Doorhalen","subscript":"Subscript","superscript":"Superscript","underline":"Onderstrepen"},"bidi":{"ltr":"Schrijfrichting van links naar rechts","rtl":"Schrijfrichting van rechts naar links"},"blockquote":{"toolbar":"Citaatblok"},"notification":{"closed":"Melding gesloten."},"button":{"selectedLabel":"%1 (Geselecteerd)"},"toolbar":{"toolbarCollapse":"Werkbalk inklappen","toolbarExpand":"Werkbalk uitklappen","toolbarGroups":{"document":"Document","clipboard":"Klembord/Ongedaan maken","editing":"Bewerken","forms":"Formulieren","basicstyles":"Basisstijlen","paragraph":"Paragraaf","links":"Links","insert":"Invoegen","styles":"Stijlen","colors":"Kleuren","tools":"Toepassingen"},"toolbars":"Werkbalken"},"clipboard":{"copy":"Kopiëren","copyError":"De beveiligingsinstelling van de browser verhinderen het automatisch kopiëren. Gebruik de sneltoets Ctrl/Cmd+C van het toetsenbord.","cut":"Knippen","cutError":"De beveiligingsinstelling van de browser verhinderen het automatisch knippen. Gebruik de sneltoets Ctrl/Cmd+X van het toetsenbord.","paste":"Plakken","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Plakgebied","pasteMsg":"Paste your content inside the area below and press OK.","title":"Plakken"},"colorbutton":{"auto":"Automatisch","bgColorTitle":"Achtergrondkleur","colors":{"000":"Zwart","800000":"Kastanjebruin","8B4513":"Chocoladebruin","2F4F4F":"Donkerleigrijs","008080":"Blauwgroen","000080":"Marine","4B0082":"Indigo","696969":"Donkergrijs","B22222":"Baksteen","A52A2A":"Bruin","DAA520":"Donkergeel","006400":"Donkergroen","40E0D0":"Turquoise","0000CD":"Middenblauw","800080":"Paars","808080":"Grijs","F00":"Rood","FF8C00":"Donkeroranje","FFD700":"Goud","008000":"Groen","0FF":"Cyaan","00F":"Blauw","EE82EE":"Violet","A9A9A9":"Donkergrijs","FFA07A":"Lichtzalm","FFA500":"Oranje","FFFF00":"Geel","00FF00":"Felgroen","AFEEEE":"Lichtturquoise","ADD8E6":"Lichtblauw","DDA0DD":"Pruim","D3D3D3":"Lichtgrijs","FFF0F5":"Linnen","FAEBD7":"Ivoor","FFFFE0":"Lichtgeel","F0FFF0":"Honingdauw","F0FFFF":"Azuur","F0F8FF":"Licht hemelsblauw","E6E6FA":"Lavendel","FFF":"Wit","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Meer kleuren...","panelTitle":"Kleuren","textColorTitle":"Tekstkleur"},"colordialog":{"clear":"Wissen","highlight":"Actief","options":"Kleuropties","selected":"Geselecteerde kleur","title":"Selecteer kleur"},"templates":{"button":"Sjablonen","emptyListMsg":"(Geen sjablonen gedefinieerd)","insertOption":"Vervang de huidige inhoud","options":"Template opties","selectPromptMsg":"Selecteer het sjabloon dat in de editor geopend moet worden (de actuele inhoud gaat verloren):","title":"Inhoud sjablonen"},"contextmenu":{"options":"Contextmenu opties"},"copyformatting":{"label":"Opmaakstijl kopiëren","notification":{"copied":"Opmaakstijl gekopieerd","applied":"Opmaakstijl toegepast","canceled":"Opmaakstijl toepassen geannuleerd","failed":"Opmaakstijl toepassen mislukt. U kunt geen opmaakstijl toepassen zonder deze eerst te kopiëren."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Adviserende titel","cssClassInputLabel":"Stylesheet klassen","edit":"Div wijzigen","inlineStyleInputLabel":"Inline stijl","langDirLTRLabel":"Links naar rechts (LTR)","langDirLabel":"Schrijfrichting","langDirRTLLabel":"Rechts naar links (RTL)","languageCodeInputLabel":" Taalcode","remove":"Div verwijderen","styleSelectLabel":"Stijl","title":"Div aanmaken","toolbar":"Div aanmaken"},"elementspath":{"eleLabel":"Elementenpad","eleTitle":"%1 element"},"filetools":{"loadError":"Fout tijdens lezen van bestand.","networkError":"Netwerkfout tijdens uploaden van bestand.","httpError404":"HTTP fout tijdens uploaden van bestand (404: Bestand niet gevonden).","httpError403":"HTTP fout tijdens uploaden van bestand (403: Verboden).","httpError":"HTTP fout tijdens uploaden van bestand (fout status: %1).","noUrlError":"Upload URL is niet gedefinieerd.","responseError":"Ongeldig antwoord van server."},"find":{"find":"Zoeken","findOptions":"Zoekopties","findWhat":"Zoeken naar:","matchCase":"Hoofdlettergevoelig","matchCyclic":"Doorlopend zoeken","matchWord":"Hele woord moet voorkomen","notFoundMsg":"De opgegeven tekst is niet gevonden.","replace":"Vervangen","replaceAll":"Alles vervangen","replaceSuccessMsg":"%1 resultaten vervangen.","replaceWith":"Vervangen met:","title":"Zoeken en vervangen"},"fakeobjects":{"anchor":"Interne link","flash":"Flash animatie","hiddenfield":"Verborgen veld","iframe":"IFrame","unknown":"Onbekend object"},"flash":{"access":"Script toegang","accessAlways":"Altijd","accessNever":"Nooit","accessSameDomain":"Zelfde domeinnaam","alignAbsBottom":"Absoluut-onder","alignAbsMiddle":"Absoluut-midden","alignBaseline":"Basislijn","alignTextTop":"Boven tekst","bgcolor":"Achtergrondkleur","chkFull":"Schermvullend toestaan","chkLoop":"Herhalen","chkMenu":"Flashmenu's inschakelen","chkPlay":"Automatisch afspelen","flashvars":"Variabelen voor Flash","hSpace":"HSpace","properties":"Eigenschappen Flash","propertiesTab":"Eigenschappen","quality":"Kwaliteit","qualityAutoHigh":"Automatisch hoog","qualityAutoLow":"Automatisch laag","qualityBest":"Beste","qualityHigh":"Hoog","qualityLow":"Laag","qualityMedium":"Gemiddeld","scale":"Schaal","scaleAll":"Alles tonen","scaleFit":"Precies passend","scaleNoBorder":"Geen rand","title":"Eigenschappen Flash","vSpace":"VSpace","validateHSpace":"De HSpace moet een getal zijn.","validateSrc":"De URL mag niet leeg zijn.","validateVSpace":"De VSpace moet een getal zijn.","windowMode":"Venster modus","windowModeOpaque":"Ondoorzichtig","windowModeTransparent":"Doorzichtig","windowModeWindow":"Venster"},"font":{"fontSize":{"label":"Lettergrootte","voiceLabel":"Lettergrootte","panelTitle":"Lettergrootte"},"label":"Lettertype","panelTitle":"Lettertype","voiceLabel":"Lettertype"},"forms":{"button":{"title":"Eigenschappen knop","text":"Tekst (waarde)","type":"Soort","typeBtn":"Knop","typeSbm":"Versturen","typeRst":"Leegmaken"},"checkboxAndRadio":{"checkboxTitle":"Eigenschappen aanvinkvakje","radioTitle":"Eigenschappen selectievakje","value":"Waarde","selected":"Geselecteerd","required":"Vereist"},"form":{"title":"Eigenschappen formulier","menu":"Eigenschappen formulier","action":"Actie","method":"Methode","encoding":"Codering"},"hidden":{"title":"Eigenschappen verborgen veld","name":"Naam","value":"Waarde"},"select":{"title":"Eigenschappen selectieveld","selectInfo":"Informatie","opAvail":"Beschikbare opties","value":"Waarde","size":"Grootte","lines":"Regels","chkMulti":"Gecombineerde selecties toestaan","required":"Vereist","opText":"Tekst","opValue":"Waarde","btnAdd":"Toevoegen","btnModify":"Wijzigen","btnUp":"Omhoog","btnDown":"Omlaag","btnSetValue":"Als geselecteerde waarde instellen","btnDelete":"Verwijderen"},"textarea":{"title":"Eigenschappen tekstvak","cols":"Kolommen","rows":"Rijen"},"textfield":{"title":"Eigenschappen tekstveld","name":"Naam","value":"Waarde","charWidth":"Breedte (tekens)","maxChars":"Maximum aantal tekens","required":"Vereist","type":"Soort","typeText":"Tekst","typePass":"Wachtwoord","typeEmail":"E-mail","typeSearch":"Zoeken","typeTel":"Telefoonnummer","typeUrl":"URL"}},"format":{"label":"Opmaak","panelTitle":"Opmaak","tag_address":"Adres","tag_div":"Normaal (DIV)","tag_h1":"Kop 1","tag_h2":"Kop 2","tag_h3":"Kop 3","tag_h4":"Kop 4","tag_h5":"Kop 5","tag_h6":"Kop 6","tag_p":"Normaal","tag_pre":"Met opmaak"},"horizontalrule":{"toolbar":"Horizontale lijn invoegen"},"iframe":{"border":"Framerand tonen","noUrl":"Vul de IFrame URL in","scrolling":"Scrollbalken inschakelen","title":"IFrame-eigenschappen","toolbar":"IFrame"},"image":{"alt":"Alternatieve tekst","border":"Rand","btnUpload":"Naar server verzenden","button2Img":"Wilt u de geselecteerde afbeeldingsknop vervangen door een eenvoudige afbeelding?","hSpace":"HSpace","img2Button":"Wilt u de geselecteerde afbeelding vervangen door een afbeeldingsknop?","infoTab":"Informatie afbeelding","linkTab":"Link","lockRatio":"Afmetingen vergrendelen","menu":"Eigenschappen afbeelding","resetSize":"Afmetingen resetten","title":"Eigenschappen afbeelding","titleButton":"Eigenschappen afbeeldingsknop","upload":"Upload","urlMissing":"De URL naar de afbeelding ontbreekt.","vSpace":"VSpace","validateBorder":"Rand moet een heel nummer zijn.","validateHSpace":"HSpace moet een heel nummer zijn.","validateVSpace":"VSpace moet een heel nummer zijn."},"indent":{"indent":"Inspringing vergroten","outdent":"Inspringing verkleinen"},"smiley":{"options":"Smiley opties","title":"Smiley invoegen","toolbar":"Smiley"},"language":{"button":"Taal instellen","remove":"Taal verwijderen"},"link":{"acccessKey":"Toegangstoets","advanced":"Geavanceerd","advisoryContentType":"Aanbevolen content-type","advisoryTitle":"Adviserende titel","anchor":{"toolbar":"Interne link","menu":"Eigenschappen interne link","title":"Eigenschappen interne link","name":"Naam interne link","errorName":"Geef de naam van de interne link op","remove":"Interne link verwijderen"},"anchorId":"Op kenmerk interne link","anchorName":"Op naam interne link","charset":"Karakterset van gelinkte bron","cssClasses":"Stylesheet-klassen","download":"Download forceren","displayText":"Weergavetekst","emailAddress":"E-mailadres","emailBody":"Inhoud bericht","emailSubject":"Onderwerp bericht","id":"Id","info":"Linkomschrijving","langCode":"Taalcode","langDir":"Schrijfrichting","langDirLTR":"Links naar rechts (LTR)","langDirRTL":"Rechts naar links (RTL)","menu":"Link wijzigen","name":"Naam","noAnchors":"(Geen interne links in document gevonden)","noEmail":"Geef een e-mailadres","noUrl":"Geef de link van de URL","other":"<ander>","popupDependent":"Afhankelijk (Netscape)","popupFeatures":"Instellingen popupvenster","popupFullScreen":"Volledig scherm (IE)","popupLeft":"Positie links","popupLocationBar":"Locatiemenu","popupMenuBar":"Menubalk","popupResizable":"Herschaalbaar","popupScrollBars":"Schuifbalken","popupStatusBar":"Statusbalk","popupToolbar":"Werkbalk","popupTop":"Positie boven","rel":"Relatie","selectAnchor":"Kies een interne link","styles":"Stijl","tabIndex":"Tabvolgorde","target":"Doelvenster","targetFrame":"<frame>","targetFrameName":"Naam doelframe","targetPopup":"<popupvenster>","targetPopupName":"Naam popupvenster","title":"Link","toAnchor":"Interne link in pagina","toEmail":"E-mail","toUrl":"URL","toolbar":"Link invoegen/wijzigen","type":"Linktype","unlink":"Link verwijderen","upload":"Upload"},"list":{"bulletedlist":"Opsomming invoegen","numberedlist":"Genummerde lijst invoegen"},"liststyle":{"armenian":"Armeense nummering","bulletedTitle":"Eigenschappen lijst met opsommingstekens","circle":"Cirkel","decimal":"Cijfers (1, 2, 3, etc.)","decimalLeadingZero":"Cijfers beginnen met nul (01, 02, 03, etc.)","disc":"Schijf","georgian":"Georgische nummering (an, ban, gan, etc.)","lowerAlpha":"Kleine letters (a, b, c, d, e, etc.)","lowerGreek":"Grieks kleine letters (alpha, beta, gamma, etc.)","lowerRoman":"Romeins kleine letters (i, ii, iii, iv, v, etc.)","none":"Geen","notset":"<niet gezet>","numberedTitle":"Eigenschappen genummerde lijst","square":"Vierkant","start":"Start","type":"Type","upperAlpha":"Hoofdletters (A, B, C, D, E, etc.)","upperRoman":"Romeinse hoofdletters (I, II, III, IV, V, etc.)","validateStartNumber":"Startnummer van de lijst moet een heel nummer zijn."},"magicline":{"title":"Hier paragraaf invoeren"},"maximize":{"maximize":"Maximaliseren","minimize":"Minimaliseren"},"newpage":{"toolbar":"Nieuwe pagina"},"pagebreak":{"alt":"Pagina-einde","toolbar":"Pagina-einde invoegen"},"pastetext":{"button":"Plakken als platte tekst","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Plakken als platte tekst"},"pastefromword":{"confirmCleanup":"De tekst die u wilt plakken lijkt gekopieerd te zijn vanuit Word. Wilt u de tekst opschonen voordat deze geplakt wordt?","error":"Het was niet mogelijk om de geplakte tekst op te schonen door een interne fout","title":"Plakken vanuit Word","toolbar":"Plakken vanuit Word"},"preview":{"preview":"Voorbeeld"},"print":{"toolbar":"Afdrukken"},"removeformat":{"toolbar":"Opmaak verwijderen"},"save":{"toolbar":"Opslaan"},"selectall":{"toolbar":"Alles selecteren"},"showblocks":{"toolbar":"Toon blokken"},"sourcearea":{"toolbar":"Broncode"},"specialchar":{"options":"Speciale tekens opties","title":"Selecteer speciaal teken","toolbar":"Speciaal teken invoegen"},"scayt":{"btn_about":"Over SCAYT","btn_dictionaries":"Woordenboeken","btn_disable":"SCAYT uitschakelen","btn_enable":"SCAYT inschakelen","btn_langs":"Talen","btn_options":"Opties","text_title":"Controleer de spelling tijdens het typen"},"stylescombo":{"label":"Stijl","panelTitle":"Opmaakstijlen","panelTitle1":"Blok stijlen","panelTitle2":"Inline stijlen","panelTitle3":"Object stijlen"},"table":{"border":"Randdikte","caption":"Titel","cell":{"menu":"Cel","insertBefore":"Voeg cel in voor","insertAfter":"Voeg cel in na","deleteCell":"Cellen verwijderen","merge":"Cellen samenvoegen","mergeRight":"Voeg samen naar rechts","mergeDown":"Voeg samen naar beneden","splitHorizontal":"Splits cel horizontaal","splitVertical":"Splits cel vertikaal","title":"Celeigenschappen","cellType":"Celtype","rowSpan":"Rijen samenvoegen","colSpan":"Kolommen samenvoegen","wordWrap":"Automatische terugloop","hAlign":"Horizontale uitlijning","vAlign":"Verticale uitlijning","alignBaseline":"Tekstregel","bgColor":"Achtergrondkleur","borderColor":"Randkleur","data":"Gegevens","header":"Kop","yes":"Ja","no":"Nee","invalidWidth":"De celbreedte moet een getal zijn.","invalidHeight":"De celhoogte moet een getal zijn.","invalidRowSpan":"Rijen samenvoegen moet een heel getal zijn.","invalidColSpan":"Kolommen samenvoegen moet een heel getal zijn.","chooseColor":"Kies"},"cellPad":"Celopvulling","cellSpace":"Celafstand","column":{"menu":"Kolom","insertBefore":"Voeg kolom in voor","insertAfter":"Voeg kolom in na","deleteColumn":"Kolommen verwijderen"},"columns":"Kolommen","deleteTable":"Tabel verwijderen","headers":"Koppen","headersBoth":"Beide","headersColumn":"Eerste kolom","headersNone":"Geen","headersRow":"Eerste rij","invalidBorder":"De randdikte moet een getal zijn.","invalidCellPadding":"Celopvulling moet een getal zijn.","invalidCellSpacing":"Celafstand moet een getal zijn.","invalidCols":"Het aantal kolommen moet een getal zijn groter dan 0.","invalidHeight":"De tabelhoogte moet een getal zijn.","invalidRows":"Het aantal rijen moet een getal zijn groter dan 0.","invalidWidth":"De tabelbreedte moet een getal zijn.","menu":"Tabeleigenschappen","row":{"menu":"Rij","insertBefore":"Voeg rij in voor","insertAfter":"Voeg rij in na","deleteRow":"Rijen verwijderen"},"rows":"Rijen","summary":"Samenvatting","title":"Tabeleigenschappen","toolbar":"Tabel","widthPc":"procent","widthPx":"pixels","widthUnit":"eenheid breedte"},"undo":{"redo":"Opnieuw uitvoeren","undo":"Ongedaan maken"},"widget":{"move":"Klik en sleep om te verplaatsen","label":"%1 widget"},"uploadwidget":{"abort":"Upload gestopt door de gebruiker.","doneOne":"Bestand succesvol geüpload.","doneMany":"Succesvol %1 bestanden geüpload.","uploadOne":"Uploaden bestand ({percentage}%)…","uploadMany":"Bestanden aan het uploaden, {current} van {max} klaar ({percentage}%)…"},"wsc":{"btnIgnore":"Negeren","btnIgnoreAll":"Alles negeren","btnReplace":"Vervangen","btnReplaceAll":"Alles vervangen","btnUndo":"Ongedaan maken","changeTo":"Wijzig in","errorLoading":"Er is een fout opgetreden bij het laden van de dienst: %s.","ieSpellDownload":"De spellingscontrole is niet geïnstalleerd. Wilt u deze nu downloaden?","manyChanges":"Klaar met spellingscontrole: %1 woorden aangepast","noChanges":"Klaar met spellingscontrole: geen woorden aangepast","noMispell":"Klaar met spellingscontrole: geen fouten gevonden","noSuggestions":"- Geen suggesties -","notAvailable":"Excuses, deze dienst is momenteel niet beschikbaar.","notInDic":"Niet in het woordenboek","oneChange":"Klaar met spellingscontrole: één woord aangepast","progress":"Bezig met spellingscontrole...","title":"Spellingscontrole","toolbar":"Spellingscontrole"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/nl.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/az.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/az.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/az.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['az']={"editor":"Mətn Redaktoru","editorPanel":"Mətn Redaktorun Paneli","common":{"editorHelp":"Yardım üçün ALT 0 düymələrini basın","browseServer":"Fayların siyahı","url":"URL","protocol":"Protokol","upload":"Serverə yüklə","uploadSubmit":"Göndər","image":"Şəkil","flash":"Flash","form":"Forma","checkbox":"Çekboks","radio":"Radio düyməsi","textField":"Mətn xanası","textarea":"Mətn","hiddenField":"Gizli xana","button":"Düymə","select":"Opsiyaların seçilməsi","imageButton":"Şəkil tipli düymə","notSet":"<seçilməmiş>","id":"Id","name":"Ad","langDir":"Yaziların istiqaməti","langDirLtr":"Soldan sağa (LTR)","langDirRtl":"Sağdan sola (RTL)","langCode":"Dilin kodu","longDescr":"URL-ın ətraflı izahı","cssClass":"CSS klassları","advisoryTitle":"Başlıq","cssStyle":"CSS","ok":"Tədbiq et","cancel":"İmtina et","close":"Bağla","preview":"Baxış","resize":"Eni dəyiş","generalTab":"Əsas","advancedTab":"Əlavə","validateNumberFailed":"Rəqəm deyil.","confirmNewPage":"Yadda saxlanılmamış dəyişikliklər itiriləcək. Davam etmək istədiyinizə əminsinizmi?","confirmCancel":"Dəyişikliklər edilib. Pəncərəni bağlamaq istəyirsizə əminsinizmi?","options":"Seçimlər","target":"Hədəf çərçivə","targetNew":"Yeni pəncərə (_blank)","targetTop":"Əsas pəncərə (_top)","targetSelf":"Carı pəncərə (_self)","targetParent":"Ana pəncərə (_parent)","langDirLTR":"Soldan sağa (LTR)","langDirRTL":"Sağdan sola (RTL)","styles":"Üslub","cssClasses":"Üslub klası","width":"En","height":"Uzunluq","align":"Yerləşmə","left":"Sol","right":"Sağ","center":"Mərkəz","justify":"Eninə görə","alignLeft":"Soldan düzləndir","alignRight":"Sağdan düzləndir","alignCenter":"Align Center","alignTop":"Yuxarı","alignMiddle":"Orta","alignBottom":"Aşağı","alignNone":"Yoxdur","invalidValue":"Yanlışdır.","invalidHeight":"Hündürlük rəqəm olmalıdır.","invalidWidth":"En rəqəm olmalıdır.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"\"%1\" xanasında göstərilən məzmun tam və müsbət olmalıdır, CSS-də olan ölçü vahidlərin (px, %, in, cm, mm, em, ex, pt, or pc) istifadısinə icazə verilir.","invalidHtmlLength":"\"%1\" xanasında göstərilən məzmun tam və müsbət olmalıdır HTML-də olan ölçü vahidlərin (px və ya %) istifadısinə icazə verilir.","invalidInlineStyle":"Teq içində olan üslub \"ad : məzmun\" şəklidə, nöqtə-verqül işarəsi ilə bitməlidir","cssLengthTooltip":"Piksel sayı və ya digər CSS ölçü vahidləri (px, %, in, cm, mm, em, ex, pt, or pc) daxil edin.","unavailable":"%1<span class=\"cke_accessibility\">, mövcud deyil</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Boşluq","35":"Son","36":"Evə","46":"Sil","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Əmr"},"keyboardShortcut":"Qısayol düymələri","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Bütün hüquqlar qorunur.","dlgTitle":"CKEditor haqqında","moreInfo":"Lisenziya informasiyası üçün zəhmət olmasa saytımızı ziyarət edin:"},"basicstyles":{"bold":"Qalın","italic":"Kursiv","strike":"Üstüxətli","subscript":"Aşağı indeks","superscript":"Yuxarı indeks","underline":"Altdan xətt"},"bidi":{"ltr":"Mətnin istiqaməti - soldan sağa","rtl":"Mətnin istiqaməti - sağdan sola"},"blockquote":{"toolbar":"Sitat bloku"},"notification":{"closed":"Xəbərdarlıq pəncərəsi bağlanıb"},"button":{"selectedLabel":"%1 (seçilib)"},"toolbar":{"toolbarCollapse":"Paneli gizlət","toolbarExpand":"Paneli göstər","toolbarGroups":{"document":"Mətn","clipboard":"Mübadilə buferi/İmtina et","editing":"Redaktə edilməsi","forms":"Formalar","basicstyles":"Əsas üslublar","paragraph":"Abzas","links":"Link","insert":"Əlavə et","styles":"Üslublar","colors":"Rənqlər","tools":"Alətləri"},"toolbars":"Redaktorun panelləri"},"clipboard":{"copy":"Köçür","copyError":"Avtomatik köçürülməsi mümkün deyil. Ctrl+C basın.","cut":"Kəs","cutError":"Avtomatik kəsmə mümkün deyil. Ctrl+X basın.","paste":"Əlavə et","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK.","title":"Paste"},"colorbutton":{"auto":"Avtomatik","bgColorTitle":"Doldurma rəngi","colors":{"000":"Qara","800000":"Şabalıdı","8B4513":"Açıq şabalı","2F4F4F":"Açıq boz","008080":"Firuzəyi göy","000080":"Tünd göy","4B0082":"İndigo","696969":"Tünd boz","B22222":"Kərpiç","A52A2A":"Şabalıdı","DAA520":"Qızıl ağcaqayın","006400":"Tünd yaşıl","40E0D0":"Firuzəyi","0000CD":"Göy","800080":"Bənövşəyi","808080":"Boz","F00":"Qırmızı","FF8C00":"Tünd narıncı","FFD700":"Qızılı","008000":"Yaşıl","0FF":"Mavi","00F":"Göy","EE82EE":"Açıq bənövşəyi","A9A9A9":"Asfalt rəngi","FFA07A":"Qızılbalıq","FFA500":"Narıncı","FFFF00":"Sarı","00FF00":"Laym","AFEEEE":"Acıq firuzəyi","ADD8E6":"Acıq göy","DDA0DD":"Gavalı","D3D3D3":"Acıq boz","FFF0F5":"Yasəmən","FAEBD7":"Kağız","FFFFE0":"Acıq sarı","F0FFF0":"Yemişi","F0FFFF":"Gömgöy","F0F8FF":"Solğun göy","E6E6FA":"Lavanda","FFF":"Ağ","1ABC9C":"Güclü mavi","2ECC71":"Zümrüd","3498DB":"Parlaq göy","9B59B6":"Ametist","4E5F70":"Bozlu göy","F1C40F":"Sapsarı","16A085":"Tünd mavi","27AE60":"Tünd zümrüd","2980B9":"Güclü göy","8E44AD":"Tünd bənövşəyi","2C3E50":"Rəngsiz göy","F39C12":"Narıncı","E67E22":"Yerkökülü","E74C3C":"Solğun qırmızı","ECF0F1":"Parlaq gümüşü","95A5A6":"Acıq bozlu mavi","DDD":"Acıq boz","D35400":"Balqabaqlı","C0392B":"Güclü qırmızı","BDC3C7":"Gümüşü","7F8C8D":"Bozlu mavi","999":"Tünd boz"},"more":"Digər rənglər...","panelTitle":"Rənglər","textColorTitle":"Mətnin rəngi"},"colordialog":{"clear":"Təmizlə","highlight":"Ayırmaq","options":"Rəng seçimləri","selected":"Seçilmiş rəng","title":"Rəngi seç"},"templates":{"button":"Şablon","emptyListMsg":"(Heç bir şablon təyin edilməyib)","insertOption":"Həqiqi içindəkiləri əvəz et","options":"Şablonun seçimləri","selectPromptMsg":"Redaktor ilə açmaq üçün şablonu seçin","title":"İçindəkinin şablonu"},"contextmenu":{"options":"Əlavə əməliyyatlar"},"copyformatting":{"label":"Formatı köçür","notification":{"copied":"Format köçürülüb","applied":"Format tədbiq edilib","canceled":"Format imtina edilib","failed":"Format etmək mümkün deyil. Siz üslubları köçürmədən onları tədbiq edə bilməzsiniz."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Məsləhətli başlıq","cssClassInputLabel":"Üslub klassları","edit":"DİV eıementini redaktə et","inlineStyleInputLabel":"Sözlərin üslubları","langDirLTRLabel":"Soldan sağa (LTR)","langDirLabel":"Yaziların istiqaməti","langDirRTLLabel":"Sağdan sola (RTL)","languageCodeInputLabel":"Dilin kodu","remove":"DİV elementini sil","styleSelectLabel":"Üslub","title":"DİV ilə əhatələməni yarat","toolbar":"DİV ilə əhatələməni yarat"},"elementspath":{"eleLabel":"Elementin izləri","eleTitle":"%1 element"},"filetools":{"loadError":"Faylını oxumaq mümkün deyil","networkError":"Xəta baş verdi.","httpError404":"Serverə göndərilməsinin zamanı xəta baş verdi (404 - fayl tapılmayıb)","httpError403":"Serverə göndərilməsinin zamanı xəta baş verdi (403 - gadağandır)","httpError":"Serverə göndərilməsinin zamanı xəta baş verdi (xətanın ststusu: %1)","noUrlError":"Yükləmə linki təyin edilməyib","responseError":"Serverin cavabı yanlışdır"},"find":{"find":"Tap","findOptions":"Axtarışın seçimləri","findWhat":"Nəyi axtarmaq","matchCase":"Reqistr nəzərə alınmaqla","matchCyclic":"Dövrəvi axtar","matchWord":"Tam sözünə uyğun","notFoundMsg":"Daxil etdiyiniz sorğu ilə heç bir nəticə tapılmayıb","replace":"Əvəz et","replaceAll":"Hamısını əvəz et","replaceSuccessMsg":"%1 daxiletmə(lər) əvəz edilib","replaceWith":"Əvəz etdirici mətn:","title":"Tap və əvəz et"},"fakeobjects":{"anchor":"Lövbər","flash":"Flash animasiya","hiddenfield":"Gizli xana","iframe":"IFrame","unknown":"Tanımamış obyekt"},"flash":{"access":"Skript tərəfindən müraciətlərin icazəsi","accessAlways":"Həmişə","accessNever":"Heç vaxt","accessSameDomain":"Eyni domen adından","alignAbsBottom":"Aşağıda","alignAbsMiddle":"Ortada","alignBaseline":"Əsas xətt","alignTextTop":"Mətnin yuxarıda","bgcolor":"Doldurma rəngi","chkFull":"Tam pəncərəyə aça bilər","chkLoop":"Dövrələmə","chkMenu":"Flash menyunu göstər","chkPlay":"Birbaşa oynat","flashvars":"Flash üçün dəyişənlər","hSpace":"Üfüqi boşluq","properties":"Flash xüsusiyyətləri","propertiesTab":"Xüsusiyyətlər","quality":"Keyfiyyət","qualityAutoHigh":"Avtomatik yüksək","qualityAutoLow":"Avtomatik aşağı","qualityBest":"Mükəmməl","qualityHigh":"Yüksək","qualityLow":"Aşağı","qualityMedium":"Orta","scale":"Dəyişkən","scaleAll":"Hamısını göstər","scaleFit":"Həqiqi ölçülər","scaleNoBorder":"Sərhədsiz","title":"Flash xüsusiyyətləri","vSpace":"Şaquli boşluq","validateHSpace":"Üfüqi boşluq rəqəm olmalıdır.","validateSrc":"Link boş ola bilməz","validateVSpace":"Şaquli boşluq rəqəm olmalıdır.","windowMode":"Pəncərənin rejimi","windowModeOpaque":"Görünən","windowModeTransparent":"Şəffaf","windowModeWindow":"Pəncərə"},"font":{"fontSize":{"label":"Şrift ölçüsü","voiceLabel":"Şrift ölçüsü","panelTitle":"Şrift ölçüsü"},"label":"Şrift","panelTitle":"Şrift","voiceLabel":"Şrift"},"forms":{"button":{"title":"Düymənin xüsusiyyətləri","text":"Mətn (kəmiyyət)","type":"Növ","typeBtn":"Düymə","typeSbm":"Təsdiq et","typeRst":"Dəyişiklikləri imtina et"},"checkboxAndRadio":{"checkboxTitle":"Qutucuqun xüsusiyyətləri","radioTitle":"Radio düyməsinin xüsusiyyətləri","value":"Kəmiyyət","selected":"Seçilmiş","required":"Tələb olunur"},"form":{"title":"Formanın xüsusiyyətləri","menu":"Formanın xüsusiyyətləri","action":"Emal edən ünvan","method":"Göndərilmə üsulu","encoding":"Kodlaşdırma"},"hidden":{"title":"Gizli xanasının xüsusiyyətləri","name":"Ad","value":"Kəmiyyət"},"select":{"title":"SELECT elementinin xüsusiyyətləri","selectInfo":"SELECT elementinin haqqında məlumat","opAvail":"Mövcud olan seçimləri","value":"Kəmiyyət","size":"Ölçülər","lines":"xəttlər","chkMulti":"Çox kəmiyyətli xana","required":"Tələb olunur","opText":"Mətn","opValue":"Kəmiyyət","btnAdd":"Əıavə et","btnModify":"Redaktə et","btnUp":"Yuxarı","btnDown":"Aşağı","btnSetValue":"Susmaya görə kəmiyyəti kimi seç","btnDelete":"Sil"},"textarea":{"title":"Mətn xanasının xüsusiyyətləri","cols":"Sütunlar","rows":"Sətirlər"},"textfield":{"title":"Mətn xanasının xüsusiyyətləri","name":"Ad","value":"Kəmiyyət","charWidth":"İşarənin eni","maxChars":"İşarələrin hüdudu","required":"Tələb olunur","type":"Növ","typeText":"Mətn","typePass":"Şifrə","typeEmail":"E-poçt","typeSearch":"Axtarış","typeTel":"Telefon nömrəsi","typeUrl":"Link"}},"format":{"label":"Format","panelTitle":"Abzasın formatı","tag_address":"Ünvan","tag_div":"Normal (DIV)","tag_h1":"Başlıq 1","tag_h2":"Başlıq 2","tag_h3":"Başlıq 3","tag_h4":"Başlıq 4","tag_h5":"Başlıq 5","tag_h6":"Başlıq 6","tag_p":"Normal","tag_pre":"Formatı saxla"},"horizontalrule":{"toolbar":"Sərhəd xətti yarat"},"iframe":{"border":"Çərçivə sərhədlərini göstər","noUrl":"Çərçivənin ünvanı daxil edin","scrolling":"Şürüşdürmələri əlavə et","title":"İFRAME elementinin alətləri","toolbar":"İFRAME"},"image":{"alt":"Alternativ mətn","border":"Sərhəd","btnUpload":"Serverə yüklə","button2Img":"Şəkil tipli düyməni şəklə çevirmək istədiyinizə əminsinizmi?","hSpace":"Üfüqi boşluq","img2Button":"Şəkli şəkil tipli düyməyə çevirmək istədiyinizə əminsinizmi?","infoTab":"Şəkil haqqında məlumat","linkTab":"Link","lockRatio":"Ölçülərin uyğunluğu saxla","menu":"Şəklin seçimləri","resetSize":"Ölçüləri qaytar","title":"Şəklin seçimləri","titleButton":"Şəkil tipli düyməsinin seçimləri","upload":"Serverə yüklə","urlMissing":"Şəklin ünvanı yanlışdır.","vSpace":"Şaquli boşluq","validateBorder":"Sərhədin eni rəqəm olmalıdır.","validateHSpace":"Üfüqi boşluq rəqəm olmalıdır.","validateVSpace":"Şaquli boşluq rəqəm olmalıdır."},"indent":{"indent":"Sol boşluqu artır","outdent":"Sol boşluqu azalt"},"smiley":{"options":"Smayli-nin seçimləri","title":"Smayli-ni daxil et","toolbar":"Smayli"},"language":{"button":"Dilini təyin et","remove":"Dilini sil"},"link":{"acccessKey":"Qısayol düyməsi","advanced":"Geniş seçimləri","advisoryContentType":"Məsləhətli məzmunun növü","advisoryTitle":"Məsləhətli başlıq","anchor":{"toolbar":"Xeş","menu":"Xeşi redaktə et","title":"Xeşin seçimləri","name":"Xeşin adı","errorName":"Xeşin adı yanlışdır","remove":"Xeşin adı sil"},"anchorId":"ID görə","anchorName":"Xeşin adına görə","charset":"Hədəfin kodlaşdırması","cssClasses":"Üslub klası","download":"Məcburi yükləmə","displayText":"Göstərilən mətn","emailAddress":"E-poçt ünvanı","emailBody":"Mesajın məzmunu","emailSubject":"Mesajın başlığı","id":"ID","info":"Linkin xüsusiyyətləri","langCode":"Dilin kodu","langDir":"Yaziların istiqaməti","langDirLTR":"Soldan sağa (LTR)","langDirRTL":"Sağdan sola (RTL)","menu":"Linki redaktə et","name":"Ad","noAnchors":"(heç bir xeş tapılmayıb)","noEmail":"E-poçt ünvanı daxil edin","noUrl":"Linkin URL-ı daxil edin","other":"<digər>","popupDependent":"Asılı (Netscape)","popupFeatures":"Pəncərənin xüsusiyyətləri","popupFullScreen":"Tam ekran rejimi (IE)","popupLeft":"Solda","popupLocationBar":"Ünvan paneli","popupMenuBar":"Menyu paneli","popupResizable":"Olçülər dəyişilir","popupScrollBars":"Sürüşdürmələr göstər","popupStatusBar":"Bildirişlərin paneli","popupToolbar":"Alətlərin paneli","popupTop":"Yuxarıda","rel":"Münasibət","selectAnchor":"Xeşi seçin","styles":"Üslub","tabIndex":"Tabın nömrəsi","target":"Hədəf çərçivə","targetFrame":"<freym>","targetFrameName":"Freymin adı","targetPopup":"<yeni pəncərə>","targetPopupName":"Pəncərənin adı","title":"Link","toAnchor":"Xeş","toEmail":"E-poçt","toUrl":"URL","toolbar":"Link","type":"Linkin növü","unlink":"Linki sil","upload":"Serverə yüklə"},"list":{"bulletedlist":"Markerlənmiş siyahını başlat/sil","numberedlist":"Nömrələnmiş siyahını başlat/sil"},"liststyle":{"armenian":"Erməni nömrələmə","bulletedTitle":"Markerlənmiş siyahının xüsusiyyətləri","circle":"Dəirəcik","decimal":"Rəqəm (1, 2, 3 və s.)","decimalLeadingZero":"Aparıcı sıfır olan rəqəm (01, 02, 03 və s.)","disc":"Disk","georgian":"Gürcü nömrələmə (an, ban, gan, və s.)","lowerAlpha":"Kiçik hərflər (a, b, c, d, e və s.)","lowerGreek":"Kiçik Yunan hərfləri (alfa, beta, qamma və s.)","lowerRoman":"Rum rəqəmləri (i, ii, iii, iv, v və s.)","none":"Yoxdur","notset":"<seçilməmiş>","numberedTitle":"Nömrəli siyahının xüsusiyyətləri","square":"Dördbucaq","start":"Başlanğıc","type":"Növ","upperAlpha":"Böyük hərflər (a, b, c, d, e və s.)","upperRoman":"Böyük Rum rəqəmləri (I, II, III, IV, V və s.)","validateStartNumber":"Siyahının başlanğıc nömrəsi tam və müsbət rəqəm olmalıdır."},"magicline":{"title":"Abzası burada əlavə et"},"maximize":{"maximize":"Aşkarla","minimize":"Gizlət"},"newpage":{"toolbar":"Yeni səhifə"},"pagebreak":{"alt":"Vərəq ayırıcı nişanı","toolbar":"Vərəqin çapı üçün ayırıcı nişanı qoy"},"pastetext":{"button":"Yalnız mətni saxla","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Paste as Plain Text"},"pastefromword":{"confirmCleanup":"Əlavə edilən mətn Word-dan köçürülənə oxşayır. Təmizləmək istəyirsinizmi?","error":"Daxili səhvə görə əlavə edilən məlumatların təmizlənməsi mümkün deyil","title":"Word-dan əlavəetmə","toolbar":"Word-dan əlavəetmə"},"preview":{"preview":"Öncədən baxılması"},"print":{"toolbar":"Çap et"},"removeformat":{"toolbar":"Formatı sil"},"save":{"toolbar":"Yadda saxla"},"selectall":{"toolbar":"Hamısını seç"},"showblocks":{"toolbar":"Blokları göstər"},"sourcearea":{"toolbar":"HTML mənbəyini göstər"},"specialchar":{"options":"Xüsusi simvolların seçimləri","title":"Xüsusi simvolu seç","toolbar":"Xüsusi simvolu daxil et"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Üslub","panelTitle":"Format üslubları","panelTitle1":"Blokların üslubları","panelTitle2":"Sözlərin üslubları","panelTitle3":"Obyektlərin üslubları"},"table":{"border":"Sərhədlərin eni","caption":"Cədvəlin başlığı","cell":{"menu":"Xana","insertBefore":"Burdan əvvələ xanası çək","insertAfter":"Burdan sonra xanası çək","deleteCell":"Xanaları sil","merge":"Xanaları birləşdir","mergeRight":"Sağdan birləşdir","mergeDown":"Soldan birləşdir","splitHorizontal":"Üfüqi böl","splitVertical":"Şaquli böl","title":"Xanaların seçimləri","cellType":"Xana növü","rowSpan":"Sətirləri birləşdir","colSpan":"Sütunları birləşdir","wordWrap":"Sətirlərin sınması","hAlign":"Üfüqi düzləndirmə","vAlign":"Şaquli düzləndirmə","alignBaseline":"Mətn xətti","bgColor":"Doldurma rəngi","borderColor":"Sərhədin rəngi","data":"Məlumatlar","header":"Başlıq","yes":"Bəli","no":"Xeyr","invalidWidth":"Xanasın eni rəqəm olmalıdır.","invalidHeight":"Xanasın hündürlüyü rəqəm olmalıdır.","invalidRowSpan":"Birləşdirdiyiniz sütun xanaların sayı tam və müsbət rəqəm olmalıdır.","invalidColSpan":"Birləşdirdiyiniz sətir xanaların sayı tam və müsbət rəqəm olmalıdır.","chooseColor":"Seç"},"cellPad":"Xanalardakı kənar boşluqlar","cellSpace":"Xanalararası interval","column":{"menu":"Sütun","insertBefore":"Sola sütun əlavə et","insertAfter":"Sağa sütun əlavə et","deleteColumn":"Sütunları sil"},"columns":"Sütunlar","deleteTable":"Cədvəli sil","headers":"Başlıqlar","headersBoth":"Hər ikisi","headersColumn":"Birinci sütun","headersNone":"yox","headersRow":"Birinci sətir","invalidBorder":"Sərhədlərin eni müsbət rəqəm olmalıdır.","invalidCellPadding":"Xanalardakı kənar boşluqlar müsbət rəqəm olmalıdır.","invalidCellSpacing":"Xanalararası interval müsbət rəqəm olmalıdır.","invalidCols":"Sütunlarin sayı tam və müsbət olmalıdır.","invalidHeight":"Cədvəlin hündürlüyü rəqəm olmalıdır.","invalidRows":"Sətirlətin sayı tam və müsbət olmalıdır.","invalidWidth":"Cədvəlin eni rəqəm olmalıdır.","menu":"Cədvəl alətləri","row":{"menu":"Sətir","insertBefore":"Yuxarıya sətir əlavə et","insertAfter":"Aşağıya sətir əlavə et","deleteRow":"Sətirləri sil"},"rows":"Sətirlər","summary":"Xülasə","title":"Cədvəl alətləri","toolbar":"Cədvəl","widthPc":"faiz","widthPx":"piksel","widthUnit":"en vahidi"},"undo":{"redo":"Təkrar et","undo":"İmtina et"},"widget":{"move":"Tıklayın və aparın","label":"%1 vidjet"},"uploadwidget":{"abort":"Serverə yükləmə istifadəçi tərəfindən dayandırılıb","doneOne":"Fayl müvəffəqiyyətlə yüklənib","doneMany":"%1 fayllar müvəffəqiyyətlə yüklənib","uploadOne":"Faylın yüklənməsi ({percentage}%)","uploadMany":"Faylların yüklənməsi, {max}-dan {current} hazır ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/az.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/da.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/da.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/da.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['da']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Tryk ALT 0 for hjælp","browseServer":"Gennemse...","url":"URL","protocol":"Protokol","upload":"Upload","uploadSubmit":"Upload","image":"Indsæt billede","flash":"Indsæt Flash","form":"Indsæt formular","checkbox":"Indsæt afkrydsningsfelt","radio":"Indsæt alternativknap","textField":"Indsæt tekstfelt","textarea":"Indsæt tekstboks","hiddenField":"Indsæt skjult felt","button":"Indsæt knap","select":"Indsæt liste","imageButton":"Indsæt billedknap","notSet":"<intet valgt>","id":"Id","name":"Navn","langDir":"Tekstretning","langDirLtr":"Fra venstre mod højre (LTR)","langDirRtl":"Fra højre mod venstre (RTL)","langCode":"Sprogkode","longDescr":"Udvidet beskrivelse","cssClass":"Typografiark (CSS)","advisoryTitle":"Titel","cssStyle":"Typografi (CSS)","ok":"OK","cancel":"Annullér","close":"Luk","preview":"Forhåndsvisning","resize":"Træk for at skalere","generalTab":"Generelt","advancedTab":"Avanceret","validateNumberFailed":"Værdien er ikke et tal.","confirmNewPage":"Alt indhold, der ikke er blevet gemt, vil gå tabt. Er du sikker på, at du vil indlæse en ny side?","confirmCancel":"Nogle af indstillingerne er blevet ændret. Er du sikker på, at du vil lukke vinduet?","options":"Vis muligheder","target":"Mål","targetNew":"Nyt vindue (_blank)","targetTop":"Øverste vindue (_top)","targetSelf":"Samme vindue (_self)","targetParent":"Samme vindue (_parent)","langDirLTR":"Venstre til højre (LTR)","langDirRTL":"Højre til venstre (RTL)","styles":"Style","cssClasses":"Stylesheetklasser","width":"Bredde","height":"Højde","align":"Justering","left":"Venstre","right":"Højre","center":"Center","justify":"Lige margener","alignLeft":"Venstrestillet","alignRight":"Højrestillet","alignCenter":"Centreret","alignTop":"Øverst","alignMiddle":"Centreret","alignBottom":"Nederst","alignNone":"Ingen","invalidValue":"Ugyldig værdi.","invalidHeight":"Højde skal være et tal.","invalidWidth":"Bredde skal være et tal.","invalidLength":"Værdien angivet for feltet \"%1\" skal være et positivt heltal med eller uden en gyldig måleenhed (%2).","invalidCssLength":"Værdien specificeret for \"%1\" feltet skal være et positivt nummer med eller uden en CSS måleenhed (px, %, in, cm, mm, em, ex, pt, eller pc).","invalidHtmlLength":"Værdien specificeret for \"%1\" feltet skal være et positivt nummer med eller uden en CSS måleenhed (px eller %).","invalidInlineStyle":"Værdien specificeret for inline style skal indeholde en eller flere elementer med et format som \"name:value\", separeret af semikoloner","cssLengthTooltip":"Indsæt en numerisk værdi i pixel eller nummer med en gyldig CSS værdi (px, %, in, cm, mm, em, ex, pt, eller pc).","unavailable":"%1<span class=\"cke_accessibility\">, ikke tilgængelig</span>","keyboard":{"8":"Backspace","13":"Retur","16":"Shift","17":"Ctrl","18":"Alt","32":"Mellemrum","35":"End","36":"Home","46":"Slet","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Kommando"},"keyboardShortcut":"Tastatur genvej","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Alle rettigheder forbeholdes.","dlgTitle":"Om CKEditor 4","moreInfo":"For informationer omkring licens, se venligst vores hjemmeside (på engelsk):"},"basicstyles":{"bold":"Fed","italic":"Kursiv","strike":"Gennemstreget","subscript":"Sænket skrift","superscript":"Hævet skrift","underline":"Understreget"},"bidi":{"ltr":"Tekstretning fra venstre til højre","rtl":"Tekstretning fra højre til venstre"},"blockquote":{"toolbar":"Blokcitat"},"notification":{"closed":"Notefikation lukket."},"button":{"selectedLabel":"%1 (Valgt)"},"toolbar":{"toolbarCollapse":"Sammenklap værktøjslinje","toolbarExpand":"Udvid værktøjslinje","toolbarGroups":{"document":"Dokument","clipboard":"Udklipsholder/Fortryd","editing":"Redigering","forms":"Formularer","basicstyles":"Basis styles","paragraph":"Paragraf","links":"Links","insert":"Indsæt","styles":"Typografier","colors":"Farver","tools":"Værktøjer"},"toolbars":"Editors værktøjslinjer"},"clipboard":{"copy":"Kopiér","copyError":"Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Brug i stedet tastaturet til at kopiere teksten (Ctrl/Cmd+C).","cut":"Klip","cutError":"Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Brug i stedet tastaturet til at klippe teksten (Ctrl/Cmd+X).","paste":"Indsæt","pasteNotification":"Tryk %1 for at sætte ind. Din browser understøtter ikke indsættelse med værktøjslinje knappen eller kontekst menuen.","pasteArea":"Indsættelses område","pasteMsg":"Indsæt dit indhold i området nedenfor og tryk OK.","title":"Indsæt"},"colorbutton":{"auto":"Automatisk","bgColorTitle":"Baggrundsfarve","colors":{"000":"Sort","800000":"Mørkerød","8B4513":"Mørk orange","2F4F4F":"Dark Slate Grå","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Mørkegrå","B22222":"Scarlet / Rød","A52A2A":"Brun","DAA520":"Guld","006400":"Mørkegrøn","40E0D0":"Tyrkis","0000CD":"Mellemblå","800080":"Lilla","808080":"Grå","F00":"Rød","FF8C00":"Mørk orange","FFD700":"Guld","008000":"Grøn","0FF":"Cyan","00F":"Blå","EE82EE":"Violet","A9A9A9":"Matgrå","FFA07A":"Laksefarve","FFA500":"Orange","FFFF00":"Gul","00FF00":"Lime","AFEEEE":"Mat tyrkis","ADD8E6":"Lyseblå","DDA0DD":"Plum","D3D3D3":"Lysegrå","FFF0F5":"Lavender Blush","FAEBD7":"Antikhvid","FFFFE0":"Lysegul","F0FFF0":"Gul / Beige","F0FFFF":"Himmeblå","F0F8FF":"Alice blue","E6E6FA":"Lavendel","FFF":"Hvid","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Flere farver...","panelTitle":"Farver","textColorTitle":"Tekstfarve"},"colordialog":{"clear":"Nulstil","highlight":"Markér","options":"Farvemuligheder","selected":"Valgt farve","title":"Vælg farve"},"templates":{"button":"Skabeloner","emptyListMsg":"(Der er ikke defineret nogen skabelon)","insertOption":"Erstat det faktiske indhold","options":"Skabelon muligheder","selectPromptMsg":"Vælg den skabelon, som skal åbnes i editoren (nuværende indhold vil blive overskrevet):","title":"Indholdsskabeloner"},"contextmenu":{"options":"Muligheder for hjælpemenu"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Vejledende titel","cssClassInputLabel":"Typografiark","edit":"Rediger Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Venstre til højre (LTR)","langDirLabel":"Sprogretning","langDirRTLLabel":"Højre til venstre (RTL)","languageCodeInputLabel":" Sprogkode","remove":"Slet Div","styleSelectLabel":"Style","title":"Opret Div Container","toolbar":"Opret Div Container"},"elementspath":{"eleLabel":"Sti på element","eleTitle":"%1 element"},"filetools":{"loadError":"Der skete en fejl ved indlæsningen af filen.","networkError":"Der skete en netværks fejl under uploadingen.","httpError404":"Der skete en HTTP fejl under uploadingen (404: File not found).","httpError403":"Der skete en HTTP fejl under uploadingen (403: Forbidden).","httpError":"Der skete en HTTP fejl under uploadingen (error status: %1).","noUrlError":"Upload URL er ikke defineret.","responseError":"Ikke korrekt server svar."},"find":{"find":"Søg","findOptions":"Find muligheder","findWhat":"Søg efter:","matchCase":"Forskel på store og små bogstaver","matchCyclic":"Match cyklisk","matchWord":"Kun hele ord","notFoundMsg":"Søgeteksten blev ikke fundet","replace":"Erstat","replaceAll":"Erstat alle","replaceSuccessMsg":"%1 forekomst(er) erstattet.","replaceWith":"Erstat med:","title":"Søg og erstat"},"fakeobjects":{"anchor":"Anker","flash":"Flashanimation","hiddenfield":"Skjult felt","iframe":"Iframe","unknown":"Ukendt objekt"},"flash":{"access":"Scriptadgang","accessAlways":"Altid","accessNever":"Aldrig","accessSameDomain":"Samme domæne","alignAbsBottom":"Absolut nederst","alignAbsMiddle":"Absolut centreret","alignBaseline":"Grundlinje","alignTextTop":"Toppen af teksten","bgcolor":"Baggrundsfarve","chkFull":"Tillad fuldskærm","chkLoop":"Gentagelse","chkMenu":"Vis Flash-menu","chkPlay":"Automatisk afspilning","flashvars":"Variabler for Flash","hSpace":"Vandret margen","properties":"Egenskaber for Flash","propertiesTab":"Egenskaber","quality":"Kvalitet","qualityAutoHigh":"Auto høj","qualityAutoLow":"Auto lav","qualityBest":"Bedste","qualityHigh":"Høj","qualityLow":"Lav","qualityMedium":"Medium","scale":"Skalér","scaleAll":"Vis alt","scaleFit":"Tilpas størrelse","scaleNoBorder":"Ingen ramme","title":"Egenskaber for Flash","vSpace":"Lodret margen","validateHSpace":"Vandret margen skal være et tal.","validateSrc":"Indtast hyperlink URL!","validateVSpace":"Lodret margen skal være et tal.","windowMode":"Vinduestilstand","windowModeOpaque":"Gennemsigtig (opaque)","windowModeTransparent":"Transparent","windowModeWindow":"Vindue"},"font":{"fontSize":{"label":"Skriftstørrelse","voiceLabel":"Skriftstørrelse","panelTitle":"Skriftstørrelse"},"label":"Skrifttype","panelTitle":"Skrifttype","voiceLabel":"Skrifttype"},"forms":{"button":{"title":"Egenskaber for knap","text":"Tekst","type":"Type","typeBtn":"Knap","typeSbm":"Send","typeRst":"Nulstil"},"checkboxAndRadio":{"checkboxTitle":"Egenskaber for afkrydsningsfelt","radioTitle":"Egenskaber for alternativknap","value":"Værdi","selected":"Valgt","required":"Påkrævet"},"form":{"title":"Egenskaber for formular","menu":"Egenskaber for formular","action":"Handling","method":"Metode","encoding":"Kodning (encoding)"},"hidden":{"title":"Egenskaber for skjult felt","name":"Navn","value":"Værdi"},"select":{"title":"Egenskaber for liste","selectInfo":"Generelt","opAvail":"Valgmuligheder","value":"Værdi","size":"Størrelse","lines":"Linjer","chkMulti":"Tillad flere valg","required":"Påkrævet","opText":"Tekst","opValue":"Værdi","btnAdd":"Tilføj","btnModify":"Redigér","btnUp":"Op","btnDown":"Ned","btnSetValue":"Sæt som valgt","btnDelete":"Slet"},"textarea":{"title":"Egenskaber for tekstboks","cols":"Kolonner","rows":"Rækker"},"textfield":{"title":"Egenskaber for tekstfelt","name":"Navn","value":"Værdi","charWidth":"Bredde (tegn)","maxChars":"Max. antal tegn","required":"Påkrævet","type":"Type","typeText":"Tekst","typePass":"Adgangskode","typeEmail":"E-mail","typeSearch":"Søg","typeTel":"Telefon nummer","typeUrl":"URL"}},"format":{"label":"Formatering","panelTitle":"Formatering","tag_address":"Adresse","tag_div":"Normal (DIV)","tag_h1":"Overskrift 1","tag_h2":"Overskrift 2","tag_h3":"Overskrift 3","tag_h4":"Overskrift 4","tag_h5":"Overskrift 5","tag_h6":"Overskrift 6","tag_p":"Normal","tag_pre":"Formateret"},"horizontalrule":{"toolbar":"Indsæt vandret streg"},"iframe":{"border":"Vis kant på rammen","noUrl":"Venligst indsæt URL på iframen","scrolling":"Aktiver scrollbars","title":"Iframe egenskaber","toolbar":"Iframe"},"image":{"alt":"Alternativ tekst","border":"Ramme","btnUpload":"Upload fil til serveren","button2Img":"Vil du lave billedknappen om til et almindeligt billede?","hSpace":"Vandret margen","img2Button":"Vil du lave billedet om til en billedknap?","infoTab":"Generelt","linkTab":"Hyperlink","lockRatio":"Lås størrelsesforhold","menu":"Egenskaber for billede","resetSize":"Nulstil størrelse","title":"Egenskaber for billede","titleButton":"Egenskaber for billedknap","upload":"Upload","urlMissing":"Kilde på billed-URL mangler","vSpace":"Lodret margen","validateBorder":"Kant skal være et helt nummer.","validateHSpace":"HSpace skal være et helt nummer.","validateVSpace":"VSpace skal være et helt nummer."},"indent":{"indent":"Forøg indrykning","outdent":"Formindsk indrykning"},"smiley":{"options":"Smileymuligheder","title":"Vælg smiley","toolbar":"Smiley"},"language":{"button":"Vælg sprog","remove":"Fjern sprog"},"link":{"acccessKey":"Genvejstast","advanced":"Avanceret","advisoryContentType":"Indholdstype","advisoryTitle":"Titel","anchor":{"toolbar":"Indsæt/redigér bogmærke","menu":"Egenskaber for bogmærke","title":"Egenskaber for bogmærke","name":"Bogmærkenavn","errorName":"Indtast bogmærkenavn","remove":"Fjern bogmærke"},"anchorId":"Efter element-Id","anchorName":"Efter ankernavn","charset":"Tegnsæt","cssClasses":"Typografiark","download":"Force Download","displayText":"Display Text","emailAddress":"E-mailadresse","emailBody":"Besked","emailSubject":"Emne","id":"Id","info":"Generelt","langCode":"Tekstretning","langDir":"Tekstretning","langDirLTR":"Fra venstre mod højre (LTR)","langDirRTL":"Fra højre mod venstre (RTL)","menu":"Redigér hyperlink","name":"Navn","noAnchors":"(Ingen bogmærker i dokumentet)","noEmail":"Indtast e-mailadresse!","noUrl":"Indtast hyperlink-URL!","other":"<anden>","popupDependent":"Koblet/dependent (Netscape)","popupFeatures":"Egenskaber for popup","popupFullScreen":"Fuld skærm (IE)","popupLeft":"Position fra venstre","popupLocationBar":"Adresselinje","popupMenuBar":"Menulinje","popupResizable":"Justérbar","popupScrollBars":"Scrollbar","popupStatusBar":"Statuslinje","popupToolbar":"Værktøjslinje","popupTop":"Position fra toppen","rel":"Relation","selectAnchor":"Vælg et anker","styles":"Typografi","tabIndex":"Tabulatorindeks","target":"Mål","targetFrame":"<ramme>","targetFrameName":"Destinationsvinduets navn","targetPopup":"<popup vindue>","targetPopupName":"Popupvinduets navn","title":"Egenskaber for hyperlink","toAnchor":"Bogmærke på denne side","toEmail":"E-mail","toUrl":"URL","toolbar":"Indsæt/redigér hyperlink","type":"Type","unlink":"Fjern hyperlink","upload":"Upload"},"list":{"bulletedlist":"Punktopstilling","numberedlist":"Talopstilling"},"liststyle":{"armenian":"Armensk nummering","bulletedTitle":"Værdier for cirkelpunktopstilling","circle":"Cirkel","decimal":"Decimal (1, 2, 3, osv.)","decimalLeadingZero":"Decimaler med 0 først (01, 02, 03, etc.)","disc":"Værdier for diskpunktopstilling","georgian":"Georgiansk nummering (an, ban, gan, etc.)","lowerAlpha":"Små alfabet (a, b, c, d, e, etc.)","lowerGreek":"Små græsk (alpha, beta, gamma, etc.)","lowerRoman":"Små romerske (i, ii, iii, iv, v, etc.)","none":"Ingen","notset":"<ikke defineret>","numberedTitle":"Egenskaber for nummereret liste","square":"Firkant","start":"Start","type":"Type","upperAlpha":"Store alfabet (A, B, C, D, E, etc.)","upperRoman":"Store romerske (I, II, III, IV, V, etc.)","validateStartNumber":"Den nummererede liste skal starte med et rundt nummer"},"magicline":{"title":"Indsæt afsnit"},"maximize":{"maximize":"Maksimér","minimize":"Minimér"},"newpage":{"toolbar":"Ny side"},"pagebreak":{"alt":"Sideskift","toolbar":"Indsæt sideskift"},"pastetext":{"button":"Indsæt som ikke-formateret tekst","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Indsæt som ikke-formateret tekst"},"pastefromword":{"confirmCleanup":"Den tekst du forsøger at indsætte ser ud til at komme fra Word. Vil du rense teksten før den indsættes?","error":"Det var ikke muligt at fjerne formatteringen på den indsatte tekst grundet en intern fejl","title":"Indsæt fra Word","toolbar":"Indsæt fra Word"},"preview":{"preview":"Vis eksempel"},"print":{"toolbar":"Udskriv"},"removeformat":{"toolbar":"Fjern formatering"},"save":{"toolbar":"Gem"},"selectall":{"toolbar":"Vælg alt"},"showblocks":{"toolbar":"Vis afsnitsmærker"},"sourcearea":{"toolbar":"Kilde"},"specialchar":{"options":"Muligheder for specialkarakterer","title":"Vælg symbol","toolbar":"Indsæt symbol"},"scayt":{"btn_about":"Om SCAYT","btn_dictionaries":"Ordbøger","btn_disable":"Deaktivér SCAYT","btn_enable":"Aktivér SCAYT","btn_langs":"Sprog","btn_options":"Indstillinger","text_title":"Stavekontrol mens du skriver"},"stylescombo":{"label":"Typografi","panelTitle":"Formattering på stylesheet","panelTitle1":"Block typografi","panelTitle2":"Inline typografi","panelTitle3":"Object typografi"},"table":{"border":"Rammebredde","caption":"Titel","cell":{"menu":"Celle","insertBefore":"Indsæt celle før","insertAfter":"Indsæt celle efter","deleteCell":"Slet celle","merge":"Flet celler","mergeRight":"Flet til højre","mergeDown":"Flet nedad","splitHorizontal":"Del celle vandret","splitVertical":"Del celle lodret","title":"Celleegenskaber","cellType":"Celletype","rowSpan":"Række span (rows span)","colSpan":"Kolonne span (columns span)","wordWrap":"Tekstombrydning","hAlign":"Vandret justering","vAlign":"Lodret justering","alignBaseline":"Grundlinje","bgColor":"Baggrundsfarve","borderColor":"Rammefarve","data":"Data","header":"Hoved","yes":"Ja","no":"Nej","invalidWidth":"Cellebredde skal være et tal.","invalidHeight":"Cellehøjde skal være et tal.","invalidRowSpan":"Række span skal være et heltal.","invalidColSpan":"Kolonne span skal være et heltal.","chooseColor":"Vælg"},"cellPad":"Cellemargen","cellSpace":"Celleafstand","column":{"menu":"Kolonne","insertBefore":"Indsæt kolonne før","insertAfter":"Indsæt kolonne efter","deleteColumn":"Slet kolonne"},"columns":"Kolonner","deleteTable":"Slet tabel","headers":"Hoved","headersBoth":"Begge","headersColumn":"Første kolonne","headersNone":"Ingen","headersRow":"Første række","invalidBorder":"Rammetykkelse skal være et tal.","invalidCellPadding":"Cellemargen skal være et tal.","invalidCellSpacing":"Celleafstand skal være et tal.","invalidCols":"Antallet af kolonner skal være større end 0.","invalidHeight":"Tabelhøjde skal være et tal.","invalidRows":"Antallet af rækker skal være større end 0.","invalidWidth":"Tabelbredde skal være et tal.","menu":"Egenskaber for tabel","row":{"menu":"Række","insertBefore":"Indsæt række før","insertAfter":"Indsæt række efter","deleteRow":"Slet række"},"rows":"Rækker","summary":"Resumé","title":"Egenskaber for tabel","toolbar":"Tabel","widthPc":"procent","widthPx":"pixels","widthUnit":"Bredde på enhed"},"undo":{"redo":"Annullér fortryd","undo":"Fortryd"},"widget":{"move":"Klik og træk for at flytte","label":"%1 widget"},"uploadwidget":{"abort":"Upload er afbrudt af brugen.","doneOne":"Filen er uploadet.","doneMany":"Du har uploadet %1 filer.","uploadOne":"Uploader fil ({percentage}%)...","uploadMany":"Uploader filer, {current} af {max} er uploadet ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorér","btnIgnoreAll":"Ignorér alle","btnReplace":"Erstat","btnReplaceAll":"Erstat alle","btnUndo":"Tilbage","changeTo":"Forslag","errorLoading":"Fejl ved indlæsning af host: %s.","ieSpellDownload":"Stavekontrol ikke installeret. Vil du installere den nu?","manyChanges":"Stavekontrol færdig: %1 ord ændret","noChanges":"Stavekontrol færdig: Ingen ord ændret","noMispell":"Stavekontrol færdig: Ingen fejl fundet","noSuggestions":"(ingen forslag)","notAvailable":"Stavekontrol er desværre ikke tilgængelig.","notInDic":"Ikke i ordbogen","oneChange":"Stavekontrol færdig: Et ord ændret","progress":"Stavekontrollen arbejder...","title":"Stavekontrol","toolbar":"Stavekontrol"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/da.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sr-latn.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sr-latn.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sr-latn.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['sr-latn']={"editor":"Bogati uređivač teksta","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Pretraži server","url":"URL","protocol":"Protokol","upload":"Pošalji","uploadSubmit":"Pošalji na server","image":"Slika","flash":"Fleš","form":"Forma","checkbox":"Polje za potvrdu","radio":"Radio-dugme","textField":"Tekstualno polje","textarea":"Zona teksta","hiddenField":"Skriveno polje","button":"Dugme","select":"Izborno polje","imageButton":"Dugme sa slikom","notSet":"<nije postavljeno>","id":"Id","name":"Naziv","langDir":"Smer jezika","langDirLtr":"S leva na desno (LTR)","langDirRtl":"S desna na levo (RTL)","langCode":"Kôd jezika","longDescr":"Pun opis URL","cssClass":"Stylesheet klase","advisoryTitle":"Advisory naslov","cssStyle":"Stil","ok":"OK","cancel":"Otkaži","close":"Zatvori","preview":"Izgled stranice","resize":"Resize","generalTab":"Opšte","advancedTab":"Napredni tagovi","validateNumberFailed":"Ova vrednost nije broj.","confirmNewPage":"Nesačuvane promene ovog sadržaja će biti izgubljene. Jeste li sigurni da želita da učitate novu stranu?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Opcije","target":"Meta","targetNew":"Novi prozor (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Isti prozor (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"S leva na desno (LTR)","langDirRTL":"S desna na levo (RTL)","styles":"Stil","cssClasses":"Stylesheet klase","width":"Širina","height":"Visina","align":"Ravnanje","left":"Levo","right":"Desno","center":"Sredina","justify":"Obostrano ravnanje","alignLeft":"Levo ravnanje","alignRight":"Desno ravnanje","alignCenter":"Align Center","alignTop":"Vrh","alignMiddle":"Sredina","alignBottom":"Dole","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Visina mora biti broj.","invalidWidth":"Širina mora biti broj.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Podebljano","italic":"Kurziv","strike":"Precrtano","subscript":"Indeks","superscript":"Stepen","underline":"Podvučeno"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Suzi alatnu traku","toolbarExpand":"Proširi alatnu traku","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Alatne trake"},"clipboard":{"copy":"Kopiraj","copyError":"Sigurnosna podešavanja Vašeg pretraživača ne dozvoljavaju operacije automatskog kopiranja teksta. Molimo Vas da koristite prečicu sa tastature (Ctrl/Cmd+C).","cut":"Iseci","cutError":"Sigurnosna podešavanja Vašeg pretraživača ne dozvoljavaju operacije automatskog isecanja teksta. Molimo Vas da koristite prečicu sa tastature (Ctrl/Cmd+X).","paste":"Zalepi","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Prostor za lepljenje","pasteMsg":"Paste your content inside the area below and press OK.","title":"Zalepi"},"colorbutton":{"auto":"Automatski","bgColorTitle":"Boja pozadine","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Više boja...","panelTitle":"Colors","textColorTitle":"Boja teksta"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"Obrasci","emptyListMsg":"(Nema definisanih obrazaca)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"Molimo Vas da odaberete obrazac koji ce biti primenjen na stranicu (trenutni sadržaj ce biti obrisan):","title":"Obrasci za sadržaj"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory naslov","cssClassInputLabel":"Stylesheet klase","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"S leva na desno (LTR)","langDirLabel":"Smer jezika","langDirRTLLabel":"S desna na levo (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Stil","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Pretraga","findOptions":"Find Options","findWhat":"Pronadi:","matchCase":"Razlikuj mala i velika slova","matchCyclic":"Match cyclic","matchWord":"Uporedi cele reci","notFoundMsg":"Traženi tekst nije pronađen.","replace":"Zamena","replaceAll":"Zameni sve","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Zameni sa:","title":"Find and Replace"},"fakeobjects":{"anchor":"Unesi/izmeni sidro","flash":"Flash Animation","hiddenfield":"Skriveno polje","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs dole","alignAbsMiddle":"Abs sredina","alignBaseline":"Bazno","alignTextTop":"Vrh teksta","bgcolor":"Boja pozadine","chkFull":"Allow Fullscreen","chkLoop":"Ponavljaj","chkMenu":"Uključi fleš meni","chkPlay":"Automatski start","flashvars":"Variables for Flash","hSpace":"HSpace","properties":"Osobine fleša","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Skaliraj","scaleAll":"Prikaži sve","scaleFit":"Popuni površinu","scaleNoBorder":"Bez ivice","title":"Osobine fleša","vSpace":"VSpace","validateHSpace":"HSpace must be a number.","validateSrc":"Unesite URL linka","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Veličina fonta","voiceLabel":"Font Size","panelTitle":"Veličina fonta"},"label":"Font","panelTitle":"Font","voiceLabel":"Font"},"forms":{"button":{"title":"Osobine dugmeta","text":"Tekst (vrednost)","type":"Tip","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Osobine polja za potvrdu","radioTitle":"Osobine radio-dugmeta","value":"Vrednost","selected":"Označeno","required":"Required"},"form":{"title":"Osobine forme","menu":"Osobine forme","action":"Akcija","method":"Metoda","encoding":"Encoding"},"hidden":{"title":"Osobine skrivenog polja","name":"Naziv","value":"Vrednost"},"select":{"title":"Osobine izbornog polja","selectInfo":"Info","opAvail":"Dostupne opcije","value":"Vrednost","size":"Veličina","lines":"linija","chkMulti":"Dozvoli višestruku selekciju","required":"Required","opText":"Tekst","opValue":"Vrednost","btnAdd":"Dodaj","btnModify":"Izmeni","btnUp":"Gore","btnDown":"Dole","btnSetValue":"Podesi kao označenu vrednost","btnDelete":"Obriši"},"textarea":{"title":"Osobine zone teksta","cols":"Broj kolona","rows":"Broj redova"},"textfield":{"title":"Osobine tekstualnog polja","name":"Naziv","value":"Vrednost","charWidth":"Širina (karaktera)","maxChars":"Maksimalno karaktera","required":"Required","type":"Tip","typeText":"Tekst","typePass":"Lozinka","typeEmail":"Email","typeSearch":"Pretraži","typeTel":"Broj telefona","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Format","tag_address":"Adresa","tag_div":"Normalno (DIV)","tag_h1":"Naslov 1","tag_h2":"Naslov 2","tag_h3":"Naslov 3","tag_h4":"Naslov 4","tag_h5":"Naslov 5","tag_h6":"Naslov 6","tag_p":"Normal","tag_pre":"Formatirano"},"horizontalrule":{"toolbar":"Unesi horizontalnu liniju"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Alternativni tekst","border":"Okvir","btnUpload":"Pošalji na server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"HSpace","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Info slike","linkTab":"Link","lockRatio":"Zaključaj odnos","menu":"Osobine slika","resetSize":"Resetuj veličinu","title":"Osobine slika","titleButton":"Osobine dugmeta sa slikom","upload":"Pošalji","urlMissing":"Image source URL is missing.","vSpace":"VSpace","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Uvećaj levu marginu","outdent":"Smanji levu marginu"},"smiley":{"options":"Smiley Options","title":"Unesi smajlija","toolbar":"Smajli"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Pristupni taster","advanced":"Napredni tagovi","advisoryContentType":"Advisory vrsta sadržaja","advisoryTitle":"Advisory naslov","anchor":{"toolbar":"Unesi/izmeni sidro","menu":"Osobine sidra","title":"Osobine sidra","name":"Naziv sidra","errorName":"Unesite naziv sidra","remove":"Ukloni sidro"},"anchorId":"Po Id-u elementa","anchorName":"Po nazivu sidra","charset":"Linked Resource Charset","cssClasses":"Stylesheet klase","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail adresa","emailBody":"Sadržaj poruke","emailSubject":"Naslov","id":"Id","info":"Link Info","langCode":"Smer jezika","langDir":"Smer jezika","langDirLTR":"S leva na desno (LTR)","langDirRTL":"S desna na levo (RTL)","menu":"Izmeni link","name":"Naziv","noAnchors":"(Nema dostupnih sidra)","noEmail":"Otkucajte adresu elektronske pote","noUrl":"Unesite URL linka","other":"<остало>","popupDependent":"Zavisno (Netscape)","popupFeatures":"Mogućnosti popup prozora","popupFullScreen":"Prikaz preko celog ekrana (IE)","popupLeft":"Od leve ivice ekrana (px)","popupLocationBar":"Lokacija","popupMenuBar":"Kontekstni meni","popupResizable":"Promenljive veličine","popupScrollBars":"Scroll bar","popupStatusBar":"Statusna linija","popupToolbar":"Toolbar","popupTop":"Od vrha ekrana (px)","rel":"Odnos","selectAnchor":"Odaberi sidro","styles":"Stil","tabIndex":"Tab indeks","target":"Meta","targetFrame":"<okvir>","targetFrameName":"Naziv odredišnog frejma","targetPopup":"<popup prozor>","targetPopupName":"Naziv popup prozora","title":"Link","toAnchor":"Sidro na ovoj stranici","toEmail":"E-Mail","toUrl":"URL","toolbar":"Unesi/izmeni link","type":"Vrsta linka","unlink":"Ukloni link","upload":"Pošalji"},"list":{"bulletedlist":"Nenabrojiva lista","numberedlist":"Nabrojiva lista"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"newpage":{"toolbar":"Nova stranica"},"pagebreak":{"alt":"Page Break","toolbar":"Insert Page Break for Printing"},"pastetext":{"button":"Zalepi kao čist tekst","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Zalepi kao čist tekst"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Zalepi iz Worda","toolbar":"Zalepi iz Worda"},"preview":{"preview":"Izgled stranice"},"print":{"toolbar":"Štampa"},"removeformat":{"toolbar":"Ukloni formatiranje"},"save":{"toolbar":"Sačuvaj"},"selectall":{"toolbar":"Označi sve"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"Kôd"},"specialchar":{"options":"Special Character Options","title":"Odaberite specijalni karakter","toolbar":"Unesi specijalni karakter"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Stil","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Veličina okvira","caption":"Naslov tabele","cell":{"menu":"Cell","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"Obriši ćelije","merge":"Spoj celije","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Razmak ćelija","cellSpace":"Ćelijski prostor","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Obriši kolone"},"columns":"Kolona","deleteTable":"Izbriši tabelu","headers":"Zaglavlja","headersBoth":"Oba","headersColumn":"Prva kolona","headersNone":"None","headersRow":"Prvi red","invalidBorder":"Veličina okvira mora biti broj.","invalidCellPadding":"Padding polja mora biti pozitivan broj.","invalidCellSpacing":"Razmak između ćelija mora biti pozitivan broj.","invalidCols":"Broj kolona mora biti broj veći od 0.","invalidHeight":"Visina tabele mora biti broj.","invalidRows":"Broj redova mora biti veći od 0.","invalidWidth":"Širina tabele mora biti broj.","menu":"Osobine tabele","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Obriši redove"},"rows":"Redova","summary":"Sažetak","title":"Osobine tabele","toolbar":"Tabela","widthPc":"procenata","widthPx":"piksela","widthUnit":"jedinica za širinu"},"undo":{"redo":"Ponovi akciju","undo":"Poni�ti akciju"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignoriši","btnIgnoreAll":"Ignoriši sve","btnReplace":"Zameni","btnReplaceAll":"Zameni sve","btnUndo":"Vrati akciju","changeTo":"Izmeni","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Provera spelovanja nije instalirana. Da li želite da je skinete sa Interneta?","manyChanges":"Provera spelovanja završena: %1 reč(i) je izmenjeno","noChanges":"Provera spelovanja završena: Nije izmenjena nijedna rec","noMispell":"Provera spelovanja završena: greške nisu pronadene","noSuggestions":"- Bez sugestija -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Nije u rečniku","oneChange":"Provera spelovanja završena: Izmenjena je jedna reč","progress":"Provera spelovanja u toku...","title":"Spell Checker","toolbar":"Proveri spelovanje"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sr-latn.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en-au.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en-au.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en-au.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['en-au']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Align","left":"Left","right":"Right","center":"Center","justify":"Justify","alignLeft":"Align Left","alignRight":"Align Right","alignCenter":"Align Center","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK.","title":"Paste"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Colour","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Greyish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Greyish Cyan","DDD":"Light Grey","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Greyish Cyan","999":"Dark Grey"},"more":"More Colours...","panelTitle":"Colors","textColorTitle":"Text Colour"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Colour Options","selected":"Selected Colour","title":"Select colour"},"templates":{"button":"Templates","emptyListMsg":"(No templates defined)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"Please select the template to open in the editor","title":"Content Templates"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Find","findOptions":"Find Options","findWhat":"Find what:","matchCase":"Match case","matchCyclic":"Match cyclic","matchWord":"Match whole word","notFoundMsg":"The specified text was not found.","replace":"Replace","replaceAll":"Replace All","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Replace with:","title":"Find and Replace"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs Bottom","alignAbsMiddle":"Abs Middle","alignBaseline":"Baseline","alignTextTop":"Text Top","bgcolor":"Background colour","chkFull":"Allow Fullscreen","chkLoop":"Loop","chkMenu":"Enable Flash Menu","chkPlay":"Auto Play","flashvars":"Variables for Flash","hSpace":"HSpace","properties":"Flash Properties","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Scale","scaleAll":"Show all","scaleFit":"Exact Fit","scaleNoBorder":"No Border","title":"Flash Properties","vSpace":"VSpace","validateHSpace":"HSpace must be a number.","validateSrc":"URL must not be empty.","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"forms":{"button":{"title":"Button Properties","text":"Text (Value)","type":"Type","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Checkbox Properties","radioTitle":"Radio Button Properties","value":"Value","selected":"Selected","required":"Required"},"form":{"title":"Form Properties","menu":"Form Properties","action":"Action","method":"Method","encoding":"Encoding"},"hidden":{"title":"Hidden Field Properties","name":"Name","value":"Value"},"select":{"title":"Selection Field Properties","selectInfo":"Select Info","opAvail":"Available Options","value":"Value","size":"Size","lines":"lines","chkMulti":"Allow multiple selections","required":"Required","opText":"Text","opValue":"Value","btnAdd":"Add","btnModify":"Modify","btnUp":"Up","btnDown":"Down","btnSetValue":"Set as selected value","btnDelete":"Delete"},"textarea":{"title":"Textarea Properties","cols":"Columns","rows":"Rows"},"textfield":{"title":"Text Field Properties","name":"Name","value":"Value","charWidth":"Character Width","maxChars":"Maximum Characters","required":"Required","type":"Type","typeText":"Text","typePass":"Password","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Paragraph Format","tag_address":"Address","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"Insert Horizontal Line"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Alternative Text","border":"Border","btnUpload":"Send it to the Server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"HSpace","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Image Info","linkTab":"Link","lockRatio":"Lock Ratio","menu":"Image Properties","resetSize":"Reset Size","title":"Image Properties","titleButton":"Image Button Properties","upload":"Upload","urlMissing":"Image source URL is missing.","vSpace":"VSpace","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"smiley":{"options":"Smiley Options","title":"Insert a Smiley","toolbar":"Smiley"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Access Key","advanced":"Advanced","advisoryContentType":"Advisory Content Type","advisoryTitle":"Advisory Title","anchor":{"toolbar":"Anchor","menu":"Edit Anchor","title":"Anchor Properties","name":"Anchor Name","errorName":"Please type the anchor name","remove":"Remove Anchor"},"anchorId":"By Element Id","anchorName":"By Anchor Name","charset":"Linked Resource Charset","cssClasses":"Stylesheet Classes","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail Address","emailBody":"Message Body","emailSubject":"Message Subject","id":"Id","info":"Link Info","langCode":"Language Code","langDir":"Language Direction","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","menu":"Edit Link","name":"Name","noAnchors":"(No anchors available in the document)","noEmail":"Please type the e-mail address","noUrl":"Please type the link URL","other":"<other>","popupDependent":"Dependent (Netscape)","popupFeatures":"Popup Window Features","popupFullScreen":"Full Screen (IE)","popupLeft":"Left Position","popupLocationBar":"Location Bar","popupMenuBar":"Menu Bar","popupResizable":"Resizable","popupScrollBars":"Scroll Bars","popupStatusBar":"Status Bar","popupToolbar":"Toolbar","popupTop":"Top Position","rel":"Relationship","selectAnchor":"Select an Anchor","styles":"Style","tabIndex":"Tab Index","target":"Target","targetFrame":"<frame>","targetFrameName":"Target Frame Name","targetPopup":"<popup window>","targetPopupName":"Popup Window Name","title":"Link","toAnchor":"Link to anchor in the text","toEmail":"E-mail","toUrl":"URL","toolbar":"Link","type":"Link Type","unlink":"Unlink","upload":"Upload"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximise","minimize":"Minimise"},"newpage":{"toolbar":"New Page"},"pagebreak":{"alt":"Page Break","toolbar":"Insert Page Break for Printing"},"pastetext":{"button":"Paste as plain text","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Paste as Plain Text"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Paste from Word","toolbar":"Paste from Word"},"preview":{"preview":"Preview"},"print":{"toolbar":"Print"},"removeformat":{"toolbar":"Remove Format"},"save":{"toolbar":"Save"},"selectall":{"toolbar":"Select All"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"Source"},"specialchar":{"options":"Special Character Options","title":"Select Special Character","toolbar":"Insert Special Character"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Styles","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Border size","caption":"Caption","cell":{"menu":"Cell","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"Delete Cells","merge":"Merge Cells","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Cell padding","cellSpace":"Cell spacing","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Delete Columns"},"columns":"Columns","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a number.","invalidCellSpacing":"Cell spacing must be a number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"Table Properties","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Delete Rows"},"rows":"Rows","summary":"Summary","title":"Table Properties","toolbar":"Table","widthPc":"percent","widthPx":"pixels","widthUnit":"width unit"},"undo":{"redo":"Redo","undo":"Undo"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en-au.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/bn.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/bn.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/bn.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['bn']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"ব্রাউজ সার্ভার","url":"URL","protocol":"প্রোটোকল","upload":"আপলোড","uploadSubmit":"ইহাকে সার্ভারে প্রেরন কর","image":"ছবির লেবেল যুক্ত কর","flash":"ফ্লাশ লেবেল যুক্ত কর","form":"ফর্ম","checkbox":"চেক বাক্স","radio":"রেডিও বাটন","textField":"টেক্সট ফীল্ড","textarea":"টেক্সট এরিয়া","hiddenField":"গুপ্ত ফীল্ড","button":"বাটন","select":"বাছাই ফীল্ড","imageButton":"ছবির বাটন","notSet":"<সেট নেই>","id":"আইডি","name":"নাম","langDir":"ভাষা লেখার দিক","langDirLtr":"বাম থেকে ডান (LTR)","langDirRtl":"ডান থেকে বাম (RTL)","langCode":"ভাষা কোড","longDescr":"URL এর লম্বা বর্ণনা","cssClass":"স্টাইল-শীট ক্লাস","advisoryTitle":"পরামর্শ শীর্ষক","cssStyle":"স্টাইল","ok":"ওকে","cancel":"বাতিল","close":"Close","preview":"প্রিভিউ","resize":"Resize","generalTab":"General","advancedTab":"এডভান্সড","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"টার্গেট","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"বাম থেকে ডান (LTR)","langDirRTL":"ডান থেকে বাম (RTL)","styles":"স্টাইল","cssClasses":"স্টাইল-শীট ক্লাস","width":"প্রস্থ","height":"দৈর্ঘ্য","align":"এলাইন","left":"বামে","right":"ডানে","center":"মাঝখানে","justify":"ব্লক জাস্টিফাই","alignLeft":"বা দিকে ঘেঁষা","alignRight":"ডান দিকে ঘেঁষা","alignCenter":"Align Center","alignTop":"উপর","alignMiddle":"মধ্য","alignBottom":"নীচে","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"বোল্ড","italic":"বাঁকা","strike":"স্ট্রাইক থ্রু","subscript":"অধোলেখ","superscript":"অভিলেখ","underline":"আন্ডারলাইন"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"কপি","copyError":"আপনার ব্রাউজারের নিরাপত্তা সেটিংসমূহ এডিটরকে স্বয়ংক্রিয়ভাবে কপি করার প্রক্রিয়া চালনা করার অনুমতি দেয় না। অনুগ্রহপূর্বক এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+C)।","cut":"কাট","cutError":"আপনার ব্রাউজারের সুরক্ষা সেটিংস এডিটরকে অটোমেটিক কাট করার অনুমতি দেয়নি। দয়া করে এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+X)।","paste":"পেস্ট","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK.","title":"পেস্ট"},"colorbutton":{"auto":"স্বয়ংক্রিয়ভাবে","bgColorTitle":"পৃষ্ঠতলের রং","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"আরও রং...","panelTitle":"Colors","textColorTitle":"টেক্স্ট রং"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"টেমপ্লেট","emptyListMsg":"(কোন টেমপ্লেট ডিফাইন করা নেই)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"অনুগ্রহ করে এডিটরে ওপেন করার জন্য টেমপ্লেট বাছাই করুন<br>(আসল কনটেন্ট হারিয়ে যাবে):","title":"কনটেন্ট টেমপ্লেট"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"খুজিঁ","findOptions":"Find Options","findWhat":"যা খুঁজতে হবে:","matchCase":"কেস মিলাও","matchCyclic":"Match cyclic","matchWord":"পুরা শব্দ মেলাও","notFoundMsg":"আপনার উল্লেখিত টেকস্ট পাওয়া যায়নি","replace":"রিপ্লেস","replaceAll":"সব বদলে দাও","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"যার সাথে বদলাতে হবে:","title":"Find and Replace"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs নীচে","alignAbsMiddle":"Abs উপর","alignBaseline":"মূল রেখা","alignTextTop":"টেক্সট উপর","bgcolor":"পৃষ্ঠতলের রং","chkFull":"Allow Fullscreen","chkLoop":"লূপ","chkMenu":"ফ্ল্যাশ মেনু এনাবল কর","chkPlay":"অটো প্লে","flashvars":"Variables for Flash","hSpace":"হরাইজন্টাল স্পেস","properties":"ফ্লাশ প্রোপার্টি","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"স্কেল","scaleAll":"সব দেখাও","scaleFit":"নিখুঁত ফিট","scaleNoBorder":"কোনো বর্ডার নেই","title":"ফ্ল্যাশ প্রোপার্টি","vSpace":"ভার্টিকেল স্পেস","validateHSpace":"HSpace must be a number.","validateSrc":"অনুগ্রহ করে URL লিংক টাইপ করুন","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"সাইজ","voiceLabel":"Font Size","panelTitle":"সাইজ"},"label":"ফন্ট","panelTitle":"ফন্ট","voiceLabel":"ফন্ট"},"forms":{"button":{"title":"বাটন সম্বন্ধীয়","text":"টেক্সট (ভ্যালু)","type":"প্রকার","typeBtn":"বাটন","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"চেক বক্স প্রোপার্টি","radioTitle":"রেডিও বাটন সম্বন্ধীয়","value":"ভ্যালু","selected":"সিলেক্টেড","required":"Required"},"form":{"title":"ফর্ম প্রোপার্টি","menu":"ফর্ম প্রোপার্টি","action":"একশ্যন","method":"পদ্ধতি","encoding":"Encoding"},"hidden":{"title":"গুপ্ত ফীল্ড প্রোপার্টি","name":"নাম","value":"ভ্যালু"},"select":{"title":"বাছাই ফীল্ড প্রোপার্টি","selectInfo":"তথ্য","opAvail":"অন্যান্য বিকল্প","value":"ভ্যালু","size":"সাইজ","lines":"লাইন সমূহ","chkMulti":"একাধিক সিলেকশন এলাউ কর","required":"Required","opText":"টেক্সট","opValue":"ভ্যালু","btnAdd":"যুক্ত","btnModify":"বদলে দাও","btnUp":"উপর","btnDown":"নীচে","btnSetValue":"বাছাই করা ভ্যালু হিসেবে সেট কর","btnDelete":"ডিলীট"},"textarea":{"title":"টেক্সট এরিয়া প্রোপার্টি","cols":"কলাম","rows":"রো"},"textfield":{"title":"টেক্সট ফীল্ড প্রোপার্টি","name":"নাম","value":"ভ্যালু","charWidth":"ক্যারেক্টার প্রশস্ততা","maxChars":"সর্বাধিক ক্যারেক্টার","required":"Required","type":"টাইপ","typeText":"টেক্সট","typePass":"পাসওয়ার্ড","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"ধরন-প্রকৃতি","panelTitle":"ফন্ট ফরমেট","tag_address":"ঠিকানা","tag_div":"শীর্ষক (DIV)","tag_h1":"শীর্ষক ১","tag_h2":"শীর্ষক ২","tag_h3":"শীর্ষক ৩","tag_h4":"শীর্ষক ৪","tag_h5":"শীর্ষক ৫","tag_h6":"শীর্ষক ৬","tag_p":"সাধারণ","tag_pre":"ফর্মেটেড"},"horizontalrule":{"toolbar":"অনুভূমিক লাইন যোগ করি"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"বিকল্প টেক্সট","border":"বর্ডার","btnUpload":"ইহাকে সার্ভারে প্রেরন কর","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"হরাইজন্টাল স্পেস","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"ছবির তথ্য","linkTab":"লিংক","lockRatio":"অনুপাত লক কর","menu":"ছবির প্রোপার্টি","resetSize":"সাইজ পূর্বাবস্থায় ফিরিয়ে দাও","title":"ছবির প্রোপার্টি","titleButton":"ছবির বাটন সম্বন্ধীয়","upload":"আপলোড","urlMissing":"Image source URL is missing.","vSpace":"ভার্টিকেল স্পেস","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"ইনডেন্ট বাড়াই","outdent":"ইনডেন্ট কমাও"},"smiley":{"options":"Smiley Options","title":"স্মাইলী যুক্ত কর","toolbar":"স্মাইলী"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"প্রবেশ কী","advanced":"এডভান্সড","advisoryContentType":"পরামর্শ কন্টেন্টের প্রকার","advisoryTitle":"পরামর্শ শীর্ষক","anchor":{"toolbar":"নোঙ্গর","menu":"নোঙর প্রোপার্টি","title":"নোঙর প্রোপার্টি","name":"নোঙরের নাম","errorName":"নোঙরের নাম টাইপ করুন","remove":"Remove Anchor"},"anchorId":"নোঙরের আইডি দিয়ে","anchorName":"নোঙরের নাম দিয়ে","charset":"লিংক রিসোর্স ক্যারেক্টর সেট","cssClasses":"স্টাইল-শীট ক্লাস","download":"Force Download","displayText":"Display Text","emailAddress":"ইমেইল ঠিকানা","emailBody":"মেসেজের দেহ","emailSubject":"মেসেজের বিষয়","id":"আইডি","info":"লিংক তথ্য","langCode":"ভাষা লেখার দিক","langDir":"ভাষা লেখার দিক","langDirLTR":"বাম থেকে ডান (LTR)","langDirRTL":"ডান থেকে বাম (RTL)","menu":"লিংক সম্পাদন","name":"নাম","noAnchors":"(No anchors available in the document)","noEmail":"অনুগ্রহ করে ইমেইল এড্রেস টাইপ করুন","noUrl":"অনুগ্রহ করে URL লিংক টাইপ করুন","other":"<other>","popupDependent":"ডিপেন্ডেন্ট (Netscape)","popupFeatures":"পপআপ উইন্ডো ফীচার সমূহ","popupFullScreen":"পূর্ণ পর্দা জুড়ে (IE)","popupLeft":"বামের পজিশন","popupLocationBar":"লোকেশন বার","popupMenuBar":"মেন্যু বার","popupResizable":"Resizable","popupScrollBars":"স্ক্রল বার","popupStatusBar":"স্ট্যাটাস বার","popupToolbar":"টুল বার","popupTop":"ডানের পজিশন","rel":"Relationship","selectAnchor":"নোঙর বাছাই","styles":"স্টাইল","tabIndex":"ট্যাব ইন্ডেক্স","target":"টার্গেট","targetFrame":"<ফ্রেম>","targetFrameName":"টার্গেট ফ্রেমের নাম","targetPopup":"<পপআপ উইন্ডো>","targetPopupName":"পপআপ উইন্ডোর নাম","title":"লিংক","toAnchor":"এই পেজে নোঙর কর","toEmail":"ইমেইল","toUrl":"URL","toolbar":"লিংক যুক্ত কর","type":"লিংক প্রকার","unlink":"লিংক সরাও","upload":"আপলোড"},"list":{"bulletedlist":"বুলেটেড তালিকা প্রবেশ/অপসারন করি","numberedlist":"সাংখ্যিক লিস্টের লেবেল"},"liststyle":{"armenian":"আর্মেনিয়ান সংখ্যাক্রমে বিন্যাস","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"newpage":{"toolbar":"নতুন পৃষ্ঠা"},"pagebreak":{"alt":"Page Break","toolbar":"পেজ ব্রেক"},"pastetext":{"button":"সাধারণ টেক্সট হিসেবে পেইস্ট করি","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"সাদা টেক্সট হিসেবে পেস্ট কর"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"পেস্ট (শব্দ)","toolbar":"পেস্ট (শব্দ)"},"preview":{"preview":"প্রাকদর্শন"},"print":{"toolbar":"প্রিন্ট করি"},"removeformat":{"toolbar":"ধরন-প্রকৃতি অপসারণ করি"},"save":{"toolbar":"সংরক্ষন করি"},"selectall":{"toolbar":"সব সিলেক্ট করি"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"উৎস"},"specialchar":{"options":"Special Character Options","title":"বিশেষ ক্যারেক্টার বাছাই কর","toolbar":"বিশেষ অক্ষর যুক্ত কর"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"ধরন","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"বর্ডারের সাইজ","caption":"শীর্ষক","cell":{"menu":"সেল","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"সেল মুছে দাও","merge":"সেল জোড়া দাও","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"পৃষ্ঠতলের রং","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"সেল প্যাডিং","cellSpace":"সেল স্পেস","column":{"menu":"কলাম","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"কলাম মুছে দাও"},"columns":"কলাম","deleteTable":"টেবিল ডিলীট কর","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a positive number.","invalidCellSpacing":"Cell spacing must be a positive number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"টেবিল প্রোপার্টি","row":{"menu":"রো","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"রো মুছে দাও"},"rows":"রো","summary":"সারাংশ","title":"টেবিল প্রোপার্টি","toolbar":"টেবিলের লেবেল যুক্ত কর","widthPc":"শতকরা","widthPx":"পিক্সেল","widthUnit":"width unit"},"undo":{"redo":"পুনরায় করি","undo":"আনডু"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"ইগনোর কর","btnIgnoreAll":"সব ইগনোর কর","btnReplace":"বদলে দাও","btnReplaceAll":"সব বদলে দাও","btnUndo":"আন্ডু","changeTo":"এতে বদলাও","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"বানান পরীক্ষক ইনস্টল করা নেই। আপনি কি এখনই এটা ডাউনলোড করতে চান?","manyChanges":"বানান পরীক্ষা শেষ: %1 গুলো শব্দ বদলে গ্যাছে","noChanges":"বানান পরীক্ষা শেষ: কোন শব্দ পরিবর্তন করা হয়নি","noMispell":"বানান পরীক্ষা শেষ: কোন ভুল বানান পাওয়া যায়নি","noSuggestions":"- কোন সাজেশন নেই -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"শব্দকোষে নেই","oneChange":"বানান পরীক্ষা শেষ: একটি মাত্র শব্দ পরিবর্তন করা হয়েছে","progress":"বানান পরীক্ষা চলছে...","title":"Spell Checker","toolbar":"বানান চেক"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/bn.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/lt.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/lt.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/lt.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['lt']={"editor":"Pilnas redaktorius","editorPanel":"Pilno redagtoriaus skydelis","common":{"editorHelp":"Spauskite ALT 0 dėl pagalbos","browseServer":"Naršyti po serverį","url":"URL","protocol":"Protokolas","upload":"Siųsti","uploadSubmit":"Siųsti į serverį","image":"Vaizdas","flash":"Flash","form":"Forma","checkbox":"Žymimasis langelis","radio":"Žymimoji akutė","textField":"Teksto laukas","textarea":"Teksto sritis","hiddenField":"Nerodomas laukas","button":"Mygtukas","select":"Atrankos laukas","imageButton":"Vaizdinis mygtukas","notSet":"<nėra nustatyta>","id":"Id","name":"Vardas","langDir":"Teksto kryptis","langDirLtr":"Iš kairės į dešinę (LTR)","langDirRtl":"Iš dešinės į kairę (RTL)","langCode":"Kalbos kodas","longDescr":"Ilgas aprašymas URL","cssClass":"Stilių lentelės klasės","advisoryTitle":"Konsultacinė antraštė","cssStyle":"Stilius","ok":"OK","cancel":"Nutraukti","close":"Uždaryti","preview":"Peržiūrėti","resize":"Pavilkite, kad pakeistumėte dydį","generalTab":"Bendros savybės","advancedTab":"Papildomas","validateNumberFailed":"Ši reikšmė nėra skaičius.","confirmNewPage":"Visas neišsaugotas turinys bus prarastas. Ar tikrai norite įkrauti naują puslapį?","confirmCancel":"Kai kurie parametrai pasikeitė. Ar tikrai norite užverti langą?","options":"Parametrai","target":"Tikslinė nuoroda","targetNew":"Naujas langas (_blank)","targetTop":"Viršutinis langas (_top)","targetSelf":"Esamas langas (_self)","targetParent":"Paskutinis langas (_parent)","langDirLTR":"Iš kairės į dešinę (LTR)","langDirRTL":"Iš dešinės į kairę (RTL)","styles":"Stilius","cssClasses":"Stilių klasės","width":"Plotis","height":"Aukštis","align":"Lygiuoti","left":"Kairę","right":"Dešinę","center":"Centrą","justify":"Lygiuoti abi puses","alignLeft":"Lygiuoti kairę","alignRight":"Lygiuoti dešinę","alignCenter":"Align Center","alignTop":"Viršūnę","alignMiddle":"Vidurį","alignBottom":"Apačią","alignNone":"Niekas","invalidValue":"Neteisinga reikšmė.","invalidHeight":"Aukštis turi būti nurodytas skaičiais.","invalidWidth":"Plotis turi būti nurodytas skaičiais.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Reikšmė nurodyta \"%1\" laukui, turi būti teigiamas skaičius su arba be tinkamo CSS matavimo vieneto (px, %, in, cm, mm, em, ex, pt arba pc).","invalidHtmlLength":"Reikšmė nurodyta \"%1\" laukui, turi būti teigiamas skaičius su arba be tinkamo HTML matavimo vieneto (px arba %).","invalidInlineStyle":"Reikšmė nurodyta vidiniame stiliuje turi būti sudaryta iš vieno šių reikšmių \"vardas : reikšmė\", atskirta kabliataškiais.","cssLengthTooltip":"Įveskite reikšmę pikseliais arba skaičiais su tinkamu CSS vienetu (px, %, in, cm, mm, em, ex, pt arba pc).","unavailable":"%1<span class=\"cke_accessibility\">, netinkamas</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Visos teiss saugomos.","dlgTitle":"Apie CKEditor 4","moreInfo":"Dėl licencijavimo apsilankykite mūsų svetainėje:"},"basicstyles":{"bold":"Pusjuodis","italic":"Kursyvas","strike":"Perbrauktas","subscript":"Apatinis indeksas","superscript":"Viršutinis indeksas","underline":"Pabrauktas"},"bidi":{"ltr":"Tekstas iš kairės į dešinę","rtl":"Tekstas iš dešinės į kairę"},"blockquote":{"toolbar":"Citata"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Pasirinkta)"},"toolbar":{"toolbarCollapse":"Apjungti įrankių juostą","toolbarExpand":"Išplėsti įrankių juostą","toolbarGroups":{"document":"Dokumentas","clipboard":"Atmintinė/Atgal","editing":"Redagavimas","forms":"Formos","basicstyles":"Pagrindiniai stiliai","paragraph":"Paragrafas","links":"Nuorodos","insert":"Įterpti","styles":"Stiliai","colors":"Spalvos","tools":"Įrankiai"},"toolbars":"Redaktoriaus įrankiai"},"clipboard":{"copy":"Kopijuoti","copyError":"Jūsų naršyklės saugumo nustatymai neleidžia redaktoriui automatiškai įvykdyti kopijavimo operacijų. Tam prašome naudoti klaviatūrą (Ctrl/Cmd+C).","cut":"Iškirpti","cutError":"Jūsų naršyklės saugumo nustatymai neleidžia redaktoriui automatiškai įvykdyti iškirpimo operacijų. Tam prašome naudoti klaviatūrą (Ctrl/Cmd+X).","paste":"Įdėti","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Įkelti dalį","pasteMsg":"Paste your content inside the area below and press OK.","title":"Įdėti"},"colorbutton":{"auto":"Automatinis","bgColorTitle":"Fono spalva","colors":{"000":"Juoda","800000":"Kaštoninė","8B4513":"Tamsiai ruda","2F4F4F":"Pilka tamsaus šiferio","008080":"Teal","000080":"Karinis","4B0082":"Indigo","696969":"Tamsiai pilka","B22222":"Ugnies","A52A2A":"Ruda","DAA520":"Aukso","006400":"Tamsiai žalia","40E0D0":"Turquoise","0000CD":"Vidutinė mėlyna","800080":"Violetinė","808080":"Pilka","F00":"Raudona","FF8C00":"Tamsiai oranžinė","FFD700":"Auksinė","008000":"Žalia","0FF":"Žydra","00F":"Mėlyna","EE82EE":"Violetinė","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Oranžinė","FFFF00":"Geltona","00FF00":"Citrinų","AFEEEE":"Pale Turquoise","ADD8E6":"Šviesiai mėlyna","DDA0DD":"Plum","D3D3D3":"Šviesiai pilka","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Šviesiai geltona","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"Balta","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Daugiau spalvų...","panelTitle":"Spalva","textColorTitle":"Teksto spalva"},"colordialog":{"clear":"Išvalyti","highlight":"Paryškinti","options":"Spalvos nustatymai","selected":"Pasirinkta spalva","title":"Pasirinkite spalvą"},"templates":{"button":"Šablonai","emptyListMsg":"(Šablonų sąrašas tuščias)","insertOption":"Pakeisti dabartinį turinį pasirinktu šablonu","options":"Template Options","selectPromptMsg":"Pasirinkite norimą šabloną<br>(<b>Dėmesio!</b> esamas turinys bus prarastas):","title":"Turinio šablonai"},"contextmenu":{"options":"Kontekstinio meniu parametrai"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Patariamas pavadinimas","cssClassInputLabel":"Stilių klasės","edit":"Redaguoti Div","inlineStyleInputLabel":"Vidiniai stiliai","langDirLTRLabel":"Iš kairės į dešinę (LTR)","langDirLabel":"Kalbos nurodymai","langDirRTLLabel":"Iš dešinės į kairę (RTL)","languageCodeInputLabel":" Kalbos kodas","remove":"Pašalinti Div","styleSelectLabel":"Stilius","title":"Sukurti Div elementą","toolbar":"Sukurti Div elementą"},"elementspath":{"eleLabel":"Elemento kelias","eleTitle":"%1 elementas"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Rasti","findOptions":"Paieškos nustatymai","findWhat":"Surasti tekstą:","matchCase":"Skirti didžiąsias ir mažąsias raides","matchCyclic":"Sutampantis cikliškumas","matchWord":"Atitikti pilną žodį","notFoundMsg":"Nurodytas tekstas nerastas.","replace":"Pakeisti","replaceAll":"Pakeisti viską","replaceSuccessMsg":"%1 sutapimas(ų) buvo pakeisti.","replaceWith":"Pakeisti tekstu:","title":"Surasti ir pakeisti"},"fakeobjects":{"anchor":"Žymė","flash":"Flash animacija","hiddenfield":"Paslėptas laukas","iframe":"IFrame","unknown":"Nežinomas objektas"},"flash":{"access":"Skripto priėjimas","accessAlways":"Visada","accessNever":"Niekada","accessSameDomain":"Tas pats domenas","alignAbsBottom":"Absoliučią apačią","alignAbsMiddle":"Absoliutų vidurį","alignBaseline":"Apatinę liniją","alignTextTop":"Teksto viršūnę","bgcolor":"Fono spalva","chkFull":"Leisti per visą ekraną","chkLoop":"Ciklas","chkMenu":"Leisti Flash meniu","chkPlay":"Automatinis paleidimas","flashvars":"Flash kintamieji","hSpace":"Hor.Erdvė","properties":"Flash savybės","propertiesTab":"Nustatymai","quality":"Kokybė","qualityAutoHigh":"Automatiškai Gera","qualityAutoLow":"Automatiškai Žema","qualityBest":"Geriausia","qualityHigh":"Gera","qualityLow":"Žema","qualityMedium":"Vidutinė","scale":"Mastelis","scaleAll":"Rodyti visą","scaleFit":"Tikslus atitikimas","scaleNoBorder":"Be rėmelio","title":"Flash savybės","vSpace":"Vert.Erdvė","validateHSpace":"HSpace turi būti skaičius.","validateSrc":"Prašome įvesti nuorodos URL","validateVSpace":"VSpace turi būti skaičius.","windowMode":"Lango režimas","windowModeOpaque":"Nepermatomas","windowModeTransparent":"Permatomas","windowModeWindow":"Langas"},"font":{"fontSize":{"label":"Šrifto dydis","voiceLabel":"Šrifto dydis","panelTitle":"Šrifto dydis"},"label":"Šriftas","panelTitle":"Šriftas","voiceLabel":"Šriftas"},"forms":{"button":{"title":"Mygtuko savybės","text":"Tekstas (Reikšmė)","type":"Tipas","typeBtn":"Mygtukas","typeSbm":"Siųsti","typeRst":"Išvalyti"},"checkboxAndRadio":{"checkboxTitle":"Žymimojo langelio savybės","radioTitle":"Žymimosios akutės savybės","value":"Reikšmė","selected":"Pažymėtas","required":"Required"},"form":{"title":"Formos savybės","menu":"Formos savybės","action":"Veiksmas","method":"Metodas","encoding":"Kodavimas"},"hidden":{"title":"Nerodomo lauko savybės","name":"Vardas","value":"Reikšmė"},"select":{"title":"Atrankos lauko savybės","selectInfo":"Informacija","opAvail":"Galimos parinktys","value":"Reikšmė","size":"Dydis","lines":"eilučių","chkMulti":"Leisti daugeriopą atranką","required":"Required","opText":"Tekstas","opValue":"Reikšmė","btnAdd":"Įtraukti","btnModify":"Modifikuoti","btnUp":"Aukštyn","btnDown":"Žemyn","btnSetValue":"Laikyti pažymėta reikšme","btnDelete":"Trinti"},"textarea":{"title":"Teksto srities savybės","cols":"Ilgis","rows":"Plotis"},"textfield":{"title":"Teksto lauko savybės","name":"Vardas","value":"Reikšmė","charWidth":"Ilgis simboliais","maxChars":"Maksimalus simbolių skaičius","required":"Required","type":"Tipas","typeText":"Tekstas","typePass":"Slaptažodis","typeEmail":"El. paštas","typeSearch":"Paieška","typeTel":"Telefono numeris","typeUrl":"Nuoroda"}},"format":{"label":"Šrifto formatas","panelTitle":"Šrifto formatas","tag_address":"Kreipinio","tag_div":"Normalus (DIV)","tag_h1":"Antraštinis 1","tag_h2":"Antraštinis 2","tag_h3":"Antraštinis 3","tag_h4":"Antraštinis 4","tag_h5":"Antraštinis 5","tag_h6":"Antraštinis 6","tag_p":"Normalus","tag_pre":"Formuotas"},"horizontalrule":{"toolbar":"Įterpti horizontalią liniją"},"iframe":{"border":"Rodyti rėmelį","noUrl":"Nurodykite iframe nuorodą","scrolling":"Įjungti slankiklius","title":"IFrame nustatymai","toolbar":"IFrame"},"image":{"alt":"Alternatyvus Tekstas","border":"Rėmelis","btnUpload":"Siųsti į serverį","button2Img":"Ar norite mygtuką paversti paprastu paveiksliuku?","hSpace":"Hor.Erdvė","img2Button":"Ar norite paveiksliuką paversti mygtuku?","infoTab":"Vaizdo informacija","linkTab":"Nuoroda","lockRatio":"Išlaikyti proporciją","menu":"Vaizdo savybės","resetSize":"Atstatyti dydį","title":"Vaizdo savybės","titleButton":"Vaizdinio mygtuko savybės","upload":"Nusiųsti","urlMissing":"Paveiksliuko nuorodos nėra.","vSpace":"Vert.Erdvė","validateBorder":"Reikšmė turi būti sveikas skaičius.","validateHSpace":"Reikšmė turi būti sveikas skaičius.","validateVSpace":"Reikšmė turi būti sveikas skaičius."},"indent":{"indent":"Padidinti įtrauką","outdent":"Sumažinti įtrauką"},"smiley":{"options":"Šypsenėlių nustatymai","title":"Įterpti veidelį","toolbar":"Veideliai"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Prieigos raktas","advanced":"Papildomas","advisoryContentType":"Konsultacinio turinio tipas","advisoryTitle":"Konsultacinė antraštė","anchor":{"toolbar":"Įterpti/modifikuoti žymę","menu":"Žymės savybės","title":"Žymės savybės","name":"Žymės vardas","errorName":"Prašome įvesti žymės vardą","remove":"Pašalinti žymę"},"anchorId":"Pagal žymės Id","anchorName":"Pagal žymės vardą","charset":"Susietų išteklių simbolių lentelė","cssClasses":"Stilių lentelės klasės","download":"Force Download","displayText":"Display Text","emailAddress":"El.pašto adresas","emailBody":"Žinutės turinys","emailSubject":"Žinutės tema","id":"Id","info":"Nuorodos informacija","langCode":"Teksto kryptis","langDir":"Teksto kryptis","langDirLTR":"Iš kairės į dešinę (LTR)","langDirRTL":"Iš dešinės į kairę (RTL)","menu":"Taisyti nuorodą","name":"Vardas","noAnchors":"(Šiame dokumente žymių nėra)","noEmail":"Prašome įvesti el.pašto adresą","noUrl":"Prašome įvesti nuorodos URL","other":"<kitas>","popupDependent":"Priklausomas (Netscape)","popupFeatures":"Išskleidžiamo lango savybės","popupFullScreen":"Visas ekranas (IE)","popupLeft":"Kairė pozicija","popupLocationBar":"Adreso juosta","popupMenuBar":"Meniu juosta","popupResizable":"Kintamas dydis","popupScrollBars":"Slinkties juostos","popupStatusBar":"Būsenos juosta","popupToolbar":"Mygtukų juosta","popupTop":"Viršutinė pozicija","rel":"Sąsajos","selectAnchor":"Pasirinkite žymę","styles":"Stilius","tabIndex":"Tabuliavimo indeksas","target":"Paskirties vieta","targetFrame":"<kadras>","targetFrameName":"Paskirties kadro vardas","targetPopup":"<išskleidžiamas langas>","targetPopupName":"Paskirties lango vardas","title":"Nuoroda","toAnchor":"Žymė šiame puslapyje","toEmail":"El.paštas","toUrl":"Nuoroda","toolbar":"Įterpti/taisyti nuorodą","type":"Nuorodos tipas","unlink":"Panaikinti nuorodą","upload":"Siųsti"},"list":{"bulletedlist":"Suženklintas sąrašas","numberedlist":"Numeruotas sąrašas"},"liststyle":{"armenian":"Armėniški skaitmenys","bulletedTitle":"Ženklelinio sąrašo nustatymai","circle":"Apskritimas","decimal":"Dešimtainis (1, 2, 3, t.t)","decimalLeadingZero":"Dešimtainis su nuliu priekyje (01, 02, 03, t.t)","disc":"Diskas","georgian":"Gruziniški skaitmenys (an, ban, gan, t.t)","lowerAlpha":"Mažosios Alpha (a, b, c, d, e, t.t)","lowerGreek":"Mažosios Graikų (alpha, beta, gamma, t.t)","lowerRoman":"Mažosios Romėnų (i, ii, iii, iv, v, t.t)","none":"Niekas","notset":"<nenurodytas>","numberedTitle":"Skaitmeninio sąrašo nustatymai","square":"Kvadratas","start":"Pradžia","type":"Rūšis","upperAlpha":"Didžiosios Alpha (A, B, C, D, E, t.t)","upperRoman":"Didžiosios Romėnų (I, II, III, IV, V, t.t)","validateStartNumber":"Sąrašo pradžios skaitmuo turi būti sveikas skaičius."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Išdidinti","minimize":"Sumažinti"},"newpage":{"toolbar":"Naujas puslapis"},"pagebreak":{"alt":"Puslapio skirtukas","toolbar":"Įterpti puslapių skirtuką"},"pastetext":{"button":"Įdėti kaip gryną tekstą","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Įdėti kaip gryną tekstą"},"pastefromword":{"confirmCleanup":"Tekstas, kurį įkeliate yra kopijuojamas iš Word. Ar norite jį išvalyti prieš įkeliant?","error":"Dėl vidinių sutrikimų, nepavyko išvalyti įkeliamo teksto","title":"Įdėti iš Word","toolbar":"Įdėti iš Word"},"preview":{"preview":"Peržiūra"},"print":{"toolbar":"Spausdinti"},"removeformat":{"toolbar":"Panaikinti formatą"},"save":{"toolbar":"Išsaugoti"},"selectall":{"toolbar":"Pažymėti viską"},"showblocks":{"toolbar":"Rodyti blokus"},"sourcearea":{"toolbar":"Šaltinis"},"specialchar":{"options":"Specialaus simbolio nustatymai","title":"Pasirinkite specialų simbolį","toolbar":"Įterpti specialų simbolį"},"scayt":{"btn_about":"Apie SCAYT","btn_dictionaries":"Žodynai","btn_disable":"Išjungti SCAYT","btn_enable":"Įjungti SCAYT","btn_langs":"Kalbos","btn_options":"Parametrai","text_title":"Tikrinti klaidas kai rašoma"},"stylescombo":{"label":"Stilius","panelTitle":"Stilių formatavimas","panelTitle1":"Blokų stiliai","panelTitle2":"Vidiniai stiliai","panelTitle3":"Objektų stiliai"},"table":{"border":"Rėmelio dydis","caption":"Antraštė","cell":{"menu":"Langelis","insertBefore":"Įterpti langelį prieš","insertAfter":"Įterpti langelį po","deleteCell":"Šalinti langelius","merge":"Sujungti langelius","mergeRight":"Sujungti su dešine","mergeDown":"Sujungti su apačia","splitHorizontal":"Skaidyti langelį horizontaliai","splitVertical":"Skaidyti langelį vertikaliai","title":"Cell nustatymai","cellType":"Cell rūšis","rowSpan":"Eilučių Span","colSpan":"Stulpelių Span","wordWrap":"Sutraukti raides","hAlign":"Horizontalus lygiavimas","vAlign":"Vertikalus lygiavimas","alignBaseline":"Apatinė linija","bgColor":"Fono spalva","borderColor":"Rėmelio spalva","data":"Data","header":"Antraštė","yes":"Taip","no":"Ne","invalidWidth":"Reikšmė turi būti skaičius.","invalidHeight":"Reikšmė turi būti skaičius.","invalidRowSpan":"Reikšmė turi būti skaičius.","invalidColSpan":"Reikšmė turi būti skaičius.","chooseColor":"Pasirinkite"},"cellPad":"Tarpas nuo langelio rėmo iki teksto","cellSpace":"Tarpas tarp langelių","column":{"menu":"Stulpelis","insertBefore":"Įterpti stulpelį prieš","insertAfter":"Įterpti stulpelį po","deleteColumn":"Šalinti stulpelius"},"columns":"Stulpeliai","deleteTable":"Šalinti lentelę","headers":"Antraštės","headersBoth":"Abu","headersColumn":"Pirmas stulpelis","headersNone":"Nėra","headersRow":"Pirma eilutė","invalidBorder":"Reikšmė turi būti nurodyta skaičiumi.","invalidCellPadding":"Reikšmė turi būti nurodyta skaičiumi.","invalidCellSpacing":"Reikšmė turi būti nurodyta skaičiumi.","invalidCols":"Skaičius turi būti didesnis nei 0.","invalidHeight":"Reikšmė turi būti nurodyta skaičiumi.","invalidRows":"Skaičius turi būti didesnis nei 0.","invalidWidth":"Reikšmė turi būti nurodyta skaičiumi.","menu":"Lentelės savybės","row":{"menu":"Eilutė","insertBefore":"Įterpti eilutę prieš","insertAfter":"Įterpti eilutę po","deleteRow":"Šalinti eilutes"},"rows":"Eilutės","summary":"Santrauka","title":"Lentelės savybės","toolbar":"Lentelė","widthPc":"procentais","widthPx":"taškais","widthUnit":"pločio vienetas"},"undo":{"redo":"Atstatyti","undo":"Atšaukti"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignoruoti","btnIgnoreAll":"Ignoruoti visus","btnReplace":"Pakeisti","btnReplaceAll":"Pakeisti visus","btnUndo":"Atšaukti","changeTo":"Pakeisti į","errorLoading":"Klaida įkraunant servisą: %s.","ieSpellDownload":"Rašybos tikrinimas neinstaliuotas. Ar Jūs norite jį dabar atsisiųsti?","manyChanges":"Rašybos tikrinimas baigtas: Pakeista %1 žodžių","noChanges":"Rašybos tikrinimas baigtas: Nėra pakeistų žodžių","noMispell":"Rašybos tikrinimas baigtas: Nerasta rašybos klaidų","noSuggestions":"- Nėra pasiūlymų -","notAvailable":"Atleiskite, šiuo metu servisas neprieinamas.","notInDic":"Žodyne nerastas","oneChange":"Rašybos tikrinimas baigtas: Vienas žodis pakeistas","progress":"Vyksta rašybos tikrinimas...","title":"Tikrinti klaidas","toolbar":"Rašybos tikrinimas"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/lt.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/pl.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/pl.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/pl.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['pl']={"editor":"Edytor tekstu sformatowanego","editorPanel":"Panel edytora tekstu sformatowanego","common":{"editorHelp":"W celu uzyskania pomocy naciśnij ALT 0","browseServer":"Przeglądaj","url":"Adres URL","protocol":"Protokół","upload":"Wyślij","uploadSubmit":"Wyślij","image":"Obrazek","flash":"Flash","form":"Formularz","checkbox":"Pole wyboru (checkbox)","radio":"Przycisk opcji (radio)","textField":"Pole tekstowe","textarea":"Obszar tekstowy","hiddenField":"Pole ukryte","button":"Przycisk","select":"Lista wyboru","imageButton":"Przycisk graficzny","notSet":"<nie ustawiono>","id":"Id","name":"Nazwa","langDir":"Kierunek tekstu","langDirLtr":"Od lewej do prawej (LTR)","langDirRtl":"Od prawej do lewej (RTL)","langCode":"Kod języka","longDescr":"Adres URL długiego opisu","cssClass":"Nazwa klasy CSS","advisoryTitle":"Opis obiektu docelowego","cssStyle":"Styl","ok":"OK","cancel":"Anuluj","close":"Zamknij","preview":"Podgląd","resize":"Przeciągnij, aby zmienić rozmiar","generalTab":"Ogólne","advancedTab":"Zaawansowane","validateNumberFailed":"Ta wartość nie jest liczbą.","confirmNewPage":"Wszystkie niezapisane zmiany zostaną utracone. Czy na pewno wczytać nową stronę?","confirmCancel":"Pewne opcje zostały zmienione. Czy na pewno zamknąć okno dialogowe?","options":"Opcje","target":"Obiekt docelowy","targetNew":"Nowe okno (_blank)","targetTop":"Okno najwyżej w hierarchii (_top)","targetSelf":"To samo okno (_self)","targetParent":"Okno nadrzędne (_parent)","langDirLTR":"Od lewej do prawej (LTR)","langDirRTL":"Od prawej do lewej (RTL)","styles":"Style","cssClasses":"Klasy arkusza stylów","width":"Szerokość","height":"Wysokość","align":"Wyrównaj","left":"Do lewej","right":"Do prawej","center":"Do środka","justify":"Wyjustuj","alignLeft":"Wyrównaj do lewej","alignRight":"Wyrównaj do prawej","alignCenter":"Align Center","alignTop":"Do góry","alignMiddle":"Do środka","alignBottom":"Do dołu","alignNone":"Brak","invalidValue":"Nieprawidłowa wartość.","invalidHeight":"Wysokość musi być liczbą.","invalidWidth":"Szerokość musi być liczbą.","invalidLength":"Wartość podana dla pola \"%1\" musi być liczbą dodatnią bez jednostki lub z poprawną jednostką długości (%2).","invalidCssLength":"Wartość podana dla pola \"%1\" musi być liczbą dodatnią bez jednostki lub z poprawną jednostką długości zgodną z CSS (px, %, in, cm, mm, em, ex, pt lub pc).","invalidHtmlLength":"Wartość podana dla pola \"%1\" musi być liczbą dodatnią bez jednostki lub z poprawną jednostką długości zgodną z HTML (px lub %).","invalidInlineStyle":"Wartość podana dla stylu musi składać się z jednej lub większej liczby krotek w formacie \"nazwa : wartość\", rozdzielonych średnikami.","cssLengthTooltip":"Wpisz liczbę dla wartości w pikselach lub liczbę wraz z jednostką długości zgodną z CSS (px, %, in, cm, mm, em, ex, pt lub pc).","unavailable":"%1<span class=\"cke_accessibility\">, niedostępne</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"spacja","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Skrót klawiszowy","optionDefault":"Domyślny"},"about":{"copy":"Copyright &copy; $1. Wszelkie prawa zastrzeżone.","dlgTitle":"Informacje o programie CKEditor 4","moreInfo":"Informacje na temat licencji można znaleźć na naszej stronie:"},"basicstyles":{"bold":"Pogrubienie","italic":"Kursywa","strike":"Przekreślenie","subscript":"Indeks dolny","superscript":"Indeks górny","underline":"Podkreślenie"},"bidi":{"ltr":"Kierunek tekstu od lewej strony do prawej","rtl":"Kierunek tekstu od prawej strony do lewej"},"blockquote":{"toolbar":"Cytat"},"notification":{"closed":"Powiadomienie zostało zamknięte."},"button":{"selectedLabel":"%1 (Wybrany)"},"toolbar":{"toolbarCollapse":"Zwiń pasek narzędzi","toolbarExpand":"Rozwiń pasek narzędzi","toolbarGroups":{"document":"Dokument","clipboard":"Schowek/Wstecz","editing":"Edycja","forms":"Formularze","basicstyles":"Style podstawowe","paragraph":"Akapit","links":"Hiperłącza","insert":"Wstawianie","styles":"Style","colors":"Kolory","tools":"Narzędzia"},"toolbars":"Paski narzędzi edytora"},"clipboard":{"copy":"Kopiuj","copyError":"Ustawienia bezpieczeństwa Twojej przeglądarki nie pozwalają na automatyczne kopiowanie tekstu. Użyj skrótu klawiszowego Ctrl/Cmd+C.","cut":"Wytnij","cutError":"Ustawienia bezpieczeństwa Twojej przeglądarki nie pozwalają na automatyczne wycinanie tekstu. Użyj skrótu klawiszowego Ctrl/Cmd+X.","paste":"Wklej","pasteNotification":"Naciśnij %1 by wkleić tekst. Twoja przeglądarka nie pozwala na wklejanie za pomocą przycisku paska narzędzi lub opcji menu kontekstowego.","pasteArea":"Miejsce do wklejenia treści","pasteMsg":"Wklej treść do obszaru poniżej i naciśnij OK.","title":"Wklej"},"colorbutton":{"auto":"Automatycznie","bgColorTitle":"Kolor tła","colors":{"000":"Czarny","800000":"Kasztanowy","8B4513":"Czekoladowy","2F4F4F":"Ciemnografitowy","008080":"Morski","000080":"Granatowy","4B0082":"Indygo","696969":"Ciemnoszary","B22222":"Czerwień żelazowa","A52A2A":"Brązowy","DAA520":"Ciemnozłoty","006400":"Ciemnozielony","40E0D0":"Turkusowy","0000CD":"Ciemnoniebieski","800080":"Purpurowy","808080":"Szary","F00":"Czerwony","FF8C00":"Ciemnopomarańczowy","FFD700":"Złoty","008000":"Zielony","0FF":"Cyjan","00F":"Niebieski","EE82EE":"Fioletowy","A9A9A9":"Przygaszony szary","FFA07A":"Łososiowy","FFA500":"Pomarańczowy","FFFF00":"Żółty","00FF00":"Limonkowy","AFEEEE":"Bladoturkusowy","ADD8E6":"Jasnoniebieski","DDA0DD":"Śliwkowy","D3D3D3":"Jasnoszary","FFF0F5":"Jasnolawendowy","FAEBD7":"Kremowobiały","FFFFE0":"Jasnożółty","F0FFF0":"Bladozielony","F0FFFF":"Jasnolazurowy","F0F8FF":"Jasnobłękitny","E6E6FA":"Lawendowy","FFF":"Biały","1ABC9C":"Cyjan","2ECC71":"Szmaragdowy","3498DB":"Jasnoniebieski","9B59B6":"Ametystowy","4E5F70":"Szaroniebieski","F1C40F":"Żółty","16A085":"Ciemny cyjan","27AE60":"Ciemnoszmaragdowy","2980B9":"Ciemnoniebieski","8E44AD":"Ciemnofioletowy","2C3E50":"Nienasycony niebieski","F39C12":"Pomarańczowy","E67E22":"Marchewkowy","E74C3C":"Bladoczerwony","ECF0F1":"Jasnosrebrny","95A5A6":"Szarocyjanowy","DDD":"Jasnoszary","D35400":"Dyniowy","C0392B":"Ciemnoczerwony","BDC3C7":"Srebrny","7F8C8D":"Szarawy cyjan","999":"Ciemnoszary"},"more":"Więcej kolorów...","panelTitle":"Kolory","textColorTitle":"Kolor tekstu"},"colordialog":{"clear":"Wyczyść","highlight":"Zaznacz","options":"Opcje koloru","selected":"Wybrany","title":"Wybierz kolor"},"templates":{"button":"Szablony","emptyListMsg":"(Brak zdefiniowanych szablonów)","insertOption":"Zastąp obecną zawartość","options":"Opcje szablonów","selectPromptMsg":"Wybierz szablon do otwarcia w edytorze<br>(obecna zawartość okna edytora zostanie utracona):","title":"Szablony zawartości"},"contextmenu":{"options":"Opcje menu kontekstowego"},"copyformatting":{"label":"Kopiuj formatowanie","notification":{"copied":"Formatowanie skopiowane","applied":"Formatowanie zastosowane","canceled":"Formatowanie przerwane","failed":"Formatowanie nie powiodło się. Nie możesz zastosować stylów bez uprzedniego ich skopiowania."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Opis obiektu docelowego","cssClassInputLabel":"Klasy arkusza stylów","edit":"Edytuj pojemnik Div","inlineStyleInputLabel":"Style liniowe","langDirLTRLabel":"Od lewej do prawej (LTR)","langDirLabel":"Kierunek tekstu","langDirRTLLabel":"Od prawej do lewej (RTL)","languageCodeInputLabel":"Kod języka","remove":"Usuń pojemnik Div","styleSelectLabel":"Styl","title":"Utwórz pojemnik Div","toolbar":"Utwórz pojemnik Div"},"elementspath":{"eleLabel":"Ścieżka elementów","eleTitle":"element %1"},"filetools":{"loadError":"Błąd podczas odczytu pliku.","networkError":"W trakcie wysyłania pliku pojawił się błąd sieciowy.","httpError404":"Błąd HTTP w trakcie wysyłania pliku (404: Nie znaleziono pliku).","httpError403":"Błąd HTTP w trakcie wysyłania pliku (403: Zabroniony).","httpError":"Błąd HTTP w trakcie wysyłania pliku (status błędu: %1).","noUrlError":"Nie zdefiniowano adresu URL do przesłania pliku.","responseError":"Niepoprawna odpowiedź serwera."},"find":{"find":"Znajdź","findOptions":"Opcje wyszukiwania","findWhat":"Znajdź:","matchCase":"Uwzględnij wielkość liter","matchCyclic":"Cykliczne dopasowanie","matchWord":"Całe słowa","notFoundMsg":"Nie znaleziono szukanego hasła.","replace":"Zamień","replaceAll":"Zamień wszystko","replaceSuccessMsg":"%1 wystąpień zastąpionych.","replaceWith":"Zastąp przez:","title":"Znajdź i zamień"},"fakeobjects":{"anchor":"Kotwica","flash":"Animacja Flash","hiddenfield":"Pole ukryte","iframe":"IFrame","unknown":"Nieznany obiekt"},"flash":{"access":"Dostęp skryptów","accessAlways":"Zawsze","accessNever":"Nigdy","accessSameDomain":"Ta sama domena","alignAbsBottom":"Do dołu","alignAbsMiddle":"Do środka w pionie","alignBaseline":"Do linii bazowej","alignTextTop":"Do góry tekstu","bgcolor":"Kolor tła","chkFull":"Zezwól na pełny ekran","chkLoop":"Pętla","chkMenu":"Włącz menu","chkPlay":"Autoodtwarzanie","flashvars":"Zmienne obiektu Flash","hSpace":"Odstęp poziomy","properties":"Właściwości obiektu Flash","propertiesTab":"Właściwości","quality":"Jakość","qualityAutoHigh":"Auto wysoka","qualityAutoLow":"Auto niska","qualityBest":"Najlepsza","qualityHigh":"Wysoka","qualityLow":"Niska","qualityMedium":"Średnia","scale":"Skaluj","scaleAll":"Pokaż wszystko","scaleFit":"Dokładne dopasowanie","scaleNoBorder":"Bez obramowania","title":"Właściwości obiektu Flash","vSpace":"Odstęp pionowy","validateHSpace":"Odstęp poziomy musi być liczbą.","validateSrc":"Podaj adres URL","validateVSpace":"Odstęp pionowy musi być liczbą.","windowMode":"Tryb okna","windowModeOpaque":"Nieprzezroczyste","windowModeTransparent":"Przezroczyste","windowModeWindow":"Okno"},"font":{"fontSize":{"label":"Rozmiar","voiceLabel":"Rozmiar czcionki","panelTitle":"Rozmiar"},"label":"Czcionka","panelTitle":"Czcionka","voiceLabel":"Czcionka"},"forms":{"button":{"title":"Właściwości przycisku","text":"Tekst (Wartość)","type":"Typ","typeBtn":"Przycisk","typeSbm":"Wyślij","typeRst":"Wyczyść"},"checkboxAndRadio":{"checkboxTitle":"Właściwości pola wyboru (checkbox)","radioTitle":"Właściwości przycisku opcji (radio)","value":"Wartość","selected":"Zaznaczone","required":"Wymagane"},"form":{"title":"Właściwości formularza","menu":"Właściwości formularza","action":"Akcja","method":"Metoda","encoding":"Kodowanie"},"hidden":{"title":"Właściwości pola ukrytego","name":"Nazwa","value":"Wartość"},"select":{"title":"Właściwości listy wyboru","selectInfo":"Informacje","opAvail":"Dostępne opcje","value":"Wartość","size":"Rozmiar","lines":"wierszy","chkMulti":"Wielokrotny wybór","required":"Wymagane","opText":"Tekst","opValue":"Wartość","btnAdd":"Dodaj","btnModify":"Zmień","btnUp":"Do góry","btnDown":"Do dołu","btnSetValue":"Ustaw jako zaznaczoną","btnDelete":"Usuń"},"textarea":{"title":"Właściwości obszaru tekstowego","cols":"Liczba kolumn","rows":"Liczba wierszy"},"textfield":{"title":"Właściwości pola tekstowego","name":"Nazwa","value":"Wartość","charWidth":"Szerokość w znakach","maxChars":"Szerokość maksymalna","required":"Wymagane","type":"Typ","typeText":"Tekst","typePass":"Hasło","typeEmail":"Email","typeSearch":"Szukaj","typeTel":"Numer telefonu","typeUrl":"Adres URL"}},"format":{"label":"Format","panelTitle":"Format","tag_address":"Adres","tag_div":"Normalny (DIV)","tag_h1":"Nagłówek 1","tag_h2":"Nagłówek 2","tag_h3":"Nagłówek 3","tag_h4":"Nagłówek 4","tag_h5":"Nagłówek 5","tag_h6":"Nagłówek 6","tag_p":"Normalny","tag_pre":"Tekst sformatowany"},"horizontalrule":{"toolbar":"Wstaw poziomą linię"},"iframe":{"border":"Pokaż obramowanie obiektu IFrame","noUrl":"Podaj adres URL elementu IFrame","scrolling":"Włącz paski przewijania","title":"Właściwości elementu IFrame","toolbar":"IFrame"},"image":{"alt":"Tekst zastępczy","border":"Obramowanie","btnUpload":"Wyślij","button2Img":"Czy chcesz przekonwertować zaznaczony przycisk graficzny do zwykłego obrazka?","hSpace":"Odstęp poziomy","img2Button":"Czy chcesz przekonwertować zaznaczony obrazek do przycisku graficznego?","infoTab":"Informacje o obrazku","linkTab":"Hiperłącze","lockRatio":"Zablokuj proporcje","menu":"Właściwości obrazka","resetSize":"Przywróć rozmiar","title":"Właściwości obrazka","titleButton":"Właściwości przycisku graficznego","upload":"Wyślij","urlMissing":"Podaj adres URL obrazka.","vSpace":"Odstęp pionowy","validateBorder":"Wartość obramowania musi być liczbą całkowitą.","validateHSpace":"Wartość odstępu poziomego musi być liczbą całkowitą.","validateVSpace":"Wartość odstępu pionowego musi być liczbą całkowitą."},"indent":{"indent":"Zwiększ wcięcie","outdent":"Zmniejsz wcięcie"},"smiley":{"options":"Opcje emotikonów","title":"Wstaw emotikona","toolbar":"Emotikony"},"language":{"button":"Ustaw język","remove":"Usuń język"},"link":{"acccessKey":"Klawisz dostępu","advanced":"Zaawansowane","advisoryContentType":"Typ MIME obiektu docelowego","advisoryTitle":"Opis obiektu docelowego","anchor":{"toolbar":"Wstaw/edytuj kotwicę","menu":"Właściwości kotwicy","title":"Właściwości kotwicy","name":"Nazwa kotwicy","errorName":"Wpisz nazwę kotwicy","remove":"Usuń kotwicę"},"anchorId":"Wg identyfikatora","anchorName":"Wg nazwy","charset":"Kodowanie znaków obiektu docelowego","cssClasses":"Nazwa klasy CSS","download":"Wymuś pobieranie","displayText":"Wyświetlany tekst","emailAddress":"Adres e-mail","emailBody":"Treść","emailSubject":"Temat","id":"Id","info":"Informacje ","langCode":"Kod języka","langDir":"Kierunek tekstu","langDirLTR":"Od lewej do prawej (LTR)","langDirRTL":"Od prawej do lewej (RTL)","menu":"Edytuj odnośnik","name":"Nazwa","noAnchors":"(W dokumencie nie zdefiniowano żadnych kotwic)","noEmail":"Podaj adres e-mail","noUrl":"Podaj adres URL","other":"<inny>","popupDependent":"Okno zależne (Netscape)","popupFeatures":"Właściwości wyskakującego okna","popupFullScreen":"Pełny ekran (IE)","popupLeft":"Pozycja w poziomie","popupLocationBar":"Pasek adresu","popupMenuBar":"Pasek menu","popupResizable":"Skalowalny","popupScrollBars":"Paski przewijania","popupStatusBar":"Pasek statusu","popupToolbar":"Pasek narzędzi","popupTop":"Pozycja w pionie","rel":"Relacja","selectAnchor":"Wybierz kotwicę","styles":"Styl","tabIndex":"Indeks kolejności","target":"Obiekt docelowy","targetFrame":"<ramka>","targetFrameName":"Nazwa ramki docelowej","targetPopup":"<wyskakujące okno>","targetPopupName":"Nazwa wyskakującego okna","title":"Odnośnik","toAnchor":"Odnośnik wewnątrz strony (kotwica)","toEmail":"Adres e-mail","toUrl":"Adres URL","toolbar":"Wstaw/edytuj odnośnik","type":"Typ odnośnika","unlink":"Usuń odnośnik","upload":"Wyślij"},"list":{"bulletedlist":"Lista wypunktowana","numberedlist":"Lista numerowana"},"liststyle":{"armenian":"Numerowanie armeńskie","bulletedTitle":"Właściwości list wypunktowanych","circle":"Koło","decimal":"Liczby (1, 2, 3 itd.)","decimalLeadingZero":"Liczby z początkowym zerem (01, 02, 03 itd.)","disc":"Okrąg","georgian":"Numerowanie gruzińskie (an, ban, gan itd.)","lowerAlpha":"Małe litery (a, b, c, d, e itd.)","lowerGreek":"Małe litery greckie (alpha, beta, gamma itd.)","lowerRoman":"Małe cyfry rzymskie (i, ii, iii, iv, v itd.)","none":"Brak","notset":"<nie ustawiono>","numberedTitle":"Właściwości list numerowanych","square":"Kwadrat","start":"Początek","type":"Typ punktora","upperAlpha":"Duże litery (A, B, C, D, E itd.)","upperRoman":"Duże cyfry rzymskie (I, II, III, IV, V itd.)","validateStartNumber":"Listę musi rozpoczynać liczba całkowita."},"magicline":{"title":"Wstaw nowy akapit"},"maximize":{"maximize":"Maksymalizuj","minimize":"Minimalizuj"},"newpage":{"toolbar":"Nowa strona"},"pagebreak":{"alt":"Wstaw podział strony","toolbar":"Wstaw podział strony"},"pastetext":{"button":"Wklej jako czysty tekst","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Wklej jako czysty tekst"},"pastefromword":{"confirmCleanup":"Tekst, który chcesz wkleić, prawdopodobnie pochodzi z programu Microsoft Word. Czy chcesz go wyczyścić przed wklejeniem?","error":"Wyczyszczenie wklejonych danych nie było możliwe z powodu wystąpienia błędu.","title":"Wklej z programu MS Word","toolbar":"Wklej z programu MS Word"},"preview":{"preview":"Podgląd"},"print":{"toolbar":"Drukuj"},"removeformat":{"toolbar":"Usuń formatowanie"},"save":{"toolbar":"Zapisz"},"selectall":{"toolbar":"Zaznacz wszystko"},"showblocks":{"toolbar":"Pokaż bloki"},"sourcearea":{"toolbar":"Źródło dokumentu"},"specialchar":{"options":"Opcje znaków specjalnych","title":"Wybierz znak specjalny","toolbar":"Wstaw znak specjalny"},"scayt":{"btn_about":"Informacje o SCAYT","btn_dictionaries":"Słowniki","btn_disable":"Wyłącz SCAYT","btn_enable":"Włącz SCAYT","btn_langs":"Języki","btn_options":"Opcje","text_title":"Sprawdź pisownię podczas pisania (SCAYT)"},"stylescombo":{"label":"Styl","panelTitle":"Style formatujące","panelTitle1":"Style blokowe","panelTitle2":"Style liniowe","panelTitle3":"Style obiektowe"},"table":{"border":"Grubość obramowania","caption":"Tytuł","cell":{"menu":"Komórka","insertBefore":"Wstaw komórkę z lewej","insertAfter":"Wstaw komórkę z prawej","deleteCell":"Usuń komórki","merge":"Połącz komórki","mergeRight":"Połącz z komórką z prawej","mergeDown":"Połącz z komórką poniżej","splitHorizontal":"Podziel komórkę poziomo","splitVertical":"Podziel komórkę pionowo","title":"Właściwości komórki","cellType":"Typ komórki","rowSpan":"Scalenie wierszy","colSpan":"Scalenie komórek","wordWrap":"Zawijanie słów","hAlign":"Wyrównanie poziome","vAlign":"Wyrównanie pionowe","alignBaseline":"Linia bazowa","bgColor":"Kolor tła","borderColor":"Kolor obramowania","data":"Dane","header":"Nagłówek","yes":"Tak","no":"Nie","invalidWidth":"Szerokość komórki musi być liczbą.","invalidHeight":"Wysokość komórki musi być liczbą.","invalidRowSpan":"Scalenie wierszy musi być liczbą całkowitą.","invalidColSpan":"Scalenie komórek musi być liczbą całkowitą.","chooseColor":"Wybierz"},"cellPad":"Dopełnienie komórek","cellSpace":"Odstęp pomiędzy komórkami","column":{"menu":"Kolumna","insertBefore":"Wstaw kolumnę z lewej","insertAfter":"Wstaw kolumnę z prawej","deleteColumn":"Usuń kolumny"},"columns":"Liczba kolumn","deleteTable":"Usuń tabelę","headers":"Nagłówki","headersBoth":"Oba","headersColumn":"Pierwsza kolumna","headersNone":"Brak","headersRow":"Pierwszy wiersz","invalidBorder":"Wartość obramowania musi być liczbą.","invalidCellPadding":"Dopełnienie komórek musi być liczbą dodatnią.","invalidCellSpacing":"Odstęp pomiędzy komórkami musi być liczbą dodatnią.","invalidCols":"Liczba kolumn musi być większa niż 0.","invalidHeight":"Wysokość tabeli musi być liczbą.","invalidRows":"Liczba wierszy musi być większa niż 0.","invalidWidth":"Szerokość tabeli musi być liczbą.","menu":"Właściwości tabeli","row":{"menu":"Wiersz","insertBefore":"Wstaw wiersz powyżej","insertAfter":"Wstaw wiersz poniżej","deleteRow":"Usuń wiersze"},"rows":"Liczba wierszy","summary":"Podsumowanie","title":"Właściwości tabeli","toolbar":"Tabela","widthPc":"%","widthPx":"piksele","widthUnit":"jednostka szerokości"},"undo":{"redo":"Ponów","undo":"Cofnij"},"widget":{"move":"Kliknij i przeciągnij, by przenieść.","label":"Widget %1"},"uploadwidget":{"abort":"Wysyłanie przerwane przez użytkownika.","doneOne":"Plik został pomyślnie wysłany.","doneMany":"Pomyślnie wysłane pliki: %1.","uploadOne":"Wysyłanie pliku ({percentage}%)...","uploadMany":"Wysyłanie plików, gotowe {current} z {max} ({percentage}%)..."},"wsc":{"btnIgnore":"Ignoruj","btnIgnoreAll":"Ignoruj wszystkie","btnReplace":"Zmień","btnReplaceAll":"Zmień wszystkie","btnUndo":"Cofnij","changeTo":"Zmień na","errorLoading":"Błąd wczytywania hosta aplikacji usługi: %s.","ieSpellDownload":"Słownik nie jest zainstalowany. Czy chcesz go pobrać?","manyChanges":"Sprawdzanie zakończone: zmieniono %l słów","noChanges":"Sprawdzanie zakończone: nie zmieniono żadnego słowa","noMispell":"Sprawdzanie zakończone: nie znaleziono błędów","noSuggestions":"- Brak sugestii -","notAvailable":"Przepraszamy, ale usługa jest obecnie niedostępna.","notInDic":"Słowa nie ma w słowniku","oneChange":"Sprawdzanie zakończone: zmieniono jedno słowo","progress":"Trwa sprawdzanie...","title":"Sprawdź pisownię","toolbar":"Sprawdź pisownię"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/pl.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sv.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sv.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sv.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['sv']={"editor":"Rich Text-editor","editorPanel":"Panel till Rich Text-editor","common":{"editorHelp":"Tryck ALT 0 för hjälp","browseServer":"Bläddra på server","url":"URL","protocol":"Protokoll","upload":"Ladda upp","uploadSubmit":"Skicka till server","image":"Bild","flash":"Flash","form":"Formulär","checkbox":"Kryssruta","radio":"Alternativknapp","textField":"Textfält","textarea":"Textruta","hiddenField":"Dolt fält","button":"Knapp","select":"Flervalslista","imageButton":"Bildknapp","notSet":"<ej angivet>","id":"Id","name":"Namn","langDir":"Språkriktning","langDirLtr":"Vänster till Höger (VTH)","langDirRtl":"Höger till Vänster (HTV)","langCode":"Språkkod","longDescr":"URL-beskrivning","cssClass":"Stilmall","advisoryTitle":"Titel","cssStyle":"Stilmall","ok":"OK","cancel":"Avbryt","close":"Stäng","preview":"Förhandsgranska","resize":"Dra för att ändra storlek","generalTab":"Allmänt","advancedTab":"Avancerad","validateNumberFailed":"Värdet är inte ett nummer.","confirmNewPage":"Alla ändringar i innehållet kommer att förloras. Är du säker på att du vill ladda en ny sida?","confirmCancel":"Några av alternativen har ändrats. Är du säker på att du vill stänga dialogrutan?","options":"Alternativ","target":"Mål","targetNew":"Nytt fönster (_blank)","targetTop":"Översta fönstret (_top)","targetSelf":"Samma fönster (_self)","targetParent":"Föregående fönster (_parent)","langDirLTR":"Vänster till höger (LTR)","langDirRTL":"Höger till vänster (RTL)","styles":"Stil","cssClasses":"Stilmallar","width":"Bredd","height":"Höjd","align":"Justering","left":"Vänster","right":"Höger","center":"Centrerad","justify":"Justera till marginaler","alignLeft":"Vänsterjustera","alignRight":"Högerjustera","alignCenter":"Align Center","alignTop":"Överkant","alignMiddle":"Mitten","alignBottom":"Nederkant","alignNone":"Ingen","invalidValue":"Felaktigt värde.","invalidHeight":"Höjd måste vara ett nummer.","invalidWidth":"Bredd måste vara ett nummer.","invalidLength":"Värdet för fältet \"%1\" måste vara ett positivt nummer med eller utan en giltig mätenhet (%2).","invalidCssLength":"Värdet för fältet \"%1\" måste vara ett positivt nummer med eller utan CSS-mätenheter (px, %, in, cm, mm, em, ex, pt, eller pc).","invalidHtmlLength":"Värdet för fältet \"%1\" måste vara ett positivt nummer med eller utan godkända HTML-mätenheter (px eller %).","invalidInlineStyle":"Det angivna värdet för style måste innehålla en eller flera tupler separerade med semikolon i följande format: \"name : value\"","cssLengthTooltip":"Ange ett nummer i pixlar eller ett nummer men godkänd CSS-mätenhet (px, %, in, cm, mm, em, ex, pt, eller pc).","unavailable":"%1<span class=\"cke_accessibility\">, Ej tillgänglig</span>","keyboard":{"8":"Backsteg","13":"Retur","16":"Skift","17":"Ctrl","18":"Alt","32":"Mellanslag","35":"Slut","36":"Hem","46":"Radera","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Kommando"},"keyboardShortcut":"Kortkommando","optionDefault":"Standard"},"about":{"copy":"Copyright &copy; $1. Alla rättigheter reserverade.","dlgTitle":"Om CKEditor 4","moreInfo":"För information om licensiering besök vår hemsida:"},"basicstyles":{"bold":"Fet","italic":"Kursiv","strike":"Genomstruken","subscript":"Nedsänkta tecken","superscript":"Upphöjda tecken","underline":"Understruken"},"bidi":{"ltr":"Text riktning från vänster till höger","rtl":"Text riktning från höger till vänster"},"blockquote":{"toolbar":"Blockcitat"},"notification":{"closed":"Notifiering stängd."},"button":{"selectedLabel":"%1 (Vald)"},"toolbar":{"toolbarCollapse":"Dölj verktygsfält","toolbarExpand":"Visa verktygsfält","toolbarGroups":{"document":"Dokument","clipboard":"Urklipp/ångra","editing":"Redigering","forms":"Formulär","basicstyles":"Basstilar","paragraph":"Paragraf","links":"Länkar","insert":"Infoga","styles":"Stilar","colors":"Färger","tools":"Verktyg"},"toolbars":"Editorns verktygsfält"},"clipboard":{"copy":"Kopiera","copyError":"Säkerhetsinställningar i din webbläsare tillåter inte åtgärden kopiera. Använd (Ctrl/Cmd+C) istället.","cut":"Klipp ut","cutError":"Säkerhetsinställningar i din webbläsare tillåter inte åtgärden klipp ut. Använd (Ctrl/Cmd+X) istället.","paste":"Klistra in","pasteNotification":"Tryck på %1 för att klistra in. Din webbläsare stödjer inte inklistring via verktygsfältet eller snabbmenyn.","pasteArea":"Inklistringsområde","pasteMsg":"Klistra in ditt innehåll i området nedan och tryck på OK.","title":"Klistra in"},"colorbutton":{"auto":"Automatisk","bgColorTitle":"Bakgrundsfärg","colors":{"000":"Svart","800000":"Rödbrun","8B4513":"Mörkbrun","2F4F4F":"Skiffergrå","008080":"Kricka","000080":"Marinblå","4B0082":"Indigo","696969":"Mörkgrå","B22222":"Tegelsten","A52A2A":"Brun","DAA520":"Mörk guld","006400":"Mörkgrön","40E0D0":"Turkos","0000CD":"Medium blå","800080":"Lila","808080":"Grå","F00":"Röd","FF8C00":"Mörkorange","FFD700":"Guld","008000":"Grön","0FF":"Turkos","00F":"Blå","EE82EE":"Violett","A9A9A9":"Matt grå","FFA07A":"Laxrosa","FFA500":"Orange","FFFF00":"Gul","00FF00":"Lime","AFEEEE":"Ljusturkos","ADD8E6":"Ljusblå","DDA0DD":"Plommon","D3D3D3":"Ljusgrå","FFF0F5":"Ljus lavendel","FAEBD7":"Antikvit","FFFFE0":"Ljusgul","F0FFF0":"Honungsdagg","F0FFFF":"Azurblå","F0F8FF":"Aliceblå","E6E6FA":"Lavendel","FFF":"Vit","1ABC9C":"Stark turkos","2ECC71":"Smaragd","3498DB":"Klarblå","9B59B6":"Ametist","4E5F70":"Gråblå","F1C40F":"Klargul","16A085":"Mörk turkos","27AE60":"Mörk smaragd","2980B9":"Stark blå","8E44AD":"Mörk violett","2C3E50":"Blek blå","F39C12":"Orange","E67E22":"Morot","E74C3C":"Blekröd","ECF0F1":"Stark silver","95A5A6":"Ljus gråaktig turkos","DDD":"Ljusgrå","D35400":"Pumpa","C0392B":"Stark röd","BDC3C7":"Silver","7F8C8D":"Gråaktig turkos","999":"Mörkgrå"},"more":"Fler färger...","panelTitle":"Färger","textColorTitle":"Textfärg"},"colordialog":{"clear":"Rensa","highlight":"Markera","options":"Färgalternativ","selected":"Vald färg","title":"Välj färg"},"templates":{"button":"Sidmallar","emptyListMsg":"(Ingen mall är vald)","insertOption":"Ersätt aktuellt innehåll","options":"Inställningar för mall","selectPromptMsg":"Var god välj en mall att använda med editorn<br>(allt nuvarande innehåll raderas):","title":"Sidmallar"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Kopiera formatering","notification":{"copied":"Formatering kopierad","applied":"Formatering applicerad","canceled":"Formatering avbruten","failed":"Formatering misslyckades. Du kan inte applicera stilar utan att kopiera dem först."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Rådgivande titel","cssClassInputLabel":"Stilmallar","edit":"Redigera Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Vänster till höger (LTR)","langDirLabel":"Språkriktning","langDirRTLLabel":"Höger till vänster (RTL)","languageCodeInputLabel":" Språkkod","remove":"Ta bort Div","styleSelectLabel":"Stil","title":"Skapa Div container","toolbar":"Skapa Div container"},"elementspath":{"eleLabel":"Elementets sökväg","eleTitle":"%1 element"},"filetools":{"loadError":"Fel uppstod vid filläsning","networkError":"Nätverksfel uppstod vid filuppladdning.","httpError404":"HTTP-fel uppstod vid filuppladdning (404: Fil hittades inte).","httpError403":"HTTP-fel uppstod vid filuppladdning (403: Förbjuden).","httpError":"HTTP-fel uppstod vid filuppladdning (felstatus: %1).","noUrlError":"URL för uppladdning inte definierad.","responseError":"Felaktigt serversvar."},"find":{"find":"Sök","findOptions":"Sökalternativ","findWhat":"Sök efter:","matchCase":"Skiftläge","matchCyclic":"Matcha cykliska","matchWord":"Inkludera hela ord","notFoundMsg":"Angiven text kunde ej hittas.","replace":"Ersätt","replaceAll":"Ersätt alla","replaceSuccessMsg":"%1 förekomst(er) ersatta.","replaceWith":"Ersätt med:","title":"Sök och ersätt"},"fakeobjects":{"anchor":"Ankare","flash":"Flashanimation","hiddenfield":"Gömt fält","iframe":"iFrame","unknown":"Okänt objekt"},"flash":{"access":"Script-tillgång","accessAlways":"Alltid","accessNever":"Aldrig","accessSameDomain":"Samma domän","alignAbsBottom":"Absolut nederkant","alignAbsMiddle":"Absolut centrering","alignBaseline":"Baslinje","alignTextTop":"Text överkant","bgcolor":"Bakgrundsfärg","chkFull":"Tillåt helskärm","chkLoop":"Upprepa/Loopa","chkMenu":"Aktivera Flashmeny","chkPlay":"Automatisk uppspelning","flashvars":"Variabler för Flash","hSpace":"Horis. marginal","properties":"Flashegenskaper","propertiesTab":"Egenskaper","quality":"Kvalitet","qualityAutoHigh":"Auto Hög","qualityAutoLow":"Auto Låg","qualityBest":"Bäst","qualityHigh":"Hög","qualityLow":"Låg","qualityMedium":"Medium","scale":"Skala","scaleAll":"Visa allt","scaleFit":"Exakt passning","scaleNoBorder":"Ingen ram","title":"Flashegenskaper","vSpace":"Vert. marginal","validateHSpace":"HSpace måste vara ett nummer.","validateSrc":"Var god ange länkens URL","validateVSpace":"VSpace måste vara ett nummer.","windowMode":"Fönsterläge","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Fönster"},"font":{"fontSize":{"label":"Storlek","voiceLabel":"Teckenstorlek","panelTitle":"Teckenstorlek"},"label":"Typsnitt","panelTitle":"Typsnitt","voiceLabel":"Typsnitt"},"forms":{"button":{"title":"Egenskaper för knapp","text":"Text (värde)","type":"Typ","typeBtn":"Knapp","typeSbm":"Skicka","typeRst":"Återställ"},"checkboxAndRadio":{"checkboxTitle":"Egenskaper för kryssruta","radioTitle":"Egenskaper för alternativknapp","value":"Värde","selected":"Vald","required":"Krävs"},"form":{"title":"Egenskaper för formulär","menu":"Egenskaper för formulär","action":"Funktion","method":"Metod","encoding":"Kodning"},"hidden":{"title":"Egenskaper för dolt fält","name":"Namn","value":"Värde"},"select":{"title":"Egenskaper för flervalslista","selectInfo":"Information","opAvail":"Befintliga val","value":"Värde","size":"Storlek","lines":"Linjer","chkMulti":"Tillåt flerval","required":"Krävs","opText":"Text","opValue":"Värde","btnAdd":"Lägg till","btnModify":"Redigera","btnUp":"Upp","btnDown":"Ner","btnSetValue":"Markera som valt värde","btnDelete":"Radera"},"textarea":{"title":"Egenskaper för textruta","cols":"Kolumner","rows":"Rader"},"textfield":{"title":"Egenskaper för textfält","name":"Namn","value":"Värde","charWidth":"Teckenbredd","maxChars":"Max antal tecken","required":"Krävs","type":"Typ","typeText":"Text","typePass":"Lösenord","typeEmail":"E-post","typeSearch":"Sök","typeTel":"Telefonnummer","typeUrl":"URL"}},"format":{"label":"Teckenformat","panelTitle":"Teckenformat","tag_address":"Adress","tag_div":"Normal (DIV)","tag_h1":"Rubrik 1","tag_h2":"Rubrik 2","tag_h3":"Rubrik 3","tag_h4":"Rubrik 4","tag_h5":"Rubrik 5","tag_h6":"Rubrik 6","tag_p":"Normal","tag_pre":"Formaterad"},"horizontalrule":{"toolbar":"Infoga horisontal linje"},"iframe":{"border":"Visa ramkant","noUrl":"Skriv in URL för iFrame","scrolling":"Aktivera rullningslister","title":"iFrame-egenskaper","toolbar":"iFrame"},"image":{"alt":"Alternativ text","border":"Kant","btnUpload":"Skicka till server","button2Img":"Vill du omvandla den valda bildknappen på en enkel bild?","hSpace":"Horis. marginal","img2Button":"Vill du omvandla den valda bildknappen på en enkel bild?","infoTab":"Bildinformation","linkTab":"Länk","lockRatio":"Lås höjd/bredd förhållanden","menu":"Bildegenskaper","resetSize":"Återställ storlek","title":"Bildegenskaper","titleButton":"Egenskaper för bildknapp","upload":"Ladda upp","urlMissing":"Bildkällans URL saknas.","vSpace":"Vert. marginal","validateBorder":"Kantlinje måste vara ett heltal.","validateHSpace":"HSpace måste vara ett heltal.","validateVSpace":"VSpace måste vara ett heltal."},"indent":{"indent":"Öka indrag","outdent":"Minska indrag"},"smiley":{"options":"Smileyinställningar","title":"Infoga smiley","toolbar":"Smiley"},"language":{"button":"Sätt språk","remove":"Ta bort språk"},"link":{"acccessKey":"Behörighetsnyckel","advanced":"Avancerad","advisoryContentType":"Innehållstyp","advisoryTitle":"Titel","anchor":{"toolbar":"Infoga/Redigera ankarlänk","menu":"Egenskaper för ankarlänk","title":"Egenskaper för ankarlänk","name":"Ankarnamn","errorName":"Var god ange ett ankarnamn","remove":"Radera ankare"},"anchorId":"Efter element-id","anchorName":"Efter ankarnamn","charset":"Teckenuppställning","cssClasses":"Stilmall","download":"Tvinga nerladdning","displayText":"Visningstext","emailAddress":"E-postadress","emailBody":"Innehåll","emailSubject":"Ämne","id":"Id","info":"Länkinformation","langCode":"Språkkod","langDir":"Språkriktning","langDirLTR":"Vänster till höger (VTH)","langDirRTL":"Höger till vänster (HTV)","menu":"Redigera länk","name":"Namn","noAnchors":"(Inga ankare kunde hittas)","noEmail":"Var god ange e-postadress","noUrl":"Var god ange länkens URL","other":"<annan>","popupDependent":"Beroende (endast Netscape)","popupFeatures":"Popup-fönstrets egenskaper","popupFullScreen":"Helskärm (endast IE)","popupLeft":"Position från vänster","popupLocationBar":"Adressfält","popupMenuBar":"Menyfält","popupResizable":"Skalbart","popupScrollBars":"Scrolllista","popupStatusBar":"Statusfält","popupToolbar":"Verktygsfält","popupTop":"Position från sidans topp","rel":"Förhållande","selectAnchor":"Välj ett ankare","styles":"Stilmall","tabIndex":"Tabindex","target":"Mål","targetFrame":"<ram>","targetFrameName":"Målets ramnamn","targetPopup":"<popup-fönster>","targetPopupName":"Popup-fönstrets namn","title":"Länk","toAnchor":"Länk till ankare i texten","toEmail":"E-post","toUrl":"URL","toolbar":"Infoga/Redigera länk","type":"Länktyp","unlink":"Radera länk","upload":"Ladda upp"},"list":{"bulletedlist":"Infoga/ta bort punktlista","numberedlist":"Infoga/ta bort numrerad lista"},"liststyle":{"armenian":"Armenisk numrering","bulletedTitle":"Egenskaper för punktlista","circle":"Cirkel","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal nolla (01, 02, 03, etc.)","disc":"Disk","georgian":"Georgisk numrering (an, ban, gan, etc.)","lowerAlpha":"Alpha gemener (a, b, c, d, e, etc.)","lowerGreek":"Grekiska gemener (alpha, beta, gamma, etc.)","lowerRoman":"Romerska gemener (i, ii, iii, iv, v, etc.)","none":"Ingen","notset":"<ej angiven>","numberedTitle":"Egenskaper för punktlista","square":"Fyrkant","start":"Start","type":"Typ","upperAlpha":"Alpha versaler (A, B, C, D, E, etc.)","upperRoman":"Romerska versaler (I, II, III, IV, V, etc.)","validateStartNumber":"Listans startnummer måste vara ett heltal."},"magicline":{"title":"Infoga paragraf här"},"maximize":{"maximize":"Maximera","minimize":"Minimera"},"newpage":{"toolbar":"Ny sida"},"pagebreak":{"alt":"Sidbrytning","toolbar":"Infoga sidbrytning för utskrift"},"pastetext":{"button":"Klistra in som vanlig text","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Klistra in som vanlig text"},"pastefromword":{"confirmCleanup":"Texten du vill klistra in verkar vara kopierad från Word. Vill du rensa den innan du klistrar in den?","error":"Det var inte möjligt att städa upp den inklistrade data på grund av ett internt fel","title":"Klistra in från Word","toolbar":"Klistra in från Word"},"preview":{"preview":"Förhandsgranska"},"print":{"toolbar":"Skriv ut"},"removeformat":{"toolbar":"Radera formatering"},"save":{"toolbar":"Spara"},"selectall":{"toolbar":"Markera allt"},"showblocks":{"toolbar":"Visa block"},"sourcearea":{"toolbar":"Källa"},"specialchar":{"options":"Alternativ för utökade tecken","title":"Välj utökat tecken","toolbar":"Klistra in utökat tecken"},"scayt":{"btn_about":"Om SCAYT","btn_dictionaries":"Ordlistor","btn_disable":"Inaktivera SCAYT","btn_enable":"Aktivera SCAYT","btn_langs":"Språk","btn_options":"Inställningar","text_title":"Stavningskontroll medan du skriver"},"stylescombo":{"label":"Stilar","panelTitle":"Formateringsstilar","panelTitle1":"Blockstilar","panelTitle2":"Inbäddade stilar","panelTitle3":"Objektstilar"},"table":{"border":"Kantstorlek","caption":"Rubrik","cell":{"menu":"Cell","insertBefore":"Lägg till cell före","insertAfter":"Lägg till cell efter","deleteCell":"Radera celler","merge":"Sammanfoga celler","mergeRight":"Sammanfoga höger","mergeDown":"Sammanfoga ner","splitHorizontal":"Dela cell horisontellt","splitVertical":"Dela cell vertikalt","title":"Egenskaper för cell","cellType":"Celltyp","rowSpan":"Rad spann","colSpan":"Kolumnen spann","wordWrap":"Radbrytning","hAlign":"Horisontell justering","vAlign":"Vertikal justering","alignBaseline":"Baslinje","bgColor":"Bakgrundsfärg","borderColor":"Ramfärg","data":"Data","header":"Rubrik","yes":"Ja","no":"Nej","invalidWidth":"Cellens bredd måste vara ett nummer.","invalidHeight":"Cellens höjd måste vara ett nummer.","invalidRowSpan":"Radutvidgning måste vara ett heltal.","invalidColSpan":"Kolumn måste vara ett heltal.","chooseColor":"Välj"},"cellPad":"Cellutfyllnad","cellSpace":"Cellavstånd","column":{"menu":"Kolumn","insertBefore":"Lägg till kolumn före","insertAfter":"Lägg till kolumn efter","deleteColumn":"Radera kolumn"},"columns":"Kolumner","deleteTable":"Radera tabell","headers":"Rubriker","headersBoth":"Båda","headersColumn":"Första kolumnen","headersNone":"Ingen","headersRow":"Första raden","invalidBorder":"Ram måste vara ett nummer.","invalidCellPadding":"Luft i cell måste vara ett nummer.","invalidCellSpacing":"Luft i cell måste vara ett nummer.","invalidCols":"Antal kolumner måste vara ett nummer större än 0.","invalidHeight":"Tabellens höjd måste vara ett nummer.","invalidRows":"Antal rader måste vara större än 0.","invalidWidth":"Tabell måste vara ett nummer.","menu":"Tabellegenskaper","row":{"menu":"Rad","insertBefore":"Lägg till rad före","insertAfter":"Lägg till rad efter","deleteRow":"Radera rad"},"rows":"Rader","summary":"Sammanfattning","title":"Tabellegenskaper","toolbar":"Tabell","widthPc":"procent","widthPx":"pixlar","widthUnit":"enhet bredd"},"undo":{"redo":"Gör om","undo":"Ångra"},"widget":{"move":"Klicka och drag för att flytta","label":"%1-widget"},"uploadwidget":{"abort":"Uppladdning avbruten av användaren.","doneOne":"Filuppladdning lyckades.","doneMany":"Uppladdning av %1 filer lyckades.","uploadOne":"Laddar upp fil ({percentage}%)...","uploadMany":"Laddar upp filer, {current} av {max} färdiga ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorera","btnIgnoreAll":"Ignorera alla","btnReplace":"Ersätt","btnReplaceAll":"Ersätt alla","btnUndo":"Ångra","changeTo":"Ändra till","errorLoading":"Tjänsten är ej tillgänglig: %s.","ieSpellDownload":"Stavningskontrollen är ej installerad. Vill du göra det nu?","manyChanges":"Stavningskontroll slutförd: %1 ord rättades.","noChanges":"Stavningskontroll slutförd: Inga ord rättades.","noMispell":"Stavningskontroll slutförd: Inga stavfel påträffades.","noSuggestions":"- Förslag saknas -","notAvailable":"Tyvärr är tjänsten ej tillgänglig nu","notInDic":"Saknas i ordlistan","oneChange":"Stavningskontroll slutförd: Ett ord rättades.","progress":"Stavningskontroll pågår...","title":"Kontrollera stavning","toolbar":"Stavningskontroll"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sv.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ru.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ru.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ru.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['ru']={"editor":"Визуальный текстовый редактор","editorPanel":"Визуальный редактор текста","common":{"editorHelp":"Нажмите ALT-0 для открытия справки","browseServer":"Выбор на сервере","url":"Ссылка","protocol":"Протокол","upload":"Загрузка файла","uploadSubmit":"Загрузить на сервер","image":"Изображение","flash":"Flash","form":"Форма","checkbox":"Чекбокс","radio":"Радиокнопка","textField":"Текстовое поле","textarea":"Многострочное текстовое поле","hiddenField":"Скрытое поле","button":"Кнопка","select":"Выпадающий список","imageButton":"Кнопка-изображение","notSet":"<не указано>","id":"Идентификатор","name":"Имя","langDir":"Направление текста","langDirLtr":"Слева направо (LTR)","langDirRtl":"Справа налево (RTL)","langCode":"Код языка","longDescr":"Длинное описание ссылки","cssClass":"Класс CSS","advisoryTitle":"Заголовок","cssStyle":"Стиль","ok":"ОК","cancel":"Отмена","close":"Закрыть","preview":"Предпросмотр","resize":"Перетащите для изменения размера","generalTab":"Основное","advancedTab":"Дополнительно","validateNumberFailed":"Это значение не является числом.","confirmNewPage":"Несохранённые изменения будут потеряны! Вы действительно желаете перейти на другую страницу?","confirmCancel":"Некоторые параметры были изменены. Вы уверены, что желаете закрыть без сохранения?","options":"Параметры","target":"Цель","targetNew":"Новое окно (_blank)","targetTop":"Главное окно (_top)","targetSelf":"Текущее окно (_self)","targetParent":"Родительское окно (_parent)","langDirLTR":"Слева направо (LTR)","langDirRTL":"Справа налево (RTL)","styles":"Стиль","cssClasses":"CSS классы","width":"Ширина","height":"Высота","align":"Выравнивание","left":"По левому краю","right":"По правому краю","center":"По центру","justify":"По ширине","alignLeft":"По левому краю","alignRight":"По правому краю","alignCenter":"Align Center","alignTop":"Поверху","alignMiddle":"Посередине","alignBottom":"Понизу","alignNone":"Нет","invalidValue":"Недопустимое значение.","invalidHeight":"Высота задается числом.","invalidWidth":"Ширина задается числом.","invalidLength":"Указанное значение для поля \"%1\" должно быть положительным числом без или с корректным символом единицы измерения (%2)","invalidCssLength":"Значение, указанное в поле \"%1\", должно быть положительным целым числом. Допускается указание единиц меры CSS (px, %, in, cm, mm, em, ex, pt или pc).","invalidHtmlLength":"Значение, указанное в поле \"%1\", должно быть положительным целым числом. Допускается указание единиц меры HTML (px или %).","invalidInlineStyle":"Значение, указанное для стиля элемента, должно состоять из одной или нескольких пар данных в формате \"параметр : значение\", разделённых точкой с запятой.","cssLengthTooltip":"Введите значение в пикселях, либо число с корректной единицей меры CSS (px, %, in, cm, mm, em, ex, pt или pc).","unavailable":"%1<span class=\"cke_accessibility\">, недоступно</span>","keyboard":{"8":"Backspace","13":"Ввод","16":"Shift","17":"Ctrl","18":"Alt","32":"Пробел","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Комбинация клавиш","optionDefault":"По умолчанию"},"about":{"copy":"Copyright &copy; $1. Все права защищены.","dlgTitle":"О CKEditor 4","moreInfo":"Для получения информации о лицензии, пожалуйста, перейдите на наш сайт:"},"basicstyles":{"bold":"Полужирный","italic":"Курсив","strike":"Зачеркнутый","subscript":"Подстрочный индекс","superscript":"Надстрочный индекс","underline":"Подчеркнутый"},"bidi":{"ltr":"Направление текста слева направо","rtl":"Направление текста справа налево"},"blockquote":{"toolbar":"Цитата"},"notification":{"closed":"Уведомление закрыто"},"button":{"selectedLabel":"%1 (Выбрано)"},"toolbar":{"toolbarCollapse":"Свернуть панель инструментов","toolbarExpand":"Развернуть панель инструментов","toolbarGroups":{"document":"Документ","clipboard":"Буфер обмена / Отмена действий","editing":"Корректировка","forms":"Формы","basicstyles":"Простые стили","paragraph":"Абзац","links":"Ссылки","insert":"Вставка","styles":"Стили","colors":"Цвета","tools":"Инструменты"},"toolbars":"Панели инструментов редактора"},"clipboard":{"copy":"Копировать","copyError":"Настройки безопасности вашего браузера не разрешают редактору выполнять операции по копированию текста. Пожалуйста, используйте для этого клавиатуру (Ctrl/Cmd+C).","cut":"Вырезать","cutError":"Настройки безопасности вашего браузера не разрешают редактору выполнять операции по вырезке текста. Пожалуйста, используйте для этого клавиатуру (Ctrl/Cmd+X).","paste":"Вставить","pasteNotification":"Для вставки нажмите %1. Ваш браузер не поддерживает возможность вставки через панель инструментов или контекстное меню","pasteArea":"Область вставки","pasteMsg":"Вставьте контент в эту область и нажмите OK","title":"Вставить"},"colorbutton":{"auto":"Автоматически","bgColorTitle":"Цвет фона","colors":{"000":"Чёрный","800000":"Бордовый","8B4513":"Кожано-коричневый","2F4F4F":"Темный синевато-серый","008080":"Сине-зелёный","000080":"Тёмно-синий","4B0082":"Индиго","696969":"Тёмно-серый","B22222":"Кирпичный","A52A2A":"Коричневый","DAA520":"Золотисто-берёзовый","006400":"Темно-зелёный","40E0D0":"Бирюзовый","0000CD":"Умеренно синий","800080":"Пурпурный","808080":"Серый","F00":"Красный","FF8C00":"Темно-оранжевый","FFD700":"Золотистый","008000":"Зелёный","0FF":"Васильковый","00F":"Синий","EE82EE":"Фиолетовый","A9A9A9":"Тускло-серый","FFA07A":"Светло-лососевый","FFA500":"Оранжевый","FFFF00":"Жёлтый","00FF00":"Лайма","AFEEEE":"Бледно-синий","ADD8E6":"Свелто-голубой","DDA0DD":"Сливовый","D3D3D3":"Светло-серый","FFF0F5":"Розово-лавандовый","FAEBD7":"Античный белый","FFFFE0":"Светло-жёлтый","F0FFF0":"Медвяной росы","F0FFFF":"Лазурный","F0F8FF":"Бледно-голубой","E6E6FA":"Лавандовый","FFF":"Белый","1ABC9C":"Strong Cyan","2ECC71":"Изумрудный","3498DB":"Светло-синий","9B59B6":"Аметист","4E5F70":"Сине-серый","F1C40F":"Ярко-желтый","16A085":"Dark Cyan","27AE60":"Тёмно-изумрудный","2980B9":"Strong Blue","8E44AD":"Тёмно-фиолетовый","2C3E50":"Desaturated Blue","F39C12":"Оранжевый","E67E22":"Морковный","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Светло-серый","D35400":"Цвет тыквы","C0392B":"Strong Red","BDC3C7":"Серебристый","7F8C8D":"Grayish Cyan","999":"Тёмно-серый"},"more":"Ещё цвета...","panelTitle":"Цвета","textColorTitle":"Цвет текста"},"colordialog":{"clear":"Очистить","highlight":"Под курсором","options":"Настройки цвета","selected":"Выбранный цвет","title":"Выберите цвет"},"templates":{"button":"Шаблоны","emptyListMsg":"(не определено ни одного шаблона)","insertOption":"Заменить текущее содержимое","options":"Параметры шаблона","selectPromptMsg":"Пожалуйста, выберите, какой шаблон следует открыть в редакторе","title":"Шаблоны содержимого"},"contextmenu":{"options":"Параметры контекстного меню"},"copyformatting":{"label":"Копировать форматирование","notification":{"copied":"Форматирование скопировано","applied":"Форматирование применено","canceled":"Форматирование отменен","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Идентификатор","advisoryTitleInputLabel":"Заголовок","cssClassInputLabel":"Классы CSS","edit":"Редактировать контейнер","inlineStyleInputLabel":"Стиль элемента","langDirLTRLabel":"Слева направо (LTR)","langDirLabel":"Направление текста","langDirRTLLabel":"Справа налево (RTL)","languageCodeInputLabel":"Код языка","remove":"Удалить контейнер","styleSelectLabel":"Стиль","title":"Создать Div-контейнер","toolbar":"Создать Div-контейнер"},"elementspath":{"eleLabel":"Путь элементов","eleTitle":"Элемент %1"},"filetools":{"loadError":"Ошибка при чтении файла","networkError":"Сетевая ошибка при загрузке файла","httpError404":"HTTP ошибка при загрузке файла (404: Файл не найден)","httpError403":"HTTP ошибка при загрузке файла (403: Запрещено)","httpError":"HTTP ошибка при загрузке файла (%1)","noUrlError":"Не определен URL для загрузки файлов","responseError":"Некорректный ответ сервера"},"find":{"find":"Найти","findOptions":"Опции поиска","findWhat":"Найти:","matchCase":"Учитывать регистр","matchCyclic":"По всему тексту","matchWord":"Только слово целиком","notFoundMsg":"Искомый текст не найден.","replace":"Заменить","replaceAll":"Заменить всё","replaceSuccessMsg":"Успешно заменено %1 раз(а).","replaceWith":"Заменить на:","title":"Поиск и замена"},"fakeobjects":{"anchor":"Якорь","flash":"Flash анимация","hiddenfield":"Скрытое поле","iframe":"iFrame","unknown":"Неизвестный объект"},"flash":{"access":"Доступ к скриптам","accessAlways":"Всегда","accessNever":"Никогда","accessSameDomain":"В том же домене","alignAbsBottom":"По низу текста","alignAbsMiddle":"По середине текста","alignBaseline":"По базовой линии","alignTextTop":"По верху текста","bgcolor":"Цвет фона","chkFull":"Разрешить полноэкранный режим","chkLoop":"Повторять","chkMenu":"Включить меню Flash","chkPlay":"Автоматическое воспроизведение","flashvars":"Переменные для Flash","hSpace":"Гориз. отступ","properties":"Свойства Flash","propertiesTab":"Свойства","quality":"Качество","qualityAutoHigh":"Запуск на высоком","qualityAutoLow":"Запуск на низком","qualityBest":"Лучшее","qualityHigh":"Высокое","qualityLow":"Низкое","qualityMedium":"Среднее","scale":"Масштабировать","scaleAll":"Пропорционально","scaleFit":"Заполнять","scaleNoBorder":"Заходить за границы","title":"Свойства Flash","vSpace":"Вертик. отступ","validateHSpace":"Горизонтальный отступ задается числом.","validateSrc":"Вы должны ввести ссылку","validateVSpace":"Вертикальный отступ задается числом.","windowMode":"Взаимодействие с окном","windowModeOpaque":"Непрозрачный","windowModeTransparent":"Прозрачный","windowModeWindow":"Обычный"},"font":{"fontSize":{"label":"Размер","voiceLabel":"Размер шрифта","panelTitle":"Размер шрифта"},"label":"Шрифт","panelTitle":"Шрифт","voiceLabel":"Шрифт"},"forms":{"button":{"title":"Свойства кнопки","text":"Текст (Значение)","type":"Тип","typeBtn":"Кнопка","typeSbm":"Отправка","typeRst":"Сброс"},"checkboxAndRadio":{"checkboxTitle":"Свойства флаговой кнопки","radioTitle":"Свойства кнопки выбора","value":"Значение","selected":"Выбрано","required":"Обязательное поле"},"form":{"title":"Свойства формы","menu":"Свойства формы","action":"Действие","method":"Метод","encoding":"Кодировка"},"hidden":{"title":"Свойства скрытого поля","name":"Имя","value":"Значение"},"select":{"title":"Свойства списка выбора","selectInfo":"Информация о списке выбора","opAvail":"Доступные варианты","value":"Значение","size":"Размер","lines":"строк(и)","chkMulti":"Разрешить выбор нескольких вариантов","required":"Обязательное поле","opText":"Текст","opValue":"Значение","btnAdd":"Добавить","btnModify":"Изменить","btnUp":"Поднять","btnDown":"Опустить","btnSetValue":"Пометить как выбранное","btnDelete":"Удалить"},"textarea":{"title":"Свойства многострочного текстового поля","cols":"Колонок","rows":"Строк"},"textfield":{"title":"Свойства текстового поля","name":"Имя","value":"Значение","charWidth":"Ширина поля (в символах)","maxChars":"Макс. количество символов","required":"Обязательное поле","type":"Тип содержимого","typeText":"Текст","typePass":"Пароль","typeEmail":"Email","typeSearch":"Поиск","typeTel":"Номер телефона","typeUrl":"Ссылка"}},"format":{"label":"Форматирование","panelTitle":"Форматирование","tag_address":"Адрес","tag_div":"Обычное (div)","tag_h1":"Заголовок 1","tag_h2":"Заголовок 2","tag_h3":"Заголовок 3","tag_h4":"Заголовок 4","tag_h5":"Заголовок 5","tag_h6":"Заголовок 6","tag_p":"Обычное","tag_pre":"Моноширинное"},"horizontalrule":{"toolbar":"Вставить горизонтальную линию"},"iframe":{"border":"Показать границы фрейма","noUrl":"Пожалуйста, введите ссылку фрейма","scrolling":"Отображать полосы прокрутки","title":"Свойства iFrame","toolbar":"iFrame"},"image":{"alt":"Альтернативный текст","border":"Граница","btnUpload":"Загрузить на сервер","button2Img":"Вы желаете преобразовать это изображение-кнопку в обычное изображение?","hSpace":"Гориз. отступ","img2Button":"Вы желаете преобразовать это обычное изображение в изображение-кнопку?","infoTab":"Данные об изображении","linkTab":"Ссылка","lockRatio":"Сохранять пропорции","menu":"Свойства изображения","resetSize":"Вернуть обычные размеры","title":"Свойства изображения","titleButton":"Свойства изображения-кнопки","upload":"Загрузить","urlMissing":"Не указана ссылка на изображение.","vSpace":"Вертик. отступ","validateBorder":"Размер границ должен быть задан числом.","validateHSpace":"Горизонтальный отступ должен быть задан числом.","validateVSpace":"Вертикальный отступ должен быть задан числом."},"indent":{"indent":"Увеличить отступ","outdent":"Уменьшить отступ"},"smiley":{"options":"Выбор смайла","title":"Вставить смайл","toolbar":"Смайлы"},"language":{"button":"Установка языка","remove":"Удалить язык"},"link":{"acccessKey":"Клавиша доступа","advanced":"Дополнительно","advisoryContentType":"Тип содержимого","advisoryTitle":"Заголовок","anchor":{"toolbar":"Вставить / редактировать якорь","menu":"Изменить якорь","title":"Свойства якоря","name":"Имя якоря","errorName":"Пожалуйста, введите имя якоря","remove":"Удалить якорь"},"anchorId":"По идентификатору","anchorName":"По имени","charset":"Кодировка ресурса","cssClasses":"Классы CSS","download":"Скачать как файл","displayText":"Отображаемый текст","emailAddress":"Email адрес","emailBody":"Текст сообщения","emailSubject":"Тема сообщения","id":"Идентификатор","info":"Информация о ссылке","langCode":"Код языка","langDir":"Направление текста","langDirLTR":"Слева направо (LTR)","langDirRTL":"Справа налево (RTL)","menu":"Редактировать ссылку","name":"Имя","noAnchors":"(В документе нет ни одного якоря)","noEmail":"Пожалуйста, введите email адрес","noUrl":"Пожалуйста, введите ссылку","other":"<другой>","popupDependent":"Зависимое (Netscape)","popupFeatures":"Параметры всплывающего окна","popupFullScreen":"Полноэкранное (IE)","popupLeft":"Отступ слева","popupLocationBar":"Панель адреса","popupMenuBar":"Панель меню","popupResizable":"Изменяемый размер","popupScrollBars":"Полосы прокрутки","popupStatusBar":"Строка состояния","popupToolbar":"Панель инструментов","popupTop":"Отступ сверху","rel":"Отношение","selectAnchor":"Выберите якорь","styles":"Стиль","tabIndex":"Последовательность перехода","target":"Цель","targetFrame":"<фрейм>","targetFrameName":"Имя целевого фрейма","targetPopup":"<всплывающее окно>","targetPopupName":"Имя всплывающего окна","title":"Ссылка","toAnchor":"Ссылка на якорь в тексте","toEmail":"Email","toUrl":"Ссылка","toolbar":"Вставить/Редактировать ссылку","type":"Тип ссылки","unlink":"Убрать ссылку","upload":"Загрузка"},"list":{"bulletedlist":"Вставить / удалить маркированный список","numberedlist":"Вставить / удалить нумерованный список"},"liststyle":{"armenian":"Армянская нумерация","bulletedTitle":"Свойства маркированного списка","circle":"Круг","decimal":"Десятичные (1, 2, 3, и т.д.)","decimalLeadingZero":"Десятичные с ведущим нулём (01, 02, 03, и т.д.)","disc":"Окружность","georgian":"Грузинская нумерация (ани, бани, гани, и т.д.)","lowerAlpha":"Строчные латинские (a, b, c, d, e, и т.д.)","lowerGreek":"Строчные греческие (альфа, бета, гамма, и т.д.)","lowerRoman":"Строчные римские (i, ii, iii, iv, v, и т.д.)","none":"Нет","notset":"<не указано>","numberedTitle":"Свойства нумерованного списка","square":"Квадрат","start":"Начиная с","type":"Тип","upperAlpha":"Заглавные латинские (A, B, C, D, E, и т.д.)","upperRoman":"Заглавные римские (I, II, III, IV, V, и т.д.)","validateStartNumber":"Первый номер списка должен быть задан обычным целым числом."},"magicline":{"title":"Вставить здесь параграф"},"maximize":{"maximize":"Развернуть","minimize":"Свернуть"},"newpage":{"toolbar":"Новая страница"},"pagebreak":{"alt":"Разрыв страницы","toolbar":"Вставить разрыв страницы для печати"},"pastetext":{"button":"Вставить только текст","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Вставить только текст"},"pastefromword":{"confirmCleanup":"Текст, который вы желаете вставить, по всей видимости, был скопирован из Word. Следует ли очистить его перед вставкой?","error":"Невозможно очистить вставленные данные из-за внутренней ошибки","title":"Вставить из Word","toolbar":"Вставить из Word"},"preview":{"preview":"Предварительный просмотр"},"print":{"toolbar":"Печать"},"removeformat":{"toolbar":"Убрать форматирование"},"save":{"toolbar":"Сохранить"},"selectall":{"toolbar":"Выделить все"},"showblocks":{"toolbar":"Отображать блоки"},"sourcearea":{"toolbar":"Источник"},"specialchar":{"options":"Выбор специального символа","title":"Выберите специальный символ","toolbar":"Вставить специальный символ"},"scayt":{"btn_about":"О SCAYT","btn_dictionaries":"Словари","btn_disable":"Отключить SCAYT","btn_enable":"Включить SCAYT","btn_langs":"Языки","btn_options":"Настройки","text_title":"Проверка орфографии по мере ввода (SCAYT)"},"stylescombo":{"label":"Стили","panelTitle":"Стили форматирования","panelTitle1":"Стили блока","panelTitle2":"Стили элемента","panelTitle3":"Стили объекта"},"table":{"border":"Размер границ","caption":"Заголовок","cell":{"menu":"Ячейка","insertBefore":"Вставить ячейку слева","insertAfter":"Вставить ячейку справа","deleteCell":"Удалить ячейки","merge":"Объединить ячейки","mergeRight":"Объединить с правой","mergeDown":"Объединить с нижней","splitHorizontal":"Разделить ячейку по вертикали","splitVertical":"Разделить ячейку по горизонтали","title":"Свойства ячейки","cellType":"Тип ячейки","rowSpan":"Объединяет строк","colSpan":"Объединяет колонок","wordWrap":"Перенос по словам","hAlign":"Горизонтальное выравнивание","vAlign":"Вертикальное выравнивание","alignBaseline":"По базовой линии","bgColor":"Цвет фона","borderColor":"Цвет границ","data":"Данные","header":"Заголовок","yes":"Да","no":"Нет","invalidWidth":"Ширина ячейки должна быть числом.","invalidHeight":"Высота ячейки должна быть числом.","invalidRowSpan":"Количество объединяемых строк должно быть задано числом.","invalidColSpan":"Количество объединяемых колонок должно быть задано числом.","chooseColor":"Выберите"},"cellPad":"Внутренний отступ ячеек","cellSpace":"Внешний отступ ячеек","column":{"menu":"Колонка","insertBefore":"Вставить колонку слева","insertAfter":"Вставить колонку справа","deleteColumn":"Удалить колонки"},"columns":"Колонки","deleteTable":"Удалить таблицу","headers":"Заголовки","headersBoth":"Сверху и слева","headersColumn":"Левая колонка","headersNone":"Без заголовков","headersRow":"Верхняя строка","invalidBorder":"Размер границ должен быть числом.","invalidCellPadding":"Внутренний отступ ячеек (cellpadding) должен быть числом.","invalidCellSpacing":"Внешний отступ ячеек (cellspacing) должен быть числом.","invalidCols":"Количество столбцов должно быть больше 0.","invalidHeight":"Высота таблицы должна быть числом.","invalidRows":"Количество строк должно быть больше 0.","invalidWidth":"Ширина таблицы должна быть числом.","menu":"Свойства таблицы","row":{"menu":"Строка","insertBefore":"Вставить строку сверху","insertAfter":"Вставить строку снизу","deleteRow":"Удалить строки"},"rows":"Строки","summary":"Итоги","title":"Свойства таблицы","toolbar":"Таблица","widthPc":"процентов","widthPx":"пикселей","widthUnit":"единица измерения"},"undo":{"redo":"Повторить","undo":"Отменить"},"widget":{"move":"Нажмите и перетащите, чтобы переместить","label":"%1 виджет"},"uploadwidget":{"abort":"Загрузка отменена пользователем","doneOne":"Файл успешно загружен","doneMany":"Успешно загружено файлов: %1","uploadOne":"Загрузка файла ({percentage}%)","uploadMany":"Загрузка файлов, {current} из {max} загружено ({percentage}%)..."},"wsc":{"btnIgnore":"Пропустить","btnIgnoreAll":"Пропустить всё","btnReplace":"Заменить","btnReplaceAll":"Заменить всё","btnUndo":"Отменить","changeTo":"Изменить на","errorLoading":"Произошла ошибка при подключении к серверу проверки орфографии: %s.","ieSpellDownload":"Модуль проверки орфографии не установлен. Хотите скачать его?","manyChanges":"Проверка орфографии завершена. Изменено слов: %1","noChanges":"Проверка орфографии завершена. Не изменено ни одного слова","noMispell":"Проверка орфографии завершена. Ошибок не найдено","noSuggestions":"- Варианты отсутствуют -","notAvailable":"Извините, но в данный момент сервис недоступен.","notInDic":"Отсутствует в словаре","oneChange":"Проверка орфографии завершена. Изменено одно слово","progress":"Орфография проверяется...","title":"Проверка орфографии","toolbar":"Проверить орфографию"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ru.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/el.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/el.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/el.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['el']={"editor":"Επεξεργαστής Πλούσιου Κειμένου","editorPanel":"Πίνακας Επεξεργαστή Πλούσιου Κειμένου","common":{"editorHelp":"Πατήστε το ALT 0 για βοήθεια","browseServer":"Εξερεύνηση Διακομιστή","url":"URL","protocol":"Πρωτόκολλο","upload":"Αποστολή","uploadSubmit":"Αποστολή στον Διακομιστή","image":"Εικόνα","flash":"Flash","form":"Φόρμα","checkbox":"Κουτί Επιλογής","radio":"Κουμπί Επιλογής","textField":"Πεδίο Κειμένου","textarea":"Περιοχή Κειμένου","hiddenField":"Κρυφό Πεδίο","button":"Κουμπί","select":"Πεδίο Επιλογής","imageButton":"Κουμπί Εικόνας","notSet":"<δεν έχει ρυθμιστεί>","id":"Id","name":"Όνομα","langDir":"Κατεύθυνση Κειμένου","langDirLtr":"Αριστερά προς Δεξιά (LTR)","langDirRtl":"Δεξιά προς Αριστερά (RTL)","langCode":"Κωδικός Γλώσσας","longDescr":"Αναλυτική Περιγραφή URL","cssClass":"Κλάσεις Φύλλων Στυλ","advisoryTitle":"Ενδεικτικός Τίτλος","cssStyle":"Μορφή Κειμένου","ok":"OK","cancel":"Ακύρωση","close":"Κλείσιμο","preview":"Προεπισκόπηση","resize":"Αλλαγή Μεγέθους","generalTab":"Γενικά","advancedTab":"Για Προχωρημένους","validateNumberFailed":"Αυτή η τιμή δεν είναι αριθμός.","confirmNewPage":"Οι όποιες αλλαγές στο περιεχόμενο θα χαθούν. Είσαστε σίγουροι ότι θέλετε να φορτώσετε μια νέα σελίδα;","confirmCancel":"Μερικές επιλογές έχουν αλλάξει. Είσαστε σίγουροι ότι θέλετε να κλείσετε το παράθυρο διαλόγου;","options":"Επιλογές","target":"Προορισμός","targetNew":"Νέο Παράθυρο (_blank)","targetTop":"Αρχική Περιοχή (_top)","targetSelf":"Ίδιο Παράθυρο (_self)","targetParent":"Γονεϊκό Παράθυρο (_parent)","langDirLTR":"Αριστερά προς Δεξιά (LTR)","langDirRTL":"Δεξιά προς Αριστερά (RTL)","styles":"Μορφή","cssClasses":"Κλάσεις Φύλλων Στυλ","width":"Πλάτος","height":"Ύψος","align":"Στοίχιση","left":"Αριστερά","right":"Δεξιά","center":"Κέντρο","justify":"Πλήρης Στοίχιση","alignLeft":"Στοίχιση Αριστερά","alignRight":"Στοίχιση Δεξιά","alignCenter":"Align Center","alignTop":"Πάνω","alignMiddle":"Μέση","alignBottom":"Κάτω","alignNone":"Χωρίς","invalidValue":"Μη έγκυρη τιμή.","invalidHeight":"Το ύψος πρέπει να είναι ένας αριθμός.","invalidWidth":"Το πλάτος πρέπει να είναι ένας αριθμός.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Η τιμή που ορίζεται για το πεδίο \"%1\" πρέπει να είναι ένας θετικός αριθμός με ή χωρίς μια έγκυρη μονάδα μέτρησης CSS (px, %, in, cm, mm, em, ex, pt, ή pc).","invalidHtmlLength":"Η τιμή που ορίζεται για το πεδίο \"%1\" πρέπει να είναι ένας θετικός αριθμός με ή χωρίς μια έγκυρη μονάδα μέτρησης HTML (px ή %).","invalidInlineStyle":"Η τιμή για το εν σειρά στυλ πρέπει να περιέχει ένα ή περισσότερα ζεύγη με την μορφή \"όνομα: τιμή\" διαχωρισμένα με Ελληνικό ερωτηματικό.","cssLengthTooltip":"Εισάγεται μια τιμή σε pixel ή έναν αριθμό μαζί με μια έγκυρη μονάδα μέτρησης CSS (px, %, in, cm, mm, em, ex, pt, ή pc).","unavailable":"%1<span class=\"cke_accessibility\">, δεν είναι διαθέσιμο</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Κενό","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Εντολή"},"keyboardShortcut":"Συντόμευση πληκτρολογίου","optionDefault":"Default"},"about":{"copy":"Πνευματικά δικαιώματα &copy; $1 Με επιφύλαξη παντός δικαιώματος.","dlgTitle":"Περί του CKEditor 4","moreInfo":"Για πληροφορίες σχετικές με την άδεια χρήσης, παρακαλούμε επισκεφθείτε την ιστοσελίδα μας:"},"basicstyles":{"bold":"Έντονη","italic":"Πλάγια","strike":"Διακριτή Διαγραφή","subscript":"Δείκτης","superscript":"Εκθέτης","underline":"Υπογράμμιση"},"bidi":{"ltr":"Διεύθυνση κειμένου από αριστερά στα δεξιά","rtl":"Διεύθυνση κειμένου από δεξιά στα αριστερά"},"blockquote":{"toolbar":"Περιοχή Παράθεσης"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Επιλεγμένο)"},"toolbar":{"toolbarCollapse":"Σύμπτυξη Εργαλειοθήκης","toolbarExpand":"Ανάπτυξη Εργαλειοθήκης","toolbarGroups":{"document":"Έγγραφο","clipboard":"Πρόχειρο/Αναίρεση","editing":"Επεξεργασία","forms":"Φόρμες","basicstyles":"Βασικά Στυλ","paragraph":"Παράγραφος","links":"Σύνδεσμοι","insert":"Εισαγωγή","styles":"Στυλ","colors":"Χρώματα","tools":"Εργαλεία"},"toolbars":"Εργαλειοθήκες επεξεργαστή"},"clipboard":{"copy":"Αντιγραφή","copyError":"Οι ρυθμίσεις ασφαλείας του περιηγητή σας δεν επιτρέπουν την επιλεγμένη εργασία αντιγραφής. Παρακαλώ χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+C).","cut":"Αποκοπή","cutError":"Οι ρυθμίσεις ασφαλείας του περιηγητή σας δεν επιτρέπουν την επιλεγμένη εργασία αποκοπής. Παρακαλώ χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+X).","paste":"Επικόλληση","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Περιοχή Επικόλλησης","pasteMsg":"Paste your content inside the area below and press OK.","title":"Επικόλληση"},"colorbutton":{"auto":"Αυτόματα","bgColorTitle":"Χρώμα Φόντου","colors":{"000":"Μαύρο","800000":"Καστανέρυθρο","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Βαθυκύανο","000080":"Μπλε μαρέν","4B0082":"Ινδικό","696969":"Σκούρο Γκρι","B22222":"Ανοικτό Κόκκινο","A52A2A":"Καφέ","DAA520":"Golden Rod","006400":"Σκούρο Πράσινο","40E0D0":"Τυρκουάζ","0000CD":"Medium Blue","800080":"Μοβ","808080":"Γκρι","F00":"Κόκκινο","FF8C00":"Σκούρο Πορτοκαλί","FFD700":"Χρυσαφί","008000":"Πράσινο","0FF":"Κυανό","00F":"Μπλε","EE82EE":"Μενεξεδί","A9A9A9":"Ποντικί","FFA07A":"Ανοικτό Σομόν","FFA500":"Πορτοκαλί","FFFF00":"Κίτρινο","00FF00":"Μοσχολέμονο","AFEEEE":"Pale Turquoise","ADD8E6":"Γαλάζιο","DDA0DD":"Δαμασκηνί","D3D3D3":"Ανοικτό Γκρι","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Ανοικτό Κίτρινο","F0FFF0":"Honeydew","F0FFFF":"Γαλανό","F0F8FF":"Alice Blue","E6E6FA":"Ελαφρός Ιώδες","FFF":"Λευκό","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Πορτοκαλί","E67E22":"Καροτί","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Αργυρό","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Περισσότερα Χρώματα…","panelTitle":"Χρώματα","textColorTitle":"Χρώμα Κειμένου"},"colordialog":{"clear":"Εκκαθάριση","highlight":"Σήμανση","options":"Επιλογές Χρωμάτων","selected":"Επιλεγμένο Χρώμα","title":"Επιλογή χρώματος"},"templates":{"button":"Πρότυπα","emptyListMsg":"(Δεν έχουν καθοριστεί πρότυπα)","insertOption":"Αντικατάσταση υπάρχοντων περιεχομένων","options":"Επιλογές Προτύπου","selectPromptMsg":"Παρακαλώ επιλέξτε πρότυπο για εισαγωγή στο πρόγραμμα","title":"Πρότυπα Περιεχομένου"},"contextmenu":{"options":"Επιλογές Αναδυόμενου Μενού"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Ενδεικτικός Τίτλος","cssClassInputLabel":"Κλάσεις Φύλλων Στυλ","edit":"Επεξεργασία Div","inlineStyleInputLabel":"Στυλ Εν Σειρά","langDirLTRLabel":"Αριστερά προς Δεξιά (LTR)","langDirLabel":"Κατεύθυνση Κειμένου","langDirRTLLabel":"Δεξιά προς Αριστερά (RTL)","languageCodeInputLabel":"Κωδικός Γλώσσας","remove":"Διαγραφή Div","styleSelectLabel":"Μορφή","title":"Δημιουργία Div","toolbar":"Δημιουργία Div"},"elementspath":{"eleLabel":"Διαδρομή Στοιχείων","eleTitle":"Στοιχείο %1"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Εύρεση","findOptions":"Επιλογές Εύρεσης","findWhat":"Εύρεση για:","matchCase":"Ταίριασμα πεζών/κεφαλαίων","matchCyclic":"Αναδρομική εύρεση","matchWord":"Εύρεση μόνο πλήρων λέξεων","notFoundMsg":"Το κείμενο δεν βρέθηκε.","replace":"Αντικατάσταση","replaceAll":"Αντικατάσταση Όλων","replaceSuccessMsg":"Ο(ι) όρος(-οι) αντικαταστήθηκε(-αν) %1 φορές.","replaceWith":"Αντικατάσταση με:","title":"Εύρεση και Αντικατάσταση"},"fakeobjects":{"anchor":"Άγκυρα","flash":"Ταινία Flash","hiddenfield":"Κρυφό Πεδίο","iframe":"IFrame","unknown":"Άγνωστο Αντικείμενο"},"flash":{"access":"Πρόσβαση Script","accessAlways":"Πάντα","accessNever":"Ποτέ","accessSameDomain":"Ίδιο όνομα τομέα","alignAbsBottom":"Απόλυτα Κάτω","alignAbsMiddle":"Απόλυτα στη Μέση","alignBaseline":"Γραμμή Βάσης","alignTextTop":"Κορυφή Κειμένου","bgcolor":"Χρώμα Υποβάθρου","chkFull":"Να Επιτρέπεται η Προβολή σε Πλήρη Οθόνη","chkLoop":"Επανάληψη","chkMenu":"Ενεργοποίηση Flash Menu","chkPlay":"Αυτόματη Εκτέλεση","flashvars":"Μεταβλητές για Flash","hSpace":"Οριζόντιο Διάστημα","properties":"Ιδιότητες Flash","propertiesTab":"Ιδιότητες","quality":"Ποιότητα","qualityAutoHigh":"Αυτόματη Υψηλή","qualityAutoLow":"Αυτόματη Χαμηλή","qualityBest":"Καλύτερη","qualityHigh":"Υψηλή","qualityLow":"Χαμηλή","qualityMedium":"Μεσαία","scale":"Μεγέθυνση","scaleAll":"Εμφάνιση όλων","scaleFit":"Ακριβές Μέγεθος","scaleNoBorder":"Χωρίς Περίγραμμα","title":"Ιδιότητες Flash","vSpace":"Κάθετο Διάστημα","validateHSpace":"Το HSpace πρέπει να είναι αριθμός.","validateSrc":"Εισάγετε την τοποθεσία (URL) του υπερσυνδέσμου (Link)","validateVSpace":"Το VSpace πρέπει να είναι αριθμός.","windowMode":"Τρόπος λειτουργίας παραθύρου","windowModeOpaque":"Συμπαγές","windowModeTransparent":"Διάφανο","windowModeWindow":"Παράθυρο"},"font":{"fontSize":{"label":"Μέγεθος","voiceLabel":"Μέγεθος Γραμματοσειράς","panelTitle":"Μέγεθος Γραμματοσειράς"},"label":"Γραμματοσειρά","panelTitle":"Όνομα Γραμματοσειράς","voiceLabel":"Γραμματοσειρά"},"forms":{"button":{"title":"Ιδιότητες Κουμπιού","text":"Κείμενο (Τιμή)","type":"Τύπος","typeBtn":"Κουμπί","typeSbm":"Υποβολή","typeRst":"Επαναφορά"},"checkboxAndRadio":{"checkboxTitle":"Ιδιότητες Κουτιού Επιλογής","radioTitle":"Ιδιότητες Κουμπιού Επιλογής","value":"Τιμή","selected":"Επιλεγμένο","required":"Απαιτείται"},"form":{"title":"Ιδιότητες Φόρμας","menu":"Ιδιότητες Φόρμας","action":"Ενέργεια","method":"Μέθοδος","encoding":"Κωδικοποίηση"},"hidden":{"title":"Ιδιότητες Κρυφού Πεδίου","name":"Όνομα","value":"Τιμή"},"select":{"title":"Ιδιότητες Πεδίου Επιλογής","selectInfo":"Πληροφορίες Πεδίου Επιλογής","opAvail":"Διαθέσιμες Επιλογές","value":"Τιμή","size":"Μέγεθος","lines":"γραμμές","chkMulti":"Να επιτρέπονται οι πολλαπλές επιλογές","required":"Required","opText":"Κείμενο","opValue":"Τιμή","btnAdd":"Προσθήκη","btnModify":"Τροποποίηση","btnUp":"Πάνω","btnDown":"Κάτω","btnSetValue":"Θέση ως προεπιλογή","btnDelete":"Διαγραφή"},"textarea":{"title":"Ιδιότητες Περιοχής Κειμένου","cols":"Στήλες","rows":"Σειρές"},"textfield":{"title":"Ιδιότητες Πεδίου Κειμένου","name":"Όνομα","value":"Τιμή","charWidth":"Πλάτος Χαρακτήρων","maxChars":"Μέγιστοι χαρακτήρες","required":"Required","type":"Τύπος","typeText":"Κείμενο","typePass":"Κωδικός","typeEmail":"Email","typeSearch":"Αναζήτηση","typeTel":"Αριθμός Τηλεφώνου","typeUrl":"URL"}},"format":{"label":"Μορφοποίηση","panelTitle":"Μορφοποίηση Παραγράφου","tag_address":"Διεύθυνση","tag_div":"Κανονική (DIV)","tag_h1":"Κεφαλίδα 1","tag_h2":"Κεφαλίδα 2","tag_h3":"Κεφαλίδα 3","tag_h4":"Κεφαλίδα 4","tag_h5":"Κεφαλίδα 5","tag_h6":"Κεφαλίδα 6","tag_p":"Κανονική","tag_pre":"Προ-μορφοποιημένη"},"horizontalrule":{"toolbar":"Εισαγωγή Οριζόντιας Γραμμής"},"iframe":{"border":"Προβολή περιγράμματος πλαισίου","noUrl":"Παρακαλούμε εισάγεται το URL του iframe","scrolling":"Ενεργοποίηση μπαρών κύλισης","title":"Ιδιότητες IFrame","toolbar":"IFrame"},"image":{"alt":"Εναλλακτικό Κείμενο","border":"Περίγραμμα","btnUpload":"Αποστολή στον Διακομιστή","button2Img":"Θέλετε να μετατρέψετε το επιλεγμένο κουμπί εικόνας σε απλή εικόνα;","hSpace":"HSpace","img2Button":"Θέλετε να μεταμορφώσετε την επιλεγμένη εικόνα που είναι πάνω σε ένα κουμπί;","infoTab":"Πληροφορίες Εικόνας","linkTab":"Σύνδεσμος","lockRatio":"Κλείδωμα Αναλογίας","menu":"Ιδιότητες Εικόνας","resetSize":"Επαναφορά Αρχικού Μεγέθους","title":"Ιδιότητες Εικόνας","titleButton":"Ιδιότητες Κουμπιού Εικόνας","upload":"Αποστολή","urlMissing":"Το URL πηγής για την εικόνα λείπει.","vSpace":"VSpace","validateBorder":"Το περίγραμμα πρέπει να είναι ένας ακέραιος αριθμός.","validateHSpace":"Το HSpace πρέπει να είναι ένας ακέραιος αριθμός.","validateVSpace":"Το VSpace πρέπει να είναι ένας ακέραιος αριθμός."},"indent":{"indent":"Αύξηση Εσοχής","outdent":"Μείωση Εσοχής"},"smiley":{"options":"Επιλογές Φατσούλων","title":"Εισάγετε μια Φατσούλα","toolbar":"Φατσούλα"},"language":{"button":"Θέση γλώσσας","remove":"Αφαίρεση γλώσσας"},"link":{"acccessKey":"Συντόμευση","advanced":"Για Προχωρημένους","advisoryContentType":"Ενδεικτικός Τύπος Περιεχομένου","advisoryTitle":"Ενδεικτικός Τίτλος","anchor":{"toolbar":"Εισαγωγή/επεξεργασία Άγκυρας","menu":"Ιδιότητες άγκυρας","title":"Ιδιότητες άγκυρας","name":"Όνομα άγκυρας","errorName":"Παρακαλούμε εισάγετε όνομα άγκυρας","remove":"Αφαίρεση Άγκυρας"},"anchorId":"Βάσει του Element Id","anchorName":"Βάσει του Ονόματος Άγκυρας","charset":"Κωδικοποίηση Χαρακτήρων Προσαρτημένης Πηγής","cssClasses":"Κλάσεις Φύλλων Στυλ","download":"Force Download","displayText":"Display Text","emailAddress":"Διεύθυνση E-mail","emailBody":"Κείμενο Μηνύματος","emailSubject":"Θέμα Μηνύματος","id":"Id","info":"Πληροφορίες Συνδέσμου","langCode":"Κατεύθυνση Κειμένου","langDir":"Κατεύθυνση Κειμένου","langDirLTR":"Αριστερά προς Δεξιά (LTR)","langDirRTL":"Δεξιά προς Αριστερά (RTL)","menu":"Επεξεργασία Συνδέσμου","name":"Όνομα","noAnchors":"(Δεν υπάρχουν άγκυρες στο κείμενο)","noEmail":"Εισάγετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου","noUrl":"Εισάγετε την τοποθεσία (URL) του συνδέσμου","other":"<άλλο>","popupDependent":"Εξαρτημένο (Netscape)","popupFeatures":"Επιλογές Αναδυόμενου Παραθύρου","popupFullScreen":"Πλήρης Οθόνη (IE)","popupLeft":"Θέση Αριστερά","popupLocationBar":"Γραμμή Τοποθεσίας","popupMenuBar":"Γραμμή Επιλογών","popupResizable":"Προσαρμοζόμενο Μέγεθος","popupScrollBars":"Μπάρες Κύλισης","popupStatusBar":"Γραμμή Κατάστασης","popupToolbar":"Εργαλειοθήκη","popupTop":"Θέση Πάνω","rel":"Σχέση","selectAnchor":"Επιλέξτε μια Άγκυρα","styles":"Μορφή","tabIndex":"Σειρά Μεταπήδησης","target":"Παράθυρο Προορισμού","targetFrame":"<πλαίσιο>","targetFrameName":"Όνομα Πλαισίου Προορισμού","targetPopup":"<αναδυόμενο παράθυρο>","targetPopupName":"Όνομα Αναδυόμενου Παραθύρου","title":"Σύνδεσμος","toAnchor":"Άγκυρα σε αυτήν τη σελίδα","toEmail":"E-Mail","toUrl":"URL","toolbar":"Σύνδεσμος","type":"Τύπος Συνδέσμου","unlink":"Αφαίρεση Συνδέσμου","upload":"Αποστολή"},"list":{"bulletedlist":"Εισαγωγή/Απομάκρυνση Λίστας Κουκκίδων","numberedlist":"Εισαγωγή/Απομάκρυνση Αριθμημένης Λίστας"},"liststyle":{"armenian":"Αρμενική αρίθμηση","bulletedTitle":"Ιδιότητες Λίστας Σημείων","circle":"Κύκλος","decimal":"Δεκαδική (1, 2, 3, κτλ)","decimalLeadingZero":"Δεκαδική με αρχικό μηδεν (01, 02, 03, κτλ)","disc":"Δίσκος","georgian":"Γεωργιανή αρίθμηση (ა, ბ, გ, κτλ)","lowerAlpha":"Μικρά Λατινικά (a, b, c, d, e, κτλ.)","lowerGreek":"Μικρά Ελληνικά (α, β, γ, κτλ)","lowerRoman":"Μικρά Ρωμαϊκά (i, ii, iii, iv, v, κτλ)","none":"Καμία","notset":"<δεν έχει οριστεί>","numberedTitle":"Ιδιότητες Αριθμημένης Λίστας ","square":"Τετράγωνο","start":"Εκκίνηση","type":"Τύπος","upperAlpha":"Κεφαλαία Λατινικά (A, B, C, D, E, κτλ)","upperRoman":"Κεφαλαία Ρωμαϊκά (I, II, III, IV, V, κτλ)","validateStartNumber":"Ο αριθμός εκκίνησης της αρίθμησης πρέπει να είναι ακέραιος αριθμός."},"magicline":{"title":"Εισάγετε παράγραφο εδώ"},"maximize":{"maximize":"Μεγιστοποίηση","minimize":"Ελαχιστοποίηση"},"newpage":{"toolbar":"Νέα Σελίδα"},"pagebreak":{"alt":"Αλλαγή Σελίδας","toolbar":"Εισαγωγή Τέλους Σελίδας για Εκτύπωση"},"pastetext":{"button":"Επικόλληση ως απλό κείμενο","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Επικόλληση ως απλό κείμενο"},"pastefromword":{"confirmCleanup":"Το κείμενο που επικολλάται φαίνεται να είναι αντιγραμμένο από το Word. Μήπως θα θέλατε να καθαριστεί προτού επικολληθεί;","error":"Δεν ήταν δυνατό να καθαριστούν τα δεδομένα λόγω ενός εσωτερικού σφάλματος","title":"Επικόλληση από το Word","toolbar":"Επικόλληση από το Word"},"preview":{"preview":"Προεπισκόπιση"},"print":{"toolbar":"Εκτύπωση"},"removeformat":{"toolbar":"Εκκαθάριση Μορφοποίησης"},"save":{"toolbar":"Αποθήκευση"},"selectall":{"toolbar":"Επιλογή όλων"},"showblocks":{"toolbar":"Προβολή Τμημάτων"},"sourcearea":{"toolbar":"Κώδικας"},"specialchar":{"options":"Επιλογές Ειδικών Χαρακτήρων","title":"Επιλέξτε Έναν Ειδικό Χαρακτήρα","toolbar":"Εισαγωγή Ειδικού Χαρακτήρα"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Λεξικά","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Γλώσσες","btn_options":"Επιλογές","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Μορφές","panelTitle":"Στυλ Μορφοποίησης","panelTitle1":"Στυλ Τμημάτων","panelTitle2":"Στυλ Εν Σειρά","panelTitle3":"Στυλ Αντικειμένων"},"table":{"border":"Πάχος Περιγράμματος","caption":"Λεζάντα","cell":{"menu":"Κελί","insertBefore":"Εισαγωγή Κελιού Πριν","insertAfter":"Εισαγωγή Κελιού Μετά","deleteCell":"Διαγραφή Κελιών","merge":"Ενοποίηση Κελιών","mergeRight":"Συγχώνευση Με Δεξιά","mergeDown":"Συγχώνευση Με Κάτω","splitHorizontal":"Οριζόντια Διαίρεση Κελιού","splitVertical":"Κατακόρυφη Διαίρεση Κελιού","title":"Ιδιότητες Κελιού","cellType":"Τύπος Κελιού","rowSpan":"Εύρος Γραμμών","colSpan":"Εύρος Στηλών","wordWrap":"Αναδίπλωση Λέξεων","hAlign":"Οριζόντια Στοίχιση","vAlign":"Κάθετη Στοίχιση","alignBaseline":"Γραμμή Βάσης","bgColor":"Χρώμα Φόντου","borderColor":"Χρώμα Περιγράμματος","data":"Δεδομένα","header":"Κεφαλίδα","yes":"Ναι","no":"Όχι","invalidWidth":"Το πλάτος του κελιού πρέπει να είναι αριθμός.","invalidHeight":"Το ύψος του κελιού πρέπει να είναι αριθμός.","invalidRowSpan":"Το εύρος των γραμμών πρέπει να είναι ακέραιος αριθμός.","invalidColSpan":"Το εύρος των στηλών πρέπει να είναι ακέραιος αριθμός.","chooseColor":"Επιλέξτε"},"cellPad":"Αναπλήρωση κελιών","cellSpace":"Απόσταση κελιών","column":{"menu":"Στήλη","insertBefore":"Εισαγωγή Στήλης Πριν","insertAfter":"Εισαγωγή Στήλης Μετά","deleteColumn":"Διαγραφή Στηλών"},"columns":"Στήλες","deleteTable":"Διαγραφή Πίνακα","headers":"Κεφαλίδες","headersBoth":"Και τα δύο","headersColumn":"Πρώτη στήλη","headersNone":"Κανένα","headersRow":"Πρώτη Γραμμή","invalidBorder":"Το πάχος του περιγράμματος πρέπει να είναι ένας αριθμός.","invalidCellPadding":"Η αναπλήρωση των κελιών πρέπει να είναι θετικός αριθμός.","invalidCellSpacing":"Η απόσταση μεταξύ των κελιών πρέπει να είναι ένας θετικός αριθμός.","invalidCols":"Ο αριθμός των στηλών πρέπει να είναι μεγαλύτερος από 0.","invalidHeight":"Το ύψος του πίνακα πρέπει να είναι αριθμός.","invalidRows":"Ο αριθμός των σειρών πρέπει να είναι μεγαλύτερος από 0.","invalidWidth":"Το πλάτος του πίνακα πρέπει να είναι ένας αριθμός.","menu":"Ιδιότητες Πίνακα","row":{"menu":"Γραμμή","insertBefore":"Εισαγωγή Γραμμής Πριν","insertAfter":"Εισαγωγή Γραμμής Μετά","deleteRow":"Διαγραφή Γραμμών"},"rows":"Γραμμές","summary":"Περίληψη","title":"Ιδιότητες Πίνακα","toolbar":"Πίνακας","widthPc":"τοις εκατό","widthPx":"pixel","widthUnit":"μονάδα πλάτους"},"undo":{"redo":"Επανάληψη","undo":"Αναίρεση"},"widget":{"move":"Κάνετε κλικ και σύρετε το ποντίκι για να μετακινήστε","label":"%1 widget"},"uploadwidget":{"abort":"Αποστολή ακυρώθηκε απο χρήστη.","doneOne":"Αρχείο εστάλη επιτυχώς.","doneMany":"Επιτυχής αποστολή %1 αρχείων.","uploadOne":"Αποστολή αρχείου ({percentage}%)…","uploadMany":"Αποστολή αρχείων, {current} από {max} ολοκληρωμένα ({percentage}%)…"},"wsc":{"btnIgnore":"Αγνόηση","btnIgnoreAll":"Αγνόηση όλων","btnReplace":"Αντικατάσταση","btnReplaceAll":"Αντικατάσταση όλων","btnUndo":"Αναίρεση","changeTo":"Αλλαγή σε","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Δεν υπάρχει εγκατεστημένος ορθογράφος. Θέλετε να τον κατεβάσετε τώρα;","manyChanges":"Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Άλλαξαν %1 λέξεις","noChanges":"Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Δεν άλλαξαν λέξεις","noMispell":"Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Δεν βρέθηκαν λάθη","noSuggestions":"- Δεν υπάρχουν προτάσεις -","notAvailable":"Η υπηρεσία δεν είναι διαθέσιμη αυτήν την στιγμή.","notInDic":"Δεν υπάρχει στο λεξικό","oneChange":"Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Άλλαξε μια λέξη","progress":"Γίνεται ορθογραφικός έλεγχος...","title":"Ορθογραφικός Έλεγχος","toolbar":"Ορθογραφικός Έλεγχος"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/el.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ms.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ms.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ms.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['ms']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protokol","upload":"Muat Naik","uploadSubmit":"Hantar ke Server","image":"Gambar","flash":"Flash","form":"Borang","checkbox":"Checkbox","radio":"Butang Radio","textField":"Text Field","textarea":"Textarea","hiddenField":"Field Tersembunyi","button":"Butang","select":"Field Pilihan","imageButton":"Butang Bergambar","notSet":"<tidak di set>","id":"Id","name":"Nama","langDir":"Arah Tulisan","langDirLtr":"Kiri ke Kanan (LTR)","langDirRtl":"Kanan ke Kiri (RTL)","langCode":"Kod Bahasa","longDescr":"Butiran Panjang URL","cssClass":"Kelas-kelas Stylesheet","advisoryTitle":"Tajuk Makluman","cssStyle":"Stail","ok":"OK","cancel":"Batal","close":"Tutup","preview":"Prebiu","resize":"Resize","generalTab":"Umum","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Sasaran","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Kiri ke Kanan (LTR)","langDirRTL":"Kanan ke Kiri (RTL)","styles":"Stail","cssClasses":"Kelas-kelas Stylesheet","width":"Lebar","height":"Tinggi","align":"Jajaran","left":"Kiri","right":"Kanan","center":"Tengah","justify":"Jajaran Blok","alignLeft":"Jajaran Kiri","alignRight":"Jajaran Kanan","alignCenter":"Align Center","alignTop":"Atas","alignMiddle":"Pertengahan","alignBottom":"Bawah","alignNone":"None","invalidValue":"Nilai tidak sah.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Salin","copyError":"Keselamatan perisian browser anda tidak membenarkan operasi salinan text/imej. Sila gunakan papan kekunci (Ctrl/Cmd+C).","cut":"Potong","cutError":"Keselamatan perisian browser anda tidak membenarkan operasi suntingan text/imej. Sila gunakan papan kekunci (Ctrl/Cmd+X).","paste":"Tampal","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK.","title":"Tampal"},"colorbutton":{"auto":"Otomatik","bgColorTitle":"Warna Latarbelakang","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Warna lain-lain...","panelTitle":"Colors","textColorTitle":"Warna Text"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"Templat","emptyListMsg":"(Tiada Templat Disimpan)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"Sila pilih templat untuk dibuka oleh editor<br>(kandungan sebenar akan hilang):","title":"Templat Kandungan"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Cari","findOptions":"Find Options","findWhat":"Perkataan yang dicari:","matchCase":"Padanan case huruf","matchCyclic":"Match cyclic","matchWord":"Padana Keseluruhan perkataan","notFoundMsg":"Text yang dicari tidak dijumpai.","replace":"Ganti","replaceAll":"Ganti semua","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Diganti dengan:","title":"Find and Replace"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Bawah Mutlak","alignAbsMiddle":"Pertengahan Mutlak","alignBaseline":"Garis Dasar","alignTextTop":"Atas Text","bgcolor":"Warna Latarbelakang","chkFull":"Allow Fullscreen","chkLoop":"Loop","chkMenu":"Enable Flash Menu","chkPlay":"Auto Play","flashvars":"Variables for Flash","hSpace":"Ruang Melintang","properties":"Flash Properties","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Scale","scaleAll":"Show all","scaleFit":"Exact Fit","scaleNoBorder":"No Border","title":"Flash Properties","vSpace":"Ruang Menegak","validateHSpace":"HSpace must be a number.","validateSrc":"Sila taip sambungan URL","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Saiz","voiceLabel":"Font Size","panelTitle":"Saiz"},"label":"Font","panelTitle":"Font","voiceLabel":"Font"},"forms":{"button":{"title":"Ciri-ciri Butang","text":"Teks (Nilai)","type":"Jenis","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Ciri-ciri Checkbox","radioTitle":"Ciri-ciri Butang Radio","value":"Nilai","selected":"Dipilih","required":"Required"},"form":{"title":"Ciri-ciri Borang","menu":"Ciri-ciri Borang","action":"Tindakan borang","method":"Cara borang dihantar","encoding":"Encoding"},"hidden":{"title":"Ciri-ciri Field Tersembunyi","name":"Nama","value":"Nilai"},"select":{"title":"Ciri-ciri Selection Field","selectInfo":"Select Info","opAvail":"Pilihan sediada","value":"Nilai","size":"Saiz","lines":"garisan","chkMulti":"Benarkan pilihan pelbagai","required":"Required","opText":"Teks","opValue":"Nilai","btnAdd":"Tambah Pilihan","btnModify":"Ubah Pilihan","btnUp":"Naik ke atas","btnDown":"Turun ke bawah","btnSetValue":"Set sebagai nilai terpilih","btnDelete":"Padam"},"textarea":{"title":"Ciri-ciri Textarea","cols":"Lajur","rows":"Baris"},"textfield":{"title":"Ciri-ciri Text Field","name":"Nama","value":"Nilai","charWidth":"Lebar isian","maxChars":"Isian Maksimum","required":"Required","type":"Jenis","typeText":"Teks","typePass":"Kata Laluan","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Format","tag_address":"Alamat","tag_div":"Perenggan (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Telah Diformat"},"horizontalrule":{"toolbar":"Masukkan Garisan Membujur"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Text Alternatif","border":"Border","btnUpload":"Hantar ke Server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"Ruang Melintang","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Info Imej","linkTab":"Sambungan","lockRatio":"Tetapkan Nisbah","menu":"Ciri-ciri Imej","resetSize":"Saiz Set Semula","title":"Ciri-ciri Imej","titleButton":"Ciri-ciri Butang Bergambar","upload":"Muat Naik","urlMissing":"Image source URL is missing.","vSpace":"Ruang Menegak","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Tambahkan Inden","outdent":"Kurangkan Inden"},"smiley":{"options":"Smiley Options","title":"Masukkan Smiley","toolbar":"Smiley"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Kunci Akses","advanced":"Advanced","advisoryContentType":"Jenis Kandungan Makluman","advisoryTitle":"Tajuk Makluman","anchor":{"toolbar":"Masukkan/Sunting Pautan","menu":"Ciri-ciri Pautan","title":"Ciri-ciri Pautan","name":"Nama Pautan","errorName":"Sila taip nama pautan","remove":"Remove Anchor"},"anchorId":"dengan menggunakan ID elemen","anchorName":"dengan menggunakan nama pautan","charset":"Linked Resource Charset","cssClasses":"Kelas-kelas Stylesheet","download":"Force Download","displayText":"Display Text","emailAddress":"Alamat E-Mail","emailBody":"Isi Kandungan Mesej","emailSubject":"Subjek Mesej","id":"Id","info":"Butiran Sambungan","langCode":"Arah Tulisan","langDir":"Arah Tulisan","langDirLTR":"Kiri ke Kanan (LTR)","langDirRTL":"Kanan ke Kiri (RTL)","menu":"Sunting Sambungan","name":"Nama","noAnchors":"(Tiada pautan terdapat dalam dokumen ini)","noEmail":"Sila taip alamat e-mail","noUrl":"Sila taip sambungan URL","other":"<lain>","popupDependent":"Bergantungan (Netscape)","popupFeatures":"Ciri Tetingkap Popup","popupFullScreen":"Skrin Penuh (IE)","popupLeft":"Posisi Kiri","popupLocationBar":"Bar Lokasi","popupMenuBar":"Bar Menu","popupResizable":"Resizable","popupScrollBars":"Bar-bar skrol","popupStatusBar":"Bar Status","popupToolbar":"Toolbar","popupTop":"Posisi Atas","rel":"Relationship","selectAnchor":"Sila pilih pautan","styles":"Stail","tabIndex":"Indeks Tab ","target":"Sasaran","targetFrame":"<bingkai>","targetFrameName":"Nama Bingkai Sasaran","targetPopup":"<tetingkap popup>","targetPopupName":"Nama Tetingkap Popup","title":"Sambungan","toAnchor":"Pautan dalam muka surat ini","toEmail":"E-Mail","toUrl":"URL","toolbar":"Masukkan/Sunting Sambungan","type":"Jenis Sambungan","unlink":"Buang Sambungan","upload":"Muat Naik"},"list":{"bulletedlist":"Senarai tidak bernombor","numberedlist":"Senarai bernombor"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"newpage":{"toolbar":"Helaian Baru"},"pagebreak":{"alt":"Page Break","toolbar":"Insert Page Break for Printing"},"pastetext":{"button":"Tampal sebagai text biasa","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Tampal sebagai text biasa"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Tampal dari Word","toolbar":"Tampal dari Word"},"preview":{"preview":"Prebiu"},"print":{"toolbar":"Cetak"},"removeformat":{"toolbar":"Buang Format"},"save":{"toolbar":"Simpan"},"selectall":{"toolbar":"Pilih Semua"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"Sumber"},"specialchar":{"options":"Special Character Options","title":"Sila pilih huruf istimewa","toolbar":"Masukkan Huruf Istimewa"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Stail","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Saiz Border","caption":"Keterangan","cell":{"menu":"Cell","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"Buangkan Sel-sel","merge":"Cantumkan Sel-sel","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Tambahan Ruang Sel","cellSpace":"Ruangan Antara Sel","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Buangkan Lajur"},"columns":"Jaluran","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a positive number.","invalidCellSpacing":"Cell spacing must be a positive number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"Ciri-ciri Jadual","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Buangkan Baris"},"rows":"Barisan","summary":"Summary","title":"Ciri-ciri Jadual","toolbar":"Jadual","widthPc":"peratus","widthPx":"piksel-piksel","widthUnit":"width unit"},"undo":{"redo":"Ulangkan","undo":"Batalkan"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Biar","btnIgnoreAll":"Biarkan semua","btnReplace":"Ganti","btnReplaceAll":"Gantikan Semua","btnUndo":"Batalkan","changeTo":"Tukarkan kepada","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Pemeriksa ejaan tidak dipasang. Adakah anda mahu muat turun sekarang?","manyChanges":"Pemeriksaan ejaan siap: %1 perkataan diubah","noChanges":"Pemeriksaan ejaan siap: Tiada perkataan diubah","noMispell":"Pemeriksaan ejaan siap: Tiada salah ejaan","noSuggestions":"- Tiada cadangan -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Tidak terdapat didalam kamus","oneChange":"Pemeriksaan ejaan siap: Satu perkataan telah diubah","progress":"Pemeriksaan ejaan sedang diproses...","title":"Spell Checker","toolbar":"Semak Ejaan"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ms.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/uk.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/uk.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/uk.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['uk']={"editor":"Текстовий редактор","editorPanel":"Панель розширеного текстового редактора","common":{"editorHelp":"натисніть ALT 0 для довідки","browseServer":"Огляд Сервера","url":"URL","protocol":"Протокол","upload":"Надіслати","uploadSubmit":"Надіслати на сервер","image":"Зображення","flash":"Flash","form":"Форма","checkbox":"Галочка","radio":"Кнопка вибору","textField":"Текстове поле","textarea":"Текстова область","hiddenField":"Приховане поле","button":"Кнопка","select":"Список","imageButton":"Кнопка із зображенням","notSet":"<не визначено>","id":"Ідентифікатор","name":"Ім'я","langDir":"Напрямок мови","langDirLtr":"Зліва направо (LTR)","langDirRtl":"Справа наліво (RTL)","langCode":"Код мови","longDescr":"Довгий опис URL","cssClass":"Клас CSS","advisoryTitle":"Заголовок","cssStyle":"Стиль CSS","ok":"ОК","cancel":"Скасувати","close":"Закрити","preview":"Попередній перегляд","resize":"Потягніть для зміни розмірів","generalTab":"Основне","advancedTab":"Додаткове","validateNumberFailed":"Значення не є цілим числом.","confirmNewPage":"Всі незбережені зміни будуть втрачені. Ви впевнені, що хочете завантажити нову сторінку?","confirmCancel":"Деякі опції змінено. Закрити вікно без збереження змін?","options":"Опції","target":"Ціль","targetNew":"Нове вікно (_blank)","targetTop":"Поточне вікно (_top)","targetSelf":"Поточний фрейм/вікно (_self)","targetParent":"Батьківський фрейм/вікно (_parent)","langDirLTR":"Зліва направо (LTR)","langDirRTL":"Справа наліво (RTL)","styles":"Стиль CSS","cssClasses":"Клас CSS","width":"Ширина","height":"Висота","align":"Вирівнювання","left":"По лівому краю","right":"По правому краю","center":"По центру","justify":"По ширині","alignLeft":"По лівому краю","alignRight":"По правому краю","alignCenter":"Align Center","alignTop":"По верхньому краю","alignMiddle":"По середині","alignBottom":"По нижньому краю","alignNone":"Нема","invalidValue":"Невірне значення.","invalidHeight":"Висота повинна бути цілим числом.","invalidWidth":"Ширина повинна бути цілим числом.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Значення, вказане для \"%1\" в полі повинно бути позитивним числом або без дійсного виміру CSS блоку (px, %, in, cm, mm, em, ex, pt або pc).","invalidHtmlLength":"Значення, вказане для \"%1\" в полі повинно бути позитивним числом або без дійсного виміру HTML блоку (px або %).","invalidInlineStyle":"Значення, вказане для вбудованого стилю повинне складатися з одного чи кількох кортежів у форматі \"ім'я : значення\", розділених крапкою з комою.","cssLengthTooltip":"Введіть номер значення в пікселях або число з дійсною одиниці CSS (px, %, in, cm, mm, em, ex, pt або pc).","unavailable":"%1<span class=\"cke_accessibility\">, не доступне</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Видалити","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Всі права застережено.","dlgTitle":"Про CKEditor 4","moreInfo":"Щодо інформації з ліцензування завітайте на наш сайт:"},"basicstyles":{"bold":"Жирний","italic":"Курсив","strike":"Закреслений","subscript":"Нижній індекс","superscript":"Верхній індекс","underline":"Підкреслений"},"bidi":{"ltr":"Напрямок тексту зліва направо","rtl":"Напрямок тексту справа наліво"},"blockquote":{"toolbar":"Цитата"},"notification":{"closed":"Сповіщення закрито."},"button":{"selectedLabel":"%1 (Вибрано)"},"toolbar":{"toolbarCollapse":"Згорнути панель інструментів","toolbarExpand":"Розгорнути панель інструментів","toolbarGroups":{"document":"Документ","clipboard":"Буфер обміну / Скасувати","editing":"Редагування","forms":"Форми","basicstyles":"Основний Стиль","paragraph":"Параграф","links":"Посилання","insert":"Вставити","styles":"Стилі","colors":"Кольори","tools":"Інструменти"},"toolbars":"Панель інструментів редактора"},"clipboard":{"copy":"Копіювати","copyError":"Налаштування безпеки Вашого браузера не дозволяють редактору автоматично виконувати операції копіювання. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+C).","cut":"Вирізати","cutError":"Налаштування безпеки Вашого браузера не дозволяють редактору автоматично виконувати операції вирізування. Будь ласка, використовуйте клавіатуру для цього (Ctrl/Cmd+X)","paste":"Вставити","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Область вставки","pasteMsg":"Paste your content inside the area below and press OK.","title":"Вставити"},"colorbutton":{"auto":"Авто","bgColorTitle":"Колір фону","colors":{"000":"Чорний","800000":"Бордовий","8B4513":"Коричневий","2F4F4F":"Темний сіро-зелений","008080":"Морської хвилі","000080":"Сливовий","4B0082":"Індиго","696969":"Темносірий","B22222":"Темночервоний","A52A2A":"Каштановий","DAA520":"Бежевий","006400":"Темнозелений","40E0D0":"Бірюзовий","0000CD":"Темносиній","800080":"Пурпурний","808080":"Сірий","F00":"Червоний","FF8C00":"Темнооранжевий","FFD700":"Жовтий","008000":"Зелений","0FF":"Синьо-зелений","00F":"Синій","EE82EE":"Фіолетовий","A9A9A9":"Світлосірий","FFA07A":"Рожевий","FFA500":"Оранжевий","FFFF00":"Яскравожовтий","00FF00":"Салатовий","AFEEEE":"Світлобірюзовий","ADD8E6":"Блакитний","DDA0DD":"Світлофіолетовий","D3D3D3":"Сріблястий","FFF0F5":"Світлорожевий","FAEBD7":"Світлооранжевий","FFFFE0":"Світложовтий","F0FFF0":"Світлозелений","F0FFFF":"Світлий синьо-зелений","F0F8FF":"Світлоблакитний","E6E6FA":"Лавандовий","FFF":"Білий","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Кольори...","panelTitle":"Кольори","textColorTitle":"Колір тексту"},"colordialog":{"clear":"Очистити","highlight":"Колір, на який вказує курсор","options":"Опції кольорів","selected":"Обраний колір","title":"Обрати колір"},"templates":{"button":"Шаблони","emptyListMsg":"(Не знайдено жодного шаблону)","insertOption":"Замінити поточний вміст","options":"Опції шаблону","selectPromptMsg":"Оберіть, будь ласка, шаблон для відкриття в редакторі<br>(поточний зміст буде втрачено):","title":"Шаблони змісту"},"contextmenu":{"options":"Опції контекстного меню"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Ідентифікатор","advisoryTitleInputLabel":"Зміст випливаючої підказки","cssClassInputLabel":"Клас CSS","edit":"Редагувати блок","inlineStyleInputLabel":"Вписаний стиль","langDirLTRLabel":"Зліва направо (LTR)","langDirLabel":"Напрямок мови","langDirRTLLabel":"Справа наліво (RTL)","languageCodeInputLabel":"Код мови","remove":"Видалити блок","styleSelectLabel":"Стиль CSS","title":"Створити блок-контейнер","toolbar":"Створити блок-контейнер"},"elementspath":{"eleLabel":"Шлях","eleTitle":"%1 елемент"},"filetools":{"loadError":"Виникла помилка під час читання файлу","networkError":"Під час завантаження файлу виникла помилка мережі.","httpError404":"Під час завантаження файлу виникла помилка HTTP (404: Файл не знайдено).","httpError403":"Під час завантаження файлу виникла помилка HTTP (403: Доступ заборонено).","httpError":"Під час завантаження файлу виникла помилка (статус помилки: %1).","noUrlError":"URL завантаження не визначений.","responseError":"Невірна відповідь сервера."},"find":{"find":"Пошук","findOptions":"Параметри Пошуку","findWhat":"Шукати:","matchCase":"Враховувати регістр","matchCyclic":"Циклічна заміна","matchWord":"Збіг цілих слів","notFoundMsg":"Вказаний текст не знайдено.","replace":"Заміна","replaceAll":"Замінити все","replaceSuccessMsg":"%1 співпадінь(ня) замінено.","replaceWith":"Замінити на:","title":"Знайти і замінити"},"fakeobjects":{"anchor":"Якір","flash":"Flash-анімація","hiddenfield":"Приховані Поля","iframe":"IFrame","unknown":"Невідомий об'єкт"},"flash":{"access":"Доступ до скрипта","accessAlways":"Завжди","accessNever":"Ніколи","accessSameDomain":"З того ж домена","alignAbsBottom":"По нижньому краю (abs)","alignAbsMiddle":"По середині (abs)","alignBaseline":"По базовій лінії","alignTextTop":"Текст по верхньому краю","bgcolor":"Колір фону","chkFull":"Дозволити повноекранний перегляд","chkLoop":"Циклічно","chkMenu":"Дозволити меню Flash","chkPlay":"Автопрогравання","flashvars":"Змінні Flash","hSpace":"Гориз. відступ","properties":"Властивості Flash","propertiesTab":"Властивості","quality":"Якість","qualityAutoHigh":"Автом. відмінна","qualityAutoLow":"Автом. низька","qualityBest":"Відмінна","qualityHigh":"Висока","qualityLow":"Низька","qualityMedium":"Середня","scale":"Масштаб","scaleAll":"Показати все","scaleFit":"Поч. розмір","scaleNoBorder":"Без рамки","title":"Властивості Flash","vSpace":"Верт. відступ","validateHSpace":"Гориз. відступ повинен бути цілим числом.","validateSrc":"URL посилання не може бути порожнім.","validateVSpace":"Верт. відступ повинен бути цілим числом.","windowMode":"Віконний режим","windowModeOpaque":"Непрозорість","windowModeTransparent":"Прозорість","windowModeWindow":"Вікно"},"font":{"fontSize":{"label":"Розмір","voiceLabel":"Розмір шрифту","panelTitle":"Розмір"},"label":"Шрифт","panelTitle":"Шрифт","voiceLabel":"Шрифт"},"forms":{"button":{"title":"Властивості кнопки","text":"Значення","type":"Тип","typeBtn":"Кнопка (button)","typeSbm":"Надіслати (submit)","typeRst":"Очистити (reset)"},"checkboxAndRadio":{"checkboxTitle":"Властивості галочки","radioTitle":"Властивості кнопки вибору","value":"Значення","selected":"Обрана","required":"Обов’язкове поле"},"form":{"title":"Властивості форми","menu":"Властивості форми","action":"Дія","method":"Метод","encoding":"Кодування"},"hidden":{"title":"Властивості прихованого поля","name":"Ім'я","value":"Значення"},"select":{"title":"Властивості списку","selectInfo":"Інфо","opAvail":"Доступні варіанти","value":"Значення","size":"Кількість","lines":"видимих позицій у списку","chkMulti":"Список з мультивибором","required":"Обов’язкове поле","opText":"Текст","opValue":"Значення","btnAdd":"Добавити","btnModify":"Змінити","btnUp":"Вгору","btnDown":"Вниз","btnSetValue":"Встановити як обране значення","btnDelete":"Видалити"},"textarea":{"title":"Властивості текстової області","cols":"Стовбці","rows":"Рядки"},"textfield":{"title":"Властивості текстового поля","name":"Ім'я","value":"Значення","charWidth":"Ширина","maxChars":"Макс. к-ть символів","required":"Обов’язкове поле","type":"Тип","typeText":"Текст","typePass":"Пароль","typeEmail":"Пошта","typeSearch":"Пошук","typeTel":"Мобільний","typeUrl":"URL"}},"format":{"label":"Форматування","panelTitle":"Форматування параграфа","tag_address":"Адреса","tag_div":"Нормальний (div)","tag_h1":"Заголовок 1","tag_h2":"Заголовок 2","tag_h3":"Заголовок 3","tag_h4":"Заголовок 4","tag_h5":"Заголовок 5","tag_h6":"Заголовок 6","tag_p":"Нормальний","tag_pre":"Форматований"},"horizontalrule":{"toolbar":"Горизонтальна лінія"},"iframe":{"border":"Показати рамки фрейму","noUrl":"Будь ласка введіть URL посилання для IFrame","scrolling":"Увімкнути прокрутку","title":"Налаштування для IFrame","toolbar":"IFrame"},"image":{"alt":"Альтернативний текст","border":"Рамка","btnUpload":"Надіслати на сервер","button2Img":"Бажаєте перетворити обрану кнопку-зображення на просте зображення?","hSpace":"Гориз. відступ","img2Button":"Бажаєте перетворити обране зображення на кнопку-зображення?","infoTab":"Інформація про зображення","linkTab":"Посилання","lockRatio":"Зберегти пропорції","menu":"Властивості зображення","resetSize":"Очистити поля розмірів","title":"Властивості зображення","titleButton":"Властивості кнопки із зображенням","upload":"Надіслати","urlMissing":"Вкажіть URL зображення.","vSpace":"Верт. відступ","validateBorder":"Ширина рамки повинна бути цілим числом.","validateHSpace":"Гориз. відступ повинен бути цілим числом.","validateVSpace":"Верт. відступ повинен бути цілим числом."},"indent":{"indent":"Збільшити відступ","outdent":"Зменшити відступ"},"smiley":{"options":"Опції смайликів","title":"Вставити смайлик","toolbar":"Смайлик"},"language":{"button":"Установити мову","remove":"Вилучити мову"},"link":{"acccessKey":"Гаряча клавіша","advanced":"Додаткове","advisoryContentType":"Тип вмісту","advisoryTitle":"Заголовок","anchor":{"toolbar":"Вставити/Редагувати якір","menu":"Властивості якоря","title":"Властивості якоря","name":"Ім'я якоря","errorName":"Будь ласка, вкажіть ім'я якоря","remove":"Прибрати якір"},"anchorId":"За ідентифікатором елементу","anchorName":"За ім'ям елементу","charset":"Кодування","cssClasses":"Клас CSS","download":"Force Download","displayText":"Display Text","emailAddress":"Адреса ел. пошти","emailBody":"Тіло повідомлення","emailSubject":"Тема листа","id":"Ідентифікатор","info":"Інформація посилання","langCode":"Код мови","langDir":"Напрямок мови","langDirLTR":"Зліва направо (LTR)","langDirRTL":"Справа наліво (RTL)","menu":"Вставити посилання","name":"Ім'я","noAnchors":"(В цьому документі немає якорів)","noEmail":"Будь ласка, вкажіть адрес ел. пошти","noUrl":"Будь ласка, вкажіть URL посилання","other":"<інший>","popupDependent":"Залежний (Netscape)","popupFeatures":"Властивості випливаючого вікна","popupFullScreen":"Повний екран (IE)","popupLeft":"Позиція зліва","popupLocationBar":"Панель локації","popupMenuBar":"Панель меню","popupResizable":"Масштабоване","popupScrollBars":"Стрічки прокрутки","popupStatusBar":"Рядок статусу","popupToolbar":"Панель інструментів","popupTop":"Позиція зверху","rel":"Зв'язок","selectAnchor":"Оберіть якір","styles":"Стиль CSS","tabIndex":"Послідовність переходу","target":"Ціль","targetFrame":"<фрейм>","targetFrameName":"Ім'я цільового фрейму","targetPopup":"<випливаюче вікно>","targetPopupName":"Ім'я випливаючого вікна","title":"Посилання","toAnchor":"Якір на цю сторінку","toEmail":"Ел. пошта","toUrl":"URL","toolbar":"Вставити/Редагувати посилання","type":"Тип посилання","unlink":"Видалити посилання","upload":"Надіслати"},"list":{"bulletedlist":"Маркірований список","numberedlist":"Нумерований список"},"liststyle":{"armenian":"Вірменська нумерація","bulletedTitle":"Опції маркованого списку","circle":"Кільце","decimal":"Десяткові (1, 2, 3 і т.д.)","decimalLeadingZero":"Десяткові з нулем (01, 02, 03 і т.д.)","disc":"Кружечок","georgian":"Грузинська нумерація (an, ban, gan і т.д.)","lowerAlpha":"Малі лат. букви (a, b, c, d, e і т.д.)","lowerGreek":"Малі гр. букви (альфа, бета, гамма і т.д.)","lowerRoman":"Малі римські (i, ii, iii, iv, v і т.д.)","none":"Нема","notset":"<не вказано>","numberedTitle":"Опції нумерованого списку","square":"Квадратик","start":"Почати з...","type":"Тип","upperAlpha":"Великі лат. букви (A, B, C, D, E і т.д.)","upperRoman":"Великі римські (I, II, III, IV, V і т.д.)","validateStartNumber":"Початковий номер списку повинен бути цілим числом."},"magicline":{"title":"Вставити абзац"},"maximize":{"maximize":"Максимізувати","minimize":"Мінімізувати"},"newpage":{"toolbar":"Нова сторінка"},"pagebreak":{"alt":"Розрив Сторінки","toolbar":"Вставити розрив сторінки"},"pastetext":{"button":"Вставити тільки текст","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Вставити тільки текст"},"pastefromword":{"confirmCleanup":"Текст, що Ви намагаєтесь вставити, схожий на скопійований з Word. Бажаєте очистити його форматування перед вставлянням?","error":"Неможливо очистити форматування через внутрішню помилку.","title":"Вставити з Word","toolbar":"Вставити з Word"},"preview":{"preview":"Попередній перегляд"},"print":{"toolbar":"Друк"},"removeformat":{"toolbar":"Видалити форматування"},"save":{"toolbar":"Зберегти"},"selectall":{"toolbar":"Виділити все"},"showblocks":{"toolbar":"Показувати блоки"},"sourcearea":{"toolbar":"Джерело"},"specialchar":{"options":"Опції","title":"Оберіть спеціальний символ","toolbar":"Спеціальний символ"},"scayt":{"btn_about":"Про SCAYT","btn_dictionaries":"Словники","btn_disable":"Вимкнути SCAYT","btn_enable":"Ввімкнути SCAYT","btn_langs":"Мови","btn_options":"Опції","text_title":"Перефірка орфографії по мірі набору"},"stylescombo":{"label":"Стиль","panelTitle":"Стилі форматування","panelTitle1":"Блочні стилі","panelTitle2":"Рядкові стилі","panelTitle3":"Об'єктні стилі"},"table":{"border":"Розмір рамки","caption":"Заголовок таблиці","cell":{"menu":"Комірки","insertBefore":"Вставити комірку перед","insertAfter":"Вставити комірку після","deleteCell":"Видалити комірки","merge":"Об'єднати комірки","mergeRight":"Об'єднати справа","mergeDown":"Об'єднати донизу","splitHorizontal":"Розділити комірку по горизонталі","splitVertical":"Розділити комірку по вертикалі","title":"Властивості комірки","cellType":"Тип комірки","rowSpan":"Об'єднання рядків","colSpan":"Об'єднання стовпців","wordWrap":"Автоперенесення тексту","hAlign":"Гориз. вирівнювання","vAlign":"Верт. вирівнювання","alignBaseline":"По базовій лінії","bgColor":"Колір фону","borderColor":"Колір рамки","data":"Дані","header":"Заголовок","yes":"Так","no":"Ні","invalidWidth":"Ширина комірки повинна бути цілим числом.","invalidHeight":"Висота комірки повинна бути цілим числом.","invalidRowSpan":"Кількість об'єднуваних рядків повинна бути цілим числом.","invalidColSpan":"Кількість об'єднуваних стовбців повинна бути цілим числом.","chooseColor":"Обрати"},"cellPad":"Внутр. відступ","cellSpace":"Проміжок","column":{"menu":"Стовбці","insertBefore":"Вставити стовбець перед","insertAfter":"Вставити стовбець після","deleteColumn":"Видалити стовбці"},"columns":"Стовбці","deleteTable":"Видалити таблицю","headers":"Заголовки стовбців/рядків","headersBoth":"Стовбці і рядки","headersColumn":"Стовбці","headersNone":"Без заголовків","headersRow":"Рядки","invalidBorder":"Розмір рамки повинен бути цілим числом.","invalidCellPadding":"Внутр. відступ комірки повинен бути цілим числом.","invalidCellSpacing":"Проміжок між комірками повинен бути цілим числом.","invalidCols":"Кількість стовбців повинна бути більшою 0.","invalidHeight":"Висота таблиці повинна бути цілим числом.","invalidRows":"Кількість рядків повинна бути більшою 0.","invalidWidth":"Ширина таблиці повинна бути цілим числом.","menu":"Властивості таблиці","row":{"menu":"Рядки","insertBefore":"Вставити рядок перед","insertAfter":"Вставити рядок після","deleteRow":"Видалити рядки"},"rows":"Рядки","summary":"Детальний опис заголовку таблиці","title":"Властивості таблиці","toolbar":"Таблиця","widthPc":"відсотків","widthPx":"пікселів","widthUnit":"Одиниці вимір."},"undo":{"redo":"Повторити","undo":"Повернути"},"widget":{"move":"Клікніть і потягніть для переміщення","label":"%1 віджет"},"uploadwidget":{"abort":"Завантаження перервано користувачем.","doneOne":"Файл цілком завантажено.","doneMany":"Цілком завантажено %1 файлів.","uploadOne":"Завантаження файлу ({percentage}%)...","uploadMany":"Завантажено {current} із {max} файлів завершено на ({percentage}%)..."},"wsc":{"btnIgnore":"Пропустити","btnIgnoreAll":"Пропустити все","btnReplace":"Замінити","btnReplaceAll":"Замінити все","btnUndo":"Назад","changeTo":"Замінити на","errorLoading":"Помилка завантаження : %s.","ieSpellDownload":"Модуль перевірки орфографії не встановлено. Бажаєте завантажити його зараз?","manyChanges":"Перевірку орфографії завершено: 1% слів(ова) змінено","noChanges":"Перевірку орфографії завершено: жодне слово не змінено","noMispell":"Перевірку орфографії завершено: помилок не знайдено","noSuggestions":"- немає варіантів -","notAvailable":"Вибачте, але сервіс наразі недоступний.","notInDic":"Немає в словнику","oneChange":"Перевірку орфографії завершено: змінено одне слово","progress":"Виконується перевірка орфографії...","title":"Перевірка орфографії","toolbar":"Перевірити орфографію"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/uk.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en-ca.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en-ca.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en-ca.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['en-ca']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Align","left":"Left","right":"Right","center":"Centre","justify":"Justify","alignLeft":"Align Left","alignRight":"Align Right","alignCenter":"Align Center","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK.","title":"Paste"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Colour","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"More Colours...","panelTitle":"Colors","textColorTitle":"Text Colour"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"Templates","emptyListMsg":"(No templates defined)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"Please select the template to open in the editor","title":"Content Templates"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Find","findOptions":"Find Options","findWhat":"Find what:","matchCase":"Match case","matchCyclic":"Match cyclic","matchWord":"Match whole word","notFoundMsg":"The specified text was not found.","replace":"Replace","replaceAll":"Replace All","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Replace with:","title":"Find and Replace"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs Bottom","alignAbsMiddle":"Abs Middle","alignBaseline":"Baseline","alignTextTop":"Text Top","bgcolor":"Background colour","chkFull":"Allow Fullscreen","chkLoop":"Loop","chkMenu":"Enable Flash Menu","chkPlay":"Auto Play","flashvars":"Variables for Flash","hSpace":"HSpace","properties":"Flash Properties","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Scale","scaleAll":"Show all","scaleFit":"Exact Fit","scaleNoBorder":"No Border","title":"Flash Properties","vSpace":"VSpace","validateHSpace":"HSpace must be a number.","validateSrc":"URL must not be empty.","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"forms":{"button":{"title":"Button Properties","text":"Text (Value)","type":"Type","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Checkbox Properties","radioTitle":"Radio Button Properties","value":"Value","selected":"Selected","required":"Required"},"form":{"title":"Form Properties","menu":"Form Properties","action":"Action","method":"Method","encoding":"Encoding"},"hidden":{"title":"Hidden Field Properties","name":"Name","value":"Value"},"select":{"title":"Selection Field Properties","selectInfo":"Select Info","opAvail":"Available Options","value":"Value","size":"Size","lines":"lines","chkMulti":"Allow multiple selections","required":"Required","opText":"Text","opValue":"Value","btnAdd":"Add","btnModify":"Modify","btnUp":"Up","btnDown":"Down","btnSetValue":"Set as selected value","btnDelete":"Delete"},"textarea":{"title":"Textarea Properties","cols":"Columns","rows":"Rows"},"textfield":{"title":"Text Field Properties","name":"Name","value":"Value","charWidth":"Character Width","maxChars":"Maximum Characters","required":"Required","type":"Type","typeText":"Text","typePass":"Password","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Paragraph Format","tag_address":"Address","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"Insert Horizontal Line"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Alternative Text","border":"Border","btnUpload":"Send it to the Server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"HSpace","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Image Info","linkTab":"Link","lockRatio":"Lock Ratio","menu":"Image Properties","resetSize":"Reset Size","title":"Image Properties","titleButton":"Image Button Properties","upload":"Upload","urlMissing":"Image source URL is missing.","vSpace":"VSpace","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"smiley":{"options":"Smiley Options","title":"Insert a Smiley","toolbar":"Smiley"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Access Key","advanced":"Advanced","advisoryContentType":"Advisory Content Type","advisoryTitle":"Advisory Title","anchor":{"toolbar":"Anchor","menu":"Edit Anchor","title":"Anchor Properties","name":"Anchor Name","errorName":"Please type the anchor name","remove":"Remove Anchor"},"anchorId":"By Element Id","anchorName":"By Anchor Name","charset":"Linked Resource Charset","cssClasses":"Stylesheet Classes","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail Address","emailBody":"Message Body","emailSubject":"Message Subject","id":"Id","info":"Link Info","langCode":"Language Code","langDir":"Language Direction","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","menu":"Edit Link","name":"Name","noAnchors":"(No anchors available in the document)","noEmail":"Please type the e-mail address","noUrl":"Please type the link URL","other":"<other>","popupDependent":"Dependent (Netscape)","popupFeatures":"Popup Window Features","popupFullScreen":"Full Screen (IE)","popupLeft":"Left Position","popupLocationBar":"Location Bar","popupMenuBar":"Menu Bar","popupResizable":"Resizable","popupScrollBars":"Scroll Bars","popupStatusBar":"Status Bar","popupToolbar":"Toolbar","popupTop":"Top Position","rel":"Relationship","selectAnchor":"Select an Anchor","styles":"Style","tabIndex":"Tab Index","target":"Target","targetFrame":"<frame>","targetFrameName":"Target Frame Name","targetPopup":"<popup window>","targetPopupName":"Popup Window Name","title":"Link","toAnchor":"Link to anchor in the text","toEmail":"E-mail","toUrl":"URL","toolbar":"Link","type":"Link Type","unlink":"Unlink","upload":"Upload"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"newpage":{"toolbar":"New Page"},"pagebreak":{"alt":"Page Break","toolbar":"Insert Page Break for Printing"},"pastetext":{"button":"Paste as plain text","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Paste as Plain Text"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Paste from Word","toolbar":"Paste from Word"},"preview":{"preview":"Preview"},"print":{"toolbar":"Print"},"removeformat":{"toolbar":"Remove Format"},"save":{"toolbar":"Save"},"selectall":{"toolbar":"Select All"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"Source"},"specialchar":{"options":"Special Character Options","title":"Select Special Character","toolbar":"Insert Special Character"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Styles","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Border size","caption":"Caption","cell":{"menu":"Cell","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"Delete Cells","merge":"Merge Cells","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Cell padding","cellSpace":"Cell spacing","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Delete Columns"},"columns":"Columns","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a number.","invalidCellSpacing":"Cell spacing must be a number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"Table Properties","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Delete Rows"},"rows":"Rows","summary":"Summary","title":"Table Properties","toolbar":"Table","widthPc":"percent","widthPx":"pixels","widthUnit":"width unit"},"undo":{"redo":"Redo","undo":"Undo"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en-ca.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/cy.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/cy.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/cy.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['cy']={"editor":"Golygydd Testun Cyfoethog","editorPanel":"Panel Golygydd Testun Cyfoethog","common":{"editorHelp":"Gwasgwch ALT 0 am gymorth","browseServer":"Pori'r Gweinydd","url":"URL","protocol":"Protocol","upload":"Lanlwytho","uploadSubmit":"Anfon i'r Gweinydd","image":"Delwedd","flash":"Flash","form":"Ffurflen","checkbox":"Blwch ticio","radio":"Botwm Radio","textField":"Maes Testun","textarea":"Ardal Testun","hiddenField":"Maes Cudd","button":"Botwm","select":"Maes Dewis","imageButton":"Botwm Delwedd","notSet":"<heb osod>","id":"Id","name":"Name","langDir":"Cyfeiriad Iaith","langDirLtr":"Chwith i'r Dde (LTR)","langDirRtl":"Dde i'r Chwith (RTL)","langCode":"Cod Iaith","longDescr":"URL Disgrifiad Hir","cssClass":"Dosbarthiadau Dalen Arddull","advisoryTitle":"Teitl Cynghorol","cssStyle":"Arddull","ok":"Iawn","cancel":"Diddymu","close":"Cau","preview":"Rhagolwg","resize":"Ailfeintio","generalTab":"Cyffredinol","advancedTab":"Uwch","validateNumberFailed":"'Dyw'r gwerth hwn ddim yn rhif.","confirmNewPage":"Byddwch chi'n colli unrhyw newidiadau i'r cynnwys sydd heb eu cadw. Ydych am barhau i lwytho tudalen newydd?","confirmCancel":"Cafodd rhai o'r opsiynau eu newid. Ydych chi wir am gau'r deialog?","options":"Opsiynau","target":"Targed","targetNew":"Ffenest Newydd (_blank)","targetTop":"Ffenest ar y Brig (_top)","targetSelf":"Yr un Ffenest (_self)","targetParent":"Ffenest y Rhiant (_parent)","langDirLTR":"Chwith i'r Dde (LTR)","langDirRTL":"Dde i'r Chwith (RTL)","styles":"Arddull","cssClasses":"Dosbarthiadau Dalen Arddull","width":"Lled","height":"Uchder","align":"Alinio","left":"Chwith","right":"Dde","center":"Canol","justify":"Unioni","alignLeft":"Alinio i'r Chwith","alignRight":"Alinio i'r Dde","alignCenter":"Align Center","alignTop":"Brig","alignMiddle":"Canol","alignBottom":"Gwaelod","alignNone":"None","invalidValue":"Gwerth annilys.","invalidHeight":"Mae'n rhaid i'r uchder fod yn rhif.","invalidWidth":"Mae'n rhaid i'r lled fod yn rhif.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Mae'n rhaid i'r gwerth ar gyfer maes \"%1\" fod yn rhif positif gyda neu heb uned fesuriad CSS dilys (px, %, in, cm, mm, em, ex, pt, neu pc).","invalidHtmlLength":"Mae'n rhaid i'r gwerth ar gyfer maes \"%1\" fod yn rhif positif gyda neu heb uned fesuriad HTML dilys (px neu %).","invalidInlineStyle":"Mae'n rhaid i'r gwerth ar gyfer arddull mewn-llinell gynnwys un set neu fwy ar y fformat \"enw : gwerth\", wedi'u gwahanu gyda hanner colon.","cssLengthTooltip":"Rhowch rif am werth mewn picsel neu rhif gydag uned CSS dilys (px, %, in, cm, mm, em, pt neu pc).","unavailable":"%1<span class=\"cke_accessibility\">, ddim ar gael</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Hawlfraint &copy; $1. Cedwir pob hawl.","dlgTitle":"About CKEditor 4","moreInfo":"Am wybodaeth ynghylch trwyddedau, ewch i'n gwefan:"},"basicstyles":{"bold":"Bras","italic":"Italig","strike":"Llinell Trwyddo","subscript":"Is-sgript","superscript":"Uwchsgript","underline":"Tanlinellu"},"bidi":{"ltr":"Cyfeiriad testun o'r chwith i'r dde","rtl":"Cyfeiriad testun o'r dde i'r chwith"},"blockquote":{"toolbar":"Dyfyniad bloc"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Cyfangu'r Bar Offer","toolbarExpand":"Ehangu'r Bar Offer","toolbarGroups":{"document":"Dogfen","clipboard":"Clipfwrdd/Dadwneud","editing":"Golygu","forms":"Ffurflenni","basicstyles":"Arddulliau Sylfaenol","paragraph":"Paragraff","links":"Dolenni","insert":"Mewnosod","styles":"Arddulliau","colors":"Lliwiau","tools":"Offer"},"toolbars":"Bariau offer y golygydd"},"clipboard":{"copy":"Copïo","copyError":"'Dyw gosodiadau diogelwch eich porwr ddim yn caniatàu'r golygydd i gynnal 'gweithredoedd copïo' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+C).","cut":"Torri","cutError":"Nid yw gosodiadau diogelwch eich porwr yn caniatàu'r golygydd i gynnal 'gweithredoedd torri' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+X).","paste":"Gludo","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Ardal Gludo","pasteMsg":"Paste your content inside the area below and press OK.","title":"Gludo"},"colorbutton":{"auto":"Awtomatig","bgColorTitle":"Lliw Cefndir","colors":{"000":"Du","800000":"Marwn","8B4513":"Brown Cyfrwy","2F4F4F":"Llechen Tywyll","008080":"Corhwyad","000080":"Nefi","4B0082":"Indigo","696969":"Llwyd Tywyll","B22222":"Bric Tân","A52A2A":"Brown","DAA520":"Rhoden Aur","006400":"Gwyrdd Tywyll","40E0D0":"Gwyrddlas","0000CD":"Glas Canolig","800080":"Porffor","808080":"Llwyd","F00":"Coch","FF8C00":"Oren Tywyll","FFD700":"Aur","008000":"Gwyrdd","0FF":"Cyan","00F":"Glas","EE82EE":"Fioled","A9A9A9":"Llwyd Pwl","FFA07A":"Samwn Golau","FFA500":"Oren","FFFF00":"Melyn","00FF00":"Leim","AFEEEE":"Gwyrddlas Golau","ADD8E6":"Glas Golau","DDA0DD":"Eirinen","D3D3D3":"Llwyd Golau","FFF0F5":"Gwrid Lafant","FAEBD7":"Gwyn Hynafol","FFFFE0":"Melyn Golau","F0FFF0":"Melwn Gwyrdd Golau","F0FFFF":"Aswr","F0F8FF":"Glas Alys","E6E6FA":"Lafant","FFF":"Gwyn","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Mwy o Liwiau...","panelTitle":"Lliwiau","textColorTitle":"Lliw Testun"},"colordialog":{"clear":"Clirio","highlight":"Uwcholeuo","options":"Opsiynau Lliw","selected":"Lliw a Ddewiswyd","title":"Dewis lliw"},"templates":{"button":"Templedi","emptyListMsg":"(Dim templedi wedi'u diffinio)","insertOption":"Amnewid y cynnwys go iawn","options":"Opsiynau Templedi","selectPromptMsg":"Dewiswch dempled i'w agor yn y golygydd","title":"Templedi Cynnwys"},"contextmenu":{"options":"Opsiynau Dewislen Cyd-destun"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Teitl Cynghorol","cssClassInputLabel":"Dosbarthiadau Ffeil Arddull","edit":"Golygu Div","inlineStyleInputLabel":"Arddull Mewn Llinell","langDirLTRLabel":"Chwith i'r Dde (LTR)","langDirLabel":"Cyfeiriad yr Iaith","langDirRTLLabel":"Dde i'r Chwith (RTL)","languageCodeInputLabel":" Cod Iaith","remove":"Tynnu Div","styleSelectLabel":"Arddull","title":"Creu Cynhwysydd Div","toolbar":"Creu Cynhwysydd Div"},"elementspath":{"eleLabel":"Llwybr elfennau","eleTitle":"Elfen %1"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Chwilio","findOptions":"Opsiynau Chwilio","findWhat":"Chwilio'r term:","matchCase":"Cydweddu'r cas","matchCyclic":"Cydweddu'n gylchol","matchWord":"Cydweddu gair cyfan","notFoundMsg":"Nid oedd y testun wedi'i ddarganfod.","replace":"Amnewid Un","replaceAll":"Amnewid Pob","replaceSuccessMsg":"Amnewidiwyd %1 achlysur.","replaceWith":"Amnewid gyda:","title":"Chwilio ac Amnewid"},"fakeobjects":{"anchor":"Angor","flash":"Animeiddiant Flash","hiddenfield":"Maes Cudd","iframe":"IFrame","unknown":"Gwrthrych Anhysbys"},"flash":{"access":"Mynediad Sgript","accessAlways":"Pob amser","accessNever":"Byth","accessSameDomain":"R'un parth","alignAbsBottom":"Gwaelod Abs","alignAbsMiddle":"Canol Abs","alignBaseline":"Baslinell","alignTextTop":"Testun Top","bgcolor":"Lliw cefndir","chkFull":"Caniatàu Sgrin Llawn","chkLoop":"Lwpio","chkMenu":"Galluogi Dewislen Flash","chkPlay":"AwtoChwarae","flashvars":"Newidynnau ar gyfer Flash","hSpace":"BwlchLl","properties":"Priodweddau Flash","propertiesTab":"Priodweddau","quality":"Ansawdd","qualityAutoHigh":"Uchel Awto","qualityAutoLow":"Isel Awto","qualityBest":"Gorau","qualityHigh":"Uchel","qualityLow":"Isel","qualityMedium":"Canolig","scale":"Graddfa","scaleAll":"Dangos pob","scaleFit":"Ffit Union","scaleNoBorder":"Dim Ymyl","title":"Priodweddau Flash","vSpace":"BwlchF","validateHSpace":"Rhaid i'r BwlchLl fod yn rhif.","validateSrc":"Ni all yr URL fod yn wag.","validateVSpace":"Rhaid i'r BwlchF fod yn rhif.","windowMode":"Modd ffenestr","windowModeOpaque":"Afloyw","windowModeTransparent":"Tryloyw","windowModeWindow":"Ffenestr"},"font":{"fontSize":{"label":"Maint","voiceLabel":"Maint y Ffont","panelTitle":"Maint y Ffont"},"label":"Ffont","panelTitle":"Enw'r Ffont","voiceLabel":"Ffont"},"forms":{"button":{"title":"Priodweddau Botymau","text":"Testun (Gwerth)","type":"Math","typeBtn":"Botwm","typeSbm":"Anfon","typeRst":"Ailosod"},"checkboxAndRadio":{"checkboxTitle":"Priodweddau Blwch Ticio","radioTitle":"Priodweddau Botwm Radio","value":"Gwerth","selected":"Dewiswyd","required":"Required"},"form":{"title":"Priodweddau Ffurflen","menu":"Priodweddau Ffurflen","action":"Gweithred","method":"Dull","encoding":"Amgodio"},"hidden":{"title":"Priodweddau Maes Cudd","name":"Enw","value":"Gwerth"},"select":{"title":"Priodweddau Maes Dewis","selectInfo":"Gwyb Dewis","opAvail":"Opsiynau ar Gael","value":"Gwerth","size":"Maint","lines":"llinellau","chkMulti":"Caniatàu aml-ddewisiadau","required":"Required","opText":"Testun","opValue":"Gwerth","btnAdd":"Ychwanegu","btnModify":"Newid","btnUp":"Lan","btnDown":"Lawr","btnSetValue":"Gosod fel gwerth a ddewiswyd","btnDelete":"Dileu"},"textarea":{"title":"Priodweddau Ardal Testun","cols":"Colofnau","rows":"Rhesi"},"textfield":{"title":"Priodweddau Maes Testun","name":"Enw","value":"Gwerth","charWidth":"Lled Nod","maxChars":"Uchafswm y Nodau","required":"Required","type":"Math","typeText":"Testun","typePass":"Cyfrinair","typeEmail":"Ebost","typeSearch":"Chwilio","typeTel":"Rhif Ffôn","typeUrl":"URL"}},"format":{"label":"Fformat","panelTitle":"Fformat Paragraff","tag_address":"Cyfeiriad","tag_div":"Normal (DIV)","tag_h1":"Pennawd 1","tag_h2":"Pennawd 2","tag_h3":"Pennawd 3","tag_h4":"Pennawd 4","tag_h5":"Pennawd 5","tag_h6":"Pennawd 6","tag_p":"Normal","tag_pre":"Wedi'i Fformatio"},"horizontalrule":{"toolbar":"Mewnosod Llinell Lorweddol"},"iframe":{"border":"Dangos ymyl y ffrâm","noUrl":"Rhowch URL yr iframe","scrolling":"Galluogi bariau sgrolio","title":"Priodweddau IFrame","toolbar":"IFrame"},"image":{"alt":"Testun Amgen","border":"Ymyl","btnUpload":"Anfon i'r Gweinydd","button2Img":"Ydych am drawsffurfio'r botwm ddelwedd hwn ar ddelwedd syml?","hSpace":"BwlchLl","img2Button":"Ydych am drawsffurfio'r ddelwedd hon ar fotwm delwedd?","infoTab":"Gwyb Delwedd","linkTab":"Dolen","lockRatio":"Cloi Cymhareb","menu":"Priodweddau Delwedd","resetSize":"Ailosod Maint","title":"Priodweddau Delwedd","titleButton":"Priodweddau Botwm Delwedd","upload":"Lanlwytho","urlMissing":"URL gwreiddiol y ddelwedd ar goll.","vSpace":"BwlchF","validateBorder":"Rhaid i'r ymyl fod yn gyfanrif.","validateHSpace":"Rhaid i'r HSpace fod yn gyfanrif.","validateVSpace":"Rhaid i'r VSpace fod yn gyfanrif."},"indent":{"indent":"Cynyddu'r Mewnoliad","outdent":"Lleihau'r Mewnoliad"},"smiley":{"options":"Opsiynau Gwenogluniau","title":"Mewnosod Gwenoglun","toolbar":"Gwenoglun"},"language":{"button":"Gosod iaith","remove":"Tynnu iaith"},"link":{"acccessKey":"Allwedd Mynediad","advanced":"Uwch","advisoryContentType":"Math y Cynnwys Cynghorol","advisoryTitle":"Teitl Cynghorol","anchor":{"toolbar":"Angor","menu":"Golygu'r Angor","title":"Priodweddau'r Angor","name":"Enw'r Angor","errorName":"Teipiwch enw'r angor","remove":"Tynnwch yr Angor"},"anchorId":"Gan Id yr Elfen","anchorName":"Gan Enw'r Angor","charset":"Set Nodau'r Adnodd Cysylltiedig","cssClasses":"Dosbarthiadau Dalen Arddull","download":"Force Download","displayText":"Display Text","emailAddress":"Cyfeiriad E-Bost","emailBody":"Corff y Neges","emailSubject":"Testun y Neges","id":"Id","info":"Gwyb y Ddolen","langCode":"Cod Iaith","langDir":"Cyfeiriad Iaith","langDirLTR":"Chwith i'r Dde (LTR)","langDirRTL":"Dde i'r Chwith (RTL)","menu":"Golygu Dolen","name":"Enw","noAnchors":"(Dim angorau ar gael yn y ddogfen)","noEmail":"Teipiwch gyfeiriad yr e-bost","noUrl":"Teipiwch URL y ddolen","other":"<eraill>","popupDependent":"Dibynnol (Netscape)","popupFeatures":"Nodweddion Ffenestr Bop","popupFullScreen":"Sgrin Llawn (IE)","popupLeft":"Safle Chwith","popupLocationBar":"Bar Safle","popupMenuBar":"Dewislen","popupResizable":"Ailfeintiol","popupScrollBars":"Barrau Sgrolio","popupStatusBar":"Bar Statws","popupToolbar":"Bar Offer","popupTop":"Safle Top","rel":"Perthynas","selectAnchor":"Dewiswch Angor","styles":"Arddull","tabIndex":"Indecs Tab","target":"Targed","targetFrame":"<ffrâm>","targetFrameName":"Enw Ffrâm y Targed","targetPopup":"<ffenestr bop>","targetPopupName":"Enw Ffenestr Bop","title":"Dolen","toAnchor":"Dolen at angor yn y testun","toEmail":"E-bost","toUrl":"URL","toolbar":"Dolen","type":"Math y Ddolen","unlink":"Datgysylltu","upload":"Lanlwytho"},"list":{"bulletedlist":"Mewnosod/Tynnu Rhestr Bwled","numberedlist":"Mewnosod/Tynnu Rhestr Rhifol"},"liststyle":{"armenian":"Rhifo Armeneg","bulletedTitle":"Priodweddau Rhestr Fwled","circle":"Cylch","decimal":"Degol (1, 2, 3, ayyb.)","decimalLeadingZero":"Degol â sero arweiniol (01, 02, 03, ayyb.)","disc":"Disg","georgian":"Rhifau Sioraidd (an, ban, gan, ayyb.)","lowerAlpha":"Alffa Is (a, b, c, d, e, ayyb.)","lowerGreek":"Groeg Is (alpha, beta, gamma, ayyb.)","lowerRoman":"Rhufeinig Is (i, ii, iii, iv, v, ayyb.)","none":"Dim","notset":"<heb osod>","numberedTitle":"Priodweddau Rhestr Rifol","square":"Sgwâr","start":"Dechrau","type":"Math","upperAlpha":"Alffa Uwch (A, B, C, D, E, ayyb.)","upperRoman":"Rhufeinig Uwch (I, II, III, IV, V, ayyb.)","validateStartNumber":"Rhaid bod y rhif cychwynnol yn gyfanrif."},"magicline":{"title":"Mewnosod paragraff yma"},"maximize":{"maximize":"Mwyhau","minimize":"Lleihau"},"newpage":{"toolbar":"Tudalen Newydd"},"pagebreak":{"alt":"Toriad Tudalen","toolbar":"Mewnosod Toriad Tudalen i Argraffu"},"pastetext":{"button":"Gludo fel testun plaen","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Gludo fel Testun Plaen"},"pastefromword":{"confirmCleanup":"Mae'r testun rydych chi am ludo wedi'i gopïo o Word. Ydych chi am ei lanhau cyn ei ludo?","error":"Doedd dim modd glanhau y data a ludwyd oherwydd gwall mewnol","title":"Gludo o Word","toolbar":"Gludo o Word"},"preview":{"preview":"Rhagolwg"},"print":{"toolbar":"Argraffu"},"removeformat":{"toolbar":"Tynnu Fformat"},"save":{"toolbar":"Cadw"},"selectall":{"toolbar":"Dewis Popeth"},"showblocks":{"toolbar":"Dangos Blociau"},"sourcearea":{"toolbar":"HTML"},"specialchar":{"options":"Opsiynau Nodau Arbennig","title":"Dewis Nod Arbennig","toolbar":"Mewnosod Nod Arbennig"},"scayt":{"btn_about":"Ynghylch SCAYT","btn_dictionaries":"Geiriaduron","btn_disable":"Analluogi SCAYT","btn_enable":"Galluogi SCAYT","btn_langs":"Ieithoedd","btn_options":"Opsiynau","text_title":"Gwirio'r Sillafu Wrth Deipio"},"stylescombo":{"label":"Arddulliau","panelTitle":"Arddulliau Fformatio","panelTitle1":"Arddulliau Bloc","panelTitle2":"Arddulliau Mewnol","panelTitle3":"Arddulliau Gwrthrych"},"table":{"border":"Maint yr Ymyl","caption":"Pennawd","cell":{"menu":"Cell","insertBefore":"Mewnosod Cell Cyn","insertAfter":"Mewnosod Cell Ar Ôl","deleteCell":"Dileu Celloedd","merge":"Cyfuno Celloedd","mergeRight":"Cyfuno i'r Dde","mergeDown":"Cyfuno i Lawr","splitHorizontal":"Hollti'r Gell yn Lorweddol","splitVertical":"Hollti'r Gell yn Fertigol","title":"Priodweddau'r Gell","cellType":"Math y Gell","rowSpan":"Rhychwant Rhesi","colSpan":"Rhychwant Colofnau","wordWrap":"Lapio Geiriau","hAlign":"Aliniad Llorweddol","vAlign":"Aliniad Fertigol","alignBaseline":"Baslinell","bgColor":"Lliw Cefndir","borderColor":"Lliw Ymyl","data":"Data","header":"Pennyn","yes":"Ie","no":"Na","invalidWidth":"Mae'n rhaid i led y gell fod yn rhif.","invalidHeight":"Mae'n rhaid i uchder y gell fod yn rhif.","invalidRowSpan":"Mae'n rhaid i rychwant y rhesi fod yn gyfanrif.","invalidColSpan":"Mae'n rhaid i rychwant y colofnau fod yn gyfanrif.","chooseColor":"Dewis"},"cellPad":"Padio'r gell","cellSpace":"Bylchiad y gell","column":{"menu":"Colofn","insertBefore":"Mewnosod Colofn Cyn","insertAfter":"Mewnosod Colofn Ar Ôl","deleteColumn":"Dileu Colofnau"},"columns":"Colofnau","deleteTable":"Dileu Tabl","headers":"Penynnau","headersBoth":"Y Ddau","headersColumn":"Colofn gyntaf","headersNone":"Dim","headersRow":"Rhes gyntaf","invalidBorder":"Mae'n rhaid i faint yr ymyl fod yn rhif.","invalidCellPadding":"Mae'n rhaid i badiad y gell fod yn rhif positif.","invalidCellSpacing":"Mae'n rhaid i fylchiad y gell fod yn rhif positif.","invalidCols":"Mae'n rhaid cael o leiaf un golofn.","invalidHeight":"Mae'n rhaid i uchder y tabl fod yn rhif.","invalidRows":"Mae'n rhaid cael o leiaf un rhes.","invalidWidth":"Mae'n rhaid i led y tabl fod yn rhif.","menu":"Priodweddau'r Tabl","row":{"menu":"Rhes","insertBefore":"Mewnosod Rhes Cyn","insertAfter":"Mewnosod Rhes Ar Ôl","deleteRow":"Dileu Rhesi"},"rows":"Rhesi","summary":"Crynodeb","title":"Priodweddau'r Tabl","toolbar":"Tabl","widthPc":"y cant","widthPx":"picsel","widthUnit":"uned lled"},"undo":{"redo":"Ailwneud","undo":"Dadwneud"},"widget":{"move":"Clcio a llusgo i symud","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Anwybyddu Un","btnIgnoreAll":"Anwybyddu Pob","btnReplace":"Amnewid Un","btnReplaceAll":"Amnewid Pob","btnUndo":"Dadwneud","changeTo":"Newid i","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Gwirydd sillafu heb ei arsefydlu. A ydych am ei lawrlwytho nawr?","manyChanges":"Gwirio sillafu wedi gorffen: Newidiwyd %1 gair","noChanges":"Gwirio sillafu wedi gorffen: Dim newidiadau","noMispell":"Gwirio sillafu wedi gorffen: Dim camsillaf.","noSuggestions":"- Dim awgrymiadau -","notAvailable":"Nid yw'r gwasanaeth hwn ar gael yn bresennol.","notInDic":"Nid i'w gael yn y geiriadur","oneChange":"Gwirio sillafu wedi gorffen: Newidiwyd 1 gair","progress":"Gwirio sillafu yn ar y gweill...","title":"Gwirio Sillafu","toolbar":"Gwirio Sillafu"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/cy.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ka.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ka.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ka.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['ka']={"editor":"ტექსტის რედაქტორი","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"დააჭირეთ ALT 0-ს დახმარების მისაღებად","browseServer":"სერვერზე დათვალიერება","url":"URL","protocol":"პროტოკოლი","upload":"ატვირთვა","uploadSubmit":"სერვერზე გაგზავნა","image":"სურათი","flash":"Flash","form":"ფორმა","checkbox":"მონიშვნის ღილაკი","radio":"ამორჩევის ღილაკი","textField":"ტექსტური ველი","textarea":"ტექსტური არე","hiddenField":"მალული ველი","button":"ღილაკი","select":"არჩევის ველი","imageButton":"სურათიანი ღილაკი","notSet":"<არაფერი>","id":"Id","name":"სახელი","langDir":"ენის მიმართულება","langDirLtr":"მარცხნიდან მარჯვნივ (LTR)","langDirRtl":"მარჯვნიდან მარცხნივ (RTL)","langCode":"ენის კოდი","longDescr":"დიდი აღწერის URL","cssClass":"CSS კლასი","advisoryTitle":"სათაური","cssStyle":"CSS სტილი","ok":"დიახ","cancel":"გაუქმება","close":"დახურვა","preview":"გადახედვა","resize":"გაწიე ზომის შესაცვლელად","generalTab":"ინფორმაცია","advancedTab":"გაფართოებული","validateNumberFailed":"ეს მნიშვნელობა არაა რიცხვი.","confirmNewPage":"ამ დოკუმენტში ყველა ჩაუწერელი ცვლილება დაიკარგება. დარწმუნებული ხართ რომ ახალი გვერდის ჩატვირთვა გინდათ?","confirmCancel":"ზოგიერთი პარამეტრი შეცვლილია, დარწმუნებულილ ხართ რომ ფანჯრის დახურვა გსურთ?","options":"პარამეტრები","target":"გახსნის ადგილი","targetNew":"ახალი ფანჯარა (_blank)","targetTop":"ზედა ფანჯარა (_top)","targetSelf":"იგივე ფანჯარა (_self)","targetParent":"მშობელი ფანჯარა (_parent)","langDirLTR":"მარცხნიდან მარჯვნივ (LTR)","langDirRTL":"მარჯვნიდან მარცხნივ (RTL)","styles":"სტილი","cssClasses":"CSS კლასი","width":"სიგანე","height":"სიმაღლე","align":"სწორება","left":"მარცხენა","right":"მარჯვენა","center":"შუა","justify":"両端揃え","alignLeft":"მარცხნივ სწორება","alignRight":"მარჯვნივ სწორება","alignCenter":"Align Center","alignTop":"ზემოთა","alignMiddle":"შუა","alignBottom":"ქვემოთა","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"სიმაღლე რიცხვით უნდა იყოს წარმოდგენილი.","invalidWidth":"სიგანე რიცხვით უნდა იყოს წარმოდგენილი.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, მიუწვდომელია</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. ყველა უფლება დაცულია.","dlgTitle":"CKEditor-ის შესახებ","moreInfo":"ლიცენზიის ინფორმაციისთვის ეწვიეთ ჩვენს საიტს:"},"basicstyles":{"bold":"მსხვილი","italic":"დახრილი","strike":"გადახაზული","subscript":"ინდექსი","superscript":"ხარისხი","underline":"გახაზული"},"bidi":{"ltr":"ტექსტის მიმართულება მარცხნიდან მარჯვნივ","rtl":"ტექსტის მიმართულება მარჯვნიდან მარცხნივ"},"blockquote":{"toolbar":"ციტატა"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"ხელსაწყოთა ზოლის შეწევა","toolbarExpand":"ხელსაწყოთა ზოლის გამოწევა","toolbarGroups":{"document":"დოკუმენტი","clipboard":"Clipboard/გაუქმება","editing":"რედაქტირება","forms":"ფორმები","basicstyles":"ძირითადი სტილები","paragraph":"აბზაცი","links":"ბმულები","insert":"ჩასმა","styles":"სტილები","colors":"ფერები","tools":"ხელსაწყოები"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"ასლი","copyError":"თქვენი ბროუზერის უსაფრთხოების პარამეტრები არ იძლევა ასლის ოპერაციის ავტომატურად განხორციელების საშუალებას. გამოიყენეთ კლავიატურა ამისთვის (Ctrl/Cmd+C).","cut":"ამოჭრა","cutError":"თქვენი ბროუზერის უსაფრთხოების პარამეტრები არ იძლევა ამოჭრის ოპერაციის ავტომატურად განხორციელების საშუალებას. გამოიყენეთ კლავიატურა ამისთვის (Ctrl/Cmd+X).","paste":"ჩასმა","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"ჩასმის არე","pasteMsg":"Paste your content inside the area below and press OK.","title":"ჩასმა"},"colorbutton":{"auto":"ავტომატური","bgColorTitle":"ფონის ფერი","colors":{"000":"შავი","800000":"მუქი შინდისფერი","8B4513":"ყავისფერი","2F4F4F":"მოლურჯო ნაცრისფერი","008080":"ჩამქრალი ლურჯი","000080":"მუქი ლურჯი","4B0082":"იასამნისფერი","696969":"მუქი ნაცრისფერი","B22222":"აგურისფერი","A52A2A":"მუქი ყავისფერი","DAA520":"მოყვითალო","006400":"მუქი მწვანე","40E0D0":"ცისფერი","0000CD":"ზომიერად ლურჯი","800080":"იისფერი","808080":"ნაცრისფერი","F00":"წითელი","FF8C00":"მუქი სტაფილოსფერი","FFD700":"ოქროსფერი","008000":"მწვანე","0FF":"ღია ცისფერი","00F":"ლურჯი","EE82EE":"იისფერი","A9A9A9":"ბაცი ნაცრისფერი","FFA07A":"ჩამქრალი ვარდისფერი","FFA500":"სტაფილოსფერი","FFFF00":"ყვითელი","00FF00":"ლურჯი","AFEEEE":"ცისფერი","ADD8E6":"ღია ლურჯი","DDA0DD":"ღია იისფერი","D3D3D3":"ღია ნაცრისფერი","FFF0F5":"ღია ვარდისფერი","FAEBD7":"ღია ყავისფერი","FFFFE0":"ნათელი ყვითელი","F0FFF0":"ღია მწვანე","F0FFFF":"ღია ცისფერი 2","F0F8FF":"ღია ცისფერი 3","E6E6FA":"ღია იისფერი 2","FFF":"თეთრი","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"მეტი ფერი...","panelTitle":"ფერები","textColorTitle":"ტექსტის ფერი"},"colordialog":{"clear":"გასუფთავება","highlight":"ჩვენება","options":"ფერის პარამეტრები","selected":"არჩეული ფერი","title":"ფერის შეცვლა"},"templates":{"button":"თარგები","emptyListMsg":"(თარგი არაა განსაზღვრული)","insertOption":"მიმდინარე შეგთავსის შეცვლა","options":"თარგების პარამეტრები","selectPromptMsg":"აირჩიეთ თარგი რედაქტორისთვის","title":"თარგები"},"contextmenu":{"options":"კონტექსტური მენიუს პარამეტრები"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"სათაური","cssClassInputLabel":"CSS კლასები","edit":"Div-ის რედაქტირება","inlineStyleInputLabel":"თანდართული სტილი","langDirLTRLabel":"მარცხნიდან მარჯვნიც (LTR)","langDirLabel":"ენის მინართულება","langDirRTLLabel":"მარჯვნიდან მარცხნივ (RTL)","languageCodeInputLabel":"ენის კოდი","remove":"Div-ის წაშლა","styleSelectLabel":"სტილი","title":"Div კონტეინერის შექმნა","toolbar":"Div კონტეინერის შექმნა"},"elementspath":{"eleLabel":"ელემეტის გზა","eleTitle":"%1 ელემენტი"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"ძებნა","findOptions":"Find Options","findWhat":"საძიებელი ტექსტი:","matchCase":"დიდი და პატარა ასოების დამთხვევა","matchCyclic":"დოკუმენტის ბოლოში გასვლის მერე თავიდან დაწყება","matchWord":"მთელი სიტყვის დამთხვევა","notFoundMsg":"მითითებული ტექსტი არ მოიძებნა.","replace":"შეცვლა","replaceAll":"ყველას შეცვლა","replaceSuccessMsg":"%1 მოძებნილი შეიცვალა.","replaceWith":"შეცვლის ტექსტი:","title":"ძებნა და შეცვლა"},"fakeobjects":{"anchor":"ღუზა","flash":"Flash ანიმაცია","hiddenfield":"მალული ველი","iframe":"IFrame","unknown":"უცნობი ობიექტი"},"flash":{"access":"სკრიპტის წვდომა","accessAlways":"ყოველთვის","accessNever":"არასდროს","accessSameDomain":"იგივე დომენი","alignAbsBottom":"ჩარჩოს ქვემოთა ნაწილის სწორება ტექსტისთვის","alignAbsMiddle":"ჩარჩოს შუა ნაწილის სწორება ტექსტისთვის","alignBaseline":"საბაზისო ხაზის სწორება","alignTextTop":"ტექსტი ზემოდან","bgcolor":"ფონის ფერი","chkFull":"მთელი ეკრანის დაშვება","chkLoop":"ჩაციკლვა","chkMenu":"Flash-ის მენიუს დაშვება","chkPlay":"ავტო გაშვება","flashvars":"ცვლადები Flash-ისთვის","hSpace":"ჰორიზ. სივრცე","properties":"Flash-ის პარამეტრები","propertiesTab":"პარამეტრები","quality":"ხარისხი","qualityAutoHigh":"მაღალი (ავტომატური)","qualityAutoLow":"ძალიან დაბალი","qualityBest":"საუკეთესო","qualityHigh":"მაღალი","qualityLow":"დაბალი","qualityMedium":"საშუალო","scale":"მასშტაბირება","scaleAll":"ყველაფრის ჩვენება","scaleFit":"ზუსტი ჩასმა","scaleNoBorder":"ჩარჩოს გარეშე","title":"Flash-ის პარამეტრები","vSpace":"ვერტ. სივრცე","validateHSpace":"ჰორიზონტალური სივრცე არ უნდა იყოს ცარიელი.","validateSrc":"URL არ უნდა იყოს ცარიელი.","validateVSpace":"ვერტიკალური სივრცე არ უნდა იყოს ცარიელი.","windowMode":"ფანჯრის რეჟიმი","windowModeOpaque":"გაუმჭვირვალე","windowModeTransparent":"გამჭვირვალე","windowModeWindow":"ფანჯარა"},"font":{"fontSize":{"label":"ზომა","voiceLabel":"ტექსტის ზომა","panelTitle":"ტექსტის ზომა"},"label":"ფონტი","panelTitle":"ფონტის სახელი","voiceLabel":"ფონტი"},"forms":{"button":{"title":"ღილაკის პარამეტრები","text":"ტექსტი","type":"ტიპი","typeBtn":"ღილაკი","typeSbm":"გაგზავნა","typeRst":"გასუფთავება"},"checkboxAndRadio":{"checkboxTitle":"მონიშვნის ღილაკის (Checkbox) პარამეტრები","radioTitle":"ასარჩევი ღილაკის (Radio) პარამეტრები","value":"ტექსტი","selected":"არჩეული","required":"Required"},"form":{"title":"ფორმის პარამეტრები","menu":"ფორმის პარამეტრები","action":"ქმედება","method":"მეთოდი","encoding":"კოდირება"},"hidden":{"title":"მალული ველის პარამეტრები","name":"სახელი","value":"მნიშვნელობა"},"select":{"title":"არჩევის ველის პარამეტრები","selectInfo":"ინფორმაცია","opAvail":"შესაძლებელი ვარიანტები","value":"მნიშვნელობა","size":"ზომა","lines":"ხაზები","chkMulti":"მრავლობითი არჩევანის საშუალება","required":"Required","opText":"ტექსტი","opValue":"მნიშვნელობა","btnAdd":"დამატება","btnModify":"შეცვლა","btnUp":"ზემოთ","btnDown":"ქვემოთ","btnSetValue":"ამორჩეულ მნიშვნელოვნად დაყენება","btnDelete":"წაშლა"},"textarea":{"title":"ტექსტური არის პარამეტრები","cols":"სვეტები","rows":"სტრიქონები"},"textfield":{"title":"ტექსტური ველის პარამეტრები","name":"სახელი","value":"მნიშვნელობა","charWidth":"სიმბოლოს ზომა","maxChars":"ასოების მაქსიმალური ოდენობა","required":"Required","type":"ტიპი","typeText":"ტექსტი","typePass":"პაროლი","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"ფიორმატირება","panelTitle":"ფორმატირება","tag_address":"მისამართი","tag_div":"ჩვეულებრივი (DIV)","tag_h1":"სათაური 1","tag_h2":"სათაური 2","tag_h3":"სათაური 3","tag_h4":"სათაური 4","tag_h5":"სათაური 5","tag_h6":"სათაური 6","tag_p":"ჩვეულებრივი","tag_pre":"ფორმატირებული"},"horizontalrule":{"toolbar":"ჰორიზონტალური ხაზის ჩასმა"},"iframe":{"border":"ჩარჩოს გამოჩენა","noUrl":"აკრიფეთ iframe-ის URL","scrolling":"გადახვევის ზოლების დაშვება","title":"IFrame-ის პარამეტრები","toolbar":"IFrame"},"image":{"alt":"სანაცვლო ტექსტი","border":"ჩარჩო","btnUpload":"სერვერისთვის გაგზავნა","button2Img":"გსურთ არჩეული სურათიანი ღილაკის გადაქცევა ჩვეულებრივ ღილაკად?","hSpace":"ჰორიზონტალური სივრცე","img2Button":"გსურთ არჩეული ჩვეულებრივი ღილაკის გადაქცევა სურათიან ღილაკად?","infoTab":"სურათის ინფორმცია","linkTab":"ბმული","lockRatio":"პროპორციის შენარჩუნება","menu":"სურათის პარამეტრები","resetSize":"ზომის დაბრუნება","title":"სურათის პარამეტრები","titleButton":"სურათიანი ღილაკის პარამეტრები","upload":"ატვირთვა","urlMissing":"სურათის URL არაა შევსებული.","vSpace":"ვერტიკალური სივრცე","validateBorder":"ჩარჩო მთელი რიცხვი უნდა იყოს.","validateHSpace":"ჰორიზონტალური სივრცე მთელი რიცხვი უნდა იყოს.","validateVSpace":"ვერტიკალური სივრცე მთელი რიცხვი უნდა იყოს."},"indent":{"indent":"მეტად შეწევა","outdent":"ნაკლებად შეწევა"},"smiley":{"options":"სიცილაკის პარამეტრები","title":"სიცილაკის ჩასმა","toolbar":"სიცილაკები"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"წვდომის ღილაკი","advanced":"დაწვრილებით","advisoryContentType":"შიგთავსის ტიპი","advisoryTitle":"სათაური","anchor":{"toolbar":"ღუზა","menu":"ღუზის რედაქტირება","title":"ღუზის პარამეტრები","name":"ღუზუს სახელი","errorName":"აკრიფეთ ღუზის სახელი","remove":"Remove Anchor"},"anchorId":"ელემენტის Id-თ","anchorName":"ღუზის სახელით","charset":"კოდირება","cssClasses":"CSS კლასი","download":"Force Download","displayText":"Display Text","emailAddress":"ელფოსტის მისამართები","emailBody":"წერილის ტექსტი","emailSubject":"წერილის სათაური","id":"Id","info":"ბმულის ინფორმაცია","langCode":"ენის კოდი","langDir":"ენის მიმართულება","langDirLTR":"მარცხნიდან მარჯვნივ (LTR)","langDirRTL":"მარჯვნიდან მარცხნივ (RTL)","menu":"ბმულის რედაქტირება","name":"სახელი","noAnchors":"(ამ დოკუმენტში ღუზა არაა)","noEmail":"აკრიფეთ ელფოსტის მისამართი","noUrl":"აკრიფეთ ბმულის URL","other":"<სხვა>","popupDependent":"დამოკიდებული (Netscape)","popupFeatures":"Popup ფანჯრის პარამეტრები","popupFullScreen":"მთელი ეკრანი (IE)","popupLeft":"მარცხენა პოზიცია","popupLocationBar":"ნავიგაციის ზოლი","popupMenuBar":"მენიუს ზოლი","popupResizable":"ცვალებადი ზომით","popupScrollBars":"გადახვევის ზოლები","popupStatusBar":"სტატუსის ზოლი","popupToolbar":"ხელსაწყოთა ზოლი","popupTop":"ზედა პოზიცია","rel":"კავშირი","selectAnchor":"აირჩიეთ ღუზა","styles":"CSS სტილი","tabIndex":"Tab-ის ინდექსი","target":"გახსნის ადგილი","targetFrame":"<frame>","targetFrameName":"Frame-ის სახელი","targetPopup":"<popup ფანჯარა>","targetPopupName":"Popup ფანჯრის სახელი","title":"ბმული","toAnchor":"ბმული ტექსტში ღუზაზე","toEmail":"ელფოსტა","toUrl":"URL","toolbar":"ბმული","type":"ბმულის ტიპი","unlink":"ბმულის მოხსნა","upload":"აქაჩვა"},"list":{"bulletedlist":"ღილიანი სია","numberedlist":"გადანომრილი სია"},"liststyle":{"armenian":"სომხური გადანომრვა","bulletedTitle":"ღილებიანი სიის პარამეტრები","circle":"წრეწირი","decimal":"რიცხვებით (1, 2, 3, ..)","decimalLeadingZero":"ნულით დაწყებული რიცხვებით (01, 02, 03, ..)","disc":"წრე","georgian":"ქართული გადანომრვა (ან, ბან, გან, ..)","lowerAlpha":"პატარა ლათინური ასოებით (a, b, c, d, e, ..)","lowerGreek":"პატარა ბერძნული ასოებით (ალფა, ბეტა, გამა, ..)","lowerRoman":"რომაული გადანომრვცა პატარა ციფრებით (i, ii, iii, iv, v, ..)","none":"არაფერი","notset":"<არაფერი>","numberedTitle":"გადანომრილი სიის პარამეტრები","square":"კვადრატი","start":"საწყისი","type":"ტიპი","upperAlpha":"დიდი ლათინური ასოებით (A, B, C, D, E, ..)","upperRoman":"რომაული გადანომრვა დიდი ციფრებით (I, II, III, IV, V, etc.)","validateStartNumber":"სიის საწყისი მთელი რიცხვი უნდა იყოს."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"გადიდება","minimize":"დაპატარავება"},"newpage":{"toolbar":"ახალი გვერდი"},"pagebreak":{"alt":"გვერდის წყვეტა","toolbar":"გვერდის წყვეტა ბეჭდვისთვის"},"pastetext":{"button":"მხოლოდ ტექსტის ჩასმა","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"მხოლოდ ტექსტის ჩასმა"},"pastefromword":{"confirmCleanup":"ჩასასმელი ტექსტი ვორდიდან გადმოტანილს გავს - გინდათ მისი წინასწარ გაწმენდა?","error":"შიდა შეცდომის გამო ვერ მოხერხდა ტექსტის გაწმენდა","title":"ვორდიდან ჩასმა","toolbar":"ვორდიდან ჩასმა"},"preview":{"preview":"გადახედვა"},"print":{"toolbar":"ბეჭდვა"},"removeformat":{"toolbar":"ფორმატირების მოხსნა"},"save":{"toolbar":"ჩაწერა"},"selectall":{"toolbar":"ყველაფრის მონიშნვა"},"showblocks":{"toolbar":"არეების ჩვენება"},"sourcearea":{"toolbar":"კოდები"},"specialchar":{"options":"სპეციალური სიმბოლოს პარამეტრები","title":"სპეციალური სიმბოლოს არჩევა","toolbar":"სპეციალური სიმბოლოს ჩასმა"},"scayt":{"btn_about":"SCAYT-ის შესახებ","btn_dictionaries":"ლექსიკონები","btn_disable":"SCAYT-ის გამორთვა","btn_enable":"SCAYT-ის ჩართვა","btn_langs":"ენები","btn_options":"პარამეტრები","text_title":"მართლწერის შემოწმება კრეფისას"},"stylescombo":{"label":"სტილები","panelTitle":"ფორმატირების სტილები","panelTitle1":"არის სტილები","panelTitle2":"თანდართული სტილები","panelTitle3":"ობიექტის სტილები"},"table":{"border":"ჩარჩოს ზომა","caption":"სათაური","cell":{"menu":"უჯრა","insertBefore":"უჯრის ჩასმა მანამდე","insertAfter":"უჯრის ჩასმა მერე","deleteCell":"უჯრების წაშლა","merge":"უჯრების შეერთება","mergeRight":"შეერთება მარჯვენასთან","mergeDown":"შეერთება ქვემოთასთან","splitHorizontal":"გაყოფა ჰორიზონტალურად","splitVertical":"გაყოფა ვერტიკალურად","title":"უჯრის პარამეტრები","cellType":"უჯრის ტიპი","rowSpan":"სტრიქონების ოდენობა","colSpan":"სვეტების ოდენობა","wordWrap":"სტრიქონის გადატანა (Word Wrap)","hAlign":"ჰორიზონტალური სწორება","vAlign":"ვერტიკალური სწორება","alignBaseline":"ძირითადი ხაზის გასწვრივ","bgColor":"ფონის ფერი","borderColor":"ჩარჩოს ფერი","data":"მონაცემები","header":"სათაური","yes":"დიახ","no":"არა","invalidWidth":"უჯრის სიგანე რიცხვით უნდა იყოს წარმოდგენილი.","invalidHeight":"უჯრის სიმაღლე რიცხვით უნდა იყოს წარმოდგენილი.","invalidRowSpan":"სტრიქონების რაოდენობა მთელი რიცხვი უნდა იყოს.","invalidColSpan":"სვეტების რაოდენობა მთელი რიცხვი უნდა იყოს.","chooseColor":"არჩევა"},"cellPad":"უჯრის კიდე (padding)","cellSpace":"უჯრის სივრცე (spacing)","column":{"menu":"სვეტი","insertBefore":"სვეტის ჩამატება წინ","insertAfter":"სვეტის ჩამატება მერე","deleteColumn":"სვეტების წაშლა"},"columns":"სვეტი","deleteTable":"ცხრილის წაშლა","headers":"სათაურები","headersBoth":"ორივე","headersColumn":"პირველი სვეტი","headersNone":"არაფერი","headersRow":"პირველი სტრიქონი","invalidBorder":"ჩარჩოს ზომა რიცხვით უდნა იყოს წარმოდგენილი.","invalidCellPadding":"უჯრის კიდე (padding) რიცხვით უნდა იყოს წარმოდგენილი.","invalidCellSpacing":"უჯრის სივრცე (spacing) რიცხვით უნდა იყოს წარმოდგენილი.","invalidCols":"სვეტების რაოდენობა დადებითი რიცხვი უნდა იყოს.","invalidHeight":"ცხრილის სიმაღლე რიცხვით უნდა იყოს წარმოდგენილი.","invalidRows":"სტრიქონების რაოდენობა დადებითი რიცხვი უნდა იყოს.","invalidWidth":"ცხრილის სიგანე რიცხვით უნდა იყოს წარმოდგენილი.","menu":"ცხრილის პარამეტრები","row":{"menu":"სტრიქონი","insertBefore":"სტრიქონის ჩამატება წინ","insertAfter":"სტრიქონის ჩამატება მერე","deleteRow":"სტრიქონების წაშლა"},"rows":"სტრიქონი","summary":"შეჯამება","title":"ცხრილის პარამეტრები","toolbar":"ცხრილი","widthPc":"პროცენტი","widthPx":"წერტილი","widthUnit":"საზომი ერთეული"},"undo":{"redo":"გამეორება","undo":"გაუქმება"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"უგულებელყოფა","btnIgnoreAll":"ყველას უგულებელყოფა","btnReplace":"შეცვლა","btnReplaceAll":"ყველას შეცვლა","btnUndo":"გაუქმება","changeTo":"შეცვლელი","errorLoading":"სერვისის გამოძახების შეცდომა: %s.","ieSpellDownload":"მართლწერის შემოწმება არაა დაინსტალირებული. ჩამოვქაჩოთ ინტერნეტიდან?","manyChanges":"მართლწერის შემოწმება: %1 სიტყვა შეიცვალა","noChanges":"მართლწერის შემოწმება: არაფერი შეცვლილა","noMispell":"მართლწერის შემოწმება: შეცდომა არ მოიძებნა","noSuggestions":"- არაა შემოთავაზება -","notAvailable":"უკაცრავად, ეს სერვისი ამჟამად მიუწვდომელია.","notInDic":"არაა ლექსიკონში","oneChange":"მართლწერის შემოწმება: ერთი სიტყვა შეიცვალა","progress":"მიმდინარეობს მართლწერის შემოწმება...","title":"მართლწერა","toolbar":"მართლწერა"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ka.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/si.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/si.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/si.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['si']={"editor":"පොහොසත් වචන සංස්කරණ","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"උදව් ලබා ගැනීමට ALT බොත්තම ඔබන්න","browseServer":"සෙවුම් සේවාදායකය","url":"URL","protocol":"මුලාපත්‍රය","upload":"උඩුගතකිරීම","uploadSubmit":"සේවාදායකය වෙත යොමුකිරිම","image":"රුපය","flash":"දීප්තිය","form":"පෝරමය","checkbox":"ලකුණුකිරීමේ කොටුව","radio":"තේරීම් ","textField":"ලියන ප්‍රදේශය","textarea":"අකුරු ","hiddenField":"සැඟවුණු ප්‍රදේශය","button":"බොත්තම","select":"තෝරන්න ","imageButton":"රුප ","notSet":"<යොදා >","id":"අංකය","name":"නම","langDir":"භාෂා දිශාව","langDirLtr":"වමේසිට දකුණුට","langDirRtl":"දකුණේ සිට වමට","langCode":"භාෂා කේතය","longDescr":"සම්පුර්න පැහැදිලි කිරීම","cssClass":"විලාශ පත්‍ර පන්තිය","advisoryTitle":"උපදෙස් ","cssStyle":"විලාසය","ok":"නිරදි","cancel":"අවලංගු කිරීම","close":"වැසීම","preview":"නැවත ","resize":"විශාලත්වය නැවත වෙනස් කිරීම","generalTab":"පොදු කරුණු.","advancedTab":"දීය","validateNumberFailed":"මෙම වටිනාකම අංකයක් නොවේ","confirmNewPage":"ආරක්ෂා නොකළ සියලුම දත්තයන් මැකියනුලැබේ. ඔබට නව පිටුවක් ලබා ගැනීමට අවශ්‍යද?","confirmCancel":"ඇතම් විකල්පයන් වෙනස් කර ඇත. ඔබට මින් නික්මීමට අවශ්‍යද?","options":" විකල්ප","target":"අරමුණ","targetNew":"නව කව්ළුව","targetTop":"වැදගත් කව්ළුව","targetSelf":"එම කව්ළුව(_තම\\\\)","targetParent":"මව් කව්ළුව(_)","langDirLTR":"වමේසිට දකුණුට","langDirRTL":"දකුණේ සිට වමට","styles":"විලාසය","cssClasses":"විලාසපත්‍ර පන්තිය","width":"පළල","height":"උස","align":"ගැලපුම","left":"වම","right":"දකුණ","center":"මධ්‍ය","justify":"Justify","alignLeft":"Align Left","alignRight":"Align Right","alignCenter":"Align Center","alignTop":"ඉ","alignMiddle":"මැද","alignBottom":"පහල","alignNone":"None","invalidValue":"වැරදී වටිනාකමකි","invalidHeight":"උස අංකයක් විය යුතුය","invalidWidth":"පළල අංකයක් විය යුතුය","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"වටිනාකමක් නිරූපණය කිරීම \"%1\" ප්‍රදේශය ධන සංක්‍යාත්මක වටිනාකමක් හෝ නිවරදි නොවන CSS මිනුම් එකක(px, %, in, cm, mm, em, ex, pt, pc)","invalidHtmlLength":"වටිනාකමක් නිරූපණය කිරීම \"%1\" ප්‍රදේශය ධන සංක්‍යාත්මක වටිනාකමක් හෝ නිවරදි නොවන HTML මිනුම් එකක (px හෝ %).","invalidInlineStyle":"වටිනාකමක් නිරූපණය කිරීම පේළි විලාසයයට ආකෘතිය අනතර්ග විය යුතය \"නම : වටිනාකම\", තිත් කොමාවකින් වෙන් වෙන ලද.","cssLengthTooltip":"සංක්‍යා ඇතුලත් කිරීමේදී වටිනාකම තිත් ප්‍රමාණය නිවරදි CSS ඒකක(තිත්, %, අඟල්,සෙමි, mm, em, ex, pt, pc)","unavailable":"%1<span පන්තිය=\"ළඟා වියහැකි ද බලන්න\">, නොමැතිනම්</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"පිටපත් අයිතිය සහ පිටපත් කිරීම;$1 .සියලුම හිමිකම් ඇවිරිණි.","dlgTitle":"CKEditor ගැන විස්තර","moreInfo":"බලපත්‍ර තොරතුරු සදහා කරුණාකර අපගේ විද්‍යුත් ලිපිනයට පිවිසෙන්න:"},"basicstyles":{"bold":"තද අකුරින් ලියනලද","italic":"බැධීඅකුරින් ලියන ලද","strike":"Strikethrough","subscript":"Subscript","superscript":"Superscript","underline":"යටින් ඉරි අදින ලද"},"bidi":{"ltr":"වගන්ති දිශාව වමේ සිට දකුණට","rtl":"වගන්ති දිශාව දකුණේ සිට වමට"},"blockquote":{"toolbar":"උද්ධෘත කොටස"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"මෙවලම් තීරුව හැකුලුම.","toolbarExpand":"මෙවලම් තීරුව දීගහැරුම","toolbarGroups":{"document":"ලිපිය","clipboard":"ඇමිණුම වෙනස් කිරීම","editing":"සංස්කරණය","forms":"පෝරමය","basicstyles":"මුලික විලාසය","paragraph":"චේදය","links":"සබැඳිය","insert":"ඇතුලත් කිරීම","styles":"විලාසය","colors":"වර්ණය","tools":"මෙවලම්"},"toolbars":"සංස්කරණ මෙවලම් තීරුව"},"clipboard":{"copy":"පිටපත් කරන්න","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"කපාගන්න","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"අලවන්න","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"අලවන ප්‍රදේශ","pasteMsg":"Paste your content inside the area below and press OK.","title":"අලවන්න"},"colorbutton":{"auto":"Automatic","bgColorTitle":"පසුබිම් වර්ණය","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"More Colors...","panelTitle":"වර්ණය","textColorTitle":"අක්ෂර වර්ණ"},"colordialog":{"clear":"පැහැදිලි","highlight":"මතුකර පෙන්වන්න","options":"වර්ණ විකල්ප","selected":"තෙරු වර්ණ","title":"වර්ණ තෝරන්න"},"templates":{"button":"අච්චුව","emptyListMsg":"කිසිම අච්චුවක් කලින් තීරණය කර ","insertOption":"සත්‍ය අන්තර්ගතයන් ප්‍රතිස්ථාපනය කරන්න","options":"අච්චු ","selectPromptMsg":"කරුණාකර සංස්කරණය සදහා අච්චුවක් ","title":"අන්තර්ගත් අච්චුන්"},"contextmenu":{"options":"අනතර්ග ලේඛණ විකල්ප"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"අංකය","advisoryTitleInputLabel":"උපදේශාත්මක නාමය","cssClassInputLabel":"විලාසපත්‍ර පන්තිය","edit":"වෙනස්කිරීම","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"වමේසිට දකුණුට","langDirLabel":"භාෂා දිශාව","langDirRTLLabel":"දකුණේ සිට වමට","languageCodeInputLabel":"භාෂා ","remove":"ඉවත් කිරීම","styleSelectLabel":"විලාසය","title":"නිර්මාණය ","toolbar":"නිර්මාණය "},"elementspath":{"eleLabel":"මුලද්‍රව්‍ය මාර්ගය","eleTitle":"%1 මුල"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Find","findOptions":"Find Options","findWhat":"Find what:","matchCase":"Match case","matchCyclic":"Match cyclic","matchWord":"Match whole word","notFoundMsg":"The specified text was not found.","replace":"හිලව් කිරීම","replaceAll":"සියල්ලම හිලව් කරන්න","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Replace with:","title":"Find and Replace"},"fakeobjects":{"anchor":"ආධාරය","flash":"Flash Animation","hiddenfield":"සැඟවුණු ප්‍රදේශය","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"පිටපත් ප්‍රවේශය","accessAlways":"හැමවිටම","accessNever":"කිසිදා නොවේ","accessSameDomain":"එකම වසමේ","alignAbsBottom":"පතුල","alignAbsMiddle":"Abs ","alignBaseline":"පාද රේඛාව","alignTextTop":"වගන්තිය ඉහල","bgcolor":"පසුබිම් වර්ණය","chkFull":"පුර්ණ තිරය සදහා අවසර","chkLoop":"පුඩුව","chkMenu":"සක්‍රිය බබලන මෙනුව","chkPlay":"ස්‌වයංක්‍රිය ක්‍රියාත්මක වීම","flashvars":"වෙනස්වන දත්ත","hSpace":"HSpace","properties":"බබලන ගුණ","propertiesTab":"ගුණ","quality":"තත්වය","qualityAutoHigh":"ස්‌වයංක්‍රිය ","qualityAutoLow":" ස්‌වයංක්‍රිය ","qualityBest":"වඩාත් ගැලපෙන","qualityHigh":"ඉහළ","qualityLow":"පහළ","qualityMedium":"මධ්‍ය","scale":"පරිමාණ","scaleAll":"සියල්ල ","scaleFit":"හරියටම ගැලපෙන","scaleNoBorder":"මාඉම් නොමැති","title":"බබලන ","vSpace":"VSpace","validateHSpace":"HSpace සංක්‍යාවක් විය යුතුය.","validateSrc":"URL හිස් නොවිය ","validateVSpace":"VSpace සංක්‍යාවක් විය යුතුය","windowMode":"ජනෙල ක්‍රමය","windowModeOpaque":"විනිවිද පෙනෙන","windowModeTransparent":"විනිවිද පෙනෙන","windowModeWindow":"ජනෙල"},"font":{"fontSize":{"label":"විශාලත්වය","voiceLabel":"අක්ෂර විශාලත්වය","panelTitle":"අක්ෂර විශාලත්වය"},"label":"අක්ෂරය","panelTitle":"අක්ෂර නාමය","voiceLabel":"අක්ෂර"},"forms":{"button":{"title":"බොත්තම් ගුණ","text":"වගන්තිය(වටිනාකම)","type":"වර්ගය","typeBtn":"බොත්තම","typeSbm":"යොමුකරනවා","typeRst":"නැවත ආරම්භකතත්වයට පත් කරනවා"},"checkboxAndRadio":{"checkboxTitle":"ලකුණු කිරීමේ කොටුවේ ලක්ෂණ","radioTitle":"Radio Button Properties","value":"Value","selected":"Selected","required":"Required"},"form":{"title":"පෝරමයේ ","menu":"පෝරමයේ ගුණ/","action":"ගන්නා පියවර","method":"ක්‍රමය","encoding":"කේතීකරණය"},"hidden":{"title":"සැඟවුණු ප්‍රදේශයේ ","name":"නම","value":"Value"},"select":{"title":"තේරීම් ප්‍රදේශයේ ","selectInfo":"විස්තර තෝරන්න","opAvail":"ඉතුරුවී ඇති වීකල්ප","value":"Value","size":"විශාලත්වය","lines":"lines","chkMulti":"Allow multiple selections","required":"Required","opText":"Text","opValue":"Value","btnAdd":"Add","btnModify":"Modify","btnUp":"Up","btnDown":"Down","btnSetValue":"Set as selected value","btnDelete":"මකා දැම්ම"},"textarea":{"title":"Textarea Properties","cols":"සිරස් ","rows":"Rows"},"textfield":{"title":"Text Field Properties","name":"නම","value":"Value","charWidth":"Character Width","maxChars":"Maximum Characters","required":"Required","type":"වර්ගය","typeText":"Text","typePass":"Password","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"ආකෘතිය","panelTitle":"චේදයේ ","tag_address":"ලිපිනය","tag_div":"සාමාන්‍ය(DIV)","tag_h1":"ශීර්ෂය 1","tag_h2":"ශීර්ෂය 2","tag_h3":"ශීර්ෂය 3","tag_h4":"ශීර්ෂය 4","tag_h5":"ශීර්ෂය 5","tag_h6":"ශීර්ෂය 6","tag_p":"සාමාන්‍ය","tag_pre":"ආකෘතියන්"},"horizontalrule":{"toolbar":"තිරස් රේඛාවක් ඇතුලත් කරන්න"},"iframe":{"border":"සැකිල්ලේ කඩයිම් ","noUrl":"කරුණාකර රුපයේ URL ලියන්න","scrolling":"සක්ක්‍රිය කරන්න","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"විකල්ප ","border":"සීමාවවල ","btnUpload":"සේවාදායකය වෙත යොමුකිරිම","button2Img":"ඔබට තෝරන ලද රුපය පරිවර්තනය කිරීමට අවශ්‍යද?","hSpace":"HSpace","img2Button":"ඔබට තෝරන ලද රුපය පරිවර්තනය කිරීමට අවශ්‍යද?","infoTab":"රුපයේ තොරතුරු","linkTab":"සබැඳිය","lockRatio":"නවතන අනුපාතය ","menu":"රුපයේ ගුණ","resetSize":"නැවතත් විශාලත්වය වෙනස් කිරීම","title":"රුපයේ ","titleButton":"රුප බොත්තමේ ගුණ","upload":"උඩුගතකිරීම","urlMissing":"රුප මුලාශ්‍ර URL නැත.","vSpace":"VSpace","validateBorder":"මාඉම් සම්පුර්ණ සංක්‍යාවක් විය යුතුය.","validateHSpace":"HSpace සම්පුර්ණ සංක්‍යාවක් විය යුතුය","validateVSpace":"VSpace සම්පුර්ණ සංක්‍යාවක් විය යුතුය."},"indent":{"indent":"අතර පරතරය වැඩිකරන්න","outdent":"අතර පරතරය අඩුකරන්න"},"smiley":{"options":"හාස්‍ය විකල්ප","title":"හාස්‍යන් ඇතුලත් කිරීම","toolbar":"හාස්‍යන්"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"ප්‍රවේශ යතුර","advanced":"දීය","advisoryContentType":"උපදේශාත්මක අන්තර්ගත ආකාරය","advisoryTitle":"උපදේශාත්මක නාමය","anchor":{"toolbar":"ආධාරය","menu":"ආධාරය වෙනස් කිරීම","title":"ආධාරක ","name":"ආධාරකයේ නාමය","errorName":"කරුණාකර ආධාරකයේ නාමය ඇතුල් කරන්න","remove":"ආධාරකය ඉවත් කිරීම"},"anchorId":"By Element Id","anchorName":"By Anchor Name","charset":"Linked Resource Charset","cssClasses":"විලාසපත්‍ර පන්තිය","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail Address","emailBody":"Message Body","emailSubject":"Message Subject","id":"අංකය","info":"Link Info","langCode":"භාෂා කේතය","langDir":"භාෂා දිශාව","langDirLTR":"වමේසිට දකුණුට","langDirRTL":"දකුණේ සිට වමට","menu":"Edit Link","name":"නම","noAnchors":"(No anchors available in the document)","noEmail":"Please type the e-mail address","noUrl":"Please type the link URL","other":"<other>","popupDependent":"Dependent (Netscape)","popupFeatures":"Popup Window Features","popupFullScreen":"Full Screen (IE)","popupLeft":"Left Position","popupLocationBar":"Location Bar","popupMenuBar":"Menu Bar","popupResizable":"Resizable","popupScrollBars":"Scroll Bars","popupStatusBar":"Status Bar","popupToolbar":"Toolbar","popupTop":"Top Position","rel":"Relationship","selectAnchor":"Select an Anchor","styles":"විලාසය","tabIndex":"Tab Index","target":"අරමුණ","targetFrame":"<frame>","targetFrameName":"Target Frame Name","targetPopup":"<popup window>","targetPopupName":"Popup Window Name","title":"සබැඳිය","toAnchor":"Link to anchor in the text","toEmail":"E-mail","toUrl":"URL","toolbar":"සබැඳිය","type":"Link Type","unlink":"Unlink","upload":"උඩුගතකිරීම"},"list":{"bulletedlist":"ඇතුලත් / ඉවත් කිරීම ලඉස්තුව","numberedlist":"ඇතුලත් / ඉවත් කිරීම අන්න්කිත ලඉස්තුව"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"කිසිවක්ම නොවේ","notset":"<යොදා >","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"වර්ගය","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"චේදය ඇතුලත් කරන්න"},"maximize":{"maximize":"විශාල කිරීම","minimize":"කුඩා කිරීම"},"newpage":{"toolbar":"නව පිටුවක්"},"pagebreak":{"alt":"පිටු බිදුම","toolbar":"මුද්‍රණය සඳහා පිටු බිදුමක් ඇතුලත් කරන්න"},"pastetext":{"button":"සාමාන්‍ය අක්ෂර ලෙස අලවන්න","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"සාමාන්‍ය අක්ෂර ලෙස අලවන්න"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"වචන වලින් අලවන්න","toolbar":"වචන වලින් අලවන්න"},"preview":{"preview":"නැවත "},"print":{"toolbar":"මුද්‍රණය කරන්න"},"removeformat":{"toolbar":"සැකසීම වෙනස් කරන්න"},"save":{"toolbar":"ආරක්ෂා කරන්න"},"selectall":{"toolbar":"සියල්ලම "},"showblocks":{"toolbar":"කොටස පෙන්නන්න"},"sourcearea":{"toolbar":"මුලාශ්‍රය"},"specialchar":{"options":"විශේෂ ගුණාංග වීකල්ප","title":"විශේෂ ගුණාංග ","toolbar":"විශේෂ ගුණාංග ඇතුලත් "},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"විලාසය","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"සීමාවවල විශාලත්වය","caption":"Caption","cell":{"menu":"කොටුව","insertBefore":"පෙර කොටුවක් ඇතුල්කිරිම","insertAfter":"පසුව කොටුවක් ඇතුලත් ","deleteCell":"කොටුව මැකීම","merge":"කොටු එකට යාකිරිම","mergeRight":"දකුණට ","mergeDown":"පහලට ","splitHorizontal":"තිරස්ව කොටු පැතිරීම","splitVertical":"සිරස්ව කොටු පැතිරීම","title":"කොටු ","cellType":"කොටු වර්ගය","rowSpan":"පේළි පළල","colSpan":"සිරස් පළල","wordWrap":"වචන ගැලපුම","hAlign":"තිරස්ව ","vAlign":"සිරස්ව ","alignBaseline":"පාද රේඛාව","bgColor":"පසුබිම් වර්ණය","borderColor":"මායිම් ","data":"Data","header":"ශීර්ෂක","yes":"ඔව්","no":"නැත","invalidWidth":"කොටු පළල සංඛ්‍ය්ත්මක වටිනාකමක් විය යුතුය","invalidHeight":"කොටු උස සංඛ්‍ය්ත්මක වටිනාකමක් විය යුතුය","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"තෝරන්න"},"cellPad":"Cell padding","cellSpace":"Cell spacing","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Delete Columns"},"columns":"සිරස් ","deleteTable":"වගුව මකන්න","headers":"ශීර්ෂක","headersBoth":"දෙකම","headersColumn":"පළමූ සිරස් තීරුව","headersNone":"කිසිවක්ම නොවේ","headersRow":"පළමූ පේළිය","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a positive number.","invalidCellSpacing":"Cell spacing must be a positive number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"Table Properties","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Delete Rows"},"rows":"Rows","summary":"Summary","title":"Table Properties","toolbar":"Table","widthPc":"percent","widthPx":"pixels","widthUnit":"width unit"},"undo":{"redo":"නැවත කිරීම","undo":"වෙනස් කිරීම"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/si.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/bg.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/bg.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/bg.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['bg']={"editor":"Текстов редактор за форматиран текст","editorPanel":"Панел на текстовия редактор","common":{"editorHelp":"натиснете ALT 0 за помощ","browseServer":"Избор от сървъра","url":"URL","protocol":"Протокол","upload":"Качване","uploadSubmit":"Изпращане към сървъра","image":"Снимка","flash":"Флаш","form":"Форма","checkbox":"Поле за избор","radio":"Радио бутон","textField":"Текстово поле","textarea":"Текстова зона","hiddenField":"Скрито поле","button":"Бутон","select":"Поле за избор","imageButton":"Бутон за снимка","notSet":"<не е избрано>","id":"ID","name":"Име","langDir":"Посока на езика","langDirLtr":"Ляво на дясно (ЛнД)","langDirRtl":"Дясно на ляво (ДнЛ)","langCode":"Код на езика","longDescr":"Уеб адрес за дълго описание","cssClass":"Класове за CSS","advisoryTitle":"Препоръчително заглавие","cssStyle":"Стил","ok":"ОК","cancel":"Отказ","close":"Затвори","preview":"Преглед","resize":"Влачете за да оразмерите","generalTab":"Общи","advancedTab":"Разширено","validateNumberFailed":"Тази стойност не е число","confirmNewPage":"Всички незапазени промени ще бъдат изгубени. Сигурни ли сте, че желаете да заредите нова страница?","confirmCancel":"Някои от опциите са променени. Сигурни ли сте, че желаете да затворите прозореца?","options":"Опции","target":"Цел","targetNew":"Нов прозорец (_blank)","targetTop":"Горна позиция (_top)","targetSelf":"Текущия прозорец (_self)","targetParent":"Основен прозорец (_parent)","langDirLTR":"Ляво на дясно (ЛнД)","langDirRTL":"Дясно на ляво (ДнЛ)","styles":"Стил","cssClasses":"Класове за CSS","width":"Ширина","height":"Височина","align":"Подравняване","left":"Ляво","right":"Дясно","center":"Център","justify":"Двустранно подравняване","alignLeft":"Подравни в ляво","alignRight":"Подравни в дясно","alignCenter":"Align Center","alignTop":"Горе","alignMiddle":"По средата","alignBottom":"Долу","alignNone":"Без подравняване","invalidValue":"Невалидна стойност.","invalidHeight":"Височината трябва да е число.","invalidWidth":"Ширина требе да е число.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Стойността на полето \"%1\" трябва да бъде положително число с или без валидна CSS измервателна единица (px, %, in, cm, mm, em, ex, pt, или pc).","invalidHtmlLength":"Стойността на полето \"%1\" трябва да бъде положително число с или без валидна HTML измервателна единица (px или %).","invalidInlineStyle":"Стойността на стилa трябва да съдържат една или повече двойки във формат \"name : value\", разделени с двоеточие.","cssLengthTooltip":"Въведете числена стойност в пиксели или друга валидна CSS единица (px, %, in, cm, mm, em, ex, pt, или pc).","unavailable":"%1<span class=\"cke_accessibility\">, недостъпно</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"Относно CKEditor 4","moreInfo":"За лицензионна информация моля посетете сайта ни:"},"basicstyles":{"bold":"Удебелен","italic":"Наклонен","strike":"Зачертан текст","subscript":"Индексиран текст","superscript":"Суперскрипт","underline":"Подчертан"},"bidi":{"ltr":"Посока на текста от ляво на дясно","rtl":"Посока на текста от дясно на ляво"},"blockquote":{"toolbar":"Блок за цитат"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Избрано)"},"toolbar":{"toolbarCollapse":"Свиване на лентата с инструменти","toolbarExpand":"Разширяване на лентата с инструменти","toolbarGroups":{"document":"Документ","clipboard":"Клипборд/Отмяна","editing":"Промяна","forms":"Форми","basicstyles":"Базови стилове","paragraph":"Параграф","links":"Връзки","insert":"Вмъкване","styles":"Стилове","colors":"Цветове","tools":"Инструменти"},"toolbars":"Ленти с инструменти"},"clipboard":{"copy":"Копирай","copyError":"Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни запаметяването. За целта използвайте клавиатурата (Ctrl/Cmd+C).","cut":"Отрежи","cutError":"Настройките за сигурност на Вашия браузър не позволяват на редактора автоматично да изъплни действията за отрязване. Моля ползвайте клавиатурните команди за целта (ctrl+x).","paste":"Вмъкни","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Зона за вмъкване","pasteMsg":"Paste your content inside the area below and press OK.","title":"Вмъкни"},"colorbutton":{"auto":"Автоматично","bgColorTitle":"Фонов цвят","colors":{"000":"Черно","800000":"Кестеняво","8B4513":"Светлокафяво","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Индиго","696969":"Тъмно сиво","B22222":"Огнено червено","A52A2A":"Кафяво","DAA520":"Златисто","006400":"Тъмно зелено","40E0D0":"Тюркуазено","0000CD":"Средно синьо","800080":"Пурпурно","808080":"Сиво","F00":"Червено","FF8C00":"Тъмно оранжево","FFD700":"Златно","008000":"Зелено","0FF":"Светло синьо","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Още цветове","panelTitle":"Цветове","textColorTitle":"Цвят на шрифт"},"colordialog":{"clear":"Изчистване","highlight":"Осветяване","options":"Цветови опции","selected":"Изберете цвят","title":"Изберете цвят"},"templates":{"button":"Шаблони","emptyListMsg":"(Няма дефинирани шаблони)","insertOption":"Препокрива актуалното съдържание","options":"Опции за шаблона","selectPromptMsg":"Изберете шаблон <br>(текущото съдържание на редактора ще бъде загубено):","title":"Шаблони"},"contextmenu":{"options":"Опции на контекстното меню"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"Препоръчително заглавие","cssClassInputLabel":"Класове за CSS","edit":"Промяна на Div","inlineStyleInputLabel":"В редица","langDirLTRLabel":"Ляво на Дясно (ЛнД)","langDirLabel":"Посока на езика","langDirRTLLabel":"Дясно на Ляво (ДнЛ)","languageCodeInputLabel":" Код на езика","remove":"Премахване на Div","styleSelectLabel":"Стил","title":"Създай Div блок","toolbar":"Създаване на Div контейнер"},"elementspath":{"eleLabel":"Път за елементите","eleTitle":"%1 елемент"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Търсене","findOptions":"Find Options","findWhat":"Търси за:","matchCase":"Съвпадение","matchCyclic":"Циклично съвпадение","matchWord":"Съвпадение с дума","notFoundMsg":"Указаният текст не е намерен.","replace":"Препокриване","replaceAll":"Препокрий всички","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Препокрива с:","title":"Търсене и препокриване"},"fakeobjects":{"anchor":"Кука","flash":"Флаш анимация","hiddenfield":"Скрито поле","iframe":"IFrame","unknown":"Неизвестен обект"},"flash":{"access":"Достъп до скрипт","accessAlways":"Винаги","accessNever":"Никога","accessSameDomain":"Същият домейн","alignAbsBottom":"Най-долу","alignAbsMiddle":"Точно по средата","alignBaseline":"Базова линия","alignTextTop":"Върху текста","bgcolor":"Цвят на фона","chkFull":"Включи на цял екран","chkLoop":"Цикъл","chkMenu":"Разрешено Flash меню","chkPlay":"Авто. пускане","flashvars":"Променливи за Флаш","hSpace":"Хоризонтален отстъп","properties":"Настройки за флаш","propertiesTab":"Настройки","quality":"Качество","qualityAutoHigh":"Авто. високо","qualityAutoLow":"Авто. ниско","qualityBest":"Отлично","qualityHigh":"Високо","qualityLow":"Ниско","qualityMedium":"Средно","scale":"Оразмеряване","scaleAll":"Показва всичко","scaleFit":"Според мястото","scaleNoBorder":"Без рамка","title":"Настройки за флаш","vSpace":"Вертикален отстъп","validateHSpace":"HSpace трябва да е число.","validateSrc":"Уеб адреса не трябва да е празен.","validateVSpace":"VSpace трябва да е число.","windowMode":"Режим на прозореца","windowModeOpaque":"Плътност","windowModeTransparent":"Прозрачност","windowModeWindow":"Прозорец"},"font":{"fontSize":{"label":"Размер","voiceLabel":"Размер на шрифт","panelTitle":"Размер на шрифт"},"label":"Шрифт","panelTitle":"Име на шрифт","voiceLabel":"Шрифт"},"forms":{"button":{"title":"Настройки на бутона","text":"Текст (стойност)","type":"Тип","typeBtn":"Бутон","typeSbm":"Добави","typeRst":"Нулиране"},"checkboxAndRadio":{"checkboxTitle":"Checkbox Properties","radioTitle":"Настройки на радиобутон","value":"Стойност","selected":"Избрано","required":"Required"},"form":{"title":"Настройки на формата","menu":"Настройки на формата","action":"Действие","method":"Метод","encoding":"Кодиране"},"hidden":{"title":"Настройки за скрито поле","name":"Име","value":"Стойност"},"select":{"title":"Selection Field Properties","selectInfo":"Select Info","opAvail":"Налични опции","value":"Стойност","size":"Размер","lines":"линии","chkMulti":"Allow multiple selections","required":"Required","opText":"Текст","opValue":"Стойност","btnAdd":"Добави","btnModify":"Промени","btnUp":"На горе","btnDown":"На долу","btnSetValue":"Set as selected value","btnDelete":"Изтриване"},"textarea":{"title":"Опции за текстовата зона","cols":"Колони","rows":"Редове"},"textfield":{"title":"Настройки за текстово поле","name":"Име","value":"Стойност","charWidth":"Ширина на знаците","maxChars":"Макс. знаци","required":"Required","type":"Тип","typeText":"Текст","typePass":"Парола","typeEmail":"Email","typeSearch":"Търсене","typeTel":"Телефонен номер","typeUrl":"Уеб адрес"}},"format":{"label":"Формат","panelTitle":"Формат","tag_address":"Адрес","tag_div":"Параграф (DIV)","tag_h1":"Заглавие 1","tag_h2":"Заглавие 2","tag_h3":"Заглавие 3","tag_h4":"Заглавие 4","tag_h5":"Заглавие 5","tag_h6":"Заглавие 6","tag_p":"Нормален","tag_pre":"Форматиран"},"horizontalrule":{"toolbar":"Вмъкване на хоризонтална линия"},"iframe":{"border":"Показва рамка на карето","noUrl":"Моля въведете URL за iFrame","scrolling":"Вкл. скролбаровете","title":"IFrame настройки","toolbar":"IFrame"},"image":{"alt":"Алтернативен текст","border":"Рамка","btnUpload":"Изпрати я на сървъра","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"Хоризонтален отстъп","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Инфо за снимка","linkTab":"Връзка","lockRatio":"Заключване на съотношението","menu":"Настройки за снимка","resetSize":"Нулиране на размер","title":"Настройки за снимка","titleButton":"Настойки за бутон за снимка","upload":"Качване","urlMissing":"Image source URL is missing.","vSpace":"Вертикален отстъп","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Увеличаване на отстъпа","outdent":"Намаляване на отстъпа"},"smiley":{"options":"Опции за усмивката","title":"Вмъкване на усмивка","toolbar":"Усмивка"},"language":{"button":"Задай език","remove":"Премахни език"},"link":{"acccessKey":"Ключ за достъп","advanced":"Разширено","advisoryContentType":"Препоръчителен тип на съдържанието","advisoryTitle":"Препоръчително заглавие","anchor":{"toolbar":"Котва","menu":"Промяна на котва","title":"Настройки на котва","name":"Име на котва","errorName":"Моля въведете име на котвата","remove":"Премахване на котва"},"anchorId":"По ID на елемент","anchorName":"По име на котва","charset":"Тип на свързания ресурс","cssClasses":"Класове за CSS","download":"Force Download","displayText":"Display Text","emailAddress":"E-mail aдрес","emailBody":"Съдържание","emailSubject":"Тема","id":"ID","info":"Инфо за връзката","langCode":"Код за езика","langDir":"Посока на езика","langDirLTR":"Ляво на Дясно (ЛнД)","langDirRTL":"Дясно на Ляво (ДнЛ)","menu":"Промяна на връзка","name":"Име","noAnchors":"(Няма котви в текущия документ)","noEmail":"Моля въведете e-mail aдрес","noUrl":"Моля въведете URL адреса","other":"<друго>","popupDependent":"Зависимост (Netscape)","popupFeatures":"Функции на изкачащ прозорец","popupFullScreen":"Цял екран (IE)","popupLeft":"Лява позиция","popupLocationBar":"Лента с локацията","popupMenuBar":"Лента за меню","popupResizable":"Оразмеряем","popupScrollBars":"Скролери","popupStatusBar":"Статусна лента","popupToolbar":"Лента с инструменти","popupTop":"Горна позиция","rel":"Връзка","selectAnchor":"Изберете котва","styles":"Стил","tabIndex":"Ред на достъп","target":"Цел","targetFrame":"<frame>","targetFrameName":"Име на целевият прозорец","targetPopup":"<изкачащ прозорец>","targetPopupName":"Име на изкачащ прозорец","title":"Връзка","toAnchor":"Връзка към котва в текста","toEmail":"E-mail","toUrl":"Уеб адрес","toolbar":"Връзка","type":"Тип на връзката","unlink":"Премахни връзката","upload":"Качване"},"list":{"bulletedlist":"Вмъкване/Премахване на точков списък","numberedlist":"Вмъкване/Премахване на номериран списък"},"liststyle":{"armenian":"Арменско номериране","bulletedTitle":"Bulleted List Properties","circle":"Кръг","decimal":"Числа (1, 2, 3 и др.)","decimalLeadingZero":"Числа с водеща нула (01, 02, 03 и т.н.)","disc":"Диск","georgian":"Грузинско номериране (an, ban, gan, и т.н.)","lowerAlpha":"Малки букви (а, б, в, г, д и т.н.)","lowerGreek":"Малки гръцки букви (алфа, бета, гама и т.н.)","lowerRoman":"Малки римски числа (i, ii, iii, iv, v и т.н.)","none":"Няма","notset":"<не е указано>","numberedTitle":"Numbered List Properties","square":"Квадрат","start":"Старт","type":"Тип","upperAlpha":"Големи букви (А, Б, В, Г, Д и т.н.)","upperRoman":"Големи римски числа (I, II, III, IV, V и т.н.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Вмъкнете параграф тук"},"maximize":{"maximize":"Максимизиране","minimize":"Минимизиране"},"newpage":{"toolbar":"Нова страница"},"pagebreak":{"alt":"Разделяне на страници","toolbar":"Вмъкване на нова страница при печат"},"pastetext":{"button":"Вмъкни като чист текст","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Вмъкни като чист текст"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Вмъкни от MS Word","toolbar":"Вмъкни от MS Word"},"preview":{"preview":"Преглед"},"print":{"toolbar":"Печат"},"removeformat":{"toolbar":"Премахване на форматирането"},"save":{"toolbar":"Запис"},"selectall":{"toolbar":"Избери всичко"},"showblocks":{"toolbar":"Показва блокове"},"sourcearea":{"toolbar":"Изходен код"},"specialchar":{"options":"Опции за специален знак","title":"Избор на специален знак","toolbar":"Вмъкване на специален знак"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Речници","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Стилове","panelTitle":"Стилове за форматиране","panelTitle1":"Блокови стилове","panelTitle2":"Вътрешни стилове","panelTitle3":"Обектни стилове"},"table":{"border":"Размер на рамката","caption":"Заглавие","cell":{"menu":"Клетка","insertBefore":"Вмъкване на клетка преди","insertAfter":"Вмъкване на клетка след","deleteCell":"Изтриване на клетки","merge":"Сливане на клетки","mergeRight":"Сливане в дясно","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Настройки на клетката","cellType":"Тип на клетката","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Авто. пренос","hAlign":"Хоризонтално подравняване","vAlign":"Вертикално подравняване","alignBaseline":"Базова линия","bgColor":"Фон","borderColor":"Цвят на рамката","data":"Данни","header":"Хедър","yes":"Да","no":"Не","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Изберете"},"cellPad":"Отделяне на клетките","cellSpace":"Разтояние между клетките","column":{"menu":"Колона","insertBefore":"Вмъкване на колона преди","insertAfter":"Вмъкване на колона след","deleteColumn":"Изтриване на колони"},"columns":"Колони","deleteTable":"Изтриване на таблица","headers":"Хедъри","headersBoth":"Заедно","headersColumn":"Първа колона","headersNone":"Няма","headersRow":"Първи ред","invalidBorder":"Размерът на рамката трябва да е число.","invalidCellPadding":"Отстоянието на клетките трябва да е позитивно число.","invalidCellSpacing":"Интервала в клетките трябва да е позитивно число.","invalidCols":"Броят колони трябва да е по-голям от 0.","invalidHeight":"Височината на таблицата трябва да е число.","invalidRows":"Броят редове трябва да е по-голям от 0.","invalidWidth":"Ширината на таблицата трябва да е число.","menu":"Настройки на таблицата","row":{"menu":"Ред","insertBefore":"Вмъкване на ред преди","insertAfter":"Вмъкване на ред след","deleteRow":"Изтриване на редове"},"rows":"Редове","summary":"Обща информация","title":"Настройки на таблицата","toolbar":"Таблица","widthPc":"процент","widthPx":"пиксела","widthUnit":"единица за ширина"},"undo":{"redo":"Връщане на предишен статус","undo":"Възтанови"},"widget":{"move":"Кликни и влачи, за да преместиш","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Игнорирай","btnIgnoreAll":"Игнорирай всичко","btnReplace":"Препокриване","btnReplaceAll":"Препокрий всичко","btnUndo":"Възтанови","changeTo":"Промени на","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- Няма препоръчани -","notAvailable":"Съжаляваме, но услугата не е достъпна за момента","notInDic":"Не е в речника","oneChange":"Spell check complete: One word changed","progress":"Проверява се правописа...","title":"Проверка на правопис","toolbar":"Проверка на правопис"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/bg.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/no.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/no.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/no.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['no']={"editor":"Rikteksteditor","editorPanel":"Panel for rikteksteditor","common":{"editorHelp":"Trykk ALT 0 for hjelp","browseServer":"Bla igjennom server","url":"URL","protocol":"Protokoll","upload":"Last opp","uploadSubmit":"Send det til serveren","image":"Bilde","flash":"Flash","form":"Skjema","checkbox":"Avmerkingsboks","radio":"Alternativknapp","textField":"Tekstboks","textarea":"Tekstområde","hiddenField":"Skjult felt","button":"Knapp","select":"Rullegardinliste","imageButton":"Bildeknapp","notSet":"<ikke satt>","id":"Id","name":"Navn","langDir":"Språkretning","langDirLtr":"Venstre til høyre (VTH)","langDirRtl":"Høyre til venstre (HTV)","langCode":"Språkkode","longDescr":"Utvidet beskrivelse","cssClass":"Stilarkklasser","advisoryTitle":"Tittel","cssStyle":"Stil","ok":"OK","cancel":"Avbryt","close":"Lukk","preview":"Forhåndsvis","resize":"Dra for å skalere","generalTab":"Generelt","advancedTab":"Avansert","validateNumberFailed":"Denne verdien er ikke et tall.","confirmNewPage":"Alle ulagrede endringer som er gjort i dette innholdet vil bli tapt. Er du sikker på at du vil laste en ny side?","confirmCancel":"Noen av valgene har blitt endret. Er du sikker på at du vil lukke dialogen?","options":"Valg","target":"Mål","targetNew":"Nytt vindu (_blank)","targetTop":"Hele vindu (_top)","targetSelf":"Samme vindu (_self)","targetParent":"Foreldrevindu (_parent)","langDirLTR":"Venstre til høyre (VTH)","langDirRTL":"Høyre til venstre (HTV)","styles":"Stil","cssClasses":"Stilarkklasser","width":"Bredde","height":"Høyde","align":"Juster","left":"Venstre","right":"Høyre","center":"Midtjuster","justify":"Blokkjuster","alignLeft":"Venstrejuster","alignRight":"Høyrejuster","alignCenter":"Align Center","alignTop":"Topp","alignMiddle":"Midten","alignBottom":"Bunn","alignNone":"Ingen","invalidValue":"Ugyldig verdi.","invalidHeight":"Høyde må være et tall.","invalidWidth":"Bredde må være et tall.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Den angitte verdien for feltet \"%1\" må være et positivt tall med eller uten en gyldig CSS-målingsenhet (px, %, in, cm, mm, em, ex, pt, eller pc).","invalidHtmlLength":"Den angitte verdien for feltet \"%1\" må være et positivt tall med eller uten en gyldig HTML-målingsenhet (px eller %).","invalidInlineStyle":"Verdi angitt for inline stil må bestå av en eller flere sett med formatet \"navn : verdi\", separert med semikolon","cssLengthTooltip":"Skriv inn et tall for en piksel-verdi eller et tall med en gyldig CSS-enhet (px, %, in, cm, mm, em, ex, pt, eller pc).","unavailable":"%1<span class=\"cke_accessibility\">, utilgjenglig</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Alle rettigheter reservert.","dlgTitle":"Om CKEditor 4","moreInfo":"For lisensieringsinformasjon, vennligst besøk vårt nettsted:"},"basicstyles":{"bold":"Fet","italic":"Kursiv","strike":"Gjennomstreking","subscript":"Senket skrift","superscript":"Hevet skrift","underline":"Understreking"},"bidi":{"ltr":"Tekstretning fra venstre til høyre","rtl":"Tekstretning fra høyre til venstre"},"blockquote":{"toolbar":"Blokksitat"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Valgt)"},"toolbar":{"toolbarCollapse":"Skjul verktøylinje","toolbarExpand":"Vis verktøylinje","toolbarGroups":{"document":"Dokument","clipboard":"Utklippstavle/Angre","editing":"Redigering","forms":"Skjema","basicstyles":"Basisstiler","paragraph":"Avsnitt","links":"Lenker","insert":"Innsetting","styles":"Stiler","colors":"Farger","tools":"Verktøy"},"toolbars":"Verktøylinjer for editor"},"clipboard":{"copy":"Kopier","copyError":"Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk snarveien (Ctrl/Cmd+C).","cut":"Klipp ut","cutError":"Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk snarveien (Ctrl/Cmd+X).","paste":"Lim inn","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Innlimingsområde","pasteMsg":"Paste your content inside the area below and press OK.","title":"Lim inn"},"colorbutton":{"auto":"Automatisk","bgColorTitle":"Bakgrunnsfarge","colors":{"000":"Svart","800000":"Rødbrun","8B4513":"Salbrun","2F4F4F":"Grønnsvart","008080":"Blågrønn","000080":"Marineblått","4B0082":"Indigo","696969":"Mørk grå","B22222":"Mørkerød","A52A2A":"Brun","DAA520":"Lys brun","006400":"Mørk grønn","40E0D0":"Turkis","0000CD":"Medium blå","800080":"Purpur","808080":"Grå","F00":"Rød","FF8C00":"Mørk oransje","FFD700":"Gull","008000":"Grønn","0FF":"Cyan","00F":"Blå","EE82EE":"Fiolett","A9A9A9":"Svak grå","FFA07A":"Rosa-oransje","FFA500":"Oransje","FFFF00":"Gul","00FF00":"Lime","AFEEEE":"Svak turkis","ADD8E6":"Lys Blå","DDA0DD":"Plomme","D3D3D3":"Lys grå","FFF0F5":"Svak lavendelrosa","FAEBD7":"Antikk-hvit","FFFFE0":"Lys gul","F0FFF0":"Honningmelon","F0FFFF":"Svakt asurblått","F0F8FF":"Svak cyan","E6E6FA":"Lavendel","FFF":"Hvit","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Flere farger...","panelTitle":"Farger","textColorTitle":"Tekstfarge"},"colordialog":{"clear":"Tøm","highlight":"Merk","options":"Alternativer for farge","selected":"Valgt","title":"Velg farge"},"templates":{"button":"Maler","emptyListMsg":"(Ingen maler definert)","insertOption":"Erstatt gjeldende innhold","options":"Alternativer for mal","selectPromptMsg":"Velg malen du vil åpne i redigeringsverktøyet:","title":"Innholdsmaler"},"contextmenu":{"options":"Alternativer for høyreklikkmeny"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Tittel","cssClassInputLabel":"Stilark-klasser","edit":"Rediger Div","inlineStyleInputLabel":"Inlinestiler","langDirLTRLabel":"Venstre til høyre (VTH)","langDirLabel":"Språkretning","langDirRTLLabel":"Høyre til venstre (HTV)","languageCodeInputLabel":" Språkkode","remove":"Fjern Div","styleSelectLabel":"Stil","title":"Sett inn Div Container","toolbar":"Sett inn Div Container"},"elementspath":{"eleLabel":"Element-sti","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Søk","findOptions":"Søkealternativer","findWhat":"Søk etter:","matchCase":"Skill mellom store og små bokstaver","matchCyclic":"Søk i hele dokumentet","matchWord":"Bare hele ord","notFoundMsg":"Fant ikke søketeksten.","replace":"Erstatt","replaceAll":"Erstatt alle","replaceSuccessMsg":"%1 tilfelle(r) erstattet.","replaceWith":"Erstatt med:","title":"Søk og erstatt"},"fakeobjects":{"anchor":"Anker","flash":"Flash-animasjon","hiddenfield":"Skjult felt","iframe":"IFrame","unknown":"Ukjent objekt"},"flash":{"access":"Scripttilgang","accessAlways":"Alltid","accessNever":"Aldri","accessSameDomain":"Samme domene","alignAbsBottom":"Abs bunn","alignAbsMiddle":"Abs midten","alignBaseline":"Bunnlinje","alignTextTop":"Tekst topp","bgcolor":"Bakgrunnsfarge","chkFull":"Tillat fullskjerm","chkLoop":"Loop","chkMenu":"Slå på Flash-meny","chkPlay":"Autospill","flashvars":"Variabler for flash","hSpace":"HMarg","properties":"Egenskaper for Flash-objekt","propertiesTab":"Egenskaper","quality":"Kvalitet","qualityAutoHigh":"Auto høy","qualityAutoLow":"Auto lav","qualityBest":"Best","qualityHigh":"Høy","qualityLow":"Lav","qualityMedium":"Medium","scale":"Skaler","scaleAll":"Vis alt","scaleFit":"Skaler til å passe","scaleNoBorder":"Ingen ramme","title":"Flash-egenskaper","vSpace":"VMarg","validateHSpace":"HMarg må være et tall.","validateSrc":"Vennligst skriv inn lenkens url.","validateVSpace":"VMarg må være et tall.","windowMode":"Vindumodus","windowModeOpaque":"Opaque","windowModeTransparent":"Gjennomsiktig","windowModeWindow":"Vindu"},"font":{"fontSize":{"label":"Størrelse","voiceLabel":"Font Størrelse","panelTitle":"Størrelse"},"label":"Skrift","panelTitle":"Skrift","voiceLabel":"Font"},"forms":{"button":{"title":"Egenskaper for knapp","text":"Tekst (verdi)","type":"Type","typeBtn":"Knapp","typeSbm":"Send","typeRst":"Nullstill"},"checkboxAndRadio":{"checkboxTitle":"Egenskaper for avmerkingsboks","radioTitle":"Egenskaper for alternativknapp","value":"Verdi","selected":"Valgt","required":"Required"},"form":{"title":"Egenskaper for skjema","menu":"Egenskaper for skjema","action":"Handling","method":"Metode","encoding":"Encoding"},"hidden":{"title":"Egenskaper for skjult felt","name":"Navn","value":"Verdi"},"select":{"title":"Egenskaper for rullegardinliste","selectInfo":"Info","opAvail":"Tilgjenglige alternativer","value":"Verdi","size":"Størrelse","lines":"Linjer","chkMulti":"Tillat flervalg","required":"Required","opText":"Tekst","opValue":"Verdi","btnAdd":"Legg til","btnModify":"Endre","btnUp":"Opp","btnDown":"Ned","btnSetValue":"Sett som valgt","btnDelete":"Slett"},"textarea":{"title":"Egenskaper for tekstområde","cols":"Kolonner","rows":"Rader"},"textfield":{"title":"Egenskaper for tekstfelt","name":"Navn","value":"Verdi","charWidth":"Tegnbredde","maxChars":"Maks antall tegn","required":"Required","type":"Type","typeText":"Tekst","typePass":"Passord","typeEmail":"Epost","typeSearch":"Søk","typeTel":"Telefonnummer","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Avsnittsformat","tag_address":"Adresse","tag_div":"Normal (DIV)","tag_h1":"Overskrift 1","tag_h2":"Overskrift 2","tag_h3":"Overskrift 3","tag_h4":"Overskrift 4","tag_h5":"Overskrift 5","tag_h6":"Overskrift 6","tag_p":"Normal","tag_pre":"Formatert"},"horizontalrule":{"toolbar":"Sett inn horisontal linje"},"iframe":{"border":"Viss ramme rundt iframe","noUrl":"Vennligst skriv inn URL for iframe","scrolling":"Aktiver scrollefelt","title":"Egenskaper for IFrame","toolbar":"IFrame"},"image":{"alt":"Alternativ tekst","border":"Ramme","btnUpload":"Send det til serveren","button2Img":"Vil du endre den valgte bildeknappen til et vanlig bilde?","hSpace":"HMarg","img2Button":"Vil du endre det valgte bildet til en bildeknapp?","infoTab":"Bildeinformasjon","linkTab":"Lenke","lockRatio":"Lås forhold","menu":"Bildeegenskaper","resetSize":"Tilbakestill størrelse","title":"Bildeegenskaper","titleButton":"Egenskaper for bildeknapp","upload":"Last opp","urlMissing":"Bildets adresse mangler.","vSpace":"VMarg","validateBorder":"Ramme må være et heltall.","validateHSpace":"HMarg må være et heltall.","validateVSpace":"VMarg må være et heltall."},"indent":{"indent":"Øk innrykk","outdent":"Reduser innrykk"},"smiley":{"options":"Alternativer for smil","title":"Sett inn smil","toolbar":"Smil"},"language":{"button":"Sett språk","remove":"Fjern språk"},"link":{"acccessKey":"Aksessknapp","advanced":"Avansert","advisoryContentType":"Type","advisoryTitle":"Tittel","anchor":{"toolbar":"Sett inn/Rediger anker","menu":"Egenskaper for anker","title":"Egenskaper for anker","name":"Ankernavn","errorName":"Vennligst skriv inn ankernavnet","remove":"Fjern anker"},"anchorId":"Element etter ID","anchorName":"Anker etter navn","charset":"Lenket tegnsett","cssClasses":"Stilarkklasser","download":"Force Download","displayText":"Tekst som skal vises","emailAddress":"E-postadresse","emailBody":"Melding","emailSubject":"Meldingsemne","id":"Id","info":"Lenkeinfo","langCode":"Språkkode","langDir":"Språkretning","langDirLTR":"Venstre til høyre (VTH)","langDirRTL":"Høyre til venstre (HTV)","menu":"Rediger lenke","name":"Navn","noAnchors":"(Ingen anker i dokumentet)","noEmail":"Vennligst skriv inn e-postadressen","noUrl":"Vennligst skriv inn lenkens URL","other":"<annen>","popupDependent":"Avhenging (Netscape)","popupFeatures":"Egenskaper for popup-vindu","popupFullScreen":"Fullskjerm (IE)","popupLeft":"Venstre posisjon","popupLocationBar":"Adresselinje","popupMenuBar":"Menylinje","popupResizable":"Skalerbar","popupScrollBars":"Scrollbar","popupStatusBar":"Statuslinje","popupToolbar":"Verktøylinje","popupTop":"Topp-posisjon","rel":"Relasjon (rel)","selectAnchor":"Velg et anker","styles":"Stil","tabIndex":"Tabindeks","target":"Mål","targetFrame":"<ramme>","targetFrameName":"Målramme","targetPopup":"<popup-vindu>","targetPopupName":"Navn på popup-vindu","title":"Lenke","toAnchor":"Lenke til anker i teksten","toEmail":"E-post","toUrl":"URL","toolbar":"Sett inn/Rediger lenke","type":"Lenketype","unlink":"Fjern lenke","upload":"Last opp"},"list":{"bulletedlist":"Legg til/Fjern punktmerket liste","numberedlist":"Legg til/Fjern nummerert liste"},"liststyle":{"armenian":"Armensk nummerering","bulletedTitle":"Egenskaper for punktmerket liste","circle":"Sirkel","decimal":"Tall (1, 2, 3, osv.)","decimalLeadingZero":"Tall, med førstesiffer null (01, 02, 03, osv.)","disc":"Disk","georgian":"Georgisk nummerering (an, ban, gan, osv.)","lowerAlpha":"Alfabetisk, små (a, b, c, d, e, osv.)","lowerGreek":"Gresk, små (alpha, beta, gamma, osv.)","lowerRoman":"Romertall, små (i, ii, iii, iv, v, osv.)","none":"Ingen","notset":"<ikke satt>","numberedTitle":"Egenskaper for nummerert liste","square":"Firkant","start":"Start","type":"Type","upperAlpha":"Alfabetisk, store (A, B, C, D, E, osv.)","upperRoman":"Romertall, store (I, II, III, IV, V, osv.)","validateStartNumber":"Starten på listen må være et heltall."},"magicline":{"title":"Sett inn nytt avsnitt her"},"maximize":{"maximize":"Maksimer","minimize":"Minimer"},"newpage":{"toolbar":"Ny side"},"pagebreak":{"alt":"Sideskift","toolbar":"Sett inn sideskift for utskrift"},"pastetext":{"button":"Lim inn som ren tekst","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Lim inn som ren tekst"},"pastefromword":{"confirmCleanup":"Teksten du limer inn ser ut til å være kopiert fra Word. Vil du renske den før du limer den inn?","error":"Det var ikke mulig å renske den innlimte teksten på grunn av en intern feil","title":"Lim inn fra Word","toolbar":"Lim inn fra Word"},"preview":{"preview":"Forhåndsvis"},"print":{"toolbar":"Skriv ut"},"removeformat":{"toolbar":"Fjern formatering"},"save":{"toolbar":"Lagre"},"selectall":{"toolbar":"Merk alt"},"showblocks":{"toolbar":"Vis blokker"},"sourcearea":{"toolbar":"Kilde"},"specialchar":{"options":"Alternativer for spesialtegn","title":"Velg spesialtegn","toolbar":"Sett inn spesialtegn"},"scayt":{"btn_about":"Om SCAYT","btn_dictionaries":"Ordbøker","btn_disable":"Slå av SCAYT","btn_enable":"Slå på SCAYT","btn_langs":"Språk","btn_options":"Valg","text_title":"Stavekontroll mens du skriver"},"stylescombo":{"label":"Stil","panelTitle":"Stilformater","panelTitle1":"Blokkstiler","panelTitle2":"Inlinestiler","panelTitle3":"Objektstiler"},"table":{"border":"Rammestørrelse","caption":"Tittel","cell":{"menu":"Celle","insertBefore":"Sett inn celle før","insertAfter":"Sett inn celle etter","deleteCell":"Slett celler","merge":"Slå sammen celler","mergeRight":"Slå sammen høyre","mergeDown":"Slå sammen ned","splitHorizontal":"Del celle horisontalt","splitVertical":"Del celle vertikalt","title":"Celleegenskaper","cellType":"Celletype","rowSpan":"Radspenn","colSpan":"Kolonnespenn","wordWrap":"Tekstbrytning","hAlign":"Horisontal justering","vAlign":"Vertikal justering","alignBaseline":"Grunnlinje","bgColor":"Bakgrunnsfarge","borderColor":"Rammefarge","data":"Data","header":"Overskrift","yes":"Ja","no":"Nei","invalidWidth":"Cellebredde må være et tall.","invalidHeight":"Cellehøyde må være et tall.","invalidRowSpan":"Radspenn må være et heltall.","invalidColSpan":"Kolonnespenn må være et heltall.","chooseColor":"Velg"},"cellPad":"Cellepolstring","cellSpace":"Cellemarg","column":{"menu":"Kolonne","insertBefore":"Sett inn kolonne før","insertAfter":"Sett inn kolonne etter","deleteColumn":"Slett kolonner"},"columns":"Kolonner","deleteTable":"Slett tabell","headers":"Overskrifter","headersBoth":"Begge","headersColumn":"Første kolonne","headersNone":"Ingen","headersRow":"Første rad","invalidBorder":"Rammestørrelse må være et tall.","invalidCellPadding":"Cellepolstring må være et positivt tall.","invalidCellSpacing":"Cellemarg må være et positivt tall.","invalidCols":"Antall kolonner må være et tall større enn 0.","invalidHeight":"Tabellhøyde må være et tall.","invalidRows":"Antall rader må være et tall større enn 0.","invalidWidth":"Tabellbredde må være et tall.","menu":"Egenskaper for tabell","row":{"menu":"Rader","insertBefore":"Sett inn rad før","insertAfter":"Sett inn rad etter","deleteRow":"Slett rader"},"rows":"Rader","summary":"Sammendrag","title":"Egenskaper for tabell","toolbar":"Tabell","widthPc":"prosent","widthPx":"piksler","widthUnit":"Bredde-enhet"},"undo":{"redo":"Gjør om","undo":"Angre"},"widget":{"move":"Klikk og dra for å flytte","label":"Widget %1"},"uploadwidget":{"abort":"Opplasting ble avbrutt av brukeren.","doneOne":"Filen har blitt lastet opp.","doneMany":"Fullført opplasting av %1 filer.","uploadOne":"Laster opp fil ({percentage}%)...","uploadMany":"Laster opp filer, {current} av {max} fullført ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorer","btnIgnoreAll":"Ignorer alle","btnReplace":"Erstatt","btnReplaceAll":"Erstatt alle","btnUndo":"Angre","changeTo":"Endre til","errorLoading":"Feil under lasting av applikasjonstjenestetjener: %s.","ieSpellDownload":"Stavekontroll er ikke installert. Vil du laste den ned nå?","manyChanges":"Stavekontroll fullført: %1 ord endret","noChanges":"Stavekontroll fullført: ingen ord endret","noMispell":"Stavekontroll fullført: ingen feilstavinger funnet","noSuggestions":"- Ingen forslag -","notAvailable":"Beklager, tjenesten er utilgjenglig nå.","notInDic":"Ikke i ordboken","oneChange":"Stavekontroll fullført: Ett ord endret","progress":"Stavekontroll pågår...","title":"Stavekontroll","toolbar":"Stavekontroll"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/no.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/af.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/af.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/af.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['af']={"editor":"Woordverwerker","editorPanel":"Woordverwerkerpaneel","common":{"editorHelp":"Druk op ALT 0 vir hulp","browseServer":"Blaai op bediener","url":"URL","protocol":"Protokol","upload":"Oplaai","uploadSubmit":"Stuur aan die bediener","image":"Beeld","flash":"Flash","form":"Vorm","checkbox":"Merkhokkie","radio":"Radioknoppie","textField":"Teksveld","textarea":"Teksarea","hiddenField":"Versteekteveld","button":"Knop","select":"Keuseveld","imageButton":"Beeldknop","notSet":"<geen instelling>","id":"Id","name":"Naam","langDir":"Skryfrigting","langDirLtr":"Links na regs (LTR)","langDirRtl":"Regs na links (RTL)","langCode":"Taalkode","longDescr":"Lang beskrywing URL","cssClass":"CSS klasse","advisoryTitle":"Aanbevole titel","cssStyle":"Styl","ok":"OK","cancel":"Kanselleer","close":"Sluit","preview":"Voorbeeld","resize":"Skalierung","generalTab":"Algemeen","advancedTab":"Gevorderd","validateNumberFailed":"Hierdie waarde is nie 'n nommer nie.","confirmNewPage":"Alle wysiginge sal verlore gaan. Is jy seker dat jy 'n nuwe bladsy wil laai?","confirmCancel":"Sommige opsies is gewysig. Is jy seker dat jy hierdie dialoogvenster wil sluit?","options":"Opsies","target":"Teiken","targetNew":"Nuwe venster (_blank)","targetTop":"Boonste venster (_top)","targetSelf":"Selfde venster (_self)","targetParent":"Oorspronklike venster (_parent)","langDirLTR":"Links na Regs (LTR)","langDirRTL":"Regs na Links (RTL)","styles":"Styl","cssClasses":"CSS klasse","width":"Breedte","height":"Hoogte","align":"Orienteerung","left":"Links","right":"Regs","center":"Middel","justify":"Eweredig","alignLeft":"Links oplyn","alignRight":"Regs oplyn","alignCenter":"Align Center","alignTop":"Bo","alignMiddle":"Middel","alignBottom":"Onder","alignNone":"Geen","invalidValue":"Ongeldige waarde","invalidHeight":"Hoogte moet 'n getal wees","invalidWidth":"Breedte moet 'n getal wees.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Die waarde vir die \"%1\" veld moet 'n posetiewe getal wees met of sonder 'n geldige CSS eenheid (px, %, in, cm, mm, em, ex, pt, of pc).","invalidHtmlLength":"Die waarde vir die \"%1\" veld moet 'n posetiewe getal wees met of sonder 'n geldige HTML eenheid (px of %).","invalidInlineStyle":"Ongeldige CSS. Formaat is een of meer sleutel-wert paare, \"naam : wert\" met kommapunte gesky.","cssLengthTooltip":"Voeg 'n getal wert in pixel in, of 'n waarde met geldige CSS eenheid (px, %, in, cm, mm, em, ex, pt, of pc).","unavailable":"%1<span class=\"cke_accessibility\">, nie beskikbaar nie</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Skuif","17":"Ctrl","18":"Alt","32":"Spasie","35":"Einde","36":"Tuis","46":"Verwyder","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Bevel"},"keyboardShortcut":"Sleutel kombenasie","optionDefault":"Default"},"about":{"copy":"Kopiereg &copy; $1. Alle regte voorbehou.","dlgTitle":"Meer oor CKEditor 4","moreInfo":"Vir lisensie-informasie, besoek asb. ons webwerf:"},"basicstyles":{"bold":"Vet","italic":"Skuins","strike":"Deurgestreep","subscript":"Onderskrif","superscript":"Bo-skrif","underline":"Onderstreep"},"bidi":{"ltr":"Skryfrigting van links na regs","rtl":"Skryfrigting van regs na links"},"blockquote":{"toolbar":"Sitaatblok"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 uitgekies"},"toolbar":{"toolbarCollapse":"Verklein werkbalk","toolbarExpand":"Vergroot werkbalk","toolbarGroups":{"document":"Dokument","clipboard":"Knipbord/Undo","editing":"Verander","forms":"Vorms","basicstyles":"Eenvoudige Styl","paragraph":"Paragraaf","links":"Skakels","insert":"Toevoeg","styles":"Style","colors":"Kleure","tools":"Gereedskap"},"toolbars":"Werkbalke"},"clipboard":{"copy":"Kopiëer","copyError":"U blaaier se sekuriteitsinstelling belet die kopiëringsaksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+C).","cut":"Knip","cutError":"U blaaier se sekuriteitsinstelling belet die outomatiese knip-aksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+X).","paste":"Plak","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Plak-area","pasteMsg":"Paste your content inside the area below and press OK.","title":"Byvoeg"},"colorbutton":{"auto":"Outomaties","bgColorTitle":"Agtergrondkleur","colors":{"000":"Swart","800000":"Meroen","8B4513":"Sjokoladebruin","2F4F4F":"Donkerleisteengrys","008080":"Blougroen","000080":"Vlootblou","4B0082":"Indigo","696969":"Donkergrys","B22222":"Rooibaksteen","A52A2A":"Bruin","DAA520":"Donkergeel","006400":"Donkergroen","40E0D0":"Turkoois","0000CD":"Middelblou","800080":"Pers","808080":"Grys","F00":"Rooi","FF8C00":"Donkeroranje","FFD700":"Goud","008000":"Groen","0FF":"Siaan","00F":"Blou","EE82EE":"Viooltjieblou","A9A9A9":"Donkergrys","FFA07A":"Ligsalm","FFA500":"Oranje","FFFF00":"Geel","00FF00":"Lemmetjie","AFEEEE":"Ligturkoois","ADD8E6":"Ligblou","DDA0DD":"Pruim","D3D3D3":"Liggrys","FFF0F5":"Linne","FAEBD7":"Ivoor","FFFFE0":"Liggeel","F0FFF0":"Heuningdou","F0FFFF":"Asuur","F0F8FF":"Ligte hemelsblou","E6E6FA":"Laventel","FFF":"Wit","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Meer Kleure...","panelTitle":"Kleure","textColorTitle":"Tekskleur"},"colordialog":{"clear":"Herstel","highlight":"Aktief","options":"Kleuropsies","selected":"Geselekteer","title":"Kies kleur"},"templates":{"button":"Sjablone","emptyListMsg":"(Geen sjablone gedefineer nie)","insertOption":"Vervang huidige inhoud","options":"Sjabloon opsies","selectPromptMsg":"Kies die sjabloon om te gebruik in die redigeerder (huidige inhoud gaan verlore):","title":"Inhoud Sjablone"},"contextmenu":{"options":"Konteks Spyskaart-opsies"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Aanbevole Titel","cssClassInputLabel":"CSS klasse","edit":"Wysig Div","inlineStyleInputLabel":"Inlyn Styl","langDirLTRLabel":"Links na regs (LTR)","langDirLabel":"Skryfrigting","langDirRTLLabel":"Regs na links (RTL)","languageCodeInputLabel":" Taalkode","remove":"Verwyder Div","styleSelectLabel":"Styl","title":"Skep Div houer","toolbar":"Skep Div houer"},"elementspath":{"eleLabel":"Elemente-pad","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Soek","findOptions":"Find Options","findWhat":"Soek na:","matchCase":"Hoof/kleinletter sensitief","matchCyclic":"Soek deurlopend","matchWord":"Hele woord moet voorkom","notFoundMsg":"Teks nie gevind nie.","replace":"Vervang","replaceAll":"Vervang alles","replaceSuccessMsg":"%1 voorkoms(te) vervang.","replaceWith":"Vervang met:","title":"Soek en vervang"},"fakeobjects":{"anchor":"Anker","flash":"Flash animasie","hiddenfield":"Verborge veld","iframe":"IFrame","unknown":"Onbekende objek"},"flash":{"access":"Skrip toegang","accessAlways":"Altyd","accessNever":"Nooit","accessSameDomain":"Selfde domeinnaam","alignAbsBottom":"Absoluut-onder","alignAbsMiddle":"Absoluut-middel","alignBaseline":"Basislyn","alignTextTop":"Teks bo","bgcolor":"Agtergrondkleur","chkFull":"Laat volledige skerm toe","chkLoop":"Herhaal","chkMenu":"Flash spyskaart aan","chkPlay":"Speel outomaties","flashvars":"Veranderlikes vir Flash","hSpace":"HSpasie","properties":"Flash eienskappe","propertiesTab":"Eienskappe","quality":"Kwaliteit","qualityAutoHigh":"Outomaties hoog","qualityAutoLow":"Outomaties laag","qualityBest":"Beste","qualityHigh":"Hoog","qualityLow":"Laag","qualityMedium":"Gemiddeld","scale":"Skaal","scaleAll":"Wys alles","scaleFit":"Presiese pas","scaleNoBorder":"Geen rand","title":"Flash eienskappe","vSpace":"VSpasie","validateHSpace":"HSpasie moet 'n heelgetal wees.","validateSrc":"Voeg die URL in","validateVSpace":"VSpasie moet 'n heelgetal wees.","windowMode":"Venster modus","windowModeOpaque":"Ondeursigtig","windowModeTransparent":"Deursigtig","windowModeWindow":"Venster"},"font":{"fontSize":{"label":"Grootte","voiceLabel":"Fontgrootte","panelTitle":"Fontgrootte"},"label":"Font","panelTitle":"Fontnaam","voiceLabel":"Font"},"forms":{"button":{"title":"Knop eienskappe","text":"Teks (Waarde)","type":"Soort","typeBtn":"Knop","typeSbm":"Stuur","typeRst":"Maak leeg"},"checkboxAndRadio":{"checkboxTitle":"Merkhokkie eienskappe","radioTitle":"Radioknoppie eienskappe","value":"Waarde","selected":"Geselekteer","required":"Required"},"form":{"title":"Vorm eienskappe","menu":"Vorm eienskappe","action":"Aksie","method":"Metode","encoding":"Kodering"},"hidden":{"title":"Verborge veld eienskappe","name":"Naam","value":"Waarde"},"select":{"title":"Keuseveld eienskappe","selectInfo":"Info","opAvail":"Beskikbare opsies","value":"Waarde","size":"Grootte","lines":"Lyne","chkMulti":"Laat meer as een keuse toe","required":"Required","opText":"Teks","opValue":"Waarde","btnAdd":"Byvoeg","btnModify":"Wysig","btnUp":"Op","btnDown":"Af","btnSetValue":"Stel as geselekteerde waarde","btnDelete":"Verwyder"},"textarea":{"title":"Teks-area eienskappe","cols":"Kolomme","rows":"Rye"},"textfield":{"title":"Teksveld eienskappe","name":"Naam","value":"Waarde","charWidth":"Breedte (karakters)","maxChars":"Maksimum karakters","required":"Required","type":"Soort","typeText":"Teks","typePass":"Wagwoord","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Opmaak","panelTitle":"Opmaak","tag_address":"Adres","tag_div":"Normaal (DIV)","tag_h1":"Opskrif 1","tag_h2":"Opskrif 2","tag_h3":"Opskrif 3","tag_h4":"Opskrif 4","tag_h5":"Opskrif 5","tag_h6":"Opskrif 6","tag_p":"Normaal","tag_pre":"Opgemaak"},"horizontalrule":{"toolbar":"Horisontale lyn invoeg"},"iframe":{"border":"Wys rand van raam","noUrl":"Gee die iframe URL","scrolling":"Skuifbalke aan","title":"IFrame Eienskappe","toolbar":"IFrame"},"image":{"alt":"Alternatiewe teks","border":"Rand","btnUpload":"Stuur na bediener","button2Img":"Wil u die geselekteerde afbeeldingsknop vervang met 'n eenvoudige afbeelding?","hSpace":"HSpasie","img2Button":"Wil u die geselekteerde afbeelding vervang met 'n afbeeldingsknop?","infoTab":"Afbeelding informasie","linkTab":"Skakel","lockRatio":"Vaste proporsie","menu":"Afbeelding eienskappe","resetSize":"Herstel grootte","title":"Afbeelding eienskappe","titleButton":"Afbeeldingsknop eienskappe","upload":"Oplaai","urlMissing":"Die URL na die afbeelding ontbreek.","vSpace":"VSpasie","validateBorder":"Rand moet 'n heelgetal wees.","validateHSpace":"HSpasie moet 'n heelgetal wees.","validateVSpace":"VSpasie moet 'n heelgetal wees."},"indent":{"indent":"Vergroot inspring","outdent":"Verklein inspring"},"smiley":{"options":"Lagbekkie opsies","title":"Voeg lagbekkie by","toolbar":"Lagbekkie"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Toegangsleutel","advanced":"Gevorderd","advisoryContentType":"Aanbevole inhoudstipe","advisoryTitle":"Aanbevole titel","anchor":{"toolbar":"Anker byvoeg/verander","menu":"Anker-eienskappe","title":"Anker-eienskappe","name":"Ankernaam","errorName":"Voltooi die ankernaam asseblief","remove":"Remove Anchor"},"anchorId":"Op element Id","anchorName":"Op ankernaam","charset":"Karakterstel van geskakelde bron","cssClasses":"CSS klasse","download":"Force Download","displayText":"Display Text","emailAddress":"E-posadres","emailBody":"Berig-inhoud","emailSubject":"Berig-onderwerp","id":"Id","info":"Skakel informasie","langCode":"Taalkode","langDir":"Skryfrigting","langDirLTR":"Links na regs (LTR)","langDirRTL":"Regs na links (RTL)","menu":"Wysig skakel","name":"Naam","noAnchors":"(Geen ankers beskikbaar in dokument)","noEmail":"Gee die e-posadres","noUrl":"Gee die skakel se URL","other":"<ander>","popupDependent":"Afhanklik (Netscape)","popupFeatures":"Eienskappe van opspringvenster","popupFullScreen":"Volskerm (IE)","popupLeft":"Posisie links","popupLocationBar":"Adresbalk","popupMenuBar":"Spyskaartbalk","popupResizable":"Herskaalbaar","popupScrollBars":"Skuifbalke","popupStatusBar":"Statusbalk","popupToolbar":"Werkbalk","popupTop":"Posisie bo","rel":"Relationship","selectAnchor":"Kies 'n anker","styles":"Styl","tabIndex":"Tab indeks","target":"Doel","targetFrame":"<raam>","targetFrameName":"Naam van doelraam","targetPopup":"<opspringvenster>","targetPopupName":"Naam van opspringvenster","title":"Skakel","toAnchor":"Anker in bladsy","toEmail":"E-pos","toUrl":"URL","toolbar":"Skakel invoeg/wysig","type":"Skakelsoort","unlink":"Verwyder skakel","upload":"Oplaai"},"list":{"bulletedlist":"Ongenommerde lys","numberedlist":"Genommerde lys"},"liststyle":{"armenian":"Armeense nommering","bulletedTitle":"Eienskappe van ongenommerde lys","circle":"Sirkel","decimal":"Desimale syfers (1, 2, 3, ens.)","decimalLeadingZero":"Desimale syfers met voorloopnul (01, 02, 03, ens.)","disc":"Skyf","georgian":"Georgiese nommering (an, ban, gan, ens.)","lowerAlpha":"Kleinletters (a, b, c, d, e, ens.)","lowerGreek":"Griekse kleinletters (alpha, beta, gamma, ens.)","lowerRoman":"Romeinse kleinletters (i, ii, iii, iv, v, ens.)","none":"Geen","notset":"<nie ingestel nie>","numberedTitle":"Eienskappe van genommerde lys","square":"Vierkant","start":"Begin","type":"Tipe","upperAlpha":"Hoofletters (A, B, C, D, E, ens.)","upperRoman":"Romeinse hoofletters (I, II, III, IV, V, ens.)","validateStartNumber":"Beginnommer van lys moet 'n heelgetal wees."},"magicline":{"title":"Voeg paragraaf hier in"},"maximize":{"maximize":"Maksimaliseer","minimize":"Minimaliseer"},"newpage":{"toolbar":"Nuwe bladsy"},"pagebreak":{"alt":"Bladsy-einde","toolbar":"Bladsy-einde invoeg"},"pastetext":{"button":"Plak as eenvoudige teks","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Plak as eenvoudige teks"},"pastefromword":{"confirmCleanup":"Die teks wat u wil plak lyk asof dit uit Word gekopiëer is. Wil u dit eers skoonmaak voordat dit geplak word?","error":"Die geplakte teks kon nie skoongemaak word nie, weens 'n interne fout","title":"Plak vanuit Word","toolbar":"Plak vanuit Word"},"preview":{"preview":"Voorbeeld"},"print":{"toolbar":"Druk"},"removeformat":{"toolbar":"Verwyder opmaak"},"save":{"toolbar":"Bewaar"},"selectall":{"toolbar":"Selekteer alles"},"showblocks":{"toolbar":"Toon blokke"},"sourcearea":{"toolbar":"Bron"},"specialchar":{"options":"Spesiale karakter-opsies","title":"Kies spesiale karakter","toolbar":"Voeg spesiaale karakter in"},"scayt":{"btn_about":"SCAYT info","btn_dictionaries":"Woordeboeke","btn_disable":"SCAYT af","btn_enable":"SCAYT aan","btn_langs":"Tale","btn_options":"Opsies","text_title":"Speltoets terwyl u tik"},"stylescombo":{"label":"Styl","panelTitle":"Vormaat style","panelTitle1":"Blok style","panelTitle2":"Inlyn style","panelTitle3":"Objek style"},"table":{"border":"Randbreedte","caption":"Naam","cell":{"menu":"Sel","insertBefore":"Voeg sel in voor","insertAfter":"Voeg sel in na","deleteCell":"Verwyder sel","merge":"Voeg selle saam","mergeRight":"Voeg saam na regs","mergeDown":"Voeg saam ondertoe","splitHorizontal":"Splits sel horisontaal","splitVertical":"Splits sel vertikaal","title":"Sel eienskappe","cellType":"Sel tipe","rowSpan":"Omspan rye","colSpan":"Omspan kolomme","wordWrap":"Woord terugloop","hAlign":"Horisontale oplyning","vAlign":"Vertikale oplyning","alignBaseline":"Basislyn","bgColor":"Agtergrondkleur","borderColor":"Randkleur","data":"Inhoud","header":"Opskrif","yes":"Ja","no":"Nee","invalidWidth":"Selbreedte moet 'n getal wees.","invalidHeight":"Selhoogte moet 'n getal wees.","invalidRowSpan":"Omspan rye moet 'n heelgetal wees.","invalidColSpan":"Omspan kolomme moet 'n heelgetal wees.","chooseColor":"Kies"},"cellPad":"Sel-spasie","cellSpace":"Sel-afstand","column":{"menu":"Kolom","insertBefore":"Voeg kolom in voor","insertAfter":"Voeg kolom in na","deleteColumn":"Verwyder kolom"},"columns":"Kolomme","deleteTable":"Verwyder tabel","headers":"Opskrifte","headersBoth":"Beide ","headersColumn":"Eerste kolom","headersNone":"Geen","headersRow":"Eerste ry","invalidBorder":"Randbreedte moet 'n getal wees.","invalidCellPadding":"Sel-spasie moet 'n getal wees.","invalidCellSpacing":"Sel-afstand moet 'n getal wees.","invalidCols":"Aantal kolomme moet 'n getal groter as 0 wees.","invalidHeight":"Tabelhoogte moet 'n getal wees.","invalidRows":"Aantal rye moet 'n getal groter as 0 wees.","invalidWidth":"Tabelbreedte moet 'n getal wees.","menu":"Tabel eienskappe","row":{"menu":"Ry","insertBefore":"Voeg ry in voor","insertAfter":"Voeg ry in na","deleteRow":"Verwyder ry"},"rows":"Rye","summary":"Opsomming","title":"Tabel eienskappe","toolbar":"Tabel","widthPc":"persent","widthPx":"piksels","widthUnit":"breedte-eenheid"},"undo":{"redo":"Oordoen","undo":"Ontdoen"},"widget":{"move":"Klik en trek on te beweeg","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignoreer","btnIgnoreAll":"Ignoreer alles","btnReplace":"Vervang","btnReplaceAll":"vervang alles","btnUndo":"Ontdoen","changeTo":"Verander na","errorLoading":"Fout by inlaai van diens: %s.","ieSpellDownload":"Speltoetser is nie geïnstalleer nie. Wil u dit nou aflaai?","manyChanges":"Klaar met speltoets: %1 woorde verander","noChanges":"Klaar met speltoets: Geen woorde verander nie","noMispell":"Klaar met speltoets: Geen foute nie","noSuggestions":"- Geen voorstel -","notAvailable":"Jammer, hierdie diens is nie nou beskikbaar nie.","notInDic":"Nie in woordeboek nie","oneChange":"Klaar met speltoets: Een woord verander","progress":"Spelling word getoets...","title":"Speltoetser","toolbar":"Speltoets"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/af.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/mn.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/mn.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/mn.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['mn']={"editor":"Хэлбэрт бичвэр боловсруулагч","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Үйлчлэгч тооцоолуур (сервэр)-ийг үзэх","url":"цахим хуудасны хаяг (URL)","protocol":"Протокол","upload":"Илгээж ачаалах","uploadSubmit":"Үүнийг үйлчлэгч тооцоолуур (сервер) лүү илгээх","image":"Зураг","flash":"Флаш хөдөлгөөнтэй зураг","form":"Маягт","checkbox":"Тэмдэглээний нүд","radio":"Радио товчлуур","textField":"Бичвэрийн талбар","textarea":"Бичвэрийн зай","hiddenField":"Далд талбар","button":"Товчлуур","select":"Сонголтын талбар","imageButton":"Зургий товчуур","notSet":"<тохируулаагүй>","id":"Id (техникийн нэр)","name":"Нэр","langDir":"Хэлний чиглэл","langDirLtr":"Зүүнээс баруун (LTR)","langDirRtl":"Баруунаас зүүн (RTL)","langCode":"Хэлний код","longDescr":"Урт тайлбарын вэб хаяг","cssClass":"Хэлбэрийн хуудасны ангиуд","advisoryTitle":"Зөвлөх гарчиг","cssStyle":"Загвар","ok":"За","cancel":"Болих","close":"Хаах","preview":"Урьдчилан харах","resize":"Resize","generalTab":"Ерөнхий","advancedTab":"Гүнзгий","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Сонголт","target":"Бай","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Зүүн талаас баруун тийшээ (LTR)","langDirRTL":"Баруун талаас зүүн тийшээ (RTL)","styles":"Загвар","cssClasses":"Хэлбэрийн хуудасны ангиуд","width":"Өргөн","height":"Өндөр","align":"Эгнээ","left":"Зүүн","right":"Баруун","center":"Төвд","justify":"Тэгшлэх","alignLeft":"Зүүн талд тулгах","alignRight":"Баруун талд тулгах","alignCenter":"Align Center","alignTop":"Дээд талд","alignMiddle":"Дунд","alignBottom":"Доод талд","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Өндөр нь тоо байх ёстой.","invalidWidth":"Өргөн нь тоо байх ёстой.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Тод бүдүүн","italic":"Налуу","strike":"Дундуур нь зураастай болгох","subscript":"Суурь болгох","superscript":"Зэрэг болгох","underline":"Доогуур нь зураастай болгох"},"bidi":{"ltr":"Зүүнээс баруун тийш бичлэг","rtl":"Баруунаас зүүн тийш бичлэг"},"blockquote":{"toolbar":"Ишлэл хэсэг"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Холбоосууд","insert":"Оруулах","styles":"Загварууд","colors":"Онгөнүүд","tools":"Хэрэгслүүд"},"toolbars":"Болосруулагчийн хэрэгслийн самбар"},"clipboard":{"copy":"Хуулах","copyError":"Таны browser-ын хамгаалалтын тохиргоо editor-д автоматаар хуулах үйлдэлийг зөвшөөрөхгүй байна. (Ctrl/Cmd+C) товчны хослолыг ашиглана уу.","cut":"Хайчлах","cutError":"Таны browser-ын хамгаалалтын тохиргоо editor-д автоматаар хайчлах үйлдэлийг зөвшөөрөхгүй байна. (Ctrl/Cmd+X) товчны хослолыг ашиглана уу.","paste":"Буулгах","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK.","title":"Буулгах"},"colorbutton":{"auto":"Автоматаар","bgColorTitle":"Дэвсгэр өнгө","colors":{"000":"Хар","800000":"Хүрэн","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Саарал","F00":"Улаан","FF8C00":"Dark Orange","FFD700":"Алт","008000":"Ногоон","0FF":"Цэнхэр","00F":"Хөх","EE82EE":"Ягаан","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Улбар шар","FFFF00":"Шар","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Цайвар саарал","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"Цагаан","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Нэмэлт өнгөнүүд...","panelTitle":"Өнгөнүүд","textColorTitle":"Бичвэрийн өнгө"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"Загварууд","emptyListMsg":"(Загвар тодорхойлогдоогүй байна)","insertOption":"Одоогийн агууллагыг дарж бичих","options":"Template Options","selectPromptMsg":"Загварыг нээж editor-рүү сонгож оруулна уу<br />(Одоогийн агууллагыг устаж магадгүй):","title":"Загварын агуулга"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Зөвлөлдөх гарчиг","cssClassInputLabel":"Stylesheet классууд","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Зүүн талаас баруун тишээ (LTR)","langDirLabel":"Хэлний чиглэл","langDirRTLLabel":"Баруун талаас зүүн тишээ (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Загвар","title":"Div гэдэг хэсэг бий болгох","toolbar":"Div гэдэг хэсэг бий болгох"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Хайх","findOptions":"Хайх сонголтууд","findWhat":"Хайх үг/үсэг:","matchCase":"Тэнцэх төлөв","matchCyclic":"Match cyclic","matchWord":"Тэнцэх бүтэн үг","notFoundMsg":"Хайсан бичвэрийг олсонгүй.","replace":"Орлуулах","replaceAll":"Бүгдийг нь солих","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Солих үг:","title":"Хайж орлуулах"},"fakeobjects":{"anchor":"Зангуу","flash":"Flash Animation","hiddenfield":"Нууц талбар","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Онцлогууд","accessNever":"Хэзээ ч үгүй","accessSameDomain":"Байнга","alignAbsBottom":"Abs доод талд","alignAbsMiddle":"Abs Дунд талд","alignBaseline":"Baseline","alignTextTop":"Текст дээр","bgcolor":"Дэвсгэр өнгө","chkFull":"Allow Fullscreen","chkLoop":"Давтах","chkMenu":"Флаш цэс идвэхжүүлэх","chkPlay":"Автоматаар тоглох","flashvars":"Variables for Flash","hSpace":"Хөндлөн зай","properties":"Флаш шинж чанар","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Өргөгтгөх","scaleAll":"Бүгдийг харуулах","scaleFit":"Яг тааруулах","scaleNoBorder":"Хүрээгүй","title":"Флаш шинж чанар","vSpace":"Босоо зай","validateHSpace":"HSpace must be a number.","validateSrc":"Линк URL-ээ төрөлжүүлнэ үү","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Хэмжээ","voiceLabel":"Үсгийн хэмжээ","panelTitle":"Үсгийн хэмжээ"},"label":"Үсгийн хэлбэр","panelTitle":"Үгсийн хэлбэрийн нэр","voiceLabel":"Үгсийн хэлбэр"},"forms":{"button":{"title":"Товчны шинж чанар","text":"Тэкст (Утга)","type":"Төрөл","typeBtn":"Товч","typeSbm":"Submit","typeRst":"Болих"},"checkboxAndRadio":{"checkboxTitle":"Чекбоксны шинж чанар","radioTitle":"Радио товчны шинж чанар","value":"Утга","selected":"Сонгогдсон","required":"Required"},"form":{"title":"Форм шинж чанар","menu":"Форм шинж чанар","action":"Үйлдэл","method":"Арга","encoding":"Encoding"},"hidden":{"title":"Нууц талбарын шинж чанар","name":"Нэр","value":"Утга"},"select":{"title":"Согогч талбарын шинж чанар","selectInfo":"Мэдээлэл","opAvail":"Идвэхтэй сонголт","value":"Утга","size":"Хэмжээ","lines":"Мөр","chkMulti":"Олон зүйл зэрэг сонгохыг зөвшөөрөх","required":"Required","opText":"Тэкст","opValue":"Утга","btnAdd":"Нэмэх","btnModify":"Өөрчлөх","btnUp":"Дээш","btnDown":"Доош","btnSetValue":"Сонгогдсан утга оноох","btnDelete":"Устгах"},"textarea":{"title":"Текст орчны шинж чанар","cols":"Багана","rows":"Мөр"},"textfield":{"title":"Текст талбарын шинж чанар","name":"Нэр","value":"Утга","charWidth":"Тэмдэгтын өргөн","maxChars":"Хамгийн их тэмдэгт","required":"Required","type":"Төрөл","typeText":"Текст","typePass":"Нууц үг","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"цахим хуудасны хаяг (URL)"}},"format":{"label":"Параргафын загвар","panelTitle":"Параргафын загвар","tag_address":"Хаяг","tag_div":"Paragraph (DIV)","tag_h1":"Гарчиг 1","tag_h2":"Гарчиг 2","tag_h3":"Гарчиг 3","tag_h4":"Гарчиг 4","tag_h5":"Гарчиг 5","tag_h6":"Гарчиг 6","tag_p":"Хэвийн","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"Хөндлөн зураас оруулах"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Зургийг орлох бичвэр","border":"Хүрээ","btnUpload":"Үүнийг сервэррүү илгээ","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"Хөндлөн зай","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Зурагны мэдээлэл","linkTab":"Холбоос","lockRatio":"Радио түгжих","menu":"Зураг","resetSize":"хэмжээ дахин оноох","title":"Зураг","titleButton":"Зурган товчны шинж чанар","upload":"Хуулах","urlMissing":"Зургийн эх сурвалжийн хаяг (URL) байхгүй байна.","vSpace":"Босоо зай","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Догол мөр хасах","outdent":"Догол мөр нэмэх"},"smiley":{"options":"Smiley Options","title":"Тодорхойлолт оруулах","toolbar":"Тодорхойлолт"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Холбох түлхүүр","advanced":"Нэмэлт","advisoryContentType":"Зөвлөлдөх төрлийн агуулга","advisoryTitle":"Зөвлөлдөх гарчиг","anchor":{"toolbar":"Зангуу","menu":"Зангууг болосруулах","title":"Зангуугийн шинж чанар","name":"Зангуугийн нэр","errorName":"Зангуугийн нэрийг оруулна уу","remove":"Зангууг устгах"},"anchorId":"Элемэнтйн Id нэрээр","anchorName":"Зангуугийн нэрээр","charset":"Тэмдэгт оноох нөөцөд холбогдсон","cssClasses":"Stylesheet классууд","download":"Force Download","displayText":"Display Text","emailAddress":"Э-шуудангийн хаяг","emailBody":"Зурвасны их бие","emailSubject":"Зурвасны гарчиг","id":"Id","info":"Холбоосын тухай мэдээлэл","langCode":"Хэлний код","langDir":"Хэлний чиглэл","langDirLTR":"Зүүнээс баруун (LTR)","langDirRTL":"Баруунаас зүүн (RTL)","menu":"Холбоос засварлах","name":"Нэр","noAnchors":"(Баримт бичиг зангуугүй байна)","noEmail":"Э-шуудангий хаягаа шивнэ үү","noUrl":"Холбоосны URL хаягийг шивнэ үү","other":"<other>","popupDependent":"Хамаатай (Netscape)","popupFeatures":"Popup цонхны онцлог","popupFullScreen":"Цонх дүүргэх (Internet Explorer)","popupLeft":"Зүүн байрлал","popupLocationBar":"Location хэсэг","popupMenuBar":"Цэсний самбар","popupResizable":"Resizable","popupScrollBars":"Скрол хэсэгүүд","popupStatusBar":"Статус хэсэг","popupToolbar":"Багажны самбар","popupTop":"Дээд байрлал","rel":"Relationship","selectAnchor":"Нэг зангууг сонгоно уу","styles":"Загвар","tabIndex":"Tab индекс","target":"Байрлал","targetFrame":"<Агуулах хүрээ>","targetFrameName":"Очих фремын нэр","targetPopup":"<popup цонх>","targetPopupName":"Popup цонхны нэр","title":"Холбоос","toAnchor":"Энэ бичвэр дэх зангуу руу очих холбоос","toEmail":"Э-захиа","toUrl":"цахим хуудасны хаяг (URL)","toolbar":"Холбоос","type":"Линкийн төрөл","unlink":"Холбоос авч хаях","upload":"Хуулах"},"list":{"bulletedlist":"Цэгтэй жагсаалт","numberedlist":"Дугаарлагдсан жагсаалт"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Төрөл","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Дэлгэц дүүргэх","minimize":"Цонхыг багсгаж харуулах"},"newpage":{"toolbar":"Шинэ хуудас"},"pagebreak":{"alt":"Page Break","toolbar":"Хуудас тусгаарлагч оруулах"},"pastetext":{"button":"Энгийн бичвэрээр буулгах","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Энгийн бичвэрээр буулгах"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Word-оос буулгах","toolbar":"Word-оос буулгах"},"preview":{"preview":"Уридчлан харах"},"print":{"toolbar":"Хэвлэх"},"removeformat":{"toolbar":"Параргафын загварыг авч хаях"},"save":{"toolbar":"Хадгалах"},"selectall":{"toolbar":"Бүгдийг нь сонгох"},"showblocks":{"toolbar":"Хавтангуудыг харуулах"},"sourcearea":{"toolbar":"Код"},"specialchar":{"options":"Special Character Options","title":"Онцгой тэмдэгт сонгох","toolbar":"Онцгой тэмдэгт оруулах"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Толь бичгүүд","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Хэлүүд","btn_options":"Сонголт","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Загвар","panelTitle":"Загвар хэлбэржүүлэх","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Хүрээний хэмжээ","caption":"Тайлбар","cell":{"menu":"Нүх/зай","insertBefore":"Нүх/зай өмнө нь оруулах","insertAfter":"Нүх/зай дараа нь оруулах","deleteCell":"Нүх устгах","merge":"Нүх нэгтэх","mergeRight":"Баруун тийш нэгтгэх","mergeDown":"Доош нэгтгэх","splitHorizontal":"Нүх/зайг босоогоор нь тусгаарлах","splitVertical":"Нүх/зайг хөндлөнгөөр нь тусгаарлах","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Хэвтээд тэгшлэх арга","vAlign":"Босоод тэгшлэх арга","alignBaseline":"Baseline","bgColor":"Дэвсгэр өнгө","borderColor":"Хүрээний өнгө","data":"Data","header":"Header","yes":"Тийм","no":"Үгүй","invalidWidth":"Нүдний өргөн нь тоо байх ёстой.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Сонгох"},"cellPad":"Нүх доторлох(padding)","cellSpace":"Нүх хоорондын зай (spacing)","column":{"menu":"Багана","insertBefore":"Багана өмнө нь оруулах","insertAfter":"Багана дараа нь оруулах","deleteColumn":"Багана устгах"},"columns":"Багана","deleteTable":"Хүснэгт устгах","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a positive number.","invalidCellSpacing":"Cell spacing must be a positive number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Хүснэгтийн өргөн нь тоо байх ёстой.","menu":"Хүснэгт","row":{"menu":"Мөр","insertBefore":"Мөр өмнө нь оруулах","insertAfter":"Мөр дараа нь оруулах","deleteRow":"Мөр устгах"},"rows":"Мөр","summary":"Тайлбар","title":"Хүснэгт","toolbar":"Хүснэгт","widthPc":"хувь","widthPx":"цэг","widthUnit":"өргөний нэгж"},"undo":{"redo":"Өмнөх үйлдлээ сэргээх","undo":"Хүчингүй болгох"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Зөвшөөрөх","btnIgnoreAll":"Бүгдийг зөвшөөрөх","btnReplace":"Солих","btnReplaceAll":"Бүгдийг Дарж бичих","btnUndo":"Буцаах","changeTo":"Өөрчлөх","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Дүрэм шалгагч суугаагүй байна. Татаж авахыг хүсч байна уу?","manyChanges":"Дүрэм шалгаад дууссан: %1 үг өөрчлөгдсөн","noChanges":"Дүрэм шалгаад дууссан: үг өөрчлөгдөөгүй","noMispell":"Дүрэм шалгаад дууссан: Алдаа олдсонгүй","noSuggestions":"- Тайлбаргүй -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Толь бичиггүй","oneChange":"Дүрэм шалгаад дууссан: 1 үг өөрчлөгдсөн","progress":"Дүрэм шалгаж байгаа үйл явц...","title":"Spell Checker","toolbar":"Үгийн дүрэх шалгах"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/mn.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/de.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/de.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/de.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['de']={"editor":"WYSIWYG-Editor","editorPanel":"WYSIWYG-Editor-Leiste","common":{"editorHelp":"Drücken Sie ALT 0 für Hilfe","browseServer":"Server durchsuchen","url":"URL","protocol":"Protokoll","upload":"Hochladen","uploadSubmit":"Zum Server senden","image":"Bild","flash":"Flash","form":"Formular","checkbox":"Kontrollbox","radio":"Optionsfeld","textField":"Textfeld","textarea":"Textfeld","hiddenField":"Verstecktes Feld","button":"Schaltfläche","select":"Auswahlfeld","imageButton":"Bildschaltfläche","notSet":"<nicht festgelegt>","id":"Kennung","name":"Name","langDir":"Schreibrichtung","langDirLtr":"Links nach Rechts (LTR)","langDirRtl":"Rechts nach Links (RTL)","langCode":"Sprachcode","longDescr":"Langbeschreibungs-URL","cssClass":"Formatvorlagenklassen","advisoryTitle":"Titel Beschreibung","cssStyle":"Stil","ok":"OK","cancel":"Abbrechen","close":"Schließen","preview":"Vorschau","resize":"Größe ändern","generalTab":"Allgemein","advancedTab":"Erweitert","validateNumberFailed":"Dieser Wert ist keine Nummer.","confirmNewPage":"Alle nicht gespeicherten Änderungen gehen verloren. Sind Sie sicher die neue Seite zu laden?","confirmCancel":"Einige Optionen wurden geändert. Wollen Sie den Dialog dennoch schließen?","options":"Optionen","target":"Zielseite","targetNew":"Neues Fenster (_blank)","targetTop":"Oberstes Fenster (_top)","targetSelf":"Gleiches Fenster (_self)","targetParent":"Oberes Fenster (_parent)","langDirLTR":"Links nach Rechts (LNR)","langDirRTL":"Rechts nach Links (RNL)","styles":"Style","cssClasses":"Stylesheet Klasse","width":"Breite","height":"Höhe","align":"Ausrichtung","left":"Links","right":"Rechts","center":"Zentriert","justify":"Blocksatz","alignLeft":"Linksbündig","alignRight":"Rechtsbündig","alignCenter":"Align Center","alignTop":"Oben","alignMiddle":"Mitte","alignBottom":"Unten","alignNone":"Keine","invalidValue":"Ungültiger Wert.","invalidHeight":"Höhe muss eine Zahl sein.","invalidWidth":"Breite muss eine Zahl sein.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Wert spezifiziert für \"%1\" Feld muss ein positiver numerischer Wert sein mit oder ohne korrekte CSS Messeinheit (px, %, in, cm, mm, em, ex, pt oder pc).","invalidHtmlLength":"Wert spezifiziert für \"%1\" Feld muss ein positiver numerischer Wert sein mit oder ohne korrekte HTML Messeinheit (px oder %).","invalidInlineStyle":"Wert spezifiziert für inline Stilart muss enthalten ein oder mehr Tupels mit dem Format \"Name : Wert\" getrennt mit Semikolons.","cssLengthTooltip":"Gebe eine Zahl ein für ein Wert in pixels oder eine Zahl mit einer korrekten CSS Messeinheit (px, %, in, cm, mm, em, ex, pt oder pc).","unavailable":"%1<span class=\"cke_accessibility\">, nicht verfügbar</span>","keyboard":{"8":"Rücktaste","13":"Eingabe","16":"Umschalt","17":"Strg","18":"Alt","32":"Leer","35":"Ende","36":"Pos1","46":"Entfernen","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Befehl"},"keyboardShortcut":"Tastaturkürzel","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Alle Rechte vorbehalten.","dlgTitle":"Über CKEditor 4","moreInfo":"Für Informationen über unsere Lizenzbestimmungen besuchen sie bitte unsere Webseite:"},"basicstyles":{"bold":"Fett","italic":"Kursiv","strike":"Durchgestrichen","subscript":"Tiefgestellt","superscript":"Hochgestellt","underline":"Unterstrichen"},"bidi":{"ltr":"Leserichtung von Links nach Rechts","rtl":"Leserichtung von Rechts nach Links"},"blockquote":{"toolbar":"Zitatblock"},"notification":{"closed":"Benachrichtigung geschlossen."},"button":{"selectedLabel":"%1 (Ausgewählt)"},"toolbar":{"toolbarCollapse":"Werkzeugleiste einklappen","toolbarExpand":"Werkzeugleiste ausklappen","toolbarGroups":{"document":"Dokument","clipboard":"Zwischenablage/Rückgängig","editing":"Editieren","forms":"Formulare","basicstyles":"Grundstile","paragraph":"Absatz","links":"Links","insert":"Einfügen","styles":"Stile","colors":"Farben","tools":"Werkzeuge"},"toolbars":"Editor Werkzeugleisten"},"clipboard":{"copy":"Kopieren","copyError":"Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage über STRG-C (kopieren).","cut":"Ausschneiden","cutError":"Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).","paste":"Einfügen","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Einfügebereich","pasteMsg":"Paste your content inside the area below and press OK.","title":"Einfügen"},"colorbutton":{"auto":"Automatisch","bgColorTitle":"Hintergrundfarbe","colors":{"000":"Schwarz","800000":"Kastanienbraun","8B4513":"Braun","2F4F4F":"Dunkles Schiefergrau","008080":"Blaugrün","000080":"Marineblau","4B0082":"Indigo","696969":"Dunkelgrau","B22222":"Ziegelrot","A52A2A":"Braun","DAA520":"Goldgelb","006400":"Dunkelgrün","40E0D0":"Türkis","0000CD":"Mittelblau","800080":"Lila","808080":"Grau","F00":"Rot","FF8C00":"Dunkelorange","FFD700":"Gold","008000":"Grün","0FF":"Cyan","00F":"Blau","EE82EE":"Violett","A9A9A9":"Dunkelgrau","FFA07A":"Helles Lachsrosa","FFA500":"Orange","FFFF00":"Gelb","00FF00":"Lime","AFEEEE":"Blasstürkis","ADD8E6":"Hellblau","DDA0DD":"Pflaumenblau","D3D3D3":"Hellgrau","FFF0F5":"Lavendel","FAEBD7":"Antik Weiß","FFFFE0":"Hellgelb","F0FFF0":"Honigtau","F0FFFF":"Azurblau","F0F8FF":"Alice Blau","E6E6FA":"Lavendel","FFF":"Weiß","1ABC9C":"Strong Cyan","2ECC71":"Smaragdgrün","3498DB":"Bright Blue","9B59B6":"Amethystblau","4E5F70":"Graublau","F1C40F":"Vivid Yellow","16A085":"Dunkelcyan","27AE60":"Dunkelsmaragdgrün","2980B9":"Strong Blue","8E44AD":"Dunkelviolett","2C3E50":"Entsättigtes blau","F39C12":"Orange","E67E22":"Möhrenfarben","E74C3C":"Blassrot","ECF0F1":"Glänzendes Silber","95A5A6":"Helles Graublau","DDD":"Hellgrau","D35400":"Kürbisfarben","C0392B":"Strong Red","BDC3C7":"Silber","7F8C8D":"Graucyan","999":"Dunkelgrau"},"more":"Weitere Farben...","panelTitle":"Farben","textColorTitle":"Textfarbe"},"colordialog":{"clear":"Entfernen","highlight":"Hervorheben","options":"Farboptionen","selected":"Ausgewählte Farbe","title":"Farbe auswählen"},"templates":{"button":"Vorlagen","emptyListMsg":"(Keine Vorlagen definiert)","insertOption":"Aktuelle Inhalte ersetzen","options":"Vorlagenoptionen","selectPromptMsg":"Klicken Sie auf eine Vorlage, um sie im Editor zu öffnen","title":"Inhaltsvorlagen"},"contextmenu":{"options":"Kontextmenüoptionen"},"copyformatting":{"label":"Formatierung kopieren","notification":{"copied":"Formatierung kopiert","applied":"Formatierung angewendet","canceled":"Formatierung abgebrochen","failed":"Formatierung fehlgeschlagen. Sie können Stile nicht anwenden, ohne sie zuerst zu kopieren."}},"div":{"IdInputLabel":"Kennung","advisoryTitleInputLabel":"Tooltip","cssClassInputLabel":"Formatvorlagenklasse","edit":"Div bearbeiten","inlineStyleInputLabel":"Inline Stil","langDirLTRLabel":"Links nach Rechs (LTR)","langDirLabel":"Sprachrichtung","langDirRTLLabel":"Rechs nach Links (RTL)","languageCodeInputLabel":"Sprachcode","remove":"Div entfernen","styleSelectLabel":"Stil","title":"Div Container erzeugen","toolbar":"Div Container erzeugen"},"elementspath":{"eleLabel":"Elementepfad","eleTitle":"%1 Element"},"filetools":{"loadError":"Während des Lesens der Datei ist ein Fehler aufgetreten.","networkError":"Während des Hochladens der Datei ist ein Netzwerkfehler aufgetreten.","httpError404":"Während des Hochladens der Datei ist ein HTTP-Fehler aufgetreten (404: Datei nicht gefunden).","httpError403":"Während des Hochladens der Datei ist ein HTTP-Fehler aufgetreten (403: Verboten).","httpError":"Während des Hochladens der Datei ist ein HTTP-Fehler aufgetreten (Fehlerstatus: %1).","noUrlError":"Hochlade-URL ist nicht definiert.","responseError":"Falsche Antwort des Servers."},"find":{"find":"Suchen","findOptions":"Suchoptionen","findWhat":"Suchen nach:","matchCase":"Groß-/Kleinschreibung beachten","matchCyclic":"Zyklische Suche","matchWord":"Nur ganzes Wort suchen","notFoundMsg":"Der angegebene Text wurde nicht gefunden.","replace":"Ersetzen","replaceAll":"Alle ersetzen","replaceSuccessMsg":"%1 Vorkommen ersetzt.","replaceWith":"Ersetzen mit:","title":"Suchen und Ersetzen"},"fakeobjects":{"anchor":"Anker","flash":"Flash-Animation","hiddenfield":"Verstecktes Feld","iframe":"IFrame","unknown":"Unbekanntes Objekt"},"flash":{"access":"Skriptzugriff","accessAlways":"Immer","accessNever":"Nie","accessSameDomain":"Gleiche Domain","alignAbsBottom":"Abs Unten","alignAbsMiddle":"Abs Mitte","alignBaseline":"Basislinie","alignTextTop":"Text oben","bgcolor":"Hintergrundfarbe","chkFull":"Vollbildmodus erlauben","chkLoop":"Endlosschleife","chkMenu":"Flash-Menü aktivieren","chkPlay":"Automatisch Abspielen","flashvars":"Variablen für Flash","hSpace":"Horizontal-Abstand","properties":"Flash-Eigenschaften","propertiesTab":"Eigenschaften","quality":"Qualität","qualityAutoHigh":"Auto Hoch","qualityAutoLow":"Auto Niedrig","qualityBest":"Beste","qualityHigh":"Hoch","qualityLow":"Niedrig","qualityMedium":"Mittel","scale":"Skalierung","scaleAll":"Alles anzeigen","scaleFit":"Passgenau","scaleNoBorder":"Ohne Rand","title":"Flash-Eigenschaften","vSpace":"Vertikal-Abstand","validateHSpace":"HSpace muss eine Zahl sein.","validateSrc":"URL darf nicht leer sein.","validateVSpace":"VSpace muss eine Zahl sein.","windowMode":"Fenstermodus","windowModeOpaque":"Deckend","windowModeTransparent":"Transparent","windowModeWindow":"Fenster"},"font":{"fontSize":{"label":"Größe","voiceLabel":"Schrifgröße","panelTitle":"Schriftgröße"},"label":"Schriftart","panelTitle":"Schriftartname","voiceLabel":"Schriftart"},"forms":{"button":{"title":"Schaltflächeneigenschaften","text":"Text (Wert)","type":"Typ","typeBtn":"Button","typeSbm":"Absenden","typeRst":"Zurücksetzen"},"checkboxAndRadio":{"checkboxTitle":"Kontrollboxeigenschaften","radioTitle":"Optionsfeldeigenschaften","value":"Wert","selected":"Ausgewählt","required":"Erforderlich"},"form":{"title":"Formulareigenschaften","menu":"Formulareigenschaften","action":"Aktion","method":"Methode","encoding":"Kodierung"},"hidden":{"title":"Versteckte Feldeigenschaften","name":"Name","value":"Wert"},"select":{"title":"Auswahlfeldeigenschaften","selectInfo":"Info auswählen","opAvail":"Verfügbare Optionen","value":"Wert","size":"Größe","lines":"Linien","chkMulti":"Mehrfachauswahl erlauben","required":"Erforderlich","opText":"Text","opValue":"Wert","btnAdd":"Hinzufügen","btnModify":"Ändern","btnUp":"Hoch","btnDown":"Runter","btnSetValue":"Als ausgewählten Wert festlegen","btnDelete":"Entfernen"},"textarea":{"title":"Textfeldeigenschaften","cols":"Spalten","rows":"Reihen"},"textfield":{"title":"Textfeldeigenschaften","name":"Name","value":"Wert","charWidth":"Zeichenbreite","maxChars":"Max. Zeichen","required":"Erforderlich","type":"Typ","typeText":"Text","typePass":"Passwort","typeEmail":"E-mail","typeSearch":"Suche","typeTel":"Telefonnummer","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Absatzformat","tag_address":"Adresse","tag_div":"Normal (DIV)","tag_h1":"Überschrift 1","tag_h2":"Überschrift 2","tag_h3":"Überschrift 3","tag_h4":"Überschrift 4","tag_h5":"Überschrift 5","tag_h6":"Überschrift 6","tag_p":"Normal","tag_pre":"Formatiert"},"horizontalrule":{"toolbar":"Horizontale Linie einfügen"},"iframe":{"border":"Rahmen anzeigen","noUrl":"Bitte geben Sie die IFrame-URL an","scrolling":"Rollbalken anzeigen","title":"IFrame-Eigenschaften","toolbar":"IFrame"},"image":{"alt":"Alternativer Text","border":"Rahmen","btnUpload":"Zum Server senden","button2Img":"Möchten Sie die ausgewählte Bildschaltfläche in ein einfaches Bild umwandeln?","hSpace":"Horizontal-Abstand","img2Button":"Möchten Sie das ausgewählte Bild in eine Bildschaltfläche umwandeln?","infoTab":"Bildinfo","linkTab":"Link","lockRatio":"Größenverhältnis beibehalten","menu":"Bildeigenschaften","resetSize":"Größe zurücksetzen","title":"Bildeigenschaften","titleButton":"Bildschaltflächeneigenschaften","upload":"Hochladen","urlMissing":"Bildquellen-URL fehlt.","vSpace":"Vertikal-Abstand","validateBorder":"Rahmen muss eine ganze Zahl sein.","validateHSpace":"Horizontal-Abstand muss eine ganze Zahl sein.","validateVSpace":"Vertikal-Abstand muss eine ganze Zahl sein."},"indent":{"indent":"Einzug erhöhen","outdent":"Einzug verringern"},"smiley":{"options":"Smiley-Optionen","title":"Smiley auswählen","toolbar":"Smiley"},"language":{"button":"Sprache festlegen","remove":"Sprache entfernen"},"link":{"acccessKey":"Zugriffstaste","advanced":"Erweitert","advisoryContentType":"Inhaltstyp","advisoryTitle":"Titel Beschreibung","anchor":{"toolbar":"Anker","menu":"Anker bearbeiten","title":"Ankereigenschaften","name":"Ankername","errorName":"Bitte geben Sie den Namen des Ankers ein","remove":"Anker entfernen"},"anchorId":"Nach Elementkennung","anchorName":"Nach Ankername","charset":"Verknüpfter Ressourcenzeichensatz","cssClasses":"Formatvorlagenklasse","download":"Herunterladen erzwingen","displayText":"Anzeigetext","emailAddress":"E-Mail-Adresse","emailBody":"Nachrichtentext","emailSubject":"Betreffzeile","id":"Kennung","info":"Linkinfo","langCode":"Sprachcode","langDir":"Schreibrichtung","langDirLTR":"Links nach Rechts (LTR)","langDirRTL":"Rechts nach Links (RTL)","menu":"Link bearbeiten","name":"Name","noAnchors":"(Keine Anker im Dokument vorhanden)","noEmail":"Bitte geben Sie E-Mail-Adresse an","noUrl":"Bitte geben Sie die Link-URL an","other":"<andere>","popupDependent":"Abhängig (Netscape)","popupFeatures":"Pop-up Fenstereigenschaften","popupFullScreen":"Vollbild (IE)","popupLeft":"Linke Position","popupLocationBar":"Adressleiste","popupMenuBar":"Menüleiste","popupResizable":"Größe änderbar","popupScrollBars":"Rollbalken","popupStatusBar":"Statusleiste","popupToolbar":"Werkzeugleiste","popupTop":"Obere Position","rel":"Beziehung","selectAnchor":"Anker auswählen","styles":"Style","tabIndex":"Tab-Index","target":"Zielseite","targetFrame":"<Frame>","targetFrameName":"Ziel-Fenster-Name","targetPopup":"<Pop-up Fenster>","targetPopupName":"Pop-up Fenster-Name","title":"Link","toAnchor":"Anker in dieser Seite","toEmail":"E-Mail","toUrl":"URL","toolbar":"Link einfügen/editieren","type":"Link-Typ","unlink":"Link entfernen","upload":"Hochladen"},"list":{"bulletedlist":"Liste","numberedlist":"Nummerierte Liste einfügen/entfernen"},"liststyle":{"armenian":"Armenische Nummerierung","bulletedTitle":"Aufzählungslisteneigenschaften","circle":"Ring","decimal":"Dezimal (1, 2, 3, etc.)","decimalLeadingZero":"Dezimal mit führender Null (01, 02, 03, usw.)","disc":"Kreis","georgian":"Georgische Nummerierung (an, ban, gan, usw.)","lowerAlpha":"Klein Alpha (a, b, c, d, e, usw.)","lowerGreek":"Klein griechisch (alpha, beta, gamma, usw.)","lowerRoman":"Klein römisch (i, ii, iii, iv, v, usw.)","none":"Keine","notset":"<nicht festgelegt>","numberedTitle":"Nummerierte Listeneigenschaften","square":"Quadrat","start":"Start","type":"Typ","upperAlpha":"Groß alpha (A, B, C, D, E, etc.)","upperRoman":"Groß römisch (I, II, III, IV, V, usw.)","validateStartNumber":"Listenstartnummer muss eine ganze Zahl sein."},"magicline":{"title":"Absatz hier einfügen"},"maximize":{"maximize":"Maximieren","minimize":"Minimieren"},"newpage":{"toolbar":"Neue Seite"},"pagebreak":{"alt":"Seitenumbruch","toolbar":"Seitenumbruch zum Drucken einfügen"},"pastetext":{"button":"Als Klartext einfügen","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Als Klartext einfügen"},"pastefromword":{"confirmCleanup":"Der Text, den Sie einfügen möchten, scheint aus MS-Word kopiert zu sein. Möchten Sie ihn zuvor bereinigen lassen?","error":"Aufgrund eines internen Fehlers war es nicht möglich die eingefügten Daten zu bereinigen","title":"Aus Word einfügen","toolbar":"Aus Word einfügen"},"preview":{"preview":"Vorschau"},"print":{"toolbar":"Drucken"},"removeformat":{"toolbar":"Formatierung entfernen"},"save":{"toolbar":"Speichern"},"selectall":{"toolbar":"Alles auswählen"},"showblocks":{"toolbar":"Blöcke anzeigen"},"sourcearea":{"toolbar":"Quellcode"},"specialchar":{"options":"Sonderzeichenoptionen","title":"Sonderzeichen auswählen","toolbar":"Sonderzeichen einfügen"},"scayt":{"btn_about":"Über SCAYT","btn_dictionaries":"Wörterbücher","btn_disable":"SCAYT ausschalten","btn_enable":"SCAYT einschalten","btn_langs":"Sprachen","btn_options":"Optionen","text_title":"Rechtschreibprüfung während der Texteingabe (SCAYT)"},"stylescombo":{"label":"Stil","panelTitle":"Formatierungsstile","panelTitle1":"Blockstile","panelTitle2":"Inline Stilart","panelTitle3":"Objektstile"},"table":{"border":"Rahmengröße","caption":"Überschrift","cell":{"menu":"Zelle","insertBefore":"Zelle davor einfügen","insertAfter":"Zelle danach einfügen","deleteCell":"Zelle löschen","merge":"Zellen verbinden","mergeRight":"Nach rechts verbinden","mergeDown":"Nach unten verbinden","splitHorizontal":"Zelle horizontal teilen","splitVertical":"Zelle vertikal teilen","title":"Zelleneigenschaften","cellType":"Zellart","rowSpan":"Anzahl Zeilen verbinden","colSpan":"Anzahl Spalten verbinden","wordWrap":"Zeilenumbruch","hAlign":"Horizontale Ausrichtung","vAlign":"Vertikale Ausrichtung","alignBaseline":"Grundlinie","bgColor":"Hintergrundfarbe","borderColor":"Rahmenfarbe","data":"Daten","header":"Überschrift","yes":"Ja","no":"Nein","invalidWidth":"Zellenbreite muss eine Zahl sein.","invalidHeight":"Zellenhöhe muss eine Zahl sein.","invalidRowSpan":"\"Anzahl Zeilen verbinden\" muss eine Ganzzahl sein.","invalidColSpan":"\"Anzahl Spalten verbinden\" muss eine Ganzzahl sein.","chooseColor":"Wählen"},"cellPad":"Zellenabstand innen","cellSpace":"Zellenabstand außen","column":{"menu":"Spalte","insertBefore":"Spalte links davor einfügen","insertAfter":"Spalte rechts danach einfügen","deleteColumn":"Spalte löschen"},"columns":"Spalte","deleteTable":"Tabelle löschen","headers":"Kopfzeile","headersBoth":"Beide","headersColumn":"Erste Spalte","headersNone":"Keine","headersRow":"Erste Zeile","invalidBorder":"Die Rahmenbreite muß eine Zahl sein.","invalidCellPadding":"Der Zellenabstand innen muß eine positive Zahl sein.","invalidCellSpacing":"Der Zellenabstand außen muß eine positive Zahl sein.","invalidCols":"Die Anzahl der Spalten muß größer als 0 sein..","invalidHeight":"Die Tabellenbreite muß eine Zahl sein.","invalidRows":"Die Anzahl der Zeilen muß größer als 0 sein.","invalidWidth":"Die Tabellenbreite muss eine Zahl sein.","menu":"Tabellen-Eigenschaften","row":{"menu":"Zeile","insertBefore":"Zeile oberhalb einfügen","insertAfter":"Zeile unterhalb einfügen","deleteRow":"Zeile entfernen"},"rows":"Zeile","summary":"Inhaltsübersicht","title":"Tabellen-Eigenschaften","toolbar":"Tabelle","widthPc":"%","widthPx":"Pixel","widthUnit":"Breite Einheit"},"undo":{"redo":"Wiederherstellen","undo":"Rückgängig"},"widget":{"move":"Zum Verschieben anwählen und ziehen","label":"%1 Steuerelement"},"uploadwidget":{"abort":"Hochladen durch den Benutzer abgebrochen.","doneOne":"Datei erfolgreich hochgeladen.","doneMany":"%1 Dateien erfolgreich hochgeladen.","uploadOne":"Datei wird hochgeladen ({percentage}%)...","uploadMany":"Dateien werden hochgeladen, {current} von {max} fertig ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorieren","btnIgnoreAll":"Alle Ignorieren","btnReplace":"Ersetzen","btnReplaceAll":"Alle Ersetzen","btnUndo":"Rückgängig","changeTo":"Ändern in","errorLoading":"Fehler beim laden des Dienstanbieters: %s.","ieSpellDownload":"Rechtschreibprüfung nicht installiert. Möchten Sie sie jetzt herunterladen?","manyChanges":"Rechtschreibprüfung abgeschlossen - %1 Wörter geändert","noChanges":"Rechtschreibprüfung abgeschlossen - keine Worte geändert","noMispell":"Rechtschreibprüfung abgeschlossen - keine Fehler gefunden","noSuggestions":" - keine Vorschläge - ","notAvailable":"Entschuldigung, aber dieser Dienst steht im Moment nicht zur Verfügung.","notInDic":"Nicht im Wörterbuch","oneChange":"Rechtschreibprüfung abgeschlossen - ein Wort geändert","progress":"Rechtschreibprüfung läuft...","title":"Rechtschreibprüfung","toolbar":"Rechtschreibprüfung"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/de.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/gl.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/gl.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/gl.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['gl']={"editor":"Editor de texto mellorado","editorPanel":"Panel do editor de texto mellorado","common":{"editorHelp":"Prema ALT 0 para obter axuda","browseServer":"Examinar o servidor","url":"URL","protocol":"Protocolo","upload":"Enviar","uploadSubmit":"Enviar ao servidor","image":"Imaxe","flash":"Flash","form":"Formulario","checkbox":"Caixa de selección","radio":"Botón de opción","textField":"Campo de texto","textarea":"Área de texto","hiddenField":"Campo agochado","button":"Botón","select":"Campo de selección","imageButton":"Botón de imaxe","notSet":"<sen estabelecer>","id":"ID","name":"Nome","langDir":"Dirección de escritura do idioma","langDirLtr":"Esquerda a dereita (LTR)","langDirRtl":"Dereita a esquerda (RTL)","langCode":"Código do idioma","longDescr":"Descrición completa do URL","cssClass":"Clases da folla de estilos","advisoryTitle":"Título","cssStyle":"Estilo","ok":"Aceptar","cancel":"Cancelar","close":"Pechar","preview":"Vista previa","resize":"Redimensionar","generalTab":"Xeral","advancedTab":"Avanzado","validateNumberFailed":"Este valor non é un número.","confirmNewPage":"Calquera cambio que non gardara neste contido perderase.\r\nConfirma que quere cargar unha páxina nova?","confirmCancel":"Algunhas das opcións foron cambiadas.\r\nConfirma que quere pechar o diálogo?","options":"Opcións","target":"Destino","targetNew":"Nova xanela (_blank)","targetTop":"Xanela principal (_top)","targetSelf":"Mesma xanela (_self)","targetParent":"Xanela superior (_parent)","langDirLTR":"Esquerda a dereita (LTR)","langDirRTL":"Dereita a esquerda (RTL)","styles":"Estilo","cssClasses":"Clases da folla de estilos","width":"Largo","height":"Alto","align":"Aliñamento","left":"Esquerda","right":"Dereita","center":"Centro","justify":"Xustificado","alignLeft":"Aliñar á esquerda","alignRight":"Aliñar á dereita","alignCenter":"Align Center","alignTop":"Arriba","alignMiddle":"Centro","alignBottom":"Abaixo","alignNone":"Ningún","invalidValue":"Valor incorrecto.","invalidHeight":"O alto debe ser un número.","invalidWidth":"O largo debe ser un número.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"O valor especificado para o campo «%1» debe ser un número positivo con ou sen unha unidade de medida CSS correcta (px, %, in, cm, mm, em, ex, pt, ou pc).","invalidHtmlLength":"O valor especificado para o campo «%1» debe ser un número positivo con ou sen unha unidade de medida HTML correcta (px ou %).","invalidInlineStyle":"O valor especificado no estilo en liña debe consistir nunha ou máis tuplas co formato «nome : valor», separadas por punto e coma.","cssLengthTooltip":"Escriba un número para o valor en píxeles ou un número cunha unidade CSS correcta (px, %, in, cm, mm, em, ex, pt, ou pc).","unavailable":"%1<span class=\"cke_accessibility\">, non dispoñíbel</span>","keyboard":{"8":"Ir atrás","13":"Intro","16":"Maiús","17":"Ctrl","18":"Alt","32":"Espazo","35":"Fin","36":"Inicio","46":"Supr","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Orde"},"keyboardShortcut":"Atallo de teclado","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Todos os dereitos reservados.","dlgTitle":"Sobre o CKEditor 4","moreInfo":"Para obter información sobre a licenza, visite o noso sitio web:"},"basicstyles":{"bold":"Negra","italic":"Cursiva","strike":"Riscado","subscript":"Subíndice","superscript":"Superíndice","underline":"Subliñado"},"bidi":{"ltr":"Dirección do texto de esquerda a dereita","rtl":"Dirección do texto de dereita a esquerda"},"blockquote":{"toolbar":"Cita"},"notification":{"closed":"Notificación pechada."},"button":{"selectedLabel":"%1 (seleccionado)"},"toolbar":{"toolbarCollapse":"Contraer a barra de ferramentas","toolbarExpand":"Expandir a barra de ferramentas","toolbarGroups":{"document":"Documento","clipboard":"Portapapeis/desfacer","editing":"Edición","forms":"Formularios","basicstyles":"Estilos básicos","paragraph":"Paragrafo","links":"Ligazóns","insert":"Inserir","styles":"Estilos","colors":"Cores","tools":"Ferramentas"},"toolbars":"Barras de ferramentas do editor"},"clipboard":{"copy":"Copiar","copyError":"Os axustes de seguranza do seu navegador non permiten que o editor realice automaticamente as tarefas de copia. Use o teclado para iso (Ctrl/Cmd+C).","cut":"Cortar","cutError":"Os axustes de seguranza do seu navegador non permiten que o editor realice automaticamente as tarefas de corte. Use o teclado para iso (Ctrl/Cmd+X).","paste":"Pegar","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Zona de pegado","pasteMsg":"Paste your content inside the area below and press OK.","title":"Pegar"},"colorbutton":{"auto":"Automático","bgColorTitle":"Cor do fondo","colors":{"000":"Negro","800000":"Marrón escuro","8B4513":"Ocre","2F4F4F":"Pizarra escuro","008080":"Verde azulado","000080":"Azul mariño","4B0082":"Índigo","696969":"Gris escuro","B22222":"Ladrillo","A52A2A":"Marrón","DAA520":"Dourado escuro","006400":"Verde escuro","40E0D0":"Turquesa","0000CD":"Azul medio","800080":"Púrpura","808080":"Gris","F00":"Vermello","FF8C00":"Laranxa escuro","FFD700":"Dourado","008000":"Verde","0FF":"Cian","00F":"Azul","EE82EE":"Violeta","A9A9A9":"Gris medio","FFA07A":"Salmón claro","FFA500":"Laranxa","FFFF00":"Amarelo","00FF00":"Lima","AFEEEE":"Turquesa pálido","ADD8E6":"Azul claro","DDA0DD":"Violeta pálido","D3D3D3":"Verde claro","FFF0F5":"Lavanda vermello","FAEBD7":"Branco antigo","FFFFE0":"Amarelo claro","F0FFF0":"Mel","F0FFFF":"Azul celeste","F0F8FF":"Azul pálido","E6E6FA":"Lavanda","FFF":"Branco","1ABC9C":"Cian forte","2ECC71":"Esmeralda","3498DB":"Azul brillante","9B59B6":"Amatista","4E5F70":"Azul agrisado","F1C40F":"Amarelo vívido","16A085":"Cian escuro","27AE60":"Esmeralda escuro","2980B9":"Azul forte","8E44AD":"Violeta escuro","2C3E50":"Azul desaturado","F39C12":"Laranxa","E67E22":"Cenoria","E74C3C":"Vermello pálido","ECF0F1":"Plata brillante","95A5A6":"Cian agrisado claro","DDD":"Gris claro","D35400":"Cabaza","C0392B":"Vermello forte","BDC3C7":"Plata","7F8C8D":"Cian agrisado","999":"Gris escuro"},"more":"Máis cores...","panelTitle":"Cores","textColorTitle":"Cor do texto"},"colordialog":{"clear":"Limpar","highlight":"Resaltar","options":"Opcións de cor","selected":"Cor seleccionado","title":"Seleccione unha cor"},"templates":{"button":"Modelos","emptyListMsg":"(Non hai modelos definidos)","insertOption":"Substituír o contido actual","options":"Opcións de modelos","selectPromptMsg":"Seleccione o modelo a abrir no editor","title":"Modelos de contido"},"contextmenu":{"options":"Opcións do menú contextual"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"Título informativo","cssClassInputLabel":"Clases da folla de estilos","edit":"Editar Div","inlineStyleInputLabel":"Estilo de liña","langDirLTRLabel":"Esquerda a dereita (LTR)","langDirLabel":"Dirección de escritura do idioma","langDirRTLLabel":"Dereita a esquerda (RTL)","languageCodeInputLabel":"Código do idioma","remove":"Retirar Div","styleSelectLabel":"Estilo","title":"Crear un contedor Div","toolbar":"Crear un contedor Div"},"elementspath":{"eleLabel":"Ruta dos elementos","eleTitle":"Elemento %1"},"filetools":{"loadError":"Produciuse un erro durante a lectura do ficheiro.","networkError":"Produciuse un erro na rede durante o envío do ficheiro.","httpError404":"Produciuse un erro HTTP durante o envío do ficheiro (404: Ficheiro non atopado).","httpError403":"Produciuse un erro HTTP durante o envío do ficheiro (403: Acceso denegado).","httpError":"Produciuse un erro HTTP durante o envío do ficheiro (erro de estado: %1).","noUrlError":"Non foi definido o URL para o envío.","responseError":"Resposta incorrecta do servidor."},"find":{"find":"Buscar","findOptions":"Buscar opcións","findWhat":"Texto a buscar:","matchCase":"Coincidir Mai./min.","matchCyclic":"Coincidencia cíclica","matchWord":"Coincidencia coa palabra completa","notFoundMsg":"Non se atopou o texto indicado.","replace":"Substituir","replaceAll":"Substituír todo","replaceSuccessMsg":"%1 concorrencia(s) substituída(s).","replaceWith":"Substituír con:","title":"Buscar e substituír"},"fakeobjects":{"anchor":"Ancoraxe","flash":"Animación «Flash»","hiddenfield":"Campo agochado","iframe":"IFrame","unknown":"Obxecto descoñecido"},"flash":{"access":"Acceso de scripts","accessAlways":"Sempre","accessNever":"Nunca","accessSameDomain":"Mesmo dominio","alignAbsBottom":"Abs Inferior","alignAbsMiddle":"Abs centro","alignBaseline":"Liña de base","alignTextTop":"Tope do texto","bgcolor":"Cor do fondo","chkFull":"Permitir pantalla completa","chkLoop":"Repetir","chkMenu":"Activar o menú do «Flash»","chkPlay":"Reprodución auomática","flashvars":"Opcións do «Flash»","hSpace":"Esp. Horiz.","properties":"Propiedades do «Flash»","propertiesTab":"Propiedades","quality":"Calidade","qualityAutoHigh":"Alta, automática","qualityAutoLow":"Baixa, automática","qualityBest":"A mellor","qualityHigh":"Alta","qualityLow":"Baixa","qualityMedium":"Media","scale":"Escalar","scaleAll":"Amosar todo","scaleFit":"Encaixar axustando","scaleNoBorder":"Sen bordo","title":"Propiedades do «Flash»","vSpace":"Esp.Vert.","validateHSpace":"O espazado horizontal debe ser un número.","validateSrc":"O URL non pode estar baleiro.","validateVSpace":"O espazado vertical debe ser un número.","windowMode":"Modo da xanela","windowModeOpaque":"Opaca","windowModeTransparent":"Transparente","windowModeWindow":"Xanela"},"font":{"fontSize":{"label":"Tamaño","voiceLabel":"Tamaño da letra","panelTitle":"Tamaño da letra"},"label":"Tipo de letra","panelTitle":"Nome do tipo de letra","voiceLabel":"Tipo de letra"},"forms":{"button":{"title":"Propiedades do botón","text":"Texto (Valor)","type":"Tipo","typeBtn":"Botón","typeSbm":"Enviar","typeRst":"Restabelever"},"checkboxAndRadio":{"checkboxTitle":"Propiedades da caixa de selección","radioTitle":"Propiedades do botón de opción","value":"Valor","selected":"Seleccionado","required":"Requirido"},"form":{"title":"Propiedades do formulario","menu":"Propiedades do formulario","action":"Acción","method":"Método","encoding":"Codificación"},"hidden":{"title":"Propiedades do campo agochado","name":"Nome","value":"Valor"},"select":{"title":"Propiedades do campo de selección","selectInfo":"Información","opAvail":"Opcións dispoñíbeis","value":"Valor","size":"Tamaño","lines":"liñas","chkMulti":"Permitir múltiplas seleccións","required":"Requirido","opText":"Texto","opValue":"Valor","btnAdd":"Engadir","btnModify":"Modificar","btnUp":"Subir","btnDown":"Baixar","btnSetValue":"Estabelecer como valor seleccionado","btnDelete":"Eliminar"},"textarea":{"title":"Propiedades da área de texto","cols":"Columnas","rows":"Filas"},"textfield":{"title":"Propiedades do campo de texto","name":"Nome","value":"Valor","charWidth":"Largo do carácter","maxChars":"Núm. máximo de caracteres","required":"Requirido","type":"Tipo","typeText":"Texto","typePass":"Contrasinal","typeEmail":"Correo","typeSearch":"Buscar","typeTel":"Número de teléfono","typeUrl":"URL"}},"format":{"label":"Formato","panelTitle":"Formato do parágrafo","tag_address":"Enderezo","tag_div":"Normal (DIV)","tag_h1":"Enacabezado 1","tag_h2":"Encabezado 2","tag_h3":"Encabezado 3","tag_h4":"Encabezado 4","tag_h5":"Encabezado 5","tag_h6":"Encabezado 6","tag_p":"Normal","tag_pre":"Formatado"},"horizontalrule":{"toolbar":"Inserir unha liña horizontal"},"iframe":{"border":"Amosar o bordo do marco","noUrl":"Escriba o enderezo do iframe","scrolling":"Activar as barras de desprazamento","title":"Propiedades do iFrame","toolbar":"IFrame"},"image":{"alt":"Texto alternativo","border":"Bordo","btnUpload":"Enviar ao servidor","button2Img":"Quere converter o botón da imaxe seleccionada nunha imaxe sinxela?","hSpace":"Esp.Horiz.","img2Button":"Quere converter a imaxe seleccionada nun botón de imaxe?","infoTab":"Información da imaxe","linkTab":"Ligazón","lockRatio":"Proporcional","menu":"Propiedades da imaxe","resetSize":"Tamaño orixinal","title":"Propiedades da imaxe","titleButton":"Propiedades do botón de imaxe","upload":"Cargar","urlMissing":"Non se atopa o URL da imaxe.","vSpace":"Esp.Vert.","validateBorder":"O bordo debe ser un número.","validateHSpace":"O espazado horizontal debe ser un número.","validateVSpace":"O espazado vertical debe ser un número."},"indent":{"indent":"Aumentar a sangría","outdent":"Reducir a sangría"},"smiley":{"options":"Opcións de emoticonas","title":"Inserir unha emoticona","toolbar":"Emoticona"},"language":{"button":"Estabelezer o idioma","remove":"Retirar o idioma"},"link":{"acccessKey":"Chave de acceso","advanced":"Avanzado","advisoryContentType":"Tipo de contido informativo","advisoryTitle":"Título","anchor":{"toolbar":"Ancoraxe","menu":"Editar a ancoraxe","title":"Propiedades da ancoraxe","name":"Nome da ancoraxe","errorName":"Escriba o nome da ancoraxe","remove":"Retirar a ancoraxe"},"anchorId":"Polo ID do elemento","anchorName":"Polo nome da ancoraxe","charset":"Codificación do recurso ligado","cssClasses":"Clases da folla de estilos","download":"Forzar a descarga","displayText":"Amosar o texto","emailAddress":"Enderezo de correo","emailBody":"Corpo da mensaxe","emailSubject":"Asunto da mensaxe","id":"ID","info":"Información da ligazón","langCode":"Código do idioma","langDir":"Dirección de escritura do idioma","langDirLTR":"Esquerda a dereita (LTR)","langDirRTL":"Dereita a esquerda (RTL)","menu":"Editar a ligazón","name":"Nome","noAnchors":"(Non hai ancoraxes dispoñíbeis no documento)","noEmail":"Escriba o enderezo de correo","noUrl":"Escriba a ligazón URL","other":"<outro>","popupDependent":"Dependente (Netscape)","popupFeatures":"Características da xanela emerxente","popupFullScreen":"Pantalla completa (IE)","popupLeft":"Posición esquerda","popupLocationBar":"Barra de localización","popupMenuBar":"Barra do menú","popupResizable":"Redimensionábel","popupScrollBars":"Barras de desprazamento","popupStatusBar":"Barra de estado","popupToolbar":"Barra de ferramentas","popupTop":"Posición superior","rel":"Relación","selectAnchor":"Seleccionar unha ancoraxe","styles":"Estilo","tabIndex":"Índice de tabulación","target":"Destino","targetFrame":"<marco>","targetFrameName":"Nome do marco de destino","targetPopup":"<xanela emerxente>","targetPopupName":"Nome da xanela emerxente","title":"Ligazón","toAnchor":"Ligar coa ancoraxe no testo","toEmail":"Correo","toUrl":"URL","toolbar":"Ligazón","type":"Tipo de ligazón","unlink":"Eliminar a ligazón","upload":"Enviar"},"list":{"bulletedlist":"Inserir/retirar lista viñeteada","numberedlist":"Inserir/retirar lista numerada"},"liststyle":{"armenian":"Numeración armenia","bulletedTitle":"Propiedades da lista viñeteada","circle":"Circulo","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal con cero á esquerda (01, 02, 03, etc.)","disc":"Disc","georgian":"Numeración xeorxiana (an, ban, gan, etc.)","lowerAlpha":"Alfabeto en minúsculas (a, b, c, d, e, etc.)","lowerGreek":"Grego en minúsculas (alpha, beta, gamma, etc.)","lowerRoman":"Números romanos en minúsculas (i, ii, iii, iv, v, etc.)","none":"Ningún","notset":"<sen estabelecer>","numberedTitle":"Propiedades da lista numerada","square":"Cadrado","start":"Inicio","type":"Tipo","upperAlpha":"Alfabeto en maiúsculas (A, B, C, D, E, etc.)","upperRoman":"Números romanos en maiúsculas (I, II, III, IV, V, etc.)","validateStartNumber":"O número de inicio da lista debe ser un número enteiro."},"magicline":{"title":"Inserir aquí o parágrafo"},"maximize":{"maximize":"Maximizar","minimize":"Minimizar"},"newpage":{"toolbar":"Páxina nova"},"pagebreak":{"alt":"Quebra de páxina","toolbar":"Inserir quebra de páxina"},"pastetext":{"button":"Pegar como texto simple","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Pegar como texto simple"},"pastefromword":{"confirmCleanup":"O texto que quere pegar semella ser copiado desde o Word. Quere depuralo antes de pegalo?","error":"Non foi posíbel depurar os datos pegados por mor dun erro interno","title":"Pegar desde Word","toolbar":"Pegar desde Word"},"preview":{"preview":"Vista previa"},"print":{"toolbar":"Imprimir"},"removeformat":{"toolbar":"Retirar o formato"},"save":{"toolbar":"Gardar"},"selectall":{"toolbar":"Seleccionar todo"},"showblocks":{"toolbar":"Amosar os bloques"},"sourcearea":{"toolbar":"Orixe"},"specialchar":{"options":"Opcións de caracteres especiais","title":"Seleccione un carácter especial","toolbar":"Inserir un carácter especial"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Estilos","panelTitle":"Estilos de formatando","panelTitle1":"Estilos de bloque","panelTitle2":"Estilos de liña","panelTitle3":"Estilos de obxecto"},"table":{"border":"Tamaño do bordo","caption":"Título","cell":{"menu":"Cela","insertBefore":"Inserir a cela á esquerda","insertAfter":"Inserir a cela á dereita","deleteCell":"Eliminar celas","merge":"Combinar celas","mergeRight":"Combinar á dereita","mergeDown":"Combinar cara abaixo","splitHorizontal":"Dividir a cela en horizontal","splitVertical":"Dividir a cela en vertical","title":"Propiedades da cela","cellType":"Tipo de cela","rowSpan":"Expandir filas","colSpan":"Expandir columnas","wordWrap":"Axustar ao contido","hAlign":"Aliñación horizontal","vAlign":"Aliñación vertical","alignBaseline":"Liña de base","bgColor":"Cor do fondo","borderColor":"Cor do bordo","data":"Datos","header":"Cabeceira","yes":"Si","no":"Non","invalidWidth":"O largo da cela debe ser un número.","invalidHeight":"O alto da cela debe ser un número.","invalidRowSpan":"A expansión de filas debe ser un número enteiro.","invalidColSpan":"A expansión de columnas debe ser un número enteiro.","chooseColor":"Escoller"},"cellPad":"Marxe interior da cela","cellSpace":"Marxe entre celas","column":{"menu":"Columna","insertBefore":"Inserir a columna á esquerda","insertAfter":"Inserir a columna á dereita","deleteColumn":"Borrar Columnas"},"columns":"Columnas","deleteTable":"Borrar Táboa","headers":"Cabeceiras","headersBoth":"Ambas","headersColumn":"Primeira columna","headersNone":"Ningún","headersRow":"Primeira fila","invalidBorder":"O tamaño do bordo debe ser un número.","invalidCellPadding":"A marxe interior debe ser un número positivo.","invalidCellSpacing":"A marxe entre celas debe ser un número positivo.","invalidCols":"O número de columnas debe ser un número maior que 0.","invalidHeight":"O alto da táboa debe ser un número.","invalidRows":"O número de filas debe ser un número maior que 0","invalidWidth":"O largo da táboa debe ser un número.","menu":"Propiedades da táboa","row":{"menu":"Fila","insertBefore":"Inserir a fila por riba","insertAfter":"Inserir a fila por baixo","deleteRow":"Eliminar filas"},"rows":"Filas","summary":"Resumo","title":"Propiedades da táboa","toolbar":"Taboa","widthPc":"porcentaxe","widthPx":"píxeles","widthUnit":"unidade do largo"},"undo":{"redo":"Refacer","undo":"Desfacer"},"widget":{"move":"Prema e arrastre para mover","label":"Trebello %1"},"uploadwidget":{"abort":"Envío interrompido polo usuario.","doneOne":"Ficheiro enviado satisfactoriamente.","doneMany":"%1 ficheiros enviados satisfactoriamente.","uploadOne":"Enviando o ficheiro ({percentage}%)...","uploadMany":"Enviando ficheiros, {current} de {max} feito o ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorar","btnIgnoreAll":"Ignorar Todas","btnReplace":"Substituir","btnReplaceAll":"Substituir Todas","btnUndo":"Desfacer","changeTo":"Cambiar a","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"O corrector ortográfico non está instalado. ¿Quere descargalo agora?","manyChanges":"Corrección ortográfica rematada: %1 verbas substituidas","noChanges":"Corrección ortográfica rematada: Non se substituiu nengunha verba","noMispell":"Corrección ortográfica rematada: Non se atoparon erros","noSuggestions":"- Sen candidatos -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Non está no diccionario","oneChange":"Corrección ortográfica rematada: Unha verba substituida","progress":"Corrección ortográfica en progreso...","title":"Spell Checker","toolbar":"Corrección Ortográfica"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/gl.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/cs.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/cs.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/cs.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['cs']={"editor":"Textový editor","editorPanel":"Panel textového editoru","common":{"editorHelp":"Stiskněte ALT 0 pro nápovědu","browseServer":"Vybrat na serveru","url":"URL","protocol":"Protokol","upload":"Odeslat","uploadSubmit":"Odeslat na server","image":"Obrázek","flash":"Flash","form":"Formulář","checkbox":"Zaškrtávací políčko","radio":"Přepínač","textField":"Textové pole","textarea":"Textová oblast","hiddenField":"Skryté pole","button":"Tlačítko","select":"Seznam","imageButton":"Obrázkové tlačítko","notSet":"<nenastaveno>","id":"Id","name":"Jméno","langDir":"Směr jazyka","langDirLtr":"Zleva doprava (LTR)","langDirRtl":"Zprava doleva (RTL)","langCode":"Kód jazyka","longDescr":"Dlouhý popis URL","cssClass":"Třída stylu","advisoryTitle":"Pomocný titulek","cssStyle":"Styl","ok":"OK","cancel":"Zrušit","close":"Zavřít","preview":"Náhled","resize":"Uchopit pro změnu velikosti","generalTab":"Obecné","advancedTab":"Rozšířené","validateNumberFailed":"Zadaná hodnota není číselná.","confirmNewPage":"Jakékoliv neuložené změny obsahu budou ztraceny. Skutečně chcete otevřít novou stránku?","confirmCancel":"Některá z nastavení byla změněna. Skutečně chcete zavřít dialogové okno?","options":"Nastavení","target":"Cíl","targetNew":"Nové okno (_blank)","targetTop":"Okno nejvyšší úrovně (_top)","targetSelf":"Stejné okno (_self)","targetParent":"Rodičovské okno (_parent)","langDirLTR":"Zleva doprava (LTR)","langDirRTL":"Zprava doleva (RTL)","styles":"Styly","cssClasses":"Třídy stylů","width":"Šířka","height":"Výška","align":"Zarovnání","left":"Vlevo","right":"Vpravo","center":"Na střed","justify":"Zarovnat do bloku","alignLeft":"Zarovnat vlevo","alignRight":"Zarovnat vpravo","alignCenter":"Align Center","alignTop":"Nahoru","alignMiddle":"Na střed","alignBottom":"Dolů","alignNone":"Žádné","invalidValue":"Neplatná hodnota.","invalidHeight":"Zadaná výška musí být číslo.","invalidWidth":"Šířka musí být číslo.","invalidLength":"Hodnota určená pro pole \"%1\" musí být kladné číslo bez nebo s platnou jednotkou míry (%2).","invalidCssLength":"Hodnota určená pro pole \"%1\" musí být kladné číslo bez nebo s platnou jednotkou míry CSS (px, %, in, cm, mm, em, ex, pt, nebo pc).","invalidHtmlLength":"Hodnota určená pro pole \"%1\" musí být kladné číslo bez nebo s platnou jednotkou míry HTML (px nebo %).","invalidInlineStyle":"Hodnota určená pro řádkový styl se musí skládat z jedné nebo více n-tic ve formátu \"název : hodnota\", oddělené středníky","cssLengthTooltip":"Zadejte číslo jako hodnotu v pixelech nebo číslo s platnou jednotkou CSS (px, %, v cm, mm, em, ex, pt, nebo pc).","unavailable":"%1<span class=\"cke_accessibility\">, nedostupné</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Mezerník","35":"Konec","36":"Domů","46":"Smazat","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Klávesová zkratka","optionDefault":"Výchozí"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"O aplikaci CKEditor 4","moreInfo":"Pro informace o lincenci navštivte naši webovou stránku:"},"basicstyles":{"bold":"Tučné","italic":"Kurzíva","strike":"Přeškrtnuté","subscript":"Dolní index","superscript":"Horní index","underline":"Podtržené"},"bidi":{"ltr":"Směr textu zleva doprava","rtl":"Směr textu zprava doleva"},"blockquote":{"toolbar":"Citace"},"notification":{"closed":"Oznámení zavřeno."},"button":{"selectedLabel":"%1 (Vybráno)"},"toolbar":{"toolbarCollapse":"Skrýt panel nástrojů","toolbarExpand":"Zobrazit panel nástrojů","toolbarGroups":{"document":"Dokument","clipboard":"Schránka/Zpět","editing":"Úpravy","forms":"Formuláře","basicstyles":"Základní styly","paragraph":"Odstavec","links":"Odkazy","insert":"Vložit","styles":"Styly","colors":"Barvy","tools":"Nástroje"},"toolbars":"Panely nástrojů editoru"},"clipboard":{"copy":"Kopírovat","copyError":"Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro kopírování zvoleného textu do schránky. Prosím zkopírujte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+C).","cut":"Vyjmout","cutError":"Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro vyjmutí zvoleného textu do schránky. Prosím vyjměte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+X).","paste":"Vložit","pasteNotification":"Stiskněte %1 pro vložení. Váš prohlížeč nepodporuje vkládání pomocí tlačítka na panelu nástrojů nebo volby kontextového menu.","pasteArea":"Oblast vkládání","pasteMsg":"Vložte svůj obsah do oblasti níže a stiskněte OK.","title":"Vložit"},"colorbutton":{"auto":"Automaticky","bgColorTitle":"Barva pozadí","colors":{"000":"Černá","800000":"Kaštanová","8B4513":"Sedlová hněď","2F4F4F":"Tmavě bledě šedá","008080":"Čírka","000080":"Námořnická modř","4B0082":"Inkoustová","696969":"Tmavě šedá","B22222":"Pálená cihla","A52A2A":"Hnědá","DAA520":"Zlatý prut","006400":"Tmavě zelená","40E0D0":"Tyrkisová","0000CD":"Středně modrá","800080":"Purpurová","808080":"Šedá","F00":"Červená","FF8C00":"Tmavě oranžová","FFD700":"Zlatá","008000":"Zelená","0FF":"Azurová","00F":"Modrá","EE82EE":"Fialová","A9A9A9":"Kalně šedá","FFA07A":"Světle lososová","FFA500":"Oranžová","FFFF00":"Žlutá","00FF00":"Limetková","AFEEEE":"Bledě tyrkisová","ADD8E6":"Světle modrá","DDA0DD":"Švestková","D3D3D3":"Světle šedá","FFF0F5":"Levandulově ruměnná","FAEBD7":"Antická bílá","FFFFE0":"Světle žlutá","F0FFF0":"Medová rosa","F0FFFF":"Azurová","F0F8FF":"Alenčina modrá","E6E6FA":"Levandulová","FFF":"Bílá","1ABC9C":"Silná azurová","2ECC71":"Emeraldová","3498DB":"Jasně modrá","9B59B6":"Ametystová","4E5F70":"Šedomodrá","F1C40F":"Sytá žlutá","16A085":"Tmavě azurová","27AE60":"Tmavě emeraldová","2980B9":"Silná modrá","8E44AD":"Tmavě fialová","2C3E50":"Odsycená modrá","F39C12":"Oranžová","E67E22":"Mrkvová","E74C3C":"Bledě červená","ECF0F1":"Světle stříbrná","95A5A6":"Světlě šedoazurová","DDD":"Světle šedá","D35400":"Dýňová","C0392B":"Silná červená","BDC3C7":"Stříbrná","7F8C8D":"Šedoazurová","999":"Tmavošedá"},"more":"Více barev...","panelTitle":"Barvy","textColorTitle":"Barva textu"},"colordialog":{"clear":"Vyčistit","highlight":"Zvýraznit","options":"Nastavení barvy","selected":"Vybráno","title":"Výběr barvy"},"templates":{"button":"Šablony","emptyListMsg":"(Není definována žádná šablona)","insertOption":"Nahradit aktuální obsah","options":"Nastavení šablon","selectPromptMsg":"Prosím zvolte šablonu pro otevření v editoru<br>(aktuální obsah editoru bude ztracen):","title":"Šablony obsahu"},"contextmenu":{"options":"Nastavení kontextové nabídky"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Nápovědní titulek","cssClassInputLabel":"Třídy stylů","edit":"Změnit Div","inlineStyleInputLabel":"Vnitřní styly","langDirLTRLabel":"Zleva doprava (LTR)","langDirLabel":"Směr jazyka","langDirRTLLabel":"Zprava doleva (RTL)","languageCodeInputLabel":" Kód jazyka","remove":"Odstranit Div","styleSelectLabel":"Styly","title":"Vytvořit Div kontejner","toolbar":"Vytvořit Div kontejner"},"elementspath":{"eleLabel":"Cesta objektu","eleTitle":"%1 objekt"},"filetools":{"loadError":"Při čtení souboru došlo k chybě.","networkError":"Při nahrávání souboru došlo k chybě v síti.","httpError404":"Při nahrávání souboru došlo k chybě HTTP (404: Soubor nenalezen).","httpError403":"Při nahrávání souboru došlo k chybě HTTP (403: Zakázáno).","httpError":"Při nahrávání souboru došlo k chybě HTTP (chybový stav: %1).","noUrlError":"URL pro nahrání není zadána.","responseError":"Nesprávná odpověď serveru."},"find":{"find":"Hledat","findOptions":"Možnosti hledání","findWhat":"Co hledat:","matchCase":"Rozlišovat velikost písma","matchCyclic":"Procházet opakovaně","matchWord":"Pouze celá slova","notFoundMsg":"Hledaný text nebyl nalezen.","replace":"Nahradit","replaceAll":"Nahradit vše","replaceSuccessMsg":"%1 nahrazení.","replaceWith":"Čím nahradit:","title":"Najít a nahradit"},"fakeobjects":{"anchor":"Záložka","flash":"Flash animace","hiddenfield":"Skryté pole","iframe":"IFrame","unknown":"Neznámý objekt"},"flash":{"access":"Přístup ke skriptu","accessAlways":"Vždy","accessNever":"Nikdy","accessSameDomain":"Ve stejné doméně","alignAbsBottom":"Zcela dolů","alignAbsMiddle":"Doprostřed","alignBaseline":"Na účaří","alignTextTop":"Na horní okraj textu","bgcolor":"Barva pozadí","chkFull":"Povolit celoobrazovkový režim","chkLoop":"Opakování","chkMenu":"Nabídka Flash","chkPlay":"Automatické spuštění","flashvars":"Proměnné pro Flash","hSpace":"Horizontální mezera","properties":"Vlastnosti Flashe","propertiesTab":"Vlastnosti","quality":"Kvalita","qualityAutoHigh":"Vysoká - auto","qualityAutoLow":"Nízká - auto","qualityBest":"Nejlepší","qualityHigh":"Vysoká","qualityLow":"Nejnižší","qualityMedium":"Střední","scale":"Zobrazit","scaleAll":"Zobrazit vše","scaleFit":"Přizpůsobit","scaleNoBorder":"Bez okraje","title":"Vlastnosti Flashe","vSpace":"Vertikální mezera","validateHSpace":"Zadaná horizontální mezera musí být číslo.","validateSrc":"Zadejte prosím URL odkazu","validateVSpace":"Zadaná vertikální mezera musí být číslo.","windowMode":"Režim okna","windowModeOpaque":"Neprůhledné","windowModeTransparent":"Průhledné","windowModeWindow":"Okno"},"font":{"fontSize":{"label":"Velikost","voiceLabel":"Velikost písma","panelTitle":"Velikost"},"label":"Písmo","panelTitle":"Písmo","voiceLabel":"Písmo"},"forms":{"button":{"title":"Vlastnosti tlačítka","text":"Popisek","type":"Typ","typeBtn":"Tlačítko","typeSbm":"Odeslat","typeRst":"Obnovit"},"checkboxAndRadio":{"checkboxTitle":"Vlastnosti zaškrtávacího políčka","radioTitle":"Vlastnosti přepínače","value":"Hodnota","selected":"Zaškrtnuto","required":"Vyžadováno"},"form":{"title":"Vlastnosti formuláře","menu":"Vlastnosti formuláře","action":"Akce","method":"Metoda","encoding":"Kódování"},"hidden":{"title":"Vlastnosti skrytého pole","name":"Název","value":"Hodnota"},"select":{"title":"Vlastnosti seznamu","selectInfo":"Info","opAvail":"Dostupná nastavení","value":"Hodnota","size":"Velikost","lines":"Řádků","chkMulti":"Povolit mnohonásobné výběry","required":"Vyžadováno","opText":"Text","opValue":"Hodnota","btnAdd":"Přidat","btnModify":"Změnit","btnUp":"Nahoru","btnDown":"Dolů","btnSetValue":"Nastavit jako vybranou hodnotu","btnDelete":"Smazat"},"textarea":{"title":"Vlastnosti textové oblasti","cols":"Sloupců","rows":"Řádků"},"textfield":{"title":"Vlastnosti textového pole","name":"Název","value":"Hodnota","charWidth":"Šířka ve znacích","maxChars":"Maximální počet znaků","required":"Vyžadováno","type":"Typ","typeText":"Text","typePass":"Heslo","typeEmail":"Email","typeSearch":"Hledat","typeTel":"Telefonní číslo","typeUrl":"URL"}},"format":{"label":"Formát","panelTitle":"Formát","tag_address":"Adresa","tag_div":"Normální (DIV)","tag_h1":"Nadpis 1","tag_h2":"Nadpis 2","tag_h3":"Nadpis 3","tag_h4":"Nadpis 4","tag_h5":"Nadpis 5","tag_h6":"Nadpis 6","tag_p":"Normální","tag_pre":"Naformátováno"},"horizontalrule":{"toolbar":"Vložit vodorovnou linku"},"iframe":{"border":"Zobrazit okraj","noUrl":"Zadejte prosím URL obsahu pro IFrame","scrolling":"Zapnout posuvníky","title":"Vlastnosti IFrame","toolbar":"IFrame"},"image":{"alt":"Alternativní text","border":"Okraje","btnUpload":"Odeslat na server","button2Img":"Skutečně chcete převést zvolené obrázkové tlačítko na obyčejný obrázek?","hSpace":"Horizontální mezera","img2Button":"Skutečně chcete převést zvolený obrázek na obrázkové tlačítko?","infoTab":"Informace o obrázku","linkTab":"Odkaz","lockRatio":"Zámek","menu":"Vlastnosti obrázku","resetSize":"Původní velikost","title":"Vlastnosti obrázku","titleButton":"Vlastností obrázkového tlačítka","upload":"Odeslat","urlMissing":"Zadané URL zdroje obrázku nebylo nalezeno.","vSpace":"Vertikální mezera","validateBorder":"Okraj musí být nastaven v celých číslech.","validateHSpace":"Horizontální mezera musí být nastavena v celých číslech.","validateVSpace":"Vertikální mezera musí být nastavena v celých číslech."},"indent":{"indent":"Zvětšit odsazení","outdent":"Zmenšit odsazení"},"smiley":{"options":"Nastavení smajlíků","title":"Vkládání smajlíků","toolbar":"Smajlíci"},"language":{"button":"Nastavit jazyk","remove":"Odstranit jazyk"},"link":{"acccessKey":"Přístupový klíč","advanced":"Rozšířené","advisoryContentType":"Pomocný typ obsahu","advisoryTitle":"Pomocný titulek","anchor":{"toolbar":"Záložka","menu":"Vlastnosti záložky","title":"Vlastnosti záložky","name":"Název záložky","errorName":"Zadejte prosím název záložky","remove":"Odstranit záložku"},"anchorId":"Podle Id objektu","anchorName":"Podle jména kotvy","charset":"Přiřazená znaková sada","cssClasses":"Třída stylu","download":"Force Download","displayText":"Zobrazit text","emailAddress":"E-mailová adresa","emailBody":"Tělo zprávy","emailSubject":"Předmět zprávy","id":"Id","info":"Informace o odkazu","langCode":"Kód jazyka","langDir":"Směr jazyka","langDirLTR":"Zleva doprava (LTR)","langDirRTL":"Zprava doleva (RTL)","menu":"Změnit odkaz","name":"Jméno","noAnchors":"(Ve stránce není definována žádná kotva!)","noEmail":"Zadejte prosím e-mailovou adresu","noUrl":"Zadejte prosím URL odkazu","other":"<jiný>","popupDependent":"Závislost (Netscape)","popupFeatures":"Vlastnosti vyskakovacího okna","popupFullScreen":"Celá obrazovka (IE)","popupLeft":"Levý okraj","popupLocationBar":"Panel umístění","popupMenuBar":"Panel nabídky","popupResizable":"Umožňující měnit velikost","popupScrollBars":"Posuvníky","popupStatusBar":"Stavový řádek","popupToolbar":"Panel nástrojů","popupTop":"Horní okraj","rel":"Vztah","selectAnchor":"Vybrat kotvu","styles":"Styl","tabIndex":"Pořadí prvku","target":"Cíl","targetFrame":"<rámec>","targetFrameName":"Název cílového rámu","targetPopup":"<vyskakovací okno>","targetPopupName":"Název vyskakovacího okna","title":"Odkaz","toAnchor":"Kotva v této stránce","toEmail":"E-mail","toUrl":"URL","toolbar":"Odkaz","type":"Typ odkazu","unlink":"Odstranit odkaz","upload":"Odeslat"},"list":{"bulletedlist":"Odrážky","numberedlist":"Číslování"},"liststyle":{"armenian":"Arménské","bulletedTitle":"Vlastnosti odrážek","circle":"Kroužky","decimal":"Arabská čísla (1, 2, 3, atd.)","decimalLeadingZero":"Arabská čísla uvozená nulou (01, 02, 03, atd.)","disc":"Kolečka","georgian":"Gruzínské (an, ban, gan, atd.)","lowerAlpha":"Malá latinka (a, b, c, d, e, atd.)","lowerGreek":"Malé řecké (alpha, beta, gamma, atd.)","lowerRoman":"Malé římské (i, ii, iii, iv, v, atd.)","none":"Nic","notset":"<nenastaveno>","numberedTitle":"Vlastnosti číslování","square":"Čtverce","start":"Počátek","type":"Typ","upperAlpha":"Velká latinka (A, B, C, D, E, atd.)","upperRoman":"Velké římské (I, II, III, IV, V, atd.)","validateStartNumber":"Číslování musí začínat celým číslem."},"magicline":{"title":"zde vložit odstavec"},"maximize":{"maximize":"Maximalizovat","minimize":"Minimalizovat"},"newpage":{"toolbar":"Nová stránka"},"pagebreak":{"alt":"Konec stránky","toolbar":"Vložit konec stránky"},"pastetext":{"button":"Vložit jako čistý text","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Vložit jako čistý text"},"pastefromword":{"confirmCleanup":"Jak je vidět, vkládaný text je kopírován z Wordu. Chcete jej před vložením vyčistit?","error":"Z důvodu vnitřní chyby nebylo možné provést vyčištění vkládaného textu.","title":"Vložit z Wordu","toolbar":"Vložit z Wordu"},"preview":{"preview":"Náhled"},"print":{"toolbar":"Tisk"},"removeformat":{"toolbar":"Odstranit formátování"},"save":{"toolbar":"Uložit"},"selectall":{"toolbar":"Vybrat vše"},"showblocks":{"toolbar":"Ukázat bloky"},"sourcearea":{"toolbar":"Zdroj"},"specialchar":{"options":"Nastavení speciálních znaků","title":"Výběr speciálního znaku","toolbar":"Vložit speciální znaky"},"scayt":{"btn_about":"O aplikaci SCAYT","btn_dictionaries":"Slovníky","btn_disable":"Vypnout SCAYT","btn_enable":"Zapnout SCAYT","btn_langs":"Jazyky","btn_options":"Nastavení","text_title":"Kontrola pravopisu během psaní (SCAYT)"},"stylescombo":{"label":"Styl","panelTitle":"Formátovací styly","panelTitle1":"Blokové styly","panelTitle2":"Řádkové styly","panelTitle3":"Objektové styly"},"table":{"border":"Ohraničení","caption":"Popis","cell":{"menu":"Buňka","insertBefore":"Vložit buňku před","insertAfter":"Vložit buňku za","deleteCell":"Smazat buňky","merge":"Sloučit buňky","mergeRight":"Sloučit doprava","mergeDown":"Sloučit dolů","splitHorizontal":"Rozdělit buňky vodorovně","splitVertical":"Rozdělit buňky svisle","title":"Vlastnosti buňky","cellType":"Typ buňky","rowSpan":"Spojit řádky","colSpan":"Spojit sloupce","wordWrap":"Zalamování","hAlign":"Vodorovné zarovnání","vAlign":"Svislé zarovnání","alignBaseline":"Na účaří","bgColor":"Barva pozadí","borderColor":"Barva okraje","data":"Data","header":"Hlavička","yes":"Ano","no":"Ne","invalidWidth":"Šířka buňky musí být číslo.","invalidHeight":"Zadaná výška buňky musí být číslená.","invalidRowSpan":"Zadaný počet sloučených řádků musí být celé číslo.","invalidColSpan":"Zadaný počet sloučených sloupců musí být celé číslo.","chooseColor":"Výběr"},"cellPad":"Odsazení obsahu v buňce","cellSpace":"Vzdálenost buněk","column":{"menu":"Sloupec","insertBefore":"Vložit sloupec před","insertAfter":"Vložit sloupec za","deleteColumn":"Smazat sloupec"},"columns":"Sloupce","deleteTable":"Smazat tabulku","headers":"Záhlaví","headersBoth":"Obojí","headersColumn":"První sloupec","headersNone":"Žádné","headersRow":"První řádek","invalidBorder":"Zdaná velikost okraje musí být číselná.","invalidCellPadding":"Zadané odsazení obsahu v buňce musí být číselné.","invalidCellSpacing":"Zadaná vzdálenost buněk musí být číselná.","invalidCols":"Počet sloupců musí být číslo větší než 0.","invalidHeight":"Zadaná výška tabulky musí být číselná.","invalidRows":"Počet řádků musí být číslo větší než 0.","invalidWidth":"Šířka tabulky musí být číslo.","menu":"Vlastnosti tabulky","row":{"menu":"Řádek","insertBefore":"Vložit řádek před","insertAfter":"Vložit řádek za","deleteRow":"Smazat řádky"},"rows":"Řádky","summary":"Souhrn","title":"Vlastnosti tabulky","toolbar":"Tabulka","widthPc":"procent","widthPx":"bodů","widthUnit":"jednotka šířky"},"undo":{"redo":"Znovu","undo":"Zpět"},"widget":{"move":"Klepněte a táhněte pro přesunutí","label":"Ovládací prvek %1"},"uploadwidget":{"abort":"Nahrávání zrušeno uživatelem.","doneOne":"Soubor úspěšně nahrán.","doneMany":"Úspěšně nahráno %1 souborů.","uploadOne":"Nahrávání souboru ({percentage}%)...","uploadMany":"Nahrávání souborů, {current} z {max} hotovo ({percentage}%)..."},"wsc":{"btnIgnore":"Přeskočit","btnIgnoreAll":"Přeskakovat vše","btnReplace":"Zaměnit","btnReplaceAll":"Zaměňovat vše","btnUndo":"Zpět","changeTo":"Změnit na","errorLoading":"Chyba nahrávání služby aplikace z: %s.","ieSpellDownload":"Kontrola pravopisu není nainstalována. Chcete ji nyní stáhnout?","manyChanges":"Kontrola pravopisu dokončena: %1 slov změněno","noChanges":"Kontrola pravopisu dokončena: Beze změn","noMispell":"Kontrola pravopisu dokončena: Žádné pravopisné chyby nenalezeny","noSuggestions":"- žádné návrhy -","notAvailable":"Omlouváme se, ale služba nyní není dostupná.","notInDic":"Není ve slovníku","oneChange":"Kontrola pravopisu dokončena: Jedno slovo změněno","progress":"Probíhá kontrola pravopisu...","title":"Kontrola pravopisu","toolbar":"Zkontrolovat pravopis"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/cs.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/oc.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/oc.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/oc.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['oc']={"editor":"Editor de tèxte enriquit","editorPanel":"Tablèu de bòrd de l'editor de tèxte enriquit","common":{"editorHelp":"Utilisatz l'acorchi Alt-0 per obténer d'ajuda","browseServer":"Percórrer lo servidor","url":"URL","protocol":"Protocòl","upload":"Mandar","uploadSubmit":"Mandar sul servidor","image":"Imatge","flash":"Flash","form":"Formulari","checkbox":"Casa de marcar","radio":"Boton ràdio","textField":"Camp tèxte","textarea":"Zòna de tèxte","hiddenField":"Camp invisible","button":"Boton","select":"Lista desenrotlanta","imageButton":"Boton amb imatge","notSet":"<indefinit>","id":"Id","name":"Nom","langDir":"Sens d'escritura","langDirLtr":"Esquèrra a dreita (LTR)","langDirRtl":"Dreita a esquèrra (RTL)","langCode":"Còdi de lenga","longDescr":"URL de descripcion longa","cssClass":"Classas d'estil","advisoryTitle":"Infobulla","cssStyle":"Estil","ok":"D'acòrdi","cancel":"Anullar","close":"Tampar","preview":"Previsualizar","resize":"Redimensionar","generalTab":"General","advancedTab":"Avançat","validateNumberFailed":"Aquesta valor es pas un nombre.","confirmNewPage":"Los cambiaments pas salvats seràn perduts. Sètz segur que volètz cargar una novèla pagina ?","confirmCancel":"Certanas opcions son estadas modificadas. Sètz segur que volètz tampar ?","options":"Opcions","target":"Cibla","targetNew":"Novèla fenèstra (_blank)","targetTop":"Fenèstra superiora (_top)","targetSelf":"Meteissa fenèstra (_self)","targetParent":"Fenèstra parent (_parent)","langDirLTR":"Esquèrra a dreita (LTR)","langDirRTL":"Dreita a esquèrra (RTL)","styles":"Estil","cssClasses":"Classas d'estil","width":"Largor","height":"Nautor","align":"Alinhament","left":"Esquèrra","right":"Dreita","center":"Centrar","justify":"Justificar","alignLeft":"Alinhar a esquèrra","alignRight":"Alinhar a dreita","alignCenter":"Align Center","alignTop":"Naut","alignMiddle":"Mitan","alignBottom":"Bas","alignNone":"Pas cap","invalidValue":"Valor invalida.","invalidHeight":"La nautor deu èsser un nombre.","invalidWidth":"La largor deu èsser un nombre.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"La valor especificada pel camp « %1 » deu èsser un nombre positiu amb o sens unitat de mesura CSS valid (px, %, in, cm, mm, em, ex, pt, o pc).","invalidHtmlLength":"La valor especificada pel camp « %1 » deu èsser un nombre positiu amb o sens unitat de mesura HTML valid (px o %).","invalidInlineStyle":"La valor especificada per l'estil en linha deu èsser compausada d'un o mantun parelh al format « nom : valor », separats per de punts-virgulas.","cssLengthTooltip":"Entrar un nombre per una valor en pixèls o un nombre amb una unitat de mesura CSS valida (px, %, in, cm, mm, em, ex, pt, o pc).","unavailable":"%1<span class=\"cke_accessibility\">, indisponible</span>","keyboard":{"8":"Retorn","13":"Entrada","16":"Majuscula","17":"Ctrl","18":"Alt","32":"Espaci","35":"Fin","36":"Origina","46":"Suprimir","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Comanda"},"keyboardShortcut":"Acorchi de clavièr","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Totes los dreits reservats.","dlgTitle":"A prepaus de CKEditor 4","moreInfo":"Per las informacions de licéncia, visitatz nòstre site web :"},"basicstyles":{"bold":"Gras","italic":"Italica","strike":"Raiat","subscript":"Indici","superscript":"Exponent","underline":"Solinhat"},"bidi":{"ltr":"Direccion del tèxte d'esquèrra cap a dreita","rtl":"Direccion del tèxte de dreita cap a esquèrra"},"blockquote":{"toolbar":"Citacion"},"notification":{"closed":"Notificacion tampada."},"button":{"selectedLabel":"%1 (Seleccionat)"},"toolbar":{"toolbarCollapse":"Enrotlar la barra d'aisinas","toolbarExpand":"Desenrotlar la barra d'aisinas","toolbarGroups":{"document":"Document","clipboard":"Quichapapièr/Desfar","editing":"Edicion","forms":"Formularis","basicstyles":"Estils de basa","paragraph":"Paragraf","links":"Ligams","insert":"Inserir","styles":"Estils","colors":"Colors","tools":"Aisinas"},"toolbars":"Barras d'aisinas de l'editor"},"clipboard":{"copy":"Copiar","copyError":"Los paramètres de seguretat de vòstre navigador autorizan pas l'editor a executar automaticament l'operacion « Copiar ». Utilizatz l'acorchi de clavièr a aqueste efièit (Ctrl/Cmd+C).","cut":"Talhar","cutError":"Los paramètres de seguretat de vòstre navigador autorizan pas l'editor a executar automaticament l'operacion « Talhar ». Utilizatz l'acorchi de clavièr a aqueste efièit (Ctrl/Cmd+X).","paste":"Pegar","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK.","title":"Paste"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Color de rèireplan","colors":{"000":"Negre","800000":"Marron","8B4513":"Brun de sèla","2F4F4F":"Gris escur de lausa","008080":"Guit","000080":"Blau marina","4B0082":"Indigo","696969":"Gris escur","B22222":"Roge teula","A52A2A":"Brun","DAA520":"Aur ternit","006400":"Verd escur","40E0D0":"Turquesa","0000CD":"Blau reial","800080":"Violet","808080":"Gris","F00":"Roge","FF8C00":"Irange escur","FFD700":"Aur","008000":"Verd","0FF":"Cian","00F":"Blau","EE82EE":"Violet","A9A9A9":"Gris tamisat","FFA07A":"Salmon clar","FFA500":"Irange","FFFF00":"Jaune","00FF00":"Lima","AFEEEE":"Turquesa clar","ADD8E6":"Blau clar","DDA0DD":"Pruna","D3D3D3":"Gris clar","FFF0F5":"Fard lavanda","FAEBD7":"Blanc antic","FFFFE0":"Jaune clar","F0FFF0":"Verd rosada","F0FFFF":"Azur","F0F8FF":"Blau Alícia","E6E6FA":"Lavanda","FFF":"Blanc","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Mai de colors...","panelTitle":"Colors","textColorTitle":"Color del tèxte"},"colordialog":{"clear":"Escafar","highlight":"Puntada","options":"Opcions de color","selected":"Color seleccionada","title":"Seleccionar una color"},"templates":{"button":"Modèls","emptyListMsg":"(Cap de modèl pas disponible)","insertOption":"Remplaçar lo contengut actual","options":"Opcions dels modèls","selectPromptMsg":"Seleccionatz lo modèl de dobrir dins l'editor","title":"Contengut dels modèls"},"contextmenu":{"options":"Opcions del menú contextual"},"copyformatting":{"label":"Copiar lo formatatge","notification":{"copied":"Formatatge copiat","applied":"Formatatge aplicat","canceled":"Formatatge anullat","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"Infobulla","cssClassInputLabel":"Classas d'estil","edit":"Modificar la division","inlineStyleInputLabel":"Estil en linha","langDirLTRLabel":"Esquèrra a dreita (LTR)","langDirLabel":"Sens d'escritura","langDirRTLLabel":"Dreita a esquèrra (RTL)","languageCodeInputLabel":"Còdi de lenga","remove":"Levar la division","styleSelectLabel":"Estil","title":"Crear una division","toolbar":"Crear una division"},"elementspath":{"eleLabel":"Camin dels elements","eleTitle":"Element %1"},"filetools":{"loadError":"Una error s'es produita pendent la lectura del fichièr.","networkError":"Una error de ret s'es produita pendent lo mandadís del fichièr.","httpError404":"Una error HTTP s'es produita pendent lo mandadís del fichièr (404 : fichièr pas trobat).","httpError403":"Una error HTTP s'es produita pendent lo mandadís del fichièr (403 : accès refusat).","httpError":"Una error HTTP s'es produita pendent lo mandadís del fichièr (error : %1).","noUrlError":"L'URL de mandadís es pas especificada.","responseError":"Responsa del servidor incorrècta."},"find":{"find":"Recercar","findOptions":"Opcions de recèrca","findWhat":"Recercar :","matchCase":"Respectar la cassa","matchCyclic":"Boclar","matchWord":"Mot entièr unicament","notFoundMsg":"Lo tèxte especificat pòt pas èsser trobat.","replace":"Remplaçar","replaceAll":"Remplaçar tot","replaceSuccessMsg":"%1 ocurréncia(s) remplaçada(s).","replaceWith":"Remplaçar per :","title":"Recercar e remplaçar"},"fakeobjects":{"anchor":"Ancòra","flash":"Animacion Flash","hiddenfield":"Camp invisible","iframe":"Quadre de contengut incorporat","unknown":"Objècte desconegut"},"flash":{"access":"Accès als escripts","accessAlways":"Totjorn","accessNever":"Pas jamai","accessSameDomain":"Meteis domeni","alignAbsBottom":"Bas absolut","alignAbsMiddle":"Mitan absolut","alignBaseline":"Linha de basa","alignTextTop":"Naut del tèxte","bgcolor":"Color de rèireplan","chkFull":"Permetre l'ecran complet","chkLoop":"Bocla","chkMenu":"Activar lo menú Flash","chkPlay":"Legir automaticament","flashvars":"Variablas per Flash","hSpace":"Espaçament orizontal","properties":"Proprietats del Flash","propertiesTab":"Proprietats","quality":"Qualitat","qualityAutoHigh":"Nauta automatica","qualityAutoLow":"Bassa automatica","qualityBest":"Maximala","qualityHigh":"Nauta","qualityLow":"Bassa","qualityMedium":"Mejana","scale":"Escala","scaleAll":"Afichar tot","scaleFit":"Adaptacion automatica","scaleNoBorder":"Pas cap de bordadura","title":"Proprietats del Flash","vSpace":"Espaçament vertical","validateHSpace":"L'espaçament orizontal deu èsser un nombre.","validateSrc":"L'URL deu èsser indicada.","validateVSpace":"L'espaçament vertical deu èsser un nombre.","windowMode":"Mòde fenèstra","windowModeOpaque":"Opac","windowModeTransparent":"Transparent","windowModeWindow":"Fenèstra"},"font":{"fontSize":{"label":"Talha","voiceLabel":"Talha de poliça","panelTitle":"Talha de poliça"},"label":"Poliça","panelTitle":"Estil de poliça","voiceLabel":"Poliça"},"forms":{"button":{"title":"Proprietats del boton","text":"Tèxte","type":"Tipe","typeBtn":"Boton","typeSbm":"Validacion","typeRst":"Remesa a zèro"},"checkboxAndRadio":{"checkboxTitle":"Proprietats de la casa de marcar","radioTitle":"Proprietats del boton ràdio","value":"Valor","selected":"Seleccionat","required":"Requesit"},"form":{"title":"Proprietats del formulari","menu":"Proprietats del formulari","action":"Accion","method":"Metòde","encoding":"Encodatge"},"hidden":{"title":"Proprietats del camp invisible","name":"Nom","value":"Valor"},"select":{"title":"Proprietats del menú desenrotlant","selectInfo":"Informacions sul menú desenrotlant","opAvail":"Opcions disponiblas","value":"Valor","size":"Talha","lines":"linhas","chkMulti":"Permetre las seleccions multiplas","required":"Requesit","opText":"Tèxte","opValue":"Valor","btnAdd":"Apondre","btnModify":"Modificar","btnUp":"Naut","btnDown":"Bas","btnSetValue":"Definir coma valor seleccionada","btnDelete":"Suprimir"},"textarea":{"title":"Proprietats de la zòna de tèxte","cols":"Colomnas","rows":"Linhas"},"textfield":{"title":"Proprietats del camp tèxte","name":"Nom","value":"Valor","charWidth":"Largor dels caractèrs","maxChars":"Nombre maximum de caractèrs","required":"Requesit","type":"Tipe","typeText":"Tèxte","typePass":"Senhal","typeEmail":"Corrièr electronic","typeSearch":"Recercar","typeTel":"Numèro de telefòn","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Format de paragraf","tag_address":"Adreça","tag_div":"Division (DIV)","tag_h1":"Títol 1","tag_h2":"Títol 2","tag_h3":"Títol 3","tag_h4":"Títol 4","tag_h5":"Títol 5","tag_h6":"Títol 6","tag_p":"Normal","tag_pre":"Preformatat"},"horizontalrule":{"toolbar":"Inserir una linha orizontala"},"iframe":{"border":"Afichar la bordadura del quadre","noUrl":"Entratz l'URL del contengut del quadre","scrolling":"Activar las barras de desfilament","title":"Proprietats del quadre de contengut incorporat","toolbar":"Quadre de contengut incorporat"},"image":{"alt":"Tèxte alternatiu","border":"Bordadura","btnUpload":"Mandar sul servidor","button2Img":"Volètz transformar lo boton amb imatge seleccionat en imatge simple ?","hSpace":"Espaçament orizontal","img2Button":"Volètz transformar l'imatge seleccionat en boton amb imatge ?","infoTab":"Informacions sus l'imatge","linkTab":"Ligam","lockRatio":"Conservar las proporcions","menu":"Proprietats de l'imatge","resetSize":"Reïnicializar la talha","title":"Proprietats de l'imatge","titleButton":"Proprietats del boton amb imatge","upload":"Mandar","urlMissing":"L'URL font de l'imatge es mancanta.","vSpace":"Espaçament vertical","validateBorder":"La bordadura deu èsser un nombre entièr.","validateHSpace":"L'espaçament orizontal deu èsser un nombre entièr.","validateVSpace":"L'espaçament vertical deu èsser un nombre entièr."},"indent":{"indent":"Aumentar l'alinèa","outdent":"Dmesir l'alinèa"},"smiley":{"options":"Opcions dels morrons","title":"Inserir un morron","toolbar":"Morron"},"language":{"button":"Definir la lenga","remove":"Suprimir la lenga"},"link":{"acccessKey":"Tòca d'accessibilitat","advanced":"Avançat","advisoryContentType":"Tipe de contengut (indicatiu)","advisoryTitle":"Infobulla","anchor":{"toolbar":"Ancòra","menu":"Modificar l'ancòra","title":"Proprietats de l'ancòra","name":"Nom de l'ancòra","errorName":"Entratz lo nom de l'ancòra","remove":"Suprimir l'ancòra"},"anchorId":"Per ID d'element","anchorName":"Per nom d'ancòra","charset":"Encodatge de la ressorsa ligada","cssClasses":"Classas d'estil","download":"Forçar lo telecargament","displayText":"Afichar lo tèxte","emailAddress":"Adreça electronica","emailBody":"Còs del messatge","emailSubject":"Subjècte del messatge","id":"Id","info":"Informacions sul ligam","langCode":"Còdi de lenga","langDir":"Sens d'escritura","langDirLTR":"Esquèrra a dreita (LTR)","langDirRTL":"Dreita a esquèrra (RTL)","menu":"Modificar lo ligam","name":"Nom","noAnchors":"(Cap d'ancòra pas disponibla dins aqueste document)","noEmail":"Entratz l'adreça electronica","noUrl":"Entratz l'URL del ligam","other":"<autre>","popupDependent":"Dependenta (Netscape)","popupFeatures":"Caracteristicas de la fenèstra sorgissenta","popupFullScreen":"Ecran complet (IE)","popupLeft":"A esquèrra","popupLocationBar":"Barra d'adreça","popupMenuBar":"Barra de menú","popupResizable":"Redimensionable","popupScrollBars":"Barras de desfilament","popupStatusBar":"Barra d'estat","popupToolbar":"Barra d'aisinas","popupTop":"Amont","rel":"Relacion","selectAnchor":"Seleccionar una ancòra","styles":"Estil","tabIndex":"Indici de tabulacion","target":"Cibla","targetFrame":"<quadre>","targetFrameName":"Nom del quadre afectat","targetPopup":"<fenèstra sorgissenta>","targetPopupName":"Nom de la fenèstra sorgissenta","title":"Ligam","toAnchor":"Ancòra","toEmail":"Corrièl","toUrl":"URL","toolbar":"Ligam","type":"Tipe de ligam","unlink":"Suprimir lo ligam","upload":"Mandar"},"list":{"bulletedlist":"Inserir/Suprimir una lista amb de piuses","numberedlist":"Inserir/Suprimir una lista numerotada"},"liststyle":{"armenian":"Numerotacion armènia","bulletedTitle":"Proprietats de la lista de piuses","circle":"Cercle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal precedit per un 0 (01, 02, 03, etc.)","disc":"Disc","georgian":"Numeracion georgiana (an, ban, gan, etc.)","lowerAlpha":"Letras minusculas (a, b, c, d, e, etc.)","lowerGreek":"Grèc minuscula (alfa, bèta, gamma, etc.)","lowerRoman":"Chifras romanas minusculas (i, ii, iii, iv, v, etc.)","none":"Pas cap","notset":"<indefinit>","numberedTitle":"Proprietats de la lista numerotada","square":"Carrat","start":"Començament","type":"Tipe","upperAlpha":"Letras majusculas (A, B, C, D, E, etc.)","upperRoman":"Chifras romanas majusculas (I, II, III, IV, V, etc.)","validateStartNumber":"Lo primièr element de la lista deu èsser un nombre entièr."},"magicline":{"title":"Inserir un paragraf aicí"},"maximize":{"maximize":"Maximizar","minimize":"Minimizar"},"newpage":{"toolbar":"Pagina novèla"},"pagebreak":{"alt":"Saut de pagina","toolbar":"Inserir un saut de pagina per l'impression"},"pastetext":{"button":"Pegar coma tèxte brut","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Paste as Plain Text"},"pastefromword":{"confirmCleanup":"Sembla que lo tèxte de pegar proven de Word. Lo volètz netejar abans de lo pegar ?","error":"Las donadas pegadas an pas pogut èsser netejadas a causa d'una error intèrna","title":"Pegar dempuèi Word","toolbar":"Pegar dempuèi Word"},"preview":{"preview":"Previsualizar"},"print":{"toolbar":"Imprimir"},"removeformat":{"toolbar":"Suprimir la mesa en forma"},"save":{"toolbar":"Enregistrar"},"selectall":{"toolbar":"Seleccionar tot"},"showblocks":{"toolbar":"Afichar los blòts"},"sourcearea":{"toolbar":"Font"},"specialchar":{"options":"Opcions dels caractèrs especials","title":"Seleccionar un caractèr","toolbar":"Inserir un caractèr especial"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Estils","panelTitle":"Estils de mesa en pagina","panelTitle1":"Estils de blòt","panelTitle2":"Estils en linha","panelTitle3":"Estils d'objècte"},"table":{"border":"Talha de la bordadura","caption":"Títol del tablèu","cell":{"menu":"Cellula","insertBefore":"Inserir una cellula abans","insertAfter":"Inserir una cellula aprèp","deleteCell":"Suprimir las cellulas","merge":"Fusionar las cellulas","mergeRight":"Fusionar cap a dreita","mergeDown":"Fusionar cap aval","splitHorizontal":"Separar la cellula orizontalament","splitVertical":"Separar la cellula verticalament","title":"Proprietats de la cellula","cellType":"Tipe de cellula","rowSpan":"Linhas ocupadas","colSpan":"Colomnas ocupadas","wordWrap":"Cesura","hAlign":"Alinhament orizontal","vAlign":"Alinhament vertical","alignBaseline":"Linha de basa","bgColor":"Color de rèireplan","borderColor":"Color de bordadura","data":"Donadas","header":"Entèsta","yes":"Òc","no":"Non","invalidWidth":"La largor de la cellula deu èsser un nombre.","invalidHeight":"La nautor de la cellula deu èsser un nombre.","invalidRowSpan":"Lo nombre de linhas ocupadas deu èsser un nombre entièr.","invalidColSpan":"Lo nombre de colomnas ocupadas deu èsser un nombre entièr.","chooseColor":"Causir"},"cellPad":"Marge intèrne de las cellulas","cellSpace":"Espaçament entre las cellulas","column":{"menu":"Colomna","insertBefore":"Inserir una colomna abans","insertAfter":"Inserir una colomna aprèp","deleteColumn":"Suprimir las colomnas"},"columns":"Colomnas","deleteTable":"Suprimir lo tablèu","headers":"Entèstas","headersBoth":"Los dos","headersColumn":"Primièra colomna","headersNone":"Pas cap","headersRow":"Primièra linha","invalidBorder":"La talha de la bordadura deu èsser un nombre.","invalidCellPadding":"Lo marge intèrne de las cellulas deu èsser un nombre positiu.","invalidCellSpacing":"L'espaçament entre las cellulas deu èsser un nombre positiu.","invalidCols":"Lo nombre de colomnas deu èsser superior a 0.","invalidHeight":"La nautor del tablèu deu èsser un nombre.","invalidRows":"Lo nombre de linhas deu èsser superior a 0.","invalidWidth":"La largor del tablèu deu èsser un nombre.","menu":"Proprietats del tablèu","row":{"menu":"Linha","insertBefore":"Inserir una linha abans","insertAfter":"Inserir una linha aprèp","deleteRow":"Suprimir las linhas"},"rows":"Linhas","summary":"Resumit (descripcion)","title":"Proprietats del tablèu","toolbar":"Tablèu","widthPc":"per cent","widthPx":"pixèls","widthUnit":"unitat de largor"},"undo":{"redo":"Refar","undo":"Restablir"},"widget":{"move":"Clicar e lisar per desplaçar","label":"Element %1"},"uploadwidget":{"abort":"Mandadís interromput per l'utilizaire","doneOne":"Fichièr mandat amb succès.","doneMany":"%1 fichièrs mandats amb succès.","uploadOne":"Mandadís del fichièr en cors ({percentage} %)…","uploadMany":"Mandadís dels fichièrs en cors, {current} sus {max} efectuats ({percentage} %)…"},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/oc.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/nb.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/nb.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/nb.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['nb']={"editor":"Rikteksteditor","editorPanel":"Panel for rikteksteditor","common":{"editorHelp":"Trykk ALT 0 for hjelp","browseServer":"Bla gjennom tjener","url":"URL","protocol":"Protokoll","upload":"Last opp","uploadSubmit":"Send det til serveren","image":"Bilde","flash":"Flash","form":"Skjema","checkbox":"Avmerkingsboks","radio":"Alternativknapp","textField":"Tekstboks","textarea":"Tekstområde","hiddenField":"Skjult felt","button":"Knapp","select":"Rullegardinliste","imageButton":"Bildeknapp","notSet":"<ikke satt>","id":"Id","name":"Navn","langDir":"Språkretning","langDirLtr":"Venstre til høyre (LTR)","langDirRtl":"Høyre til venstre (RTL)","langCode":"Språkkode","longDescr":"Utvidet beskrivelse","cssClass":"Stilarkklasser","advisoryTitle":"Tittel","cssStyle":"Stil","ok":"OK","cancel":"Avbryt","close":"Lukk","preview":"Forhåndsvis","resize":"Dra for å skalere","generalTab":"Generelt","advancedTab":"Avansert","validateNumberFailed":"Denne verdien er ikke et tall.","confirmNewPage":"Alle ulagrede endringer som er gjort i dette innholdet vil gå tapt. Er du sikker på at du vil laste en ny side?","confirmCancel":"Du har endret noen alternativer. Er du sikker på at du vil lukke dialogvinduet?","options":"Valg","target":"Mål","targetNew":"Nytt vindu (_blank)","targetTop":"Hele vinduet (_top)","targetSelf":"Samme vindu (_self)","targetParent":"Foreldrevindu (_parent)","langDirLTR":"Venstre til høyre (VTH)","langDirRTL":"Høyre til venstre (HTV)","styles":"Stil","cssClasses":"Stilarkklasser","width":"Bredde","height":"Høyde","align":"Juster","left":"Venstre","right":"Høyre","center":"Midtstill","justify":"Blokkjuster","alignLeft":"Venstrejuster","alignRight":"Høyrejuster","alignCenter":"Midtstill","alignTop":"Topp","alignMiddle":"Midten","alignBottom":"Bunn","alignNone":"Ingen","invalidValue":"Ugyldig verdi.","invalidHeight":"Høyde må være et tall.","invalidWidth":"Bredde må være et tall.","invalidLength":"Den angitte verdien for feltet \"%1\" må være et positivt tall med eller uten en gyldig måleenhet (%2).","invalidCssLength":"Den angitte verdien for feltet \"%1\" må være et positivt tall med eller uten en gyldig CSS-målingsenhet (px, %, in, cm, mm, em, ex, pt, eller pc).","invalidHtmlLength":"Den angitte verdien for feltet \"%1\" må være et positivt tall med eller uten en gyldig HTML-målingsenhet (px eller %).","invalidInlineStyle":"Verdi angitt for inline stil må bestå av en eller flere sett med formatet \"navn : verdi\", separert med semikolon","cssLengthTooltip":"Skriv inn et tall for en piksel-verdi eller et tall med en gyldig CSS-enhet (px, %, in, cm, mm, em, ex, pt, eller pc).","unavailable":"%1<span class=\"cke_accessibility\">, utilgjenglig</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Mellomrom","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Tastatursnarvei","optionDefault":"Standard"},"about":{"copy":"Copyright &copy; $1. Alle rettigheter reservert.","dlgTitle":"Om CKEditor 4","moreInfo":"For lisensieringsinformasjon, vennligst besøk vårt nettsted:"},"basicstyles":{"bold":"Fet","italic":"Kursiv","strike":"Gjennomstreking","subscript":"Senket skrift","superscript":"Hevet skrift","underline":"Understreking"},"bidi":{"ltr":"Tekstretning fra venstre til høyre","rtl":"Tekstretning fra høyre til venstre"},"blockquote":{"toolbar":"Blokksitat"},"notification":{"closed":"Varsling lukket."},"button":{"selectedLabel":"%1 (Valgt)"},"toolbar":{"toolbarCollapse":"Skjul verktøylinje","toolbarExpand":"Vis verktøylinje","toolbarGroups":{"document":"Dokument","clipboard":"Utklippstavle/Angre","editing":"Redigering","forms":"Skjema","basicstyles":"Basisstiler","paragraph":"Avsnitt","links":"Lenker","insert":"Innsetting","styles":"Stiler","colors":"Farger","tools":"Verktøy"},"toolbars":"Verktøylinjer for editor"},"clipboard":{"copy":"Kopier","copyError":"Din nettlesers sikkerhetsinstillinger tillater ikke automatisk kopiering av tekst. Vennligst bruk tastatursnarveien (Ctrl/Cmd+C).","cut":"Klipp ut","cutError":"Din nettlesers sikkerhetsinstillinger tillater ikke automatisk utklipping av tekst. Vennligst bruk tastatursnarveien (Ctrl/Cmd+X).","paste":"Lim inn","pasteNotification":"Trykk %1 for å lime inn. Nettleseren din støtter ikke å lime inn med knappen i verktøylinjen eller høyreklikkmenyen.","pasteArea":"Innlimingsområde","pasteMsg":"Lim inn innholdet i området nedenfor og klikk OK.","title":"Lim inn"},"colorbutton":{"auto":"Automatisk","bgColorTitle":"Bakgrunnsfarge","colors":{"000":"Svart","800000":"Rødbrun","8B4513":"Salbrun","2F4F4F":"Grønnsvart","008080":"Blågrønn","000080":"Marineblå","4B0082":"Indigo","696969":"Mørk grå","B22222":"Mørkerød","A52A2A":"Brun","DAA520":"Lys brun","006400":"Mørk grønn","40E0D0":"Turkis","0000CD":"Medium blå","800080":"Purpur","808080":"Grå","F00":"Rød","FF8C00":"Mørk oransje","FFD700":"Gull","008000":"Grønn","0FF":"Cyan","00F":"Blå","EE82EE":"Fiolett","A9A9A9":"Svak grå","FFA07A":"Rosa-oransje","FFA500":"Oransje","FFFF00":"Gul","00FF00":"Lime","AFEEEE":"Svak turkis","ADD8E6":"Lys blå","DDA0DD":"Plomme","D3D3D3":"Lys grå","FFF0F5":"Svak lavendelrosa","FAEBD7":"Antikk-hvit","FFFFE0":"Lys gul","F0FFF0":"Honningmelon","F0FFFF":"Svak asurblå","F0F8FF":"Svak cyan","E6E6FA":"Lavendel","FFF":"Hvit","1ABC9C":"Sterk cyan","2ECC71":"Smaragd","3498DB":"Lys blå","9B59B6":"Ametyst","4E5F70":"Gråaktig blå","F1C40F":"Livaktig gul","16A085":"Mørk cyan","27AE60":"Mørk smaragd","2980B9":"Sterk blå","8E44AD":"Mørk fiolett","2C3E50":"Desaturert blå","F39C12":"Oransje","E67E22":"Gulrot","E74C3C":"Blek rød","ECF0F1":"Klar sølv","95A5A6":"Lys gråaktig cyan","DDD":"Lys grå","D35400":"Gresskar","C0392B":"Sterk rød","BDC3C7":"Sølv","7F8C8D":"Gråaktig cyan","999":"Mørk grå"},"more":"Flere farger...","panelTitle":"Farger","textColorTitle":"Tekstfarge"},"colordialog":{"clear":"Nullstill","highlight":"Fremhevet","options":"Alternativer for farge","selected":"Valgt farge","title":"Velg farge"},"templates":{"button":"Maler","emptyListMsg":"(Ingen maler definert)","insertOption":"Erstatt gjeldende innhold","options":"Alternativer for mal","selectPromptMsg":"Velg malen du vil åpne i redigeringsverktøyet:","title":"Innholdsmaler"},"contextmenu":{"options":"Alternativer for høyreklikkmeny"},"copyformatting":{"label":"Kopier formatering","notification":{"copied":"Formatering kopiert","applied":"Formatering tatt i bruk","canceled":"Formatering avbrutt","failed":"Formatering mislyktes. Du kan ikke ta i bruk stiler uten å kopiere dem først."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Tittel","cssClassInputLabel":"Stilark-klasser","edit":"Rediger Div","inlineStyleInputLabel":"Inlinestiler","langDirLTRLabel":"Venstre til høyre (LTR)","langDirLabel":"Språkretning","langDirRTLLabel":"Høyre til venstre (RTL)","languageCodeInputLabel":" Språkkode","remove":"Fjern Div","styleSelectLabel":"Stil","title":"Sett inn Div Container","toolbar":"Sett inn Div Container"},"elementspath":{"eleLabel":"Element-sti","eleTitle":"%1 element"},"filetools":{"loadError":"Feil oppsto under filinnlesing.","networkError":"Nettverksfeil oppsto under filopplasting.","httpError404":"HTTP-feil oppsto under filopplasting (404: Fant ikke filen).","httpError403":"HTTP-feil oppsto under filopplasting (403: Ikke tillatt).","httpError":"HTTP-feil oppsto under filopplasting (feilstatus: %1).","noUrlError":"URL for opplasting er ikke oppgitt.","responseError":"Ukorrekt svar fra serveren."},"find":{"find":"Søk","findOptions":"Søkealternativer","findWhat":"Søk etter:","matchCase":"Skill mellom store og små bokstaver","matchCyclic":"Søk i hele dokumentet","matchWord":"Bare hele ord","notFoundMsg":"Fant ikke søketeksten.","replace":"Erstatt","replaceAll":"Erstatt alle","replaceSuccessMsg":"%1 tilfelle(r) erstattet.","replaceWith":"Erstatt med:","title":"Søk og erstatt"},"fakeobjects":{"anchor":"Anker","flash":"Flash-animasjon","hiddenfield":"Skjult felt","iframe":"IFrame","unknown":"Ukjent objekt"},"flash":{"access":"Scripttilgang","accessAlways":"Alltid","accessNever":"Aldri","accessSameDomain":"Samme domene","alignAbsBottom":"Abs bunn","alignAbsMiddle":"Abs midten","alignBaseline":"Bunnlinje","alignTextTop":"Tekst topp","bgcolor":"Bakgrunnsfarge","chkFull":"Tillat fullskjerm","chkLoop":"Loop","chkMenu":"Slå på Flash-meny","chkPlay":"Autospill","flashvars":"Variabler for flash","hSpace":"HMarg","properties":"Egenskaper for Flash-objekt","propertiesTab":"Egenskaper","quality":"Kvalitet","qualityAutoHigh":"Auto høy","qualityAutoLow":"Auto lav","qualityBest":"Best","qualityHigh":"Høy","qualityLow":"Lav","qualityMedium":"Medium","scale":"Skaler","scaleAll":"Vis alt","scaleFit":"Skaler til å passe","scaleNoBorder":"Ingen ramme","title":"Flash-egenskaper","vSpace":"VMarg","validateHSpace":"HMarg må være et tall.","validateSrc":"Vennligst skriv inn lenkens url.","validateVSpace":"VMarg må være et tall.","windowMode":"Vindumodus","windowModeOpaque":"Opaque","windowModeTransparent":"Gjennomsiktig","windowModeWindow":"Vindu"},"font":{"fontSize":{"label":"Størrelse","voiceLabel":"Skriftstørrelse","panelTitle":"Skriftstørrelse"},"label":"Skrift","panelTitle":"Skrift","voiceLabel":"Font"},"forms":{"button":{"title":"Egenskaper for knapp","text":"Tekst (verdi)","type":"Type","typeBtn":"Knapp","typeSbm":"Send","typeRst":"Nullstill"},"checkboxAndRadio":{"checkboxTitle":"Egenskaper for avmerkingsboks","radioTitle":"Egenskaper for alternativknapp","value":"Verdi","selected":"Valgt","required":"Påkrevd"},"form":{"title":"Egenskaper for skjema","menu":"Egenskaper for skjema","action":"Handling","method":"Metode","encoding":"Encoding"},"hidden":{"title":"Egenskaper for skjult felt","name":"Navn","value":"Verdi"},"select":{"title":"Egenskaper for rullegardinliste","selectInfo":"Info","opAvail":"Tilgjengelige alternativer","value":"Verdi","size":"Størrelse","lines":"Linjer","chkMulti":"Tillat flervalg","required":"Påkrevd","opText":"Tekst","opValue":"Verdi","btnAdd":"Legg til","btnModify":"Endre","btnUp":"Opp","btnDown":"Ned","btnSetValue":"Sett som valgt","btnDelete":"Slett"},"textarea":{"title":"Egenskaper for tekstområde","cols":"Kolonner","rows":"Rader"},"textfield":{"title":"Egenskaper for tekstfelt","name":"Navn","value":"Verdi","charWidth":"Tegnbredde","maxChars":"Maks antall tegn","required":"Påkrevd","type":"Type","typeText":"Tekst","typePass":"Passord","typeEmail":"Epost","typeSearch":"Søk","typeTel":"Telefonnummer","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Avsnittsformat","tag_address":"Adresse","tag_div":"Normal (DIV)","tag_h1":"Overskrift 1","tag_h2":"Overskrift 2","tag_h3":"Overskrift 3","tag_h4":"Overskrift 4","tag_h5":"Overskrift 5","tag_h6":"Overskrift 6","tag_p":"Normal","tag_pre":"Formatert"},"horizontalrule":{"toolbar":"Sett inn horisontal linje"},"iframe":{"border":"Vis ramme rundt iframe","noUrl":"Vennligst skriv inn URL for iframe","scrolling":"Aktiver scrollefelt","title":"Egenskaper for IFrame","toolbar":"IFrame"},"image":{"alt":"Alternativ tekst","border":"Ramme","btnUpload":"Send det til serveren","button2Img":"Vil du endre den valgte bildeknappen til et vanlig bilde?","hSpace":"HMarg","img2Button":"Vil du endre det valgte bildet til en bildeknapp?","infoTab":"Bildeinformasjon","linkTab":"Lenke","lockRatio":"Lås forhold","menu":"Bildeegenskaper","resetSize":"Tilbakestill størrelse","title":"Bildeegenskaper","titleButton":"Egenskaper for bildeknapp","upload":"Last opp","urlMissing":"Bildets adresse mangler.","vSpace":"VMarg","validateBorder":"Ramme må være et heltall.","validateHSpace":"HMarg må være et heltall.","validateVSpace":"VMarg må være et heltall."},"indent":{"indent":"Øk innrykk","outdent":"Reduser innrykk"},"smiley":{"options":"Alternativer for smil","title":"Sett inn smil","toolbar":"Smil"},"language":{"button":"Sett språk","remove":"Fjern språk"},"link":{"acccessKey":"Aksessknapp","advanced":"Avansert","advisoryContentType":"Type","advisoryTitle":"Tittel","anchor":{"toolbar":"Anker","menu":"Rediger anker","title":"Egenskaper for anker","name":"Ankernavn","errorName":"Vennligst skriv inn ankernavnet","remove":"Fjern anker"},"anchorId":"Element etter ID","anchorName":"Anker etter navn","charset":"Lenket tegnsett","cssClasses":"Stilarkklasser","download":"Tving nedlasting","displayText":"Tekst som skal vises","emailAddress":"E-postadresse","emailBody":"Melding","emailSubject":"Meldingsemne","id":"Id","info":"Lenkeinfo","langCode":"Språkkode","langDir":"Språkretning","langDirLTR":"Venstre til høyre (LTR)","langDirRTL":"Høyre til venstre (RTL)","menu":"Rediger lenke","name":"Navn","noAnchors":"(Ingen anker i dokumentet)","noEmail":"Vennligst skriv inn e-postadressen","noUrl":"Vennligst skriv inn lenkens URL","other":"<annen>","popupDependent":"Avhenging (Netscape)","popupFeatures":"Egenskaper for popup-vindu","popupFullScreen":"Fullskjerm (IE)","popupLeft":"Venstre posisjon","popupLocationBar":"Adresselinje","popupMenuBar":"Menylinje","popupResizable":"Skalerbar","popupScrollBars":"Scrollbar","popupStatusBar":"Statuslinje","popupToolbar":"Verktøylinje","popupTop":"Topp-posisjon","rel":"Relasjon (rel)","selectAnchor":"Velg et anker","styles":"Stil","tabIndex":"Tabindeks","target":"Mål","targetFrame":"<ramme>","targetFrameName":"Målramme","targetPopup":"<popup-vindu>","targetPopupName":"Navn på popup-vindu","title":"Lenke","toAnchor":"Lenke til anker i teksten","toEmail":"E-post","toUrl":"URL","toolbar":"Lenke","type":"Lenketype","unlink":"Fjern lenke","upload":"Last opp"},"list":{"bulletedlist":"Legg til / fjern punktliste","numberedlist":"Legg til / fjern nummerert liste"},"liststyle":{"armenian":"Armensk nummerering","bulletedTitle":"Egenskaper for punktliste","circle":"Sirkel","decimal":"Tall (1, 2, 3, osv.)","decimalLeadingZero":"Tall, med førstesiffer null (01, 02, 03, osv.)","disc":"Disk","georgian":"Georgisk nummerering (an, ban, gan, osv.)","lowerAlpha":"Alfabetisk, små (a, b, c, d, e, osv.)","lowerGreek":"Gresk, små (alpha, beta, gamma, osv.)","lowerRoman":"Romertall, små (i, ii, iii, iv, v, osv.)","none":"Ingen","notset":"<ikke satt>","numberedTitle":"Egenskaper for nummerert liste","square":"Firkant","start":"Start","type":"Type","upperAlpha":"Alfabetisk, store (A, B, C, D, E, osv.)","upperRoman":"Romertall, store (I, II, III, IV, V, osv.)","validateStartNumber":"Starten på listen må være et heltall."},"magicline":{"title":"Sett inn nytt avsnitt her"},"maximize":{"maximize":"Maksimer","minimize":"Minimer"},"newpage":{"toolbar":"Ny side"},"pagebreak":{"alt":"Sideskift","toolbar":"Sett inn sideskift for utskrift"},"pastetext":{"button":"Lim inn som ren tekst","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Lim inn som ren tekst"},"pastefromword":{"confirmCleanup":"Teksten du limer inn ser ut til å være kopiert fra Word. Vil du renske den før du limer den inn?","error":"Det var ikke mulig å renske den innlimte teksten på grunn av en intern feil","title":"Lim inn fra Word","toolbar":"Lim inn fra Word"},"preview":{"preview":"Forhåndsvis"},"print":{"toolbar":"Skriv ut"},"removeformat":{"toolbar":"Fjern formatering"},"save":{"toolbar":"Lagre"},"selectall":{"toolbar":"Merk alt"},"showblocks":{"toolbar":"Vis blokker"},"sourcearea":{"toolbar":"Kilde"},"specialchar":{"options":"Alternativer for spesialtegn","title":"Velg spesialtegn","toolbar":"Sett inn spesialtegn"},"scayt":{"btn_about":"Om SCAYT","btn_dictionaries":"Ordbøker","btn_disable":"Slå av SCAYT","btn_enable":"Slå på SCAYT","btn_langs":"Språk","btn_options":"Valg","text_title":"Stavekontroll mens du skriver"},"stylescombo":{"label":"Stil","panelTitle":"Stilformater","panelTitle1":"Blokkstiler","panelTitle2":"Inlinestiler","panelTitle3":"Objektstiler"},"table":{"border":"Rammestørrelse","caption":"Tittel","cell":{"menu":"Celle","insertBefore":"Sett inn celle før","insertAfter":"Sett inn celle etter","deleteCell":"Slett celler","merge":"Slå sammen celler","mergeRight":"Slå sammen høyre","mergeDown":"Slå sammen ned","splitHorizontal":"Del celle horisontalt","splitVertical":"Del celle vertikalt","title":"Celleegenskaper","cellType":"Celletype","rowSpan":"Radspenn","colSpan":"Kolonnespenn","wordWrap":"Tekstbrytning","hAlign":"Horisontal justering","vAlign":"Vertikal justering","alignBaseline":"Grunnlinje","bgColor":"Bakgrunnsfarge","borderColor":"Rammefarge","data":"Data","header":"Overskrift","yes":"Ja","no":"Nei","invalidWidth":"Cellebredde må være et tall.","invalidHeight":"Cellehøyde må være et tall.","invalidRowSpan":"Radspenn må være et heltall.","invalidColSpan":"Kolonnespenn må være et heltall.","chooseColor":"Velg"},"cellPad":"Cellepolstring","cellSpace":"Cellemarg","column":{"menu":"Kolonne","insertBefore":"Sett inn kolonne før","insertAfter":"Sett inn kolonne etter","deleteColumn":"Slett kolonner"},"columns":"Kolonner","deleteTable":"Slett tabell","headers":"Overskrifter","headersBoth":"Begge","headersColumn":"Første kolonne","headersNone":"Ingen","headersRow":"Første rad","invalidBorder":"Rammestørrelse må være et tall.","invalidCellPadding":"Cellepolstring må være et positivt tall.","invalidCellSpacing":"Cellemarg må være et positivt tall.","invalidCols":"Antall kolonner må være et tall større enn 0.","invalidHeight":"Tabellhøyde må være et tall.","invalidRows":"Antall rader må være et tall større enn 0.","invalidWidth":"Tabellbredde må være et tall.","menu":"Egenskaper for tabell","row":{"menu":"Rader","insertBefore":"Sett inn rad før","insertAfter":"Sett inn rad etter","deleteRow":"Slett rader"},"rows":"Rader","summary":"Sammendrag","title":"Egenskaper for tabell","toolbar":"Tabell","widthPc":"prosent","widthPx":"piksler","widthUnit":"Bredde-enhet"},"undo":{"redo":"Gjør om","undo":"Angre"},"widget":{"move":"Klikk og dra for å flytte","label":"Widget %1"},"uploadwidget":{"abort":"Opplasting ble avbrutt av brukeren.","doneOne":"Filen har blitt lastet opp.","doneMany":"Fullført opplasting av %1 filer.","uploadOne":"Laster opp fil ({percentage}%)...","uploadMany":"Laster opp filer, {current} av {max} fullført ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorer","btnIgnoreAll":"Ignorer alle","btnReplace":"Erstatt","btnReplaceAll":"Erstatt alle","btnUndo":"Angre","changeTo":"Endre til","errorLoading":"Feil under lasting av applikasjonstjenestetjener: %s.","ieSpellDownload":"Stavekontroll er ikke installert. Vil du laste den ned nå?","manyChanges":"Stavekontroll fullført: %1 ord endret","noChanges":"Stavekontroll fullført: ingen ord endret","noMispell":"Stavekontroll fullført: ingen feilstavinger funnet","noSuggestions":"- Ingen forslag -","notAvailable":"Beklager, tjenesten er utilgjenglig nå.","notInDic":"Ikke i ordboken","oneChange":"Stavekontroll fullført: Ett ord endret","progress":"Stavekontroll pågår...","title":"Stavekontroll","toolbar":"Stavekontroll"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/nb.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fr-ca.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fr-ca.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fr-ca.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['fr-ca']={"editor":"Éditeur de texte enrichi","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Appuyez sur 0 pour de l'aide","browseServer":"Parcourir le serveur","url":"URL","protocol":"Protocole","upload":"Envoyer","uploadSubmit":"Envoyer au serveur","image":"Image","flash":"Animation Flash","form":"Formulaire","checkbox":"Case à cocher","radio":"Bouton radio","textField":"Champ texte","textarea":"Zone de texte","hiddenField":"Champ caché","button":"Bouton","select":"Liste déroulante","imageButton":"Bouton image","notSet":"<Par défaut>","id":"Id","name":"Nom","langDir":"Sens d'écriture","langDirLtr":"De gauche à droite (LTR)","langDirRtl":"De droite à gauche (RTL)","langCode":"Code langue","longDescr":"URL de description longue","cssClass":"Classes CSS","advisoryTitle":"Titre","cssStyle":"Style","ok":"OK","cancel":"Annuler","close":"Fermer","preview":"Aperçu","resize":"Redimensionner","generalTab":"Général","advancedTab":"Avancé","validateNumberFailed":"Cette valeur n'est pas un nombre.","confirmNewPage":"Les changements non sauvegardés seront perdus. Êtes-vous certain de vouloir charger une nouvelle page?","confirmCancel":"Certaines options ont été modifiées. Êtes-vous certain de vouloir fermer?","options":"Options","target":"Cible","targetNew":"Nouvelle fenêtre (_blank)","targetTop":"Fenêtre supérieur (_top)","targetSelf":"Cette fenêtre (_self)","targetParent":"Fenêtre parent (_parent)","langDirLTR":"De gauche à droite (LTR)","langDirRTL":"De droite à gauche (RTL)","styles":"Style","cssClasses":"Classe CSS","width":"Largeur","height":"Hauteur","align":"Alignement","left":"Gauche","right":"Droite","center":"Centré","justify":"Justifié","alignLeft":"Aligner à gauche","alignRight":"Aligner à Droite","alignCenter":"Align Center","alignTop":"Haut","alignMiddle":"Milieu","alignBottom":"Bas","alignNone":"None","invalidValue":"Valeur invalide.","invalidHeight":"La hauteur doit être un nombre.","invalidWidth":"La largeur doit être un nombre.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"La valeur spécifiée pour le champ \"%1\" doit être un nombre positif avec ou sans unité de mesure CSS valide (px, %, in, cm, mm, em, ex, pt, ou pc).","invalidHtmlLength":"La valeur spécifiée pour le champ \"%1\" doit être un nombre positif avec ou sans unité de mesure HTML valide (px ou %).","invalidInlineStyle":"La valeur spécifiée pour le style intégré doit être composée d'un ou plusieurs couples de valeur au format \"nom : valeur\", separés par des points-virgules.","cssLengthTooltip":"Entrer un nombre pour la valeur en pixel ou un nombre avec une unité CSS valide (px, %, in, cm, mm, em, ex, pt, ou pc).","unavailable":"%1<span class=\"cke_accessibility\">, indisponible</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Tous droits réservés.","dlgTitle":"À propos de CKEditor 4","moreInfo":"Pour les informations de licence, consulter notre site internet:"},"basicstyles":{"bold":"Gras","italic":"Italique","strike":"Barré","subscript":"Indice","superscript":"Exposant","underline":"Souligné"},"bidi":{"ltr":"Direction du texte de gauche à droite","rtl":"Direction du texte de droite à gauche"},"blockquote":{"toolbar":"Citation"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Enrouler la barre d'outils","toolbarExpand":"Dérouler la barre d'outils","toolbarGroups":{"document":"Document","clipboard":"Presse papier/Annuler","editing":"Édition","forms":"Formulaires","basicstyles":"Styles de base","paragraph":"Paragraphe","links":"Liens","insert":"Insérer","styles":"Styles","colors":"Couleurs","tools":"Outils"},"toolbars":"Barre d'outils de l'éditeur"},"clipboard":{"copy":"Copier","copyError":"Les paramètres de sécurité de votre navigateur empêchent l'éditeur de copier automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl/Cmd+C).","cut":"Couper","cutError":"Les paramètres de sécurité de votre navigateur empêchent l'éditeur de couper automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl/Cmd+X).","paste":"Coller","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Coller la zone","pasteMsg":"Paste your content inside the area below and press OK.","title":"Coller"},"colorbutton":{"auto":"Automatique","bgColorTitle":"Couleur de fond","colors":{"000":"Noir","800000":"Marron","8B4513":"Brun foncé","2F4F4F":"Gris ardoise foncé","008080":"Sarcelle","000080":"Marine","4B0082":"Indigo","696969":"Gris foncé","B22222":"Rouge brique","A52A2A":"Brun","DAA520":"Doré","006400":"Vert foncé","40E0D0":"Turquoise","0000CD":"Bleu","800080":"Mauve","808080":"Gris","F00":"Rouge","FF8C00":"Orange foncé","FFD700":"Or","008000":"Vert","0FF":"Cyan","00F":"Bleu","EE82EE":"Violet","A9A9A9":"Gris pâle","FFA07A":"Saumon clair","FFA500":"Orange","FFFF00":"Jaune","00FF00":"Vert lime","AFEEEE":"Turquoise pâle","ADD8E6":"Bleu pâle","DDA0DD":"Prune","D3D3D3":"Gris pâle","FFF0F5":"Bleu lavande","FAEBD7":"Blanc antique","FFFFE0":"Jaune pâle","F0FFF0":"Miel doré","F0FFFF":"Azure","F0F8FF":"Bleu alice","E6E6FA":"Lavande","FFF":"Blanc","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Plus de couleurs...","panelTitle":"Couleurs","textColorTitle":"Couleur de texte"},"colordialog":{"clear":"Effacer","highlight":"Surligner","options":"Options de couleur","selected":"Couleur sélectionnée","title":"Choisir une couleur"},"templates":{"button":"Modèles","emptyListMsg":"(Aucun modèle disponible)","insertOption":"Remplacer tout le contenu actuel","options":"Options de modèles","selectPromptMsg":"Sélectionner le modèle à ouvrir dans l'éditeur","title":"Modèles de contenu"},"contextmenu":{"options":"Options du menu contextuel"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"Titre","cssClassInputLabel":"Classes CSS","edit":"Modifier le DIV","inlineStyleInputLabel":"Style en ligne","langDirLTRLabel":"De gauche à droite (LTR)","langDirLabel":"Sens d'écriture","langDirRTLLabel":"De droite à gauche (RTL)","languageCodeInputLabel":"Code de langue","remove":"Supprimer le DIV","styleSelectLabel":"Style","title":"Créer un DIV","toolbar":"Créer un DIV"},"elementspath":{"eleLabel":"Chemin d'éléments","eleTitle":"element %1"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Rechercher","findOptions":"Options de recherche","findWhat":"Rechercher:","matchCase":"Respecter la casse","matchCyclic":"Recherche cyclique","matchWord":"Mot entier","notFoundMsg":"Le texte indiqué est introuvable.","replace":"Remplacer","replaceAll":"Tout remplacer","replaceSuccessMsg":"%1 remplacements.","replaceWith":"Remplacer par:","title":"Rechercher et remplacer"},"fakeobjects":{"anchor":"Ancre","flash":"Animation Flash","hiddenfield":"Champ caché","iframe":"IFrame","unknown":"Objet inconnu"},"flash":{"access":"Accès au script","accessAlways":"Toujours","accessNever":"Jamais","accessSameDomain":"Même domaine","alignAbsBottom":"Bas absolu","alignAbsMiddle":"Milieu absolu","alignBaseline":"Bas du texte","alignTextTop":"Haut du texte","bgcolor":"Couleur de fond","chkFull":"Permettre le plein-écran","chkLoop":"Boucle","chkMenu":"Activer le menu Flash","chkPlay":"Lecture automatique","flashvars":"Variables pour Flash","hSpace":"Espacement horizontal","properties":"Propriétés de l'animation Flash","propertiesTab":"Propriétés","quality":"Qualité","qualityAutoHigh":"Haute auto","qualityAutoLow":"Basse auto","qualityBest":"Meilleur","qualityHigh":"Haute","qualityLow":"Basse","qualityMedium":"Moyenne","scale":"Échelle","scaleAll":"Afficher tout","scaleFit":"Ajuster aux dimensions","scaleNoBorder":"Sans bordure","title":"Propriétés de l'animation Flash","vSpace":"Espacement vertical","validateHSpace":"L'espacement horizontal doit être un entier.","validateSrc":"Veuillez saisir l'URL","validateVSpace":"L'espacement vertical doit être un entier.","windowMode":"Mode de fenêtre","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Fenêtre"},"font":{"fontSize":{"label":"Taille","voiceLabel":"Taille","panelTitle":"Taille"},"label":"Police","panelTitle":"Police","voiceLabel":"Police"},"forms":{"button":{"title":"Propriétés du bouton","text":"Texte (Valeur)","type":"Type","typeBtn":"Bouton","typeSbm":"Soumettre","typeRst":"Réinitialiser"},"checkboxAndRadio":{"checkboxTitle":"Propriétés de la case à cocher","radioTitle":"Propriétés du bouton radio","value":"Valeur","selected":"Sélectionné","required":"Required"},"form":{"title":"Propriétés du formulaire","menu":"Propriétés du formulaire","action":"Action","method":"Méthode","encoding":"Encodage"},"hidden":{"title":"Propriétés du champ caché","name":"Nom","value":"Valeur"},"select":{"title":"Propriétés du champ de sélection","selectInfo":"Info","opAvail":"Options disponibles","value":"Valeur","size":"Taille","lines":"lignes","chkMulti":"Permettre les sélections multiples","required":"Required","opText":"Texte","opValue":"Valeur","btnAdd":"Ajouter","btnModify":"Modifier","btnUp":"Monter","btnDown":"Descendre","btnSetValue":"Valeur sélectionnée","btnDelete":"Supprimer"},"textarea":{"title":"Propriétés de la zone de texte","cols":"Colonnes","rows":"Lignes"},"textfield":{"title":"Propriétés du champ texte","name":"Nom","value":"Valeur","charWidth":"Largeur de caractères","maxChars":"Nombre maximum de caractères","required":"Required","type":"Type","typeText":"Texte","typePass":"Mot de passe","typeEmail":"Courriel","typeSearch":"Recherche","typeTel":"Numéro de téléphone","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Format de paragraphe","tag_address":"Adresse","tag_div":"Normal (DIV)","tag_h1":"En-tête 1","tag_h2":"En-tête 2","tag_h3":"En-tête 3","tag_h4":"En-tête 4","tag_h5":"En-tête 5","tag_h6":"En-tête 6","tag_p":"Normal","tag_pre":"Formaté"},"horizontalrule":{"toolbar":"Insérer un séparateur horizontale"},"iframe":{"border":"Afficher la bordure du cadre","noUrl":"Veuillez entre l'URL du IFrame","scrolling":"Activer les barres de défilement","title":"Propriétés du IFrame","toolbar":"IFrame"},"image":{"alt":"Texte alternatif","border":"Bordure","btnUpload":"Envoyer sur le serveur","button2Img":"Désirez-vous transformer l'image sélectionnée en image simple?","hSpace":"Espacement horizontal","img2Button":"Désirez-vous transformer l'image sélectionnée en bouton image?","infoTab":"Informations sur l'image","linkTab":"Lien","lockRatio":"Verrouiller les proportions","menu":"Propriétés de l'image","resetSize":"Taille originale","title":"Propriétés de l'image","titleButton":"Propriétés du bouton image","upload":"Téléverser","urlMissing":"L'URL de la source de l'image est manquant.","vSpace":"Espacement vertical","validateBorder":"La bordure doit être un entier.","validateHSpace":"L'espacement horizontal doit être un entier.","validateVSpace":"L'espacement vertical doit être un entier."},"indent":{"indent":"Augmenter le retrait","outdent":"Diminuer le retrait"},"smiley":{"options":"Options d'émoticônes","title":"Insérer un émoticône","toolbar":"Émoticône"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Touche d'accessibilité","advanced":"Avancé","advisoryContentType":"Type de contenu","advisoryTitle":"Description","anchor":{"toolbar":"Ancre","menu":"Modifier l'ancre","title":"Propriétés de l'ancre","name":"Nom de l'ancre","errorName":"Veuillez saisir le nom de l'ancre","remove":"Supprimer l'ancre"},"anchorId":"Par ID","anchorName":"Par nom","charset":"Encodage de la cible","cssClasses":"Classes CSS","download":"Force Download","displayText":"Display Text","emailAddress":"Courriel","emailBody":"Corps du message","emailSubject":"Objet du message","id":"ID","info":"Informations sur le lien","langCode":"Code de langue","langDir":"Sens d'écriture","langDirLTR":"De gauche à droite (LTR)","langDirRTL":"De droite à gauche (RTL)","menu":"Modifier le lien","name":"Nom","noAnchors":"(Pas d'ancre disponible dans le document)","noEmail":"Veuillez saisir le courriel","noUrl":"Veuillez saisir l'URL","other":"<autre>","popupDependent":"Dépendante (Netscape)","popupFeatures":"Caractéristiques de la fenêtre popup","popupFullScreen":"Plein écran (IE)","popupLeft":"Position de la gauche","popupLocationBar":"Barre d'adresse","popupMenuBar":"Barre de menu","popupResizable":"Redimensionnable","popupScrollBars":"Barres de défilement","popupStatusBar":"Barre d'état","popupToolbar":"Barre d'outils","popupTop":"Position à partir du haut","rel":"Relation","selectAnchor":"Sélectionner une ancre","styles":"Style","tabIndex":"Ordre de tabulation","target":"Destination","targetFrame":"<Cadre>","targetFrameName":"Nom du cadre de destination","targetPopup":"<fenêtre popup>","targetPopupName":"Nom de la fenêtre popup","title":"Lien","toAnchor":"Ancre dans cette page","toEmail":"Courriel","toUrl":"URL","toolbar":"Lien","type":"Type de lien","unlink":"Supprimer le lien","upload":"Téléverser"},"list":{"bulletedlist":"Liste à puces","numberedlist":"Liste numérotée"},"liststyle":{"armenian":"Numération arménienne","bulletedTitle":"Propriété de liste à puce","circle":"Cercle","decimal":"Décimal (1, 2, 3, etc.)","decimalLeadingZero":"Décimal avec zéro (01, 02, 03, etc.)","disc":"Disque","georgian":"Numération géorgienne (an, ban, gan, etc.)","lowerAlpha":"Alphabétique minuscule (a, b, c, d, e, etc.)","lowerGreek":"Grecque minuscule (alpha, beta, gamma, etc.)","lowerRoman":"Romain minuscule (i, ii, iii, iv, v, etc.)","none":"Aucun","notset":"<non défini>","numberedTitle":"Propriété de la liste numérotée","square":"Carré","start":"Début","type":"Type","upperAlpha":"Alphabétique majuscule (A, B, C, D, E, etc.)","upperRoman":"Romain Majuscule (I, II, III, IV, V, etc.)","validateStartNumber":"Le numéro de début de liste doit être un entier."},"magicline":{"title":"Insérer le paragraphe ici"},"maximize":{"maximize":"Maximizer","minimize":"Minimizer"},"newpage":{"toolbar":"Nouvelle page"},"pagebreak":{"alt":"Saut de page","toolbar":"Insérer un saut de page à l'impression"},"pastetext":{"button":"Coller comme texte","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Coller comme texte"},"pastefromword":{"confirmCleanup":"Le texte que vous tentez de coller semble provenir de Word. Désirez vous le nettoyer avant de coller?","error":"Il n'a pas été possible de nettoyer les données collées du à une erreur interne","title":"Coller de Word","toolbar":"Coller de Word"},"preview":{"preview":"Prévisualiser"},"print":{"toolbar":"Imprimer"},"removeformat":{"toolbar":"Supprimer le formatage"},"save":{"toolbar":"Sauvegarder"},"selectall":{"toolbar":"Sélectionner tout"},"showblocks":{"toolbar":"Afficher les blocs"},"sourcearea":{"toolbar":"Source"},"specialchar":{"options":"Option des caractères spéciaux","title":"Sélectionner un caractère spécial","toolbar":"Insérer un caractère spécial"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Styles","panelTitle":"Styles de formattage","panelTitle1":"Styles de block","panelTitle2":"Styles en ligne","panelTitle3":"Styles d'objet"},"table":{"border":"Taille de la bordure","caption":"Titre","cell":{"menu":"Cellule","insertBefore":"Insérer une cellule avant","insertAfter":"Insérer une cellule après","deleteCell":"Supprimer des cellules","merge":"Fusionner les cellules","mergeRight":"Fusionner à droite","mergeDown":"Fusionner en bas","splitHorizontal":"Scinder la cellule horizontalement","splitVertical":"Scinder la cellule verticalement","title":"Propriétés de la cellule","cellType":"Type de cellule","rowSpan":"Fusion de lignes","colSpan":"Fusion de colonnes","wordWrap":"Retour à la ligne","hAlign":"Alignement horizontal","vAlign":"Alignement vertical","alignBaseline":"Bas du texte","bgColor":"Couleur d'arrière plan","borderColor":"Couleur de bordure","data":"Données","header":"En-tête","yes":"Oui","no":"Non","invalidWidth":"La largeur de cellule doit être un nombre.","invalidHeight":"La hauteur de cellule doit être un nombre.","invalidRowSpan":"La fusion de lignes doit être un nombre entier.","invalidColSpan":"La fusion de colonnes doit être un nombre entier.","chooseColor":"Sélectionner"},"cellPad":"Marge interne des cellules","cellSpace":"Espacement des cellules","column":{"menu":"Colonne","insertBefore":"Insérer une colonne avant","insertAfter":"Insérer une colonne après","deleteColumn":"Supprimer des colonnes"},"columns":"Colonnes","deleteTable":"Supprimer le tableau","headers":"En-têtes","headersBoth":"Les deux.","headersColumn":"Première colonne","headersNone":"Aucun","headersRow":"Première ligne","invalidBorder":"La taille de bordure doit être un nombre.","invalidCellPadding":"La marge interne des cellules doit être un nombre positif.","invalidCellSpacing":"L'espacement des cellules doit être un nombre positif.","invalidCols":"Le nombre de colonnes doit être supérieur à 0.","invalidHeight":"La hauteur du tableau doit être un nombre.","invalidRows":"Le nombre de lignes doit être supérieur à 0.","invalidWidth":"La largeur du tableau doit être un nombre.","menu":"Propriétés du tableau","row":{"menu":"Ligne","insertBefore":"Insérer une ligne avant","insertAfter":"Insérer une ligne après","deleteRow":"Supprimer des lignes"},"rows":"Lignes","summary":"Résumé","title":"Propriétés du tableau","toolbar":"Tableau","widthPc":"pourcentage","widthPx":"pixels","widthUnit":"unité de largeur"},"undo":{"redo":"Refaire","undo":"Annuler"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorer","btnIgnoreAll":"Ignorer tout","btnReplace":"Remplacer","btnReplaceAll":"Remplacer tout","btnUndo":"Annuler","changeTo":"Changer en","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Le Correcteur d'orthographe n'est pas installé. Souhaitez-vous le télécharger maintenant?","manyChanges":"Vérification d'orthographe terminée: %1 mots modifiés","noChanges":"Vérification d'orthographe terminée: Pas de modifications","noMispell":"Vérification d'orthographe terminée: pas d'erreur trouvée","noSuggestions":"- Pas de suggestion -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Pas dans le dictionnaire","oneChange":"Vérification d'orthographe terminée: Un mot modifié","progress":"Vérification d'orthographe en cours...","title":"Spell Checker","toolbar":"Orthographe"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fr-ca.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/et.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/et.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/et.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['et']={"editor":"Rikkalik tekstiredaktor","editorPanel":"Rikkaliku tekstiredaktori paneel","common":{"editorHelp":"Abi saamiseks vajuta ALT 0","browseServer":"Serveri sirvimine","url":"URL","protocol":"Protokoll","upload":"Laadi üles","uploadSubmit":"Saada serverisse","image":"Pilt","flash":"Flash","form":"Vorm","checkbox":"Märkeruut","radio":"Raadionupp","textField":"Tekstilahter","textarea":"Tekstiala","hiddenField":"Varjatud lahter","button":"Nupp","select":"Valiklahter","imageButton":"Piltnupp","notSet":"<määramata>","id":"ID","name":"Nimi","langDir":"Keele suund","langDirLtr":"Vasakult paremale (LTR)","langDirRtl":"Paremalt vasakule (RTL)","langCode":"Keele kood","longDescr":"Pikk kirjeldus URL","cssClass":"Stiilistiku klassid","advisoryTitle":"Soovituslik pealkiri","cssStyle":"Laad","ok":"Olgu","cancel":"Loobu","close":"Sulge","preview":"Eelvaade","resize":"Suuruse muutmiseks lohista","generalTab":"Üldine","advancedTab":"Täpsemalt","validateNumberFailed":"See väärtus pole number.","confirmNewPage":"Kõik salvestamata muudatused lähevad kaotsi. Kas oled kindel, et tahad laadida uue lehe?","confirmCancel":"Mõned valikud on muudetud. Kas oled kindel, et tahad dialoogi sulgeda?","options":"Valikud","target":"Sihtkoht","targetNew":"Uus aken (_blank)","targetTop":"Kõige ülemine aken (_top)","targetSelf":"Sama aken (_self)","targetParent":"Vanemaken (_parent)","langDirLTR":"Vasakult paremale (LTR)","langDirRTL":"Paremalt vasakule (RTL)","styles":"Stiili","cssClasses":"Stiililehe klassid","width":"Laius","height":"Kõrgus","align":"Joondus","left":"Vasak","right":"Paremale","center":"Kesk","justify":"Rööpjoondus","alignLeft":"Vasakjoondus","alignRight":"Paremjoondus","alignCenter":"Align Center","alignTop":"Üles","alignMiddle":"Keskele","alignBottom":"Alla","alignNone":"None","invalidValue":"Vigane väärtus.","invalidHeight":"Kõrgus peab olema number.","invalidWidth":"Laius peab olema number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"\"%1\" välja jaoks määratud väärtus peab olema positiivne täisarv CSS ühikuga (px, %, in, cm, mm, em, ex, pt või pc) või ilma.","invalidHtmlLength":"\"%1\" välja jaoks määratud väärtus peab olema positiivne täisarv HTML ühikuga (px või %) või ilma.","invalidInlineStyle":"Reasisese stiili määrangud peavad koosnema paarisväärtustest (tuples), mis on semikoolonitega eraldatult järgnevas vormingus: \"nimi : väärtus\".","cssLengthTooltip":"Sisesta väärtus pikslites või number koos sobiva CSS-i ühikuga (px, %, in, cm, mm, em, ex, pt või pc).","unavailable":"%1<span class=\"cke_accessibility\">, pole saadaval</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Tühik","35":"End","36":"Home","46":"Kustuta","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Vaikeväärtus"},"about":{"copy":"Copyright &copy; $1. Kõik õigused kaitstud.","dlgTitle":"About CKEditor 4","moreInfo":"Litsentsi andmed leiab meie veebilehelt:"},"basicstyles":{"bold":"Paks","italic":"Kursiiv","strike":"Läbijoonitud","subscript":"Allindeks","superscript":"Ülaindeks","underline":"Allajoonitud"},"bidi":{"ltr":"Teksti suund vasakult paremale","rtl":"Teksti suund paremalt vasakule"},"blockquote":{"toolbar":"Blokktsitaat"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Tööriistariba peitmine","toolbarExpand":"Tööriistariba näitamine","toolbarGroups":{"document":"Dokument","clipboard":"Lõikelaud/tagasivõtmine","editing":"Muutmine","forms":"Vormid","basicstyles":"Põhistiilid","paragraph":"Lõik","links":"Lingid","insert":"Sisesta","styles":"Stiilid","colors":"Värvid","tools":"Tööriistad"},"toolbars":"Redaktori tööriistaribad"},"clipboard":{"copy":"Kopeeri","copyError":"Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt kopeerida. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+C).","cut":"Lõika","cutError":"Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt lõigata. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+X).","paste":"Aseta","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Asetamise ala","pasteMsg":"Paste your content inside the area below and press OK.","title":"Asetamine"},"colorbutton":{"auto":"Automaatne","bgColorTitle":"Tausta värv","colors":{"000":"Must","800000":"Kastanpruun","8B4513":"Sadulapruun","2F4F4F":"Tume paehall","008080":"Sinakasroheline","000080":"Meresinine","4B0082":"Indigosinine","696969":"Tumehall","B22222":"Šamottkivi","A52A2A":"Pruun","DAA520":"Kuldkollane","006400":"Tumeroheline","40E0D0":"Türkiissinine","0000CD":"Keskmine sinine","800080":"Lilla","808080":"Hall","F00":"Punanae","FF8C00":"Tumeoranž","FFD700":"Kuldne","008000":"Roheline","0FF":"Tsüaniidsinine","00F":"Sinine","EE82EE":"Violetne","A9A9A9":"Tuhm hall","FFA07A":"Hele lõhe","FFA500":"Oranž","FFFF00":"Kollane","00FF00":"Lubja hall","AFEEEE":"Kahvatu türkiis","ADD8E6":"Helesinine","DDA0DD":"Ploomililla","D3D3D3":"Helehall","FFF0F5":"Lavendlipunane","FAEBD7":"Antiikvalge","FFFFE0":"Helekollane","F0FFF0":"Meloniroheline","F0FFFF":"Taevasinine","F0F8FF":"Beebisinine","E6E6FA":"Lavendel","FFF":"Valge","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Oraanž","E67E22":"Porgand","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Tume hall"},"more":"Rohkem värve...","panelTitle":"Värvid","textColorTitle":"Teksti värv"},"colordialog":{"clear":"Eemalda","highlight":"Näidis","options":"Värvi valikud","selected":"Valitud värv","title":"Värvi valimine"},"templates":{"button":"Mall","emptyListMsg":"(Ühtegi malli ei ole defineeritud)","insertOption":"Praegune sisu asendatakse","options":"Malli valikud","selectPromptMsg":"Palun vali mall, mis avada redaktoris<br />(praegune sisu läheb kaotsi):","title":"Sisumallid"},"contextmenu":{"options":"Kontekstimenüü valikud"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"Soovitatav pealkiri","cssClassInputLabel":"Stiililehe klassid","edit":"Muuda Div","inlineStyleInputLabel":"Reasisene stiil","langDirLTRLabel":"Vasakult paremale (LTR)","langDirLabel":"Keele suund","langDirRTLLabel":"Paremalt vasakule (RTL)","languageCodeInputLabel":" Keelekood","remove":"Eemalda Div","styleSelectLabel":"Stiil","title":"Div-konteineri loomine","toolbar":"Div-konteineri loomine"},"elementspath":{"eleLabel":"Elementide asukoht","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Otsi","findOptions":"Otsingu valikud","findWhat":"Otsitav:","matchCase":"Suur- ja väiketähtede eristamine","matchCyclic":"Jätkatakse algusest","matchWord":"Ainult terved sõnad","notFoundMsg":"Otsitud teksti ei leitud.","replace":"Asenda","replaceAll":"Asenda kõik","replaceSuccessMsg":"%1 vastet asendati.","replaceWith":"Asendus:","title":"Otsimine ja asendamine"},"fakeobjects":{"anchor":"Ankur","flash":"Flashi animatsioon","hiddenfield":"Varjatud väli","iframe":"IFrame","unknown":"Tundmatu objekt"},"flash":{"access":"Skriptide ligipääs","accessAlways":"Kõigile","accessNever":"Mitte ühelegi","accessSameDomain":"Samalt domeenilt","alignAbsBottom":"Abs alla","alignAbsMiddle":"Abs keskele","alignBaseline":"Baasjoonele","alignTextTop":"Tekstist üles","bgcolor":"Tausta värv","chkFull":"Täisekraan lubatud","chkLoop":"Korduv","chkMenu":"Flashi menüü lubatud","chkPlay":"Automaatne start ","flashvars":"Flashi muutujad","hSpace":"H. vaheruum","properties":"Flashi omadused","propertiesTab":"Omadused","quality":"Kvaliteet","qualityAutoHigh":"Automaatne kõrge","qualityAutoLow":"Automaatne madal","qualityBest":"Parim","qualityHigh":"Kõrge","qualityLow":"Madal","qualityMedium":"Keskmine","scale":"Mastaap","scaleAll":"Näidatakse kõike","scaleFit":"Täpne sobivus","scaleNoBorder":"Äärist ei ole","title":"Flashi omadused","vSpace":"V. vaheruum","validateHSpace":"H. vaheruum peab olema number.","validateSrc":"Palun kirjuta lingi URL","validateVSpace":"V. vaheruum peab olema number.","windowMode":"Akna režiim","windowModeOpaque":"Läbipaistmatu","windowModeTransparent":"Läbipaistev","windowModeWindow":"Aken"},"font":{"fontSize":{"label":"Suurus","voiceLabel":"Kirja suurus","panelTitle":"Suurus"},"label":"Kiri","panelTitle":"Kiri","voiceLabel":"Kiri"},"forms":{"button":{"title":"Nupu omadused","text":"Tekst (väärtus)","type":"Liik","typeBtn":"Nupp","typeSbm":"Saada","typeRst":"Lähtesta"},"checkboxAndRadio":{"checkboxTitle":"Märkeruudu omadused","radioTitle":"Raadionupu omadused","value":"Väärtus","selected":"Märgitud","required":"Nõutud"},"form":{"title":"Vormi omadused","menu":"Vormi omadused","action":"Toiming","method":"Meetod","encoding":"Kodeering"},"hidden":{"title":"Varjatud lahtri omadused","name":"Nimi","value":"Väärtus"},"select":{"title":"Valiklahtri omadused","selectInfo":"Info","opAvail":"Võimalikud valikud:","value":"Väärtus","size":"Suurus","lines":"ridu","chkMulti":"Võimalik mitu valikut","required":"Required","opText":"Tekst","opValue":"Väärtus","btnAdd":"Lisa","btnModify":"Muuda","btnUp":"Üles","btnDown":"Alla","btnSetValue":"Määra vaikimisi","btnDelete":"Kustuta"},"textarea":{"title":"Tekstiala omadused","cols":"Veerge","rows":"Ridu"},"textfield":{"title":"Tekstilahtri omadused","name":"Nimi","value":"Väärtus","charWidth":"Laius (tähemärkides)","maxChars":"Maksimaalselt tähemärke","required":"õutud","type":"Liik","typeText":"Tekst","typePass":"Parool","typeEmail":"E-mail","typeSearch":"Otsi","typeTel":"Telefon","typeUrl":"URL"}},"format":{"label":"Vorming","panelTitle":"Vorming","tag_address":"Aadress","tag_div":"Tavaline (DIV)","tag_h1":"Pealkiri 1","tag_h2":"Pealkiri 2","tag_h3":"Pealkiri 3","tag_h4":"Pealkiri 4","tag_h5":"Pealkiri 5","tag_h6":"Pealkiri 6","tag_p":"Tavaline","tag_pre":"Vormindatud"},"horizontalrule":{"toolbar":"Horisontaaljoone sisestamine"},"iframe":{"border":"Raami äärise näitamine","noUrl":"Vali iframe URLi liik","scrolling":"Kerimisribade lubamine","title":"IFrame omadused","toolbar":"IFrame"},"image":{"alt":"Alternatiivne tekst","border":"Joon","btnUpload":"Saada serverisse","button2Img":"Kas tahad teisendada valitud pildiga nupu tavaliseks pildiks?","hSpace":"H. vaheruum","img2Button":"Kas tahad teisendada valitud tavalise pildi pildiga nupuks?","infoTab":"Pildi info","linkTab":"Link","lockRatio":"Lukusta kuvasuhe","menu":"Pildi omadused","resetSize":"Lähtesta suurus","title":"Pildi omadused","titleButton":"Piltnupu omadused","upload":"Lae üles","urlMissing":"Pildi lähte-URL on puudu.","vSpace":"V. vaheruum","validateBorder":"Äärise laius peab olema täisarv.","validateHSpace":"Horisontaalne vaheruum peab olema täisarv.","validateVSpace":"Vertikaalne vaheruum peab olema täisarv."},"indent":{"indent":"Taande suurendamine","outdent":"Taande vähendamine"},"smiley":{"options":"Emotikonide valikud","title":"Sisesta emotikon","toolbar":"Emotikon"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Juurdepääsu võti","advanced":"Täpsemalt","advisoryContentType":"Juhendava sisu tüüp","advisoryTitle":"Juhendav tiitel","anchor":{"toolbar":"Ankru sisestamine/muutmine","menu":"Ankru omadused","title":"Ankru omadused","name":"Ankru nimi","errorName":"Palun sisesta ankru nimi","remove":"Eemalda ankur"},"anchorId":"Elemendi id järgi","anchorName":"Ankru nime järgi","charset":"Lingitud ressursi märgistik","cssClasses":"Stiilistiku klassid","download":"Force Download","displayText":"Display Text","emailAddress":"E-posti aadress","emailBody":"Sõnumi tekst","emailSubject":"Sõnumi teema","id":"ID","info":"Lingi info","langCode":"Keele suund","langDir":"Keele suund","langDirLTR":"Vasakult paremale (LTR)","langDirRTL":"Paremalt vasakule (RTL)","menu":"Muuda linki","name":"Nimi","noAnchors":"(Selles dokumendis pole ankruid)","noEmail":"Palun kirjuta e-posti aadress","noUrl":"Palun kirjuta lingi URL","other":"<muu>","popupDependent":"Sõltuv (Netscape)","popupFeatures":"Hüpikakna omadused","popupFullScreen":"Täisekraan (IE)","popupLeft":"Vasak asukoht","popupLocationBar":"Aadressiriba","popupMenuBar":"Menüüriba","popupResizable":"Suurust saab muuta","popupScrollBars":"Kerimisribad","popupStatusBar":"Olekuriba","popupToolbar":"Tööriistariba","popupTop":"Ülemine asukoht","rel":"Suhe","selectAnchor":"Vali ankur","styles":"Laad","tabIndex":"Tab indeks","target":"Sihtkoht","targetFrame":"<raam>","targetFrameName":"Sihtmärk raami nimi","targetPopup":"<hüpikaken>","targetPopupName":"Hüpikakna nimi","title":"Link","toAnchor":"Ankur sellel lehel","toEmail":"E-post","toUrl":"URL","toolbar":"Lingi lisamine/muutmine","type":"Lingi liik","unlink":"Lingi eemaldamine","upload":"Lae üles"},"list":{"bulletedlist":"Punktloend","numberedlist":"Numberloend"},"liststyle":{"armenian":"Armeenia numbrid","bulletedTitle":"Punktloendi omadused","circle":"Ring","decimal":"Numbrid (1, 2, 3, jne)","decimalLeadingZero":"Numbrid algusnulliga (01, 02, 03, jne)","disc":"Täpp","georgian":"Gruusia numbrid (an, ban, gan, jne)","lowerAlpha":"Väiketähed (a, b, c, d, e, jne)","lowerGreek":"Kreeka väiketähed (alpha, beta, gamma, jne)","lowerRoman":"Väiksed rooma numbrid (i, ii, iii, iv, v, jne)","none":"Puudub","notset":"<pole määratud>","numberedTitle":"Numberloendi omadused","square":"Ruut","start":"Algus","type":"Liik","upperAlpha":"Suurtähed (A, B, C, D, E, jne)","upperRoman":"Suured rooma numbrid (I, II, III, IV, V, jne)","validateStartNumber":"Loendi algusnumber peab olema täisarv."},"magicline":{"title":"Sisesta siia lõigu tekst"},"maximize":{"maximize":"Maksimeerimine","minimize":"Minimeerimine"},"newpage":{"toolbar":"Uus leht"},"pagebreak":{"alt":"Lehevahetuskoht","toolbar":"Lehevahetuskoha sisestamine"},"pastetext":{"button":"Asetamine tavalise tekstina","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Asetamine tavalise tekstina"},"pastefromword":{"confirmCleanup":"Tekst, mida tahad asetada näib pärinevat Wordist. Kas tahad selle enne asetamist puhastada?","error":"Asetatud andmete puhastamine ei olnud sisemise vea tõttu võimalik","title":"Asetamine Wordist","toolbar":"Asetamine Wordist"},"preview":{"preview":"Eelvaade"},"print":{"toolbar":"Printimine"},"removeformat":{"toolbar":"Vormingu eemaldamine"},"save":{"toolbar":"Salvestamine"},"selectall":{"toolbar":"Kõige valimine"},"showblocks":{"toolbar":"Blokkide näitamine"},"sourcearea":{"toolbar":"Lähtekood"},"specialchar":{"options":"Erimärkide valikud","title":"Erimärgi valimine","toolbar":"Erimärgi sisestamine"},"scayt":{"btn_about":"SCAYT-ist lähemalt","btn_dictionaries":"Sõnaraamatud","btn_disable":"SCAYT keelatud","btn_enable":"SCAYT lubatud","btn_langs":"Keeled","btn_options":"Valikud","text_title":"Õigekirjakontroll kirjutamise ajal"},"stylescombo":{"label":"Stiil","panelTitle":"Vormindusstiilid","panelTitle1":"Blokkstiilid","panelTitle2":"Reasisesed stiilid","panelTitle3":"Objektistiilid"},"table":{"border":"Joone suurus","caption":"Tabeli tiitel","cell":{"menu":"Lahter","insertBefore":"Sisesta lahter enne","insertAfter":"Sisesta lahter peale","deleteCell":"Eemalda lahtrid","merge":"Ühenda lahtrid","mergeRight":"Ühenda paremale","mergeDown":"Ühenda alla","splitHorizontal":"Poolita lahter horisontaalselt","splitVertical":"Poolita lahter vertikaalselt","title":"Lahtri omadused","cellType":"Lahtri liik","rowSpan":"Ridade vahe","colSpan":"Tulpade vahe","wordWrap":"Sõnade murdmine","hAlign":"Horisontaalne joondus","vAlign":"Vertikaalne joondus","alignBaseline":"Baasjoon","bgColor":"Tausta värv","borderColor":"Äärise värv","data":"Andmed","header":"Päis","yes":"Jah","no":"Ei","invalidWidth":"Lahtri laius peab olema number.","invalidHeight":"Lahtri kõrgus peab olema number.","invalidRowSpan":"Ridade vahe peab olema täisarv.","invalidColSpan":"Tulpade vahe peab olema täisarv.","chooseColor":"Vali"},"cellPad":"Lahtri täidis","cellSpace":"Lahtri vahe","column":{"menu":"Veerg","insertBefore":"Sisesta veerg enne","insertAfter":"Sisesta veerg peale","deleteColumn":"Eemalda veerud"},"columns":"Veerud","deleteTable":"Kustuta tabel","headers":"Päised","headersBoth":"Mõlemad","headersColumn":"Esimene tulp","headersNone":"Puudub","headersRow":"Esimene rida","invalidBorder":"Äärise suurus peab olema number.","invalidCellPadding":"Lahtrite polsterdus (padding) peab olema positiivne arv.","invalidCellSpacing":"Lahtrite vahe peab olema positiivne arv.","invalidCols":"Tulpade arv peab olema nullist suurem.","invalidHeight":"Tabeli kõrgus peab olema number.","invalidRows":"Ridade arv peab olema nullist suurem.","invalidWidth":"Tabeli laius peab olema number.","menu":"Tabeli omadused","row":{"menu":"Rida","insertBefore":"Sisesta rida enne","insertAfter":"Sisesta rida peale","deleteRow":"Eemalda read"},"rows":"Read","summary":"Kokkuvõte","title":"Tabeli omadused","toolbar":"Tabel","widthPc":"protsenti","widthPx":"pikslit","widthUnit":"laiuse ühik"},"undo":{"redo":"Toimingu kordamine","undo":"Tagasivõtmine"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignoreeri","btnIgnoreAll":"Ignoreeri kõiki","btnReplace":"Asenda","btnReplaceAll":"Asenda kõik","btnUndo":"Võta tagasi","changeTo":"Muuda","errorLoading":"Viga rakenduse teenushosti laadimisel: %s.","ieSpellDownload":"Õigekirja kontrollija ei ole paigaldatud. Soovid sa selle alla laadida?","manyChanges":"Õigekirja kontroll sooritatud: %1 sõna muudetud","noChanges":"Õigekirja kontroll sooritatud: ühtegi sõna ei muudetud","noMispell":"Õigekirja kontroll sooritatud: õigekirjuvigu ei leitud","noSuggestions":"- Soovitused puuduvad -","notAvailable":"Kahjuks ei ole teenus praegu saadaval.","notInDic":"Puudub sõnastikust","oneChange":"Õigekirja kontroll sooritatud: üks sõna muudeti","progress":"Toimub õigekirja kontroll...","title":"Õigekirjakontroll","toolbar":"Õigekirjakontroll"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/et.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/it.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/it.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/it.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['it']={"editor":"Rich Text Editor","editorPanel":"Pannello Rich Text Editor","common":{"editorHelp":"Premi ALT 0 per aiuto","browseServer":"Cerca sul server","url":"URL","protocol":"Protocollo","upload":"Carica","uploadSubmit":"Invia al server","image":"Immagine","flash":"Oggetto Flash","form":"Modulo","checkbox":"Checkbox","radio":"Radio Button","textField":"Campo di testo","textarea":"Area di testo","hiddenField":"Campo nascosto","button":"Bottone","select":"Menu di selezione","imageButton":"Bottone immagine","notSet":"<non impostato>","id":"Id","name":"Nome","langDir":"Direzione scrittura","langDirLtr":"Da Sinistra a Destra (LTR)","langDirRtl":"Da Destra a Sinistra (RTL)","langCode":"Codice Lingua","longDescr":"URL descrizione estesa","cssClass":"Nome classe CSS","advisoryTitle":"Titolo","cssStyle":"Stile","ok":"OK","cancel":"Annulla","close":"Chiudi","preview":"Anteprima","resize":"Trascina per ridimensionare","generalTab":"Generale","advancedTab":"Avanzate","validateNumberFailed":"Il valore inserito non è un numero.","confirmNewPage":"Ogni modifica non salvata sarà persa. Sei sicuro di voler caricare una nuova pagina?","confirmCancel":"Alcune delle opzioni sono state cambiate. Sei sicuro di voler chiudere la finestra di dialogo?","options":"Opzioni","target":"Destinazione","targetNew":"Nuova finestra (_blank)","targetTop":"Finestra in primo piano (_top)","targetSelf":"Stessa finestra (_self)","targetParent":"Finestra Padre (_parent)","langDirLTR":"Da sinistra a destra (LTR)","langDirRTL":"Da destra a sinistra (RTL)","styles":"Stile","cssClasses":"Classi di stile","width":"Larghezza","height":"Altezza","align":"Allineamento","left":"Sinistra","right":"Destra","center":"Centrato","justify":"Giustifica","alignLeft":"Allinea a sinistra","alignRight":"Allinea a destra","alignCenter":"Allinea al centro","alignTop":"In Alto","alignMiddle":"Centrato","alignBottom":"In Basso","alignNone":"Nessuno","invalidValue":"Valore non valido.","invalidHeight":"L'altezza dev'essere un numero","invalidWidth":"La Larghezza dev'essere un numero","invalidLength":"Il valore specificato per il campo \"%1\" deve essere un numero positivo con o senza un'unità di misura valida (%2).","invalidCssLength":"Il valore indicato per il campo \"%1\" deve essere un numero positivo con o senza indicazione di una valida unità di misura per le classi CSS (px, %, in, cm, mm, em, ex, pt, o pc).","invalidHtmlLength":"Il valore indicato per il campo \"%1\" deve essere un numero positivo con o senza indicazione di una valida unità di misura per le pagine HTML (px o %).","invalidInlineStyle":"Il valore specificato per lo stile inline deve consistere in una o più tuple con il formato di \"name : value\", separati da semicolonne.","cssLengthTooltip":"Inserisci un numero per il valore in pixel oppure un numero con una valida unità CSS (px, %, in, cm, mm, ex, pt, o pc).","unavailable":"%1<span class=\"cke_accessibility\">, non disponibile</span>","keyboard":{"8":"Backspace","13":"Invio","16":"Maiusc","17":"Ctrl","18":"Alt","32":"Spazio","35":"Fine","36":"Inizio","46":"Canc","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Comando"},"keyboardShortcut":"Scorciatoia da tastiera","optionDefault":"Predefinito"},"about":{"copy":"Copyright &copy; $1. Tutti i diritti riservati.","dlgTitle":"Informazioni su CKEditor 4","moreInfo":"Per le informazioni sulla licenza si prega di visitare il nostro sito:"},"basicstyles":{"bold":"Grassetto","italic":"Corsivo","strike":"Barrato","subscript":"Pedice","superscript":"Apice","underline":"Sottolineato"},"bidi":{"ltr":"Direzione del testo da sinistra verso destra","rtl":"Direzione del testo da destra verso sinistra"},"blockquote":{"toolbar":"Citazione"},"notification":{"closed":"Notifica chiusa."},"button":{"selectedLabel":"%1 (selezionato)"},"toolbar":{"toolbarCollapse":"Minimizza Toolbar","toolbarExpand":"Espandi Toolbar","toolbarGroups":{"document":"Documento","clipboard":"Copia negli appunti/Annulla","editing":"Modifica","forms":"Form","basicstyles":"Stili di base","paragraph":"Paragrafo","links":"Link","insert":"Inserisci","styles":"Stili","colors":"Colori","tools":"Strumenti"},"toolbars":"Editor toolbar"},"clipboard":{"copy":"Copia","copyError":"Le impostazioni di sicurezza del browser non permettono di copiare automaticamente il testo. Usa la tastiera (Ctrl/Cmd+C).","cut":"Taglia","cutError":"Le impostazioni di sicurezza del browser non permettono di tagliare automaticamente il testo. Usa la tastiera (Ctrl/Cmd+X).","paste":"Incolla","pasteNotification":"Premere %1 per incollare. Il tuo browser non permette di incollare tramite il pulsante della barra degli strumenti o tramite la voce del menu contestuale.","pasteArea":"Area dove incollare","pasteMsg":"Incollare il proprio contenuto all'interno dell'area sottostante e premere OK.","title":"Incolla"},"colorbutton":{"auto":"Automatico","bgColorTitle":"Colore sfondo","colors":{"000":"Nero","800000":"Marrone Castagna","8B4513":"Marrone Cuoio","2F4F4F":"Grigio Fumo di Londra","008080":"Acquamarina","000080":"Blu Oceano","4B0082":"Indigo","696969":"Grigio Scuro","B22222":"Giallo Fiamma","A52A2A":"Marrone","DAA520":"Giallo Mimosa","006400":"Verde Scuro","40E0D0":"Turchese","0000CD":"Blue Scuro","800080":"Viola","808080":"Grigio","F00":"Rosso","FF8C00":"Arancio Scuro","FFD700":"Oro","008000":"Verde","0FF":"Ciano","00F":"Blu","EE82EE":"Violetto","A9A9A9":"Grigio Scuro","FFA07A":"Salmone","FFA500":"Arancio","FFFF00":"Giallo","00FF00":"Lime","AFEEEE":"Turchese Chiaro","ADD8E6":"Blu Chiaro","DDA0DD":"Rosso Ciliegia","D3D3D3":"Grigio Chiaro","FFF0F5":"Lavanda Chiara","FAEBD7":"Bianco Antico","FFFFE0":"Giallo Chiaro","F0FFF0":"Verde Mela","F0FFFF":"Azzurro","F0F8FF":"Celeste","E6E6FA":"Lavanda","FFF":"Bianco","1ABC9C":"Ciano intenso","2ECC71":"Smeraldo","3498DB":"Blu luminoso","9B59B6":"Ametista","4E5F70":"Blu grigiastro","F1C40F":"Giallo vivido","16A085":"Ciano scuro","27AE60":"Smeraldo scuro","2980B9":"Blu intenso","8E44AD":"Viola scuro","2C3E50":"Blu desaturato","F39C12":"Arancio","E67E22":"Carota","E74C3C":"Rosso pallido","ECF0F1":"Argento luminoso","95A5A6":"Ciano grigiastro chiaro","DDD":"Grigio chiaro","D35400":"Zucca","C0392B":"Rosso intenso","BDC3C7":"Argento","7F8C8D":"Ciano grigiastro","999":"Grigio scuro"},"more":"Altri colori...","panelTitle":"Colori","textColorTitle":"Colore testo"},"colordialog":{"clear":"cancella","highlight":"Evidenzia","options":"Opzioni colore","selected":"Seleziona il colore","title":"Selezionare il colore"},"templates":{"button":"Modelli","emptyListMsg":"(Nessun modello definito)","insertOption":"Cancella il contenuto corrente","options":"Opzioni del Modello","selectPromptMsg":"Seleziona il modello da aprire nell'editor","title":"Contenuto dei modelli"},"contextmenu":{"options":"Opzioni del menù contestuale"},"copyformatting":{"label":"Copia formattazione","notification":{"copied":"Formattazione copiata","applied":"Formattazione applicata","canceled":"Formattazione annullata","failed":"Formattazione fallita. Non è possibile applicare stili senza averli prima copiati."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Titolo Avviso","cssClassInputLabel":"Classi di stile","edit":"Modifica DIV","inlineStyleInputLabel":"Stile Inline","langDirLTRLabel":"Da sinistra a destra (LTR)","langDirLabel":"Direzione di scrittura","langDirRTLLabel":"Da destra a sinistra (RTL)","languageCodeInputLabel":"Codice lingua","remove":"Rimuovi DIV","styleSelectLabel":"Stile","title":"Crea DIV contenitore","toolbar":"Crea DIV contenitore"},"elementspath":{"eleLabel":"Percorso degli elementi","eleTitle":"%1 elemento"},"filetools":{"loadError":"Si è verificato un errore durante la lettura del file.","networkError":"Si è verificato un errore di rete durante il caricamento del file.","httpError404":"Si è verificato un errore HTTP durante il caricamento del file (404: file non trovato).","httpError403":"Si è verificato un errore HTTP durante il caricamento del file (403: accesso negato).","httpError":"Si è verificato un errore HTTP durante il caricamento del file (stato dell'errore: %1).","noUrlError":"L'URL per il caricamento non è stato definito.","responseError":"La risposta del server non è corretta."},"find":{"find":"Trova","findOptions":"Opzioni di ricerca","findWhat":"Trova:","matchCase":"Maiuscole/minuscole","matchCyclic":"Ricerca ciclica","matchWord":"Solo parole intere","notFoundMsg":"L'elemento cercato non è stato trovato.","replace":"Sostituisci","replaceAll":"Sostituisci tutto","replaceSuccessMsg":"%1 occorrenza(e) sostituite.","replaceWith":"Sostituisci con:","title":"Cerca e Sostituisci"},"fakeobjects":{"anchor":"Ancora","flash":"Animazione Flash","hiddenfield":"Campo Nascosto","iframe":"IFrame","unknown":"Oggetto sconosciuto"},"flash":{"access":"Accesso Script","accessAlways":"Sempre","accessNever":"Mai","accessSameDomain":"Solo stesso dominio","alignAbsBottom":"In basso assoluto","alignAbsMiddle":"Centrato assoluto","alignBaseline":"Linea base","alignTextTop":"In alto al testo","bgcolor":"Colore sfondo","chkFull":"Permetti la modalità tutto schermo","chkLoop":"Riavvio automatico","chkMenu":"Abilita Menu di Flash","chkPlay":"Avvio Automatico","flashvars":"Variabili per Flash","hSpace":"HSpace","properties":"Proprietà Oggetto Flash","propertiesTab":"Proprietà","quality":"Qualità","qualityAutoHigh":"Alta Automatica","qualityAutoLow":"Bassa Automatica","qualityBest":"Massima","qualityHigh":"Alta","qualityLow":"Bassa","qualityMedium":"Intermedia","scale":"Ridimensiona","scaleAll":"Mostra Tutto","scaleFit":"Dimensione Esatta","scaleNoBorder":"Senza Bordo","title":"Proprietà Oggetto Flash","vSpace":"VSpace","validateHSpace":"L'HSpace dev'essere un numero.","validateSrc":"Devi inserire l'URL del collegamento","validateVSpace":"Il VSpace dev'essere un numero.","windowMode":"Modalità finestra","windowModeOpaque":"Opaca","windowModeTransparent":"Trasparente","windowModeWindow":"Finestra"},"font":{"fontSize":{"label":"Dimensione","voiceLabel":"Dimensione Carattere","panelTitle":"Dimensione"},"label":"Carattere","panelTitle":"Carattere","voiceLabel":"Carattere"},"forms":{"button":{"title":"Proprietà bottone","text":"Testo (Valore)","type":"Tipo","typeBtn":"Bottone","typeSbm":"Invio","typeRst":"Annulla"},"checkboxAndRadio":{"checkboxTitle":"Proprietà checkbox","radioTitle":"Proprietà radio button","value":"Valore","selected":"Selezionato","required":"Richiesto"},"form":{"title":"Proprietà modulo","menu":"Proprietà modulo","action":"Azione","method":"Metodo","encoding":"Codifica"},"hidden":{"title":"Proprietà campo nascosto","name":"Nome","value":"Valore"},"select":{"title":"Proprietà menu di selezione","selectInfo":"Info","opAvail":"Opzioni disponibili","value":"Valore","size":"Dimensione","lines":"righe","chkMulti":"Permetti selezione multipla","required":"Richiesto","opText":"Testo","opValue":"Valore","btnAdd":"Aggiungi","btnModify":"Modifica","btnUp":"Su","btnDown":"Gi","btnSetValue":"Imposta come predefinito","btnDelete":"Rimuovi"},"textarea":{"title":"Proprietà area di testo","cols":"Colonne","rows":"Righe"},"textfield":{"title":"Proprietà campo di testo","name":"Nome","value":"Valore","charWidth":"Larghezza","maxChars":"Numero massimo di caratteri","required":"Richiesto","type":"Tipo","typeText":"Testo","typePass":"Password","typeEmail":"Email","typeSearch":"Cerca","typeTel":"Numero di telefono","typeUrl":"URL"}},"format":{"label":"Formato","panelTitle":"Formato","tag_address":"Indirizzo","tag_div":"Paragrafo (DIV)","tag_h1":"Titolo 1","tag_h2":"Titolo 2","tag_h3":"Titolo 3","tag_h4":"Titolo 4","tag_h5":"Titolo 5","tag_h6":"Titolo 6","tag_p":"Normale","tag_pre":"Formattato"},"horizontalrule":{"toolbar":"Inserisci riga orizzontale"},"iframe":{"border":"Mostra il bordo","noUrl":"Inserire l'URL del campo IFrame","scrolling":"Abilita scrollbar","title":"Proprietà IFrame","toolbar":"IFrame"},"image":{"alt":"Testo alternativo","border":"Bordo","btnUpload":"Invia al server","button2Img":"Vuoi trasformare il bottone immagine selezionato in un'immagine semplice?","hSpace":"HSpace","img2Button":"Vuoi trasferomare l'immagine selezionata in un bottone immagine?","infoTab":"Informazioni immagine","linkTab":"Collegamento","lockRatio":"Blocca rapporto","menu":"Proprietà immagine","resetSize":"Reimposta dimensione","title":"Proprietà immagine","titleButton":"Proprietà bottone immagine","upload":"Carica","urlMissing":"Manca l'URL dell'immagine.","vSpace":"VSpace","validateBorder":"Il campo Bordo deve essere un numero intero.","validateHSpace":"Il campo HSpace deve essere un numero intero.","validateVSpace":"Il campo VSpace deve essere un numero intero."},"indent":{"indent":"Aumenta rientro","outdent":"Riduci rientro"},"smiley":{"options":"Opzioni Smiley","title":"Inserisci emoticon","toolbar":"Emoticon"},"language":{"button":"Imposta lingua","remove":"Rimuovi lingua"},"link":{"acccessKey":"Scorciatoia da tastiera","advanced":"Avanzate","advisoryContentType":"Tipo della risorsa collegata","advisoryTitle":"Titolo","anchor":{"toolbar":"Inserisci/Modifica Ancora","menu":"Proprietà ancora","title":"Proprietà ancora","name":"Nome ancora","errorName":"Inserici il nome dell'ancora","remove":"Rimuovi l'ancora"},"anchorId":"Per id elemento","anchorName":"Per Nome","charset":"Set di caretteri della risorsa collegata","cssClasses":"Nome classe CSS","download":"Forza scaricamento","displayText":"Mostra testo","emailAddress":"Indirizzo E-Mail","emailBody":"Corpo del messaggio","emailSubject":"Oggetto del messaggio","id":"Id","info":"Informazioni collegamento","langCode":"Direzione scrittura","langDir":"Direzione scrittura","langDirLTR":"Da Sinistra a Destra (LTR)","langDirRTL":"Da Destra a Sinistra (RTL)","menu":"Modifica collegamento","name":"Nome","noAnchors":"(Nessuna ancora disponibile nel documento)","noEmail":"Devi inserire un'indirizzo e-mail","noUrl":"Devi inserire l'URL del collegamento","other":"<altro>","popupDependent":"Dipendente (Netscape)","popupFeatures":"Caratteristiche finestra popup","popupFullScreen":"A tutto schermo (IE)","popupLeft":"Posizione da sinistra","popupLocationBar":"Barra degli indirizzi","popupMenuBar":"Barra del menu","popupResizable":"Ridimensionabile","popupScrollBars":"Barre di scorrimento","popupStatusBar":"Barra di stato","popupToolbar":"Barra degli strumenti","popupTop":"Posizione dall'alto","rel":"Relazioni","selectAnchor":"Scegli Ancora","styles":"Stile","tabIndex":"Ordine di tabulazione","target":"Destinazione","targetFrame":"<riquadro>","targetFrameName":"Nome del riquadro di destinazione","targetPopup":"<finestra popup>","targetPopupName":"Nome finestra popup","title":"Collegamento","toAnchor":"Ancora nel testo","toEmail":"E-Mail","toUrl":"URL","toolbar":"Collegamento","type":"Tipo di Collegamento","unlink":"Elimina collegamento","upload":"Carica"},"list":{"bulletedlist":"Inserisci/Rimuovi Elenco Puntato","numberedlist":"Inserisci/Rimuovi Elenco Numerato"},"liststyle":{"armenian":"Numerazione Armena","bulletedTitle":"Proprietà liste puntate","circle":"Cerchio","decimal":"Decimale (1, 2, 3, ecc.)","decimalLeadingZero":"Decimale preceduto da 0 (01, 02, 03, ecc.)","disc":"Disco","georgian":"Numerazione Georgiana (an, ban, gan, ecc.)","lowerAlpha":"Alfabetico minuscolo (a, b, c, d, e, ecc.)","lowerGreek":"Greco minuscolo (alpha, beta, gamma, ecc.)","lowerRoman":"Numerazione Romana minuscola (i, ii, iii, iv, v, ecc.)","none":"Nessuno","notset":"<non impostato>","numberedTitle":"Proprietà liste numerate","square":"Quadrato","start":"Inizio","type":"Tipo","upperAlpha":"Alfabetico maiuscolo (A, B, C, D, E, ecc.)","upperRoman":"Numerazione Romana maiuscola (I, II, III, IV, V, ecc.)","validateStartNumber":"Il numero di inizio di una lista numerata deve essere un numero intero."},"magicline":{"title":"Inserisci paragrafo qui"},"maximize":{"maximize":"Massimizza","minimize":"Minimizza"},"newpage":{"toolbar":"Nuova pagina"},"pagebreak":{"alt":"Interruzione di pagina","toolbar":"Inserisci interruzione di pagina per la stampa"},"pastetext":{"button":"Incolla come testo semplice","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Incolla come testo semplice"},"pastefromword":{"confirmCleanup":"Il testo da incollare sembra provenire da Word. Desideri pulirlo prima di incollare?","error":"Non è stato possibile eliminare il testo incollato a causa di un errore interno.","title":"Incolla da Word","toolbar":"Incolla da Word"},"preview":{"preview":"Anteprima"},"print":{"toolbar":"Stampa"},"removeformat":{"toolbar":"Elimina formattazione"},"save":{"toolbar":"Salva"},"selectall":{"toolbar":"Seleziona tutto"},"showblocks":{"toolbar":"Visualizza Blocchi"},"sourcearea":{"toolbar":"Sorgente"},"specialchar":{"options":"Opzioni carattere speciale","title":"Seleziona carattere speciale","toolbar":"Inserisci carattere speciale"},"scayt":{"btn_about":"About COMS","btn_dictionaries":"Dizionari","btn_disable":"Disabilita COMS","btn_enable":"Abilita COMS","btn_langs":"Lingue","btn_options":"Opzioni","text_title":"Controllo Ortografico Mentre Scrivi"},"stylescombo":{"label":"Stili","panelTitle":"Stili di formattazione","panelTitle1":"Stili per blocchi","panelTitle2":"Stili in linea","panelTitle3":"Stili per oggetti"},"table":{"border":"Dimensione bordo","caption":"Intestazione","cell":{"menu":"Cella","insertBefore":"Inserisci Cella Prima","insertAfter":"Inserisci Cella Dopo","deleteCell":"Elimina celle","merge":"Unisce celle","mergeRight":"Unisci a Destra","mergeDown":"Unisci in Basso","splitHorizontal":"Dividi Cella Orizzontalmente","splitVertical":"Dividi Cella Verticalmente","title":"Proprietà della cella","cellType":"Tipo di cella","rowSpan":"Su più righe","colSpan":"Su più colonne","wordWrap":"Ritorno a capo","hAlign":"Allineamento orizzontale","vAlign":"Allineamento verticale","alignBaseline":"Linea Base","bgColor":"Colore di Sfondo","borderColor":"Colore del Bordo","data":"Dati","header":"Intestazione","yes":"Si","no":"No","invalidWidth":"La larghezza della cella dev'essere un numero.","invalidHeight":"L'altezza della cella dev'essere un numero.","invalidRowSpan":"Il numero di righe dev'essere un numero intero.","invalidColSpan":"Il numero di colonne dev'essere un numero intero.","chooseColor":"Scegli"},"cellPad":"Padding celle","cellSpace":"Spaziatura celle","column":{"menu":"Colonna","insertBefore":"Inserisci Colonna Prima","insertAfter":"Inserisci Colonna Dopo","deleteColumn":"Elimina colonne"},"columns":"Colonne","deleteTable":"Cancella Tabella","headers":"Intestazione","headersBoth":"Entrambe","headersColumn":"Prima Colonna","headersNone":"Nessuna","headersRow":"Prima Riga","invalidBorder":"La dimensione del bordo dev'essere un numero.","invalidCellPadding":"Il paging delle celle dev'essere un numero","invalidCellSpacing":"La spaziatura tra le celle dev'essere un numero.","invalidCols":"Il numero di colonne dev'essere un numero maggiore di 0.","invalidHeight":"L'altezza della tabella dev'essere un numero.","invalidRows":"Il numero di righe dev'essere un numero maggiore di 0.","invalidWidth":"La larghezza della tabella dev'essere un numero.","menu":"Proprietà tabella","row":{"menu":"Riga","insertBefore":"Inserisci Riga Prima","insertAfter":"Inserisci Riga Dopo","deleteRow":"Elimina righe"},"rows":"Righe","summary":"Indice","title":"Proprietà tabella","toolbar":"Tabella","widthPc":"percento","widthPx":"pixel","widthUnit":"unità larghezza"},"undo":{"redo":"Ripristina","undo":"Annulla"},"widget":{"move":"Fare clic e trascinare per spostare","label":"Widget %1"},"uploadwidget":{"abort":"Caricamento interrotto dall'utente.","doneOne":"Il file è stato caricato correttamente.","doneMany":"%1 file sono stati caricati correttamente.","uploadOne":"Caricamento del file ({percentage}%)...","uploadMany":"Caricamento dei file, {current} di {max} completati ({percentage}%)..."},"wsc":{"btnIgnore":"Ignora","btnIgnoreAll":"Ignora tutto","btnReplace":"Cambia","btnReplaceAll":"Cambia tutto","btnUndo":"Annulla","changeTo":"Cambia in","errorLoading":"Errore nel caricamento dell'host col servizio applicativo: %s.","ieSpellDownload":"Contollo ortografico non installato. Lo vuoi scaricare ora?","manyChanges":"Controllo ortografico completato: %1 parole cambiate","noChanges":"Controllo ortografico completato: nessuna parola cambiata","noMispell":"Controllo ortografico completato: nessun errore trovato","noSuggestions":"- Nessun suggerimento -","notAvailable":"Il servizio non è momentaneamente disponibile.","notInDic":"Non nel dizionario","oneChange":"Controllo ortografico completato: 1 parola cambiata","progress":"Controllo ortografico in corso","title":"Controllo ortografico","toolbar":"Correttore ortografico"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/it.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/id.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/id.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/id.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['id']={"editor":"Rich Text Editor","editorPanel":"Panel Rich Text Editor","common":{"editorHelp":"Tekan ALT 0 untuk bantuan.","browseServer":"Jelajah Server","url":"URL","protocol":"Protokol","upload":"Unggah","uploadSubmit":"Kirim ke Server","image":"Gambar","flash":"Flash","form":"Formulir","checkbox":"Kotak Cek","radio":"Tombol Radio","textField":"Kolom Teks","textarea":"Area Teks","hiddenField":"Kolom Tersembunyi","button":"Tombol","select":"Kolom Seleksi","imageButton":"Tombol Gambar","notSet":"<tidak diatur>","id":"Id","name":"Nama","langDir":"Arah Bahasa","langDirLtr":"Kiri ke Kanan (LTR)","langDirRtl":"Kanan ke Kiri","langCode":"Kode Bahasa","longDescr":"Deskripsi URL Panjang","cssClass":"Kelas Stylesheet","advisoryTitle":"Penasehat Judul","cssStyle":"Gaya","ok":"OK","cancel":"Batal","close":"Tutup","preview":"Pratinjau","resize":"Ubah ukuran","generalTab":"Umum","advancedTab":"Lebih Lanjut","validateNumberFailed":"Nilai ini tidak sebuah angka","confirmNewPage":"Semua perubahan yang tidak disimpan di konten ini akan hilang. Apakah anda yakin ingin memuat halaman baru?","confirmCancel":"Beberapa opsi telah berubah. Apakah anda yakin ingin menutup dialog?","options":"Opsi","target":"Sasaran","targetNew":"Jendela Baru (_blank)","targetTop":"Laman Atas (_top)","targetSelf":"Jendela yang Sama (_self)","targetParent":"Jendela Induk (_parent)","langDirLTR":"Kiri ke Kanan (LTR)","langDirRTL":"Kanan ke Kiri (RTL)","styles":"Gaya","cssClasses":"Kelas Stylesheet","width":"Lebar","height":"Tinggi","align":"Penjajaran","left":"Kiri","right":"Kanan","center":"Tengah","justify":"Rata kiri-kanan","alignLeft":"Align Left","alignRight":"Align Right","alignCenter":"Align Center","alignTop":"Atas","alignMiddle":"Tengah","alignBottom":"Bawah","alignNone":"Tidak ada","invalidValue":"Nilai tidak sah.","invalidHeight":"Tinggi harus sebuah angka.","invalidWidth":"Lebar harus sebuah angka.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Nilai untuk \"%1\" harus sebuah angkat positif dengan atau tanpa pengukuran unit CSS yang sah (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Nilai yang dispesifikasian untuk kolom \"%1\" harus sebuah angka positif dengan atau tanpa sebuah unit pengukuran HTML (px atau %) yang valid.","invalidInlineStyle":"Nilai pada inline style merupakan pasangan nama dan nilai dengan format \"nama : nilai\", yang dipisahkan dengan titik dua.","cssLengthTooltip":"Masukkan sebuah angka untuk sebuah nilai dalam pixel atau sebuah angka dengan unit CSS yang sah (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, tidak tersedia</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Spasi","35":"End","36":"Home","46":"Hapus","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Pintasan Keyboard","optionDefault":"Default"},"about":{"copy":"Hak cipta &copy; $1. All rights reserved.","dlgTitle":"Tentang CKEditor 4","moreInfo":"Untuk informasi lisensi silahkan kunjungi web site kami:"},"basicstyles":{"bold":"Huruf Tebal","italic":"Huruf Miring","strike":"Strikethrough","subscript":"Subscript","superscript":"Superscript","underline":"Garis Bawah"},"bidi":{"ltr":"Arah penulisan dari kiri ke kanan.","rtl":"Arah penulisan dari kanan ke kiri."},"blockquote":{"toolbar":"Kutipan Blok"},"notification":{"closed":"Pemberitahuan ditutup"},"button":{"selectedLabel":"%1(Dipilih)"},"toolbar":{"toolbarCollapse":"Ciutkan Toolbar","toolbarExpand":"Bentangkan Toolbar","toolbarGroups":{"document":"Dokumen","clipboard":"Papan klip / Kembalikan perlakuan","editing":"Sunting","forms":"Formulir","basicstyles":"Gaya Dasar","paragraph":"Paragraf","links":"Tautan","insert":"Sisip","styles":"Gaya","colors":"Warna","tools":"Alat"},"toolbars":"Toolbar Penyunting"},"clipboard":{"copy":"Salin","copyError":"Pengaturan keamanan peramban anda tidak mengizinkan editor untuk mengeksekusi operasi menyalin secara otomatis. Mohon gunakan papan tuts (Ctrl/Cmd+C)","cut":"Potong","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Tempel","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Area Tempel","pasteMsg":"Paste your content inside the area below and press OK.","title":"Tempel"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Warna Latar Belakang","colors":{"000":"Hitam","800000":"Merah Tua","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Abu-abu Gelap","B22222":"Merah Bata","A52A2A":"Coklat","DAA520":"Golden Rod","006400":"Hijau Gelap","40E0D0":"Turquoise","0000CD":"Biru Sedang","800080":"Ungu","808080":"Abu-abu","F00":"Merah","FF8C00":"Jingga Gelap","FFD700":"Emas","008000":"Hijau","0FF":"Cyan","00F":"Biru","EE82EE":"Violet","A9A9A9":"Abu-abu Redup","FFA07A":"Salmon Cerah","FFA500":"Jingga","FFFF00":"Kuning","00FF00":"Jeruk Lemon","AFEEEE":"Biru Hijau Pucat","ADD8E6":"Biru Cerah","DDA0DD":"Plum","D3D3D3":"Abu-abu Cerah","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Kuning Cerah","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"Putih","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Warna lainnya...","panelTitle":"Warna","textColorTitle":"Warna Teks"},"colordialog":{"clear":"Hapus","highlight":"Sorot","options":"Pilihan Warna","selected":"Warna Dipilih","title":"Pilih Warna"},"templates":{"button":"Contoh","emptyListMsg":"(Tidak ada contoh didefinisikan)","insertOption":"Ganti konten sebenarnya","options":"Opsi Contoh","selectPromptMsg":"Mohon pilih contoh untuk dibuka di editor","title":"Contoh Konten"},"contextmenu":{"options":"Opsi Konteks Pilihan"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Penasehat Judul","cssClassInputLabel":"Kelas Stylesheet","edit":"Sunting Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Kiri ke Kanan (LTR)","langDirLabel":"Arah Bahasa","langDirRTLLabel":"Kanan ke Kiri (RTL)","languageCodeInputLabel":"Kode Bahasa","remove":"Hapus Div","styleSelectLabel":"Gaya","title":"Ciptakan Wadah Div","toolbar":"Cipatakan Wadah Div"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error terjadi ketika berkas dibaca","networkError":"Jaringan error terjadi ketika mengunggah berkas","httpError404":"HTTP error terjadi ketika mengunggah berkas (404: Berkas tidak ditemukan)","httpError403":"HTTP error terjadi ketika mengunggah berkas (403: Gangguan)","httpError":"HTTP error terjadi ketika mengunggah berkas (status error: %1)","noUrlError":"Unggahan URL tidak terdefinisi","responseError":"Respon server tidak sesuai"},"find":{"find":"Temukan","findOptions":"Opsi menemukan","findWhat":"Temukan apa:","matchCase":"Match case","matchCyclic":"Match cyclic","matchWord":"Match whole word","notFoundMsg":"Teks yang dipilih tidak ditemukan","replace":"Ganti","replaceAll":"Ganti Semua","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Ganti dengan:","title":"Temukan dan Ganti"},"fakeobjects":{"anchor":"Anchor","flash":"Animasi Flash","hiddenfield":"Kolom Tersembunyi","iframe":"IFrame","unknown":"Obyek Tak Dikenal"},"flash":{"access":"Script Access","accessAlways":"Selalu","accessNever":"Tidak Pernah","accessSameDomain":"Domain yang sama","alignAbsBottom":"Abs Bottom","alignAbsMiddle":"Abs Middle","alignBaseline":"Dasar","alignTextTop":"Text Top","bgcolor":"Warna Latar Belakang","chkFull":"Izinkan Layar Penuh","chkLoop":"Loop","chkMenu":"Enable Flash Menu","chkPlay":"Mainkan Otomatis","flashvars":"Variables for Flash","hSpace":"HSpace","properties":"Flash Properties","propertiesTab":"Properti","quality":"Kualitas","qualityAutoHigh":"Tinggi Otomatis","qualityAutoLow":"Rendah Otomatis","qualityBest":"Terbaik","qualityHigh":"Tinggi","qualityLow":"Rendah","qualityMedium":"Sedang","scale":"Scale","scaleAll":"Perlihatkan semua","scaleFit":"Exact Fit","scaleNoBorder":"Tanpa Batas","title":"Flash Properties","vSpace":"VSpace","validateHSpace":"HSpace harus sebuah angka","validateSrc":"URL tidak boleh kosong","validateVSpace":"VSpace harus sebuah angka","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparan","windowModeWindow":"Jendela"},"font":{"fontSize":{"label":"Ukuran","voiceLabel":"Ukuran Huruf","panelTitle":"Ukuran Huruf"},"label":"Huruf","panelTitle":"Font Name","voiceLabel":"Huruf"},"forms":{"button":{"title":"Properti Tombol","text":"Teks (Nilai)","type":"Tipe","typeBtn":"Tombol","typeSbm":"Menyerahkan","typeRst":"Atur Ulang"},"checkboxAndRadio":{"checkboxTitle":"Checkbox Properties","radioTitle":"Radio Button Properties","value":"Nilai","selected":"Terpilih","required":"Wajib"},"form":{"title":"Form Properties","menu":"Form Properties","action":"Aksi","method":"Metode","encoding":"Encoding"},"hidden":{"title":"Hidden Field Properties","name":"Nama","value":"Nilai"},"select":{"title":"Selection Field Properties","selectInfo":"Select Info","opAvail":"Available Options","value":"Nilai","size":"Ukuran","lines":"garis","chkMulti":"Izinkan pemilihan ganda","required":"Wajib","opText":"Teks","opValue":"Nilai","btnAdd":"Tambah","btnModify":"Modifikasi","btnUp":"Atas","btnDown":"Bawah","btnSetValue":"Atur sebagai nilai yang dipilih","btnDelete":"Hapus"},"textarea":{"title":"Textarea Properties","cols":"Kolom","rows":"Baris"},"textfield":{"title":"Text Field Properties","name":"Name","value":"Nilai","charWidth":"Character Width","maxChars":"Maximum Characters","required":"Wajib","type":"Tipe","typeText":"Teks","typePass":"Kata kunci","typeEmail":"Surel","typeSearch":"Cari","typeTel":"Nomor Telepon","typeUrl":"URL"}},"format":{"label":"Bentuk","panelTitle":"Bentuk Paragraf","tag_address":"Alamat","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Membentuk"},"horizontalrule":{"toolbar":"Sisip Garis Horisontal"},"iframe":{"border":"Tampilkan Batas Bingkai","noUrl":"Please type the iframe URL","scrolling":"Aktifkan Scrollbar","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Teks alternatif","border":"Batas","btnUpload":"Kirim ke Server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"HSpace","img2Button":"Apakah anda ingin mengubah gambar yang dipilih pada tombol gambar?","infoTab":"Info Gambar","linkTab":"Tautan","lockRatio":"Lock Ratio","menu":"Image Properties","resetSize":"Atur Ulang Ukuran","title":"Image Properties","titleButton":"Image Button Properties","upload":"Unggah","urlMissing":"Image source URL is missing.","vSpace":"VSpace","validateBorder":"Border harus berupa angka","validateHSpace":"HSpace harus berupa angka","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Tingkatkan Lekuk","outdent":"Kurangi Lekuk"},"smiley":{"options":"Opsi Smiley","title":"Sisip sebuah Smiley","toolbar":"Smiley"},"language":{"button":"Atur Bahasa","remove":"Hapus Bahasa"},"link":{"acccessKey":"Access Key","advanced":"Advanced","advisoryContentType":"Advisory Content Type","advisoryTitle":"Penasehat Judul","anchor":{"toolbar":"Anchor","menu":"Edit Anchor","title":"Anchor Properties","name":"Anchor Name","errorName":"Please type the anchor name","remove":"Remove Anchor"},"anchorId":"By Element Id","anchorName":"By Anchor Name","charset":"Linked Resource Charset","cssClasses":"Kelas Stylesheet","download":"Force Download","displayText":"Display Text","emailAddress":"Alamat E-mail","emailBody":"Message Body","emailSubject":"Judul Pesan","id":"Id","info":"Link Info","langCode":"Kode Bahasa","langDir":"Arah Bahasa","langDirLTR":"Kiri ke Kanan (LTR)","langDirRTL":"Kanan ke Kiri (RTL)","menu":"Sunting Tautan","name":"Nama","noAnchors":"(No anchors available in the document)","noEmail":"Silahkan ketikkan alamat e-mail","noUrl":"Silahkan ketik URL tautan","other":"<lainnya>","popupDependent":"Dependent (Netscape)","popupFeatures":"Popup Window Features","popupFullScreen":"Full Screen (IE)","popupLeft":"Left Position","popupLocationBar":"Location Bar","popupMenuBar":"Menu Bar","popupResizable":"Resizable","popupScrollBars":"Scroll Bars","popupStatusBar":"Status Bar","popupToolbar":"Toolbar","popupTop":"Top Position","rel":"Hubungan","selectAnchor":"Select an Anchor","styles":"Gaya","tabIndex":"Tab Index","target":"Sasaran","targetFrame":"<frame>","targetFrameName":"Target Frame Name","targetPopup":"<popup window>","targetPopupName":"Popup Window Name","title":"Tautan","toAnchor":"Link to anchor in the text","toEmail":"E-mail","toUrl":"URL","toolbar":"Tautan","type":"Link Type","unlink":"Unlink","upload":"Unggah"},"list":{"bulletedlist":"Sisip/Hapus Daftar Bullet","numberedlist":"Sisip/Hapus Daftar Bernomor"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Lingkaran","decimal":"Desimal (1, 2, 3, dst.)","decimalLeadingZero":"Desimal diawali angka nol (01, 02, 03, dst.)","disc":"Cakram","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Huruf Kecil (a, b, c, d, e, dst.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Angka Romawi (i, ii, iii, iv, v, dst.)","none":"Tidak ada","notset":"<tidak diatur>","numberedTitle":"Numbered List Properties","square":"Persegi","start":"Mulai","type":"Tipe","upperAlpha":"Huruf Besar (A, B, C, D, E, dst.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Masukkan paragraf disini"},"maximize":{"maximize":"Memperbesar","minimize":"Memperkecil"},"newpage":{"toolbar":"Halaman Baru"},"pagebreak":{"alt":"Halaman Istirahat","toolbar":"Sisip Halaman Istirahat untuk Pencetakan "},"pastetext":{"button":"Tempel sebagai teks polos","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Tempel sebagai Teks Polos"},"pastefromword":{"confirmCleanup":"Teks yang ingin anda tempel sepertinya di salin dari Word. Apakah anda mau membersihkannya sebelum menempel?","error":"Tidak mungkin membersihkan data yang ditempel dikerenakan kesalahan internal","title":"Tempel dari Word","toolbar":"Tempel dari Word"},"preview":{"preview":"Pratinjau"},"print":{"toolbar":"Cetak"},"removeformat":{"toolbar":"Hapus Format"},"save":{"toolbar":"Simpan"},"selectall":{"toolbar":"Pilih Semua"},"showblocks":{"toolbar":"Perlihatkan Blok"},"sourcearea":{"toolbar":"Sumber"},"specialchar":{"options":"Opsi spesial karakter","title":"Pilih spesial karakter","toolbar":"Sisipkan spesial karakter"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Gaya","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Ukuran batas","caption":"Judul halaman","cell":{"menu":"Sel","insertBefore":"Sisip Sel Sebelum","insertAfter":"Sisip Sel Setelah","deleteCell":"Hapus Sel","merge":"Gabungkan Sel","mergeRight":"Gabungkan ke Kanan","mergeDown":"Gabungkan ke Bawah","splitHorizontal":"Pisahkan Sel Secara Horisontal","splitVertical":"Pisahkan Sel Secara Vertikal","title":"Properti Sel","cellType":"Tipe Sel","rowSpan":"Rentang antar baris","colSpan":"Rentang antar kolom","wordWrap":"Word Wrap","hAlign":"Jajaran Horisontal","vAlign":"Jajaran Vertikal","alignBaseline":"Dasar","bgColor":"Warna Latar Belakang","borderColor":"Warna Batasan","data":"Data","header":"Header","yes":"Ya","no":"Tidak","invalidWidth":"Lebar sel harus sebuah angka.","invalidHeight":"Tinggi sel harus sebuah angka","invalidRowSpan":"Rentang antar baris harus angka seluruhnya.","invalidColSpan":"Rentang antar kolom harus angka seluruhnya","chooseColor":"Pilih"},"cellPad":"Sel spasi dalam","cellSpace":"Spasi antar sel","column":{"menu":"Kolom","insertBefore":"Sisip Kolom Sebelum","insertAfter":"Sisip Kolom Sesudah","deleteColumn":"Hapus Kolom"},"columns":"Kolom","deleteTable":"Hapus Tabel","headers":"Headers","headersBoth":"Keduanya","headersColumn":"Kolom pertama","headersNone":"Tidak ada","headersRow":"Baris Pertama","invalidBorder":"Ukuran batasan harus sebuah angka","invalidCellPadding":"'Spasi dalam' sel harus angka positif.","invalidCellSpacing":"Spasi antar sel harus angka positif.","invalidCols":"Jumlah kolom harus sebuah angka lebih besar dari 0","invalidHeight":"Tinggi tabel harus sebuah angka.","invalidRows":"Jumlah barus harus sebuah angka dan lebih besar dari 0.","invalidWidth":"Lebar tabel harus sebuah angka.","menu":"Properti Tabel","row":{"menu":"Baris","insertBefore":"Sisip Baris Sebelum","insertAfter":"Sisip Baris Sesudah","deleteRow":"Hapus Baris"},"rows":"Baris","summary":"Intisari","title":"Properti Tabel","toolbar":"Tabe","widthPc":"persen","widthPx":"piksel","widthUnit":"lebar satuan"},"undo":{"redo":"Kembali lakukan","undo":"Batalkan perlakuan"},"widget":{"move":"Tekan dan geser untuk memindahkan","label":"%1 widget"},"uploadwidget":{"abort":"Pengunggahan dibatalkan oleh pengguna","doneOne":"Berkas telah berhasil diunggah","doneMany":"Pengunggahan berkas %1 berhasil","uploadOne":"Mengunggah berkas ({percentage}%)...","uploadMany":"Pengunggahan berkas {current} dari {max} berhasil ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/id.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/es.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/es.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/es.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['es']={"editor":"Editor de texto enriquecido","editorPanel":"Panel del Editor de Texto Enriquecido","common":{"editorHelp":"Pulse ALT 0 para ayuda","browseServer":"Ver Servidor","url":"URL","protocol":"Protocolo","upload":"Cargar","uploadSubmit":"Enviar al Servidor","image":"Imagen","flash":"Flash","form":"Formulario","checkbox":"Casilla de Verificación","radio":"Botones de Radio","textField":"Campo de Texto","textarea":"Area de Texto","hiddenField":"Campo Oculto","button":"Botón","select":"Campo de Selección","imageButton":"Botón Imagen","notSet":"<No definido>","id":"Id","name":"Nombre","langDir":"Orientación","langDirLtr":"Izquierda a Derecha (LTR)","langDirRtl":"Derecha a Izquierda (RTL)","langCode":"Cód. de idioma","longDescr":"Descripción larga URL","cssClass":"Clases de hojas de estilo","advisoryTitle":"Título","cssStyle":"Estilo","ok":"Aceptar","cancel":"Cancelar","close":"Cerrar","preview":"Previsualización","resize":"Arrastre para redimensionar","generalTab":"General","advancedTab":"Avanzado","validateNumberFailed":"El valor no es un número.","confirmNewPage":"Cualquier cambio que no se haya guardado se perderá.\r\n¿Está seguro de querer crear una nueva página?","confirmCancel":"Algunas de las opciones se han cambiado.\r\n¿Está seguro de querer cerrar el diálogo?","options":"Opciones","target":"Destino","targetNew":"Nueva ventana (_blank)","targetTop":"Ventana principal (_top)","targetSelf":"Misma ventana (_self)","targetParent":"Ventana padre (_parent)","langDirLTR":"Izquierda a derecha (LTR)","langDirRTL":"Derecha a izquierda (RTL)","styles":"Estilos","cssClasses":"Clase de la hoja de estilos","width":"Anchura","height":"Altura","align":"Alineación","left":"Izquierda","right":"Derecha","center":"Centrado","justify":"Justificado","alignLeft":"Alinear a Izquierda","alignRight":"Alinear a Derecha","alignCenter":"Align Center","alignTop":"Tope","alignMiddle":"Centro","alignBottom":"Pie","alignNone":"Ninguno","invalidValue":"Valor no válido","invalidHeight":"Altura debe ser un número.","invalidWidth":"Anchura debe ser un número.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"El valor especificado para el campo \"%1\" debe ser un número positivo, incluyendo optionalmente una unidad de medida CSS válida (px, %, in, cm, mm, em, ex, pt, o pc).","invalidHtmlLength":"El valor especificado para el campo \"%1\" debe ser un número positivo, incluyendo optionalmente una unidad de medida HTML válida (px o %).","invalidInlineStyle":"El valor especificado para el estilo debe consistir en uno o más pares con el formato \"nombre: valor\", separados por punto y coma.","cssLengthTooltip":"Introduca un número para el valor en pixels o un número con una unidad de medida CSS válida (px, %, in, cm, mm, em, ex, pt, o pc).","unavailable":"%1<span class=\"cke_accessibility\">, no disponible</span>","keyboard":{"8":"Retroceso","13":"Ingresar","16":"Mayús.","17":"Ctrl","18":"Alt","32":"Space","35":"Fin","36":"Inicio","46":"Suprimir","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Todos los derechos reservados.","dlgTitle":"Acerca de CKEditor 4","moreInfo":"Para información de licencia, por favor visite nuestro sitio web:"},"basicstyles":{"bold":"Negrita","italic":"Cursiva","strike":"Tachado","subscript":"Subíndice","superscript":"Superíndice","underline":"Subrayado"},"bidi":{"ltr":"Dirección del texto de izquierda a derecha","rtl":"Dirección del texto de derecha a izquierda"},"blockquote":{"toolbar":"Cita"},"notification":{"closed":"Notificación cerrada."},"button":{"selectedLabel":"%1 (Seleccionado)"},"toolbar":{"toolbarCollapse":"Contraer barra de herramientas","toolbarExpand":"Expandir barra de herramientas","toolbarGroups":{"document":"Documento","clipboard":"Portapapeles/Deshacer","editing":"Edición","forms":"Formularios","basicstyles":"Estilos básicos","paragraph":"Párrafo","links":"Enlaces","insert":"Insertar","styles":"Estilos","colors":"Colores","tools":"Herramientas"},"toolbars":"Barras de herramientas del editor"},"clipboard":{"copy":"Copiar","copyError":"La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de copiado.\r\nPor favor use el teclado (Ctrl/Cmd+C).","cut":"Cortar","cutError":"La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de cortado.\r\nPor favor use el teclado (Ctrl/Cmd+X).","paste":"Pegar","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Zona de pegado","pasteMsg":"Paste your content inside the area below and press OK.","title":"Pegar"},"colorbutton":{"auto":"Automático","bgColorTitle":"Color de Fondo","colors":{"000":"Negro","800000":"Marrón oscuro","8B4513":"Marrón tierra","2F4F4F":"Pizarra Oscuro","008080":"Azul verdoso","000080":"Azul marino","4B0082":"Añil","696969":"Gris oscuro","B22222":"Ladrillo","A52A2A":"Marrón","DAA520":"Oro oscuro","006400":"Verde oscuro","40E0D0":"Turquesa","0000CD":"Azul medio-oscuro","800080":"Púrpura","808080":"Gris","F00":"Rojo","FF8C00":"Naranja oscuro","FFD700":"Oro","008000":"Verde","0FF":"Cian","00F":"Azul","EE82EE":"Violeta","A9A9A9":"Gris medio","FFA07A":"Salmón claro","FFA500":"Naranja","FFFF00":"Amarillo","00FF00":"Lima","AFEEEE":"Turquesa claro","ADD8E6":"Azul claro","DDA0DD":"Violeta claro","D3D3D3":"Gris claro","FFF0F5":"Lavanda rojizo","FAEBD7":"Blanco antiguo","FFFFE0":"Amarillo claro","F0FFF0":"Miel","F0FFFF":"Azul celeste","F0F8FF":"Azul pálido","E6E6FA":"Lavanda","FFF":"Blanco","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Más Colores...","panelTitle":"Colores","textColorTitle":"Color de Texto"},"colordialog":{"clear":"Borrar","highlight":"Muestra","options":"Opciones de colores","selected":"Elegido","title":"Elegir color"},"templates":{"button":"Plantillas","emptyListMsg":"(No hay plantillas definidas)","insertOption":"Reemplazar el contenido actual","options":"Opciones de plantillas","selectPromptMsg":"Por favor selecciona la plantilla a abrir en el editor<br>(el contenido actual se perderá):","title":"Contenido de Plantillas"},"contextmenu":{"options":"Opciones del menú contextual"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Título","cssClassInputLabel":"Clase de hoja de estilos","edit":"Editar Div","inlineStyleInputLabel":"Estilo","langDirLTRLabel":"Izquierda a Derecha (LTR)","langDirLabel":"Orientación","langDirRTLLabel":"Derecha a Izquierda (RTL)","languageCodeInputLabel":" Codigo de idioma","remove":"Quitar Div","styleSelectLabel":"Estilo","title":"Crear contenedor DIV","toolbar":"Crear contenedor DIV"},"elementspath":{"eleLabel":"Ruta de los elementos","eleTitle":"%1 elemento"},"filetools":{"loadError":"Ha ocurrido un error durante la lectura del archivo.","networkError":"Error de red ocurrido durante carga de archivo.","httpError404":"Un error HTTP ha ocurrido durante la carga del archivo (404: Archivo no encontrado).","httpError403":"Un error HTTP ha ocurrido durante la carga del archivo (403: Prohibido).","httpError":"Error HTTP ocurrido durante la carga del archivo (Estado del error: %1).","noUrlError":"URL cargada no está definida.","responseError":"Respueta del servidor incorrecta."},"find":{"find":"Buscar","findOptions":"Opciones de búsqueda","findWhat":"Texto a buscar:","matchCase":"Coincidir may/min","matchCyclic":"Buscar en todo el contenido","matchWord":"Coincidir toda la palabra","notFoundMsg":"El texto especificado no ha sido encontrado.","replace":"Reemplazar","replaceAll":"Reemplazar Todo","replaceSuccessMsg":"La expresión buscada ha sido reemplazada %1 veces.","replaceWith":"Reemplazar con:","title":"Buscar y Reemplazar"},"fakeobjects":{"anchor":"Ancla","flash":"Animación flash","hiddenfield":"Campo oculto","iframe":"IFrame","unknown":"Objeto desconocido"},"flash":{"access":"Acceso de scripts","accessAlways":"Siempre","accessNever":"Nunca","accessSameDomain":"Mismo dominio","alignAbsBottom":"Abs inferior","alignAbsMiddle":"Abs centro","alignBaseline":"Línea de base","alignTextTop":"Tope del texto","bgcolor":"Color de Fondo","chkFull":"Permitir pantalla completa","chkLoop":"Repetir","chkMenu":"Activar Menú Flash","chkPlay":"Autoejecución","flashvars":"Opciones","hSpace":"Esp.Horiz","properties":"Propiedades de Flash","propertiesTab":"Propiedades","quality":"Calidad","qualityAutoHigh":"Auto Alta","qualityAutoLow":"Auto Baja","qualityBest":"La mejor","qualityHigh":"Alta","qualityLow":"Baja","qualityMedium":"Media","scale":"Escala","scaleAll":"Mostrar todo","scaleFit":"Ajustado","scaleNoBorder":"Sin Borde","title":"Propiedades de Flash","vSpace":"Esp.Vert","validateHSpace":"Esp.Horiz debe ser un número.","validateSrc":"Por favor escriba el vínculo URL","validateVSpace":"Esp.Vert debe ser un número.","windowMode":"WindowMode","windowModeOpaque":"Opaco","windowModeTransparent":"Transparente","windowModeWindow":"Ventana"},"font":{"fontSize":{"label":"Tamaño","voiceLabel":"Tamaño de fuente","panelTitle":"Tamaño"},"label":"Fuente","panelTitle":"Fuente","voiceLabel":"Fuente"},"forms":{"button":{"title":"Propiedades de Botón","text":"Texto (Valor)","type":"Tipo","typeBtn":"Boton","typeSbm":"Enviar","typeRst":"Reestablecer"},"checkboxAndRadio":{"checkboxTitle":"Propiedades de Casilla","radioTitle":"Propiedades de Botón de Radio","value":"Valor","selected":"Seleccionado","required":"Requerido"},"form":{"title":"Propiedades de Formulario","menu":"Propiedades de Formulario","action":"Acción","method":"Método","encoding":"Codificación"},"hidden":{"title":"Propiedades de Campo Oculto","name":"Nombre","value":"Valor"},"select":{"title":"Propiedades de Campo de Selección","selectInfo":"Información","opAvail":"Opciones disponibles","value":"Valor","size":"Tamaño","lines":"Lineas","chkMulti":"Permitir múltiple selección","required":"Requerido","opText":"Texto","opValue":"Valor","btnAdd":"Agregar","btnModify":"Modificar","btnUp":"Subir","btnDown":"Bajar","btnSetValue":"Establecer como predeterminado","btnDelete":"Eliminar"},"textarea":{"title":"Propiedades de Area de Texto","cols":"Columnas","rows":"Filas"},"textfield":{"title":"Propiedades de Campo de Texto","name":"Nombre","value":"Valor","charWidth":"Caracteres de ancho","maxChars":"Máximo caracteres","required":"Requerido","type":"Tipo","typeText":"Texto","typePass":"Contraseña","typeEmail":"Correo electrónico","typeSearch":"Buscar","typeTel":"Número de teléfono","typeUrl":"URL"}},"format":{"label":"Formato","panelTitle":"Formato","tag_address":"Dirección","tag_div":"Normal (DIV)","tag_h1":"Encabezado 1","tag_h2":"Encabezado 2","tag_h3":"Encabezado 3","tag_h4":"Encabezado 4","tag_h5":"Encabezado 5","tag_h6":"Encabezado 6","tag_p":"Normal","tag_pre":"Con formato"},"horizontalrule":{"toolbar":"Insertar Línea Horizontal"},"iframe":{"border":"Mostrar borde del marco","noUrl":"Por favor, escriba la dirección del iframe","scrolling":"Activar barras de desplazamiento","title":"Propiedades de iframe","toolbar":"IFrame"},"image":{"alt":"Texto Alternativo","border":"Borde","btnUpload":"Enviar al Servidor","button2Img":"¿Desea convertir el botón de imagen en una simple imagen?","hSpace":"Esp.Horiz","img2Button":"¿Desea convertir la imagen en un botón de imagen?","infoTab":"Información de Imagen","linkTab":"Vínculo","lockRatio":"Proporcional","menu":"Propiedades de Imagen","resetSize":"Tamaño Original","title":"Propiedades de Imagen","titleButton":"Propiedades de Botón de Imagen","upload":"Cargar","urlMissing":"Debe indicar la URL de la imagen.","vSpace":"Esp.Vert","validateBorder":"El borde debe ser un número.","validateHSpace":"El espaciado horizontal debe ser un número.","validateVSpace":"El espaciado vertical debe ser un número."},"indent":{"indent":"Aumentar Sangría","outdent":"Disminuir Sangría"},"smiley":{"options":"Opciones de emoticonos","title":"Insertar un Emoticon","toolbar":"Emoticonos"},"language":{"button":"Fijar lenguaje","remove":"Quitar lenguaje"},"link":{"acccessKey":"Tecla de Acceso","advanced":"Avanzado","advisoryContentType":"Tipo de Contenido","advisoryTitle":"Título","anchor":{"toolbar":"Referencia","menu":"Propiedades de Referencia","title":"Propiedades de Referencia","name":"Nombre de la Referencia","errorName":"Por favor, complete el nombre de la Referencia","remove":"Quitar Referencia"},"anchorId":"Por ID de elemento","anchorName":"Por Nombre de Referencia","charset":"Fuente de caracteres vinculado","cssClasses":"Clases de hojas de estilo","download":"Force Download","displayText":"Display Text","emailAddress":"Dirección de E-Mail","emailBody":"Cuerpo del Mensaje","emailSubject":"Título del Mensaje","id":"Id","info":"Información de Vínculo","langCode":"Código idioma","langDir":"Orientación","langDirLTR":"Izquierda a Derecha (LTR)","langDirRTL":"Derecha a Izquierda (RTL)","menu":"Editar Vínculo","name":"Nombre","noAnchors":"(No hay referencias disponibles en el documento)","noEmail":"Por favor escriba la dirección de e-mail","noUrl":"Por favor escriba el vínculo URL","other":"<otro>","popupDependent":"Dependiente (Netscape)","popupFeatures":"Características de Ventana Emergente","popupFullScreen":"Pantalla Completa (IE)","popupLeft":"Posición Izquierda","popupLocationBar":"Barra de ubicación","popupMenuBar":"Barra de Menú","popupResizable":"Redimensionable","popupScrollBars":"Barras de desplazamiento","popupStatusBar":"Barra de Estado","popupToolbar":"Barra de Herramientas","popupTop":"Posición Derecha","rel":"Relación","selectAnchor":"Seleccionar una referencia","styles":"Estilo","tabIndex":"Indice de tabulación","target":"Destino","targetFrame":"<marco>","targetFrameName":"Nombre del Marco Destino","targetPopup":"<ventana emergente>","targetPopupName":"Nombre de Ventana Emergente","title":"Vínculo","toAnchor":"Referencia en esta página","toEmail":"E-Mail","toUrl":"URL","toolbar":"Insertar/Editar Vínculo","type":"Tipo de vínculo","unlink":"Eliminar Vínculo","upload":"Cargar"},"list":{"bulletedlist":"Viñetas","numberedlist":"Numeración"},"liststyle":{"armenian":"Numeración armenia","bulletedTitle":"Propiedades de viñetas","circle":"Círculo","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal con cero inicial (01, 02, 03, etc.)","disc":"Disco","georgian":"Numeración georgiana (an, ban, gan, etc.)","lowerAlpha":"Alfabeto en minúsculas (a, b, c, d, e, etc.)","lowerGreek":"Letras griegas (alpha, beta, gamma, etc.)","lowerRoman":"Números romanos en minúsculas (i, ii, iii, iv, v, etc.)","none":"Ninguno","notset":"<sin establecer>","numberedTitle":"Propiedades de lista numerada","square":"Cuadrado","start":"Inicio","type":"Tipo","upperAlpha":"Alfabeto en mayúsculas (A, B, C, D, E, etc.)","upperRoman":"Números romanos en mayúsculas (I, II, III, IV, V, etc.)","validateStartNumber":"El Inicio debe ser un número entero."},"magicline":{"title":"Insertar párrafo aquí"},"maximize":{"maximize":"Maximizar","minimize":"Minimizar"},"newpage":{"toolbar":"Nueva Página"},"pagebreak":{"alt":"Salto de página","toolbar":"Insertar Salto de Página"},"pastetext":{"button":"Pegar como Texto Plano","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Pegar como Texto Plano"},"pastefromword":{"confirmCleanup":"El texto que desea parece provenir de Word.\r\n¿Desea depurarlo antes de pegarlo?","error":"No ha sido posible limpiar los datos debido a un error interno","title":"Pegar desde Word","toolbar":"Pegar desde Word"},"preview":{"preview":"Vista Previa"},"print":{"toolbar":"Imprimir"},"removeformat":{"toolbar":"Eliminar Formato"},"save":{"toolbar":"Guardar"},"selectall":{"toolbar":"Seleccionar Todo"},"showblocks":{"toolbar":"Mostrar bloques"},"sourcearea":{"toolbar":"Fuente HTML"},"specialchar":{"options":"Opciones de caracteres especiales","title":"Seleccione un caracter especial","toolbar":"Insertar Caracter Especial"},"scayt":{"btn_about":"Acerca de Corrector","btn_dictionaries":"Diccionarios","btn_disable":"Desactivar Corrector","btn_enable":"Activar Corrector","btn_langs":"Idiomas","btn_options":"Opciones","text_title":"Comprobar Ortografía Mientras Escribe"},"stylescombo":{"label":"Estilo","panelTitle":"Estilos para formatear","panelTitle1":"Estilos de párrafo","panelTitle2":"Estilos de carácter","panelTitle3":"Estilos de objeto"},"table":{"border":"Tamaño de Borde","caption":"Título","cell":{"menu":"Celda","insertBefore":"Insertar celda a la izquierda","insertAfter":"Insertar celda a la derecha","deleteCell":"Eliminar Celdas","merge":"Combinar Celdas","mergeRight":"Combinar a la derecha","mergeDown":"Combinar hacia abajo","splitHorizontal":"Dividir la celda horizontalmente","splitVertical":"Dividir la celda verticalmente","title":"Propiedades de celda","cellType":"Tipo de Celda","rowSpan":"Expandir filas","colSpan":"Expandir columnas","wordWrap":"Ajustar al contenido","hAlign":"Alineación Horizontal","vAlign":"Alineación Vertical","alignBaseline":"Linea de base","bgColor":"Color de fondo","borderColor":"Color de borde","data":"Datos","header":"Encabezado","yes":"Sí","no":"No","invalidWidth":"La anchura de celda debe ser un número.","invalidHeight":"La altura de celda debe ser un número.","invalidRowSpan":"La expansión de filas debe ser un número entero.","invalidColSpan":"La expansión de columnas debe ser un número entero.","chooseColor":"Elegir"},"cellPad":"Esp. interior","cellSpace":"Esp. e/celdas","column":{"menu":"Columna","insertBefore":"Insertar columna a la izquierda","insertAfter":"Insertar columna a la derecha","deleteColumn":"Eliminar Columnas"},"columns":"Columnas","deleteTable":"Eliminar Tabla","headers":"Encabezados","headersBoth":"Ambas","headersColumn":"Primera columna","headersNone":"Ninguno","headersRow":"Primera fila","invalidBorder":"El tamaño del borde debe ser un número.","invalidCellPadding":"El espaciado interior debe ser un número.","invalidCellSpacing":"El espaciado entre celdas debe ser un número.","invalidCols":"El número de columnas debe ser un número mayor que 0.","invalidHeight":"La altura de tabla debe ser un número.","invalidRows":"El número de filas debe ser un número mayor que 0.","invalidWidth":"La anchura de tabla debe ser un número.","menu":"Propiedades de Tabla","row":{"menu":"Fila","insertBefore":"Insertar fila en la parte superior","insertAfter":"Insertar fila en la parte inferior","deleteRow":"Eliminar Filas"},"rows":"Filas","summary":"Síntesis","title":"Propiedades de Tabla","toolbar":"Tabla","widthPc":"porcentaje","widthPx":"pixeles","widthUnit":"unidad de la anchura"},"undo":{"redo":"Rehacer","undo":"Deshacer"},"widget":{"move":"Dar clic y arrastrar para mover","label":"reproductor %1"},"uploadwidget":{"abort":"Carga abortada por el usuario.","doneOne":"Archivo cargado exitósamente.","doneMany":"%1 archivos exitósamente cargados.","uploadOne":"Cargando archivo ({percentage}%)...","uploadMany":"Cargando archivos, {current} de {max} hecho ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorar","btnIgnoreAll":"Ignorar Todo","btnReplace":"Reemplazar","btnReplaceAll":"Reemplazar Todo","btnUndo":"Deshacer","changeTo":"Cambiar a","errorLoading":"Error cargando la aplicación del servidor: %s.","ieSpellDownload":"Módulo de Control de Ortografía no instalado.\r\n¿Desea descargarlo ahora?","manyChanges":"Control finalizado: se ha cambiado %1 palabras","noChanges":"Control finalizado: no se ha cambiado ninguna palabra","noMispell":"Control finalizado: no se encontraron errores","noSuggestions":"- No hay sugerencias -","notAvailable":"Lo sentimos pero el servicio no está disponible.","notInDic":"No se encuentra en el Diccionario","oneChange":"Control finalizado: se ha cambiado una palabra","progress":"Control de Ortografía en progreso...","title":"Comprobar ortografía","toolbar":"Ortografía"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/es.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/es-mx.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/es-mx.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/es-mx.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['es-mx']={"editor":"Editor de texto enriquecido","editorPanel":"Panel del editor de texto","common":{"editorHelp":"Presiona ALT + 0 para ayuda","browseServer":"Examinar servidor","url":"URL","protocol":"Protocolo","upload":"Subir","uploadSubmit":"Enviar al servidor","image":"Imagen","flash":"Flash","form":"Formulario","checkbox":"Casilla de verificación","radio":"Botón de opción","textField":"Campo de texto","textarea":"Área de texto","hiddenField":"Campo oculto","button":"Botón","select":"Campo de selección","imageButton":"Botón de imagen","notSet":"<not set>","id":"Id","name":"Nombre","langDir":"Dirección de idiomas","langDirLtr":"Izquierda a derecha (LTR)","langDirRtl":"Derecha a izquierda (RTL)","langCode":"Código de lenguaje","longDescr":"URL descripción larga","cssClass":"Clases de hoja de estilo","advisoryTitle":"Título del anuncio","cssStyle":"Estilo","ok":"OK","cancel":"Cancelar","close":"Cerrar","preview":"Vista previa","resize":"Redimensionar","generalTab":"General","advancedTab":"Avanzada","validateNumberFailed":"Este valor no es un número.","confirmNewPage":"Se perderán todos los cambios no guardados en este contenido. ¿Seguro que quieres cargar nueva página?","confirmCancel":"Ha cambiado algunas opciones. ¿Está seguro de que desea cerrar la ventana de diálogo?","options":"Opciones","target":"Objetivo","targetNew":"Nueva ventana (_blank)","targetTop":"Ventana superior (_top)","targetSelf":"Misma ventana (_self)","targetParent":"Ventana principal (_parent)","langDirLTR":"Izquierda a Derecha (LTR)","langDirRTL":"Derecha a Izquierda (RTL)","styles":"Estilo","cssClasses":"Clases de hojas de estilo","width":"Ancho","height":"Alto","align":"Alineación","left":"Izquierda","right":"Derecha","center":"Centrado","justify":"Justificado","alignLeft":"Alinear a la izquierda","alignRight":"Alinear a la derecha","alignCenter":"Align Center","alignTop":"Arriba","alignMiddle":"En medio","alignBottom":"Abajo","alignNone":"Ninguno","invalidValue":"Valor inválido","invalidHeight":"La altura debe ser un número.","invalidWidth":"La anchura debe ser un número.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"El valor especificado para el campo \"% 1\" debe ser un número positivo con o sin una unidad de medida CSS válida (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"El valor especificado para el campo \"% 1\" debe ser un número positivo con o sin una unidad de medición HTML válida (px or %).","invalidInlineStyle":"El valor especificado para el estilo en línea debe constar de una o más tuplas con el formato de \"nombre: valor\", separados por punto y coma","cssLengthTooltip":"Introduzca un número para un valor en píxeles o un número con una unidad CSS válida (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, no disponible</span>","keyboard":{"8":"Retroceso","13":"Intro","16":"Shift","17":"Ctrl","18":"Alt","32":"Espacio","35":"Fin","36":"Inicio","46":"Borrar","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Comando"},"keyboardShortcut":"Atajo de teclado","optionDefault":"Default"},"about":{"copy":"Derechos reservados &copy; $1. Todos los derechos reservados","dlgTitle":"Acerca de CKEditor 4","moreInfo":"Para información sobre la licencia por favor visita nuestro sitio web:"},"basicstyles":{"bold":"Negrita","italic":"Cursiva","strike":"Tachado","subscript":"subíndice","superscript":"Sobrescrito","underline":"Subrayada"},"bidi":{"ltr":"Dirección del texto de izquierda a derecha","rtl":"Dirección del texto de derecha a izquierda"},"blockquote":{"toolbar":"Entrecomillado"},"notification":{"closed":"Notificación cerrada."},"button":{"selectedLabel":"%1 (Seleccionado)"},"toolbar":{"toolbarCollapse":"Colapsar barra de herramientas","toolbarExpand":"Expandir barra de herramientas","toolbarGroups":{"document":"Documento","clipboard":"Portapapeles/deshacer","editing":"Editando","forms":"Formularios","basicstyles":"Estilo básico","paragraph":"Párrafo","links":"Enlaces","insert":"Insertar","styles":"Estilos","colors":"Colores","tools":"Herramientas"},"toolbars":"Editor de barra de herramientas"},"clipboard":{"copy":"Copiar","copyError":"La configuración de seguridad de su navegador no permite al editor ejecutar automáticamente operaciones de copiado. Por favor, utilice el teclado para (Ctrl/Cmd+C).","cut":"Cortar","cutError":"La configuración de seguridad de su navegador no permite al editor ejecutar automáticamente operaciones de corte. Por favor, utilice el teclado para (Ctrl/Cmd+X).","paste":"Pegar","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK.","title":"Paste"},"colorbutton":{"auto":"Automático","bgColorTitle":"Color de fondo","colors":{"000":"Negro","800000":"Marrón","8B4513":"Café sucio","2F4F4F":"Gris pizarra oscuro","008080":"Teal","000080":"Armada","4B0082":"Indigo","696969":"Gris oscuro","B22222":"Ladrillo de fuego","A52A2A":"Café","DAA520":"Barra de oro","006400":"Verde oscuro","40E0D0":"Turquesa","0000CD":"Azul medio","800080":"Morado","808080":"Gris","F00":"Rojo","FF8C00":"Naranja oscuro","FFD700":"Oro","008000":"Verde","0FF":"Cian","00F":"Azul","EE82EE":"Violeta","A9A9A9":"Gris oscuro","FFA07A":"Salmón claro","FFA500":"Naranja","FFFF00":"Amarillo","00FF00":"Lima","AFEEEE":"Turquesa pálido","ADD8E6":"Azul claro","DDA0DD":"Ciruela","D3D3D3":"Gris claro","FFF0F5":"Rubor de lavanda","FAEBD7":"Blanco antiguo","FFFFE0":"Amarillo claro","F0FFF0":"Gotas de miel","F0FFFF":"Azul celeste","F0F8FF":"Azul Alicia","E6E6FA":"Lavanda","FFF":"Blanco","1ABC9C":"Cian fuerte","2ECC71":"Esmeralda","3498DB":"Azul brillante","9B59B6":"Amatista","4E5F70":"Azul grisáceo","F1C40F":"Amarillo vívido","16A085":"Cian oscuro","27AE60":"Esmeralda oscuro","2980B9":"Azul fuerte","8E44AD":"Violeta oscuro","2C3E50":"Azul Desaturado","F39C12":"Naranja","E67E22":"Zanahoria","E74C3C":"Rojo pálido","ECF0F1":"Plata brillante","95A5A6":"Cian grisáceo claro","DDD":"Gris claro","D35400":"Calabaza","C0392B":"Rojo fuerte","BDC3C7":"Plata","7F8C8D":"Cian grisáceo","999":"Gris oscuro"},"more":"Más colores...","panelTitle":"Colores","textColorTitle":"Color de texto"},"colordialog":{"clear":"Borrar","highlight":"Realce","options":"Opciones de color","selected":"Color seleccionado","title":"Selecciona un color"},"templates":{"button":"Plantillas","emptyListMsg":"(Sin plantilla definida)","insertOption":"Reemplazar contenido actual","options":"Opciones de la plantilla","selectPromptMsg":"Por favor selecciona una plantilla para abrir en el editor","title":"Contenido de las plantillas"},"contextmenu":{"options":"Opciones del menú contextual"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Título del anuncio","cssClassInputLabel":"Clases de la hoja de estilos","edit":"Editar Div","inlineStyleInputLabel":"Estilo de línea","langDirLTRLabel":"Izquierda a Derecha (LTR)","langDirLabel":"Dirección de idiomas","langDirRTLLabel":"Derecha a Izquierda (RTL)","languageCodeInputLabel":"Código del idioma","remove":"Remover Div","styleSelectLabel":"Estilo","title":"Crear contenedor Div","toolbar":"Crear contenedor Div"},"elementspath":{"eleLabel":"Ruta de los elementos","eleTitle":"%1 elemento"},"filetools":{"loadError":"Ha ocurrido un error al leer el archivo","networkError":"Ha ocurrido un error de red durante la carga del archivo.","httpError404":"Se ha producido un error HTTP durante la subida de archivos (404: archivo no encontrado).","httpError403":"Se ha producido un error HTTP durante la subida de archivos (403: Prohibido).","httpError":"Se ha producido un error HTTP durante la subida de archivos (error: %1).","noUrlError":"La URL de subida no está definida.","responseError":"Respuesta incorrecta del servidor."},"find":{"find":"Buscar","findOptions":"Opciones de busqueda","findWhat":"Buscar que:","matchCase":"Comparar mayúsculas","matchCyclic":"Comparación cíclica","matchWord":"Compare la palabra completa","notFoundMsg":"El texto especificado no fue encontrado.","replace":"Remplazar","replaceAll":"Remplazar todo","replaceSuccessMsg":"%1 ","replaceWith":"Reemplazar con:","title":"Busca y reemplaza"},"fakeobjects":{"anchor":"Ancla","flash":"Animación flash","hiddenfield":"Campo oculto","iframe":"IFrame","unknown":"Objeto desconocido"},"flash":{"access":"Acceso a secuencias de comandos","accessAlways":"Siempre","accessNever":"Nunca","accessSameDomain":"Mismo dominio","alignAbsBottom":"Abs Abajo","alignAbsMiddle":"Abs Medio","alignBaseline":"Base","alignTextTop":"Texto Arriba","bgcolor":"Color de fondo","chkFull":"Permitir pantalla completa","chkLoop":"Ciclíco","chkMenu":"Habilitar menú de flash","chkPlay":"Auto reproducción","flashvars":"Variables para flash","hSpace":"Espacio horizontal","properties":"Propiedades del flash","propertiesTab":"Propiedades","quality":"Calidad","qualityAutoHigh":"Alta automática","qualityAutoLow":"Baja automática","qualityBest":"La mejor","qualityHigh":"Alta","qualityLow":"Baja","qualityMedium":"Mediana","scale":"Escala","scaleAll":"Mostrar todo","scaleFit":"Ajuste exacto","scaleNoBorder":"Sin bordes","title":"Propiedades del flash","vSpace":"Espacio vertical","validateHSpace":"El espacio horizontal debe ser un número entero.","validateSrc":"La URL no puede estar vacia.","validateVSpace":"El espacio vertical debe ser un número entero.","windowMode":"Modo de la ventana","windowModeOpaque":"Opaco","windowModeTransparent":"Transparente","windowModeWindow":"Ventana"},"font":{"fontSize":{"label":"Tamaño","voiceLabel":"Tamaño de letra","panelTitle":"Tamaño de letra"},"label":"Letra","panelTitle":"Nombre de letra","voiceLabel":"Letra"},"forms":{"button":{"title":"Propiedades del botón","text":"Texto (valor)","type":"Tipo","typeBtn":"Botón","typeSbm":"Enviar","typeRst":"Reiniciar"},"checkboxAndRadio":{"checkboxTitle":"Propiedades de la casilla de verificación","radioTitle":"Propiedades de botón de opciones","value":"Valor","selected":"Seleccionado","required":"Requerido"},"form":{"title":"Propiedades del formulario","menu":"Propiedades del formulario","action":"Acción","method":"Método","encoding":"Codificación"},"hidden":{"title":"Propiedades del campo oculto","name":"Nombre","value":"Valor"},"select":{"title":"Propiedades del campo de selección","selectInfo":"Seleccionar información","opAvail":"Opciones disponobles","value":"Valor","size":"Tamaño","lines":"líneas","chkMulti":"Permitir múltiple selección","required":"Requerido","opText":"Texto","opValue":"Valor","btnAdd":"Agregar","btnModify":"Modificar","btnUp":"Subir","btnDown":"Bajar","btnSetValue":"Establecer como valor seleccionado","btnDelete":"Borrar"},"textarea":{"title":"Propiedades del área de texto","cols":"Columnas","rows":"Filas"},"textfield":{"title":"Propiedades del campo texto","name":"Nombre","value":"Valor","charWidth":"Ancho de caracteres","maxChars":"Máximo de caracteres","required":"Requerido","type":"Tipo","typeText":"Texto","typePass":"Contraseña","typeEmail":"Correo electrónico","typeSearch":"Busqueda","typeTel":"Número telefónico","typeUrl":"URL"}},"format":{"label":"Formato","panelTitle":"Formato de párrafo","tag_address":"Dirección","tag_div":"Normal (DIV)","tag_h1":"Encabezado 1","tag_h2":"Encabezado 2","tag_h3":"Encabezado 3","tag_h4":"Encabezado 4","tag_h5":"Encabezado 5","tag_h6":"Encabezado 6","tag_p":"Normal","tag_pre":"Formateado"},"horizontalrule":{"toolbar":"Insertar una línea horizontal"},"iframe":{"border":"Mostrar el borde del marco","noUrl":"Ingresa la URL del iframe","scrolling":"Habilitar la barra de desplazamiento","title":"Propiedades del IFrame","toolbar":"Iframe"},"image":{"alt":"Texto alternativo","border":"Borde","btnUpload":"Enviar al servidor","button2Img":"¿Desea transformar el botón de imagen seleccionado en una imagen simple?","hSpace":"Espacio horizontal","img2Button":"¿Desea transformar la imagen seleccionada en un botón de imagen?","infoTab":"Información de imagen","linkTab":"Enlace","lockRatio":"Bloquear aspecto","menu":"Propiedades de la imagen","resetSize":"Reiniciar tamaño","title":"Propiedades de la imagen","titleButton":"Propiedades del botón de imagen","upload":"Cargar","urlMissing":"Falta la URL de origen de la imagen.","vSpace":"Espacio vertical","validateBorder":"El borde debe ser un número entero.","validateHSpace":"El espacio horizontal debe ser un número entero.","validateVSpace":"El espacio vertical debe ser un número entero."},"indent":{"indent":"Incrementar sangría","outdent":"Decrementar sangría"},"smiley":{"options":"Opciones de smiley","title":"Insertar un smiley","toolbar":"Smiley"},"language":{"button":"Establecer idioma","remove":"Remover idioma"},"link":{"acccessKey":"Llave de acceso","advanced":"Avanzada","advisoryContentType":"Tipo de contenido consultivo","advisoryTitle":"Título asesor","anchor":{"toolbar":"Ancla","menu":"Editar ancla","title":"Propiedades del ancla","name":"Nombre del ancla","errorName":"Escriba el nombre del ancla","remove":"Remover ancla"},"anchorId":"Por Id del elemento","anchorName":"Por nombre del ancla","charset":"Recurso relacionado Charset","cssClasses":"Clases de estilo de hoja","download":"Forzar la descarga","displayText":"Mostrar texto","emailAddress":"Dirección de correo electrónico","emailBody":"Cuerpo del mensaje","emailSubject":"Asunto del mensaje","id":"Id","info":"Información del enlace","langCode":"Código del idioma","langDir":"Dirección del idioma","langDirLTR":"Izquierda a Derecha (LTR)","langDirRTL":"Derecha a Izquierda (RTL)","menu":"Editar enlace","name":"Nombre","noAnchors":"(No hay anclas disponibles en el documento)","noEmail":"Escriba la dirección de correo electrónico","noUrl":"Escriba la URL del enlace","other":"<other>","popupDependent":"Dependiente (Netscape)","popupFeatures":"Ventana emergente","popupFullScreen":"Pantalla completa (IE)","popupLeft":"Posición Izquierda","popupLocationBar":"Ubicación de la barra","popupMenuBar":"Barra de menú","popupResizable":"Redimensionable","popupScrollBars":"Barras de desplazamiento","popupStatusBar":"Barra de estado","popupToolbar":"Barra de herramienta","popupTop":"Posición superior","rel":"Relación","selectAnchor":"Selecciona un ancla","styles":"Estilo","tabIndex":"Indice de tabulación","target":"Objetivo","targetFrame":"<frame>","targetFrameName":"Nombre del marco de destino","targetPopup":"<popup window>","targetPopupName":"Nombre de ventana emergente","title":"Enlace","toAnchor":"Enlace al ancla en el texto","toEmail":"Correo electrónico","toUrl":"URL","toolbar":"Enlace","type":"Tipo de enlace","unlink":"Desconectar","upload":"Subir"},"list":{"bulletedlist":"Insertar/Remover Lista con viñetas","numberedlist":"Insertar/Remover Lista numerada"},"liststyle":{"armenian":"Numeración armenia","bulletedTitle":"Propiedades de la lista con viñetas","circle":"Círculo","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal con cero (01, 02, 03, etc.)","disc":"Desc","georgian":"Numeración gregoriana (an, ban, gan, etc.)","lowerAlpha":"Alfabeto minúscula (a, b, c, d, e, etc.)","lowerGreek":"Griego minúscula (alpha, beta, gamma, etc.)","lowerRoman":"Romano minúscula (i, ii, iii, iv, v, etc.)","none":"Ninguno","notset":"<not set>","numberedTitle":"Propiedades de la lista numerada","square":"Cuadrado","start":"Inicio","type":"Tipo","upperAlpha":"Abecedario mayúscula (A, B, C, D, E, etc.)","upperRoman":"Romanos mayúscula (I, II, III, IV, V, etc.)","validateStartNumber":"El número de inicio de la lista debe ser un número entero."},"magicline":{"title":"Insertar un párrafo aquí"},"maximize":{"maximize":"Maximizar","minimize":"Minimizar"},"newpage":{"toolbar":"Página nueva"},"pagebreak":{"alt":"Salto de página","toolbar":"Insertar un salto de página para imprimir"},"pastetext":{"button":"Pegar como texto plano","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Paste as Plain Text"},"pastefromword":{"confirmCleanup":"El texto que desea pegar parece estar copiado de Word. ¿Quieres limpiarlo antes de pegarlo?","error":"No fue posible limpiar los datos pegados debido a un error interno","title":"Pegar desde word","toolbar":"Pegar desde word"},"preview":{"preview":"Vista previa"},"print":{"toolbar":"Imprimir"},"removeformat":{"toolbar":"Remover formato"},"save":{"toolbar":"Guardar"},"selectall":{"toolbar":"Seleccionar todo"},"showblocks":{"toolbar":"Mostrar bloques"},"sourcearea":{"toolbar":"Fuente"},"specialchar":{"options":"Opciones de carácteres especiales","title":"Seleccione un carácter especial","toolbar":"Inserta un carácter especial"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Estilos","panelTitle":"Estilos de formatos","panelTitle1":"Estilos de bloques","panelTitle2":"Estilos de líneas","panelTitle3":"Estilo de objetos"},"table":{"border":"Tamaño del borde","caption":"Subtítulo","cell":{"menu":"Celda","insertBefore":"Insertar una celda antes","insertAfter":"Insertar una celda despues","deleteCell":"Borrar celdas","merge":"Unir celdas","mergeRight":"Unir a la derecha","mergeDown":"Unir abajo","splitHorizontal":"Dividir celda horizontalmente","splitVertical":"Dividir celda verticalmente","title":"Propiedades de la celda","cellType":"Tipo de celda","rowSpan":"Extensión de las filas","colSpan":"Extensión de las columnas","wordWrap":"Ajuste de línea","hAlign":"Alineación horizontal","vAlign":"Alineación vertical","alignBaseline":"Base","bgColor":"Color de fondo","borderColor":"Color de borde","data":"Datos","header":"Encabezado","yes":"Si","no":"No","invalidWidth":"El ancho de la celda debe ser un número entero.","invalidHeight":"El alto de la celda debe ser un número entero.","invalidRowSpan":"El intervalo de filas debe ser un número entero.","invalidColSpan":"El intervalo de columnas debe ser un número entero.","chooseColor":"Escoger"},"cellPad":"relleno de celda","cellSpace":"Espacio de celda","column":{"menu":"Columna","insertBefore":"Insertar columna antes","insertAfter":"Insertar columna después","deleteColumn":"Borrar columnas"},"columns":"Columnas","deleteTable":"Borrar tabla","headers":"Encabezados","headersBoth":"Ambos","headersColumn":"Primera columna","headersNone":"Ninguna","headersRow":"Primera fila","invalidBorder":"El tamaño del borde debe ser un número entero.","invalidCellPadding":"El relleno de la celda debe ser un número positivo.","invalidCellSpacing":"El espacio de la celda debe ser un número positivo.","invalidCols":"El número de columnas debe ser un número mayo que 0.","invalidHeight":"La altura de la tabla debe ser un número.","invalidRows":"El número de filas debe ser mayor a 0.","invalidWidth":"El ancho de la tabla debe ser un número.","menu":"Propiedades de la tabla","row":{"menu":"Fila","insertBefore":"Inserta una fila antes","insertAfter":"Inserta una fila después","deleteRow":"Borrar filas"},"rows":"Filas","summary":"Resumen","title":"Propiedades de la tabla","toolbar":"Tabla","widthPc":"porcentaje","widthPx":"pixeles","widthUnit":"Unidad de ancho"},"undo":{"redo":"Rehacer","undo":"Deshacer"},"widget":{"move":"Presiona y arrastra para mover","label":"%1 widget"},"uploadwidget":{"abort":"La carga ha sido abortada por el usuario.","doneOne":"El archivo ha sido cargado completamente.","doneMany":"%1 archivos cargados completamente.","uploadOne":"Cargando archivo ({percentage}%)...","uploadMany":"Cargando archivos, {current} de {max} listo ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/es-mx.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/is.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/is.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/is.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['is']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Fletta í skjalasafni","url":"Vefslóð","protocol":"Samskiptastaðall","upload":"Senda upp","uploadSubmit":"Hlaða upp","image":"Setja inn mynd","flash":"Flash","form":"Setja inn innsláttarform","checkbox":"Setja inn hökunarreit","radio":"Setja inn valhnapp","textField":"Setja inn textareit","textarea":"Setja inn textasvæði","hiddenField":"Setja inn falið svæði","button":"Setja inn hnapp","select":"Setja inn lista","imageButton":"Setja inn myndahnapp","notSet":"<ekkert valið>","id":"Auðkenni","name":"Nafn","langDir":"Lesstefna","langDirLtr":"Frá vinstri til hægri (LTR)","langDirRtl":"Frá hægri til vinstri (RTL)","langCode":"Tungumálakóði","longDescr":"Nánari lýsing","cssClass":"Stílsniðsflokkur","advisoryTitle":"Titill","cssStyle":"Stíll","ok":"Í lagi","cancel":"Hætta við","close":"Close","preview":"Forskoða","resize":"Resize","generalTab":"Almennt","advancedTab":"Tæknilegt","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Mark","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Frá vinstri til hægri (LTR)","langDirRTL":"Frá hægri til vinstri (RTL)","styles":"Stíll","cssClasses":"Stílsniðsflokkur","width":"Breidd","height":"Hæð","align":"Jöfnun","left":"Vinstri","right":"Hægri","center":"Miðjað","justify":"Jafna báðum megin","alignLeft":"Vinstrijöfnun","alignRight":"Hægrijöfnun","alignCenter":"Align Center","alignTop":"Efst","alignMiddle":"Miðjuð","alignBottom":"Neðst","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Feitletrað","italic":"Skáletrað","strike":"Yfirstrikað","subscript":"Niðurskrifað","superscript":"Uppskrifað","underline":"Undirstrikað"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Inndráttur"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Afrita","copyError":"Öryggisstillingar vafrans þíns leyfa ekki afritun texta með músaraðgerð. Notaðu lyklaborðið í afrita (Ctrl/Cmd+C).","cut":"Klippa","cutError":"Öryggisstillingar vafrans þíns leyfa ekki klippingu texta með músaraðgerð. Notaðu lyklaborðið í klippa (Ctrl/Cmd+X).","paste":"Líma","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK.","title":"Líma"},"colorbutton":{"auto":"Sjálfval","bgColorTitle":"Bakgrunnslitur","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Fleiri liti...","panelTitle":"Colors","textColorTitle":"Litur texta"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"Sniðmát","emptyListMsg":"(Ekkert sniðmát er skilgreint!)","insertOption":"Skipta út raunverulegu innihaldi","options":"Template Options","selectPromptMsg":"Veldu sniðmát til að opna í ritlinum.<br>(Núverandi innihald víkur fyrir því!):","title":"Innihaldssniðmát"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Leita","findOptions":"Find Options","findWhat":"Leita að:","matchCase":"Gera greinarmun á¡ há¡- og lágstöfum","matchCyclic":"Match cyclic","matchWord":"Aðeins heil orð","notFoundMsg":"Leitartexti fannst ekki!","replace":"Skipta út","replaceAll":"Skipta út allsstaðar","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Skipta út fyrir:","title":"Finna og skipta"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs neðst","alignAbsMiddle":"Abs miðjuð","alignBaseline":"Grunnlína","alignTextTop":"Efri brún texta","bgcolor":"Bakgrunnslitur","chkFull":"Allow Fullscreen","chkLoop":"Endurtekning","chkMenu":"Sýna Flash-valmynd","chkPlay":"Sjálfvirk spilun","flashvars":"Variables for Flash","hSpace":"Vinstri bil","properties":"Eigindi Flash","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Skali","scaleAll":"Sýna allt","scaleFit":"Fella skala að stærð","scaleNoBorder":"Án ramma","title":"Eigindi Flash","vSpace":"Hægri bil","validateHSpace":"HSpace must be a number.","validateSrc":"Sláðu inn veffang stiklunnar!","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Leturstærð ","voiceLabel":"Font Size","panelTitle":"Leturstærð "},"label":"Leturgerð ","panelTitle":"Leturgerð ","voiceLabel":"Leturgerð "},"forms":{"button":{"title":"Eigindi hnapps","text":"Texti","type":"Gerð","typeBtn":"Hnappur","typeSbm":"Staðfesta","typeRst":"Hreinsa"},"checkboxAndRadio":{"checkboxTitle":"Eigindi markreits","radioTitle":"Eigindi valhnapps","value":"Gildi","selected":"Valið","required":"Required"},"form":{"title":"Eigindi innsláttarforms","menu":"Eigindi innsláttarforms","action":"Aðgerð","method":"Aðferð","encoding":"Encoding"},"hidden":{"title":"Eigindi falins svæðis","name":"Nafn","value":"Gildi"},"select":{"title":"Eigindi lista","selectInfo":"Upplýsingar","opAvail":"Kostir","value":"Gildi","size":"Stærð","lines":"línur","chkMulti":"Leyfa fleiri kosti","required":"Required","opText":"Texti","opValue":"Gildi","btnAdd":"Bæta við","btnModify":"Breyta","btnUp":"Upp","btnDown":"Niður","btnSetValue":"Merkja sem valið","btnDelete":"Eyða"},"textarea":{"title":"Eigindi textasvæðis","cols":"Dálkar","rows":"Línur"},"textfield":{"title":"Eigindi textareits","name":"Nafn","value":"Gildi","charWidth":"Breidd (leturtákn)","maxChars":"Hámarksfjöldi leturtákna","required":"Required","type":"Gerð","typeText":"Texti","typePass":"Lykilorð","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"Vefslóð"}},"format":{"label":"Stílsnið","panelTitle":"Stílsnið","tag_address":"Vistfang","tag_div":"Venjulegt (DIV)","tag_h1":"Fyrirsögn 1","tag_h2":"Fyrirsögn 2","tag_h3":"Fyrirsögn 3","tag_h4":"Fyrirsögn 4","tag_h5":"Fyrirsögn 5","tag_h6":"Fyrirsögn 6","tag_p":"Venjulegt letur","tag_pre":"Forsniðið"},"horizontalrule":{"toolbar":"Lóðrétt lína"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Baklægur texti","border":"Rammi","btnUpload":"Hlaða upp","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"Vinstri bil","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Almennt","linkTab":"Stikla","lockRatio":"Festa stærðarhlutfall","menu":"Eigindi myndar","resetSize":"Reikna stærð","title":"Eigindi myndar","titleButton":"Eigindi myndahnapps","upload":"Hlaða upp","urlMissing":"Image source URL is missing.","vSpace":"Hægri bil","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Minnka inndrátt","outdent":"Auka inndrátt"},"smiley":{"options":"Smiley Options","title":"Velja svip","toolbar":"Svipur"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Skammvalshnappur","advanced":"Tæknilegt","advisoryContentType":"Tegund innihalds","advisoryTitle":"Titill","anchor":{"toolbar":"Stofna/breyta kaflamerki","menu":"Eigindi kaflamerkis","title":"Eigindi kaflamerkis","name":"Nafn bókamerkis","errorName":"Sláðu inn nafn bókamerkis!","remove":"Remove Anchor"},"anchorId":"Eftir auðkenni einingar","anchorName":"Eftir akkerisnafni","charset":"Táknróf","cssClasses":"Stílsniðsflokkur","download":"Force Download","displayText":"Display Text","emailAddress":"Netfang","emailBody":"Meginmál","emailSubject":"Efni","id":"Auðkenni","info":"Almennt","langCode":"Lesstefna","langDir":"Lesstefna","langDirLTR":"Frá vinstri til hægri (LTR)","langDirRTL":"Frá hægri til vinstri (RTL)","menu":"Breyta stiklu","name":"Nafn","noAnchors":"<Engin bókamerki á skrá>","noEmail":"Sláðu inn netfang!","noUrl":"Sláðu inn veffang stiklunnar!","other":"<annar>","popupDependent":"Háð venslum (Netscape)","popupFeatures":"Eigindi sprettiglugga","popupFullScreen":"Heilskjár (IE)","popupLeft":"Fjarlægð frá vinstri","popupLocationBar":"Fanglína","popupMenuBar":"Vallína","popupResizable":"Resizable","popupScrollBars":"Skrunstikur","popupStatusBar":"Stöðustika","popupToolbar":"Verkfærastika","popupTop":"Fjarlægð frá efri brún","rel":"Relationship","selectAnchor":"Veldu akkeri","styles":"Stíll","tabIndex":"Raðnúmer innsláttarreits","target":"Mark","targetFrame":"<rammi>","targetFrameName":"Nafn markglugga","targetPopup":"<sprettigluggi>","targetPopupName":"Nafn sprettiglugga","title":"Stikla","toAnchor":"Bókamerki á þessari síðu","toEmail":"Netfang","toUrl":"Vefslóð","toolbar":"Stofna/breyta stiklu","type":"Stikluflokkur","unlink":"Fjarlægja stiklu","upload":"Senda upp"},"list":{"bulletedlist":"Punktalisti","numberedlist":"Númeraður listi"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"newpage":{"toolbar":"Ný síða"},"pagebreak":{"alt":"Page Break","toolbar":"Setja inn síðuskil"},"pastetext":{"button":"Líma sem ósniðinn texta","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Líma sem ósniðinn texta"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Líma úr Word","toolbar":"Líma úr Word"},"preview":{"preview":"Forskoða"},"print":{"toolbar":"Prenta"},"removeformat":{"toolbar":"Fjarlægja snið"},"save":{"toolbar":"Vista"},"selectall":{"toolbar":"Velja allt"},"showblocks":{"toolbar":"Sýna blokkir"},"sourcearea":{"toolbar":"Kóði"},"specialchar":{"options":"Special Character Options","title":"Velja tákn","toolbar":"Setja inn merki"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Stílflokkur","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Breidd ramma","caption":"Titill","cell":{"menu":"Reitur","insertBefore":"Skjóta inn reiti fyrir aftan","insertAfter":"Skjóta inn reiti fyrir framan","deleteCell":"Fella reit","merge":"Sameina reiti","mergeRight":"Sameina til hægri","mergeDown":"Sameina niður á við","splitHorizontal":"Kljúfa reit lárétt","splitVertical":"Kljúfa reit lóðrétt","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Reitaspássía","cellSpace":"Bil milli reita","column":{"menu":"Dálkur","insertBefore":"Skjóta inn dálki vinstra megin","insertAfter":"Skjóta inn dálki hægra megin","deleteColumn":"Fella dálk"},"columns":"Dálkar","deleteTable":"Fella töflu","headers":"Fyrirsagnir","headersBoth":"Hvort tveggja","headersColumn":"Fyrsti dálkur","headersNone":"Engar","headersRow":"Fyrsta röð","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a positive number.","invalidCellSpacing":"Cell spacing must be a positive number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"Eigindi töflu","row":{"menu":"Röð","insertBefore":"Skjóta inn röð fyrir ofan","insertAfter":"Skjóta inn röð fyrir neðan","deleteRow":"Eyða röð"},"rows":"Raðir","summary":"Áfram","title":"Eigindi töflu","toolbar":"Tafla","widthPc":"prósent","widthPx":"myndeindir","widthUnit":"width unit"},"undo":{"redo":"Hætta við afturköllun","undo":"Afturkalla"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Hunsa","btnIgnoreAll":"Hunsa allt","btnReplace":"Skipta","btnReplaceAll":"Skipta öllu","btnUndo":"Til baka","changeTo":"Tillaga","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Villuleit ekki sett upp.<br>Viltu setja hana upp?","manyChanges":"Villuleit lokið: %1 orðum breytt","noChanges":"Villuleit lokið: Engu orði breytt","noMispell":"Villuleit lokið: Engin villa fannst","noSuggestions":"- engar tillögur -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Ekki í orðabókinni","oneChange":"Villuleit lokið: Einu orði breytt","progress":"Villuleit í gangi...","title":"Spell Checker","toolbar":"Villuleit"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/is.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/mk.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/mk.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/mk.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['mk']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Притисни ALT 0 за помош","browseServer":"Пребарај низ серверот","url":"URL","protocol":"Протокол","upload":"Прикачи","uploadSubmit":"Прикачи на сервер","image":"Слика","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Поле за текст","textarea":"Големо поле за текст","hiddenField":"Скриено поле","button":"Button","select":"Selection Field","imageButton":"Копче-слика","notSet":"<not set>","id":"Id","name":"Name","langDir":"Насока на јазик","langDirLtr":"Лево кон десно","langDirRtl":"Десно кон лево","langCode":"Код на јазик","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Стил","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Resize","generalTab":"Општо","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Опции","target":"Target","targetNew":"Нов прозорец (_blank)","targetTop":"Најгорниот прозорец (_top)","targetSelf":"Истиот прозорец (_self)","targetParent":"Прозорец-родител (_parent)","langDirLTR":"Лево кон десно","langDirRTL":"Десно кон лево","styles":"Стил","cssClasses":"Stylesheet Classes","width":"Широчина","height":"Височина","align":"Alignment","left":"Лево","right":"Десно","center":"Во средина","justify":"Justify","alignLeft":"Align Left","alignRight":"Align Right","alignCenter":"Align Center","alignTop":"Горе","alignMiddle":"Средина","alignBottom":"Доле","alignNone":"Никое","invalidValue":"Невалидна вредност","invalidHeight":"Височината мора да биде број.","invalidWidth":"Широчината мора да биде број.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Авторски права &copy; $1. Сите права се задржани.","dlgTitle":"За CKEditor 4","moreInfo":"За информации околу лиценцата, ве молиме посетете го нашиот веб-сајт: "},"basicstyles":{"bold":"Здебелено","italic":"Накривено","strike":"Прецртано","subscript":"Долен индекс","superscript":"Горен индекс","underline":"Подвлечено"},"bidi":{"ltr":"Насока на текст: од лево кон десно","rtl":"Насока на текст: од десно кон лево"},"blockquote":{"toolbar":"Одвоен цитат"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Копирај (Copy)","copyError":"Опциите за безбедност на вашиот прелистувач не дозволуваат уредувачот автоматски да изврши копирање. Ве молиме употребете ја тастатурата. (Ctrl/Cmd+C)","cut":"Исечи (Cut)","cutError":"Опциите за безбедност на вашиот прелистувач не дозволуваат уредувачот автоматски да изврши сечење. Ве молиме употребете ја тастатурата. (Ctrl/Cmd+C)","paste":"Залепи (Paste)","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Простор за залепување","pasteMsg":"Paste your content inside the area below and press OK.","title":"Залепи (Paste)"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Color","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"More Colors...","panelTitle":"Colors","textColorTitle":"Text Color"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"Templates","emptyListMsg":"(No templates defined)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"Please select the template to open in the editor","title":"Content Templates"},"contextmenu":{"options":"Контекст-мени опции"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Лево кон десно","langDirLabel":"Насока на јазик","langDirRTLLabel":"Десно кон лево","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Стил","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Пронајди","findOptions":"Опции за пронаоѓање","findWhat":"Што барате:","matchCase":"Се совпаѓа голема/мала буква,","matchCyclic":"Пребарај циклично","matchWord":"Се совпаѓа цел збор","notFoundMsg":"Внесениот текст не беше пронајден.","replace":"Замени","replaceAll":"Замени ги сите","replaceSuccessMsg":"%1 случај/и беа заменети.","replaceWith":"Замени со:","title":"Пронајди и замени"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Скриено поле","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs Bottom","alignAbsMiddle":"Abs Middle","alignBaseline":"Baseline","alignTextTop":"Text Top","bgcolor":"Background color","chkFull":"Allow Fullscreen","chkLoop":"Loop","chkMenu":"Enable Flash Menu","chkPlay":"Auto Play","flashvars":"Variables for Flash","hSpace":"Хоризонтален простор","properties":"Flash Properties","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Scale","scaleAll":"Show all","scaleFit":"Exact Fit","scaleNoBorder":"No Border","title":"Flash Properties","vSpace":"Вертикален простор","validateHSpace":"HSpace must be a number.","validateSrc":"URL must not be empty.","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"forms":{"button":{"title":"Button Properties","text":"Text (Value)","type":"Type","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Checkbox Properties","radioTitle":"Radio Button Properties","value":"Value","selected":"Selected","required":"Required"},"form":{"title":"Form Properties","menu":"Form Properties","action":"Action","method":"Method","encoding":"Encoding"},"hidden":{"title":"Hidden Field Properties","name":"Name","value":"Value"},"select":{"title":"Selection Field Properties","selectInfo":"Select Info","opAvail":"Available Options","value":"Value","size":"Size","lines":"lines","chkMulti":"Allow multiple selections","required":"Required","opText":"Text","opValue":"Value","btnAdd":"Add","btnModify":"Modify","btnUp":"Up","btnDown":"Down","btnSetValue":"Set as selected value","btnDelete":"Delete"},"textarea":{"title":"Textarea Properties","cols":"Columns","rows":"Rows"},"textfield":{"title":"Text Field Properties","name":"Name","value":"Value","charWidth":"Character Width","maxChars":"Maximum Characters","required":"Required","type":"Type","typeText":"Text","typePass":"Password","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Paragraph Format","tag_address":"Address","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"Insert Horizontal Line"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Алтернативен текст","border":"Раб","btnUpload":"Прикачи на сервер","button2Img":"Дали сакате да направите сликата-копче да биде само слика?","hSpace":"Хоризонтален простор","img2Button":"Дали сакате да ја претворите сликата во слика-копче?","infoTab":"Информации за сликата","linkTab":"Врска","lockRatio":"Зачувај пропорција","menu":"Својства на сликата","resetSize":"Ресетирај големина","title":"Својства на сликата","titleButton":"Својства на копче-сликата","upload":"Прикачи","urlMissing":"Недостасува URL-то на сликата.","vSpace":"Вертикален простор","validateBorder":"Работ мора да биде цел број.","validateHSpace":"Хор. простор мора да биде цел број.","validateVSpace":"Верт. простор мора да биде цел број."},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"smiley":{"options":"Smiley Options","title":"Insert a Smiley","toolbar":"Smiley"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Access Key","advanced":"Advanced","advisoryContentType":"Advisory Content Type","advisoryTitle":"Advisory Title","anchor":{"toolbar":"Anchor","menu":"Edit Anchor","title":"Anchor Properties","name":"Anchor Name","errorName":"Please type the anchor name","remove":"Remove Anchor"},"anchorId":"By Element Id","anchorName":"By Anchor Name","charset":"Linked Resource Charset","cssClasses":"Stylesheet Classes","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail Address","emailBody":"Message Body","emailSubject":"Message Subject","id":"Id","info":"Link Info","langCode":"Код на јазик","langDir":"Насока на јазик","langDirLTR":"Лево кон десно","langDirRTL":"Десно кон лево","menu":"Edit Link","name":"Name","noAnchors":"(No anchors available in the document)","noEmail":"Please type the e-mail address","noUrl":"Please type the link URL","other":"<other>","popupDependent":"Dependent (Netscape)","popupFeatures":"Popup Window Features","popupFullScreen":"Full Screen (IE)","popupLeft":"Left Position","popupLocationBar":"Location Bar","popupMenuBar":"Menu Bar","popupResizable":"Resizable","popupScrollBars":"Scroll Bars","popupStatusBar":"Status Bar","popupToolbar":"Toolbar","popupTop":"Top Position","rel":"Relationship","selectAnchor":"Select an Anchor","styles":"Стил","tabIndex":"Tab Index","target":"Target","targetFrame":"<frame>","targetFrameName":"Target Frame Name","targetPopup":"<popup window>","targetPopupName":"Popup Window Name","title":"Врска","toAnchor":"Link to anchor in the text","toEmail":"E-mail","toUrl":"URL","toolbar":"Врска","type":"Link Type","unlink":"Unlink","upload":"Прикачи"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"newpage":{"toolbar":"New Page"},"pagebreak":{"alt":"Page Break","toolbar":"Insert Page Break for Printing"},"pastetext":{"button":"Paste as plain text","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Paste as Plain Text"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Paste from Word","toolbar":"Paste from Word"},"preview":{"preview":"Preview"},"print":{"toolbar":"Print"},"removeformat":{"toolbar":"Remove Format"},"save":{"toolbar":"Save"},"selectall":{"toolbar":"Select All"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"Source"},"specialchar":{"options":"Special Character Options","title":"Select Special Character","toolbar":"Insert Special Character"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Styles","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Border size","caption":"Caption","cell":{"menu":"Cell","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"Delete Cells","merge":"Merge Cells","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Cell padding","cellSpace":"Cell spacing","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Delete Columns"},"columns":"Columns","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a positive number.","invalidCellSpacing":"Cell spacing must be a positive number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"Table Properties","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Delete Rows"},"rows":"Rows","summary":"Summary","title":"Table Properties","toolbar":"Table","widthPc":"percent","widthPx":"pixels","widthUnit":"width unit"},"undo":{"redo":"Redo","undo":"Undo"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/mk.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/hr.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/hr.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/hr.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['hr']={"editor":"Bogati uređivač teksta, %1","editorPanel":"Ploča Bogatog Uređivača Teksta","common":{"editorHelp":"Pritisni ALT 0 za pomoć","browseServer":"Pretraži server","url":"URL","protocol":"Protokol","upload":"Pošalji","uploadSubmit":"Pošalji na server","image":"Slika","flash":"Flash","form":"Forma","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<nije postavljeno>","id":"Id","name":"Naziv","langDir":"Smjer jezika","langDirLtr":"S lijeva na desno (LTR)","langDirRtl":"S desna na lijevo (RTL)","langCode":"Kôd jezika","longDescr":"Dugački opis URL","cssClass":"Klase stilova","advisoryTitle":"Advisory naslov","cssStyle":"Stil","ok":"OK","cancel":"Poništi","close":"Zatvori","preview":"Pregledaj","resize":"Povuci za promjenu veličine","generalTab":"Općenito","advancedTab":"Napredno","validateNumberFailed":"Ova vrijednost nije broj.","confirmNewPage":"Sve napravljene promjene će biti izgubljene ukoliko ih niste snimili. Sigurno želite učitati novu stranicu?","confirmCancel":"Neke od opcija su promjenjene. Sigurno želite zatvoriti ovaj prozor?","options":"Opcije","target":"Odredište","targetNew":"Novi prozor (_blank)","targetTop":"Vršni prozor (_top)","targetSelf":"Isti prozor (_self)","targetParent":"Roditeljski prozor (_parent)","langDirLTR":"S lijeva na desno (LTR)","langDirRTL":"S desna na lijevo (RTL)","styles":"Stil","cssClasses":"Klase stilova","width":"Širina","height":"Visina","align":"Poravnanje","left":"Lijevo","right":"Desno","center":"Središnje","justify":"Blok poravnanje","alignLeft":"Lijevo poravnanje","alignRight":"Desno poravnanje","alignCenter":"Align Center","alignTop":"Vrh","alignMiddle":"Sredina","alignBottom":"Dolje","alignNone":"Bez poravnanja","invalidValue":"Neispravna vrijednost.","invalidHeight":"Visina mora biti broj.","invalidWidth":"Širina mora biti broj.","invalidLength":"Naznačena vrijednost polja \"%1\" mora biti pozitivni broj sa ili bez važeće mjerne jedinice (%2).","invalidCssLength":"Vrijednost određena za \"%1\" polje mora biti pozitivni broj sa ili bez važećih CSS mjernih jedinica (px, %, in, cm, mm, em, ex, pt ili pc).","invalidHtmlLength":"Vrijednost određena za \"%1\" polje mora biti pozitivni broj sa ili bez važećih HTML mjernih jedinica (px ili %).","invalidInlineStyle":"Vrijednost za linijski stil mora sadržavati jednu ili više definicija s formatom \"naziv:vrijednost\", odvojenih točka-zarezom.","cssLengthTooltip":"Unesite broj za vrijednost u pikselima ili broj s važećim CSS mjernim jedinicama (px, %, in, cm, mm, em, ex, pt ili pc).","unavailable":"%1<span class=\"cke_accessibility\">, nedostupno</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Prečica na tipkovnici","optionDefault":"Zadano"},"about":{"copy":"Autorsko pravo &copy; $1. Sva prava pridržana.","dlgTitle":"O CKEditoru 4","moreInfo":"Za informacije o licencama posjetite našu web stranicu:"},"basicstyles":{"bold":"Podebljano","italic":"Ukošeno","strike":"Precrtano","subscript":"Subscript","superscript":"Superscript","underline":"Potcrtano"},"bidi":{"ltr":"Smjer teksta s lijeva na desno","rtl":"Smjer teksta s desna na lijevo"},"blockquote":{"toolbar":"Citat"},"notification":{"closed":"Obavijest zatvorena."},"button":{"selectedLabel":"%1 (Odabrano)"},"toolbar":{"toolbarCollapse":"Smanji alatnu traku","toolbarExpand":"Proširi alatnu traku","toolbarGroups":{"document":"Dokument","clipboard":"Međuspremnik/Poništi","editing":"Uređivanje","forms":"Forme","basicstyles":"Osnovni stilovi","paragraph":"Paragraf","links":"Veze","insert":"Umetni","styles":"Stilovi","colors":"Boje","tools":"Alatke"},"toolbars":"Alatne trake uređivača teksta"},"clipboard":{"copy":"Kopiraj","copyError":"Sigurnosne postavke Vašeg pretraživača ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tipkovnici (Ctrl/Cmd+C).","cut":"Izreži","cutError":"Sigurnosne postavke Vašeg pretraživača ne dozvoljavaju operacije automatskog izrezivanja. Molimo koristite kraticu na tipkovnici (Ctrl/Cmd+X).","paste":"Zalijepi","pasteNotification":"Vaš preglednik Vam ne dozvoljava lijepljenje običnog teksta na ovaj način. Za lijepljenje, pritisnite %1.","pasteArea":"Okvir za lijepljenje","pasteMsg":"Zalijepite vaš sadržaj u okvir ispod i pritisnite OK.","title":"Zalijepi"},"colorbutton":{"auto":"Automatski","bgColorTitle":"Boja pozadine","colors":{"000":"Crna","800000":"Kesten","8B4513":"Smeđa","2F4F4F":"Tamno siva","008080":"Teal","000080":"Mornarska","4B0082":"Indigo","696969":"Tamno siva","B22222":"Vatrena cigla","A52A2A":"Smeđa","DAA520":"Zlatna","006400":"Tamno zelena","40E0D0":"Tirkizna","0000CD":"Srednje plava","800080":"Ljubičasta","808080":"Siva","F00":"Crvena","FF8C00":"Tamno naranđasta","FFD700":"Zlatna","008000":"Zelena","0FF":"Cijan","00F":"Plava","EE82EE":"Ljubičasta","A9A9A9":"Mutno siva","FFA07A":"Svijetli losos","FFA500":"Naranđasto","FFFF00":"Žuto","00FF00":"Limun","AFEEEE":"Blijedo tirkizna","ADD8E6":"Svijetlo plava","DDA0DD":"Šljiva","D3D3D3":"Svijetlo siva","FFF0F5":"Lavanda rumeno","FAEBD7":"Antikno bijela","FFFFE0":"Svijetlo žuta","F0FFF0":"Med","F0FFFF":"Azurna","F0F8FF":"Alice plava","E6E6FA":"Lavanda","FFF":"Bijela","1ABC9C":"Jaka cijan","2ECC71":"Emerald","3498DB":"Svijetlo plava","9B59B6":"Ametist","4E5F70":"Sivkasto plava","F1C40F":"Žarka žuta","16A085":"Tamna cijan","27AE60":"Tamna emerald","2980B9":"Jaka plava","8E44AD":"Tamno ljubičasta","2C3E50":"Desatuirarana plava","F39C12":"Narančasta","E67E22":"Mrkva","E74C3C":"Blijedo crvena","ECF0F1":"Sjana srebrna","95A5A6":"Svijetlo sivkasta cijan","DDD":"Svijetlo siva","D35400":"Tikva","C0392B":"Jaka crvena","BDC3C7":"Srebrna","7F8C8D":"Sivkasto cijan","999":"Tamno siva"},"more":"Više boja...","panelTitle":"Boje","textColorTitle":"Boja teksta"},"colordialog":{"clear":"Očisti","highlight":"Istaknuto","options":"Opcije boje","selected":"Odabrana boja","title":"Odaberi boju"},"templates":{"button":"Predlošci","emptyListMsg":"(Nema definiranih predložaka)","insertOption":"Zamijeni trenutne sadržaje","options":"Opcije predložaka","selectPromptMsg":"Molimo odaberite predložak koji želite otvoriti","title":"Predlošci sadržaja"},"contextmenu":{"options":"Opcije izbornika"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Savjetodavni naslov","cssClassInputLabel":"Klase stilova","edit":"Uredi DIV","inlineStyleInputLabel":"Stil u liniji","langDirLTRLabel":"S lijeva na desno (LTR)","langDirLabel":"Smjer jezika","langDirRTLLabel":"S desna na lijevo (RTL)","languageCodeInputLabel":"Jezični kod","remove":"Ukloni DIV","styleSelectLabel":"Stil","title":"Napravi DIV kontejner","toolbar":"Napravi DIV kontejner"},"elementspath":{"eleLabel":"Putanje elemenata","eleTitle":"%1 element"},"filetools":{"loadError":"Greška prilikom čitanja datoteke.","networkError":"Mrežna greška prilikom slanja datoteke.","httpError404":"HTTP greška tijekom slanja datoteke (404: datoteka nije pronađena).","httpError403":"HTTP greška tijekom slanja datoteke (403: Zabranjeno).","httpError":"HTTP greška tijekom slanja datoteke (greška status: %1).","noUrlError":"URL za slanje nije podešen.","responseError":"Neispravni odgovor servera."},"find":{"find":"Pronađi","findOptions":"Opcije traženja","findWhat":"Pronađi:","matchCase":"Usporedi mala/velika slova","matchCyclic":"Usporedi kružno","matchWord":"Usporedi cijele riječi","notFoundMsg":"Traženi tekst nije pronađen.","replace":"Zamijeni","replaceAll":"Zamijeni sve","replaceSuccessMsg":"Zamijenjeno %1 pojmova.","replaceWith":"Zamijeni s:","title":"Pronađi i zamijeni"},"fakeobjects":{"anchor":"Sidro","flash":"Flash animacija","hiddenfield":"Sakriveno polje","iframe":"IFrame","unknown":"Nepoznati objekt"},"flash":{"access":"Script Access","accessAlways":"Uvijek","accessNever":"Nikad","accessSameDomain":"Ista domena","alignAbsBottom":"Abs dolje","alignAbsMiddle":"Abs sredina","alignBaseline":"Bazno","alignTextTop":"Vrh teksta","bgcolor":"Boja pozadine","chkFull":"Omogući Fullscreen","chkLoop":"Ponavljaj","chkMenu":"Omogući Flash izbornik","chkPlay":"Auto Play","flashvars":"Varijable za Flash","hSpace":"HSpace","properties":"Flash svojstva","propertiesTab":"Svojstva","quality":"Kvaliteta","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Omjer","scaleAll":"Prikaži sve","scaleFit":"Točna veličina","scaleNoBorder":"Bez okvira","title":"Flash svojstva","vSpace":"VSpace","validateHSpace":"HSpace mora biti broj.","validateSrc":"Molimo upišite URL link.","validateVSpace":"VSpace mora biti broj.","windowMode":"Vrsta prozora","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Veličina","voiceLabel":"Veličina slova","panelTitle":"Veličina"},"label":"Font","panelTitle":"Naziv fonta","voiceLabel":"Font"},"forms":{"button":{"title":"Svojstva gumba","text":"Tekst (vrijednost)","type":"Vrsta","typeBtn":"Gumb","typeSbm":"Pošalji","typeRst":"Poništi"},"checkboxAndRadio":{"checkboxTitle":"Checkbox svojstva","radioTitle":"Radio Button svojstva","value":"Vrijednost","selected":"Odabrano","required":"Potrebno"},"form":{"title":"Svojstva forme","menu":"Svojstva forme","action":"Akcija","method":"Metoda","encoding":"Encoding"},"hidden":{"title":"Svojstva sakrivenog polja","name":"Ime","value":"Vrijednost"},"select":{"title":"Svojstva selection polja","selectInfo":"Info","opAvail":"Dostupne opcije","value":"Vrijednost","size":"Veličina","lines":"linija","chkMulti":"Dozvoli višestruki odabir","required":"Potrebno","opText":"Tekst","opValue":"Vrijednost","btnAdd":"Dodaj","btnModify":"Promijeni","btnUp":"Gore","btnDown":"Dolje","btnSetValue":"Postavi kao odabranu vrijednost","btnDelete":"Obriši"},"textarea":{"title":"Textarea svojstva","cols":"Kolona","rows":"Redova"},"textfield":{"title":"Svojstva tekst polja","name":"Ime","value":"Vrijednost","charWidth":"Širina","maxChars":"Najviše karaktera","required":"Potrebno","type":"Vrsta","typeText":"Tekst","typePass":"Šifra","typeEmail":"Email","typeSearch":"Traži","typeTel":"Broj telefona","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Format paragrafa","tag_address":"Adresa","tag_div":"Normalno (DIV)","tag_h1":"Naslov 1","tag_h2":"Naslov 2","tag_h3":"Naslov 3","tag_h4":"Naslov 4","tag_h5":"Naslov 5","tag_h6":"Naslov 6","tag_p":"Normalno","tag_pre":"Formatirano"},"horizontalrule":{"toolbar":"Ubaci vodoravnu liniju"},"iframe":{"border":"Prikaži okvir IFrame-a","noUrl":"Unesite URL IFrame-a","scrolling":"Omogući trake za skrolanje","title":"IFrame svojstva","toolbar":"IFrame"},"image":{"alt":"Alternativni tekst","border":"Okvir","btnUpload":"Pošalji na server","button2Img":"Želite li promijeniti odabrani gumb u jednostavnu sliku?","hSpace":"HSpace","img2Button":"Želite li promijeniti odabranu sliku u gumb?","infoTab":"Info slike","linkTab":"Veza","lockRatio":"Zaključaj odnos","menu":"Svojstva slika","resetSize":"Obriši veličinu","title":"Svojstva slika","titleButton":"Image Button svojstva","upload":"Pošalji","urlMissing":"Nedostaje URL slike.","vSpace":"VSpace","validateBorder":"Okvir mora biti cijeli broj.","validateHSpace":"HSpace mora biti cijeli broj","validateVSpace":"VSpace mora biti cijeli broj."},"indent":{"indent":"Pomakni udesno","outdent":"Pomakni ulijevo"},"smiley":{"options":"Opcije smješka","title":"Ubaci smješka","toolbar":"Smješko"},"language":{"button":"Namjesti jezik","remove":"Makni jezik"},"link":{"acccessKey":"Pristupna tipka","advanced":"Napredno","advisoryContentType":"Savjetodavna vrsta sadržaja","advisoryTitle":"Savjetodavni naslov","anchor":{"toolbar":"Ubaci/promijeni sidro","menu":"Svojstva sidra","title":"Svojstva sidra","name":"Ime sidra","errorName":"Molimo unesite ime sidra","remove":"Ukloni sidro"},"anchorId":"Po Id elementa","anchorName":"Po nazivu sidra","charset":"Kodna stranica povezanih resursa","cssClasses":"Stylesheet klase","download":"Preuzmi na silu","displayText":"Prikaži tekst","emailAddress":"E-Mail adresa","emailBody":"Sadržaj poruke","emailSubject":"Naslov","id":"Id","info":"Link Info","langCode":"Smjer jezika","langDir":"Smjer jezika","langDirLTR":"S lijeva na desno (LTR)","langDirRTL":"S desna na lijevo (RTL)","menu":"Promijeni link","name":"Naziv","noAnchors":"(Nema dostupnih sidra)","noEmail":"Molimo upišite e-mail adresu","noUrl":"Molimo upišite URL link","other":"<drugi>","popupDependent":"Ovisno (Netscape)","popupFeatures":"Mogućnosti popup prozora","popupFullScreen":"Cijeli ekran (IE)","popupLeft":"Lijeva pozicija","popupLocationBar":"Traka za lokaciju","popupMenuBar":"Izborna traka","popupResizable":"Promjenjiva veličina","popupScrollBars":"Scroll traka","popupStatusBar":"Statusna traka","popupToolbar":"Traka s alatima","popupTop":"Gornja pozicija","rel":"Veza","selectAnchor":"Odaberi sidro","styles":"Stil","tabIndex":"Tab Indeks","target":"Meta","targetFrame":"<okvir>","targetFrameName":"Ime ciljnog okvira","targetPopup":"<popup prozor>","targetPopupName":"Naziv popup prozora","title":"Veza","toAnchor":"Sidro na ovoj stranici","toEmail":"E-Mail","toUrl":"URL","toolbar":"Ubaci/promijeni vezu","type":"Vrsta veze","unlink":"Ukloni vezu","upload":"Pošalji"},"list":{"bulletedlist":"Obična lista","numberedlist":"Brojčana lista"},"liststyle":{"armenian":"Armenijska numeracija","bulletedTitle":"Svojstva liste","circle":"Krug","decimal":"Decimalna numeracija (1, 2, 3, itd.)","decimalLeadingZero":"Decimalna s vodećom nulom (01, 02, 03, itd)","disc":"Disk","georgian":"Gruzijska numeracija(an, ban, gan, etc.)","lowerAlpha":"Znakovi mala slova (a, b, c, d, e, itd.)","lowerGreek":"Grčka numeracija mala slova (alfa, beta, gama, itd).","lowerRoman":"Romanska numeracija mala slova (i, ii, iii, iv, v, itd.)","none":"Bez","notset":"<nije određen>","numberedTitle":"Svojstva brojčane liste","square":"Kvadrat","start":"Početak","type":"Vrsta","upperAlpha":"Znakovi velika slova (A, B, C, D, E, itd.)","upperRoman":"Romanska numeracija velika slova (I, II, III, IV, V, itd.)","validateStartNumber":"Početak brojčane liste mora biti cijeli broj."},"magicline":{"title":"Ubaci paragraf ovdje"},"maximize":{"maximize":"Povećaj","minimize":"Smanji"},"newpage":{"toolbar":"Nova stranica"},"pagebreak":{"alt":"Prijelom stranice","toolbar":"Ubaci prijelom stranice"},"pastetext":{"button":"Zalijepi kao čisti tekst","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Zalijepi kao čisti tekst"},"pastefromword":{"confirmCleanup":"Tekst koji želite zalijepiti čini se da je kopiran iz Worda. Želite li prije očistiti tekst?","error":"Nije moguće očistiti podatke za ljepljenje zbog interne greške","title":"Zalijepi iz Worda","toolbar":"Zalijepi iz Worda"},"preview":{"preview":"Pregledaj"},"print":{"toolbar":"Ispiši"},"removeformat":{"toolbar":"Ukloni formatiranje"},"save":{"toolbar":"Snimi"},"selectall":{"toolbar":"Odaberi sve"},"showblocks":{"toolbar":"Prikaži blokove"},"sourcearea":{"toolbar":"Kôd"},"specialchar":{"options":"Opcije specijalnih znakova","title":"Odaberite posebni karakter","toolbar":"Ubaci posebni znak"},"scayt":{"btn_about":"O SCAYT","btn_dictionaries":"Rječnici","btn_disable":"Onemogući SCAYT","btn_enable":"Omogući SCAYT","btn_langs":"Jezici","btn_options":"Opcije","text_title":"Provjeri pravopis tijekom tipkanja (SCAYT)"},"stylescombo":{"label":"Stil","panelTitle":"Stilovi formatiranja","panelTitle1":"Block stilovi","panelTitle2":"Inline stilovi","panelTitle3":"Object stilovi"},"table":{"border":"Veličina okvira","caption":"Naslov","cell":{"menu":"Ćelija","insertBefore":"Ubaci ćeliju prije","insertAfter":"Ubaci ćeliju poslije","deleteCell":"Izbriši ćelije","merge":"Spoji ćelije","mergeRight":"Spoji desno","mergeDown":"Spoji dolje","splitHorizontal":"Podijeli ćeliju vodoravno","splitVertical":"Podijeli ćeliju okomito","title":"Svojstva ćelije","cellType":"Vrsta ćelije","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Prelazak u novi red","hAlign":"Vodoravno poravnanje","vAlign":"Okomito poravnanje","alignBaseline":"Osnovna linija","bgColor":"Boja pozadine","borderColor":"Boja ruba","data":"Podatak","header":"Zaglavlje","yes":"Da","no":"Ne","invalidWidth":"Širina ćelije mora biti broj.","invalidHeight":"Visina ćelije mora biti broj.","invalidRowSpan":"Rows span mora biti cijeli broj.","invalidColSpan":"Columns span mora biti cijeli broj.","chooseColor":"Odaberi"},"cellPad":"Razmak ćelija","cellSpace":"Prostornost ćelija","column":{"menu":"Kolona","insertBefore":"Ubaci kolonu prije","insertAfter":"Ubaci kolonu poslije","deleteColumn":"Izbriši kolone"},"columns":"Kolona","deleteTable":"Izbriši tablicu","headers":"Zaglavlje","headersBoth":"Oba","headersColumn":"Prva kolona","headersNone":"Ništa","headersRow":"Prvi red","invalidBorder":"Debljina ruba mora biti broj.","invalidCellPadding":"Razmak ćelija mora biti broj.","invalidCellSpacing":"Prostornost ćelija mora biti broj.","invalidCols":"Broj kolona mora biti broj veći od 0.","invalidHeight":"Visina tablice mora biti broj.","invalidRows":"Broj redova mora biti broj veći od 0.","invalidWidth":"Širina tablice mora biti broj.","menu":"Svojstva tablice","row":{"menu":"Red","insertBefore":"Ubaci red prije","insertAfter":"Ubaci red poslije","deleteRow":"Izbriši redove"},"rows":"Redova","summary":"Sažetak","title":"Svojstva tablice","toolbar":"Tablica","widthPc":"postotaka","widthPx":"piksela","widthUnit":"jedinica širine"},"undo":{"redo":"Ponovi","undo":"Poništi"},"widget":{"move":"Klikni i povuci za pomicanje","label":"%1 widget"},"uploadwidget":{"abort":"Slanje prekinuto od strane korisnika","doneOne":"Datoteka uspješno poslana.","doneMany":"Uspješno poslano %1 datoteka.","uploadOne":"Slanje datoteke ({percentage}%)...","uploadMany":"Slanje datoteka, {current} od {max} gotovo ({percentage}%)..."},"wsc":{"btnIgnore":"Zanemari","btnIgnoreAll":"Zanemari sve","btnReplace":"Zamijeni","btnReplaceAll":"Zamijeni sve","btnUndo":"Vrati","changeTo":"Promijeni u","errorLoading":"Greška učitavanja aplikacije: %s.","ieSpellDownload":"Provjera pravopisa nije instalirana. Želite li skinuti provjeru pravopisa?","manyChanges":"Provjera završena: Promijenjeno %1 riječi","noChanges":"Provjera završena: Nije napravljena promjena","noMispell":"Provjera završena: Nema grešaka","noSuggestions":"-Nema preporuke-","notAvailable":"Žao nam je, ali usluga trenutno nije dostupna.","notInDic":"Nije u rječniku","oneChange":"Provjera završena: Jedna riječ promjenjena","progress":"Provjera u tijeku...","title":"Provjera pravopisa","toolbar":"Provjeri pravopis"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/hr.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/tr.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/tr.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/tr.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['tr']={"editor":"Zengin Metin Editörü","editorPanel":"Zengin Metin Editör Paneli","common":{"editorHelp":"Yardım için ALT 0 tuşlarına basın","browseServer":"Sunucuya Gözat","url":"URL","protocol":"Protokol","upload":"Karşıya Yükle","uploadSubmit":"Sunucuya Gönder","image":"Resim","flash":"Flash","form":"Form","checkbox":"Onay Kutusu","radio":"Seçenek Düğmesi","textField":"Metin Kutusu","textarea":"Metin Alanı","hiddenField":"Gizli Alan","button":"Düğme","select":"Seçme Alanı","imageButton":"Resim Düğmesi","notSet":"<tanımlanmamış>","id":"Kimlik","name":"İsim","langDir":"Dil Yönü","langDirLtr":"Soldan Sağa (LTR)","langDirRtl":"Sağdan Sola (RTL)","langCode":"Dil Kodlaması","longDescr":"Uzun Tanımlı URL","cssClass":"Biçem Sayfası Sınıfları","advisoryTitle":"Öneri Başlığı","cssStyle":"Biçem","ok":"Tamam","cancel":"İptal","close":"Kapat","preview":"Önizleme","resize":"Yeniden Boyutlandır","generalTab":"Genel","advancedTab":"Gelişmiş","validateNumberFailed":"Bu değer bir sayı değildir.","confirmNewPage":"Bu içerikle ilgili kaydedilmemiş tüm bilgiler kaybolacaktır. Yeni bir sayfa yüklemek istediğinizden emin misiniz?","confirmCancel":"Bazı seçenekleri değiştirdiniz. İletişim penceresini kapatmak istediğinizden emin misiniz?","options":"Seçenekler","target":"Hedef","targetNew":"Yeni Pencere (_blank)","targetTop":"En Üstteki Pencere (_top)","targetSelf":"Aynı Pencere (_self)","targetParent":"Üst Pencere (_parent)","langDirLTR":"Soldan Sağa (LTR)","langDirRTL":"Sağdan Sola (RTL)","styles":"Biçem","cssClasses":"Biçem Sayfası Sınıfları","width":"Genişlik","height":"Yükseklik","align":"Hizalama","left":"Sol","right":"Sağ","center":"Ortala","justify":"İki Kenara Yaslanmış","alignLeft":"Sola Dayalı","alignRight":"Sağa Dayalı","alignCenter":"Align Center","alignTop":"Üst","alignMiddle":"Orta","alignBottom":"Alt","alignNone":"Hiçbiri","invalidValue":"Geçersiz değer.","invalidHeight":"Yükseklik değeri bir sayı olmalıdır.","invalidWidth":"Genişlik değeri bir sayı olmalıdır.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"\"%1\" alanı için verilen değer, geçerli bir CSS ölçü birimi (px, %, in, cm, mm, em, ex, pt, veya pc) içeren veya içermeyen pozitif bir sayı olmalıdır.","invalidHtmlLength":"Belirttiğiniz sayı \"%1\" alanı için pozitif bir sayı HTML birim değeri olmalıdır (px veya %).","invalidInlineStyle":"Satıriçi biçem için verilen değer, \"isim : değer\" biçiminde birbirinden noktalı virgüllerle ayrılan bir veya daha fazla değişkenler grubundan oluşmalıdır.","cssLengthTooltip":"Piksel türünde bir sayı veya geçerli bir CSS ölçü birimi (px, %, in, cm, mm, em, ex, pt veya pc) içeren bir sayı girin.","unavailable":"%1<span class=\"cke_accessibility\">, kullanılamaz</span>","keyboard":{"8":"Silme Tuşu","13":"Giriş Tuşu","16":"Üst Karater Tuşu","17":"Kontrol Tuşu","18":"Alt Tuşu","32":"Boşluk Tuşu","35":"En Sona Tuşu","36":"En Başa Tuşu","46":"Silme Tuşu","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Komut Tuşu"},"keyboardShortcut":"Klavye Kısayolu","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Tüm hakları saklıdır.","dlgTitle":"CKEditor Hakkında","moreInfo":"Lisanslama hakkında daha fazla bilgi almak için lütfen sitemizi ziyaret edin:"},"basicstyles":{"bold":"Kalın","italic":"İtalik","strike":"Üstü Çizgili","subscript":"Alt Simge","superscript":"Üst Simge","underline":"Altı Çizgili"},"bidi":{"ltr":"Metin yönü soldan sağa","rtl":"Metin yönü sağdan sola"},"blockquote":{"toolbar":"Blok Oluştur"},"notification":{"closed":"Uyarılar kapatıldı."},"button":{"selectedLabel":"%1 (Seçilmiş)"},"toolbar":{"toolbarCollapse":"Araç çubuklarını topla","toolbarExpand":"Araç çubuklarını aç","toolbarGroups":{"document":"Belge","clipboard":"Pano/Geri al","editing":"Düzenleme","forms":"Formlar","basicstyles":"Temel Stiller","paragraph":"Paragraf","links":"Bağlantılar","insert":"Ekle","styles":"Stiller","colors":"Renkler","tools":"Araçlar"},"toolbars":"Araç çubukları Editörü"},"clipboard":{"copy":"Kopyala","copyError":"Gezgin yazılımınızın güvenlik ayarları düzenleyicinin otomatik kopyalama işlemine izin vermiyor. İşlem için (Ctrl/Cmd+C) tuşlarını kullanın.","cut":"Kes","cutError":"Gezgin yazılımınızın güvenlik ayarları düzenleyicinin otomatik kesme işlemine izin vermiyor. İşlem için (Ctrl/Cmd+X) tuşlarını kullanın.","paste":"Yapıştır","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Yapıştırma Alanı","pasteMsg":"Paste your content inside the area below and press OK.","title":"Yapıştır"},"colorbutton":{"auto":"Otomatik","bgColorTitle":"Arka Renk","colors":{"000":"Siyah","800000":"Kestane","8B4513":"Koyu Kahverengi","2F4F4F":"Koyu Kurşuni Gri","008080":"Teal","000080":"Mavi","4B0082":"Çivit Mavisi","696969":"Silik Gri","B22222":"Ateş Tuğlası","A52A2A":"Kahverengi","DAA520":"Altun Sırık","006400":"Koyu Yeşil","40E0D0":"Turkuaz","0000CD":"Orta Mavi","800080":"Pembe","808080":"Gri","F00":"Kırmızı","FF8C00":"Koyu Portakal","FFD700":"Altın","008000":"Yeşil","0FF":"Ciyan","00F":"Mavi","EE82EE":"Menekşe","A9A9A9":"Koyu Gri","FFA07A":"Açık Sarımsı","FFA500":"Portakal","FFFF00":"Sarı","00FF00":"Açık Yeşil","AFEEEE":"Sönük Turkuaz","ADD8E6":"Açık Mavi","DDA0DD":"Mor","D3D3D3":"Açık Gri","FFF0F5":"Eflatun Pembe","FAEBD7":"Antik Beyaz","FFFFE0":"Açık Sarı","F0FFF0":"Balsarısı","F0FFFF":"Gök Mavisi","F0F8FF":"Reha Mavi","E6E6FA":"Eflatun","FFF":"Beyaz","1ABC9C":"Koyu Camgöbeği","2ECC71":"Zümrüt Yeşili","3498DB":"Parlak Mavi","9B59B6":"Ametist Moru","4E5F70":"Kirli Gri Mavi","F1C40F":"Canlı Sarı","16A085":"Koyu Camgöbeği","27AE60":"Koyu Zümrüt Yeşili","2980B9":"Koyu Mavi","8E44AD":"Koyu Menekşe","2C3E50":"Koyu Lacivert","F39C12":"Turuncu","E67E22":"Havuç Turuncusu","E74C3C":"Soluk Kırmızı","ECF0F1":"Parlak Gümüş","95A5A6":"Açık Kirli Gri Camgöbeği","DDD":"Açık Gri","D35400":"Balkabağı Turuncusu","C0392B":"Kan Kırmızı","BDC3C7":"Gümüş","7F8C8D":"Kirli Gri Camgöbeği","999":"Koyu Gri"},"more":"Diğer renkler...","panelTitle":"Renkler","textColorTitle":"Yazı Rengi"},"colordialog":{"clear":"Temizle","highlight":"İşaretle","options":"Renk Seçenekleri","selected":"Seçilmiş","title":"Renk seç"},"templates":{"button":"Şablonlar","emptyListMsg":"(Belirli bir şablon seçilmedi)","insertOption":"Mevcut içerik ile değiştir","options":"Şablon Seçenekleri","selectPromptMsg":"Düzenleyicide açmak için lütfen bir şablon seçin.<br>(hali hazırdaki içerik kaybolacaktır.):","title":"İçerik Şablonları"},"contextmenu":{"options":"İçerik Menüsü Seçenekleri"},"copyformatting":{"label":"Formatı Kopyala","notification":{"copied":"Formatlama Kopyalandı","applied":"Formatlama Uygulandı","canceled":"Formatlama İptal Edildi","failed":"Formatlama hatası. İlk önce onları kopyalamadan stilleri uygulayamazsınız."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Tavsiye Başlığı","cssClassInputLabel":"Stilltipi Sınıfı","edit":"Div Düzenle","inlineStyleInputLabel":"Inline Stili","langDirLTRLabel":"Soldan sağa (LTR)","langDirLabel":"Dil Yönü","langDirRTLLabel":"Sağdan sola (RTL)","languageCodeInputLabel":" Dil Kodu","remove":"Div Kaldır","styleSelectLabel":"Stil","title":"Div İçeriği Oluştur","toolbar":"Div İçeriği Oluştur"},"elementspath":{"eleLabel":"Elementlerin yolu","eleTitle":"%1 elementi"},"filetools":{"loadError":"Dosya okunurken hata oluştu.","networkError":"Dosya gönderilirken ağ hatası oluştu.","httpError404":"Dosya gönderilirken HTTP hatası oluştu (404: Dosya bulunamadı).","httpError403":"Dosya gönderilirken HTTP hatası oluştu (403: Yasaklı).","httpError":"Dosya gönderilirken HTTP hatası oluştu (hata durumu: %1).","noUrlError":"Gönderilecek URL belirtilmedi.","responseError":"Sunucu cevap veremedi."},"find":{"find":"Bul","findOptions":"Seçenekleri Bul","findWhat":"Aranan:","matchCase":"Büyük/küçük harf duyarlı","matchCyclic":"Eşleşen döngü","matchWord":"Kelimenin tamamı uysun","notFoundMsg":"Belirtilen yazı bulunamadı.","replace":"Değiştir","replaceAll":"Tümünü Değiştir","replaceSuccessMsg":"%1 bulunanlardan değiştirildi.","replaceWith":"Bununla değiştir:","title":"Bul ve Değiştir"},"fakeobjects":{"anchor":"Bağlantı","flash":"Flash Animasyonu","hiddenfield":"Gizli Alan","iframe":"IFrame","unknown":"Bilinmeyen Nesne"},"flash":{"access":"Kod İzni","accessAlways":"Herzaman","accessNever":"Asla","accessSameDomain":"Aynı domain","alignAbsBottom":"Tam Altı","alignAbsMiddle":"Tam Ortası","alignBaseline":"Taban Çizgisi","alignTextTop":"Yazı Tepeye","bgcolor":"Arka Renk","chkFull":"Tam ekrana İzinver","chkLoop":"Döngü","chkMenu":"Flash Menüsünü Kullan","chkPlay":"Otomatik Oynat","flashvars":"Flash Değerleri","hSpace":"Yatay Boşluk","properties":"Flash Özellikleri","propertiesTab":"Özellikler","quality":"Kalite","qualityAutoHigh":"Otomatik Yükseklik","qualityAutoLow":"Otomatik Düşüklük","qualityBest":"En iyi","qualityHigh":"Yüksek","qualityLow":"Düşük","qualityMedium":"Orta","scale":"Boyutlandır","scaleAll":"Hepsini Göster","scaleFit":"Tam Sığdır","scaleNoBorder":"Kenar Yok","title":"Flash Özellikleri","vSpace":"Dikey Boşluk","validateHSpace":"HSpace sayı olmalıdır.","validateSrc":"Lütfen köprü URL'sini yazın","validateVSpace":"VSpace sayı olmalıdır.","windowMode":"Pencere modu","windowModeOpaque":"Opak","windowModeTransparent":"Şeffaf","windowModeWindow":"Pencere"},"font":{"fontSize":{"label":"Boyut","voiceLabel":"Font Size","panelTitle":"Boyut"},"label":"Yazı Türü","panelTitle":"Yazı Türü","voiceLabel":"Font"},"forms":{"button":{"title":"Düğme Özellikleri","text":"Metin (Değer)","type":"Tip","typeBtn":"Düğme","typeSbm":"Gönder","typeRst":"Sıfırla"},"checkboxAndRadio":{"checkboxTitle":"Onay Kutusu Özellikleri","radioTitle":"Seçenek Düğmesi Özellikleri","value":"Değer","selected":"Seçili","required":"Zorunlu"},"form":{"title":"Form Özellikleri","menu":"Form Özellikleri","action":"İşlem","method":"Yöntem","encoding":"Kodlama"},"hidden":{"title":"Gizli Veri Özellikleri","name":"Ad","value":"Değer"},"select":{"title":"Seçim Menüsü Özellikleri","selectInfo":"Bilgi","opAvail":"Mevcut Seçenekler","value":"Değer","size":"Boyut","lines":"satır","chkMulti":"Çoklu seçime izin ver","required":"Zorunlu","opText":"Metin","opValue":"Değer","btnAdd":"Ekle","btnModify":"Düzenle","btnUp":"Yukarı","btnDown":"Aşağı","btnSetValue":"Seçili değer olarak ata","btnDelete":"Sil"},"textarea":{"title":"Çok Satırlı Metin Özellikleri","cols":"Sütunlar","rows":"Satırlar"},"textfield":{"title":"Metin Girişi Özellikleri","name":"Ad","value":"Değer","charWidth":"Karakter Genişliği","maxChars":"En Fazla Karakter","required":"Zorunlu","type":"Tür","typeText":"Metin","typePass":"Şifre","typeEmail":"E-posta","typeSearch":"Ara","typeTel":"Telefon Numarası","typeUrl":"URL"}},"format":{"label":"Biçim","panelTitle":"Biçim","tag_address":"Adres","tag_div":"Paragraf (DIV)","tag_h1":"Başlık 1","tag_h2":"Başlık 2","tag_h3":"Başlık 3","tag_h4":"Başlık 4","tag_h5":"Başlık 5","tag_h6":"Başlık 6","tag_p":"Normal","tag_pre":"Biçimli"},"horizontalrule":{"toolbar":"Yatay Satır Ekle"},"iframe":{"border":"Çerceve sınırlarını göster","noUrl":"Lütfen IFrame köprü (URL) bağlantısını yazın","scrolling":"Kaydırma çubuklarını aktif et","title":"IFrame Özellikleri","toolbar":"IFrame"},"image":{"alt":"Alternatif Yazı","border":"Kenar","btnUpload":"Sunucuya Yolla","button2Img":"Seçili resim butonunu basit resime çevirmek istermisiniz?","hSpace":"Yatay Boşluk","img2Button":"Seçili olan resimi, resimli butona çevirmek istermisiniz?","infoTab":"Resim Bilgisi","linkTab":"Köprü","lockRatio":"Oranı Kilitle","menu":"Resim Özellikleri","resetSize":"Boyutu Başa Döndür","title":"Resim Özellikleri","titleButton":"Resimli Düğme Özellikleri","upload":"Karşıya Yükle","urlMissing":"Resmin URL kaynağı eksiktir.","vSpace":"Dikey Boşluk","validateBorder":"Çerçeve tam sayı olmalıdır.","validateHSpace":"HSpace tam sayı olmalıdır.","validateVSpace":"VSpace tam sayı olmalıdır."},"indent":{"indent":"Sekme Arttır","outdent":"Sekme Azalt"},"smiley":{"options":"İfade Seçenekleri","title":"İfade Ekle","toolbar":"İfade"},"language":{"button":"Dili seç","remove":"Dili kaldır"},"link":{"acccessKey":"Erişim Tuşu","advanced":"Gelişmiş","advisoryContentType":"Danışma İçerik Türü","advisoryTitle":"Danışma Başlığı","anchor":{"toolbar":"Bağlantı Ekle/Düzenle","menu":"Bağlantı Özellikleri","title":"Bağlantı Özellikleri","name":"Bağlantı Adı","errorName":"Lütfen bağlantı için ad giriniz","remove":"Bağlantıyı Kaldır"},"anchorId":"Eleman Kimlik Numarası ile","anchorName":"Bağlantı Adı ile","charset":"Bağlı Kaynak Karakter Gurubu","cssClasses":"Biçem Sayfası Sınıfları","download":"İndirmeye Zorla","displayText":"Gösterim Metni","emailAddress":"E-Posta Adresi","emailBody":"İleti Gövdesi","emailSubject":"İleti Konusu","id":"Id","info":"Link Bilgisi","langCode":"Dil Yönü","langDir":"Dil Yönü","langDirLTR":"Soldan Sağa (LTR)","langDirRTL":"Sağdan Sola (RTL)","menu":"Link Düzenle","name":"Ad","noAnchors":"(Bu belgede hiç çapa yok)","noEmail":"Lütfen E-posta adresini yazın","noUrl":"Lütfen Link URL'sini yazın","other":"<diğer>","popupDependent":"Bağımlı (Netscape)","popupFeatures":"Yeni Açılan Pencere Özellikleri","popupFullScreen":"Tam Ekran (IE)","popupLeft":"Sola Göre Konum","popupLocationBar":"Yer Çubuğu","popupMenuBar":"Menü Çubuğu","popupResizable":"Resizable","popupScrollBars":"Kaydırma Çubukları","popupStatusBar":"Durum Çubuğu","popupToolbar":"Araç Çubuğu","popupTop":"Yukarıya Göre Konum","rel":"İlişki","selectAnchor":"Bağlantı Seç","styles":"Biçem","tabIndex":"Sekme İndeksi","target":"Hedef","targetFrame":"<çerçeve>","targetFrameName":"Hedef Çerçeve Adı","targetPopup":"<yeni açılan pencere>","targetPopupName":"Yeni Açılan Pencere Adı","title":"Link","toAnchor":"Bu sayfada çapa","toEmail":"E-Posta","toUrl":"URL","toolbar":"Link Ekle/Düzenle","type":"Link Türü","unlink":"Köprü Kaldır","upload":"Karşıya Yükle"},"list":{"bulletedlist":"Simgeli Liste","numberedlist":"Numaralı Liste"},"liststyle":{"armenian":"Ermenice sayılandırma","bulletedTitle":"Simgeli Liste Özellikleri","circle":"Daire","decimal":"Ondalık (1, 2, 3, vs.)","decimalLeadingZero":"Başı sıfırlı ondalık (01, 02, 03, vs.)","disc":"Disk","georgian":"Gürcüce numaralandırma (an, ban, gan, vs.)","lowerAlpha":"Küçük Alpha (a, b, c, d, e, vs.)","lowerGreek":"Küçük Greek (alpha, beta, gamma, vs.)","lowerRoman":"Küçük Roman (i, ii, iii, iv, v, vs.)","none":"Yok","notset":"<ayarlanmamış>","numberedTitle":"Sayılandırılmış Liste Özellikleri","square":"Kare","start":"Başla","type":"Tipi","upperAlpha":"Büyük Alpha (A, B, C, D, E, vs.)","upperRoman":"Büyük Roman (I, II, III, IV, V, vs.)","validateStartNumber":"Liste başlangıcı tam sayı olmalıdır."},"magicline":{"title":"Parağrafı buraya ekle"},"maximize":{"maximize":"Büyült","minimize":"Küçült"},"newpage":{"toolbar":"Yeni Sayfa"},"pagebreak":{"alt":"Sayfa Sonu","toolbar":"Sayfa Sonu Ekle"},"pastetext":{"button":"Düz Metin Olarak Yapıştır","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Düz Metin Olarak Yapıştır"},"pastefromword":{"confirmCleanup":"Yapıştırmaya çalıştığınız metin Word'den kopyalanmıştır. Yapıştırmadan önce silmek istermisiniz?","error":"Yapıştırmadaki veri bilgisi hata düzelene kadar silinmeyecektir","title":"Word'den Yapıştır","toolbar":"Word'den Yapıştır"},"preview":{"preview":"Ön İzleme"},"print":{"toolbar":"Yazdır"},"removeformat":{"toolbar":"Biçimi Kaldır"},"save":{"toolbar":"Kaydet"},"selectall":{"toolbar":"Tümünü Seç"},"showblocks":{"toolbar":"Blokları Göster"},"sourcearea":{"toolbar":"Kaynak"},"specialchar":{"options":"Özel Karakter Seçenekleri","title":"Özel Karakter Seç","toolbar":"Özel Karakter Ekle"},"scayt":{"btn_about":"SCAYT'ı hakkında","btn_dictionaries":"Sözlükler","btn_disable":"SCAYT'ı pasifleştir","btn_enable":"SCAYT'ı etkinleştir","btn_langs":"Diller","btn_options":"Seçenekler","text_title":"Girmiş olduğunuz kelime denetimi"},"stylescombo":{"label":"Biçem","panelTitle":"Stilleri Düzenliyor","panelTitle1":"Blok Stilleri","panelTitle2":"Inline Stilleri","panelTitle3":"Nesne Stilleri"},"table":{"border":"Kenar Kalınlığı","caption":"Başlık","cell":{"menu":"Hücre","insertBefore":"Hücre Ekle - Önce","insertAfter":"Hücre Ekle - Sonra","deleteCell":"Hücre Sil","merge":"Hücreleri Birleştir","mergeRight":"Birleştir - Sağdaki İle ","mergeDown":"Birleştir - Aşağıdaki İle ","splitHorizontal":"Hücreyi Yatay Böl","splitVertical":"Hücreyi Dikey Böl","title":"Hücre Özellikleri","cellType":"Hücre Tipi","rowSpan":"Satırlar Mesafesi (Span)","colSpan":"Sütünlar Mesafesi (Span)","wordWrap":"Kelime Kaydırma","hAlign":"Düşey Hizalama","vAlign":"Yataş Hizalama","alignBaseline":"Tabana","bgColor":"Arkaplan Rengi","borderColor":"Çerçeve Rengi","data":"Veri","header":"Başlık","yes":"Evet","no":"Hayır","invalidWidth":"Hücre genişliği sayı olmalıdır.","invalidHeight":"Hücre yüksekliği sayı olmalıdır.","invalidRowSpan":"Satırların mesafesi tam sayı olmalıdır.","invalidColSpan":"Sütünların mesafesi tam sayı olmalıdır.","chooseColor":"Seçiniz"},"cellPad":"Izgara yazı arası","cellSpace":"Izgara kalınlığı","column":{"menu":"Sütun","insertBefore":"Kolon Ekle - Önce","insertAfter":"Kolon Ekle - Sonra","deleteColumn":"Sütun Sil"},"columns":"Sütunlar","deleteTable":"Tabloyu Sil","headers":"Başlıklar","headersBoth":"Her İkisi","headersColumn":"İlk Sütun","headersNone":"Yok","headersRow":"İlk Satır","invalidBorder":"Çerceve büyüklüklüğü sayı olmalıdır.","invalidCellPadding":"Hücre aralığı (padding) sayı olmalıdır.","invalidCellSpacing":"Hücre boşluğu (spacing) sayı olmalıdır.","invalidCols":"Sütün sayısı 0 sayısından büyük olmalıdır.","invalidHeight":"Tablo yüksekliği sayı olmalıdır.","invalidRows":"Satır sayısı 0 sayısından büyük olmalıdır.","invalidWidth":"Tablo genişliği sayı olmalıdır.","menu":"Tablo Özellikleri","row":{"menu":"Satır","insertBefore":"Satır Ekle - Önce","insertAfter":"Satır Ekle - Sonra","deleteRow":"Satır Sil"},"rows":"Satırlar","summary":"Özet","title":"Tablo Özellikleri","toolbar":"Tablo","widthPc":"yüzde","widthPx":"piksel","widthUnit":"genişlik birimi"},"undo":{"redo":"Tekrarla","undo":"Geri Al"},"widget":{"move":"Taşımak için, tıklayın ve sürükleyin","label":"%1 Grafik Beleşeni"},"uploadwidget":{"abort":"Gönderme işlemi kullanıcı tarafından durduruldu.","doneOne":"Gönderim işlemi başarılı şekilde tamamlandı.","doneMany":"%1 dosya başarılı şekilde gönderildi.","uploadOne":"Dosyanın ({percentage}%) gönderildi...","uploadMany":"Toplam {current} / {max} dosyanın ({percentage}%) gönderildi..."},"wsc":{"btnIgnore":"Yoksay","btnIgnoreAll":"Tümünü Yoksay","btnReplace":"Değiştir","btnReplaceAll":"Tümünü Değiştir","btnUndo":"Geri Al","changeTo":"Şuna değiştir:","errorLoading":"Uygulamada yüklerken hata oluştu: %s.","ieSpellDownload":"Yazım denetimi yüklenmemiş. Şimdi yüklemek ister misiniz?","manyChanges":"Yazım denetimi tamamlandı: %1 kelime değiştirildi","noChanges":"Yazım denetimi tamamlandı: Hiçbir kelime değiştirilmedi","noMispell":"Yazım denetimi tamamlandı: Yanlış yazıma rastlanmadı","noSuggestions":"- Öneri Yok -","notAvailable":"Üzügünüz, bu servis şuanda hizmet dışıdır.","notInDic":"Sözlükte Yok","oneChange":"Yazım denetimi tamamlandı: Bir kelime değiştirildi","progress":"Yazım denetimi işlemde...","title":"Yazımı Denetle","toolbar":"Yazım Denetimi"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/tr.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ca.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ca.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ca.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['ca']={"editor":"Editor de text enriquit","editorPanel":"Panell de l'editor de text enriquit","common":{"editorHelp":"Premeu ALT 0 per ajuda","browseServer":"Veure servidor","url":"URL","protocol":"Protocol","upload":"Puja","uploadSubmit":"Envia-la al servidor","image":"Imatge","flash":"Flash","form":"Formulari","checkbox":"Casella de verificació","radio":"Botó d'opció","textField":"Camp de text","textarea":"Àrea de text","hiddenField":"Camp ocult","button":"Botó","select":"Camp de selecció","imageButton":"Botó d'imatge","notSet":"<no definit>","id":"Id","name":"Nom","langDir":"Direcció de l'idioma","langDirLtr":"D'esquerra a dreta (LTR)","langDirRtl":"De dreta a esquerra (RTL)","langCode":"Codi d'idioma","longDescr":"Descripció llarga de la URL","cssClass":"Classes del full d'estil","advisoryTitle":"Títol consultiu","cssStyle":"Estil","ok":"D'acord","cancel":"Cancel·la","close":"Tanca","preview":"Previsualitza","resize":"Arrossegueu per redimensionar","generalTab":"General","advancedTab":"Avançat","validateNumberFailed":"Aquest valor no és un número.","confirmNewPage":"Els canvis en aquest contingut que no es desin es perdran. Esteu segur que voleu carregar una pàgina nova?","confirmCancel":"Algunes opcions s'han canviat. Esteu segur que voleu tancar el quadre de diàleg?","options":"Opcions","target":"Destí","targetNew":"Nova finestra (_blank)","targetTop":"Finestra superior (_top)","targetSelf":"Mateixa finestra (_self)","targetParent":"Finestra pare (_parent)","langDirLTR":"D'esquerra a dreta (LTR)","langDirRTL":"De dreta a esquerra (RTL)","styles":"Estil","cssClasses":"Classes del full d'estil","width":"Amplada","height":"Alçada","align":"Alineació","left":"Ajusta a l'esquerra","right":"Ajusta a la dreta","center":"Centre","justify":"Justificat","alignLeft":"Alinea a l'esquerra","alignRight":"Alinea a la dreta","alignCenter":"Align Center","alignTop":"Superior","alignMiddle":"Centre","alignBottom":"Inferior","alignNone":"Cap","invalidValue":"Valor no vàlid.","invalidHeight":"L'alçada ha de ser un número.","invalidWidth":"L'amplada ha de ser un número.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"El valor especificat per als \"%1\" camps ha de ser un número positiu amb o sense unitat de mesura vàlida de CSS (px, %, in, cm, mm, em, ex, pt o pc).","invalidHtmlLength":"El valor especificat per als \"%1\" camps ha de ser un número positiu amb o sense unitat de mesura vàlida d'HTML (px o %).","invalidInlineStyle":"El valor especificat per l'estil en línia ha de constar d'una o més tuples amb el format \"name: value\", separats per punt i coma.","cssLengthTooltip":"Introduïu un número per un valor en píxels o un número amb una unitat vàlida de CSS (px, %, in, cm, mm, em, ex, pt o pc).","unavailable":"%1<span class=\"cke_accessibility\">, no disponible</span>","keyboard":{"8":"Retrocés","13":"Intro","16":"Majúscules","17":"Ctrl","18":"Alt","32":"Space","35":"Fi","36":"Inici","46":"Eliminar","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Tots els drets reservats.","dlgTitle":"Quant al CKEditor 4","moreInfo":"Per informació sobre llicències visiteu el nostre lloc web:"},"basicstyles":{"bold":"Negreta","italic":"Cursiva","strike":"Ratllat","subscript":"Subíndex","superscript":"Superíndex","underline":"Subratllat"},"bidi":{"ltr":"Direcció del text d'esquerra a dreta","rtl":"Direcció del text de dreta a esquerra"},"blockquote":{"toolbar":"Bloc de cita"},"notification":{"closed":"Notificació tancada."},"button":{"selectedLabel":"%1 (Seleccionat)"},"toolbar":{"toolbarCollapse":"Redueix la barra d'eines","toolbarExpand":"Amplia la barra d'eines","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor de barra d'eines"},"clipboard":{"copy":"Copiar","copyError":"La configuració de seguretat del vostre navegador no permet executar automàticament les operacions de copiar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+C).","cut":"Retallar","cutError":"La configuració de seguretat del vostre navegador no permet executar automàticament les operacions de retallar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+X).","paste":"Enganxar","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Àrea d'enganxat","pasteMsg":"Paste your content inside the area below and press OK.","title":"Enganxar"},"colorbutton":{"auto":"Automàtic","bgColorTitle":"Color de Fons","colors":{"000":"Negre","800000":"Grana","8B4513":"Marró sella","2F4F4F":"Gris pissarra fosca","008080":"Blau xarxet","000080":"Blau marí","4B0082":"Indi","696969":"Gris Fosc","B22222":"Foc Maó","A52A2A":"Marró","DAA520":"Solidago","006400":"Verd Fosc","40E0D0":"Turquesa","0000CD":"Blau 1/2","800080":"Lila","808080":"Gris","F00":"Vermell","FF8C00":"Taronja Fosc","FFD700":"Or","008000":"Verd","0FF":"Cian","00F":"Blau","EE82EE":"Violat","A9A9A9":"Gris clar","FFA07A":"Salmó clar","FFA500":"Taronja","FFFF00":"Groc","00FF00":"Verd Llima","AFEEEE":"Turquesa Pàl·lid","ADD8E6":"Blau Clar","DDA0DD":"Pruna","D3D3D3":"Gris Clar","FFF0F5":"Lavanda rosat","FAEBD7":"Blanc Antic","FFFFE0":"Groc Clar","F0FFF0":"Verd Pàl·lid","F0FFFF":"Atzur","F0F8FF":"Cian pàlid","E6E6FA":"Lavanda","FFF":"Blanc","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Més Colors...","panelTitle":"Colors","textColorTitle":"Color del Text"},"colordialog":{"clear":"Neteja","highlight":"Destacat","options":"Opcions del color","selected":"Color Seleccionat","title":"Seleccioni el color"},"templates":{"button":"Plantilles","emptyListMsg":"(No hi ha plantilles definides)","insertOption":"Reemplaça el contingut actual","options":"Opcions de plantilla","selectPromptMsg":"Seleccioneu una plantilla per usar a l'editor<br>(per defecte s'elimina el contingut actual):","title":"Plantilles de contingut"},"contextmenu":{"options":"Opcions del menú contextual"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Títol de guia","cssClassInputLabel":"Classes de la fulla d'estils","edit":"Edita la Capa","inlineStyleInputLabel":"Estil en línia","langDirLTRLabel":"D'esquerra a dreta (LTR)","langDirLabel":"Direcció de l'idioma","langDirRTLLabel":"De dreta a esquerra (RTL)","languageCodeInputLabel":" Codi d'idioma","remove":"Elimina la Capa","styleSelectLabel":"Estil","title":"Crea una Capa Contenidora","toolbar":"Crea una Capa Contenidora"},"elementspath":{"eleLabel":"Ruta dels elements","eleTitle":"%1 element"},"filetools":{"loadError":"S'ha produït un error durant la lectura del fitxer.","networkError":"S'ha produït un error de xarxa durant la càrrega del fitxer.","httpError404":"S'ha produït un error HTTP durant la càrrega del fitxer (404: Fitxer no trobat).","httpError403":"S'ha produït un error HTTP durant la càrrega del fitxer (403: Permís denegat).","httpError":"S'ha produït un error HTTP durant la càrrega del fitxer (estat d'error: %1).","noUrlError":"La URL de càrrega no està definida.","responseError":"Resposta incorrecte del servidor"},"find":{"find":"Cerca","findOptions":"Opcions de Cerca","findWhat":"Cerca el:","matchCase":"Distingeix majúscules/minúscules","matchCyclic":"Coincidència cíclica","matchWord":"Només paraules completes","notFoundMsg":"El text especificat no s'ha trobat.","replace":"Reemplaça","replaceAll":"Reemplaça-ho tot","replaceSuccessMsg":"%1 ocurrència/es reemplaçada/es.","replaceWith":"Reemplaça amb:","title":"Cerca i reemplaça"},"fakeobjects":{"anchor":"Àncora","flash":"Animació Flash","hiddenfield":"Camp ocult","iframe":"IFrame","unknown":"Objecte desconegut"},"flash":{"access":"Accés a scripts","accessAlways":"Sempre","accessNever":"Mai","accessSameDomain":"El mateix domini","alignAbsBottom":"Abs Bottom","alignAbsMiddle":"Abs Middle","alignBaseline":"Baseline","alignTextTop":"Text Superior","bgcolor":"Color de Fons","chkFull":"Permetre la pantalla completa","chkLoop":"Bucle","chkMenu":"Habilita menú Flash","chkPlay":"Reprodució automàtica","flashvars":"Variables de Flash","hSpace":"Espaiat horitzontal","properties":"Propietats del Flash","propertiesTab":"Propietats","quality":"Qualitat","qualityAutoHigh":"Alta automàtica","qualityAutoLow":"Baixa automàtica","qualityBest":"La millor","qualityHigh":"Alta","qualityLow":"Baixa","qualityMedium":"Mitjana","scale":"Escala","scaleAll":"Mostra-ho tot","scaleFit":"Mida exacta","scaleNoBorder":"Sense vores","title":"Propietats del Flash","vSpace":"Espaiat vertical","validateHSpace":"L'espaiat horitzontal ha de ser un número.","validateSrc":"La URL no pot estar buida.","validateVSpace":"L'espaiat vertical ha de ser un número.","windowMode":"Mode de la finestra","windowModeOpaque":"Opaca","windowModeTransparent":"Transparent","windowModeWindow":"Finestra"},"font":{"fontSize":{"label":"Mida","voiceLabel":"Mida de la lletra","panelTitle":"Mida de la lletra"},"label":"Tipus de lletra","panelTitle":"Tipus de lletra","voiceLabel":"Tipus de lletra"},"forms":{"button":{"title":"Propietats del botó","text":"Text (Valor)","type":"Tipus","typeBtn":"Botó","typeSbm":"Transmet formulari","typeRst":"Reinicia formulari"},"checkboxAndRadio":{"checkboxTitle":"Propietats de la casella de verificació","radioTitle":"Propietats del botó d'opció","value":"Valor","selected":"Seleccionat","required":"Necessari"},"form":{"title":"Propietats del formulari","menu":"Propietats del formulari","action":"Acció","method":"Mètode","encoding":"Codificació"},"hidden":{"title":"Propietats del camp ocult","name":"Nom","value":"Valor"},"select":{"title":"Propietats del camp de selecció","selectInfo":"Info","opAvail":"Opcions disponibles","value":"Valor","size":"Mida","lines":"Línies","chkMulti":"Permet múltiples seleccions","required":"Necessari","opText":"Text","opValue":"Valor","btnAdd":"Afegeix","btnModify":"Modifica","btnUp":"Amunt","btnDown":"Avall","btnSetValue":"Selecciona per defecte","btnDelete":"Elimina"},"textarea":{"title":"Propietats de l'àrea de text","cols":"Columnes","rows":"Files"},"textfield":{"title":"Propietats del camp de text","name":"Nom","value":"Valor","charWidth":"Amplada","maxChars":"Nombre màxim de caràcters","required":"Necessari","type":"Tipus","typeText":"Text","typePass":"Contrasenya","typeEmail":"Correu electrònic","typeSearch":"Cercar","typeTel":"Número de telèfon","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Format","tag_address":"Adreça","tag_div":"Normal (DIV)","tag_h1":"Encapçalament 1","tag_h2":"Encapçalament 2","tag_h3":"Encapçalament 3","tag_h4":"Encapçalament 4","tag_h5":"Encapçalament 5","tag_h6":"Encapçalament 6","tag_p":"Normal","tag_pre":"Formatejat"},"horizontalrule":{"toolbar":"Insereix línia horitzontal"},"iframe":{"border":"Mostra la vora del marc","noUrl":"Si us plau, introdueixi la URL de l'iframe","scrolling":"Activa les barres de desplaçament","title":"Propietats de l'IFrame","toolbar":"IFrame"},"image":{"alt":"Text alternatiu","border":"Vora","btnUpload":"Envia-la al servidor","button2Img":"Voleu transformar el botó d'imatge seleccionat en una simple imatge?","hSpace":"Espaiat horit.","img2Button":"Voleu transformar la imatge seleccionada en un botó d'imatge?","infoTab":"Informació de la imatge","linkTab":"Enllaç","lockRatio":"Bloqueja les proporcions","menu":"Propietats de la imatge","resetSize":"Restaura la mida","title":"Propietats de la imatge","titleButton":"Propietats del botó d'imatge","upload":"Puja","urlMissing":"Falta la URL de la imatge.","vSpace":"Espaiat vert.","validateBorder":"La vora ha de ser un nombre enter.","validateHSpace":"HSpace ha de ser un nombre enter.","validateVSpace":"VSpace ha de ser un nombre enter."},"indent":{"indent":"Augmenta el sagnat","outdent":"Redueix el sagnat"},"smiley":{"options":"Opcions d'emoticones","title":"Insereix una icona","toolbar":"Icona"},"language":{"button":"Definir l'idioma","remove":"Eliminar idioma"},"link":{"acccessKey":"Clau d'accés","advanced":"Avançat","advisoryContentType":"Tipus de contingut consultiu","advisoryTitle":"Títol consultiu","anchor":{"toolbar":"Insereix/Edita àncora","menu":"Propietats de l'àncora","title":"Propietats de l'àncora","name":"Nom de l'àncora","errorName":"Si us plau, escriviu el nom de l'ancora","remove":"Remove Anchor"},"anchorId":"Per Id d'element","anchorName":"Per nom d'àncora","charset":"Conjunt de caràcters font enllaçat","cssClasses":"Classes del full d'estil","download":"Force Download","displayText":"Text a mostrar","emailAddress":"Adreça de correu electrònic","emailBody":"Cos del missatge","emailSubject":"Assumpte del missatge","id":"Id","info":"Informació de l'enllaç","langCode":"Direcció de l'idioma","langDir":"Direcció de l'idioma","langDirLTR":"D'esquerra a dreta (LTR)","langDirRTL":"De dreta a esquerra (RTL)","menu":"Edita l'enllaç","name":"Nom","noAnchors":"(No hi ha àncores disponibles en aquest document)","noEmail":"Si us plau, escrigui l'adreça correu electrònic","noUrl":"Si us plau, escrigui l'enllaç URL","other":"<altre>","popupDependent":"Depenent (Netscape)","popupFeatures":"Característiques finestra popup","popupFullScreen":"Pantalla completa (IE)","popupLeft":"Posició esquerra","popupLocationBar":"Barra d'adreça","popupMenuBar":"Barra de menú","popupResizable":"Redimensionable","popupScrollBars":"Barres d'scroll","popupStatusBar":"Barra d'estat","popupToolbar":"Barra d'eines","popupTop":"Posició dalt","rel":"Relació","selectAnchor":"Selecciona una àncora","styles":"Estil","tabIndex":"Index de Tab","target":"Destí","targetFrame":"<marc>","targetFrameName":"Nom del marc de destí","targetPopup":"<finestra emergent>","targetPopupName":"Nom finestra popup","title":"Enllaç","toAnchor":"Àncora en aquesta pàgina","toEmail":"Correu electrònic","toUrl":"URL","toolbar":"Insereix/Edita enllaç","type":"Tipus d'enllaç","unlink":"Elimina l'enllaç","upload":"Puja"},"list":{"bulletedlist":"Llista de pics","numberedlist":"Llista numerada"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insereix el paràgraf aquí"},"maximize":{"maximize":"Maximitza","minimize":"Minimitza"},"newpage":{"toolbar":"Nova pàgina"},"pagebreak":{"alt":"Salt de pàgina","toolbar":"Insereix salt de pàgina"},"pastetext":{"button":"Enganxa com a text no formatat","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Enganxa com a text no formatat"},"pastefromword":{"confirmCleanup":"El text que voleu enganxar sembla provenir de Word. Voleu netejar aquest text abans que sigui enganxat?","error":"No ha estat possible netejar les dades enganxades degut a un error intern","title":"Enganxa des del Word","toolbar":"Enganxa des del Word"},"preview":{"preview":"Visualització prèvia"},"print":{"toolbar":"Imprimeix"},"removeformat":{"toolbar":"Elimina Format"},"save":{"toolbar":"Desa"},"selectall":{"toolbar":"Selecciona-ho tot"},"showblocks":{"toolbar":"Mostra els blocs"},"sourcearea":{"toolbar":"Codi font"},"specialchar":{"options":"Opcions de caràcters especials","title":"Selecciona el caràcter especial","toolbar":"Insereix caràcter especial"},"scayt":{"btn_about":"Quant a l'SCAYT","btn_dictionaries":"Diccionaris","btn_disable":"Deshabilita SCAYT","btn_enable":"Habilitat l'SCAYT","btn_langs":"Idiomes","btn_options":"Opcions","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Estil","panelTitle":"Estils de format","panelTitle1":"Estils de bloc","panelTitle2":"Estils incrustats","panelTitle3":"Estils d'objecte"},"table":{"border":"Mida vora","caption":"Títol","cell":{"menu":"Cel·la","insertBefore":"Insereix abans","insertAfter":"Insereix després","deleteCell":"Suprimeix","merge":"Fusiona","mergeRight":"Fusiona a la dreta","mergeDown":"Fusiona avall","splitHorizontal":"Divideix horitzontalment","splitVertical":"Divideix verticalment","title":"Propietats de la cel·la","cellType":"Tipus de cel·la","rowSpan":"Expansió de files","colSpan":"Expansió de columnes","wordWrap":"Ajustar al contingut","hAlign":"Alineació Horizontal","vAlign":"Alineació Vertical","alignBaseline":"A la línia base","bgColor":"Color de fons","borderColor":"Color de la vora","data":"Dades","header":"Capçalera","yes":"Sí","no":"No","invalidWidth":"L'amplada de cel·la ha de ser un nombre.","invalidHeight":"L'alçada de cel·la ha de ser un nombre.","invalidRowSpan":"L'expansió de files ha de ser un nombre enter.","invalidColSpan":"L'expansió de columnes ha de ser un nombre enter.","chooseColor":"Trieu"},"cellPad":"Encoixinament de cel·les","cellSpace":"Espaiat de cel·les","column":{"menu":"Columna","insertBefore":"Insereix columna abans de","insertAfter":"Insereix columna darrera","deleteColumn":"Suprimeix una columna"},"columns":"Columnes","deleteTable":"Suprimeix la taula","headers":"Capçaleres","headersBoth":"Ambdues","headersColumn":"Primera columna","headersNone":"Cap","headersRow":"Primera fila","invalidBorder":"El gruix de la vora ha de ser un nombre.","invalidCellPadding":"L'encoixinament de cel·la ha de ser un nombre.","invalidCellSpacing":"L'espaiat de cel·la ha de ser un nombre.","invalidCols":"El nombre de columnes ha de ser un nombre major que 0.","invalidHeight":"L'alçada de la taula ha de ser un nombre.","invalidRows":"El nombre de files ha de ser un nombre major que 0.","invalidWidth":"L'amplada de la taula ha de ser un nombre.","menu":"Propietats de la taula","row":{"menu":"Fila","insertBefore":"Insereix fila abans de","insertAfter":"Insereix fila darrera","deleteRow":"Suprimeix una fila"},"rows":"Files","summary":"Resum","title":"Propietats de la taula","toolbar":"Taula","widthPc":"percentatge","widthPx":"píxels","widthUnit":"unitat d'amplada"},"undo":{"redo":"Refés","undo":"Desfés"},"widget":{"move":"Clicar i arrossegar per moure","label":"%1 widget"},"uploadwidget":{"abort":"Pujada cancel·lada per l'usuari.","doneOne":"Fitxer pujat correctament.","doneMany":"%1 fitxers pujats correctament.","uploadOne":"Pujant fitxer ({percentage}%)...","uploadMany":"Pujant fitxers, {current} de {max} finalitzats ({percentage}%)..."},"wsc":{"btnIgnore":"Ignora","btnIgnoreAll":"Ignora-les totes","btnReplace":"Canvia","btnReplaceAll":"Canvia-les totes","btnUndo":"Desfés","changeTo":"Reemplaça amb","errorLoading":"Error carregant el servidor: %s.","ieSpellDownload":"Verificació ortogràfica no instal·lada. Voleu descarregar-ho ara?","manyChanges":"Verificació ortogràfica: s'han canviat %1 paraules","noChanges":"Verificació ortogràfica: no s'ha canviat cap paraula","noMispell":"Verificació ortogràfica acabada: no hi ha cap paraula mal escrita","noSuggestions":"Cap suggeriment","notAvailable":"El servei no es troba disponible ara.","notInDic":"No és al diccionari","oneChange":"Verificació ortogràfica: s'ha canviat una paraula","progress":"Verificació ortogràfica en curs...","title":"Comprova l'ortografia","toolbar":"Revisa l'ortografia"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ca.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sq.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sq.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sq.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['sq']={"editor":"Redaktues i Pasur Teksti","editorPanel":"Paneli i redaktuesit të tekstit të plotë","common":{"editorHelp":"Shtyp ALT 0 për ndihmë","browseServer":"Shfleto në Server","url":"URL","protocol":"Protokolli","upload":"Ngarko","uploadSubmit":"Dërgo në server","image":"Imazh","flash":"Objekt flash","form":"Formular","checkbox":"Checkbox","radio":"Buton radio","textField":"Fushë tekst","textarea":"Hapësirë tekst","hiddenField":"Fushë e fshehur","button":"Buton","select":"Menu zgjedhjeje","imageButton":"Buton imazhi","notSet":"<e pazgjedhur>","id":"Id","name":"Emër","langDir":"Kod gjuhe","langDirLtr":"Nga e majta në të djathtë (LTR)","langDirRtl":"Nga e djathta në të majtë (RTL)","langCode":"Kod gjuhe","longDescr":"Përshkrim i hollësishëm","cssClass":"Klasa stili CSS","advisoryTitle":"Titull","cssStyle":"Stil","ok":"OK","cancel":"Anulo","close":"Mbyll","preview":"Parashiko","resize":"Ripërmaso","generalTab":"Të përgjithshme","advancedTab":"Të përparuara","validateNumberFailed":"Vlera e futur nuk është një numër","confirmNewPage":"Çdo ndryshim që nuk është ruajtur do humbasë. Je i sigurtë që dëshiron të krijosh një faqe të re?","confirmCancel":"Disa opsione kanë ndryshuar. Je i sigurtë që dëshiron ta mbyllësh dritaren?","options":"Opsione","target":"Objektivi","targetNew":"Dritare e re (_blank)","targetTop":"Dritare në plan të parë (_top)","targetSelf":"E njëjta dritare (_self)","targetParent":"Dritarja prind (_parent)","langDirLTR":"Nga e majta në të djathë (LTR)","langDirRTL":"Nga e djathta në të majtë (RTL)","styles":"Stil","cssClasses":"Klasa Stili CSS","width":"Gjerësi","height":"Lartësi","align":"Rreshtim","left":"Majtas","right":"Djathtas","center":"Qendër","justify":"Zgjero","alignLeft":"Rreshto majtas","alignRight":"Rreshto Djathtas","alignCenter":"Align Center","alignTop":"Lart","alignMiddle":"Në mes","alignBottom":"Poshtë","alignNone":"Asnjë","invalidValue":"Vlerë e pavlefshme","invalidHeight":"Lartësia duhet të jetë një numër","invalidWidth":"Gjerësia duhet të jetë një numër","invalidLength":"Vlera e përcaktuar për fushën \"%1\" duhet të jetë pozitive me ose pa njësi matëse me vlerë (%2).","invalidCssLength":"Vlera e fushës \"%1\" duhet të jetë një numër pozitiv me apo pa njësi matëse të vlefshme CSS (px, %, in, cm, mm, em, ex, pt ose pc).","invalidHtmlLength":"Vlera e fushës \"%1\" duhet të jetë një numër pozitiv me apo pa njësi matëse të vlefshme HTML (px ose %)","invalidInlineStyle":"Stili inline duhet të jetë një apo disa vlera të formatit \"emër: vlerë\", ndarë nga pikëpresje.","cssLengthTooltip":"Fut një numër për vlerën në pixel apo një numër me një njësi të vlefshme CSS (px, %, in, cm, mm, ex, pt, ose pc).","unavailable":"%1<span class=\"cke_accessibility\">, i padisponueshëm</span>","keyboard":{"8":"Prapa","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Hapësirë","35":"End","36":"Home","46":"Grise","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Urdhëri"},"keyboardShortcut":"Shkurtesat e tastierës","optionDefault":"Parazgjedhur"},"about":{"copy":"Të drejtat e kopjimit &copy; $1. Të gjitha të drejtat e rezervuara.","dlgTitle":"Rreth CKEditor 4","moreInfo":"Për informacione rreth licencave shih faqen tonë:"},"basicstyles":{"bold":"Trash","italic":"Pjerrët","strike":"Nëpërmes","subscript":"Nën-skriptë","superscript":"Super-skriptë","underline":"Nënvijëzuar"},"bidi":{"ltr":"Drejtimi i tekstit nga e majta në të djathtë","rtl":"Drejtimi i tekstit nga e djathta në të majtë"},"blockquote":{"toolbar":"Citatet"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Përzgjedhur)"},"toolbar":{"toolbarCollapse":"Zvogëlo Shiritin","toolbarExpand":"Zgjero Shiritin","toolbarGroups":{"document":"Dokument","clipboard":"Tabela Punës/Ribëje","editing":"Duke Redaktuar","forms":"Formular","basicstyles":"Stili Bazë","paragraph":"Paragraf","links":"Nyjet","insert":"Shto","styles":"Stil","colors":"Ngjyrat","tools":"Mjetet"},"toolbars":"Shiritet e Redaktuesit"},"clipboard":{"copy":"Kopjo","copyError":"Të dhënat e sigurisë së shfletuesit tuaj nuk lejojnë që redaktuesi automatikisht të kryej veprimin e kopjimit. Ju lutemi shfrytëzoni tastierën për këtë veprim (Ctrl/Cmd+C).","cut":"Preje","cutError":"Të dhënat e sigurisë së shfletuesit tuaj nuk lejojnë që redaktuesi automatikisht të kryej veprimin e prerjes. Ju lutemi shfrytëzoni tastierën për këtë veprim (Ctrl/Cmd+X).","paste":"Hidhe","pasteNotification":"Shtyp %1 për të hedhur tekstin. Shfletuesi juaj nuk mbështetë hedhjen me pullë shiriti ose alternativën e menysë kontekstuale.","pasteArea":"Hapësira e Hedhjes","pasteMsg":"Hidh përmbajtjen brenda hapësirës më poshtë dhe shtyp OK.","title":"Hidhe"},"colorbutton":{"auto":"Automatik","bgColorTitle":"Ngjyra e Prapavijës","colors":{"000":"E zezë","800000":"Ngjyrë gështenjë","8B4513":"Ngjyrë Shale Kafe","2F4F4F":"Ngjyrë Gri të errët ardëz","008080":"Ngjyrë bajukë","000080":"Ngjyrë Marine","4B0082":"Indigo","696969":"Gri e Errët","B22222":"Tullë në Flakë","A52A2A":"Ngjytë Kafe","DAA520":"Shkop i Artë","006400":"E Gjelbër e Errët","40E0D0":"Ngjyrë e Bruztë","0000CD":"E Kaltër e Mesme","800080":"Vjollcë","808080":"Gri","F00":"E Kuqe","FF8C00":"E Portokalltë e Errët","FFD700":"Ngjyrë Ari","008000":"E Gjelbërt","0FF":"Cyan","00F":"E Kaltër","EE82EE":"Vjollcë","A9A9A9":"Gri e Zbehtë","FFA07A":"Salmon i Ndritur","FFA500":"E Portokalltë","FFFF00":"E Verdhë","00FF00":"Ngjyrë Gëlqere","AFEEEE":"Ngjyrë e Bruztë e Zbehtë","ADD8E6":"E Kaltër e Ndritur","DDA0DD":"Ngjyrë Llokumi","D3D3D3":"Gri e Ndritur","FFF0F5":"Ngjyrë Purpur e Skuqur","FAEBD7":"E Bardhë Antike","FFFFE0":"E verdhë e Ndritur","F0FFF0":"Ngjyrë Nektari","F0FFFF":"Ngjyrë Qielli","F0F8FF":"E Kaltër Alice","E6E6FA":"Ngjyrë Purpur e Zbetë","FFF":"E bardhë","1ABC9C":"Sian i Fortë","2ECC71":"Smerald","3498DB":"E kaltër e ndritur","9B59B6":"Ametist","4E5F70":"Kaltër në Gri","F1C40F":"E verdhë e gjallë","16A085":"Sian e errët","27AE60":"Smerald e errët","2980B9":"E kaltër e fortë","8E44AD":"Vjollcë e errët","2C3E50":"E kaltër e njomë","F39C12":"E Portokalltë","E67E22":"Ngjyrë karote","E74C3C":"E kuqe e zbehtë","ECF0F1":"Ngjyrë argjendi e ndritshme","95A5A6":"Sian në gri e lehtë","DDD":"Gri e lehtë","D35400":"Ngjyrë kungulli","C0392B":"E kuqe e fortë","BDC3C7":"Ngjyrë argjendi","7F8C8D":"Sian në gri","999":"Gri e Errët"},"more":"Më Shumë Ngjyra...","panelTitle":"Ngjyrat","textColorTitle":"Ngjyra e Tekstit"},"colordialog":{"clear":"Pastro","highlight":"Thekso","options":"Përzgjedhjet e Ngjyrave","selected":"Ngjyra e Përzgjedhur","title":"Përzgjidh një ngjyrë"},"templates":{"button":"Shabllonet","emptyListMsg":"(Asnjë shabllon nuk është paradefinuar)","insertOption":"Zëvendëso përmbajtjen aktuale","options":"Opsionet e Shabllonit","selectPromptMsg":"Përzgjidhni shabllonin për të hapur tek redaktuesi","title":"Përmbajtja e Shabllonit"},"contextmenu":{"options":"Mundësitë e Menysë së Kontekstit"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Titull","cssClassInputLabel":"Klasa stili CSS","edit":"Redakto Div","inlineStyleInputLabel":"Stili i brendshëm","langDirLTRLabel":"Nga e majta në të djathë (LTR)","langDirLabel":"Drejtim teksti","langDirRTLLabel":"Nga e djathta në të majtë (RTL)","languageCodeInputLabel":"Kodi i Gjuhës","remove":"Largo Div","styleSelectLabel":"Stil","title":"Krijo Div Përmbajtës","toolbar":"Krijo Div Përmbajtës"},"elementspath":{"eleLabel":"Rruga e elementeve","eleTitle":"%1 element"},"filetools":{"loadError":"Gabimi u paraqit gjatë leximit të skedës.","networkError":"Gabimi në rrjetë u paraqitë gjatë ngarkimit të skedës.","httpError404":"Gabimi në HTTP u paraqit gjatë ngarkimit të skedës (404: Skeda nuk u gjetë).","httpError403":"Gabimi në HTTP u paraqitë gjatë ngarkimit të skedës (403: E ndaluar).","httpError":"Gabimi në HTTP u paraqit gjatë ngarkimit të skedës (gjendja e gabimit: %1).","noUrlError":"URL e ngarkimit nuk është vendosur.","responseError":"Përgjigje e gabuar e serverit."},"find":{"find":"Gjej","findOptions":"Gjejë Alternativat","findWhat":"Gjej çka:","matchCase":"Rasti i përputhjes","matchCyclic":"Përputh ciklikun","matchWord":"Përputh fjalën e tërë","notFoundMsg":"Teksti i caktuar nuk mundej të gjendet.","replace":"Zëvendëso","replaceAll":"Zëvendëso të gjitha","replaceSuccessMsg":"%1 rast(e) u zëvendësua(n).","replaceWith":"Zëvendëso me:","title":"Gjej dhe Zëvendëso"},"fakeobjects":{"anchor":"Spirancë","flash":"Objekt flash","hiddenfield":"Fushë e fshehur","iframe":"IFrame","unknown":"Objekt i Panjohur"},"flash":{"access":"Qasja në Skriptë","accessAlways":"Gjithnjë","accessNever":"Asnjëherë","accessSameDomain":"Fusha e Njëjtë","alignAbsBottom":"Abs në Fund","alignAbsMiddle":"Abs në Mes","alignBaseline":"Baza","alignTextTop":"Koka e Tekstit","bgcolor":"Ngjyra e Prapavijës","chkFull":"Lejo Ekran të Plotë","chkLoop":"Përsëritje","chkMenu":"Lejo Menynë për Flash","chkPlay":"Auto Play","flashvars":"Variablat për Flash","hSpace":"Hapësira Horizontale","properties":"Karakteristikat për Flash","propertiesTab":"Karakteristikat","quality":"Kualiteti","qualityAutoHigh":"Automatikisht i Lartë","qualityAutoLow":"Automatikisht i Ulët","qualityBest":"Më i Miri","qualityHigh":"I Lartë","qualityLow":"Më i Ulti","qualityMedium":"I Mesëm","scale":"Shkalla","scaleAll":"Shfaq të Gjitha","scaleFit":"Përputhje të Plotë","scaleNoBorder":"Pa Kornizë","title":"Rekuizitat për Flash","vSpace":"Hapësira Vertikale","validateHSpace":"Hapësira Horizontale duhet të është numër.","validateSrc":"URL nuk duhet mbetur zbrazur.","validateVSpace":"Hapësira Vertikale duhet të është numër.","windowMode":"Window mode","windowModeOpaque":"Errët","windowModeTransparent":"Tejdukshëm","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Madhësia","voiceLabel":"Madhësia e Shkronjës","panelTitle":"Madhësia e Shkronjës"},"label":"Shkronja","panelTitle":"Emri i Shkronjës","voiceLabel":"Shkronja"},"forms":{"button":{"title":"Rekuizitat e Pullës","text":"Teskti (Vlera)","type":"LLoji","typeBtn":"Buton","typeSbm":"Dërgo","typeRst":"Rikthe"},"checkboxAndRadio":{"checkboxTitle":"Rekuizitat e Kutizë Përzgjedhëse","radioTitle":"Rekuizitat e Pullës","value":"Vlera","selected":"Përzgjedhur","required":"Kërkohet"},"form":{"title":"Rekuizitat e Formës","menu":"Rekuizitat e Formës","action":"Veprim","method":"Metoda","encoding":"Kodimi"},"hidden":{"title":"Rekuizitat e Fushës së Fshehur","name":"Emër","value":"Vlera"},"select":{"title":"Rekuizitat e Fushës së Përzgjedhur","selectInfo":"Përzgjidh Informacionin","opAvail":"Opsionet e Mundshme","value":"Vlera","size":"Madhësia","lines":"rreshtat","chkMulti":"Lejo përzgjidhje të shumëfishta","required":"Kërkohet","opText":"Teksti","opValue":"Vlera","btnAdd":"Vendos","btnModify":"Ndrysho","btnUp":"Sipër","btnDown":"Poshtë","btnSetValue":"Bëje si vlerë të përzgjedhur","btnDelete":"Grise"},"textarea":{"title":"Rekuzitat e Fushës së Tekstit","cols":"Kolonat","rows":"Rreshtat"},"textfield":{"title":"Rekuizitat e Fushës së Tekstit","name":"Emër","value":"Vlera","charWidth":"Gjerësia e Karakterit","maxChars":"Numri maksimal i karaktereve","required":"Kërkohet","type":"LLoji","typeText":"Teksti","typePass":"Fjalëkalimi","typeEmail":"Posta Elektronike","typeSearch":"Kërko","typeTel":"Numri i Telefonit","typeUrl":"URL"}},"format":{"label":"Formati","panelTitle":"Formati i Paragrafit","tag_address":"Adresa","tag_div":"Normal (DIV)","tag_h1":"Titulli 1","tag_h2":"Titulli 2","tag_h3":"Titulli 3","tag_h4":"Titulli 4","tag_h5":"Titulli 5","tag_h6":"Titulli 6","tag_p":"Normal","tag_pre":"Formatuar"},"horizontalrule":{"toolbar":"Vendos Vijë Horizontale"},"iframe":{"border":"Shfaq kufirin e kornizës","noUrl":"Ju lutemi shkruani URL-në e iframe-it","scrolling":"Lejo shiritët zvarritës","title":"Karakteristikat e IFrame","toolbar":"IFrame"},"image":{"alt":"Tekst Alternativ","border":"Korniza","btnUpload":"Dërgo në server","button2Img":"Dëshironi të e ndërroni pullën e fotos së selektuar në një foto të thjeshtë?","hSpace":"HSpace","img2Button":"Dëshironi të ndryshoni foton e përzgjedhur në pullë?","infoTab":"Informacione mbi Fotografinë","linkTab":"Nyja","lockRatio":"Mbyll Racionin","menu":"Karakteristikat e Fotografisë","resetSize":"Rikthe Madhësinë","title":"Karakteristikat e Fotografisë","titleButton":"Karakteristikat e Pullës së Fotografisë","upload":"Ngarko","urlMissing":"Mungon URL e burimit të fotografisë.","vSpace":"Hapësira Vertikale","validateBorder":"Korniza duhet të jetë numër i plotë.","validateHSpace":"Hapësira horizontale duhet të jetë numër i plotë.","validateVSpace":"Hapësira vertikale duhet të jetë numër i plotë."},"indent":{"indent":"Rrite Identin","outdent":"Zvogëlo Identin"},"smiley":{"options":"Opsionet e Ikonave","title":"Vendos Ikonë","toolbar":"Ikona"},"language":{"button":"Përzgjidhni gjuhën","remove":"Largoni gjuhën"},"link":{"acccessKey":"Sipas ID-së së Elementit","advanced":"Të përparuara","advisoryContentType":"Lloji i Përmbajtjes Këshillimore","advisoryTitle":"Titull","anchor":{"toolbar":"Spirancë","menu":"Redakto Spirancën","title":"Anchor Properties","name":"Emri i Spirancës","errorName":"Ju lutemi shkruani emrin e spirancës","remove":"Largo Spirancën"},"anchorId":"Sipas ID-së së Elementit","anchorName":"Sipas Emrit të Spirancës","charset":"Seti i Karaktereve të Burimeve të Nëdlidhura","cssClasses":"Klasa stili CSS","download":"Force Download","displayText":"Display Text","emailAddress":"Posta Elektronike","emailBody":"Trupi i Porosisë","emailSubject":"Titulli i Porosisë","id":"Id","info":"Informacione të Nyjes","langCode":"Kod gjuhe","langDir":"Drejtim teksti","langDirLTR":"Nga e majta në të djathë (LTR)","langDirRTL":"Nga e djathta në të majtë (RTL)","menu":"Redakto Nyjen","name":"Emër","noAnchors":"(Nuk ka asnjë spirancë në dokument)","noEmail":"Ju lutemi shkruani postën elektronike","noUrl":"Ju lutemi shkruani URL-në e nyjes","other":"<tjetër>","popupDependent":"E Varur (Netscape)","popupFeatures":"Karakteristikat e Dritares së Dialogut","popupFullScreen":"Ekran i Plotë (IE)","popupLeft":"Pozita Majtas","popupLocationBar":"Shiriti i Lokacionit","popupMenuBar":"Shiriti i Menysë","popupResizable":"I ndryshueshëm","popupScrollBars":"Shiritat zvarritës","popupStatusBar":"Shiriti i Statutit","popupToolbar":"Shiriti i Mejteve","popupTop":"Top Pozita","rel":"Marrëdhëniet","selectAnchor":"Përzgjidh një Spirancë","styles":"Stil","tabIndex":"Indeksi i fletave","target":"Objektivi","targetFrame":"<frame>","targetFrameName":"Emri i Kornizës së Synuar","targetPopup":"<popup window>","targetPopupName":"Emri i Dritares së Dialogut","title":"Nyja","toAnchor":"Lidhu me spirancën në tekst","toEmail":"Posta Elektronike","toUrl":"URL","toolbar":"Nyja","type":"Lloji i Nyjes","unlink":"Largo Nyjen","upload":"Ngarko"},"list":{"bulletedlist":"Vendos/Largo Listën me Pika","numberedlist":"Vendos/Largo Listën me Numra"},"liststyle":{"armenian":"Numërim armenian","bulletedTitle":"Karakteristikat e Listës me Pulla","circle":"Rreth","decimal":"Decimal (1, 2, 3, etj.)","decimalLeadingZero":"Decimal me zerro udhëheqëse (01, 02, 03, etj.)","disc":"Disk","georgian":"Numërim gjeorgjian (an, ban, gan, etj.)","lowerAlpha":"Të vogla alfa (a, b, c, d, e, etj.)","lowerGreek":"Të vogla greke (alpha, beta, gamma, etj.)","lowerRoman":"Të vogla romake (i, ii, iii, iv, v, etj.)","none":"Asnjë","notset":"<e pazgjedhur>","numberedTitle":"Karakteristikat e Listës me Numra","square":"Katror","start":"Fillimi","type":"LLoji","upperAlpha":"Të mëdha alfa (A, B, C, D, E, etj.)","upperRoman":"Të mëdha romake (I, II, III, IV, V, etj.)","validateStartNumber":"Numri i fillimit të listës duhet të është numër i plotë."},"magicline":{"title":"Vendos paragraf këtu"},"maximize":{"maximize":"Zmadho","minimize":"Zvogëlo"},"newpage":{"toolbar":"Faqe e Re"},"pagebreak":{"alt":"Thyerja e Faqes","toolbar":"Vendos Thyerje Faqeje për Shtyp"},"pastetext":{"button":"Hidhe si tekst të thjeshtë","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Hidhe si Tekst të Thjeshtë"},"pastefromword":{"confirmCleanup":"Teksti që dëshironi të e hidhni siç duket është kopjuar nga Word-i. Dëshironi të e pastroni para se të e hidhni?","error":"Nuk ishte e mundur të fshiheshin të dhënat e hedhura për shkak të një gabimi të brendshëm","title":"Hidhe nga Word-i","toolbar":"Hidhe nga Word-i"},"preview":{"preview":"Parashiko"},"print":{"toolbar":"Shtype"},"removeformat":{"toolbar":"Largo Formatin"},"save":{"toolbar":"Ruaje"},"selectall":{"toolbar":"Përzgjidh të Gjitha"},"showblocks":{"toolbar":"Shfaq Blloqet"},"sourcearea":{"toolbar":"Burimi"},"specialchar":{"options":"Mundësitë për Karaktere Speciale","title":"Përzgjidh Karakter Special","toolbar":"Vendos Karakter Special"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Stil","panelTitle":"Stilet e Formatimit","panelTitle1":"Stilet e Bllokut","panelTitle2":"Stili i Brendshëm","panelTitle3":"Stilet e Objektit"},"table":{"border":"Madhësia e kornizave","caption":"Titull","cell":{"menu":"Qeli","insertBefore":"Shto Qeli Para","insertAfter":"Shto Qeli Prapa","deleteCell":"Gris Qelitë","merge":"Bashko Qelitë","mergeRight":"Bashko Djathtas","mergeDown":"Bashko Poshtë","splitHorizontal":"Ndaj Qelinë Horizontalisht","splitVertical":"Ndaj Qelinë Vertikalisht","title":"Rekuizitat e Qelisë","cellType":"Lloji i Qelisë","rowSpan":"Bashko Rreshtat","colSpan":"Bashko Kolonat","wordWrap":"Fund i Fjalës","hAlign":"Bashkimi Horizontal","vAlign":"Bashkimi Vertikal","alignBaseline":"Baza","bgColor":"Ngjyra e Prapavijës","borderColor":"Ngjyra e Kornizave","data":"Të dhënat","header":"Koka","yes":"Po","no":"Jo","invalidWidth":"Gjerësia e qelisë duhet të jetë numër.","invalidHeight":"Lartësia e qelisë duhet të jetë numër.","invalidRowSpan":"Hapësira e rreshtave duhet të jetë numër i plotë.","invalidColSpan":"Hapësira e kolonave duhet të jetë numër i plotë.","chooseColor":"Përzgjidh"},"cellPad":"Mbushja e qelisë","cellSpace":"Hapësira e qelisë","column":{"menu":"Kolona","insertBefore":"Vendos Kolonë Para","insertAfter":"Vendos Kolonë Pas","deleteColumn":"Gris Kolonat"},"columns":"Kolonat","deleteTable":"Gris Tabelën","headers":"Kokat","headersBoth":"Së bashku","headersColumn":"Kolona e parë","headersNone":"Asnjë","headersRow":"Rreshti i Parë","invalidBorder":"Madhësia e kufinjve duhet të jetë numër.","invalidCellPadding":"Mbushja e qelisë duhet të jetë numër pozitiv.","invalidCellSpacing":"Hapësira e qelisë duhet të jetë numër pozitiv.","invalidCols":"Numri i kolonave duhet të jetë numër më i madh se 0.","invalidHeight":"Lartësia e tabelës duhet të jetë numër.","invalidRows":"Numri i rreshtave duhet të jetë numër më i madh se 0.","invalidWidth":"Gjerësia e tabelës duhet të jetë numër.","menu":"Karakteristikat e Tabelës","row":{"menu":"Rreshti","insertBefore":"Shto Rresht Para","insertAfter":"Shto Rresht Prapa","deleteRow":"Gris Rreshtat"},"rows":"Rreshtat","summary":"Përmbledhje","title":"Karakteristikat e Tabelës","toolbar":"Tabela","widthPc":"përqind","widthPx":"piksell","widthUnit":"njësia e gjerësisë"},"undo":{"redo":"Ribëje","undo":"Rizhbëje"},"widget":{"move":"Kliko dhe tërhiqe për ta lëvizur","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sq.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fo.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fo.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fo.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['fo']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Trýst ALT og 0 fyri vegleiðing","browseServer":"Ambætarakagi","url":"URL","protocol":"Protokoll","upload":"Send til ambætaran","uploadSubmit":"Send til ambætaran","image":"Myndir","flash":"Flash","form":"Formur","checkbox":"Flugubein","radio":"Radioknøttur","textField":"Tekstteigur","textarea":"Tekstumráði","hiddenField":"Fjaldur teigur","button":"Knøttur","select":"Valskrá","imageButton":"Myndaknøttur","notSet":"<ikki sett>","id":"Id","name":"Navn","langDir":"Tekstkós","langDirLtr":"Frá vinstru til høgru (LTR)","langDirRtl":"Frá høgru til vinstru (RTL)","langCode":"Málkoda","longDescr":"Víðkað URL frágreiðing","cssClass":"Typografi klassar","advisoryTitle":"Vegleiðandi heiti","cssStyle":"Typografi","ok":"Góðkent","cancel":"Avlýs","close":"Lat aftur","preview":"Frumsýn","resize":"Drag fyri at broyta stødd","generalTab":"Generelt","advancedTab":"Fjølbroytt","validateNumberFailed":"Hetta er ikki eitt tal.","confirmNewPage":"Allar ikki goymdar broytingar í hesum innihaldið hvørva. Skal nýggj síða lesast kortini?","confirmCancel":"Nakrir valmøguleikar eru broyttir. Ert tú vísur í, at dialogurin skal latast aftur?","options":"Options","target":"Target","targetNew":"Nýtt vindeyga (_blank)","targetTop":"Vindeyga ovast (_top)","targetSelf":"Sama vindeyga (_self)","targetParent":"Upphavligt vindeyga (_parent)","langDirLTR":"Frá vinstru til høgru (LTR)","langDirRTL":"Frá høgru til vinstru (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Breidd","height":"Hædd","align":"Justering","left":"Vinstra","right":"Høgra","center":"Miðsett","justify":"Javnir tekstkantar","alignLeft":"Vinstrasett","alignRight":"Høgrasett","alignCenter":"Align Center","alignTop":"Ovast","alignMiddle":"Miðja","alignBottom":"Botnur","alignNone":"Eingin","invalidValue":"Invalid value.","invalidHeight":"Hædd má vera eitt tal.","invalidWidth":"Breidd má vera eitt tal.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Virðið sett í \"%1\" feltið má vera eitt positivt tal, við ella uttan gyldugum CSS mátieind (px, %, in, cm, mm, em, ex, pt, ella pc).","invalidHtmlLength":"Virðið sett í \"%1\" feltiðield má vera eitt positivt tal, við ella uttan gyldugum CSS mátieind (px ella %).","invalidInlineStyle":"Virði specifiserað fyri inline style má hava eitt ella fleiri pør (tuples) skrivað sum \"name : value\", hvørt parið sundurskilt við semi-colon.","cssLengthTooltip":"Skriva eitt tal fyri eitt virði í pixels ella eitt tal við gyldigum CSS eind (px, %, in, cm, mm, em, ex, pt, ella pc).","unavailable":"%1<span class=\"cke_accessibility\">, ikki tøkt</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"Um CKEditor 4","moreInfo":"Licens upplýsingar finnast á heimasíðu okkara:"},"basicstyles":{"bold":"Feit skrift","italic":"Skráskrift","strike":"Yvirstrikað","subscript":"Lækkað skrift","superscript":"Hækkað skrift","underline":"Undirstrikað"},"bidi":{"ltr":"Tekstkós frá vinstru til høgru","rtl":"Tekstkós frá høgru til vinstru"},"blockquote":{"toolbar":"Blockquote"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Lat Toolbar aftur","toolbarExpand":"Vís Toolbar","toolbarGroups":{"document":"Dokument","clipboard":"Clipboard/Undo","editing":"Editering","forms":"Formar","basicstyles":"Grundleggjandi Styles","paragraph":"Reglubrot","links":"Leinkjur","insert":"Set inn","styles":"Styles","colors":"Litir","tools":"Tól"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Avrita","copyError":"Trygdaruppseting alnótskagans forðar tekstviðgeranum í at avrita tekstin. Vinarliga nýt knappaborðið til at avrita tekstin (Ctrl/Cmd+C).","cut":"Kvett","cutError":"Trygdaruppseting alnótskagans forðar tekstviðgeranum í at kvetta tekstin. Vinarliga nýt knappaborðið til at kvetta tekstin (Ctrl/Cmd+X).","paste":"Innrita","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Avritingarumráði","pasteMsg":"Paste your content inside the area below and press OK.","title":"Innrita"},"colorbutton":{"auto":"Automatiskt","bgColorTitle":"Bakgrundslitur","colors":{"000":"Svart","800000":"Maroon","8B4513":"Saðilsbrúnt","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Myrkagrátt","B22222":"Fire Brick","A52A2A":"Brúnt","DAA520":"Gullstavur","006400":"Myrkagrønt","40E0D0":"Turquoise","0000CD":"Meðal blátt","800080":"Purple","808080":"Grátt","F00":"Reytt","FF8C00":"Myrkt appelsingult","FFD700":"Gull","008000":"Grønt","0FF":"Cyan","00F":"Blátt","EE82EE":"Violet","A9A9A9":"Døkt grátt","FFA07A":"Ljósur laksur","FFA500":"Appelsingult","FFFF00":"Gult","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Ljósablátt","DDA0DD":"Plum","D3D3D3":"Ljósagrátt","FFF0F5":"Lavender Blush","FAEBD7":"Klassiskt hvítt","FFFFE0":"Ljósagult","F0FFF0":"Hunangsdøggur","F0FFFF":"Azure","F0F8FF":"Alice Blátt","E6E6FA":"Lavender","FFF":"Hvítt","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Fleiri litir...","panelTitle":"Litir","textColorTitle":"Tekstlitur"},"colordialog":{"clear":"Strika","highlight":"Framheva","options":"Litmøguleikar","selected":"Valdur litur","title":"Vel lit"},"templates":{"button":"Skabelónir","emptyListMsg":"(Ongar skabelónir tøkar)","insertOption":"Yvirskriva núverandi innihald","options":"Møguleikar fyri Template","selectPromptMsg":"Vinarliga vel ta skabelón, ið skal opnast í tekstviðgeranum<br>(Hetta yvirskrivar núverandi innihald):","title":"Innihaldsskabelónir"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Redigera Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Vinstru til høgru (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Høgru til vinstru (RTL)","languageCodeInputLabel":" Language Code","remove":"Strika Div","styleSelectLabel":"Style","title":"Ger Div Container","toolbar":"Ger Div Container"},"elementspath":{"eleLabel":"Slóð til elementir","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Leita","findOptions":"Finn møguleikar","findWhat":"Finn:","matchCase":"Munur á stórum og smáum bókstavum","matchCyclic":"Match cyclic","matchWord":"Bert heil orð","notFoundMsg":"Leititeksturin varð ikki funnin","replace":"Yvirskriva","replaceAll":"Yvirskriva alt","replaceSuccessMsg":"%1 úrslit broytt.","replaceWith":"Yvirskriva við:","title":"Finn og broyt"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Fjaldur teigur","iframe":"IFrame","unknown":"Ókent Object"},"flash":{"access":"Script atgongd","accessAlways":"Altíð","accessNever":"Ongantíð","accessSameDomain":"Sama navnaøki","alignAbsBottom":"Abs botnur","alignAbsMiddle":"Abs miðja","alignBaseline":"Basislinja","alignTextTop":"Tekst toppur","bgcolor":"Bakgrundslitur","chkFull":"Loyv fullan skerm","chkLoop":"Endurspæl","chkMenu":"Ger Flash skrá virkna","chkPlay":"Avspælingin byrjar sjálv","flashvars":"Variablar fyri Flash","hSpace":"Høgri breddi","properties":"Flash eginleikar","propertiesTab":"Eginleikar","quality":"Góðska","qualityAutoHigh":"Auto høg","qualityAutoLow":"Auto Lág","qualityBest":"Besta","qualityHigh":"Høg","qualityLow":"Lág","qualityMedium":"Meðal","scale":"Skalering","scaleAll":"Vís alt","scaleFit":"Neyv skalering","scaleNoBorder":"Eingin bordi","title":"Flash eginleikar","vSpace":"Vinstri breddi","validateHSpace":"HSpace má vera eitt tal.","validateSrc":"Vinarliga skriva tilknýti (URL)","validateVSpace":"VSpace má vera eitt tal.","windowMode":"Slag av rúti","windowModeOpaque":"Ikki transparent","windowModeTransparent":"Transparent","windowModeWindow":"Rútur"},"font":{"fontSize":{"label":"Skriftstødd","voiceLabel":"Skriftstødd","panelTitle":"Skriftstødd"},"label":"Skrift","panelTitle":"Skrift","voiceLabel":"Skrift"},"forms":{"button":{"title":"Eginleikar fyri knøtt","text":"Tekstur","type":"Slag","typeBtn":"Knøttur","typeSbm":"Send","typeRst":"Nullstilla"},"checkboxAndRadio":{"checkboxTitle":"Eginleikar fyri flugubein","radioTitle":"Eginleikar fyri radioknøtt","value":"Virði","selected":"Valt","required":"Required"},"form":{"title":"Eginleikar fyri Form","menu":"Eginleikar fyri Form","action":"Hending","method":"Háttur","encoding":"Encoding"},"hidden":{"title":"Eginleikar fyri fjaldan teig","name":"Navn","value":"Virði"},"select":{"title":"Eginleikar fyri valskrá","selectInfo":"Upplýsingar","opAvail":"Tøkir møguleikar","value":"Virði","size":"Stødd","lines":"Linjur","chkMulti":"Loyv fleiri valmøguleikum samstundis","required":"Required","opText":"Tekstur","opValue":"Virði","btnAdd":"Legg afturat","btnModify":"Broyt","btnUp":"Upp","btnDown":"Niður","btnSetValue":"Set sum valt virði","btnDelete":"Strika"},"textarea":{"title":"Eginleikar fyri tekstumráði","cols":"kolonnur","rows":"røðir"},"textfield":{"title":"Eginleikar fyri tekstteig","name":"Navn","value":"Virði","charWidth":"Breidd (sjónlig tekn)","maxChars":"Mest loyvdu tekn","required":"Required","type":"Slag","typeText":"Tekstur","typePass":"Loyniorð","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Skriftsnið","panelTitle":"Skriftsnið","tag_address":"Adressa","tag_div":"Vanligt (DIV)","tag_h1":"Yvirskrift 1","tag_h2":"Yvirskrift 2","tag_h3":"Yvirskrift 3","tag_h4":"Yvirskrift 4","tag_h5":"Yvirskrift 5","tag_h6":"Yvirskrift 6","tag_p":"Vanligt","tag_pre":"Sniðgivið"},"horizontalrule":{"toolbar":"Ger vatnrætta linju"},"iframe":{"border":"Vís frame kant","noUrl":"Vinarliga skriva URL til iframe","scrolling":"Loyv scrollbars","title":"Møguleikar fyri IFrame","toolbar":"IFrame"},"image":{"alt":"Alternativur tekstur","border":"Bordi","btnUpload":"Send til ambætaran","button2Img":"Skal valdi myndaknøttur gerast til vanliga mynd?","hSpace":"Høgri breddi","img2Button":"Skal valda mynd gerast til myndaknøtt?","infoTab":"Myndaupplýsingar","linkTab":"Tilknýti","lockRatio":"Læs lutfallið","menu":"Myndaeginleikar","resetSize":"Upprunastødd","title":"Myndaeginleikar","titleButton":"Eginleikar fyri myndaknøtt","upload":"Send","urlMissing":"URL til mynd manglar.","vSpace":"Vinstri breddi","validateBorder":"Bordi má vera eitt heiltal.","validateHSpace":"HSpace má vera eitt heiltal.","validateVSpace":"VSpace má vera eitt heiltal."},"indent":{"indent":"Økja reglubrotarinntriv","outdent":"Minka reglubrotarinntriv"},"smiley":{"options":"Møguleikar fyri Smiley","title":"Vel Smiley","toolbar":"Smiley"},"language":{"button":"Velja tungumál","remove":"Remove language"},"link":{"acccessKey":"Snarvegisknöttur","advanced":"Fjølbroytt","advisoryContentType":"Vegleiðandi innihaldsslag","advisoryTitle":"Vegleiðandi heiti","anchor":{"toolbar":"Ger/broyt marknastein","menu":"Eginleikar fyri marknastein","title":"Eginleikar fyri marknastein","name":"Heiti marknasteinsins","errorName":"Vinarliga rita marknasteinsins heiti","remove":"Strika marknastein"},"anchorId":"Eftir element Id","anchorName":"Eftir navni á marknasteini","charset":"Atknýtt teknsett","cssClasses":"Typografi klassar","download":"Force Download","displayText":"Display Text","emailAddress":"Teldupost-adressa","emailBody":"Breyðtekstur","emailSubject":"Evni","id":"Id","info":"Tilknýtis upplýsingar","langCode":"Tekstkós","langDir":"Tekstkós","langDirLTR":"Frá vinstru til høgru (LTR)","langDirRTL":"Frá høgru til vinstru (RTL)","menu":"Broyt tilknýti","name":"Navn","noAnchors":"(Eingir marknasteinar eru í hesum dokumentið)","noEmail":"Vinarliga skriva teldupost-adressu","noUrl":"Vinarliga skriva tilknýti (URL)","other":"<annað>","popupDependent":"Bundið (Netscape)","popupFeatures":"Popup vindeygans víðkaðu eginleikar","popupFullScreen":"Fullur skermur (IE)","popupLeft":"Frástøða frá vinstru","popupLocationBar":"Adressulinja","popupMenuBar":"Skrábjálki","popupResizable":"Stødd kann broytast","popupScrollBars":"Rullibjálki","popupStatusBar":"Støðufrágreiðingarbjálki","popupToolbar":"Amboðsbjálki","popupTop":"Frástøða frá íerva","rel":"Relatión","selectAnchor":"Vel ein marknastein","styles":"Typografi","tabIndex":"Tabulator indeks","target":"Target","targetFrame":"<ramma>","targetFrameName":"Vís navn vindeygans","targetPopup":"<popup vindeyga>","targetPopupName":"Popup vindeygans navn","title":"Tilknýti","toAnchor":"Tilknýti til marknastein í tekstinum","toEmail":"Teldupostur","toUrl":"URL","toolbar":"Ger/broyt tilknýti","type":"Tilknýtisslag","unlink":"Strika tilknýti","upload":"Send til ambætaran"},"list":{"bulletedlist":"Punktmerktur listi","numberedlist":"Talmerktur listi"},"liststyle":{"armenian":"Armensk talskipan","bulletedTitle":"Eginleikar fyri lista við prikkum","circle":"Sirkul","decimal":"Vanlig tøl (1, 2, 3, etc.)","decimalLeadingZero":"Tøl við null frammanfyri (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgisk talskipan (an, ban, gan, osv.)","lowerAlpha":"Lítlir bókstavir (a, b, c, d, e, etc.)","lowerGreek":"Grikskt við lítlum (alpha, beta, gamma, etc.)","lowerRoman":"Lítil rómaratøl (i, ii, iii, iv, v, etc.)","none":"Einki","notset":"<ikki sett>","numberedTitle":"Eginleikar fyri lista við tølum","square":"Fýrkantur","start":"Byrjan","type":"Slag","upperAlpha":"Stórir bókstavir (A, B, C, D, E, etc.)","upperRoman":"Stór rómaratøl (I, II, III, IV, V, etc.)","validateStartNumber":"Byrjunartalið fyri lista má vera eitt heiltal."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maksimera","minimize":"Minimera"},"newpage":{"toolbar":"Nýggj síða"},"pagebreak":{"alt":"Síðuskift","toolbar":"Ger síðuskift"},"pastetext":{"button":"Innrita som reinan tekst","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Innrita som reinan tekst"},"pastefromword":{"confirmCleanup":"Teksturin, tú roynir at seta inn, sýnist at stava frá Word. Skal teksturin reinsast fyrst?","error":"Tað eydnaðist ikki at reinsa tekstin vegna ein internan feil","title":"Innrita frá Word","toolbar":"Innrita frá Word"},"preview":{"preview":"Frumsýning"},"print":{"toolbar":"Prenta"},"removeformat":{"toolbar":"Strika sniðgeving"},"save":{"toolbar":"Goym"},"selectall":{"toolbar":"Markera alt"},"showblocks":{"toolbar":"Vís blokkar"},"sourcearea":{"toolbar":"Kelda"},"specialchar":{"options":"Møguleikar við serteknum","title":"Vel sertekn","toolbar":"Set inn sertekn"},"scayt":{"btn_about":"Um SCAYT","btn_dictionaries":"Orðabøkur","btn_disable":"Nokta SCAYT","btn_enable":"Loyv SCAYT","btn_langs":"Tungumál","btn_options":"Uppseting","text_title":"Kanna stavseting, meðan tú skrivar"},"stylescombo":{"label":"Typografi","panelTitle":"Formatterings stílir","panelTitle1":"Blokk stílir","panelTitle2":"Inline stílir","panelTitle3":"Object stílir"},"table":{"border":"Bordabreidd","caption":"Tabellfrágreiðing","cell":{"menu":"Meski","insertBefore":"Set meska inn áðrenn","insertAfter":"Set meska inn aftaná","deleteCell":"Strika meskar","merge":"Flætta meskar","mergeRight":"Flætta meskar til høgru","mergeDown":"Flætta saman","splitHorizontal":"Kloyv meska vatnrætt","splitVertical":"Kloyv meska loddrætt","title":"Mesku eginleikar","cellType":"Mesku slag","rowSpan":"Ræð spenni","colSpan":"Kolonnu spenni","wordWrap":"Orðkloyving","hAlign":"Horisontal plasering","vAlign":"Loddrøtt plasering","alignBaseline":"Basislinja","bgColor":"Bakgrundslitur","borderColor":"Bordalitur","data":"Data","header":"Header","yes":"Ja","no":"Nei","invalidWidth":"Meskubreidd má vera eitt tal.","invalidHeight":"Meskuhædd má vera eitt tal.","invalidRowSpan":"Raðspennið má vera eitt heiltal.","invalidColSpan":"Kolonnuspennið má vera eitt heiltal.","chooseColor":"Vel"},"cellPad":"Meskubreddi","cellSpace":"Fjarstøða millum meskar","column":{"menu":"Kolonna","insertBefore":"Set kolonnu inn áðrenn","insertAfter":"Set kolonnu inn aftaná","deleteColumn":"Strika kolonnur"},"columns":"Kolonnur","deleteTable":"Strika tabell","headers":"Yvirskriftir","headersBoth":"Báðir","headersColumn":"Fyrsta kolonna","headersNone":"Eingin","headersRow":"Fyrsta rað","invalidBorder":"Borda-stødd má vera eitt tal.","invalidCellPadding":"Cell padding má vera eitt tal.","invalidCellSpacing":"Cell spacing má vera eitt tal.","invalidCols":"Talið av kolonnum má vera eitt tal størri enn 0.","invalidHeight":"Tabell-hædd má vera eitt tal.","invalidRows":"Talið av røðum má vera eitt tal størri enn 0.","invalidWidth":"Tabell-breidd má vera eitt tal.","menu":"Eginleikar fyri tabell","row":{"menu":"Rað","insertBefore":"Set rað inn áðrenn","insertAfter":"Set rað inn aftaná","deleteRow":"Strika røðir"},"rows":"Røðir","summary":"Samandráttur","title":"Eginleikar fyri tabell","toolbar":"Tabell","widthPc":"prosent","widthPx":"pixels","widthUnit":"breiddar unit"},"undo":{"redo":"Vend aftur","undo":"Angra"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Forfjóna","btnIgnoreAll":"Forfjóna alt","btnReplace":"Yvirskriva","btnReplaceAll":"Yvirskriva alt","btnUndo":"Angra","changeTo":"Broyt til","errorLoading":"Feilur við innlesing av application service host: %s.","ieSpellDownload":"Rættstavarin er ikki tøkur í tekstviðgeranum. Vilt tú heinta hann nú?","manyChanges":"Rættstavarin liðugur: %1 orð broytt","noChanges":"Rættstavarin liðugur: Einki orð varð broytt","noMispell":"Rættstavarin liðugur: Eingin feilur funnin","noSuggestions":"- Einki uppskot -","notAvailable":"Tíverri, ikki tøkt í løtuni.","notInDic":"Finst ikki í orðabókini","oneChange":"Rættstavarin liðugur: Eitt orð er broytt","progress":"Rættstavarin arbeiðir...","title":"Kanna stavseting","toolbar":"Kanna stavseting"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fo.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ro.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ro.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ro.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['ro']={"editor":"Editor de text îmbogățit","editorPanel":"Panoul editorului de text îmbogățit","common":{"editorHelp":"Apasă ALT 0 pentru ajutor","browseServer":"Răsfoiește fișiere","url":"URL","protocol":"Protocol","upload":"Încarcă","uploadSubmit":"Trimite la server","image":"Imagine","flash":"Flash","form":"Formular (Form)","checkbox":"Bifă (Checkbox)","radio":"Buton radio (RadioButton)","textField":"Câmp text (TextField)","textarea":"Suprafaţă text (Textarea)","hiddenField":"Câmp ascuns (HiddenField)","button":"Buton","select":"Câmp selecţie (SelectionField)","imageButton":"Buton imagine (ImageButton)","notSet":"fără setări","id":"identificator","name":"Nume","langDir":"Direcţia cuvintelor","langDirLtr":"de la stânga la dreapta (LTR)","langDirRtl":"de la dreapta la stânga (RTL)","langCode":"Codul limbii","longDescr":"Descrierea completă URL","cssClass":"Clasele cu stilul paginii (CSS)","advisoryTitle":"Titlul consultativ","cssStyle":"Stil","ok":"OK","cancel":"Anulare","close":"Închide","preview":"Previzualizare","resize":"Redimensionează","generalTab":"General","advancedTab":"Avansat","validateNumberFailed":"Această valoare nu este un număr!","confirmNewPage":"Orice modificări nesalvate ale acestui conținut, vor fi pierdute. Sigur doriți încărcarea unei noi pagini?","confirmCancel":"Ai schimbat câteva opțiuni. Ești sigur că dorești să închiz fereastra de dialog?","options":"Opțiuni","target":"Țintă","targetNew":"Fereastră nouă (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"În aceeași fereastră (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Stânga spre Dreapta (LTR)","langDirRTL":"Dreapta spre Stânga (RTL)","styles":"Stil","cssClasses":"Clase foaie de stil","width":"Lăţime","height":"Înălţime","align":"Aliniere","left":"Aliniază la stânga","right":"Aliniază la dreapta","center":"Aliniază pe centru","justify":"Aliniere în bloc (Justify)","alignLeft":"Aliniere la stânga","alignRight":"Aliniere la dreapta","alignCenter":"Align Center","alignTop":"Aliniere sus","alignMiddle":"Aliniere la mijloc","alignBottom":"Aliniere jos","alignNone":"Fără aliniere","invalidValue":"Valoare invalidă","invalidHeight":"Înălțimea trebuie să fie un număr.","invalidWidth":"Lățimea trebuie să fie un număr.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Valoarea specificată pentru câmpul \"%1\" trebuie să fie un număr pozitiv cu sau fără o unitate de măsură validă CSS (px, %, in, cm, mm, em, ex, pt, sau pc).","invalidHtmlLength":"Valoarea specificată pentru câmpul \"%1\" trebuie să fie un număr pozitiv cu sau fără o unitate de măsură validă HTML (px sau %).","invalidInlineStyle":"Valoarea specificată pentru stil trebuie să conțină una sau mai multe construcții de tipul \"name : value\", separate prin punct și virgulă.","cssLengthTooltip":"Introdu un număr pentru o valoare în pixeli sau un număr pentru o unitate de măsură validă CSS (px, %, in, cm, mm, em, ex, pt, sau pc).","unavailable":"%1<span class=\"cke_accessibility\">, nu este disponibil</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Bară spațiu","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Scurtături tastatură","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Toate drepturile rezervate.","dlgTitle":"Despre CKEeditor 4","moreInfo":"Pentru informații despre licențiere, vă rugăm vizitați web site-ul nostru:"},"basicstyles":{"bold":"Îngroşat (bold)","italic":"Înclinat (italic)","strike":"Tăiat (strike through)","subscript":"Indice (subscript)","superscript":"Putere (superscript)","underline":"Subliniat (underline)"},"bidi":{"ltr":"Direcția textului de la stânga la dreapta","rtl":"Direcția textului de la dreapta la stânga"},"blockquote":{"toolbar":"Citat"},"notification":{"closed":"Notificare închisă."},"button":{"selectedLabel":"%1 (Selectat)"},"toolbar":{"toolbarCollapse":"Micșorează Bara","toolbarExpand":"Mărește Bara","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editează bara de unelte"},"clipboard":{"copy":"Copiază","copyError":"Setările de securitate ale navigatorului (browser) pe care îl folosiţi nu permit editorului să execute automat operaţiunea de copiere. Vă rugăm folosiţi tastatura (Ctrl/Cmd+C).","cut":"Decupează","cutError":"Setările de securitate ale navigatorului (browser) pe care îl folosiţi nu permit editorului să execute automat operaţiunea de tăiere. Vă rugăm folosiţi tastatura (Ctrl/Cmd+X).","paste":"Adaugă din clipboard","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Suprafața de adăugare","pasteMsg":"Paste your content inside the area below and press OK.","title":"Adaugă"},"colorbutton":{"auto":"Automat","bgColorTitle":"Coloarea fundalului","colors":{"000":"Negru","800000":"Maro închis","8B4513":"Maro închis","2F4F4F":"Dark Slate Gray","008080":"Albastru verzui","000080":"Bleumarin","4B0082":"Indigo","696969":"Gri închis","B22222":"Cărămiziu (roșiatic)","A52A2A":"Maro","DAA520":"Galben muștar","006400":"Verde închis","40E0D0":"Turcoaz","0000CD":"Albastru mediu","800080":"Mov","808080":"Gri","F00":"Roșu","FF8C00":"Portocaliu închis","FFD700":"Auriu","008000":"Verde","0FF":"Cyan (albstru-verzui)","00F":"Albastru","EE82EE":"Violet","A9A9A9":"Gri roșiatic","FFA07A":"Light Salmon","FFA500":"Portocaliu","FFFF00":"Galben","00FF00":"Verde lime","AFEEEE":"Turcoaz deschis","ADD8E6":"Albastru deschis","DDA0DD":"Plum","D3D3D3":"Gri deschis","FFF0F5":"Lavender Blush","FAEBD7":"Alb vechi","FFFFE0":"Galben deschis","F0FFF0":"Honeydew","F0FFFF":"Azuriu","F0F8FF":"Alice Blue","E6E6FA":"Levănțică","FFF":"Alb","1ABC9C":"Cyan închis","2ECC71":"Verde deschis","3498DB":"Albastru deschis","9B59B6":"Mov roșiatic","4E5F70":"Albastru gri","F1C40F":"Galben viu","16A085":"Cyan închis","27AE60":"Smarlad închis","2980B9":"Albastru închis","8E44AD":"Violet închis","2C3E50":"Albastru desaturat","F39C12":"Portocaliu","E67E22":"Portocaliu morcov","E74C3C":"Roșu pal","ECF0F1":"Argintiu strălucitor","95A5A6":"Cyan gri deschis","DDD":"Gri deschis","D35400":"Portocaliu roșcat","C0392B":"Roșu închis","BDC3C7":"Argintiu","7F8C8D":"Cyan gri","999":"Gri închis"},"more":"Mai multe culori...","panelTitle":"Culori","textColorTitle":"Culoarea textului"},"colordialog":{"clear":"Clar","highlight":"Evidențiat","options":"Opțiuni culoare","selected":"Culoare selectată","title":"Selectează culoarea"},"templates":{"button":"Template-uri (şabloane)","emptyListMsg":"(Niciun template (şablon) definit)","insertOption":"Înlocuieşte cuprinsul actual","options":"Opțiuni șabloane","selectPromptMsg":"Vă rugăm selectaţi template-ul (şablonul) ce se va deschide în editor<br>(conţinutul actual va fi pierdut):","title":"Template-uri (şabloane) de conţinut"},"contextmenu":{"options":"Opțiuni Meniu Contextual"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Titlul consultativ","cssClassInputLabel":"Clasele cu stilul paginii (CSS)","edit":"Modifică Div-ul","inlineStyleInputLabel":"Stil Inline","langDirLTRLabel":"stânga-dreapta (LTR)","langDirLabel":"Direcţia cuvintelor","langDirRTLLabel":"dreapta-stânga (RTL)","languageCodeInputLabel":"Codul limbii","remove":"Șterge Div-ul","styleSelectLabel":"Stil","title":"Crează un container Div","toolbar":"Crează un container Div"},"elementspath":{"eleLabel":"Calea elementelor","eleTitle":"Nume element"},"filetools":{"loadError":"Eroare în timpul citirii fișierului.","networkError":"Eroare de rețea în timpul încărcării fișierului.","httpError404":"Eroare HTTP în timpul încărcării fișierului (404: Fișier negăsit).","httpError403":"Eroare HTTP în timpul încărcării fișierului (403: Operașie nepermisă).","httpError":"Eroare HTTP în timpul încărcării fișierului (stare eroiare: %1).","noUrlError":"URL-ul de ăncărcare nu este specificat.","responseError":"Răspuns server incorect."},"find":{"find":"Găseşte","findOptions":"Find Options","findWhat":"Găseşte:","matchCase":"Deosebeşte majuscule de minuscule (Match case)","matchCyclic":"Potrivește ciclic","matchWord":"Doar cuvintele întregi","notFoundMsg":"Textul specificat nu a fost găsit.","replace":"Înlocuieşte","replaceAll":"Înlocuieşte tot","replaceSuccessMsg":"%1 căutări înlocuite.","replaceWith":"Înlocuieşte cu:","title":"Găseşte şi înlocuieşte"},"fakeobjects":{"anchor":"Inserează/Editează ancoră","flash":"Element Flash","hiddenfield":"Câmp ascuns (HiddenField)","iframe":"Fereastră în fereastră (iframe)","unknown":"Necunoscut"},"flash":{"access":"Acces script","accessAlways":"Întotdeauna","accessNever":"Niciodată","accessSameDomain":"Același domeniu","alignAbsBottom":"Jos absolut (Abs Bottom)","alignAbsMiddle":"Mijloc absolut (Abs Middle)","alignBaseline":"Linia de jos (Baseline)","alignTextTop":"Text sus","bgcolor":"Coloarea fundalului","chkFull":"Permite pe tot ecranul","chkLoop":"Repetă (Loop)","chkMenu":"Activează meniul flash","chkPlay":"Rulează automat","flashvars":"Variabile pentru flash","hSpace":"HSpace","properties":"Proprietăţile flashului","propertiesTab":"Proprietăți","quality":"Calitate","qualityAutoHigh":"Auto înaltă","qualityAutoLow":"Auto Joasă","qualityBest":"Cea mai bună","qualityHigh":"Înaltă","qualityLow":"Joasă","qualityMedium":"Medie","scale":"Scală","scaleAll":"Arată tot","scaleFit":"Potriveşte","scaleNoBorder":"Fără bordură (No border)","title":"Proprietăţile flashului","vSpace":"VSpace","validateHSpace":"Hspace trebuie să fie un număr.","validateSrc":"Vă rugăm să scrieţi URL-ul","validateVSpace":"VSpace trebuie să fie un număr","windowMode":"Mod fereastră","windowModeOpaque":"Opacă","windowModeTransparent":"Transparentă","windowModeWindow":"Fereastră"},"font":{"fontSize":{"label":"Mărime","voiceLabel":"Font Size","panelTitle":"Mărime"},"label":"Font","panelTitle":"Font","voiceLabel":"Font"},"forms":{"button":{"title":"Proprietăţi buton","text":"Text (Valoare)","type":"Tip","typeBtn":"Buton","typeSbm":"Trimite","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Proprietăţi bifă (Checkbox)","radioTitle":"Proprietăţi buton radio (Radio Button)","value":"Valoare","selected":"Selectat","required":"Obligatoriu"},"form":{"title":"Proprietăţi formular (Form)","menu":"Proprietăţi formular (Form)","action":"Acţiune","method":"Metodă","encoding":"Encodare"},"hidden":{"title":"Proprietăţi câmp ascuns (Hidden Field)","name":"Nume","value":"Valoare"},"select":{"title":"Proprietăţi câmp selecţie (Selection Field)","selectInfo":"Informaţii","opAvail":"Opţiuni disponibile","value":"Valoare","size":"Mărime","lines":"linii","chkMulti":"Permite selecţii multiple","required":"Selecție necesară","opText":"Text","opValue":"Valoare","btnAdd":"Adaugă","btnModify":"Modifică","btnUp":"Sus","btnDown":"Jos","btnSetValue":"Setează ca valoare selectată","btnDelete":"Şterge"},"textarea":{"title":"Proprietăţi suprafaţă text (Textarea)","cols":"Coloane","rows":"Linii"},"textfield":{"title":"Proprietăţi câmp text (Text Field)","name":"Nume","value":"Valoare","charWidth":"Lărgimea caracterului","maxChars":"Număr maxim de caractere","required":"Necesar","type":"Tip","typeText":"Text","typePass":"Parolă","typeEmail":"Email","typeSearch":"Cauta","typeTel":"Numar telefon","typeUrl":"URL"}},"format":{"label":"Formatare","panelTitle":"Formatare","tag_address":"Adresă","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatat"},"horizontalrule":{"toolbar":"Inserează linie orizontală"},"iframe":{"border":"Arată bordura chenarului","noUrl":"Te rog scrie URL-ul iframe-ului","scrolling":"Permite bare de defilare","title":"Proprietăți IFrame","toolbar":"IFrame"},"image":{"alt":"Text alternativ","border":"Margine","btnUpload":"Trimite la server","button2Img":"Buton imagine în imagine normală","hSpace":"HSpace","img2Button":"Imagine în buton imagine","infoTab":"Informaţii despre imagine","linkTab":"Link (Legătură web)","lockRatio":"Păstrează proporţiile","menu":"Proprietăţile imaginii","resetSize":"Resetează mărimea","title":"Proprietăţile imaginii","titleButton":"Proprietăţi buton imagine (Image Button)","upload":"Încarcă","urlMissing":"Sursa URL a imaginii lipsește.","vSpace":"VSpace","validateBorder":"Bordura trebuie să fie număr întreg.","validateHSpace":"Hspace trebuie să fie număr întreg.","validateVSpace":"Vspace trebuie să fie număr întreg."},"indent":{"indent":"Creşte indentarea","outdent":"Scade indentarea"},"smiley":{"options":"Opțiuni figuri expresive","title":"Inserează o figură expresivă (Emoticon)","toolbar":"Figură expresivă (Emoticon)"},"language":{"button":"Alege limba","remove":"Șterge limba deja selectată"},"link":{"acccessKey":"Tasta de acces","advanced":"Avansat","advisoryContentType":"Tipul consultativ al titlului","advisoryTitle":"Titlul consultativ","anchor":{"toolbar":"Inserează/Editează ancoră","menu":"Proprietăţi ancoră","title":"Proprietăţi ancoră","name":"Numele ancorei","errorName":"Vă rugăm scrieţi numele ancorei","remove":"Elimină ancora"},"anchorId":"după Id-ul elementului","anchorName":"după numele ancorei","charset":"Setul de caractere al resursei legate","cssClasses":"Clasele cu stilul paginii (CSS)","download":"descarcă","displayText":"afișează textul","emailAddress":"Adresă de e-mail","emailBody":"conținut email","emailSubject":"Subiectul mesajului","id":"identitate","info":"Informaţii despre link (Legătură web)","langCode":"Direcţia cuvintelor","langDir":"Direcţia cuvintelor","langDirLTR":"de la stânga la dreapta (LTR)","langDirRTL":"de la dreapta la stânga (RTL)","menu":"Editează Link","name":"Nume","noAnchors":"Nu există nici o ancoră","noEmail":"Vă rugăm să scrieţi adresa de e-mail","noUrl":"Vă rugăm să scrieţi URL-ul","other":"altceva","popupDependent":"Dependent (Netscape)","popupFeatures":"Proprietăţile ferestrei popup","popupFullScreen":"Tot ecranul (Full Screen)(IE)","popupLeft":"Poziţia la stânga","popupLocationBar":"Bara de locaţie","popupMenuBar":"Bara de meniu","popupResizable":"Redimensionabil","popupScrollBars":"Bare de derulare","popupStatusBar":"Bara de stare","popupToolbar":"Bara de opţiuni","popupTop":"Poziţia la dreapta","rel":"Relaționare","selectAnchor":"Selectaţi o ancoră","styles":"Stil","tabIndex":"Indexul tabului","target":"Ţintă (Target)","targetFrame":"frame țintă","targetFrameName":"Numele frameului ţintă","targetPopup":"popup țintă","targetPopupName":"Numele ferestrei popup","title":"titlu","toAnchor":"Ancoră în această pagină","toEmail":"E-Mail","toUrl":"URL","toolbar":"Inserează/Editează link (legătură web)","type":"Tipul link-ului (al legăturii web)","unlink":"Înlătură link (legătură web)","upload":"Încarcă"},"list":{"bulletedlist":"Inserează / Elimină Listă cu puncte","numberedlist":"Inserează / Elimină Listă numerotată"},"liststyle":{"armenian":"Numerotare armeniană","bulletedTitle":"Proprietățile listei cu simboluri","circle":"Cerc","decimal":"Decimale (1, 2, 3, etc.)","decimalLeadingZero":"Decimale cu zero în față (01, 02, 03, etc.)","disc":"Disc","georgian":"Numerotare georgiană (an, ban, gan, etc.)","lowerAlpha":"Litere mici (a, b, c, d, e, etc.)","lowerGreek":"Litere grecești mici (alpha, beta, gamma, etc.)","lowerRoman":"Cifre romane mici (i, ii, iii, iv, v, etc.)","none":"Nimic","notset":"<nesetat>","numberedTitle":"Proprietățile listei numerotate","square":"Pătrat","start":"Start","type":"Tip","upperAlpha":"Litere mari (A, B, C, D, E, etc.)","upperRoman":"Cifre romane mari (I, II, III, IV, V, etc.)","validateStartNumber":"Începutul listei trebuie să fie un număr întreg."},"magicline":{"title":"Inserează paragraf aici"},"maximize":{"maximize":"Mărește","minimize":"Micșorează"},"newpage":{"toolbar":"Pagină nouă"},"pagebreak":{"alt":"Page Break","toolbar":"Inserează separator de pagină (Page Break)"},"pastetext":{"button":"Adaugă ca text simplu (Plain Text)","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Adaugă ca text simplu (Plain Text)"},"pastefromword":{"confirmCleanup":"Textul pe care doriți să-l lipiți este din Word. Doriți curățarea textului înante de a-l adăuga?","error":"Nu a fost posibilă curățarea datelor adăugate datorită unei erori interne","title":"Adaugă din Word","toolbar":"Adaugă din Word"},"preview":{"preview":"Previzualizare"},"print":{"toolbar":"Printează"},"removeformat":{"toolbar":"Înlătură formatarea"},"save":{"toolbar":"Salvează"},"selectall":{"toolbar":"Selectează tot"},"showblocks":{"toolbar":"Arată blocurile"},"sourcearea":{"toolbar":"Sursa"},"specialchar":{"options":"Opțiuni caractere speciale","title":"Selectează caracter special","toolbar":"Inserează caracter special"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Stil","panelTitle":"Formatare stilurilor","panelTitle1":"Bloc stiluri","panelTitle2":"Stiluri înșiruite","panelTitle3":"Stiluri obiect"},"table":{"border":"Mărimea marginii","caption":"Titlu (Caption)","cell":{"menu":"Celulă","insertBefore":"Inserează celulă înainte","insertAfter":"Inserează celulă după","deleteCell":"Şterge celule","merge":"Uneşte celule","mergeRight":"Uneşte la dreapta","mergeDown":"Uneşte jos","splitHorizontal":"Împarte celula pe orizontală","splitVertical":"Împarte celula pe verticală","title":"Proprietăți celulă","cellType":"Tipul celulei","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Aliniament orizontal","vAlign":"Aliniament vertical","alignBaseline":"Baseline","bgColor":"Culoare fundal","borderColor":"Culoare bordură","data":"Data","header":"Antet","yes":"Da","no":"Nu","invalidWidth":"Lățimea celulei trebuie să fie un număr.","invalidHeight":"Înălțimea celulei trebuie să fie un număr.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Alege"},"cellPad":"Spaţiu în cadrul celulei","cellSpace":"Spaţiu între celule","column":{"menu":"Coloană","insertBefore":"Inserează coloană înainte","insertAfter":"Inserează coloană după","deleteColumn":"Şterge celule"},"columns":"Coloane","deleteTable":"Şterge tabel","headers":"Antente","headersBoth":"Ambele","headersColumn":"Prima coloană","headersNone":"Nimic","headersRow":"Primul rând","invalidBorder":"Dimensiunea bordurii trebuie să aibe un număr.","invalidCellPadding":"Spațierea celulei trebuie sa fie un număr pozitiv","invalidCellSpacing":"Spațierea celului trebuie să fie un număr pozitiv.","invalidCols":"Numărul coloanelor trebuie să fie mai mare decât 0.","invalidHeight":"Inaltimea celulei trebuie sa fie un numar.","invalidRows":"Numărul rândurilor trebuie să fie mai mare decât 0.","invalidWidth":"Lățimea tabelului trebuie să fie un număr.","menu":"Proprietăţile tabelului","row":{"menu":"Rând","insertBefore":"Inserează rând înainte","insertAfter":"Inserează rând după","deleteRow":"Şterge rânduri"},"rows":"Rânduri","summary":"Rezumat","title":"Proprietăţile tabelului","toolbar":"Tabel","widthPc":"procente","widthPx":"pixeli","widthUnit":"unitate lățime"},"undo":{"redo":"Starea ulterioară (redo)","undo":"Starea anterioară (undo)"},"widget":{"move":"Apasă și trage pentru a muta","label":"%1 widget"},"uploadwidget":{"abort":"Încărcare întreruptă de utilizator.","doneOne":"Fișier încărcat cu succes.","doneMany":"%1 fișiere încărcate cu succes.","uploadOne":"Încărcare fișier ({percentage}%)...","uploadMany":"Încărcare fișiere, {current} din {max} realizat ({percentage}%)..."},"wsc":{"btnIgnore":"Ignoră","btnIgnoreAll":"Ignoră toate","btnReplace":"Înlocuieşte","btnReplaceAll":"Înlocuieşte tot","btnUndo":"Starea anterioară (undo)","changeTo":"Schimbă în","errorLoading":"Eroare în lansarea aplicației service host %s.","ieSpellDownload":"Unealta pentru verificat textul (Spell checker) neinstalată. Doriţi să o descărcaţi acum?","manyChanges":"Verificarea textului terminată: 1% cuvinte modificate","noChanges":"Verificarea textului terminată: Niciun cuvânt modificat","noMispell":"Verificarea textului terminată: Nicio greşeală găsită","noSuggestions":"- Fără sugestii -","notAvailable":"Scuzați, dar serviciul nu este disponibil momentan.","notInDic":"Nu e în dicţionar","oneChange":"Verificarea textului terminată: Un cuvânt modificat","progress":"Verificarea textului în desfăşurare...","title":"Spell Checker","toolbar":"Verifică scrierea textului"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/ro.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/pt-br.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/pt-br.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/pt-br.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['pt-br']={"editor":"Editor de Rich Text","editorPanel":"Painel do editor de Rich Text","common":{"editorHelp":"Pressione ALT+0 para ajuda","browseServer":"Localizar no Servidor","url":"URL","protocol":"Protocolo","upload":"Enviar ao Servidor","uploadSubmit":"Enviar para o Servidor","image":"Imagem","flash":"Flash","form":"Formulário","checkbox":"Caixa de Seleção","radio":"Botão de Opção","textField":"Caixa de Texto","textarea":"Área de Texto","hiddenField":"Campo Oculto","button":"Botão","select":"Caixa de Listagem","imageButton":"Botão de Imagem","notSet":"<não ajustado>","id":"Id","name":"Nome","langDir":"Direção do idioma","langDirLtr":"Esquerda para Direita (LTR)","langDirRtl":"Direita para Esquerda (RTL)","langCode":"Idioma","longDescr":"Descrição da URL","cssClass":"Classe de CSS","advisoryTitle":"Título","cssStyle":"Estilos","ok":"OK","cancel":"Cancelar","close":"Fechar","preview":"Visualizar","resize":"Arraste para redimensionar","generalTab":"Geral","advancedTab":"Avançado","validateNumberFailed":"Este valor não é um número.","confirmNewPage":"Todas as mudanças não salvas serão perdidas. Tem certeza de que quer abrir uma nova página?","confirmCancel":"Algumas opções foram alteradas. Tem certeza de que quer fechar a caixa de diálogo?","options":"Opções","target":"Destino","targetNew":"Nova Janela (_blank)","targetTop":"Janela de Cima (_top)","targetSelf":"Mesma Janela (_self)","targetParent":"Janela Pai (_parent)","langDirLTR":"Esquerda para Direita (LTR)","langDirRTL":"Direita para Esquerda (RTL)","styles":"Estilo","cssClasses":"Classes","width":"Largura","height":"Altura","align":"Alinhamento","left":"Esquerda","right":"Direita","center":"Centralizado","justify":"Justificar","alignLeft":"Alinhar Esquerda","alignRight":"Alinhar Direita","alignCenter":"Align Center","alignTop":"Superior","alignMiddle":"Centralizado","alignBottom":"Inferior","alignNone":"Nenhum","invalidValue":"Valor inválido.","invalidHeight":"A altura tem que ser um número","invalidWidth":"A largura tem que ser um número.","invalidLength":"Valor especifico para o campo \"%1\" deve ser um número positivo com ou sem uma unidade mensurável (%2) válida.","invalidCssLength":"O valor do campo \"%1\" deve ser um número positivo opcionalmente seguido por uma válida unidade de medida de CSS (px, %, in, cm, mm, em, ex, pt ou pc).","invalidHtmlLength":"O valor do campo \"%1\" deve ser um número positivo opcionalmente seguido por uma válida unidade de medida de HTML (px ou %).","invalidInlineStyle":"O valor válido para estilo deve conter uma ou mais tuplas no formato \"nome : valor\", separados por ponto e vírgula.","cssLengthTooltip":"Insira um número para valor em pixels ou um número seguido de uma válida unidade de medida de CSS (px, %, in, cm, mm, em, ex, pt ou pc).","unavailable":"%1<span class=\"cke_accessibility\">, indisponível</span>","keyboard":{"8":"Tecla Retroceder","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Tecla Espaço","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Comando"},"keyboardShortcut":"Atalho do teclado","optionDefault":"Padrão"},"about":{"copy":"Copyright &copy; $1. Todos os direitos reservados.","dlgTitle":"Sobre o CKEditor 4","moreInfo":"Para informações sobre a licença por favor visite o nosso site:"},"basicstyles":{"bold":"Negrito","italic":"Itálico","strike":"Tachado","subscript":"Subscrito","superscript":"Sobrescrito","underline":"Sublinhado"},"bidi":{"ltr":"Direção do texto da esquerda para a direita","rtl":"Direção do texto da direita para a esquerda"},"blockquote":{"toolbar":"Citação"},"notification":{"closed":"Notificação fechada."},"button":{"selectedLabel":"%1 (Selecionado)"},"toolbar":{"toolbarCollapse":"Diminuir Barra de Ferramentas","toolbarExpand":"Aumentar Barra de Ferramentas","toolbarGroups":{"document":"Documento","clipboard":"Clipboard/Desfazer","editing":"Edição","forms":"Formulários","basicstyles":"Estilos Básicos","paragraph":"Paragrafo","links":"Links","insert":"Inserir","styles":"Estilos","colors":"Cores","tools":"Ferramentas"},"toolbars":"Barra de Ferramentas do Editor"},"clipboard":{"copy":"Copiar","copyError":"As configurações de segurança do seu navegador não permitem que o editor execute operações de copiar automaticamente. Por favor, utilize o teclado para copiar (Ctrl/Cmd+C).","cut":"Recortar","cutError":"As configurações de segurança do seu navegador não permitem que o editor execute operações de recortar automaticamente. Por favor, utilize o teclado para recortar (Ctrl/Cmd+X).","paste":"Colar","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Área para Colar","pasteMsg":"Paste your content inside the area below and press OK.","title":"Colar"},"colorbutton":{"auto":"Automático","bgColorTitle":"Cor do Plano de Fundo","colors":{"000":"Preto","800000":"Foquete","8B4513":"Marrom 1","2F4F4F":"Cinza 1","008080":"Cerceta","000080":"Azul Marinho","4B0082":"Índigo","696969":"Cinza 2","B22222":"Tijolo de Fogo","A52A2A":"Marrom 2","DAA520":"Vara Dourada","006400":"Verde Escuro","40E0D0":"Turquesa","0000CD":"Azul Médio","800080":"Roxo","808080":"Cinza 3","F00":"Vermelho","FF8C00":"Laranja Escuro","FFD700":"Dourado","008000":"Verde","0FF":"Ciano","00F":"Azul","EE82EE":"Violeta","A9A9A9":"Cinza Escuro","FFA07A":"Salmão Claro","FFA500":"Laranja","FFFF00":"Amarelo","00FF00":"Lima","AFEEEE":"Turquesa Pálido","ADD8E6":"Azul Claro","DDA0DD":"Ameixa","D3D3D3":"Cinza Claro","FFF0F5":"Lavanda 1","FAEBD7":"Branco Antiguidade","FFFFE0":"Amarelo Claro","F0FFF0":"Orvalho","F0FFFF":"Azure","F0F8FF":"Azul Alice","E6E6FA":"Lavanda 2","FFF":"Branco","1ABC9C":"Ciano Forte","2ECC71":"Esmeralda","3498DB":"Azul Brilhante","9B59B6":"Ametista","4E5F70":"Azul acinzentado","F1C40F":"Amarelo Vívido","16A085":"Ciano Escuro","27AE60":"Esmeralda Escura","2980B9":"Azul Forte","8E44AD":"Violeta Escura","2C3E50":"Azul Dessaturado","F39C12":"Laranja","E67E22":"Laranja Cenoura","E74C3C":"Vermelho Pálido","ECF0F1":"Prata Brilhante","95A5A6":"Ciano Acinzentado Claro ","DDD":"Cinza Claro","D35400":"Abóbora","C0392B":"Vermelho Forte","BDC3C7":"Prata","7F8C8D":"Ciano Acinzentado","999":"Cinza Escuro"},"more":"Mais Cores...","panelTitle":"Cores","textColorTitle":"Cor do Texto"},"colordialog":{"clear":"Limpar","highlight":"Grifar","options":"Opções de Cor","selected":"Cor Selecionada","title":"Selecione uma Cor"},"templates":{"button":"Modelos de layout","emptyListMsg":"(Não foram definidos modelos de layout)","insertOption":"Substituir o conteúdo atual","options":"Opções de Template","selectPromptMsg":"Selecione um modelo de layout para ser aberto no editor<br>(o conteúdo atual será perdido):","title":"Modelo de layout de conteúdo"},"contextmenu":{"options":"Opções Menu de Contexto"},"copyformatting":{"label":"Copiar Formatação","notification":{"copied":"Formatação copiada","applied":"Formatação aplicada","canceled":"Formatação cancelada","failed":"A formatação falhou. Você não pode aplicar estilos sem copiá-los antes."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Título Consulta","cssClassInputLabel":"Classes de CSS","edit":"Editar Div","inlineStyleInputLabel":"Estilo Inline","langDirLTRLabel":"Esquerda para Direita (LTR)","langDirLabel":"Direção da Escrita","langDirRTLLabel":"Direita para Esquerda (RTL)","languageCodeInputLabel":"Código de Idioma","remove":"Remover Div","styleSelectLabel":"Estilo","title":"Criar Container de DIV","toolbar":"Criar Container de DIV"},"elementspath":{"eleLabel":"Caminho dos Elementos","eleTitle":"Elemento %1"},"filetools":{"loadError":"Um erro ocorreu durante a leitura do arquivo.","networkError":"Um erro de rede ocorreu durante o envio do arquivo.","httpError404":"Um erro HTTP ocorreu durante o envio do arquivo (404: Arquivo não encontrado).","httpError403":"Um erro HTTP ocorreu durante o envio do arquivo (403: Proibido).","httpError":"Um erro HTTP ocorreu durante o envio do arquivo (status do erro: %1)","noUrlError":"A URL de upload não está definida.","responseError":"Resposta incorreta do servidor."},"find":{"find":"Localizar","findOptions":"Opções","findWhat":"Procurar por:","matchCase":"Coincidir Maiúsculas/Minúsculas","matchCyclic":"Coincidir cíclico","matchWord":"Coincidir a palavra inteira","notFoundMsg":"O texto especificado não foi encontrado.","replace":"Substituir","replaceAll":"Substituir Tudo","replaceSuccessMsg":"%1 ocorrência(s) substituída(s).","replaceWith":"Substituir por:","title":"Localizar e Substituir"},"fakeobjects":{"anchor":"Âncora","flash":"Animação em Flash","hiddenfield":"Campo Oculto","iframe":"IFrame","unknown":"Objeto desconhecido"},"flash":{"access":"Acesso ao script","accessAlways":"Sempre","accessNever":"Nunca","accessSameDomain":"Acessar Mesmo Domínio","alignAbsBottom":"Inferior Absoluto","alignAbsMiddle":"Centralizado Absoluto","alignBaseline":"Baseline","alignTextTop":"Superior Absoluto","bgcolor":"Cor do Plano de Fundo","chkFull":"Permitir tela cheia","chkLoop":"Tocar Infinitamente","chkMenu":"Habilita Menu Flash","chkPlay":"Tocar Automaticamente","flashvars":"Variáveis do Flash","hSpace":"HSpace","properties":"Propriedades do Flash","propertiesTab":"Propriedades","quality":"Qualidade","qualityAutoHigh":"Qualidade Alta Automática","qualityAutoLow":"Qualidade Baixa Automática","qualityBest":"Qualidade Melhor","qualityHigh":"Qualidade Alta","qualityLow":"Qualidade Baixa","qualityMedium":"Qualidade Média","scale":"Escala","scaleAll":"Mostrar tudo","scaleFit":"Escala Exata","scaleNoBorder":"Sem Borda","title":"Propriedades do Flash","vSpace":"VSpace","validateHSpace":"O HSpace tem que ser um número","validateSrc":"Por favor, digite o endereço do link","validateVSpace":"O VSpace tem que ser um número.","windowMode":"Modo da janela","windowModeOpaque":"Opaca","windowModeTransparent":"Transparente","windowModeWindow":"Janela"},"font":{"fontSize":{"label":"Tamanho","voiceLabel":"Tamanho da fonte","panelTitle":"Tamanho"},"label":"Fonte","panelTitle":"Fonte","voiceLabel":"Fonte"},"forms":{"button":{"title":"Formatar Botão","text":"Texto (Valor)","type":"Tipo","typeBtn":"Botão","typeSbm":"Enviar","typeRst":"Limpar"},"checkboxAndRadio":{"checkboxTitle":"Formatar Caixa de Seleção","radioTitle":"Formatar Botão de Opção","value":"Valor","selected":"Selecionado","required":"Obrigatório"},"form":{"title":"Formatar Formulário","menu":"Formatar Formulário","action":"Ação","method":"Método","encoding":"Codificação"},"hidden":{"title":"Formatar Campo Oculto","name":"Nome","value":"Valor"},"select":{"title":"Formatar Caixa de Listagem","selectInfo":"Informações","opAvail":"Opções disponíveis","value":"Valor","size":"Tamanho","lines":"linhas","chkMulti":"Permitir múltiplas seleções","required":"Obrigatório","opText":"Texto","opValue":"Valor","btnAdd":"Adicionar","btnModify":"Modificar","btnUp":"Para cima","btnDown":"Para baixo","btnSetValue":"Definir como selecionado","btnDelete":"Remover"},"textarea":{"title":"Formatar Área de Texto","cols":"Colunas","rows":"Linhas"},"textfield":{"title":"Formatar Caixa de Texto","name":"Nome","value":"Valor","charWidth":"Comprimento (em caracteres)","maxChars":"Número Máximo de Caracteres","required":"Obrigatório","type":"Tipo","typeText":"Texto","typePass":"Senha","typeEmail":"Email","typeSearch":"Busca","typeTel":"Número de Telefone","typeUrl":"URL"}},"format":{"label":"Formatação","panelTitle":"Formatação","tag_address":"Endereço","tag_div":"Normal (DIV)","tag_h1":"Título 1","tag_h2":"Título 2","tag_h3":"Título 3","tag_h4":"Título 4","tag_h5":"Título 5","tag_h6":"Título 6","tag_p":"Normal","tag_pre":"Formatado"},"horizontalrule":{"toolbar":"Inserir Linha Horizontal"},"iframe":{"border":"Mostra borda do iframe","noUrl":"Insira a URL do iframe","scrolling":"Abilita scrollbars","title":"Propriedade do IFrame","toolbar":"IFrame"},"image":{"alt":"Texto Alternativo","border":"Borda","btnUpload":"Enviar para o Servidor","button2Img":"Deseja transformar o botão de imagem em uma imagem comum?","hSpace":"HSpace","img2Button":"Deseja transformar a imagem em um botão de imagem?","infoTab":"Informações da Imagem","linkTab":"Link","lockRatio":"Travar Proporções","menu":"Formatar Imagem","resetSize":"Redefinir para o Tamanho Original","title":"Formatar Imagem","titleButton":"Formatar Botão de Imagem","upload":"Enviar","urlMissing":"URL da imagem está faltando.","vSpace":"VSpace","validateBorder":"A borda deve ser um número inteiro.","validateHSpace":"O HSpace deve ser um número inteiro.","validateVSpace":"O VSpace deve ser um número inteiro."},"indent":{"indent":"Aumentar Recuo","outdent":"Diminuir Recuo"},"smiley":{"options":"Opções de Emoticons","title":"Inserir Emoticon","toolbar":"Emoticon"},"language":{"button":"Configure o Idioma","remove":"Remover Idioma"},"link":{"acccessKey":"Chave de Acesso","advanced":"Avançado","advisoryContentType":"Tipo de Conteúdo","advisoryTitle":"Título","anchor":{"toolbar":"Inserir/Editar Âncora","menu":"Formatar Âncora","title":"Formatar Âncora","name":"Nome da Âncora","errorName":"Por favor, digite o nome da âncora","remove":"Remover Âncora"},"anchorId":"Id da âncora","anchorName":"Nome da âncora","charset":"Charset do Link","cssClasses":"Classe de CSS","download":"Forçar Download","displayText":"Exibir Texto","emailAddress":"Endereço E-Mail","emailBody":"Corpo da Mensagem","emailSubject":"Assunto da Mensagem","id":"Id","info":"Informações","langCode":"Direção do idioma","langDir":"Direção do idioma","langDirLTR":"Esquerda para Direita (LTR)","langDirRTL":"Direita para Esquerda (RTL)","menu":"Editar Link","name":"Nome","noAnchors":"(Não há âncoras no documento)","noEmail":"Por favor, digite o endereço de e-mail","noUrl":"Por favor, digite o endereço do Link","other":"<outro>","popupDependent":"Dependente (Netscape)","popupFeatures":"Propriedades da Janela Pop-up","popupFullScreen":"Modo Tela Cheia (IE)","popupLeft":"Esquerda","popupLocationBar":"Barra de Endereços","popupMenuBar":"Barra de Menus","popupResizable":"Redimensionável","popupScrollBars":"Barras de Rolagem","popupStatusBar":"Barra de Status","popupToolbar":"Barra de Ferramentas","popupTop":"Topo","rel":"Tipo de Relação","selectAnchor":"Selecione uma âncora","styles":"Estilos","tabIndex":"Índice de Tabulação","target":"Destino","targetFrame":"<frame>","targetFrameName":"Nome do Frame de Destino","targetPopup":"<janela popup>","targetPopupName":"Nome da Janela Pop-up","title":"Editar Link","toAnchor":"Âncora nesta página","toEmail":"E-Mail","toUrl":"URL","toolbar":"Inserir/Editar Link","type":"Tipo de hiperlink","unlink":"Remover Link","upload":"Enviar ao Servidor"},"list":{"bulletedlist":"Lista sem números","numberedlist":"Lista numerada"},"liststyle":{"armenian":"Numeração Armêna","bulletedTitle":"Propriedades da Lista sem Numeros","circle":"Círculo","decimal":"Numeração Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Numeração Decimal com zeros (01, 02, 03, etc.)","disc":"Disco","georgian":"Numeração da Geórgia (an, ban, gan, etc.)","lowerAlpha":"Numeração Alfabética minúscula (a, b, c, d, e, etc.)","lowerGreek":"Numeração Grega minúscula (alpha, beta, gamma, etc.)","lowerRoman":"Numeração Romana minúscula (i, ii, iii, iv, v, etc.)","none":"Nenhum","notset":"<não definido>","numberedTitle":"Propriedades da Lista Numerada","square":"Quadrado","start":"Início","type":"Tipo","upperAlpha":"Numeração Alfabética Maiúscula (A, B, C, D, E, etc.)","upperRoman":"Numeração Romana maiúscula (I, II, III, IV, V, etc.)","validateStartNumber":"O número inicial da lista deve ser um número inteiro."},"magicline":{"title":"Insera um parágrafo aqui"},"maximize":{"maximize":"Maximizar","minimize":"Minimize"},"newpage":{"toolbar":"Novo"},"pagebreak":{"alt":"Quebra de Página","toolbar":"Inserir Quebra de Página"},"pastetext":{"button":"Colar como Texto sem Formatação","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Colar como Texto sem Formatação"},"pastefromword":{"confirmCleanup":"O texto que você deseja colar parece ter sido copiado do Word. Você gostaria de remover a formatação antes de colar?","error":"Não foi possível limpar os dados colados devido a um erro interno","title":"Colar do Word","toolbar":"Colar do Word"},"preview":{"preview":"Visualizar"},"print":{"toolbar":"Imprimir"},"removeformat":{"toolbar":"Remover Formatação"},"save":{"toolbar":"Salvar"},"selectall":{"toolbar":"Selecionar Tudo"},"showblocks":{"toolbar":"Mostrar blocos de código"},"sourcearea":{"toolbar":"Código-Fonte"},"specialchar":{"options":"Opções de Caractere Especial","title":"Selecione um Caractere Especial","toolbar":"Inserir Caractere Especial"},"scayt":{"btn_about":"Sobre a correção ortográfica durante a digitação","btn_dictionaries":"Dicionários","btn_disable":"Desabilitar correção ortográfica durante a digitação","btn_enable":"Habilitar correção ortográfica durante a digitação","btn_langs":"Idiomas","btn_options":"Opções","text_title":"Correção ortográfica durante a digitação"},"stylescombo":{"label":"Estilo","panelTitle":"Estilos de Formatação","panelTitle1":"Estilos de bloco","panelTitle2":"Estilos de texto corrido","panelTitle3":"Estilos de objeto"},"table":{"border":"Borda","caption":"Legenda","cell":{"menu":"Célula","insertBefore":"Inserir célula a esquerda","insertAfter":"Inserir célula a direita","deleteCell":"Remover Células","merge":"Mesclar Células","mergeRight":"Mesclar com célula a direita","mergeDown":"Mesclar com célula abaixo","splitHorizontal":"Dividir célula horizontalmente","splitVertical":"Dividir célula verticalmente","title":"Propriedades da célula","cellType":"Tipo de célula","rowSpan":"Linhas cobertas","colSpan":"Colunas cobertas","wordWrap":"Quebra de palavra","hAlign":"Alinhamento horizontal","vAlign":"Alinhamento vertical","alignBaseline":"Patamar de alinhamento","bgColor":"Cor de fundo","borderColor":"Cor das bordas","data":"Dados","header":"Cabeçalho","yes":"Sim","no":"Não","invalidWidth":"A largura da célula tem que ser um número.","invalidHeight":"A altura da célula tem que ser um número.","invalidRowSpan":"Linhas cobertas tem que ser um número inteiro.","invalidColSpan":"Colunas cobertas tem que ser um número inteiro.","chooseColor":"Escolher"},"cellPad":"Margem interna","cellSpace":"Espaçamento","column":{"menu":"Coluna","insertBefore":"Inserir coluna a esquerda","insertAfter":"Inserir coluna a direita","deleteColumn":"Remover Colunas"},"columns":"Colunas","deleteTable":"Apagar Tabela","headers":"Cabeçalho","headersBoth":"Ambos","headersColumn":"Primeira coluna","headersNone":"Nenhum","headersRow":"Primeira linha","invalidBorder":"O tamanho da borda tem que ser um número.","invalidCellPadding":"A margem interna das células tem que ser um número.","invalidCellSpacing":"O espaçamento das células tem que ser um número.","invalidCols":"O número de colunas tem que ser um número maior que 0.","invalidHeight":"A altura da tabela tem que ser um número.","invalidRows":"O número de linhas tem que ser um número maior que 0.","invalidWidth":"A largura da tabela tem que ser um número.","menu":"Formatar Tabela","row":{"menu":"Linha","insertBefore":"Inserir linha acima","insertAfter":"Inserir linha abaixo","deleteRow":"Remover Linhas"},"rows":"Linhas","summary":"Resumo","title":"Formatar Tabela","toolbar":"Tabela","widthPc":"%","widthPx":"pixels","widthUnit":"unidade largura"},"undo":{"redo":"Refazer","undo":"Desfazer"},"widget":{"move":"Click e arraste para mover","label":"%1 widget"},"uploadwidget":{"abort":"Envio cancelado pelo usuário.","doneOne":"Arquivo enviado com sucesso.","doneMany":"Enviados %1 arquivos com sucesso.","uploadOne":"Enviando arquivo({percentage}%)...","uploadMany":"Enviando arquivos, {current} de {max} completos ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorar uma vez","btnIgnoreAll":"Ignorar Todas","btnReplace":"Alterar","btnReplaceAll":"Alterar Todas","btnUndo":"Desfazer","changeTo":"Alterar para","errorLoading":"Erro carregando servidor de aplicação: %s.","ieSpellDownload":"A verificação ortográfica não foi instalada. Você gostaria de realizar o download agora?","manyChanges":"Verificação ortográfica encerrada: %1 palavras foram alteradas","noChanges":"Verificação ortográfica encerrada: Não houve alterações","noMispell":"Verificação encerrada: Não foram encontrados erros de ortografia","noSuggestions":"-sem sugestões de ortografia-","notAvailable":"Desculpe, o serviço não está disponível no momento.","notInDic":"Não encontrada","oneChange":"Verificação ortográfica encerrada: Uma palavra foi alterada","progress":"Verificação ortográfica em andamento...","title":"Corretor Ortográfico","toolbar":"Verificar Ortografia"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/pt-br.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['en']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Alignment","left":"Left","right":"Right","center":"Center","justify":"Justify","alignLeft":"Align Left","alignRight":"Align Right","alignCenter":"Align Center","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strikethrough","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Selected)"},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK.","title":"Paste"},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Color","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"More Colors...","panelTitle":"Colors","textColorTitle":"Text Color"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"Templates","emptyListMsg":"(No templates defined)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"Please select the template to open in the editor","title":"Content Templates"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Find","findOptions":"Find Options","findWhat":"Find what:","matchCase":"Match case","matchCyclic":"Match cyclic","matchWord":"Match whole word","notFoundMsg":"The specified text was not found.","replace":"Replace","replaceAll":"Replace All","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Replace with:","title":"Find and Replace"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs Bottom","alignAbsMiddle":"Abs Middle","alignBaseline":"Baseline","alignTextTop":"Text Top","bgcolor":"Background color","chkFull":"Allow Fullscreen","chkLoop":"Loop","chkMenu":"Enable Flash Menu","chkPlay":"Auto Play","flashvars":"Variables for Flash","hSpace":"HSpace","properties":"Flash Properties","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Scale","scaleAll":"Show all","scaleFit":"Exact Fit","scaleNoBorder":"No Border","title":"Flash Properties","vSpace":"VSpace","validateHSpace":"HSpace must be a number.","validateSrc":"URL must not be empty.","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"forms":{"button":{"title":"Button Properties","text":"Text (Value)","type":"Type","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Checkbox Properties","radioTitle":"Radio Button Properties","value":"Value","selected":"Selected","required":"Required"},"form":{"title":"Form Properties","menu":"Form Properties","action":"Action","method":"Method","encoding":"Encoding"},"hidden":{"title":"Hidden Field Properties","name":"Name","value":"Value"},"select":{"title":"Selection Field Properties","selectInfo":"Select Info","opAvail":"Available Options","value":"Value","size":"Size","lines":"lines","chkMulti":"Allow multiple selections","required":"Required","opText":"Text","opValue":"Value","btnAdd":"Add","btnModify":"Modify","btnUp":"Up","btnDown":"Down","btnSetValue":"Set as selected value","btnDelete":"Delete"},"textarea":{"title":"Textarea Properties","cols":"Columns","rows":"Rows"},"textfield":{"title":"Text Field Properties","name":"Name","value":"Value","charWidth":"Character Width","maxChars":"Maximum Characters","required":"Required","type":"Type","typeText":"Text","typePass":"Password","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Paragraph Format","tag_address":"Address","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"Insert Horizontal Line"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Alternative Text","border":"Border","btnUpload":"Send it to the Server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"HSpace","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Image Info","linkTab":"Link","lockRatio":"Lock Ratio","menu":"Image Properties","resetSize":"Reset Size","title":"Image Properties","titleButton":"Image Button Properties","upload":"Upload","urlMissing":"Image source URL is missing.","vSpace":"VSpace","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"smiley":{"options":"Smiley Options","title":"Insert a Smiley","toolbar":"Smiley"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Access Key","advanced":"Advanced","advisoryContentType":"Advisory Content Type","advisoryTitle":"Advisory Title","anchor":{"toolbar":"Anchor","menu":"Edit Anchor","title":"Anchor Properties","name":"Anchor Name","errorName":"Please type the anchor name","remove":"Remove Anchor"},"anchorId":"By Element Id","anchorName":"By Anchor Name","charset":"Linked Resource Charset","cssClasses":"Stylesheet Classes","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail Address","emailBody":"Message Body","emailSubject":"Message Subject","id":"Id","info":"Link Info","langCode":"Language Code","langDir":"Language Direction","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","menu":"Edit Link","name":"Name","noAnchors":"(No anchors available in the document)","noEmail":"Please type the e-mail address","noUrl":"Please type the link URL","other":"<other>","popupDependent":"Dependent (Netscape)","popupFeatures":"Popup Window Features","popupFullScreen":"Full Screen (IE)","popupLeft":"Left Position","popupLocationBar":"Location Bar","popupMenuBar":"Menu Bar","popupResizable":"Resizable","popupScrollBars":"Scroll Bars","popupStatusBar":"Status Bar","popupToolbar":"Toolbar","popupTop":"Top Position","rel":"Relationship","selectAnchor":"Select an Anchor","styles":"Style","tabIndex":"Tab Index","target":"Target","targetFrame":"<frame>","targetFrameName":"Target Frame Name","targetPopup":"<popup window>","targetPopupName":"Popup Window Name","title":"Link","toAnchor":"Link to anchor in the text","toEmail":"E-mail","toUrl":"URL","toolbar":"Link","type":"Link Type","unlink":"Unlink","upload":"Upload"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"newpage":{"toolbar":"New Page"},"pagebreak":{"alt":"Page Break","toolbar":"Insert Page Break for Printing"},"pastetext":{"button":"Paste as plain text","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Paste as Plain Text"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Paste from Word","toolbar":"Paste from Word"},"preview":{"preview":"Preview"},"print":{"toolbar":"Print"},"removeformat":{"toolbar":"Remove Format"},"save":{"toolbar":"Save"},"selectall":{"toolbar":"Select All"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"Source"},"specialchar":{"options":"Special Character Options","title":"Select Special Character","toolbar":"Insert Special Character"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Styles","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Border size","caption":"Caption","cell":{"menu":"Cell","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"Delete Cells","merge":"Merge Cells","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Cell padding","cellSpace":"Cell spacing","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Delete Columns"},"columns":"Columns","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a positive number.","invalidCellSpacing":"Cell spacing must be a positive number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"Table Properties","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Delete Rows"},"rows":"Rows","summary":"Summary","title":"Table Properties","toolbar":"Table","widthPc":"percent","widthPx":"pixels","widthUnit":"width unit"},"undo":{"redo":"Redo","undo":"Undo"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/en.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/hu.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/hu.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/hu.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['hu']={"editor":"HTML szerkesztő","editorPanel":"Rich Text szerkesztő panel","common":{"editorHelp":"Segítségért nyomjon ALT 0","browseServer":"Böngészés a szerveren","url":"Hivatkozás","protocol":"Protokoll","upload":"Feltöltés","uploadSubmit":"Küldés a szerverre","image":"Kép","flash":"Flash","form":"Űrlap","checkbox":"Jelölőnégyzet","radio":"Választógomb","textField":"Szövegmező","textarea":"Szövegterület","hiddenField":"Rejtettmező","button":"Gomb","select":"Legördülő lista","imageButton":"Képgomb","notSet":"<nincs beállítva>","id":"Azonosító","name":"Név","langDir":"Írás iránya","langDirLtr":"Balról jobbra","langDirRtl":"Jobbról balra","langCode":"Nyelv kódja","longDescr":"Részletes leírás webcíme","cssClass":"Stíluskészlet","advisoryTitle":"Súgócimke","cssStyle":"Stílus","ok":"Rendben","cancel":"Mégsem","close":"Bezárás","preview":"Előnézet","resize":"Húzza az átméretezéshez","generalTab":"Általános","advancedTab":"További opciók","validateNumberFailed":"A mezőbe csak számokat írhat.","confirmNewPage":"Minden nem mentett változás el fog veszni! Biztosan be szeretné tölteni az oldalt?","confirmCancel":"Az űrlap tartalma megváltozott, ám a változásokat nem rögzítette. Biztosan be szeretné zárni az űrlapot?","options":"Beállítások","target":"Cél","targetNew":"Új ablak (_blank)","targetTop":"Legfelső ablak (_top)","targetSelf":"Aktuális ablakban (_self)","targetParent":"Szülő ablak (_parent)","langDirLTR":"Balról jobbra (LTR)","langDirRTL":"Jobbról balra (RTL)","styles":"Stílus","cssClasses":"Stíluslap osztály","width":"Szélesség","height":"Magasság","align":"Igazítás","left":"Bal","right":"Jobbra","center":"Középre","justify":"Sorkizárt","alignLeft":"Balra","alignRight":"Jobbra","alignCenter":"Align Center","alignTop":"Tetejére","alignMiddle":"Középre","alignBottom":"Aljára","alignNone":"Semmi","invalidValue":"Érvénytelen érték.","invalidHeight":"A magasság mezőbe csak számokat írhat.","invalidWidth":"A szélesség mezőbe csak számokat írhat.","invalidLength":"A megadott értéknek a \"%1\" mezőben pozitív számnak kell lennie, egy érvényes mértékegységgel vagy anélkül (%2).","invalidCssLength":"\"%1\"-hez megadott érték csakis egy pozitív szám lehet, esetleg egy érvényes CSS egységgel megjelölve(px, %, in, cm, mm, em, ex, pt vagy pc).","invalidHtmlLength":"\"%1\"-hez megadott érték csakis egy pozitív szám lehet, esetleg egy érvényes HTML egységgel megjelölve(px vagy %).","invalidInlineStyle":"Az inline stílusnak megadott értéknek tartalmaznia kell egy vagy több rekordot a \"name : value\" formátumban, pontosvesszővel elválasztva.","cssLengthTooltip":"Adjon meg egy számot értéknek pixelekben vagy egy számot érvényes CSS mértékegységben (px, %, in, cm, mm, em, ex, pt, vagy pc).","unavailable":"%1<span class=\"cke_accessibility\">, nem elérhető</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Gyorsbillentyű","optionDefault":"Alapértelmezett"},"about":{"copy":"Copyright &copy; $1. Minden jog fenntartva.","dlgTitle":"A CKEditor 4-ről","moreInfo":"Licenszelési információkért kérjük látogassa meg weboldalunkat:"},"basicstyles":{"bold":"Félkövér","italic":"Dőlt","strike":"Áthúzott","subscript":"Alsó index","superscript":"Felső index","underline":"Aláhúzott"},"bidi":{"ltr":"Szöveg iránya balról jobbra","rtl":"Szöveg iránya jobbról balra"},"blockquote":{"toolbar":"Idézet blokk"},"notification":{"closed":"Értesítés bezárva."},"button":{"selectedLabel":"%1 (Kiválasztva)"},"toolbar":{"toolbarCollapse":"Eszköztár összecsukása","toolbarExpand":"Eszköztár szétnyitása","toolbarGroups":{"document":"Dokumentum","clipboard":"Vágólap/Visszavonás","editing":"Szerkesztés","forms":"Űrlapok","basicstyles":"Alapstílusok","paragraph":"Bekezdés","links":"Hivatkozások","insert":"Beszúrás","styles":"Stílusok","colors":"Színek","tools":"Eszközök"},"toolbars":"Szerkesztő Eszköztár"},"clipboard":{"copy":"Másolás","copyError":"A böngésző biztonsági beállításai nem engedélyezik a szerkesztőnek, hogy végrehajtsa a másolás műveletet. Használja az alábbi billentyűkombinációt (Ctrl/Cmd+X).","cut":"Kivágás","cutError":"A böngésző biztonsági beállításai nem engedélyezik a szerkesztőnek, hogy végrehajtsa a kivágás műveletet. Használja az alábbi billentyűkombinációt (Ctrl/Cmd+X).","paste":"Beillesztés","pasteNotification":"Nyomjd meg a %1 gombot a beillesztéshez. A böngésző nem támogatja a beillesztést az eszköztás gombbal vagy a menüből.","pasteArea":"Beillesztési terület","pasteMsg":"Illeszd be a tartalmat az alábbi területbe, és nyomj egy OK-t.","title":"Beillesztés"},"colorbutton":{"auto":"Automatikus","bgColorTitle":"Háttérszín","colors":{"000":"Fekete","800000":"Bordó","8B4513":"Barna","2F4F4F":"Sötét türkiz","008080":"Türkiz","000080":"Király kék","4B0082":"Indigó kék","696969":"Szürke","B22222":"Tégla vörös","A52A2A":"Vörös","DAA520":"Arany sárga","006400":"Sötét zöld","40E0D0":"Türkiz","0000CD":"Kék","800080":"Lila","808080":"Szürke","F00":"Piros","FF8C00":"Sötét narancs","FFD700":"Arany","008000":"Zöld","0FF":"Türkiz","00F":"Kék","EE82EE":"Rózsaszín","A9A9A9":"Sötét szürke","FFA07A":"Lazac","FFA500":"Narancs","FFFF00":"Citromsárga","00FF00":"Neon zöld","AFEEEE":"Világos türkiz","ADD8E6":"Világos kék","DDA0DD":"Világos lila","D3D3D3":"Világos szürke","FFF0F5":"Lavender Blush","FAEBD7":"Törtfehér","FFFFE0":"Világos sárga","F0FFF0":"Menta","F0FFFF":"Azúr kék","F0F8FF":"Halvány kék","E6E6FA":"Lavender","FFF":"Fehér","1ABC9C":"Erős cián","2ECC71":"Smaragd","3498DB":"Fényes kék","9B59B6":"Ametiszt","4E5F70":"Szürkéskék","F1C40F":"Világossárga","16A085":"Sötét cián","27AE60":"Sötét smaragd","2980B9":"Erős kék","8E44AD":"Sötétlila","2C3E50":"Világoskék","F39C12":"Narancs","E67E22":"Répa","E74C3C":"Sápadt vörös","ECF0F1":"Fényes ezüst","95A5A6":"Világos szürkés cián","DDD":"Világosszürke","D35400":"Tök","C0392B":"Erős vörös","BDC3C7":"Ezüst","7F8C8D":"Szürkés cián","999":"Sötétszürke"},"more":"További színek...","panelTitle":"Színek","textColorTitle":"Betűszín"},"colordialog":{"clear":"Ürítés","highlight":"Nagyítás","options":"Szín opciók","selected":"Kiválasztott","title":"Válasszon színt"},"templates":{"button":"Sablonok","emptyListMsg":"(Nincs sablon megadva)","insertOption":"Kicseréli a jelenlegi tartalmat","options":"Sablon opciók","selectPromptMsg":"Válassza ki melyik sablon nyíljon meg a szerkesztőben<br>(a jelenlegi tartalom elveszik):","title":"Elérhető sablonok"},"contextmenu":{"options":"Helyi menü opciók"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Azonosító","advisoryTitleInputLabel":"Tipp szöveg","cssClassInputLabel":"Stíluslap osztály","edit":"DIV szerkesztése","inlineStyleInputLabel":"Inline stílus","langDirLTRLabel":"Balról jobbra (LTR)","langDirLabel":"Nyelvi irány","langDirRTLLabel":"Jobbról balra (RTL)","languageCodeInputLabel":" Nyelv kódja","remove":"DIV eltávolítása","styleSelectLabel":"Stílus","title":"DIV tároló létrehozása","toolbar":"DIV tároló létrehozása"},"elementspath":{"eleLabel":"Elem utak","eleTitle":"%1 elem"},"filetools":{"loadError":"Hiba történt a fájl olvasása közben.","networkError":"Hálózati hiba történt a fájl feltöltése közben.","httpError404":"HTTP hiba történt a fájl feltöltése alatt (404: A fájl nem található).","httpError403":"HTTP hiba történt a fájl feltöltése alatt (403: Tiltott).","httpError":"HTTP hiba történt a fájl feltöltése alatt (hiba státusz: %1).","noUrlError":"Feltöltési URL nincs megadva.","responseError":"Helytelen szerver válasz."},"find":{"find":"Keresés","findOptions":"Beállítások","findWhat":"Keresett szöveg:","matchCase":"Kis- és nagybetű megkülönböztetése","matchCyclic":"Ciklikus keresés","matchWord":"Csak ha ez a teljes szó","notFoundMsg":"A keresett szöveg nem található.","replace":"Csere","replaceAll":"Az összes cseréje","replaceSuccessMsg":"%1 egyezőség cserélve.","replaceWith":"Csere erre:","title":"Keresés és csere"},"fakeobjects":{"anchor":"Horgony","flash":"Flash animáció","hiddenfield":"Rejtett mezõ","iframe":"IFrame","unknown":"Ismeretlen objektum"},"flash":{"access":"Szkript hozzáférés","accessAlways":"Mindig","accessNever":"Soha","accessSameDomain":"Azonos domainről","alignAbsBottom":"Legaljára","alignAbsMiddle":"Közepére","alignBaseline":"Alapvonalhoz","alignTextTop":"Szöveg tetejére","bgcolor":"Háttérszín","chkFull":"Teljes képernyő engedélyezése","chkLoop":"Folyamatosan","chkMenu":"Flash menü engedélyezése","chkPlay":"Automata lejátszás","flashvars":"Flash változók","hSpace":"Vízsz. táv","properties":"Flash tulajdonságai","propertiesTab":"Tulajdonságok","quality":"Minőség","qualityAutoHigh":"Automata jó","qualityAutoLow":"Automata gyenge","qualityBest":"Legjobb","qualityHigh":"Jó","qualityLow":"Gyenge","qualityMedium":"Közepes","scale":"Méretezés","scaleAll":"Mindent mutat","scaleFit":"Teljes kitöltés","scaleNoBorder":"Keret nélkül","title":"Flash tulajdonságai","vSpace":"Függ. táv","validateHSpace":"A vízszintes távolsűág mezőbe csak számokat írhat.","validateSrc":"Adja meg a hivatkozás webcímét","validateVSpace":"A függőleges távolsűág mezőbe csak számokat írhat.","windowMode":"Ablak mód","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Méret","voiceLabel":"Betűméret","panelTitle":"Méret"},"label":"Betűtípus","panelTitle":"Betűtípus","voiceLabel":"Betűtípus"},"forms":{"button":{"title":"Gomb tulajdonságai","text":"Szöveg (Érték)","type":"Típus","typeBtn":"Gomb","typeSbm":"Küldés","typeRst":"Alaphelyzet"},"checkboxAndRadio":{"checkboxTitle":"Jelölőnégyzet tulajdonságai","radioTitle":"Választógomb tulajdonságai","value":"Érték","selected":"Kiválasztott","required":"Kötelező"},"form":{"title":"Űrlap tulajdonságai","menu":"Űrlap tulajdonságai","action":"Adatfeldolgozást végző hivatkozás","method":"Adatküldés módja","encoding":"Kódolás"},"hidden":{"title":"Rejtett mező tulajdonságai","name":"Név","value":"Érték"},"select":{"title":"Legördülő lista tulajdonságai","selectInfo":"Alaptulajdonságok","opAvail":"Elérhető opciók","value":"Érték","size":"Méret","lines":"sor","chkMulti":"több sor is kiválasztható","required":"Kötelező","opText":"Szöveg","opValue":"Érték","btnAdd":"Hozzáad","btnModify":"Módosít","btnUp":"Fel","btnDown":"Le","btnSetValue":"Legyen az alapértelmezett érték","btnDelete":"Töröl"},"textarea":{"title":"Szövegterület tulajdonságai","cols":"Karakterek száma egy sorban","rows":"Sorok száma"},"textfield":{"title":"Szövegmező tulajdonságai","name":"Név","value":"Érték","charWidth":"Megjelenített karakterek száma","maxChars":"Maximális karakterszám","required":"Kötelező","type":"Típus","typeText":"Szöveg","typePass":"Jelszó","typeEmail":"Ímél","typeSearch":"Keresés","typeTel":"Telefonszám","typeUrl":"URL"}},"format":{"label":"Formátum","panelTitle":"Formátum","tag_address":"Címsor","tag_div":"Bekezdés (DIV)","tag_h1":"Fejléc 1","tag_h2":"Fejléc 2","tag_h3":"Fejléc 3","tag_h4":"Fejléc 4","tag_h5":"Fejléc 5","tag_h6":"Fejléc 6","tag_p":"Normál","tag_pre":"Formázott"},"horizontalrule":{"toolbar":"Elválasztóvonal beillesztése"},"iframe":{"border":"Legyen keret","noUrl":"Kérem írja be a iframe URL-t","scrolling":"Gördítősáv bekapcsolása","title":"IFrame Tulajdonságok","toolbar":"IFrame"},"image":{"alt":"Alternatív szöveg","border":"Keret","btnUpload":"Küldés a szerverre","button2Img":"A kiválasztott képgombból sima képet szeretne csinálni?","hSpace":"Vízsz. táv","img2Button":"A kiválasztott képből képgombot szeretne csinálni?","infoTab":"Alaptulajdonságok","linkTab":"Hivatkozás","lockRatio":"Arány megtartása","menu":"Kép tulajdonságai","resetSize":"Eredeti méret","title":"Kép tulajdonságai","titleButton":"Képgomb tulajdonságai","upload":"Feltöltés","urlMissing":"Hiányzik a kép URL-je","vSpace":"Függ. táv","validateBorder":"A keret méretének egész számot kell beírni!","validateHSpace":"Vízszintes távolságnak egész számot kell beírni!","validateVSpace":"Függőleges távolságnak egész számot kell beírni!"},"indent":{"indent":"Behúzás növelése","outdent":"Behúzás csökkentése"},"smiley":{"options":"Hangulatjel opciók","title":"Hangulatjel beszúrása","toolbar":"Hangulatjelek"},"language":{"button":"Nyelv beállítása","remove":"Nyelv eltávolítása"},"link":{"acccessKey":"Billentyűkombináció","advanced":"További opciók","advisoryContentType":"Súgó tartalomtípusa","advisoryTitle":"Súgócimke","anchor":{"toolbar":"Horgony beillesztése/szerkesztése","menu":"Horgony tulajdonságai","title":"Horgony tulajdonságai","name":"Horgony neve","errorName":"Kérem adja meg a horgony nevét","remove":"Horgony eltávolítása"},"anchorId":"Azonosító szerint","anchorName":"Horgony név szerint","charset":"Hivatkozott tartalom kódlapja","cssClasses":"Stíluskészlet","download":"Kötelező letöltés","displayText":"Megjelenített szöveg","emailAddress":"E-Mail cím","emailBody":"Üzenet","emailSubject":"Üzenet tárgya","id":"Id","info":"Alaptulajdonságok","langCode":"Írás iránya","langDir":"Írás iránya","langDirLTR":"Balról jobbra","langDirRTL":"Jobbról balra","menu":"Hivatkozás módosítása","name":"Név","noAnchors":"(Nincs horgony a dokumentumban)","noEmail":"Adja meg az E-Mail címet","noUrl":"Adja meg a hivatkozás webcímét","other":"<más>","popupDependent":"Szülőhöz kapcsolt (csak Netscape)","popupFeatures":"Felugró ablak jellemzői","popupFullScreen":"Teljes képernyő (csak IE)","popupLeft":"Bal pozíció","popupLocationBar":"Címsor","popupMenuBar":"Menü sor","popupResizable":"Átméretezés","popupScrollBars":"Gördítősáv","popupStatusBar":"Állapotsor","popupToolbar":"Eszköztár","popupTop":"Felső pozíció","rel":"Kapcsolat típusa","selectAnchor":"Horgony választása","styles":"Stílus","tabIndex":"Tabulátor index","target":"Tartalom megjelenítése","targetFrame":"<keretben>","targetFrameName":"Keret neve","targetPopup":"<felugró ablakban>","targetPopupName":"Felugró ablak neve","title":"Hivatkozás tulajdonságai","toAnchor":"Horgony az oldalon","toEmail":"E-Mail","toUrl":"URL","toolbar":"Hivatkozás beillesztése/módosítása","type":"Hivatkozás típusa","unlink":"Hivatkozás törlése","upload":"Feltöltés"},"list":{"bulletedlist":"Felsorolás","numberedlist":"Számozás"},"liststyle":{"armenian":"Örmény számozás","bulletedTitle":"Pontozott lista tulajdonságai","circle":"Kör","decimal":"Arab számozás (1, 2, 3, stb.)","decimalLeadingZero":"Számozás bevezető nullákkal (01, 02, 03, stb.)","disc":"Korong","georgian":"Grúz számozás (an, ban, gan, stb.)","lowerAlpha":"Kisbetűs (a, b, c, d, e, stb.)","lowerGreek":"Görög (alpha, beta, gamma, stb.)","lowerRoman":"Római kisbetűs (i, ii, iii, iv, v, stb.)","none":"Nincs","notset":"<Nincs beállítva>","numberedTitle":"Sorszámozott lista tulajdonságai","square":"Négyzet","start":"Kezdőszám","type":"Típus","upperAlpha":"Nagybetűs (A, B, C, D, E, stb.)","upperRoman":"Római nagybetűs (I, II, III, IV, V, stb.)","validateStartNumber":"A kezdőszám nem lehet tört érték."},"magicline":{"title":"Szúrja be a bekezdést ide"},"maximize":{"maximize":"Teljes méret","minimize":"Kis méret"},"newpage":{"toolbar":"Új oldal"},"pagebreak":{"alt":"Oldaltörés","toolbar":"Oldaltörés beillesztése"},"pastetext":{"button":"Beillesztés formázatlan szövegként","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Beillesztés formázatlan szövegként"},"pastefromword":{"confirmCleanup":"Úgy tűnik a beillesztett szöveget Word-ből másolt át. Meg szeretné tisztítani a szöveget? (ajánlott)","error":"Egy belső hiba miatt nem sikerült megtisztítani a szöveget","title":"Beillesztés Word-ből","toolbar":"Beillesztés Word-ből"},"preview":{"preview":"Előnézet"},"print":{"toolbar":"Nyomtatás"},"removeformat":{"toolbar":"Formázás eltávolítása"},"save":{"toolbar":"Mentés"},"selectall":{"toolbar":"Mindent kijelöl"},"showblocks":{"toolbar":"Blokkok megjelenítése"},"sourcearea":{"toolbar":"Forráskód"},"specialchar":{"options":"Speciális karakter opciók","title":"Speciális karakter választása","toolbar":"Speciális karakter beillesztése"},"scayt":{"btn_about":"SCAYT névjegy","btn_dictionaries":"Szótár","btn_disable":"SCAYT letiltása","btn_enable":"SCAYT engedélyezése","btn_langs":"Nyelvek","btn_options":"Beállítások","text_title":"Helyesírás ellenőrzés gépelés közben"},"stylescombo":{"label":"Stílus","panelTitle":"Formázási stílusok","panelTitle1":"Blokk stílusok","panelTitle2":"Inline stílusok","panelTitle3":"Objektum stílusok"},"table":{"border":"Szegélyméret","caption":"Felirat","cell":{"menu":"Cella","insertBefore":"Beszúrás balra","insertAfter":"Beszúrás jobbra","deleteCell":"Cellák törlése","merge":"Cellák egyesítése","mergeRight":"Cellák egyesítése jobbra","mergeDown":"Cellák egyesítése lefelé","splitHorizontal":"Cellák szétválasztása vízszintesen","splitVertical":"Cellák szétválasztása függőlegesen","title":"Cella tulajdonságai","cellType":"Cella típusa","rowSpan":"Függőleges egyesítés","colSpan":"Vízszintes egyesítés","wordWrap":"Hosszú sorok törése","hAlign":"Vízszintes igazítás","vAlign":"Függőleges igazítás","alignBaseline":"Alapvonalra","bgColor":"Háttér színe","borderColor":"Keret színe","data":"Adat","header":"Fejléc","yes":"Igen","no":"Nem","invalidWidth":"A szélesség mezőbe csak számokat írhat.","invalidHeight":"A magasság mezőbe csak számokat írhat.","invalidRowSpan":"A függőleges egyesítés mezőbe csak számokat írhat.","invalidColSpan":"A vízszintes egyesítés mezőbe csak számokat írhat.","chooseColor":"Válasszon"},"cellPad":"Cella belső margó","cellSpace":"Cella térköz","column":{"menu":"Oszlop","insertBefore":"Beszúrás balra","insertAfter":"Beszúrás jobbra","deleteColumn":"Oszlopok törlése"},"columns":"Oszlopok","deleteTable":"Táblázat törlése","headers":"Fejlécek","headersBoth":"Mindkettő","headersColumn":"Első oszlop","headersNone":"Nincsenek","headersRow":"Első sor","invalidBorder":"A szegélyméret mezőbe csak számokat írhat.","invalidCellPadding":"A cella belső margó mezőbe csak számokat írhat.","invalidCellSpacing":"A cella térköz mezőbe csak számokat írhat.","invalidCols":"Az oszlopok számának nagyobbnak kell lenni mint 0.","invalidHeight":"A magasság mezőbe csak számokat írhat.","invalidRows":"A sorok számának nagyobbnak kell lenni mint 0.","invalidWidth":"A szélesség mezőbe csak számokat írhat.","menu":"Táblázat tulajdonságai","row":{"menu":"Sor","insertBefore":"Beszúrás fölé","insertAfter":"Beszúrás alá","deleteRow":"Sorok törlése"},"rows":"Sorok","summary":"Leírás","title":"Táblázat tulajdonságai","toolbar":"Táblázat","widthPc":"százalék","widthPx":"képpont","widthUnit":"Szélesség egység"},"undo":{"redo":"Ismétlés","undo":"Visszavonás"},"widget":{"move":"Kattints és húzd a mozgatáshoz","label":"%1 modul"},"uploadwidget":{"abort":"A feltöltést a felhasználó megszakította.","doneOne":"A fájl sikeresen feltöltve.","doneMany":"%1 fájl sikeresen feltöltve.","uploadOne":"Fájl feltöltése ({percentage}%)...","uploadMany":"Fájlok feltöltése, {current}/{max} kész ({percentage}%)..."},"wsc":{"btnIgnore":"Kihagyja","btnIgnoreAll":"Mindet kihagyja","btnReplace":"Csere","btnReplaceAll":"Összes cseréje","btnUndo":"Visszavonás","changeTo":"Módosítás","errorLoading":"Hiba a szolgáltatás host betöltése közben: %s.","ieSpellDownload":"A helyesírás-ellenőrző nincs telepítve. Szeretné letölteni most?","manyChanges":"Helyesírás-ellenőrzés kész: %1 szó cserélve","noChanges":"Helyesírás-ellenőrzés kész: Nincs változtatott szó","noMispell":"Helyesírás-ellenőrzés kész: Nem találtam hibát","noSuggestions":"Nincs javaslat","notAvailable":"Sajnálom, de a szolgáltatás jelenleg nem elérhető.","notInDic":"Nincs a szótárban","oneChange":"Helyesírás-ellenőrzés kész: Egy szó cserélve","progress":"Helyesírás-ellenőrzés folyamatban...","title":"Helyesírás ellenörző","toolbar":"Helyesírás-ellenőrzés"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/hu.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/he.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/he.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/he.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['he']={"editor":"עורך טקסט עשיר","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"לחץ אלט ALT + 0 לעזרה","browseServer":"סייר השרת","url":"כתובת (URL)","protocol":"פרוטוקול","upload":"העלאה","uploadSubmit":"שליחה לשרת","image":"תמונה","flash":"פלאש","form":"טופס","checkbox":"תיבת סימון","radio":"לחצן אפשרויות","textField":"שדה טקסט","textarea":"איזור טקסט","hiddenField":"שדה חבוי","button":"כפתור","select":"שדה בחירה","imageButton":"כפתור תמונה","notSet":"<לא נקבע>","id":"זיהוי (ID)","name":"שם","langDir":"כיוון שפה","langDirLtr":"שמאל לימין (LTR)","langDirRtl":"ימין לשמאל (RTL)","langCode":"קוד שפה","longDescr":"קישור לתיאור מפורט","cssClass":"מחלקת עיצוב (CSS Class)","advisoryTitle":"כותרת מוצעת","cssStyle":"סגנון","ok":"אישור","cancel":"ביטול","close":"סגירה","preview":"תצוגה מקדימה","resize":"יש לגרור בכדי לשנות את הגודל","generalTab":"כללי","advancedTab":"אפשרויות מתקדמות","validateNumberFailed":"הערך חייב להיות מספרי.","confirmNewPage":"כל השינויים שלא נשמרו יאבדו. האם להעלות דף חדש?","confirmCancel":"חלק מהאפשרויות שונו, האם לסגור את הדיאלוג?","options":"אפשרויות","target":"מטרה","targetNew":"חלון חדש (_blank)","targetTop":"החלון העליון ביותר (_top)","targetSelf":"אותו חלון (_self)","targetParent":"חלון האב (_parent)","langDirLTR":"שמאל לימין (LTR)","langDirRTL":"ימין לשמאל (RTL)","styles":"סגנון","cssClasses":"מחלקות גליונות סגנון","width":"רוחב","height":"גובה","align":"יישור","left":"לשמאל","right":"לימין","center":"מרכז","justify":"יישור לשוליים","alignLeft":"יישור לשמאל","alignRight":"יישור לימין","alignCenter":"Align Center","alignTop":"למעלה","alignMiddle":"לאמצע","alignBottom":"לתחתית","alignNone":"None","invalidValue":"ערך לא חוקי.","invalidHeight":"הגובה חייב להיות מספר.","invalidWidth":"הרוחב חייב להיות מספר.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"הערך שצוין לשדה \"%1\" חייב להיות מספר חיובי עם או ללא יחידת מידה חוקית של CSS (px, %, in, cm, mm, em, ex, pt, או pc).","invalidHtmlLength":"הערך שצוין לשדה \"%1\" חייב להיות מספר חיובי עם או ללא יחידת מידה חוקית של HTML (px או %).","invalidInlineStyle":"הערך שצויין לשדה הסגנון חייב להכיל זוג ערכים אחד או יותר בפורמט \"שם : ערך\", מופרדים על ידי נקודה-פסיק.","cssLengthTooltip":"יש להכניס מספר המייצג פיקסלים או מספר עם יחידת גליונות סגנון תקינה (px, %, in, cm, mm, em, ex, pt, או pc).","unavailable":"%1<span class=\"cke_accessibility\">, לא זמין</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"מחק","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. כל הזכויות שמורות.","dlgTitle":"אודות CKEditor","moreInfo":"למידע נוסף בקרו באתרנו:"},"basicstyles":{"bold":"מודגש","italic":"נטוי","strike":"כתיב מחוק","subscript":"כתיב תחתון","superscript":"כתיב עליון","underline":"קו תחתון"},"bidi":{"ltr":"כיוון טקסט משמאל לימין (LTR)","rtl":"כיוון טקסט מימין לשמאל (RTL)"},"blockquote":{"toolbar":"בלוק ציטוט"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"1% (סומן)"},"toolbar":{"toolbarCollapse":"מזעור סרגל כלים","toolbarExpand":"הרחבת סרגל כלים","toolbarGroups":{"document":"מסמך","clipboard":"לוח הגזירים (Clipboard)/צעד אחרון","editing":"עריכה","forms":"טפסים","basicstyles":"עיצוב בסיסי","paragraph":"פסקה","links":"קישורים","insert":"הכנסה","styles":"עיצוב","colors":"צבעים","tools":"כלים"},"toolbars":"סרגלי כלים של העורך"},"clipboard":{"copy":"העתקה","copyError":"הגדרות האבטחה בדפדפן שלך לא מאפשרות לעורך לבצע פעולות העתקה אוטומטיות. יש להשתמש במקלדת לשם כך (Ctrl/Cmd+C).","cut":"גזירה","cutError":"הגדרות האבטחה בדפדפן שלך לא מאפשרות לעורך לבצע פעולות גזירה אוטומטיות. יש להשתמש במקלדת לשם כך (Ctrl/Cmd+X).","paste":"הדבקה","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"איזור הדבקה","pasteMsg":"Paste your content inside the area below and press OK.","title":"הדבקה"},"colorbutton":{"auto":"אוטומטי","bgColorTitle":"צבע רקע","colors":{"000":"שחור","800000":"סגול כהה","8B4513":"חום בהיר","2F4F4F":"אפור צפחה","008080":"כחול-ירוק","000080":"כחול-סגול","4B0082":"אינדיגו","696969":"אפור מעומעם","B22222":"אדום-חום","A52A2A":"חום","DAA520":"כתום זהב","006400":"ירוק כהה","40E0D0":"טורקיז","0000CD":"כחול בינוני","800080":"סגול","808080":"אפור","F00":"אדום","FF8C00":"כתום כהה","FFD700":"זהב","008000":"ירוק","0FF":"ציאן","00F":"כחול","EE82EE":"סגלגל","A9A9A9":"אפור כהה","FFA07A":"כתום-וורוד","FFA500":"כתום","FFFF00":"צהוב","00FF00":"ליים","AFEEEE":"טורקיז בהיר","ADD8E6":"כחול בהיר","DDA0DD":"שזיף","D3D3D3":"אפור בהיר","FFF0F5":"לבנדר מסמיק","FAEBD7":"לבן עתיק","FFFFE0":"צהוב בהיר","F0FFF0":"טל דבש","F0FFFF":"תכלת","F0F8FF":"כחול טיפת מים","E6E6FA":"לבנדר","FFF":"לבן","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"צבעים נוספים...","panelTitle":"צבעים","textColorTitle":"צבע טקסט"},"colordialog":{"clear":"ניקוי","highlight":"סימון","options":"אפשרויות צבע","selected":"בחירה","title":"בחירת צבע"},"templates":{"button":"תבניות","emptyListMsg":"(לא הוגדרו תבניות)","insertOption":"החלפת תוכן ממשי","options":"אפשרויות התבניות","selectPromptMsg":"יש לבחור תבנית לפתיחה בעורך.<br />התוכן המקורי ימחק:","title":"תביות תוכן"},"contextmenu":{"options":"אפשרויות תפריט ההקשר"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"מזהה (ID)","advisoryTitleInputLabel":"כותרת מוצעת","cssClassInputLabel":"מחלקת עיצוב","edit":"עריכת מיכל (Div)","inlineStyleInputLabel":"סגנון פנימי","langDirLTRLabel":"שמאל לימין (LTR)","langDirLabel":"כיוון שפה","langDirRTLLabel":"ימין לשמאל (RTL)","languageCodeInputLabel":"קוד שפה","remove":"הסרת מיכל (Div)","styleSelectLabel":"סגנון","title":"יצירת מיכל (Div)","toolbar":"יצירת מיכל (Div)"},"elementspath":{"eleLabel":"עץ האלמנטים","eleTitle":"%1 אלמנט"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"חיפוש","findOptions":"אפשרויות חיפוש","findWhat":"חיפוש מחרוזת:","matchCase":"הבחנה בין אותיות רשיות לקטנות (Case)","matchCyclic":"התאמה מחזורית","matchWord":"התאמה למילה המלאה","notFoundMsg":"הטקסט המבוקש לא נמצא.","replace":"החלפה","replaceAll":"החלפה בכל העמוד","replaceSuccessMsg":"%1 טקסטים הוחלפו.","replaceWith":"החלפה במחרוזת:","title":"חיפוש והחלפה"},"fakeobjects":{"anchor":"עוגן","flash":"סרטון פלאש","hiddenfield":"שדה חבוי","iframe":"חלון פנימי (iframe)","unknown":"אובייקט לא ידוע"},"flash":{"access":"גישת סקריפט","accessAlways":"תמיד","accessNever":"אף פעם","accessSameDomain":"דומיין זהה","alignAbsBottom":"לתחתית האבסולוטית","alignAbsMiddle":"מרכוז אבסולוטי","alignBaseline":"לקו התחתית","alignTextTop":"לראש הטקסט","bgcolor":"צבע רקע","chkFull":"אפשר חלון מלא","chkLoop":"לולאה","chkMenu":"אפשר תפריט פלאש","chkPlay":"ניגון אוטומטי","flashvars":"משתנים לפלאש","hSpace":"מרווח אופקי","properties":"מאפייני פלאש","propertiesTab":"מאפיינים","quality":"איכות","qualityAutoHigh":"גבוהה אוטומטית","qualityAutoLow":"נמוכה אוטומטית","qualityBest":"מעולה","qualityHigh":"גבוהה","qualityLow":"נמוכה","qualityMedium":"ממוצעת","scale":"גודל","scaleAll":"הצג הכל","scaleFit":"התאמה מושלמת","scaleNoBorder":"ללא גבולות","title":"מאפיני פלאש","vSpace":"מרווח אנכי","validateHSpace":"המרווח האופקי חייב להיות מספר.","validateSrc":"יש להקליד את כתובת סרטון הפלאש (URL)","validateVSpace":"המרווח האנכי חייב להיות מספר.","windowMode":"מצב חלון","windowModeOpaque":"אטום","windowModeTransparent":"שקוף","windowModeWindow":"חלון"},"font":{"fontSize":{"label":"גודל","voiceLabel":"גודל","panelTitle":"גודל"},"label":"גופן","panelTitle":"גופן","voiceLabel":"גופן"},"forms":{"button":{"title":"מאפייני כפתור","text":"טקסט (ערך)","type":"סוג","typeBtn":"כפתור","typeSbm":"שליחה","typeRst":"איפוס"},"checkboxAndRadio":{"checkboxTitle":"מאפייני תיבת סימון","radioTitle":"מאפייני לחצן אפשרויות","value":"ערך","selected":"מסומן","required":"Required"},"form":{"title":"מאפיני טופס","menu":"מאפיני טופס","action":"שלח אל","method":"סוג שליחה","encoding":"קידוד"},"hidden":{"title":"מאפיני שדה חבוי","name":"שם","value":"ערך"},"select":{"title":"מאפייני שדה בחירה","selectInfo":"מידע","opAvail":"אפשרויות זמינות","value":"ערך","size":"גודל","lines":"שורות","chkMulti":"איפשור בחירות מרובות","required":"Required","opText":"טקסט","opValue":"ערך","btnAdd":"הוספה","btnModify":"שינוי","btnUp":"למעלה","btnDown":"למטה","btnSetValue":"קביעה כברירת מחדל","btnDelete":"מחיקה"},"textarea":{"title":"מאפייני איזור טקסט","cols":"עמודות","rows":"שורות"},"textfield":{"title":"מאפייני שדה טקסט","name":"שם","value":"ערך","charWidth":"רוחב לפי תווים","maxChars":"מקסימום תווים","required":"Required","type":"סוג","typeText":"טקסט","typePass":"סיסמה","typeEmail":"דוא\"ל","typeSearch":"חיפוש","typeTel":"מספר טלפון","typeUrl":"כתובת (URL)"}},"format":{"label":"עיצוב","panelTitle":"עיצוב","tag_address":"כתובת","tag_div":"נורמלי (DIV)","tag_h1":"כותרת","tag_h2":"כותרת 2","tag_h3":"כותרת 3","tag_h4":"כותרת 4","tag_h5":"כותרת 5","tag_h6":"כותרת 6","tag_p":"נורמלי","tag_pre":"קוד"},"horizontalrule":{"toolbar":"הוספת קו אופקי"},"iframe":{"border":"הראה מסגרת לחלון","noUrl":"יש להכניס כתובת לחלון.","scrolling":"אפשר פסי גלילה","title":"מאפייני חלון פנימי (iframe)","toolbar":"חלון פנימי (iframe)"},"image":{"alt":"טקסט חלופי","border":"מסגרת","btnUpload":"שליחה לשרת","button2Img":"האם להפוך את תמונת הכפתור לתמונה פשוטה?","hSpace":"מרווח אופקי","img2Button":"האם להפוך את התמונה לכפתור תמונה?","infoTab":"מידע על התמונה","linkTab":"קישור","lockRatio":"נעילת היחס","menu":"תכונות התמונה","resetSize":"איפוס הגודל","title":"מאפייני התמונה","titleButton":"מאפיני כפתור תמונה","upload":"העלאה","urlMissing":"כתובת התמונה חסרה.","vSpace":"מרווח אנכי","validateBorder":"שדה המסגרת חייב להיות מספר שלם.","validateHSpace":"שדה המרווח האופקי חייב להיות מספר שלם.","validateVSpace":"שדה המרווח האנכי חייב להיות מספר שלם."},"indent":{"indent":"הגדלת הזחה","outdent":"הקטנת הזחה"},"smiley":{"options":"אפשרויות סמיילים","title":"הוספת סמיילי","toolbar":"סמיילי"},"language":{"button":"צור שפה","remove":"הסר שפה"},"link":{"acccessKey":"מקש גישה","advanced":"אפשרויות מתקדמות","advisoryContentType":"Content Type מוצע","advisoryTitle":"כותרת מוצעת","anchor":{"toolbar":"הוספת/עריכת נקודת עיגון","menu":"מאפייני נקודת עיגון","title":"מאפייני נקודת עיגון","name":"שם לנקודת עיגון","errorName":"יש להקליד שם לנקודת עיגון","remove":"מחיקת נקודת עיגון"},"anchorId":"עפ\"י זיהוי (ID) האלמנט","anchorName":"עפ\"י שם העוגן","charset":"קידוד המשאב המקושר","cssClasses":"גיליונות עיצוב קבוצות","download":"Force Download","displayText":"Display Text","emailAddress":"כתובת הדוא\"ל","emailBody":"גוף ההודעה","emailSubject":"נושא ההודעה","id":"זיהוי (ID)","info":"מידע על הקישור","langCode":"קוד שפה","langDir":"כיוון שפה","langDirLTR":"שמאל לימין (LTR)","langDirRTL":"ימין לשמאל (RTL)","menu":"מאפייני קישור","name":"שם","noAnchors":"(אין עוגנים זמינים בדף)","noEmail":"יש להקליד את כתובת הדוא\"ל","noUrl":"יש להקליד את כתובת הקישור (URL)","other":"<אחר>","popupDependent":"תלוי (Netscape)","popupFeatures":"תכונות החלון הקופץ","popupFullScreen":"מסך מלא (IE)","popupLeft":"מיקום צד שמאל","popupLocationBar":"סרגל כתובת","popupMenuBar":"סרגל תפריט","popupResizable":"שינוי גודל","popupScrollBars":"ניתן לגלילה","popupStatusBar":"סרגל חיווי","popupToolbar":"סרגל הכלים","popupTop":"מיקום צד עליון","rel":"קשר גומלין","selectAnchor":"בחירת עוגן","styles":"סגנון","tabIndex":"מספר טאב","target":"מטרה","targetFrame":"<מסגרת>","targetFrameName":"שם מסגרת היעד","targetPopup":"<חלון קופץ>","targetPopupName":"שם החלון הקופץ","title":"קישור","toAnchor":"עוגן בעמוד זה","toEmail":"דוא\"ל","toUrl":"כתובת (URL)","toolbar":"הוספת/עריכת קישור","type":"סוג קישור","unlink":"הסרת הקישור","upload":"העלאה"},"list":{"bulletedlist":"רשימת נקודות","numberedlist":"רשימה ממוספרת"},"liststyle":{"armenian":"ספרות ארמניות","bulletedTitle":"תכונות רשימת תבליטים","circle":"עיגול ריק","decimal":"ספרות (1, 2, 3 וכו')","decimalLeadingZero":"ספרות עם 0 בהתחלה (01, 02, 03 וכו')","disc":"עיגול מלא","georgian":"ספרות גיאורגיות (an, ban, gan וכו')","lowerAlpha":"אותיות אנגליות קטנות (a, b, c, d, e וכו')","lowerGreek":"אותיות יווניות קטנות (alpha, beta, gamma וכו')","lowerRoman":"ספירה רומית באותיות קטנות (i, ii, iii, iv, v וכו')","none":"ללא","notset":"<לא נקבע>","numberedTitle":"תכונות רשימה ממוספרת","square":"ריבוע","start":"תחילת מספור","type":"סוג","upperAlpha":"אותיות אנגליות גדולות (A, B, C, D, E וכו')","upperRoman":"ספירה רומיות באותיות גדולות (I, II, III, IV, V וכו')","validateStartNumber":"שדה תחילת המספור חייב להכיל מספר שלם."},"magicline":{"title":"הכנס פסקה כאן"},"maximize":{"maximize":"הגדלה למקסימום","minimize":"הקטנה למינימום"},"newpage":{"toolbar":"דף חדש"},"pagebreak":{"alt":"שבירת דף","toolbar":"הוספת שבירת דף"},"pastetext":{"button":"הדבקה כטקסט פשוט","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"הדבקה כטקסט פשוט"},"pastefromword":{"confirmCleanup":"נראה הטקסט שבכוונתך להדביק מקורו בקובץ וורד. האם ברצונך לנקות אותו טרם ההדבקה?","error":"לא ניתן היה לנקות את המידע בשל תקלה פנימית.","title":"הדבקה מ-Word","toolbar":"הדבקה מ-Word"},"preview":{"preview":"תצוגה מקדימה"},"print":{"toolbar":"הדפסה"},"removeformat":{"toolbar":"הסרת העיצוב"},"save":{"toolbar":"שמירה"},"selectall":{"toolbar":"בחירת הכל"},"showblocks":{"toolbar":"הצגת בלוקים"},"sourcearea":{"toolbar":"מקור"},"specialchar":{"options":"אפשרויות תווים מיוחדים","title":"בחירת תו מיוחד","toolbar":"הוספת תו מיוחד"},"scayt":{"btn_about":"אודות SCAYT","btn_dictionaries":"מילון","btn_disable":"בטל SCAYT","btn_enable":"אפשר SCAYT","btn_langs":"שפות","btn_options":"אפשרויות","text_title":"בדיקת איות בזמן כתיבה (SCAYT)"},"stylescombo":{"label":"סגנון","panelTitle":"סגנונות פורמט","panelTitle1":"סגנונות בלוק","panelTitle2":"סגנונות רצף","panelTitle3":"סגנונות אובייקט"},"table":{"border":"גודל מסגרת","caption":"כיתוב","cell":{"menu":"מאפייני תא","insertBefore":"הוספת תא לפני","insertAfter":"הוספת תא אחרי","deleteCell":"מחיקת תאים","merge":"מיזוג תאים","mergeRight":"מזג ימינה","mergeDown":"מזג למטה","splitHorizontal":"פיצול תא אופקית","splitVertical":"פיצול תא אנכית","title":"תכונות התא","cellType":"סוג התא","rowSpan":"מתיחת השורות","colSpan":"מתיחת התאים","wordWrap":"מניעת גלישת שורות","hAlign":"יישור אופקי","vAlign":"יישור אנכי","alignBaseline":"שורת בסיס","bgColor":"צבע רקע","borderColor":"צבע מסגרת","data":"מידע","header":"כותרת","yes":"כן","no":"לא","invalidWidth":"שדה רוחב התא חייב להיות מספר.","invalidHeight":"שדה גובה התא חייב להיות מספר.","invalidRowSpan":"שדה מתיחת השורות חייב להיות מספר שלם.","invalidColSpan":"שדה מתיחת העמודות חייב להיות מספר שלם.","chooseColor":"בחר"},"cellPad":"ריפוד תא","cellSpace":"מרווח תא","column":{"menu":"עמודה","insertBefore":"הוספת עמודה לפני","insertAfter":"הוספת עמודה אחרי","deleteColumn":"מחיקת עמודות"},"columns":"עמודות","deleteTable":"מחק טבלה","headers":"כותרות","headersBoth":"שניהם","headersColumn":"עמודה ראשונה","headersNone":"אין","headersRow":"שורה ראשונה","invalidBorder":"שדה גודל המסגרת חייב להיות מספר.","invalidCellPadding":"שדה ריפוד התאים חייב להיות מספר חיובי.","invalidCellSpacing":"שדה ריווח התאים חייב להיות מספר חיובי.","invalidCols":"שדה מספר העמודות חייב להיות מספר גדול מ 0.","invalidHeight":"שדה גובה הטבלה חייב להיות מספר.","invalidRows":"שדה מספר השורות חייב להיות מספר גדול מ 0.","invalidWidth":"שדה רוחב הטבלה חייב להיות מספר.","menu":"מאפייני טבלה","row":{"menu":"שורה","insertBefore":"הוספת שורה לפני","insertAfter":"הוספת שורה אחרי","deleteRow":"מחיקת שורות"},"rows":"שורות","summary":"תקציר","title":"מאפייני טבלה","toolbar":"טבלה","widthPc":"אחוז","widthPx":"פיקסלים","widthUnit":"יחידת רוחב"},"undo":{"redo":"חזרה על צעד אחרון","undo":"ביטול צעד אחרון"},"widget":{"move":"לחץ וגרור להזזה","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"התעלמות","btnIgnoreAll":"התעלמות מהכל","btnReplace":"החלפה","btnReplaceAll":"החלפת הכל","btnUndo":"החזרה","changeTo":"שינוי ל","errorLoading":"שגיאה בהעלאת השירות: %s.","ieSpellDownload":"בודק האיות לא מותקן, האם להורידו?","manyChanges":"בדיקות איות הסתיימה: %1 מילים שונו","noChanges":"בדיקות איות הסתיימה: לא שונתה אף מילה","noMispell":"בדיקות איות הסתיימה: לא נמצאו שגיאות כתיב","noSuggestions":"- אין הצעות -","notAvailable":"לא נמצא שירות זמין.","notInDic":"לא נמצא במילון","oneChange":"בדיקות איות הסתיימה: שונתה מילה אחת","progress":"בודק האיות בתהליך בדיקה....","title":"בדיקת איות","toolbar":"בדיקת איות"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/he.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sl.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sl.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sl.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['sl']={"editor":"Urejevalnik obogatenega besedila","editorPanel":"Plošča urejevalnika obogatenega besedila","common":{"editorHelp":"Pritisnite ALT 0 za pomoč","browseServer":"Prebrskaj na strežniku","url":"URL","protocol":"Protokol","upload":"Naloži","uploadSubmit":"Pošlji na strežnik","image":"Slika","flash":"Flash","form":"Obrazec","checkbox":"Potrditveno polje","radio":"Izbirno polje","textField":"Besedilno polje","textarea":"Besedilno območje","hiddenField":"Skrito polje","button":"Gumb","select":"Spustno polje","imageButton":"Slikovni gumb","notSet":"<ni določen>","id":"Id","name":"Ime","langDir":"Smer jezika","langDirLtr":"Od leve proti desni (LTR)","langDirRtl":"Od desne proti levi (RTL)","langCode":"Koda jezika","longDescr":"Dolg opis URL-ja","cssClass":"Razredi slogovne predloge","advisoryTitle":"Predlagani naslov","cssStyle":"Slog","ok":"V redu","cancel":"Prekliči","close":"Zapri","preview":"Predogled","resize":"Potegni za spremembo velikosti","generalTab":"Splošno","advancedTab":"Napredno","validateNumberFailed":"Vrednost ni število.","confirmNewPage":"Vse neshranjene spremembe vsebine bodo izgubljene. Ali res želite naložiti novo stran?","confirmCancel":"Spremenili ste nekaj možnosti. Ali res želite zapreti okno?","options":"Možnosti","target":"Cilj","targetNew":"Novo okno (_blank)","targetTop":"Vrhovno okno (_top)","targetSelf":"Isto okno (_self)","targetParent":"Starševsko okno (_parent)","langDirLTR":"Od leve proti desni (LTR)","langDirRTL":"Od desne proti levi (RTL)","styles":"Slog","cssClasses":"Razredi slogovne predloge","width":"Širina","height":"Višina","align":"Poravnava","left":"Levo","right":"Desno","center":"Sredinsko","justify":"Obojestranska poravnava","alignLeft":"Leva poravnava","alignRight":"Desna poravnava","alignCenter":"Align Center","alignTop":"Na vrh","alignMiddle":"V sredino","alignBottom":"Na dno","alignNone":"Brez poravnave","invalidValue":"Neveljavna vrednost.","invalidHeight":"Višina mora biti število.","invalidWidth":"Širina mora biti število.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Vrednost, določena za polje »%1«, mora biti pozitivno število z ali brez veljavne CSS-enote za merjenje (px, %, in, cm, mm, em, ex, pt ali pc).","invalidHtmlLength":"Vrednost, določena za polje »%1«, mora biti pozitivno število z ali brez veljavne HTML-enote za merjenje (px ali %).","invalidInlineStyle":"Vrednost, določena za slog v vrstici, mora biti sestavljena iz ene ali več dvojic oblike »ime : vrednost«, ločenih s podpičji.","cssLengthTooltip":"Vnesite število za vrednost v slikovnih pikah ali število z veljavno CSS-enoto (px, %, in, cm, mm, em, ex, pt ali pc).","unavailable":"%1<span class=\"cke_accessibility\">, nedosegljiv</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright &copy; $1. Vse pravice pridržane.","dlgTitle":"O programu CKEditor 4","moreInfo":"Za informacije o licenciranju prosimo obiščite našo spletno stran:"},"basicstyles":{"bold":"Krepko","italic":"Ležeče","strike":"Prečrtano","subscript":"Podpisano","superscript":"Nadpisano","underline":"Podčrtano"},"bidi":{"ltr":"Smer besedila od leve proti desni","rtl":"Smer besedila od desne proti levi"},"blockquote":{"toolbar":"Citat"},"notification":{"closed":"Notification closed."},"button":{"selectedLabel":"%1 (Izbrano)"},"toolbar":{"toolbarCollapse":"Skrči orodno vrstico","toolbarExpand":"Razširi orodno vrstico","toolbarGroups":{"document":"Dokument","clipboard":"Odložišče/Razveljavi","editing":"Urejanje","forms":"Obrazci","basicstyles":"Osnovni slogi","paragraph":"Odstavek","links":"Povezave","insert":"Vstavi","styles":"Slogi","colors":"Barve","tools":"Orodja"},"toolbars":"Orodne vrstice urejevalnika"},"clipboard":{"copy":"Kopiraj","copyError":"Varnostne nastavitve brskalnika ne dopuščajo samodejnega kopiranja. Uporabite kombinacijo tipk na tipkovnici (Ctrl/Cmd+C).","cut":"Izreži","cutError":"Varnostne nastavitve brskalnika ne dopuščajo samodejnega izrezovanja. Uporabite kombinacijo tipk na tipkovnici (Ctrl/Cmd+X).","paste":"Prilepi","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Prilepi območje","pasteMsg":"Paste your content inside the area below and press OK.","title":"Prilepi"},"colorbutton":{"auto":"Samodejno","bgColorTitle":"Barva ozadja","colors":{"000":"Črna","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Rjava","DAA520":"Golden Rod","006400":"Temno zelena","40E0D0":"Turkizna","0000CD":"Srednje modra","800080":"Škrlatna","808080":"Siva","F00":"Rdeča","FF8C00":"Temno oranžna","FFD700":"Zlata","008000":"Zelena","0FF":"Sinja","00F":"Modra","EE82EE":"Vijolična","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Oranžna","FFFF00":"Rumena","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Svetlo modra","DDA0DD":"Plum","D3D3D3":"Svetlo siva","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Svetlo rumena","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"Bela","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Več barv ...","panelTitle":"Barve","textColorTitle":"Barva besedila"},"colordialog":{"clear":"Počisti","highlight":"Poudarjeno","options":"Možnosti barve","selected":"Izbrana barva","title":"Izberi barvo"},"templates":{"button":"Predloge","emptyListMsg":"(Ni pripravljenih predlog)","insertOption":"Zamenjaj trenutno vsebino","options":"Možnosti Predloge","selectPromptMsg":"Izberite predlogo, ki jo želite odpreti v urejevalniku<br>(trenutna vsebina bo izgubljena):","title":"Vsebinske predloge"},"contextmenu":{"options":"Možnosti kontekstnega menija"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Predlagani naslov","cssClassInputLabel":"Razredi slogovne predloge","edit":"Uredi div","inlineStyleInputLabel":"Slog v vrstici","langDirLTRLabel":"Od leve proti desni (LTR)","langDirLabel":"Smer jezika","langDirRTLLabel":"Od desne proti levi (RTL)","languageCodeInputLabel":"Koda jezika","remove":"Odstrani div","styleSelectLabel":"Slog","title":"Ustvari vsebnik div","toolbar":"Ustvari vsebnik div"},"elementspath":{"eleLabel":"Pot elementov","eleTitle":"Element %1"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Najdi","findOptions":"Možnosti iskanja","findWhat":"Najdi:","matchCase":"Razlikuj velike in male črke","matchCyclic":"Primerjaj znake v cirilici","matchWord":"Samo cele besede","notFoundMsg":"Navedenega besedila nismo našli.","replace":"Zamenjaj","replaceAll":"Zamenjaj vse","replaceSuccessMsg":"Zamenjali smo %1 pojavitev.","replaceWith":"Zamenjaj z:","title":"Najdi in zamenjaj"},"fakeobjects":{"anchor":"Sidro","flash":"Animacija flash","hiddenfield":"Skrito polje","iframe":"IFrame","unknown":"Neznan objekt"},"flash":{"access":"Dostop skripta","accessAlways":"Vedno","accessNever":"Nikoli","accessSameDomain":"Samo ista domena","alignAbsBottom":"Popolnoma na dno","alignAbsMiddle":"Popolnoma v sredino","alignBaseline":"Na osnovno črto","alignTextTop":"Besedilo na vrh","bgcolor":"Barva ozadja","chkFull":"Dovoli celozaslonski način","chkLoop":"Ponavljanje","chkMenu":"Omogoči meni flasha","chkPlay":"Samodejno predvajaj","flashvars":"Spremenljivke za flash","hSpace":"Vodoravni odmik","properties":"Lastnosti flasha","propertiesTab":"Lastnosti","quality":"Kakovost","qualityAutoHigh":"Samodejno visoka","qualityAutoLow":"Samodejno nizka","qualityBest":"Najvišja","qualityHigh":"Visoka","qualityLow":"Nizka","qualityMedium":"Srednja","scale":"Povečava","scaleAll":"Pokaži vse","scaleFit":"Natančno prileganje","scaleNoBorder":"Brez obrobe","title":"Lastnosti flasha","vSpace":"Navpični odmik","validateHSpace":"Vodoravni odmik mora biti število.","validateSrc":"Vnesite URL povezave","validateVSpace":"Navpični odmik mora biti število.","windowMode":"Način okna","windowModeOpaque":"Motno","windowModeTransparent":"Prosojno","windowModeWindow":"Okno"},"font":{"fontSize":{"label":"Velikost","voiceLabel":"Velikost pisave","panelTitle":"Velikost pisave"},"label":"Pisava","panelTitle":"Ime pisave","voiceLabel":"Pisava"},"forms":{"button":{"title":"Lastnosti gumba","text":"Besedilo (Vrednost)","type":"Vrsta","typeBtn":"Gumb","typeSbm":"Potrdi","typeRst":"Ponastavi"},"checkboxAndRadio":{"checkboxTitle":"Lastnosti potrditvenega polja","radioTitle":"Lastnosti izbirnega polja","value":"Vrednost","selected":"Izbrano","required":"Zahtevano"},"form":{"title":"Lastnosti obrazca","menu":"Lastnosti obrazca","action":"Dejanje","method":"Metoda","encoding":"Kodiranje znakov"},"hidden":{"title":"Lastnosti skritega polja","name":"Ime","value":"Vrednost"},"select":{"title":"Lastnosti spustnega seznama","selectInfo":"Podatki","opAvail":"Razpoložljive izbire","value":"Vrednost","size":"Velikost","lines":"vrstic","chkMulti":"Dovoli izbor več vrednosti","required":"Zahtevano","opText":"Besedilo","opValue":"Vrednost","btnAdd":"Dodaj","btnModify":"Spremeni","btnUp":"Gor","btnDown":"Dol","btnSetValue":"Določi kot privzeto izbiro","btnDelete":"Izbriši"},"textarea":{"title":"Lastnosti besedilnega območja","cols":"Stolpcev","rows":"Vrstic"},"textfield":{"title":"Lastnosti besedilnega polja","name":"Ime","value":"Vrednost","charWidth":"Širina","maxChars":"Največje število znakov","required":"Zahtevano","type":"Vrsta","typeText":"Besedilo","typePass":"Geslo","typeEmail":"E-pošta","typeSearch":"Iskanje","typeTel":"Telefonska številka","typeUrl":"URL"}},"format":{"label":"Oblika","panelTitle":"Oblika odstavka","tag_address":"Napis","tag_div":"Navaden (DIV)","tag_h1":"Naslov 1","tag_h2":"Naslov 2","tag_h3":"Naslov 3","tag_h4":"Naslov 4","tag_h5":"Naslov 5","tag_h6":"Naslov 6","tag_p":"Navaden","tag_pre":"Oblikovan"},"horizontalrule":{"toolbar":"Vstavi vodoravno črto"},"iframe":{"border":"Pokaži obrobo okvirja","noUrl":"Prosimo, vnesite iframe URL","scrolling":"Omogoči drsnike","title":"Lastnosti IFrame","toolbar":"IFrame"},"image":{"alt":"Nadomestno besedilo","border":"Obroba","btnUpload":"Pošlji na strežnik","button2Img":"Želite pretvoriti izbrani gumb s sliko v preprosto sliko?","hSpace":"Vodoravni odmik","img2Button":"Želite pretvoriti izbrano sliko v gumb s sliko?","infoTab":"Podatki o sliki","linkTab":"Povezava","lockRatio":"Zakleni razmerje","menu":"Lastnosti slike","resetSize":"Ponastavi velikost","title":"Lastnosti slike","titleButton":"Lastnosti gumba s sliko","upload":"Naloži","urlMissing":"Manjka URL vira slike.","vSpace":"Navpični odmik","validateBorder":"Meja mora biti celo število.","validateHSpace":"Vodoravni odmik mora biti celo število.","validateVSpace":"VSpace mora biti celo število."},"indent":{"indent":"Povečaj zamik","outdent":"Zmanjšaj zamik"},"smiley":{"options":"Možnosti Smeška","title":"Vstavi smeška","toolbar":"Smeško"},"language":{"button":"Nastavi jezik","remove":"Odstrani jezik"},"link":{"acccessKey":"Tipka za dostop","advanced":"Napredno","advisoryContentType":"Predlagana vrsta vsebine","advisoryTitle":"Predlagani naslov","anchor":{"toolbar":"Sidro","menu":"Uredi sidro","title":"Lastnosti sidra","name":"Ime sidra","errorName":"Prosimo, vnesite ime sidra","remove":"Odstrani sidro"},"anchorId":"Po ID-ju elementa","anchorName":"Po imenu sidra","charset":"Nabor znakov povezanega vira","cssClasses":"Razredi slogovne predloge","download":"Force Download","displayText":"Display Text","emailAddress":"E-poštni naslov","emailBody":"Telo sporočila","emailSubject":"Zadeva sporočila","id":"Id","info":"Podatki o povezavi","langCode":"Koda jezika","langDir":"Smer jezika","langDirLTR":"Od leve proti desni (LTR)","langDirRTL":"Od desne proti levi (RTL)","menu":"Uredi povezavo","name":"Ime","noAnchors":"(V tem dokumentu ni sider)","noEmail":"Vnesite e-poštni naslov","noUrl":"Vnesite URL povezave","other":"<drugo>","popupDependent":"Podokno (Netscape)","popupFeatures":"Značilnosti pojavnega okna","popupFullScreen":"Celozaslonsko (IE)","popupLeft":"Lega levo","popupLocationBar":"Naslovna vrstica","popupMenuBar":"Menijska vrstica","popupResizable":"Spremenljive velikosti","popupScrollBars":"Drsniki","popupStatusBar":"Vrstica stanja","popupToolbar":"Orodna vrstica","popupTop":"Lega na vrhu","rel":"Odnos","selectAnchor":"Izberite sidro","styles":"Slog","tabIndex":"Številka tabulatorja","target":"Cilj","targetFrame":"<okvir>","targetFrameName":"Ime ciljnega okvirja","targetPopup":"<pojavno okno>","targetPopupName":"Ime pojavnega okna","title":"Povezava","toAnchor":"Sidro na tej strani","toEmail":"E-pošta","toUrl":"URL","toolbar":"Vstavi/uredi povezavo","type":"Vrsta povezave","unlink":"Odstrani povezavo","upload":"Naloži"},"list":{"bulletedlist":"Vstavi/odstrani neoštevilčen seznam","numberedlist":"Vstavi/odstrani oštevilčen seznam"},"liststyle":{"armenian":"Armenian numbering","bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","decimalLeadingZero":"Decimal leading zero (01, 02, 03, etc.)","disc":"Disc","georgian":"Georgian numbering (an, ban, gan, etc.)","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerGreek":"Lower Greek (alpha, beta, gamma, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Vstavite odstavek tukaj"},"maximize":{"maximize":"Maksimiraj","minimize":"Minimiraj"},"newpage":{"toolbar":"Nova stran"},"pagebreak":{"alt":"Prelom strani","toolbar":"Vstavi prelom strani"},"pastetext":{"button":"Prilepi kot golo besedilo","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Prilepi kot golo besedilo"},"pastefromword":{"confirmCleanup":"Besedilo, ki ga želite prilepiti, je kopirano iz Worda. Ali ga želite očistiti, preden ga prilepite?","error":"Ni bilo mogoče očistiti prilepljenih podatkov zaradi notranje napake","title":"Prilepi iz Worda","toolbar":"Prilepi iz Worda"},"preview":{"preview":"Predogled"},"print":{"toolbar":"Natisni"},"removeformat":{"toolbar":"Odstrani oblikovanje"},"save":{"toolbar":"Shrani"},"selectall":{"toolbar":"Izberi vse"},"showblocks":{"toolbar":"Prikaži ograde"},"sourcearea":{"toolbar":"Izvorna koda"},"specialchar":{"options":"Možnosti posebnih znakov","title":"Izberi posebni znak","toolbar":"Vstavi posebni znak"},"scayt":{"btn_about":"O storitvi SCAYT","btn_dictionaries":"Slovarji","btn_disable":"Onemogoči SCAYT","btn_enable":"Omogoči SCAYT","btn_langs":"Jeziki","btn_options":"Možnosti","text_title":"Črkovanje med tipkanjem"},"stylescombo":{"label":"Slog","panelTitle":"Oblikovalni Stili","panelTitle1":"Slogi odstavkov","panelTitle2":"Slogi besedila","panelTitle3":"Slogi objektov"},"table":{"border":"Velikost obrobe","caption":"Napis","cell":{"menu":"Celica","insertBefore":"Vstavi celico pred","insertAfter":"Vstavi celico za","deleteCell":"Izbriši celice","merge":"Združi celice","mergeRight":"Združi desno","mergeDown":"Združi navzdol","splitHorizontal":"Razdeli celico vodoravno","splitVertical":"Razdeli celico navpično","title":"Lastnosti celice","cellType":"Vrsta celice","rowSpan":"Razpon vrstic","colSpan":"Razpon stolpcev","wordWrap":"Prelom besedila","hAlign":"Vodoravna poravnava","vAlign":"Navpična poravnava","alignBaseline":"Osnovnica","bgColor":"Barva ozadja","borderColor":"Barva obrobe","data":"Podatki","header":"Glava","yes":"Da","no":"Ne","invalidWidth":"Širina celice mora biti število.","invalidHeight":"Višina celice mora biti število.","invalidRowSpan":"Razpon vrstic mora biti celo število.","invalidColSpan":"Razpon stolpcev mora biti celo število.","chooseColor":"Izberi"},"cellPad":"Odmik znotraj celic","cellSpace":"Razmik med celicami","column":{"menu":"Stolpec","insertBefore":"Vstavi stolpec pred","insertAfter":"Vstavi stolpec za","deleteColumn":"Izbriši stolpce"},"columns":"Stolpci","deleteTable":"Izbriši tabelo","headers":"Glave","headersBoth":"Oboje","headersColumn":"Prvi stolpec","headersNone":"Brez","headersRow":"Prva vrstica","invalidBorder":"Širina obrobe mora biti število.","invalidCellPadding":"Odmik znotraj celic mora biti pozitivno število.","invalidCellSpacing":"Razmik med celicami mora biti pozitivno število.","invalidCols":"Število stolpcev mora biti večje od 0.","invalidHeight":"Višina tabele mora biti število.","invalidRows":"Število vrstic mora biti večje od 0.","invalidWidth":"Širina tabele mora biti število.","menu":"Lastnosti tabele","row":{"menu":"Vrstica","insertBefore":"Vstavi vrstico pred","insertAfter":"Vstavi vrstico za","deleteRow":"Izbriši vrstice"},"rows":"Vrstice","summary":"Povzetek","title":"Lastnosti tabele","toolbar":"Tabela","widthPc":"odstotkov","widthPx":"pik","widthUnit":"enota širine"},"undo":{"redo":"Uveljavi","undo":"Razveljavi"},"widget":{"move":"Kliknite in povlecite, da premaknete","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Prezri","btnIgnoreAll":"Prezri vse","btnReplace":"Zamenjaj","btnReplaceAll":"Zamenjaj vse","btnUndo":"Razveljavi","changeTo":"Spremeni v","errorLoading":"Napaka pri nalaganju storitve programa na naslovu %s.","ieSpellDownload":"Črkovalnik ni nameščen. Ali ga želite prenesti sedaj?","manyChanges":"Črkovanje je končano: Spremenjenih je bilo %1 besed","noChanges":"Črkovanje je končano: Nobena beseda ni bila spremenjena","noMispell":"Črkovanje je končano: Brez napak","noSuggestions":"- Ni predlogov -","notAvailable":"Oprostite, storitev trenutno ni dosegljiva.","notInDic":"Ni v slovarju","oneChange":"Črkovanje je končano: Spremenjena je bila ena beseda","progress":"Preverjanje črkovanja se izvaja...","title":"Črkovalnik","toolbar":"Preveri črkovanje"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sl.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sk.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sk.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sk.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['sk']={"editor":"Editor formátovaného textu","editorPanel":"Panel editora formátovaného textu","common":{"editorHelp":"Stlačením ALT 0 spustiť pomocníka","browseServer":"Prehliadať server","url":"URL","protocol":"Protokol","upload":"Odoslať","uploadSubmit":"Odoslať na server","image":"Obrázok","flash":"Flash","form":"Formulár","checkbox":"Zaškrtávacie pole","radio":"Prepínač","textField":"Textové pole","textarea":"Textová oblasť","hiddenField":"Skryté pole","button":"Tlačidlo","select":"Rozbaľovací zoznam","imageButton":"Obrázkové tlačidlo","notSet":"<nenastavené>","id":"Id","name":"Meno","langDir":"Orientácia jazyka","langDirLtr":"Zľava doprava (LTR)","langDirRtl":"Sprava doľava (RTL)","langCode":"Kód jazyka","longDescr":"Dlhý popis URL","cssClass":"Trieda štýlu","advisoryTitle":"Pomocný titulok","cssStyle":"Štýl","ok":"OK","cancel":"Zrušiť","close":"Zatvoriť","preview":"Náhľad","resize":"Zmeniť veľkosť","generalTab":"Hlavné","advancedTab":"Rozšírené","validateNumberFailed":"Hodnota nie je číslo.","confirmNewPage":"Prajete si načítat novú stránku? Všetky neuložené zmeny budú stratené. ","confirmCancel":"Niektore možnosti boli zmenené. Naozaj chcete zavrieť okno?","options":"Možnosti","target":"Cieľ","targetNew":"Nové okno (_blank)","targetTop":"Najvrchnejšie okno (_top)","targetSelf":"To isté okno (_self)","targetParent":"Rodičovské okno (_parent)","langDirLTR":"Zľava doprava (LTR)","langDirRTL":"Sprava doľava (RTL)","styles":"Štýl","cssClasses":"Triedy štýlu","width":"Šírka","height":"Výška","align":"Zarovnanie","left":"Vľavo","right":"Vpravo","center":"Na stred","justify":"Do bloku","alignLeft":"Zarovnať vľavo","alignRight":"Zarovnať vpravo","alignCenter":"Zarovnať na stred","alignTop":"Nahor","alignMiddle":"Na stred","alignBottom":"Dole","alignNone":"Žiadne","invalidValue":"Neplatná hodnota.","invalidHeight":"Výška musí byť číslo.","invalidWidth":"Šírka musí byť číslo.","invalidLength":"Hodnota uvedená v poli \"%1\" musí byť kladné číslo a s platnou mernou jednotkou (%2), alebo bez nej.","invalidCssLength":"Špecifikovaná hodnota pre pole \"%1\" musí byť kladné číslo s alebo bez platnej CSS mernej jednotky (px, %, in, cm, mm, em, ex, pt alebo pc).","invalidHtmlLength":"Špecifikovaná hodnota pre pole \"%1\" musí byť kladné číslo s alebo bez platnej HTML mernej jednotky (px alebo %).","invalidInlineStyle":"Zadaná hodnota pre inline štýl musí pozostávať s jedného, alebo viac dvojíc formátu \"názov: hodnota\", oddelených bodkočiarkou.","cssLengthTooltip":"Vložte číslo pre hodnotu v pixeloch alebo číslo so správnou CSS jednotou (px, %, in, cm, mm, em, ex, pt alebo pc).","unavailable":"%1<span class=\"cke_accessibility\">, nedostupný</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Medzerník","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Klávesová skratka","optionDefault":"Predvolený"},"about":{"copy":"Copyright &copy; $1. Všetky práva vyhradené.","dlgTitle":"O aplikácii CKEditor 4","moreInfo":"Pre informácie o licenciách, prosíme, navštívte našu web stránku:"},"basicstyles":{"bold":"Tučné","italic":"Kurzíva","strike":"Prečiarknuté","subscript":"Dolný index","superscript":"Horný index","underline":"Podčiarknuté"},"bidi":{"ltr":"Smer textu zľava doprava","rtl":"Smer textu sprava doľava"},"blockquote":{"toolbar":"Citácia"},"notification":{"closed":"Notifikácia zatvorená."},"button":{"selectedLabel":"%1 (Vybrané)"},"toolbar":{"toolbarCollapse":"Zbaliť lištu nástrojov","toolbarExpand":"Rozbaliť lištu nástrojov","toolbarGroups":{"document":"Dokument","clipboard":"Schránka pre kopírovanie/Späť","editing":"Upravovanie","forms":"Formuláre","basicstyles":"Základné štýly","paragraph":"Odsek","links":"Odkazy","insert":"Vložiť","styles":"Štýly","colors":"Farby","tools":"Nástroje"},"toolbars":"Lišty nástrojov editora"},"clipboard":{"copy":"Kopírovať","copyError":"Bezpečnostné nastavenia vášho prehliadača nedovoľujú editoru automaticky spustiť operáciu kopírovania. Použite na to klávesnicu (Ctrl/Cmd+C).","cut":"Vystrihnúť","cutError":"Bezpečnostné nastavenia vášho prehliadača nedovoľujú editoru automaticky spustiť operáciu vystrihnutia. Použite na to klávesnicu (Ctrl/Cmd+X).","paste":"Vložiť","pasteNotification":"Stlačte %1 na vloženie. Váš prehliadač nepodporuje vloženie prostredníctvom tlačidla v nástrojovej lište alebo voľby v kontextovom menu.","pasteArea":"Miesto pre vloženie","pasteMsg":"Vložte svoj obsah do nasledujúcej oblasti a stlačte OK.","title":"Vložiť"},"colorbutton":{"auto":"Automaticky","bgColorTitle":"Farba pozadia","colors":{"000":"Čierna","800000":"Gaštanová","8B4513":"Sedlová hnedá","2F4F4F":"Tmavo bridlicovo sivá","008080":"Modrozelená","000080":"Tmavomodrá","4B0082":"Indigo","696969":"Tmavá sivá","B22222":"Ohňová tehlová","A52A2A":"Hnedá","DAA520":"Zlatobyľ","006400":"Tmavá zelená","40E0D0":"Tyrkysová","0000CD":"Stredná modrá","800080":"Purpurová","808080":"Sivá","F00":"Červená","FF8C00":"Tmavá oranžová","FFD700":"Zlatá","008000":"Zelená","0FF":"Azúrová","00F":"Modrá","EE82EE":"Fialová","A9A9A9":"Tmavá sivá","FFA07A":"Svetlá lososová","FFA500":"Oranžová","FFFF00":"Žltá","00FF00":"Vápenná","AFEEEE":"Svetlá tyrkysová","ADD8E6":"Svetlá modrá","DDA0DD":"Slivková","D3D3D3":"Svetlá sivá","FFF0F5":"Levanduľovo červená","FAEBD7":"Antická biela","FFFFE0":"Svetlá žltá","F0FFF0":"Medová","F0FFFF":"Azúrová","F0F8FF":"Alicovo modrá","E6E6FA":"Levanduľová","FFF":"Biela","1ABC9C":"Silno tyrkysová","2ECC71":"Smaragdová","3498DB":"Svetlo modrá","9B59B6":"Ametystová","4E5F70":"Sivo modrá","F1C40F":"Sýto žltá","16A085":"Tmavo tyrkysová","27AE60":"Tmavo smaragdová","2980B9":"Silno modrá","8E44AD":"Tmavo fialová","2C3E50":"Nesýto modrá","F39C12":"Oranžová","E67E22":"Mrkvová","E74C3C":"Bledo červená","ECF0F1":"Svetlá bronzová","95A5A6":"Svetlá sivo-tyrkysová","DDD":"Svetlo sivá","D35400":"Tekvicová","C0392B":"Silno červená","BDC3C7":"Strieborná","7F8C8D":"Sivo tyrkysová","999":"Tmavo sivá"},"more":"Viac farieb...","panelTitle":"Farby","textColorTitle":"Farba textu"},"colordialog":{"clear":"Vyčistiť","highlight":"Zvýrazniť","options":"Možnosti farby","selected":"Vybraná farba","title":"Vybrať farbu"},"templates":{"button":"Šablóny","emptyListMsg":"(Žiadne šablóny nedefinované)","insertOption":"Nahradiť aktuálny obsah","options":"Možnosti šablóny","selectPromptMsg":"Prosím vyberte šablónu na otvorenie v editore","title":"Šablóny obsahu"},"contextmenu":{"options":"Možnosti kontextového menu"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Pomocný titulok","cssClassInputLabel":"Triedy štýlu","edit":"Upraviť Div","inlineStyleInputLabel":"Inline štýl","langDirLTRLabel":"Zľava doprava (LTR)","langDirLabel":"Smer jazyka","langDirRTLLabel":"Zprava doľava (RTL)","languageCodeInputLabel":"Kód jazyka","remove":"Odstrániť Div","styleSelectLabel":"Štýl","title":"Vytvoriť Div kontajner","toolbar":"Vytvoriť Div kontajner"},"elementspath":{"eleLabel":"Cesta prvkov","eleTitle":"%1 prvok"},"filetools":{"loadError":"Počas čítania súboru nastala chyba.","networkError":"Počas nahrávania súboru nastala chyba siete.","httpError404":"Počas nahrávania súboru nastala HTTP chyba (404: Súbor nebol nájdený).","httpError403":"Počas nahrávania súboru nastala HTTP chyba (403: Zakázaný).","httpError":"Počas nahrávania súboru nastala HTTP chyba (error status: %1).","noUrlError":"URL nahrávania nie je definovaný.","responseError":"Nesprávna odpoveď servera."},"find":{"find":"Vyhľadať","findOptions":"Možnosti vyhľadávania","findWhat":"Čo hľadať:","matchCase":"Rozlišovať malé a veľké písmená","matchCyclic":"Po dosiahnutí konca pokračovať od začiatku","matchWord":"Len celé slová","notFoundMsg":"Hľadaný text nebol nájdený.","replace":"Nahradiť","replaceAll":"Nahradiť všetko","replaceSuccessMsg":"%1 výskyt(ov) nahradených.","replaceWith":"Čím nahradiť:","title":"Vyhľadať a nahradiť"},"fakeobjects":{"anchor":"Kotva","flash":"Flash animácia","hiddenfield":"Skryté pole","iframe":"IFrame","unknown":"Neznámy objekt"},"flash":{"access":"Prístup skriptu","accessAlways":"Vždy","accessNever":"Nikdy","accessSameDomain":"Rovnaká doména","alignAbsBottom":"Úplne dole","alignAbsMiddle":"Do stredu","alignBaseline":"Na základnú čiaru","alignTextTop":"Na horný okraj textu","bgcolor":"Farba pozadia","chkFull":"Povoliť zobrazenie na celú obrazovku (fullscreen)","chkLoop":"Opakovanie","chkMenu":"Povoliť Flash Menu","chkPlay":"Automatické prehrávanie","flashvars":"Premenné pre Flash","hSpace":"H-medzera","properties":"Vlastnosti Flashu","propertiesTab":"Vlastnosti","quality":"Kvalita","qualityAutoHigh":"Automaticky vysoká","qualityAutoLow":"Automaticky nízka","qualityBest":"Najlepšia","qualityHigh":"Vysoká","qualityLow":"Nízka","qualityMedium":"Stredná","scale":"Mierka","scaleAll":"Zobraziť všetko","scaleFit":"Roztiahnuť, aby sedelo presne","scaleNoBorder":"Bez okrajov","title":"Vlastnosti Flashu","vSpace":"V-medzera","validateHSpace":"H-medzera musí byť číslo.","validateSrc":"URL nesmie byť prázdne.","validateVSpace":"V-medzera musí byť číslo","windowMode":"Mód okna","windowModeOpaque":"Nepriehľadný","windowModeTransparent":"Priehľadný","windowModeWindow":"Okno"},"font":{"fontSize":{"label":"Veľkosť","voiceLabel":"Veľkosť písma","panelTitle":"Veľkosť písma"},"label":"Písmo","panelTitle":"Názov písma","voiceLabel":"Písmo"},"forms":{"button":{"title":"Vlastnosti tlačidla","text":"Text (Hodnota)","type":"Typ","typeBtn":"Tlačidlo","typeSbm":"Odoslať","typeRst":"Resetovať"},"checkboxAndRadio":{"checkboxTitle":"Vlastnosti zaškrtávacieho políčka","radioTitle":"Vlastnosti prepínača (radio button)","value":"Hodnota","selected":"Vybrané (selected)","required":"Povinný"},"form":{"title":"Vlastnosti formulára","menu":"Vlastnosti formulára","action":"Akcia (action)","method":"Metóda (method)","encoding":"Kódovanie (encoding)"},"hidden":{"title":"Vlastnosti skrytého poľa","name":"Názov (name)","value":"Hodnota"},"select":{"title":"Vlastnosti rozbaľovacieho zoznamu","selectInfo":"Informácie o výbere","opAvail":"Dostupné možnosti","value":"Hodnota","size":"Veľkosť","lines":"riadkov","chkMulti":"Povoliť viacnásobný výber","required":"Povinný","opText":"Text","opValue":"Hodnota","btnAdd":"Pridať","btnModify":"Upraviť","btnUp":"Hore","btnDown":"Dole","btnSetValue":"Nastaviť ako vybranú hodnotu","btnDelete":"Vymazať"},"textarea":{"title":"Vlastnosti textovej oblasti (textarea)","cols":"Stĺpcov","rows":"Riadkov"},"textfield":{"title":"Vlastnosti textového poľa","name":"Názov (name)","value":"Hodnota","charWidth":"Šírka poľa (podľa znakov)","maxChars":"Maximálny počet znakov","required":"Povinný","type":"Typ","typeText":"Text","typePass":"Heslo","typeEmail":"Email","typeSearch":"Hľadať","typeTel":"Telefónne číslo","typeUrl":"URL"}},"format":{"label":"Formát","panelTitle":"Odsek","tag_address":"Adresa","tag_div":"Normálny (DIV)","tag_h1":"Nadpis 1","tag_h2":"Nadpis 2","tag_h3":"Nadpis 3","tag_h4":"Nadpis 4","tag_h5":"Nadpis 5","tag_h6":"Nadpis 6","tag_p":"Normálny","tag_pre":"Formátovaný"},"horizontalrule":{"toolbar":"Vložiť vodorovnú čiaru"},"iframe":{"border":"Zobraziť rám frame-u","noUrl":"Prosím, vložte URL iframe","scrolling":"Povoliť skrolovanie","title":"Vlastnosti IFrame","toolbar":"IFrame"},"image":{"alt":"Alternatívny text","border":"Rám (border)","btnUpload":"Odoslať to na server","button2Img":"Chcete zmeniť vybrané obrázkové tlačidlo na jednoduchý obrázok?","hSpace":"H-medzera","img2Button":"Chcete zmeniť vybraný obrázok na obrázkové tlačidlo?","infoTab":"Informácie o obrázku","linkTab":"Odkaz","lockRatio":"Pomer zámky","menu":"Vlastnosti obrázka","resetSize":"Pôvodná veľkosť","title":"Vlastnosti obrázka","titleButton":"Vlastnosti obrázkového tlačidla","upload":"Nahrať","urlMissing":"Chýba URL zdroja obrázka.","vSpace":"V-medzera","validateBorder":"Rám (border) musí byť celé číslo.","validateHSpace":"H-medzera musí byť celé číslo.","validateVSpace":"V-medzera musí byť celé číslo."},"indent":{"indent":"Zväčšiť odsadenie","outdent":"Zmenšiť odsadenie"},"smiley":{"options":"Možnosti smajlíkov","title":"Vložiť smajlíka","toolbar":"Smajlíky"},"language":{"button":"Nastaviť jazyk","remove":"Odstrániť jazyk"},"link":{"acccessKey":"Prístupový kľúč","advanced":"Rozšírené","advisoryContentType":"Pomocný typ obsahu","advisoryTitle":"Pomocný titulok","anchor":{"toolbar":"Kotva","menu":"Upraviť kotvu","title":"Vlastnosti kotvy","name":"Názov kotvy","errorName":"Zadajte prosím názov kotvy","remove":"Odstrániť kotvu"},"anchorId":"Podľa Id objektu","anchorName":"Podľa mena kotvy","charset":"Priradená znaková sada","cssClasses":"Triedy štýlu","download":"Vynútené sťahovanie.","displayText":"Zobraziť text","emailAddress":"E-Mailová adresa","emailBody":"Telo správy","emailSubject":"Predmet správy","id":"Id","info":"Informácie o odkaze","langCode":"Orientácia jazyka","langDir":"Orientácia jazyka","langDirLTR":"Zľava doprava (LTR)","langDirRTL":"Sprava doľava (RTL)","menu":"Upraviť odkaz","name":"Názov","noAnchors":"(V dokumente nie sú dostupné žiadne kotvy)","noEmail":"Zadajte prosím e-mailovú adresu","noUrl":"Zadajte prosím URL odkazu","other":"<iný>","popupDependent":"Závislosť (Netscape)","popupFeatures":"Vlastnosti vyskakovacieho okna","popupFullScreen":"Celá obrazovka (IE)","popupLeft":"Ľavý okraj","popupLocationBar":"Panel umiestnenia (location bar)","popupMenuBar":"Panel ponuky (menu bar)","popupResizable":"Meniteľná veľkosť (resizable)","popupScrollBars":"Posuvníky (scroll bars)","popupStatusBar":"Stavový riadok (status bar)","popupToolbar":"Panel nástrojov (toolbar)","popupTop":"Horný okraj","rel":"Vzťah (rel)","selectAnchor":"Vybrať kotvu","styles":"Štýl","tabIndex":"Poradie prvku (tab index)","target":"Cieľ","targetFrame":"<rámec>","targetFrameName":"Názov rámu cieľa","targetPopup":"<vyskakovacie okno>","targetPopupName":"Názov vyskakovacieho okna","title":"Odkaz","toAnchor":"Odkaz na kotvu v texte","toEmail":"E-mail","toUrl":"URL","toolbar":"Odkaz","type":"Typ odkazu","unlink":"Odstrániť odkaz","upload":"Nahrať"},"list":{"bulletedlist":"Vložiť/odstrániť zoznam s odrážkami","numberedlist":"Vložiť/odstrániť číslovaný zoznam"},"liststyle":{"armenian":"Arménske číslovanie","bulletedTitle":"Vlastnosti odrážkového zoznamu","circle":"Kruh","decimal":"Číselné (1, 2, 3, atď.)","decimalLeadingZero":"Číselné s nulou (01, 02, 03, atď.)","disc":"Disk","georgian":"Gruzínske číslovanie (an, ban, gan, atď.)","lowerAlpha":"Malé latinské (a, b, c, d, e, atď.)","lowerGreek":"Malé grécke (alfa, beta, gama, atď.)","lowerRoman":"Malé rímske (i, ii, iii, iv, v, atď.)","none":"Nič","notset":"<nenastavené>","numberedTitle":"Vlastnosti číselného zoznamu","square":"Štvorec","start":"Začiatok","type":"Typ","upperAlpha":"Veľké latinské (A, B, C, D, E, atď.)","upperRoman":"Veľké rímske (I, II, III, IV, V, atď.)","validateStartNumber":"Začiatočné číslo číselného zoznamu musí byť celé číslo."},"magicline":{"title":"Odsek vložiť sem"},"maximize":{"maximize":"Maximalizovať","minimize":"Minimalizovať"},"newpage":{"toolbar":"Nová stránka"},"pagebreak":{"alt":"Zalomenie strany","toolbar":"Vložiť oddeľovač stránky pre tlač"},"pastetext":{"button":"Vložiť ako čistý text","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Vložiť ako čistý text"},"pastefromword":{"confirmCleanup":"Zdá sa, že vkladaný text pochádza z programu MS Word. Chcete ho pred vkladaním automaticky vyčistiť?","error":"Kvôli internej chybe nebolo možné vložené dáta vyčistiť","title":"Vložiť z Wordu","toolbar":"Vložiť z Wordu"},"preview":{"preview":"Náhľad"},"print":{"toolbar":"Tlač"},"removeformat":{"toolbar":"Odstrániť formátovanie"},"save":{"toolbar":"Uložiť"},"selectall":{"toolbar":"Vybrať všetko"},"showblocks":{"toolbar":"Ukázať bloky"},"sourcearea":{"toolbar":"Zdroj"},"specialchar":{"options":"Možnosti špeciálneho znaku","title":"Výber špeciálneho znaku","toolbar":"Vložiť špeciálny znak"},"scayt":{"btn_about":"O KPPP (Kontrola pravopisu počas písania)","btn_dictionaries":"Slovníky","btn_disable":"Zakázať KPPP (Kontrola pravopisu počas písania)","btn_enable":"Povoliť KPPP (Kontrola pravopisu počas písania)","btn_langs":"Jazyky","btn_options":"Možnosti","text_title":"Kontrola pravopisu počas písania"},"stylescombo":{"label":"Štýly","panelTitle":"Formátovanie štýlov","panelTitle1":"Štýly bloku","panelTitle2":"Vnútroriadkové (inline) štýly","panelTitle3":"Štýly objeku"},"table":{"border":"Šírka orámovania","caption":"Popis","cell":{"menu":"Bunka","insertBefore":"Vložiť bunku pred","insertAfter":"Vložiť bunku za","deleteCell":"Vymazať bunky","merge":"Zlúčiť bunky","mergeRight":"Zlúčiť doprava","mergeDown":"Zlúčiť dole","splitHorizontal":"Rozdeliť bunky horizontálne","splitVertical":"Rozdeliť bunky vertikálne","title":"Vlastnosti bunky","cellType":"Typ bunky","rowSpan":"Rozsah riadkov","colSpan":"Rozsah stĺpcov","wordWrap":"Zalamovanie riadkov","hAlign":"Horizontálne zarovnanie","vAlign":"Vertikálne zarovnanie","alignBaseline":"Základná čiara (baseline)","bgColor":"Farba pozadia","borderColor":"Farba orámovania","data":"Dáta","header":"Hlavička","yes":"Áno","no":"Nie","invalidWidth":"Šírka bunky musí byť číslo.","invalidHeight":"Výška bunky musí byť číslo.","invalidRowSpan":"Rozsah riadkov musí byť celé číslo.","invalidColSpan":"Rozsah stĺpcov musí byť celé číslo.","chooseColor":"Vybrať"},"cellPad":"Odsadenie obsahu (cell padding)","cellSpace":"Vzdialenosť buniek (cell spacing)","column":{"menu":"Stĺpec","insertBefore":"Vložiť stĺpec pred","insertAfter":"Vložiť stĺpec po","deleteColumn":"Zmazať stĺpce"},"columns":"Stĺpce","deleteTable":"Vymazať tabuľku","headers":"Hlavička","headersBoth":"Obe","headersColumn":"Prvý stĺpec","headersNone":"Žiadne","headersRow":"Prvý riadok","invalidBorder":"Šírka orámovania musí byť číslo.","invalidCellPadding":"Odsadenie v bunkách (cell padding) musí byť kladné číslo.","invalidCellSpacing":"Medzera mädzi bunkami (cell spacing) musí byť kladné číslo.","invalidCols":"Počet stĺpcov musí byť číslo väčšie ako 0.","invalidHeight":"Výška tabuľky musí byť číslo.","invalidRows":"Počet riadkov musí byť číslo väčšie ako 0.","invalidWidth":"Širka tabuľky musí byť číslo.","menu":"Vlastnosti tabuľky","row":{"menu":"Riadok","insertBefore":"Vložiť riadok pred","insertAfter":"Vložiť riadok po","deleteRow":"Vymazať riadky"},"rows":"Riadky","summary":"Prehľad","title":"Vlastnosti tabuľky","toolbar":"Tabuľka","widthPc":"percent","widthPx":"pixelov","widthUnit":"jednotka šírky"},"undo":{"redo":"Znovu","undo":"Späť"},"widget":{"move":"Kliknite a potiahnite pre presunutie","label":"%1 widget"},"uploadwidget":{"abort":"Nahrávanie zrušené používateľom.","doneOne":"Súbor úspešne nahraný.","doneMany":"Úspešne nahraných %1 súborov.","uploadOne":"Nahrávanie súboru ({percentage}%)...","uploadMany":"Nahrávanie súborov, {current} z {max} hotovo ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorovať","btnIgnoreAll":"Ignorovať všetko","btnReplace":"Prepísat","btnReplaceAll":"Prepísat všetko","btnUndo":"Späť","changeTo":"Zmeniť na","errorLoading":"Chyba pri načítaní slovníka z adresy: %s.","ieSpellDownload":"Kontrola pravopisu nie je naištalovaná. Chcete ju teraz stiahnuť?","manyChanges":"Kontrola pravopisu dokončená: Bolo zmenených %1 slov","noChanges":"Kontrola pravopisu dokončená: Neboli zmenené žiadne slová","noMispell":"Kontrola pravopisu dokončená: Neboli nájdené žiadne chyby pravopisu","noSuggestions":"- Žiadny návrh -","notAvailable":"Prepáčte, ale služba je momentálne nedostupná.","notInDic":"Nie je v slovníku","oneChange":"Kontrola pravopisu dokončená: Bolo zmenené jedno slovo","progress":"Prebieha kontrola pravopisu...","title":"Skontrolovať pravopis","toolbar":"Kontrola pravopisu"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/sk.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fr.js =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fr.js (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fr.js (revision 7) @@ -0,0 +1,5 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.lang['fr']={"editor":"Éditeur de texte enrichi","editorPanel":"Tableau de bord de l'éditeur de texte enrichi","common":{"editorHelp":"Utilisez le raccourci Alt-0 pour obtenir de l'aide","browseServer":"Parcourir le serveur","url":"URL","protocol":"Protocole","upload":"Télécharger","uploadSubmit":"Envoyer sur le serveur","image":"Image","flash":"Flash","form":"Formulaire","checkbox":"Case à cocher","radio":"Bouton radio","textField":"Champ texte","textarea":"Zone de texte","hiddenField":"Champ invisible","button":"Bouton","select":"Liste déroulante","imageButton":"Bouton avec image","notSet":"<indéfini>","id":"ID","name":"Nom","langDir":"Sens d'écriture","langDirLtr":"Gauche à droite (LTR)","langDirRtl":"Droite à gauche (RTL)","langCode":"Code de langue","longDescr":"URL de description longue","cssClass":"Classes de style","advisoryTitle":"Infobulle","cssStyle":"Style","ok":"OK","cancel":"Annuler","close":"Fermer","preview":"Aperçu","resize":"Redimensionner","generalTab":"Général","advancedTab":"Avancé","validateNumberFailed":"Cette valeur n'est pas un nombre.","confirmNewPage":"Les changements non sauvegardés seront perdus. Êtes-vous sûr de vouloir charger une nouvelle page ?","confirmCancel":"Certaines options ont été modifiées. Êtes-vous sûr de vouloir fermer ?","options":"Options","target":"Cible","targetNew":"Nouvelle fenêtre (_blank)","targetTop":"Fenêtre supérieure (_top)","targetSelf":"Même fenêtre (_self)","targetParent":"Fenêtre parent (_parent)","langDirLTR":"Gauche à droite (LTR)","langDirRTL":"Droite à gauche (RTL)","styles":"Style","cssClasses":"Classes de style","width":"Largeur","height":"Hauteur","align":"Alignement","left":"Gauche","right":"Droite","center":"Centrer","justify":"Justifier","alignLeft":"Aligner à gauche","alignRight":"Aligner à droite","alignCenter":"Align Center","alignTop":"Haut","alignMiddle":"Milieu","alignBottom":"Bas","alignNone":"Aucun","invalidValue":"Valeur invalide.","invalidHeight":"La hauteur doit être un nombre.","invalidWidth":"La largeur doit être un nombre.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"La valeur spécifiée pour le champ « %1 » doit être un nombre positif avec ou sans unité de mesure CSS valide (px, %, in, cm, mm, em, ex, pt, ou pc).","invalidHtmlLength":"La valeur spécifiée pour le champ « %1 » doit être un nombre positif avec ou sans unité de mesure HTML valide (px ou %).","invalidInlineStyle":"La valeur spécifiée pour le style en ligne doit être composée d'un ou plusieurs couples au format « nom : valeur », séparés par des points-virgules.","cssLengthTooltip":"Entrer un nombre pour une valeur en pixels ou un nombre avec une unité de mesure CSS valide (px, %, in, cm, mm, em, ex, pt, ou pc).","unavailable":"%1<span class=\"cke_accessibility\">, indisponible</span>","keyboard":{"8":"Retour arrière","13":"Entrée","16":"Majuscule","17":"Ctrl","18":"Alt","32":"Espace","35":"Fin","36":"Origine","46":"Supprimer","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Commande"},"keyboardShortcut":"Raccourci clavier","optionDefault":"Par défaut"},"about":{"copy":"Copyright &copy; $1. Tous droits réservés.","dlgTitle":"À propos de CKEditor 4","moreInfo":"Pour les informations de licence, veuillez visiter notre site web :"},"basicstyles":{"bold":"Gras","italic":"Italique","strike":"Barré","subscript":"Indice","superscript":"Exposant","underline":"Souligné"},"bidi":{"ltr":"Direction du texte de la gauche vers la droite","rtl":"Direction du texte de la droite vers la gauche"},"blockquote":{"toolbar":"Citation"},"notification":{"closed":"Notification fermée."},"button":{"selectedLabel":"%1 (Sélectionné)"},"toolbar":{"toolbarCollapse":"Enrouler la barre d'outils","toolbarExpand":"Dérouler la barre d'outils","toolbarGroups":{"document":"Document","clipboard":"Presse-papier/Défaire","editing":"Édition","forms":"Formulaires","basicstyles":"Styles de base","paragraph":"Paragraphe","links":"Liens","insert":"Insérer","styles":"Styles","colors":"Couleurs","tools":"Outils"},"toolbars":"Barres d'outils de l'éditeur"},"clipboard":{"copy":"Copier","copyError":"Les paramètres de sécurité de votre navigateur n'autorisent pas l'éditeur à exécuter automatiquement l'opération « Copier ». Veuillez utiliser le raccourci clavier à cet effet (Ctrl/Cmd+C).","cut":"Couper","cutError":"Les paramètres de sécurité de votre navigateur n'autorisent pas l'éditeur à exécuter automatiquement l'opération « Couper ». Veuillez utiliser le raccourci clavier à cet effet (Ctrl/Cmd+X).","paste":"Coller","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Coller la zone","pasteMsg":"Paste your content inside the area below and press OK.","title":"Coller"},"colorbutton":{"auto":"Automatique","bgColorTitle":"Couleur d'arrière-plan","colors":{"000":"Noir","800000":"Marron","8B4513":"Brun de selle","2F4F4F":"Gris sombre d'ardoise","008080":"Canard","000080":"Bleu marine","4B0082":"Indigo","696969":"Gris foncé","B22222":"Rouge brique","A52A2A":"Brun","DAA520":"Or terni","006400":"Vert foncé","40E0D0":"Turquoise","0000CD":"Bleu royal","800080":"Violet","808080":"Gris","F00":"Rouge","FF8C00":"Orange foncé","FFD700":"Or","008000":"Vert","0FF":"Cyan","00F":"Bleu","EE82EE":"Violet","A9A9A9":"Gris tamisé","FFA07A":"Saumon clair","FFA500":"Orange","FFFF00":"Jaune","00FF00":"Lime","AFEEEE":"Turquoise clair","ADD8E6":"Bleu clair","DDA0DD":"Prune","D3D3D3":"Gris clair","FFF0F5":"Fard lavande","FAEBD7":"Blanc antique","FFFFE0":"Jaune clair","F0FFF0":"Vert rosée","F0FFFF":"Azur","F0F8FF":"Bleu Alice","E6E6FA":"Lavande","FFF":"Blanc","1ABC9C":"Cyan dur","2ECC71":"Émeraude","3498DB":"Bleu brillant","9B59B6":"Améthyste","4E5F70":"Bleu-gris","F1C40F":"Jaune vif","16A085":"Cyan foncé","27AE60":"Émeraude foncée","2980B9":"Bleu dur","8E44AD":"Violet foncé","2C3E50":"Bleu désaturé","F39C12":"Orange","E67E22":"Carotte","E74C3C":"Rouge pâle","ECF0F1":"Argent brillant","95A5A6":"Cyan-gris clair","DDD":"Gris clair","D35400":"Citrouille","C0392B":"Rouge dur","BDC3C7":"Argent","7F8C8D":"Cyan-gris","999":"Gris foncé"},"more":"Plus de couleurs...","panelTitle":"Couleurs","textColorTitle":"Couleur du texte"},"colordialog":{"clear":"Effacer","highlight":"Pointée","options":"Options de couleur","selected":"Couleur choisie","title":"Sélectionner une couleur"},"templates":{"button":"Modèles","emptyListMsg":"(Aucun modèle disponible)","insertOption":"Remplacer le contenu actuel","options":"Options des modèles","selectPromptMsg":"Veuillez sélectionner le modèle à ouvrir dans l'éditeur","title":"Contenu des modèles"},"contextmenu":{"options":"Options du menu contextuel"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"Infobulle","cssClassInputLabel":"Classes de style","edit":"Modifier la division","inlineStyleInputLabel":"Style en ligne","langDirLTRLabel":"Gauche à droite (LTR)","langDirLabel":"Sens d'écriture","langDirRTLLabel":"Droite à gauche (RTL)","languageCodeInputLabel":"Code de langue","remove":"Enlever la division","styleSelectLabel":"Style","title":"Créer une division","toolbar":"Créer une division"},"elementspath":{"eleLabel":"Chemin des éléments","eleTitle":"Élément %1"},"filetools":{"loadError":"Une erreur est survenue lors de la lecture du fichier.","networkError":"Une erreur réseau est survenue lors du téléversement du fichier.","httpError404":"Une erreur HTTP est survenue durant le téléversement du fichier (404 : fichier non trouvé).","httpError403":"Une erreur HTTP est survenue durant le téléversement du fichier (403 : accès refusé).","httpError":"Une erreur HTTP est survenue durant le téléversement du fichier (erreur : %1).","noUrlError":"L'URL de téléversement n'est pas spécifiée.","responseError":"Réponse du serveur incorrecte."},"find":{"find":"Rechercher","findOptions":"Options de recherche","findWhat":"Rechercher :","matchCase":"Respecter la casse","matchCyclic":"Boucler","matchWord":"Mot entier uniquement","notFoundMsg":"Le texte spécifié ne peut être trouvé.","replace":"Remplacer","replaceAll":"Remplacer tout","replaceSuccessMsg":"%1 occurrence(s) remplacée(s).","replaceWith":"Remplacer par : ","title":"Rechercher et remplacer"},"fakeobjects":{"anchor":"Ancre","flash":"Animation Flash","hiddenfield":"Champ invisible","iframe":"Cadre de contenu incorporé","unknown":"Objet inconnu"},"flash":{"access":"Accès aux scripts","accessAlways":"Toujours","accessNever":"Jamais","accessSameDomain":"Même domaine","alignAbsBottom":"Bas absolu","alignAbsMiddle":"Milieu absolu","alignBaseline":"Ligne de base","alignTextTop":"Haut du texte","bgcolor":"Couleur d'arrière-plan","chkFull":"Permettre le plein écran","chkLoop":"Boucle","chkMenu":"Activer le menu Flash","chkPlay":"Lire automatiquement","flashvars":"Variables Flash","hSpace":"Espacement horizontal","properties":"Propriétés du Flash","propertiesTab":"Propriétés","quality":"Qualité","qualityAutoHigh":"Haute automatique","qualityAutoLow":"Basse automatique","qualityBest":"Maximale","qualityHigh":"Haute","qualityLow":"Basse","qualityMedium":"Moyenne","scale":"Échelle","scaleAll":"Afficher tout","scaleFit":"Adaptation automatique","scaleNoBorder":"Aucune bordure","title":"Propriétés du Flash","vSpace":"Espacement vertical","validateHSpace":"L'espacement horizontal doit être un nombre.","validateSrc":"L'URL doit être indiquée.","validateVSpace":"L'espacement vertical doit être un nombre.","windowMode":"Mode fenêtre","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Fenêtre"},"font":{"fontSize":{"label":"Taille","voiceLabel":"Taille de police","panelTitle":"Taille de police"},"label":"Police","panelTitle":"Style de police","voiceLabel":"Police"},"forms":{"button":{"title":"Propriétés du bouton","text":"Texte","type":"Type","typeBtn":"Bouton","typeSbm":"Validation","typeRst":"Remise à zéro"},"checkboxAndRadio":{"checkboxTitle":"Propriétés de la case à cocher","radioTitle":"Propriétés du bouton radio","value":"Valeur","selected":"Sélectionné","required":"Requis"},"form":{"title":"Propriétés du formulaire","menu":"Propriétés du formulaire","action":"Action","method":"Méthode","encoding":"Encodage"},"hidden":{"title":"Propriétés du champ invisible","name":"Nom","value":"Valeur"},"select":{"title":"Propriétés du menu déroulant","selectInfo":"Informations sur le menu déroulant","opAvail":"Options disponibles","value":"Valeur","size":"Taille","lines":"lignes","chkMulti":"Permettre les sélections multiples","required":"Requis","opText":"Texte","opValue":"Valeur","btnAdd":"Ajouter","btnModify":"Modifier","btnUp":"Haut","btnDown":"Bas","btnSetValue":"Définir comme valeur sélectionnée","btnDelete":"Supprimer"},"textarea":{"title":"Propriétés de la zone de texte","cols":"Colonnes","rows":"Lignes"},"textfield":{"title":"Propriétés du champ texte","name":"Nom","value":"Valeur","charWidth":"Largeur des caractères","maxChars":"Nombre maximum de caractères","required":"Requis","type":"Type","typeText":"Texte","typePass":"Mot de passe","typeEmail":"Courriel","typeSearch":"Rechercher","typeTel":"Numéro de téléphone","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Format de paragraphe","tag_address":"Adresse","tag_div":"Division","tag_h1":"Titre 1","tag_h2":"Titre 2","tag_h3":"Titre 3","tag_h4":"Titre 4","tag_h5":"Titre 5","tag_h6":"Titre 6","tag_p":"Normal","tag_pre":"Préformaté"},"horizontalrule":{"toolbar":"Ligne horizontale"},"iframe":{"border":"Afficher la bordure du cadre","noUrl":"Veuillez entrer l'URL du contenu du cadre","scrolling":"Activer les barres de défilement","title":"Propriétés du cadre de contenu incorporé","toolbar":"Cadre de contenu incorporé"},"image":{"alt":"Texte alternatif","border":"Bordure","btnUpload":"Envoyer sur le serveur","button2Img":"Voulez-vous transformer le bouton avec image sélectionné en simple image ?","hSpace":"Espacement horizontal","img2Button":"Voulez-vous transformer l'image sélectionnée en bouton avec image ?","infoTab":"Informations sur l'image","linkTab":"Lien","lockRatio":"Conserver les proportions","menu":"Propriétés de l'image","resetSize":"Réinitialiser la taille","title":"Propriétés de l'image","titleButton":"Propriétés du bouton avec image","upload":"Téléverser","urlMissing":"L'URL source de l'image est manquante.","vSpace":"Espacement vertical","validateBorder":"La bordure doit être un nombre entier.","validateHSpace":"L'espacement horizontal doit être un nombre entier.","validateVSpace":"L'espacement vertical doit être un nombre entier."},"indent":{"indent":"Augmenter le retrait","outdent":"Diminuer le retrait"},"smiley":{"options":"Options des frimousses","title":"Insérer une frimousse","toolbar":"Frimousse"},"language":{"button":"Définir la langue","remove":"Supprimer la langue"},"link":{"acccessKey":"Touche d'accessibilité","advanced":"Avancé","advisoryContentType":"Type de contenu (indicatif)","advisoryTitle":"Infobulle","anchor":{"toolbar":"Ancre","menu":"Modifier l'ancre","title":"Propriétés de l'ancre","name":"Nom de l'ancre","errorName":"Veuillez entrer le nom de l'ancre.","remove":"Supprimer l'ancre"},"anchorId":"Par ID d'élément","anchorName":"Par nom d'ancre","charset":"Encodage de la ressource liée","cssClasses":"Classes de style","download":"Forcer le téléchargement","displayText":"Afficher le texte","emailAddress":"Adresse électronique","emailBody":"Corps du message","emailSubject":"Sujet du message","id":"ID","info":"Informations sur le lien","langCode":"Code de langue","langDir":"Sens d'écriture","langDirLTR":"Gauche à droite","langDirRTL":"Droite à gauche (RTL)","menu":"Modifier le lien","name":"Nom","noAnchors":"(Aucune ancre disponible dans ce document)","noEmail":"Veuillez entrer l'adresse électronique","noUrl":"Veuillez entrer l'URL du lien","other":"<autre>","popupDependent":"Dépendante (Netscape)","popupFeatures":"Caractéristiques de la fenêtre surgissante","popupFullScreen":"Plein écran (IE)","popupLeft":"À gauche","popupLocationBar":"Barre d'adresse","popupMenuBar":"Barre de menu","popupResizable":"Redimensionnable","popupScrollBars":"Barres de défilement","popupStatusBar":"Barre d'état","popupToolbar":"Barre d'outils","popupTop":"En haut","rel":"Relation","selectAnchor":"Sélectionner une ancre","styles":"Style","tabIndex":"Indice de tabulation","target":"Cible","targetFrame":"<cadre>","targetFrameName":"Nom du cadre affecté","targetPopup":"<fenêtre surgissante>","targetPopupName":"Nom de la fenêtre surgissante","title":"Lien","toAnchor":"Ancre","toEmail":"Courriel","toUrl":"URL","toolbar":"Lien","type":"Type de lien","unlink":"Supprimer le lien","upload":"Téléverser"},"list":{"bulletedlist":"Insérer/Supprimer une liste à puces","numberedlist":"Insérer/Supprimer une liste numérotée"},"liststyle":{"armenian":"Numération arménienne","bulletedTitle":"Propriétés de la liste à puces","circle":"Cercle","decimal":"Décimal (1, 2, 3, etc.)","decimalLeadingZero":"Décimal précédé par un 0 (01, 02, 03, etc.)","disc":"Disque","georgian":"Numération géorgienne (an, ban, gan, etc.)","lowerAlpha":"Lettres minuscules (a, b, c, d, e, etc.)","lowerGreek":"Grec minuscule (alpha, bêta, gamma, etc.)","lowerRoman":"Chiffres romains minuscules (i, ii, iii, iv, v, etc.)","none":"Aucun","notset":"<indéfini>","numberedTitle":"Propriétés de la liste numérotée","square":"Carré","start":"Début","type":"Type","upperAlpha":"Lettres majuscules (A, B, C, D, E, etc.)","upperRoman":"Chiffres romains majuscules (I, II, III, IV, V, etc.)","validateStartNumber":"Le premier élément de la liste doit être un nombre entier."},"magicline":{"title":"Insérer un paragraphe ici"},"maximize":{"maximize":"Agrandir","minimize":"Réduire"},"newpage":{"toolbar":"Nouvelle page"},"pagebreak":{"alt":"Saut de page","toolbar":"Insérer un saut de page pour l'impression"},"pastetext":{"button":"Coller comme texte brut","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Coller comme texte brut"},"pastefromword":{"confirmCleanup":"Le texte à coller semble provenir de Word. Désirez-vous le nettoyer avant de coller ?","error":"Les données collées n'ont pas pu être nettoyées à cause d'une erreur interne","title":"Coller depuis Word","toolbar":"Coller depuis Word"},"preview":{"preview":"Aperçu"},"print":{"toolbar":"Imprimer"},"removeformat":{"toolbar":"Supprimer la mise en forme"},"save":{"toolbar":"Enregistrer"},"selectall":{"toolbar":"Tout sélectionner"},"showblocks":{"toolbar":"Afficher les blocs"},"sourcearea":{"toolbar":"Source"},"specialchar":{"options":"Options des caractères spéciaux","title":"Sélectionner un caractère","toolbar":"Insérer un caractère spécial"},"scayt":{"btn_about":"A propos de SCAYT","btn_dictionaries":"Dictionnaires","btn_disable":"Désactiver SCAYT","btn_enable":"Activer SCAYT","btn_langs":"Langues","btn_options":"Options","text_title":"Vérification de l'Orthographe en Cours de Frappe (SCAYT)"},"stylescombo":{"label":"Styles","panelTitle":"Styles de mise en forme","panelTitle1":"Styles de bloc","panelTitle2":"Styles en ligne","panelTitle3":"Styles d'objet"},"table":{"border":"Taille de la bordure","caption":"Titre du tableau","cell":{"menu":"Cellule","insertBefore":"Insérer une cellule avant","insertAfter":"Insérer une cellule après","deleteCell":"Supprimer les cellules","merge":"Fusionner les cellules","mergeRight":"Fusionner vers la droite","mergeDown":"Fusionner vers le bas","splitHorizontal":"Scinder la cellule horizontalement","splitVertical":"Scinder la cellule verticalement","title":"Propriétés de la cellule","cellType":"Type de cellule","rowSpan":"Lignes occupées","colSpan":"Colonnes occupées","wordWrap":"Césure","hAlign":"Alignement horizontal","vAlign":"Alignement vertical","alignBaseline":"Ligne de base","bgColor":"Couleur d'arrière-plan","borderColor":"Couleur de bordure","data":"Données","header":"En-tête","yes":"Oui","no":"Non","invalidWidth":"La largeur de la cellule doit être un nombre.","invalidHeight":"La hauteur de la cellule doit être un nombre.","invalidRowSpan":"Le nombre de colonnes occupées doit être un nombre entier.","invalidColSpan":"Le nombre de colonnes occupées doit être un nombre entier.","chooseColor":"Choisir"},"cellPad":"Marge interne des cellules","cellSpace":"Espacement entre les cellules","column":{"menu":"Colonne","insertBefore":"Insérer une colonne avant","insertAfter":"Insérer une colonne après","deleteColumn":"Supprimer les colonnes"},"columns":"Colonnes","deleteTable":"Supprimer le tableau","headers":"En-têtes","headersBoth":"Les deux","headersColumn":"Première colonne","headersNone":"Aucun","headersRow":"Première ligne","invalidBorder":"La taille de la bordure doit être un nombre.","invalidCellPadding":"La marge interne des cellules doit être un nombre positif.","invalidCellSpacing":"L'espacement entre les cellules doit être un nombre positif.","invalidCols":"Le nombre de colonnes doit être supérieur à 0.","invalidHeight":"La hauteur du tableau doit être un nombre.","invalidRows":"Le nombre de lignes doit être supérieur à 0.","invalidWidth":"La largeur du tableau doit être un nombre.","menu":"Propriétés du tableau","row":{"menu":"Ligne","insertBefore":"Insérer une ligne avant","insertAfter":"Insérer une ligne après","deleteRow":"Supprimer les lignes"},"rows":"Lignes","summary":"Résumé (description)","title":"Propriétés du tableau","toolbar":"Tableau","widthPc":"pour cent","widthPx":"pixels","widthUnit":"unité de largeur"},"undo":{"redo":"Rétablir","undo":"Annuler"},"widget":{"move":"Cliquer et glisser pour déplacer","label":"Élément %1"},"uploadwidget":{"abort":"Téléversement interrompu par l'utilisateur.","doneOne":"Fichier téléversé avec succès.","doneMany":"%1 fichiers téléversés avec succès.","uploadOne":"Téléversement du fichier en cours ({percentage} %)…","uploadMany":"Téléversement des fichiers en cours, {current} sur {max} effectués ({percentage} %)…"},"wsc":{"btnIgnore":"Ignorer","btnIgnoreAll":"Ignorer tout","btnReplace":"Remplacer","btnReplaceAll":"Remplacer tout","btnUndo":"Annuler","changeTo":"Modifier pour","errorLoading":"Erreur du chargement du service depuis l'hôte : %s.","ieSpellDownload":"La vérification d'orthographe n'est pas installée. Voulez-vous la télécharger maintenant?","manyChanges":"Vérification de l'orthographe terminée : %1 mots corrigés.","noChanges":"Vérification de l'orthographe terminée : Aucun mot corrigé.","noMispell":"Vérification de l'orthographe terminée : aucune erreur trouvée.","noSuggestions":"- Aucune suggestion -","notAvailable":"Désolé, le service est indisponible actuellement.","notInDic":"N'existe pas dans le dictionnaire.","oneChange":"Vérification de l'orthographe terminée : Un seul mot corrigé.","progress":"Vérification de l'orthographe en cours...","title":"Vérifier l'orthographe","toolbar":"Vérifier l'orthographe"}}; \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/lang/fr.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/contents.css =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/contents.css (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/contents.css (revision 7) @@ -0,0 +1,207 @@ +/* +Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license +*/ + +body +{ + /* Font */ + font-family: sans-serif, Arial, Verdana, "Trebuchet MS"; + font-size: 12px; + + /* Text color */ + color: #333; + + /* Remove the background color to make it transparent */ + background-color: #fff; + + margin: 20px; +} + +.cke_editable +{ + font-size: 13px; + line-height: 1.6; + + /* Fix for missing scrollbars with RTL texts. (#10488) */ + word-wrap: break-word; +} + +blockquote +{ + font-style: italic; + font-family: Georgia, Times, "Times New Roman", serif; + padding: 2px 0; + border-style: solid; + border-color: #ccc; + border-width: 0; +} + +.cke_contents_ltr blockquote +{ + padding-left: 20px; + padding-right: 8px; + border-left-width: 5px; +} + +.cke_contents_rtl blockquote +{ + padding-left: 8px; + padding-right: 20px; + border-right-width: 5px; +} + +a +{ + color: #0782C1; +} + +ol,ul,dl +{ + /* IE7: reset rtl list margin. (#7334) */ + *margin-right: 0px; + /* preserved spaces for list items with text direction other than the list. (#6249,#8049)*/ + padding: 0 40px; +} + +h1,h2,h3,h4,h5,h6 +{ + font-weight: normal; + line-height: 1.2; +} + +hr +{ + border: 0px; + border-top: 1px solid #ccc; +} + +img.right +{ + border: 1px solid #ccc; + float: right; + margin-left: 15px; + padding: 5px; +} + +img.left +{ + border: 1px solid #ccc; + float: left; + margin-right: 15px; + padding: 5px; +} + +pre +{ + white-space: pre-wrap; /* CSS 2.1 */ + word-wrap: break-word; /* IE7 */ + -moz-tab-size: 4; + tab-size: 4; +} + +.marker +{ + background-color: Yellow; +} + +span[lang] +{ + font-style: italic; +} + +figure +{ + text-align: center; + outline: solid 1px #ccc; + background: rgba(0,0,0,0.05); + padding: 10px; + margin: 10px 20px; + display: inline-block; +} + +figure > figcaption +{ + text-align: center; + display: block; /* For IE8 */ +} + +a > img { + padding: 1px; + margin: 1px; + border: none; + outline: 1px solid #0782C1; +} + +/* Widget Styles */ +.code-featured +{ + border: 5px solid red; +} + +.math-featured +{ + padding: 20px; + box-shadow: 0 0 2px rgba(200, 0, 0, 1); + background-color: rgba(255, 0, 0, 0.05); + margin: 10px; +} + +.image-clean +{ + border: 0; + background: none; + padding: 0; +} + +.image-clean > figcaption +{ + font-size: .9em; + text-align: right; +} + +.image-grayscale +{ + background-color: white; + color: #666; +} + +.image-grayscale img, img.image-grayscale +{ + filter: grayscale(100%); +} + +.embed-240p +{ + max-width: 426px; + max-height: 240px; + margin:0 auto; +} + +.embed-360p +{ + max-width: 640px; + max-height: 360px; + margin:0 auto; +} + +.embed-480p +{ + max-width: 854px; + max-height: 480px; + margin:0 auto; +} + +.embed-720p +{ + max-width: 1280px; + max-height: 720px; + margin:0 auto; +} + +.embed-1080p +{ + max-width: 1920px; + max-height: 1080px; + margin:0 auto; +} Property changes on: base3.10/src/main/webapp/html/egovframework/com/cmm/utl/ckeditor/contents.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/html/egovframework/com/sym/mnu/mcm/ROLE_ADMIN_SiteMap.jsp =================================================================== --- base3.10/src/main/webapp/html/egovframework/com/sym/mnu/mcm/ROLE_ADMIN_SiteMap.jsp (nonexistent) +++ base3.10/src/main/webapp/html/egovframework/com/sym/mnu/mcm/ROLE_ADMIN_SiteMap.jsp (revision 7) @@ -0,0 +1,142 @@ +<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> +<DIV id="main" style="display:"> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 보안관리</b></font><br> +<div id='div1000000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sec/ram/EgovAuthorList.do');>― 권한관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sec/gmt/EgovGroupList.do');>― 그룹관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sec/rgm/EgovAuthorGroupList.do');>― 권한그룹관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sec/rmt/EgovRoleList.do');>― 롤관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sec/drm/EgovDeptAuthorList.do');>― 부서권한관리</a></font><br> +</div> +<br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 사용자지원</b></font><br> +<div id='div2000000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 메뉴관리</b></font><br> +<div id='div2010000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/mnu/mpm/EgovMenuManageSelect.do');>― 메뉴목록관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/mnu/mpm/EgovMenuListSelect.do');>― 메뉴리스트</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/mnu/mcm/EgovMenuCreatManageSelect.do');>― 메뉴생성관리</a></font><br> +</div> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 프로그램관리</b></font><br> +<div id='div2020000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/prm/EgovProgramListManageSelect.do');>― 프로그램목록관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/prm/EgovProgramChangeRequstSelect.do');>― 프로그램변경관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/prm/EgovProgramChangeRequstProcessListSelect.do');>― 프로그램변경요청</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/prm/EgovProgramChgHstListSelect.do');>― 프로그램변경이력</a></font><br> +</div> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 사용자관리</b></font><br> +<div id='div2030000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/umt/EgovUserManage.do');>― 업무사용자관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/umt/EgovMberManage.do');>― 일반회원관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/umt/EgovEntrprsMberManage.do');>― 기업회원관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/umt/EgovStplatCnfirmMber.do');>― 일반회원가입처리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/umt/EgovStplatCnfirmEntrprs.do');>― 기업회원가입처리</a></font><br> +</div> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/olp/mgt/EgovMeetingManageList.do');>― 회의관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 설문관리</b></font><br> +<div id='div2050000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/olp/qtm/EgovQustnrTmplatManageList.do');>― 설문템플릿관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/olp/qmc/EgovQustnrManageList.do');>― 설문지관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/olp/qqm/EgovQustnrQestnManageList.do');>― 설문문항관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/olp/qim/EgovQustnrItemManageList.do');>― 설문항목관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/olp/qri/EgovQustnrRespondInfoList.do');>― 설문조사(응답결과)관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/olp/qnn/EgovQustnrRespondInfoManageList.do');>― 설문참여</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/olp/qrm/EgovQustnrRespondManageList.do');>― 설문응답자정보관리</a></font><br> +</div> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/sam/stp/StplatListInqire.do');>― 약관관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/sam/cpy/CpyrhtPrtcPolicyListInqire.do');>― 저작권보호정책관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 상담관리</b></font><br> +<div id='div2080000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/olp/cns/CnsltListInqire.do');>― 상담목록조회</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/olp/cnm/CnsltAnswerListInqire.do');>― 상담답변목록조회</a></font><br> +</div> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/olh/hpc/HpcmListInqire.do');>― 도움말관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/olh/wor/WordDicaryListInqire.do');>― 용어사전관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/olh/faq/FaqListInqire.do');>― FAQ관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ Q&A관리</b></font><br> +<div id='div2120000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/olh/qna/QnaListInqire.do');>― Q&A목록조회</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/olh/qnm/QnaAnswerListInqire.do');>― Q&A답변목록조회</a></font><br> +</div> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/ion/nws/NewsInfoListInqire.do');>― 뉴스관리</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 사이트관리</b></font><br> +<div id='div2210000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/ion/sit/SiteListInqire.do');>― 사이트목록조회</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/EgovPageLink.do?link=/egovframework/com/sym/mnu/stm/EgovSiteMap');>― 사이트맵</a></font><br> +</div> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/ion/rec/RecomendSiteListInqire.do');>― 추천사이트관리</a></font><br> +</div> +<br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 사용자인증</b></font><br> +<div id='div3000000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uat/uia/egovLoginUsr.do');>― 로그인</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uat/uia/egovIdPasswordSearch.do');>― ID/PW찾기</a></font><br> +</div> +<br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 시스템관리</b></font><br> +<div id='div4000000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 로그조회</b></font><br> +<div id='div4010000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/log/lgm/SelectSysLogList.do');>― 시스템로그조회</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/log/tlg/SelectTrsmrcvLogList.do');>― 송수신로그조회</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/log/ulg/SelectUserLogList.do');>― 사용로그조회</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/log/slg/SelectSysHistoryList.do');>― 시스템이력조회</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/log/wlg/SelectWebLogList.do');>― 웹로그조회</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/log/clg/SelectLoginLogList.do');>― 접속로그조회</a></font><br> +</div> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/ccm/ccc/EgovCcmCmmnClCodeList.do');>― 공통분류코드목록</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do');>― 공통상세코드목록</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/ccm/cca/EgovCcmCmmnCodeList.do');>― 공통코드목록</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/ccm/zip/EgovCcmZipList.do');>― 우편번호목록</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/ccm/adc/EgovCcmAdministCodeList.do');>― 행정코드목록</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sym/cal/EgovRestdeList.do');>― 휴일목록</a></font><br> +</div> +<br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 협업</b></font><br> +<div id='div5000000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 게시판</b></font><br> +<div id='div5010000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/cop/bbs/SelectBBSMasterInfs.do');>― 게시판목록조회</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/cop/com/selectBBSUseInfs.do');>― 게시판 사용정보 조회</a></font><br> +</div> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 커뮤니티/동호회</b></font><br> +<div id='div5020000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/cop/cmy/selectCmmntyInfs.do');>― 커뮤니티목록조회</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/cop/clb/selectClubInfs.do');>― 동호회목록조회</a></font><br> +</div> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 공통관리</b></font><br> +<div id='div5030000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/cop/tpl/selectTemplateInfs.do');>― 템플릿 목록조회</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/cop/com/selectConfirmRequest.do');>― 승인정보조회</a></font><br> +</div> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 명함관리</b></font><br> +<div id='div5040000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/cop/ncm/selectNcrdInfs.do');>― 명함목록조회</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/cop/ncm/addNcrdInf.do');>― 명함등록</a></font><br> +</div> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 행사/이벤트/캠페인</b></font><br> +<div id='div5050000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/ion/ecc/EgovEventCmpgnList.do');>― 행사/이벤트/캠페인 조회</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/uss/ion/ecc/EgovTnextrlHrInfoList.do');>― 외부인사정보 조회</a></font><br> +</div> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 자료실 예시</b></font><br> +<div id='div5060000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/selectBoardList.do?bbsId=BBSMSTR_000000000061');>― 자료실</a></font><br> +</div> +</div> +<br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 통계/리포팅</b></font><br> +<div id='div6000000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sts/bst/selectBbsStats.do');>― 게시물통계</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sts/ust/selectUserStats.do');>― 사용자통계</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sts/bst/selectScrinStats.do');>― 화면통계</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/sts/cst/selectConectStats.do');>― 접속통계</a></font><br> +</div> +<br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' >+<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2><b>▶ 전자우편연계</b></font><br> +<div id='div7000000'> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/cop/ems/selectSndngMailList.do');>― 발송메일내역</a></font><br> +<img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><img src="<c:url value='/images/egovframework/com/cmm/utl/menu_empty.gif'/>" border='0' align='absbottom' alt='' ><font size=2 class='.location'><a href=javascript:fCallUrl('/cop/ems/insertSndngMailView.do');>― 발송메일등록</a></font><br> +</div> +</DIV> \ No newline at end of file Property changes on: base3.10/src/main/webapp/html/egovframework/com/sym/mnu/mcm/ROLE_ADMIN_SiteMap.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/index.jsp =================================================================== --- base3.10/src/main/webapp/index.jsp (nonexistent) +++ base3.10/src/main/webapp/index.jsp (revision 7) @@ -0,0 +1,2 @@ +<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> +<jsp:forward page="/index.do"/> \ No newline at end of file Property changes on: base3.10/src/main/webapp/index.jsp ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/font-awesome/scss/_core.scss =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/scss/_core.scss (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/scss/_core.scss (revision 7) @@ -0,0 +1,12 @@ +// Base Class Definition +// ------------------------- + +.#{$fa-css-prefix} { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} Index: base3.10/src/main/webapp/resource/font-awesome/scss/_fixed-width.scss =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/scss/_fixed-width.scss (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/scss/_fixed-width.scss (revision 7) @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.#{$fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} Index: base3.10/src/main/webapp/resource/font-awesome/scss/_list.scss =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/scss/_list.scss (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/scss/_list.scss (revision 7) @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.#{$fa-css-prefix}-ul { + padding-left: 0; + margin-left: $fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.#{$fa-css-prefix}-li { + position: absolute; + left: -$fa-li-width; + width: $fa-li-width; + top: (2em / 14); + text-align: center; + &.#{$fa-css-prefix}-lg { + left: -$fa-li-width + (4em / 14); + } +} Index: base3.10/src/main/webapp/resource/font-awesome/scss/_icons.scss =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/scss/_icons.scss (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/scss/_icons.scss (revision 7) @@ -0,0 +1,789 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +.#{$fa-css-prefix}-glass:before { content: $fa-var-glass; } +.#{$fa-css-prefix}-music:before { content: $fa-var-music; } +.#{$fa-css-prefix}-search:before { content: $fa-var-search; } +.#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; } +.#{$fa-css-prefix}-heart:before { content: $fa-var-heart; } +.#{$fa-css-prefix}-star:before { content: $fa-var-star; } +.#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; } +.#{$fa-css-prefix}-user:before { content: $fa-var-user; } +.#{$fa-css-prefix}-film:before { content: $fa-var-film; } +.#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; } +.#{$fa-css-prefix}-th:before { content: $fa-var-th; } +.#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; } +.#{$fa-css-prefix}-check:before { content: $fa-var-check; } +.#{$fa-css-prefix}-remove:before, +.#{$fa-css-prefix}-close:before, +.#{$fa-css-prefix}-times:before { content: $fa-var-times; } +.#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; } +.#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; } +.#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; } +.#{$fa-css-prefix}-signal:before { content: $fa-var-signal; } +.#{$fa-css-prefix}-gear:before, +.#{$fa-css-prefix}-cog:before { content: $fa-var-cog; } +.#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; } +.#{$fa-css-prefix}-home:before { content: $fa-var-home; } +.#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; } +.#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; } +.#{$fa-css-prefix}-road:before { content: $fa-var-road; } +.#{$fa-css-prefix}-download:before { content: $fa-var-download; } +.#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; } +.#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; } +.#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; } +.#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; } +.#{$fa-css-prefix}-rotate-right:before, +.#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; } +.#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; } +.#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; } +.#{$fa-css-prefix}-lock:before { content: $fa-var-lock; } +.#{$fa-css-prefix}-flag:before { content: $fa-var-flag; } +.#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; } +.#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; } +.#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; } +.#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; } +.#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; } +.#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; } +.#{$fa-css-prefix}-tag:before { content: $fa-var-tag; } +.#{$fa-css-prefix}-tags:before { content: $fa-var-tags; } +.#{$fa-css-prefix}-book:before { content: $fa-var-book; } +.#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; } +.#{$fa-css-prefix}-print:before { content: $fa-var-print; } +.#{$fa-css-prefix}-camera:before { content: $fa-var-camera; } +.#{$fa-css-prefix}-font:before { content: $fa-var-font; } +.#{$fa-css-prefix}-bold:before { content: $fa-var-bold; } +.#{$fa-css-prefix}-italic:before { content: $fa-var-italic; } +.#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; } +.#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; } +.#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; } +.#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; } +.#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; } +.#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; } +.#{$fa-css-prefix}-list:before { content: $fa-var-list; } +.#{$fa-css-prefix}-dedent:before, +.#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; } +.#{$fa-css-prefix}-indent:before { content: $fa-var-indent; } +.#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; } +.#{$fa-css-prefix}-photo:before, +.#{$fa-css-prefix}-image:before, +.#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; } +.#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; } +.#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; } +.#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; } +.#{$fa-css-prefix}-tint:before { content: $fa-var-tint; } +.#{$fa-css-prefix}-edit:before, +.#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; } +.#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; } +.#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; } +.#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; } +.#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; } +.#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; } +.#{$fa-css-prefix}-backward:before { content: $fa-var-backward; } +.#{$fa-css-prefix}-play:before { content: $fa-var-play; } +.#{$fa-css-prefix}-pause:before { content: $fa-var-pause; } +.#{$fa-css-prefix}-stop:before { content: $fa-var-stop; } +.#{$fa-css-prefix}-forward:before { content: $fa-var-forward; } +.#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; } +.#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; } +.#{$fa-css-prefix}-eject:before { content: $fa-var-eject; } +.#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; } +.#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; } +.#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; } +.#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; } +.#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; } +.#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; } +.#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; } +.#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; } +.#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; } +.#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; } +.#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; } +.#{$fa-css-prefix}-ban:before { content: $fa-var-ban; } +.#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; } +.#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; } +.#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; } +.#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; } +.#{$fa-css-prefix}-mail-forward:before, +.#{$fa-css-prefix}-share:before { content: $fa-var-share; } +.#{$fa-css-prefix}-expand:before { content: $fa-var-expand; } +.#{$fa-css-prefix}-compress:before { content: $fa-var-compress; } +.#{$fa-css-prefix}-plus:before { content: $fa-var-plus; } +.#{$fa-css-prefix}-minus:before { content: $fa-var-minus; } +.#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; } +.#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; } +.#{$fa-css-prefix}-gift:before { content: $fa-var-gift; } +.#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; } +.#{$fa-css-prefix}-fire:before { content: $fa-var-fire; } +.#{$fa-css-prefix}-eye:before { content: $fa-var-eye; } +.#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; } +.#{$fa-css-prefix}-warning:before, +.#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; } +.#{$fa-css-prefix}-plane:before { content: $fa-var-plane; } +.#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; } +.#{$fa-css-prefix}-random:before { content: $fa-var-random; } +.#{$fa-css-prefix}-comment:before { content: $fa-var-comment; } +.#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; } +.#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; } +.#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; } +.#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; } +.#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; } +.#{$fa-css-prefix}-folder:before { content: $fa-var-folder; } +.#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; } +.#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; } +.#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; } +.#{$fa-css-prefix}-bar-chart-o:before, +.#{$fa-css-prefix}-bar-chart:before { content: $fa-var-bar-chart; } +.#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; } +.#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; } +.#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; } +.#{$fa-css-prefix}-key:before { content: $fa-var-key; } +.#{$fa-css-prefix}-gears:before, +.#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; } +.#{$fa-css-prefix}-comments:before { content: $fa-var-comments; } +.#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; } +.#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; } +.#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; } +.#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; } +.#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; } +.#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; } +.#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; } +.#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; } +.#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; } +.#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; } +.#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; } +.#{$fa-css-prefix}-upload:before { content: $fa-var-upload; } +.#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; } +.#{$fa-css-prefix}-phone:before { content: $fa-var-phone; } +.#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; } +.#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; } +.#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; } +.#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; } +.#{$fa-css-prefix}-facebook-f:before, +.#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; } +.#{$fa-css-prefix}-github:before { content: $fa-var-github; } +.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; } +.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; } +.#{$fa-css-prefix}-feed:before, +.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; } +.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; } +.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; } +.#{$fa-css-prefix}-bell:before { content: $fa-var-bell; } +.#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; } +.#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; } +.#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; } +.#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; } +.#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; } +.#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; } +.#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; } +.#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; } +.#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; } +.#{$fa-css-prefix}-globe:before { content: $fa-var-globe; } +.#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; } +.#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; } +.#{$fa-css-prefix}-filter:before { content: $fa-var-filter; } +.#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; } +.#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; } +.#{$fa-css-prefix}-group:before, +.#{$fa-css-prefix}-users:before { content: $fa-var-users; } +.#{$fa-css-prefix}-chain:before, +.#{$fa-css-prefix}-link:before { content: $fa-var-link; } +.#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; } +.#{$fa-css-prefix}-flask:before { content: $fa-var-flask; } +.#{$fa-css-prefix}-cut:before, +.#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; } +.#{$fa-css-prefix}-copy:before, +.#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; } +.#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; } +.#{$fa-css-prefix}-save:before, +.#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; } +.#{$fa-css-prefix}-square:before { content: $fa-var-square; } +.#{$fa-css-prefix}-navicon:before, +.#{$fa-css-prefix}-reorder:before, +.#{$fa-css-prefix}-bars:before { content: $fa-var-bars; } +.#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; } +.#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; } +.#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; } +.#{$fa-css-prefix}-underline:before { content: $fa-var-underline; } +.#{$fa-css-prefix}-table:before { content: $fa-var-table; } +.#{$fa-css-prefix}-magic:before { content: $fa-var-magic; } +.#{$fa-css-prefix}-truck:before { content: $fa-var-truck; } +.#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; } +.#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; } +.#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; } +.#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; } +.#{$fa-css-prefix}-money:before { content: $fa-var-money; } +.#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; } +.#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; } +.#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; } +.#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; } +.#{$fa-css-prefix}-columns:before { content: $fa-var-columns; } +.#{$fa-css-prefix}-unsorted:before, +.#{$fa-css-prefix}-sort:before { content: $fa-var-sort; } +.#{$fa-css-prefix}-sort-down:before, +.#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; } +.#{$fa-css-prefix}-sort-up:before, +.#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; } +.#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; } +.#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; } +.#{$fa-css-prefix}-rotate-left:before, +.#{$fa-css-prefix}-undo:before { content: $fa-var-undo; } +.#{$fa-css-prefix}-legal:before, +.#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; } +.#{$fa-css-prefix}-dashboard:before, +.#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; } +.#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; } +.#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; } +.#{$fa-css-prefix}-flash:before, +.#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; } +.#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; } +.#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; } +.#{$fa-css-prefix}-paste:before, +.#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; } +.#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; } +.#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; } +.#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; } +.#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; } +.#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; } +.#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; } +.#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; } +.#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; } +.#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; } +.#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; } +.#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; } +.#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; } +.#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; } +.#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; } +.#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; } +.#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; } +.#{$fa-css-prefix}-beer:before { content: $fa-var-beer; } +.#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; } +.#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; } +.#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; } +.#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; } +.#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; } +.#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; } +.#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; } +.#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; } +.#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; } +.#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; } +.#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; } +.#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; } +.#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; } +.#{$fa-css-prefix}-mobile-phone:before, +.#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; } +.#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; } +.#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; } +.#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; } +.#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; } +.#{$fa-css-prefix}-circle:before { content: $fa-var-circle; } +.#{$fa-css-prefix}-mail-reply:before, +.#{$fa-css-prefix}-reply:before { content: $fa-var-reply; } +.#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; } +.#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; } +.#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; } +.#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; } +.#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; } +.#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; } +.#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; } +.#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; } +.#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; } +.#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; } +.#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; } +.#{$fa-css-prefix}-code:before { content: $fa-var-code; } +.#{$fa-css-prefix}-mail-reply-all:before, +.#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; } +.#{$fa-css-prefix}-star-half-empty:before, +.#{$fa-css-prefix}-star-half-full:before, +.#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; } +.#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; } +.#{$fa-css-prefix}-crop:before { content: $fa-var-crop; } +.#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; } +.#{$fa-css-prefix}-unlink:before, +.#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; } +.#{$fa-css-prefix}-question:before { content: $fa-var-question; } +.#{$fa-css-prefix}-info:before { content: $fa-var-info; } +.#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; } +.#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; } +.#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; } +.#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; } +.#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; } +.#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; } +.#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; } +.#{$fa-css-prefix}-shield:before { content: $fa-var-shield; } +.#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; } +.#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; } +.#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; } +.#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; } +.#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; } +.#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; } +.#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; } +.#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; } +.#{$fa-css-prefix}-html5:before { content: $fa-var-html5; } +.#{$fa-css-prefix}-css3:before { content: $fa-var-css3; } +.#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; } +.#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; } +.#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; } +.#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; } +.#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; } +.#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; } +.#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; } +.#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; } +.#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; } +.#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; } +.#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; } +.#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; } +.#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; } +.#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; } +.#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; } +.#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; } +.#{$fa-css-prefix}-compass:before { content: $fa-var-compass; } +.#{$fa-css-prefix}-toggle-down:before, +.#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; } +.#{$fa-css-prefix}-toggle-up:before, +.#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; } +.#{$fa-css-prefix}-toggle-right:before, +.#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; } +.#{$fa-css-prefix}-euro:before, +.#{$fa-css-prefix}-eur:before { content: $fa-var-eur; } +.#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; } +.#{$fa-css-prefix}-dollar:before, +.#{$fa-css-prefix}-usd:before { content: $fa-var-usd; } +.#{$fa-css-prefix}-rupee:before, +.#{$fa-css-prefix}-inr:before { content: $fa-var-inr; } +.#{$fa-css-prefix}-cny:before, +.#{$fa-css-prefix}-rmb:before, +.#{$fa-css-prefix}-yen:before, +.#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; } +.#{$fa-css-prefix}-ruble:before, +.#{$fa-css-prefix}-rouble:before, +.#{$fa-css-prefix}-rub:before { content: $fa-var-rub; } +.#{$fa-css-prefix}-won:before, +.#{$fa-css-prefix}-krw:before { content: $fa-var-krw; } +.#{$fa-css-prefix}-bitcoin:before, +.#{$fa-css-prefix}-btc:before { content: $fa-var-btc; } +.#{$fa-css-prefix}-file:before { content: $fa-var-file; } +.#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; } +.#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; } +.#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; } +.#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; } +.#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; } +.#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; } +.#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; } +.#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; } +.#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; } +.#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; } +.#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; } +.#{$fa-css-prefix}-xing:before { content: $fa-var-xing; } +.#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; } +.#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; } +.#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; } +.#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; } +.#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; } +.#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; } +.#{$fa-css-prefix}-adn:before { content: $fa-var-adn; } +.#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; } +.#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; } +.#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; } +.#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; } +.#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; } +.#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; } +.#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; } +.#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; } +.#{$fa-css-prefix}-apple:before { content: $fa-var-apple; } +.#{$fa-css-prefix}-windows:before { content: $fa-var-windows; } +.#{$fa-css-prefix}-android:before { content: $fa-var-android; } +.#{$fa-css-prefix}-linux:before { content: $fa-var-linux; } +.#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; } +.#{$fa-css-prefix}-skype:before { content: $fa-var-skype; } +.#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; } +.#{$fa-css-prefix}-trello:before { content: $fa-var-trello; } +.#{$fa-css-prefix}-female:before { content: $fa-var-female; } +.#{$fa-css-prefix}-male:before { content: $fa-var-male; } +.#{$fa-css-prefix}-gittip:before, +.#{$fa-css-prefix}-gratipay:before { content: $fa-var-gratipay; } +.#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; } +.#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; } +.#{$fa-css-prefix}-archive:before { content: $fa-var-archive; } +.#{$fa-css-prefix}-bug:before { content: $fa-var-bug; } +.#{$fa-css-prefix}-vk:before { content: $fa-var-vk; } +.#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; } +.#{$fa-css-prefix}-renren:before { content: $fa-var-renren; } +.#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; } +.#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; } +.#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; } +.#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; } +.#{$fa-css-prefix}-toggle-left:before, +.#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; } +.#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; } +.#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; } +.#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; } +.#{$fa-css-prefix}-turkish-lira:before, +.#{$fa-css-prefix}-try:before { content: $fa-var-try; } +.#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; } +.#{$fa-css-prefix}-space-shuttle:before { content: $fa-var-space-shuttle; } +.#{$fa-css-prefix}-slack:before { content: $fa-var-slack; } +.#{$fa-css-prefix}-envelope-square:before { content: $fa-var-envelope-square; } +.#{$fa-css-prefix}-wordpress:before { content: $fa-var-wordpress; } +.#{$fa-css-prefix}-openid:before { content: $fa-var-openid; } +.#{$fa-css-prefix}-institution:before, +.#{$fa-css-prefix}-bank:before, +.#{$fa-css-prefix}-university:before { content: $fa-var-university; } +.#{$fa-css-prefix}-mortar-board:before, +.#{$fa-css-prefix}-graduation-cap:before { content: $fa-var-graduation-cap; } +.#{$fa-css-prefix}-yahoo:before { content: $fa-var-yahoo; } +.#{$fa-css-prefix}-google:before { content: $fa-var-google; } +.#{$fa-css-prefix}-reddit:before { content: $fa-var-reddit; } +.#{$fa-css-prefix}-reddit-square:before { content: $fa-var-reddit-square; } +.#{$fa-css-prefix}-stumbleupon-circle:before { content: $fa-var-stumbleupon-circle; } +.#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; } +.#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; } +.#{$fa-css-prefix}-digg:before { content: $fa-var-digg; } +.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; } +.#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; } +.#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; } +.#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; } +.#{$fa-css-prefix}-language:before { content: $fa-var-language; } +.#{$fa-css-prefix}-fax:before { content: $fa-var-fax; } +.#{$fa-css-prefix}-building:before { content: $fa-var-building; } +.#{$fa-css-prefix}-child:before { content: $fa-var-child; } +.#{$fa-css-prefix}-paw:before { content: $fa-var-paw; } +.#{$fa-css-prefix}-spoon:before { content: $fa-var-spoon; } +.#{$fa-css-prefix}-cube:before { content: $fa-var-cube; } +.#{$fa-css-prefix}-cubes:before { content: $fa-var-cubes; } +.#{$fa-css-prefix}-behance:before { content: $fa-var-behance; } +.#{$fa-css-prefix}-behance-square:before { content: $fa-var-behance-square; } +.#{$fa-css-prefix}-steam:before { content: $fa-var-steam; } +.#{$fa-css-prefix}-steam-square:before { content: $fa-var-steam-square; } +.#{$fa-css-prefix}-recycle:before { content: $fa-var-recycle; } +.#{$fa-css-prefix}-automobile:before, +.#{$fa-css-prefix}-car:before { content: $fa-var-car; } +.#{$fa-css-prefix}-cab:before, +.#{$fa-css-prefix}-taxi:before { content: $fa-var-taxi; } +.#{$fa-css-prefix}-tree:before { content: $fa-var-tree; } +.#{$fa-css-prefix}-spotify:before { content: $fa-var-spotify; } +.#{$fa-css-prefix}-deviantart:before { content: $fa-var-deviantart; } +.#{$fa-css-prefix}-soundcloud:before { content: $fa-var-soundcloud; } +.#{$fa-css-prefix}-database:before { content: $fa-var-database; } +.#{$fa-css-prefix}-file-pdf-o:before { content: $fa-var-file-pdf-o; } +.#{$fa-css-prefix}-file-word-o:before { content: $fa-var-file-word-o; } +.#{$fa-css-prefix}-file-excel-o:before { content: $fa-var-file-excel-o; } +.#{$fa-css-prefix}-file-powerpoint-o:before { content: $fa-var-file-powerpoint-o; } +.#{$fa-css-prefix}-file-photo-o:before, +.#{$fa-css-prefix}-file-picture-o:before, +.#{$fa-css-prefix}-file-image-o:before { content: $fa-var-file-image-o; } +.#{$fa-css-prefix}-file-zip-o:before, +.#{$fa-css-prefix}-file-archive-o:before { content: $fa-var-file-archive-o; } +.#{$fa-css-prefix}-file-sound-o:before, +.#{$fa-css-prefix}-file-audio-o:before { content: $fa-var-file-audio-o; } +.#{$fa-css-prefix}-file-movie-o:before, +.#{$fa-css-prefix}-file-video-o:before { content: $fa-var-file-video-o; } +.#{$fa-css-prefix}-file-code-o:before { content: $fa-var-file-code-o; } +.#{$fa-css-prefix}-vine:before { content: $fa-var-vine; } +.#{$fa-css-prefix}-codepen:before { content: $fa-var-codepen; } +.#{$fa-css-prefix}-jsfiddle:before { content: $fa-var-jsfiddle; } +.#{$fa-css-prefix}-life-bouy:before, +.#{$fa-css-prefix}-life-buoy:before, +.#{$fa-css-prefix}-life-saver:before, +.#{$fa-css-prefix}-support:before, +.#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; } +.#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; } +.#{$fa-css-prefix}-ra:before, +.#{$fa-css-prefix}-resistance:before, +.#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; } +.#{$fa-css-prefix}-ge:before, +.#{$fa-css-prefix}-empire:before { content: $fa-var-empire; } +.#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; } +.#{$fa-css-prefix}-git:before { content: $fa-var-git; } +.#{$fa-css-prefix}-y-combinator-square:before, +.#{$fa-css-prefix}-yc-square:before, +.#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; } +.#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; } +.#{$fa-css-prefix}-qq:before { content: $fa-var-qq; } +.#{$fa-css-prefix}-wechat:before, +.#{$fa-css-prefix}-weixin:before { content: $fa-var-weixin; } +.#{$fa-css-prefix}-send:before, +.#{$fa-css-prefix}-paper-plane:before { content: $fa-var-paper-plane; } +.#{$fa-css-prefix}-send-o:before, +.#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; } +.#{$fa-css-prefix}-history:before { content: $fa-var-history; } +.#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; } +.#{$fa-css-prefix}-header:before { content: $fa-var-header; } +.#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; } +.#{$fa-css-prefix}-sliders:before { content: $fa-var-sliders; } +.#{$fa-css-prefix}-share-alt:before { content: $fa-var-share-alt; } +.#{$fa-css-prefix}-share-alt-square:before { content: $fa-var-share-alt-square; } +.#{$fa-css-prefix}-bomb:before { content: $fa-var-bomb; } +.#{$fa-css-prefix}-soccer-ball-o:before, +.#{$fa-css-prefix}-futbol-o:before { content: $fa-var-futbol-o; } +.#{$fa-css-prefix}-tty:before { content: $fa-var-tty; } +.#{$fa-css-prefix}-binoculars:before { content: $fa-var-binoculars; } +.#{$fa-css-prefix}-plug:before { content: $fa-var-plug; } +.#{$fa-css-prefix}-slideshare:before { content: $fa-var-slideshare; } +.#{$fa-css-prefix}-twitch:before { content: $fa-var-twitch; } +.#{$fa-css-prefix}-yelp:before { content: $fa-var-yelp; } +.#{$fa-css-prefix}-newspaper-o:before { content: $fa-var-newspaper-o; } +.#{$fa-css-prefix}-wifi:before { content: $fa-var-wifi; } +.#{$fa-css-prefix}-calculator:before { content: $fa-var-calculator; } +.#{$fa-css-prefix}-paypal:before { content: $fa-var-paypal; } +.#{$fa-css-prefix}-google-wallet:before { content: $fa-var-google-wallet; } +.#{$fa-css-prefix}-cc-visa:before { content: $fa-var-cc-visa; } +.#{$fa-css-prefix}-cc-mastercard:before { content: $fa-var-cc-mastercard; } +.#{$fa-css-prefix}-cc-discover:before { content: $fa-var-cc-discover; } +.#{$fa-css-prefix}-cc-amex:before { content: $fa-var-cc-amex; } +.#{$fa-css-prefix}-cc-paypal:before { content: $fa-var-cc-paypal; } +.#{$fa-css-prefix}-cc-stripe:before { content: $fa-var-cc-stripe; } +.#{$fa-css-prefix}-bell-slash:before { content: $fa-var-bell-slash; } +.#{$fa-css-prefix}-bell-slash-o:before { content: $fa-var-bell-slash-o; } +.#{$fa-css-prefix}-trash:before { content: $fa-var-trash; } +.#{$fa-css-prefix}-copyright:before { content: $fa-var-copyright; } +.#{$fa-css-prefix}-at:before { content: $fa-var-at; } +.#{$fa-css-prefix}-eyedropper:before { content: $fa-var-eyedropper; } +.#{$fa-css-prefix}-paint-brush:before { content: $fa-var-paint-brush; } +.#{$fa-css-prefix}-birthday-cake:before { content: $fa-var-birthday-cake; } +.#{$fa-css-prefix}-area-chart:before { content: $fa-var-area-chart; } +.#{$fa-css-prefix}-pie-chart:before { content: $fa-var-pie-chart; } +.#{$fa-css-prefix}-line-chart:before { content: $fa-var-line-chart; } +.#{$fa-css-prefix}-lastfm:before { content: $fa-var-lastfm; } +.#{$fa-css-prefix}-lastfm-square:before { content: $fa-var-lastfm-square; } +.#{$fa-css-prefix}-toggle-off:before { content: $fa-var-toggle-off; } +.#{$fa-css-prefix}-toggle-on:before { content: $fa-var-toggle-on; } +.#{$fa-css-prefix}-bicycle:before { content: $fa-var-bicycle; } +.#{$fa-css-prefix}-bus:before { content: $fa-var-bus; } +.#{$fa-css-prefix}-ioxhost:before { content: $fa-var-ioxhost; } +.#{$fa-css-prefix}-angellist:before { content: $fa-var-angellist; } +.#{$fa-css-prefix}-cc:before { content: $fa-var-cc; } +.#{$fa-css-prefix}-shekel:before, +.#{$fa-css-prefix}-sheqel:before, +.#{$fa-css-prefix}-ils:before { content: $fa-var-ils; } +.#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; } +.#{$fa-css-prefix}-buysellads:before { content: $fa-var-buysellads; } +.#{$fa-css-prefix}-connectdevelop:before { content: $fa-var-connectdevelop; } +.#{$fa-css-prefix}-dashcube:before { content: $fa-var-dashcube; } +.#{$fa-css-prefix}-forumbee:before { content: $fa-var-forumbee; } +.#{$fa-css-prefix}-leanpub:before { content: $fa-var-leanpub; } +.#{$fa-css-prefix}-sellsy:before { content: $fa-var-sellsy; } +.#{$fa-css-prefix}-shirtsinbulk:before { content: $fa-var-shirtsinbulk; } +.#{$fa-css-prefix}-simplybuilt:before { content: $fa-var-simplybuilt; } +.#{$fa-css-prefix}-skyatlas:before { content: $fa-var-skyatlas; } +.#{$fa-css-prefix}-cart-plus:before { content: $fa-var-cart-plus; } +.#{$fa-css-prefix}-cart-arrow-down:before { content: $fa-var-cart-arrow-down; } +.#{$fa-css-prefix}-diamond:before { content: $fa-var-diamond; } +.#{$fa-css-prefix}-ship:before { content: $fa-var-ship; } +.#{$fa-css-prefix}-user-secret:before { content: $fa-var-user-secret; } +.#{$fa-css-prefix}-motorcycle:before { content: $fa-var-motorcycle; } +.#{$fa-css-prefix}-street-view:before { content: $fa-var-street-view; } +.#{$fa-css-prefix}-heartbeat:before { content: $fa-var-heartbeat; } +.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; } +.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; } +.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; } +.#{$fa-css-prefix}-intersex:before, +.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; } +.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; } +.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; } +.#{$fa-css-prefix}-mars-double:before { content: $fa-var-mars-double; } +.#{$fa-css-prefix}-venus-mars:before { content: $fa-var-venus-mars; } +.#{$fa-css-prefix}-mars-stroke:before { content: $fa-var-mars-stroke; } +.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; } +.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; } +.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; } +.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; } +.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; } +.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; } +.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; } +.#{$fa-css-prefix}-server:before { content: $fa-var-server; } +.#{$fa-css-prefix}-user-plus:before { content: $fa-var-user-plus; } +.#{$fa-css-prefix}-user-times:before { content: $fa-var-user-times; } +.#{$fa-css-prefix}-hotel:before, +.#{$fa-css-prefix}-bed:before { content: $fa-var-bed; } +.#{$fa-css-prefix}-viacoin:before { content: $fa-var-viacoin; } +.#{$fa-css-prefix}-train:before { content: $fa-var-train; } +.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; } +.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; } +.#{$fa-css-prefix}-yc:before, +.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; } +.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; } +.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; } +.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; } +.#{$fa-css-prefix}-battery-4:before, +.#{$fa-css-prefix}-battery:before, +.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; } +.#{$fa-css-prefix}-battery-3:before, +.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; } +.#{$fa-css-prefix}-battery-2:before, +.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; } +.#{$fa-css-prefix}-battery-1:before, +.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; } +.#{$fa-css-prefix}-battery-0:before, +.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; } +.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; } +.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; } +.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; } +.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; } +.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; } +.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; } +.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; } +.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; } +.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; } +.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; } +.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; } +.#{$fa-css-prefix}-hourglass-1:before, +.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; } +.#{$fa-css-prefix}-hourglass-2:before, +.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; } +.#{$fa-css-prefix}-hourglass-3:before, +.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; } +.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; } +.#{$fa-css-prefix}-hand-grab-o:before, +.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; } +.#{$fa-css-prefix}-hand-stop-o:before, +.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; } +.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; } +.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; } +.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; } +.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; } +.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; } +.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; } +.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; } +.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; } +.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; } +.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; } +.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; } +.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; } +.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; } +.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; } +.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; } +.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; } +.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; } +.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; } +.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; } +.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; } +.#{$fa-css-prefix}-tv:before, +.#{$fa-css-prefix}-television:before { content: $fa-var-television; } +.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; } +.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; } +.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; } +.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; } +.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; } +.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; } +.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; } +.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; } +.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; } +.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; } +.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; } +.#{$fa-css-prefix}-map:before { content: $fa-var-map; } +.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; } +.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; } +.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; } +.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; } +.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; } +.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; } +.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; } +.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; } +.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; } +.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; } +.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; } +.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; } +.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; } +.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; } +.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; } +.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; } +.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; } +.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; } +.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; } +.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; } +.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; } +.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; } +.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; } +.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; } +.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; } +.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; } +.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; } +.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; } +.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; } +.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; } +.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; } +.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; } +.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; } +.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; } +.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; } +.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; } +.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; } +.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; } +.#{$fa-css-prefix}-asl-interpreting:before, +.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; } +.#{$fa-css-prefix}-deafness:before, +.#{$fa-css-prefix}-hard-of-hearing:before, +.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; } +.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; } +.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; } +.#{$fa-css-prefix}-signing:before, +.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; } +.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; } +.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; } +.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; } +.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; } +.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; } +.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; } +.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; } +.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; } +.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; } +.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; } +.#{$fa-css-prefix}-google-plus-circle:before, +.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; } +.#{$fa-css-prefix}-fa:before, +.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; } +.#{$fa-css-prefix}-handshake-o:before { content: $fa-var-handshake-o; } +.#{$fa-css-prefix}-envelope-open:before { content: $fa-var-envelope-open; } +.#{$fa-css-prefix}-envelope-open-o:before { content: $fa-var-envelope-open-o; } +.#{$fa-css-prefix}-linode:before { content: $fa-var-linode; } +.#{$fa-css-prefix}-address-book:before { content: $fa-var-address-book; } +.#{$fa-css-prefix}-address-book-o:before { content: $fa-var-address-book-o; } +.#{$fa-css-prefix}-vcard:before, +.#{$fa-css-prefix}-address-card:before { content: $fa-var-address-card; } +.#{$fa-css-prefix}-vcard-o:before, +.#{$fa-css-prefix}-address-card-o:before { content: $fa-var-address-card-o; } +.#{$fa-css-prefix}-user-circle:before { content: $fa-var-user-circle; } +.#{$fa-css-prefix}-user-circle-o:before { content: $fa-var-user-circle-o; } +.#{$fa-css-prefix}-user-o:before { content: $fa-var-user-o; } +.#{$fa-css-prefix}-id-badge:before { content: $fa-var-id-badge; } +.#{$fa-css-prefix}-drivers-license:before, +.#{$fa-css-prefix}-id-card:before { content: $fa-var-id-card; } +.#{$fa-css-prefix}-drivers-license-o:before, +.#{$fa-css-prefix}-id-card-o:before { content: $fa-var-id-card-o; } +.#{$fa-css-prefix}-quora:before { content: $fa-var-quora; } +.#{$fa-css-prefix}-free-code-camp:before { content: $fa-var-free-code-camp; } +.#{$fa-css-prefix}-telegram:before { content: $fa-var-telegram; } +.#{$fa-css-prefix}-thermometer-4:before, +.#{$fa-css-prefix}-thermometer:before, +.#{$fa-css-prefix}-thermometer-full:before { content: $fa-var-thermometer-full; } +.#{$fa-css-prefix}-thermometer-3:before, +.#{$fa-css-prefix}-thermometer-three-quarters:before { content: $fa-var-thermometer-three-quarters; } +.#{$fa-css-prefix}-thermometer-2:before, +.#{$fa-css-prefix}-thermometer-half:before { content: $fa-var-thermometer-half; } +.#{$fa-css-prefix}-thermometer-1:before, +.#{$fa-css-prefix}-thermometer-quarter:before { content: $fa-var-thermometer-quarter; } +.#{$fa-css-prefix}-thermometer-0:before, +.#{$fa-css-prefix}-thermometer-empty:before { content: $fa-var-thermometer-empty; } +.#{$fa-css-prefix}-shower:before { content: $fa-var-shower; } +.#{$fa-css-prefix}-bathtub:before, +.#{$fa-css-prefix}-s15:before, +.#{$fa-css-prefix}-bath:before { content: $fa-var-bath; } +.#{$fa-css-prefix}-podcast:before { content: $fa-var-podcast; } +.#{$fa-css-prefix}-window-maximize:before { content: $fa-var-window-maximize; } +.#{$fa-css-prefix}-window-minimize:before { content: $fa-var-window-minimize; } +.#{$fa-css-prefix}-window-restore:before { content: $fa-var-window-restore; } +.#{$fa-css-prefix}-times-rectangle:before, +.#{$fa-css-prefix}-window-close:before { content: $fa-var-window-close; } +.#{$fa-css-prefix}-times-rectangle-o:before, +.#{$fa-css-prefix}-window-close-o:before { content: $fa-var-window-close-o; } +.#{$fa-css-prefix}-bandcamp:before { content: $fa-var-bandcamp; } +.#{$fa-css-prefix}-grav:before { content: $fa-var-grav; } +.#{$fa-css-prefix}-etsy:before { content: $fa-var-etsy; } +.#{$fa-css-prefix}-imdb:before { content: $fa-var-imdb; } +.#{$fa-css-prefix}-ravelry:before { content: $fa-var-ravelry; } +.#{$fa-css-prefix}-eercast:before { content: $fa-var-eercast; } +.#{$fa-css-prefix}-microchip:before { content: $fa-var-microchip; } +.#{$fa-css-prefix}-snowflake-o:before { content: $fa-var-snowflake-o; } +.#{$fa-css-prefix}-superpowers:before { content: $fa-var-superpowers; } +.#{$fa-css-prefix}-wpexplorer:before { content: $fa-var-wpexplorer; } +.#{$fa-css-prefix}-meetup:before { content: $fa-var-meetup; } Index: base3.10/src/main/webapp/resource/font-awesome/scss/_stacked.scss =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/scss/_stacked.scss (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/scss/_stacked.scss (revision 7) @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.#{$fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.#{$fa-css-prefix}-stack-1x { line-height: inherit; } +.#{$fa-css-prefix}-stack-2x { font-size: 2em; } +.#{$fa-css-prefix}-inverse { color: $fa-inverse; } Index: base3.10/src/main/webapp/resource/font-awesome/scss/_variables.scss =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/scss/_variables.scss (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/scss/_variables.scss (revision 7) @@ -0,0 +1,800 @@ +// Variables +// -------------------------- + +$fa-font-path: "../fonts" !default; +$fa-font-size-base: 14px !default; +$fa-line-height-base: 1 !default; +//$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts" !default; // for referencing Bootstrap CDN font files directly +$fa-css-prefix: fa !default; +$fa-version: "4.7.0" !default; +$fa-border-color: #eee !default; +$fa-inverse: #fff !default; +$fa-li-width: (30em / 14) !default; + +$fa-var-500px: "\f26e"; +$fa-var-address-book: "\f2b9"; +$fa-var-address-book-o: "\f2ba"; +$fa-var-address-card: "\f2bb"; +$fa-var-address-card-o: "\f2bc"; +$fa-var-adjust: "\f042"; +$fa-var-adn: "\f170"; +$fa-var-align-center: "\f037"; +$fa-var-align-justify: "\f039"; +$fa-var-align-left: "\f036"; +$fa-var-align-right: "\f038"; +$fa-var-amazon: "\f270"; +$fa-var-ambulance: "\f0f9"; +$fa-var-american-sign-language-interpreting: "\f2a3"; +$fa-var-anchor: "\f13d"; +$fa-var-android: "\f17b"; +$fa-var-angellist: "\f209"; +$fa-var-angle-double-down: "\f103"; +$fa-var-angle-double-left: "\f100"; +$fa-var-angle-double-right: "\f101"; +$fa-var-angle-double-up: "\f102"; +$fa-var-angle-down: "\f107"; +$fa-var-angle-left: "\f104"; +$fa-var-angle-right: "\f105"; +$fa-var-angle-up: "\f106"; +$fa-var-apple: "\f179"; +$fa-var-archive: "\f187"; +$fa-var-area-chart: "\f1fe"; +$fa-var-arrow-circle-down: "\f0ab"; +$fa-var-arrow-circle-left: "\f0a8"; +$fa-var-arrow-circle-o-down: "\f01a"; +$fa-var-arrow-circle-o-left: "\f190"; +$fa-var-arrow-circle-o-right: "\f18e"; +$fa-var-arrow-circle-o-up: "\f01b"; +$fa-var-arrow-circle-right: "\f0a9"; +$fa-var-arrow-circle-up: "\f0aa"; +$fa-var-arrow-down: "\f063"; +$fa-var-arrow-left: "\f060"; +$fa-var-arrow-right: "\f061"; +$fa-var-arrow-up: "\f062"; +$fa-var-arrows: "\f047"; +$fa-var-arrows-alt: "\f0b2"; +$fa-var-arrows-h: "\f07e"; +$fa-var-arrows-v: "\f07d"; +$fa-var-asl-interpreting: "\f2a3"; +$fa-var-assistive-listening-systems: "\f2a2"; +$fa-var-asterisk: "\f069"; +$fa-var-at: "\f1fa"; +$fa-var-audio-description: "\f29e"; +$fa-var-automobile: "\f1b9"; +$fa-var-backward: "\f04a"; +$fa-var-balance-scale: "\f24e"; +$fa-var-ban: "\f05e"; +$fa-var-bandcamp: "\f2d5"; +$fa-var-bank: "\f19c"; +$fa-var-bar-chart: "\f080"; +$fa-var-bar-chart-o: "\f080"; +$fa-var-barcode: "\f02a"; +$fa-var-bars: "\f0c9"; +$fa-var-bath: "\f2cd"; +$fa-var-bathtub: "\f2cd"; +$fa-var-battery: "\f240"; +$fa-var-battery-0: "\f244"; +$fa-var-battery-1: "\f243"; +$fa-var-battery-2: "\f242"; +$fa-var-battery-3: "\f241"; +$fa-var-battery-4: "\f240"; +$fa-var-battery-empty: "\f244"; +$fa-var-battery-full: "\f240"; +$fa-var-battery-half: "\f242"; +$fa-var-battery-quarter: "\f243"; +$fa-var-battery-three-quarters: "\f241"; +$fa-var-bed: "\f236"; +$fa-var-beer: "\f0fc"; +$fa-var-behance: "\f1b4"; +$fa-var-behance-square: "\f1b5"; +$fa-var-bell: "\f0f3"; +$fa-var-bell-o: "\f0a2"; +$fa-var-bell-slash: "\f1f6"; +$fa-var-bell-slash-o: "\f1f7"; +$fa-var-bicycle: "\f206"; +$fa-var-binoculars: "\f1e5"; +$fa-var-birthday-cake: "\f1fd"; +$fa-var-bitbucket: "\f171"; +$fa-var-bitbucket-square: "\f172"; +$fa-var-bitcoin: "\f15a"; +$fa-var-black-tie: "\f27e"; +$fa-var-blind: "\f29d"; +$fa-var-bluetooth: "\f293"; +$fa-var-bluetooth-b: "\f294"; +$fa-var-bold: "\f032"; +$fa-var-bolt: "\f0e7"; +$fa-var-bomb: "\f1e2"; +$fa-var-book: "\f02d"; +$fa-var-bookmark: "\f02e"; +$fa-var-bookmark-o: "\f097"; +$fa-var-braille: "\f2a1"; +$fa-var-briefcase: "\f0b1"; +$fa-var-btc: "\f15a"; +$fa-var-bug: "\f188"; +$fa-var-building: "\f1ad"; +$fa-var-building-o: "\f0f7"; +$fa-var-bullhorn: "\f0a1"; +$fa-var-bullseye: "\f140"; +$fa-var-bus: "\f207"; +$fa-var-buysellads: "\f20d"; +$fa-var-cab: "\f1ba"; +$fa-var-calculator: "\f1ec"; +$fa-var-calendar: "\f073"; +$fa-var-calendar-check-o: "\f274"; +$fa-var-calendar-minus-o: "\f272"; +$fa-var-calendar-o: "\f133"; +$fa-var-calendar-plus-o: "\f271"; +$fa-var-calendar-times-o: "\f273"; +$fa-var-camera: "\f030"; +$fa-var-camera-retro: "\f083"; +$fa-var-car: "\f1b9"; +$fa-var-caret-down: "\f0d7"; +$fa-var-caret-left: "\f0d9"; +$fa-var-caret-right: "\f0da"; +$fa-var-caret-square-o-down: "\f150"; +$fa-var-caret-square-o-left: "\f191"; +$fa-var-caret-square-o-right: "\f152"; +$fa-var-caret-square-o-up: "\f151"; +$fa-var-caret-up: "\f0d8"; +$fa-var-cart-arrow-down: "\f218"; +$fa-var-cart-plus: "\f217"; +$fa-var-cc: "\f20a"; +$fa-var-cc-amex: "\f1f3"; +$fa-var-cc-diners-club: "\f24c"; +$fa-var-cc-discover: "\f1f2"; +$fa-var-cc-jcb: "\f24b"; +$fa-var-cc-mastercard: "\f1f1"; +$fa-var-cc-paypal: "\f1f4"; +$fa-var-cc-stripe: "\f1f5"; +$fa-var-cc-visa: "\f1f0"; +$fa-var-certificate: "\f0a3"; +$fa-var-chain: "\f0c1"; +$fa-var-chain-broken: "\f127"; +$fa-var-check: "\f00c"; +$fa-var-check-circle: "\f058"; +$fa-var-check-circle-o: "\f05d"; +$fa-var-check-square: "\f14a"; +$fa-var-check-square-o: "\f046"; +$fa-var-chevron-circle-down: "\f13a"; +$fa-var-chevron-circle-left: "\f137"; +$fa-var-chevron-circle-right: "\f138"; +$fa-var-chevron-circle-up: "\f139"; +$fa-var-chevron-down: "\f078"; +$fa-var-chevron-left: "\f053"; +$fa-var-chevron-right: "\f054"; +$fa-var-chevron-up: "\f077"; +$fa-var-child: "\f1ae"; +$fa-var-chrome: "\f268"; +$fa-var-circle: "\f111"; +$fa-var-circle-o: "\f10c"; +$fa-var-circle-o-notch: "\f1ce"; +$fa-var-circle-thin: "\f1db"; +$fa-var-clipboard: "\f0ea"; +$fa-var-clock-o: "\f017"; +$fa-var-clone: "\f24d"; +$fa-var-close: "\f00d"; +$fa-var-cloud: "\f0c2"; +$fa-var-cloud-download: "\f0ed"; +$fa-var-cloud-upload: "\f0ee"; +$fa-var-cny: "\f157"; +$fa-var-code: "\f121"; +$fa-var-code-fork: "\f126"; +$fa-var-codepen: "\f1cb"; +$fa-var-codiepie: "\f284"; +$fa-var-coffee: "\f0f4"; +$fa-var-cog: "\f013"; +$fa-var-cogs: "\f085"; +$fa-var-columns: "\f0db"; +$fa-var-comment: "\f075"; +$fa-var-comment-o: "\f0e5"; +$fa-var-commenting: "\f27a"; +$fa-var-commenting-o: "\f27b"; +$fa-var-comments: "\f086"; +$fa-var-comments-o: "\f0e6"; +$fa-var-compass: "\f14e"; +$fa-var-compress: "\f066"; +$fa-var-connectdevelop: "\f20e"; +$fa-var-contao: "\f26d"; +$fa-var-copy: "\f0c5"; +$fa-var-copyright: "\f1f9"; +$fa-var-creative-commons: "\f25e"; +$fa-var-credit-card: "\f09d"; +$fa-var-credit-card-alt: "\f283"; +$fa-var-crop: "\f125"; +$fa-var-crosshairs: "\f05b"; +$fa-var-css3: "\f13c"; +$fa-var-cube: "\f1b2"; +$fa-var-cubes: "\f1b3"; +$fa-var-cut: "\f0c4"; +$fa-var-cutlery: "\f0f5"; +$fa-var-dashboard: "\f0e4"; +$fa-var-dashcube: "\f210"; +$fa-var-database: "\f1c0"; +$fa-var-deaf: "\f2a4"; +$fa-var-deafness: "\f2a4"; +$fa-var-dedent: "\f03b"; +$fa-var-delicious: "\f1a5"; +$fa-var-desktop: "\f108"; +$fa-var-deviantart: "\f1bd"; +$fa-var-diamond: "\f219"; +$fa-var-digg: "\f1a6"; +$fa-var-dollar: "\f155"; +$fa-var-dot-circle-o: "\f192"; +$fa-var-download: "\f019"; +$fa-var-dribbble: "\f17d"; +$fa-var-drivers-license: "\f2c2"; +$fa-var-drivers-license-o: "\f2c3"; +$fa-var-dropbox: "\f16b"; +$fa-var-drupal: "\f1a9"; +$fa-var-edge: "\f282"; +$fa-var-edit: "\f044"; +$fa-var-eercast: "\f2da"; +$fa-var-eject: "\f052"; +$fa-var-ellipsis-h: "\f141"; +$fa-var-ellipsis-v: "\f142"; +$fa-var-empire: "\f1d1"; +$fa-var-envelope: "\f0e0"; +$fa-var-envelope-o: "\f003"; +$fa-var-envelope-open: "\f2b6"; +$fa-var-envelope-open-o: "\f2b7"; +$fa-var-envelope-square: "\f199"; +$fa-var-envira: "\f299"; +$fa-var-eraser: "\f12d"; +$fa-var-etsy: "\f2d7"; +$fa-var-eur: "\f153"; +$fa-var-euro: "\f153"; +$fa-var-exchange: "\f0ec"; +$fa-var-exclamation: "\f12a"; +$fa-var-exclamation-circle: "\f06a"; +$fa-var-exclamation-triangle: "\f071"; +$fa-var-expand: "\f065"; +$fa-var-expeditedssl: "\f23e"; +$fa-var-external-link: "\f08e"; +$fa-var-external-link-square: "\f14c"; +$fa-var-eye: "\f06e"; +$fa-var-eye-slash: "\f070"; +$fa-var-eyedropper: "\f1fb"; +$fa-var-fa: "\f2b4"; +$fa-var-facebook: "\f09a"; +$fa-var-facebook-f: "\f09a"; +$fa-var-facebook-official: "\f230"; +$fa-var-facebook-square: "\f082"; +$fa-var-fast-backward: "\f049"; +$fa-var-fast-forward: "\f050"; +$fa-var-fax: "\f1ac"; +$fa-var-feed: "\f09e"; +$fa-var-female: "\f182"; +$fa-var-fighter-jet: "\f0fb"; +$fa-var-file: "\f15b"; +$fa-var-file-archive-o: "\f1c6"; +$fa-var-file-audio-o: "\f1c7"; +$fa-var-file-code-o: "\f1c9"; +$fa-var-file-excel-o: "\f1c3"; +$fa-var-file-image-o: "\f1c5"; +$fa-var-file-movie-o: "\f1c8"; +$fa-var-file-o: "\f016"; +$fa-var-file-pdf-o: "\f1c1"; +$fa-var-file-photo-o: "\f1c5"; +$fa-var-file-picture-o: "\f1c5"; +$fa-var-file-powerpoint-o: "\f1c4"; +$fa-var-file-sound-o: "\f1c7"; +$fa-var-file-text: "\f15c"; +$fa-var-file-text-o: "\f0f6"; +$fa-var-file-video-o: "\f1c8"; +$fa-var-file-word-o: "\f1c2"; +$fa-var-file-zip-o: "\f1c6"; +$fa-var-files-o: "\f0c5"; +$fa-var-film: "\f008"; +$fa-var-filter: "\f0b0"; +$fa-var-fire: "\f06d"; +$fa-var-fire-extinguisher: "\f134"; +$fa-var-firefox: "\f269"; +$fa-var-first-order: "\f2b0"; +$fa-var-flag: "\f024"; +$fa-var-flag-checkered: "\f11e"; +$fa-var-flag-o: "\f11d"; +$fa-var-flash: "\f0e7"; +$fa-var-flask: "\f0c3"; +$fa-var-flickr: "\f16e"; +$fa-var-floppy-o: "\f0c7"; +$fa-var-folder: "\f07b"; +$fa-var-folder-o: "\f114"; +$fa-var-folder-open: "\f07c"; +$fa-var-folder-open-o: "\f115"; +$fa-var-font: "\f031"; +$fa-var-font-awesome: "\f2b4"; +$fa-var-fonticons: "\f280"; +$fa-var-fort-awesome: "\f286"; +$fa-var-forumbee: "\f211"; +$fa-var-forward: "\f04e"; +$fa-var-foursquare: "\f180"; +$fa-var-free-code-camp: "\f2c5"; +$fa-var-frown-o: "\f119"; +$fa-var-futbol-o: "\f1e3"; +$fa-var-gamepad: "\f11b"; +$fa-var-gavel: "\f0e3"; +$fa-var-gbp: "\f154"; +$fa-var-ge: "\f1d1"; +$fa-var-gear: "\f013"; +$fa-var-gears: "\f085"; +$fa-var-genderless: "\f22d"; +$fa-var-get-pocket: "\f265"; +$fa-var-gg: "\f260"; +$fa-var-gg-circle: "\f261"; +$fa-var-gift: "\f06b"; +$fa-var-git: "\f1d3"; +$fa-var-git-square: "\f1d2"; +$fa-var-github: "\f09b"; +$fa-var-github-alt: "\f113"; +$fa-var-github-square: "\f092"; +$fa-var-gitlab: "\f296"; +$fa-var-gittip: "\f184"; +$fa-var-glass: "\f000"; +$fa-var-glide: "\f2a5"; +$fa-var-glide-g: "\f2a6"; +$fa-var-globe: "\f0ac"; +$fa-var-google: "\f1a0"; +$fa-var-google-plus: "\f0d5"; +$fa-var-google-plus-circle: "\f2b3"; +$fa-var-google-plus-official: "\f2b3"; +$fa-var-google-plus-square: "\f0d4"; +$fa-var-google-wallet: "\f1ee"; +$fa-var-graduation-cap: "\f19d"; +$fa-var-gratipay: "\f184"; +$fa-var-grav: "\f2d6"; +$fa-var-group: "\f0c0"; +$fa-var-h-square: "\f0fd"; +$fa-var-hacker-news: "\f1d4"; +$fa-var-hand-grab-o: "\f255"; +$fa-var-hand-lizard-o: "\f258"; +$fa-var-hand-o-down: "\f0a7"; +$fa-var-hand-o-left: "\f0a5"; +$fa-var-hand-o-right: "\f0a4"; +$fa-var-hand-o-up: "\f0a6"; +$fa-var-hand-paper-o: "\f256"; +$fa-var-hand-peace-o: "\f25b"; +$fa-var-hand-pointer-o: "\f25a"; +$fa-var-hand-rock-o: "\f255"; +$fa-var-hand-scissors-o: "\f257"; +$fa-var-hand-spock-o: "\f259"; +$fa-var-hand-stop-o: "\f256"; +$fa-var-handshake-o: "\f2b5"; +$fa-var-hard-of-hearing: "\f2a4"; +$fa-var-hashtag: "\f292"; +$fa-var-hdd-o: "\f0a0"; +$fa-var-header: "\f1dc"; +$fa-var-headphones: "\f025"; +$fa-var-heart: "\f004"; +$fa-var-heart-o: "\f08a"; +$fa-var-heartbeat: "\f21e"; +$fa-var-history: "\f1da"; +$fa-var-home: "\f015"; +$fa-var-hospital-o: "\f0f8"; +$fa-var-hotel: "\f236"; +$fa-var-hourglass: "\f254"; +$fa-var-hourglass-1: "\f251"; +$fa-var-hourglass-2: "\f252"; +$fa-var-hourglass-3: "\f253"; +$fa-var-hourglass-end: "\f253"; +$fa-var-hourglass-half: "\f252"; +$fa-var-hourglass-o: "\f250"; +$fa-var-hourglass-start: "\f251"; +$fa-var-houzz: "\f27c"; +$fa-var-html5: "\f13b"; +$fa-var-i-cursor: "\f246"; +$fa-var-id-badge: "\f2c1"; +$fa-var-id-card: "\f2c2"; +$fa-var-id-card-o: "\f2c3"; +$fa-var-ils: "\f20b"; +$fa-var-image: "\f03e"; +$fa-var-imdb: "\f2d8"; +$fa-var-inbox: "\f01c"; +$fa-var-indent: "\f03c"; +$fa-var-industry: "\f275"; +$fa-var-info: "\f129"; +$fa-var-info-circle: "\f05a"; +$fa-var-inr: "\f156"; +$fa-var-instagram: "\f16d"; +$fa-var-institution: "\f19c"; +$fa-var-internet-explorer: "\f26b"; +$fa-var-intersex: "\f224"; +$fa-var-ioxhost: "\f208"; +$fa-var-italic: "\f033"; +$fa-var-joomla: "\f1aa"; +$fa-var-jpy: "\f157"; +$fa-var-jsfiddle: "\f1cc"; +$fa-var-key: "\f084"; +$fa-var-keyboard-o: "\f11c"; +$fa-var-krw: "\f159"; +$fa-var-language: "\f1ab"; +$fa-var-laptop: "\f109"; +$fa-var-lastfm: "\f202"; +$fa-var-lastfm-square: "\f203"; +$fa-var-leaf: "\f06c"; +$fa-var-leanpub: "\f212"; +$fa-var-legal: "\f0e3"; +$fa-var-lemon-o: "\f094"; +$fa-var-level-down: "\f149"; +$fa-var-level-up: "\f148"; +$fa-var-life-bouy: "\f1cd"; +$fa-var-life-buoy: "\f1cd"; +$fa-var-life-ring: "\f1cd"; +$fa-var-life-saver: "\f1cd"; +$fa-var-lightbulb-o: "\f0eb"; +$fa-var-line-chart: "\f201"; +$fa-var-link: "\f0c1"; +$fa-var-linkedin: "\f0e1"; +$fa-var-linkedin-square: "\f08c"; +$fa-var-linode: "\f2b8"; +$fa-var-linux: "\f17c"; +$fa-var-list: "\f03a"; +$fa-var-list-alt: "\f022"; +$fa-var-list-ol: "\f0cb"; +$fa-var-list-ul: "\f0ca"; +$fa-var-location-arrow: "\f124"; +$fa-var-lock: "\f023"; +$fa-var-long-arrow-down: "\f175"; +$fa-var-long-arrow-left: "\f177"; +$fa-var-long-arrow-right: "\f178"; +$fa-var-long-arrow-up: "\f176"; +$fa-var-low-vision: "\f2a8"; +$fa-var-magic: "\f0d0"; +$fa-var-magnet: "\f076"; +$fa-var-mail-forward: "\f064"; +$fa-var-mail-reply: "\f112"; +$fa-var-mail-reply-all: "\f122"; +$fa-var-male: "\f183"; +$fa-var-map: "\f279"; +$fa-var-map-marker: "\f041"; +$fa-var-map-o: "\f278"; +$fa-var-map-pin: "\f276"; +$fa-var-map-signs: "\f277"; +$fa-var-mars: "\f222"; +$fa-var-mars-double: "\f227"; +$fa-var-mars-stroke: "\f229"; +$fa-var-mars-stroke-h: "\f22b"; +$fa-var-mars-stroke-v: "\f22a"; +$fa-var-maxcdn: "\f136"; +$fa-var-meanpath: "\f20c"; +$fa-var-medium: "\f23a"; +$fa-var-medkit: "\f0fa"; +$fa-var-meetup: "\f2e0"; +$fa-var-meh-o: "\f11a"; +$fa-var-mercury: "\f223"; +$fa-var-microchip: "\f2db"; +$fa-var-microphone: "\f130"; +$fa-var-microphone-slash: "\f131"; +$fa-var-minus: "\f068"; +$fa-var-minus-circle: "\f056"; +$fa-var-minus-square: "\f146"; +$fa-var-minus-square-o: "\f147"; +$fa-var-mixcloud: "\f289"; +$fa-var-mobile: "\f10b"; +$fa-var-mobile-phone: "\f10b"; +$fa-var-modx: "\f285"; +$fa-var-money: "\f0d6"; +$fa-var-moon-o: "\f186"; +$fa-var-mortar-board: "\f19d"; +$fa-var-motorcycle: "\f21c"; +$fa-var-mouse-pointer: "\f245"; +$fa-var-music: "\f001"; +$fa-var-navicon: "\f0c9"; +$fa-var-neuter: "\f22c"; +$fa-var-newspaper-o: "\f1ea"; +$fa-var-object-group: "\f247"; +$fa-var-object-ungroup: "\f248"; +$fa-var-odnoklassniki: "\f263"; +$fa-var-odnoklassniki-square: "\f264"; +$fa-var-opencart: "\f23d"; +$fa-var-openid: "\f19b"; +$fa-var-opera: "\f26a"; +$fa-var-optin-monster: "\f23c"; +$fa-var-outdent: "\f03b"; +$fa-var-pagelines: "\f18c"; +$fa-var-paint-brush: "\f1fc"; +$fa-var-paper-plane: "\f1d8"; +$fa-var-paper-plane-o: "\f1d9"; +$fa-var-paperclip: "\f0c6"; +$fa-var-paragraph: "\f1dd"; +$fa-var-paste: "\f0ea"; +$fa-var-pause: "\f04c"; +$fa-var-pause-circle: "\f28b"; +$fa-var-pause-circle-o: "\f28c"; +$fa-var-paw: "\f1b0"; +$fa-var-paypal: "\f1ed"; +$fa-var-pencil: "\f040"; +$fa-var-pencil-square: "\f14b"; +$fa-var-pencil-square-o: "\f044"; +$fa-var-percent: "\f295"; +$fa-var-phone: "\f095"; +$fa-var-phone-square: "\f098"; +$fa-var-photo: "\f03e"; +$fa-var-picture-o: "\f03e"; +$fa-var-pie-chart: "\f200"; +$fa-var-pied-piper: "\f2ae"; +$fa-var-pied-piper-alt: "\f1a8"; +$fa-var-pied-piper-pp: "\f1a7"; +$fa-var-pinterest: "\f0d2"; +$fa-var-pinterest-p: "\f231"; +$fa-var-pinterest-square: "\f0d3"; +$fa-var-plane: "\f072"; +$fa-var-play: "\f04b"; +$fa-var-play-circle: "\f144"; +$fa-var-play-circle-o: "\f01d"; +$fa-var-plug: "\f1e6"; +$fa-var-plus: "\f067"; +$fa-var-plus-circle: "\f055"; +$fa-var-plus-square: "\f0fe"; +$fa-var-plus-square-o: "\f196"; +$fa-var-podcast: "\f2ce"; +$fa-var-power-off: "\f011"; +$fa-var-print: "\f02f"; +$fa-var-product-hunt: "\f288"; +$fa-var-puzzle-piece: "\f12e"; +$fa-var-qq: "\f1d6"; +$fa-var-qrcode: "\f029"; +$fa-var-question: "\f128"; +$fa-var-question-circle: "\f059"; +$fa-var-question-circle-o: "\f29c"; +$fa-var-quora: "\f2c4"; +$fa-var-quote-left: "\f10d"; +$fa-var-quote-right: "\f10e"; +$fa-var-ra: "\f1d0"; +$fa-var-random: "\f074"; +$fa-var-ravelry: "\f2d9"; +$fa-var-rebel: "\f1d0"; +$fa-var-recycle: "\f1b8"; +$fa-var-reddit: "\f1a1"; +$fa-var-reddit-alien: "\f281"; +$fa-var-reddit-square: "\f1a2"; +$fa-var-refresh: "\f021"; +$fa-var-registered: "\f25d"; +$fa-var-remove: "\f00d"; +$fa-var-renren: "\f18b"; +$fa-var-reorder: "\f0c9"; +$fa-var-repeat: "\f01e"; +$fa-var-reply: "\f112"; +$fa-var-reply-all: "\f122"; +$fa-var-resistance: "\f1d0"; +$fa-var-retweet: "\f079"; +$fa-var-rmb: "\f157"; +$fa-var-road: "\f018"; +$fa-var-rocket: "\f135"; +$fa-var-rotate-left: "\f0e2"; +$fa-var-rotate-right: "\f01e"; +$fa-var-rouble: "\f158"; +$fa-var-rss: "\f09e"; +$fa-var-rss-square: "\f143"; +$fa-var-rub: "\f158"; +$fa-var-ruble: "\f158"; +$fa-var-rupee: "\f156"; +$fa-var-s15: "\f2cd"; +$fa-var-safari: "\f267"; +$fa-var-save: "\f0c7"; +$fa-var-scissors: "\f0c4"; +$fa-var-scribd: "\f28a"; +$fa-var-search: "\f002"; +$fa-var-search-minus: "\f010"; +$fa-var-search-plus: "\f00e"; +$fa-var-sellsy: "\f213"; +$fa-var-send: "\f1d8"; +$fa-var-send-o: "\f1d9"; +$fa-var-server: "\f233"; +$fa-var-share: "\f064"; +$fa-var-share-alt: "\f1e0"; +$fa-var-share-alt-square: "\f1e1"; +$fa-var-share-square: "\f14d"; +$fa-var-share-square-o: "\f045"; +$fa-var-shekel: "\f20b"; +$fa-var-sheqel: "\f20b"; +$fa-var-shield: "\f132"; +$fa-var-ship: "\f21a"; +$fa-var-shirtsinbulk: "\f214"; +$fa-var-shopping-bag: "\f290"; +$fa-var-shopping-basket: "\f291"; +$fa-var-shopping-cart: "\f07a"; +$fa-var-shower: "\f2cc"; +$fa-var-sign-in: "\f090"; +$fa-var-sign-language: "\f2a7"; +$fa-var-sign-out: "\f08b"; +$fa-var-signal: "\f012"; +$fa-var-signing: "\f2a7"; +$fa-var-simplybuilt: "\f215"; +$fa-var-sitemap: "\f0e8"; +$fa-var-skyatlas: "\f216"; +$fa-var-skype: "\f17e"; +$fa-var-slack: "\f198"; +$fa-var-sliders: "\f1de"; +$fa-var-slideshare: "\f1e7"; +$fa-var-smile-o: "\f118"; +$fa-var-snapchat: "\f2ab"; +$fa-var-snapchat-ghost: "\f2ac"; +$fa-var-snapchat-square: "\f2ad"; +$fa-var-snowflake-o: "\f2dc"; +$fa-var-soccer-ball-o: "\f1e3"; +$fa-var-sort: "\f0dc"; +$fa-var-sort-alpha-asc: "\f15d"; +$fa-var-sort-alpha-desc: "\f15e"; +$fa-var-sort-amount-asc: "\f160"; +$fa-var-sort-amount-desc: "\f161"; +$fa-var-sort-asc: "\f0de"; +$fa-var-sort-desc: "\f0dd"; +$fa-var-sort-down: "\f0dd"; +$fa-var-sort-numeric-asc: "\f162"; +$fa-var-sort-numeric-desc: "\f163"; +$fa-var-sort-up: "\f0de"; +$fa-var-soundcloud: "\f1be"; +$fa-var-space-shuttle: "\f197"; +$fa-var-spinner: "\f110"; +$fa-var-spoon: "\f1b1"; +$fa-var-spotify: "\f1bc"; +$fa-var-square: "\f0c8"; +$fa-var-square-o: "\f096"; +$fa-var-stack-exchange: "\f18d"; +$fa-var-stack-overflow: "\f16c"; +$fa-var-star: "\f005"; +$fa-var-star-half: "\f089"; +$fa-var-star-half-empty: "\f123"; +$fa-var-star-half-full: "\f123"; +$fa-var-star-half-o: "\f123"; +$fa-var-star-o: "\f006"; +$fa-var-steam: "\f1b6"; +$fa-var-steam-square: "\f1b7"; +$fa-var-step-backward: "\f048"; +$fa-var-step-forward: "\f051"; +$fa-var-stethoscope: "\f0f1"; +$fa-var-sticky-note: "\f249"; +$fa-var-sticky-note-o: "\f24a"; +$fa-var-stop: "\f04d"; +$fa-var-stop-circle: "\f28d"; +$fa-var-stop-circle-o: "\f28e"; +$fa-var-street-view: "\f21d"; +$fa-var-strikethrough: "\f0cc"; +$fa-var-stumbleupon: "\f1a4"; +$fa-var-stumbleupon-circle: "\f1a3"; +$fa-var-subscript: "\f12c"; +$fa-var-subway: "\f239"; +$fa-var-suitcase: "\f0f2"; +$fa-var-sun-o: "\f185"; +$fa-var-superpowers: "\f2dd"; +$fa-var-superscript: "\f12b"; +$fa-var-support: "\f1cd"; +$fa-var-table: "\f0ce"; +$fa-var-tablet: "\f10a"; +$fa-var-tachometer: "\f0e4"; +$fa-var-tag: "\f02b"; +$fa-var-tags: "\f02c"; +$fa-var-tasks: "\f0ae"; +$fa-var-taxi: "\f1ba"; +$fa-var-telegram: "\f2c6"; +$fa-var-television: "\f26c"; +$fa-var-tencent-weibo: "\f1d5"; +$fa-var-terminal: "\f120"; +$fa-var-text-height: "\f034"; +$fa-var-text-width: "\f035"; +$fa-var-th: "\f00a"; +$fa-var-th-large: "\f009"; +$fa-var-th-list: "\f00b"; +$fa-var-themeisle: "\f2b2"; +$fa-var-thermometer: "\f2c7"; +$fa-var-thermometer-0: "\f2cb"; +$fa-var-thermometer-1: "\f2ca"; +$fa-var-thermometer-2: "\f2c9"; +$fa-var-thermometer-3: "\f2c8"; +$fa-var-thermometer-4: "\f2c7"; +$fa-var-thermometer-empty: "\f2cb"; +$fa-var-thermometer-full: "\f2c7"; +$fa-var-thermometer-half: "\f2c9"; +$fa-var-thermometer-quarter: "\f2ca"; +$fa-var-thermometer-three-quarters: "\f2c8"; +$fa-var-thumb-tack: "\f08d"; +$fa-var-thumbs-down: "\f165"; +$fa-var-thumbs-o-down: "\f088"; +$fa-var-thumbs-o-up: "\f087"; +$fa-var-thumbs-up: "\f164"; +$fa-var-ticket: "\f145"; +$fa-var-times: "\f00d"; +$fa-var-times-circle: "\f057"; +$fa-var-times-circle-o: "\f05c"; +$fa-var-times-rectangle: "\f2d3"; +$fa-var-times-rectangle-o: "\f2d4"; +$fa-var-tint: "\f043"; +$fa-var-toggle-down: "\f150"; +$fa-var-toggle-left: "\f191"; +$fa-var-toggle-off: "\f204"; +$fa-var-toggle-on: "\f205"; +$fa-var-toggle-right: "\f152"; +$fa-var-toggle-up: "\f151"; +$fa-var-trademark: "\f25c"; +$fa-var-train: "\f238"; +$fa-var-transgender: "\f224"; +$fa-var-transgender-alt: "\f225"; +$fa-var-trash: "\f1f8"; +$fa-var-trash-o: "\f014"; +$fa-var-tree: "\f1bb"; +$fa-var-trello: "\f181"; +$fa-var-tripadvisor: "\f262"; +$fa-var-trophy: "\f091"; +$fa-var-truck: "\f0d1"; +$fa-var-try: "\f195"; +$fa-var-tty: "\f1e4"; +$fa-var-tumblr: "\f173"; +$fa-var-tumblr-square: "\f174"; +$fa-var-turkish-lira: "\f195"; +$fa-var-tv: "\f26c"; +$fa-var-twitch: "\f1e8"; +$fa-var-twitter: "\f099"; +$fa-var-twitter-square: "\f081"; +$fa-var-umbrella: "\f0e9"; +$fa-var-underline: "\f0cd"; +$fa-var-undo: "\f0e2"; +$fa-var-universal-access: "\f29a"; +$fa-var-university: "\f19c"; +$fa-var-unlink: "\f127"; +$fa-var-unlock: "\f09c"; +$fa-var-unlock-alt: "\f13e"; +$fa-var-unsorted: "\f0dc"; +$fa-var-upload: "\f093"; +$fa-var-usb: "\f287"; +$fa-var-usd: "\f155"; +$fa-var-user: "\f007"; +$fa-var-user-circle: "\f2bd"; +$fa-var-user-circle-o: "\f2be"; +$fa-var-user-md: "\f0f0"; +$fa-var-user-o: "\f2c0"; +$fa-var-user-plus: "\f234"; +$fa-var-user-secret: "\f21b"; +$fa-var-user-times: "\f235"; +$fa-var-users: "\f0c0"; +$fa-var-vcard: "\f2bb"; +$fa-var-vcard-o: "\f2bc"; +$fa-var-venus: "\f221"; +$fa-var-venus-double: "\f226"; +$fa-var-venus-mars: "\f228"; +$fa-var-viacoin: "\f237"; +$fa-var-viadeo: "\f2a9"; +$fa-var-viadeo-square: "\f2aa"; +$fa-var-video-camera: "\f03d"; +$fa-var-vimeo: "\f27d"; +$fa-var-vimeo-square: "\f194"; +$fa-var-vine: "\f1ca"; +$fa-var-vk: "\f189"; +$fa-var-volume-control-phone: "\f2a0"; +$fa-var-volume-down: "\f027"; +$fa-var-volume-off: "\f026"; +$fa-var-volume-up: "\f028"; +$fa-var-warning: "\f071"; +$fa-var-wechat: "\f1d7"; +$fa-var-weibo: "\f18a"; +$fa-var-weixin: "\f1d7"; +$fa-var-whatsapp: "\f232"; +$fa-var-wheelchair: "\f193"; +$fa-var-wheelchair-alt: "\f29b"; +$fa-var-wifi: "\f1eb"; +$fa-var-wikipedia-w: "\f266"; +$fa-var-window-close: "\f2d3"; +$fa-var-window-close-o: "\f2d4"; +$fa-var-window-maximize: "\f2d0"; +$fa-var-window-minimize: "\f2d1"; +$fa-var-window-restore: "\f2d2"; +$fa-var-windows: "\f17a"; +$fa-var-won: "\f159"; +$fa-var-wordpress: "\f19a"; +$fa-var-wpbeginner: "\f297"; +$fa-var-wpexplorer: "\f2de"; +$fa-var-wpforms: "\f298"; +$fa-var-wrench: "\f0ad"; +$fa-var-xing: "\f168"; +$fa-var-xing-square: "\f169"; +$fa-var-y-combinator: "\f23b"; +$fa-var-y-combinator-square: "\f1d4"; +$fa-var-yahoo: "\f19e"; +$fa-var-yc: "\f23b"; +$fa-var-yc-square: "\f1d4"; +$fa-var-yelp: "\f1e9"; +$fa-var-yen: "\f157"; +$fa-var-yoast: "\f2b1"; +$fa-var-youtube: "\f167"; +$fa-var-youtube-play: "\f16a"; +$fa-var-youtube-square: "\f166"; + Index: base3.10/src/main/webapp/resource/font-awesome/scss/_bordered-pulled.scss =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/scss/_bordered-pulled.scss (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/scss/_bordered-pulled.scss (revision 7) @@ -0,0 +1,25 @@ +// Bordered & Pulled +// ------------------------- + +.#{$fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em $fa-border-color; + border-radius: .1em; +} + +.#{$fa-css-prefix}-pull-left { float: left; } +.#{$fa-css-prefix}-pull-right { float: right; } + +.#{$fa-css-prefix} { + &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } + &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ +.pull-right { float: right; } +.pull-left { float: left; } + +.#{$fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} Index: base3.10/src/main/webapp/resource/font-awesome/scss/_larger.scss =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/scss/_larger.scss (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/scss/_larger.scss (revision 7) @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.#{$fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.#{$fa-css-prefix}-2x { font-size: 2em; } +.#{$fa-css-prefix}-3x { font-size: 3em; } +.#{$fa-css-prefix}-4x { font-size: 4em; } +.#{$fa-css-prefix}-5x { font-size: 5em; } Index: base3.10/src/main/webapp/resource/font-awesome/scss/_screen-reader.scss =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/scss/_screen-reader.scss (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/scss/_screen-reader.scss (revision 7) @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { @include sr-only(); } +.sr-only-focusable { @include sr-only-focusable(); } Index: base3.10/src/main/webapp/resource/font-awesome/scss/font-awesome.scss =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/scss/font-awesome.scss (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/scss/font-awesome.scss (revision 7) @@ -0,0 +1,18 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@import "variables"; +@import "mixins"; +@import "path"; +@import "core"; +@import "larger"; +@import "fixed-width"; +@import "list"; +@import "bordered-pulled"; +@import "animated"; +@import "rotated-flipped"; +@import "stacked"; +@import "icons"; +@import "screen-reader"; Index: base3.10/src/main/webapp/resource/font-awesome/scss/_path.scss =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/scss/_path.scss (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/scss/_path.scss (revision 7) @@ -0,0 +1,15 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'FontAwesome'; + src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); + src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), + url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), + url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), + url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), + url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); +// src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} Index: base3.10/src/main/webapp/resource/font-awesome/scss/_animated.scss =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/scss/_animated.scss (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/scss/_animated.scss (revision 7) @@ -0,0 +1,34 @@ +// Spinning Icons +// -------------------------- + +.#{$fa-css-prefix}-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.#{$fa-css-prefix}-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} Index: base3.10/src/main/webapp/resource/font-awesome/scss/_mixins.scss =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/scss/_mixins.scss (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/scss/_mixins.scss (revision 7) @@ -0,0 +1,60 @@ +// Mixins +// -------------------------- + +@mixin fa-icon() { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} + +@mixin fa-icon-rotate($degrees, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})"; + -webkit-transform: rotate($degrees); + -ms-transform: rotate($degrees); + transform: rotate($degrees); +} + +@mixin fa-icon-flip($horiz, $vert, $rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)"; + -webkit-transform: scale($horiz, $vert); + -ms-transform: scale($horiz, $vert); + transform: scale($horiz, $vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +@mixin sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +@mixin sr-only-focusable { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} Index: base3.10/src/main/webapp/resource/font-awesome/scss/_rotated-flipped.scss =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/scss/_rotated-flipped.scss (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/scss/_rotated-flipped.scss (revision 7) @@ -0,0 +1,20 @@ +// Rotated & Flipped Icons +// ------------------------- + +.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } +.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } +.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } + +.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } +.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .#{$fa-css-prefix}-rotate-90, +:root .#{$fa-css-prefix}-rotate-180, +:root .#{$fa-css-prefix}-rotate-270, +:root .#{$fa-css-prefix}-flip-horizontal, +:root .#{$fa-css-prefix}-flip-vertical { + filter: none; +} Index: base3.10/src/main/webapp/resource/font-awesome/css/font-awesome.css =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/css/font-awesome.css (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/css/font-awesome.css (revision 7) @@ -0,0 +1,2337 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.7.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.fa-pull-left { + float: left; +} +.fa-pull-right { + float: right; +} +.fa.fa-pull-left { + margin-right: .3em; +} +.fa.fa-pull-right { + margin-left: .3em; +} +/* Deprecated as of 4.4.0 */ +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-feed:before, +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper-pp:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +.fa-buysellads:before { + content: "\f20d"; +} +.fa-connectdevelop:before { + content: "\f20e"; +} +.fa-dashcube:before { + content: "\f210"; +} +.fa-forumbee:before { + content: "\f211"; +} +.fa-leanpub:before { + content: "\f212"; +} +.fa-sellsy:before { + content: "\f213"; +} +.fa-shirtsinbulk:before { + content: "\f214"; +} +.fa-simplybuilt:before { + content: "\f215"; +} +.fa-skyatlas:before { + content: "\f216"; +} +.fa-cart-plus:before { + content: "\f217"; +} +.fa-cart-arrow-down:before { + content: "\f218"; +} +.fa-diamond:before { + content: "\f219"; +} +.fa-ship:before { + content: "\f21a"; +} +.fa-user-secret:before { + content: "\f21b"; +} +.fa-motorcycle:before { + content: "\f21c"; +} +.fa-street-view:before { + content: "\f21d"; +} +.fa-heartbeat:before { + content: "\f21e"; +} +.fa-venus:before { + content: "\f221"; +} +.fa-mars:before { + content: "\f222"; +} +.fa-mercury:before { + content: "\f223"; +} +.fa-intersex:before, +.fa-transgender:before { + content: "\f224"; +} +.fa-transgender-alt:before { + content: "\f225"; +} +.fa-venus-double:before { + content: "\f226"; +} +.fa-mars-double:before { + content: "\f227"; +} +.fa-venus-mars:before { + content: "\f228"; +} +.fa-mars-stroke:before { + content: "\f229"; +} +.fa-mars-stroke-v:before { + content: "\f22a"; +} +.fa-mars-stroke-h:before { + content: "\f22b"; +} +.fa-neuter:before { + content: "\f22c"; +} +.fa-genderless:before { + content: "\f22d"; +} +.fa-facebook-official:before { + content: "\f230"; +} +.fa-pinterest-p:before { + content: "\f231"; +} +.fa-whatsapp:before { + content: "\f232"; +} +.fa-server:before { + content: "\f233"; +} +.fa-user-plus:before { + content: "\f234"; +} +.fa-user-times:before { + content: "\f235"; +} +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; +} +.fa-viacoin:before { + content: "\f237"; +} +.fa-train:before { + content: "\f238"; +} +.fa-subway:before { + content: "\f239"; +} +.fa-medium:before { + content: "\f23a"; +} +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b"; +} +.fa-optin-monster:before { + content: "\f23c"; +} +.fa-opencart:before { + content: "\f23d"; +} +.fa-expeditedssl:before { + content: "\f23e"; +} +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240"; +} +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241"; +} +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242"; +} +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243"; +} +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; +} +.fa-mouse-pointer:before { + content: "\f245"; +} +.fa-i-cursor:before { + content: "\f246"; +} +.fa-object-group:before { + content: "\f247"; +} +.fa-object-ungroup:before { + content: "\f248"; +} +.fa-sticky-note:before { + content: "\f249"; +} +.fa-sticky-note-o:before { + content: "\f24a"; +} +.fa-cc-jcb:before { + content: "\f24b"; +} +.fa-cc-diners-club:before { + content: "\f24c"; +} +.fa-clone:before { + content: "\f24d"; +} +.fa-balance-scale:before { + content: "\f24e"; +} +.fa-hourglass-o:before { + content: "\f250"; +} +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; +} +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; +} +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; +} +.fa-hourglass:before { + content: "\f254"; +} +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255"; +} +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256"; +} +.fa-hand-scissors-o:before { + content: "\f257"; +} +.fa-hand-lizard-o:before { + content: "\f258"; +} +.fa-hand-spock-o:before { + content: "\f259"; +} +.fa-hand-pointer-o:before { + content: "\f25a"; +} +.fa-hand-peace-o:before { + content: "\f25b"; +} +.fa-trademark:before { + content: "\f25c"; +} +.fa-registered:before { + content: "\f25d"; +} +.fa-creative-commons:before { + content: "\f25e"; +} +.fa-gg:before { + content: "\f260"; +} +.fa-gg-circle:before { + content: "\f261"; +} +.fa-tripadvisor:before { + content: "\f262"; +} +.fa-odnoklassniki:before { + content: "\f263"; +} +.fa-odnoklassniki-square:before { + content: "\f264"; +} +.fa-get-pocket:before { + content: "\f265"; +} +.fa-wikipedia-w:before { + content: "\f266"; +} +.fa-safari:before { + content: "\f267"; +} +.fa-chrome:before { + content: "\f268"; +} +.fa-firefox:before { + content: "\f269"; +} +.fa-opera:before { + content: "\f26a"; +} +.fa-internet-explorer:before { + content: "\f26b"; +} +.fa-tv:before, +.fa-television:before { + content: "\f26c"; +} +.fa-contao:before { + content: "\f26d"; +} +.fa-500px:before { + content: "\f26e"; +} +.fa-amazon:before { + content: "\f270"; +} +.fa-calendar-plus-o:before { + content: "\f271"; +} +.fa-calendar-minus-o:before { + content: "\f272"; +} +.fa-calendar-times-o:before { + content: "\f273"; +} +.fa-calendar-check-o:before { + content: "\f274"; +} +.fa-industry:before { + content: "\f275"; +} +.fa-map-pin:before { + content: "\f276"; +} +.fa-map-signs:before { + content: "\f277"; +} +.fa-map-o:before { + content: "\f278"; +} +.fa-map:before { + content: "\f279"; +} +.fa-commenting:before { + content: "\f27a"; +} +.fa-commenting-o:before { + content: "\f27b"; +} +.fa-houzz:before { + content: "\f27c"; +} +.fa-vimeo:before { + content: "\f27d"; +} +.fa-black-tie:before { + content: "\f27e"; +} +.fa-fonticons:before { + content: "\f280"; +} +.fa-reddit-alien:before { + content: "\f281"; +} +.fa-edge:before { + content: "\f282"; +} +.fa-credit-card-alt:before { + content: "\f283"; +} +.fa-codiepie:before { + content: "\f284"; +} +.fa-modx:before { + content: "\f285"; +} +.fa-fort-awesome:before { + content: "\f286"; +} +.fa-usb:before { + content: "\f287"; +} +.fa-product-hunt:before { + content: "\f288"; +} +.fa-mixcloud:before { + content: "\f289"; +} +.fa-scribd:before { + content: "\f28a"; +} +.fa-pause-circle:before { + content: "\f28b"; +} +.fa-pause-circle-o:before { + content: "\f28c"; +} +.fa-stop-circle:before { + content: "\f28d"; +} +.fa-stop-circle-o:before { + content: "\f28e"; +} +.fa-shopping-bag:before { + content: "\f290"; +} +.fa-shopping-basket:before { + content: "\f291"; +} +.fa-hashtag:before { + content: "\f292"; +} +.fa-bluetooth:before { + content: "\f293"; +} +.fa-bluetooth-b:before { + content: "\f294"; +} +.fa-percent:before { + content: "\f295"; +} +.fa-gitlab:before { + content: "\f296"; +} +.fa-wpbeginner:before { + content: "\f297"; +} +.fa-wpforms:before { + content: "\f298"; +} +.fa-envira:before { + content: "\f299"; +} +.fa-universal-access:before { + content: "\f29a"; +} +.fa-wheelchair-alt:before { + content: "\f29b"; +} +.fa-question-circle-o:before { + content: "\f29c"; +} +.fa-blind:before { + content: "\f29d"; +} +.fa-audio-description:before { + content: "\f29e"; +} +.fa-volume-control-phone:before { + content: "\f2a0"; +} +.fa-braille:before { + content: "\f2a1"; +} +.fa-assistive-listening-systems:before { + content: "\f2a2"; +} +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; +} +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4"; +} +.fa-glide:before { + content: "\f2a5"; +} +.fa-glide-g:before { + content: "\f2a6"; +} +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7"; +} +.fa-low-vision:before { + content: "\f2a8"; +} +.fa-viadeo:before { + content: "\f2a9"; +} +.fa-viadeo-square:before { + content: "\f2aa"; +} +.fa-snapchat:before { + content: "\f2ab"; +} +.fa-snapchat-ghost:before { + content: "\f2ac"; +} +.fa-snapchat-square:before { + content: "\f2ad"; +} +.fa-pied-piper:before { + content: "\f2ae"; +} +.fa-first-order:before { + content: "\f2b0"; +} +.fa-yoast:before { + content: "\f2b1"; +} +.fa-themeisle:before { + content: "\f2b2"; +} +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3"; +} +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4"; +} +.fa-handshake-o:before { + content: "\f2b5"; +} +.fa-envelope-open:before { + content: "\f2b6"; +} +.fa-envelope-open-o:before { + content: "\f2b7"; +} +.fa-linode:before { + content: "\f2b8"; +} +.fa-address-book:before { + content: "\f2b9"; +} +.fa-address-book-o:before { + content: "\f2ba"; +} +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb"; +} +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc"; +} +.fa-user-circle:before { + content: "\f2bd"; +} +.fa-user-circle-o:before { + content: "\f2be"; +} +.fa-user-o:before { + content: "\f2c0"; +} +.fa-id-badge:before { + content: "\f2c1"; +} +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2"; +} +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3"; +} +.fa-quora:before { + content: "\f2c4"; +} +.fa-free-code-camp:before { + content: "\f2c5"; +} +.fa-telegram:before { + content: "\f2c6"; +} +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7"; +} +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8"; +} +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9"; +} +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca"; +} +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb"; +} +.fa-shower:before { + content: "\f2cc"; +} +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd"; +} +.fa-podcast:before { + content: "\f2ce"; +} +.fa-window-maximize:before { + content: "\f2d0"; +} +.fa-window-minimize:before { + content: "\f2d1"; +} +.fa-window-restore:before { + content: "\f2d2"; +} +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3"; +} +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4"; +} +.fa-bandcamp:before { + content: "\f2d5"; +} +.fa-grav:before { + content: "\f2d6"; +} +.fa-etsy:before { + content: "\f2d7"; +} +.fa-imdb:before { + content: "\f2d8"; +} +.fa-ravelry:before { + content: "\f2d9"; +} +.fa-eercast:before { + content: "\f2da"; +} +.fa-microchip:before { + content: "\f2db"; +} +.fa-snowflake-o:before { + content: "\f2dc"; +} +.fa-superpowers:before { + content: "\f2dd"; +} +.fa-wpexplorer:before { + content: "\f2de"; +} +.fa-meetup:before { + content: "\f2e0"; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} Property changes on: base3.10/src/main/webapp/resource/font-awesome/css/font-awesome.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/font-awesome/css/font-awesome.min.css =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/css/font-awesome.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/css/font-awesome.min.css (revision 7) @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} Property changes on: base3.10/src/main/webapp/resource/font-awesome/css/font-awesome.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/font-awesome/fonts/fontawesome-webfont.svg =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/fonts/fontawesome-webfont.svg (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/fonts/fontawesome-webfont.svg (revision 7) @@ -0,0 +1,2671 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" > +<svg> +<metadata> +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. +</metadata> +<defs> +<font id="FontAwesome" horiz-adv-x="1536" > + <font-face + font-family="FontAwesome" + font-weight="400" + font-stretch="normal" + units-per-em="1792" + panose-1="0 0 0 0 0 0 0 0 0 0" + ascent="1536" + descent="-256" + bbox="-1.02083 -256.962 2304.6 1537.02" + underline-thickness="0" + underline-position="0" + unicode-range="U+0020-F500" + /> +<missing-glyph horiz-adv-x="896" +d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" /> + <glyph glyph-name=".notdef" horiz-adv-x="896" +d="M224 112h448v1312h-448v-1312zM112 0v1536h672v-1536h-672z" /> + <glyph glyph-name=".null" horiz-adv-x="0" + /> + <glyph glyph-name="nonmarkingreturn" horiz-adv-x="597" + /> + <glyph glyph-name="space" unicode=" " horiz-adv-x="448" + /> + <glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="1792" + /> + <glyph glyph-name="copyright" unicode="&#xa9;" horiz-adv-x="1792" + /> + <glyph glyph-name="registered" unicode="&#xae;" horiz-adv-x="1792" + /> + <glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="1792" + /> + <glyph glyph-name="AE" unicode="&#xc6;" horiz-adv-x="1792" + /> + <glyph glyph-name="Oslash" unicode="&#xd8;" horiz-adv-x="1792" + /> + <glyph glyph-name="trademark" unicode="&#x2122;" horiz-adv-x="1792" + /> + <glyph glyph-name="infinity" unicode="&#x221e;" horiz-adv-x="1792" + /> + <glyph glyph-name="notequal" unicode="&#x2260;" horiz-adv-x="1792" + /> + <glyph glyph-name="glass" unicode="&#xf000;" horiz-adv-x="1792" +d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" /> + <glyph glyph-name="music" unicode="&#xf001;" +d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 +t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" /> + <glyph glyph-name="search" unicode="&#xf002;" horiz-adv-x="1664" +d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 +t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" /> + <glyph glyph-name="envelope" unicode="&#xf003;" horiz-adv-x="1792" +d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 +t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z +M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" /> + <glyph glyph-name="heart" unicode="&#xf004;" horiz-adv-x="1792" +d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 +q-18 -18 -44 -18z" /> + <glyph glyph-name="star" unicode="&#xf005;" horiz-adv-x="1664" +d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 +l502 -73q56 -9 56 -46z" /> + <glyph glyph-name="star_empty" unicode="&#xf006;" horiz-adv-x="1664" +d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 +l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" /> + <glyph glyph-name="user" unicode="&#xf007;" horiz-adv-x="1280" +d="M1280 137q0 -109 -62.5 -187t-150.5 -78h-854q-88 0 -150.5 78t-62.5 187q0 85 8.5 160.5t31.5 152t58.5 131t94 89t134.5 34.5q131 -128 313 -128t313 128q76 0 134.5 -34.5t94 -89t58.5 -131t31.5 -152t8.5 -160.5zM1024 1024q0 -159 -112.5 -271.5t-271.5 -112.5 +t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" /> + <glyph glyph-name="film" unicode="&#xf008;" horiz-adv-x="1920" +d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 +q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 +t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 +q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 +t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" /> + <glyph glyph-name="th_large" unicode="&#xf009;" horiz-adv-x="1664" +d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 +h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" /> + <glyph glyph-name="th" unicode="&#xf00a;" horiz-adv-x="1792" +d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 +q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 +h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 +q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" /> + <glyph glyph-name="th_list" unicode="&#xf00b;" horiz-adv-x="1792" +d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 +q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 +h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" /> + <glyph glyph-name="ok" unicode="&#xf00c;" horiz-adv-x="1792" +d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" /> + <glyph glyph-name="remove" unicode="&#xf00d;" horiz-adv-x="1408" +d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 +t-28 -68l-294 -294l294 -294q28 -28 28 -68z" /> + <glyph glyph-name="zoom_in" unicode="&#xf00e;" horiz-adv-x="1664" +d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 +q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 +t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" /> + <glyph glyph-name="zoom_out" unicode="&#xf010;" horiz-adv-x="1664" +d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z +M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z +" /> + <glyph glyph-name="off" unicode="&#xf011;" +d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 +t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" /> + <glyph glyph-name="signal" unicode="&#xf012;" horiz-adv-x="1792" +d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 +v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" /> + <glyph glyph-name="cog" unicode="&#xf013;" +d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 +q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 +l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 +q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" /> + <glyph glyph-name="trash" unicode="&#xf014;" horiz-adv-x="1408" +d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 +q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 +q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" /> + <glyph glyph-name="home" unicode="&#xf015;" horiz-adv-x="1664" +d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 +l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" /> + <glyph glyph-name="file_alt" unicode="&#xf016;" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +" /> + <glyph glyph-name="time" unicode="&#xf017;" +d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="road" unicode="&#xf018;" horiz-adv-x="1920" +d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 +q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" /> + <glyph glyph-name="download_alt" unicode="&#xf019;" horiz-adv-x="1664" +d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 +q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" /> + <glyph glyph-name="download" unicode="&#xf01a;" +d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 +t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="upload" unicode="&#xf01b;" +d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 +t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="inbox" unicode="&#xf01c;" +d="M1023 576h316q-1 3 -2.5 8.5t-2.5 7.5l-212 496h-708l-212 -496q-1 -3 -2.5 -8.5t-2.5 -7.5h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 +q25 -61 25 -123z" /> + <glyph glyph-name="play_circle" unicode="&#xf01d;" +d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="repeat" unicode="&#xf01e;" +d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q15 0 25 -9 +l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" /> + <glyph glyph-name="refresh" unicode="&#xf021;" +d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 +q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 +q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" /> + <glyph glyph-name="list_alt" unicode="&#xf022;" horiz-adv-x="1792" +d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z +M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 +t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 +t47 -113z" /> + <glyph glyph-name="lock" unicode="&#xf023;" horiz-adv-x="1152" +d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" /> + <glyph glyph-name="flag" unicode="&#xf024;" horiz-adv-x="1792" +d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 +t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" /> + <glyph glyph-name="headphones" unicode="&#xf025;" horiz-adv-x="1664" +d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 +t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 +t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" /> + <glyph glyph-name="volume_off" unicode="&#xf026;" horiz-adv-x="768" +d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" /> + <glyph glyph-name="volume_down" unicode="&#xf027;" horiz-adv-x="1152" +d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36 +t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" /> + <glyph glyph-name="volume_up" unicode="&#xf028;" horiz-adv-x="1664" +d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 36 +t12 56.5t-12 56.5t-29 36t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 +t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 +t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" /> + <glyph glyph-name="qrcode" unicode="&#xf029;" horiz-adv-x="1408" +d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z +M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" /> + <glyph glyph-name="barcode" unicode="&#xf02a;" horiz-adv-x="1792" +d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z +M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" /> + <glyph glyph-name="tag" unicode="&#xf02b;" +d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 +l715 -714q37 -39 37 -91z" /> + <glyph glyph-name="tags" unicode="&#xf02c;" horiz-adv-x="1920" +d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 +l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" /> + <glyph glyph-name="book" unicode="&#xf02d;" horiz-adv-x="1664" +d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 +q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 +q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 +t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" /> + <glyph glyph-name="bookmark" unicode="&#xf02e;" horiz-adv-x="1280" +d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" /> + <glyph glyph-name="print" unicode="&#xf02f;" horiz-adv-x="1664" +d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 +v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" /> + <glyph glyph-name="camera" unicode="&#xf030;" horiz-adv-x="1920" +d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 +q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="font" unicode="&#xf031;" horiz-adv-x="1664" +d="M725 977l-170 -450q33 0 136.5 -2t160.5 -2q19 0 57 2q-87 253 -184 452zM0 -128l2 79q23 7 56 12.5t57 10.5t49.5 14.5t44.5 29t31 50.5l237 616l280 724h75h53q8 -14 11 -21l205 -480q33 -78 106 -257.5t114 -274.5q15 -34 58 -144.5t72 -168.5q20 -45 35 -57 +q19 -15 88 -29.5t84 -20.5q6 -38 6 -57q0 -5 -0.5 -13.5t-0.5 -12.5q-63 0 -190 8t-191 8q-76 0 -215 -7t-178 -8q0 43 4 78l131 28q1 0 12.5 2.5t15.5 3.5t14.5 4.5t15 6.5t11 8t9 11t2.5 14q0 16 -31 96.5t-72 177.5t-42 100l-450 2q-26 -58 -76.5 -195.5t-50.5 -162.5 +q0 -22 14 -37.5t43.5 -24.5t48.5 -13.5t57 -8.5t41 -4q1 -19 1 -58q0 -9 -2 -27q-58 0 -174.5 10t-174.5 10q-8 0 -26.5 -4t-21.5 -4q-80 -14 -188 -14z" /> + <glyph glyph-name="bold" unicode="&#xf032;" horiz-adv-x="1408" +d="M555 15q74 -32 140 -32q376 0 376 335q0 114 -41 180q-27 44 -61.5 74t-67.5 46.5t-80.5 25t-84 10.5t-94.5 2q-73 0 -101 -10q0 -53 -0.5 -159t-0.5 -158q0 -8 -1 -67.5t-0.5 -96.5t4.5 -83.5t12 -66.5zM541 761q42 -7 109 -7q82 0 143 13t110 44.5t74.5 89.5t25.5 142 +q0 70 -29 122.5t-79 82t-108 43.5t-124 14q-50 0 -130 -13q0 -50 4 -151t4 -152q0 -27 -0.5 -80t-0.5 -79q0 -46 1 -69zM0 -128l2 94q15 4 85 16t106 27q7 12 12.5 27t8.5 33.5t5.5 32.5t3 37.5t0.5 34v35.5v30q0 982 -22 1025q-4 8 -22 14.5t-44.5 11t-49.5 7t-48.5 4.5 +t-30.5 3l-4 83q98 2 340 11.5t373 9.5q23 0 68 -0.5t68 -0.5q70 0 136.5 -13t128.5 -42t108 -71t74 -104.5t28 -137.5q0 -52 -16.5 -95.5t-39 -72t-64.5 -57.5t-73 -45t-84 -40q154 -35 256.5 -134t102.5 -248q0 -100 -35 -179.5t-93.5 -130.5t-138 -85.5t-163.5 -48.5 +t-176 -14q-44 0 -132 3t-132 3q-106 0 -307 -11t-231 -12z" /> + <glyph glyph-name="italic" unicode="&#xf033;" horiz-adv-x="1024" +d="M0 -126l17 85q22 7 61.5 16.5t72 19t59.5 23.5q28 35 41 101q1 7 62 289t114 543.5t52 296.5v25q-24 13 -54.5 18.5t-69.5 8t-58 5.5l19 103q33 -2 120 -6.5t149.5 -7t120.5 -2.5q48 0 98.5 2.5t121 7t98.5 6.5q-5 -39 -19 -89q-30 -10 -101.5 -28.5t-108.5 -33.5 +q-8 -19 -14 -42.5t-9 -40t-7.5 -45.5t-6.5 -42q-27 -148 -87.5 -419.5t-77.5 -355.5q-2 -9 -13 -58t-20 -90t-16 -83.5t-6 -57.5l1 -18q17 -4 185 -31q-3 -44 -16 -99q-11 0 -32.5 -1.5t-32.5 -1.5q-29 0 -87 10t-86 10q-138 2 -206 2q-51 0 -143 -9t-121 -11z" /> + <glyph glyph-name="text_height" unicode="&#xf034;" horiz-adv-x="1792" +d="M1744 128q33 0 42 -18.5t-11 -44.5l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80zM81 1407l54 -27q12 -5 211 -5q44 0 132 2 +t132 2q36 0 107.5 -0.5t107.5 -0.5h293q6 0 21 -0.5t20.5 0t16 3t17.5 9t15 17.5l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 48t-14.5 73.5t-7.5 35.5q-6 8 -12 12.5t-15.5 6t-13 2.5t-18 0.5t-16.5 -0.5 +q-17 0 -66.5 0.5t-74.5 0.5t-64 -2t-71 -6q-9 -81 -8 -136q0 -94 2 -388t2 -455q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 +q19 42 19 383q0 101 -3 303t-3 303v117q0 2 0.5 15.5t0.5 25t-1 25.5t-3 24t-5 14q-11 12 -162 12q-33 0 -93 -12t-80 -26q-19 -13 -34 -72.5t-31.5 -111t-42.5 -53.5q-42 26 -56 44v383z" /> + <glyph glyph-name="text_width" unicode="&#xf035;" +d="M81 1407l54 -27q12 -5 211 -5q44 0 132 2t132 2q70 0 246.5 1t304.5 0.5t247 -4.5q33 -1 56 31l42 1q4 0 14 -0.5t14 -0.5q2 -112 2 -336q0 -80 -5 -109q-39 -14 -68 -18q-25 44 -54 128q-3 9 -11 47.5t-15 73.5t-7 36q-10 13 -27 19q-5 2 -66 2q-30 0 -93 1t-103 1 +t-94 -2t-96 -7q-9 -81 -8 -136l1 -152v52q0 -55 1 -154t1.5 -180t0.5 -153q0 -16 -2.5 -71.5t0 -91.5t12.5 -69q40 -21 124 -42.5t120 -37.5q5 -40 5 -50q0 -14 -3 -29l-34 -1q-76 -2 -218 8t-207 10q-50 0 -151 -9t-152 -9q-3 51 -3 52v9q17 27 61.5 43t98.5 29t78 27 +q7 16 11.5 74t6 145.5t1.5 155t-0.5 153.5t-0.5 89q0 7 -2.5 21.5t-2.5 22.5q0 7 0.5 44t1 73t0 76.5t-3 67.5t-6.5 32q-11 12 -162 12q-41 0 -163 -13.5t-138 -24.5q-19 -12 -34 -71.5t-31.5 -111.5t-42.5 -54q-42 26 -56 44v383zM1310 125q12 0 42 -19.5t57.5 -41.5 +t59.5 -49t36 -30q26 -21 26 -49t-26 -49q-4 -3 -36 -30t-59.5 -49t-57.5 -41.5t-42 -19.5q-13 0 -20.5 10.5t-10 28.5t-2.5 33.5t1.5 33t1.5 19.5h-1024q0 -2 1.5 -19.5t1.5 -33t-2.5 -33.5t-10 -28.5t-20.5 -10.5q-12 0 -42 19.5t-57.5 41.5t-59.5 49t-36 30q-26 21 -26 49 +t26 49q4 3 36 30t59.5 49t57.5 41.5t42 19.5q13 0 20.5 -10.5t10 -28.5t2.5 -33.5t-1.5 -33t-1.5 -19.5h1024q0 2 -1.5 19.5t-1.5 33t2.5 33.5t10 28.5t20.5 10.5z" /> + <glyph glyph-name="align_left" unicode="&#xf036;" horiz-adv-x="1792" +d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 +t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" /> + <glyph glyph-name="align_center" unicode="&#xf037;" horiz-adv-x="1792" +d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 +h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" /> + <glyph glyph-name="align_right" unicode="&#xf038;" horiz-adv-x="1792" +d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 +t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" /> + <glyph glyph-name="align_justify" unicode="&#xf039;" horiz-adv-x="1792" +d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 +t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" /> + <glyph glyph-name="list" unicode="&#xf03a;" horiz-adv-x="1792" +d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 +t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 +q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 +t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 +q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" /> + <glyph glyph-name="indent_left" unicode="&#xf03b;" horiz-adv-x="1792" +d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 +t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 +q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" /> + <glyph glyph-name="indent_right" unicode="&#xf03c;" horiz-adv-x="1792" +d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 +t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 +q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" /> + <glyph glyph-name="facetime_video" unicode="&#xf03d;" horiz-adv-x="1792" +d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 +q39 -17 39 -59z" /> + <glyph glyph-name="picture" unicode="&#xf03e;" horiz-adv-x="1920" +d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 +q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" /> + <glyph glyph-name="pencil" unicode="&#xf040;" +d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 +q53 0 91 -38l235 -234q37 -39 37 -91z" /> + <glyph glyph-name="map_marker" unicode="&#xf041;" horiz-adv-x="1024" +d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" /> + <glyph glyph-name="adjust" unicode="&#xf042;" +d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="tint" unicode="&#xf043;" horiz-adv-x="1024" +d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 +q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" /> + <glyph glyph-name="edit" unicode="&#xf044;" horiz-adv-x="1792" +d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 +q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 +l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" /> + <glyph glyph-name="share" unicode="&#xf045;" horiz-adv-x="1664" +d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 +q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 +t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" /> + <glyph glyph-name="check" unicode="&#xf046;" horiz-adv-x="1664" +d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 +q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 +q24 -24 24 -57t-24 -57z" /> + <glyph glyph-name="move" unicode="&#xf047;" horiz-adv-x="1792" +d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 +t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" /> + <glyph glyph-name="step_backward" unicode="&#xf048;" horiz-adv-x="1024" +d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19z" /> + <glyph glyph-name="fast_backward" unicode="&#xf049;" horiz-adv-x="1792" +d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 10 13 19l710 710 +q19 19 32 13t13 -32v-710q4 10 13 19z" /> + <glyph glyph-name="backward" unicode="&#xf04a;" horiz-adv-x="1664" +d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q4 10 13 19z" /> + <glyph glyph-name="play" unicode="&#xf04b;" horiz-adv-x="1408" +d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" /> + <glyph glyph-name="pause" unicode="&#xf04c;" +d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" /> + <glyph glyph-name="stop" unicode="&#xf04d;" +d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" /> + <glyph glyph-name="forward" unicode="&#xf04e;" horiz-adv-x="1664" +d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" /> + <glyph glyph-name="fast_forward" unicode="&#xf050;" horiz-adv-x="1792" +d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v710q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19l-710 -710 +q-19 -19 -32 -13t-13 32v710q-4 -10 -13 -19z" /> + <glyph glyph-name="step_forward" unicode="&#xf051;" horiz-adv-x="1024" +d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q9 -9 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-4 -10 -13 -19z" /> + <glyph glyph-name="eject" unicode="&#xf052;" horiz-adv-x="1538" +d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" /> + <glyph glyph-name="chevron_left" unicode="&#xf053;" horiz-adv-x="1280" +d="M1171 1235l-531 -531l531 -531q19 -19 19 -45t-19 -45l-166 -166q-19 -19 -45 -19t-45 19l-742 742q-19 19 -19 45t19 45l742 742q19 19 45 19t45 -19l166 -166q19 -19 19 -45t-19 -45z" /> + <glyph glyph-name="chevron_right" unicode="&#xf054;" horiz-adv-x="1280" +d="M1107 659l-742 -742q-19 -19 -45 -19t-45 19l-166 166q-19 19 -19 45t19 45l531 531l-531 531q-19 19 -19 45t19 45l166 166q19 19 45 19t45 -19l742 -742q19 -19 19 -45t-19 -45z" /> + <glyph glyph-name="plus_sign" unicode="&#xf055;" +d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 +t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="minus_sign" unicode="&#xf056;" +d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 +t103 -385.5z" /> + <glyph glyph-name="remove_sign" unicode="&#xf057;" +d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 +q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="ok_sign" unicode="&#xf058;" +d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 +t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="question_sign" unicode="&#xf059;" +d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 +q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 +t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="info_sign" unicode="&#xf05a;" +d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 +t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="screenshot" unicode="&#xf05b;" +d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 +q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 +q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" /> + <glyph glyph-name="remove_circle" unicode="&#xf05c;" +d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 +l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 +t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="ok_circle" unicode="&#xf05d;" +d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 +t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="ban_circle" unicode="&#xf05e;" +d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 +t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" /> + <glyph glyph-name="arrow_left" unicode="&#xf060;" +d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 +t32.5 -90.5z" /> + <glyph glyph-name="arrow_right" unicode="&#xf061;" +d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" /> + <glyph glyph-name="arrow_up" unicode="&#xf062;" horiz-adv-x="1664" +d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 +q37 -39 37 -91z" /> + <glyph glyph-name="arrow_down" unicode="&#xf063;" horiz-adv-x="1664" +d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" /> + <glyph glyph-name="share_alt" unicode="&#xf064;" horiz-adv-x="1792" +d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 +t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" /> + <glyph glyph-name="resize_full" unicode="&#xf065;" +d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 +q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" /> + <glyph glyph-name="resize_small" unicode="&#xf066;" +d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 +t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" /> + <glyph glyph-name="plus" unicode="&#xf067;" horiz-adv-x="1408" +d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" /> + <glyph glyph-name="minus" unicode="&#xf068;" horiz-adv-x="1408" +d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" /> + <glyph glyph-name="asterisk" unicode="&#xf069;" horiz-adv-x="1664" +d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 +q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" /> + <glyph glyph-name="exclamation_sign" unicode="&#xf06a;" +d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 +q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" /> + <glyph glyph-name="gift" unicode="&#xf06b;" +d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 +q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 +t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" /> + <glyph glyph-name="leaf" unicode="&#xf06c;" horiz-adv-x="1792" +d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 +q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-43 0 -63.5 17.5t-45.5 59.5q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 +t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" /> + <glyph glyph-name="fire" unicode="&#xf06d;" horiz-adv-x="1408" +d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 +q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" /> + <glyph glyph-name="eye_open" unicode="&#xf06e;" horiz-adv-x="1792" +d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 +t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" /> + <glyph glyph-name="eye_close" unicode="&#xf070;" horiz-adv-x="1792" +d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 +q-106 -189 -316 -567t-315 -566l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 +q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z +" /> + <glyph glyph-name="warning_sign" unicode="&#xf071;" horiz-adv-x="1792" +d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 +q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" /> + <glyph glyph-name="plane" unicode="&#xf072;" horiz-adv-x="1408" +d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 +q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" /> + <glyph glyph-name="calendar" unicode="&#xf073;" horiz-adv-x="1664" +d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z +M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 +q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 +h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" /> + <glyph glyph-name="random" unicode="&#xf074;" horiz-adv-x="1792" +d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 +t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 +v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 +t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" /> + <glyph glyph-name="comment" unicode="&#xf075;" horiz-adv-x="1792" +d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 +q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" /> + <glyph glyph-name="magnet" unicode="&#xf076;" +d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 +q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" /> + <glyph glyph-name="chevron_up" unicode="&#xf077;" horiz-adv-x="1792" +d="M1683 205l-166 -165q-19 -19 -45 -19t-45 19l-531 531l-531 -531q-19 -19 -45 -19t-45 19l-166 165q-19 19 -19 45.5t19 45.5l742 741q19 19 45 19t45 -19l742 -741q19 -19 19 -45.5t-19 -45.5z" /> + <glyph glyph-name="chevron_down" unicode="&#xf078;" horiz-adv-x="1792" +d="M1683 728l-742 -741q-19 -19 -45 -19t-45 19l-742 741q-19 19 -19 45.5t19 45.5l166 165q19 19 45 19t45 -19l531 -531l531 531q19 19 45 19t45 -19l166 -165q19 -19 19 -45.5t-19 -45.5z" /> + <glyph glyph-name="retweet" unicode="&#xf079;" horiz-adv-x="1920" +d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -10 7 -21 +zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z +" /> + <glyph glyph-name="shopping_cart" unicode="&#xf07a;" horiz-adv-x="1664" +d="M640 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1536 0q0 -52 -38 -90t-90 -38t-90 38t-38 90t38 90t90 38t90 -38t38 -90zM1664 1088v-512q0 -24 -16.5 -42.5t-40.5 -21.5l-1044 -122q13 -60 13 -70q0 -16 -24 -64h920q26 0 45 -19t19 -45 +t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 11 8 31.5t16 36t21.5 40t15.5 29.5l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t19.5 -15.5t13 -24.5t8 -26t5.5 -29.5t4.5 -26h1201q26 0 45 -19t19 -45z" /> + <glyph glyph-name="folder_close" unicode="&#xf07b;" horiz-adv-x="1664" +d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" /> + <glyph glyph-name="folder_open" unicode="&#xf07c;" horiz-adv-x="1920" +d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 +t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" /> + <glyph glyph-name="resize_vertical" unicode="&#xf07d;" horiz-adv-x="768" +d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" /> + <glyph glyph-name="resize_horizontal" unicode="&#xf07e;" horiz-adv-x="1792" +d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" /> + <glyph glyph-name="bar_chart" unicode="&#xf080;" horiz-adv-x="2048" +d="M640 640v-512h-256v512h256zM1024 1152v-1024h-256v1024h256zM2048 0v-128h-2048v1536h128v-1408h1920zM1408 896v-768h-256v768h256zM1792 1280v-1152h-256v1152h256z" /> + <glyph glyph-name="twitter_sign" unicode="&#xf081;" +d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 +q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 +t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="facebook_sign" unicode="&#xf082;" +d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-188v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-532q-119 0 -203.5 84.5t-84.5 203.5v960 +q0 119 84.5 203.5t203.5 84.5h960z" /> + <glyph glyph-name="camera_retro" unicode="&#xf083;" horiz-adv-x="1792" +d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 +t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 +q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" /> + <glyph glyph-name="key" unicode="&#xf084;" horiz-adv-x="1792" +d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 +l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 +t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" /> + <glyph glyph-name="cogs" unicode="&#xf085;" horiz-adv-x="1920" +d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 +t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -11 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 +l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 +l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -8 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 +q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 +t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 +q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 +q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" /> + <glyph glyph-name="comments" unicode="&#xf086;" horiz-adv-x="1792" +d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 +q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 +q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" /> + <glyph glyph-name="thumbs_up_alt" unicode="&#xf087;" +d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 +t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 +q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 +q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" /> + <glyph glyph-name="thumbs_down_alt" unicode="&#xf088;" +d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 31 18 69q0 37 -17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 +t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z +M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 +h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -73 49 -163z" /> + <glyph glyph-name="star_half" unicode="&#xf089;" horiz-adv-x="896" +d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" /> + <glyph glyph-name="heart_empty" unicode="&#xf08a;" horiz-adv-x="1792" +d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 +q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 +q224 0 351 -124t127 -344z" /> + <glyph glyph-name="signout" unicode="&#xf08b;" horiz-adv-x="1664" +d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 +q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" /> + <glyph glyph-name="linkedin_sign" unicode="&#xf08c;" +d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 +q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="pushpin" unicode="&#xf08d;" horiz-adv-x="1152" +d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 +t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" /> + <glyph glyph-name="external_link" unicode="&#xf08e;" horiz-adv-x="1792" +d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 +q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" /> + <glyph glyph-name="signin" unicode="&#xf090;" +d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 +q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="trophy" unicode="&#xf091;" horiz-adv-x="1664" +d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 +t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 +q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" /> + <glyph glyph-name="github_sign" unicode="&#xf092;" +d="M519 336q4 6 -3 13q-9 7 -14 2q-4 -6 3 -13q9 -7 14 -2zM491 377q-5 7 -12 4q-6 -4 0 -12q7 -8 12 -5q6 4 0 13zM450 417q2 4 -5 8q-7 2 -8 -2q-3 -5 4 -8q8 -2 9 2zM471 394q2 1 1.5 4.5t-3.5 5.5q-6 7 -10 3t1 -11q6 -6 11 -2zM557 319q2 7 -9 11q-9 3 -13 -4 +q-2 -7 9 -11q9 -3 13 4zM599 316q0 8 -12 8q-10 0 -10 -8t11 -8t11 8zM638 323q-2 7 -13 5t-9 -9q2 -8 12 -6t10 10zM1280 640q0 212 -150 362t-362 150t-362 -150t-150 -362q0 -167 98 -300.5t252 -185.5q18 -3 26.5 5t8.5 20q0 52 -1 95q-6 -1 -15.5 -2.5t-35.5 -2t-48 4 +t-43.5 20t-29.5 41.5q-23 59 -57 74q-2 1 -4.5 3.5l-8 8t-7 9.5t4 7.5t19.5 3.5q6 0 15 -2t30 -15.5t33 -35.5q16 -28 37.5 -42t43.5 -14t38 3.5t30 9.5q7 47 33 69q-49 6 -86 18.5t-73 39t-55.5 76t-19.5 119.5q0 79 53 137q-24 62 5 136q19 6 54.5 -7.5t60.5 -29.5l26 -16 +q58 17 128 17t128 -17q11 7 28.5 18t55.5 26t57 9q29 -74 5 -136q53 -58 53 -137q0 -57 -14 -100.5t-35.5 -70t-53.5 -44.5t-62.5 -26t-68.5 -12q35 -31 35 -95q0 -40 -0.5 -89t-0.5 -51q0 -12 8.5 -20t26.5 -5q154 52 252 185.5t98 300.5zM1536 1120v-960 +q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="upload_alt" unicode="&#xf093;" horiz-adv-x="1664" +d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 +t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" /> + <glyph glyph-name="lemon" unicode="&#xf094;" +d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 +q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 +q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 +q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -13 2 -25t3.5 -16.5t7.5 -20.5t8 -20q16 -40 25 -118.5t9 -136.5z" /> + <glyph glyph-name="phone" unicode="&#xf095;" horiz-adv-x="1408" +d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -53 3.5t-57.5 12.5t-47 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-127 79 -264 216t-216 264q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47t-12.5 57.5t-3.5 53q0 92 51 186 +q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174q2 -1 19 -11.5t24 -14 +t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" /> + <glyph glyph-name="check_empty" unicode="&#xf096;" horiz-adv-x="1408" +d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 +q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="bookmark_empty" unicode="&#xf097;" horiz-adv-x="1280" +d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 +q0 34 19.5 62t52.5 41q21 9 44 9h1048z" /> + <glyph glyph-name="phone_sign" unicode="&#xf098;" +d="M1280 343q0 11 -2 16t-18 16.5t-40.5 25t-47.5 26.5t-45.5 25t-28.5 15q-5 3 -19 13t-25 15t-21 5q-15 0 -36.5 -20.5t-39.5 -45t-38.5 -45t-33.5 -20.5q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170 126.5t-127 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5 +t-3.5 16.5q0 13 20.5 33.5t45 38.5t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5 +t320.5 -216.5q6 -2 30 -11t33 -12.5t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z +" /> + <glyph glyph-name="twitter" unicode="&#xf099;" horiz-adv-x="1664" +d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 +q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" /> + <glyph glyph-name="facebook" unicode="&#xf09a;" horiz-adv-x="1024" +d="M959 1524v-264h-157q-86 0 -116 -36t-30 -108v-189h293l-39 -296h-254v-759h-306v759h-255v296h255v218q0 186 104 288.5t277 102.5q147 0 228 -12z" /> + <glyph glyph-name="github" unicode="&#xf09b;" +d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -40 7t-13 30q0 3 0.5 76.5t0.5 134.5q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 119 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24 +q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-85 13.5q-45 -113 -8 -204q-79 -87 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-39 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5 +t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -88.5t0.5 -54.5q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103zM291 305q3 7 -7 12 +q-10 3 -13 -2q-3 -7 7 -12q9 -6 13 2zM322 271q7 5 -2 16q-10 9 -16 3q-7 -5 2 -16q10 -10 16 -3zM352 226q9 7 0 19q-8 13 -17 6q-9 -5 0 -18t17 -7zM394 184q8 8 -4 19q-12 12 -20 3q-9 -8 4 -19q12 -12 20 -3zM451 159q3 11 -13 16q-15 4 -19 -7t13 -15q15 -6 19 6z +M514 154q0 13 -17 11q-16 0 -16 -11q0 -13 17 -11q16 0 16 11zM572 164q-2 11 -18 9q-16 -3 -14 -15t18 -8t14 14z" /> + <glyph glyph-name="unlock" unicode="&#xf09c;" horiz-adv-x="1664" +d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 +t316.5 -131.5t131.5 -316.5z" /> + <glyph glyph-name="credit_card" unicode="&#xf09d;" horiz-adv-x="1920" +d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 +q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" /> + <glyph glyph-name="rss" unicode="&#xf09e;" horiz-adv-x="1408" +d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 +t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 +q187 -186 294 -425.5t120 -501.5z" /> + <glyph glyph-name="hdd" unicode="&#xf0a0;" +d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 +h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 +l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" /> + <glyph glyph-name="bullhorn" unicode="&#xf0a1;" horiz-adv-x="1792" +d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 +t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" /> + <glyph glyph-name="bell" unicode="&#xf0a2;" horiz-adv-x="1792" +d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM246 128h1300q-266 300 -266 832q0 51 -24 105t-69 103t-121.5 80.5t-169.5 31.5t-169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -532 -266 -832z +M1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5 +t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" /> + <glyph glyph-name="certificate" unicode="&#xf0a3;" +d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 +l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 +l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" /> + <glyph glyph-name="hand_right" unicode="&#xf0a4;" horiz-adv-x="1792" +d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 +q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 +q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 +t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" /> + <glyph glyph-name="hand_left" unicode="&#xf0a5;" horiz-adv-x="1792" +d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-8 9 -12 14q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576q-50 0 -89 -38.5 +t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45z +M1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128q0 122 81.5 189t206.5 67 +q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" /> + <glyph glyph-name="hand_up" unicode="&#xf0a6;" +d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 +q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 +t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 +q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" /> + <glyph glyph-name="hand_down" unicode="&#xf0a7;" +d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 +t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 +q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 +q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" /> + <glyph glyph-name="circle_arrow_left" unicode="&#xf0a8;" +d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="circle_arrow_right" unicode="&#xf0a9;" +d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="circle_arrow_up" unicode="&#xf0aa;" +d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="circle_arrow_down" unicode="&#xf0ab;" +d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="globe" unicode="&#xf0ac;" +d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 +q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 11t-9.5 10q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 +q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 +q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 +t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-4 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 +q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 +q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 +t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 +t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10.5t17 -19.5q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 +q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 +q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 +q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 +t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q8 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 +q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 +q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" /> + <glyph glyph-name="wrench" unicode="&#xf0ad;" horiz-adv-x="1664" +d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 +t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" /> + <glyph glyph-name="tasks" unicode="&#xf0ae;" horiz-adv-x="1792" +d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 +t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" /> + <glyph glyph-name="filter" unicode="&#xf0b0;" horiz-adv-x="1408" +d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" /> + <glyph glyph-name="briefcase" unicode="&#xf0b1;" horiz-adv-x="1792" +d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 +t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" /> + <glyph glyph-name="fullscreen" unicode="&#xf0b2;" +d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 +l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z +" /> + <glyph glyph-name="group" unicode="&#xf0c0;" horiz-adv-x="1920" +d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 +t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 +t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 +t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" /> + <glyph glyph-name="link" unicode="&#xf0c1;" horiz-adv-x="1664" +d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 +l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 +t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 +q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" /> + <glyph glyph-name="cloud" unicode="&#xf0c2;" horiz-adv-x="1920" +d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z +" /> + <glyph glyph-name="beaker" unicode="&#xf0c3;" horiz-adv-x="1664" +d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" /> + <glyph glyph-name="cut" unicode="&#xf0c4;" horiz-adv-x="1792" +d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 +q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 +q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 +q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 +q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" /> + <glyph glyph-name="copy" unicode="&#xf0c5;" horiz-adv-x="1792" +d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 +h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" /> + <glyph glyph-name="paper_clip" unicode="&#xf0c6;" horiz-adv-x="1408" +d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 +l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 +z" /> + <glyph glyph-name="save" unicode="&#xf0c7;" +d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 +h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" /> + <glyph glyph-name="sign_blank" unicode="&#xf0c8;" +d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="reorder" unicode="&#xf0c9;" +d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 +t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" /> + <glyph glyph-name="ul" unicode="&#xf0ca;" horiz-adv-x="1792" +d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 +t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z +M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" /> + <glyph glyph-name="ol" unicode="&#xf0cb;" horiz-adv-x="1792" +d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 +q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 +t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 121.5t0.5 121.5v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216 +q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" /> + <glyph glyph-name="strikethrough" unicode="&#xf0cc;" horiz-adv-x="1792" +d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 98 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 +l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -56 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 +l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" /> + <glyph glyph-name="underline" unicode="&#xf0cd;" +d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 +q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 +q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 +q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" /> + <glyph glyph-name="table" unicode="&#xf0ce;" horiz-adv-x="1664" +d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 +v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 +q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 +q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 +z" /> + <glyph glyph-name="magic" unicode="&#xf0d0;" horiz-adv-x="1664" +d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 +l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" /> + <glyph glyph-name="truck" unicode="&#xf0d1;" horiz-adv-x="1792" +d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 +t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 +t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" /> + <glyph glyph-name="pinterest" unicode="&#xf0d2;" +d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 +q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 +q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="pinterest_sign" unicode="&#xf0d3;" +d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 +t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 +t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" /> + <glyph glyph-name="google_plus_sign" unicode="&#xf0d4;" +d="M917 631q0 26 -6 64h-362v-132h217q-3 -24 -16.5 -50t-37.5 -53t-66.5 -44.5t-96.5 -17.5q-99 0 -169 71t-70 171t70 171t169 71q92 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585 +h109v110h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="google_plus" unicode="&#xf0d5;" horiz-adv-x="2304" +d="M1437 623q0 -208 -87 -370.5t-248 -254t-369 -91.5q-149 0 -285 58t-234 156t-156 234t-58 285t58 285t156 234t234 156t285 58q286 0 491 -192l-199 -191q-117 113 -292 113q-123 0 -227.5 -62t-165.5 -168.5t-61 -232.5t61 -232.5t165.5 -168.5t227.5 -62 +q83 0 152.5 23t114.5 57.5t78.5 78.5t49 83t21.5 74h-416v252h692q12 -63 12 -122zM2304 745v-210h-209v-209h-210v209h-209v210h209v209h210v-209h209z" /> + <glyph glyph-name="money" unicode="&#xf0d6;" horiz-adv-x="1920" +d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 +v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" /> + <glyph glyph-name="caret_down" unicode="&#xf0d7;" horiz-adv-x="1024" +d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" /> + <glyph glyph-name="caret_up" unicode="&#xf0d8;" horiz-adv-x="1024" +d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" /> + <glyph glyph-name="caret_left" unicode="&#xf0d9;" horiz-adv-x="640" +d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" /> + <glyph glyph-name="caret_right" unicode="&#xf0da;" horiz-adv-x="640" +d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" /> + <glyph glyph-name="columns" unicode="&#xf0db;" horiz-adv-x="1664" +d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" /> + <glyph glyph-name="sort" unicode="&#xf0dc;" horiz-adv-x="1024" +d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" /> + <glyph glyph-name="sort_down" unicode="&#xf0dd;" horiz-adv-x="1024" +d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" /> + <glyph glyph-name="sort_up" unicode="&#xf0de;" horiz-adv-x="1024" +d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" /> + <glyph glyph-name="envelope_alt" unicode="&#xf0e0;" horiz-adv-x="1792" +d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 +q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" /> + <glyph glyph-name="linkedin" unicode="&#xf0e1;" +d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 +q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" /> + <glyph glyph-name="undo" unicode="&#xf0e2;" +d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 +t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" /> + <glyph glyph-name="legal" unicode="&#xf0e3;" horiz-adv-x="1792" +d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 +t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 +q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 +q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" /> + <glyph glyph-name="dashboard" unicode="&#xf0e4;" horiz-adv-x="1792" +d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 +t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 +t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 +q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="comment_alt" unicode="&#xf0e5;" horiz-adv-x="1792" +d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 +q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 +t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" /> + <glyph glyph-name="comments_alt" unicode="&#xf0e6;" horiz-adv-x="1792" +d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 +t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 +t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 +q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" /> + <glyph glyph-name="bolt" unicode="&#xf0e7;" horiz-adv-x="896" +d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" /> + <glyph glyph-name="sitemap" unicode="&#xf0e8;" horiz-adv-x="1792" +d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 +q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 +z" /> + <glyph glyph-name="umbrella" unicode="&#xf0e9;" horiz-adv-x="1664" +d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 +q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 +q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" /> + <glyph glyph-name="paste" unicode="&#xf0ea;" horiz-adv-x="1792" +d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 +h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" /> + <glyph glyph-name="light_bulb" unicode="&#xf0eb;" horiz-adv-x="1024" +d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 +q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 +q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 +t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" /> + <glyph glyph-name="exchange" unicode="&#xf0ec;" horiz-adv-x="1792" +d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 +q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" /> + <glyph glyph-name="cloud_download" unicode="&#xf0ed;" horiz-adv-x="1920" +d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 +q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" /> + <glyph glyph-name="cloud_upload" unicode="&#xf0ee;" horiz-adv-x="1920" +d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 +q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" /> + <glyph glyph-name="user_md" unicode="&#xf0f0;" horiz-adv-x="1408" +d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 +t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 +t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 +t271.5 -112.5t112.5 -271.5z" /> + <glyph glyph-name="stethoscope" unicode="&#xf0f1;" horiz-adv-x="1408" +d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 +t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 +t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" /> + <glyph glyph-name="suitcase" unicode="&#xf0f2;" horiz-adv-x="1792" +d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 +t66 -158z" /> + <glyph glyph-name="bell_alt" unicode="&#xf0f3;" horiz-adv-x="1792" +d="M912 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1728 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q50 42 91 88t85 119.5t74.5 158.5 +t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q190 -28 307 -158.5t117 -282.5q0 -139 19.5 -260t50 -206t74.5 -158.5t85 -119.5t91 -88z" /> + <glyph glyph-name="coffee" unicode="&#xf0f4;" horiz-adv-x="1920" +d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 +t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" /> + <glyph glyph-name="food" unicode="&#xf0f5;" horiz-adv-x="1408" +d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 +t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" /> + <glyph glyph-name="file_text_alt" unicode="&#xf0f6;" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M384 736q0 14 9 23t23 9h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64zM1120 512q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704zM1120 256q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704 +q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704z" /> + <glyph glyph-name="building" unicode="&#xf0f7;" horiz-adv-x="1408" +d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" /> + <glyph glyph-name="hospital" unicode="&#xf0f8;" horiz-adv-x="1408" +d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z +M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 +t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 +v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" /> + <glyph glyph-name="ambulance" unicode="&#xf0f9;" horiz-adv-x="1920" +d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 +t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 +q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" /> + <glyph glyph-name="medkit" unicode="&#xf0fa;" horiz-adv-x="1792" +d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 +q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" /> + <glyph glyph-name="fighter_jet" unicode="&#xf0fb;" horiz-adv-x="1920" +d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 +q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q128 -28 200 -52t80 -34z" /> + <glyph glyph-name="beer" unicode="&#xf0fc;" horiz-adv-x="1664" +d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" /> + <glyph glyph-name="h_sign" unicode="&#xf0fd;" +d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 +q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="f0fe" unicode="&#xf0fe;" +d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 +q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="double_angle_left" unicode="&#xf100;" horiz-adv-x="1024" +d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 +t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" /> + <glyph glyph-name="double_angle_right" unicode="&#xf101;" horiz-adv-x="1024" +d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 +l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" /> + <glyph glyph-name="double_angle_up" unicode="&#xf102;" horiz-adv-x="1152" +d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 +q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" /> + <glyph glyph-name="double_angle_down" unicode="&#xf103;" horiz-adv-x="1152" +d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 +t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" /> + <glyph glyph-name="angle_left" unicode="&#xf104;" horiz-adv-x="640" +d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" /> + <glyph glyph-name="angle_right" unicode="&#xf105;" horiz-adv-x="640" +d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" /> + <glyph glyph-name="angle_up" unicode="&#xf106;" horiz-adv-x="1152" +d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" /> + <glyph glyph-name="angle_down" unicode="&#xf107;" horiz-adv-x="1152" +d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" /> + <glyph glyph-name="desktop" unicode="&#xf108;" horiz-adv-x="1920" +d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 +t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" /> + <glyph glyph-name="laptop" unicode="&#xf109;" horiz-adv-x="1920" +d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z +M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" /> + <glyph glyph-name="tablet" unicode="&#xf10a;" horiz-adv-x="1152" +d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 +q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" /> + <glyph glyph-name="mobile_phone" unicode="&#xf10b;" horiz-adv-x="768" +d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 +q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" /> + <glyph glyph-name="circle_blank" unicode="&#xf10c;" +d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 +t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="quote_left" unicode="&#xf10d;" horiz-adv-x="1664" +d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z +M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" /> + <glyph glyph-name="quote_right" unicode="&#xf10e;" horiz-adv-x="1664" +d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 +v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" /> + <glyph glyph-name="spinner" unicode="&#xf110;" horiz-adv-x="1792" +d="M526 142q0 -53 -37.5 -90.5t-90.5 -37.5q-52 0 -90 38t-38 90q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 -64q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -53 -37.5 -90.5t-90.5 -37.5 +t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1522 142q0 -52 -38 -90t-90 -38q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM558 1138q0 -66 -47 -113t-113 -47t-113 47t-47 113t47 113t113 47t113 -47t47 -113z +M1728 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1088 1344q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1618 1138q0 -93 -66 -158.5t-158 -65.5q-93 0 -158.5 65.5t-65.5 158.5 +q0 92 65.5 158t158.5 66q92 0 158 -66t66 -158z" /> + <glyph glyph-name="circle" unicode="&#xf111;" +d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="reply" unicode="&#xf112;" horiz-adv-x="1792" +d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 +l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" /> + <glyph glyph-name="github_alt" unicode="&#xf113;" horiz-adv-x="1664" +d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 +q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 +t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 +q0 -87 -27 -168q136 -160 136 -398z" /> + <glyph glyph-name="folder_close_alt" unicode="&#xf114;" horiz-adv-x="1664" +d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 +q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" /> + <glyph glyph-name="folder_open_alt" unicode="&#xf115;" horiz-adv-x="1920" +d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 +v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z +" /> + <glyph glyph-name="expand_alt" unicode="&#xf116;" horiz-adv-x="1792" + /> + <glyph glyph-name="collapse_alt" unicode="&#xf117;" horiz-adv-x="1792" + /> + <glyph glyph-name="smile" unicode="&#xf118;" +d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 +t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 +t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="frown" unicode="&#xf119;" +d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 +t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 +t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="meh" unicode="&#xf11a;" +d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 +t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="gamepad" unicode="&#xf11b;" horiz-adv-x="1920" +d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 +t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 +t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" /> + <glyph glyph-name="keyboard" unicode="&#xf11c;" horiz-adv-x="1920" +d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 +h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 +h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 +q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 +h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" /> + <glyph glyph-name="flag_alt" unicode="&#xf11d;" horiz-adv-x="1792" +d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 +h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 +q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" /> + <glyph glyph-name="flag_checkered" unicode="&#xf11e;" horiz-adv-x="1792" +d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 +q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 +q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 +q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" /> + <glyph glyph-name="terminal" unicode="&#xf120;" horiz-adv-x="1664" +d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 +t9 -23z" /> + <glyph glyph-name="code" unicode="&#xf121;" horiz-adv-x="1920" +d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 +l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" /> + <glyph glyph-name="reply_all" unicode="&#xf122;" horiz-adv-x="1792" +d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 +q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" /> + <glyph glyph-name="star_half_empty" unicode="&#xf123;" horiz-adv-x="1664" +d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 +l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" /> + <glyph glyph-name="location_arrow" unicode="&#xf124;" horiz-adv-x="1408" +d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" /> + <glyph glyph-name="crop" unicode="&#xf125;" horiz-adv-x="1664" +d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 +v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" /> + <glyph glyph-name="code_fork" unicode="&#xf126;" horiz-adv-x="1024" +d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 +q-2 -287 -226 -414q-67 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 +q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" /> + <glyph glyph-name="unlink" unicode="&#xf127;" horiz-adv-x="1664" +d="M439 265l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 +q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 +l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 +t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" /> + <glyph glyph-name="question" unicode="&#xf128;" horiz-adv-x="1024" +d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 +t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" /> + <glyph glyph-name="_279" unicode="&#xf129;" horiz-adv-x="640" +d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 +q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" /> + <glyph glyph-name="exclamation" unicode="&#xf12a;" horiz-adv-x="640" +d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" /> + <glyph glyph-name="superscript" unicode="&#xf12b;" +d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z +M1534 846v-206h-514l-3 27q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5 +t-65.5 -51.5t-30.5 -63h232v80h126z" /> + <glyph glyph-name="subscript" unicode="&#xf12c;" +d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3q-1 -3 -2.5 -6.5t-3.5 -8t-3 -6.5q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109z +M1536 -50v-206h-514l-4 27q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73 +h232v80h126z" /> + <glyph glyph-name="_283" unicode="&#xf12d;" horiz-adv-x="1920" +d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" /> + <glyph glyph-name="puzzle_piece" unicode="&#xf12e;" horiz-adv-x="1664" +d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 +t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 +q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 +q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" /> + <glyph glyph-name="microphone" unicode="&#xf130;" horiz-adv-x="1152" +d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 +t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" /> + <glyph glyph-name="microphone_off" unicode="&#xf131;" horiz-adv-x="1408" +d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 +q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 +t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" /> + <glyph glyph-name="shield" unicode="&#xf132;" horiz-adv-x="1280" +d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 +t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" /> + <glyph glyph-name="calendar_empty" unicode="&#xf133;" horiz-adv-x="1664" +d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 +q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" /> + <glyph glyph-name="fire_extinguisher" unicode="&#xf134;" horiz-adv-x="1408" +d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 +q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 +q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" /> + <glyph glyph-name="rocket" unicode="&#xf135;" horiz-adv-x="1664" +d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 +q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" /> + <glyph glyph-name="maxcdn" unicode="&#xf136;" horiz-adv-x="1792" +d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" /> + <glyph glyph-name="chevron_sign_left" unicode="&#xf137;" +d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 +t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="chevron_sign_right" unicode="&#xf138;" +d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 +t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="chevron_sign_up" unicode="&#xf139;" +d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 +t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="chevron_sign_down" unicode="&#xf13a;" +d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 +t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="html5" unicode="&#xf13b;" horiz-adv-x="1408" +d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" /> + <glyph glyph-name="css3" unicode="&#xf13c;" horiz-adv-x="1792" +d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" /> + <glyph glyph-name="anchor" unicode="&#xf13d;" horiz-adv-x="1792" +d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 +q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 +t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" /> + <glyph glyph-name="unlock_alt" unicode="&#xf13e;" horiz-adv-x="1152" +d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 +v-320h736z" /> + <glyph glyph-name="bullseye" unicode="&#xf140;" +d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 +t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 +q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="ellipsis_horizontal" unicode="&#xf141;" horiz-adv-x="1408" +d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 +q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" /> + <glyph glyph-name="ellipsis_vertical" unicode="&#xf142;" horiz-adv-x="384" +d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 +q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" /> + <glyph glyph-name="_303" unicode="&#xf143;" +d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 233 -176.5 396.5t-396.5 176.5q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128 +q13 0 23 10t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960 +q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="play_sign" unicode="&#xf144;" +d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 +q16 -8 32 -8q17 0 32 9z" /> + <glyph glyph-name="ticket" unicode="&#xf145;" horiz-adv-x="1792" +d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 +t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" /> + <glyph glyph-name="minus_sign_alt" unicode="&#xf146;" +d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 +t84.5 -203.5z" /> + <glyph glyph-name="check_minus" unicode="&#xf147;" horiz-adv-x="1408" +d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 +t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="level_up" unicode="&#xf148;" horiz-adv-x="1024" +d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" /> + <glyph glyph-name="level_down" unicode="&#xf149;" horiz-adv-x="1024" +d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" /> + <glyph glyph-name="check_sign" unicode="&#xf14a;" +d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 +t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="edit_sign" unicode="&#xf14b;" +d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 +v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_312" unicode="&#xf14c;" +d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 +q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="share_sign" unicode="&#xf14d;" +d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q11 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 +t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="compass" unicode="&#xf14e;" +d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 +t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="collapse" unicode="&#xf150;" +d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 +v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="collapse_top" unicode="&#xf151;" +d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 +q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_317" unicode="&#xf152;" +d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 +t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="eur" unicode="&#xf153;" horiz-adv-x="1024" +d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 +t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 +l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" /> + <glyph glyph-name="gbp" unicode="&#xf154;" horiz-adv-x="1024" +d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 +q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" /> + <glyph glyph-name="usd" unicode="&#xf155;" horiz-adv-x="1024" +d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 +t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 +t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 +t53 -63.5t31.5 -76.5t13 -94z" /> + <glyph glyph-name="inr" unicode="&#xf156;" horiz-adv-x="898" +d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 +q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" /> + <glyph glyph-name="jpy" unicode="&#xf157;" horiz-adv-x="1027" +d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 +l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" /> + <glyph glyph-name="rub" unicode="&#xf158;" horiz-adv-x="1280" +d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 +q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" /> + <glyph glyph-name="krw" unicode="&#xf159;" horiz-adv-x="1792" +d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 +t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 +q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" /> + <glyph glyph-name="btc" unicode="&#xf15a;" horiz-adv-x="1280" +d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 +l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 +t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" /> + <glyph glyph-name="file" unicode="&#xf15b;" +d="M1024 1024v472q22 -14 36 -28l408 -408q14 -14 28 -36h-472zM896 992q0 -40 28 -68t68 -28h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544z" /> + <glyph glyph-name="file_text" unicode="&#xf15c;" +d="M1468 1060q14 -14 28 -36h-472v472q22 -14 36 -28zM992 896h544v-1056q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h800v-544q0 -40 28 -68t68 -28zM1152 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704 +q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23z" /> + <glyph glyph-name="sort_by_alphabet" unicode="&#xf15d;" horiz-adv-x="1664" +d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 +v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 +l230 -662h70z" /> + <glyph glyph-name="_329" unicode="&#xf15e;" horiz-adv-x="1664" +d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 +v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 +v119h121z" /> + <glyph glyph-name="sort_by_attributes" unicode="&#xf160;" horiz-adv-x="1792" +d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 +q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 +q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" /> + <glyph glyph-name="sort_by_attributes_alt" unicode="&#xf161;" horiz-adv-x="1792" +d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 +q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 +q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" /> + <glyph glyph-name="sort_by_order" unicode="&#xf162;" +d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 +zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 +t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" /> + <glyph glyph-name="sort_by_order_alt" unicode="&#xf163;" +d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 +t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 +q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" /> + <glyph glyph-name="_334" unicode="&#xf164;" horiz-adv-x="1664" +d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 +q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 +t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" /> + <glyph glyph-name="_335" unicode="&#xf165;" horiz-adv-x="1664" +d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 +t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 +t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" /> + <glyph glyph-name="youtube_sign" unicode="&#xf166;" +d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 17 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 +q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 +q21 -29 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 +q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78q7 -23 23 -69l24 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38 +q-51 0 -78 -38q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5 +h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="youtube" unicode="&#xf167;" +d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 +q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 +q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 +q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-38 -51 -106 -51q-67 0 -105 51 +q-28 38 -28 118v175q0 80 28 117q38 51 105 51q68 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" /> + <glyph glyph-name="xing" unicode="&#xf168;" horiz-adv-x="1408" +d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 +q25 45 64 45h241q22 0 31 -15z" /> + <glyph glyph-name="xing_sign" unicode="&#xf169;" +d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 +l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="youtube_play" unicode="&#xf16a;" horiz-adv-x="1792" +d="M711 408l484 250l-484 253v-503zM896 1270q168 0 324.5 -4.5t229.5 -9.5l73 -4q1 0 17 -1.5t23 -3t23.5 -4.5t28.5 -8t28 -13t31 -19.5t29 -26.5q6 -6 15.5 -18.5t29 -58.5t26.5 -101q8 -64 12.5 -136.5t5.5 -113.5v-40v-136q1 -145 -18 -290q-7 -55 -25 -99.5t-32 -61.5 +l-14 -17q-14 -15 -29 -26.5t-31 -19t-28 -12.5t-28.5 -8t-24 -4.5t-23 -3t-16.5 -1.5q-251 -19 -627 -19q-207 2 -359.5 6.5t-200.5 7.5l-49 4l-36 4q-36 5 -54.5 10t-51 21t-56.5 41q-6 6 -15.5 18.5t-29 58.5t-26.5 101q-8 64 -12.5 136.5t-5.5 113.5v40v136 +q-1 145 18 290q7 55 25 99.5t32 61.5l14 17q14 15 29 26.5t31 19.5t28 13t28.5 8t23.5 4.5t23 3t17 1.5q251 18 627 18z" /> + <glyph glyph-name="dropbox" unicode="&#xf16b;" horiz-adv-x="1792" +d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" /> + <glyph glyph-name="stackexchange" unicode="&#xf16c;" +d="M1289 -96h-1118v480h-160v-640h1438v640h-160v-480zM347 428l33 157l783 -165l-33 -156zM450 802l67 146l725 -339l-67 -145zM651 1158l102 123l614 -513l-102 -123zM1048 1536l477 -641l-128 -96l-477 641zM330 65v159h800v-159h-800z" /> + <glyph glyph-name="instagram" unicode="&#xf16d;" +d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1162 640q0 -164 -115 -279t-279 -115t-279 115t-115 279t115 279t279 115t279 -115t115 -279zM1270 1050q0 -38 -27 -65t-65 -27t-65 27t-27 65t27 65t65 27t65 -27t27 -65zM768 1270 +q-7 0 -76.5 0.5t-105.5 0t-96.5 -3t-103 -10t-71.5 -18.5q-50 -20 -88 -58t-58 -88q-11 -29 -18.5 -71.5t-10 -103t-3 -96.5t0 -105.5t0.5 -76.5t-0.5 -76.5t0 -105.5t3 -96.5t10 -103t18.5 -71.5q20 -50 58 -88t88 -58q29 -11 71.5 -18.5t103 -10t96.5 -3t105.5 0t76.5 0.5 +t76.5 -0.5t105.5 0t96.5 3t103 10t71.5 18.5q50 20 88 58t58 88q11 29 18.5 71.5t10 103t3 96.5t0 105.5t-0.5 76.5t0.5 76.5t0 105.5t-3 96.5t-10 103t-18.5 71.5q-20 50 -58 88t-88 58q-29 11 -71.5 18.5t-103 10t-96.5 3t-105.5 0t-76.5 -0.5zM1536 640q0 -229 -5 -317 +q-10 -208 -124 -322t-322 -124q-88 -5 -317 -5t-317 5q-208 10 -322 124t-124 322q-5 88 -5 317t5 317q10 208 124 322t322 124q88 5 317 5t317 -5q208 -10 322 -124t124 -322q5 -88 5 -317z" /> + <glyph glyph-name="flickr" unicode="&#xf16e;" +d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 +t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" /> + <glyph glyph-name="adn" unicode="&#xf170;" +d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="f171" unicode="&#xf171;" horiz-adv-x="1408" +d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 +t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 +t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 +t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" /> + <glyph glyph-name="bitbucket_sign" unicode="&#xf172;" +d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 +t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z +M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 +v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="tumblr" unicode="&#xf173;" horiz-adv-x="1024" +d="M944 207l80 -237q-23 -35 -111 -66t-177 -32q-104 -2 -190.5 26t-142.5 74t-95 106t-55.5 120t-16.5 118v544h-168v215q72 26 129 69.5t91 90t58 102t34 99t15 88.5q1 5 4.5 8.5t7.5 3.5h244v-424h333v-252h-334v-518q0 -30 6.5 -56t22.5 -52.5t49.5 -41.5t81.5 -14 +q78 2 134 29z" /> + <glyph glyph-name="tumblr_sign" unicode="&#xf174;" +d="M1136 75l-62 183q-44 -22 -103 -22q-36 -1 -62 10.5t-38.5 31.5t-17.5 40.5t-5 43.5v398h257v194h-256v326h-188q-8 0 -9 -10q-5 -44 -17.5 -87t-39 -95t-77 -95t-118.5 -68v-165h130v-418q0 -57 21.5 -115t65 -111t121 -85.5t176.5 -30.5q69 1 136.5 25t85.5 50z +M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="long_arrow_down" unicode="&#xf175;" horiz-adv-x="768" +d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" /> + <glyph glyph-name="long_arrow_up" unicode="&#xf176;" horiz-adv-x="768" +d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" /> + <glyph glyph-name="long_arrow_left" unicode="&#xf177;" horiz-adv-x="1792" +d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" /> + <glyph glyph-name="long_arrow_right" unicode="&#xf178;" horiz-adv-x="1792" +d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" /> + <glyph glyph-name="apple" unicode="&#xf179;" horiz-adv-x="1408" +d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q113 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 +q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" /> + <glyph glyph-name="windows" unicode="&#xf17a;" horiz-adv-x="1664" +d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" /> + <glyph glyph-name="android" unicode="&#xf17b;" horiz-adv-x="1408" +d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 +t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 +h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" /> + <glyph glyph-name="linux" unicode="&#xf17c;" +d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-10 -11 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z +M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 +q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 +q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 +t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 +q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 +q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18q-2 -1 -4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 +q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 +q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-6 0 -8 -2t0 -4 +t5 -3q14 -4 18 -31q0 -3 8 2q2 2 2 3zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5 +t-30 -18.5t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43 +q-19 4 -51 9.5t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49 +t-14 -48q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54 +q110 143 124 195q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5 +t-40.5 -33.5t-61 -14q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5 +t15.5 47.5q1 -31 8 -56.5t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" /> + <glyph glyph-name="dribble" unicode="&#xf17d;" +d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 +t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 +q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -5 6.5 -17t7.5 -17q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 +t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="skype" unicode="&#xf17e;" +d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 +t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 +q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 +q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" /> + <glyph glyph-name="foursquare" unicode="&#xf180;" horiz-adv-x="1280" +d="M1000 1102l37 194q5 23 -9 40t-35 17h-712q-23 0 -38.5 -17t-15.5 -37v-1101q0 -7 6 -1l291 352q23 26 38 33.5t48 7.5h239q22 0 37 14.5t18 29.5q24 130 37 191q4 21 -11.5 40t-36.5 19h-294q-29 0 -48 19t-19 48v42q0 29 19 47.5t48 18.5h346q18 0 35 13.5t20 29.5z +M1227 1324q-15 -73 -53.5 -266.5t-69.5 -350t-35 -173.5q-6 -22 -9 -32.5t-14 -32.5t-24.5 -33t-38.5 -21t-58 -10h-271q-13 0 -22 -10q-8 -9 -426 -494q-22 -25 -58.5 -28.5t-48.5 5.5q-55 22 -55 98v1410q0 55 38 102.5t120 47.5h888q95 0 127 -53t10 -159zM1227 1324 +l-158 -790q4 17 35 173.5t69.5 350t53.5 266.5z" /> + <glyph glyph-name="trello" unicode="&#xf181;" +d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 +q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" /> + <glyph glyph-name="female" unicode="&#xf182;" horiz-adv-x="1280" +d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 +q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" /> + <glyph glyph-name="male" unicode="&#xf183;" horiz-adv-x="1024" +d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z +M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" /> + <glyph glyph-name="gittip" unicode="&#xf184;" +d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 +t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="sun" unicode="&#xf185;" horiz-adv-x="1792" +d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 +l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 +q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" /> + <glyph glyph-name="_366" unicode="&#xf186;" +d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 +t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" /> + <glyph glyph-name="archive" unicode="&#xf187;" horiz-adv-x="1792" +d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 +q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" /> + <glyph glyph-name="bug" unicode="&#xf188;" horiz-adv-x="1664" +d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 +q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 +t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" /> + <glyph glyph-name="vk" unicode="&#xf189;" horiz-adv-x="1920" +d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-40 -51 -55 -72t-30.5 -49.5t-12 -42t13 -34.5t32.5 -43t57 -53q4 -2 5 -4q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 +t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 +q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q16 19 38 30q53 26 239 24 +q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 +q39 5 64 -2.5t31 -16.5z" /> + <glyph glyph-name="weibo" unicode="&#xf18a;" horiz-adv-x="1792" +d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 +q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 +q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 +q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z +M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" /> + <glyph glyph-name="renren" unicode="&#xf18b;" +d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 +q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" /> + <glyph glyph-name="_372" unicode="&#xf18c;" horiz-adv-x="1408" +d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 +t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 +t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -4 1 -50t-1 -72q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 +t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" /> + <glyph glyph-name="stack_exchange" unicode="&#xf18d;" horiz-adv-x="1280" +d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z +" /> + <glyph glyph-name="_374" unicode="&#xf18e;" +d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 +t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="arrow_circle_alt_left" unicode="&#xf190;" +d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 +t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_376" unicode="&#xf191;" +d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z +M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="dot_circle_alt" unicode="&#xf192;" +d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 +t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_378" unicode="&#xf193;" horiz-adv-x="1664" +d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 +q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 17 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" /> + <glyph glyph-name="vimeo_square" unicode="&#xf194;" +d="M1292 898q10 216 -161 222q-231 8 -312 -261q44 19 82 19q85 0 74 -96q-4 -57 -74 -167t-105 -110q-43 0 -82 169q-13 54 -45 255q-30 189 -160 177q-59 -7 -164 -100l-81 -72l-81 -72l52 -67q76 52 87 52q57 0 107 -179q15 -55 45 -164.5t45 -164.5q68 -179 164 -179 +q157 0 383 294q220 283 226 444zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_380" unicode="&#xf195;" horiz-adv-x="1152" +d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 +q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" /> + <glyph glyph-name="plus_square_o" unicode="&#xf196;" horiz-adv-x="1408" +d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 +q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_382" unicode="&#xf197;" horiz-adv-x="2176" +d="M620 416q-110 -64 -268 -64h-128v64h-64q-13 0 -22.5 23.5t-9.5 56.5q0 24 7 49q-58 2 -96.5 10.5t-38.5 20.5t38.5 20.5t96.5 10.5q-7 25 -7 49q0 33 9.5 56.5t22.5 23.5h64v64h128q158 0 268 -64h1113q42 -7 106.5 -18t80.5 -14q89 -15 150 -40.5t83.5 -47.5t22.5 -40 +t-22.5 -40t-83.5 -47.5t-150 -40.5q-16 -3 -80.5 -14t-106.5 -18h-1113zM1739 668q53 -36 53 -92t-53 -92l81 -30q68 48 68 122t-68 122zM625 400h1015q-217 -38 -456 -80q-57 0 -113 -24t-83 -48l-28 -24l-288 -288q-26 -26 -70.5 -45t-89.5 -19h-96l-93 464h29 +q157 0 273 64zM352 816h-29l93 464h96q46 0 90 -19t70 -45l288 -288q4 -4 11 -10.5t30.5 -23t48.5 -29t61.5 -23t72.5 -10.5l456 -80h-1015q-116 64 -273 64z" /> + <glyph glyph-name="_383" unicode="&#xf198;" horiz-adv-x="1664" +d="M1519 760q62 0 103.5 -40.5t41.5 -101.5q0 -97 -93 -130l-172 -59l56 -167q7 -21 7 -47q0 -59 -42 -102t-101 -43q-47 0 -85.5 27t-53.5 72l-55 165l-310 -106l55 -164q8 -24 8 -47q0 -59 -42 -102t-102 -43q-47 0 -85 27t-53 72l-55 163l-153 -53q-29 -9 -50 -9 +q-61 0 -101.5 40t-40.5 101q0 47 27.5 85t71.5 53l156 53l-105 313l-156 -54q-26 -8 -48 -8q-60 0 -101 40.5t-41 100.5q0 47 27.5 85t71.5 53l157 53l-53 159q-8 24 -8 47q0 60 42 102.5t102 42.5q47 0 85 -27t53 -72l54 -160l310 105l-54 160q-8 24 -8 47q0 59 42.5 102 +t101.5 43q47 0 85.5 -27.5t53.5 -71.5l53 -161l162 55q21 6 43 6q60 0 102.5 -39.5t42.5 -98.5q0 -45 -30 -81.5t-74 -51.5l-157 -54l105 -316l164 56q24 8 46 8zM725 498l310 105l-105 315l-310 -107z" /> + <glyph glyph-name="_384" unicode="&#xf199;" +d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM1280 352v436q-31 -35 -64 -55q-34 -22 -132.5 -85t-151.5 -99q-98 -69 -164 -69v0v0q-66 0 -164 69 +q-47 32 -142 92.5t-142 92.5q-12 8 -33 27t-31 27v-436q0 -40 28 -68t68 -28h832q40 0 68 28t28 68zM1280 925q0 41 -27.5 70t-68.5 29h-832q-40 0 -68 -28t-28 -68q0 -37 30.5 -76.5t67.5 -64.5q47 -32 137.5 -89t129.5 -83q3 -2 17 -11.5t21 -14t21 -13t23.5 -13 +t21.5 -9.5t22.5 -7.5t20.5 -2.5t20.5 2.5t22.5 7.5t21.5 9.5t23.5 13t21 13t21 14t17 11.5l267 174q35 23 66.5 62.5t31.5 73.5z" /> + <glyph glyph-name="_385" unicode="&#xf19a;" horiz-adv-x="1792" +d="M127 640q0 163 67 313l367 -1005q-196 95 -315 281t-119 411zM1415 679q0 -19 -2.5 -38.5t-10 -49.5t-11.5 -44t-17.5 -59t-17.5 -58l-76 -256l-278 826q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-75 1 -202 10q-12 1 -20.5 -5t-11.5 -15t-1.5 -18.5t9 -16.5 +t19.5 -8l80 -8l120 -328l-168 -504l-280 832q46 3 88 8q19 2 26 18.5t-2.5 31t-28.5 13.5l-205 -10q-7 0 -23 0.5t-26 0.5q105 160 274.5 253.5t367.5 93.5q147 0 280.5 -53t238.5 -149h-10q-55 0 -92 -40.5t-37 -95.5q0 -12 2 -24t4 -21.5t8 -23t9 -21t12 -22.5t12.5 -21 +t14.5 -24t14 -23q63 -107 63 -212zM909 573l237 -647q1 -6 5 -11q-126 -44 -255 -44q-112 0 -217 32zM1570 1009q95 -174 95 -369q0 -209 -104 -385.5t-279 -278.5l235 678q59 169 59 276q0 42 -6 79zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286 +t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 -215q173 0 331.5 68t273 182.5t182.5 273t68 331.5t-68 331.5t-182.5 273t-273 182.5t-331.5 68t-331.5 -68t-273 -182.5t-182.5 -273t-68 -331.5t68 -331.5t182.5 -273 +t273 -182.5t331.5 -68z" /> + <glyph glyph-name="_386" unicode="&#xf19b;" horiz-adv-x="1792" +d="M1086 1536v-1536l-272 -128q-228 20 -414 102t-293 208.5t-107 272.5q0 140 100.5 263.5t275 205.5t391.5 108v-172q-217 -38 -356.5 -150t-139.5 -255q0 -152 154.5 -267t388.5 -145v1360zM1755 954l37 -390l-525 114l147 83q-119 70 -280 99v172q277 -33 481 -157z" /> + <glyph glyph-name="_387" unicode="&#xf19c;" horiz-adv-x="2048" +d="M960 1536l960 -384v-128h-128q0 -26 -20.5 -45t-48.5 -19h-1526q-28 0 -48.5 19t-20.5 45h-128v128zM256 896h256v-768h128v768h256v-768h128v768h256v-768h128v768h256v-768h59q28 0 48.5 -19t20.5 -45v-64h-1664v64q0 26 20.5 45t48.5 19h59v768zM1851 -64 +q28 0 48.5 -19t20.5 -45v-128h-1920v128q0 26 20.5 45t48.5 19h1782z" /> + <glyph glyph-name="_388" unicode="&#xf19d;" horiz-adv-x="2304" +d="M1774 700l18 -316q4 -69 -82 -128t-235 -93.5t-323 -34.5t-323 34.5t-235 93.5t-82 128l18 316l574 -181q22 -7 48 -7t48 7zM2304 1024q0 -23 -22 -31l-1120 -352q-4 -1 -10 -1t-10 1l-652 206q-43 -34 -71 -111.5t-34 -178.5q63 -36 63 -109q0 -69 -58 -107l58 -433 +q2 -14 -8 -25q-9 -11 -24 -11h-192q-15 0 -24 11q-10 11 -8 25l58 433q-58 38 -58 107q0 73 65 111q11 207 98 330l-333 104q-22 8 -22 31t22 31l1120 352q4 1 10 1t10 -1l1120 -352q22 -8 22 -31z" /> + <glyph glyph-name="_389" unicode="&#xf19e;" +d="M859 579l13 -707q-62 11 -105 11q-41 0 -105 -11l13 707q-40 69 -168.5 295.5t-216.5 374.5t-181 287q58 -15 108 -15q44 0 111 15q63 -111 133.5 -229.5t167 -276.5t138.5 -227q37 61 109.5 177.5t117.5 190t105 176t107 189.5q54 -14 107 -14q56 0 114 14v0 +q-28 -39 -60 -88.5t-49.5 -78.5t-56.5 -96t-49 -84q-146 -248 -353 -610z" /> + <glyph glyph-name="uniF1A0" unicode="&#xf1a0;" +d="M768 750h725q12 -67 12 -128q0 -217 -91 -387.5t-259.5 -266.5t-386.5 -96q-157 0 -299 60.5t-245 163.5t-163.5 245t-60.5 299t60.5 299t163.5 245t245 163.5t299 60.5q300 0 515 -201l-209 -201q-123 119 -306 119q-129 0 -238.5 -65t-173.5 -176.5t-64 -243.5 +t64 -243.5t173.5 -176.5t238.5 -65q87 0 160 24t120 60t82 82t51.5 87t22.5 78h-436v264z" /> + <glyph glyph-name="f1a1" unicode="&#xf1a1;" horiz-adv-x="1792" +d="M1095 369q16 -16 0 -31q-62 -62 -199 -62t-199 62q-16 15 0 31q6 6 15 6t15 -6q48 -49 169 -49q120 0 169 49q6 6 15 6t15 -6zM788 550q0 -37 -26 -63t-63 -26t-63.5 26t-26.5 63q0 38 26.5 64t63.5 26t63 -26.5t26 -63.5zM1183 550q0 -37 -26.5 -63t-63.5 -26t-63 26 +t-26 63t26 63.5t63 26.5t63.5 -26t26.5 -64zM1434 670q0 49 -35 84t-85 35t-86 -36q-130 90 -311 96l63 283l200 -45q0 -37 26 -63t63 -26t63.5 26.5t26.5 63.5t-26.5 63.5t-63.5 26.5q-54 0 -80 -50l-221 49q-19 5 -25 -16l-69 -312q-180 -7 -309 -97q-35 37 -87 37 +q-50 0 -85 -35t-35 -84q0 -35 18.5 -64t49.5 -44q-6 -27 -6 -56q0 -142 140 -243t337 -101q198 0 338 101t140 243q0 32 -7 57q30 15 48 43.5t18 63.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191 +t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="_392" unicode="&#xf1a2;" +d="M939 407q13 -13 0 -26q-53 -53 -171 -53t-171 53q-13 13 0 26q5 6 13 6t13 -6q42 -42 145 -42t145 42q5 6 13 6t13 -6zM676 563q0 -31 -23 -54t-54 -23t-54 23t-23 54q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1014 563q0 -31 -23 -54t-54 -23t-54 23t-23 54 +q0 32 22.5 54.5t54.5 22.5t54.5 -22.5t22.5 -54.5zM1229 666q0 42 -30 72t-73 30q-42 0 -73 -31q-113 78 -267 82l54 243l171 -39q1 -32 23.5 -54t53.5 -22q32 0 54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5q-48 0 -69 -43l-189 42q-17 5 -21 -13l-60 -268q-154 -6 -265 -83 +q-30 32 -74 32q-43 0 -73 -30t-30 -72q0 -30 16 -55t42 -38q-5 -25 -5 -48q0 -122 120 -208.5t289 -86.5q170 0 290 86.5t120 208.5q0 25 -6 49q25 13 40.5 37.5t15.5 54.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 +q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_393" unicode="&#xf1a3;" +d="M866 697l90 27v62q0 79 -58 135t-138 56t-138 -55.5t-58 -134.5v-283q0 -20 -14 -33.5t-33 -13.5t-32.5 13.5t-13.5 33.5v120h-151v-122q0 -82 57.5 -139t139.5 -57q81 0 138.5 56.5t57.5 136.5v280q0 19 13.5 33t33.5 14q19 0 32.5 -14t13.5 -33v-54zM1199 502v122h-150 +v-126q0 -20 -13.5 -33.5t-33.5 -13.5q-19 0 -32.5 14t-13.5 33v123l-90 -26l-60 28v-123q0 -80 58 -137t139 -57t138.5 57t57.5 139zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103 +t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="f1a4" unicode="&#xf1a4;" horiz-adv-x="1920" +d="M1062 824v118q0 42 -30 72t-72 30t-72 -30t-30 -72v-612q0 -175 -126 -299t-303 -124q-178 0 -303.5 125.5t-125.5 303.5v266h328v-262q0 -43 30 -72.5t72 -29.5t72 29.5t30 72.5v620q0 171 126.5 292t301.5 121q176 0 302 -122t126 -294v-136l-195 -58zM1592 602h328 +v-266q0 -178 -125.5 -303.5t-303.5 -125.5q-177 0 -303 124.5t-126 300.5v268l131 -61l195 58v-270q0 -42 30 -71.5t72 -29.5t72 29.5t30 71.5v275z" /> + <glyph glyph-name="_395" unicode="&#xf1a5;" +d="M1472 160v480h-704v704h-480q-93 0 -158.5 -65.5t-65.5 -158.5v-480h704v-704h480q93 0 158.5 65.5t65.5 158.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 +t84.5 -203.5z" /> + <glyph glyph-name="_396" unicode="&#xf1a6;" horiz-adv-x="2048" +d="M328 1254h204v-983h-532v697h328v286zM328 435v369h-123v-369h123zM614 968v-697h205v697h-205zM614 1254v-204h205v204h-205zM901 968h533v-942h-533v163h328v82h-328v697zM1229 435v369h-123v-369h123zM1516 968h532v-942h-532v163h327v82h-327v697zM1843 435v369h-123 +v-369h123z" /> + <glyph glyph-name="_397" unicode="&#xf1a7;" +d="M1046 516q0 -64 -38 -109t-91 -45q-43 0 -70 15v277q28 17 70 17q53 0 91 -45.5t38 -109.5zM703 944q0 -64 -38 -109.5t-91 -45.5q-43 0 -70 15v277q28 17 70 17q53 0 91 -45t38 -109zM1265 513q0 134 -88 229t-213 95q-20 0 -39 -3q-23 -78 -78 -136q-87 -95 -211 -101 +v-636l211 41v206q51 -19 117 -19q125 0 213 95t88 229zM922 940q0 134 -88.5 229t-213.5 95q-74 0 -141 -36h-186v-840l211 41v206q55 -19 116 -19q125 0 213.5 95t88.5 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960 +q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_398" unicode="&#xf1a8;" horiz-adv-x="2038" +d="M1222 607q75 3 143.5 -20.5t118 -58.5t101 -94.5t84 -108t75.5 -120.5q33 -56 78.5 -109t75.5 -80.5t99 -88.5q-48 -30 -108.5 -57.5t-138.5 -59t-114 -47.5q-44 37 -74 115t-43.5 164.5t-33 180.5t-42.5 168.5t-72.5 123t-122.5 48.5l-10 -2l-6 -4q4 -5 13 -14 +q6 -5 28 -23.5t25.5 -22t19 -18t18 -20.5t11.5 -21t10.5 -27.5t4.5 -31t4 -40.5l1 -33q1 -26 -2.5 -57.5t-7.5 -52t-12.5 -58.5t-11.5 -53q-35 1 -101 -9.5t-98 -10.5q-39 0 -72 10q-2 16 -2 47q0 74 3 96q2 13 31.5 41.5t57 59t26.5 51.5q-24 2 -43 -24 +q-36 -53 -111.5 -99.5t-136.5 -46.5q-25 0 -75.5 63t-106.5 139.5t-84 96.5q-6 4 -27 30q-482 -112 -513 -112q-16 0 -28 11t-12 27q0 15 8.5 26.5t22.5 14.5l486 106q-8 14 -8 25t5.5 17.5t16 11.5t20 7t23 4.5t18.5 4.5q4 1 15.5 7.5t17.5 6.5q15 0 28 -16t20 -33 +q163 37 172 37q17 0 29.5 -11t12.5 -28q0 -15 -8.5 -26t-23.5 -14l-182 -40l-1 -16q-1 -26 81.5 -117.5t104.5 -91.5q47 0 119 80t72 129q0 36 -23.5 53t-51 18.5t-51 11.5t-23.5 34q0 16 10 34l-68 19q43 44 43 117q0 26 -5 58q82 16 144 16q44 0 71.5 -1.5t48.5 -8.5 +t31 -13.5t20.5 -24.5t15.5 -33.5t17 -47.5t24 -60l50 25q-3 -40 -23 -60t-42.5 -21t-40 -6.5t-16.5 -20.5zM1282 842q-5 5 -13.5 15.5t-12 14.5t-10.5 11.5t-10 10.5l-8 8t-8.5 7.5t-8 5t-8.5 4.5q-7 3 -14.5 5t-20.5 2.5t-22 0.5h-32.5h-37.5q-126 0 -217 -43 +q16 30 36 46.5t54 29.5t65.5 36t46 36.5t50 55t43.5 50.5q12 -9 28 -31.5t32 -36.5t38 -13l12 1v-76l22 -1q247 95 371 190q28 21 50 39t42.5 37.5t33 31t29.5 34t24 31t24.5 37t23 38t27 47.5t29.5 53l7 9q-2 -53 -43 -139q-79 -165 -205 -264t-306 -142q-14 -3 -42 -7.5 +t-50 -9.5t-39 -14q3 -19 24.5 -46t21.5 -34q0 -11 -26 -30zM1061 -79q39 26 131.5 47.5t146.5 21.5q9 0 22.5 -15.5t28 -42.5t26 -50t24 -51t14.5 -33q-121 -45 -244 -45q-61 0 -125 11zM822 568l48 12l109 -177l-73 -48zM1323 51q3 -15 3 -16q0 -7 -17.5 -14.5t-46 -13 +t-54 -9.5t-53.5 -7.5t-32 -4.5l-7 43q21 2 60.5 8.5t72 10t60.5 3.5h14zM866 679l-96 -20l-6 17q10 1 32.5 7t34.5 6q19 0 35 -10zM1061 45h31l10 -83l-41 -12v95zM1950 1535v1v-1zM1950 1535l-1 -5l-2 -2l1 3zM1950 1535l1 1z" /> + <glyph glyph-name="_399" unicode="&#xf1a9;" +d="M1167 -50q-5 19 -24 5q-30 -22 -87 -39t-131 -17q-129 0 -193 49q-5 4 -13 4q-11 0 -26 -12q-7 -6 -7.5 -16t7.5 -20q34 -32 87.5 -46t102.5 -12.5t99 4.5q41 4 84.5 20.5t65 30t28.5 20.5q12 12 7 29zM1128 65q-19 47 -39 61q-23 15 -76 15q-47 0 -71 -10 +q-29 -12 -78 -56q-26 -24 -12 -44q9 -8 17.5 -4.5t31.5 23.5q3 2 10.5 8.5t10.5 8.5t10 7t11.5 7t12.5 5t15 4.5t16.5 2.5t20.5 1q27 0 44.5 -7.5t23 -14.5t13.5 -22q10 -17 12.5 -20t12.5 1q23 12 14 34zM1483 346q0 22 -5 44.5t-16.5 45t-34 36.5t-52.5 14 +q-33 0 -97 -41.5t-129 -83.5t-101 -42q-27 -1 -63.5 19t-76 49t-83.5 58t-100 49t-111 19q-115 -1 -197 -78.5t-84 -178.5q-2 -112 74 -164q29 -20 62.5 -28.5t103.5 -8.5q57 0 132 32.5t134 71t120 70.5t93 31q26 -1 65 -31.5t71.5 -67t68 -67.5t55.5 -32q35 -3 58.5 14 +t55.5 63q28 41 42.5 101t14.5 106zM1536 506q0 -164 -62 -304.5t-166 -236t-242.5 -149.5t-290.5 -54t-293 57.5t-247.5 157t-170.5 241.5t-64 302q0 89 19.5 172.5t49 145.5t70.5 118.5t78.5 94t78.5 69.5t64.5 46.5t42.5 24.5q14 8 51 26.5t54.5 28.5t48 30t60.5 44 +q36 28 58 72.5t30 125.5q129 -155 186 -193q44 -29 130 -68t129 -66q21 -13 39 -25t60.5 -46.5t76 -70.5t75 -95t69 -122t47 -148.5t19.5 -177.5z" /> + <glyph glyph-name="_400" unicode="&#xf1aa;" +d="M1070 463l-160 -160l-151 -152l-30 -30q-65 -64 -151.5 -87t-171.5 -2q-16 -70 -72 -115t-129 -45q-85 0 -145 60.5t-60 145.5q0 72 44.5 128t113.5 72q-22 86 1 173t88 152l12 12l151 -152l-11 -11q-37 -37 -37 -89t37 -90q37 -37 89 -37t89 37l30 30l151 152l161 160z +M729 1145l12 -12l-152 -152l-12 12q-37 37 -89 37t-89 -37t-37 -89.5t37 -89.5l29 -29l152 -152l160 -160l-151 -152l-161 160l-151 152l-30 30q-68 67 -90 159.5t5 179.5q-70 15 -115 71t-45 129q0 85 60 145.5t145 60.5q76 0 133.5 -49t69.5 -123q84 20 169.5 -3.5 +t149.5 -87.5zM1536 78q0 -85 -60 -145.5t-145 -60.5q-74 0 -131 47t-71 118q-86 -28 -179.5 -6t-161.5 90l-11 12l151 152l12 -12q37 -37 89 -37t89 37t37 89t-37 89l-30 30l-152 152l-160 160l152 152l160 -160l152 -152l29 -30q64 -64 87.5 -150.5t2.5 -171.5 +q76 -11 126.5 -68.5t50.5 -134.5zM1534 1202q0 -77 -51 -135t-127 -69q26 -85 3 -176.5t-90 -158.5l-12 -12l-151 152l12 12q37 37 37 89t-37 89t-89 37t-89 -37l-30 -30l-152 -152l-160 -160l-152 152l161 160l152 152l29 30q67 67 159 89.5t178 -3.5q11 75 68.5 126 +t135.5 51q85 0 145 -60.5t60 -145.5z" /> + <glyph glyph-name="f1ab" unicode="&#xf1ab;" +d="M654 458q-1 -3 -12.5 0.5t-31.5 11.5l-20 9q-44 20 -87 49q-7 5 -41 31.5t-38 28.5q-67 -103 -134 -181q-81 -95 -105 -110q-4 -2 -19.5 -4t-18.5 0q6 4 82 92q21 24 85.5 115t78.5 118q17 30 51 98.5t36 77.5q-8 1 -110 -33q-8 -2 -27.5 -7.5t-34.5 -9.5t-17 -5 +q-2 -2 -2 -10.5t-1 -9.5q-5 -10 -31 -15q-23 -7 -47 0q-18 4 -28 21q-4 6 -5 23q6 2 24.5 5t29.5 6q58 16 105 32q100 35 102 35q10 2 43 19.5t44 21.5q9 3 21.5 8t14.5 5.5t6 -0.5q2 -12 -1 -33q0 -2 -12.5 -27t-26.5 -53.5t-17 -33.5q-25 -50 -77 -131l64 -28 +q12 -6 74.5 -32t67.5 -28q4 -1 10.5 -25.5t4.5 -30.5zM449 944q3 -15 -4 -28q-12 -23 -50 -38q-30 -12 -60 -12q-26 3 -49 26q-14 15 -18 41l1 3q3 -3 19.5 -5t26.5 0t58 16q36 12 55 14q17 0 21 -17zM1147 815l63 -227l-139 42zM39 15l694 232v1032l-694 -233v-1031z +M1280 332l102 -31l-181 657l-100 31l-216 -536l102 -31l45 110l211 -65zM777 1294l573 -184v380zM1088 -29l158 -13l-54 -160l-40 66q-130 -83 -276 -108q-58 -12 -91 -12h-84q-79 0 -199.5 39t-183.5 85q-8 7 -8 16q0 8 5 13.5t13 5.5q4 0 18 -7.5t30.5 -16.5t20.5 -11 +q73 -37 159.5 -61.5t157.5 -24.5q95 0 167 14.5t157 50.5q15 7 30.5 15.5t34 19t28.5 16.5zM1536 1050v-1079l-774 246q-14 -6 -375 -127.5t-368 -121.5q-13 0 -18 13q0 1 -1 3v1078q3 9 4 10q5 6 20 11q107 36 149 50v384l558 -198q2 0 160.5 55t316 108.5t161.5 53.5 +q20 0 20 -21v-418z" /> + <glyph glyph-name="_402" unicode="&#xf1ac;" horiz-adv-x="1792" +d="M288 1152q66 0 113 -47t47 -113v-1088q0 -66 -47 -113t-113 -47h-128q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h128zM1664 989q58 -34 93 -93t35 -128v-768q0 -106 -75 -181t-181 -75h-864q-66 0 -113 47t-47 113v1536q0 40 28 68t68 28h672q40 0 88 -20t76 -48 +l152 -152q28 -28 48 -76t20 -88v-163zM928 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM928 512v128q0 14 -9 23 +t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1184 256v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128 +q14 0 23 9t9 23zM1184 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 0v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 256v128q0 14 -9 23t-23 9h-128 +q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1440 512v128q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h128q14 0 23 9t9 23zM1536 896v256h-160q-40 0 -68 28t-28 68v160h-640v-512h896z" /> + <glyph glyph-name="_403" unicode="&#xf1ad;" +d="M1344 1536q26 0 45 -19t19 -45v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280zM512 1248v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 992v-64q0 -14 9 -23t23 -9h64q14 0 23 9 +t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 736v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM512 480v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 160v64 +q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 +q14 0 23 9t9 23zM384 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM384 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 -96v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9 +t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM896 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 928v64 +q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM896 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 160v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64 +q14 0 23 9t9 23zM1152 416v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 672v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 928v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9 +t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1152 1184v64q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h64q14 0 23 9t9 23z" /> + <glyph glyph-name="_404" unicode="&#xf1ae;" horiz-adv-x="1280" +d="M1188 988l-292 -292v-824q0 -46 -33 -79t-79 -33t-79 33t-33 79v384h-64v-384q0 -46 -33 -79t-79 -33t-79 33t-33 79v824l-292 292q-28 28 -28 68t28 68q29 28 68.5 28t67.5 -28l228 -228h368l228 228q28 28 68 28t68 -28q28 -29 28 -68.5t-28 -67.5zM864 1152 +q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" /> + <glyph glyph-name="uniF1B1" unicode="&#xf1b0;" horiz-adv-x="1664" +d="M780 1064q0 -60 -19 -113.5t-63 -92.5t-105 -39q-76 0 -138 57.5t-92 135.5t-30 151q0 60 19 113.5t63 92.5t105 39q77 0 138.5 -57.5t91.5 -135t30 -151.5zM438 581q0 -80 -42 -139t-119 -59q-76 0 -141.5 55.5t-100.5 133.5t-35 152q0 80 42 139.5t119 59.5 +q76 0 141.5 -55.5t100.5 -134t35 -152.5zM832 608q118 0 255 -97.5t229 -237t92 -254.5q0 -46 -17 -76.5t-48.5 -45t-64.5 -20t-76 -5.5q-68 0 -187.5 45t-182.5 45q-66 0 -192.5 -44.5t-200.5 -44.5q-183 0 -183 146q0 86 56 191.5t139.5 192.5t187.5 146t193 59zM1071 819 +q-61 0 -105 39t-63 92.5t-19 113.5q0 74 30 151.5t91.5 135t138.5 57.5q61 0 105 -39t63 -92.5t19 -113.5q0 -73 -30 -151t-92 -135.5t-138 -57.5zM1503 923q77 0 119 -59.5t42 -139.5q0 -74 -35 -152t-100.5 -133.5t-141.5 -55.5q-77 0 -119 59t-42 139q0 74 35 152.5 +t100.5 134t141.5 55.5z" /> + <glyph glyph-name="_406" unicode="&#xf1b1;" horiz-adv-x="768" +d="M704 1008q0 -145 -57 -243.5t-152 -135.5l45 -821q2 -26 -16 -45t-44 -19h-192q-26 0 -44 19t-16 45l45 821q-95 37 -152 135.5t-57 243.5q0 128 42.5 249.5t117.5 200t160 78.5t160 -78.5t117.5 -200t42.5 -249.5z" /> + <glyph glyph-name="_407" unicode="&#xf1b2;" horiz-adv-x="1792" +d="M896 -93l640 349v636l-640 -233v-752zM832 772l698 254l-698 254l-698 -254zM1664 1024v-768q0 -35 -18 -65t-49 -47l-704 -384q-28 -16 -61 -16t-61 16l-704 384q-31 17 -49 47t-18 65v768q0 40 23 73t61 47l704 256q22 8 44 8t44 -8l704 -256q38 -14 61 -47t23 -73z +" /> + <glyph glyph-name="_408" unicode="&#xf1b3;" horiz-adv-x="2304" +d="M640 -96l384 192v314l-384 -164v-342zM576 358l404 173l-404 173l-404 -173zM1664 -96l384 192v314l-384 -164v-342zM1600 358l404 173l-404 173l-404 -173zM1152 651l384 165v266l-384 -164v-267zM1088 1030l441 189l-441 189l-441 -189zM2176 512v-416q0 -36 -19 -67 +t-52 -47l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-4 2 -7 4q-2 -2 -7 -4l-448 -224q-25 -14 -57 -14t-57 14l-448 224q-33 16 -52 47t-19 67v416q0 38 21.5 70t56.5 48l434 186v400q0 38 21.5 70t56.5 48l448 192q23 10 50 10t50 -10l448 -192q35 -16 56.5 -48t21.5 -70 +v-400l434 -186q36 -16 57 -48t21 -70z" /> + <glyph glyph-name="_409" unicode="&#xf1b4;" horiz-adv-x="2048" +d="M1848 1197h-511v-124h511v124zM1596 771q-90 0 -146 -52.5t-62 -142.5h408q-18 195 -200 195zM1612 186q63 0 122 32t76 87h221q-100 -307 -427 -307q-214 0 -340.5 132t-126.5 347q0 208 130.5 345.5t336.5 137.5q138 0 240.5 -68t153 -179t50.5 -248q0 -17 -2 -47h-658 +q0 -111 57.5 -171.5t166.5 -60.5zM277 236h296q205 0 205 167q0 180 -199 180h-302v-347zM277 773h281q78 0 123.5 36.5t45.5 113.5q0 144 -190 144h-260v-294zM0 1282h594q87 0 155 -14t126.5 -47.5t90 -96.5t31.5 -154q0 -181 -172 -263q114 -32 172 -115t58 -204 +q0 -75 -24.5 -136.5t-66 -103.5t-98.5 -71t-121 -42t-134 -13h-611v1260z" /> + <glyph glyph-name="_410" unicode="&#xf1b5;" +d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM499 1041h-371v-787h382q117 0 197 57.5t80 170.5q0 158 -143 200q107 52 107 164q0 57 -19.5 96.5 +t-56.5 60.5t-79 29.5t-97 8.5zM477 723h-176v184h163q119 0 119 -90q0 -94 -106 -94zM486 388h-185v217h189q124 0 124 -113q0 -104 -128 -104zM1136 356q-68 0 -104 38t-36 107h411q1 10 1 30q0 132 -74.5 220.5t-203.5 88.5q-128 0 -210 -86t-82 -216q0 -135 79 -217 +t213 -82q205 0 267 191h-138q-11 -34 -47.5 -54t-75.5 -20zM1126 722q113 0 124 -122h-254q4 56 39 89t91 33zM964 988h319v-77h-319v77z" /> + <glyph glyph-name="_411" unicode="&#xf1b6;" horiz-adv-x="1792" +d="M1582 954q0 -101 -71.5 -172.5t-172.5 -71.5t-172.5 71.5t-71.5 172.5t71.5 172.5t172.5 71.5t172.5 -71.5t71.5 -172.5zM812 212q0 104 -73 177t-177 73q-27 0 -54 -6l104 -42q77 -31 109.5 -106.5t1.5 -151.5q-31 -77 -107 -109t-152 -1q-21 8 -62 24.5t-61 24.5 +q32 -60 91 -96.5t130 -36.5q104 0 177 73t73 177zM1642 953q0 126 -89.5 215.5t-215.5 89.5q-127 0 -216.5 -89.5t-89.5 -215.5q0 -127 89.5 -216t216.5 -89q126 0 215.5 89t89.5 216zM1792 953q0 -189 -133.5 -322t-321.5 -133l-437 -319q-12 -129 -109 -218t-229 -89 +q-121 0 -214 76t-118 192l-230 92v429l389 -157q79 48 173 48q13 0 35 -2l284 407q2 187 135.5 319t320.5 132q188 0 321.5 -133.5t133.5 -321.5z" /> + <glyph glyph-name="_412" unicode="&#xf1b7;" +d="M1242 889q0 80 -57 136.5t-137 56.5t-136.5 -57t-56.5 -136q0 -80 56.5 -136.5t136.5 -56.5t137 56.5t57 136.5zM632 301q0 -83 -58 -140.5t-140 -57.5q-56 0 -103 29t-72 77q52 -20 98 -40q60 -24 120 1.5t85 86.5q24 60 -1.5 120t-86.5 84l-82 33q22 5 42 5 +q82 0 140 -57.5t58 -140.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v153l172 -69q20 -92 93.5 -152t168.5 -60q104 0 181 70t87 173l345 252q150 0 255.5 105.5t105.5 254.5q0 150 -105.5 255.5t-255.5 105.5 +q-148 0 -253 -104.5t-107 -252.5l-225 -322q-9 1 -28 1q-75 0 -137 -37l-297 119v468q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5zM1289 887q0 -100 -71 -170.5t-171 -70.5t-170.5 70.5t-70.5 170.5t70.5 171t170.5 71q101 0 171.5 -70.5t70.5 -171.5z +" /> + <glyph glyph-name="_413" unicode="&#xf1b8;" horiz-adv-x="1792" +d="M836 367l-15 -368l-2 -22l-420 29q-36 3 -67 31.5t-47 65.5q-11 27 -14.5 55t4 65t12 55t21.5 64t19 53q78 -12 509 -28zM449 953l180 -379l-147 92q-63 -72 -111.5 -144.5t-72.5 -125t-39.5 -94.5t-18.5 -63l-4 -21l-190 357q-17 26 -18 56t6 47l8 18q35 63 114 188 +l-140 86zM1680 436l-188 -359q-12 -29 -36.5 -46.5t-43.5 -20.5l-18 -4q-71 -7 -219 -12l8 -164l-230 367l211 362l7 -173q170 -16 283 -5t170 33zM895 1360q-47 -63 -265 -435l-317 187l-19 12l225 356q20 31 60 45t80 10q24 -2 48.5 -12t42 -21t41.5 -33t36 -34.5 +t36 -39.5t32 -35zM1550 1053l212 -363q18 -37 12.5 -76t-27.5 -74q-13 -20 -33 -37t-38 -28t-48.5 -22t-47 -16t-51.5 -14t-46 -12q-34 72 -265 436l313 195zM1407 1279l142 83l-220 -373l-419 20l151 86q-34 89 -75 166t-75.5 123.5t-64.5 80t-47 46.5l-17 13l405 -1 +q31 3 58 -10.5t39 -28.5l11 -15q39 -61 112 -190z" /> + <glyph glyph-name="_414" unicode="&#xf1b9;" horiz-adv-x="2048" +d="M480 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM516 768h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5zM1888 448q0 66 -47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47t113 47t47 113zM2048 544v-384 +q0 -14 -9 -23t-23 -9h-96v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-1024v-128q0 -80 -56 -136t-136 -56t-136 56t-56 136v128h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5t179 63.5h768q98 0 179 -63.5t104 -157.5 +l105 -419h28q93 0 158.5 -65.5t65.5 -158.5z" /> + <glyph glyph-name="_415" unicode="&#xf1ba;" horiz-adv-x="2048" +d="M1824 640q93 0 158.5 -65.5t65.5 -158.5v-384q0 -14 -9 -23t-23 -9h-96v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-1024v-64q0 -80 -56 -136t-136 -56t-136 56t-56 136v64h-96q-14 0 -23 9t-9 23v384q0 93 65.5 158.5t158.5 65.5h28l105 419q23 94 104 157.5 +t179 63.5h128v224q0 14 9 23t23 9h448q14 0 23 -9t9 -23v-224h128q98 0 179 -63.5t104 -157.5l105 -419h28zM320 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM516 640h1016l-89 357q-2 8 -14 17.5t-21 9.5h-768q-9 0 -21 -9.5t-14 -17.5z +M1728 160q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47z" /> + <glyph glyph-name="_416" unicode="&#xf1bb;" +d="M1504 64q0 -26 -19 -45t-45 -19h-462q1 -17 6 -87.5t5 -108.5q0 -25 -18 -42.5t-43 -17.5h-320q-25 0 -43 17.5t-18 42.5q0 38 5 108.5t6 87.5h-462q-26 0 -45 19t-19 45t19 45l402 403h-229q-26 0 -45 19t-19 45t19 45l402 403h-197q-26 0 -45 19t-19 45t19 45l384 384 +q19 19 45 19t45 -19l384 -384q19 -19 19 -45t-19 -45t-45 -19h-197l402 -403q19 -19 19 -45t-19 -45t-45 -19h-229l402 -403q19 -19 19 -45z" /> + <glyph glyph-name="_417" unicode="&#xf1bc;" +d="M1127 326q0 32 -30 51q-193 115 -447 115q-133 0 -287 -34q-42 -9 -42 -52q0 -20 13.5 -34.5t35.5 -14.5q5 0 37 8q132 27 243 27q226 0 397 -103q19 -11 33 -11q19 0 33 13.5t14 34.5zM1223 541q0 40 -35 61q-237 141 -548 141q-153 0 -303 -42q-48 -13 -48 -64 +q0 -25 17.5 -42.5t42.5 -17.5q7 0 37 8q122 33 251 33q279 0 488 -124q24 -13 38 -13q25 0 42.5 17.5t17.5 42.5zM1331 789q0 47 -40 70q-126 73 -293 110.5t-343 37.5q-204 0 -364 -47q-23 -7 -38.5 -25.5t-15.5 -48.5q0 -31 20.5 -52t51.5 -21q11 0 40 8q133 37 307 37 +q159 0 309.5 -34t253.5 -95q21 -12 40 -12q29 0 50.5 20.5t21.5 51.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_418" unicode="&#xf1bd;" horiz-adv-x="1024" +d="M1024 1233l-303 -582l24 -31h279v-415h-507l-44 -30l-142 -273l-30 -30h-301v303l303 583l-24 30h-279v415h507l44 30l142 273l30 30h301v-303z" /> + <glyph glyph-name="_419" unicode="&#xf1be;" horiz-adv-x="2304" +d="M784 164l16 241l-16 523q-1 10 -7.5 17t-16.5 7q-9 0 -16 -7t-7 -17l-14 -523l14 -241q1 -10 7.5 -16.5t15.5 -6.5q22 0 24 23zM1080 193l11 211l-12 586q0 16 -13 24q-8 5 -16 5t-16 -5q-13 -8 -13 -24l-1 -6l-10 -579q0 -1 11 -236v-1q0 -10 6 -17q9 -11 23 -11 +q11 0 20 9q9 7 9 20zM35 533l20 -128l-20 -126q-2 -9 -9 -9t-9 9l-17 126l17 128q2 9 9 9t9 -9zM121 612l26 -207l-26 -203q-2 -9 -10 -9q-9 0 -9 10l-23 202l23 207q0 9 9 9q8 0 10 -9zM401 159zM213 650l25 -245l-25 -237q0 -11 -11 -11q-10 0 -12 11l-21 237l21 245 +q2 12 12 12q11 0 11 -12zM307 657l23 -252l-23 -244q-2 -13 -14 -13q-13 0 -13 13l-21 244l21 252q0 13 13 13q12 0 14 -13zM401 639l21 -234l-21 -246q-2 -16 -16 -16q-6 0 -10.5 4.5t-4.5 11.5l-20 246l20 234q0 6 4.5 10.5t10.5 4.5q14 0 16 -15zM784 164zM495 785 +l21 -380l-21 -246q0 -7 -5 -12.5t-12 -5.5q-16 0 -18 18l-18 246l18 380q2 18 18 18q7 0 12 -5.5t5 -12.5zM589 871l19 -468l-19 -244q0 -8 -5.5 -13.5t-13.5 -5.5q-18 0 -20 19l-16 244l16 468q2 19 20 19q8 0 13.5 -5.5t5.5 -13.5zM687 911l18 -506l-18 -242 +q-2 -21 -22 -21q-19 0 -21 21l-16 242l16 506q0 9 6.5 15.5t14.5 6.5q9 0 15 -6.5t7 -15.5zM1079 169v0v0v0zM881 915l15 -510l-15 -239q0 -10 -7.5 -17.5t-17.5 -7.5t-17 7t-8 18l-14 239l14 510q0 11 7.5 18t17.5 7t17.5 -7t7.5 -18zM980 896l14 -492l-14 -236 +q0 -11 -8 -19t-19 -8t-19 8t-9 19l-12 236l12 492q1 12 9 20t19 8t18.5 -8t8.5 -20zM1192 404l-14 -231v0q0 -13 -9 -22t-22 -9t-22 9t-10 22l-6 114l-6 117l12 636v3q2 15 12 24q9 7 20 7q8 0 15 -5q14 -8 16 -26zM2304 423q0 -117 -83 -199.5t-200 -82.5h-786 +q-13 2 -22 11t-9 22v899q0 23 28 33q85 34 181 34q195 0 338 -131.5t160 -323.5q53 22 110 22q117 0 200 -83t83 -201z" /> + <glyph glyph-name="uniF1C0" unicode="&#xf1c0;" +d="M768 768q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 0q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127 +t443 -43zM768 384q237 0 443 43t325 127v-170q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5t-103 128v170q119 -84 325 -127t443 -43zM768 1536q208 0 385 -34.5t280 -93.5t103 -128v-128q0 -69 -103 -128t-280 -93.5t-385 -34.5t-385 34.5t-280 93.5 +t-103 128v128q0 69 103 128t280 93.5t385 34.5z" /> + <glyph glyph-name="uniF1C1" unicode="&#xf1c1;" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M894 465q33 -26 84 -56q59 7 117 7q147 0 177 -49q16 -22 2 -52q0 -1 -1 -2l-2 -2v-1q-6 -38 -71 -38q-48 0 -115 20t-130 53q-221 -24 -392 -83q-153 -262 -242 -262q-15 0 -28 7l-24 12q-1 1 -6 5q-10 10 -6 36q9 40 56 91.5t132 96.5q14 9 23 -6q2 -2 2 -4q52 85 107 197 +q68 136 104 262q-24 82 -30.5 159.5t6.5 127.5q11 40 42 40h21h1q23 0 35 -15q18 -21 9 -68q-2 -6 -4 -8q1 -3 1 -8v-30q-2 -123 -14 -192q55 -164 146 -238zM318 54q52 24 137 158q-51 -40 -87.5 -84t-49.5 -74zM716 974q-15 -42 -2 -132q1 7 7 44q0 3 7 43q1 4 4 8 +q-1 1 -1 2q-1 2 -1 3q-1 22 -13 36q0 -1 -1 -2v-2zM592 313q135 54 284 81q-2 1 -13 9.5t-16 13.5q-76 67 -127 176q-27 -86 -83 -197q-30 -56 -45 -83zM1238 329q-24 24 -140 24q76 -28 124 -28q14 0 18 1q0 1 -2 3z" /> + <glyph glyph-name="_422" unicode="&#xf1c2;" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M233 768v-107h70l164 -661h159l128 485q7 20 10 46q2 16 2 24h4l3 -24q1 -3 3.5 -20t5.5 -26l128 -485h159l164 661h70v107h-300v-107h90l-99 -438q-5 -20 -7 -46l-2 -21h-4q0 3 -0.5 6.5t-1.5 8t-1 6.5q-1 5 -4 21t-5 25l-144 545h-114l-144 -545q-2 -9 -4.5 -24.5 +t-3.5 -21.5l-4 -21h-4l-2 21q-2 26 -7 46l-99 438h90v107h-300z" /> + <glyph glyph-name="_423" unicode="&#xf1c3;" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M429 106v-106h281v106h-75l103 161q5 7 10 16.5t7.5 13.5t3.5 4h2q1 -4 5 -10q2 -4 4.5 -7.5t6 -8t6.5 -8.5l107 -161h-76v-106h291v106h-68l-192 273l195 282h67v107h-279v-107h74l-103 -159q-4 -7 -10 -16.5t-9 -13.5l-2 -3h-2q-1 4 -5 10q-6 11 -17 23l-106 159h76v107 +h-290v-107h68l189 -272l-194 -283h-68z" /> + <glyph glyph-name="_424" unicode="&#xf1c4;" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M416 106v-106h327v106h-93v167h137q76 0 118 15q67 23 106.5 87t39.5 146q0 81 -37 141t-100 87q-48 19 -130 19h-368v-107h92v-555h-92zM769 386h-119v268h120q52 0 83 -18q56 -33 56 -115q0 -89 -62 -120q-31 -15 -78 -15z" /> + <glyph glyph-name="_425" unicode="&#xf1c5;" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M1280 320v-320h-1024v192l192 192l128 -128l384 384zM448 512q-80 0 -136 56t-56 136t56 136t136 56t136 -56t56 -136t-56 -136t-136 -56z" /> + <glyph glyph-name="_426" unicode="&#xf1c6;" +d="M640 1152v128h-128v-128h128zM768 1024v128h-128v-128h128zM640 896v128h-128v-128h128zM768 768v128h-128v-128h128zM1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400 +v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-128v-128h-128v128h-512v-1536h1280zM781 593l107 -349q8 -27 8 -52q0 -83 -72.5 -137.5t-183.5 -54.5t-183.5 54.5t-72.5 137.5q0 25 8 52q21 63 120 396v128h128v-128h79 +q22 0 39 -13t23 -34zM640 128q53 0 90.5 19t37.5 45t-37.5 45t-90.5 19t-90.5 -19t-37.5 -45t37.5 -45t90.5 -19z" /> + <glyph glyph-name="_427" unicode="&#xf1c7;" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M620 686q20 -8 20 -30v-544q0 -22 -20 -30q-8 -2 -12 -2q-12 0 -23 9l-166 167h-131q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h131l166 167q16 15 35 7zM1037 -3q31 0 50 24q129 159 129 363t-129 363q-16 21 -43 24t-47 -14q-21 -17 -23.5 -43.5t14.5 -47.5 +q100 -123 100 -282t-100 -282q-17 -21 -14.5 -47.5t23.5 -42.5q18 -15 40 -15zM826 145q27 0 47 20q87 93 87 219t-87 219q-18 19 -45 20t-46 -17t-20 -44.5t18 -46.5q52 -57 52 -131t-52 -131q-19 -20 -18 -46.5t20 -44.5q20 -17 44 -17z" /> + <glyph glyph-name="_428" unicode="&#xf1c8;" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M768 768q52 0 90 -38t38 -90v-384q0 -52 -38 -90t-90 -38h-384q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h384zM1260 766q20 -8 20 -30v-576q0 -22 -20 -30q-8 -2 -12 -2q-14 0 -23 9l-265 266v90l265 266q9 9 23 9q4 0 12 -2z" /> + <glyph glyph-name="_429" unicode="&#xf1c9;" +d="M1468 1156q28 -28 48 -76t20 -88v-1152q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1600q0 40 28 68t68 28h896q40 0 88 -20t76 -48zM1024 1400v-376h376q-10 29 -22 41l-313 313q-12 12 -41 22zM1408 -128v1024h-416q-40 0 -68 28t-28 68v416h-768v-1536h1280z +M480 768q8 11 21 12.5t24 -6.5l51 -38q11 -8 12.5 -21t-6.5 -24l-182 -243l182 -243q8 -11 6.5 -24t-12.5 -21l-51 -38q-11 -8 -24 -6.5t-21 12.5l-226 301q-14 19 0 38zM1282 467q14 -19 0 -38l-226 -301q-8 -11 -21 -12.5t-24 6.5l-51 38q-11 8 -12.5 21t6.5 24l182 243 +l-182 243q-8 11 -6.5 24t12.5 21l51 38q11 8 24 6.5t21 -12.5zM662 6q-13 2 -20.5 13t-5.5 24l138 831q2 13 13 20.5t24 5.5l63 -10q13 -2 20.5 -13t5.5 -24l-138 -831q-2 -13 -13 -20.5t-24 -5.5z" /> + <glyph glyph-name="_430" unicode="&#xf1ca;" +d="M1497 709v-198q-101 -23 -198 -23q-65 -136 -165.5 -271t-181.5 -215.5t-128 -106.5q-80 -45 -162 3q-28 17 -60.5 43.5t-85 83.5t-102.5 128.5t-107.5 184t-105.5 244t-91.5 314.5t-70.5 390h283q26 -218 70 -398.5t104.5 -317t121.5 -235.5t140 -195q169 169 287 406 +q-142 72 -223 220t-81 333q0 192 104 314.5t284 122.5q178 0 273 -105.5t95 -297.5q0 -159 -58 -286q-7 -1 -19.5 -3t-46 -2t-63 6t-62 25.5t-50.5 51.5q31 103 31 184q0 87 -29 132t-79 45q-53 0 -85 -49.5t-32 -140.5q0 -186 105 -293.5t267 -107.5q62 0 121 14z" /> + <glyph glyph-name="_431" unicode="&#xf1cb;" horiz-adv-x="1792" +d="M216 367l603 -402v359l-334 223zM154 511l193 129l-193 129v-258zM973 -35l603 402l-269 180l-334 -223v-359zM896 458l272 182l-272 182l-272 -182zM485 733l334 223v359l-603 -402zM1445 640l193 -129v258zM1307 733l269 180l-603 402v-359zM1792 913v-546 +q0 -41 -34 -64l-819 -546q-21 -13 -43 -13t-43 13l-819 546q-34 23 -34 64v546q0 41 34 64l819 546q21 13 43 13t43 -13l819 -546q34 -23 34 -64z" /> + <glyph glyph-name="_432" unicode="&#xf1cc;" horiz-adv-x="2048" +d="M1800 764q111 -46 179.5 -145.5t68.5 -221.5q0 -164 -118 -280.5t-285 -116.5q-4 0 -11.5 0.5t-10.5 0.5h-1209h-1h-2h-5q-170 10 -288 125.5t-118 280.5q0 110 55 203t147 147q-12 39 -12 82q0 115 82 196t199 81q95 0 172 -58q75 154 222.5 248t326.5 94 +q166 0 306 -80.5t221.5 -218.5t81.5 -301q0 -6 -0.5 -18t-0.5 -18zM468 498q0 -122 84 -193t208 -71q137 0 240 99q-16 20 -47.5 56.5t-43.5 50.5q-67 -65 -144 -65q-55 0 -93.5 33.5t-38.5 87.5q0 53 38.5 87t91.5 34q44 0 84.5 -21t73 -55t65 -75t69 -82t77 -75t97 -55 +t121.5 -21q121 0 204.5 71.5t83.5 190.5q0 121 -84 192t-207 71q-143 0 -241 -97l93 -108q66 64 142 64q52 0 92 -33t40 -84q0 -57 -37 -91.5t-94 -34.5q-43 0 -82.5 21t-72 55t-65.5 75t-69.5 82t-77.5 75t-96.5 55t-118.5 21q-122 0 -207 -70.5t-85 -189.5z" /> + <glyph glyph-name="_433" unicode="&#xf1cd;" horiz-adv-x="1792" +d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM896 1408q-190 0 -361 -90l194 -194q82 28 167 28t167 -28l194 194q-171 90 -361 90zM218 279l194 194 +q-28 82 -28 167t28 167l-194 194q-90 -171 -90 -361t90 -361zM896 -128q190 0 361 90l-194 194q-82 -28 -167 -28t-167 28l-194 -194q171 -90 361 -90zM896 256q159 0 271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5 +t271.5 -112.5zM1380 473l194 -194q90 171 90 361t-90 361l-194 -194q28 -82 28 -167t-28 -167z" /> + <glyph glyph-name="_434" unicode="&#xf1ce;" horiz-adv-x="1792" +d="M1760 640q0 -176 -68.5 -336t-184 -275.5t-275.5 -184t-336 -68.5t-336 68.5t-275.5 184t-184 275.5t-68.5 336q0 213 97 398.5t265 305.5t374 151v-228q-221 -45 -366.5 -221t-145.5 -406q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5 +t136.5 204t51 248.5q0 230 -145.5 406t-366.5 221v228q206 -31 374 -151t265 -305.5t97 -398.5z" /> + <glyph glyph-name="uniF1D0" unicode="&#xf1d0;" horiz-adv-x="1792" +d="M19 662q8 217 116 406t305 318h5q0 -1 -1 -3q-8 -8 -28 -33.5t-52 -76.5t-60 -110.5t-44.5 -135.5t-14 -150.5t39 -157.5t108.5 -154q50 -50 102 -69.5t90.5 -11.5t69.5 23.5t47 32.5l16 16q39 51 53 116.5t6.5 122.5t-21 107t-26.5 80l-14 29q-10 25 -30.5 49.5t-43 41 +t-43.5 29.5t-35 19l-13 6l104 115q39 -17 78 -52t59 -61l19 -27q1 48 -18.5 103.5t-40.5 87.5l-20 31l161 183l160 -181q-33 -46 -52.5 -102.5t-22.5 -90.5l-4 -33q22 37 61.5 72.5t67.5 52.5l28 17l103 -115q-44 -14 -85 -50t-60 -65l-19 -29q-31 -56 -48 -133.5t-7 -170 +t57 -156.5q33 -45 77.5 -60.5t85 -5.5t76 26.5t57.5 33.5l21 16q60 53 96.5 115t48.5 121.5t10 121.5t-18 118t-37 107.5t-45.5 93t-45 72t-34.5 47.5l-13 17q-14 13 -7 13l10 -3q40 -29 62.5 -46t62 -50t64 -58t58.5 -65t55.5 -77t45.5 -88t38 -103t23.5 -117t10.5 -136 +q3 -259 -108 -465t-312 -321t-456 -115q-185 0 -351 74t-283.5 198t-184 293t-60.5 353z" /> + <glyph glyph-name="uniF1D1" unicode="&#xf1d1;" horiz-adv-x="1792" +d="M874 -102v-66q-208 6 -385 109.5t-283 275.5l58 34q29 -49 73 -99l65 57q148 -168 368 -212l-17 -86q65 -12 121 -13zM276 428l-83 -28q22 -60 49 -112l-57 -33q-98 180 -98 385t98 385l57 -33q-30 -56 -49 -112l82 -28q-35 -100 -35 -212q0 -109 36 -212zM1528 251 +l58 -34q-106 -172 -283 -275.5t-385 -109.5v66q56 1 121 13l-17 86q220 44 368 212l65 -57q44 50 73 99zM1377 805l-233 -80q14 -42 14 -85t-14 -85l232 -80q-31 -92 -98 -169l-185 162q-57 -67 -147 -85l48 -241q-52 -10 -98 -10t-98 10l48 241q-90 18 -147 85l-185 -162 +q-67 77 -98 169l232 80q-14 42 -14 85t14 85l-233 80q33 93 99 169l185 -162q59 68 147 86l-48 240q44 10 98 10t98 -10l-48 -240q88 -18 147 -86l185 162q66 -76 99 -169zM874 1448v-66q-65 -2 -121 -13l17 -86q-220 -42 -368 -211l-65 56q-38 -42 -73 -98l-57 33 +q106 172 282 275.5t385 109.5zM1705 640q0 -205 -98 -385l-57 33q27 52 49 112l-83 28q36 103 36 212q0 112 -35 212l82 28q-19 56 -49 112l57 33q98 -180 98 -385zM1585 1063l-57 -33q-35 56 -73 98l-65 -56q-148 169 -368 211l17 86q-56 11 -121 13v66q209 -6 385 -109.5 +t282 -275.5zM1748 640q0 173 -67.5 331t-181.5 272t-272 181.5t-331 67.5t-331 -67.5t-272 -181.5t-181.5 -272t-67.5 -331t67.5 -331t181.5 -272t272 -181.5t331 -67.5t331 67.5t272 181.5t181.5 272t67.5 331zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71 +t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="uniF1D2" unicode="&#xf1d2;" +d="M582 228q0 -66 -93 -66q-107 0 -107 63q0 64 98 64q102 0 102 -61zM546 694q0 -85 -74 -85q-77 0 -77 84q0 90 77 90q36 0 55 -25.5t19 -63.5zM712 769v125q-78 -29 -135 -29q-50 29 -110 29q-86 0 -145 -57t-59 -143q0 -50 29.5 -102t73.5 -67v-3q-38 -17 -38 -85 +q0 -53 41 -77v-3q-113 -37 -113 -139q0 -45 20 -78.5t54 -51t72 -25.5t81 -8q224 0 224 188q0 67 -48 99t-126 46q-27 5 -51.5 20.5t-24.5 39.5q0 44 49 52q77 15 122 70t45 134q0 24 -10 52q37 9 49 13zM771 350h137q-2 27 -2 82v387q0 46 2 69h-137q3 -23 3 -71v-392 +q0 -50 -3 -75zM1280 366v121q-30 -21 -68 -21q-53 0 -53 82v225h52q9 0 26.5 -1t26.5 -1v117h-105q0 82 3 102h-140q4 -24 4 -55v-47h-60v-117q36 3 37 3q3 0 11 -0.5t12 -0.5v-2h-2v-217q0 -37 2.5 -64t11.5 -56.5t24.5 -48.5t43.5 -31t66 -12q64 0 108 24zM924 1072 +q0 36 -24 63.5t-60 27.5t-60.5 -27t-24.5 -64q0 -36 25 -62.5t60 -26.5t59.5 27t24.5 62zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_438" unicode="&#xf1d3;" horiz-adv-x="1792" +d="M595 22q0 100 -165 100q-158 0 -158 -104q0 -101 172 -101q151 0 151 105zM536 777q0 61 -30 102t-89 41q-124 0 -124 -145q0 -135 124 -135q119 0 119 137zM805 1101v-202q-36 -12 -79 -22q16 -43 16 -84q0 -127 -73 -216.5t-197 -112.5q-40 -8 -59.5 -27t-19.5 -58 +q0 -31 22.5 -51.5t58 -32t78.5 -22t86 -25.5t78.5 -37.5t58 -64t22.5 -98.5q0 -304 -363 -304q-69 0 -130 12.5t-116 41t-87.5 82t-32.5 127.5q0 165 182 225v4q-67 41 -67 126q0 109 63 137v4q-72 24 -119.5 108.5t-47.5 165.5q0 139 95 231.5t235 92.5q96 0 178 -47 +q98 0 218 47zM1123 220h-222q4 45 4 134v609q0 94 -4 128h222q-4 -33 -4 -124v-613q0 -89 4 -134zM1724 442v-196q-71 -39 -174 -39q-62 0 -107 20t-70 50t-39.5 78t-18.5 92t-4 103v351h2v4q-7 0 -19 1t-18 1q-21 0 -59 -6v190h96v76q0 54 -6 89h227q-6 -41 -6 -165h171 +v-190q-15 0 -43.5 2t-42.5 2h-85v-365q0 -131 87 -131q61 0 109 33zM1148 1389q0 -58 -39 -101.5t-96 -43.5q-58 0 -98 43.5t-40 101.5q0 59 39.5 103t98.5 44q58 0 96.5 -44.5t38.5 -102.5z" /> + <glyph glyph-name="_439" unicode="&#xf1d4;" +d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="uniF1D5" unicode="&#xf1d5;" horiz-adv-x="1280" +d="M842 964q0 -80 -57 -136.5t-136 -56.5q-60 0 -111 35q-62 -67 -115 -146q-247 -371 -202 -859q1 -22 -12.5 -38.5t-34.5 -18.5h-5q-20 0 -35 13.5t-17 33.5q-14 126 -3.5 247.5t29.5 217t54 186t69 155.5t74 125q61 90 132 165q-16 35 -16 77q0 80 56.5 136.5t136.5 56.5 +t136.5 -56.5t56.5 -136.5zM1223 953q0 -158 -78 -292t-212.5 -212t-292.5 -78q-64 0 -131 14q-21 5 -32.5 23.5t-6.5 39.5q5 20 23 31.5t39 7.5q51 -13 108 -13q97 0 186 38t153 102t102 153t38 186t-38 186t-102 153t-153 102t-186 38t-186 -38t-153 -102t-102 -153 +t-38 -186q0 -114 52 -218q10 -20 3.5 -40t-25.5 -30t-39.5 -3t-30.5 26q-64 123 -64 265q0 119 46.5 227t124.5 186t186 124t226 46q158 0 292.5 -78t212.5 -212.5t78 -292.5z" /> + <glyph glyph-name="uniF1D6" unicode="&#xf1d6;" horiz-adv-x="1792" +d="M270 730q-8 19 -8 52q0 20 11 49t24 45q-1 22 7.5 53t22.5 43q0 139 92.5 288.5t217.5 209.5q139 66 324 66q133 0 266 -55q49 -21 90 -48t71 -56t55 -68t42 -74t32.5 -84.5t25.5 -89.5t22 -98l1 -5q55 -83 55 -150q0 -14 -9 -40t-9 -38q0 -1 1.5 -3.5t3.5 -5t2 -3.5 +q77 -114 120.5 -214.5t43.5 -208.5q0 -43 -19.5 -100t-55.5 -57q-9 0 -19.5 7.5t-19 17.5t-19 26t-16 26.5t-13.5 26t-9 17.5q-1 1 -3 1l-5 -4q-59 -154 -132 -223q20 -20 61.5 -38.5t69 -41.5t35.5 -65q-2 -4 -4 -16t-7 -18q-64 -97 -302 -97q-53 0 -110.5 9t-98 20 +t-104.5 30q-15 5 -23 7q-14 4 -46 4.5t-40 1.5q-41 -45 -127.5 -65t-168.5 -20q-35 0 -69 1.5t-93 9t-101 20.5t-74.5 40t-32.5 64q0 40 10 59.5t41 48.5q11 2 40.5 13t49.5 12q4 0 14 2q2 2 2 4l-2 3q-48 11 -108 105.5t-73 156.5l-5 3q-4 0 -12 -20q-18 -41 -54.5 -74.5 +t-77.5 -37.5h-1q-4 0 -6 4.5t-5 5.5q-23 54 -23 100q0 275 252 466z" /> + <glyph glyph-name="uniF1D7" unicode="&#xf1d7;" horiz-adv-x="2048" +d="M580 1075q0 41 -25 66t-66 25q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 66 24.5t25 65.5zM1323 568q0 28 -25.5 50t-65.5 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q40 0 65.5 22t25.5 51zM1087 1075q0 41 -24.5 66t-65.5 25 +q-43 0 -76 -25.5t-33 -65.5q0 -39 33 -64.5t76 -25.5q41 0 65.5 24.5t24.5 65.5zM1722 568q0 28 -26 50t-65 22q-27 0 -49.5 -22.5t-22.5 -49.5q0 -28 22.5 -50.5t49.5 -22.5q39 0 65 22t26 51zM1456 965q-31 4 -70 4q-169 0 -311 -77t-223.5 -208.5t-81.5 -287.5 +q0 -78 23 -152q-35 -3 -68 -3q-26 0 -50 1.5t-55 6.5t-44.5 7t-54.5 10.5t-50 10.5l-253 -127l72 218q-290 203 -290 490q0 169 97.5 311t264 223.5t363.5 81.5q176 0 332.5 -66t262 -182.5t136.5 -260.5zM2048 404q0 -117 -68.5 -223.5t-185.5 -193.5l55 -181l-199 109 +q-150 -37 -218 -37q-169 0 -311 70.5t-223.5 191.5t-81.5 264t81.5 264t223.5 191.5t311 70.5q161 0 303 -70.5t227.5 -192t85.5 -263.5z" /> + <glyph glyph-name="_443" unicode="&#xf1d8;" horiz-adv-x="1792" +d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-453 185l-242 -295q-18 -23 -49 -23q-13 0 -22 4q-19 7 -30.5 23.5t-11.5 36.5v349l864 1059l-1069 -925l-395 162q-37 14 -40 55q-2 40 32 59l1664 960q15 9 32 9q20 0 36 -11z" /> + <glyph glyph-name="_444" unicode="&#xf1d9;" horiz-adv-x="1792" +d="M1764 1525q33 -24 27 -64l-256 -1536q-5 -29 -32 -45q-14 -8 -31 -8q-11 0 -24 5l-527 215l-298 -327q-18 -21 -47 -21q-14 0 -23 4q-19 7 -30 23.5t-11 36.5v452l-472 193q-37 14 -40 55q-3 39 32 59l1664 960q35 21 68 -2zM1422 26l221 1323l-1434 -827l336 -137 +l863 639l-478 -797z" /> + <glyph glyph-name="_445" unicode="&#xf1da;" +d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 +t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298zM896 928v-448q0 -14 -9 -23 +t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23z" /> + <glyph glyph-name="_446" unicode="&#xf1db;" +d="M768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 +t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_447" unicode="&#xf1dc;" horiz-adv-x="1792" +d="M1682 -128q-44 0 -132.5 3.5t-133.5 3.5q-44 0 -132 -3.5t-132 -3.5q-24 0 -37 20.5t-13 45.5q0 31 17 46t39 17t51 7t45 15q33 21 33 140l-1 391q0 21 -1 31q-13 4 -50 4h-675q-38 0 -51 -4q-1 -10 -1 -31l-1 -371q0 -142 37 -164q16 -10 48 -13t57 -3.5t45 -15 +t20 -45.5q0 -26 -12.5 -48t-36.5 -22q-47 0 -139.5 3.5t-138.5 3.5q-43 0 -128 -3.5t-127 -3.5q-23 0 -35.5 21t-12.5 45q0 30 15.5 45t36 17.5t47.5 7.5t42 15q33 23 33 143l-1 57v813q0 3 0.5 26t0 36.5t-1.5 38.5t-3.5 42t-6.5 36.5t-11 31.5t-16 18q-15 10 -45 12t-53 2 +t-41 14t-18 45q0 26 12 48t36 22q46 0 138.5 -3.5t138.5 -3.5q42 0 126.5 3.5t126.5 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17 -43.5t-38.5 -14.5t-49.5 -4t-43 -13q-35 -21 -35 -160l1 -320q0 -21 1 -32q13 -3 39 -3h699q25 0 38 3q1 11 1 32l1 320q0 139 -35 160 +q-18 11 -58.5 12.5t-66 13t-25.5 49.5q0 26 12.5 48t37.5 22q44 0 132 -3.5t132 -3.5q43 0 129 3.5t129 3.5q25 0 37.5 -22t12.5 -48q0 -30 -17.5 -44t-40 -14.5t-51.5 -3t-44 -12.5q-35 -23 -35 -161l1 -943q0 -119 34 -140q16 -10 46 -13.5t53.5 -4.5t41.5 -15.5t18 -44.5 +q0 -26 -12 -48t-36 -22z" /> + <glyph glyph-name="_448" unicode="&#xf1dd;" horiz-adv-x="1280" +d="M1278 1347v-73q0 -29 -18.5 -61t-42.5 -32q-50 0 -54 -1q-26 -6 -32 -31q-3 -11 -3 -64v-1152q0 -25 -18 -43t-43 -18h-108q-25 0 -43 18t-18 43v1218h-143v-1218q0 -25 -17.5 -43t-43.5 -18h-108q-26 0 -43.5 18t-17.5 43v496q-147 12 -245 59q-126 58 -192 179 +q-64 117 -64 259q0 166 88 286q88 118 209 159q111 37 417 37h479q25 0 43 -18t18 -43z" /> + <glyph glyph-name="_449" unicode="&#xf1de;" +d="M352 128v-128h-352v128h352zM704 256q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM864 640v-128h-864v128h864zM224 1152v-128h-224v128h224zM1536 128v-128h-736v128h736zM576 1280q26 0 45 -19t19 -45v-256 +q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1216 768q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h256zM1536 640v-128h-224v128h224zM1536 1152v-128h-864v128h864z" /> + <glyph glyph-name="uniF1E0" unicode="&#xf1e0;" +d="M1216 512q133 0 226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5t-226.5 93.5t-93.5 226.5q0 12 2 34l-360 180q-92 -86 -218 -86q-133 0 -226.5 93.5t-93.5 226.5t93.5 226.5t226.5 93.5q126 0 218 -86l360 180q-2 22 -2 34q0 133 93.5 226.5t226.5 93.5 +t226.5 -93.5t93.5 -226.5t-93.5 -226.5t-226.5 -93.5q-126 0 -218 86l-360 -180q2 -22 2 -34t-2 -34l360 -180q92 86 218 86z" /> + <glyph glyph-name="_451" unicode="&#xf1e1;" +d="M1280 341q0 88 -62.5 151t-150.5 63q-84 0 -145 -58l-241 120q2 16 2 23t-2 23l241 120q61 -58 145 -58q88 0 150.5 63t62.5 151t-62.5 150.5t-150.5 62.5t-151 -62.5t-63 -150.5q0 -7 2 -23l-241 -120q-62 57 -145 57q-88 0 -150.5 -62.5t-62.5 -150.5t62.5 -150.5 +t150.5 -62.5q83 0 145 57l241 -120q-2 -16 -2 -23q0 -88 63 -150.5t151 -62.5t150.5 62.5t62.5 150.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_452" unicode="&#xf1e2;" horiz-adv-x="1792" +d="M571 947q-10 25 -34 35t-49 0q-108 -44 -191 -127t-127 -191q-10 -25 0 -49t35 -34q13 -5 24 -5q42 0 60 40q34 84 98.5 148.5t148.5 98.5q25 11 35 35t0 49zM1513 1303l46 -46l-244 -243l68 -68q19 -19 19 -45.5t-19 -45.5l-64 -64q89 -161 89 -343q0 -143 -55.5 -273.5 +t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5q182 0 343 -89l64 64q19 19 45.5 19t45.5 -19l68 -68zM1521 1359q-10 -10 -22 -10q-13 0 -23 10l-91 90q-9 10 -9 23t9 23q10 9 23 9t23 -9l90 -91 +q10 -9 10 -22.5t-10 -22.5zM1751 1129q-11 -9 -23 -9t-23 9l-90 91q-10 9 -10 22.5t10 22.5q9 10 22.5 10t22.5 -10l91 -90q9 -10 9 -23t-9 -23zM1792 1312q0 -14 -9 -23t-23 -9h-96q-14 0 -23 9t-9 23t9 23t23 9h96q14 0 23 -9t9 -23zM1600 1504v-96q0 -14 -9 -23t-23 -9 +t-23 9t-9 23v96q0 14 9 23t23 9t23 -9t9 -23zM1751 1449l-91 -90q-10 -10 -22 -10q-13 0 -23 10q-10 9 -10 22.5t10 22.5l90 91q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" /> + <glyph glyph-name="_453" unicode="&#xf1e3;" horiz-adv-x="1792" +d="M609 720l287 208l287 -208l-109 -336h-355zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM1515 186q149 203 149 454v3l-102 -89l-240 224l63 323 +l134 -12q-150 206 -389 282l53 -124l-287 -159l-287 159l53 124q-239 -76 -389 -282l135 12l62 -323l-240 -224l-102 89v-3q0 -251 149 -454l30 132l326 -40l139 -298l-116 -69q117 -39 240 -39t240 39l-116 69l139 298l326 40z" /> + <glyph glyph-name="_454" unicode="&#xf1e4;" horiz-adv-x="1792" +d="M448 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM256 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM832 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 +v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM66 768q-28 0 -47 19t-19 46v129h514v-129q0 -27 -19 -46t-46 -19h-383zM1216 224v-192q0 -14 -9 -23t-23 -9h-192 +q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1600 224v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23 +zM1408 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1016v-13h-514v10q0 104 -382 102q-382 -1 -382 -102v-10h-514v13q0 17 8.5 43t34 64t65.5 75.5t110.5 76t160 67.5t224 47.5t293.5 18.5t293 -18.5t224 -47.5 +t160.5 -67.5t110.5 -76t65.5 -75.5t34 -64t8.5 -43zM1792 608v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 962v-129q0 -27 -19 -46t-46 -19h-384q-27 0 -46 19t-19 46v129h514z" /> + <glyph glyph-name="_455" unicode="&#xf1e5;" horiz-adv-x="1792" +d="M704 1216v-768q0 -26 -19 -45t-45 -19v-576q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v512l249 873q7 23 31 23h424zM1024 1216v-704h-256v704h256zM1792 320v-512q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v576q-26 0 -45 19t-19 45v768h424q24 0 31 -23z +M736 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23zM1408 1504v-224h-352v224q0 14 9 23t23 9h288q14 0 23 -9t9 -23z" /> + <glyph glyph-name="_456" unicode="&#xf1e6;" horiz-adv-x="1792" +d="M1755 1083q37 -38 37 -90.5t-37 -90.5l-401 -400l150 -150l-160 -160q-163 -163 -389.5 -186.5t-411.5 100.5l-362 -362h-181v181l362 362q-124 185 -100.5 411.5t186.5 389.5l160 160l150 -150l400 401q38 37 91 37t90 -37t37 -90.5t-37 -90.5l-400 -401l234 -234 +l401 400q38 37 91 37t90 -37z" /> + <glyph glyph-name="_457" unicode="&#xf1e7;" horiz-adv-x="1792" +d="M873 796q0 -83 -63.5 -142.5t-152.5 -59.5t-152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59t152.5 -59t63.5 -143zM1375 796q0 -83 -63 -142.5t-153 -59.5q-89 0 -152.5 59.5t-63.5 142.5q0 84 63.5 143t152.5 59q90 0 153 -59t63 -143zM1600 616v667q0 87 -32 123.5 +t-111 36.5h-1112q-83 0 -112.5 -34t-29.5 -126v-673q43 -23 88.5 -40t81 -28t81 -18.5t71 -11t70 -4t58.5 -0.5t56.5 2t44.5 2q68 1 95 -27q6 -6 10 -9q26 -25 61 -51q7 91 118 87q5 0 36.5 -1.5t43 -2t45.5 -1t53 1t54.5 4.5t61 8.5t62 13.5t67 19.5t67.5 27t72 34.5z +M1763 621q-121 -149 -372 -252q84 -285 -23 -465q-66 -113 -183 -148q-104 -32 -182 15q-86 51 -82 164l-1 326v1q-8 2 -24.5 6t-23.5 5l-1 -338q4 -114 -83 -164q-79 -47 -183 -15q-117 36 -182 150q-105 180 -22 463q-251 103 -372 252q-25 37 -4 63t60 -1q4 -2 11.5 -7 +t10.5 -8v694q0 72 47 123t114 51h1257q67 0 114 -51t47 -123v-694l21 15q39 27 60 1t-4 -63z" /> + <glyph glyph-name="_458" unicode="&#xf1e8;" horiz-adv-x="1792" +d="M896 1102v-434h-145v434h145zM1294 1102v-434h-145v434h145zM1294 342l253 254v795h-1194v-1049h326v-217l217 217h398zM1692 1536v-1013l-434 -434h-326l-217 -217h-217v217h-398v1158l109 289h1483z" /> + <glyph glyph-name="_459" unicode="&#xf1e9;" +d="M773 217v-127q-1 -292 -6 -305q-12 -32 -51 -40q-54 -9 -181.5 38t-162.5 89q-13 15 -17 36q-1 12 4 26q4 10 34 47t181 216q1 0 60 70q15 19 39.5 24.5t49.5 -3.5q24 -10 37.5 -29t12.5 -42zM624 468q-3 -55 -52 -70l-120 -39q-275 -88 -292 -88q-35 2 -54 36 +q-12 25 -17 75q-8 76 1 166.5t30 124.5t56 32q13 0 202 -77q71 -29 115 -47l84 -34q23 -9 35.5 -30.5t11.5 -48.5zM1450 171q-7 -54 -91.5 -161t-135.5 -127q-37 -14 -63 7q-14 10 -184 287l-47 77q-14 21 -11.5 46t19.5 46q35 43 83 26q1 -1 119 -40q203 -66 242 -79.5 +t47 -20.5q28 -22 22 -61zM778 803q5 -102 -54 -122q-58 -17 -114 71l-378 598q-8 35 19 62q41 43 207.5 89.5t224.5 31.5q40 -10 49 -45q3 -18 22 -305.5t24 -379.5zM1440 695q3 -39 -26 -59q-15 -10 -329 -86q-67 -15 -91 -23l1 2q-23 -6 -46 4t-37 32q-30 47 0 87 +q1 1 75 102q125 171 150 204t34 39q28 19 65 2q48 -23 123 -133.5t81 -167.5v-3z" /> + <glyph glyph-name="_460" unicode="&#xf1ea;" horiz-adv-x="2048" +d="M1024 1024h-384v-384h384v384zM1152 384v-128h-640v128h640zM1152 1152v-640h-640v640h640zM1792 384v-128h-512v128h512zM1792 640v-128h-512v128h512zM1792 896v-128h-512v128h512zM1792 1152v-128h-512v128h512zM256 192v960h-128v-960q0 -26 19 -45t45 -19t45 19 +t19 45zM1920 192v1088h-1536v-1088q0 -33 -11 -64h1483q26 0 45 19t19 45zM2048 1408v-1216q0 -80 -56 -136t-136 -56h-1664q-80 0 -136 56t-56 136v1088h256v128h1792z" /> + <glyph glyph-name="_461" unicode="&#xf1eb;" horiz-adv-x="2048" +d="M1024 13q-20 0 -93 73.5t-73 93.5q0 32 62.5 54t103.5 22t103.5 -22t62.5 -54q0 -20 -73 -93.5t-93 -73.5zM1294 284q-2 0 -40 25t-101.5 50t-128.5 25t-128.5 -25t-101 -50t-40.5 -25q-18 0 -93.5 75t-75.5 93q0 13 10 23q78 77 196 121t233 44t233 -44t196 -121 +q10 -10 10 -23q0 -18 -75.5 -93t-93.5 -75zM1567 556q-11 0 -23 8q-136 105 -252 154.5t-268 49.5q-85 0 -170.5 -22t-149 -53t-113.5 -62t-79 -53t-31 -22q-17 0 -92 75t-75 93q0 12 10 22q132 132 320 205t380 73t380 -73t320 -205q10 -10 10 -22q0 -18 -75 -93t-92 -75z +M1838 827q-11 0 -22 9q-179 157 -371.5 236.5t-420.5 79.5t-420.5 -79.5t-371.5 -236.5q-11 -9 -22 -9q-17 0 -92.5 75t-75.5 93q0 13 10 23q187 186 445 288t527 102t527 -102t445 -288q10 -10 10 -23q0 -18 -75.5 -93t-92.5 -75z" /> + <glyph glyph-name="_462" unicode="&#xf1ec;" horiz-adv-x="1792" +d="M384 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 +t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 0q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5 +t37.5 90.5zM384 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1152 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM768 768q0 53 -37.5 90.5t-90.5 37.5 +t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1536 0v384q0 52 -38 90t-90 38t-90 -38t-38 -90v-384q0 -52 38 -90t90 -38t90 38t38 90zM1152 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z +M1536 1088v256q0 26 -19 45t-45 19h-1280q-26 0 -45 -19t-19 -45v-256q0 -26 19 -45t45 -19h1280q26 0 45 19t19 45zM1536 768q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1408v-1536q0 -52 -38 -90t-90 -38 +h-1408q-52 0 -90 38t-38 90v1536q0 52 38 90t90 38h1408q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_463" unicode="&#xf1ed;" +d="M1519 890q18 -84 -4 -204q-87 -444 -565 -444h-44q-25 0 -44 -16.5t-24 -42.5l-4 -19l-55 -346l-2 -15q-5 -26 -24.5 -42.5t-44.5 -16.5h-251q-21 0 -33 15t-9 36q9 56 26.5 168t26.5 168t27 167.5t27 167.5q5 37 43 37h131q133 -2 236 21q175 39 287 144q102 95 155 246 +q24 70 35 133q1 6 2.5 7.5t3.5 1t6 -3.5q79 -59 98 -162zM1347 1172q0 -107 -46 -236q-80 -233 -302 -315q-113 -40 -252 -42q0 -1 -90 -1l-90 1q-100 0 -118 -96q-2 -8 -85 -530q-1 -10 -12 -10h-295q-22 0 -36.5 16.5t-11.5 38.5l232 1471q5 29 27.5 48t51.5 19h598 +q34 0 97.5 -13t111.5 -32q107 -41 163.5 -123t56.5 -196z" /> + <glyph glyph-name="_464" unicode="&#xf1ee;" horiz-adv-x="1792" +d="M441 864q33 0 52 -26q266 -364 362 -774h-446q-127 441 -367 749q-12 16 -3 33.5t29 17.5h373zM1000 507q-49 -199 -125 -393q-79 310 -256 594q40 221 44 449q211 -340 337 -650zM1099 1216q235 -324 384.5 -698.5t184.5 -773.5h-451q-41 665 -553 1472h435zM1792 640 +q0 -424 -101 -812q-67 560 -359 1083q-25 301 -106 584q-4 16 5.5 28.5t25.5 12.5h359q21 0 38.5 -13t22.5 -33q115 -409 115 -850z" /> + <glyph glyph-name="uniF1F0" unicode="&#xf1f0;" horiz-adv-x="2304" +d="M1975 546h-138q14 37 66 179l3 9q4 10 10 26t9 26l12 -55zM531 611l-58 295q-11 54 -75 54h-268l-2 -13q311 -79 403 -336zM710 960l-162 -438l-17 89q-26 70 -85 129.5t-131 88.5l135 -510h175l261 641h-176zM849 318h166l104 642h-166zM1617 944q-69 27 -149 27 +q-123 0 -201 -59t-79 -153q-1 -102 145 -174q48 -23 67 -41t19 -39q0 -30 -30 -46t-69 -16q-86 0 -156 33l-22 11l-23 -144q74 -34 185 -34q130 -1 208.5 59t80.5 160q0 106 -140 174q-49 25 -71 42t-22 38q0 22 24.5 38.5t70.5 16.5q70 1 124 -24l15 -8zM2042 960h-128 +q-65 0 -87 -54l-246 -588h174l35 96h212q5 -22 20 -96h154zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_466" unicode="&#xf1f1;" horiz-adv-x="2304" +d="M1119 1195q-128 85 -281 85q-103 0 -197.5 -40.5t-162.5 -108.5t-108.5 -162t-40.5 -197q0 -104 40.5 -198t108.5 -162t162 -108.5t198 -40.5q153 0 281 85q-131 107 -178 265.5t0.5 316.5t177.5 265zM1152 1171q-126 -99 -172 -249.5t-0.5 -300.5t172.5 -249 +q127 99 172.5 249t-0.5 300.5t-172 249.5zM1185 1195q130 -107 177.5 -265.5t0.5 -317t-178 -264.5q128 -85 281 -85q104 0 198 40.5t162 108.5t108.5 162t40.5 198q0 103 -40.5 197t-108.5 162t-162.5 108.5t-197.5 40.5q-153 0 -281 -85zM1926 473h7v3h-17v-3h7v-17h3v17z +M1955 456h4v20h-5l-6 -13l-6 13h-5v-20h3v15l6 -13h4l5 13v-15zM1947 16v-2h-2h-3v3h3h2v-1zM1947 7h3l-4 5h2l1 1q1 1 1 3t-1 3l-1 1h-3h-6v-13h3v5h1zM685 75q0 19 11 31t30 12q18 0 29 -12.5t11 -30.5q0 -19 -11 -31t-29 -12q-19 0 -30 12t-11 31zM1158 119q30 0 35 -32 +h-70q5 32 35 32zM1514 75q0 19 11 31t29 12t29.5 -12.5t11.5 -30.5q0 -19 -11 -31t-30 -12q-18 0 -29 12t-11 31zM1786 75q0 18 11.5 30.5t29.5 12.5t29.5 -12.5t11.5 -30.5q0 -19 -11.5 -31t-29.5 -12t-29.5 12.5t-11.5 30.5zM1944 3q-2 0 -4 1q-1 0 -3 2t-2 3q-1 2 -1 4 +q0 3 1 4q0 2 2 4l1 1q2 0 2 1q2 1 4 1q3 0 4 -1l4 -2l2 -4v-1q1 -2 1 -3l-1 -1v-3t-1 -1l-1 -2q-2 -2 -4 -2q-1 -1 -4 -1zM599 7h30v85q0 24 -14.5 38.5t-39.5 15.5q-32 0 -47 -24q-14 24 -45 24q-24 0 -39 -20v16h-30v-135h30v75q0 36 33 36q30 0 30 -36v-75h29v75 +q0 36 33 36q30 0 30 -36v-75zM765 7h29v68v67h-29v-16q-17 20 -43 20q-29 0 -48 -20t-19 -51t19 -51t48 -20q28 0 43 20v-17zM943 48q0 34 -47 40l-14 2q-23 4 -23 14q0 15 25 15q23 0 43 -11l12 24q-22 14 -55 14q-26 0 -41 -12t-15 -32q0 -33 47 -39l13 -2q24 -4 24 -14 +q0 -17 -31 -17q-25 0 -45 14l-13 -23q25 -17 58 -17q29 0 45.5 12t16.5 32zM1073 14l-8 25q-13 -7 -26 -7q-19 0 -19 22v61h48v27h-48v41h-30v-41h-28v-27h28v-61q0 -50 47 -50q21 0 36 10zM1159 146q-29 0 -48 -20t-19 -51q0 -32 19.5 -51.5t49.5 -19.5q33 0 55 19l-14 22 +q-18 -15 -39 -15q-34 0 -41 33h101v12q0 32 -18 51.5t-46 19.5zM1318 146q-23 0 -35 -20v16h-30v-135h30v76q0 35 29 35q10 0 18 -4l9 28q-9 4 -21 4zM1348 75q0 -31 19.5 -51t52.5 -20q29 0 48 16l-14 24q-18 -13 -35 -12q-18 0 -29.5 12t-11.5 31t11.5 31t29.5 12 +q19 0 35 -12l14 24q-20 16 -48 16q-33 0 -52.5 -20t-19.5 -51zM1593 7h30v68v67h-30v-16q-15 20 -42 20q-29 0 -48.5 -20t-19.5 -51t19.5 -51t48.5 -20q28 0 42 20v-17zM1726 146q-23 0 -35 -20v16h-29v-135h29v76q0 35 29 35q10 0 18 -4l9 28q-8 4 -21 4zM1866 7h29v68v122 +h-29v-71q-15 20 -43 20t-47.5 -20.5t-19.5 -50.5t19.5 -50.5t47.5 -20.5q29 0 43 20v-17zM1944 27l-2 -1h-3q-2 -1 -4 -3q-3 -1 -3 -4q-1 -2 -1 -6q0 -3 1 -5q0 -2 3 -4q2 -2 4 -3t5 -1q4 0 6 1q0 1 2 2l2 1q1 1 3 4q1 2 1 5q0 4 -1 6q-1 1 -3 4q0 1 -2 2l-2 1q-1 0 -3 0.5 +t-3 0.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_467" unicode="&#xf1f2;" horiz-adv-x="2304" +d="M313 759q0 -51 -36 -84q-29 -26 -89 -26h-17v220h17q61 0 89 -27q36 -31 36 -83zM2089 824q0 -52 -64 -52h-19v101h20q63 0 63 -49zM380 759q0 74 -50 120.5t-129 46.5h-95v-333h95q74 0 119 38q60 51 60 128zM410 593h65v333h-65v-333zM730 694q0 40 -20.5 62t-75.5 42 +q-29 10 -39.5 19t-10.5 23q0 16 13.5 26.5t34.5 10.5q29 0 53 -27l34 44q-41 37 -98 37q-44 0 -74 -27.5t-30 -67.5q0 -35 18 -55.5t64 -36.5q37 -13 45 -19q19 -12 19 -34q0 -20 -14 -33.5t-36 -13.5q-48 0 -71 44l-42 -40q44 -64 115 -64q51 0 83 30.5t32 79.5zM1008 604 +v77q-37 -37 -78 -37q-49 0 -80.5 32.5t-31.5 82.5q0 48 31.5 81.5t77.5 33.5q43 0 81 -38v77q-40 20 -80 20q-74 0 -125.5 -50.5t-51.5 -123.5t51 -123.5t125 -50.5q42 0 81 19zM2240 0v527q-65 -40 -144.5 -84t-237.5 -117t-329.5 -137.5t-417.5 -134.5t-504 -118h1569 +q26 0 45 19t19 45zM1389 757q0 75 -53 128t-128 53t-128 -53t-53 -128t53 -128t128 -53t128 53t53 128zM1541 584l144 342h-71l-90 -224l-89 224h-71l142 -342h35zM1714 593h184v56h-119v90h115v56h-115v74h119v57h-184v-333zM2105 593h80l-105 140q76 16 76 94q0 47 -31 73 +t-87 26h-97v-333h65v133h9zM2304 1274v-1268q0 -56 -38.5 -95t-93.5 -39h-2040q-55 0 -93.5 39t-38.5 95v1268q0 56 38.5 95t93.5 39h2040q55 0 93.5 -39t38.5 -95z" /> + <glyph glyph-name="f1f3" unicode="&#xf1f3;" horiz-adv-x="2304" +d="M119 854h89l-45 108zM740 328l74 79l-70 79h-163v-49h142v-55h-142v-54h159zM898 406l99 -110v217zM1186 453q0 33 -40 33h-84v-69h83q41 0 41 36zM1475 457q0 29 -42 29h-82v-61h81q43 0 43 32zM1197 923q0 29 -42 29h-82v-60h81q43 0 43 31zM1656 854h89l-44 108z +M699 1009v-271h-66v212l-94 -212h-57l-94 212v-212h-132l-25 60h-135l-25 -60h-70l116 271h96l110 -257v257h106l85 -184l77 184h108zM1255 453q0 -20 -5.5 -35t-14 -25t-22.5 -16.5t-26 -10t-31.5 -4.5t-31.5 -1t-32.5 0.5t-29.5 0.5v-91h-126l-80 90l-83 -90h-256v271h260 +l80 -89l82 89h207q109 0 109 -89zM964 794v-56h-217v271h217v-57h-152v-49h148v-55h-148v-54h152zM2304 235v-229q0 -55 -38.5 -94.5t-93.5 -39.5h-2040q-55 0 -93.5 39.5t-38.5 94.5v678h111l25 61h55l25 -61h218v46l19 -46h113l20 47v-47h541v99l10 1q10 0 10 -14v-86h279 +v23q23 -12 55 -18t52.5 -6.5t63 0.5t51.5 1l25 61h56l25 -61h227v58l34 -58h182v378h-180v-44l-25 44h-185v-44l-23 44h-249q-69 0 -109 -22v22h-172v-22q-24 22 -73 22h-628l-43 -97l-43 97h-198v-44l-22 44h-169l-78 -179v391q0 55 38.5 94.5t93.5 39.5h2040 +q55 0 93.5 -39.5t38.5 -94.5v-678h-120q-51 0 -81 -22v22h-177q-55 0 -78 -22v22h-316v-22q-31 22 -87 22h-209v-22q-23 22 -91 22h-234l-54 -58l-50 58h-349v-378h343l55 59l52 -59h211v89h21q59 0 90 13v-102h174v99h8q8 0 10 -2t2 -10v-87h529q57 0 88 24v-24h168 +q60 0 95 17zM1546 469q0 -23 -12 -43t-34 -29q25 -9 34 -26t9 -46v-54h-65v45q0 33 -12 43.5t-46 10.5h-69v-99h-65v271h154q48 0 77 -15t29 -58zM1269 936q0 -24 -12.5 -44t-33.5 -29q26 -9 34.5 -25.5t8.5 -46.5v-53h-65q0 9 0.5 26.5t0 25t-3 18.5t-8.5 16t-17.5 8.5 +t-29.5 3.5h-70v-98h-64v271l153 -1q49 0 78 -14.5t29 -57.5zM1798 327v-56h-216v271h216v-56h-151v-49h148v-55h-148v-54zM1372 1009v-271h-66v271h66zM2065 357q0 -86 -102 -86h-126v58h126q34 0 34 25q0 16 -17 21t-41.5 5t-49.5 3.5t-42 22.5t-17 55q0 39 26 60t66 21 +h130v-57h-119q-36 0 -36 -25q0 -16 17.5 -20.5t42 -4t49 -2.5t42 -21.5t17.5 -54.5zM2304 407v-101q-24 -35 -88 -35h-125v58h125q33 0 33 25q0 13 -12.5 19t-31 5.5t-40 2t-40 8t-31 24t-12.5 48.5q0 39 26.5 60t66.5 21h129v-57h-118q-36 0 -36 -25q0 -20 29 -22t68.5 -5 +t56.5 -26zM2139 1008v-270h-92l-122 203v-203h-132l-26 60h-134l-25 -60h-75q-129 0 -129 133q0 138 133 138h63v-59q-7 0 -28 1t-28.5 0.5t-23 -2t-21.5 -6.5t-14.5 -13.5t-11.5 -23t-3 -33.5q0 -38 13.5 -58t49.5 -20h29l92 213h97l109 -256v256h99l114 -188v188h66z" /> + <glyph glyph-name="_469" unicode="&#xf1f4;" horiz-adv-x="2304" +d="M745 630q0 -37 -25.5 -61.5t-62.5 -24.5q-29 0 -46.5 16t-17.5 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM1530 779q0 -42 -22 -57t-66 -15l-32 -1l17 107q2 11 13 11h18q22 0 35 -2t25 -12.5t12 -30.5zM1881 630q0 -36 -25.5 -61t-61.5 -25q-29 0 -47 16 +t-18 44q0 37 25 62.5t62 25.5q28 0 46.5 -16.5t18.5 -45.5zM513 801q0 59 -38.5 85.5t-100.5 26.5h-160q-19 0 -21 -19l-65 -408q-1 -6 3 -11t10 -5h76q20 0 22 19l18 110q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM822 489l41 261q1 6 -3 11t-10 5h-76 +q-14 0 -17 -33q-27 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q28 0 58 12t48 32q-4 -12 -4 -21q0 -16 13 -16h69q19 0 22 19zM1269 752q0 5 -4 9.5t-9 4.5h-77q-11 0 -18 -10l-106 -156l-44 150q-5 16 -22 16h-75q-5 0 -9 -4.5t-4 -9.5q0 -2 19.5 -59 +t42 -123t23.5 -70q-82 -112 -82 -120q0 -13 13 -13h77q11 0 18 10l255 368q2 2 2 7zM1649 801q0 59 -38.5 85.5t-100.5 26.5h-159q-20 0 -22 -19l-65 -408q-1 -6 3 -11t10 -5h82q12 0 16 13l18 116q1 8 7 13t15 6.5t17 1.5t19 -1t14 -1q86 0 135 48.5t49 134.5zM1958 489 +l41 261q1 6 -3 11t-10 5h-76q-14 0 -17 -33q-26 40 -95 40q-72 0 -122.5 -54t-50.5 -127q0 -59 34.5 -94t92.5 -35q29 0 59 12t47 32q0 -1 -2 -9t-2 -12q0 -16 13 -16h69q19 0 22 19zM2176 898v1q0 14 -13 14h-74q-11 0 -13 -11l-65 -416l-1 -2q0 -5 4 -9.5t10 -4.5h66 +q19 0 21 19zM392 764q-5 -35 -26 -46t-60 -11l-33 -1l17 107q2 11 13 11h19q40 0 58 -11.5t12 -48.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_470" unicode="&#xf1f5;" horiz-adv-x="2304" +d="M1597 633q0 -69 -21 -106q-19 -35 -52 -35q-23 0 -41 9v224q29 30 57 30q57 0 57 -122zM2035 669h-110q6 98 56 98q51 0 54 -98zM476 534q0 59 -33 91.5t-101 57.5q-36 13 -52 24t-16 25q0 26 38 26q58 0 124 -33l18 112q-67 32 -149 32q-77 0 -123 -38q-48 -39 -48 -109 +q0 -58 32.5 -90.5t99.5 -56.5q39 -14 54.5 -25.5t15.5 -27.5q0 -31 -48 -31q-29 0 -70 12.5t-72 30.5l-18 -113q72 -41 168 -41q81 0 129 37q51 41 51 117zM771 749l19 111h-96v135l-129 -21l-18 -114l-46 -8l-17 -103h62v-219q0 -84 44 -120q38 -30 111 -30q32 0 79 11v118 +q-32 -7 -44 -7q-42 0 -42 50v197h77zM1087 724v139q-15 3 -28 3q-32 0 -55.5 -16t-33.5 -46l-10 56h-131v-471h150v306q26 31 82 31q16 0 26 -2zM1124 389h150v471h-150v-471zM1746 638q0 122 -45 179q-40 52 -111 52q-64 0 -117 -56l-8 47h-132v-645l150 25v151 +q36 -11 68 -11q83 0 134 56q61 65 61 202zM1278 986q0 33 -23 56t-56 23t-56 -23t-23 -56t23 -56.5t56 -23.5t56 23.5t23 56.5zM2176 629q0 113 -48 176q-50 64 -144 64q-96 0 -151.5 -66t-55.5 -180q0 -128 63 -188q55 -55 161 -55q101 0 160 40l-16 103q-57 -31 -128 -31 +q-43 0 -63 19q-23 19 -28 66h248q2 14 2 52zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_471" unicode="&#xf1f6;" horiz-adv-x="2048" +d="M1558 684q61 -356 298 -556q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5zM1024 -176q16 0 16 16t-16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5zM2026 1424q8 -10 7.5 -23.5t-10.5 -22.5 +l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5 +l418 363q10 8 23.5 7t21.5 -11z" /> + <glyph glyph-name="_472" unicode="&#xf1f7;" horiz-adv-x="2048" +d="M1040 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM503 315l877 760q-42 88 -132.5 146.5t-223.5 58.5q-93 0 -169.5 -31.5t-121.5 -80.5t-69 -103t-24 -105q0 -384 -137 -645zM1856 128 +q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-180.5 74.5t-75.5 180.5l149 129h757q-166 187 -227 459l111 97q61 -356 298 -556zM1942 1520l84 -96q8 -10 7.5 -23.5t-10.5 -22.5l-1872 -1622q-10 -8 -23.5 -7t-21.5 11l-84 96q-8 10 -7.5 23.5t10.5 21.5l186 161 +q-19 32 -19 66q50 42 91 88t85 119.5t74.5 158.5t50 206t19.5 260q0 152 117 282.5t307 158.5q-8 19 -8 39q0 40 28 68t68 28t68 -28t28 -68q0 -20 -8 -39q124 -18 219 -82.5t148 -157.5l418 363q10 8 23.5 7t21.5 -11z" /> + <glyph glyph-name="_473" unicode="&#xf1f8;" horiz-adv-x="1408" +d="M512 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM768 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1024 160v704q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-704 +q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167 +q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" /> + <glyph glyph-name="_474" unicode="&#xf1f9;" +d="M1150 462v-109q0 -50 -36.5 -89t-94 -60.5t-118 -32.5t-117.5 -11q-205 0 -342.5 139t-137.5 346q0 203 136 339t339 136q34 0 75.5 -4.5t93 -18t92.5 -34t69 -56.5t28 -81v-109q0 -16 -16 -16h-118q-16 0 -16 16v70q0 43 -65.5 67.5t-137.5 24.5q-140 0 -228.5 -91.5 +t-88.5 -237.5q0 -151 91.5 -249.5t233.5 -98.5q68 0 138 24t70 66v70q0 7 4.5 11.5t10.5 4.5h119q6 0 11 -4.5t5 -11.5zM768 1280q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5 +t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_475" unicode="&#xf1fa;" +d="M972 761q0 108 -53.5 169t-147.5 61q-63 0 -124 -30.5t-110 -84.5t-79.5 -137t-30.5 -180q0 -112 53.5 -173t150.5 -61q96 0 176 66.5t122.5 166t42.5 203.5zM1536 640q0 -111 -37 -197t-98.5 -135t-131.5 -74.5t-145 -27.5q-6 0 -15.5 -0.5t-16.5 -0.5q-95 0 -142 53 +q-28 33 -33 83q-52 -66 -131.5 -110t-173.5 -44q-161 0 -249.5 95.5t-88.5 269.5q0 157 66 290t179 210.5t246 77.5q87 0 155 -35.5t106 -99.5l2 19l11 56q1 6 5.5 12t9.5 6h118q5 0 13 -11q5 -5 3 -16l-120 -614q-5 -24 -5 -48q0 -39 12.5 -52t44.5 -13q28 1 57 5.5t73 24 +t77 50t57 89.5t24 137q0 292 -174 466t-466 174q-130 0 -248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51q228 0 405 144q11 9 24 8t21 -12l41 -49q8 -12 7 -24q-2 -13 -12 -22q-102 -83 -227.5 -128t-258.5 -45q-156 0 -298 61 +t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q344 0 556 -212t212 -556z" /> + <glyph glyph-name="_476" unicode="&#xf1fb;" horiz-adv-x="1792" +d="M1698 1442q94 -94 94 -226.5t-94 -225.5l-225 -223l104 -104q10 -10 10 -23t-10 -23l-210 -210q-10 -10 -23 -10t-23 10l-105 105l-603 -603q-37 -37 -90 -37h-203l-256 -128l-64 64l128 256v203q0 53 37 90l603 603l-105 105q-10 10 -10 23t10 23l210 210q10 10 23 10 +t23 -10l104 -104l223 225q93 94 225.5 94t226.5 -94zM512 64l576 576l-192 192l-576 -576v-192h192z" /> + <glyph glyph-name="f1fc" unicode="&#xf1fc;" horiz-adv-x="1792" +d="M1615 1536q70 0 122.5 -46.5t52.5 -116.5q0 -63 -45 -151q-332 -629 -465 -752q-97 -91 -218 -91q-126 0 -216.5 92.5t-90.5 219.5q0 128 92 212l638 579q59 54 130 54zM706 502q39 -76 106.5 -130t150.5 -76l1 -71q4 -213 -129.5 -347t-348.5 -134q-123 0 -218 46.5 +t-152.5 127.5t-86.5 183t-29 220q7 -5 41 -30t62 -44.5t59 -36.5t46 -17q41 0 55 37q25 66 57.5 112.5t69.5 76t88 47.5t103 25.5t125 10.5z" /> + <glyph glyph-name="_478" unicode="&#xf1fd;" horiz-adv-x="1792" +d="M1792 128v-384h-1792v384q45 0 85 14t59 27.5t47 37.5q30 27 51.5 38t56.5 11q24 0 44 -7t31 -15t33 -27q29 -25 47 -38t58 -27t86 -14q45 0 85 14.5t58 27t48 37.5q21 19 32.5 27t31 15t43.5 7q35 0 56.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14t85 14t59 27.5 +t47 37.5q30 27 51.5 38t56.5 11q34 0 55.5 -11t51.5 -38q28 -24 47 -37.5t59 -27.5t85 -14zM1792 448v-192q-24 0 -44 7t-31 15t-33 27q-29 25 -47 38t-58 27t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-22 -19 -33 -27t-31 -15t-44 -7q-35 0 -56.5 11t-51.5 38q-29 25 -47 38 +t-58 27t-86 14q-45 0 -85 -14.5t-58 -27t-48 -37.5q-21 -19 -32.5 -27t-31 -15t-43.5 -7q-35 0 -56.5 11t-51.5 38q-28 24 -47 37.5t-59 27.5t-85 14q-46 0 -86 -14t-58 -27t-47 -38q-30 -27 -51.5 -38t-56.5 -11v192q0 80 56 136t136 56h64v448h256v-448h256v448h256v-448 +h256v448h256v-448h64q80 0 136 -56t56 -136zM512 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1024 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5 +q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150zM1536 1312q0 -77 -36 -118.5t-92 -41.5q-53 0 -90.5 37.5t-37.5 90.5q0 29 9.5 51t23.5 34t31 28t31 31.5t23.5 44.5t9.5 67q38 0 83 -74t45 -150z" /> + <glyph glyph-name="_479" unicode="&#xf1fe;" horiz-adv-x="2048" +d="M2048 0v-128h-2048v1536h128v-1408h1920zM1664 1024l256 -896h-1664v576l448 576l576 -576z" /> + <glyph glyph-name="_480" unicode="&#xf200;" horiz-adv-x="1792" +d="M768 646l546 -546q-106 -108 -247.5 -168t-298.5 -60q-209 0 -385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103v-762zM955 640h773q0 -157 -60 -298.5t-168 -247.5zM1664 768h-768v768q209 0 385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_481" unicode="&#xf201;" horiz-adv-x="2048" +d="M2048 0v-128h-2048v1536h128v-1408h1920zM1920 1248v-435q0 -21 -19.5 -29.5t-35.5 7.5l-121 121l-633 -633q-10 -10 -23 -10t-23 10l-233 233l-416 -416l-192 192l585 585q10 10 23 10t23 -10l233 -233l464 464l-121 121q-16 16 -7.5 35.5t29.5 19.5h435q14 0 23 -9 +t9 -23z" /> + <glyph glyph-name="_482" unicode="&#xf202;" horiz-adv-x="1792" +d="M1292 832q0 -6 10 -41q10 -29 25 -49.5t41 -34t44 -20t55 -16.5q325 -91 325 -332q0 -146 -105.5 -242.5t-254.5 -96.5q-59 0 -111.5 18.5t-91.5 45.5t-77 74.5t-63 87.5t-53.5 103.5t-43.5 103t-39.5 106.5t-35.5 95q-32 81 -61.5 133.5t-73.5 96.5t-104 64t-142 20 +q-96 0 -183 -55.5t-138 -144.5t-51 -185q0 -160 106.5 -279.5t263.5 -119.5q177 0 258 95q56 63 83 116l84 -152q-15 -34 -44 -70l1 -1q-131 -152 -388 -152q-147 0 -269.5 79t-190.5 207.5t-68 274.5q0 105 43.5 206t116 176.5t172 121.5t204.5 46q87 0 159 -19t123.5 -50 +t95 -80t72.5 -99t58.5 -117t50.5 -124.5t50 -130.5t55 -127q96 -200 233 -200q81 0 138.5 48.5t57.5 128.5q0 42 -19 72t-50.5 46t-72.5 31.5t-84.5 27t-87.5 34t-81 52t-65 82t-39 122.5q-3 16 -3 33q0 110 87.5 192t198.5 78q78 -3 120.5 -14.5t90.5 -53.5h-1 +q12 -11 23 -24.5t26 -36t19 -27.5l-129 -99q-26 49 -54 70v1q-23 21 -97 21q-49 0 -84 -33t-35 -83z" /> + <glyph glyph-name="_483" unicode="&#xf203;" +d="M1432 484q0 173 -234 239q-35 10 -53 16.5t-38 25t-29 46.5q0 2 -2 8.5t-3 12t-1 7.5q0 36 24.5 59.5t60.5 23.5q54 0 71 -15h-1q20 -15 39 -51l93 71q-39 54 -49 64q-33 29 -67.5 39t-85.5 10q-80 0 -142 -57.5t-62 -137.5q0 -7 2 -23q16 -96 64.5 -140t148.5 -73 +q29 -8 49 -15.5t45 -21.5t38.5 -34.5t13.5 -46.5v-5q1 -58 -40.5 -93t-100.5 -35q-97 0 -167 144q-23 47 -51.5 121.5t-48 125.5t-54 110.5t-74 95.5t-103.5 60.5t-147 24.5q-101 0 -192 -56t-144 -148t-50 -192v-1q4 -108 50.5 -199t133.5 -147.5t196 -56.5q186 0 279 110 +q20 27 31 51l-60 109q-42 -80 -99 -116t-146 -36q-115 0 -191 87t-76 204q0 105 82 189t186 84q112 0 170 -53.5t104 -172.5q8 -21 25.5 -68.5t28.5 -76.5t31.5 -74.5t38.5 -74t45.5 -62.5t55.5 -53.5t66 -33t80 -13.5q107 0 183 69.5t76 174.5zM1536 1120v-960 +q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_484" unicode="&#xf204;" horiz-adv-x="2048" +d="M1152 640q0 104 -40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM1920 640q0 104 -40.5 198.5 +t-109.5 163.5t-163.5 109.5t-198.5 40.5h-386q119 -90 188.5 -224t69.5 -288t-69.5 -288t-188.5 -224h386q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5zM2048 640q0 -130 -51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5 +t-136.5 204t-51 248.5t51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5z" /> + <glyph glyph-name="_485" unicode="&#xf205;" horiz-adv-x="2048" +d="M0 640q0 130 51 248.5t136.5 204t204 136.5t248.5 51h768q130 0 248.5 -51t204 -136.5t136.5 -204t51 -248.5t-51 -248.5t-136.5 -204t-204 -136.5t-248.5 -51h-768q-130 0 -248.5 51t-204 136.5t-136.5 204t-51 248.5zM1408 128q104 0 198.5 40.5t163.5 109.5 +t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5t-163.5 109.5t-198.5 40.5t-198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5z" /> + <glyph glyph-name="_486" unicode="&#xf206;" horiz-adv-x="2304" +d="M762 384h-314q-40 0 -57.5 35t6.5 67l188 251q-65 31 -137 31q-132 0 -226 -94t-94 -226t94 -226t226 -94q115 0 203 72.5t111 183.5zM576 512h186q-18 85 -75 148zM1056 512l288 384h-480l-99 -132q105 -103 126 -252h165zM2176 448q0 132 -94 226t-226 94 +q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94t226 94t94 226zM2304 448q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 97 39.5 183.5t109.5 149.5l-65 98l-353 -469 +q-18 -26 -51 -26h-197q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q114 0 215 -55l137 183h-224q-26 0 -45 19t-19 45t19 45t45 19h384v-128h435l-85 128h-222q-26 0 -45 19t-19 45t19 45t45 19h256q33 0 53 -28l267 -400 +q91 44 192 44q185 0 316.5 -131.5t131.5 -316.5z" /> + <glyph glyph-name="_487" unicode="&#xf207;" +d="M384 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 320q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1362 716l-72 384q-5 23 -22.5 37.5t-40.5 14.5 +h-918q-23 0 -40.5 -14.5t-22.5 -37.5l-72 -384q-5 -30 14 -53t49 -23h1062q30 0 49 23t14 53zM1136 1328q0 20 -14 34t-34 14h-640q-20 0 -34 -14t-14 -34t14 -34t34 -14h640q20 0 34 14t14 34zM1536 603v-603h-128v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 +t-37.5 90.5v128h-768v-128q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5v128h-128v603q0 112 25 223l103 454q9 78 97.5 137t230 89t312.5 30t312.5 -30t230 -89t97.5 -137l105 -454q23 -102 23 -223z" /> + <glyph glyph-name="_488" unicode="&#xf208;" horiz-adv-x="2048" +d="M1463 704q0 -35 -25 -60.5t-61 -25.5h-702q-36 0 -61 25.5t-25 60.5t25 60.5t61 25.5h702q36 0 61 -25.5t25 -60.5zM1677 704q0 86 -23 170h-982q-36 0 -61 25t-25 60q0 36 25 61t61 25h908q-88 143 -235 227t-320 84q-177 0 -327.5 -87.5t-238 -237.5t-87.5 -327 +q0 -86 23 -170h982q36 0 61 -25t25 -60q0 -36 -25 -61t-61 -25h-908q88 -143 235.5 -227t320.5 -84q132 0 253 51.5t208 139t139 208t52 253.5zM2048 959q0 -35 -25 -60t-61 -25h-131q17 -85 17 -170q0 -167 -65.5 -319.5t-175.5 -263t-262.5 -176t-319.5 -65.5 +q-246 0 -448.5 133t-301.5 350h-189q-36 0 -61 25t-25 61q0 35 25 60t61 25h132q-17 85 -17 170q0 167 65.5 319.5t175.5 263t262.5 176t320.5 65.5q245 0 447.5 -133t301.5 -350h188q36 0 61 -25t25 -61z" /> + <glyph glyph-name="_489" unicode="&#xf209;" horiz-adv-x="1280" +d="M953 1158l-114 -328l117 -21q165 451 165 518q0 56 -38 56q-57 0 -130 -225zM654 471l33 -88q37 42 71 67l-33 5.5t-38.5 7t-32.5 8.5zM362 1367q0 -98 159 -521q17 10 49 10q15 0 75 -5l-121 351q-75 220 -123 220q-19 0 -29 -17.5t-10 -37.5zM283 608q0 -36 51.5 -119 +t117.5 -153t100 -70q14 0 25.5 13t11.5 27q0 24 -32 102q-13 32 -32 72t-47.5 89t-61.5 81t-62 32q-20 0 -45.5 -27t-25.5 -47zM125 273q0 -41 25 -104q59 -145 183.5 -227t281.5 -82q227 0 382 170q152 169 152 427q0 43 -1 67t-11.5 62t-30.5 56q-56 49 -211.5 75.5 +t-270.5 26.5q-37 0 -49 -11q-12 -5 -12 -35q0 -34 21.5 -60t55.5 -40t77.5 -23.5t87.5 -11.5t85 -4t70 0h23q24 0 40 -19q15 -19 19 -55q-28 -28 -96 -54q-61 -22 -93 -46q-64 -46 -108.5 -114t-44.5 -137q0 -31 18.5 -88.5t18.5 -87.5l-3 -12q-4 -12 -4 -14 +q-137 10 -146 216q-8 -2 -41 -2q2 -7 2 -21q0 -53 -40.5 -89.5t-94.5 -36.5q-82 0 -166.5 78t-84.5 159q0 34 33 67q52 -64 60 -76q77 -104 133 -104q12 0 26.5 8.5t14.5 20.5q0 34 -87.5 145t-116.5 111q-43 0 -70 -44.5t-27 -90.5zM11 264q0 101 42.5 163t136.5 88 +q-28 74 -28 104q0 62 61 123t122 61q29 0 70 -15q-163 462 -163 567q0 80 41 130.5t119 50.5q131 0 325 -581q6 -17 8 -23q6 16 29 79.5t43.5 118.5t54 127.5t64.5 123t70.5 86.5t76.5 36q71 0 112 -49t41 -122q0 -108 -159 -550q61 -15 100.5 -46t58.5 -78t26 -93.5 +t7 -110.5q0 -150 -47 -280t-132 -225t-211 -150t-278 -55q-111 0 -223 42q-149 57 -258 191.5t-109 286.5z" /> + <glyph glyph-name="_490" unicode="&#xf20a;" horiz-adv-x="2048" +d="M785 528h207q-14 -158 -98.5 -248.5t-214.5 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-203q-5 64 -35.5 99t-81.5 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t40 -51.5t66 -18q95 0 109 139zM1497 528h206 +q-14 -158 -98 -248.5t-214 -90.5q-162 0 -254.5 116t-92.5 316q0 194 93 311.5t233 117.5q148 0 232 -87t97 -247h-204q-4 64 -35 99t-81 35q-57 0 -88.5 -60.5t-31.5 -177.5q0 -48 5 -84t18 -69.5t39.5 -51.5t65.5 -18q49 0 76.5 38t33.5 101zM1856 647q0 207 -15.5 307 +t-60.5 161q-6 8 -13.5 14t-21.5 15t-16 11q-86 63 -697 63q-625 0 -710 -63q-5 -4 -17.5 -11.5t-21 -14t-14.5 -14.5q-45 -60 -60 -159.5t-15 -308.5q0 -208 15 -307.5t60 -160.5q6 -8 15 -15t20.5 -14t17.5 -12q44 -33 239.5 -49t470.5 -16q610 0 697 65q5 4 17 11t20.5 14 +t13.5 16q46 60 61 159t15 309zM2048 1408v-1536h-2048v1536h2048z" /> + <glyph glyph-name="_491" unicode="&#xf20b;" +d="M992 912v-496q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v496q0 112 -80 192t-192 80h-272v-1152q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v1344q0 14 9 23t23 9h464q135 0 249 -66.5t180.5 -180.5t66.5 -249zM1376 1376v-880q0 -135 -66.5 -249t-180.5 -180.5 +t-249 -66.5h-464q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h160q14 0 23 -9t9 -23v-768h272q112 0 192 80t80 192v880q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" /> + <glyph glyph-name="_492" unicode="&#xf20c;" +d="M1311 694v-114q0 -24 -13.5 -38t-37.5 -14h-202q-24 0 -38 14t-14 38v114q0 24 14 38t38 14h202q24 0 37.5 -14t13.5 -38zM821 464v250q0 53 -32.5 85.5t-85.5 32.5h-133q-68 0 -96 -52q-28 52 -96 52h-130q-53 0 -85.5 -32.5t-32.5 -85.5v-250q0 -22 21 -22h55 +q22 0 22 22v230q0 24 13.5 38t38.5 14h94q24 0 38 -14t14 -38v-230q0 -22 21 -22h54q22 0 22 22v230q0 24 14 38t38 14h97q24 0 37.5 -14t13.5 -38v-230q0 -22 22 -22h55q21 0 21 22zM1410 560v154q0 53 -33 85.5t-86 32.5h-264q-53 0 -86 -32.5t-33 -85.5v-410 +q0 -21 22 -21h55q21 0 21 21v180q31 -42 94 -42h191q53 0 86 32.5t33 85.5zM1536 1176v-1072q0 -96 -68 -164t-164 -68h-1072q-96 0 -164 68t-68 164v1072q0 96 68 164t164 68h1072q96 0 164 -68t68 -164z" /> + <glyph glyph-name="_493" unicode="&#xf20d;" +d="M915 450h-294l147 551zM1001 128h311l-324 1024h-440l-324 -1024h311l383 314zM1536 1120v-960q0 -118 -85 -203t-203 -85h-960q-118 0 -203 85t-85 203v960q0 118 85 203t203 85h960q118 0 203 -85t85 -203z" /> + <glyph glyph-name="_494" unicode="&#xf20e;" horiz-adv-x="2048" +d="M2048 641q0 -21 -13 -36.5t-33 -19.5l-205 -356q3 -9 3 -18q0 -20 -12.5 -35.5t-32.5 -19.5l-193 -337q3 -8 3 -16q0 -23 -16.5 -40t-40.5 -17q-25 0 -41 18h-400q-17 -20 -43 -20t-43 20h-399q-17 -20 -43 -20q-23 0 -40 16.5t-17 40.5q0 8 4 20l-193 335 +q-20 4 -32.5 19.5t-12.5 35.5q0 9 3 18l-206 356q-20 5 -32.5 20.5t-12.5 35.5q0 21 13.5 36.5t33.5 19.5l199 344q0 1 -0.5 3t-0.5 3q0 36 34 51l209 363q-4 10 -4 18q0 24 17 40.5t40 16.5q26 0 44 -21h396q16 21 43 21t43 -21h398q18 21 44 21q23 0 40 -16.5t17 -40.5 +q0 -6 -4 -18l207 -358q23 -1 39 -17.5t16 -38.5q0 -13 -7 -27l187 -324q19 -4 31.5 -19.5t12.5 -35.5zM1063 -158h389l-342 354h-143l-342 -354h360q18 16 39 16t39 -16zM112 654q1 -4 1 -13q0 -10 -2 -15l208 -360l15 -6l188 199v347l-187 194q-13 -8 -29 -10zM986 1438 +h-388l190 -200l554 200h-280q-16 -16 -38 -16t-38 16zM1689 226q1 6 5 11l-64 68l-17 -79h76zM1583 226l22 105l-252 266l-296 -307l63 -64h463zM1495 -142l16 28l65 310h-427l333 -343q8 4 13 5zM578 -158h5l342 354h-373v-335l4 -6q14 -5 22 -13zM552 226h402l64 66 +l-309 321l-157 -166v-221zM359 226h163v189l-168 -177q4 -8 5 -12zM358 1051q0 -1 0.5 -2t0.5 -2q0 -16 -8 -29l171 -177v269zM552 1121v-311l153 -157l297 314l-223 236zM556 1425l-4 -8v-264l205 74l-191 201q-6 -2 -10 -3zM1447 1438h-16l-621 -224l213 -225zM1023 946 +l-297 -315l311 -319l296 307zM688 634l-136 141v-284zM1038 270l-42 -44h85zM1374 618l238 -251l132 624l-3 5l-1 1zM1718 1018q-8 13 -8 29v2l-216 376q-5 1 -13 5l-437 -463l310 -327zM522 1142v223l-163 -282zM522 196h-163l163 -283v283zM1607 196l-48 -227l130 227h-82 +zM1729 266l207 361q-2 10 -2 14q0 1 3 16l-171 296l-129 -612l77 -82q5 3 15 7z" /> + <glyph glyph-name="f210" unicode="&#xf210;" +d="M0 856q0 131 91.5 226.5t222.5 95.5h742l352 358v-1470q0 -132 -91.5 -227t-222.5 -95h-780q-131 0 -222.5 95t-91.5 227v790zM1232 102l-176 180v425q0 46 -32 79t-78 33h-484q-46 0 -78 -33t-32 -79v-492q0 -46 32.5 -79.5t77.5 -33.5h770z" /> + <glyph glyph-name="_496" unicode="&#xf211;" +d="M934 1386q-317 -121 -556 -362.5t-358 -560.5q-20 89 -20 176q0 208 102.5 384.5t278.5 279t384 102.5q82 0 169 -19zM1203 1267q93 -65 164 -155q-389 -113 -674.5 -400.5t-396.5 -676.5q-93 72 -155 162q112 386 395 671t667 399zM470 -67q115 356 379.5 622t619.5 384 +q40 -92 54 -195q-292 -120 -516 -345t-343 -518q-103 14 -194 52zM1536 -125q-193 50 -367 115q-135 -84 -290 -107q109 205 274 370.5t369 275.5q-21 -152 -101 -284q65 -175 115 -370z" /> + <glyph glyph-name="f212" unicode="&#xf212;" horiz-adv-x="2048" +d="M1893 1144l155 -1272q-131 0 -257 57q-200 91 -393 91q-226 0 -374 -148q-148 148 -374 148q-193 0 -393 -91q-128 -57 -252 -57h-5l155 1272q224 127 482 127q233 0 387 -106q154 106 387 106q258 0 482 -127zM1398 157q129 0 232 -28.5t260 -93.5l-124 1021 +q-171 78 -368 78q-224 0 -374 -141q-150 141 -374 141q-197 0 -368 -78l-124 -1021q105 43 165.5 65t148.5 39.5t178 17.5q202 0 374 -108q172 108 374 108zM1438 191l-55 907q-211 -4 -359 -155q-152 155 -374 155q-176 0 -336 -66l-114 -941q124 51 228.5 76t221.5 25 +q209 0 374 -102q172 107 374 102z" /> + <glyph glyph-name="_498" unicode="&#xf213;" horiz-adv-x="2048" +d="M1500 165v733q0 21 -15 36t-35 15h-93q-20 0 -35 -15t-15 -36v-733q0 -20 15 -35t35 -15h93q20 0 35 15t15 35zM1216 165v531q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-531q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM924 165v429q0 20 -15 35t-35 15h-101 +q-20 0 -35 -15t-15 -35v-429q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM632 165v362q0 20 -15 35t-35 15h-101q-20 0 -35 -15t-15 -35v-362q0 -20 15 -35t35 -15h101q20 0 35 15t15 35zM2048 311q0 -166 -118 -284t-284 -118h-1244q-166 0 -284 118t-118 284 +q0 116 63 214.5t168 148.5q-10 34 -10 73q0 113 80.5 193.5t193.5 80.5q102 0 180 -67q45 183 194 300t338 117q149 0 275 -73.5t199.5 -199.5t73.5 -275q0 -66 -14 -122q135 -33 221 -142.5t86 -247.5z" /> + <glyph glyph-name="_499" unicode="&#xf214;" +d="M0 1536h1536v-1392l-776 -338l-760 338v1392zM1436 209v926h-1336v-926l661 -294zM1436 1235v201h-1336v-201h1336zM181 937v-115h-37v115h37zM181 789v-115h-37v115h37zM181 641v-115h-37v115h37zM181 493v-115h-37v115h37zM181 345v-115h-37v115h37zM207 202l15 34 +l105 -47l-15 -33zM343 142l15 34l105 -46l-15 -34zM478 82l15 34l105 -46l-15 -34zM614 23l15 33l104 -46l-15 -34zM797 10l105 46l15 -33l-105 -47zM932 70l105 46l15 -34l-105 -46zM1068 130l105 46l15 -34l-105 -46zM1203 189l105 47l15 -34l-105 -46zM259 1389v-36h-114 +v36h114zM421 1389v-36h-115v36h115zM583 1389v-36h-115v36h115zM744 1389v-36h-114v36h114zM906 1389v-36h-114v36h114zM1068 1389v-36h-115v36h115zM1230 1389v-36h-115v36h115zM1391 1389v-36h-114v36h114zM181 1049v-79h-37v115h115v-36h-78zM421 1085v-36h-115v36h115z +M583 1085v-36h-115v36h115zM744 1085v-36h-114v36h114zM906 1085v-36h-114v36h114zM1068 1085v-36h-115v36h115zM1230 1085v-36h-115v36h115zM1355 970v79h-78v36h115v-115h-37zM1355 822v115h37v-115h-37zM1355 674v115h37v-115h-37zM1355 526v115h37v-115h-37zM1355 378 +v115h37v-115h-37zM1355 230v115h37v-115h-37zM760 265q-129 0 -221 91.5t-92 221.5q0 129 92 221t221 92q130 0 221.5 -92t91.5 -221q0 -130 -91.5 -221.5t-221.5 -91.5zM595 646q0 -36 19.5 -56.5t49.5 -25t64 -7t64 -2t49.5 -9t19.5 -30.5q0 -49 -112 -49q-97 0 -123 51 +h-3l-31 -63q67 -42 162 -42q29 0 56.5 5t55.5 16t45.5 33t17.5 53q0 46 -27.5 69.5t-67.5 27t-79.5 3t-67 5t-27.5 25.5q0 21 20.5 33t40.5 15t41 3q34 0 70.5 -11t51.5 -34h3l30 58q-3 1 -21 8.5t-22.5 9t-19.5 7t-22 7t-20 4.5t-24 4t-23 1q-29 0 -56.5 -5t-54 -16.5 +t-43 -34t-16.5 -53.5z" /> + <glyph glyph-name="_500" unicode="&#xf215;" horiz-adv-x="2048" +d="M863 504q0 112 -79.5 191.5t-191.5 79.5t-191 -79.5t-79 -191.5t79 -191t191 -79t191.5 79t79.5 191zM1726 505q0 112 -79 191t-191 79t-191.5 -79t-79.5 -191q0 -113 79.5 -192t191.5 -79t191 79.5t79 191.5zM2048 1314v-1348q0 -44 -31.5 -75.5t-76.5 -31.5h-1832 +q-45 0 -76.5 31.5t-31.5 75.5v1348q0 44 31.5 75.5t76.5 31.5h431q44 0 76 -31.5t32 -75.5v-161h754v161q0 44 32 75.5t76 31.5h431q45 0 76.5 -31.5t31.5 -75.5z" /> + <glyph glyph-name="_501" unicode="&#xf216;" horiz-adv-x="2048" +d="M1430 953zM1690 749q148 0 253 -98.5t105 -244.5q0 -157 -109 -261.5t-267 -104.5q-85 0 -162 27.5t-138 73.5t-118 106t-109 126t-103.5 132.5t-108.5 126.5t-117 106t-136 73.5t-159 27.5q-154 0 -251.5 -91.5t-97.5 -244.5q0 -157 104 -250t263 -93q100 0 208 37.5 +t193 98.5q5 4 21 18.5t30 24t22 9.5q14 0 24.5 -10.5t10.5 -24.5q0 -24 -60 -77q-101 -88 -234.5 -142t-260.5 -54q-133 0 -245.5 58t-180 165t-67.5 241q0 205 141.5 341t347.5 136q120 0 226.5 -43.5t185.5 -113t151.5 -153t139 -167.5t133.5 -153.5t149.5 -113 +t172.5 -43.5q102 0 168.5 61.5t66.5 162.5q0 95 -64.5 159t-159.5 64q-30 0 -81.5 -18.5t-68.5 -18.5q-20 0 -35.5 15t-15.5 35q0 18 8.5 57t8.5 59q0 159 -107.5 263t-266.5 104q-58 0 -111.5 -18.5t-84 -40.5t-55.5 -40.5t-33 -18.5q-15 0 -25.5 10.5t-10.5 25.5 +q0 19 25 46q59 67 147 103.5t182 36.5q191 0 318 -125.5t127 -315.5q0 -37 -4 -66q57 15 115 15z" /> + <glyph glyph-name="_502" unicode="&#xf217;" horiz-adv-x="1664" +d="M1216 832q0 26 -19 45t-45 19h-128v128q0 26 -19 45t-45 19t-45 -19t-19 -45v-128h-128q-26 0 -45 -19t-19 -45t19 -45t45 -19h128v-128q0 -26 19 -45t45 -19t45 19t19 45v128h128q26 0 45 19t19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 +t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920 +q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" /> + <glyph glyph-name="_503" unicode="&#xf218;" horiz-adv-x="1664" +d="M1280 832q0 26 -19 45t-45 19t-45 -19l-147 -146v293q0 26 -19 45t-45 19t-45 -19t-19 -45v-293l-147 146q-19 19 -45 19t-45 -19t-19 -45t19 -45l256 -256q19 -19 45 -19t45 19l256 256q19 19 19 45zM640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 +t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920 +q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" /> + <glyph glyph-name="_504" unicode="&#xf219;" horiz-adv-x="2048" +d="M212 768l623 -665l-300 665h-323zM1024 -4l349 772h-698zM538 896l204 384h-262l-288 -384h346zM1213 103l623 665h-323zM683 896h682l-204 384h-274zM1510 896h346l-288 384h-262zM1651 1382l384 -512q14 -18 13 -41.5t-17 -40.5l-960 -1024q-18 -20 -47 -20t-47 20 +l-960 1024q-16 17 -17 40.5t13 41.5l384 512q18 26 51 26h1152q33 0 51 -26z" /> + <glyph glyph-name="_505" unicode="&#xf21a;" horiz-adv-x="2048" +d="M1811 -19q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83 +q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83q19 19 45 19t45 -19l83 -83l83 83 +q19 19 45 19t45 -19l83 -83zM237 19q-19 -19 -45 -19t-45 19l-128 128l90 90l83 -82l83 82q19 19 45 19t45 -19l83 -82l64 64v293l-210 314q-17 26 -7 56.5t40 40.5l177 58v299h128v128h256v128h256v-128h256v-128h128v-299l177 -58q30 -10 40 -40.5t-7 -56.5l-210 -314 +v-293l19 18q19 19 45 19t45 -19l83 -82l83 82q19 19 45 19t45 -19l128 -128l-90 -90l-83 83l-83 -83q-18 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83l-83 -83 +q-19 -19 -45 -19t-45 19l-83 83l-83 -83q-19 -19 -45 -19t-45 19l-83 83zM640 1152v-128l384 128l384 -128v128h-128v128h-512v-128h-128z" /> + <glyph glyph-name="_506" unicode="&#xf21b;" +d="M576 0l96 448l-96 128l-128 64zM832 0l128 640l-128 -64l-96 -128zM992 1010q-2 4 -4 6q-10 8 -96 8q-70 0 -167 -19q-7 -2 -21 -2t-21 2q-97 19 -167 19q-86 0 -96 -8q-2 -2 -4 -6q2 -18 4 -27q2 -3 7.5 -6.5t7.5 -10.5q2 -4 7.5 -20.5t7 -20.5t7.5 -17t8.5 -17t9 -14 +t12 -13.5t14 -9.5t17.5 -8t20.5 -4t24.5 -2q36 0 59 12.5t32.5 30t14.5 34.5t11.5 29.5t17.5 12.5h12q11 0 17.5 -12.5t11.5 -29.5t14.5 -34.5t32.5 -30t59 -12.5q13 0 24.5 2t20.5 4t17.5 8t14 9.5t12 13.5t9 14t8.5 17t7.5 17t7 20.5t7.5 20.5q2 7 7.5 10.5t7.5 6.5 +q2 9 4 27zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 61 4.5 118t19 125.5t37.5 123.5t63.5 103.5t93.5 74.5l-90 220h214q-22 64 -22 128q0 12 2 32q-194 40 -194 96q0 57 210 99q17 62 51.5 134t70.5 114q32 37 76 37q30 0 84 -31t84 -31t84 31 +t84 31q44 0 76 -37q36 -42 70.5 -114t51.5 -134q210 -42 210 -99q0 -56 -194 -96q7 -81 -20 -160h214l-82 -225q63 -33 107.5 -96.5t65.5 -143.5t29 -151.5t8 -148.5z" /> + <glyph glyph-name="_507" unicode="&#xf21c;" horiz-adv-x="2304" +d="M2301 500q12 -103 -22 -198.5t-99 -163.5t-158.5 -106t-196.5 -31q-161 11 -279.5 125t-134.5 274q-12 111 27.5 210.5t118.5 170.5l-71 107q-96 -80 -151 -194t-55 -244q0 -27 -18.5 -46.5t-45.5 -19.5h-256h-69q-23 -164 -149 -274t-294 -110q-185 0 -316.5 131.5 +t-131.5 316.5t131.5 316.5t316.5 131.5q76 0 152 -27l24 45q-123 110 -304 110h-64q-26 0 -45 19t-19 45t19 45t45 19h128q78 0 145 -13.5t116.5 -38.5t71.5 -39.5t51 -36.5h512h115l-85 128h-222q-30 0 -49 22.5t-14 52.5q4 23 23 38t43 15h253q33 0 53 -28l70 -105 +l114 114q19 19 46 19h101q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-179l115 -172q131 63 275 36q143 -26 244 -134.5t118 -253.5zM448 128q115 0 203 72.5t111 183.5h-314q-35 0 -55 31q-18 32 -1 63l147 277q-47 13 -91 13q-132 0 -226 -94t-94 -226t94 -226 +t226 -94zM1856 128q132 0 226 94t94 226t-94 226t-226 94q-60 0 -121 -24l174 -260q15 -23 10 -49t-27 -40q-15 -11 -36 -11q-35 0 -53 29l-174 260q-93 -95 -93 -225q0 -132 94 -226t226 -94z" /> + <glyph glyph-name="_508" unicode="&#xf21d;" +d="M1408 0q0 -63 -61.5 -113.5t-164 -81t-225 -46t-253.5 -15.5t-253.5 15.5t-225 46t-164 81t-61.5 113.5q0 49 33 88.5t91 66.5t118 44.5t131 29.5q26 5 48 -10.5t26 -41.5q5 -26 -10.5 -48t-41.5 -26q-58 -10 -106 -23.5t-76.5 -25.5t-48.5 -23.5t-27.5 -19.5t-8.5 -12 +q3 -11 27 -26.5t73 -33t114 -32.5t160.5 -25t201.5 -10t201.5 10t160.5 25t114 33t73 33.5t27 27.5q-1 4 -8.5 11t-27.5 19t-48.5 23.5t-76.5 25t-106 23.5q-26 4 -41.5 26t-10.5 48q4 26 26 41.5t48 10.5q71 -12 131 -29.5t118 -44.5t91 -66.5t33 -88.5zM1024 896v-384 +q0 -26 -19 -45t-45 -19h-64v-384q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v384h-64q-26 0 -45 19t-19 45v384q0 53 37.5 90.5t90.5 37.5h384q53 0 90.5 -37.5t37.5 -90.5zM928 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5 +t158.5 -65.5t65.5 -158.5z" /> + <glyph glyph-name="_509" unicode="&#xf21e;" horiz-adv-x="1792" +d="M1280 512h305q-5 -6 -10 -10.5t-9 -7.5l-3 -4l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-5 2 -21 20h369q22 0 39.5 13.5t22.5 34.5l70 281l190 -667q6 -20 23 -33t39 -13q21 0 38 13t23 33l146 485l56 -112q18 -35 57 -35zM1792 940q0 -145 -103 -300h-369l-111 221 +q-8 17 -25.5 27t-36.5 8q-45 -5 -56 -46l-129 -430l-196 686q-6 20 -23.5 33t-39.5 13t-39 -13.5t-22 -34.5l-116 -464h-423q-103 155 -103 300q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124 +t127 -344z" /> + <glyph glyph-name="venus" unicode="&#xf221;" horiz-adv-x="1280" +d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292 +q11 134 80.5 249t182 188t245.5 88q170 19 319 -54t236 -212t87 -306zM128 960q0 -185 131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5z" /> + <glyph glyph-name="_511" unicode="&#xf222;" +d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-382 -383q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5 +q203 0 359 -126l382 382h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_512" unicode="&#xf223;" horiz-adv-x="1280" +d="M830 1220q145 -72 233.5 -210.5t88.5 -305.5q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5 +t-147.5 384.5q0 167 88.5 305.5t233.5 210.5q-165 96 -228 273q-6 16 3.5 29.5t26.5 13.5h69q21 0 29 -20q44 -106 140 -171t214 -65t214 65t140 171q8 20 37 20h61q17 0 26.5 -13.5t3.5 -29.5q-63 -177 -228 -273zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 +t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_513" unicode="&#xf224;" +d="M1024 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 +q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-149 16 -270.5 103t-186.5 223.5t-53 291.5q16 204 160 353.5t347 172.5q118 14 228 -19t198 -103l255 254h-134q-14 0 -23 9t-9 23v64zM576 256q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 +t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_514" unicode="&#xf225;" horiz-adv-x="1792" +d="M1280 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q126 -158 126 -359q0 -221 -147.5 -384.5t-364.5 -187.5v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64 +q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-217 24 -364.5 187.5t-147.5 384.5q0 201 126 359l-52 53l-101 -111q-9 -10 -22 -10.5t-23 7.5l-48 44q-10 8 -10.5 21.5t8.5 23.5l105 115l-111 112v-134q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9 +t-9 23v288q0 26 19 45t45 19h288q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-133l106 -107l86 94q9 10 22 10.5t23 -7.5l48 -44q10 -8 10.5 -21.5t-8.5 -23.5l-90 -99l57 -56q158 126 359 126t359 -126l255 254h-134q-14 0 -23 9t-9 23v64zM832 256q185 0 316.5 131.5 +t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_515" unicode="&#xf226;" horiz-adv-x="1792" +d="M1790 1007q12 -155 -52.5 -292t-186 -224t-271.5 -103v-260h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-512v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23 +t23 9h224v260q-150 16 -271.5 103t-186 224t-52.5 292q17 206 164.5 356.5t352.5 169.5q206 21 377 -94q171 115 377 94q205 -19 352.5 -169.5t164.5 -356.5zM896 647q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM576 512q115 0 218 57q-154 165 -154 391 +q0 224 154 391q-103 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5zM1152 128v260q-137 15 -256 94q-119 -79 -256 -94v-260h512zM1216 512q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5q-115 0 -218 -57q154 -167 154 -391 +q0 -226 -154 -391q103 -57 218 -57z" /> + <glyph glyph-name="_516" unicode="&#xf227;" horiz-adv-x="1920" +d="M1536 1120q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-31 -182 -166 -312t-318 -156q-210 -29 -384.5 80t-241.5 300q-117 6 -221 57.5t-177.5 133t-113.5 192.5t-32 230 +q9 135 78 252t182 191.5t248 89.5q118 14 227.5 -19t198.5 -103l255 254h-134q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q59 -74 93 -169q182 -9 328 -124l255 254h-134q-14 0 -23 9 +t-9 23v64zM1024 704q0 20 -4 58q-162 -25 -271 -150t-109 -292q0 -20 4 -58q162 25 271 150t109 292zM128 704q0 -168 111 -294t276 -149q-3 29 -3 59q0 210 135 369.5t338 196.5q-53 120 -163.5 193t-245.5 73q-185 0 -316.5 -131.5t-131.5 -316.5zM1088 -128 +q185 0 316.5 131.5t131.5 316.5q0 168 -111 294t-276 149q3 -28 3 -59q0 -210 -135 -369.5t-338 -196.5q53 -120 163.5 -193t245.5 -73z" /> + <glyph glyph-name="_517" unicode="&#xf228;" horiz-adv-x="2048" +d="M1664 1504q0 14 9 23t23 9h288q26 0 45 -19t19 -45v-288q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v134l-254 -255q76 -95 107.5 -214t9.5 -247q-32 -180 -164.5 -310t-313.5 -157q-223 -34 -409 90q-117 -78 -256 -93v-132h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23 +t-23 -9h-96v-96q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v96h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v132q-155 17 -279.5 109.5t-187 237.5t-39.5 307q25 187 159.5 322.5t320.5 164.5q224 34 410 -90q146 97 320 97q201 0 359 -126l255 254h-134q-14 0 -23 9 +t-9 23v64zM896 391q128 131 128 313t-128 313q-128 -131 -128 -313t128 -313zM128 704q0 -185 131.5 -316.5t316.5 -131.5q117 0 218 57q-154 167 -154 391t154 391q-101 57 -218 57q-185 0 -316.5 -131.5t-131.5 -316.5zM1216 256q185 0 316.5 131.5t131.5 316.5 +t-131.5 316.5t-316.5 131.5q-117 0 -218 -57q154 -167 154 -391t-154 -391q101 -57 218 -57z" /> + <glyph glyph-name="_518" unicode="&#xf229;" +d="M1472 1408q26 0 45 -19t19 -45v-416q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v262l-213 -214l140 -140q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-140 141l-78 -79q126 -156 126 -359q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5 +t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123t223.5 45.5q203 0 359 -126l78 78l-172 172q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l172 -172l213 213h-261q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h416zM576 0q185 0 316.5 131.5t131.5 316.5t-131.5 316.5 +t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_519" unicode="&#xf22a;" horiz-adv-x="1280" +d="M640 892q217 -24 364.5 -187.5t147.5 -384.5q0 -167 -87 -306t-236 -212t-319 -54q-133 15 -245.5 88t-182 188t-80.5 249q-12 155 52.5 292t186 224t271.5 103v132h-160q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h160v165l-92 -92q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22 +t9 23l202 201q19 19 45 19t45 -19l202 -201q9 -10 9 -23t-9 -22l-46 -46q-9 -9 -22 -9t-23 9l-92 92v-165h160q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-160v-132zM576 -128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5 +t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_520" unicode="&#xf22b;" horiz-adv-x="2048" +d="M1901 621q19 -19 19 -45t-19 -45l-294 -294q-9 -10 -22.5 -10t-22.5 10l-45 45q-10 9 -10 22.5t10 22.5l185 185h-294v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-132q-24 -217 -187.5 -364.5t-384.5 -147.5q-167 0 -306 87t-212 236t-54 319q15 133 88 245.5 +t188 182t249 80.5q155 12 292 -52.5t224 -186t103 -271.5h132v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h294l-185 185q-10 9 -10 22.5t10 22.5l45 45q9 10 22.5 10t22.5 -10zM576 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5 +t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_521" unicode="&#xf22c;" horiz-adv-x="1280" +d="M1152 960q0 -221 -147.5 -384.5t-364.5 -187.5v-612q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v612q-217 24 -364.5 187.5t-147.5 384.5q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM576 512q185 0 316.5 131.5 +t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" /> + <glyph glyph-name="_522" unicode="&#xf22d;" horiz-adv-x="1280" +d="M1024 576q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1152 576q0 -117 -45.5 -223.5t-123 -184t-184 -123t-223.5 -45.5t-223.5 45.5t-184 123t-123 184t-45.5 223.5t45.5 223.5t123 184t184 123 +t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5z" /> + <glyph glyph-name="_523" unicode="&#xf22e;" horiz-adv-x="1792" + /> + <glyph glyph-name="_524" unicode="&#xf22f;" horiz-adv-x="1792" + /> + <glyph glyph-name="_525" unicode="&#xf230;" +d="M1451 1408q35 0 60 -25t25 -60v-1366q0 -35 -25 -60t-60 -25h-391v595h199l30 232h-229v148q0 56 23.5 84t91.5 28l122 1v207q-63 9 -178 9q-136 0 -217.5 -80t-81.5 -226v-171h-200v-232h200v-595h-735q-35 0 -60 25t-25 60v1366q0 35 25 60t60 25h1366z" /> + <glyph glyph-name="_526" unicode="&#xf231;" horiz-adv-x="1280" +d="M0 939q0 108 37.5 203.5t103.5 166.5t152 123t185 78t202 26q158 0 294 -66.5t221 -193.5t85 -287q0 -96 -19 -188t-60 -177t-100 -149.5t-145 -103t-189 -38.5q-68 0 -135 32t-96 88q-10 -39 -28 -112.5t-23.5 -95t-20.5 -71t-26 -71t-32 -62.5t-46 -77.5t-62 -86.5 +l-14 -5l-9 10q-15 157 -15 188q0 92 21.5 206.5t66.5 287.5t52 203q-32 65 -32 169q0 83 52 156t132 73q61 0 95 -40.5t34 -102.5q0 -66 -44 -191t-44 -187q0 -63 45 -104.5t109 -41.5q55 0 102 25t78.5 68t56 95t38 110.5t20 111t6.5 99.5q0 173 -109.5 269.5t-285.5 96.5 +q-200 0 -334 -129.5t-134 -328.5q0 -44 12.5 -85t27 -65t27 -45.5t12.5 -30.5q0 -28 -15 -73t-37 -45q-2 0 -17 3q-51 15 -90.5 56t-61 94.5t-32.5 108t-11 106.5z" /> + <glyph glyph-name="_527" unicode="&#xf232;" +d="M985 562q13 0 97.5 -44t89.5 -53q2 -5 2 -15q0 -33 -17 -76q-16 -39 -71 -65.5t-102 -26.5q-57 0 -190 62q-98 45 -170 118t-148 185q-72 107 -71 194v8q3 91 74 158q24 22 52 22q6 0 18 -1.5t19 -1.5q19 0 26.5 -6.5t15.5 -27.5q8 -20 33 -88t25 -75q0 -21 -34.5 -57.5 +t-34.5 -46.5q0 -7 5 -15q34 -73 102 -137q56 -53 151 -101q12 -7 22 -7q15 0 54 48.5t52 48.5zM782 32q127 0 243.5 50t200.5 134t134 200.5t50 243.5t-50 243.5t-134 200.5t-200.5 134t-243.5 50t-243.5 -50t-200.5 -134t-134 -200.5t-50 -243.5q0 -203 120 -368l-79 -233 +l242 77q158 -104 345 -104zM782 1414q153 0 292.5 -60t240.5 -161t161 -240.5t60 -292.5t-60 -292.5t-161 -240.5t-240.5 -161t-292.5 -60q-195 0 -365 94l-417 -134l136 405q-108 178 -108 389q0 153 60 292.5t161 240.5t240.5 161t292.5 60z" /> + <glyph glyph-name="_528" unicode="&#xf233;" horiz-adv-x="1792" +d="M128 128h1024v128h-1024v-128zM128 640h1024v128h-1024v-128zM1696 192q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM128 1152h1024v128h-1024v-128zM1696 704q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1696 1216 +q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1792 384v-384h-1792v384h1792zM1792 896v-384h-1792v384h1792zM1792 1408v-384h-1792v384h1792z" /> + <glyph glyph-name="_529" unicode="&#xf234;" horiz-adv-x="2048" +d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1664 512h352q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-352q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5 +t-9.5 22.5v352h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v352q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5v-352zM928 288q0 -52 38 -90t90 -38h256v-238q-68 -50 -171 -50h-874q-121 0 -194 69t-73 190q0 53 3.5 103.5t14 109t26.5 108.5 +t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q79 -61 154.5 -91.5t164.5 -30.5t164.5 30.5t154.5 91.5q20 17 39 17q132 0 217 -96h-223q-52 0 -90 -38t-38 -90v-192z" /> + <glyph glyph-name="_530" unicode="&#xf235;" horiz-adv-x="2048" +d="M704 640q-159 0 -271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5t-112.5 -271.5t-271.5 -112.5zM1781 320l249 -249q9 -9 9 -23q0 -13 -9 -22l-136 -136q-9 -9 -22 -9q-14 0 -23 9l-249 249l-249 -249q-9 -9 -23 -9q-13 0 -22 9l-136 136 +q-9 9 -9 22q0 14 9 23l249 249l-249 249q-9 9 -9 23q0 13 9 22l136 136q9 9 22 9q14 0 23 -9l249 -249l249 249q9 9 23 9q13 0 22 -9l136 -136q9 -9 9 -22q0 -14 -9 -23zM1283 320l-181 -181q-37 -37 -37 -91q0 -53 37 -90l83 -83q-21 -3 -44 -3h-874q-121 0 -194 69 +t-73 190q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q19 0 39 -17q154 -122 319 -122t319 122q20 17 39 17q28 0 57 -6q-28 -27 -41 -50t-13 -56q0 -54 37 -91z" /> + <glyph glyph-name="_531" unicode="&#xf236;" horiz-adv-x="2048" +d="M256 512h1728q26 0 45 -19t19 -45v-448h-256v256h-1536v-256h-256v1216q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-704zM832 832q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM2048 576v64q0 159 -112.5 271.5t-271.5 112.5h-704 +q-26 0 -45 -19t-19 -45v-384h1152z" /> + <glyph glyph-name="_532" unicode="&#xf237;" +d="M1536 1536l-192 -448h192v-192h-274l-55 -128h329v-192h-411l-357 -832l-357 832h-411v192h329l-55 128h-274v192h192l-192 448h256l323 -768h378l323 768h256zM768 320l108 256h-216z" /> + <glyph glyph-name="_533" unicode="&#xf238;" +d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM768 192q80 0 136 56t56 136t-56 136t-136 56 +t-136 -56t-56 -136t56 -136t136 -56zM1344 768v512h-1152v-512h1152z" /> + <glyph glyph-name="_534" unicode="&#xf239;" +d="M1088 1536q185 0 316.5 -93.5t131.5 -226.5v-896q0 -130 -125.5 -222t-305.5 -97l213 -202q16 -15 8 -35t-30 -20h-1056q-22 0 -30 20t8 35l213 202q-180 5 -305.5 97t-125.5 222v896q0 133 131.5 226.5t316.5 93.5h640zM288 224q66 0 113 47t47 113t-47 113t-113 47 +t-113 -47t-47 -113t47 -113t113 -47zM704 768v512h-544v-512h544zM1248 224q66 0 113 47t47 113t-47 113t-113 47t-113 -47t-47 -113t47 -113t113 -47zM1408 768v512h-576v-512h576z" /> + <glyph glyph-name="_535" unicode="&#xf23a;" horiz-adv-x="1792" +d="M597 1115v-1173q0 -25 -12.5 -42.5t-36.5 -17.5q-17 0 -33 8l-465 233q-21 10 -35.5 33.5t-14.5 46.5v1140q0 20 10 34t29 14q14 0 44 -15l511 -256q3 -3 3 -5zM661 1014l534 -866l-534 266v600zM1792 996v-1054q0 -25 -14 -40.5t-38 -15.5t-47 13l-441 220zM1789 1116 +q0 -3 -256.5 -419.5t-300.5 -487.5l-390 634l324 527q17 28 52 28q14 0 26 -6l541 -270q4 -2 4 -6z" /> + <glyph glyph-name="_536" unicode="&#xf23b;" +d="M809 532l266 499h-112l-157 -312q-24 -48 -44 -92l-42 92l-155 312h-120l263 -493v-324h101v318zM1536 1408v-1536h-1536v1536h1536z" /> + <glyph glyph-name="_537" unicode="&#xf23c;" horiz-adv-x="2296" +d="M478 -139q-8 -16 -27 -34.5t-37 -25.5q-25 -9 -51.5 3.5t-28.5 31.5q-1 22 40 55t68 38q23 4 34 -21.5t2 -46.5zM1819 -139q7 -16 26 -34.5t38 -25.5q25 -9 51.5 3.5t27.5 31.5q2 22 -39.5 55t-68.5 38q-22 4 -33 -21.5t-2 -46.5zM1867 -30q13 -27 56.5 -59.5t77.5 -41.5 +q45 -13 82 4.5t37 50.5q0 46 -67.5 100.5t-115.5 59.5q-40 5 -63.5 -37.5t-6.5 -76.5zM428 -30q-13 -27 -56 -59.5t-77 -41.5q-45 -13 -82 4.5t-37 50.5q0 46 67.5 100.5t115.5 59.5q40 5 63 -37.5t6 -76.5zM1158 1094h1q-41 0 -76 -15q27 -8 44 -30.5t17 -49.5 +q0 -35 -27 -60t-65 -25q-52 0 -80 43q-5 -23 -5 -42q0 -74 56 -126.5t135 -52.5q80 0 136 52.5t56 126.5t-56 126.5t-136 52.5zM1462 1312q-99 109 -220.5 131.5t-245.5 -44.5q27 60 82.5 96.5t118 39.5t121.5 -17t99.5 -74.5t44.5 -131.5zM2212 73q8 -11 -11 -42 +q7 -23 7 -40q1 -56 -44.5 -112.5t-109.5 -91.5t-118 -37q-48 -2 -92 21.5t-66 65.5q-687 -25 -1259 0q-23 -41 -66.5 -65t-92.5 -22q-86 3 -179.5 80.5t-92.5 160.5q2 22 7 40q-19 31 -11 42q6 10 31 1q14 22 41 51q-7 29 2 38q11 10 39 -4q29 20 59 34q0 29 13 37 +q23 12 51 -16q35 5 61 -2q18 -4 38 -19v73q-11 0 -18 2q-53 10 -97 44.5t-55 87.5q-9 38 0 81q15 62 93 95q2 17 19 35.5t36 23.5t33 -7.5t19 -30.5h13q46 -5 60 -23q3 -3 5 -7q10 1 30.5 3.5t30.5 3.5q-15 11 -30 17q-23 40 -91 43q0 6 1 10q-62 2 -118.5 18.5t-84.5 47.5 +q-32 36 -42.5 92t-2.5 112q16 126 90 179q23 16 52 4.5t32 -40.5q0 -1 1.5 -14t2.5 -21t3 -20t5.5 -19t8.5 -10q27 -14 76 -12q48 46 98 74q-40 4 -162 -14l47 46q61 58 163 111q145 73 282 86q-20 8 -41 15.5t-47 14t-42.5 10.5t-47.5 11t-43 10q595 126 904 -139 +q98 -84 158 -222q85 -10 121 9h1q5 3 8.5 10t5.5 19t3 19.5t3 21.5l1 14q3 28 32 40t52 -5q73 -52 91 -178q7 -57 -3.5 -113t-42.5 -91q-28 -32 -83.5 -48.5t-115.5 -18.5v-10q-71 -2 -95 -43q-14 -5 -31 -17q11 -1 32 -3.5t30 -3.5q1 5 5 8q16 18 60 23h13q5 18 19 30t33 8 +t36 -23t19 -36q79 -32 93 -95q9 -40 1 -81q-12 -53 -56 -88t-97 -44q-10 -2 -17 -2q0 -49 -1 -73q20 15 38 19q26 7 61 2q28 28 51 16q14 -9 14 -37q33 -16 59 -34q27 13 38 4q10 -10 2 -38q28 -30 41 -51q23 8 31 -1zM1937 1025q0 -29 -9 -54q82 -32 112 -132 +q4 37 -9.5 98.5t-41.5 90.5q-20 19 -36 17t-16 -20zM1859 925q35 -42 47.5 -108.5t-0.5 -124.5q67 13 97 45q13 14 18 28q-3 64 -31 114.5t-79 66.5q-15 -15 -52 -21zM1822 921q-30 0 -44 1q42 -115 53 -239q21 0 43 3q16 68 1 135t-53 100zM258 839q30 100 112 132 +q-9 25 -9 54q0 18 -16.5 20t-35.5 -17q-28 -29 -41.5 -90.5t-9.5 -98.5zM294 737q29 -31 97 -45q-13 58 -0.5 124.5t47.5 108.5v0q-37 6 -52 21q-51 -16 -78.5 -66t-31.5 -115q9 -17 18 -28zM471 683q14 124 73 235q-19 -4 -55 -18l-45 -19v1q-46 -89 -20 -196q25 -3 47 -3z +M1434 644q8 -38 16.5 -108.5t11.5 -89.5q3 -18 9.5 -21.5t23.5 4.5q40 20 62 85.5t23 125.5q-24 2 -146 4zM1152 1285q-116 0 -199 -82.5t-83 -198.5q0 -117 83 -199.5t199 -82.5t199 82.5t83 199.5q0 116 -83 198.5t-199 82.5zM1380 646q-105 2 -211 0v1q-1 -27 2.5 -86 +t13.5 -66q29 -14 93.5 -14.5t95.5 10.5q9 3 11 39t-0.5 69.5t-4.5 46.5zM1112 447q8 4 9.5 48t-0.5 88t-4 63v1q-212 -3 -214 -3q-4 -20 -7 -62t0 -83t14 -46q34 -15 101 -16t101 10zM718 636q-16 -59 4.5 -118.5t77.5 -84.5q15 -8 24 -5t12 21q3 16 8 90t10 103 +q-69 -2 -136 -6zM591 510q3 -23 -34 -36q132 -141 271.5 -240t305.5 -154q172 49 310.5 146t293.5 250q-33 13 -30 34q0 2 0.5 3.5t1.5 3t1 2.5v1v-1q-17 2 -50 5.5t-48 4.5q-26 -90 -82 -132q-51 -38 -82 1q-5 6 -9 14q-7 13 -17 62q-2 -5 -5 -9t-7.5 -7t-8 -5.5t-9.5 -4 +l-10 -2.5t-12 -2l-12 -1.5t-13.5 -1t-13.5 -0.5q-106 -9 -163 11q-4 -17 -10 -26.5t-21 -15t-23 -7t-36 -3.5q-6 -1 -9 -1q-179 -17 -203 40q-2 -63 -56 -54q-47 8 -91 54q-12 13 -20 26q-17 29 -26 65q-58 -6 -87 -10q1 -2 4 -10zM507 -118q3 14 3 30q-17 71 -51 130 +t-73 70q-41 12 -101.5 -14.5t-104.5 -80t-39 -107.5q35 -53 100 -93t119 -42q51 -2 94 28t53 79zM510 53q23 -63 27 -119q195 113 392 174q-98 52 -180.5 120t-179.5 165q-6 -4 -29 -13q0 -1 -1 -4t-1 -5q31 -18 22 -37q-12 -23 -56 -34q-10 -13 -29 -24h-1q-2 -83 1 -150 +q19 -34 35 -73zM579 -113q532 -21 1145 0q-254 147 -428 196q-76 -35 -156 -57q-8 -3 -16 0q-65 21 -129 49q-208 -60 -416 -188h-1v-1q1 0 1 1zM1763 -67q4 54 28 120q14 38 33 71l-1 -1q3 77 3 153q-15 8 -30 25q-42 9 -56 33q-9 20 22 38q-2 4 -2 9q-16 4 -28 12 +q-204 -190 -383 -284q198 -59 414 -176zM2155 -90q5 54 -39 107.5t-104 80t-102 14.5q-38 -11 -72.5 -70.5t-51.5 -129.5q0 -16 3 -30q10 -49 53 -79t94 -28q54 2 119 42t100 93z" /> + <glyph glyph-name="_538" unicode="&#xf23d;" horiz-adv-x="2304" +d="M1524 -25q0 -68 -48 -116t-116 -48t-116.5 48t-48.5 116t48.5 116.5t116.5 48.5t116 -48.5t48 -116.5zM775 -25q0 -68 -48.5 -116t-116.5 -48t-116 48t-48 116t48 116.5t116 48.5t116.5 -48.5t48.5 -116.5zM0 1469q57 -60 110.5 -104.5t121 -82t136 -63t166 -45.5 +t200 -31.5t250 -18.5t304 -9.5t372.5 -2.5q139 0 244.5 -5t181 -16.5t124 -27.5t71 -39.5t24 -51.5t-19.5 -64t-56.5 -76.5t-89.5 -91t-116 -104.5t-139 -119q-185 -157 -286 -247q29 51 76.5 109t94 105.5t94.5 98.5t83 91.5t54 80.5t13 70t-45.5 55.5t-116.5 41t-204 23.5 +t-304 5q-168 -2 -314 6t-256 23t-204.5 41t-159.5 51.5t-122.5 62.5t-91.5 66.5t-68 71.5t-50.5 69.5t-40 68t-36.5 59.5z" /> + <glyph glyph-name="_539" unicode="&#xf23e;" horiz-adv-x="1792" +d="M896 1472q-169 0 -323 -66t-265.5 -177.5t-177.5 -265.5t-66 -323t66 -323t177.5 -265.5t265.5 -177.5t323 -66t323 66t265.5 177.5t177.5 265.5t66 323t-66 323t-177.5 265.5t-265.5 177.5t-323 66zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348 +t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71zM496 704q16 0 16 -16v-480q0 -16 -16 -16h-32q-16 0 -16 16v480q0 16 16 16h32zM896 640q53 0 90.5 -37.5t37.5 -90.5q0 -35 -17.5 -64t-46.5 -46v-114q0 -14 -9 -23 +t-23 -9h-64q-14 0 -23 9t-9 23v114q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5zM896 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM544 928v-96 +q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 93 65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5v-96q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v96q0 146 -103 249t-249 103t-249 -103t-103 -249zM1408 192v512q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-512 +q0 -26 19 -45t45 -19h896q26 0 45 19t19 45z" /> + <glyph glyph-name="_540" unicode="&#xf240;" horiz-adv-x="2304" +d="M1920 1024v-768h-1664v768h1664zM2048 448h128v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288zM2304 832v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113 +v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160q53 0 90.5 -37.5t37.5 -90.5z" /> + <glyph glyph-name="_541" unicode="&#xf241;" horiz-adv-x="2304" +d="M256 256v768h1280v-768h-1280zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 +h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" /> + <glyph glyph-name="_542" unicode="&#xf242;" horiz-adv-x="2304" +d="M256 256v768h896v-768h-896zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 +h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" /> + <glyph glyph-name="_543" unicode="&#xf243;" horiz-adv-x="2304" +d="M256 256v768h512v-768h-512zM2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9 +h-1856q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" /> + <glyph glyph-name="_544" unicode="&#xf244;" horiz-adv-x="2304" +d="M2176 960q53 0 90.5 -37.5t37.5 -90.5v-384q0 -53 -37.5 -90.5t-90.5 -37.5v-160q0 -66 -47 -113t-113 -47h-1856q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1856q66 0 113 -47t47 -113v-160zM2176 448v384h-128v288q0 14 -9 23t-23 9h-1856q-14 0 -23 -9t-9 -23 +v-960q0 -14 9 -23t23 -9h1856q14 0 23 9t9 23v288h128z" /> + <glyph glyph-name="_545" unicode="&#xf245;" horiz-adv-x="1280" +d="M1133 493q31 -30 14 -69q-17 -40 -59 -40h-382l201 -476q10 -25 0 -49t-34 -35l-177 -75q-25 -10 -49 0t-35 34l-191 452l-312 -312q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v1504q0 42 40 59q12 5 24 5q27 0 45 -19z" /> + <glyph glyph-name="_546" unicode="&#xf246;" horiz-adv-x="1024" +d="M832 1408q-320 0 -320 -224v-416h128v-128h-128v-544q0 -224 320 -224h64v-128h-64q-272 0 -384 146q-112 -146 -384 -146h-64v128h64q320 0 320 224v544h-128v128h128v416q0 224 -320 224h-64v128h64q272 0 384 -146q112 146 384 146h64v-128h-64z" /> + <glyph glyph-name="_547" unicode="&#xf247;" horiz-adv-x="2048" +d="M2048 1152h-128v-1024h128v-384h-384v128h-1280v-128h-384v384h128v1024h-128v384h384v-128h1280v128h384v-384zM1792 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 -128v128h-128v-128h128zM1664 0v128h128v1024h-128v128h-1280v-128h-128v-1024h128v-128 +h1280zM1920 -128v128h-128v-128h128zM1280 896h384v-768h-896v256h-384v768h896v-256zM512 512h640v512h-640v-512zM1536 256v512h-256v-384h-384v-128h640z" /> + <glyph glyph-name="_548" unicode="&#xf248;" horiz-adv-x="2304" +d="M2304 768h-128v-640h128v-384h-384v128h-896v-128h-384v384h128v128h-384v-128h-384v384h128v640h-128v384h384v-128h896v128h384v-384h-128v-128h384v128h384v-384zM2048 1024v-128h128v128h-128zM1408 1408v-128h128v128h-128zM128 1408v-128h128v128h-128zM256 256 +v128h-128v-128h128zM1536 384h-128v-128h128v128zM384 384h896v128h128v640h-128v128h-896v-128h-128v-640h128v-128zM896 -128v128h-128v-128h128zM2176 -128v128h-128v-128h128zM2048 128v640h-128v128h-384v-384h128v-384h-384v128h-384v-128h128v-128h896v128h128z" /> + <glyph glyph-name="_549" unicode="&#xf249;" +d="M1024 288v-416h-928q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68v-928h-416q-40 0 -68 -28t-28 -68zM1152 256h381q-15 -82 -65 -132l-184 -184q-50 -50 -132 -65v381z" /> + <glyph glyph-name="_550" unicode="&#xf24a;" +d="M1400 256h-248v-248q29 10 41 22l185 185q12 12 22 41zM1120 384h288v896h-1280v-1280h896v288q0 40 28 68t68 28zM1536 1312v-1024q0 -40 -20 -88t-48 -76l-184 -184q-28 -28 -76 -48t-88 -20h-1024q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1344q40 0 68 -28t28 -68 +z" /> + <glyph glyph-name="_551" unicode="&#xf24b;" horiz-adv-x="2304" +d="M1951 538q0 -26 -15.5 -44.5t-38.5 -23.5q-8 -2 -18 -2h-153v140h153q10 0 18 -2q23 -5 38.5 -23.5t15.5 -44.5zM1933 751q0 -25 -15 -42t-38 -21q-3 -1 -15 -1h-139v129h139q3 0 8.5 -0.5t6.5 -0.5q23 -4 38 -21.5t15 -42.5zM728 587v308h-228v-308q0 -58 -38 -94.5 +t-105 -36.5q-108 0 -229 59v-112q53 -15 121 -23t109 -9l42 -1q328 0 328 217zM1442 403v113q-99 -52 -200 -59q-108 -8 -169 41t-61 142t61 142t169 41q101 -7 200 -58v112q-48 12 -100 19.5t-80 9.5l-28 2q-127 6 -218.5 -14t-140.5 -60t-71 -88t-22 -106t22 -106t71 -88 +t140.5 -60t218.5 -14q101 4 208 31zM2176 518q0 54 -43 88.5t-109 39.5v3q57 8 89 41.5t32 79.5q0 55 -41 88t-107 36q-3 0 -12 0.5t-14 0.5h-455v-510h491q74 0 121.5 36.5t47.5 96.5zM2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90 +t90 38h2048q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_552" unicode="&#xf24c;" horiz-adv-x="2304" +d="M858 295v693q-106 -41 -172 -135.5t-66 -211.5t66 -211.5t172 -134.5zM1362 641q0 117 -66 211.5t-172 135.5v-694q106 41 172 135.5t66 211.5zM1577 641q0 -159 -78.5 -294t-213.5 -213.5t-294 -78.5q-119 0 -227.5 46.5t-187 125t-125 187t-46.5 227.5q0 159 78.5 294 +t213.5 213.5t294 78.5t294 -78.5t213.5 -213.5t78.5 -294zM1960 634q0 139 -55.5 261.5t-147.5 205.5t-213.5 131t-252.5 48h-301q-176 0 -323.5 -81t-235 -230t-87.5 -335q0 -171 87 -317.5t236 -231.5t323 -85h301q129 0 251.5 50.5t214.5 135t147.5 202.5t55.5 246z +M2304 1280v-1280q0 -52 -38 -90t-90 -38h-2048q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h2048q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_553" unicode="&#xf24d;" horiz-adv-x="1792" +d="M1664 -96v1088q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5zM1792 992v-1088q0 -66 -47 -113t-113 -47h-1088q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113 +zM1408 1376v-160h-128v160q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5v-1088q0 -13 9.5 -22.5t22.5 -9.5h160v-128h-160q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1088q66 0 113 -47t47 -113z" /> + <glyph glyph-name="_554" unicode="&#xf24e;" horiz-adv-x="2304" +d="M1728 1088l-384 -704h768zM448 1088l-384 -704h768zM1269 1280q-14 -40 -45.5 -71.5t-71.5 -45.5v-1291h608q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1344q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h608v1291q-40 14 -71.5 45.5t-45.5 71.5h-491q-14 0 -23 9t-9 23v64 +q0 14 9 23t23 9h491q21 57 70 92.5t111 35.5t111 -35.5t70 -92.5h491q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-491zM1088 1264q33 0 56.5 23.5t23.5 56.5t-23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5zM2176 384q0 -73 -46.5 -131t-117.5 -91 +t-144.5 -49.5t-139.5 -16.5t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81zM896 384q0 -73 -46.5 -131t-117.5 -91t-144.5 -49.5t-139.5 -16.5 +t-139.5 16.5t-144.5 49.5t-117.5 91t-46.5 131q0 11 35 81t92 174.5t107 195.5t102 184t56 100q18 33 56 33t56 -33q4 -7 56 -100t102 -184t107 -195.5t92 -174.5t35 -81z" /> + <glyph glyph-name="_555" unicode="&#xf250;" +d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 +t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-77 -29 -149 -92.5 +t-129.5 -152.5t-92.5 -210t-35 -253h1024q0 132 -35 253t-92.5 210t-129.5 152.5t-149 92.5q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" /> + <glyph glyph-name="_556" unicode="&#xf251;" +d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 +t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -66 9 -128h1006q9 61 9 128zM1280 -128q0 130 -34 249.5t-90.5 208t-126.5 152t-146 94.5h-230q-76 -31 -146 -94.5t-126.5 -152t-90.5 -208t-34 -249.5h1024z" /> + <glyph glyph-name="_557" unicode="&#xf252;" +d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 +t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM1280 1408h-1024q0 -206 85 -384h854q85 178 85 384zM1223 192q-54 141 -145.5 241.5t-194.5 142.5h-230q-103 -42 -194.5 -142.5t-145.5 -241.5h910z" /> + <glyph glyph-name="_558" unicode="&#xf253;" +d="M1408 1408q0 -261 -106.5 -461.5t-266.5 -306.5q160 -106 266.5 -306.5t106.5 -461.5h96q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96q0 261 106.5 461.5t266.5 306.5q-160 106 -266.5 306.5t-106.5 461.5h-96q-14 0 -23 9 +t-9 23v64q0 14 9 23t23 9h1472q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-96zM874 700q77 29 149 92.5t129.5 152.5t92.5 210t35 253h-1024q0 -132 35 -253t92.5 -210t129.5 -152.5t149 -92.5q19 -7 30.5 -23.5t11.5 -36.5t-11.5 -36.5t-30.5 -23.5q-137 -51 -244 -196 +h700q-107 145 -244 196q-19 7 -30.5 23.5t-11.5 36.5t11.5 36.5t30.5 23.5z" /> + <glyph glyph-name="_559" unicode="&#xf254;" +d="M1504 -64q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472zM130 0q3 55 16 107t30 95t46 87t53.5 76t64.5 69.5t66 60t70.5 55t66.5 47.5t65 43q-43 28 -65 43t-66.5 47.5t-70.5 55t-66 60t-64.5 69.5t-53.5 76t-46 87 +t-30 95t-16 107h1276q-3 -55 -16 -107t-30 -95t-46 -87t-53.5 -76t-64.5 -69.5t-66 -60t-70.5 -55t-66.5 -47.5t-65 -43q43 -28 65 -43t66.5 -47.5t70.5 -55t66 -60t64.5 -69.5t53.5 -76t46 -87t30 -95t16 -107h-1276zM1504 1536q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9 +h-1472q-14 0 -23 9t-9 23v128q0 14 9 23t23 9h1472z" /> + <glyph glyph-name="_560" unicode="&#xf255;" +d="M768 1152q-53 0 -90.5 -37.5t-37.5 -90.5v-128h-32v93q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-429l-32 30v172q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-224q0 -47 35 -82l310 -296q39 -39 39 -102q0 -26 19 -45t45 -19h640q26 0 45 19t19 45v25 +q0 41 10 77l108 436q10 36 10 77v246q0 48 -32 81.5t-80 33.5q-46 0 -79 -33t-33 -79v-32h-32v125q0 40 -25 72.5t-64 40.5q-14 2 -23 2q-46 0 -79 -33t-33 -79v-128h-32v122q0 51 -32.5 89.5t-82.5 43.5q-5 1 -13 1zM768 1280q84 0 149 -50q57 34 123 34q59 0 111 -27 +t86 -76q27 7 59 7q100 0 170 -71.5t70 -171.5v-246q0 -51 -13 -108l-109 -436q-6 -24 -6 -71q0 -80 -56 -136t-136 -56h-640q-84 0 -138 58.5t-54 142.5l-308 296q-76 73 -76 175v224q0 99 70.5 169.5t169.5 70.5q11 0 16 -1q6 95 75.5 160t164.5 65q52 0 98 -21 +q72 69 174 69z" /> + <glyph glyph-name="_561" unicode="&#xf256;" horiz-adv-x="1792" +d="M880 1408q-46 0 -79 -33t-33 -79v-656h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528v-256l-154 205q-38 51 -102 51q-53 0 -90.5 -37.5t-37.5 -90.5q0 -43 26 -77l384 -512q38 -51 102 -51h688q34 0 61 22t34 56l76 405q5 32 5 59v498q0 46 -33 79t-79 33t-79 -33 +t-33 -79v-272h-32v528q0 46 -33 79t-79 33t-79 -33t-33 -79v-528h-32v656q0 46 -33 79t-79 33zM880 1536q68 0 125.5 -35.5t88.5 -96.5q19 4 42 4q99 0 169.5 -70.5t70.5 -169.5v-17q105 6 180.5 -64t75.5 -175v-498q0 -40 -8 -83l-76 -404q-14 -79 -76.5 -131t-143.5 -52 +h-688q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 106 75 181t181 75q78 0 128 -34v434q0 99 70.5 169.5t169.5 70.5q23 0 42 -4q31 61 88.5 96.5t125.5 35.5z" /> + <glyph glyph-name="_562" unicode="&#xf257;" horiz-adv-x="1792" +d="M1073 -128h-177q-163 0 -226 141q-23 49 -23 102v5q-62 30 -98.5 88.5t-36.5 127.5q0 38 5 48h-261q-106 0 -181 75t-75 181t75 181t181 75h113l-44 17q-74 28 -119.5 93.5t-45.5 145.5q0 106 75 181t181 75q46 0 91 -17l628 -239h401q106 0 181 -75t75 -181v-668 +q0 -88 -54 -157.5t-140 -90.5l-339 -85q-92 -23 -186 -23zM1024 583l-155 -71l-163 -74q-30 -14 -48 -41.5t-18 -60.5q0 -46 33 -79t79 -33q26 0 46 10l338 154q-49 10 -80.5 50t-31.5 90v55zM1344 272q0 46 -33 79t-79 33q-26 0 -46 -10l-290 -132q-28 -13 -37 -17 +t-30.5 -17t-29.5 -23.5t-16 -29t-8 -40.5q0 -50 31.5 -82t81.5 -32q20 0 38 9l352 160q30 14 48 41.5t18 60.5zM1112 1024l-650 248q-24 8 -46 8q-53 0 -90.5 -37.5t-37.5 -90.5q0 -40 22.5 -73t59.5 -47l526 -200v-64h-640q-53 0 -90.5 -37.5t-37.5 -90.5t37.5 -90.5 +t90.5 -37.5h535l233 106v198q0 63 46 106l111 102h-69zM1073 0q82 0 155 19l339 85q43 11 70 45.5t27 78.5v668q0 53 -37.5 90.5t-90.5 37.5h-308l-136 -126q-36 -33 -36 -82v-296q0 -46 33 -77t79 -31t79 35t33 81v208h32v-208q0 -70 -57 -114q52 -8 86.5 -48.5t34.5 -93.5 +q0 -42 -23 -78t-61 -53l-310 -141h91z" /> + <glyph glyph-name="_563" unicode="&#xf258;" horiz-adv-x="2048" +d="M1151 1536q61 0 116 -28t91 -77l572 -781q118 -159 118 -359v-355q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v177l-286 143h-546q-80 0 -136 56t-56 136v32q0 119 84.5 203.5t203.5 84.5h420l42 128h-686q-100 0 -173.5 67.5t-81.5 166.5q-65 79 -65 182v32 +q0 80 56 136t136 56h959zM1920 -64v355q0 157 -93 284l-573 781q-39 52 -103 52h-959q-26 0 -45 -19t-19 -45q0 -32 1.5 -49.5t9.5 -40.5t25 -43q10 31 35.5 50t56.5 19h832v-32h-832q-26 0 -45 -19t-19 -45q0 -44 3 -58q8 -44 44 -73t81 -29h640h91q40 0 68 -28t28 -68 +q0 -15 -5 -30l-64 -192q-10 -29 -35 -47.5t-56 -18.5h-443q-66 0 -113 -47t-47 -113v-32q0 -26 19 -45t45 -19h561q16 0 29 -7l317 -158q24 -13 38.5 -36t14.5 -50v-197q0 -26 19 -45t45 -19h384q26 0 45 19t19 45z" /> + <glyph glyph-name="_564" unicode="&#xf259;" horiz-adv-x="2048" +d="M459 -256q-77 0 -137.5 47.5t-79.5 122.5l-101 401q-13 57 -13 108q0 45 -5 67l-116 477q-7 27 -7 57q0 93 62 161t155 78q17 85 82.5 139t152.5 54q83 0 148 -51.5t85 -132.5l83 -348l103 428q20 81 85 132.5t148 51.5q89 0 155.5 -57.5t80.5 -144.5q92 -10 152 -79 +t60 -162q0 -24 -7 -59l-123 -512q10 7 37.5 28.5t38.5 29.5t35 23t41 20.5t41.5 11t49.5 5.5q105 0 180 -74t75 -179q0 -62 -28.5 -118t-78.5 -94l-507 -380q-68 -51 -153 -51h-694zM1104 1408q-38 0 -68.5 -24t-39.5 -62l-164 -682h-127l-145 602q-9 38 -39.5 62t-68.5 24 +q-48 0 -80 -33t-32 -80q0 -15 3 -28l132 -547h-26l-99 408q-9 37 -40 62.5t-69 25.5q-47 0 -80 -33t-33 -79q0 -14 3 -26l116 -478q7 -28 9 -86t10 -88l100 -401q8 -32 34 -52.5t59 -20.5h694q42 0 76 26l507 379q56 43 56 110q0 52 -37.5 88.5t-89.5 36.5q-43 0 -77 -26 +l-307 -230v227q0 4 32 138t68 282t39 161q4 18 4 29q0 47 -32 81t-79 34q-39 0 -69.5 -24t-39.5 -62l-116 -482h-26l150 624q3 14 3 28q0 48 -31.5 82t-79.5 34z" /> + <glyph glyph-name="_565" unicode="&#xf25a;" horiz-adv-x="1792" +d="M640 1408q-53 0 -90.5 -37.5t-37.5 -90.5v-512v-384l-151 202q-41 54 -107 54q-52 0 -89 -38t-37 -90q0 -43 26 -77l384 -512q38 -51 102 -51h718q22 0 39.5 13.5t22.5 34.5l92 368q24 96 24 194v217q0 41 -28 71t-68 30t-68 -28t-28 -68h-32v61q0 48 -32 81.5t-80 33.5 +q-46 0 -79 -33t-33 -79v-64h-32v90q0 55 -37 94.5t-91 39.5q-53 0 -90.5 -37.5t-37.5 -90.5v-96h-32v570q0 55 -37 94.5t-91 39.5zM640 1536q107 0 181.5 -77.5t74.5 -184.5v-220q22 2 32 2q99 0 173 -69q47 21 99 21q113 0 184 -87q27 7 56 7q94 0 159 -67.5t65 -161.5 +v-217q0 -116 -28 -225l-92 -368q-16 -64 -68 -104.5t-118 -40.5h-718q-60 0 -114.5 27.5t-90.5 74.5l-384 512q-51 68 -51 154q0 105 74.5 180.5t179.5 75.5q71 0 130 -35v547q0 106 75 181t181 75zM768 128v384h-32v-384h32zM1024 128v384h-32v-384h32zM1280 128v384h-32 +v-384h32z" /> + <glyph glyph-name="_566" unicode="&#xf25b;" +d="M1288 889q60 0 107 -23q141 -63 141 -226v-177q0 -94 -23 -186l-85 -339q-21 -86 -90.5 -140t-157.5 -54h-668q-106 0 -181 75t-75 181v401l-239 628q-17 45 -17 91q0 106 75 181t181 75q80 0 145.5 -45.5t93.5 -119.5l17 -44v113q0 106 75 181t181 75t181 -75t75 -181 +v-261q27 5 48 5q69 0 127.5 -36.5t88.5 -98.5zM1072 896q-33 0 -60.5 -18t-41.5 -48l-74 -163l-71 -155h55q50 0 90 -31.5t50 -80.5l154 338q10 20 10 46q0 46 -33 79t-79 33zM1293 761q-22 0 -40.5 -8t-29 -16t-23.5 -29.5t-17 -30.5t-17 -37l-132 -290q-10 -20 -10 -46 +q0 -46 33 -79t79 -33q33 0 60.5 18t41.5 48l160 352q9 18 9 38q0 50 -32 81.5t-82 31.5zM128 1120q0 -22 8 -46l248 -650v-69l102 111q43 46 106 46h198l106 233v535q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5v-640h-64l-200 526q-14 37 -47 59.5t-73 22.5 +q-53 0 -90.5 -37.5t-37.5 -90.5zM1180 -128q44 0 78.5 27t45.5 70l85 339q19 73 19 155v91l-141 -310q-17 -38 -53 -61t-78 -23q-53 0 -93.5 34.5t-48.5 86.5q-44 -57 -114 -57h-208v32h208q46 0 81 33t35 79t-31 79t-77 33h-296q-49 0 -82 -36l-126 -136v-308 +q0 -53 37.5 -90.5t90.5 -37.5h668z" /> + <glyph glyph-name="_567" unicode="&#xf25c;" horiz-adv-x="1973" +d="M857 992v-117q0 -13 -9.5 -22t-22.5 -9h-298v-812q0 -13 -9 -22.5t-22 -9.5h-135q-13 0 -22.5 9t-9.5 23v812h-297q-13 0 -22.5 9t-9.5 22v117q0 14 9 23t23 9h793q13 0 22.5 -9.5t9.5 -22.5zM1895 995l77 -961q1 -13 -8 -24q-10 -10 -23 -10h-134q-12 0 -21 8.5 +t-10 20.5l-46 588l-189 -425q-8 -19 -29 -19h-120q-20 0 -29 19l-188 427l-45 -590q-1 -12 -10 -20.5t-21 -8.5h-135q-13 0 -23 10q-9 10 -9 24l78 961q1 12 10 20.5t21 8.5h142q20 0 29 -19l220 -520q10 -24 20 -51q3 7 9.5 24.5t10.5 26.5l221 520q9 19 29 19h141 +q13 0 22 -8.5t10 -20.5z" /> + <glyph glyph-name="_568" unicode="&#xf25d;" horiz-adv-x="1792" +d="M1042 833q0 88 -60 121q-33 18 -117 18h-123v-281h162q66 0 102 37t36 105zM1094 548l205 -373q8 -17 -1 -31q-8 -16 -27 -16h-152q-20 0 -28 17l-194 365h-155v-350q0 -14 -9 -23t-23 -9h-134q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h294q128 0 190 -24q85 -31 134 -109 +t49 -180q0 -92 -42.5 -165.5t-115.5 -109.5q6 -10 9 -16zM896 1376q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM1792 640 +q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="_569" unicode="&#xf25e;" horiz-adv-x="1792" +d="M605 303q153 0 257 104q14 18 3 36l-45 82q-6 13 -24 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78 +q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-148 0 -246 -96.5t-98 -240.5q0 -146 97 -241.5t247 -95.5zM1235 303q153 0 257 104q14 18 4 36l-45 82q-8 14 -25 17q-16 2 -27 -11l-4 -3q-4 -4 -11.5 -10t-17.5 -13.5t-23.5 -14.5t-28.5 -13t-33.5 -9.5 +t-37.5 -3.5q-76 0 -125 50t-49 127q0 76 48 125.5t122 49.5q37 0 71.5 -14t50.5 -28l16 -14q11 -11 26 -10q16 2 24 14l53 78q13 20 -2 39q-3 4 -11 12t-30 23.5t-48.5 28t-67.5 22.5t-86 10q-147 0 -245.5 -96.5t-98.5 -240.5q0 -146 97 -241.5t247 -95.5zM896 1376 +q-150 0 -286 -58.5t-234.5 -157t-157 -234.5t-58.5 -286t58.5 -286t157 -234.5t234.5 -157t286 -58.5t286 58.5t234.5 157t157 234.5t58.5 286t-58.5 286t-157 234.5t-234.5 157t-286 58.5zM896 1536q182 0 348 -71t286 -191t191 -286t71 -348t-71 -348t-191 -286t-286 -191 +t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71z" /> + <glyph glyph-name="f260" unicode="&#xf260;" horiz-adv-x="2048" +d="M736 736l384 -384l-384 -384l-672 672l672 672l168 -168l-96 -96l-72 72l-480 -480l480 -480l193 193l-289 287zM1312 1312l672 -672l-672 -672l-168 168l96 96l72 -72l480 480l-480 480l-193 -193l289 -287l-96 -96l-384 384z" /> + <glyph glyph-name="f261" unicode="&#xf261;" horiz-adv-x="1792" +d="M717 182l271 271l-279 279l-88 -88l192 -191l-96 -96l-279 279l279 279l40 -40l87 87l-127 128l-454 -454zM1075 190l454 454l-454 454l-271 -271l279 -279l88 88l-192 191l96 96l279 -279l-279 -279l-40 40l-87 -88zM1792 640q0 -182 -71 -348t-191 -286t-286 -191 +t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="_572" unicode="&#xf262;" horiz-adv-x="2304" +d="M651 539q0 -39 -27.5 -66.5t-65.5 -27.5q-39 0 -66.5 27.5t-27.5 66.5q0 38 27.5 65.5t66.5 27.5q38 0 65.5 -27.5t27.5 -65.5zM1805 540q0 -39 -27.5 -66.5t-66.5 -27.5t-66.5 27.5t-27.5 66.5t27.5 66t66.5 27t66.5 -27t27.5 -66zM765 539q0 79 -56.5 136t-136.5 57 +t-136.5 -56.5t-56.5 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM1918 540q0 80 -56.5 136.5t-136.5 56.5q-79 0 -136 -56.5t-57 -136.5t56.5 -136.5t136.5 -56.5t136.5 56.5t56.5 136.5zM850 539q0 -116 -81.5 -197.5t-196.5 -81.5q-116 0 -197.5 82t-81.5 197 +t82 196.5t197 81.5t196.5 -81.5t81.5 -196.5zM2004 540q0 -115 -81.5 -196.5t-197.5 -81.5q-115 0 -196.5 81.5t-81.5 196.5t81.5 196.5t196.5 81.5q116 0 197.5 -81.5t81.5 -196.5zM1040 537q0 191 -135.5 326.5t-326.5 135.5q-125 0 -231 -62t-168 -168.5t-62 -231.5 +t62 -231.5t168 -168.5t231 -62q191 0 326.5 135.5t135.5 326.5zM1708 1110q-254 111 -556 111q-319 0 -573 -110q117 0 223 -45.5t182.5 -122.5t122 -183t45.5 -223q0 115 43.5 219.5t118 180.5t177.5 123t217 50zM2187 537q0 191 -135 326.5t-326 135.5t-326.5 -135.5 +t-135.5 -326.5t135.5 -326.5t326.5 -135.5t326 135.5t135 326.5zM1921 1103h383q-44 -51 -75 -114.5t-40 -114.5q110 -151 110 -337q0 -156 -77 -288t-209 -208.5t-287 -76.5q-133 0 -249 56t-196 155q-47 -56 -129 -179q-11 22 -53.5 82.5t-74.5 97.5 +q-80 -99 -196.5 -155.5t-249.5 -56.5q-155 0 -287 76.5t-209 208.5t-77 288q0 186 110 337q-9 51 -40 114.5t-75 114.5h365q149 100 355 156.5t432 56.5q224 0 421 -56t348 -157z" /> + <glyph glyph-name="f263" unicode="&#xf263;" horiz-adv-x="1280" +d="M640 629q-188 0 -321 133t-133 320q0 188 133 321t321 133t321 -133t133 -321q0 -187 -133 -320t-321 -133zM640 1306q-92 0 -157.5 -65.5t-65.5 -158.5q0 -92 65.5 -157.5t157.5 -65.5t157.5 65.5t65.5 157.5q0 93 -65.5 158.5t-157.5 65.5zM1163 574q13 -27 15 -49.5 +t-4.5 -40.5t-26.5 -38.5t-42.5 -37t-61.5 -41.5q-115 -73 -315 -94l73 -72l267 -267q30 -31 30 -74t-30 -73l-12 -13q-31 -30 -74 -30t-74 30q-67 68 -267 268l-267 -268q-31 -30 -74 -30t-73 30l-12 13q-31 30 -31 73t31 74l267 267l72 72q-203 21 -317 94 +q-39 25 -61.5 41.5t-42.5 37t-26.5 38.5t-4.5 40.5t15 49.5q10 20 28 35t42 22t56 -2t65 -35q5 -4 15 -11t43 -24.5t69 -30.5t92 -24t113 -11q91 0 174 25.5t120 50.5l38 25q33 26 65 35t56 2t42 -22t28 -35z" /> + <glyph glyph-name="_574" unicode="&#xf264;" +d="M927 956q0 -66 -46.5 -112.5t-112.5 -46.5t-112.5 46.5t-46.5 112.5t46.5 112.5t112.5 46.5t112.5 -46.5t46.5 -112.5zM1141 593q-10 20 -28 32t-47.5 9.5t-60.5 -27.5q-10 -8 -29 -20t-81 -32t-127 -20t-124 18t-86 36l-27 18q-31 25 -60.5 27.5t-47.5 -9.5t-28 -32 +q-22 -45 -2 -74.5t87 -73.5q83 -53 226 -67l-51 -52q-142 -142 -191 -190q-22 -22 -22 -52.5t22 -52.5l9 -9q22 -22 52.5 -22t52.5 22l191 191q114 -115 191 -191q22 -22 52.5 -22t52.5 22l9 9q22 22 22 52.5t-22 52.5l-191 190l-52 52q141 14 225 67q67 44 87 73.5t-2 74.5 +zM1092 956q0 134 -95 229t-229 95t-229 -95t-95 -229t95 -229t229 -95t229 95t95 229zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="_575" unicode="&#xf265;" horiz-adv-x="1720" +d="M1565 1408q65 0 110 -45.5t45 -110.5v-519q0 -176 -68 -336t-182.5 -275t-274 -182.5t-334.5 -67.5q-176 0 -335.5 67.5t-274.5 182.5t-183 275t-68 336v519q0 64 46 110t110 46h1409zM861 344q47 0 82 33l404 388q37 35 37 85q0 49 -34.5 83.5t-83.5 34.5q-47 0 -82 -33 +l-323 -310l-323 310q-35 33 -81 33q-49 0 -83.5 -34.5t-34.5 -83.5q0 -51 36 -85l405 -388q33 -33 81 -33z" /> + <glyph glyph-name="_576" unicode="&#xf266;" horiz-adv-x="2304" +d="M1494 -103l-295 695q-25 -49 -158.5 -305.5t-198.5 -389.5q-1 -1 -27.5 -0.5t-26.5 1.5q-82 193 -255.5 587t-259.5 596q-21 50 -66.5 107.5t-103.5 100.5t-102 43q0 5 -0.5 24t-0.5 27h583v-50q-39 -2 -79.5 -16t-66.5 -43t-10 -64q26 -59 216.5 -499t235.5 -540 +q31 61 140 266.5t131 247.5q-19 39 -126 281t-136 295q-38 69 -201 71v50l513 -1v-47q-60 -2 -93.5 -25t-12.5 -69q33 -70 87 -189.5t86 -187.5q110 214 173 363q24 55 -10 79.5t-129 26.5q1 7 1 25v24q64 0 170.5 0.5t180 1t92.5 0.5v-49q-62 -2 -119 -33t-90 -81 +l-213 -442q13 -33 127.5 -290t121.5 -274l441 1017q-14 38 -49.5 62.5t-65 31.5t-55.5 8v50l460 -4l1 -2l-1 -44q-139 -4 -201 -145q-526 -1216 -559 -1291h-49z" /> + <glyph glyph-name="_577" unicode="&#xf267;" horiz-adv-x="1792" +d="M949 643q0 -26 -16.5 -45t-41.5 -19q-26 0 -45 16.5t-19 41.5q0 26 17 45t42 19t44 -16.5t19 -41.5zM964 585l350 581q-9 -8 -67.5 -62.5t-125.5 -116.5t-136.5 -127t-117 -110.5t-50.5 -51.5l-349 -580q7 7 67 62t126 116.5t136 127t117 111t50 50.5zM1611 640 +q0 -201 -104 -371q-3 2 -17 11t-26.5 16.5t-16.5 7.5q-13 0 -13 -13q0 -10 59 -44q-74 -112 -184.5 -190.5t-241.5 -110.5l-16 67q-1 10 -15 10q-5 0 -8 -5.5t-2 -9.5l16 -68q-72 -15 -146 -15q-199 0 -372 105q1 2 13 20.5t21.5 33.5t9.5 19q0 13 -13 13q-6 0 -17 -14.5 +t-22.5 -34.5t-13.5 -23q-113 75 -192 187.5t-110 244.5l69 15q10 3 10 15q0 5 -5.5 8t-10.5 2l-68 -15q-14 72 -14 139q0 206 109 379q2 -1 18.5 -12t30 -19t17.5 -8q13 0 13 12q0 6 -12.5 15.5t-32.5 21.5l-20 12q77 112 189 189t244 107l15 -67q2 -10 15 -10q5 0 8 5.5 +t2 10.5l-15 66q71 13 134 13q204 0 379 -109q-39 -56 -39 -65q0 -13 12 -13q11 0 48 64q111 -75 187.5 -186t107.5 -241l-56 -12q-10 -2 -10 -16q0 -5 5.5 -8t9.5 -2l57 13q14 -72 14 -140zM1696 640q0 163 -63.5 311t-170.5 255t-255 170.5t-311 63.5t-311 -63.5 +t-255 -170.5t-170.5 -255t-63.5 -311t63.5 -311t170.5 -255t255 -170.5t311 -63.5t311 63.5t255 170.5t170.5 255t63.5 311zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191 +t191 -286t71 -348z" /> + <glyph glyph-name="_578" unicode="&#xf268;" horiz-adv-x="1792" +d="M893 1536q240 2 451 -120q232 -134 352 -372l-742 39q-160 9 -294 -74.5t-185 -229.5l-276 424q128 159 311 245.5t383 87.5zM146 1131l337 -663q72 -143 211 -217t293 -45l-230 -451q-212 33 -385 157.5t-272.5 316t-99.5 411.5q0 267 146 491zM1732 962 +q58 -150 59.5 -310.5t-48.5 -306t-153 -272t-246 -209.5q-230 -133 -498 -119l405 623q88 131 82.5 290.5t-106.5 277.5zM896 942q125 0 213.5 -88.5t88.5 -213.5t-88.5 -213.5t-213.5 -88.5t-213.5 88.5t-88.5 213.5t88.5 213.5t213.5 88.5z" /> + <glyph glyph-name="_579" unicode="&#xf269;" horiz-adv-x="1792" +d="M903 -256q-283 0 -504.5 150.5t-329.5 398.5q-58 131 -67 301t26 332.5t111 312t179 242.5l-11 -281q11 14 68 15.5t70 -15.5q42 81 160.5 138t234.5 59q-54 -45 -119.5 -148.5t-58.5 -163.5q25 -8 62.5 -13.5t63 -7.5t68 -4t50.5 -3q15 -5 9.5 -45.5t-30.5 -75.5 +q-5 -7 -16.5 -18.5t-56.5 -35.5t-101 -34l15 -189l-139 67q-18 -43 -7.5 -81.5t36 -66.5t65.5 -41.5t81 -6.5q51 9 98 34.5t83.5 45t73.5 17.5q61 -4 89.5 -33t19.5 -65q-1 -2 -2.5 -5.5t-8.5 -12.5t-18 -15.5t-31.5 -10.5t-46.5 -1q-60 -95 -144.5 -135.5t-209.5 -29.5 +q74 -61 162.5 -82.5t168.5 -6t154.5 52t128 87.5t80.5 104q43 91 39 192.5t-37.5 188.5t-78.5 125q87 -38 137 -79.5t77 -112.5q15 170 -57.5 343t-209.5 284q265 -77 412 -279.5t151 -517.5q2 -127 -40.5 -255t-123.5 -238t-189 -196t-247.5 -135.5t-288.5 -49.5z" /> + <glyph glyph-name="_580" unicode="&#xf26a;" horiz-adv-x="1792" +d="M1493 1308q-165 110 -359 110q-155 0 -293 -73t-240 -200q-75 -93 -119.5 -218t-48.5 -266v-42q4 -141 48.5 -266t119.5 -218q102 -127 240 -200t293 -73q194 0 359 110q-121 -108 -274.5 -168t-322.5 -60q-29 0 -43 1q-175 8 -333 82t-272 193t-181 281t-67 339 +q0 182 71 348t191 286t286 191t348 71h3q168 -1 320.5 -60.5t273.5 -167.5zM1792 640q0 -192 -77 -362.5t-213 -296.5q-104 -63 -222 -63q-137 0 -255 84q154 56 253.5 233t99.5 405q0 227 -99 404t-253 234q119 83 254 83q119 0 226 -65q135 -125 210.5 -295t75.5 -361z +" /> + <glyph glyph-name="_581" unicode="&#xf26b;" horiz-adv-x="1792" +d="M1792 599q0 -56 -7 -104h-1151q0 -146 109.5 -244.5t257.5 -98.5q99 0 185.5 46.5t136.5 130.5h423q-56 -159 -170.5 -281t-267.5 -188.5t-321 -66.5q-187 0 -356 83q-228 -116 -394 -116q-237 0 -237 263q0 115 45 275q17 60 109 229q199 360 475 606 +q-184 -79 -427 -354q63 274 283.5 449.5t501.5 175.5q30 0 45 -1q255 117 433 117q64 0 116 -13t94.5 -40.5t66.5 -76.5t24 -115q0 -116 -75 -286q101 -182 101 -390zM1722 1239q0 83 -53 132t-137 49q-108 0 -254 -70q121 -47 222.5 -131.5t170.5 -195.5q51 135 51 216z +M128 2q0 -86 48.5 -132.5t134.5 -46.5q115 0 266 83q-122 72 -213.5 183t-137.5 245q-98 -205 -98 -332zM632 715h728q-5 142 -113 237t-251 95q-144 0 -251.5 -95t-112.5 -237z" /> + <glyph glyph-name="_582" unicode="&#xf26c;" horiz-adv-x="2048" +d="M1792 288v960q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1248v-960q0 -66 -47 -113t-113 -47h-736v-128h352q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23 +v64q0 14 9 23t23 9h352v128h-736q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" /> + <glyph glyph-name="_583" unicode="&#xf26d;" horiz-adv-x="1792" +d="M138 1408h197q-70 -64 -126 -149q-36 -56 -59 -115t-30 -125.5t-8.5 -120t10.5 -132t21 -126t28 -136.5q4 -19 6 -28q51 -238 81 -329q57 -171 152 -275h-272q-48 0 -82 34t-34 82v1304q0 48 34 82t82 34zM1346 1408h308q48 0 82 -34t34 -82v-1304q0 -48 -34 -82t-82 -34 +h-178q212 210 196 565l-469 -101q-2 -45 -12 -82t-31 -72t-59.5 -59.5t-93.5 -36.5q-123 -26 -199 40q-32 27 -53 61t-51.5 129t-64.5 258q-35 163 -45.5 263t-5.5 139t23 77q20 41 62.5 73t102.5 45q45 12 83.5 6.5t67 -17t54 -35t43 -48t34.5 -56.5l468 100 +q-68 175 -180 287z" /> + <glyph glyph-name="_584" unicode="&#xf26e;" +d="M1401 -11l-6 -6q-113 -113 -259 -175q-154 -64 -317 -64q-165 0 -317 64q-148 63 -259 175q-113 112 -175 258q-42 103 -54 189q-4 28 48 36q51 8 56 -20q1 -1 1 -4q18 -90 46 -159q50 -124 152 -226q98 -98 226 -152q132 -56 276 -56q143 0 276 56q128 55 225 152l6 6 +q10 10 25 6q12 -3 33 -22q36 -37 17 -58zM929 604l-66 -66l63 -63q21 -21 -7 -49q-17 -17 -32 -17q-10 0 -19 10l-62 61l-66 -66q-5 -5 -15 -5q-15 0 -31 16l-2 2q-18 15 -18 29q0 7 8 17l66 65l-66 66q-16 16 14 45q18 18 31 18q6 0 13 -5l65 -66l65 65q18 17 48 -13 +q27 -27 11 -44zM1400 547q0 -118 -46 -228q-45 -105 -126 -186q-80 -80 -187 -126t-228 -46t-228 46t-187 126q-82 82 -125 186q-15 33 -15 40h-1q-9 27 43 44q50 16 60 -12q37 -99 97 -167h1v339v2q3 136 102 232q105 103 253 103q147 0 251 -103t104 -249 +q0 -147 -104.5 -251t-250.5 -104q-58 0 -112 16q-28 11 -13 61q16 51 44 43l14 -3q14 -3 33 -6t30 -3q104 0 176 71.5t72 174.5q0 101 -72 171q-71 71 -175 71q-107 0 -178 -80q-64 -72 -64 -160v-413q110 -67 242 -67q96 0 185 36.5t156 103.5t103.5 155t36.5 183 +q0 198 -141 339q-140 140 -339 140q-200 0 -340 -140q-53 -53 -77 -87l-2 -2q-8 -11 -13 -15.5t-21.5 -9.5t-38.5 3q-21 5 -36.5 16.5t-15.5 26.5v680q0 15 10.5 26.5t27.5 11.5h877q30 0 30 -55t-30 -55h-811v-483h1q40 42 102 84t108 61q109 46 231 46q121 0 228 -46 +t187 -126q81 -81 126 -186q46 -112 46 -229zM1369 1128q9 -8 9 -18t-5.5 -18t-16.5 -21q-26 -26 -39 -26q-9 0 -16 7q-106 91 -207 133q-128 56 -276 56q-133 0 -262 -49q-27 -10 -45 37q-9 25 -8 38q3 16 16 20q130 57 299 57q164 0 316 -64q137 -58 235 -152z" /> + <glyph glyph-name="_585" unicode="&#xf270;" horiz-adv-x="1792" +d="M1551 60q15 6 26 3t11 -17.5t-15 -33.5q-13 -16 -44 -43.5t-95.5 -68t-141 -74t-188 -58t-229.5 -24.5q-119 0 -238 31t-209 76.5t-172.5 104t-132.5 105t-84 87.5q-8 9 -10 16.5t1 12t8 7t11.5 2t11.5 -4.5q192 -117 300 -166q389 -176 799 -90q190 40 391 135z +M1758 175q11 -16 2.5 -69.5t-28.5 -102.5q-34 -83 -85 -124q-17 -14 -26 -9t0 24q21 45 44.5 121.5t6.5 98.5q-5 7 -15.5 11.5t-27 6t-29.5 2.5t-35 0t-31.5 -2t-31 -3t-22.5 -2q-6 -1 -13 -1.5t-11 -1t-8.5 -1t-7 -0.5h-5.5h-4.5t-3 0.5t-2 1.5l-1.5 3q-6 16 47 40t103 30 +q46 7 108 1t76 -24zM1364 618q0 -31 13.5 -64t32 -58t37.5 -46t33 -32l13 -11l-227 -224q-40 37 -79 75.5t-58 58.5l-19 20q-11 11 -25 33q-38 -59 -97.5 -102.5t-127.5 -63.5t-140 -23t-137.5 21t-117.5 65.5t-83 113t-31 162.5q0 84 28 154t72 116.5t106.5 83t122.5 57 +t130 34.5t119.5 18.5t99.5 6.5v127q0 65 -21 97q-34 53 -121 53q-6 0 -16.5 -1t-40.5 -12t-56 -29.5t-56 -59.5t-48 -96l-294 27q0 60 22 119t67 113t108 95t151.5 65.5t190.5 24.5q100 0 181 -25t129.5 -61.5t81 -83t45 -86t12.5 -73.5v-589zM692 597q0 -86 70 -133 +q66 -44 139 -22q84 25 114 123q14 45 14 101v162q-59 -2 -111 -12t-106.5 -33.5t-87 -71t-32.5 -114.5z" /> + <glyph glyph-name="_586" unicode="&#xf271;" horiz-adv-x="1792" +d="M1536 1280q52 0 90 -38t38 -90v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128zM1152 1376v-288q0 -14 9 -23t23 -9 +h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM384 1376v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23zM1536 -128v1024h-1408v-1024h1408zM896 448h224q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-224 +v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224z" /> + <glyph glyph-name="_587" unicode="&#xf272;" horiz-adv-x="1792" +d="M1152 416v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23 +t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47 +t47 -113v-96h128q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_588" unicode="&#xf273;" horiz-adv-x="1792" +d="M1111 151l-46 -46q-9 -9 -22 -9t-23 9l-188 189l-188 -189q-10 -9 -23 -9t-22 9l-46 46q-9 9 -9 22t9 23l189 188l-189 188q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l188 -188l188 188q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23l-188 -188l188 -188q9 -10 9 -23t-9 -22z +M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 +q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_589" unicode="&#xf274;" horiz-adv-x="1792" +d="M1303 572l-512 -512q-10 -9 -23 -9t-23 9l-288 288q-9 10 -9 23t9 22l46 46q9 9 22 9t23 -9l220 -220l444 444q10 9 23 9t22 -9l46 -46q9 -9 9 -22t-9 -23zM128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23 +t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47 +t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" /> + <glyph glyph-name="_590" unicode="&#xf275;" horiz-adv-x="1792" +d="M448 1536q26 0 45 -19t19 -45v-891l536 429q17 14 40 14q26 0 45 -19t19 -45v-379l536 429q17 14 40 14q26 0 45 -19t19 -45v-1152q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h384z" /> + <glyph glyph-name="_591" unicode="&#xf276;" horiz-adv-x="1024" +d="M512 448q66 0 128 15v-655q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v655q62 -15 128 -15zM512 1536q212 0 362 -150t150 -362t-150 -362t-362 -150t-362 150t-150 362t150 362t362 150zM512 1312q14 0 23 9t9 23t-9 23t-23 9q-146 0 -249 -103t-103 -249 +q0 -14 9 -23t23 -9t23 9t9 23q0 119 84.5 203.5t203.5 84.5z" /> + <glyph glyph-name="_592" unicode="&#xf277;" horiz-adv-x="1792" +d="M1745 1239q10 -10 10 -23t-10 -23l-141 -141q-28 -28 -68 -28h-1344q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h576v64q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-64h512q40 0 68 -28zM768 320h256v-512q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v512zM1600 768 +q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19h-1344q-40 0 -68 28l-141 141q-10 10 -10 23t10 23l141 141q28 28 68 28h512v192h256v-192h576z" /> + <glyph glyph-name="_593" unicode="&#xf278;" horiz-adv-x="2048" +d="M2020 1525q28 -20 28 -53v-1408q0 -20 -11 -36t-29 -23l-640 -256q-24 -11 -48 0l-616 246l-616 -246q-10 -5 -24 -5q-19 0 -36 11q-28 20 -28 53v1408q0 20 11 36t29 23l640 256q24 11 48 0l616 -246l616 246q32 13 60 -6zM736 1390v-1270l576 -230v1270zM128 1173 +v-1270l544 217v1270zM1920 107v1270l-544 -217v-1270z" /> + <glyph glyph-name="_594" unicode="&#xf279;" horiz-adv-x="1792" +d="M512 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472q0 20 17 28l480 256q7 4 15 4zM1760 1536q13 0 22.5 -9.5t9.5 -22.5v-1472q0 -20 -17 -28l-480 -256q-7 -4 -15 -4q-13 0 -22.5 9.5t-9.5 22.5v1472 +q0 20 17 28l480 256q7 4 15 4zM640 1536q8 0 14 -3l512 -256q18 -10 18 -29v-1472q0 -13 -9.5 -22.5t-22.5 -9.5q-8 0 -14 3l-512 256q-18 10 -18 29v1472q0 13 9.5 22.5t22.5 9.5z" /> + <glyph glyph-name="_595" unicode="&#xf27a;" horiz-adv-x="1792" +d="M640 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1408 640q0 53 -37.5 90.5t-90.5 37.5 +t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-110 0 -211 18q-173 -173 -435 -229q-52 -10 -86 -13q-12 -1 -22 6t-13 18q-4 15 20 37q5 5 23.5 21.5t25.5 23.5t23.5 25.5t24 31.5t20.5 37 +t20 48t14.5 57.5t12.5 72.5q-146 90 -229.5 216.5t-83.5 269.5q0 174 120 321.5t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" /> + <glyph glyph-name="_596" unicode="&#xf27b;" horiz-adv-x="1792" +d="M640 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1024 640q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 -53 -37.5 -90.5t-90.5 -37.5 +t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5 +t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51 +t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 130 71 248.5t191 204.5t286 136.5t348 50.5t348 -50.5t286 -136.5t191 -204.5t71 -248.5z" /> + <glyph glyph-name="_597" unicode="&#xf27c;" horiz-adv-x="1024" +d="M512 345l512 295v-591l-512 -296v592zM0 640v-591l512 296zM512 1527v-591l-512 -296v591zM512 936l512 295v-591z" /> + <glyph glyph-name="_598" unicode="&#xf27d;" horiz-adv-x="1792" +d="M1709 1018q-10 -236 -332 -651q-333 -431 -562 -431q-142 0 -240 263q-44 160 -132 482q-72 262 -157 262q-18 0 -127 -76l-77 98q24 21 108 96.5t130 115.5q156 138 241 146q95 9 153 -55.5t81 -203.5q44 -287 66 -373q55 -249 120 -249q51 0 154 161q101 161 109 246 +q13 139 -109 139q-57 0 -121 -26q120 393 459 382q251 -8 236 -326z" /> + <glyph glyph-name="f27e" unicode="&#xf27e;" +d="M0 1408h1536v-1536h-1536v1536zM1085 293l-221 631l221 297h-634l221 -297l-221 -631l317 -304z" /> + <glyph glyph-name="uniF280" unicode="&#xf280;" +d="M0 1408h1536v-1536h-1536v1536zM908 1088l-12 -33l75 -83l-31 -114l25 -25l107 57l107 -57l25 25l-31 114l75 83l-12 33h-95l-53 96h-32l-53 -96h-95zM641 925q32 0 44.5 -16t11.5 -63l174 21q0 55 -17.5 92.5t-50.5 56t-69 25.5t-85 7q-133 0 -199 -57.5t-66 -182.5v-72 +h-96v-128h76q20 0 20 -8v-382q0 -14 -5 -20t-18 -7l-73 -7v-88h448v86l-149 14q-6 1 -8.5 1.5t-3.5 2.5t-0.5 4t1 7t0.5 10v387h191l38 128h-231q-6 0 -2 6t4 9v80q0 27 1.5 40.5t7.5 28t19.5 20t36.5 5.5zM1248 96v86l-54 9q-7 1 -9.5 2.5t-2.5 3t1 7.5t1 12v520h-275 +l-23 -101l83 -22q23 -7 23 -27v-370q0 -14 -6 -18.5t-20 -6.5l-70 -9v-86h352z" /> + <glyph glyph-name="uniF281" unicode="&#xf281;" horiz-adv-x="1792" +d="M1792 690q0 -58 -29.5 -105.5t-79.5 -72.5q12 -46 12 -96q0 -155 -106.5 -287t-290.5 -208.5t-400 -76.5t-399.5 76.5t-290 208.5t-106.5 287q0 47 11 94q-51 25 -82 73.5t-31 106.5q0 82 58 140.5t141 58.5q85 0 145 -63q218 152 515 162l116 521q3 13 15 21t26 5 +l369 -81q18 37 54 59.5t79 22.5q62 0 106 -43.5t44 -105.5t-44 -106t-106 -44t-105.5 43.5t-43.5 105.5l-334 74l-104 -472q300 -9 519 -160q58 61 143 61q83 0 141 -58.5t58 -140.5zM418 491q0 -62 43.5 -106t105.5 -44t106 44t44 106t-44 105.5t-106 43.5q-61 0 -105 -44 +t-44 -105zM1228 136q11 11 11 26t-11 26q-10 10 -25 10t-26 -10q-41 -42 -121 -62t-160 -20t-160 20t-121 62q-11 10 -26 10t-25 -10q-11 -10 -11 -25.5t11 -26.5q43 -43 118.5 -68t122.5 -29.5t91 -4.5t91 4.5t122.5 29.5t118.5 68zM1225 341q62 0 105.5 44t43.5 106 +q0 61 -44 105t-105 44q-62 0 -106 -43.5t-44 -105.5t44 -106t106 -44z" /> + <glyph glyph-name="_602" unicode="&#xf282;" horiz-adv-x="1792" +d="M69 741h1q16 126 58.5 241.5t115 217t167.5 176t223.5 117.5t276.5 43q231 0 414 -105.5t294 -303.5q104 -187 104 -442v-188h-1125q1 -111 53.5 -192.5t136.5 -122.5t189.5 -57t213 -3t208 46.5t173.5 84.5v-377q-92 -55 -229.5 -92t-312.5 -38t-316 53 +q-189 73 -311.5 249t-124.5 372q-3 242 111 412t325 268q-48 -60 -78 -125.5t-46 -159.5h635q8 77 -8 140t-47 101.5t-70.5 66.5t-80.5 41t-75 20.5t-56 8.5l-22 1q-135 -5 -259.5 -44.5t-223.5 -104.5t-176 -140.5t-138 -163.5z" /> + <glyph glyph-name="_603" unicode="&#xf283;" horiz-adv-x="2304" +d="M0 32v608h2304v-608q0 -66 -47 -113t-113 -47h-1984q-66 0 -113 47t-47 113zM640 256v-128h384v128h-384zM256 256v-128h256v128h-256zM2144 1408q66 0 113 -47t47 -113v-224h-2304v224q0 66 47 113t113 47h1984z" /> + <glyph glyph-name="_604" unicode="&#xf284;" horiz-adv-x="1792" +d="M1584 246l-218 111q-74 -120 -196.5 -189t-263.5 -69q-147 0 -271 72t-196 196t-72 270q0 110 42.5 209.5t115 172t172 115t209.5 42.5q131 0 247.5 -60.5t192.5 -168.5l215 125q-110 169 -286.5 265t-378.5 96q-161 0 -308 -63t-253 -169t-169 -253t-63 -308t63 -308 +t169 -253t253 -169t308 -63q213 0 397.5 107t290.5 292zM1030 643l693 -352q-116 -253 -334.5 -400t-492.5 -147q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71q260 0 470.5 -133.5t335.5 -366.5zM1543 640h-39v-160h-96v352h136q32 0 54.5 -20 +t28.5 -48t1 -56t-27.5 -48t-57.5 -20z" /> + <glyph glyph-name="uniF285" unicode="&#xf285;" horiz-adv-x="1792" +d="M1427 827l-614 386l92 151h855zM405 562l-184 116v858l1183 -743zM1424 697l147 -95v-858l-532 335zM1387 718l-500 -802h-855l356 571z" /> + <glyph glyph-name="uniF286" unicode="&#xf286;" horiz-adv-x="1792" +d="M640 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1152 528v224q0 16 -16 16h-96q-16 0 -16 -16v-224q0 -16 16 -16h96q16 0 16 16zM1664 496v-752h-640v320q0 80 -56 136t-136 56t-136 -56t-56 -136v-320h-640v752q0 16 16 16h96 +q16 0 16 -16v-112h128v624q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 6 2.5 9.5t8.5 5t9.5 2t11.5 0t9 -0.5v391q-32 15 -32 50q0 23 16.5 39t38.5 16t38.5 -16t16.5 -39q0 -35 -32 -50v-17q45 10 83 10q21 0 59.5 -7.5t54.5 -7.5 +q17 0 47 7.5t37 7.5q16 0 16 -16v-210q0 -15 -35 -21.5t-62 -6.5q-18 0 -54.5 7.5t-55.5 7.5q-40 0 -90 -12v-133q1 0 9 0.5t11.5 0t9.5 -2t8.5 -5t2.5 -9.5v-112h128v112q0 16 16 16h96q16 0 16 -16v-112h128v112q0 16 16 16h96q16 0 16 -16v-624h128v112q0 16 16 16h96 +q16 0 16 -16z" /> + <glyph glyph-name="_607" unicode="&#xf287;" horiz-adv-x="2304" +d="M2288 731q16 -8 16 -27t-16 -27l-320 -192q-8 -5 -16 -5q-9 0 -16 4q-16 10 -16 28v128h-858q37 -58 83 -165q16 -37 24.5 -55t24 -49t27 -47t27 -34t31.5 -26t33 -8h96v96q0 14 9 23t23 9h320q14 0 23 -9t9 -23v-320q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v96h-96 +q-32 0 -61 10t-51 23.5t-45 40.5t-37 46t-33.5 57t-28.5 57.5t-28 60.5q-23 53 -37 81.5t-36 65t-44.5 53.5t-46.5 17h-360q-22 -84 -91 -138t-157 -54q-106 0 -181 75t-75 181t75 181t181 75q88 0 157 -54t91 -138h104q24 0 46.5 17t44.5 53.5t36 65t37 81.5q19 41 28 60.5 +t28.5 57.5t33.5 57t37 46t45 40.5t51 23.5t61 10h107q21 57 70 92.5t111 35.5q80 0 136 -56t56 -136t-56 -136t-136 -56q-62 0 -111 35.5t-70 92.5h-107q-17 0 -33 -8t-31.5 -26t-27 -34t-27 -47t-24 -49t-24.5 -55q-46 -107 -83 -165h1114v128q0 18 16 28t32 -1z" /> + <glyph glyph-name="_608" unicode="&#xf288;" horiz-adv-x="1792" +d="M1150 774q0 -56 -39.5 -95t-95.5 -39h-253v269h253q56 0 95.5 -39.5t39.5 -95.5zM1329 774q0 130 -91.5 222t-222.5 92h-433v-896h180v269h253q130 0 222 91.5t92 221.5zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348 +t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="_609" unicode="&#xf289;" horiz-adv-x="2304" +d="M1645 438q0 59 -34 106.5t-87 68.5q-7 -45 -23 -92q-7 -24 -27.5 -38t-44.5 -14q-12 0 -24 3q-31 10 -45 38.5t-4 58.5q23 71 23 143q0 123 -61 227.5t-166 165.5t-228 61q-134 0 -247 -73t-167 -194q108 -28 188 -106q22 -23 22 -55t-22 -54t-54 -22t-55 22 +q-75 75 -180 75q-106 0 -181 -74.5t-75 -180.5t75 -180.5t181 -74.5h1046q79 0 134.5 55.5t55.5 133.5zM1798 438q0 -142 -100.5 -242t-242.5 -100h-1046q-169 0 -289 119.5t-120 288.5q0 153 100 267t249 136q62 184 221 298t354 114q235 0 408.5 -158.5t196.5 -389.5 +q116 -25 192.5 -118.5t76.5 -214.5zM2048 438q0 -175 -97 -319q-23 -33 -64 -33q-24 0 -43 13q-26 17 -32 48.5t12 57.5q71 104 71 233t-71 233q-18 26 -12 57t32 49t57.5 11.5t49.5 -32.5q97 -142 97 -318zM2304 438q0 -244 -134 -443q-23 -34 -64 -34q-23 0 -42 13 +q-26 18 -32.5 49t11.5 57q108 164 108 358q0 195 -108 357q-18 26 -11.5 57.5t32.5 48.5q26 18 57 12t49 -33q134 -198 134 -442z" /> + <glyph glyph-name="_610" unicode="&#xf28a;" +d="M1500 -13q0 -89 -63 -152.5t-153 -63.5t-153.5 63.5t-63.5 152.5q0 90 63.5 153.5t153.5 63.5t153 -63.5t63 -153.5zM1267 268q-115 -15 -192.5 -102.5t-77.5 -205.5q0 -74 33 -138q-146 -78 -379 -78q-109 0 -201 21t-153.5 54.5t-110.5 76.5t-76 85t-44.5 83 +t-23.5 66.5t-6 39.5q0 19 4.5 42.5t18.5 56t36.5 58t64 43.5t94.5 18t94 -17.5t63 -41t35.5 -53t17.5 -49t4 -33.5q0 -34 -23 -81q28 -27 82 -42t93 -17l40 -1q115 0 190 51t75 133q0 26 -9 48.5t-31.5 44.5t-49.5 41t-74 44t-93.5 47.5t-119.5 56.5q-28 13 -43 20 +q-116 55 -187 100t-122.5 102t-72 125.5t-20.5 162.5q0 78 20.5 150t66 137.5t112.5 114t166.5 77t221.5 28.5q120 0 220 -26t164.5 -67t109.5 -94t64 -105.5t19 -103.5q0 -46 -15 -82.5t-36.5 -58t-48.5 -36t-49 -19.5t-39 -5h-8h-32t-39 5t-44 14t-41 28t-37 46t-24 70.5 +t-10 97.5q-15 16 -59 25.5t-81 10.5l-37 1q-68 0 -117.5 -31t-70.5 -70t-21 -76q0 -24 5 -43t24 -46t53 -51t97 -53.5t150 -58.5q76 -25 138.5 -53.5t109 -55.5t83 -59t60.5 -59.5t41 -62.5t26.5 -62t14.5 -63.5t6 -62t1 -62.5z" /> + <glyph glyph-name="_611" unicode="&#xf28b;" +d="M704 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1152 352v576q0 14 -9 23t-23 9h-256q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h256q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103 +t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_612" unicode="&#xf28c;" +d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 +t73 -273t198 -198t273 -73zM864 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-192z" /> + <glyph glyph-name="_613" unicode="&#xf28d;" +d="M1088 352v576q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-576q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 +t103 -385.5z" /> + <glyph glyph-name="_614" unicode="&#xf28e;" +d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM768 96q148 0 273 73t198 198t73 273t-73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273 +t73 -273t198 -198t273 -73zM480 320q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h576q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-576z" /> + <glyph glyph-name="_615" unicode="&#xf290;" horiz-adv-x="1792" +d="M1757 128l35 -313q3 -28 -16 -50q-19 -21 -48 -21h-1664q-29 0 -48 21q-19 22 -16 50l35 313h1722zM1664 967l86 -775h-1708l86 775q3 24 21 40.5t43 16.5h256v-128q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5v128h384v-128q0 -53 37.5 -90.5t90.5 -37.5 +t90.5 37.5t37.5 90.5v128h256q25 0 43 -16.5t21 -40.5zM1280 1152v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-256q0 -26 -19 -45t-45 -19t-45 19t-19 45v256q0 159 112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" /> + <glyph glyph-name="_616" unicode="&#xf291;" horiz-adv-x="2048" +d="M1920 768q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5h-15l-115 -662q-8 -46 -44 -76t-82 -30h-1280q-46 0 -82 30t-44 76l-115 662h-15q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5h1792zM485 -32q26 2 43.5 22.5t15.5 46.5l-32 416q-2 26 -22.5 43.5 +t-46.5 15.5t-43.5 -22.5t-15.5 -46.5l32 -416q2 -25 20.5 -42t43.5 -17h5zM896 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1280 32v416q0 26 -19 45t-45 19t-45 -19t-19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45zM1632 27l32 416 +q2 26 -15.5 46.5t-43.5 22.5t-46.5 -15.5t-22.5 -43.5l-32 -416q-2 -26 15.5 -46.5t43.5 -22.5h5q25 0 43.5 17t20.5 42zM476 1244l-93 -412h-132l101 441q19 88 89 143.5t160 55.5h167q0 26 19 45t45 19h384q26 0 45 -19t19 -45h167q90 0 160 -55.5t89 -143.5l101 -441 +h-132l-93 412q-11 44 -45.5 72t-79.5 28h-167q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45h-167q-45 0 -79.5 -28t-45.5 -72z" /> + <glyph glyph-name="_617" unicode="&#xf292;" horiz-adv-x="1792" +d="M991 512l64 256h-254l-64 -256h254zM1759 1016l-56 -224q-7 -24 -31 -24h-327l-64 -256h311q15 0 25 -12q10 -14 6 -28l-56 -224q-5 -24 -31 -24h-327l-81 -328q-7 -24 -31 -24h-224q-16 0 -26 12q-9 12 -6 28l78 312h-254l-81 -328q-7 -24 -31 -24h-225q-15 0 -25 12 +q-9 12 -6 28l78 312h-311q-15 0 -25 12q-9 12 -6 28l56 224q7 24 31 24h327l64 256h-311q-15 0 -25 12q-10 14 -6 28l56 224q5 24 31 24h327l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h254l81 328q7 24 32 24h224q15 0 25 -12q9 -12 6 -28l-78 -312h311 +q15 0 25 -12q9 -12 6 -28z" /> + <glyph glyph-name="_618" unicode="&#xf293;" +d="M841 483l148 -148l-149 -149zM840 1094l149 -149l-148 -148zM710 -130l464 464l-306 306l306 306l-464 464v-611l-255 255l-93 -93l320 -321l-320 -321l93 -93l255 255v-611zM1429 640q0 -209 -32 -365.5t-87.5 -257t-140.5 -162.5t-181.5 -86.5t-219.5 -24.5 +t-219.5 24.5t-181.5 86.5t-140.5 162.5t-87.5 257t-32 365.5t32 365.5t87.5 257t140.5 162.5t181.5 86.5t219.5 24.5t219.5 -24.5t181.5 -86.5t140.5 -162.5t87.5 -257t32 -365.5z" /> + <glyph glyph-name="_619" unicode="&#xf294;" horiz-adv-x="1024" +d="M596 113l173 172l-173 172v-344zM596 823l173 172l-173 172v-344zM628 640l356 -356l-539 -540v711l-297 -296l-108 108l372 373l-372 373l108 108l297 -296v711l539 -540z" /> + <glyph glyph-name="_620" unicode="&#xf295;" +d="M1280 256q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM512 1024q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5 +t112.5 -271.5zM1440 1344q0 -20 -13 -38l-1056 -1408q-19 -26 -51 -26h-160q-26 0 -45 19t-19 45q0 20 13 38l1056 1408q19 26 51 26h160q26 0 45 -19t19 -45zM768 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 +t271.5 -112.5t112.5 -271.5z" /> + <glyph glyph-name="_621" unicode="&#xf296;" horiz-adv-x="1792" +d="M104 830l792 -1015l-868 630q-18 13 -25 34.5t0 42.5l101 308v0zM566 830h660l-330 -1015v0zM368 1442l198 -612h-462l198 612q8 23 33 23t33 -23zM1688 830l101 -308q7 -21 0 -42.5t-25 -34.5l-868 -630l792 1015v0zM1688 830h-462l198 612q8 23 33 23t33 -23z" /> + <glyph glyph-name="_622" unicode="&#xf297;" horiz-adv-x="1792" +d="M384 704h160v224h-160v-224zM1221 372v92q-104 -36 -243 -38q-135 -1 -259.5 46.5t-220.5 122.5l1 -96q88 -80 212 -128.5t272 -47.5q129 0 238 49zM640 704h640v224h-640v-224zM1792 736q0 -187 -99 -352q89 -102 89 -229q0 -157 -129.5 -268t-313.5 -111 +q-122 0 -225 52.5t-161 140.5q-19 -1 -57 -1t-57 1q-58 -88 -161 -140.5t-225 -52.5q-184 0 -313.5 111t-129.5 268q0 127 89 229q-99 165 -99 352q0 209 120 385.5t326.5 279.5t449.5 103t449.5 -103t326.5 -279.5t120 -385.5z" /> + <glyph glyph-name="_623" unicode="&#xf298;" +d="M515 625v-128h-252v128h252zM515 880v-127h-252v127h252zM1273 369v-128h-341v128h341zM1273 625v-128h-672v128h672zM1273 880v-127h-672v127h672zM1408 20v1240q0 8 -6 14t-14 6h-32l-378 -256l-210 171l-210 -171l-378 256h-32q-8 0 -14 -6t-6 -14v-1240q0 -8 6 -14 +t14 -6h1240q8 0 14 6t6 14zM553 1130l185 150h-406zM983 1130l221 150h-406zM1536 1260v-1240q0 -62 -43 -105t-105 -43h-1240q-62 0 -105 43t-43 105v1240q0 62 43 105t105 43h1240q62 0 105 -43t43 -105z" /> + <glyph glyph-name="_624" unicode="&#xf299;" horiz-adv-x="1792" +d="M896 720q-104 196 -160 278q-139 202 -347 318q-34 19 -70 36q-89 40 -94 32t34 -38l39 -31q62 -43 112.5 -93.5t94.5 -116.5t70.5 -113t70.5 -131q9 -17 13 -25q44 -84 84 -153t98 -154t115.5 -150t131 -123.5t148.5 -90.5q153 -66 154 -60q1 3 -49 37q-53 36 -81 57 +q-77 58 -179 211t-185 310zM549 177q-76 60 -132.5 125t-98 143.5t-71 154.5t-58.5 186t-52 209t-60.5 252t-76.5 289q273 0 497.5 -36t379 -92t271 -144.5t185.5 -172.5t110 -198.5t56 -199.5t12.5 -198.5t-9.5 -173t-20 -143.5t-13 -107l323 -327h-104l-281 285 +q-22 -2 -91.5 -14t-121.5 -19t-138 -6t-160.5 17t-167.5 59t-179 111z" /> + <glyph glyph-name="_625" unicode="&#xf29a;" horiz-adv-x="1792" +d="M1374 879q-6 26 -28.5 39.5t-48.5 7.5q-261 -62 -401 -62t-401 62q-26 6 -48.5 -7.5t-28.5 -39.5t7.5 -48.5t39.5 -28.5q194 -46 303 -58q-2 -158 -15.5 -269t-26.5 -155.5t-41 -115.5l-9 -21q-10 -25 1 -49t36 -34q9 -4 23 -4q44 0 60 41l8 20q54 139 71 259h42 +q17 -120 71 -259l8 -20q16 -41 60 -41q14 0 23 4q25 10 36 34t1 49l-9 21q-28 71 -41 115.5t-26.5 155.5t-15.5 269q109 12 303 58q26 6 39.5 28.5t7.5 48.5zM1024 1024q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5z +M1600 640q0 -143 -55.5 -273.5t-150 -225t-225 -150t-273.5 -55.5t-273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5zM896 1408q-156 0 -298 -61t-245 -164t-164 -245t-61 -298t61 -298 +t164 -245t245 -164t298 -61t298 61t245 164t164 245t61 298t-61 298t-164 245t-245 164t-298 61zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="_626" unicode="&#xf29b;" +d="M1438 723q34 -35 29 -82l-44 -551q-4 -42 -34.5 -70t-71.5 -28q-6 0 -9 1q-44 3 -72.5 36.5t-25.5 77.5l35 429l-143 -8q55 -113 55 -240q0 -216 -148 -372l-137 137q91 101 91 235q0 145 -102.5 248t-247.5 103q-134 0 -236 -92l-137 138q120 114 284 141l264 300 +l-149 87l-181 -161q-33 -30 -77 -27.5t-73 35.5t-26.5 77t34.5 73l239 213q26 23 60 26.5t64 -14.5l488 -283q36 -21 48 -68q17 -67 -26 -117l-205 -232l371 20q49 3 83 -32zM1240 1180q-74 0 -126 52t-52 126t52 126t126 52t126.5 -52t52.5 -126t-52.5 -126t-126.5 -52z +M613 -62q106 0 196 61l139 -139q-146 -116 -335 -116q-148 0 -273.5 73t-198.5 198t-73 273q0 188 116 336l139 -139q-60 -88 -60 -197q0 -145 102.5 -247.5t247.5 -102.5z" /> + <glyph glyph-name="_627" unicode="&#xf29c;" +d="M880 336v-160q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h160q14 0 23 -9t9 -23zM1136 832q0 -50 -15 -90t-45.5 -69t-52 -44t-59.5 -36q-32 -18 -46.5 -28t-26 -24t-11.5 -29v-32q0 -14 -9 -23t-23 -9h-160q-14 0 -23 9t-9 23v68q0 35 10.5 64.5 +t24 47.5t39 35.5t41 25.5t44.5 21q53 25 75 43t22 49q0 42 -43.5 71.5t-95.5 29.5q-56 0 -95 -27q-29 -20 -80 -83q-9 -12 -25 -12q-11 0 -19 6l-108 82q-10 7 -12 20t5 23q122 192 349 192q129 0 238.5 -89.5t109.5 -214.5zM768 1280q-130 0 -248.5 -51t-204 -136.5 +t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5t-51 248.5t-136.5 204t-204 136.5t-248.5 51zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5 +t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="_628" unicode="&#xf29d;" horiz-adv-x="1408" +d="M366 1225q-64 0 -110 45.5t-46 110.5q0 64 46 109.5t110 45.5t109.5 -45.5t45.5 -109.5q0 -65 -45.5 -110.5t-109.5 -45.5zM917 583q0 -50 -30 -67.5t-63.5 -6.5t-47.5 34l-367 438q-7 12 -14 15.5t-11 1.5l-3 -3q-7 -8 4 -21l122 -139l1 -354l-161 -457 +q-67 -192 -92 -234q-15 -26 -28 -32q-50 -26 -103 -1q-29 13 -41.5 43t-9.5 57q2 17 197 618l5 416l-85 -164l35 -222q4 -24 -1 -42t-14 -27.5t-19 -16t-17 -7.5l-7 -2q-19 -3 -34.5 3t-24 16t-14 22t-7.5 19.5t-2 9.5l-46 299l211 381q23 34 113 34q75 0 107 -40l424 -521 +q7 -5 14 -17l3 -3l-1 -1q7 -13 7 -29zM514 433q43 -113 88.5 -225t69.5 -168l24 -55q36 -93 42 -125q11 -70 -36 -97q-35 -22 -66 -16t-51 22t-29 35h-1q-6 16 -8 25l-124 351zM1338 -159q31 -49 31 -57q0 -5 -3 -7q-9 -5 -14.5 0.5t-15.5 26t-16 30.5q-114 172 -423 661 +q3 -1 7 1t7 4l3 2q11 9 11 17z" /> + <glyph glyph-name="_629" unicode="&#xf29e;" horiz-adv-x="2304" +d="M504 542h171l-1 265zM1530 641q0 87 -50.5 140t-146.5 53h-54v-388h52q91 0 145 57t54 138zM956 1018l1 -756q0 -14 -9.5 -24t-23.5 -10h-216q-14 0 -23.5 10t-9.5 24v62h-291l-55 -81q-10 -15 -28 -15h-267q-21 0 -30.5 18t3.5 35l556 757q9 14 27 14h332q14 0 24 -10 +t10 -24zM1783 641q0 -193 -125.5 -303t-324.5 -110h-270q-14 0 -24 10t-10 24v756q0 14 10 24t24 10h268q200 0 326 -109t126 -302zM1939 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5 +t-7.5 60t-20 91.5t-41 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2123 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-45 -108t-74 -102.5h-51q38 45 66.5 104.5t41.5 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5 +h43q41 -47 72 -107t45.5 -111.5t23 -96t10.5 -70.5zM2304 640q0 -11 -0.5 -29t-8 -71.5t-21.5 -102t-44.5 -108t-73.5 -102.5h-51q38 45 66 104.5t41 112t21 98t9 72.5l1 27q0 8 -0.5 22.5t-7.5 60t-19.5 91.5t-40.5 111.5t-66 124.5h43q41 -47 72 -107t45.5 -111.5t23 -96 +t9.5 -70.5z" /> + <glyph glyph-name="uniF2A0" unicode="&#xf2a0;" horiz-adv-x="1408" +d="M617 -153q0 11 -13 58t-31 107t-20 69q-1 4 -5 26.5t-8.5 36t-13.5 21.5q-15 14 -51 14q-23 0 -70 -5.5t-71 -5.5q-34 0 -47 11q-6 5 -11 15.5t-7.5 20t-6.5 24t-5 18.5q-37 128 -37 255t37 255q1 4 5 18.5t6.5 24t7.5 20t11 15.5q13 11 47 11q24 0 71 -5.5t70 -5.5 +q36 0 51 14q9 8 13.5 21.5t8.5 36t5 26.5q2 9 20 69t31 107t13 58q0 22 -43.5 52.5t-75.5 42.5q-20 8 -45 8q-34 0 -98 -18q-57 -17 -96.5 -40.5t-71 -66t-46 -70t-45.5 -94.5q-6 -12 -9 -19q-49 -107 -68 -216t-19 -244t19 -244t68 -216q56 -122 83 -161q63 -91 179 -127 +l6 -2q64 -18 98 -18q25 0 45 8q32 12 75.5 42.5t43.5 52.5zM776 760q-26 0 -45 19t-19 45.5t19 45.5q37 37 37 90q0 52 -37 91q-19 19 -19 45t19 45t45 19t45 -19q75 -75 75 -181t-75 -181q-21 -19 -45 -19zM957 579q-27 0 -45 19q-19 19 -19 45t19 45q112 114 112 272 +t-112 272q-19 19 -19 45t19 45t45 19t45 -19q150 -150 150 -362t-150 -362q-18 -19 -45 -19zM1138 398q-27 0 -45 19q-19 19 -19 45t19 45q90 91 138.5 208t48.5 245t-48.5 245t-138.5 208q-19 19 -19 45t19 45t45 19t45 -19q109 -109 167 -249t58 -294t-58 -294t-167 -249 +q-18 -19 -45 -19z" /> + <glyph glyph-name="uniF2A1" unicode="&#xf2a1;" horiz-adv-x="2176" +d="M192 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM704 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 352 +q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 352q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1472 864q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 864 +q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM1984 1376q-66 0 -113 -47t-47 -113t47 -113t113 -47t113 47t47 113t-47 113t-113 47zM384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 192q0 -80 -56 -136 +t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 1216q0 -80 -56 -136t-136 -56 +t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 192q0 -80 -56 -136t-136 -56t-136 56 +t-56 136t56 136t136 56t136 -56t56 -136zM1664 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM2176 704q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136 +t56 136t136 56t136 -56t56 -136zM2176 1216q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z" /> + <glyph glyph-name="uniF2A2" unicode="&#xf2a2;" horiz-adv-x="1792" +d="M128 -192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM320 0q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM365 365l256 -256l-90 -90l-256 256zM704 384q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45z +M1411 704q0 -59 -11.5 -108.5t-37.5 -93.5t-44 -67.5t-53 -64.5q-31 -35 -45.5 -54t-33.5 -50t-26.5 -64t-7.5 -74q0 -159 -112.5 -271.5t-271.5 -112.5q-26 0 -45 19t-19 45t19 45t45 19q106 0 181 75t75 181q0 57 11.5 105.5t37 91t43.5 66.5t52 63q40 46 59.5 72 +t37.5 74.5t18 103.5q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 117 45.5 223.5t123 184t184 123t223.5 45.5t223.5 -45.5t184 -123t123 -184t45.5 -223.5zM896 576q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45 +t45 19t45 -19t19 -45zM1184 704q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 93 -65.5 158.5t-158.5 65.5q-92 0 -158 -65.5t-66 -158.5q0 -26 -19 -45t-45 -19t-45 19t-19 45q0 146 103 249t249 103t249 -103t103 -249zM1578 993q10 -25 -1 -49t-36 -34q-9 -4 -23 -4 +q-19 0 -35.5 11t-23.5 30q-68 178 -224 295q-21 16 -25 42t12 47q17 21 43 25t47 -12q183 -137 266 -351zM1788 1074q9 -25 -1.5 -49t-35.5 -34q-11 -4 -23 -4q-44 0 -60 41q-92 238 -297 393q-22 16 -25.5 42t12.5 47q16 22 42 25.5t47 -12.5q235 -175 341 -449z" /> + <glyph glyph-name="uniF2A3" unicode="&#xf2a3;" horiz-adv-x="2304" +d="M1032 576q-59 2 -84 55q-17 34 -48 53.5t-68 19.5q-53 0 -90.5 -37.5t-37.5 -90.5q0 -56 36 -89l10 -8q34 -31 82 -31q37 0 68 19.5t48 53.5q25 53 84 55zM1600 704q0 56 -36 89l-10 8q-34 31 -82 31q-37 0 -68 -19.5t-48 -53.5q-25 -53 -84 -55q59 -2 84 -55 +q17 -34 48 -53.5t68 -19.5q53 0 90.5 37.5t37.5 90.5zM1174 925q-17 -35 -55 -48t-73 4q-62 31 -134 31q-51 0 -99 -17q3 0 9.5 0.5t9.5 0.5q92 0 170.5 -50t118.5 -133q17 -36 3.5 -73.5t-49.5 -54.5q-18 -9 -39 -9q21 0 39 -9q36 -17 49.5 -54.5t-3.5 -73.5 +q-40 -83 -118.5 -133t-170.5 -50h-6q-16 2 -44 4l-290 27l-239 -120q-14 -7 -29 -7q-40 0 -57 35l-160 320q-11 23 -4 47.5t29 37.5l209 119l148 267q17 155 91.5 291.5t195.5 236.5q31 25 70.5 21.5t64.5 -34.5t21.5 -70t-34.5 -65q-70 -59 -117 -128q123 84 267 101 +q40 5 71.5 -19t35.5 -64q5 -40 -19 -71.5t-64 -35.5q-84 -10 -159 -55q46 10 99 10q115 0 218 -50q36 -18 49 -55.5t-5 -73.5zM2137 1085l160 -320q11 -23 4 -47.5t-29 -37.5l-209 -119l-148 -267q-17 -155 -91.5 -291.5t-195.5 -236.5q-26 -22 -61 -22q-45 0 -74 35 +q-25 31 -21.5 70t34.5 65q70 59 117 128q-123 -84 -267 -101q-4 -1 -12 -1q-36 0 -63.5 24t-31.5 60q-5 40 19 71.5t64 35.5q84 10 159 55q-46 -10 -99 -10q-115 0 -218 50q-36 18 -49 55.5t5 73.5q17 35 55 48t73 -4q62 -31 134 -31q51 0 99 17q-3 0 -9.5 -0.5t-9.5 -0.5 +q-92 0 -170.5 50t-118.5 133q-17 36 -3.5 73.5t49.5 54.5q18 9 39 9q-21 0 -39 9q-36 17 -49.5 54.5t3.5 73.5q40 83 118.5 133t170.5 50h6h1q14 -2 42 -4l291 -27l239 120q14 7 29 7q40 0 57 -35z" /> + <glyph glyph-name="uniF2A4" unicode="&#xf2a4;" horiz-adv-x="1792" +d="M1056 704q0 -26 19 -45t45 -19t45 19t19 45q0 146 -103 249t-249 103t-249 -103t-103 -249q0 -26 19 -45t45 -19t45 19t19 45q0 93 66 158.5t158 65.5t158 -65.5t66 -158.5zM835 1280q-117 0 -223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5q0 -26 19 -45t45 -19t45 19 +t19 45q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -55 -18 -103.5t-37.5 -74.5t-59.5 -72q-34 -39 -52 -63t-43.5 -66.5t-37 -91t-11.5 -105.5q0 -106 -75 -181t-181 -75q-26 0 -45 -19t-19 -45t19 -45t45 -19q159 0 271.5 112.5t112.5 271.5q0 41 7.5 74 +t26.5 64t33.5 50t45.5 54q35 41 53 64.5t44 67.5t37.5 93.5t11.5 108.5q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5zM591 561l226 -226l-579 -579q-12 -12 -29 -12t-29 12l-168 168q-12 12 -12 29t12 29zM1612 1524l168 -168q12 -12 12 -29t-12 -30l-233 -233 +l-26 -25l-71 -71q-66 153 -195 258l91 91l207 207q13 12 30 12t29 -12z" /> + <glyph glyph-name="uniF2A5" unicode="&#xf2a5;" +d="M866 1021q0 -27 -13 -94q-11 -50 -31.5 -150t-30.5 -150q-2 -11 -4.5 -12.5t-13.5 -2.5q-20 -2 -31 -2q-58 0 -84 49.5t-26 113.5q0 88 35 174t103 124q28 14 51 14q28 0 36.5 -16.5t8.5 -47.5zM1352 597q0 14 -39 75.5t-52 66.5q-21 8 -34 8q-91 0 -226 -77l-2 2 +q3 22 27.5 135t24.5 178q0 233 -242 233q-24 0 -68 -6q-94 -17 -168.5 -89.5t-111.5 -166.5t-37 -189q0 -146 80.5 -225t227.5 -79q25 0 25 -3t-1 -5q-4 -34 -26 -117q-14 -52 -51.5 -101t-82.5 -49q-42 0 -42 47q0 24 10.5 47.5t25 39.5t29.5 28.5t26 20t11 8.5q0 3 -7 10 +q-24 22 -58.5 36.5t-65.5 14.5q-35 0 -63.5 -34t-41 -75t-12.5 -75q0 -88 51.5 -142t138.5 -54q82 0 155 53t117.5 126t65.5 153q6 22 15.5 66.5t14.5 66.5q3 12 14 18q118 60 227 60q48 0 127 -18q1 -1 4 -1q5 0 9.5 4.5t4.5 8.5zM1536 1120v-960q0 -119 -84.5 -203.5 +t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="uniF2A6" unicode="&#xf2a6;" horiz-adv-x="1535" +d="M744 1231q0 24 -2 38.5t-8.5 30t-21 23t-37.5 7.5q-39 0 -78 -23q-105 -58 -159 -190.5t-54 -269.5q0 -44 8.5 -85.5t26.5 -80.5t52.5 -62.5t81.5 -23.5q4 0 18 -0.5t20 0t16 3t15 8.5t7 16q16 77 48 231.5t48 231.5q19 91 19 146zM1498 575q0 -7 -7.5 -13.5t-15.5 -6.5 +l-6 1q-22 3 -62 11t-72 12.5t-63 4.5q-167 0 -351 -93q-15 -8 -21 -27q-10 -36 -24.5 -105.5t-22.5 -100.5q-23 -91 -70 -179.5t-112.5 -164.5t-154.5 -123t-185 -47q-135 0 -214.5 83.5t-79.5 219.5q0 53 19.5 117t63 116.5t97.5 52.5q38 0 120 -33.5t83 -61.5 +q0 -1 -16.5 -12.5t-39.5 -31t-46 -44.5t-39 -61t-16 -74q0 -33 16.5 -53t48.5 -20q45 0 85 31.5t66.5 78t48 105.5t32.5 107t16 90v9q0 2 -3.5 3.5t-8.5 1.5h-10t-10 -0.5t-6 -0.5q-227 0 -352 122.5t-125 348.5q0 108 34.5 221t96 210t156 167.5t204.5 89.5q52 9 106 9 +q374 0 374 -360q0 -98 -38 -273t-43 -211l3 -3q101 57 182.5 88t167.5 31q22 0 53 -13q19 -7 80 -102.5t61 -116.5z" /> + <glyph glyph-name="uniF2A7" unicode="&#xf2a7;" horiz-adv-x="1664" +d="M831 863q32 0 59 -18l222 -148q61 -40 110 -97l146 -170q40 -46 29 -106l-72 -413q-6 -32 -29.5 -53.5t-55.5 -25.5l-527 -56l-352 -32h-9q-39 0 -67.5 28t-28.5 68q0 37 27 64t65 32l260 32h-448q-41 0 -69.5 30t-26.5 71q2 39 32 65t69 26l442 1l-521 64q-41 5 -66 37 +t-19 73q6 35 34.5 57.5t65.5 22.5h10l481 -60l-351 94q-38 10 -62 41.5t-18 68.5q6 36 33 58.5t62 22.5q6 0 20 -2l448 -96l217 -37q1 0 3 -0.5t3 -0.5q23 0 30.5 23t-12.5 36l-186 125q-35 23 -42 63.5t18 73.5q27 38 76 38zM761 661l186 -125l-218 37l-5 2l-36 38 +l-238 262q-1 1 -2.5 3.5t-2.5 3.5q-24 31 -18.5 70t37.5 64q31 23 68 17.5t64 -33.5l142 -147q-2 -1 -5 -3.5t-4 -4.5q-32 -45 -23 -99t55 -85zM1648 1115l15 -266q4 -73 -11 -147l-48 -219q-12 -59 -67 -87l-106 -54q2 62 -39 109l-146 170q-53 61 -117 103l-222 148 +q-34 23 -76 23q-51 0 -88 -37l-235 312q-25 33 -18 73.5t41 63.5q33 22 71.5 14t62.5 -40l266 -352l-262 455q-21 35 -10.5 75t47.5 59q35 18 72.5 6t57.5 -46l241 -420l-136 337q-15 35 -4.5 74t44.5 56q37 19 76 6t56 -51l193 -415l101 -196q8 -15 23 -17.5t27 7.5t11 26 +l-12 224q-2 41 26 71t69 31q39 0 67 -28.5t30 -67.5z" /> + <glyph glyph-name="uniF2A8" unicode="&#xf2a8;" horiz-adv-x="1792" +d="M335 180q-2 0 -6 2q-86 57 -168.5 145t-139.5 180q-21 30 -21 69q0 9 2 19t4 18t7 18t8.5 16t10.5 17t10 15t12 15.5t11 14.5q184 251 452 365q-110 198 -110 211q0 19 17 29q116 64 128 64q18 0 28 -16l124 -229q92 19 192 19q266 0 497.5 -137.5t378.5 -369.5 +q20 -31 20 -69t-20 -69q-91 -142 -218.5 -253.5t-278.5 -175.5q110 -198 110 -211q0 -20 -17 -29q-116 -64 -127 -64q-19 0 -29 16l-124 229l-64 119l-444 820l7 7q-58 -24 -99 -47q3 -5 127 -234t243 -449t119 -223q0 -7 -9 -9q-13 -3 -72 -3q-57 0 -60 7l-456 841 +q-39 -28 -82 -68q24 -43 214 -393.5t190 -354.5q0 -10 -11 -10q-14 0 -82.5 22t-72.5 28l-106 197l-224 413q-44 -53 -78 -106q2 -3 18 -25t23 -34l176 -327q0 -10 -10 -10zM1165 282l49 -91q273 111 450 385q-180 277 -459 389q67 -64 103 -148.5t36 -176.5 +q0 -106 -47 -200.5t-132 -157.5zM848 896q0 -20 14 -34t34 -14q86 0 147 -61t61 -147q0 -20 14 -34t34 -14t34 14t14 34q0 126 -89 215t-215 89q-20 0 -34 -14t-14 -34zM1214 961l-9 4l7 -7z" /> + <glyph glyph-name="uniF2A9" unicode="&#xf2a9;" horiz-adv-x="1280" +d="M1050 430q0 -215 -147 -374q-148 -161 -378 -161q-232 0 -378 161q-147 159 -147 374q0 147 68 270.5t189 196.5t268 73q96 0 182 -31q-32 -62 -39 -126q-66 28 -143 28q-167 0 -280.5 -123t-113.5 -291q0 -170 112.5 -288.5t281.5 -118.5t281 118.5t112 288.5 +q0 89 -32 166q66 13 123 49q41 -98 41 -212zM846 619q0 -192 -79.5 -345t-238.5 -253l-14 -1q-29 0 -62 5q83 32 146.5 102.5t99.5 154.5t58.5 189t30 192.5t7.5 178.5q0 69 -3 103q55 -160 55 -326zM791 947v-2q-73 214 -206 440q88 -59 142.5 -186.5t63.5 -251.5z +M1035 744q-83 0 -160 75q218 120 290 247q19 37 21 56q-42 -94 -139.5 -166.5t-204.5 -97.5q-35 54 -35 113q0 37 17 79t43 68q46 44 157 74q59 16 106 58.5t74 100.5q74 -105 74 -253q0 -109 -24 -170q-32 -77 -88.5 -130.5t-130.5 -53.5z" /> + <glyph glyph-name="uniF2AA" unicode="&#xf2aa;" +d="M1050 495q0 78 -28 147q-41 -25 -85 -34q22 -50 22 -114q0 -117 -77 -198.5t-193 -81.5t-193.5 81.5t-77.5 198.5q0 115 78 199.5t193 84.5q53 0 98 -19q4 43 27 87q-60 21 -125 21q-154 0 -257.5 -108.5t-103.5 -263.5t103.5 -261t257.5 -106t257.5 106.5t103.5 260.5z +M872 850q2 -24 2 -71q0 -63 -5 -123t-20.5 -132.5t-40.5 -130t-68.5 -106t-100.5 -70.5q21 -3 42 -3h10q219 139 219 411q0 116 -38 225zM872 850q-4 80 -44 171.5t-98 130.5q92 -156 142 -302zM1207 955q0 102 -51 174q-41 -86 -124 -109q-69 -19 -109 -53.5t-40 -99.5 +q0 -40 24 -77q74 17 140.5 67t95.5 115q-4 -52 -74.5 -111.5t-138.5 -97.5q52 -52 110 -52q51 0 90 37t60 90q17 42 17 117zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 +t84.5 -203.5z" /> + <glyph glyph-name="uniF2AB" unicode="&#xf2ab;" +d="M1279 388q0 22 -22 27q-67 15 -118 59t-80 108q-7 19 -7 25q0 15 19.5 26t43 17t43 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-12 0 -32 -8t-31 -8q-4 0 -12 2q5 95 5 114q0 79 -17 114q-36 78 -103 121.5t-152 43.5q-199 0 -275 -165q-17 -35 -17 -114q0 -19 5 -114 +q-4 -2 -14 -2q-12 0 -32 7.5t-30 7.5q-21 0 -38.5 -12t-17.5 -32q0 -21 19.5 -35.5t43 -20.5t43 -17t19.5 -26q0 -6 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -46 137 -68q2 -5 6 -26t11.5 -30.5t23.5 -9.5q12 0 37.5 4.5t39.5 4.5q35 0 67 -15t54 -32.5t57.5 -32.5 +t76.5 -15q43 0 79 15t57.5 32.5t53.5 32.5t67 15q14 0 39.5 -4t38.5 -4q16 0 23 10t11 30t6 25q137 22 137 68zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 +t103 -385.5z" /> + <glyph glyph-name="uniF2AC" unicode="&#xf2ac;" horiz-adv-x="1664" +d="M848 1408q134 1 240.5 -68.5t163.5 -192.5q27 -58 27 -179q0 -47 -9 -191q14 -7 28 -7q18 0 51 13.5t51 13.5q29 0 56 -18t27 -46q0 -32 -31.5 -54t-69 -31.5t-69 -29t-31.5 -47.5q0 -15 12 -43q37 -82 102.5 -150t144.5 -101q28 -12 80 -23q28 -6 28 -35 +q0 -70 -219 -103q-7 -11 -11 -39t-14 -46.5t-33 -18.5q-20 0 -62 6.5t-64 6.5q-37 0 -62 -5q-32 -5 -63 -22.5t-58 -38t-58 -40.5t-76 -33.5t-99 -13.5q-52 0 -96.5 13.5t-75 33.5t-57.5 40.5t-58 38t-62 22.5q-26 5 -63 5q-24 0 -65.5 -7.5t-58.5 -7.5q-25 0 -35 18.5 +t-14 47.5t-11 40q-219 33 -219 103q0 29 28 35q52 11 80 23q78 32 144.5 101t102.5 150q12 28 12 43q0 28 -31.5 47.5t-69.5 29.5t-69.5 31.5t-31.5 52.5q0 27 26 45.5t55 18.5q15 0 48 -13t53 -13q18 0 32 7q-9 142 -9 190q0 122 27 180q64 137 172 198t264 63z" /> + <glyph glyph-name="uniF2AD" unicode="&#xf2ad;" +d="M1280 388q0 22 -22 27q-67 14 -118 58t-80 109q-7 14 -7 25q0 15 19.5 26t42.5 17t42.5 20.5t19.5 36.5q0 19 -18.5 31.5t-38.5 12.5q-11 0 -31 -8t-32 -8q-4 0 -12 2q5 63 5 115q0 78 -17 114q-36 78 -102.5 121.5t-152.5 43.5q-198 0 -275 -165q-18 -38 -18 -115 +q0 -38 6 -114q-10 -2 -15 -2q-11 0 -31.5 8t-30.5 8q-20 0 -37.5 -12.5t-17.5 -32.5q0 -21 19.5 -35.5t42.5 -20.5t42.5 -17t19.5 -26q0 -11 -7 -25q-64 -138 -198 -167q-22 -5 -22 -27q0 -47 138 -69q2 -5 6 -26t11 -30.5t23 -9.5q13 0 38.5 5t38.5 5q35 0 67.5 -15 +t54.5 -32.5t57.5 -32.5t76.5 -15q43 0 79 15t57.5 32.5t54 32.5t67.5 15q13 0 39 -4.5t39 -4.5q15 0 22.5 9.5t11.5 31t5 24.5q138 22 138 69zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 +q119 0 203.5 -84.5t84.5 -203.5z" /> + <glyph glyph-name="uniF2AE" unicode="&#xf2ae;" horiz-adv-x="2304" +d="M2304 1536q-69 -46 -125 -92t-89 -81t-59.5 -71.5t-37.5 -57.5t-22 -44.5t-14 -29.5q-10 -18 -35.5 -136.5t-48.5 -164.5q-15 -29 -50 -60.5t-67.5 -50.5t-72.5 -41t-48 -28q-47 -31 -151 -231q-341 14 -630 -158q-92 -53 -303 -179q47 16 86 31t55 22l15 7 +q71 27 163 64.5t133.5 53.5t108 34.5t142.5 31.5q186 31 465 -7q1 0 10 -3q11 -6 14 -17t-3 -22l-194 -345q-15 -29 -47 -22q-128 24 -354 24q-146 0 -402 -44.5t-392 -46.5q-82 -1 -149 13t-107 37t-61 40t-33 34l-1 1v2q0 6 6 6q138 0 371 55q192 366 374.5 524t383.5 158 +q5 0 14.5 -0.5t38 -5t55 -12t61.5 -24.5t63 -39.5t54 -59t40 -82.5l102 177q2 4 21 42.5t44.5 86.5t61 109.5t84 133.5t100.5 137q66 82 128 141.5t121.5 96.5t92.5 53.5t88 39.5z" /> + <glyph glyph-name="uniF2B0" unicode="&#xf2b0;" +d="M1322 640q0 -45 -5 -76l-236 14l224 -78q-19 -73 -58 -141l-214 103l177 -158q-44 -61 -107 -108l-157 178l103 -215q-61 -37 -140 -59l-79 228l14 -240q-38 -6 -76 -6t-76 6l14 238l-78 -226q-74 19 -140 59l103 215l-157 -178q-59 43 -108 108l178 158l-214 -104 +q-39 69 -58 141l224 79l-237 -14q-5 42 -5 76q0 35 5 77l238 -14l-225 79q19 73 58 140l214 -104l-177 159q46 61 107 108l158 -178l-103 215q67 39 140 58l77 -224l-13 236q36 6 75 6q38 0 76 -6l-14 -237l78 225q74 -19 140 -59l-103 -214l158 178q61 -47 107 -108 +l-177 -159l213 104q37 -62 58 -141l-224 -78l237 14q5 -31 5 -77zM1352 640q0 160 -78.5 295.5t-213 214t-292.5 78.5q-119 0 -227 -46.5t-186.5 -125t-124.5 -187.5t-46 -229q0 -119 46 -228t124.5 -187.5t186.5 -125t227 -46.5q158 0 292.5 78.5t213 214t78.5 294.5z +M1425 1023v-766l-657 -383l-657 383v766l657 383zM768 -183l708 412v823l-708 411l-708 -411v-823zM1536 1088v-896l-768 -448l-768 448v896l768 448z" /> + <glyph glyph-name="uniF2B1" unicode="&#xf2b1;" horiz-adv-x="1664" +d="M339 1318h691l-26 -72h-665q-110 0 -188.5 -79t-78.5 -189v-771q0 -95 60.5 -169.5t153.5 -93.5q23 -5 98 -5v-72h-45q-140 0 -239.5 100t-99.5 240v771q0 140 99.5 240t239.5 100zM1190 1536h247l-482 -1294q-23 -61 -40.5 -103.5t-45 -98t-54 -93.5t-64.5 -78.5 +t-79.5 -65t-95.5 -41t-116 -18.5v195q163 26 220 182q20 52 20 105q0 54 -20 106l-285 733h228l187 -585zM1664 978v-1111h-795q37 55 45 73h678v1038q0 85 -49.5 155t-129.5 99l25 67q101 -34 163.5 -123.5t62.5 -197.5z" /> + <glyph glyph-name="uniF2B2" unicode="&#xf2b2;" horiz-adv-x="1792" +d="M852 1227q0 -29 -17 -52.5t-45 -23.5t-45 23.5t-17 52.5t17 52.5t45 23.5t45 -23.5t17 -52.5zM688 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50 -21.5t-20 -51.5v-114q0 -30 20.5 -52t49.5 -22q30 0 50.5 22t20.5 52zM860 -149v114q0 30 -20 51.5t-50 21.5t-50.5 -21.5 +t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22q29 0 49.5 22t20.5 52zM1034 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1208 -149v114q0 30 -20.5 51.5t-50.5 21.5t-50.5 -21.5t-20.5 -51.5v-114 +q0 -30 20.5 -52t50.5 -22t50.5 22t20.5 52zM1476 535q-84 -160 -232 -259.5t-323 -99.5q-123 0 -229.5 51.5t-178.5 137t-113 197.5t-41 232q0 88 21 174q-104 -175 -104 -390q0 -162 65 -312t185 -251q30 57 91 57q56 0 86 -50q32 50 87 50q56 0 86 -50q32 50 87 50t87 -50 +q30 50 86 50q28 0 52.5 -15.5t37.5 -40.5q112 94 177 231.5t73 287.5zM1326 564q0 75 -72 75q-17 0 -47 -6q-95 -19 -149 -19q-226 0 -226 243q0 86 30 204q-83 -127 -83 -275q0 -150 89 -260.5t235 -110.5q111 0 210 70q13 48 13 79zM884 1223q0 50 -32 89.5t-81 39.5 +t-81 -39.5t-32 -89.5q0 -51 31.5 -90.5t81.5 -39.5t81.5 39.5t31.5 90.5zM1513 884q0 96 -37.5 179t-113 137t-173.5 54q-77 0 -149 -35t-127 -94q-48 -159 -48 -268q0 -104 45.5 -157t147.5 -53q53 0 142 19q36 6 53 6q51 0 77.5 -28t26.5 -80q0 -26 -4 -46 +q75 68 117.5 165.5t42.5 200.5zM1792 667q0 -111 -33.5 -249.5t-93.5 -204.5q-58 -64 -195 -142.5t-228 -104.5l-4 -1v-114q0 -43 -29.5 -75t-72.5 -32q-56 0 -86 50q-32 -50 -87 -50t-87 50q-30 -50 -86 -50q-55 0 -87 50q-30 -50 -86 -50q-47 0 -75 33.5t-28 81.5 +q-90 -68 -198 -68q-118 0 -211 80q54 1 106 20q-113 31 -182 127q32 -7 71 -7q89 0 164 46q-192 192 -240 306q-24 56 -24 160q0 57 9 125.5t31.5 146.5t55 141t86.5 105t120 42q59 0 81 -52q19 29 42 54q2 3 12 13t13 16q10 15 23 38t25 42t28 39q87 111 211.5 177 +t260.5 66q35 0 62 -4q59 64 146 64q83 0 140 -57q5 -5 5 -12q0 -5 -6 -13.5t-12.5 -16t-16 -17l-10.5 -10.5q17 -6 36 -18t19 -24q0 -6 -16 -25q157 -138 197 -378q25 30 60 30q45 0 100 -49q90 -80 90 -279z" /> + <glyph glyph-name="uniF2B3" unicode="&#xf2b3;" +d="M917 631q0 33 -6 64h-362v-132h217q-12 -76 -74.5 -120.5t-142.5 -44.5q-99 0 -169 71.5t-70 170.5t70 170.5t169 71.5q93 0 153 -59l104 101q-108 100 -257 100q-160 0 -272 -112.5t-112 -271.5t112 -271.5t272 -112.5q165 0 266.5 105t101.5 270zM1262 585h109v110 +h-109v110h-110v-110h-110v-110h110v-110h110v110zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" /> + <glyph glyph-name="uniF2B4" unicode="&#xf2b4;" +d="M1536 1024v-839q0 -48 -49 -62q-174 -52 -338 -52q-73 0 -215.5 29.5t-227.5 29.5q-164 0 -370 -48v-338h-160v1368q-63 25 -101 81t-38 124q0 91 64 155t155 64t155 -64t64 -155q0 -68 -38 -124t-101 -81v-68q190 44 343 44q99 0 198 -15q14 -2 111.5 -22.5t149.5 -20.5 +q77 0 165 18q11 2 80 21t89 19q26 0 45 -19t19 -45z" /> + <glyph glyph-name="uniF2B5" unicode="&#xf2b5;" horiz-adv-x="2304" +d="M192 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32zM1665 442q-10 13 -38.5 50t-41.5 54t-38 49t-42.5 53t-40.5 47t-45 49l-125 -140q-83 -94 -208.5 -92t-205.5 98q-57 69 -56.5 158t58.5 157l177 206q-22 11 -51 16.5t-47.5 6t-56.5 -0.5t-49 -1q-92 0 -158 -66 +l-158 -158h-155v-544q5 0 21 0.5t22 0t19.5 -2t20.5 -4.5t17.5 -8.5t18.5 -13.5l297 -292q115 -111 227 -111q78 0 125 47q57 -20 112.5 8t72.5 85q74 -6 127 44q20 18 36 45.5t14 50.5q10 -10 43 -10q43 0 77 21t49.5 53t12 71.5t-30.5 73.5zM1824 384h96v512h-93l-157 180 +q-66 76 -169 76h-167q-89 0 -146 -67l-209 -243q-28 -33 -28 -75t27 -75q43 -51 110 -52t111 49l193 218q25 23 53.5 21.5t47 -27t8.5 -56.5q16 -19 56 -63t60 -68q29 -36 82.5 -105.5t64.5 -84.5q52 -66 60 -140zM2112 384q40 0 56 32t0 64t-56 32t-56 -32t0 -64t56 -32z +M2304 960v-640q0 -26 -19 -45t-45 -19h-434q-27 -65 -82 -106.5t-125 -51.5q-33 -48 -80.5 -81.5t-102.5 -45.5q-42 -53 -104.5 -81.5t-128.5 -24.5q-60 -34 -126 -39.5t-127.5 14t-117 53.5t-103.5 81l-287 282h-358q-26 0 -45 19t-19 45v672q0 26 19 45t45 19h421 +q14 14 47 48t47.5 48t44 40t50.5 37.5t51 25.5t62 19.5t68 5.5h117q99 0 181 -56q82 56 181 56h167q35 0 67 -6t56.5 -14.5t51.5 -26.5t44.5 -31t43 -39.5t39 -42t41 -48t41.5 -48.5h355q26 0 45 -19t19 -45z" /> + <glyph glyph-name="uniF2B6" unicode="&#xf2b6;" horiz-adv-x="1792" +d="M1792 882v-978q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v978q0 15 11 24q8 7 39 34.5t41.5 36t45.5 37.5t70 55.5t96 73t143.5 107t192.5 140.5q5 4 52.5 40t71.5 52.5t64 35t69 18.5t69 -18.5t65 -35.5t71 -52t52 -40q110 -80 192.5 -140.5t143.5 -107 +t96 -73t70 -55.5t45.5 -37.5t41.5 -36t39 -34.5q11 -9 11 -24zM1228 297q263 191 345 252q11 8 12.5 20.5t-6.5 23.5l-38 52q-8 11 -21 12.5t-24 -6.5q-231 -169 -343 -250q-5 -3 -52 -39t-71.5 -52.5t-64.5 -35t-69 -18.5t-69 18.5t-64.5 35t-71.5 52.5t-52 39 +q-186 134 -343 250q-11 8 -24 6.5t-21 -12.5l-38 -52q-8 -11 -6.5 -23.5t12.5 -20.5q82 -61 345 -252q10 -8 50 -38t65 -47t64 -39.5t77.5 -33.5t75.5 -11t75.5 11t79 34.5t64.5 39.5t65 47.5t48 36.5z" /> + <glyph glyph-name="uniF2B7" unicode="&#xf2b7;" horiz-adv-x="1792" +d="M1474 623l39 -51q8 -11 6.5 -23.5t-11.5 -20.5q-43 -34 -126.5 -98.5t-146.5 -113t-67 -51.5q-39 -32 -60 -48t-60.5 -41t-76.5 -36.5t-74 -11.5h-1h-1q-37 0 -74 11.5t-76 36.5t-61 41.5t-60 47.5q-5 4 -65 50.5t-143.5 111t-122.5 94.5q-11 8 -12.5 20.5t6.5 23.5 +l37 52q8 11 21.5 13t24.5 -7q94 -73 306 -236q5 -4 43.5 -35t60.5 -46.5t56.5 -32.5t58.5 -17h1h1q24 0 58.5 17t56.5 32.5t60.5 46.5t43.5 35q258 198 313 242q11 8 24 6.5t21 -12.5zM1664 -96v928q-90 83 -159 139q-91 74 -389 304q-3 2 -43 35t-61 48t-56 32.5t-59 17.5 +h-1h-1q-24 0 -59 -17.5t-56 -32.5t-61 -48t-43 -35q-215 -166 -315.5 -245.5t-129.5 -104t-82 -74.5q-14 -12 -21 -19v-928q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 832v-928q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v928q0 56 41 94 +q123 114 350 290.5t233 181.5q36 30 59 47.5t61.5 42t76 36.5t74.5 12h1h1q37 0 74.5 -12t76 -36.5t61.5 -42t59 -47.5q43 -36 156 -122t226 -177t201 -173q41 -38 41 -94z" /> + <glyph glyph-name="uniF2B8" unicode="&#xf2b8;" +d="M330 1l202 -214l-34 236l-216 213zM556 -225l274 218l-11 245l-300 -215zM245 413l227 -213l-48 327l-245 204zM495 189l317 214l-14 324l-352 -200zM843 178l95 -80l-2 239l-103 79q0 -1 1 -8.5t0 -12t-5 -7.5l-78 -52l85 -70q7 -6 7 -88zM138 930l256 -200l-68 465 +l-279 173zM1173 267l15 234l-230 -164l2 -240zM417 722l373 194l-19 441l-423 -163zM1270 357l20 233l-226 142l-2 -105l144 -95q6 -4 4 -9l-7 -119zM1461 496l30 222l-179 -128l-20 -228zM1273 329l-71 49l-8 -117q0 -5 -4 -8l-234 -187q-7 -5 -14 0l-98 83l7 -161 +q0 -5 -4 -8l-293 -234q-4 -2 -6 -2q-8 2 -8 3l-228 242q-4 4 -59 277q-2 7 5 11l61 37q-94 86 -95 92l-72 351q-2 7 6 12l94 45q-133 100 -135 108l-96 466q-2 10 7 13l433 135q5 0 8 -1l317 -153q6 -4 6 -9l20 -463q0 -7 -6 -10l-118 -61l126 -85q5 -2 5 -8l5 -123l121 74 +q5 4 11 0l84 -56l3 110q0 6 5 9l206 126q6 3 11 0l245 -135q4 -4 5 -7t-6.5 -60t-17.5 -124.5t-10 -70.5q0 -5 -4 -7l-191 -153q-6 -5 -13 0z" /> + <glyph glyph-name="uniF2B9" unicode="&#xf2b9;" horiz-adv-x="1664" +d="M1201 298q0 57 -5.5 107t-21 100.5t-39.5 86t-64 58t-91 22.5q-6 -4 -33.5 -20.5t-42.5 -24.5t-40.5 -20t-49 -17t-46.5 -5t-46.5 5t-49 17t-40.5 20t-42.5 24.5t-33.5 20.5q-51 0 -91 -22.5t-64 -58t-39.5 -86t-21 -100.5t-5.5 -107q0 -73 42 -121.5t103 -48.5h576 +q61 0 103 48.5t42 121.5zM1028 892q0 108 -76.5 184t-183.5 76t-183.5 -76t-76.5 -184q0 -107 76.5 -183t183.5 -76t183.5 76t76.5 183zM1664 352v-192q0 -14 -9 -23t-23 -9h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216 +q66 0 113 -47t47 -113v-224h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23v-192q0 -14 -9 -23t-23 -9h-96v-128h96q14 0 23 -9t9 -23z" /> + <glyph glyph-name="uniF2BA" unicode="&#xf2ba;" horiz-adv-x="1664" +d="M1028 892q0 -107 -76.5 -183t-183.5 -76t-183.5 76t-76.5 183q0 108 76.5 184t183.5 76t183.5 -76t76.5 -184zM980 672q46 0 82.5 -17t60 -47.5t39.5 -67t24 -81t11.5 -82.5t3.5 -79q0 -67 -39.5 -118.5t-105.5 -51.5h-576q-66 0 -105.5 51.5t-39.5 118.5q0 48 4.5 93.5 +t18.5 98.5t36.5 91.5t63 64.5t93.5 26h5q7 -4 32 -19.5t35.5 -21t33 -17t37 -16t35 -9t39.5 -4.5t39.5 4.5t35 9t37 16t33 17t35.5 21t32 19.5zM1664 928q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-128h96 +q13 0 22.5 -9.5t9.5 -22.5v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-96v-224q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h1216q66 0 113 -47t47 -113v-224h96q13 0 22.5 -9.5t9.5 -22.5v-192zM1408 -96v1472q0 13 -9.5 22.5t-22.5 9.5h-1216 +q-13 0 -22.5 -9.5t-9.5 -22.5v-1472q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5z" /> + <glyph glyph-name="uniF2BB" unicode="&#xf2bb;" horiz-adv-x="2048" +d="M1024 405q0 64 -9 117.5t-29.5 103t-60.5 78t-97 28.5q-6 -4 -30 -18t-37.5 -21.5t-35.5 -17.5t-43 -14.5t-42 -4.5t-42 4.5t-43 14.5t-35.5 17.5t-37.5 21.5t-30 18q-57 0 -97 -28.5t-60.5 -78t-29.5 -103t-9 -117.5t37 -106.5t91 -42.5h512q54 0 91 42.5t37 106.5z +M867 925q0 94 -66.5 160.5t-160.5 66.5t-160.5 -66.5t-66.5 -160.5t66.5 -160.5t160.5 -66.5t160.5 66.5t66.5 160.5zM1792 416v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM1792 676v56q0 15 -10.5 25.5t-25.5 10.5h-568 +q-15 0 -25.5 -10.5t-10.5 -25.5v-56q0 -15 10.5 -25.5t25.5 -10.5h568q15 0 25.5 10.5t10.5 25.5zM1792 928v64q0 14 -9 23t-23 9h-576q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h576q14 0 23 9t9 23zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-352v96q0 14 -9 23t-23 9 +h-64q-14 0 -23 -9t-9 -23v-96h-768v96q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-96h-352q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2BC" unicode="&#xf2bc;" horiz-adv-x="2048" +d="M1024 405q0 -64 -37 -106.5t-91 -42.5h-512q-54 0 -91 42.5t-37 106.5t9 117.5t29.5 103t60.5 78t97 28.5q6 -4 30 -18t37.5 -21.5t35.5 -17.5t43 -14.5t42 -4.5t42 4.5t43 14.5t35.5 17.5t37.5 21.5t30 18q57 0 97 -28.5t60.5 -78t29.5 -103t9 -117.5zM867 925 +q0 -94 -66.5 -160.5t-160.5 -66.5t-160.5 66.5t-66.5 160.5t66.5 160.5t160.5 66.5t160.5 -66.5t66.5 -160.5zM1792 480v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1792 732v-56q0 -15 -10.5 -25.5t-25.5 -10.5h-568 +q-15 0 -25.5 10.5t-10.5 25.5v56q0 15 10.5 25.5t25.5 10.5h568q15 0 25.5 -10.5t10.5 -25.5zM1792 992v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576q14 0 23 -9t9 -23zM1920 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1728q-13 0 -22.5 -9.5 +t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h352v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h768v96q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-96h352q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113 +t113 47h1728q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2BD" unicode="&#xf2bd;" horiz-adv-x="1792" +d="M1523 197q-22 155 -87.5 257.5t-184.5 118.5q-67 -74 -159.5 -115.5t-195.5 -41.5t-195.5 41.5t-159.5 115.5q-119 -16 -184.5 -118.5t-87.5 -257.5q106 -150 271 -237.5t356 -87.5t356 87.5t271 237.5zM1280 896q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5 +t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1792 640q0 -182 -71 -347.5t-190.5 -286t-285.5 -191.5t-349 -71q-182 0 -348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="uniF2BE" unicode="&#xf2be;" horiz-adv-x="1792" +d="M896 1536q182 0 348 -71t286 -191t191 -286t71 -348q0 -181 -70.5 -347t-190.5 -286t-286 -191.5t-349 -71.5t-349 71t-285.5 191.5t-190.5 286t-71 347.5t71 348t191 286t286 191t348 71zM1515 185q149 205 149 455q0 156 -61 298t-164 245t-245 164t-298 61t-298 -61 +t-245 -164t-164 -245t-61 -298q0 -250 149 -455q66 327 306 327q131 -128 313 -128t313 128q240 0 306 -327zM1280 832q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5z" /> + <glyph glyph-name="uniF2C0" unicode="&#xf2c0;" +d="M1201 752q47 -14 89.5 -38t89 -73t79.5 -115.5t55 -172t22 -236.5q0 -154 -100 -263.5t-241 -109.5h-854q-141 0 -241 109.5t-100 263.5q0 131 22 236.5t55 172t79.5 115.5t89 73t89.5 38q-79 125 -79 272q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5 +t198.5 -40.5t163.5 -109.5t109.5 -163.5t40.5 -198.5q0 -147 -79 -272zM768 1408q-159 0 -271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5t-112.5 271.5t-271.5 112.5zM1195 -128q88 0 150.5 71.5t62.5 173.5q0 239 -78.5 377t-225.5 145 +q-145 -127 -336 -127t-336 127q-147 -7 -225.5 -145t-78.5 -377q0 -102 62.5 -173.5t150.5 -71.5h854z" /> + <glyph glyph-name="uniF2C1" unicode="&#xf2c1;" horiz-adv-x="1280" +d="M1024 278q0 -64 -37 -107t-91 -43h-512q-54 0 -91 43t-37 107t9 118t29.5 104t61 78.5t96.5 28.5q80 -75 188 -75t188 75q56 0 96.5 -28.5t61 -78.5t29.5 -104t9 -118zM870 797q0 -94 -67.5 -160.5t-162.5 -66.5t-162.5 66.5t-67.5 160.5t67.5 160.5t162.5 66.5 +t162.5 -66.5t67.5 -160.5zM1152 -96v1376h-1024v-1376q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1280 1376v-1472q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v1472q0 66 47 113t113 47h352v-96q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v96h352 +q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2C2" unicode="&#xf2c2;" horiz-adv-x="2048" +d="M896 324q0 54 -7.5 100.5t-24.5 90t-51 68.5t-81 25q-64 -64 -156 -64t-156 64q-47 0 -81 -25t-51 -68.5t-24.5 -90t-7.5 -100.5q0 -55 31.5 -93.5t75.5 -38.5h426q44 0 75.5 38.5t31.5 93.5zM768 768q0 80 -56 136t-136 56t-136 -56t-56 -136t56 -136t136 -56t136 56 +t56 136zM1792 288v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1408 544v64q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1792 544v64q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23 +v-64q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1792 800v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM128 1152h1792v96q0 14 -9 23t-23 9h-1728q-14 0 -23 -9t-9 -23v-96zM2048 1248v-1216q0 -66 -47 -113t-113 -47h-1728 +q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2C3" unicode="&#xf2c3;" horiz-adv-x="2048" +d="M896 324q0 -55 -31.5 -93.5t-75.5 -38.5h-426q-44 0 -75.5 38.5t-31.5 93.5q0 54 7.5 100.5t24.5 90t51 68.5t81 25q64 -64 156 -64t156 64q47 0 81 -25t51 -68.5t24.5 -90t7.5 -100.5zM768 768q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136z +M1792 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1408 608v-64q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h320q14 0 23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v64 +q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 864v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1920 32v1120h-1792v-1120q0 -13 9.5 -22.5t22.5 -9.5h1728q13 0 22.5 9.5t9.5 22.5zM2048 1248v-1216q0 -66 -47 -113t-113 -47 +h-1728q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1728q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2C4" unicode="&#xf2c4;" horiz-adv-x="1792" +d="M1255 749q0 318 -105 474.5t-330 156.5q-222 0 -326 -157t-104 -474q0 -316 104 -471.5t326 -155.5q74 0 131 17q-22 43 -39 73t-44 65t-53.5 56.5t-63 36t-77.5 14.5q-46 0 -79 -16l-49 97q105 91 276 91q132 0 215.5 -54t150.5 -155q67 149 67 402zM1645 117h117 +q3 -27 -2 -67t-26.5 -95t-58 -100.5t-107 -78t-162.5 -32.5q-71 0 -130.5 19t-105.5 56t-79 78t-66 96q-97 -27 -205 -27q-150 0 -292.5 58t-253 158.5t-178 249t-67.5 317.5q0 170 67.5 319.5t178.5 250.5t253.5 159t291.5 58q121 0 238.5 -36t217 -106t176 -164.5 +t119.5 -219t43 -261.5q0 -190 -80.5 -347.5t-218.5 -264.5q47 -70 93.5 -106.5t104.5 -36.5q61 0 94 37.5t38 85.5z" /> + <glyph glyph-name="uniF2C5" unicode="&#xf2c5;" horiz-adv-x="2304" +d="M453 -101q0 -21 -16 -37.5t-37 -16.5q-1 0 -13 3q-63 15 -162 140q-225 284 -225 676q0 341 213 614q39 51 95 103.5t94 52.5q19 0 35 -13.5t16 -32.5q0 -27 -63 -90q-98 -102 -147 -184q-119 -199 -119 -449q0 -281 123 -491q50 -85 136 -173q2 -3 14.5 -16t19.5 -21 +t17 -20.5t14.5 -23.5t4.5 -21zM1796 33q0 -29 -17.5 -48.5t-46.5 -19.5h-1081q-26 0 -45 19t-19 45q0 29 17.5 48.5t46.5 19.5h1081q26 0 45 -19t19 -45zM1581 644q0 -134 -67 -233q-25 -38 -69.5 -78.5t-83.5 -60.5q-16 -10 -27 -10q-7 0 -15 6t-8 12q0 9 19 30t42 46 +t42 67.5t19 88.5q0 76 -35 130q-29 42 -46 42q-3 0 -3 -5q0 -12 7.5 -35.5t7.5 -36.5q0 -22 -21.5 -35t-44.5 -13q-66 0 -66 76q0 15 1.5 44t1.5 44q0 25 -10 46q-13 25 -42 53.5t-51 28.5q-5 0 -7 -0.5t-3.5 -2.5t-1.5 -6q0 -2 16 -26t16 -54q0 -37 -19 -68t-46 -54 +t-53.5 -46t-45.5 -54t-19 -68q0 -98 42 -160q29 -43 79 -63q16 -5 17 -10q1 -2 1 -5q0 -16 -18 -16q-6 0 -33 11q-119 43 -195 139.5t-76 218.5q0 55 24.5 115.5t60 115t70.5 108.5t59.5 113.5t24.5 111.5q0 53 -25 94q-29 48 -56 64q-19 9 -19 21q0 20 41 20q50 0 110 -29 +q41 -19 71 -44.5t49.5 -51t33.5 -62.5t22 -69t16 -80q0 -1 3 -17.5t4.5 -25t5.5 -25t9 -27t11 -21.5t14.5 -16.5t18.5 -5.5q23 0 37 14t14 37q0 25 -20 67t-20 52t10 10q27 0 93 -70q72 -76 102.5 -156t30.5 -186zM2304 615q0 -274 -138 -503q-19 -32 -48 -72t-68 -86.5 +t-81 -77t-74 -30.5q-16 0 -31 15.5t-15 31.5q0 15 29 50.5t68.5 77t48.5 52.5q183 230 183 531q0 131 -20.5 235t-72.5 211q-58 119 -163 228q-2 3 -13 13.5t-16.5 16.5t-15 17.5t-15 20t-9.5 18.5t-4 19q0 19 16 35.5t35 16.5q70 0 196 -169q98 -131 146 -273t60 -314 +q2 -42 2 -64z" /> + <glyph glyph-name="uniF2C6" unicode="&#xf2c6;" horiz-adv-x="1792" +d="M1189 229l147 693q9 44 -10.5 63t-51.5 7l-864 -333q-29 -11 -39.5 -25t-2.5 -26.5t32 -19.5l221 -69l513 323q21 14 32 6q7 -5 -4 -15l-415 -375v0v0l-16 -228q23 0 45 22l108 104l224 -165q64 -36 81 38zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71 +t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="uniF2C7" unicode="&#xf2c7;" horiz-adv-x="1024" +d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v907h128v-907q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5 +t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192 +v128h192z" /> + <glyph glyph-name="uniF2C8" unicode="&#xf2c8;" horiz-adv-x="1024" +d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v651h128v-651q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5 +t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192 +v128h192z" /> + <glyph glyph-name="uniF2C9" unicode="&#xf2c9;" horiz-adv-x="1024" +d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v395h128v-395q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5 +t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192 +v128h192z" /> + <glyph glyph-name="uniF2CA" unicode="&#xf2ca;" horiz-adv-x="1024" +d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 60 35 110t93 71v139h128v-139q58 -21 93 -71t35 -110zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5 +t93.5 226.5zM896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192 +v128h192z" /> + <glyph glyph-name="uniF2CB" unicode="&#xf2cb;" horiz-adv-x="1024" +d="M640 192q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 79 56 135.5t136 56.5t136 -56.5t56 -135.5zM768 192q0 77 -34 144t-94 112v768q0 80 -56 136t-136 56t-136 -56t-56 -136v-768q-60 -45 -94 -112t-34 -144q0 -133 93.5 -226.5t226.5 -93.5t226.5 93.5t93.5 226.5z +M896 192q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 182 128 313v711q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5v-711q128 -131 128 -313zM1024 768v-128h-192v128h192zM1024 1024v-128h-192v128h192zM1024 1280v-128h-192v128h192z" /> + <glyph glyph-name="uniF2CC" unicode="&#xf2cc;" horiz-adv-x="1920" +d="M1433 1287q10 -10 10 -23t-10 -23l-626 -626q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l44 44q-72 91 -81.5 207t46.5 215q-74 71 -176 71q-106 0 -181 -75t-75 -181v-1280h-256v1280q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5q106 0 201 -41 +t166 -115q94 39 197 24.5t185 -79.5l44 44q10 10 23 10t23 -10zM1344 1024q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1600 896q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1856 1024q26 0 45 -19t19 -45t-19 -45t-45 -19 +t-45 19t-19 45t19 45t45 19zM1216 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1408 832q0 26 19 45t45 19t45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45zM1728 896q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 768 +q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 640q-26 0 -45 19t-19 45t19 45t45 19t45 -19t19 -45t-19 -45t-45 -19zM1600 768q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 512q-26 0 -45 19t-19 45t19 45t45 19t45 -19 +t19 -45t-19 -45t-45 -19zM1472 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1344 512q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1216 384 +q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1088 256q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19z" /> + <glyph glyph-name="uniF2CD" unicode="&#xf2cd;" horiz-adv-x="1792" +d="M1664 448v-192q0 -169 -128 -286v-194q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v118q-63 -22 -128 -22h-768q-65 0 -128 22v-110q0 -17 -9.5 -28.5t-22.5 -11.5h-64q-13 0 -22.5 11.5t-9.5 28.5v186q-128 117 -128 286v192h1536zM704 864q0 -14 -9 -23t-23 -9t-23 9 +t-9 23t9 23t23 9t23 -9t9 -23zM768 928q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM704 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 992q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1056q0 -14 -9 -23t-23 -9t-23 9 +t-9 23t9 23t23 9t23 -9t9 -23zM704 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1792 608v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h96v640q0 106 75 181t181 75q108 0 184 -78q46 19 98 12t93 -39l22 22q11 11 22 0l42 -42 +q11 -11 0 -22l-314 -314q-11 -11 -22 0l-42 42q-11 11 0 22l22 22q-36 46 -40.5 104t23.5 108q-37 35 -88 35q-53 0 -90.5 -37.5t-37.5 -90.5v-640h1504q14 0 23 -9t9 -23zM896 1056q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1120q0 -14 -9 -23t-23 -9 +t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM768 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1120q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM896 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM832 1248q0 -14 -9 -23 +t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1024 1184q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM960 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23zM1088 1248q0 -14 -9 -23t-23 -9t-23 9t-9 23t9 23t23 9t23 -9t9 -23z" /> + <glyph glyph-name="uniF2CE" unicode="&#xf2ce;" +d="M994 344q0 -86 -17 -197q-31 -215 -55 -313q-22 -90 -152 -90t-152 90q-24 98 -55 313q-17 110 -17 197q0 168 224 168t224 -168zM1536 768q0 -240 -134 -434t-350 -280q-8 -3 -15 3t-6 15q7 48 10 66q4 32 6 47q1 9 9 12q159 81 255.5 234t96.5 337q0 180 -91 330.5 +t-247 234.5t-337 74q-124 -7 -237 -61t-193.5 -140.5t-128 -202t-46.5 -240.5q1 -184 99 -336.5t257 -231.5q7 -3 9 -12q3 -21 6 -45q1 -9 5 -32.5t6 -35.5q1 -9 -6.5 -15t-15.5 -2q-148 58 -261 169.5t-173.5 264t-52.5 319.5q7 143 66 273.5t154.5 227t225 157.5t272.5 70 +q164 10 315.5 -46.5t261 -160.5t175 -250.5t65.5 -308.5zM994 800q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5zM1282 768q0 -122 -53.5 -228.5t-146.5 -177.5q-8 -6 -16 -2t-10 14q-6 52 -29 92q-7 10 3 20 +q58 54 91 127t33 155q0 111 -58.5 204t-157.5 141.5t-212 36.5q-133 -15 -229 -113t-109 -231q-10 -92 23.5 -176t98.5 -144q10 -10 3 -20q-24 -41 -29 -93q-2 -9 -10 -13t-16 2q-95 74 -148.5 183t-51.5 234q3 131 69 244t177 181.5t241 74.5q144 7 268 -60t196.5 -187.5 +t72.5 -263.5z" /> + <glyph glyph-name="uniF2D0" unicode="&#xf2d0;" horiz-adv-x="1792" +d="M256 128h1280v768h-1280v-768zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2D1" unicode="&#xf2d1;" horiz-adv-x="1792" +d="M1792 224v-192q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2D2" unicode="&#xf2d2;" horiz-adv-x="2048" +d="M256 0h768v512h-768v-512zM1280 512h512v768h-768v-256h96q66 0 113 -47t47 -113v-352zM2048 1376v-960q0 -66 -47 -113t-113 -47h-608v-352q0 -66 -47 -113t-113 -47h-960q-66 0 -113 47t-47 113v960q0 66 47 113t113 47h608v352q0 66 47 113t113 47h960q66 0 113 -47 +t47 -113z" /> + <glyph glyph-name="uniF2D3" unicode="&#xf2d3;" horiz-adv-x="1792" +d="M1175 215l146 146q10 10 10 23t-10 23l-233 233l233 233q10 10 10 23t-10 23l-146 146q-10 10 -23 10t-23 -10l-233 -233l-233 233q-10 10 -23 10t-23 -10l-146 -146q-10 -10 -10 -23t10 -23l233 -233l-233 -233q-10 -10 -10 -23t10 -23l146 -146q10 -10 23 -10t23 10 +l233 233l233 -233q10 -10 23 -10t23 10zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2D4" unicode="&#xf2d4;" horiz-adv-x="1792" +d="M1257 425l-146 -146q-10 -10 -23 -10t-23 10l-169 169l-169 -169q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l169 169l-169 169q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l169 -169l169 169q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 +l-169 -169l169 -169q10 -10 10 -23t-10 -23zM256 128h1280v1024h-1280v-1024zM1792 1248v-1216q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2D5" unicode="&#xf2d5;" horiz-adv-x="1792" +d="M1070 358l306 564h-654l-306 -564h654zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="uniF2D6" unicode="&#xf2d6;" horiz-adv-x="1794" +d="M1291 1060q-15 17 -35 8.5t-26 -28.5t5 -38q14 -17 40 -14.5t34 20.5t-18 52zM895 814q-8 -8 -19.5 -8t-18.5 8q-8 8 -8 19t8 18q7 8 18.5 8t19.5 -8q7 -7 7 -18t-7 -19zM1060 740l-35 -35q-12 -13 -29.5 -13t-30.5 13l-38 38q-12 13 -12 30t12 30l35 35q12 12 29.5 12 +t30.5 -12l38 -39q12 -12 12 -29.5t-12 -29.5zM951 870q-7 -8 -18.5 -8t-19.5 8q-7 8 -7 19t7 19q8 8 19 8t19 -8t8 -19t-8 -19zM1354 968q-34 -64 -107.5 -85.5t-127.5 16.5q-38 28 -61 66.5t-21 87.5t39 92t75.5 53t70.5 -5t70 -51q2 -2 13 -12.5t14.5 -13.5t13 -13.5 +t12.5 -15.5t10 -15.5t8.5 -18t4 -18.5t1 -21t-5 -22t-9.5 -24zM1555 486q3 20 -8.5 34.5t-27.5 21.5t-33 17t-23 20q-40 71 -84 98.5t-113 11.5q19 13 40 18.5t33 4.5l12 -1q2 45 -34 90q6 20 6.5 40.5t-2.5 30.5l-3 10q43 24 71 65t34 91q10 84 -43 150.5t-137 76.5 +q-60 7 -114 -18.5t-82 -74.5q-30 -51 -33.5 -101t14.5 -87t43.5 -64t56.5 -42q-45 4 -88 36t-57 88q-28 108 32 222q-16 21 -29 32q-50 0 -89 -19q19 24 42 37t36 14l13 1q0 50 -13 78q-10 21 -32.5 28.5t-47 -3.5t-37.5 -40q2 4 4 7q-7 -28 -6.5 -75.5t19 -117t48.5 -122.5 +q-25 -14 -47 -36q-35 -16 -85.5 -70.5t-84.5 -101.5l-33 -46q-90 -34 -181 -125.5t-75 -162.5q1 -16 11 -27q-15 -12 -30 -30q-21 -25 -21 -54t21.5 -40t63.5 6q41 19 77 49.5t55 60.5q-2 2 -6.5 5t-20.5 7.5t-33 3.5q23 5 51 12.5t40 10t27.5 6t26 4t23.5 0.5q14 -7 22 34 +q7 37 7 90q0 102 -40 150q106 -103 101 -219q-1 -29 -15 -50t-27 -27l-13 -6q-4 -7 -19 -32t-26 -45.5t-26.5 -52t-25 -61t-17 -63t-6.5 -66.5t10 -63q-35 54 -37 80q-22 -24 -34.5 -39t-33.5 -42t-30.5 -46t-16.5 -41t-0.5 -38t25.5 -27q45 -25 144 64t190.5 221.5 +t122.5 228.5q86 52 145 115.5t86 119.5q47 -93 154 -178q104 -83 167 -80q39 2 46 43zM1794 640q0 -182 -71 -348t-191 -286t-286.5 -191t-348.5 -71t-348.5 71t-286.5 191t-191 286t-71 348t71 348t191 286t286.5 191t348.5 71t348.5 -71t286.5 -191t191 -286t71 -348z" /> + <glyph glyph-name="uniF2D7" unicode="&#xf2d7;" +d="M518 1353v-655q103 -1 191.5 1.5t125.5 5.5l37 3q68 2 90.5 24.5t39.5 94.5l33 142h103l-14 -322l7 -319h-103l-29 127q-15 68 -45 93t-84 26q-87 8 -352 8v-556q0 -78 43.5 -115.5t133.5 -37.5h357q35 0 59.5 2t55 7.5t54 18t48.5 32t46 50.5t39 73l93 216h89 +q-6 -37 -31.5 -252t-30.5 -276q-146 5 -263.5 8t-162.5 4h-44h-628l-376 -12v102l127 25q67 13 91.5 37t25.5 79l8 643q3 402 -8 645q-2 61 -25.5 84t-91.5 36l-127 24v102l376 -12h702q139 0 374 27q-6 -68 -14 -194.5t-12 -219.5l-5 -92h-93l-32 124q-31 121 -74 179.5 +t-113 58.5h-548q-28 0 -35.5 -8.5t-7.5 -30.5z" /> + <glyph glyph-name="uniF2D8" unicode="&#xf2d8;" +d="M922 739v-182q0 -4 0.5 -15t0 -15l-1.5 -12t-3.5 -11.5t-6.5 -7.5t-11 -5.5t-16 -1.5v309q9 0 16 -1t11 -5t6.5 -5.5t3.5 -9.5t1 -10.5v-13.5v-14zM1238 643v-121q0 -1 0.5 -12.5t0 -15.5t-2.5 -11.5t-7.5 -10.5t-13.5 -3q-9 0 -14 9q-4 10 -4 165v7v8.5v9t1.5 8.5l3.5 7 +t5 5.5t8 1.5q6 0 10 -1.5t6.5 -4.5t4 -6t2 -8.5t0.5 -8v-9.5v-9zM180 407h122v472h-122v-472zM614 407h106v472h-159l-28 -221q-20 148 -32 221h-158v-472h107v312l45 -312h76l43 319v-319zM1039 712q0 67 -5 90q-3 16 -11 28.5t-17 20.5t-25 14t-26.5 8.5t-31 4t-29 1.5 +h-29.5h-12h-91v-472h56q169 -1 197 24.5t25 180.5q-1 62 -1 100zM1356 515v133q0 29 -2 45t-9.5 33.5t-24.5 25t-46 7.5q-46 0 -77 -34v154h-117v-472h110l7 30q30 -36 77 -36q50 0 66 30.5t16 83.5zM1536 1248v-1216q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113 +v1216q0 66 47 113t113 47h1216q66 0 113 -47t47 -113z" /> + <glyph glyph-name="uniF2D9" unicode="&#xf2d9;" horiz-adv-x="2176" +d="M1143 -197q-6 1 -11 4q-13 8 -36 23t-86 65t-116.5 104.5t-112 140t-89.5 172.5q-17 3 -175 37q66 -213 235 -362t391 -184zM502 409l168 -28q-25 76 -41 167.5t-19 145.5l-4 53q-84 -82 -121 -224q5 -65 17 -114zM612 1018q-43 -64 -77 -148q44 46 74 68zM2049 584 +q0 161 -62 307t-167.5 252t-250.5 168.5t-304 62.5q-147 0 -281 -52.5t-240 -148.5q-30 -58 -45 -160q60 51 143 83.5t158.5 43t143 13.5t108.5 -1l40 -3q33 -1 53 -15.5t24.5 -33t6.5 -37t-1 -28.5q-126 11 -227.5 0.5t-183 -43.5t-142.5 -71.5t-131 -98.5 +q4 -36 11.5 -92.5t35.5 -178t62 -179.5q123 -6 247.5 14.5t214.5 53.5t162.5 67t109.5 59l37 24q22 16 39.5 20.5t30.5 -5t17 -34.5q14 -97 -39 -121q-208 -97 -467 -134q-135 -20 -317 -16q41 -96 110 -176.5t137 -127t130.5 -79t101.5 -43.5l39 -12q143 -23 263 15 +q195 99 314 289t119 418zM2123 621q-14 -135 -40 -212q-70 -208 -181.5 -346.5t-318.5 -253.5q-48 -33 -82 -44q-72 -26 -163 -16q-36 -3 -73 -3q-283 0 -504.5 173t-295.5 442q-1 0 -4 0.5t-5 0.5q-6 -50 2.5 -112.5t26 -115t36 -98t31.5 -71.5l14 -26q8 -12 54 -82 +q-71 38 -124.5 106.5t-78.5 140t-39.5 137t-17.5 107.5l-2 42q-5 2 -33.5 12.5t-48.5 18t-53 20.5t-57.5 25t-50 25.5t-42.5 27t-25 25.5q19 -10 50.5 -25.5t113 -45.5t145.5 -38l2 32q11 149 94 290q41 202 176 365q28 115 81 214q15 28 32 45t49 32q158 74 303.5 104 +t302 11t306.5 -97q220 -115 333 -336t87 -474z" /> + <glyph glyph-name="uniF2DA" unicode="&#xf2da;" horiz-adv-x="1792" +d="M1341 752q29 44 -6.5 129.5t-121.5 142.5q-58 39 -125.5 53.5t-118 4.5t-68.5 -37q-12 -23 -4.5 -28t42.5 -10q23 -3 38.5 -5t44.5 -9.5t56 -17.5q36 -13 67.5 -31.5t53 -37t40 -38.5t30.5 -38t22 -34.5t16.5 -28.5t12 -18.5t10.5 -6t11 9.5zM1704 178 +q-52 -127 -148.5 -220t-214.5 -141.5t-253 -60.5t-266 13.5t-251 91t-210 161.5t-141.5 235.5t-46.5 303.5q1 41 8.5 84.5t12.5 64t24 80.5t23 73q-51 -208 1 -397t173 -318t291 -206t346 -83t349 74.5t289 244.5q20 27 18 14q0 -4 -4 -14zM1465 627q0 -104 -40.5 -199 +t-108.5 -164t-162 -109.5t-198 -40.5t-198 40.5t-162 109.5t-108.5 164t-40.5 199t40.5 199t108.5 164t162 109.5t198 40.5t198 -40.5t162 -109.5t108.5 -164t40.5 -199zM1752 915q-65 147 -180.5 251t-253 153.5t-292 53.5t-301 -36.5t-275.5 -129t-220 -211.5t-131 -297 +t-10 -373q-49 161 -51.5 311.5t35.5 272.5t109 227t165.5 180.5t207 126t232 71t242.5 9t236 -54t216 -124.5t178 -197q33 -50 62 -121t31 -112zM1690 573q12 244 -136.5 416t-396.5 240q-8 0 -10 5t24 8q125 -4 230 -50t173 -120t116 -168.5t58.5 -199t-1 -208 +t-61.5 -197.5t-122.5 -167t-185 -117.5t-248.5 -46.5q108 30 201.5 80t174 123t129.5 176.5t55 225.5z" /> + <glyph glyph-name="uniF2DB" unicode="&#xf2db;" +d="M192 256v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 512v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 768v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16 +q0 16 16 16h112zM192 1024v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM192 1280v-128h-112q-16 0 -16 16v16h-48q-16 0 -16 16v32q0 16 16 16h48v16q0 16 16 16h112zM1280 1440v-1472q0 -40 -28 -68t-68 -28h-832q-40 0 -68 28 +t-28 68v1472q0 40 28 68t68 28h832q40 0 68 -28t28 -68zM1536 208v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 464v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 720v-32 +q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 976v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16h48q16 0 16 -16zM1536 1232v-32q0 -16 -16 -16h-48v-16q0 -16 -16 -16h-112v128h112q16 0 16 -16v-16 +h48q16 0 16 -16z" /> + <glyph glyph-name="uniF2DC" unicode="&#xf2dc;" horiz-adv-x="1664" +d="M1566 419l-167 -33l186 -107q23 -13 29.5 -38.5t-6.5 -48.5q-14 -23 -39 -29.5t-48 6.5l-186 106l55 -160q13 -38 -12 -63.5t-60.5 -20.5t-48.5 42l-102 300l-271 156v-313l208 -238q16 -18 17 -39t-11 -36.5t-28.5 -25t-37 -5.5t-36.5 22l-112 128v-214q0 -26 -19 -45 +t-45 -19t-45 19t-19 45v214l-112 -128q-16 -18 -36.5 -22t-37 5.5t-28.5 25t-11 36.5t17 39l208 238v313l-271 -156l-102 -300q-13 -37 -48.5 -42t-60.5 20.5t-12 63.5l55 160l-186 -106q-23 -13 -48 -6.5t-39 29.5q-13 23 -6.5 48.5t29.5 38.5l186 107l-167 33 +q-29 6 -42 29t-8.5 46.5t25.5 40t50 10.5l310 -62l271 157l-271 157l-310 -62q-4 -1 -13 -1q-27 0 -44 18t-19 40t11 43t40 26l167 33l-186 107q-23 13 -29.5 38.5t6.5 48.5t39 30t48 -7l186 -106l-55 160q-13 38 12 63.5t60.5 20.5t48.5 -42l102 -300l271 -156v313 +l-208 238q-16 18 -17 39t11 36.5t28.5 25t37 5.5t36.5 -22l112 -128v214q0 26 19 45t45 19t45 -19t19 -45v-214l112 128q16 18 36.5 22t37 -5.5t28.5 -25t11 -36.5t-17 -39l-208 -238v-313l271 156l102 300q13 37 48.5 42t60.5 -20.5t12 -63.5l-55 -160l186 106 +q23 13 48 6.5t39 -29.5q13 -23 6.5 -48.5t-29.5 -38.5l-186 -107l167 -33q27 -5 40 -26t11 -43t-19 -40t-44 -18q-9 0 -13 1l-310 62l-271 -157l271 -157l310 62q29 6 50 -10.5t25.5 -40t-8.5 -46.5t-42 -29z" /> + <glyph glyph-name="uniF2DD" unicode="&#xf2dd;" horiz-adv-x="1792" +d="M1473 607q7 118 -33 226.5t-113 189t-177 131t-221 57.5q-116 7 -225.5 -32t-192 -110.5t-135 -175t-59.5 -220.5q-7 -118 33 -226.5t113 -189t177.5 -131t221.5 -57.5q155 -9 293 59t224 195.5t94 283.5zM1792 1536l-349 -348q120 -117 180.5 -272t50.5 -321 +q-11 -183 -102 -339t-241 -255.5t-332 -124.5l-999 -132l347 347q-120 116 -180.5 271.5t-50.5 321.5q11 184 102 340t241.5 255.5t332.5 124.5q167 22 500 66t500 66z" /> + <glyph glyph-name="uniF2DE" unicode="&#xf2de;" horiz-adv-x="1792" +d="M948 508l163 -329h-51l-175 350l-171 -350h-49l179 374l-78 33l21 49l240 -102l-21 -50zM563 1100l304 -130l-130 -304l-304 130zM907 915l240 -103l-103 -239l-239 102zM1188 765l191 -81l-82 -190l-190 81zM1680 640q0 159 -62 304t-167.5 250.5t-250.5 167.5t-304 62 +t-304 -62t-250.5 -167.5t-167.5 -250.5t-62 -304t62 -304t167.5 -250.5t250.5 -167.5t304 -62t304 62t250.5 167.5t167.5 250.5t62 304zM1792 640q0 -182 -71 -348t-191 -286t-286 -191t-348 -71t-348 71t-286 191t-191 286t-71 348t71 348t191 286t286 191t348 71t348 -71 +t286 -191t191 -286t71 -348z" /> + <glyph glyph-name="uniF2E0" unicode="&#xf2e0;" horiz-adv-x="1920" +d="M1334 302q-4 24 -27.5 34t-49.5 10.5t-48.5 12.5t-25.5 38q-5 47 33 139.5t75 181t32 127.5q-14 101 -117 103q-45 1 -75 -16l-3 -2l-5 -2.5t-4.5 -2t-5 -2t-5 -0.5t-6 1.5t-6 3.5t-6.5 5q-3 2 -9 8.5t-9 9t-8.5 7.5t-9.5 7.5t-9.5 5.5t-11 4.5t-11.5 2.5q-30 5 -48 -3 +t-45 -31q-1 -1 -9 -8.5t-12.5 -11t-15 -10t-16.5 -5.5t-17 3q-54 27 -84 40q-41 18 -94 -5t-76 -65q-16 -28 -41 -98.5t-43.5 -132.5t-40 -134t-21.5 -73q-22 -69 18.5 -119t110.5 -46q30 2 50.5 15t38.5 46q7 13 79 199.5t77 194.5q6 11 21.5 18t29.5 0q27 -15 21 -53 +q-2 -18 -51 -139.5t-50 -132.5q-6 -38 19.5 -56.5t60.5 -7t55 49.5q4 8 45.5 92t81.5 163.5t46 88.5q20 29 41 28q29 0 25 -38q-2 -16 -65.5 -147.5t-70.5 -159.5q-12 -53 13 -103t74 -74q17 -9 51 -15.5t71.5 -8t62.5 14t20 48.5zM383 86q3 -15 -5 -27.5t-23 -15.5 +q-14 -3 -26.5 5t-15.5 23q-3 14 5 27t22 16t27 -5t16 -23zM953 -177q12 -17 8.5 -37.5t-20.5 -32.5t-37.5 -8t-32.5 21q-11 17 -7.5 37.5t20.5 32.5t37.5 8t31.5 -21zM177 635q-18 -27 -49.5 -33t-57.5 13q-26 18 -32 50t12 58q18 27 49.5 33t57.5 -12q26 -19 32 -50.5 +t-12 -58.5zM1467 -42q19 -28 13 -61.5t-34 -52.5t-60.5 -13t-51.5 34t-13 61t33 53q28 19 60.5 13t52.5 -34zM1579 562q69 -113 42.5 -244.5t-134.5 -207.5q-90 -63 -199 -60q-20 -80 -84.5 -127t-143.5 -44.5t-140 57.5q-12 -9 -13 -10q-103 -71 -225 -48.5t-193 126.5 +q-50 73 -53 164q-83 14 -142.5 70.5t-80.5 128t-2 152t81 138.5q-36 60 -38 128t24.5 125t79.5 98.5t121 50.5q32 85 99 148t146.5 91.5t168 17t159.5 -66.5q72 21 140 17.5t128.5 -36t104.5 -80t67.5 -115t17.5 -140.5q52 -16 87 -57t45.5 -89t-5.5 -99.5t-58 -87.5z +M455 1222q14 -20 9.5 -44.5t-24.5 -38.5q-19 -14 -43.5 -9.5t-37.5 24.5q-14 20 -9.5 44.5t24.5 38.5q19 14 43.5 9.5t37.5 -24.5zM614 1503q4 -16 -5 -30.5t-26 -18.5t-31 5.5t-18 26.5q-3 17 6.5 31t25.5 18q17 4 31 -5.5t17 -26.5zM1800 555q4 -20 -6.5 -37t-30.5 -21 +q-19 -4 -36 6.5t-21 30.5t6.5 37t30.5 22q20 4 36.5 -7.5t20.5 -30.5zM1136 1448q16 -27 8.5 -58.5t-35.5 -47.5q-27 -16 -57.5 -8.5t-46.5 34.5q-16 28 -8.5 59t34.5 48t58 9t47 -36zM1882 792q4 -15 -4 -27.5t-23 -16.5q-15 -3 -27.5 5.5t-15.5 22.5q-3 15 5 28t23 16 +q14 3 26.5 -5t15.5 -23zM1691 1033q15 -22 10.5 -49t-26.5 -43q-22 -15 -49 -10t-42 27t-10 49t27 43t48.5 11t41.5 -28z" /> + <glyph glyph-name="uniF2E1" unicode="&#xf2e1;" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2E2" unicode="&#xf2e2;" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2E3" unicode="&#xf2e3;" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2E4" unicode="&#xf2e4;" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2E5" unicode="&#xf2e5;" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2E6" unicode="&#xf2e6;" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2E7" unicode="&#xf2e7;" horiz-adv-x="1792" + /> + <glyph glyph-name="_698" unicode="&#xf2e8;" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2E9" unicode="&#xf2e9;" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2EA" unicode="&#xf2ea;" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2EB" unicode="&#xf2eb;" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2EC" unicode="&#xf2ec;" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2ED" unicode="&#xf2ed;" horiz-adv-x="1792" + /> + <glyph glyph-name="uniF2EE" unicode="&#xf2ee;" horiz-adv-x="1792" + /> + <glyph glyph-name="lessequal" unicode="&#xf500;" horiz-adv-x="1792" + /> + </font> +</defs></svg> Index: base3.10/src/main/webapp/resource/font-awesome/fonts/fontawesome-webfont.ttf =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/resource/font-awesome/fonts/fontawesome-webfont.ttf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/resource/font-awesome/fonts/fontawesome-webfont.eot =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/resource/font-awesome/fonts/fontawesome-webfont.eot ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/resource/font-awesome/fonts/fontawesome-webfont.woff2 =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/resource/font-awesome/fonts/fontawesome-webfont.woff2 ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/resource/font-awesome/fonts/FontAwesome.otf =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/resource/font-awesome/fonts/FontAwesome.otf ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/resource/font-awesome/fonts/fontawesome-webfont.woff =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/resource/font-awesome/fonts/fontawesome-webfont.woff ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/resource/font-awesome/less/larger.less =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/less/larger.less (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/less/larger.less (revision 7) @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.@{fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.@{fa-css-prefix}-2x { font-size: 2em; } +.@{fa-css-prefix}-3x { font-size: 3em; } +.@{fa-css-prefix}-4x { font-size: 4em; } +.@{fa-css-prefix}-5x { font-size: 5em; } Index: base3.10/src/main/webapp/resource/font-awesome/less/stacked.less =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/less/stacked.less (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/less/stacked.less (revision 7) @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.@{fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.@{fa-css-prefix}-stack-1x { line-height: inherit; } +.@{fa-css-prefix}-stack-2x { font-size: 2em; } +.@{fa-css-prefix}-inverse { color: @fa-inverse; } Index: base3.10/src/main/webapp/resource/font-awesome/less/variables.less =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/less/variables.less (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/less/variables.less (revision 7) @@ -0,0 +1,800 @@ +// Variables +// -------------------------- + +@fa-font-path: "../fonts"; +@fa-font-size-base: 14px; +@fa-line-height-base: 1; +//@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts"; // for referencing Bootstrap CDN font files directly +@fa-css-prefix: fa; +@fa-version: "4.7.0"; +@fa-border-color: #eee; +@fa-inverse: #fff; +@fa-li-width: (30em / 14); + +@fa-var-500px: "\f26e"; +@fa-var-address-book: "\f2b9"; +@fa-var-address-book-o: "\f2ba"; +@fa-var-address-card: "\f2bb"; +@fa-var-address-card-o: "\f2bc"; +@fa-var-adjust: "\f042"; +@fa-var-adn: "\f170"; +@fa-var-align-center: "\f037"; +@fa-var-align-justify: "\f039"; +@fa-var-align-left: "\f036"; +@fa-var-align-right: "\f038"; +@fa-var-amazon: "\f270"; +@fa-var-ambulance: "\f0f9"; +@fa-var-american-sign-language-interpreting: "\f2a3"; +@fa-var-anchor: "\f13d"; +@fa-var-android: "\f17b"; +@fa-var-angellist: "\f209"; +@fa-var-angle-double-down: "\f103"; +@fa-var-angle-double-left: "\f100"; +@fa-var-angle-double-right: "\f101"; +@fa-var-angle-double-up: "\f102"; +@fa-var-angle-down: "\f107"; +@fa-var-angle-left: "\f104"; +@fa-var-angle-right: "\f105"; +@fa-var-angle-up: "\f106"; +@fa-var-apple: "\f179"; +@fa-var-archive: "\f187"; +@fa-var-area-chart: "\f1fe"; +@fa-var-arrow-circle-down: "\f0ab"; +@fa-var-arrow-circle-left: "\f0a8"; +@fa-var-arrow-circle-o-down: "\f01a"; +@fa-var-arrow-circle-o-left: "\f190"; +@fa-var-arrow-circle-o-right: "\f18e"; +@fa-var-arrow-circle-o-up: "\f01b"; +@fa-var-arrow-circle-right: "\f0a9"; +@fa-var-arrow-circle-up: "\f0aa"; +@fa-var-arrow-down: "\f063"; +@fa-var-arrow-left: "\f060"; +@fa-var-arrow-right: "\f061"; +@fa-var-arrow-up: "\f062"; +@fa-var-arrows: "\f047"; +@fa-var-arrows-alt: "\f0b2"; +@fa-var-arrows-h: "\f07e"; +@fa-var-arrows-v: "\f07d"; +@fa-var-asl-interpreting: "\f2a3"; +@fa-var-assistive-listening-systems: "\f2a2"; +@fa-var-asterisk: "\f069"; +@fa-var-at: "\f1fa"; +@fa-var-audio-description: "\f29e"; +@fa-var-automobile: "\f1b9"; +@fa-var-backward: "\f04a"; +@fa-var-balance-scale: "\f24e"; +@fa-var-ban: "\f05e"; +@fa-var-bandcamp: "\f2d5"; +@fa-var-bank: "\f19c"; +@fa-var-bar-chart: "\f080"; +@fa-var-bar-chart-o: "\f080"; +@fa-var-barcode: "\f02a"; +@fa-var-bars: "\f0c9"; +@fa-var-bath: "\f2cd"; +@fa-var-bathtub: "\f2cd"; +@fa-var-battery: "\f240"; +@fa-var-battery-0: "\f244"; +@fa-var-battery-1: "\f243"; +@fa-var-battery-2: "\f242"; +@fa-var-battery-3: "\f241"; +@fa-var-battery-4: "\f240"; +@fa-var-battery-empty: "\f244"; +@fa-var-battery-full: "\f240"; +@fa-var-battery-half: "\f242"; +@fa-var-battery-quarter: "\f243"; +@fa-var-battery-three-quarters: "\f241"; +@fa-var-bed: "\f236"; +@fa-var-beer: "\f0fc"; +@fa-var-behance: "\f1b4"; +@fa-var-behance-square: "\f1b5"; +@fa-var-bell: "\f0f3"; +@fa-var-bell-o: "\f0a2"; +@fa-var-bell-slash: "\f1f6"; +@fa-var-bell-slash-o: "\f1f7"; +@fa-var-bicycle: "\f206"; +@fa-var-binoculars: "\f1e5"; +@fa-var-birthday-cake: "\f1fd"; +@fa-var-bitbucket: "\f171"; +@fa-var-bitbucket-square: "\f172"; +@fa-var-bitcoin: "\f15a"; +@fa-var-black-tie: "\f27e"; +@fa-var-blind: "\f29d"; +@fa-var-bluetooth: "\f293"; +@fa-var-bluetooth-b: "\f294"; +@fa-var-bold: "\f032"; +@fa-var-bolt: "\f0e7"; +@fa-var-bomb: "\f1e2"; +@fa-var-book: "\f02d"; +@fa-var-bookmark: "\f02e"; +@fa-var-bookmark-o: "\f097"; +@fa-var-braille: "\f2a1"; +@fa-var-briefcase: "\f0b1"; +@fa-var-btc: "\f15a"; +@fa-var-bug: "\f188"; +@fa-var-building: "\f1ad"; +@fa-var-building-o: "\f0f7"; +@fa-var-bullhorn: "\f0a1"; +@fa-var-bullseye: "\f140"; +@fa-var-bus: "\f207"; +@fa-var-buysellads: "\f20d"; +@fa-var-cab: "\f1ba"; +@fa-var-calculator: "\f1ec"; +@fa-var-calendar: "\f073"; +@fa-var-calendar-check-o: "\f274"; +@fa-var-calendar-minus-o: "\f272"; +@fa-var-calendar-o: "\f133"; +@fa-var-calendar-plus-o: "\f271"; +@fa-var-calendar-times-o: "\f273"; +@fa-var-camera: "\f030"; +@fa-var-camera-retro: "\f083"; +@fa-var-car: "\f1b9"; +@fa-var-caret-down: "\f0d7"; +@fa-var-caret-left: "\f0d9"; +@fa-var-caret-right: "\f0da"; +@fa-var-caret-square-o-down: "\f150"; +@fa-var-caret-square-o-left: "\f191"; +@fa-var-caret-square-o-right: "\f152"; +@fa-var-caret-square-o-up: "\f151"; +@fa-var-caret-up: "\f0d8"; +@fa-var-cart-arrow-down: "\f218"; +@fa-var-cart-plus: "\f217"; +@fa-var-cc: "\f20a"; +@fa-var-cc-amex: "\f1f3"; +@fa-var-cc-diners-club: "\f24c"; +@fa-var-cc-discover: "\f1f2"; +@fa-var-cc-jcb: "\f24b"; +@fa-var-cc-mastercard: "\f1f1"; +@fa-var-cc-paypal: "\f1f4"; +@fa-var-cc-stripe: "\f1f5"; +@fa-var-cc-visa: "\f1f0"; +@fa-var-certificate: "\f0a3"; +@fa-var-chain: "\f0c1"; +@fa-var-chain-broken: "\f127"; +@fa-var-check: "\f00c"; +@fa-var-check-circle: "\f058"; +@fa-var-check-circle-o: "\f05d"; +@fa-var-check-square: "\f14a"; +@fa-var-check-square-o: "\f046"; +@fa-var-chevron-circle-down: "\f13a"; +@fa-var-chevron-circle-left: "\f137"; +@fa-var-chevron-circle-right: "\f138"; +@fa-var-chevron-circle-up: "\f139"; +@fa-var-chevron-down: "\f078"; +@fa-var-chevron-left: "\f053"; +@fa-var-chevron-right: "\f054"; +@fa-var-chevron-up: "\f077"; +@fa-var-child: "\f1ae"; +@fa-var-chrome: "\f268"; +@fa-var-circle: "\f111"; +@fa-var-circle-o: "\f10c"; +@fa-var-circle-o-notch: "\f1ce"; +@fa-var-circle-thin: "\f1db"; +@fa-var-clipboard: "\f0ea"; +@fa-var-clock-o: "\f017"; +@fa-var-clone: "\f24d"; +@fa-var-close: "\f00d"; +@fa-var-cloud: "\f0c2"; +@fa-var-cloud-download: "\f0ed"; +@fa-var-cloud-upload: "\f0ee"; +@fa-var-cny: "\f157"; +@fa-var-code: "\f121"; +@fa-var-code-fork: "\f126"; +@fa-var-codepen: "\f1cb"; +@fa-var-codiepie: "\f284"; +@fa-var-coffee: "\f0f4"; +@fa-var-cog: "\f013"; +@fa-var-cogs: "\f085"; +@fa-var-columns: "\f0db"; +@fa-var-comment: "\f075"; +@fa-var-comment-o: "\f0e5"; +@fa-var-commenting: "\f27a"; +@fa-var-commenting-o: "\f27b"; +@fa-var-comments: "\f086"; +@fa-var-comments-o: "\f0e6"; +@fa-var-compass: "\f14e"; +@fa-var-compress: "\f066"; +@fa-var-connectdevelop: "\f20e"; +@fa-var-contao: "\f26d"; +@fa-var-copy: "\f0c5"; +@fa-var-copyright: "\f1f9"; +@fa-var-creative-commons: "\f25e"; +@fa-var-credit-card: "\f09d"; +@fa-var-credit-card-alt: "\f283"; +@fa-var-crop: "\f125"; +@fa-var-crosshairs: "\f05b"; +@fa-var-css3: "\f13c"; +@fa-var-cube: "\f1b2"; +@fa-var-cubes: "\f1b3"; +@fa-var-cut: "\f0c4"; +@fa-var-cutlery: "\f0f5"; +@fa-var-dashboard: "\f0e4"; +@fa-var-dashcube: "\f210"; +@fa-var-database: "\f1c0"; +@fa-var-deaf: "\f2a4"; +@fa-var-deafness: "\f2a4"; +@fa-var-dedent: "\f03b"; +@fa-var-delicious: "\f1a5"; +@fa-var-desktop: "\f108"; +@fa-var-deviantart: "\f1bd"; +@fa-var-diamond: "\f219"; +@fa-var-digg: "\f1a6"; +@fa-var-dollar: "\f155"; +@fa-var-dot-circle-o: "\f192"; +@fa-var-download: "\f019"; +@fa-var-dribbble: "\f17d"; +@fa-var-drivers-license: "\f2c2"; +@fa-var-drivers-license-o: "\f2c3"; +@fa-var-dropbox: "\f16b"; +@fa-var-drupal: "\f1a9"; +@fa-var-edge: "\f282"; +@fa-var-edit: "\f044"; +@fa-var-eercast: "\f2da"; +@fa-var-eject: "\f052"; +@fa-var-ellipsis-h: "\f141"; +@fa-var-ellipsis-v: "\f142"; +@fa-var-empire: "\f1d1"; +@fa-var-envelope: "\f0e0"; +@fa-var-envelope-o: "\f003"; +@fa-var-envelope-open: "\f2b6"; +@fa-var-envelope-open-o: "\f2b7"; +@fa-var-envelope-square: "\f199"; +@fa-var-envira: "\f299"; +@fa-var-eraser: "\f12d"; +@fa-var-etsy: "\f2d7"; +@fa-var-eur: "\f153"; +@fa-var-euro: "\f153"; +@fa-var-exchange: "\f0ec"; +@fa-var-exclamation: "\f12a"; +@fa-var-exclamation-circle: "\f06a"; +@fa-var-exclamation-triangle: "\f071"; +@fa-var-expand: "\f065"; +@fa-var-expeditedssl: "\f23e"; +@fa-var-external-link: "\f08e"; +@fa-var-external-link-square: "\f14c"; +@fa-var-eye: "\f06e"; +@fa-var-eye-slash: "\f070"; +@fa-var-eyedropper: "\f1fb"; +@fa-var-fa: "\f2b4"; +@fa-var-facebook: "\f09a"; +@fa-var-facebook-f: "\f09a"; +@fa-var-facebook-official: "\f230"; +@fa-var-facebook-square: "\f082"; +@fa-var-fast-backward: "\f049"; +@fa-var-fast-forward: "\f050"; +@fa-var-fax: "\f1ac"; +@fa-var-feed: "\f09e"; +@fa-var-female: "\f182"; +@fa-var-fighter-jet: "\f0fb"; +@fa-var-file: "\f15b"; +@fa-var-file-archive-o: "\f1c6"; +@fa-var-file-audio-o: "\f1c7"; +@fa-var-file-code-o: "\f1c9"; +@fa-var-file-excel-o: "\f1c3"; +@fa-var-file-image-o: "\f1c5"; +@fa-var-file-movie-o: "\f1c8"; +@fa-var-file-o: "\f016"; +@fa-var-file-pdf-o: "\f1c1"; +@fa-var-file-photo-o: "\f1c5"; +@fa-var-file-picture-o: "\f1c5"; +@fa-var-file-powerpoint-o: "\f1c4"; +@fa-var-file-sound-o: "\f1c7"; +@fa-var-file-text: "\f15c"; +@fa-var-file-text-o: "\f0f6"; +@fa-var-file-video-o: "\f1c8"; +@fa-var-file-word-o: "\f1c2"; +@fa-var-file-zip-o: "\f1c6"; +@fa-var-files-o: "\f0c5"; +@fa-var-film: "\f008"; +@fa-var-filter: "\f0b0"; +@fa-var-fire: "\f06d"; +@fa-var-fire-extinguisher: "\f134"; +@fa-var-firefox: "\f269"; +@fa-var-first-order: "\f2b0"; +@fa-var-flag: "\f024"; +@fa-var-flag-checkered: "\f11e"; +@fa-var-flag-o: "\f11d"; +@fa-var-flash: "\f0e7"; +@fa-var-flask: "\f0c3"; +@fa-var-flickr: "\f16e"; +@fa-var-floppy-o: "\f0c7"; +@fa-var-folder: "\f07b"; +@fa-var-folder-o: "\f114"; +@fa-var-folder-open: "\f07c"; +@fa-var-folder-open-o: "\f115"; +@fa-var-font: "\f031"; +@fa-var-font-awesome: "\f2b4"; +@fa-var-fonticons: "\f280"; +@fa-var-fort-awesome: "\f286"; +@fa-var-forumbee: "\f211"; +@fa-var-forward: "\f04e"; +@fa-var-foursquare: "\f180"; +@fa-var-free-code-camp: "\f2c5"; +@fa-var-frown-o: "\f119"; +@fa-var-futbol-o: "\f1e3"; +@fa-var-gamepad: "\f11b"; +@fa-var-gavel: "\f0e3"; +@fa-var-gbp: "\f154"; +@fa-var-ge: "\f1d1"; +@fa-var-gear: "\f013"; +@fa-var-gears: "\f085"; +@fa-var-genderless: "\f22d"; +@fa-var-get-pocket: "\f265"; +@fa-var-gg: "\f260"; +@fa-var-gg-circle: "\f261"; +@fa-var-gift: "\f06b"; +@fa-var-git: "\f1d3"; +@fa-var-git-square: "\f1d2"; +@fa-var-github: "\f09b"; +@fa-var-github-alt: "\f113"; +@fa-var-github-square: "\f092"; +@fa-var-gitlab: "\f296"; +@fa-var-gittip: "\f184"; +@fa-var-glass: "\f000"; +@fa-var-glide: "\f2a5"; +@fa-var-glide-g: "\f2a6"; +@fa-var-globe: "\f0ac"; +@fa-var-google: "\f1a0"; +@fa-var-google-plus: "\f0d5"; +@fa-var-google-plus-circle: "\f2b3"; +@fa-var-google-plus-official: "\f2b3"; +@fa-var-google-plus-square: "\f0d4"; +@fa-var-google-wallet: "\f1ee"; +@fa-var-graduation-cap: "\f19d"; +@fa-var-gratipay: "\f184"; +@fa-var-grav: "\f2d6"; +@fa-var-group: "\f0c0"; +@fa-var-h-square: "\f0fd"; +@fa-var-hacker-news: "\f1d4"; +@fa-var-hand-grab-o: "\f255"; +@fa-var-hand-lizard-o: "\f258"; +@fa-var-hand-o-down: "\f0a7"; +@fa-var-hand-o-left: "\f0a5"; +@fa-var-hand-o-right: "\f0a4"; +@fa-var-hand-o-up: "\f0a6"; +@fa-var-hand-paper-o: "\f256"; +@fa-var-hand-peace-o: "\f25b"; +@fa-var-hand-pointer-o: "\f25a"; +@fa-var-hand-rock-o: "\f255"; +@fa-var-hand-scissors-o: "\f257"; +@fa-var-hand-spock-o: "\f259"; +@fa-var-hand-stop-o: "\f256"; +@fa-var-handshake-o: "\f2b5"; +@fa-var-hard-of-hearing: "\f2a4"; +@fa-var-hashtag: "\f292"; +@fa-var-hdd-o: "\f0a0"; +@fa-var-header: "\f1dc"; +@fa-var-headphones: "\f025"; +@fa-var-heart: "\f004"; +@fa-var-heart-o: "\f08a"; +@fa-var-heartbeat: "\f21e"; +@fa-var-history: "\f1da"; +@fa-var-home: "\f015"; +@fa-var-hospital-o: "\f0f8"; +@fa-var-hotel: "\f236"; +@fa-var-hourglass: "\f254"; +@fa-var-hourglass-1: "\f251"; +@fa-var-hourglass-2: "\f252"; +@fa-var-hourglass-3: "\f253"; +@fa-var-hourglass-end: "\f253"; +@fa-var-hourglass-half: "\f252"; +@fa-var-hourglass-o: "\f250"; +@fa-var-hourglass-start: "\f251"; +@fa-var-houzz: "\f27c"; +@fa-var-html5: "\f13b"; +@fa-var-i-cursor: "\f246"; +@fa-var-id-badge: "\f2c1"; +@fa-var-id-card: "\f2c2"; +@fa-var-id-card-o: "\f2c3"; +@fa-var-ils: "\f20b"; +@fa-var-image: "\f03e"; +@fa-var-imdb: "\f2d8"; +@fa-var-inbox: "\f01c"; +@fa-var-indent: "\f03c"; +@fa-var-industry: "\f275"; +@fa-var-info: "\f129"; +@fa-var-info-circle: "\f05a"; +@fa-var-inr: "\f156"; +@fa-var-instagram: "\f16d"; +@fa-var-institution: "\f19c"; +@fa-var-internet-explorer: "\f26b"; +@fa-var-intersex: "\f224"; +@fa-var-ioxhost: "\f208"; +@fa-var-italic: "\f033"; +@fa-var-joomla: "\f1aa"; +@fa-var-jpy: "\f157"; +@fa-var-jsfiddle: "\f1cc"; +@fa-var-key: "\f084"; +@fa-var-keyboard-o: "\f11c"; +@fa-var-krw: "\f159"; +@fa-var-language: "\f1ab"; +@fa-var-laptop: "\f109"; +@fa-var-lastfm: "\f202"; +@fa-var-lastfm-square: "\f203"; +@fa-var-leaf: "\f06c"; +@fa-var-leanpub: "\f212"; +@fa-var-legal: "\f0e3"; +@fa-var-lemon-o: "\f094"; +@fa-var-level-down: "\f149"; +@fa-var-level-up: "\f148"; +@fa-var-life-bouy: "\f1cd"; +@fa-var-life-buoy: "\f1cd"; +@fa-var-life-ring: "\f1cd"; +@fa-var-life-saver: "\f1cd"; +@fa-var-lightbulb-o: "\f0eb"; +@fa-var-line-chart: "\f201"; +@fa-var-link: "\f0c1"; +@fa-var-linkedin: "\f0e1"; +@fa-var-linkedin-square: "\f08c"; +@fa-var-linode: "\f2b8"; +@fa-var-linux: "\f17c"; +@fa-var-list: "\f03a"; +@fa-var-list-alt: "\f022"; +@fa-var-list-ol: "\f0cb"; +@fa-var-list-ul: "\f0ca"; +@fa-var-location-arrow: "\f124"; +@fa-var-lock: "\f023"; +@fa-var-long-arrow-down: "\f175"; +@fa-var-long-arrow-left: "\f177"; +@fa-var-long-arrow-right: "\f178"; +@fa-var-long-arrow-up: "\f176"; +@fa-var-low-vision: "\f2a8"; +@fa-var-magic: "\f0d0"; +@fa-var-magnet: "\f076"; +@fa-var-mail-forward: "\f064"; +@fa-var-mail-reply: "\f112"; +@fa-var-mail-reply-all: "\f122"; +@fa-var-male: "\f183"; +@fa-var-map: "\f279"; +@fa-var-map-marker: "\f041"; +@fa-var-map-o: "\f278"; +@fa-var-map-pin: "\f276"; +@fa-var-map-signs: "\f277"; +@fa-var-mars: "\f222"; +@fa-var-mars-double: "\f227"; +@fa-var-mars-stroke: "\f229"; +@fa-var-mars-stroke-h: "\f22b"; +@fa-var-mars-stroke-v: "\f22a"; +@fa-var-maxcdn: "\f136"; +@fa-var-meanpath: "\f20c"; +@fa-var-medium: "\f23a"; +@fa-var-medkit: "\f0fa"; +@fa-var-meetup: "\f2e0"; +@fa-var-meh-o: "\f11a"; +@fa-var-mercury: "\f223"; +@fa-var-microchip: "\f2db"; +@fa-var-microphone: "\f130"; +@fa-var-microphone-slash: "\f131"; +@fa-var-minus: "\f068"; +@fa-var-minus-circle: "\f056"; +@fa-var-minus-square: "\f146"; +@fa-var-minus-square-o: "\f147"; +@fa-var-mixcloud: "\f289"; +@fa-var-mobile: "\f10b"; +@fa-var-mobile-phone: "\f10b"; +@fa-var-modx: "\f285"; +@fa-var-money: "\f0d6"; +@fa-var-moon-o: "\f186"; +@fa-var-mortar-board: "\f19d"; +@fa-var-motorcycle: "\f21c"; +@fa-var-mouse-pointer: "\f245"; +@fa-var-music: "\f001"; +@fa-var-navicon: "\f0c9"; +@fa-var-neuter: "\f22c"; +@fa-var-newspaper-o: "\f1ea"; +@fa-var-object-group: "\f247"; +@fa-var-object-ungroup: "\f248"; +@fa-var-odnoklassniki: "\f263"; +@fa-var-odnoklassniki-square: "\f264"; +@fa-var-opencart: "\f23d"; +@fa-var-openid: "\f19b"; +@fa-var-opera: "\f26a"; +@fa-var-optin-monster: "\f23c"; +@fa-var-outdent: "\f03b"; +@fa-var-pagelines: "\f18c"; +@fa-var-paint-brush: "\f1fc"; +@fa-var-paper-plane: "\f1d8"; +@fa-var-paper-plane-o: "\f1d9"; +@fa-var-paperclip: "\f0c6"; +@fa-var-paragraph: "\f1dd"; +@fa-var-paste: "\f0ea"; +@fa-var-pause: "\f04c"; +@fa-var-pause-circle: "\f28b"; +@fa-var-pause-circle-o: "\f28c"; +@fa-var-paw: "\f1b0"; +@fa-var-paypal: "\f1ed"; +@fa-var-pencil: "\f040"; +@fa-var-pencil-square: "\f14b"; +@fa-var-pencil-square-o: "\f044"; +@fa-var-percent: "\f295"; +@fa-var-phone: "\f095"; +@fa-var-phone-square: "\f098"; +@fa-var-photo: "\f03e"; +@fa-var-picture-o: "\f03e"; +@fa-var-pie-chart: "\f200"; +@fa-var-pied-piper: "\f2ae"; +@fa-var-pied-piper-alt: "\f1a8"; +@fa-var-pied-piper-pp: "\f1a7"; +@fa-var-pinterest: "\f0d2"; +@fa-var-pinterest-p: "\f231"; +@fa-var-pinterest-square: "\f0d3"; +@fa-var-plane: "\f072"; +@fa-var-play: "\f04b"; +@fa-var-play-circle: "\f144"; +@fa-var-play-circle-o: "\f01d"; +@fa-var-plug: "\f1e6"; +@fa-var-plus: "\f067"; +@fa-var-plus-circle: "\f055"; +@fa-var-plus-square: "\f0fe"; +@fa-var-plus-square-o: "\f196"; +@fa-var-podcast: "\f2ce"; +@fa-var-power-off: "\f011"; +@fa-var-print: "\f02f"; +@fa-var-product-hunt: "\f288"; +@fa-var-puzzle-piece: "\f12e"; +@fa-var-qq: "\f1d6"; +@fa-var-qrcode: "\f029"; +@fa-var-question: "\f128"; +@fa-var-question-circle: "\f059"; +@fa-var-question-circle-o: "\f29c"; +@fa-var-quora: "\f2c4"; +@fa-var-quote-left: "\f10d"; +@fa-var-quote-right: "\f10e"; +@fa-var-ra: "\f1d0"; +@fa-var-random: "\f074"; +@fa-var-ravelry: "\f2d9"; +@fa-var-rebel: "\f1d0"; +@fa-var-recycle: "\f1b8"; +@fa-var-reddit: "\f1a1"; +@fa-var-reddit-alien: "\f281"; +@fa-var-reddit-square: "\f1a2"; +@fa-var-refresh: "\f021"; +@fa-var-registered: "\f25d"; +@fa-var-remove: "\f00d"; +@fa-var-renren: "\f18b"; +@fa-var-reorder: "\f0c9"; +@fa-var-repeat: "\f01e"; +@fa-var-reply: "\f112"; +@fa-var-reply-all: "\f122"; +@fa-var-resistance: "\f1d0"; +@fa-var-retweet: "\f079"; +@fa-var-rmb: "\f157"; +@fa-var-road: "\f018"; +@fa-var-rocket: "\f135"; +@fa-var-rotate-left: "\f0e2"; +@fa-var-rotate-right: "\f01e"; +@fa-var-rouble: "\f158"; +@fa-var-rss: "\f09e"; +@fa-var-rss-square: "\f143"; +@fa-var-rub: "\f158"; +@fa-var-ruble: "\f158"; +@fa-var-rupee: "\f156"; +@fa-var-s15: "\f2cd"; +@fa-var-safari: "\f267"; +@fa-var-save: "\f0c7"; +@fa-var-scissors: "\f0c4"; +@fa-var-scribd: "\f28a"; +@fa-var-search: "\f002"; +@fa-var-search-minus: "\f010"; +@fa-var-search-plus: "\f00e"; +@fa-var-sellsy: "\f213"; +@fa-var-send: "\f1d8"; +@fa-var-send-o: "\f1d9"; +@fa-var-server: "\f233"; +@fa-var-share: "\f064"; +@fa-var-share-alt: "\f1e0"; +@fa-var-share-alt-square: "\f1e1"; +@fa-var-share-square: "\f14d"; +@fa-var-share-square-o: "\f045"; +@fa-var-shekel: "\f20b"; +@fa-var-sheqel: "\f20b"; +@fa-var-shield: "\f132"; +@fa-var-ship: "\f21a"; +@fa-var-shirtsinbulk: "\f214"; +@fa-var-shopping-bag: "\f290"; +@fa-var-shopping-basket: "\f291"; +@fa-var-shopping-cart: "\f07a"; +@fa-var-shower: "\f2cc"; +@fa-var-sign-in: "\f090"; +@fa-var-sign-language: "\f2a7"; +@fa-var-sign-out: "\f08b"; +@fa-var-signal: "\f012"; +@fa-var-signing: "\f2a7"; +@fa-var-simplybuilt: "\f215"; +@fa-var-sitemap: "\f0e8"; +@fa-var-skyatlas: "\f216"; +@fa-var-skype: "\f17e"; +@fa-var-slack: "\f198"; +@fa-var-sliders: "\f1de"; +@fa-var-slideshare: "\f1e7"; +@fa-var-smile-o: "\f118"; +@fa-var-snapchat: "\f2ab"; +@fa-var-snapchat-ghost: "\f2ac"; +@fa-var-snapchat-square: "\f2ad"; +@fa-var-snowflake-o: "\f2dc"; +@fa-var-soccer-ball-o: "\f1e3"; +@fa-var-sort: "\f0dc"; +@fa-var-sort-alpha-asc: "\f15d"; +@fa-var-sort-alpha-desc: "\f15e"; +@fa-var-sort-amount-asc: "\f160"; +@fa-var-sort-amount-desc: "\f161"; +@fa-var-sort-asc: "\f0de"; +@fa-var-sort-desc: "\f0dd"; +@fa-var-sort-down: "\f0dd"; +@fa-var-sort-numeric-asc: "\f162"; +@fa-var-sort-numeric-desc: "\f163"; +@fa-var-sort-up: "\f0de"; +@fa-var-soundcloud: "\f1be"; +@fa-var-space-shuttle: "\f197"; +@fa-var-spinner: "\f110"; +@fa-var-spoon: "\f1b1"; +@fa-var-spotify: "\f1bc"; +@fa-var-square: "\f0c8"; +@fa-var-square-o: "\f096"; +@fa-var-stack-exchange: "\f18d"; +@fa-var-stack-overflow: "\f16c"; +@fa-var-star: "\f005"; +@fa-var-star-half: "\f089"; +@fa-var-star-half-empty: "\f123"; +@fa-var-star-half-full: "\f123"; +@fa-var-star-half-o: "\f123"; +@fa-var-star-o: "\f006"; +@fa-var-steam: "\f1b6"; +@fa-var-steam-square: "\f1b7"; +@fa-var-step-backward: "\f048"; +@fa-var-step-forward: "\f051"; +@fa-var-stethoscope: "\f0f1"; +@fa-var-sticky-note: "\f249"; +@fa-var-sticky-note-o: "\f24a"; +@fa-var-stop: "\f04d"; +@fa-var-stop-circle: "\f28d"; +@fa-var-stop-circle-o: "\f28e"; +@fa-var-street-view: "\f21d"; +@fa-var-strikethrough: "\f0cc"; +@fa-var-stumbleupon: "\f1a4"; +@fa-var-stumbleupon-circle: "\f1a3"; +@fa-var-subscript: "\f12c"; +@fa-var-subway: "\f239"; +@fa-var-suitcase: "\f0f2"; +@fa-var-sun-o: "\f185"; +@fa-var-superpowers: "\f2dd"; +@fa-var-superscript: "\f12b"; +@fa-var-support: "\f1cd"; +@fa-var-table: "\f0ce"; +@fa-var-tablet: "\f10a"; +@fa-var-tachometer: "\f0e4"; +@fa-var-tag: "\f02b"; +@fa-var-tags: "\f02c"; +@fa-var-tasks: "\f0ae"; +@fa-var-taxi: "\f1ba"; +@fa-var-telegram: "\f2c6"; +@fa-var-television: "\f26c"; +@fa-var-tencent-weibo: "\f1d5"; +@fa-var-terminal: "\f120"; +@fa-var-text-height: "\f034"; +@fa-var-text-width: "\f035"; +@fa-var-th: "\f00a"; +@fa-var-th-large: "\f009"; +@fa-var-th-list: "\f00b"; +@fa-var-themeisle: "\f2b2"; +@fa-var-thermometer: "\f2c7"; +@fa-var-thermometer-0: "\f2cb"; +@fa-var-thermometer-1: "\f2ca"; +@fa-var-thermometer-2: "\f2c9"; +@fa-var-thermometer-3: "\f2c8"; +@fa-var-thermometer-4: "\f2c7"; +@fa-var-thermometer-empty: "\f2cb"; +@fa-var-thermometer-full: "\f2c7"; +@fa-var-thermometer-half: "\f2c9"; +@fa-var-thermometer-quarter: "\f2ca"; +@fa-var-thermometer-three-quarters: "\f2c8"; +@fa-var-thumb-tack: "\f08d"; +@fa-var-thumbs-down: "\f165"; +@fa-var-thumbs-o-down: "\f088"; +@fa-var-thumbs-o-up: "\f087"; +@fa-var-thumbs-up: "\f164"; +@fa-var-ticket: "\f145"; +@fa-var-times: "\f00d"; +@fa-var-times-circle: "\f057"; +@fa-var-times-circle-o: "\f05c"; +@fa-var-times-rectangle: "\f2d3"; +@fa-var-times-rectangle-o: "\f2d4"; +@fa-var-tint: "\f043"; +@fa-var-toggle-down: "\f150"; +@fa-var-toggle-left: "\f191"; +@fa-var-toggle-off: "\f204"; +@fa-var-toggle-on: "\f205"; +@fa-var-toggle-right: "\f152"; +@fa-var-toggle-up: "\f151"; +@fa-var-trademark: "\f25c"; +@fa-var-train: "\f238"; +@fa-var-transgender: "\f224"; +@fa-var-transgender-alt: "\f225"; +@fa-var-trash: "\f1f8"; +@fa-var-trash-o: "\f014"; +@fa-var-tree: "\f1bb"; +@fa-var-trello: "\f181"; +@fa-var-tripadvisor: "\f262"; +@fa-var-trophy: "\f091"; +@fa-var-truck: "\f0d1"; +@fa-var-try: "\f195"; +@fa-var-tty: "\f1e4"; +@fa-var-tumblr: "\f173"; +@fa-var-tumblr-square: "\f174"; +@fa-var-turkish-lira: "\f195"; +@fa-var-tv: "\f26c"; +@fa-var-twitch: "\f1e8"; +@fa-var-twitter: "\f099"; +@fa-var-twitter-square: "\f081"; +@fa-var-umbrella: "\f0e9"; +@fa-var-underline: "\f0cd"; +@fa-var-undo: "\f0e2"; +@fa-var-universal-access: "\f29a"; +@fa-var-university: "\f19c"; +@fa-var-unlink: "\f127"; +@fa-var-unlock: "\f09c"; +@fa-var-unlock-alt: "\f13e"; +@fa-var-unsorted: "\f0dc"; +@fa-var-upload: "\f093"; +@fa-var-usb: "\f287"; +@fa-var-usd: "\f155"; +@fa-var-user: "\f007"; +@fa-var-user-circle: "\f2bd"; +@fa-var-user-circle-o: "\f2be"; +@fa-var-user-md: "\f0f0"; +@fa-var-user-o: "\f2c0"; +@fa-var-user-plus: "\f234"; +@fa-var-user-secret: "\f21b"; +@fa-var-user-times: "\f235"; +@fa-var-users: "\f0c0"; +@fa-var-vcard: "\f2bb"; +@fa-var-vcard-o: "\f2bc"; +@fa-var-venus: "\f221"; +@fa-var-venus-double: "\f226"; +@fa-var-venus-mars: "\f228"; +@fa-var-viacoin: "\f237"; +@fa-var-viadeo: "\f2a9"; +@fa-var-viadeo-square: "\f2aa"; +@fa-var-video-camera: "\f03d"; +@fa-var-vimeo: "\f27d"; +@fa-var-vimeo-square: "\f194"; +@fa-var-vine: "\f1ca"; +@fa-var-vk: "\f189"; +@fa-var-volume-control-phone: "\f2a0"; +@fa-var-volume-down: "\f027"; +@fa-var-volume-off: "\f026"; +@fa-var-volume-up: "\f028"; +@fa-var-warning: "\f071"; +@fa-var-wechat: "\f1d7"; +@fa-var-weibo: "\f18a"; +@fa-var-weixin: "\f1d7"; +@fa-var-whatsapp: "\f232"; +@fa-var-wheelchair: "\f193"; +@fa-var-wheelchair-alt: "\f29b"; +@fa-var-wifi: "\f1eb"; +@fa-var-wikipedia-w: "\f266"; +@fa-var-window-close: "\f2d3"; +@fa-var-window-close-o: "\f2d4"; +@fa-var-window-maximize: "\f2d0"; +@fa-var-window-minimize: "\f2d1"; +@fa-var-window-restore: "\f2d2"; +@fa-var-windows: "\f17a"; +@fa-var-won: "\f159"; +@fa-var-wordpress: "\f19a"; +@fa-var-wpbeginner: "\f297"; +@fa-var-wpexplorer: "\f2de"; +@fa-var-wpforms: "\f298"; +@fa-var-wrench: "\f0ad"; +@fa-var-xing: "\f168"; +@fa-var-xing-square: "\f169"; +@fa-var-y-combinator: "\f23b"; +@fa-var-y-combinator-square: "\f1d4"; +@fa-var-yahoo: "\f19e"; +@fa-var-yc: "\f23b"; +@fa-var-yc-square: "\f1d4"; +@fa-var-yelp: "\f1e9"; +@fa-var-yen: "\f157"; +@fa-var-yoast: "\f2b1"; +@fa-var-youtube: "\f167"; +@fa-var-youtube-play: "\f16a"; +@fa-var-youtube-square: "\f166"; + Index: base3.10/src/main/webapp/resource/font-awesome/less/bordered-pulled.less =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/less/bordered-pulled.less (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/less/bordered-pulled.less (revision 7) @@ -0,0 +1,25 @@ +// Bordered & Pulled +// ------------------------- + +.@{fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em @fa-border-color; + border-radius: .1em; +} + +.@{fa-css-prefix}-pull-left { float: left; } +.@{fa-css-prefix}-pull-right { float: right; } + +.@{fa-css-prefix} { + &.@{fa-css-prefix}-pull-left { margin-right: .3em; } + &.@{fa-css-prefix}-pull-right { margin-left: .3em; } +} + +/* Deprecated as of 4.4.0 */ +.pull-right { float: right; } +.pull-left { float: left; } + +.@{fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} Index: base3.10/src/main/webapp/resource/font-awesome/less/font-awesome.less =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/less/font-awesome.less (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/less/font-awesome.less (revision 7) @@ -0,0 +1,18 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@import "variables.less"; +@import "mixins.less"; +@import "path.less"; +@import "core.less"; +@import "larger.less"; +@import "fixed-width.less"; +@import "list.less"; +@import "bordered-pulled.less"; +@import "animated.less"; +@import "rotated-flipped.less"; +@import "stacked.less"; +@import "icons.less"; +@import "screen-reader.less"; Index: base3.10/src/main/webapp/resource/font-awesome/less/path.less =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/less/path.less (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/less/path.less (revision 7) @@ -0,0 +1,15 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'FontAwesome'; + src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); + src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), + url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), + url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), + url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), + url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); + // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} Index: base3.10/src/main/webapp/resource/font-awesome/less/screen-reader.less =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/less/screen-reader.less (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/less/screen-reader.less (revision 7) @@ -0,0 +1,5 @@ +// Screen Readers +// ------------------------- + +.sr-only { .sr-only(); } +.sr-only-focusable { .sr-only-focusable(); } Index: base3.10/src/main/webapp/resource/font-awesome/less/animated.less =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/less/animated.less (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/less/animated.less (revision 7) @@ -0,0 +1,34 @@ +// Animated Icons +// -------------------------- + +.@{fa-css-prefix}-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.@{fa-css-prefix}-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} Index: base3.10/src/main/webapp/resource/font-awesome/less/mixins.less =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/less/mixins.less (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/less/mixins.less (revision 7) @@ -0,0 +1,60 @@ +// Mixins +// -------------------------- + +.fa-icon() { + display: inline-block; + font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} + +.fa-icon-rotate(@degrees, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})"; + -webkit-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); + transform: rotate(@degrees); +} + +.fa-icon-flip(@horiz, @vert, @rotation) { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)"; + -webkit-transform: scale(@horiz, @vert); + -ms-transform: scale(@horiz, @vert); + transform: scale(@horiz, @vert); +} + + +// Only display content to screen readers. A la Bootstrap 4. +// +// See: http://a11yproject.com/posts/how-to-hide-content/ + +.sr-only() { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0,0,0,0); + border: 0; +} + +// Use in conjunction with .sr-only to only display content when it's focused. +// +// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 +// +// Credit: HTML5 Boilerplate + +.sr-only-focusable() { + &:active, + &:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; + } +} Index: base3.10/src/main/webapp/resource/font-awesome/less/core.less =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/less/core.less (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/less/core.less (revision 7) @@ -0,0 +1,12 @@ +// Base Class Definition +// ------------------------- + +.@{fa-css-prefix} { + display: inline-block; + font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + +} Index: base3.10/src/main/webapp/resource/font-awesome/less/list.less =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/less/list.less (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/less/list.less (revision 7) @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.@{fa-css-prefix}-ul { + padding-left: 0; + margin-left: @fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.@{fa-css-prefix}-li { + position: absolute; + left: -@fa-li-width; + width: @fa-li-width; + top: (2em / 14); + text-align: center; + &.@{fa-css-prefix}-lg { + left: (-@fa-li-width + (4em / 14)); + } +} Index: base3.10/src/main/webapp/resource/font-awesome/less/rotated-flipped.less =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/less/rotated-flipped.less (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/less/rotated-flipped.less (revision 7) @@ -0,0 +1,20 @@ +// Rotated & Flipped Icons +// ------------------------- + +.@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } +.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } +.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } + +.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } +.@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .@{fa-css-prefix}-rotate-90, +:root .@{fa-css-prefix}-rotate-180, +:root .@{fa-css-prefix}-rotate-270, +:root .@{fa-css-prefix}-flip-horizontal, +:root .@{fa-css-prefix}-flip-vertical { + filter: none; +} Index: base3.10/src/main/webapp/resource/font-awesome/less/fixed-width.less =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/less/fixed-width.less (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/less/fixed-width.less (revision 7) @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.@{fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} Index: base3.10/src/main/webapp/resource/font-awesome/less/icons.less =================================================================== --- base3.10/src/main/webapp/resource/font-awesome/less/icons.less (nonexistent) +++ base3.10/src/main/webapp/resource/font-awesome/less/icons.less (revision 7) @@ -0,0 +1,789 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +.@{fa-css-prefix}-glass:before { content: @fa-var-glass; } +.@{fa-css-prefix}-music:before { content: @fa-var-music; } +.@{fa-css-prefix}-search:before { content: @fa-var-search; } +.@{fa-css-prefix}-envelope-o:before { content: @fa-var-envelope-o; } +.@{fa-css-prefix}-heart:before { content: @fa-var-heart; } +.@{fa-css-prefix}-star:before { content: @fa-var-star; } +.@{fa-css-prefix}-star-o:before { content: @fa-var-star-o; } +.@{fa-css-prefix}-user:before { content: @fa-var-user; } +.@{fa-css-prefix}-film:before { content: @fa-var-film; } +.@{fa-css-prefix}-th-large:before { content: @fa-var-th-large; } +.@{fa-css-prefix}-th:before { content: @fa-var-th; } +.@{fa-css-prefix}-th-list:before { content: @fa-var-th-list; } +.@{fa-css-prefix}-check:before { content: @fa-var-check; } +.@{fa-css-prefix}-remove:before, +.@{fa-css-prefix}-close:before, +.@{fa-css-prefix}-times:before { content: @fa-var-times; } +.@{fa-css-prefix}-search-plus:before { content: @fa-var-search-plus; } +.@{fa-css-prefix}-search-minus:before { content: @fa-var-search-minus; } +.@{fa-css-prefix}-power-off:before { content: @fa-var-power-off; } +.@{fa-css-prefix}-signal:before { content: @fa-var-signal; } +.@{fa-css-prefix}-gear:before, +.@{fa-css-prefix}-cog:before { content: @fa-var-cog; } +.@{fa-css-prefix}-trash-o:before { content: @fa-var-trash-o; } +.@{fa-css-prefix}-home:before { content: @fa-var-home; } +.@{fa-css-prefix}-file-o:before { content: @fa-var-file-o; } +.@{fa-css-prefix}-clock-o:before { content: @fa-var-clock-o; } +.@{fa-css-prefix}-road:before { content: @fa-var-road; } +.@{fa-css-prefix}-download:before { content: @fa-var-download; } +.@{fa-css-prefix}-arrow-circle-o-down:before { content: @fa-var-arrow-circle-o-down; } +.@{fa-css-prefix}-arrow-circle-o-up:before { content: @fa-var-arrow-circle-o-up; } +.@{fa-css-prefix}-inbox:before { content: @fa-var-inbox; } +.@{fa-css-prefix}-play-circle-o:before { content: @fa-var-play-circle-o; } +.@{fa-css-prefix}-rotate-right:before, +.@{fa-css-prefix}-repeat:before { content: @fa-var-repeat; } +.@{fa-css-prefix}-refresh:before { content: @fa-var-refresh; } +.@{fa-css-prefix}-list-alt:before { content: @fa-var-list-alt; } +.@{fa-css-prefix}-lock:before { content: @fa-var-lock; } +.@{fa-css-prefix}-flag:before { content: @fa-var-flag; } +.@{fa-css-prefix}-headphones:before { content: @fa-var-headphones; } +.@{fa-css-prefix}-volume-off:before { content: @fa-var-volume-off; } +.@{fa-css-prefix}-volume-down:before { content: @fa-var-volume-down; } +.@{fa-css-prefix}-volume-up:before { content: @fa-var-volume-up; } +.@{fa-css-prefix}-qrcode:before { content: @fa-var-qrcode; } +.@{fa-css-prefix}-barcode:before { content: @fa-var-barcode; } +.@{fa-css-prefix}-tag:before { content: @fa-var-tag; } +.@{fa-css-prefix}-tags:before { content: @fa-var-tags; } +.@{fa-css-prefix}-book:before { content: @fa-var-book; } +.@{fa-css-prefix}-bookmark:before { content: @fa-var-bookmark; } +.@{fa-css-prefix}-print:before { content: @fa-var-print; } +.@{fa-css-prefix}-camera:before { content: @fa-var-camera; } +.@{fa-css-prefix}-font:before { content: @fa-var-font; } +.@{fa-css-prefix}-bold:before { content: @fa-var-bold; } +.@{fa-css-prefix}-italic:before { content: @fa-var-italic; } +.@{fa-css-prefix}-text-height:before { content: @fa-var-text-height; } +.@{fa-css-prefix}-text-width:before { content: @fa-var-text-width; } +.@{fa-css-prefix}-align-left:before { content: @fa-var-align-left; } +.@{fa-css-prefix}-align-center:before { content: @fa-var-align-center; } +.@{fa-css-prefix}-align-right:before { content: @fa-var-align-right; } +.@{fa-css-prefix}-align-justify:before { content: @fa-var-align-justify; } +.@{fa-css-prefix}-list:before { content: @fa-var-list; } +.@{fa-css-prefix}-dedent:before, +.@{fa-css-prefix}-outdent:before { content: @fa-var-outdent; } +.@{fa-css-prefix}-indent:before { content: @fa-var-indent; } +.@{fa-css-prefix}-video-camera:before { content: @fa-var-video-camera; } +.@{fa-css-prefix}-photo:before, +.@{fa-css-prefix}-image:before, +.@{fa-css-prefix}-picture-o:before { content: @fa-var-picture-o; } +.@{fa-css-prefix}-pencil:before { content: @fa-var-pencil; } +.@{fa-css-prefix}-map-marker:before { content: @fa-var-map-marker; } +.@{fa-css-prefix}-adjust:before { content: @fa-var-adjust; } +.@{fa-css-prefix}-tint:before { content: @fa-var-tint; } +.@{fa-css-prefix}-edit:before, +.@{fa-css-prefix}-pencil-square-o:before { content: @fa-var-pencil-square-o; } +.@{fa-css-prefix}-share-square-o:before { content: @fa-var-share-square-o; } +.@{fa-css-prefix}-check-square-o:before { content: @fa-var-check-square-o; } +.@{fa-css-prefix}-arrows:before { content: @fa-var-arrows; } +.@{fa-css-prefix}-step-backward:before { content: @fa-var-step-backward; } +.@{fa-css-prefix}-fast-backward:before { content: @fa-var-fast-backward; } +.@{fa-css-prefix}-backward:before { content: @fa-var-backward; } +.@{fa-css-prefix}-play:before { content: @fa-var-play; } +.@{fa-css-prefix}-pause:before { content: @fa-var-pause; } +.@{fa-css-prefix}-stop:before { content: @fa-var-stop; } +.@{fa-css-prefix}-forward:before { content: @fa-var-forward; } +.@{fa-css-prefix}-fast-forward:before { content: @fa-var-fast-forward; } +.@{fa-css-prefix}-step-forward:before { content: @fa-var-step-forward; } +.@{fa-css-prefix}-eject:before { content: @fa-var-eject; } +.@{fa-css-prefix}-chevron-left:before { content: @fa-var-chevron-left; } +.@{fa-css-prefix}-chevron-right:before { content: @fa-var-chevron-right; } +.@{fa-css-prefix}-plus-circle:before { content: @fa-var-plus-circle; } +.@{fa-css-prefix}-minus-circle:before { content: @fa-var-minus-circle; } +.@{fa-css-prefix}-times-circle:before { content: @fa-var-times-circle; } +.@{fa-css-prefix}-check-circle:before { content: @fa-var-check-circle; } +.@{fa-css-prefix}-question-circle:before { content: @fa-var-question-circle; } +.@{fa-css-prefix}-info-circle:before { content: @fa-var-info-circle; } +.@{fa-css-prefix}-crosshairs:before { content: @fa-var-crosshairs; } +.@{fa-css-prefix}-times-circle-o:before { content: @fa-var-times-circle-o; } +.@{fa-css-prefix}-check-circle-o:before { content: @fa-var-check-circle-o; } +.@{fa-css-prefix}-ban:before { content: @fa-var-ban; } +.@{fa-css-prefix}-arrow-left:before { content: @fa-var-arrow-left; } +.@{fa-css-prefix}-arrow-right:before { content: @fa-var-arrow-right; } +.@{fa-css-prefix}-arrow-up:before { content: @fa-var-arrow-up; } +.@{fa-css-prefix}-arrow-down:before { content: @fa-var-arrow-down; } +.@{fa-css-prefix}-mail-forward:before, +.@{fa-css-prefix}-share:before { content: @fa-var-share; } +.@{fa-css-prefix}-expand:before { content: @fa-var-expand; } +.@{fa-css-prefix}-compress:before { content: @fa-var-compress; } +.@{fa-css-prefix}-plus:before { content: @fa-var-plus; } +.@{fa-css-prefix}-minus:before { content: @fa-var-minus; } +.@{fa-css-prefix}-asterisk:before { content: @fa-var-asterisk; } +.@{fa-css-prefix}-exclamation-circle:before { content: @fa-var-exclamation-circle; } +.@{fa-css-prefix}-gift:before { content: @fa-var-gift; } +.@{fa-css-prefix}-leaf:before { content: @fa-var-leaf; } +.@{fa-css-prefix}-fire:before { content: @fa-var-fire; } +.@{fa-css-prefix}-eye:before { content: @fa-var-eye; } +.@{fa-css-prefix}-eye-slash:before { content: @fa-var-eye-slash; } +.@{fa-css-prefix}-warning:before, +.@{fa-css-prefix}-exclamation-triangle:before { content: @fa-var-exclamation-triangle; } +.@{fa-css-prefix}-plane:before { content: @fa-var-plane; } +.@{fa-css-prefix}-calendar:before { content: @fa-var-calendar; } +.@{fa-css-prefix}-random:before { content: @fa-var-random; } +.@{fa-css-prefix}-comment:before { content: @fa-var-comment; } +.@{fa-css-prefix}-magnet:before { content: @fa-var-magnet; } +.@{fa-css-prefix}-chevron-up:before { content: @fa-var-chevron-up; } +.@{fa-css-prefix}-chevron-down:before { content: @fa-var-chevron-down; } +.@{fa-css-prefix}-retweet:before { content: @fa-var-retweet; } +.@{fa-css-prefix}-shopping-cart:before { content: @fa-var-shopping-cart; } +.@{fa-css-prefix}-folder:before { content: @fa-var-folder; } +.@{fa-css-prefix}-folder-open:before { content: @fa-var-folder-open; } +.@{fa-css-prefix}-arrows-v:before { content: @fa-var-arrows-v; } +.@{fa-css-prefix}-arrows-h:before { content: @fa-var-arrows-h; } +.@{fa-css-prefix}-bar-chart-o:before, +.@{fa-css-prefix}-bar-chart:before { content: @fa-var-bar-chart; } +.@{fa-css-prefix}-twitter-square:before { content: @fa-var-twitter-square; } +.@{fa-css-prefix}-facebook-square:before { content: @fa-var-facebook-square; } +.@{fa-css-prefix}-camera-retro:before { content: @fa-var-camera-retro; } +.@{fa-css-prefix}-key:before { content: @fa-var-key; } +.@{fa-css-prefix}-gears:before, +.@{fa-css-prefix}-cogs:before { content: @fa-var-cogs; } +.@{fa-css-prefix}-comments:before { content: @fa-var-comments; } +.@{fa-css-prefix}-thumbs-o-up:before { content: @fa-var-thumbs-o-up; } +.@{fa-css-prefix}-thumbs-o-down:before { content: @fa-var-thumbs-o-down; } +.@{fa-css-prefix}-star-half:before { content: @fa-var-star-half; } +.@{fa-css-prefix}-heart-o:before { content: @fa-var-heart-o; } +.@{fa-css-prefix}-sign-out:before { content: @fa-var-sign-out; } +.@{fa-css-prefix}-linkedin-square:before { content: @fa-var-linkedin-square; } +.@{fa-css-prefix}-thumb-tack:before { content: @fa-var-thumb-tack; } +.@{fa-css-prefix}-external-link:before { content: @fa-var-external-link; } +.@{fa-css-prefix}-sign-in:before { content: @fa-var-sign-in; } +.@{fa-css-prefix}-trophy:before { content: @fa-var-trophy; } +.@{fa-css-prefix}-github-square:before { content: @fa-var-github-square; } +.@{fa-css-prefix}-upload:before { content: @fa-var-upload; } +.@{fa-css-prefix}-lemon-o:before { content: @fa-var-lemon-o; } +.@{fa-css-prefix}-phone:before { content: @fa-var-phone; } +.@{fa-css-prefix}-square-o:before { content: @fa-var-square-o; } +.@{fa-css-prefix}-bookmark-o:before { content: @fa-var-bookmark-o; } +.@{fa-css-prefix}-phone-square:before { content: @fa-var-phone-square; } +.@{fa-css-prefix}-twitter:before { content: @fa-var-twitter; } +.@{fa-css-prefix}-facebook-f:before, +.@{fa-css-prefix}-facebook:before { content: @fa-var-facebook; } +.@{fa-css-prefix}-github:before { content: @fa-var-github; } +.@{fa-css-prefix}-unlock:before { content: @fa-var-unlock; } +.@{fa-css-prefix}-credit-card:before { content: @fa-var-credit-card; } +.@{fa-css-prefix}-feed:before, +.@{fa-css-prefix}-rss:before { content: @fa-var-rss; } +.@{fa-css-prefix}-hdd-o:before { content: @fa-var-hdd-o; } +.@{fa-css-prefix}-bullhorn:before { content: @fa-var-bullhorn; } +.@{fa-css-prefix}-bell:before { content: @fa-var-bell; } +.@{fa-css-prefix}-certificate:before { content: @fa-var-certificate; } +.@{fa-css-prefix}-hand-o-right:before { content: @fa-var-hand-o-right; } +.@{fa-css-prefix}-hand-o-left:before { content: @fa-var-hand-o-left; } +.@{fa-css-prefix}-hand-o-up:before { content: @fa-var-hand-o-up; } +.@{fa-css-prefix}-hand-o-down:before { content: @fa-var-hand-o-down; } +.@{fa-css-prefix}-arrow-circle-left:before { content: @fa-var-arrow-circle-left; } +.@{fa-css-prefix}-arrow-circle-right:before { content: @fa-var-arrow-circle-right; } +.@{fa-css-prefix}-arrow-circle-up:before { content: @fa-var-arrow-circle-up; } +.@{fa-css-prefix}-arrow-circle-down:before { content: @fa-var-arrow-circle-down; } +.@{fa-css-prefix}-globe:before { content: @fa-var-globe; } +.@{fa-css-prefix}-wrench:before { content: @fa-var-wrench; } +.@{fa-css-prefix}-tasks:before { content: @fa-var-tasks; } +.@{fa-css-prefix}-filter:before { content: @fa-var-filter; } +.@{fa-css-prefix}-briefcase:before { content: @fa-var-briefcase; } +.@{fa-css-prefix}-arrows-alt:before { content: @fa-var-arrows-alt; } +.@{fa-css-prefix}-group:before, +.@{fa-css-prefix}-users:before { content: @fa-var-users; } +.@{fa-css-prefix}-chain:before, +.@{fa-css-prefix}-link:before { content: @fa-var-link; } +.@{fa-css-prefix}-cloud:before { content: @fa-var-cloud; } +.@{fa-css-prefix}-flask:before { content: @fa-var-flask; } +.@{fa-css-prefix}-cut:before, +.@{fa-css-prefix}-scissors:before { content: @fa-var-scissors; } +.@{fa-css-prefix}-copy:before, +.@{fa-css-prefix}-files-o:before { content: @fa-var-files-o; } +.@{fa-css-prefix}-paperclip:before { content: @fa-var-paperclip; } +.@{fa-css-prefix}-save:before, +.@{fa-css-prefix}-floppy-o:before { content: @fa-var-floppy-o; } +.@{fa-css-prefix}-square:before { content: @fa-var-square; } +.@{fa-css-prefix}-navicon:before, +.@{fa-css-prefix}-reorder:before, +.@{fa-css-prefix}-bars:before { content: @fa-var-bars; } +.@{fa-css-prefix}-list-ul:before { content: @fa-var-list-ul; } +.@{fa-css-prefix}-list-ol:before { content: @fa-var-list-ol; } +.@{fa-css-prefix}-strikethrough:before { content: @fa-var-strikethrough; } +.@{fa-css-prefix}-underline:before { content: @fa-var-underline; } +.@{fa-css-prefix}-table:before { content: @fa-var-table; } +.@{fa-css-prefix}-magic:before { content: @fa-var-magic; } +.@{fa-css-prefix}-truck:before { content: @fa-var-truck; } +.@{fa-css-prefix}-pinterest:before { content: @fa-var-pinterest; } +.@{fa-css-prefix}-pinterest-square:before { content: @fa-var-pinterest-square; } +.@{fa-css-prefix}-google-plus-square:before { content: @fa-var-google-plus-square; } +.@{fa-css-prefix}-google-plus:before { content: @fa-var-google-plus; } +.@{fa-css-prefix}-money:before { content: @fa-var-money; } +.@{fa-css-prefix}-caret-down:before { content: @fa-var-caret-down; } +.@{fa-css-prefix}-caret-up:before { content: @fa-var-caret-up; } +.@{fa-css-prefix}-caret-left:before { content: @fa-var-caret-left; } +.@{fa-css-prefix}-caret-right:before { content: @fa-var-caret-right; } +.@{fa-css-prefix}-columns:before { content: @fa-var-columns; } +.@{fa-css-prefix}-unsorted:before, +.@{fa-css-prefix}-sort:before { content: @fa-var-sort; } +.@{fa-css-prefix}-sort-down:before, +.@{fa-css-prefix}-sort-desc:before { content: @fa-var-sort-desc; } +.@{fa-css-prefix}-sort-up:before, +.@{fa-css-prefix}-sort-asc:before { content: @fa-var-sort-asc; } +.@{fa-css-prefix}-envelope:before { content: @fa-var-envelope; } +.@{fa-css-prefix}-linkedin:before { content: @fa-var-linkedin; } +.@{fa-css-prefix}-rotate-left:before, +.@{fa-css-prefix}-undo:before { content: @fa-var-undo; } +.@{fa-css-prefix}-legal:before, +.@{fa-css-prefix}-gavel:before { content: @fa-var-gavel; } +.@{fa-css-prefix}-dashboard:before, +.@{fa-css-prefix}-tachometer:before { content: @fa-var-tachometer; } +.@{fa-css-prefix}-comment-o:before { content: @fa-var-comment-o; } +.@{fa-css-prefix}-comments-o:before { content: @fa-var-comments-o; } +.@{fa-css-prefix}-flash:before, +.@{fa-css-prefix}-bolt:before { content: @fa-var-bolt; } +.@{fa-css-prefix}-sitemap:before { content: @fa-var-sitemap; } +.@{fa-css-prefix}-umbrella:before { content: @fa-var-umbrella; } +.@{fa-css-prefix}-paste:before, +.@{fa-css-prefix}-clipboard:before { content: @fa-var-clipboard; } +.@{fa-css-prefix}-lightbulb-o:before { content: @fa-var-lightbulb-o; } +.@{fa-css-prefix}-exchange:before { content: @fa-var-exchange; } +.@{fa-css-prefix}-cloud-download:before { content: @fa-var-cloud-download; } +.@{fa-css-prefix}-cloud-upload:before { content: @fa-var-cloud-upload; } +.@{fa-css-prefix}-user-md:before { content: @fa-var-user-md; } +.@{fa-css-prefix}-stethoscope:before { content: @fa-var-stethoscope; } +.@{fa-css-prefix}-suitcase:before { content: @fa-var-suitcase; } +.@{fa-css-prefix}-bell-o:before { content: @fa-var-bell-o; } +.@{fa-css-prefix}-coffee:before { content: @fa-var-coffee; } +.@{fa-css-prefix}-cutlery:before { content: @fa-var-cutlery; } +.@{fa-css-prefix}-file-text-o:before { content: @fa-var-file-text-o; } +.@{fa-css-prefix}-building-o:before { content: @fa-var-building-o; } +.@{fa-css-prefix}-hospital-o:before { content: @fa-var-hospital-o; } +.@{fa-css-prefix}-ambulance:before { content: @fa-var-ambulance; } +.@{fa-css-prefix}-medkit:before { content: @fa-var-medkit; } +.@{fa-css-prefix}-fighter-jet:before { content: @fa-var-fighter-jet; } +.@{fa-css-prefix}-beer:before { content: @fa-var-beer; } +.@{fa-css-prefix}-h-square:before { content: @fa-var-h-square; } +.@{fa-css-prefix}-plus-square:before { content: @fa-var-plus-square; } +.@{fa-css-prefix}-angle-double-left:before { content: @fa-var-angle-double-left; } +.@{fa-css-prefix}-angle-double-right:before { content: @fa-var-angle-double-right; } +.@{fa-css-prefix}-angle-double-up:before { content: @fa-var-angle-double-up; } +.@{fa-css-prefix}-angle-double-down:before { content: @fa-var-angle-double-down; } +.@{fa-css-prefix}-angle-left:before { content: @fa-var-angle-left; } +.@{fa-css-prefix}-angle-right:before { content: @fa-var-angle-right; } +.@{fa-css-prefix}-angle-up:before { content: @fa-var-angle-up; } +.@{fa-css-prefix}-angle-down:before { content: @fa-var-angle-down; } +.@{fa-css-prefix}-desktop:before { content: @fa-var-desktop; } +.@{fa-css-prefix}-laptop:before { content: @fa-var-laptop; } +.@{fa-css-prefix}-tablet:before { content: @fa-var-tablet; } +.@{fa-css-prefix}-mobile-phone:before, +.@{fa-css-prefix}-mobile:before { content: @fa-var-mobile; } +.@{fa-css-prefix}-circle-o:before { content: @fa-var-circle-o; } +.@{fa-css-prefix}-quote-left:before { content: @fa-var-quote-left; } +.@{fa-css-prefix}-quote-right:before { content: @fa-var-quote-right; } +.@{fa-css-prefix}-spinner:before { content: @fa-var-spinner; } +.@{fa-css-prefix}-circle:before { content: @fa-var-circle; } +.@{fa-css-prefix}-mail-reply:before, +.@{fa-css-prefix}-reply:before { content: @fa-var-reply; } +.@{fa-css-prefix}-github-alt:before { content: @fa-var-github-alt; } +.@{fa-css-prefix}-folder-o:before { content: @fa-var-folder-o; } +.@{fa-css-prefix}-folder-open-o:before { content: @fa-var-folder-open-o; } +.@{fa-css-prefix}-smile-o:before { content: @fa-var-smile-o; } +.@{fa-css-prefix}-frown-o:before { content: @fa-var-frown-o; } +.@{fa-css-prefix}-meh-o:before { content: @fa-var-meh-o; } +.@{fa-css-prefix}-gamepad:before { content: @fa-var-gamepad; } +.@{fa-css-prefix}-keyboard-o:before { content: @fa-var-keyboard-o; } +.@{fa-css-prefix}-flag-o:before { content: @fa-var-flag-o; } +.@{fa-css-prefix}-flag-checkered:before { content: @fa-var-flag-checkered; } +.@{fa-css-prefix}-terminal:before { content: @fa-var-terminal; } +.@{fa-css-prefix}-code:before { content: @fa-var-code; } +.@{fa-css-prefix}-mail-reply-all:before, +.@{fa-css-prefix}-reply-all:before { content: @fa-var-reply-all; } +.@{fa-css-prefix}-star-half-empty:before, +.@{fa-css-prefix}-star-half-full:before, +.@{fa-css-prefix}-star-half-o:before { content: @fa-var-star-half-o; } +.@{fa-css-prefix}-location-arrow:before { content: @fa-var-location-arrow; } +.@{fa-css-prefix}-crop:before { content: @fa-var-crop; } +.@{fa-css-prefix}-code-fork:before { content: @fa-var-code-fork; } +.@{fa-css-prefix}-unlink:before, +.@{fa-css-prefix}-chain-broken:before { content: @fa-var-chain-broken; } +.@{fa-css-prefix}-question:before { content: @fa-var-question; } +.@{fa-css-prefix}-info:before { content: @fa-var-info; } +.@{fa-css-prefix}-exclamation:before { content: @fa-var-exclamation; } +.@{fa-css-prefix}-superscript:before { content: @fa-var-superscript; } +.@{fa-css-prefix}-subscript:before { content: @fa-var-subscript; } +.@{fa-css-prefix}-eraser:before { content: @fa-var-eraser; } +.@{fa-css-prefix}-puzzle-piece:before { content: @fa-var-puzzle-piece; } +.@{fa-css-prefix}-microphone:before { content: @fa-var-microphone; } +.@{fa-css-prefix}-microphone-slash:before { content: @fa-var-microphone-slash; } +.@{fa-css-prefix}-shield:before { content: @fa-var-shield; } +.@{fa-css-prefix}-calendar-o:before { content: @fa-var-calendar-o; } +.@{fa-css-prefix}-fire-extinguisher:before { content: @fa-var-fire-extinguisher; } +.@{fa-css-prefix}-rocket:before { content: @fa-var-rocket; } +.@{fa-css-prefix}-maxcdn:before { content: @fa-var-maxcdn; } +.@{fa-css-prefix}-chevron-circle-left:before { content: @fa-var-chevron-circle-left; } +.@{fa-css-prefix}-chevron-circle-right:before { content: @fa-var-chevron-circle-right; } +.@{fa-css-prefix}-chevron-circle-up:before { content: @fa-var-chevron-circle-up; } +.@{fa-css-prefix}-chevron-circle-down:before { content: @fa-var-chevron-circle-down; } +.@{fa-css-prefix}-html5:before { content: @fa-var-html5; } +.@{fa-css-prefix}-css3:before { content: @fa-var-css3; } +.@{fa-css-prefix}-anchor:before { content: @fa-var-anchor; } +.@{fa-css-prefix}-unlock-alt:before { content: @fa-var-unlock-alt; } +.@{fa-css-prefix}-bullseye:before { content: @fa-var-bullseye; } +.@{fa-css-prefix}-ellipsis-h:before { content: @fa-var-ellipsis-h; } +.@{fa-css-prefix}-ellipsis-v:before { content: @fa-var-ellipsis-v; } +.@{fa-css-prefix}-rss-square:before { content: @fa-var-rss-square; } +.@{fa-css-prefix}-play-circle:before { content: @fa-var-play-circle; } +.@{fa-css-prefix}-ticket:before { content: @fa-var-ticket; } +.@{fa-css-prefix}-minus-square:before { content: @fa-var-minus-square; } +.@{fa-css-prefix}-minus-square-o:before { content: @fa-var-minus-square-o; } +.@{fa-css-prefix}-level-up:before { content: @fa-var-level-up; } +.@{fa-css-prefix}-level-down:before { content: @fa-var-level-down; } +.@{fa-css-prefix}-check-square:before { content: @fa-var-check-square; } +.@{fa-css-prefix}-pencil-square:before { content: @fa-var-pencil-square; } +.@{fa-css-prefix}-external-link-square:before { content: @fa-var-external-link-square; } +.@{fa-css-prefix}-share-square:before { content: @fa-var-share-square; } +.@{fa-css-prefix}-compass:before { content: @fa-var-compass; } +.@{fa-css-prefix}-toggle-down:before, +.@{fa-css-prefix}-caret-square-o-down:before { content: @fa-var-caret-square-o-down; } +.@{fa-css-prefix}-toggle-up:before, +.@{fa-css-prefix}-caret-square-o-up:before { content: @fa-var-caret-square-o-up; } +.@{fa-css-prefix}-toggle-right:before, +.@{fa-css-prefix}-caret-square-o-right:before { content: @fa-var-caret-square-o-right; } +.@{fa-css-prefix}-euro:before, +.@{fa-css-prefix}-eur:before { content: @fa-var-eur; } +.@{fa-css-prefix}-gbp:before { content: @fa-var-gbp; } +.@{fa-css-prefix}-dollar:before, +.@{fa-css-prefix}-usd:before { content: @fa-var-usd; } +.@{fa-css-prefix}-rupee:before, +.@{fa-css-prefix}-inr:before { content: @fa-var-inr; } +.@{fa-css-prefix}-cny:before, +.@{fa-css-prefix}-rmb:before, +.@{fa-css-prefix}-yen:before, +.@{fa-css-prefix}-jpy:before { content: @fa-var-jpy; } +.@{fa-css-prefix}-ruble:before, +.@{fa-css-prefix}-rouble:before, +.@{fa-css-prefix}-rub:before { content: @fa-var-rub; } +.@{fa-css-prefix}-won:before, +.@{fa-css-prefix}-krw:before { content: @fa-var-krw; } +.@{fa-css-prefix}-bitcoin:before, +.@{fa-css-prefix}-btc:before { content: @fa-var-btc; } +.@{fa-css-prefix}-file:before { content: @fa-var-file; } +.@{fa-css-prefix}-file-text:before { content: @fa-var-file-text; } +.@{fa-css-prefix}-sort-alpha-asc:before { content: @fa-var-sort-alpha-asc; } +.@{fa-css-prefix}-sort-alpha-desc:before { content: @fa-var-sort-alpha-desc; } +.@{fa-css-prefix}-sort-amount-asc:before { content: @fa-var-sort-amount-asc; } +.@{fa-css-prefix}-sort-amount-desc:before { content: @fa-var-sort-amount-desc; } +.@{fa-css-prefix}-sort-numeric-asc:before { content: @fa-var-sort-numeric-asc; } +.@{fa-css-prefix}-sort-numeric-desc:before { content: @fa-var-sort-numeric-desc; } +.@{fa-css-prefix}-thumbs-up:before { content: @fa-var-thumbs-up; } +.@{fa-css-prefix}-thumbs-down:before { content: @fa-var-thumbs-down; } +.@{fa-css-prefix}-youtube-square:before { content: @fa-var-youtube-square; } +.@{fa-css-prefix}-youtube:before { content: @fa-var-youtube; } +.@{fa-css-prefix}-xing:before { content: @fa-var-xing; } +.@{fa-css-prefix}-xing-square:before { content: @fa-var-xing-square; } +.@{fa-css-prefix}-youtube-play:before { content: @fa-var-youtube-play; } +.@{fa-css-prefix}-dropbox:before { content: @fa-var-dropbox; } +.@{fa-css-prefix}-stack-overflow:before { content: @fa-var-stack-overflow; } +.@{fa-css-prefix}-instagram:before { content: @fa-var-instagram; } +.@{fa-css-prefix}-flickr:before { content: @fa-var-flickr; } +.@{fa-css-prefix}-adn:before { content: @fa-var-adn; } +.@{fa-css-prefix}-bitbucket:before { content: @fa-var-bitbucket; } +.@{fa-css-prefix}-bitbucket-square:before { content: @fa-var-bitbucket-square; } +.@{fa-css-prefix}-tumblr:before { content: @fa-var-tumblr; } +.@{fa-css-prefix}-tumblr-square:before { content: @fa-var-tumblr-square; } +.@{fa-css-prefix}-long-arrow-down:before { content: @fa-var-long-arrow-down; } +.@{fa-css-prefix}-long-arrow-up:before { content: @fa-var-long-arrow-up; } +.@{fa-css-prefix}-long-arrow-left:before { content: @fa-var-long-arrow-left; } +.@{fa-css-prefix}-long-arrow-right:before { content: @fa-var-long-arrow-right; } +.@{fa-css-prefix}-apple:before { content: @fa-var-apple; } +.@{fa-css-prefix}-windows:before { content: @fa-var-windows; } +.@{fa-css-prefix}-android:before { content: @fa-var-android; } +.@{fa-css-prefix}-linux:before { content: @fa-var-linux; } +.@{fa-css-prefix}-dribbble:before { content: @fa-var-dribbble; } +.@{fa-css-prefix}-skype:before { content: @fa-var-skype; } +.@{fa-css-prefix}-foursquare:before { content: @fa-var-foursquare; } +.@{fa-css-prefix}-trello:before { content: @fa-var-trello; } +.@{fa-css-prefix}-female:before { content: @fa-var-female; } +.@{fa-css-prefix}-male:before { content: @fa-var-male; } +.@{fa-css-prefix}-gittip:before, +.@{fa-css-prefix}-gratipay:before { content: @fa-var-gratipay; } +.@{fa-css-prefix}-sun-o:before { content: @fa-var-sun-o; } +.@{fa-css-prefix}-moon-o:before { content: @fa-var-moon-o; } +.@{fa-css-prefix}-archive:before { content: @fa-var-archive; } +.@{fa-css-prefix}-bug:before { content: @fa-var-bug; } +.@{fa-css-prefix}-vk:before { content: @fa-var-vk; } +.@{fa-css-prefix}-weibo:before { content: @fa-var-weibo; } +.@{fa-css-prefix}-renren:before { content: @fa-var-renren; } +.@{fa-css-prefix}-pagelines:before { content: @fa-var-pagelines; } +.@{fa-css-prefix}-stack-exchange:before { content: @fa-var-stack-exchange; } +.@{fa-css-prefix}-arrow-circle-o-right:before { content: @fa-var-arrow-circle-o-right; } +.@{fa-css-prefix}-arrow-circle-o-left:before { content: @fa-var-arrow-circle-o-left; } +.@{fa-css-prefix}-toggle-left:before, +.@{fa-css-prefix}-caret-square-o-left:before { content: @fa-var-caret-square-o-left; } +.@{fa-css-prefix}-dot-circle-o:before { content: @fa-var-dot-circle-o; } +.@{fa-css-prefix}-wheelchair:before { content: @fa-var-wheelchair; } +.@{fa-css-prefix}-vimeo-square:before { content: @fa-var-vimeo-square; } +.@{fa-css-prefix}-turkish-lira:before, +.@{fa-css-prefix}-try:before { content: @fa-var-try; } +.@{fa-css-prefix}-plus-square-o:before { content: @fa-var-plus-square-o; } +.@{fa-css-prefix}-space-shuttle:before { content: @fa-var-space-shuttle; } +.@{fa-css-prefix}-slack:before { content: @fa-var-slack; } +.@{fa-css-prefix}-envelope-square:before { content: @fa-var-envelope-square; } +.@{fa-css-prefix}-wordpress:before { content: @fa-var-wordpress; } +.@{fa-css-prefix}-openid:before { content: @fa-var-openid; } +.@{fa-css-prefix}-institution:before, +.@{fa-css-prefix}-bank:before, +.@{fa-css-prefix}-university:before { content: @fa-var-university; } +.@{fa-css-prefix}-mortar-board:before, +.@{fa-css-prefix}-graduation-cap:before { content: @fa-var-graduation-cap; } +.@{fa-css-prefix}-yahoo:before { content: @fa-var-yahoo; } +.@{fa-css-prefix}-google:before { content: @fa-var-google; } +.@{fa-css-prefix}-reddit:before { content: @fa-var-reddit; } +.@{fa-css-prefix}-reddit-square:before { content: @fa-var-reddit-square; } +.@{fa-css-prefix}-stumbleupon-circle:before { content: @fa-var-stumbleupon-circle; } +.@{fa-css-prefix}-stumbleupon:before { content: @fa-var-stumbleupon; } +.@{fa-css-prefix}-delicious:before { content: @fa-var-delicious; } +.@{fa-css-prefix}-digg:before { content: @fa-var-digg; } +.@{fa-css-prefix}-pied-piper-pp:before { content: @fa-var-pied-piper-pp; } +.@{fa-css-prefix}-pied-piper-alt:before { content: @fa-var-pied-piper-alt; } +.@{fa-css-prefix}-drupal:before { content: @fa-var-drupal; } +.@{fa-css-prefix}-joomla:before { content: @fa-var-joomla; } +.@{fa-css-prefix}-language:before { content: @fa-var-language; } +.@{fa-css-prefix}-fax:before { content: @fa-var-fax; } +.@{fa-css-prefix}-building:before { content: @fa-var-building; } +.@{fa-css-prefix}-child:before { content: @fa-var-child; } +.@{fa-css-prefix}-paw:before { content: @fa-var-paw; } +.@{fa-css-prefix}-spoon:before { content: @fa-var-spoon; } +.@{fa-css-prefix}-cube:before { content: @fa-var-cube; } +.@{fa-css-prefix}-cubes:before { content: @fa-var-cubes; } +.@{fa-css-prefix}-behance:before { content: @fa-var-behance; } +.@{fa-css-prefix}-behance-square:before { content: @fa-var-behance-square; } +.@{fa-css-prefix}-steam:before { content: @fa-var-steam; } +.@{fa-css-prefix}-steam-square:before { content: @fa-var-steam-square; } +.@{fa-css-prefix}-recycle:before { content: @fa-var-recycle; } +.@{fa-css-prefix}-automobile:before, +.@{fa-css-prefix}-car:before { content: @fa-var-car; } +.@{fa-css-prefix}-cab:before, +.@{fa-css-prefix}-taxi:before { content: @fa-var-taxi; } +.@{fa-css-prefix}-tree:before { content: @fa-var-tree; } +.@{fa-css-prefix}-spotify:before { content: @fa-var-spotify; } +.@{fa-css-prefix}-deviantart:before { content: @fa-var-deviantart; } +.@{fa-css-prefix}-soundcloud:before { content: @fa-var-soundcloud; } +.@{fa-css-prefix}-database:before { content: @fa-var-database; } +.@{fa-css-prefix}-file-pdf-o:before { content: @fa-var-file-pdf-o; } +.@{fa-css-prefix}-file-word-o:before { content: @fa-var-file-word-o; } +.@{fa-css-prefix}-file-excel-o:before { content: @fa-var-file-excel-o; } +.@{fa-css-prefix}-file-powerpoint-o:before { content: @fa-var-file-powerpoint-o; } +.@{fa-css-prefix}-file-photo-o:before, +.@{fa-css-prefix}-file-picture-o:before, +.@{fa-css-prefix}-file-image-o:before { content: @fa-var-file-image-o; } +.@{fa-css-prefix}-file-zip-o:before, +.@{fa-css-prefix}-file-archive-o:before { content: @fa-var-file-archive-o; } +.@{fa-css-prefix}-file-sound-o:before, +.@{fa-css-prefix}-file-audio-o:before { content: @fa-var-file-audio-o; } +.@{fa-css-prefix}-file-movie-o:before, +.@{fa-css-prefix}-file-video-o:before { content: @fa-var-file-video-o; } +.@{fa-css-prefix}-file-code-o:before { content: @fa-var-file-code-o; } +.@{fa-css-prefix}-vine:before { content: @fa-var-vine; } +.@{fa-css-prefix}-codepen:before { content: @fa-var-codepen; } +.@{fa-css-prefix}-jsfiddle:before { content: @fa-var-jsfiddle; } +.@{fa-css-prefix}-life-bouy:before, +.@{fa-css-prefix}-life-buoy:before, +.@{fa-css-prefix}-life-saver:before, +.@{fa-css-prefix}-support:before, +.@{fa-css-prefix}-life-ring:before { content: @fa-var-life-ring; } +.@{fa-css-prefix}-circle-o-notch:before { content: @fa-var-circle-o-notch; } +.@{fa-css-prefix}-ra:before, +.@{fa-css-prefix}-resistance:before, +.@{fa-css-prefix}-rebel:before { content: @fa-var-rebel; } +.@{fa-css-prefix}-ge:before, +.@{fa-css-prefix}-empire:before { content: @fa-var-empire; } +.@{fa-css-prefix}-git-square:before { content: @fa-var-git-square; } +.@{fa-css-prefix}-git:before { content: @fa-var-git; } +.@{fa-css-prefix}-y-combinator-square:before, +.@{fa-css-prefix}-yc-square:before, +.@{fa-css-prefix}-hacker-news:before { content: @fa-var-hacker-news; } +.@{fa-css-prefix}-tencent-weibo:before { content: @fa-var-tencent-weibo; } +.@{fa-css-prefix}-qq:before { content: @fa-var-qq; } +.@{fa-css-prefix}-wechat:before, +.@{fa-css-prefix}-weixin:before { content: @fa-var-weixin; } +.@{fa-css-prefix}-send:before, +.@{fa-css-prefix}-paper-plane:before { content: @fa-var-paper-plane; } +.@{fa-css-prefix}-send-o:before, +.@{fa-css-prefix}-paper-plane-o:before { content: @fa-var-paper-plane-o; } +.@{fa-css-prefix}-history:before { content: @fa-var-history; } +.@{fa-css-prefix}-circle-thin:before { content: @fa-var-circle-thin; } +.@{fa-css-prefix}-header:before { content: @fa-var-header; } +.@{fa-css-prefix}-paragraph:before { content: @fa-var-paragraph; } +.@{fa-css-prefix}-sliders:before { content: @fa-var-sliders; } +.@{fa-css-prefix}-share-alt:before { content: @fa-var-share-alt; } +.@{fa-css-prefix}-share-alt-square:before { content: @fa-var-share-alt-square; } +.@{fa-css-prefix}-bomb:before { content: @fa-var-bomb; } +.@{fa-css-prefix}-soccer-ball-o:before, +.@{fa-css-prefix}-futbol-o:before { content: @fa-var-futbol-o; } +.@{fa-css-prefix}-tty:before { content: @fa-var-tty; } +.@{fa-css-prefix}-binoculars:before { content: @fa-var-binoculars; } +.@{fa-css-prefix}-plug:before { content: @fa-var-plug; } +.@{fa-css-prefix}-slideshare:before { content: @fa-var-slideshare; } +.@{fa-css-prefix}-twitch:before { content: @fa-var-twitch; } +.@{fa-css-prefix}-yelp:before { content: @fa-var-yelp; } +.@{fa-css-prefix}-newspaper-o:before { content: @fa-var-newspaper-o; } +.@{fa-css-prefix}-wifi:before { content: @fa-var-wifi; } +.@{fa-css-prefix}-calculator:before { content: @fa-var-calculator; } +.@{fa-css-prefix}-paypal:before { content: @fa-var-paypal; } +.@{fa-css-prefix}-google-wallet:before { content: @fa-var-google-wallet; } +.@{fa-css-prefix}-cc-visa:before { content: @fa-var-cc-visa; } +.@{fa-css-prefix}-cc-mastercard:before { content: @fa-var-cc-mastercard; } +.@{fa-css-prefix}-cc-discover:before { content: @fa-var-cc-discover; } +.@{fa-css-prefix}-cc-amex:before { content: @fa-var-cc-amex; } +.@{fa-css-prefix}-cc-paypal:before { content: @fa-var-cc-paypal; } +.@{fa-css-prefix}-cc-stripe:before { content: @fa-var-cc-stripe; } +.@{fa-css-prefix}-bell-slash:before { content: @fa-var-bell-slash; } +.@{fa-css-prefix}-bell-slash-o:before { content: @fa-var-bell-slash-o; } +.@{fa-css-prefix}-trash:before { content: @fa-var-trash; } +.@{fa-css-prefix}-copyright:before { content: @fa-var-copyright; } +.@{fa-css-prefix}-at:before { content: @fa-var-at; } +.@{fa-css-prefix}-eyedropper:before { content: @fa-var-eyedropper; } +.@{fa-css-prefix}-paint-brush:before { content: @fa-var-paint-brush; } +.@{fa-css-prefix}-birthday-cake:before { content: @fa-var-birthday-cake; } +.@{fa-css-prefix}-area-chart:before { content: @fa-var-area-chart; } +.@{fa-css-prefix}-pie-chart:before { content: @fa-var-pie-chart; } +.@{fa-css-prefix}-line-chart:before { content: @fa-var-line-chart; } +.@{fa-css-prefix}-lastfm:before { content: @fa-var-lastfm; } +.@{fa-css-prefix}-lastfm-square:before { content: @fa-var-lastfm-square; } +.@{fa-css-prefix}-toggle-off:before { content: @fa-var-toggle-off; } +.@{fa-css-prefix}-toggle-on:before { content: @fa-var-toggle-on; } +.@{fa-css-prefix}-bicycle:before { content: @fa-var-bicycle; } +.@{fa-css-prefix}-bus:before { content: @fa-var-bus; } +.@{fa-css-prefix}-ioxhost:before { content: @fa-var-ioxhost; } +.@{fa-css-prefix}-angellist:before { content: @fa-var-angellist; } +.@{fa-css-prefix}-cc:before { content: @fa-var-cc; } +.@{fa-css-prefix}-shekel:before, +.@{fa-css-prefix}-sheqel:before, +.@{fa-css-prefix}-ils:before { content: @fa-var-ils; } +.@{fa-css-prefix}-meanpath:before { content: @fa-var-meanpath; } +.@{fa-css-prefix}-buysellads:before { content: @fa-var-buysellads; } +.@{fa-css-prefix}-connectdevelop:before { content: @fa-var-connectdevelop; } +.@{fa-css-prefix}-dashcube:before { content: @fa-var-dashcube; } +.@{fa-css-prefix}-forumbee:before { content: @fa-var-forumbee; } +.@{fa-css-prefix}-leanpub:before { content: @fa-var-leanpub; } +.@{fa-css-prefix}-sellsy:before { content: @fa-var-sellsy; } +.@{fa-css-prefix}-shirtsinbulk:before { content: @fa-var-shirtsinbulk; } +.@{fa-css-prefix}-simplybuilt:before { content: @fa-var-simplybuilt; } +.@{fa-css-prefix}-skyatlas:before { content: @fa-var-skyatlas; } +.@{fa-css-prefix}-cart-plus:before { content: @fa-var-cart-plus; } +.@{fa-css-prefix}-cart-arrow-down:before { content: @fa-var-cart-arrow-down; } +.@{fa-css-prefix}-diamond:before { content: @fa-var-diamond; } +.@{fa-css-prefix}-ship:before { content: @fa-var-ship; } +.@{fa-css-prefix}-user-secret:before { content: @fa-var-user-secret; } +.@{fa-css-prefix}-motorcycle:before { content: @fa-var-motorcycle; } +.@{fa-css-prefix}-street-view:before { content: @fa-var-street-view; } +.@{fa-css-prefix}-heartbeat:before { content: @fa-var-heartbeat; } +.@{fa-css-prefix}-venus:before { content: @fa-var-venus; } +.@{fa-css-prefix}-mars:before { content: @fa-var-mars; } +.@{fa-css-prefix}-mercury:before { content: @fa-var-mercury; } +.@{fa-css-prefix}-intersex:before, +.@{fa-css-prefix}-transgender:before { content: @fa-var-transgender; } +.@{fa-css-prefix}-transgender-alt:before { content: @fa-var-transgender-alt; } +.@{fa-css-prefix}-venus-double:before { content: @fa-var-venus-double; } +.@{fa-css-prefix}-mars-double:before { content: @fa-var-mars-double; } +.@{fa-css-prefix}-venus-mars:before { content: @fa-var-venus-mars; } +.@{fa-css-prefix}-mars-stroke:before { content: @fa-var-mars-stroke; } +.@{fa-css-prefix}-mars-stroke-v:before { content: @fa-var-mars-stroke-v; } +.@{fa-css-prefix}-mars-stroke-h:before { content: @fa-var-mars-stroke-h; } +.@{fa-css-prefix}-neuter:before { content: @fa-var-neuter; } +.@{fa-css-prefix}-genderless:before { content: @fa-var-genderless; } +.@{fa-css-prefix}-facebook-official:before { content: @fa-var-facebook-official; } +.@{fa-css-prefix}-pinterest-p:before { content: @fa-var-pinterest-p; } +.@{fa-css-prefix}-whatsapp:before { content: @fa-var-whatsapp; } +.@{fa-css-prefix}-server:before { content: @fa-var-server; } +.@{fa-css-prefix}-user-plus:before { content: @fa-var-user-plus; } +.@{fa-css-prefix}-user-times:before { content: @fa-var-user-times; } +.@{fa-css-prefix}-hotel:before, +.@{fa-css-prefix}-bed:before { content: @fa-var-bed; } +.@{fa-css-prefix}-viacoin:before { content: @fa-var-viacoin; } +.@{fa-css-prefix}-train:before { content: @fa-var-train; } +.@{fa-css-prefix}-subway:before { content: @fa-var-subway; } +.@{fa-css-prefix}-medium:before { content: @fa-var-medium; } +.@{fa-css-prefix}-yc:before, +.@{fa-css-prefix}-y-combinator:before { content: @fa-var-y-combinator; } +.@{fa-css-prefix}-optin-monster:before { content: @fa-var-optin-monster; } +.@{fa-css-prefix}-opencart:before { content: @fa-var-opencart; } +.@{fa-css-prefix}-expeditedssl:before { content: @fa-var-expeditedssl; } +.@{fa-css-prefix}-battery-4:before, +.@{fa-css-prefix}-battery:before, +.@{fa-css-prefix}-battery-full:before { content: @fa-var-battery-full; } +.@{fa-css-prefix}-battery-3:before, +.@{fa-css-prefix}-battery-three-quarters:before { content: @fa-var-battery-three-quarters; } +.@{fa-css-prefix}-battery-2:before, +.@{fa-css-prefix}-battery-half:before { content: @fa-var-battery-half; } +.@{fa-css-prefix}-battery-1:before, +.@{fa-css-prefix}-battery-quarter:before { content: @fa-var-battery-quarter; } +.@{fa-css-prefix}-battery-0:before, +.@{fa-css-prefix}-battery-empty:before { content: @fa-var-battery-empty; } +.@{fa-css-prefix}-mouse-pointer:before { content: @fa-var-mouse-pointer; } +.@{fa-css-prefix}-i-cursor:before { content: @fa-var-i-cursor; } +.@{fa-css-prefix}-object-group:before { content: @fa-var-object-group; } +.@{fa-css-prefix}-object-ungroup:before { content: @fa-var-object-ungroup; } +.@{fa-css-prefix}-sticky-note:before { content: @fa-var-sticky-note; } +.@{fa-css-prefix}-sticky-note-o:before { content: @fa-var-sticky-note-o; } +.@{fa-css-prefix}-cc-jcb:before { content: @fa-var-cc-jcb; } +.@{fa-css-prefix}-cc-diners-club:before { content: @fa-var-cc-diners-club; } +.@{fa-css-prefix}-clone:before { content: @fa-var-clone; } +.@{fa-css-prefix}-balance-scale:before { content: @fa-var-balance-scale; } +.@{fa-css-prefix}-hourglass-o:before { content: @fa-var-hourglass-o; } +.@{fa-css-prefix}-hourglass-1:before, +.@{fa-css-prefix}-hourglass-start:before { content: @fa-var-hourglass-start; } +.@{fa-css-prefix}-hourglass-2:before, +.@{fa-css-prefix}-hourglass-half:before { content: @fa-var-hourglass-half; } +.@{fa-css-prefix}-hourglass-3:before, +.@{fa-css-prefix}-hourglass-end:before { content: @fa-var-hourglass-end; } +.@{fa-css-prefix}-hourglass:before { content: @fa-var-hourglass; } +.@{fa-css-prefix}-hand-grab-o:before, +.@{fa-css-prefix}-hand-rock-o:before { content: @fa-var-hand-rock-o; } +.@{fa-css-prefix}-hand-stop-o:before, +.@{fa-css-prefix}-hand-paper-o:before { content: @fa-var-hand-paper-o; } +.@{fa-css-prefix}-hand-scissors-o:before { content: @fa-var-hand-scissors-o; } +.@{fa-css-prefix}-hand-lizard-o:before { content: @fa-var-hand-lizard-o; } +.@{fa-css-prefix}-hand-spock-o:before { content: @fa-var-hand-spock-o; } +.@{fa-css-prefix}-hand-pointer-o:before { content: @fa-var-hand-pointer-o; } +.@{fa-css-prefix}-hand-peace-o:before { content: @fa-var-hand-peace-o; } +.@{fa-css-prefix}-trademark:before { content: @fa-var-trademark; } +.@{fa-css-prefix}-registered:before { content: @fa-var-registered; } +.@{fa-css-prefix}-creative-commons:before { content: @fa-var-creative-commons; } +.@{fa-css-prefix}-gg:before { content: @fa-var-gg; } +.@{fa-css-prefix}-gg-circle:before { content: @fa-var-gg-circle; } +.@{fa-css-prefix}-tripadvisor:before { content: @fa-var-tripadvisor; } +.@{fa-css-prefix}-odnoklassniki:before { content: @fa-var-odnoklassniki; } +.@{fa-css-prefix}-odnoklassniki-square:before { content: @fa-var-odnoklassniki-square; } +.@{fa-css-prefix}-get-pocket:before { content: @fa-var-get-pocket; } +.@{fa-css-prefix}-wikipedia-w:before { content: @fa-var-wikipedia-w; } +.@{fa-css-prefix}-safari:before { content: @fa-var-safari; } +.@{fa-css-prefix}-chrome:before { content: @fa-var-chrome; } +.@{fa-css-prefix}-firefox:before { content: @fa-var-firefox; } +.@{fa-css-prefix}-opera:before { content: @fa-var-opera; } +.@{fa-css-prefix}-internet-explorer:before { content: @fa-var-internet-explorer; } +.@{fa-css-prefix}-tv:before, +.@{fa-css-prefix}-television:before { content: @fa-var-television; } +.@{fa-css-prefix}-contao:before { content: @fa-var-contao; } +.@{fa-css-prefix}-500px:before { content: @fa-var-500px; } +.@{fa-css-prefix}-amazon:before { content: @fa-var-amazon; } +.@{fa-css-prefix}-calendar-plus-o:before { content: @fa-var-calendar-plus-o; } +.@{fa-css-prefix}-calendar-minus-o:before { content: @fa-var-calendar-minus-o; } +.@{fa-css-prefix}-calendar-times-o:before { content: @fa-var-calendar-times-o; } +.@{fa-css-prefix}-calendar-check-o:before { content: @fa-var-calendar-check-o; } +.@{fa-css-prefix}-industry:before { content: @fa-var-industry; } +.@{fa-css-prefix}-map-pin:before { content: @fa-var-map-pin; } +.@{fa-css-prefix}-map-signs:before { content: @fa-var-map-signs; } +.@{fa-css-prefix}-map-o:before { content: @fa-var-map-o; } +.@{fa-css-prefix}-map:before { content: @fa-var-map; } +.@{fa-css-prefix}-commenting:before { content: @fa-var-commenting; } +.@{fa-css-prefix}-commenting-o:before { content: @fa-var-commenting-o; } +.@{fa-css-prefix}-houzz:before { content: @fa-var-houzz; } +.@{fa-css-prefix}-vimeo:before { content: @fa-var-vimeo; } +.@{fa-css-prefix}-black-tie:before { content: @fa-var-black-tie; } +.@{fa-css-prefix}-fonticons:before { content: @fa-var-fonticons; } +.@{fa-css-prefix}-reddit-alien:before { content: @fa-var-reddit-alien; } +.@{fa-css-prefix}-edge:before { content: @fa-var-edge; } +.@{fa-css-prefix}-credit-card-alt:before { content: @fa-var-credit-card-alt; } +.@{fa-css-prefix}-codiepie:before { content: @fa-var-codiepie; } +.@{fa-css-prefix}-modx:before { content: @fa-var-modx; } +.@{fa-css-prefix}-fort-awesome:before { content: @fa-var-fort-awesome; } +.@{fa-css-prefix}-usb:before { content: @fa-var-usb; } +.@{fa-css-prefix}-product-hunt:before { content: @fa-var-product-hunt; } +.@{fa-css-prefix}-mixcloud:before { content: @fa-var-mixcloud; } +.@{fa-css-prefix}-scribd:before { content: @fa-var-scribd; } +.@{fa-css-prefix}-pause-circle:before { content: @fa-var-pause-circle; } +.@{fa-css-prefix}-pause-circle-o:before { content: @fa-var-pause-circle-o; } +.@{fa-css-prefix}-stop-circle:before { content: @fa-var-stop-circle; } +.@{fa-css-prefix}-stop-circle-o:before { content: @fa-var-stop-circle-o; } +.@{fa-css-prefix}-shopping-bag:before { content: @fa-var-shopping-bag; } +.@{fa-css-prefix}-shopping-basket:before { content: @fa-var-shopping-basket; } +.@{fa-css-prefix}-hashtag:before { content: @fa-var-hashtag; } +.@{fa-css-prefix}-bluetooth:before { content: @fa-var-bluetooth; } +.@{fa-css-prefix}-bluetooth-b:before { content: @fa-var-bluetooth-b; } +.@{fa-css-prefix}-percent:before { content: @fa-var-percent; } +.@{fa-css-prefix}-gitlab:before { content: @fa-var-gitlab; } +.@{fa-css-prefix}-wpbeginner:before { content: @fa-var-wpbeginner; } +.@{fa-css-prefix}-wpforms:before { content: @fa-var-wpforms; } +.@{fa-css-prefix}-envira:before { content: @fa-var-envira; } +.@{fa-css-prefix}-universal-access:before { content: @fa-var-universal-access; } +.@{fa-css-prefix}-wheelchair-alt:before { content: @fa-var-wheelchair-alt; } +.@{fa-css-prefix}-question-circle-o:before { content: @fa-var-question-circle-o; } +.@{fa-css-prefix}-blind:before { content: @fa-var-blind; } +.@{fa-css-prefix}-audio-description:before { content: @fa-var-audio-description; } +.@{fa-css-prefix}-volume-control-phone:before { content: @fa-var-volume-control-phone; } +.@{fa-css-prefix}-braille:before { content: @fa-var-braille; } +.@{fa-css-prefix}-assistive-listening-systems:before { content: @fa-var-assistive-listening-systems; } +.@{fa-css-prefix}-asl-interpreting:before, +.@{fa-css-prefix}-american-sign-language-interpreting:before { content: @fa-var-american-sign-language-interpreting; } +.@{fa-css-prefix}-deafness:before, +.@{fa-css-prefix}-hard-of-hearing:before, +.@{fa-css-prefix}-deaf:before { content: @fa-var-deaf; } +.@{fa-css-prefix}-glide:before { content: @fa-var-glide; } +.@{fa-css-prefix}-glide-g:before { content: @fa-var-glide-g; } +.@{fa-css-prefix}-signing:before, +.@{fa-css-prefix}-sign-language:before { content: @fa-var-sign-language; } +.@{fa-css-prefix}-low-vision:before { content: @fa-var-low-vision; } +.@{fa-css-prefix}-viadeo:before { content: @fa-var-viadeo; } +.@{fa-css-prefix}-viadeo-square:before { content: @fa-var-viadeo-square; } +.@{fa-css-prefix}-snapchat:before { content: @fa-var-snapchat; } +.@{fa-css-prefix}-snapchat-ghost:before { content: @fa-var-snapchat-ghost; } +.@{fa-css-prefix}-snapchat-square:before { content: @fa-var-snapchat-square; } +.@{fa-css-prefix}-pied-piper:before { content: @fa-var-pied-piper; } +.@{fa-css-prefix}-first-order:before { content: @fa-var-first-order; } +.@{fa-css-prefix}-yoast:before { content: @fa-var-yoast; } +.@{fa-css-prefix}-themeisle:before { content: @fa-var-themeisle; } +.@{fa-css-prefix}-google-plus-circle:before, +.@{fa-css-prefix}-google-plus-official:before { content: @fa-var-google-plus-official; } +.@{fa-css-prefix}-fa:before, +.@{fa-css-prefix}-font-awesome:before { content: @fa-var-font-awesome; } +.@{fa-css-prefix}-handshake-o:before { content: @fa-var-handshake-o; } +.@{fa-css-prefix}-envelope-open:before { content: @fa-var-envelope-open; } +.@{fa-css-prefix}-envelope-open-o:before { content: @fa-var-envelope-open-o; } +.@{fa-css-prefix}-linode:before { content: @fa-var-linode; } +.@{fa-css-prefix}-address-book:before { content: @fa-var-address-book; } +.@{fa-css-prefix}-address-book-o:before { content: @fa-var-address-book-o; } +.@{fa-css-prefix}-vcard:before, +.@{fa-css-prefix}-address-card:before { content: @fa-var-address-card; } +.@{fa-css-prefix}-vcard-o:before, +.@{fa-css-prefix}-address-card-o:before { content: @fa-var-address-card-o; } +.@{fa-css-prefix}-user-circle:before { content: @fa-var-user-circle; } +.@{fa-css-prefix}-user-circle-o:before { content: @fa-var-user-circle-o; } +.@{fa-css-prefix}-user-o:before { content: @fa-var-user-o; } +.@{fa-css-prefix}-id-badge:before { content: @fa-var-id-badge; } +.@{fa-css-prefix}-drivers-license:before, +.@{fa-css-prefix}-id-card:before { content: @fa-var-id-card; } +.@{fa-css-prefix}-drivers-license-o:before, +.@{fa-css-prefix}-id-card-o:before { content: @fa-var-id-card-o; } +.@{fa-css-prefix}-quora:before { content: @fa-var-quora; } +.@{fa-css-prefix}-free-code-camp:before { content: @fa-var-free-code-camp; } +.@{fa-css-prefix}-telegram:before { content: @fa-var-telegram; } +.@{fa-css-prefix}-thermometer-4:before, +.@{fa-css-prefix}-thermometer:before, +.@{fa-css-prefix}-thermometer-full:before { content: @fa-var-thermometer-full; } +.@{fa-css-prefix}-thermometer-3:before, +.@{fa-css-prefix}-thermometer-three-quarters:before { content: @fa-var-thermometer-three-quarters; } +.@{fa-css-prefix}-thermometer-2:before, +.@{fa-css-prefix}-thermometer-half:before { content: @fa-var-thermometer-half; } +.@{fa-css-prefix}-thermometer-1:before, +.@{fa-css-prefix}-thermometer-quarter:before { content: @fa-var-thermometer-quarter; } +.@{fa-css-prefix}-thermometer-0:before, +.@{fa-css-prefix}-thermometer-empty:before { content: @fa-var-thermometer-empty; } +.@{fa-css-prefix}-shower:before { content: @fa-var-shower; } +.@{fa-css-prefix}-bathtub:before, +.@{fa-css-prefix}-s15:before, +.@{fa-css-prefix}-bath:before { content: @fa-var-bath; } +.@{fa-css-prefix}-podcast:before { content: @fa-var-podcast; } +.@{fa-css-prefix}-window-maximize:before { content: @fa-var-window-maximize; } +.@{fa-css-prefix}-window-minimize:before { content: @fa-var-window-minimize; } +.@{fa-css-prefix}-window-restore:before { content: @fa-var-window-restore; } +.@{fa-css-prefix}-times-rectangle:before, +.@{fa-css-prefix}-window-close:before { content: @fa-var-window-close; } +.@{fa-css-prefix}-times-rectangle-o:before, +.@{fa-css-prefix}-window-close-o:before { content: @fa-var-window-close-o; } +.@{fa-css-prefix}-bandcamp:before { content: @fa-var-bandcamp; } +.@{fa-css-prefix}-grav:before { content: @fa-var-grav; } +.@{fa-css-prefix}-etsy:before { content: @fa-var-etsy; } +.@{fa-css-prefix}-imdb:before { content: @fa-var-imdb; } +.@{fa-css-prefix}-ravelry:before { content: @fa-var-ravelry; } +.@{fa-css-prefix}-eercast:before { content: @fa-var-eercast; } +.@{fa-css-prefix}-microchip:before { content: @fa-var-microchip; } +.@{fa-css-prefix}-snowflake-o:before { content: @fa-var-snowflake-o; } +.@{fa-css-prefix}-superpowers:before { content: @fa-var-superpowers; } +.@{fa-css-prefix}-wpexplorer:before { content: @fa-var-wpexplorer; } +.@{fa-css-prefix}-meetup:before { content: @fa-var-meetup; } Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.min.js =================================================================== --- base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.min.js (revision 7) @@ -0,0 +1,13 @@ +/*! jQuery UI - v1.12.1 - 2017-09-10 +* http://jqueryui.com +* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/draggable.js, widgets/droppable.js, widgets/resizable.js, widgets/selectable.js, widgets/sortable.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/selectmenu.js, widgets/slider.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){function e(t){for(var e=t.css("visibility");"inherit"===e;)t=t.parent(),e=t.css("visibility");return"hidden"!==e}function i(t){for(var e,i;t.length&&t[0]!==document;){if(e=t.css("position"),("absolute"===e||"relative"===e||"fixed"===e)&&(i=parseInt(t.css("zIndex"),10),!isNaN(i)&&0!==i))return i;t=t.parent()}return 0}function s(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.regional.en=t.extend(!0,{},this.regional[""]),this.regional["en-US"]=t.extend(!0,{},this.regional.en),this.dpDiv=n(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function n(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.on("mouseout",i,function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).on("mouseover",i,o)}function o(){t.datepicker._isDisabledDatepicker(p.inline?p.dpDiv.parent()[0]:p.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))}function a(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}function r(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.ui=t.ui||{},t.ui.version="1.12.1";var h=0,l=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},h=e.split(".")[0];e=e.split(".")[1];var l=h+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][l.toLowerCase()]=function(e){return!!t.data(e,l)},t[h]=t[h]||{},n=t[h][e],o=t[h][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:h,widgetName:e,widgetFullName:l}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var i,s,n=l.call(arguments,1),o=0,a=n.length;a>o;o++)for(i in n[o])s=n[o][i],n[o].hasOwnProperty(i)&&void 0!==s&&(e[i]=t.isPlainObject(s)?t.isPlainObject(e[i])?t.widget.extend({},e[i],s):t.widget.extend({},s):s);return e},t.widget.bridge=function(e,i){var s=i.prototype.widgetFullName||e;t.fn[e]=function(n){var o="string"==typeof n,a=l.call(arguments,1),r=this;return o?this.length||"instance"!==n?this.each(function(){var i,o=t.data(this,s);return"instance"===n?(r=o,!1):o?t.isFunction(o[n])&&"_"!==n.charAt(0)?(i=o[n].apply(o,a),i!==o&&void 0!==i?(r=i&&i.jquery?r.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+n+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+n+"'")}):r=void 0:(a.length&&(n=t.widget.extend.apply(null,[n].concat(a))),this.each(function(){var e=t.data(this,s);e?(e.option(n||{}),e._init&&e._init()):t.data(this,s,new i(n,this))})),r}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(e,i){i=t(i||this.defaultElement||this)[0],this.element=t(i),this.uuid=h++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},i!==this&&(t.data(i,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===i&&this.destroy()}}),this.document=t(i.style?i.ownerDocument:i.document||i),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var h=s.match(/^([\w:-]*)\s*(.*)$/),l=h[1]+o.eventNamespace,c=h[2];c?n.on(l,c,r):i.on(l,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,function(){function e(t,e,i){return[parseFloat(t[0])*(u.test(t[0])?e/100:1),parseFloat(t[1])*(u.test(t[1])?i/100:1)]}function i(e,i){return parseInt(t.css(e,i),10)||0}function s(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}var n,o=Math.max,a=Math.abs,r=/left|center|right/,h=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,c=/^\w+/,u=/%$/,d=t.fn.position;t.position={scrollbarWidth:function(){if(void 0!==n)return n;var e,i,s=t("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),o=s.children()[0];return t("body").append(s),e=o.offsetWidth,s.css("overflow","scroll"),i=o.offsetWidth,e===i&&(i=s[0].clientWidth),s.remove(),n=e-i},getScrollInfo:function(e){var i=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),s=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]),n=!!i[0]&&9===i[0].nodeType,o=!s&&!n;return{element:i,isWindow:s,isDocument:n,offset:o?t(e).offset():{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:i.outerWidth(),height:i.outerHeight()}}},t.fn.position=function(n){if(!n||!n.of)return d.apply(this,arguments);n=t.extend({},n);var u,p,f,g,m,_,v=t(n.of),b=t.position.getWithinInfo(n.within),y=t.position.getScrollInfo(b),w=(n.collision||"flip").split(" "),k={};return _=s(v),v[0].preventDefault&&(n.at="left top"),p=_.width,f=_.height,g=_.offset,m=t.extend({},g),t.each(["my","at"],function(){var t,e,i=(n[this]||"").split(" ");1===i.length&&(i=r.test(i[0])?i.concat(["center"]):h.test(i[0])?["center"].concat(i):["center","center"]),i[0]=r.test(i[0])?i[0]:"center",i[1]=h.test(i[1])?i[1]:"center",t=l.exec(i[0]),e=l.exec(i[1]),k[this]=[t?t[0]:0,e?e[0]:0],n[this]=[c.exec(i[0])[0],c.exec(i[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===n.at[0]?m.left+=p:"center"===n.at[0]&&(m.left+=p/2),"bottom"===n.at[1]?m.top+=f:"center"===n.at[1]&&(m.top+=f/2),u=e(k.at,p,f),m.left+=u[0],m.top+=u[1],this.each(function(){var s,r,h=t(this),l=h.outerWidth(),c=h.outerHeight(),d=i(this,"marginLeft"),_=i(this,"marginTop"),x=l+d+i(this,"marginRight")+y.width,C=c+_+i(this,"marginBottom")+y.height,D=t.extend({},m),I=e(k.my,h.outerWidth(),h.outerHeight());"right"===n.my[0]?D.left-=l:"center"===n.my[0]&&(D.left-=l/2),"bottom"===n.my[1]?D.top-=c:"center"===n.my[1]&&(D.top-=c/2),D.left+=I[0],D.top+=I[1],s={marginLeft:d,marginTop:_},t.each(["left","top"],function(e,i){t.ui.position[w[e]]&&t.ui.position[w[e]][i](D,{targetWidth:p,targetHeight:f,elemWidth:l,elemHeight:c,collisionPosition:s,collisionWidth:x,collisionHeight:C,offset:[u[0]+I[0],u[1]+I[1]],my:n.my,at:n.at,within:b,elem:h})}),n.using&&(r=function(t){var e=g.left-D.left,i=e+p-l,s=g.top-D.top,r=s+f-c,u={target:{element:v,left:g.left,top:g.top,width:p,height:f},element:{element:h,left:D.left,top:D.top,width:l,height:c},horizontal:0>i?"left":e>0?"right":"center",vertical:0>r?"top":s>0?"bottom":"middle"};l>p&&p>a(e+i)&&(u.horizontal="center"),c>f&&f>a(s+r)&&(u.vertical="middle"),u.important=o(a(e),a(i))>o(a(s),a(r))?"horizontal":"vertical",n.using.call(this,t,u)}),h.offset(t.extend(D,{using:r}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,a=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-a-n;e.collisionWidth>a?h>0&&0>=l?(i=t.left+h+e.collisionWidth-a-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+a-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=o(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,a=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-a-n;e.collisionHeight>a?h>0&&0>=l?(i=t.top+h+e.collisionHeight-a-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+a-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=o(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,r=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-r-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-r-o,(0>i||a(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>a(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,r=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-r-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-r-o,(0>s||a(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-h,(i>0||u>a(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}}}(),t.ui.position,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.ui.focusable=function(i,s){var n,o,a,r,h,l=i.nodeName.toLowerCase();return"area"===l?(n=i.parentNode,o=n.name,i.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap='#"+o+"']"),a.length>0&&a.is(":visible")):!1):(/^(input|select|textarea|button|object)$/.test(l)?(r=!i.disabled,r&&(h=t(i).closest("fieldset")[0],h&&(r=!h.disabled))):r="a"===l?i.href||s:s,r&&t(i).is(":visible")&&e(t(i)))},t.extend(t.expr[":"],{focusable:function(e){return t.ui.focusable(e,null!=t.attr(e,"tabindex"))}}),t.ui.focusable,t.fn.form=function(){return"string"==typeof this[0].form?this.closest("form"):t(this[0].form)},t.ui.formResetMixin={_formResetHandler:function(){var e=t(this);setTimeout(function(){var i=e.data("ui-form-reset-instances");t.each(i,function(){this.refresh()})})},_bindFormResetHandler:function(){if(this.form=this.element.form(),this.form.length){var t=this.form.data("ui-form-reset-instances")||[];t.length||this.form.on("reset.ui-form-reset",this._formResetHandler),t.push(this),this.form.data("ui-form-reset-instances",t)}},_unbindFormResetHandler:function(){if(this.form.length){var e=this.form.data("ui-form-reset-instances");e.splice(t.inArray(this,e),1),e.length?this.form.data("ui-form-reset-instances",e):this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset")}}},"1.7"===t.fn.jquery.substring(0,3)&&(t.each(["Width","Height"],function(e,i){function s(e,i,s,o){return t.each(n,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),o&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var n="Width"===i?["Left","Right"]:["Top","Bottom"],o=i.toLowerCase(),a={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+i]=function(e){return void 0===e?a["inner"+i].call(this):this.each(function(){t(this).css(o,s(this,e)+"px")})},t.fn["outer"+i]=function(e,n){return"number"!=typeof e?a["outer"+i].call(this,e):this.each(function(){t(this).css(o,s(this,e,!0,n)+"px")})}}),t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.ui.keyCode={BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38},t.ui.escapeSelector=function(){var t=/([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g;return function(e){return e.replace(t,"\\$1")}}(),t.fn.labels=function(){var e,i,s,n,o;return this[0].labels&&this[0].labels.length?this.pushStack(this[0].labels):(n=this.eq(0).parents("label"),s=this.attr("id"),s&&(e=this.eq(0).parents().last(),o=e.add(e.length?e.siblings():this.siblings()),i="label[for='"+t.ui.escapeSelector(s)+"']",n=n.add(o.find(i).addBack(i))),this.pushStack(n))},t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.extend(t.expr[":"],{tabbable:function(e){var i=t.attr(e,"tabindex"),s=null!=i;return(!s||i>=0)&&t.ui.focusable(e,s)}}),t.fn.extend({uniqueId:function(){var t=0;return function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++t)})}}(),removeUniqueId:function(){return this.each(function(){/^ui-id-\d+$/.test(this.id)&&t(this).removeAttr("id")})}}),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var c=!1;t(document).on("mouseup",function(){c=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!c){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,s=1===e.which,n="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return s&&!n&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),c=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,c=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.ui.safeBlur=function(e){e&&"body"!==e.nodeName.toLowerCase()&&t(e).trigger("blur")},t.widget("ui.draggable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(this._blurActiveElement(e),this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map(function(){var e=t(this);return t("<div>").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]),s=t(e.target);s.closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===t(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper),n=s?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options,o=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0) +},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,s,n,o,a=this.options,r=this._isRootNode(this.scrollParent[0]),h=t.pageX,l=t.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(h=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(l=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(h=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(l=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((l-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,l=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((h-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,h=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o),"y"===a.axis&&(h=this.originalPageX),"x"===a.axis&&(l=this.originalPageY)),{top:l-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:h-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,s){var n=t.extend({},i,{item:s.element});s.sortables=[],t(s.options.connectToSortable).each(function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,n))})},stop:function(e,i,s){var n=t.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,t.each(s.sortables,function(){var t=this;t.isOver?(t.isOver=0,s.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,n))})},drag:function(e,i,s){t.each(s.sortables,function(){var n=!1,o=this;o.positionAbs=s.positionAbs,o.helperProportions=s.helperProportions,o.offset.click=s.offset.click,o._intersectsWith(o.containerCache)&&(n=!0,t.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(n=!1),n})),n?(o.isOver||(o.isOver=1,s._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=s.offset.click.top,o.offset.click.left=s.offset.click.left,o.offset.parent.left-=s.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=s.offset.parent.top-o.offset.parent.top,s._trigger("toSortable",e),s.dropped=o.element,t.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,o.fromOutside=s),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(e),i.position=s._generatePosition(e,!0),s._trigger("fromSortable",e),s.dropped=!1,t.each(s.sortables,function(){this.refreshPositions()}))})}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,s){var n=t("body"),o=s.options;n.css("cursor")&&(o._cursor=n.css("cursor")),n.css("cursor",o.cursor)},stop:function(e,i,s){var n=s.options;n._cursor&&t("body").css("cursor",n._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("opacity")&&(o._opacity=n.css("opacity")),n.css("opacity",o.opacity)},stop:function(e,i,s){var n=s.options;n._opacity&&t(i.helper).css("opacity",n._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,s){var n=s.options,o=!1,a=s.scrollParentNotHidden[0],r=s.document[0];a!==r&&"HTML"!==a.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+a.offsetHeight-e.pageY<n.scrollSensitivity?a.scrollTop=o=a.scrollTop+n.scrollSpeed:e.pageY-s.overflowOffset.top<n.scrollSensitivity&&(a.scrollTop=o=a.scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+a.offsetWidth-e.pageX<n.scrollSensitivity?a.scrollLeft=o=a.scrollLeft+n.scrollSpeed:e.pageX-s.overflowOffset.left<n.scrollSensitivity&&(a.scrollLeft=o=a.scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(e.pageY-t(r).scrollTop()<n.scrollSensitivity?o=t(r).scrollTop(t(r).scrollTop()-n.scrollSpeed):t(window).height()-(e.pageY-t(r).scrollTop())<n.scrollSensitivity&&(o=t(r).scrollTop(t(r).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(e.pageX-t(r).scrollLeft()<n.scrollSensitivity?o=t(r).scrollLeft(t(r).scrollLeft()-n.scrollSpeed):t(window).width()-(e.pageX-t(r).scrollLeft())<n.scrollSensitivity&&(o=t(r).scrollLeft(t(r).scrollLeft()+n.scrollSpeed)))),o!==!1&&t.ui.ddmanager&&!n.dropBehaviour&&t.ui.ddmanager.prepareOffsets(s,e)}}),t.ui.plugin.add("draggable","snap",{start:function(e,i,s){var n=s.options;s.snapElements=[],t(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var e=t(this),i=e.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:e.outerWidth(),height:e.outerHeight(),top:i.top,left:i.left})})},drag:function(e,i,s){var n,o,a,r,h,l,c,u,d,p,f=s.options,g=f.snapTolerance,m=i.offset.left,_=m+s.helperProportions.width,v=i.offset.top,b=v+s.helperProportions.height;for(d=s.snapElements.length-1;d>=0;d--)h=s.snapElements[d].left-s.margins.left,l=h+s.snapElements[d].width,c=s.snapElements[d].top-s.margins.top,u=c+s.snapElements[d].height,h-g>_||m>l+g||c-g>b||v>u+g||!t.contains(s.snapElements[d].item.ownerDocument,s.snapElements[d].item)?(s.snapElements[d].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(n=g>=Math.abs(c-b),o=g>=Math.abs(u-v),a=g>=Math.abs(h-_),r=g>=Math.abs(l-m),n&&(i.position.top=s._convertPositionTo("relative",{top:c-s.helperProportions.height,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left)),p=n||o||a||r,"outer"!==f.snapMode&&(n=g>=Math.abs(c-v),o=g>=Math.abs(u-b),a=g>=Math.abs(h-m),r=g>=Math.abs(l-_),n&&(i.position.top=s._convertPositionTo("relative",{top:c,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left)),!s.snapElements[d].snapping&&(n||o||a||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=n||o||a||r||p)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,s){var n,o=s.options,a=t.makeArray(t(o.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});a.length&&(n=parseInt(t(a[0]).css("zIndex"),10)||0,t(a).each(function(e){t(this).css("zIndex",n+e)}),this.css("zIndex",n+a.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("zIndex")&&(o._zIndex=n.css("zIndex")),n.css("zIndex",o.zIndex)},stop:function(e,i,s){var n=s.options;n._zIndex&&t(i.helper).css("zIndex",n._zIndex)}}),t.ui.draggable,t.widget("ui.droppable",{version:"1.12.1",widgetEventPrefix:"drop",options:{accept:"*",addClasses:!0,greedy:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e,i=this.options,s=i.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(s)?s:function(t){return t.is(s)},this.proportions=function(){return arguments.length?(e=arguments[0],void 0):e?e:e={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight}},this._addToManager(i.scope),i.addClasses&&this._addClass("ui-droppable")},_addToManager:function(e){t.ui.ddmanager.droppables[e]=t.ui.ddmanager.droppables[e]||[],t.ui.ddmanager.droppables[e].push(this)},_splice:function(t){for(var e=0;t.length>e;e++)t[e]===this&&t.splice(e,1)},_destroy:function(){var e=t.ui.ddmanager.droppables[this.options.scope];this._splice(e)},_setOption:function(e,i){if("accept"===e)this.accept=t.isFunction(i)?i:function(t){return t.is(i)};else if("scope"===e){var s=t.ui.ddmanager.droppables[this.options.scope];this._splice(s),this._addToManager(i)}this._super(e,i)},_activate:function(e){var i=t.ui.ddmanager.current;this._addActiveClass(),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this._removeActiveClass(),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._addHoverClass(),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this._removeHoverClass(),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var i=t(this).droppable("instance");return i.options.greedy&&!i.options.disabled&&i.options.scope===s.options.scope&&i.accept.call(i.element[0],s.currentItem||s.element)&&u(s,t.extend(i,{offset:i.element.offset()}),i.options.tolerance,e)?(n=!0,!1):void 0}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this._removeActiveClass(),this._removeHoverClass(),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}},_addHoverClass:function(){this._addClass("ui-droppable-hover")},_removeHoverClass:function(){this._removeClass("ui-droppable-hover")},_addActiveClass:function(){this._addClass("ui-droppable-active")},_removeActiveClass:function(){this._removeClass("ui-droppable-active")}});var u=t.ui.intersect=function(){function t(t,e,i){return t>=e&&e+i>t}return function(e,i,s,n){if(!i.offset)return!1;var o=(e.positionAbs||e.position.absolute).left+e.margins.left,a=(e.positionAbs||e.position.absolute).top+e.margins.top,r=o+e.helperProportions.width,h=a+e.helperProportions.height,l=i.offset.left,c=i.offset.top,u=l+i.proportions().width,d=c+i.proportions().height;switch(s){case"fit":return o>=l&&u>=r&&a>=c&&d>=h;case"intersect":return o+e.helperProportions.width/2>l&&u>r-e.helperProportions.width/2&&a+e.helperProportions.height/2>c&&d>h-e.helperProportions.height/2;case"pointer":return t(n.pageY,c,i.proportions().height)&&t(n.pageX,l,i.proportions().width);case"touch":return(a>=c&&d>=a||h>=c&&d>=h||c>a&&h>d)&&(o>=l&&u>=o||r>=l&&u>=r||l>o&&r>u);default:return!1}}}();t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,o=t.ui.ddmanager.droppables[e.options.scope]||[],a=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;o.length>s;s++)if(!(o[s].options.disabled||e&&!o[s].accept.call(o[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===o[s].element[0]){o[s].proportions().height=0;continue t}o[s].visible="none"!==o[s].element.css("display"),o[s].visible&&("mousedown"===a&&o[s]._activate.call(o[s],i),o[s].offset=o[s].element.offset(),o[s].proportions({width:o[s].element[0].offsetWidth,height:o[s].element[0].offsetHeight}))}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&u(e,this,this.options.tolerance,i)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").on("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,o,a=u(e,this,this.options.tolerance,i),r=!a&&this.isover?"isout":a&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,o=this.element.parents(":data(ui-droppable)").filter(function(){return t(this).droppable("instance").options.scope===n}),o.length&&(s=t(o[0]).droppable("instance"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").off("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}},t.uiBackCompat!==!1&&t.widget("ui.droppable",t.ui.droppable,{options:{hoverClass:!1,activeClass:!1},_addActiveClass:function(){this._super(),this.options.activeClass&&this.element.addClass(this.options.activeClass)},_removeActiveClass:function(){this._super(),this.options.activeClass&&this.element.removeClass(this.options.activeClass)},_addHoverClass:function(){this._super(),this.options.hoverClass&&this.element.addClass(this.options.hoverClass)},_removeHoverClass:function(){this._super(),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass)}}),t.ui.droppable,t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,h=this._change[o];return this._updatePrevProperties(),h?(i=h.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,h=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,h=this.originalPosition.top+this.originalSize.height,l=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&l&&(t.left=r-e.minWidth),s&&l&&(t.left=r-e.maxWidth),a&&c&&(t.top=h-e.minHeight),n&&c&&(t.top=h-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,h=t(this).resizable("instance"),l=h.options,c=h.element,u=l.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(h.containerElement=t(d),/document/.test(u)||u===document?(h.containerOffset={left:0,top:0},h.containerPosition={left:0,top:0},h.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=h._num(e.css("padding"+s))}),h.containerOffset=e.offset(),h.containerPosition=e.position(),h.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=h.containerOffset,n=h.containerSize.height,o=h.containerSize.width,a=h._hasScroll(d,"left")?d.scrollWidth:o,r=h._hasScroll(d)?d.scrollHeight:n,h.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?h.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-h.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-h.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0}; +t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,h="number"==typeof s.grid?[s.grid,s.grid]:s.grid,l=h[0]||1,c=h[1]||1,u=Math.round((n.width-o.width)/l)*l,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,g=s.maxWidth&&p>s.maxWidth,m=s.maxHeight&&f>s.maxHeight,_=s.minWidth&&s.minWidth>p,v=s.minHeight&&s.minHeight>f;s.grid=h,_&&(p+=l),v&&(f+=c),g&&(p-=l),m&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-l)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-l>0?(i.size.width=p,i.position.left=a.left-u):(p=l-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable,t.widget("ui.selectable",t.ui.mouse,{version:"1.12.1",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e=this;this._addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e.elementPos=t(e.element[0]).offset(),e.selectees=t(e.options.filter,e.element[0]),e._addClass(e.selectees,"ui-selectee"),e.selectees.each(function(){var i=t(this),s=i.offset(),n={left:s.left-e.elementPos.left,top:s.top-e.elementPos.top};t.data(this,"selectable-item",{element:this,$element:i,left:n.left,top:n.top,right:n.left+i.outerWidth(),bottom:n.top+i.outerHeight(),startselected:!1,selected:i.hasClass("ui-selected"),selecting:i.hasClass("ui-selecting"),unselecting:i.hasClass("ui-unselecting")})})},this.refresh(),this._mouseInit(),this.helper=t("<div>"),this._addClass(this.helper,"ui-selectable-helper")},_destroy:function(){this.selectees.removeData("selectable-item"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.elementPos=t(this.element[0]).offset(),this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(i._removeClass(s.$element,"ui-selected"),s.selected=!1,i._addClass(s.$element,"ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),i._removeClass(n.$element,s?"ui-unselecting":"ui-selected")._addClass(n.$element,s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1):void 0}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,h=e.pageY;return o>r&&(i=r,r=o,o=i),a>h&&(i=h,h=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:h-a}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),l=!1,c={};i&&i.element!==s.element[0]&&(c.left=i.left+s.elementPos.left,c.right=i.right+s.elementPos.left,c.top=i.top+s.elementPos.top,c.bottom=i.bottom+s.elementPos.top,"touch"===n.tolerance?l=!(c.left>r||o>c.right||c.top>h||a>c.bottom):"fit"===n.tolerance&&(l=c.left>o&&r>c.right&&c.top>a&&h>c.bottom),l?(i.selected&&(s._removeClass(i.$element,"ui-selected"),i.selected=!1),i.unselecting&&(s._removeClass(i.$element,"ui-unselecting"),i.unselecting=!1),i.selecting||(s._addClass(i.$element,"ui-selecting"),i.selecting=!0,s._trigger("selecting",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,s._addClass(i.$element,"ui-selected"),i.selected=!0):(s._removeClass(i.$element,"ui-selecting"),i.selecting=!1,i.startselected&&(s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(s._removeClass(i.$element,"ui-selected"),i.selected=!1,s._addClass(i.$element,"ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui-unselecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",e,{unselected:s.element})}),t(".ui-selecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");i._removeClass(s.$element,"ui-selecting")._addClass(s.$element,"ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",e,{selected:s.element})}),this._trigger("stop",e),this.helper.remove(),!1}}),t.widget("ui.sortable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_isOverAxis:function(t,e,i){return t>=e&&e+i>t},_isFloating:function(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))},_create:function(){this.containerCache={},this._addClass("ui-sortable"),this.refresh(),this.offset=this.element.offset(),this._mouseInit(),this._setHandleClassName(),this.ready=!0},_setOption:function(t,e){this._super(t,e),"handle"===t&&this._setHandleClassName()},_setHandleClassName:function(){var e=this;this._removeClass(this.element.find(".ui-sortable-handle"),"ui-sortable-handle"),t.each(this.items,function(){e._addClass(this.instance.options.handle?this.item.find(this.instance.options.handle):this.item,"ui-sortable-handle")})},_destroy:function(){this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item")===o?(s=t(this),!1):void 0}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("<style>*{ cursor: "+a.cursor+" !important; }</style>").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this._addClass(this.helper,"ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==this.document[0]&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY<a.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+a.scrollSpeed:e.pageY-this.overflowOffset.top<a.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-a.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<a.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+a.scrollSpeed:e.pageX-this.overflowOffset.left<a.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-a.scrollSpeed)):(e.pageY-this.document.scrollTop()<a.scrollSensitivity?r=this.document.scrollTop(this.document.scrollTop()-a.scrollSpeed):this.window.height()-(e.pageY-this.document.scrollTop())<a.scrollSensitivity&&(r=this.document.scrollTop(this.document.scrollTop()+a.scrollSpeed)),e.pageX-this.document.scrollLeft()<a.scrollSensitivity?r=this.document.scrollLeft(this.document.scrollLeft()-a.scrollSpeed):this.window.width()-(e.pageX-this.document.scrollLeft())<a.scrollSensitivity&&(r=this.document.scrollLeft(this.document.scrollLeft()+a.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===this.document[0].body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp(new t.Event("mouseup",{target:null})),"original"===this.options.helper?(this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u="x"===this.options.axis||s+l>r&&h>s+l,d="y"===this.options.axis||e+c>o&&a>e+c,p=u&&d;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?p:e+this.helperProportions.width/2>o&&a>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var e,i,s="x"===this.options.axis||this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top,t.height),n="y"===this.options.axis||this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left,t.width),o=s&&n;return o?(e=this._getDragVerticalDirection(),i=this._getDragHorizontalDirection(),this.floating?"right"===i||"down"===e?2:1:e&&("down"===e?2:1)):!1},_intersectsWithSides:function(t){var e=this._isOverAxis(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),i=this._isOverAxis(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),s=this._getDragVerticalDirection(),n=this._getDragHorizontalDirection();return this.floating&&n?"right"===n&&i||"left"===n&&!i:s&&("down"===s&&e||"up"===s&&!e)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this._setHandleClassName(),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){function i(){r.push(this)}var s,n,o,a,r=[],h=[],l=this._connectWith();if(l&&e)for(s=l.length-1;s>=0;s--)for(o=t(l[s],this.document[0]),n=o.length-1;n>=0;n--)a=t.data(o[n],this.widgetFullName),a&&a!==this&&!a.options.disabled&&h.push([t.isFunction(a.options.items)?a.options.items.call(a.element):t(a.options.items,a.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),a]);for(h.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),s=h.length-1;s>=0;s--)h[s][0].each(i);return t(r)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i],this.document[0]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",a),c.push({item:h,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.floating=this.items.length?"x"===this.options.axis||this._isFloating(this.items[0].item):!1,this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,o;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t("<"+s+">",e.document[0]);return e._addClass(n,"ui-sortable-placeholder",i||e.currentItem[0].className)._removeClass(n,"ui-sortable-helper"),"tbody"===s?e._createTrPlaceholder(e.currentItem.find("tr").eq(0),t("<tr>",e.document[0]).appendTo(n)):"tr"===s?e._createTrPlaceholder(e.currentItem,n):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_createTrPlaceholder:function(e,i){var s=this;e.children().each(function(){t("<td>&#160;</td>",s.document[0]).attr("colspan",t(this).attr("colspan")||1).appendTo(i)})},_contactContainers:function(e){var i,s,n,o,a,r,h,l,c,u,d=null,p=null;for(i=this.containers.length-1;i>=0;i--)if(!t.contains(this.currentItem[0],this.containers[i].element[0]))if(this._intersectsWith(this.containers[i].containerCache)){if(d&&t.contains(this.containers[i].element[0],d.element[0]))continue;d=this.containers[i],p=i}else this.containers[i].containerCache.over&&(this.containers[i]._trigger("out",e,this._uiHash(this)),this.containers[i].containerCache.over=0);if(d)if(1===this.containers.length)this.containers[p].containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1);else{for(n=1e4,o=null,c=d.floating||this._isFloating(this.currentItem),a=c?"left":"top",r=c?"width":"height",u=c?"pageX":"pageY",s=this.items.length-1;s>=0;s--)t.contains(this.containers[p].element[0],this.items[s].item[0])&&this.items[s].item[0]!==this.currentItem[0]&&(h=this.items[s].item.offset()[a],l=!1,e[u]-h>this.items[s][r]/2&&(l=!0),n>Math.abs(e[u]-h)&&(n=Math.abs(e[u]-h),o=this.items[s],this.direction=l?"up":"down"));if(!o&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[p])return this.currentContainer.containerCache.over||(this.containers[p]._trigger("over",e,this._uiHash()),this.currentContainer.containerCache.over=1),void 0;o?this._rearrange(e,o,null,!0):this._rearrange(e,null,this.containers[p].element,!0),this._trigger("change",e,this._uiHash()),this.containers[p]._trigger("change",e,this._uiHash(this)),this.currentContainer=this.containers[p],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[p]._trigger("over",e,this._uiHash(this)),this.containers[p].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===this.document[0].body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,"document"===n.containment?this.document.width():this.window.width()-this.helperProportions.width-this.margins.left,("document"===n.containment?this.document.height()||document.body.parentNode.scrollHeight:this.window.height()||this.document[0].body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==this.document[0]&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.left<this.containment[0]&&(o=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(a=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){function i(t,e,i){return function(s){i._trigger(t,s,e._uiHash(e))}}this.reverting=!1;var s,n=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(s in this._storedCSS)("auto"===this._storedCSS[s]||"static"===this._storedCSS[s])&&(this._storedCSS[s]="");this.currentItem.css(this._storedCSS),this._removeClass(this.currentItem,"ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&n.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||n.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(n.push(function(t){this._trigger("remove",t,this._uiHash())}),n.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),n.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),s=this.containers.length-1;s>=0;s--)e||n.push(i("deactivate",this,this.containers[s])),this.containers[s].containerCache.over&&(n.push(i("out",this,this.containers[s])),this.containers[s].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.cancelHelperRemoval||(this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null),!e){for(s=0;n.length>s;s++)n[s].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!this.cancelHelperRemoval},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}}),t.widget("ui.accordion",{version:"1.12.1",options:{active:0,animate:{},classes:{"ui-accordion-header":"ui-corner-top","ui-accordion-header-collapsed":"ui-corner-all","ui-accordion-content":"ui-corner-bottom"},collapsible:!1,event:"click",header:"> li > :first-child, > :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},hideProps:{borderTopWidth:"hide",borderBottomWidth:"hide",paddingTop:"hide",paddingBottom:"hide",height:"hide"},showProps:{borderTopWidth:"show",borderBottomWidth:"show",paddingTop:"show",paddingBottom:"show",height:"show"},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this._addClass("ui-accordion","ui-widget ui-helper-reset"),this.element.attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t()}},_createIcons:function(){var e,i,s=this.options.icons;s&&(e=t("<span>"),this._addClass(e,"ui-accordion-header-icon","ui-icon "+s.header),e.prependTo(this.headers),i=this.active.children(".ui-accordion-header-icon"),this._removeClass(i,s.header)._addClass(i,null,s.activeHeader)._addClass(this.headers,"ui-accordion-icons")) +},_destroyIcons:function(){this._removeClass(this.headers,"ui-accordion-icons"),this.headers.children(".ui-accordion-header-icon").remove()},_destroy:function(){var t;this.element.removeAttr("role"),this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role aria-hidden aria-labelledby").removeUniqueId(),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),void 0)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t),this._toggleClass(this.headers.add(this.headers.next()),null,"ui-state-disabled",!!t)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),t(o).trigger("focus"),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().trigger("focus")},refresh:function(){var e=this.options;this._processPanels(),e.active===!1&&e.collapsible===!0||!this.headers.length?(e.active=!1,this.active=t()):e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){var t=this.headers,e=this.panels;this.headers=this.element.find(this.options.header),this._addClass(this.headers,"ui-accordion-header ui-accordion-header-collapsed","ui-state-default"),this.panels=this.headers.next().filter(":not(.ui-accordion-content-active)").hide(),this._addClass(this.panels,"ui-accordion-content","ui-helper-reset ui-widget-content"),e&&(this._off(t.not(this.headers)),this._off(e.not(this.panels)))},_refresh:function(){var e,i=this.options,s=i.heightStyle,n=this.element.parent();this.active=this._findActive(i.active),this._addClass(this.active,"ui-accordion-header-active","ui-state-active")._removeClass(this.active,"ui-accordion-header-collapsed"),this._addClass(this.active.next(),"ui-accordion-content-active"),this.active.next().show(),this.headers.attr("role","tab").each(function(){var e=t(this),i=e.uniqueId().attr("id"),s=e.next(),n=s.uniqueId().attr("id");e.attr("aria-controls",n),s.attr("aria-labelledby",i)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}).next().attr({"aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}).next().attr({"aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(i.event),"fill"===s?(e=n.height(),this.element.siblings(":visible").each(function(){var i=t(this),s=i.css("position");"absolute"!==s&&"fixed"!==s&&(e-=i.outerHeight(!0))}),this.headers.each(function(){e-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,e-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===s&&(e=0,this.headers.next().each(function(){var i=t(this).is(":visible");i||t(this).show(),e=Math.max(e,t(this).css("height","").height()),i||t(this).hide()}).height(e))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i,s,n=this.options,o=this.active,a=t(e.currentTarget),r=a[0]===o[0],h=r&&n.collapsible,l=h?t():a.next(),c=o.next(),u={oldHeader:o,oldPanel:c,newHeader:h?t():a,newPanel:l};e.preventDefault(),r&&!n.collapsible||this._trigger("beforeActivate",e,u)===!1||(n.active=h?!1:this.headers.index(a),this.active=r?t():a,this._toggle(u),this._removeClass(o,"ui-accordion-header-active","ui-state-active"),n.icons&&(i=o.children(".ui-accordion-header-icon"),this._removeClass(i,null,n.icons.activeHeader)._addClass(i,null,n.icons.header)),r||(this._removeClass(a,"ui-accordion-header-collapsed")._addClass(a,"ui-accordion-header-active","ui-state-active"),n.icons&&(s=a.children(".ui-accordion-header-icon"),this._removeClass(s,null,n.icons.header)._addClass(s,null,n.icons.activeHeader)),this._addClass(a.next(),"ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-hidden":"true"}),s.prev().attr({"aria-selected":"false","aria-expanded":"false"}),i.length&&s.length?s.prev().attr({tabIndex:-1,"aria-expanded":"false"}):i.length&&this.headers.filter(function(){return 0===parseInt(t(this).attr("tabIndex"),10)}).attr("tabIndex",-1),i.attr("aria-hidden","false").prev().attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_animate:function(t,e,i){var s,n,o,a=this,r=0,h=t.css("box-sizing"),l=t.length&&(!e.length||t.index()<e.index()),c=this.options.animate||{},u=l&&c.down||c,d=function(){a._toggleComplete(i)};return"number"==typeof u&&(o=u),"string"==typeof u&&(n=u),n=n||u.easing||c.easing,o=o||u.duration||c.duration,e.length?t.length?(s=t.show().outerHeight(),e.animate(this.hideProps,{duration:o,easing:n,step:function(t,e){e.now=Math.round(t)}}),t.hide().animate(this.showProps,{duration:o,easing:n,complete:d,step:function(t,i){i.now=Math.round(t),"height"!==i.prop?"content-box"===h&&(r+=i.now):"content"!==a.options.heightStyle&&(i.now=Math.round(s-e.outerHeight()-r),r=0)}}),void 0):e.animate(this.hideProps,o,n,d):t.animate(this.showProps,o,n,d)},_toggleComplete:function(t){var e=t.oldPanel,i=e.prev();this._removeClass(e,"ui-accordion-content-active"),this._removeClass(i,"ui-accordion-header-active")._addClass(i,"ui-accordion-header-collapsed"),e.length&&(e.parent()[0].className=e.parent()[0].className),this._trigger("activate",null,t)}}),t.widget("ui.menu",{version:"1.12.1",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault()},"click .ui-menu-item":function(e){var i=t(e.target),s=t(t.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.select(e),e.isPropagationStopped()||(this.mouseHandled=!0),i.has(".ui-menu").length?this.expand(e):!this.element.is(":focus")&&s.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){if(!this.previousFilter){var i=t(e.target).closest(".ui-menu-item"),s=t(e.currentTarget);i[0]===s[0]&&(this._removeClass(s.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(e,s))}},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.find(this.options.items).eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){var i=!t.contains(this.element[0],t.ui.safeActiveElement(this.document[0]));i&&this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t),this.mouseHandled=!1}})},_destroy:function(){var e=this.element.find(".ui-menu-item").removeAttr("role aria-disabled"),i=e.children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),i.children().each(function(){var e=t(this);e.data("ui-menu-submenu-caret")&&e.remove()})},_keydown:function(e){var i,s,n,o,a=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:a=!1,s=this.previousFilter||"",o=!1,n=e.keyCode>=96&&105>=e.keyCode?""+(e.keyCode-96):String.fromCharCode(e.keyCode),clearTimeout(this.filterTimer),n===s?o=!0:n=s+n,i=this._filterMenuItems(n),i=o&&-1!==i.index(this.active.next())?this.active.nextAll(".ui-menu-item"):i,i.length||(n=String.fromCharCode(e.keyCode),i=this._filterMenuItems(n)),i.length?(this.focus(e,i),this.previousFilter=n,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}a&&e.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i,s,n,o,a=this,r=this.options.icons.submenu,h=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),s=h.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),i=e.prev(),s=t("<span>").data("ui-menu-submenu-caret",!0);a._addClass(s,"ui-menu-icon","ui-icon "+r),i.attr("aria-haspopup","true").prepend(s),e.attr("aria-labelledby",i.attr("id"))}),this._addClass(s,"ui-menu","ui-widget ui-widget-content ui-front"),e=h.add(this.element),i=e.find(this.options.items),i.not(".ui-menu-item").each(function(){var e=t(this);a._isDivider(e)&&a._addClass(e,"ui-menu-divider","ui-widget-content")}),n=i.not(".ui-menu-item, .ui-menu-divider"),o=n.children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(n,"ui-menu-item")._addClass(o,"ui-menu-item-wrapper"),i.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){if("icons"===t){var i=this.element.find(".ui-menu-icon");this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)}this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t+""),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i,s,n;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children(".ui-menu-item-wrapper"),this._addClass(s,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),n=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(n,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.outerHeight(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this._removeClass(this.active.children(".ui-menu-item-wrapper"),null,"ui-state-active"),this._trigger("blur",t,{item:this.active}),this.active=null)},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this._removeClass(s.find(".ui-state-active"),null,"ui-state-active"),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false")},_closeOnDocumentClick:function(e){return!t(e.target).closest(".ui-menu").length},_isDivider:function(t){return!/[^\-\u2014\u2013\s]/.test(t.text())},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").find(this.options.items).first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.find(this.options.items)[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items)[this.active?"last":"first"]())),void 0):(this.next(e),void 0)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.find(this.options.items).first())),void 0):(this.next(e),void 0)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)},_filterMenuItems:function(e){var i=e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&"),s=RegExp("^"+i,"i");return this.activeMenu.find(this.options.items).filter(".ui-menu-item").filter(function(){return s.test(t.trim(t(this).children(".ui-menu-item-wrapper").text()))})}}),t.widget("ui.autocomplete",{version:"1.12.1",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o||!a&&this._isContentEditable(this.element),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,void 0;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,(!this.isMultiLine||this.menu.element.is(":visible"))&&s.preventDefault(),void 0;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),void 0):(this._searchTimeout(t),void 0)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(clearTimeout(this.searching),this.close(t),this._change(t),void 0)}}),this._initSource(),this.menu=t("<ul>").appendTo(this._appendTo()).menu({role:null}).hide().menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,this.element[0]!==t.ui.safeActiveElement(this.document[0])&&this.element.trigger("focus")})},menufocus:function(e,i){var s,n;return this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type))?(this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),void 0):(n=i.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",e,{item:n})&&e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(n.value),s=i.item.attr("aria-label")||n.value,s&&t.trim(s).length&&(this.liveRegion.children().hide(),t("<div>").text(s).appendTo(this.liveRegion)),void 0)},menuselect:function(e,i){var s=i.item.data("ui-autocomplete-item"),n=this.previous;this.element[0]!==t.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=n,this._delay(function(){this.previous=n,this.selectedItem=s})),!1!==this._trigger("select",e,{item:s})&&this._value(s.value),this.term=this._value(),this.close(e),this.selectedItem=s}}),this.liveRegion=t("<div>",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(e){var i=this.menu.element[0];return e.target===this.element[0]||e.target===i||t.contains(i,e.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){var e=this.term===this._value(),i=this.menu.element.is(":visible"),s=t.altKey||t.ctrlKey||t.metaKey||t.shiftKey;(!e||e&&!i&&!s)&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):void 0},_search:function(t){this.pending++,this._addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var e=++this.requestIndex;return t.proxy(function(t){e===this.requestIndex&&this.__response(t),this.pending--,this.pending||this._removeClass("ui-autocomplete-loading")},this)},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this._off(this.document,"mousedown"),this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({},e,{label:e.label||e.value,value:e.value||e.label})})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next(),this._on(this.document,{mousedown:"_closeOnClickOutside"})},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<div>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),this.menu.blur(),void 0):(this.menu[t](e),void 0):(this.search(null,e),void 0)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(e){var i;this._superApply(arguments),this.options.disabled||this.cancelSearch||(i=e&&e.length?this.options.messages.results(e.length):this.options.messages.noResults,this.liveRegion.children().hide(),t("<div>").text(i).appendTo(this.liveRegion))}}),t.ui.autocomplete;var d=/ui-corner-([a-z]){2,6}/g;t.widget("ui.controlgroup",{version:"1.12.1",defaultElement:"<div>",options:{direction:"horizontal",disabled:null,onlyVisible:!0,items:{button:"input[type=button], input[type=submit], input[type=reset], button, a",controlgroupLabel:".ui-controlgroup-label",checkboxradio:"input[type='checkbox'], input[type='radio']",selectmenu:"select",spinner:".ui-spinner-input"}},_create:function(){this._enhance()},_enhance:function(){this.element.attr("role","toolbar"),this.refresh()},_destroy:function(){this._callChildMethod("destroy"),this.childWidgets.removeData("ui-controlgroup-data"),this.element.removeAttr("role"),this.options.items.controlgroupLabel&&this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap()},_initWidgets:function(){var e=this,i=[];t.each(this.options.items,function(s,n){var o,a={};return n?"controlgroupLabel"===s?(o=e.element.find(n),o.each(function(){var e=t(this);e.children(".ui-controlgroup-label-contents").length||e.contents().wrapAll("<span class='ui-controlgroup-label-contents'></span>")}),e._addClass(o,null,"ui-widget ui-widget-content ui-state-default"),i=i.concat(o.get()),void 0):(t.fn[s]&&(a=e["_"+s+"Options"]?e["_"+s+"Options"]("middle"):{classes:{}},e.element.find(n).each(function(){var n=t(this),o=n[s]("instance"),r=t.widget.extend({},a);if("button"!==s||!n.parent(".ui-spinner").length){o||(o=n[s]()[s]("instance")),o&&(r.classes=e._resolveClassesValues(r.classes,o)),n[s](r);var h=n[s]("widget");t.data(h[0],"ui-controlgroup-data",o?o:n[s]("instance")),i.push(h[0])}})),void 0):void 0}),this.childWidgets=t(t.unique(i)),this._addClass(this.childWidgets,"ui-controlgroup-item")},_callChildMethod:function(e){this.childWidgets.each(function(){var i=t(this),s=i.data("ui-controlgroup-data");s&&s[e]&&s[e]()})},_updateCornerClass:function(t,e){var i="ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all",s=this._buildSimpleOptions(e,"label").classes.label;this._removeClass(t,null,i),this._addClass(t,null,s)},_buildSimpleOptions:function(t,e){var i="vertical"===this.options.direction,s={classes:{}};return s.classes[e]={middle:"",first:"ui-corner-"+(i?"top":"left"),last:"ui-corner-"+(i?"bottom":"right"),only:"ui-corner-all"}[t],s},_spinnerOptions:function(t){var e=this._buildSimpleOptions(t,"ui-spinner");return e.classes["ui-spinner-up"]="",e.classes["ui-spinner-down"]="",e},_buttonOptions:function(t){return this._buildSimpleOptions(t,"ui-button")},_checkboxradioOptions:function(t){return this._buildSimpleOptions(t,"ui-checkboxradio-label")},_selectmenuOptions:function(t){var e="vertical"===this.options.direction;return{width:e?"auto":!1,classes:{middle:{"ui-selectmenu-button-open":"","ui-selectmenu-button-closed":""},first:{"ui-selectmenu-button-open":"ui-corner-"+(e?"top":"tl"),"ui-selectmenu-button-closed":"ui-corner-"+(e?"top":"left")},last:{"ui-selectmenu-button-open":e?"":"ui-corner-tr","ui-selectmenu-button-closed":"ui-corner-"+(e?"bottom":"right")},only:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"}}[t]}},_resolveClassesValues:function(e,i){var s={};return t.each(e,function(n){var o=i.options.classes[n]||"";o=t.trim(o.replace(d,"")),s[n]=(o+" "+e[n]).replace(/\s+/g," ")}),s},_setOption:function(t,e){return"direction"===t&&this._removeClass("ui-controlgroup-"+this.options.direction),this._super(t,e),"disabled"===t?(this._callChildMethod(e?"disable":"enable"),void 0):(this.refresh(),void 0)},refresh:function(){var e,i=this;this._addClass("ui-controlgroup ui-controlgroup-"+this.options.direction),"horizontal"===this.options.direction&&this._addClass(null,"ui-helper-clearfix"),this._initWidgets(),e=this.childWidgets,this.options.onlyVisible&&(e=e.filter(":visible")),e.length&&(t.each(["first","last"],function(t,s){var n=e[s]().data("ui-controlgroup-data");if(n&&i["_"+n.widgetName+"Options"]){var o=i["_"+n.widgetName+"Options"](1===e.length?"only":s);o.classes=i._resolveClassesValues(o.classes,n),n.element[n.widgetName](o)}else i._updateCornerClass(e[s](),s)}),this._callChildMethod("refresh"))}}),t.widget("ui.checkboxradio",[t.ui.formResetMixin,{version:"1.12.1",options:{disabled:null,label:null,icon:!0,classes:{"ui-checkboxradio-label":"ui-corner-all","ui-checkboxradio-icon":"ui-corner-all"}},_getCreateOptions:function(){var e,i,s=this,n=this._super()||{};return this._readType(),i=this.element.labels(),this.label=t(i[i.length-1]),this.label.length||t.error("No label found for checkboxradio widget"),this.originalLabel="",this.label.contents().not(this.element[0]).each(function(){s.originalLabel+=3===this.nodeType?t(this).text():this.outerHTML}),this.originalLabel&&(n.label=this.originalLabel),e=this.element[0].disabled,null!=e&&(n.disabled=e),n},_create:function(){var t=this.element[0].checked;this._bindFormResetHandler(),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled),this._setOption("disabled",this.options.disabled),this._addClass("ui-checkboxradio","ui-helper-hidden-accessible"),this._addClass(this.label,"ui-checkboxradio-label","ui-button ui-widget"),"radio"===this.type&&this._addClass(this.label,"ui-checkboxradio-radio-label"),this.options.label&&this.options.label!==this.originalLabel?this._updateLabel():this.originalLabel&&(this.options.label=this.originalLabel),this._enhance(),t&&(this._addClass(this.label,"ui-checkboxradio-checked","ui-state-active"),this.icon&&this._addClass(this.icon,null,"ui-state-hover")),this._on({change:"_toggleClasses",focus:function(){this._addClass(this.label,null,"ui-state-focus ui-visual-focus")},blur:function(){this._removeClass(this.label,null,"ui-state-focus ui-visual-focus")}})},_readType:function(){var e=this.element[0].nodeName.toLowerCase();this.type=this.element[0].type,"input"===e&&/radio|checkbox/.test(this.type)||t.error("Can't create checkboxradio on element.nodeName="+e+" and element.type="+this.type)},_enhance:function(){this._updateIcon(this.element[0].checked)},widget:function(){return this.label},_getRadioGroup:function(){var e,i=this.element[0].name,s="input[name='"+t.ui.escapeSelector(i)+"']";return i?(e=this.form.length?t(this.form[0].elements).filter(s):t(s).filter(function(){return 0===t(this).form().length}),e.not(this.element)):t([])},_toggleClasses:function(){var e=this.element[0].checked;this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",e),this.options.icon&&"checkbox"===this.type&&this._toggleClass(this.icon,null,"ui-icon-check ui-state-checked",e)._toggleClass(this.icon,null,"ui-icon-blank",!e),"radio"===this.type&&this._getRadioGroup().each(function(){var e=t(this).checkboxradio("instance");e&&e._removeClass(e.label,"ui-checkboxradio-checked","ui-state-active")})},_destroy:function(){this._unbindFormResetHandler(),this.icon&&(this.icon.remove(),this.iconSpace.remove())},_setOption:function(t,e){return"label"!==t||e?(this._super(t,e),"disabled"===t?(this._toggleClass(this.label,null,"ui-state-disabled",e),this.element[0].disabled=e,void 0):(this.refresh(),void 0)):void 0},_updateIcon:function(e){var i="ui-icon ui-icon-background ";this.options.icon?(this.icon||(this.icon=t("<span>"),this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-checkboxradio-icon-space")),"checkbox"===this.type?(i+=e?"ui-icon-check ui-state-checked":"ui-icon-blank",this._removeClass(this.icon,null,e?"ui-icon-blank":"ui-icon-check")):i+="ui-icon-blank",this._addClass(this.icon,"ui-checkboxradio-icon",i),e||this._removeClass(this.icon,null,"ui-icon-check ui-state-checked"),this.icon.prependTo(this.label).after(this.iconSpace)):void 0!==this.icon&&(this.icon.remove(),this.iconSpace.remove(),delete this.icon) +},_updateLabel:function(){var t=this.label.contents().not(this.element[0]);this.icon&&(t=t.not(this.icon[0])),this.iconSpace&&(t=t.not(this.iconSpace[0])),t.remove(),this.label.append(this.options.label)},refresh:function(){var t=this.element[0].checked,e=this.element[0].disabled;this._updateIcon(t),this._toggleClass(this.label,"ui-checkboxradio-checked","ui-state-active",t),null!==this.options.label&&this._updateLabel(),e!==this.options.disabled&&this._setOptions({disabled:e})}}]),t.ui.checkboxradio,t.widget("ui.button",{version:"1.12.1",defaultElement:"<button>",options:{classes:{"ui-button":"ui-corner-all"},disabled:null,icon:null,iconPosition:"beginning",label:null,showLabel:!0},_getCreateOptions:function(){var t,e=this._super()||{};return this.isInput=this.element.is("input"),t=this.element[0].disabled,null!=t&&(e.disabled=t),this.originalLabel=this.isInput?this.element.val():this.element.html(),this.originalLabel&&(e.label=this.originalLabel),e},_create:function(){!this.option.showLabel&!this.options.icon&&(this.options.showLabel=!0),null==this.options.disabled&&(this.options.disabled=this.element[0].disabled||!1),this.hasTitle=!!this.element.attr("title"),this.options.label&&this.options.label!==this.originalLabel&&(this.isInput?this.element.val(this.options.label):this.element.html(this.options.label)),this._addClass("ui-button","ui-widget"),this._setOption("disabled",this.options.disabled),this._enhance(),this.element.is("a")&&this._on({keyup:function(e){e.keyCode===t.ui.keyCode.SPACE&&(e.preventDefault(),this.element[0].click?this.element[0].click():this.element.trigger("click"))}})},_enhance:function(){this.element.is("button")||this.element.attr("role","button"),this.options.icon&&(this._updateIcon("icon",this.options.icon),this._updateTooltip())},_updateTooltip:function(){this.title=this.element.attr("title"),this.options.showLabel||this.title||this.element.attr("title",this.options.label)},_updateIcon:function(e,i){var s="iconPosition"!==e,n=s?this.options.iconPosition:i,o="top"===n||"bottom"===n;this.icon?s&&this._removeClass(this.icon,null,this.options.icon):(this.icon=t("<span>"),this._addClass(this.icon,"ui-button-icon","ui-icon"),this.options.showLabel||this._addClass("ui-button-icon-only")),s&&this._addClass(this.icon,null,i),this._attachIcon(n),o?(this._addClass(this.icon,null,"ui-widget-icon-block"),this.iconSpace&&this.iconSpace.remove()):(this.iconSpace||(this.iconSpace=t("<span> </span>"),this._addClass(this.iconSpace,"ui-button-icon-space")),this._removeClass(this.icon,null,"ui-wiget-icon-block"),this._attachIconSpace(n))},_destroy:function(){this.element.removeAttr("role"),this.icon&&this.icon.remove(),this.iconSpace&&this.iconSpace.remove(),this.hasTitle||this.element.removeAttr("title")},_attachIconSpace:function(t){this.icon[/^(?:end|bottom)/.test(t)?"before":"after"](this.iconSpace)},_attachIcon:function(t){this.element[/^(?:end|bottom)/.test(t)?"append":"prepend"](this.icon)},_setOptions:function(t){var e=void 0===t.showLabel?this.options.showLabel:t.showLabel,i=void 0===t.icon?this.options.icon:t.icon;e||i||(t.showLabel=!0),this._super(t)},_setOption:function(t,e){"icon"===t&&(e?this._updateIcon(t,e):this.icon&&(this.icon.remove(),this.iconSpace&&this.iconSpace.remove())),"iconPosition"===t&&this._updateIcon(t,e),"showLabel"===t&&(this._toggleClass("ui-button-icon-only",null,!e),this._updateTooltip()),"label"===t&&(this.isInput?this.element.val(e):(this.element.html(e),this.icon&&(this._attachIcon(this.options.iconPosition),this._attachIconSpace(this.options.iconPosition)))),this._super(t,e),"disabled"===t&&(this._toggleClass(null,"ui-state-disabled",e),this.element[0].disabled=e,e&&this.element.blur())},refresh:function(){var t=this.element.is("input, button")?this.element[0].disabled:this.element.hasClass("ui-button-disabled");t!==this.options.disabled&&this._setOptions({disabled:t}),this._updateTooltip()}}),t.uiBackCompat!==!1&&(t.widget("ui.button",t.ui.button,{options:{text:!0,icons:{primary:null,secondary:null}},_create:function(){this.options.showLabel&&!this.options.text&&(this.options.showLabel=this.options.text),!this.options.showLabel&&this.options.text&&(this.options.text=this.options.showLabel),this.options.icon||!this.options.icons.primary&&!this.options.icons.secondary?this.options.icon&&(this.options.icons.primary=this.options.icon):this.options.icons.primary?this.options.icon=this.options.icons.primary:(this.options.icon=this.options.icons.secondary,this.options.iconPosition="end"),this._super()},_setOption:function(t,e){return"text"===t?(this._super("showLabel",e),void 0):("showLabel"===t&&(this.options.text=e),"icon"===t&&(this.options.icons.primary=e),"icons"===t&&(e.primary?(this._super("icon",e.primary),this._super("iconPosition","beginning")):e.secondary&&(this._super("icon",e.secondary),this._super("iconPosition","end"))),this._superApply(arguments),void 0)}}),t.fn.button=function(e){return function(){return!this.length||this.length&&"INPUT"!==this[0].tagName||this.length&&"INPUT"===this[0].tagName&&"checkbox"!==this.attr("type")&&"radio"!==this.attr("type")?e.apply(this,arguments):(t.ui.checkboxradio||t.error("Checkboxradio widget missing"),0===arguments.length?this.checkboxradio({icon:!1}):this.checkboxradio.apply(this,arguments))}}(t.fn.button),t.fn.buttonset=function(){return t.ui.controlgroup||t.error("Controlgroup widget missing"),"option"===arguments[0]&&"items"===arguments[1]&&arguments[2]?this.controlgroup.apply(this,[arguments[0],"items.button",arguments[2]]):"option"===arguments[0]&&"items"===arguments[1]?this.controlgroup.apply(this,[arguments[0],"items.button"]):("object"==typeof arguments[0]&&arguments[0].items&&(arguments[0].items={button:arguments[0].items}),this.controlgroup.apply(this,arguments))}),t.ui.button,t.extend(t.ui,{datepicker:{version:"1.12.1"}});var p;t.extend(s.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return a(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,o;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),o=this._newInst(t(e),n),o.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,o):n&&this._inlineDatepicker(e,o)},_newInst:function(e,i){var s=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:s,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?n(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).on("keydown",this._doKeyDown).on("keypress",this._doKeyPress).on("keyup",this._doKeyUp),this._autoSize(i),t.data(e,"datepicker",i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,o,a=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),a&&(i.append=t("<span class='"+this._appendClass+"'>"+a+"</span>"),e[r?"before":"after"](i.append)),e.off("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.on("focus",this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),o=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:o,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(o?t("<img/>").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.on("click",function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,"datepicker",i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,n,o){var r,h,l,c,u,d=this._dialogInst;return d||(this.uuid+=1,r="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+r+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.on("keydown",this._doKeyDown),t("body").append(this._dialogInput),d=this._dialogInst=this._newInst(this._dialogInput,!1),d.settings={},t.data(this._dialogInput[0],"datepicker",d)),a(d.settings,n||{}),i=i&&i.constructor===Date?this._formatDate(d,i):i,this._dialogInput.val(i),this._pos=o?o.length?o:[o.pageX,o.pageY]:null,this._pos||(h=document.documentElement.clientWidth,l=document.documentElement.clientHeight,c=document.documentElement.scrollLeft||document.body.scrollLeft,u=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[h/2-100+c,l/2-150+u]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),d.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],"datepicker",d),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,"datepicker");s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,"datepicker"),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).off("focus",this._showDatepicker).off("keydown",this._doKeyDown).off("keypress",this._doKeyPress).off("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty(),p===n&&(p=null))},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,"datepicker");n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,"datepicker")}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(e,i,s){var n,o,r,h,l=this._getInst(e);return 2===arguments.length&&"string"==typeof i?"defaults"===i?t.extend({},t.datepicker._defaults):l?"all"===i?t.extend({},l.settings):this._get(l,i):null:(n=i||{},"string"==typeof i&&(n={},n[i]=s),l&&(this._curInst===l&&this._hideDatepicker(),o=this._getDateDatepicker(e,!0),r=this._getMinMaxDate(l,"min"),h=this._getMinMaxDate(l,"max"),a(l.settings,n),null!==r&&void 0!==n.dateFormat&&void 0===n.minDate&&(l.settings.minDate=this._formatDate(l,r)),null!==h&&void 0!==n.dateFormat&&void 0===n.maxDate&&(l.settings.maxDate=this._formatDate(l,h)),"disabled"in n&&(n.disabled?this._disableDatepicker(e):this._enableDatepicker(e)),this._attachments(t(e),l),this._autoSize(l),this._setDate(l,o),this._updateAlternate(l),this._updateDatepicker(l)),void 0)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,o=t.datepicker._getInst(e.target),a=!0,r=o.dpDiv.is(".ui-datepicker-rtl");if(o._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),a=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",o.dpDiv),n[0]&&t.datepicker._selectDay(e.target,o.selectedMonth,o.selectedYear,n[0]),i=t.datepicker._get(o,"onSelect"),i?(s=t.datepicker._formatDate(o),i.apply(o.input?o.input[0]:null,[s,o])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),a=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),a=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?1:-1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),a=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?-1:1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),a=e.ctrlKey||e.metaKey;break;default:a=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):a=!1;a&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(e){var i,s,n=t.datepicker._getInst(e.target);return t.datepicker._get(n,"constrainInput")?(i=t.datepicker._possibleChars(t.datepicker._get(n,"dateFormat")),s=String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),e.ctrlKey||e.metaKey||" ">s||!i||i.indexOf(s)>-1):void 0},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var s,n,o,r,h,l,c;s=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==s&&(t.datepicker._curInst.dpDiv.stop(!0,!0),s&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),n=t.datepicker._get(s,"beforeShow"),o=n?n.apply(e,[e,s]):{},o!==!1&&(a(s.settings,o),s.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(s),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),r=!1,t(e).parents().each(function(){return r|="fixed"===t(this).css("position"),!r}),h={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,s.dpDiv.empty(),s.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(s),h=t.datepicker._checkOffset(s,h,r),s.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":r?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"}),s.inline||(l=t.datepicker._get(s,"showAnim"),c=t.datepicker._get(s,"duration"),s.dpDiv.css("z-index",i(t(e))+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[l]?s.dpDiv.show(l,t.datepicker._get(s,"showOptions"),c):s.dpDiv[l||"show"](l?c:null),t.datepicker._shouldFocusInput(s)&&s.input.trigger("focus"),t.datepicker._curInst=s))}},_updateDatepicker:function(e){this.maxRows=4,p=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e);var i,s=this._getNumberOfMonths(e),n=s[1],a=17,r=e.dpDiv.find("."+this._dayOverClass+" a");r.length>0&&o.apply(r.get(0)),e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&t.datepicker._shouldFocusInput(e)&&e.input.trigger("focus"),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_shouldFocusInput:function(t){return t.input&&t.input.is(":visible")&&!t.input.is(":disabled")&&!t.input.is(":focus")},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+o>l&&l>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,o,a=this._curInst;!a||e&&a!==t.data(e,"datepicker")||this._datepickerShowing&&(i=this._get(a,"showAnim"),s=this._get(a,"duration"),n=function(){t.datepicker._tidyDialog(a)},t.effects&&(t.effects.effect[i]||t.effects[i])?a.dpDiv.hide(i,t.datepicker._get(a,"showOptions"),s,n):a.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,o=this._get(a,"onClose"),o&&o.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||(o=this._getInst(a[0]),o.selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),s=this._get(o,"onSelect"),s?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.trigger("focus"),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).val(n))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(e,i,s){if(null==e||null==i)throw"Invalid arguments";if(i="object"==typeof i?""+i:i+"",""===i)return null;var n,o,a,r,h=0,l=(s?s.shortYearCutoff:null)||this._defaults.shortYearCutoff,c="string"!=typeof l?l:(new Date).getFullYear()%100+parseInt(l,10),u=(s?s.dayNamesShort:null)||this._defaults.dayNamesShort,d=(s?s.dayNames:null)||this._defaults.dayNames,p=(s?s.monthNamesShort:null)||this._defaults.monthNamesShort,f=(s?s.monthNames:null)||this._defaults.monthNames,g=-1,m=-1,_=-1,v=-1,b=!1,y=function(t){var i=e.length>n+1&&e.charAt(n+1)===t;return i&&n++,i},w=function(t){var e=y(t),s="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n="y"===t?s:1,o=RegExp("^\\d{"+n+","+s+"}"),a=i.substring(h).match(o);if(!a)throw"Missing number at position "+h;return h+=a[0].length,parseInt(a[0],10)},k=function(e,s,n){var o=-1,a=t.map(y(e)?n:s,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(a,function(t,e){var s=e[1];return i.substr(h,s.length).toLowerCase()===s.toLowerCase()?(o=e[0],h+=s.length,!1):void 0}),-1!==o)return o+1;throw"Unknown name at position "+h},x=function(){if(i.charAt(h)!==e.charAt(n))throw"Unexpected literal at position "+h;h++};for(n=0;e.length>n;n++)if(b)"'"!==e.charAt(n)||y("'")?x():b=!1;else switch(e.charAt(n)){case"d":_=w("d");break;case"D":k("D",u,d);break;case"o":v=w("o");break;case"m":m=w("m");break;case"M":m=k("M",p,f);break;case"y":g=w("y");break;case"@":r=new Date(w("@")),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"!":r=new Date((w("!")-this._ticksTo1970)/1e4),g=r.getFullYear(),m=r.getMonth()+1,_=r.getDate();break;case"'":y("'")?x():b=!0;break;default:x()}if(i.length>h&&(a=i.substr(h),!/^\s+/.test(a)))throw"Extra/unparsed characters found in date: "+a;if(-1===g?g=(new Date).getFullYear():100>g&&(g+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c>=g?0:-100)),v>-1)for(m=1,_=v;;){if(o=this._getDaysInMonth(g,m-1),o>=_)break;m++,_-=o}if(r=this._daylightSavingAdjust(new Date(g,m-1,_)),r.getFullYear()!==g||r.getMonth()+1!==m||r.getDate()!==_)throw"Invalid date";return r},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,o);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),a,r);break;case"y":u+=h("y")?e.getFullYear():(10>e.getFullYear()%100?"0":"")+e.getFullYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,e){return void 0!==t.settings[e]?t.settings[e]:this._defaults[e]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(r){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},o=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,o=n.getFullYear(),a=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":a+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a));break;case"y":case"Y":o+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a))}l=h.exec(i)}return new Date(o,a,r)},a=null==i||""===i?s:"string"==typeof i?o(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return a=a&&"Invalid Date"==""+a?s:a,a&&(a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)),this._daylightSavingAdjust(a)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){t.datepicker._adjustDate(s,-i,"M")},next:function(){t.datepicker._adjustDate(s,+i,"M")},hide:function(){t.datepicker._hideDatepicker()},today:function(){t.datepicker._gotoToday(s)},selectDay:function(){return t.datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return t.datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return t.datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).on(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,h,l,c,u,d,p,f,g,m,_,v,b,y,w,k,x,C,D,I,T,P,M,S,H,z,O,A,N,W,E,F,L,R=new Date,B=this._daylightSavingAdjust(new Date(R.getFullYear(),R.getMonth(),R.getDate())),Y=this._get(t,"isRTL"),j=this._get(t,"showButtonPanel"),q=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),V=this._get(t,"showCurrentAtPos"),$=this._get(t,"stepMonths"),X=1!==U[0]||1!==U[1],G=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),Q=this._getMinMaxDate(t,"min"),J=this._getMinMaxDate(t,"max"),Z=t.drawMonth-V,te=t.drawYear;if(0>Z&&(Z+=12,te--),J)for(e=this._daylightSavingAdjust(new Date(J.getFullYear(),J.getMonth()-U[0]*U[1]+1,J.getDate())),e=Q&&Q>e?Q:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-$,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":q?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+$,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":q?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?G:B,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,h=t.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(t,"closeText")+"</button>",l=j?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(t,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+a+"</button>":"")+(Y?"":h)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),_=this._get(t,"showOtherMonths"),v=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;U[0]>k;k++){for(x="",this.maxRows=4,C=0;U[1]>C;C++){if(D=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),I=" ui-corner-all",T="",X){if(T+="<div class='ui-datepicker-group",U[1]>1)switch(C){case 0:T+=" ui-datepicker-group-first",I=" ui-corner-"+(Y?"right":"left"); +break;case U[1]-1:T+=" ui-datepicker-group-last",I=" ui-corner-"+(Y?"left":"right");break;default:T+=" ui-datepicker-group-middle",I=""}T+="'>"}for(T+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+I+"'>"+(/all|left/.test(I)&&0===k?Y?o:s:"")+(/all|right/.test(I)&&0===k?Y?s:o:"")+this._generateMonthYearHeader(t,Z,te,Q,J,k>0||C>0,f,g)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",P=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",w=0;7>w;w++)M=(w+c)%7,P+="<th scope='col'"+((w+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[M]+"'>"+p[M]+"</span></th>";for(T+=P+"</tr></thead><tbody>",S=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),H=(this._getFirstDayOfMonth(te,Z)-c+7)%7,z=Math.ceil((H+S)/7),O=X?this.maxRows>z?this.maxRows:z:z,this.maxRows=O,A=this._daylightSavingAdjust(new Date(te,Z,1-H)),N=0;O>N;N++){for(T+="<tr>",W=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(A)+"</td>":"",w=0;7>w;w++)E=m?m.apply(t.input?t.input[0]:null,[A]):[!0,""],F=A.getMonth()!==Z,L=F&&!v||!E[0]||Q&&Q>A||J&&A>J,W+="<td class='"+((w+c+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(A.getTime()===D.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===A.getTime()&&b.getTime()===D.getTime()?" "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!_?"":" "+E[1]+(A.getTime()===G.getTime()?" "+this._currentClass:"")+(A.getTime()===B.getTime()?" ui-datepicker-today":""))+"'"+(F&&!_||!E[2]?"":" title='"+E[2].replace(/'/g,"&#39;")+"'")+(L?"":" data-handler='selectDay' data-event='click' data-month='"+A.getMonth()+"' data-year='"+A.getFullYear()+"'")+">"+(F&&!_?"&#xa0;":L?"<span class='ui-state-default'>"+A.getDate()+"</span>":"<a class='ui-state-default"+(A.getTime()===B.getTime()?" ui-state-highlight":"")+(A.getTime()===G.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+"' href='#'>"+A.getDate()+"</a>")+"</td>",A.setDate(A.getDate()+1),A=this._daylightSavingAdjust(A);T+=W+"</tr>"}Z++,Z>11&&(Z=0,te++),T+="</tbody></table>"+(X?"</div>"+(U[0]>0&&C===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=T}y+=x}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var h,l,c,u,d,p,f,g,m=this._get(t,"changeMonth"),_=this._get(t,"changeYear"),v=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(o||!m)y+="<span class='ui-datepicker-month'>"+a[e]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!h||c>=s.getMonth())&&(!l||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+r[c]+"</option>");y+="</select>"}if(v||(b+=y+(!o&&m&&_?"":"&#xa0;")),!t.yearshtml)if(t.yearshtml="",o||!_)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";g>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),v&&(b+=(!o&&m&&_?"":"&#xa0;")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.selectedYear+("Y"===i?e:0),n=t.selectedMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||r>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).on("mousedown",t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new s,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.12.1",t.datepicker,t.widget("ui.dialog",{version:"1.12.1",options:{appendTo:"body",autoOpen:!0,buttons:[],classes:{"ui-dialog":"ui-corner-all","ui-dialog-titlebar":"ui-corner-all"},closeOnEscape:!0,closeText:"Close",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},sizeRelatedOptions:{buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},resizableRelatedOptions:{maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),null==this.options.title&&null!=this.originalTitle&&(this.options.title=this.originalTitle),this.options.disabled&&(this.options.disabled=!1),this._createWrapper(),this.element.show().removeAttr("title").appendTo(this.uiDialog),this._addClass("ui-dialog-content","ui-widget-content"),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1,this._trackFocus()},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._untrackInstance(),this._destroyOverlay(),this.element.removeUniqueId().css(this.originalCss).detach(),this.uiDialog.remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&this._trigger("beforeClose",e)!==!1&&(this._isOpen=!1,this._focusedElement=null,this._destroyOverlay(),this._untrackInstance(),this.opener.filter(":focusable").trigger("focus").length||t.ui.safeBlur(t.ui.safeActiveElement(this.document[0])),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(e,i){var s=!1,n=this.uiDialog.siblings(".ui-front:visible").map(function(){return+t(this).css("z-index")}).get(),o=Math.max.apply(null,n);return o>=+this.uiDialog.css("z-index")&&(this.uiDialog.css("z-index",o+1),s=!0),s&&!i&&this._trigger("focus",e),s},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen=!0,this.opener=t(t.ui.safeActiveElement(this.document[0])),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay&&this.overlay.css("z-index",this.uiDialog.css("z-index")-1),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var t=this._focusedElement;t||(t=this.element.find("[autofocus]")),t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).trigger("focus")},_keepFocus:function(e){function i(){var e=t.ui.safeActiveElement(this.document[0]),i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("<div>").hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._addClass(this.uiDialog,"ui-dialog","ui-widget ui-widget-content ui-front"),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),void 0;if(e.keyCode===t.ui.keyCode.TAB&&!e.isDefaultPrevented()){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(this._delay(function(){n.trigger("focus")}),e.preventDefault()):(this._delay(function(){s.trigger("focus")}),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("<div>"),this._addClass(this.uiDialogTitlebar,"ui-dialog-titlebar","ui-widget-header ui-helper-clearfix"),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.trigger("focus")}}),this.uiDialogTitlebarClose=t("<button type='button'></button>").button({label:t("<a>").text(this.options.closeText).html(),icon:"ui-icon-closethick",showLabel:!1}).appendTo(this.uiDialogTitlebar),this._addClass(this.uiDialogTitlebarClose,"ui-dialog-titlebar-close"),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("<span>").uniqueId().prependTo(this.uiDialogTitlebar),this._addClass(e,"ui-dialog-title"),this._title(e),this.uiDialogTitlebar.prependTo(this.uiDialog),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title?t.text(this.options.title):t.html("&#160;")},_createButtonPane:function(){this.uiDialogButtonPane=t("<div>"),this._addClass(this.uiDialogButtonPane,"ui-dialog-buttonpane","ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("<div>").appendTo(this.uiDialogButtonPane),this._addClass(this.uiButtonSet,"ui-dialog-buttonset"),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this._removeClass(this.uiDialog,"ui-dialog-buttons"),void 0):(t.each(i,function(i,s){var n,o;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,o={icon:s.icon,iconPosition:s.iconPosition,showLabel:s.showLabel,icons:s.icons,text:s.text},delete s.click,delete s.icon,delete s.iconPosition,delete s.showLabel,delete s.icons,"boolean"==typeof s.text&&delete s.text,t("<button></button>",s).button(o).appendTo(e.uiButtonSet).on("click",function(){n.apply(e.element[0],arguments)})}),this._addClass(this.uiDialog,"ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),void 0)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){i._addClass(t(this),"ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,o){var a=o.offset.left-i.document.scrollLeft(),r=o.offset.top-i.document.scrollTop();s.position={my:"left top",at:"left"+(a>=0?"+":"")+a+" "+"top"+(r>=0?"+":"")+r,of:i.window},i._removeClass(t(this),"ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(o))}})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}var i=this,s=this.options,n=s.resizable,o=this.uiDialog.css("position"),a="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:a,start:function(s,n){i._addClass(t(this),"ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,o){var a=i.uiDialog.offset(),r=a.left-i.document.scrollLeft(),h=a.top-i.document.scrollTop();s.height=i.uiDialog.height(),s.width=i.uiDialog.width(),s.position={my:"left top",at:"left"+(r>=0?"+":"")+r+" "+"top"+(h>=0?"+":"")+h,of:i.window},i._removeClass(t(this),"ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(o))}}).css("position",o)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e){this._makeFocusTarget(),this._focusedElement=t(e.target)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e=this._trackingInstances(),i=t.inArray(this,e);-1!==i&&e.splice(i,1)},_trackingInstances:function(){var t=this.document.data("ui-dialog-instances");return t||(t=[],this.document.data("ui-dialog-instances",t)),t},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(e){var i=this,s=!1,n={};t.each(e,function(t,e){i._setOption(t,e),t in i.sizeRelatedOptions&&(s=!0),t in i.resizableRelatedOptions&&(n[t]=e)}),s&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",n)},_setOption:function(e,i){var s,n,o=this.uiDialog;"disabled"!==e&&(this._super(e,i),"appendTo"===e&&this.uiDialog.appendTo(this._appendTo()),"buttons"===e&&this._createButtons(),"closeText"===e&&this.uiDialogTitlebarClose.button({label:t("<a>").text(""+this.options.closeText).html()}),"draggable"===e&&(s=o.is(":data(ui-draggable)"),s&&!i&&o.draggable("destroy"),!s&&i&&this._makeDraggable()),"position"===e&&this._position(),"resizable"===e&&(n=o.is(":data(ui-resizable)"),n&&!i&&o.resizable("destroy"),n&&"string"==typeof i&&o.resizable("option","handles",i),n||i===!1||this._makeResizable()),"title"===e&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("<div>").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=!0;this._delay(function(){e=!1}),this.document.data("ui-dialog-overlays")||this._on(this.document,{focusin:function(t){e||this._allowInteraction(t)||(t.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay=t("<div>").appendTo(this._appendTo()),this._addClass(this.overlay,null,"ui-widget-overlay ui-front"),this._on(this.overlay,{mousedown:"_keepFocus"}),this.document.data("ui-dialog-overlays",(this.document.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options.modal&&this.overlay){var t=this.document.data("ui-dialog-overlays")-1;t?this.document.data("ui-dialog-overlays",t):(this._off(this.document,"focusin"),this.document.removeData("ui-dialog-overlays")),this.overlay.remove(),this.overlay=null}}}),t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{options:{dialogClass:""},_createWrapper:function(){this._super(),this.uiDialog.addClass(this.options.dialogClass)},_setOption:function(t,e){"dialogClass"===t&&this.uiDialog.removeClass(this.options.dialogClass).addClass(e),this._superApply(arguments)}}),t.ui.dialog,t.widget("ui.progressbar",{version:"1.12.1",options:{classes:{"ui-progressbar":"ui-corner-all","ui-progressbar-value":"ui-corner-left","ui-progressbar-complete":"ui-corner-right"},max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.attr({role:"progressbar","aria-valuemin":this.min}),this._addClass("ui-progressbar","ui-widget ui-widget-content"),this.valueDiv=t("<div>").appendTo(this.element),this._addClass(this.valueDiv,"ui-progressbar-value","ui-widget-header"),this._refreshValue()},_destroy:function(){this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"),this.valueDiv.remove()},value:function(t){return void 0===t?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),void 0)},_constrainedValue:function(t){return void 0===t&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",t),this._toggleClass(null,"ui-state-disabled",!!t)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).width(i.toFixed(0)+"%"),this._toggleClass(this.valueDiv,"ui-progressbar-complete",null,e===this.options.max)._toggleClass("ui-progressbar-indeterminate",null,this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div>").appendTo(this.valueDiv),this._addClass(this.overlayDiv,"ui-progressbar-overlay"))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}}),t.widget("ui.selectmenu",[t.ui.formResetMixin,{version:"1.12.1",defaultElement:"<select>",options:{appendTo:null,classes:{"ui-selectmenu-button-open":"ui-corner-top","ui-selectmenu-button-closed":"ui-corner-all"},disabled:null,icons:{button:"ui-icon-triangle-1-s"},position:{my:"left top",at:"left bottom",collision:"none"},width:!1,change:null,close:null,focus:null,open:null,select:null},_create:function(){var e=this.element.uniqueId().attr("id");this.ids={element:e,button:e+"-button",menu:e+"-menu"},this._drawButton(),this._drawMenu(),this._bindFormResetHandler(),this._rendered=!1,this.menuItems=t()},_drawButton:function(){var e,i=this,s=this._parseOption(this.element.find("option:selected"),this.element[0].selectedIndex);this.labels=this.element.labels().attr("for",this.ids.button),this._on(this.labels,{click:function(t){this.button.focus(),t.preventDefault()}}),this.element.hide(),this.button=t("<span>",{tabindex:this.options.disabled?-1:0,id:this.ids.button,role:"combobox","aria-expanded":"false","aria-autocomplete":"list","aria-owns":this.ids.menu,"aria-haspopup":"true",title:this.element.attr("title")}).insertAfter(this.element),this._addClass(this.button,"ui-selectmenu-button ui-selectmenu-button-closed","ui-button ui-widget"),e=t("<span>").appendTo(this.button),this._addClass(e,"ui-selectmenu-icon","ui-icon "+this.options.icons.button),this.buttonItem=this._renderButtonItem(s).appendTo(this.button),this.options.width!==!1&&this._resizeButton(),this._on(this.button,this._buttonEvents),this.button.one("focusin",function(){i._rendered||i._refreshMenu()})},_drawMenu:function(){var e=this;this.menu=t("<ul>",{"aria-hidden":"true","aria-labelledby":this.ids.button,id:this.ids.menu}),this.menuWrap=t("<div>").append(this.menu),this._addClass(this.menuWrap,"ui-selectmenu-menu","ui-front"),this.menuWrap.appendTo(this._appendTo()),this.menuInstance=this.menu.menu({classes:{"ui-menu":"ui-corner-bottom"},role:"listbox",select:function(t,i){t.preventDefault(),e._setSelection(),e._select(i.item.data("ui-selectmenu-item"),t)},focus:function(t,i){var s=i.item.data("ui-selectmenu-item");null!=e.focusIndex&&s.index!==e.focusIndex&&(e._trigger("focus",t,{item:s}),e.isOpen||e._select(s,t)),e.focusIndex=s.index,e.button.attr("aria-activedescendant",e.menuItems.eq(s.index).attr("id"))}}).menu("instance"),this.menuInstance._off(this.menu,"mouseleave"),this.menuInstance._closeOnDocumentClick=function(){return!1},this.menuInstance._isDivider=function(){return!1}},refresh:function(){this._refreshMenu(),this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item")||{})),null===this.options.width&&this._resizeButton()},_refreshMenu:function(){var t,e=this.element.find("option");this.menu.empty(),this._parseOptions(e),this._renderMenu(this.menu,this.items),this.menuInstance.refresh(),this.menuItems=this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper"),this._rendered=!0,e.length&&(t=this._getSelectedItem(),this.menuInstance.focus(null,t),this._setAria(t.data("ui-selectmenu-item")),this._setOption("disabled",this.element.prop("disabled")))},open:function(t){this.options.disabled||(this._rendered?(this._removeClass(this.menu.find(".ui-state-active"),null,"ui-state-active"),this.menuInstance.focus(null,this._getSelectedItem())):this._refreshMenu(),this.menuItems.length&&(this.isOpen=!0,this._toggleAttr(),this._resizeMenu(),this._position(),this._on(this.document,this._documentClick),this._trigger("open",t)))},_position:function(){this.menuWrap.position(t.extend({of:this.button},this.options.position))},close:function(t){this.isOpen&&(this.isOpen=!1,this._toggleAttr(),this.range=null,this._off(this.document),this._trigger("close",t))},widget:function(){return this.button},menuWidget:function(){return this.menu},_renderButtonItem:function(e){var i=t("<span>");return this._setText(i,e.label),this._addClass(i,"ui-selectmenu-text"),i},_renderMenu:function(e,i){var s=this,n="";t.each(i,function(i,o){var a;o.optgroup!==n&&(a=t("<li>",{text:o.optgroup}),s._addClass(a,"ui-selectmenu-optgroup","ui-menu-divider"+(o.element.parent("optgroup").prop("disabled")?" ui-state-disabled":"")),a.appendTo(e),n=o.optgroup),s._renderItemData(e,o)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-selectmenu-item",e)},_renderItem:function(e,i){var s=t("<li>"),n=t("<div>",{title:i.element.attr("title")});return i.disabled&&this._addClass(s,null,"ui-state-disabled"),this._setText(n,i.label),s.append(n).appendTo(e)},_setText:function(t,e){e?t.text(e):t.html("&#160;")},_move:function(t,e){var i,s,n=".ui-menu-item";this.isOpen?i=this.menuItems.eq(this.focusIndex).parent("li"):(i=this.menuItems.eq(this.element[0].selectedIndex).parent("li"),n+=":not(.ui-state-disabled)"),s="first"===t||"last"===t?i["first"===t?"prevAll":"nextAll"](n).eq(-1):i[t+"All"](n).eq(0),s.length&&this.menuInstance.focus(e,s)},_getSelectedItem:function(){return this.menuItems.eq(this.element[0].selectedIndex).parent("li")},_toggle:function(t){this[this.isOpen?"close":"open"](t)},_setSelection:function(){var t;this.range&&(window.getSelection?(t=window.getSelection(),t.removeAllRanges(),t.addRange(this.range)):this.range.select(),this.button.focus())},_documentClick:{mousedown:function(e){this.isOpen&&(t(e.target).closest(".ui-selectmenu-menu, #"+t.ui.escapeSelector(this.ids.button)).length||this.close(e))}},_buttonEvents:{mousedown:function(){var t;window.getSelection?(t=window.getSelection(),t.rangeCount&&(this.range=t.getRangeAt(0))):this.range=document.selection.createRange()},click:function(t){this._setSelection(),this._toggle(t)},keydown:function(e){var i=!0;switch(e.keyCode){case t.ui.keyCode.TAB:case t.ui.keyCode.ESCAPE:this.close(e),i=!1;break;case t.ui.keyCode.ENTER:this.isOpen&&this._selectFocusedItem(e);break;case t.ui.keyCode.UP:e.altKey?this._toggle(e):this._move("prev",e);break;case t.ui.keyCode.DOWN:e.altKey?this._toggle(e):this._move("next",e);break;case t.ui.keyCode.SPACE:this.isOpen?this._selectFocusedItem(e):this._toggle(e);break;case t.ui.keyCode.LEFT:this._move("prev",e);break;case t.ui.keyCode.RIGHT:this._move("next",e);break;case t.ui.keyCode.HOME:case t.ui.keyCode.PAGE_UP:this._move("first",e);break;case t.ui.keyCode.END:case t.ui.keyCode.PAGE_DOWN:this._move("last",e);break;default:this.menu.trigger(e),i=!1}i&&e.preventDefault()}},_selectFocusedItem:function(t){var e=this.menuItems.eq(this.focusIndex).parent("li");e.hasClass("ui-state-disabled")||this._select(e.data("ui-selectmenu-item"),t)},_select:function(t,e){var i=this.element[0].selectedIndex;this.element[0].selectedIndex=t.index,this.buttonItem.replaceWith(this.buttonItem=this._renderButtonItem(t)),this._setAria(t),this._trigger("select",e,{item:t}),t.index!==i&&this._trigger("change",e,{item:t}),this.close(e)},_setAria:function(t){var e=this.menuItems.eq(t.index).attr("id");this.button.attr({"aria-labelledby":e,"aria-activedescendant":e}),this.menu.attr("aria-activedescendant",e)},_setOption:function(t,e){if("icons"===t){var i=this.button.find("span.ui-icon");this._removeClass(i,null,this.options.icons.button)._addClass(i,null,e.button)}this._super(t,e),"appendTo"===t&&this.menuWrap.appendTo(this._appendTo()),"width"===t&&this._resizeButton()},_setOptionDisabled:function(t){this._super(t),this.menuInstance.option("disabled",t),this.button.attr("aria-disabled",t),this._toggleClass(this.button,null,"ui-state-disabled",t),this.element.prop("disabled",t),t?(this.button.attr("tabindex",-1),this.close()):this.button.attr("tabindex",0)},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e&&e[0]||(e=this.element.closest(".ui-front, dialog")),e.length||(e=this.document[0].body),e},_toggleAttr:function(){this.button.attr("aria-expanded",this.isOpen),this._removeClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"closed":"open"))._addClass(this.button,"ui-selectmenu-button-"+(this.isOpen?"open":"closed"))._toggleClass(this.menuWrap,"ui-selectmenu-open",null,this.isOpen),this.menu.attr("aria-hidden",!this.isOpen)},_resizeButton:function(){var t=this.options.width;return t===!1?(this.button.css("width",""),void 0):(null===t&&(t=this.element.show().outerWidth(),this.element.hide()),this.button.outerWidth(t),void 0)},_resizeMenu:function(){this.menu.outerWidth(Math.max(this.button.outerWidth(),this.menu.width("").outerWidth()+1))},_getCreateOptions:function(){var t=this._super();return t.disabled=this.element.prop("disabled"),t},_parseOptions:function(e){var i=this,s=[];e.each(function(e,n){s.push(i._parseOption(t(n),e))}),this.items=s},_parseOption:function(t,e){var i=t.parent("optgroup");return{element:t,index:e,value:t.val(),label:t.text(),optgroup:i.attr("label")||"",disabled:i.prop("disabled")||t.prop("disabled")}},_destroy:function(){this._unbindFormResetHandler(),this.menuWrap.remove(),this.button.remove(),this.element.show(),this.element.removeUniqueId(),this.labels.attr("for",this.ids.element)}}]),t.widget("ui.slider",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"slide",options:{animate:!1,classes:{"ui-slider":"ui-corner-all","ui-slider-handle":"ui-corner-all","ui-slider-range":"ui-corner-all ui-widget-header"},distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},numPages:5,_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this._calculateNewMax(),this._addClass("ui-slider ui-slider-"+this.orientation,"ui-widget ui-widget-content"),this._refresh(),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle"),o="<span tabindex='0'></span>",a=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)a.push(o);this.handles=n.add(t(a.join("")).appendTo(this.element)),this._addClass(this.handles,"ui-slider-handle","ui-state-default"),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e).attr("tabIndex",0)})},_createRange:function(){var e=this.options;e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?(this._removeClass(this.range,"ui-slider-range-min ui-slider-range-max"),this.range.css({left:"",bottom:""})):(this.range=t("<div>").appendTo(this.element),this._addClass(this.range,"ui-slider-range")),("min"===e.range||"max"===e.range)&&this._addClass(this.range,"ui-slider-range-"+e.range)):(this.range&&this.range.remove(),this.range=null) +},_setupEvents:function(){this._off(this.handles),this._on(this.handles,this._handleEvents),this._hoverable(this.handles),this._focusable(this.handles)},_destroy:function(){this.handles.remove(),this.range&&this.range.remove(),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,h,l,c=this,u=this.options;return u.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-c.values(e));(n>i||n===i&&(e===c._lastChangedValue||c.values(e)===u.min))&&(n=i,o=t(this),a=e)}),r=this._start(e,a),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=a,this._addClass(o,null,"ui-state-active"),o.trigger("focus"),h=o.offset(),l=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:e.pageX-h.left-o.width()/2,top:e.pageY-h.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this._removeClass(this.handles,null,"ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_uiHash:function(t,e,i){var s={handle:this.handles[t],handleIndex:t,value:void 0!==e?e:this.value()};return this._hasMultipleValues()&&(s.value=void 0!==e?e:this.values(t),s.values=i||this.values()),s},_hasMultipleValues:function(){return this.options.values&&this.options.values.length},_start:function(t,e){return this._trigger("start",t,this._uiHash(e))},_slide:function(t,e,i){var s,n,o=this.value(),a=this.values();this._hasMultipleValues()&&(n=this.values(e?0:1),o=this.values(e),2===this.options.values.length&&this.options.range===!0&&(i=0===e?Math.min(n,i):Math.max(n,i)),a[e]=i),i!==o&&(s=this._trigger("slide",t,this._uiHash(e,i,a)),s!==!1&&(this._hasMultipleValues()?this.values(e,i):this.value(i)))},_stop:function(t,e){this._trigger("stop",t,this._uiHash(e))},_change:function(t,e){this._keySliding||this._mouseSliding||(this._lastChangedValue=e,this._trigger("change",t,this._uiHash(e)))},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),void 0):this._value()},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),void 0;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this._hasMultipleValues()?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;s.length>o;o+=1)s[o]=this._trimAlignValue(n[o]),this._change(null,o);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),this._super(e,i),e){case"orientation":this._detectOrientation(),this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-"+this.orientation),this._refreshValue(),this.options.range&&this._refreshRange(i),this.handles.css("horizontal"===i?"bottom":"left","");break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=n-1;s>=0;s--)this._change(null,s);this._animateOff=!1;break;case"step":case"min":case"max":this._animateOff=!0,this._calculateNewMax(),this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_setOptionDisabled:function(t){this._super(t),this._toggleClass(null,"ui-state-disabled",!!t)},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this._hasMultipleValues()){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_calculateNewMax:function(){var t=this.options.max,e=this._valueMin(),i=this.options.step,s=Math.round((t-e)/i)*i;t=s+e,t>this.options.max&&(t-=i),this.max=parseFloat(t.toFixed(this._precision()))},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_valueMin:function(){return this.options.min},_valueMax:function(){return this.max},_refreshRange:function(t){"vertical"===t&&this.range.css({width:"",left:""}),"horizontal"===t&&this.range.css({height:"",bottom:""})},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,c={};this._hasMultipleValues()?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),c["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](c,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?100*((s-n)/(o-n)):0,c["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](c,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:100-i+"%"},r.animate),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:100-i+"%"},r.animate))},_handleEvents:{keydown:function(e){var i,s,n,o,a=t(e.target).data("ui-slider-handle-index");switch(e.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(e.preventDefault(),!this._keySliding&&(this._keySliding=!0,this._addClass(t(e.target),null,"ui-state-active"),i=this._start(e,a),i===!1))return}switch(o=this.options.step,s=n=this._hasMultipleValues()?this.values(a):this.value(),e.keyCode){case t.ui.keyCode.HOME:n=this._valueMin();break;case t.ui.keyCode.END:n=this._valueMax();break;case t.ui.keyCode.PAGE_UP:n=this._trimAlignValue(s+(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.PAGE_DOWN:n=this._trimAlignValue(s-(this._valueMax()-this._valueMin())/this.numPages);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(s===this._valueMax())return;n=this._trimAlignValue(s+o);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(s===this._valueMin())return;n=this._trimAlignValue(s-o)}this._slide(e,a,n)},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),this._removeClass(t(e.target),null,"ui-state-active"))}}}),t.widget("ui.spinner",{version:"1.12.1",defaultElement:"<input>",widgetEventPrefix:"spin",options:{classes:{"ui-spinner":"ui-corner-all","ui-spinner-down":"ui-corner-br","ui-spinner-up":"ui-corner-tr"},culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),""!==this.value()&&this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e=this._super(),i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);null!=n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var e=this.element[0]===t.ui.safeActiveElement(this.document[0]);e||(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===t.ui.safeActiveElement(this.document[0])?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap("<span>").parent().append("<a></a><a></a>")},_draw:function(){this._enhance(),this._addClass(this.uiSpinner,"ui-spinner","ui-widget ui-widget-content"),this._addClass("ui-spinner-input"),this.element.attr("role","spinbutton"),this.buttons=this.uiSpinner.children("a").attr("tabIndex",-1).attr("aria-hidden",!0).button({classes:{"ui-button":""}}),this._removeClass(this.buttons,"ui-corner-all"),this._addClass(this.buttons.first(),"ui-spinner-button ui-spinner-up"),this._addClass(this.buttons.last(),"ui-spinner-button ui-spinner-down"),this.buttons.first().button({icon:this.options.icons.up,showLabel:!1}),this.buttons.last().button({icon:this.options.icons.down,showLabel:!1}),this.buttons.height()>Math.ceil(.5*this.uiSpinner.height())&&this.uiSpinner.height()>0&&this.uiSpinner.height(this.uiSpinner.height())},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){var i,s,n;return"culture"===t||"numberFormat"===t?(i=this._parse(this.element.val()),this.options[t]=e,this.element.val(this._format(i)),void 0):(("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(s=this.buttons.first().find(".ui-icon"),this._removeClass(s,null,this.options.icons.up),this._addClass(s,null,e.up),n=this.buttons.last().find(".ui-icon"),this._removeClass(n,null,this.options.icons.down),this._addClass(n,null,e.down)),this._super(t,e),void 0)},_setOptionDisabled:function(t){this._super(t),this._toggleClass(this.uiSpinner,null,"ui-state-disabled",!!t),this.element.prop("disabled",!!t),this.buttons.button(t?"disable":"enable")},_setOptions:r(function(t){this._super(t)}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},isValid:function(){var t=this.value();return null===t?!1:t===this._adjustValue(t)},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.prop("disabled",!1).removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:r(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:r(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:r(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:r(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(r(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}}),t.uiBackCompat!==!1&&t.widget("ui.spinner",t.ui.spinner,{_enhance:function(){this.uiSpinner=this.element.attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml())},_uiSpinnerHtml:function(){return"<span>"},_buttonHtml:function(){return"<a></a><a></a>"}}),t.ui.spinner,t.widget("ui.tabs",{version:"1.12.1",delay:300,options:{active:null,classes:{"ui-tabs":"ui-corner-all","ui-tabs-nav":"ui-corner-all","ui-tabs-panel":"ui-corner-bottom","ui-tabs-tab":"ui-corner-top"},collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_isLocal:function(){var t=/#.*$/;return function(e){var i,s;i=e.href.replace(t,""),s=location.href.replace(t,"");try{i=decodeURIComponent(i)}catch(n){}try{s=decodeURIComponent(s)}catch(n){}return e.hash.length>1&&i===s}}(),_create:function(){var e=this,i=this.options;this.running=!1,this._addClass("ui-tabs","ui-widget ui-widget-content"),this._toggleClass("ui-tabs-collapsible",null,i.collapsible),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var e=this.options.active,i=this.options.collapsible,s=location.hash.substring(1);return null===e&&(s&&this.tabs.each(function(i,n){return t(n).attr("aria-controls")===s?(e=i,!1):void 0}),null===e&&(e=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===e||-1===e)&&(e=this.tabs.length?0:!1)),e!==!1&&(e=this.tabs.index(this.tabs.eq(e)),-1===e&&(e=i?!1:0)),!i&&e===!1&&this.anchors.length&&(e=0),e},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(e){var i=t(t.ui.safeActiveElement(this.document[0])).closest("li"),s=this.tabs.index(i),n=!0;if(!this._handlePageNav(e)){switch(e.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:s++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:n=!1,s--;break;case t.ui.keyCode.END:s=this.anchors.length-1;break;case t.ui.keyCode.HOME:s=0;break;case t.ui.keyCode.SPACE:return e.preventDefault(),clearTimeout(this.activating),this._activate(s),void 0;case t.ui.keyCode.ENTER:return e.preventDefault(),clearTimeout(this.activating),this._activate(s===this.options.active?!1:s),void 0;default:return}e.preventDefault(),clearTimeout(this.activating),s=this._focusNextTab(s,n),e.ctrlKey||e.metaKey||(i.attr("aria-selected","false"),this.tabs.eq(s).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",s)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.trigger("focus"))},_handlePageNav:function(e){return e.altKey&&e.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):e.altKey&&e.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):void 0},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).trigger("focus"),t},_setOption:function(t,e){return"active"===t?(this._activate(e),void 0):(this._super(t,e),"collapsible"===t&&(this._toggleClass("ui-tabs-collapsible",null,e),e||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(e),"heightStyle"===t&&this._setupHeightStyle(e),void 0)},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setOptionDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false","aria-expanded":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-hidden":"true"}),this.active.length?(this.active.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0}),this._addClass(this.active,"ui-tabs-active","ui-state-active"),this._getPanelForTab(this.active).show().attr({"aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this,i=this.tabs,s=this.anchors,n=this.panels;this.tablist=this._getList().attr("role","tablist"),this._addClass(this.tablist,"ui-tabs-nav","ui-helper-reset ui-helper-clearfix ui-widget-header"),this.tablist.on("mousedown"+this.eventNamespace,"> li",function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).on("focus"+this.eventNamespace,".ui-tabs-anchor",function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this.tabs=this.tablist.find("> li:has(a[href])").attr({role:"tab",tabIndex:-1}),this._addClass(this.tabs,"ui-tabs-tab","ui-state-default"),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).attr({role:"presentation",tabIndex:-1}),this._addClass(this.anchors,"ui-tabs-anchor"),this.panels=t(),this.anchors.each(function(i,s){var n,o,a,r=t(s).uniqueId().attr("id"),h=t(s).closest("li"),l=h.attr("aria-controls");e._isLocal(s)?(n=s.hash,a=n.substring(1),o=e.element.find(e._sanitizeSelector(n))):(a=h.attr("aria-controls")||t({}).uniqueId()[0].id,n="#"+a,o=e.element.find(n),o.length||(o=e._createPanel(a),o.insertAfter(e.panels[i-1]||e.tablist)),o.attr("aria-live","polite")),o.length&&(e.panels=e.panels.add(o)),l&&h.data("ui-tabs-aria-controls",l),h.attr({"aria-controls":a,"aria-labelledby":r}),o.attr("aria-labelledby",r)}),this.panels.attr("role","tabpanel"),this._addClass(this.panels,"ui-tabs-panel","ui-widget-content"),i&&(this._off(i.not(this.tabs)),this._off(s.not(this.anchors)),this._off(n.not(this.panels)))},_getList:function(){return this.tablist||this.element.find("ol, ul").eq(0)},_createPanel:function(e){return t("<div>").attr("id",e).data("ui-tabs-destroy",!0)},_setOptionDisabled:function(e){var i,s,n;for(t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1),n=0;s=this.tabs[n];n++)i=t(s),e===!0||-1!==t.inArray(n,e)?(i.attr("aria-disabled","true"),this._addClass(i,null,"ui-state-disabled")):(i.removeAttr("aria-disabled"),this._removeClass(i,null,"ui-state-disabled"));this.options.disabled=e,this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,e===!0)},_setupEvents:function(e){var i={};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(!0,this.anchors,{click:function(t){t.preventDefault()}}),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n.closest("li"),a=o[0]===s[0],r=a&&i.collapsible,h=r?t():this._getPanelForTab(o),l=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:l,newTab:r?t():o,newPanel:h};e.preventDefault(),o.hasClass("ui-state-disabled")||o.hasClass("ui-tabs-loading")||this.running||a&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(o),this.active=a?t():o,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(o),e),this._toggle(e,c))},_toggle:function(e,i){function s(){o.running=!1,o._trigger("activate",e,i)}function n(){o._addClass(i.newTab.closest("li"),"ui-tabs-active","ui-state-active"),a.length&&o.options.show?o._show(a,o.options.show,s):(a.show(),s())}var o=this,a=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){o._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),n()}):(this._removeClass(i.oldTab.closest("li"),"ui-tabs-active","ui-state-active"),r.hide(),n()),r.attr("aria-hidden","true"),i.oldTab.attr({"aria-selected":"false","aria-expanded":"false"}),a.length&&r.length?i.oldTab.attr("tabIndex",-1):a.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),a.attr("aria-hidden","false"),i.newTab.attr({"aria-selected":"true","aria-expanded":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(e){return"string"==typeof e&&(e=this.anchors.index(this.anchors.filter("[href$='"+t.ui.escapeSelector(e)+"']"))),e},_destroy:function(){this.xhr&&this.xhr.abort(),this.tablist.removeAttr("role").off(this.eventNamespace),this.anchors.removeAttr("role tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(e){var i=this.options.disabled;i!==!1&&(void 0===e?i=!1:(e=this._getIndex(e),i=t.isArray(i)?t.map(i,function(t){return t!==e?t:null}):t.map(this.tabs,function(t,i){return i!==e?i:null})),this._setOptionDisabled(i))},disable:function(e){var i=this.options.disabled;if(i!==!0){if(void 0===e)i=!0;else{if(e=this._getIndex(e),-1!==t.inArray(e,i))return;i=t.isArray(i)?t.merge([e],i).sort():[e]}this._setOptionDisabled(i)}},load:function(e,i){e=this._getIndex(e);var s=this,n=this.tabs.eq(e),o=n.find(".ui-tabs-anchor"),a=this._getPanelForTab(n),r={tab:n,panel:a},h=function(t,e){"abort"===e&&s.panels.stop(!1,!0),s._removeClass(n,"ui-tabs-loading"),a.removeAttr("aria-busy"),t===s.xhr&&delete s.xhr};this._isLocal(o[0])||(this.xhr=t.ajax(this._ajaxSettings(o,i,r)),this.xhr&&"canceled"!==this.xhr.statusText&&(this._addClass(n,"ui-tabs-loading"),a.attr("aria-busy","true"),this.xhr.done(function(t,e,n){setTimeout(function(){a.html(t),s._trigger("load",i,r),h(n,e)},1)}).fail(function(t,e){setTimeout(function(){h(t,e)},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href").replace(/#.*$/,""),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}}),t.uiBackCompat!==!1&&t.widget("ui.tabs",t.ui.tabs,{_processTabs:function(){this._superApply(arguments),this._addClass(this.tabs,"ui-tab")}}),t.ui.tabs,t.widget("ui.tooltip",{version:"1.12.1",options:{classes:{"ui-tooltip":"ui-corner-all ui-widget-shadow"},content:function(){var e=t(this).attr("title")||"";return t("<a>").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,track:!1,close:null,open:null},_addDescribedBy:function(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))},_removeDescribedBy:function(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.liveRegion=t("<div>").attr({role:"log","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this.disabledTitles=t([])},_setOption:function(e,i){var s=this;this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e.element)})},_setOptionDisabled:function(t){this[t?"_disable":"_enable"]()},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s.element[0],e.close(n,!0)}),this.disabledTitles=this.disabledTitles.add(this.element.find(this.options.items).addBack().filter(function(){var e=t(this);return e.is("[title]")?e.data("ui-tooltip-title",e.attr("title")).removeAttr("title"):void 0}))},_enable:function(){this.disabledTitles.each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))}),this.disabledTitles=t([])},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._registerCloseHandlers(e,s),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;return"string"==typeof s||s.nodeType||s.jquery?this._open(e,t,s):(i=s.call(t[0],function(i){n._delay(function(){t.data("ui-tooltip-open")&&(e&&(e.type=o),this._open(e,t,i))})}),i&&this._open(e,t,i),void 0)},_open:function(e,i,s){function n(t){l.of=t,a.is(":hidden")||a.position(l)}var o,a,r,h,l=t.extend({},this.options.position);if(s){if(o=this._find(i))return o.tooltip.find(".ui-tooltip-content").html(s),void 0;i.is("[title]")&&(e&&"mouseover"===e.type?i.attr("title",""):i.removeAttr("title")),o=this._tooltip(i),a=o.tooltip,this._addDescribedBy(i,a.attr("id")),a.find(".ui-tooltip-content").html(s),this.liveRegion.children().hide(),h=t("<div>").html(a.find(".ui-tooltip-content").html()),h.removeAttr("name").find("[name]").removeAttr("name"),h.removeAttr("id").find("[id]").removeAttr("id"),h.appendTo(this.liveRegion),this.options.track&&e&&/^mouse/.test(e.type)?(this._on(this.document,{mousemove:n}),n(e)):a.position(t.extend({of:i},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.track&&this.options.show&&this.options.show.delay&&(r=this.delayedShow=setInterval(function(){a.is(":visible")&&(n(l.of),clearInterval(r))},t.fx.interval)),this._trigger("open",e,{tooltip:a})}},_registerCloseHandlers:function(e,i){var s={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var s=t.Event(e);s.currentTarget=i[0],this.close(s,!0)}}};i[0]!==this.element[0]&&(s.remove=function(){this._removeTooltip(this._find(i).tooltip)}),e&&"mouseover"!==e.type||(s.mouseleave="close"),e&&"focusin"!==e.type||(s.focusout="close"),this._on(!0,i,s)},close:function(e){var i,s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);return o?(i=o.tooltip,o.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&!n.attr("title")&&n.attr("title",n.data("ui-tooltip-title")),this._removeDescribedBy(n),o.hiding=!0,i.stop(!0),this._hide(i,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e] +}),o.closing=!0,this._trigger("close",e,{tooltip:i}),o.hiding||(o.closing=!1)),void 0):(n.removeData("ui-tooltip-open"),void 0)},_tooltip:function(e){var i=t("<div>").attr("role","tooltip"),s=t("<div>").appendTo(i),n=i.uniqueId().attr("id");return this._addClass(s,"ui-tooltip-content"),this._addClass(i,"ui-tooltip","ui-widget ui-widget-content"),i.appendTo(this._appendTo(e)),this.tooltips[n]={element:e,tooltip:i}},_find:function(t){var e=t.data("ui-tooltip-id");return e?this.tooltips[e]:null},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_appendTo:function(t){var e=t.closest(".ui-front, dialog");return e.length||(e=this.document[0].body),e},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur"),o=s.element;n.target=n.currentTarget=o[0],e.close(n,!0),t("#"+i).remove(),o.data("ui-tooltip-title")&&(o.attr("title")||o.attr("title",o.data("ui-tooltip-title")),o.removeData("ui-tooltip-title"))}),this.liveRegion.remove()}}),t.uiBackCompat!==!1&&t.widget("ui.tooltip",t.ui.tooltip,{options:{tooltipClass:null},_tooltip:function(){var t=this._superApply(arguments);return this.options.tooltipClass&&t.tooltip.addClass(this.options.tooltipClass),t}}),t.ui.tooltip;var f="ui-effects-",g="ui-effects-style",m="ui-effects-animated",_=t;t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,o){var a,r=o.re.exec(i),h=r&&o.parse(r),l=o.space||"rgba";return h?(a=s[l](h),s[c[l].cache]=a[c[l].cache],n=s._rgba=a._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,o.transparent),s):o[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var o,a="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("<p>")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,a,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(a),a=e);var u=this,d=t.type(n),p=this._rgba=[];return a!==e&&(n=[n,a,r,h],d="array"),"string"===d?this.parse(s(n)||o._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var o=s.cache;f(s.props,function(t,e){if(!u[o]&&s.to){if("alpha"===t||null==n[t])return;u[o]=s.to(u._rgba)}u[o][e.idx]=i(n[t],e,!0)}),u[o]&&0>t.inArray(null,u[o].slice(0,3))&&(u[o][3]=1,s.from&&(u._rgba=s.from(u[o])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,o){var a,r=i[o.cache];return r&&(a=n[o.cache]||o.to&&o.to(n._rgba)||[],f(o.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===a[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),o=c[n],a=0===this.alpha()?l("transparent"):this,r=a[o.cache]||o.to(a._rgba),h=r.slice();return s=s[o.cache],f(o.props,function(t,n){var o=n.idx,a=r[o],l=s[o],c=u[n.type]||{};null!==l&&(null===a?h[o]=l:(c.mod&&(l-a>c.mod/2?a+=c.mod:a-l>c.mod/2&&(a-=c.mod)),h[o]=i((l-a)*e+a,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],o=t[3],a=.5>=s?s*(1+i):s+i-s*i,r=2*s-a;return[Math.round(255*n(r,a,e+1/3)),Math.round(255*n(r,a,e)),Math.round(255*n(r,a,e-1/3)),o]},f(c,function(s,n){var o=n.props,a=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[a]&&(this[a]=h(this._rgba)),s===e)return this[a].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[a].slice();return f(o,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[a]=d,n):l(d)},f(o,function(e,i){l.fn[e]||(l.fn[e]=function(n){var o,a=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===a?c:("function"===a&&(n=n.call(this,c),a=t.type(n)),null==n&&i.empty?this:("string"===a&&(o=r.exec(n),o&&(n=c+parseFloat(o[2])*("+"===o[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var o,a,r="";if("transparent"!==n&&("string"!==t.type(n)||(o=s(n)))){if(n=l(o||n),!d.rgba&&1!==n._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(a),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},o=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(_),function(){function e(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}function i(e,i){var s,o,a={};for(s in i)o=i[s],e[s]!==o&&(n[s]||(t.fx.step[s]||!isNaN(parseFloat(o)))&&(a[s]=o));return a}var s=["add","remove","toggle"],n={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(_.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(n,o,a,r){var h=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map(function(){var i=t(this);return{el:i,start:e(this)}}),o=function(){t.each(s,function(t,e){n[e]&&a[e+"Class"](n[e])})},o(),l=l.map(function(){return this.end=e(this.el[0]),this.diff=i(this.start,this.end),this}),a.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(a[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(e){return function(i,s,n,o,a){return"boolean"==typeof s||void 0===s?n?t.effects.animateClass.call(this,s?{add:i}:{remove:i},n,o,a):e.apply(this,arguments):t.effects.animateClass.call(this,{toggle:i},s,n,o)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){function e(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function i(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}function s(t,e){var i=e.outerWidth(),s=e.outerHeight(),n=/^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/,o=n.exec(t)||["",0,i,s,0];return{top:parseFloat(o[1])||0,right:"auto"===o[2]?i:parseFloat(o[2]),bottom:"auto"===o[3]?s:parseFloat(o[3]),left:parseFloat(o[4])||0}}t.expr&&t.expr.filters&&t.expr.filters.animated&&(t.expr.filters.animated=function(e){return function(i){return!!t(i).data(m)||e(i)}}(t.expr.filters.animated)),t.uiBackCompat!==!1&&t.extend(t.effects,{save:function(t,e){for(var i=0,s=e.length;s>i;i++)null!==e[i]&&t.data(f+e[i],t[0].style[e[i]])},restore:function(t,e){for(var i,s=0,n=e.length;n>s;s++)null!==e[s]&&(i=t.data(f+e[s]),t.css(e[s],i))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(a){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).trigger("focus"),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).trigger("focus")),e}}),t.extend(t.effects,{version:"1.12.1",define:function(e,i,s){return s||(s=i,i="effect"),t.effects.effect[e]=s,t.effects.effect[e].mode=i,s},scaledDimensions:function(t,e,i){if(0===e)return{height:0,width:0,outerHeight:0,outerWidth:0};var s="horizontal"!==i?(e||100)/100:1,n="vertical"!==i?(e||100)/100:1;return{height:t.height()*n,width:t.width()*s,outerHeight:t.outerHeight()*n,outerWidth:t.outerWidth()*s}},clipToBox:function(t){return{width:t.clip.right-t.clip.left,height:t.clip.bottom-t.clip.top,left:t.clip.left,top:t.clip.top}},unshift:function(t,e,i){var s=t.queue();e>1&&s.splice.apply(s,[1,0].concat(s.splice(e,i))),t.dequeue()},saveStyle:function(t){t.data(g,t[0].style.cssText)},restoreStyle:function(t){t[0].style.cssText=t.data(g)||"",t.removeData(g)},mode:function(t,e){var i=t.is(":hidden");return"toggle"===e&&(e=i?"show":"hide"),(i?"hide"===e:"show"===e)&&(e="none"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createPlaceholder:function(e){var i,s=e.css("position"),n=e.position();return e.css({marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()),/^(static|relative)/.test(s)&&(s="absolute",i=t("<"+e[0].nodeName+">").insertAfter(e).css({display:/^(inline|ruby)/.test(e.css("display"))?"inline-block":"block",visibility:"hidden",marginTop:e.css("marginTop"),marginBottom:e.css("marginBottom"),marginLeft:e.css("marginLeft"),marginRight:e.css("marginRight"),"float":e.css("float")}).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).addClass("ui-effects-placeholder"),e.data(f+"placeholder",i)),e.css({position:s,left:n.left,top:n.top}),i},removePlaceholder:function(t){var e=f+"placeholder",i=t.data(e);i&&(i.remove(),t.removeData(e))},cleanUp:function(e){t.effects.restoreStyle(e),t.effects.removePlaceholder(e)},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){function i(e){function i(){r.removeData(m),t.effects.cleanUp(r),"hide"===s.mode&&r.hide(),a()}function a(){t.isFunction(h)&&h.call(r[0]),t.isFunction(e)&&e()}var r=t(this);s.mode=c.shift(),t.uiBackCompat===!1||o?"none"===s.mode?(r[l](),a()):n.call(r[0],s,i):(r.is(":hidden")?"hide"===l:"show"===l)?(r[l](),a()):n.call(r[0],s,a)}var s=e.apply(this,arguments),n=t.effects.effect[s.effect],o=n.mode,a=s.queue,r=a||"fx",h=s.complete,l=s.mode,c=[],u=function(e){var i=t(this),s=t.effects.mode(i,l)||o;i.data(m,!0),c.push(s),o&&("show"===s||s===o&&"hide"===s)&&i.show(),o&&"none"===s||t.effects.saveStyle(i),t.isFunction(e)&&e()};return t.fx.off||!n?l?this[l](s.duration,h):this.each(function(){h&&h.call(this)}):a===!1?this.each(u).each(i):this.queue(r,u).queue(r,i)},show:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="show",this.effect.call(this,n)}}(t.fn.show),hide:function(t){return function(s){if(i(s))return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="hide",this.effect.call(this,n)}}(t.fn.hide),toggle:function(t){return function(s){if(i(s)||"boolean"==typeof s)return t.apply(this,arguments);var n=e.apply(this,arguments);return n.mode="toggle",this.effect.call(this,n)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s},cssClip:function(t){return t?this.css("clip","rect("+t.top+"px "+t.right+"px "+t.bottom+"px "+t.left+"px)"):s(this.css("clip"),this)},transfer:function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("<div class='ui-effects-transfer'></div>").appendTo("body").addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),t.isFunction(i)&&i()})}}),t.fx.step.clip=function(e){e.clipInit||(e.start=t(e.elem).cssClip(),"string"==typeof e.end&&(e.end=s(e.end,e.elem)),e.clipInit=!0),t(e.elem).cssClip({top:e.pos*(e.end.top-e.start.top)+e.start.top,right:e.pos*(e.end.right-e.start.right)+e.start.right,bottom:e.pos*(e.end.bottom-e.start.bottom)+e.start.bottom,left:e.pos*(e.end.left-e.start.left)+e.start.left})}}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}();var v=t.effects;t.effects.define("blind","hide",function(e,i){var s={up:["bottom","top"],vertical:["bottom","top"],down:["top","bottom"],left:["right","left"],horizontal:["right","left"],right:["left","right"]},n=t(this),o=e.direction||"up",a=n.cssClip(),r={clip:t.extend({},a)},h=t.effects.createPlaceholder(n);r.clip[s[o][0]]=r.clip[s[o][1]],"show"===e.mode&&(n.cssClip(r.clip),h&&h.css(t.effects.clipToBox(r)),r.clip=a),h&&h.animate(t.effects.clipToBox(r),e.duration,e.easing),n.animate(r,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("bounce",function(e,i){var s,n,o,a=t(this),r=e.mode,h="hide"===r,l="show"===r,c=e.direction||"up",u=e.distance,d=e.times||5,p=2*d+(l||h?1:0),f=e.duration/p,g=e.easing,m="up"===c||"down"===c?"top":"left",_="up"===c||"left"===c,v=0,b=a.queue().length;for(t.effects.createPlaceholder(a),o=a.css(m),u||(u=a["top"===m?"outerHeight":"outerWidth"]()/3),l&&(n={opacity:1},n[m]=o,a.css("opacity",0).css(m,_?2*-u:2*u).animate(n,f,g)),h&&(u/=Math.pow(2,d-1)),n={},n[m]=o;d>v;v++)s={},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g).animate(n,f,g),u=h?2*u:u/2;h&&(s={opacity:0},s[m]=(_?"-=":"+=")+u,a.animate(s,f,g)),a.queue(i),t.effects.unshift(a,b,p+1)}),t.effects.define("clip","hide",function(e,i){var s,n={},o=t(this),a=e.direction||"vertical",r="both"===a,h=r||"horizontal"===a,l=r||"vertical"===a;s=o.cssClip(),n.clip={top:l?(s.bottom-s.top)/2:s.top,right:h?(s.right-s.left)/2:s.right,bottom:l?(s.bottom-s.top)/2:s.bottom,left:h?(s.right-s.left)/2:s.left},t.effects.createPlaceholder(o),"show"===e.mode&&(o.cssClip(n.clip),n.clip=s),o.animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("drop","hide",function(e,i){var s,n=t(this),o=e.mode,a="show"===o,r=e.direction||"left",h="up"===r||"down"===r?"top":"left",l="up"===r||"left"===r?"-=":"+=",c="+="===l?"-=":"+=",u={opacity:0};t.effects.createPlaceholder(n),s=e.distance||n["top"===h?"outerHeight":"outerWidth"](!0)/2,u[h]=l+s,a&&(n.css(u),u[h]=c+s,u.opacity=1),n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("explode","hide",function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),i()}var o,a,r,h,l,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=e.mode,g="show"===f,m=p.show().css("visibility","hidden").offset(),_=Math.ceil(p.outerWidth()/d),v=Math.ceil(p.outerHeight()/u),b=[];for(o=0;u>o;o++)for(h=m.top+o*v,c=o-(u-1)/2,a=0;d>a;a++)r=m.left+a*_,l=a-(d-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-a*_,top:-o*v}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:_,height:v,left:r+(g?l*_:0),top:h+(g?c*v:0),opacity:g?0:1}).animate({left:r+(g?0:l*_),top:h+(g?0:c*v),opacity:g?1:0},e.duration||500,e.easing,s)}),t.effects.define("fade","toggle",function(e,i){var s="show"===e.mode;t(this).css("opacity",s?0:1).animate({opacity:s?1:0},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("fold","hide",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=e.size||15,h=/([0-9]+)%/.exec(r),l=!!e.horizFirst,c=l?["right","bottom"]:["bottom","right"],u=e.duration/2,d=t.effects.createPlaceholder(s),p=s.cssClip(),f={clip:t.extend({},p)},g={clip:t.extend({},p)},m=[p[c[0]],p[c[1]]],_=s.queue().length;h&&(r=parseInt(h[1],10)/100*m[a?0:1]),f.clip[c[0]]=r,g.clip[c[0]]=r,g.clip[c[1]]=0,o&&(s.cssClip(g.clip),d&&d.css(t.effects.clipToBox(g)),g.clip=p),s.queue(function(i){d&&d.animate(t.effects.clipToBox(f),u,e.easing).animate(t.effects.clipToBox(g),u,e.easing),i()}).animate(f,u,e.easing).animate(g,u,e.easing).queue(i),t.effects.unshift(s,_,4)}),t.effects.define("highlight","show",function(e,i){var s=t(this),n={backgroundColor:s.css("backgroundColor")};"hide"===e.mode&&(n.opacity=0),t.effects.saveStyle(s),s.css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(n,{queue:!1,duration:e.duration,easing:e.easing,complete:i})}),t.effects.define("size",function(e,i){var s,n,o,a=t(this),r=["fontSize"],h=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],l=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],c=e.mode,u="effect"!==c,d=e.scale||"both",p=e.origin||["middle","center"],f=a.css("position"),g=a.position(),m=t.effects.scaledDimensions(a),_=e.from||m,v=e.to||t.effects.scaledDimensions(a,0);t.effects.createPlaceholder(a),"show"===c&&(o=_,_=v,v=o),n={from:{y:_.height/m.height,x:_.width/m.width},to:{y:v.height/m.height,x:v.width/m.width}},("box"===d||"both"===d)&&(n.from.y!==n.to.y&&(_=t.effects.setTransition(a,h,n.from.y,_),v=t.effects.setTransition(a,h,n.to.y,v)),n.from.x!==n.to.x&&(_=t.effects.setTransition(a,l,n.from.x,_),v=t.effects.setTransition(a,l,n.to.x,v))),("content"===d||"both"===d)&&n.from.y!==n.to.y&&(_=t.effects.setTransition(a,r,n.from.y,_),v=t.effects.setTransition(a,r,n.to.y,v)),p&&(s=t.effects.getBaseline(p,m),_.top=(m.outerHeight-_.outerHeight)*s.y+g.top,_.left=(m.outerWidth-_.outerWidth)*s.x+g.left,v.top=(m.outerHeight-v.outerHeight)*s.y+g.top,v.left=(m.outerWidth-v.outerWidth)*s.x+g.left),a.css(_),("content"===d||"both"===d)&&(h=h.concat(["marginTop","marginBottom"]).concat(r),l=l.concat(["marginLeft","marginRight"]),a.find("*[width]").each(function(){var i=t(this),s=t.effects.scaledDimensions(i),o={height:s.height*n.from.y,width:s.width*n.from.x,outerHeight:s.outerHeight*n.from.y,outerWidth:s.outerWidth*n.from.x},a={height:s.height*n.to.y,width:s.width*n.to.x,outerHeight:s.height*n.to.y,outerWidth:s.width*n.to.x};n.from.y!==n.to.y&&(o=t.effects.setTransition(i,h,n.from.y,o),a=t.effects.setTransition(i,h,n.to.y,a)),n.from.x!==n.to.x&&(o=t.effects.setTransition(i,l,n.from.x,o),a=t.effects.setTransition(i,l,n.to.x,a)),u&&t.effects.saveStyle(i),i.css(o),i.animate(a,e.duration,e.easing,function(){u&&t.effects.restoreStyle(i)})})),a.animate(v,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){var e=a.offset();0===v.opacity&&a.css("opacity",_.opacity),u||(a.css("position","static"===f?"relative":f).offset(e),t.effects.saveStyle(a)),i()}})}),t.effects.define("scale",function(e,i){var s=t(this),n=e.mode,o=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"effect"!==n?0:100),a=t.extend(!0,{from:t.effects.scaledDimensions(s),to:t.effects.scaledDimensions(s,o,e.direction||"both"),origin:e.origin||["middle","center"]},e);e.fade&&(a.from.opacity=1,a.to.opacity=0),t.effects.effect.size.call(this,a,i)}),t.effects.define("puff","hide",function(e,i){var s=t.extend(!0,{},e,{fade:!0,percent:parseInt(e.percent,10)||150});t.effects.effect.scale.call(this,s,i)}),t.effects.define("pulsate","show",function(e,i){var s=t(this),n=e.mode,o="show"===n,a="hide"===n,r=o||a,h=2*(e.times||5)+(r?1:0),l=e.duration/h,c=0,u=1,d=s.queue().length;for((o||!s.is(":visible"))&&(s.css("opacity",0).show(),c=1);h>u;u++)s.animate({opacity:c},l,e.easing),c=1-c;s.animate({opacity:c},l,e.easing),s.queue(i),t.effects.unshift(s,d,h+1)}),t.effects.define("shake",function(e,i){var s=1,n=t(this),o=e.direction||"left",a=e.distance||20,r=e.times||3,h=2*r+1,l=Math.round(e.duration/h),c="up"===o||"down"===o?"top":"left",u="up"===o||"left"===o,d={},p={},f={},g=n.queue().length;for(t.effects.createPlaceholder(n),d[c]=(u?"-=":"+=")+a,p[c]=(u?"+=":"-=")+2*a,f[c]=(u?"-=":"+=")+2*a,n.animate(d,l,e.easing);r>s;s++)n.animate(p,l,e.easing).animate(f,l,e.easing);n.animate(p,l,e.easing).animate(d,l/2,e.easing).queue(i),t.effects.unshift(n,g,h+1)}),t.effects.define("slide","show",function(e,i){var s,n,o=t(this),a={up:["bottom","top"],down:["top","bottom"],left:["right","left"],right:["left","right"]},r=e.mode,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h,u=e.distance||o["top"===l?"outerHeight":"outerWidth"](!0),d={};t.effects.createPlaceholder(o),s=o.cssClip(),n=o.position()[l],d[l]=(c?-1:1)*u+n,d.clip=o.cssClip(),d.clip[a[h][1]]=d.clip[a[h][0]],"show"===r&&(o.cssClip(d.clip),o.css(l,d[l]),d.clip=s,d[l]=n),o.animate(d,{queue:!1,duration:e.duration,easing:e.easing,complete:i})});var v;t.uiBackCompat!==!1&&(v=t.effects.define("transfer",function(e,i){t(this).transfer(e,i)}))}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/package.json =================================================================== --- base3.10/src/main/webapp/resource/jquery-ui-1.12.1/package.json (nonexistent) +++ base3.10/src/main/webapp/resource/jquery-ui-1.12.1/package.json (revision 7) @@ -0,0 +1,74 @@ +{ + "name": "jquery-ui", + "title": "jQuery UI", + "description": "A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.", + "version": "1.12.1", + "homepage": "http://jqueryui.com", + "author": { + "name": "jQuery Foundation and other contributors", + "url": "https://github.com/jquery/jquery-ui/blob/1.12.1/AUTHORS.txt" + }, + "main": "ui/widget.js", + "maintainers": [ + { + "name": "Scott González", + "email": "scott.gonzalez@gmail.com", + "url": "http://scottgonzalez.com" + }, + { + "name": "Jörn Zaefferer", + "email": "joern.zaefferer@gmail.com", + "url": "http://bassistance.de" + }, + { + "name": "Mike Sherov", + "email": "mike.sherov@gmail.com", + "url": "http://mike.sherov.com" + }, + { + "name": "TJ VanToll", + "email": "tj.vantoll@gmail.com", + "url": "http://tjvantoll.com" + }, + { + "name": "Felix Nagel", + "email": "info@felixnagel.com", + "url": "http://www.felixnagel.com" + }, + { + "name": "Alex Schmitz", + "email": "arschmitz@gmail.com", + "url": "https://github.com/arschmitz" + } + ], + "repository": { + "type": "git", + "url": "git://github.com/jquery/jquery-ui.git" + }, + "bugs": "https://bugs.jqueryui.com/", + "license": "MIT", + "scripts": { + "test": "grunt" + }, + "dependencies": {}, + "devDependencies": { + "commitplease": "2.3.0", + "grunt": "0.4.5", + "grunt-bowercopy": "1.2.4", + "grunt-cli": "0.1.13", + "grunt-compare-size": "0.4.0", + "grunt-contrib-concat": "0.5.1", + "grunt-contrib-csslint": "0.5.0", + "grunt-contrib-jshint": "0.12.0", + "grunt-contrib-qunit": "1.0.1", + "grunt-contrib-requirejs": "0.4.4", + "grunt-contrib-uglify": "0.11.1", + "grunt-git-authors": "3.1.0", + "grunt-html": "6.0.0", + "grunt-jscs": "2.1.0", + "load-grunt-tasks": "3.4.0", + "rimraf": "2.5.1", + "testswarm": "1.1.0" + }, + "keywords": [] +} Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.structure.min.css =================================================================== --- base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.structure.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.structure.min.css (revision 7) @@ -0,0 +1,5 @@ +/*! jQuery UI - v1.12.1 - 2017-09-10 +* http://jqueryui.com +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup > .ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup > .ui-controlgroup-item:focus,.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical > .ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.structure.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/LICENSE.txt =================================================================== --- base3.10/src/main/webapp/resource/jquery-ui-1.12.1/LICENSE.txt (nonexistent) +++ base3.10/src/main/webapp/resource/jquery-ui-1.12.1/LICENSE.txt (revision 7) @@ -0,0 +1,43 @@ +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/LICENSE.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.theme.css =================================================================== --- base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.theme.css (nonexistent) +++ base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.theme.css (revision 7) @@ -0,0 +1,443 @@ +/*! + * jQuery UI CSS Framework 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/theming/ + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: Arial,Helvetica,sans-serif; + font-size: 1em; +} +.ui-widget .ui-widget { + font-size: 1em; +} +.ui-widget input, +.ui-widget select, +.ui-widget textarea, +.ui-widget button { + font-family: Arial,Helvetica,sans-serif; + font-size: 1em; +} +.ui-widget.ui-widget-content { + border: 1px solid #c5c5c5; +} +.ui-widget-content { + border: 1px solid #dddddd; + background: #ffffff; + color: #333333; +} +.ui-widget-content a { + color: #333333; +} +.ui-widget-header { + border: 1px solid #dddddd; + background: #e9e9e9; + color: #333333; + font-weight: bold; +} +.ui-widget-header a { + color: #333333; +} + +/* Interaction states +----------------------------------*/ +.ui-state-default, +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default, +.ui-button, + +/* We use html here because we need a greater specificity to make sure disabled +works properly when clicked or hovered */ +html .ui-button.ui-state-disabled:hover, +html .ui-button.ui-state-disabled:active { + border: 1px solid #c5c5c5; + background: #f6f6f6; + font-weight: normal; + color: #454545; +} +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited, +a.ui-button, +a:link.ui-button, +a:visited.ui-button, +.ui-button { + color: #454545; + text-decoration: none; +} +.ui-state-hover, +.ui-widget-content .ui-state-hover, +.ui-widget-header .ui-state-hover, +.ui-state-focus, +.ui-widget-content .ui-state-focus, +.ui-widget-header .ui-state-focus, +.ui-button:hover, +.ui-button:focus { + border: 1px solid #cccccc; + background: #ededed; + font-weight: normal; + color: #2b2b2b; +} +.ui-state-hover a, +.ui-state-hover a:hover, +.ui-state-hover a:link, +.ui-state-hover a:visited, +.ui-state-focus a, +.ui-state-focus a:hover, +.ui-state-focus a:link, +.ui-state-focus a:visited, +a.ui-button:hover, +a.ui-button:focus { + color: #2b2b2b; + text-decoration: none; +} + +.ui-visual-focus { + box-shadow: 0 0 3px 1px rgb(94, 158, 214); +} +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active, +a.ui-button:active, +.ui-button:active, +.ui-button.ui-state-active:hover { + border: 1px solid #003eff; + background: #007fff; + font-weight: normal; + color: #ffffff; +} +.ui-icon-background, +.ui-state-active .ui-icon-background { + border: #003eff; + background-color: #ffffff; +} +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited { + color: #ffffff; + text-decoration: none; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { + border: 1px solid #dad55e; + background: #fffa90; + color: #777620; +} +.ui-state-checked { + border: 1px solid #dad55e; + background: #fffa90; +} +.ui-state-highlight a, +.ui-widget-content .ui-state-highlight a, +.ui-widget-header .ui-state-highlight a { + color: #777620; +} +.ui-state-error, +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { + border: 1px solid #f1a899; + background: #fddfdf; + color: #5f3f3f; +} +.ui-state-error a, +.ui-widget-content .ui-state-error a, +.ui-widget-header .ui-state-error a { + color: #5f3f3f; +} +.ui-state-error-text, +.ui-widget-content .ui-state-error-text, +.ui-widget-header .ui-state-error-text { + color: #5f3f3f; +} +.ui-priority-primary, +.ui-widget-content .ui-priority-primary, +.ui-widget-header .ui-priority-primary { + font-weight: bold; +} +.ui-priority-secondary, +.ui-widget-content .ui-priority-secondary, +.ui-widget-header .ui-priority-secondary { + opacity: .7; + filter:Alpha(Opacity=70); /* support: IE8 */ + font-weight: normal; +} +.ui-state-disabled, +.ui-widget-content .ui-state-disabled, +.ui-widget-header .ui-state-disabled { + opacity: .35; + filter:Alpha(Opacity=35); /* support: IE8 */ + background-image: none; +} +.ui-state-disabled .ui-icon { + filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ +} + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + width: 16px; + height: 16px; +} +.ui-icon, +.ui-widget-content .ui-icon { + background-image: url("images/ui-icons_444444_256x240.png"); +} +.ui-widget-header .ui-icon { + background-image: url("images/ui-icons_444444_256x240.png"); +} +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon, +.ui-button:hover .ui-icon, +.ui-button:focus .ui-icon { + background-image: url("images/ui-icons_555555_256x240.png"); +} +.ui-state-active .ui-icon, +.ui-button:active .ui-icon { + background-image: url("images/ui-icons_ffffff_256x240.png"); +} +.ui-state-highlight .ui-icon, +.ui-button .ui-state-highlight.ui-icon { + background-image: url("images/ui-icons_777620_256x240.png"); +} +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { + background-image: url("images/ui-icons_cc0000_256x240.png"); +} +.ui-button .ui-icon { + background-image: url("images/ui-icons_777777_256x240.png"); +} + +/* positioning */ +.ui-icon-blank { background-position: 16px 16px; } +.ui-icon-caret-1-n { background-position: 0 0; } +.ui-icon-caret-1-ne { background-position: -16px 0; } +.ui-icon-caret-1-e { background-position: -32px 0; } +.ui-icon-caret-1-se { background-position: -48px 0; } +.ui-icon-caret-1-s { background-position: -65px 0; } +.ui-icon-caret-1-sw { background-position: -80px 0; } +.ui-icon-caret-1-w { background-position: -96px 0; } +.ui-icon-caret-1-nw { background-position: -112px 0; } +.ui-icon-caret-2-n-s { background-position: -128px 0; } +.ui-icon-caret-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -65px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -65px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 1px -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-on { background-position: -96px -144px; } +.ui-icon-radio-off { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, +.ui-corner-top, +.ui-corner-left, +.ui-corner-tl { + border-top-left-radius: 3px; +} +.ui-corner-all, +.ui-corner-top, +.ui-corner-right, +.ui-corner-tr { + border-top-right-radius: 3px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-left, +.ui-corner-bl { + border-bottom-left-radius: 3px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-right, +.ui-corner-br { + border-bottom-right-radius: 3px; +} + +/* Overlays */ +.ui-widget-overlay { + background: #aaaaaa; + opacity: .3; + filter: Alpha(Opacity=30); /* support: IE8 */ +} +.ui-widget-shadow { + -webkit-box-shadow: 0px 0px 5px #666666; + box-shadow: 0px 0px 5px #666666; +} Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.theme.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.js =================================================================== --- base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.js (nonexistent) +++ base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.js (revision 7) @@ -0,0 +1,18706 @@ +/*! jQuery UI - v1.12.1 - 2017-09-10 +* http://jqueryui.com +* Includes: widget.js, position.js, data.js, disable-selection.js, focusable.js, form-reset-mixin.js, jquery-1-7.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/draggable.js, widgets/droppable.js, widgets/resizable.js, widgets/selectable.js, widgets/sortable.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/selectmenu.js, widgets/slider.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +(function( factory ) { + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define([ "jquery" ], factory ); + } else { + + // Browser globals + factory( jQuery ); + } +}(function( $ ) { + +$.ui = $.ui || {}; + +var version = $.ui.version = "1.12.1"; + + +/*! + * jQuery UI Widget 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Widget +//>>group: Core +//>>description: Provides a factory for creating stateful widgets with a common API. +//>>docs: http://api.jqueryui.com/jQuery.widget/ +//>>demos: http://jqueryui.com/widget/ + + + +var widgetUuid = 0; +var widgetSlice = Array.prototype.slice; + +$.cleanData = ( function( orig ) { + return function( elems ) { + var events, elem, i; + for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) { + try { + + // Only trigger remove when necessary to save time + events = $._data( elem, "events" ); + if ( events && events.remove ) { + $( elem ).triggerHandler( "remove" ); + } + + // Http://bugs.jquery.com/ticket/8235 + } catch ( e ) {} + } + orig( elems ); + }; +} )( $.cleanData ); + +$.widget = function( name, base, prototype ) { + var existingConstructor, constructor, basePrototype; + + // ProxiedPrototype allows the provided prototype to remain unmodified + // so that it can be used as a mixin for multiple widgets (#8876) + var proxiedPrototype = {}; + + var namespace = name.split( "." )[ 0 ]; + name = name.split( "." )[ 1 ]; + var fullName = namespace + "-" + name; + + if ( !prototype ) { + prototype = base; + base = $.Widget; + } + + if ( $.isArray( prototype ) ) { + prototype = $.extend.apply( null, [ {} ].concat( prototype ) ); + } + + // Create selector for plugin + $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { + return !!$.data( elem, fullName ); + }; + + $[ namespace ] = $[ namespace ] || {}; + existingConstructor = $[ namespace ][ name ]; + constructor = $[ namespace ][ name ] = function( options, element ) { + + // Allow instantiation without "new" keyword + if ( !this._createWidget ) { + return new constructor( options, element ); + } + + // Allow instantiation without initializing for simple inheritance + // must use "new" keyword (the code above always passes args) + if ( arguments.length ) { + this._createWidget( options, element ); + } + }; + + // Extend with the existing constructor to carry over any static properties + $.extend( constructor, existingConstructor, { + version: prototype.version, + + // Copy the object used to create the prototype in case we need to + // redefine the widget later + _proto: $.extend( {}, prototype ), + + // Track widgets that inherit from this widget in case this widget is + // redefined after a widget inherits from it + _childConstructors: [] + } ); + + basePrototype = new base(); + + // We need to make the options hash a property directly on the new instance + // otherwise we'll modify the options hash on the prototype that we're + // inheriting from + basePrototype.options = $.widget.extend( {}, basePrototype.options ); + $.each( prototype, function( prop, value ) { + if ( !$.isFunction( value ) ) { + proxiedPrototype[ prop ] = value; + return; + } + proxiedPrototype[ prop ] = ( function() { + function _super() { + return base.prototype[ prop ].apply( this, arguments ); + } + + function _superApply( args ) { + return base.prototype[ prop ].apply( this, args ); + } + + return function() { + var __super = this._super; + var __superApply = this._superApply; + var returnValue; + + this._super = _super; + this._superApply = _superApply; + + returnValue = value.apply( this, arguments ); + + this._super = __super; + this._superApply = __superApply; + + return returnValue; + }; + } )(); + } ); + constructor.prototype = $.widget.extend( basePrototype, { + + // TODO: remove support for widgetEventPrefix + // always use the name + a colon as the prefix, e.g., draggable:start + // don't prefix for widgets that aren't DOM-based + widgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name + }, proxiedPrototype, { + constructor: constructor, + namespace: namespace, + widgetName: name, + widgetFullName: fullName + } ); + + // If this widget is being redefined then we need to find all widgets that + // are inheriting from it and redefine all of them so that they inherit from + // the new version of this widget. We're essentially trying to replace one + // level in the prototype chain. + if ( existingConstructor ) { + $.each( existingConstructor._childConstructors, function( i, child ) { + var childPrototype = child.prototype; + + // Redefine the child widget using the same prototype that was + // originally used, but inherit from the new version of the base + $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, + child._proto ); + } ); + + // Remove the list of existing child constructors from the old constructor + // so the old child constructors can be garbage collected + delete existingConstructor._childConstructors; + } else { + base._childConstructors.push( constructor ); + } + + $.widget.bridge( name, constructor ); + + return constructor; +}; + +$.widget.extend = function( target ) { + var input = widgetSlice.call( arguments, 1 ); + var inputIndex = 0; + var inputLength = input.length; + var key; + var value; + + for ( ; inputIndex < inputLength; inputIndex++ ) { + for ( key in input[ inputIndex ] ) { + value = input[ inputIndex ][ key ]; + if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { + + // Clone objects + if ( $.isPlainObject( value ) ) { + target[ key ] = $.isPlainObject( target[ key ] ) ? + $.widget.extend( {}, target[ key ], value ) : + + // Don't extend strings, arrays, etc. with objects + $.widget.extend( {}, value ); + + // Copy everything else by reference + } else { + target[ key ] = value; + } + } + } + } + return target; +}; + +$.widget.bridge = function( name, object ) { + var fullName = object.prototype.widgetFullName || name; + $.fn[ name ] = function( options ) { + var isMethodCall = typeof options === "string"; + var args = widgetSlice.call( arguments, 1 ); + var returnValue = this; + + if ( isMethodCall ) { + + // If this is an empty collection, we need to have the instance method + // return undefined instead of the jQuery instance + if ( !this.length && options === "instance" ) { + returnValue = undefined; + } else { + this.each( function() { + var methodValue; + var instance = $.data( this, fullName ); + + if ( options === "instance" ) { + returnValue = instance; + return false; + } + + if ( !instance ) { + return $.error( "cannot call methods on " + name + + " prior to initialization; " + + "attempted to call method '" + options + "'" ); + } + + if ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === "_" ) { + return $.error( "no such method '" + options + "' for " + name + + " widget instance" ); + } + + methodValue = instance[ options ].apply( instance, args ); + + if ( methodValue !== instance && methodValue !== undefined ) { + returnValue = methodValue && methodValue.jquery ? + returnValue.pushStack( methodValue.get() ) : + methodValue; + return false; + } + } ); + } + } else { + + // Allow multiple hashes to be passed on init + if ( args.length ) { + options = $.widget.extend.apply( null, [ options ].concat( args ) ); + } + + this.each( function() { + var instance = $.data( this, fullName ); + if ( instance ) { + instance.option( options || {} ); + if ( instance._init ) { + instance._init(); + } + } else { + $.data( this, fullName, new object( options, this ) ); + } + } ); + } + + return returnValue; + }; +}; + +$.Widget = function( /* options, element */ ) {}; +$.Widget._childConstructors = []; + +$.Widget.prototype = { + widgetName: "widget", + widgetEventPrefix: "", + defaultElement: "<div>", + + options: { + classes: {}, + disabled: false, + + // Callbacks + create: null + }, + + _createWidget: function( options, element ) { + element = $( element || this.defaultElement || this )[ 0 ]; + this.element = $( element ); + this.uuid = widgetUuid++; + this.eventNamespace = "." + this.widgetName + this.uuid; + + this.bindings = $(); + this.hoverable = $(); + this.focusable = $(); + this.classesElementLookup = {}; + + if ( element !== this ) { + $.data( element, this.widgetFullName, this ); + this._on( true, this.element, { + remove: function( event ) { + if ( event.target === element ) { + this.destroy(); + } + } + } ); + this.document = $( element.style ? + + // Element within the document + element.ownerDocument : + + // Element is window or document + element.document || element ); + this.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow ); + } + + this.options = $.widget.extend( {}, + this.options, + this._getCreateOptions(), + options ); + + this._create(); + + if ( this.options.disabled ) { + this._setOptionDisabled( this.options.disabled ); + } + + this._trigger( "create", null, this._getCreateEventData() ); + this._init(); + }, + + _getCreateOptions: function() { + return {}; + }, + + _getCreateEventData: $.noop, + + _create: $.noop, + + _init: $.noop, + + destroy: function() { + var that = this; + + this._destroy(); + $.each( this.classesElementLookup, function( key, value ) { + that._removeClass( value, key ); + } ); + + // We can probably remove the unbind calls in 2.0 + // all event bindings should go through this._on() + this.element + .off( this.eventNamespace ) + .removeData( this.widgetFullName ); + this.widget() + .off( this.eventNamespace ) + .removeAttr( "aria-disabled" ); + + // Clean up events and states + this.bindings.off( this.eventNamespace ); + }, + + _destroy: $.noop, + + widget: function() { + return this.element; + }, + + option: function( key, value ) { + var options = key; + var parts; + var curOption; + var i; + + if ( arguments.length === 0 ) { + + // Don't return a reference to the internal hash + return $.widget.extend( {}, this.options ); + } + + if ( typeof key === "string" ) { + + // Handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } + options = {}; + parts = key.split( "." ); + key = parts.shift(); + if ( parts.length ) { + curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); + for ( i = 0; i < parts.length - 1; i++ ) { + curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; + curOption = curOption[ parts[ i ] ]; + } + key = parts.pop(); + if ( arguments.length === 1 ) { + return curOption[ key ] === undefined ? null : curOption[ key ]; + } + curOption[ key ] = value; + } else { + if ( arguments.length === 1 ) { + return this.options[ key ] === undefined ? null : this.options[ key ]; + } + options[ key ] = value; + } + } + + this._setOptions( options ); + + return this; + }, + + _setOptions: function( options ) { + var key; + + for ( key in options ) { + this._setOption( key, options[ key ] ); + } + + return this; + }, + + _setOption: function( key, value ) { + if ( key === "classes" ) { + this._setOptionClasses( value ); + } + + this.options[ key ] = value; + + if ( key === "disabled" ) { + this._setOptionDisabled( value ); + } + + return this; + }, + + _setOptionClasses: function( value ) { + var classKey, elements, currentElements; + + for ( classKey in value ) { + currentElements = this.classesElementLookup[ classKey ]; + if ( value[ classKey ] === this.options.classes[ classKey ] || + !currentElements || + !currentElements.length ) { + continue; + } + + // We are doing this to create a new jQuery object because the _removeClass() call + // on the next line is going to destroy the reference to the current elements being + // tracked. We need to save a copy of this collection so that we can add the new classes + // below. + elements = $( currentElements.get() ); + this._removeClass( currentElements, classKey ); + + // We don't use _addClass() here, because that uses this.options.classes + // for generating the string of classes. We want to use the value passed in from + // _setOption(), this is the new value of the classes option which was passed to + // _setOption(). We pass this value directly to _classes(). + elements.addClass( this._classes( { + element: elements, + keys: classKey, + classes: value, + add: true + } ) ); + } + }, + + _setOptionDisabled: function( value ) { + this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, !!value ); + + // If the widget is becoming disabled, then nothing is interactive + if ( value ) { + this._removeClass( this.hoverable, null, "ui-state-hover" ); + this._removeClass( this.focusable, null, "ui-state-focus" ); + } + }, + + enable: function() { + return this._setOptions( { disabled: false } ); + }, + + disable: function() { + return this._setOptions( { disabled: true } ); + }, + + _classes: function( options ) { + var full = []; + var that = this; + + options = $.extend( { + element: this.element, + classes: this.options.classes || {} + }, options ); + + function processClassString( classes, checkOption ) { + var current, i; + for ( i = 0; i < classes.length; i++ ) { + current = that.classesElementLookup[ classes[ i ] ] || $(); + if ( options.add ) { + current = $( $.unique( current.get().concat( options.element.get() ) ) ); + } else { + current = $( current.not( options.element ).get() ); + } + that.classesElementLookup[ classes[ i ] ] = current; + full.push( classes[ i ] ); + if ( checkOption && options.classes[ classes[ i ] ] ) { + full.push( options.classes[ classes[ i ] ] ); + } + } + } + + this._on( options.element, { + "remove": "_untrackClassesElement" + } ); + + if ( options.keys ) { + processClassString( options.keys.match( /\S+/g ) || [], true ); + } + if ( options.extra ) { + processClassString( options.extra.match( /\S+/g ) || [] ); + } + + return full.join( " " ); + }, + + _untrackClassesElement: function( event ) { + var that = this; + $.each( that.classesElementLookup, function( key, value ) { + if ( $.inArray( event.target, value ) !== -1 ) { + that.classesElementLookup[ key ] = $( value.not( event.target ).get() ); + } + } ); + }, + + _removeClass: function( element, keys, extra ) { + return this._toggleClass( element, keys, extra, false ); + }, + + _addClass: function( element, keys, extra ) { + return this._toggleClass( element, keys, extra, true ); + }, + + _toggleClass: function( element, keys, extra, add ) { + add = ( typeof add === "boolean" ) ? add : extra; + var shift = ( typeof element === "string" || element === null ), + options = { + extra: shift ? keys : extra, + keys: shift ? element : keys, + element: shift ? this.element : element, + add: add + }; + options.element.toggleClass( this._classes( options ), add ); + return this; + }, + + _on: function( suppressDisabledCheck, element, handlers ) { + var delegateElement; + var instance = this; + + // No suppressDisabledCheck flag, shuffle arguments + if ( typeof suppressDisabledCheck !== "boolean" ) { + handlers = element; + element = suppressDisabledCheck; + suppressDisabledCheck = false; + } + + // No element argument, shuffle and use this.element + if ( !handlers ) { + handlers = element; + element = this.element; + delegateElement = this.widget(); + } else { + element = delegateElement = $( element ); + this.bindings = this.bindings.add( element ); + } + + $.each( handlers, function( event, handler ) { + function handlerProxy() { + + // Allow widgets to customize the disabled handling + // - disabled as an array instead of boolean + // - disabled class as method for disabling individual parts + if ( !suppressDisabledCheck && + ( instance.options.disabled === true || + $( this ).hasClass( "ui-state-disabled" ) ) ) { + return; + } + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); + } + + // Copy the guid so direct unbinding works + if ( typeof handler !== "string" ) { + handlerProxy.guid = handler.guid = + handler.guid || handlerProxy.guid || $.guid++; + } + + var match = event.match( /^([\w:-]*)\s*(.*)$/ ); + var eventName = match[ 1 ] + instance.eventNamespace; + var selector = match[ 2 ]; + + if ( selector ) { + delegateElement.on( eventName, selector, handlerProxy ); + } else { + element.on( eventName, handlerProxy ); + } + } ); + }, + + _off: function( element, eventName ) { + eventName = ( eventName || "" ).split( " " ).join( this.eventNamespace + " " ) + + this.eventNamespace; + element.off( eventName ).off( eventName ); + + // Clear the stack to avoid memory leaks (#10056) + this.bindings = $( this.bindings.not( element ).get() ); + this.focusable = $( this.focusable.not( element ).get() ); + this.hoverable = $( this.hoverable.not( element ).get() ); + }, + + _delay: function( handler, delay ) { + function handlerProxy() { + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); + } + var instance = this; + return setTimeout( handlerProxy, delay || 0 ); + }, + + _hoverable: function( element ) { + this.hoverable = this.hoverable.add( element ); + this._on( element, { + mouseenter: function( event ) { + this._addClass( $( event.currentTarget ), null, "ui-state-hover" ); + }, + mouseleave: function( event ) { + this._removeClass( $( event.currentTarget ), null, "ui-state-hover" ); + } + } ); + }, + + _focusable: function( element ) { + this.focusable = this.focusable.add( element ); + this._on( element, { + focusin: function( event ) { + this._addClass( $( event.currentTarget ), null, "ui-state-focus" ); + }, + focusout: function( event ) { + this._removeClass( $( event.currentTarget ), null, "ui-state-focus" ); + } + } ); + }, + + _trigger: function( type, event, data ) { + var prop, orig; + var callback = this.options[ type ]; + + data = data || {}; + event = $.Event( event ); + event.type = ( type === this.widgetEventPrefix ? + type : + this.widgetEventPrefix + type ).toLowerCase(); + + // The original event may come from any element + // so we need to reset the target on the new event + event.target = this.element[ 0 ]; + + // Copy original event properties over to the new event + orig = event.originalEvent; + if ( orig ) { + for ( prop in orig ) { + if ( !( prop in event ) ) { + event[ prop ] = orig[ prop ]; + } + } + } + + this.element.trigger( event, data ); + return !( $.isFunction( callback ) && + callback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false || + event.isDefaultPrevented() ); + } +}; + +$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { + $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { + if ( typeof options === "string" ) { + options = { effect: options }; + } + + var hasOptions; + var effectName = !options ? + method : + options === true || typeof options === "number" ? + defaultEffect : + options.effect || defaultEffect; + + options = options || {}; + if ( typeof options === "number" ) { + options = { duration: options }; + } + + hasOptions = !$.isEmptyObject( options ); + options.complete = callback; + + if ( options.delay ) { + element.delay( options.delay ); + } + + if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { + element[ method ]( options ); + } else if ( effectName !== method && element[ effectName ] ) { + element[ effectName ]( options.duration, options.easing, callback ); + } else { + element.queue( function( next ) { + $( this )[ method ](); + if ( callback ) { + callback.call( element[ 0 ] ); + } + next(); + } ); + } + }; +} ); + +var widget = $.widget; + + +/*! + * jQuery UI Position 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/position/ + */ + +//>>label: Position +//>>group: Core +//>>description: Positions elements relative to other elements. +//>>docs: http://api.jqueryui.com/position/ +//>>demos: http://jqueryui.com/position/ + + +( function() { +var cachedScrollbarWidth, + max = Math.max, + abs = Math.abs, + rhorizontal = /left|center|right/, + rvertical = /top|center|bottom/, + roffset = /[\+\-]\d+(\.[\d]+)?%?/, + rposition = /^\w+/, + rpercent = /%$/, + _position = $.fn.position; + +function getOffsets( offsets, width, height ) { + return [ + parseFloat( offsets[ 0 ] ) * ( rpercent.test( offsets[ 0 ] ) ? width / 100 : 1 ), + parseFloat( offsets[ 1 ] ) * ( rpercent.test( offsets[ 1 ] ) ? height / 100 : 1 ) + ]; +} + +function parseCss( element, property ) { + return parseInt( $.css( element, property ), 10 ) || 0; +} + +function getDimensions( elem ) { + var raw = elem[ 0 ]; + if ( raw.nodeType === 9 ) { + return { + width: elem.width(), + height: elem.height(), + offset: { top: 0, left: 0 } + }; + } + if ( $.isWindow( raw ) ) { + return { + width: elem.width(), + height: elem.height(), + offset: { top: elem.scrollTop(), left: elem.scrollLeft() } + }; + } + if ( raw.preventDefault ) { + return { + width: 0, + height: 0, + offset: { top: raw.pageY, left: raw.pageX } + }; + } + return { + width: elem.outerWidth(), + height: elem.outerHeight(), + offset: elem.offset() + }; +} + +$.position = { + scrollbarWidth: function() { + if ( cachedScrollbarWidth !== undefined ) { + return cachedScrollbarWidth; + } + var w1, w2, + div = $( "<div " + + "style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>" + + "<div style='height:100px;width:auto;'></div></div>" ), + innerDiv = div.children()[ 0 ]; + + $( "body" ).append( div ); + w1 = innerDiv.offsetWidth; + div.css( "overflow", "scroll" ); + + w2 = innerDiv.offsetWidth; + + if ( w1 === w2 ) { + w2 = div[ 0 ].clientWidth; + } + + div.remove(); + + return ( cachedScrollbarWidth = w1 - w2 ); + }, + getScrollInfo: function( within ) { + var overflowX = within.isWindow || within.isDocument ? "" : + within.element.css( "overflow-x" ), + overflowY = within.isWindow || within.isDocument ? "" : + within.element.css( "overflow-y" ), + hasOverflowX = overflowX === "scroll" || + ( overflowX === "auto" && within.width < within.element[ 0 ].scrollWidth ), + hasOverflowY = overflowY === "scroll" || + ( overflowY === "auto" && within.height < within.element[ 0 ].scrollHeight ); + return { + width: hasOverflowY ? $.position.scrollbarWidth() : 0, + height: hasOverflowX ? $.position.scrollbarWidth() : 0 + }; + }, + getWithinInfo: function( element ) { + var withinElement = $( element || window ), + isWindow = $.isWindow( withinElement[ 0 ] ), + isDocument = !!withinElement[ 0 ] && withinElement[ 0 ].nodeType === 9, + hasOffset = !isWindow && !isDocument; + return { + element: withinElement, + isWindow: isWindow, + isDocument: isDocument, + offset: hasOffset ? $( element ).offset() : { left: 0, top: 0 }, + scrollLeft: withinElement.scrollLeft(), + scrollTop: withinElement.scrollTop(), + width: withinElement.outerWidth(), + height: withinElement.outerHeight() + }; + } +}; + +$.fn.position = function( options ) { + if ( !options || !options.of ) { + return _position.apply( this, arguments ); + } + + // Make a copy, we don't want to modify arguments + options = $.extend( {}, options ); + + var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions, + target = $( options.of ), + within = $.position.getWithinInfo( options.within ), + scrollInfo = $.position.getScrollInfo( within ), + collision = ( options.collision || "flip" ).split( " " ), + offsets = {}; + + dimensions = getDimensions( target ); + if ( target[ 0 ].preventDefault ) { + + // Force left top to allow flipping + options.at = "left top"; + } + targetWidth = dimensions.width; + targetHeight = dimensions.height; + targetOffset = dimensions.offset; + + // Clone to reuse original targetOffset later + basePosition = $.extend( {}, targetOffset ); + + // Force my and at to have valid horizontal and vertical positions + // if a value is missing or invalid, it will be converted to center + $.each( [ "my", "at" ], function() { + var pos = ( options[ this ] || "" ).split( " " ), + horizontalOffset, + verticalOffset; + + if ( pos.length === 1 ) { + pos = rhorizontal.test( pos[ 0 ] ) ? + pos.concat( [ "center" ] ) : + rvertical.test( pos[ 0 ] ) ? + [ "center" ].concat( pos ) : + [ "center", "center" ]; + } + pos[ 0 ] = rhorizontal.test( pos[ 0 ] ) ? pos[ 0 ] : "center"; + pos[ 1 ] = rvertical.test( pos[ 1 ] ) ? pos[ 1 ] : "center"; + + // Calculate offsets + horizontalOffset = roffset.exec( pos[ 0 ] ); + verticalOffset = roffset.exec( pos[ 1 ] ); + offsets[ this ] = [ + horizontalOffset ? horizontalOffset[ 0 ] : 0, + verticalOffset ? verticalOffset[ 0 ] : 0 + ]; + + // Reduce to just the positions without the offsets + options[ this ] = [ + rposition.exec( pos[ 0 ] )[ 0 ], + rposition.exec( pos[ 1 ] )[ 0 ] + ]; + } ); + + // Normalize collision option + if ( collision.length === 1 ) { + collision[ 1 ] = collision[ 0 ]; + } + + if ( options.at[ 0 ] === "right" ) { + basePosition.left += targetWidth; + } else if ( options.at[ 0 ] === "center" ) { + basePosition.left += targetWidth / 2; + } + + if ( options.at[ 1 ] === "bottom" ) { + basePosition.top += targetHeight; + } else if ( options.at[ 1 ] === "center" ) { + basePosition.top += targetHeight / 2; + } + + atOffset = getOffsets( offsets.at, targetWidth, targetHeight ); + basePosition.left += atOffset[ 0 ]; + basePosition.top += atOffset[ 1 ]; + + return this.each( function() { + var collisionPosition, using, + elem = $( this ), + elemWidth = elem.outerWidth(), + elemHeight = elem.outerHeight(), + marginLeft = parseCss( this, "marginLeft" ), + marginTop = parseCss( this, "marginTop" ), + collisionWidth = elemWidth + marginLeft + parseCss( this, "marginRight" ) + + scrollInfo.width, + collisionHeight = elemHeight + marginTop + parseCss( this, "marginBottom" ) + + scrollInfo.height, + position = $.extend( {}, basePosition ), + myOffset = getOffsets( offsets.my, elem.outerWidth(), elem.outerHeight() ); + + if ( options.my[ 0 ] === "right" ) { + position.left -= elemWidth; + } else if ( options.my[ 0 ] === "center" ) { + position.left -= elemWidth / 2; + } + + if ( options.my[ 1 ] === "bottom" ) { + position.top -= elemHeight; + } else if ( options.my[ 1 ] === "center" ) { + position.top -= elemHeight / 2; + } + + position.left += myOffset[ 0 ]; + position.top += myOffset[ 1 ]; + + collisionPosition = { + marginLeft: marginLeft, + marginTop: marginTop + }; + + $.each( [ "left", "top" ], function( i, dir ) { + if ( $.ui.position[ collision[ i ] ] ) { + $.ui.position[ collision[ i ] ][ dir ]( position, { + targetWidth: targetWidth, + targetHeight: targetHeight, + elemWidth: elemWidth, + elemHeight: elemHeight, + collisionPosition: collisionPosition, + collisionWidth: collisionWidth, + collisionHeight: collisionHeight, + offset: [ atOffset[ 0 ] + myOffset[ 0 ], atOffset [ 1 ] + myOffset[ 1 ] ], + my: options.my, + at: options.at, + within: within, + elem: elem + } ); + } + } ); + + if ( options.using ) { + + // Adds feedback as second argument to using callback, if present + using = function( props ) { + var left = targetOffset.left - position.left, + right = left + targetWidth - elemWidth, + top = targetOffset.top - position.top, + bottom = top + targetHeight - elemHeight, + feedback = { + target: { + element: target, + left: targetOffset.left, + top: targetOffset.top, + width: targetWidth, + height: targetHeight + }, + element: { + element: elem, + left: position.left, + top: position.top, + width: elemWidth, + height: elemHeight + }, + horizontal: right < 0 ? "left" : left > 0 ? "right" : "center", + vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle" + }; + if ( targetWidth < elemWidth && abs( left + right ) < targetWidth ) { + feedback.horizontal = "center"; + } + if ( targetHeight < elemHeight && abs( top + bottom ) < targetHeight ) { + feedback.vertical = "middle"; + } + if ( max( abs( left ), abs( right ) ) > max( abs( top ), abs( bottom ) ) ) { + feedback.important = "horizontal"; + } else { + feedback.important = "vertical"; + } + options.using.call( this, props, feedback ); + }; + } + + elem.offset( $.extend( position, { using: using } ) ); + } ); +}; + +$.ui.position = { + fit: { + left: function( position, data ) { + var within = data.within, + withinOffset = within.isWindow ? within.scrollLeft : within.offset.left, + outerWidth = within.width, + collisionPosLeft = position.left - data.collisionPosition.marginLeft, + overLeft = withinOffset - collisionPosLeft, + overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset, + newOverRight; + + // Element is wider than within + if ( data.collisionWidth > outerWidth ) { + + // Element is initially over the left side of within + if ( overLeft > 0 && overRight <= 0 ) { + newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - + withinOffset; + position.left += overLeft - newOverRight; + + // Element is initially over right side of within + } else if ( overRight > 0 && overLeft <= 0 ) { + position.left = withinOffset; + + // Element is initially over both left and right sides of within + } else { + if ( overLeft > overRight ) { + position.left = withinOffset + outerWidth - data.collisionWidth; + } else { + position.left = withinOffset; + } + } + + // Too far left -> align with left edge + } else if ( overLeft > 0 ) { + position.left += overLeft; + + // Too far right -> align with right edge + } else if ( overRight > 0 ) { + position.left -= overRight; + + // Adjust based on position and margin + } else { + position.left = max( position.left - collisionPosLeft, position.left ); + } + }, + top: function( position, data ) { + var within = data.within, + withinOffset = within.isWindow ? within.scrollTop : within.offset.top, + outerHeight = data.within.height, + collisionPosTop = position.top - data.collisionPosition.marginTop, + overTop = withinOffset - collisionPosTop, + overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset, + newOverBottom; + + // Element is taller than within + if ( data.collisionHeight > outerHeight ) { + + // Element is initially over the top of within + if ( overTop > 0 && overBottom <= 0 ) { + newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - + withinOffset; + position.top += overTop - newOverBottom; + + // Element is initially over bottom of within + } else if ( overBottom > 0 && overTop <= 0 ) { + position.top = withinOffset; + + // Element is initially over both top and bottom of within + } else { + if ( overTop > overBottom ) { + position.top = withinOffset + outerHeight - data.collisionHeight; + } else { + position.top = withinOffset; + } + } + + // Too far up -> align with top + } else if ( overTop > 0 ) { + position.top += overTop; + + // Too far down -> align with bottom edge + } else if ( overBottom > 0 ) { + position.top -= overBottom; + + // Adjust based on position and margin + } else { + position.top = max( position.top - collisionPosTop, position.top ); + } + } + }, + flip: { + left: function( position, data ) { + var within = data.within, + withinOffset = within.offset.left + within.scrollLeft, + outerWidth = within.width, + offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left, + collisionPosLeft = position.left - data.collisionPosition.marginLeft, + overLeft = collisionPosLeft - offsetLeft, + overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft, + myOffset = data.my[ 0 ] === "left" ? + -data.elemWidth : + data.my[ 0 ] === "right" ? + data.elemWidth : + 0, + atOffset = data.at[ 0 ] === "left" ? + data.targetWidth : + data.at[ 0 ] === "right" ? + -data.targetWidth : + 0, + offset = -2 * data.offset[ 0 ], + newOverRight, + newOverLeft; + + if ( overLeft < 0 ) { + newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - + outerWidth - withinOffset; + if ( newOverRight < 0 || newOverRight < abs( overLeft ) ) { + position.left += myOffset + atOffset + offset; + } + } else if ( overRight > 0 ) { + newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + + atOffset + offset - offsetLeft; + if ( newOverLeft > 0 || abs( newOverLeft ) < overRight ) { + position.left += myOffset + atOffset + offset; + } + } + }, + top: function( position, data ) { + var within = data.within, + withinOffset = within.offset.top + within.scrollTop, + outerHeight = within.height, + offsetTop = within.isWindow ? within.scrollTop : within.offset.top, + collisionPosTop = position.top - data.collisionPosition.marginTop, + overTop = collisionPosTop - offsetTop, + overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop, + top = data.my[ 1 ] === "top", + myOffset = top ? + -data.elemHeight : + data.my[ 1 ] === "bottom" ? + data.elemHeight : + 0, + atOffset = data.at[ 1 ] === "top" ? + data.targetHeight : + data.at[ 1 ] === "bottom" ? + -data.targetHeight : + 0, + offset = -2 * data.offset[ 1 ], + newOverTop, + newOverBottom; + if ( overTop < 0 ) { + newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - + outerHeight - withinOffset; + if ( newOverBottom < 0 || newOverBottom < abs( overTop ) ) { + position.top += myOffset + atOffset + offset; + } + } else if ( overBottom > 0 ) { + newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + + offset - offsetTop; + if ( newOverTop > 0 || abs( newOverTop ) < overBottom ) { + position.top += myOffset + atOffset + offset; + } + } + } + }, + flipfit: { + left: function() { + $.ui.position.flip.left.apply( this, arguments ); + $.ui.position.fit.left.apply( this, arguments ); + }, + top: function() { + $.ui.position.flip.top.apply( this, arguments ); + $.ui.position.fit.top.apply( this, arguments ); + } + } +}; + +} )(); + +var position = $.ui.position; + + +/*! + * jQuery UI :data 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: :data Selector +//>>group: Core +//>>description: Selects elements which have data stored under the specified key. +//>>docs: http://api.jqueryui.com/data-selector/ + + +var data = $.extend( $.expr[ ":" ], { + data: $.expr.createPseudo ? + $.expr.createPseudo( function( dataName ) { + return function( elem ) { + return !!$.data( elem, dataName ); + }; + } ) : + + // Support: jQuery <1.8 + function( elem, i, match ) { + return !!$.data( elem, match[ 3 ] ); + } +} ); + +/*! + * jQuery UI Disable Selection 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: disableSelection +//>>group: Core +//>>description: Disable selection of text content within the set of matched elements. +//>>docs: http://api.jqueryui.com/disableSelection/ + +// This file is deprecated + + +var disableSelection = $.fn.extend( { + disableSelection: ( function() { + var eventType = "onselectstart" in document.createElement( "div" ) ? + "selectstart" : + "mousedown"; + + return function() { + return this.on( eventType + ".ui-disableSelection", function( event ) { + event.preventDefault(); + } ); + }; + } )(), + + enableSelection: function() { + return this.off( ".ui-disableSelection" ); + } +} ); + + +/*! + * jQuery UI Focusable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: :focusable Selector +//>>group: Core +//>>description: Selects elements which can be focused. +//>>docs: http://api.jqueryui.com/focusable-selector/ + + + +// Selectors +$.ui.focusable = function( element, hasTabindex ) { + var map, mapName, img, focusableIfVisible, fieldset, + nodeName = element.nodeName.toLowerCase(); + + if ( "area" === nodeName ) { + map = element.parentNode; + mapName = map.name; + if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { + return false; + } + img = $( "img[usemap='#" + mapName + "']" ); + return img.length > 0 && img.is( ":visible" ); + } + + if ( /^(input|select|textarea|button|object)$/.test( nodeName ) ) { + focusableIfVisible = !element.disabled; + + if ( focusableIfVisible ) { + + // Form controls within a disabled fieldset are disabled. + // However, controls within the fieldset's legend do not get disabled. + // Since controls generally aren't placed inside legends, we skip + // this portion of the check. + fieldset = $( element ).closest( "fieldset" )[ 0 ]; + if ( fieldset ) { + focusableIfVisible = !fieldset.disabled; + } + } + } else if ( "a" === nodeName ) { + focusableIfVisible = element.href || hasTabindex; + } else { + focusableIfVisible = hasTabindex; + } + + return focusableIfVisible && $( element ).is( ":visible" ) && visible( $( element ) ); +}; + +// Support: IE 8 only +// IE 8 doesn't resolve inherit to visible/hidden for computed values +function visible( element ) { + var visibility = element.css( "visibility" ); + while ( visibility === "inherit" ) { + element = element.parent(); + visibility = element.css( "visibility" ); + } + return visibility !== "hidden"; +} + +$.extend( $.expr[ ":" ], { + focusable: function( element ) { + return $.ui.focusable( element, $.attr( element, "tabindex" ) != null ); + } +} ); + +var focusable = $.ui.focusable; + + + + +// Support: IE8 Only +// IE8 does not support the form attribute and when it is supplied. It overwrites the form prop +// with a string, so we need to find the proper form. +var form = $.fn.form = function() { + return typeof this[ 0 ].form === "string" ? this.closest( "form" ) : $( this[ 0 ].form ); +}; + + +/*! + * jQuery UI Form Reset Mixin 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Form Reset Mixin +//>>group: Core +//>>description: Refresh input widgets when their form is reset +//>>docs: http://api.jqueryui.com/form-reset-mixin/ + + + +var formResetMixin = $.ui.formResetMixin = { + _formResetHandler: function() { + var form = $( this ); + + // Wait for the form reset to actually happen before refreshing + setTimeout( function() { + var instances = form.data( "ui-form-reset-instances" ); + $.each( instances, function() { + this.refresh(); + } ); + } ); + }, + + _bindFormResetHandler: function() { + this.form = this.element.form(); + if ( !this.form.length ) { + return; + } + + var instances = this.form.data( "ui-form-reset-instances" ) || []; + if ( !instances.length ) { + + // We don't use _on() here because we use a single event handler per form + this.form.on( "reset.ui-form-reset", this._formResetHandler ); + } + instances.push( this ); + this.form.data( "ui-form-reset-instances", instances ); + }, + + _unbindFormResetHandler: function() { + if ( !this.form.length ) { + return; + } + + var instances = this.form.data( "ui-form-reset-instances" ); + instances.splice( $.inArray( this, instances ), 1 ); + if ( instances.length ) { + this.form.data( "ui-form-reset-instances", instances ); + } else { + this.form + .removeData( "ui-form-reset-instances" ) + .off( "reset.ui-form-reset" ); + } + } +}; + + +/*! + * jQuery UI Support for jQuery core 1.7.x 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + */ + +//>>label: jQuery 1.7 Support +//>>group: Core +//>>description: Support version 1.7.x of jQuery core + + + +// Support: jQuery 1.7 only +// Not a great way to check versions, but since we only support 1.7+ and only +// need to detect <1.8, this is a simple check that should suffice. Checking +// for "1.7." would be a bit safer, but the version string is 1.7, not 1.7.0 +// and we'll never reach 1.70.0 (if we do, we certainly won't be supporting +// 1.7 anymore). See #11197 for why we're not using feature detection. +if ( $.fn.jquery.substring( 0, 3 ) === "1.7" ) { + + // Setters for .innerWidth(), .innerHeight(), .outerWidth(), .outerHeight() + // Unlike jQuery Core 1.8+, these only support numeric values to set the + // dimensions in pixels + $.each( [ "Width", "Height" ], function( i, name ) { + var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], + type = name.toLowerCase(), + orig = { + innerWidth: $.fn.innerWidth, + innerHeight: $.fn.innerHeight, + outerWidth: $.fn.outerWidth, + outerHeight: $.fn.outerHeight + }; + + function reduce( elem, size, border, margin ) { + $.each( side, function() { + size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; + if ( border ) { + size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; + } + if ( margin ) { + size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; + } + } ); + return size; + } + + $.fn[ "inner" + name ] = function( size ) { + if ( size === undefined ) { + return orig[ "inner" + name ].call( this ); + } + + return this.each( function() { + $( this ).css( type, reduce( this, size ) + "px" ); + } ); + }; + + $.fn[ "outer" + name ] = function( size, margin ) { + if ( typeof size !== "number" ) { + return orig[ "outer" + name ].call( this, size ); + } + + return this.each( function() { + $( this ).css( type, reduce( this, size, true, margin ) + "px" ); + } ); + }; + } ); + + $.fn.addBack = function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + }; +} + +; +/*! + * jQuery UI Keycode 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Keycode +//>>group: Core +//>>description: Provide keycodes as keynames +//>>docs: http://api.jqueryui.com/jQuery.ui.keyCode/ + + +var keycode = $.ui.keyCode = { + BACKSPACE: 8, + COMMA: 188, + DELETE: 46, + DOWN: 40, + END: 35, + ENTER: 13, + ESCAPE: 27, + HOME: 36, + LEFT: 37, + PAGE_DOWN: 34, + PAGE_UP: 33, + PERIOD: 190, + RIGHT: 39, + SPACE: 32, + TAB: 9, + UP: 38 +}; + + + + +// Internal use only +var escapeSelector = $.ui.escapeSelector = ( function() { + var selectorEscape = /([!"#$%&'()*+,./:;<=>?@[\]^`{|}~])/g; + return function( selector ) { + return selector.replace( selectorEscape, "\\$1" ); + }; +} )(); + + +/*! + * jQuery UI Labels 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: labels +//>>group: Core +//>>description: Find all the labels associated with a given input +//>>docs: http://api.jqueryui.com/labels/ + + + +var labels = $.fn.labels = function() { + var ancestor, selector, id, labels, ancestors; + + // Check control.labels first + if ( this[ 0 ].labels && this[ 0 ].labels.length ) { + return this.pushStack( this[ 0 ].labels ); + } + + // Support: IE <= 11, FF <= 37, Android <= 2.3 only + // Above browsers do not support control.labels. Everything below is to support them + // as well as document fragments. control.labels does not work on document fragments + labels = this.eq( 0 ).parents( "label" ); + + // Look for the label based on the id + id = this.attr( "id" ); + if ( id ) { + + // We don't search against the document in case the element + // is disconnected from the DOM + ancestor = this.eq( 0 ).parents().last(); + + // Get a full set of top level ancestors + ancestors = ancestor.add( ancestor.length ? ancestor.siblings() : this.siblings() ); + + // Create a selector for the label based on the id + selector = "label[for='" + $.ui.escapeSelector( id ) + "']"; + + labels = labels.add( ancestors.find( selector ).addBack( selector ) ); + + } + + // Return whatever we have found for labels + return this.pushStack( labels ); +}; + + +/*! + * jQuery UI Scroll Parent 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: scrollParent +//>>group: Core +//>>description: Get the closest ancestor element that is scrollable. +//>>docs: http://api.jqueryui.com/scrollParent/ + + + +var scrollParent = $.fn.scrollParent = function( includeHidden ) { + var position = this.css( "position" ), + excludeStaticParent = position === "absolute", + overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, + scrollParent = this.parents().filter( function() { + var parent = $( this ); + if ( excludeStaticParent && parent.css( "position" ) === "static" ) { + return false; + } + return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + + parent.css( "overflow-x" ) ); + } ).eq( 0 ); + + return position === "fixed" || !scrollParent.length ? + $( this[ 0 ].ownerDocument || document ) : + scrollParent; +}; + + +/*! + * jQuery UI Tabbable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: :tabbable Selector +//>>group: Core +//>>description: Selects elements which can be tabbed to. +//>>docs: http://api.jqueryui.com/tabbable-selector/ + + + +var tabbable = $.extend( $.expr[ ":" ], { + tabbable: function( element ) { + var tabIndex = $.attr( element, "tabindex" ), + hasTabindex = tabIndex != null; + return ( !hasTabindex || tabIndex >= 0 ) && $.ui.focusable( element, hasTabindex ); + } +} ); + + +/*! + * jQuery UI Unique ID 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: uniqueId +//>>group: Core +//>>description: Functions to generate and remove uniqueId's +//>>docs: http://api.jqueryui.com/uniqueId/ + + + +var uniqueId = $.fn.extend( { + uniqueId: ( function() { + var uuid = 0; + + return function() { + return this.each( function() { + if ( !this.id ) { + this.id = "ui-id-" + ( ++uuid ); + } + } ); + }; + } )(), + + removeUniqueId: function() { + return this.each( function() { + if ( /^ui-id-\d+$/.test( this.id ) ) { + $( this ).removeAttr( "id" ); + } + } ); + } +} ); + + + + +// This file is deprecated +var ie = $.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); + +/*! + * jQuery UI Mouse 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Mouse +//>>group: Widgets +//>>description: Abstracts mouse-based interactions to assist in creating certain widgets. +//>>docs: http://api.jqueryui.com/mouse/ + + + +var mouseHandled = false; +$( document ).on( "mouseup", function() { + mouseHandled = false; +} ); + +var widgetsMouse = $.widget( "ui.mouse", { + version: "1.12.1", + options: { + cancel: "input, textarea, button, select, option", + distance: 1, + delay: 0 + }, + _mouseInit: function() { + var that = this; + + this.element + .on( "mousedown." + this.widgetName, function( event ) { + return that._mouseDown( event ); + } ) + .on( "click." + this.widgetName, function( event ) { + if ( true === $.data( event.target, that.widgetName + ".preventClickEvent" ) ) { + $.removeData( event.target, that.widgetName + ".preventClickEvent" ); + event.stopImmediatePropagation(); + return false; + } + } ); + + this.started = false; + }, + + // TODO: make sure destroying one instance of mouse doesn't mess with + // other instances of mouse + _mouseDestroy: function() { + this.element.off( "." + this.widgetName ); + if ( this._mouseMoveDelegate ) { + this.document + .off( "mousemove." + this.widgetName, this._mouseMoveDelegate ) + .off( "mouseup." + this.widgetName, this._mouseUpDelegate ); + } + }, + + _mouseDown: function( event ) { + + // don't let more than one widget handle mouseStart + if ( mouseHandled ) { + return; + } + + this._mouseMoved = false; + + // We may have missed mouseup (out of window) + ( this._mouseStarted && this._mouseUp( event ) ); + + this._mouseDownEvent = event; + + var that = this, + btnIsLeft = ( event.which === 1 ), + + // event.target.nodeName works around a bug in IE 8 with + // disabled inputs (#7620) + elIsCancel = ( typeof this.options.cancel === "string" && event.target.nodeName ? + $( event.target ).closest( this.options.cancel ).length : false ); + if ( !btnIsLeft || elIsCancel || !this._mouseCapture( event ) ) { + return true; + } + + this.mouseDelayMet = !this.options.delay; + if ( !this.mouseDelayMet ) { + this._mouseDelayTimer = setTimeout( function() { + that.mouseDelayMet = true; + }, this.options.delay ); + } + + if ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) { + this._mouseStarted = ( this._mouseStart( event ) !== false ); + if ( !this._mouseStarted ) { + event.preventDefault(); + return true; + } + } + + // Click event may never have fired (Gecko & Opera) + if ( true === $.data( event.target, this.widgetName + ".preventClickEvent" ) ) { + $.removeData( event.target, this.widgetName + ".preventClickEvent" ); + } + + // These delegates are required to keep context + this._mouseMoveDelegate = function( event ) { + return that._mouseMove( event ); + }; + this._mouseUpDelegate = function( event ) { + return that._mouseUp( event ); + }; + + this.document + .on( "mousemove." + this.widgetName, this._mouseMoveDelegate ) + .on( "mouseup." + this.widgetName, this._mouseUpDelegate ); + + event.preventDefault(); + + mouseHandled = true; + return true; + }, + + _mouseMove: function( event ) { + + // Only check for mouseups outside the document if you've moved inside the document + // at least once. This prevents the firing of mouseup in the case of IE<9, which will + // fire a mousemove event if content is placed under the cursor. See #7778 + // Support: IE <9 + if ( this._mouseMoved ) { + + // IE mouseup check - mouseup happened when mouse was out of window + if ( $.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && + !event.button ) { + return this._mouseUp( event ); + + // Iframe mouseup check - mouseup occurred in another document + } else if ( !event.which ) { + + // Support: Safari <=8 - 9 + // Safari sets which to 0 if you press any of the following keys + // during a drag (#14461) + if ( event.originalEvent.altKey || event.originalEvent.ctrlKey || + event.originalEvent.metaKey || event.originalEvent.shiftKey ) { + this.ignoreMissingWhich = true; + } else if ( !this.ignoreMissingWhich ) { + return this._mouseUp( event ); + } + } + } + + if ( event.which || event.button ) { + this._mouseMoved = true; + } + + if ( this._mouseStarted ) { + this._mouseDrag( event ); + return event.preventDefault(); + } + + if ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) { + this._mouseStarted = + ( this._mouseStart( this._mouseDownEvent, event ) !== false ); + ( this._mouseStarted ? this._mouseDrag( event ) : this._mouseUp( event ) ); + } + + return !this._mouseStarted; + }, + + _mouseUp: function( event ) { + this.document + .off( "mousemove." + this.widgetName, this._mouseMoveDelegate ) + .off( "mouseup." + this.widgetName, this._mouseUpDelegate ); + + if ( this._mouseStarted ) { + this._mouseStarted = false; + + if ( event.target === this._mouseDownEvent.target ) { + $.data( event.target, this.widgetName + ".preventClickEvent", true ); + } + + this._mouseStop( event ); + } + + if ( this._mouseDelayTimer ) { + clearTimeout( this._mouseDelayTimer ); + delete this._mouseDelayTimer; + } + + this.ignoreMissingWhich = false; + mouseHandled = false; + event.preventDefault(); + }, + + _mouseDistanceMet: function( event ) { + return ( Math.max( + Math.abs( this._mouseDownEvent.pageX - event.pageX ), + Math.abs( this._mouseDownEvent.pageY - event.pageY ) + ) >= this.options.distance + ); + }, + + _mouseDelayMet: function( /* event */ ) { + return this.mouseDelayMet; + }, + + // These are placeholder methods, to be overriden by extending plugin + _mouseStart: function( /* event */ ) {}, + _mouseDrag: function( /* event */ ) {}, + _mouseStop: function( /* event */ ) {}, + _mouseCapture: function( /* event */ ) { return true; } +} ); + + + + +// $.ui.plugin is deprecated. Use $.widget() extensions instead. +var plugin = $.ui.plugin = { + add: function( module, option, set ) { + var i, + proto = $.ui[ module ].prototype; + for ( i in set ) { + proto.plugins[ i ] = proto.plugins[ i ] || []; + proto.plugins[ i ].push( [ option, set[ i ] ] ); + } + }, + call: function( instance, name, args, allowDisconnected ) { + var i, + set = instance.plugins[ name ]; + + if ( !set ) { + return; + } + + if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || + instance.element[ 0 ].parentNode.nodeType === 11 ) ) { + return; + } + + for ( i = 0; i < set.length; i++ ) { + if ( instance.options[ set[ i ][ 0 ] ] ) { + set[ i ][ 1 ].apply( instance.element, args ); + } + } + } +}; + + + +var safeActiveElement = $.ui.safeActiveElement = function( document ) { + var activeElement; + + // Support: IE 9 only + // IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe> + try { + activeElement = document.activeElement; + } catch ( error ) { + activeElement = document.body; + } + + // Support: IE 9 - 11 only + // IE may return null instead of an element + // Interestingly, this only seems to occur when NOT in an iframe + if ( !activeElement ) { + activeElement = document.body; + } + + // Support: IE 11 only + // IE11 returns a seemingly empty object in some cases when accessing + // document.activeElement from an <iframe> + if ( !activeElement.nodeName ) { + activeElement = document.body; + } + + return activeElement; +}; + + + +var safeBlur = $.ui.safeBlur = function( element ) { + + // Support: IE9 - 10 only + // If the <body> is blurred, IE will switch windows, see #9420 + if ( element && element.nodeName.toLowerCase() !== "body" ) { + $( element ).trigger( "blur" ); + } +}; + + +/*! + * jQuery UI Draggable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Draggable +//>>group: Interactions +//>>description: Enables dragging functionality for any element. +//>>docs: http://api.jqueryui.com/draggable/ +//>>demos: http://jqueryui.com/draggable/ +//>>css.structure: ../../themes/base/draggable.css + + + +$.widget( "ui.draggable", $.ui.mouse, { + version: "1.12.1", + widgetEventPrefix: "drag", + options: { + addClasses: true, + appendTo: "parent", + axis: false, + connectToSortable: false, + containment: false, + cursor: "auto", + cursorAt: false, + grid: false, + handle: false, + helper: "original", + iframeFix: false, + opacity: false, + refreshPositions: false, + revert: false, + revertDuration: 500, + scope: "default", + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + snap: false, + snapMode: "both", + snapTolerance: 20, + stack: false, + zIndex: false, + + // Callbacks + drag: null, + start: null, + stop: null + }, + _create: function() { + + if ( this.options.helper === "original" ) { + this._setPositionRelative(); + } + if ( this.options.addClasses ) { + this._addClass( "ui-draggable" ); + } + this._setHandleClassName(); + + this._mouseInit(); + }, + + _setOption: function( key, value ) { + this._super( key, value ); + if ( key === "handle" ) { + this._removeHandleClassName(); + this._setHandleClassName(); + } + }, + + _destroy: function() { + if ( ( this.helper || this.element ).is( ".ui-draggable-dragging" ) ) { + this.destroyOnClear = true; + return; + } + this._removeHandleClassName(); + this._mouseDestroy(); + }, + + _mouseCapture: function( event ) { + var o = this.options; + + // Among others, prevent a drag on a resizable-handle + if ( this.helper || o.disabled || + $( event.target ).closest( ".ui-resizable-handle" ).length > 0 ) { + return false; + } + + //Quit if we're not on a valid handle + this.handle = this._getHandle( event ); + if ( !this.handle ) { + return false; + } + + this._blurActiveElement( event ); + + this._blockFrames( o.iframeFix === true ? "iframe" : o.iframeFix ); + + return true; + + }, + + _blockFrames: function( selector ) { + this.iframeBlocks = this.document.find( selector ).map( function() { + var iframe = $( this ); + + return $( "<div>" ) + .css( "position", "absolute" ) + .appendTo( iframe.parent() ) + .outerWidth( iframe.outerWidth() ) + .outerHeight( iframe.outerHeight() ) + .offset( iframe.offset() )[ 0 ]; + } ); + }, + + _unblockFrames: function() { + if ( this.iframeBlocks ) { + this.iframeBlocks.remove(); + delete this.iframeBlocks; + } + }, + + _blurActiveElement: function( event ) { + var activeElement = $.ui.safeActiveElement( this.document[ 0 ] ), + target = $( event.target ); + + // Don't blur if the event occurred on an element that is within + // the currently focused element + // See #10527, #12472 + if ( target.closest( activeElement ).length ) { + return; + } + + // Blur any element that currently has focus, see #4261 + $.ui.safeBlur( activeElement ); + }, + + _mouseStart: function( event ) { + + var o = this.options; + + //Create and append the visible helper + this.helper = this._createHelper( event ); + + this._addClass( this.helper, "ui-draggable-dragging" ); + + //Cache the helper size + this._cacheHelperProportions(); + + //If ddmanager is used for droppables, set the global draggable + if ( $.ui.ddmanager ) { + $.ui.ddmanager.current = this; + } + + /* + * - Position generation - + * This block generates everything position related - it's the core of draggables. + */ + + //Cache the margins of the original element + this._cacheMargins(); + + //Store the helper's css position + this.cssPosition = this.helper.css( "position" ); + this.scrollParent = this.helper.scrollParent( true ); + this.offsetParent = this.helper.offsetParent(); + this.hasFixedAncestor = this.helper.parents().filter( function() { + return $( this ).css( "position" ) === "fixed"; + } ).length > 0; + + //The element's absolute position on the page minus margins + this.positionAbs = this.element.offset(); + this._refreshOffsets( event ); + + //Generate the original position + this.originalPosition = this.position = this._generatePosition( event, false ); + this.originalPageX = event.pageX; + this.originalPageY = event.pageY; + + //Adjust the mouse offset relative to the helper if "cursorAt" is supplied + ( o.cursorAt && this._adjustOffsetFromHelper( o.cursorAt ) ); + + //Set a containment if given in the options + this._setContainment(); + + //Trigger event + callbacks + if ( this._trigger( "start", event ) === false ) { + this._clear(); + return false; + } + + //Recache the helper size + this._cacheHelperProportions(); + + //Prepare the droppable offsets + if ( $.ui.ddmanager && !o.dropBehaviour ) { + $.ui.ddmanager.prepareOffsets( this, event ); + } + + // Execute the drag once - this causes the helper not to be visible before getting its + // correct position + this._mouseDrag( event, true ); + + // If the ddmanager is used for droppables, inform the manager that dragging has started + // (see #5003) + if ( $.ui.ddmanager ) { + $.ui.ddmanager.dragStart( this, event ); + } + + return true; + }, + + _refreshOffsets: function( event ) { + this.offset = { + top: this.positionAbs.top - this.margins.top, + left: this.positionAbs.left - this.margins.left, + scroll: false, + parent: this._getParentOffset(), + relative: this._getRelativeOffset() + }; + + this.offset.click = { + left: event.pageX - this.offset.left, + top: event.pageY - this.offset.top + }; + }, + + _mouseDrag: function( event, noPropagation ) { + + // reset any necessary cached properties (see #5009) + if ( this.hasFixedAncestor ) { + this.offset.parent = this._getParentOffset(); + } + + //Compute the helpers position + this.position = this._generatePosition( event, true ); + this.positionAbs = this._convertPositionTo( "absolute" ); + + //Call plugins and callbacks and use the resulting position if something is returned + if ( !noPropagation ) { + var ui = this._uiHash(); + if ( this._trigger( "drag", event, ui ) === false ) { + this._mouseUp( new $.Event( "mouseup", event ) ); + return false; + } + this.position = ui.position; + } + + this.helper[ 0 ].style.left = this.position.left + "px"; + this.helper[ 0 ].style.top = this.position.top + "px"; + + if ( $.ui.ddmanager ) { + $.ui.ddmanager.drag( this, event ); + } + + return false; + }, + + _mouseStop: function( event ) { + + //If we are using droppables, inform the manager about the drop + var that = this, + dropped = false; + if ( $.ui.ddmanager && !this.options.dropBehaviour ) { + dropped = $.ui.ddmanager.drop( this, event ); + } + + //if a drop comes from outside (a sortable) + if ( this.dropped ) { + dropped = this.dropped; + this.dropped = false; + } + + if ( ( this.options.revert === "invalid" && !dropped ) || + ( this.options.revert === "valid" && dropped ) || + this.options.revert === true || ( $.isFunction( this.options.revert ) && + this.options.revert.call( this.element, dropped ) ) + ) { + $( this.helper ).animate( + this.originalPosition, + parseInt( this.options.revertDuration, 10 ), + function() { + if ( that._trigger( "stop", event ) !== false ) { + that._clear(); + } + } + ); + } else { + if ( this._trigger( "stop", event ) !== false ) { + this._clear(); + } + } + + return false; + }, + + _mouseUp: function( event ) { + this._unblockFrames(); + + // If the ddmanager is used for droppables, inform the manager that dragging has stopped + // (see #5003) + if ( $.ui.ddmanager ) { + $.ui.ddmanager.dragStop( this, event ); + } + + // Only need to focus if the event occurred on the draggable itself, see #10527 + if ( this.handleElement.is( event.target ) ) { + + // The interaction is over; whether or not the click resulted in a drag, + // focus the element + this.element.trigger( "focus" ); + } + + return $.ui.mouse.prototype._mouseUp.call( this, event ); + }, + + cancel: function() { + + if ( this.helper.is( ".ui-draggable-dragging" ) ) { + this._mouseUp( new $.Event( "mouseup", { target: this.element[ 0 ] } ) ); + } else { + this._clear(); + } + + return this; + + }, + + _getHandle: function( event ) { + return this.options.handle ? + !!$( event.target ).closest( this.element.find( this.options.handle ) ).length : + true; + }, + + _setHandleClassName: function() { + this.handleElement = this.options.handle ? + this.element.find( this.options.handle ) : this.element; + this._addClass( this.handleElement, "ui-draggable-handle" ); + }, + + _removeHandleClassName: function() { + this._removeClass( this.handleElement, "ui-draggable-handle" ); + }, + + _createHelper: function( event ) { + + var o = this.options, + helperIsFunction = $.isFunction( o.helper ), + helper = helperIsFunction ? + $( o.helper.apply( this.element[ 0 ], [ event ] ) ) : + ( o.helper === "clone" ? + this.element.clone().removeAttr( "id" ) : + this.element ); + + if ( !helper.parents( "body" ).length ) { + helper.appendTo( ( o.appendTo === "parent" ? + this.element[ 0 ].parentNode : + o.appendTo ) ); + } + + // Http://bugs.jqueryui.com/ticket/9446 + // a helper function can return the original element + // which wouldn't have been set to relative in _create + if ( helperIsFunction && helper[ 0 ] === this.element[ 0 ] ) { + this._setPositionRelative(); + } + + if ( helper[ 0 ] !== this.element[ 0 ] && + !( /(fixed|absolute)/ ).test( helper.css( "position" ) ) ) { + helper.css( "position", "absolute" ); + } + + return helper; + + }, + + _setPositionRelative: function() { + if ( !( /^(?:r|a|f)/ ).test( this.element.css( "position" ) ) ) { + this.element[ 0 ].style.position = "relative"; + } + }, + + _adjustOffsetFromHelper: function( obj ) { + if ( typeof obj === "string" ) { + obj = obj.split( " " ); + } + if ( $.isArray( obj ) ) { + obj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 }; + } + if ( "left" in obj ) { + this.offset.click.left = obj.left + this.margins.left; + } + if ( "right" in obj ) { + this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; + } + if ( "top" in obj ) { + this.offset.click.top = obj.top + this.margins.top; + } + if ( "bottom" in obj ) { + this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; + } + }, + + _isRootNode: function( element ) { + return ( /(html|body)/i ).test( element.tagName ) || element === this.document[ 0 ]; + }, + + _getParentOffset: function() { + + //Get the offsetParent and cache its position + var po = this.offsetParent.offset(), + document = this.document[ 0 ]; + + // This is a special case where we need to modify a offset calculated on start, since the + // following happened: + // 1. The position of the helper is absolute, so it's position is calculated based on the + // next positioned parent + // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't + // the document, which means that the scroll is included in the initial calculation of the + // offset of the parent, and never recalculated upon drag + if ( this.cssPosition === "absolute" && this.scrollParent[ 0 ] !== document && + $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) { + po.left += this.scrollParent.scrollLeft(); + po.top += this.scrollParent.scrollTop(); + } + + if ( this._isRootNode( this.offsetParent[ 0 ] ) ) { + po = { top: 0, left: 0 }; + } + + return { + top: po.top + ( parseInt( this.offsetParent.css( "borderTopWidth" ), 10 ) || 0 ), + left: po.left + ( parseInt( this.offsetParent.css( "borderLeftWidth" ), 10 ) || 0 ) + }; + + }, + + _getRelativeOffset: function() { + if ( this.cssPosition !== "relative" ) { + return { top: 0, left: 0 }; + } + + var p = this.element.position(), + scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ); + + return { + top: p.top - ( parseInt( this.helper.css( "top" ), 10 ) || 0 ) + + ( !scrollIsRootNode ? this.scrollParent.scrollTop() : 0 ), + left: p.left - ( parseInt( this.helper.css( "left" ), 10 ) || 0 ) + + ( !scrollIsRootNode ? this.scrollParent.scrollLeft() : 0 ) + }; + + }, + + _cacheMargins: function() { + this.margins = { + left: ( parseInt( this.element.css( "marginLeft" ), 10 ) || 0 ), + top: ( parseInt( this.element.css( "marginTop" ), 10 ) || 0 ), + right: ( parseInt( this.element.css( "marginRight" ), 10 ) || 0 ), + bottom: ( parseInt( this.element.css( "marginBottom" ), 10 ) || 0 ) + }; + }, + + _cacheHelperProportions: function() { + this.helperProportions = { + width: this.helper.outerWidth(), + height: this.helper.outerHeight() + }; + }, + + _setContainment: function() { + + var isUserScrollable, c, ce, + o = this.options, + document = this.document[ 0 ]; + + this.relativeContainer = null; + + if ( !o.containment ) { + this.containment = null; + return; + } + + if ( o.containment === "window" ) { + this.containment = [ + $( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left, + $( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top, + $( window ).scrollLeft() + $( window ).width() - + this.helperProportions.width - this.margins.left, + $( window ).scrollTop() + + ( $( window ).height() || document.body.parentNode.scrollHeight ) - + this.helperProportions.height - this.margins.top + ]; + return; + } + + if ( o.containment === "document" ) { + this.containment = [ + 0, + 0, + $( document ).width() - this.helperProportions.width - this.margins.left, + ( $( document ).height() || document.body.parentNode.scrollHeight ) - + this.helperProportions.height - this.margins.top + ]; + return; + } + + if ( o.containment.constructor === Array ) { + this.containment = o.containment; + return; + } + + if ( o.containment === "parent" ) { + o.containment = this.helper[ 0 ].parentNode; + } + + c = $( o.containment ); + ce = c[ 0 ]; + + if ( !ce ) { + return; + } + + isUserScrollable = /(scroll|auto)/.test( c.css( "overflow" ) ); + + this.containment = [ + ( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) + + ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ), + ( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) + + ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ), + ( isUserScrollable ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - + ( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) - + ( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) - + this.helperProportions.width - + this.margins.left - + this.margins.right, + ( isUserScrollable ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - + ( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) - + ( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) - + this.helperProportions.height - + this.margins.top - + this.margins.bottom + ]; + this.relativeContainer = c; + }, + + _convertPositionTo: function( d, pos ) { + + if ( !pos ) { + pos = this.position; + } + + var mod = d === "absolute" ? 1 : -1, + scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ); + + return { + top: ( + + // The absolute mouse position + pos.top + + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.top * mod + + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.top * mod - + ( ( this.cssPosition === "fixed" ? + -this.offset.scroll.top : + ( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) * mod ) + ), + left: ( + + // The absolute mouse position + pos.left + + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.left * mod + + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.left * mod - + ( ( this.cssPosition === "fixed" ? + -this.offset.scroll.left : + ( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) * mod ) + ) + }; + + }, + + _generatePosition: function( event, constrainPosition ) { + + var containment, co, top, left, + o = this.options, + scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ), + pageX = event.pageX, + pageY = event.pageY; + + // Cache the scroll + if ( !scrollIsRootNode || !this.offset.scroll ) { + this.offset.scroll = { + top: this.scrollParent.scrollTop(), + left: this.scrollParent.scrollLeft() + }; + } + + /* + * - Position constraining - + * Constrain the position to a mix of grid, containment. + */ + + // If we are not dragging yet, we won't check for options + if ( constrainPosition ) { + if ( this.containment ) { + if ( this.relativeContainer ) { + co = this.relativeContainer.offset(); + containment = [ + this.containment[ 0 ] + co.left, + this.containment[ 1 ] + co.top, + this.containment[ 2 ] + co.left, + this.containment[ 3 ] + co.top + ]; + } else { + containment = this.containment; + } + + if ( event.pageX - this.offset.click.left < containment[ 0 ] ) { + pageX = containment[ 0 ] + this.offset.click.left; + } + if ( event.pageY - this.offset.click.top < containment[ 1 ] ) { + pageY = containment[ 1 ] + this.offset.click.top; + } + if ( event.pageX - this.offset.click.left > containment[ 2 ] ) { + pageX = containment[ 2 ] + this.offset.click.left; + } + if ( event.pageY - this.offset.click.top > containment[ 3 ] ) { + pageY = containment[ 3 ] + this.offset.click.top; + } + } + + if ( o.grid ) { + + //Check for grid elements set to 0 to prevent divide by 0 error causing invalid + // argument errors in IE (see ticket #6950) + top = o.grid[ 1 ] ? this.originalPageY + Math.round( ( pageY - + this.originalPageY ) / o.grid[ 1 ] ) * o.grid[ 1 ] : this.originalPageY; + pageY = containment ? ( ( top - this.offset.click.top >= containment[ 1 ] || + top - this.offset.click.top > containment[ 3 ] ) ? + top : + ( ( top - this.offset.click.top >= containment[ 1 ] ) ? + top - o.grid[ 1 ] : top + o.grid[ 1 ] ) ) : top; + + left = o.grid[ 0 ] ? this.originalPageX + + Math.round( ( pageX - this.originalPageX ) / o.grid[ 0 ] ) * o.grid[ 0 ] : + this.originalPageX; + pageX = containment ? ( ( left - this.offset.click.left >= containment[ 0 ] || + left - this.offset.click.left > containment[ 2 ] ) ? + left : + ( ( left - this.offset.click.left >= containment[ 0 ] ) ? + left - o.grid[ 0 ] : left + o.grid[ 0 ] ) ) : left; + } + + if ( o.axis === "y" ) { + pageX = this.originalPageX; + } + + if ( o.axis === "x" ) { + pageY = this.originalPageY; + } + } + + return { + top: ( + + // The absolute mouse position + pageY - + + // Click offset (relative to the element) + this.offset.click.top - + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.top - + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.top + + ( this.cssPosition === "fixed" ? + -this.offset.scroll.top : + ( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) + ), + left: ( + + // The absolute mouse position + pageX - + + // Click offset (relative to the element) + this.offset.click.left - + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.left - + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.left + + ( this.cssPosition === "fixed" ? + -this.offset.scroll.left : + ( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) + ) + }; + + }, + + _clear: function() { + this._removeClass( this.helper, "ui-draggable-dragging" ); + if ( this.helper[ 0 ] !== this.element[ 0 ] && !this.cancelHelperRemoval ) { + this.helper.remove(); + } + this.helper = null; + this.cancelHelperRemoval = false; + if ( this.destroyOnClear ) { + this.destroy(); + } + }, + + // From now on bulk stuff - mainly helpers + + _trigger: function( type, event, ui ) { + ui = ui || this._uiHash(); + $.ui.plugin.call( this, type, [ event, ui, this ], true ); + + // Absolute position and offset (see #6884 ) have to be recalculated after plugins + if ( /^(drag|start|stop)/.test( type ) ) { + this.positionAbs = this._convertPositionTo( "absolute" ); + ui.offset = this.positionAbs; + } + return $.Widget.prototype._trigger.call( this, type, event, ui ); + }, + + plugins: {}, + + _uiHash: function() { + return { + helper: this.helper, + position: this.position, + originalPosition: this.originalPosition, + offset: this.positionAbs + }; + } + +} ); + +$.ui.plugin.add( "draggable", "connectToSortable", { + start: function( event, ui, draggable ) { + var uiSortable = $.extend( {}, ui, { + item: draggable.element + } ); + + draggable.sortables = []; + $( draggable.options.connectToSortable ).each( function() { + var sortable = $( this ).sortable( "instance" ); + + if ( sortable && !sortable.options.disabled ) { + draggable.sortables.push( sortable ); + + // RefreshPositions is called at drag start to refresh the containerCache + // which is used in drag. This ensures it's initialized and synchronized + // with any changes that might have happened on the page since initialization. + sortable.refreshPositions(); + sortable._trigger( "activate", event, uiSortable ); + } + } ); + }, + stop: function( event, ui, draggable ) { + var uiSortable = $.extend( {}, ui, { + item: draggable.element + } ); + + draggable.cancelHelperRemoval = false; + + $.each( draggable.sortables, function() { + var sortable = this; + + if ( sortable.isOver ) { + sortable.isOver = 0; + + // Allow this sortable to handle removing the helper + draggable.cancelHelperRemoval = true; + sortable.cancelHelperRemoval = false; + + // Use _storedCSS To restore properties in the sortable, + // as this also handles revert (#9675) since the draggable + // may have modified them in unexpected ways (#8809) + sortable._storedCSS = { + position: sortable.placeholder.css( "position" ), + top: sortable.placeholder.css( "top" ), + left: sortable.placeholder.css( "left" ) + }; + + sortable._mouseStop( event ); + + // Once drag has ended, the sortable should return to using + // its original helper, not the shared helper from draggable + sortable.options.helper = sortable.options._helper; + } else { + + // Prevent this Sortable from removing the helper. + // However, don't set the draggable to remove the helper + // either as another connected Sortable may yet handle the removal. + sortable.cancelHelperRemoval = true; + + sortable._trigger( "deactivate", event, uiSortable ); + } + } ); + }, + drag: function( event, ui, draggable ) { + $.each( draggable.sortables, function() { + var innermostIntersecting = false, + sortable = this; + + // Copy over variables that sortable's _intersectsWith uses + sortable.positionAbs = draggable.positionAbs; + sortable.helperProportions = draggable.helperProportions; + sortable.offset.click = draggable.offset.click; + + if ( sortable._intersectsWith( sortable.containerCache ) ) { + innermostIntersecting = true; + + $.each( draggable.sortables, function() { + + // Copy over variables that sortable's _intersectsWith uses + this.positionAbs = draggable.positionAbs; + this.helperProportions = draggable.helperProportions; + this.offset.click = draggable.offset.click; + + if ( this !== sortable && + this._intersectsWith( this.containerCache ) && + $.contains( sortable.element[ 0 ], this.element[ 0 ] ) ) { + innermostIntersecting = false; + } + + return innermostIntersecting; + } ); + } + + if ( innermostIntersecting ) { + + // If it intersects, we use a little isOver variable and set it once, + // so that the move-in stuff gets fired only once. + if ( !sortable.isOver ) { + sortable.isOver = 1; + + // Store draggable's parent in case we need to reappend to it later. + draggable._parent = ui.helper.parent(); + + sortable.currentItem = ui.helper + .appendTo( sortable.element ) + .data( "ui-sortable-item", true ); + + // Store helper option to later restore it + sortable.options._helper = sortable.options.helper; + + sortable.options.helper = function() { + return ui.helper[ 0 ]; + }; + + // Fire the start events of the sortable with our passed browser event, + // and our own helper (so it doesn't create a new one) + event.target = sortable.currentItem[ 0 ]; + sortable._mouseCapture( event, true ); + sortable._mouseStart( event, true, true ); + + // Because the browser event is way off the new appended portlet, + // modify necessary variables to reflect the changes + sortable.offset.click.top = draggable.offset.click.top; + sortable.offset.click.left = draggable.offset.click.left; + sortable.offset.parent.left -= draggable.offset.parent.left - + sortable.offset.parent.left; + sortable.offset.parent.top -= draggable.offset.parent.top - + sortable.offset.parent.top; + + draggable._trigger( "toSortable", event ); + + // Inform draggable that the helper is in a valid drop zone, + // used solely in the revert option to handle "valid/invalid". + draggable.dropped = sortable.element; + + // Need to refreshPositions of all sortables in the case that + // adding to one sortable changes the location of the other sortables (#9675) + $.each( draggable.sortables, function() { + this.refreshPositions(); + } ); + + // Hack so receive/update callbacks work (mostly) + draggable.currentItem = draggable.element; + sortable.fromOutside = draggable; + } + + if ( sortable.currentItem ) { + sortable._mouseDrag( event ); + + // Copy the sortable's position because the draggable's can potentially reflect + // a relative position, while sortable is always absolute, which the dragged + // element has now become. (#8809) + ui.position = sortable.position; + } + } else { + + // If it doesn't intersect with the sortable, and it intersected before, + // we fake the drag stop of the sortable, but make sure it doesn't remove + // the helper by using cancelHelperRemoval. + if ( sortable.isOver ) { + + sortable.isOver = 0; + sortable.cancelHelperRemoval = true; + + // Calling sortable's mouseStop would trigger a revert, + // so revert must be temporarily false until after mouseStop is called. + sortable.options._revert = sortable.options.revert; + sortable.options.revert = false; + + sortable._trigger( "out", event, sortable._uiHash( sortable ) ); + sortable._mouseStop( event, true ); + + // Restore sortable behaviors that were modfied + // when the draggable entered the sortable area (#9481) + sortable.options.revert = sortable.options._revert; + sortable.options.helper = sortable.options._helper; + + if ( sortable.placeholder ) { + sortable.placeholder.remove(); + } + + // Restore and recalculate the draggable's offset considering the sortable + // may have modified them in unexpected ways. (#8809, #10669) + ui.helper.appendTo( draggable._parent ); + draggable._refreshOffsets( event ); + ui.position = draggable._generatePosition( event, true ); + + draggable._trigger( "fromSortable", event ); + + // Inform draggable that the helper is no longer in a valid drop zone + draggable.dropped = false; + + // Need to refreshPositions of all sortables just in case removing + // from one sortable changes the location of other sortables (#9675) + $.each( draggable.sortables, function() { + this.refreshPositions(); + } ); + } + } + } ); + } +} ); + +$.ui.plugin.add( "draggable", "cursor", { + start: function( event, ui, instance ) { + var t = $( "body" ), + o = instance.options; + + if ( t.css( "cursor" ) ) { + o._cursor = t.css( "cursor" ); + } + t.css( "cursor", o.cursor ); + }, + stop: function( event, ui, instance ) { + var o = instance.options; + if ( o._cursor ) { + $( "body" ).css( "cursor", o._cursor ); + } + } +} ); + +$.ui.plugin.add( "draggable", "opacity", { + start: function( event, ui, instance ) { + var t = $( ui.helper ), + o = instance.options; + if ( t.css( "opacity" ) ) { + o._opacity = t.css( "opacity" ); + } + t.css( "opacity", o.opacity ); + }, + stop: function( event, ui, instance ) { + var o = instance.options; + if ( o._opacity ) { + $( ui.helper ).css( "opacity", o._opacity ); + } + } +} ); + +$.ui.plugin.add( "draggable", "scroll", { + start: function( event, ui, i ) { + if ( !i.scrollParentNotHidden ) { + i.scrollParentNotHidden = i.helper.scrollParent( false ); + } + + if ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] && + i.scrollParentNotHidden[ 0 ].tagName !== "HTML" ) { + i.overflowOffset = i.scrollParentNotHidden.offset(); + } + }, + drag: function( event, ui, i ) { + + var o = i.options, + scrolled = false, + scrollParent = i.scrollParentNotHidden[ 0 ], + document = i.document[ 0 ]; + + if ( scrollParent !== document && scrollParent.tagName !== "HTML" ) { + if ( !o.axis || o.axis !== "x" ) { + if ( ( i.overflowOffset.top + scrollParent.offsetHeight ) - event.pageY < + o.scrollSensitivity ) { + scrollParent.scrollTop = scrolled = scrollParent.scrollTop + o.scrollSpeed; + } else if ( event.pageY - i.overflowOffset.top < o.scrollSensitivity ) { + scrollParent.scrollTop = scrolled = scrollParent.scrollTop - o.scrollSpeed; + } + } + + if ( !o.axis || o.axis !== "y" ) { + if ( ( i.overflowOffset.left + scrollParent.offsetWidth ) - event.pageX < + o.scrollSensitivity ) { + scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft + o.scrollSpeed; + } else if ( event.pageX - i.overflowOffset.left < o.scrollSensitivity ) { + scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft - o.scrollSpeed; + } + } + + } else { + + if ( !o.axis || o.axis !== "x" ) { + if ( event.pageY - $( document ).scrollTop() < o.scrollSensitivity ) { + scrolled = $( document ).scrollTop( $( document ).scrollTop() - o.scrollSpeed ); + } else if ( $( window ).height() - ( event.pageY - $( document ).scrollTop() ) < + o.scrollSensitivity ) { + scrolled = $( document ).scrollTop( $( document ).scrollTop() + o.scrollSpeed ); + } + } + + if ( !o.axis || o.axis !== "y" ) { + if ( event.pageX - $( document ).scrollLeft() < o.scrollSensitivity ) { + scrolled = $( document ).scrollLeft( + $( document ).scrollLeft() - o.scrollSpeed + ); + } else if ( $( window ).width() - ( event.pageX - $( document ).scrollLeft() ) < + o.scrollSensitivity ) { + scrolled = $( document ).scrollLeft( + $( document ).scrollLeft() + o.scrollSpeed + ); + } + } + + } + + if ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) { + $.ui.ddmanager.prepareOffsets( i, event ); + } + + } +} ); + +$.ui.plugin.add( "draggable", "snap", { + start: function( event, ui, i ) { + + var o = i.options; + + i.snapElements = []; + + $( o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap ) + .each( function() { + var $t = $( this ), + $o = $t.offset(); + if ( this !== i.element[ 0 ] ) { + i.snapElements.push( { + item: this, + width: $t.outerWidth(), height: $t.outerHeight(), + top: $o.top, left: $o.left + } ); + } + } ); + + }, + drag: function( event, ui, inst ) { + + var ts, bs, ls, rs, l, r, t, b, i, first, + o = inst.options, + d = o.snapTolerance, + x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width, + y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height; + + for ( i = inst.snapElements.length - 1; i >= 0; i-- ) { + + l = inst.snapElements[ i ].left - inst.margins.left; + r = l + inst.snapElements[ i ].width; + t = inst.snapElements[ i ].top - inst.margins.top; + b = t + inst.snapElements[ i ].height; + + if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d || + !$.contains( inst.snapElements[ i ].item.ownerDocument, + inst.snapElements[ i ].item ) ) { + if ( inst.snapElements[ i ].snapping ) { + ( inst.options.snap.release && + inst.options.snap.release.call( + inst.element, + event, + $.extend( inst._uiHash(), { snapItem: inst.snapElements[ i ].item } ) + ) ); + } + inst.snapElements[ i ].snapping = false; + continue; + } + + if ( o.snapMode !== "inner" ) { + ts = Math.abs( t - y2 ) <= d; + bs = Math.abs( b - y1 ) <= d; + ls = Math.abs( l - x2 ) <= d; + rs = Math.abs( r - x1 ) <= d; + if ( ts ) { + ui.position.top = inst._convertPositionTo( "relative", { + top: t - inst.helperProportions.height, + left: 0 + } ).top; + } + if ( bs ) { + ui.position.top = inst._convertPositionTo( "relative", { + top: b, + left: 0 + } ).top; + } + if ( ls ) { + ui.position.left = inst._convertPositionTo( "relative", { + top: 0, + left: l - inst.helperProportions.width + } ).left; + } + if ( rs ) { + ui.position.left = inst._convertPositionTo( "relative", { + top: 0, + left: r + } ).left; + } + } + + first = ( ts || bs || ls || rs ); + + if ( o.snapMode !== "outer" ) { + ts = Math.abs( t - y1 ) <= d; + bs = Math.abs( b - y2 ) <= d; + ls = Math.abs( l - x1 ) <= d; + rs = Math.abs( r - x2 ) <= d; + if ( ts ) { + ui.position.top = inst._convertPositionTo( "relative", { + top: t, + left: 0 + } ).top; + } + if ( bs ) { + ui.position.top = inst._convertPositionTo( "relative", { + top: b - inst.helperProportions.height, + left: 0 + } ).top; + } + if ( ls ) { + ui.position.left = inst._convertPositionTo( "relative", { + top: 0, + left: l + } ).left; + } + if ( rs ) { + ui.position.left = inst._convertPositionTo( "relative", { + top: 0, + left: r - inst.helperProportions.width + } ).left; + } + } + + if ( !inst.snapElements[ i ].snapping && ( ts || bs || ls || rs || first ) ) { + ( inst.options.snap.snap && + inst.options.snap.snap.call( + inst.element, + event, + $.extend( inst._uiHash(), { + snapItem: inst.snapElements[ i ].item + } ) ) ); + } + inst.snapElements[ i ].snapping = ( ts || bs || ls || rs || first ); + + } + + } +} ); + +$.ui.plugin.add( "draggable", "stack", { + start: function( event, ui, instance ) { + var min, + o = instance.options, + group = $.makeArray( $( o.stack ) ).sort( function( a, b ) { + return ( parseInt( $( a ).css( "zIndex" ), 10 ) || 0 ) - + ( parseInt( $( b ).css( "zIndex" ), 10 ) || 0 ); + } ); + + if ( !group.length ) { return; } + + min = parseInt( $( group[ 0 ] ).css( "zIndex" ), 10 ) || 0; + $( group ).each( function( i ) { + $( this ).css( "zIndex", min + i ); + } ); + this.css( "zIndex", ( min + group.length ) ); + } +} ); + +$.ui.plugin.add( "draggable", "zIndex", { + start: function( event, ui, instance ) { + var t = $( ui.helper ), + o = instance.options; + + if ( t.css( "zIndex" ) ) { + o._zIndex = t.css( "zIndex" ); + } + t.css( "zIndex", o.zIndex ); + }, + stop: function( event, ui, instance ) { + var o = instance.options; + + if ( o._zIndex ) { + $( ui.helper ).css( "zIndex", o._zIndex ); + } + } +} ); + +var widgetsDraggable = $.ui.draggable; + + +/*! + * jQuery UI Droppable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Droppable +//>>group: Interactions +//>>description: Enables drop targets for draggable elements. +//>>docs: http://api.jqueryui.com/droppable/ +//>>demos: http://jqueryui.com/droppable/ + + + +$.widget( "ui.droppable", { + version: "1.12.1", + widgetEventPrefix: "drop", + options: { + accept: "*", + addClasses: true, + greedy: false, + scope: "default", + tolerance: "intersect", + + // Callbacks + activate: null, + deactivate: null, + drop: null, + out: null, + over: null + }, + _create: function() { + + var proportions, + o = this.options, + accept = o.accept; + + this.isover = false; + this.isout = true; + + this.accept = $.isFunction( accept ) ? accept : function( d ) { + return d.is( accept ); + }; + + this.proportions = function( /* valueToWrite */ ) { + if ( arguments.length ) { + + // Store the droppable's proportions + proportions = arguments[ 0 ]; + } else { + + // Retrieve or derive the droppable's proportions + return proportions ? + proportions : + proportions = { + width: this.element[ 0 ].offsetWidth, + height: this.element[ 0 ].offsetHeight + }; + } + }; + + this._addToManager( o.scope ); + + o.addClasses && this._addClass( "ui-droppable" ); + + }, + + _addToManager: function( scope ) { + + // Add the reference and positions to the manager + $.ui.ddmanager.droppables[ scope ] = $.ui.ddmanager.droppables[ scope ] || []; + $.ui.ddmanager.droppables[ scope ].push( this ); + }, + + _splice: function( drop ) { + var i = 0; + for ( ; i < drop.length; i++ ) { + if ( drop[ i ] === this ) { + drop.splice( i, 1 ); + } + } + }, + + _destroy: function() { + var drop = $.ui.ddmanager.droppables[ this.options.scope ]; + + this._splice( drop ); + }, + + _setOption: function( key, value ) { + + if ( key === "accept" ) { + this.accept = $.isFunction( value ) ? value : function( d ) { + return d.is( value ); + }; + } else if ( key === "scope" ) { + var drop = $.ui.ddmanager.droppables[ this.options.scope ]; + + this._splice( drop ); + this._addToManager( value ); + } + + this._super( key, value ); + }, + + _activate: function( event ) { + var draggable = $.ui.ddmanager.current; + + this._addActiveClass(); + if ( draggable ) { + this._trigger( "activate", event, this.ui( draggable ) ); + } + }, + + _deactivate: function( event ) { + var draggable = $.ui.ddmanager.current; + + this._removeActiveClass(); + if ( draggable ) { + this._trigger( "deactivate", event, this.ui( draggable ) ); + } + }, + + _over: function( event ) { + + var draggable = $.ui.ddmanager.current; + + // Bail if draggable and droppable are same element + if ( !draggable || ( draggable.currentItem || + draggable.element )[ 0 ] === this.element[ 0 ] ) { + return; + } + + if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || + draggable.element ) ) ) { + this._addHoverClass(); + this._trigger( "over", event, this.ui( draggable ) ); + } + + }, + + _out: function( event ) { + + var draggable = $.ui.ddmanager.current; + + // Bail if draggable and droppable are same element + if ( !draggable || ( draggable.currentItem || + draggable.element )[ 0 ] === this.element[ 0 ] ) { + return; + } + + if ( this.accept.call( this.element[ 0 ], ( draggable.currentItem || + draggable.element ) ) ) { + this._removeHoverClass(); + this._trigger( "out", event, this.ui( draggable ) ); + } + + }, + + _drop: function( event, custom ) { + + var draggable = custom || $.ui.ddmanager.current, + childrenIntersection = false; + + // Bail if draggable and droppable are same element + if ( !draggable || ( draggable.currentItem || + draggable.element )[ 0 ] === this.element[ 0 ] ) { + return false; + } + + this.element + .find( ":data(ui-droppable)" ) + .not( ".ui-draggable-dragging" ) + .each( function() { + var inst = $( this ).droppable( "instance" ); + if ( + inst.options.greedy && + !inst.options.disabled && + inst.options.scope === draggable.options.scope && + inst.accept.call( + inst.element[ 0 ], ( draggable.currentItem || draggable.element ) + ) && + intersect( + draggable, + $.extend( inst, { offset: inst.element.offset() } ), + inst.options.tolerance, event + ) + ) { + childrenIntersection = true; + return false; } + } ); + if ( childrenIntersection ) { + return false; + } + + if ( this.accept.call( this.element[ 0 ], + ( draggable.currentItem || draggable.element ) ) ) { + this._removeActiveClass(); + this._removeHoverClass(); + + this._trigger( "drop", event, this.ui( draggable ) ); + return this.element; + } + + return false; + + }, + + ui: function( c ) { + return { + draggable: ( c.currentItem || c.element ), + helper: c.helper, + position: c.position, + offset: c.positionAbs + }; + }, + + // Extension points just to make backcompat sane and avoid duplicating logic + // TODO: Remove in 1.13 along with call to it below + _addHoverClass: function() { + this._addClass( "ui-droppable-hover" ); + }, + + _removeHoverClass: function() { + this._removeClass( "ui-droppable-hover" ); + }, + + _addActiveClass: function() { + this._addClass( "ui-droppable-active" ); + }, + + _removeActiveClass: function() { + this._removeClass( "ui-droppable-active" ); + } +} ); + +var intersect = $.ui.intersect = ( function() { + function isOverAxis( x, reference, size ) { + return ( x >= reference ) && ( x < ( reference + size ) ); + } + + return function( draggable, droppable, toleranceMode, event ) { + + if ( !droppable.offset ) { + return false; + } + + var x1 = ( draggable.positionAbs || + draggable.position.absolute ).left + draggable.margins.left, + y1 = ( draggable.positionAbs || + draggable.position.absolute ).top + draggable.margins.top, + x2 = x1 + draggable.helperProportions.width, + y2 = y1 + draggable.helperProportions.height, + l = droppable.offset.left, + t = droppable.offset.top, + r = l + droppable.proportions().width, + b = t + droppable.proportions().height; + + switch ( toleranceMode ) { + case "fit": + return ( l <= x1 && x2 <= r && t <= y1 && y2 <= b ); + case "intersect": + return ( l < x1 + ( draggable.helperProportions.width / 2 ) && // Right Half + x2 - ( draggable.helperProportions.width / 2 ) < r && // Left Half + t < y1 + ( draggable.helperProportions.height / 2 ) && // Bottom Half + y2 - ( draggable.helperProportions.height / 2 ) < b ); // Top Half + case "pointer": + return isOverAxis( event.pageY, t, droppable.proportions().height ) && + isOverAxis( event.pageX, l, droppable.proportions().width ); + case "touch": + return ( + ( y1 >= t && y1 <= b ) || // Top edge touching + ( y2 >= t && y2 <= b ) || // Bottom edge touching + ( y1 < t && y2 > b ) // Surrounded vertically + ) && ( + ( x1 >= l && x1 <= r ) || // Left edge touching + ( x2 >= l && x2 <= r ) || // Right edge touching + ( x1 < l && x2 > r ) // Surrounded horizontally + ); + default: + return false; + } + }; +} )(); + +/* + This manager tracks offsets of draggables and droppables +*/ +$.ui.ddmanager = { + current: null, + droppables: { "default": [] }, + prepareOffsets: function( t, event ) { + + var i, j, + m = $.ui.ddmanager.droppables[ t.options.scope ] || [], + type = event ? event.type : null, // workaround for #2317 + list = ( t.currentItem || t.element ).find( ":data(ui-droppable)" ).addBack(); + + droppablesLoop: for ( i = 0; i < m.length; i++ ) { + + // No disabled and non-accepted + if ( m[ i ].options.disabled || ( t && !m[ i ].accept.call( m[ i ].element[ 0 ], + ( t.currentItem || t.element ) ) ) ) { + continue; + } + + // Filter out elements in the current dragged item + for ( j = 0; j < list.length; j++ ) { + if ( list[ j ] === m[ i ].element[ 0 ] ) { + m[ i ].proportions().height = 0; + continue droppablesLoop; + } + } + + m[ i ].visible = m[ i ].element.css( "display" ) !== "none"; + if ( !m[ i ].visible ) { + continue; + } + + // Activate the droppable if used directly from draggables + if ( type === "mousedown" ) { + m[ i ]._activate.call( m[ i ], event ); + } + + m[ i ].offset = m[ i ].element.offset(); + m[ i ].proportions( { + width: m[ i ].element[ 0 ].offsetWidth, + height: m[ i ].element[ 0 ].offsetHeight + } ); + + } + + }, + drop: function( draggable, event ) { + + var dropped = false; + + // Create a copy of the droppables in case the list changes during the drop (#9116) + $.each( ( $.ui.ddmanager.droppables[ draggable.options.scope ] || [] ).slice(), function() { + + if ( !this.options ) { + return; + } + if ( !this.options.disabled && this.visible && + intersect( draggable, this, this.options.tolerance, event ) ) { + dropped = this._drop.call( this, event ) || dropped; + } + + if ( !this.options.disabled && this.visible && this.accept.call( this.element[ 0 ], + ( draggable.currentItem || draggable.element ) ) ) { + this.isout = true; + this.isover = false; + this._deactivate.call( this, event ); + } + + } ); + return dropped; + + }, + dragStart: function( draggable, event ) { + + // Listen for scrolling so that if the dragging causes scrolling the position of the + // droppables can be recalculated (see #5003) + draggable.element.parentsUntil( "body" ).on( "scroll.droppable", function() { + if ( !draggable.options.refreshPositions ) { + $.ui.ddmanager.prepareOffsets( draggable, event ); + } + } ); + }, + drag: function( draggable, event ) { + + // If you have a highly dynamic page, you might try this option. It renders positions + // every time you move the mouse. + if ( draggable.options.refreshPositions ) { + $.ui.ddmanager.prepareOffsets( draggable, event ); + } + + // Run through all droppables and check their positions based on specific tolerance options + $.each( $.ui.ddmanager.droppables[ draggable.options.scope ] || [], function() { + + if ( this.options.disabled || this.greedyChild || !this.visible ) { + return; + } + + var parentInstance, scope, parent, + intersects = intersect( draggable, this, this.options.tolerance, event ), + c = !intersects && this.isover ? + "isout" : + ( intersects && !this.isover ? "isover" : null ); + if ( !c ) { + return; + } + + if ( this.options.greedy ) { + + // find droppable parents with same scope + scope = this.options.scope; + parent = this.element.parents( ":data(ui-droppable)" ).filter( function() { + return $( this ).droppable( "instance" ).options.scope === scope; + } ); + + if ( parent.length ) { + parentInstance = $( parent[ 0 ] ).droppable( "instance" ); + parentInstance.greedyChild = ( c === "isover" ); + } + } + + // We just moved into a greedy child + if ( parentInstance && c === "isover" ) { + parentInstance.isover = false; + parentInstance.isout = true; + parentInstance._out.call( parentInstance, event ); + } + + this[ c ] = true; + this[ c === "isout" ? "isover" : "isout" ] = false; + this[ c === "isover" ? "_over" : "_out" ].call( this, event ); + + // We just moved out of a greedy child + if ( parentInstance && c === "isout" ) { + parentInstance.isout = false; + parentInstance.isover = true; + parentInstance._over.call( parentInstance, event ); + } + } ); + + }, + dragStop: function( draggable, event ) { + draggable.element.parentsUntil( "body" ).off( "scroll.droppable" ); + + // Call prepareOffsets one final time since IE does not fire return scroll events when + // overflow was caused by drag (see #5003) + if ( !draggable.options.refreshPositions ) { + $.ui.ddmanager.prepareOffsets( draggable, event ); + } + } +}; + +// DEPRECATED +// TODO: switch return back to widget declaration at top of file when this is removed +if ( $.uiBackCompat !== false ) { + + // Backcompat for activeClass and hoverClass options + $.widget( "ui.droppable", $.ui.droppable, { + options: { + hoverClass: false, + activeClass: false + }, + _addActiveClass: function() { + this._super(); + if ( this.options.activeClass ) { + this.element.addClass( this.options.activeClass ); + } + }, + _removeActiveClass: function() { + this._super(); + if ( this.options.activeClass ) { + this.element.removeClass( this.options.activeClass ); + } + }, + _addHoverClass: function() { + this._super(); + if ( this.options.hoverClass ) { + this.element.addClass( this.options.hoverClass ); + } + }, + _removeHoverClass: function() { + this._super(); + if ( this.options.hoverClass ) { + this.element.removeClass( this.options.hoverClass ); + } + } + } ); +} + +var widgetsDroppable = $.ui.droppable; + + +/*! + * jQuery UI Resizable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Resizable +//>>group: Interactions +//>>description: Enables resize functionality for any element. +//>>docs: http://api.jqueryui.com/resizable/ +//>>demos: http://jqueryui.com/resizable/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/resizable.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.resizable", $.ui.mouse, { + version: "1.12.1", + widgetEventPrefix: "resize", + options: { + alsoResize: false, + animate: false, + animateDuration: "slow", + animateEasing: "swing", + aspectRatio: false, + autoHide: false, + classes: { + "ui-resizable-se": "ui-icon ui-icon-gripsmall-diagonal-se" + }, + containment: false, + ghost: false, + grid: false, + handles: "e,s,se", + helper: false, + maxHeight: null, + maxWidth: null, + minHeight: 10, + minWidth: 10, + + // See #7960 + zIndex: 90, + + // Callbacks + resize: null, + start: null, + stop: null + }, + + _num: function( value ) { + return parseFloat( value ) || 0; + }, + + _isNumber: function( value ) { + return !isNaN( parseFloat( value ) ); + }, + + _hasScroll: function( el, a ) { + + if ( $( el ).css( "overflow" ) === "hidden" ) { + return false; + } + + var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop", + has = false; + + if ( el[ scroll ] > 0 ) { + return true; + } + + // TODO: determine which cases actually cause this to happen + // if the element doesn't have the scroll set, see if it's possible to + // set the scroll + el[ scroll ] = 1; + has = ( el[ scroll ] > 0 ); + el[ scroll ] = 0; + return has; + }, + + _create: function() { + + var margins, + o = this.options, + that = this; + this._addClass( "ui-resizable" ); + + $.extend( this, { + _aspectRatio: !!( o.aspectRatio ), + aspectRatio: o.aspectRatio, + originalElement: this.element, + _proportionallyResizeElements: [], + _helper: o.helper || o.ghost || o.animate ? o.helper || "ui-resizable-helper" : null + } ); + + // Wrap the element if it cannot hold child nodes + if ( this.element[ 0 ].nodeName.match( /^(canvas|textarea|input|select|button|img)$/i ) ) { + + this.element.wrap( + $( "<div class='ui-wrapper' style='overflow: hidden;'></div>" ).css( { + position: this.element.css( "position" ), + width: this.element.outerWidth(), + height: this.element.outerHeight(), + top: this.element.css( "top" ), + left: this.element.css( "left" ) + } ) + ); + + this.element = this.element.parent().data( + "ui-resizable", this.element.resizable( "instance" ) + ); + + this.elementIsWrapper = true; + + margins = { + marginTop: this.originalElement.css( "marginTop" ), + marginRight: this.originalElement.css( "marginRight" ), + marginBottom: this.originalElement.css( "marginBottom" ), + marginLeft: this.originalElement.css( "marginLeft" ) + }; + + this.element.css( margins ); + this.originalElement.css( "margin", 0 ); + + // support: Safari + // Prevent Safari textarea resize + this.originalResizeStyle = this.originalElement.css( "resize" ); + this.originalElement.css( "resize", "none" ); + + this._proportionallyResizeElements.push( this.originalElement.css( { + position: "static", + zoom: 1, + display: "block" + } ) ); + + // Support: IE9 + // avoid IE jump (hard set the margin) + this.originalElement.css( margins ); + + this._proportionallyResize(); + } + + this._setupHandles(); + + if ( o.autoHide ) { + $( this.element ) + .on( "mouseenter", function() { + if ( o.disabled ) { + return; + } + that._removeClass( "ui-resizable-autohide" ); + that._handles.show(); + } ) + .on( "mouseleave", function() { + if ( o.disabled ) { + return; + } + if ( !that.resizing ) { + that._addClass( "ui-resizable-autohide" ); + that._handles.hide(); + } + } ); + } + + this._mouseInit(); + }, + + _destroy: function() { + + this._mouseDestroy(); + + var wrapper, + _destroy = function( exp ) { + $( exp ) + .removeData( "resizable" ) + .removeData( "ui-resizable" ) + .off( ".resizable" ) + .find( ".ui-resizable-handle" ) + .remove(); + }; + + // TODO: Unwrap at same DOM position + if ( this.elementIsWrapper ) { + _destroy( this.element ); + wrapper = this.element; + this.originalElement.css( { + position: wrapper.css( "position" ), + width: wrapper.outerWidth(), + height: wrapper.outerHeight(), + top: wrapper.css( "top" ), + left: wrapper.css( "left" ) + } ).insertAfter( wrapper ); + wrapper.remove(); + } + + this.originalElement.css( "resize", this.originalResizeStyle ); + _destroy( this.originalElement ); + + return this; + }, + + _setOption: function( key, value ) { + this._super( key, value ); + + switch ( key ) { + case "handles": + this._removeHandles(); + this._setupHandles(); + break; + default: + break; + } + }, + + _setupHandles: function() { + var o = this.options, handle, i, n, hname, axis, that = this; + this.handles = o.handles || + ( !$( ".ui-resizable-handle", this.element ).length ? + "e,s,se" : { + n: ".ui-resizable-n", + e: ".ui-resizable-e", + s: ".ui-resizable-s", + w: ".ui-resizable-w", + se: ".ui-resizable-se", + sw: ".ui-resizable-sw", + ne: ".ui-resizable-ne", + nw: ".ui-resizable-nw" + } ); + + this._handles = $(); + if ( this.handles.constructor === String ) { + + if ( this.handles === "all" ) { + this.handles = "n,e,s,w,se,sw,ne,nw"; + } + + n = this.handles.split( "," ); + this.handles = {}; + + for ( i = 0; i < n.length; i++ ) { + + handle = $.trim( n[ i ] ); + hname = "ui-resizable-" + handle; + axis = $( "<div>" ); + this._addClass( axis, "ui-resizable-handle " + hname ); + + axis.css( { zIndex: o.zIndex } ); + + this.handles[ handle ] = ".ui-resizable-" + handle; + this.element.append( axis ); + } + + } + + this._renderAxis = function( target ) { + + var i, axis, padPos, padWrapper; + + target = target || this.element; + + for ( i in this.handles ) { + + if ( this.handles[ i ].constructor === String ) { + this.handles[ i ] = this.element.children( this.handles[ i ] ).first().show(); + } else if ( this.handles[ i ].jquery || this.handles[ i ].nodeType ) { + this.handles[ i ] = $( this.handles[ i ] ); + this._on( this.handles[ i ], { "mousedown": that._mouseDown } ); + } + + if ( this.elementIsWrapper && + this.originalElement[ 0 ] + .nodeName + .match( /^(textarea|input|select|button)$/i ) ) { + axis = $( this.handles[ i ], this.element ); + + padWrapper = /sw|ne|nw|se|n|s/.test( i ) ? + axis.outerHeight() : + axis.outerWidth(); + + padPos = [ "padding", + /ne|nw|n/.test( i ) ? "Top" : + /se|sw|s/.test( i ) ? "Bottom" : + /^e$/.test( i ) ? "Right" : "Left" ].join( "" ); + + target.css( padPos, padWrapper ); + + this._proportionallyResize(); + } + + this._handles = this._handles.add( this.handles[ i ] ); + } + }; + + // TODO: make renderAxis a prototype function + this._renderAxis( this.element ); + + this._handles = this._handles.add( this.element.find( ".ui-resizable-handle" ) ); + this._handles.disableSelection(); + + this._handles.on( "mouseover", function() { + if ( !that.resizing ) { + if ( this.className ) { + axis = this.className.match( /ui-resizable-(se|sw|ne|nw|n|e|s|w)/i ); + } + that.axis = axis && axis[ 1 ] ? axis[ 1 ] : "se"; + } + } ); + + if ( o.autoHide ) { + this._handles.hide(); + this._addClass( "ui-resizable-autohide" ); + } + }, + + _removeHandles: function() { + this._handles.remove(); + }, + + _mouseCapture: function( event ) { + var i, handle, + capture = false; + + for ( i in this.handles ) { + handle = $( this.handles[ i ] )[ 0 ]; + if ( handle === event.target || $.contains( handle, event.target ) ) { + capture = true; + } + } + + return !this.options.disabled && capture; + }, + + _mouseStart: function( event ) { + + var curleft, curtop, cursor, + o = this.options, + el = this.element; + + this.resizing = true; + + this._renderProxy(); + + curleft = this._num( this.helper.css( "left" ) ); + curtop = this._num( this.helper.css( "top" ) ); + + if ( o.containment ) { + curleft += $( o.containment ).scrollLeft() || 0; + curtop += $( o.containment ).scrollTop() || 0; + } + + this.offset = this.helper.offset(); + this.position = { left: curleft, top: curtop }; + + this.size = this._helper ? { + width: this.helper.width(), + height: this.helper.height() + } : { + width: el.width(), + height: el.height() + }; + + this.originalSize = this._helper ? { + width: el.outerWidth(), + height: el.outerHeight() + } : { + width: el.width(), + height: el.height() + }; + + this.sizeDiff = { + width: el.outerWidth() - el.width(), + height: el.outerHeight() - el.height() + }; + + this.originalPosition = { left: curleft, top: curtop }; + this.originalMousePosition = { left: event.pageX, top: event.pageY }; + + this.aspectRatio = ( typeof o.aspectRatio === "number" ) ? + o.aspectRatio : + ( ( this.originalSize.width / this.originalSize.height ) || 1 ); + + cursor = $( ".ui-resizable-" + this.axis ).css( "cursor" ); + $( "body" ).css( "cursor", cursor === "auto" ? this.axis + "-resize" : cursor ); + + this._addClass( "ui-resizable-resizing" ); + this._propagate( "start", event ); + return true; + }, + + _mouseDrag: function( event ) { + + var data, props, + smp = this.originalMousePosition, + a = this.axis, + dx = ( event.pageX - smp.left ) || 0, + dy = ( event.pageY - smp.top ) || 0, + trigger = this._change[ a ]; + + this._updatePrevProperties(); + + if ( !trigger ) { + return false; + } + + data = trigger.apply( this, [ event, dx, dy ] ); + + this._updateVirtualBoundaries( event.shiftKey ); + if ( this._aspectRatio || event.shiftKey ) { + data = this._updateRatio( data, event ); + } + + data = this._respectSize( data, event ); + + this._updateCache( data ); + + this._propagate( "resize", event ); + + props = this._applyChanges(); + + if ( !this._helper && this._proportionallyResizeElements.length ) { + this._proportionallyResize(); + } + + if ( !$.isEmptyObject( props ) ) { + this._updatePrevProperties(); + this._trigger( "resize", event, this.ui() ); + this._applyChanges(); + } + + return false; + }, + + _mouseStop: function( event ) { + + this.resizing = false; + var pr, ista, soffseth, soffsetw, s, left, top, + o = this.options, that = this; + + if ( this._helper ) { + + pr = this._proportionallyResizeElements; + ista = pr.length && ( /textarea/i ).test( pr[ 0 ].nodeName ); + soffseth = ista && this._hasScroll( pr[ 0 ], "left" ) ? 0 : that.sizeDiff.height; + soffsetw = ista ? 0 : that.sizeDiff.width; + + s = { + width: ( that.helper.width() - soffsetw ), + height: ( that.helper.height() - soffseth ) + }; + left = ( parseFloat( that.element.css( "left" ) ) + + ( that.position.left - that.originalPosition.left ) ) || null; + top = ( parseFloat( that.element.css( "top" ) ) + + ( that.position.top - that.originalPosition.top ) ) || null; + + if ( !o.animate ) { + this.element.css( $.extend( s, { top: top, left: left } ) ); + } + + that.helper.height( that.size.height ); + that.helper.width( that.size.width ); + + if ( this._helper && !o.animate ) { + this._proportionallyResize(); + } + } + + $( "body" ).css( "cursor", "auto" ); + + this._removeClass( "ui-resizable-resizing" ); + + this._propagate( "stop", event ); + + if ( this._helper ) { + this.helper.remove(); + } + + return false; + + }, + + _updatePrevProperties: function() { + this.prevPosition = { + top: this.position.top, + left: this.position.left + }; + this.prevSize = { + width: this.size.width, + height: this.size.height + }; + }, + + _applyChanges: function() { + var props = {}; + + if ( this.position.top !== this.prevPosition.top ) { + props.top = this.position.top + "px"; + } + if ( this.position.left !== this.prevPosition.left ) { + props.left = this.position.left + "px"; + } + if ( this.size.width !== this.prevSize.width ) { + props.width = this.size.width + "px"; + } + if ( this.size.height !== this.prevSize.height ) { + props.height = this.size.height + "px"; + } + + this.helper.css( props ); + + return props; + }, + + _updateVirtualBoundaries: function( forceAspectRatio ) { + var pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b, + o = this.options; + + b = { + minWidth: this._isNumber( o.minWidth ) ? o.minWidth : 0, + maxWidth: this._isNumber( o.maxWidth ) ? o.maxWidth : Infinity, + minHeight: this._isNumber( o.minHeight ) ? o.minHeight : 0, + maxHeight: this._isNumber( o.maxHeight ) ? o.maxHeight : Infinity + }; + + if ( this._aspectRatio || forceAspectRatio ) { + pMinWidth = b.minHeight * this.aspectRatio; + pMinHeight = b.minWidth / this.aspectRatio; + pMaxWidth = b.maxHeight * this.aspectRatio; + pMaxHeight = b.maxWidth / this.aspectRatio; + + if ( pMinWidth > b.minWidth ) { + b.minWidth = pMinWidth; + } + if ( pMinHeight > b.minHeight ) { + b.minHeight = pMinHeight; + } + if ( pMaxWidth < b.maxWidth ) { + b.maxWidth = pMaxWidth; + } + if ( pMaxHeight < b.maxHeight ) { + b.maxHeight = pMaxHeight; + } + } + this._vBoundaries = b; + }, + + _updateCache: function( data ) { + this.offset = this.helper.offset(); + if ( this._isNumber( data.left ) ) { + this.position.left = data.left; + } + if ( this._isNumber( data.top ) ) { + this.position.top = data.top; + } + if ( this._isNumber( data.height ) ) { + this.size.height = data.height; + } + if ( this._isNumber( data.width ) ) { + this.size.width = data.width; + } + }, + + _updateRatio: function( data ) { + + var cpos = this.position, + csize = this.size, + a = this.axis; + + if ( this._isNumber( data.height ) ) { + data.width = ( data.height * this.aspectRatio ); + } else if ( this._isNumber( data.width ) ) { + data.height = ( data.width / this.aspectRatio ); + } + + if ( a === "sw" ) { + data.left = cpos.left + ( csize.width - data.width ); + data.top = null; + } + if ( a === "nw" ) { + data.top = cpos.top + ( csize.height - data.height ); + data.left = cpos.left + ( csize.width - data.width ); + } + + return data; + }, + + _respectSize: function( data ) { + + var o = this._vBoundaries, + a = this.axis, + ismaxw = this._isNumber( data.width ) && o.maxWidth && ( o.maxWidth < data.width ), + ismaxh = this._isNumber( data.height ) && o.maxHeight && ( o.maxHeight < data.height ), + isminw = this._isNumber( data.width ) && o.minWidth && ( o.minWidth > data.width ), + isminh = this._isNumber( data.height ) && o.minHeight && ( o.minHeight > data.height ), + dw = this.originalPosition.left + this.originalSize.width, + dh = this.originalPosition.top + this.originalSize.height, + cw = /sw|nw|w/.test( a ), ch = /nw|ne|n/.test( a ); + if ( isminw ) { + data.width = o.minWidth; + } + if ( isminh ) { + data.height = o.minHeight; + } + if ( ismaxw ) { + data.width = o.maxWidth; + } + if ( ismaxh ) { + data.height = o.maxHeight; + } + + if ( isminw && cw ) { + data.left = dw - o.minWidth; + } + if ( ismaxw && cw ) { + data.left = dw - o.maxWidth; + } + if ( isminh && ch ) { + data.top = dh - o.minHeight; + } + if ( ismaxh && ch ) { + data.top = dh - o.maxHeight; + } + + // Fixing jump error on top/left - bug #2330 + if ( !data.width && !data.height && !data.left && data.top ) { + data.top = null; + } else if ( !data.width && !data.height && !data.top && data.left ) { + data.left = null; + } + + return data; + }, + + _getPaddingPlusBorderDimensions: function( element ) { + var i = 0, + widths = [], + borders = [ + element.css( "borderTopWidth" ), + element.css( "borderRightWidth" ), + element.css( "borderBottomWidth" ), + element.css( "borderLeftWidth" ) + ], + paddings = [ + element.css( "paddingTop" ), + element.css( "paddingRight" ), + element.css( "paddingBottom" ), + element.css( "paddingLeft" ) + ]; + + for ( ; i < 4; i++ ) { + widths[ i ] = ( parseFloat( borders[ i ] ) || 0 ); + widths[ i ] += ( parseFloat( paddings[ i ] ) || 0 ); + } + + return { + height: widths[ 0 ] + widths[ 2 ], + width: widths[ 1 ] + widths[ 3 ] + }; + }, + + _proportionallyResize: function() { + + if ( !this._proportionallyResizeElements.length ) { + return; + } + + var prel, + i = 0, + element = this.helper || this.element; + + for ( ; i < this._proportionallyResizeElements.length; i++ ) { + + prel = this._proportionallyResizeElements[ i ]; + + // TODO: Seems like a bug to cache this.outerDimensions + // considering that we are in a loop. + if ( !this.outerDimensions ) { + this.outerDimensions = this._getPaddingPlusBorderDimensions( prel ); + } + + prel.css( { + height: ( element.height() - this.outerDimensions.height ) || 0, + width: ( element.width() - this.outerDimensions.width ) || 0 + } ); + + } + + }, + + _renderProxy: function() { + + var el = this.element, o = this.options; + this.elementOffset = el.offset(); + + if ( this._helper ) { + + this.helper = this.helper || $( "<div style='overflow:hidden;'></div>" ); + + this._addClass( this.helper, this._helper ); + this.helper.css( { + width: this.element.outerWidth(), + height: this.element.outerHeight(), + position: "absolute", + left: this.elementOffset.left + "px", + top: this.elementOffset.top + "px", + zIndex: ++o.zIndex //TODO: Don't modify option + } ); + + this.helper + .appendTo( "body" ) + .disableSelection(); + + } else { + this.helper = this.element; + } + + }, + + _change: { + e: function( event, dx ) { + return { width: this.originalSize.width + dx }; + }, + w: function( event, dx ) { + var cs = this.originalSize, sp = this.originalPosition; + return { left: sp.left + dx, width: cs.width - dx }; + }, + n: function( event, dx, dy ) { + var cs = this.originalSize, sp = this.originalPosition; + return { top: sp.top + dy, height: cs.height - dy }; + }, + s: function( event, dx, dy ) { + return { height: this.originalSize.height + dy }; + }, + se: function( event, dx, dy ) { + return $.extend( this._change.s.apply( this, arguments ), + this._change.e.apply( this, [ event, dx, dy ] ) ); + }, + sw: function( event, dx, dy ) { + return $.extend( this._change.s.apply( this, arguments ), + this._change.w.apply( this, [ event, dx, dy ] ) ); + }, + ne: function( event, dx, dy ) { + return $.extend( this._change.n.apply( this, arguments ), + this._change.e.apply( this, [ event, dx, dy ] ) ); + }, + nw: function( event, dx, dy ) { + return $.extend( this._change.n.apply( this, arguments ), + this._change.w.apply( this, [ event, dx, dy ] ) ); + } + }, + + _propagate: function( n, event ) { + $.ui.plugin.call( this, n, [ event, this.ui() ] ); + ( n !== "resize" && this._trigger( n, event, this.ui() ) ); + }, + + plugins: {}, + + ui: function() { + return { + originalElement: this.originalElement, + element: this.element, + helper: this.helper, + position: this.position, + size: this.size, + originalSize: this.originalSize, + originalPosition: this.originalPosition + }; + } + +} ); + +/* + * Resizable Extensions + */ + +$.ui.plugin.add( "resizable", "animate", { + + stop: function( event ) { + var that = $( this ).resizable( "instance" ), + o = that.options, + pr = that._proportionallyResizeElements, + ista = pr.length && ( /textarea/i ).test( pr[ 0 ].nodeName ), + soffseth = ista && that._hasScroll( pr[ 0 ], "left" ) ? 0 : that.sizeDiff.height, + soffsetw = ista ? 0 : that.sizeDiff.width, + style = { + width: ( that.size.width - soffsetw ), + height: ( that.size.height - soffseth ) + }, + left = ( parseFloat( that.element.css( "left" ) ) + + ( that.position.left - that.originalPosition.left ) ) || null, + top = ( parseFloat( that.element.css( "top" ) ) + + ( that.position.top - that.originalPosition.top ) ) || null; + + that.element.animate( + $.extend( style, top && left ? { top: top, left: left } : {} ), { + duration: o.animateDuration, + easing: o.animateEasing, + step: function() { + + var data = { + width: parseFloat( that.element.css( "width" ) ), + height: parseFloat( that.element.css( "height" ) ), + top: parseFloat( that.element.css( "top" ) ), + left: parseFloat( that.element.css( "left" ) ) + }; + + if ( pr && pr.length ) { + $( pr[ 0 ] ).css( { width: data.width, height: data.height } ); + } + + // Propagating resize, and updating values for each animation step + that._updateCache( data ); + that._propagate( "resize", event ); + + } + } + ); + } + +} ); + +$.ui.plugin.add( "resizable", "containment", { + + start: function() { + var element, p, co, ch, cw, width, height, + that = $( this ).resizable( "instance" ), + o = that.options, + el = that.element, + oc = o.containment, + ce = ( oc instanceof $ ) ? + oc.get( 0 ) : + ( /parent/.test( oc ) ) ? el.parent().get( 0 ) : oc; + + if ( !ce ) { + return; + } + + that.containerElement = $( ce ); + + if ( /document/.test( oc ) || oc === document ) { + that.containerOffset = { + left: 0, + top: 0 + }; + that.containerPosition = { + left: 0, + top: 0 + }; + + that.parentData = { + element: $( document ), + left: 0, + top: 0, + width: $( document ).width(), + height: $( document ).height() || document.body.parentNode.scrollHeight + }; + } else { + element = $( ce ); + p = []; + $( [ "Top", "Right", "Left", "Bottom" ] ).each( function( i, name ) { + p[ i ] = that._num( element.css( "padding" + name ) ); + } ); + + that.containerOffset = element.offset(); + that.containerPosition = element.position(); + that.containerSize = { + height: ( element.innerHeight() - p[ 3 ] ), + width: ( element.innerWidth() - p[ 1 ] ) + }; + + co = that.containerOffset; + ch = that.containerSize.height; + cw = that.containerSize.width; + width = ( that._hasScroll ( ce, "left" ) ? ce.scrollWidth : cw ); + height = ( that._hasScroll ( ce ) ? ce.scrollHeight : ch ) ; + + that.parentData = { + element: ce, + left: co.left, + top: co.top, + width: width, + height: height + }; + } + }, + + resize: function( event ) { + var woset, hoset, isParent, isOffsetRelative, + that = $( this ).resizable( "instance" ), + o = that.options, + co = that.containerOffset, + cp = that.position, + pRatio = that._aspectRatio || event.shiftKey, + cop = { + top: 0, + left: 0 + }, + ce = that.containerElement, + continueResize = true; + + if ( ce[ 0 ] !== document && ( /static/ ).test( ce.css( "position" ) ) ) { + cop = co; + } + + if ( cp.left < ( that._helper ? co.left : 0 ) ) { + that.size.width = that.size.width + + ( that._helper ? + ( that.position.left - co.left ) : + ( that.position.left - cop.left ) ); + + if ( pRatio ) { + that.size.height = that.size.width / that.aspectRatio; + continueResize = false; + } + that.position.left = o.helper ? co.left : 0; + } + + if ( cp.top < ( that._helper ? co.top : 0 ) ) { + that.size.height = that.size.height + + ( that._helper ? + ( that.position.top - co.top ) : + that.position.top ); + + if ( pRatio ) { + that.size.width = that.size.height * that.aspectRatio; + continueResize = false; + } + that.position.top = that._helper ? co.top : 0; + } + + isParent = that.containerElement.get( 0 ) === that.element.parent().get( 0 ); + isOffsetRelative = /relative|absolute/.test( that.containerElement.css( "position" ) ); + + if ( isParent && isOffsetRelative ) { + that.offset.left = that.parentData.left + that.position.left; + that.offset.top = that.parentData.top + that.position.top; + } else { + that.offset.left = that.element.offset().left; + that.offset.top = that.element.offset().top; + } + + woset = Math.abs( that.sizeDiff.width + + ( that._helper ? + that.offset.left - cop.left : + ( that.offset.left - co.left ) ) ); + + hoset = Math.abs( that.sizeDiff.height + + ( that._helper ? + that.offset.top - cop.top : + ( that.offset.top - co.top ) ) ); + + if ( woset + that.size.width >= that.parentData.width ) { + that.size.width = that.parentData.width - woset; + if ( pRatio ) { + that.size.height = that.size.width / that.aspectRatio; + continueResize = false; + } + } + + if ( hoset + that.size.height >= that.parentData.height ) { + that.size.height = that.parentData.height - hoset; + if ( pRatio ) { + that.size.width = that.size.height * that.aspectRatio; + continueResize = false; + } + } + + if ( !continueResize ) { + that.position.left = that.prevPosition.left; + that.position.top = that.prevPosition.top; + that.size.width = that.prevSize.width; + that.size.height = that.prevSize.height; + } + }, + + stop: function() { + var that = $( this ).resizable( "instance" ), + o = that.options, + co = that.containerOffset, + cop = that.containerPosition, + ce = that.containerElement, + helper = $( that.helper ), + ho = helper.offset(), + w = helper.outerWidth() - that.sizeDiff.width, + h = helper.outerHeight() - that.sizeDiff.height; + + if ( that._helper && !o.animate && ( /relative/ ).test( ce.css( "position" ) ) ) { + $( this ).css( { + left: ho.left - cop.left - co.left, + width: w, + height: h + } ); + } + + if ( that._helper && !o.animate && ( /static/ ).test( ce.css( "position" ) ) ) { + $( this ).css( { + left: ho.left - cop.left - co.left, + width: w, + height: h + } ); + } + } +} ); + +$.ui.plugin.add( "resizable", "alsoResize", { + + start: function() { + var that = $( this ).resizable( "instance" ), + o = that.options; + + $( o.alsoResize ).each( function() { + var el = $( this ); + el.data( "ui-resizable-alsoresize", { + width: parseFloat( el.width() ), height: parseFloat( el.height() ), + left: parseFloat( el.css( "left" ) ), top: parseFloat( el.css( "top" ) ) + } ); + } ); + }, + + resize: function( event, ui ) { + var that = $( this ).resizable( "instance" ), + o = that.options, + os = that.originalSize, + op = that.originalPosition, + delta = { + height: ( that.size.height - os.height ) || 0, + width: ( that.size.width - os.width ) || 0, + top: ( that.position.top - op.top ) || 0, + left: ( that.position.left - op.left ) || 0 + }; + + $( o.alsoResize ).each( function() { + var el = $( this ), start = $( this ).data( "ui-resizable-alsoresize" ), style = {}, + css = el.parents( ui.originalElement[ 0 ] ).length ? + [ "width", "height" ] : + [ "width", "height", "top", "left" ]; + + $.each( css, function( i, prop ) { + var sum = ( start[ prop ] || 0 ) + ( delta[ prop ] || 0 ); + if ( sum && sum >= 0 ) { + style[ prop ] = sum || null; + } + } ); + + el.css( style ); + } ); + }, + + stop: function() { + $( this ).removeData( "ui-resizable-alsoresize" ); + } +} ); + +$.ui.plugin.add( "resizable", "ghost", { + + start: function() { + + var that = $( this ).resizable( "instance" ), cs = that.size; + + that.ghost = that.originalElement.clone(); + that.ghost.css( { + opacity: 0.25, + display: "block", + position: "relative", + height: cs.height, + width: cs.width, + margin: 0, + left: 0, + top: 0 + } ); + + that._addClass( that.ghost, "ui-resizable-ghost" ); + + // DEPRECATED + // TODO: remove after 1.12 + if ( $.uiBackCompat !== false && typeof that.options.ghost === "string" ) { + + // Ghost option + that.ghost.addClass( this.options.ghost ); + } + + that.ghost.appendTo( that.helper ); + + }, + + resize: function() { + var that = $( this ).resizable( "instance" ); + if ( that.ghost ) { + that.ghost.css( { + position: "relative", + height: that.size.height, + width: that.size.width + } ); + } + }, + + stop: function() { + var that = $( this ).resizable( "instance" ); + if ( that.ghost && that.helper ) { + that.helper.get( 0 ).removeChild( that.ghost.get( 0 ) ); + } + } + +} ); + +$.ui.plugin.add( "resizable", "grid", { + + resize: function() { + var outerDimensions, + that = $( this ).resizable( "instance" ), + o = that.options, + cs = that.size, + os = that.originalSize, + op = that.originalPosition, + a = that.axis, + grid = typeof o.grid === "number" ? [ o.grid, o.grid ] : o.grid, + gridX = ( grid[ 0 ] || 1 ), + gridY = ( grid[ 1 ] || 1 ), + ox = Math.round( ( cs.width - os.width ) / gridX ) * gridX, + oy = Math.round( ( cs.height - os.height ) / gridY ) * gridY, + newWidth = os.width + ox, + newHeight = os.height + oy, + isMaxWidth = o.maxWidth && ( o.maxWidth < newWidth ), + isMaxHeight = o.maxHeight && ( o.maxHeight < newHeight ), + isMinWidth = o.minWidth && ( o.minWidth > newWidth ), + isMinHeight = o.minHeight && ( o.minHeight > newHeight ); + + o.grid = grid; + + if ( isMinWidth ) { + newWidth += gridX; + } + if ( isMinHeight ) { + newHeight += gridY; + } + if ( isMaxWidth ) { + newWidth -= gridX; + } + if ( isMaxHeight ) { + newHeight -= gridY; + } + + if ( /^(se|s|e)$/.test( a ) ) { + that.size.width = newWidth; + that.size.height = newHeight; + } else if ( /^(ne)$/.test( a ) ) { + that.size.width = newWidth; + that.size.height = newHeight; + that.position.top = op.top - oy; + } else if ( /^(sw)$/.test( a ) ) { + that.size.width = newWidth; + that.size.height = newHeight; + that.position.left = op.left - ox; + } else { + if ( newHeight - gridY <= 0 || newWidth - gridX <= 0 ) { + outerDimensions = that._getPaddingPlusBorderDimensions( this ); + } + + if ( newHeight - gridY > 0 ) { + that.size.height = newHeight; + that.position.top = op.top - oy; + } else { + newHeight = gridY - outerDimensions.height; + that.size.height = newHeight; + that.position.top = op.top + os.height - newHeight; + } + if ( newWidth - gridX > 0 ) { + that.size.width = newWidth; + that.position.left = op.left - ox; + } else { + newWidth = gridX - outerDimensions.width; + that.size.width = newWidth; + that.position.left = op.left + os.width - newWidth; + } + } + } + +} ); + +var widgetsResizable = $.ui.resizable; + + +/*! + * jQuery UI Selectable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Selectable +//>>group: Interactions +//>>description: Allows groups of elements to be selected with the mouse. +//>>docs: http://api.jqueryui.com/selectable/ +//>>demos: http://jqueryui.com/selectable/ +//>>css.structure: ../../themes/base/selectable.css + + + +var widgetsSelectable = $.widget( "ui.selectable", $.ui.mouse, { + version: "1.12.1", + options: { + appendTo: "body", + autoRefresh: true, + distance: 0, + filter: "*", + tolerance: "touch", + + // Callbacks + selected: null, + selecting: null, + start: null, + stop: null, + unselected: null, + unselecting: null + }, + _create: function() { + var that = this; + + this._addClass( "ui-selectable" ); + + this.dragged = false; + + // Cache selectee children based on filter + this.refresh = function() { + that.elementPos = $( that.element[ 0 ] ).offset(); + that.selectees = $( that.options.filter, that.element[ 0 ] ); + that._addClass( that.selectees, "ui-selectee" ); + that.selectees.each( function() { + var $this = $( this ), + selecteeOffset = $this.offset(), + pos = { + left: selecteeOffset.left - that.elementPos.left, + top: selecteeOffset.top - that.elementPos.top + }; + $.data( this, "selectable-item", { + element: this, + $element: $this, + left: pos.left, + top: pos.top, + right: pos.left + $this.outerWidth(), + bottom: pos.top + $this.outerHeight(), + startselected: false, + selected: $this.hasClass( "ui-selected" ), + selecting: $this.hasClass( "ui-selecting" ), + unselecting: $this.hasClass( "ui-unselecting" ) + } ); + } ); + }; + this.refresh(); + + this._mouseInit(); + + this.helper = $( "<div>" ); + this._addClass( this.helper, "ui-selectable-helper" ); + }, + + _destroy: function() { + this.selectees.removeData( "selectable-item" ); + this._mouseDestroy(); + }, + + _mouseStart: function( event ) { + var that = this, + options = this.options; + + this.opos = [ event.pageX, event.pageY ]; + this.elementPos = $( this.element[ 0 ] ).offset(); + + if ( this.options.disabled ) { + return; + } + + this.selectees = $( options.filter, this.element[ 0 ] ); + + this._trigger( "start", event ); + + $( options.appendTo ).append( this.helper ); + + // position helper (lasso) + this.helper.css( { + "left": event.pageX, + "top": event.pageY, + "width": 0, + "height": 0 + } ); + + if ( options.autoRefresh ) { + this.refresh(); + } + + this.selectees.filter( ".ui-selected" ).each( function() { + var selectee = $.data( this, "selectable-item" ); + selectee.startselected = true; + if ( !event.metaKey && !event.ctrlKey ) { + that._removeClass( selectee.$element, "ui-selected" ); + selectee.selected = false; + that._addClass( selectee.$element, "ui-unselecting" ); + selectee.unselecting = true; + + // selectable UNSELECTING callback + that._trigger( "unselecting", event, { + unselecting: selectee.element + } ); + } + } ); + + $( event.target ).parents().addBack().each( function() { + var doSelect, + selectee = $.data( this, "selectable-item" ); + if ( selectee ) { + doSelect = ( !event.metaKey && !event.ctrlKey ) || + !selectee.$element.hasClass( "ui-selected" ); + that._removeClass( selectee.$element, doSelect ? "ui-unselecting" : "ui-selected" ) + ._addClass( selectee.$element, doSelect ? "ui-selecting" : "ui-unselecting" ); + selectee.unselecting = !doSelect; + selectee.selecting = doSelect; + selectee.selected = doSelect; + + // selectable (UN)SELECTING callback + if ( doSelect ) { + that._trigger( "selecting", event, { + selecting: selectee.element + } ); + } else { + that._trigger( "unselecting", event, { + unselecting: selectee.element + } ); + } + return false; + } + } ); + + }, + + _mouseDrag: function( event ) { + + this.dragged = true; + + if ( this.options.disabled ) { + return; + } + + var tmp, + that = this, + options = this.options, + x1 = this.opos[ 0 ], + y1 = this.opos[ 1 ], + x2 = event.pageX, + y2 = event.pageY; + + if ( x1 > x2 ) { tmp = x2; x2 = x1; x1 = tmp; } + if ( y1 > y2 ) { tmp = y2; y2 = y1; y1 = tmp; } + this.helper.css( { left: x1, top: y1, width: x2 - x1, height: y2 - y1 } ); + + this.selectees.each( function() { + var selectee = $.data( this, "selectable-item" ), + hit = false, + offset = {}; + + //prevent helper from being selected if appendTo: selectable + if ( !selectee || selectee.element === that.element[ 0 ] ) { + return; + } + + offset.left = selectee.left + that.elementPos.left; + offset.right = selectee.right + that.elementPos.left; + offset.top = selectee.top + that.elementPos.top; + offset.bottom = selectee.bottom + that.elementPos.top; + + if ( options.tolerance === "touch" ) { + hit = ( !( offset.left > x2 || offset.right < x1 || offset.top > y2 || + offset.bottom < y1 ) ); + } else if ( options.tolerance === "fit" ) { + hit = ( offset.left > x1 && offset.right < x2 && offset.top > y1 && + offset.bottom < y2 ); + } + + if ( hit ) { + + // SELECT + if ( selectee.selected ) { + that._removeClass( selectee.$element, "ui-selected" ); + selectee.selected = false; + } + if ( selectee.unselecting ) { + that._removeClass( selectee.$element, "ui-unselecting" ); + selectee.unselecting = false; + } + if ( !selectee.selecting ) { + that._addClass( selectee.$element, "ui-selecting" ); + selectee.selecting = true; + + // selectable SELECTING callback + that._trigger( "selecting", event, { + selecting: selectee.element + } ); + } + } else { + + // UNSELECT + if ( selectee.selecting ) { + if ( ( event.metaKey || event.ctrlKey ) && selectee.startselected ) { + that._removeClass( selectee.$element, "ui-selecting" ); + selectee.selecting = false; + that._addClass( selectee.$element, "ui-selected" ); + selectee.selected = true; + } else { + that._removeClass( selectee.$element, "ui-selecting" ); + selectee.selecting = false; + if ( selectee.startselected ) { + that._addClass( selectee.$element, "ui-unselecting" ); + selectee.unselecting = true; + } + + // selectable UNSELECTING callback + that._trigger( "unselecting", event, { + unselecting: selectee.element + } ); + } + } + if ( selectee.selected ) { + if ( !event.metaKey && !event.ctrlKey && !selectee.startselected ) { + that._removeClass( selectee.$element, "ui-selected" ); + selectee.selected = false; + + that._addClass( selectee.$element, "ui-unselecting" ); + selectee.unselecting = true; + + // selectable UNSELECTING callback + that._trigger( "unselecting", event, { + unselecting: selectee.element + } ); + } + } + } + } ); + + return false; + }, + + _mouseStop: function( event ) { + var that = this; + + this.dragged = false; + + $( ".ui-unselecting", this.element[ 0 ] ).each( function() { + var selectee = $.data( this, "selectable-item" ); + that._removeClass( selectee.$element, "ui-unselecting" ); + selectee.unselecting = false; + selectee.startselected = false; + that._trigger( "unselected", event, { + unselected: selectee.element + } ); + } ); + $( ".ui-selecting", this.element[ 0 ] ).each( function() { + var selectee = $.data( this, "selectable-item" ); + that._removeClass( selectee.$element, "ui-selecting" ) + ._addClass( selectee.$element, "ui-selected" ); + selectee.selecting = false; + selectee.selected = true; + selectee.startselected = true; + that._trigger( "selected", event, { + selected: selectee.element + } ); + } ); + this._trigger( "stop", event ); + + this.helper.remove(); + + return false; + } + +} ); + + +/*! + * jQuery UI Sortable 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Sortable +//>>group: Interactions +//>>description: Enables items in a list to be sorted using the mouse. +//>>docs: http://api.jqueryui.com/sortable/ +//>>demos: http://jqueryui.com/sortable/ +//>>css.structure: ../../themes/base/sortable.css + + + +var widgetsSortable = $.widget( "ui.sortable", $.ui.mouse, { + version: "1.12.1", + widgetEventPrefix: "sort", + ready: false, + options: { + appendTo: "parent", + axis: false, + connectWith: false, + containment: false, + cursor: "auto", + cursorAt: false, + dropOnEmpty: true, + forcePlaceholderSize: false, + forceHelperSize: false, + grid: false, + handle: false, + helper: "original", + items: "> *", + opacity: false, + placeholder: false, + revert: false, + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + scope: "default", + tolerance: "intersect", + zIndex: 1000, + + // Callbacks + activate: null, + beforeStop: null, + change: null, + deactivate: null, + out: null, + over: null, + receive: null, + remove: null, + sort: null, + start: null, + stop: null, + update: null + }, + + _isOverAxis: function( x, reference, size ) { + return ( x >= reference ) && ( x < ( reference + size ) ); + }, + + _isFloating: function( item ) { + return ( /left|right/ ).test( item.css( "float" ) ) || + ( /inline|table-cell/ ).test( item.css( "display" ) ); + }, + + _create: function() { + this.containerCache = {}; + this._addClass( "ui-sortable" ); + + //Get the items + this.refresh(); + + //Let's determine the parent's offset + this.offset = this.element.offset(); + + //Initialize mouse events for interaction + this._mouseInit(); + + this._setHandleClassName(); + + //We're ready to go + this.ready = true; + + }, + + _setOption: function( key, value ) { + this._super( key, value ); + + if ( key === "handle" ) { + this._setHandleClassName(); + } + }, + + _setHandleClassName: function() { + var that = this; + this._removeClass( this.element.find( ".ui-sortable-handle" ), "ui-sortable-handle" ); + $.each( this.items, function() { + that._addClass( + this.instance.options.handle ? + this.item.find( this.instance.options.handle ) : + this.item, + "ui-sortable-handle" + ); + } ); + }, + + _destroy: function() { + this._mouseDestroy(); + + for ( var i = this.items.length - 1; i >= 0; i-- ) { + this.items[ i ].item.removeData( this.widgetName + "-item" ); + } + + return this; + }, + + _mouseCapture: function( event, overrideHandle ) { + var currentItem = null, + validHandle = false, + that = this; + + if ( this.reverting ) { + return false; + } + + if ( this.options.disabled || this.options.type === "static" ) { + return false; + } + + //We have to refresh the items data once first + this._refreshItems( event ); + + //Find out if the clicked node (or one of its parents) is a actual item in this.items + $( event.target ).parents().each( function() { + if ( $.data( this, that.widgetName + "-item" ) === that ) { + currentItem = $( this ); + return false; + } + } ); + if ( $.data( event.target, that.widgetName + "-item" ) === that ) { + currentItem = $( event.target ); + } + + if ( !currentItem ) { + return false; + } + if ( this.options.handle && !overrideHandle ) { + $( this.options.handle, currentItem ).find( "*" ).addBack().each( function() { + if ( this === event.target ) { + validHandle = true; + } + } ); + if ( !validHandle ) { + return false; + } + } + + this.currentItem = currentItem; + this._removeCurrentsFromItems(); + return true; + + }, + + _mouseStart: function( event, overrideHandle, noActivation ) { + + var i, body, + o = this.options; + + this.currentContainer = this; + + //We only need to call refreshPositions, because the refreshItems call has been moved to + // mouseCapture + this.refreshPositions(); + + //Create and append the visible helper + this.helper = this._createHelper( event ); + + //Cache the helper size + this._cacheHelperProportions(); + + /* + * - Position generation - + * This block generates everything position related - it's the core of draggables. + */ + + //Cache the margins of the original element + this._cacheMargins(); + + //Get the next scrolling parent + this.scrollParent = this.helper.scrollParent(); + + //The element's absolute position on the page minus margins + this.offset = this.currentItem.offset(); + this.offset = { + top: this.offset.top - this.margins.top, + left: this.offset.left - this.margins.left + }; + + $.extend( this.offset, { + click: { //Where the click happened, relative to the element + left: event.pageX - this.offset.left, + top: event.pageY - this.offset.top + }, + parent: this._getParentOffset(), + + // This is a relative to absolute position minus the actual position calculation - + // only used for relative positioned helper + relative: this._getRelativeOffset() + } ); + + // Only after we got the offset, we can change the helper's position to absolute + // TODO: Still need to figure out a way to make relative sorting possible + this.helper.css( "position", "absolute" ); + this.cssPosition = this.helper.css( "position" ); + + //Generate the original position + this.originalPosition = this._generatePosition( event ); + this.originalPageX = event.pageX; + this.originalPageY = event.pageY; + + //Adjust the mouse offset relative to the helper if "cursorAt" is supplied + ( o.cursorAt && this._adjustOffsetFromHelper( o.cursorAt ) ); + + //Cache the former DOM position + this.domPosition = { + prev: this.currentItem.prev()[ 0 ], + parent: this.currentItem.parent()[ 0 ] + }; + + // If the helper is not the original, hide the original so it's not playing any role during + // the drag, won't cause anything bad this way + if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) { + this.currentItem.hide(); + } + + //Create the placeholder + this._createPlaceholder(); + + //Set a containment if given in the options + if ( o.containment ) { + this._setContainment(); + } + + if ( o.cursor && o.cursor !== "auto" ) { // cursor option + body = this.document.find( "body" ); + + // Support: IE + this.storedCursor = body.css( "cursor" ); + body.css( "cursor", o.cursor ); + + this.storedStylesheet = + $( "<style>*{ cursor: " + o.cursor + " !important; }</style>" ).appendTo( body ); + } + + if ( o.opacity ) { // opacity option + if ( this.helper.css( "opacity" ) ) { + this._storedOpacity = this.helper.css( "opacity" ); + } + this.helper.css( "opacity", o.opacity ); + } + + if ( o.zIndex ) { // zIndex option + if ( this.helper.css( "zIndex" ) ) { + this._storedZIndex = this.helper.css( "zIndex" ); + } + this.helper.css( "zIndex", o.zIndex ); + } + + //Prepare scrolling + if ( this.scrollParent[ 0 ] !== this.document[ 0 ] && + this.scrollParent[ 0 ].tagName !== "HTML" ) { + this.overflowOffset = this.scrollParent.offset(); + } + + //Call callbacks + this._trigger( "start", event, this._uiHash() ); + + //Recache the helper size + if ( !this._preserveHelperProportions ) { + this._cacheHelperProportions(); + } + + //Post "activate" events to possible containers + if ( !noActivation ) { + for ( i = this.containers.length - 1; i >= 0; i-- ) { + this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) ); + } + } + + //Prepare possible droppables + if ( $.ui.ddmanager ) { + $.ui.ddmanager.current = this; + } + + if ( $.ui.ddmanager && !o.dropBehaviour ) { + $.ui.ddmanager.prepareOffsets( this, event ); + } + + this.dragging = true; + + this._addClass( this.helper, "ui-sortable-helper" ); + + // Execute the drag once - this causes the helper not to be visiblebefore getting its + // correct position + this._mouseDrag( event ); + return true; + + }, + + _mouseDrag: function( event ) { + var i, item, itemElement, intersection, + o = this.options, + scrolled = false; + + //Compute the helpers position + this.position = this._generatePosition( event ); + this.positionAbs = this._convertPositionTo( "absolute" ); + + if ( !this.lastPositionAbs ) { + this.lastPositionAbs = this.positionAbs; + } + + //Do scrolling + if ( this.options.scroll ) { + if ( this.scrollParent[ 0 ] !== this.document[ 0 ] && + this.scrollParent[ 0 ].tagName !== "HTML" ) { + + if ( ( this.overflowOffset.top + this.scrollParent[ 0 ].offsetHeight ) - + event.pageY < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollTop = + scrolled = this.scrollParent[ 0 ].scrollTop + o.scrollSpeed; + } else if ( event.pageY - this.overflowOffset.top < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollTop = + scrolled = this.scrollParent[ 0 ].scrollTop - o.scrollSpeed; + } + + if ( ( this.overflowOffset.left + this.scrollParent[ 0 ].offsetWidth ) - + event.pageX < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollLeft = scrolled = + this.scrollParent[ 0 ].scrollLeft + o.scrollSpeed; + } else if ( event.pageX - this.overflowOffset.left < o.scrollSensitivity ) { + this.scrollParent[ 0 ].scrollLeft = scrolled = + this.scrollParent[ 0 ].scrollLeft - o.scrollSpeed; + } + + } else { + + if ( event.pageY - this.document.scrollTop() < o.scrollSensitivity ) { + scrolled = this.document.scrollTop( this.document.scrollTop() - o.scrollSpeed ); + } else if ( this.window.height() - ( event.pageY - this.document.scrollTop() ) < + o.scrollSensitivity ) { + scrolled = this.document.scrollTop( this.document.scrollTop() + o.scrollSpeed ); + } + + if ( event.pageX - this.document.scrollLeft() < o.scrollSensitivity ) { + scrolled = this.document.scrollLeft( + this.document.scrollLeft() - o.scrollSpeed + ); + } else if ( this.window.width() - ( event.pageX - this.document.scrollLeft() ) < + o.scrollSensitivity ) { + scrolled = this.document.scrollLeft( + this.document.scrollLeft() + o.scrollSpeed + ); + } + + } + + if ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) { + $.ui.ddmanager.prepareOffsets( this, event ); + } + } + + //Regenerate the absolute position used for position checks + this.positionAbs = this._convertPositionTo( "absolute" ); + + //Set the helper position + if ( !this.options.axis || this.options.axis !== "y" ) { + this.helper[ 0 ].style.left = this.position.left + "px"; + } + if ( !this.options.axis || this.options.axis !== "x" ) { + this.helper[ 0 ].style.top = this.position.top + "px"; + } + + //Rearrange + for ( i = this.items.length - 1; i >= 0; i-- ) { + + //Cache variables and intersection, continue if no intersection + item = this.items[ i ]; + itemElement = item.item[ 0 ]; + intersection = this._intersectsWithPointer( item ); + if ( !intersection ) { + continue; + } + + // Only put the placeholder inside the current Container, skip all + // items from other containers. This works because when moving + // an item from one container to another the + // currentContainer is switched before the placeholder is moved. + // + // Without this, moving items in "sub-sortables" can cause + // the placeholder to jitter between the outer and inner container. + if ( item.instance !== this.currentContainer ) { + continue; + } + + // Cannot intersect with itself + // no useless actions that have been done before + // no action if the item moved is the parent of the item checked + if ( itemElement !== this.currentItem[ 0 ] && + this.placeholder[ intersection === 1 ? "next" : "prev" ]()[ 0 ] !== itemElement && + !$.contains( this.placeholder[ 0 ], itemElement ) && + ( this.options.type === "semi-dynamic" ? + !$.contains( this.element[ 0 ], itemElement ) : + true + ) + ) { + + this.direction = intersection === 1 ? "down" : "up"; + + if ( this.options.tolerance === "pointer" || this._intersectsWithSides( item ) ) { + this._rearrange( event, item ); + } else { + break; + } + + this._trigger( "change", event, this._uiHash() ); + break; + } + } + + //Post events to containers + this._contactContainers( event ); + + //Interconnect with droppables + if ( $.ui.ddmanager ) { + $.ui.ddmanager.drag( this, event ); + } + + //Call callbacks + this._trigger( "sort", event, this._uiHash() ); + + this.lastPositionAbs = this.positionAbs; + return false; + + }, + + _mouseStop: function( event, noPropagation ) { + + if ( !event ) { + return; + } + + //If we are using droppables, inform the manager about the drop + if ( $.ui.ddmanager && !this.options.dropBehaviour ) { + $.ui.ddmanager.drop( this, event ); + } + + if ( this.options.revert ) { + var that = this, + cur = this.placeholder.offset(), + axis = this.options.axis, + animation = {}; + + if ( !axis || axis === "x" ) { + animation.left = cur.left - this.offset.parent.left - this.margins.left + + ( this.offsetParent[ 0 ] === this.document[ 0 ].body ? + 0 : + this.offsetParent[ 0 ].scrollLeft + ); + } + if ( !axis || axis === "y" ) { + animation.top = cur.top - this.offset.parent.top - this.margins.top + + ( this.offsetParent[ 0 ] === this.document[ 0 ].body ? + 0 : + this.offsetParent[ 0 ].scrollTop + ); + } + this.reverting = true; + $( this.helper ).animate( + animation, + parseInt( this.options.revert, 10 ) || 500, + function() { + that._clear( event ); + } + ); + } else { + this._clear( event, noPropagation ); + } + + return false; + + }, + + cancel: function() { + + if ( this.dragging ) { + + this._mouseUp( new $.Event( "mouseup", { target: null } ) ); + + if ( this.options.helper === "original" ) { + this.currentItem.css( this._storedCSS ); + this._removeClass( this.currentItem, "ui-sortable-helper" ); + } else { + this.currentItem.show(); + } + + //Post deactivating events to containers + for ( var i = this.containers.length - 1; i >= 0; i-- ) { + this.containers[ i ]._trigger( "deactivate", null, this._uiHash( this ) ); + if ( this.containers[ i ].containerCache.over ) { + this.containers[ i ]._trigger( "out", null, this._uiHash( this ) ); + this.containers[ i ].containerCache.over = 0; + } + } + + } + + if ( this.placeholder ) { + + //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, + // it unbinds ALL events from the original node! + if ( this.placeholder[ 0 ].parentNode ) { + this.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] ); + } + if ( this.options.helper !== "original" && this.helper && + this.helper[ 0 ].parentNode ) { + this.helper.remove(); + } + + $.extend( this, { + helper: null, + dragging: false, + reverting: false, + _noFinalSort: null + } ); + + if ( this.domPosition.prev ) { + $( this.domPosition.prev ).after( this.currentItem ); + } else { + $( this.domPosition.parent ).prepend( this.currentItem ); + } + } + + return this; + + }, + + serialize: function( o ) { + + var items = this._getItemsAsjQuery( o && o.connected ), + str = []; + o = o || {}; + + $( items ).each( function() { + var res = ( $( o.item || this ).attr( o.attribute || "id" ) || "" ) + .match( o.expression || ( /(.+)[\-=_](.+)/ ) ); + if ( res ) { + str.push( + ( o.key || res[ 1 ] + "[]" ) + + "=" + ( o.key && o.expression ? res[ 1 ] : res[ 2 ] ) ); + } + } ); + + if ( !str.length && o.key ) { + str.push( o.key + "=" ); + } + + return str.join( "&" ); + + }, + + toArray: function( o ) { + + var items = this._getItemsAsjQuery( o && o.connected ), + ret = []; + + o = o || {}; + + items.each( function() { + ret.push( $( o.item || this ).attr( o.attribute || "id" ) || "" ); + } ); + return ret; + + }, + + /* Be careful with the following core functions */ + _intersectsWith: function( item ) { + + var x1 = this.positionAbs.left, + x2 = x1 + this.helperProportions.width, + y1 = this.positionAbs.top, + y2 = y1 + this.helperProportions.height, + l = item.left, + r = l + item.width, + t = item.top, + b = t + item.height, + dyClick = this.offset.click.top, + dxClick = this.offset.click.left, + isOverElementHeight = ( this.options.axis === "x" ) || ( ( y1 + dyClick ) > t && + ( y1 + dyClick ) < b ), + isOverElementWidth = ( this.options.axis === "y" ) || ( ( x1 + dxClick ) > l && + ( x1 + dxClick ) < r ), + isOverElement = isOverElementHeight && isOverElementWidth; + + if ( this.options.tolerance === "pointer" || + this.options.forcePointerForContainers || + ( this.options.tolerance !== "pointer" && + this.helperProportions[ this.floating ? "width" : "height" ] > + item[ this.floating ? "width" : "height" ] ) + ) { + return isOverElement; + } else { + + return ( l < x1 + ( this.helperProportions.width / 2 ) && // Right Half + x2 - ( this.helperProportions.width / 2 ) < r && // Left Half + t < y1 + ( this.helperProportions.height / 2 ) && // Bottom Half + y2 - ( this.helperProportions.height / 2 ) < b ); // Top Half + + } + }, + + _intersectsWithPointer: function( item ) { + var verticalDirection, horizontalDirection, + isOverElementHeight = ( this.options.axis === "x" ) || + this._isOverAxis( + this.positionAbs.top + this.offset.click.top, item.top, item.height ), + isOverElementWidth = ( this.options.axis === "y" ) || + this._isOverAxis( + this.positionAbs.left + this.offset.click.left, item.left, item.width ), + isOverElement = isOverElementHeight && isOverElementWidth; + + if ( !isOverElement ) { + return false; + } + + verticalDirection = this._getDragVerticalDirection(); + horizontalDirection = this._getDragHorizontalDirection(); + + return this.floating ? + ( ( horizontalDirection === "right" || verticalDirection === "down" ) ? 2 : 1 ) + : ( verticalDirection && ( verticalDirection === "down" ? 2 : 1 ) ); + + }, + + _intersectsWithSides: function( item ) { + + var isOverBottomHalf = this._isOverAxis( this.positionAbs.top + + this.offset.click.top, item.top + ( item.height / 2 ), item.height ), + isOverRightHalf = this._isOverAxis( this.positionAbs.left + + this.offset.click.left, item.left + ( item.width / 2 ), item.width ), + verticalDirection = this._getDragVerticalDirection(), + horizontalDirection = this._getDragHorizontalDirection(); + + if ( this.floating && horizontalDirection ) { + return ( ( horizontalDirection === "right" && isOverRightHalf ) || + ( horizontalDirection === "left" && !isOverRightHalf ) ); + } else { + return verticalDirection && ( ( verticalDirection === "down" && isOverBottomHalf ) || + ( verticalDirection === "up" && !isOverBottomHalf ) ); + } + + }, + + _getDragVerticalDirection: function() { + var delta = this.positionAbs.top - this.lastPositionAbs.top; + return delta !== 0 && ( delta > 0 ? "down" : "up" ); + }, + + _getDragHorizontalDirection: function() { + var delta = this.positionAbs.left - this.lastPositionAbs.left; + return delta !== 0 && ( delta > 0 ? "right" : "left" ); + }, + + refresh: function( event ) { + this._refreshItems( event ); + this._setHandleClassName(); + this.refreshPositions(); + return this; + }, + + _connectWith: function() { + var options = this.options; + return options.connectWith.constructor === String ? + [ options.connectWith ] : + options.connectWith; + }, + + _getItemsAsjQuery: function( connected ) { + + var i, j, cur, inst, + items = [], + queries = [], + connectWith = this._connectWith(); + + if ( connectWith && connected ) { + for ( i = connectWith.length - 1; i >= 0; i-- ) { + cur = $( connectWith[ i ], this.document[ 0 ] ); + for ( j = cur.length - 1; j >= 0; j-- ) { + inst = $.data( cur[ j ], this.widgetFullName ); + if ( inst && inst !== this && !inst.options.disabled ) { + queries.push( [ $.isFunction( inst.options.items ) ? + inst.options.items.call( inst.element ) : + $( inst.options.items, inst.element ) + .not( ".ui-sortable-helper" ) + .not( ".ui-sortable-placeholder" ), inst ] ); + } + } + } + } + + queries.push( [ $.isFunction( this.options.items ) ? + this.options.items + .call( this.element, null, { options: this.options, item: this.currentItem } ) : + $( this.options.items, this.element ) + .not( ".ui-sortable-helper" ) + .not( ".ui-sortable-placeholder" ), this ] ); + + function addItems() { + items.push( this ); + } + for ( i = queries.length - 1; i >= 0; i-- ) { + queries[ i ][ 0 ].each( addItems ); + } + + return $( items ); + + }, + + _removeCurrentsFromItems: function() { + + var list = this.currentItem.find( ":data(" + this.widgetName + "-item)" ); + + this.items = $.grep( this.items, function( item ) { + for ( var j = 0; j < list.length; j++ ) { + if ( list[ j ] === item.item[ 0 ] ) { + return false; + } + } + return true; + } ); + + }, + + _refreshItems: function( event ) { + + this.items = []; + this.containers = [ this ]; + + var i, j, cur, inst, targetData, _queries, item, queriesLength, + items = this.items, + queries = [ [ $.isFunction( this.options.items ) ? + this.options.items.call( this.element[ 0 ], event, { item: this.currentItem } ) : + $( this.options.items, this.element ), this ] ], + connectWith = this._connectWith(); + + //Shouldn't be run the first time through due to massive slow-down + if ( connectWith && this.ready ) { + for ( i = connectWith.length - 1; i >= 0; i-- ) { + cur = $( connectWith[ i ], this.document[ 0 ] ); + for ( j = cur.length - 1; j >= 0; j-- ) { + inst = $.data( cur[ j ], this.widgetFullName ); + if ( inst && inst !== this && !inst.options.disabled ) { + queries.push( [ $.isFunction( inst.options.items ) ? + inst.options.items + .call( inst.element[ 0 ], event, { item: this.currentItem } ) : + $( inst.options.items, inst.element ), inst ] ); + this.containers.push( inst ); + } + } + } + } + + for ( i = queries.length - 1; i >= 0; i-- ) { + targetData = queries[ i ][ 1 ]; + _queries = queries[ i ][ 0 ]; + + for ( j = 0, queriesLength = _queries.length; j < queriesLength; j++ ) { + item = $( _queries[ j ] ); + + // Data for target checking (mouse manager) + item.data( this.widgetName + "-item", targetData ); + + items.push( { + item: item, + instance: targetData, + width: 0, height: 0, + left: 0, top: 0 + } ); + } + } + + }, + + refreshPositions: function( fast ) { + + // Determine whether items are being displayed horizontally + this.floating = this.items.length ? + this.options.axis === "x" || this._isFloating( this.items[ 0 ].item ) : + false; + + //This has to be redone because due to the item being moved out/into the offsetParent, + // the offsetParent's position will change + if ( this.offsetParent && this.helper ) { + this.offset.parent = this._getParentOffset(); + } + + var i, item, t, p; + + for ( i = this.items.length - 1; i >= 0; i-- ) { + item = this.items[ i ]; + + //We ignore calculating positions of all connected containers when we're not over them + if ( item.instance !== this.currentContainer && this.currentContainer && + item.item[ 0 ] !== this.currentItem[ 0 ] ) { + continue; + } + + t = this.options.toleranceElement ? + $( this.options.toleranceElement, item.item ) : + item.item; + + if ( !fast ) { + item.width = t.outerWidth(); + item.height = t.outerHeight(); + } + + p = t.offset(); + item.left = p.left; + item.top = p.top; + } + + if ( this.options.custom && this.options.custom.refreshContainers ) { + this.options.custom.refreshContainers.call( this ); + } else { + for ( i = this.containers.length - 1; i >= 0; i-- ) { + p = this.containers[ i ].element.offset(); + this.containers[ i ].containerCache.left = p.left; + this.containers[ i ].containerCache.top = p.top; + this.containers[ i ].containerCache.width = + this.containers[ i ].element.outerWidth(); + this.containers[ i ].containerCache.height = + this.containers[ i ].element.outerHeight(); + } + } + + return this; + }, + + _createPlaceholder: function( that ) { + that = that || this; + var className, + o = that.options; + + if ( !o.placeholder || o.placeholder.constructor === String ) { + className = o.placeholder; + o.placeholder = { + element: function() { + + var nodeName = that.currentItem[ 0 ].nodeName.toLowerCase(), + element = $( "<" + nodeName + ">", that.document[ 0 ] ); + + that._addClass( element, "ui-sortable-placeholder", + className || that.currentItem[ 0 ].className ) + ._removeClass( element, "ui-sortable-helper" ); + + if ( nodeName === "tbody" ) { + that._createTrPlaceholder( + that.currentItem.find( "tr" ).eq( 0 ), + $( "<tr>", that.document[ 0 ] ).appendTo( element ) + ); + } else if ( nodeName === "tr" ) { + that._createTrPlaceholder( that.currentItem, element ); + } else if ( nodeName === "img" ) { + element.attr( "src", that.currentItem.attr( "src" ) ); + } + + if ( !className ) { + element.css( "visibility", "hidden" ); + } + + return element; + }, + update: function( container, p ) { + + // 1. If a className is set as 'placeholder option, we don't force sizes - + // the class is responsible for that + // 2. The option 'forcePlaceholderSize can be enabled to force it even if a + // class name is specified + if ( className && !o.forcePlaceholderSize ) { + return; + } + + //If the element doesn't have a actual height by itself (without styles coming + // from a stylesheet), it receives the inline height from the dragged item + if ( !p.height() ) { + p.height( + that.currentItem.innerHeight() - + parseInt( that.currentItem.css( "paddingTop" ) || 0, 10 ) - + parseInt( that.currentItem.css( "paddingBottom" ) || 0, 10 ) ); + } + if ( !p.width() ) { + p.width( + that.currentItem.innerWidth() - + parseInt( that.currentItem.css( "paddingLeft" ) || 0, 10 ) - + parseInt( that.currentItem.css( "paddingRight" ) || 0, 10 ) ); + } + } + }; + } + + //Create the placeholder + that.placeholder = $( o.placeholder.element.call( that.element, that.currentItem ) ); + + //Append it after the actual current item + that.currentItem.after( that.placeholder ); + + //Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317) + o.placeholder.update( that, that.placeholder ); + + }, + + _createTrPlaceholder: function( sourceTr, targetTr ) { + var that = this; + + sourceTr.children().each( function() { + $( "<td>&#160;</td>", that.document[ 0 ] ) + .attr( "colspan", $( this ).attr( "colspan" ) || 1 ) + .appendTo( targetTr ); + } ); + }, + + _contactContainers: function( event ) { + var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom, + floating, axis, + innermostContainer = null, + innermostIndex = null; + + // Get innermost container that intersects with item + for ( i = this.containers.length - 1; i >= 0; i-- ) { + + // Never consider a container that's located within the item itself + if ( $.contains( this.currentItem[ 0 ], this.containers[ i ].element[ 0 ] ) ) { + continue; + } + + if ( this._intersectsWith( this.containers[ i ].containerCache ) ) { + + // If we've already found a container and it's more "inner" than this, then continue + if ( innermostContainer && + $.contains( + this.containers[ i ].element[ 0 ], + innermostContainer.element[ 0 ] ) ) { + continue; + } + + innermostContainer = this.containers[ i ]; + innermostIndex = i; + + } else { + + // container doesn't intersect. trigger "out" event if necessary + if ( this.containers[ i ].containerCache.over ) { + this.containers[ i ]._trigger( "out", event, this._uiHash( this ) ); + this.containers[ i ].containerCache.over = 0; + } + } + + } + + // If no intersecting containers found, return + if ( !innermostContainer ) { + return; + } + + // Move the item into the container if it's not there already + if ( this.containers.length === 1 ) { + if ( !this.containers[ innermostIndex ].containerCache.over ) { + this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash( this ) ); + this.containers[ innermostIndex ].containerCache.over = 1; + } + } else { + + // When entering a new container, we will find the item with the least distance and + // append our item near it + dist = 10000; + itemWithLeastDistance = null; + floating = innermostContainer.floating || this._isFloating( this.currentItem ); + posProperty = floating ? "left" : "top"; + sizeProperty = floating ? "width" : "height"; + axis = floating ? "pageX" : "pageY"; + + for ( j = this.items.length - 1; j >= 0; j-- ) { + if ( !$.contains( + this.containers[ innermostIndex ].element[ 0 ], this.items[ j ].item[ 0 ] ) + ) { + continue; + } + if ( this.items[ j ].item[ 0 ] === this.currentItem[ 0 ] ) { + continue; + } + + cur = this.items[ j ].item.offset()[ posProperty ]; + nearBottom = false; + if ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ) { + nearBottom = true; + } + + if ( Math.abs( event[ axis ] - cur ) < dist ) { + dist = Math.abs( event[ axis ] - cur ); + itemWithLeastDistance = this.items[ j ]; + this.direction = nearBottom ? "up" : "down"; + } + } + + //Check if dropOnEmpty is enabled + if ( !itemWithLeastDistance && !this.options.dropOnEmpty ) { + return; + } + + if ( this.currentContainer === this.containers[ innermostIndex ] ) { + if ( !this.currentContainer.containerCache.over ) { + this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash() ); + this.currentContainer.containerCache.over = 1; + } + return; + } + + itemWithLeastDistance ? + this._rearrange( event, itemWithLeastDistance, null, true ) : + this._rearrange( event, null, this.containers[ innermostIndex ].element, true ); + this._trigger( "change", event, this._uiHash() ); + this.containers[ innermostIndex ]._trigger( "change", event, this._uiHash( this ) ); + this.currentContainer = this.containers[ innermostIndex ]; + + //Update the placeholder + this.options.placeholder.update( this.currentContainer, this.placeholder ); + + this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash( this ) ); + this.containers[ innermostIndex ].containerCache.over = 1; + } + + }, + + _createHelper: function( event ) { + + var o = this.options, + helper = $.isFunction( o.helper ) ? + $( o.helper.apply( this.element[ 0 ], [ event, this.currentItem ] ) ) : + ( o.helper === "clone" ? this.currentItem.clone() : this.currentItem ); + + //Add the helper to the DOM if that didn't happen already + if ( !helper.parents( "body" ).length ) { + $( o.appendTo !== "parent" ? + o.appendTo : + this.currentItem[ 0 ].parentNode )[ 0 ].appendChild( helper[ 0 ] ); + } + + if ( helper[ 0 ] === this.currentItem[ 0 ] ) { + this._storedCSS = { + width: this.currentItem[ 0 ].style.width, + height: this.currentItem[ 0 ].style.height, + position: this.currentItem.css( "position" ), + top: this.currentItem.css( "top" ), + left: this.currentItem.css( "left" ) + }; + } + + if ( !helper[ 0 ].style.width || o.forceHelperSize ) { + helper.width( this.currentItem.width() ); + } + if ( !helper[ 0 ].style.height || o.forceHelperSize ) { + helper.height( this.currentItem.height() ); + } + + return helper; + + }, + + _adjustOffsetFromHelper: function( obj ) { + if ( typeof obj === "string" ) { + obj = obj.split( " " ); + } + if ( $.isArray( obj ) ) { + obj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 }; + } + if ( "left" in obj ) { + this.offset.click.left = obj.left + this.margins.left; + } + if ( "right" in obj ) { + this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; + } + if ( "top" in obj ) { + this.offset.click.top = obj.top + this.margins.top; + } + if ( "bottom" in obj ) { + this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; + } + }, + + _getParentOffset: function() { + + //Get the offsetParent and cache its position + this.offsetParent = this.helper.offsetParent(); + var po = this.offsetParent.offset(); + + // This is a special case where we need to modify a offset calculated on start, since the + // following happened: + // 1. The position of the helper is absolute, so it's position is calculated based on the + // next positioned parent + // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't + // the document, which means that the scroll is included in the initial calculation of the + // offset of the parent, and never recalculated upon drag + if ( this.cssPosition === "absolute" && this.scrollParent[ 0 ] !== this.document[ 0 ] && + $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) { + po.left += this.scrollParent.scrollLeft(); + po.top += this.scrollParent.scrollTop(); + } + + // This needs to be actually done for all browsers, since pageX/pageY includes this + // information with an ugly IE fix + if ( this.offsetParent[ 0 ] === this.document[ 0 ].body || + ( this.offsetParent[ 0 ].tagName && + this.offsetParent[ 0 ].tagName.toLowerCase() === "html" && $.ui.ie ) ) { + po = { top: 0, left: 0 }; + } + + return { + top: po.top + ( parseInt( this.offsetParent.css( "borderTopWidth" ), 10 ) || 0 ), + left: po.left + ( parseInt( this.offsetParent.css( "borderLeftWidth" ), 10 ) || 0 ) + }; + + }, + + _getRelativeOffset: function() { + + if ( this.cssPosition === "relative" ) { + var p = this.currentItem.position(); + return { + top: p.top - ( parseInt( this.helper.css( "top" ), 10 ) || 0 ) + + this.scrollParent.scrollTop(), + left: p.left - ( parseInt( this.helper.css( "left" ), 10 ) || 0 ) + + this.scrollParent.scrollLeft() + }; + } else { + return { top: 0, left: 0 }; + } + + }, + + _cacheMargins: function() { + this.margins = { + left: ( parseInt( this.currentItem.css( "marginLeft" ), 10 ) || 0 ), + top: ( parseInt( this.currentItem.css( "marginTop" ), 10 ) || 0 ) + }; + }, + + _cacheHelperProportions: function() { + this.helperProportions = { + width: this.helper.outerWidth(), + height: this.helper.outerHeight() + }; + }, + + _setContainment: function() { + + var ce, co, over, + o = this.options; + if ( o.containment === "parent" ) { + o.containment = this.helper[ 0 ].parentNode; + } + if ( o.containment === "document" || o.containment === "window" ) { + this.containment = [ + 0 - this.offset.relative.left - this.offset.parent.left, + 0 - this.offset.relative.top - this.offset.parent.top, + o.containment === "document" ? + this.document.width() : + this.window.width() - this.helperProportions.width - this.margins.left, + ( o.containment === "document" ? + ( this.document.height() || document.body.parentNode.scrollHeight ) : + this.window.height() || this.document[ 0 ].body.parentNode.scrollHeight + ) - this.helperProportions.height - this.margins.top + ]; + } + + if ( !( /^(document|window|parent)$/ ).test( o.containment ) ) { + ce = $( o.containment )[ 0 ]; + co = $( o.containment ).offset(); + over = ( $( ce ).css( "overflow" ) !== "hidden" ); + + this.containment = [ + co.left + ( parseInt( $( ce ).css( "borderLeftWidth" ), 10 ) || 0 ) + + ( parseInt( $( ce ).css( "paddingLeft" ), 10 ) || 0 ) - this.margins.left, + co.top + ( parseInt( $( ce ).css( "borderTopWidth" ), 10 ) || 0 ) + + ( parseInt( $( ce ).css( "paddingTop" ), 10 ) || 0 ) - this.margins.top, + co.left + ( over ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) - + ( parseInt( $( ce ).css( "borderLeftWidth" ), 10 ) || 0 ) - + ( parseInt( $( ce ).css( "paddingRight" ), 10 ) || 0 ) - + this.helperProportions.width - this.margins.left, + co.top + ( over ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) - + ( parseInt( $( ce ).css( "borderTopWidth" ), 10 ) || 0 ) - + ( parseInt( $( ce ).css( "paddingBottom" ), 10 ) || 0 ) - + this.helperProportions.height - this.margins.top + ]; + } + + }, + + _convertPositionTo: function( d, pos ) { + + if ( !pos ) { + pos = this.position; + } + var mod = d === "absolute" ? 1 : -1, + scroll = this.cssPosition === "absolute" && + !( this.scrollParent[ 0 ] !== this.document[ 0 ] && + $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? + this.offsetParent : + this.scrollParent, + scrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName ); + + return { + top: ( + + // The absolute mouse position + pos.top + + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.top * mod + + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.top * mod - + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollTop() : + ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod ) + ), + left: ( + + // The absolute mouse position + pos.left + + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.left * mod + + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.left * mod - + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : + scroll.scrollLeft() ) * mod ) + ) + }; + + }, + + _generatePosition: function( event ) { + + var top, left, + o = this.options, + pageX = event.pageX, + pageY = event.pageY, + scroll = this.cssPosition === "absolute" && + !( this.scrollParent[ 0 ] !== this.document[ 0 ] && + $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) ? + this.offsetParent : + this.scrollParent, + scrollIsRootNode = ( /(html|body)/i ).test( scroll[ 0 ].tagName ); + + // This is another very weird special case that only happens for relative elements: + // 1. If the css position is relative + // 2. and the scroll parent is the document or similar to the offset parent + // we have to refresh the relative offset during the scroll so there are no jumps + if ( this.cssPosition === "relative" && !( this.scrollParent[ 0 ] !== this.document[ 0 ] && + this.scrollParent[ 0 ] !== this.offsetParent[ 0 ] ) ) { + this.offset.relative = this._getRelativeOffset(); + } + + /* + * - Position constraining - + * Constrain the position to a mix of grid, containment. + */ + + if ( this.originalPosition ) { //If we are not dragging yet, we won't check for options + + if ( this.containment ) { + if ( event.pageX - this.offset.click.left < this.containment[ 0 ] ) { + pageX = this.containment[ 0 ] + this.offset.click.left; + } + if ( event.pageY - this.offset.click.top < this.containment[ 1 ] ) { + pageY = this.containment[ 1 ] + this.offset.click.top; + } + if ( event.pageX - this.offset.click.left > this.containment[ 2 ] ) { + pageX = this.containment[ 2 ] + this.offset.click.left; + } + if ( event.pageY - this.offset.click.top > this.containment[ 3 ] ) { + pageY = this.containment[ 3 ] + this.offset.click.top; + } + } + + if ( o.grid ) { + top = this.originalPageY + Math.round( ( pageY - this.originalPageY ) / + o.grid[ 1 ] ) * o.grid[ 1 ]; + pageY = this.containment ? + ( ( top - this.offset.click.top >= this.containment[ 1 ] && + top - this.offset.click.top <= this.containment[ 3 ] ) ? + top : + ( ( top - this.offset.click.top >= this.containment[ 1 ] ) ? + top - o.grid[ 1 ] : top + o.grid[ 1 ] ) ) : + top; + + left = this.originalPageX + Math.round( ( pageX - this.originalPageX ) / + o.grid[ 0 ] ) * o.grid[ 0 ]; + pageX = this.containment ? + ( ( left - this.offset.click.left >= this.containment[ 0 ] && + left - this.offset.click.left <= this.containment[ 2 ] ) ? + left : + ( ( left - this.offset.click.left >= this.containment[ 0 ] ) ? + left - o.grid[ 0 ] : left + o.grid[ 0 ] ) ) : + left; + } + + } + + return { + top: ( + + // The absolute mouse position + pageY - + + // Click offset (relative to the element) + this.offset.click.top - + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.top - + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.top + + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollTop() : + ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) ) + ), + left: ( + + // The absolute mouse position + pageX - + + // Click offset (relative to the element) + this.offset.click.left - + + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.relative.left - + + // The offsetParent's offset without borders (offset + border) + this.offset.parent.left + + ( ( this.cssPosition === "fixed" ? + -this.scrollParent.scrollLeft() : + scrollIsRootNode ? 0 : scroll.scrollLeft() ) ) + ) + }; + + }, + + _rearrange: function( event, i, a, hardRefresh ) { + + a ? a[ 0 ].appendChild( this.placeholder[ 0 ] ) : + i.item[ 0 ].parentNode.insertBefore( this.placeholder[ 0 ], + ( this.direction === "down" ? i.item[ 0 ] : i.item[ 0 ].nextSibling ) ); + + //Various things done here to improve the performance: + // 1. we create a setTimeout, that calls refreshPositions + // 2. on the instance, we have a counter variable, that get's higher after every append + // 3. on the local scope, we copy the counter variable, and check in the timeout, + // if it's still the same + // 4. this lets only the last addition to the timeout stack through + this.counter = this.counter ? ++this.counter : 1; + var counter = this.counter; + + this._delay( function() { + if ( counter === this.counter ) { + + //Precompute after each DOM insertion, NOT on mousemove + this.refreshPositions( !hardRefresh ); + } + } ); + + }, + + _clear: function( event, noPropagation ) { + + this.reverting = false; + + // We delay all events that have to be triggered to after the point where the placeholder + // has been removed and everything else normalized again + var i, + delayedTriggers = []; + + // We first have to update the dom position of the actual currentItem + // Note: don't do it if the current item is already removed (by a user), or it gets + // reappended (see #4088) + if ( !this._noFinalSort && this.currentItem.parent().length ) { + this.placeholder.before( this.currentItem ); + } + this._noFinalSort = null; + + if ( this.helper[ 0 ] === this.currentItem[ 0 ] ) { + for ( i in this._storedCSS ) { + if ( this._storedCSS[ i ] === "auto" || this._storedCSS[ i ] === "static" ) { + this._storedCSS[ i ] = ""; + } + } + this.currentItem.css( this._storedCSS ); + this._removeClass( this.currentItem, "ui-sortable-helper" ); + } else { + this.currentItem.show(); + } + + if ( this.fromOutside && !noPropagation ) { + delayedTriggers.push( function( event ) { + this._trigger( "receive", event, this._uiHash( this.fromOutside ) ); + } ); + } + if ( ( this.fromOutside || + this.domPosition.prev !== + this.currentItem.prev().not( ".ui-sortable-helper" )[ 0 ] || + this.domPosition.parent !== this.currentItem.parent()[ 0 ] ) && !noPropagation ) { + + // Trigger update callback if the DOM position has changed + delayedTriggers.push( function( event ) { + this._trigger( "update", event, this._uiHash() ); + } ); + } + + // Check if the items Container has Changed and trigger appropriate + // events. + if ( this !== this.currentContainer ) { + if ( !noPropagation ) { + delayedTriggers.push( function( event ) { + this._trigger( "remove", event, this._uiHash() ); + } ); + delayedTriggers.push( ( function( c ) { + return function( event ) { + c._trigger( "receive", event, this._uiHash( this ) ); + }; + } ).call( this, this.currentContainer ) ); + delayedTriggers.push( ( function( c ) { + return function( event ) { + c._trigger( "update", event, this._uiHash( this ) ); + }; + } ).call( this, this.currentContainer ) ); + } + } + + //Post events to containers + function delayEvent( type, instance, container ) { + return function( event ) { + container._trigger( type, event, instance._uiHash( instance ) ); + }; + } + for ( i = this.containers.length - 1; i >= 0; i-- ) { + if ( !noPropagation ) { + delayedTriggers.push( delayEvent( "deactivate", this, this.containers[ i ] ) ); + } + if ( this.containers[ i ].containerCache.over ) { + delayedTriggers.push( delayEvent( "out", this, this.containers[ i ] ) ); + this.containers[ i ].containerCache.over = 0; + } + } + + //Do what was originally in plugins + if ( this.storedCursor ) { + this.document.find( "body" ).css( "cursor", this.storedCursor ); + this.storedStylesheet.remove(); + } + if ( this._storedOpacity ) { + this.helper.css( "opacity", this._storedOpacity ); + } + if ( this._storedZIndex ) { + this.helper.css( "zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex ); + } + + this.dragging = false; + + if ( !noPropagation ) { + this._trigger( "beforeStop", event, this._uiHash() ); + } + + //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, + // it unbinds ALL events from the original node! + this.placeholder[ 0 ].parentNode.removeChild( this.placeholder[ 0 ] ); + + if ( !this.cancelHelperRemoval ) { + if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) { + this.helper.remove(); + } + this.helper = null; + } + + if ( !noPropagation ) { + for ( i = 0; i < delayedTriggers.length; i++ ) { + + // Trigger all delayed events + delayedTriggers[ i ].call( this, event ); + } + this._trigger( "stop", event, this._uiHash() ); + } + + this.fromOutside = false; + return !this.cancelHelperRemoval; + + }, + + _trigger: function() { + if ( $.Widget.prototype._trigger.apply( this, arguments ) === false ) { + this.cancel(); + } + }, + + _uiHash: function( _inst ) { + var inst = _inst || this; + return { + helper: inst.helper, + placeholder: inst.placeholder || $( [] ), + position: inst.position, + originalPosition: inst.originalPosition, + offset: inst.positionAbs, + item: inst.currentItem, + sender: _inst ? _inst.element : null + }; + } + +} ); + + +/*! + * jQuery UI Accordion 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Accordion +//>>group: Widgets +// jscs:disable maximumLineLength +//>>description: Displays collapsible content panels for presenting information in a limited amount of space. +// jscs:enable maximumLineLength +//>>docs: http://api.jqueryui.com/accordion/ +//>>demos: http://jqueryui.com/accordion/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/accordion.css +//>>css.theme: ../../themes/base/theme.css + + + +var widgetsAccordion = $.widget( "ui.accordion", { + version: "1.12.1", + options: { + active: 0, + animate: {}, + classes: { + "ui-accordion-header": "ui-corner-top", + "ui-accordion-header-collapsed": "ui-corner-all", + "ui-accordion-content": "ui-corner-bottom" + }, + collapsible: false, + event: "click", + header: "> li > :first-child, > :not(li):even", + heightStyle: "auto", + icons: { + activeHeader: "ui-icon-triangle-1-s", + header: "ui-icon-triangle-1-e" + }, + + // Callbacks + activate: null, + beforeActivate: null + }, + + hideProps: { + borderTopWidth: "hide", + borderBottomWidth: "hide", + paddingTop: "hide", + paddingBottom: "hide", + height: "hide" + }, + + showProps: { + borderTopWidth: "show", + borderBottomWidth: "show", + paddingTop: "show", + paddingBottom: "show", + height: "show" + }, + + _create: function() { + var options = this.options; + + this.prevShow = this.prevHide = $(); + this._addClass( "ui-accordion", "ui-widget ui-helper-reset" ); + this.element.attr( "role", "tablist" ); + + // Don't allow collapsible: false and active: false / null + if ( !options.collapsible && ( options.active === false || options.active == null ) ) { + options.active = 0; + } + + this._processPanels(); + + // handle negative values + if ( options.active < 0 ) { + options.active += this.headers.length; + } + this._refresh(); + }, + + _getCreateEventData: function() { + return { + header: this.active, + panel: !this.active.length ? $() : this.active.next() + }; + }, + + _createIcons: function() { + var icon, children, + icons = this.options.icons; + + if ( icons ) { + icon = $( "<span>" ); + this._addClass( icon, "ui-accordion-header-icon", "ui-icon " + icons.header ); + icon.prependTo( this.headers ); + children = this.active.children( ".ui-accordion-header-icon" ); + this._removeClass( children, icons.header ) + ._addClass( children, null, icons.activeHeader ) + ._addClass( this.headers, "ui-accordion-icons" ); + } + }, + + _destroyIcons: function() { + this._removeClass( this.headers, "ui-accordion-icons" ); + this.headers.children( ".ui-accordion-header-icon" ).remove(); + }, + + _destroy: function() { + var contents; + + // Clean up main element + this.element.removeAttr( "role" ); + + // Clean up headers + this.headers + .removeAttr( "role aria-expanded aria-selected aria-controls tabIndex" ) + .removeUniqueId(); + + this._destroyIcons(); + + // Clean up content panels + contents = this.headers.next() + .css( "display", "" ) + .removeAttr( "role aria-hidden aria-labelledby" ) + .removeUniqueId(); + + if ( this.options.heightStyle !== "content" ) { + contents.css( "height", "" ); + } + }, + + _setOption: function( key, value ) { + if ( key === "active" ) { + + // _activate() will handle invalid values and update this.options + this._activate( value ); + return; + } + + if ( key === "event" ) { + if ( this.options.event ) { + this._off( this.headers, this.options.event ); + } + this._setupEvents( value ); + } + + this._super( key, value ); + + // Setting collapsible: false while collapsed; open first panel + if ( key === "collapsible" && !value && this.options.active === false ) { + this._activate( 0 ); + } + + if ( key === "icons" ) { + this._destroyIcons(); + if ( value ) { + this._createIcons(); + } + } + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this.element.attr( "aria-disabled", value ); + + // Support: IE8 Only + // #5332 / #6059 - opacity doesn't cascade to positioned elements in IE + // so we need to add the disabled class to the headers and panels + this._toggleClass( null, "ui-state-disabled", !!value ); + this._toggleClass( this.headers.add( this.headers.next() ), null, "ui-state-disabled", + !!value ); + }, + + _keydown: function( event ) { + if ( event.altKey || event.ctrlKey ) { + return; + } + + var keyCode = $.ui.keyCode, + length = this.headers.length, + currentIndex = this.headers.index( event.target ), + toFocus = false; + + switch ( event.keyCode ) { + case keyCode.RIGHT: + case keyCode.DOWN: + toFocus = this.headers[ ( currentIndex + 1 ) % length ]; + break; + case keyCode.LEFT: + case keyCode.UP: + toFocus = this.headers[ ( currentIndex - 1 + length ) % length ]; + break; + case keyCode.SPACE: + case keyCode.ENTER: + this._eventHandler( event ); + break; + case keyCode.HOME: + toFocus = this.headers[ 0 ]; + break; + case keyCode.END: + toFocus = this.headers[ length - 1 ]; + break; + } + + if ( toFocus ) { + $( event.target ).attr( "tabIndex", -1 ); + $( toFocus ).attr( "tabIndex", 0 ); + $( toFocus ).trigger( "focus" ); + event.preventDefault(); + } + }, + + _panelKeyDown: function( event ) { + if ( event.keyCode === $.ui.keyCode.UP && event.ctrlKey ) { + $( event.currentTarget ).prev().trigger( "focus" ); + } + }, + + refresh: function() { + var options = this.options; + this._processPanels(); + + // Was collapsed or no panel + if ( ( options.active === false && options.collapsible === true ) || + !this.headers.length ) { + options.active = false; + this.active = $(); + + // active false only when collapsible is true + } else if ( options.active === false ) { + this._activate( 0 ); + + // was active, but active panel is gone + } else if ( this.active.length && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { + + // all remaining panel are disabled + if ( this.headers.length === this.headers.find( ".ui-state-disabled" ).length ) { + options.active = false; + this.active = $(); + + // activate previous panel + } else { + this._activate( Math.max( 0, options.active - 1 ) ); + } + + // was active, active panel still exists + } else { + + // make sure active index is correct + options.active = this.headers.index( this.active ); + } + + this._destroyIcons(); + + this._refresh(); + }, + + _processPanels: function() { + var prevHeaders = this.headers, + prevPanels = this.panels; + + this.headers = this.element.find( this.options.header ); + this._addClass( this.headers, "ui-accordion-header ui-accordion-header-collapsed", + "ui-state-default" ); + + this.panels = this.headers.next().filter( ":not(.ui-accordion-content-active)" ).hide(); + this._addClass( this.panels, "ui-accordion-content", "ui-helper-reset ui-widget-content" ); + + // Avoid memory leaks (#10056) + if ( prevPanels ) { + this._off( prevHeaders.not( this.headers ) ); + this._off( prevPanels.not( this.panels ) ); + } + }, + + _refresh: function() { + var maxHeight, + options = this.options, + heightStyle = options.heightStyle, + parent = this.element.parent(); + + this.active = this._findActive( options.active ); + this._addClass( this.active, "ui-accordion-header-active", "ui-state-active" ) + ._removeClass( this.active, "ui-accordion-header-collapsed" ); + this._addClass( this.active.next(), "ui-accordion-content-active" ); + this.active.next().show(); + + this.headers + .attr( "role", "tab" ) + .each( function() { + var header = $( this ), + headerId = header.uniqueId().attr( "id" ), + panel = header.next(), + panelId = panel.uniqueId().attr( "id" ); + header.attr( "aria-controls", panelId ); + panel.attr( "aria-labelledby", headerId ); + } ) + .next() + .attr( "role", "tabpanel" ); + + this.headers + .not( this.active ) + .attr( { + "aria-selected": "false", + "aria-expanded": "false", + tabIndex: -1 + } ) + .next() + .attr( { + "aria-hidden": "true" + } ) + .hide(); + + // Make sure at least one header is in the tab order + if ( !this.active.length ) { + this.headers.eq( 0 ).attr( "tabIndex", 0 ); + } else { + this.active.attr( { + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + } ) + .next() + .attr( { + "aria-hidden": "false" + } ); + } + + this._createIcons(); + + this._setupEvents( options.event ); + + if ( heightStyle === "fill" ) { + maxHeight = parent.height(); + this.element.siblings( ":visible" ).each( function() { + var elem = $( this ), + position = elem.css( "position" ); + + if ( position === "absolute" || position === "fixed" ) { + return; + } + maxHeight -= elem.outerHeight( true ); + } ); + + this.headers.each( function() { + maxHeight -= $( this ).outerHeight( true ); + } ); + + this.headers.next() + .each( function() { + $( this ).height( Math.max( 0, maxHeight - + $( this ).innerHeight() + $( this ).height() ) ); + } ) + .css( "overflow", "auto" ); + } else if ( heightStyle === "auto" ) { + maxHeight = 0; + this.headers.next() + .each( function() { + var isVisible = $( this ).is( ":visible" ); + if ( !isVisible ) { + $( this ).show(); + } + maxHeight = Math.max( maxHeight, $( this ).css( "height", "" ).height() ); + if ( !isVisible ) { + $( this ).hide(); + } + } ) + .height( maxHeight ); + } + }, + + _activate: function( index ) { + var active = this._findActive( index )[ 0 ]; + + // Trying to activate the already active panel + if ( active === this.active[ 0 ] ) { + return; + } + + // Trying to collapse, simulate a click on the currently active header + active = active || this.active[ 0 ]; + + this._eventHandler( { + target: active, + currentTarget: active, + preventDefault: $.noop + } ); + }, + + _findActive: function( selector ) { + return typeof selector === "number" ? this.headers.eq( selector ) : $(); + }, + + _setupEvents: function( event ) { + var events = { + keydown: "_keydown" + }; + if ( event ) { + $.each( event.split( " " ), function( index, eventName ) { + events[ eventName ] = "_eventHandler"; + } ); + } + + this._off( this.headers.add( this.headers.next() ) ); + this._on( this.headers, events ); + this._on( this.headers.next(), { keydown: "_panelKeyDown" } ); + this._hoverable( this.headers ); + this._focusable( this.headers ); + }, + + _eventHandler: function( event ) { + var activeChildren, clickedChildren, + options = this.options, + active = this.active, + clicked = $( event.currentTarget ), + clickedIsActive = clicked[ 0 ] === active[ 0 ], + collapsing = clickedIsActive && options.collapsible, + toShow = collapsing ? $() : clicked.next(), + toHide = active.next(), + eventData = { + oldHeader: active, + oldPanel: toHide, + newHeader: collapsing ? $() : clicked, + newPanel: toShow + }; + + event.preventDefault(); + + if ( + + // click on active header, but not collapsible + ( clickedIsActive && !options.collapsible ) || + + // allow canceling activation + ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { + return; + } + + options.active = collapsing ? false : this.headers.index( clicked ); + + // When the call to ._toggle() comes after the class changes + // it causes a very odd bug in IE 8 (see #6720) + this.active = clickedIsActive ? $() : clicked; + this._toggle( eventData ); + + // Switch classes + // corner classes on the previously active header stay after the animation + this._removeClass( active, "ui-accordion-header-active", "ui-state-active" ); + if ( options.icons ) { + activeChildren = active.children( ".ui-accordion-header-icon" ); + this._removeClass( activeChildren, null, options.icons.activeHeader ) + ._addClass( activeChildren, null, options.icons.header ); + } + + if ( !clickedIsActive ) { + this._removeClass( clicked, "ui-accordion-header-collapsed" ) + ._addClass( clicked, "ui-accordion-header-active", "ui-state-active" ); + if ( options.icons ) { + clickedChildren = clicked.children( ".ui-accordion-header-icon" ); + this._removeClass( clickedChildren, null, options.icons.header ) + ._addClass( clickedChildren, null, options.icons.activeHeader ); + } + + this._addClass( clicked.next(), "ui-accordion-content-active" ); + } + }, + + _toggle: function( data ) { + var toShow = data.newPanel, + toHide = this.prevShow.length ? this.prevShow : data.oldPanel; + + // Handle activating a panel during the animation for another activation + this.prevShow.add( this.prevHide ).stop( true, true ); + this.prevShow = toShow; + this.prevHide = toHide; + + if ( this.options.animate ) { + this._animate( toShow, toHide, data ); + } else { + toHide.hide(); + toShow.show(); + this._toggleComplete( data ); + } + + toHide.attr( { + "aria-hidden": "true" + } ); + toHide.prev().attr( { + "aria-selected": "false", + "aria-expanded": "false" + } ); + + // if we're switching panels, remove the old header from the tab order + // if we're opening from collapsed state, remove the previous header from the tab order + // if we're collapsing, then keep the collapsing header in the tab order + if ( toShow.length && toHide.length ) { + toHide.prev().attr( { + "tabIndex": -1, + "aria-expanded": "false" + } ); + } else if ( toShow.length ) { + this.headers.filter( function() { + return parseInt( $( this ).attr( "tabIndex" ), 10 ) === 0; + } ) + .attr( "tabIndex", -1 ); + } + + toShow + .attr( "aria-hidden", "false" ) + .prev() + .attr( { + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + } ); + }, + + _animate: function( toShow, toHide, data ) { + var total, easing, duration, + that = this, + adjust = 0, + boxSizing = toShow.css( "box-sizing" ), + down = toShow.length && + ( !toHide.length || ( toShow.index() < toHide.index() ) ), + animate = this.options.animate || {}, + options = down && animate.down || animate, + complete = function() { + that._toggleComplete( data ); + }; + + if ( typeof options === "number" ) { + duration = options; + } + if ( typeof options === "string" ) { + easing = options; + } + + // fall back from options to animation in case of partial down settings + easing = easing || options.easing || animate.easing; + duration = duration || options.duration || animate.duration; + + if ( !toHide.length ) { + return toShow.animate( this.showProps, duration, easing, complete ); + } + if ( !toShow.length ) { + return toHide.animate( this.hideProps, duration, easing, complete ); + } + + total = toShow.show().outerHeight(); + toHide.animate( this.hideProps, { + duration: duration, + easing: easing, + step: function( now, fx ) { + fx.now = Math.round( now ); + } + } ); + toShow + .hide() + .animate( this.showProps, { + duration: duration, + easing: easing, + complete: complete, + step: function( now, fx ) { + fx.now = Math.round( now ); + if ( fx.prop !== "height" ) { + if ( boxSizing === "content-box" ) { + adjust += fx.now; + } + } else if ( that.options.heightStyle !== "content" ) { + fx.now = Math.round( total - toHide.outerHeight() - adjust ); + adjust = 0; + } + } + } ); + }, + + _toggleComplete: function( data ) { + var toHide = data.oldPanel, + prev = toHide.prev(); + + this._removeClass( toHide, "ui-accordion-content-active" ); + this._removeClass( prev, "ui-accordion-header-active" ) + ._addClass( prev, "ui-accordion-header-collapsed" ); + + // Work around for rendering bug in IE (#5421) + if ( toHide.length ) { + toHide.parent()[ 0 ].className = toHide.parent()[ 0 ].className; + } + this._trigger( "activate", null, data ); + } +} ); + + +/*! + * jQuery UI Menu 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Menu +//>>group: Widgets +//>>description: Creates nestable menus. +//>>docs: http://api.jqueryui.com/menu/ +//>>demos: http://jqueryui.com/menu/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/menu.css +//>>css.theme: ../../themes/base/theme.css + + + +var widgetsMenu = $.widget( "ui.menu", { + version: "1.12.1", + defaultElement: "<ul>", + delay: 300, + options: { + icons: { + submenu: "ui-icon-caret-1-e" + }, + items: "> *", + menus: "ul", + position: { + my: "left top", + at: "right top" + }, + role: "menu", + + // Callbacks + blur: null, + focus: null, + select: null + }, + + _create: function() { + this.activeMenu = this.element; + + // Flag used to prevent firing of the click handler + // as the event bubbles up through nested menus + this.mouseHandled = false; + this.element + .uniqueId() + .attr( { + role: this.options.role, + tabIndex: 0 + } ); + + this._addClass( "ui-menu", "ui-widget ui-widget-content" ); + this._on( { + + // Prevent focus from sticking to links inside menu after clicking + // them (focus should always stay on UL during navigation). + "mousedown .ui-menu-item": function( event ) { + event.preventDefault(); + }, + "click .ui-menu-item": function( event ) { + var target = $( event.target ); + var active = $( $.ui.safeActiveElement( this.document[ 0 ] ) ); + if ( !this.mouseHandled && target.not( ".ui-state-disabled" ).length ) { + this.select( event ); + + // Only set the mouseHandled flag if the event will bubble, see #9469. + if ( !event.isPropagationStopped() ) { + this.mouseHandled = true; + } + + // Open submenu on click + if ( target.has( ".ui-menu" ).length ) { + this.expand( event ); + } else if ( !this.element.is( ":focus" ) && + active.closest( ".ui-menu" ).length ) { + + // Redirect focus to the menu + this.element.trigger( "focus", [ true ] ); + + // If the active item is on the top level, let it stay active. + // Otherwise, blur the active item since it is no longer visible. + if ( this.active && this.active.parents( ".ui-menu" ).length === 1 ) { + clearTimeout( this.timer ); + } + } + } + }, + "mouseenter .ui-menu-item": function( event ) { + + // Ignore mouse events while typeahead is active, see #10458. + // Prevents focusing the wrong item when typeahead causes a scroll while the mouse + // is over an item in the menu + if ( this.previousFilter ) { + return; + } + + var actualTarget = $( event.target ).closest( ".ui-menu-item" ), + target = $( event.currentTarget ); + + // Ignore bubbled events on parent items, see #11641 + if ( actualTarget[ 0 ] !== target[ 0 ] ) { + return; + } + + // Remove ui-state-active class from siblings of the newly focused menu item + // to avoid a jump caused by adjacent elements both having a class with a border + this._removeClass( target.siblings().children( ".ui-state-active" ), + null, "ui-state-active" ); + this.focus( event, target ); + }, + mouseleave: "collapseAll", + "mouseleave .ui-menu": "collapseAll", + focus: function( event, keepActiveItem ) { + + // If there's already an active item, keep it active + // If not, activate the first item + var item = this.active || this.element.find( this.options.items ).eq( 0 ); + + if ( !keepActiveItem ) { + this.focus( event, item ); + } + }, + blur: function( event ) { + this._delay( function() { + var notContained = !$.contains( + this.element[ 0 ], + $.ui.safeActiveElement( this.document[ 0 ] ) + ); + if ( notContained ) { + this.collapseAll( event ); + } + } ); + }, + keydown: "_keydown" + } ); + + this.refresh(); + + // Clicks outside of a menu collapse any open menus + this._on( this.document, { + click: function( event ) { + if ( this._closeOnDocumentClick( event ) ) { + this.collapseAll( event ); + } + + // Reset the mouseHandled flag + this.mouseHandled = false; + } + } ); + }, + + _destroy: function() { + var items = this.element.find( ".ui-menu-item" ) + .removeAttr( "role aria-disabled" ), + submenus = items.children( ".ui-menu-item-wrapper" ) + .removeUniqueId() + .removeAttr( "tabIndex role aria-haspopup" ); + + // Destroy (sub)menus + this.element + .removeAttr( "aria-activedescendant" ) + .find( ".ui-menu" ).addBack() + .removeAttr( "role aria-labelledby aria-expanded aria-hidden aria-disabled " + + "tabIndex" ) + .removeUniqueId() + .show(); + + submenus.children().each( function() { + var elem = $( this ); + if ( elem.data( "ui-menu-submenu-caret" ) ) { + elem.remove(); + } + } ); + }, + + _keydown: function( event ) { + var match, prev, character, skip, + preventDefault = true; + + switch ( event.keyCode ) { + case $.ui.keyCode.PAGE_UP: + this.previousPage( event ); + break; + case $.ui.keyCode.PAGE_DOWN: + this.nextPage( event ); + break; + case $.ui.keyCode.HOME: + this._move( "first", "first", event ); + break; + case $.ui.keyCode.END: + this._move( "last", "last", event ); + break; + case $.ui.keyCode.UP: + this.previous( event ); + break; + case $.ui.keyCode.DOWN: + this.next( event ); + break; + case $.ui.keyCode.LEFT: + this.collapse( event ); + break; + case $.ui.keyCode.RIGHT: + if ( this.active && !this.active.is( ".ui-state-disabled" ) ) { + this.expand( event ); + } + break; + case $.ui.keyCode.ENTER: + case $.ui.keyCode.SPACE: + this._activate( event ); + break; + case $.ui.keyCode.ESCAPE: + this.collapse( event ); + break; + default: + preventDefault = false; + prev = this.previousFilter || ""; + skip = false; + + // Support number pad values + character = event.keyCode >= 96 && event.keyCode <= 105 ? + ( event.keyCode - 96 ).toString() : String.fromCharCode( event.keyCode ); + + clearTimeout( this.filterTimer ); + + if ( character === prev ) { + skip = true; + } else { + character = prev + character; + } + + match = this._filterMenuItems( character ); + match = skip && match.index( this.active.next() ) !== -1 ? + this.active.nextAll( ".ui-menu-item" ) : + match; + + // If no matches on the current filter, reset to the last character pressed + // to move down the menu to the first item that starts with that character + if ( !match.length ) { + character = String.fromCharCode( event.keyCode ); + match = this._filterMenuItems( character ); + } + + if ( match.length ) { + this.focus( event, match ); + this.previousFilter = character; + this.filterTimer = this._delay( function() { + delete this.previousFilter; + }, 1000 ); + } else { + delete this.previousFilter; + } + } + + if ( preventDefault ) { + event.preventDefault(); + } + }, + + _activate: function( event ) { + if ( this.active && !this.active.is( ".ui-state-disabled" ) ) { + if ( this.active.children( "[aria-haspopup='true']" ).length ) { + this.expand( event ); + } else { + this.select( event ); + } + } + }, + + refresh: function() { + var menus, items, newSubmenus, newItems, newWrappers, + that = this, + icon = this.options.icons.submenu, + submenus = this.element.find( this.options.menus ); + + this._toggleClass( "ui-menu-icons", null, !!this.element.find( ".ui-icon" ).length ); + + // Initialize nested menus + newSubmenus = submenus.filter( ":not(.ui-menu)" ) + .hide() + .attr( { + role: this.options.role, + "aria-hidden": "true", + "aria-expanded": "false" + } ) + .each( function() { + var menu = $( this ), + item = menu.prev(), + submenuCaret = $( "<span>" ).data( "ui-menu-submenu-caret", true ); + + that._addClass( submenuCaret, "ui-menu-icon", "ui-icon " + icon ); + item + .attr( "aria-haspopup", "true" ) + .prepend( submenuCaret ); + menu.attr( "aria-labelledby", item.attr( "id" ) ); + } ); + + this._addClass( newSubmenus, "ui-menu", "ui-widget ui-widget-content ui-front" ); + + menus = submenus.add( this.element ); + items = menus.find( this.options.items ); + + // Initialize menu-items containing spaces and/or dashes only as dividers + items.not( ".ui-menu-item" ).each( function() { + var item = $( this ); + if ( that._isDivider( item ) ) { + that._addClass( item, "ui-menu-divider", "ui-widget-content" ); + } + } ); + + // Don't refresh list items that are already adapted + newItems = items.not( ".ui-menu-item, .ui-menu-divider" ); + newWrappers = newItems.children() + .not( ".ui-menu" ) + .uniqueId() + .attr( { + tabIndex: -1, + role: this._itemRole() + } ); + this._addClass( newItems, "ui-menu-item" ) + ._addClass( newWrappers, "ui-menu-item-wrapper" ); + + // Add aria-disabled attribute to any disabled menu item + items.filter( ".ui-state-disabled" ).attr( "aria-disabled", "true" ); + + // If the active item has been removed, blur the menu + if ( this.active && !$.contains( this.element[ 0 ], this.active[ 0 ] ) ) { + this.blur(); + } + }, + + _itemRole: function() { + return { + menu: "menuitem", + listbox: "option" + }[ this.options.role ]; + }, + + _setOption: function( key, value ) { + if ( key === "icons" ) { + var icons = this.element.find( ".ui-menu-icon" ); + this._removeClass( icons, null, this.options.icons.submenu ) + ._addClass( icons, null, value.submenu ); + } + this._super( key, value ); + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this.element.attr( "aria-disabled", String( value ) ); + this._toggleClass( null, "ui-state-disabled", !!value ); + }, + + focus: function( event, item ) { + var nested, focused, activeParent; + this.blur( event, event && event.type === "focus" ); + + this._scrollIntoView( item ); + + this.active = item.first(); + + focused = this.active.children( ".ui-menu-item-wrapper" ); + this._addClass( focused, null, "ui-state-active" ); + + // Only update aria-activedescendant if there's a role + // otherwise we assume focus is managed elsewhere + if ( this.options.role ) { + this.element.attr( "aria-activedescendant", focused.attr( "id" ) ); + } + + // Highlight active parent menu item, if any + activeParent = this.active + .parent() + .closest( ".ui-menu-item" ) + .children( ".ui-menu-item-wrapper" ); + this._addClass( activeParent, null, "ui-state-active" ); + + if ( event && event.type === "keydown" ) { + this._close(); + } else { + this.timer = this._delay( function() { + this._close(); + }, this.delay ); + } + + nested = item.children( ".ui-menu" ); + if ( nested.length && event && ( /^mouse/.test( event.type ) ) ) { + this._startOpening( nested ); + } + this.activeMenu = item.parent(); + + this._trigger( "focus", event, { item: item } ); + }, + + _scrollIntoView: function( item ) { + var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight; + if ( this._hasScroll() ) { + borderTop = parseFloat( $.css( this.activeMenu[ 0 ], "borderTopWidth" ) ) || 0; + paddingTop = parseFloat( $.css( this.activeMenu[ 0 ], "paddingTop" ) ) || 0; + offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop; + scroll = this.activeMenu.scrollTop(); + elementHeight = this.activeMenu.height(); + itemHeight = item.outerHeight(); + + if ( offset < 0 ) { + this.activeMenu.scrollTop( scroll + offset ); + } else if ( offset + itemHeight > elementHeight ) { + this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight ); + } + } + }, + + blur: function( event, fromFocus ) { + if ( !fromFocus ) { + clearTimeout( this.timer ); + } + + if ( !this.active ) { + return; + } + + this._removeClass( this.active.children( ".ui-menu-item-wrapper" ), + null, "ui-state-active" ); + + this._trigger( "blur", event, { item: this.active } ); + this.active = null; + }, + + _startOpening: function( submenu ) { + clearTimeout( this.timer ); + + // Don't open if already open fixes a Firefox bug that caused a .5 pixel + // shift in the submenu position when mousing over the caret icon + if ( submenu.attr( "aria-hidden" ) !== "true" ) { + return; + } + + this.timer = this._delay( function() { + this._close(); + this._open( submenu ); + }, this.delay ); + }, + + _open: function( submenu ) { + var position = $.extend( { + of: this.active + }, this.options.position ); + + clearTimeout( this.timer ); + this.element.find( ".ui-menu" ).not( submenu.parents( ".ui-menu" ) ) + .hide() + .attr( "aria-hidden", "true" ); + + submenu + .show() + .removeAttr( "aria-hidden" ) + .attr( "aria-expanded", "true" ) + .position( position ); + }, + + collapseAll: function( event, all ) { + clearTimeout( this.timer ); + this.timer = this._delay( function() { + + // If we were passed an event, look for the submenu that contains the event + var currentMenu = all ? this.element : + $( event && event.target ).closest( this.element.find( ".ui-menu" ) ); + + // If we found no valid submenu ancestor, use the main menu to close all + // sub menus anyway + if ( !currentMenu.length ) { + currentMenu = this.element; + } + + this._close( currentMenu ); + + this.blur( event ); + + // Work around active item staying active after menu is blurred + this._removeClass( currentMenu.find( ".ui-state-active" ), null, "ui-state-active" ); + + this.activeMenu = currentMenu; + }, this.delay ); + }, + + // With no arguments, closes the currently active menu - if nothing is active + // it closes all menus. If passed an argument, it will search for menus BELOW + _close: function( startMenu ) { + if ( !startMenu ) { + startMenu = this.active ? this.active.parent() : this.element; + } + + startMenu.find( ".ui-menu" ) + .hide() + .attr( "aria-hidden", "true" ) + .attr( "aria-expanded", "false" ); + }, + + _closeOnDocumentClick: function( event ) { + return !$( event.target ).closest( ".ui-menu" ).length; + }, + + _isDivider: function( item ) { + + // Match hyphen, em dash, en dash + return !/[^\-\u2014\u2013\s]/.test( item.text() ); + }, + + collapse: function( event ) { + var newItem = this.active && + this.active.parent().closest( ".ui-menu-item", this.element ); + if ( newItem && newItem.length ) { + this._close(); + this.focus( event, newItem ); + } + }, + + expand: function( event ) { + var newItem = this.active && + this.active + .children( ".ui-menu " ) + .find( this.options.items ) + .first(); + + if ( newItem && newItem.length ) { + this._open( newItem.parent() ); + + // Delay so Firefox will not hide activedescendant change in expanding submenu from AT + this._delay( function() { + this.focus( event, newItem ); + } ); + } + }, + + next: function( event ) { + this._move( "next", "first", event ); + }, + + previous: function( event ) { + this._move( "prev", "last", event ); + }, + + isFirstItem: function() { + return this.active && !this.active.prevAll( ".ui-menu-item" ).length; + }, + + isLastItem: function() { + return this.active && !this.active.nextAll( ".ui-menu-item" ).length; + }, + + _move: function( direction, filter, event ) { + var next; + if ( this.active ) { + if ( direction === "first" || direction === "last" ) { + next = this.active + [ direction === "first" ? "prevAll" : "nextAll" ]( ".ui-menu-item" ) + .eq( -1 ); + } else { + next = this.active + [ direction + "All" ]( ".ui-menu-item" ) + .eq( 0 ); + } + } + if ( !next || !next.length || !this.active ) { + next = this.activeMenu.find( this.options.items )[ filter ](); + } + + this.focus( event, next ); + }, + + nextPage: function( event ) { + var item, base, height; + + if ( !this.active ) { + this.next( event ); + return; + } + if ( this.isLastItem() ) { + return; + } + if ( this._hasScroll() ) { + base = this.active.offset().top; + height = this.element.height(); + this.active.nextAll( ".ui-menu-item" ).each( function() { + item = $( this ); + return item.offset().top - base - height < 0; + } ); + + this.focus( event, item ); + } else { + this.focus( event, this.activeMenu.find( this.options.items ) + [ !this.active ? "first" : "last" ]() ); + } + }, + + previousPage: function( event ) { + var item, base, height; + if ( !this.active ) { + this.next( event ); + return; + } + if ( this.isFirstItem() ) { + return; + } + if ( this._hasScroll() ) { + base = this.active.offset().top; + height = this.element.height(); + this.active.prevAll( ".ui-menu-item" ).each( function() { + item = $( this ); + return item.offset().top - base + height > 0; + } ); + + this.focus( event, item ); + } else { + this.focus( event, this.activeMenu.find( this.options.items ).first() ); + } + }, + + _hasScroll: function() { + return this.element.outerHeight() < this.element.prop( "scrollHeight" ); + }, + + select: function( event ) { + + // TODO: It should never be possible to not have an active item at this + // point, but the tests don't trigger mouseenter before click. + this.active = this.active || $( event.target ).closest( ".ui-menu-item" ); + var ui = { item: this.active }; + if ( !this.active.has( ".ui-menu" ).length ) { + this.collapseAll( event, true ); + } + this._trigger( "select", event, ui ); + }, + + _filterMenuItems: function( character ) { + var escapedCharacter = character.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ), + regex = new RegExp( "^" + escapedCharacter, "i" ); + + return this.activeMenu + .find( this.options.items ) + + // Only match on items, not dividers or other content (#10571) + .filter( ".ui-menu-item" ) + .filter( function() { + return regex.test( + $.trim( $( this ).children( ".ui-menu-item-wrapper" ).text() ) ); + } ); + } +} ); + + +/*! + * jQuery UI Autocomplete 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Autocomplete +//>>group: Widgets +//>>description: Lists suggested words as the user is typing. +//>>docs: http://api.jqueryui.com/autocomplete/ +//>>demos: http://jqueryui.com/autocomplete/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/autocomplete.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.autocomplete", { + version: "1.12.1", + defaultElement: "<input>", + options: { + appendTo: null, + autoFocus: false, + delay: 300, + minLength: 1, + position: { + my: "left top", + at: "left bottom", + collision: "none" + }, + source: null, + + // Callbacks + change: null, + close: null, + focus: null, + open: null, + response: null, + search: null, + select: null + }, + + requestIndex: 0, + pending: 0, + + _create: function() { + + // Some browsers only repeat keydown events, not keypress events, + // so we use the suppressKeyPress flag to determine if we've already + // handled the keydown event. #7269 + // Unfortunately the code for & in keypress is the same as the up arrow, + // so we use the suppressKeyPressRepeat flag to avoid handling keypress + // events when we know the keydown event was used to modify the + // search term. #7799 + var suppressKeyPress, suppressKeyPressRepeat, suppressInput, + nodeName = this.element[ 0 ].nodeName.toLowerCase(), + isTextarea = nodeName === "textarea", + isInput = nodeName === "input"; + + // Textareas are always multi-line + // Inputs are always single-line, even if inside a contentEditable element + // IE also treats inputs as contentEditable + // All other element types are determined by whether or not they're contentEditable + this.isMultiLine = isTextarea || !isInput && this._isContentEditable( this.element ); + + this.valueMethod = this.element[ isTextarea || isInput ? "val" : "text" ]; + this.isNewMenu = true; + + this._addClass( "ui-autocomplete-input" ); + this.element.attr( "autocomplete", "off" ); + + this._on( this.element, { + keydown: function( event ) { + if ( this.element.prop( "readOnly" ) ) { + suppressKeyPress = true; + suppressInput = true; + suppressKeyPressRepeat = true; + return; + } + + suppressKeyPress = false; + suppressInput = false; + suppressKeyPressRepeat = false; + var keyCode = $.ui.keyCode; + switch ( event.keyCode ) { + case keyCode.PAGE_UP: + suppressKeyPress = true; + this._move( "previousPage", event ); + break; + case keyCode.PAGE_DOWN: + suppressKeyPress = true; + this._move( "nextPage", event ); + break; + case keyCode.UP: + suppressKeyPress = true; + this._keyEvent( "previous", event ); + break; + case keyCode.DOWN: + suppressKeyPress = true; + this._keyEvent( "next", event ); + break; + case keyCode.ENTER: + + // when menu is open and has focus + if ( this.menu.active ) { + + // #6055 - Opera still allows the keypress to occur + // which causes forms to submit + suppressKeyPress = true; + event.preventDefault(); + this.menu.select( event ); + } + break; + case keyCode.TAB: + if ( this.menu.active ) { + this.menu.select( event ); + } + break; + case keyCode.ESCAPE: + if ( this.menu.element.is( ":visible" ) ) { + if ( !this.isMultiLine ) { + this._value( this.term ); + } + this.close( event ); + + // Different browsers have different default behavior for escape + // Single press can mean undo or clear + // Double press in IE means clear the whole form + event.preventDefault(); + } + break; + default: + suppressKeyPressRepeat = true; + + // search timeout should be triggered before the input value is changed + this._searchTimeout( event ); + break; + } + }, + keypress: function( event ) { + if ( suppressKeyPress ) { + suppressKeyPress = false; + if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { + event.preventDefault(); + } + return; + } + if ( suppressKeyPressRepeat ) { + return; + } + + // Replicate some key handlers to allow them to repeat in Firefox and Opera + var keyCode = $.ui.keyCode; + switch ( event.keyCode ) { + case keyCode.PAGE_UP: + this._move( "previousPage", event ); + break; + case keyCode.PAGE_DOWN: + this._move( "nextPage", event ); + break; + case keyCode.UP: + this._keyEvent( "previous", event ); + break; + case keyCode.DOWN: + this._keyEvent( "next", event ); + break; + } + }, + input: function( event ) { + if ( suppressInput ) { + suppressInput = false; + event.preventDefault(); + return; + } + this._searchTimeout( event ); + }, + focus: function() { + this.selectedItem = null; + this.previous = this._value(); + }, + blur: function( event ) { + if ( this.cancelBlur ) { + delete this.cancelBlur; + return; + } + + clearTimeout( this.searching ); + this.close( event ); + this._change( event ); + } + } ); + + this._initSource(); + this.menu = $( "<ul>" ) + .appendTo( this._appendTo() ) + .menu( { + + // disable ARIA support, the live region takes care of that + role: null + } ) + .hide() + .menu( "instance" ); + + this._addClass( this.menu.element, "ui-autocomplete", "ui-front" ); + this._on( this.menu.element, { + mousedown: function( event ) { + + // prevent moving focus out of the text field + event.preventDefault(); + + // IE doesn't prevent moving focus even with event.preventDefault() + // so we set a flag to know when we should ignore the blur event + this.cancelBlur = true; + this._delay( function() { + delete this.cancelBlur; + + // Support: IE 8 only + // Right clicking a menu item or selecting text from the menu items will + // result in focus moving out of the input. However, we've already received + // and ignored the blur event because of the cancelBlur flag set above. So + // we restore focus to ensure that the menu closes properly based on the user's + // next actions. + if ( this.element[ 0 ] !== $.ui.safeActiveElement( this.document[ 0 ] ) ) { + this.element.trigger( "focus" ); + } + } ); + }, + menufocus: function( event, ui ) { + var label, item; + + // support: Firefox + // Prevent accidental activation of menu items in Firefox (#7024 #9118) + if ( this.isNewMenu ) { + this.isNewMenu = false; + if ( event.originalEvent && /^mouse/.test( event.originalEvent.type ) ) { + this.menu.blur(); + + this.document.one( "mousemove", function() { + $( event.target ).trigger( event.originalEvent ); + } ); + + return; + } + } + + item = ui.item.data( "ui-autocomplete-item" ); + if ( false !== this._trigger( "focus", event, { item: item } ) ) { + + // use value to match what will end up in the input, if it was a key event + if ( event.originalEvent && /^key/.test( event.originalEvent.type ) ) { + this._value( item.value ); + } + } + + // Announce the value in the liveRegion + label = ui.item.attr( "aria-label" ) || item.value; + if ( label && $.trim( label ).length ) { + this.liveRegion.children().hide(); + $( "<div>" ).text( label ).appendTo( this.liveRegion ); + } + }, + menuselect: function( event, ui ) { + var item = ui.item.data( "ui-autocomplete-item" ), + previous = this.previous; + + // Only trigger when focus was lost (click on menu) + if ( this.element[ 0 ] !== $.ui.safeActiveElement( this.document[ 0 ] ) ) { + this.element.trigger( "focus" ); + this.previous = previous; + + // #6109 - IE triggers two focus events and the second + // is asynchronous, so we need to reset the previous + // term synchronously and asynchronously :-( + this._delay( function() { + this.previous = previous; + this.selectedItem = item; + } ); + } + + if ( false !== this._trigger( "select", event, { item: item } ) ) { + this._value( item.value ); + } + + // reset the term after the select event + // this allows custom select handling to work properly + this.term = this._value(); + + this.close( event ); + this.selectedItem = item; + } + } ); + + this.liveRegion = $( "<div>", { + role: "status", + "aria-live": "assertive", + "aria-relevant": "additions" + } ) + .appendTo( this.document[ 0 ].body ); + + this._addClass( this.liveRegion, null, "ui-helper-hidden-accessible" ); + + // Turning off autocomplete prevents the browser from remembering the + // value when navigating through history, so we re-enable autocomplete + // if the page is unloaded before the widget is destroyed. #7790 + this._on( this.window, { + beforeunload: function() { + this.element.removeAttr( "autocomplete" ); + } + } ); + }, + + _destroy: function() { + clearTimeout( this.searching ); + this.element.removeAttr( "autocomplete" ); + this.menu.element.remove(); + this.liveRegion.remove(); + }, + + _setOption: function( key, value ) { + this._super( key, value ); + if ( key === "source" ) { + this._initSource(); + } + if ( key === "appendTo" ) { + this.menu.element.appendTo( this._appendTo() ); + } + if ( key === "disabled" && value && this.xhr ) { + this.xhr.abort(); + } + }, + + _isEventTargetInWidget: function( event ) { + var menuElement = this.menu.element[ 0 ]; + + return event.target === this.element[ 0 ] || + event.target === menuElement || + $.contains( menuElement, event.target ); + }, + + _closeOnClickOutside: function( event ) { + if ( !this._isEventTargetInWidget( event ) ) { + this.close(); + } + }, + + _appendTo: function() { + var element = this.options.appendTo; + + if ( element ) { + element = element.jquery || element.nodeType ? + $( element ) : + this.document.find( element ).eq( 0 ); + } + + if ( !element || !element[ 0 ] ) { + element = this.element.closest( ".ui-front, dialog" ); + } + + if ( !element.length ) { + element = this.document[ 0 ].body; + } + + return element; + }, + + _initSource: function() { + var array, url, + that = this; + if ( $.isArray( this.options.source ) ) { + array = this.options.source; + this.source = function( request, response ) { + response( $.ui.autocomplete.filter( array, request.term ) ); + }; + } else if ( typeof this.options.source === "string" ) { + url = this.options.source; + this.source = function( request, response ) { + if ( that.xhr ) { + that.xhr.abort(); + } + that.xhr = $.ajax( { + url: url, + data: request, + dataType: "json", + success: function( data ) { + response( data ); + }, + error: function() { + response( [] ); + } + } ); + }; + } else { + this.source = this.options.source; + } + }, + + _searchTimeout: function( event ) { + clearTimeout( this.searching ); + this.searching = this._delay( function() { + + // Search if the value has changed, or if the user retypes the same value (see #7434) + var equalValues = this.term === this._value(), + menuVisible = this.menu.element.is( ":visible" ), + modifierKey = event.altKey || event.ctrlKey || event.metaKey || event.shiftKey; + + if ( !equalValues || ( equalValues && !menuVisible && !modifierKey ) ) { + this.selectedItem = null; + this.search( null, event ); + } + }, this.options.delay ); + }, + + search: function( value, event ) { + value = value != null ? value : this._value(); + + // Always save the actual value, not the one passed as an argument + this.term = this._value(); + + if ( value.length < this.options.minLength ) { + return this.close( event ); + } + + if ( this._trigger( "search", event ) === false ) { + return; + } + + return this._search( value ); + }, + + _search: function( value ) { + this.pending++; + this._addClass( "ui-autocomplete-loading" ); + this.cancelSearch = false; + + this.source( { term: value }, this._response() ); + }, + + _response: function() { + var index = ++this.requestIndex; + + return $.proxy( function( content ) { + if ( index === this.requestIndex ) { + this.__response( content ); + } + + this.pending--; + if ( !this.pending ) { + this._removeClass( "ui-autocomplete-loading" ); + } + }, this ); + }, + + __response: function( content ) { + if ( content ) { + content = this._normalize( content ); + } + this._trigger( "response", null, { content: content } ); + if ( !this.options.disabled && content && content.length && !this.cancelSearch ) { + this._suggest( content ); + this._trigger( "open" ); + } else { + + // use ._close() instead of .close() so we don't cancel future searches + this._close(); + } + }, + + close: function( event ) { + this.cancelSearch = true; + this._close( event ); + }, + + _close: function( event ) { + + // Remove the handler that closes the menu on outside clicks + this._off( this.document, "mousedown" ); + + if ( this.menu.element.is( ":visible" ) ) { + this.menu.element.hide(); + this.menu.blur(); + this.isNewMenu = true; + this._trigger( "close", event ); + } + }, + + _change: function( event ) { + if ( this.previous !== this._value() ) { + this._trigger( "change", event, { item: this.selectedItem } ); + } + }, + + _normalize: function( items ) { + + // assume all items have the right format when the first item is complete + if ( items.length && items[ 0 ].label && items[ 0 ].value ) { + return items; + } + return $.map( items, function( item ) { + if ( typeof item === "string" ) { + return { + label: item, + value: item + }; + } + return $.extend( {}, item, { + label: item.label || item.value, + value: item.value || item.label + } ); + } ); + }, + + _suggest: function( items ) { + var ul = this.menu.element.empty(); + this._renderMenu( ul, items ); + this.isNewMenu = true; + this.menu.refresh(); + + // Size and position menu + ul.show(); + this._resizeMenu(); + ul.position( $.extend( { + of: this.element + }, this.options.position ) ); + + if ( this.options.autoFocus ) { + this.menu.next(); + } + + // Listen for interactions outside of the widget (#6642) + this._on( this.document, { + mousedown: "_closeOnClickOutside" + } ); + }, + + _resizeMenu: function() { + var ul = this.menu.element; + ul.outerWidth( Math.max( + + // Firefox wraps long text (possibly a rounding bug) + // so we add 1px to avoid the wrapping (#7513) + ul.width( "" ).outerWidth() + 1, + this.element.outerWidth() + ) ); + }, + + _renderMenu: function( ul, items ) { + var that = this; + $.each( items, function( index, item ) { + that._renderItemData( ul, item ); + } ); + }, + + _renderItemData: function( ul, item ) { + return this._renderItem( ul, item ).data( "ui-autocomplete-item", item ); + }, + + _renderItem: function( ul, item ) { + return $( "<li>" ) + .append( $( "<div>" ).text( item.label ) ) + .appendTo( ul ); + }, + + _move: function( direction, event ) { + if ( !this.menu.element.is( ":visible" ) ) { + this.search( null, event ); + return; + } + if ( this.menu.isFirstItem() && /^previous/.test( direction ) || + this.menu.isLastItem() && /^next/.test( direction ) ) { + + if ( !this.isMultiLine ) { + this._value( this.term ); + } + + this.menu.blur(); + return; + } + this.menu[ direction ]( event ); + }, + + widget: function() { + return this.menu.element; + }, + + _value: function() { + return this.valueMethod.apply( this.element, arguments ); + }, + + _keyEvent: function( keyEvent, event ) { + if ( !this.isMultiLine || this.menu.element.is( ":visible" ) ) { + this._move( keyEvent, event ); + + // Prevents moving cursor to beginning/end of the text field in some browsers + event.preventDefault(); + } + }, + + // Support: Chrome <=50 + // We should be able to just use this.element.prop( "isContentEditable" ) + // but hidden elements always report false in Chrome. + // https://code.google.com/p/chromium/issues/detail?id=313082 + _isContentEditable: function( element ) { + if ( !element.length ) { + return false; + } + + var editable = element.prop( "contentEditable" ); + + if ( editable === "inherit" ) { + return this._isContentEditable( element.parent() ); + } + + return editable === "true"; + } +} ); + +$.extend( $.ui.autocomplete, { + escapeRegex: function( value ) { + return value.replace( /[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&" ); + }, + filter: function( array, term ) { + var matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), "i" ); + return $.grep( array, function( value ) { + return matcher.test( value.label || value.value || value ); + } ); + } +} ); + +// Live region extension, adding a `messages` option +// NOTE: This is an experimental API. We are still investigating +// a full solution for string manipulation and internationalization. +$.widget( "ui.autocomplete", $.ui.autocomplete, { + options: { + messages: { + noResults: "No search results.", + results: function( amount ) { + return amount + ( amount > 1 ? " results are" : " result is" ) + + " available, use up and down arrow keys to navigate."; + } + } + }, + + __response: function( content ) { + var message; + this._superApply( arguments ); + if ( this.options.disabled || this.cancelSearch ) { + return; + } + if ( content && content.length ) { + message = this.options.messages.results( content.length ); + } else { + message = this.options.messages.noResults; + } + this.liveRegion.children().hide(); + $( "<div>" ).text( message ).appendTo( this.liveRegion ); + } +} ); + +var widgetsAutocomplete = $.ui.autocomplete; + + +/*! + * jQuery UI Controlgroup 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Controlgroup +//>>group: Widgets +//>>description: Visually groups form control widgets +//>>docs: http://api.jqueryui.com/controlgroup/ +//>>demos: http://jqueryui.com/controlgroup/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/controlgroup.css +//>>css.theme: ../../themes/base/theme.css + + +var controlgroupCornerRegex = /ui-corner-([a-z]){2,6}/g; + +var widgetsControlgroup = $.widget( "ui.controlgroup", { + version: "1.12.1", + defaultElement: "<div>", + options: { + direction: "horizontal", + disabled: null, + onlyVisible: true, + items: { + "button": "input[type=button], input[type=submit], input[type=reset], button, a", + "controlgroupLabel": ".ui-controlgroup-label", + "checkboxradio": "input[type='checkbox'], input[type='radio']", + "selectmenu": "select", + "spinner": ".ui-spinner-input" + } + }, + + _create: function() { + this._enhance(); + }, + + // To support the enhanced option in jQuery Mobile, we isolate DOM manipulation + _enhance: function() { + this.element.attr( "role", "toolbar" ); + this.refresh(); + }, + + _destroy: function() { + this._callChildMethod( "destroy" ); + this.childWidgets.removeData( "ui-controlgroup-data" ); + this.element.removeAttr( "role" ); + if ( this.options.items.controlgroupLabel ) { + this.element + .find( this.options.items.controlgroupLabel ) + .find( ".ui-controlgroup-label-contents" ) + .contents().unwrap(); + } + }, + + _initWidgets: function() { + var that = this, + childWidgets = []; + + // First we iterate over each of the items options + $.each( this.options.items, function( widget, selector ) { + var labels; + var options = {}; + + // Make sure the widget has a selector set + if ( !selector ) { + return; + } + + if ( widget === "controlgroupLabel" ) { + labels = that.element.find( selector ); + labels.each( function() { + var element = $( this ); + + if ( element.children( ".ui-controlgroup-label-contents" ).length ) { + return; + } + element.contents() + .wrapAll( "<span class='ui-controlgroup-label-contents'></span>" ); + } ); + that._addClass( labels, null, "ui-widget ui-widget-content ui-state-default" ); + childWidgets = childWidgets.concat( labels.get() ); + return; + } + + // Make sure the widget actually exists + if ( !$.fn[ widget ] ) { + return; + } + + // We assume everything is in the middle to start because we can't determine + // first / last elements until all enhancments are done. + if ( that[ "_" + widget + "Options" ] ) { + options = that[ "_" + widget + "Options" ]( "middle" ); + } else { + options = { classes: {} }; + } + + // Find instances of this widget inside controlgroup and init them + that.element + .find( selector ) + .each( function() { + var element = $( this ); + var instance = element[ widget ]( "instance" ); + + // We need to clone the default options for this type of widget to avoid + // polluting the variable options which has a wider scope than a single widget. + var instanceOptions = $.widget.extend( {}, options ); + + // If the button is the child of a spinner ignore it + // TODO: Find a more generic solution + if ( widget === "button" && element.parent( ".ui-spinner" ).length ) { + return; + } + + // Create the widget if it doesn't exist + if ( !instance ) { + instance = element[ widget ]()[ widget ]( "instance" ); + } + if ( instance ) { + instanceOptions.classes = + that._resolveClassesValues( instanceOptions.classes, instance ); + } + element[ widget ]( instanceOptions ); + + // Store an instance of the controlgroup to be able to reference + // from the outermost element for changing options and refresh + var widgetElement = element[ widget ]( "widget" ); + $.data( widgetElement[ 0 ], "ui-controlgroup-data", + instance ? instance : element[ widget ]( "instance" ) ); + + childWidgets.push( widgetElement[ 0 ] ); + } ); + } ); + + this.childWidgets = $( $.unique( childWidgets ) ); + this._addClass( this.childWidgets, "ui-controlgroup-item" ); + }, + + _callChildMethod: function( method ) { + this.childWidgets.each( function() { + var element = $( this ), + data = element.data( "ui-controlgroup-data" ); + if ( data && data[ method ] ) { + data[ method ](); + } + } ); + }, + + _updateCornerClass: function( element, position ) { + var remove = "ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"; + var add = this._buildSimpleOptions( position, "label" ).classes.label; + + this._removeClass( element, null, remove ); + this._addClass( element, null, add ); + }, + + _buildSimpleOptions: function( position, key ) { + var direction = this.options.direction === "vertical"; + var result = { + classes: {} + }; + result.classes[ key ] = { + "middle": "", + "first": "ui-corner-" + ( direction ? "top" : "left" ), + "last": "ui-corner-" + ( direction ? "bottom" : "right" ), + "only": "ui-corner-all" + }[ position ]; + + return result; + }, + + _spinnerOptions: function( position ) { + var options = this._buildSimpleOptions( position, "ui-spinner" ); + + options.classes[ "ui-spinner-up" ] = ""; + options.classes[ "ui-spinner-down" ] = ""; + + return options; + }, + + _buttonOptions: function( position ) { + return this._buildSimpleOptions( position, "ui-button" ); + }, + + _checkboxradioOptions: function( position ) { + return this._buildSimpleOptions( position, "ui-checkboxradio-label" ); + }, + + _selectmenuOptions: function( position ) { + var direction = this.options.direction === "vertical"; + return { + width: direction ? "auto" : false, + classes: { + middle: { + "ui-selectmenu-button-open": "", + "ui-selectmenu-button-closed": "" + }, + first: { + "ui-selectmenu-button-open": "ui-corner-" + ( direction ? "top" : "tl" ), + "ui-selectmenu-button-closed": "ui-corner-" + ( direction ? "top" : "left" ) + }, + last: { + "ui-selectmenu-button-open": direction ? "" : "ui-corner-tr", + "ui-selectmenu-button-closed": "ui-corner-" + ( direction ? "bottom" : "right" ) + }, + only: { + "ui-selectmenu-button-open": "ui-corner-top", + "ui-selectmenu-button-closed": "ui-corner-all" + } + + }[ position ] + }; + }, + + _resolveClassesValues: function( classes, instance ) { + var result = {}; + $.each( classes, function( key ) { + var current = instance.options.classes[ key ] || ""; + current = $.trim( current.replace( controlgroupCornerRegex, "" ) ); + result[ key ] = ( current + " " + classes[ key ] ).replace( /\s+/g, " " ); + } ); + return result; + }, + + _setOption: function( key, value ) { + if ( key === "direction" ) { + this._removeClass( "ui-controlgroup-" + this.options.direction ); + } + + this._super( key, value ); + if ( key === "disabled" ) { + this._callChildMethod( value ? "disable" : "enable" ); + return; + } + + this.refresh(); + }, + + refresh: function() { + var children, + that = this; + + this._addClass( "ui-controlgroup ui-controlgroup-" + this.options.direction ); + + if ( this.options.direction === "horizontal" ) { + this._addClass( null, "ui-helper-clearfix" ); + } + this._initWidgets(); + + children = this.childWidgets; + + // We filter here because we need to track all childWidgets not just the visible ones + if ( this.options.onlyVisible ) { + children = children.filter( ":visible" ); + } + + if ( children.length ) { + + // We do this last because we need to make sure all enhancment is done + // before determining first and last + $.each( [ "first", "last" ], function( index, value ) { + var instance = children[ value ]().data( "ui-controlgroup-data" ); + + if ( instance && that[ "_" + instance.widgetName + "Options" ] ) { + var options = that[ "_" + instance.widgetName + "Options" ]( + children.length === 1 ? "only" : value + ); + options.classes = that._resolveClassesValues( options.classes, instance ); + instance.element[ instance.widgetName ]( options ); + } else { + that._updateCornerClass( children[ value ](), value ); + } + } ); + + // Finally call the refresh method on each of the child widgets. + this._callChildMethod( "refresh" ); + } + } +} ); + +/*! + * jQuery UI Checkboxradio 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Checkboxradio +//>>group: Widgets +//>>description: Enhances a form with multiple themeable checkboxes or radio buttons. +//>>docs: http://api.jqueryui.com/checkboxradio/ +//>>demos: http://jqueryui.com/checkboxradio/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/button.css +//>>css.structure: ../../themes/base/checkboxradio.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.checkboxradio", [ $.ui.formResetMixin, { + version: "1.12.1", + options: { + disabled: null, + label: null, + icon: true, + classes: { + "ui-checkboxradio-label": "ui-corner-all", + "ui-checkboxradio-icon": "ui-corner-all" + } + }, + + _getCreateOptions: function() { + var disabled, labels; + var that = this; + var options = this._super() || {}; + + // We read the type here, because it makes more sense to throw a element type error first, + // rather then the error for lack of a label. Often if its the wrong type, it + // won't have a label (e.g. calling on a div, btn, etc) + this._readType(); + + labels = this.element.labels(); + + // If there are multiple labels, use the last one + this.label = $( labels[ labels.length - 1 ] ); + if ( !this.label.length ) { + $.error( "No label found for checkboxradio widget" ); + } + + this.originalLabel = ""; + + // We need to get the label text but this may also need to make sure it does not contain the + // input itself. + this.label.contents().not( this.element[ 0 ] ).each( function() { + + // The label contents could be text, html, or a mix. We concat each element to get a + // string representation of the label, without the input as part of it. + that.originalLabel += this.nodeType === 3 ? $( this ).text() : this.outerHTML; + } ); + + // Set the label option if we found label text + if ( this.originalLabel ) { + options.label = this.originalLabel; + } + + disabled = this.element[ 0 ].disabled; + if ( disabled != null ) { + options.disabled = disabled; + } + return options; + }, + + _create: function() { + var checked = this.element[ 0 ].checked; + + this._bindFormResetHandler(); + + if ( this.options.disabled == null ) { + this.options.disabled = this.element[ 0 ].disabled; + } + + this._setOption( "disabled", this.options.disabled ); + this._addClass( "ui-checkboxradio", "ui-helper-hidden-accessible" ); + this._addClass( this.label, "ui-checkboxradio-label", "ui-button ui-widget" ); + + if ( this.type === "radio" ) { + this._addClass( this.label, "ui-checkboxradio-radio-label" ); + } + + if ( this.options.label && this.options.label !== this.originalLabel ) { + this._updateLabel(); + } else if ( this.originalLabel ) { + this.options.label = this.originalLabel; + } + + this._enhance(); + + if ( checked ) { + this._addClass( this.label, "ui-checkboxradio-checked", "ui-state-active" ); + if ( this.icon ) { + this._addClass( this.icon, null, "ui-state-hover" ); + } + } + + this._on( { + change: "_toggleClasses", + focus: function() { + this._addClass( this.label, null, "ui-state-focus ui-visual-focus" ); + }, + blur: function() { + this._removeClass( this.label, null, "ui-state-focus ui-visual-focus" ); + } + } ); + }, + + _readType: function() { + var nodeName = this.element[ 0 ].nodeName.toLowerCase(); + this.type = this.element[ 0 ].type; + if ( nodeName !== "input" || !/radio|checkbox/.test( this.type ) ) { + $.error( "Can't create checkboxradio on element.nodeName=" + nodeName + + " and element.type=" + this.type ); + } + }, + + // Support jQuery Mobile enhanced option + _enhance: function() { + this._updateIcon( this.element[ 0 ].checked ); + }, + + widget: function() { + return this.label; + }, + + _getRadioGroup: function() { + var group; + var name = this.element[ 0 ].name; + var nameSelector = "input[name='" + $.ui.escapeSelector( name ) + "']"; + + if ( !name ) { + return $( [] ); + } + + if ( this.form.length ) { + group = $( this.form[ 0 ].elements ).filter( nameSelector ); + } else { + + // Not inside a form, check all inputs that also are not inside a form + group = $( nameSelector ).filter( function() { + return $( this ).form().length === 0; + } ); + } + + return group.not( this.element ); + }, + + _toggleClasses: function() { + var checked = this.element[ 0 ].checked; + this._toggleClass( this.label, "ui-checkboxradio-checked", "ui-state-active", checked ); + + if ( this.options.icon && this.type === "checkbox" ) { + this._toggleClass( this.icon, null, "ui-icon-check ui-state-checked", checked ) + ._toggleClass( this.icon, null, "ui-icon-blank", !checked ); + } + + if ( this.type === "radio" ) { + this._getRadioGroup() + .each( function() { + var instance = $( this ).checkboxradio( "instance" ); + + if ( instance ) { + instance._removeClass( instance.label, + "ui-checkboxradio-checked", "ui-state-active" ); + } + } ); + } + }, + + _destroy: function() { + this._unbindFormResetHandler(); + + if ( this.icon ) { + this.icon.remove(); + this.iconSpace.remove(); + } + }, + + _setOption: function( key, value ) { + + // We don't allow the value to be set to nothing + if ( key === "label" && !value ) { + return; + } + + this._super( key, value ); + + if ( key === "disabled" ) { + this._toggleClass( this.label, null, "ui-state-disabled", value ); + this.element[ 0 ].disabled = value; + + // Don't refresh when setting disabled + return; + } + this.refresh(); + }, + + _updateIcon: function( checked ) { + var toAdd = "ui-icon ui-icon-background "; + + if ( this.options.icon ) { + if ( !this.icon ) { + this.icon = $( "<span>" ); + this.iconSpace = $( "<span> </span>" ); + this._addClass( this.iconSpace, "ui-checkboxradio-icon-space" ); + } + + if ( this.type === "checkbox" ) { + toAdd += checked ? "ui-icon-check ui-state-checked" : "ui-icon-blank"; + this._removeClass( this.icon, null, checked ? "ui-icon-blank" : "ui-icon-check" ); + } else { + toAdd += "ui-icon-blank"; + } + this._addClass( this.icon, "ui-checkboxradio-icon", toAdd ); + if ( !checked ) { + this._removeClass( this.icon, null, "ui-icon-check ui-state-checked" ); + } + this.icon.prependTo( this.label ).after( this.iconSpace ); + } else if ( this.icon !== undefined ) { + this.icon.remove(); + this.iconSpace.remove(); + delete this.icon; + } + }, + + _updateLabel: function() { + + // Remove the contents of the label ( minus the icon, icon space, and input ) + var contents = this.label.contents().not( this.element[ 0 ] ); + if ( this.icon ) { + contents = contents.not( this.icon[ 0 ] ); + } + if ( this.iconSpace ) { + contents = contents.not( this.iconSpace[ 0 ] ); + } + contents.remove(); + + this.label.append( this.options.label ); + }, + + refresh: function() { + var checked = this.element[ 0 ].checked, + isDisabled = this.element[ 0 ].disabled; + + this._updateIcon( checked ); + this._toggleClass( this.label, "ui-checkboxradio-checked", "ui-state-active", checked ); + if ( this.options.label !== null ) { + this._updateLabel(); + } + + if ( isDisabled !== this.options.disabled ) { + this._setOptions( { "disabled": isDisabled } ); + } + } + +} ] ); + +var widgetsCheckboxradio = $.ui.checkboxradio; + + +/*! + * jQuery UI Button 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Button +//>>group: Widgets +//>>description: Enhances a form with themeable buttons. +//>>docs: http://api.jqueryui.com/button/ +//>>demos: http://jqueryui.com/button/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/button.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.button", { + version: "1.12.1", + defaultElement: "<button>", + options: { + classes: { + "ui-button": "ui-corner-all" + }, + disabled: null, + icon: null, + iconPosition: "beginning", + label: null, + showLabel: true + }, + + _getCreateOptions: function() { + var disabled, + + // This is to support cases like in jQuery Mobile where the base widget does have + // an implementation of _getCreateOptions + options = this._super() || {}; + + this.isInput = this.element.is( "input" ); + + disabled = this.element[ 0 ].disabled; + if ( disabled != null ) { + options.disabled = disabled; + } + + this.originalLabel = this.isInput ? this.element.val() : this.element.html(); + if ( this.originalLabel ) { + options.label = this.originalLabel; + } + + return options; + }, + + _create: function() { + if ( !this.option.showLabel & !this.options.icon ) { + this.options.showLabel = true; + } + + // We have to check the option again here even though we did in _getCreateOptions, + // because null may have been passed on init which would override what was set in + // _getCreateOptions + if ( this.options.disabled == null ) { + this.options.disabled = this.element[ 0 ].disabled || false; + } + + this.hasTitle = !!this.element.attr( "title" ); + + // Check to see if the label needs to be set or if its already correct + if ( this.options.label && this.options.label !== this.originalLabel ) { + if ( this.isInput ) { + this.element.val( this.options.label ); + } else { + this.element.html( this.options.label ); + } + } + this._addClass( "ui-button", "ui-widget" ); + this._setOption( "disabled", this.options.disabled ); + this._enhance(); + + if ( this.element.is( "a" ) ) { + this._on( { + "keyup": function( event ) { + if ( event.keyCode === $.ui.keyCode.SPACE ) { + event.preventDefault(); + + // Support: PhantomJS <= 1.9, IE 8 Only + // If a native click is available use it so we actually cause navigation + // otherwise just trigger a click event + if ( this.element[ 0 ].click ) { + this.element[ 0 ].click(); + } else { + this.element.trigger( "click" ); + } + } + } + } ); + } + }, + + _enhance: function() { + if ( !this.element.is( "button" ) ) { + this.element.attr( "role", "button" ); + } + + if ( this.options.icon ) { + this._updateIcon( "icon", this.options.icon ); + this._updateTooltip(); + } + }, + + _updateTooltip: function() { + this.title = this.element.attr( "title" ); + + if ( !this.options.showLabel && !this.title ) { + this.element.attr( "title", this.options.label ); + } + }, + + _updateIcon: function( option, value ) { + var icon = option !== "iconPosition", + position = icon ? this.options.iconPosition : value, + displayBlock = position === "top" || position === "bottom"; + + // Create icon + if ( !this.icon ) { + this.icon = $( "<span>" ); + + this._addClass( this.icon, "ui-button-icon", "ui-icon" ); + + if ( !this.options.showLabel ) { + this._addClass( "ui-button-icon-only" ); + } + } else if ( icon ) { + + // If we are updating the icon remove the old icon class + this._removeClass( this.icon, null, this.options.icon ); + } + + // If we are updating the icon add the new icon class + if ( icon ) { + this._addClass( this.icon, null, value ); + } + + this._attachIcon( position ); + + // If the icon is on top or bottom we need to add the ui-widget-icon-block class and remove + // the iconSpace if there is one. + if ( displayBlock ) { + this._addClass( this.icon, null, "ui-widget-icon-block" ); + if ( this.iconSpace ) { + this.iconSpace.remove(); + } + } else { + + // Position is beginning or end so remove the ui-widget-icon-block class and add the + // space if it does not exist + if ( !this.iconSpace ) { + this.iconSpace = $( "<span> </span>" ); + this._addClass( this.iconSpace, "ui-button-icon-space" ); + } + this._removeClass( this.icon, null, "ui-wiget-icon-block" ); + this._attachIconSpace( position ); + } + }, + + _destroy: function() { + this.element.removeAttr( "role" ); + + if ( this.icon ) { + this.icon.remove(); + } + if ( this.iconSpace ) { + this.iconSpace.remove(); + } + if ( !this.hasTitle ) { + this.element.removeAttr( "title" ); + } + }, + + _attachIconSpace: function( iconPosition ) { + this.icon[ /^(?:end|bottom)/.test( iconPosition ) ? "before" : "after" ]( this.iconSpace ); + }, + + _attachIcon: function( iconPosition ) { + this.element[ /^(?:end|bottom)/.test( iconPosition ) ? "append" : "prepend" ]( this.icon ); + }, + + _setOptions: function( options ) { + var newShowLabel = options.showLabel === undefined ? + this.options.showLabel : + options.showLabel, + newIcon = options.icon === undefined ? this.options.icon : options.icon; + + if ( !newShowLabel && !newIcon ) { + options.showLabel = true; + } + this._super( options ); + }, + + _setOption: function( key, value ) { + if ( key === "icon" ) { + if ( value ) { + this._updateIcon( key, value ); + } else if ( this.icon ) { + this.icon.remove(); + if ( this.iconSpace ) { + this.iconSpace.remove(); + } + } + } + + if ( key === "iconPosition" ) { + this._updateIcon( key, value ); + } + + // Make sure we can't end up with a button that has neither text nor icon + if ( key === "showLabel" ) { + this._toggleClass( "ui-button-icon-only", null, !value ); + this._updateTooltip(); + } + + if ( key === "label" ) { + if ( this.isInput ) { + this.element.val( value ); + } else { + + // If there is an icon, append it, else nothing then append the value + // this avoids removal of the icon when setting label text + this.element.html( value ); + if ( this.icon ) { + this._attachIcon( this.options.iconPosition ); + this._attachIconSpace( this.options.iconPosition ); + } + } + } + + this._super( key, value ); + + if ( key === "disabled" ) { + this._toggleClass( null, "ui-state-disabled", value ); + this.element[ 0 ].disabled = value; + if ( value ) { + this.element.blur(); + } + } + }, + + refresh: function() { + + // Make sure to only check disabled if its an element that supports this otherwise + // check for the disabled class to determine state + var isDisabled = this.element.is( "input, button" ) ? + this.element[ 0 ].disabled : this.element.hasClass( "ui-button-disabled" ); + + if ( isDisabled !== this.options.disabled ) { + this._setOptions( { disabled: isDisabled } ); + } + + this._updateTooltip(); + } +} ); + +// DEPRECATED +if ( $.uiBackCompat !== false ) { + + // Text and Icons options + $.widget( "ui.button", $.ui.button, { + options: { + text: true, + icons: { + primary: null, + secondary: null + } + }, + + _create: function() { + if ( this.options.showLabel && !this.options.text ) { + this.options.showLabel = this.options.text; + } + if ( !this.options.showLabel && this.options.text ) { + this.options.text = this.options.showLabel; + } + if ( !this.options.icon && ( this.options.icons.primary || + this.options.icons.secondary ) ) { + if ( this.options.icons.primary ) { + this.options.icon = this.options.icons.primary; + } else { + this.options.icon = this.options.icons.secondary; + this.options.iconPosition = "end"; + } + } else if ( this.options.icon ) { + this.options.icons.primary = this.options.icon; + } + this._super(); + }, + + _setOption: function( key, value ) { + if ( key === "text" ) { + this._super( "showLabel", value ); + return; + } + if ( key === "showLabel" ) { + this.options.text = value; + } + if ( key === "icon" ) { + this.options.icons.primary = value; + } + if ( key === "icons" ) { + if ( value.primary ) { + this._super( "icon", value.primary ); + this._super( "iconPosition", "beginning" ); + } else if ( value.secondary ) { + this._super( "icon", value.secondary ); + this._super( "iconPosition", "end" ); + } + } + this._superApply( arguments ); + } + } ); + + $.fn.button = ( function( orig ) { + return function() { + if ( !this.length || ( this.length && this[ 0 ].tagName !== "INPUT" ) || + ( this.length && this[ 0 ].tagName === "INPUT" && ( + this.attr( "type" ) !== "checkbox" && this.attr( "type" ) !== "radio" + ) ) ) { + return orig.apply( this, arguments ); + } + if ( !$.ui.checkboxradio ) { + $.error( "Checkboxradio widget missing" ); + } + if ( arguments.length === 0 ) { + return this.checkboxradio( { + "icon": false + } ); + } + return this.checkboxradio.apply( this, arguments ); + }; + } )( $.fn.button ); + + $.fn.buttonset = function() { + if ( !$.ui.controlgroup ) { + $.error( "Controlgroup widget missing" ); + } + if ( arguments[ 0 ] === "option" && arguments[ 1 ] === "items" && arguments[ 2 ] ) { + return this.controlgroup.apply( this, + [ arguments[ 0 ], "items.button", arguments[ 2 ] ] ); + } + if ( arguments[ 0 ] === "option" && arguments[ 1 ] === "items" ) { + return this.controlgroup.apply( this, [ arguments[ 0 ], "items.button" ] ); + } + if ( typeof arguments[ 0 ] === "object" && arguments[ 0 ].items ) { + arguments[ 0 ].items = { + button: arguments[ 0 ].items + }; + } + return this.controlgroup.apply( this, arguments ); + }; +} + +var widgetsButton = $.ui.button; + + +// jscs:disable maximumLineLength +/* jscs:disable requireCamelCaseOrUpperCaseIdentifiers */ +/*! + * jQuery UI Datepicker 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Datepicker +//>>group: Widgets +//>>description: Displays a calendar from an input or inline for selecting dates. +//>>docs: http://api.jqueryui.com/datepicker/ +//>>demos: http://jqueryui.com/datepicker/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/datepicker.css +//>>css.theme: ../../themes/base/theme.css + + + +$.extend( $.ui, { datepicker: { version: "1.12.1" } } ); + +var datepicker_instActive; + +function datepicker_getZindex( elem ) { + var position, value; + while ( elem.length && elem[ 0 ] !== document ) { + + // Ignore z-index if position is set to a value where z-index is ignored by the browser + // This makes behavior of this function consistent across browsers + // WebKit always returns auto if the element is positioned + position = elem.css( "position" ); + if ( position === "absolute" || position === "relative" || position === "fixed" ) { + + // IE returns 0 when zIndex is not specified + // other browsers return a string + // we ignore the case of nested elements with an explicit value of 0 + // <div style="z-index: -10;"><div style="z-index: 0;"></div></div> + value = parseInt( elem.css( "zIndex" ), 10 ); + if ( !isNaN( value ) && value !== 0 ) { + return value; + } + } + elem = elem.parent(); + } + + return 0; +} +/* Date picker manager. + Use the singleton instance of this class, $.datepicker, to interact with the date picker. + Settings for (groups of) date pickers are maintained in an instance object, + allowing multiple different settings on the same page. */ + +function Datepicker() { + this._curInst = null; // The current instance in use + this._keyEvent = false; // If the last event was a key event + this._disabledInputs = []; // List of date picker inputs that have been disabled + this._datepickerShowing = false; // True if the popup picker is showing , false if not + this._inDialog = false; // True if showing within a "dialog", false if not + this._mainDivId = "ui-datepicker-div"; // The ID of the main datepicker division + this._inlineClass = "ui-datepicker-inline"; // The name of the inline marker class + this._appendClass = "ui-datepicker-append"; // The name of the append marker class + this._triggerClass = "ui-datepicker-trigger"; // The name of the trigger marker class + this._dialogClass = "ui-datepicker-dialog"; // The name of the dialog marker class + this._disableClass = "ui-datepicker-disabled"; // The name of the disabled covering marker class + this._unselectableClass = "ui-datepicker-unselectable"; // The name of the unselectable cell marker class + this._currentClass = "ui-datepicker-current-day"; // The name of the current day marker class + this._dayOverClass = "ui-datepicker-days-cell-over"; // The name of the day hover marker class + this.regional = []; // Available regional settings, indexed by language code + this.regional[ "" ] = { // Default regional settings + closeText: "Done", // Display text for close link + prevText: "Prev", // Display text for previous month link + nextText: "Next", // Display text for next month link + currentText: "Today", // Display text for current month link + monthNames: [ "January","February","March","April","May","June", + "July","August","September","October","November","December" ], // Names of months for drop-down and formatting + monthNamesShort: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ], // For formatting + dayNames: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ], // For formatting + dayNamesShort: [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ], // For formatting + dayNamesMin: [ "Su","Mo","Tu","We","Th","Fr","Sa" ], // Column headings for days starting at Sunday + weekHeader: "Wk", // Column header for week of the year + dateFormat: "mm/dd/yy", // See format options on parseDate + firstDay: 0, // The first day of the week, Sun = 0, Mon = 1, ... + isRTL: false, // True if right-to-left language, false if left-to-right + showMonthAfterYear: false, // True if the year select precedes month, false for month then year + yearSuffix: "" // Additional text to append to the year in the month headers + }; + this._defaults = { // Global defaults for all the date picker instances + showOn: "focus", // "focus" for popup on focus, + // "button" for trigger button, or "both" for either + showAnim: "fadeIn", // Name of jQuery animation for popup + showOptions: {}, // Options for enhanced animations + defaultDate: null, // Used when field is blank: actual date, + // +/-number for offset from today, null for today + appendText: "", // Display text following the input box, e.g. showing the format + buttonText: "...", // Text for trigger button + buttonImage: "", // URL for trigger button image + buttonImageOnly: false, // True if the image appears alone, false if it appears on a button + hideIfNoPrevNext: false, // True to hide next/previous month links + // if not applicable, false to just disable them + navigationAsDateFormat: false, // True if date formatting applied to prev/today/next links + gotoCurrent: false, // True if today link goes back to current selection instead + changeMonth: false, // True if month can be selected directly, false if only prev/next + changeYear: false, // True if year can be selected directly, false if only prev/next + yearRange: "c-10:c+10", // Range of years to display in drop-down, + // either relative to today's year (-nn:+nn), relative to currently displayed year + // (c-nn:c+nn), absolute (nnnn:nnnn), or a combination of the above (nnnn:-n) + showOtherMonths: false, // True to show dates in other months, false to leave blank + selectOtherMonths: false, // True to allow selection of dates in other months, false for unselectable + showWeek: false, // True to show week of the year, false to not show it + calculateWeek: this.iso8601Week, // How to calculate the week of the year, + // takes a Date and returns the number of the week for it + shortYearCutoff: "+10", // Short year values < this are in the current century, + // > this are in the previous century, + // string value starting with "+" for current year + value + minDate: null, // The earliest selectable date, or null for no limit + maxDate: null, // The latest selectable date, or null for no limit + duration: "fast", // Duration of display/closure + beforeShowDay: null, // Function that takes a date and returns an array with + // [0] = true if selectable, false if not, [1] = custom CSS class name(s) or "", + // [2] = cell title (optional), e.g. $.datepicker.noWeekends + beforeShow: null, // Function that takes an input field and + // returns a set of custom settings for the date picker + onSelect: null, // Define a callback function when a date is selected + onChangeMonthYear: null, // Define a callback function when the month or year is changed + onClose: null, // Define a callback function when the datepicker is closed + numberOfMonths: 1, // Number of months to show at a time + showCurrentAtPos: 0, // The position in multipe months at which to show the current month (starting at 0) + stepMonths: 1, // Number of months to step back/forward + stepBigMonths: 12, // Number of months to step back/forward for the big links + altField: "", // Selector for an alternate field to store selected dates into + altFormat: "", // The date format to use for the alternate field + constrainInput: true, // The input is constrained by the current date format + showButtonPanel: false, // True to show button panel, false to not show it + autoSize: false, // True to size the input for the date format, false to leave as is + disabled: false // The initial disabled state + }; + $.extend( this._defaults, this.regional[ "" ] ); + this.regional.en = $.extend( true, {}, this.regional[ "" ] ); + this.regional[ "en-US" ] = $.extend( true, {}, this.regional.en ); + this.dpDiv = datepicker_bindHover( $( "<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>" ) ); +} + +$.extend( Datepicker.prototype, { + /* Class name added to elements to indicate already configured with a date picker. */ + markerClassName: "hasDatepicker", + + //Keep track of the maximum number of rows displayed (see #7043) + maxRows: 4, + + // TODO rename to "widget" when switching to widget factory + _widgetDatepicker: function() { + return this.dpDiv; + }, + + /* Override the default settings for all instances of the date picker. + * @param settings object - the new settings to use as defaults (anonymous object) + * @return the manager object + */ + setDefaults: function( settings ) { + datepicker_extendRemove( this._defaults, settings || {} ); + return this; + }, + + /* Attach the date picker to a jQuery selection. + * @param target element - the target input field or division or span + * @param settings object - the new settings to use for this date picker instance (anonymous) + */ + _attachDatepicker: function( target, settings ) { + var nodeName, inline, inst; + nodeName = target.nodeName.toLowerCase(); + inline = ( nodeName === "div" || nodeName === "span" ); + if ( !target.id ) { + this.uuid += 1; + target.id = "dp" + this.uuid; + } + inst = this._newInst( $( target ), inline ); + inst.settings = $.extend( {}, settings || {} ); + if ( nodeName === "input" ) { + this._connectDatepicker( target, inst ); + } else if ( inline ) { + this._inlineDatepicker( target, inst ); + } + }, + + /* Create a new instance object. */ + _newInst: function( target, inline ) { + var id = target[ 0 ].id.replace( /([^A-Za-z0-9_\-])/g, "\\\\$1" ); // escape jQuery meta chars + return { id: id, input: target, // associated target + selectedDay: 0, selectedMonth: 0, selectedYear: 0, // current selection + drawMonth: 0, drawYear: 0, // month being drawn + inline: inline, // is datepicker inline or not + dpDiv: ( !inline ? this.dpDiv : // presentation div + datepicker_bindHover( $( "<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>" ) ) ) }; + }, + + /* Attach the date picker to an input field. */ + _connectDatepicker: function( target, inst ) { + var input = $( target ); + inst.append = $( [] ); + inst.trigger = $( [] ); + if ( input.hasClass( this.markerClassName ) ) { + return; + } + this._attachments( input, inst ); + input.addClass( this.markerClassName ).on( "keydown", this._doKeyDown ). + on( "keypress", this._doKeyPress ).on( "keyup", this._doKeyUp ); + this._autoSize( inst ); + $.data( target, "datepicker", inst ); + + //If disabled option is true, disable the datepicker once it has been attached to the input (see ticket #5665) + if ( inst.settings.disabled ) { + this._disableDatepicker( target ); + } + }, + + /* Make attachments based on settings. */ + _attachments: function( input, inst ) { + var showOn, buttonText, buttonImage, + appendText = this._get( inst, "appendText" ), + isRTL = this._get( inst, "isRTL" ); + + if ( inst.append ) { + inst.append.remove(); + } + if ( appendText ) { + inst.append = $( "<span class='" + this._appendClass + "'>" + appendText + "</span>" ); + input[ isRTL ? "before" : "after" ]( inst.append ); + } + + input.off( "focus", this._showDatepicker ); + + if ( inst.trigger ) { + inst.trigger.remove(); + } + + showOn = this._get( inst, "showOn" ); + if ( showOn === "focus" || showOn === "both" ) { // pop-up date picker when in the marked field + input.on( "focus", this._showDatepicker ); + } + if ( showOn === "button" || showOn === "both" ) { // pop-up date picker when button clicked + buttonText = this._get( inst, "buttonText" ); + buttonImage = this._get( inst, "buttonImage" ); + inst.trigger = $( this._get( inst, "buttonImageOnly" ) ? + $( "<img/>" ).addClass( this._triggerClass ). + attr( { src: buttonImage, alt: buttonText, title: buttonText } ) : + $( "<button type='button'></button>" ).addClass( this._triggerClass ). + html( !buttonImage ? buttonText : $( "<img/>" ).attr( + { src:buttonImage, alt:buttonText, title:buttonText } ) ) ); + input[ isRTL ? "before" : "after" ]( inst.trigger ); + inst.trigger.on( "click", function() { + if ( $.datepicker._datepickerShowing && $.datepicker._lastInput === input[ 0 ] ) { + $.datepicker._hideDatepicker(); + } else if ( $.datepicker._datepickerShowing && $.datepicker._lastInput !== input[ 0 ] ) { + $.datepicker._hideDatepicker(); + $.datepicker._showDatepicker( input[ 0 ] ); + } else { + $.datepicker._showDatepicker( input[ 0 ] ); + } + return false; + } ); + } + }, + + /* Apply the maximum length for the date format. */ + _autoSize: function( inst ) { + if ( this._get( inst, "autoSize" ) && !inst.inline ) { + var findMax, max, maxI, i, + date = new Date( 2009, 12 - 1, 20 ), // Ensure double digits + dateFormat = this._get( inst, "dateFormat" ); + + if ( dateFormat.match( /[DM]/ ) ) { + findMax = function( names ) { + max = 0; + maxI = 0; + for ( i = 0; i < names.length; i++ ) { + if ( names[ i ].length > max ) { + max = names[ i ].length; + maxI = i; + } + } + return maxI; + }; + date.setMonth( findMax( this._get( inst, ( dateFormat.match( /MM/ ) ? + "monthNames" : "monthNamesShort" ) ) ) ); + date.setDate( findMax( this._get( inst, ( dateFormat.match( /DD/ ) ? + "dayNames" : "dayNamesShort" ) ) ) + 20 - date.getDay() ); + } + inst.input.attr( "size", this._formatDate( inst, date ).length ); + } + }, + + /* Attach an inline date picker to a div. */ + _inlineDatepicker: function( target, inst ) { + var divSpan = $( target ); + if ( divSpan.hasClass( this.markerClassName ) ) { + return; + } + divSpan.addClass( this.markerClassName ).append( inst.dpDiv ); + $.data( target, "datepicker", inst ); + this._setDate( inst, this._getDefaultDate( inst ), true ); + this._updateDatepicker( inst ); + this._updateAlternate( inst ); + + //If disabled option is true, disable the datepicker before showing it (see ticket #5665) + if ( inst.settings.disabled ) { + this._disableDatepicker( target ); + } + + // Set display:block in place of inst.dpDiv.show() which won't work on disconnected elements + // http://bugs.jqueryui.com/ticket/7552 - A Datepicker created on a detached div has zero height + inst.dpDiv.css( "display", "block" ); + }, + + /* Pop-up the date picker in a "dialog" box. + * @param input element - ignored + * @param date string or Date - the initial date to display + * @param onSelect function - the function to call when a date is selected + * @param settings object - update the dialog date picker instance's settings (anonymous object) + * @param pos int[2] - coordinates for the dialog's position within the screen or + * event - with x/y coordinates or + * leave empty for default (screen centre) + * @return the manager object + */ + _dialogDatepicker: function( input, date, onSelect, settings, pos ) { + var id, browserWidth, browserHeight, scrollX, scrollY, + inst = this._dialogInst; // internal instance + + if ( !inst ) { + this.uuid += 1; + id = "dp" + this.uuid; + this._dialogInput = $( "<input type='text' id='" + id + + "' style='position: absolute; top: -100px; width: 0px;'/>" ); + this._dialogInput.on( "keydown", this._doKeyDown ); + $( "body" ).append( this._dialogInput ); + inst = this._dialogInst = this._newInst( this._dialogInput, false ); + inst.settings = {}; + $.data( this._dialogInput[ 0 ], "datepicker", inst ); + } + datepicker_extendRemove( inst.settings, settings || {} ); + date = ( date && date.constructor === Date ? this._formatDate( inst, date ) : date ); + this._dialogInput.val( date ); + + this._pos = ( pos ? ( pos.length ? pos : [ pos.pageX, pos.pageY ] ) : null ); + if ( !this._pos ) { + browserWidth = document.documentElement.clientWidth; + browserHeight = document.documentElement.clientHeight; + scrollX = document.documentElement.scrollLeft || document.body.scrollLeft; + scrollY = document.documentElement.scrollTop || document.body.scrollTop; + this._pos = // should use actual width/height below + [ ( browserWidth / 2 ) - 100 + scrollX, ( browserHeight / 2 ) - 150 + scrollY ]; + } + + // Move input on screen for focus, but hidden behind dialog + this._dialogInput.css( "left", ( this._pos[ 0 ] + 20 ) + "px" ).css( "top", this._pos[ 1 ] + "px" ); + inst.settings.onSelect = onSelect; + this._inDialog = true; + this.dpDiv.addClass( this._dialogClass ); + this._showDatepicker( this._dialogInput[ 0 ] ); + if ( $.blockUI ) { + $.blockUI( this.dpDiv ); + } + $.data( this._dialogInput[ 0 ], "datepicker", inst ); + return this; + }, + + /* Detach a datepicker from its control. + * @param target element - the target input field or division or span + */ + _destroyDatepicker: function( target ) { + var nodeName, + $target = $( target ), + inst = $.data( target, "datepicker" ); + + if ( !$target.hasClass( this.markerClassName ) ) { + return; + } + + nodeName = target.nodeName.toLowerCase(); + $.removeData( target, "datepicker" ); + if ( nodeName === "input" ) { + inst.append.remove(); + inst.trigger.remove(); + $target.removeClass( this.markerClassName ). + off( "focus", this._showDatepicker ). + off( "keydown", this._doKeyDown ). + off( "keypress", this._doKeyPress ). + off( "keyup", this._doKeyUp ); + } else if ( nodeName === "div" || nodeName === "span" ) { + $target.removeClass( this.markerClassName ).empty(); + } + + if ( datepicker_instActive === inst ) { + datepicker_instActive = null; + } + }, + + /* Enable the date picker to a jQuery selection. + * @param target element - the target input field or division or span + */ + _enableDatepicker: function( target ) { + var nodeName, inline, + $target = $( target ), + inst = $.data( target, "datepicker" ); + + if ( !$target.hasClass( this.markerClassName ) ) { + return; + } + + nodeName = target.nodeName.toLowerCase(); + if ( nodeName === "input" ) { + target.disabled = false; + inst.trigger.filter( "button" ). + each( function() { this.disabled = false; } ).end(). + filter( "img" ).css( { opacity: "1.0", cursor: "" } ); + } else if ( nodeName === "div" || nodeName === "span" ) { + inline = $target.children( "." + this._inlineClass ); + inline.children().removeClass( "ui-state-disabled" ); + inline.find( "select.ui-datepicker-month, select.ui-datepicker-year" ). + prop( "disabled", false ); + } + this._disabledInputs = $.map( this._disabledInputs, + function( value ) { return ( value === target ? null : value ); } ); // delete entry + }, + + /* Disable the date picker to a jQuery selection. + * @param target element - the target input field or division or span + */ + _disableDatepicker: function( target ) { + var nodeName, inline, + $target = $( target ), + inst = $.data( target, "datepicker" ); + + if ( !$target.hasClass( this.markerClassName ) ) { + return; + } + + nodeName = target.nodeName.toLowerCase(); + if ( nodeName === "input" ) { + target.disabled = true; + inst.trigger.filter( "button" ). + each( function() { this.disabled = true; } ).end(). + filter( "img" ).css( { opacity: "0.5", cursor: "default" } ); + } else if ( nodeName === "div" || nodeName === "span" ) { + inline = $target.children( "." + this._inlineClass ); + inline.children().addClass( "ui-state-disabled" ); + inline.find( "select.ui-datepicker-month, select.ui-datepicker-year" ). + prop( "disabled", true ); + } + this._disabledInputs = $.map( this._disabledInputs, + function( value ) { return ( value === target ? null : value ); } ); // delete entry + this._disabledInputs[ this._disabledInputs.length ] = target; + }, + + /* Is the first field in a jQuery collection disabled as a datepicker? + * @param target element - the target input field or division or span + * @return boolean - true if disabled, false if enabled + */ + _isDisabledDatepicker: function( target ) { + if ( !target ) { + return false; + } + for ( var i = 0; i < this._disabledInputs.length; i++ ) { + if ( this._disabledInputs[ i ] === target ) { + return true; + } + } + return false; + }, + + /* Retrieve the instance data for the target control. + * @param target element - the target input field or division or span + * @return object - the associated instance data + * @throws error if a jQuery problem getting data + */ + _getInst: function( target ) { + try { + return $.data( target, "datepicker" ); + } + catch ( err ) { + throw "Missing instance data for this datepicker"; + } + }, + + /* Update or retrieve the settings for a date picker attached to an input field or division. + * @param target element - the target input field or division or span + * @param name object - the new settings to update or + * string - the name of the setting to change or retrieve, + * when retrieving also "all" for all instance settings or + * "defaults" for all global defaults + * @param value any - the new value for the setting + * (omit if above is an object or to retrieve a value) + */ + _optionDatepicker: function( target, name, value ) { + var settings, date, minDate, maxDate, + inst = this._getInst( target ); + + if ( arguments.length === 2 && typeof name === "string" ) { + return ( name === "defaults" ? $.extend( {}, $.datepicker._defaults ) : + ( inst ? ( name === "all" ? $.extend( {}, inst.settings ) : + this._get( inst, name ) ) : null ) ); + } + + settings = name || {}; + if ( typeof name === "string" ) { + settings = {}; + settings[ name ] = value; + } + + if ( inst ) { + if ( this._curInst === inst ) { + this._hideDatepicker(); + } + + date = this._getDateDatepicker( target, true ); + minDate = this._getMinMaxDate( inst, "min" ); + maxDate = this._getMinMaxDate( inst, "max" ); + datepicker_extendRemove( inst.settings, settings ); + + // reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided + if ( minDate !== null && settings.dateFormat !== undefined && settings.minDate === undefined ) { + inst.settings.minDate = this._formatDate( inst, minDate ); + } + if ( maxDate !== null && settings.dateFormat !== undefined && settings.maxDate === undefined ) { + inst.settings.maxDate = this._formatDate( inst, maxDate ); + } + if ( "disabled" in settings ) { + if ( settings.disabled ) { + this._disableDatepicker( target ); + } else { + this._enableDatepicker( target ); + } + } + this._attachments( $( target ), inst ); + this._autoSize( inst ); + this._setDate( inst, date ); + this._updateAlternate( inst ); + this._updateDatepicker( inst ); + } + }, + + // Change method deprecated + _changeDatepicker: function( target, name, value ) { + this._optionDatepicker( target, name, value ); + }, + + /* Redraw the date picker attached to an input field or division. + * @param target element - the target input field or division or span + */ + _refreshDatepicker: function( target ) { + var inst = this._getInst( target ); + if ( inst ) { + this._updateDatepicker( inst ); + } + }, + + /* Set the dates for a jQuery selection. + * @param target element - the target input field or division or span + * @param date Date - the new date + */ + _setDateDatepicker: function( target, date ) { + var inst = this._getInst( target ); + if ( inst ) { + this._setDate( inst, date ); + this._updateDatepicker( inst ); + this._updateAlternate( inst ); + } + }, + + /* Get the date(s) for the first entry in a jQuery selection. + * @param target element - the target input field or division or span + * @param noDefault boolean - true if no default date is to be used + * @return Date - the current date + */ + _getDateDatepicker: function( target, noDefault ) { + var inst = this._getInst( target ); + if ( inst && !inst.inline ) { + this._setDateFromField( inst, noDefault ); + } + return ( inst ? this._getDate( inst ) : null ); + }, + + /* Handle keystrokes. */ + _doKeyDown: function( event ) { + var onSelect, dateStr, sel, + inst = $.datepicker._getInst( event.target ), + handled = true, + isRTL = inst.dpDiv.is( ".ui-datepicker-rtl" ); + + inst._keyEvent = true; + if ( $.datepicker._datepickerShowing ) { + switch ( event.keyCode ) { + case 9: $.datepicker._hideDatepicker(); + handled = false; + break; // hide on tab out + case 13: sel = $( "td." + $.datepicker._dayOverClass + ":not(." + + $.datepicker._currentClass + ")", inst.dpDiv ); + if ( sel[ 0 ] ) { + $.datepicker._selectDay( event.target, inst.selectedMonth, inst.selectedYear, sel[ 0 ] ); + } + + onSelect = $.datepicker._get( inst, "onSelect" ); + if ( onSelect ) { + dateStr = $.datepicker._formatDate( inst ); + + // Trigger custom callback + onSelect.apply( ( inst.input ? inst.input[ 0 ] : null ), [ dateStr, inst ] ); + } else { + $.datepicker._hideDatepicker(); + } + + return false; // don't submit the form + case 27: $.datepicker._hideDatepicker(); + break; // hide on escape + case 33: $.datepicker._adjustDate( event.target, ( event.ctrlKey ? + -$.datepicker._get( inst, "stepBigMonths" ) : + -$.datepicker._get( inst, "stepMonths" ) ), "M" ); + break; // previous month/year on page up/+ ctrl + case 34: $.datepicker._adjustDate( event.target, ( event.ctrlKey ? + +$.datepicker._get( inst, "stepBigMonths" ) : + +$.datepicker._get( inst, "stepMonths" ) ), "M" ); + break; // next month/year on page down/+ ctrl + case 35: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._clearDate( event.target ); + } + handled = event.ctrlKey || event.metaKey; + break; // clear on ctrl or command +end + case 36: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._gotoToday( event.target ); + } + handled = event.ctrlKey || event.metaKey; + break; // current on ctrl or command +home + case 37: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._adjustDate( event.target, ( isRTL ? +1 : -1 ), "D" ); + } + handled = event.ctrlKey || event.metaKey; + + // -1 day on ctrl or command +left + if ( event.originalEvent.altKey ) { + $.datepicker._adjustDate( event.target, ( event.ctrlKey ? + -$.datepicker._get( inst, "stepBigMonths" ) : + -$.datepicker._get( inst, "stepMonths" ) ), "M" ); + } + + // next month/year on alt +left on Mac + break; + case 38: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._adjustDate( event.target, -7, "D" ); + } + handled = event.ctrlKey || event.metaKey; + break; // -1 week on ctrl or command +up + case 39: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._adjustDate( event.target, ( isRTL ? -1 : +1 ), "D" ); + } + handled = event.ctrlKey || event.metaKey; + + // +1 day on ctrl or command +right + if ( event.originalEvent.altKey ) { + $.datepicker._adjustDate( event.target, ( event.ctrlKey ? + +$.datepicker._get( inst, "stepBigMonths" ) : + +$.datepicker._get( inst, "stepMonths" ) ), "M" ); + } + + // next month/year on alt +right + break; + case 40: if ( event.ctrlKey || event.metaKey ) { + $.datepicker._adjustDate( event.target, +7, "D" ); + } + handled = event.ctrlKey || event.metaKey; + break; // +1 week on ctrl or command +down + default: handled = false; + } + } else if ( event.keyCode === 36 && event.ctrlKey ) { // display the date picker on ctrl+home + $.datepicker._showDatepicker( this ); + } else { + handled = false; + } + + if ( handled ) { + event.preventDefault(); + event.stopPropagation(); + } + }, + + /* Filter entered characters - based on date format. */ + _doKeyPress: function( event ) { + var chars, chr, + inst = $.datepicker._getInst( event.target ); + + if ( $.datepicker._get( inst, "constrainInput" ) ) { + chars = $.datepicker._possibleChars( $.datepicker._get( inst, "dateFormat" ) ); + chr = String.fromCharCode( event.charCode == null ? event.keyCode : event.charCode ); + return event.ctrlKey || event.metaKey || ( chr < " " || !chars || chars.indexOf( chr ) > -1 ); + } + }, + + /* Synchronise manual entry and field/alternate field. */ + _doKeyUp: function( event ) { + var date, + inst = $.datepicker._getInst( event.target ); + + if ( inst.input.val() !== inst.lastVal ) { + try { + date = $.datepicker.parseDate( $.datepicker._get( inst, "dateFormat" ), + ( inst.input ? inst.input.val() : null ), + $.datepicker._getFormatConfig( inst ) ); + + if ( date ) { // only if valid + $.datepicker._setDateFromField( inst ); + $.datepicker._updateAlternate( inst ); + $.datepicker._updateDatepicker( inst ); + } + } + catch ( err ) { + } + } + return true; + }, + + /* Pop-up the date picker for a given input field. + * If false returned from beforeShow event handler do not show. + * @param input element - the input field attached to the date picker or + * event - if triggered by focus + */ + _showDatepicker: function( input ) { + input = input.target || input; + if ( input.nodeName.toLowerCase() !== "input" ) { // find from button/image trigger + input = $( "input", input.parentNode )[ 0 ]; + } + + if ( $.datepicker._isDisabledDatepicker( input ) || $.datepicker._lastInput === input ) { // already here + return; + } + + var inst, beforeShow, beforeShowSettings, isFixed, + offset, showAnim, duration; + + inst = $.datepicker._getInst( input ); + if ( $.datepicker._curInst && $.datepicker._curInst !== inst ) { + $.datepicker._curInst.dpDiv.stop( true, true ); + if ( inst && $.datepicker._datepickerShowing ) { + $.datepicker._hideDatepicker( $.datepicker._curInst.input[ 0 ] ); + } + } + + beforeShow = $.datepicker._get( inst, "beforeShow" ); + beforeShowSettings = beforeShow ? beforeShow.apply( input, [ input, inst ] ) : {}; + if ( beforeShowSettings === false ) { + return; + } + datepicker_extendRemove( inst.settings, beforeShowSettings ); + + inst.lastVal = null; + $.datepicker._lastInput = input; + $.datepicker._setDateFromField( inst ); + + if ( $.datepicker._inDialog ) { // hide cursor + input.value = ""; + } + if ( !$.datepicker._pos ) { // position below input + $.datepicker._pos = $.datepicker._findPos( input ); + $.datepicker._pos[ 1 ] += input.offsetHeight; // add the height + } + + isFixed = false; + $( input ).parents().each( function() { + isFixed |= $( this ).css( "position" ) === "fixed"; + return !isFixed; + } ); + + offset = { left: $.datepicker._pos[ 0 ], top: $.datepicker._pos[ 1 ] }; + $.datepicker._pos = null; + + //to avoid flashes on Firefox + inst.dpDiv.empty(); + + // determine sizing offscreen + inst.dpDiv.css( { position: "absolute", display: "block", top: "-1000px" } ); + $.datepicker._updateDatepicker( inst ); + + // fix width for dynamic number of date pickers + // and adjust position before showing + offset = $.datepicker._checkOffset( inst, offset, isFixed ); + inst.dpDiv.css( { position: ( $.datepicker._inDialog && $.blockUI ? + "static" : ( isFixed ? "fixed" : "absolute" ) ), display: "none", + left: offset.left + "px", top: offset.top + "px" } ); + + if ( !inst.inline ) { + showAnim = $.datepicker._get( inst, "showAnim" ); + duration = $.datepicker._get( inst, "duration" ); + inst.dpDiv.css( "z-index", datepicker_getZindex( $( input ) ) + 1 ); + $.datepicker._datepickerShowing = true; + + if ( $.effects && $.effects.effect[ showAnim ] ) { + inst.dpDiv.show( showAnim, $.datepicker._get( inst, "showOptions" ), duration ); + } else { + inst.dpDiv[ showAnim || "show" ]( showAnim ? duration : null ); + } + + if ( $.datepicker._shouldFocusInput( inst ) ) { + inst.input.trigger( "focus" ); + } + + $.datepicker._curInst = inst; + } + }, + + /* Generate the date picker content. */ + _updateDatepicker: function( inst ) { + this.maxRows = 4; //Reset the max number of rows being displayed (see #7043) + datepicker_instActive = inst; // for delegate hover events + inst.dpDiv.empty().append( this._generateHTML( inst ) ); + this._attachHandlers( inst ); + + var origyearshtml, + numMonths = this._getNumberOfMonths( inst ), + cols = numMonths[ 1 ], + width = 17, + activeCell = inst.dpDiv.find( "." + this._dayOverClass + " a" ); + + if ( activeCell.length > 0 ) { + datepicker_handleMouseover.apply( activeCell.get( 0 ) ); + } + + inst.dpDiv.removeClass( "ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4" ).width( "" ); + if ( cols > 1 ) { + inst.dpDiv.addClass( "ui-datepicker-multi-" + cols ).css( "width", ( width * cols ) + "em" ); + } + inst.dpDiv[ ( numMonths[ 0 ] !== 1 || numMonths[ 1 ] !== 1 ? "add" : "remove" ) + + "Class" ]( "ui-datepicker-multi" ); + inst.dpDiv[ ( this._get( inst, "isRTL" ) ? "add" : "remove" ) + + "Class" ]( "ui-datepicker-rtl" ); + + if ( inst === $.datepicker._curInst && $.datepicker._datepickerShowing && $.datepicker._shouldFocusInput( inst ) ) { + inst.input.trigger( "focus" ); + } + + // Deffered render of the years select (to avoid flashes on Firefox) + if ( inst.yearshtml ) { + origyearshtml = inst.yearshtml; + setTimeout( function() { + + //assure that inst.yearshtml didn't change. + if ( origyearshtml === inst.yearshtml && inst.yearshtml ) { + inst.dpDiv.find( "select.ui-datepicker-year:first" ).replaceWith( inst.yearshtml ); + } + origyearshtml = inst.yearshtml = null; + }, 0 ); + } + }, + + // #6694 - don't focus the input if it's already focused + // this breaks the change event in IE + // Support: IE and jQuery <1.9 + _shouldFocusInput: function( inst ) { + return inst.input && inst.input.is( ":visible" ) && !inst.input.is( ":disabled" ) && !inst.input.is( ":focus" ); + }, + + /* Check positioning to remain on screen. */ + _checkOffset: function( inst, offset, isFixed ) { + var dpWidth = inst.dpDiv.outerWidth(), + dpHeight = inst.dpDiv.outerHeight(), + inputWidth = inst.input ? inst.input.outerWidth() : 0, + inputHeight = inst.input ? inst.input.outerHeight() : 0, + viewWidth = document.documentElement.clientWidth + ( isFixed ? 0 : $( document ).scrollLeft() ), + viewHeight = document.documentElement.clientHeight + ( isFixed ? 0 : $( document ).scrollTop() ); + + offset.left -= ( this._get( inst, "isRTL" ) ? ( dpWidth - inputWidth ) : 0 ); + offset.left -= ( isFixed && offset.left === inst.input.offset().left ) ? $( document ).scrollLeft() : 0; + offset.top -= ( isFixed && offset.top === ( inst.input.offset().top + inputHeight ) ) ? $( document ).scrollTop() : 0; + + // Now check if datepicker is showing outside window viewport - move to a better place if so. + offset.left -= Math.min( offset.left, ( offset.left + dpWidth > viewWidth && viewWidth > dpWidth ) ? + Math.abs( offset.left + dpWidth - viewWidth ) : 0 ); + offset.top -= Math.min( offset.top, ( offset.top + dpHeight > viewHeight && viewHeight > dpHeight ) ? + Math.abs( dpHeight + inputHeight ) : 0 ); + + return offset; + }, + + /* Find an object's position on the screen. */ + _findPos: function( obj ) { + var position, + inst = this._getInst( obj ), + isRTL = this._get( inst, "isRTL" ); + + while ( obj && ( obj.type === "hidden" || obj.nodeType !== 1 || $.expr.filters.hidden( obj ) ) ) { + obj = obj[ isRTL ? "previousSibling" : "nextSibling" ]; + } + + position = $( obj ).offset(); + return [ position.left, position.top ]; + }, + + /* Hide the date picker from view. + * @param input element - the input field attached to the date picker + */ + _hideDatepicker: function( input ) { + var showAnim, duration, postProcess, onClose, + inst = this._curInst; + + if ( !inst || ( input && inst !== $.data( input, "datepicker" ) ) ) { + return; + } + + if ( this._datepickerShowing ) { + showAnim = this._get( inst, "showAnim" ); + duration = this._get( inst, "duration" ); + postProcess = function() { + $.datepicker._tidyDialog( inst ); + }; + + // DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed + if ( $.effects && ( $.effects.effect[ showAnim ] || $.effects[ showAnim ] ) ) { + inst.dpDiv.hide( showAnim, $.datepicker._get( inst, "showOptions" ), duration, postProcess ); + } else { + inst.dpDiv[ ( showAnim === "slideDown" ? "slideUp" : + ( showAnim === "fadeIn" ? "fadeOut" : "hide" ) ) ]( ( showAnim ? duration : null ), postProcess ); + } + + if ( !showAnim ) { + postProcess(); + } + this._datepickerShowing = false; + + onClose = this._get( inst, "onClose" ); + if ( onClose ) { + onClose.apply( ( inst.input ? inst.input[ 0 ] : null ), [ ( inst.input ? inst.input.val() : "" ), inst ] ); + } + + this._lastInput = null; + if ( this._inDialog ) { + this._dialogInput.css( { position: "absolute", left: "0", top: "-100px" } ); + if ( $.blockUI ) { + $.unblockUI(); + $( "body" ).append( this.dpDiv ); + } + } + this._inDialog = false; + } + }, + + /* Tidy up after a dialog display. */ + _tidyDialog: function( inst ) { + inst.dpDiv.removeClass( this._dialogClass ).off( ".ui-datepicker-calendar" ); + }, + + /* Close date picker if clicked elsewhere. */ + _checkExternalClick: function( event ) { + if ( !$.datepicker._curInst ) { + return; + } + + var $target = $( event.target ), + inst = $.datepicker._getInst( $target[ 0 ] ); + + if ( ( ( $target[ 0 ].id !== $.datepicker._mainDivId && + $target.parents( "#" + $.datepicker._mainDivId ).length === 0 && + !$target.hasClass( $.datepicker.markerClassName ) && + !$target.closest( "." + $.datepicker._triggerClass ).length && + $.datepicker._datepickerShowing && !( $.datepicker._inDialog && $.blockUI ) ) ) || + ( $target.hasClass( $.datepicker.markerClassName ) && $.datepicker._curInst !== inst ) ) { + $.datepicker._hideDatepicker(); + } + }, + + /* Adjust one of the date sub-fields. */ + _adjustDate: function( id, offset, period ) { + var target = $( id ), + inst = this._getInst( target[ 0 ] ); + + if ( this._isDisabledDatepicker( target[ 0 ] ) ) { + return; + } + this._adjustInstDate( inst, offset + + ( period === "M" ? this._get( inst, "showCurrentAtPos" ) : 0 ), // undo positioning + period ); + this._updateDatepicker( inst ); + }, + + /* Action for current link. */ + _gotoToday: function( id ) { + var date, + target = $( id ), + inst = this._getInst( target[ 0 ] ); + + if ( this._get( inst, "gotoCurrent" ) && inst.currentDay ) { + inst.selectedDay = inst.currentDay; + inst.drawMonth = inst.selectedMonth = inst.currentMonth; + inst.drawYear = inst.selectedYear = inst.currentYear; + } else { + date = new Date(); + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + } + this._notifyChange( inst ); + this._adjustDate( target ); + }, + + /* Action for selecting a new month/year. */ + _selectMonthYear: function( id, select, period ) { + var target = $( id ), + inst = this._getInst( target[ 0 ] ); + + inst[ "selected" + ( period === "M" ? "Month" : "Year" ) ] = + inst[ "draw" + ( period === "M" ? "Month" : "Year" ) ] = + parseInt( select.options[ select.selectedIndex ].value, 10 ); + + this._notifyChange( inst ); + this._adjustDate( target ); + }, + + /* Action for selecting a day. */ + _selectDay: function( id, month, year, td ) { + var inst, + target = $( id ); + + if ( $( td ).hasClass( this._unselectableClass ) || this._isDisabledDatepicker( target[ 0 ] ) ) { + return; + } + + inst = this._getInst( target[ 0 ] ); + inst.selectedDay = inst.currentDay = $( "a", td ).html(); + inst.selectedMonth = inst.currentMonth = month; + inst.selectedYear = inst.currentYear = year; + this._selectDate( id, this._formatDate( inst, + inst.currentDay, inst.currentMonth, inst.currentYear ) ); + }, + + /* Erase the input field and hide the date picker. */ + _clearDate: function( id ) { + var target = $( id ); + this._selectDate( target, "" ); + }, + + /* Update the input field with the selected date. */ + _selectDate: function( id, dateStr ) { + var onSelect, + target = $( id ), + inst = this._getInst( target[ 0 ] ); + + dateStr = ( dateStr != null ? dateStr : this._formatDate( inst ) ); + if ( inst.input ) { + inst.input.val( dateStr ); + } + this._updateAlternate( inst ); + + onSelect = this._get( inst, "onSelect" ); + if ( onSelect ) { + onSelect.apply( ( inst.input ? inst.input[ 0 ] : null ), [ dateStr, inst ] ); // trigger custom callback + } else if ( inst.input ) { + inst.input.trigger( "change" ); // fire the change event + } + + if ( inst.inline ) { + this._updateDatepicker( inst ); + } else { + this._hideDatepicker(); + this._lastInput = inst.input[ 0 ]; + if ( typeof( inst.input[ 0 ] ) !== "object" ) { + inst.input.trigger( "focus" ); // restore focus + } + this._lastInput = null; + } + }, + + /* Update any alternate field to synchronise with the main field. */ + _updateAlternate: function( inst ) { + var altFormat, date, dateStr, + altField = this._get( inst, "altField" ); + + if ( altField ) { // update alternate field too + altFormat = this._get( inst, "altFormat" ) || this._get( inst, "dateFormat" ); + date = this._getDate( inst ); + dateStr = this.formatDate( altFormat, date, this._getFormatConfig( inst ) ); + $( altField ).val( dateStr ); + } + }, + + /* Set as beforeShowDay function to prevent selection of weekends. + * @param date Date - the date to customise + * @return [boolean, string] - is this date selectable?, what is its CSS class? + */ + noWeekends: function( date ) { + var day = date.getDay(); + return [ ( day > 0 && day < 6 ), "" ]; + }, + + /* Set as calculateWeek to determine the week of the year based on the ISO 8601 definition. + * @param date Date - the date to get the week for + * @return number - the number of the week within the year that contains this date + */ + iso8601Week: function( date ) { + var time, + checkDate = new Date( date.getTime() ); + + // Find Thursday of this week starting on Monday + checkDate.setDate( checkDate.getDate() + 4 - ( checkDate.getDay() || 7 ) ); + + time = checkDate.getTime(); + checkDate.setMonth( 0 ); // Compare with Jan 1 + checkDate.setDate( 1 ); + return Math.floor( Math.round( ( time - checkDate ) / 86400000 ) / 7 ) + 1; + }, + + /* Parse a string value into a date object. + * See formatDate below for the possible formats. + * + * @param format string - the expected format of the date + * @param value string - the date in the above format + * @param settings Object - attributes include: + * shortYearCutoff number - the cutoff year for determining the century (optional) + * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + * dayNames string[7] - names of the days from Sunday (optional) + * monthNamesShort string[12] - abbreviated names of the months (optional) + * monthNames string[12] - names of the months (optional) + * @return Date - the extracted date value or null if value is blank + */ + parseDate: function( format, value, settings ) { + if ( format == null || value == null ) { + throw "Invalid arguments"; + } + + value = ( typeof value === "object" ? value.toString() : value + "" ); + if ( value === "" ) { + return null; + } + + var iFormat, dim, extra, + iValue = 0, + shortYearCutoffTemp = ( settings ? settings.shortYearCutoff : null ) || this._defaults.shortYearCutoff, + shortYearCutoff = ( typeof shortYearCutoffTemp !== "string" ? shortYearCutoffTemp : + new Date().getFullYear() % 100 + parseInt( shortYearCutoffTemp, 10 ) ), + dayNamesShort = ( settings ? settings.dayNamesShort : null ) || this._defaults.dayNamesShort, + dayNames = ( settings ? settings.dayNames : null ) || this._defaults.dayNames, + monthNamesShort = ( settings ? settings.monthNamesShort : null ) || this._defaults.monthNamesShort, + monthNames = ( settings ? settings.monthNames : null ) || this._defaults.monthNames, + year = -1, + month = -1, + day = -1, + doy = -1, + literal = false, + date, + + // Check whether a format character is doubled + lookAhead = function( match ) { + var matches = ( iFormat + 1 < format.length && format.charAt( iFormat + 1 ) === match ); + if ( matches ) { + iFormat++; + } + return matches; + }, + + // Extract a number from the string value + getNumber = function( match ) { + var isDoubled = lookAhead( match ), + size = ( match === "@" ? 14 : ( match === "!" ? 20 : + ( match === "y" && isDoubled ? 4 : ( match === "o" ? 3 : 2 ) ) ) ), + minSize = ( match === "y" ? size : 1 ), + digits = new RegExp( "^\\d{" + minSize + "," + size + "}" ), + num = value.substring( iValue ).match( digits ); + if ( !num ) { + throw "Missing number at position " + iValue; + } + iValue += num[ 0 ].length; + return parseInt( num[ 0 ], 10 ); + }, + + // Extract a name from the string value and convert to an index + getName = function( match, shortNames, longNames ) { + var index = -1, + names = $.map( lookAhead( match ) ? longNames : shortNames, function( v, k ) { + return [ [ k, v ] ]; + } ).sort( function( a, b ) { + return -( a[ 1 ].length - b[ 1 ].length ); + } ); + + $.each( names, function( i, pair ) { + var name = pair[ 1 ]; + if ( value.substr( iValue, name.length ).toLowerCase() === name.toLowerCase() ) { + index = pair[ 0 ]; + iValue += name.length; + return false; + } + } ); + if ( index !== -1 ) { + return index + 1; + } else { + throw "Unknown name at position " + iValue; + } + }, + + // Confirm that a literal character matches the string value + checkLiteral = function() { + if ( value.charAt( iValue ) !== format.charAt( iFormat ) ) { + throw "Unexpected literal at position " + iValue; + } + iValue++; + }; + + for ( iFormat = 0; iFormat < format.length; iFormat++ ) { + if ( literal ) { + if ( format.charAt( iFormat ) === "'" && !lookAhead( "'" ) ) { + literal = false; + } else { + checkLiteral(); + } + } else { + switch ( format.charAt( iFormat ) ) { + case "d": + day = getNumber( "d" ); + break; + case "D": + getName( "D", dayNamesShort, dayNames ); + break; + case "o": + doy = getNumber( "o" ); + break; + case "m": + month = getNumber( "m" ); + break; + case "M": + month = getName( "M", monthNamesShort, monthNames ); + break; + case "y": + year = getNumber( "y" ); + break; + case "@": + date = new Date( getNumber( "@" ) ); + year = date.getFullYear(); + month = date.getMonth() + 1; + day = date.getDate(); + break; + case "!": + date = new Date( ( getNumber( "!" ) - this._ticksTo1970 ) / 10000 ); + year = date.getFullYear(); + month = date.getMonth() + 1; + day = date.getDate(); + break; + case "'": + if ( lookAhead( "'" ) ) { + checkLiteral(); + } else { + literal = true; + } + break; + default: + checkLiteral(); + } + } + } + + if ( iValue < value.length ) { + extra = value.substr( iValue ); + if ( !/^\s+/.test( extra ) ) { + throw "Extra/unparsed characters found in date: " + extra; + } + } + + if ( year === -1 ) { + year = new Date().getFullYear(); + } else if ( year < 100 ) { + year += new Date().getFullYear() - new Date().getFullYear() % 100 + + ( year <= shortYearCutoff ? 0 : -100 ); + } + + if ( doy > -1 ) { + month = 1; + day = doy; + do { + dim = this._getDaysInMonth( year, month - 1 ); + if ( day <= dim ) { + break; + } + month++; + day -= dim; + } while ( true ); + } + + date = this._daylightSavingAdjust( new Date( year, month - 1, day ) ); + if ( date.getFullYear() !== year || date.getMonth() + 1 !== month || date.getDate() !== day ) { + throw "Invalid date"; // E.g. 31/02/00 + } + return date; + }, + + /* Standard date formats. */ + ATOM: "yy-mm-dd", // RFC 3339 (ISO 8601) + COOKIE: "D, dd M yy", + ISO_8601: "yy-mm-dd", + RFC_822: "D, d M y", + RFC_850: "DD, dd-M-y", + RFC_1036: "D, d M y", + RFC_1123: "D, d M yy", + RFC_2822: "D, d M yy", + RSS: "D, d M y", // RFC 822 + TICKS: "!", + TIMESTAMP: "@", + W3C: "yy-mm-dd", // ISO 8601 + + _ticksTo1970: ( ( ( 1970 - 1 ) * 365 + Math.floor( 1970 / 4 ) - Math.floor( 1970 / 100 ) + + Math.floor( 1970 / 400 ) ) * 24 * 60 * 60 * 10000000 ), + + /* Format a date object into a string value. + * The format can be combinations of the following: + * d - day of month (no leading zero) + * dd - day of month (two digit) + * o - day of year (no leading zeros) + * oo - day of year (three digit) + * D - day name short + * DD - day name long + * m - month of year (no leading zero) + * mm - month of year (two digit) + * M - month name short + * MM - month name long + * y - year (two digit) + * yy - year (four digit) + * @ - Unix timestamp (ms since 01/01/1970) + * ! - Windows ticks (100ns since 01/01/0001) + * "..." - literal text + * '' - single quote + * + * @param format string - the desired format of the date + * @param date Date - the date value to format + * @param settings Object - attributes include: + * dayNamesShort string[7] - abbreviated names of the days from Sunday (optional) + * dayNames string[7] - names of the days from Sunday (optional) + * monthNamesShort string[12] - abbreviated names of the months (optional) + * monthNames string[12] - names of the months (optional) + * @return string - the date in the above format + */ + formatDate: function( format, date, settings ) { + if ( !date ) { + return ""; + } + + var iFormat, + dayNamesShort = ( settings ? settings.dayNamesShort : null ) || this._defaults.dayNamesShort, + dayNames = ( settings ? settings.dayNames : null ) || this._defaults.dayNames, + monthNamesShort = ( settings ? settings.monthNamesShort : null ) || this._defaults.monthNamesShort, + monthNames = ( settings ? settings.monthNames : null ) || this._defaults.monthNames, + + // Check whether a format character is doubled + lookAhead = function( match ) { + var matches = ( iFormat + 1 < format.length && format.charAt( iFormat + 1 ) === match ); + if ( matches ) { + iFormat++; + } + return matches; + }, + + // Format a number, with leading zero if necessary + formatNumber = function( match, value, len ) { + var num = "" + value; + if ( lookAhead( match ) ) { + while ( num.length < len ) { + num = "0" + num; + } + } + return num; + }, + + // Format a name, short or long as requested + formatName = function( match, value, shortNames, longNames ) { + return ( lookAhead( match ) ? longNames[ value ] : shortNames[ value ] ); + }, + output = "", + literal = false; + + if ( date ) { + for ( iFormat = 0; iFormat < format.length; iFormat++ ) { + if ( literal ) { + if ( format.charAt( iFormat ) === "'" && !lookAhead( "'" ) ) { + literal = false; + } else { + output += format.charAt( iFormat ); + } + } else { + switch ( format.charAt( iFormat ) ) { + case "d": + output += formatNumber( "d", date.getDate(), 2 ); + break; + case "D": + output += formatName( "D", date.getDay(), dayNamesShort, dayNames ); + break; + case "o": + output += formatNumber( "o", + Math.round( ( new Date( date.getFullYear(), date.getMonth(), date.getDate() ).getTime() - new Date( date.getFullYear(), 0, 0 ).getTime() ) / 86400000 ), 3 ); + break; + case "m": + output += formatNumber( "m", date.getMonth() + 1, 2 ); + break; + case "M": + output += formatName( "M", date.getMonth(), monthNamesShort, monthNames ); + break; + case "y": + output += ( lookAhead( "y" ) ? date.getFullYear() : + ( date.getFullYear() % 100 < 10 ? "0" : "" ) + date.getFullYear() % 100 ); + break; + case "@": + output += date.getTime(); + break; + case "!": + output += date.getTime() * 10000 + this._ticksTo1970; + break; + case "'": + if ( lookAhead( "'" ) ) { + output += "'"; + } else { + literal = true; + } + break; + default: + output += format.charAt( iFormat ); + } + } + } + } + return output; + }, + + /* Extract all possible characters from the date format. */ + _possibleChars: function( format ) { + var iFormat, + chars = "", + literal = false, + + // Check whether a format character is doubled + lookAhead = function( match ) { + var matches = ( iFormat + 1 < format.length && format.charAt( iFormat + 1 ) === match ); + if ( matches ) { + iFormat++; + } + return matches; + }; + + for ( iFormat = 0; iFormat < format.length; iFormat++ ) { + if ( literal ) { + if ( format.charAt( iFormat ) === "'" && !lookAhead( "'" ) ) { + literal = false; + } else { + chars += format.charAt( iFormat ); + } + } else { + switch ( format.charAt( iFormat ) ) { + case "d": case "m": case "y": case "@": + chars += "0123456789"; + break; + case "D": case "M": + return null; // Accept anything + case "'": + if ( lookAhead( "'" ) ) { + chars += "'"; + } else { + literal = true; + } + break; + default: + chars += format.charAt( iFormat ); + } + } + } + return chars; + }, + + /* Get a setting value, defaulting if necessary. */ + _get: function( inst, name ) { + return inst.settings[ name ] !== undefined ? + inst.settings[ name ] : this._defaults[ name ]; + }, + + /* Parse existing date and initialise date picker. */ + _setDateFromField: function( inst, noDefault ) { + if ( inst.input.val() === inst.lastVal ) { + return; + } + + var dateFormat = this._get( inst, "dateFormat" ), + dates = inst.lastVal = inst.input ? inst.input.val() : null, + defaultDate = this._getDefaultDate( inst ), + date = defaultDate, + settings = this._getFormatConfig( inst ); + + try { + date = this.parseDate( dateFormat, dates, settings ) || defaultDate; + } catch ( event ) { + dates = ( noDefault ? "" : dates ); + } + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + inst.currentDay = ( dates ? date.getDate() : 0 ); + inst.currentMonth = ( dates ? date.getMonth() : 0 ); + inst.currentYear = ( dates ? date.getFullYear() : 0 ); + this._adjustInstDate( inst ); + }, + + /* Retrieve the default date shown on opening. */ + _getDefaultDate: function( inst ) { + return this._restrictMinMax( inst, + this._determineDate( inst, this._get( inst, "defaultDate" ), new Date() ) ); + }, + + /* A date may be specified as an exact value or a relative one. */ + _determineDate: function( inst, date, defaultDate ) { + var offsetNumeric = function( offset ) { + var date = new Date(); + date.setDate( date.getDate() + offset ); + return date; + }, + offsetString = function( offset ) { + try { + return $.datepicker.parseDate( $.datepicker._get( inst, "dateFormat" ), + offset, $.datepicker._getFormatConfig( inst ) ); + } + catch ( e ) { + + // Ignore + } + + var date = ( offset.toLowerCase().match( /^c/ ) ? + $.datepicker._getDate( inst ) : null ) || new Date(), + year = date.getFullYear(), + month = date.getMonth(), + day = date.getDate(), + pattern = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g, + matches = pattern.exec( offset ); + + while ( matches ) { + switch ( matches[ 2 ] || "d" ) { + case "d" : case "D" : + day += parseInt( matches[ 1 ], 10 ); break; + case "w" : case "W" : + day += parseInt( matches[ 1 ], 10 ) * 7; break; + case "m" : case "M" : + month += parseInt( matches[ 1 ], 10 ); + day = Math.min( day, $.datepicker._getDaysInMonth( year, month ) ); + break; + case "y": case "Y" : + year += parseInt( matches[ 1 ], 10 ); + day = Math.min( day, $.datepicker._getDaysInMonth( year, month ) ); + break; + } + matches = pattern.exec( offset ); + } + return new Date( year, month, day ); + }, + newDate = ( date == null || date === "" ? defaultDate : ( typeof date === "string" ? offsetString( date ) : + ( typeof date === "number" ? ( isNaN( date ) ? defaultDate : offsetNumeric( date ) ) : new Date( date.getTime() ) ) ) ); + + newDate = ( newDate && newDate.toString() === "Invalid Date" ? defaultDate : newDate ); + if ( newDate ) { + newDate.setHours( 0 ); + newDate.setMinutes( 0 ); + newDate.setSeconds( 0 ); + newDate.setMilliseconds( 0 ); + } + return this._daylightSavingAdjust( newDate ); + }, + + /* Handle switch to/from daylight saving. + * Hours may be non-zero on daylight saving cut-over: + * > 12 when midnight changeover, but then cannot generate + * midnight datetime, so jump to 1AM, otherwise reset. + * @param date (Date) the date to check + * @return (Date) the corrected date + */ + _daylightSavingAdjust: function( date ) { + if ( !date ) { + return null; + } + date.setHours( date.getHours() > 12 ? date.getHours() + 2 : 0 ); + return date; + }, + + /* Set the date(s) directly. */ + _setDate: function( inst, date, noChange ) { + var clear = !date, + origMonth = inst.selectedMonth, + origYear = inst.selectedYear, + newDate = this._restrictMinMax( inst, this._determineDate( inst, date, new Date() ) ); + + inst.selectedDay = inst.currentDay = newDate.getDate(); + inst.drawMonth = inst.selectedMonth = inst.currentMonth = newDate.getMonth(); + inst.drawYear = inst.selectedYear = inst.currentYear = newDate.getFullYear(); + if ( ( origMonth !== inst.selectedMonth || origYear !== inst.selectedYear ) && !noChange ) { + this._notifyChange( inst ); + } + this._adjustInstDate( inst ); + if ( inst.input ) { + inst.input.val( clear ? "" : this._formatDate( inst ) ); + } + }, + + /* Retrieve the date(s) directly. */ + _getDate: function( inst ) { + var startDate = ( !inst.currentYear || ( inst.input && inst.input.val() === "" ) ? null : + this._daylightSavingAdjust( new Date( + inst.currentYear, inst.currentMonth, inst.currentDay ) ) ); + return startDate; + }, + + /* Attach the onxxx handlers. These are declared statically so + * they work with static code transformers like Caja. + */ + _attachHandlers: function( inst ) { + var stepMonths = this._get( inst, "stepMonths" ), + id = "#" + inst.id.replace( /\\\\/g, "\\" ); + inst.dpDiv.find( "[data-handler]" ).map( function() { + var handler = { + prev: function() { + $.datepicker._adjustDate( id, -stepMonths, "M" ); + }, + next: function() { + $.datepicker._adjustDate( id, +stepMonths, "M" ); + }, + hide: function() { + $.datepicker._hideDatepicker(); + }, + today: function() { + $.datepicker._gotoToday( id ); + }, + selectDay: function() { + $.datepicker._selectDay( id, +this.getAttribute( "data-month" ), +this.getAttribute( "data-year" ), this ); + return false; + }, + selectMonth: function() { + $.datepicker._selectMonthYear( id, this, "M" ); + return false; + }, + selectYear: function() { + $.datepicker._selectMonthYear( id, this, "Y" ); + return false; + } + }; + $( this ).on( this.getAttribute( "data-event" ), handler[ this.getAttribute( "data-handler" ) ] ); + } ); + }, + + /* Generate the HTML for the current state of the date picker. */ + _generateHTML: function( inst ) { + var maxDraw, prevText, prev, nextText, next, currentText, gotoDate, + controls, buttonPanel, firstDay, showWeek, dayNames, dayNamesMin, + monthNames, monthNamesShort, beforeShowDay, showOtherMonths, + selectOtherMonths, defaultDate, html, dow, row, group, col, selectedDate, + cornerClass, calender, thead, day, daysInMonth, leadDays, curRows, numRows, + printDate, dRow, tbody, daySettings, otherMonth, unselectable, + tempDate = new Date(), + today = this._daylightSavingAdjust( + new Date( tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate() ) ), // clear time + isRTL = this._get( inst, "isRTL" ), + showButtonPanel = this._get( inst, "showButtonPanel" ), + hideIfNoPrevNext = this._get( inst, "hideIfNoPrevNext" ), + navigationAsDateFormat = this._get( inst, "navigationAsDateFormat" ), + numMonths = this._getNumberOfMonths( inst ), + showCurrentAtPos = this._get( inst, "showCurrentAtPos" ), + stepMonths = this._get( inst, "stepMonths" ), + isMultiMonth = ( numMonths[ 0 ] !== 1 || numMonths[ 1 ] !== 1 ), + currentDate = this._daylightSavingAdjust( ( !inst.currentDay ? new Date( 9999, 9, 9 ) : + new Date( inst.currentYear, inst.currentMonth, inst.currentDay ) ) ), + minDate = this._getMinMaxDate( inst, "min" ), + maxDate = this._getMinMaxDate( inst, "max" ), + drawMonth = inst.drawMonth - showCurrentAtPos, + drawYear = inst.drawYear; + + if ( drawMonth < 0 ) { + drawMonth += 12; + drawYear--; + } + if ( maxDate ) { + maxDraw = this._daylightSavingAdjust( new Date( maxDate.getFullYear(), + maxDate.getMonth() - ( numMonths[ 0 ] * numMonths[ 1 ] ) + 1, maxDate.getDate() ) ); + maxDraw = ( minDate && maxDraw < minDate ? minDate : maxDraw ); + while ( this._daylightSavingAdjust( new Date( drawYear, drawMonth, 1 ) ) > maxDraw ) { + drawMonth--; + if ( drawMonth < 0 ) { + drawMonth = 11; + drawYear--; + } + } + } + inst.drawMonth = drawMonth; + inst.drawYear = drawYear; + + prevText = this._get( inst, "prevText" ); + prevText = ( !navigationAsDateFormat ? prevText : this.formatDate( prevText, + this._daylightSavingAdjust( new Date( drawYear, drawMonth - stepMonths, 1 ) ), + this._getFormatConfig( inst ) ) ); + + prev = ( this._canAdjustMonth( inst, -1, drawYear, drawMonth ) ? + "<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click'" + + " title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w" ) + "'>" + prevText + "</span></a>" : + ( hideIfNoPrevNext ? "" : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='" + prevText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "e" : "w" ) + "'>" + prevText + "</span></a>" ) ); + + nextText = this._get( inst, "nextText" ); + nextText = ( !navigationAsDateFormat ? nextText : this.formatDate( nextText, + this._daylightSavingAdjust( new Date( drawYear, drawMonth + stepMonths, 1 ) ), + this._getFormatConfig( inst ) ) ); + + next = ( this._canAdjustMonth( inst, +1, drawYear, drawMonth ) ? + "<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click'" + + " title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e" ) + "'>" + nextText + "</span></a>" : + ( hideIfNoPrevNext ? "" : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='" + nextText + "'><span class='ui-icon ui-icon-circle-triangle-" + ( isRTL ? "w" : "e" ) + "'>" + nextText + "</span></a>" ) ); + + currentText = this._get( inst, "currentText" ); + gotoDate = ( this._get( inst, "gotoCurrent" ) && inst.currentDay ? currentDate : today ); + currentText = ( !navigationAsDateFormat ? currentText : + this.formatDate( currentText, gotoDate, this._getFormatConfig( inst ) ) ); + + controls = ( !inst.inline ? "<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>" + + this._get( inst, "closeText" ) + "</button>" : "" ); + + buttonPanel = ( showButtonPanel ) ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" + ( isRTL ? controls : "" ) + + ( this._isInRange( inst, gotoDate ) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'" + + ">" + currentText + "</button>" : "" ) + ( isRTL ? "" : controls ) + "</div>" : ""; + + firstDay = parseInt( this._get( inst, "firstDay" ), 10 ); + firstDay = ( isNaN( firstDay ) ? 0 : firstDay ); + + showWeek = this._get( inst, "showWeek" ); + dayNames = this._get( inst, "dayNames" ); + dayNamesMin = this._get( inst, "dayNamesMin" ); + monthNames = this._get( inst, "monthNames" ); + monthNamesShort = this._get( inst, "monthNamesShort" ); + beforeShowDay = this._get( inst, "beforeShowDay" ); + showOtherMonths = this._get( inst, "showOtherMonths" ); + selectOtherMonths = this._get( inst, "selectOtherMonths" ); + defaultDate = this._getDefaultDate( inst ); + html = ""; + + for ( row = 0; row < numMonths[ 0 ]; row++ ) { + group = ""; + this.maxRows = 4; + for ( col = 0; col < numMonths[ 1 ]; col++ ) { + selectedDate = this._daylightSavingAdjust( new Date( drawYear, drawMonth, inst.selectedDay ) ); + cornerClass = " ui-corner-all"; + calender = ""; + if ( isMultiMonth ) { + calender += "<div class='ui-datepicker-group"; + if ( numMonths[ 1 ] > 1 ) { + switch ( col ) { + case 0: calender += " ui-datepicker-group-first"; + cornerClass = " ui-corner-" + ( isRTL ? "right" : "left" ); break; + case numMonths[ 1 ] - 1: calender += " ui-datepicker-group-last"; + cornerClass = " ui-corner-" + ( isRTL ? "left" : "right" ); break; + default: calender += " ui-datepicker-group-middle"; cornerClass = ""; break; + } + } + calender += "'>"; + } + calender += "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" + cornerClass + "'>" + + ( /all|left/.test( cornerClass ) && row === 0 ? ( isRTL ? next : prev ) : "" ) + + ( /all|right/.test( cornerClass ) && row === 0 ? ( isRTL ? prev : next ) : "" ) + + this._generateMonthYearHeader( inst, drawMonth, drawYear, minDate, maxDate, + row > 0 || col > 0, monthNames, monthNamesShort ) + // draw month headers + "</div><table class='ui-datepicker-calendar'><thead>" + + "<tr>"; + thead = ( showWeek ? "<th class='ui-datepicker-week-col'>" + this._get( inst, "weekHeader" ) + "</th>" : "" ); + for ( dow = 0; dow < 7; dow++ ) { // days of the week + day = ( dow + firstDay ) % 7; + thead += "<th scope='col'" + ( ( dow + firstDay + 6 ) % 7 >= 5 ? " class='ui-datepicker-week-end'" : "" ) + ">" + + "<span title='" + dayNames[ day ] + "'>" + dayNamesMin[ day ] + "</span></th>"; + } + calender += thead + "</tr></thead><tbody>"; + daysInMonth = this._getDaysInMonth( drawYear, drawMonth ); + if ( drawYear === inst.selectedYear && drawMonth === inst.selectedMonth ) { + inst.selectedDay = Math.min( inst.selectedDay, daysInMonth ); + } + leadDays = ( this._getFirstDayOfMonth( drawYear, drawMonth ) - firstDay + 7 ) % 7; + curRows = Math.ceil( ( leadDays + daysInMonth ) / 7 ); // calculate the number of rows to generate + numRows = ( isMultiMonth ? this.maxRows > curRows ? this.maxRows : curRows : curRows ); //If multiple months, use the higher number of rows (see #7043) + this.maxRows = numRows; + printDate = this._daylightSavingAdjust( new Date( drawYear, drawMonth, 1 - leadDays ) ); + for ( dRow = 0; dRow < numRows; dRow++ ) { // create date picker rows + calender += "<tr>"; + tbody = ( !showWeek ? "" : "<td class='ui-datepicker-week-col'>" + + this._get( inst, "calculateWeek" )( printDate ) + "</td>" ); + for ( dow = 0; dow < 7; dow++ ) { // create date picker days + daySettings = ( beforeShowDay ? + beforeShowDay.apply( ( inst.input ? inst.input[ 0 ] : null ), [ printDate ] ) : [ true, "" ] ); + otherMonth = ( printDate.getMonth() !== drawMonth ); + unselectable = ( otherMonth && !selectOtherMonths ) || !daySettings[ 0 ] || + ( minDate && printDate < minDate ) || ( maxDate && printDate > maxDate ); + tbody += "<td class='" + + ( ( dow + firstDay + 6 ) % 7 >= 5 ? " ui-datepicker-week-end" : "" ) + // highlight weekends + ( otherMonth ? " ui-datepicker-other-month" : "" ) + // highlight days from other months + ( ( printDate.getTime() === selectedDate.getTime() && drawMonth === inst.selectedMonth && inst._keyEvent ) || // user pressed key + ( defaultDate.getTime() === printDate.getTime() && defaultDate.getTime() === selectedDate.getTime() ) ? + + // or defaultDate is current printedDate and defaultDate is selectedDate + " " + this._dayOverClass : "" ) + // highlight selected day + ( unselectable ? " " + this._unselectableClass + " ui-state-disabled" : "" ) + // highlight unselectable days + ( otherMonth && !showOtherMonths ? "" : " " + daySettings[ 1 ] + // highlight custom dates + ( printDate.getTime() === currentDate.getTime() ? " " + this._currentClass : "" ) + // highlight selected day + ( printDate.getTime() === today.getTime() ? " ui-datepicker-today" : "" ) ) + "'" + // highlight today (if different) + ( ( !otherMonth || showOtherMonths ) && daySettings[ 2 ] ? " title='" + daySettings[ 2 ].replace( /'/g, "&#39;" ) + "'" : "" ) + // cell title + ( unselectable ? "" : " data-handler='selectDay' data-event='click' data-month='" + printDate.getMonth() + "' data-year='" + printDate.getFullYear() + "'" ) + ">" + // actions + ( otherMonth && !showOtherMonths ? "&#xa0;" : // display for other months + ( unselectable ? "<span class='ui-state-default'>" + printDate.getDate() + "</span>" : "<a class='ui-state-default" + + ( printDate.getTime() === today.getTime() ? " ui-state-highlight" : "" ) + + ( printDate.getTime() === currentDate.getTime() ? " ui-state-active" : "" ) + // highlight selected day + ( otherMonth ? " ui-priority-secondary" : "" ) + // distinguish dates from other months + "' href='#'>" + printDate.getDate() + "</a>" ) ) + "</td>"; // display selectable date + printDate.setDate( printDate.getDate() + 1 ); + printDate = this._daylightSavingAdjust( printDate ); + } + calender += tbody + "</tr>"; + } + drawMonth++; + if ( drawMonth > 11 ) { + drawMonth = 0; + drawYear++; + } + calender += "</tbody></table>" + ( isMultiMonth ? "</div>" + + ( ( numMonths[ 0 ] > 0 && col === numMonths[ 1 ] - 1 ) ? "<div class='ui-datepicker-row-break'></div>" : "" ) : "" ); + group += calender; + } + html += group; + } + html += buttonPanel; + inst._keyEvent = false; + return html; + }, + + /* Generate the month and year header. */ + _generateMonthYearHeader: function( inst, drawMonth, drawYear, minDate, maxDate, + secondary, monthNames, monthNamesShort ) { + + var inMinYear, inMaxYear, month, years, thisYear, determineYear, year, endYear, + changeMonth = this._get( inst, "changeMonth" ), + changeYear = this._get( inst, "changeYear" ), + showMonthAfterYear = this._get( inst, "showMonthAfterYear" ), + html = "<div class='ui-datepicker-title'>", + monthHtml = ""; + + // Month selection + if ( secondary || !changeMonth ) { + monthHtml += "<span class='ui-datepicker-month'>" + monthNames[ drawMonth ] + "</span>"; + } else { + inMinYear = ( minDate && minDate.getFullYear() === drawYear ); + inMaxYear = ( maxDate && maxDate.getFullYear() === drawYear ); + monthHtml += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>"; + for ( month = 0; month < 12; month++ ) { + if ( ( !inMinYear || month >= minDate.getMonth() ) && ( !inMaxYear || month <= maxDate.getMonth() ) ) { + monthHtml += "<option value='" + month + "'" + + ( month === drawMonth ? " selected='selected'" : "" ) + + ">" + monthNamesShort[ month ] + "</option>"; + } + } + monthHtml += "</select>"; + } + + if ( !showMonthAfterYear ) { + html += monthHtml + ( secondary || !( changeMonth && changeYear ) ? "&#xa0;" : "" ); + } + + // Year selection + if ( !inst.yearshtml ) { + inst.yearshtml = ""; + if ( secondary || !changeYear ) { + html += "<span class='ui-datepicker-year'>" + drawYear + "</span>"; + } else { + + // determine range of years to display + years = this._get( inst, "yearRange" ).split( ":" ); + thisYear = new Date().getFullYear(); + determineYear = function( value ) { + var year = ( value.match( /c[+\-].*/ ) ? drawYear + parseInt( value.substring( 1 ), 10 ) : + ( value.match( /[+\-].*/ ) ? thisYear + parseInt( value, 10 ) : + parseInt( value, 10 ) ) ); + return ( isNaN( year ) ? thisYear : year ); + }; + year = determineYear( years[ 0 ] ); + endYear = Math.max( year, determineYear( years[ 1 ] || "" ) ); + year = ( minDate ? Math.max( year, minDate.getFullYear() ) : year ); + endYear = ( maxDate ? Math.min( endYear, maxDate.getFullYear() ) : endYear ); + inst.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>"; + for ( ; year <= endYear; year++ ) { + inst.yearshtml += "<option value='" + year + "'" + + ( year === drawYear ? " selected='selected'" : "" ) + + ">" + year + "</option>"; + } + inst.yearshtml += "</select>"; + + html += inst.yearshtml; + inst.yearshtml = null; + } + } + + html += this._get( inst, "yearSuffix" ); + if ( showMonthAfterYear ) { + html += ( secondary || !( changeMonth && changeYear ) ? "&#xa0;" : "" ) + monthHtml; + } + html += "</div>"; // Close datepicker_header + return html; + }, + + /* Adjust one of the date sub-fields. */ + _adjustInstDate: function( inst, offset, period ) { + var year = inst.selectedYear + ( period === "Y" ? offset : 0 ), + month = inst.selectedMonth + ( period === "M" ? offset : 0 ), + day = Math.min( inst.selectedDay, this._getDaysInMonth( year, month ) ) + ( period === "D" ? offset : 0 ), + date = this._restrictMinMax( inst, this._daylightSavingAdjust( new Date( year, month, day ) ) ); + + inst.selectedDay = date.getDate(); + inst.drawMonth = inst.selectedMonth = date.getMonth(); + inst.drawYear = inst.selectedYear = date.getFullYear(); + if ( period === "M" || period === "Y" ) { + this._notifyChange( inst ); + } + }, + + /* Ensure a date is within any min/max bounds. */ + _restrictMinMax: function( inst, date ) { + var minDate = this._getMinMaxDate( inst, "min" ), + maxDate = this._getMinMaxDate( inst, "max" ), + newDate = ( minDate && date < minDate ? minDate : date ); + return ( maxDate && newDate > maxDate ? maxDate : newDate ); + }, + + /* Notify change of month/year. */ + _notifyChange: function( inst ) { + var onChange = this._get( inst, "onChangeMonthYear" ); + if ( onChange ) { + onChange.apply( ( inst.input ? inst.input[ 0 ] : null ), + [ inst.selectedYear, inst.selectedMonth + 1, inst ] ); + } + }, + + /* Determine the number of months to show. */ + _getNumberOfMonths: function( inst ) { + var numMonths = this._get( inst, "numberOfMonths" ); + return ( numMonths == null ? [ 1, 1 ] : ( typeof numMonths === "number" ? [ 1, numMonths ] : numMonths ) ); + }, + + /* Determine the current maximum date - ensure no time components are set. */ + _getMinMaxDate: function( inst, minMax ) { + return this._determineDate( inst, this._get( inst, minMax + "Date" ), null ); + }, + + /* Find the number of days in a given month. */ + _getDaysInMonth: function( year, month ) { + return 32 - this._daylightSavingAdjust( new Date( year, month, 32 ) ).getDate(); + }, + + /* Find the day of the week of the first of a month. */ + _getFirstDayOfMonth: function( year, month ) { + return new Date( year, month, 1 ).getDay(); + }, + + /* Determines if we should allow a "next/prev" month display change. */ + _canAdjustMonth: function( inst, offset, curYear, curMonth ) { + var numMonths = this._getNumberOfMonths( inst ), + date = this._daylightSavingAdjust( new Date( curYear, + curMonth + ( offset < 0 ? offset : numMonths[ 0 ] * numMonths[ 1 ] ), 1 ) ); + + if ( offset < 0 ) { + date.setDate( this._getDaysInMonth( date.getFullYear(), date.getMonth() ) ); + } + return this._isInRange( inst, date ); + }, + + /* Is the given date in the accepted range? */ + _isInRange: function( inst, date ) { + var yearSplit, currentYear, + minDate = this._getMinMaxDate( inst, "min" ), + maxDate = this._getMinMaxDate( inst, "max" ), + minYear = null, + maxYear = null, + years = this._get( inst, "yearRange" ); + if ( years ) { + yearSplit = years.split( ":" ); + currentYear = new Date().getFullYear(); + minYear = parseInt( yearSplit[ 0 ], 10 ); + maxYear = parseInt( yearSplit[ 1 ], 10 ); + if ( yearSplit[ 0 ].match( /[+\-].*/ ) ) { + minYear += currentYear; + } + if ( yearSplit[ 1 ].match( /[+\-].*/ ) ) { + maxYear += currentYear; + } + } + + return ( ( !minDate || date.getTime() >= minDate.getTime() ) && + ( !maxDate || date.getTime() <= maxDate.getTime() ) && + ( !minYear || date.getFullYear() >= minYear ) && + ( !maxYear || date.getFullYear() <= maxYear ) ); + }, + + /* Provide the configuration settings for formatting/parsing. */ + _getFormatConfig: function( inst ) { + var shortYearCutoff = this._get( inst, "shortYearCutoff" ); + shortYearCutoff = ( typeof shortYearCutoff !== "string" ? shortYearCutoff : + new Date().getFullYear() % 100 + parseInt( shortYearCutoff, 10 ) ); + return { shortYearCutoff: shortYearCutoff, + dayNamesShort: this._get( inst, "dayNamesShort" ), dayNames: this._get( inst, "dayNames" ), + monthNamesShort: this._get( inst, "monthNamesShort" ), monthNames: this._get( inst, "monthNames" ) }; + }, + + /* Format the given date for display. */ + _formatDate: function( inst, day, month, year ) { + if ( !day ) { + inst.currentDay = inst.selectedDay; + inst.currentMonth = inst.selectedMonth; + inst.currentYear = inst.selectedYear; + } + var date = ( day ? ( typeof day === "object" ? day : + this._daylightSavingAdjust( new Date( year, month, day ) ) ) : + this._daylightSavingAdjust( new Date( inst.currentYear, inst.currentMonth, inst.currentDay ) ) ); + return this.formatDate( this._get( inst, "dateFormat" ), date, this._getFormatConfig( inst ) ); + } +} ); + +/* + * Bind hover events for datepicker elements. + * Done via delegate so the binding only occurs once in the lifetime of the parent div. + * Global datepicker_instActive, set by _updateDatepicker allows the handlers to find their way back to the active picker. + */ +function datepicker_bindHover( dpDiv ) { + var selector = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a"; + return dpDiv.on( "mouseout", selector, function() { + $( this ).removeClass( "ui-state-hover" ); + if ( this.className.indexOf( "ui-datepicker-prev" ) !== -1 ) { + $( this ).removeClass( "ui-datepicker-prev-hover" ); + } + if ( this.className.indexOf( "ui-datepicker-next" ) !== -1 ) { + $( this ).removeClass( "ui-datepicker-next-hover" ); + } + } ) + .on( "mouseover", selector, datepicker_handleMouseover ); +} + +function datepicker_handleMouseover() { + if ( !$.datepicker._isDisabledDatepicker( datepicker_instActive.inline ? datepicker_instActive.dpDiv.parent()[ 0 ] : datepicker_instActive.input[ 0 ] ) ) { + $( this ).parents( ".ui-datepicker-calendar" ).find( "a" ).removeClass( "ui-state-hover" ); + $( this ).addClass( "ui-state-hover" ); + if ( this.className.indexOf( "ui-datepicker-prev" ) !== -1 ) { + $( this ).addClass( "ui-datepicker-prev-hover" ); + } + if ( this.className.indexOf( "ui-datepicker-next" ) !== -1 ) { + $( this ).addClass( "ui-datepicker-next-hover" ); + } + } +} + +/* jQuery extend now ignores nulls! */ +function datepicker_extendRemove( target, props ) { + $.extend( target, props ); + for ( var name in props ) { + if ( props[ name ] == null ) { + target[ name ] = props[ name ]; + } + } + return target; +} + +/* Invoke the datepicker functionality. + @param options string - a command, optionally followed by additional parameters or + Object - settings for attaching new datepicker functionality + @return jQuery object */ +$.fn.datepicker = function( options ) { + + /* Verify an empty collection wasn't passed - Fixes #6976 */ + if ( !this.length ) { + return this; + } + + /* Initialise the date picker. */ + if ( !$.datepicker.initialized ) { + $( document ).on( "mousedown", $.datepicker._checkExternalClick ); + $.datepicker.initialized = true; + } + + /* Append datepicker main container to body if not exist. */ + if ( $( "#" + $.datepicker._mainDivId ).length === 0 ) { + $( "body" ).append( $.datepicker.dpDiv ); + } + + var otherArgs = Array.prototype.slice.call( arguments, 1 ); + if ( typeof options === "string" && ( options === "isDisabled" || options === "getDate" || options === "widget" ) ) { + return $.datepicker[ "_" + options + "Datepicker" ]. + apply( $.datepicker, [ this[ 0 ] ].concat( otherArgs ) ); + } + if ( options === "option" && arguments.length === 2 && typeof arguments[ 1 ] === "string" ) { + return $.datepicker[ "_" + options + "Datepicker" ]. + apply( $.datepicker, [ this[ 0 ] ].concat( otherArgs ) ); + } + return this.each( function() { + typeof options === "string" ? + $.datepicker[ "_" + options + "Datepicker" ]. + apply( $.datepicker, [ this ].concat( otherArgs ) ) : + $.datepicker._attachDatepicker( this, options ); + } ); +}; + +$.datepicker = new Datepicker(); // singleton instance +$.datepicker.initialized = false; +$.datepicker.uuid = new Date().getTime(); +$.datepicker.version = "1.12.1"; + +var widgetsDatepicker = $.datepicker; + + +/*! + * jQuery UI Dialog 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Dialog +//>>group: Widgets +//>>description: Displays customizable dialog windows. +//>>docs: http://api.jqueryui.com/dialog/ +//>>demos: http://jqueryui.com/dialog/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/dialog.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.dialog", { + version: "1.12.1", + options: { + appendTo: "body", + autoOpen: true, + buttons: [], + classes: { + "ui-dialog": "ui-corner-all", + "ui-dialog-titlebar": "ui-corner-all" + }, + closeOnEscape: true, + closeText: "Close", + draggable: true, + hide: null, + height: "auto", + maxHeight: null, + maxWidth: null, + minHeight: 150, + minWidth: 150, + modal: false, + position: { + my: "center", + at: "center", + of: window, + collision: "fit", + + // Ensure the titlebar is always visible + using: function( pos ) { + var topOffset = $( this ).css( pos ).offset().top; + if ( topOffset < 0 ) { + $( this ).css( "top", pos.top - topOffset ); + } + } + }, + resizable: true, + show: null, + title: null, + width: 300, + + // Callbacks + beforeClose: null, + close: null, + drag: null, + dragStart: null, + dragStop: null, + focus: null, + open: null, + resize: null, + resizeStart: null, + resizeStop: null + }, + + sizeRelatedOptions: { + buttons: true, + height: true, + maxHeight: true, + maxWidth: true, + minHeight: true, + minWidth: true, + width: true + }, + + resizableRelatedOptions: { + maxHeight: true, + maxWidth: true, + minHeight: true, + minWidth: true + }, + + _create: function() { + this.originalCss = { + display: this.element[ 0 ].style.display, + width: this.element[ 0 ].style.width, + minHeight: this.element[ 0 ].style.minHeight, + maxHeight: this.element[ 0 ].style.maxHeight, + height: this.element[ 0 ].style.height + }; + this.originalPosition = { + parent: this.element.parent(), + index: this.element.parent().children().index( this.element ) + }; + this.originalTitle = this.element.attr( "title" ); + if ( this.options.title == null && this.originalTitle != null ) { + this.options.title = this.originalTitle; + } + + // Dialogs can't be disabled + if ( this.options.disabled ) { + this.options.disabled = false; + } + + this._createWrapper(); + + this.element + .show() + .removeAttr( "title" ) + .appendTo( this.uiDialog ); + + this._addClass( "ui-dialog-content", "ui-widget-content" ); + + this._createTitlebar(); + this._createButtonPane(); + + if ( this.options.draggable && $.fn.draggable ) { + this._makeDraggable(); + } + if ( this.options.resizable && $.fn.resizable ) { + this._makeResizable(); + } + + this._isOpen = false; + + this._trackFocus(); + }, + + _init: function() { + if ( this.options.autoOpen ) { + this.open(); + } + }, + + _appendTo: function() { + var element = this.options.appendTo; + if ( element && ( element.jquery || element.nodeType ) ) { + return $( element ); + } + return this.document.find( element || "body" ).eq( 0 ); + }, + + _destroy: function() { + var next, + originalPosition = this.originalPosition; + + this._untrackInstance(); + this._destroyOverlay(); + + this.element + .removeUniqueId() + .css( this.originalCss ) + + // Without detaching first, the following becomes really slow + .detach(); + + this.uiDialog.remove(); + + if ( this.originalTitle ) { + this.element.attr( "title", this.originalTitle ); + } + + next = originalPosition.parent.children().eq( originalPosition.index ); + + // Don't try to place the dialog next to itself (#8613) + if ( next.length && next[ 0 ] !== this.element[ 0 ] ) { + next.before( this.element ); + } else { + originalPosition.parent.append( this.element ); + } + }, + + widget: function() { + return this.uiDialog; + }, + + disable: $.noop, + enable: $.noop, + + close: function( event ) { + var that = this; + + if ( !this._isOpen || this._trigger( "beforeClose", event ) === false ) { + return; + } + + this._isOpen = false; + this._focusedElement = null; + this._destroyOverlay(); + this._untrackInstance(); + + if ( !this.opener.filter( ":focusable" ).trigger( "focus" ).length ) { + + // Hiding a focused element doesn't trigger blur in WebKit + // so in case we have nothing to focus on, explicitly blur the active element + // https://bugs.webkit.org/show_bug.cgi?id=47182 + $.ui.safeBlur( $.ui.safeActiveElement( this.document[ 0 ] ) ); + } + + this._hide( this.uiDialog, this.options.hide, function() { + that._trigger( "close", event ); + } ); + }, + + isOpen: function() { + return this._isOpen; + }, + + moveToTop: function() { + this._moveToTop(); + }, + + _moveToTop: function( event, silent ) { + var moved = false, + zIndices = this.uiDialog.siblings( ".ui-front:visible" ).map( function() { + return +$( this ).css( "z-index" ); + } ).get(), + zIndexMax = Math.max.apply( null, zIndices ); + + if ( zIndexMax >= +this.uiDialog.css( "z-index" ) ) { + this.uiDialog.css( "z-index", zIndexMax + 1 ); + moved = true; + } + + if ( moved && !silent ) { + this._trigger( "focus", event ); + } + return moved; + }, + + open: function() { + var that = this; + if ( this._isOpen ) { + if ( this._moveToTop() ) { + this._focusTabbable(); + } + return; + } + + this._isOpen = true; + this.opener = $( $.ui.safeActiveElement( this.document[ 0 ] ) ); + + this._size(); + this._position(); + this._createOverlay(); + this._moveToTop( null, true ); + + // Ensure the overlay is moved to the top with the dialog, but only when + // opening. The overlay shouldn't move after the dialog is open so that + // modeless dialogs opened after the modal dialog stack properly. + if ( this.overlay ) { + this.overlay.css( "z-index", this.uiDialog.css( "z-index" ) - 1 ); + } + + this._show( this.uiDialog, this.options.show, function() { + that._focusTabbable(); + that._trigger( "focus" ); + } ); + + // Track the dialog immediately upon openening in case a focus event + // somehow occurs outside of the dialog before an element inside the + // dialog is focused (#10152) + this._makeFocusTarget(); + + this._trigger( "open" ); + }, + + _focusTabbable: function() { + + // Set focus to the first match: + // 1. An element that was focused previously + // 2. First element inside the dialog matching [autofocus] + // 3. Tabbable element inside the content element + // 4. Tabbable element inside the buttonpane + // 5. The close button + // 6. The dialog itself + var hasFocus = this._focusedElement; + if ( !hasFocus ) { + hasFocus = this.element.find( "[autofocus]" ); + } + if ( !hasFocus.length ) { + hasFocus = this.element.find( ":tabbable" ); + } + if ( !hasFocus.length ) { + hasFocus = this.uiDialogButtonPane.find( ":tabbable" ); + } + if ( !hasFocus.length ) { + hasFocus = this.uiDialogTitlebarClose.filter( ":tabbable" ); + } + if ( !hasFocus.length ) { + hasFocus = this.uiDialog; + } + hasFocus.eq( 0 ).trigger( "focus" ); + }, + + _keepFocus: function( event ) { + function checkFocus() { + var activeElement = $.ui.safeActiveElement( this.document[ 0 ] ), + isActive = this.uiDialog[ 0 ] === activeElement || + $.contains( this.uiDialog[ 0 ], activeElement ); + if ( !isActive ) { + this._focusTabbable(); + } + } + event.preventDefault(); + checkFocus.call( this ); + + // support: IE + // IE <= 8 doesn't prevent moving focus even with event.preventDefault() + // so we check again later + this._delay( checkFocus ); + }, + + _createWrapper: function() { + this.uiDialog = $( "<div>" ) + .hide() + .attr( { + + // Setting tabIndex makes the div focusable + tabIndex: -1, + role: "dialog" + } ) + .appendTo( this._appendTo() ); + + this._addClass( this.uiDialog, "ui-dialog", "ui-widget ui-widget-content ui-front" ); + this._on( this.uiDialog, { + keydown: function( event ) { + if ( this.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode && + event.keyCode === $.ui.keyCode.ESCAPE ) { + event.preventDefault(); + this.close( event ); + return; + } + + // Prevent tabbing out of dialogs + if ( event.keyCode !== $.ui.keyCode.TAB || event.isDefaultPrevented() ) { + return; + } + var tabbables = this.uiDialog.find( ":tabbable" ), + first = tabbables.filter( ":first" ), + last = tabbables.filter( ":last" ); + + if ( ( event.target === last[ 0 ] || event.target === this.uiDialog[ 0 ] ) && + !event.shiftKey ) { + this._delay( function() { + first.trigger( "focus" ); + } ); + event.preventDefault(); + } else if ( ( event.target === first[ 0 ] || + event.target === this.uiDialog[ 0 ] ) && event.shiftKey ) { + this._delay( function() { + last.trigger( "focus" ); + } ); + event.preventDefault(); + } + }, + mousedown: function( event ) { + if ( this._moveToTop( event ) ) { + this._focusTabbable(); + } + } + } ); + + // We assume that any existing aria-describedby attribute means + // that the dialog content is marked up properly + // otherwise we brute force the content as the description + if ( !this.element.find( "[aria-describedby]" ).length ) { + this.uiDialog.attr( { + "aria-describedby": this.element.uniqueId().attr( "id" ) + } ); + } + }, + + _createTitlebar: function() { + var uiDialogTitle; + + this.uiDialogTitlebar = $( "<div>" ); + this._addClass( this.uiDialogTitlebar, + "ui-dialog-titlebar", "ui-widget-header ui-helper-clearfix" ); + this._on( this.uiDialogTitlebar, { + mousedown: function( event ) { + + // Don't prevent click on close button (#8838) + // Focusing a dialog that is partially scrolled out of view + // causes the browser to scroll it into view, preventing the click event + if ( !$( event.target ).closest( ".ui-dialog-titlebar-close" ) ) { + + // Dialog isn't getting focus when dragging (#8063) + this.uiDialog.trigger( "focus" ); + } + } + } ); + + // Support: IE + // Use type="button" to prevent enter keypresses in textboxes from closing the + // dialog in IE (#9312) + this.uiDialogTitlebarClose = $( "<button type='button'></button>" ) + .button( { + label: $( "<a>" ).text( this.options.closeText ).html(), + icon: "ui-icon-closethick", + showLabel: false + } ) + .appendTo( this.uiDialogTitlebar ); + + this._addClass( this.uiDialogTitlebarClose, "ui-dialog-titlebar-close" ); + this._on( this.uiDialogTitlebarClose, { + click: function( event ) { + event.preventDefault(); + this.close( event ); + } + } ); + + uiDialogTitle = $( "<span>" ).uniqueId().prependTo( this.uiDialogTitlebar ); + this._addClass( uiDialogTitle, "ui-dialog-title" ); + this._title( uiDialogTitle ); + + this.uiDialogTitlebar.prependTo( this.uiDialog ); + + this.uiDialog.attr( { + "aria-labelledby": uiDialogTitle.attr( "id" ) + } ); + }, + + _title: function( title ) { + if ( this.options.title ) { + title.text( this.options.title ); + } else { + title.html( "&#160;" ); + } + }, + + _createButtonPane: function() { + this.uiDialogButtonPane = $( "<div>" ); + this._addClass( this.uiDialogButtonPane, "ui-dialog-buttonpane", + "ui-widget-content ui-helper-clearfix" ); + + this.uiButtonSet = $( "<div>" ) + .appendTo( this.uiDialogButtonPane ); + this._addClass( this.uiButtonSet, "ui-dialog-buttonset" ); + + this._createButtons(); + }, + + _createButtons: function() { + var that = this, + buttons = this.options.buttons; + + // If we already have a button pane, remove it + this.uiDialogButtonPane.remove(); + this.uiButtonSet.empty(); + + if ( $.isEmptyObject( buttons ) || ( $.isArray( buttons ) && !buttons.length ) ) { + this._removeClass( this.uiDialog, "ui-dialog-buttons" ); + return; + } + + $.each( buttons, function( name, props ) { + var click, buttonOptions; + props = $.isFunction( props ) ? + { click: props, text: name } : + props; + + // Default to a non-submitting button + props = $.extend( { type: "button" }, props ); + + // Change the context for the click callback to be the main element + click = props.click; + buttonOptions = { + icon: props.icon, + iconPosition: props.iconPosition, + showLabel: props.showLabel, + + // Deprecated options + icons: props.icons, + text: props.text + }; + + delete props.click; + delete props.icon; + delete props.iconPosition; + delete props.showLabel; + + // Deprecated options + delete props.icons; + if ( typeof props.text === "boolean" ) { + delete props.text; + } + + $( "<button></button>", props ) + .button( buttonOptions ) + .appendTo( that.uiButtonSet ) + .on( "click", function() { + click.apply( that.element[ 0 ], arguments ); + } ); + } ); + this._addClass( this.uiDialog, "ui-dialog-buttons" ); + this.uiDialogButtonPane.appendTo( this.uiDialog ); + }, + + _makeDraggable: function() { + var that = this, + options = this.options; + + function filteredUi( ui ) { + return { + position: ui.position, + offset: ui.offset + }; + } + + this.uiDialog.draggable( { + cancel: ".ui-dialog-content, .ui-dialog-titlebar-close", + handle: ".ui-dialog-titlebar", + containment: "document", + start: function( event, ui ) { + that._addClass( $( this ), "ui-dialog-dragging" ); + that._blockFrames(); + that._trigger( "dragStart", event, filteredUi( ui ) ); + }, + drag: function( event, ui ) { + that._trigger( "drag", event, filteredUi( ui ) ); + }, + stop: function( event, ui ) { + var left = ui.offset.left - that.document.scrollLeft(), + top = ui.offset.top - that.document.scrollTop(); + + options.position = { + my: "left top", + at: "left" + ( left >= 0 ? "+" : "" ) + left + " " + + "top" + ( top >= 0 ? "+" : "" ) + top, + of: that.window + }; + that._removeClass( $( this ), "ui-dialog-dragging" ); + that._unblockFrames(); + that._trigger( "dragStop", event, filteredUi( ui ) ); + } + } ); + }, + + _makeResizable: function() { + var that = this, + options = this.options, + handles = options.resizable, + + // .ui-resizable has position: relative defined in the stylesheet + // but dialogs have to use absolute or fixed positioning + position = this.uiDialog.css( "position" ), + resizeHandles = typeof handles === "string" ? + handles : + "n,e,s,w,se,sw,ne,nw"; + + function filteredUi( ui ) { + return { + originalPosition: ui.originalPosition, + originalSize: ui.originalSize, + position: ui.position, + size: ui.size + }; + } + + this.uiDialog.resizable( { + cancel: ".ui-dialog-content", + containment: "document", + alsoResize: this.element, + maxWidth: options.maxWidth, + maxHeight: options.maxHeight, + minWidth: options.minWidth, + minHeight: this._minHeight(), + handles: resizeHandles, + start: function( event, ui ) { + that._addClass( $( this ), "ui-dialog-resizing" ); + that._blockFrames(); + that._trigger( "resizeStart", event, filteredUi( ui ) ); + }, + resize: function( event, ui ) { + that._trigger( "resize", event, filteredUi( ui ) ); + }, + stop: function( event, ui ) { + var offset = that.uiDialog.offset(), + left = offset.left - that.document.scrollLeft(), + top = offset.top - that.document.scrollTop(); + + options.height = that.uiDialog.height(); + options.width = that.uiDialog.width(); + options.position = { + my: "left top", + at: "left" + ( left >= 0 ? "+" : "" ) + left + " " + + "top" + ( top >= 0 ? "+" : "" ) + top, + of: that.window + }; + that._removeClass( $( this ), "ui-dialog-resizing" ); + that._unblockFrames(); + that._trigger( "resizeStop", event, filteredUi( ui ) ); + } + } ) + .css( "position", position ); + }, + + _trackFocus: function() { + this._on( this.widget(), { + focusin: function( event ) { + this._makeFocusTarget(); + this._focusedElement = $( event.target ); + } + } ); + }, + + _makeFocusTarget: function() { + this._untrackInstance(); + this._trackingInstances().unshift( this ); + }, + + _untrackInstance: function() { + var instances = this._trackingInstances(), + exists = $.inArray( this, instances ); + if ( exists !== -1 ) { + instances.splice( exists, 1 ); + } + }, + + _trackingInstances: function() { + var instances = this.document.data( "ui-dialog-instances" ); + if ( !instances ) { + instances = []; + this.document.data( "ui-dialog-instances", instances ); + } + return instances; + }, + + _minHeight: function() { + var options = this.options; + + return options.height === "auto" ? + options.minHeight : + Math.min( options.minHeight, options.height ); + }, + + _position: function() { + + // Need to show the dialog to get the actual offset in the position plugin + var isVisible = this.uiDialog.is( ":visible" ); + if ( !isVisible ) { + this.uiDialog.show(); + } + this.uiDialog.position( this.options.position ); + if ( !isVisible ) { + this.uiDialog.hide(); + } + }, + + _setOptions: function( options ) { + var that = this, + resize = false, + resizableOptions = {}; + + $.each( options, function( key, value ) { + that._setOption( key, value ); + + if ( key in that.sizeRelatedOptions ) { + resize = true; + } + if ( key in that.resizableRelatedOptions ) { + resizableOptions[ key ] = value; + } + } ); + + if ( resize ) { + this._size(); + this._position(); + } + if ( this.uiDialog.is( ":data(ui-resizable)" ) ) { + this.uiDialog.resizable( "option", resizableOptions ); + } + }, + + _setOption: function( key, value ) { + var isDraggable, isResizable, + uiDialog = this.uiDialog; + + if ( key === "disabled" ) { + return; + } + + this._super( key, value ); + + if ( key === "appendTo" ) { + this.uiDialog.appendTo( this._appendTo() ); + } + + if ( key === "buttons" ) { + this._createButtons(); + } + + if ( key === "closeText" ) { + this.uiDialogTitlebarClose.button( { + + // Ensure that we always pass a string + label: $( "<a>" ).text( "" + this.options.closeText ).html() + } ); + } + + if ( key === "draggable" ) { + isDraggable = uiDialog.is( ":data(ui-draggable)" ); + if ( isDraggable && !value ) { + uiDialog.draggable( "destroy" ); + } + + if ( !isDraggable && value ) { + this._makeDraggable(); + } + } + + if ( key === "position" ) { + this._position(); + } + + if ( key === "resizable" ) { + + // currently resizable, becoming non-resizable + isResizable = uiDialog.is( ":data(ui-resizable)" ); + if ( isResizable && !value ) { + uiDialog.resizable( "destroy" ); + } + + // Currently resizable, changing handles + if ( isResizable && typeof value === "string" ) { + uiDialog.resizable( "option", "handles", value ); + } + + // Currently non-resizable, becoming resizable + if ( !isResizable && value !== false ) { + this._makeResizable(); + } + } + + if ( key === "title" ) { + this._title( this.uiDialogTitlebar.find( ".ui-dialog-title" ) ); + } + }, + + _size: function() { + + // If the user has resized the dialog, the .ui-dialog and .ui-dialog-content + // divs will both have width and height set, so we need to reset them + var nonContentHeight, minContentHeight, maxContentHeight, + options = this.options; + + // Reset content sizing + this.element.show().css( { + width: "auto", + minHeight: 0, + maxHeight: "none", + height: 0 + } ); + + if ( options.minWidth > options.width ) { + options.width = options.minWidth; + } + + // Reset wrapper sizing + // determine the height of all the non-content elements + nonContentHeight = this.uiDialog.css( { + height: "auto", + width: options.width + } ) + .outerHeight(); + minContentHeight = Math.max( 0, options.minHeight - nonContentHeight ); + maxContentHeight = typeof options.maxHeight === "number" ? + Math.max( 0, options.maxHeight - nonContentHeight ) : + "none"; + + if ( options.height === "auto" ) { + this.element.css( { + minHeight: minContentHeight, + maxHeight: maxContentHeight, + height: "auto" + } ); + } else { + this.element.height( Math.max( 0, options.height - nonContentHeight ) ); + } + + if ( this.uiDialog.is( ":data(ui-resizable)" ) ) { + this.uiDialog.resizable( "option", "minHeight", this._minHeight() ); + } + }, + + _blockFrames: function() { + this.iframeBlocks = this.document.find( "iframe" ).map( function() { + var iframe = $( this ); + + return $( "<div>" ) + .css( { + position: "absolute", + width: iframe.outerWidth(), + height: iframe.outerHeight() + } ) + .appendTo( iframe.parent() ) + .offset( iframe.offset() )[ 0 ]; + } ); + }, + + _unblockFrames: function() { + if ( this.iframeBlocks ) { + this.iframeBlocks.remove(); + delete this.iframeBlocks; + } + }, + + _allowInteraction: function( event ) { + if ( $( event.target ).closest( ".ui-dialog" ).length ) { + return true; + } + + // TODO: Remove hack when datepicker implements + // the .ui-front logic (#8989) + return !!$( event.target ).closest( ".ui-datepicker" ).length; + }, + + _createOverlay: function() { + if ( !this.options.modal ) { + return; + } + + // We use a delay in case the overlay is created from an + // event that we're going to be cancelling (#2804) + var isOpening = true; + this._delay( function() { + isOpening = false; + } ); + + if ( !this.document.data( "ui-dialog-overlays" ) ) { + + // Prevent use of anchors and inputs + // Using _on() for an event handler shared across many instances is + // safe because the dialogs stack and must be closed in reverse order + this._on( this.document, { + focusin: function( event ) { + if ( isOpening ) { + return; + } + + if ( !this._allowInteraction( event ) ) { + event.preventDefault(); + this._trackingInstances()[ 0 ]._focusTabbable(); + } + } + } ); + } + + this.overlay = $( "<div>" ) + .appendTo( this._appendTo() ); + + this._addClass( this.overlay, null, "ui-widget-overlay ui-front" ); + this._on( this.overlay, { + mousedown: "_keepFocus" + } ); + this.document.data( "ui-dialog-overlays", + ( this.document.data( "ui-dialog-overlays" ) || 0 ) + 1 ); + }, + + _destroyOverlay: function() { + if ( !this.options.modal ) { + return; + } + + if ( this.overlay ) { + var overlays = this.document.data( "ui-dialog-overlays" ) - 1; + + if ( !overlays ) { + this._off( this.document, "focusin" ); + this.document.removeData( "ui-dialog-overlays" ); + } else { + this.document.data( "ui-dialog-overlays", overlays ); + } + + this.overlay.remove(); + this.overlay = null; + } + } +} ); + +// DEPRECATED +// TODO: switch return back to widget declaration at top of file when this is removed +if ( $.uiBackCompat !== false ) { + + // Backcompat for dialogClass option + $.widget( "ui.dialog", $.ui.dialog, { + options: { + dialogClass: "" + }, + _createWrapper: function() { + this._super(); + this.uiDialog.addClass( this.options.dialogClass ); + }, + _setOption: function( key, value ) { + if ( key === "dialogClass" ) { + this.uiDialog + .removeClass( this.options.dialogClass ) + .addClass( value ); + } + this._superApply( arguments ); + } + } ); +} + +var widgetsDialog = $.ui.dialog; + + +/*! + * jQuery UI Progressbar 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Progressbar +//>>group: Widgets +// jscs:disable maximumLineLength +//>>description: Displays a status indicator for loading state, standard percentage, and other progress indicators. +// jscs:enable maximumLineLength +//>>docs: http://api.jqueryui.com/progressbar/ +//>>demos: http://jqueryui.com/progressbar/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/progressbar.css +//>>css.theme: ../../themes/base/theme.css + + + +var widgetsProgressbar = $.widget( "ui.progressbar", { + version: "1.12.1", + options: { + classes: { + "ui-progressbar": "ui-corner-all", + "ui-progressbar-value": "ui-corner-left", + "ui-progressbar-complete": "ui-corner-right" + }, + max: 100, + value: 0, + + change: null, + complete: null + }, + + min: 0, + + _create: function() { + + // Constrain initial value + this.oldValue = this.options.value = this._constrainedValue(); + + this.element.attr( { + + // Only set static values; aria-valuenow and aria-valuemax are + // set inside _refreshValue() + role: "progressbar", + "aria-valuemin": this.min + } ); + this._addClass( "ui-progressbar", "ui-widget ui-widget-content" ); + + this.valueDiv = $( "<div>" ).appendTo( this.element ); + this._addClass( this.valueDiv, "ui-progressbar-value", "ui-widget-header" ); + this._refreshValue(); + }, + + _destroy: function() { + this.element.removeAttr( "role aria-valuemin aria-valuemax aria-valuenow" ); + + this.valueDiv.remove(); + }, + + value: function( newValue ) { + if ( newValue === undefined ) { + return this.options.value; + } + + this.options.value = this._constrainedValue( newValue ); + this._refreshValue(); + }, + + _constrainedValue: function( newValue ) { + if ( newValue === undefined ) { + newValue = this.options.value; + } + + this.indeterminate = newValue === false; + + // Sanitize value + if ( typeof newValue !== "number" ) { + newValue = 0; + } + + return this.indeterminate ? false : + Math.min( this.options.max, Math.max( this.min, newValue ) ); + }, + + _setOptions: function( options ) { + + // Ensure "value" option is set after other values (like max) + var value = options.value; + delete options.value; + + this._super( options ); + + this.options.value = this._constrainedValue( value ); + this._refreshValue(); + }, + + _setOption: function( key, value ) { + if ( key === "max" ) { + + // Don't allow a max less than min + value = Math.max( this.min, value ); + } + this._super( key, value ); + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this.element.attr( "aria-disabled", value ); + this._toggleClass( null, "ui-state-disabled", !!value ); + }, + + _percentage: function() { + return this.indeterminate ? + 100 : + 100 * ( this.options.value - this.min ) / ( this.options.max - this.min ); + }, + + _refreshValue: function() { + var value = this.options.value, + percentage = this._percentage(); + + this.valueDiv + .toggle( this.indeterminate || value > this.min ) + .width( percentage.toFixed( 0 ) + "%" ); + + this + ._toggleClass( this.valueDiv, "ui-progressbar-complete", null, + value === this.options.max ) + ._toggleClass( "ui-progressbar-indeterminate", null, this.indeterminate ); + + if ( this.indeterminate ) { + this.element.removeAttr( "aria-valuenow" ); + if ( !this.overlayDiv ) { + this.overlayDiv = $( "<div>" ).appendTo( this.valueDiv ); + this._addClass( this.overlayDiv, "ui-progressbar-overlay" ); + } + } else { + this.element.attr( { + "aria-valuemax": this.options.max, + "aria-valuenow": value + } ); + if ( this.overlayDiv ) { + this.overlayDiv.remove(); + this.overlayDiv = null; + } + } + + if ( this.oldValue !== value ) { + this.oldValue = value; + this._trigger( "change" ); + } + if ( value === this.options.max ) { + this._trigger( "complete" ); + } + } +} ); + + +/*! + * jQuery UI Selectmenu 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Selectmenu +//>>group: Widgets +// jscs:disable maximumLineLength +//>>description: Duplicates and extends the functionality of a native HTML select element, allowing it to be customizable in behavior and appearance far beyond the limitations of a native select. +// jscs:enable maximumLineLength +//>>docs: http://api.jqueryui.com/selectmenu/ +//>>demos: http://jqueryui.com/selectmenu/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/selectmenu.css, ../../themes/base/button.css +//>>css.theme: ../../themes/base/theme.css + + + +var widgetsSelectmenu = $.widget( "ui.selectmenu", [ $.ui.formResetMixin, { + version: "1.12.1", + defaultElement: "<select>", + options: { + appendTo: null, + classes: { + "ui-selectmenu-button-open": "ui-corner-top", + "ui-selectmenu-button-closed": "ui-corner-all" + }, + disabled: null, + icons: { + button: "ui-icon-triangle-1-s" + }, + position: { + my: "left top", + at: "left bottom", + collision: "none" + }, + width: false, + + // Callbacks + change: null, + close: null, + focus: null, + open: null, + select: null + }, + + _create: function() { + var selectmenuId = this.element.uniqueId().attr( "id" ); + this.ids = { + element: selectmenuId, + button: selectmenuId + "-button", + menu: selectmenuId + "-menu" + }; + + this._drawButton(); + this._drawMenu(); + this._bindFormResetHandler(); + + this._rendered = false; + this.menuItems = $(); + }, + + _drawButton: function() { + var icon, + that = this, + item = this._parseOption( + this.element.find( "option:selected" ), + this.element[ 0 ].selectedIndex + ); + + // Associate existing label with the new button + this.labels = this.element.labels().attr( "for", this.ids.button ); + this._on( this.labels, { + click: function( event ) { + this.button.focus(); + event.preventDefault(); + } + } ); + + // Hide original select element + this.element.hide(); + + // Create button + this.button = $( "<span>", { + tabindex: this.options.disabled ? -1 : 0, + id: this.ids.button, + role: "combobox", + "aria-expanded": "false", + "aria-autocomplete": "list", + "aria-owns": this.ids.menu, + "aria-haspopup": "true", + title: this.element.attr( "title" ) + } ) + .insertAfter( this.element ); + + this._addClass( this.button, "ui-selectmenu-button ui-selectmenu-button-closed", + "ui-button ui-widget" ); + + icon = $( "<span>" ).appendTo( this.button ); + this._addClass( icon, "ui-selectmenu-icon", "ui-icon " + this.options.icons.button ); + this.buttonItem = this._renderButtonItem( item ) + .appendTo( this.button ); + + if ( this.options.width !== false ) { + this._resizeButton(); + } + + this._on( this.button, this._buttonEvents ); + this.button.one( "focusin", function() { + + // Delay rendering the menu items until the button receives focus. + // The menu may have already been rendered via a programmatic open. + if ( !that._rendered ) { + that._refreshMenu(); + } + } ); + }, + + _drawMenu: function() { + var that = this; + + // Create menu + this.menu = $( "<ul>", { + "aria-hidden": "true", + "aria-labelledby": this.ids.button, + id: this.ids.menu + } ); + + // Wrap menu + this.menuWrap = $( "<div>" ).append( this.menu ); + this._addClass( this.menuWrap, "ui-selectmenu-menu", "ui-front" ); + this.menuWrap.appendTo( this._appendTo() ); + + // Initialize menu widget + this.menuInstance = this.menu + .menu( { + classes: { + "ui-menu": "ui-corner-bottom" + }, + role: "listbox", + select: function( event, ui ) { + event.preventDefault(); + + // Support: IE8 + // If the item was selected via a click, the text selection + // will be destroyed in IE + that._setSelection(); + + that._select( ui.item.data( "ui-selectmenu-item" ), event ); + }, + focus: function( event, ui ) { + var item = ui.item.data( "ui-selectmenu-item" ); + + // Prevent inital focus from firing and check if its a newly focused item + if ( that.focusIndex != null && item.index !== that.focusIndex ) { + that._trigger( "focus", event, { item: item } ); + if ( !that.isOpen ) { + that._select( item, event ); + } + } + that.focusIndex = item.index; + + that.button.attr( "aria-activedescendant", + that.menuItems.eq( item.index ).attr( "id" ) ); + } + } ) + .menu( "instance" ); + + // Don't close the menu on mouseleave + this.menuInstance._off( this.menu, "mouseleave" ); + + // Cancel the menu's collapseAll on document click + this.menuInstance._closeOnDocumentClick = function() { + return false; + }; + + // Selects often contain empty items, but never contain dividers + this.menuInstance._isDivider = function() { + return false; + }; + }, + + refresh: function() { + this._refreshMenu(); + this.buttonItem.replaceWith( + this.buttonItem = this._renderButtonItem( + + // Fall back to an empty object in case there are no options + this._getSelectedItem().data( "ui-selectmenu-item" ) || {} + ) + ); + if ( this.options.width === null ) { + this._resizeButton(); + } + }, + + _refreshMenu: function() { + var item, + options = this.element.find( "option" ); + + this.menu.empty(); + + this._parseOptions( options ); + this._renderMenu( this.menu, this.items ); + + this.menuInstance.refresh(); + this.menuItems = this.menu.find( "li" ) + .not( ".ui-selectmenu-optgroup" ) + .find( ".ui-menu-item-wrapper" ); + + this._rendered = true; + + if ( !options.length ) { + return; + } + + item = this._getSelectedItem(); + + // Update the menu to have the correct item focused + this.menuInstance.focus( null, item ); + this._setAria( item.data( "ui-selectmenu-item" ) ); + + // Set disabled state + this._setOption( "disabled", this.element.prop( "disabled" ) ); + }, + + open: function( event ) { + if ( this.options.disabled ) { + return; + } + + // If this is the first time the menu is being opened, render the items + if ( !this._rendered ) { + this._refreshMenu(); + } else { + + // Menu clears focus on close, reset focus to selected item + this._removeClass( this.menu.find( ".ui-state-active" ), null, "ui-state-active" ); + this.menuInstance.focus( null, this._getSelectedItem() ); + } + + // If there are no options, don't open the menu + if ( !this.menuItems.length ) { + return; + } + + this.isOpen = true; + this._toggleAttr(); + this._resizeMenu(); + this._position(); + + this._on( this.document, this._documentClick ); + + this._trigger( "open", event ); + }, + + _position: function() { + this.menuWrap.position( $.extend( { of: this.button }, this.options.position ) ); + }, + + close: function( event ) { + if ( !this.isOpen ) { + return; + } + + this.isOpen = false; + this._toggleAttr(); + + this.range = null; + this._off( this.document ); + + this._trigger( "close", event ); + }, + + widget: function() { + return this.button; + }, + + menuWidget: function() { + return this.menu; + }, + + _renderButtonItem: function( item ) { + var buttonItem = $( "<span>" ); + + this._setText( buttonItem, item.label ); + this._addClass( buttonItem, "ui-selectmenu-text" ); + + return buttonItem; + }, + + _renderMenu: function( ul, items ) { + var that = this, + currentOptgroup = ""; + + $.each( items, function( index, item ) { + var li; + + if ( item.optgroup !== currentOptgroup ) { + li = $( "<li>", { + text: item.optgroup + } ); + that._addClass( li, "ui-selectmenu-optgroup", "ui-menu-divider" + + ( item.element.parent( "optgroup" ).prop( "disabled" ) ? + " ui-state-disabled" : + "" ) ); + + li.appendTo( ul ); + + currentOptgroup = item.optgroup; + } + + that._renderItemData( ul, item ); + } ); + }, + + _renderItemData: function( ul, item ) { + return this._renderItem( ul, item ).data( "ui-selectmenu-item", item ); + }, + + _renderItem: function( ul, item ) { + var li = $( "<li>" ), + wrapper = $( "<div>", { + title: item.element.attr( "title" ) + } ); + + if ( item.disabled ) { + this._addClass( li, null, "ui-state-disabled" ); + } + this._setText( wrapper, item.label ); + + return li.append( wrapper ).appendTo( ul ); + }, + + _setText: function( element, value ) { + if ( value ) { + element.text( value ); + } else { + element.html( "&#160;" ); + } + }, + + _move: function( direction, event ) { + var item, next, + filter = ".ui-menu-item"; + + if ( this.isOpen ) { + item = this.menuItems.eq( this.focusIndex ).parent( "li" ); + } else { + item = this.menuItems.eq( this.element[ 0 ].selectedIndex ).parent( "li" ); + filter += ":not(.ui-state-disabled)"; + } + + if ( direction === "first" || direction === "last" ) { + next = item[ direction === "first" ? "prevAll" : "nextAll" ]( filter ).eq( -1 ); + } else { + next = item[ direction + "All" ]( filter ).eq( 0 ); + } + + if ( next.length ) { + this.menuInstance.focus( event, next ); + } + }, + + _getSelectedItem: function() { + return this.menuItems.eq( this.element[ 0 ].selectedIndex ).parent( "li" ); + }, + + _toggle: function( event ) { + this[ this.isOpen ? "close" : "open" ]( event ); + }, + + _setSelection: function() { + var selection; + + if ( !this.range ) { + return; + } + + if ( window.getSelection ) { + selection = window.getSelection(); + selection.removeAllRanges(); + selection.addRange( this.range ); + + // Support: IE8 + } else { + this.range.select(); + } + + // Support: IE + // Setting the text selection kills the button focus in IE, but + // restoring the focus doesn't kill the selection. + this.button.focus(); + }, + + _documentClick: { + mousedown: function( event ) { + if ( !this.isOpen ) { + return; + } + + if ( !$( event.target ).closest( ".ui-selectmenu-menu, #" + + $.ui.escapeSelector( this.ids.button ) ).length ) { + this.close( event ); + } + } + }, + + _buttonEvents: { + + // Prevent text selection from being reset when interacting with the selectmenu (#10144) + mousedown: function() { + var selection; + + if ( window.getSelection ) { + selection = window.getSelection(); + if ( selection.rangeCount ) { + this.range = selection.getRangeAt( 0 ); + } + + // Support: IE8 + } else { + this.range = document.selection.createRange(); + } + }, + + click: function( event ) { + this._setSelection(); + this._toggle( event ); + }, + + keydown: function( event ) { + var preventDefault = true; + switch ( event.keyCode ) { + case $.ui.keyCode.TAB: + case $.ui.keyCode.ESCAPE: + this.close( event ); + preventDefault = false; + break; + case $.ui.keyCode.ENTER: + if ( this.isOpen ) { + this._selectFocusedItem( event ); + } + break; + case $.ui.keyCode.UP: + if ( event.altKey ) { + this._toggle( event ); + } else { + this._move( "prev", event ); + } + break; + case $.ui.keyCode.DOWN: + if ( event.altKey ) { + this._toggle( event ); + } else { + this._move( "next", event ); + } + break; + case $.ui.keyCode.SPACE: + if ( this.isOpen ) { + this._selectFocusedItem( event ); + } else { + this._toggle( event ); + } + break; + case $.ui.keyCode.LEFT: + this._move( "prev", event ); + break; + case $.ui.keyCode.RIGHT: + this._move( "next", event ); + break; + case $.ui.keyCode.HOME: + case $.ui.keyCode.PAGE_UP: + this._move( "first", event ); + break; + case $.ui.keyCode.END: + case $.ui.keyCode.PAGE_DOWN: + this._move( "last", event ); + break; + default: + this.menu.trigger( event ); + preventDefault = false; + } + + if ( preventDefault ) { + event.preventDefault(); + } + } + }, + + _selectFocusedItem: function( event ) { + var item = this.menuItems.eq( this.focusIndex ).parent( "li" ); + if ( !item.hasClass( "ui-state-disabled" ) ) { + this._select( item.data( "ui-selectmenu-item" ), event ); + } + }, + + _select: function( item, event ) { + var oldIndex = this.element[ 0 ].selectedIndex; + + // Change native select element + this.element[ 0 ].selectedIndex = item.index; + this.buttonItem.replaceWith( this.buttonItem = this._renderButtonItem( item ) ); + this._setAria( item ); + this._trigger( "select", event, { item: item } ); + + if ( item.index !== oldIndex ) { + this._trigger( "change", event, { item: item } ); + } + + this.close( event ); + }, + + _setAria: function( item ) { + var id = this.menuItems.eq( item.index ).attr( "id" ); + + this.button.attr( { + "aria-labelledby": id, + "aria-activedescendant": id + } ); + this.menu.attr( "aria-activedescendant", id ); + }, + + _setOption: function( key, value ) { + if ( key === "icons" ) { + var icon = this.button.find( "span.ui-icon" ); + this._removeClass( icon, null, this.options.icons.button ) + ._addClass( icon, null, value.button ); + } + + this._super( key, value ); + + if ( key === "appendTo" ) { + this.menuWrap.appendTo( this._appendTo() ); + } + + if ( key === "width" ) { + this._resizeButton(); + } + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this.menuInstance.option( "disabled", value ); + this.button.attr( "aria-disabled", value ); + this._toggleClass( this.button, null, "ui-state-disabled", value ); + + this.element.prop( "disabled", value ); + if ( value ) { + this.button.attr( "tabindex", -1 ); + this.close(); + } else { + this.button.attr( "tabindex", 0 ); + } + }, + + _appendTo: function() { + var element = this.options.appendTo; + + if ( element ) { + element = element.jquery || element.nodeType ? + $( element ) : + this.document.find( element ).eq( 0 ); + } + + if ( !element || !element[ 0 ] ) { + element = this.element.closest( ".ui-front, dialog" ); + } + + if ( !element.length ) { + element = this.document[ 0 ].body; + } + + return element; + }, + + _toggleAttr: function() { + this.button.attr( "aria-expanded", this.isOpen ); + + // We can't use two _toggleClass() calls here, because we need to make sure + // we always remove classes first and add them second, otherwise if both classes have the + // same theme class, it will be removed after we add it. + this._removeClass( this.button, "ui-selectmenu-button-" + + ( this.isOpen ? "closed" : "open" ) ) + ._addClass( this.button, "ui-selectmenu-button-" + + ( this.isOpen ? "open" : "closed" ) ) + ._toggleClass( this.menuWrap, "ui-selectmenu-open", null, this.isOpen ); + + this.menu.attr( "aria-hidden", !this.isOpen ); + }, + + _resizeButton: function() { + var width = this.options.width; + + // For `width: false`, just remove inline style and stop + if ( width === false ) { + this.button.css( "width", "" ); + return; + } + + // For `width: null`, match the width of the original element + if ( width === null ) { + width = this.element.show().outerWidth(); + this.element.hide(); + } + + this.button.outerWidth( width ); + }, + + _resizeMenu: function() { + this.menu.outerWidth( Math.max( + this.button.outerWidth(), + + // Support: IE10 + // IE10 wraps long text (possibly a rounding bug) + // so we add 1px to avoid the wrapping + this.menu.width( "" ).outerWidth() + 1 + ) ); + }, + + _getCreateOptions: function() { + var options = this._super(); + + options.disabled = this.element.prop( "disabled" ); + + return options; + }, + + _parseOptions: function( options ) { + var that = this, + data = []; + options.each( function( index, item ) { + data.push( that._parseOption( $( item ), index ) ); + } ); + this.items = data; + }, + + _parseOption: function( option, index ) { + var optgroup = option.parent( "optgroup" ); + + return { + element: option, + index: index, + value: option.val(), + label: option.text(), + optgroup: optgroup.attr( "label" ) || "", + disabled: optgroup.prop( "disabled" ) || option.prop( "disabled" ) + }; + }, + + _destroy: function() { + this._unbindFormResetHandler(); + this.menuWrap.remove(); + this.button.remove(); + this.element.show(); + this.element.removeUniqueId(); + this.labels.attr( "for", this.ids.element ); + } +} ] ); + + +/*! + * jQuery UI Slider 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Slider +//>>group: Widgets +//>>description: Displays a flexible slider with ranges and accessibility via keyboard. +//>>docs: http://api.jqueryui.com/slider/ +//>>demos: http://jqueryui.com/slider/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/slider.css +//>>css.theme: ../../themes/base/theme.css + + + +var widgetsSlider = $.widget( "ui.slider", $.ui.mouse, { + version: "1.12.1", + widgetEventPrefix: "slide", + + options: { + animate: false, + classes: { + "ui-slider": "ui-corner-all", + "ui-slider-handle": "ui-corner-all", + + // Note: ui-widget-header isn't the most fittingly semantic framework class for this + // element, but worked best visually with a variety of themes + "ui-slider-range": "ui-corner-all ui-widget-header" + }, + distance: 0, + max: 100, + min: 0, + orientation: "horizontal", + range: false, + step: 1, + value: 0, + values: null, + + // Callbacks + change: null, + slide: null, + start: null, + stop: null + }, + + // Number of pages in a slider + // (how many times can you page up/down to go through the whole range) + numPages: 5, + + _create: function() { + this._keySliding = false; + this._mouseSliding = false; + this._animateOff = true; + this._handleIndex = null; + this._detectOrientation(); + this._mouseInit(); + this._calculateNewMax(); + + this._addClass( "ui-slider ui-slider-" + this.orientation, + "ui-widget ui-widget-content" ); + + this._refresh(); + + this._animateOff = false; + }, + + _refresh: function() { + this._createRange(); + this._createHandles(); + this._setupEvents(); + this._refreshValue(); + }, + + _createHandles: function() { + var i, handleCount, + options = this.options, + existingHandles = this.element.find( ".ui-slider-handle" ), + handle = "<span tabindex='0'></span>", + handles = []; + + handleCount = ( options.values && options.values.length ) || 1; + + if ( existingHandles.length > handleCount ) { + existingHandles.slice( handleCount ).remove(); + existingHandles = existingHandles.slice( 0, handleCount ); + } + + for ( i = existingHandles.length; i < handleCount; i++ ) { + handles.push( handle ); + } + + this.handles = existingHandles.add( $( handles.join( "" ) ).appendTo( this.element ) ); + + this._addClass( this.handles, "ui-slider-handle", "ui-state-default" ); + + this.handle = this.handles.eq( 0 ); + + this.handles.each( function( i ) { + $( this ) + .data( "ui-slider-handle-index", i ) + .attr( "tabIndex", 0 ); + } ); + }, + + _createRange: function() { + var options = this.options; + + if ( options.range ) { + if ( options.range === true ) { + if ( !options.values ) { + options.values = [ this._valueMin(), this._valueMin() ]; + } else if ( options.values.length && options.values.length !== 2 ) { + options.values = [ options.values[ 0 ], options.values[ 0 ] ]; + } else if ( $.isArray( options.values ) ) { + options.values = options.values.slice( 0 ); + } + } + + if ( !this.range || !this.range.length ) { + this.range = $( "<div>" ) + .appendTo( this.element ); + + this._addClass( this.range, "ui-slider-range" ); + } else { + this._removeClass( this.range, "ui-slider-range-min ui-slider-range-max" ); + + // Handle range switching from true to min/max + this.range.css( { + "left": "", + "bottom": "" + } ); + } + if ( options.range === "min" || options.range === "max" ) { + this._addClass( this.range, "ui-slider-range-" + options.range ); + } + } else { + if ( this.range ) { + this.range.remove(); + } + this.range = null; + } + }, + + _setupEvents: function() { + this._off( this.handles ); + this._on( this.handles, this._handleEvents ); + this._hoverable( this.handles ); + this._focusable( this.handles ); + }, + + _destroy: function() { + this.handles.remove(); + if ( this.range ) { + this.range.remove(); + } + + this._mouseDestroy(); + }, + + _mouseCapture: function( event ) { + var position, normValue, distance, closestHandle, index, allowed, offset, mouseOverHandle, + that = this, + o = this.options; + + if ( o.disabled ) { + return false; + } + + this.elementSize = { + width: this.element.outerWidth(), + height: this.element.outerHeight() + }; + this.elementOffset = this.element.offset(); + + position = { x: event.pageX, y: event.pageY }; + normValue = this._normValueFromMouse( position ); + distance = this._valueMax() - this._valueMin() + 1; + this.handles.each( function( i ) { + var thisDistance = Math.abs( normValue - that.values( i ) ); + if ( ( distance > thisDistance ) || + ( distance === thisDistance && + ( i === that._lastChangedValue || that.values( i ) === o.min ) ) ) { + distance = thisDistance; + closestHandle = $( this ); + index = i; + } + } ); + + allowed = this._start( event, index ); + if ( allowed === false ) { + return false; + } + this._mouseSliding = true; + + this._handleIndex = index; + + this._addClass( closestHandle, null, "ui-state-active" ); + closestHandle.trigger( "focus" ); + + offset = closestHandle.offset(); + mouseOverHandle = !$( event.target ).parents().addBack().is( ".ui-slider-handle" ); + this._clickOffset = mouseOverHandle ? { left: 0, top: 0 } : { + left: event.pageX - offset.left - ( closestHandle.width() / 2 ), + top: event.pageY - offset.top - + ( closestHandle.height() / 2 ) - + ( parseInt( closestHandle.css( "borderTopWidth" ), 10 ) || 0 ) - + ( parseInt( closestHandle.css( "borderBottomWidth" ), 10 ) || 0 ) + + ( parseInt( closestHandle.css( "marginTop" ), 10 ) || 0 ) + }; + + if ( !this.handles.hasClass( "ui-state-hover" ) ) { + this._slide( event, index, normValue ); + } + this._animateOff = true; + return true; + }, + + _mouseStart: function() { + return true; + }, + + _mouseDrag: function( event ) { + var position = { x: event.pageX, y: event.pageY }, + normValue = this._normValueFromMouse( position ); + + this._slide( event, this._handleIndex, normValue ); + + return false; + }, + + _mouseStop: function( event ) { + this._removeClass( this.handles, null, "ui-state-active" ); + this._mouseSliding = false; + + this._stop( event, this._handleIndex ); + this._change( event, this._handleIndex ); + + this._handleIndex = null; + this._clickOffset = null; + this._animateOff = false; + + return false; + }, + + _detectOrientation: function() { + this.orientation = ( this.options.orientation === "vertical" ) ? "vertical" : "horizontal"; + }, + + _normValueFromMouse: function( position ) { + var pixelTotal, + pixelMouse, + percentMouse, + valueTotal, + valueMouse; + + if ( this.orientation === "horizontal" ) { + pixelTotal = this.elementSize.width; + pixelMouse = position.x - this.elementOffset.left - + ( this._clickOffset ? this._clickOffset.left : 0 ); + } else { + pixelTotal = this.elementSize.height; + pixelMouse = position.y - this.elementOffset.top - + ( this._clickOffset ? this._clickOffset.top : 0 ); + } + + percentMouse = ( pixelMouse / pixelTotal ); + if ( percentMouse > 1 ) { + percentMouse = 1; + } + if ( percentMouse < 0 ) { + percentMouse = 0; + } + if ( this.orientation === "vertical" ) { + percentMouse = 1 - percentMouse; + } + + valueTotal = this._valueMax() - this._valueMin(); + valueMouse = this._valueMin() + percentMouse * valueTotal; + + return this._trimAlignValue( valueMouse ); + }, + + _uiHash: function( index, value, values ) { + var uiHash = { + handle: this.handles[ index ], + handleIndex: index, + value: value !== undefined ? value : this.value() + }; + + if ( this._hasMultipleValues() ) { + uiHash.value = value !== undefined ? value : this.values( index ); + uiHash.values = values || this.values(); + } + + return uiHash; + }, + + _hasMultipleValues: function() { + return this.options.values && this.options.values.length; + }, + + _start: function( event, index ) { + return this._trigger( "start", event, this._uiHash( index ) ); + }, + + _slide: function( event, index, newVal ) { + var allowed, otherVal, + currentValue = this.value(), + newValues = this.values(); + + if ( this._hasMultipleValues() ) { + otherVal = this.values( index ? 0 : 1 ); + currentValue = this.values( index ); + + if ( this.options.values.length === 2 && this.options.range === true ) { + newVal = index === 0 ? Math.min( otherVal, newVal ) : Math.max( otherVal, newVal ); + } + + newValues[ index ] = newVal; + } + + if ( newVal === currentValue ) { + return; + } + + allowed = this._trigger( "slide", event, this._uiHash( index, newVal, newValues ) ); + + // A slide can be canceled by returning false from the slide callback + if ( allowed === false ) { + return; + } + + if ( this._hasMultipleValues() ) { + this.values( index, newVal ); + } else { + this.value( newVal ); + } + }, + + _stop: function( event, index ) { + this._trigger( "stop", event, this._uiHash( index ) ); + }, + + _change: function( event, index ) { + if ( !this._keySliding && !this._mouseSliding ) { + + //store the last changed value index for reference when handles overlap + this._lastChangedValue = index; + this._trigger( "change", event, this._uiHash( index ) ); + } + }, + + value: function( newValue ) { + if ( arguments.length ) { + this.options.value = this._trimAlignValue( newValue ); + this._refreshValue(); + this._change( null, 0 ); + return; + } + + return this._value(); + }, + + values: function( index, newValue ) { + var vals, + newValues, + i; + + if ( arguments.length > 1 ) { + this.options.values[ index ] = this._trimAlignValue( newValue ); + this._refreshValue(); + this._change( null, index ); + return; + } + + if ( arguments.length ) { + if ( $.isArray( arguments[ 0 ] ) ) { + vals = this.options.values; + newValues = arguments[ 0 ]; + for ( i = 0; i < vals.length; i += 1 ) { + vals[ i ] = this._trimAlignValue( newValues[ i ] ); + this._change( null, i ); + } + this._refreshValue(); + } else { + if ( this._hasMultipleValues() ) { + return this._values( index ); + } else { + return this.value(); + } + } + } else { + return this._values(); + } + }, + + _setOption: function( key, value ) { + var i, + valsLength = 0; + + if ( key === "range" && this.options.range === true ) { + if ( value === "min" ) { + this.options.value = this._values( 0 ); + this.options.values = null; + } else if ( value === "max" ) { + this.options.value = this._values( this.options.values.length - 1 ); + this.options.values = null; + } + } + + if ( $.isArray( this.options.values ) ) { + valsLength = this.options.values.length; + } + + this._super( key, value ); + + switch ( key ) { + case "orientation": + this._detectOrientation(); + this._removeClass( "ui-slider-horizontal ui-slider-vertical" ) + ._addClass( "ui-slider-" + this.orientation ); + this._refreshValue(); + if ( this.options.range ) { + this._refreshRange( value ); + } + + // Reset positioning from previous orientation + this.handles.css( value === "horizontal" ? "bottom" : "left", "" ); + break; + case "value": + this._animateOff = true; + this._refreshValue(); + this._change( null, 0 ); + this._animateOff = false; + break; + case "values": + this._animateOff = true; + this._refreshValue(); + + // Start from the last handle to prevent unreachable handles (#9046) + for ( i = valsLength - 1; i >= 0; i-- ) { + this._change( null, i ); + } + this._animateOff = false; + break; + case "step": + case "min": + case "max": + this._animateOff = true; + this._calculateNewMax(); + this._refreshValue(); + this._animateOff = false; + break; + case "range": + this._animateOff = true; + this._refresh(); + this._animateOff = false; + break; + } + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this._toggleClass( null, "ui-state-disabled", !!value ); + }, + + //internal value getter + // _value() returns value trimmed by min and max, aligned by step + _value: function() { + var val = this.options.value; + val = this._trimAlignValue( val ); + + return val; + }, + + //internal values getter + // _values() returns array of values trimmed by min and max, aligned by step + // _values( index ) returns single value trimmed by min and max, aligned by step + _values: function( index ) { + var val, + vals, + i; + + if ( arguments.length ) { + val = this.options.values[ index ]; + val = this._trimAlignValue( val ); + + return val; + } else if ( this._hasMultipleValues() ) { + + // .slice() creates a copy of the array + // this copy gets trimmed by min and max and then returned + vals = this.options.values.slice(); + for ( i = 0; i < vals.length; i += 1 ) { + vals[ i ] = this._trimAlignValue( vals[ i ] ); + } + + return vals; + } else { + return []; + } + }, + + // Returns the step-aligned value that val is closest to, between (inclusive) min and max + _trimAlignValue: function( val ) { + if ( val <= this._valueMin() ) { + return this._valueMin(); + } + if ( val >= this._valueMax() ) { + return this._valueMax(); + } + var step = ( this.options.step > 0 ) ? this.options.step : 1, + valModStep = ( val - this._valueMin() ) % step, + alignValue = val - valModStep; + + if ( Math.abs( valModStep ) * 2 >= step ) { + alignValue += ( valModStep > 0 ) ? step : ( -step ); + } + + // Since JavaScript has problems with large floats, round + // the final value to 5 digits after the decimal point (see #4124) + return parseFloat( alignValue.toFixed( 5 ) ); + }, + + _calculateNewMax: function() { + var max = this.options.max, + min = this._valueMin(), + step = this.options.step, + aboveMin = Math.round( ( max - min ) / step ) * step; + max = aboveMin + min; + if ( max > this.options.max ) { + + //If max is not divisible by step, rounding off may increase its value + max -= step; + } + this.max = parseFloat( max.toFixed( this._precision() ) ); + }, + + _precision: function() { + var precision = this._precisionOf( this.options.step ); + if ( this.options.min !== null ) { + precision = Math.max( precision, this._precisionOf( this.options.min ) ); + } + return precision; + }, + + _precisionOf: function( num ) { + var str = num.toString(), + decimal = str.indexOf( "." ); + return decimal === -1 ? 0 : str.length - decimal - 1; + }, + + _valueMin: function() { + return this.options.min; + }, + + _valueMax: function() { + return this.max; + }, + + _refreshRange: function( orientation ) { + if ( orientation === "vertical" ) { + this.range.css( { "width": "", "left": "" } ); + } + if ( orientation === "horizontal" ) { + this.range.css( { "height": "", "bottom": "" } ); + } + }, + + _refreshValue: function() { + var lastValPercent, valPercent, value, valueMin, valueMax, + oRange = this.options.range, + o = this.options, + that = this, + animate = ( !this._animateOff ) ? o.animate : false, + _set = {}; + + if ( this._hasMultipleValues() ) { + this.handles.each( function( i ) { + valPercent = ( that.values( i ) - that._valueMin() ) / ( that._valueMax() - + that._valueMin() ) * 100; + _set[ that.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; + $( this ).stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); + if ( that.options.range === true ) { + if ( that.orientation === "horizontal" ) { + if ( i === 0 ) { + that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + left: valPercent + "%" + }, o.animate ); + } + if ( i === 1 ) { + that.range[ animate ? "animate" : "css" ]( { + width: ( valPercent - lastValPercent ) + "%" + }, { + queue: false, + duration: o.animate + } ); + } + } else { + if ( i === 0 ) { + that.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + bottom: ( valPercent ) + "%" + }, o.animate ); + } + if ( i === 1 ) { + that.range[ animate ? "animate" : "css" ]( { + height: ( valPercent - lastValPercent ) + "%" + }, { + queue: false, + duration: o.animate + } ); + } + } + } + lastValPercent = valPercent; + } ); + } else { + value = this.value(); + valueMin = this._valueMin(); + valueMax = this._valueMax(); + valPercent = ( valueMax !== valueMin ) ? + ( value - valueMin ) / ( valueMax - valueMin ) * 100 : + 0; + _set[ this.orientation === "horizontal" ? "left" : "bottom" ] = valPercent + "%"; + this.handle.stop( 1, 1 )[ animate ? "animate" : "css" ]( _set, o.animate ); + + if ( oRange === "min" && this.orientation === "horizontal" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + width: valPercent + "%" + }, o.animate ); + } + if ( oRange === "max" && this.orientation === "horizontal" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + width: ( 100 - valPercent ) + "%" + }, o.animate ); + } + if ( oRange === "min" && this.orientation === "vertical" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + height: valPercent + "%" + }, o.animate ); + } + if ( oRange === "max" && this.orientation === "vertical" ) { + this.range.stop( 1, 1 )[ animate ? "animate" : "css" ]( { + height: ( 100 - valPercent ) + "%" + }, o.animate ); + } + } + }, + + _handleEvents: { + keydown: function( event ) { + var allowed, curVal, newVal, step, + index = $( event.target ).data( "ui-slider-handle-index" ); + + switch ( event.keyCode ) { + case $.ui.keyCode.HOME: + case $.ui.keyCode.END: + case $.ui.keyCode.PAGE_UP: + case $.ui.keyCode.PAGE_DOWN: + case $.ui.keyCode.UP: + case $.ui.keyCode.RIGHT: + case $.ui.keyCode.DOWN: + case $.ui.keyCode.LEFT: + event.preventDefault(); + if ( !this._keySliding ) { + this._keySliding = true; + this._addClass( $( event.target ), null, "ui-state-active" ); + allowed = this._start( event, index ); + if ( allowed === false ) { + return; + } + } + break; + } + + step = this.options.step; + if ( this._hasMultipleValues() ) { + curVal = newVal = this.values( index ); + } else { + curVal = newVal = this.value(); + } + + switch ( event.keyCode ) { + case $.ui.keyCode.HOME: + newVal = this._valueMin(); + break; + case $.ui.keyCode.END: + newVal = this._valueMax(); + break; + case $.ui.keyCode.PAGE_UP: + newVal = this._trimAlignValue( + curVal + ( ( this._valueMax() - this._valueMin() ) / this.numPages ) + ); + break; + case $.ui.keyCode.PAGE_DOWN: + newVal = this._trimAlignValue( + curVal - ( ( this._valueMax() - this._valueMin() ) / this.numPages ) ); + break; + case $.ui.keyCode.UP: + case $.ui.keyCode.RIGHT: + if ( curVal === this._valueMax() ) { + return; + } + newVal = this._trimAlignValue( curVal + step ); + break; + case $.ui.keyCode.DOWN: + case $.ui.keyCode.LEFT: + if ( curVal === this._valueMin() ) { + return; + } + newVal = this._trimAlignValue( curVal - step ); + break; + } + + this._slide( event, index, newVal ); + }, + keyup: function( event ) { + var index = $( event.target ).data( "ui-slider-handle-index" ); + + if ( this._keySliding ) { + this._keySliding = false; + this._stop( event, index ); + this._change( event, index ); + this._removeClass( $( event.target ), null, "ui-state-active" ); + } + } + } +} ); + + +/*! + * jQuery UI Spinner 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Spinner +//>>group: Widgets +//>>description: Displays buttons to easily input numbers via the keyboard or mouse. +//>>docs: http://api.jqueryui.com/spinner/ +//>>demos: http://jqueryui.com/spinner/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/spinner.css +//>>css.theme: ../../themes/base/theme.css + + + +function spinnerModifer( fn ) { + return function() { + var previous = this.element.val(); + fn.apply( this, arguments ); + this._refresh(); + if ( previous !== this.element.val() ) { + this._trigger( "change" ); + } + }; +} + +$.widget( "ui.spinner", { + version: "1.12.1", + defaultElement: "<input>", + widgetEventPrefix: "spin", + options: { + classes: { + "ui-spinner": "ui-corner-all", + "ui-spinner-down": "ui-corner-br", + "ui-spinner-up": "ui-corner-tr" + }, + culture: null, + icons: { + down: "ui-icon-triangle-1-s", + up: "ui-icon-triangle-1-n" + }, + incremental: true, + max: null, + min: null, + numberFormat: null, + page: 10, + step: 1, + + change: null, + spin: null, + start: null, + stop: null + }, + + _create: function() { + + // handle string values that need to be parsed + this._setOption( "max", this.options.max ); + this._setOption( "min", this.options.min ); + this._setOption( "step", this.options.step ); + + // Only format if there is a value, prevents the field from being marked + // as invalid in Firefox, see #9573. + if ( this.value() !== "" ) { + + // Format the value, but don't constrain. + this._value( this.element.val(), true ); + } + + this._draw(); + this._on( this._events ); + this._refresh(); + + // Turning off autocomplete prevents the browser from remembering the + // value when navigating through history, so we re-enable autocomplete + // if the page is unloaded before the widget is destroyed. #7790 + this._on( this.window, { + beforeunload: function() { + this.element.removeAttr( "autocomplete" ); + } + } ); + }, + + _getCreateOptions: function() { + var options = this._super(); + var element = this.element; + + $.each( [ "min", "max", "step" ], function( i, option ) { + var value = element.attr( option ); + if ( value != null && value.length ) { + options[ option ] = value; + } + } ); + + return options; + }, + + _events: { + keydown: function( event ) { + if ( this._start( event ) && this._keydown( event ) ) { + event.preventDefault(); + } + }, + keyup: "_stop", + focus: function() { + this.previous = this.element.val(); + }, + blur: function( event ) { + if ( this.cancelBlur ) { + delete this.cancelBlur; + return; + } + + this._stop(); + this._refresh(); + if ( this.previous !== this.element.val() ) { + this._trigger( "change", event ); + } + }, + mousewheel: function( event, delta ) { + if ( !delta ) { + return; + } + if ( !this.spinning && !this._start( event ) ) { + return false; + } + + this._spin( ( delta > 0 ? 1 : -1 ) * this.options.step, event ); + clearTimeout( this.mousewheelTimer ); + this.mousewheelTimer = this._delay( function() { + if ( this.spinning ) { + this._stop( event ); + } + }, 100 ); + event.preventDefault(); + }, + "mousedown .ui-spinner-button": function( event ) { + var previous; + + // We never want the buttons to have focus; whenever the user is + // interacting with the spinner, the focus should be on the input. + // If the input is focused then this.previous is properly set from + // when the input first received focus. If the input is not focused + // then we need to set this.previous based on the value before spinning. + previous = this.element[ 0 ] === $.ui.safeActiveElement( this.document[ 0 ] ) ? + this.previous : this.element.val(); + function checkFocus() { + var isActive = this.element[ 0 ] === $.ui.safeActiveElement( this.document[ 0 ] ); + if ( !isActive ) { + this.element.trigger( "focus" ); + this.previous = previous; + + // support: IE + // IE sets focus asynchronously, so we need to check if focus + // moved off of the input because the user clicked on the button. + this._delay( function() { + this.previous = previous; + } ); + } + } + + // Ensure focus is on (or stays on) the text field + event.preventDefault(); + checkFocus.call( this ); + + // Support: IE + // IE doesn't prevent moving focus even with event.preventDefault() + // so we set a flag to know when we should ignore the blur event + // and check (again) if focus moved off of the input. + this.cancelBlur = true; + this._delay( function() { + delete this.cancelBlur; + checkFocus.call( this ); + } ); + + if ( this._start( event ) === false ) { + return; + } + + this._repeat( null, $( event.currentTarget ) + .hasClass( "ui-spinner-up" ) ? 1 : -1, event ); + }, + "mouseup .ui-spinner-button": "_stop", + "mouseenter .ui-spinner-button": function( event ) { + + // button will add ui-state-active if mouse was down while mouseleave and kept down + if ( !$( event.currentTarget ).hasClass( "ui-state-active" ) ) { + return; + } + + if ( this._start( event ) === false ) { + return false; + } + this._repeat( null, $( event.currentTarget ) + .hasClass( "ui-spinner-up" ) ? 1 : -1, event ); + }, + + // TODO: do we really want to consider this a stop? + // shouldn't we just stop the repeater and wait until mouseup before + // we trigger the stop event? + "mouseleave .ui-spinner-button": "_stop" + }, + + // Support mobile enhanced option and make backcompat more sane + _enhance: function() { + this.uiSpinner = this.element + .attr( "autocomplete", "off" ) + .wrap( "<span>" ) + .parent() + + // Add buttons + .append( + "<a></a><a></a>" + ); + }, + + _draw: function() { + this._enhance(); + + this._addClass( this.uiSpinner, "ui-spinner", "ui-widget ui-widget-content" ); + this._addClass( "ui-spinner-input" ); + + this.element.attr( "role", "spinbutton" ); + + // Button bindings + this.buttons = this.uiSpinner.children( "a" ) + .attr( "tabIndex", -1 ) + .attr( "aria-hidden", true ) + .button( { + classes: { + "ui-button": "" + } + } ); + + // TODO: Right now button does not support classes this is already updated in button PR + this._removeClass( this.buttons, "ui-corner-all" ); + + this._addClass( this.buttons.first(), "ui-spinner-button ui-spinner-up" ); + this._addClass( this.buttons.last(), "ui-spinner-button ui-spinner-down" ); + this.buttons.first().button( { + "icon": this.options.icons.up, + "showLabel": false + } ); + this.buttons.last().button( { + "icon": this.options.icons.down, + "showLabel": false + } ); + + // IE 6 doesn't understand height: 50% for the buttons + // unless the wrapper has an explicit height + if ( this.buttons.height() > Math.ceil( this.uiSpinner.height() * 0.5 ) && + this.uiSpinner.height() > 0 ) { + this.uiSpinner.height( this.uiSpinner.height() ); + } + }, + + _keydown: function( event ) { + var options = this.options, + keyCode = $.ui.keyCode; + + switch ( event.keyCode ) { + case keyCode.UP: + this._repeat( null, 1, event ); + return true; + case keyCode.DOWN: + this._repeat( null, -1, event ); + return true; + case keyCode.PAGE_UP: + this._repeat( null, options.page, event ); + return true; + case keyCode.PAGE_DOWN: + this._repeat( null, -options.page, event ); + return true; + } + + return false; + }, + + _start: function( event ) { + if ( !this.spinning && this._trigger( "start", event ) === false ) { + return false; + } + + if ( !this.counter ) { + this.counter = 1; + } + this.spinning = true; + return true; + }, + + _repeat: function( i, steps, event ) { + i = i || 500; + + clearTimeout( this.timer ); + this.timer = this._delay( function() { + this._repeat( 40, steps, event ); + }, i ); + + this._spin( steps * this.options.step, event ); + }, + + _spin: function( step, event ) { + var value = this.value() || 0; + + if ( !this.counter ) { + this.counter = 1; + } + + value = this._adjustValue( value + step * this._increment( this.counter ) ); + + if ( !this.spinning || this._trigger( "spin", event, { value: value } ) !== false ) { + this._value( value ); + this.counter++; + } + }, + + _increment: function( i ) { + var incremental = this.options.incremental; + + if ( incremental ) { + return $.isFunction( incremental ) ? + incremental( i ) : + Math.floor( i * i * i / 50000 - i * i / 500 + 17 * i / 200 + 1 ); + } + + return 1; + }, + + _precision: function() { + var precision = this._precisionOf( this.options.step ); + if ( this.options.min !== null ) { + precision = Math.max( precision, this._precisionOf( this.options.min ) ); + } + return precision; + }, + + _precisionOf: function( num ) { + var str = num.toString(), + decimal = str.indexOf( "." ); + return decimal === -1 ? 0 : str.length - decimal - 1; + }, + + _adjustValue: function( value ) { + var base, aboveMin, + options = this.options; + + // Make sure we're at a valid step + // - find out where we are relative to the base (min or 0) + base = options.min !== null ? options.min : 0; + aboveMin = value - base; + + // - round to the nearest step + aboveMin = Math.round( aboveMin / options.step ) * options.step; + + // - rounding is based on 0, so adjust back to our base + value = base + aboveMin; + + // Fix precision from bad JS floating point math + value = parseFloat( value.toFixed( this._precision() ) ); + + // Clamp the value + if ( options.max !== null && value > options.max ) { + return options.max; + } + if ( options.min !== null && value < options.min ) { + return options.min; + } + + return value; + }, + + _stop: function( event ) { + if ( !this.spinning ) { + return; + } + + clearTimeout( this.timer ); + clearTimeout( this.mousewheelTimer ); + this.counter = 0; + this.spinning = false; + this._trigger( "stop", event ); + }, + + _setOption: function( key, value ) { + var prevValue, first, last; + + if ( key === "culture" || key === "numberFormat" ) { + prevValue = this._parse( this.element.val() ); + this.options[ key ] = value; + this.element.val( this._format( prevValue ) ); + return; + } + + if ( key === "max" || key === "min" || key === "step" ) { + if ( typeof value === "string" ) { + value = this._parse( value ); + } + } + if ( key === "icons" ) { + first = this.buttons.first().find( ".ui-icon" ); + this._removeClass( first, null, this.options.icons.up ); + this._addClass( first, null, value.up ); + last = this.buttons.last().find( ".ui-icon" ); + this._removeClass( last, null, this.options.icons.down ); + this._addClass( last, null, value.down ); + } + + this._super( key, value ); + }, + + _setOptionDisabled: function( value ) { + this._super( value ); + + this._toggleClass( this.uiSpinner, null, "ui-state-disabled", !!value ); + this.element.prop( "disabled", !!value ); + this.buttons.button( value ? "disable" : "enable" ); + }, + + _setOptions: spinnerModifer( function( options ) { + this._super( options ); + } ), + + _parse: function( val ) { + if ( typeof val === "string" && val !== "" ) { + val = window.Globalize && this.options.numberFormat ? + Globalize.parseFloat( val, 10, this.options.culture ) : +val; + } + return val === "" || isNaN( val ) ? null : val; + }, + + _format: function( value ) { + if ( value === "" ) { + return ""; + } + return window.Globalize && this.options.numberFormat ? + Globalize.format( value, this.options.numberFormat, this.options.culture ) : + value; + }, + + _refresh: function() { + this.element.attr( { + "aria-valuemin": this.options.min, + "aria-valuemax": this.options.max, + + // TODO: what should we do with values that can't be parsed? + "aria-valuenow": this._parse( this.element.val() ) + } ); + }, + + isValid: function() { + var value = this.value(); + + // Null is invalid + if ( value === null ) { + return false; + } + + // If value gets adjusted, it's invalid + return value === this._adjustValue( value ); + }, + + // Update the value without triggering change + _value: function( value, allowAny ) { + var parsed; + if ( value !== "" ) { + parsed = this._parse( value ); + if ( parsed !== null ) { + if ( !allowAny ) { + parsed = this._adjustValue( parsed ); + } + value = this._format( parsed ); + } + } + this.element.val( value ); + this._refresh(); + }, + + _destroy: function() { + this.element + .prop( "disabled", false ) + .removeAttr( "autocomplete role aria-valuemin aria-valuemax aria-valuenow" ); + + this.uiSpinner.replaceWith( this.element ); + }, + + stepUp: spinnerModifer( function( steps ) { + this._stepUp( steps ); + } ), + _stepUp: function( steps ) { + if ( this._start() ) { + this._spin( ( steps || 1 ) * this.options.step ); + this._stop(); + } + }, + + stepDown: spinnerModifer( function( steps ) { + this._stepDown( steps ); + } ), + _stepDown: function( steps ) { + if ( this._start() ) { + this._spin( ( steps || 1 ) * -this.options.step ); + this._stop(); + } + }, + + pageUp: spinnerModifer( function( pages ) { + this._stepUp( ( pages || 1 ) * this.options.page ); + } ), + + pageDown: spinnerModifer( function( pages ) { + this._stepDown( ( pages || 1 ) * this.options.page ); + } ), + + value: function( newVal ) { + if ( !arguments.length ) { + return this._parse( this.element.val() ); + } + spinnerModifer( this._value ).call( this, newVal ); + }, + + widget: function() { + return this.uiSpinner; + } +} ); + +// DEPRECATED +// TODO: switch return back to widget declaration at top of file when this is removed +if ( $.uiBackCompat !== false ) { + + // Backcompat for spinner html extension points + $.widget( "ui.spinner", $.ui.spinner, { + _enhance: function() { + this.uiSpinner = this.element + .attr( "autocomplete", "off" ) + .wrap( this._uiSpinnerHtml() ) + .parent() + + // Add buttons + .append( this._buttonHtml() ); + }, + _uiSpinnerHtml: function() { + return "<span>"; + }, + + _buttonHtml: function() { + return "<a></a><a></a>"; + } + } ); +} + +var widgetsSpinner = $.ui.spinner; + + +/*! + * jQuery UI Tabs 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Tabs +//>>group: Widgets +//>>description: Transforms a set of container elements into a tab structure. +//>>docs: http://api.jqueryui.com/tabs/ +//>>demos: http://jqueryui.com/tabs/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/tabs.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.tabs", { + version: "1.12.1", + delay: 300, + options: { + active: null, + classes: { + "ui-tabs": "ui-corner-all", + "ui-tabs-nav": "ui-corner-all", + "ui-tabs-panel": "ui-corner-bottom", + "ui-tabs-tab": "ui-corner-top" + }, + collapsible: false, + event: "click", + heightStyle: "content", + hide: null, + show: null, + + // Callbacks + activate: null, + beforeActivate: null, + beforeLoad: null, + load: null + }, + + _isLocal: ( function() { + var rhash = /#.*$/; + + return function( anchor ) { + var anchorUrl, locationUrl; + + anchorUrl = anchor.href.replace( rhash, "" ); + locationUrl = location.href.replace( rhash, "" ); + + // Decoding may throw an error if the URL isn't UTF-8 (#9518) + try { + anchorUrl = decodeURIComponent( anchorUrl ); + } catch ( error ) {} + try { + locationUrl = decodeURIComponent( locationUrl ); + } catch ( error ) {} + + return anchor.hash.length > 1 && anchorUrl === locationUrl; + }; + } )(), + + _create: function() { + var that = this, + options = this.options; + + this.running = false; + + this._addClass( "ui-tabs", "ui-widget ui-widget-content" ); + this._toggleClass( "ui-tabs-collapsible", null, options.collapsible ); + + this._processTabs(); + options.active = this._initialActive(); + + // Take disabling tabs via class attribute from HTML + // into account and update option properly. + if ( $.isArray( options.disabled ) ) { + options.disabled = $.unique( options.disabled.concat( + $.map( this.tabs.filter( ".ui-state-disabled" ), function( li ) { + return that.tabs.index( li ); + } ) + ) ).sort(); + } + + // Check for length avoids error when initializing empty list + if ( this.options.active !== false && this.anchors.length ) { + this.active = this._findActive( options.active ); + } else { + this.active = $(); + } + + this._refresh(); + + if ( this.active.length ) { + this.load( options.active ); + } + }, + + _initialActive: function() { + var active = this.options.active, + collapsible = this.options.collapsible, + locationHash = location.hash.substring( 1 ); + + if ( active === null ) { + + // check the fragment identifier in the URL + if ( locationHash ) { + this.tabs.each( function( i, tab ) { + if ( $( tab ).attr( "aria-controls" ) === locationHash ) { + active = i; + return false; + } + } ); + } + + // Check for a tab marked active via a class + if ( active === null ) { + active = this.tabs.index( this.tabs.filter( ".ui-tabs-active" ) ); + } + + // No active tab, set to false + if ( active === null || active === -1 ) { + active = this.tabs.length ? 0 : false; + } + } + + // Handle numbers: negative, out of range + if ( active !== false ) { + active = this.tabs.index( this.tabs.eq( active ) ); + if ( active === -1 ) { + active = collapsible ? false : 0; + } + } + + // Don't allow collapsible: false and active: false + if ( !collapsible && active === false && this.anchors.length ) { + active = 0; + } + + return active; + }, + + _getCreateEventData: function() { + return { + tab: this.active, + panel: !this.active.length ? $() : this._getPanelForTab( this.active ) + }; + }, + + _tabKeydown: function( event ) { + var focusedTab = $( $.ui.safeActiveElement( this.document[ 0 ] ) ).closest( "li" ), + selectedIndex = this.tabs.index( focusedTab ), + goingForward = true; + + if ( this._handlePageNav( event ) ) { + return; + } + + switch ( event.keyCode ) { + case $.ui.keyCode.RIGHT: + case $.ui.keyCode.DOWN: + selectedIndex++; + break; + case $.ui.keyCode.UP: + case $.ui.keyCode.LEFT: + goingForward = false; + selectedIndex--; + break; + case $.ui.keyCode.END: + selectedIndex = this.anchors.length - 1; + break; + case $.ui.keyCode.HOME: + selectedIndex = 0; + break; + case $.ui.keyCode.SPACE: + + // Activate only, no collapsing + event.preventDefault(); + clearTimeout( this.activating ); + this._activate( selectedIndex ); + return; + case $.ui.keyCode.ENTER: + + // Toggle (cancel delayed activation, allow collapsing) + event.preventDefault(); + clearTimeout( this.activating ); + + // Determine if we should collapse or activate + this._activate( selectedIndex === this.options.active ? false : selectedIndex ); + return; + default: + return; + } + + // Focus the appropriate tab, based on which key was pressed + event.preventDefault(); + clearTimeout( this.activating ); + selectedIndex = this._focusNextTab( selectedIndex, goingForward ); + + // Navigating with control/command key will prevent automatic activation + if ( !event.ctrlKey && !event.metaKey ) { + + // Update aria-selected immediately so that AT think the tab is already selected. + // Otherwise AT may confuse the user by stating that they need to activate the tab, + // but the tab will already be activated by the time the announcement finishes. + focusedTab.attr( "aria-selected", "false" ); + this.tabs.eq( selectedIndex ).attr( "aria-selected", "true" ); + + this.activating = this._delay( function() { + this.option( "active", selectedIndex ); + }, this.delay ); + } + }, + + _panelKeydown: function( event ) { + if ( this._handlePageNav( event ) ) { + return; + } + + // Ctrl+up moves focus to the current tab + if ( event.ctrlKey && event.keyCode === $.ui.keyCode.UP ) { + event.preventDefault(); + this.active.trigger( "focus" ); + } + }, + + // Alt+page up/down moves focus to the previous/next tab (and activates) + _handlePageNav: function( event ) { + if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_UP ) { + this._activate( this._focusNextTab( this.options.active - 1, false ) ); + return true; + } + if ( event.altKey && event.keyCode === $.ui.keyCode.PAGE_DOWN ) { + this._activate( this._focusNextTab( this.options.active + 1, true ) ); + return true; + } + }, + + _findNextTab: function( index, goingForward ) { + var lastTabIndex = this.tabs.length - 1; + + function constrain() { + if ( index > lastTabIndex ) { + index = 0; + } + if ( index < 0 ) { + index = lastTabIndex; + } + return index; + } + + while ( $.inArray( constrain(), this.options.disabled ) !== -1 ) { + index = goingForward ? index + 1 : index - 1; + } + + return index; + }, + + _focusNextTab: function( index, goingForward ) { + index = this._findNextTab( index, goingForward ); + this.tabs.eq( index ).trigger( "focus" ); + return index; + }, + + _setOption: function( key, value ) { + if ( key === "active" ) { + + // _activate() will handle invalid values and update this.options + this._activate( value ); + return; + } + + this._super( key, value ); + + if ( key === "collapsible" ) { + this._toggleClass( "ui-tabs-collapsible", null, value ); + + // Setting collapsible: false while collapsed; open first panel + if ( !value && this.options.active === false ) { + this._activate( 0 ); + } + } + + if ( key === "event" ) { + this._setupEvents( value ); + } + + if ( key === "heightStyle" ) { + this._setupHeightStyle( value ); + } + }, + + _sanitizeSelector: function( hash ) { + return hash ? hash.replace( /[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&" ) : ""; + }, + + refresh: function() { + var options = this.options, + lis = this.tablist.children( ":has(a[href])" ); + + // Get disabled tabs from class attribute from HTML + // this will get converted to a boolean if needed in _refresh() + options.disabled = $.map( lis.filter( ".ui-state-disabled" ), function( tab ) { + return lis.index( tab ); + } ); + + this._processTabs(); + + // Was collapsed or no tabs + if ( options.active === false || !this.anchors.length ) { + options.active = false; + this.active = $(); + + // was active, but active tab is gone + } else if ( this.active.length && !$.contains( this.tablist[ 0 ], this.active[ 0 ] ) ) { + + // all remaining tabs are disabled + if ( this.tabs.length === options.disabled.length ) { + options.active = false; + this.active = $(); + + // activate previous tab + } else { + this._activate( this._findNextTab( Math.max( 0, options.active - 1 ), false ) ); + } + + // was active, active tab still exists + } else { + + // make sure active index is correct + options.active = this.tabs.index( this.active ); + } + + this._refresh(); + }, + + _refresh: function() { + this._setOptionDisabled( this.options.disabled ); + this._setupEvents( this.options.event ); + this._setupHeightStyle( this.options.heightStyle ); + + this.tabs.not( this.active ).attr( { + "aria-selected": "false", + "aria-expanded": "false", + tabIndex: -1 + } ); + this.panels.not( this._getPanelForTab( this.active ) ) + .hide() + .attr( { + "aria-hidden": "true" + } ); + + // Make sure one tab is in the tab order + if ( !this.active.length ) { + this.tabs.eq( 0 ).attr( "tabIndex", 0 ); + } else { + this.active + .attr( { + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + } ); + this._addClass( this.active, "ui-tabs-active", "ui-state-active" ); + this._getPanelForTab( this.active ) + .show() + .attr( { + "aria-hidden": "false" + } ); + } + }, + + _processTabs: function() { + var that = this, + prevTabs = this.tabs, + prevAnchors = this.anchors, + prevPanels = this.panels; + + this.tablist = this._getList().attr( "role", "tablist" ); + this._addClass( this.tablist, "ui-tabs-nav", + "ui-helper-reset ui-helper-clearfix ui-widget-header" ); + + // Prevent users from focusing disabled tabs via click + this.tablist + .on( "mousedown" + this.eventNamespace, "> li", function( event ) { + if ( $( this ).is( ".ui-state-disabled" ) ) { + event.preventDefault(); + } + } ) + + // Support: IE <9 + // Preventing the default action in mousedown doesn't prevent IE + // from focusing the element, so if the anchor gets focused, blur. + // We don't have to worry about focusing the previously focused + // element since clicking on a non-focusable element should focus + // the body anyway. + .on( "focus" + this.eventNamespace, ".ui-tabs-anchor", function() { + if ( $( this ).closest( "li" ).is( ".ui-state-disabled" ) ) { + this.blur(); + } + } ); + + this.tabs = this.tablist.find( "> li:has(a[href])" ) + .attr( { + role: "tab", + tabIndex: -1 + } ); + this._addClass( this.tabs, "ui-tabs-tab", "ui-state-default" ); + + this.anchors = this.tabs.map( function() { + return $( "a", this )[ 0 ]; + } ) + .attr( { + role: "presentation", + tabIndex: -1 + } ); + this._addClass( this.anchors, "ui-tabs-anchor" ); + + this.panels = $(); + + this.anchors.each( function( i, anchor ) { + var selector, panel, panelId, + anchorId = $( anchor ).uniqueId().attr( "id" ), + tab = $( anchor ).closest( "li" ), + originalAriaControls = tab.attr( "aria-controls" ); + + // Inline tab + if ( that._isLocal( anchor ) ) { + selector = anchor.hash; + panelId = selector.substring( 1 ); + panel = that.element.find( that._sanitizeSelector( selector ) ); + + // remote tab + } else { + + // If the tab doesn't already have aria-controls, + // generate an id by using a throw-away element + panelId = tab.attr( "aria-controls" ) || $( {} ).uniqueId()[ 0 ].id; + selector = "#" + panelId; + panel = that.element.find( selector ); + if ( !panel.length ) { + panel = that._createPanel( panelId ); + panel.insertAfter( that.panels[ i - 1 ] || that.tablist ); + } + panel.attr( "aria-live", "polite" ); + } + + if ( panel.length ) { + that.panels = that.panels.add( panel ); + } + if ( originalAriaControls ) { + tab.data( "ui-tabs-aria-controls", originalAriaControls ); + } + tab.attr( { + "aria-controls": panelId, + "aria-labelledby": anchorId + } ); + panel.attr( "aria-labelledby", anchorId ); + } ); + + this.panels.attr( "role", "tabpanel" ); + this._addClass( this.panels, "ui-tabs-panel", "ui-widget-content" ); + + // Avoid memory leaks (#10056) + if ( prevTabs ) { + this._off( prevTabs.not( this.tabs ) ); + this._off( prevAnchors.not( this.anchors ) ); + this._off( prevPanels.not( this.panels ) ); + } + }, + + // Allow overriding how to find the list for rare usage scenarios (#7715) + _getList: function() { + return this.tablist || this.element.find( "ol, ul" ).eq( 0 ); + }, + + _createPanel: function( id ) { + return $( "<div>" ) + .attr( "id", id ) + .data( "ui-tabs-destroy", true ); + }, + + _setOptionDisabled: function( disabled ) { + var currentItem, li, i; + + if ( $.isArray( disabled ) ) { + if ( !disabled.length ) { + disabled = false; + } else if ( disabled.length === this.anchors.length ) { + disabled = true; + } + } + + // Disable tabs + for ( i = 0; ( li = this.tabs[ i ] ); i++ ) { + currentItem = $( li ); + if ( disabled === true || $.inArray( i, disabled ) !== -1 ) { + currentItem.attr( "aria-disabled", "true" ); + this._addClass( currentItem, null, "ui-state-disabled" ); + } else { + currentItem.removeAttr( "aria-disabled" ); + this._removeClass( currentItem, null, "ui-state-disabled" ); + } + } + + this.options.disabled = disabled; + + this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, + disabled === true ); + }, + + _setupEvents: function( event ) { + var events = {}; + if ( event ) { + $.each( event.split( " " ), function( index, eventName ) { + events[ eventName ] = "_eventHandler"; + } ); + } + + this._off( this.anchors.add( this.tabs ).add( this.panels ) ); + + // Always prevent the default action, even when disabled + this._on( true, this.anchors, { + click: function( event ) { + event.preventDefault(); + } + } ); + this._on( this.anchors, events ); + this._on( this.tabs, { keydown: "_tabKeydown" } ); + this._on( this.panels, { keydown: "_panelKeydown" } ); + + this._focusable( this.tabs ); + this._hoverable( this.tabs ); + }, + + _setupHeightStyle: function( heightStyle ) { + var maxHeight, + parent = this.element.parent(); + + if ( heightStyle === "fill" ) { + maxHeight = parent.height(); + maxHeight -= this.element.outerHeight() - this.element.height(); + + this.element.siblings( ":visible" ).each( function() { + var elem = $( this ), + position = elem.css( "position" ); + + if ( position === "absolute" || position === "fixed" ) { + return; + } + maxHeight -= elem.outerHeight( true ); + } ); + + this.element.children().not( this.panels ).each( function() { + maxHeight -= $( this ).outerHeight( true ); + } ); + + this.panels.each( function() { + $( this ).height( Math.max( 0, maxHeight - + $( this ).innerHeight() + $( this ).height() ) ); + } ) + .css( "overflow", "auto" ); + } else if ( heightStyle === "auto" ) { + maxHeight = 0; + this.panels.each( function() { + maxHeight = Math.max( maxHeight, $( this ).height( "" ).height() ); + } ).height( maxHeight ); + } + }, + + _eventHandler: function( event ) { + var options = this.options, + active = this.active, + anchor = $( event.currentTarget ), + tab = anchor.closest( "li" ), + clickedIsActive = tab[ 0 ] === active[ 0 ], + collapsing = clickedIsActive && options.collapsible, + toShow = collapsing ? $() : this._getPanelForTab( tab ), + toHide = !active.length ? $() : this._getPanelForTab( active ), + eventData = { + oldTab: active, + oldPanel: toHide, + newTab: collapsing ? $() : tab, + newPanel: toShow + }; + + event.preventDefault(); + + if ( tab.hasClass( "ui-state-disabled" ) || + + // tab is already loading + tab.hasClass( "ui-tabs-loading" ) || + + // can't switch durning an animation + this.running || + + // click on active header, but not collapsible + ( clickedIsActive && !options.collapsible ) || + + // allow canceling activation + ( this._trigger( "beforeActivate", event, eventData ) === false ) ) { + return; + } + + options.active = collapsing ? false : this.tabs.index( tab ); + + this.active = clickedIsActive ? $() : tab; + if ( this.xhr ) { + this.xhr.abort(); + } + + if ( !toHide.length && !toShow.length ) { + $.error( "jQuery UI Tabs: Mismatching fragment identifier." ); + } + + if ( toShow.length ) { + this.load( this.tabs.index( tab ), event ); + } + this._toggle( event, eventData ); + }, + + // Handles show/hide for selecting tabs + _toggle: function( event, eventData ) { + var that = this, + toShow = eventData.newPanel, + toHide = eventData.oldPanel; + + this.running = true; + + function complete() { + that.running = false; + that._trigger( "activate", event, eventData ); + } + + function show() { + that._addClass( eventData.newTab.closest( "li" ), "ui-tabs-active", "ui-state-active" ); + + if ( toShow.length && that.options.show ) { + that._show( toShow, that.options.show, complete ); + } else { + toShow.show(); + complete(); + } + } + + // Start out by hiding, then showing, then completing + if ( toHide.length && this.options.hide ) { + this._hide( toHide, this.options.hide, function() { + that._removeClass( eventData.oldTab.closest( "li" ), + "ui-tabs-active", "ui-state-active" ); + show(); + } ); + } else { + this._removeClass( eventData.oldTab.closest( "li" ), + "ui-tabs-active", "ui-state-active" ); + toHide.hide(); + show(); + } + + toHide.attr( "aria-hidden", "true" ); + eventData.oldTab.attr( { + "aria-selected": "false", + "aria-expanded": "false" + } ); + + // If we're switching tabs, remove the old tab from the tab order. + // If we're opening from collapsed state, remove the previous tab from the tab order. + // If we're collapsing, then keep the collapsing tab in the tab order. + if ( toShow.length && toHide.length ) { + eventData.oldTab.attr( "tabIndex", -1 ); + } else if ( toShow.length ) { + this.tabs.filter( function() { + return $( this ).attr( "tabIndex" ) === 0; + } ) + .attr( "tabIndex", -1 ); + } + + toShow.attr( "aria-hidden", "false" ); + eventData.newTab.attr( { + "aria-selected": "true", + "aria-expanded": "true", + tabIndex: 0 + } ); + }, + + _activate: function( index ) { + var anchor, + active = this._findActive( index ); + + // Trying to activate the already active panel + if ( active[ 0 ] === this.active[ 0 ] ) { + return; + } + + // Trying to collapse, simulate a click on the current active header + if ( !active.length ) { + active = this.active; + } + + anchor = active.find( ".ui-tabs-anchor" )[ 0 ]; + this._eventHandler( { + target: anchor, + currentTarget: anchor, + preventDefault: $.noop + } ); + }, + + _findActive: function( index ) { + return index === false ? $() : this.tabs.eq( index ); + }, + + _getIndex: function( index ) { + + // meta-function to give users option to provide a href string instead of a numerical index. + if ( typeof index === "string" ) { + index = this.anchors.index( this.anchors.filter( "[href$='" + + $.ui.escapeSelector( index ) + "']" ) ); + } + + return index; + }, + + _destroy: function() { + if ( this.xhr ) { + this.xhr.abort(); + } + + this.tablist + .removeAttr( "role" ) + .off( this.eventNamespace ); + + this.anchors + .removeAttr( "role tabIndex" ) + .removeUniqueId(); + + this.tabs.add( this.panels ).each( function() { + if ( $.data( this, "ui-tabs-destroy" ) ) { + $( this ).remove(); + } else { + $( this ).removeAttr( "role tabIndex " + + "aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded" ); + } + } ); + + this.tabs.each( function() { + var li = $( this ), + prev = li.data( "ui-tabs-aria-controls" ); + if ( prev ) { + li + .attr( "aria-controls", prev ) + .removeData( "ui-tabs-aria-controls" ); + } else { + li.removeAttr( "aria-controls" ); + } + } ); + + this.panels.show(); + + if ( this.options.heightStyle !== "content" ) { + this.panels.css( "height", "" ); + } + }, + + enable: function( index ) { + var disabled = this.options.disabled; + if ( disabled === false ) { + return; + } + + if ( index === undefined ) { + disabled = false; + } else { + index = this._getIndex( index ); + if ( $.isArray( disabled ) ) { + disabled = $.map( disabled, function( num ) { + return num !== index ? num : null; + } ); + } else { + disabled = $.map( this.tabs, function( li, num ) { + return num !== index ? num : null; + } ); + } + } + this._setOptionDisabled( disabled ); + }, + + disable: function( index ) { + var disabled = this.options.disabled; + if ( disabled === true ) { + return; + } + + if ( index === undefined ) { + disabled = true; + } else { + index = this._getIndex( index ); + if ( $.inArray( index, disabled ) !== -1 ) { + return; + } + if ( $.isArray( disabled ) ) { + disabled = $.merge( [ index ], disabled ).sort(); + } else { + disabled = [ index ]; + } + } + this._setOptionDisabled( disabled ); + }, + + load: function( index, event ) { + index = this._getIndex( index ); + var that = this, + tab = this.tabs.eq( index ), + anchor = tab.find( ".ui-tabs-anchor" ), + panel = this._getPanelForTab( tab ), + eventData = { + tab: tab, + panel: panel + }, + complete = function( jqXHR, status ) { + if ( status === "abort" ) { + that.panels.stop( false, true ); + } + + that._removeClass( tab, "ui-tabs-loading" ); + panel.removeAttr( "aria-busy" ); + + if ( jqXHR === that.xhr ) { + delete that.xhr; + } + }; + + // Not remote + if ( this._isLocal( anchor[ 0 ] ) ) { + return; + } + + this.xhr = $.ajax( this._ajaxSettings( anchor, event, eventData ) ); + + // Support: jQuery <1.8 + // jQuery <1.8 returns false if the request is canceled in beforeSend, + // but as of 1.8, $.ajax() always returns a jqXHR object. + if ( this.xhr && this.xhr.statusText !== "canceled" ) { + this._addClass( tab, "ui-tabs-loading" ); + panel.attr( "aria-busy", "true" ); + + this.xhr + .done( function( response, status, jqXHR ) { + + // support: jQuery <1.8 + // http://bugs.jquery.com/ticket/11778 + setTimeout( function() { + panel.html( response ); + that._trigger( "load", event, eventData ); + + complete( jqXHR, status ); + }, 1 ); + } ) + .fail( function( jqXHR, status ) { + + // support: jQuery <1.8 + // http://bugs.jquery.com/ticket/11778 + setTimeout( function() { + complete( jqXHR, status ); + }, 1 ); + } ); + } + }, + + _ajaxSettings: function( anchor, event, eventData ) { + var that = this; + return { + + // Support: IE <11 only + // Strip any hash that exists to prevent errors with the Ajax request + url: anchor.attr( "href" ).replace( /#.*$/, "" ), + beforeSend: function( jqXHR, settings ) { + return that._trigger( "beforeLoad", event, + $.extend( { jqXHR: jqXHR, ajaxSettings: settings }, eventData ) ); + } + }; + }, + + _getPanelForTab: function( tab ) { + var id = $( tab ).attr( "aria-controls" ); + return this.element.find( this._sanitizeSelector( "#" + id ) ); + } +} ); + +// DEPRECATED +// TODO: Switch return back to widget declaration at top of file when this is removed +if ( $.uiBackCompat !== false ) { + + // Backcompat for ui-tab class (now ui-tabs-tab) + $.widget( "ui.tabs", $.ui.tabs, { + _processTabs: function() { + this._superApply( arguments ); + this._addClass( this.tabs, "ui-tab" ); + } + } ); +} + +var widgetsTabs = $.ui.tabs; + + +/*! + * jQuery UI Tooltip 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Tooltip +//>>group: Widgets +//>>description: Shows additional information for any element on hover or focus. +//>>docs: http://api.jqueryui.com/tooltip/ +//>>demos: http://jqueryui.com/tooltip/ +//>>css.structure: ../../themes/base/core.css +//>>css.structure: ../../themes/base/tooltip.css +//>>css.theme: ../../themes/base/theme.css + + + +$.widget( "ui.tooltip", { + version: "1.12.1", + options: { + classes: { + "ui-tooltip": "ui-corner-all ui-widget-shadow" + }, + content: function() { + + // support: IE<9, Opera in jQuery <1.7 + // .text() can't accept undefined, so coerce to a string + var title = $( this ).attr( "title" ) || ""; + + // Escape title, since we're going from an attribute to raw HTML + return $( "<a>" ).text( title ).html(); + }, + hide: true, + + // Disabled elements have inconsistent behavior across browsers (#8661) + items: "[title]:not([disabled])", + position: { + my: "left top+15", + at: "left bottom", + collision: "flipfit flip" + }, + show: true, + track: false, + + // Callbacks + close: null, + open: null + }, + + _addDescribedBy: function( elem, id ) { + var describedby = ( elem.attr( "aria-describedby" ) || "" ).split( /\s+/ ); + describedby.push( id ); + elem + .data( "ui-tooltip-id", id ) + .attr( "aria-describedby", $.trim( describedby.join( " " ) ) ); + }, + + _removeDescribedBy: function( elem ) { + var id = elem.data( "ui-tooltip-id" ), + describedby = ( elem.attr( "aria-describedby" ) || "" ).split( /\s+/ ), + index = $.inArray( id, describedby ); + + if ( index !== -1 ) { + describedby.splice( index, 1 ); + } + + elem.removeData( "ui-tooltip-id" ); + describedby = $.trim( describedby.join( " " ) ); + if ( describedby ) { + elem.attr( "aria-describedby", describedby ); + } else { + elem.removeAttr( "aria-describedby" ); + } + }, + + _create: function() { + this._on( { + mouseover: "open", + focusin: "open" + } ); + + // IDs of generated tooltips, needed for destroy + this.tooltips = {}; + + // IDs of parent tooltips where we removed the title attribute + this.parents = {}; + + // Append the aria-live region so tooltips announce correctly + this.liveRegion = $( "<div>" ) + .attr( { + role: "log", + "aria-live": "assertive", + "aria-relevant": "additions" + } ) + .appendTo( this.document[ 0 ].body ); + this._addClass( this.liveRegion, null, "ui-helper-hidden-accessible" ); + + this.disabledTitles = $( [] ); + }, + + _setOption: function( key, value ) { + var that = this; + + this._super( key, value ); + + if ( key === "content" ) { + $.each( this.tooltips, function( id, tooltipData ) { + that._updateContent( tooltipData.element ); + } ); + } + }, + + _setOptionDisabled: function( value ) { + this[ value ? "_disable" : "_enable" ](); + }, + + _disable: function() { + var that = this; + + // Close open tooltips + $.each( this.tooltips, function( id, tooltipData ) { + var event = $.Event( "blur" ); + event.target = event.currentTarget = tooltipData.element[ 0 ]; + that.close( event, true ); + } ); + + // Remove title attributes to prevent native tooltips + this.disabledTitles = this.disabledTitles.add( + this.element.find( this.options.items ).addBack() + .filter( function() { + var element = $( this ); + if ( element.is( "[title]" ) ) { + return element + .data( "ui-tooltip-title", element.attr( "title" ) ) + .removeAttr( "title" ); + } + } ) + ); + }, + + _enable: function() { + + // restore title attributes + this.disabledTitles.each( function() { + var element = $( this ); + if ( element.data( "ui-tooltip-title" ) ) { + element.attr( "title", element.data( "ui-tooltip-title" ) ); + } + } ); + this.disabledTitles = $( [] ); + }, + + open: function( event ) { + var that = this, + target = $( event ? event.target : this.element ) + + // we need closest here due to mouseover bubbling, + // but always pointing at the same event target + .closest( this.options.items ); + + // No element to show a tooltip for or the tooltip is already open + if ( !target.length || target.data( "ui-tooltip-id" ) ) { + return; + } + + if ( target.attr( "title" ) ) { + target.data( "ui-tooltip-title", target.attr( "title" ) ); + } + + target.data( "ui-tooltip-open", true ); + + // Kill parent tooltips, custom or native, for hover + if ( event && event.type === "mouseover" ) { + target.parents().each( function() { + var parent = $( this ), + blurEvent; + if ( parent.data( "ui-tooltip-open" ) ) { + blurEvent = $.Event( "blur" ); + blurEvent.target = blurEvent.currentTarget = this; + that.close( blurEvent, true ); + } + if ( parent.attr( "title" ) ) { + parent.uniqueId(); + that.parents[ this.id ] = { + element: this, + title: parent.attr( "title" ) + }; + parent.attr( "title", "" ); + } + } ); + } + + this._registerCloseHandlers( event, target ); + this._updateContent( target, event ); + }, + + _updateContent: function( target, event ) { + var content, + contentOption = this.options.content, + that = this, + eventType = event ? event.type : null; + + if ( typeof contentOption === "string" || contentOption.nodeType || + contentOption.jquery ) { + return this._open( event, target, contentOption ); + } + + content = contentOption.call( target[ 0 ], function( response ) { + + // IE may instantly serve a cached response for ajax requests + // delay this call to _open so the other call to _open runs first + that._delay( function() { + + // Ignore async response if tooltip was closed already + if ( !target.data( "ui-tooltip-open" ) ) { + return; + } + + // JQuery creates a special event for focusin when it doesn't + // exist natively. To improve performance, the native event + // object is reused and the type is changed. Therefore, we can't + // rely on the type being correct after the event finished + // bubbling, so we set it back to the previous value. (#8740) + if ( event ) { + event.type = eventType; + } + this._open( event, target, response ); + } ); + } ); + if ( content ) { + this._open( event, target, content ); + } + }, + + _open: function( event, target, content ) { + var tooltipData, tooltip, delayedShow, a11yContent, + positionOption = $.extend( {}, this.options.position ); + + if ( !content ) { + return; + } + + // Content can be updated multiple times. If the tooltip already + // exists, then just update the content and bail. + tooltipData = this._find( target ); + if ( tooltipData ) { + tooltipData.tooltip.find( ".ui-tooltip-content" ).html( content ); + return; + } + + // If we have a title, clear it to prevent the native tooltip + // we have to check first to avoid defining a title if none exists + // (we don't want to cause an element to start matching [title]) + // + // We use removeAttr only for key events, to allow IE to export the correct + // accessible attributes. For mouse events, set to empty string to avoid + // native tooltip showing up (happens only when removing inside mouseover). + if ( target.is( "[title]" ) ) { + if ( event && event.type === "mouseover" ) { + target.attr( "title", "" ); + } else { + target.removeAttr( "title" ); + } + } + + tooltipData = this._tooltip( target ); + tooltip = tooltipData.tooltip; + this._addDescribedBy( target, tooltip.attr( "id" ) ); + tooltip.find( ".ui-tooltip-content" ).html( content ); + + // Support: Voiceover on OS X, JAWS on IE <= 9 + // JAWS announces deletions even when aria-relevant="additions" + // Voiceover will sometimes re-read the entire log region's contents from the beginning + this.liveRegion.children().hide(); + a11yContent = $( "<div>" ).html( tooltip.find( ".ui-tooltip-content" ).html() ); + a11yContent.removeAttr( "name" ).find( "[name]" ).removeAttr( "name" ); + a11yContent.removeAttr( "id" ).find( "[id]" ).removeAttr( "id" ); + a11yContent.appendTo( this.liveRegion ); + + function position( event ) { + positionOption.of = event; + if ( tooltip.is( ":hidden" ) ) { + return; + } + tooltip.position( positionOption ); + } + if ( this.options.track && event && /^mouse/.test( event.type ) ) { + this._on( this.document, { + mousemove: position + } ); + + // trigger once to override element-relative positioning + position( event ); + } else { + tooltip.position( $.extend( { + of: target + }, this.options.position ) ); + } + + tooltip.hide(); + + this._show( tooltip, this.options.show ); + + // Handle tracking tooltips that are shown with a delay (#8644). As soon + // as the tooltip is visible, position the tooltip using the most recent + // event. + // Adds the check to add the timers only when both delay and track options are set (#14682) + if ( this.options.track && this.options.show && this.options.show.delay ) { + delayedShow = this.delayedShow = setInterval( function() { + if ( tooltip.is( ":visible" ) ) { + position( positionOption.of ); + clearInterval( delayedShow ); + } + }, $.fx.interval ); + } + + this._trigger( "open", event, { tooltip: tooltip } ); + }, + + _registerCloseHandlers: function( event, target ) { + var events = { + keyup: function( event ) { + if ( event.keyCode === $.ui.keyCode.ESCAPE ) { + var fakeEvent = $.Event( event ); + fakeEvent.currentTarget = target[ 0 ]; + this.close( fakeEvent, true ); + } + } + }; + + // Only bind remove handler for delegated targets. Non-delegated + // tooltips will handle this in destroy. + if ( target[ 0 ] !== this.element[ 0 ] ) { + events.remove = function() { + this._removeTooltip( this._find( target ).tooltip ); + }; + } + + if ( !event || event.type === "mouseover" ) { + events.mouseleave = "close"; + } + if ( !event || event.type === "focusin" ) { + events.focusout = "close"; + } + this._on( true, target, events ); + }, + + close: function( event ) { + var tooltip, + that = this, + target = $( event ? event.currentTarget : this.element ), + tooltipData = this._find( target ); + + // The tooltip may already be closed + if ( !tooltipData ) { + + // We set ui-tooltip-open immediately upon open (in open()), but only set the + // additional data once there's actually content to show (in _open()). So even if the + // tooltip doesn't have full data, we always remove ui-tooltip-open in case we're in + // the period between open() and _open(). + target.removeData( "ui-tooltip-open" ); + return; + } + + tooltip = tooltipData.tooltip; + + // Disabling closes the tooltip, so we need to track when we're closing + // to avoid an infinite loop in case the tooltip becomes disabled on close + if ( tooltipData.closing ) { + return; + } + + // Clear the interval for delayed tracking tooltips + clearInterval( this.delayedShow ); + + // Only set title if we had one before (see comment in _open()) + // If the title attribute has changed since open(), don't restore + if ( target.data( "ui-tooltip-title" ) && !target.attr( "title" ) ) { + target.attr( "title", target.data( "ui-tooltip-title" ) ); + } + + this._removeDescribedBy( target ); + + tooltipData.hiding = true; + tooltip.stop( true ); + this._hide( tooltip, this.options.hide, function() { + that._removeTooltip( $( this ) ); + } ); + + target.removeData( "ui-tooltip-open" ); + this._off( target, "mouseleave focusout keyup" ); + + // Remove 'remove' binding only on delegated targets + if ( target[ 0 ] !== this.element[ 0 ] ) { + this._off( target, "remove" ); + } + this._off( this.document, "mousemove" ); + + if ( event && event.type === "mouseleave" ) { + $.each( this.parents, function( id, parent ) { + $( parent.element ).attr( "title", parent.title ); + delete that.parents[ id ]; + } ); + } + + tooltipData.closing = true; + this._trigger( "close", event, { tooltip: tooltip } ); + if ( !tooltipData.hiding ) { + tooltipData.closing = false; + } + }, + + _tooltip: function( element ) { + var tooltip = $( "<div>" ).attr( "role", "tooltip" ), + content = $( "<div>" ).appendTo( tooltip ), + id = tooltip.uniqueId().attr( "id" ); + + this._addClass( content, "ui-tooltip-content" ); + this._addClass( tooltip, "ui-tooltip", "ui-widget ui-widget-content" ); + + tooltip.appendTo( this._appendTo( element ) ); + + return this.tooltips[ id ] = { + element: element, + tooltip: tooltip + }; + }, + + _find: function( target ) { + var id = target.data( "ui-tooltip-id" ); + return id ? this.tooltips[ id ] : null; + }, + + _removeTooltip: function( tooltip ) { + tooltip.remove(); + delete this.tooltips[ tooltip.attr( "id" ) ]; + }, + + _appendTo: function( target ) { + var element = target.closest( ".ui-front, dialog" ); + + if ( !element.length ) { + element = this.document[ 0 ].body; + } + + return element; + }, + + _destroy: function() { + var that = this; + + // Close open tooltips + $.each( this.tooltips, function( id, tooltipData ) { + + // Delegate to close method to handle common cleanup + var event = $.Event( "blur" ), + element = tooltipData.element; + event.target = event.currentTarget = element[ 0 ]; + that.close( event, true ); + + // Remove immediately; destroying an open tooltip doesn't use the + // hide animation + $( "#" + id ).remove(); + + // Restore the title + if ( element.data( "ui-tooltip-title" ) ) { + + // If the title attribute has changed since open(), don't restore + if ( !element.attr( "title" ) ) { + element.attr( "title", element.data( "ui-tooltip-title" ) ); + } + element.removeData( "ui-tooltip-title" ); + } + } ); + this.liveRegion.remove(); + } +} ); + +// DEPRECATED +// TODO: Switch return back to widget declaration at top of file when this is removed +if ( $.uiBackCompat !== false ) { + + // Backcompat for tooltipClass option + $.widget( "ui.tooltip", $.ui.tooltip, { + options: { + tooltipClass: null + }, + _tooltip: function() { + var tooltipData = this._superApply( arguments ); + if ( this.options.tooltipClass ) { + tooltipData.tooltip.addClass( this.options.tooltipClass ); + } + return tooltipData; + } + } ); +} + +var widgetsTooltip = $.ui.tooltip; + + +/*! + * jQuery UI Effects 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Effects Core +//>>group: Effects +// jscs:disable maximumLineLength +//>>description: Extends the internal jQuery effects. Includes morphing and easing. Required by all other effects. +// jscs:enable maximumLineLength +//>>docs: http://api.jqueryui.com/category/effects-core/ +//>>demos: http://jqueryui.com/effect/ + + + +var dataSpace = "ui-effects-", + dataSpaceStyle = "ui-effects-style", + dataSpaceAnimated = "ui-effects-animated", + + // Create a local jQuery because jQuery Color relies on it and the + // global may not exist with AMD and a custom build (#10199) + jQuery = $; + +$.effects = { + effect: {} +}; + +/*! + * jQuery Color Animations v2.1.2 + * https://github.com/jquery/jquery-color + * + * Copyright 2014 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * Date: Wed Jan 16 08:47:09 2013 -0600 + */ +( function( jQuery, undefined ) { + + var stepHooks = "backgroundColor borderBottomColor borderLeftColor borderRightColor " + + "borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor", + + // Plusequals test for += 100 -= 100 + rplusequals = /^([\-+])=\s*(\d+\.?\d*)/, + + // A set of RE's that can match strings and generate color tuples. + stringParsers = [ { + re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, + parse: function( execResult ) { + return [ + execResult[ 1 ], + execResult[ 2 ], + execResult[ 3 ], + execResult[ 4 ] + ]; + } + }, { + re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, + parse: function( execResult ) { + return [ + execResult[ 1 ] * 2.55, + execResult[ 2 ] * 2.55, + execResult[ 3 ] * 2.55, + execResult[ 4 ] + ]; + } + }, { + + // This regex ignores A-F because it's compared against an already lowercased string + re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/, + parse: function( execResult ) { + return [ + parseInt( execResult[ 1 ], 16 ), + parseInt( execResult[ 2 ], 16 ), + parseInt( execResult[ 3 ], 16 ) + ]; + } + }, { + + // This regex ignores A-F because it's compared against an already lowercased string + re: /#([a-f0-9])([a-f0-9])([a-f0-9])/, + parse: function( execResult ) { + return [ + parseInt( execResult[ 1 ] + execResult[ 1 ], 16 ), + parseInt( execResult[ 2 ] + execResult[ 2 ], 16 ), + parseInt( execResult[ 3 ] + execResult[ 3 ], 16 ) + ]; + } + }, { + re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/, + space: "hsla", + parse: function( execResult ) { + return [ + execResult[ 1 ], + execResult[ 2 ] / 100, + execResult[ 3 ] / 100, + execResult[ 4 ] + ]; + } + } ], + + // JQuery.Color( ) + color = jQuery.Color = function( color, green, blue, alpha ) { + return new jQuery.Color.fn.parse( color, green, blue, alpha ); + }, + spaces = { + rgba: { + props: { + red: { + idx: 0, + type: "byte" + }, + green: { + idx: 1, + type: "byte" + }, + blue: { + idx: 2, + type: "byte" + } + } + }, + + hsla: { + props: { + hue: { + idx: 0, + type: "degrees" + }, + saturation: { + idx: 1, + type: "percent" + }, + lightness: { + idx: 2, + type: "percent" + } + } + } + }, + propTypes = { + "byte": { + floor: true, + max: 255 + }, + "percent": { + max: 1 + }, + "degrees": { + mod: 360, + floor: true + } + }, + support = color.support = {}, + + // Element for support tests + supportElem = jQuery( "<p>" )[ 0 ], + + // Colors = jQuery.Color.names + colors, + + // Local aliases of functions called often + each = jQuery.each; + +// Determine rgba support immediately +supportElem.style.cssText = "background-color:rgba(1,1,1,.5)"; +support.rgba = supportElem.style.backgroundColor.indexOf( "rgba" ) > -1; + +// Define cache name and alpha properties +// for rgba and hsla spaces +each( spaces, function( spaceName, space ) { + space.cache = "_" + spaceName; + space.props.alpha = { + idx: 3, + type: "percent", + def: 1 + }; +} ); + +function clamp( value, prop, allowEmpty ) { + var type = propTypes[ prop.type ] || {}; + + if ( value == null ) { + return ( allowEmpty || !prop.def ) ? null : prop.def; + } + + // ~~ is an short way of doing floor for positive numbers + value = type.floor ? ~~value : parseFloat( value ); + + // IE will pass in empty strings as value for alpha, + // which will hit this case + if ( isNaN( value ) ) { + return prop.def; + } + + if ( type.mod ) { + + // We add mod before modding to make sure that negatives values + // get converted properly: -10 -> 350 + return ( value + type.mod ) % type.mod; + } + + // For now all property types without mod have min and max + return 0 > value ? 0 : type.max < value ? type.max : value; +} + +function stringParse( string ) { + var inst = color(), + rgba = inst._rgba = []; + + string = string.toLowerCase(); + + each( stringParsers, function( i, parser ) { + var parsed, + match = parser.re.exec( string ), + values = match && parser.parse( match ), + spaceName = parser.space || "rgba"; + + if ( values ) { + parsed = inst[ spaceName ]( values ); + + // If this was an rgba parse the assignment might happen twice + // oh well.... + inst[ spaces[ spaceName ].cache ] = parsed[ spaces[ spaceName ].cache ]; + rgba = inst._rgba = parsed._rgba; + + // Exit each( stringParsers ) here because we matched + return false; + } + } ); + + // Found a stringParser that handled it + if ( rgba.length ) { + + // If this came from a parsed string, force "transparent" when alpha is 0 + // chrome, (and maybe others) return "transparent" as rgba(0,0,0,0) + if ( rgba.join() === "0,0,0,0" ) { + jQuery.extend( rgba, colors.transparent ); + } + return inst; + } + + // Named colors + return colors[ string ]; +} + +color.fn = jQuery.extend( color.prototype, { + parse: function( red, green, blue, alpha ) { + if ( red === undefined ) { + this._rgba = [ null, null, null, null ]; + return this; + } + if ( red.jquery || red.nodeType ) { + red = jQuery( red ).css( green ); + green = undefined; + } + + var inst = this, + type = jQuery.type( red ), + rgba = this._rgba = []; + + // More than 1 argument specified - assume ( red, green, blue, alpha ) + if ( green !== undefined ) { + red = [ red, green, blue, alpha ]; + type = "array"; + } + + if ( type === "string" ) { + return this.parse( stringParse( red ) || colors._default ); + } + + if ( type === "array" ) { + each( spaces.rgba.props, function( key, prop ) { + rgba[ prop.idx ] = clamp( red[ prop.idx ], prop ); + } ); + return this; + } + + if ( type === "object" ) { + if ( red instanceof color ) { + each( spaces, function( spaceName, space ) { + if ( red[ space.cache ] ) { + inst[ space.cache ] = red[ space.cache ].slice(); + } + } ); + } else { + each( spaces, function( spaceName, space ) { + var cache = space.cache; + each( space.props, function( key, prop ) { + + // If the cache doesn't exist, and we know how to convert + if ( !inst[ cache ] && space.to ) { + + // If the value was null, we don't need to copy it + // if the key was alpha, we don't need to copy it either + if ( key === "alpha" || red[ key ] == null ) { + return; + } + inst[ cache ] = space.to( inst._rgba ); + } + + // This is the only case where we allow nulls for ALL properties. + // call clamp with alwaysAllowEmpty + inst[ cache ][ prop.idx ] = clamp( red[ key ], prop, true ); + } ); + + // Everything defined but alpha? + if ( inst[ cache ] && + jQuery.inArray( null, inst[ cache ].slice( 0, 3 ) ) < 0 ) { + + // Use the default of 1 + inst[ cache ][ 3 ] = 1; + if ( space.from ) { + inst._rgba = space.from( inst[ cache ] ); + } + } + } ); + } + return this; + } + }, + is: function( compare ) { + var is = color( compare ), + same = true, + inst = this; + + each( spaces, function( _, space ) { + var localCache, + isCache = is[ space.cache ]; + if ( isCache ) { + localCache = inst[ space.cache ] || space.to && space.to( inst._rgba ) || []; + each( space.props, function( _, prop ) { + if ( isCache[ prop.idx ] != null ) { + same = ( isCache[ prop.idx ] === localCache[ prop.idx ] ); + return same; + } + } ); + } + return same; + } ); + return same; + }, + _space: function() { + var used = [], + inst = this; + each( spaces, function( spaceName, space ) { + if ( inst[ space.cache ] ) { + used.push( spaceName ); + } + } ); + return used.pop(); + }, + transition: function( other, distance ) { + var end = color( other ), + spaceName = end._space(), + space = spaces[ spaceName ], + startColor = this.alpha() === 0 ? color( "transparent" ) : this, + start = startColor[ space.cache ] || space.to( startColor._rgba ), + result = start.slice(); + + end = end[ space.cache ]; + each( space.props, function( key, prop ) { + var index = prop.idx, + startValue = start[ index ], + endValue = end[ index ], + type = propTypes[ prop.type ] || {}; + + // If null, don't override start value + if ( endValue === null ) { + return; + } + + // If null - use end + if ( startValue === null ) { + result[ index ] = endValue; + } else { + if ( type.mod ) { + if ( endValue - startValue > type.mod / 2 ) { + startValue += type.mod; + } else if ( startValue - endValue > type.mod / 2 ) { + startValue -= type.mod; + } + } + result[ index ] = clamp( ( endValue - startValue ) * distance + startValue, prop ); + } + } ); + return this[ spaceName ]( result ); + }, + blend: function( opaque ) { + + // If we are already opaque - return ourself + if ( this._rgba[ 3 ] === 1 ) { + return this; + } + + var rgb = this._rgba.slice(), + a = rgb.pop(), + blend = color( opaque )._rgba; + + return color( jQuery.map( rgb, function( v, i ) { + return ( 1 - a ) * blend[ i ] + a * v; + } ) ); + }, + toRgbaString: function() { + var prefix = "rgba(", + rgba = jQuery.map( this._rgba, function( v, i ) { + return v == null ? ( i > 2 ? 1 : 0 ) : v; + } ); + + if ( rgba[ 3 ] === 1 ) { + rgba.pop(); + prefix = "rgb("; + } + + return prefix + rgba.join() + ")"; + }, + toHslaString: function() { + var prefix = "hsla(", + hsla = jQuery.map( this.hsla(), function( v, i ) { + if ( v == null ) { + v = i > 2 ? 1 : 0; + } + + // Catch 1 and 2 + if ( i && i < 3 ) { + v = Math.round( v * 100 ) + "%"; + } + return v; + } ); + + if ( hsla[ 3 ] === 1 ) { + hsla.pop(); + prefix = "hsl("; + } + return prefix + hsla.join() + ")"; + }, + toHexString: function( includeAlpha ) { + var rgba = this._rgba.slice(), + alpha = rgba.pop(); + + if ( includeAlpha ) { + rgba.push( ~~( alpha * 255 ) ); + } + + return "#" + jQuery.map( rgba, function( v ) { + + // Default to 0 when nulls exist + v = ( v || 0 ).toString( 16 ); + return v.length === 1 ? "0" + v : v; + } ).join( "" ); + }, + toString: function() { + return this._rgba[ 3 ] === 0 ? "transparent" : this.toRgbaString(); + } +} ); +color.fn.parse.prototype = color.fn; + +// Hsla conversions adapted from: +// https://code.google.com/p/maashaack/source/browse/packages/graphics/trunk/src/graphics/colors/HUE2RGB.as?r=5021 + +function hue2rgb( p, q, h ) { + h = ( h + 1 ) % 1; + if ( h * 6 < 1 ) { + return p + ( q - p ) * h * 6; + } + if ( h * 2 < 1 ) { + return q; + } + if ( h * 3 < 2 ) { + return p + ( q - p ) * ( ( 2 / 3 ) - h ) * 6; + } + return p; +} + +spaces.hsla.to = function( rgba ) { + if ( rgba[ 0 ] == null || rgba[ 1 ] == null || rgba[ 2 ] == null ) { + return [ null, null, null, rgba[ 3 ] ]; + } + var r = rgba[ 0 ] / 255, + g = rgba[ 1 ] / 255, + b = rgba[ 2 ] / 255, + a = rgba[ 3 ], + max = Math.max( r, g, b ), + min = Math.min( r, g, b ), + diff = max - min, + add = max + min, + l = add * 0.5, + h, s; + + if ( min === max ) { + h = 0; + } else if ( r === max ) { + h = ( 60 * ( g - b ) / diff ) + 360; + } else if ( g === max ) { + h = ( 60 * ( b - r ) / diff ) + 120; + } else { + h = ( 60 * ( r - g ) / diff ) + 240; + } + + // Chroma (diff) == 0 means greyscale which, by definition, saturation = 0% + // otherwise, saturation is based on the ratio of chroma (diff) to lightness (add) + if ( diff === 0 ) { + s = 0; + } else if ( l <= 0.5 ) { + s = diff / add; + } else { + s = diff / ( 2 - add ); + } + return [ Math.round( h ) % 360, s, l, a == null ? 1 : a ]; +}; + +spaces.hsla.from = function( hsla ) { + if ( hsla[ 0 ] == null || hsla[ 1 ] == null || hsla[ 2 ] == null ) { + return [ null, null, null, hsla[ 3 ] ]; + } + var h = hsla[ 0 ] / 360, + s = hsla[ 1 ], + l = hsla[ 2 ], + a = hsla[ 3 ], + q = l <= 0.5 ? l * ( 1 + s ) : l + s - l * s, + p = 2 * l - q; + + return [ + Math.round( hue2rgb( p, q, h + ( 1 / 3 ) ) * 255 ), + Math.round( hue2rgb( p, q, h ) * 255 ), + Math.round( hue2rgb( p, q, h - ( 1 / 3 ) ) * 255 ), + a + ]; +}; + +each( spaces, function( spaceName, space ) { + var props = space.props, + cache = space.cache, + to = space.to, + from = space.from; + + // Makes rgba() and hsla() + color.fn[ spaceName ] = function( value ) { + + // Generate a cache for this space if it doesn't exist + if ( to && !this[ cache ] ) { + this[ cache ] = to( this._rgba ); + } + if ( value === undefined ) { + return this[ cache ].slice(); + } + + var ret, + type = jQuery.type( value ), + arr = ( type === "array" || type === "object" ) ? value : arguments, + local = this[ cache ].slice(); + + each( props, function( key, prop ) { + var val = arr[ type === "object" ? key : prop.idx ]; + if ( val == null ) { + val = local[ prop.idx ]; + } + local[ prop.idx ] = clamp( val, prop ); + } ); + + if ( from ) { + ret = color( from( local ) ); + ret[ cache ] = local; + return ret; + } else { + return color( local ); + } + }; + + // Makes red() green() blue() alpha() hue() saturation() lightness() + each( props, function( key, prop ) { + + // Alpha is included in more than one space + if ( color.fn[ key ] ) { + return; + } + color.fn[ key ] = function( value ) { + var vtype = jQuery.type( value ), + fn = ( key === "alpha" ? ( this._hsla ? "hsla" : "rgba" ) : spaceName ), + local = this[ fn ](), + cur = local[ prop.idx ], + match; + + if ( vtype === "undefined" ) { + return cur; + } + + if ( vtype === "function" ) { + value = value.call( this, cur ); + vtype = jQuery.type( value ); + } + if ( value == null && prop.empty ) { + return this; + } + if ( vtype === "string" ) { + match = rplusequals.exec( value ); + if ( match ) { + value = cur + parseFloat( match[ 2 ] ) * ( match[ 1 ] === "+" ? 1 : -1 ); + } + } + local[ prop.idx ] = value; + return this[ fn ]( local ); + }; + } ); +} ); + +// Add cssHook and .fx.step function for each named hook. +// accept a space separated string of properties +color.hook = function( hook ) { + var hooks = hook.split( " " ); + each( hooks, function( i, hook ) { + jQuery.cssHooks[ hook ] = { + set: function( elem, value ) { + var parsed, curElem, + backgroundColor = ""; + + if ( value !== "transparent" && ( jQuery.type( value ) !== "string" || + ( parsed = stringParse( value ) ) ) ) { + value = color( parsed || value ); + if ( !support.rgba && value._rgba[ 3 ] !== 1 ) { + curElem = hook === "backgroundColor" ? elem.parentNode : elem; + while ( + ( backgroundColor === "" || backgroundColor === "transparent" ) && + curElem && curElem.style + ) { + try { + backgroundColor = jQuery.css( curElem, "backgroundColor" ); + curElem = curElem.parentNode; + } catch ( e ) { + } + } + + value = value.blend( backgroundColor && backgroundColor !== "transparent" ? + backgroundColor : + "_default" ); + } + + value = value.toRgbaString(); + } + try { + elem.style[ hook ] = value; + } catch ( e ) { + + // Wrapped to prevent IE from throwing errors on "invalid" values like + // 'auto' or 'inherit' + } + } + }; + jQuery.fx.step[ hook ] = function( fx ) { + if ( !fx.colorInit ) { + fx.start = color( fx.elem, hook ); + fx.end = color( fx.end ); + fx.colorInit = true; + } + jQuery.cssHooks[ hook ].set( fx.elem, fx.start.transition( fx.end, fx.pos ) ); + }; + } ); + +}; + +color.hook( stepHooks ); + +jQuery.cssHooks.borderColor = { + expand: function( value ) { + var expanded = {}; + + each( [ "Top", "Right", "Bottom", "Left" ], function( i, part ) { + expanded[ "border" + part + "Color" ] = value; + } ); + return expanded; + } +}; + +// Basic color names only. +// Usage of any of the other color names requires adding yourself or including +// jquery.color.svg-names.js. +colors = jQuery.Color.names = { + + // 4.1. Basic color keywords + aqua: "#00ffff", + black: "#000000", + blue: "#0000ff", + fuchsia: "#ff00ff", + gray: "#808080", + green: "#008000", + lime: "#00ff00", + maroon: "#800000", + navy: "#000080", + olive: "#808000", + purple: "#800080", + red: "#ff0000", + silver: "#c0c0c0", + teal: "#008080", + white: "#ffffff", + yellow: "#ffff00", + + // 4.2.3. "transparent" color keyword + transparent: [ null, null, null, 0 ], + + _default: "#ffffff" +}; + +} )( jQuery ); + +/******************************************************************************/ +/****************************** CLASS ANIMATIONS ******************************/ +/******************************************************************************/ +( function() { + +var classAnimationActions = [ "add", "remove", "toggle" ], + shorthandStyles = { + border: 1, + borderBottom: 1, + borderColor: 1, + borderLeft: 1, + borderRight: 1, + borderTop: 1, + borderWidth: 1, + margin: 1, + padding: 1 + }; + +$.each( + [ "borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle" ], + function( _, prop ) { + $.fx.step[ prop ] = function( fx ) { + if ( fx.end !== "none" && !fx.setAttr || fx.pos === 1 && !fx.setAttr ) { + jQuery.style( fx.elem, prop, fx.end ); + fx.setAttr = true; + } + }; + } +); + +function getElementStyles( elem ) { + var key, len, + style = elem.ownerDocument.defaultView ? + elem.ownerDocument.defaultView.getComputedStyle( elem, null ) : + elem.currentStyle, + styles = {}; + + if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) { + len = style.length; + while ( len-- ) { + key = style[ len ]; + if ( typeof style[ key ] === "string" ) { + styles[ $.camelCase( key ) ] = style[ key ]; + } + } + + // Support: Opera, IE <9 + } else { + for ( key in style ) { + if ( typeof style[ key ] === "string" ) { + styles[ key ] = style[ key ]; + } + } + } + + return styles; +} + +function styleDifference( oldStyle, newStyle ) { + var diff = {}, + name, value; + + for ( name in newStyle ) { + value = newStyle[ name ]; + if ( oldStyle[ name ] !== value ) { + if ( !shorthandStyles[ name ] ) { + if ( $.fx.step[ name ] || !isNaN( parseFloat( value ) ) ) { + diff[ name ] = value; + } + } + } + } + + return diff; +} + +// Support: jQuery <1.8 +if ( !$.fn.addBack ) { + $.fn.addBack = function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + }; +} + +$.effects.animateClass = function( value, duration, easing, callback ) { + var o = $.speed( duration, easing, callback ); + + return this.queue( function() { + var animated = $( this ), + baseClass = animated.attr( "class" ) || "", + applyClassChange, + allAnimations = o.children ? animated.find( "*" ).addBack() : animated; + + // Map the animated objects to store the original styles. + allAnimations = allAnimations.map( function() { + var el = $( this ); + return { + el: el, + start: getElementStyles( this ) + }; + } ); + + // Apply class change + applyClassChange = function() { + $.each( classAnimationActions, function( i, action ) { + if ( value[ action ] ) { + animated[ action + "Class" ]( value[ action ] ); + } + } ); + }; + applyClassChange(); + + // Map all animated objects again - calculate new styles and diff + allAnimations = allAnimations.map( function() { + this.end = getElementStyles( this.el[ 0 ] ); + this.diff = styleDifference( this.start, this.end ); + return this; + } ); + + // Apply original class + animated.attr( "class", baseClass ); + + // Map all animated objects again - this time collecting a promise + allAnimations = allAnimations.map( function() { + var styleInfo = this, + dfd = $.Deferred(), + opts = $.extend( {}, o, { + queue: false, + complete: function() { + dfd.resolve( styleInfo ); + } + } ); + + this.el.animate( this.diff, opts ); + return dfd.promise(); + } ); + + // Once all animations have completed: + $.when.apply( $, allAnimations.get() ).done( function() { + + // Set the final class + applyClassChange(); + + // For each animated element, + // clear all css properties that were animated + $.each( arguments, function() { + var el = this.el; + $.each( this.diff, function( key ) { + el.css( key, "" ); + } ); + } ); + + // This is guarnteed to be there if you use jQuery.speed() + // it also handles dequeuing the next anim... + o.complete.call( animated[ 0 ] ); + } ); + } ); +}; + +$.fn.extend( { + addClass: ( function( orig ) { + return function( classNames, speed, easing, callback ) { + return speed ? + $.effects.animateClass.call( this, + { add: classNames }, speed, easing, callback ) : + orig.apply( this, arguments ); + }; + } )( $.fn.addClass ), + + removeClass: ( function( orig ) { + return function( classNames, speed, easing, callback ) { + return arguments.length > 1 ? + $.effects.animateClass.call( this, + { remove: classNames }, speed, easing, callback ) : + orig.apply( this, arguments ); + }; + } )( $.fn.removeClass ), + + toggleClass: ( function( orig ) { + return function( classNames, force, speed, easing, callback ) { + if ( typeof force === "boolean" || force === undefined ) { + if ( !speed ) { + + // Without speed parameter + return orig.apply( this, arguments ); + } else { + return $.effects.animateClass.call( this, + ( force ? { add: classNames } : { remove: classNames } ), + speed, easing, callback ); + } + } else { + + // Without force parameter + return $.effects.animateClass.call( this, + { toggle: classNames }, force, speed, easing ); + } + }; + } )( $.fn.toggleClass ), + + switchClass: function( remove, add, speed, easing, callback ) { + return $.effects.animateClass.call( this, { + add: add, + remove: remove + }, speed, easing, callback ); + } +} ); + +} )(); + +/******************************************************************************/ +/*********************************** EFFECTS **********************************/ +/******************************************************************************/ + +( function() { + +if ( $.expr && $.expr.filters && $.expr.filters.animated ) { + $.expr.filters.animated = ( function( orig ) { + return function( elem ) { + return !!$( elem ).data( dataSpaceAnimated ) || orig( elem ); + }; + } )( $.expr.filters.animated ); +} + +if ( $.uiBackCompat !== false ) { + $.extend( $.effects, { + + // Saves a set of properties in a data storage + save: function( element, set ) { + var i = 0, length = set.length; + for ( ; i < length; i++ ) { + if ( set[ i ] !== null ) { + element.data( dataSpace + set[ i ], element[ 0 ].style[ set[ i ] ] ); + } + } + }, + + // Restores a set of previously saved properties from a data storage + restore: function( element, set ) { + var val, i = 0, length = set.length; + for ( ; i < length; i++ ) { + if ( set[ i ] !== null ) { + val = element.data( dataSpace + set[ i ] ); + element.css( set[ i ], val ); + } + } + }, + + setMode: function( el, mode ) { + if ( mode === "toggle" ) { + mode = el.is( ":hidden" ) ? "show" : "hide"; + } + return mode; + }, + + // Wraps the element around a wrapper that copies position properties + createWrapper: function( element ) { + + // If the element is already wrapped, return it + if ( element.parent().is( ".ui-effects-wrapper" ) ) { + return element.parent(); + } + + // Wrap the element + var props = { + width: element.outerWidth( true ), + height: element.outerHeight( true ), + "float": element.css( "float" ) + }, + wrapper = $( "<div></div>" ) + .addClass( "ui-effects-wrapper" ) + .css( { + fontSize: "100%", + background: "transparent", + border: "none", + margin: 0, + padding: 0 + } ), + + // Store the size in case width/height are defined in % - Fixes #5245 + size = { + width: element.width(), + height: element.height() + }, + active = document.activeElement; + + // Support: Firefox + // Firefox incorrectly exposes anonymous content + // https://bugzilla.mozilla.org/show_bug.cgi?id=561664 + try { + active.id; + } catch ( e ) { + active = document.body; + } + + element.wrap( wrapper ); + + // Fixes #7595 - Elements lose focus when wrapped. + if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) { + $( active ).trigger( "focus" ); + } + + // Hotfix for jQuery 1.4 since some change in wrap() seems to actually + // lose the reference to the wrapped element + wrapper = element.parent(); + + // Transfer positioning properties to the wrapper + if ( element.css( "position" ) === "static" ) { + wrapper.css( { position: "relative" } ); + element.css( { position: "relative" } ); + } else { + $.extend( props, { + position: element.css( "position" ), + zIndex: element.css( "z-index" ) + } ); + $.each( [ "top", "left", "bottom", "right" ], function( i, pos ) { + props[ pos ] = element.css( pos ); + if ( isNaN( parseInt( props[ pos ], 10 ) ) ) { + props[ pos ] = "auto"; + } + } ); + element.css( { + position: "relative", + top: 0, + left: 0, + right: "auto", + bottom: "auto" + } ); + } + element.css( size ); + + return wrapper.css( props ).show(); + }, + + removeWrapper: function( element ) { + var active = document.activeElement; + + if ( element.parent().is( ".ui-effects-wrapper" ) ) { + element.parent().replaceWith( element ); + + // Fixes #7595 - Elements lose focus when wrapped. + if ( element[ 0 ] === active || $.contains( element[ 0 ], active ) ) { + $( active ).trigger( "focus" ); + } + } + + return element; + } + } ); +} + +$.extend( $.effects, { + version: "1.12.1", + + define: function( name, mode, effect ) { + if ( !effect ) { + effect = mode; + mode = "effect"; + } + + $.effects.effect[ name ] = effect; + $.effects.effect[ name ].mode = mode; + + return effect; + }, + + scaledDimensions: function( element, percent, direction ) { + if ( percent === 0 ) { + return { + height: 0, + width: 0, + outerHeight: 0, + outerWidth: 0 + }; + } + + var x = direction !== "horizontal" ? ( ( percent || 100 ) / 100 ) : 1, + y = direction !== "vertical" ? ( ( percent || 100 ) / 100 ) : 1; + + return { + height: element.height() * y, + width: element.width() * x, + outerHeight: element.outerHeight() * y, + outerWidth: element.outerWidth() * x + }; + + }, + + clipToBox: function( animation ) { + return { + width: animation.clip.right - animation.clip.left, + height: animation.clip.bottom - animation.clip.top, + left: animation.clip.left, + top: animation.clip.top + }; + }, + + // Injects recently queued functions to be first in line (after "inprogress") + unshift: function( element, queueLength, count ) { + var queue = element.queue(); + + if ( queueLength > 1 ) { + queue.splice.apply( queue, + [ 1, 0 ].concat( queue.splice( queueLength, count ) ) ); + } + element.dequeue(); + }, + + saveStyle: function( element ) { + element.data( dataSpaceStyle, element[ 0 ].style.cssText ); + }, + + restoreStyle: function( element ) { + element[ 0 ].style.cssText = element.data( dataSpaceStyle ) || ""; + element.removeData( dataSpaceStyle ); + }, + + mode: function( element, mode ) { + var hidden = element.is( ":hidden" ); + + if ( mode === "toggle" ) { + mode = hidden ? "show" : "hide"; + } + if ( hidden ? mode === "hide" : mode === "show" ) { + mode = "none"; + } + return mode; + }, + + // Translates a [top,left] array into a baseline value + getBaseline: function( origin, original ) { + var y, x; + + switch ( origin[ 0 ] ) { + case "top": + y = 0; + break; + case "middle": + y = 0.5; + break; + case "bottom": + y = 1; + break; + default: + y = origin[ 0 ] / original.height; + } + + switch ( origin[ 1 ] ) { + case "left": + x = 0; + break; + case "center": + x = 0.5; + break; + case "right": + x = 1; + break; + default: + x = origin[ 1 ] / original.width; + } + + return { + x: x, + y: y + }; + }, + + // Creates a placeholder element so that the original element can be made absolute + createPlaceholder: function( element ) { + var placeholder, + cssPosition = element.css( "position" ), + position = element.position(); + + // Lock in margins first to account for form elements, which + // will change margin if you explicitly set height + // see: http://jsfiddle.net/JZSMt/3/ https://bugs.webkit.org/show_bug.cgi?id=107380 + // Support: Safari + element.css( { + marginTop: element.css( "marginTop" ), + marginBottom: element.css( "marginBottom" ), + marginLeft: element.css( "marginLeft" ), + marginRight: element.css( "marginRight" ) + } ) + .outerWidth( element.outerWidth() ) + .outerHeight( element.outerHeight() ); + + if ( /^(static|relative)/.test( cssPosition ) ) { + cssPosition = "absolute"; + + placeholder = $( "<" + element[ 0 ].nodeName + ">" ).insertAfter( element ).css( { + + // Convert inline to inline block to account for inline elements + // that turn to inline block based on content (like img) + display: /^(inline|ruby)/.test( element.css( "display" ) ) ? + "inline-block" : + "block", + visibility: "hidden", + + // Margins need to be set to account for margin collapse + marginTop: element.css( "marginTop" ), + marginBottom: element.css( "marginBottom" ), + marginLeft: element.css( "marginLeft" ), + marginRight: element.css( "marginRight" ), + "float": element.css( "float" ) + } ) + .outerWidth( element.outerWidth() ) + .outerHeight( element.outerHeight() ) + .addClass( "ui-effects-placeholder" ); + + element.data( dataSpace + "placeholder", placeholder ); + } + + element.css( { + position: cssPosition, + left: position.left, + top: position.top + } ); + + return placeholder; + }, + + removePlaceholder: function( element ) { + var dataKey = dataSpace + "placeholder", + placeholder = element.data( dataKey ); + + if ( placeholder ) { + placeholder.remove(); + element.removeData( dataKey ); + } + }, + + // Removes a placeholder if it exists and restores + // properties that were modified during placeholder creation + cleanUp: function( element ) { + $.effects.restoreStyle( element ); + $.effects.removePlaceholder( element ); + }, + + setTransition: function( element, list, factor, value ) { + value = value || {}; + $.each( list, function( i, x ) { + var unit = element.cssUnit( x ); + if ( unit[ 0 ] > 0 ) { + value[ x ] = unit[ 0 ] * factor + unit[ 1 ]; + } + } ); + return value; + } +} ); + +// Return an effect options object for the given parameters: +function _normalizeArguments( effect, options, speed, callback ) { + + // Allow passing all options as the first parameter + if ( $.isPlainObject( effect ) ) { + options = effect; + effect = effect.effect; + } + + // Convert to an object + effect = { effect: effect }; + + // Catch (effect, null, ...) + if ( options == null ) { + options = {}; + } + + // Catch (effect, callback) + if ( $.isFunction( options ) ) { + callback = options; + speed = null; + options = {}; + } + + // Catch (effect, speed, ?) + if ( typeof options === "number" || $.fx.speeds[ options ] ) { + callback = speed; + speed = options; + options = {}; + } + + // Catch (effect, options, callback) + if ( $.isFunction( speed ) ) { + callback = speed; + speed = null; + } + + // Add options to effect + if ( options ) { + $.extend( effect, options ); + } + + speed = speed || options.duration; + effect.duration = $.fx.off ? 0 : + typeof speed === "number" ? speed : + speed in $.fx.speeds ? $.fx.speeds[ speed ] : + $.fx.speeds._default; + + effect.complete = callback || options.complete; + + return effect; +} + +function standardAnimationOption( option ) { + + // Valid standard speeds (nothing, number, named speed) + if ( !option || typeof option === "number" || $.fx.speeds[ option ] ) { + return true; + } + + // Invalid strings - treat as "normal" speed + if ( typeof option === "string" && !$.effects.effect[ option ] ) { + return true; + } + + // Complete callback + if ( $.isFunction( option ) ) { + return true; + } + + // Options hash (but not naming an effect) + if ( typeof option === "object" && !option.effect ) { + return true; + } + + // Didn't match any standard API + return false; +} + +$.fn.extend( { + effect: function( /* effect, options, speed, callback */ ) { + var args = _normalizeArguments.apply( this, arguments ), + effectMethod = $.effects.effect[ args.effect ], + defaultMode = effectMethod.mode, + queue = args.queue, + queueName = queue || "fx", + complete = args.complete, + mode = args.mode, + modes = [], + prefilter = function( next ) { + var el = $( this ), + normalizedMode = $.effects.mode( el, mode ) || defaultMode; + + // Sentinel for duck-punching the :animated psuedo-selector + el.data( dataSpaceAnimated, true ); + + // Save effect mode for later use, + // we can't just call $.effects.mode again later, + // as the .show() below destroys the initial state + modes.push( normalizedMode ); + + // See $.uiBackCompat inside of run() for removal of defaultMode in 1.13 + if ( defaultMode && ( normalizedMode === "show" || + ( normalizedMode === defaultMode && normalizedMode === "hide" ) ) ) { + el.show(); + } + + if ( !defaultMode || normalizedMode !== "none" ) { + $.effects.saveStyle( el ); + } + + if ( $.isFunction( next ) ) { + next(); + } + }; + + if ( $.fx.off || !effectMethod ) { + + // Delegate to the original method (e.g., .show()) if possible + if ( mode ) { + return this[ mode ]( args.duration, complete ); + } else { + return this.each( function() { + if ( complete ) { + complete.call( this ); + } + } ); + } + } + + function run( next ) { + var elem = $( this ); + + function cleanup() { + elem.removeData( dataSpaceAnimated ); + + $.effects.cleanUp( elem ); + + if ( args.mode === "hide" ) { + elem.hide(); + } + + done(); + } + + function done() { + if ( $.isFunction( complete ) ) { + complete.call( elem[ 0 ] ); + } + + if ( $.isFunction( next ) ) { + next(); + } + } + + // Override mode option on a per element basis, + // as toggle can be either show or hide depending on element state + args.mode = modes.shift(); + + if ( $.uiBackCompat !== false && !defaultMode ) { + if ( elem.is( ":hidden" ) ? mode === "hide" : mode === "show" ) { + + // Call the core method to track "olddisplay" properly + elem[ mode ](); + done(); + } else { + effectMethod.call( elem[ 0 ], args, done ); + } + } else { + if ( args.mode === "none" ) { + + // Call the core method to track "olddisplay" properly + elem[ mode ](); + done(); + } else { + effectMethod.call( elem[ 0 ], args, cleanup ); + } + } + } + + // Run prefilter on all elements first to ensure that + // any showing or hiding happens before placeholder creation, + // which ensures that any layout changes are correctly captured. + return queue === false ? + this.each( prefilter ).each( run ) : + this.queue( queueName, prefilter ).queue( queueName, run ); + }, + + show: ( function( orig ) { + return function( option ) { + if ( standardAnimationOption( option ) ) { + return orig.apply( this, arguments ); + } else { + var args = _normalizeArguments.apply( this, arguments ); + args.mode = "show"; + return this.effect.call( this, args ); + } + }; + } )( $.fn.show ), + + hide: ( function( orig ) { + return function( option ) { + if ( standardAnimationOption( option ) ) { + return orig.apply( this, arguments ); + } else { + var args = _normalizeArguments.apply( this, arguments ); + args.mode = "hide"; + return this.effect.call( this, args ); + } + }; + } )( $.fn.hide ), + + toggle: ( function( orig ) { + return function( option ) { + if ( standardAnimationOption( option ) || typeof option === "boolean" ) { + return orig.apply( this, arguments ); + } else { + var args = _normalizeArguments.apply( this, arguments ); + args.mode = "toggle"; + return this.effect.call( this, args ); + } + }; + } )( $.fn.toggle ), + + cssUnit: function( key ) { + var style = this.css( key ), + val = []; + + $.each( [ "em", "px", "%", "pt" ], function( i, unit ) { + if ( style.indexOf( unit ) > 0 ) { + val = [ parseFloat( style ), unit ]; + } + } ); + return val; + }, + + cssClip: function( clipObj ) { + if ( clipObj ) { + return this.css( "clip", "rect(" + clipObj.top + "px " + clipObj.right + "px " + + clipObj.bottom + "px " + clipObj.left + "px)" ); + } + return parseClip( this.css( "clip" ), this ); + }, + + transfer: function( options, done ) { + var element = $( this ), + target = $( options.to ), + targetFixed = target.css( "position" ) === "fixed", + body = $( "body" ), + fixTop = targetFixed ? body.scrollTop() : 0, + fixLeft = targetFixed ? body.scrollLeft() : 0, + endPosition = target.offset(), + animation = { + top: endPosition.top - fixTop, + left: endPosition.left - fixLeft, + height: target.innerHeight(), + width: target.innerWidth() + }, + startPosition = element.offset(), + transfer = $( "<div class='ui-effects-transfer'></div>" ) + .appendTo( "body" ) + .addClass( options.className ) + .css( { + top: startPosition.top - fixTop, + left: startPosition.left - fixLeft, + height: element.innerHeight(), + width: element.innerWidth(), + position: targetFixed ? "fixed" : "absolute" + } ) + .animate( animation, options.duration, options.easing, function() { + transfer.remove(); + if ( $.isFunction( done ) ) { + done(); + } + } ); + } +} ); + +function parseClip( str, element ) { + var outerWidth = element.outerWidth(), + outerHeight = element.outerHeight(), + clipRegex = /^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/, + values = clipRegex.exec( str ) || [ "", 0, outerWidth, outerHeight, 0 ]; + + return { + top: parseFloat( values[ 1 ] ) || 0, + right: values[ 2 ] === "auto" ? outerWidth : parseFloat( values[ 2 ] ), + bottom: values[ 3 ] === "auto" ? outerHeight : parseFloat( values[ 3 ] ), + left: parseFloat( values[ 4 ] ) || 0 + }; +} + +$.fx.step.clip = function( fx ) { + if ( !fx.clipInit ) { + fx.start = $( fx.elem ).cssClip(); + if ( typeof fx.end === "string" ) { + fx.end = parseClip( fx.end, fx.elem ); + } + fx.clipInit = true; + } + + $( fx.elem ).cssClip( { + top: fx.pos * ( fx.end.top - fx.start.top ) + fx.start.top, + right: fx.pos * ( fx.end.right - fx.start.right ) + fx.start.right, + bottom: fx.pos * ( fx.end.bottom - fx.start.bottom ) + fx.start.bottom, + left: fx.pos * ( fx.end.left - fx.start.left ) + fx.start.left + } ); +}; + +} )(); + +/******************************************************************************/ +/*********************************** EASING ***********************************/ +/******************************************************************************/ + +( function() { + +// Based on easing equations from Robert Penner (http://www.robertpenner.com/easing) + +var baseEasings = {}; + +$.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) { + baseEasings[ name ] = function( p ) { + return Math.pow( p, i + 2 ); + }; +} ); + +$.extend( baseEasings, { + Sine: function( p ) { + return 1 - Math.cos( p * Math.PI / 2 ); + }, + Circ: function( p ) { + return 1 - Math.sqrt( 1 - p * p ); + }, + Elastic: function( p ) { + return p === 0 || p === 1 ? p : + -Math.pow( 2, 8 * ( p - 1 ) ) * Math.sin( ( ( p - 1 ) * 80 - 7.5 ) * Math.PI / 15 ); + }, + Back: function( p ) { + return p * p * ( 3 * p - 2 ); + }, + Bounce: function( p ) { + var pow2, + bounce = 4; + + while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {} + return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 ); + } +} ); + +$.each( baseEasings, function( name, easeIn ) { + $.easing[ "easeIn" + name ] = easeIn; + $.easing[ "easeOut" + name ] = function( p ) { + return 1 - easeIn( 1 - p ); + }; + $.easing[ "easeInOut" + name ] = function( p ) { + return p < 0.5 ? + easeIn( p * 2 ) / 2 : + 1 - easeIn( p * -2 + 2 ) / 2; + }; +} ); + +} )(); + +var effect = $.effects; + + +/*! + * jQuery UI Effects Blind 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Blind Effect +//>>group: Effects +//>>description: Blinds the element. +//>>docs: http://api.jqueryui.com/blind-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectBlind = $.effects.define( "blind", "hide", function( options, done ) { + var map = { + up: [ "bottom", "top" ], + vertical: [ "bottom", "top" ], + down: [ "top", "bottom" ], + left: [ "right", "left" ], + horizontal: [ "right", "left" ], + right: [ "left", "right" ] + }, + element = $( this ), + direction = options.direction || "up", + start = element.cssClip(), + animate = { clip: $.extend( {}, start ) }, + placeholder = $.effects.createPlaceholder( element ); + + animate.clip[ map[ direction ][ 0 ] ] = animate.clip[ map[ direction ][ 1 ] ]; + + if ( options.mode === "show" ) { + element.cssClip( animate.clip ); + if ( placeholder ) { + placeholder.css( $.effects.clipToBox( animate ) ); + } + + animate.clip = start; + } + + if ( placeholder ) { + placeholder.animate( $.effects.clipToBox( animate ), options.duration, options.easing ); + } + + element.animate( animate, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + + +/*! + * jQuery UI Effects Bounce 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Bounce Effect +//>>group: Effects +//>>description: Bounces an element horizontally or vertically n times. +//>>docs: http://api.jqueryui.com/bounce-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectBounce = $.effects.define( "bounce", function( options, done ) { + var upAnim, downAnim, refValue, + element = $( this ), + + // Defaults: + mode = options.mode, + hide = mode === "hide", + show = mode === "show", + direction = options.direction || "up", + distance = options.distance, + times = options.times || 5, + + // Number of internal animations + anims = times * 2 + ( show || hide ? 1 : 0 ), + speed = options.duration / anims, + easing = options.easing, + + // Utility: + ref = ( direction === "up" || direction === "down" ) ? "top" : "left", + motion = ( direction === "up" || direction === "left" ), + i = 0, + + queuelen = element.queue().length; + + $.effects.createPlaceholder( element ); + + refValue = element.css( ref ); + + // Default distance for the BIGGEST bounce is the outer Distance / 3 + if ( !distance ) { + distance = element[ ref === "top" ? "outerHeight" : "outerWidth" ]() / 3; + } + + if ( show ) { + downAnim = { opacity: 1 }; + downAnim[ ref ] = refValue; + + // If we are showing, force opacity 0 and set the initial position + // then do the "first" animation + element + .css( "opacity", 0 ) + .css( ref, motion ? -distance * 2 : distance * 2 ) + .animate( downAnim, speed, easing ); + } + + // Start at the smallest distance if we are hiding + if ( hide ) { + distance = distance / Math.pow( 2, times - 1 ); + } + + downAnim = {}; + downAnim[ ref ] = refValue; + + // Bounces up/down/left/right then back to 0 -- times * 2 animations happen here + for ( ; i < times; i++ ) { + upAnim = {}; + upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; + + element + .animate( upAnim, speed, easing ) + .animate( downAnim, speed, easing ); + + distance = hide ? distance * 2 : distance / 2; + } + + // Last Bounce when Hiding + if ( hide ) { + upAnim = { opacity: 0 }; + upAnim[ ref ] = ( motion ? "-=" : "+=" ) + distance; + + element.animate( upAnim, speed, easing ); + } + + element.queue( done ); + + $.effects.unshift( element, queuelen, anims + 1 ); +} ); + + +/*! + * jQuery UI Effects Clip 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Clip Effect +//>>group: Effects +//>>description: Clips the element on and off like an old TV. +//>>docs: http://api.jqueryui.com/clip-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectClip = $.effects.define( "clip", "hide", function( options, done ) { + var start, + animate = {}, + element = $( this ), + direction = options.direction || "vertical", + both = direction === "both", + horizontal = both || direction === "horizontal", + vertical = both || direction === "vertical"; + + start = element.cssClip(); + animate.clip = { + top: vertical ? ( start.bottom - start.top ) / 2 : start.top, + right: horizontal ? ( start.right - start.left ) / 2 : start.right, + bottom: vertical ? ( start.bottom - start.top ) / 2 : start.bottom, + left: horizontal ? ( start.right - start.left ) / 2 : start.left + }; + + $.effects.createPlaceholder( element ); + + if ( options.mode === "show" ) { + element.cssClip( animate.clip ); + animate.clip = start; + } + + element.animate( animate, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); + +} ); + + +/*! + * jQuery UI Effects Drop 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Drop Effect +//>>group: Effects +//>>description: Moves an element in one direction and hides it at the same time. +//>>docs: http://api.jqueryui.com/drop-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectDrop = $.effects.define( "drop", "hide", function( options, done ) { + + var distance, + element = $( this ), + mode = options.mode, + show = mode === "show", + direction = options.direction || "left", + ref = ( direction === "up" || direction === "down" ) ? "top" : "left", + motion = ( direction === "up" || direction === "left" ) ? "-=" : "+=", + oppositeMotion = ( motion === "+=" ) ? "-=" : "+=", + animation = { + opacity: 0 + }; + + $.effects.createPlaceholder( element ); + + distance = options.distance || + element[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ) / 2; + + animation[ ref ] = motion + distance; + + if ( show ) { + element.css( animation ); + + animation[ ref ] = oppositeMotion + distance; + animation.opacity = 1; + } + + // Animate + element.animate( animation, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + + +/*! + * jQuery UI Effects Explode 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Explode Effect +//>>group: Effects +// jscs:disable maximumLineLength +//>>description: Explodes an element in all directions into n pieces. Implodes an element to its original wholeness. +// jscs:enable maximumLineLength +//>>docs: http://api.jqueryui.com/explode-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectExplode = $.effects.define( "explode", "hide", function( options, done ) { + + var i, j, left, top, mx, my, + rows = options.pieces ? Math.round( Math.sqrt( options.pieces ) ) : 3, + cells = rows, + element = $( this ), + mode = options.mode, + show = mode === "show", + + // Show and then visibility:hidden the element before calculating offset + offset = element.show().css( "visibility", "hidden" ).offset(), + + // Width and height of a piece + width = Math.ceil( element.outerWidth() / cells ), + height = Math.ceil( element.outerHeight() / rows ), + pieces = []; + + // Children animate complete: + function childComplete() { + pieces.push( this ); + if ( pieces.length === rows * cells ) { + animComplete(); + } + } + + // Clone the element for each row and cell. + for ( i = 0; i < rows; i++ ) { // ===> + top = offset.top + i * height; + my = i - ( rows - 1 ) / 2; + + for ( j = 0; j < cells; j++ ) { // ||| + left = offset.left + j * width; + mx = j - ( cells - 1 ) / 2; + + // Create a clone of the now hidden main element that will be absolute positioned + // within a wrapper div off the -left and -top equal to size of our pieces + element + .clone() + .appendTo( "body" ) + .wrap( "<div></div>" ) + .css( { + position: "absolute", + visibility: "visible", + left: -j * width, + top: -i * height + } ) + + // Select the wrapper - make it overflow: hidden and absolute positioned based on + // where the original was located +left and +top equal to the size of pieces + .parent() + .addClass( "ui-effects-explode" ) + .css( { + position: "absolute", + overflow: "hidden", + width: width, + height: height, + left: left + ( show ? mx * width : 0 ), + top: top + ( show ? my * height : 0 ), + opacity: show ? 0 : 1 + } ) + .animate( { + left: left + ( show ? 0 : mx * width ), + top: top + ( show ? 0 : my * height ), + opacity: show ? 1 : 0 + }, options.duration || 500, options.easing, childComplete ); + } + } + + function animComplete() { + element.css( { + visibility: "visible" + } ); + $( pieces ).remove(); + done(); + } +} ); + + +/*! + * jQuery UI Effects Fade 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Fade Effect +//>>group: Effects +//>>description: Fades the element. +//>>docs: http://api.jqueryui.com/fade-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectFade = $.effects.define( "fade", "toggle", function( options, done ) { + var show = options.mode === "show"; + + $( this ) + .css( "opacity", show ? 0 : 1 ) + .animate( { + opacity: show ? 1 : 0 + }, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + + +/*! + * jQuery UI Effects Fold 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Fold Effect +//>>group: Effects +//>>description: Folds an element first horizontally and then vertically. +//>>docs: http://api.jqueryui.com/fold-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectFold = $.effects.define( "fold", "hide", function( options, done ) { + + // Create element + var element = $( this ), + mode = options.mode, + show = mode === "show", + hide = mode === "hide", + size = options.size || 15, + percent = /([0-9]+)%/.exec( size ), + horizFirst = !!options.horizFirst, + ref = horizFirst ? [ "right", "bottom" ] : [ "bottom", "right" ], + duration = options.duration / 2, + + placeholder = $.effects.createPlaceholder( element ), + + start = element.cssClip(), + animation1 = { clip: $.extend( {}, start ) }, + animation2 = { clip: $.extend( {}, start ) }, + + distance = [ start[ ref[ 0 ] ], start[ ref[ 1 ] ] ], + + queuelen = element.queue().length; + + if ( percent ) { + size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ hide ? 0 : 1 ]; + } + animation1.clip[ ref[ 0 ] ] = size; + animation2.clip[ ref[ 0 ] ] = size; + animation2.clip[ ref[ 1 ] ] = 0; + + if ( show ) { + element.cssClip( animation2.clip ); + if ( placeholder ) { + placeholder.css( $.effects.clipToBox( animation2 ) ); + } + + animation2.clip = start; + } + + // Animate + element + .queue( function( next ) { + if ( placeholder ) { + placeholder + .animate( $.effects.clipToBox( animation1 ), duration, options.easing ) + .animate( $.effects.clipToBox( animation2 ), duration, options.easing ); + } + + next(); + } ) + .animate( animation1, duration, options.easing ) + .animate( animation2, duration, options.easing ) + .queue( done ); + + $.effects.unshift( element, queuelen, 4 ); +} ); + + +/*! + * jQuery UI Effects Highlight 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Highlight Effect +//>>group: Effects +//>>description: Highlights the background of an element in a defined color for a custom duration. +//>>docs: http://api.jqueryui.com/highlight-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectHighlight = $.effects.define( "highlight", "show", function( options, done ) { + var element = $( this ), + animation = { + backgroundColor: element.css( "backgroundColor" ) + }; + + if ( options.mode === "hide" ) { + animation.opacity = 0; + } + + $.effects.saveStyle( element ); + + element + .css( { + backgroundImage: "none", + backgroundColor: options.color || "#ffff99" + } ) + .animate( animation, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + + +/*! + * jQuery UI Effects Size 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Size Effect +//>>group: Effects +//>>description: Resize an element to a specified width and height. +//>>docs: http://api.jqueryui.com/size-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectSize = $.effects.define( "size", function( options, done ) { + + // Create element + var baseline, factor, temp, + element = $( this ), + + // Copy for children + cProps = [ "fontSize" ], + vProps = [ "borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom" ], + hProps = [ "borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight" ], + + // Set options + mode = options.mode, + restore = mode !== "effect", + scale = options.scale || "both", + origin = options.origin || [ "middle", "center" ], + position = element.css( "position" ), + pos = element.position(), + original = $.effects.scaledDimensions( element ), + from = options.from || original, + to = options.to || $.effects.scaledDimensions( element, 0 ); + + $.effects.createPlaceholder( element ); + + if ( mode === "show" ) { + temp = from; + from = to; + to = temp; + } + + // Set scaling factor + factor = { + from: { + y: from.height / original.height, + x: from.width / original.width + }, + to: { + y: to.height / original.height, + x: to.width / original.width + } + }; + + // Scale the css box + if ( scale === "box" || scale === "both" ) { + + // Vertical props scaling + if ( factor.from.y !== factor.to.y ) { + from = $.effects.setTransition( element, vProps, factor.from.y, from ); + to = $.effects.setTransition( element, vProps, factor.to.y, to ); + } + + // Horizontal props scaling + if ( factor.from.x !== factor.to.x ) { + from = $.effects.setTransition( element, hProps, factor.from.x, from ); + to = $.effects.setTransition( element, hProps, factor.to.x, to ); + } + } + + // Scale the content + if ( scale === "content" || scale === "both" ) { + + // Vertical props scaling + if ( factor.from.y !== factor.to.y ) { + from = $.effects.setTransition( element, cProps, factor.from.y, from ); + to = $.effects.setTransition( element, cProps, factor.to.y, to ); + } + } + + // Adjust the position properties based on the provided origin points + if ( origin ) { + baseline = $.effects.getBaseline( origin, original ); + from.top = ( original.outerHeight - from.outerHeight ) * baseline.y + pos.top; + from.left = ( original.outerWidth - from.outerWidth ) * baseline.x + pos.left; + to.top = ( original.outerHeight - to.outerHeight ) * baseline.y + pos.top; + to.left = ( original.outerWidth - to.outerWidth ) * baseline.x + pos.left; + } + element.css( from ); + + // Animate the children if desired + if ( scale === "content" || scale === "both" ) { + + vProps = vProps.concat( [ "marginTop", "marginBottom" ] ).concat( cProps ); + hProps = hProps.concat( [ "marginLeft", "marginRight" ] ); + + // Only animate children with width attributes specified + // TODO: is this right? should we include anything with css width specified as well + element.find( "*[width]" ).each( function() { + var child = $( this ), + childOriginal = $.effects.scaledDimensions( child ), + childFrom = { + height: childOriginal.height * factor.from.y, + width: childOriginal.width * factor.from.x, + outerHeight: childOriginal.outerHeight * factor.from.y, + outerWidth: childOriginal.outerWidth * factor.from.x + }, + childTo = { + height: childOriginal.height * factor.to.y, + width: childOriginal.width * factor.to.x, + outerHeight: childOriginal.height * factor.to.y, + outerWidth: childOriginal.width * factor.to.x + }; + + // Vertical props scaling + if ( factor.from.y !== factor.to.y ) { + childFrom = $.effects.setTransition( child, vProps, factor.from.y, childFrom ); + childTo = $.effects.setTransition( child, vProps, factor.to.y, childTo ); + } + + // Horizontal props scaling + if ( factor.from.x !== factor.to.x ) { + childFrom = $.effects.setTransition( child, hProps, factor.from.x, childFrom ); + childTo = $.effects.setTransition( child, hProps, factor.to.x, childTo ); + } + + if ( restore ) { + $.effects.saveStyle( child ); + } + + // Animate children + child.css( childFrom ); + child.animate( childTo, options.duration, options.easing, function() { + + // Restore children + if ( restore ) { + $.effects.restoreStyle( child ); + } + } ); + } ); + } + + // Animate + element.animate( to, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: function() { + + var offset = element.offset(); + + if ( to.opacity === 0 ) { + element.css( "opacity", from.opacity ); + } + + if ( !restore ) { + element + .css( "position", position === "static" ? "relative" : position ) + .offset( offset ); + + // Need to save style here so that automatic style restoration + // doesn't restore to the original styles from before the animation. + $.effects.saveStyle( element ); + } + + done(); + } + } ); + +} ); + + +/*! + * jQuery UI Effects Scale 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Scale Effect +//>>group: Effects +//>>description: Grows or shrinks an element and its content. +//>>docs: http://api.jqueryui.com/scale-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectScale = $.effects.define( "scale", function( options, done ) { + + // Create element + var el = $( this ), + mode = options.mode, + percent = parseInt( options.percent, 10 ) || + ( parseInt( options.percent, 10 ) === 0 ? 0 : ( mode !== "effect" ? 0 : 100 ) ), + + newOptions = $.extend( true, { + from: $.effects.scaledDimensions( el ), + to: $.effects.scaledDimensions( el, percent, options.direction || "both" ), + origin: options.origin || [ "middle", "center" ] + }, options ); + + // Fade option to support puff + if ( options.fade ) { + newOptions.from.opacity = 1; + newOptions.to.opacity = 0; + } + + $.effects.effect.size.call( this, newOptions, done ); +} ); + + +/*! + * jQuery UI Effects Puff 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Puff Effect +//>>group: Effects +//>>description: Creates a puff effect by scaling the element up and hiding it at the same time. +//>>docs: http://api.jqueryui.com/puff-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectPuff = $.effects.define( "puff", "hide", function( options, done ) { + var newOptions = $.extend( true, {}, options, { + fade: true, + percent: parseInt( options.percent, 10 ) || 150 + } ); + + $.effects.effect.scale.call( this, newOptions, done ); +} ); + + +/*! + * jQuery UI Effects Pulsate 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Pulsate Effect +//>>group: Effects +//>>description: Pulsates an element n times by changing the opacity to zero and back. +//>>docs: http://api.jqueryui.com/pulsate-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectPulsate = $.effects.define( "pulsate", "show", function( options, done ) { + var element = $( this ), + mode = options.mode, + show = mode === "show", + hide = mode === "hide", + showhide = show || hide, + + // Showing or hiding leaves off the "last" animation + anims = ( ( options.times || 5 ) * 2 ) + ( showhide ? 1 : 0 ), + duration = options.duration / anims, + animateTo = 0, + i = 1, + queuelen = element.queue().length; + + if ( show || !element.is( ":visible" ) ) { + element.css( "opacity", 0 ).show(); + animateTo = 1; + } + + // Anims - 1 opacity "toggles" + for ( ; i < anims; i++ ) { + element.animate( { opacity: animateTo }, duration, options.easing ); + animateTo = 1 - animateTo; + } + + element.animate( { opacity: animateTo }, duration, options.easing ); + + element.queue( done ); + + $.effects.unshift( element, queuelen, anims + 1 ); +} ); + + +/*! + * jQuery UI Effects Shake 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Shake Effect +//>>group: Effects +//>>description: Shakes an element horizontally or vertically n times. +//>>docs: http://api.jqueryui.com/shake-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectShake = $.effects.define( "shake", function( options, done ) { + + var i = 1, + element = $( this ), + direction = options.direction || "left", + distance = options.distance || 20, + times = options.times || 3, + anims = times * 2 + 1, + speed = Math.round( options.duration / anims ), + ref = ( direction === "up" || direction === "down" ) ? "top" : "left", + positiveMotion = ( direction === "up" || direction === "left" ), + animation = {}, + animation1 = {}, + animation2 = {}, + + queuelen = element.queue().length; + + $.effects.createPlaceholder( element ); + + // Animation + animation[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance; + animation1[ ref ] = ( positiveMotion ? "+=" : "-=" ) + distance * 2; + animation2[ ref ] = ( positiveMotion ? "-=" : "+=" ) + distance * 2; + + // Animate + element.animate( animation, speed, options.easing ); + + // Shakes + for ( ; i < times; i++ ) { + element + .animate( animation1, speed, options.easing ) + .animate( animation2, speed, options.easing ); + } + + element + .animate( animation1, speed, options.easing ) + .animate( animation, speed / 2, options.easing ) + .queue( done ); + + $.effects.unshift( element, queuelen, anims + 1 ); +} ); + + +/*! + * jQuery UI Effects Slide 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Slide Effect +//>>group: Effects +//>>description: Slides an element in and out of the viewport. +//>>docs: http://api.jqueryui.com/slide-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effectsEffectSlide = $.effects.define( "slide", "show", function( options, done ) { + var startClip, startRef, + element = $( this ), + map = { + up: [ "bottom", "top" ], + down: [ "top", "bottom" ], + left: [ "right", "left" ], + right: [ "left", "right" ] + }, + mode = options.mode, + direction = options.direction || "left", + ref = ( direction === "up" || direction === "down" ) ? "top" : "left", + positiveMotion = ( direction === "up" || direction === "left" ), + distance = options.distance || + element[ ref === "top" ? "outerHeight" : "outerWidth" ]( true ), + animation = {}; + + $.effects.createPlaceholder( element ); + + startClip = element.cssClip(); + startRef = element.position()[ ref ]; + + // Define hide animation + animation[ ref ] = ( positiveMotion ? -1 : 1 ) * distance + startRef; + animation.clip = element.cssClip(); + animation.clip[ map[ direction ][ 1 ] ] = animation.clip[ map[ direction ][ 0 ] ]; + + // Reverse the animation if we're showing + if ( mode === "show" ) { + element.cssClip( animation.clip ); + element.css( ref, animation[ ref ] ); + animation.clip = startClip; + animation[ ref ] = startRef; + } + + // Actually animate + element.animate( animation, { + queue: false, + duration: options.duration, + easing: options.easing, + complete: done + } ); +} ); + + +/*! + * jQuery UI Effects Transfer 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + */ + +//>>label: Transfer Effect +//>>group: Effects +//>>description: Displays a transfer effect from one element to another. +//>>docs: http://api.jqueryui.com/transfer-effect/ +//>>demos: http://jqueryui.com/effect/ + + + +var effect; +if ( $.uiBackCompat !== false ) { + effect = $.effects.define( "transfer", function( options, done ) { + $( this ).transfer( options, done ); + } ); +} +var effectsEffectTransfer = effect; + + + + +})); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/index.html =================================================================== --- base3.10/src/main/webapp/resource/jquery-ui-1.12.1/index.html (nonexistent) +++ base3.10/src/main/webapp/resource/jquery-ui-1.12.1/index.html (revision 7) @@ -0,0 +1,559 @@ +<!doctype html> +<html lang="us"> +<head> + <meta charset="utf-8"> + <title>jQuery UI Example Page</title> + <link href="jquery-ui.css" rel="stylesheet"> + <style> + body{ + font-family: "Trebuchet MS", sans-serif; + margin: 50px; + } + .demoHeaders { + margin-top: 2em; + } + #dialog-link { + padding: .4em 1em .4em 20px; + text-decoration: none; + position: relative; + } + #dialog-link span.ui-icon { + margin: 0 5px 0 0; + position: absolute; + left: .2em; + top: 50%; + margin-top: -8px; + } + #icons { + margin: 0; + padding: 0; + } + #icons li { + margin: 2px; + position: relative; + padding: 4px 0; + cursor: pointer; + float: left; + list-style: none; + } + #icons span.ui-icon { + float: left; + margin: 0 4px; + } + .fakewindowcontain .ui-widget-overlay { + position: absolute; + } + select { + width: 200px; + } + </style> +</head> +<body> + +<h1>Welcome to jQuery UI!</h1> + +<div class="ui-widget"> + <p>This page demonstrates the widgets and theme you selected in Download Builder. Please make sure you are using them with a compatible jQuery version.</p> +</div> + +<h1>YOUR COMPONENTS:</h1> + + +<!-- Accordion --> +<h2 class="demoHeaders">Accordion</h2> +<div id="accordion"> + <h3>First</h3> + <div>Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</div> + <h3>Second</h3> + <div>Phasellus mattis tincidunt nibh.</div> + <h3>Third</h3> + <div>Nam dui erat, auctor a, dignissim quis.</div> +</div> + + + +<!-- Autocomplete --> +<h2 class="demoHeaders">Autocomplete</h2> +<div> + <input id="autocomplete" title="type &quot;a&quot;"> +</div> + + + +<!-- Button --> +<h2 class="demoHeaders">Button</h2> +<button id="button">A button element</button> +<button id="button-icon">An icon-only button</button> + + + +<!-- Checkboxradio --> +<h2 class="demoHeaders">Checkboxradio</h2> +<form style="margin-top: 1em;"> + <div id="radioset"> + <input type="radio" id="radio1" name="radio"><label for="radio1">Choice 1</label> + <input type="radio" id="radio2" name="radio" checked="checked"><label for="radio2">Choice 2</label> + <input type="radio" id="radio3" name="radio"><label for="radio3">Choice 3</label> + </div> +</form> + + + +<!-- Controlgroup --> +<h2 class="demoHeaders">Controlgroup</h2> +<fieldset> + <legend>Rental Car</legend> + <div id="controlgroup"> + <select id="car-type"> + <option>Compact car</option> + <option>Midsize car</option> + <option>Full size car</option> + <option>SUV</option> + <option>Luxury</option> + <option>Truck</option> + <option>Van</option> + </select> + <label for="transmission-standard">Standard</label> + <input type="radio" name="transmission" id="transmission-standard"> + <label for="transmission-automatic">Automatic</label> + <input type="radio" name="transmission" id="transmission-automatic"> + <label for="insurance">Insurance</label> + <input type="checkbox" name="insurance" id="insurance"> + <label for="horizontal-spinner" class="ui-controlgroup-label"># of cars</label> + <input id="horizontal-spinner" class="ui-spinner-input"> + <button>Book Now!</button> + </div> +</fieldset> + + + +<!-- Tabs --> +<h2 class="demoHeaders">Tabs</h2> +<div id="tabs"> + <ul> + <li><a href="#tabs-1">First</a></li> + <li><a href="#tabs-2">Second</a></li> + <li><a href="#tabs-3">Third</a></li> + </ul> + <div id="tabs-1">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div> + <div id="tabs-2">Phasellus mattis tincidunt nibh. Cras orci urna, blandit id, pretium vel, aliquet ornare, felis. Maecenas scelerisque sem non nisl. Fusce sed lorem in enim dictum bibendum.</div> + <div id="tabs-3">Nam dui erat, auctor a, dignissim quis, sollicitudin eu, felis. Pellentesque nisi urna, interdum eget, sagittis et, consequat vestibulum, lacus. Mauris porttitor ullamcorper augue.</div> +</div> + + + +<h2 class="demoHeaders">Dialog</h2> +<p> + <button id="dialog-link" class="ui-button ui-corner-all ui-widget"> + <span class="ui-icon ui-icon-newwin"></span>Open Dialog + </button> +</p> + +<h2 class="demoHeaders">Overlay and Shadow Classes</h2> +<div style="position: relative; width: 96%; height: 200px; padding:1% 2%; overflow:hidden;" class="fakewindowcontain"> + <p>Lorem ipsum dolor sit amet, Nulla nec tortor. Donec id elit quis purus consectetur consequat. </p><p>Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. Aliquam ante. Suspendisse scelerisque dui nec velit. Duis augue augue, gravida euismod, vulputate ac, facilisis id, sem. Morbi in orci. </p><p>Nulla purus lacus, pulvinar vel, malesuada ac, mattis nec, quam. Nam molestie scelerisque quam. Nullam feugiat cursus lacus.orem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero risus, commodo vitae, pharetra mollis, posuere eu, pede. Nulla nec tortor. Donec id elit quis purus consectetur consequat. </p><p>Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. Aliquam ante. Suspendisse scelerisque dui nec velit. Duis augue augue, gravida euismod, vulputate ac, facilisis id, sem. Morbi in orci. Nulla purus lacus, pulvinar vel, malesuada ac, mattis nec, quam. Nam molestie scelerisque quam. </p><p>Nullam feugiat cursus lacus.orem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero risus, commodo vitae, pharetra mollis, posuere eu, pede. Nulla nec tortor. Donec id elit quis purus consectetur consequat. Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. Aliquam ante. </p><p>Suspendisse scelerisque dui nec velit. Duis augue augue, gravida euismod, vulputate ac, facilisis id, sem. Morbi in orci. Nulla purus lacus, pulvinar vel, malesuada ac, mattis nec, quam. Nam molestie scelerisque quam. Nullam feugiat cursus lacus.orem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero risus, commodo vitae, pharetra mollis, posuere eu, pede. Nulla nec tortor. Donec id elit quis purus consectetur consequat. Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. </p> + + <!-- ui-dialog --> + <div class="ui-widget-overlay ui-front"></div> + <div style="position: absolute; width: 320px; left: 50px; top: 30px; padding: 1.2em" class="ui-widget ui-front ui-widget-content ui-corner-all ui-widget-shadow"> + Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. + </div> + +</div> + +<!-- ui-dialog --> +<div id="dialog" title="Dialog Title"> + <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p> +</div> + + + +<h2 class="demoHeaders">Framework Icons (content color preview)</h2> +<ul id="icons" class="ui-widget ui-helper-clearfix"> + <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-n"><span class="ui-icon ui-icon-caret-1-n"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-ne"><span class="ui-icon ui-icon-caret-1-ne"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-e"><span class="ui-icon ui-icon-caret-1-e"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-se"><span class="ui-icon ui-icon-caret-1-se"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-s"><span class="ui-icon ui-icon-caret-1-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-sw"><span class="ui-icon ui-icon-caret-1-sw"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-w"><span class="ui-icon ui-icon-caret-1-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-nw"><span class="ui-icon ui-icon-caret-1-nw"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-2-n-s"><span class="ui-icon ui-icon-caret-2-n-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-2-e-w"><span class="ui-icon ui-icon-caret-2-e-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-n"><span class="ui-icon ui-icon-triangle-1-n"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-ne"><span class="ui-icon ui-icon-triangle-1-ne"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-e"><span class="ui-icon ui-icon-triangle-1-e"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-se"><span class="ui-icon ui-icon-triangle-1-se"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-s"><span class="ui-icon ui-icon-triangle-1-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-sw"><span class="ui-icon ui-icon-triangle-1-sw"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-w"><span class="ui-icon ui-icon-triangle-1-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-nw"><span class="ui-icon ui-icon-triangle-1-nw"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-2-n-s"><span class="ui-icon ui-icon-triangle-2-n-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-2-e-w"><span class="ui-icon ui-icon-triangle-2-e-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-n"><span class="ui-icon ui-icon-arrow-1-n"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-ne"><span class="ui-icon ui-icon-arrow-1-ne"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-e"><span class="ui-icon ui-icon-arrow-1-e"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-se"><span class="ui-icon ui-icon-arrow-1-se"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-s"><span class="ui-icon ui-icon-arrow-1-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-sw"><span class="ui-icon ui-icon-arrow-1-sw"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-w"><span class="ui-icon ui-icon-arrow-1-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-nw"><span class="ui-icon ui-icon-arrow-1-nw"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-n-s"><span class="ui-icon ui-icon-arrow-2-n-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-ne-sw"><span class="ui-icon ui-icon-arrow-2-ne-sw"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-e-w"><span class="ui-icon ui-icon-arrow-2-e-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-se-nw"><span class="ui-icon ui-icon-arrow-2-se-nw"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-n"><span class="ui-icon ui-icon-arrowstop-1-n"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-e"><span class="ui-icon ui-icon-arrowstop-1-e"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-s"><span class="ui-icon ui-icon-arrowstop-1-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-w"><span class="ui-icon ui-icon-arrowstop-1-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-n"><span class="ui-icon ui-icon-arrowthick-1-n"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-ne"><span class="ui-icon ui-icon-arrowthick-1-ne"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-e"><span class="ui-icon ui-icon-arrowthick-1-e"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-se"><span class="ui-icon ui-icon-arrowthick-1-se"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-s"><span class="ui-icon ui-icon-arrowthick-1-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-sw"><span class="ui-icon ui-icon-arrowthick-1-sw"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-w"><span class="ui-icon ui-icon-arrowthick-1-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-nw"><span class="ui-icon ui-icon-arrowthick-1-nw"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-n-s"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-ne-sw"><span class="ui-icon ui-icon-arrowthick-2-ne-sw"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-e-w"><span class="ui-icon ui-icon-arrowthick-2-e-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-se-nw"><span class="ui-icon ui-icon-arrowthick-2-se-nw"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-n"><span class="ui-icon ui-icon-arrowthickstop-1-n"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-e"><span class="ui-icon ui-icon-arrowthickstop-1-e"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-s"><span class="ui-icon ui-icon-arrowthickstop-1-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-w"><span class="ui-icon ui-icon-arrowthickstop-1-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-w"><span class="ui-icon ui-icon-arrowreturnthick-1-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-n"><span class="ui-icon ui-icon-arrowreturnthick-1-n"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-e"><span class="ui-icon ui-icon-arrowreturnthick-1-e"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-s"><span class="ui-icon ui-icon-arrowreturnthick-1-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-w"><span class="ui-icon ui-icon-arrowreturn-1-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-n"><span class="ui-icon ui-icon-arrowreturn-1-n"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-e"><span class="ui-icon ui-icon-arrowreturn-1-e"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-s"><span class="ui-icon ui-icon-arrowreturn-1-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-w"><span class="ui-icon ui-icon-arrowrefresh-1-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-n"><span class="ui-icon ui-icon-arrowrefresh-1-n"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-e"><span class="ui-icon ui-icon-arrowrefresh-1-e"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-s"><span class="ui-icon ui-icon-arrowrefresh-1-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-4"><span class="ui-icon ui-icon-arrow-4"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-4-diag"><span class="ui-icon ui-icon-arrow-4-diag"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-extlink"><span class="ui-icon ui-icon-extlink"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-newwin"><span class="ui-icon ui-icon-newwin"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-refresh"><span class="ui-icon ui-icon-refresh"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-shuffle"><span class="ui-icon ui-icon-shuffle"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-transfer-e-w"><span class="ui-icon ui-icon-transfer-e-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-transferthick-e-w"><span class="ui-icon ui-icon-transferthick-e-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-folder-collapsed"><span class="ui-icon ui-icon-folder-collapsed"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-folder-open"><span class="ui-icon ui-icon-folder-open"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-document"><span class="ui-icon ui-icon-document"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-document-b"><span class="ui-icon ui-icon-document-b"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-note"><span class="ui-icon ui-icon-note"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-mail-closed"><span class="ui-icon ui-icon-mail-closed"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-mail-open"><span class="ui-icon ui-icon-mail-open"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-suitcase"><span class="ui-icon ui-icon-suitcase"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-comment"><span class="ui-icon ui-icon-comment"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-person"><span class="ui-icon ui-icon-person"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-print"><span class="ui-icon ui-icon-print"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-trash"><span class="ui-icon ui-icon-trash"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-locked"><span class="ui-icon ui-icon-locked"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-unlocked"><span class="ui-icon ui-icon-unlocked"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-bookmark"><span class="ui-icon ui-icon-bookmark"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-tag"><span class="ui-icon ui-icon-tag"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-home"><span class="ui-icon ui-icon-home"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-flag"><span class="ui-icon ui-icon-flag"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-calculator"><span class="ui-icon ui-icon-calculator"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-cart"><span class="ui-icon ui-icon-cart"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-pencil"><span class="ui-icon ui-icon-pencil"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-clock"><span class="ui-icon ui-icon-clock"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-disk"><span class="ui-icon ui-icon-disk"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-calendar"><span class="ui-icon ui-icon-calendar"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-zoomin"><span class="ui-icon ui-icon-zoomin"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-zoomout"><span class="ui-icon ui-icon-zoomout"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-search"><span class="ui-icon ui-icon-search"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-wrench"><span class="ui-icon ui-icon-wrench"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-gear"><span class="ui-icon ui-icon-gear"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-heart"><span class="ui-icon ui-icon-heart"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-star"><span class="ui-icon ui-icon-star"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-link"><span class="ui-icon ui-icon-link"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-cancel"><span class="ui-icon ui-icon-cancel"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-plus"><span class="ui-icon ui-icon-plus"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-plusthick"><span class="ui-icon ui-icon-plusthick"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-minus"><span class="ui-icon ui-icon-minus"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-minusthick"><span class="ui-icon ui-icon-minusthick"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-close"><span class="ui-icon ui-icon-close"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-closethick"><span class="ui-icon ui-icon-closethick"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-key"><span class="ui-icon ui-icon-key"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-lightbulb"><span class="ui-icon ui-icon-lightbulb"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-scissors"><span class="ui-icon ui-icon-scissors"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-clipboard"><span class="ui-icon ui-icon-clipboard"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-copy"><span class="ui-icon ui-icon-copy"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-contact"><span class="ui-icon ui-icon-contact"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-image"><span class="ui-icon ui-icon-image"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-video"><span class="ui-icon ui-icon-video"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-script"><span class="ui-icon ui-icon-script"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-alert"><span class="ui-icon ui-icon-alert"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-info"><span class="ui-icon ui-icon-info"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-notice"><span class="ui-icon ui-icon-notice"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-help"><span class="ui-icon ui-icon-help"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-check"><span class="ui-icon ui-icon-check"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-bullet"><span class="ui-icon ui-icon-bullet"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-radio-off"><span class="ui-icon ui-icon-radio-off"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-radio-on"><span class="ui-icon ui-icon-radio-on"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-pin-w"><span class="ui-icon ui-icon-pin-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-pin-s"><span class="ui-icon ui-icon-pin-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-play"><span class="ui-icon ui-icon-play"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-pause"><span class="ui-icon ui-icon-pause"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-seek-next"><span class="ui-icon ui-icon-seek-next"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-seek-prev"><span class="ui-icon ui-icon-seek-prev"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-seek-end"><span class="ui-icon ui-icon-seek-end"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-seek-first"><span class="ui-icon ui-icon-seek-first"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-stop"><span class="ui-icon ui-icon-stop"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-eject"><span class="ui-icon ui-icon-eject"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-volume-off"><span class="ui-icon ui-icon-volume-off"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-volume-on"><span class="ui-icon ui-icon-volume-on"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-power"><span class="ui-icon ui-icon-power"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-signal-diag"><span class="ui-icon ui-icon-signal-diag"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-signal"><span class="ui-icon ui-icon-signal"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-battery-0"><span class="ui-icon ui-icon-battery-0"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-battery-1"><span class="ui-icon ui-icon-battery-1"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-battery-2"><span class="ui-icon ui-icon-battery-2"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-battery-3"><span class="ui-icon ui-icon-battery-3"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-plus"><span class="ui-icon ui-icon-circle-plus"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-minus"><span class="ui-icon ui-icon-circle-minus"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-close"><span class="ui-icon ui-icon-circle-close"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-e"><span class="ui-icon ui-icon-circle-triangle-e"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-s"><span class="ui-icon ui-icon-circle-triangle-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-w"><span class="ui-icon ui-icon-circle-triangle-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-n"><span class="ui-icon ui-icon-circle-triangle-n"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-e"><span class="ui-icon ui-icon-circle-arrow-e"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-s"><span class="ui-icon ui-icon-circle-arrow-s"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-w"><span class="ui-icon ui-icon-circle-arrow-w"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-n"><span class="ui-icon ui-icon-circle-arrow-n"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-zoomin"><span class="ui-icon ui-icon-circle-zoomin"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-zoomout"><span class="ui-icon ui-icon-circle-zoomout"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-check"><span class="ui-icon ui-icon-circle-check"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circlesmall-plus"><span class="ui-icon ui-icon-circlesmall-plus"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circlesmall-minus"><span class="ui-icon ui-icon-circlesmall-minus"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-circlesmall-close"><span class="ui-icon ui-icon-circlesmall-close"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-squaresmall-plus"><span class="ui-icon ui-icon-squaresmall-plus"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-squaresmall-minus"><span class="ui-icon ui-icon-squaresmall-minus"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-squaresmall-close"><span class="ui-icon ui-icon-squaresmall-close"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-grip-dotted-vertical"><span class="ui-icon ui-icon-grip-dotted-vertical"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-grip-dotted-horizontal"><span class="ui-icon ui-icon-grip-dotted-horizontal"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-grip-solid-vertical"><span class="ui-icon ui-icon-grip-solid-vertical"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-grip-solid-horizontal"><span class="ui-icon ui-icon-grip-solid-horizontal"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-gripsmall-diagonal-se"><span class="ui-icon ui-icon-gripsmall-diagonal-se"></span></li> + <li class="ui-state-default ui-corner-all" title=".ui-icon-grip-diagonal-se"><span class="ui-icon ui-icon-grip-diagonal-se"></span></li> +</ul> + + +<!-- Slider --> +<h2 class="demoHeaders">Slider</h2> +<div id="slider"></div> + + + +<!-- Datepicker --> +<h2 class="demoHeaders">Datepicker</h2> +<div id="datepicker"></div> + + + +<!-- Progressbar --> +<h2 class="demoHeaders">Progressbar</h2> +<div id="progressbar"></div> + + + +<!-- Progressbar --> +<h2 class="demoHeaders">Selectmenu</h2> +<select id="selectmenu"> + <option>Slower</option> + <option>Slow</option> + <option selected="selected">Medium</option> + <option>Fast</option> + <option>Faster</option> +</select> + + + +<!-- Spinner --> +<h2 class="demoHeaders">Spinner</h2> +<input id="spinner"> + + + +<!-- Menu --> +<h2 class="demoHeaders">Menu</h2> +<ul style="width:100px;" id="menu"> + <li><div>Item 1</div></li> + <li><div>Item 2</div></li> + <li><div>Item 3</div> + <ul> + <li><div>Item 3-1</div></li> + <li><div>Item 3-2</div></li> + <li><div>Item 3-3</div></li> + <li><div>Item 3-4</div></li> + <li><div>Item 3-5</div></li> + </ul> + </li> + <li><div>Item 4</div></li> + <li><div>Item 5</div></li> +</ul> + + + +<!-- Tooltip --> +<h2 class="demoHeaders">Tooltip</h2> +<p id="tooltip"> + <a href="#" title="That&apos;s what this widget is">Tooltips</a> can be attached to any element. When you hover +the element with your mouse, the title attribute is displayed in a little box next to the element, just like a native tooltip. +</p> + + +<!-- Highlight / Error --> +<h2 class="demoHeaders">Highlight / Error</h2> +<div class="ui-widget"> + <div class="ui-state-highlight ui-corner-all" style="margin-top: 20px; padding: 0 .7em;"> + <p><span class="ui-icon ui-icon-info" style="float: left; margin-right: .3em;"></span> + <strong>Hey!</strong> Sample ui-state-highlight style.</p> + </div> +</div> +<br> +<div class="ui-widget"> + <div class="ui-state-error ui-corner-all" style="padding: 0 .7em;"> + <p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span> + <strong>Alert:</strong> Sample ui-state-error style.</p> + </div> +</div> + +<script src="external/jquery/jquery.js"></script> +<script src="jquery-ui.js"></script> +<script> + +$( "#accordion" ).accordion(); + + + +var availableTags = [ + "ActionScript", + "AppleScript", + "Asp", + "BASIC", + "C", + "C++", + "Clojure", + "COBOL", + "ColdFusion", + "Erlang", + "Fortran", + "Groovy", + "Haskell", + "Java", + "JavaScript", + "Lisp", + "Perl", + "PHP", + "Python", + "Ruby", + "Scala", + "Scheme" +]; +$( "#autocomplete" ).autocomplete({ + source: availableTags +}); + + + +$( "#button" ).button(); +$( "#button-icon" ).button({ + icon: "ui-icon-gear", + showLabel: false +}); + + + +$( "#radioset" ).buttonset(); + + + +$( "#controlgroup" ).controlgroup(); + + + +$( "#tabs" ).tabs(); + + + +$( "#dialog" ).dialog({ + autoOpen: false, + width: 400, + buttons: [ + { + text: "Ok", + click: function() { + $( this ).dialog( "close" ); + } + }, + { + text: "Cancel", + click: function() { + $( this ).dialog( "close" ); + } + } + ] +}); + +// Link to open the dialog +$( "#dialog-link" ).click(function( event ) { + $( "#dialog" ).dialog( "open" ); + event.preventDefault(); +}); + + + +$( "#datepicker" ).datepicker({ + inline: true +}); + + + +$( "#slider" ).slider({ + range: true, + values: [ 17, 67 ] +}); + + + +$( "#progressbar" ).progressbar({ + value: 20 +}); + + + +$( "#spinner" ).spinner(); + + + +$( "#menu" ).menu(); + + + +$( "#tooltip" ).tooltip(); + + + +$( "#selectmenu" ).selectmenu(); + + +// Hover states on the static widgets +$( "#dialog-link, #icons li" ).hover( + function() { + $( this ).addClass( "ui-state-hover" ); + }, + function() { + $( this ).removeClass( "ui-state-hover" ); + } +); +</script> +</body> +</html> Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/index.html ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.theme.min.css =================================================================== --- base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.theme.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.theme.min.css (revision 7) @@ -0,0 +1,5 @@ +/*! jQuery UI - v1.12.1 - 2017-09-10 +* http://jqueryui.com +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.theme.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/images/ui-icons_777620_256x240.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/images/ui-icons_777620_256x240.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/images/ui-icons_444444_256x240.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/images/ui-icons_444444_256x240.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/images/ui-icons_555555_256x240.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/images/ui-icons_555555_256x240.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/images/ui-icons_777777_256x240.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/images/ui-icons_777777_256x240.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/images/ui-icons_cc0000_256x240.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/images/ui-icons_cc0000_256x240.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/images/ui-icons_ffffff_256x240.png =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/images/ui-icons_ffffff_256x240.png ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.css =================================================================== --- base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.css (nonexistent) +++ base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.css (revision 7) @@ -0,0 +1,1312 @@ +/*! jQuery UI - v1.12.1 - 2017-09-10 +* http://jqueryui.com +* Includes: draggable.css, core.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-draggable-handle { + -ms-touch-action: none; + touch-action: none; +} +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { + display: none; +} +.ui-helper-hidden-accessible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.ui-helper-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + line-height: 1.3; + text-decoration: none; + font-size: 100%; + list-style: none; +} +.ui-helper-clearfix:before, +.ui-helper-clearfix:after { + content: ""; + display: table; + border-collapse: collapse; +} +.ui-helper-clearfix:after { + clear: both; +} +.ui-helper-zfix { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + opacity: 0; + filter:Alpha(Opacity=0); /* support: IE8 */ +} + +.ui-front { + z-index: 100; +} + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { + cursor: default !important; + pointer-events: none; +} + + +/* Icons +----------------------------------*/ +.ui-icon { + display: inline-block; + vertical-align: middle; + margin-top: -.25em; + position: relative; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; +} + +.ui-widget-icon-block { + left: 50%; + margin-left: -8px; + display: block; +} + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ui-resizable { + position: relative; +} +.ui-resizable-handle { + position: absolute; + font-size: 0.1px; + display: block; + -ms-touch-action: none; + touch-action: none; +} +.ui-resizable-disabled .ui-resizable-handle, +.ui-resizable-autohide .ui-resizable-handle { + display: none; +} +.ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + left: 0; +} +.ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + left: 0; +} +.ui-resizable-e { + cursor: e-resize; + width: 7px; + right: -5px; + top: 0; + height: 100%; +} +.ui-resizable-w { + cursor: w-resize; + width: 7px; + left: -5px; + top: 0; + height: 100%; +} +.ui-resizable-se { + cursor: se-resize; + width: 12px; + height: 12px; + right: 1px; + bottom: 1px; +} +.ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + left: -5px; + bottom: -5px; +} +.ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} +.ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; +} +.ui-selectable { + -ms-touch-action: none; + touch-action: none; +} +.ui-selectable-helper { + position: absolute; + z-index: 100; + border: 1px dotted black; +} +.ui-sortable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-accordion .ui-accordion-header { + display: block; + cursor: pointer; + position: relative; + margin: 2px 0 0 0; + padding: .5em .5em .5em .7em; + font-size: 100%; +} +.ui-accordion .ui-accordion-content { + padding: 1em 2.2em; + border-top: 0; + overflow: auto; +} +.ui-autocomplete { + position: absolute; + top: 0; + left: 0; + cursor: default; +} +.ui-menu { + list-style: none; + padding: 0; + margin: 0; + display: block; + outline: 0; +} +.ui-menu .ui-menu { + position: absolute; +} +.ui-menu .ui-menu-item { + margin: 0; + cursor: pointer; + /* support: IE10, see #8844 */ + list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); +} +.ui-menu .ui-menu-item-wrapper { + position: relative; + padding: 3px 1em 3px .4em; +} +.ui-menu .ui-menu-divider { + margin: 5px 0; + height: 0; + font-size: 0; + line-height: 0; + border-width: 1px 0 0 0; +} +.ui-menu .ui-state-focus, +.ui-menu .ui-state-active { + margin: -1px; +} + +/* icon support */ +.ui-menu-icons { + position: relative; +} +.ui-menu-icons .ui-menu-item-wrapper { + padding-left: 2em; +} + +/* left-aligned */ +.ui-menu .ui-icon { + position: absolute; + top: 0; + bottom: 0; + left: .2em; + margin: auto 0; +} + +/* right-aligned */ +.ui-menu .ui-menu-icon { + left: auto; + right: 0; +} +.ui-button { + padding: .4em 1em; + display: inline-block; + position: relative; + line-height: normal; + margin-right: .1em; + cursor: pointer; + vertical-align: middle; + text-align: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + /* Support: IE <= 11 */ + overflow: visible; +} + +.ui-button, +.ui-button:link, +.ui-button:visited, +.ui-button:hover, +.ui-button:active { + text-decoration: none; +} + +/* to make room for the icon, a width needs to be set here */ +.ui-button-icon-only { + width: 2em; + box-sizing: border-box; + text-indent: -9999px; + white-space: nowrap; +} + +/* no icon support for input elements */ +input.ui-button.ui-button-icon-only { + text-indent: 0; +} + +/* button icon element(s) */ +.ui-button-icon-only .ui-icon { + position: absolute; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; +} + +.ui-button.ui-icon-notext .ui-icon { + padding: 0; + width: 2.1em; + height: 2.1em; + text-indent: -9999px; + white-space: nowrap; + +} + +input.ui-button.ui-icon-notext .ui-icon { + width: auto; + height: auto; + text-indent: 0; + white-space: normal; + padding: .4em 1em; +} + +/* workarounds */ +/* Support: Firefox 5 - 40 */ +input.ui-button::-moz-focus-inner, +button.ui-button::-moz-focus-inner { + border: 0; + padding: 0; +} +.ui-controlgroup { + vertical-align: middle; + display: inline-block; +} +.ui-controlgroup > .ui-controlgroup-item { + float: left; + margin-left: 0; + margin-right: 0; +} +.ui-controlgroup > .ui-controlgroup-item:focus, +.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus { + z-index: 9999; +} +.ui-controlgroup-vertical > .ui-controlgroup-item { + display: block; + float: none; + width: 100%; + margin-top: 0; + margin-bottom: 0; + text-align: left; +} +.ui-controlgroup-vertical .ui-controlgroup-item { + box-sizing: border-box; +} +.ui-controlgroup .ui-controlgroup-label { + padding: .4em 1em; +} +.ui-controlgroup .ui-controlgroup-label span { + font-size: 80%; +} +.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item { + border-left: none; +} +.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item { + border-top: none; +} +.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content { + border-right: none; +} +.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content { + border-bottom: none; +} + +/* Spinner specific style fixes */ +.ui-controlgroup-vertical .ui-spinner-input { + + /* Support: IE8 only, Android < 4.4 only */ + width: 75%; + width: calc( 100% - 2.4em ); +} +.ui-controlgroup-vertical .ui-spinner .ui-spinner-up { + border-top-style: solid; +} + +.ui-checkboxradio-label .ui-icon-background { + box-shadow: inset 1px 1px 1px #ccc; + border-radius: .12em; + border: none; +} +.ui-checkboxradio-radio-label .ui-icon-background { + width: 16px; + height: 16px; + border-radius: 1em; + overflow: visible; + border: none; +} +.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon, +.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon { + background-image: none; + width: 8px; + height: 8px; + border-width: 4px; + border-style: solid; +} +.ui-checkboxradio-disabled { + pointer-events: none; +} +.ui-datepicker { + width: 17em; + padding: .2em .2em 0; + display: none; +} +.ui-datepicker .ui-datepicker-header { + position: relative; + padding: .2em 0; +} +.ui-datepicker .ui-datepicker-prev, +.ui-datepicker .ui-datepicker-next { + position: absolute; + top: 2px; + width: 1.8em; + height: 1.8em; +} +.ui-datepicker .ui-datepicker-prev-hover, +.ui-datepicker .ui-datepicker-next-hover { + top: 1px; +} +.ui-datepicker .ui-datepicker-prev { + left: 2px; +} +.ui-datepicker .ui-datepicker-next { + right: 2px; +} +.ui-datepicker .ui-datepicker-prev-hover { + left: 1px; +} +.ui-datepicker .ui-datepicker-next-hover { + right: 1px; +} +.ui-datepicker .ui-datepicker-prev span, +.ui-datepicker .ui-datepicker-next span { + display: block; + position: absolute; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} +.ui-datepicker .ui-datepicker-title { + margin: 0 2.3em; + line-height: 1.8em; + text-align: center; +} +.ui-datepicker .ui-datepicker-title select { + font-size: 1em; + margin: 1px 0; +} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { + width: 45%; +} +.ui-datepicker table { + width: 100%; + font-size: .9em; + border-collapse: collapse; + margin: 0 0 .4em; +} +.ui-datepicker th { + padding: .7em .3em; + text-align: center; + font-weight: bold; + border: 0; +} +.ui-datepicker td { + border: 0; + padding: 1px; +} +.ui-datepicker td span, +.ui-datepicker td a { + display: block; + padding: .2em; + text-align: right; + text-decoration: none; +} +.ui-datepicker .ui-datepicker-buttonpane { + background-image: none; + margin: .7em 0 0 0; + padding: 0 .2em; + border-left: 0; + border-right: 0; + border-bottom: 0; +} +.ui-datepicker .ui-datepicker-buttonpane button { + float: right; + margin: .5em .2em .4em; + cursor: pointer; + padding: .2em .6em .3em .6em; + width: auto; + overflow: visible; +} +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { + float: left; +} + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { + width: auto; +} +.ui-datepicker-multi .ui-datepicker-group { + float: left; +} +.ui-datepicker-multi .ui-datepicker-group table { + width: 95%; + margin: 0 auto .4em; +} +.ui-datepicker-multi-2 .ui-datepicker-group { + width: 50%; +} +.ui-datepicker-multi-3 .ui-datepicker-group { + width: 33.3%; +} +.ui-datepicker-multi-4 .ui-datepicker-group { + width: 25%; +} +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { + border-left-width: 0; +} +.ui-datepicker-multi .ui-datepicker-buttonpane { + clear: left; +} +.ui-datepicker-row-break { + clear: both; + width: 100%; + font-size: 0; +} + +/* RTL support */ +.ui-datepicker-rtl { + direction: rtl; +} +.ui-datepicker-rtl .ui-datepicker-prev { + right: 2px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next { + left: 2px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-prev:hover { + right: 1px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next:hover { + left: 1px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane { + clear: right; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button { + float: left; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, +.ui-datepicker-rtl .ui-datepicker-group { + float: right; +} +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { + border-right-width: 0; + border-left-width: 1px; +} + +/* Icons */ +.ui-datepicker .ui-icon { + display: block; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; + left: .5em; + top: .3em; +} +.ui-dialog { + position: absolute; + top: 0; + left: 0; + padding: .2em; + outline: 0; +} +.ui-dialog .ui-dialog-titlebar { + padding: .4em 1em; + position: relative; +} +.ui-dialog .ui-dialog-title { + float: left; + margin: .1em 0; + white-space: nowrap; + width: 90%; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-dialog .ui-dialog-titlebar-close { + position: absolute; + right: .3em; + top: 50%; + width: 20px; + margin: -10px 0 0 0; + padding: 1px; + height: 20px; +} +.ui-dialog .ui-dialog-content { + position: relative; + border: 0; + padding: .5em 1em; + background: none; + overflow: auto; +} +.ui-dialog .ui-dialog-buttonpane { + text-align: left; + border-width: 1px 0 0 0; + background-image: none; + margin-top: .5em; + padding: .3em 1em .5em .4em; +} +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { + float: right; +} +.ui-dialog .ui-dialog-buttonpane button { + margin: .5em .4em .5em 0; + cursor: pointer; +} +.ui-dialog .ui-resizable-n { + height: 2px; + top: 0; +} +.ui-dialog .ui-resizable-e { + width: 2px; + right: 0; +} +.ui-dialog .ui-resizable-s { + height: 2px; + bottom: 0; +} +.ui-dialog .ui-resizable-w { + width: 2px; + left: 0; +} +.ui-dialog .ui-resizable-se, +.ui-dialog .ui-resizable-sw, +.ui-dialog .ui-resizable-ne, +.ui-dialog .ui-resizable-nw { + width: 7px; + height: 7px; +} +.ui-dialog .ui-resizable-se { + right: 0; + bottom: 0; +} +.ui-dialog .ui-resizable-sw { + left: 0; + bottom: 0; +} +.ui-dialog .ui-resizable-ne { + right: 0; + top: 0; +} +.ui-dialog .ui-resizable-nw { + left: 0; + top: 0; +} +.ui-draggable .ui-dialog-titlebar { + cursor: move; +} +.ui-progressbar { + height: 2em; + text-align: left; + overflow: hidden; +} +.ui-progressbar .ui-progressbar-value { + margin: -1px; + height: 100%; +} +.ui-progressbar .ui-progressbar-overlay { + background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw=="); + height: 100%; + filter: alpha(opacity=25); /* support: IE8 */ + opacity: 0.25; +} +.ui-progressbar-indeterminate .ui-progressbar-value { + background-image: none; +} +.ui-selectmenu-menu { + padding: 0; + margin: 0; + position: absolute; + top: 0; + left: 0; + display: none; +} +.ui-selectmenu-menu .ui-menu { + overflow: auto; + overflow-x: hidden; + padding-bottom: 1px; +} +.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { + font-size: 1em; + font-weight: bold; + line-height: 1.5; + padding: 2px 0.4em; + margin: 0.5em 0 0 0; + height: auto; + border: 0; +} +.ui-selectmenu-open { + display: block; +} +.ui-selectmenu-text { + display: block; + margin-right: 20px; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-selectmenu-button.ui-button { + text-align: left; + white-space: nowrap; + width: 14em; +} +.ui-selectmenu-icon.ui-icon { + float: right; + margin-top: 0; +} +.ui-slider { + position: relative; + text-align: left; +} +.ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; + -ms-touch-action: none; + touch-action: none; +} +.ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} + +/* support: IE8 - See #6727 */ +.ui-slider.ui-state-disabled .ui-slider-handle, +.ui-slider.ui-state-disabled .ui-slider-range { + filter: inherit; +} + +.ui-slider-horizontal { + height: .8em; +} +.ui-slider-horizontal .ui-slider-handle { + top: -.3em; + margin-left: -.6em; +} +.ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.ui-slider-horizontal .ui-slider-range-min { + left: 0; +} +.ui-slider-horizontal .ui-slider-range-max { + right: 0; +} + +.ui-slider-vertical { + width: .8em; + height: 100px; +} +.ui-slider-vertical .ui-slider-handle { + left: -.3em; + margin-left: 0; + margin-bottom: -.6em; +} +.ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} +.ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} +.ui-slider-vertical .ui-slider-range-max { + top: 0; +} +.ui-spinner { + position: relative; + display: inline-block; + overflow: hidden; + padding: 0; + vertical-align: middle; +} +.ui-spinner-input { + border: none; + background: none; + color: inherit; + padding: .222em 0; + margin: .2em 0; + vertical-align: middle; + margin-left: .4em; + margin-right: 2em; +} +.ui-spinner-button { + width: 1.6em; + height: 50%; + font-size: .5em; + padding: 0; + margin: 0; + text-align: center; + position: absolute; + cursor: default; + display: block; + overflow: hidden; + right: 0; +} +/* more specificity required here to override default borders */ +.ui-spinner a.ui-spinner-button { + border-top-style: none; + border-bottom-style: none; + border-right-style: none; +} +.ui-spinner-up { + top: 0; +} +.ui-spinner-down { + bottom: 0; +} +.ui-tabs { + position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ + padding: .2em; +} +.ui-tabs .ui-tabs-nav { + margin: 0; + padding: .2em .2em 0; +} +.ui-tabs .ui-tabs-nav li { + list-style: none; + float: left; + position: relative; + top: 0; + margin: 1px .2em 0 0; + border-bottom-width: 0; + padding: 0; + white-space: nowrap; +} +.ui-tabs .ui-tabs-nav .ui-tabs-anchor { + float: left; + padding: .5em 1em; + text-decoration: none; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active { + margin-bottom: -1px; + padding-bottom: 1px; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { + cursor: text; +} +.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { + cursor: pointer; +} +.ui-tabs .ui-tabs-panel { + display: block; + border-width: 0; + padding: 1em 1.4em; + background: none; +} +.ui-tooltip { + padding: 8px; + position: absolute; + z-index: 9999; + max-width: 300px; +} +body .ui-tooltip { + border-width: 2px; +} + +/* Component containers +----------------------------------*/ +.ui-widget { + font-family: Arial,Helvetica,sans-serif; + font-size: 1em; +} +.ui-widget .ui-widget { + font-size: 1em; +} +.ui-widget input, +.ui-widget select, +.ui-widget textarea, +.ui-widget button { + font-family: Arial,Helvetica,sans-serif; + font-size: 1em; +} +.ui-widget.ui-widget-content { + border: 1px solid #c5c5c5; +} +.ui-widget-content { + border: 1px solid #dddddd; + background: #ffffff; + color: #333333; +} +.ui-widget-content a { + color: #333333; +} +.ui-widget-header { + border: 1px solid #dddddd; + background: #e9e9e9; + color: #333333; + font-weight: bold; +} +.ui-widget-header a { + color: #333333; +} + +/* Interaction states +----------------------------------*/ +.ui-state-default, +.ui-widget-content .ui-state-default, +.ui-widget-header .ui-state-default, +.ui-button, + +/* We use html here because we need a greater specificity to make sure disabled +works properly when clicked or hovered */ +html .ui-button.ui-state-disabled:hover, +html .ui-button.ui-state-disabled:active { + border: 1px solid #c5c5c5; + background: #f6f6f6; + font-weight: normal; + color: #454545; +} +.ui-state-default a, +.ui-state-default a:link, +.ui-state-default a:visited, +a.ui-button, +a:link.ui-button, +a:visited.ui-button, +.ui-button { + color: #454545; + text-decoration: none; +} +.ui-state-hover, +.ui-widget-content .ui-state-hover, +.ui-widget-header .ui-state-hover, +.ui-state-focus, +.ui-widget-content .ui-state-focus, +.ui-widget-header .ui-state-focus, +.ui-button:hover, +.ui-button:focus { + border: 1px solid #cccccc; + background: #ededed; + font-weight: normal; + color: #2b2b2b; +} +.ui-state-hover a, +.ui-state-hover a:hover, +.ui-state-hover a:link, +.ui-state-hover a:visited, +.ui-state-focus a, +.ui-state-focus a:hover, +.ui-state-focus a:link, +.ui-state-focus a:visited, +a.ui-button:hover, +a.ui-button:focus { + color: #2b2b2b; + text-decoration: none; +} + +.ui-visual-focus { + box-shadow: 0 0 3px 1px rgb(94, 158, 214); +} +.ui-state-active, +.ui-widget-content .ui-state-active, +.ui-widget-header .ui-state-active, +a.ui-button:active, +.ui-button:active, +.ui-button.ui-state-active:hover { + border: 1px solid #003eff; + background: #007fff; + font-weight: normal; + color: #ffffff; +} +.ui-icon-background, +.ui-state-active .ui-icon-background { + border: #003eff; + background-color: #ffffff; +} +.ui-state-active a, +.ui-state-active a:link, +.ui-state-active a:visited { + color: #ffffff; + text-decoration: none; +} + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, +.ui-widget-content .ui-state-highlight, +.ui-widget-header .ui-state-highlight { + border: 1px solid #dad55e; + background: #fffa90; + color: #777620; +} +.ui-state-checked { + border: 1px solid #dad55e; + background: #fffa90; +} +.ui-state-highlight a, +.ui-widget-content .ui-state-highlight a, +.ui-widget-header .ui-state-highlight a { + color: #777620; +} +.ui-state-error, +.ui-widget-content .ui-state-error, +.ui-widget-header .ui-state-error { + border: 1px solid #f1a899; + background: #fddfdf; + color: #5f3f3f; +} +.ui-state-error a, +.ui-widget-content .ui-state-error a, +.ui-widget-header .ui-state-error a { + color: #5f3f3f; +} +.ui-state-error-text, +.ui-widget-content .ui-state-error-text, +.ui-widget-header .ui-state-error-text { + color: #5f3f3f; +} +.ui-priority-primary, +.ui-widget-content .ui-priority-primary, +.ui-widget-header .ui-priority-primary { + font-weight: bold; +} +.ui-priority-secondary, +.ui-widget-content .ui-priority-secondary, +.ui-widget-header .ui-priority-secondary { + opacity: .7; + filter:Alpha(Opacity=70); /* support: IE8 */ + font-weight: normal; +} +.ui-state-disabled, +.ui-widget-content .ui-state-disabled, +.ui-widget-header .ui-state-disabled { + opacity: .35; + filter:Alpha(Opacity=35); /* support: IE8 */ + background-image: none; +} +.ui-state-disabled .ui-icon { + filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ +} + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { + width: 16px; + height: 16px; +} +.ui-icon, +.ui-widget-content .ui-icon { + background-image: url("images/ui-icons_444444_256x240.png"); +} +.ui-widget-header .ui-icon { + background-image: url("images/ui-icons_444444_256x240.png"); +} +.ui-state-hover .ui-icon, +.ui-state-focus .ui-icon, +.ui-button:hover .ui-icon, +.ui-button:focus .ui-icon { + background-image: url("images/ui-icons_555555_256x240.png"); +} +.ui-state-active .ui-icon, +.ui-button:active .ui-icon { + background-image: url("images/ui-icons_ffffff_256x240.png"); +} +.ui-state-highlight .ui-icon, +.ui-button .ui-state-highlight.ui-icon { + background-image: url("images/ui-icons_777620_256x240.png"); +} +.ui-state-error .ui-icon, +.ui-state-error-text .ui-icon { + background-image: url("images/ui-icons_cc0000_256x240.png"); +} +.ui-button .ui-icon { + background-image: url("images/ui-icons_777777_256x240.png"); +} + +/* positioning */ +.ui-icon-blank { background-position: 16px 16px; } +.ui-icon-caret-1-n { background-position: 0 0; } +.ui-icon-caret-1-ne { background-position: -16px 0; } +.ui-icon-caret-1-e { background-position: -32px 0; } +.ui-icon-caret-1-se { background-position: -48px 0; } +.ui-icon-caret-1-s { background-position: -65px 0; } +.ui-icon-caret-1-sw { background-position: -80px 0; } +.ui-icon-caret-1-w { background-position: -96px 0; } +.ui-icon-caret-1-nw { background-position: -112px 0; } +.ui-icon-caret-2-n-s { background-position: -128px 0; } +.ui-icon-caret-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -65px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -65px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 1px -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-on { background-position: -96px -144px; } +.ui-icon-radio-off { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, +.ui-corner-top, +.ui-corner-left, +.ui-corner-tl { + border-top-left-radius: 3px; +} +.ui-corner-all, +.ui-corner-top, +.ui-corner-right, +.ui-corner-tr { + border-top-right-radius: 3px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-left, +.ui-corner-bl { + border-bottom-left-radius: 3px; +} +.ui-corner-all, +.ui-corner-bottom, +.ui-corner-right, +.ui-corner-br { + border-bottom-right-radius: 3px; +} + +/* Overlays */ +.ui-widget-overlay { + background: #aaaaaa; + opacity: .3; + filter: Alpha(Opacity=30); /* support: IE8 */ +} +.ui-widget-shadow { + -webkit-box-shadow: 0px 0px 5px #666666; + box-shadow: 0px 0px 5px #666666; +} Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/AUTHORS.txt =================================================================== --- base3.10/src/main/webapp/resource/jquery-ui-1.12.1/AUTHORS.txt (nonexistent) +++ base3.10/src/main/webapp/resource/jquery-ui-1.12.1/AUTHORS.txt (revision 7) @@ -0,0 +1,333 @@ +Authors ordered by first contribution +A list of current team members is available at http://jqueryui.com/about + +Paul Bakaus <paul.bakaus@gmail.com> +Richard Worth <rdworth@gmail.com> +Yehuda Katz <wycats@gmail.com> +Sean Catchpole <sean@sunsean.com> +John Resig <jeresig@gmail.com> +Tane Piper <piper.tane@gmail.com> +Dmitri Gaskin <dmitrig01@gmail.com> +Klaus Hartl <klaus.hartl@gmail.com> +Stefan Petre <stefan.petre@gmail.com> +Gilles van den Hoven <gilles@webunity.nl> +Micheil Bryan Smith <micheil@brandedcode.com> +Jörn Zaefferer <joern.zaefferer@gmail.com> +Marc Grabanski <m@marcgrabanski.com> +Keith Wood <kbwood@iinet.com.au> +Brandon Aaron <brandon.aaron@gmail.com> +Scott González <scott.gonzalez@gmail.com> +Eduardo Lundgren <eduardolundgren@gmail.com> +Aaron Eisenberger <aaronchi@gmail.com> +Joan Piedra <theneojp@gmail.com> +Bruno Basto <b.basto@gmail.com> +Remy Sharp <remy@leftlogic.com> +Bohdan Ganicky <bohdan.ganicky@gmail.com> +David Bolter <david.bolter@gmail.com> +Chi Cheng <cloudream@gmail.com> +Ca-Phun Ung <pazu2k@gmail.com> +Ariel Flesler <aflesler@gmail.com> +Maggie Wachs <maggie@filamentgroup.com> +Scott Jehl <scottjehl@gmail.com> +Todd Parker <todd@filamentgroup.com> +Andrew Powell <andrew@shellscape.org> +Brant Burnett <btburnett3@gmail.com> +Douglas Neiner <doug@dougneiner.com> +Paul Irish <paul.irish@gmail.com> +Ralph Whitbeck <ralph.whitbeck@gmail.com> +Thibault Duplessis <thibault.duplessis@gmail.com> +Dominique Vincent <dominique.vincent@toitl.com> +Jack Hsu <jack.hsu@gmail.com> +Adam Sontag <ajpiano@ajpiano.com> +Carl Fürstenberg <carl@excito.com> +Kevin Dalman <development@allpro.net> +Alberto Fernández Capel <afcapel@gmail.com> +Jacek Jędrzejewski (http://jacek.jedrzejewski.name) +Ting Kuei <ting@kuei.com> +Samuel Cormier-Iijima <sam@chide.it> +Jon Palmer <jonspalmer@gmail.com> +Ben Hollis <bhollis@amazon.com> +Justin MacCarthy <Justin@Rubystars.biz> +Eyal Kobrigo <kobrigo@hotmail.com> +Tiago Freire <tiago.freire@gmail.com> +Diego Tres <diegotres@gmail.com> +Holger Rüprich <holger@rueprich.de> +Ziling Zhao <zilingzhao@gmail.com> +Mike Alsup <malsup@gmail.com> +Robson Braga Araujo <robsonbraga@gmail.com> +Pierre-Henri Ausseil <ph.ausseil@gmail.com> +Christopher McCulloh <cmcculloh@gmail.com> +Andrew Newcomb <ext.github@preceptsoftware.co.uk> +Lim Chee Aun <cheeaun@gmail.com> +Jorge Barreiro <yortx.barry@gmail.com> +Daniel Steigerwald <daniel@steigerwald.cz> +John Firebaugh <john_firebaugh@bigfix.com> +John Enters <github@darkdark.net> +Andrey Kapitcyn <ru.m157y@gmail.com> +Dmitry Petrov <dpetroff@gmail.com> +Eric Hynds <eric@hynds.net> +Chairat Sunthornwiphat <pipo@sixhead.com> +Josh Varner <josh.varner@gmail.com> +Stéphane Raimbault <stephane.raimbault@gmail.com> +Jay Merrifield <fracmak@gmail.com> +J. Ryan Stinnett <jryans@gmail.com> +Peter Heiberg <peter@heiberg.se> +Alex Dovenmuehle <adovenmuehle@gmail.com> +Jamie Gegerson <git@jamiegegerson.com> +Raymond Schwartz <skeetergraphics@gmail.com> +Phillip Barnes <philbar@gmail.com> +Kyle Wilkinson <kai@wikyd.org> +Khaled AlHourani <me@khaledalhourani.com> +Marian Rudzynski <mr@impaled.org> +Jean-Francois Remy <jeff@melix.org> +Doug Blood <dougblood@gmail.com> +Filippo Cavallarin <filippo.cavallarin@codseq.it> +Heiko Henning <heiko@thehennings.ch> +Aliaksandr Rahalevich <saksmlz@gmail.com> +Mario Visic <mario@mariovisic.com> +Xavi Ramirez <xavi.rmz@gmail.com> +Max Schnur <max.schnur@gmail.com> +Saji Nediyanchath <saji89@gmail.com> +Corey Frang <gnarf37@gmail.com> +Aaron Peterson <aaronp123@yahoo.com> +Ivan Peters <ivan@ivanpeters.com> +Mohamed Cherif Bouchelaghem <cherifbouchelaghem@yahoo.fr> +Marcos Sousa <falecomigo@marcossousa.com> +Michael DellaNoce <mdellanoce@mailtrust.com> +George Marshall <echosx@gmail.com> +Tobias Brunner <tobias@strongswan.org> +Martin Solli <msolli@gmail.com> +David Petersen <public@petersendidit.com> +Dan Heberden <danheberden@gmail.com> +William Kevin Manire <williamkmanire@gmail.com> +Gilmore Davidson <gilmoreorless@gmail.com> +Michael Wu <michaelmwu@gmail.com> +Adam Parod <mystic414@gmail.com> +Guillaume Gautreau <guillaume+github@ghusse.com> +Marcel Toele <EleotleCram@gmail.com> +Dan Streetman <ddstreet@ieee.org> +Matt Hoskins <matt@nipltd.com> +Giovanni Giacobbi <giovanni@giacobbi.net> +Kyle Florence <kyle.florence@gmail.com> +Pavol Hluchý <lopo@losys.sk> +Hans Hillen <hans.hillen@gmail.com> +Mark Johnson <virgofx@live.com> +Trey Hunner <treyhunner@gmail.com> +Shane Whittet <whittet@gmail.com> +Edward A Faulkner <ef@alum.mit.edu> +Adam Baratz <adam@adambaratz.com> +Kato Kazuyoshi <kato.kazuyoshi@gmail.com> +Eike Send <eike.send@gmail.com> +Kris Borchers <kris.borchers@gmail.com> +Eddie Monge <eddie@eddiemonge.com> +Israel Tsadok <itsadok@gmail.com> +Carson McDonald <carson@ioncannon.net> +Jason Davies <jason@jasondavies.com> +Garrison Locke <gplocke@gmail.com> +David Murdoch <david@davidmurdoch.com> +Benjamin Scott Boyle <benjamins.boyle@gmail.com> +Jesse Baird <jebaird@gmail.com> +Jonathan Vingiano <jvingiano@gmail.com> +Dylan Just <dev@ephox.com> +Hiroshi Tomita <tomykaira@gmail.com> +Glenn Goodrich <glenn.goodrich@gmail.com> +Tarafder Ashek-E-Elahi <mail.ashek@gmail.com> +Ryan Neufeld <ryan@neufeldmail.com> +Marc Neuwirth <marc.neuwirth@gmail.com> +Philip Graham <philip.robert.graham@gmail.com> +Benjamin Sterling <benjamin.sterling@kenzomedia.com> +Wesley Walser <waw325@gmail.com> +Kouhei Sutou <kou@clear-code.com> +Karl Kirch <karlkrch@gmail.com> +Chris Kelly <ckdake@ckdake.com> +Jason Oster <jay@kodewerx.org> +Felix Nagel <info@felixnagel.com> +Alexander Polomoshnov <alex.polomoshnov@gmail.com> +David Leal <dgleal@gmail.com> +Igor Milla <igor.fsp.milla@gmail.com> +Dave Methvin <dave.methvin@gmail.com> +Florian Gutmann <f.gutmann@chronimo.com> +Marwan Al Jubeh <marwan.aljubeh@gmail.com> +Milan Broum <midlis@googlemail.com> +Sebastian Sauer <info@dynpages.de> +Gaëtan Muller <m.gaetan89@gmail.com> +Michel Weimerskirch <michel@weimerskirch.net> +William Griffiths <william@ycymro.com> +Stojce Slavkovski <stojce@gmail.com> +David Soms <david.soms@gmail.com> +David De Sloovere <david.desloovere@outlook.com> +Michael P. Jung <michael.jung@terreon.de> +Shannon Pekary <spekary@gmail.com> +Dan Wellman <danwellman@hotmail.com> +Matthew Edward Hutton <meh@corefiling.co.uk> +James Khoury <james@jameskhoury.com> +Rob Loach <robloach@gmail.com> +Alberto Monteiro <betimbrasil@gmail.com> +Alex Rhea <alex.rhea@gmail.com> +Krzysztof Rosiński <rozwell69@gmail.com> +Ryan Olton <oltonr@gmail.com> +Genie <386@mail.com> +Rick Waldron <waldron.rick@gmail.com> +Ian Simpson <spoonlikesham@gmail.com> +Lev Kitsis <spam4lev@gmail.com> +TJ VanToll <tj.vantoll@gmail.com> +Justin Domnitz <jdomnitz@gmail.com> +Douglas Cerna <douglascerna@yahoo.com> +Bert ter Heide <bertjh@hotmail.com> +Jasvir Nagra <jasvir@gmail.com> +Yuriy Khabarov <13real008@gmail.com> +Harri Kilpiö <harri.kilpio@gmail.com> +Lado Lomidze <lado.lomidze@gmail.com> +Amir E. Aharoni <amir.aharoni@mail.huji.ac.il> +Simon Sattes <simon.sattes@gmail.com> +Jo Liss <joliss42@gmail.com> +Guntupalli Karunakar <karunakarg@yahoo.com> +Shahyar Ghobadpour <shahyar@gmail.com> +Lukasz Lipinski <uzza17@gmail.com> +Timo Tijhof <krinklemail@gmail.com> +Jason Moon <jmoon@socialcast.com> +Martin Frost <martinf55@hotmail.com> +Eneko Illarramendi <eneko@illarra.com> +EungJun Yi <semtlenori@gmail.com> +Courtland Allen <courtlandallen@gmail.com> +Viktar Varvanovich <non4eg@gmail.com> +Danny Trunk <dtrunk90@gmail.com> +Pavel Stetina <pavel.stetina@nangu.tv> +Michael Stay <metaweta@gmail.com> +Steven Roussey <sroussey@gmail.com> +Michael Hollis <hollis21@gmail.com> +Lee Rowlands <lee.rowlands@previousnext.com.au> +Timmy Willison <timmywillisn@gmail.com> +Karl Swedberg <kswedberg@gmail.com> +Baoju Yuan <the_guy_1987@hotmail.com> +Maciej Mroziński <maciej.k.mrozinski@gmail.com> +Luis Dalmolin <luis.nh@gmail.com> +Mark Aaron Shirley <maspwr@gmail.com> +Martin Hoch <martin@fidion.de> +Jiayi Yang <tr870829@gmail.com> +Philipp Benjamin Köppchen <xgxtpbk@gws.ms> +Sindre Sorhus <sindresorhus@gmail.com> +Bernhard Sirlinger <bernhard.sirlinger@tele2.de> +Jared A. Scheel <jared@jaredscheel.com> +Rafael Xavier de Souza <rxaviers@gmail.com> +John Chen <zhang.z.chen@intel.com> +Robert Beuligmann <robertbeuligmann@gmail.com> +Dale Kocian <dale.kocian@gmail.com> +Mike Sherov <mike.sherov@gmail.com> +Andrew Couch <andy@couchand.com> +Marc-Andre Lafortune <github@marc-andre.ca> +Nate Eagle <nate.eagle@teamaol.com> +David Souther <davidsouther@gmail.com> +Mathias Stenbom <mathias@stenbom.com> +Sergey Kartashov <ebishkek@yandex.ru> +Avinash R <nashpapa@gmail.com> +Ethan Romba <ethanromba@gmail.com> +Cory Gackenheimer <cory.gack@gmail.com> +Juan Pablo Kaniefsky <jpkaniefsky@gmail.com> +Roman Salnikov <bardt.dz@gmail.com> +Anika Henke <anika@selfthinker.org> +Samuel Bovée <samycookie2000@yahoo.fr> +Fabrício Matté <ult_combo@hotmail.com> +Viktor Kojouharov <vkojouharov@gmail.com> +Pawel Maruszczyk (http://hrabstwo.net) +Pavel Selitskas <p.selitskas@gmail.com> +Bjørn Johansen <post@bjornjohansen.no> +Matthieu Penant <thieum22@hotmail.com> +Dominic Barnes <dominic@dbarnes.info> +David Sullivan <david.sullivan@gmail.com> +Thomas Jaggi <thomas@responsive.ch> +Vahid Sohrabloo <vahid4134@gmail.com> +Travis Carden <travis.carden@gmail.com> +Bruno M. Custódio <bruno@brunomcustodio.com> +Nathanael Silverman <nathanael.silverman@gmail.com> +Christian Wenz <christian@wenz.org> +Steve Urmston <steve@urm.st> +Zaven Muradyan <megalivoithos@gmail.com> +Woody Gilk <shadowhand@deviantart.com> +Zbigniew Motyka <zbigniew.motyka@gmail.com> +Suhail Alkowaileet <xsoh.k7@gmail.com> +Toshi MARUYAMA <marutosijp2@yahoo.co.jp> +David Hansen <hansede@gmail.com> +Brian Grinstead <briangrinstead@gmail.com> +Christian Klammer <christian314159@gmail.com> +Steven Luscher <jquerycla@steveluscher.com> +Gan Eng Chin <engchin.gan@gmail.com> +Gabriel Schulhof <gabriel.schulhof@intel.com> +Alexander Schmitz <arschmitz@gmail.com> +Vilhjálmur Skúlason <vis@dmm.is> +Siebrand Mazeland <siebrand@kitano.nl> +Mohsen Ekhtiari <mohsenekhtiari@yahoo.com> +Pere Orga <gotrunks@gmail.com> +Jasper de Groot <mail@ugomobi.com> +Stephane Deschamps <stephane.deschamps@gmail.com> +Jyoti Deka <dekajp@gmail.com> +Andrei Picus <office.nightcrawler@gmail.com> +Ondrej Novy <novy@ondrej.org> +Jacob McCutcheon <jacob.mccutcheon@gmail.com> +Monika Piotrowicz <monika.piotrowicz@gmail.com> +Imants Horsts <imants.horsts@inbox.lv> +Eric Dahl <eric.c.dahl@gmail.com> +Dave Stein <dave@behance.com> +Dylan Barrell <dylan@barrell.com> +Daniel DeGroff <djdegroff@gmail.com> +Michael Wiencek <mwtuea@gmail.com> +Thomas Meyer <meyertee@gmail.com> +Ruslan Yakhyaev <ruslan@ruslan.io> +Brian J. Dowling <bjd-dev@simplicity.net> +Ben Higgins <ben@extrahop.com> +Yermo Lamers <yml@yml.com> +Patrick Stapleton <github@gdi2290.com> +Trisha Crowley <trisha.crowley@gmail.com> +Usman Akeju <akeju00+github@gmail.com> +Rodrigo Menezes <rod333@gmail.com> +Jacques Perrault <jacques_perrault@us.ibm.com> +Frederik Elvhage <frederik.elvhage@googlemail.com> +Will Holley <willholley@gmail.com> +Uri Gilad <antishok@gmail.com> +Richard Gibson <richard.gibson@gmail.com> +Simen Bekkhus <sbekkhus91@gmail.com> +Chen Eshchar <eshcharc@gmail.com> +Bruno Pérel <brunoperel@gmail.com> +Mohammed Alshehri <m@dralshehri.com> +Lisa Seacat DeLuca <ldeluca@us.ibm.com> +Anne-Gaelle Colom <coloma@westminster.ac.uk> +Adam Foster <slimfoster@gmail.com> +Luke Page <luke.a.page@gmail.com> +Daniel Owens <daniel@matchstickmixup.com> +Michael Orchard <morchard@scottlogic.co.uk> +Marcus Warren <marcus@envoke.com> +Nils Heuermann <nils@world-of-scripts.de> +Marco Ziech <marco@ziech.net> +Patricia Juarez <patrixd@gmail.com> +Ben Mosher <me@benmosher.com> +Ablay Keldibek <atomio.ak@gmail.com> +Thomas Applencourt <thomas.applencourt@irsamc.ups-tlse.fr> +Jiabao Wu <jiabao.foss@gmail.com> +Eric Lee Carraway <github@ericcarraway.com> +Victor Homyakov <vkhomyackov@gmail.com> +Myeongjin Lee <aranet100@gmail.com> +Liran Sharir <lsharir@gmail.com> +Weston Ruter <weston@xwp.co> +Mani Mishra <manimishra902@gmail.com> +Hannah Methvin <hannahmethvin@gmail.com> +Leonardo Balter <leonardo.balter@gmail.com> +Benjamin Albert <benjamin_a5@yahoo.com> +Michał Gołębiowski <m.goleb@gmail.com> +Alyosha Pushak <alyosha.pushak@gmail.com> +Fahad Ahmad <fahadahmad41@hotmail.com> +Matt Brundage <github@mattbrundage.com> +Francesc Baeta <francesc.baeta@gmail.com> +Piotr Baran <piotros@wp.pl> +Mukul Hase <mukulhase@gmail.com> +Konstantin Dinev <kdinev@mail.bw.edu> +Rand Scullard <rand@randscullard.com> +Dan Strohl <dan@wjcg.net> +Maksim Ryzhikov <rv.maksim@gmail.com> +Amine HADDAD <haddad@allegorie.tv> +Amanpreet Singh <apsdehal@gmail.com> +Alexey Balchunas <bleshik@gmail.com> +Peter Kehl <peter.kehl@gmail.com> +Peter Dave Hello <hsu@peterdavehello.org> +Johannes Schäfer <johnschaefer@gmx.de> +Ville Skyttä <ville.skytta@iki.fi> +Ryan Oriecuia <ryan.oriecuia@visioncritical.com> Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/AUTHORS.txt ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.min.css =================================================================== --- base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! jQuery UI - v1.12.1 - 2017-09-10 +* http://jqueryui.com +* Includes: draggable.css, core.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css +* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup > .ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup > .ui-controlgroup-item:focus,.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical > .ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.structure.css =================================================================== --- base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.structure.css (nonexistent) +++ base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.structure.css (revision 7) @@ -0,0 +1,886 @@ +/*! + * jQuery UI CSS Framework 1.12.1 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/theming/ + */ +.ui-draggable-handle { + -ms-touch-action: none; + touch-action: none; +} +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { + display: none; +} +.ui-helper-hidden-accessible { + border: 0; + clip: rect(0 0 0 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; +} +.ui-helper-reset { + margin: 0; + padding: 0; + border: 0; + outline: 0; + line-height: 1.3; + text-decoration: none; + font-size: 100%; + list-style: none; +} +.ui-helper-clearfix:before, +.ui-helper-clearfix:after { + content: ""; + display: table; + border-collapse: collapse; +} +.ui-helper-clearfix:after { + clear: both; +} +.ui-helper-zfix { + width: 100%; + height: 100%; + top: 0; + left: 0; + position: absolute; + opacity: 0; + filter:Alpha(Opacity=0); /* support: IE8 */ +} + +.ui-front { + z-index: 100; +} + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { + cursor: default !important; + pointer-events: none; +} + + +/* Icons +----------------------------------*/ +.ui-icon { + display: inline-block; + vertical-align: middle; + margin-top: -.25em; + position: relative; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; +} + +.ui-widget-icon-block { + left: 50%; + margin-left: -8px; + display: block; +} + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.ui-resizable { + position: relative; +} +.ui-resizable-handle { + position: absolute; + font-size: 0.1px; + display: block; + -ms-touch-action: none; + touch-action: none; +} +.ui-resizable-disabled .ui-resizable-handle, +.ui-resizable-autohide .ui-resizable-handle { + display: none; +} +.ui-resizable-n { + cursor: n-resize; + height: 7px; + width: 100%; + top: -5px; + left: 0; +} +.ui-resizable-s { + cursor: s-resize; + height: 7px; + width: 100%; + bottom: -5px; + left: 0; +} +.ui-resizable-e { + cursor: e-resize; + width: 7px; + right: -5px; + top: 0; + height: 100%; +} +.ui-resizable-w { + cursor: w-resize; + width: 7px; + left: -5px; + top: 0; + height: 100%; +} +.ui-resizable-se { + cursor: se-resize; + width: 12px; + height: 12px; + right: 1px; + bottom: 1px; +} +.ui-resizable-sw { + cursor: sw-resize; + width: 9px; + height: 9px; + left: -5px; + bottom: -5px; +} +.ui-resizable-nw { + cursor: nw-resize; + width: 9px; + height: 9px; + left: -5px; + top: -5px; +} +.ui-resizable-ne { + cursor: ne-resize; + width: 9px; + height: 9px; + right: -5px; + top: -5px; +} +.ui-selectable { + -ms-touch-action: none; + touch-action: none; +} +.ui-selectable-helper { + position: absolute; + z-index: 100; + border: 1px dotted black; +} +.ui-sortable-handle { + -ms-touch-action: none; + touch-action: none; +} +.ui-accordion .ui-accordion-header { + display: block; + cursor: pointer; + position: relative; + margin: 2px 0 0 0; + padding: .5em .5em .5em .7em; + font-size: 100%; +} +.ui-accordion .ui-accordion-content { + padding: 1em 2.2em; + border-top: 0; + overflow: auto; +} +.ui-autocomplete { + position: absolute; + top: 0; + left: 0; + cursor: default; +} +.ui-menu { + list-style: none; + padding: 0; + margin: 0; + display: block; + outline: 0; +} +.ui-menu .ui-menu { + position: absolute; +} +.ui-menu .ui-menu-item { + margin: 0; + cursor: pointer; + /* support: IE10, see #8844 */ + list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); +} +.ui-menu .ui-menu-item-wrapper { + position: relative; + padding: 3px 1em 3px .4em; +} +.ui-menu .ui-menu-divider { + margin: 5px 0; + height: 0; + font-size: 0; + line-height: 0; + border-width: 1px 0 0 0; +} +.ui-menu .ui-state-focus, +.ui-menu .ui-state-active { + margin: -1px; +} + +/* icon support */ +.ui-menu-icons { + position: relative; +} +.ui-menu-icons .ui-menu-item-wrapper { + padding-left: 2em; +} + +/* left-aligned */ +.ui-menu .ui-icon { + position: absolute; + top: 0; + bottom: 0; + left: .2em; + margin: auto 0; +} + +/* right-aligned */ +.ui-menu .ui-menu-icon { + left: auto; + right: 0; +} +.ui-button { + padding: .4em 1em; + display: inline-block; + position: relative; + line-height: normal; + margin-right: .1em; + cursor: pointer; + vertical-align: middle; + text-align: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + /* Support: IE <= 11 */ + overflow: visible; +} + +.ui-button, +.ui-button:link, +.ui-button:visited, +.ui-button:hover, +.ui-button:active { + text-decoration: none; +} + +/* to make room for the icon, a width needs to be set here */ +.ui-button-icon-only { + width: 2em; + box-sizing: border-box; + text-indent: -9999px; + white-space: nowrap; +} + +/* no icon support for input elements */ +input.ui-button.ui-button-icon-only { + text-indent: 0; +} + +/* button icon element(s) */ +.ui-button-icon-only .ui-icon { + position: absolute; + top: 50%; + left: 50%; + margin-top: -8px; + margin-left: -8px; +} + +.ui-button.ui-icon-notext .ui-icon { + padding: 0; + width: 2.1em; + height: 2.1em; + text-indent: -9999px; + white-space: nowrap; + +} + +input.ui-button.ui-icon-notext .ui-icon { + width: auto; + height: auto; + text-indent: 0; + white-space: normal; + padding: .4em 1em; +} + +/* workarounds */ +/* Support: Firefox 5 - 40 */ +input.ui-button::-moz-focus-inner, +button.ui-button::-moz-focus-inner { + border: 0; + padding: 0; +} +.ui-controlgroup { + vertical-align: middle; + display: inline-block; +} +.ui-controlgroup > .ui-controlgroup-item { + float: left; + margin-left: 0; + margin-right: 0; +} +.ui-controlgroup > .ui-controlgroup-item:focus, +.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus { + z-index: 9999; +} +.ui-controlgroup-vertical > .ui-controlgroup-item { + display: block; + float: none; + width: 100%; + margin-top: 0; + margin-bottom: 0; + text-align: left; +} +.ui-controlgroup-vertical .ui-controlgroup-item { + box-sizing: border-box; +} +.ui-controlgroup .ui-controlgroup-label { + padding: .4em 1em; +} +.ui-controlgroup .ui-controlgroup-label span { + font-size: 80%; +} +.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item { + border-left: none; +} +.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item { + border-top: none; +} +.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content { + border-right: none; +} +.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content { + border-bottom: none; +} + +/* Spinner specific style fixes */ +.ui-controlgroup-vertical .ui-spinner-input { + + /* Support: IE8 only, Android < 4.4 only */ + width: 75%; + width: calc( 100% - 2.4em ); +} +.ui-controlgroup-vertical .ui-spinner .ui-spinner-up { + border-top-style: solid; +} + +.ui-checkboxradio-label .ui-icon-background { + box-shadow: inset 1px 1px 1px #ccc; + border-radius: .12em; + border: none; +} +.ui-checkboxradio-radio-label .ui-icon-background { + width: 16px; + height: 16px; + border-radius: 1em; + overflow: visible; + border: none; +} +.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon, +.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon { + background-image: none; + width: 8px; + height: 8px; + border-width: 4px; + border-style: solid; +} +.ui-checkboxradio-disabled { + pointer-events: none; +} +.ui-datepicker { + width: 17em; + padding: .2em .2em 0; + display: none; +} +.ui-datepicker .ui-datepicker-header { + position: relative; + padding: .2em 0; +} +.ui-datepicker .ui-datepicker-prev, +.ui-datepicker .ui-datepicker-next { + position: absolute; + top: 2px; + width: 1.8em; + height: 1.8em; +} +.ui-datepicker .ui-datepicker-prev-hover, +.ui-datepicker .ui-datepicker-next-hover { + top: 1px; +} +.ui-datepicker .ui-datepicker-prev { + left: 2px; +} +.ui-datepicker .ui-datepicker-next { + right: 2px; +} +.ui-datepicker .ui-datepicker-prev-hover { + left: 1px; +} +.ui-datepicker .ui-datepicker-next-hover { + right: 1px; +} +.ui-datepicker .ui-datepicker-prev span, +.ui-datepicker .ui-datepicker-next span { + display: block; + position: absolute; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} +.ui-datepicker .ui-datepicker-title { + margin: 0 2.3em; + line-height: 1.8em; + text-align: center; +} +.ui-datepicker .ui-datepicker-title select { + font-size: 1em; + margin: 1px 0; +} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { + width: 45%; +} +.ui-datepicker table { + width: 100%; + font-size: .9em; + border-collapse: collapse; + margin: 0 0 .4em; +} +.ui-datepicker th { + padding: .7em .3em; + text-align: center; + font-weight: bold; + border: 0; +} +.ui-datepicker td { + border: 0; + padding: 1px; +} +.ui-datepicker td span, +.ui-datepicker td a { + display: block; + padding: .2em; + text-align: right; + text-decoration: none; +} +.ui-datepicker .ui-datepicker-buttonpane { + background-image: none; + margin: .7em 0 0 0; + padding: 0 .2em; + border-left: 0; + border-right: 0; + border-bottom: 0; +} +.ui-datepicker .ui-datepicker-buttonpane button { + float: right; + margin: .5em .2em .4em; + cursor: pointer; + padding: .2em .6em .3em .6em; + width: auto; + overflow: visible; +} +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { + float: left; +} + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { + width: auto; +} +.ui-datepicker-multi .ui-datepicker-group { + float: left; +} +.ui-datepicker-multi .ui-datepicker-group table { + width: 95%; + margin: 0 auto .4em; +} +.ui-datepicker-multi-2 .ui-datepicker-group { + width: 50%; +} +.ui-datepicker-multi-3 .ui-datepicker-group { + width: 33.3%; +} +.ui-datepicker-multi-4 .ui-datepicker-group { + width: 25%; +} +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { + border-left-width: 0; +} +.ui-datepicker-multi .ui-datepicker-buttonpane { + clear: left; +} +.ui-datepicker-row-break { + clear: both; + width: 100%; + font-size: 0; +} + +/* RTL support */ +.ui-datepicker-rtl { + direction: rtl; +} +.ui-datepicker-rtl .ui-datepicker-prev { + right: 2px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next { + left: 2px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-prev:hover { + right: 1px; + left: auto; +} +.ui-datepicker-rtl .ui-datepicker-next:hover { + left: 1px; + right: auto; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane { + clear: right; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button { + float: left; +} +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, +.ui-datepicker-rtl .ui-datepicker-group { + float: right; +} +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { + border-right-width: 0; + border-left-width: 1px; +} + +/* Icons */ +.ui-datepicker .ui-icon { + display: block; + text-indent: -99999px; + overflow: hidden; + background-repeat: no-repeat; + left: .5em; + top: .3em; +} +.ui-dialog { + position: absolute; + top: 0; + left: 0; + padding: .2em; + outline: 0; +} +.ui-dialog .ui-dialog-titlebar { + padding: .4em 1em; + position: relative; +} +.ui-dialog .ui-dialog-title { + float: left; + margin: .1em 0; + white-space: nowrap; + width: 90%; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-dialog .ui-dialog-titlebar-close { + position: absolute; + right: .3em; + top: 50%; + width: 20px; + margin: -10px 0 0 0; + padding: 1px; + height: 20px; +} +.ui-dialog .ui-dialog-content { + position: relative; + border: 0; + padding: .5em 1em; + background: none; + overflow: auto; +} +.ui-dialog .ui-dialog-buttonpane { + text-align: left; + border-width: 1px 0 0 0; + background-image: none; + margin-top: .5em; + padding: .3em 1em .5em .4em; +} +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { + float: right; +} +.ui-dialog .ui-dialog-buttonpane button { + margin: .5em .4em .5em 0; + cursor: pointer; +} +.ui-dialog .ui-resizable-n { + height: 2px; + top: 0; +} +.ui-dialog .ui-resizable-e { + width: 2px; + right: 0; +} +.ui-dialog .ui-resizable-s { + height: 2px; + bottom: 0; +} +.ui-dialog .ui-resizable-w { + width: 2px; + left: 0; +} +.ui-dialog .ui-resizable-se, +.ui-dialog .ui-resizable-sw, +.ui-dialog .ui-resizable-ne, +.ui-dialog .ui-resizable-nw { + width: 7px; + height: 7px; +} +.ui-dialog .ui-resizable-se { + right: 0; + bottom: 0; +} +.ui-dialog .ui-resizable-sw { + left: 0; + bottom: 0; +} +.ui-dialog .ui-resizable-ne { + right: 0; + top: 0; +} +.ui-dialog .ui-resizable-nw { + left: 0; + top: 0; +} +.ui-draggable .ui-dialog-titlebar { + cursor: move; +} +.ui-progressbar { + height: 2em; + text-align: left; + overflow: hidden; +} +.ui-progressbar .ui-progressbar-value { + margin: -1px; + height: 100%; +} +.ui-progressbar .ui-progressbar-overlay { + background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw=="); + height: 100%; + filter: alpha(opacity=25); /* support: IE8 */ + opacity: 0.25; +} +.ui-progressbar-indeterminate .ui-progressbar-value { + background-image: none; +} +.ui-selectmenu-menu { + padding: 0; + margin: 0; + position: absolute; + top: 0; + left: 0; + display: none; +} +.ui-selectmenu-menu .ui-menu { + overflow: auto; + overflow-x: hidden; + padding-bottom: 1px; +} +.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { + font-size: 1em; + font-weight: bold; + line-height: 1.5; + padding: 2px 0.4em; + margin: 0.5em 0 0 0; + height: auto; + border: 0; +} +.ui-selectmenu-open { + display: block; +} +.ui-selectmenu-text { + display: block; + margin-right: 20px; + overflow: hidden; + text-overflow: ellipsis; +} +.ui-selectmenu-button.ui-button { + text-align: left; + white-space: nowrap; + width: 14em; +} +.ui-selectmenu-icon.ui-icon { + float: right; + margin-top: 0; +} +.ui-slider { + position: relative; + text-align: left; +} +.ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; + -ms-touch-action: none; + touch-action: none; +} +.ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} + +/* support: IE8 - See #6727 */ +.ui-slider.ui-state-disabled .ui-slider-handle, +.ui-slider.ui-state-disabled .ui-slider-range { + filter: inherit; +} + +.ui-slider-horizontal { + height: .8em; +} +.ui-slider-horizontal .ui-slider-handle { + top: -.3em; + margin-left: -.6em; +} +.ui-slider-horizontal .ui-slider-range { + top: 0; + height: 100%; +} +.ui-slider-horizontal .ui-slider-range-min { + left: 0; +} +.ui-slider-horizontal .ui-slider-range-max { + right: 0; +} + +.ui-slider-vertical { + width: .8em; + height: 100px; +} +.ui-slider-vertical .ui-slider-handle { + left: -.3em; + margin-left: 0; + margin-bottom: -.6em; +} +.ui-slider-vertical .ui-slider-range { + left: 0; + width: 100%; +} +.ui-slider-vertical .ui-slider-range-min { + bottom: 0; +} +.ui-slider-vertical .ui-slider-range-max { + top: 0; +} +.ui-spinner { + position: relative; + display: inline-block; + overflow: hidden; + padding: 0; + vertical-align: middle; +} +.ui-spinner-input { + border: none; + background: none; + color: inherit; + padding: .222em 0; + margin: .2em 0; + vertical-align: middle; + margin-left: .4em; + margin-right: 2em; +} +.ui-spinner-button { + width: 1.6em; + height: 50%; + font-size: .5em; + padding: 0; + margin: 0; + text-align: center; + position: absolute; + cursor: default; + display: block; + overflow: hidden; + right: 0; +} +/* more specificity required here to override default borders */ +.ui-spinner a.ui-spinner-button { + border-top-style: none; + border-bottom-style: none; + border-right-style: none; +} +.ui-spinner-up { + top: 0; +} +.ui-spinner-down { + bottom: 0; +} +.ui-tabs { + position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ + padding: .2em; +} +.ui-tabs .ui-tabs-nav { + margin: 0; + padding: .2em .2em 0; +} +.ui-tabs .ui-tabs-nav li { + list-style: none; + float: left; + position: relative; + top: 0; + margin: 1px .2em 0 0; + border-bottom-width: 0; + padding: 0; + white-space: nowrap; +} +.ui-tabs .ui-tabs-nav .ui-tabs-anchor { + float: left; + padding: .5em 1em; + text-decoration: none; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active { + margin-bottom: -1px; + padding-bottom: 1px; +} +.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, +.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { + cursor: text; +} +.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { + cursor: pointer; +} +.ui-tabs .ui-tabs-panel { + display: block; + border-width: 0; + padding: 1em 1.4em; + background: none; +} +.ui-tooltip { + padding: 8px; + position: absolute; + z-index: 9999; + max-width: 300px; +} +body .ui-tooltip { + border-width: 2px; +} Property changes on: base3.10/src/main/webapp/resource/jquery-ui-1.12.1/jquery-ui.structure.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/quick_insert.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/quick_insert.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/quick_insert.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-quick-insert{position:absolute;z-index:2147483639;white-space:nowrap;padding-right:5px;margin-left:-5px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fr-quick-insert.fr-on a.fr-floating-btn svg{-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg)}.fr-quick-insert.fr-hidden{display:none}.fr-qi-helper{position:absolute;z-index:3;padding-left:16px;white-space:nowrap}.fr-qi-helper a.fr-btn.fr-floating-btn{text-align:center;display:inline-block;color:#222;-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0)}.fr-qi-helper a.fr-btn.fr-floating-btn.fr-size-1{-webkit-opacity:1;-moz-opacity:1;opacity:1;-ms-filter:"alpha(Opacity=0)";-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1)} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/quick_insert.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/colors.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/colors.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/colors.css (revision 7) @@ -0,0 +1,155 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-popup .fr-colors-tabs { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + margin-bottom: 5px; + line-height: 16px; + margin-left: -2px; + margin-right: -2px; +} +.fr-popup .fr-colors-tabs .fr-colors-tab { + display: inline-block; + width: 50%; + cursor: pointer; + text-align: center; + color: #222222; + font-size: 13px; + padding: 8px 0; + position: relative; +} +.fr-popup .fr-colors-tabs .fr-colors-tab:hover, +.fr-popup .fr-colors-tabs .fr-colors-tab:focus { + color: #1e88e5; +} +.fr-popup .fr-colors-tabs .fr-colors-tab[data-param1="background"]::after { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 2px; + background: #1e88e5; + content: ''; + -webkit-transition: transform 0.2s ease 0s; + -moz-transition: transform 0.2s ease 0s; + -ms-transition: transform 0.2s ease 0s; + -o-transition: transform 0.2s ease 0s; +} +.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab { + color: #1e88e5; +} +.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab[data-param1="text"] ~ [data-param1="background"]::after { + -webkit-transform: translate3d(-100%, 0, 0); + -moz-transform: translate3d(-100%, 0, 0); + -ms-transform: translate3d(-100%, 0, 0); + -o-transform: translate3d(-100%, 0, 0); +} +.fr-popup .fr-color-hex-layer { + width: 100%; + margin: 0px; + padding: 10px; +} +.fr-popup .fr-color-hex-layer .fr-input-line { + float: left; + width: calc(100% - 50px); + padding: 8px 0 0; +} +.fr-popup .fr-color-hex-layer .fr-action-buttons { + float: right; + width: 50px; +} +.fr-popup .fr-color-hex-layer .fr-action-buttons button { + background-color: #1e88e5; + color: #FFF; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 13px; + height: 32px; +} +.fr-popup .fr-color-hex-layer .fr-action-buttons button:hover { + background-color: #166dba; + color: #FFF; +} +.fr-popup .fr-separator + .fr-colors-tabs { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + margin-left: 2px; + margin-right: 2px; +} +.fr-popup .fr-color-set { + line-height: 0; + display: none; +} +.fr-popup .fr-color-set.fr-selected-set { + display: block; +} +.fr-popup .fr-color-set > span { + display: inline-block; + width: 32px; + height: 32px; + position: relative; + z-index: 1; +} +.fr-popup .fr-color-set > span > i, +.fr-popup .fr-color-set > span > svg { + text-align: center; + line-height: 32px; + height: 32px; + width: 32px; + font-size: 13px; + position: absolute; + bottom: 0; + cursor: default; + left: 0; +} +.fr-popup .fr-color-set > span .fr-selected-color { + color: #ffffff; + font-family: FontAwesome; + font-size: 13px; + font-weight: 400; + line-height: 32px; + position: absolute; + top: 0; + bottom: 0; + right: 0; + left: 0; + text-align: center; + cursor: default; +} +.fr-popup .fr-color-set > span:hover, +.fr-popup .fr-color-set > span:focus { + outline: 1px solid #222222; + z-index: 2; +} +.fr-rtl .fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab[data-param1="text"] ~ [data-param1="background"]::after { + -webkit-transform: translate3d(100%, 0, 0); + -moz-transform: translate3d(100%, 0, 0); + -ms-transform: translate3d(100%, 0, 0); + -o-transform: translate3d(100%, 0, 0); +} Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/colors.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/special_characters.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/special_characters.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/special_characters.css (revision 7) @@ -0,0 +1,51 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal { + text-align: left; + padding: 20px 20px 10px; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-characters-list { + margin-bottom: 20px; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-characters-title { + font-weight: bold; + font-size: 14px; + padding: 6px 0 4px; + margin: 0 0 5px; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-character { + display: inline-block; + font-size: 16px; + width: 20px; + height: 20px; + padding: 5px; + line-height: 20px; + cursor: default; + font-weight: normal; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + text-align: center; + border: 1px solid #cccccc; + margin: -1px 0 0 -1px; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/special_characters.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/emoticons.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/emoticons.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/emoticons.css (revision 7) @@ -0,0 +1,42 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-popup .fr-emoticon { + display: inline-block; + font-size: 20px; + width: 20px; + padding: 5px; + line-height: 1; + cursor: default; + font-weight: normal; + font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +.fr-popup .fr-emoticon img { + height: 20px; +} +.fr-popup .fr-link:focus { + outline: 0; + background: #ebebeb; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/emoticons.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/image_manager.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/image_manager.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/image_manager.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-modal-head .fr-modal-head-line::after{clear:both;display:block;content:"";height:0}.fr-modal-head .fr-modal-head-line i.fr-modal-more{float:left;opacity:1;-webkit-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-moz-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-ms-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-o-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;padding:12px}.fr-modal-head .fr-modal-head-line i.fr-modal-more.fr-not-available{opacity:0;width:0;padding:12px 0}.fr-modal-head .fr-modal-tags{display:none;text-align:left}.fr-modal-head .fr-modal-tags a{display:inline-block;opacity:0;padding:6px 8px;margin:8px 0 8px 8px;text-decoration:none;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;color:#1e88e5;-webkit-transition:opacity .2s ease 0s,background .2s ease 0s;-moz-transition:opacity .2s ease 0s,background .2s ease 0s;-ms-transition:opacity .2s ease 0s,background .2s ease 0s;-o-transition:opacity .2s ease 0s,background .2s ease 0s;cursor:pointer}.fr-modal-head .fr-modal-tags a:focus{outline:0}.fr-modal-head .fr-modal-tags a.fr-selected-tag{background:#d6d6d6}div.fr-modal-body .fr-preloader{display:block;margin:50px auto}div.fr-modal-body div.fr-image-list{text-align:center;margin:0 10px;padding:0}div.fr-modal-body div.fr-image-list::after{clear:both;display:block;content:"";height:0}div.fr-modal-body div.fr-image-list .fr-list-column{float:left;width:calc((100% - 10px) / 2)}@media (min-width:768px) and (max-width:1199px){div.fr-modal-body div.fr-image-list .fr-list-column{width:calc((100% - 20px) / 3)}}@media (min-width:1200px){div.fr-modal-body div.fr-image-list .fr-list-column{width:calc((100% - 30px) / 4)}}div.fr-modal-body div.fr-image-list .fr-list-column+.fr-list-column{margin-left:10px}div.fr-modal-body div.fr-image-list div.fr-image-container{position:relative;width:100%;display:block;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;overflow:hidden}div.fr-modal-body div.fr-image-list div.fr-image-container:first-child{margin-top:10px}div.fr-modal-body div.fr-image-list div.fr-image-container+div{margin-top:10px}div.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::after{position:absolute;-webkit-opacity:.5;-moz-opacity:.5;opacity:.5;-ms-filter:"alpha(Opacity=0)";-webkit-transition:opacity .2s ease 0s;-moz-transition:opacity .2s ease 0s;-ms-transition:opacity .2s ease 0s;-o-transition:opacity .2s ease 0s;background:#000;content:"";top:0;left:0;bottom:0;right:0;z-index:2}div.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::before{content:attr(data-deleting);color:#fff;top:0;left:0;bottom:0;right:0;margin:auto;position:absolute;z-index:3;font-size:15px;height:20px}div.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty{height:95px;background:#ccc;z-index:1}div.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty::after{position:absolute;margin:auto;top:0;bottom:0;left:0;right:0;content:attr(data-loading);display:inline-block;height:20px}div.fr-modal-body div.fr-image-list div.fr-image-container img{width:100%;vertical-align:middle;position:relative;z-index:2;-webkit-opacity:1;-moz-opacity:1;opacity:1;-ms-filter:"alpha(Opacity=0)";-webkit-transition:opacity .2s ease 0s,filter .2s ease 0s;-moz-transition:opacity .2s ease 0s,filter .2s ease 0s;-ms-transition:opacity .2s ease 0s,filter .2s ease 0s;-o-transition:opacity .2s ease 0s,filter .2s ease 0s;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0)}div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected img{-webkit-opacity:.75;-moz-opacity:.75;opacity:.75;-ms-filter:"alpha(Opacity=0)"}div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected .fr-delete-img,div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected .fr-insert-img{display:inline-block}div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img,div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img{display:none;top:50%;border-radius:100%;-moz-border-radius:100%;-webkit-border-radius:100%;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-transition:background .2s ease 0s,color .2s ease 0s;-moz-transition:background .2s ease 0s,color .2s ease 0s;-ms-transition:background .2s ease 0s,color .2s ease 0s;-o-transition:background .2s ease 0s,color .2s ease 0s;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);position:absolute;cursor:pointer;margin:0;width:36px;height:36px;line-height:36px;text-decoration:none;z-index:3}div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img{background:#b8312f;color:#fff;left:50%;-webkit-transform:translateY(-50%) translateX(25%);-moz-transform:translateY(-50%) translateX(25%);-ms-transform:translateY(-50%) translateX(25%);-o-transform:translateY(-50%) translateX(25%)}div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img{background:#fff;color:#1e88e5;left:50%;-webkit-transform:translateY(-50%) translateX(-125%);-moz-transform:translateY(-50%) translateX(-125%);-ms-transform:translateY(-50%) translateX(-125%);-o-transform:translateY(-50%) translateX(-125%)}.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a:hover{background:#ebebeb}.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a.fr-selected-tag{background:#d6d6d6}.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover img{-webkit-opacity:.75;-moz-opacity:.75;opacity:.75;-ms-filter:"alpha(Opacity=0)"}.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover .fr-delete-img,.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover .fr-insert-img{display:inline-block}.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img:hover{background:#bf4644;color:#fff}.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img:hover{background:#ebebeb} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/image_manager.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/draggable.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/draggable.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/draggable.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-drag-helper{background:#1e88e5;height:2px;margin-top:-1px;-webkit-opacity:.2;-moz-opacity:.2;opacity:.2;-ms-filter:"alpha(Opacity=0)";position:absolute;z-index:2147483640;display:none}.fr-drag-helper.fr-visible{display:block}.fr-dragging{-webkit-opacity:.4;-moz-opacity:.4;opacity:.4;-ms-filter:"alpha(Opacity=0)"} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/draggable.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/table.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/table.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/table.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-element table td.fr-selected-cell,.fr-element table th.fr-selected-cell{border:1px double #1e88e5}.fr-element table tr{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-element table td,.fr-element table th{user-select:text;-o-user-select:text;-moz-user-select:text;-khtml-user-select:text;-webkit-user-select:text;-ms-user-select:text}.fr-element .fr-no-selection table td,.fr-element .fr-no-selection table th{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-table-resizer{cursor:col-resize;position:absolute;z-index:3;display:none}.fr-table-resizer.fr-moving{z-index:2}.fr-table-resizer div{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";border-right:1px solid #1e88e5}.fr-no-selection{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-popup .fr-table-colors-hex-layer{width:100%;margin:0;padding:10px}.fr-popup .fr-table-colors-hex-layer .fr-input-line{float:left;width:calc(100% - 50px);padding:8px 0 0}.fr-popup .fr-table-colors-hex-layer .fr-action-buttons{float:right;width:50px}.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button{background-color:#1e88e5;color:#FFF;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;font-size:13px;height:32px}.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button:hover{background-color:#166dba;color:#FFF}.fr-popup .fr-table-size .fr-table-size-info{text-align:center;font-size:14px;padding:8px}.fr-popup .fr-table-size .fr-select-table-size{line-height:0;padding:0 5px 5px;white-space:nowrap}.fr-popup .fr-table-size .fr-select-table-size>span{display:inline-block;padding:0 4px 4px 0;background:0 0}.fr-popup .fr-table-size .fr-select-table-size>span>span{display:inline-block;width:18px;height:18px;border:1px solid #ddd}.fr-popup .fr-table-size .fr-select-table-size>span.hover{background:0 0}.fr-popup .fr-table-size .fr-select-table-size>span.hover>span{background:rgba(30,136,229,.3);border:solid 1px #1e88e5}.fr-popup .fr-table-size .fr-select-table-size .new-line::after{clear:both;display:block;content:"";height:0}.fr-popup.fr-above .fr-table-size .fr-select-table-size>span{display:inline-block!important}.fr-popup .fr-table-colors-buttons{margin-bottom:5px}.fr-popup .fr-table-colors{line-height:0;display:block}.fr-popup .fr-table-colors>span{display:inline-block;width:32px;height:32px;position:relative;z-index:1}.fr-popup .fr-table-colors>span>i{text-align:center;line-height:32px;height:32px;width:32px;font-size:13px;position:absolute;bottom:0;cursor:default;left:0}.fr-popup .fr-table-colors>span:focus{outline:1px solid #222;z-index:2}.fr-popup.fr-desktop .fr-table-size .fr-select-table-size>span>span{width:12px;height:12px}.fr-insert-helper{position:absolute;z-index:9999;white-space:nowrap} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/table.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/char_counter.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/char_counter.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/char_counter.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-box .fr-counter{position:absolute;bottom:0;padding:5px;right:0;color:#ccc;content:attr(data-chars);font-size:15px;font-family:"Times New Roman",Georgia,Serif;z-index:1;background:#fff;border-top:solid 1px #ebebeb;border-left:solid 1px #ebebeb;border-radius:2px 0 0;-moz-border-radius:2px 0 0;-webkit-border-radius:2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.fr-box.fr-rtl .fr-counter{left:0;right:auto;border-left:0;border-right:solid 1px #ebebeb;border-radius:0 2px 0 0;-moz-border-radius:0 2px 0 0;-webkit-border-radius:0 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.fr-box.fr-code-view .fr-counter{display:none} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/char_counter.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/code_view.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/code_view.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/code_view.css (revision 7) @@ -0,0 +1,112 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +textarea.fr-code { + display: none; + width: 100%; + resize: none; + -moz-resize: none; + -webkit-resize: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + border: none; + padding: 10px; + margin: 0px; + font-family: "Courier New", monospace; + font-size: 14px; + background: #ffffff; + color: #000000; + outline: none; +} +.fr-box.fr-rtl textarea.fr-code { + direction: rtl; +} +.fr-box .CodeMirror { + display: none; +} +.fr-box.fr-code-view textarea.fr-code { + display: block; +} +.fr-box.fr-code-view.fr-inline { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.fr-box.fr-code-view .fr-element, +.fr-box.fr-code-view .fr-placeholder, +.fr-box.fr-code-view .fr-iframe { + display: none; +} +.fr-box.fr-code-view .CodeMirror { + display: block; +} +.fr-box.fr-inline.fr-code-view .fr-command.fr-btn.html-switch { + display: block; +} +.fr-box.fr-inline .fr-command.fr-btn.html-switch { + position: absolute; + top: 0; + right: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + display: none; + background: #ffffff; + color: #222222; + -moz-outline: 0; + outline: 0; + border: 0; + line-height: 1; + cursor: pointer; + text-align: left; + padding: 12px 12px; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + z-index: 2; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + text-decoration: none; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.fr-box.fr-inline .fr-command.fr-btn.html-switch i { + font-size: 14px; + width: 14px; + text-align: center; +} +.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover { + background: #ebebeb; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/code_view.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/fullscreen.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/fullscreen.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/fullscreen.css (revision 7) @@ -0,0 +1,28 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +body.fr-fullscreen { + overflow: hidden; + height: 100%; + width: 100%; + position: fixed; +} +.fr-box.fr-fullscreen { + margin: 0 !important; + position: fixed; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483630 !important; + width: auto !important; +} +.fr-box.fr-fullscreen .fr-toolbar.fr-top { + top: 0 !important; +} +.fr-box.fr-fullscreen .fr-toolbar.fr-bottom { + bottom: 0 !important; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/fullscreen.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/video.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/video.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/video.css (revision 7) @@ -0,0 +1,231 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-element .fr-video { + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.fr-element .fr-video::after { + position: absolute; + content: ''; + z-index: 1; + top: 0; + left: 0; + right: 0; + bottom: 0; + cursor: pointer; + display: block; + background: rgba(0, 0, 0, 0); +} +.fr-element .fr-video.fr-active > * { + z-index: 2; + position: relative; +} +.fr-element .fr-video > * { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + max-width: 100%; + border: none; +} +.fr-box .fr-video-resizer { + position: absolute; + border: solid 1px #1e88e5; + display: none; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.fr-box .fr-video-resizer.fr-active { + display: block; +} +.fr-box .fr-video-resizer .fr-handler { + display: block; + position: absolute; + background: #1e88e5; + border: solid 1px #ffffff; + z-index: 4; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.fr-box .fr-video-resizer .fr-handler.fr-hnw { + cursor: nw-resize; +} +.fr-box .fr-video-resizer .fr-handler.fr-hne { + cursor: ne-resize; +} +.fr-box .fr-video-resizer .fr-handler.fr-hsw { + cursor: sw-resize; +} +.fr-box .fr-video-resizer .fr-handler.fr-hse { + cursor: se-resize; +} +.fr-box .fr-video-resizer .fr-handler { + width: 12px; + height: 12px; +} +.fr-box .fr-video-resizer .fr-handler.fr-hnw { + left: -6px; + top: -6px; +} +.fr-box .fr-video-resizer .fr-handler.fr-hne { + right: -6px; + top: -6px; +} +.fr-box .fr-video-resizer .fr-handler.fr-hsw { + left: -6px; + bottom: -6px; +} +.fr-box .fr-video-resizer .fr-handler.fr-hse { + right: -6px; + bottom: -6px; +} +@media (min-width: 1200px) { + .fr-box .fr-video-resizer .fr-handler { + width: 10px; + height: 10px; + } + .fr-box .fr-video-resizer .fr-handler.fr-hnw { + left: -5px; + top: -5px; + } + .fr-box .fr-video-resizer .fr-handler.fr-hne { + right: -5px; + top: -5px; + } + .fr-box .fr-video-resizer .fr-handler.fr-hsw { + left: -5px; + bottom: -5px; + } + .fr-box .fr-video-resizer .fr-handler.fr-hse { + right: -5px; + bottom: -5px; + } +} +.fr-popup .fr-video-size-layer .fr-video-group .fr-input-line { + width: calc(50% - 5px); + display: inline-block; +} +.fr-popup .fr-video-size-layer .fr-video-group .fr-input-line + .fr-input-line { + margin-left: 10px; +} +.fr-popup .fr-video-upload-layer { + border: dashed 2px #bdbdbd; + padding: 25px 0; + position: relative; + font-size: 14px; + letter-spacing: 1px; + line-height: 140%; + text-align: center; +} +.fr-popup .fr-video-upload-layer:hover { + background: #ebebeb; +} +.fr-popup .fr-video-upload-layer.fr-drop { + background: #ebebeb; + border-color: #1e88e5; +} +.fr-popup .fr-video-upload-layer .fr-form { + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; + overflow: hidden; + margin: 0 !important; + padding: 0 !important; + width: 100% !important; +} +.fr-popup .fr-video-upload-layer .fr-form input { + cursor: pointer; + position: absolute; + right: 0px; + top: 0px; + bottom: 0px; + width: 500%; + height: 100%; + margin: 0px; + font-size: 400px; +} +.fr-popup .fr-video-progress-bar-layer > h3 { + font-size: 16px; + margin: 10px 0; + font-weight: normal; +} +.fr-popup .fr-video-progress-bar-layer > div.fr-action-buttons { + display: none; +} +.fr-popup .fr-video-progress-bar-layer > div.fr-loader { + background: #bcdbf7; + height: 10px; + width: 100%; + margin-top: 20px; + overflow: hidden; + position: relative; +} +.fr-popup .fr-video-progress-bar-layer > div.fr-loader span { + display: block; + height: 100%; + width: 0%; + background: #1e88e5; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.fr-popup .fr-video-progress-bar-layer > div.fr-loader.fr-indeterminate span { + width: 30% !important; + position: absolute; + top: 0; + -webkit-animation: loading 2s linear infinite; + -moz-animation: loading 2s linear infinite; + -o-animation: loading 2s linear infinite; + animation: loading 2s linear infinite; +} +.fr-popup .fr-video-progress-bar-layer.fr-error > div.fr-loader { + display: none; +} +.fr-popup .fr-video-progress-bar-layer.fr-error > div.fr-action-buttons { + display: block; +} +.fr-video-overlay { + position: fixed; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; + display: none; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/video.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/image.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/image.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/image.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-element img{cursor:pointer}.fr-image-resizer{position:absolute;border:solid 1px #1e88e5;display:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;z-index:2}.fr-image-resizer.fr-active{display:block}.fr-image-resizer .fr-handler{display:block;position:absolute;background:#1e88e5;border:solid 1px #fff;z-index:4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fr-image-resizer .fr-handler.fr-hnw{cursor:nw-resize}.fr-image-resizer .fr-handler.fr-hne{cursor:ne-resize}.fr-image-resizer .fr-handler.fr-hsw{cursor:sw-resize}.fr-image-resizer .fr-handler.fr-hse{cursor:se-resize}.fr-image-resizer .fr-handler{width:12px;height:12px}.fr-image-resizer .fr-handler.fr-hnw{left:-6px;top:-6px}.fr-image-resizer .fr-handler.fr-hne{right:-6px;top:-6px}.fr-image-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px}.fr-image-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px}@media (min-width:1200px){.fr-image-resizer .fr-handler{width:10px;height:10px}.fr-image-resizer .fr-handler.fr-hnw{left:-5px;top:-5px}.fr-image-resizer .fr-handler.fr-hne{right:-5px;top:-5px}.fr-image-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px}.fr-image-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px}}.fr-image-overlay{position:fixed;top:0;left:0;bottom:0;right:0;z-index:2147483640;display:none}.fr-popup .fr-image-upload-layer{border:dashed 2px #bdbdbd;padding:25px 0;position:relative;font-size:14px;letter-spacing:1px;line-height:140%;text-align:center}.fr-popup .fr-image-upload-layer:hover{background:#ebebeb}.fr-popup .fr-image-upload-layer.fr-drop{background:#ebebeb;border-color:#1e88e5}.fr-popup .fr-image-upload-layer .fr-form{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";position:absolute;top:0;bottom:0;left:0;right:0;z-index:2147483640;overflow:hidden;margin:0!important;padding:0!important;width:100%!important}.fr-popup .fr-image-upload-layer .fr-form input{cursor:pointer;position:absolute;right:0;top:0;bottom:0;width:500%;height:100%;margin:0;font-size:400px}.fr-popup .fr-image-progress-bar-layer>h3{font-size:16px;margin:10px 0;font-weight:400}.fr-popup .fr-image-progress-bar-layer>div.fr-action-buttons{display:none}.fr-popup .fr-image-progress-bar-layer>div.fr-loader{background:#bcdbf7;height:10px;width:100%;margin-top:20px;overflow:hidden;position:relative}.fr-popup .fr-image-progress-bar-layer>div.fr-loader span{display:block;height:100%;width:0;background:#1e88e5;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.fr-popup .fr-image-progress-bar-layer>div.fr-loader.fr-indeterminate span{width:30%!important;position:absolute;top:0;-webkit-animation:loading 2s linear infinite;-moz-animation:loading 2s linear infinite;-o-animation:loading 2s linear infinite;animation:loading 2s linear infinite}.fr-popup .fr-image-progress-bar-layer.fr-error>div.fr-loader{display:none}.fr-popup .fr-image-progress-bar-layer.fr-error>div.fr-action-buttons{display:block}.fr-image-size-layer .fr-image-group .fr-input-line{width:calc(50% - 5px);display:inline-block}.fr-image-size-layer .fr-image-group .fr-input-line+.fr-input-line{margin-left:10px}.fr-uploading{-webkit-opacity:.4;-moz-opacity:.4;opacity:.4;-ms-filter:"alpha(Opacity=0)"}@keyframes loading{from{left:-25%}to{left:100%}}@-webkit-keyframes loading{from{left:-25%}to{left:100%}}@-moz-keyframes loading{from{left:-25%}to{left:100%}}@-o-keyframes loading{from{left:-25%}to{left:100%}} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/image.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/file.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/file.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/file.css (revision 7) @@ -0,0 +1,146 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-popup .fr-file-upload-layer { + border: dashed 2px #bdbdbd; + padding: 25px 0; + position: relative; + font-size: 14px; + letter-spacing: 1px; + line-height: 140%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + text-align: center; +} +.fr-popup .fr-file-upload-layer:hover { + background: #ebebeb; +} +.fr-popup .fr-file-upload-layer.fr-drop { + background: #ebebeb; + border-color: #1e88e5; +} +.fr-popup .fr-file-upload-layer .fr-form { + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; + overflow: hidden; + margin: 0 !important; + padding: 0 !important; + width: 100% !important; +} +.fr-popup .fr-file-upload-layer .fr-form input { + cursor: pointer; + position: absolute; + right: 0px; + top: 0px; + bottom: 0px; + width: 500%; + height: 100%; + margin: 0px; + font-size: 400px; +} +.fr-popup .fr-file-progress-bar-layer { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.fr-popup .fr-file-progress-bar-layer > h3 { + font-size: 16px; + margin: 10px 0; + font-weight: normal; +} +.fr-popup .fr-file-progress-bar-layer > div.fr-action-buttons { + display: none; +} +.fr-popup .fr-file-progress-bar-layer > div.fr-loader { + background: #bcdbf7; + height: 10px; + width: 100%; + margin-top: 20px; + overflow: hidden; + position: relative; +} +.fr-popup .fr-file-progress-bar-layer > div.fr-loader span { + display: block; + height: 100%; + width: 0%; + background: #1e88e5; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.fr-popup .fr-file-progress-bar-layer > div.fr-loader.fr-indeterminate span { + width: 30% !important; + position: absolute; + top: 0; + -webkit-animation: loading 2s linear infinite; + -moz-animation: loading 2s linear infinite; + -o-animation: loading 2s linear infinite; + animation: loading 2s linear infinite; +} +.fr-popup .fr-file-progress-bar-layer.fr-error > div.fr-loader { + display: none; +} +.fr-popup .fr-file-progress-bar-layer.fr-error > div.fr-action-buttons { + display: block; +} +@keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} +@-webkit-keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} +@-moz-keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} +@-o-keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/file.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/help.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/help.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/help.css (revision 7) @@ -0,0 +1,52 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal { + text-align: left; + padding: 20px 20px 10px; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table { + border-collapse: collapse; + font-size: 14px; + line-height: 1.5; + width: 100%; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table + table { + margin-top: 20px; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tr { + border: 0; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table th, +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table td { + padding: 6px 0 4px; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody tr { + border-bottom: solid 1px #ebebeb; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:first-child { + width: 60%; + color: #646464; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:nth-child(n+2) { + letter-spacing: 0.5px; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/help.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/line_breaker.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/line_breaker.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/line_breaker.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-line-breaker{cursor:text;border-top:1px solid #1e88e5;position:fixed;z-index:2;display:none}.fr-line-breaker.fr-visible{display:block}.fr-line-breaker a.fr-floating-btn{position:absolute;left:calc(50% - (32px / 2));top:-16px} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/line_breaker.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/image_manager.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/image_manager.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/image_manager.css (revision 7) @@ -0,0 +1,266 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-modal-head .fr-modal-head-line::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.fr-modal-head .fr-modal-head-line i.fr-modal-more { + float: left; + opacity: 1; + -webkit-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -moz-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -ms-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -o-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + padding: 12px; +} +.fr-modal-head .fr-modal-head-line i.fr-modal-more.fr-not-available { + opacity: 0; + width: 0; + padding: 12px 0; +} +.fr-modal-head .fr-modal-tags { + display: none; + text-align: left; +} +.fr-modal-head .fr-modal-tags a { + display: inline-block; + opacity: 0; + padding: 6px 8px; + margin: 8px 0 8px 8px; + text-decoration: none; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + color: #1e88e5; + -webkit-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + cursor: pointer; +} +.fr-modal-head .fr-modal-tags a:focus { + outline: none; +} +.fr-modal-head .fr-modal-tags a.fr-selected-tag { + background: #d6d6d6; +} +div.fr-modal-body .fr-preloader { + display: block; + margin: 50px auto; +} +div.fr-modal-body div.fr-image-list { + text-align: center; + margin: 0 10px; + padding: 0; +} +div.fr-modal-body div.fr-image-list::after { + clear: both; + display: block; + content: ""; + height: 0; +} +div.fr-modal-body div.fr-image-list .fr-list-column { + float: left; + width: calc((100% - 10px) / 2); +} +@media (min-width: 768px) and (max-width: 1199px) { + div.fr-modal-body div.fr-image-list .fr-list-column { + width: calc((100% - 20px) / 3); + } +} +@media (min-width: 1200px) { + div.fr-modal-body div.fr-image-list .fr-list-column { + width: calc((100% - 30px) / 4); + } +} +div.fr-modal-body div.fr-image-list .fr-list-column + .fr-list-column { + margin-left: 10px; +} +div.fr-modal-body div.fr-image-list div.fr-image-container { + position: relative; + width: 100%; + display: block; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + overflow: hidden; +} +div.fr-modal-body div.fr-image-list div.fr-image-container:first-child { + margin-top: 10px; +} +div.fr-modal-body div.fr-image-list div.fr-image-container + div { + margin-top: 10px; +} +div.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::after { + position: absolute; + -webkit-opacity: 0.5; + -moz-opacity: 0.5; + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-transition: opacity 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s; + background: #000000; + content: ""; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2; +} +div.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::before { + content: attr(data-deleting); + color: #ffffff; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: auto; + position: absolute; + z-index: 3; + font-size: 15px; + height: 20px; +} +div.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty { + height: 95px; + background: #cccccc; + z-index: 1; +} +div.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty::after { + position: absolute; + margin: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; + content: attr(data-loading); + display: inline-block; + height: 20px; +} +div.fr-modal-body div.fr-image-list div.fr-image-container img { + width: 100%; + vertical-align: middle; + position: relative; + z-index: 2; + -webkit-opacity: 1; + -moz-opacity: 1; + opacity: 1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -ms-transform: translateZ(0); + -o-transform: translateZ(0); +} +div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected img { + -webkit-opacity: 0.75; + -moz-opacity: 0.75; + opacity: 0.75; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; +} +div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected .fr-delete-img, +div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected .fr-insert-img { + display: inline-block; +} +div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img, +div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img { + display: none; + top: 50%; + border-radius: 100%; + -moz-border-radius: 100%; + -webkit-border-radius: 100%; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + position: absolute; + cursor: pointer; + margin: 0; + width: 36px; + height: 36px; + line-height: 36px; + text-decoration: none; + z-index: 3; +} +div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img { + background: #b8312f; + color: #ffffff; + left: 50%; + -webkit-transform: translateY(-50%) translateX(25%); + -moz-transform: translateY(-50%) translateX(25%); + -ms-transform: translateY(-50%) translateX(25%); + -o-transform: translateY(-50%) translateX(25%); +} +div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img { + background: #ffffff; + color: #1e88e5; + left: 50%; + -webkit-transform: translateY(-50%) translateX(-125%); + -moz-transform: translateY(-50%) translateX(-125%); + -ms-transform: translateY(-50%) translateX(-125%); + -o-transform: translateY(-50%) translateX(-125%); +} +.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a:hover { + background: #ebebeb; +} +.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a.fr-selected-tag { + background: #d6d6d6; +} +.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover img { + -webkit-opacity: 0.75; + -moz-opacity: 0.75; + opacity: 0.75; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; +} +.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover .fr-delete-img, +.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover .fr-insert-img { + display: inline-block; +} +.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img:hover { + background: #bf4644; + color: #ffffff; +} +.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img:hover { + background: #ebebeb; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/image_manager.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/quick_insert.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/quick_insert.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/quick_insert.css (revision 7) @@ -0,0 +1,70 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-quick-insert { + position: absolute; + z-index: 2147483639; + white-space: nowrap; + padding-right: 5px; + margin-left: -5px; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +.fr-quick-insert.fr-on a.fr-floating-btn svg { + -webkit-transform: rotate(135deg); + -moz-transform: rotate(135deg); + -ms-transform: rotate(135deg); + -o-transform: rotate(135deg); +} +.fr-quick-insert.fr-hidden { + display: none; +} +.fr-qi-helper { + position: absolute; + z-index: 3; + padding-left: 16px; + white-space: nowrap; +} +.fr-qi-helper a.fr-btn.fr-floating-btn { + text-align: center; + display: inline-block; + color: #222222; + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + -o-transform: scale(0); +} +.fr-qi-helper a.fr-btn.fr-floating-btn.fr-size-1 { + -webkit-opacity: 1; + -moz-opacity: 1; + opacity: 1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); +} Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/quick_insert.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/draggable.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/draggable.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/draggable.css (revision 7) @@ -0,0 +1,43 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-drag-helper { + background: #1e88e5; + height: 2px; + margin-top: -1px; + -webkit-opacity: 0.2; + -moz-opacity: 0.2; + opacity: 0.2; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + position: absolute; + z-index: 2147483640; + display: none; +} +.fr-drag-helper.fr-visible { + display: block; +} +.fr-dragging { + -webkit-opacity: 0.4; + -moz-opacity: 0.4; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/draggable.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/emoticons.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/emoticons.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/emoticons.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-popup .fr-emoticon{display:inline-block;font-size:20px;width:20px;padding:5px;line-height:1;cursor:default;font-weight:400;font-family:"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fr-popup .fr-emoticon img{height:20px}.fr-popup .fr-link:focus{outline:0;background:#ebebeb} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/emoticons.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/table.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/table.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/table.css (revision 7) @@ -0,0 +1,181 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-element table td.fr-selected-cell, +.fr-element table th.fr-selected-cell { + border: 1px double #1e88e5; +} +.fr-element table tr { + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.fr-element table td, +.fr-element table th { + user-select: text; + -o-user-select: text; + -moz-user-select: text; + -khtml-user-select: text; + -webkit-user-select: text; + -ms-user-select: text; +} +.fr-element .fr-no-selection table td, +.fr-element .fr-no-selection table th { + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.fr-table-resizer { + cursor: col-resize; + position: absolute; + z-index: 3; + display: none; +} +.fr-table-resizer.fr-moving { + z-index: 2; +} +.fr-table-resizer div { + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + border-right: 1px solid #1e88e5; +} +.fr-no-selection { + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.fr-popup .fr-table-colors-hex-layer { + width: 100%; + margin: 0px; + padding: 10px; +} +.fr-popup .fr-table-colors-hex-layer .fr-input-line { + float: left; + width: calc(100% - 50px); + padding: 8px 0 0; +} +.fr-popup .fr-table-colors-hex-layer .fr-action-buttons { + float: right; + width: 50px; +} +.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button { + background-color: #1e88e5; + color: #FFF; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 13px; + height: 32px; +} +.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button:hover { + background-color: #166dba; + color: #FFF; +} +.fr-popup .fr-table-size .fr-table-size-info { + text-align: center; + font-size: 14px; + padding: 8px; +} +.fr-popup .fr-table-size .fr-select-table-size { + line-height: 0; + padding: 0 5px 5px; + white-space: nowrap; +} +.fr-popup .fr-table-size .fr-select-table-size > span { + display: inline-block; + padding: 0px 4px 4px 0; + background: transparent; +} +.fr-popup .fr-table-size .fr-select-table-size > span > span { + display: inline-block; + width: 18px; + height: 18px; + border: 1px solid #dddddd; +} +.fr-popup .fr-table-size .fr-select-table-size > span.hover { + background: transparent; +} +.fr-popup .fr-table-size .fr-select-table-size > span.hover > span { + background: rgba(30, 136, 229, 0.3); + border: solid 1px #1e88e5; +} +.fr-popup .fr-table-size .fr-select-table-size .new-line::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.fr-popup.fr-above .fr-table-size .fr-select-table-size > span { + display: inline-block !important; +} +.fr-popup .fr-table-colors-buttons { + margin-bottom: 5px; +} +.fr-popup .fr-table-colors { + line-height: 0; + display: block; +} +.fr-popup .fr-table-colors > span { + display: inline-block; + width: 32px; + height: 32px; + position: relative; + z-index: 1; +} +.fr-popup .fr-table-colors > span > i { + text-align: center; + line-height: 32px; + height: 32px; + width: 32px; + font-size: 13px; + position: absolute; + bottom: 0; + cursor: default; + left: 0; +} +.fr-popup .fr-table-colors > span:focus { + outline: 1px solid #222222; + z-index: 2; +} +.fr-popup.fr-desktop .fr-table-size .fr-select-table-size > span > span { + width: 12px; + height: 12px; +} +.fr-insert-helper { + position: absolute; + z-index: 9999; + white-space: nowrap; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/table.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/char_counter.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/char_counter.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/char_counter.css (revision 7) @@ -0,0 +1,57 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-box .fr-counter { + position: absolute; + bottom: 0px; + padding: 5px; + right: 0px; + color: #cccccc; + content: attr(data-chars); + font-size: 15px; + font-family: "Times New Roman", Georgia, Serif; + z-index: 1; + background: #ffffff; + border-top: solid 1px #ebebeb; + border-left: solid 1px #ebebeb; + border-radius: 2px 0 0 0; + -moz-border-radius: 2px 0 0 0; + -webkit-border-radius: 2px 0 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.fr-box.fr-rtl .fr-counter { + left: 0px; + right: auto; + border-left: none; + border-right: solid 1px #ebebeb; + border-radius: 0 2px 0 0; + -moz-border-radius: 0 2px 0 0; + -webkit-border-radius: 0 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.fr-box.fr-code-view .fr-counter { + display: none; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/char_counter.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/colors.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/colors.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/colors.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-popup .fr-colors-tabs{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);margin-bottom:5px;line-height:16px;margin-left:-2px;margin-right:-2px}.fr-popup .fr-colors-tabs .fr-colors-tab{display:inline-block;width:50%;cursor:pointer;text-align:center;color:#222;font-size:13px;padding:8px 0;position:relative}.fr-popup .fr-colors-tabs .fr-colors-tab:hover,.fr-popup .fr-colors-tabs .fr-colors-tab:focus{color:#1e88e5}.fr-popup .fr-colors-tabs .fr-colors-tab[data-param1=background]::after{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#1e88e5;content:'';-webkit-transition:transform .2s ease 0s;-moz-transition:transform .2s ease 0s;-ms-transition:transform .2s ease 0s;-o-transition:transform .2s ease 0s}.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab{color:#1e88e5}.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab[data-param1=text]~[data-param1=background]::after{-webkit-transform:translate3d(-100%,0,0);-moz-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);-o-transform:translate3d(-100%,0,0)}.fr-popup .fr-color-hex-layer{width:100%;margin:0;padding:10px}.fr-popup .fr-color-hex-layer .fr-input-line{float:left;width:calc(100% - 50px);padding:8px 0 0}.fr-popup .fr-color-hex-layer .fr-action-buttons{float:right;width:50px}.fr-popup .fr-color-hex-layer .fr-action-buttons button{background-color:#1e88e5;color:#FFF;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;font-size:13px;height:32px}.fr-popup .fr-color-hex-layer .fr-action-buttons button:hover{background-color:#166dba;color:#FFF}.fr-popup .fr-separator+.fr-colors-tabs{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;margin-left:2px;margin-right:2px}.fr-popup .fr-color-set{line-height:0;display:none}.fr-popup .fr-color-set.fr-selected-set{display:block}.fr-popup .fr-color-set>span{display:inline-block;width:32px;height:32px;position:relative;z-index:1}.fr-popup .fr-color-set>span>i,.fr-popup .fr-color-set>span>svg{text-align:center;line-height:32px;height:32px;width:32px;font-size:13px;position:absolute;bottom:0;cursor:default;left:0}.fr-popup .fr-color-set>span .fr-selected-color{color:#fff;font-family:FontAwesome;font-size:13px;font-weight:400;line-height:32px;position:absolute;top:0;bottom:0;right:0;left:0;text-align:center;cursor:default}.fr-popup .fr-color-set>span:hover,.fr-popup .fr-color-set>span:focus{outline:1px solid #222;z-index:2}.fr-rtl .fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab[data-param1=text]~[data-param1=background]::after{-webkit-transform:translate3d(100%,0,0);-moz-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);-o-transform:translate3d(100%,0,0)} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/colors.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/special_characters.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/special_characters.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/special_characters.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal{text-align:left;padding:20px 20px 10px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-characters-list{margin-bottom:20px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-characters-title{font-weight:700;font-size:14px;padding:6px 0 4px;margin:0 0 5px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-character{display:inline-block;font-size:16px;width:20px;height:20px;padding:5px;line-height:20px;cursor:default;font-weight:400;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;text-align:center;border:1px solid #ccc;margin:-1px 0 0 -1px} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/special_characters.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/code_view.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/code_view.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/code_view.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}textarea.fr-code{display:none;width:100%;resize:none;-moz-resize:none;-webkit-resize:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:0;padding:10px;margin:0;font-family:"Courier New",monospace;font-size:14px;background:#fff;color:#000;outline:0}.fr-box.fr-rtl textarea.fr-code{direction:rtl}.fr-box .CodeMirror{display:none}.fr-box.fr-code-view textarea.fr-code{display:block}.fr-box.fr-code-view.fr-inline{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.fr-box.fr-code-view .fr-element,.fr-box.fr-code-view .fr-placeholder,.fr-box.fr-code-view .fr-iframe{display:none}.fr-box.fr-code-view .CodeMirror{display:block}.fr-box.fr-inline.fr-code-view .fr-command.fr-btn.html-switch{display:block}.fr-box.fr-inline .fr-command.fr-btn.html-switch{position:absolute;top:0;right:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);display:none;background:#fff;color:#222;-moz-outline:0;outline:0;border:0;line-height:1;cursor:pointer;text-align:left;padding:12px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-box.fr-inline .fr-command.fr-btn.html-switch i{font-size:14px;width:14px;text-align:center}.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover{background:#ebebeb} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/code_view.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/image.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/image.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/image.css (revision 7) @@ -0,0 +1,245 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-element img { + cursor: pointer; +} +.fr-image-resizer { + position: absolute; + border: solid 1px #1e88e5; + display: none; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + z-index: 2; +} +.fr-image-resizer.fr-active { + display: block; +} +.fr-image-resizer .fr-handler { + display: block; + position: absolute; + background: #1e88e5; + border: solid 1px #ffffff; + z-index: 4; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.fr-image-resizer .fr-handler.fr-hnw { + cursor: nw-resize; +} +.fr-image-resizer .fr-handler.fr-hne { + cursor: ne-resize; +} +.fr-image-resizer .fr-handler.fr-hsw { + cursor: sw-resize; +} +.fr-image-resizer .fr-handler.fr-hse { + cursor: se-resize; +} +.fr-image-resizer .fr-handler { + width: 12px; + height: 12px; +} +.fr-image-resizer .fr-handler.fr-hnw { + left: -6px; + top: -6px; +} +.fr-image-resizer .fr-handler.fr-hne { + right: -6px; + top: -6px; +} +.fr-image-resizer .fr-handler.fr-hsw { + left: -6px; + bottom: -6px; +} +.fr-image-resizer .fr-handler.fr-hse { + right: -6px; + bottom: -6px; +} +@media (min-width: 1200px) { + .fr-image-resizer .fr-handler { + width: 10px; + height: 10px; + } + .fr-image-resizer .fr-handler.fr-hnw { + left: -5px; + top: -5px; + } + .fr-image-resizer .fr-handler.fr-hne { + right: -5px; + top: -5px; + } + .fr-image-resizer .fr-handler.fr-hsw { + left: -5px; + bottom: -5px; + } + .fr-image-resizer .fr-handler.fr-hse { + right: -5px; + bottom: -5px; + } +} +.fr-image-overlay { + position: fixed; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; + display: none; +} +.fr-popup .fr-image-upload-layer { + border: dashed 2px #bdbdbd; + padding: 25px 0; + position: relative; + font-size: 14px; + letter-spacing: 1px; + line-height: 140%; + text-align: center; +} +.fr-popup .fr-image-upload-layer:hover { + background: #ebebeb; +} +.fr-popup .fr-image-upload-layer.fr-drop { + background: #ebebeb; + border-color: #1e88e5; +} +.fr-popup .fr-image-upload-layer .fr-form { + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; + overflow: hidden; + margin: 0 !important; + padding: 0 !important; + width: 100% !important; +} +.fr-popup .fr-image-upload-layer .fr-form input { + cursor: pointer; + position: absolute; + right: 0px; + top: 0px; + bottom: 0px; + width: 500%; + height: 100%; + margin: 0px; + font-size: 400px; +} +.fr-popup .fr-image-progress-bar-layer > h3 { + font-size: 16px; + margin: 10px 0; + font-weight: normal; +} +.fr-popup .fr-image-progress-bar-layer > div.fr-action-buttons { + display: none; +} +.fr-popup .fr-image-progress-bar-layer > div.fr-loader { + background: #bcdbf7; + height: 10px; + width: 100%; + margin-top: 20px; + overflow: hidden; + position: relative; +} +.fr-popup .fr-image-progress-bar-layer > div.fr-loader span { + display: block; + height: 100%; + width: 0%; + background: #1e88e5; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.fr-popup .fr-image-progress-bar-layer > div.fr-loader.fr-indeterminate span { + width: 30% !important; + position: absolute; + top: 0; + -webkit-animation: loading 2s linear infinite; + -moz-animation: loading 2s linear infinite; + -o-animation: loading 2s linear infinite; + animation: loading 2s linear infinite; +} +.fr-popup .fr-image-progress-bar-layer.fr-error > div.fr-loader { + display: none; +} +.fr-popup .fr-image-progress-bar-layer.fr-error > div.fr-action-buttons { + display: block; +} +.fr-image-size-layer .fr-image-group .fr-input-line { + width: calc(50% - 5px); + display: inline-block; +} +.fr-image-size-layer .fr-image-group .fr-input-line + .fr-input-line { + margin-left: 10px; +} +.fr-uploading { + -webkit-opacity: 0.4; + -moz-opacity: 0.4; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; +} +@keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} +@-webkit-keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} +@-moz-keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} +@-o-keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/image.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/fullscreen.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/fullscreen.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/fullscreen.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +body.fr-fullscreen{overflow:hidden;height:100%;width:100%;position:fixed}.fr-box.fr-fullscreen{margin:0!important;position:fixed;top:0;left:0;bottom:0;right:0;z-index:2147483630!important;width:auto!important}.fr-box.fr-fullscreen .fr-toolbar.fr-top{top:0!important}.fr-box.fr-fullscreen .fr-toolbar.fr-bottom{bottom:0!important} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/fullscreen.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/video.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/video.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/video.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-element .fr-video{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-element .fr-video::after{position:absolute;content:'';z-index:1;top:0;left:0;right:0;bottom:0;cursor:pointer;display:block;background:rgba(0,0,0,0)}.fr-element .fr-video.fr-active>*{z-index:2;position:relative}.fr-element .fr-video>*{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;max-width:100%;border:0}.fr-box .fr-video-resizer{position:absolute;border:solid 1px #1e88e5;display:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-box .fr-video-resizer.fr-active{display:block}.fr-box .fr-video-resizer .fr-handler{display:block;position:absolute;background:#1e88e5;border:solid 1px #fff;z-index:4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fr-box .fr-video-resizer .fr-handler.fr-hnw{cursor:nw-resize}.fr-box .fr-video-resizer .fr-handler.fr-hne{cursor:ne-resize}.fr-box .fr-video-resizer .fr-handler.fr-hsw{cursor:sw-resize}.fr-box .fr-video-resizer .fr-handler.fr-hse{cursor:se-resize}.fr-box .fr-video-resizer .fr-handler{width:12px;height:12px}.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-6px;top:-6px}.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-6px;top:-6px}.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px}.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px}@media (min-width:1200px){.fr-box .fr-video-resizer .fr-handler{width:10px;height:10px}.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-5px;top:-5px}.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-5px;top:-5px}.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px}.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px}}.fr-popup .fr-video-size-layer .fr-video-group .fr-input-line{width:calc(50% - 5px);display:inline-block}.fr-popup .fr-video-size-layer .fr-video-group .fr-input-line+.fr-input-line{margin-left:10px}.fr-popup .fr-video-upload-layer{border:dashed 2px #bdbdbd;padding:25px 0;position:relative;font-size:14px;letter-spacing:1px;line-height:140%;text-align:center}.fr-popup .fr-video-upload-layer:hover{background:#ebebeb}.fr-popup .fr-video-upload-layer.fr-drop{background:#ebebeb;border-color:#1e88e5}.fr-popup .fr-video-upload-layer .fr-form{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";position:absolute;top:0;bottom:0;left:0;right:0;z-index:2147483640;overflow:hidden;margin:0!important;padding:0!important;width:100%!important}.fr-popup .fr-video-upload-layer .fr-form input{cursor:pointer;position:absolute;right:0;top:0;bottom:0;width:500%;height:100%;margin:0;font-size:400px}.fr-popup .fr-video-progress-bar-layer>h3{font-size:16px;margin:10px 0;font-weight:400}.fr-popup .fr-video-progress-bar-layer>div.fr-action-buttons{display:none}.fr-popup .fr-video-progress-bar-layer>div.fr-loader{background:#bcdbf7;height:10px;width:100%;margin-top:20px;overflow:hidden;position:relative}.fr-popup .fr-video-progress-bar-layer>div.fr-loader span{display:block;height:100%;width:0;background:#1e88e5;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.fr-popup .fr-video-progress-bar-layer>div.fr-loader.fr-indeterminate span{width:30%!important;position:absolute;top:0;-webkit-animation:loading 2s linear infinite;-moz-animation:loading 2s linear infinite;-o-animation:loading 2s linear infinite;animation:loading 2s linear infinite}.fr-popup .fr-video-progress-bar-layer.fr-error>div.fr-loader{display:none}.fr-popup .fr-video-progress-bar-layer.fr-error>div.fr-action-buttons{display:block}.fr-video-overlay{position:fixed;top:0;left:0;bottom:0;right:0;z-index:2147483640;display:none} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/video.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/file.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/file.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/file.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-popup .fr-file-upload-layer{border:dashed 2px #bdbdbd;padding:25px 0;position:relative;font-size:14px;letter-spacing:1px;line-height:140%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-align:center}.fr-popup .fr-file-upload-layer:hover{background:#ebebeb}.fr-popup .fr-file-upload-layer.fr-drop{background:#ebebeb;border-color:#1e88e5}.fr-popup .fr-file-upload-layer .fr-form{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";position:absolute;top:0;bottom:0;left:0;right:0;z-index:2147483640;overflow:hidden;margin:0!important;padding:0!important;width:100%!important}.fr-popup .fr-file-upload-layer .fr-form input{cursor:pointer;position:absolute;right:0;top:0;bottom:0;width:500%;height:100%;margin:0;font-size:400px}.fr-popup .fr-file-progress-bar-layer{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fr-popup .fr-file-progress-bar-layer>h3{font-size:16px;margin:10px 0;font-weight:400}.fr-popup .fr-file-progress-bar-layer>div.fr-action-buttons{display:none}.fr-popup .fr-file-progress-bar-layer>div.fr-loader{background:#bcdbf7;height:10px;width:100%;margin-top:20px;overflow:hidden;position:relative}.fr-popup .fr-file-progress-bar-layer>div.fr-loader span{display:block;height:100%;width:0;background:#1e88e5;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.fr-popup .fr-file-progress-bar-layer>div.fr-loader.fr-indeterminate span{width:30%!important;position:absolute;top:0;-webkit-animation:loading 2s linear infinite;-moz-animation:loading 2s linear infinite;-o-animation:loading 2s linear infinite;animation:loading 2s linear infinite}.fr-popup .fr-file-progress-bar-layer.fr-error>div.fr-loader{display:none}.fr-popup .fr-file-progress-bar-layer.fr-error>div.fr-action-buttons{display:block}@keyframes loading{from{left:-25%}to{left:100%}}@-webkit-keyframes loading{from{left:-25%}to{left:100%}}@-moz-keyframes loading{from{left:-25%}to{left:100%}}@-o-keyframes loading{from{left:-25%}to{left:100%}} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/file.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/line_breaker.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/line_breaker.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/line_breaker.css (revision 7) @@ -0,0 +1,37 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-line-breaker { + cursor: text; + border-top: 1px solid #1e88e5; + position: fixed; + z-index: 2; + display: none; +} +.fr-line-breaker.fr-visible { + display: block; +} +.fr-line-breaker a.fr-floating-btn { + position: absolute; + left: calc(50% - (32px / 2)); + top: -16px; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/line_breaker.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/plugins/help.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/plugins/help.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/plugins/help.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal{text-align:left;padding:20px 20px 10px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table{border-collapse:collapse;font-size:14px;line-height:1.5;width:100%}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table+table{margin-top:20px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tr{border:0}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table th,.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table td{padding:6px 0 4px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody tr{border-bottom:solid 1px #ebebeb}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:first-child{width:60%;color:#646464}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:nth-child(n+2){letter-spacing:.5px} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/plugins/help.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/froala_editor.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/froala_editor.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/froala_editor.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-element,.fr-element:focus{}.fr-box.fr-basic .fr-element{color:#000;padding:16px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow-x:auto;min-height:52px}.fr-box.fr-basic.fr-rtl .fr-element{text-align:right}.fr-element{background:0 0;position:relative;z-index:2;-webkit-user-select:auto}.fr-element a{user-select:auto;-o-user-select:auto;-moz-user-select:auto;-khtml-user-select:auto;-webkit-user-select:auto;-ms-user-select:auto}.fr-element.fr-disabled{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-element [contenteditable=true]{}.fr-box a.fr-floating-btn{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);border-radius:100%;-moz-border-radius:100%;-webkit-border-radius:100%;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;height:32px;width:32px;background:#fff;color:#1e88e5;-webkit-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-moz-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-ms-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-o-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;left:0;top:0;line-height:32px;-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);text-align:center;display:block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:0}.fr-box a.fr-floating-btn svg{-webkit-transition:transform .2s ease 0s;-moz-transition:transform .2s ease 0s;-ms-transition:transform .2s ease 0s;-o-transition:transform .2s ease 0s;fill:#1e88e5}.fr-box a.fr-floating-btn i,.fr-box a.fr-floating-btn svg{font-size:14px;line-height:32px}.fr-box a.fr-floating-btn.fr-btn+.fr-btn{margin-left:10px}.fr-box a.fr-floating-btn:hover{background:#ebebeb;cursor:pointer}.fr-box a.fr-floating-btn:hover svg{fill:#1e88e5}.fr-box .fr-visible a.fr-floating-btn{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1)}iframe.fr-iframe{width:100%;border:0;position:relative;display:block;z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fr-wrapper{position:relative;z-index:1}.fr-wrapper::after{clear:both;display:block;content:"";height:0}.fr-wrapper .fr-placeholder{position:absolute;font-size:12px;color:#aaa;z-index:1;display:none;top:0;left:0;right:0;overflow:hidden}.fr-wrapper.show-placeholder .fr-placeholder{display:block}.fr-wrapper ::-moz-selection{background:#b5d6fd;color:#000}.fr-wrapper ::selection{background:#b5d6fd;color:#000}.fr-box.fr-basic .fr-wrapper{background:#fff;border:0;border-top:0;top:0;left:0}.fr-box.fr-basic.fr-top .fr-wrapper{border-top:0;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.fr-box.fr-basic.fr-bottom .fr-wrapper{border-bottom:0;border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16)}@media (min-width:992px){.fr-box.fr-document{min-width:21cm}.fr-box.fr-document .fr-wrapper{text-align:center;padding:30px;min-width:21cm;background:#EFEFEF}.fr-box.fr-document .fr-wrapper .fr-element{text-align:left;background:#FFF;width:21cm;margin:auto;min-height:26cm!important;padding:1cm 2cm;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);overflow:visible}.fr-box.fr-document .fr-wrapper .fr-element hr{margin-left:-2cm;margin-right:-2cm;background:#EFEFEF;height:1cm;border:0}}.fr-tooltip{position:absolute;top:0;left:0;padding:0 8px;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);background:#222;color:#fff;font-size:11px;line-height:22px;font-family:Arial,Helvetica,sans-serif;-webkit-transition:opacity .2s ease 0s;-moz-transition:opacity .2s ease 0s;-ms-transition:opacity .2s ease 0s;-o-transition:opacity .2s ease 0s;-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";left:-3000px;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;z-index:2147483647;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fr-tooltip.fr-visible{-webkit-opacity:1;-moz-opacity:1;opacity:1;-ms-filter:"alpha(Opacity=0)"}.fr-toolbar .fr-btn-wrap,.fr-popup .fr-btn-wrap{float:left;white-space:nowrap;position:relative}.fr-toolbar .fr-btn-wrap.fr-hidden,.fr-popup .fr-btn-wrap.fr-hidden{display:none}.fr-toolbar .fr-command.fr-btn,.fr-popup .fr-command.fr-btn{background:0 0;color:#222;border:0;line-height:1;cursor:pointer;text-align:left;margin:0 2px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;z-index:2;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;float:left;padding:0;width:38px;height:38px}.fr-toolbar .fr-command.fr-btn::-moz-focus-inner,.fr-popup .fr-command.fr-btn::-moz-focus-inner{border:0;padding:0}.fr-toolbar .fr-command.fr-btn.fr-btn-text,.fr-popup .fr-command.fr-btn.fr-btn-text{width:auto}.fr-toolbar .fr-command.fr-btn i,.fr-popup .fr-command.fr-btn i,.fr-toolbar .fr-command.fr-btn svg,.fr-popup .fr-command.fr-btn svg{display:block;font-size:14px;width:14px;margin:12px;text-align:center;float:none}.fr-toolbar .fr-command.fr-btn span.fr-sr-only,.fr-popup .fr-command.fr-btn span.fr-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-toolbar .fr-command.fr-btn span,.fr-popup .fr-command.fr-btn span{font-size:14px;display:block;line-height:17px;min-width:34px;float:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;height:17px;font-weight:700;padding:0 2px}.fr-toolbar .fr-command.fr-btn img,.fr-popup .fr-command.fr-btn img{margin:12px;width:14px}.fr-toolbar .fr-command.fr-btn.fr-active,.fr-popup .fr-command.fr-btn.fr-active{color:#1e88e5;background:0 0}.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection{width:auto}.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection span,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection span{font-weight:400}.fr-toolbar .fr-command.fr-btn.fr-dropdown i,.fr-popup .fr-command.fr-btn.fr-dropdown i,.fr-toolbar .fr-command.fr-btn.fr-dropdown span,.fr-popup .fr-command.fr-btn.fr-dropdown span,.fr-toolbar .fr-command.fr-btn.fr-dropdown img,.fr-popup .fr-command.fr-btn.fr-dropdown img,.fr-toolbar .fr-command.fr-btn.fr-dropdown svg,.fr-popup .fr-command.fr-btn.fr-dropdown svg{margin-left:8px;margin-right:16px}.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active{color:#222;background:#d6d6d6}.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover,.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus{background:#d6d6d6!important;color:#222!important}.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover::after,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover::after,.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus::after,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus::after{border-top-color:#222!important}.fr-toolbar .fr-command.fr-btn.fr-dropdown::after,.fr-popup .fr-command.fr-btn.fr-dropdown::after{position:absolute;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #222;right:4px;top:17px;content:""}.fr-toolbar .fr-command.fr-btn.fr-disabled,.fr-popup .fr-command.fr-btn.fr-disabled{color:#bdbdbd;cursor:default}.fr-toolbar .fr-command.fr-btn.fr-disabled::after,.fr-popup .fr-command.fr-btn.fr-disabled::after{border-top-color:#bdbdbd!important}.fr-toolbar .fr-command.fr-btn.fr-hidden,.fr-popup .fr-command.fr-btn.fr-hidden{display:none}.fr-toolbar.fr-disabled .fr-btn,.fr-popup.fr-disabled .fr-btn,.fr-toolbar.fr-disabled .fr-btn.fr-active,.fr-popup.fr-disabled .fr-btn.fr-active{color:#bdbdbd}.fr-toolbar.fr-disabled .fr-btn.fr-dropdown::after,.fr-popup.fr-disabled .fr-btn.fr-dropdown::after,.fr-toolbar.fr-disabled .fr-btn.fr-active.fr-dropdown::after,.fr-popup.fr-disabled .fr-btn.fr-active.fr-dropdown::after{border-top-color:#bdbdbd}.fr-toolbar.fr-rtl .fr-command.fr-btn,.fr-popup.fr-rtl .fr-command.fr-btn{float:right}.fr-toolbar.fr-inline>.fr-command.fr-btn:not(.fr-hidden),.fr-toolbar.fr-inline>.fr-btn-wrap:not(.fr-hidden){display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;float:none}.fr-desktop .fr-command:hover,.fr-desktop .fr-command:focus,.fr-desktop .fr-command.fr-btn-hover,.fr-desktop .fr-command.fr-expanded{color:#222;background:#ebebeb}.fr-desktop .fr-command:hover::after,.fr-desktop .fr-command:focus::after,.fr-desktop .fr-command.fr-btn-hover::after,.fr-desktop .fr-command.fr-expanded::after{border-top-color:#222!important}.fr-desktop .fr-command.fr-selected{color:#222;background:#d6d6d6}.fr-desktop .fr-command.fr-active:hover,.fr-desktop .fr-command.fr-active:focus,.fr-desktop .fr-command.fr-active.fr-btn-hover,.fr-desktop .fr-command.fr-active.fr-expanded{color:#1e88e5;background:#ebebeb}.fr-desktop .fr-command.fr-active.fr-selected{color:#1e88e5;background:#d6d6d6}.fr-desktop .fr-command.fr-disabled:hover,.fr-desktop .fr-command.fr-disabled:focus,.fr-desktop .fr-command.fr-disabled.fr-selected{background:0 0}.fr-desktop.fr-disabled .fr-command:hover,.fr-desktop.fr-disabled .fr-command:focus,.fr-desktop.fr-disabled .fr-command.fr-selected{background:0 0}.fr-toolbar.fr-mobile .fr-command.fr-blink,.fr-popup.fr-mobile .fr-command.fr-blink{background:0 0}.fr-command.fr-btn.fr-options{width:16px;margin-left:-5px}.fr-command.fr-btn.fr-options.fr-btn-hover,.fr-command.fr-btn.fr-options:hover,.fr-command.fr-btn.fr-options:focus{border-left:solid 1px #fafafa}.fr-command.fr-btn+.fr-dropdown-menu{display:inline-block;position:absolute;right:auto;bottom:auto;height:auto;z-index:4;-webkit-overflow-scrolling:touch;overflow:hidden;zoom:1;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.fr-command.fr-btn+.fr-dropdown-menu.test-height .fr-dropdown-wrapper{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;height:auto;max-height:275px}.fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper{background:#fff;padding:0;margin:auto;display:inline-block;text-align:left;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:max-height .2s ease 0s;-moz-transition:max-height .2s ease 0s;-ms-transition:max-height .2s ease 0s;-o-transition:max-height .2s ease 0s;margin-top:0;float:left;max-height:0;height:0;margin-top:0!important}.fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content{overflow:auto;position:relative;max-height:275px}.fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list{list-style-type:none;margin:0;padding:0}.fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li{padding:0;margin:0;font-size:15px}.fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a{padding:0 24px;line-height:200%;display:block;cursor:pointer;white-space:nowrap;color:inherit;text-decoration:none}.fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-active{background:#d6d6d6}.fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-disabled{color:#bdbdbd;cursor:default}.fr-command.fr-btn:not(.fr-active)+.fr-dropdown-menu{left:-3000px!important}.fr-command.fr-btn.fr-active+.fr-dropdown-menu{display:inline-block;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14)}.fr-command.fr-btn.fr-active+.fr-dropdown-menu .fr-dropdown-wrapper{height:auto;max-height:275px}.fr-bottom>.fr-command.fr-btn+.fr-dropdown-menu{border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.fr-toolbar.fr-rtl .fr-dropdown-wrapper,.fr-popup.fr-rtl .fr-dropdown-wrapper{text-align:right!important}body.prevent-scroll{overflow:hidden}body.prevent-scroll.fr-mobile{position:fixed;-webkit-overflow-scrolling:touch}.fr-modal{color:#222;font-family:Arial,Helvetica,sans-serif;position:fixed;overflow-x:auto;overflow-y:scroll;top:0;left:0;bottom:0;right:0;width:100%;z-index:2147483640;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;line-height:1.2}.fr-modal.fr-middle .fr-modal-wrapper{margin-top:0;margin-bottom:0;margin-left:auto;margin-right:auto;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);position:absolute}.fr-modal .fr-modal-wrapper{border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;margin:20px auto;display:inline-block;background:#fff;min-width:300px;-webkit-box-shadow:0 5px 8px rgba(0,0,0,.19),0 4px 3px 1px rgba(0,0,0,.14);-moz-box-shadow:0 5px 8px rgba(0,0,0,.19),0 4px 3px 1px rgba(0,0,0,.14);box-shadow:0 5px 8px rgba(0,0,0,.19),0 4px 3px 1px rgba(0,0,0,.14);border:0;border-top:5px solid #222;overflow:hidden;width:90%;position:relative}@media (min-width:768px) and (max-width:991px){.fr-modal .fr-modal-wrapper{margin:30px auto;width:70%}}@media (min-width:992px){.fr-modal .fr-modal-wrapper{margin:50px auto;width:960px}}.fr-modal .fr-modal-wrapper .fr-modal-head{background:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);border-bottom:0;overflow:hidden;position:absolute;width:100%;min-height:42px;z-index:3;-webkit-transition:height .2s ease 0s;-moz-transition:height .2s ease 0s;-ms-transition:height .2s ease 0s;-o-transition:height .2s ease 0s}.fr-modal .fr-modal-wrapper .fr-modal-head .fr-modal-close{padding:12px;width:20px;font-size:16px;cursor:pointer;line-height:18px;color:#222;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;position:absolute;top:0;right:0;-webkit-transition:color .2s ease 0s;-moz-transition:color .2s ease 0s;-ms-transition:color .2s ease 0s;-o-transition:color .2s ease 0s}.fr-modal .fr-modal-wrapper .fr-modal-head h4{font-size:18px;padding:12px 10px;margin:0;font-weight:400;line-height:18px;display:inline-block;float:left}.fr-modal .fr-modal-wrapper div.fr-modal-body{height:100%;min-height:150px;overflow-y:scroll;padding-bottom:10px}.fr-modal .fr-modal-wrapper div.fr-modal-body:focus{}.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command{height:36px;line-height:1;color:#1e88e5;padding:10px;cursor:pointer;text-decoration:none;border:0;background:0 0;font-size:16px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command+button{margin-left:24px}.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:hover,.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:focus{background:#ebebeb;color:#1e88e5}.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:active{background:#d6d6d6;color:#1e88e5}.fr-modal .fr-modal-wrapper div.fr-modal-body button::-moz-focus-inner{border:0}.fr-desktop .fr-modal-wrapper .fr-modal-head i:hover{background:#ebebeb}.fr-overlay{position:fixed;top:0;bottom:0;left:0;right:0;background:#000;-webkit-opacity:.5;-moz-opacity:.5;opacity:.5;-ms-filter:"alpha(Opacity=0)";z-index:2147483639}.fr-popup{position:absolute;display:none;color:#222;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;font-family:Arial,Helvetica,sans-serif;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;margin-top:10px;z-index:2147483635;text-align:left;border:0;border-top:5px solid #222;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.2}.fr-popup .fr-input-focus{background:#f5f5f5}.fr-popup.fr-above{margin-top:-10px;border-top:0;border-bottom:5px solid #222;-webkit-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16)}.fr-popup.fr-active{display:block}.fr-popup.fr-hidden{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)"}.fr-popup.fr-empty{display:none!important}.fr-popup .fr-hs{display:block!important}.fr-popup .fr-hs.fr-hidden{display:none!important}.fr-popup .fr-input-line{position:relative;padding:8px 0}.fr-popup .fr-input-line input[type=text],.fr-popup .fr-input-line textarea{width:100%;margin:0 0 1px;border:0;border-bottom:solid 1px #bdbdbd;color:#222;font-size:14px;padding:6px 0 2px;background:rgba(0,0,0,0);position:relative;z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fr-popup .fr-input-line input[type=text]:focus,.fr-popup .fr-input-line textarea:focus{border-bottom:solid 2px #1e88e5;margin-bottom:0}.fr-popup .fr-input-line input+label,.fr-popup .fr-input-line textarea+label{position:absolute;top:0;left:0;font-size:12px;color:rgba(0,0,0,0);-webkit-transition:color .2s ease 0s;-moz-transition:color .2s ease 0s;-ms-transition:color .2s ease 0s;-o-transition:color .2s ease 0s;z-index:3;width:100%;display:block;background:#fff}.fr-popup .fr-input-line input.fr-not-empty:focus+label,.fr-popup .fr-input-line textarea.fr-not-empty:focus+label{color:#1e88e5}.fr-popup .fr-input-line input.fr-not-empty+label,.fr-popup .fr-input-line textarea.fr-not-empty+label{color:gray}.fr-popup input,.fr-popup textarea{user-select:text;-o-user-select:text;-moz-user-select:text;-khtml-user-select:text;-webkit-user-select:text;-ms-user-select:text;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;}.fr-popup textarea{resize:none}.fr-popup .fr-buttons{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);padding:0 2px;white-space:nowrap;line-height:0;border-bottom:0}.fr-popup .fr-buttons::after{clear:both;display:block;content:"";height:0}.fr-popup .fr-buttons .fr-btn{display:inline-block;float:none}.fr-popup .fr-buttons .fr-btn i{float:left}.fr-popup .fr-buttons .fr-separator{display:inline-block;float:none}.fr-popup .fr-layer{width:225px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:10px;display:none}@media (min-width:768px){.fr-popup .fr-layer{width:300px}}.fr-popup .fr-layer.fr-active{display:inline-block}.fr-popup .fr-action-buttons{z-index:7;height:36px;text-align:right}.fr-popup .fr-action-buttons button.fr-command{height:36px;line-height:1;color:#1e88e5;padding:10px;cursor:pointer;text-decoration:none;border:0;background:0 0;font-size:16px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.fr-popup .fr-action-buttons button.fr-command+button{margin-left:24px}.fr-popup .fr-action-buttons button.fr-command:hover,.fr-popup .fr-action-buttons button.fr-command:focus{background:#ebebeb;color:#1e88e5}.fr-popup .fr-action-buttons button.fr-command:active{background:#d6d6d6;color:#1e88e5}.fr-popup .fr-action-buttons button::-moz-focus-inner{border:0}.fr-popup .fr-checkbox{position:relative;display:inline-block;width:16px;height:16px;line-height:1;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;vertical-align:middle}.fr-popup .fr-checkbox svg{margin-left:2px;margin-top:2px;display:none;width:10px;height:10px}.fr-popup .fr-checkbox span{border:solid 1px #222;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;width:16px;height:16px;display:inline-block;position:relative;z-index:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:background .2s ease 0s,border-color .2s ease 0s;-moz-transition:background .2s ease 0s,border-color .2s ease 0s;-ms-transition:background .2s ease 0s,border-color .2s ease 0s;-o-transition:background .2s ease 0s,border-color .2s ease 0s}.fr-popup .fr-checkbox input{position:absolute;z-index:2;-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";border:0 none;cursor:pointer;height:16px;margin:0;padding:0;width:16px;top:1px;left:1px}.fr-popup .fr-checkbox input:checked+span{background:#1e88e5;border-color:#1e88e5}.fr-popup .fr-checkbox input:checked+span svg{display:block}.fr-popup .fr-checkbox input:focus+span{border-color:#1e88e5}.fr-popup .fr-checkbox-line{font-size:14px;line-height:1.4px;margin-top:10px}.fr-popup .fr-checkbox-line label{cursor:pointer;margin:0 5px;vertical-align:middle}.fr-popup.fr-rtl{direction:rtl;text-align:right}.fr-popup.fr-rtl .fr-action-buttons{text-align:left}.fr-popup.fr-rtl .fr-input-line input+label,.fr-popup.fr-rtl .fr-input-line textarea+label{left:auto;right:0}.fr-popup.fr-rtl .fr-buttons .fr-separator.fr-vs{float:right}.fr-popup .fr-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #222;position:absolute;top:-9px;left:50%;margin-left:-5px;display:inline-block}.fr-popup.fr-above .fr-arrow{top:auto;bottom:-9px;border-bottom:0;border-top:5px solid #222}.fr-text-edit-layer{width:250px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block!important}.fr-toolbar{color:#222;background:#fff;position:relative;z-index:4;font-family:Arial,Helvetica,sans-serif;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:0 2px;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);text-align:left;border:0;border-top:5px solid #222;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.2}.fr-toolbar::after{clear:both;display:block;content:"";height:0}.fr-toolbar.fr-rtl{text-align:right}.fr-toolbar.fr-inline{display:none;white-space:nowrap;position:absolute;margin-top:10px}.fr-toolbar.fr-inline .fr-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #222;position:absolute;top:-9px;left:50%;margin-left:-5px;display:inline-block}.fr-toolbar.fr-inline.fr-above{margin-top:-10px;-webkit-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);border-bottom:5px solid #222;border-top:0}.fr-toolbar.fr-inline.fr-above .fr-arrow{top:auto;bottom:-9px;border-bottom:0;border-top-color:inherit;border-top-style:solid;border-top-width:5px}.fr-toolbar.fr-top{top:0;border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.fr-toolbar.fr-bottom{bottom:0;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.fr-separator{background:#ebebeb;display:block;vertical-align:top;float:left}.fr-separator+.fr-separator{display:none}.fr-separator.fr-vs{height:34px;width:1px;margin:2px}.fr-separator.fr-hs{clear:both;height:1px;width:calc(100% - (2 * 2px));margin:0 2px}.fr-separator.fr-hidden{display:none!important}.fr-rtl .fr-separator{float:right}.fr-toolbar.fr-inline .fr-separator.fr-hs{float:none}.fr-toolbar.fr-inline .fr-separator.fr-vs{float:none;display:inline-block}.fr-visibility-helper{display:none;margin-left:0!important}@media (min-width:768px){.fr-visibility-helper{margin-left:1px!important}}@media (min-width:992px){.fr-visibility-helper{margin-left:2px!important}}@media (min-width:1200px){.fr-visibility-helper{margin-left:3px!important}}.fr-opacity-0{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)"}.fr-box{position:relative}.fr-sticky{position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky}.fr-sticky-off{position:relative}.fr-sticky-on{position:fixed}.fr-sticky-on.fr-sticky-ios{position:absolute;left:0;right:0;width:auto!important}.fr-sticky-dummy{display:none}.fr-sticky-on+.fr-sticky-dummy,.fr-sticky-box>.fr-sticky-dummy{display:block}span.fr-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/froala_editor.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/froala_editor.pkgd.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/froala_editor.pkgd.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/froala_editor.pkgd.css (revision 7) @@ -0,0 +1,2960 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-element, +.fr-element:focus { + outline: 0px solid transparent; +} +.fr-box.fr-basic .fr-element { + color: #000000; + padding: 16px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + overflow-x: auto; + min-height: 52px; +} +.fr-box.fr-basic.fr-rtl .fr-element { + text-align: right; +} +.fr-element { + background: transparent; + position: relative; + z-index: 2; + -webkit-user-select: auto; +} +.fr-element a { + user-select: auto; + -o-user-select: auto; + -moz-user-select: auto; + -khtml-user-select: auto; + -webkit-user-select: auto; + -ms-user-select: auto; +} +.fr-element.fr-disabled { + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.fr-element [contenteditable="true"] { + outline: 0px solid transparent; +} +.fr-box a.fr-floating-btn { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + border-radius: 100%; + -moz-border-radius: 100%; + -webkit-border-radius: 100%; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + height: 32px; + width: 32px; + background: #ffffff; + color: #1e88e5; + -webkit-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + outline: none; + left: 0; + top: 0; + line-height: 32px; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + -o-transform: scale(0); + text-align: center; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + border: none; +} +.fr-box a.fr-floating-btn svg { + -webkit-transition: transform 0.2s ease 0s; + -moz-transition: transform 0.2s ease 0s; + -ms-transition: transform 0.2s ease 0s; + -o-transition: transform 0.2s ease 0s; + fill: #1e88e5; +} +.fr-box a.fr-floating-btn i, +.fr-box a.fr-floating-btn svg { + font-size: 14px; + line-height: 32px; +} +.fr-box a.fr-floating-btn.fr-btn + .fr-btn { + margin-left: 10px; +} +.fr-box a.fr-floating-btn:hover { + background: #ebebeb; + cursor: pointer; +} +.fr-box a.fr-floating-btn:hover svg { + fill: #1e88e5; +} +.fr-box .fr-visible a.fr-floating-btn { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); +} +iframe.fr-iframe { + width: 100%; + border: none; + position: relative; + display: block; + z-index: 2; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.fr-wrapper { + position: relative; + z-index: 1; +} +.fr-wrapper::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.fr-wrapper .fr-placeholder { + position: absolute; + font-size: 12px; + color: #aaaaaa; + z-index: 1; + display: none; + top: 0; + left: 0; + right: 0; + overflow: hidden; +} +.fr-wrapper.show-placeholder .fr-placeholder { + display: block; +} +.fr-wrapper ::-moz-selection { + background: #b5d6fd; + color: #000000; +} +.fr-wrapper ::selection { + background: #b5d6fd; + color: #000000; +} +.fr-box.fr-basic .fr-wrapper { + background: #ffffff; + border: 0px; + border-top: 0; + top: 0; + left: 0; +} +.fr-box.fr-basic.fr-top .fr-wrapper { + border-top: 0; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.fr-box.fr-basic.fr-bottom .fr-wrapper { + border-bottom: 0; + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); +} +@media (min-width: 992px) { + .fr-box.fr-document { + min-width: 21cm; + } + .fr-box.fr-document .fr-wrapper { + text-align: center; + padding: 30px; + min-width: 21cm; + background: #EFEFEF; + } + .fr-box.fr-document .fr-wrapper .fr-element { + text-align: left; + background: #FFF; + width: 21cm; + margin: auto; + min-height: 26cm !important; + padding: 1cm 2cm; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + overflow: visible; + } + .fr-box.fr-document .fr-wrapper .fr-element hr { + margin-left: -2cm; + margin-right: -2cm; + background: #EFEFEF; + height: 1cm; + outline: none; + border: none; + } +} +.fr-tooltip { + position: absolute; + top: 0; + left: 0; + padding: 0 8px; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + background: #222222; + color: #ffffff; + font-size: 11px; + line-height: 22px; + font-family: Arial, Helvetica, sans-serif; + -webkit-transition: opacity 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s; + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + left: -3000px; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + z-index: 2147483647; + text-rendering: optimizelegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.fr-tooltip.fr-visible { + -webkit-opacity: 1; + -moz-opacity: 1; + opacity: 1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; +} +.fr-toolbar .fr-btn-wrap, +.fr-popup .fr-btn-wrap { + float: left; + white-space: nowrap; + position: relative; +} +.fr-toolbar .fr-btn-wrap.fr-hidden, +.fr-popup .fr-btn-wrap.fr-hidden { + display: none; +} +.fr-toolbar .fr-command.fr-btn, +.fr-popup .fr-command.fr-btn { + background: transparent; + color: #222222; + -moz-outline: 0; + outline: 0; + border: 0; + line-height: 1; + cursor: pointer; + text-align: left; + margin: 0px 2px; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + z-index: 2; + position: relative; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + text-decoration: none; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + float: left; + padding: 0; + width: 38px; + height: 38px; +} +.fr-toolbar .fr-command.fr-btn::-moz-focus-inner, +.fr-popup .fr-command.fr-btn::-moz-focus-inner { + border: 0; + padding: 0; +} +.fr-toolbar .fr-command.fr-btn.fr-btn-text, +.fr-popup .fr-command.fr-btn.fr-btn-text { + width: auto; +} +.fr-toolbar .fr-command.fr-btn i, +.fr-popup .fr-command.fr-btn i, +.fr-toolbar .fr-command.fr-btn svg, +.fr-popup .fr-command.fr-btn svg { + display: block; + font-size: 14px; + width: 14px; + margin: 12px 12px; + text-align: center; + float: none; +} +.fr-toolbar .fr-command.fr-btn span.fr-sr-only, +.fr-popup .fr-command.fr-btn span.fr-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-toolbar .fr-command.fr-btn span, +.fr-popup .fr-command.fr-btn span { + font-size: 14px; + display: block; + line-height: 17px; + min-width: 34px; + float: left; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + height: 17px; + font-weight: bold; + padding: 0 2px; +} +.fr-toolbar .fr-command.fr-btn img, +.fr-popup .fr-command.fr-btn img { + margin: 12px 12px; + width: 14px; +} +.fr-toolbar .fr-command.fr-btn.fr-active, +.fr-popup .fr-command.fr-btn.fr-active { + color: #1e88e5; + background: transparent; +} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection, +.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection { + width: auto; +} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection span, +.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection span { + font-weight: normal; +} +.fr-toolbar .fr-command.fr-btn.fr-dropdown i, +.fr-popup .fr-command.fr-btn.fr-dropdown i, +.fr-toolbar .fr-command.fr-btn.fr-dropdown span, +.fr-popup .fr-command.fr-btn.fr-dropdown span, +.fr-toolbar .fr-command.fr-btn.fr-dropdown img, +.fr-popup .fr-command.fr-btn.fr-dropdown img, +.fr-toolbar .fr-command.fr-btn.fr-dropdown svg, +.fr-popup .fr-command.fr-btn.fr-dropdown svg { + margin-left: 8px; + margin-right: 16px; +} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active, +.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active { + color: #222222; + background: #d6d6d6; +} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover, +.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover, +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus, +.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus { + background: #d6d6d6 !important; + color: #222222 !important; +} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover::after, +.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover::after, +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus::after, +.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus::after { + border-top-color: #222222 !important; +} +.fr-toolbar .fr-command.fr-btn.fr-dropdown::after, +.fr-popup .fr-command.fr-btn.fr-dropdown::after { + position: absolute; + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid #222222; + right: 4px; + top: 17px; + content: ""; +} +.fr-toolbar .fr-command.fr-btn.fr-disabled, +.fr-popup .fr-command.fr-btn.fr-disabled { + color: #bdbdbd; + cursor: default; +} +.fr-toolbar .fr-command.fr-btn.fr-disabled::after, +.fr-popup .fr-command.fr-btn.fr-disabled::after { + border-top-color: #bdbdbd !important; +} +.fr-toolbar .fr-command.fr-btn.fr-hidden, +.fr-popup .fr-command.fr-btn.fr-hidden { + display: none; +} +.fr-toolbar.fr-disabled .fr-btn, +.fr-popup.fr-disabled .fr-btn, +.fr-toolbar.fr-disabled .fr-btn.fr-active, +.fr-popup.fr-disabled .fr-btn.fr-active { + color: #bdbdbd; +} +.fr-toolbar.fr-disabled .fr-btn.fr-dropdown::after, +.fr-popup.fr-disabled .fr-btn.fr-dropdown::after, +.fr-toolbar.fr-disabled .fr-btn.fr-active.fr-dropdown::after, +.fr-popup.fr-disabled .fr-btn.fr-active.fr-dropdown::after { + border-top-color: #bdbdbd; +} +.fr-toolbar.fr-rtl .fr-command.fr-btn, +.fr-popup.fr-rtl .fr-command.fr-btn { + float: right; +} +.fr-toolbar.fr-inline > .fr-command.fr-btn:not(.fr-hidden), +.fr-toolbar.fr-inline > .fr-btn-wrap:not(.fr-hidden) { + display: -webkit-inline-flex; + display: -ms-inline-flexbox; + display: inline-flex; + float: none; +} +.fr-desktop .fr-command:hover, +.fr-desktop .fr-command:focus, +.fr-desktop .fr-command.fr-btn-hover, +.fr-desktop .fr-command.fr-expanded { + outline: 0; + color: #222222; + background: #ebebeb; +} +.fr-desktop .fr-command:hover::after, +.fr-desktop .fr-command:focus::after, +.fr-desktop .fr-command.fr-btn-hover::after, +.fr-desktop .fr-command.fr-expanded::after { + border-top-color: #222222 !important; +} +.fr-desktop .fr-command.fr-selected { + color: #222222; + background: #d6d6d6; +} +.fr-desktop .fr-command.fr-active:hover, +.fr-desktop .fr-command.fr-active:focus, +.fr-desktop .fr-command.fr-active.fr-btn-hover, +.fr-desktop .fr-command.fr-active.fr-expanded { + color: #1e88e5; + background: #ebebeb; +} +.fr-desktop .fr-command.fr-active.fr-selected { + color: #1e88e5; + background: #d6d6d6; +} +.fr-desktop .fr-command.fr-disabled:hover, +.fr-desktop .fr-command.fr-disabled:focus, +.fr-desktop .fr-command.fr-disabled.fr-selected { + background: transparent; +} +.fr-desktop.fr-disabled .fr-command:hover, +.fr-desktop.fr-disabled .fr-command:focus, +.fr-desktop.fr-disabled .fr-command.fr-selected { + background: transparent; +} +.fr-toolbar.fr-mobile .fr-command.fr-blink, +.fr-popup.fr-mobile .fr-command.fr-blink { + background: transparent; +} +.fr-command.fr-btn.fr-options { + width: 16px; + margin-left: -5px; +} +.fr-command.fr-btn.fr-options.fr-btn-hover, +.fr-command.fr-btn.fr-options:hover, +.fr-command.fr-btn.fr-options:focus { + border-left: solid 1px #fafafa; +} +.fr-command.fr-btn + .fr-dropdown-menu { + display: inline-block; + position: absolute; + right: auto; + bottom: auto; + height: auto; + z-index: 4; + -webkit-overflow-scrolling: touch; + overflow: hidden; + zoom: 1; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.fr-command.fr-btn + .fr-dropdown-menu.test-height .fr-dropdown-wrapper { + -webkit-transition: none; + -moz-transition: none; + -ms-transition: none; + -o-transition: none; + height: auto; + max-height: 275px; +} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper { + background: #ffffff; + padding: 0; + margin: auto; + display: inline-block; + text-align: left; + position: relative; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: max-height 0.2s ease 0s; + -moz-transition: max-height 0.2s ease 0s; + -ms-transition: max-height 0.2s ease 0s; + -o-transition: max-height 0.2s ease 0s; + margin-top: 0; + float: left; + max-height: 0; + height: 0; + margin-top: 0 !important; +} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content { + overflow: auto; + position: relative; + max-height: 275px; +} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list { + list-style-type: none; + margin: 0; + padding: 0; +} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li { + padding: 0; + margin: 0; + font-size: 15px; +} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a { + padding: 0 24px; + line-height: 200%; + display: block; + cursor: pointer; + white-space: nowrap; + color: inherit; + text-decoration: none; +} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-active { + background: #d6d6d6; +} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-disabled { + color: #bdbdbd; + cursor: default; +} +.fr-command.fr-btn:not(.fr-active) + .fr-dropdown-menu { + left: -3000px !important; +} +.fr-command.fr-btn.fr-active + .fr-dropdown-menu { + display: inline-block; + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); +} +.fr-command.fr-btn.fr-active + .fr-dropdown-menu .fr-dropdown-wrapper { + height: auto; + max-height: 275px; +} +.fr-bottom > .fr-command.fr-btn + .fr-dropdown-menu { + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.fr-toolbar.fr-rtl .fr-dropdown-wrapper, +.fr-popup.fr-rtl .fr-dropdown-wrapper { + text-align: right !important; +} +body.prevent-scroll { + overflow: hidden; +} +body.prevent-scroll.fr-mobile { + position: fixed; + -webkit-overflow-scrolling: touch; +} +.fr-modal { + color: #222222; + font-family: Arial, Helvetica, sans-serif; + position: fixed; + overflow-x: auto; + overflow-y: scroll; + top: 0; + left: 0; + bottom: 0; + right: 0; + width: 100%; + z-index: 2147483640; + text-rendering: optimizelegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-align: center; + line-height: 1.2; +} +.fr-modal.fr-middle .fr-modal-wrapper { + margin-top: 0; + margin-bottom: 0; + margin-left: auto; + margin-right: auto; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + -moz-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + -o-transform: translate(-50%, -50%); + position: absolute; +} +.fr-modal .fr-modal-wrapper { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 20px auto; + display: inline-block; + background: #ffffff; + min-width: 300px; + -webkit-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.19), 0 4px 3px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.19), 0 4px 3px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 5px 8px rgba(0, 0, 0, 0.19), 0 4px 3px 1px rgba(0, 0, 0, 0.14); + border: 0px; + border-top: 5px solid #222222; + overflow: hidden; + width: 90%; + position: relative; +} +@media (min-width: 768px) and (max-width: 991px) { + .fr-modal .fr-modal-wrapper { + margin: 30px auto; + width: 70%; + } +} +@media (min-width: 992px) { + .fr-modal .fr-modal-wrapper { + margin: 50px auto; + width: 960px; + } +} +.fr-modal .fr-modal-wrapper .fr-modal-head { + background: #ffffff; + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + border-bottom: 0px; + overflow: hidden; + position: absolute; + width: 100%; + min-height: 42px; + z-index: 3; + -webkit-transition: height 0.2s ease 0s; + -moz-transition: height 0.2s ease 0s; + -ms-transition: height 0.2s ease 0s; + -o-transition: height 0.2s ease 0s; +} +.fr-modal .fr-modal-wrapper .fr-modal-head .fr-modal-close { + padding: 12px; + width: 20px; + font-size: 16px; + cursor: pointer; + line-height: 18px; + color: #222222; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + position: absolute; + top: 0; + right: 0; + -webkit-transition: color 0.2s ease 0s; + -moz-transition: color 0.2s ease 0s; + -ms-transition: color 0.2s ease 0s; + -o-transition: color 0.2s ease 0s; +} +.fr-modal .fr-modal-wrapper .fr-modal-head h4 { + font-size: 18px; + padding: 12px 10px; + margin: 0; + font-weight: 400; + line-height: 18px; + display: inline-block; + float: left; +} +.fr-modal .fr-modal-wrapper div.fr-modal-body { + height: 100%; + min-height: 150px; + overflow-y: scroll; + padding-bottom: 10px; +} +.fr-modal .fr-modal-wrapper div.fr-modal-body:focus { + outline: 0; +} +.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command { + height: 36px; + line-height: 1; + color: #1e88e5; + padding: 10px; + cursor: pointer; + text-decoration: none; + border: none; + background: none; + font-size: 16px; + outline: none; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command + button { + margin-left: 24px; +} +.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:hover, +.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:focus { + background: #ebebeb; + color: #1e88e5; +} +.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:active { + background: #d6d6d6; + color: #1e88e5; +} +.fr-modal .fr-modal-wrapper div.fr-modal-body button::-moz-focus-inner { + border: 0; +} +.fr-desktop .fr-modal-wrapper .fr-modal-head i:hover { + background: #ebebeb; +} +.fr-overlay { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: #000000; + -webkit-opacity: 0.5; + -moz-opacity: 0.5; + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + z-index: 2147483639; +} +.fr-popup { + position: absolute; + display: none; + color: #222222; + background: #ffffff; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-family: Arial, Helvetica, sans-serif; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + margin-top: 10px; + z-index: 2147483635; + text-align: left; + border: 0px; + border-top: 5px solid #222222; + text-rendering: optimizelegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + line-height: 1.2; +} +.fr-popup .fr-input-focus { + background: #f5f5f5; +} +.fr-popup.fr-above { + margin-top: -10px; + border-top: 0; + border-bottom: 5px solid #222222; + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); +} +.fr-popup.fr-active { + display: block; +} +.fr-popup.fr-hidden { + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; +} +.fr-popup.fr-empty { + display: none !important; +} +.fr-popup .fr-hs { + display: block !important; +} +.fr-popup .fr-hs.fr-hidden { + display: none !important; +} +.fr-popup .fr-input-line { + position: relative; + padding: 8px 0; +} +.fr-popup .fr-input-line input[type="text"], +.fr-popup .fr-input-line textarea { + width: 100%; + margin: 0px 0 1px 0; + border: none; + border-bottom: solid 1px #bdbdbd; + color: #222222; + font-size: 14px; + padding: 6px 0 2px; + background: rgba(0, 0, 0, 0); + position: relative; + z-index: 2; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.fr-popup .fr-input-line input[type="text"]:focus, +.fr-popup .fr-input-line textarea:focus { + border-bottom: solid 2px #1e88e5; + margin-bottom: 0px; +} +.fr-popup .fr-input-line input + label, +.fr-popup .fr-input-line textarea + label { + position: absolute; + top: 0; + left: 0; + font-size: 12px; + color: rgba(0, 0, 0, 0); + -webkit-transition: color 0.2s ease 0s; + -moz-transition: color 0.2s ease 0s; + -ms-transition: color 0.2s ease 0s; + -o-transition: color 0.2s ease 0s; + z-index: 3; + width: 100%; + display: block; + background: #ffffff; +} +.fr-popup .fr-input-line input.fr-not-empty:focus + label, +.fr-popup .fr-input-line textarea.fr-not-empty:focus + label { + color: #1e88e5; +} +.fr-popup .fr-input-line input.fr-not-empty + label, +.fr-popup .fr-input-line textarea.fr-not-empty + label { + color: #808080; +} +.fr-popup input, +.fr-popup textarea { + user-select: text; + -o-user-select: text; + -moz-user-select: text; + -khtml-user-select: text; + -webkit-user-select: text; + -ms-user-select: text; + border-radius: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + outline: none; +} +.fr-popup textarea { + resize: none; +} +.fr-popup .fr-buttons { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + padding: 0 2px; + white-space: nowrap; + line-height: 0; + border-bottom: 0px; +} +.fr-popup .fr-buttons::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.fr-popup .fr-buttons .fr-btn { + display: inline-block; + float: none; +} +.fr-popup .fr-buttons .fr-btn i { + float: left; +} +.fr-popup .fr-buttons .fr-separator { + display: inline-block; + float: none; +} +.fr-popup .fr-layer { + width: 225px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin: 10px; + display: none; +} +@media (min-width: 768px) { + .fr-popup .fr-layer { + width: 300px; + } +} +.fr-popup .fr-layer.fr-active { + display: inline-block; +} +.fr-popup .fr-action-buttons { + z-index: 7; + height: 36px; + text-align: right; +} +.fr-popup .fr-action-buttons button.fr-command { + height: 36px; + line-height: 1; + color: #1e88e5; + padding: 10px; + cursor: pointer; + text-decoration: none; + border: none; + background: none; + font-size: 16px; + outline: none; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.fr-popup .fr-action-buttons button.fr-command + button { + margin-left: 24px; +} +.fr-popup .fr-action-buttons button.fr-command:hover, +.fr-popup .fr-action-buttons button.fr-command:focus { + background: #ebebeb; + color: #1e88e5; +} +.fr-popup .fr-action-buttons button.fr-command:active { + background: #d6d6d6; + color: #1e88e5; +} +.fr-popup .fr-action-buttons button::-moz-focus-inner { + border: 0; +} +.fr-popup .fr-checkbox { + position: relative; + display: inline-block; + width: 16px; + height: 16px; + line-height: 1; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + vertical-align: middle; +} +.fr-popup .fr-checkbox svg { + margin-left: 2px; + margin-top: 2px; + display: none; + width: 10px; + height: 10px; +} +.fr-popup .fr-checkbox span { + border: solid 1px #222222; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + width: 16px; + height: 16px; + display: inline-block; + position: relative; + z-index: 1; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; +} +.fr-popup .fr-checkbox input { + position: absolute; + z-index: 2; + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + border: 0 none; + cursor: pointer; + height: 16px; + margin: 0; + padding: 0; + width: 16px; + top: 1px; + left: 1px; +} +.fr-popup .fr-checkbox input:checked + span { + background: #1e88e5; + border-color: #1e88e5; +} +.fr-popup .fr-checkbox input:checked + span svg { + display: block; +} +.fr-popup .fr-checkbox input:focus + span { + border-color: #1e88e5; +} +.fr-popup .fr-checkbox-line { + font-size: 14px; + line-height: 1.4px; + margin-top: 10px; +} +.fr-popup .fr-checkbox-line label { + cursor: pointer; + margin: 0 5px; + vertical-align: middle; +} +.fr-popup.fr-rtl { + direction: rtl; + text-align: right; +} +.fr-popup.fr-rtl .fr-action-buttons { + text-align: left; +} +.fr-popup.fr-rtl .fr-input-line input + label, +.fr-popup.fr-rtl .fr-input-line textarea + label { + left: auto; + right: 0; +} +.fr-popup.fr-rtl .fr-buttons .fr-separator.fr-vs { + float: right; +} +.fr-popup .fr-arrow { + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #222222; + position: absolute; + top: -9px; + left: 50%; + margin-left: -5px; + display: inline-block; +} +.fr-popup.fr-above .fr-arrow { + top: auto; + bottom: -9px; + border-bottom: 0; + border-top: 5px solid #222222; +} +.fr-text-edit-layer { + width: 250px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + display: block !important; +} +.fr-toolbar { + color: #222222; + background: #ffffff; + position: relative; + z-index: 4; + font-family: Arial, Helvetica, sans-serif; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 0 2px; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + text-align: left; + border: 0px; + border-top: 5px solid #222222; + text-rendering: optimizelegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + line-height: 1.2; +} +.fr-toolbar::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.fr-toolbar.fr-rtl { + text-align: right; +} +.fr-toolbar.fr-inline { + display: none; + white-space: nowrap; + position: absolute; + margin-top: 10px; +} +.fr-toolbar.fr-inline .fr-arrow { + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #222222; + position: absolute; + top: -9px; + left: 50%; + margin-left: -5px; + display: inline-block; +} +.fr-toolbar.fr-inline.fr-above { + margin-top: -10px; + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + border-bottom: 5px solid #222222; + border-top: 0; +} +.fr-toolbar.fr-inline.fr-above .fr-arrow { + top: auto; + bottom: -9px; + border-bottom: 0; + border-top-color: inherit; + border-top-style: solid; + border-top-width: 5px; +} +.fr-toolbar.fr-top { + top: 0; + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.fr-toolbar.fr-bottom { + bottom: 0; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.fr-separator { + background: #ebebeb; + display: block; + vertical-align: top; + float: left; +} +.fr-separator + .fr-separator { + display: none; +} +.fr-separator.fr-vs { + height: 34px; + width: 1px; + margin: 2px; +} +.fr-separator.fr-hs { + clear: both; + height: 1px; + width: calc(100% - (2 * 2px)); + margin: 0 2px; +} +.fr-separator.fr-hidden { + display: none !important; +} +.fr-rtl .fr-separator { + float: right; +} +.fr-toolbar.fr-inline .fr-separator.fr-hs { + float: none; +} +.fr-toolbar.fr-inline .fr-separator.fr-vs { + float: none; + display: inline-block; +} +.fr-visibility-helper { + display: none; + margin-left: 0px !important; +} +@media (min-width: 768px) { + .fr-visibility-helper { + margin-left: 1px !important; + } +} +@media (min-width: 992px) { + .fr-visibility-helper { + margin-left: 2px !important; + } +} +@media (min-width: 1200px) { + .fr-visibility-helper { + margin-left: 3px !important; + } +} +.fr-opacity-0 { + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; +} +.fr-box { + position: relative; +} +/** + * Postion sticky hacks. + */ +.fr-sticky { + position: -webkit-sticky; + position: -moz-sticky; + position: -ms-sticky; + position: -o-sticky; + position: sticky; +} +.fr-sticky-off { + position: relative; +} +.fr-sticky-on { + position: fixed; +} +.fr-sticky-on.fr-sticky-ios { + position: absolute; + left: 0; + right: 0; + width: auto !important; +} +.fr-sticky-dummy { + display: none; +} +.fr-sticky-on + .fr-sticky-dummy, +.fr-sticky-box > .fr-sticky-dummy { + display: block; +} +span.fr-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-box .fr-counter { + position: absolute; + bottom: 0px; + padding: 5px; + right: 0px; + color: #cccccc; + content: attr(data-chars); + font-size: 15px; + font-family: "Times New Roman", Georgia, Serif; + z-index: 1; + background: #ffffff; + border-top: solid 1px #ebebeb; + border-left: solid 1px #ebebeb; + border-radius: 2px 0 0 0; + -moz-border-radius: 2px 0 0 0; + -webkit-border-radius: 2px 0 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.fr-box.fr-rtl .fr-counter { + left: 0px; + right: auto; + border-left: none; + border-right: solid 1px #ebebeb; + border-radius: 0 2px 0 0; + -moz-border-radius: 0 2px 0 0; + -webkit-border-radius: 0 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.fr-box.fr-code-view .fr-counter { + display: none; +} + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +textarea.fr-code { + display: none; + width: 100%; + resize: none; + -moz-resize: none; + -webkit-resize: none; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + border: none; + padding: 10px; + margin: 0px; + font-family: "Courier New", monospace; + font-size: 14px; + background: #ffffff; + color: #000000; + outline: none; +} +.fr-box.fr-rtl textarea.fr-code { + direction: rtl; +} +.fr-box .CodeMirror { + display: none; +} +.fr-box.fr-code-view textarea.fr-code { + display: block; +} +.fr-box.fr-code-view.fr-inline { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.fr-box.fr-code-view .fr-element, +.fr-box.fr-code-view .fr-placeholder, +.fr-box.fr-code-view .fr-iframe { + display: none; +} +.fr-box.fr-code-view .CodeMirror { + display: block; +} +.fr-box.fr-inline.fr-code-view .fr-command.fr-btn.html-switch { + display: block; +} +.fr-box.fr-inline .fr-command.fr-btn.html-switch { + position: absolute; + top: 0; + right: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + display: none; + background: #ffffff; + color: #222222; + -moz-outline: 0; + outline: 0; + border: 0; + line-height: 1; + cursor: pointer; + text-align: left; + padding: 12px 12px; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + z-index: 2; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + text-decoration: none; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.fr-box.fr-inline .fr-command.fr-btn.html-switch i { + font-size: 14px; + width: 14px; + text-align: center; +} +.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover { + background: #ebebeb; +} + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-popup .fr-colors-tabs { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + margin-bottom: 5px; + line-height: 16px; + margin-left: -2px; + margin-right: -2px; +} +.fr-popup .fr-colors-tabs .fr-colors-tab { + display: inline-block; + width: 50%; + cursor: pointer; + text-align: center; + color: #222222; + font-size: 13px; + padding: 8px 0; + position: relative; +} +.fr-popup .fr-colors-tabs .fr-colors-tab:hover, +.fr-popup .fr-colors-tabs .fr-colors-tab:focus { + color: #1e88e5; +} +.fr-popup .fr-colors-tabs .fr-colors-tab[data-param1="background"]::after { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 2px; + background: #1e88e5; + content: ''; + -webkit-transition: transform 0.2s ease 0s; + -moz-transition: transform 0.2s ease 0s; + -ms-transition: transform 0.2s ease 0s; + -o-transition: transform 0.2s ease 0s; +} +.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab { + color: #1e88e5; +} +.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab[data-param1="text"] ~ [data-param1="background"]::after { + -webkit-transform: translate3d(-100%, 0, 0); + -moz-transform: translate3d(-100%, 0, 0); + -ms-transform: translate3d(-100%, 0, 0); + -o-transform: translate3d(-100%, 0, 0); +} +.fr-popup .fr-color-hex-layer { + width: 100%; + margin: 0px; + padding: 10px; +} +.fr-popup .fr-color-hex-layer .fr-input-line { + float: left; + width: calc(100% - 50px); + padding: 8px 0 0; +} +.fr-popup .fr-color-hex-layer .fr-action-buttons { + float: right; + width: 50px; +} +.fr-popup .fr-color-hex-layer .fr-action-buttons button { + background-color: #1e88e5; + color: #FFF; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 13px; + height: 32px; +} +.fr-popup .fr-color-hex-layer .fr-action-buttons button:hover { + background-color: #166dba; + color: #FFF; +} +.fr-popup .fr-separator + .fr-colors-tabs { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + margin-left: 2px; + margin-right: 2px; +} +.fr-popup .fr-color-set { + line-height: 0; + display: none; +} +.fr-popup .fr-color-set.fr-selected-set { + display: block; +} +.fr-popup .fr-color-set > span { + display: inline-block; + width: 32px; + height: 32px; + position: relative; + z-index: 1; +} +.fr-popup .fr-color-set > span > i, +.fr-popup .fr-color-set > span > svg { + text-align: center; + line-height: 32px; + height: 32px; + width: 32px; + font-size: 13px; + position: absolute; + bottom: 0; + cursor: default; + left: 0; +} +.fr-popup .fr-color-set > span .fr-selected-color { + color: #ffffff; + font-family: FontAwesome; + font-size: 13px; + font-weight: 400; + line-height: 32px; + position: absolute; + top: 0; + bottom: 0; + right: 0; + left: 0; + text-align: center; + cursor: default; +} +.fr-popup .fr-color-set > span:hover, +.fr-popup .fr-color-set > span:focus { + outline: 1px solid #222222; + z-index: 2; +} +.fr-rtl .fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab[data-param1="text"] ~ [data-param1="background"]::after { + -webkit-transform: translate3d(100%, 0, 0); + -moz-transform: translate3d(100%, 0, 0); + -ms-transform: translate3d(100%, 0, 0); + -o-transform: translate3d(100%, 0, 0); +} + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-drag-helper { + background: #1e88e5; + height: 2px; + margin-top: -1px; + -webkit-opacity: 0.2; + -moz-opacity: 0.2; + opacity: 0.2; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + position: absolute; + z-index: 2147483640; + display: none; +} +.fr-drag-helper.fr-visible { + display: block; +} +.fr-dragging { + -webkit-opacity: 0.4; + -moz-opacity: 0.4; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; +} + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-popup .fr-emoticon { + display: inline-block; + font-size: 20px; + width: 20px; + padding: 5px; + line-height: 1; + cursor: default; + font-weight: normal; + font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +.fr-popup .fr-emoticon img { + height: 20px; +} +.fr-popup .fr-link:focus { + outline: 0; + background: #ebebeb; +} + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-popup .fr-file-upload-layer { + border: dashed 2px #bdbdbd; + padding: 25px 0; + position: relative; + font-size: 14px; + letter-spacing: 1px; + line-height: 140%; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + text-align: center; +} +.fr-popup .fr-file-upload-layer:hover { + background: #ebebeb; +} +.fr-popup .fr-file-upload-layer.fr-drop { + background: #ebebeb; + border-color: #1e88e5; +} +.fr-popup .fr-file-upload-layer .fr-form { + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; + overflow: hidden; + margin: 0 !important; + padding: 0 !important; + width: 100% !important; +} +.fr-popup .fr-file-upload-layer .fr-form input { + cursor: pointer; + position: absolute; + right: 0px; + top: 0px; + bottom: 0px; + width: 500%; + height: 100%; + margin: 0px; + font-size: 400px; +} +.fr-popup .fr-file-progress-bar-layer { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.fr-popup .fr-file-progress-bar-layer > h3 { + font-size: 16px; + margin: 10px 0; + font-weight: normal; +} +.fr-popup .fr-file-progress-bar-layer > div.fr-action-buttons { + display: none; +} +.fr-popup .fr-file-progress-bar-layer > div.fr-loader { + background: #bcdbf7; + height: 10px; + width: 100%; + margin-top: 20px; + overflow: hidden; + position: relative; +} +.fr-popup .fr-file-progress-bar-layer > div.fr-loader span { + display: block; + height: 100%; + width: 0%; + background: #1e88e5; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.fr-popup .fr-file-progress-bar-layer > div.fr-loader.fr-indeterminate span { + width: 30% !important; + position: absolute; + top: 0; + -webkit-animation: loading 2s linear infinite; + -moz-animation: loading 2s linear infinite; + -o-animation: loading 2s linear infinite; + animation: loading 2s linear infinite; +} +.fr-popup .fr-file-progress-bar-layer.fr-error > div.fr-loader { + display: none; +} +.fr-popup .fr-file-progress-bar-layer.fr-error > div.fr-action-buttons { + display: block; +} +@keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} +@-webkit-keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} +@-moz-keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} +@-o-keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} + +body.fr-fullscreen { + overflow: hidden; + height: 100%; + width: 100%; + position: fixed; +} +.fr-box.fr-fullscreen { + margin: 0 !important; + position: fixed; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483630 !important; + width: auto !important; +} +.fr-box.fr-fullscreen .fr-toolbar.fr-top { + top: 0 !important; +} +.fr-box.fr-fullscreen .fr-toolbar.fr-bottom { + bottom: 0 !important; +} + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal { + text-align: left; + padding: 20px 20px 10px; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table { + border-collapse: collapse; + font-size: 14px; + line-height: 1.5; + width: 100%; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table + table { + margin-top: 20px; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tr { + border: 0; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table th, +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table td { + padding: 6px 0 4px; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody tr { + border-bottom: solid 1px #ebebeb; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:first-child { + width: 60%; + color: #646464; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:nth-child(n+2) { + letter-spacing: 0.5px; +} + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-element img { + cursor: pointer; +} +.fr-image-resizer { + position: absolute; + border: solid 1px #1e88e5; + display: none; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + z-index: 2; +} +.fr-image-resizer.fr-active { + display: block; +} +.fr-image-resizer .fr-handler { + display: block; + position: absolute; + background: #1e88e5; + border: solid 1px #ffffff; + z-index: 4; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.fr-image-resizer .fr-handler.fr-hnw { + cursor: nw-resize; +} +.fr-image-resizer .fr-handler.fr-hne { + cursor: ne-resize; +} +.fr-image-resizer .fr-handler.fr-hsw { + cursor: sw-resize; +} +.fr-image-resizer .fr-handler.fr-hse { + cursor: se-resize; +} +.fr-image-resizer .fr-handler { + width: 12px; + height: 12px; +} +.fr-image-resizer .fr-handler.fr-hnw { + left: -6px; + top: -6px; +} +.fr-image-resizer .fr-handler.fr-hne { + right: -6px; + top: -6px; +} +.fr-image-resizer .fr-handler.fr-hsw { + left: -6px; + bottom: -6px; +} +.fr-image-resizer .fr-handler.fr-hse { + right: -6px; + bottom: -6px; +} +@media (min-width: 1200px) { + .fr-image-resizer .fr-handler { + width: 10px; + height: 10px; + } + .fr-image-resizer .fr-handler.fr-hnw { + left: -5px; + top: -5px; + } + .fr-image-resizer .fr-handler.fr-hne { + right: -5px; + top: -5px; + } + .fr-image-resizer .fr-handler.fr-hsw { + left: -5px; + bottom: -5px; + } + .fr-image-resizer .fr-handler.fr-hse { + right: -5px; + bottom: -5px; + } +} +.fr-image-overlay { + position: fixed; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; + display: none; +} +.fr-popup .fr-image-upload-layer { + border: dashed 2px #bdbdbd; + padding: 25px 0; + position: relative; + font-size: 14px; + letter-spacing: 1px; + line-height: 140%; + text-align: center; +} +.fr-popup .fr-image-upload-layer:hover { + background: #ebebeb; +} +.fr-popup .fr-image-upload-layer.fr-drop { + background: #ebebeb; + border-color: #1e88e5; +} +.fr-popup .fr-image-upload-layer .fr-form { + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; + overflow: hidden; + margin: 0 !important; + padding: 0 !important; + width: 100% !important; +} +.fr-popup .fr-image-upload-layer .fr-form input { + cursor: pointer; + position: absolute; + right: 0px; + top: 0px; + bottom: 0px; + width: 500%; + height: 100%; + margin: 0px; + font-size: 400px; +} +.fr-popup .fr-image-progress-bar-layer > h3 { + font-size: 16px; + margin: 10px 0; + font-weight: normal; +} +.fr-popup .fr-image-progress-bar-layer > div.fr-action-buttons { + display: none; +} +.fr-popup .fr-image-progress-bar-layer > div.fr-loader { + background: #bcdbf7; + height: 10px; + width: 100%; + margin-top: 20px; + overflow: hidden; + position: relative; +} +.fr-popup .fr-image-progress-bar-layer > div.fr-loader span { + display: block; + height: 100%; + width: 0%; + background: #1e88e5; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.fr-popup .fr-image-progress-bar-layer > div.fr-loader.fr-indeterminate span { + width: 30% !important; + position: absolute; + top: 0; + -webkit-animation: loading 2s linear infinite; + -moz-animation: loading 2s linear infinite; + -o-animation: loading 2s linear infinite; + animation: loading 2s linear infinite; +} +.fr-popup .fr-image-progress-bar-layer.fr-error > div.fr-loader { + display: none; +} +.fr-popup .fr-image-progress-bar-layer.fr-error > div.fr-action-buttons { + display: block; +} +.fr-image-size-layer .fr-image-group .fr-input-line { + width: calc(50% - 5px); + display: inline-block; +} +.fr-image-size-layer .fr-image-group .fr-input-line + .fr-input-line { + margin-left: 10px; +} +.fr-uploading { + -webkit-opacity: 0.4; + -moz-opacity: 0.4; + opacity: 0.4; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; +} +@keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} +@-webkit-keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} +@-moz-keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} +@-o-keyframes loading { + from { + left: -25%; + } + to { + left: 100%; + } +} + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-modal-head .fr-modal-head-line::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.fr-modal-head .fr-modal-head-line i.fr-modal-more { + float: left; + opacity: 1; + -webkit-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -moz-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -ms-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -o-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + padding: 12px; +} +.fr-modal-head .fr-modal-head-line i.fr-modal-more.fr-not-available { + opacity: 0; + width: 0; + padding: 12px 0; +} +.fr-modal-head .fr-modal-tags { + display: none; + text-align: left; +} +.fr-modal-head .fr-modal-tags a { + display: inline-block; + opacity: 0; + padding: 6px 8px; + margin: 8px 0 8px 8px; + text-decoration: none; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + color: #1e88e5; + -webkit-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + cursor: pointer; +} +.fr-modal-head .fr-modal-tags a:focus { + outline: none; +} +.fr-modal-head .fr-modal-tags a.fr-selected-tag { + background: #d6d6d6; +} +div.fr-modal-body .fr-preloader { + display: block; + margin: 50px auto; +} +div.fr-modal-body div.fr-image-list { + text-align: center; + margin: 0 10px; + padding: 0; +} +div.fr-modal-body div.fr-image-list::after { + clear: both; + display: block; + content: ""; + height: 0; +} +div.fr-modal-body div.fr-image-list .fr-list-column { + float: left; + width: calc((100% - 10px) / 2); +} +@media (min-width: 768px) and (max-width: 1199px) { + div.fr-modal-body div.fr-image-list .fr-list-column { + width: calc((100% - 20px) / 3); + } +} +@media (min-width: 1200px) { + div.fr-modal-body div.fr-image-list .fr-list-column { + width: calc((100% - 30px) / 4); + } +} +div.fr-modal-body div.fr-image-list .fr-list-column + .fr-list-column { + margin-left: 10px; +} +div.fr-modal-body div.fr-image-list div.fr-image-container { + position: relative; + width: 100%; + display: block; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + overflow: hidden; +} +div.fr-modal-body div.fr-image-list div.fr-image-container:first-child { + margin-top: 10px; +} +div.fr-modal-body div.fr-image-list div.fr-image-container + div { + margin-top: 10px; +} +div.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::after { + position: absolute; + -webkit-opacity: 0.5; + -moz-opacity: 0.5; + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-transition: opacity 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s; + background: #000000; + content: ""; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2; +} +div.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::before { + content: attr(data-deleting); + color: #ffffff; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: auto; + position: absolute; + z-index: 3; + font-size: 15px; + height: 20px; +} +div.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty { + height: 95px; + background: #cccccc; + z-index: 1; +} +div.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty::after { + position: absolute; + margin: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; + content: attr(data-loading); + display: inline-block; + height: 20px; +} +div.fr-modal-body div.fr-image-list div.fr-image-container img { + width: 100%; + vertical-align: middle; + position: relative; + z-index: 2; + -webkit-opacity: 1; + -moz-opacity: 1; + opacity: 1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -ms-transform: translateZ(0); + -o-transform: translateZ(0); +} +div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected img { + -webkit-opacity: 0.75; + -moz-opacity: 0.75; + opacity: 0.75; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; +} +div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected .fr-delete-img, +div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected .fr-insert-img { + display: inline-block; +} +div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img, +div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img { + display: none; + top: 50%; + border-radius: 100%; + -moz-border-radius: 100%; + -webkit-border-radius: 100%; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + position: absolute; + cursor: pointer; + margin: 0; + width: 36px; + height: 36px; + line-height: 36px; + text-decoration: none; + z-index: 3; +} +div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img { + background: #b8312f; + color: #ffffff; + left: 50%; + -webkit-transform: translateY(-50%) translateX(25%); + -moz-transform: translateY(-50%) translateX(25%); + -ms-transform: translateY(-50%) translateX(25%); + -o-transform: translateY(-50%) translateX(25%); +} +div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img { + background: #ffffff; + color: #1e88e5; + left: 50%; + -webkit-transform: translateY(-50%) translateX(-125%); + -moz-transform: translateY(-50%) translateX(-125%); + -ms-transform: translateY(-50%) translateX(-125%); + -o-transform: translateY(-50%) translateX(-125%); +} +.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a:hover { + background: #ebebeb; +} +.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a.fr-selected-tag { + background: #d6d6d6; +} +.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover img { + -webkit-opacity: 0.75; + -moz-opacity: 0.75; + opacity: 0.75; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; +} +.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover .fr-delete-img, +.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover .fr-insert-img { + display: inline-block; +} +.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img:hover { + background: #bf4644; + color: #ffffff; +} +.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img:hover { + background: #ebebeb; +} + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-line-breaker { + cursor: text; + border-top: 1px solid #1e88e5; + position: fixed; + z-index: 2; + display: none; +} +.fr-line-breaker.fr-visible { + display: block; +} +.fr-line-breaker a.fr-floating-btn { + position: absolute; + left: calc(50% - (32px / 2)); + top: -16px; +} + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-quick-insert { + position: absolute; + z-index: 2147483639; + white-space: nowrap; + padding-right: 5px; + margin-left: -5px; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +.fr-quick-insert.fr-on a.fr-floating-btn svg { + -webkit-transform: rotate(135deg); + -moz-transform: rotate(135deg); + -ms-transform: rotate(135deg); + -o-transform: rotate(135deg); +} +.fr-quick-insert.fr-hidden { + display: none; +} +.fr-qi-helper { + position: absolute; + z-index: 3; + padding-left: 16px; + white-space: nowrap; +} +.fr-qi-helper a.fr-btn.fr-floating-btn { + text-align: center; + display: inline-block; + color: #222222; + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + -o-transform: scale(0); +} +.fr-qi-helper a.fr-btn.fr-floating-btn.fr-size-1 { + -webkit-opacity: 1; + -moz-opacity: 1; + opacity: 1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); +} + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal { + text-align: left; + padding: 20px 20px 10px; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-characters-list { + margin-bottom: 20px; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-characters-title { + font-weight: bold; + font-size: 14px; + padding: 6px 0 4px; + margin: 0 0 5px; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-character { + display: inline-block; + font-size: 16px; + width: 20px; + height: 20px; + padding: 5px; + line-height: 20px; + cursor: default; + font-weight: normal; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + text-align: center; + border: 1px solid #cccccc; + margin: -1px 0 0 -1px; +} + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-element table td.fr-selected-cell, +.fr-element table th.fr-selected-cell { + border: 1px double #1e88e5; +} +.fr-element table tr { + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.fr-element table td, +.fr-element table th { + user-select: text; + -o-user-select: text; + -moz-user-select: text; + -khtml-user-select: text; + -webkit-user-select: text; + -ms-user-select: text; +} +.fr-element .fr-no-selection table td, +.fr-element .fr-no-selection table th { + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.fr-table-resizer { + cursor: col-resize; + position: absolute; + z-index: 3; + display: none; +} +.fr-table-resizer.fr-moving { + z-index: 2; +} +.fr-table-resizer div { + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + border-right: 1px solid #1e88e5; +} +.fr-no-selection { + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.fr-popup .fr-table-colors-hex-layer { + width: 100%; + margin: 0px; + padding: 10px; +} +.fr-popup .fr-table-colors-hex-layer .fr-input-line { + float: left; + width: calc(100% - 50px); + padding: 8px 0 0; +} +.fr-popup .fr-table-colors-hex-layer .fr-action-buttons { + float: right; + width: 50px; +} +.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button { + background-color: #1e88e5; + color: #FFF; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-size: 13px; + height: 32px; +} +.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button:hover { + background-color: #166dba; + color: #FFF; +} +.fr-popup .fr-table-size .fr-table-size-info { + text-align: center; + font-size: 14px; + padding: 8px; +} +.fr-popup .fr-table-size .fr-select-table-size { + line-height: 0; + padding: 0 5px 5px; + white-space: nowrap; +} +.fr-popup .fr-table-size .fr-select-table-size > span { + display: inline-block; + padding: 0px 4px 4px 0; + background: transparent; +} +.fr-popup .fr-table-size .fr-select-table-size > span > span { + display: inline-block; + width: 18px; + height: 18px; + border: 1px solid #dddddd; +} +.fr-popup .fr-table-size .fr-select-table-size > span.hover { + background: transparent; +} +.fr-popup .fr-table-size .fr-select-table-size > span.hover > span { + background: rgba(30, 136, 229, 0.3); + border: solid 1px #1e88e5; +} +.fr-popup .fr-table-size .fr-select-table-size .new-line::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.fr-popup.fr-above .fr-table-size .fr-select-table-size > span { + display: inline-block !important; +} +.fr-popup .fr-table-colors-buttons { + margin-bottom: 5px; +} +.fr-popup .fr-table-colors { + line-height: 0; + display: block; +} +.fr-popup .fr-table-colors > span { + display: inline-block; + width: 32px; + height: 32px; + position: relative; + z-index: 1; +} +.fr-popup .fr-table-colors > span > i { + text-align: center; + line-height: 32px; + height: 32px; + width: 32px; + font-size: 13px; + position: absolute; + bottom: 0; + cursor: default; + left: 0; +} +.fr-popup .fr-table-colors > span:focus { + outline: 1px solid #222222; + z-index: 2; +} +.fr-popup.fr-desktop .fr-table-size .fr-select-table-size > span > span { + width: 12px; + height: 12px; +} +.fr-insert-helper { + position: absolute; + z-index: 9999; + white-space: nowrap; +} + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-element .fr-video { + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.fr-element .fr-video::after { + position: absolute; + content: ''; + z-index: 1; + top: 0; + left: 0; + right: 0; + bottom: 0; + cursor: pointer; + display: block; + background: rgba(0, 0, 0, 0); +} +.fr-element .fr-video.fr-active > * { + z-index: 2; + position: relative; +} +.fr-element .fr-video > * { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + max-width: 100%; + border: none; +} +.fr-box .fr-video-resizer { + position: absolute; + border: solid 1px #1e88e5; + display: none; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.fr-box .fr-video-resizer.fr-active { + display: block; +} +.fr-box .fr-video-resizer .fr-handler { + display: block; + position: absolute; + background: #1e88e5; + border: solid 1px #ffffff; + z-index: 4; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.fr-box .fr-video-resizer .fr-handler.fr-hnw { + cursor: nw-resize; +} +.fr-box .fr-video-resizer .fr-handler.fr-hne { + cursor: ne-resize; +} +.fr-box .fr-video-resizer .fr-handler.fr-hsw { + cursor: sw-resize; +} +.fr-box .fr-video-resizer .fr-handler.fr-hse { + cursor: se-resize; +} +.fr-box .fr-video-resizer .fr-handler { + width: 12px; + height: 12px; +} +.fr-box .fr-video-resizer .fr-handler.fr-hnw { + left: -6px; + top: -6px; +} +.fr-box .fr-video-resizer .fr-handler.fr-hne { + right: -6px; + top: -6px; +} +.fr-box .fr-video-resizer .fr-handler.fr-hsw { + left: -6px; + bottom: -6px; +} +.fr-box .fr-video-resizer .fr-handler.fr-hse { + right: -6px; + bottom: -6px; +} +@media (min-width: 1200px) { + .fr-box .fr-video-resizer .fr-handler { + width: 10px; + height: 10px; + } + .fr-box .fr-video-resizer .fr-handler.fr-hnw { + left: -5px; + top: -5px; + } + .fr-box .fr-video-resizer .fr-handler.fr-hne { + right: -5px; + top: -5px; + } + .fr-box .fr-video-resizer .fr-handler.fr-hsw { + left: -5px; + bottom: -5px; + } + .fr-box .fr-video-resizer .fr-handler.fr-hse { + right: -5px; + bottom: -5px; + } +} +.fr-popup .fr-video-size-layer .fr-video-group .fr-input-line { + width: calc(50% - 5px); + display: inline-block; +} +.fr-popup .fr-video-size-layer .fr-video-group .fr-input-line + .fr-input-line { + margin-left: 10px; +} +.fr-popup .fr-video-upload-layer { + border: dashed 2px #bdbdbd; + padding: 25px 0; + position: relative; + font-size: 14px; + letter-spacing: 1px; + line-height: 140%; + text-align: center; +} +.fr-popup .fr-video-upload-layer:hover { + background: #ebebeb; +} +.fr-popup .fr-video-upload-layer.fr-drop { + background: #ebebeb; + border-color: #1e88e5; +} +.fr-popup .fr-video-upload-layer .fr-form { + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; + overflow: hidden; + margin: 0 !important; + padding: 0 !important; + width: 100% !important; +} +.fr-popup .fr-video-upload-layer .fr-form input { + cursor: pointer; + position: absolute; + right: 0px; + top: 0px; + bottom: 0px; + width: 500%; + height: 100%; + margin: 0px; + font-size: 400px; +} +.fr-popup .fr-video-progress-bar-layer > h3 { + font-size: 16px; + margin: 10px 0; + font-weight: normal; +} +.fr-popup .fr-video-progress-bar-layer > div.fr-action-buttons { + display: none; +} +.fr-popup .fr-video-progress-bar-layer > div.fr-loader { + background: #bcdbf7; + height: 10px; + width: 100%; + margin-top: 20px; + overflow: hidden; + position: relative; +} +.fr-popup .fr-video-progress-bar-layer > div.fr-loader span { + display: block; + height: 100%; + width: 0%; + background: #1e88e5; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.fr-popup .fr-video-progress-bar-layer > div.fr-loader.fr-indeterminate span { + width: 30% !important; + position: absolute; + top: 0; + -webkit-animation: loading 2s linear infinite; + -moz-animation: loading 2s linear infinite; + -o-animation: loading 2s linear infinite; + animation: loading 2s linear infinite; +} +.fr-popup .fr-video-progress-bar-layer.fr-error > div.fr-loader { + display: none; +} +.fr-popup .fr-video-progress-bar-layer.fr-error > div.fr-action-buttons { + display: block; +} +.fr-video-overlay { + position: fixed; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; + display: none; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/froala_editor.pkgd.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/froala_editor.pkgd.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/froala_editor.pkgd.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/froala_editor.pkgd.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-element,.fr-element:focus{}.fr-box.fr-basic .fr-element{color:#000;padding:16px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow-x:auto;min-height:52px}.fr-box.fr-basic.fr-rtl .fr-element{text-align:right}.fr-element{background:0 0;position:relative;z-index:2;-webkit-user-select:auto}.fr-element a{user-select:auto;-o-user-select:auto;-moz-user-select:auto;-khtml-user-select:auto;-webkit-user-select:auto;-ms-user-select:auto}.fr-element.fr-disabled{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-element [contenteditable=true]{}.fr-box a.fr-floating-btn{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);border-radius:100%;-moz-border-radius:100%;-webkit-border-radius:100%;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;height:32px;width:32px;background:#fff;color:#1e88e5;-webkit-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-moz-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-ms-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-o-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;left:0;top:0;line-height:32px;-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);text-align:center;display:block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:0}.fr-box a.fr-floating-btn svg{-webkit-transition:transform .2s ease 0s;-moz-transition:transform .2s ease 0s;-ms-transition:transform .2s ease 0s;-o-transition:transform .2s ease 0s;fill:#1e88e5}.fr-box a.fr-floating-btn i,.fr-box a.fr-floating-btn svg{font-size:14px;line-height:32px}.fr-box a.fr-floating-btn.fr-btn+.fr-btn{margin-left:10px}.fr-box a.fr-floating-btn:hover{background:#ebebeb;cursor:pointer}.fr-box a.fr-floating-btn:hover svg{fill:#1e88e5}.fr-box .fr-visible a.fr-floating-btn{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1)}iframe.fr-iframe{width:100%;border:0;position:relative;display:block;z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fr-wrapper{position:relative;z-index:1}.fr-wrapper::after{clear:both;display:block;content:"";height:0}.fr-wrapper .fr-placeholder{position:absolute;font-size:12px;color:#aaa;z-index:1;display:none;top:0;left:0;right:0;overflow:hidden}.fr-wrapper.show-placeholder .fr-placeholder{display:block}.fr-wrapper ::-moz-selection{background:#b5d6fd;color:#000}.fr-wrapper ::selection{background:#b5d6fd;color:#000}.fr-box.fr-basic .fr-wrapper{background:#fff;border:0;border-top:0;top:0;left:0}.fr-box.fr-basic.fr-top .fr-wrapper{border-top:0;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.fr-box.fr-basic.fr-bottom .fr-wrapper{border-bottom:0;border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16)}@media (min-width:992px){.fr-box.fr-document{min-width:21cm}.fr-box.fr-document .fr-wrapper{text-align:center;padding:30px;min-width:21cm;background:#EFEFEF}.fr-box.fr-document .fr-wrapper .fr-element{text-align:left;background:#FFF;width:21cm;margin:auto;min-height:26cm!important;padding:1cm 2cm;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);overflow:visible}.fr-box.fr-document .fr-wrapper .fr-element hr{margin-left:-2cm;margin-right:-2cm;background:#EFEFEF;height:1cm;border:0}}.fr-tooltip{position:absolute;top:0;left:0;padding:0 8px;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);background:#222;color:#fff;font-size:11px;line-height:22px;font-family:Arial,Helvetica,sans-serif;-webkit-transition:opacity .2s ease 0s;-moz-transition:opacity .2s ease 0s;-ms-transition:opacity .2s ease 0s;-o-transition:opacity .2s ease 0s;-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";left:-3000px;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;z-index:2147483647;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fr-tooltip.fr-visible{-webkit-opacity:1;-moz-opacity:1;opacity:1;-ms-filter:"alpha(Opacity=0)"}.fr-toolbar .fr-btn-wrap,.fr-popup .fr-btn-wrap{float:left;white-space:nowrap;position:relative}.fr-toolbar .fr-btn-wrap.fr-hidden,.fr-popup .fr-btn-wrap.fr-hidden{display:none}.fr-toolbar .fr-command.fr-btn,.fr-popup .fr-command.fr-btn{background:0 0;color:#222;border:0;line-height:1;cursor:pointer;text-align:left;margin:0 2px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;z-index:2;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;float:left;padding:0;width:38px;height:38px}.fr-toolbar .fr-command.fr-btn::-moz-focus-inner,.fr-popup .fr-command.fr-btn::-moz-focus-inner{border:0;padding:0}.fr-toolbar .fr-command.fr-btn.fr-btn-text,.fr-popup .fr-command.fr-btn.fr-btn-text{width:auto}.fr-toolbar .fr-command.fr-btn i,.fr-popup .fr-command.fr-btn i,.fr-toolbar .fr-command.fr-btn svg,.fr-popup .fr-command.fr-btn svg{display:block;font-size:14px;width:14px;margin:12px;text-align:center;float:none}.fr-toolbar .fr-command.fr-btn span.fr-sr-only,.fr-popup .fr-command.fr-btn span.fr-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-toolbar .fr-command.fr-btn span,.fr-popup .fr-command.fr-btn span{font-size:14px;display:block;line-height:17px;min-width:34px;float:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;height:17px;font-weight:700;padding:0 2px}.fr-toolbar .fr-command.fr-btn img,.fr-popup .fr-command.fr-btn img{margin:12px;width:14px}.fr-toolbar .fr-command.fr-btn.fr-active,.fr-popup .fr-command.fr-btn.fr-active{color:#1e88e5;background:0 0}.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection{width:auto}.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection span,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection span{font-weight:400}.fr-toolbar .fr-command.fr-btn.fr-dropdown i,.fr-popup .fr-command.fr-btn.fr-dropdown i,.fr-toolbar .fr-command.fr-btn.fr-dropdown span,.fr-popup .fr-command.fr-btn.fr-dropdown span,.fr-toolbar .fr-command.fr-btn.fr-dropdown img,.fr-popup .fr-command.fr-btn.fr-dropdown img,.fr-toolbar .fr-command.fr-btn.fr-dropdown svg,.fr-popup .fr-command.fr-btn.fr-dropdown svg{margin-left:8px;margin-right:16px}.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active{color:#222;background:#d6d6d6}.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover,.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus{background:#d6d6d6!important;color:#222!important}.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover::after,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover::after,.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus::after,.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus::after{border-top-color:#222!important}.fr-toolbar .fr-command.fr-btn.fr-dropdown::after,.fr-popup .fr-command.fr-btn.fr-dropdown::after{position:absolute;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #222;right:4px;top:17px;content:""}.fr-toolbar .fr-command.fr-btn.fr-disabled,.fr-popup .fr-command.fr-btn.fr-disabled{color:#bdbdbd;cursor:default}.fr-toolbar .fr-command.fr-btn.fr-disabled::after,.fr-popup .fr-command.fr-btn.fr-disabled::after{border-top-color:#bdbdbd!important}.fr-toolbar .fr-command.fr-btn.fr-hidden,.fr-popup .fr-command.fr-btn.fr-hidden{display:none}.fr-toolbar.fr-disabled .fr-btn,.fr-popup.fr-disabled .fr-btn,.fr-toolbar.fr-disabled .fr-btn.fr-active,.fr-popup.fr-disabled .fr-btn.fr-active{color:#bdbdbd}.fr-toolbar.fr-disabled .fr-btn.fr-dropdown::after,.fr-popup.fr-disabled .fr-btn.fr-dropdown::after,.fr-toolbar.fr-disabled .fr-btn.fr-active.fr-dropdown::after,.fr-popup.fr-disabled .fr-btn.fr-active.fr-dropdown::after{border-top-color:#bdbdbd}.fr-toolbar.fr-rtl .fr-command.fr-btn,.fr-popup.fr-rtl .fr-command.fr-btn{float:right}.fr-toolbar.fr-inline>.fr-command.fr-btn:not(.fr-hidden),.fr-toolbar.fr-inline>.fr-btn-wrap:not(.fr-hidden){display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;float:none}.fr-desktop .fr-command:hover,.fr-desktop .fr-command:focus,.fr-desktop .fr-command.fr-btn-hover,.fr-desktop .fr-command.fr-expanded{color:#222;background:#ebebeb}.fr-desktop .fr-command:hover::after,.fr-desktop .fr-command:focus::after,.fr-desktop .fr-command.fr-btn-hover::after,.fr-desktop .fr-command.fr-expanded::after{border-top-color:#222!important}.fr-desktop .fr-command.fr-selected{color:#222;background:#d6d6d6}.fr-desktop .fr-command.fr-active:hover,.fr-desktop .fr-command.fr-active:focus,.fr-desktop .fr-command.fr-active.fr-btn-hover,.fr-desktop .fr-command.fr-active.fr-expanded{color:#1e88e5;background:#ebebeb}.fr-desktop .fr-command.fr-active.fr-selected{color:#1e88e5;background:#d6d6d6}.fr-desktop .fr-command.fr-disabled:hover,.fr-desktop .fr-command.fr-disabled:focus,.fr-desktop .fr-command.fr-disabled.fr-selected{background:0 0}.fr-desktop.fr-disabled .fr-command:hover,.fr-desktop.fr-disabled .fr-command:focus,.fr-desktop.fr-disabled .fr-command.fr-selected{background:0 0}.fr-toolbar.fr-mobile .fr-command.fr-blink,.fr-popup.fr-mobile .fr-command.fr-blink{background:0 0}.fr-command.fr-btn.fr-options{width:16px;margin-left:-5px}.fr-command.fr-btn.fr-options.fr-btn-hover,.fr-command.fr-btn.fr-options:hover,.fr-command.fr-btn.fr-options:focus{border-left:solid 1px #fafafa}.fr-command.fr-btn+.fr-dropdown-menu{display:inline-block;position:absolute;right:auto;bottom:auto;height:auto;z-index:4;-webkit-overflow-scrolling:touch;overflow:hidden;zoom:1;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.fr-command.fr-btn+.fr-dropdown-menu.test-height .fr-dropdown-wrapper{-webkit-transition:none;-moz-transition:none;-ms-transition:none;-o-transition:none;height:auto;max-height:275px}.fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper{background:#fff;padding:0;margin:auto;display:inline-block;text-align:left;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:max-height .2s ease 0s;-moz-transition:max-height .2s ease 0s;-ms-transition:max-height .2s ease 0s;-o-transition:max-height .2s ease 0s;margin-top:0;float:left;max-height:0;height:0;margin-top:0!important}.fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content{overflow:auto;position:relative;max-height:275px}.fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list{list-style-type:none;margin:0;padding:0}.fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li{padding:0;margin:0;font-size:15px}.fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a{padding:0 24px;line-height:200%;display:block;cursor:pointer;white-space:nowrap;color:inherit;text-decoration:none}.fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-active{background:#d6d6d6}.fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-disabled{color:#bdbdbd;cursor:default}.fr-command.fr-btn:not(.fr-active)+.fr-dropdown-menu{left:-3000px!important}.fr-command.fr-btn.fr-active+.fr-dropdown-menu{display:inline-block;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14)}.fr-command.fr-btn.fr-active+.fr-dropdown-menu .fr-dropdown-wrapper{height:auto;max-height:275px}.fr-bottom>.fr-command.fr-btn+.fr-dropdown-menu{border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.fr-toolbar.fr-rtl .fr-dropdown-wrapper,.fr-popup.fr-rtl .fr-dropdown-wrapper{text-align:right!important}body.prevent-scroll{overflow:hidden}body.prevent-scroll.fr-mobile{position:fixed;-webkit-overflow-scrolling:touch}.fr-modal{color:#222;font-family:Arial,Helvetica,sans-serif;position:fixed;overflow-x:auto;overflow-y:scroll;top:0;left:0;bottom:0;right:0;width:100%;z-index:2147483640;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;line-height:1.2}.fr-modal.fr-middle .fr-modal-wrapper{margin-top:0;margin-bottom:0;margin-left:auto;margin-right:auto;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);-moz-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);-o-transform:translate(-50%,-50%);position:absolute}.fr-modal .fr-modal-wrapper{border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;margin:20px auto;display:inline-block;background:#fff;min-width:300px;-webkit-box-shadow:0 5px 8px rgba(0,0,0,.19),0 4px 3px 1px rgba(0,0,0,.14);-moz-box-shadow:0 5px 8px rgba(0,0,0,.19),0 4px 3px 1px rgba(0,0,0,.14);box-shadow:0 5px 8px rgba(0,0,0,.19),0 4px 3px 1px rgba(0,0,0,.14);border:0;border-top:5px solid #222;overflow:hidden;width:90%;position:relative}@media (min-width:768px) and (max-width:991px){.fr-modal .fr-modal-wrapper{margin:30px auto;width:70%}}@media (min-width:992px){.fr-modal .fr-modal-wrapper{margin:50px auto;width:960px}}.fr-modal .fr-modal-wrapper .fr-modal-head{background:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);border-bottom:0;overflow:hidden;position:absolute;width:100%;min-height:42px;z-index:3;-webkit-transition:height .2s ease 0s;-moz-transition:height .2s ease 0s;-ms-transition:height .2s ease 0s;-o-transition:height .2s ease 0s}.fr-modal .fr-modal-wrapper .fr-modal-head .fr-modal-close{padding:12px;width:20px;font-size:16px;cursor:pointer;line-height:18px;color:#222;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;position:absolute;top:0;right:0;-webkit-transition:color .2s ease 0s;-moz-transition:color .2s ease 0s;-ms-transition:color .2s ease 0s;-o-transition:color .2s ease 0s}.fr-modal .fr-modal-wrapper .fr-modal-head h4{font-size:18px;padding:12px 10px;margin:0;font-weight:400;line-height:18px;display:inline-block;float:left}.fr-modal .fr-modal-wrapper div.fr-modal-body{height:100%;min-height:150px;overflow-y:scroll;padding-bottom:10px}.fr-modal .fr-modal-wrapper div.fr-modal-body:focus{}.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command{height:36px;line-height:1;color:#1e88e5;padding:10px;cursor:pointer;text-decoration:none;border:0;background:0 0;font-size:16px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command+button{margin-left:24px}.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:hover,.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:focus{background:#ebebeb;color:#1e88e5}.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:active{background:#d6d6d6;color:#1e88e5}.fr-modal .fr-modal-wrapper div.fr-modal-body button::-moz-focus-inner{border:0}.fr-desktop .fr-modal-wrapper .fr-modal-head i:hover{background:#ebebeb}.fr-overlay{position:fixed;top:0;bottom:0;left:0;right:0;background:#000;-webkit-opacity:.5;-moz-opacity:.5;opacity:.5;-ms-filter:"alpha(Opacity=0)";z-index:2147483639}.fr-popup{position:absolute;display:none;color:#222;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;font-family:Arial,Helvetica,sans-serif;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;margin-top:10px;z-index:2147483635;text-align:left;border:0;border-top:5px solid #222;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.2}.fr-popup .fr-input-focus{background:#f5f5f5}.fr-popup.fr-above{margin-top:-10px;border-top:0;border-bottom:5px solid #222;-webkit-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16)}.fr-popup.fr-active{display:block}.fr-popup.fr-hidden{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)"}.fr-popup.fr-empty{display:none!important}.fr-popup .fr-hs{display:block!important}.fr-popup .fr-hs.fr-hidden{display:none!important}.fr-popup .fr-input-line{position:relative;padding:8px 0}.fr-popup .fr-input-line input[type=text],.fr-popup .fr-input-line textarea{width:100%;margin:0 0 1px;border:0;border-bottom:solid 1px #bdbdbd;color:#222;font-size:14px;padding:6px 0 2px;background:rgba(0,0,0,0);position:relative;z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fr-popup .fr-input-line input[type=text]:focus,.fr-popup .fr-input-line textarea:focus{border-bottom:solid 2px #1e88e5;margin-bottom:0}.fr-popup .fr-input-line input+label,.fr-popup .fr-input-line textarea+label{position:absolute;top:0;left:0;font-size:12px;color:rgba(0,0,0,0);-webkit-transition:color .2s ease 0s;-moz-transition:color .2s ease 0s;-ms-transition:color .2s ease 0s;-o-transition:color .2s ease 0s;z-index:3;width:100%;display:block;background:#fff}.fr-popup .fr-input-line input.fr-not-empty:focus+label,.fr-popup .fr-input-line textarea.fr-not-empty:focus+label{color:#1e88e5}.fr-popup .fr-input-line input.fr-not-empty+label,.fr-popup .fr-input-line textarea.fr-not-empty+label{color:gray}.fr-popup input,.fr-popup textarea{user-select:text;-o-user-select:text;-moz-user-select:text;-khtml-user-select:text;-webkit-user-select:text;-ms-user-select:text;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;}.fr-popup textarea{resize:none}.fr-popup .fr-buttons{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);padding:0 2px;white-space:nowrap;line-height:0;border-bottom:0}.fr-popup .fr-buttons::after{clear:both;display:block;content:"";height:0}.fr-popup .fr-buttons .fr-btn{display:inline-block;float:none}.fr-popup .fr-buttons .fr-btn i{float:left}.fr-popup .fr-buttons .fr-separator{display:inline-block;float:none}.fr-popup .fr-layer{width:225px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin:10px;display:none}@media (min-width:768px){.fr-popup .fr-layer{width:300px}}.fr-popup .fr-layer.fr-active{display:inline-block}.fr-popup .fr-action-buttons{z-index:7;height:36px;text-align:right}.fr-popup .fr-action-buttons button.fr-command{height:36px;line-height:1;color:#1e88e5;padding:10px;cursor:pointer;text-decoration:none;border:0;background:0 0;font-size:16px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.fr-popup .fr-action-buttons button.fr-command+button{margin-left:24px}.fr-popup .fr-action-buttons button.fr-command:hover,.fr-popup .fr-action-buttons button.fr-command:focus{background:#ebebeb;color:#1e88e5}.fr-popup .fr-action-buttons button.fr-command:active{background:#d6d6d6;color:#1e88e5}.fr-popup .fr-action-buttons button::-moz-focus-inner{border:0}.fr-popup .fr-checkbox{position:relative;display:inline-block;width:16px;height:16px;line-height:1;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;vertical-align:middle}.fr-popup .fr-checkbox svg{margin-left:2px;margin-top:2px;display:none;width:10px;height:10px}.fr-popup .fr-checkbox span{border:solid 1px #222;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;width:16px;height:16px;display:inline-block;position:relative;z-index:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:background .2s ease 0s,border-color .2s ease 0s;-moz-transition:background .2s ease 0s,border-color .2s ease 0s;-ms-transition:background .2s ease 0s,border-color .2s ease 0s;-o-transition:background .2s ease 0s,border-color .2s ease 0s}.fr-popup .fr-checkbox input{position:absolute;z-index:2;-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";border:0 none;cursor:pointer;height:16px;margin:0;padding:0;width:16px;top:1px;left:1px}.fr-popup .fr-checkbox input:checked+span{background:#1e88e5;border-color:#1e88e5}.fr-popup .fr-checkbox input:checked+span svg{display:block}.fr-popup .fr-checkbox input:focus+span{border-color:#1e88e5}.fr-popup .fr-checkbox-line{font-size:14px;line-height:1.4px;margin-top:10px}.fr-popup .fr-checkbox-line label{cursor:pointer;margin:0 5px;vertical-align:middle}.fr-popup.fr-rtl{direction:rtl;text-align:right}.fr-popup.fr-rtl .fr-action-buttons{text-align:left}.fr-popup.fr-rtl .fr-input-line input+label,.fr-popup.fr-rtl .fr-input-line textarea+label{left:auto;right:0}.fr-popup.fr-rtl .fr-buttons .fr-separator.fr-vs{float:right}.fr-popup .fr-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #222;position:absolute;top:-9px;left:50%;margin-left:-5px;display:inline-block}.fr-popup.fr-above .fr-arrow{top:auto;bottom:-9px;border-bottom:0;border-top:5px solid #222}.fr-text-edit-layer{width:250px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block!important}.fr-toolbar{color:#222;background:#fff;position:relative;z-index:2;font-family:Arial,Helvetica,sans-serif;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:0 2px;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);text-align:left;border:0;border-top:5px solid #222;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.2}.fr-toolbar::after{clear:both;display:block;content:"";height:0}.fr-toolbar.fr-rtl{text-align:right}.fr-toolbar.fr-inline{display:none;white-space:nowrap;position:absolute;margin-top:10px}.fr-toolbar.fr-inline .fr-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #222;position:absolute;top:-9px;left:50%;margin-left:-5px;display:inline-block}.fr-toolbar.fr-inline.fr-above{margin-top:-10px;-webkit-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);border-bottom:5px solid #222;border-top:0}.fr-toolbar.fr-inline.fr-above .fr-arrow{top:auto;bottom:-9px;border-bottom:0;border-top-color:inherit;border-top-style:solid;border-top-width:5px}.fr-toolbar.fr-top{top:0;border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.fr-toolbar.fr-bottom{bottom:0;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.fr-separator{background:#ebebeb;display:block;vertical-align:top;float:left}.fr-separator+.fr-separator{display:none}.fr-separator.fr-vs{height:34px;width:1px;margin:2px}.fr-separator.fr-hs{clear:both;height:1px;width:calc(100% - (2 * 2px));margin:0 2px}.fr-separator.fr-hidden{display:none!important}.fr-rtl .fr-separator{float:right}.fr-toolbar.fr-inline .fr-separator.fr-hs{float:none}.fr-toolbar.fr-inline .fr-separator.fr-vs{float:none;display:inline-block}.fr-visibility-helper{display:none;margin-left:0!important}@media (min-width:768px){.fr-visibility-helper{margin-left:1px!important}}@media (min-width:992px){.fr-visibility-helper{margin-left:2px!important}}@media (min-width:1200px){.fr-visibility-helper{margin-left:3px!important}}.fr-opacity-0{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)"}.fr-box{position:relative}.fr-sticky{position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky}.fr-sticky-off{position:relative}.fr-sticky-on{position:fixed}.fr-sticky-on.fr-sticky-ios{position:absolute;left:0;right:0;width:auto!important}.fr-sticky-dummy{display:none}.fr-sticky-on+.fr-sticky-dummy,.fr-sticky-box>.fr-sticky-dummy{display:block}span.fr-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-box .fr-counter{position:absolute;bottom:0;padding:5px;right:0;color:#ccc;content:attr(data-chars);font-size:15px;font-family:"Times New Roman",Georgia,Serif;z-index:1;background:#fff;border-top:solid 1px #ebebeb;border-left:solid 1px #ebebeb;border-radius:2px 0 0;-moz-border-radius:2px 0 0;-webkit-border-radius:2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.fr-box.fr-rtl .fr-counter{left:0;right:auto;border-left:0;border-right:solid 1px #ebebeb;border-radius:0 2px 0 0;-moz-border-radius:0 2px 0 0;-webkit-border-radius:0 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.fr-box.fr-code-view .fr-counter{display:none}.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}textarea.fr-code{display:none;width:100%;resize:none;-moz-resize:none;-webkit-resize:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border:0;padding:10px;margin:0;font-family:"Courier New",monospace;font-size:14px;background:#fff;color:#000;}.fr-box.fr-rtl textarea.fr-code{direction:rtl}.fr-box .CodeMirror{display:none}.fr-box.fr-code-view textarea.fr-code{display:block}.fr-box.fr-code-view.fr-inline{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.fr-box.fr-code-view .fr-element,.fr-box.fr-code-view .fr-placeholder,.fr-box.fr-code-view .fr-iframe{display:none}.fr-box.fr-code-view .CodeMirror{display:block}.fr-box.fr-inline.fr-code-view .fr-command.fr-btn.html-switch{display:block}.fr-box.fr-inline .fr-command.fr-btn.html-switch{position:absolute;top:0;right:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);display:none;background:#fff;color:#222;border:0;line-height:1;cursor:pointer;text-align:left;padding:12px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;z-index:2;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-decoration:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-box.fr-inline .fr-command.fr-btn.html-switch i{font-size:14px;width:14px;text-align:center}.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover{background:#ebebeb}.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-popup .fr-colors-tabs{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);margin-bottom:5px;line-height:16px;margin-left:-2px;margin-right:-2px}.fr-popup .fr-colors-tabs .fr-colors-tab{display:inline-block;width:50%;cursor:pointer;text-align:center;color:#222;font-size:13px;padding:8px 0;position:relative}.fr-popup .fr-colors-tabs .fr-colors-tab:hover,.fr-popup .fr-colors-tabs .fr-colors-tab:focus{color:#1e88e5}.fr-popup .fr-colors-tabs .fr-colors-tab[data-param1=background]::after{position:absolute;bottom:0;left:0;width:100%;height:2px;background:#1e88e5;content:'';-webkit-transition:transform .2s ease 0s;-moz-transition:transform .2s ease 0s;-ms-transition:transform .2s ease 0s;-o-transition:transform .2s ease 0s}.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab{color:#1e88e5}.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab[data-param1=text]~[data-param1=background]::after{-webkit-transform:translate3d(-100%,0,0);-moz-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);-o-transform:translate3d(-100%,0,0)}.fr-popup .fr-color-hex-layer{width:100%;margin:0;padding:10px}.fr-popup .fr-color-hex-layer .fr-input-line{float:left;width:calc(100% - 50px);padding:8px 0 0}.fr-popup .fr-color-hex-layer .fr-action-buttons{float:right;width:50px}.fr-popup .fr-color-hex-layer .fr-action-buttons button{background-color:#1e88e5;color:#FFF;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;font-size:13px;height:32px}.fr-popup .fr-color-hex-layer .fr-action-buttons button:hover{background-color:#166dba;color:#FFF}.fr-popup .fr-separator+.fr-colors-tabs{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;margin-left:2px;margin-right:2px}.fr-popup .fr-color-set{line-height:0;display:none}.fr-popup .fr-color-set.fr-selected-set{display:block}.fr-popup .fr-color-set>span{display:inline-block;width:32px;height:32px;position:relative;z-index:1}.fr-popup .fr-color-set>span>i,.fr-popup .fr-color-set>span>svg{text-align:center;line-height:32px;height:32px;width:32px;font-size:13px;position:absolute;bottom:0;cursor:default;left:0}.fr-popup .fr-color-set>span .fr-selected-color{color:#fff;font-family:FontAwesome;font-size:13px;font-weight:400;line-height:32px;position:absolute;top:0;bottom:0;right:0;left:0;text-align:center;cursor:default}.fr-popup .fr-color-set>span:hover,.fr-popup .fr-color-set>span:focus{z-index:2}.fr-rtl .fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab[data-param1=text]~[data-param1=background]::after{-webkit-transform:translate3d(100%,0,0);-moz-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);-o-transform:translate3d(100%,0,0)}.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-drag-helper{background:#1e88e5;height:2px;margin-top:-1px;-webkit-opacity:.2;-moz-opacity:.2;opacity:.2;-ms-filter:"alpha(Opacity=0)";position:absolute;z-index:2147483640;display:none}.fr-drag-helper.fr-visible{display:block}.fr-dragging{-webkit-opacity:.4;-moz-opacity:.4;opacity:.4;-ms-filter:"alpha(Opacity=0)"}.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-popup .fr-emoticon{display:inline-block;font-size:20px;width:20px;padding:5px;line-height:1;cursor:default;font-weight:400;font-family:"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fr-popup .fr-emoticon img{height:20px}.fr-popup .fr-link:focus{background:#ebebeb}.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-popup .fr-file-upload-layer{border:dashed 2px #bdbdbd;padding:25px 0;position:relative;font-size:14px;letter-spacing:1px;line-height:140%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;text-align:center}.fr-popup .fr-file-upload-layer:hover{background:#ebebeb}.fr-popup .fr-file-upload-layer.fr-drop{background:#ebebeb;border-color:#1e88e5}.fr-popup .fr-file-upload-layer .fr-form{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";position:absolute;top:0;bottom:0;left:0;right:0;z-index:2147483640;overflow:hidden;margin:0!important;padding:0!important;width:100%!important}.fr-popup .fr-file-upload-layer .fr-form input{cursor:pointer;position:absolute;right:0;top:0;bottom:0;width:500%;height:100%;margin:0;font-size:400px}.fr-popup .fr-file-progress-bar-layer{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fr-popup .fr-file-progress-bar-layer>h3{font-size:16px;margin:10px 0;font-weight:400}.fr-popup .fr-file-progress-bar-layer>div.fr-action-buttons{display:none}.fr-popup .fr-file-progress-bar-layer>div.fr-loader{background:#bcdbf7;height:10px;width:100%;margin-top:20px;overflow:hidden;position:relative}.fr-popup .fr-file-progress-bar-layer>div.fr-loader span{display:block;height:100%;width:0;background:#1e88e5;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.fr-popup .fr-file-progress-bar-layer>div.fr-loader.fr-indeterminate span{width:30%!important;position:absolute;top:0;-webkit-animation:loading 2s linear infinite;-moz-animation:loading 2s linear infinite;-o-animation:loading 2s linear infinite;animation:loading 2s linear infinite}.fr-popup .fr-file-progress-bar-layer.fr-error>div.fr-loader{display:none}.fr-popup .fr-file-progress-bar-layer.fr-error>div.fr-action-buttons{display:block}@keyframes loading{from{left:-25%}to{left:100%}}@-webkit-keyframes loading{from{left:-25%}to{left:100%}}@-moz-keyframes loading{from{left:-25%}to{left:100%}}@-o-keyframes loading{from{left:-25%}to{left:100%}}body.fr-fullscreen{overflow:hidden;height:100%;width:100%;position:fixed}.fr-box.fr-fullscreen{margin:0!important;position:fixed;top:0;left:0;bottom:0;right:0;z-index:2147483630!important;width:auto!important}.fr-box.fr-fullscreen .fr-toolbar.fr-top{top:0!important}.fr-box.fr-fullscreen .fr-toolbar.fr-bottom{bottom:0!important}.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal{text-align:left;padding:20px 20px 10px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table{border-collapse:collapse;font-size:14px;line-height:1.5;width:100%}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table+table{margin-top:20px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tr{border:0}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table th,.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table td{padding:6px 0 4px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody tr{border-bottom:solid 1px #ebebeb}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:first-child{width:60%;color:#646464}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:nth-child(n+2){letter-spacing:.5px}.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-element img{cursor:pointer}.fr-image-resizer{position:absolute;border:solid 1px #1e88e5;display:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;z-index:2}.fr-image-resizer.fr-active{display:block}.fr-image-resizer .fr-handler{display:block;position:absolute;background:#1e88e5;border:solid 1px #fff;z-index:4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fr-image-resizer .fr-handler.fr-hnw{cursor:nw-resize}.fr-image-resizer .fr-handler.fr-hne{cursor:ne-resize}.fr-image-resizer .fr-handler.fr-hsw{cursor:sw-resize}.fr-image-resizer .fr-handler.fr-hse{cursor:se-resize}.fr-image-resizer .fr-handler{width:12px;height:12px}.fr-image-resizer .fr-handler.fr-hnw{left:-6px;top:-6px}.fr-image-resizer .fr-handler.fr-hne{right:-6px;top:-6px}.fr-image-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px}.fr-image-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px}@media (min-width:1200px){.fr-image-resizer .fr-handler{width:10px;height:10px}.fr-image-resizer .fr-handler.fr-hnw{left:-5px;top:-5px}.fr-image-resizer .fr-handler.fr-hne{right:-5px;top:-5px}.fr-image-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px}.fr-image-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px}}.fr-image-overlay{position:fixed;top:0;left:0;bottom:0;right:0;z-index:2147483640;display:none}.fr-popup .fr-image-upload-layer{border:dashed 2px #bdbdbd;padding:25px 0;position:relative;font-size:14px;letter-spacing:1px;line-height:140%;text-align:center}.fr-popup .fr-image-upload-layer:hover{background:#ebebeb}.fr-popup .fr-image-upload-layer.fr-drop{background:#ebebeb;border-color:#1e88e5}.fr-popup .fr-image-upload-layer .fr-form{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";position:absolute;top:0;bottom:0;left:0;right:0;z-index:2147483640;overflow:hidden;margin:0!important;padding:0!important;width:100%!important}.fr-popup .fr-image-upload-layer .fr-form input{cursor:pointer;position:absolute;right:0;top:0;bottom:0;width:500%;height:100%;margin:0;font-size:400px}.fr-popup .fr-image-progress-bar-layer>h3{font-size:16px;margin:10px 0;font-weight:400}.fr-popup .fr-image-progress-bar-layer>div.fr-action-buttons{display:none}.fr-popup .fr-image-progress-bar-layer>div.fr-loader{background:#bcdbf7;height:10px;width:100%;margin-top:20px;overflow:hidden;position:relative}.fr-popup .fr-image-progress-bar-layer>div.fr-loader span{display:block;height:100%;width:0;background:#1e88e5;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.fr-popup .fr-image-progress-bar-layer>div.fr-loader.fr-indeterminate span{width:30%!important;position:absolute;top:0;-webkit-animation:loading 2s linear infinite;-moz-animation:loading 2s linear infinite;-o-animation:loading 2s linear infinite;animation:loading 2s linear infinite}.fr-popup .fr-image-progress-bar-layer.fr-error>div.fr-loader{display:none}.fr-popup .fr-image-progress-bar-layer.fr-error>div.fr-action-buttons{display:block}.fr-image-size-layer .fr-image-group .fr-input-line{width:calc(50% - 5px);display:inline-block}.fr-image-size-layer .fr-image-group .fr-input-line+.fr-input-line{margin-left:10px}.fr-uploading{-webkit-opacity:.4;-moz-opacity:.4;opacity:.4;-ms-filter:"alpha(Opacity=0)"}@keyframes loading{from{left:-25%}to{left:100%}}@-webkit-keyframes loading{from{left:-25%}to{left:100%}}@-moz-keyframes loading{from{left:-25%}to{left:100%}}@-o-keyframes loading{from{left:-25%}to{left:100%}}.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-modal-head .fr-modal-head-line::after{clear:both;display:block;content:"";height:0}.fr-modal-head .fr-modal-head-line i.fr-modal-more{float:left;opacity:1;-webkit-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-moz-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-ms-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-o-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;padding:12px}.fr-modal-head .fr-modal-head-line i.fr-modal-more.fr-not-available{opacity:0;width:0;padding:12px 0}.fr-modal-head .fr-modal-tags{display:none;text-align:left}.fr-modal-head .fr-modal-tags a{display:inline-block;opacity:0;padding:6px 8px;margin:8px 0 8px 8px;text-decoration:none;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;color:#1e88e5;-webkit-transition:opacity .2s ease 0s,background .2s ease 0s;-moz-transition:opacity .2s ease 0s,background .2s ease 0s;-ms-transition:opacity .2s ease 0s,background .2s ease 0s;-o-transition:opacity .2s ease 0s,background .2s ease 0s;cursor:pointer}.fr-modal-head .fr-modal-tags a:focus{}.fr-modal-head .fr-modal-tags a.fr-selected-tag{background:#d6d6d6}div.fr-modal-body .fr-preloader{display:block;margin:50px auto}div.fr-modal-body div.fr-image-list{text-align:center;margin:0 10px;padding:0}div.fr-modal-body div.fr-image-list::after{clear:both;display:block;content:"";height:0}div.fr-modal-body div.fr-image-list .fr-list-column{float:left;width:calc((100% - 10px) / 2)}@media (min-width:768px) and (max-width:1199px){div.fr-modal-body div.fr-image-list .fr-list-column{width:calc((100% - 20px) / 3)}}@media (min-width:1200px){div.fr-modal-body div.fr-image-list .fr-list-column{width:calc((100% - 30px) / 4)}}div.fr-modal-body div.fr-image-list .fr-list-column+.fr-list-column{margin-left:10px}div.fr-modal-body div.fr-image-list div.fr-image-container{position:relative;width:100%;display:block;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;overflow:hidden}div.fr-modal-body div.fr-image-list div.fr-image-container:first-child{margin-top:10px}div.fr-modal-body div.fr-image-list div.fr-image-container+div{margin-top:10px}div.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::after{position:absolute;-webkit-opacity:.5;-moz-opacity:.5;opacity:.5;-ms-filter:"alpha(Opacity=0)";-webkit-transition:opacity .2s ease 0s;-moz-transition:opacity .2s ease 0s;-ms-transition:opacity .2s ease 0s;-o-transition:opacity .2s ease 0s;background:#000;content:"";top:0;left:0;bottom:0;right:0;z-index:2}div.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::before{content:attr(data-deleting);color:#fff;top:0;left:0;bottom:0;right:0;margin:auto;position:absolute;z-index:3;font-size:15px;height:20px}div.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty{height:95px;background:#ccc;z-index:1}div.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty::after{position:absolute;margin:auto;top:0;bottom:0;left:0;right:0;content:attr(data-loading);display:inline-block;height:20px}div.fr-modal-body div.fr-image-list div.fr-image-container img{width:100%;vertical-align:middle;position:relative;z-index:2;-webkit-opacity:1;-moz-opacity:1;opacity:1;-ms-filter:"alpha(Opacity=0)";-webkit-transition:opacity .2s ease 0s,filter .2s ease 0s;-moz-transition:opacity .2s ease 0s,filter .2s ease 0s;-ms-transition:opacity .2s ease 0s,filter .2s ease 0s;-o-transition:opacity .2s ease 0s,filter .2s ease 0s;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0)}div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected img{-webkit-opacity:.75;-moz-opacity:.75;opacity:.75;-ms-filter:"alpha(Opacity=0)"}div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected .fr-delete-img,div.fr-modal-body div.fr-image-list div.fr-image-container.fr-mobile-selected .fr-insert-img{display:inline-block}div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img,div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img{display:none;top:50%;border-radius:100%;-moz-border-radius:100%;-webkit-border-radius:100%;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-transition:background .2s ease 0s,color .2s ease 0s;-moz-transition:background .2s ease 0s,color .2s ease 0s;-ms-transition:background .2s ease 0s,color .2s ease 0s;-o-transition:background .2s ease 0s,color .2s ease 0s;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);position:absolute;cursor:pointer;margin:0;width:36px;height:36px;line-height:36px;text-decoration:none;z-index:3}div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img{background:#b8312f;color:#fff;left:50%;-webkit-transform:translateY(-50%) translateX(25%);-moz-transform:translateY(-50%) translateX(25%);-ms-transform:translateY(-50%) translateX(25%);-o-transform:translateY(-50%) translateX(25%)}div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img{background:#fff;color:#1e88e5;left:50%;-webkit-transform:translateY(-50%) translateX(-125%);-moz-transform:translateY(-50%) translateX(-125%);-ms-transform:translateY(-50%) translateX(-125%);-o-transform:translateY(-50%) translateX(-125%)}.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a:hover{background:#ebebeb}.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a.fr-selected-tag{background:#d6d6d6}.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover img{-webkit-opacity:.75;-moz-opacity:.75;opacity:.75;-ms-filter:"alpha(Opacity=0)"}.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover .fr-delete-img,.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container:hover .fr-insert-img{display:inline-block}.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img:hover{background:#bf4644;color:#fff}.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img:hover{background:#ebebeb}.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-line-breaker{cursor:text;border-top:1px solid #1e88e5;position:fixed;z-index:2;display:none}.fr-line-breaker.fr-visible{display:block}.fr-line-breaker a.fr-floating-btn{position:absolute;left:calc(50% - (32px / 2));top:-16px}.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-quick-insert{position:absolute;z-index:2147483639;white-space:nowrap;padding-right:5px;margin-left:-5px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fr-quick-insert.fr-on a.fr-floating-btn svg{-webkit-transform:rotate(135deg);-moz-transform:rotate(135deg);-ms-transform:rotate(135deg);-o-transform:rotate(135deg)}.fr-quick-insert.fr-hidden{display:none}.fr-qi-helper{position:absolute;z-index:3;padding-left:16px;white-space:nowrap}.fr-qi-helper a.fr-btn.fr-floating-btn{text-align:center;display:inline-block;color:#222;-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0)}.fr-qi-helper a.fr-btn.fr-floating-btn.fr-size-1{-webkit-opacity:1;-moz-opacity:1;opacity:1;-ms-filter:"alpha(Opacity=0)";-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1)}.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal{text-align:left;padding:20px 20px 10px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-characters-list{margin-bottom:20px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-characters-title{font-weight:700;font-size:14px;padding:6px 0 4px;margin:0 0 5px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-character{display:inline-block;font-size:16px;width:20px;height:20px;padding:5px;line-height:20px;cursor:default;font-weight:400;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;text-align:center;border:1px solid #ccc;margin:-1px 0 0 -1px}.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-element table td.fr-selected-cell,.fr-element table th.fr-selected-cell{border:1px double #1e88e5}.fr-element table tr{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-element table td,.fr-element table th{user-select:text;-o-user-select:text;-moz-user-select:text;-khtml-user-select:text;-webkit-user-select:text;-ms-user-select:text}.fr-element .fr-no-selection table td,.fr-element .fr-no-selection table th{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-table-resizer{cursor:col-resize;position:absolute;z-index:3;display:none}.fr-table-resizer.fr-moving{z-index:2}.fr-table-resizer div{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";border-right:1px solid #1e88e5}.fr-no-selection{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-popup .fr-table-colors-hex-layer{width:100%;margin:0;padding:10px}.fr-popup .fr-table-colors-hex-layer .fr-input-line{float:left;width:calc(100% - 50px);padding:8px 0 0}.fr-popup .fr-table-colors-hex-layer .fr-action-buttons{float:right;width:50px}.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button{background-color:#1e88e5;color:#FFF;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;font-size:13px;height:32px}.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button:hover{background-color:#166dba;color:#FFF}.fr-popup .fr-table-size .fr-table-size-info{text-align:center;font-size:14px;padding:8px}.fr-popup .fr-table-size .fr-select-table-size{line-height:0;padding:0 5px 5px;white-space:nowrap}.fr-popup .fr-table-size .fr-select-table-size>span{display:inline-block;padding:0 4px 4px 0;background:0 0}.fr-popup .fr-table-size .fr-select-table-size>span>span{display:inline-block;width:18px;height:18px;border:1px solid #ddd}.fr-popup .fr-table-size .fr-select-table-size>span.hover{background:0 0}.fr-popup .fr-table-size .fr-select-table-size>span.hover>span{background:rgba(30,136,229,.3);border:solid 1px #1e88e5}.fr-popup .fr-table-size .fr-select-table-size .new-line::after{clear:both;display:block;content:"";height:0}.fr-popup.fr-above .fr-table-size .fr-select-table-size>span{display:inline-block!important}.fr-popup .fr-table-colors-buttons{margin-bottom:5px}.fr-popup .fr-table-colors{line-height:0;display:block}.fr-popup .fr-table-colors>span{display:inline-block;width:32px;height:32px;position:relative;z-index:1}.fr-popup .fr-table-colors>span>i{text-align:center;line-height:32px;height:32px;width:32px;font-size:13px;position:absolute;bottom:0;cursor:default;left:0}.fr-popup .fr-table-colors>span:focus{z-index:2}.fr-popup.fr-desktop .fr-table-size .fr-select-table-size>span>span{width:12px;height:12px}.fr-insert-helper{position:absolute;z-index:9999;white-space:nowrap}.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-element .fr-video{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-element .fr-video::after{position:absolute;content:'';z-index:1;top:0;left:0;right:0;bottom:0;cursor:pointer;display:block;background:rgba(0,0,0,0)}.fr-element .fr-video.fr-active>*{z-index:2;position:relative}.fr-element .fr-video>*{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;max-width:100%;border:0}.fr-box .fr-video-resizer{position:absolute;border:solid 1px #1e88e5;display:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-box .fr-video-resizer.fr-active{display:block}.fr-box .fr-video-resizer .fr-handler{display:block;position:absolute;background:#1e88e5;border:solid 1px #fff;z-index:4;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fr-box .fr-video-resizer .fr-handler.fr-hnw{cursor:nw-resize}.fr-box .fr-video-resizer .fr-handler.fr-hne{cursor:ne-resize}.fr-box .fr-video-resizer .fr-handler.fr-hsw{cursor:sw-resize}.fr-box .fr-video-resizer .fr-handler.fr-hse{cursor:se-resize}.fr-box .fr-video-resizer .fr-handler{width:12px;height:12px}.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-6px;top:-6px}.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-6px;top:-6px}.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px}.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px}@media (min-width:1200px){.fr-box .fr-video-resizer .fr-handler{width:10px;height:10px}.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-5px;top:-5px}.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-5px;top:-5px}.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px}.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px}}.fr-popup .fr-video-size-layer .fr-video-group .fr-input-line{width:calc(50% - 5px);display:inline-block}.fr-popup .fr-video-size-layer .fr-video-group .fr-input-line+.fr-input-line{margin-left:10px}.fr-popup .fr-video-upload-layer{border:dashed 2px #bdbdbd;padding:25px 0;position:relative;font-size:14px;letter-spacing:1px;line-height:140%;text-align:center}.fr-popup .fr-video-upload-layer:hover{background:#ebebeb}.fr-popup .fr-video-upload-layer.fr-drop{background:#ebebeb;border-color:#1e88e5}.fr-popup .fr-video-upload-layer .fr-form{-webkit-opacity:0;-moz-opacity:0;opacity:0;-ms-filter:"alpha(Opacity=0)";position:absolute;top:0;bottom:0;left:0;right:0;z-index:2147483640;overflow:hidden;margin:0!important;padding:0!important;width:100%!important}.fr-popup .fr-video-upload-layer .fr-form input{cursor:pointer;position:absolute;right:0;top:0;bottom:0;width:500%;height:100%;margin:0;font-size:400px}.fr-popup .fr-video-progress-bar-layer>h3{font-size:16px;margin:10px 0;font-weight:400}.fr-popup .fr-video-progress-bar-layer>div.fr-action-buttons{display:none}.fr-popup .fr-video-progress-bar-layer>div.fr-loader{background:#bcdbf7;height:10px;width:100%;margin-top:20px;overflow:hidden;position:relative}.fr-popup .fr-video-progress-bar-layer>div.fr-loader span{display:block;height:100%;width:0;background:#1e88e5;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.fr-popup .fr-video-progress-bar-layer>div.fr-loader.fr-indeterminate span{width:30%!important;position:absolute;top:0;-webkit-animation:loading 2s linear infinite;-moz-animation:loading 2s linear infinite;-o-animation:loading 2s linear infinite;animation:loading 2s linear infinite}.fr-popup .fr-video-progress-bar-layer.fr-error>div.fr-loader{display:none}.fr-popup .fr-video-progress-bar-layer.fr-error>div.fr-action-buttons{display:block}.fr-video-overlay{position:fixed;top:0;left:0;bottom:0;right:0;z-index:2147483640;display:none} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/froala_editor.pkgd.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/froala_style.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/froala_style.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/froala_style.css (revision 7) @@ -0,0 +1,454 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +img.fr-rounded, +.fr-img-caption.fr-rounded img { + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +img.fr-bordered, +.fr-img-caption.fr-bordered img { + border: solid 5px #CCC; +} +img.fr-bordered { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +.fr-img-caption.fr-bordered img { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +img.fr-shadow, +.fr-img-caption.fr-shadow img { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.fr-view { + word-wrap: break-word; +} +.fr-view span[style~="color:"] a { + color: inherit; +} +.fr-view strong { + font-weight: 700; +} +.fr-view table { + border: none; + border-collapse: collapse; + empty-cells: show; + max-width: 100%; +} +.fr-view table td { + min-width: 5px; +} +.fr-view table.fr-dashed-borders td, +.fr-view table.fr-dashed-borders th { + border-style: dashed; +} +.fr-view table.fr-alternate-rows tbody tr:nth-child(2n) { + background: #f5f5f5; +} +.fr-view table td, +.fr-view table th { + border: 1px solid #dddddd; +} +.fr-view table td:empty, +.fr-view table th:empty { + height: 20px; +} +.fr-view table td.fr-highlighted, +.fr-view table th.fr-highlighted { + border: 1px double red; +} +.fr-view table td.fr-thick, +.fr-view table th.fr-thick { + border-width: 2px; +} +.fr-view table th { + background: #e6e6e6; +} +.fr-view hr { + clear: both; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + page-break-after: always; +} +.fr-view .fr-file { + position: relative; +} +.fr-view .fr-file::after { + position: relative; + content: "\1F4CE"; + font-weight: normal; +} +.fr-view pre { + white-space: pre-wrap; + word-wrap: break-word; + overflow: visible; +} +.fr-view[dir="rtl"] blockquote { + border-left: none; + border-right: solid 2px #5e35b1; + margin-right: 0; + padding-right: 5px; + padding-left: 0px; +} +.fr-view[dir="rtl"] blockquote blockquote { + border-color: #00bcd4; +} +.fr-view[dir="rtl"] blockquote blockquote blockquote { + border-color: #43a047; +} +.fr-view blockquote { + border-left: solid 2px #5e35b1; + margin-left: 0; + padding-left: 5px; + color: #5e35b1; +} +.fr-view blockquote blockquote { + border-color: #00bcd4; + color: #00bcd4; +} +.fr-view blockquote blockquote blockquote { + border-color: #43a047; + color: #43a047; +} +.fr-view span.fr-emoticon { + font-weight: normal; + font-family: "Apple Color Emoji", "Segoe UI Emoji", "NotoColorEmoji", "Segoe UI Symbol", "Android Emoji", "EmojiSymbols"; + display: inline; + line-height: 0; +} +.fr-view span.fr-emoticon.fr-emoticon-img { + background-repeat: no-repeat !important; + font-size: inherit; + height: 1em; + width: 1em; + min-height: 20px; + min-width: 20px; + display: inline-block; + margin: -0.1em 0.1em 0.1em; + line-height: 1; + vertical-align: middle; +} +.fr-view .fr-text-gray { + color: #AAA !important; +} +.fr-view .fr-text-bordered { + border-top: solid 1px #222; + border-bottom: solid 1px #222; + padding: 10px 0; +} +.fr-view .fr-text-spaced { + letter-spacing: 1px; +} +.fr-view .fr-text-uppercase { + text-transform: uppercase; +} +.fr-view .fr-class-highlighted { + background-color: #ffff00; +} +.fr-view .fr-class-code { + border-color: #cccccc; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + background: #f5f5f5; + padding: 10px; + font-family: "Courier New", Courier, monospace; +} +.fr-view .fr-class-transparency { + opacity: 0.5; +} +.fr-view img { + position: relative; + max-width: 100%; +} +.fr-view img.fr-dib { + margin: 5px auto; + display: block; + float: none; + vertical-align: top; +} +.fr-view img.fr-dib.fr-fil { + margin-left: 0; + text-align: left; +} +.fr-view img.fr-dib.fr-fir { + margin-right: 0; + text-align: right; +} +.fr-view img.fr-dii { + display: inline-block; + float: none; + vertical-align: bottom; + margin-left: 5px; + margin-right: 5px; + max-width: calc(100% - (2 * 5px)); +} +.fr-view img.fr-dii.fr-fil { + float: left; + margin: 5px 5px 5px 0; + max-width: calc(100% - 5px); +} +.fr-view img.fr-dii.fr-fir { + float: right; + margin: 5px 0 5px 5px; + max-width: calc(100% - 5px); +} +.fr-view span.fr-img-caption { + position: relative; + max-width: 100%; +} +.fr-view span.fr-img-caption.fr-dib { + margin: 5px auto; + display: block; + float: none; + vertical-align: top; +} +.fr-view span.fr-img-caption.fr-dib.fr-fil { + margin-left: 0; + text-align: left; +} +.fr-view span.fr-img-caption.fr-dib.fr-fir { + margin-right: 0; + text-align: right; +} +.fr-view span.fr-img-caption.fr-dii { + display: inline-block; + float: none; + vertical-align: bottom; + margin-left: 5px; + margin-right: 5px; + max-width: calc(100% - (2 * 5px)); +} +.fr-view span.fr-img-caption.fr-dii.fr-fil { + float: left; + margin: 5px 5px 5px 0; + max-width: calc(100% - 5px); +} +.fr-view span.fr-img-caption.fr-dii.fr-fir { + float: right; + margin: 5px 0 5px 5px; + max-width: calc(100% - 5px); +} +.fr-view .fr-video { + text-align: center; + position: relative; +} +.fr-view .fr-video.fr-rv { + padding-bottom: 56.25%; + padding-top: 30px; + height: 0; + overflow: hidden; +} +.fr-view .fr-video.fr-rv > iframe, +.fr-view .fr-video.fr-rv object, +.fr-view .fr-video.fr-rv embed { + position: absolute !important; + top: 0; + left: 0; + width: 100%; + height: 100%; +} +.fr-view .fr-video > * { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + max-width: 100%; + border: none; +} +.fr-view .fr-video.fr-dvb { + display: block; + clear: both; +} +.fr-view .fr-video.fr-dvb.fr-fvl { + text-align: left; +} +.fr-view .fr-video.fr-dvb.fr-fvr { + text-align: right; +} +.fr-view .fr-video.fr-dvi { + display: inline-block; +} +.fr-view .fr-video.fr-dvi.fr-fvl { + float: left; +} +.fr-view .fr-video.fr-dvi.fr-fvr { + float: right; +} +.fr-view a.fr-strong { + font-weight: 700; +} +.fr-view a.fr-green { + color: green; +} +.fr-view .fr-img-caption { + text-align: center; +} +.fr-view .fr-img-caption .fr-img-wrap { + padding: 0px; + display: inline-block; + margin: auto; + text-align: center; + width: 100%; +} +.fr-view .fr-img-caption .fr-img-wrap img { + display: block; + margin: auto; + width: 100%; +} +.fr-view .fr-img-caption .fr-img-wrap > span { + margin: auto; + display: block; + padding: 5px 5px 10px; + font-size: 14px; + font-weight: initial; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-opacity: 0.9; + -moz-opacity: 0.9; + opacity: 0.9; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + width: 100%; + text-align: center; +} +.fr-view button.fr-rounded, +.fr-view input.fr-rounded, +.fr-view textarea.fr-rounded { + border-radius: 10px; + -moz-border-radius: 10px; + -webkit-border-radius: 10px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.fr-view button.fr-large, +.fr-view input.fr-large, +.fr-view textarea.fr-large { + font-size: 24px; +} +/** + * Image style. + */ +a.fr-view.fr-strong { + font-weight: 700; +} +a.fr-view.fr-green { + color: green; +} +/** + * Link style. + */ +img.fr-view { + position: relative; + max-width: 100%; +} +img.fr-view.fr-dib { + margin: 5px auto; + display: block; + float: none; + vertical-align: top; +} +img.fr-view.fr-dib.fr-fil { + margin-left: 0; + text-align: left; +} +img.fr-view.fr-dib.fr-fir { + margin-right: 0; + text-align: right; +} +img.fr-view.fr-dii { + display: inline-block; + float: none; + vertical-align: bottom; + margin-left: 5px; + margin-right: 5px; + max-width: calc(100% - (2 * 5px)); +} +img.fr-view.fr-dii.fr-fil { + float: left; + margin: 5px 5px 5px 0; + max-width: calc(100% - 5px); +} +img.fr-view.fr-dii.fr-fir { + float: right; + margin: 5px 0 5px 5px; + max-width: calc(100% - 5px); +} +span.fr-img-caption.fr-view { + position: relative; + max-width: 100%; +} +span.fr-img-caption.fr-view.fr-dib { + margin: 5px auto; + display: block; + float: none; + vertical-align: top; +} +span.fr-img-caption.fr-view.fr-dib.fr-fil { + margin-left: 0; + text-align: left; +} +span.fr-img-caption.fr-view.fr-dib.fr-fir { + margin-right: 0; + text-align: right; +} +span.fr-img-caption.fr-view.fr-dii { + display: inline-block; + float: none; + vertical-align: bottom; + margin-left: 5px; + margin-right: 5px; + max-width: calc(100% - (2 * 5px)); +} +span.fr-img-caption.fr-view.fr-dii.fr-fil { + float: left; + margin: 5px 5px 5px 0; + max-width: calc(100% - 5px); +} +span.fr-img-caption.fr-view.fr-dii.fr-fir { + float: right; + margin: 5px 0 5px 5px; + max-width: calc(100% - 5px); +} +/*에디터 파일첨부*/ +.fr-file { margin:2px; padding:7px 35px 7px 13px; font-size:0.9em; max-width:200px; overflow:hidden; display:inline-block; text-overflow:ellipsis; white-space:nowrap; border:1px solid #ccc; position:relative; border-radius:5px; transition:all 0.3s; } +.fr-file::after { content:'' !important; position:absolute !important; top:8px; right:8px; display:inline-block; width:20px; height:20px; background: url(../../../images/custom/icon_filedown.svg) 50% 50% no-repeat; background-size:15px; } +.fr-file:hover { border:1px solid #999; box-shadow:0 0 5px 0 rgba(0,0,0,0.1); } +.fr-element .fr-file { padding:7px 13px 7px 35px; background:#f9f9f9; } +.fr-element .fr-file::after { left:8px; right:auto; background: url(../../../images/custom/file.svg) 50% 50% no-repeat; background-size:13px; } \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/froala_style.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/themes/royal.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/themes/royal.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/themes/royal.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.royal-theme.fr-box.fr-basic .fr-element{color:#000;padding:16px;overflow-x:auto;min-height:52px}.royal-theme .fr-element{-webkit-user-select:auto}.royal-theme.fr-box a.fr-floating-btn{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);height:32px;width:32px;background:#fff;color:#553982;-webkit-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-moz-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-ms-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-o-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;left:0;top:0;line-height:32px;border:0}.royal-theme.fr-box a.fr-floating-btn svg{-webkit-transition:transform .2s ease 0s;-moz-transition:transform .2s ease 0s;-ms-transition:transform .2s ease 0s;-o-transition:transform .2s ease 0s;fill:#553982}.royal-theme.fr-box a.fr-floating-btn i,.royal-theme.fr-box a.fr-floating-btn svg{font-size:14px;line-height:32px}.royal-theme.fr-box a.fr-floating-btn:hover{background:#9365b8}.royal-theme.fr-box a.fr-floating-btn:hover svg{fill:#fff}.royal-theme .fr-wrapper .fr-placeholder{font-size:12px;color:#aaa;top:0;left:0;right:0}.royal-theme .fr-wrapper ::-moz-selection{background:#b5d6fd;color:#000}.royal-theme .fr-wrapper ::selection{background:#b5d6fd;color:#000}.royal-theme.fr-box.fr-basic .fr-wrapper{background:#fff;border:0;border-top:0;top:0;left:0}.royal-theme.fr-box.fr-basic.fr-top .fr-wrapper{border-top:0;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.royal-theme.fr-box.fr-basic.fr-bottom .fr-wrapper{border-bottom:0;border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16)}@media (min-width:992px){.royal-theme .fr-box.fr-document .fr-wrapper .fr-element{margin:auto;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}}.royal-theme .fr-sticky-on.fr-sticky-ios{left:0;right:0}.royal-theme.fr-box .fr-counter{color:#ccc;background:#fff;border-top:solid 1px #ebebeb;border-left:solid 1px #ebebeb;border-radius:2px 0 0;-moz-border-radius:2px 0 0;-webkit-border-radius:2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.royal-theme.fr-box.fr-rtl .fr-counter{right:auto;border-right:solid 1px #ebebeb;border-radius:0 2px 0 0;-moz-border-radius:0 2px 0 0;-webkit-border-radius:0 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.royal-theme textarea.fr-code{background:#fff;color:#000}.royal-theme.fr-box.fr-code-view.fr-inline{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.royal-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch{top:0;right:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);background:#fff;color:#553982;-moz-outline:0;outline:0;border:0;padding:12px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s}.royal-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch i{font-size:14px;width:14px}.royal-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover{background:#ebebeb}.royal-theme.fr-popup .fr-colors-tabs{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.royal-theme.fr-popup .fr-colors-tabs .fr-colors-tab{color:#553982;padding:8px 0}.royal-theme.fr-popup .fr-colors-tabs .fr-colors-tab:hover,.royal-theme.fr-popup .fr-colors-tabs .fr-colors-tab:focus{color:#553982}.royal-theme.fr-popup .fr-colors-tabs .fr-colors-tab[data-param1=background]::after{bottom:0;left:0;background:#553982;-webkit-transition:transform .2s ease 0s;-moz-transition:transform .2s ease 0s;-ms-transition:transform .2s ease 0s;-o-transition:transform .2s ease 0s}.royal-theme.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab{color:#553982}.royal-theme.fr-popup .fr-color-hex-layer .fr-input-line{padding:8px 0 0}.royal-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button{background-color:#553982;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.royal-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button:hover{background-color:#3e295f}.royal-theme.fr-popup .fr-color-set{line-height:0}.royal-theme.fr-popup .fr-color-set>span>i,.royal-theme.fr-popup .fr-color-set>span>svg{bottom:0;left:0}.royal-theme.fr-popup .fr-color-set>span .fr-selected-color{color:#fff;font-weight:400;top:0;bottom:0;right:0;left:0}.royal-theme.fr-popup .fr-color-set>span:hover,.royal-theme.fr-popup .fr-color-set>span:focus{outline:1px solid #553982}.royal-theme .fr-drag-helper{background:#553982;z-index:2147483640}.royal-theme.fr-popup .fr-link:focus{outline:0;background:#ebebeb}.royal-theme.fr-popup .fr-file-upload-layer{border:dashed 2px #b7bdc0;padding:25px 0}.royal-theme.fr-popup .fr-file-upload-layer:hover{background:#ebebeb}.royal-theme.fr-popup .fr-file-upload-layer.fr-drop{background:#ebebeb;border-color:#553982}.royal-theme.fr-popup .fr-file-upload-layer .fr-form{top:0;bottom:0;left:0;right:0;z-index:2147483640}.royal-theme.fr-popup .fr-file-progress-bar-layer>h3{margin:10px 0}.royal-theme.fr-popup .fr-file-progress-bar-layer>div.fr-loader{background:#ccc4da}.royal-theme.fr-popup .fr-file-progress-bar-layer>div.fr-loader span{background:#553982;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.royal-theme.fr-popup .fr-file-progress-bar-layer>div.fr-loader.fr-indeterminate span{top:0}.royal-theme.fr-box.fr-fullscreen{top:0;left:0;bottom:0;right:0}.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tr{border:0}.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody tr{border-bottom:solid 1px #ebebeb}.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:first-child{color:#8874a8}.royal-theme .fr-image-resizer{border:solid 1px #553982}.royal-theme .fr-image-resizer .fr-handler{background:#553982;border:solid 1px #fff}.royal-theme .fr-image-resizer .fr-handler{width:12px;height:12px}.royal-theme .fr-image-resizer .fr-handler.fr-hnw{left:-6px;top:-6px}.royal-theme .fr-image-resizer .fr-handler.fr-hne{right:-6px;top:-6px}.royal-theme .fr-image-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px}.royal-theme .fr-image-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px}@media (min-width:1200px){.royal-theme .fr-image-resizer .fr-handler{width:10px;height:10px}.royal-theme .fr-image-resizer .fr-handler.fr-hnw{left:-5px;top:-5px}.royal-theme .fr-image-resizer .fr-handler.fr-hne{right:-5px;top:-5px}.royal-theme .fr-image-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px}.royal-theme .fr-image-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px}}.royal-theme.fr-image-overlay{top:0;left:0;bottom:0;right:0;z-index:2147483640}.royal-theme.fr-popup .fr-image-upload-layer{border:dashed 2px #b7bdc0;padding:25px 0}.royal-theme.fr-popup .fr-image-upload-layer:hover{background:#ebebeb}.royal-theme.fr-popup .fr-image-upload-layer.fr-drop{background:#ebebeb;border-color:#553982}.royal-theme.fr-popup .fr-image-upload-layer .fr-form{top:0;bottom:0;left:0;right:0;z-index:2147483640}.royal-theme.fr-popup .fr-image-progress-bar-layer>h3{margin:10px 0}.royal-theme.fr-popup .fr-image-progress-bar-layer>div.fr-loader{background:#ccc4da}.royal-theme.fr-popup .fr-image-progress-bar-layer>div.fr-loader span{background:#553982;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.royal-theme.fr-popup .fr-image-progress-bar-layer>div.fr-loader.fr-indeterminate span{top:0}.royal-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more{-webkit-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-moz-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-ms-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-o-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s}.royal-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more.fr-not-available{opacity:0;width:0;padding:12px 0}.royal-theme.fr-modal-head .fr-modal-tags a{opacity:0;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;color:#553982;-webkit-transition:opacity .2s ease 0s,background .2s ease 0s;-moz-transition:opacity .2s ease 0s,background .2s ease 0s;-ms-transition:opacity .2s ease 0s,background .2s ease 0s;-o-transition:opacity .2s ease 0s,background .2s ease 0s}.royal-theme.fr-modal-head .fr-modal-tags a.fr-selected-tag{background:#d6d6d6}.royal-themediv.fr-modal-body .fr-preloader{margin:50px auto}.royal-themediv.fr-modal-body div.fr-image-list{padding:0}.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::after{-webkit-transition:opacity .2s ease 0s;-moz-transition:opacity .2s ease 0s;-ms-transition:opacity .2s ease 0s;-o-transition:opacity .2s ease 0s;background:#000;top:0;left:0;bottom:0;right:0}.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::before{color:#fff;top:0;left:0;bottom:0;right:0;margin:auto}.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty{background:#ccc}.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty::after{margin:auto;top:0;bottom:0;left:0;right:0}.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container img{-webkit-transition:opacity .2s ease 0s,filter .2s ease 0s;-moz-transition:opacity .2s ease 0s,filter .2s ease 0s;-ms-transition:opacity .2s ease 0s,filter .2s ease 0s;-o-transition:opacity .2s ease 0s,filter .2s ease 0s}.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img,.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img{-webkit-transition:background .2s ease 0s,color .2s ease 0s;-moz-transition:background .2s ease 0s,color .2s ease 0s;-ms-transition:background .2s ease 0s,color .2s ease 0s;-o-transition:background .2s ease 0s,color .2s ease 0s;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);margin:0}.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img{background:#b8312f;color:#fff}.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img{background:#fff;color:#553982}.royal-theme.royal-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a:hover{background:#ebebeb}.royal-theme.royal-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a.fr-selected-tag{background:#d6d6d6}.royal-theme.royal-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img:hover{background:#bf4644;color:#fff}.royal-theme.royal-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img:hover{background:#ebebeb}.royal-theme .fr-line-breaker{border-top:1px solid #553982}.royal-theme .fr-line-breaker a.fr-floating-btn{left:calc(50% - (32px / 2));top:-16px}.royal-theme .fr-qi-helper{padding-left:16px}.royal-theme .fr-qi-helper a.fr-btn.fr-floating-btn{color:#553982}.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-character{border:1px solid #ccc}.royal-theme .fr-element table td.fr-selected-cell,.royal-theme .fr-element table th.fr-selected-cell{border:1px double #553982}.royal-theme .fr-table-resizer div{border-right:1px solid #553982}.royal-theme.fr-popup .fr-table-colors-hex-layer .fr-input-line{padding:8px 0 0}.royal-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button{background-color:#553982;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.royal-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button:hover{background-color:#3e295f}.royal-theme.fr-popup .fr-table-size .fr-select-table-size{line-height:0}.royal-theme.fr-popup .fr-table-size .fr-select-table-size>span{padding:0 4px 4px 0}.royal-theme.fr-popup .fr-table-size .fr-select-table-size>span>span{border:1px solid #ddd}.royal-theme.fr-popup .fr-table-size .fr-select-table-size>span.hover>span{background:rgba(85,57,130,.3);border:solid 1px #553982}.royal-theme.fr-popup .fr-table-colors{line-height:0}.royal-theme.fr-popup .fr-table-colors>span>i{bottom:0;left:0}.royal-theme.fr-popup .fr-table-colors>span:focus{outline:1px solid #553982}.royal-theme .fr-element .fr-video::after{top:0;left:0;right:0;bottom:0}.royal-theme.fr-box .fr-video-resizer{border:solid 1px #553982}.royal-theme.fr-box .fr-video-resizer .fr-handler{background:#553982;border:solid 1px #fff}.royal-theme.fr-box .fr-video-resizer .fr-handler{width:12px;height:12px}.royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-6px;top:-6px}.royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-6px;top:-6px}.royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px}.royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px}@media (min-width:1200px){.royal-theme.fr-box .fr-video-resizer .fr-handler{width:10px;height:10px}.royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-5px;top:-5px}.royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-5px;top:-5px}.royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px}.royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px}}.royal-theme.fr-popup .fr-video-upload-layer{border:dashed 2px #b7bdc0;padding:25px 0}.royal-theme.fr-popup .fr-video-upload-layer:hover{background:#ebebeb}.royal-theme.fr-popup .fr-video-upload-layer.fr-drop{background:#ebebeb;border-color:#553982}.royal-theme.fr-popup .fr-video-upload-layer .fr-form{top:0;bottom:0;left:0;right:0;z-index:2147483640}.royal-theme.fr-popup .fr-video-progress-bar-layer>h3{margin:10px 0}.royal-theme.fr-popup .fr-video-progress-bar-layer>div.fr-loader{background:#ccc4da}.royal-theme.fr-popup .fr-video-progress-bar-layer>div.fr-loader span{background:#553982;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.royal-theme.fr-popup .fr-video-progress-bar-layer>div.fr-loader.fr-indeterminate span{top:0}.royal-theme.fr-video-overlay{top:0;left:0;bottom:0;right:0;z-index:2147483640}.royal-theme .fr-view span[style~="color:"] a{color:inherit}.royal-theme .fr-view strong{font-weight:700}.royal-theme .fr-view table.fr-alternate-rows tbody tr:nth-child(2n){background:#f5f5f5}.royal-theme .fr-view table td,.royal-theme .fr-view table th{border:1px solid #ddd}.royal-theme .fr-view table th{background:#e6e6e6}.royal-theme .fr-view[dir=rtl] blockquote{border-right:solid 2px #5e35b1;margin-right:0}.royal-theme .fr-view[dir=rtl] blockquote blockquote{border-color:#00bcd4}.royal-theme .fr-view[dir=rtl] blockquote blockquote blockquote{border-color:#43a047}.royal-theme .fr-view blockquote{border-left:solid 2px #5e35b1;margin-left:0;color:#5e35b1}.royal-theme .fr-view blockquote blockquote{border-color:#00bcd4;color:#00bcd4}.royal-theme .fr-view blockquote blockquote blockquote{border-color:#43a047;color:#43a047}.royal-theme .fr-view span.fr-emoticon{line-height:0}.royal-theme .fr-view span.fr-emoticon.fr-emoticon-img{font-size:inherit}.royal-theme .fr-view .fr-text-bordered{padding:10px 0}.royal-theme .fr-view .fr-class-highlighted{background-color:#ff0}.royal-theme .fr-view .fr-img-caption .fr-img-wrap{margin:auto}.royal-theme .fr-view .fr-img-caption .fr-img-wrap img{margin:auto}.royal-theme .fr-view .fr-img-caption .fr-img-wrap>span{margin:auto}.royal-theme .fr-element .fr-embedly::after{top:0;left:0;right:0;bottom:0}.royal-theme.fr-box .fr-embedly-resizer{border:solid 1px #553982}.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal .fr-font-awesome-title{border-bottom:solid 1px #f0f0f0}.royal-theme .tui-image-editor-container{top:0;left:0;bottom:0;right:0;z-index:10}.royal-theme .tui-editor-cancel-btn{background-color:#fff;border:1px solid #ccc}.royal-theme .tui-editor-save-btn{color:#fff}.royal-theme .examples-variante>a{font-size:14px;font-family:Arial,Helvetica,sans-serif}.royal-theme .sc-cm-holder>.sc-cm{border-top:5px solid #553982!important}.royal-theme .sc-cm__item_dropdown:hover>a,.royal-theme .sc-cm a:hover{background-color:#ebebeb!important}.royal-theme .sc-cm__item_active>a,.royal-theme .sc-cm__item_active>a:hover,.royal-theme .sc-cm a:active,.royal-theme .sc-cm a:focus{background-color:#d6d6d6!important}.royal-theme .sc-cm-holder>.sc-cm:before{background-color:#ebebeb!important}.royal-theme .fr-tooltip{top:0;left:0;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);background:#222;color:#fff;font-size:11px;line-height:22px;font-family:Arial,Helvetica,sans-serif;-webkit-transition:opacity .2s ease 0s;-moz-transition:opacity .2s ease 0s;-ms-transition:opacity .2s ease 0s;-o-transition:opacity .2s ease 0s}.royal-theme.fr-toolbar .fr-command.fr-btn,.royal-theme.fr-popup .fr-command.fr-btn{color:#553982;-moz-outline:0;outline:0;border:0;margin:0 2px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;padding:0;width:38px;height:38px}.royal-theme.fr-toolbar .fr-command.fr-btn::-moz-focus-inner,.royal-theme.fr-popup .fr-command.fr-btn::-moz-focus-inner{border:0}.royal-theme.fr-toolbar .fr-command.fr-btn.fr-btn-text,.royal-theme.fr-popup .fr-command.fr-btn.fr-btn-text{width:auto}.royal-theme.fr-toolbar .fr-command.fr-btn i,.royal-theme.fr-popup .fr-command.fr-btn i,.royal-theme.fr-toolbar .fr-command.fr-btn svg,.royal-theme.fr-popup .fr-command.fr-btn svg{font-size:14px;width:14px;margin:12px}.royal-theme.fr-toolbar .fr-command.fr-btn span,.royal-theme.fr-popup .fr-command.fr-btn span{font-size:14px;line-height:17px;min-width:34px;height:17px;padding:0 2px}.royal-theme.fr-toolbar .fr-command.fr-btn img,.royal-theme.fr-popup .fr-command.fr-btn img{margin:12px;width:14px}.royal-theme.fr-toolbar .fr-command.fr-btn.fr-active,.royal-theme.fr-popup .fr-command.fr-btn.fr-active{color:#fff;background:#9365b8}.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection,.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection{width:auto}.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown i,.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown i,.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown span,.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown span,.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown img,.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown img,.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown svg,.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown svg{margin-left:8px;margin-right:16px}.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active,.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active{color:#553982;background:#d6d6d6}.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover,.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover,.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus,.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus{background:#d6d6d6!important;color:#553982!important}.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover::after,.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover::after,.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus::after,.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus::after{border-top-color:#553982!important}.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown::after,.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown::after{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #553982;right:4px;top:17px}.royal-theme.fr-toolbar .fr-command.fr-btn.fr-disabled,.royal-theme.fr-popup .fr-command.fr-btn.fr-disabled{color:#b7bdc0}.royal-theme.fr-toolbar .fr-command.fr-btn.fr-disabled::after,.royal-theme.fr-popup .fr-command.fr-btn.fr-disabled::after{border-top-color:#b7bdc0!important}.royal-theme.fr-toolbar.fr-disabled .fr-btn,.royal-theme.fr-popup.fr-disabled .fr-btn,.royal-theme.fr-toolbar.fr-disabled .fr-btn.fr-active,.royal-theme.fr-popup.fr-disabled .fr-btn.fr-active{color:#b7bdc0}.royal-theme.fr-toolbar.fr-disabled .fr-btn.fr-dropdown::after,.royal-theme.fr-popup.fr-disabled .fr-btn.fr-dropdown::after,.royal-theme.fr-toolbar.fr-disabled .fr-btn.fr-active.fr-dropdown::after,.royal-theme.fr-popup.fr-disabled .fr-btn.fr-active.fr-dropdown::after{border-top-color:#b7bdc0}.royal-theme.fr-desktop .fr-command:hover,.royal-theme.fr-desktop .fr-command:focus,.royal-theme.fr-desktop .fr-command.fr-btn-hover,.royal-theme.fr-desktop .fr-command.fr-expanded{outline:0;color:#553982;background:#ebebeb}.royal-theme.fr-desktop .fr-command:hover::after,.royal-theme.fr-desktop .fr-command:focus::after,.royal-theme.fr-desktop .fr-command.fr-btn-hover::after,.royal-theme.fr-desktop .fr-command.fr-expanded::after{border-top-color:#553982!important}.royal-theme.fr-desktop .fr-command.fr-selected{color:#553982;background:#d6d6d6}.royal-theme.fr-desktop .fr-command.fr-active:hover,.royal-theme.fr-desktop .fr-command.fr-active:focus,.royal-theme.fr-desktop .fr-command.fr-active.fr-btn-hover,.royal-theme.fr-desktop .fr-command.fr-active.fr-expanded{color:#553982;background:#ebebeb}.royal-theme.fr-desktop .fr-command.fr-active.fr-selected{color:#553982;background:#d6d6d6}.royal-theme.fr-toolbar.fr-mobile .fr-command.fr-blink,.royal-theme.fr-popup.fr-mobile .fr-command.fr-blink{background:#9365b8}.royal-theme .fr-command.fr-btn.fr-options{width:16px;margin-left:-5px}.royal-theme .fr-command.fr-btn.fr-options.fr-btn-hover,.royal-theme .fr-command.fr-btn.fr-options:hover,.royal-theme .fr-command.fr-btn.fr-options:focus{border-left:solid 1px #fafafa}.royal-theme .fr-command.fr-btn+.fr-dropdown-menu{right:auto;bottom:auto;height:auto;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.royal-theme .fr-command.fr-btn+.fr-dropdown-menu.test-height .fr-dropdown-wrapper{height:auto;max-height:275px}.royal-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper{background:#fff;padding:0;margin:auto;-webkit-transition:max-height .2s ease 0s;-moz-transition:max-height .2s ease 0s;-ms-transition:max-height .2s ease 0s;-o-transition:max-height .2s ease 0s;margin-top:0;max-height:0;height:0}.royal-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content{overflow:auto;max-height:275px}.royal-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list{margin:0;padding:0}.royal-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li{padding:0;margin:0}.royal-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a{color:inherit}.royal-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-active{background:#d6d6d6}.royal-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-disabled{color:#b7bdc0}.royal-theme .fr-command.fr-btn.fr-active+.fr-dropdown-menu{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14)}.royal-theme .fr-command.fr-btn.fr-active+.fr-dropdown-menu .fr-dropdown-wrapper{height:auto;max-height:275px}.royal-theme .fr-bottom>.fr-command.fr-btn+.fr-dropdown-menu{border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.royal-theme.fr-modal{color:#553982;font-family:Arial,Helvetica,sans-serif;overflow-x:auto;top:0;left:0;bottom:0;right:0;z-index:2147483640}.royal-theme.fr-modal.fr-middle .fr-modal-wrapper{margin-top:0;margin-bottom:0;margin-left:auto;margin-right:auto}.royal-theme.fr-modal .fr-modal-wrapper{border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;margin:20px auto;background:#fff;-webkit-box-shadow:0 5px 8px rgba(0,0,0,.19),0 4px 3px 1px rgba(0,0,0,.14);-moz-box-shadow:0 5px 8px rgba(0,0,0,.19),0 4px 3px 1px rgba(0,0,0,.14);box-shadow:0 5px 8px rgba(0,0,0,.19),0 4px 3px 1px rgba(0,0,0,.14);border:0;border-top:5px solid #553982}@media (min-width:768px) and (max-width:991px){.royal-theme.fr-modal .fr-modal-wrapper{margin:30px auto}}@media (min-width:992px){.royal-theme.fr-modal .fr-modal-wrapper{margin:50px auto}}.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-head{background:#fff;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);border-bottom:0;-webkit-transition:height .2s ease 0s;-moz-transition:height .2s ease 0s;-ms-transition:height .2s ease 0s;-o-transition:height .2s ease 0s}.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-head .fr-modal-close{color:#553982;top:0;right:0;-webkit-transition:color .2s ease 0s;-moz-transition:color .2s ease 0s;-ms-transition:color .2s ease 0s;-o-transition:color .2s ease 0s}.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-head h4{margin:0;font-weight:400}.royal-theme.fr-modal .fr-modal-wrapper div.fr-modal-body:focus{outline:0}.royal-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command{color:#553982;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.royal-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:hover,.royal-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:focus{background:#ebebeb;color:#553982}.royal-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:active{background:#d6d6d6;color:#553982}.royal-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button::-moz-focus-inner{border:0}.royal-theme.royal-theme.fr-desktop .fr-modal-wrapper .fr-modal-head i:hover{background:#ebebeb}.royal-theme.fr-overlay{top:0;bottom:0;left:0;right:0;background:#000}.royal-theme.fr-popup{color:#553982;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;font-family:Arial,Helvetica,sans-serif;border:0;border-top:5px solid #553982}.royal-theme.fr-popup .fr-input-focus{background:#f5f5f5}.royal-theme.fr-popup.fr-above{border-top:0;border-bottom:5px solid #553982;-webkit-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16)}.royal-theme.fr-popup .fr-input-line{padding:8px 0}.royal-theme.fr-popup .fr-input-line input[type=text],.royal-theme.fr-popup .fr-input-line textarea{margin:0 0 1px;border-bottom:solid 1px #bdbdbd;color:#553982}.royal-theme.fr-popup .fr-input-line input[type=text]:focus,.royal-theme.fr-popup .fr-input-line textarea:focus{border-bottom:solid 2px #553982}.royal-theme.fr-popup .fr-input-line input+label,.royal-theme.fr-popup .fr-input-line textarea+label{top:0;left:0;-webkit-transition:color .2s ease 0s;-moz-transition:color .2s ease 0s;-ms-transition:color .2s ease 0s;-o-transition:color .2s ease 0s;background:#fff}.royal-theme.fr-popup .fr-input-line input.fr-not-empty:focus+label,.royal-theme.fr-popup .fr-input-line textarea.fr-not-empty:focus+label{color:#553982}.royal-theme.fr-popup .fr-input-line input.fr-not-empty+label,.royal-theme.fr-popup .fr-input-line textarea.fr-not-empty+label{color:gray}.royal-theme.fr-popup .fr-buttons{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);padding:0 2px;line-height:0;border-bottom:0}.royal-theme.fr-popup .fr-layer{width:225px}@media (min-width:768px){.royal-theme.fr-popup .fr-layer{width:300px}}.royal-theme.fr-popup .fr-action-buttons button.fr-command{color:#553982;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.royal-theme.fr-popup .fr-action-buttons button.fr-command:hover,.royal-theme.fr-popup .fr-action-buttons button.fr-command:focus{background:#ebebeb;color:#553982}.royal-theme.fr-popup .fr-action-buttons button.fr-command:active{background:#d6d6d6;color:#553982}.royal-theme.fr-popup .fr-action-buttons button::-moz-focus-inner{border:0}.royal-theme.fr-popup .fr-checkbox span{border:solid 1px #553982;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-transition:background .2s ease 0s,border-color .2s ease 0s;-moz-transition:background .2s ease 0s,border-color .2s ease 0s;-ms-transition:background .2s ease 0s,border-color .2s ease 0s;-o-transition:background .2s ease 0s,border-color .2s ease 0s}.royal-theme.fr-popup .fr-checkbox input{margin:0;padding:0}.royal-theme.fr-popup .fr-checkbox input:checked+span{background:#553982;border-color:#553982}.royal-theme.fr-popup .fr-checkbox input:focus+span{border-color:#553982}.royal-theme.fr-popup.fr-rtl .fr-input-line input+label,.royal-theme.fr-popup.fr-rtl .fr-input-line textarea+label{left:auto;right:0}.royal-theme.fr-popup .fr-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #553982;top:-9px;margin-left:-5px}.royal-theme.fr-popup.fr-above .fr-arrow{top:auto;bottom:-9px;border-bottom:0;border-top:5px solid #553982}.royal-theme.fr-toolbar{color:#553982;background:#fff;font-family:Arial,Helvetica,sans-serif;padding:0 2px;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);border:0;border-top:5px solid #553982}.royal-theme.fr-toolbar.fr-inline .fr-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #553982;top:-9px;margin-left:-5px}.royal-theme.fr-toolbar.fr-inline.fr-above{-webkit-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);border-bottom:5px solid #553982;border-top:0}.royal-theme.fr-toolbar.fr-inline.fr-above .fr-arrow{top:auto;bottom:-9px;border-bottom:0;border-top-color:inherit;border-top-width:5px}.royal-theme.fr-toolbar.fr-top{top:0;border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.royal-theme.fr-toolbar.fr-bottom{bottom:0;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.royal-theme .fr-separator{background:#ebebeb}.royal-theme .fr-separator.fr-vs{height:34px;width:1px;margin:2px}.royal-theme .fr-separator.fr-hs{height:1px;width:calc(100% - (2 * 2px));margin:0 2px} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/themes/royal.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/themes/red.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/themes/red.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/themes/red.css (revision 7) @@ -0,0 +1,1324 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.red-theme.fr-box.fr-basic .fr-element { + color: #000000; + padding: 16px; + overflow-x: auto; + min-height: 52px; +} +.red-theme .fr-element { + -webkit-user-select: auto; +} +.red-theme.fr-box a.fr-floating-btn { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + height: 32px; + width: 32px; + background: #ffffff; + color: #ffca28; + -webkit-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + left: 0; + top: 0; + line-height: 32px; + border: solid 1px #cccccc; +} +.red-theme.fr-box a.fr-floating-btn svg { + -webkit-transition: transform 0.2s ease 0s; + -moz-transition: transform 0.2s ease 0s; + -ms-transition: transform 0.2s ease 0s; + -o-transition: transform 0.2s ease 0s; + fill: #ffca28; +} +.red-theme.fr-box a.fr-floating-btn i, +.red-theme.fr-box a.fr-floating-btn svg { + font-size: 14px; + line-height: 32px; +} +.red-theme.fr-box a.fr-floating-btn:hover { + background: #ebebeb; +} +.red-theme.fr-box a.fr-floating-btn:hover svg { + fill: #ffca28; +} +.red-theme .fr-wrapper .fr-placeholder { + font-size: 12px; + color: #aaaaaa; + top: 0; + left: 0; + right: 0; +} +.red-theme .fr-wrapper ::-moz-selection { + background: #b5d6fd; + color: #000000; +} +.red-theme .fr-wrapper ::selection { + background: #b5d6fd; + color: #000000; +} +.red-theme.fr-box.fr-basic .fr-wrapper { + background: #ffffff; + border: solid 1px #671b1a; + border-top: 0; + top: 0; + left: 0; +} +.red-theme.fr-box.fr-basic.fr-top .fr-wrapper { + border-top: 0; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.red-theme.fr-box.fr-basic.fr-bottom .fr-wrapper { + border-bottom: 0; + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +@media (min-width: 992px) { + .red-theme .fr-box.fr-document .fr-wrapper .fr-element { + margin: auto; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + } +} +.red-theme .fr-sticky-on.fr-sticky-ios { + left: 0; + right: 0; +} +.red-theme.fr-box .fr-counter { + color: #cccccc; + background: #ffffff; + border-top: solid 1px #ebebeb; + border-left: solid 1px #ebebeb; + border-radius: 2px 0 0 0; + -moz-border-radius: 2px 0 0 0; + -webkit-border-radius: 2px 0 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.red-theme.fr-box.fr-rtl .fr-counter { + right: auto; + border-right: solid 1px #ebebeb; + border-radius: 0 2px 0 0; + -moz-border-radius: 0 2px 0 0; + -webkit-border-radius: 0 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.red-theme textarea.fr-code { + background: #ffffff; + color: #000000; +} +.red-theme.fr-box.fr-code-view.fr-inline { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.red-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch { + top: 0; + right: 0; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: #ffffff; + color: #ffffff; + -moz-outline: 0; + outline: 0; + border: 0; + padding: 12px 12px; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; +} +.red-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch i { + font-size: 14px; + width: 14px; +} +.red-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover { + background: #c65a59; +} +.red-theme.fr-popup .fr-colors-tabs { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.red-theme.fr-popup .fr-colors-tabs .fr-colors-tab { + color: #ffffff; + padding: 8px 0; +} +.red-theme.fr-popup .fr-colors-tabs .fr-colors-tab:hover, +.red-theme.fr-popup .fr-colors-tabs .fr-colors-tab:focus { + color: #ffca28; +} +.red-theme.fr-popup .fr-colors-tabs .fr-colors-tab[data-param1="background"]::after { + bottom: 0; + left: 0; + background: #ffca28; + -webkit-transition: transform 0.2s ease 0s; + -moz-transition: transform 0.2s ease 0s; + -ms-transition: transform 0.2s ease 0s; + -o-transition: transform 0.2s ease 0s; +} +.red-theme.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab { + color: #ffca28; +} +.red-theme.fr-popup .fr-color-hex-layer .fr-input-line { + padding: 8px 0 0; +} +.red-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button { + background-color: #ffca28; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.red-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button:hover { + background-color: #f4b800; +} +.red-theme.fr-popup .fr-color-set { + line-height: 0; +} +.red-theme.fr-popup .fr-color-set > span > i, +.red-theme.fr-popup .fr-color-set > span > svg { + bottom: 0; + left: 0; +} +.red-theme.fr-popup .fr-color-set > span .fr-selected-color { + color: #ffffff; + font-weight: 400; + top: 0; + bottom: 0; + right: 0; + left: 0; +} +.red-theme.fr-popup .fr-color-set > span:hover, +.red-theme.fr-popup .fr-color-set > span:focus { + outline: 1px solid #ffffff; +} +.red-theme .fr-drag-helper { + background: #ffca28; + z-index: 2147483640; +} +.red-theme.fr-popup .fr-link:focus { + outline: 0; + background: #c65a59; +} +.red-theme.fr-popup .fr-file-upload-layer { + border: dashed 2px #edc9c9; + padding: 25px 0; +} +.red-theme.fr-popup .fr-file-upload-layer:hover { + background: #c65a59; +} +.red-theme.fr-popup .fr-file-upload-layer.fr-drop { + background: #c65a59; + border-color: #ffca28; +} +.red-theme.fr-popup .fr-file-upload-layer .fr-form { + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; +} +.red-theme.fr-popup .fr-file-progress-bar-layer > h3 { + margin: 10px 0; +} +.red-theme.fr-popup .fr-file-progress-bar-layer > div.fr-loader { + background: #ffefbf; +} +.red-theme.fr-popup .fr-file-progress-bar-layer > div.fr-loader span { + background: #ffca28; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.red-theme.fr-popup .fr-file-progress-bar-layer > div.fr-loader.fr-indeterminate span { + top: 0; +} +.red-theme.fr-box.fr-fullscreen { + top: 0; + left: 0; + bottom: 0; + right: 0; +} +.red-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tr { + border: 0; +} +.red-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody tr { + border-bottom: solid 1px rgba(255, 255, 255, 0.3); +} +.red-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:first-child { + color: #ffffff; +} +.red-theme .fr-image-resizer { + border: solid 1px #ffca28; +} +.red-theme .fr-image-resizer .fr-handler { + background: #ffca28; + border: solid 1px #ffffff; +} +.red-theme .fr-image-resizer .fr-handler { + width: 12px; + height: 12px; +} +.red-theme .fr-image-resizer .fr-handler.fr-hnw { + left: -6px; + top: -6px; +} +.red-theme .fr-image-resizer .fr-handler.fr-hne { + right: -6px; + top: -6px; +} +.red-theme .fr-image-resizer .fr-handler.fr-hsw { + left: -6px; + bottom: -6px; +} +.red-theme .fr-image-resizer .fr-handler.fr-hse { + right: -6px; + bottom: -6px; +} +@media (min-width: 1200px) { + .red-theme .fr-image-resizer .fr-handler { + width: 10px; + height: 10px; + } + .red-theme .fr-image-resizer .fr-handler.fr-hnw { + left: -5px; + top: -5px; + } + .red-theme .fr-image-resizer .fr-handler.fr-hne { + right: -5px; + top: -5px; + } + .red-theme .fr-image-resizer .fr-handler.fr-hsw { + left: -5px; + bottom: -5px; + } + .red-theme .fr-image-resizer .fr-handler.fr-hse { + right: -5px; + bottom: -5px; + } +} +.red-theme.fr-image-overlay { + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; +} +.red-theme.fr-popup .fr-image-upload-layer { + border: dashed 2px #edc9c9; + padding: 25px 0; +} +.red-theme.fr-popup .fr-image-upload-layer:hover { + background: #c65a59; +} +.red-theme.fr-popup .fr-image-upload-layer.fr-drop { + background: #c65a59; + border-color: #ffca28; +} +.red-theme.fr-popup .fr-image-upload-layer .fr-form { + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; +} +.red-theme.fr-popup .fr-image-progress-bar-layer > h3 { + margin: 10px 0; +} +.red-theme.fr-popup .fr-image-progress-bar-layer > div.fr-loader { + background: #ffefbf; +} +.red-theme.fr-popup .fr-image-progress-bar-layer > div.fr-loader span { + background: #ffca28; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.red-theme.fr-popup .fr-image-progress-bar-layer > div.fr-loader.fr-indeterminate span { + top: 0; +} +.red-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more { + -webkit-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -moz-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -ms-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -o-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; +} +.red-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more.fr-not-available { + opacity: 0; + width: 0; + padding: 12px 0; +} +.red-theme.fr-modal-head .fr-modal-tags a { + opacity: 0; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + color: #ffca28; + -webkit-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; +} +.red-theme.fr-modal-head .fr-modal-tags a.fr-selected-tag { + background: #d48382; +} +.red-themediv.fr-modal-body .fr-preloader { + margin: 50px auto; +} +.red-themediv.fr-modal-body div.fr-image-list { + padding: 0; +} +.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::after { + -webkit-transition: opacity 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s; + background: #000000; + top: 0; + left: 0; + bottom: 0; + right: 0; +} +.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::before { + color: #ffffff; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: auto; +} +.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty { + background: #cccccc; +} +.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty::after { + margin: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container img { + -webkit-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; +} +.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img, +.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img { + -webkit-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + margin: 0; +} +.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img { + background: #b8312f; + color: #ffffff; +} +.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img { + background: #b8312f; + color: #ffca28; +} +.red-theme.red-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a:hover { + background: #c65a59; +} +.red-theme.red-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a.fr-selected-tag { + background: #d48382; +} +.red-theme.red-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img:hover { + background: #bf4644; + color: #ffffff; +} +.red-theme.red-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img:hover { + background: #c65a59; +} +.red-theme .fr-line-breaker { + border-top: 1px solid #ffca28; +} +.red-theme .fr-line-breaker a.fr-floating-btn { + left: calc(50% - (32px / 2)); + top: -16px; +} +.red-theme .fr-qi-helper { + padding-left: 16px; +} +.red-theme .fr-qi-helper a.fr-btn.fr-floating-btn { + color: #ffffff; +} +.red-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-character { + border: 1px solid #cccccc; +} +.red-theme .fr-element table td.fr-selected-cell, +.red-theme .fr-element table th.fr-selected-cell { + border: 1px double #ffca28; +} +.red-theme .fr-table-resizer div { + border-right: 1px solid #ffca28; +} +.red-theme.fr-popup .fr-table-colors-hex-layer .fr-input-line { + padding: 8px 0 0; +} +.red-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button { + background-color: #ffca28; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.red-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button:hover { + background-color: #f4b800; +} +.red-theme.fr-popup .fr-table-size .fr-select-table-size { + line-height: 0; +} +.red-theme.fr-popup .fr-table-size .fr-select-table-size > span { + padding: 0px 4px 4px 0; +} +.red-theme.fr-popup .fr-table-size .fr-select-table-size > span > span { + border: 1px solid #dddddd; +} +.red-theme.fr-popup .fr-table-size .fr-select-table-size > span.hover > span { + background: rgba(255, 202, 40, 0.3); + border: solid 1px #ffca28; +} +.red-theme.fr-popup .fr-table-colors { + line-height: 0; +} +.red-theme.fr-popup .fr-table-colors > span > i { + bottom: 0; + left: 0; +} +.red-theme.fr-popup .fr-table-colors > span:focus { + outline: 1px solid #ffffff; +} +.red-theme .fr-element .fr-video::after { + top: 0; + left: 0; + right: 0; + bottom: 0; +} +.red-theme.fr-box .fr-video-resizer { + border: solid 1px #ffca28; +} +.red-theme.fr-box .fr-video-resizer .fr-handler { + background: #ffca28; + border: solid 1px #ffffff; +} +.red-theme.fr-box .fr-video-resizer .fr-handler { + width: 12px; + height: 12px; +} +.red-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw { + left: -6px; + top: -6px; +} +.red-theme.fr-box .fr-video-resizer .fr-handler.fr-hne { + right: -6px; + top: -6px; +} +.red-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw { + left: -6px; + bottom: -6px; +} +.red-theme.fr-box .fr-video-resizer .fr-handler.fr-hse { + right: -6px; + bottom: -6px; +} +@media (min-width: 1200px) { + .red-theme.fr-box .fr-video-resizer .fr-handler { + width: 10px; + height: 10px; + } + .red-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw { + left: -5px; + top: -5px; + } + .red-theme.fr-box .fr-video-resizer .fr-handler.fr-hne { + right: -5px; + top: -5px; + } + .red-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw { + left: -5px; + bottom: -5px; + } + .red-theme.fr-box .fr-video-resizer .fr-handler.fr-hse { + right: -5px; + bottom: -5px; + } +} +.red-theme.fr-popup .fr-video-upload-layer { + border: dashed 2px #edc9c9; + padding: 25px 0; +} +.red-theme.fr-popup .fr-video-upload-layer:hover { + background: #c65a59; +} +.red-theme.fr-popup .fr-video-upload-layer.fr-drop { + background: #c65a59; + border-color: #ffca28; +} +.red-theme.fr-popup .fr-video-upload-layer .fr-form { + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; +} +.red-theme.fr-popup .fr-video-progress-bar-layer > h3 { + margin: 10px 0; +} +.red-theme.fr-popup .fr-video-progress-bar-layer > div.fr-loader { + background: #ffefbf; +} +.red-theme.fr-popup .fr-video-progress-bar-layer > div.fr-loader span { + background: #ffca28; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.red-theme.fr-popup .fr-video-progress-bar-layer > div.fr-loader.fr-indeterminate span { + top: 0; +} +.red-theme.fr-video-overlay { + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; +} +.red-theme .fr-view span[style~="color:"] a { + color: inherit; +} +.red-theme .fr-view strong { + font-weight: 700; +} +.red-theme .fr-view table.fr-alternate-rows tbody tr:nth-child(2n) { + background: #f5f5f5; +} +.red-theme .fr-view table td, +.red-theme .fr-view table th { + border: 1px solid #dddddd; +} +.red-theme .fr-view table th { + background: #e6e6e6; +} +.red-theme .fr-view[dir="rtl"] blockquote { + border-right: solid 2px #5e35b1; + margin-right: 0; +} +.red-theme .fr-view[dir="rtl"] blockquote blockquote { + border-color: #00bcd4; +} +.red-theme .fr-view[dir="rtl"] blockquote blockquote blockquote { + border-color: #43a047; +} +.red-theme .fr-view blockquote { + border-left: solid 2px #5e35b1; + margin-left: 0; + color: #5e35b1; +} +.red-theme .fr-view blockquote blockquote { + border-color: #00bcd4; + color: #00bcd4; +} +.red-theme .fr-view blockquote blockquote blockquote { + border-color: #43a047; + color: #43a047; +} +.red-theme .fr-view span.fr-emoticon { + line-height: 0; +} +.red-theme .fr-view span.fr-emoticon.fr-emoticon-img { + font-size: inherit; +} +.red-theme .fr-view .fr-text-bordered { + padding: 10px 0; +} +.red-theme .fr-view .fr-class-highlighted { + background-color: #ffff00; +} +.red-theme .fr-view .fr-img-caption .fr-img-wrap { + margin: auto; +} +.red-theme .fr-view .fr-img-caption .fr-img-wrap img { + margin: auto; +} +.red-theme .fr-view .fr-img-caption .fr-img-wrap > span { + margin: auto; +} +.red-theme .fr-element .fr-embedly::after { + top: 0; + left: 0; + right: 0; + bottom: 0; +} +.red-theme.fr-box .fr-embedly-resizer { + border: solid 1px #ffca28; +} +.red-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal .fr-font-awesome-title { + border-bottom: solid 1px #f0f0f0; +} +.red-theme .tui-image-editor-container { + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 10; +} +.red-theme .tui-editor-cancel-btn { + background-color: #ffffff; + border: 1px solid #cccccc; +} +.red-theme .tui-editor-save-btn { + color: #ffffff; +} +.red-theme .examples-variante > a { + font-size: 14px; + font-family: Arial, Helvetica, sans-serif; +} +.red-theme .sc-cm-holder > .sc-cm { + border-top: 5px solid #671b1a !important; +} +.red-theme .sc-cm__item_dropdown:hover > a, +.red-theme .sc-cm a:hover { + background-color: #c65a59 !important; +} +.red-theme .sc-cm__item_active > a, +.red-theme .sc-cm__item_active > a:hover, +.red-theme .sc-cm a:active, +.red-theme .sc-cm a:focus { + background-color: #d48382 !important; +} +.red-theme .sc-cm-holder > .sc-cm:before { + background-color: #c65a59 !important; +} +.red-theme .fr-tooltip { + top: 0; + left: 0; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + background: #222222; + color: #ffffff; + font-size: 11px; + line-height: 22px; + font-family: Arial, Helvetica, sans-serif; + -webkit-transition: opacity 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s; +} +.red-theme.fr-toolbar .fr-command.fr-btn, +.red-theme.fr-popup .fr-command.fr-btn { + color: #ffffff; + -moz-outline: 0; + outline: 0; + border: 0; + margin: 0px 2px; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + padding: 0; + width: 38px; + height: 38px; +} +.red-theme.fr-toolbar .fr-command.fr-btn::-moz-focus-inner, +.red-theme.fr-popup .fr-command.fr-btn::-moz-focus-inner { + border: 0; +} +.red-theme.fr-toolbar .fr-command.fr-btn.fr-btn-text, +.red-theme.fr-popup .fr-command.fr-btn.fr-btn-text { + width: auto; +} +.red-theme.fr-toolbar .fr-command.fr-btn i, +.red-theme.fr-popup .fr-command.fr-btn i, +.red-theme.fr-toolbar .fr-command.fr-btn svg, +.red-theme.fr-popup .fr-command.fr-btn svg { + font-size: 14px; + width: 14px; + margin: 12px 12px; +} +.red-theme.fr-toolbar .fr-command.fr-btn span, +.red-theme.fr-popup .fr-command.fr-btn span { + font-size: 14px; + line-height: 17px; + min-width: 34px; + height: 17px; + padding: 0 2px; +} +.red-theme.fr-toolbar .fr-command.fr-btn img, +.red-theme.fr-popup .fr-command.fr-btn img { + margin: 12px 12px; + width: 14px; +} +.red-theme.fr-toolbar .fr-command.fr-btn.fr-active, +.red-theme.fr-popup .fr-command.fr-btn.fr-active { + color: #ffca28; + background: transparent; +} +.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection, +.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection { + width: auto; +} +.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown i, +.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown i, +.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown span, +.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown span, +.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown img, +.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown img, +.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown svg, +.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown svg { + margin-left: 8px; + margin-right: 16px; +} +.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active, +.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active { + color: #ffffff; + background: #d48382; +} +.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover, +.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover, +.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus, +.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus { + background: #d48382 !important; + color: #ffffff !important; +} +.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover::after, +.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover::after, +.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus::after, +.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus::after { + border-top-color: #ffffff !important; +} +.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown::after, +.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown::after { + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid #ffffff; + right: 4px; + top: 17px; +} +.red-theme.fr-toolbar .fr-command.fr-btn.fr-disabled, +.red-theme.fr-popup .fr-command.fr-btn.fr-disabled { + color: #edc9c9; +} +.red-theme.fr-toolbar .fr-command.fr-btn.fr-disabled::after, +.red-theme.fr-popup .fr-command.fr-btn.fr-disabled::after { + border-top-color: #edc9c9 !important; +} +.red-theme.fr-toolbar.fr-disabled .fr-btn, +.red-theme.fr-popup.fr-disabled .fr-btn, +.red-theme.fr-toolbar.fr-disabled .fr-btn.fr-active, +.red-theme.fr-popup.fr-disabled .fr-btn.fr-active { + color: #edc9c9; +} +.red-theme.fr-toolbar.fr-disabled .fr-btn.fr-dropdown::after, +.red-theme.fr-popup.fr-disabled .fr-btn.fr-dropdown::after, +.red-theme.fr-toolbar.fr-disabled .fr-btn.fr-active.fr-dropdown::after, +.red-theme.fr-popup.fr-disabled .fr-btn.fr-active.fr-dropdown::after { + border-top-color: #edc9c9; +} +.red-theme.fr-desktop .fr-command:hover, +.red-theme.fr-desktop .fr-command:focus, +.red-theme.fr-desktop .fr-command.fr-btn-hover, +.red-theme.fr-desktop .fr-command.fr-expanded { + outline: 0; + color: #ffffff; + background: #c65a59; +} +.red-theme.fr-desktop .fr-command:hover::after, +.red-theme.fr-desktop .fr-command:focus::after, +.red-theme.fr-desktop .fr-command.fr-btn-hover::after, +.red-theme.fr-desktop .fr-command.fr-expanded::after { + border-top-color: #ffffff !important; +} +.red-theme.fr-desktop .fr-command.fr-selected { + color: #ffffff; + background: #d48382; +} +.red-theme.fr-desktop .fr-command.fr-active:hover, +.red-theme.fr-desktop .fr-command.fr-active:focus, +.red-theme.fr-desktop .fr-command.fr-active.fr-btn-hover, +.red-theme.fr-desktop .fr-command.fr-active.fr-expanded { + color: #ffca28; + background: #c65a59; +} +.red-theme.fr-desktop .fr-command.fr-active.fr-selected { + color: #ffca28; + background: #d48382; +} +.red-theme.fr-toolbar.fr-mobile .fr-command.fr-blink, +.red-theme.fr-popup.fr-mobile .fr-command.fr-blink { + background: transparent; +} +.red-theme .fr-command.fr-btn.fr-options { + width: 16px; + margin-left: -5px; +} +.red-theme .fr-command.fr-btn.fr-options.fr-btn-hover, +.red-theme .fr-command.fr-btn.fr-options:hover, +.red-theme .fr-command.fr-btn.fr-options:focus { + border-left: solid 1px #fafafa; +} +.red-theme .fr-command.fr-btn + .fr-dropdown-menu { + right: auto; + bottom: auto; + height: auto; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.red-theme .fr-command.fr-btn + .fr-dropdown-menu.test-height .fr-dropdown-wrapper { + height: auto; + max-height: 275px; +} +.red-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper { + background: #b8312f; + padding: 0; + margin: auto; + -webkit-transition: max-height 0.2s ease 0s; + -moz-transition: max-height 0.2s ease 0s; + -ms-transition: max-height 0.2s ease 0s; + -o-transition: max-height 0.2s ease 0s; + margin-top: 0; + max-height: 0; + height: 0; +} +.red-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content { + overflow: auto; + max-height: 275px; +} +.red-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list { + margin: 0; + padding: 0; +} +.red-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li { + padding: 0; + margin: 0; +} +.red-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a { + color: inherit; +} +.red-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-active { + background: #d48382; +} +.red-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-disabled { + color: #edc9c9; +} +.red-theme .fr-command.fr-btn.fr-active + .fr-dropdown-menu { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.red-theme .fr-command.fr-btn.fr-active + .fr-dropdown-menu .fr-dropdown-wrapper { + height: auto; + max-height: 275px; +} +.red-theme .fr-bottom > .fr-command.fr-btn + .fr-dropdown-menu { + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.red-theme.fr-modal { + color: #ffffff; + font-family: Arial, Helvetica, sans-serif; + overflow-x: auto; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; +} +.red-theme.fr-modal.fr-middle .fr-modal-wrapper { + margin-top: 0; + margin-bottom: 0; + margin-left: auto; + margin-right: auto; +} +.red-theme.fr-modal .fr-modal-wrapper { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 20px auto; + background: #b8312f; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + border: solid 1px #671b1a; + border-top: 5px solid #671b1a; +} +@media (min-width: 768px) and (max-width: 991px) { + .red-theme.fr-modal .fr-modal-wrapper { + margin: 30px auto; + } +} +@media (min-width: 992px) { + .red-theme.fr-modal .fr-modal-wrapper { + margin: 50px auto; + } +} +.red-theme.fr-modal .fr-modal-wrapper .fr-modal-head { + background: #b8312f; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + border-bottom: solid 1px #671b1a; + -webkit-transition: height 0.2s ease 0s; + -moz-transition: height 0.2s ease 0s; + -ms-transition: height 0.2s ease 0s; + -o-transition: height 0.2s ease 0s; +} +.red-theme.fr-modal .fr-modal-wrapper .fr-modal-head .fr-modal-close { + color: #ffffff; + top: 0; + right: 0; + -webkit-transition: color 0.2s ease 0s; + -moz-transition: color 0.2s ease 0s; + -ms-transition: color 0.2s ease 0s; + -o-transition: color 0.2s ease 0s; +} +.red-theme.fr-modal .fr-modal-wrapper .fr-modal-head h4 { + margin: 0; + font-weight: 400; +} +.red-theme.fr-modal .fr-modal-wrapper div.fr-modal-body:focus { + outline: 0; +} +.red-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command { + color: #ffca28; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.red-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:hover, +.red-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:focus { + background: #c65a59; + color: #ffca28; +} +.red-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:active { + background: #d48382; + color: #ffca28; +} +.red-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button::-moz-focus-inner { + border: 0; +} +.red-theme.red-theme.fr-desktop .fr-modal-wrapper .fr-modal-head i:hover { + background: #c65a59; +} +.red-theme.fr-overlay { + top: 0; + bottom: 0; + left: 0; + right: 0; + background: #000000; +} +.red-theme.fr-popup { + color: #ffffff; + background: #b8312f; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-family: Arial, Helvetica, sans-serif; + border: solid 1px #671b1a; + border-top: 5px solid #671b1a; +} +.red-theme.fr-popup .fr-input-focus { + background: #bf4644; +} +.red-theme.fr-popup.fr-above { + border-top: 0; + border-bottom: 5px solid #671b1a; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.red-theme.fr-popup .fr-input-line { + padding: 8px 0; +} +.red-theme.fr-popup .fr-input-line input[type="text"], +.red-theme.fr-popup .fr-input-line textarea { + margin: 0px 0 1px 0; + border-bottom: solid 1px #bdbdbd; + color: #ffffff; +} +.red-theme.fr-popup .fr-input-line input[type="text"]:focus, +.red-theme.fr-popup .fr-input-line textarea:focus { + border-bottom: solid 2px #ffca28; +} +.red-theme.fr-popup .fr-input-line input + label, +.red-theme.fr-popup .fr-input-line textarea + label { + top: 0; + left: 0; + -webkit-transition: color 0.2s ease 0s; + -moz-transition: color 0.2s ease 0s; + -ms-transition: color 0.2s ease 0s; + -o-transition: color 0.2s ease 0s; + background: #b8312f; +} +.red-theme.fr-popup .fr-input-line input.fr-not-empty:focus + label, +.red-theme.fr-popup .fr-input-line textarea.fr-not-empty:focus + label { + color: #ffca28; +} +.red-theme.fr-popup .fr-input-line input.fr-not-empty + label, +.red-theme.fr-popup .fr-input-line textarea.fr-not-empty + label { + color: #808080; +} +.red-theme.fr-popup .fr-buttons { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + padding: 0 2px; + line-height: 0; + border-bottom: solid 1px #671b1a; +} +.red-theme.fr-popup .fr-layer { + width: 225px; +} +@media (min-width: 768px) { + .red-theme.fr-popup .fr-layer { + width: 300px; + } +} +.red-theme.fr-popup .fr-action-buttons button.fr-command { + color: #ffca28; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.red-theme.fr-popup .fr-action-buttons button.fr-command:hover, +.red-theme.fr-popup .fr-action-buttons button.fr-command:focus { + background: #c65a59; + color: #ffca28; +} +.red-theme.fr-popup .fr-action-buttons button.fr-command:active { + background: #d48382; + color: #ffca28; +} +.red-theme.fr-popup .fr-action-buttons button::-moz-focus-inner { + border: 0; +} +.red-theme.fr-popup .fr-checkbox span { + border: solid 1px #ffffff; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; +} +.red-theme.fr-popup .fr-checkbox input { + margin: 0; + padding: 0; +} +.red-theme.fr-popup .fr-checkbox input:checked + span { + background: #ffca28; + border-color: #ffca28; +} +.red-theme.fr-popup .fr-checkbox input:focus + span { + border-color: #ffca28; +} +.red-theme.fr-popup.fr-rtl .fr-input-line input + label, +.red-theme.fr-popup.fr-rtl .fr-input-line textarea + label { + left: auto; + right: 0; +} +.red-theme.fr-popup .fr-arrow { + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #671b1a; + top: -9px; + margin-left: -5px; +} +.red-theme.fr-popup.fr-above .fr-arrow { + top: auto; + bottom: -9px; + border-bottom: 0; + border-top: 5px solid #671b1a; +} +.red-theme.fr-toolbar { + color: #ffffff; + background: #b8312f; + font-family: Arial, Helvetica, sans-serif; + padding: 0 2px; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + border: solid 1px #671b1a; + border-top: 5px solid #671b1a; +} +.red-theme.fr-toolbar.fr-inline .fr-arrow { + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #671b1a; + top: -9px; + margin-left: -5px; +} +.red-theme.fr-toolbar.fr-inline.fr-above { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + border-bottom: 5px solid #671b1a; + border-top: 0; +} +.red-theme.fr-toolbar.fr-inline.fr-above .fr-arrow { + top: auto; + bottom: -9px; + border-bottom: 0; + border-top-color: inherit; + border-top-width: 5px; +} +.red-theme.fr-toolbar.fr-top { + top: 0; + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.red-theme.fr-toolbar.fr-bottom { + bottom: 0; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} +.red-theme .fr-separator { + background: rgba(255, 255, 255, 0.3); +} +.red-theme .fr-separator.fr-vs { + height: 34px; + width: 1px; + margin: 2px; +} +.red-theme .fr-separator.fr-hs { + height: 1px; + width: calc(100% - (2 * 2px)); + margin: 0 2px; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/themes/red.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/themes/gray.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/themes/gray.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/themes/gray.css (revision 7) @@ -0,0 +1,1324 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.gray-theme.fr-box.fr-basic .fr-element { + color: #000000; + padding: 16px; + overflow-x: auto; + min-height: 52px; +} +.gray-theme .fr-element { + -webkit-user-select: auto; +} +.gray-theme.fr-box a.fr-floating-btn { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + height: 32px; + width: 32px; + background: #ffffff; + color: #0097a7; + -webkit-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + left: 0; + top: 0; + line-height: 32px; + border: none; +} +.gray-theme.fr-box a.fr-floating-btn svg { + -webkit-transition: transform 0.2s ease 0s; + -moz-transition: transform 0.2s ease 0s; + -ms-transition: transform 0.2s ease 0s; + -o-transition: transform 0.2s ease 0s; + fill: #0097a7; +} +.gray-theme.fr-box a.fr-floating-btn i, +.gray-theme.fr-box a.fr-floating-btn svg { + font-size: 14px; + line-height: 32px; +} +.gray-theme.fr-box a.fr-floating-btn:hover { + background: #e6e6e6; +} +.gray-theme.fr-box a.fr-floating-btn:hover svg { + fill: #0097a7; +} +.gray-theme .fr-wrapper .fr-placeholder { + font-size: 12px; + color: #aaaaaa; + top: 0; + left: 0; + right: 0; +} +.gray-theme .fr-wrapper ::-moz-selection { + background: #b5d6fd; + color: #000000; +} +.gray-theme .fr-wrapper ::selection { + background: #b5d6fd; + color: #000000; +} +.gray-theme.fr-box.fr-basic .fr-wrapper { + background: #ffffff; + border: 0px; + border-top: 0; + top: 0; + left: 0; +} +.gray-theme.fr-box.fr-basic.fr-top .fr-wrapper { + border-top: 0; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.gray-theme.fr-box.fr-basic.fr-bottom .fr-wrapper { + border-bottom: 0; + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); +} +@media (min-width: 992px) { + .gray-theme .fr-box.fr-document .fr-wrapper .fr-element { + margin: auto; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + } +} +.gray-theme .fr-sticky-on.fr-sticky-ios { + left: 0; + right: 0; +} +.gray-theme.fr-box .fr-counter { + color: #cccccc; + background: #ffffff; + border-top: solid 1px #ebebeb; + border-left: solid 1px #ebebeb; + border-radius: 2px 0 0 0; + -moz-border-radius: 2px 0 0 0; + -webkit-border-radius: 2px 0 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.gray-theme.fr-box.fr-rtl .fr-counter { + right: auto; + border-right: solid 1px #ebebeb; + border-radius: 0 2px 0 0; + -moz-border-radius: 0 2px 0 0; + -webkit-border-radius: 0 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.gray-theme textarea.fr-code { + background: #ffffff; + color: #000000; +} +.gray-theme.fr-box.fr-code-view.fr-inline { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.gray-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch { + top: 0; + right: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + background: #ffffff; + color: #37474f; + -moz-outline: 0; + outline: 0; + border: 0; + padding: 12px 12px; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; +} +.gray-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch i { + font-size: 14px; + width: 14px; +} +.gray-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover { + background: #e6e6e6; +} +.gray-theme.fr-popup .fr-colors-tabs { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.gray-theme.fr-popup .fr-colors-tabs .fr-colors-tab { + color: #37474f; + padding: 8px 0; +} +.gray-theme.fr-popup .fr-colors-tabs .fr-colors-tab:hover, +.gray-theme.fr-popup .fr-colors-tabs .fr-colors-tab:focus { + color: #0097a7; +} +.gray-theme.fr-popup .fr-colors-tabs .fr-colors-tab[data-param1="background"]::after { + bottom: 0; + left: 0; + background: #0097a7; + -webkit-transition: transform 0.2s ease 0s; + -moz-transition: transform 0.2s ease 0s; + -ms-transition: transform 0.2s ease 0s; + -o-transition: transform 0.2s ease 0s; +} +.gray-theme.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab { + color: #0097a7; +} +.gray-theme.fr-popup .fr-color-hex-layer .fr-input-line { + padding: 8px 0 0; +} +.gray-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button { + background-color: #0097a7; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.gray-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button:hover { + background-color: #006974; +} +.gray-theme.fr-popup .fr-color-set { + line-height: 0; +} +.gray-theme.fr-popup .fr-color-set > span > i, +.gray-theme.fr-popup .fr-color-set > span > svg { + bottom: 0; + left: 0; +} +.gray-theme.fr-popup .fr-color-set > span .fr-selected-color { + color: #ffffff; + font-weight: 400; + top: 0; + bottom: 0; + right: 0; + left: 0; +} +.gray-theme.fr-popup .fr-color-set > span:hover, +.gray-theme.fr-popup .fr-color-set > span:focus { + outline: 1px solid #37474f; +} +.gray-theme .fr-drag-helper { + background: #0097a7; + z-index: 2147483640; +} +.gray-theme.fr-popup .fr-link:focus { + outline: 0; + background: #e6e6e6; +} +.gray-theme.fr-popup .fr-file-upload-layer { + border: dashed 2px #b7bdc0; + padding: 25px 0; +} +.gray-theme.fr-popup .fr-file-upload-layer:hover { + background: #e6e6e6; +} +.gray-theme.fr-popup .fr-file-upload-layer.fr-drop { + background: #e6e6e6; + border-color: #0097a7; +} +.gray-theme.fr-popup .fr-file-upload-layer .fr-form { + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; +} +.gray-theme.fr-popup .fr-file-progress-bar-layer > h3 { + margin: 10px 0; +} +.gray-theme.fr-popup .fr-file-progress-bar-layer > div.fr-loader { + background: #b3e0e5; +} +.gray-theme.fr-popup .fr-file-progress-bar-layer > div.fr-loader span { + background: #0097a7; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.gray-theme.fr-popup .fr-file-progress-bar-layer > div.fr-loader.fr-indeterminate span { + top: 0; +} +.gray-theme.fr-box.fr-fullscreen { + top: 0; + left: 0; + bottom: 0; + right: 0; +} +.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tr { + border: 0; +} +.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody tr { + border-bottom: solid 1px #ebebeb; +} +.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:first-child { + color: #737e84; +} +.gray-theme .fr-image-resizer { + border: solid 1px #0097a7; +} +.gray-theme .fr-image-resizer .fr-handler { + background: #0097a7; + border: solid 1px #ffffff; +} +.gray-theme .fr-image-resizer .fr-handler { + width: 12px; + height: 12px; +} +.gray-theme .fr-image-resizer .fr-handler.fr-hnw { + left: -6px; + top: -6px; +} +.gray-theme .fr-image-resizer .fr-handler.fr-hne { + right: -6px; + top: -6px; +} +.gray-theme .fr-image-resizer .fr-handler.fr-hsw { + left: -6px; + bottom: -6px; +} +.gray-theme .fr-image-resizer .fr-handler.fr-hse { + right: -6px; + bottom: -6px; +} +@media (min-width: 1200px) { + .gray-theme .fr-image-resizer .fr-handler { + width: 10px; + height: 10px; + } + .gray-theme .fr-image-resizer .fr-handler.fr-hnw { + left: -5px; + top: -5px; + } + .gray-theme .fr-image-resizer .fr-handler.fr-hne { + right: -5px; + top: -5px; + } + .gray-theme .fr-image-resizer .fr-handler.fr-hsw { + left: -5px; + bottom: -5px; + } + .gray-theme .fr-image-resizer .fr-handler.fr-hse { + right: -5px; + bottom: -5px; + } +} +.gray-theme.fr-image-overlay { + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; +} +.gray-theme.fr-popup .fr-image-upload-layer { + border: dashed 2px #b7bdc0; + padding: 25px 0; +} +.gray-theme.fr-popup .fr-image-upload-layer:hover { + background: #e6e6e6; +} +.gray-theme.fr-popup .fr-image-upload-layer.fr-drop { + background: #e6e6e6; + border-color: #0097a7; +} +.gray-theme.fr-popup .fr-image-upload-layer .fr-form { + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; +} +.gray-theme.fr-popup .fr-image-progress-bar-layer > h3 { + margin: 10px 0; +} +.gray-theme.fr-popup .fr-image-progress-bar-layer > div.fr-loader { + background: #b3e0e5; +} +.gray-theme.fr-popup .fr-image-progress-bar-layer > div.fr-loader span { + background: #0097a7; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.gray-theme.fr-popup .fr-image-progress-bar-layer > div.fr-loader.fr-indeterminate span { + top: 0; +} +.gray-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more { + -webkit-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -moz-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -ms-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -o-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; +} +.gray-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more.fr-not-available { + opacity: 0; + width: 0; + padding: 12px 0; +} +.gray-theme.fr-modal-head .fr-modal-tags a { + opacity: 0; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + color: #0097a7; + -webkit-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; +} +.gray-theme.fr-modal-head .fr-modal-tags a.fr-selected-tag { + background: #d6d6d6; +} +.gray-themediv.fr-modal-body .fr-preloader { + margin: 50px auto; +} +.gray-themediv.fr-modal-body div.fr-image-list { + padding: 0; +} +.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::after { + -webkit-transition: opacity 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s; + background: #000000; + top: 0; + left: 0; + bottom: 0; + right: 0; +} +.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::before { + color: #ffffff; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: auto; +} +.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty { + background: #cccccc; +} +.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty::after { + margin: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container img { + -webkit-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; +} +.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img, +.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img { + -webkit-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + margin: 0; +} +.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img { + background: #b8312f; + color: #ffffff; +} +.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img { + background: #f5f5f5; + color: #0097a7; +} +.gray-theme.gray-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a:hover { + background: #e6e6e6; +} +.gray-theme.gray-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a.fr-selected-tag { + background: #d6d6d6; +} +.gray-theme.gray-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img:hover { + background: #bf4644; + color: #ffffff; +} +.gray-theme.gray-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img:hover { + background: #e6e6e6; +} +.gray-theme .fr-line-breaker { + border-top: 1px solid #0097a7; +} +.gray-theme .fr-line-breaker a.fr-floating-btn { + left: calc(50% - (32px / 2)); + top: -16px; +} +.gray-theme .fr-qi-helper { + padding-left: 16px; +} +.gray-theme .fr-qi-helper a.fr-btn.fr-floating-btn { + color: #37474f; +} +.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-character { + border: 1px solid #cccccc; +} +.gray-theme .fr-element table td.fr-selected-cell, +.gray-theme .fr-element table th.fr-selected-cell { + border: 1px double #0097a7; +} +.gray-theme .fr-table-resizer div { + border-right: 1px solid #0097a7; +} +.gray-theme.fr-popup .fr-table-colors-hex-layer .fr-input-line { + padding: 8px 0 0; +} +.gray-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button { + background-color: #0097a7; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.gray-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button:hover { + background-color: #006974; +} +.gray-theme.fr-popup .fr-table-size .fr-select-table-size { + line-height: 0; +} +.gray-theme.fr-popup .fr-table-size .fr-select-table-size > span { + padding: 0px 4px 4px 0; +} +.gray-theme.fr-popup .fr-table-size .fr-select-table-size > span > span { + border: 1px solid #dddddd; +} +.gray-theme.fr-popup .fr-table-size .fr-select-table-size > span.hover > span { + background: rgba(0, 151, 167, 0.3); + border: solid 1px #0097a7; +} +.gray-theme.fr-popup .fr-table-colors { + line-height: 0; +} +.gray-theme.fr-popup .fr-table-colors > span > i { + bottom: 0; + left: 0; +} +.gray-theme.fr-popup .fr-table-colors > span:focus { + outline: 1px solid #37474f; +} +.gray-theme .fr-element .fr-video::after { + top: 0; + left: 0; + right: 0; + bottom: 0; +} +.gray-theme.fr-box .fr-video-resizer { + border: solid 1px #0097a7; +} +.gray-theme.fr-box .fr-video-resizer .fr-handler { + background: #0097a7; + border: solid 1px #ffffff; +} +.gray-theme.fr-box .fr-video-resizer .fr-handler { + width: 12px; + height: 12px; +} +.gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw { + left: -6px; + top: -6px; +} +.gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hne { + right: -6px; + top: -6px; +} +.gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw { + left: -6px; + bottom: -6px; +} +.gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hse { + right: -6px; + bottom: -6px; +} +@media (min-width: 1200px) { + .gray-theme.fr-box .fr-video-resizer .fr-handler { + width: 10px; + height: 10px; + } + .gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw { + left: -5px; + top: -5px; + } + .gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hne { + right: -5px; + top: -5px; + } + .gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw { + left: -5px; + bottom: -5px; + } + .gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hse { + right: -5px; + bottom: -5px; + } +} +.gray-theme.fr-popup .fr-video-upload-layer { + border: dashed 2px #b7bdc0; + padding: 25px 0; +} +.gray-theme.fr-popup .fr-video-upload-layer:hover { + background: #e6e6e6; +} +.gray-theme.fr-popup .fr-video-upload-layer.fr-drop { + background: #e6e6e6; + border-color: #0097a7; +} +.gray-theme.fr-popup .fr-video-upload-layer .fr-form { + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; +} +.gray-theme.fr-popup .fr-video-progress-bar-layer > h3 { + margin: 10px 0; +} +.gray-theme.fr-popup .fr-video-progress-bar-layer > div.fr-loader { + background: #b3e0e5; +} +.gray-theme.fr-popup .fr-video-progress-bar-layer > div.fr-loader span { + background: #0097a7; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.gray-theme.fr-popup .fr-video-progress-bar-layer > div.fr-loader.fr-indeterminate span { + top: 0; +} +.gray-theme.fr-video-overlay { + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; +} +.gray-theme .fr-view span[style~="color:"] a { + color: inherit; +} +.gray-theme .fr-view strong { + font-weight: 700; +} +.gray-theme .fr-view table.fr-alternate-rows tbody tr:nth-child(2n) { + background: #f5f5f5; +} +.gray-theme .fr-view table td, +.gray-theme .fr-view table th { + border: 1px solid #dddddd; +} +.gray-theme .fr-view table th { + background: #e6e6e6; +} +.gray-theme .fr-view[dir="rtl"] blockquote { + border-right: solid 2px #5e35b1; + margin-right: 0; +} +.gray-theme .fr-view[dir="rtl"] blockquote blockquote { + border-color: #00bcd4; +} +.gray-theme .fr-view[dir="rtl"] blockquote blockquote blockquote { + border-color: #43a047; +} +.gray-theme .fr-view blockquote { + border-left: solid 2px #5e35b1; + margin-left: 0; + color: #5e35b1; +} +.gray-theme .fr-view blockquote blockquote { + border-color: #00bcd4; + color: #00bcd4; +} +.gray-theme .fr-view blockquote blockquote blockquote { + border-color: #43a047; + color: #43a047; +} +.gray-theme .fr-view span.fr-emoticon { + line-height: 0; +} +.gray-theme .fr-view span.fr-emoticon.fr-emoticon-img { + font-size: inherit; +} +.gray-theme .fr-view .fr-text-bordered { + padding: 10px 0; +} +.gray-theme .fr-view .fr-class-highlighted { + background-color: #ffff00; +} +.gray-theme .fr-view .fr-img-caption .fr-img-wrap { + margin: auto; +} +.gray-theme .fr-view .fr-img-caption .fr-img-wrap img { + margin: auto; +} +.gray-theme .fr-view .fr-img-caption .fr-img-wrap > span { + margin: auto; +} +.gray-theme .fr-element .fr-embedly::after { + top: 0; + left: 0; + right: 0; + bottom: 0; +} +.gray-theme.fr-box .fr-embedly-resizer { + border: solid 1px #0097a7; +} +.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal .fr-font-awesome-title { + border-bottom: solid 1px #f0f0f0; +} +.gray-theme .tui-image-editor-container { + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 10; +} +.gray-theme .tui-editor-cancel-btn { + background-color: #ffffff; + border: 1px solid #cccccc; +} +.gray-theme .tui-editor-save-btn { + color: #ffffff; +} +.gray-theme .examples-variante > a { + font-size: 14px; + font-family: Arial, Helvetica, sans-serif; +} +.gray-theme .sc-cm-holder > .sc-cm { + border-top: 5px solid #bdbdbd !important; +} +.gray-theme .sc-cm__item_dropdown:hover > a, +.gray-theme .sc-cm a:hover { + background-color: #e6e6e6 !important; +} +.gray-theme .sc-cm__item_active > a, +.gray-theme .sc-cm__item_active > a:hover, +.gray-theme .sc-cm a:active, +.gray-theme .sc-cm a:focus { + background-color: #d6d6d6 !important; +} +.gray-theme .sc-cm-holder > .sc-cm:before { + background-color: #e6e6e6 !important; +} +.gray-theme .fr-tooltip { + top: 0; + left: 0; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + background: #222222; + color: #ffffff; + font-size: 11px; + line-height: 22px; + font-family: Arial, Helvetica, sans-serif; + -webkit-transition: opacity 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s; +} +.gray-theme.fr-toolbar .fr-command.fr-btn, +.gray-theme.fr-popup .fr-command.fr-btn { + color: #37474f; + -moz-outline: 0; + outline: 0; + border: 0; + margin: 0px 2px; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + padding: 0; + width: 38px; + height: 38px; +} +.gray-theme.fr-toolbar .fr-command.fr-btn::-moz-focus-inner, +.gray-theme.fr-popup .fr-command.fr-btn::-moz-focus-inner { + border: 0; +} +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-btn-text, +.gray-theme.fr-popup .fr-command.fr-btn.fr-btn-text { + width: auto; +} +.gray-theme.fr-toolbar .fr-command.fr-btn i, +.gray-theme.fr-popup .fr-command.fr-btn i, +.gray-theme.fr-toolbar .fr-command.fr-btn svg, +.gray-theme.fr-popup .fr-command.fr-btn svg { + font-size: 14px; + width: 14px; + margin: 12px 12px; +} +.gray-theme.fr-toolbar .fr-command.fr-btn span, +.gray-theme.fr-popup .fr-command.fr-btn span { + font-size: 14px; + line-height: 17px; + min-width: 34px; + height: 17px; + padding: 0 2px; +} +.gray-theme.fr-toolbar .fr-command.fr-btn img, +.gray-theme.fr-popup .fr-command.fr-btn img { + margin: 12px 12px; + width: 14px; +} +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-active, +.gray-theme.fr-popup .fr-command.fr-btn.fr-active { + color: #0097a7; + background: transparent; +} +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection, +.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection { + width: auto; +} +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown i, +.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown i, +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown span, +.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown span, +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown img, +.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown img, +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown svg, +.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown svg { + margin-left: 8px; + margin-right: 16px; +} +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active, +.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active { + color: #37474f; + background: #d6d6d6; +} +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover, +.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover, +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus, +.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus { + background: #d6d6d6 !important; + color: #37474f !important; +} +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover::after, +.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover::after, +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus::after, +.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus::after { + border-top-color: #37474f !important; +} +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown::after, +.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown::after { + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid #37474f; + right: 4px; + top: 17px; +} +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-disabled, +.gray-theme.fr-popup .fr-command.fr-btn.fr-disabled { + color: #b7bdc0; +} +.gray-theme.fr-toolbar .fr-command.fr-btn.fr-disabled::after, +.gray-theme.fr-popup .fr-command.fr-btn.fr-disabled::after { + border-top-color: #b7bdc0 !important; +} +.gray-theme.fr-toolbar.fr-disabled .fr-btn, +.gray-theme.fr-popup.fr-disabled .fr-btn, +.gray-theme.fr-toolbar.fr-disabled .fr-btn.fr-active, +.gray-theme.fr-popup.fr-disabled .fr-btn.fr-active { + color: #b7bdc0; +} +.gray-theme.fr-toolbar.fr-disabled .fr-btn.fr-dropdown::after, +.gray-theme.fr-popup.fr-disabled .fr-btn.fr-dropdown::after, +.gray-theme.fr-toolbar.fr-disabled .fr-btn.fr-active.fr-dropdown::after, +.gray-theme.fr-popup.fr-disabled .fr-btn.fr-active.fr-dropdown::after { + border-top-color: #b7bdc0; +} +.gray-theme.fr-desktop .fr-command:hover, +.gray-theme.fr-desktop .fr-command:focus, +.gray-theme.fr-desktop .fr-command.fr-btn-hover, +.gray-theme.fr-desktop .fr-command.fr-expanded { + outline: 0; + color: #37474f; + background: #e6e6e6; +} +.gray-theme.fr-desktop .fr-command:hover::after, +.gray-theme.fr-desktop .fr-command:focus::after, +.gray-theme.fr-desktop .fr-command.fr-btn-hover::after, +.gray-theme.fr-desktop .fr-command.fr-expanded::after { + border-top-color: #37474f !important; +} +.gray-theme.fr-desktop .fr-command.fr-selected { + color: #37474f; + background: #d6d6d6; +} +.gray-theme.fr-desktop .fr-command.fr-active:hover, +.gray-theme.fr-desktop .fr-command.fr-active:focus, +.gray-theme.fr-desktop .fr-command.fr-active.fr-btn-hover, +.gray-theme.fr-desktop .fr-command.fr-active.fr-expanded { + color: #0097a7; + background: #e6e6e6; +} +.gray-theme.fr-desktop .fr-command.fr-active.fr-selected { + color: #0097a7; + background: #d6d6d6; +} +.gray-theme.fr-toolbar.fr-mobile .fr-command.fr-blink, +.gray-theme.fr-popup.fr-mobile .fr-command.fr-blink { + background: transparent; +} +.gray-theme .fr-command.fr-btn.fr-options { + width: 16px; + margin-left: -5px; +} +.gray-theme .fr-command.fr-btn.fr-options.fr-btn-hover, +.gray-theme .fr-command.fr-btn.fr-options:hover, +.gray-theme .fr-command.fr-btn.fr-options:focus { + border-left: solid 1px #fafafa; +} +.gray-theme .fr-command.fr-btn + .fr-dropdown-menu { + right: auto; + bottom: auto; + height: auto; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.gray-theme .fr-command.fr-btn + .fr-dropdown-menu.test-height .fr-dropdown-wrapper { + height: auto; + max-height: 275px; +} +.gray-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper { + background: #f5f5f5; + padding: 0; + margin: auto; + -webkit-transition: max-height 0.2s ease 0s; + -moz-transition: max-height 0.2s ease 0s; + -ms-transition: max-height 0.2s ease 0s; + -o-transition: max-height 0.2s ease 0s; + margin-top: 0; + max-height: 0; + height: 0; +} +.gray-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content { + overflow: auto; + max-height: 275px; +} +.gray-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list { + margin: 0; + padding: 0; +} +.gray-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li { + padding: 0; + margin: 0; +} +.gray-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a { + color: inherit; +} +.gray-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-active { + background: #d6d6d6; +} +.gray-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-disabled { + color: #b7bdc0; +} +.gray-theme .fr-command.fr-btn.fr-active + .fr-dropdown-menu { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); +} +.gray-theme .fr-command.fr-btn.fr-active + .fr-dropdown-menu .fr-dropdown-wrapper { + height: auto; + max-height: 275px; +} +.gray-theme .fr-bottom > .fr-command.fr-btn + .fr-dropdown-menu { + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.gray-theme.fr-modal { + color: #37474f; + font-family: Arial, Helvetica, sans-serif; + overflow-x: auto; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; +} +.gray-theme.fr-modal.fr-middle .fr-modal-wrapper { + margin-top: 0; + margin-bottom: 0; + margin-left: auto; + margin-right: auto; +} +.gray-theme.fr-modal .fr-modal-wrapper { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 20px auto; + background: #ffffff; + -webkit-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.19), 0 4px 3px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.19), 0 4px 3px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 5px 8px rgba(0, 0, 0, 0.19), 0 4px 3px 1px rgba(0, 0, 0, 0.14); + border: 0px; + border-top: 5px solid #bdbdbd; +} +@media (min-width: 768px) and (max-width: 991px) { + .gray-theme.fr-modal .fr-modal-wrapper { + margin: 30px auto; + } +} +@media (min-width: 992px) { + .gray-theme.fr-modal .fr-modal-wrapper { + margin: 50px auto; + } +} +.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-head { + background: #f5f5f5; + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + border-bottom: 0px; + -webkit-transition: height 0.2s ease 0s; + -moz-transition: height 0.2s ease 0s; + -ms-transition: height 0.2s ease 0s; + -o-transition: height 0.2s ease 0s; +} +.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-head .fr-modal-close { + color: #37474f; + top: 0; + right: 0; + -webkit-transition: color 0.2s ease 0s; + -moz-transition: color 0.2s ease 0s; + -ms-transition: color 0.2s ease 0s; + -o-transition: color 0.2s ease 0s; +} +.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-head h4 { + margin: 0; + font-weight: 400; +} +.gray-theme.fr-modal .fr-modal-wrapper div.fr-modal-body:focus { + outline: 0; +} +.gray-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command { + color: #0097a7; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.gray-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:hover, +.gray-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:focus { + background: #e6e6e6; + color: #0097a7; +} +.gray-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:active { + background: #d6d6d6; + color: #0097a7; +} +.gray-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button::-moz-focus-inner { + border: 0; +} +.gray-theme.gray-theme.fr-desktop .fr-modal-wrapper .fr-modal-head i:hover { + background: #e6e6e6; +} +.gray-theme.fr-overlay { + top: 0; + bottom: 0; + left: 0; + right: 0; + background: #000000; +} +.gray-theme.fr-popup { + color: #37474f; + background: #f5f5f5; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-family: Arial, Helvetica, sans-serif; + border: 0px; + border-top: 5px solid #bdbdbd; +} +.gray-theme.fr-popup .fr-input-focus { + background: #ebebeb; +} +.gray-theme.fr-popup.fr-above { + border-top: 0; + border-bottom: 5px solid #bdbdbd; + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); +} +.gray-theme.fr-popup .fr-input-line { + padding: 8px 0; +} +.gray-theme.fr-popup .fr-input-line input[type="text"], +.gray-theme.fr-popup .fr-input-line textarea { + margin: 0px 0 1px 0; + border-bottom: solid 1px #bdbdbd; + color: #37474f; +} +.gray-theme.fr-popup .fr-input-line input[type="text"]:focus, +.gray-theme.fr-popup .fr-input-line textarea:focus { + border-bottom: solid 2px #0097a7; +} +.gray-theme.fr-popup .fr-input-line input + label, +.gray-theme.fr-popup .fr-input-line textarea + label { + top: 0; + left: 0; + -webkit-transition: color 0.2s ease 0s; + -moz-transition: color 0.2s ease 0s; + -ms-transition: color 0.2s ease 0s; + -o-transition: color 0.2s ease 0s; + background: #f5f5f5; +} +.gray-theme.fr-popup .fr-input-line input.fr-not-empty:focus + label, +.gray-theme.fr-popup .fr-input-line textarea.fr-not-empty:focus + label { + color: #0097a7; +} +.gray-theme.fr-popup .fr-input-line input.fr-not-empty + label, +.gray-theme.fr-popup .fr-input-line textarea.fr-not-empty + label { + color: #808080; +} +.gray-theme.fr-popup .fr-buttons { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + padding: 0 2px; + line-height: 0; + border-bottom: 0px; +} +.gray-theme.fr-popup .fr-layer { + width: 225px; +} +@media (min-width: 768px) { + .gray-theme.fr-popup .fr-layer { + width: 300px; + } +} +.gray-theme.fr-popup .fr-action-buttons button.fr-command { + color: #0097a7; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.gray-theme.fr-popup .fr-action-buttons button.fr-command:hover, +.gray-theme.fr-popup .fr-action-buttons button.fr-command:focus { + background: #e6e6e6; + color: #0097a7; +} +.gray-theme.fr-popup .fr-action-buttons button.fr-command:active { + background: #d6d6d6; + color: #0097a7; +} +.gray-theme.fr-popup .fr-action-buttons button::-moz-focus-inner { + border: 0; +} +.gray-theme.fr-popup .fr-checkbox span { + border: solid 1px #37474f; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; +} +.gray-theme.fr-popup .fr-checkbox input { + margin: 0; + padding: 0; +} +.gray-theme.fr-popup .fr-checkbox input:checked + span { + background: #0097a7; + border-color: #0097a7; +} +.gray-theme.fr-popup .fr-checkbox input:focus + span { + border-color: #0097a7; +} +.gray-theme.fr-popup.fr-rtl .fr-input-line input + label, +.gray-theme.fr-popup.fr-rtl .fr-input-line textarea + label { + left: auto; + right: 0; +} +.gray-theme.fr-popup .fr-arrow { + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #bdbdbd; + top: -9px; + margin-left: -5px; +} +.gray-theme.fr-popup.fr-above .fr-arrow { + top: auto; + bottom: -9px; + border-bottom: 0; + border-top: 5px solid #bdbdbd; +} +.gray-theme.fr-toolbar { + color: #37474f; + background: #f5f5f5; + font-family: Arial, Helvetica, sans-serif; + padding: 0 2px; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + border: 0px; + border-top: 5px solid #bdbdbd; +} +.gray-theme.fr-toolbar.fr-inline .fr-arrow { + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #bdbdbd; + top: -9px; + margin-left: -5px; +} +.gray-theme.fr-toolbar.fr-inline.fr-above { + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + border-bottom: 5px solid #bdbdbd; + border-top: 0; +} +.gray-theme.fr-toolbar.fr-inline.fr-above .fr-arrow { + top: auto; + bottom: -9px; + border-bottom: 0; + border-top-color: inherit; + border-top-width: 5px; +} +.gray-theme.fr-toolbar.fr-top { + top: 0; + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.gray-theme.fr-toolbar.fr-bottom { + bottom: 0; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.gray-theme .fr-separator { + background: #ebebeb; +} +.gray-theme .fr-separator.fr-vs { + height: 34px; + width: 1px; + margin: 2px; +} +.gray-theme .fr-separator.fr-hs { + height: 1px; + width: calc(100% - (2 * 2px)); + margin: 0 2px; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/themes/gray.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/themes/red.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/themes/red.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/themes/red.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.red-theme.fr-box.fr-basic .fr-element{color:#000;padding:16px;overflow-x:auto;min-height:52px}.red-theme .fr-element{-webkit-user-select:auto}.red-theme.fr-box a.fr-floating-btn{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;height:32px;width:32px;background:#fff;color:#ffca28;-webkit-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-moz-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-ms-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-o-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;left:0;top:0;line-height:32px;border:solid 1px #ccc}.red-theme.fr-box a.fr-floating-btn svg{-webkit-transition:transform .2s ease 0s;-moz-transition:transform .2s ease 0s;-ms-transition:transform .2s ease 0s;-o-transition:transform .2s ease 0s;fill:#ffca28}.red-theme.fr-box a.fr-floating-btn i,.red-theme.fr-box a.fr-floating-btn svg{font-size:14px;line-height:32px}.red-theme.fr-box a.fr-floating-btn:hover{background:#ebebeb}.red-theme.fr-box a.fr-floating-btn:hover svg{fill:#ffca28}.red-theme .fr-wrapper .fr-placeholder{font-size:12px;color:#aaa;top:0;left:0;right:0}.red-theme .fr-wrapper ::-moz-selection{background:#b5d6fd;color:#000}.red-theme .fr-wrapper ::selection{background:#b5d6fd;color:#000}.red-theme.fr-box.fr-basic .fr-wrapper{background:#fff;border:solid 1px #671b1a;border-top:0;top:0;left:0}.red-theme.fr-box.fr-basic.fr-top .fr-wrapper{border-top:0;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.red-theme.fr-box.fr-basic.fr-bottom .fr-wrapper{border-bottom:0;border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}@media (min-width:992px){.red-theme .fr-box.fr-document .fr-wrapper .fr-element{margin:auto;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}}.red-theme .fr-sticky-on.fr-sticky-ios{left:0;right:0}.red-theme.fr-box .fr-counter{color:#ccc;background:#fff;border-top:solid 1px #ebebeb;border-left:solid 1px #ebebeb;border-radius:2px 0 0;-moz-border-radius:2px 0 0;-webkit-border-radius:2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.red-theme.fr-box.fr-rtl .fr-counter{right:auto;border-right:solid 1px #ebebeb;border-radius:0 2px 0 0;-moz-border-radius:0 2px 0 0;-webkit-border-radius:0 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.red-theme textarea.fr-code{background:#fff;color:#000}.red-theme.fr-box.fr-code-view.fr-inline{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.red-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch{top:0;right:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background:#fff;color:#fff;-moz-outline:0;outline:0;border:0;padding:12px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s}.red-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch i{font-size:14px;width:14px}.red-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover{background:#c65a59}.red-theme.fr-popup .fr-colors-tabs{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.red-theme.fr-popup .fr-colors-tabs .fr-colors-tab{color:#fff;padding:8px 0}.red-theme.fr-popup .fr-colors-tabs .fr-colors-tab:hover,.red-theme.fr-popup .fr-colors-tabs .fr-colors-tab:focus{color:#ffca28}.red-theme.fr-popup .fr-colors-tabs .fr-colors-tab[data-param1=background]::after{bottom:0;left:0;background:#ffca28;-webkit-transition:transform .2s ease 0s;-moz-transition:transform .2s ease 0s;-ms-transition:transform .2s ease 0s;-o-transition:transform .2s ease 0s}.red-theme.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab{color:#ffca28}.red-theme.fr-popup .fr-color-hex-layer .fr-input-line{padding:8px 0 0}.red-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button{background-color:#ffca28;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.red-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button:hover{background-color:#f4b800}.red-theme.fr-popup .fr-color-set{line-height:0}.red-theme.fr-popup .fr-color-set>span>i,.red-theme.fr-popup .fr-color-set>span>svg{bottom:0;left:0}.red-theme.fr-popup .fr-color-set>span .fr-selected-color{color:#fff;font-weight:400;top:0;bottom:0;right:0;left:0}.red-theme.fr-popup .fr-color-set>span:hover,.red-theme.fr-popup .fr-color-set>span:focus{outline:1px solid #fff}.red-theme .fr-drag-helper{background:#ffca28;z-index:2147483640}.red-theme.fr-popup .fr-link:focus{outline:0;background:#c65a59}.red-theme.fr-popup .fr-file-upload-layer{border:dashed 2px #edc9c9;padding:25px 0}.red-theme.fr-popup .fr-file-upload-layer:hover{background:#c65a59}.red-theme.fr-popup .fr-file-upload-layer.fr-drop{background:#c65a59;border-color:#ffca28}.red-theme.fr-popup .fr-file-upload-layer .fr-form{top:0;bottom:0;left:0;right:0;z-index:2147483640}.red-theme.fr-popup .fr-file-progress-bar-layer>h3{margin:10px 0}.red-theme.fr-popup .fr-file-progress-bar-layer>div.fr-loader{background:#ffefbf}.red-theme.fr-popup .fr-file-progress-bar-layer>div.fr-loader span{background:#ffca28;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.red-theme.fr-popup .fr-file-progress-bar-layer>div.fr-loader.fr-indeterminate span{top:0}.red-theme.fr-box.fr-fullscreen{top:0;left:0;bottom:0;right:0}.red-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tr{border:0}.red-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody tr{border-bottom:solid 1px rgba(255,255,255,.3)}.red-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:first-child{color:#fff}.red-theme .fr-image-resizer{border:solid 1px #ffca28}.red-theme .fr-image-resizer .fr-handler{background:#ffca28;border:solid 1px #fff}.red-theme .fr-image-resizer .fr-handler{width:12px;height:12px}.red-theme .fr-image-resizer .fr-handler.fr-hnw{left:-6px;top:-6px}.red-theme .fr-image-resizer .fr-handler.fr-hne{right:-6px;top:-6px}.red-theme .fr-image-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px}.red-theme .fr-image-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px}@media (min-width:1200px){.red-theme .fr-image-resizer .fr-handler{width:10px;height:10px}.red-theme .fr-image-resizer .fr-handler.fr-hnw{left:-5px;top:-5px}.red-theme .fr-image-resizer .fr-handler.fr-hne{right:-5px;top:-5px}.red-theme .fr-image-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px}.red-theme .fr-image-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px}}.red-theme.fr-image-overlay{top:0;left:0;bottom:0;right:0;z-index:2147483640}.red-theme.fr-popup .fr-image-upload-layer{border:dashed 2px #edc9c9;padding:25px 0}.red-theme.fr-popup .fr-image-upload-layer:hover{background:#c65a59}.red-theme.fr-popup .fr-image-upload-layer.fr-drop{background:#c65a59;border-color:#ffca28}.red-theme.fr-popup .fr-image-upload-layer .fr-form{top:0;bottom:0;left:0;right:0;z-index:2147483640}.red-theme.fr-popup .fr-image-progress-bar-layer>h3{margin:10px 0}.red-theme.fr-popup .fr-image-progress-bar-layer>div.fr-loader{background:#ffefbf}.red-theme.fr-popup .fr-image-progress-bar-layer>div.fr-loader span{background:#ffca28;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.red-theme.fr-popup .fr-image-progress-bar-layer>div.fr-loader.fr-indeterminate span{top:0}.red-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more{-webkit-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-moz-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-ms-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-o-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s}.red-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more.fr-not-available{opacity:0;width:0;padding:12px 0}.red-theme.fr-modal-head .fr-modal-tags a{opacity:0;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;color:#ffca28;-webkit-transition:opacity .2s ease 0s,background .2s ease 0s;-moz-transition:opacity .2s ease 0s,background .2s ease 0s;-ms-transition:opacity .2s ease 0s,background .2s ease 0s;-o-transition:opacity .2s ease 0s,background .2s ease 0s}.red-theme.fr-modal-head .fr-modal-tags a.fr-selected-tag{background:#d48382}.red-themediv.fr-modal-body .fr-preloader{margin:50px auto}.red-themediv.fr-modal-body div.fr-image-list{padding:0}.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::after{-webkit-transition:opacity .2s ease 0s;-moz-transition:opacity .2s ease 0s;-ms-transition:opacity .2s ease 0s;-o-transition:opacity .2s ease 0s;background:#000;top:0;left:0;bottom:0;right:0}.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::before{color:#fff;top:0;left:0;bottom:0;right:0;margin:auto}.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty{background:#ccc}.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty::after{margin:auto;top:0;bottom:0;left:0;right:0}.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container img{-webkit-transition:opacity .2s ease 0s,filter .2s ease 0s;-moz-transition:opacity .2s ease 0s,filter .2s ease 0s;-ms-transition:opacity .2s ease 0s,filter .2s ease 0s;-o-transition:opacity .2s ease 0s,filter .2s ease 0s}.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img,.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img{-webkit-transition:background .2s ease 0s,color .2s ease 0s;-moz-transition:background .2s ease 0s,color .2s ease 0s;-ms-transition:background .2s ease 0s,color .2s ease 0s;-o-transition:background .2s ease 0s,color .2s ease 0s;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;margin:0}.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img{background:#b8312f;color:#fff}.red-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img{background:#b8312f;color:#ffca28}.red-theme.red-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a:hover{background:#c65a59}.red-theme.red-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a.fr-selected-tag{background:#d48382}.red-theme.red-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img:hover{background:#bf4644;color:#fff}.red-theme.red-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img:hover{background:#c65a59}.red-theme .fr-line-breaker{border-top:1px solid #ffca28}.red-theme .fr-line-breaker a.fr-floating-btn{left:calc(50% - (32px / 2));top:-16px}.red-theme .fr-qi-helper{padding-left:16px}.red-theme .fr-qi-helper a.fr-btn.fr-floating-btn{color:#fff}.red-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-character{border:1px solid #ccc}.red-theme .fr-element table td.fr-selected-cell,.red-theme .fr-element table th.fr-selected-cell{border:1px double #ffca28}.red-theme .fr-table-resizer div{border-right:1px solid #ffca28}.red-theme.fr-popup .fr-table-colors-hex-layer .fr-input-line{padding:8px 0 0}.red-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button{background-color:#ffca28;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.red-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button:hover{background-color:#f4b800}.red-theme.fr-popup .fr-table-size .fr-select-table-size{line-height:0}.red-theme.fr-popup .fr-table-size .fr-select-table-size>span{padding:0 4px 4px 0}.red-theme.fr-popup .fr-table-size .fr-select-table-size>span>span{border:1px solid #ddd}.red-theme.fr-popup .fr-table-size .fr-select-table-size>span.hover>span{background:rgba(255,202,40,.3);border:solid 1px #ffca28}.red-theme.fr-popup .fr-table-colors{line-height:0}.red-theme.fr-popup .fr-table-colors>span>i{bottom:0;left:0}.red-theme.fr-popup .fr-table-colors>span:focus{outline:1px solid #fff}.red-theme .fr-element .fr-video::after{top:0;left:0;right:0;bottom:0}.red-theme.fr-box .fr-video-resizer{border:solid 1px #ffca28}.red-theme.fr-box .fr-video-resizer .fr-handler{background:#ffca28;border:solid 1px #fff}.red-theme.fr-box .fr-video-resizer .fr-handler{width:12px;height:12px}.red-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-6px;top:-6px}.red-theme.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-6px;top:-6px}.red-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px}.red-theme.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px}@media (min-width:1200px){.red-theme.fr-box .fr-video-resizer .fr-handler{width:10px;height:10px}.red-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-5px;top:-5px}.red-theme.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-5px;top:-5px}.red-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px}.red-theme.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px}}.red-theme.fr-popup .fr-video-upload-layer{border:dashed 2px #edc9c9;padding:25px 0}.red-theme.fr-popup .fr-video-upload-layer:hover{background:#c65a59}.red-theme.fr-popup .fr-video-upload-layer.fr-drop{background:#c65a59;border-color:#ffca28}.red-theme.fr-popup .fr-video-upload-layer .fr-form{top:0;bottom:0;left:0;right:0;z-index:2147483640}.red-theme.fr-popup .fr-video-progress-bar-layer>h3{margin:10px 0}.red-theme.fr-popup .fr-video-progress-bar-layer>div.fr-loader{background:#ffefbf}.red-theme.fr-popup .fr-video-progress-bar-layer>div.fr-loader span{background:#ffca28;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.red-theme.fr-popup .fr-video-progress-bar-layer>div.fr-loader.fr-indeterminate span{top:0}.red-theme.fr-video-overlay{top:0;left:0;bottom:0;right:0;z-index:2147483640}.red-theme .fr-view span[style~="color:"] a{color:inherit}.red-theme .fr-view strong{font-weight:700}.red-theme .fr-view table.fr-alternate-rows tbody tr:nth-child(2n){background:#f5f5f5}.red-theme .fr-view table td,.red-theme .fr-view table th{border:1px solid #ddd}.red-theme .fr-view table th{background:#e6e6e6}.red-theme .fr-view[dir=rtl] blockquote{border-right:solid 2px #5e35b1;margin-right:0}.red-theme .fr-view[dir=rtl] blockquote blockquote{border-color:#00bcd4}.red-theme .fr-view[dir=rtl] blockquote blockquote blockquote{border-color:#43a047}.red-theme .fr-view blockquote{border-left:solid 2px #5e35b1;margin-left:0;color:#5e35b1}.red-theme .fr-view blockquote blockquote{border-color:#00bcd4;color:#00bcd4}.red-theme .fr-view blockquote blockquote blockquote{border-color:#43a047;color:#43a047}.red-theme .fr-view span.fr-emoticon{line-height:0}.red-theme .fr-view span.fr-emoticon.fr-emoticon-img{font-size:inherit}.red-theme .fr-view .fr-text-bordered{padding:10px 0}.red-theme .fr-view .fr-class-highlighted{background-color:#ff0}.red-theme .fr-view .fr-img-caption .fr-img-wrap{margin:auto}.red-theme .fr-view .fr-img-caption .fr-img-wrap img{margin:auto}.red-theme .fr-view .fr-img-caption .fr-img-wrap>span{margin:auto}.red-theme .fr-element .fr-embedly::after{top:0;left:0;right:0;bottom:0}.red-theme.fr-box .fr-embedly-resizer{border:solid 1px #ffca28}.red-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal .fr-font-awesome-title{border-bottom:solid 1px #f0f0f0}.red-theme .tui-image-editor-container{top:0;left:0;bottom:0;right:0;z-index:10}.red-theme .tui-editor-cancel-btn{background-color:#fff;border:1px solid #ccc}.red-theme .tui-editor-save-btn{color:#fff}.red-theme .examples-variante>a{font-size:14px;font-family:Arial,Helvetica,sans-serif}.red-theme .sc-cm-holder>.sc-cm{border-top:5px solid #671b1a!important}.red-theme .sc-cm__item_dropdown:hover>a,.red-theme .sc-cm a:hover{background-color:#c65a59!important}.red-theme .sc-cm__item_active>a,.red-theme .sc-cm__item_active>a:hover,.red-theme .sc-cm a:active,.red-theme .sc-cm a:focus{background-color:#d48382!important}.red-theme .sc-cm-holder>.sc-cm:before{background-color:#c65a59!important}.red-theme .fr-tooltip{top:0;left:0;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background:#222;color:#fff;font-size:11px;line-height:22px;font-family:Arial,Helvetica,sans-serif;-webkit-transition:opacity .2s ease 0s;-moz-transition:opacity .2s ease 0s;-ms-transition:opacity .2s ease 0s;-o-transition:opacity .2s ease 0s}.red-theme.fr-toolbar .fr-command.fr-btn,.red-theme.fr-popup .fr-command.fr-btn{color:#fff;-moz-outline:0;outline:0;border:0;margin:0 2px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;padding:0;width:38px;height:38px}.red-theme.fr-toolbar .fr-command.fr-btn::-moz-focus-inner,.red-theme.fr-popup .fr-command.fr-btn::-moz-focus-inner{border:0}.red-theme.fr-toolbar .fr-command.fr-btn.fr-btn-text,.red-theme.fr-popup .fr-command.fr-btn.fr-btn-text{width:auto}.red-theme.fr-toolbar .fr-command.fr-btn i,.red-theme.fr-popup .fr-command.fr-btn i,.red-theme.fr-toolbar .fr-command.fr-btn svg,.red-theme.fr-popup .fr-command.fr-btn svg{font-size:14px;width:14px;margin:12px}.red-theme.fr-toolbar .fr-command.fr-btn span,.red-theme.fr-popup .fr-command.fr-btn span{font-size:14px;line-height:17px;min-width:34px;height:17px;padding:0 2px}.red-theme.fr-toolbar .fr-command.fr-btn img,.red-theme.fr-popup .fr-command.fr-btn img{margin:12px;width:14px}.red-theme.fr-toolbar .fr-command.fr-btn.fr-active,.red-theme.fr-popup .fr-command.fr-btn.fr-active{color:#ffca28;background:0 0}.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection,.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection{width:auto}.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown i,.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown i,.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown span,.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown span,.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown img,.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown img,.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown svg,.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown svg{margin-left:8px;margin-right:16px}.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active,.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active{color:#fff;background:#d48382}.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover,.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover,.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus,.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus{background:#d48382!important;color:#fff!important}.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover::after,.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover::after,.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus::after,.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus::after{border-top-color:#fff!important}.red-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown::after,.red-theme.fr-popup .fr-command.fr-btn.fr-dropdown::after{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #fff;right:4px;top:17px}.red-theme.fr-toolbar .fr-command.fr-btn.fr-disabled,.red-theme.fr-popup .fr-command.fr-btn.fr-disabled{color:#edc9c9}.red-theme.fr-toolbar .fr-command.fr-btn.fr-disabled::after,.red-theme.fr-popup .fr-command.fr-btn.fr-disabled::after{border-top-color:#edc9c9!important}.red-theme.fr-toolbar.fr-disabled .fr-btn,.red-theme.fr-popup.fr-disabled .fr-btn,.red-theme.fr-toolbar.fr-disabled .fr-btn.fr-active,.red-theme.fr-popup.fr-disabled .fr-btn.fr-active{color:#edc9c9}.red-theme.fr-toolbar.fr-disabled .fr-btn.fr-dropdown::after,.red-theme.fr-popup.fr-disabled .fr-btn.fr-dropdown::after,.red-theme.fr-toolbar.fr-disabled .fr-btn.fr-active.fr-dropdown::after,.red-theme.fr-popup.fr-disabled .fr-btn.fr-active.fr-dropdown::after{border-top-color:#edc9c9}.red-theme.fr-desktop .fr-command:hover,.red-theme.fr-desktop .fr-command:focus,.red-theme.fr-desktop .fr-command.fr-btn-hover,.red-theme.fr-desktop .fr-command.fr-expanded{outline:0;color:#fff;background:#c65a59}.red-theme.fr-desktop .fr-command:hover::after,.red-theme.fr-desktop .fr-command:focus::after,.red-theme.fr-desktop .fr-command.fr-btn-hover::after,.red-theme.fr-desktop .fr-command.fr-expanded::after{border-top-color:#fff!important}.red-theme.fr-desktop .fr-command.fr-selected{color:#fff;background:#d48382}.red-theme.fr-desktop .fr-command.fr-active:hover,.red-theme.fr-desktop .fr-command.fr-active:focus,.red-theme.fr-desktop .fr-command.fr-active.fr-btn-hover,.red-theme.fr-desktop .fr-command.fr-active.fr-expanded{color:#ffca28;background:#c65a59}.red-theme.fr-desktop .fr-command.fr-active.fr-selected{color:#ffca28;background:#d48382}.red-theme.fr-toolbar.fr-mobile .fr-command.fr-blink,.red-theme.fr-popup.fr-mobile .fr-command.fr-blink{background:0 0}.red-theme .fr-command.fr-btn.fr-options{width:16px;margin-left:-5px}.red-theme .fr-command.fr-btn.fr-options.fr-btn-hover,.red-theme .fr-command.fr-btn.fr-options:hover,.red-theme .fr-command.fr-btn.fr-options:focus{border-left:solid 1px #fafafa}.red-theme .fr-command.fr-btn+.fr-dropdown-menu{right:auto;bottom:auto;height:auto;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.red-theme .fr-command.fr-btn+.fr-dropdown-menu.test-height .fr-dropdown-wrapper{height:auto;max-height:275px}.red-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper{background:#b8312f;padding:0;margin:auto;-webkit-transition:max-height .2s ease 0s;-moz-transition:max-height .2s ease 0s;-ms-transition:max-height .2s ease 0s;-o-transition:max-height .2s ease 0s;margin-top:0;max-height:0;height:0}.red-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content{overflow:auto;max-height:275px}.red-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list{margin:0;padding:0}.red-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li{padding:0;margin:0}.red-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a{color:inherit}.red-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-active{background:#d48382}.red-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-disabled{color:#edc9c9}.red-theme .fr-command.fr-btn.fr-active+.fr-dropdown-menu{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.red-theme .fr-command.fr-btn.fr-active+.fr-dropdown-menu .fr-dropdown-wrapper{height:auto;max-height:275px}.red-theme .fr-bottom>.fr-command.fr-btn+.fr-dropdown-menu{border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.red-theme.fr-modal{color:#fff;font-family:Arial,Helvetica,sans-serif;overflow-x:auto;top:0;left:0;bottom:0;right:0;z-index:2147483640}.red-theme.fr-modal.fr-middle .fr-modal-wrapper{margin-top:0;margin-bottom:0;margin-left:auto;margin-right:auto}.red-theme.fr-modal .fr-modal-wrapper{border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;margin:20px auto;background:#b8312f;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border:solid 1px #671b1a;border-top:5px solid #671b1a}@media (min-width:768px) and (max-width:991px){.red-theme.fr-modal .fr-modal-wrapper{margin:30px auto}}@media (min-width:992px){.red-theme.fr-modal .fr-modal-wrapper{margin:50px auto}}.red-theme.fr-modal .fr-modal-wrapper .fr-modal-head{background:#b8312f;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border-bottom:solid 1px #671b1a;-webkit-transition:height .2s ease 0s;-moz-transition:height .2s ease 0s;-ms-transition:height .2s ease 0s;-o-transition:height .2s ease 0s}.red-theme.fr-modal .fr-modal-wrapper .fr-modal-head .fr-modal-close{color:#fff;top:0;right:0;-webkit-transition:color .2s ease 0s;-moz-transition:color .2s ease 0s;-ms-transition:color .2s ease 0s;-o-transition:color .2s ease 0s}.red-theme.fr-modal .fr-modal-wrapper .fr-modal-head h4{margin:0;font-weight:400}.red-theme.fr-modal .fr-modal-wrapper div.fr-modal-body:focus{outline:0}.red-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command{color:#ffca28;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.red-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:hover,.red-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:focus{background:#c65a59;color:#ffca28}.red-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:active{background:#d48382;color:#ffca28}.red-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button::-moz-focus-inner{border:0}.red-theme.red-theme.fr-desktop .fr-modal-wrapper .fr-modal-head i:hover{background:#c65a59}.red-theme.fr-overlay{top:0;bottom:0;left:0;right:0;background:#000}.red-theme.fr-popup{color:#fff;background:#b8312f;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;font-family:Arial,Helvetica,sans-serif;border:solid 1px #671b1a;border-top:5px solid #671b1a}.red-theme.fr-popup .fr-input-focus{background:#bf4644}.red-theme.fr-popup.fr-above{border-top:0;border-bottom:5px solid #671b1a;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.red-theme.fr-popup .fr-input-line{padding:8px 0}.red-theme.fr-popup .fr-input-line input[type=text],.red-theme.fr-popup .fr-input-line textarea{margin:0 0 1px;border-bottom:solid 1px #bdbdbd;color:#fff}.red-theme.fr-popup .fr-input-line input[type=text]:focus,.red-theme.fr-popup .fr-input-line textarea:focus{border-bottom:solid 2px #ffca28}.red-theme.fr-popup .fr-input-line input+label,.red-theme.fr-popup .fr-input-line textarea+label{top:0;left:0;-webkit-transition:color .2s ease 0s;-moz-transition:color .2s ease 0s;-ms-transition:color .2s ease 0s;-o-transition:color .2s ease 0s;background:#b8312f}.red-theme.fr-popup .fr-input-line input.fr-not-empty:focus+label,.red-theme.fr-popup .fr-input-line textarea.fr-not-empty:focus+label{color:#ffca28}.red-theme.fr-popup .fr-input-line input.fr-not-empty+label,.red-theme.fr-popup .fr-input-line textarea.fr-not-empty+label{color:gray}.red-theme.fr-popup .fr-buttons{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;padding:0 2px;line-height:0;border-bottom:solid 1px #671b1a}.red-theme.fr-popup .fr-layer{width:225px}@media (min-width:768px){.red-theme.fr-popup .fr-layer{width:300px}}.red-theme.fr-popup .fr-action-buttons button.fr-command{color:#ffca28;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.red-theme.fr-popup .fr-action-buttons button.fr-command:hover,.red-theme.fr-popup .fr-action-buttons button.fr-command:focus{background:#c65a59;color:#ffca28}.red-theme.fr-popup .fr-action-buttons button.fr-command:active{background:#d48382;color:#ffca28}.red-theme.fr-popup .fr-action-buttons button::-moz-focus-inner{border:0}.red-theme.fr-popup .fr-checkbox span{border:solid 1px #fff;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-transition:background .2s ease 0s,border-color .2s ease 0s;-moz-transition:background .2s ease 0s,border-color .2s ease 0s;-ms-transition:background .2s ease 0s,border-color .2s ease 0s;-o-transition:background .2s ease 0s,border-color .2s ease 0s}.red-theme.fr-popup .fr-checkbox input{margin:0;padding:0}.red-theme.fr-popup .fr-checkbox input:checked+span{background:#ffca28;border-color:#ffca28}.red-theme.fr-popup .fr-checkbox input:focus+span{border-color:#ffca28}.red-theme.fr-popup.fr-rtl .fr-input-line input+label,.red-theme.fr-popup.fr-rtl .fr-input-line textarea+label{left:auto;right:0}.red-theme.fr-popup .fr-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #671b1a;top:-9px;margin-left:-5px}.red-theme.fr-popup.fr-above .fr-arrow{top:auto;bottom:-9px;border-bottom:0;border-top:5px solid #671b1a}.red-theme.fr-toolbar{color:#fff;background:#b8312f;font-family:Arial,Helvetica,sans-serif;padding:0 2px;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border:solid 1px #671b1a;border-top:5px solid #671b1a}.red-theme.fr-toolbar.fr-inline .fr-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #671b1a;top:-9px;margin-left:-5px}.red-theme.fr-toolbar.fr-inline.fr-above{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;border-bottom:5px solid #671b1a;border-top:0}.red-theme.fr-toolbar.fr-inline.fr-above .fr-arrow{top:auto;bottom:-9px;border-bottom:0;border-top-color:inherit;border-top-width:5px}.red-theme.fr-toolbar.fr-top{top:0;border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.red-theme.fr-toolbar.fr-bottom{bottom:0;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.red-theme .fr-separator{background:rgba(255,255,255,.3)}.red-theme .fr-separator.fr-vs{height:34px;width:1px;margin:2px}.red-theme .fr-separator.fr-hs{height:1px;width:calc(100% - (2 * 2px));margin:0 2px} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/themes/red.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/themes/dark.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/themes/dark.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/themes/dark.css (revision 7) @@ -0,0 +1,1324 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.dark-theme.fr-box.fr-basic .fr-element { + color: #000000; + padding: 16px; + overflow-x: auto; + min-height: 52px; +} +.dark-theme .fr-element { + -webkit-user-select: auto; +} +.dark-theme.fr-box a.fr-floating-btn { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + height: 32px; + width: 32px; + background: #353535; + color: #42a5f5; + -webkit-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + left: 0; + top: 0; + line-height: 32px; + border: none; +} +.dark-theme.fr-box a.fr-floating-btn svg { + -webkit-transition: transform 0.2s ease 0s; + -moz-transition: transform 0.2s ease 0s; + -ms-transition: transform 0.2s ease 0s; + -o-transition: transform 0.2s ease 0s; + fill: #42a5f5; +} +.dark-theme.fr-box a.fr-floating-btn i, +.dark-theme.fr-box a.fr-floating-btn svg { + font-size: 14px; + line-height: 32px; +} +.dark-theme.fr-box a.fr-floating-btn:hover { + background: #3d3d3d; +} +.dark-theme.fr-box a.fr-floating-btn:hover svg { + fill: #42a5f5; +} +.dark-theme .fr-wrapper .fr-placeholder { + font-size: 12px; + color: #aaaaaa; + top: 0; + left: 0; + right: 0; +} +.dark-theme .fr-wrapper ::-moz-selection { + background: #b5d6fd; + color: #000000; +} +.dark-theme .fr-wrapper ::selection { + background: #b5d6fd; + color: #000000; +} +.dark-theme.fr-box.fr-basic .fr-wrapper { + background: #ffffff; + border: 0px; + border-top: 0; + top: 0; + left: 0; +} +.dark-theme.fr-box.fr-basic.fr-top .fr-wrapper { + border-top: 0; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.dark-theme.fr-box.fr-basic.fr-bottom .fr-wrapper { + border-bottom: 0; + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); +} +@media (min-width: 992px) { + .dark-theme .fr-box.fr-document .fr-wrapper .fr-element { + margin: auto; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + } +} +.dark-theme .fr-sticky-on.fr-sticky-ios { + left: 0; + right: 0; +} +.dark-theme.fr-box .fr-counter { + color: #aaaaaa; + background: #ffffff; + border-top: solid 1px #ebebeb; + border-left: solid 1px #ebebeb; + border-radius: 2px 0 0 0; + -moz-border-radius: 2px 0 0 0; + -webkit-border-radius: 2px 0 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.dark-theme.fr-box.fr-rtl .fr-counter { + right: auto; + border-right: solid 1px #ebebeb; + border-radius: 0 2px 0 0; + -moz-border-radius: 0 2px 0 0; + -webkit-border-radius: 0 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.dark-theme textarea.fr-code { + background: #ffffff; + color: #000000; +} +.dark-theme.fr-box.fr-code-view.fr-inline { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.dark-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch { + top: 0; + right: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + background: #ffffff; + color: #ffffff; + -moz-outline: 0; + outline: 0; + border: 0; + padding: 12px 12px; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; +} +.dark-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch i { + font-size: 14px; + width: 14px; +} +.dark-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover { + background: #3d3d3d; +} +.dark-theme.fr-popup .fr-colors-tabs { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.dark-theme.fr-popup .fr-colors-tabs .fr-colors-tab { + color: #ffffff; + padding: 8px 0; +} +.dark-theme.fr-popup .fr-colors-tabs .fr-colors-tab:hover, +.dark-theme.fr-popup .fr-colors-tabs .fr-colors-tab:focus { + color: #42a5f5; +} +.dark-theme.fr-popup .fr-colors-tabs .fr-colors-tab[data-param1="background"]::after { + bottom: 0; + left: 0; + background: #42a5f5; + -webkit-transition: transform 0.2s ease 0s; + -moz-transition: transform 0.2s ease 0s; + -ms-transition: transform 0.2s ease 0s; + -o-transition: transform 0.2s ease 0s; +} +.dark-theme.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab { + color: #42a5f5; +} +.dark-theme.fr-popup .fr-color-hex-layer .fr-input-line { + padding: 8px 0 0; +} +.dark-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button { + background-color: #42a5f5; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.dark-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button:hover { + background-color: #128ef2; +} +.dark-theme.fr-popup .fr-color-set { + line-height: 0; +} +.dark-theme.fr-popup .fr-color-set > span > i, +.dark-theme.fr-popup .fr-color-set > span > svg { + bottom: 0; + left: 0; +} +.dark-theme.fr-popup .fr-color-set > span .fr-selected-color { + color: #ffffff; + font-weight: 400; + top: 0; + bottom: 0; + right: 0; + left: 0; +} +.dark-theme.fr-popup .fr-color-set > span:hover, +.dark-theme.fr-popup .fr-color-set > span:focus { + outline: 1px solid #ffffff; +} +.dark-theme .fr-drag-helper { + background: #42a5f5; + z-index: 2147483640; +} +.dark-theme.fr-popup .fr-link:focus { + outline: 0; + background: #3d3d3d; +} +.dark-theme.fr-popup .fr-file-upload-layer { + border: dashed 2px #808080; + padding: 25px 0; +} +.dark-theme.fr-popup .fr-file-upload-layer:hover { + background: #3d3d3d; +} +.dark-theme.fr-popup .fr-file-upload-layer.fr-drop { + background: #3d3d3d; + border-color: #42a5f5; +} +.dark-theme.fr-popup .fr-file-upload-layer .fr-form { + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; +} +.dark-theme.fr-popup .fr-file-progress-bar-layer > h3 { + margin: 10px 0; +} +.dark-theme.fr-popup .fr-file-progress-bar-layer > div.fr-loader { + background: #c6e4fc; +} +.dark-theme.fr-popup .fr-file-progress-bar-layer > div.fr-loader span { + background: #42a5f5; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.dark-theme.fr-popup .fr-file-progress-bar-layer > div.fr-loader.fr-indeterminate span { + top: 0; +} +.dark-theme.fr-box.fr-fullscreen { + top: 0; + left: 0; + bottom: 0; + right: 0; +} +.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tr { + border: 0; +} +.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody tr { + border-bottom: solid 1px #595959; +} +.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:first-child { + color: #ffffff; +} +.dark-theme .fr-image-resizer { + border: solid 1px #42a5f5; +} +.dark-theme .fr-image-resizer .fr-handler { + background: #42a5f5; + border: solid 1px #ffffff; +} +.dark-theme .fr-image-resizer .fr-handler { + width: 12px; + height: 12px; +} +.dark-theme .fr-image-resizer .fr-handler.fr-hnw { + left: -6px; + top: -6px; +} +.dark-theme .fr-image-resizer .fr-handler.fr-hne { + right: -6px; + top: -6px; +} +.dark-theme .fr-image-resizer .fr-handler.fr-hsw { + left: -6px; + bottom: -6px; +} +.dark-theme .fr-image-resizer .fr-handler.fr-hse { + right: -6px; + bottom: -6px; +} +@media (min-width: 1200px) { + .dark-theme .fr-image-resizer .fr-handler { + width: 10px; + height: 10px; + } + .dark-theme .fr-image-resizer .fr-handler.fr-hnw { + left: -5px; + top: -5px; + } + .dark-theme .fr-image-resizer .fr-handler.fr-hne { + right: -5px; + top: -5px; + } + .dark-theme .fr-image-resizer .fr-handler.fr-hsw { + left: -5px; + bottom: -5px; + } + .dark-theme .fr-image-resizer .fr-handler.fr-hse { + right: -5px; + bottom: -5px; + } +} +.dark-theme.fr-image-overlay { + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; +} +.dark-theme.fr-popup .fr-image-upload-layer { + border: dashed 2px #808080; + padding: 25px 0; +} +.dark-theme.fr-popup .fr-image-upload-layer:hover { + background: #3d3d3d; +} +.dark-theme.fr-popup .fr-image-upload-layer.fr-drop { + background: #3d3d3d; + border-color: #42a5f5; +} +.dark-theme.fr-popup .fr-image-upload-layer .fr-form { + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; +} +.dark-theme.fr-popup .fr-image-progress-bar-layer > h3 { + margin: 10px 0; +} +.dark-theme.fr-popup .fr-image-progress-bar-layer > div.fr-loader { + background: #c6e4fc; +} +.dark-theme.fr-popup .fr-image-progress-bar-layer > div.fr-loader span { + background: #42a5f5; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.dark-theme.fr-popup .fr-image-progress-bar-layer > div.fr-loader.fr-indeterminate span { + top: 0; +} +.dark-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more { + -webkit-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -moz-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -ms-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -o-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; +} +.dark-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more.fr-not-available { + opacity: 0; + width: 0; + padding: 12px 0; +} +.dark-theme.fr-modal-head .fr-modal-tags a { + opacity: 0; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + color: #42a5f5; + -webkit-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; +} +.dark-theme.fr-modal-head .fr-modal-tags a.fr-selected-tag { + background: #2e2e2e; +} +.dark-themediv.fr-modal-body .fr-preloader { + margin: 50px auto; +} +.dark-themediv.fr-modal-body div.fr-image-list { + padding: 0; +} +.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::after { + -webkit-transition: opacity 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s; + background: #000000; + top: 0; + left: 0; + bottom: 0; + right: 0; +} +.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::before { + color: #ffffff; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: auto; +} +.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty { + background: #aaaaaa; +} +.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty::after { + margin: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container img { + -webkit-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; +} +.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img, +.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img { + -webkit-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + margin: 0; +} +.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img { + background: #b8312f; + color: #ffffff; +} +.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img { + background: #353535; + color: #42a5f5; +} +.dark-theme.dark-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a:hover { + background: #3d3d3d; +} +.dark-theme.dark-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a.fr-selected-tag { + background: #2e2e2e; +} +.dark-theme.dark-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img:hover { + background: #bf4644; + color: #ffffff; +} +.dark-theme.dark-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img:hover { + background: #3d3d3d; +} +.dark-theme .fr-line-breaker { + border-top: 1px solid #42a5f5; +} +.dark-theme .fr-line-breaker a.fr-floating-btn { + left: calc(50% - (32px / 2)); + top: -16px; +} +.dark-theme .fr-qi-helper { + padding-left: 16px; +} +.dark-theme .fr-qi-helper a.fr-btn.fr-floating-btn { + color: #ffffff; +} +.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-character { + border: 1px solid #aaaaaa; +} +.dark-theme .fr-element table td.fr-selected-cell, +.dark-theme .fr-element table th.fr-selected-cell { + border: 1px double #42a5f5; +} +.dark-theme .fr-table-resizer div { + border-right: 1px solid #42a5f5; +} +.dark-theme.fr-popup .fr-table-colors-hex-layer .fr-input-line { + padding: 8px 0 0; +} +.dark-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button { + background-color: #42a5f5; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.dark-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button:hover { + background-color: #128ef2; +} +.dark-theme.fr-popup .fr-table-size .fr-select-table-size { + line-height: 0; +} +.dark-theme.fr-popup .fr-table-size .fr-select-table-size > span { + padding: 0px 4px 4px 0; +} +.dark-theme.fr-popup .fr-table-size .fr-select-table-size > span > span { + border: 1px solid #dddddd; +} +.dark-theme.fr-popup .fr-table-size .fr-select-table-size > span.hover > span { + background: rgba(66, 165, 245, 0.3); + border: solid 1px #42a5f5; +} +.dark-theme.fr-popup .fr-table-colors { + line-height: 0; +} +.dark-theme.fr-popup .fr-table-colors > span > i { + bottom: 0; + left: 0; +} +.dark-theme.fr-popup .fr-table-colors > span:focus { + outline: 1px solid #ffffff; +} +.dark-theme .fr-element .fr-video::after { + top: 0; + left: 0; + right: 0; + bottom: 0; +} +.dark-theme.fr-box .fr-video-resizer { + border: solid 1px #42a5f5; +} +.dark-theme.fr-box .fr-video-resizer .fr-handler { + background: #42a5f5; + border: solid 1px #ffffff; +} +.dark-theme.fr-box .fr-video-resizer .fr-handler { + width: 12px; + height: 12px; +} +.dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw { + left: -6px; + top: -6px; +} +.dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hne { + right: -6px; + top: -6px; +} +.dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw { + left: -6px; + bottom: -6px; +} +.dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hse { + right: -6px; + bottom: -6px; +} +@media (min-width: 1200px) { + .dark-theme.fr-box .fr-video-resizer .fr-handler { + width: 10px; + height: 10px; + } + .dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw { + left: -5px; + top: -5px; + } + .dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hne { + right: -5px; + top: -5px; + } + .dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw { + left: -5px; + bottom: -5px; + } + .dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hse { + right: -5px; + bottom: -5px; + } +} +.dark-theme.fr-popup .fr-video-upload-layer { + border: dashed 2px #808080; + padding: 25px 0; +} +.dark-theme.fr-popup .fr-video-upload-layer:hover { + background: #3d3d3d; +} +.dark-theme.fr-popup .fr-video-upload-layer.fr-drop { + background: #3d3d3d; + border-color: #42a5f5; +} +.dark-theme.fr-popup .fr-video-upload-layer .fr-form { + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; +} +.dark-theme.fr-popup .fr-video-progress-bar-layer > h3 { + margin: 10px 0; +} +.dark-theme.fr-popup .fr-video-progress-bar-layer > div.fr-loader { + background: #c6e4fc; +} +.dark-theme.fr-popup .fr-video-progress-bar-layer > div.fr-loader span { + background: #42a5f5; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.dark-theme.fr-popup .fr-video-progress-bar-layer > div.fr-loader.fr-indeterminate span { + top: 0; +} +.dark-theme.fr-video-overlay { + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; +} +.dark-theme .fr-view span[style~="color:"] a { + color: inherit; +} +.dark-theme .fr-view strong { + font-weight: 700; +} +.dark-theme .fr-view table.fr-alternate-rows tbody tr:nth-child(2n) { + background: #d3d3d3; +} +.dark-theme .fr-view table td, +.dark-theme .fr-view table th { + border: 1px solid #dddddd; +} +.dark-theme .fr-view table th { + background: #e6e6e6; +} +.dark-theme .fr-view[dir="rtl"] blockquote { + border-right: solid 2px #5e35b1; + margin-right: 0; +} +.dark-theme .fr-view[dir="rtl"] blockquote blockquote { + border-color: #00bcd4; +} +.dark-theme .fr-view[dir="rtl"] blockquote blockquote blockquote { + border-color: #43a047; +} +.dark-theme .fr-view blockquote { + border-left: solid 2px #5e35b1; + margin-left: 0; + color: #5e35b1; +} +.dark-theme .fr-view blockquote blockquote { + border-color: #00bcd4; + color: #00bcd4; +} +.dark-theme .fr-view blockquote blockquote blockquote { + border-color: #43a047; + color: #43a047; +} +.dark-theme .fr-view span.fr-emoticon { + line-height: 0; +} +.dark-theme .fr-view span.fr-emoticon.fr-emoticon-img { + font-size: inherit; +} +.dark-theme .fr-view .fr-text-bordered { + padding: 10px 0; +} +.dark-theme .fr-view .fr-class-highlighted { + background-color: #ffff00; +} +.dark-theme .fr-view .fr-img-caption .fr-img-wrap { + margin: auto; +} +.dark-theme .fr-view .fr-img-caption .fr-img-wrap img { + margin: auto; +} +.dark-theme .fr-view .fr-img-caption .fr-img-wrap > span { + margin: auto; +} +.dark-theme .fr-element .fr-embedly::after { + top: 0; + left: 0; + right: 0; + bottom: 0; +} +.dark-theme.fr-box .fr-embedly-resizer { + border: solid 1px #42a5f5; +} +.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal .fr-font-awesome-title { + border-bottom: solid 1px #e6e6e6; +} +.dark-theme .tui-image-editor-container { + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 10; +} +.dark-theme .tui-editor-cancel-btn { + background-color: #ffffff; + border: 1px solid #aaaaaa; +} +.dark-theme .tui-editor-save-btn { + color: #ffffff; +} +.dark-theme .examples-variante > a { + font-size: 14px; + font-family: Arial, Helvetica, sans-serif; +} +.dark-theme .sc-cm-holder > .sc-cm { + border-top: 5px solid #222222 !important; +} +.dark-theme .sc-cm__item_dropdown:hover > a, +.dark-theme .sc-cm a:hover { + background-color: #3d3d3d !important; +} +.dark-theme .sc-cm__item_active > a, +.dark-theme .sc-cm__item_active > a:hover, +.dark-theme .sc-cm a:active, +.dark-theme .sc-cm a:focus { + background-color: #2e2e2e !important; +} +.dark-theme .sc-cm-holder > .sc-cm:before { + background-color: #3d3d3d !important; +} +.dark-theme .fr-tooltip { + top: 0; + left: 0; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + background: #222222; + color: #ffffff; + font-size: 11px; + line-height: 22px; + font-family: Arial, Helvetica, sans-serif; + -webkit-transition: opacity 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s; +} +.dark-theme.fr-toolbar .fr-command.fr-btn, +.dark-theme.fr-popup .fr-command.fr-btn { + color: #ffffff; + -moz-outline: 0; + outline: 0; + border: 0; + margin: 0px 2px; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + padding: 0; + width: 38px; + height: 38px; +} +.dark-theme.fr-toolbar .fr-command.fr-btn::-moz-focus-inner, +.dark-theme.fr-popup .fr-command.fr-btn::-moz-focus-inner { + border: 0; +} +.dark-theme.fr-toolbar .fr-command.fr-btn.fr-btn-text, +.dark-theme.fr-popup .fr-command.fr-btn.fr-btn-text { + width: auto; +} +.dark-theme.fr-toolbar .fr-command.fr-btn i, +.dark-theme.fr-popup .fr-command.fr-btn i, +.dark-theme.fr-toolbar .fr-command.fr-btn svg, +.dark-theme.fr-popup .fr-command.fr-btn svg { + font-size: 14px; + width: 14px; + margin: 12px 12px; +} +.dark-theme.fr-toolbar .fr-command.fr-btn span, +.dark-theme.fr-popup .fr-command.fr-btn span { + font-size: 14px; + line-height: 17px; + min-width: 34px; + height: 17px; + padding: 0 2px; +} +.dark-theme.fr-toolbar .fr-command.fr-btn img, +.dark-theme.fr-popup .fr-command.fr-btn img { + margin: 12px 12px; + width: 14px; +} +.dark-theme.fr-toolbar .fr-command.fr-btn.fr-active, +.dark-theme.fr-popup .fr-command.fr-btn.fr-active { + color: #42a5f5; + background: transparent; +} +.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection, +.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection { + width: auto; +} +.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown i, +.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown i, +.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown span, +.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown span, +.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown img, +.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown img, +.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown svg, +.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown svg { + margin-left: 8px; + margin-right: 16px; +} +.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active, +.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active { + color: #ffffff; + background: #2e2e2e; +} +.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover, +.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover, +.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus, +.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus { + background: #2e2e2e !important; + color: #ffffff !important; +} +.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover::after, +.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover::after, +.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus::after, +.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus::after { + border-top-color: #ffffff !important; +} +.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown::after, +.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown::after { + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid #ffffff; + right: 4px; + top: 17px; +} +.dark-theme.fr-toolbar .fr-command.fr-btn.fr-disabled, +.dark-theme.fr-popup .fr-command.fr-btn.fr-disabled { + color: #808080; +} +.dark-theme.fr-toolbar .fr-command.fr-btn.fr-disabled::after, +.dark-theme.fr-popup .fr-command.fr-btn.fr-disabled::after { + border-top-color: #808080 !important; +} +.dark-theme.fr-toolbar.fr-disabled .fr-btn, +.dark-theme.fr-popup.fr-disabled .fr-btn, +.dark-theme.fr-toolbar.fr-disabled .fr-btn.fr-active, +.dark-theme.fr-popup.fr-disabled .fr-btn.fr-active { + color: #808080; +} +.dark-theme.fr-toolbar.fr-disabled .fr-btn.fr-dropdown::after, +.dark-theme.fr-popup.fr-disabled .fr-btn.fr-dropdown::after, +.dark-theme.fr-toolbar.fr-disabled .fr-btn.fr-active.fr-dropdown::after, +.dark-theme.fr-popup.fr-disabled .fr-btn.fr-active.fr-dropdown::after { + border-top-color: #808080; +} +.dark-theme.fr-desktop .fr-command:hover, +.dark-theme.fr-desktop .fr-command:focus, +.dark-theme.fr-desktop .fr-command.fr-btn-hover, +.dark-theme.fr-desktop .fr-command.fr-expanded { + outline: 0; + color: #ffffff; + background: #3d3d3d; +} +.dark-theme.fr-desktop .fr-command:hover::after, +.dark-theme.fr-desktop .fr-command:focus::after, +.dark-theme.fr-desktop .fr-command.fr-btn-hover::after, +.dark-theme.fr-desktop .fr-command.fr-expanded::after { + border-top-color: #ffffff !important; +} +.dark-theme.fr-desktop .fr-command.fr-selected { + color: #ffffff; + background: #2e2e2e; +} +.dark-theme.fr-desktop .fr-command.fr-active:hover, +.dark-theme.fr-desktop .fr-command.fr-active:focus, +.dark-theme.fr-desktop .fr-command.fr-active.fr-btn-hover, +.dark-theme.fr-desktop .fr-command.fr-active.fr-expanded { + color: #42a5f5; + background: #3d3d3d; +} +.dark-theme.fr-desktop .fr-command.fr-active.fr-selected { + color: #42a5f5; + background: #2e2e2e; +} +.dark-theme.fr-toolbar.fr-mobile .fr-command.fr-blink, +.dark-theme.fr-popup.fr-mobile .fr-command.fr-blink { + background: transparent; +} +.dark-theme .fr-command.fr-btn.fr-options { + width: 16px; + margin-left: -5px; +} +.dark-theme .fr-command.fr-btn.fr-options.fr-btn-hover, +.dark-theme .fr-command.fr-btn.fr-options:hover, +.dark-theme .fr-command.fr-btn.fr-options:focus { + border-left: solid 1px #fafafa; +} +.dark-theme .fr-command.fr-btn + .fr-dropdown-menu { + right: auto; + bottom: auto; + height: auto; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.dark-theme .fr-command.fr-btn + .fr-dropdown-menu.test-height .fr-dropdown-wrapper { + height: auto; + max-height: 275px; +} +.dark-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper { + background: #353535; + padding: 0; + margin: auto; + -webkit-transition: max-height 0.2s ease 0s; + -moz-transition: max-height 0.2s ease 0s; + -ms-transition: max-height 0.2s ease 0s; + -o-transition: max-height 0.2s ease 0s; + margin-top: 0; + max-height: 0; + height: 0; +} +.dark-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content { + overflow: auto; + max-height: 275px; +} +.dark-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list { + margin: 0; + padding: 0; +} +.dark-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li { + padding: 0; + margin: 0; +} +.dark-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a { + color: inherit; +} +.dark-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-active { + background: #2e2e2e; +} +.dark-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-disabled { + color: #808080; +} +.dark-theme .fr-command.fr-btn.fr-active + .fr-dropdown-menu { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); +} +.dark-theme .fr-command.fr-btn.fr-active + .fr-dropdown-menu .fr-dropdown-wrapper { + height: auto; + max-height: 275px; +} +.dark-theme .fr-bottom > .fr-command.fr-btn + .fr-dropdown-menu { + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.dark-theme.fr-modal { + color: #ffffff; + font-family: Arial, Helvetica, sans-serif; + overflow-x: auto; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; +} +.dark-theme.fr-modal.fr-middle .fr-modal-wrapper { + margin-top: 0; + margin-bottom: 0; + margin-left: auto; + margin-right: auto; +} +.dark-theme.fr-modal .fr-modal-wrapper { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 20px auto; + background: #353535; + -webkit-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.19), 0 4px 3px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.19), 0 4px 3px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 5px 8px rgba(0, 0, 0, 0.19), 0 4px 3px 1px rgba(0, 0, 0, 0.14); + border: 0px; + border-top: 5px solid #222222; +} +@media (min-width: 768px) and (max-width: 991px) { + .dark-theme.fr-modal .fr-modal-wrapper { + margin: 30px auto; + } +} +@media (min-width: 992px) { + .dark-theme.fr-modal .fr-modal-wrapper { + margin: 50px auto; + } +} +.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-head { + background: #353535; + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + border-bottom: 0px; + -webkit-transition: height 0.2s ease 0s; + -moz-transition: height 0.2s ease 0s; + -ms-transition: height 0.2s ease 0s; + -o-transition: height 0.2s ease 0s; +} +.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-head .fr-modal-close { + color: #ffffff; + top: 0; + right: 0; + -webkit-transition: color 0.2s ease 0s; + -moz-transition: color 0.2s ease 0s; + -ms-transition: color 0.2s ease 0s; + -o-transition: color 0.2s ease 0s; +} +.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-head h4 { + margin: 0; + font-weight: 400; +} +.dark-theme.fr-modal .fr-modal-wrapper div.fr-modal-body:focus { + outline: 0; +} +.dark-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command { + color: #42a5f5; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.dark-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:hover, +.dark-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:focus { + background: #3d3d3d; + color: #42a5f5; +} +.dark-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:active { + background: #2e2e2e; + color: #42a5f5; +} +.dark-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button::-moz-focus-inner { + border: 0; +} +.dark-theme.dark-theme.fr-desktop .fr-modal-wrapper .fr-modal-head i:hover { + background: #3d3d3d; +} +.dark-theme.fr-overlay { + top: 0; + bottom: 0; + left: 0; + right: 0; + background: #000000; +} +.dark-theme.fr-popup { + color: #ffffff; + background: #353535; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-family: Arial, Helvetica, sans-serif; + border: 0px; + border-top: 5px solid #222222; +} +.dark-theme.fr-popup .fr-input-focus { + background: #363636; +} +.dark-theme.fr-popup.fr-above { + border-top: 0; + border-bottom: 5px solid #222222; + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); +} +.dark-theme.fr-popup .fr-input-line { + padding: 8px 0; +} +.dark-theme.fr-popup .fr-input-line input[type="text"], +.dark-theme.fr-popup .fr-input-line textarea { + margin: 0px 0 1px 0; + border-bottom: solid 1px #bdbdbd; + color: #ffffff; +} +.dark-theme.fr-popup .fr-input-line input[type="text"]:focus, +.dark-theme.fr-popup .fr-input-line textarea:focus { + border-bottom: solid 2px #42a5f5; +} +.dark-theme.fr-popup .fr-input-line input + label, +.dark-theme.fr-popup .fr-input-line textarea + label { + top: 0; + left: 0; + -webkit-transition: color 0.2s ease 0s; + -moz-transition: color 0.2s ease 0s; + -ms-transition: color 0.2s ease 0s; + -o-transition: color 0.2s ease 0s; + background: #353535; +} +.dark-theme.fr-popup .fr-input-line input.fr-not-empty:focus + label, +.dark-theme.fr-popup .fr-input-line textarea.fr-not-empty:focus + label { + color: #42a5f5; +} +.dark-theme.fr-popup .fr-input-line input.fr-not-empty + label, +.dark-theme.fr-popup .fr-input-line textarea.fr-not-empty + label { + color: #808080; +} +.dark-theme.fr-popup .fr-buttons { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + padding: 0 2px; + line-height: 0; + border-bottom: 0px; +} +.dark-theme.fr-popup .fr-layer { + width: 225px; +} +@media (min-width: 768px) { + .dark-theme.fr-popup .fr-layer { + width: 300px; + } +} +.dark-theme.fr-popup .fr-action-buttons button.fr-command { + color: #42a5f5; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.dark-theme.fr-popup .fr-action-buttons button.fr-command:hover, +.dark-theme.fr-popup .fr-action-buttons button.fr-command:focus { + background: #3d3d3d; + color: #42a5f5; +} +.dark-theme.fr-popup .fr-action-buttons button.fr-command:active { + background: #2e2e2e; + color: #42a5f5; +} +.dark-theme.fr-popup .fr-action-buttons button::-moz-focus-inner { + border: 0; +} +.dark-theme.fr-popup .fr-checkbox span { + border: solid 1px #ffffff; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; +} +.dark-theme.fr-popup .fr-checkbox input { + margin: 0; + padding: 0; +} +.dark-theme.fr-popup .fr-checkbox input:checked + span { + background: #42a5f5; + border-color: #42a5f5; +} +.dark-theme.fr-popup .fr-checkbox input:focus + span { + border-color: #42a5f5; +} +.dark-theme.fr-popup.fr-rtl .fr-input-line input + label, +.dark-theme.fr-popup.fr-rtl .fr-input-line textarea + label { + left: auto; + right: 0; +} +.dark-theme.fr-popup .fr-arrow { + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #222222; + top: -9px; + margin-left: -5px; +} +.dark-theme.fr-popup.fr-above .fr-arrow { + top: auto; + bottom: -9px; + border-bottom: 0; + border-top: 5px solid #222222; +} +.dark-theme.fr-toolbar { + color: #ffffff; + background: #353535; + font-family: Arial, Helvetica, sans-serif; + padding: 0 2px; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + border: 0px; + border-top: 5px solid #222222; +} +.dark-theme.fr-toolbar.fr-inline .fr-arrow { + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #222222; + top: -9px; + margin-left: -5px; +} +.dark-theme.fr-toolbar.fr-inline.fr-above { + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + border-bottom: 5px solid #222222; + border-top: 0; +} +.dark-theme.fr-toolbar.fr-inline.fr-above .fr-arrow { + top: auto; + bottom: -9px; + border-bottom: 0; + border-top-color: inherit; + border-top-width: 5px; +} +.dark-theme.fr-toolbar.fr-top { + top: 0; + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.dark-theme.fr-toolbar.fr-bottom { + bottom: 0; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.dark-theme .fr-separator { + background: #595959; +} +.dark-theme .fr-separator.fr-vs { + height: 34px; + width: 1px; + margin: 2px; +} +.dark-theme .fr-separator.fr-hs { + height: 1px; + width: calc(100% - (2 * 2px)); + margin: 0 2px; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/themes/dark.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/themes/gray.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/themes/gray.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/themes/gray.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.gray-theme.fr-box.fr-basic .fr-element{color:#000;padding:16px;overflow-x:auto;min-height:52px}.gray-theme .fr-element{-webkit-user-select:auto}.gray-theme.fr-box a.fr-floating-btn{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);height:32px;width:32px;background:#fff;color:#0097a7;-webkit-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-moz-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-ms-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-o-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;left:0;top:0;line-height:32px;border:0}.gray-theme.fr-box a.fr-floating-btn svg{-webkit-transition:transform .2s ease 0s;-moz-transition:transform .2s ease 0s;-ms-transition:transform .2s ease 0s;-o-transition:transform .2s ease 0s;fill:#0097a7}.gray-theme.fr-box a.fr-floating-btn i,.gray-theme.fr-box a.fr-floating-btn svg{font-size:14px;line-height:32px}.gray-theme.fr-box a.fr-floating-btn:hover{background:#e6e6e6}.gray-theme.fr-box a.fr-floating-btn:hover svg{fill:#0097a7}.gray-theme .fr-wrapper .fr-placeholder{font-size:12px;color:#aaa;top:0;left:0;right:0}.gray-theme .fr-wrapper ::-moz-selection{background:#b5d6fd;color:#000}.gray-theme .fr-wrapper ::selection{background:#b5d6fd;color:#000}.gray-theme.fr-box.fr-basic .fr-wrapper{background:#fff;border:0;border-top:0;top:0;left:0}.gray-theme.fr-box.fr-basic.fr-top .fr-wrapper{border-top:0;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.gray-theme.fr-box.fr-basic.fr-bottom .fr-wrapper{border-bottom:0;border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16)}@media (min-width:992px){.gray-theme .fr-box.fr-document .fr-wrapper .fr-element{margin:auto;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}}.gray-theme .fr-sticky-on.fr-sticky-ios{left:0;right:0}.gray-theme.fr-box .fr-counter{color:#ccc;background:#fff;border-top:solid 1px #ebebeb;border-left:solid 1px #ebebeb;border-radius:2px 0 0;-moz-border-radius:2px 0 0;-webkit-border-radius:2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.gray-theme.fr-box.fr-rtl .fr-counter{right:auto;border-right:solid 1px #ebebeb;border-radius:0 2px 0 0;-moz-border-radius:0 2px 0 0;-webkit-border-radius:0 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.gray-theme textarea.fr-code{background:#fff;color:#000}.gray-theme.fr-box.fr-code-view.fr-inline{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.gray-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch{top:0;right:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);background:#fff;color:#37474f;-moz-outline:0;outline:0;border:0;padding:12px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s}.gray-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch i{font-size:14px;width:14px}.gray-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover{background:#e6e6e6}.gray-theme.fr-popup .fr-colors-tabs{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.gray-theme.fr-popup .fr-colors-tabs .fr-colors-tab{color:#37474f;padding:8px 0}.gray-theme.fr-popup .fr-colors-tabs .fr-colors-tab:hover,.gray-theme.fr-popup .fr-colors-tabs .fr-colors-tab:focus{color:#0097a7}.gray-theme.fr-popup .fr-colors-tabs .fr-colors-tab[data-param1=background]::after{bottom:0;left:0;background:#0097a7;-webkit-transition:transform .2s ease 0s;-moz-transition:transform .2s ease 0s;-ms-transition:transform .2s ease 0s;-o-transition:transform .2s ease 0s}.gray-theme.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab{color:#0097a7}.gray-theme.fr-popup .fr-color-hex-layer .fr-input-line{padding:8px 0 0}.gray-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button{background-color:#0097a7;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.gray-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button:hover{background-color:#006974}.gray-theme.fr-popup .fr-color-set{line-height:0}.gray-theme.fr-popup .fr-color-set>span>i,.gray-theme.fr-popup .fr-color-set>span>svg{bottom:0;left:0}.gray-theme.fr-popup .fr-color-set>span .fr-selected-color{color:#fff;font-weight:400;top:0;bottom:0;right:0;left:0}.gray-theme.fr-popup .fr-color-set>span:hover,.gray-theme.fr-popup .fr-color-set>span:focus{outline:1px solid #37474f}.gray-theme .fr-drag-helper{background:#0097a7;z-index:2147483640}.gray-theme.fr-popup .fr-link:focus{outline:0;background:#e6e6e6}.gray-theme.fr-popup .fr-file-upload-layer{border:dashed 2px #b7bdc0;padding:25px 0}.gray-theme.fr-popup .fr-file-upload-layer:hover{background:#e6e6e6}.gray-theme.fr-popup .fr-file-upload-layer.fr-drop{background:#e6e6e6;border-color:#0097a7}.gray-theme.fr-popup .fr-file-upload-layer .fr-form{top:0;bottom:0;left:0;right:0;z-index:2147483640}.gray-theme.fr-popup .fr-file-progress-bar-layer>h3{margin:10px 0}.gray-theme.fr-popup .fr-file-progress-bar-layer>div.fr-loader{background:#b3e0e5}.gray-theme.fr-popup .fr-file-progress-bar-layer>div.fr-loader span{background:#0097a7;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.gray-theme.fr-popup .fr-file-progress-bar-layer>div.fr-loader.fr-indeterminate span{top:0}.gray-theme.fr-box.fr-fullscreen{top:0;left:0;bottom:0;right:0}.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tr{border:0}.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody tr{border-bottom:solid 1px #ebebeb}.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:first-child{color:#737e84}.gray-theme .fr-image-resizer{border:solid 1px #0097a7}.gray-theme .fr-image-resizer .fr-handler{background:#0097a7;border:solid 1px #fff}.gray-theme .fr-image-resizer .fr-handler{width:12px;height:12px}.gray-theme .fr-image-resizer .fr-handler.fr-hnw{left:-6px;top:-6px}.gray-theme .fr-image-resizer .fr-handler.fr-hne{right:-6px;top:-6px}.gray-theme .fr-image-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px}.gray-theme .fr-image-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px}@media (min-width:1200px){.gray-theme .fr-image-resizer .fr-handler{width:10px;height:10px}.gray-theme .fr-image-resizer .fr-handler.fr-hnw{left:-5px;top:-5px}.gray-theme .fr-image-resizer .fr-handler.fr-hne{right:-5px;top:-5px}.gray-theme .fr-image-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px}.gray-theme .fr-image-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px}}.gray-theme.fr-image-overlay{top:0;left:0;bottom:0;right:0;z-index:2147483640}.gray-theme.fr-popup .fr-image-upload-layer{border:dashed 2px #b7bdc0;padding:25px 0}.gray-theme.fr-popup .fr-image-upload-layer:hover{background:#e6e6e6}.gray-theme.fr-popup .fr-image-upload-layer.fr-drop{background:#e6e6e6;border-color:#0097a7}.gray-theme.fr-popup .fr-image-upload-layer .fr-form{top:0;bottom:0;left:0;right:0;z-index:2147483640}.gray-theme.fr-popup .fr-image-progress-bar-layer>h3{margin:10px 0}.gray-theme.fr-popup .fr-image-progress-bar-layer>div.fr-loader{background:#b3e0e5}.gray-theme.fr-popup .fr-image-progress-bar-layer>div.fr-loader span{background:#0097a7;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.gray-theme.fr-popup .fr-image-progress-bar-layer>div.fr-loader.fr-indeterminate span{top:0}.gray-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more{-webkit-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-moz-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-ms-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-o-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s}.gray-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more.fr-not-available{opacity:0;width:0;padding:12px 0}.gray-theme.fr-modal-head .fr-modal-tags a{opacity:0;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;color:#0097a7;-webkit-transition:opacity .2s ease 0s,background .2s ease 0s;-moz-transition:opacity .2s ease 0s,background .2s ease 0s;-ms-transition:opacity .2s ease 0s,background .2s ease 0s;-o-transition:opacity .2s ease 0s,background .2s ease 0s}.gray-theme.fr-modal-head .fr-modal-tags a.fr-selected-tag{background:#d6d6d6}.gray-themediv.fr-modal-body .fr-preloader{margin:50px auto}.gray-themediv.fr-modal-body div.fr-image-list{padding:0}.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::after{-webkit-transition:opacity .2s ease 0s;-moz-transition:opacity .2s ease 0s;-ms-transition:opacity .2s ease 0s;-o-transition:opacity .2s ease 0s;background:#000;top:0;left:0;bottom:0;right:0}.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::before{color:#fff;top:0;left:0;bottom:0;right:0;margin:auto}.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty{background:#ccc}.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty::after{margin:auto;top:0;bottom:0;left:0;right:0}.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container img{-webkit-transition:opacity .2s ease 0s,filter .2s ease 0s;-moz-transition:opacity .2s ease 0s,filter .2s ease 0s;-ms-transition:opacity .2s ease 0s,filter .2s ease 0s;-o-transition:opacity .2s ease 0s,filter .2s ease 0s}.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img,.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img{-webkit-transition:background .2s ease 0s,color .2s ease 0s;-moz-transition:background .2s ease 0s,color .2s ease 0s;-ms-transition:background .2s ease 0s,color .2s ease 0s;-o-transition:background .2s ease 0s,color .2s ease 0s;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);margin:0}.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img{background:#b8312f;color:#fff}.gray-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img{background:#f5f5f5;color:#0097a7}.gray-theme.gray-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a:hover{background:#e6e6e6}.gray-theme.gray-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a.fr-selected-tag{background:#d6d6d6}.gray-theme.gray-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img:hover{background:#bf4644;color:#fff}.gray-theme.gray-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img:hover{background:#e6e6e6}.gray-theme .fr-line-breaker{border-top:1px solid #0097a7}.gray-theme .fr-line-breaker a.fr-floating-btn{left:calc(50% - (32px / 2));top:-16px}.gray-theme .fr-qi-helper{padding-left:16px}.gray-theme .fr-qi-helper a.fr-btn.fr-floating-btn{color:#37474f}.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-character{border:1px solid #ccc}.gray-theme .fr-element table td.fr-selected-cell,.gray-theme .fr-element table th.fr-selected-cell{border:1px double #0097a7}.gray-theme .fr-table-resizer div{border-right:1px solid #0097a7}.gray-theme.fr-popup .fr-table-colors-hex-layer .fr-input-line{padding:8px 0 0}.gray-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button{background-color:#0097a7;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.gray-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button:hover{background-color:#006974}.gray-theme.fr-popup .fr-table-size .fr-select-table-size{line-height:0}.gray-theme.fr-popup .fr-table-size .fr-select-table-size>span{padding:0 4px 4px 0}.gray-theme.fr-popup .fr-table-size .fr-select-table-size>span>span{border:1px solid #ddd}.gray-theme.fr-popup .fr-table-size .fr-select-table-size>span.hover>span{background:rgba(0,151,167,.3);border:solid 1px #0097a7}.gray-theme.fr-popup .fr-table-colors{line-height:0}.gray-theme.fr-popup .fr-table-colors>span>i{bottom:0;left:0}.gray-theme.fr-popup .fr-table-colors>span:focus{outline:1px solid #37474f}.gray-theme .fr-element .fr-video::after{top:0;left:0;right:0;bottom:0}.gray-theme.fr-box .fr-video-resizer{border:solid 1px #0097a7}.gray-theme.fr-box .fr-video-resizer .fr-handler{background:#0097a7;border:solid 1px #fff}.gray-theme.fr-box .fr-video-resizer .fr-handler{width:12px;height:12px}.gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-6px;top:-6px}.gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-6px;top:-6px}.gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px}.gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px}@media (min-width:1200px){.gray-theme.fr-box .fr-video-resizer .fr-handler{width:10px;height:10px}.gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-5px;top:-5px}.gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-5px;top:-5px}.gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px}.gray-theme.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px}}.gray-theme.fr-popup .fr-video-upload-layer{border:dashed 2px #b7bdc0;padding:25px 0}.gray-theme.fr-popup .fr-video-upload-layer:hover{background:#e6e6e6}.gray-theme.fr-popup .fr-video-upload-layer.fr-drop{background:#e6e6e6;border-color:#0097a7}.gray-theme.fr-popup .fr-video-upload-layer .fr-form{top:0;bottom:0;left:0;right:0;z-index:2147483640}.gray-theme.fr-popup .fr-video-progress-bar-layer>h3{margin:10px 0}.gray-theme.fr-popup .fr-video-progress-bar-layer>div.fr-loader{background:#b3e0e5}.gray-theme.fr-popup .fr-video-progress-bar-layer>div.fr-loader span{background:#0097a7;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.gray-theme.fr-popup .fr-video-progress-bar-layer>div.fr-loader.fr-indeterminate span{top:0}.gray-theme.fr-video-overlay{top:0;left:0;bottom:0;right:0;z-index:2147483640}.gray-theme .fr-view span[style~="color:"] a{color:inherit}.gray-theme .fr-view strong{font-weight:700}.gray-theme .fr-view table.fr-alternate-rows tbody tr:nth-child(2n){background:#f5f5f5}.gray-theme .fr-view table td,.gray-theme .fr-view table th{border:1px solid #ddd}.gray-theme .fr-view table th{background:#e6e6e6}.gray-theme .fr-view[dir=rtl] blockquote{border-right:solid 2px #5e35b1;margin-right:0}.gray-theme .fr-view[dir=rtl] blockquote blockquote{border-color:#00bcd4}.gray-theme .fr-view[dir=rtl] blockquote blockquote blockquote{border-color:#43a047}.gray-theme .fr-view blockquote{border-left:solid 2px #5e35b1;margin-left:0;color:#5e35b1}.gray-theme .fr-view blockquote blockquote{border-color:#00bcd4;color:#00bcd4}.gray-theme .fr-view blockquote blockquote blockquote{border-color:#43a047;color:#43a047}.gray-theme .fr-view span.fr-emoticon{line-height:0}.gray-theme .fr-view span.fr-emoticon.fr-emoticon-img{font-size:inherit}.gray-theme .fr-view .fr-text-bordered{padding:10px 0}.gray-theme .fr-view .fr-class-highlighted{background-color:#ff0}.gray-theme .fr-view .fr-img-caption .fr-img-wrap{margin:auto}.gray-theme .fr-view .fr-img-caption .fr-img-wrap img{margin:auto}.gray-theme .fr-view .fr-img-caption .fr-img-wrap>span{margin:auto}.gray-theme .fr-element .fr-embedly::after{top:0;left:0;right:0;bottom:0}.gray-theme.fr-box .fr-embedly-resizer{border:solid 1px #0097a7}.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal .fr-font-awesome-title{border-bottom:solid 1px #f0f0f0}.gray-theme .tui-image-editor-container{top:0;left:0;bottom:0;right:0;z-index:10}.gray-theme .tui-editor-cancel-btn{background-color:#fff;border:1px solid #ccc}.gray-theme .tui-editor-save-btn{color:#fff}.gray-theme .examples-variante>a{font-size:14px;font-family:Arial,Helvetica,sans-serif}.gray-theme .sc-cm-holder>.sc-cm{border-top:5px solid #bdbdbd!important}.gray-theme .sc-cm__item_dropdown:hover>a,.gray-theme .sc-cm a:hover{background-color:#e6e6e6!important}.gray-theme .sc-cm__item_active>a,.gray-theme .sc-cm__item_active>a:hover,.gray-theme .sc-cm a:active,.gray-theme .sc-cm a:focus{background-color:#d6d6d6!important}.gray-theme .sc-cm-holder>.sc-cm:before{background-color:#e6e6e6!important}.gray-theme .fr-tooltip{top:0;left:0;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);background:#222;color:#fff;font-size:11px;line-height:22px;font-family:Arial,Helvetica,sans-serif;-webkit-transition:opacity .2s ease 0s;-moz-transition:opacity .2s ease 0s;-ms-transition:opacity .2s ease 0s;-o-transition:opacity .2s ease 0s}.gray-theme.fr-toolbar .fr-command.fr-btn,.gray-theme.fr-popup .fr-command.fr-btn{color:#37474f;-moz-outline:0;outline:0;border:0;margin:0 2px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;padding:0;width:38px;height:38px}.gray-theme.fr-toolbar .fr-command.fr-btn::-moz-focus-inner,.gray-theme.fr-popup .fr-command.fr-btn::-moz-focus-inner{border:0}.gray-theme.fr-toolbar .fr-command.fr-btn.fr-btn-text,.gray-theme.fr-popup .fr-command.fr-btn.fr-btn-text{width:auto}.gray-theme.fr-toolbar .fr-command.fr-btn i,.gray-theme.fr-popup .fr-command.fr-btn i,.gray-theme.fr-toolbar .fr-command.fr-btn svg,.gray-theme.fr-popup .fr-command.fr-btn svg{font-size:14px;width:14px;margin:12px}.gray-theme.fr-toolbar .fr-command.fr-btn span,.gray-theme.fr-popup .fr-command.fr-btn span{font-size:14px;line-height:17px;min-width:34px;height:17px;padding:0 2px}.gray-theme.fr-toolbar .fr-command.fr-btn img,.gray-theme.fr-popup .fr-command.fr-btn img{margin:12px;width:14px}.gray-theme.fr-toolbar .fr-command.fr-btn.fr-active,.gray-theme.fr-popup .fr-command.fr-btn.fr-active{color:#0097a7;background:0 0}.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection,.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection{width:auto}.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown i,.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown i,.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown span,.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown span,.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown img,.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown img,.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown svg,.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown svg{margin-left:8px;margin-right:16px}.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active,.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active{color:#37474f;background:#d6d6d6}.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover,.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover,.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus,.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus{background:#d6d6d6!important;color:#37474f!important}.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover::after,.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover::after,.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus::after,.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus::after{border-top-color:#37474f!important}.gray-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown::after,.gray-theme.fr-popup .fr-command.fr-btn.fr-dropdown::after{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #37474f;right:4px;top:17px}.gray-theme.fr-toolbar .fr-command.fr-btn.fr-disabled,.gray-theme.fr-popup .fr-command.fr-btn.fr-disabled{color:#b7bdc0}.gray-theme.fr-toolbar .fr-command.fr-btn.fr-disabled::after,.gray-theme.fr-popup .fr-command.fr-btn.fr-disabled::after{border-top-color:#b7bdc0!important}.gray-theme.fr-toolbar.fr-disabled .fr-btn,.gray-theme.fr-popup.fr-disabled .fr-btn,.gray-theme.fr-toolbar.fr-disabled .fr-btn.fr-active,.gray-theme.fr-popup.fr-disabled .fr-btn.fr-active{color:#b7bdc0}.gray-theme.fr-toolbar.fr-disabled .fr-btn.fr-dropdown::after,.gray-theme.fr-popup.fr-disabled .fr-btn.fr-dropdown::after,.gray-theme.fr-toolbar.fr-disabled .fr-btn.fr-active.fr-dropdown::after,.gray-theme.fr-popup.fr-disabled .fr-btn.fr-active.fr-dropdown::after{border-top-color:#b7bdc0}.gray-theme.fr-desktop .fr-command:hover,.gray-theme.fr-desktop .fr-command:focus,.gray-theme.fr-desktop .fr-command.fr-btn-hover,.gray-theme.fr-desktop .fr-command.fr-expanded{outline:0;color:#37474f;background:#e6e6e6}.gray-theme.fr-desktop .fr-command:hover::after,.gray-theme.fr-desktop .fr-command:focus::after,.gray-theme.fr-desktop .fr-command.fr-btn-hover::after,.gray-theme.fr-desktop .fr-command.fr-expanded::after{border-top-color:#37474f!important}.gray-theme.fr-desktop .fr-command.fr-selected{color:#37474f;background:#d6d6d6}.gray-theme.fr-desktop .fr-command.fr-active:hover,.gray-theme.fr-desktop .fr-command.fr-active:focus,.gray-theme.fr-desktop .fr-command.fr-active.fr-btn-hover,.gray-theme.fr-desktop .fr-command.fr-active.fr-expanded{color:#0097a7;background:#e6e6e6}.gray-theme.fr-desktop .fr-command.fr-active.fr-selected{color:#0097a7;background:#d6d6d6}.gray-theme.fr-toolbar.fr-mobile .fr-command.fr-blink,.gray-theme.fr-popup.fr-mobile .fr-command.fr-blink{background:0 0}.gray-theme .fr-command.fr-btn.fr-options{width:16px;margin-left:-5px}.gray-theme .fr-command.fr-btn.fr-options.fr-btn-hover,.gray-theme .fr-command.fr-btn.fr-options:hover,.gray-theme .fr-command.fr-btn.fr-options:focus{border-left:solid 1px #fafafa}.gray-theme .fr-command.fr-btn+.fr-dropdown-menu{right:auto;bottom:auto;height:auto;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.gray-theme .fr-command.fr-btn+.fr-dropdown-menu.test-height .fr-dropdown-wrapper{height:auto;max-height:275px}.gray-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper{background:#f5f5f5;padding:0;margin:auto;-webkit-transition:max-height .2s ease 0s;-moz-transition:max-height .2s ease 0s;-ms-transition:max-height .2s ease 0s;-o-transition:max-height .2s ease 0s;margin-top:0;max-height:0;height:0}.gray-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content{overflow:auto;max-height:275px}.gray-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list{margin:0;padding:0}.gray-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li{padding:0;margin:0}.gray-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a{color:inherit}.gray-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-active{background:#d6d6d6}.gray-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-disabled{color:#b7bdc0}.gray-theme .fr-command.fr-btn.fr-active+.fr-dropdown-menu{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14)}.gray-theme .fr-command.fr-btn.fr-active+.fr-dropdown-menu .fr-dropdown-wrapper{height:auto;max-height:275px}.gray-theme .fr-bottom>.fr-command.fr-btn+.fr-dropdown-menu{border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.gray-theme.fr-modal{color:#37474f;font-family:Arial,Helvetica,sans-serif;overflow-x:auto;top:0;left:0;bottom:0;right:0;z-index:2147483640}.gray-theme.fr-modal.fr-middle .fr-modal-wrapper{margin-top:0;margin-bottom:0;margin-left:auto;margin-right:auto}.gray-theme.fr-modal .fr-modal-wrapper{border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;margin:20px auto;background:#fff;-webkit-box-shadow:0 5px 8px rgba(0,0,0,.19),0 4px 3px 1px rgba(0,0,0,.14);-moz-box-shadow:0 5px 8px rgba(0,0,0,.19),0 4px 3px 1px rgba(0,0,0,.14);box-shadow:0 5px 8px rgba(0,0,0,.19),0 4px 3px 1px rgba(0,0,0,.14);border:0;border-top:5px solid #bdbdbd}@media (min-width:768px) and (max-width:991px){.gray-theme.fr-modal .fr-modal-wrapper{margin:30px auto}}@media (min-width:992px){.gray-theme.fr-modal .fr-modal-wrapper{margin:50px auto}}.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-head{background:#f5f5f5;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);border-bottom:0;-webkit-transition:height .2s ease 0s;-moz-transition:height .2s ease 0s;-ms-transition:height .2s ease 0s;-o-transition:height .2s ease 0s}.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-head .fr-modal-close{color:#37474f;top:0;right:0;-webkit-transition:color .2s ease 0s;-moz-transition:color .2s ease 0s;-ms-transition:color .2s ease 0s;-o-transition:color .2s ease 0s}.gray-theme.fr-modal .fr-modal-wrapper .fr-modal-head h4{margin:0;font-weight:400}.gray-theme.fr-modal .fr-modal-wrapper div.fr-modal-body:focus{outline:0}.gray-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command{color:#0097a7;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.gray-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:hover,.gray-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:focus{background:#e6e6e6;color:#0097a7}.gray-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:active{background:#d6d6d6;color:#0097a7}.gray-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button::-moz-focus-inner{border:0}.gray-theme.gray-theme.fr-desktop .fr-modal-wrapper .fr-modal-head i:hover{background:#e6e6e6}.gray-theme.fr-overlay{top:0;bottom:0;left:0;right:0;background:#000}.gray-theme.fr-popup{color:#37474f;background:#f5f5f5;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;font-family:Arial,Helvetica,sans-serif;border:0;border-top:5px solid #bdbdbd}.gray-theme.fr-popup .fr-input-focus{background:#ebebeb}.gray-theme.fr-popup.fr-above{border-top:0;border-bottom:5px solid #bdbdbd;-webkit-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16)}.gray-theme.fr-popup .fr-input-line{padding:8px 0}.gray-theme.fr-popup .fr-input-line input[type=text],.gray-theme.fr-popup .fr-input-line textarea{margin:0 0 1px;border-bottom:solid 1px #bdbdbd;color:#37474f}.gray-theme.fr-popup .fr-input-line input[type=text]:focus,.gray-theme.fr-popup .fr-input-line textarea:focus{border-bottom:solid 2px #0097a7}.gray-theme.fr-popup .fr-input-line input+label,.gray-theme.fr-popup .fr-input-line textarea+label{top:0;left:0;-webkit-transition:color .2s ease 0s;-moz-transition:color .2s ease 0s;-ms-transition:color .2s ease 0s;-o-transition:color .2s ease 0s;background:#f5f5f5}.gray-theme.fr-popup .fr-input-line input.fr-not-empty:focus+label,.gray-theme.fr-popup .fr-input-line textarea.fr-not-empty:focus+label{color:#0097a7}.gray-theme.fr-popup .fr-input-line input.fr-not-empty+label,.gray-theme.fr-popup .fr-input-line textarea.fr-not-empty+label{color:gray}.gray-theme.fr-popup .fr-buttons{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);padding:0 2px;line-height:0;border-bottom:0}.gray-theme.fr-popup .fr-layer{width:225px}@media (min-width:768px){.gray-theme.fr-popup .fr-layer{width:300px}}.gray-theme.fr-popup .fr-action-buttons button.fr-command{color:#0097a7;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.gray-theme.fr-popup .fr-action-buttons button.fr-command:hover,.gray-theme.fr-popup .fr-action-buttons button.fr-command:focus{background:#e6e6e6;color:#0097a7}.gray-theme.fr-popup .fr-action-buttons button.fr-command:active{background:#d6d6d6;color:#0097a7}.gray-theme.fr-popup .fr-action-buttons button::-moz-focus-inner{border:0}.gray-theme.fr-popup .fr-checkbox span{border:solid 1px #37474f;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-transition:background .2s ease 0s,border-color .2s ease 0s;-moz-transition:background .2s ease 0s,border-color .2s ease 0s;-ms-transition:background .2s ease 0s,border-color .2s ease 0s;-o-transition:background .2s ease 0s,border-color .2s ease 0s}.gray-theme.fr-popup .fr-checkbox input{margin:0;padding:0}.gray-theme.fr-popup .fr-checkbox input:checked+span{background:#0097a7;border-color:#0097a7}.gray-theme.fr-popup .fr-checkbox input:focus+span{border-color:#0097a7}.gray-theme.fr-popup.fr-rtl .fr-input-line input+label,.gray-theme.fr-popup.fr-rtl .fr-input-line textarea+label{left:auto;right:0}.gray-theme.fr-popup .fr-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #bdbdbd;top:-9px;margin-left:-5px}.gray-theme.fr-popup.fr-above .fr-arrow{top:auto;bottom:-9px;border-bottom:0;border-top:5px solid #bdbdbd}.gray-theme.fr-toolbar{color:#37474f;background:#f5f5f5;font-family:Arial,Helvetica,sans-serif;padding:0 2px;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);border:0;border-top:5px solid #bdbdbd}.gray-theme.fr-toolbar.fr-inline .fr-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #bdbdbd;top:-9px;margin-left:-5px}.gray-theme.fr-toolbar.fr-inline.fr-above{-webkit-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);border-bottom:5px solid #bdbdbd;border-top:0}.gray-theme.fr-toolbar.fr-inline.fr-above .fr-arrow{top:auto;bottom:-9px;border-bottom:0;border-top-color:inherit;border-top-width:5px}.gray-theme.fr-toolbar.fr-top{top:0;border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.gray-theme.fr-toolbar.fr-bottom{bottom:0;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.gray-theme .fr-separator{background:#ebebeb}.gray-theme .fr-separator.fr-vs{height:34px;width:1px;margin:2px}.gray-theme .fr-separator.fr-hs{height:1px;width:calc(100% - (2 * 2px));margin:0 2px} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/themes/gray.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/themes/royal.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/themes/royal.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/themes/royal.css (revision 7) @@ -0,0 +1,1324 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.royal-theme.fr-box.fr-basic .fr-element { + color: #000000; + padding: 16px; + overflow-x: auto; + min-height: 52px; +} +.royal-theme .fr-element { + -webkit-user-select: auto; +} +.royal-theme.fr-box a.fr-floating-btn { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + height: 32px; + width: 32px; + background: #ffffff; + color: #553982; + -webkit-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + left: 0; + top: 0; + line-height: 32px; + border: none; +} +.royal-theme.fr-box a.fr-floating-btn svg { + -webkit-transition: transform 0.2s ease 0s; + -moz-transition: transform 0.2s ease 0s; + -ms-transition: transform 0.2s ease 0s; + -o-transition: transform 0.2s ease 0s; + fill: #553982; +} +.royal-theme.fr-box a.fr-floating-btn i, +.royal-theme.fr-box a.fr-floating-btn svg { + font-size: 14px; + line-height: 32px; +} +.royal-theme.fr-box a.fr-floating-btn:hover { + background: #9365b8; +} +.royal-theme.fr-box a.fr-floating-btn:hover svg { + fill: #ffffff; +} +.royal-theme .fr-wrapper .fr-placeholder { + font-size: 12px; + color: #aaaaaa; + top: 0; + left: 0; + right: 0; +} +.royal-theme .fr-wrapper ::-moz-selection { + background: #b5d6fd; + color: #000000; +} +.royal-theme .fr-wrapper ::selection { + background: #b5d6fd; + color: #000000; +} +.royal-theme.fr-box.fr-basic .fr-wrapper { + background: #ffffff; + border: 0px; + border-top: 0; + top: 0; + left: 0; +} +.royal-theme.fr-box.fr-basic.fr-top .fr-wrapper { + border-top: 0; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.royal-theme.fr-box.fr-basic.fr-bottom .fr-wrapper { + border-bottom: 0; + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); +} +@media (min-width: 992px) { + .royal-theme .fr-box.fr-document .fr-wrapper .fr-element { + margin: auto; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + } +} +.royal-theme .fr-sticky-on.fr-sticky-ios { + left: 0; + right: 0; +} +.royal-theme.fr-box .fr-counter { + color: #cccccc; + background: #ffffff; + border-top: solid 1px #ebebeb; + border-left: solid 1px #ebebeb; + border-radius: 2px 0 0 0; + -moz-border-radius: 2px 0 0 0; + -webkit-border-radius: 2px 0 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.royal-theme.fr-box.fr-rtl .fr-counter { + right: auto; + border-right: solid 1px #ebebeb; + border-radius: 0 2px 0 0; + -moz-border-radius: 0 2px 0 0; + -webkit-border-radius: 0 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.royal-theme textarea.fr-code { + background: #ffffff; + color: #000000; +} +.royal-theme.fr-box.fr-code-view.fr-inline { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.royal-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch { + top: 0; + right: 0; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + background: #ffffff; + color: #553982; + -moz-outline: 0; + outline: 0; + border: 0; + padding: 12px 12px; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; +} +.royal-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch i { + font-size: 14px; + width: 14px; +} +.royal-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover { + background: #ebebeb; +} +.royal-theme.fr-popup .fr-colors-tabs { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.royal-theme.fr-popup .fr-colors-tabs .fr-colors-tab { + color: #553982; + padding: 8px 0; +} +.royal-theme.fr-popup .fr-colors-tabs .fr-colors-tab:hover, +.royal-theme.fr-popup .fr-colors-tabs .fr-colors-tab:focus { + color: #553982; +} +.royal-theme.fr-popup .fr-colors-tabs .fr-colors-tab[data-param1="background"]::after { + bottom: 0; + left: 0; + background: #553982; + -webkit-transition: transform 0.2s ease 0s; + -moz-transition: transform 0.2s ease 0s; + -ms-transition: transform 0.2s ease 0s; + -o-transition: transform 0.2s ease 0s; +} +.royal-theme.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab { + color: #553982; +} +.royal-theme.fr-popup .fr-color-hex-layer .fr-input-line { + padding: 8px 0 0; +} +.royal-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button { + background-color: #553982; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.royal-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button:hover { + background-color: #3e295f; +} +.royal-theme.fr-popup .fr-color-set { + line-height: 0; +} +.royal-theme.fr-popup .fr-color-set > span > i, +.royal-theme.fr-popup .fr-color-set > span > svg { + bottom: 0; + left: 0; +} +.royal-theme.fr-popup .fr-color-set > span .fr-selected-color { + color: #ffffff; + font-weight: 400; + top: 0; + bottom: 0; + right: 0; + left: 0; +} +.royal-theme.fr-popup .fr-color-set > span:hover, +.royal-theme.fr-popup .fr-color-set > span:focus { + outline: 1px solid #553982; +} +.royal-theme .fr-drag-helper { + background: #553982; + z-index: 2147483640; +} +.royal-theme.fr-popup .fr-link:focus { + outline: 0; + background: #ebebeb; +} +.royal-theme.fr-popup .fr-file-upload-layer { + border: dashed 2px #b7bdc0; + padding: 25px 0; +} +.royal-theme.fr-popup .fr-file-upload-layer:hover { + background: #ebebeb; +} +.royal-theme.fr-popup .fr-file-upload-layer.fr-drop { + background: #ebebeb; + border-color: #553982; +} +.royal-theme.fr-popup .fr-file-upload-layer .fr-form { + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; +} +.royal-theme.fr-popup .fr-file-progress-bar-layer > h3 { + margin: 10px 0; +} +.royal-theme.fr-popup .fr-file-progress-bar-layer > div.fr-loader { + background: #ccc4da; +} +.royal-theme.fr-popup .fr-file-progress-bar-layer > div.fr-loader span { + background: #553982; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.royal-theme.fr-popup .fr-file-progress-bar-layer > div.fr-loader.fr-indeterminate span { + top: 0; +} +.royal-theme.fr-box.fr-fullscreen { + top: 0; + left: 0; + bottom: 0; + right: 0; +} +.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tr { + border: 0; +} +.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody tr { + border-bottom: solid 1px #ebebeb; +} +.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:first-child { + color: #8874a8; +} +.royal-theme .fr-image-resizer { + border: solid 1px #553982; +} +.royal-theme .fr-image-resizer .fr-handler { + background: #553982; + border: solid 1px #ffffff; +} +.royal-theme .fr-image-resizer .fr-handler { + width: 12px; + height: 12px; +} +.royal-theme .fr-image-resizer .fr-handler.fr-hnw { + left: -6px; + top: -6px; +} +.royal-theme .fr-image-resizer .fr-handler.fr-hne { + right: -6px; + top: -6px; +} +.royal-theme .fr-image-resizer .fr-handler.fr-hsw { + left: -6px; + bottom: -6px; +} +.royal-theme .fr-image-resizer .fr-handler.fr-hse { + right: -6px; + bottom: -6px; +} +@media (min-width: 1200px) { + .royal-theme .fr-image-resizer .fr-handler { + width: 10px; + height: 10px; + } + .royal-theme .fr-image-resizer .fr-handler.fr-hnw { + left: -5px; + top: -5px; + } + .royal-theme .fr-image-resizer .fr-handler.fr-hne { + right: -5px; + top: -5px; + } + .royal-theme .fr-image-resizer .fr-handler.fr-hsw { + left: -5px; + bottom: -5px; + } + .royal-theme .fr-image-resizer .fr-handler.fr-hse { + right: -5px; + bottom: -5px; + } +} +.royal-theme.fr-image-overlay { + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; +} +.royal-theme.fr-popup .fr-image-upload-layer { + border: dashed 2px #b7bdc0; + padding: 25px 0; +} +.royal-theme.fr-popup .fr-image-upload-layer:hover { + background: #ebebeb; +} +.royal-theme.fr-popup .fr-image-upload-layer.fr-drop { + background: #ebebeb; + border-color: #553982; +} +.royal-theme.fr-popup .fr-image-upload-layer .fr-form { + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; +} +.royal-theme.fr-popup .fr-image-progress-bar-layer > h3 { + margin: 10px 0; +} +.royal-theme.fr-popup .fr-image-progress-bar-layer > div.fr-loader { + background: #ccc4da; +} +.royal-theme.fr-popup .fr-image-progress-bar-layer > div.fr-loader span { + background: #553982; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.royal-theme.fr-popup .fr-image-progress-bar-layer > div.fr-loader.fr-indeterminate span { + top: 0; +} +.royal-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more { + -webkit-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -moz-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -ms-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; + -o-transition: padding 0.2s ease 0s, width 0.2s ease 0s, opacity 0.2s ease 0s; +} +.royal-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more.fr-not-available { + opacity: 0; + width: 0; + padding: 12px 0; +} +.royal-theme.fr-modal-head .fr-modal-tags a { + opacity: 0; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + color: #553982; + -webkit-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s, background 0.2s ease 0s; +} +.royal-theme.fr-modal-head .fr-modal-tags a.fr-selected-tag { + background: #d6d6d6; +} +.royal-themediv.fr-modal-body .fr-preloader { + margin: 50px auto; +} +.royal-themediv.fr-modal-body div.fr-image-list { + padding: 0; +} +.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::after { + -webkit-transition: opacity 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s; + background: #000000; + top: 0; + left: 0; + bottom: 0; + right: 0; +} +.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::before { + color: #ffffff; + top: 0; + left: 0; + bottom: 0; + right: 0; + margin: auto; +} +.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty { + background: #cccccc; +} +.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty::after { + margin: auto; + top: 0; + bottom: 0; + left: 0; + right: 0; +} +.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container img { + -webkit-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s, filter 0.2s ease 0s; +} +.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img, +.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img { + -webkit-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, color 0.2s ease 0s; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + margin: 0; +} +.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img { + background: #b8312f; + color: #ffffff; +} +.royal-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img { + background: #ffffff; + color: #553982; +} +.royal-theme.royal-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a:hover { + background: #ebebeb; +} +.royal-theme.royal-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a.fr-selected-tag { + background: #d6d6d6; +} +.royal-theme.royal-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img:hover { + background: #bf4644; + color: #ffffff; +} +.royal-theme.royal-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img:hover { + background: #ebebeb; +} +.royal-theme .fr-line-breaker { + border-top: 1px solid #553982; +} +.royal-theme .fr-line-breaker a.fr-floating-btn { + left: calc(50% - (32px / 2)); + top: -16px; +} +.royal-theme .fr-qi-helper { + padding-left: 16px; +} +.royal-theme .fr-qi-helper a.fr-btn.fr-floating-btn { + color: #553982; +} +.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-character { + border: 1px solid #cccccc; +} +.royal-theme .fr-element table td.fr-selected-cell, +.royal-theme .fr-element table th.fr-selected-cell { + border: 1px double #553982; +} +.royal-theme .fr-table-resizer div { + border-right: 1px solid #553982; +} +.royal-theme.fr-popup .fr-table-colors-hex-layer .fr-input-line { + padding: 8px 0 0; +} +.royal-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button { + background-color: #553982; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.royal-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button:hover { + background-color: #3e295f; +} +.royal-theme.fr-popup .fr-table-size .fr-select-table-size { + line-height: 0; +} +.royal-theme.fr-popup .fr-table-size .fr-select-table-size > span { + padding: 0px 4px 4px 0; +} +.royal-theme.fr-popup .fr-table-size .fr-select-table-size > span > span { + border: 1px solid #dddddd; +} +.royal-theme.fr-popup .fr-table-size .fr-select-table-size > span.hover > span { + background: rgba(85, 57, 130, 0.3); + border: solid 1px #553982; +} +.royal-theme.fr-popup .fr-table-colors { + line-height: 0; +} +.royal-theme.fr-popup .fr-table-colors > span > i { + bottom: 0; + left: 0; +} +.royal-theme.fr-popup .fr-table-colors > span:focus { + outline: 1px solid #553982; +} +.royal-theme .fr-element .fr-video::after { + top: 0; + left: 0; + right: 0; + bottom: 0; +} +.royal-theme.fr-box .fr-video-resizer { + border: solid 1px #553982; +} +.royal-theme.fr-box .fr-video-resizer .fr-handler { + background: #553982; + border: solid 1px #ffffff; +} +.royal-theme.fr-box .fr-video-resizer .fr-handler { + width: 12px; + height: 12px; +} +.royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw { + left: -6px; + top: -6px; +} +.royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hne { + right: -6px; + top: -6px; +} +.royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw { + left: -6px; + bottom: -6px; +} +.royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hse { + right: -6px; + bottom: -6px; +} +@media (min-width: 1200px) { + .royal-theme.fr-box .fr-video-resizer .fr-handler { + width: 10px; + height: 10px; + } + .royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw { + left: -5px; + top: -5px; + } + .royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hne { + right: -5px; + top: -5px; + } + .royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw { + left: -5px; + bottom: -5px; + } + .royal-theme.fr-box .fr-video-resizer .fr-handler.fr-hse { + right: -5px; + bottom: -5px; + } +} +.royal-theme.fr-popup .fr-video-upload-layer { + border: dashed 2px #b7bdc0; + padding: 25px 0; +} +.royal-theme.fr-popup .fr-video-upload-layer:hover { + background: #ebebeb; +} +.royal-theme.fr-popup .fr-video-upload-layer.fr-drop { + background: #ebebeb; + border-color: #553982; +} +.royal-theme.fr-popup .fr-video-upload-layer .fr-form { + top: 0; + bottom: 0; + left: 0; + right: 0; + z-index: 2147483640; +} +.royal-theme.fr-popup .fr-video-progress-bar-layer > h3 { + margin: 10px 0; +} +.royal-theme.fr-popup .fr-video-progress-bar-layer > div.fr-loader { + background: #ccc4da; +} +.royal-theme.fr-popup .fr-video-progress-bar-layer > div.fr-loader span { + background: #553982; + -webkit-transition: width 0.2s ease 0s; + -moz-transition: width 0.2s ease 0s; + -ms-transition: width 0.2s ease 0s; + -o-transition: width 0.2s ease 0s; +} +.royal-theme.fr-popup .fr-video-progress-bar-layer > div.fr-loader.fr-indeterminate span { + top: 0; +} +.royal-theme.fr-video-overlay { + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; +} +.royal-theme .fr-view span[style~="color:"] a { + color: inherit; +} +.royal-theme .fr-view strong { + font-weight: 700; +} +.royal-theme .fr-view table.fr-alternate-rows tbody tr:nth-child(2n) { + background: #f5f5f5; +} +.royal-theme .fr-view table td, +.royal-theme .fr-view table th { + border: 1px solid #dddddd; +} +.royal-theme .fr-view table th { + background: #e6e6e6; +} +.royal-theme .fr-view[dir="rtl"] blockquote { + border-right: solid 2px #5e35b1; + margin-right: 0; +} +.royal-theme .fr-view[dir="rtl"] blockquote blockquote { + border-color: #00bcd4; +} +.royal-theme .fr-view[dir="rtl"] blockquote blockquote blockquote { + border-color: #43a047; +} +.royal-theme .fr-view blockquote { + border-left: solid 2px #5e35b1; + margin-left: 0; + color: #5e35b1; +} +.royal-theme .fr-view blockquote blockquote { + border-color: #00bcd4; + color: #00bcd4; +} +.royal-theme .fr-view blockquote blockquote blockquote { + border-color: #43a047; + color: #43a047; +} +.royal-theme .fr-view span.fr-emoticon { + line-height: 0; +} +.royal-theme .fr-view span.fr-emoticon.fr-emoticon-img { + font-size: inherit; +} +.royal-theme .fr-view .fr-text-bordered { + padding: 10px 0; +} +.royal-theme .fr-view .fr-class-highlighted { + background-color: #ffff00; +} +.royal-theme .fr-view .fr-img-caption .fr-img-wrap { + margin: auto; +} +.royal-theme .fr-view .fr-img-caption .fr-img-wrap img { + margin: auto; +} +.royal-theme .fr-view .fr-img-caption .fr-img-wrap > span { + margin: auto; +} +.royal-theme .fr-element .fr-embedly::after { + top: 0; + left: 0; + right: 0; + bottom: 0; +} +.royal-theme.fr-box .fr-embedly-resizer { + border: solid 1px #553982; +} +.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal .fr-font-awesome-title { + border-bottom: solid 1px #f0f0f0; +} +.royal-theme .tui-image-editor-container { + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 10; +} +.royal-theme .tui-editor-cancel-btn { + background-color: #ffffff; + border: 1px solid #cccccc; +} +.royal-theme .tui-editor-save-btn { + color: #ffffff; +} +.royal-theme .examples-variante > a { + font-size: 14px; + font-family: Arial, Helvetica, sans-serif; +} +.royal-theme .sc-cm-holder > .sc-cm { + border-top: 5px solid #553982 !important; +} +.royal-theme .sc-cm__item_dropdown:hover > a, +.royal-theme .sc-cm a:hover { + background-color: #ebebeb !important; +} +.royal-theme .sc-cm__item_active > a, +.royal-theme .sc-cm__item_active > a:hover, +.royal-theme .sc-cm a:active, +.royal-theme .sc-cm a:focus { + background-color: #d6d6d6 !important; +} +.royal-theme .sc-cm-holder > .sc-cm:before { + background-color: #ebebeb !important; +} +.royal-theme .fr-tooltip { + top: 0; + left: 0; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + background: #222222; + color: #ffffff; + font-size: 11px; + line-height: 22px; + font-family: Arial, Helvetica, sans-serif; + -webkit-transition: opacity 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s; +} +.royal-theme.fr-toolbar .fr-command.fr-btn, +.royal-theme.fr-popup .fr-command.fr-btn { + color: #553982; + -moz-outline: 0; + outline: 0; + border: 0; + margin: 0px 2px; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + padding: 0; + width: 38px; + height: 38px; +} +.royal-theme.fr-toolbar .fr-command.fr-btn::-moz-focus-inner, +.royal-theme.fr-popup .fr-command.fr-btn::-moz-focus-inner { + border: 0; +} +.royal-theme.fr-toolbar .fr-command.fr-btn.fr-btn-text, +.royal-theme.fr-popup .fr-command.fr-btn.fr-btn-text { + width: auto; +} +.royal-theme.fr-toolbar .fr-command.fr-btn i, +.royal-theme.fr-popup .fr-command.fr-btn i, +.royal-theme.fr-toolbar .fr-command.fr-btn svg, +.royal-theme.fr-popup .fr-command.fr-btn svg { + font-size: 14px; + width: 14px; + margin: 12px 12px; +} +.royal-theme.fr-toolbar .fr-command.fr-btn span, +.royal-theme.fr-popup .fr-command.fr-btn span { + font-size: 14px; + line-height: 17px; + min-width: 34px; + height: 17px; + padding: 0 2px; +} +.royal-theme.fr-toolbar .fr-command.fr-btn img, +.royal-theme.fr-popup .fr-command.fr-btn img { + margin: 12px 12px; + width: 14px; +} +.royal-theme.fr-toolbar .fr-command.fr-btn.fr-active, +.royal-theme.fr-popup .fr-command.fr-btn.fr-active { + color: #ffffff; + background: #9365b8; +} +.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection, +.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection { + width: auto; +} +.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown i, +.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown i, +.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown span, +.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown span, +.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown img, +.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown img, +.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown svg, +.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown svg { + margin-left: 8px; + margin-right: 16px; +} +.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active, +.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active { + color: #553982; + background: #d6d6d6; +} +.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover, +.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover, +.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus, +.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus { + background: #d6d6d6 !important; + color: #553982 !important; +} +.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover::after, +.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover::after, +.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus::after, +.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus::after { + border-top-color: #553982 !important; +} +.royal-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown::after, +.royal-theme.fr-popup .fr-command.fr-btn.fr-dropdown::after { + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid #553982; + right: 4px; + top: 17px; +} +.royal-theme.fr-toolbar .fr-command.fr-btn.fr-disabled, +.royal-theme.fr-popup .fr-command.fr-btn.fr-disabled { + color: #b7bdc0; +} +.royal-theme.fr-toolbar .fr-command.fr-btn.fr-disabled::after, +.royal-theme.fr-popup .fr-command.fr-btn.fr-disabled::after { + border-top-color: #b7bdc0 !important; +} +.royal-theme.fr-toolbar.fr-disabled .fr-btn, +.royal-theme.fr-popup.fr-disabled .fr-btn, +.royal-theme.fr-toolbar.fr-disabled .fr-btn.fr-active, +.royal-theme.fr-popup.fr-disabled .fr-btn.fr-active { + color: #b7bdc0; +} +.royal-theme.fr-toolbar.fr-disabled .fr-btn.fr-dropdown::after, +.royal-theme.fr-popup.fr-disabled .fr-btn.fr-dropdown::after, +.royal-theme.fr-toolbar.fr-disabled .fr-btn.fr-active.fr-dropdown::after, +.royal-theme.fr-popup.fr-disabled .fr-btn.fr-active.fr-dropdown::after { + border-top-color: #b7bdc0; +} +.royal-theme.fr-desktop .fr-command:hover, +.royal-theme.fr-desktop .fr-command:focus, +.royal-theme.fr-desktop .fr-command.fr-btn-hover, +.royal-theme.fr-desktop .fr-command.fr-expanded { + outline: 0; + color: #553982; + background: #ebebeb; +} +.royal-theme.fr-desktop .fr-command:hover::after, +.royal-theme.fr-desktop .fr-command:focus::after, +.royal-theme.fr-desktop .fr-command.fr-btn-hover::after, +.royal-theme.fr-desktop .fr-command.fr-expanded::after { + border-top-color: #553982 !important; +} +.royal-theme.fr-desktop .fr-command.fr-selected { + color: #553982; + background: #d6d6d6; +} +.royal-theme.fr-desktop .fr-command.fr-active:hover, +.royal-theme.fr-desktop .fr-command.fr-active:focus, +.royal-theme.fr-desktop .fr-command.fr-active.fr-btn-hover, +.royal-theme.fr-desktop .fr-command.fr-active.fr-expanded { + color: #553982; + background: #ebebeb; +} +.royal-theme.fr-desktop .fr-command.fr-active.fr-selected { + color: #553982; + background: #d6d6d6; +} +.royal-theme.fr-toolbar.fr-mobile .fr-command.fr-blink, +.royal-theme.fr-popup.fr-mobile .fr-command.fr-blink { + background: #9365b8; +} +.royal-theme .fr-command.fr-btn.fr-options { + width: 16px; + margin-left: -5px; +} +.royal-theme .fr-command.fr-btn.fr-options.fr-btn-hover, +.royal-theme .fr-command.fr-btn.fr-options:hover, +.royal-theme .fr-command.fr-btn.fr-options:focus { + border-left: solid 1px #fafafa; +} +.royal-theme .fr-command.fr-btn + .fr-dropdown-menu { + right: auto; + bottom: auto; + height: auto; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.royal-theme .fr-command.fr-btn + .fr-dropdown-menu.test-height .fr-dropdown-wrapper { + height: auto; + max-height: 275px; +} +.royal-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper { + background: #ffffff; + padding: 0; + margin: auto; + -webkit-transition: max-height 0.2s ease 0s; + -moz-transition: max-height 0.2s ease 0s; + -ms-transition: max-height 0.2s ease 0s; + -o-transition: max-height 0.2s ease 0s; + margin-top: 0; + max-height: 0; + height: 0; +} +.royal-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content { + overflow: auto; + max-height: 275px; +} +.royal-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list { + margin: 0; + padding: 0; +} +.royal-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li { + padding: 0; + margin: 0; +} +.royal-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a { + color: inherit; +} +.royal-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-active { + background: #d6d6d6; +} +.royal-theme .fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-disabled { + color: #b7bdc0; +} +.royal-theme .fr-command.fr-btn.fr-active + .fr-dropdown-menu { + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); +} +.royal-theme .fr-command.fr-btn.fr-active + .fr-dropdown-menu .fr-dropdown-wrapper { + height: auto; + max-height: 275px; +} +.royal-theme .fr-bottom > .fr-command.fr-btn + .fr-dropdown-menu { + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.royal-theme.fr-modal { + color: #553982; + font-family: Arial, Helvetica, sans-serif; + overflow-x: auto; + top: 0; + left: 0; + bottom: 0; + right: 0; + z-index: 2147483640; +} +.royal-theme.fr-modal.fr-middle .fr-modal-wrapper { + margin-top: 0; + margin-bottom: 0; + margin-left: auto; + margin-right: auto; +} +.royal-theme.fr-modal .fr-modal-wrapper { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 20px auto; + background: #ffffff; + -webkit-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.19), 0 4px 3px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.19), 0 4px 3px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 5px 8px rgba(0, 0, 0, 0.19), 0 4px 3px 1px rgba(0, 0, 0, 0.14); + border: 0px; + border-top: 5px solid #553982; +} +@media (min-width: 768px) and (max-width: 991px) { + .royal-theme.fr-modal .fr-modal-wrapper { + margin: 30px auto; + } +} +@media (min-width: 992px) { + .royal-theme.fr-modal .fr-modal-wrapper { + margin: 50px auto; + } +} +.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-head { + background: #ffffff; + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + border-bottom: 0px; + -webkit-transition: height 0.2s ease 0s; + -moz-transition: height 0.2s ease 0s; + -ms-transition: height 0.2s ease 0s; + -o-transition: height 0.2s ease 0s; +} +.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-head .fr-modal-close { + color: #553982; + top: 0; + right: 0; + -webkit-transition: color 0.2s ease 0s; + -moz-transition: color 0.2s ease 0s; + -ms-transition: color 0.2s ease 0s; + -o-transition: color 0.2s ease 0s; +} +.royal-theme.fr-modal .fr-modal-wrapper .fr-modal-head h4 { + margin: 0; + font-weight: 400; +} +.royal-theme.fr-modal .fr-modal-wrapper div.fr-modal-body:focus { + outline: 0; +} +.royal-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command { + color: #553982; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.royal-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:hover, +.royal-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:focus { + background: #ebebeb; + color: #553982; +} +.royal-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:active { + background: #d6d6d6; + color: #553982; +} +.royal-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button::-moz-focus-inner { + border: 0; +} +.royal-theme.royal-theme.fr-desktop .fr-modal-wrapper .fr-modal-head i:hover { + background: #ebebeb; +} +.royal-theme.fr-overlay { + top: 0; + bottom: 0; + left: 0; + right: 0; + background: #000000; +} +.royal-theme.fr-popup { + color: #553982; + background: #ffffff; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-family: Arial, Helvetica, sans-serif; + border: 0px; + border-top: 5px solid #553982; +} +.royal-theme.fr-popup .fr-input-focus { + background: #f5f5f5; +} +.royal-theme.fr-popup.fr-above { + border-top: 0; + border-bottom: 5px solid #553982; + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); +} +.royal-theme.fr-popup .fr-input-line { + padding: 8px 0; +} +.royal-theme.fr-popup .fr-input-line input[type="text"], +.royal-theme.fr-popup .fr-input-line textarea { + margin: 0px 0 1px 0; + border-bottom: solid 1px #bdbdbd; + color: #553982; +} +.royal-theme.fr-popup .fr-input-line input[type="text"]:focus, +.royal-theme.fr-popup .fr-input-line textarea:focus { + border-bottom: solid 2px #553982; +} +.royal-theme.fr-popup .fr-input-line input + label, +.royal-theme.fr-popup .fr-input-line textarea + label { + top: 0; + left: 0; + -webkit-transition: color 0.2s ease 0s; + -moz-transition: color 0.2s ease 0s; + -ms-transition: color 0.2s ease 0s; + -o-transition: color 0.2s ease 0s; + background: #ffffff; +} +.royal-theme.fr-popup .fr-input-line input.fr-not-empty:focus + label, +.royal-theme.fr-popup .fr-input-line textarea.fr-not-empty:focus + label { + color: #553982; +} +.royal-theme.fr-popup .fr-input-line input.fr-not-empty + label, +.royal-theme.fr-popup .fr-input-line textarea.fr-not-empty + label { + color: #808080; +} +.royal-theme.fr-popup .fr-buttons { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + padding: 0 2px; + line-height: 0; + border-bottom: 0px; +} +.royal-theme.fr-popup .fr-layer { + width: 225px; +} +@media (min-width: 768px) { + .royal-theme.fr-popup .fr-layer { + width: 300px; + } +} +.royal-theme.fr-popup .fr-action-buttons button.fr-command { + color: #553982; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.royal-theme.fr-popup .fr-action-buttons button.fr-command:hover, +.royal-theme.fr-popup .fr-action-buttons button.fr-command:focus { + background: #ebebeb; + color: #553982; +} +.royal-theme.fr-popup .fr-action-buttons button.fr-command:active { + background: #d6d6d6; + color: #553982; +} +.royal-theme.fr-popup .fr-action-buttons button::-moz-focus-inner { + border: 0; +} +.royal-theme.fr-popup .fr-checkbox span { + border: solid 1px #553982; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; +} +.royal-theme.fr-popup .fr-checkbox input { + margin: 0; + padding: 0; +} +.royal-theme.fr-popup .fr-checkbox input:checked + span { + background: #553982; + border-color: #553982; +} +.royal-theme.fr-popup .fr-checkbox input:focus + span { + border-color: #553982; +} +.royal-theme.fr-popup.fr-rtl .fr-input-line input + label, +.royal-theme.fr-popup.fr-rtl .fr-input-line textarea + label { + left: auto; + right: 0; +} +.royal-theme.fr-popup .fr-arrow { + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #553982; + top: -9px; + margin-left: -5px; +} +.royal-theme.fr-popup.fr-above .fr-arrow { + top: auto; + bottom: -9px; + border-bottom: 0; + border-top: 5px solid #553982; +} +.royal-theme.fr-toolbar { + color: #553982; + background: #ffffff; + font-family: Arial, Helvetica, sans-serif; + padding: 0 2px; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + border: 0px; + border-top: 5px solid #553982; +} +.royal-theme.fr-toolbar.fr-inline .fr-arrow { + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #553982; + top: -9px; + margin-left: -5px; +} +.royal-theme.fr-toolbar.fr-inline.fr-above { + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + border-bottom: 5px solid #553982; + border-top: 0; +} +.royal-theme.fr-toolbar.fr-inline.fr-above .fr-arrow { + top: auto; + bottom: -9px; + border-bottom: 0; + border-top-color: inherit; + border-top-width: 5px; +} +.royal-theme.fr-toolbar.fr-top { + top: 0; + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.royal-theme.fr-toolbar.fr-bottom { + bottom: 0; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.royal-theme .fr-separator { + background: #ebebeb; +} +.royal-theme .fr-separator.fr-vs { + height: 34px; + width: 1px; + margin: 2px; +} +.royal-theme .fr-separator.fr-hs { + height: 1px; + width: calc(100% - (2 * 2px)); + margin: 0 2px; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/themes/royal.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/themes/dark.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/themes/dark.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/themes/dark.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.dark-theme.fr-box.fr-basic .fr-element{color:#000;padding:16px;overflow-x:auto;min-height:52px}.dark-theme .fr-element{-webkit-user-select:auto}.dark-theme.fr-box a.fr-floating-btn{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);height:32px;width:32px;background:#353535;color:#42a5f5;-webkit-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-moz-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-ms-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;-o-transition:background .2s ease 0s,color .2s ease 0s,transform .2s ease 0s;left:0;top:0;line-height:32px;border:0}.dark-theme.fr-box a.fr-floating-btn svg{-webkit-transition:transform .2s ease 0s;-moz-transition:transform .2s ease 0s;-ms-transition:transform .2s ease 0s;-o-transition:transform .2s ease 0s;fill:#42a5f5}.dark-theme.fr-box a.fr-floating-btn i,.dark-theme.fr-box a.fr-floating-btn svg{font-size:14px;line-height:32px}.dark-theme.fr-box a.fr-floating-btn:hover{background:#3d3d3d}.dark-theme.fr-box a.fr-floating-btn:hover svg{fill:#42a5f5}.dark-theme .fr-wrapper .fr-placeholder{font-size:12px;color:#aaa;top:0;left:0;right:0}.dark-theme .fr-wrapper ::-moz-selection{background:#b5d6fd;color:#000}.dark-theme .fr-wrapper ::selection{background:#b5d6fd;color:#000}.dark-theme.fr-box.fr-basic .fr-wrapper{background:#fff;border:0;border-top:0;top:0;left:0}.dark-theme.fr-box.fr-basic.fr-top .fr-wrapper{border-top:0;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.dark-theme.fr-box.fr-basic.fr-bottom .fr-wrapper{border-bottom:0;border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16)}@media (min-width:992px){.dark-theme .fr-box.fr-document .fr-wrapper .fr-element{margin:auto;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}}.dark-theme .fr-sticky-on.fr-sticky-ios{left:0;right:0}.dark-theme.fr-box .fr-counter{color:#aaa;background:#fff;border-top:solid 1px #ebebeb;border-left:solid 1px #ebebeb;border-radius:2px 0 0;-moz-border-radius:2px 0 0;-webkit-border-radius:2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.dark-theme.fr-box.fr-rtl .fr-counter{right:auto;border-right:solid 1px #ebebeb;border-radius:0 2px 0 0;-moz-border-radius:0 2px 0 0;-webkit-border-radius:0 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.dark-theme textarea.fr-code{background:#fff;color:#000}.dark-theme.fr-box.fr-code-view.fr-inline{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.dark-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch{top:0;right:0;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);background:#fff;color:#fff;-moz-outline:0;outline:0;border:0;padding:12px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s}.dark-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch i{font-size:14px;width:14px}.dark-theme.fr-box.fr-inline .fr-command.fr-btn.html-switch.fr-desktop:hover{background:#3d3d3d}.dark-theme.fr-popup .fr-colors-tabs{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.dark-theme.fr-popup .fr-colors-tabs .fr-colors-tab{color:#fff;padding:8px 0}.dark-theme.fr-popup .fr-colors-tabs .fr-colors-tab:hover,.dark-theme.fr-popup .fr-colors-tabs .fr-colors-tab:focus{color:#42a5f5}.dark-theme.fr-popup .fr-colors-tabs .fr-colors-tab[data-param1=background]::after{bottom:0;left:0;background:#42a5f5;-webkit-transition:transform .2s ease 0s;-moz-transition:transform .2s ease 0s;-ms-transition:transform .2s ease 0s;-o-transition:transform .2s ease 0s}.dark-theme.fr-popup .fr-colors-tabs .fr-colors-tab.fr-selected-tab{color:#42a5f5}.dark-theme.fr-popup .fr-color-hex-layer .fr-input-line{padding:8px 0 0}.dark-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button{background-color:#42a5f5;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.dark-theme.fr-popup .fr-color-hex-layer .fr-action-buttons button:hover{background-color:#128ef2}.dark-theme.fr-popup .fr-color-set{line-height:0}.dark-theme.fr-popup .fr-color-set>span>i,.dark-theme.fr-popup .fr-color-set>span>svg{bottom:0;left:0}.dark-theme.fr-popup .fr-color-set>span .fr-selected-color{color:#fff;font-weight:400;top:0;bottom:0;right:0;left:0}.dark-theme.fr-popup .fr-color-set>span:hover,.dark-theme.fr-popup .fr-color-set>span:focus{outline:1px solid #fff}.dark-theme .fr-drag-helper{background:#42a5f5;z-index:2147483640}.dark-theme.fr-popup .fr-link:focus{outline:0;background:#3d3d3d}.dark-theme.fr-popup .fr-file-upload-layer{border:dashed 2px gray;padding:25px 0}.dark-theme.fr-popup .fr-file-upload-layer:hover{background:#3d3d3d}.dark-theme.fr-popup .fr-file-upload-layer.fr-drop{background:#3d3d3d;border-color:#42a5f5}.dark-theme.fr-popup .fr-file-upload-layer .fr-form{top:0;bottom:0;left:0;right:0;z-index:2147483640}.dark-theme.fr-popup .fr-file-progress-bar-layer>h3{margin:10px 0}.dark-theme.fr-popup .fr-file-progress-bar-layer>div.fr-loader{background:#c6e4fc}.dark-theme.fr-popup .fr-file-progress-bar-layer>div.fr-loader span{background:#42a5f5;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.dark-theme.fr-popup .fr-file-progress-bar-layer>div.fr-loader.fr-indeterminate span{top:0}.dark-theme.fr-box.fr-fullscreen{top:0;left:0;bottom:0;right:0}.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tr{border:0}.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody tr{border-bottom:solid 1px #595959}.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-help-modal table tbody td:first-child{color:#fff}.dark-theme .fr-image-resizer{border:solid 1px #42a5f5}.dark-theme .fr-image-resizer .fr-handler{background:#42a5f5;border:solid 1px #fff}.dark-theme .fr-image-resizer .fr-handler{width:12px;height:12px}.dark-theme .fr-image-resizer .fr-handler.fr-hnw{left:-6px;top:-6px}.dark-theme .fr-image-resizer .fr-handler.fr-hne{right:-6px;top:-6px}.dark-theme .fr-image-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px}.dark-theme .fr-image-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px}@media (min-width:1200px){.dark-theme .fr-image-resizer .fr-handler{width:10px;height:10px}.dark-theme .fr-image-resizer .fr-handler.fr-hnw{left:-5px;top:-5px}.dark-theme .fr-image-resizer .fr-handler.fr-hne{right:-5px;top:-5px}.dark-theme .fr-image-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px}.dark-theme .fr-image-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px}}.dark-theme.fr-image-overlay{top:0;left:0;bottom:0;right:0;z-index:2147483640}.dark-theme.fr-popup .fr-image-upload-layer{border:dashed 2px gray;padding:25px 0}.dark-theme.fr-popup .fr-image-upload-layer:hover{background:#3d3d3d}.dark-theme.fr-popup .fr-image-upload-layer.fr-drop{background:#3d3d3d;border-color:#42a5f5}.dark-theme.fr-popup .fr-image-upload-layer .fr-form{top:0;bottom:0;left:0;right:0;z-index:2147483640}.dark-theme.fr-popup .fr-image-progress-bar-layer>h3{margin:10px 0}.dark-theme.fr-popup .fr-image-progress-bar-layer>div.fr-loader{background:#c6e4fc}.dark-theme.fr-popup .fr-image-progress-bar-layer>div.fr-loader span{background:#42a5f5;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.dark-theme.fr-popup .fr-image-progress-bar-layer>div.fr-loader.fr-indeterminate span{top:0}.dark-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more{-webkit-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-moz-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-ms-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s;-o-transition:padding .2s ease 0s,width .2s ease 0s,opacity .2s ease 0s}.dark-theme.fr-modal-head .fr-modal-head-line i.fr-modal-more.fr-not-available{opacity:0;width:0;padding:12px 0}.dark-theme.fr-modal-head .fr-modal-tags a{opacity:0;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;color:#42a5f5;-webkit-transition:opacity .2s ease 0s,background .2s ease 0s;-moz-transition:opacity .2s ease 0s,background .2s ease 0s;-ms-transition:opacity .2s ease 0s,background .2s ease 0s;-o-transition:opacity .2s ease 0s,background .2s ease 0s}.dark-theme.fr-modal-head .fr-modal-tags a.fr-selected-tag{background:#2e2e2e}.dark-themediv.fr-modal-body .fr-preloader{margin:50px auto}.dark-themediv.fr-modal-body div.fr-image-list{padding:0}.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::after{-webkit-transition:opacity .2s ease 0s;-moz-transition:opacity .2s ease 0s;-ms-transition:opacity .2s ease 0s;-o-transition:opacity .2s ease 0s;background:#000;top:0;left:0;bottom:0;right:0}.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-image-deleting::before{color:#fff;top:0;left:0;bottom:0;right:0;margin:auto}.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty{background:#aaa}.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container.fr-empty::after{margin:auto;top:0;bottom:0;left:0;right:0}.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container img{-webkit-transition:opacity .2s ease 0s,filter .2s ease 0s;-moz-transition:opacity .2s ease 0s,filter .2s ease 0s;-ms-transition:opacity .2s ease 0s,filter .2s ease 0s;-o-transition:opacity .2s ease 0s,filter .2s ease 0s}.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img,.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img{-webkit-transition:background .2s ease 0s,color .2s ease 0s;-moz-transition:background .2s ease 0s,color .2s ease 0s;-ms-transition:background .2s ease 0s,color .2s ease 0s;-o-transition:background .2s ease 0s,color .2s ease 0s;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);margin:0}.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img{background:#b8312f;color:#fff}.dark-themediv.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img{background:#353535;color:#42a5f5}.dark-theme.dark-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a:hover{background:#3d3d3d}.dark-theme.dark-theme.fr-desktop .fr-modal-wrapper .fr-modal-head .fr-modal-tags a.fr-selected-tag{background:#2e2e2e}.dark-theme.dark-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-delete-img:hover{background:#bf4644;color:#fff}.dark-theme.dark-theme.fr-desktop .fr-modal-wrapper div.fr-modal-body div.fr-image-list div.fr-image-container .fr-insert-img:hover{background:#3d3d3d}.dark-theme .fr-line-breaker{border-top:1px solid #42a5f5}.dark-theme .fr-line-breaker a.fr-floating-btn{left:calc(50% - (32px / 2));top:-16px}.dark-theme .fr-qi-helper{padding-left:16px}.dark-theme .fr-qi-helper a.fr-btn.fr-floating-btn{color:#fff}.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-special-characters-modal .fr-special-character{border:1px solid #aaa}.dark-theme .fr-element table td.fr-selected-cell,.dark-theme .fr-element table th.fr-selected-cell{border:1px double #42a5f5}.dark-theme .fr-table-resizer div{border-right:1px solid #42a5f5}.dark-theme.fr-popup .fr-table-colors-hex-layer .fr-input-line{padding:8px 0 0}.dark-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button{background-color:#42a5f5;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.dark-theme.fr-popup .fr-table-colors-hex-layer .fr-action-buttons button:hover{background-color:#128ef2}.dark-theme.fr-popup .fr-table-size .fr-select-table-size{line-height:0}.dark-theme.fr-popup .fr-table-size .fr-select-table-size>span{padding:0 4px 4px 0}.dark-theme.fr-popup .fr-table-size .fr-select-table-size>span>span{border:1px solid #ddd}.dark-theme.fr-popup .fr-table-size .fr-select-table-size>span.hover>span{background:rgba(66,165,245,.3);border:solid 1px #42a5f5}.dark-theme.fr-popup .fr-table-colors{line-height:0}.dark-theme.fr-popup .fr-table-colors>span>i{bottom:0;left:0}.dark-theme.fr-popup .fr-table-colors>span:focus{outline:1px solid #fff}.dark-theme .fr-element .fr-video::after{top:0;left:0;right:0;bottom:0}.dark-theme.fr-box .fr-video-resizer{border:solid 1px #42a5f5}.dark-theme.fr-box .fr-video-resizer .fr-handler{background:#42a5f5;border:solid 1px #fff}.dark-theme.fr-box .fr-video-resizer .fr-handler{width:12px;height:12px}.dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-6px;top:-6px}.dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-6px;top:-6px}.dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-6px;bottom:-6px}.dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-6px;bottom:-6px}@media (min-width:1200px){.dark-theme.fr-box .fr-video-resizer .fr-handler{width:10px;height:10px}.dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hnw{left:-5px;top:-5px}.dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hne{right:-5px;top:-5px}.dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hsw{left:-5px;bottom:-5px}.dark-theme.fr-box .fr-video-resizer .fr-handler.fr-hse{right:-5px;bottom:-5px}}.dark-theme.fr-popup .fr-video-upload-layer{border:dashed 2px gray;padding:25px 0}.dark-theme.fr-popup .fr-video-upload-layer:hover{background:#3d3d3d}.dark-theme.fr-popup .fr-video-upload-layer.fr-drop{background:#3d3d3d;border-color:#42a5f5}.dark-theme.fr-popup .fr-video-upload-layer .fr-form{top:0;bottom:0;left:0;right:0;z-index:2147483640}.dark-theme.fr-popup .fr-video-progress-bar-layer>h3{margin:10px 0}.dark-theme.fr-popup .fr-video-progress-bar-layer>div.fr-loader{background:#c6e4fc}.dark-theme.fr-popup .fr-video-progress-bar-layer>div.fr-loader span{background:#42a5f5;-webkit-transition:width .2s ease 0s;-moz-transition:width .2s ease 0s;-ms-transition:width .2s ease 0s;-o-transition:width .2s ease 0s}.dark-theme.fr-popup .fr-video-progress-bar-layer>div.fr-loader.fr-indeterminate span{top:0}.dark-theme.fr-video-overlay{top:0;left:0;bottom:0;right:0;z-index:2147483640}.dark-theme .fr-view span[style~="color:"] a{color:inherit}.dark-theme .fr-view strong{font-weight:700}.dark-theme .fr-view table.fr-alternate-rows tbody tr:nth-child(2n){background:#d3d3d3}.dark-theme .fr-view table td,.dark-theme .fr-view table th{border:1px solid #ddd}.dark-theme .fr-view table th{background:#e6e6e6}.dark-theme .fr-view[dir=rtl] blockquote{border-right:solid 2px #5e35b1;margin-right:0}.dark-theme .fr-view[dir=rtl] blockquote blockquote{border-color:#00bcd4}.dark-theme .fr-view[dir=rtl] blockquote blockquote blockquote{border-color:#43a047}.dark-theme .fr-view blockquote{border-left:solid 2px #5e35b1;margin-left:0;color:#5e35b1}.dark-theme .fr-view blockquote blockquote{border-color:#00bcd4;color:#00bcd4}.dark-theme .fr-view blockquote blockquote blockquote{border-color:#43a047;color:#43a047}.dark-theme .fr-view span.fr-emoticon{line-height:0}.dark-theme .fr-view span.fr-emoticon.fr-emoticon-img{font-size:inherit}.dark-theme .fr-view .fr-text-bordered{padding:10px 0}.dark-theme .fr-view .fr-class-highlighted{background-color:#ff0}.dark-theme .fr-view .fr-img-caption .fr-img-wrap{margin:auto}.dark-theme .fr-view .fr-img-caption .fr-img-wrap img{margin:auto}.dark-theme .fr-view .fr-img-caption .fr-img-wrap>span{margin:auto}.dark-theme .fr-element .fr-embedly::after{top:0;left:0;right:0;bottom:0}.dark-theme.fr-box .fr-embedly-resizer{border:solid 1px #42a5f5}.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal .fr-font-awesome-title{border-bottom:solid 1px #e6e6e6}.dark-theme .tui-image-editor-container{top:0;left:0;bottom:0;right:0;z-index:10}.dark-theme .tui-editor-cancel-btn{background-color:#fff;border:1px solid #aaa}.dark-theme .tui-editor-save-btn{color:#fff}.dark-theme .examples-variante>a{font-size:14px;font-family:Arial,Helvetica,sans-serif}.dark-theme .sc-cm-holder>.sc-cm{border-top:5px solid #222!important}.dark-theme .sc-cm__item_dropdown:hover>a,.dark-theme .sc-cm a:hover{background-color:#3d3d3d!important}.dark-theme .sc-cm__item_active>a,.dark-theme .sc-cm__item_active>a:hover,.dark-theme .sc-cm a:active,.dark-theme .sc-cm a:focus{background-color:#2e2e2e!important}.dark-theme .sc-cm-holder>.sc-cm:before{background-color:#3d3d3d!important}.dark-theme .fr-tooltip{top:0;left:0;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);background:#222;color:#fff;font-size:11px;line-height:22px;font-family:Arial,Helvetica,sans-serif;-webkit-transition:opacity .2s ease 0s;-moz-transition:opacity .2s ease 0s;-ms-transition:opacity .2s ease 0s;-o-transition:opacity .2s ease 0s}.dark-theme.fr-toolbar .fr-command.fr-btn,.dark-theme.fr-popup .fr-command.fr-btn{color:#fff;-moz-outline:0;outline:0;border:0;margin:0 2px;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;padding:0;width:38px;height:38px}.dark-theme.fr-toolbar .fr-command.fr-btn::-moz-focus-inner,.dark-theme.fr-popup .fr-command.fr-btn::-moz-focus-inner{border:0}.dark-theme.fr-toolbar .fr-command.fr-btn.fr-btn-text,.dark-theme.fr-popup .fr-command.fr-btn.fr-btn-text{width:auto}.dark-theme.fr-toolbar .fr-command.fr-btn i,.dark-theme.fr-popup .fr-command.fr-btn i,.dark-theme.fr-toolbar .fr-command.fr-btn svg,.dark-theme.fr-popup .fr-command.fr-btn svg{font-size:14px;width:14px;margin:12px}.dark-theme.fr-toolbar .fr-command.fr-btn span,.dark-theme.fr-popup .fr-command.fr-btn span{font-size:14px;line-height:17px;min-width:34px;height:17px;padding:0 2px}.dark-theme.fr-toolbar .fr-command.fr-btn img,.dark-theme.fr-popup .fr-command.fr-btn img{margin:12px;width:14px}.dark-theme.fr-toolbar .fr-command.fr-btn.fr-active,.dark-theme.fr-popup .fr-command.fr-btn.fr-active{color:#42a5f5;background:0 0}.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection,.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection{width:auto}.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown i,.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown i,.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown span,.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown span,.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown img,.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown img,.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown svg,.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown svg{margin-left:8px;margin-right:16px}.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active,.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active{color:#fff;background:#2e2e2e}.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover,.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover,.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus,.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus{background:#2e2e2e!important;color:#fff!important}.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover::after,.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover::after,.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus::after,.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus::after{border-top-color:#fff!important}.dark-theme.fr-toolbar .fr-command.fr-btn.fr-dropdown::after,.dark-theme.fr-popup .fr-command.fr-btn.fr-dropdown::after{width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #fff;right:4px;top:17px}.dark-theme.fr-toolbar .fr-command.fr-btn.fr-disabled,.dark-theme.fr-popup .fr-command.fr-btn.fr-disabled{color:gray}.dark-theme.fr-toolbar .fr-command.fr-btn.fr-disabled::after,.dark-theme.fr-popup .fr-command.fr-btn.fr-disabled::after{border-top-color:gray!important}.dark-theme.fr-toolbar.fr-disabled .fr-btn,.dark-theme.fr-popup.fr-disabled .fr-btn,.dark-theme.fr-toolbar.fr-disabled .fr-btn.fr-active,.dark-theme.fr-popup.fr-disabled .fr-btn.fr-active{color:gray}.dark-theme.fr-toolbar.fr-disabled .fr-btn.fr-dropdown::after,.dark-theme.fr-popup.fr-disabled .fr-btn.fr-dropdown::after,.dark-theme.fr-toolbar.fr-disabled .fr-btn.fr-active.fr-dropdown::after,.dark-theme.fr-popup.fr-disabled .fr-btn.fr-active.fr-dropdown::after{border-top-color:gray}.dark-theme.fr-desktop .fr-command:hover,.dark-theme.fr-desktop .fr-command:focus,.dark-theme.fr-desktop .fr-command.fr-btn-hover,.dark-theme.fr-desktop .fr-command.fr-expanded{outline:0;color:#fff;background:#3d3d3d}.dark-theme.fr-desktop .fr-command:hover::after,.dark-theme.fr-desktop .fr-command:focus::after,.dark-theme.fr-desktop .fr-command.fr-btn-hover::after,.dark-theme.fr-desktop .fr-command.fr-expanded::after{border-top-color:#fff!important}.dark-theme.fr-desktop .fr-command.fr-selected{color:#fff;background:#2e2e2e}.dark-theme.fr-desktop .fr-command.fr-active:hover,.dark-theme.fr-desktop .fr-command.fr-active:focus,.dark-theme.fr-desktop .fr-command.fr-active.fr-btn-hover,.dark-theme.fr-desktop .fr-command.fr-active.fr-expanded{color:#42a5f5;background:#3d3d3d}.dark-theme.fr-desktop .fr-command.fr-active.fr-selected{color:#42a5f5;background:#2e2e2e}.dark-theme.fr-toolbar.fr-mobile .fr-command.fr-blink,.dark-theme.fr-popup.fr-mobile .fr-command.fr-blink{background:0 0}.dark-theme .fr-command.fr-btn.fr-options{width:16px;margin-left:-5px}.dark-theme .fr-command.fr-btn.fr-options.fr-btn-hover,.dark-theme .fr-command.fr-btn.fr-options:hover,.dark-theme .fr-command.fr-btn.fr-options:focus{border-left:solid 1px #fafafa}.dark-theme .fr-command.fr-btn+.fr-dropdown-menu{right:auto;bottom:auto;height:auto;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.dark-theme .fr-command.fr-btn+.fr-dropdown-menu.test-height .fr-dropdown-wrapper{height:auto;max-height:275px}.dark-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper{background:#353535;padding:0;margin:auto;-webkit-transition:max-height .2s ease 0s;-moz-transition:max-height .2s ease 0s;-ms-transition:max-height .2s ease 0s;-o-transition:max-height .2s ease 0s;margin-top:0;max-height:0;height:0}.dark-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content{overflow:auto;max-height:275px}.dark-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list{margin:0;padding:0}.dark-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li{padding:0;margin:0}.dark-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a{color:inherit}.dark-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-active{background:#2e2e2e}.dark-theme .fr-command.fr-btn+.fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-disabled{color:gray}.dark-theme .fr-command.fr-btn.fr-active+.fr-dropdown-menu{-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14)}.dark-theme .fr-command.fr-btn.fr-active+.fr-dropdown-menu .fr-dropdown-wrapper{height:auto;max-height:275px}.dark-theme .fr-bottom>.fr-command.fr-btn+.fr-dropdown-menu{border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.dark-theme.fr-modal{color:#fff;font-family:Arial,Helvetica,sans-serif;overflow-x:auto;top:0;left:0;bottom:0;right:0;z-index:2147483640}.dark-theme.fr-modal.fr-middle .fr-modal-wrapper{margin-top:0;margin-bottom:0;margin-left:auto;margin-right:auto}.dark-theme.fr-modal .fr-modal-wrapper{border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;margin:20px auto;background:#353535;-webkit-box-shadow:0 5px 8px rgba(0,0,0,.19),0 4px 3px 1px rgba(0,0,0,.14);-moz-box-shadow:0 5px 8px rgba(0,0,0,.19),0 4px 3px 1px rgba(0,0,0,.14);box-shadow:0 5px 8px rgba(0,0,0,.19),0 4px 3px 1px rgba(0,0,0,.14);border:0;border-top:5px solid #222}@media (min-width:768px) and (max-width:991px){.dark-theme.fr-modal .fr-modal-wrapper{margin:30px auto}}@media (min-width:992px){.dark-theme.fr-modal .fr-modal-wrapper{margin:50px auto}}.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-head{background:#353535;-webkit-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);-moz-box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);box-shadow:0 3px 6px rgba(0,0,0,.16),0 2px 2px 1px rgba(0,0,0,.14);border-bottom:0;-webkit-transition:height .2s ease 0s;-moz-transition:height .2s ease 0s;-ms-transition:height .2s ease 0s;-o-transition:height .2s ease 0s}.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-head .fr-modal-close{color:#fff;top:0;right:0;-webkit-transition:color .2s ease 0s;-moz-transition:color .2s ease 0s;-ms-transition:color .2s ease 0s;-o-transition:color .2s ease 0s}.dark-theme.fr-modal .fr-modal-wrapper .fr-modal-head h4{margin:0;font-weight:400}.dark-theme.fr-modal .fr-modal-wrapper div.fr-modal-body:focus{outline:0}.dark-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command{color:#42a5f5;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.dark-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:hover,.dark-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:focus{background:#3d3d3d;color:#42a5f5}.dark-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:active{background:#2e2e2e;color:#42a5f5}.dark-theme.fr-modal .fr-modal-wrapper div.fr-modal-body button::-moz-focus-inner{border:0}.dark-theme.dark-theme.fr-desktop .fr-modal-wrapper .fr-modal-head i:hover{background:#3d3d3d}.dark-theme.fr-overlay{top:0;bottom:0;left:0;right:0;background:#000}.dark-theme.fr-popup{color:#fff;background:#353535;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;font-family:Arial,Helvetica,sans-serif;border:0;border-top:5px solid #222}.dark-theme.fr-popup .fr-input-focus{background:#363636}.dark-theme.fr-popup.fr-above{border-top:0;border-bottom:5px solid #222;-webkit-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16)}.dark-theme.fr-popup .fr-input-line{padding:8px 0}.dark-theme.fr-popup .fr-input-line input[type=text],.dark-theme.fr-popup .fr-input-line textarea{margin:0 0 1px;border-bottom:solid 1px #bdbdbd;color:#fff}.dark-theme.fr-popup .fr-input-line input[type=text]:focus,.dark-theme.fr-popup .fr-input-line textarea:focus{border-bottom:solid 2px #42a5f5}.dark-theme.fr-popup .fr-input-line input+label,.dark-theme.fr-popup .fr-input-line textarea+label{top:0;left:0;-webkit-transition:color .2s ease 0s;-moz-transition:color .2s ease 0s;-ms-transition:color .2s ease 0s;-o-transition:color .2s ease 0s;background:#353535}.dark-theme.fr-popup .fr-input-line input.fr-not-empty:focus+label,.dark-theme.fr-popup .fr-input-line textarea.fr-not-empty:focus+label{color:#42a5f5}.dark-theme.fr-popup .fr-input-line input.fr-not-empty+label,.dark-theme.fr-popup .fr-input-line textarea.fr-not-empty+label{color:gray}.dark-theme.fr-popup .fr-buttons{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);padding:0 2px;line-height:0;border-bottom:0}.dark-theme.fr-popup .fr-layer{width:225px}@media (min-width:768px){.dark-theme.fr-popup .fr-layer{width:300px}}.dark-theme.fr-popup .fr-action-buttons button.fr-command{color:#42a5f5;-webkit-transition:background .2s ease 0s;-moz-transition:background .2s ease 0s;-ms-transition:background .2s ease 0s;-o-transition:background .2s ease 0s;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.dark-theme.fr-popup .fr-action-buttons button.fr-command:hover,.dark-theme.fr-popup .fr-action-buttons button.fr-command:focus{background:#3d3d3d;color:#42a5f5}.dark-theme.fr-popup .fr-action-buttons button.fr-command:active{background:#2e2e2e;color:#42a5f5}.dark-theme.fr-popup .fr-action-buttons button::-moz-focus-inner{border:0}.dark-theme.fr-popup .fr-checkbox span{border:solid 1px #fff;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-transition:background .2s ease 0s,border-color .2s ease 0s;-moz-transition:background .2s ease 0s,border-color .2s ease 0s;-ms-transition:background .2s ease 0s,border-color .2s ease 0s;-o-transition:background .2s ease 0s,border-color .2s ease 0s}.dark-theme.fr-popup .fr-checkbox input{margin:0;padding:0}.dark-theme.fr-popup .fr-checkbox input:checked+span{background:#42a5f5;border-color:#42a5f5}.dark-theme.fr-popup .fr-checkbox input:focus+span{border-color:#42a5f5}.dark-theme.fr-popup.fr-rtl .fr-input-line input+label,.dark-theme.fr-popup.fr-rtl .fr-input-line textarea+label{left:auto;right:0}.dark-theme.fr-popup .fr-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #222;top:-9px;margin-left:-5px}.dark-theme.fr-popup.fr-above .fr-arrow{top:auto;bottom:-9px;border-bottom:0;border-top:5px solid #222}.dark-theme.fr-toolbar{color:#fff;background:#353535;font-family:Arial,Helvetica,sans-serif;padding:0 2px;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);border:0;border-top:5px solid #222}.dark-theme.fr-toolbar.fr-inline .fr-arrow{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:5px solid #222;top:-9px;margin-left:-5px}.dark-theme.fr-toolbar.fr-inline.fr-above{-webkit-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);box-shadow:0 -1px 3px rgba(0,0,0,.12),0 -1px 1px 1px rgba(0,0,0,.16);border-bottom:5px solid #222;border-top:0}.dark-theme.fr-toolbar.fr-inline.fr-above .fr-arrow{top:auto;bottom:-9px;border-bottom:0;border-top-color:inherit;border-top-width:5px}.dark-theme.fr-toolbar.fr-top{top:0;border-radius:2px 2px 0 0;-moz-border-radius:2px 2px 0 0;-webkit-border-radius:2px 2px 0 0;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.dark-theme.fr-toolbar.fr-bottom{bottom:0;border-radius:0 0 2px 2px;-moz-border-radius:0 0 2px 2px;-webkit-border-radius:0 0 2px 2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.dark-theme .fr-separator{background:#595959}.dark-theme .fr-separator.fr-vs{height:34px;width:1px;margin:2px}.dark-theme .fr-separator.fr-hs{height:1px;width:calc(100% - (2 * 2px));margin:0 2px} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/themes/dark.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/froala_editor.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/froala_editor.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/froala_editor.css (revision 7) @@ -0,0 +1,1319 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-element, +.fr-element:focus { + outline: 0px solid transparent; +} +.fr-box.fr-basic .fr-element { + color: #000000; + padding: 16px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + overflow-x: auto; + min-height: 52px; +} +.fr-box.fr-basic.fr-rtl .fr-element { + text-align: right; +} +.fr-element { + background: transparent; + position: relative; + z-index: 2; + -webkit-user-select: auto; +} +.fr-element a { + user-select: auto; + -o-user-select: auto; + -moz-user-select: auto; + -khtml-user-select: auto; + -webkit-user-select: auto; + -ms-user-select: auto; +} +.fr-element.fr-disabled { + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.fr-element [contenteditable="true"] { + outline: 0px solid transparent; +} +.fr-box a.fr-floating-btn { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + border-radius: 100%; + -moz-border-radius: 100%; + -webkit-border-radius: 100%; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + height: 32px; + width: 32px; + background: #ffffff; + color: #1e88e5; + -webkit-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, color 0.2s ease 0s, transform 0.2s ease 0s; + outline: none; + left: 0; + top: 0; + line-height: 32px; + -webkit-transform: scale(0); + -moz-transform: scale(0); + -ms-transform: scale(0); + -o-transform: scale(0); + text-align: center; + display: block; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + border: none; +} +.fr-box a.fr-floating-btn svg { + -webkit-transition: transform 0.2s ease 0s; + -moz-transition: transform 0.2s ease 0s; + -ms-transition: transform 0.2s ease 0s; + -o-transition: transform 0.2s ease 0s; + fill: #1e88e5; +} +.fr-box a.fr-floating-btn i, +.fr-box a.fr-floating-btn svg { + font-size: 14px; + line-height: 32px; +} +.fr-box a.fr-floating-btn.fr-btn + .fr-btn { + margin-left: 10px; +} +.fr-box a.fr-floating-btn:hover { + background: #ebebeb; + cursor: pointer; +} +.fr-box a.fr-floating-btn:hover svg { + fill: #1e88e5; +} +.fr-box .fr-visible a.fr-floating-btn { + -webkit-transform: scale(1); + -moz-transform: scale(1); + -ms-transform: scale(1); + -o-transform: scale(1); +} +iframe.fr-iframe { + width: 100%; + border: none; + position: relative; + display: block; + z-index: 2; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.fr-wrapper { + position: relative; + z-index: 1; +} +.fr-wrapper::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.fr-wrapper .fr-placeholder { + position: absolute; + font-size: 12px; + color: #aaaaaa; + z-index: 1; + display: none; + top: 0; + left: 0; + right: 0; + overflow: hidden; +} +.fr-wrapper.show-placeholder .fr-placeholder { + display: block; +} +.fr-wrapper ::-moz-selection { + background: #b5d6fd; + color: #000000; +} +.fr-wrapper ::selection { + background: #b5d6fd; + color: #000000; +} +.fr-box.fr-basic .fr-wrapper { + background: #ffffff; + border: 0px; + border-top: 0; + top: 0; + left: 0; +} +.fr-box.fr-basic.fr-top .fr-wrapper { + border-top: 0; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.fr-box.fr-basic.fr-bottom .fr-wrapper { + border-bottom: 0; + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); +} +@media (min-width: 992px) { + .fr-box.fr-document { + min-width: 21cm; + } + .fr-box.fr-document .fr-wrapper { + text-align: center; + padding: 30px; + min-width: 21cm; + background: #EFEFEF; + } + .fr-box.fr-document .fr-wrapper .fr-element { + text-align: left; + background: #FFF; + width: 21cm; + margin: auto; + min-height: 26cm !important; + padding: 1cm 2cm; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + overflow: visible; + } + .fr-box.fr-document .fr-wrapper .fr-element hr { + margin-left: -2cm; + margin-right: -2cm; + background: #EFEFEF; + height: 1cm; + outline: none; + border: none; + } +} +.fr-tooltip { + position: absolute; + top: 0; + left: 0; + padding: 0 8px; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + background: #222222; + color: #ffffff; + font-size: 11px; + line-height: 22px; + font-family: Arial, Helvetica, sans-serif; + -webkit-transition: opacity 0.2s ease 0s; + -moz-transition: opacity 0.2s ease 0s; + -ms-transition: opacity 0.2s ease 0s; + -o-transition: opacity 0.2s ease 0s; + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + left: -3000px; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + z-index: 2147483647; + text-rendering: optimizelegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.fr-tooltip.fr-visible { + -webkit-opacity: 1; + -moz-opacity: 1; + opacity: 1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; +} +.fr-toolbar .fr-btn-wrap, +.fr-popup .fr-btn-wrap { + float: left; + white-space: nowrap; + position: relative; +} +.fr-toolbar .fr-btn-wrap.fr-hidden, +.fr-popup .fr-btn-wrap.fr-hidden { + display: none; +} +.fr-toolbar .fr-command.fr-btn, +.fr-popup .fr-command.fr-btn { + background: transparent; + color: #222222; + -moz-outline: 0; + outline: 0; + border: 0; + line-height: 1; + cursor: pointer; + text-align: left; + margin: 0px 2px; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + z-index: 2; + position: relative; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + text-decoration: none; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + float: left; + padding: 0; + width: 38px; + height: 38px; +} +.fr-toolbar .fr-command.fr-btn::-moz-focus-inner, +.fr-popup .fr-command.fr-btn::-moz-focus-inner { + border: 0; + padding: 0; +} +.fr-toolbar .fr-command.fr-btn.fr-btn-text, +.fr-popup .fr-command.fr-btn.fr-btn-text { + width: auto; +} +.fr-toolbar .fr-command.fr-btn i, +.fr-popup .fr-command.fr-btn i, +.fr-toolbar .fr-command.fr-btn svg, +.fr-popup .fr-command.fr-btn svg { + display: block; + font-size: 14px; + width: 14px; + margin: 12px 12px; + text-align: center; + float: none; +} +.fr-toolbar .fr-command.fr-btn span.fr-sr-only, +.fr-popup .fr-command.fr-btn span.fr-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-toolbar .fr-command.fr-btn span, +.fr-popup .fr-command.fr-btn span { + font-size: 14px; + display: block; + line-height: 17px; + min-width: 34px; + float: left; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + height: 17px; + font-weight: bold; + padding: 0 2px; +} +.fr-toolbar .fr-command.fr-btn img, +.fr-popup .fr-command.fr-btn img { + margin: 12px 12px; + width: 14px; +} +.fr-toolbar .fr-command.fr-btn.fr-active, +.fr-popup .fr-command.fr-btn.fr-active { + color: #1e88e5; + background: transparent; +} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection, +.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection { + width: auto; +} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-selection span, +.fr-popup .fr-command.fr-btn.fr-dropdown.fr-selection span { + font-weight: normal; +} +.fr-toolbar .fr-command.fr-btn.fr-dropdown i, +.fr-popup .fr-command.fr-btn.fr-dropdown i, +.fr-toolbar .fr-command.fr-btn.fr-dropdown span, +.fr-popup .fr-command.fr-btn.fr-dropdown span, +.fr-toolbar .fr-command.fr-btn.fr-dropdown img, +.fr-popup .fr-command.fr-btn.fr-dropdown img, +.fr-toolbar .fr-command.fr-btn.fr-dropdown svg, +.fr-popup .fr-command.fr-btn.fr-dropdown svg { + margin-left: 8px; + margin-right: 16px; +} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active, +.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active { + color: #222222; + background: #d6d6d6; +} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover, +.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover, +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus, +.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus { + background: #d6d6d6 !important; + color: #222222 !important; +} +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:hover::after, +.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:hover::after, +.fr-toolbar .fr-command.fr-btn.fr-dropdown.fr-active:focus::after, +.fr-popup .fr-command.fr-btn.fr-dropdown.fr-active:focus::after { + border-top-color: #222222 !important; +} +.fr-toolbar .fr-command.fr-btn.fr-dropdown::after, +.fr-popup .fr-command.fr-btn.fr-dropdown::after { + position: absolute; + width: 0; + height: 0; + border-left: 4px solid transparent; + border-right: 4px solid transparent; + border-top: 4px solid #222222; + right: 4px; + top: 17px; + content: ""; +} +.fr-toolbar .fr-command.fr-btn.fr-disabled, +.fr-popup .fr-command.fr-btn.fr-disabled { + color: #bdbdbd; + cursor: default; +} +.fr-toolbar .fr-command.fr-btn.fr-disabled::after, +.fr-popup .fr-command.fr-btn.fr-disabled::after { + border-top-color: #bdbdbd !important; +} +.fr-toolbar .fr-command.fr-btn.fr-hidden, +.fr-popup .fr-command.fr-btn.fr-hidden { + display: none; +} +.fr-toolbar.fr-disabled .fr-btn, +.fr-popup.fr-disabled .fr-btn, +.fr-toolbar.fr-disabled .fr-btn.fr-active, +.fr-popup.fr-disabled .fr-btn.fr-active { + color: #bdbdbd; +} +.fr-toolbar.fr-disabled .fr-btn.fr-dropdown::after, +.fr-popup.fr-disabled .fr-btn.fr-dropdown::after, +.fr-toolbar.fr-disabled .fr-btn.fr-active.fr-dropdown::after, +.fr-popup.fr-disabled .fr-btn.fr-active.fr-dropdown::after { + border-top-color: #bdbdbd; +} +.fr-toolbar.fr-rtl .fr-command.fr-btn, +.fr-popup.fr-rtl .fr-command.fr-btn { + float: right; +} +.fr-toolbar.fr-inline > .fr-command.fr-btn:not(.fr-hidden), +.fr-toolbar.fr-inline > .fr-btn-wrap:not(.fr-hidden) { + display: -webkit-inline-flex; + display: -ms-inline-flexbox; + display: inline-flex; + float: none; +} +.fr-desktop .fr-command:hover, +.fr-desktop .fr-command:focus, +.fr-desktop .fr-command.fr-btn-hover, +.fr-desktop .fr-command.fr-expanded { + outline: 0; + color: #222222; + background: #ebebeb; +} +.fr-desktop .fr-command:hover::after, +.fr-desktop .fr-command:focus::after, +.fr-desktop .fr-command.fr-btn-hover::after, +.fr-desktop .fr-command.fr-expanded::after { + border-top-color: #222222 !important; +} +.fr-desktop .fr-command.fr-selected { + color: #222222; + background: #d6d6d6; +} +.fr-desktop .fr-command.fr-active:hover, +.fr-desktop .fr-command.fr-active:focus, +.fr-desktop .fr-command.fr-active.fr-btn-hover, +.fr-desktop .fr-command.fr-active.fr-expanded { + color: #1e88e5; + background: #ebebeb; +} +.fr-desktop .fr-command.fr-active.fr-selected { + color: #1e88e5; + background: #d6d6d6; +} +.fr-desktop .fr-command.fr-disabled:hover, +.fr-desktop .fr-command.fr-disabled:focus, +.fr-desktop .fr-command.fr-disabled.fr-selected { + background: transparent; +} +.fr-desktop.fr-disabled .fr-command:hover, +.fr-desktop.fr-disabled .fr-command:focus, +.fr-desktop.fr-disabled .fr-command.fr-selected { + background: transparent; +} +.fr-toolbar.fr-mobile .fr-command.fr-blink, +.fr-popup.fr-mobile .fr-command.fr-blink { + background: transparent; +} +.fr-command.fr-btn.fr-options { + width: 16px; + margin-left: -5px; +} +.fr-command.fr-btn.fr-options.fr-btn-hover, +.fr-command.fr-btn.fr-options:hover, +.fr-command.fr-btn.fr-options:focus { + border-left: solid 1px #fafafa; +} +.fr-command.fr-btn + .fr-dropdown-menu { + display: inline-block; + position: absolute; + right: auto; + bottom: auto; + height: auto; + z-index: 4; + -webkit-overflow-scrolling: touch; + overflow: hidden; + zoom: 1; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.fr-command.fr-btn + .fr-dropdown-menu.test-height .fr-dropdown-wrapper { + -webkit-transition: none; + -moz-transition: none; + -ms-transition: none; + -o-transition: none; + height: auto; + max-height: 275px; +} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper { + background: #ffffff; + padding: 0; + margin: auto; + display: inline-block; + text-align: left; + position: relative; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: max-height 0.2s ease 0s; + -moz-transition: max-height 0.2s ease 0s; + -ms-transition: max-height 0.2s ease 0s; + -o-transition: max-height 0.2s ease 0s; + margin-top: 0; + float: left; + max-height: 0; + height: 0; + margin-top: 0 !important; +} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content { + overflow: auto; + position: relative; + max-height: 275px; +} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list { + list-style-type: none; + margin: 0; + padding: 0; +} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li { + padding: 0; + margin: 0; + font-size: 15px; +} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a { + padding: 0 24px; + line-height: 200%; + display: block; + cursor: pointer; + white-space: nowrap; + color: inherit; + text-decoration: none; +} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-active { + background: #d6d6d6; +} +.fr-command.fr-btn + .fr-dropdown-menu .fr-dropdown-wrapper .fr-dropdown-content ul.fr-dropdown-list li a.fr-disabled { + color: #bdbdbd; + cursor: default; +} +.fr-command.fr-btn:not(.fr-active) + .fr-dropdown-menu { + left: -3000px !important; +} +.fr-command.fr-btn.fr-active + .fr-dropdown-menu { + display: inline-block; + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); +} +.fr-command.fr-btn.fr-active + .fr-dropdown-menu .fr-dropdown-wrapper { + height: auto; + max-height: 275px; +} +.fr-bottom > .fr-command.fr-btn + .fr-dropdown-menu { + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.fr-toolbar.fr-rtl .fr-dropdown-wrapper, +.fr-popup.fr-rtl .fr-dropdown-wrapper { + text-align: right !important; +} +body.prevent-scroll { + overflow: hidden; +} +body.prevent-scroll.fr-mobile { + position: fixed; + -webkit-overflow-scrolling: touch; +} +.fr-modal { + color: #222222; + font-family: Arial, Helvetica, sans-serif; + position: fixed; + overflow-x: auto; + overflow-y: scroll; + top: 0; + left: 0; + bottom: 0; + right: 0; + width: 100%; + z-index: 2147483640; + text-rendering: optimizelegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-align: center; + line-height: 1.2; +} +.fr-modal.fr-middle .fr-modal-wrapper { + margin-top: 0; + margin-bottom: 0; + margin-left: auto; + margin-right: auto; + top: 50%; + left: 50%; + -webkit-transform: translate(-50%, -50%); + -moz-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + -o-transform: translate(-50%, -50%); + position: absolute; +} +.fr-modal .fr-modal-wrapper { + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + margin: 20px auto; + display: inline-block; + background: #ffffff; + min-width: 300px; + -webkit-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.19), 0 4px 3px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.19), 0 4px 3px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 5px 8px rgba(0, 0, 0, 0.19), 0 4px 3px 1px rgba(0, 0, 0, 0.14); + border: 0px; + border-top: 5px solid #222222; + overflow: hidden; + width: 90%; + position: relative; +} +@media (min-width: 768px) and (max-width: 991px) { + .fr-modal .fr-modal-wrapper { + margin: 30px auto; + width: 70%; + } +} +@media (min-width: 992px) { + .fr-modal .fr-modal-wrapper { + margin: 50px auto; + width: 960px; + } +} +.fr-modal .fr-modal-wrapper .fr-modal-head { + background: #ffffff; + -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 2px 2px 1px rgba(0, 0, 0, 0.14); + border-bottom: 0px; + overflow: hidden; + position: absolute; + width: 100%; + min-height: 42px; + z-index: 3; + -webkit-transition: height 0.2s ease 0s; + -moz-transition: height 0.2s ease 0s; + -ms-transition: height 0.2s ease 0s; + -o-transition: height 0.2s ease 0s; +} +.fr-modal .fr-modal-wrapper .fr-modal-head .fr-modal-close { + padding: 12px; + width: 20px; + font-size: 16px; + cursor: pointer; + line-height: 18px; + color: #222222; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + position: absolute; + top: 0; + right: 0; + -webkit-transition: color 0.2s ease 0s; + -moz-transition: color 0.2s ease 0s; + -ms-transition: color 0.2s ease 0s; + -o-transition: color 0.2s ease 0s; +} +.fr-modal .fr-modal-wrapper .fr-modal-head h4 { + font-size: 18px; + padding: 12px 10px; + margin: 0; + font-weight: 400; + line-height: 18px; + display: inline-block; + float: left; +} +.fr-modal .fr-modal-wrapper div.fr-modal-body { + height: 100%; + min-height: 150px; + overflow-y: scroll; + padding-bottom: 10px; +} +.fr-modal .fr-modal-wrapper div.fr-modal-body:focus { + outline: 0; +} +.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command { + height: 36px; + line-height: 1; + color: #1e88e5; + padding: 10px; + cursor: pointer; + text-decoration: none; + border: none; + background: none; + font-size: 16px; + outline: none; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command + button { + margin-left: 24px; +} +.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:hover, +.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:focus { + background: #ebebeb; + color: #1e88e5; +} +.fr-modal .fr-modal-wrapper div.fr-modal-body button.fr-command:active { + background: #d6d6d6; + color: #1e88e5; +} +.fr-modal .fr-modal-wrapper div.fr-modal-body button::-moz-focus-inner { + border: 0; +} +.fr-desktop .fr-modal-wrapper .fr-modal-head i:hover { + background: #ebebeb; +} +.fr-overlay { + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + background: #000000; + -webkit-opacity: 0.5; + -moz-opacity: 0.5; + opacity: 0.5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + z-index: 2147483639; +} +.fr-popup { + position: absolute; + display: none; + color: #222222; + background: #ffffff; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + font-family: Arial, Helvetica, sans-serif; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + margin-top: 10px; + z-index: 2147483635; + text-align: left; + border: 0px; + border-top: 5px solid #222222; + text-rendering: optimizelegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + line-height: 1.2; +} +.fr-popup .fr-input-focus { + background: #f5f5f5; +} +.fr-popup.fr-above { + margin-top: -10px; + border-top: 0; + border-bottom: 5px solid #222222; + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); +} +.fr-popup.fr-active { + display: block; +} +.fr-popup.fr-hidden { + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; +} +.fr-popup.fr-empty { + display: none !important; +} +.fr-popup .fr-hs { + display: block !important; +} +.fr-popup .fr-hs.fr-hidden { + display: none !important; +} +.fr-popup .fr-input-line { + position: relative; + padding: 8px 0; +} +.fr-popup .fr-input-line input[type="text"], +.fr-popup .fr-input-line textarea { + width: 100%; + margin: 0px 0 1px 0; + border: none; + border-bottom: solid 1px #bdbdbd; + color: #222222; + font-size: 14px; + padding: 6px 0 2px; + background: rgba(0, 0, 0, 0); + position: relative; + z-index: 2; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +.fr-popup .fr-input-line input[type="text"]:focus, +.fr-popup .fr-input-line textarea:focus { + border-bottom: solid 2px #1e88e5; + margin-bottom: 0px; +} +.fr-popup .fr-input-line input + label, +.fr-popup .fr-input-line textarea + label { + position: absolute; + top: 0; + left: 0; + font-size: 12px; + color: rgba(0, 0, 0, 0); + -webkit-transition: color 0.2s ease 0s; + -moz-transition: color 0.2s ease 0s; + -ms-transition: color 0.2s ease 0s; + -o-transition: color 0.2s ease 0s; + z-index: 3; + width: 100%; + display: block; + background: #ffffff; +} +.fr-popup .fr-input-line input.fr-not-empty:focus + label, +.fr-popup .fr-input-line textarea.fr-not-empty:focus + label { + color: #1e88e5; +} +.fr-popup .fr-input-line input.fr-not-empty + label, +.fr-popup .fr-input-line textarea.fr-not-empty + label { + color: #808080; +} +.fr-popup input, +.fr-popup textarea { + user-select: text; + -o-user-select: text; + -moz-user-select: text; + -khtml-user-select: text; + -webkit-user-select: text; + -ms-user-select: text; + border-radius: 0; + -moz-border-radius: 0; + -webkit-border-radius: 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + outline: none; +} +.fr-popup textarea { + resize: none; +} +.fr-popup .fr-buttons { + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + padding: 0 2px; + white-space: nowrap; + line-height: 0; + border-bottom: 0px; +} +.fr-popup .fr-buttons::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.fr-popup .fr-buttons .fr-btn { + display: inline-block; + float: none; +} +.fr-popup .fr-buttons .fr-btn i { + float: left; +} +.fr-popup .fr-buttons .fr-separator { + display: inline-block; + float: none; +} +.fr-popup .fr-layer { + width: 225px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin: 10px; + display: none; +} +@media (min-width: 768px) { + .fr-popup .fr-layer { + width: 300px; + } +} +.fr-popup .fr-layer.fr-active { + display: inline-block; +} +.fr-popup .fr-action-buttons { + z-index: 7; + height: 36px; + text-align: right; +} +.fr-popup .fr-action-buttons button.fr-command { + height: 36px; + line-height: 1; + color: #1e88e5; + padding: 10px; + cursor: pointer; + text-decoration: none; + border: none; + background: none; + font-size: 16px; + outline: none; + -webkit-transition: background 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s; + -o-transition: background 0.2s ease 0s; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; +} +.fr-popup .fr-action-buttons button.fr-command + button { + margin-left: 24px; +} +.fr-popup .fr-action-buttons button.fr-command:hover, +.fr-popup .fr-action-buttons button.fr-command:focus { + background: #ebebeb; + color: #1e88e5; +} +.fr-popup .fr-action-buttons button.fr-command:active { + background: #d6d6d6; + color: #1e88e5; +} +.fr-popup .fr-action-buttons button::-moz-focus-inner { + border: 0; +} +.fr-popup .fr-checkbox { + position: relative; + display: inline-block; + width: 16px; + height: 16px; + line-height: 1; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + vertical-align: middle; +} +.fr-popup .fr-checkbox svg { + margin-left: 2px; + margin-top: 2px; + display: none; + width: 10px; + height: 10px; +} +.fr-popup .fr-checkbox span { + border: solid 1px #222222; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + width: 16px; + height: 16px; + display: inline-block; + position: relative; + z-index: 1; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + -webkit-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -moz-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -ms-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; + -o-transition: background 0.2s ease 0s, border-color 0.2s ease 0s; +} +.fr-popup .fr-checkbox input { + position: absolute; + z-index: 2; + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; + border: 0 none; + cursor: pointer; + height: 16px; + margin: 0; + padding: 0; + width: 16px; + top: 1px; + left: 1px; +} +.fr-popup .fr-checkbox input:checked + span { + background: #1e88e5; + border-color: #1e88e5; +} +.fr-popup .fr-checkbox input:checked + span svg { + display: block; +} +.fr-popup .fr-checkbox input:focus + span { + border-color: #1e88e5; +} +.fr-popup .fr-checkbox-line { + font-size: 14px; + line-height: 1.4px; + margin-top: 10px; +} +.fr-popup .fr-checkbox-line label { + cursor: pointer; + margin: 0 5px; + vertical-align: middle; +} +.fr-popup.fr-rtl { + direction: rtl; + text-align: right; +} +.fr-popup.fr-rtl .fr-action-buttons { + text-align: left; +} +.fr-popup.fr-rtl .fr-input-line input + label, +.fr-popup.fr-rtl .fr-input-line textarea + label { + left: auto; + right: 0; +} +.fr-popup.fr-rtl .fr-buttons .fr-separator.fr-vs { + float: right; +} +.fr-popup .fr-arrow { + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #222222; + position: absolute; + top: -9px; + left: 50%; + margin-left: -5px; + display: inline-block; +} +.fr-popup.fr-above .fr-arrow { + top: auto; + bottom: -9px; + border-bottom: 0; + border-top: 5px solid #222222; +} +.fr-text-edit-layer { + width: 250px; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + display: block !important; +} +.fr-toolbar { + color: #222222; + background: #ffffff; + position: relative; + z-index: 4; + font-family: Arial, Helvetica, sans-serif; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + padding: 0 2px; + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + text-align: left; + border: 0px; + border-top: 5px solid #222222; + text-rendering: optimizelegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + line-height: 1.2; +} +.fr-toolbar::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.fr-toolbar.fr-rtl { + text-align: right; +} +.fr-toolbar.fr-inline { + display: none; + white-space: nowrap; + position: absolute; + margin-top: 10px; +} +.fr-toolbar.fr-inline .fr-arrow { + width: 0; + height: 0; + border-left: 5px solid transparent; + border-right: 5px solid transparent; + border-bottom: 5px solid #222222; + position: absolute; + top: -9px; + left: 50%; + margin-left: -5px; + display: inline-block; +} +.fr-toolbar.fr-inline.fr-above { + margin-top: -10px; + -webkit-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.12), 0 -1px 1px 1px rgba(0, 0, 0, 0.16); + border-bottom: 5px solid #222222; + border-top: 0; +} +.fr-toolbar.fr-inline.fr-above .fr-arrow { + top: auto; + bottom: -9px; + border-bottom: 0; + border-top-color: inherit; + border-top-style: solid; + border-top-width: 5px; +} +.fr-toolbar.fr-top { + top: 0; + border-radius: 2px 2px 0 0; + -moz-border-radius: 2px 2px 0 0; + -webkit-border-radius: 2px 2px 0 0; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.fr-toolbar.fr-bottom { + bottom: 0; + border-radius: 0 0 2px 2px; + -moz-border-radius: 0 0 2px 2px; + -webkit-border-radius: 0 0 2px 2px; + -moz-background-clip: padding; + -webkit-background-clip: padding-box; + background-clip: padding-box; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.fr-separator { + background: #ebebeb; + display: block; + vertical-align: top; + float: left; +} +.fr-separator + .fr-separator { + display: none; +} +.fr-separator.fr-vs { + height: 34px; + width: 1px; + margin: 2px; +} +.fr-separator.fr-hs { + clear: both; + height: 1px; + width: calc(100% - (2 * 2px)); + margin: 0 2px; +} +.fr-separator.fr-hidden { + display: none !important; +} +.fr-rtl .fr-separator { + float: right; +} +.fr-toolbar.fr-inline .fr-separator.fr-hs { + float: none; +} +.fr-toolbar.fr-inline .fr-separator.fr-vs { + float: none; + display: inline-block; +} +.fr-visibility-helper { + display: none; + margin-left: 0px !important; +} +@media (min-width: 768px) { + .fr-visibility-helper { + margin-left: 1px !important; + } +} +@media (min-width: 992px) { + .fr-visibility-helper { + margin-left: 2px !important; + } +} +@media (min-width: 1200px) { + .fr-visibility-helper { + margin-left: 3px !important; + } +} +.fr-opacity-0 { + -webkit-opacity: 0; + -moz-opacity: 0; + opacity: 0; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; +} +.fr-box { + position: relative; +} +/** + * Postion sticky hacks. + */ +.fr-sticky { + position: -webkit-sticky; + position: -moz-sticky; + position: -ms-sticky; + position: -o-sticky; + position: sticky; +} +.fr-sticky-off { + position: relative; +} +.fr-sticky-on { + position: fixed; +} +.fr-sticky-on.fr-sticky-ios { + position: absolute; + left: 0; + right: 0; + width: auto !important; +} +.fr-sticky-dummy { + display: none; +} +.fr-sticky-on + .fr-sticky-dummy, +.fr-sticky-box > .fr-sticky-dummy { + display: block; +} +span.fr-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/froala_editor.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/froala_style.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/froala_style.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/froala_style.min.css (revision 7) @@ -0,0 +1,13 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}img.fr-rounded,.fr-img-caption.fr-rounded img{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}img.fr-bordered,.fr-img-caption.fr-bordered img{border:solid 5px #CCC}img.fr-bordered{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fr-img-caption.fr-bordered img{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}img.fr-shadow,.fr-img-caption.fr-shadow img{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.fr-view{word-wrap:break-word}.fr-view span[style~="color:"] a{color:inherit}.fr-view strong{font-weight:700}.fr-view table{border:0;border-collapse:collapse;empty-cells:show;max-width:100%}.fr-view table td{min-width:5px}.fr-view table.fr-dashed-borders td,.fr-view table.fr-dashed-borders th{border-style:dashed}.fr-view table.fr-alternate-rows tbody tr:nth-child(2n){background:#f5f5f5}.fr-view table td,.fr-view table th{border:1px solid #ddd}.fr-view table td:empty,.fr-view table th:empty{height:20px}.fr-view table td.fr-highlighted,.fr-view table th.fr-highlighted{border:1px double red}.fr-view table td.fr-thick,.fr-view table th.fr-thick{border-width:2px}.fr-view table th{background:#e6e6e6}.fr-view hr{clear:both;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;page-break-after:always}.fr-view .fr-file{position:relative}.fr-view .fr-file::after{position:relative;content:"\1F4CE";font-weight:400}.fr-view pre{white-space:pre-wrap;word-wrap:break-word;overflow:visible}.fr-view[dir=rtl] blockquote{border-left:0;border-right:solid 2px #5e35b1;margin-right:0;padding-right:5px;padding-left:0}.fr-view[dir=rtl] blockquote blockquote{border-color:#00bcd4}.fr-view[dir=rtl] blockquote blockquote blockquote{border-color:#43a047}.fr-view blockquote{border-left:solid 2px #5e35b1;margin-left:0;padding-left:5px;color:#5e35b1}.fr-view blockquote blockquote{border-color:#00bcd4;color:#00bcd4}.fr-view blockquote blockquote blockquote{border-color:#43a047;color:#43a047}.fr-view span.fr-emoticon{font-weight:400;font-family:"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols;display:inline;line-height:0}.fr-view span.fr-emoticon.fr-emoticon-img{background-repeat:no-repeat!important;font-size:inherit;height:1em;width:1em;min-height:20px;min-width:20px;display:inline-block;margin:-.1em .1em .1em;line-height:1;vertical-align:middle}.fr-view .fr-text-gray{color:#AAA!important}.fr-view .fr-text-bordered{border-top:solid 1px #222;border-bottom:solid 1px #222;padding:10px 0}.fr-view .fr-text-spaced{letter-spacing:1px}.fr-view .fr-text-uppercase{text-transform:uppercase}.fr-view .fr-class-highlighted{background-color:#ff0}.fr-view .fr-class-code{border-color:#ccc;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box;background:#f5f5f5;padding:10px;font-family:"Courier New",Courier,monospace}.fr-view .fr-class-transparency{opacity:.5}.fr-view img{position:relative;max-width:100%}.fr-view img.fr-dib{margin:5px auto;display:block;float:none;vertical-align:top}.fr-view img.fr-dib.fr-fil{margin-left:0;text-align:left}.fr-view img.fr-dib.fr-fir{margin-right:0;text-align:right}.fr-view img.fr-dii{display:inline-block;float:none;vertical-align:bottom;margin-left:5px;margin-right:5px;max-width:calc(100% - (2 * 5px))}.fr-view img.fr-dii.fr-fil{float:left;margin:5px 5px 5px 0;max-width:calc(100% - 5px)}.fr-view img.fr-dii.fr-fir{float:right;margin:5px 0 5px 5px;max-width:calc(100% - 5px)}.fr-view span.fr-img-caption{position:relative;max-width:100%}.fr-view span.fr-img-caption.fr-dib{margin:5px auto;display:block;float:none;vertical-align:top}.fr-view span.fr-img-caption.fr-dib.fr-fil{margin-left:0;text-align:left}.fr-view span.fr-img-caption.fr-dib.fr-fir{margin-right:0;text-align:right}.fr-view span.fr-img-caption.fr-dii{display:inline-block;float:none;vertical-align:bottom;margin-left:5px;margin-right:5px;max-width:calc(100% - (2 * 5px))}.fr-view span.fr-img-caption.fr-dii.fr-fil{float:left;margin:5px 5px 5px 0;max-width:calc(100% - 5px)}.fr-view span.fr-img-caption.fr-dii.fr-fir{float:right;margin:5px 0 5px 5px;max-width:calc(100% - 5px)}.fr-view .fr-video{text-align:center;position:relative}.fr-view .fr-video.fr-rv{padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.fr-view .fr-video.fr-rv>iframe,.fr-view .fr-video.fr-rv object,.fr-view .fr-video.fr-rv embed{position:absolute!important;top:0;left:0;width:100%;height:100%}.fr-view .fr-video>*{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;max-width:100%;border:0}.fr-view .fr-video.fr-dvb{display:block;clear:both}.fr-view .fr-video.fr-dvb.fr-fvl{text-align:left}.fr-view .fr-video.fr-dvb.fr-fvr{text-align:right}.fr-view .fr-video.fr-dvi{display:inline-block}.fr-view .fr-video.fr-dvi.fr-fvl{float:left}.fr-view .fr-video.fr-dvi.fr-fvr{float:right}.fr-view a.fr-strong{font-weight:700}.fr-view a.fr-green{color:green}.fr-view .fr-img-caption{text-align:center}.fr-view .fr-img-caption .fr-img-wrap{padding:0;display:inline-block;margin:auto;text-align:center;width:100%}.fr-view .fr-img-caption .fr-img-wrap img{display:block;margin:auto;width:100%}.fr-view .fr-img-caption .fr-img-wrap>span{margin:auto;display:block;padding:5px 5px 10px;font-size:14px;font-weight:initial;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-opacity:.9;-moz-opacity:.9;opacity:.9;-ms-filter:"alpha(Opacity=0)";width:100%;text-align:center}.fr-view button.fr-rounded,.fr-view input.fr-rounded,.fr-view textarea.fr-rounded{border-radius:10px;-moz-border-radius:10px;-webkit-border-radius:10px;-moz-background-clip:padding;-webkit-background-clip:padding-box;background-clip:padding-box}.fr-view button.fr-large,.fr-view input.fr-large,.fr-view textarea.fr-large{font-size:24px}a.fr-view.fr-strong{font-weight:700}a.fr-view.fr-green{color:green}img.fr-view{position:relative;max-width:100%}img.fr-view.fr-dib{margin:5px auto;display:block;float:none;vertical-align:top}img.fr-view.fr-dib.fr-fil{margin-left:0;text-align:left}img.fr-view.fr-dib.fr-fir{margin-right:0;text-align:right}img.fr-view.fr-dii{display:inline-block;float:none;vertical-align:bottom;margin-left:5px;margin-right:5px;max-width:calc(100% - (2 * 5px))}img.fr-view.fr-dii.fr-fil{float:left;margin:5px 5px 5px 0;max-width:calc(100% - 5px)}img.fr-view.fr-dii.fr-fir{float:right;margin:5px 0 5px 5px;max-width:calc(100% - 5px)}span.fr-img-caption.fr-view{position:relative;max-width:100%}span.fr-img-caption.fr-view.fr-dib{margin:5px auto;display:block;float:none;vertical-align:top}span.fr-img-caption.fr-view.fr-dib.fr-fil{margin-left:0;text-align:left}span.fr-img-caption.fr-view.fr-dib.fr-fir{margin-right:0;text-align:right}span.fr-img-caption.fr-view.fr-dii{display:inline-block;float:none;vertical-align:bottom;margin-left:5px;margin-right:5px;max-width:calc(100% - (2 * 5px))}span.fr-img-caption.fr-view.fr-dii.fr-fil{float:left;margin:5px 5px 5px 0;max-width:calc(100% - 5px)}span.fr-img-caption.fr-view.fr-dii.fr-fir{float:right;margin:5px 0 5px 5px;max-width:calc(100% - 5px)} +/*에디터 파일첨부*/ +.fr-file { margin:2px; padding:7px 35px 7px 13px; font-size:0.9em; max-width:200px; overflow:hidden; display:inline-block; text-overflow:ellipsis; white-space:nowrap; border:1px solid #ccc; position:relative; border-radius:5px; transition:all 0.3s; } +.fr-file::after { content:'' !important; position:absolute !important; top:8px; right:8px; display:inline-block; width:20px; height:20px; background: url(../../../images/custom/icon_filedown.svg) 50% 50% no-repeat; background-size:15px; } +.fr-file:hover { border:1px solid #999; box-shadow:0 0 5px 0 rgba(0,0,0,0.1); } +.fr-element .fr-file { padding:7px 13px 7px 35px; background:#f9f9f9; } +.fr-element .fr-file::after { left:8px; right:auto; background: url(../../../images/custom/file.svg) 50% 50% no-repeat; background-size:13px; } \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/froala_style.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/third_party/spell_checker.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/third_party/spell_checker.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/third_party/spell_checker.css (revision 7) @@ -0,0 +1,72 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.examples-variante > a { + font-size: 14px; + font-family: Arial, Helvetica, sans-serif; +} +.sc-cm-holder > .sc-cm { + border-top: 5px solid #222222 !important; + padding: 0px !important; + line-height: 200% !important; + -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 1px 1px rgba(0, 0, 0, 0.16); +} +.sc-cm .sc-cm__item.examples-variante.sc-cm__item_active > a > i { + display: none !important; +} +.sc-cm .sc-cm__item.examples-variante > a > i { + display: none !important; +} +.sc-cm__item_dropdown .i-icon { + display: none !important; +} +.sc-cm__item_dropdown .i-icon::before { + display: none !important; +} +.sc-cm::before { + display: none !important; +} +div.sc-cm-holder.sc-cm_show > ul > li.sc-cm__item.sc-cm__item_dropdown.sc-cm__item_arrow > div > ul { + border-style: none !important; + padding: 0px !important; +} +.sc-cm__item_dropdown:hover > a, +.sc-cm a:hover { + background-color: #ebebeb !important; +} +.sc-cm__item_active > a, +.sc-cm__item_active > a:hover, +.sc-cm a:active, +.sc-cm a:focus { + background-color: #d6d6d6 !important; +} +.sc-cm__item > a { + line-height: 200% !important; +} +.sc-cm-holder > .sc-cm:before { + background-color: #ebebeb !important; +} +.sc-cm-holder { + display: none; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/third_party/spell_checker.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/third_party/spell_checker.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/third_party/spell_checker.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/third_party/spell_checker.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.examples-variante>a{font-size:14px;font-family:Arial,Helvetica,sans-serif}.sc-cm-holder>.sc-cm{border-top:5px solid #222!important;padding:0!important;line-height:200%!important;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);-moz-box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16);box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px 1px rgba(0,0,0,.16)}.sc-cm .sc-cm__item.examples-variante.sc-cm__item_active>a>i{display:none!important}.sc-cm .sc-cm__item.examples-variante>a>i{display:none!important}.sc-cm__item_dropdown .i-icon{display:none!important}.sc-cm__item_dropdown .i-icon::before{display:none!important}.sc-cm::before{display:none!important}div.sc-cm-holder.sc-cm_show>ul>li.sc-cm__item.sc-cm__item_dropdown.sc-cm__item_arrow>div>ul{border-style:none!important;padding:0!important}.sc-cm__item_dropdown:hover>a,.sc-cm a:hover{background-color:#ebebeb!important}.sc-cm__item_active>a,.sc-cm__item_active>a:hover,.sc-cm a:active,.sc-cm a:focus{background-color:#d6d6d6!important}.sc-cm__item>a{line-height:200%!important}.sc-cm-holder>.sc-cm:before{background-color:#ebebeb!important}.sc-cm-holder{display:none} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/third_party/spell_checker.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/third_party/font_awesome.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/third_party/font_awesome.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/third_party/font_awesome.css (revision 7) @@ -0,0 +1,50 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal { + text-align: left; + padding: 20px 20px 10px; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal .fr-font-awesome-list { + margin-bottom: 20px; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal .fr-font-awesome-title { + font-size: 20px; + padding: 6px 0 4px; + margin: 15px 0 5px; + border-bottom: solid 1px #f0f0f0; +} +.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal .fr-font-awesome { + display: inline-block; + font-size: 16px; + width: 20px; + height: 20px; + padding: 16px; + line-height: 20px; + cursor: default; + font-weight: normal; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + text-align: center; + margin: -1px 0 0 -1px; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/third_party/font_awesome.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/third_party/image_tui.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/third_party/image_tui.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/third_party/image_tui.css (revision 7) @@ -0,0 +1,42 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.tui-image-editor-container { + position: fixed; + top: 0; + left: 0; + bottom: 0; + right: 0; + height: 100%; + width: 100%; + z-index: 10; +} +.tui-editor-cancel-btn { + background-color: #ffffff; + border: 1px solid #cccccc; + color: #222; +} +.tui-editor-save-btn { + background-color: #fdba3b; + border: 1px solid #fdba3b; + color: #ffffff; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/third_party/image_tui.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/third_party/embedly.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/third_party/embedly.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/third_party/embedly.css (revision 7) @@ -0,0 +1,64 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after { + clear: both; + display: block; + content: ""; + height: 0; +} +.hide-by-clipping { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.fr-element .fr-embedly { + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + position: relative; +} +.fr-element .fr-embedly::after { + position: absolute; + content: ''; + z-index: 1; + top: 0; + left: 0; + right: 0; + bottom: 0; + cursor: pointer; + display: block; + background: rgba(0, 0, 0, 0); +} +.fr-element .fr-embedly > * { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + max-width: 100%; + border: none; +} +.fr-box .fr-embedly-resizer { + position: absolute; + border: solid 1px #1e88e5; + display: none; + user-select: none; + -o-user-select: none; + -moz-user-select: none; + -khtml-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; +} +.fr-box .fr-embedly-resizer.fr-active { + display: block; +} Property changes on: base3.10/src/main/webapp/resource/editor/css/third_party/embedly.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/third_party/font_awesome.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/third_party/font_awesome.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/third_party/font_awesome.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal{text-align:left;padding:20px 20px 10px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal .fr-font-awesome-list{margin-bottom:20px}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal .fr-font-awesome-title{font-size:20px;padding:6px 0 4px;margin:15px 0 5px;border-bottom:solid 1px #f0f0f0}.fr-modal .fr-modal-wrapper .fr-modal-body .fr-font-awesome-modal .fr-font-awesome{display:inline-block;font-size:16px;width:20px;height:20px;padding:16px;line-height:20px;cursor:default;font-weight:400;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;text-align:center;margin:-1px 0 0 -1px} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/third_party/font_awesome.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/third_party/image_tui.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/third_party/image_tui.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/third_party/image_tui.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.tui-image-editor-container{position:fixed;top:0;left:0;bottom:0;right:0;height:100%;width:100%;z-index:10}.tui-editor-cancel-btn{background-color:#fff;border:1px solid #ccc;color:#222}.tui-editor-save-btn{background-color:#fdba3b;border:1px solid #fdba3b;color:#fff} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/third_party/image_tui.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/css/third_party/embedly.min.css =================================================================== --- base3.10/src/main/webapp/resource/editor/css/third_party/embedly.min.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/css/third_party/embedly.min.css (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +.clearfix::after{clear:both;display:block;content:"";height:0}.hide-by-clipping{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.fr-element .fr-embedly{user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;position:relative}.fr-element .fr-embedly::after{position:absolute;content:'';z-index:1;top:0;left:0;right:0;bottom:0;cursor:pointer;display:block;background:rgba(0,0,0,0)}.fr-element .fr-embedly>*{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;max-width:100%;border:0}.fr-box .fr-embedly-resizer{position:absolute;border:solid 1px #1e88e5;display:none;user-select:none;-o-user-select:none;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none}.fr-box .fr-embedly-resizer.fr-active{display:block} \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/css/third_party/embedly.min.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/img/photo1.jpg =================================================================== Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: base3.10/src/main/webapp/resource/editor/img/photo1.jpg ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Index: base3.10/src/main/webapp/resource/editor/js/plugins/font_size.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/font_size.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/font_size.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(f){f.extend(f.FE.DEFAULTS,{fontSize:["8","9","10","11","12","14","18","24","30","36","48","60","72","96"],fontSizeSelection:!1,fontSizeDefaultSelection:"12",fontSizeUnit:"px"}),f.FE.PLUGINS.fontSize=function(r){return{apply:function(e){r.format.applyStyle("font-size",e)},refreshOnShow:function(e,t){var n=f(r.selection.element()).css("font-size");"pt"===r.opts.fontSizeUnit&&(n=Math.round(72*parseFloat(n,10)/96)+"pt"),t.find(".fr-command.fr-active").removeClass("fr-active").attr("aria-selected",!1),t.find('.fr-command[data-param1="'+n+'"]').addClass("fr-active").attr("aria-selected",!0);var o=t.find(".fr-dropdown-list"),i=t.find(".fr-active").parent();i.length?o.parent().scrollTop(i.offset().top-o.offset().top-(o.parent().outerHeight()/2-i.outerHeight()/2)):o.parent().scrollTop(0)},refresh:function(e){if(r.opts.fontSizeSelection){var t=r.helpers.getPX(f(r.selection.element()).css("font-size"));"pt"===r.opts.fontSizeUnit&&(t=Math.round(72*parseFloat(t,10)/96)+"pt"),e.find("> span").text(t)}}}},f.FE.RegisterCommand("fontSize",{type:"dropdown",title:"Font Size",displaySelection:function(e){return e.opts.fontSizeSelection},displaySelectionWidth:30,defaultSelection:function(e){return e.opts.fontSizeDefaultSelection},html:function(){for(var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.fontSize,n=0;n<t.length;n++){var o=t[n];e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="fontSize" data-param1="'+o+this.opts.fontSizeUnit+'" title="'+o+'">'+o+"</a></li>"}return e+="</ul>"},callback:function(e,t){this.fontSize.apply(t)},refresh:function(e){this.fontSize.refresh(e)},refreshOnShow:function(e,t){this.fontSize.refreshOnShow(e,t)},plugin:"fontSize"}),f.FE.DefineIcon("fontSize",{NAME:"text-height"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/font_size.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/forms.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/forms.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/forms.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(o){"function"==typeof define&&define.amd?define(["jquery"],o):"object"==typeof module&&module.exports?module.exports=function(t,e){return e===undefined&&(e="undefined"!=typeof window?require("jquery"):require("jquery")(t)),o(e)}:o(window.jQuery)}(function(l){l.extend(l.FE.POPUP_TEMPLATES,{"forms.edit":"[_BUTTONS_]","forms.update":"[_BUTTONS_][_TEXT_LAYER_]"}),l.extend(l.FE.DEFAULTS,{formEditButtons:["inputStyle","inputEdit"],formStyles:{"fr-rounded":"Rounded","fr-large":"Large"},formMultipleStyles:!0,formUpdateButtons:["inputBack","|"]}),l.FE.PLUGINS.forms=function(s){var r;function t(t){t.preventDefault(),s.selection.clear(),l(this).data("mousedown",!0)}function e(t){l(this).data("mousedown")&&(t.stopPropagation(),l(this).removeData("mousedown"),a(r=this)),t.preventDefault()}function o(){s.$el.find("input, textarea, button").removeData("mousedown")}function n(){l(this).removeData("mousedown")}function i(){return r||null}function a(t){var e=s.popups.get("forms.edit");e||(e=function(){var t="";0<s.opts.formEditButtons.length&&(t='<div class="fr-buttons">'+s.button.buildList(s.opts.formEditButtons)+"</div>");var e={buttons:t},o=s.popups.create("forms.edit",e);return s.$wp&&s.events.$on(s.$wp,"scroll.link-edit",function(){i()&&s.popups.isVisible("forms.edit")&&a(i())}),o}());var o=l(r=t);s.popups.refresh("forms.edit"),s.popups.setContainer("forms.edit",s.$sc);var n=o.offset().left+o.outerWidth()/2,u=o.offset().top+o.outerHeight();s.popups.show("forms.edit",n,u,o.outerHeight())}function p(){var t=s.popups.get("forms.update"),e=i();if(e){var o=l(e);o.is("button")?t.find('input[type="text"][name="text"]').val(o.text()):t.find('input[type="text"][name="text"]').val(o.attr("placeholder"))}t.find('input[type="text"][name="text"]').trigger("change")}function f(){r=null}function d(t){if(t)return s.popups.onRefresh("forms.update",p),s.popups.onHide("forms.update",f),!0;var e="";1<=s.opts.formUpdateButtons.length&&(e='<div class="fr-buttons">'+s.button.buildList(s.opts.formUpdateButtons)+"</div>");var o="",n=0;o='<div class="fr-forms-text-layer fr-layer fr-active">',o+='<div class="fr-input-line"><input name="text" type="text" placeholder="Text" tabIndex="'+ ++n+'"></div>';var u={buttons:e,text_layer:o+='<div class="fr-action-buttons"><button class="fr-command fr-submit" data-cmd="updateInput" href="#" tabIndex="'+ ++n+'" type="button">'+s.language.translate("Update")+"</button></div></div>"};return s.popups.create("forms.update",u)}return{_init:function(){s.events.$on(s.$el,s._mousedown,"input, textarea, button",t),s.events.$on(s.$el,s._mouseup,"input, textarea, button",e),s.events.$on(s.$el,"touchmove","input, textarea, button",n),s.events.$on(s.$el,s._mouseup,o),s.events.$on(s.$win,s._mouseup,o),d(!0),s.events.$on(s.$el,"submit","form",function(t){return t.preventDefault(),!1})},updateInput:function(){var t=s.popups.get("forms.update"),e=i();if(e){var o=l(e),n=t.find('input[type="text"][name="text"]').val()||"";n.length&&(o.is("button")?o.text(n):o.attr("placeholder",n)),s.popups.hide("forms.update"),a(e)}},getInput:i,applyStyle:function(t,e,o){void 0===e&&(e=s.opts.formStyles),void 0===o&&(o=s.opts.formMultipleStyles);var n=i();if(!n)return!1;if(!o){var u=Object.keys(e);u.splice(u.indexOf(t),1),l(n).removeClass(u.join(" "))}l(n).toggleClass(t)},showUpdatePopup:function(){var t=i();if(t){var e=l(t),o=s.popups.get("forms.update");o||(o=d()),s.popups.isVisible("forms.update")||s.popups.refresh("forms.update"),s.popups.setContainer("forms.update",s.$sc);var n=e.offset().left+e.outerWidth()/2,u=e.offset().top+e.outerHeight();s.popups.show("forms.update",n,u,e.outerHeight())}},showEditPopup:a,back:function(){s.events.disableBlur(),s.selection.restore(),s.events.enableBlur();var t=i();t&&s.$wp&&("BUTTON"==t.tagName&&s.selection.restore(),a(t))}}},l.FE.RegisterCommand("updateInput",{undo:!1,focus:!1,title:"Update",callback:function(){this.forms.updateInput()}}),l.FE.DefineIcon("inputStyle",{NAME:"magic"}),l.FE.RegisterCommand("inputStyle",{title:"Style",type:"dropdown",html:function(){var t='<ul class="fr-dropdown-list">',e=this.opts.formStyles;for(var o in e)e.hasOwnProperty(o)&&(t+='<li><a class="fr-command" tabIndex="-1" data-cmd="inputStyle" data-param1="'+o+'">'+this.language.translate(e[o])+"</a></li>");return t+="</ul>"},callback:function(t,e){var o=this.forms.getInput();o&&(this.forms.applyStyle(e),this.forms.showEditPopup(o))},refreshOnShow:function(t,e){var o=this.forms.getInput();if(o){var n=l(o);e.find(".fr-command").each(function(){var t=l(this).data("param1");l(this).toggleClass("fr-active",n.hasClass(t))})}}}),l.FE.DefineIcon("inputEdit",{NAME:"edit"}),l.FE.RegisterCommand("inputEdit",{title:"Edit Button",undo:!1,refreshAfterCallback:!1,callback:function(){this.forms.showUpdatePopup()}}),l.FE.DefineIcon("inputBack",{NAME:"arrow-left"}),l.FE.RegisterCommand("inputBack",{title:"Back",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.forms.back()}}),l.FE.RegisterCommand("updateInput",{undo:!1,focus:!1,title:"Update",callback:function(){this.forms.updateInput()}})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/forms.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/char_counter.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/char_counter.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/char_counter.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(a){a.extend(a.FE.DEFAULTS,{charCounterMax:-1,charCounterCount:!0}),a.FE.PLUGINS.charCounter=function(n){var r;function o(){return(n.el.textContent||"").replace(/\u200B/g,"").length}function e(e){if(n.opts.charCounterMax<0)return!0;if(o()<n.opts.charCounterMax)return!0;var t=e.which;return!(!n.keys.ctrlKey(e)&&n.keys.isCharacter(t)||t===a.FE.KEYCODE.IME)||(e.preventDefault(),e.stopPropagation(),n.events.trigger("charCounter.exceeded"),!1)}function t(e){return n.opts.charCounterMax<0?e:a("<div>").html(e).text().length+o()<=n.opts.charCounterMax?e:(n.events.trigger("charCounter.exceeded"),"")}function u(){if(n.opts.charCounterCount){var e=o()+(0<n.opts.charCounterMax?"/"+n.opts.charCounterMax:"");r.text(e),n.opts.toolbarBottom&&r.css("margin-bottom",n.$tb.outerHeight(!0));var t=n.$wp.get(0).offsetWidth-n.$wp.get(0).clientWidth;0<=t&&("rtl"==n.opts.direction?r.css("margin-left",t):r.css("margin-right",t))}}return{_init:function(){return!!n.$wp&&!!n.opts.charCounterCount&&((r=a('<span class="fr-counter"></span>')).css("bottom",n.$wp.css("border-bottom-width")),n.$box.append(r),n.events.on("keydown",e,!0),n.events.on("paste.afterCleanup",t),n.events.on("keyup contentChanged input",function(){n.events.trigger("charCounter.update")}),n.events.on("charCounter.update",u),n.events.trigger("charCounter.update"),void n.events.on("destroy",function(){a(n.o_win).off("resize.char"+n.id),r.removeData().remove(),r=null}))},count:o}}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/char_counter.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/inline_style.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/inline_style.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/inline_style.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&module.exports?module.exports=function(e,n){return n===undefined&&(n="undefined"!=typeof window?require("jquery"):require("jquery")(e)),t(n)}:t(window.jQuery)}(function(r){r.extend(r.FE.DEFAULTS,{inlineStyles:{"Big Red":"font-size: 20px; color: red;","Small Blue":"font-size: 14px; color: blue;"}}),r.FE.PLUGINS.inlineStyle=function(l){return{apply:function(e){if(""!==l.selection.text())for(var n=e.split(";"),t=0;t<n.length;t++){var i=n[t].split(":");n[t].length&&2==i.length&&l.format.applyStyle(i[0].trim(),i[1].trim())}else l.html.insert('<span style="'+e+'">'+r.FE.INVISIBLE_SPACE+r.FE.MARKERS+"</span>")}}},r.FE.RegisterCommand("inlineStyle",{type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',n=this.opts.inlineStyles;for(var t in n)n.hasOwnProperty(t)&&(e+='<li role="presentation"><span style="'+n[t]+'" role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="inlineStyle" data-param1="'+n[t]+'" title="'+this.language.translate(t)+'">'+this.language.translate(t)+"</a></span></li>");return e+="</ul>"},title:"Inline Style",callback:function(e,n){this.inlineStyle.apply(n)},plugin:"inlineStyle"}),r.FE.DefineIcon("inlineStyle",{NAME:"paint-brush"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/inline_style.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/image_manager.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/image_manager.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/image_manager.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&module.exports?module.exports=function(e,a){return a===undefined&&(a="undefined"!=typeof window?require("jquery"):require("jquery")(e)),t(a)}:t(window.jQuery)}(function(O){if(O.extend(O.FE.DEFAULTS,{imageManagerLoadURL:"https://i.froala.com/load-files",imageManagerLoadMethod:"get",imageManagerLoadParams:{},imageManagerPreloader:null,imageManagerDeleteURL:"",imageManagerDeleteMethod:"post",imageManagerDeleteParams:{},imageManagerPageSize:12,imageManagerScrollOffset:20,imageManagerToggleTags:!0}),O.FE.PLUGINS.imageManager=function(o){var g,l,r,i,n,d,s,f,m,u,c,h="image_manager",e=10,p=11,v=12,M=13,w=14,b=15,C=21,L=22,t={};function y(){var e=O(window).outerWidth();return e<768?2:e<1200?3:4}function D(){n.empty();for(var e=0;e<c;e++)n.append('<div class="fr-list-column"></div>')}function I(){if(m<s.length&&(n.outerHeight()<=r.outerHeight()+o.opts.imageManagerScrollOffset||r.scrollTop()+o.opts.imageManagerScrollOffset>n.outerHeight()-r.outerHeight())){f++;for(var e=o.opts.imageManagerPageSize*(f-1);e<Math.min(s.length,o.opts.imageManagerPageSize*f);e++)a(s[e])}}function a(i){var n=new Image,s=O('<div class="fr-image-container fr-empty fr-image-'+u+++'" data-loading="'+o.language.translate("Loading")+'.." data-deleting="'+o.language.translate("Deleting")+'..">');T(!1),n.onload=function(){s.height(Math.floor(s.width()/n.width*n.height));var t=O("<img/>");if(i.thumb)t.attr("src",i.thumb);else{if(U(w,i),!i.url)return U(b,i),!1;t.attr("src",i.url)}if(i.url&&t.attr("data-url",i.url),i.tag)if(l.find(".fr-modal-more.fr-not-available").removeClass("fr-not-available"),l.find(".fr-modal-tags").show(),0<=i.tag.indexOf(",")){for(var e=i.tag.split(","),a=0;a<e.length;a++)e[a]=e[a].trim(),0===d.find('a[title="'+e[a]+'"]').length&&d.append('<a role="button" title="'+e[a]+'">'+e[a]+"</a>");t.attr("data-tag",e.join())}else 0===d.find('a[title="'+i.tag.trim()+'"]').length&&d.append('<a role="button" title="'+i.tag.trim()+'">'+i.tag.trim()+"</a>"),t.attr("data-tag",i.tag.trim());for(var r in i.name&&t.attr("alt",i.name),i)i.hasOwnProperty(r)&&"thumb"!=r&&"url"!=r&&"tag"!=r&&t.attr("data-"+r,i[r]);s.append(t).append(O(o.icon.create("imageManagerDelete")).addClass("fr-delete-img").attr("title",o.language.translate("Delete"))).append(O(o.icon.create("imageManagerInsert")).addClass("fr-insert-img").attr("title",o.language.translate("Insert"))),d.find(".fr-selected-tag").each(function(e,a){k(t,a.text)||s.hide()}),t.on("load",function(){s.removeClass("fr-empty"),s.height("auto"),m++,E(x(parseInt(t.parent().attr("class").match(/fr-image-(\d+)/)[1],10)+1)),T(!1),m%o.opts.imageManagerPageSize==0&&I()}),o.events.trigger("imageManager.imageLoaded",[t])},n.onerror=function(){m++,s.remove(),E(x(parseInt(s.attr("class").match(/fr-image-(\d+)/)[1],10)+1)),U(e,i),m%o.opts.imageManagerPageSize==0&&I()},n.src=i.thumb||i.url,P().append(s)}function P(){var r,i;return n.find(".fr-list-column").each(function(e,a){var t=O(a);0===e?(i=t.outerHeight(),r=t):t.outerHeight()<i&&(i=t.outerHeight(),r=t)}),r}function x(e){e===undefined&&(e=0);for(var a=[],t=u-1;e<=t;t--){var r=n.find(".fr-image-"+t);r.length&&(a.push(r),O('<div id="fr-image-hidden-container">').append(r),n.find(".fr-image-"+t).remove())}return a}function E(e){for(var a=e.length-1;0<=a;a--)P().append(e[a])}function T(e){if(e===undefined&&(e=!0),!g.is(":visible"))return!0;var a=y();if(a!=c){c=a;var t=x();D(),E(t)}o.modals.resize(h),e&&I()}function q(e){var a={},t=e.data();for(var r in t)t.hasOwnProperty(r)&&"url"!=r&&"tag"!=r&&(a[r]=t[r]);return a}function S(e){var a=O(e.currentTarget).siblings("img"),t=g.data("instance")||o,r=g.data("current-image");if(o.modals.hide(h),t.image.showProgressBar(),r)r.data("fr-old-src",r.attr("src")),r.trigger("click");else{t.events.focus(!0),t.selection.restore();var i=t.position.getBoundingRect(),n=i.left+i.width/2+O(o.doc).scrollLeft(),s=i.top+i.height+O(o.doc).scrollTop();t.popups.setContainer("image.insert",o.$sc),t.popups.show("image.insert",n,s)}t.image.insert(a.data("url"),!1,q(a),r)}function R(e){var t=O(e.currentTarget).siblings("img"),a=o.language.translate("Are you sure? Image will be deleted.");confirm(a)&&(o.opts.imageManagerDeleteURL?!1!==o.events.trigger("imageManager.beforeDeleteImage",[t])&&(t.parent().addClass("fr-image-deleting"),O.ajax({method:o.opts.imageManagerDeleteMethod,url:o.opts.imageManagerDeleteURL,data:O.extend(O.extend({src:t.attr("src")},q(t)),o.opts.imageManagerDeleteParams),crossDomain:o.opts.requestWithCORS,xhrFields:{withCredentials:o.opts.requestWithCredentials},headers:o.opts.requestHeaders}).done(function(e){o.events.trigger("imageManager.imageDeleted",[e]);var a=x(parseInt(t.parent().attr("class").match(/fr-image-(\d+)/)[1],10)+1);t.parent().remove(),E(a),g.find("#fr-modal-tags > a").each(function(){0===g.find('#fr-image-list [data-tag*="'+O(this).text()+'"]').length&&O(this).removeClass("fr-selected-tag").hide()}),H(),T(!0)}).fail(function(e){U(C,e.response||e.responseText)})):U(L))}function U(e,a){10<=e&&e<20?i.hide():20<=e&&e<30&&O(".fr-image-deleting").removeClass("fr-image-deleting"),o.events.trigger("imageManager.error",[{code:e,message:t[e]},a])}function F(){var e=l.find(".fr-modal-head-line").outerHeight(),a=d.outerHeight();l.toggleClass("fr-show-tags"),l.hasClass("fr-show-tags")?(l.css("height",e+a),d.find("a").css("opacity",1)):(l.css("height",e),d.find("a").css("opacity",0))}function H(){var e=d.find(".fr-selected-tag");0<e.length?(n.find("img").parent().show(),e.each(function(e,r){n.find("img").each(function(e,a){var t=O(a);k(t,r.text)||t.parent().hide()})})):n.find("img").parent().show(),E(x()),I()}function j(e){e.preventDefault();var a=O(e.currentTarget);a.toggleClass("fr-selected-tag"),o.opts.imageManagerToggleTags&&a.siblings("a").removeClass("fr-selected-tag"),H()}function k(e,a){for(var t=(e.attr("data-tag")||"").split(","),r=0;r<t.length;r++)if(t[r]==a)return!0;return!1}return t[e]="Image cannot be loaded from the passed link.",t[p]="Error during load images request.",t[v]="Missing imageManagerLoadURL option.",t[M]="Parsing load response failed.",t[w]="Missing image thumb.",t[b]="Missing image URL.",t[C]="Error during delete image request.",t[L]="Missing imageManagerDeleteURL option.",{require:["image"],_init:function(){if(!o.$wp&&"IMG"!=o.el.tagName)return!1},show:function(){if(!g){var e,a='<div class="fr-modal-head-line"><i class="fa fa-bars fr-modal-more fr-not-available" id="fr-modal-more-'+o.sid+'" title="'+o.language.translate("Tags")+'"></i><h4 data-text="true">'+o.language.translate("Manage Images")+"</h4></div>";a+='<div class="fr-modal-tags" id="fr-modal-tags"></div>',e=o.opts.imageManagerPreloader?'<img class="fr-preloader" id="fr-preloader" alt="'+o.language.translate("Loading")+'.." src="'+o.opts.imageManagerPreloader+'" style="display: none;">':'<span class="fr-preloader" id="fr-preloader" style="display: none;">'+o.language.translate("Loading")+"</span>",e+='<div class="fr-image-list" id="fr-image-list"></div>';var t=o.modals.create(h,a,e);g=t.$modal,l=t.$head,r=t.$body}g.data("current-image",o.image.get()),o.modals.show(h),i||(i=g.find("#fr-preloader"),n=g.find("#fr-image-list"),d=g.find("#fr-modal-tags"),c=y(),D(),l.css("height",l.find(".fr-modal-head-line").outerHeight()),o.events.$on(O(o.o_win),"resize",function(){T(!!s)}),o.helpers.isMobile()&&(o.events.bindClick(n,"div.fr-image-container",function(e){g.find(".fr-mobile-selected").removeClass("fr-mobile-selected"),O(e.currentTarget).addClass("fr-mobile-selected")}),g.on(o._mousedown,function(){g.find(".fr-mobile-selected").removeClass("fr-mobile-selected")})),o.events.bindClick(n,".fr-insert-img",S),o.events.bindClick(n,".fr-delete-img",R),g.on(o._mousedown+" "+o._mouseup,function(e){e.stopPropagation()}),g.on(o._mousedown,"*",function(){o.events.disableBlur()}),r.on("scroll",I),o.events.bindClick(g,"i#fr-modal-more-"+o.sid,F),o.events.bindClick(d,"a",j)),i.show(),n.find(".fr-list-column").empty(),o.opts.imageManagerLoadURL?O.ajax({url:o.opts.imageManagerLoadURL,method:o.opts.imageManagerLoadMethod,data:o.opts.imageManagerLoadParams,dataType:"json",crossDomain:o.opts.requestWithCORS,xhrFields:{withCredentials:o.opts.requestWithCredentials},headers:o.opts.requestHeaders}).done(function(e,a,t){o.events.trigger("imageManager.imagesLoaded",[e]),function(e,a){try{n.find(".fr-list-column").empty(),u=m=f=0,s=e,I()}catch(t){U(M,a)}}(e,t.response),i.hide()}).fail(function(){var e=this.xhr();U(p,e.response||e.responseText)}):U(v)},hide:function(){o.modals.hide(h)}}},!O.FE.PLUGINS.image)throw new Error("Image manager plugin requires image plugin.");O.FE.DEFAULTS.imageInsertButtons.push("imageManager"),O.FE.RegisterCommand("imageManager",{title:"Browse",undo:!1,focus:!1,modal:!0,callback:function(){this.imageManager.show()},plugin:"imageManager"}),O.FE.DefineIcon("imageManager",{NAME:"folder"}),O.FE.DefineIcon("imageManagerInsert",{NAME:"plus"}),O.FE.DefineIcon("imageManagerDelete",{NAME:"trash"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/image_manager.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/entities.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/entities.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/entities.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(e,r){return r===undefined&&(r="undefined"!=typeof window?require("jquery"):require("jquery")(e)),a(r)}:a(window.jQuery)}(function(c){c.extend(c.FE.DEFAULTS,{entities:"&quot;&#39;&iexcl;&cent;&pound;&curren;&yen;&brvbar;&sect;&uml;&copy;&ordf;&laquo;&not;&shy;&reg;&macr;&deg;&plusmn;&sup2;&sup3;&acute;&micro;&para;&middot;&cedil;&sup1;&ordm;&raquo;&frac14;&frac12;&frac34;&iquest;&Agrave;&Aacute;&Acirc;&Atilde;&Auml;&Aring;&AElig;&Ccedil;&Egrave;&Eacute;&Ecirc;&Euml;&Igrave;&Iacute;&Icirc;&Iuml;&ETH;&Ntilde;&Ograve;&Oacute;&Ocirc;&Otilde;&Ouml;&times;&Oslash;&Ugrave;&Uacute;&Ucirc;&Uuml;&Yacute;&THORN;&szlig;&agrave;&aacute;&acirc;&atilde;&auml;&aring;&aelig;&ccedil;&egrave;&eacute;&ecirc;&euml;&igrave;&iacute;&icirc;&iuml;&eth;&ntilde;&ograve;&oacute;&ocirc;&otilde;&ouml;&divide;&oslash;&ugrave;&uacute;&ucirc;&uuml;&yacute;&thorn;&yuml;&OElig;&oelig;&Scaron;&scaron;&Yuml;&fnof;&circ;&tilde;&Alpha;&Beta;&Gamma;&Delta;&Epsilon;&Zeta;&Eta;&Theta;&Iota;&Kappa;&Lambda;&Mu;&Nu;&Xi;&Omicron;&Pi;&Rho;&Sigma;&Tau;&Upsilon;&Phi;&Chi;&Psi;&Omega;&alpha;&beta;&gamma;&delta;&epsilon;&zeta;&eta;&theta;&iota;&kappa;&lambda;&mu;&nu;&xi;&omicron;&pi;&rho;&sigmaf;&sigma;&tau;&upsilon;&phi;&chi;&psi;&omega;&thetasym;&upsih;&piv;&ensp;&emsp;&thinsp;&zwnj;&zwj;&lrm;&rlm;&ndash;&mdash;&lsquo;&rsquo;&sbquo;&ldquo;&rdquo;&bdquo;&dagger;&Dagger;&bull;&hellip;&permil;&prime;&Prime;&lsaquo;&rsaquo;&oline;&frasl;&euro;&image;&weierp;&real;&trade;&alefsym;&larr;&uarr;&rarr;&darr;&harr;&crarr;&lArr;&uArr;&rArr;&dArr;&hArr;&forall;&part;&exist;&empty;&nabla;&isin;&notin;&ni;&prod;&sum;&minus;&lowast;&radic;&prop;&infin;&ang;&and;&or;&cap;&cup;&int;&there4;&sim;&cong;&asymp;&ne;&equiv;&le;&ge;&sub;&sup;&nsub;&sube;&supe;&oplus;&otimes;&perp;&sdot;&lceil;&rceil;&lfloor;&rfloor;&lang;&rang;&loz;&spades;&clubs;&hearts;&diams;"}),c.FE.PLUGINS.entities=function(t){var n,u;function i(e){var r=e.textContent;if(r.match(n)){for(var a="",i=0;i<r.length;i++)u[r[i]]?a+=u[r[i]]:a+=r[i];e.textContent=a}}function o(e){if(e&&0<=["STYLE","SCRIPT","svg","IFRAME"].indexOf(e.tagName))return!0;for(var r=t.node.contents(e),a=0;a<r.length;a++)r[a].nodeType==Node.TEXT_NODE?i(r[a]):o(r[a]);e.nodeType==Node.TEXT_NODE&&i(e)}function l(e){return 0===e.length?"":t.clean.exec(e,o).replace(/\&amp;/g,"&")}return{_init:function(){t.opts.htmlSimpleAmpersand||(t.opts.entities=t.opts.entities+"&amp;");var e=c("<div>").html(t.opts.entities).text(),r=t.opts.entities.split(";");u={},n="";for(var a=0;a<e.length;a++){var i=e.charAt(a);u[i]=r[a]+";",n+="\\"+i+(a<e.length-1?"|":"")}n=new RegExp("("+n+")","g"),t.events.on("html.get",l,!0)}}}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/entities.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/help.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/help.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/help.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(l){"function"==typeof define&&define.amd?define(["jquery"],l):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),l(t)}:l(window.jQuery)}(function(n){n.extend(n.FE.DEFAULTS,{helpSets:[{title:"Inline Editor",commands:[{val:"OSkeyE",desc:"Show the editor"}]},{title:"Common actions",commands:[{val:"OSkeyC",desc:"Copy"},{val:"OSkeyX",desc:"Cut"},{val:"OSkeyV",desc:"Paste"},{val:"OSkeyZ",desc:"Undo"},{val:"OSkeyShift+Z",desc:"Redo"},{val:"OSkeyK",desc:"Insert Link"},{val:"OSkeyP",desc:"Insert Image"}]},{title:"Basic Formatting",commands:[{val:"OSkeyA",desc:"Select All"},{val:"OSkeyB",desc:"Bold"},{val:"OSkeyI",desc:"Italic"},{val:"OSkeyU",desc:"Underline"},{val:"OSkeyS",desc:"Strikethrough"},{val:"OSkey]",desc:"Increase Indent"},{val:"OSkey[",desc:"Decrease Indent"}]},{title:"Quote",commands:[{val:"OSkey'",desc:"Increase quote level"},{val:"OSkeyShift+'",desc:"Decrease quote level"}]},{title:"Image / Video",commands:[{val:"OSkey+",desc:"Resize larger"},{val:"OSkey-",desc:"Resize smaller"}]},{title:"Table",commands:[{val:"Alt+Space",desc:"Select table cell"},{val:"Shift+Left/Right arrow",desc:"Extend selection one cell"},{val:"Shift+Up/Down arrow",desc:"Extend selection one row"}]},{title:"Navigation",commands:[{val:"OSkey/",desc:"Shortcuts"},{val:"Alt+F10",desc:"Focus popup / toolbar"},{val:"Esc",desc:"Return focus to previous position"}]}]}),n.FE.PLUGINS.help=function(s){var o,a="help";return{_init:function(){},show:function(){if(!o){var e="<h4>"+s.language.translate("Shortcuts")+"</h4>",t=function(){for(var e='<div class="fr-help-modal">',t=0;t<s.opts.helpSets.length;t++){var l=s.opts.helpSets[t],o="<table>";o+="<thead><tr><th>"+s.language.translate(l.title)+"</th></tr></thead>",o+="<tbody>";for(var a=0;a<l.commands.length;a++){var n=l.commands[a];o+="<tr>",o+="<td>"+s.language.translate(n.desc)+"</td>",o+="<td>"+n.val.replace("OSkey",s.helpers.isMac()?"&#8984;":"Ctrl+")+"</td>",o+="</tr>"}e+=o+="</tbody></table>"}return e+="</div>"}(),l=s.modals.create(a,e,t);o=l.$modal,l.$head,l.$body,s.events.$on(n(s.o_win),"resize",function(){s.modals.resize(a)})}s.modals.show(a),s.modals.resize(a)},hide:function(){s.modals.hide(a)}}},n.FroalaEditor.DefineIcon("help",{NAME:"question"}),n.FE.RegisterShortcut(n.FE.KEYCODE.SLASH,"help",null,"/"),n.FE.RegisterCommand("help",{title:"Help",icon:"help",undo:!1,focus:!1,modal:!0,callback:function(){this.help.show()},plugin:"help",showOnMobile:!1})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/help.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/video.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/video.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/video.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(i){"function"==typeof define&&define.amd?define(["jquery"],i):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),i(t)}:i(window.jQuery)}(function(Z){Z.extend(Z.FE.POPUP_TEMPLATES,{"video.insert":"[_BUTTONS_][_BY_URL_LAYER_][_EMBED_LAYER_][_UPLOAD_LAYER_][_PROGRESS_BAR_]","video.edit":"[_BUTTONS_]","video.size":"[_BUTTONS_][_SIZE_LAYER_]"}),Z.extend(Z.FE.DEFAULTS,{videoAllowedTypes:["mp4","webm","ogg"],videoAllowedProviders:[".*"],videoDefaultAlign:"center",videoDefaultDisplay:"block",videoDefaultWidth:600,videoEditButtons:["videoReplace","videoRemove","|","videoDisplay","videoAlign","videoSize"],videoInsertButtons:["videoBack","|","videoByURL","videoEmbed","videoUpload"],videoMaxSize:52428800,videoMove:!0,videoResize:!0,videoResponsive:!1,videoSizeButtons:["videoBack","|"],videoSplitHTML:!1,videoTextNear:!0,videoUpload:!0,videoUploadMethod:"POST",videoUploadParam:"file",videoUploadParams:{},videoUploadToS3:!1,videoUploadURL:null}),Z.FE.VIDEO_PROVIDERS=[{test_regex:/^.*((youtu.be)|(youtube.com))\/((v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))?\??v?=?([^#\&\?]*).*/,url_regex:/(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=|embed\/)?([0-9a-zA-Z_\-]+)(.+)?/g,url_text:"https://www.youtube.com/embed/$1",html:'<iframe width="640" height="360" src="{url}?wmode=opaque" frameborder="0" allowfullscreen></iframe>',provider:"youtube"},{test_regex:/^.*(?:vimeo.com)\/(?:channels(\/\w+\/)?|groups\/*\/videos\/\u200b\d+\/|video\/|)(\d+)(?:$|\/|\?)/,url_regex:/(?:https?:\/\/)?(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/(?:[^\/]*)\/videos\/|album\/(?:\d+)\/video\/|video\/|)(\d+)(?:[a-zA-Z0-9_\-]+)?(\/[a-zA-Z0-9_\-]+)?/i,url_text:"https://player.vimeo.com/video/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"vimeo"},{test_regex:/^.+(dailymotion.com|dai.ly)\/(video|hub)?\/?([^_]+)[^#]*(#video=([^_&]+))?/,url_regex:/(?:https?:\/\/)?(?:www\.)?(?:dailymotion\.com|dai\.ly)\/(?:video|hub)?\/?(.+)/g,url_text:"https://www.dailymotion.com/embed/video/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"dailymotion"},{test_regex:/^.+(screen.yahoo.com)\/[^_&]+/,url_regex:"",url_text:"",html:'<iframe width="640" height="360" src="{url}?format=embed" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" allowtransparency="true"></iframe>',provider:"yahoo"},{test_regex:/^.+(rutube.ru)\/[^_&]+/,url_regex:/(?:https?:\/\/)?(?:www\.)?(?:rutube\.ru)\/(?:video)?\/?(.+)/g,url_text:"https://rutube.ru/play/embed/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" allowtransparency="true"></iframe>',provider:"rutube"},{test_regex:/^(?:.+)vidyard.com\/(?:watch)?\/?([^.&/]+)\/?(?:[^_.&]+)?/,url_regex:/^(?:.+)vidyard.com\/(?:watch)?\/?([^.&/]+)\/?(?:[^_.&]+)?/g,url_text:"https://play.vidyard.com/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"vidyard"}],Z.FE.VIDEO_EMBED_REGEX=/^\W*((<iframe.*><\/iframe>)|(<embed.*>))\W*$/i,Z.FE.PLUGINS.video=function(v){var a,f,p,u,o,i,l="https://i.froala.com/upload",d=2,c=3,h=4,g=5,m=6,r={};function b(){var e=v.popups.get("video.insert");e.find(".fr-video-by-url-layer input").val("").trigger("change");var t=e.find(".fr-video-embed-layer textarea");t.val("").trigger("change"),(t=e.find(".fr-video-upload-layer input")).val("").trigger("change")}function s(){var e=v.popups.get("video.edit");if(e||(e=function(){var e="";if(0<v.opts.videoEditButtons.length){v.opts.videoResponsive&&(v.opts.videoEditButtons.splice(v.opts.videoEditButtons.indexOf("videoSize"),1),v.opts.videoEditButtons.splice(v.opts.videoEditButtons.indexOf("videoDisplay"),1),v.opts.videoEditButtons.splice(v.opts.videoEditButtons.indexOf("videoAlign"),1)),e+='<div class="fr-buttons">',e+=v.button.buildList(v.opts.videoEditButtons);var t={buttons:e+="</div>"},i=v.popups.create("video.edit",t);return v.events.$on(v.$wp,"scroll.video-edit",function(){u&&v.popups.isVisible("video.edit")&&(v.events.disableBlur(),x(u))}),i}return!1}()),e){v.popups.setContainer("video.edit",v.$sc),v.popups.refresh("video.edit");var t=u.find("iframe, embed, video"),i=t.offset().left+t.outerWidth()/2,o=t.offset().top+t.outerHeight();v.popups.show("video.edit",i,o,t.outerHeight())}}function n(e){if(e)return v.popups.onRefresh("video.insert",b),v.popups.onHide("image.insert",j),!0;var t="";v.opts.videoUpload||v.opts.videoInsertButtons.splice(v.opts.videoInsertButtons.indexOf("videoUpload"),1),1<v.opts.videoInsertButtons.length&&(t='<div class="fr-buttons">'+v.button.buildList(v.opts.videoInsertButtons)+"</div>");var i,o="",r=v.opts.videoInsertButtons.indexOf("videoUpload"),s=v.opts.videoInsertButtons.indexOf("videoByURL"),n=v.opts.videoInsertButtons.indexOf("videoEmbed");0<=s&&(i=" fr-active",(r<s&&0<=r||n<s&&0<=n)&&(i=""),o='<div class="fr-video-by-url-layer fr-layer'+i+'" id="fr-video-by-url-layer-'+v.id+'"><div class="fr-input-line"><input id="fr-video-by-url-layer-text-'+v.id+'" type="text" placeholder="'+v.language.translate("Paste in a video URL")+'" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="videoInsertByURL" tabIndex="2" role="button">'+v.language.translate("Insert")+"</button></div></div>");var a="";0<=n&&(i=" fr-active",(r<n&&0<=r||s<n&&0<=s)&&(i=""),a='<div class="fr-video-embed-layer fr-layer'+i+'" id="fr-video-embed-layer-'+v.id+'"><div class="fr-input-line"><textarea id="fr-video-embed-layer-text'+v.id+'" type="text" placeholder="'+v.language.translate("Embedded Code")+'" tabIndex="1" aria-required="true" rows="5"></textarea></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="videoInsertEmbed" tabIndex="2" role="button">'+v.language.translate("Insert")+"</button></div></div>");var d="";0<=r&&(i=" fr-active",(n<r&&0<=n||s<r&&0<=s)&&(i=""),d='<div class="fr-video-upload-layer fr-layer'+i+'" id="fr-video-upload-layer-'+v.id+'"><strong>'+v.language.translate("Drop video")+"</strong><br>("+v.language.translate("or click")+')<div class="fr-form"><input type="file" accept="video/'+v.opts.videoAllowedTypes.join(", video/").toLowerCase()+'" tabIndex="-1" aria-labelledby="fr-video-upload-layer-'+v.id+'" role="button"></div></div>');var l={buttons:t,by_url_layer:o,embed_layer:a,upload_layer:d,progress_bar:'<div class="fr-video-progress-bar-layer fr-layer"><h3 tabIndex="-1" class="fr-message">Uploading</h3><div class="fr-loader"><span class="fr-progress"></span></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-dismiss" data-cmd="videoDismissError" tabIndex="2" role="button">OK</button></div></div>'},f=v.popups.create("video.insert",l);return function(o){v.events.$on(o,"dragover dragenter",".fr-video-upload-layer",function(){return Z(this).addClass("fr-drop"),!1},!0),v.events.$on(o,"dragleave dragend",".fr-video-upload-layer",function(){return Z(this).removeClass("fr-drop"),!1},!0),v.events.$on(o,"drop",".fr-video-upload-layer",function(e){e.preventDefault(),e.stopPropagation(),Z(this).removeClass("fr-drop");var t=e.originalEvent.dataTransfer;if(t&&t.files){var i=o.data("instance")||v;i.events.disableBlur(),i.video.upload(t.files),i.events.enableBlur()}},!0),v.helpers.isIOS()&&v.events.$on(o,"touchstart",'.fr-video-upload-layer input[type="file"]',function(){Z(this).trigger("click")},!0);v.events.$on(o,"change",'.fr-video-upload-layer input[type="file"]',function(){if(this.files){var e=o.data("instance")||v;e.events.disableBlur(),o.find("input:focus").blur(),e.events.enableBlur(),e.video.upload(this.files)}Z(this).val("")},!0)}(f),f}function y(e){v.events.focus(!0),v.selection.restore();var t=!1;u&&(K(),t=!0),v.html.insert('<span contenteditable="false" draggable="true" class="fr-jiv fr-video">'+e+"</span>",!1,v.opts.videoSplitHTML),v.popups.hide("video.insert");var i=v.$el.find(".fr-jiv");i.removeClass("fr-jiv"),i.toggleClass("fr-rv",v.opts.videoResponsive),W(i,v.opts.videoDefaultDisplay,v.opts.videoDefaultAlign),i.toggleClass("fr-draggable",v.opts.videoMove),v.events.trigger(t?"video.replaced":"video.inserted",[i])}function E(){var e=Z(this);v.popups.hide("video.insert"),e.removeClass("fr-uploading"),e.parent().next().is("br")&&e.parent().next().remove(),x(e.parent()),v.events.trigger("video.loaded",[e.parent()])}function w(a,e,d,l,f){v.edit.off(),_("Loading video"),e&&(a=v.helpers.sanitizeURL(a));C("Loading video"),function(){var e,t;if(l){v.undo.canDo()||l.find("video").hasClass("fr-uploading")||v.undo.saveStep();var i=l.find("video").data("fr-old-src"),o=l.data("fr-replaced");l.data("fr-replaced",!1),v.$wp?((e=l.clone()).find("video").removeData("fr-old-src").removeClass("fr-uploading"),e.find("video").off("canplay"),i&&l.find("video").attr("src",i),l.replaceWith(e)):e=l;for(var r=e.find("video").get(0).attributes,s=0;s<r.length;s++){var n=r[s];0===n.nodeName.indexOf("data-")&&e.find("video").removeAttr(n.nodeName)}if(void 0!==d)for(t in d)d.hasOwnProperty(t)&&"link"!=t&&e.find("video").attr("data-"+t,d[t]);e.find("video").on("canplay",E),e.find("video").attr("src",a),v.edit.on(),F(),v.undo.saveStep(),v.$el.blur(),v.events.trigger(o?"video.replaced":"video.inserted",[e,f])}else e=function(e,t,i){var o,r="";if(t&&void 0!==t)for(o in t)t.hasOwnProperty(o)&&"link"!=o&&(r+=" data-"+o+'="'+t[o]+'"');var s=v.opts.videoDefaultWidth;s&&"auto"!=s&&(s+="px");var n=Z('<span contenteditable="false" draggable="true" class="fr-video fr-dv'+v.opts.videoDefaultDisplay[0]+("center"!=v.opts.videoDefaultAlign?" fr-fv"+v.opts.videoDefaultAlign[0]:"")+'"><video src="'+e+'" '+r+(s?' style="width: '+s+';" ':"")+" controls>"+v.language.translate("Your browser does not support HTML5 video.")+"</video></span>");n.toggleClass("fr-draggable",v.opts.videoMove),v.edit.on(),v.events.focus(!0),v.selection.restore(),v.undo.saveStep(),v.opts.videoSplitHTML?v.markers.split():v.markers.insert(),v.html.wrap();var a=v.$el.find(".fr-marker");return v.node.isLastSibling(a)&&a.parent().hasClass("fr-deletable")&&a.insertAfter(a.parent()),a.replaceWith(n),v.selection.clear(),n.find("video").get(0).readyState>n.find("video").get(0).HAVE_FUTURE_DATA||v.helpers.isIOS()?i.call(n.find("video").get(0)):n.find("video").on("canplaythrough load",i),n}(a,d,E),F(),v.undo.saveStep(),v.events.trigger("video.inserted",[e,f])}()}function C(e){var t=v.popups.get("video.insert");if(t||(t=n()),t.find(".fr-layer.fr-active").removeClass("fr-active").addClass("fr-pactive"),t.find(".fr-video-progress-bar-layer").addClass("fr-active"),t.find(".fr-buttons").hide(),u){var i=u.find("video");v.popups.setContainer("video.insert",v.$sc);var o=i.offset().left+i.width()/2,r=i.offset().top+i.height();v.popups.show("video.insert",o,r,i.outerHeight())}void 0===e&&_(v.language.translate("Uploading"),0)}function A(e){var t=v.popups.get("video.insert");if(t&&(t.find(".fr-layer.fr-pactive").addClass("fr-active").removeClass("fr-pactive"),t.find(".fr-video-progress-bar-layer").removeClass("fr-active"),t.find(".fr-buttons").show(),e||v.$el.find("video.fr-error").length)){if(v.events.focus(),v.$el.find("video.fr-error").length&&(v.$el.find("video.fr-error").parent().remove(),v.undo.saveStep(),v.undo.run(),v.undo.dropRedo()),!v.$wp&&u){var i=u;z(!0),v.selection.setAfter(i.find("video").get(0)),v.selection.restore()}v.popups.hide("video.insert")}}function _(e,t){var i=v.popups.get("video.insert");if(i){var o=i.find(".fr-video-progress-bar-layer");o.find("h3").text(e+(t?" "+t+"%":"")),o.removeClass("fr-error"),t?(o.find("div").removeClass("fr-indeterminate"),o.find("div > span").css("width",t+"%")):o.find("div").addClass("fr-indeterminate")}}function x(e){L.call(e.get(0))}function R(e){_("Loading video");var t=this.status,i=this.response,o=this.responseXML,r=this.responseText;try{if(v.opts.videoUploadToS3)if(201==t){var s=function(e){try{var t=Z(e).find("Location").text(),i=Z(e).find("Key").text();return!1===v.events.trigger("video.uploadedToS3",[t,i,e],!0)?(v.edit.on(),!1):t}catch(o){return N(h,e),!1}}(o);s&&w(s,!1,[],e,i||o)}else N(h,i||o);else if(200<=t&&t<300){var n=function(e){try{if(!1===v.events.trigger("video.uploaded",[e],!0))return v.edit.on(),!1;var t=JSON.parse(e);return t.link?t:(N(d,e),!1)}catch(i){return N(h,e),!1}}(r);n&&w(n.link,!1,n,e,i||r)}else N(c,i||r)}catch(a){N(h,i||r)}}function S(){N(h,this.response||this.responseText||this.responseXML)}function D(e){if(e.lengthComputable){var t=e.loaded/e.total*100|0;_(v.language.translate("Uploading"),t)}}function U(){v.edit.on(),A(!0)}function B(e){if(!v.core.sameInstance(p))return!0;e.preventDefault(),e.stopPropagation();var t=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null),i=e.pageY||(e.originalEvent.touches?e.originalEvent.touches[0].pageY:null);if(!t||!i)return!1;if("mousedown"==e.type){var o=v.$oel.get(0).ownerDocument,r=o.defaultView||o.parentWindow,s=!1;try{s=r.location!=r.parent.location&&!(r.$&&r.$.FE)}catch(n){}s&&r.frameElement&&(t+=v.helpers.getPX(Z(r.frameElement).offset().left)+r.frameElement.clientLeft,i=e.clientY+v.helpers.getPX(Z(r.frameElement).offset().top)+r.frameElement.clientTop)}v.undo.canDo()||v.undo.saveStep(),(f=Z(this)).data("start-x",t),f.data("start-y",i),a.show(),v.popups.hideAll(),P()}function I(e){if(!v.core.sameInstance(p))return!0;if(f){e.preventDefault();var t=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null),i=e.pageY||(e.originalEvent.touches?e.originalEvent.touches[0].pageY:null);if(!t||!i)return!1;var o=f.data("start-x"),r=f.data("start-y");f.data("start-x",t),f.data("start-y",i);var s=t-o,n=i-r,a=u.find("iframe, embed, video"),d=a.width(),l=a.height();(f.hasClass("fr-hnw")||f.hasClass("fr-hsw"))&&(s=0-s),(f.hasClass("fr-hnw")||f.hasClass("fr-hne"))&&(n=0-n),a.css("width",d+s),a.css("height",l+n),a.removeAttr("width"),a.removeAttr("height"),O()}}function $(e){if(!v.core.sameInstance(p))return!0;f&&u&&(e&&e.stopPropagation(),f=null,a.hide(),O(),s(),v.undo.saveStep())}function t(e){return'<div class="fr-handler fr-h'+e+'"></div>'}function k(e,t,i,o){return e.pageX=t,e.pageY=t,B.call(this,e),e.pageX=e.pageX+i*Math.floor(Math.pow(1.1,o)),e.pageY=e.pageY+i*Math.floor(Math.pow(1.1,o)),I.call(this,e),$.call(this,e),++o}function F(){var e,t=Array.prototype.slice.call(v.el.querySelectorAll("video, .fr-video > *")),i=[];for(e=0;e<t.length;e++)i.push(t[e].getAttribute("src")),Z(t[e]).toggleClass("fr-draggable",v.opts.videoMove),""===t[e].getAttribute("class")&&t[e].removeAttribute("class"),""===t[e].getAttribute("style")&&t[e].removeAttribute("style");if(o)for(e=0;e<o.length;e++)i.indexOf(o[e].getAttribute("src"))<0&&v.events.trigger("video.removed",[Z(o[e])]);o=t}function O(){p||function(){var e;if(v.shared.$video_resizer?(p=v.shared.$video_resizer,a=v.shared.$vid_overlay,v.events.on("destroy",function(){p.removeClass("fr-active").appendTo(Z("body:first"))},!0)):(v.shared.$video_resizer=Z('<div class="fr-video-resizer"></div>'),p=v.shared.$video_resizer,v.events.$on(p,"mousedown",function(e){e.stopPropagation()},!0),v.opts.videoResize&&(p.append(t("nw")+t("ne")+t("sw")+t("se")),v.shared.$vid_overlay=Z('<div class="fr-video-overlay"></div>'),a=v.shared.$vid_overlay,e=p.get(0).ownerDocument,Z(e).find("body:first").append(a))),v.events.on("shared.destroy",function(){p.html("").removeData().remove(),p=null,v.opts.videoResize&&(a.remove(),a=null)},!0),v.helpers.isMobile()||v.events.$on(Z(v.o_win),"resize.video",function(){z(!0)}),v.opts.videoResize){e=p.get(0).ownerDocument,v.events.$on(p,v._mousedown,".fr-handler",B),v.events.$on(Z(e),v._mousemove,I),v.events.$on(Z(e.defaultView||e.parentWindow),v._mouseup,$),v.events.$on(a,"mouseleave",$);var o=1,r=null,s=0;v.events.on("keydown",function(e){if(u){var t=-1!=navigator.userAgent.indexOf("Mac OS X")?e.metaKey:e.ctrlKey,i=e.which;(i!==r||200<e.timeStamp-s)&&(o=1),(i==Z.FE.KEYCODE.EQUALS||v.browser.mozilla&&i==Z.FE.KEYCODE.FF_EQUALS)&&t&&!e.altKey?o=k.call(this,e,1,1,o):(i==Z.FE.KEYCODE.HYPHEN||v.browser.mozilla&&i==Z.FE.KEYCODE.FF_HYPHEN)&&t&&!e.altKey&&(o=k.call(this,e,2,-1,o)),r=i,s=e.timeStamp}}),v.events.on("keyup",function(){o=1})}}(),(v.$wp||v.$sc).append(p),p.data("instance",v);var e=u.find("iframe, embed, video");p.css("top",(v.opts.iframe?e.offset().top-1:e.offset().top-v.$wp.offset().top-1)+v.$wp.scrollTop()).css("left",(v.opts.iframe?e.offset().left-1:e.offset().left-v.$wp.offset().left-1)+v.$wp.scrollLeft()).css("width",e.get(0).getBoundingClientRect().width).css("height",e.get(0).getBoundingClientRect().height).addClass("fr-active")}function L(e){if(e&&"touchend"==e.type&&i)return!0;if(e&&v.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1;if(v.edit.isDisabled())return!1;for(var t=0;t<Z.FE.INSTANCES.length;t++)Z.FE.INSTANCES[t]!=v&&Z.FE.INSTANCES[t].events.trigger("video.hideResizer");v.toolbar.disable(),v.helpers.isMobile()&&(v.events.disableBlur(),v.$el.blur(),v.events.enableBlur()),v.$el.find(".fr-video.fr-active").removeClass("fr-active"),(u=Z(this)).addClass("fr-active"),v.opts.iframe&&v.size.syncIframe(),G(),O(),s(),v.selection.clear(),v.button.bulkRefresh(),v.events.trigger("image.hideResizer")}function z(e){u&&(v.shared.vid_exit_flag||!0===e)&&(p.removeClass("fr-active"),v.toolbar.enable(),u.removeClass("fr-active"),u=null,P())}function e(){v.shared.vid_exit_flag=!0}function P(){v.shared.vid_exit_flag=!1}function T(e){var t=e.originalEvent.dataTransfer;if(t&&t.files&&t.files.length){var i=t.files[0];if(i&&i.type&&-1!==i.type.indexOf("video")){if(!v.opts.videoUpload)return e.preventDefault(),e.stopPropagation(),!1;v.markers.remove(),v.markers.insertAtPoint(e.originalEvent),v.$el.find(".fr-marker").replaceWith(Z.FE.MARKERS),v.popups.hideAll();var o=v.popups.get("video.insert");return o||(o=n()),v.popups.setContainer("video.insert",v.$sc),v.popups.show("video.insert",e.originalEvent.pageX,e.originalEvent.pageY),C(),0<=v.opts.videoAllowedTypes.indexOf(i.type.replace(/video\//g,""))?M(t.files):N(m),e.preventDefault(),e.stopPropagation(),!1}}}function M(e){if(void 0!==e&&0<e.length){if(!1===v.events.trigger("video.beforeUpload",[e]))return!1;var t,i=e[0];if((null===v.opts.videoUploadURL||v.opts.videoUploadURL==l)&&!v.opts.videoUploadToS3)return a=i,(d=new FileReader).addEventListener("load",function(){d.result;for(var e=atob(d.result.split(",")[1]),t=[],i=0;i<e.length;i++)t.push(e.charCodeAt(i));w(window.URL.createObjectURL(new Blob([new Uint8Array(t)],{type:a.type})),!1,null,u)},!1),C(),d.readAsDataURL(a),!1;if(i.size>v.opts.videoMaxSize)return N(g),!1;if(v.opts.videoAllowedTypes.indexOf(i.type.replace(/video\//g,""))<0)return N(m),!1;if(v.drag_support.formdata&&(t=v.drag_support.formdata?new FormData:null),t){var o;if(!1!==v.opts.videoUploadToS3)for(o in t.append("key",v.opts.videoUploadToS3.keyStart+(new Date).getTime()+"-"+(i.name||"untitled")),t.append("success_action_status","201"),t.append("X-Requested-With","xhr"),t.append("Content-Type",i.type),v.opts.videoUploadToS3.params)v.opts.videoUploadToS3.params.hasOwnProperty(o)&&t.append(o,v.opts.videoUploadToS3.params[o]);for(o in v.opts.videoUploadParams)v.opts.videoUploadParams.hasOwnProperty(o)&&t.append(o,v.opts.videoUploadParams[o]);t.append(v.opts.videoUploadParam,i);var r=v.opts.videoUploadURL;v.opts.videoUploadToS3&&(r=v.opts.videoUploadToS3.uploadURL?v.opts.videoUploadToS3.uploadURL:"https://"+v.opts.videoUploadToS3.region+".amazonaws.com/"+v.opts.videoUploadToS3.bucket);var s=v.core.getXHR(r,v.opts.videoUploadMethod);s.onload=function(){R.call(s,u)},s.onerror=S,s.upload.onprogress=D,s.onabort=U,C(),v.events.disableBlur(),v.edit.off(),v.events.enableBlur();var n=v.popups.get("video.insert");n&&n.off("abortUpload").on("abortUpload",function(){4!=s.readyState&&s.abort()}),s.send(t)}}var a,d}function N(e,t){v.edit.on(),u&&u.find("video").addClass("fr-error"),function(e){C();var t=v.popups.get("video.insert").find(".fr-video-progress-bar-layer");t.addClass("fr-error");var i=t.find("h3");i.text(e),v.events.disableBlur(),i.focus()}(v.language.translate("Something went wrong. Please try again.")),v.events.trigger("video.error",[{code:e,message:r[e]},t])}function V(){if(u){var e=v.popups.get("video.size"),t=u.find("iframe, embed, video");e.find('input[name="width"]').val(t.get(0).style.width||t.attr("width")).trigger("change"),e.find('input[name="height"]').val(t.get(0).style.height||t.attr("height")).trigger("change")}}function Y(e){if(e)return v.popups.onRefresh("video.size",V),!0;var t={buttons:'<div class="fr-buttons">'+v.button.buildList(v.opts.videoSizeButtons)+"</div>",size_layer:'<div class="fr-video-size-layer fr-layer fr-active" id="fr-video-size-layer-'+v.id+'"><div class="fr-video-group"><div class="fr-input-line"><input id="fr-video-size-layer-width-'+v.id+'" type="text" name="width" placeholder="'+v.language.translate("Width")+'" tabIndex="1"></div><div class="fr-input-line"><input id="fr-video-size-layer-height-'+v.id+'" type="text" name="height" placeholder="'+v.language.translate("Height")+'" tabIndex="1"></div></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="videoSetSize" tabIndex="2" role="button">'+v.language.translate("Update")+"</button></div></div>"},i=v.popups.create("video.size",t);return v.events.$on(v.$wp,"scroll",function(){u&&v.popups.isVisible("video.size")&&(v.events.disableBlur(),x(u))}),i}function H(e){if(void 0===e&&(e=u),e){if(e.hasClass("fr-fvl"))return"left";if(e.hasClass("fr-fvr"))return"right";if(e.hasClass("fr-dvb")||e.hasClass("fr-dvi"))return"center";if("block"==e.css("display")){if("left"==e.css("text-algin"))return"left";if("right"==e.css("text-align"))return"right"}else{if("left"==e.css("float"))return"left";if("right"==e.css("float"))return"right"}}return"center"}function X(e){void 0===e&&(e=u);var t=e.css("float");return e.css("float","none"),"block"==e.css("display")?(e.css("float",""),e.css("float")!=t&&e.css("float",t),"block"):(e.css("float",""),e.css("float")!=t&&e.css("float",t),"inline")}function K(){if(u&&!1!==v.events.trigger("video.beforeRemove",[u])){var e=u;v.popups.hideAll(),z(!0),v.selection.setBefore(e.get(0))||v.selection.setAfter(e.get(0)),e.remove(),v.selection.restore(),v.html.fillEmptyBlocks(),v.events.trigger("video.removed",[e])}}function j(){A()}function W(e,t,i){!v.opts.htmlUntouched&&v.opts.useClasses?(e.removeClass("fr-fvl fr-fvr fr-dvb fr-dvi"),e.addClass("fr-fv"+i[0]+" fr-dv"+t[0])):"inline"==t?(e.css({display:"inline-block"}),"center"==i?e.css({"float":"none"}):"left"==i?e.css({"float":"left"}):e.css({"float":"right"})):(e.css({display:"block",clear:"both"}),"left"==i?e.css({textAlign:"left"}):"right"==i?e.css({textAlign:"right"}):e.css({textAlign:"center"}))}function q(){v.$el.find("video").filter(function(){return 0===Z(this).parents("span.fr-video").length}).wrap('<span class="fr-video" contenteditable="false"></span>'),v.$el.find("embed, iframe").filter(function(){if(v.browser.safari&&this.getAttribute("src")&&this.setAttribute("src",this.src),0<Z(this).parents("span.fr-video").length)return!1;for(var e=Z(this).attr("src"),t=0;t<Z.FE.VIDEO_PROVIDERS.length;t++){var i=Z.FE.VIDEO_PROVIDERS[t];if(i.test_regex.test(e)&&new RegExp(v.opts.videoAllowedProviders.join("|")).test(i.provider))return!0}return!1}).map(function(){return 0===Z(this).parents("object").length?this:Z(this).parents("object").get(0)}).wrap('<span class="fr-video" contenteditable="false"></span>');for(var e,t,i=v.$el.find("span.fr-video, video"),o=0;o<i.length;o++){var r=Z(i[o]);!v.opts.htmlUntouched&&v.opts.useClasses?((t=r).hasClass("fr-dvi")||t.hasClass("fr-dvb")||(t.addClass("fr-fv"+H(t)[0]),t.addClass("fr-dv"+X(t)[0])),v.opts.videoTextNear||r.removeClass("fr-dvi").addClass("fr-dvb")):v.opts.htmlUntouched||v.opts.useClasses||(W(e=r,e.hasClass("fr-dvb")?"block":e.hasClass("fr-dvi")?"inline":null,e.hasClass("fr-fvl")?"left":e.hasClass("fr-fvr")?"right":H(e)),e.removeClass("fr-dvb fr-dvi fr-fvr fr-fvl"))}i.toggleClass("fr-draggable",v.opts.videoMove)}function G(){if(u){v.selection.clear();var e=v.doc.createRange();e.selectNode(u.get(0)),v.selection.get().addRange(e)}}return r[1]="Video cannot be loaded from the passed link.",r[d]="No link in upload response.",r[c]="Error during file upload.",r[h]="Parsing response failed.",r[g]="File is too large.",r[m]="Video file type is invalid.",r[7]="Files can be uploaded only to same domain in IE 8 and IE 9.",v.shared.vid_exit_flag=!1,{_init:function(){v.opts.videoResponsive&&(v.opts.videoResize=!1),v.events.on("drop",T,!0),v.events.on("mousedown window.mousedown",e),v.events.on("window.touchmove",P),v.events.on("mouseup window.mouseup",z),v.events.on("commands.mousedown",function(e){0<e.parents(".fr-toolbar").length&&z()}),v.events.on("video.hideResizer commands.undo commands.redo element.dropped",function(){z(!0)}),v.helpers.isMobile()&&(v.events.$on(v.$el,"touchstart","span.fr-video",function(){i=!1}),v.events.$on(v.$el,"touchmove",function(){i=!0})),v.events.on("html.set",q),q(),v.events.$on(v.$el,"mousedown","span.fr-video",function(e){e.stopPropagation(),(v.browser.msie||v.browser.edge)&&(e.target.dragDrop(),L.call(this,e))}),v.events.$on(v.$el,"click touchend","span.fr-video",function(e){if("false"==Z(this).parents("[contenteditable]:not(.fr-element):not(.fr-img-caption):not(body):first").attr("contenteditable"))return!0;L.call(this,e)}),v.events.on("keydown",function(e){var t=e.which;return!u||t!=Z.FE.KEYCODE.BACKSPACE&&t!=Z.FE.KEYCODE.DELETE?u&&t==Z.FE.KEYCODE.ESC?(z(!0),e.preventDefault(),!1):u&&t!=Z.FE.KEYCODE.F10&&!v.keys.isBrowserAction(e)?(e.preventDefault(),!1):void 0:(e.preventDefault(),K(),v.undo.saveStep(),!1)},!0),v.events.on("toolbar.esc",function(){if(u)return v.events.disableBlur(),v.events.focus(),!1},!0),v.events.on("toolbar.focusEditor",function(){if(u)return!1},!0),v.events.on("keydown",function(){v.$el.find("span.fr-video:empty").remove()}),v.$wp&&(F(),v.events.on("contentChanged",F)),n(!0),Y(!0)},showInsertPopup:function(){var e=v.$tb.find('.fr-command[data-cmd="insertVideo"]'),t=v.popups.get("video.insert");if(t||(t=n()),A(),!t.hasClass("fr-active"))if(v.popups.refresh("video.insert"),v.popups.setContainer("video.insert",v.$tb),e.is(":visible")){var i=e.offset().left+e.outerWidth()/2,o=e.offset().top+(v.opts.toolbarBottom?10:e.outerHeight()-10);v.popups.show("video.insert",i,o,e.outerHeight())}else v.position.forSelection(t),v.popups.show("video.insert")},showLayer:function(e){var t,i,o=v.popups.get("video.insert");if(!u&&!v.opts.toolbarInline){var r=v.$tb.find('.fr-command[data-cmd="insertVideo"]');t=r.offset().left+r.outerWidth()/2,i=r.offset().top+(v.opts.toolbarBottom?10:r.outerHeight()-10)}v.opts.toolbarInline&&(i=o.offset().top-v.helpers.getPX(o.css("margin-top")),o.hasClass("fr-above")&&(i+=o.outerHeight())),o.find(".fr-layer").removeClass("fr-active"),o.find(".fr-"+e+"-layer").addClass("fr-active"),v.popups.show("video.insert",t,i,0),v.accessibility.focusPopup(o)},refreshByURLButton:function(e){v.popups.get("video.insert").find(".fr-video-by-url-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},refreshEmbedButton:function(e){v.popups.get("video.insert").find(".fr-video-embed-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},refreshUploadButton:function(e){v.popups.get("video.insert").find(".fr-video-upload-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},upload:M,insertByURL:function(e){void 0===e&&(e=(v.popups.get("video.insert").find('.fr-video-by-url-layer input[type="text"]').val()||"").trim());var t=null;if(/^http/.test(e)||(e="https://"+e),v.helpers.isURL(e))for(var i=0;i<Z.FE.VIDEO_PROVIDERS.length;i++){var o=Z.FE.VIDEO_PROVIDERS[i];if(o.test_regex.test(e)&&new RegExp(v.opts.videoAllowedProviders.join("|")).test(o.provider)){t=e.replace(o.url_regex,o.url_text),t=o.html.replace(/\{url\}/,t);break}}t?y(t):v.events.trigger("video.linkError",[e])},insertEmbed:function(e){void 0===e&&(e=v.popups.get("video.insert").find(".fr-video-embed-layer textarea").val()||""),0!==e.length&&Z.FE.VIDEO_EMBED_REGEX.test(e)?y(e):v.events.trigger("video.codeError",[e])},insert:y,align:function(e){u.removeClass("fr-fvr fr-fvl"),!v.opts.htmlUntouched&&v.opts.useClasses?"left"==e?u.addClass("fr-fvl"):"right"==e&&u.addClass("fr-fvr"):W(u,X(),e),G(),O(),s(),v.selection.clear()},refreshAlign:function(e){if(!u)return!1;e.find("> *:first").replaceWith(v.icon.create("video-align-"+H()))},refreshAlignOnShow:function(e,t){u&&t.find('.fr-command[data-param1="'+H()+'"]').addClass("fr-active").attr("aria-selected",!0)},display:function(e){u.removeClass("fr-dvi fr-dvb"),!v.opts.htmlUntouched&&v.opts.useClasses?"inline"==e?u.addClass("fr-dvi"):"block"==e&&u.addClass("fr-dvb"):W(u,e,H()),G(),O(),s(),v.selection.clear()},refreshDisplayOnShow:function(e,t){u&&t.find('.fr-command[data-param1="'+X()+'"]').addClass("fr-active").attr("aria-selected",!0)},remove:K,hideProgressBar:A,showSizePopup:function(){var e=v.popups.get("video.size");e||(e=Y()),A(),v.popups.refresh("video.size"),v.popups.setContainer("video.size",v.$sc);var t=u.find("iframe, embed, video"),i=t.offset().left+t.width()/2,o=t.offset().top+t.height();v.popups.show("video.size",i,o,t.height())},replace:function(){var e=v.popups.get("video.insert");e||(e=n()),v.popups.isVisible("video.insert")||(A(),v.popups.refresh("video.insert"),v.popups.setContainer("video.insert",v.$sc));var t=u.offset().left+u.width()/2,i=u.offset().top+u.height();v.popups.show("video.insert",t,i,u.outerHeight())},back:function(){u?(v.events.disableBlur(),u.trigger("click")):(v.events.disableBlur(),v.selection.restore(),v.events.enableBlur(),v.popups.hide("video.insert"),v.toolbar.showInline())},setSize:function(e,t){if(u){var i=v.popups.get("video.size"),o=u.find("iframe, embed, video");o.css("width",e||i.find('input[name="width"]').val()),o.css("height",t||i.find('input[name="height"]').val()),o.get(0).style.width&&o.removeAttr("width"),o.get(0).style.height&&o.removeAttr("height"),i.find("input:focus").blur(),setTimeout(function(){u.trigger("click")},v.helpers.isAndroid()?50:0)}},get:function(){return u}}},Z.FE.RegisterCommand("insertVideo",{title:"Insert Video",undo:!1,focus:!0,refreshAfterCallback:!1,popup:!0,callback:function(){this.popups.isVisible("video.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("video.insert")):this.video.showInsertPopup()},plugin:"video"}),Z.FE.DefineIcon("insertVideo",{NAME:"video-camera",FA5NAME:"camera"}),Z.FE.DefineIcon("videoByURL",{NAME:"link"}),Z.FE.RegisterCommand("videoByURL",{title:"By URL",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer("video-by-url")},refresh:function(e){this.video.refreshByURLButton(e)}}),Z.FE.DefineIcon("videoEmbed",{NAME:"code"}),Z.FE.RegisterCommand("videoEmbed",{title:"Embedded Code",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer("video-embed")},refresh:function(e){this.video.refreshEmbedButton(e)}}),Z.FE.DefineIcon("videoUpload",{NAME:"upload"}),Z.FE.RegisterCommand("videoUpload",{title:"Upload Video",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer("video-upload")},refresh:function(e){this.video.refreshUploadButton(e)}}),Z.FE.RegisterCommand("videoInsertByURL",{undo:!0,focus:!0,callback:function(){this.video.insertByURL()}}),Z.FE.RegisterCommand("videoInsertEmbed",{undo:!0,focus:!0,callback:function(){this.video.insertEmbed()}}),Z.FE.DefineIcon("videoDisplay",{NAME:"star"}),Z.FE.RegisterCommand("videoDisplay",{title:"Display",type:"dropdown",options:{inline:"Inline",block:"Break Text"},callback:function(e,t){this.video.display(t)},refresh:function(e){this.opts.videoTextNear||e.addClass("fr-hidden")},refreshOnShow:function(e,t){this.video.refreshDisplayOnShow(e,t)}}),Z.FE.DefineIcon("video-align",{NAME:"align-left"}),Z.FE.DefineIcon("video-align-left",{NAME:"align-left"}),Z.FE.DefineIcon("video-align-right",{NAME:"align-right"}),Z.FE.DefineIcon("video-align-center",{NAME:"align-justify"}),Z.FE.DefineIcon("videoAlign",{NAME:"align-center"}),Z.FE.RegisterCommand("videoAlign",{type:"dropdown",title:"Align",options:{left:"Align Left",center:"None",right:"Align Right"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=Z.FE.COMMANDS.videoAlign.options;for(var i in t)t.hasOwnProperty(i)&&(e+='<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="videoAlign" data-param1="'+i+'" title="'+this.language.translate(t[i])+'">'+this.icon.create("video-align-"+i)+'<span class="fr-sr-only">'+this.language.translate(t[i])+"</span></a></li>");return e+="</ul>"},callback:function(e,t){this.video.align(t)},refresh:function(e){this.video.refreshAlign(e)},refreshOnShow:function(e,t){this.video.refreshAlignOnShow(e,t)}}),Z.FE.DefineIcon("videoReplace",{NAME:"exchange",FA5NAME:"exchange-alt"}),Z.FE.RegisterCommand("videoReplace",{title:"Replace",undo:!1,focus:!1,popup:!0,refreshAfterCallback:!1,callback:function(){this.video.replace()}}),Z.FE.DefineIcon("videoRemove",{NAME:"trash"}),Z.FE.RegisterCommand("videoRemove",{title:"Remove",callback:function(){this.video.remove()}}),Z.FE.DefineIcon("videoSize",{NAME:"arrows-alt"}),Z.FE.RegisterCommand("videoSize",{undo:!1,focus:!1,popup:!0,title:"Change Size",callback:function(){this.video.showSizePopup()}}),Z.FE.DefineIcon("videoBack",{NAME:"arrow-left"}),Z.FE.RegisterCommand("videoBack",{title:"Back",undo:!1,focus:!1,back:!0,callback:function(){this.video.back()},refresh:function(e){this.video.get()||this.opts.toolbarInline?(e.removeClass("fr-hidden"),e.next(".fr-separator").removeClass("fr-hidden")):(e.addClass("fr-hidden"),e.next(".fr-separator").addClass("fr-hidden"))}}),Z.FE.RegisterCommand("videoDismissError",{title:"OK",undo:!1,callback:function(){this.video.hideProgressBar(!0)}}),Z.FE.RegisterCommand("videoSetSize",{undo:!0,focus:!1,title:"Update",refreshAfterCallback:!1,callback:function(){this.video.setSize()}})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/video.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/inline_class.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/inline_class.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/inline_class.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(i){"function"==typeof define&&define.amd?define(["jquery"],i):"object"==typeof module&&module.exports?module.exports=function(n,e){return e===undefined&&(e="undefined"!=typeof window?require("jquery"):require("jquery")(n)),i(e)}:i(window.jQuery)}(function(s){s.extend(s.FE.DEFAULTS,{inlineClasses:{"fr-class-code":"Code","fr-class-highlighted":"Highlighted","fr-class-transparency":"Transparent"}}),s.FE.PLUGINS.inlineClass=function(i){return{apply:function(n){i.format.toggle("span",{"class":n})},refreshOnShow:function(n,e){e.find(".fr-command").each(function(){var n=s(this).data("param1"),e=i.format.is("span",{"class":n});s(this).toggleClass("fr-active",e).attr("aria-selected",e)})}}},s.FE.RegisterCommand("inlineClass",{type:"dropdown",title:"Inline Class",html:function(){var n='<ul class="fr-dropdown-list" role="presentation">',e=this.opts.inlineClasses;for(var i in e)e.hasOwnProperty(i)&&(n+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="inlineClass" data-param1="'+i+'" title="'+e[i]+'">'+e[i]+"</a></li>");return n+="</ul>"},callback:function(n,e){this.inlineClass.apply(e)},refreshOnShow:function(n,e){this.inlineClass.refreshOnShow(n,e)},plugin:"inlineClass"}),s.FE.DefineIcon("inlineClass",{NAME:"tag"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/inline_class.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/line_height.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/line_height.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/line_height.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(o){o.extend(o.FE.DEFAULTS,{lineHeights:{Default:"",Single:"1",1.15:"1.15",1.5:"1.5",Double:"2"}}),o.FE.PLUGINS.lineHeight=function(r){return{_init:function(){},apply:function(e){r.selection.save(),r.html.wrap(!0,!0,!0,!0),r.selection.restore();var t=r.selection.blocks();r.selection.save();for(var n=0;n<t.length;n++)o(t[n]).css("line-height",e),""===o(t[n]).attr("style")&&o(t[n]).removeAttr("style");r.html.unwrap(),r.selection.restore()},refreshOnShow:function(e,t){var n=r.selection.blocks();if(n.length){var i=o(n[0]);t.find(".fr-command").each(function(){var e=o(this).data("param1"),t=0<=(i.attr("style")||"").indexOf("line-height: "+e+";");o(this).toggleClass("fr-active",t).attr("aria-selected",t)})}}}},o.FE.RegisterCommand("lineHeight",{type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.lineHeights;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role="presentation"><a class="fr-command '+n+'" tabIndex="-1" role="option" data-cmd="lineHeight" data-param1="'+t[n]+'" title="'+this.language.translate(n)+'">'+this.language.translate(n)+"</a></li>");return e+="</ul>"},title:"Line Height",callback:function(e,t){this.lineHeight.apply(t)},refreshOnShow:function(e,t){this.lineHeight.refreshOnShow(e,t)},plugin:"lineHeight"}),o.FE.DefineIcon("lineHeight",{NAME:"arrows-v",FA5NAME:"arrows-alt-v"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/line_height.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/table.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/table.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/table.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(l){"function"==typeof define&&define.amd?define(["jquery"],l):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),l(t)}:l(window.jQuery)}(function(Z){Z.extend(Z.FE.POPUP_TEMPLATES,{"table.insert":"[_BUTTONS_][_ROWS_COLUMNS_]","table.edit":"[_BUTTONS_]","table.colors":"[_BUTTONS_][_COLORS_][_CUSTOM_COLOR_]"}),Z.extend(Z.FE.DEFAULTS,{tableInsertMaxSize:10,tableEditButtons:["tableHeader","tableRemove","|","tableRows","tableColumns","tableStyle","-","tableCells","tableCellBackground","tableCellVerticalAlign","tableCellHorizontalAlign","tableCellStyle"],tableInsertButtons:["tableBack","|"],tableResizer:!0,tableDefaultWidth:"100%",tableResizerOffset:5,tableResizingLimit:30,tableColorsButtons:["tableBack","|"],tableColors:["#61BD6D","#1ABC9C","#54ACD2","#2C82C9","#9365B8","#475577","#CCCCCC","#41A85F","#00A885","#3D8EB9","#2969B0","#553982","#28324E","#000000","#F7DA64","#FBA026","#EB6B56","#E25041","#A38F84","#EFEFEF","#FFFFFF","#FAC51C","#F37934","#D14841","#B8312F","#7C706B","#D1D5D8","REMOVE"],tableColorsStep:7,tableCellStyles:{"fr-highlighted":"Highlighted","fr-thick":"Thick"},tableStyles:{"fr-dashed-borders":"Dashed Borders","fr-alternate-rows":"Alternate Rows"},tableCellMultipleStyles:!0,tableMultipleStyles:!0,tableInsertHelper:!0,tableInsertHelperOffset:15}),Z.FE.PLUGINS.table=function(w){var C,o,s,r,a,n,E;function h(){var e=O();if(e){var t=w.popups.get("table.edit");if(t||(t=p()),t){w.popups.setContainer("table.edit",w.$sc);var l=M(e),a=(l.left+l.right)/2,s=l.bottom;w.popups.show("table.edit",a,s,l.bottom-l.top),w.edit.isDisabled()&&(1<J().length&&w.toolbar.disable(),w.$el.removeClass("fr-no-selection"),w.edit.on(),w.button.bulkRefresh(),w.selection.setAtEnd(w.$el.find(".fr-selected-cell:last").get(0)),w.selection.restore())}}}function f(){var e,t,l,a,s=O();if(s){var r=w.popups.get("table.colors");r||(r=function(){var e="";0<w.opts.tableColorsButtons.length&&(e='<div class="fr-buttons fr-table-colors-buttons">'+w.button.buildList(w.opts.tableColorsButtons)+"</div>");var t="";w.opts.colorsHEXInput&&(t='<div class="fr-table-colors-hex-layer fr-active fr-layer" id="fr-table-colors-hex-layer-'+w.id+'"><div class="fr-input-line"><input maxlength="7" id="fr-table-colors-hex-layer-text-'+w.id+'" type="text" placeholder="'+w.language.translate("HEX Color")+'" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="tableCellBackgroundCustomColor" tabIndex="2" role="button">'+w.language.translate("OK")+"</button></div></div>");var l={buttons:e,colors:function(){for(var e='<div class="fr-table-colors">',t=0;t<w.opts.tableColors.length;t++)0!==t&&t%w.opts.tableColorsStep==0&&(e+="<br>"),"REMOVE"!=w.opts.tableColors[t]?e+='<span class="fr-command" style="background: '+w.opts.tableColors[t]+';" tabIndex="-1" role="button" data-cmd="tableCellBackgroundColor" data-param1="'+w.opts.tableColors[t]+'"><span class="fr-sr-only">'+w.language.translate("Color")+" "+w.opts.tableColors[t]+"&nbsp;&nbsp;&nbsp;</span></span>":e+='<span class="fr-command" data-cmd="tableCellBackgroundColor" tabIndex="-1" role="button" data-param1="REMOVE" title="'+w.language.translate("Clear Formatting")+'">'+w.icon.create("tableColorRemove")+'<span class="fr-sr-only">'+w.language.translate("Clear Formatting")+"</span></span>";return e+="</div>"}(),custom_color:t},a=w.popups.create("table.colors",l);return w.events.$on(w.$wp,"scroll.table-colors",function(){w.popups.isVisible("table.colors")&&f()}),u=a,w.events.on("popup.tab",function(e){var t=Z(e.currentTarget);if(!w.popups.isVisible("table.colors")||!t.is("span"))return!0;var l=e.which,a=!0;if(Z.FE.KEYCODE.TAB==l){var s=u.find(".fr-buttons");a=!w.accessibility.focusToolbar(s,!!e.shiftKey)}else if(Z.FE.KEYCODE.ARROW_UP==l||Z.FE.KEYCODE.ARROW_DOWN==l||Z.FE.KEYCODE.ARROW_LEFT==l||Z.FE.KEYCODE.ARROW_RIGHT==l){var r=t.parent().find("span.fr-command"),n=r.index(t),o=w.opts.colorsStep,i=Math.floor(r.length/o),f=n%o,c=Math.floor(n/o),d=c*o+f,p=i*o;Z.FE.KEYCODE.ARROW_UP==l?d=((d-o)%p+p)%p:Z.FE.KEYCODE.ARROW_DOWN==l?d=(d+o)%p:Z.FE.KEYCODE.ARROW_LEFT==l?d=((d-1)%p+p)%p:Z.FE.KEYCODE.ARROW_RIGHT==l&&(d=(d+1)%p);var h=Z(r.get(d));w.events.disableBlur(),h.focus(),a=!1}else Z.FE.KEYCODE.ENTER==l&&(w.button.exec(t),a=!1);return!1===a&&(e.preventDefault(),e.stopPropagation()),a},!0),a;var u}()),w.popups.setContainer("table.colors",w.$sc);var n=M(s),o=(n.left+n.right)/2,i=n.bottom;e=w.popups.get("table.colors"),t=w.$el.find(".fr-selected-cell:first"),l=w.helpers.RGBToHex(t.css("background-color")),a=e.find(".fr-table-colors-hex-layer input"),e.find(".fr-selected-color").removeClass("fr-selected-color fr-active-item"),e.find('span[data-param1="'+l+'"]').addClass("fr-selected-color fr-active-item"),a.val(l).trigger("change"),w.popups.show("table.colors",o,i,n.bottom-n.top)}}function i(){0===J().length&&w.toolbar.enable()}function c(e){if(e)return w.popups.onHide("table.insert",function(){w.popups.get("table.insert").find('.fr-table-size .fr-select-table-size > span[data-row="1"][data-col="1"]').trigger("mouseenter")}),!0;var t="";0<w.opts.tableInsertButtons.length&&(t='<div class="fr-buttons">'+w.button.buildList(w.opts.tableInsertButtons)+"</div>");var l,a={buttons:t,rows_columns:function(){for(var e='<div class="fr-table-size"><div class="fr-table-size-info">1 &times; 1</div><div class="fr-select-table-size">',t=1;t<=w.opts.tableInsertMaxSize;t++){for(var l=1;l<=w.opts.tableInsertMaxSize;l++){var a="inline-block";2<t&&!w.helpers.isMobile()&&(a="none");var s="fr-table-cell ";1==t&&1==l&&(s+=" hover"),e+='<span class="fr-command '+s+'" tabIndex="-1" data-cmd="tableInsert" data-row="'+t+'" data-col="'+l+'" data-param1="'+t+'" data-param2="'+l+'" style="display: '+a+';" role="button"><span></span><span class="fr-sr-only">'+t+" &times; "+l+"&nbsp;&nbsp;&nbsp;</span></span>"}e+='<div class="new-line"></div>'}return e+="</div></div>"}()},s=w.popups.create("table.insert",a);return w.events.$on(s,"mouseenter",".fr-table-size .fr-select-table-size .fr-table-cell",function(e){d(Z(e.currentTarget))},!0),l=s,w.events.$on(l,"focus","[tabIndex]",function(e){var t=Z(e.currentTarget);d(t)}),w.events.on("popup.tab",function(e){var t=Z(e.currentTarget);if(!w.popups.isVisible("table.insert")||!t.is("span, a"))return!0;var l,a=e.which;if(Z.FE.KEYCODE.ARROW_UP==a||Z.FE.KEYCODE.ARROW_DOWN==a||Z.FE.KEYCODE.ARROW_LEFT==a||Z.FE.KEYCODE.ARROW_RIGHT==a){if(t.is("span.fr-table-cell")){var s=t.parent().find("span.fr-table-cell"),r=s.index(t),n=w.opts.tableInsertMaxSize,o=r%n,i=Math.floor(r/n);Z.FE.KEYCODE.ARROW_UP==a?i=Math.max(0,i-1):Z.FE.KEYCODE.ARROW_DOWN==a?i=Math.min(w.opts.tableInsertMaxSize-1,i+1):Z.FE.KEYCODE.ARROW_LEFT==a?o=Math.max(0,o-1):Z.FE.KEYCODE.ARROW_RIGHT==a&&(o=Math.min(w.opts.tableInsertMaxSize-1,o+1));var f=i*n+o,c=Z(s.get(f));d(c),w.events.disableBlur(),c.focus(),l=!1}}else Z.FE.KEYCODE.ENTER==a&&(w.button.exec(t),l=!1);return!1===l&&(e.preventDefault(),e.stopPropagation()),l},!0),s}function d(e){var t=e.data("row"),l=e.data("col"),a=e.parent();a.siblings(".fr-table-size-info").html(t+" &times; "+l),a.find("> span").removeClass("hover fr-active-item");for(var s=1;s<=w.opts.tableInsertMaxSize;s++)for(var r=0;r<=w.opts.tableInsertMaxSize;r++){var n=a.find('> span[data-row="'+s+'"][data-col="'+r+'"]');s<=t&&r<=l?n.addClass("hover"):s<=t+1||s<=2&&!w.helpers.isMobile()?n.css("display","inline-block"):2<s&&!w.helpers.isMobile()&&n.css("display","none")}e.addClass("fr-active-item")}function p(e){if(e)return w.popups.onHide("table.edit",i),!0;if(0<w.opts.tableEditButtons.length){var t={buttons:'<div class="fr-buttons">'+w.button.buildList(w.opts.tableEditButtons)+"</div>"},l=w.popups.create("table.edit",t);return w.events.$on(w.$wp,"scroll.table-edit",function(){w.popups.isVisible("table.edit")&&h()}),l}return!1}function u(){if(0<J().length){var e=Q();w.selection.setBefore(e.get(0))||w.selection.setAfter(e.get(0)),w.selection.restore(),w.popups.hide("table.edit"),e.remove(),w.toolbar.enable()}}function b(e){var t=Q();if(0<t.length){if(0<w.$el.find("th.fr-selected-cell").length&&"above"==e)return;var l,a,s,r=O(),n=$(r);a="above"==e?n.min_i:n.max_i;var o="<tr>";for(l=0;l<r[a].length;l++)if("below"==e&&a<r.length-1&&r[a][l]==r[a+1][l]||"above"==e&&0<a&&r[a][l]==r[a-1][l]){if(0===l||0<l&&r[a][l]!=r[a][l-1]){var i=Z(r[a][l]);i.attr("rowspan",parseInt(i.attr("rowspan"),10)+1)}}else o+="<td><br></td>";o+="</tr>",s=0<w.$el.find("th.fr-selected-cell").length&&"below"==e?Z(t.find("tbody").not(t.find("table tbody"))):Z(t.find("tr").not(t.find("table tr")).get(a)),"below"==e?"TBODY"==s.prop("tagName")?s.prepend(o):s.after(o):"above"==e&&(s.before(o),w.popups.isVisible("table.edit")&&h())}}function g(e,t,l){var a,s,r,n,o,i=0,f=O(l);if(e<(t=Math.min(t,f[0].length-1)))for(s=e;s<=t;s++)if(!(e<s&&f[0][s]==f[0][s-1])&&1<(n=Math.min(parseInt(f[0][s].getAttribute("colspan"),10)||1,t-e+1))&&f[0][s]==f[0][s+1])for(i=n-1,a=1;a<f.length;a++)if(f[a][s]!=f[a-1][s]){for(r=s;r<s+n;r++)if(1<(o=parseInt(f[a][r].getAttribute("colspan"),10)||1)&&f[a][r]==f[a][r+1])r+=i=Math.min(i,o-1);else if(!(i=Math.max(0,i-1)))break;if(!i)break}i&&v(f,i,"colspan",0,f.length-1,e,t)}function m(e,t,l){var a,s,r,n,o,i=0,f=O(l);if(e<(t=Math.min(t,f.length-1)))for(a=e;a<=t;a++)if(!(e<a&&f[a][0]==f[a-1][0])&&1<(n=Math.min(parseInt(f[a][0].getAttribute("rowspan"),10)||1,t-e+1))&&f[a][0]==f[a+1][0])for(i=n-1,s=1;s<f[0].length;s++)if(f[a][s]!=f[a][s-1]){for(r=a;r<a+n;r++)if(1<(o=parseInt(f[r][s].getAttribute("rowspan"),10)||1)&&f[r][s]==f[r+1][s])r+=i=Math.min(i,o-1);else if(!(i=Math.max(0,i-1)))break;if(!i)break}i&&v(f,i,"rowspan",e,t,0,f[0].length-1)}function v(e,t,l,a,s,r,n){var o,i,f;for(o=a;o<=s;o++)for(i=r;i<=n;i++)a<o&&e[o][i]==e[o-1][i]||r<i&&e[o][i]==e[o][i-1]||1<(f=parseInt(e[o][i].getAttribute(l),10)||1)&&(1<f-t?e[o][i].setAttribute(l,f-t):e[o][i].removeAttribute(l))}function R(e,t,l,a,s){m(e,t,s),g(l,a,s)}function t(e){var t=w.$el.find(".fr-selected-cell");"REMOVE"!=e?t.css("background-color",w.helpers.HEXtoRGB(e)):t.css("background-color",""),h()}function O(e){var f=[];return null==(e=e||null)&&0<J().length&&(e=Q()),e&&e.find("tr:visible").not(e.find("table tr")).each(function(o,e){var t=Z(e),i=0;t.find("> th, > td").each(function(e,t){for(var l=Z(t),a=parseInt(l.attr("colspan"),10)||1,s=parseInt(l.attr("rowspan"),10)||1,r=o;r<o+s;r++)for(var n=i;n<i+a;n++)f[r]||(f[r]=[]),f[r][n]?i++:f[r][n]=t;i+=a})}),f}function A(e,t){for(var l=0;l<t.length;l++)for(var a=0;a<t[l].length;a++)if(t[l][a]==e)return{row:l,col:a}}function F(e,t,l){for(var a=e+1,s=t+1;a<l.length;){if(l[a][t]!=l[e][t]){a--;break}a++}for(a==l.length&&a--;s<l[e].length;){if(l[e][s]!=l[e][t]){s--;break}s++}return s==l[e].length&&s--,{row:a,col:s}}function x(){w.el.querySelector(".fr-cell-fixed")&&w.el.querySelector(".fr-cell-fixed").classList.remove("fr-cell-fixed"),w.el.querySelector(".fr-cell-handler")&&w.el.querySelector(".fr-cell-handler").classList.remove("fr-cell-handler")}function D(){var e=w.$el.find(".fr-selected-cell");0<e.length&&e.each(function(){var e=Z(this);e.removeClass("fr-selected-cell"),""===e.attr("class")&&e.removeAttr("class")}),x()}function y(){w.events.disableBlur(),w.selection.clear(),w.$el.addClass("fr-no-selection"),w.$el.blur(),w.events.enableBlur()}function $(e){var t=w.$el.find(".fr-selected-cell");if(0<t.length){var l,a=e.length,s=0,r=e[0].length,n=0;for(l=0;l<t.length;l++){var o=A(t[l],e),i=F(o.row,o.col,e);a=Math.min(o.row,a),s=Math.max(i.row,s),r=Math.min(o.col,r),n=Math.max(i.col,n)}return{min_i:a,max_i:s,min_j:r,max_j:n}}return null}function M(e){var t=$(e),l=Z(e[t.min_i][t.min_j]),a=Z(e[t.min_i][t.max_j]),s=Z(e[t.max_i][t.min_j]);return{left:l.offset().left,right:a.offset().left+a.outerWidth(),top:l.offset().top,bottom:s.offset().top+s.outerHeight()}}function _(t,l){if(Z(t).is(l))D(),Z(t).addClass("fr-selected-cell");else{y(),w.edit.off();var a=O(),s=A(t,a),r=A(l,a),n=function e(t,l,a,s,r){var n,o,i,f,c=t,d=l,p=a,h=s;for(n=c;n<=d;n++)(1<(parseInt(Z(r[n][p]).attr("rowspan"),10)||1)||1<(parseInt(Z(r[n][p]).attr("colspan"),10)||1))&&(f=F((i=A(r[n][p],r)).row,i.col,r),c=Math.min(i.row,c),d=Math.max(f.row,d),p=Math.min(i.col,p),h=Math.max(f.col,h)),(1<(parseInt(Z(r[n][h]).attr("rowspan"),10)||1)||1<(parseInt(Z(r[n][h]).attr("colspan"),10)||1))&&(f=F((i=A(r[n][h],r)).row,i.col,r),c=Math.min(i.row,c),d=Math.max(f.row,d),p=Math.min(i.col,p),h=Math.max(f.col,h));for(o=p;o<=h;o++)(1<(parseInt(Z(r[c][o]).attr("rowspan"),10)||1)||1<(parseInt(Z(r[c][o]).attr("colspan"),10)||1))&&(f=F((i=A(r[c][o],r)).row,i.col,r),c=Math.min(i.row,c),d=Math.max(f.row,d),p=Math.min(i.col,p),h=Math.max(f.col,h)),(1<(parseInt(Z(r[d][o]).attr("rowspan"),10)||1)||1<(parseInt(Z(r[d][o]).attr("colspan"),10)||1))&&(f=F((i=A(r[d][o],r)).row,i.col,r),c=Math.min(i.row,c),d=Math.max(f.row,d),p=Math.min(i.col,p),h=Math.max(f.col,h));return c==t&&d==l&&p==a&&h==s?{min_i:t,max_i:l,min_j:a,max_j:s}:e(c,d,p,h,r)}(Math.min(s.row,r.row),Math.max(s.row,r.row),Math.min(s.col,r.col),Math.max(s.col,r.col),a);D(),t.classList.add("fr-cell-fixed"),l.classList.add("fr-cell-handler");for(var o=n.min_i;o<=n.max_i;o++)for(var i=n.min_j;i<=n.max_j;i++)Z(a[o][i]).addClass("fr-selected-cell")}}function I(e){var t=null,l=Z(e.target);return"TD"==e.target.tagName||"TH"==e.target.tagName?t=e.target:0<l.closest("td").length?t=l.closest("td").get(0):0<l.closest("th").length&&(t=l.closest("th").get(0)),0===w.$el.find(t).length?null:t}function T(){D(),w.popups.hide("table.edit")}function e(e){var t=I(e);if("false"==Z(t).parents("[contenteditable]:not(.fr-element):not(.fr-img-caption):not(body):first").attr("contenteditable"))return!0;if(0<J().length&&!t&&T(),!w.edit.isDisabled()||w.popups.isVisible("table.edit"))if(1!=e.which||1==e.which&&w.helpers.isMac()&&e.ctrlKey)(3==e.which||1==e.which&&w.helpers.isMac()&&e.ctrlKey)&&t&&T();else if(r=!0,t){0<J().length&&!e.shiftKey&&T(),e.stopPropagation(),w.events.trigger("image.hideResizer"),w.events.trigger("video.hideResizer"),s=!0;var l=t.tagName.toLowerCase();e.shiftKey&&0<w.$el.find(l+".fr-selected-cell").length?Z(w.$el.find(l+".fr-selected-cell").closest("table")).is(Z(t).closest("table"))?_(a,t):y():((w.keys.ctrlKey(e)||e.shiftKey)&&(1<J().length||0===Z(t).find(w.selection.element()).length&&!Z(t).is(w.selection.element()))&&y(),a=t,0<w.opts.tableEditButtons.length&&_(a,a))}}function l(e){if(s||w.$tb.is(e.target)||w.$tb.is(Z(e.target).closest(w.$tb.get(0)))||(0<J().length&&w.toolbar.enable(),D()),!(1!=e.which||1==e.which&&w.helpers.isMac()&&e.ctrlKey)){if(r=!1,s)s=!1,I(e)||1!=J().length?0<J().length&&(w.selection.isCollapsed()?h():D()):D();if(E){E=!1,C.removeClass("fr-moving"),w.$el.removeClass("fr-no-selection"),w.edit.on();var t=parseFloat(C.css("left"))+w.opts.tableResizerOffset+w.$wp.offset().left;w.opts.iframe&&(t-=w.$iframe.offset().left),C.data("release-position",t),C.removeData("max-left"),C.removeData("max-right"),function(){var e=C.data("origin"),t=C.data("release-position");if(e!==t){var l=C.data("first"),a=C.data("second"),s=C.data("table"),r=s.outerWidth();if(w.undo.canDo()||w.undo.saveStep(),null!==l&&null!==a){var n,o,i,f=O(s),c=[],d=[],p=[],h=[];for(n=0;n<f.length;n++)o=Z(f[n][l]),i=Z(f[n][a]),c[n]=o.outerWidth(),p[n]=i.outerWidth(),d[n]=c[n]/r*100,h[n]=p[n]/r*100;for(n=0;n<f.length;n++)if(o=Z(f[n][l]),i=Z(f[n][a]),f[n][l]!=f[n][a]){var u=(d[n]*(c[n]+t-e)/c[n]).toFixed(4);o.css("width",u+"%"),i.css("width",(d[n]+h[n]-u).toFixed(4)+"%")}}else{var b,g=s.parent(),m=r/g.width()*100,v=(parseInt(s.css("margin-left"),10)||0)/g.width()*100,E=(parseInt(s.css("margin-right"),10)||0)/g.width()*100;"rtl"==w.opts.direction&&0===a||"rtl"!=w.opts.direction&&0!==a?(b=(r+t-e)/r*m,s.css("margin-right","calc(100% - "+Math.round(b).toFixed(4)+"% - "+Math.round(v).toFixed(4)+"%)")):("rtl"==w.opts.direction&&0!==a||"rtl"!=w.opts.direction&&0===a)&&(b=(r-t+e)/r*m,s.css("margin-left","calc(100% - "+Math.round(b).toFixed(4)+"% - "+Math.round(E).toFixed(4)+"%)")),s.css("width",Math.round(b).toFixed(4)+"%")}w.selection.restore(),w.undo.saveStep(),w.events.trigger("table.resized",[s.get(0)])}C.removeData("origin"),C.removeData("release-position"),C.removeData("first"),C.removeData("second"),C.removeData("table")}(),W()}}}function N(e){if(!0===s&&0<w.opts.tableEditButtons.length){if(Z(e.currentTarget).closest("table").is(Q())){if("TD"==e.currentTarget.tagName&&0===w.$el.find("th.fr-selected-cell").length)return void _(a,e.currentTarget);if("TH"==e.currentTarget.tagName&&0===w.$el.find("td.fr-selected-cell").length)return void _(a,e.currentTarget)}y()}}function S(e,t,l,a){for(var s,r=t;r!=w.el&&"TD"!=r.tagName&&"TH"!=r.tagName&&("up"==a?s=r.previousElementSibling:"down"==a&&(s=r.nextElementSibling),!s);)r=r.parentNode;"TD"==r.tagName||"TH"==r.tagName?function(e,t){for(var l=e;l&&"TABLE"!=l.tagName&&l.parentNode!=w.el;)l=l.parentNode;if(l&&"TABLE"==l.tagName){var a=O(Z(l));"up"==t?z(A(e,a),l,a):"down"==t&&B(A(e,a),l,a)}}(r,a):s&&("up"==a&&w.selection.setAtEnd(s),"down"==a&&w.selection.setAtStart(s))}function z(e,t,l){0<e.row?w.selection.setAtEnd(l[e.row-1][e.col]):S(0,t,0,"up")}function B(e,t,l){var a=parseInt(l[e.row][e.col].getAttribute("rowspan"),10)||1;e.row<l.length-a?w.selection.setAtStart(l[e.row+a][e.col]):S(0,t,0,"down")}function W(){C&&(C.find("div").css("opacity",0),C.css("top",0),C.css("left",0),C.css("height",0),C.find("div").css("height",0),C.hide())}function k(){o&&o.removeClass("fr-visible").css("left","-9999px")}function K(e,t){var l=Z(t),a=l.closest("table"),s=a.parent();if(t&&"TD"!=t.tagName&&"TH"!=t.tagName&&(0<l.closest("td").length?t=l.closest("td"):0<l.closest("th").length&&(t=l.closest("th"))),!t||"TD"!=t.tagName&&"TH"!=t.tagName)C&&l.get(0)!=C.get(0)&&l.parent().get(0)!=C.get(0)&&w.core.sameInstance(C)&&W();else{if(l=Z(t),0===w.$el.find(l).length)return!1;var r=l.offset().left-1,n=r+l.outerWidth();if(Math.abs(e.pageX-r)<=w.opts.tableResizerOffset||Math.abs(n-e.pageX)<=w.opts.tableResizerOffset){var o,i,f,c,d,p=O(a),h=A(t,p),u=F(h.row,h.col,p),b=a.offset().top,g=a.outerHeight()-1;"rtl"!=w.opts.direction?e.pageX-r<=w.opts.tableResizerOffset?(f=r,0<h.col?(c=r-j(h.col-1,p)+w.opts.tableResizingLimit,d=r+j(h.col,p)-w.opts.tableResizingLimit,o=h.col-1,i=h.col):(o=null,i=0,c=a.offset().left-1-parseInt(a.css("margin-left"),10),d=a.offset().left-1+a.width()-p[0].length*w.opts.tableResizingLimit)):n-e.pageX<=w.opts.tableResizerOffset&&(f=n,u.col<p[u.row].length&&p[u.row][u.col+1]?(c=n-j(u.col,p)+w.opts.tableResizingLimit,d=n+j(u.col+1,p)-w.opts.tableResizingLimit,o=u.col,i=u.col+1):(o=u.col,i=null,c=a.offset().left-1+p[0].length*w.opts.tableResizingLimit,d=s.offset().left-1+s.width()+parseFloat(s.css("padding-left")))):n-e.pageX<=w.opts.tableResizerOffset?(f=n,0<h.col?(c=n-j(h.col,p)+w.opts.tableResizingLimit,d=n+j(h.col-1,p)-w.opts.tableResizingLimit,o=h.col,i=h.col-1):(o=null,i=0,c=a.offset().left+p[0].length*w.opts.tableResizingLimit,d=s.offset().left-1+s.width()+parseFloat(s.css("padding-left")))):e.pageX-r<=w.opts.tableResizerOffset&&(f=r,u.col<p[u.row].length&&p[u.row][u.col+1]?(c=r-j(u.col+1,p)+w.opts.tableResizingLimit,d=r+j(u.col,p)-w.opts.tableResizingLimit,o=u.col+1,i=u.col):(o=u.col,i=null,c=s.offset().left+parseFloat(s.css("padding-left")),d=a.offset().left-1+a.width()-p[0].length*w.opts.tableResizingLimit)),C||(w.shared.$table_resizer||(w.shared.$table_resizer=Z('<div class="fr-table-resizer"><div></div></div>')),C=w.shared.$table_resizer,w.events.$on(C,"mousedown",function(e){return!w.core.sameInstance(C)||(0<J().length&&T(),1==e.which?(w.selection.save(),E=!0,C.addClass("fr-moving"),y(),w.edit.off(),C.find("div").css("opacity",1),!1):void 0)}),w.events.$on(C,"mousemove",function(e){if(!w.core.sameInstance(C))return!0;E&&(w.opts.iframe&&(e.pageX-=w.$iframe.offset().left),X(e))}),w.events.on("shared.destroy",function(){C.html("").removeData().remove(),C=null},!0),w.events.on("destroy",function(){w.$el.find(".fr-selected-cell").removeClass("fr-selected-cell"),C.hide().appendTo(Z("body:first"))},!0)),C.data("table",a),C.data("first",o),C.data("second",i),C.data("instance",w),w.$wp.append(C);var m=f-w.win.pageXOffset-w.opts.tableResizerOffset-w.$wp.offset().left,v=b-w.$wp.offset().top+w.$wp.scrollTop();w.opts.iframe&&(m+=w.$iframe.offset().left,v+=w.$iframe.offset().top,c+=w.$iframe.offset().left,d+=w.$iframe.offset().left),C.data("max-left",c),C.data("max-right",d),C.data("origin",f-w.win.pageXOffset),C.css("top",v),C.css("left",m),C.css("height",g),C.find("div").css("height",g),C.css("padding-left",w.opts.tableResizerOffset),C.css("padding-right",w.opts.tableResizerOffset),C.show()}else w.core.sameInstance(C)&&W()}}function L(e,t){if(w.$box.find(".fr-line-breaker").is(":visible"))return!1;o||q(),w.$box.append(o),o.data("instance",w);var l,a=Z(t).find("tr:first"),s=e.pageX,r=0,n=0;w.opts.iframe&&(r+=w.$iframe.offset().left-w.helpers.scrollLeft(),n+=w.$iframe.offset().top-w.helpers.scrollTop()),a.find("th, td").each(function(){var e=Z(this);return e.offset().left<=s&&s<e.offset().left+e.outerWidth()/2?(l=parseInt(o.find("a").css("width"),10),o.css("top",n+e.offset().top-w.$box.offset().top-l-5),o.css("left",r+e.offset().left-w.$box.offset().left-l/2),o.data("selected-cell",e),o.data("position","before"),o.addClass("fr-visible"),!1):e.offset().left+e.outerWidth()/2<=s&&s<e.offset().left+e.outerWidth()?(l=parseInt(o.find("a").css("width"),10),o.css("top",n+e.offset().top-w.$box.offset().top-l-5),o.css("left",r+e.offset().left-w.$box.offset().left+e.outerWidth()-l/2),o.data("selected-cell",e),o.data("position","after"),o.addClass("fr-visible"),!1):void 0})}function H(e,t){if(w.$box.find(".fr-line-breaker").is(":visible"))return!1;o||q(),w.$box.append(o),o.data("instance",w);var l,a=Z(t),s=e.pageY,r=0,n=0;w.opts.iframe&&(r+=w.$iframe.offset().left-w.helpers.scrollLeft(),n+=w.$iframe.offset().top-w.helpers.scrollTop()),a.find("tr").each(function(){var e=Z(this);return e.offset().top<=s&&s<e.offset().top+e.outerHeight()/2?(l=parseInt(o.find("a").css("width"),10),o.css("top",n+e.offset().top-w.$box.offset().top-l/2),o.css("left",r+e.offset().left-w.$box.offset().left-l-5),o.data("selected-cell",e.find("td:first")),o.data("position","above"),o.addClass("fr-visible"),!1):e.offset().top+e.outerHeight()/2<=s&&s<e.offset().top+e.outerHeight()?(l=parseInt(o.find("a").css("width"),10),o.css("top",n+e.offset().top-w.$box.offset().top+e.outerHeight()-l/2),o.css("left",r+e.offset().left-w.$box.offset().left-l-5),o.data("selected-cell",e.find("td:first")),o.data("position","below"),o.addClass("fr-visible"),!1):void 0})}function Y(e){n=null;var t=w.doc.elementFromPoint(e.pageX-w.win.pageXOffset,e.pageY-w.win.pageYOffset);w.opts.tableResizer&&(!w.popups.areVisible()||w.popups.areVisible()&&w.popups.isVisible("table.edit"))&&K(e,t),!w.opts.tableInsertHelper||w.popups.areVisible()||w.$tb.hasClass("fr-inline")&&w.$tb.is(":visible")||function(e,t){if(0===J().length){var l,a,s;if(t&&("HTML"==t.tagName||"BODY"==t.tagName||w.node.isElement(t)))for(l=1;l<=w.opts.tableInsertHelperOffset;l++){if(a=w.doc.elementFromPoint(e.pageX-w.win.pageXOffset,e.pageY-w.win.pageYOffset+l),Z(a).hasClass("fr-tooltip"))return;if(a&&("TH"==a.tagName||"TD"==a.tagName||"TABLE"==a.tagName)&&(Z(a).parents(".fr-wrapper").length||w.opts.iframe))return L(e,Z(a).closest("table"));if(s=w.doc.elementFromPoint(e.pageX-w.win.pageXOffset+l,e.pageY-w.win.pageYOffset),Z(s).hasClass("fr-tooltip"))return;if(s&&("TH"==s.tagName||"TD"==s.tagName||"TABLE"==s.tagName)&&(Z(s).parents(".fr-wrapper").length||w.opts.iframe))return H(e,Z(s).closest("table"))}w.core.sameInstance(o)&&k()}}(e,t)}function P(){if(E){var e=C.data("table").offset().top-w.win.pageYOffset;w.opts.iframe&&(e+=w.$iframe.offset().top-w.helpers.scrollTop()),C.css("top",e)}}function j(e,t){var l,a=Z(t[0][e]).outerWidth();for(l=1;l<t.length;l++)a=Math.min(a,Z(t[l][e]).outerWidth());return a}function V(e,t,l){var a,s=0;for(a=e;a<=t;a++)s+=j(a,l);return s}function X(e){if(1<J().length&&r&&y(),!1===r&&!1===s&&!1===E)n&&clearTimeout(n),w.edit.isDisabled()&&!w.popups.isVisible("table.edit")||(n=setTimeout(Y,30,e));else if(E){var t=e.pageX-w.win.pageXOffset;w.opts.iframe&&(t+=w.$iframe.offset().left);var l=C.data("max-left"),a=C.data("max-right");l<=t&&t<=a?C.css("left",t-w.opts.tableResizerOffset-w.$wp.offset().left):t<l&&parseFloat(C.css("left"),10)>l-w.opts.tableResizerOffset?C.css("left",l-w.opts.tableResizerOffset-w.$wp.offset().left):a<t&&parseFloat(C.css("left"),10)<a-w.opts.tableResizerOffset&&C.css("left",a-w.opts.tableResizerOffset-w.$wp.offset().left)}else r&&k()}function U(e){w.node.isEmpty(e.get(0))?e.prepend(Z.FE.MARKERS):e.prepend(Z.FE.START_MARKER).append(Z.FE.END_MARKER)}function q(){w.shared.$ti_helper||(w.shared.$ti_helper=Z('<div class="fr-insert-helper"><a class="fr-floating-btn" role="button" tabIndex="-1" title="'+w.language.translate("Insert")+'"><svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="M22,16.75 L16.75,16.75 L16.75,22 L15.25,22.000 L15.25,16.75 L10,16.75 L10,15.25 L15.25,15.25 L15.25,10 L16.75,10 L16.75,15.25 L22,15.25 L22,16.75 Z"/></svg></a></div>'),w.events.bindClick(w.shared.$ti_helper,"a",function(){var e=o.data("selected-cell"),t=o.data("position"),l=o.data("instance")||w;"before"==t?(w.undo.saveStep(),e.addClass("fr-selected-cell"),l.table.insertColumn(t),e.removeClass("fr-selected-cell"),w.undo.saveStep()):"after"==t?(w.undo.saveStep(),e.addClass("fr-selected-cell"),l.table.insertColumn(t),e.removeClass("fr-selected-cell"),w.undo.saveStep()):"above"==t?(w.undo.saveStep(),e.addClass("fr-selected-cell"),l.table.insertRow(t),e.removeClass("fr-selected-cell"),w.undo.saveStep()):"below"==t&&(w.undo.saveStep(),e.addClass("fr-selected-cell"),l.table.insertRow(t),e.removeClass("fr-selected-cell"),w.undo.saveStep()),k()}),w.events.on("shared.destroy",function(){w.shared.$ti_helper.html("").removeData().remove(),w.shared.$ti_helper=null},!0),w.events.$on(w.shared.$ti_helper,"mousemove",function(e){e.stopPropagation()},!0),w.events.$on(Z(w.o_win),"scroll",function(){k()},!0),w.events.$on(w.$wp,"scroll",function(){k()},!0)),o=w.shared.$ti_helper,w.events.on("destroy",function(){o=null}),w.tooltip.bind(w.$box,".fr-insert-helper > a.fr-floating-btn")}function G(){a=null,clearTimeout(n)}function J(){return w.el.querySelectorAll(".fr-selected-cell")}function Q(){var e=J();if(e.length){for(var t=e[0];t&&"TABLE"!=t.tagName&&t.parentNode!=w.el;)t=t.parentNode;return t&&"TABLE"==t.tagName?Z(t):Z([])}return Z([])}return{_init:function(){if(!w.$wp)return!1;if(!w.helpers.isMobile()){E=s=r=!1,w.events.$on(w.$el,"mousedown",e),w.popups.onShow("image.edit",function(){D(),s=r=!1}),w.popups.onShow("link.edit",function(){D(),s=r=!1}),w.events.on("commands.mousedown",function(e){0<e.parents(".fr-toolbar").length&&D()}),w.events.$on(w.$el,"mouseenter","th, td",N),w.events.$on(w.$win,"mouseup",l),w.opts.iframe&&w.events.$on(Z(w.o_win),"mouseup",l),w.events.$on(w.$win,"mousemove",X),w.events.$on(Z(w.o_win),"scroll",P),w.events.on("contentChanged",function(){0<J().length&&(h(),w.$el.find("img").on("load.selected-cells",function(){Z(this).off("load.selected-cells"),0<J().length&&h()}))}),w.events.$on(Z(w.o_win),"resize",function(){D()}),w.events.on("toolbar.esc",function(){if(0<J().length)return w.events.disableBlur(),w.events.focus(),!1},!0),w.events.$on(Z(w.o_win),"keydown",function(){r&&s&&(s=r=!1,w.$el.removeClass("fr-no-selection"),w.edit.on(),w.selection.setAtEnd(w.$el.find(".fr-selected-cell:last").get(0)),w.selection.restore(),D())}),w.events.$on(w.$el,"keydown",function(e){e.shiftKey?!1===function(e){var t=J();if(0<t.length){var l,a,s=O(),r=e.which;1==t.length?a=l=t[0]:(l=w.el.querySelector(".fr-cell-fixed"),a=w.el.querySelector(".fr-cell-handler"));var n=A(a,s);if(Z.FE.KEYCODE.ARROW_RIGHT==r){if(n.col<s[0].length-1)return _(l,s[n.row][n.col+1]),!1}else if(Z.FE.KEYCODE.ARROW_DOWN==r){if(n.row<s.length-1)return _(l,s[n.row+1][n.col]),!1}else if(Z.FE.KEYCODE.ARROW_LEFT==r){if(0<n.col)return _(l,s[n.row][n.col-1]),!1}else if(Z.FE.KEYCODE.ARROW_UP==r&&0<n.row)return _(l,s[n.row-1][n.col]),!1}}(e)&&setTimeout(function(){h()},0):function(e){var t=e.which,l=w.selection.blocks();if(l.length&&("TD"==(l=l[0]).tagName||"TH"==l.tagName)){for(var a=l;a&&"TABLE"!=a.tagName&&a.parentNode!=w.el;)a=a.parentNode;if(a&&"TABLE"==a.tagName&&(Z.FE.KEYCODE.ARROW_LEFT==t||Z.FE.KEYCODE.ARROW_UP==t||Z.FE.KEYCODE.ARROW_RIGHT==t||Z.FE.KEYCODE.ARROW_DOWN==t)&&(0<J().length&&T(),w.browser.webkit&&(Z.FE.KEYCODE.ARROW_UP==t||Z.FE.KEYCODE.ARROW_DOWN==t))){var s=w.selection.ranges(0).startContainer;if(s.nodeType==Node.TEXT_NODE&&(Z.FE.KEYCODE.ARROW_UP==t&&s.previousSibling||Z.FE.KEYCODE.ARROW_DOWN==t&&s.nextSibling))return;e.preventDefault(),e.stopPropagation();var r=O(Z(a)),n=A(l,r);Z.FE.KEYCODE.ARROW_UP==t?z(n,a,r):Z.FE.KEYCODE.ARROW_DOWN==t&&B(n,a,r),w.selection.restore()}}}(e)}),w.events.on("keydown",function(e){if(!1===function(e){if(e.which==Z.FE.KEYCODE.TAB){var t;if(0<J().length)t=w.$el.find(".fr-selected-cell:last");else{var l=w.selection.element();"TD"==l.tagName||"TH"==l.tagName?t=Z(l):l!=w.el&&(0<Z(l).parentsUntil(w.$el,"td").length?t=Z(l).parents("td:first"):0<Z(l).parentsUntil(w.$el,"th").length&&(t=Z(l).parents("th:first")))}if(t)return e.preventDefault(),!!(0<Z(w.selection.element()).parentsUntil(w.$el,"ol, ul").length&&(0<Z(w.selection.element()).parents("li").prev().length||Z(w.selection.element()).is("li")&&0<Z(w.selection.element()).prev().length))||(T(),e.shiftKey?0<t.prev().length?U(t.prev()):0<t.closest("tr").length&&0<t.closest("tr").prev().length?U(t.closest("tr").prev().find("td:last")):0<t.closest("tbody").length&&0<t.closest("table").find("thead tr").length&&U(t.closest("table").find("thead tr th:last")):0<t.next().length?U(t.next()):0<t.closest("tr").length&&0<t.closest("tr").next().length?U(t.closest("tr").next().find("td:first")):0<t.closest("thead").length&&0<t.closest("table").find("tbody tr").length?U(t.closest("table").find("tbody tr td:first")):(t.addClass("fr-selected-cell"),b("below"),D(),U(t.closest("tr").next().find("td:first"))),w.selection.restore(),!1)}}(e))return!1;var t=J();if(0<t.length){if(0<t.length&&w.keys.ctrlKey(e)&&e.which==Z.FE.KEYCODE.A)return D(),w.popups.isVisible("table.edit")&&w.popups.hide("table.edit"),t=[],!0;if(e.which==Z.FE.KEYCODE.ESC&&w.popups.isVisible("table.edit"))return D(),w.popups.hide("table.edit"),e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),!(t=[]);if(1<t.length&&(e.which==Z.FE.KEYCODE.BACKSPACE||e.which==Z.FE.KEYCODE.DELETE)){w.undo.saveStep();for(var l=0;l<t.length;l++)Z(t[l]).html("<br>"),l==t.length-1&&Z(t[l]).prepend(Z.FE.MARKERS);return w.selection.restore(),w.undo.saveStep(),!(t=[])}if(1<t.length&&e.which!=Z.FE.KEYCODE.F10&&!w.keys.isBrowserAction(e))return e.preventDefault(),!(t=[])}else if(!(t=[])===function(e){if(e.altKey&&e.which==Z.FE.KEYCODE.SPACE){var t,l=w.selection.element();if("TD"==l.tagName||"TH"==l.tagName?t=l:0<Z(l).closest("td").length?t=Z(l).closest("td").get(0):0<Z(l).closest("th").length&&(t=Z(l).closest("th").get(0)),t)return e.preventDefault(),_(t,t),h(),!1}}(e))return!1},!0);var t=[];w.events.on("html.beforeGet",function(){t=J();for(var e=0;e<t.length;e++)t[e].className=(t[e].className||"").replace(/fr-selected-cell/g,"")}),w.events.on("html.afterGet",function(){for(var e=0;e<t.length;e++)t[e].className=(t[e].className?t[e].className.trim()+" ":"")+"fr-selected-cell";t=[]}),c(!0),p(!0)}w.events.on("destroy",G)},insert:function(e,t){var l,a,s="<table "+(w.opts.tableDefaultWidth?'style="width: '+w.opts.tableDefaultWidth+';" ':"")+'class="fr-inserted-table"><tbody>',r=100/t;for(l=0;l<e;l++){for(s+="<tr>",a=0;a<t;a++)s+="<td"+(w.opts.tableDefaultWidth?' style="width: '+r.toFixed(4)+'%;"':"")+">",0===l&&0===a&&(s+=Z.FE.MARKERS),s+="<br></td>";s+="</tr>"}s+="</tbody></table>",w.html.insert(s),w.selection.restore();var n=w.$el.find(".fr-inserted-table");n.removeClass("fr-inserted-table"),w.events.trigger("table.inserted",[n.get(0)])},remove:u,insertRow:b,deleteRow:function(){var e=Q();if(0<e.length){var t,l,a,s=O(),r=$(s);if(0===r.min_i&&r.max_i==s.length-1)u();else{for(t=r.max_i;t>=r.min_i;t--){for(a=Z(e.find("tr").not(e.find("table tr")).get(t)),l=0;l<s[t].length;l++)if(0===l||s[t][l]!=s[t][l-1]){var n=Z(s[t][l]);if(1<parseInt(n.attr("rowspan"),10)){var o=parseInt(n.attr("rowspan"),10)-1;1==o?n.removeAttr("rowspan"):n.attr("rowspan",o)}if(t<s.length-1&&s[t][l]==s[t+1][l]&&(0===t||s[t][l]!=s[t-1][l])){for(var i=s[t][l],f=l;0<f&&s[t][f]==s[t][f-1];)f--;0===f?Z(e.find("tr").not(e.find("table tr")).get(t+1)).prepend(i):Z(s[t+1][f-1]).after(i)}}var c=a.parent();a.remove(),0===c.find("tr").length&&c.remove(),s=O(e)}R(0,s.length-1,0,s[0].length-1,e),0<r.min_i?w.selection.setAtEnd(s[r.min_i-1][0]):w.selection.setAtEnd(s[0][0]),w.selection.restore(),w.popups.hide("table.edit")}}},insertColumn:function(i){var e=Q();if(0<e.length){var f,c=O(),t=$(c);f="before"==i?t.min_j:t.max_j;var l,d=100/c[0].length,p=100/(c[0].length+1);e.find("th, td").each(function(){(l=Z(this)).data("old-width",l.outerWidth()/e.outerWidth()*100)}),e.find("tr").not(e.find("table tr")).each(function(e){for(var t,l=Z(this),a=0,s=0;a-1<f;){if(!(t=l.find("> th, > td").get(s))){t=null;break}t==c[e][a]?(a+=parseInt(Z(t).attr("colspan"),10)||1,s++):(a+=parseInt(Z(c[e][a]).attr("colspan"),10)||1,"after"==i&&(t=0===s?-1:l.find("> th, > td").get(s-1)))}var r,n=Z(t);if("after"==i&&f<a-1||"before"==i&&0<f&&c[e][f]==c[e][f-1]){if(0===e||0<e&&c[e][f]!=c[e-1][f]){var o=parseInt(n.attr("colspan"),10)+1;n.attr("colspan",o),n.css("width",(n.data("old-width")*p/d+p).toFixed(4)+"%"),n.removeData("old-width")}}else r=0<l.find("th").length?'<th style="width: '+p.toFixed(4)+'%;"><br></th>':'<td style="width: '+p.toFixed(4)+'%;"><br></td>',-1==t?l.prepend(r):null==t?l.append(r):"before"==i?n.before(r):"after"==i&&n.after(r)}),e.find("th, td").each(function(){(l=Z(this)).data("old-width")&&(l.css("width",(l.data("old-width")*p/d).toFixed(4)+"%"),l.removeData("old-width"))}),w.popups.isVisible("table.edit")&&h()}},deleteColumn:function(){var e=Q();if(0<e.length){var t,l,a,s=O(),r=$(s);if(0===r.min_j&&r.max_j==s[0].length-1)u();else{var n=0;for(t=0;t<s.length;t++)for(l=0;l<s[0].length;l++)(a=Z(s[t][l])).hasClass("fr-selected-cell")||(a.data("old-width",a.outerWidth()/e.outerWidth()*100),(l<r.min_j||l>r.max_j)&&(n+=a.outerWidth()/e.outerWidth()*100));for(n/=s.length,l=r.max_j;l>=r.min_j;l--)for(t=0;t<s.length;t++)if(0===t||s[t][l]!=s[t-1][l])if(a=Z(s[t][l]),1<(parseInt(a.attr("colspan"),10)||1)){var o=parseInt(a.attr("colspan"),10)-1;1==o?a.removeAttr("colspan"):a.attr("colspan",o),a.css("width",(100*(a.data("old-width")-j(l,s))/n).toFixed(4)+"%"),a.removeData("old-width")}else{var i=Z(a.parent().get(0));a.remove(),0===i.find("> th, > td").length&&(0===i.prev().length||0===i.next().length||i.prev().find("> th[rowspan], > td[rowspan]").length<i.prev().find("> th, > td").length)&&i.remove()}R(0,s.length-1,0,s[0].length-1,e),0<r.min_j?w.selection.setAtEnd(s[r.min_i][r.min_j-1]):w.selection.setAtEnd(s[r.min_i][0]),w.selection.restore(),w.popups.hide("table.edit"),e.find("th, td").each(function(){(a=Z(this)).data("old-width")&&(a.css("width",(100*a.data("old-width")/n).toFixed(4)+"%"),a.removeData("old-width"))})}}},mergeCells:function(){if(1<J().length&&(0===w.$el.find("th.fr-selected-cell").length||0===w.$el.find("td.fr-selected-cell").length)){x();var e,t,l=$(O()),a=w.$el.find(".fr-selected-cell"),s=Z(a[0]),r=s.parent().find(".fr-selected-cell"),n=s.closest("table"),o=s.html(),i=0;for(e=0;e<r.length;e++)i+=Z(r[e]).outerWidth();for(s.css("width",Math.min(100,i/n.outerWidth()*100).toFixed(4)+"%"),l.min_j<l.max_j&&s.attr("colspan",l.max_j-l.min_j+1),l.min_i<l.max_i&&s.attr("rowspan",l.max_i-l.min_i+1),e=1;e<a.length;e++)"<br>"!=(t=Z(a[e])).html()&&""!==t.html()&&(o+="<br>"+t.html()),t.remove();s.html(o),w.selection.setAtEnd(s.get(0)),w.selection.restore(),w.toolbar.enable(),m(l.min_i,l.max_i,n);var f=n.find("tr:empty");for(e=f.length-1;0<=e;e--)Z(f[e]).remove();g(l.min_j,l.max_j,n),h()}},splitCellVertically:function(){if(1==J().length){var e=w.$el.find(".fr-selected-cell"),t=parseInt(e.attr("colspan"),10)||1,l=e.parent().outerWidth(),a=e.outerWidth(),s=e.clone().html("<br>"),r=O(),n=A(e.get(0),r);if(1<t){var o=Math.ceil(t/2);a=V(n.col,n.col+o-1,r)/l*100;var i=V(n.col+o,n.col+t-1,r)/l*100;1<o?e.attr("colspan",o):e.removeAttr("colspan"),1<t-o?s.attr("colspan",t-o):s.removeAttr("colspan"),e.css("width",a.toFixed(4)+"%"),s.css("width",i.toFixed(4)+"%")}else{var f;for(f=0;f<r.length;f++)if(0===f||r[f][n.col]!=r[f-1][n.col]){var c=Z(r[f][n.col]);if(!c.is(e)){var d=(parseInt(c.attr("colspan"),10)||1)+1;c.attr("colspan",d)}}a=a/l*100/2,e.css("width",a.toFixed(4)+"%"),s.css("width",a.toFixed(4)+"%")}e.after(s),D(),w.popups.hide("table.edit")}},splitCellHorizontally:function(){if(1==J().length){var e=w.$el.find(".fr-selected-cell"),t=e.parent(),l=e.closest("table"),a=parseInt(e.attr("rowspan"),10),s=O(),r=A(e.get(0),s),n=e.clone().html("<br>");if(1<a){var o=Math.ceil(a/2);1<o?e.attr("rowspan",o):e.removeAttr("rowspan"),1<a-o?n.attr("rowspan",a-o):n.removeAttr("rowspan");for(var i=r.row+o,f=0===r.col?r.col:r.col-1;0<=f&&(s[i][f]==s[i][f-1]||0<i&&s[i][f]==s[i-1][f]);)f--;-1==f?Z(l.find("tr").not(l.find("table tr")).get(i)).prepend(n):Z(s[i][f]).after(n)}else{var c,d=Z("<tr>").append(n);for(c=0;c<s[0].length;c++)if(0===c||s[r.row][c]!=s[r.row][c-1]){var p=Z(s[r.row][c]);p.is(e)||p.attr("rowspan",(parseInt(p.attr("rowspan"),10)||1)+1)}t.after(d)}D(),w.popups.hide("table.edit")}},addHeader:function(){var e=Q();if(0<e.length&&0===e.find("th").length){var t,l="<thead><tr>",a=0;for(e.find("tr:first > td").each(function(){var e=Z(this);a+=parseInt(e.attr("colspan"),10)||1}),t=0;t<a;t++)l+="<th><br></th>";l+="</tr></thead>",e.prepend(l),h()}},removeHeader:function(){var e=Q(),t=e.find("thead");if(0<t.length)if(0===e.find("tbody tr").length)u();else if(t.remove(),0<J().length)h();else{w.popups.hide("table.edit");var l=e.find("tbody tr:first td:first").get(0);l&&(w.selection.setAtEnd(l),w.selection.restore())}},setBackground:t,showInsertPopup:function(){var e=w.$tb.find('.fr-command[data-cmd="insertTable"]'),t=w.popups.get("table.insert");if(t||(t=c()),!t.hasClass("fr-active")){w.popups.refresh("table.insert"),w.popups.setContainer("table.insert",w.$tb);var l=e.offset().left+e.outerWidth()/2,a=e.offset().top+(w.opts.toolbarBottom?10:e.outerHeight()-10);w.popups.show("table.insert",l,a,e.outerHeight())}},showEditPopup:h,showColorsPopup:f,back:function(){0<J().length?h():(w.popups.hide("table.insert"),w.toolbar.showInline())},verticalAlign:function(e){w.$el.find(".fr-selected-cell").css("vertical-align",e)},horizontalAlign:function(e){w.$el.find(".fr-selected-cell").css("text-align",e)},applyStyle:function(e,t,l,a){if(0<t.length){if(!l){var s=Object.keys(a);s.splice(s.indexOf(e),1),t.removeClass(s.join(" "))}t.toggleClass(e)}},selectedTable:Q,selectedCells:J,customColor:function(){var e=w.popups.get("table.colors").find(".fr-table-colors-hex-layer input");e.length&&t(e.val())},selectCells:_}},Z.FE.DefineIcon("insertTable",{NAME:"table"}),Z.FE.RegisterCommand("insertTable",{title:"Insert Table",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible("table.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("table.insert")):this.table.showInsertPopup()},plugin:"table"}),Z.FE.RegisterCommand("tableInsert",{callback:function(e,t,l){this.table.insert(t,l),this.popups.hide("table.insert")}}),Z.FE.DefineIcon("tableHeader",{NAME:"header",FA5NAME:"heading"}),Z.FE.RegisterCommand("tableHeader",{title:"Table Header",focus:!1,toggle:!0,callback:function(){this.popups.get("table.edit").find('.fr-command[data-cmd="tableHeader"]').hasClass("fr-active")?this.table.removeHeader():this.table.addHeader()},refresh:function(e){var t=this.table.selectedTable();0<t.length&&(0===t.find("th").length?e.removeClass("fr-active").attr("aria-pressed",!1):e.addClass("fr-active").attr("aria-pressed",!0))}}),Z.FE.DefineIcon("tableRows",{NAME:"bars"}),Z.FE.RegisterCommand("tableRows",{type:"dropdown",focus:!1,title:"Row",options:{above:"Insert row above",below:"Insert row below","delete":"Delete row"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=Z.FE.COMMANDS.tableRows.options;for(var l in t)t.hasOwnProperty(l)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableRows" data-param1="'+l+'" title="'+this.language.translate(t[l])+'">'+this.language.translate(t[l])+"</a></li>");return e+="</ul>"},callback:function(e,t){"above"==t||"below"==t?this.table.insertRow(t):this.table.deleteRow()}}),Z.FE.DefineIcon("tableColumns",{NAME:"bars fa-rotate-90"}),Z.FE.RegisterCommand("tableColumns",{type:"dropdown",focus:!1,title:"Column",options:{before:"Insert column before",after:"Insert column after","delete":"Delete column"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=Z.FE.COMMANDS.tableColumns.options;for(var l in t)t.hasOwnProperty(l)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableColumns" data-param1="'+l+'" title="'+this.language.translate(t[l])+'">'+this.language.translate(t[l])+"</a></li>");return e+="</ul>"},callback:function(e,t){"before"==t||"after"==t?this.table.insertColumn(t):this.table.deleteColumn()}}),Z.FE.DefineIcon("tableCells",{NAME:"square-o",FA5NAME:"square"}),Z.FE.RegisterCommand("tableCells",{type:"dropdown",focus:!1,title:"Cell",options:{merge:"Merge cells","vertical-split":"Vertical split","horizontal-split":"Horizontal split"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=Z.FE.COMMANDS.tableCells.options;for(var l in t)t.hasOwnProperty(l)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableCells" data-param1="'+l+'" title="'+this.language.translate(t[l])+'">'+this.language.translate(t[l])+"</a></li>");return e+="</ul>"},callback:function(e,t){"merge"==t?this.table.mergeCells():"vertical-split"==t?this.table.splitCellVertically():this.table.splitCellHorizontally()},refreshOnShow:function(e,t){1<this.$el.find(".fr-selected-cell").length?(t.find('a[data-param1="vertical-split"]').addClass("fr-disabled").attr("aria-disabled",!0),t.find('a[data-param1="horizontal-split"]').addClass("fr-disabled").attr("aria-disabled",!0),t.find('a[data-param1="merge"]').removeClass("fr-disabled").attr("aria-disabled",!1)):(t.find('a[data-param1="merge"]').addClass("fr-disabled").attr("aria-disabled",!0),t.find('a[data-param1="vertical-split"]').removeClass("fr-disabled").attr("aria-disabled",!1),t.find('a[data-param1="horizontal-split"]').removeClass("fr-disabled").attr("aria-disabled",!1))}}),Z.FE.DefineIcon("tableRemove",{NAME:"trash"}),Z.FE.RegisterCommand("tableRemove",{title:"Remove Table",focus:!1,callback:function(){this.table.remove()}}),Z.FE.DefineIcon("tableStyle",{NAME:"paint-brush"}),Z.FE.RegisterCommand("tableStyle",{title:"Table Style",type:"dropdown",focus:!1,html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.tableStyles;for(var l in t)t.hasOwnProperty(l)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableStyle" data-param1="'+l+'" title="'+this.language.translate(t[l])+'">'+this.language.translate(t[l])+"</a></li>");return e+="</ul>"},callback:function(e,t){this.table.applyStyle(t,this.$el.find(".fr-selected-cell").closest("table"),this.opts.tableMultipleStyles,this.opts.tableStyles)},refreshOnShow:function(e,t){var l=this.$el.find(".fr-selected-cell").closest("table");l&&t.find(".fr-command").each(function(){var e=Z(this).data("param1"),t=l.hasClass(e);Z(this).toggleClass("fr-active",t).attr("aria-selected",t)})}}),Z.FE.DefineIcon("tableCellBackground",{NAME:"tint"}),Z.FE.RegisterCommand("tableCellBackground",{title:"Cell Background",focus:!1,popup:!0,callback:function(){this.table.showColorsPopup()}}),Z.FE.RegisterCommand("tableCellBackgroundColor",{undo:!0,focus:!1,callback:function(e,t){this.table.setBackground(t)}}),Z.FE.DefineIcon("tableBack",{NAME:"arrow-left"}),Z.FE.RegisterCommand("tableBack",{title:"Back",undo:!1,focus:!1,back:!0,callback:function(){this.table.back()},refresh:function(e){0!==this.table.selectedCells().length||this.opts.toolbarInline?(e.removeClass("fr-hidden"),e.next(".fr-separator").removeClass("fr-hidden")):(e.addClass("fr-hidden"),e.next(".fr-separator").addClass("fr-hidden"))}}),Z.FE.DefineIcon("tableCellVerticalAlign",{NAME:"arrows-v",FA5NAME:"arrows-alt-v"}),Z.FE.RegisterCommand("tableCellVerticalAlign",{type:"dropdown",focus:!1,title:"Vertical Align",options:{Top:"Align Top",Middle:"Align Middle",Bottom:"Align Bottom"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=Z.FE.COMMANDS.tableCellVerticalAlign.options;for(var l in t)t.hasOwnProperty(l)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableCellVerticalAlign" data-param1="'+l.toLowerCase()+'" title="'+this.language.translate(t[l])+'">'+this.language.translate(l)+"</a></li>");return e+="</ul>"},callback:function(e,t){this.table.verticalAlign(t)},refreshOnShow:function(e,t){t.find('.fr-command[data-param1="'+this.$el.find(".fr-selected-cell").css("vertical-align")+'"]').addClass("fr-active").attr("aria-selected",!0)}}),Z.FE.DefineIcon("tableCellHorizontalAlign",{NAME:"align-left"}),Z.FE.DefineIcon("align-left",{NAME:"align-left"}),Z.FE.DefineIcon("align-right",{NAME:"align-right"}),Z.FE.DefineIcon("align-center",{NAME:"align-center"}),Z.FE.DefineIcon("align-justify",{NAME:"align-justify"}),Z.FE.RegisterCommand("tableCellHorizontalAlign",{type:"dropdown",focus:!1,title:"Horizontal Align",options:{left:"Align Left",center:"Align Center",right:"Align Right",justify:"Align Justify"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=Z.FE.COMMANDS.tableCellHorizontalAlign.options;for(var l in t)t.hasOwnProperty(l)&&(e+='<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="tableCellHorizontalAlign" data-param1="'+l+'" title="'+this.language.translate(t[l])+'">'+this.icon.create("align-"+l)+'<span class="fr-sr-only">'+this.language.translate(t[l])+"</span></a></li>");return e+="</ul>"},callback:function(e,t){this.table.horizontalAlign(t)},refresh:function(e){var t=this.table.selectedCells();t.length&&e.find("> *:first").replaceWith(this.icon.create("align-"+this.helpers.getAlignment(Z(t[0]))))},refreshOnShow:function(e,t){t.find('.fr-command[data-param1="'+this.helpers.getAlignment(this.$el.find(".fr-selected-cell:first"))+'"]').addClass("fr-active").attr("aria-selected",!0)}}),Z.FE.DefineIcon("tableCellStyle",{NAME:"magic"}),Z.FE.RegisterCommand("tableCellStyle",{title:"Cell Style",type:"dropdown",focus:!1,html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.tableCellStyles;for(var l in t)t.hasOwnProperty(l)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableCellStyle" data-param1="'+l+'" title="'+this.language.translate(t[l])+'">'+this.language.translate(t[l])+"</a></li>");return e+="</ul>"},callback:function(e,t){this.table.applyStyle(t,this.$el.find(".fr-selected-cell"),this.opts.tableCellMultipleStyles,this.opts.tableCellStyles)},refreshOnShow:function(e,t){var l=this.$el.find(".fr-selected-cell:first");l&&t.find(".fr-command").each(function(){var e=Z(this).data("param1"),t=l.hasClass(e);Z(this).toggleClass("fr-active",t).attr("aria-selected",t)})}}),Z.FE.RegisterCommand("tableCellBackgroundCustomColor",{title:"OK",undo:!0,callback:function(){this.table.customColor()}}),Z.FE.DefineIcon("tableColorRemove",{NAME:"eraser"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/table.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/file.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/file.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/file.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(i){"function"==typeof define&&define.amd?define(["jquery"],i):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),i(t)}:i(window.jQuery)}(function(E){E.extend(E.FE.POPUP_TEMPLATES,{"file.insert":"[_BUTTONS_][_UPLOAD_LAYER_][_PROGRESS_BAR_]"}),E.extend(E.FE.DEFAULTS,{fileUpload:!0,fileUploadURL:null,fileUploadParam:"file",fileUploadParams:{},fileUploadToS3:!1,fileUploadMethod:"POST",fileMaxSize:10485760,fileAllowedTypes:["*"],fileInsertButtons:["fileBack","|"],fileUseSelectedText:!1}),E.FE.PLUGINS.file=function(f){var r,p="https://i.froala.com/upload",l=2,d=3,u=4,c=5,v=6,i={};function g(){var e=f.popups.get("file.insert");e||(e=S()),e.find(".fr-layer.fr-active").removeClass("fr-active").addClass("fr-pactive"),e.find(".fr-file-progress-bar-layer").addClass("fr-active"),e.find(".fr-buttons").hide(),n(f.language.translate("Uploading"),0)}function o(e){var t=f.popups.get("file.insert");t&&(t.find(".fr-layer.fr-pactive").addClass("fr-active").removeClass("fr-pactive"),t.find(".fr-file-progress-bar-layer").removeClass("fr-active"),t.find(".fr-buttons").show(),e&&(f.events.focus(),f.popups.hide("file.insert")))}function n(e,t){var i=f.popups.get("file.insert");if(i){var r=i.find(".fr-file-progress-bar-layer");r.find("h3").text(e+(t?" "+t+"%":"")),r.removeClass("fr-error"),t?(r.find("div").removeClass("fr-indeterminate"),r.find("div > span").css("width",t+"%")):r.find("div").addClass("fr-indeterminate")}}function h(e,t,i){f.edit.on(),f.events.focus(!0),f.selection.restore(),f.opts.fileUseSelectedText&&f.selection.text().length&&(t=f.selection.text()),f.html.insert('<a href="'+e+'" target="_blank" id="fr-inserted-file" class="fr-file">'+t+"</a>");var r=f.$el.find("#fr-inserted-file");r.removeAttr("id"),f.popups.hide("file.insert"),f.undo.saveStep(),C(),f.events.trigger("file.inserted",[r,i])}function m(e){var t=this.status,i=this.response,r=this.responseXML,o=this.responseText;try{if(f.opts.fileUploadToS3)if(201==t){var n=function(e){try{var t=E(e).find("Location").text(),i=E(e).find("Key").text();return!1===f.events.trigger("file.uploadedToS3",[t,i,e],!0)?(f.edit.on(),!1):t}catch(r){return U(u,e),!1}}(r);n&&h(n,e,i||r)}else U(u,i||r);else if(200<=t&&t<300){var a=function(e){try{if(!1===f.events.trigger("file.uploaded",[e],!0))return f.edit.on(),!1;var t=JSON.parse(e);return t.link?t:(U(l,e),!1)}catch(i){return U(u,e),!1}}(o);a&&h(a.link,e,i||o)}else U(d,i||o)}catch(s){U(u,i||o)}}function b(){U(u,this.response||this.responseText||this.responseXML)}function y(e){if(e.lengthComputable){var t=e.loaded/e.total*100|0;n(f.language.translate("Uploading"),t)}}function U(e,t){f.edit.on(),function(e){g();var t=f.popups.get("file.insert").find(".fr-file-progress-bar-layer");t.addClass("fr-error");var i=t.find("h3");i.text(e),f.events.disableBlur(),i.focus()}(f.language.translate("Something went wrong. Please try again.")),f.events.trigger("file.error",[{code:e,message:i[e]},t])}function w(){f.edit.on(),o(!0)}function a(e){if(void 0!==e&&0<e.length){if(!1===f.events.trigger("file.beforeUpload",[e]))return!1;var t,i=e[0];if((null===f.opts.fileUploadURL||f.opts.fileUploadURL==p)&&!f.opts.fileUploadToS3)return s=i,(l=new FileReader).addEventListener("load",function(){for(var e=l.result,t=atob(l.result.split(",")[1]),i=[],r=0;r<t.length;r++)i.push(t.charCodeAt(r));e=window.URL.createObjectURL(new Blob([new Uint8Array(i)],{type:s.type})),f.file.insert(e,s.name,null)},!1),g(),l.readAsDataURL(s),!1;if(i.size>f.opts.fileMaxSize)return U(c),!1;if(f.opts.fileAllowedTypes.indexOf("*")<0&&f.opts.fileAllowedTypes.indexOf(i.type.replace(/file\//g,""))<0)return U(v),!1;if(f.drag_support.formdata&&(t=f.drag_support.formdata?new FormData:null),t){var r;if(!1!==f.opts.fileUploadToS3)for(r in t.append("key",f.opts.fileUploadToS3.keyStart+(new Date).getTime()+"-"+(i.name||"untitled")),t.append("success_action_status","201"),t.append("X-Requested-With","xhr"),t.append("Content-Type",i.type),f.opts.fileUploadToS3.params)f.opts.fileUploadToS3.params.hasOwnProperty(r)&&t.append(r,f.opts.fileUploadToS3.params[r]);for(r in f.opts.fileUploadParams)f.opts.fileUploadParams.hasOwnProperty(r)&&t.append(r,f.opts.fileUploadParams[r]);t.append(f.opts.fileUploadParam,i);var o=f.opts.fileUploadURL;f.opts.fileUploadToS3&&(o=f.opts.fileUploadToS3.uploadURL?f.opts.fileUploadToS3.uploadURL:"https://"+f.opts.fileUploadToS3.region+".amazonaws.com/"+f.opts.fileUploadToS3.bucket);var n=f.core.getXHR(o,f.opts.fileUploadMethod);n.onload=function(){m.call(n,i.name)},n.onerror=b,n.upload.onprogress=y,n.onabort=w,g();var a=f.popups.get("file.insert");a&&a.off("abortUpload").on("abortUpload",function(){4!=n.readyState&&n.abort()}),n.send(t)}}var s,l}function s(){o()}function S(e){if(e)return f.popups.onHide("file.insert",s),!0;var t;f.opts.fileUpload||f.opts.fileInsertButtons.splice(f.opts.fileInsertButtons.indexOf("fileUpload"),1),t='<div class="fr-buttons">'+f.button.buildList(f.opts.fileInsertButtons)+"</div>";var i="";f.opts.fileUpload&&(i='<div class="fr-file-upload-layer fr-layer fr-active" id="fr-file-upload-layer-'+f.id+'"><strong>'+f.language.translate("Drop file")+"</strong><br>("+f.language.translate("or click")+')<div class="fr-form"><input type="file" name="'+f.opts.fileUploadParam+'" accept="'+(0<=f.opts.fileAllowedTypes.indexOf("*")?"/":"")+f.opts.fileAllowedTypes.join(", ").toLowerCase()+'" tabIndex="-1" aria-labelledby="fr-file-upload-layer-'+f.id+'" role="button"></div></div>');var r,o={buttons:t,upload_layer:i,progress_bar:'<div class="fr-file-progress-bar-layer fr-layer"><h3 tabIndex="-1" class="fr-message">Uploading</h3><div class="fr-loader"><span class="fr-progress"></span></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-dismiss" data-cmd="fileDismissError" tabIndex="2" role="button">OK</button></div></div>'},n=f.popups.create("file.insert",o);return r=n,f.events.$on(r,"dragover dragenter",".fr-file-upload-layer",function(){return E(this).addClass("fr-drop"),!1},!0),f.events.$on(r,"dragleave dragend",".fr-file-upload-layer",function(){return E(this).removeClass("fr-drop"),!1},!0),f.events.$on(r,"drop",".fr-file-upload-layer",function(e){e.preventDefault(),e.stopPropagation(),E(this).removeClass("fr-drop");var t=e.originalEvent.dataTransfer;t&&t.files&&(r.data("instance")||f).file.upload(t.files)},!0),f.helpers.isIOS()&&f.events.$on(r,"touchstart",'.fr-file-upload-layer input[type="file"]',function(){E(this).trigger("click")}),f.events.$on(r,"change",'.fr-file-upload-layer input[type="file"]',function(){if(this.files){var e=r.data("instance")||f;e.events.disableBlur(),r.find("input:focus").blur(),e.events.enableBlur(),e.file.upload(this.files)}E(this).val("")},!0),n}function e(e){f.node.hasClass(e,"fr-file")}function t(e){var t=e.originalEvent.dataTransfer;if(t&&t.files&&t.files.length){var i=t.files[0];if(i&&"undefined"!=typeof i.type){if(i.type.indexOf("image")<0){if(!f.opts.fileUpload)return e.preventDefault(),e.stopPropagation(),!1;f.markers.remove(),f.markers.insertAtPoint(e.originalEvent),f.$el.find(".fr-marker").replaceWith(E.FE.MARKERS),f.popups.hideAll();var r=f.popups.get("file.insert");return r||(r=S()),f.popups.setContainer("file.insert",f.$sc),f.popups.show("file.insert",e.originalEvent.pageX,e.originalEvent.pageY),g(),a(t.files),e.preventDefault(),e.stopPropagation(),!1}}else i.type.indexOf("image")<0&&(e.preventDefault(),e.stopPropagation())}}function C(){var e,t=Array.prototype.slice.call(f.el.querySelectorAll("a.fr-file")),i=[];for(e=0;e<t.length;e++)i.push(t[e].getAttribute("href"));if(r)for(e=0;e<r.length;e++)i.indexOf(r[e].getAttribute("href"))<0&&f.events.trigger("file.unlink",[r[e]]);r=t}return i[1]="File cannot be loaded from the passed link.",i[l]="No link in upload response.",i[d]="Error during file upload.",i[u]="Parsing response failed.",i[c]="File is too large.",i[v]="File file type is invalid.",i[7]="Files can be uploaded only to same domain in IE 8 and IE 9.",{_init:function(){f.events.on("drop",t),f.events.$on(f.$win,"keydown",function(e){var t=e.which,i=f.popups.get("file.insert");i&&t==E.FE.KEYCODE.ESC&&i.trigger("abortUpload")}),f.events.on("destroy",function(){var e=f.popups.get("file.insert");e&&e.trigger("abortUpload")}),f.events.on("link.beforeRemove",e),f.$wp&&(C(),f.events.on("contentChanged",C)),S(!0)},showInsertPopup:function(){var e=f.$tb.find('.fr-command[data-cmd="insertFile"]'),t=f.popups.get("file.insert");if(t||(t=S()),o(),!t.hasClass("fr-active"))if(f.popups.refresh("file.insert"),f.popups.setContainer("file.insert",f.$tb),e.is(":visible")){var i=e.offset().left+e.outerWidth()/2,r=e.offset().top+(f.opts.toolbarBottom?10:e.outerHeight()-10);f.popups.show("file.insert",i,r,e.outerHeight())}else f.position.forSelection(t),f.popups.show("file.insert")},upload:a,insert:h,back:function(){f.events.disableBlur(),f.selection.restore(),f.events.enableBlur(),f.popups.hide("file.insert"),f.toolbar.showInline()},hideProgressBar:o}},E.FE.DefineIcon("insertFile",{NAME:"file-o",FA5NAME:"file"}),E.FE.RegisterCommand("insertFile",{title:"Upload File",undo:!1,focus:!0,refreshAfterCallback:!1,popup:!0,callback:function(){this.popups.isVisible("file.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("file.insert")):this.file.showInsertPopup()},plugin:"file"}),E.FE.DefineIcon("fileBack",{NAME:"arrow-left"}),E.FE.RegisterCommand("fileBack",{title:"Back",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.file.back()},refresh:function(e){this.opts.toolbarInline?(e.removeClass("fr-hidden"),e.next(".fr-separator").removeClass("fr-hidden")):(e.addClass("fr-hidden"),e.next(".fr-separator").addClass("fr-hidden"))}}),E.FE.RegisterCommand("fileDismissError",{title:"OK",callback:function(){this.file.hideProgressBar(!0)}})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/file.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/quote.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/quote.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/quote.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(i){i.FE.PLUGINS.quote=function(r){function o(e){for(;e.parentNode&&e.parentNode!=r.el;)e=e.parentNode;return e}return{apply:function(e){r.selection.save(),r.html.wrap(!0,!0,!0,!0),r.selection.restore(),"increase"==e?function(){var e,t=r.selection.blocks();for(e=0;e<t.length;e++)t[e]=o(t[e]);r.selection.save();var n=i("<blockquote>");for(n.insertBefore(t[0]),e=0;e<t.length;e++)n.append(t[e]);r.html.unwrap(),r.selection.restore()}():"decrease"==e&&function(){var e,t=r.selection.blocks();for(e=0;e<t.length;e++)"BLOCKQUOTE"!=t[e].tagName&&(t[e]=i(t[e]).parentsUntil(r.$el,"BLOCKQUOTE").get(0));for(r.selection.save(),e=0;e<t.length;e++)t[e]&&i(t[e]).replaceWith(t[e].innerHTML);r.html.unwrap(),r.selection.restore()}()}}},i.FE.RegisterShortcut(i.FE.KEYCODE.SINGLE_QUOTE,"quote","increase","'"),i.FE.RegisterShortcut(i.FE.KEYCODE.SINGLE_QUOTE,"quote","decrease","'",!0),i.FE.RegisterCommand("quote",{title:"Quote",type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t={increase:"Increase",decrease:"Decrease"};for(var n in t)if(t.hasOwnProperty(n)){var r=this.shortcuts.get("quote."+n);e+='<li role="presentation"><a class="fr-command fr-title fr-active '+n+'" tabIndex="-1" role="option" data-cmd="quote" data-param1="'+n+'" title="'+t[n]+" ("+r+')">'+this.language.translate(t[n])+"</a></li>"}return e+="</ul>"},callback:function(e,t){this.quote.apply(t)},plugin:"quote"}),i.FE.DefineIcon("quote",{NAME:"quote-left"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/quote.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/colors.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/colors.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/colors.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(r){"function"==typeof define&&define.amd?define(["jquery"],r):"object"==typeof module&&module.exports?module.exports=function(o,e){return e===undefined&&(e="undefined"!=typeof window?require("jquery"):require("jquery")(o)),r(e)}:r(window.jQuery)}(function(C){C.extend(C.FE.POPUP_TEMPLATES,{"colors.picker":"[_BUTTONS_][_TEXT_COLORS_][_BACKGROUND_COLORS_][_CUSTOM_COLOR_]"}),C.extend(C.FE.DEFAULTS,{colorsText:["#61BD6D","#1ABC9C","#54ACD2","#2C82C9","#9365B8","#475577","#CCCCCC","#41A85F","#00A885","#3D8EB9","#2969B0","#553982","#28324E","#000000","#F7DA64","#FBA026","#EB6B56","#E25041","#A38F84","#EFEFEF","#FFFFFF","#FAC51C","#F37934","#D14841","#B8312F","#7C706B","#D1D5D8","REMOVE"],colorsBackground:["#61BD6D","#1ABC9C","#54ACD2","#2C82C9","#9365B8","#475577","#CCCCCC","#41A85F","#00A885","#3D8EB9","#2969B0","#553982","#28324E","#000000","#F7DA64","#FBA026","#EB6B56","#E25041","#A38F84","#EFEFEF","#FFFFFF","#FAC51C","#F37934","#D14841","#B8312F","#7C706B","#D1D5D8","REMOVE"],colorsStep:7,colorsHEXInput:!0,colorsDefaultTab:"text",colorsButtons:["colorsBack","|","-"]}),C.FE.PLUGINS.colors=function(E){function e(){E.popups.hide("colors.picker")}function s(o){for(var e="text"==o?E.opts.colorsText:E.opts.colorsBackground,r='<div class="fr-color-set fr-'+o+"-color"+(E.opts.colorsDefaultTab==o||"text"!=E.opts.colorsDefaultTab&&"background"!=E.opts.colorsDefaultTab&&"text"==o?" fr-selected-set":"")+'">',t=0;t<e.length;t++)0!==t&&t%E.opts.colorsStep==0&&(r+="<br>"),"REMOVE"!=e[t]?r+='<span class="fr-command fr-select-color" style="background: '+e[t]+';" tabIndex="-1" aria-selected="false" role="button" data-cmd="'+o+'Color" data-param1="'+e[t]+'"><span class="fr-sr-only">'+E.language.translate("Color")+" "+e[t]+"&nbsp;&nbsp;&nbsp;</span></span>":r+='<span class="fr-command fr-select-color" data-cmd="'+o+'Color" tabIndex="-1" role="button" data-param1="REMOVE" title="'+E.language.translate("Clear Formatting")+'">'+E.icon.create("remove")+'<span class="fr-sr-only">'+E.language.translate("Clear Formatting")+"</span></span>";return r+"</div>"}function a(o){var e,r=E.popups.get("colors.picker"),t=C(E.selection.element());e="background"==o?"background-color":"color";var a=r.find(".fr-"+o+"-color .fr-select-color");for(a.find(".fr-selected-color").remove(),a.removeClass("fr-active-item"),a.not('[data-param1="REMOVE"]').attr("aria-selected",!1);t.get(0)!=E.el;){if("transparent"!=t.css(e)&&"rgba(0, 0, 0, 0)"!=t.css(e)){var s=r.find(".fr-"+o+'-color .fr-select-color[data-param1="'+E.helpers.RGBToHex(t.css(e))+'"]');s.append('<span class="fr-selected-color" aria-hidden="true">\uf00c</span>'),s.addClass("fr-active-item").attr("aria-selected",!0);break}t=t.parent()}var l=r.find(".fr-color-hex-layer input");l.length&&l.val(E.helpers.RGBToHex(t.css(e))).trigger("change")}function t(o){"REMOVE"!=o?E.format.applyStyle("background-color",E.helpers.HEXtoRGB(o)):E.format.removeStyle("background-color"),e()}function l(o){"REMOVE"!=o?E.format.applyStyle("color",E.helpers.HEXtoRGB(o)):E.format.removeStyle("color"),e()}return{showColorsPopup:function(){var o=E.$tb.find('.fr-command[data-cmd="color"]'),e=E.popups.get("colors.picker");if(e||(e=function(){var o,e='<div class="fr-buttons fr-colors-buttons">';E.opts.toolbarInline&&0<E.opts.colorsButtons.length&&(e+=E.button.buildList(E.opts.colorsButtons)),e+=(o='<div class="fr-colors-tabs fr-group">',o+='<span class="fr-colors-tab '+("background"==E.opts.colorsDefaultTab?"":"fr-selected-tab ")+'fr-command" tabIndex="-1" role="button" aria-pressed="'+("background"!=E.opts.colorsDefaultTab)+'" data-param1="text" data-cmd="colorChangeSet" title="'+E.language.translate("Text")+'">'+E.language.translate("Text")+"</span>",(o+='<span class="fr-colors-tab '+("background"==E.opts.colorsDefaultTab?"fr-selected-tab ":"")+'fr-command" tabIndex="-1" role="button" aria-pressed="'+("background"==E.opts.colorsDefaultTab)+'" data-param1="background" data-cmd="colorChangeSet" title="'+E.language.translate("Background")+'">'+E.language.translate("Background")+"</span>")+"</div></div>");var r="";E.opts.colorsHEXInput&&(r='<div class="fr-color-hex-layer fr-active fr-layer" id="fr-color-hex-layer-'+E.id+'"><div class="fr-input-line"><input maxlength="7" id="fr-color-hex-layer-text-'+E.id+'" type="text" placeholder="'+E.language.translate("HEX Color")+'" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="customColor" tabIndex="2" role="button">'+E.language.translate("OK")+"</button></div></div>");var b,t={buttons:e,text_colors:s("text"),background_colors:s("background"),custom_color:r},a=E.popups.create("colors.picker",t);return b=a,E.events.on("popup.tab",function(o){var e=C(o.currentTarget);if(!E.popups.isVisible("colors.picker")||!e.is("span"))return!0;var r=o.which,t=!0;if(C.FE.KEYCODE.TAB==r){var a=b.find(".fr-buttons");t=!E.accessibility.focusToolbar(a,!!o.shiftKey)}else if(C.FE.KEYCODE.ARROW_UP==r||C.FE.KEYCODE.ARROW_DOWN==r||C.FE.KEYCODE.ARROW_LEFT==r||C.FE.KEYCODE.ARROW_RIGHT==r){if(e.is("span.fr-select-color")){var s=e.parent().find("span.fr-select-color"),l=s.index(e),c=E.opts.colorsStep,n=Math.floor(s.length/c),i=l%c,p=Math.floor(l/c),u=p*c+i,d=n*c;C.FE.KEYCODE.ARROW_UP==r?u=((u-c)%d+d)%d:C.FE.KEYCODE.ARROW_DOWN==r?u=(u+c)%d:C.FE.KEYCODE.ARROW_LEFT==r?u=((u-1)%d+d)%d:C.FE.KEYCODE.ARROW_RIGHT==r&&(u=(u+1)%d);var f=C(s.get(u));E.events.disableBlur(),f.focus(),t=!1}}else C.FE.KEYCODE.ENTER==r&&(E.button.exec(e),t=!1);return!1===t&&(o.preventDefault(),o.stopPropagation()),t},!0),a}()),!e.hasClass("fr-active"))if(E.popups.setContainer("colors.picker",E.$tb),a(e.find(".fr-selected-tab").attr("data-param1")),o.is(":visible")){var r=o.offset().left+o.outerWidth()/2,t=o.offset().top+(E.opts.toolbarBottom?10:o.outerHeight()-10);E.popups.show("colors.picker",r,t,o.outerHeight())}else E.position.forSelection(e),E.popups.show("colors.picker")},hideColorsPopup:e,changeSet:function(o,e){o.hasClass("fr-selected-tab")||(o.siblings().removeClass("fr-selected-tab").attr("aria-pressed",!1),o.addClass("fr-selected-tab").attr("aria-pressed",!0),o.parents(".fr-popup").find(".fr-color-set").removeClass("fr-selected-set"),o.parents(".fr-popup").find(".fr-color-set.fr-"+e+"-color").addClass("fr-selected-set"),a(e)),E.accessibility.focusPopup(o.parents(".fr-popup"))},background:t,customColor:function(){var o=E.popups.get("colors.picker"),e=o.find(".fr-color-hex-layer input");if(e.length){var r=e.val();"background"==o.find(".fr-selected-tab").attr("data-param1")?t(r):l(r)}},text:l,back:function(){E.popups.hide("colors.picker"),E.toolbar.showInline()}}},C.FE.DefineIcon("colors",{NAME:"tint"}),C.FE.RegisterCommand("color",{title:"Colors",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible("colors.picker")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("colors.picker")):this.colors.showColorsPopup()},plugin:"colors"}),C.FE.RegisterCommand("textColor",{undo:!0,callback:function(o,e){this.colors.text(e)}}),C.FE.RegisterCommand("backgroundColor",{undo:!0,callback:function(o,e){this.colors.background(e)}}),C.FE.RegisterCommand("colorChangeSet",{undo:!1,focus:!1,callback:function(o,e){var r=this.popups.get("colors.picker").find('.fr-command[data-cmd="'+o+'"][data-param1="'+e+'"]');this.colors.changeSet(r,e)}}),C.FE.DefineIcon("colorsBack",{NAME:"arrow-left"}),C.FE.RegisterCommand("colorsBack",{title:"Back",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.colors.back()}}),C.FE.RegisterCommand("customColor",{title:"OK",undo:!0,callback:function(){this.colors.customColor()}}),C.FE.DefineIcon("remove",{NAME:"eraser"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/colors.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/code_beautifier.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/code_beautifier.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/code_beautifier.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(e){e.FE.PLUGINS.codeBeautifier=function(){var e,t,n,i,X={};function k(i,e){var t={"@page":!0,"@font-face":!0,"@keyframes":!0,"@media":!0,"@supports":!0,"@document":!0},n={"@media":!0,"@supports":!0,"@document":!0};e=e||{},i=(i=i||"").replace(/\r\n|[\r\u2028\u2029]/g,"\n");var r=e.indent_size||4,s=e.indent_char||" ",_=e.selector_separator_newline===undefined||e.selector_separator_newline,a=e.end_with_newline!==undefined&&e.end_with_newline,o=e.newline_between_rules===undefined||e.newline_between_rules,l=e.eol?e.eol:"\n";"string"==typeof r&&(r=parseInt(r,10)),e.indent_with_tabs&&(s="\t",r=1),l=l.replace(/\\r/,"\r").replace(/\\n/,"\n");var h,c=/^\s+$/,u=-1,p=0;function d(){return(h=i.charAt(++u))||""}function f(e){var t,n=u;return e&&E(),t=i.charAt(u+1)||"",u=n-1,d(),t}function T(e){for(var t=u;d();)if("\\"===h)d();else{if(-1!==e.indexOf(h))break;if("\n"===h)break}return i.substring(t,u+1)}function E(){for(var e="";c.test(f());)d(),e+=h;return e}function g(){var e="";for(h&&c.test(h)&&(e=h);c.test(d());)e+=h;return e}function x(e){var t=u;for(e="/"===f(),d();d();){if(!e&&"*"===h&&"/"===f()){d();break}if(e&&"\n"===h)return i.substring(t,u)}return i.substring(t,u)+h}function w(e){return i.substring(u-e.length,u).toLowerCase()===e}function K(){for(var e=0,t=u+1;t<i.length;t++){var n=i.charAt(t);if("{"===n)return!0;if("("===n)e+=1;else if(")"===n){if(0==e)return!1;e-=1}else if(";"===n||"}"===n)return!1}return!1}var m=i.match(/^[\t ]*/)[0],R=new Array(r+1).join(s),b=0,v=0;for(var S,A,k={"{":function(e){k.singleSpace(),y.push(e),k.newLine()},"}":function(e){k.newLine(),y.push(e),k.newLine()},_lastCharWhitespace:function(){return c.test(y[y.length-1])},newLine:function(e){y.length&&(e||"\n"===y[y.length-1]||k.trim(),y.push("\n"),m&&y.push(m))},singleSpace:function(){y.length&&!k._lastCharWhitespace()&&y.push(" ")},preserveSingleSpace:function(){V&&k.singleSpace()},trim:function(){for(;k._lastCharWhitespace();)y.pop()}},y=[],O=!1,N=!1,D=!1,C="",L="";;){var I=g(),V=""!==I,P=-1!==I.indexOf("\n");if(L=C,!(C=h))break;if("/"===h&&"*"===f()){var j=0===b;(P||j)&&k.newLine(),y.push(x()),k.newLine(),j&&k.newLine(!0)}else if("/"===h&&"/"===f())P||"{"===L||k.trim(),k.singleSpace(),y.push(x()),k.newLine();else if("@"===h){k.preserveSingleSpace(),y.push(h);var B=(void 0,S=u,A=T(": ,;{}()[]/='\""),u=S-1,d(),A);B.match(/[ :]$/)&&(d(),B=T(": ").replace(/\s$/,""),y.push(B),k.singleSpace()),(B=B.replace(/\s$/,""))in t&&(v+=1,B in n&&(D=!0))}else"#"===h&&"{"===f()?(k.preserveSingleSpace(),y.push(T("}"))):"{"===h?"}"===f(!0)?(E(),d(),k.singleSpace(),y.push("{}"),k.newLine(),o&&0===b&&k.newLine(!0)):(b++,m+=R,k["{"](h),D?(D=!1,O=v<b):O=v<=b):"}"===h?(b--,m=m.slice(0,-r),k["}"](h),N=O=!1,v&&v--,o&&0===b&&k.newLine(!0)):":"===h?(E(),!O&&!D||w("&")||K()?":"===f()?(d(),y.push("::")):y.push(":"):(N=!0,y.push(":"),k.singleSpace())):'"'===h||"'"===h?(k.preserveSingleSpace(),y.push(T(h))):";"===h?(N=!1,y.push(h),k.newLine()):"("===h?w("url")?(y.push(h),E(),d()&&(")"!==h&&'"'!==h&&"'"!==h?y.push(T(")")):u--)):(p++,k.preserveSingleSpace(),y.push(h),E()):")"===h?(y.push(h),p--):","===h?(y.push(h),E(),_&&!N&&p<1?k.newLine():k.singleSpace()):("]"===h||("["===h?k.preserveSingleSpace():"="===h?(E(),h="="):k.preserveSingleSpace()),y.push(h))}var M="";return m&&(M+=m),M+=y.join("").replace(/[\r\n\t ]+$/,""),a&&(M+="\n"),"\n"!=l&&(M=M.replace(/[\n]/g,l)),M}function F(e,t){for(var n=0;n<t.length;n+=1)if(t[n]===e)return!0;return!1}function $(e){return e.replace(/^\s+|\s+$/g,"")}function y(e,t){return new function(i,e){var _,r,s,a,o,l,h,c,u,t,n,p,d,f=[],T="";function E(e,t){var n=0;e&&(n=e.indentation_level,!_.just_added_newline()&&e.line_indent_level>n&&(n=e.line_indent_level));var i={mode:t,parent:e,last_text:e?e.last_text:"",last_word:e?e.last_word:"",declaration_statement:!1,declaration_assignment:!1,multiline_frame:!1,if_block:!1,else_block:!1,do_block:!1,do_while:!1,in_case_statement:!1,in_case:!1,case_body:!1,indentation_level:n,line_indent_level:e?e.line_indent_level:n,start_line_index:_.get_line_number(),ternary_depth:0};return i}p={TK_START_EXPR:function(){O();var e=L.Expression;if("["===a.text){if("TK_WORD"===o||")"===c.last_text)return"TK_RESERVED"===o&&F(c.last_text,s.line_starters)&&(_.space_before_token=!0),v(e),R(),b(),void(d.space_in_paren&&(_.space_before_token=!0));e=L.ArrayLiteral,S(c.mode)&&("["!==c.last_text&&(","!==c.last_text||"]"!==l&&"}"!==l)||d.keep_array_indentation||K())}else"TK_RESERVED"===o&&"for"===c.last_text?e=L.ForInitializer:"TK_RESERVED"===o&&F(c.last_text,["if","while"])&&(e=L.Conditional);";"===c.last_text||"TK_START_BLOCK"===o?K():"TK_END_EXPR"===o||"TK_START_EXPR"===o||"TK_END_BLOCK"===o||"."===c.last_text?w(a.wanted_newline):"TK_RESERVED"===o&&"("===a.text||"TK_WORD"===o||"TK_OPERATOR"===o?"TK_RESERVED"===o&&("function"===c.last_word||"typeof"===c.last_word)||"*"===c.last_text&&"function"===l?d.space_after_anon_function&&(_.space_before_token=!0):"TK_RESERVED"!==o||!F(c.last_text,s.line_starters)&&"catch"!==c.last_text||d.space_before_conditional&&(_.space_before_token=!0):_.space_before_token=!0,"("===a.text&&"TK_RESERVED"===o&&"await"===c.last_word&&(_.space_before_token=!0),"("===a.text&&("TK_EQUALS"!==o&&"TK_OPERATOR"!==o||y()||w()),v(e),R(),d.space_in_paren&&(_.space_before_token=!0),b()},TK_END_EXPR:function(){for(;c.mode===L.Statement;)k();c.multiline_frame&&w("]"===a.text&&S(c.mode)&&!d.keep_array_indentation),d.space_in_paren&&("TK_START_EXPR"!==o||d.space_in_empty_paren?_.space_before_token=!0:(_.trim(),_.space_before_token=!1)),"]"===a.text&&d.keep_array_indentation?(R(),k()):(k(),R()),_.remove_redundant_indentation(u),c.do_while&&u.mode===L.Conditional&&(u.mode=L.Expression,c.do_block=!1,c.do_while=!1)},TK_START_BLOCK:function(){var e=D(1),t=D(2);t&&(":"===t.text&&F(e.type,["TK_STRING","TK_WORD","TK_RESERVED"])||F(e.text,["get","set"])&&F(t.type,["TK_WORD","TK_RESERVED"]))?F(l,["class","interface"])?v(L.BlockStatement):v(L.ObjectLiteral):v(L.BlockStatement);var n=!e.comments_before.length&&"}"===e.text&&"function"===c.last_word&&"TK_END_EXPR"===o;"expand"===d.brace_style||"none"===d.brace_style&&a.wanted_newline?"TK_OPERATOR"!==o&&(n||"TK_EQUALS"===o||"TK_RESERVED"===o&&N(c.last_text)&&"else"!==c.last_text)?_.space_before_token=!0:K(!1,!0):"TK_OPERATOR"!==o&&"TK_START_EXPR"!==o?"TK_START_BLOCK"===o?K():_.space_before_token=!0:S(u.mode)&&","===c.last_text&&("}"===l?_.space_before_token=!0:K()),R(),b()},TK_END_BLOCK:function(){for(;c.mode===L.Statement;)k();var e="TK_START_BLOCK"===o;"expand"===d.brace_style?e||K():e||(S(c.mode)&&d.keep_array_indentation?(d.keep_array_indentation=!1,K(),d.keep_array_indentation=!0):K()),k(),R()},TK_WORD:C,TK_RESERVED:C,TK_SEMICOLON:function(){for(O()&&(_.space_before_token=!1);c.mode===L.Statement&&!c.if_block&&!c.do_block;)k();R()},TK_STRING:function(){O()?_.space_before_token=!0:"TK_RESERVED"===o||"TK_WORD"===o?_.space_before_token=!0:"TK_COMMA"===o||"TK_START_EXPR"===o||"TK_EQUALS"===o||"TK_OPERATOR"===o?y()||w():K(),R()},TK_EQUALS:function(){O(),c.declaration_statement&&(c.declaration_assignment=!0),_.space_before_token=!0,R(),_.space_before_token=!0},TK_OPERATOR:function(){if(O(),"TK_RESERVED"===o&&N(c.last_text))return _.space_before_token=!0,void R();if("*"!==a.text||"TK_DOT"!==o){if(":"===a.text&&c.in_case)return c.case_body=!0,b(),R(),K(),void(c.in_case=!1);if("::"!==a.text){"TK_OPERATOR"===o&&w();var e=!0,t=!0;F(a.text,["--","++","!","~"])||F(a.text,["-","+"])&&(F(o,["TK_START_BLOCK","TK_START_EXPR","TK_EQUALS","TK_OPERATOR"])||F(c.last_text,s.line_starters)||","===c.last_text)?(t=e=!1,!a.wanted_newline||"--"!==a.text&&"++"!==a.text||K(!1,!0),";"===c.last_text&&A(c.mode)&&(e=!0),"TK_RESERVED"===o?e=!0:"TK_END_EXPR"===o?e=!("]"===c.last_text&&("--"===a.text||"++"===a.text)):"TK_OPERATOR"===o&&(e=F(a.text,["--","-","++","+"])&&F(c.last_text,["--","-","++","+"]),F(a.text,["+","-"])&&F(c.last_text,["--","++"])&&(t=!0)),c.mode!==L.BlockStatement&&c.mode!==L.Statement||"{"!==c.last_text&&";"!==c.last_text||K()):":"===a.text?0===c.ternary_depth?e=!1:c.ternary_depth-=1:"?"===a.text?c.ternary_depth+=1:"*"===a.text&&"TK_RESERVED"===o&&"function"===c.last_text&&(t=e=!1),_.space_before_token=_.space_before_token||e,R(),_.space_before_token=t}else R()}else R()},TK_COMMA:function(){if(c.declaration_statement)return A(c.parent.mode)&&(c.declaration_assignment=!1),R(),void(c.declaration_assignment?K(c.declaration_assignment=!1,!0):(_.space_before_token=!0,d.comma_first&&w()));R(),c.mode===L.ObjectLiteral||c.mode===L.Statement&&c.parent.mode===L.ObjectLiteral?(c.mode===L.Statement&&k(),K()):(_.space_before_token=!0,d.comma_first&&w())},TK_BLOCK_COMMENT:function(){if(_.raw)return _.add_raw_token(a),void(a.directives&&"end"===a.directives.preserve&&(d.test_output_raw||(_.raw=!1)));if(a.directives)return K(!1,!0),R(),"start"===a.directives.preserve&&(_.raw=!0),void K(!1,!0);if(!X.newline.test(a.text)&&!a.wanted_newline)return _.space_before_token=!0,R(),void(_.space_before_token=!0);var e,t=function(e){e=e.replace(/\x0d/g,"");for(var t=[],n=e.indexOf("\n");-1!==n;)t.push(e.substring(0,n)),e=e.substring(n+1),n=e.indexOf("\n");return e.length&&t.push(e),t}(a.text),n=!1,i=!1,r=a.whitespace_before,s=r.length;for(K(!1,!0),1<t.length&&(function(e,t){for(var n=0;n<e.length;n++){var i=$(e[n]);if(i.charAt(0)!==t)return!1}return!0}(t.slice(1),"*")?n=!0:function(e,t){for(var n,i=0,r=e.length;i<r;i++)if((n=e[i])&&0!==n.indexOf(t))return!1;return!0}(t.slice(1),r)&&(i=!0)),R(t[0]),e=1;e<t.length;e++)K(!1,!0),n?R(" "+t[e].replace(/^\s+/g,"")):i&&t[e].length>s?R(t[e].substring(s)):_.add_token(t[e]);K(!1,!0)},TK_COMMENT:function(){a.wanted_newline?K(!1,!0):_.trim(!0),_.space_before_token=!0,R(),K(!1,!0)},TK_DOT:function(){O(),"TK_RESERVED"===o&&N(c.last_text)?_.space_before_token=!0:w(")"===c.last_text&&d.break_chained_methods),R()},TK_UNKNOWN:function(){R(),"\n"===a.text[a.text.length-1]&&K()},TK_EOF:function(){for(;c.mode===L.Statement;)k()}},d={},(e=e||{}).braces_on_own_line!==undefined&&(d.brace_style=e.braces_on_own_line?"expand":"collapse");d.brace_style=e.brace_style?e.brace_style:d.brace_style?d.brace_style:"collapse","expand-strict"===d.brace_style&&(d.brace_style="expand");d.indent_size=e.indent_size?parseInt(e.indent_size,10):4,d.indent_char=e.indent_char?e.indent_char:" ",d.eol=e.eol?e.eol:"\n",d.preserve_newlines=e.preserve_newlines===undefined||e.preserve_newlines,d.break_chained_methods=e.break_chained_methods!==undefined&&e.break_chained_methods,d.max_preserve_newlines=e.max_preserve_newlines===undefined?0:parseInt(e.max_preserve_newlines,10),d.space_in_paren=e.space_in_paren!==undefined&&e.space_in_paren,d.space_in_empty_paren=e.space_in_empty_paren!==undefined&&e.space_in_empty_paren,d.jslint_happy=e.jslint_happy!==undefined&&e.jslint_happy,d.space_after_anon_function=e.space_after_anon_function!==undefined&&e.space_after_anon_function,d.keep_array_indentation=e.keep_array_indentation!==undefined&&e.keep_array_indentation,d.space_before_conditional=e.space_before_conditional===undefined||e.space_before_conditional,d.unescape_strings=e.unescape_strings!==undefined&&e.unescape_strings,d.wrap_line_length=e.wrap_line_length===undefined?0:parseInt(e.wrap_line_length,10),d.e4x=e.e4x!==undefined&&e.e4x,d.end_with_newline=e.end_with_newline!==undefined&&e.end_with_newline,d.comma_first=e.comma_first!==undefined&&e.comma_first,d.test_output_raw=e.test_output_raw!==undefined&&e.test_output_raw,d.jslint_happy&&(d.space_after_anon_function=!0);e.indent_with_tabs&&(d.indent_char="\t",d.indent_size=1);d.eol=d.eol.replace(/\\r/,"\r").replace(/\\n/,"\n"),h="";for(;0<d.indent_size;)h+=d.indent_char,d.indent_size-=1;var g=0;if(i&&i.length){for(;" "===i.charAt(g)||"\t"===i.charAt(g);)T+=i.charAt(g),g+=1;i=i.substring(g)}function x(e){var t=e.newlines,n=d.keep_array_indentation&&S(c.mode);if(n)for(i=0;i<t;i+=1)K(0<i);else if(d.max_preserve_newlines&&t>d.max_preserve_newlines&&(t=d.max_preserve_newlines),d.preserve_newlines&&1<e.newlines){K();for(var i=1;i<t;i+=1)K(!0)}p[(a=e).type]()}function w(e){if(e=e!==undefined&&e,!_.just_added_newline())if(d.preserve_newlines&&a.wanted_newline||e)K(!1,!0);else if(d.wrap_line_length){var t=_.current_line.get_character_count()+a.text.length+(_.space_before_token?1:0);t>=d.wrap_line_length&&K(!1,!0)}}function K(e,t){if(!t&&";"!==c.last_text&&","!==c.last_text&&"="!==c.last_text&&"TK_OPERATOR"!==o)for(;c.mode===L.Statement&&!c.if_block&&!c.do_block;)k();_.add_new_line(e)&&(c.multiline_frame=!0)}function m(){_.just_added_newline()&&(d.keep_array_indentation&&S(c.mode)&&a.wanted_newline?(_.current_line.push(a.whitespace_before),_.space_before_token=!1):_.set_indent(c.indentation_level)&&(c.line_indent_level=c.indentation_level))}function R(e){_.raw?_.add_raw_token(a):(d.comma_first&&"TK_COMMA"===o&&_.just_added_newline()&&","===_.previous_line.last()&&(_.previous_line.pop(),m(),_.add_token(","),_.space_before_token=!0),e=e||a.text,m(),_.add_token(e))}function b(){c.indentation_level+=1}function v(e){c?(t.push(c),u=c):u=E(null,e),c=E(u,e)}function S(e){return e===L.ArrayLiteral}function A(e){return F(e,[L.Expression,L.ForInitializer,L.Conditional])}function k(){0<t.length&&(u=c,c=t.pop(),u.mode===L.Statement&&_.remove_redundant_indentation(u))}function y(){return c.parent.mode===L.ObjectLiteral&&c.mode===L.Statement&&(":"===c.last_text&&0===c.ternary_depth||"TK_RESERVED"===o&&F(c.last_text,["get","set"]))}function O(){return!!("TK_RESERVED"===o&&F(c.last_text,["var","let","const"])&&"TK_WORD"===a.type||"TK_RESERVED"===o&&"do"===c.last_text||"TK_RESERVED"===o&&"return"===c.last_text&&!a.wanted_newline||"TK_RESERVED"===o&&"else"===c.last_text&&("TK_RESERVED"!==a.type||"if"!==a.text)||"TK_END_EXPR"===o&&(u.mode===L.ForInitializer||u.mode===L.Conditional)||"TK_WORD"===o&&c.mode===L.BlockStatement&&!c.in_case&&"--"!==a.text&&"++"!==a.text&&"function"!==l&&"TK_WORD"!==a.type&&"TK_RESERVED"!==a.type||c.mode===L.ObjectLiteral&&(":"===c.last_text&&0===c.ternary_depth||"TK_RESERVED"===o&&F(c.last_text,["get","set"])))&&(v(L.Statement),b(),"TK_RESERVED"===o&&F(c.last_text,["var","let","const"])&&"TK_WORD"===a.type&&(c.declaration_statement=!0),y()||w("TK_RESERVED"===a.type&&F(a.text,["do","for","if","while"])),!0)}function N(e){return F(e,["case","return","do","if","throw","else"])}function D(e){var t=r+(e||0);return t<0||t>=f.length?null:f[t]}function C(){if("TK_RESERVED"===a.type&&c.mode!==L.ObjectLiteral&&F(a.text,["set","get"])&&(a.type="TK_WORD"),"TK_RESERVED"===a.type&&c.mode===L.ObjectLiteral){var e=D(1);":"==e.text&&(a.type="TK_WORD")}if(O()||!a.wanted_newline||A(c.mode)||"TK_OPERATOR"===o&&"--"!==c.last_text&&"++"!==c.last_text||"TK_EQUALS"===o||!d.preserve_newlines&&"TK_RESERVED"===o&&F(c.last_text,["var","let","const","set","get"])||K(),c.do_block&&!c.do_while){if("TK_RESERVED"===a.type&&"while"===a.text)return _.space_before_token=!0,R(),_.space_before_token=!0,void(c.do_while=!0);K(),c.do_block=!1}if(c.if_block)if(c.else_block||"TK_RESERVED"!==a.type||"else"!==a.text){for(;c.mode===L.Statement;)k();c.if_block=!1,c.else_block=!1}else c.else_block=!0;if("TK_RESERVED"===a.type&&("case"===a.text||"default"===a.text&&c.in_case_statement))return K(),(c.case_body||d.jslint_happy)&&(0<c.indentation_level&&(!c.parent||c.indentation_level>c.parent.indentation_level)&&(c.indentation_level-=1),c.case_body=!1),R(),c.in_case=!0,void(c.in_case_statement=!0);if("TK_RESERVED"===a.type&&"function"===a.text&&((F(c.last_text,["}",";"])||_.just_added_newline()&&!F(c.last_text,["[","{",":","=",","]))&&(_.just_added_blankline()||a.comments_before.length||(K(),K(!0))),"TK_RESERVED"===o||"TK_WORD"===o?"TK_RESERVED"===o&&F(c.last_text,["get","set","new","return","export","async"])?_.space_before_token=!0:"TK_RESERVED"===o&&"default"===c.last_text&&"export"===l?_.space_before_token=!0:K():"TK_OPERATOR"===o||"="===c.last_text?_.space_before_token=!0:(c.multiline_frame||!A(c.mode)&&!S(c.mode))&&K()),"TK_COMMA"!==o&&"TK_START_EXPR"!==o&&"TK_EQUALS"!==o&&"TK_OPERATOR"!==o||y()||w(),"TK_RESERVED"===a.type&&F(a.text,["function","get","set"]))return R(),void(c.last_word=a.text);if(n="NONE","TK_END_BLOCK"===o?"TK_RESERVED"===a.type&&F(a.text,["else","catch","finally"])?"expand"===d.brace_style||"end-expand"===d.brace_style||"none"===d.brace_style&&a.wanted_newline?n="NEWLINE":(n="SPACE",_.space_before_token=!0):n="NEWLINE":"TK_SEMICOLON"===o&&c.mode===L.BlockStatement?n="NEWLINE":"TK_SEMICOLON"===o&&A(c.mode)?n="SPACE":"TK_STRING"===o?n="NEWLINE":"TK_RESERVED"===o||"TK_WORD"===o||"*"===c.last_text&&"function"===l?n="SPACE":"TK_START_BLOCK"===o?n="NEWLINE":"TK_END_EXPR"===o&&(_.space_before_token=!0,n="NEWLINE"),"TK_RESERVED"===a.type&&F(a.text,s.line_starters)&&")"!==c.last_text&&(n="else"===c.last_text||"export"===c.last_text?"SPACE":"NEWLINE"),"TK_RESERVED"===a.type&&F(a.text,["else","catch","finally"]))if("TK_END_BLOCK"!==o||"expand"===d.brace_style||"end-expand"===d.brace_style||"none"===d.brace_style&&a.wanted_newline)K();else{_.trim(!0);var t=_.current_line;"}"!==t.last()&&K(),_.space_before_token=!0}else"NEWLINE"===n?"TK_RESERVED"===o&&N(c.last_text)?_.space_before_token=!0:"TK_END_EXPR"!==o?"TK_START_EXPR"===o&&"TK_RESERVED"===a.type&&F(a.text,["var","let","const"])||":"===c.last_text||("TK_RESERVED"===a.type&&"if"===a.text&&"else"===c.last_text?_.space_before_token=!0:K()):"TK_RESERVED"===a.type&&F(a.text,s.line_starters)&&")"!==c.last_text&&K():c.multiline_frame&&S(c.mode)&&","===c.last_text&&"}"===l?K():"SPACE"===n&&(_.space_before_token=!0);R(),c.last_word=a.text,"TK_RESERVED"===a.type&&"do"===a.text&&(c.do_block=!0),"TK_RESERVED"===a.type&&"if"===a.text&&(c.if_block=!0)}o="TK_START_BLOCK",l="",(_=new function(t,n){n=n||"",this.indent_cache=[n],this.baseIndentLength=n.length,this.indent_length=t.length,this.raw=!1;var i=[];this.baseIndentString=n,this.indent_string=t,this.previous_line=null,this.current_line=null,this.space_before_token=!1,this.add_outputline=function(){this.previous_line=this.current_line,this.current_line=new function(t){var n=0,i=-1,r=[],s=!0;this.set_indent=function(e){n=t.baseIndentLength+e*t.indent_length,i=e},this.get_character_count=function(){return n},this.is_empty=function(){return s},this.last=function(){return this._empty?null:r[r.length-1]},this.push=function(e){r.push(e),n+=e.length,s=!1},this.pop=function(){var e=null;return s||(e=r.pop(),n-=e.length,s=0===r.length),e},this.remove_indent=function(){0<i&&(i-=1,n-=t.indent_length)},this.trim=function(){for(;" "===this.last();){r.pop();n-=1}s=0===r.length},this.toString=function(){var e="";return this._empty||(0<=i&&(e=t.indent_cache[i]),e+=r.join("")),e}}(this),i.push(this.current_line)},this.add_outputline(),this.get_line_number=function(){return i.length},this.add_new_line=function(e){return(1!==this.get_line_number()||!this.just_added_newline())&&(!(!e&&this.just_added_newline())&&(this.raw||this.add_outputline(),!0))},this.get_code=function(){var e=i.join("\n").replace(/[\r\n\t ]+$/,"");return e},this.set_indent=function(e){if(1<i.length){for(;e>=this.indent_cache.length;)this.indent_cache.push(this.indent_cache[this.indent_cache.length-1]+this.indent_string);return this.current_line.set_indent(e),!0}return this.current_line.set_indent(0),!1},this.add_raw_token=function(e){for(var t=0;t<e.newlines;t++)this.add_outputline();this.current_line.push(e.whitespace_before),this.current_line.push(e.text),this.space_before_token=!1},this.add_token=function(e){this.add_space_before_token(),this.current_line.push(e)},this.add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&this.current_line.push(" "),this.space_before_token=!1},this.remove_redundant_indentation=function(e){if(!e.multiline_frame&&e.mode!==L.ForInitializer&&e.mode!==L.Conditional)for(var t=e.start_line_index,n=i.length;t<n;)i[t].remove_indent(),t++},this.trim=function(e){for(e=e!==undefined&&e,this.current_line.trim(t,n);e&&1<i.length&&this.current_line.is_empty();)i.pop(),this.current_line=i[i.length-1],this.current_line.trim();this.previous_line=1<i.length?i[i.length-2]:null},this.just_added_newline=function(){return this.current_line.is_empty()},this.just_added_blankline=function(){if(this.just_added_newline()){if(1===i.length)return!0;var e=i[i.length-2];return e.is_empty()}return!1}}(h,T)).raw=d.test_output_raw,t=[],v(L.BlockStatement),this.beautify=function(){var e,t;for(s=new function(v,S,e){var A="\n\r\t ".split(""),k=/[0-9]/,y=/[01234567]/,O=/[0123456789abcdefABCDEF]/,N="+ - * / % & ++ -- = += -= *= /= %= == === != !== > < >= <= >> << >>> >>>= >>= <<= && &= | || ! ~ , : ? ^ ^= |= :: =>".split(" ");this.line_starters="continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export".split(",");var D,C,L,I,V,P,j=this.line_starters.concat(["do","in","else","get","set","new","catch","finally","typeof","yield","async","await"]),B=/([\s\S]*?)((?:\*\/)|$)/g,M=/([^\n\r\u2028\u2029]*)/g,U=/\/\* beautify( \w+[:]\w+)+ \*\//g,W=/ (\w+)[:](\w+)/g,z=/([\s\S]*?)((?:\/\*\sbeautify\signore:end\s\*\/)|$)/g,G=/((<\?php|<\?=)[\s\S]*?\?>)|(<%[\s\S]*?%>)/g;function _(){var e,t,n=[];if(D=0,C="",P<=V)return["","TK_EOF"];t=I.length?I[I.length-1]:new Q("TK_START_BLOCK","{");var i=v.charAt(V);for(V+=1;F(i,A);){if(X.newline.test(i)?"\n"===i&&"\r"===v.charAt(V-2)||(D+=1,n=[]):n.push(i),P<=V)return["","TK_EOF"];i=v.charAt(V),V+=1}if(n.length&&(C=n.join("")),k.test(i)){var r=!0,s=!0,_=k;for("0"===i&&V<P&&/[Xxo]/.test(v.charAt(V))?(s=r=!1,i+=v.charAt(V),V+=1,_=/[o]/.test(v.charAt(V))?y:O):(i="",V-=1);V<P&&_.test(v.charAt(V));)i+=v.charAt(V),V+=1,r&&V<P&&"."===v.charAt(V)&&(i+=v.charAt(V),V+=1,r=!1),s&&V<P&&/[Ee]/.test(v.charAt(V))&&(i+=v.charAt(V),(V+=1)<P&&/[+-]/.test(v.charAt(V))&&(i+=v.charAt(V),V+=1),r=s=!1);return[i,"TK_WORD"]}if(X.isIdentifierStart(v.charCodeAt(V-1))){if(V<P)for(;X.isIdentifierChar(v.charCodeAt(V))&&(i+=v.charAt(V),(V+=1)!==P););return"TK_DOT"===t.type||"TK_RESERVED"===t.type&&F(t.text,["set","get"])||!F(i,j)?[i,"TK_WORD"]:"in"===i?[i,"TK_OPERATOR"]:[i,"TK_RESERVED"]}if("("===i||"["===i)return[i,"TK_START_EXPR"];if(")"===i||"]"===i)return[i,"TK_END_EXPR"];if("{"===i)return[i,"TK_START_BLOCK"];if("}"===i)return[i,"TK_END_BLOCK"];if(";"===i)return[i,"TK_SEMICOLON"];if("/"===i){var a="";if("*"===v.charAt(V)){V+=1,B.lastIndex=V;var o=B.exec(v);a="/*"+o[0],V+=o[0].length;var l=function(e){if(!e.match(U))return null;var t={};W.lastIndex=0;var n=W.exec(e);for(;n;)t[n[1]]=n[2],n=W.exec(e);return t}(a);return l&&"start"===l.ignore&&(z.lastIndex=V,o=z.exec(v),a+=o[0],V+=o[0].length),[a=a.replace(X.lineBreak,"\n"),"TK_BLOCK_COMMENT",l]}if("/"===v.charAt(V)){V+=1,M.lastIndex=V;var o=M.exec(v);return a="//"+o[0],V+=o[0].length,[a,"TK_COMMENT"]}}if("`"===i||"'"===i||'"'===i||("/"===i||S.e4x&&"<"===i&&v.slice(V-1).match(/^<([-a-zA-Z:0-9_.]+|{[^{}]*}|!\[CDATA\[[\s\S]*?\]\])(\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{.*?}))*\s*(\/?)\s*>/))&&("TK_RESERVED"===t.type&&F(t.text,["return","case","throw","else","do","typeof","yield"])||"TK_END_EXPR"===t.type&&")"===t.text&&t.parent&&"TK_RESERVED"===t.parent.type&&F(t.parent.text,["if","while","for"])||F(t.type,["TK_COMMENT","TK_START_EXPR","TK_START_BLOCK","TK_END_BLOCK","TK_OPERATOR","TK_EQUALS","TK_EOF","TK_SEMICOLON","TK_COMMA"]))){var h=i,c=!1,u=!1;if(e=i,"/"===h)for(var p=!1;V<P&&(c||p||v.charAt(V)!==h)&&!X.newline.test(v.charAt(V));)e+=v.charAt(V),c?c=!1:(c="\\"===v.charAt(V),"["===v.charAt(V)?p=!0:"]"===v.charAt(V)&&(p=!1)),V+=1;else if(S.e4x&&"<"===h){var d=/<(\/?)([-a-zA-Z:0-9_.]+|{[^{}]*}|!\[CDATA\[[\s\S]*?\]\])(\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{.*?}))*\s*(\/?)\s*>/g,f=v.slice(V-1),T=d.exec(f);if(T&&0===T.index){for(var E=T[2],g=0;T;){var x=!!T[1],w=T[2],K=!!T[T.length-1]||"![CDATA["===w.slice(0,8);if(w!==E||K||(x?--g:++g),g<=0)break;T=d.exec(f)}var m=T?T.index+T[0].length:f.length;return f=f.slice(0,m),V+=m-1,[f=f.replace(X.lineBreak,"\n"),"TK_STRING"]}}else for(;V<P&&(c||v.charAt(V)!==h&&("`"===h||!X.newline.test(v.charAt(V))));)(c||"`"===h)&&X.newline.test(v.charAt(V))?("\r"===v.charAt(V)&&"\n"===v.charAt(V+1)&&(V+=1),e+="\n"):e+=v.charAt(V),c?("x"!==v.charAt(V)&&"u"!==v.charAt(V)||(u=!0),c=!1):c="\\"===v.charAt(V),V+=1;if(u&&S.unescape_strings&&(e=function(e){var t,n=!1,i="",r=0,s="",_=0;for(;n||r<e.length;)if(t=e.charAt(r),r++,n){if(n=!1,"x"===t)s=e.substr(r,2),r+=2;else{if("u"!==t){i+="\\"+t;continue}s=e.substr(r,4),r+=4}if(!s.match(/^[0123456789abcdefABCDEF]+$/))return e;if(0<=(_=parseInt(s,16))&&_<32){i+="x"===t?"\\x"+s:"\\u"+s;continue}if(34===_||39===_||92===_)i+="\\"+String.fromCharCode(_);else{if("x"===t&&126<_&&_<=255)return e;i+=String.fromCharCode(_)}}else"\\"===t?n=!0:i+=t;return i}(e)),V<P&&v.charAt(V)===h&&(e+=h,V+=1,"/"===h))for(;V<P&&X.isIdentifierStart(v.charCodeAt(V));)e+=v.charAt(V),V+=1;return[e,"TK_STRING"]}if("#"===i){if(0===I.length&&"!"===v.charAt(V)){for(e=i;V<P&&"\n"!==i;)i=v.charAt(V),e+=i,V+=1;return[$(e)+"\n","TK_UNKNOWN"]}var R="#";if(V<P&&k.test(v.charAt(V))){for(;i=v.charAt(V),R+=i,(V+=1)<P&&"#"!==i&&"="!==i;);return"#"===i||("["===v.charAt(V)&&"]"===v.charAt(V+1)?(R+="[]",V+=2):"{"===v.charAt(V)&&"}"===v.charAt(V+1)&&(R+="{}",V+=2)),[R,"TK_WORD"]}}if("<"===i&&("?"===v.charAt(V)||"%"===v.charAt(V))){G.lastIndex=V-1;var b=G.exec(v);if(b)return i=b[0],V+=i.length-1,[i=i.replace(X.lineBreak,"\n"),"TK_STRING"]}if("<"===i&&"\x3c!--"===v.substring(V-1,V+3)){for(V+=3,i="\x3c!--";!X.newline.test(v.charAt(V))&&V<P;)i+=v.charAt(V),V++;return L=!0,[i,"TK_COMMENT"]}if("-"===i&&L&&"--\x3e"===v.substring(V-1,V+2))return L=!1,V+=2,["--\x3e","TK_COMMENT"];if("."===i)return[i,"TK_DOT"];if(F(i,N)){for(;V<P&&F(i+v.charAt(V),N)&&(i+=v.charAt(V),!(P<=(V+=1))););return","===i?[i,"TK_COMMA"]:"="===i?[i,"TK_EQUALS"]:[i,"TK_OPERATOR"]}return[i,"TK_UNKNOWN"]}this.tokenize=function(){var e,t,n;P=v.length,V=0,L=!1,I=[];for(var i=null,r=[],s=[];!t||"TK_EOF"!==t.type;){for(n=_(),e=new Q(n[1],n[0],D,C);"TK_COMMENT"===e.type||"TK_BLOCK_COMMENT"===e.type||"TK_UNKNOWN"===e.type;)"TK_BLOCK_COMMENT"===e.type&&(e.directives=n[2]),s.push(e),n=_(),e=new Q(n[1],n[0],D,C);s.length&&(e.comments_before=s,s=[]),"TK_START_BLOCK"===e.type||"TK_START_EXPR"===e.type?(e.parent=t,r.push(i),i=e):("TK_END_BLOCK"===e.type||"TK_END_EXPR"===e.type)&&i&&("]"===e.text&&"["===i.text||")"===e.text&&"("===i.text||"}"===e.text&&"{"===i.text)&&(e.parent=i.parent,i=r.pop()),I.push(e),t=e}return I}}(i,d,h),f=s.tokenize(),r=0;e=D();){for(var n=0;n<e.comments_before.length;n++)x(e.comments_before[n]);x(e),l=c.last_text,o=e.type,c.last_text=e.text,r+=1}return t=_.get_code(),d.end_with_newline&&(t+="\n"),"\n"!=d.eol&&(t=t.replace(/[\n]/g,d.eol)),t}}(e,t).beautify()}e=X,t="\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc",n=new RegExp("["+t+"]"),i=new RegExp("["+t+"\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u0620-\u0649\u0672-\u06d3\u06e7-\u06e8\u06fb-\u06fc\u0730-\u074a\u0800-\u0814\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0840-\u0857\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962-\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09d7\u09df-\u09e0\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5f-\u0b60\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2-\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d46-\u0d48\u0d57\u0d62-\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e34-\u0e3a\u0e40-\u0e45\u0e50-\u0e59\u0eb4-\u0eb9\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f41-\u0f47\u0f71-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1029\u1040-\u1049\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u170e-\u1710\u1720-\u1730\u1740-\u1750\u1772\u1773\u1780-\u17b2\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1920-\u192b\u1930-\u193b\u1951-\u196d\u19b0-\u19c0\u19c8-\u19c9\u19d0-\u19d9\u1a00-\u1a15\u1a20-\u1a53\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b46-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1bb0-\u1bb9\u1be6-\u1bf3\u1c00-\u1c22\u1c40-\u1c49\u1c5b-\u1c7d\u1cd0-\u1cd2\u1d00-\u1dbe\u1e01-\u1f15\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2d81-\u2d96\u2de0-\u2dff\u3021-\u3028\u3099\u309a\ua640-\ua66d\ua674-\ua67d\ua69f\ua6f0-\ua6f1\ua7f8-\ua800\ua806\ua80b\ua823-\ua827\ua880-\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8f3-\ua8f7\ua900-\ua909\ua926-\ua92d\ua930-\ua945\ua980-\ua983\ua9b3-\ua9c0\uaa00-\uaa27\uaa40-\uaa41\uaa4c-\uaa4d\uaa50-\uaa59\uaa7b\uaae0-\uaae9\uaaf2-\uaaf3\uabc0-\uabe1\uabec\uabed\uabf0-\uabf9\ufb20-\ufb28\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f]"),e.newline=/[\n\r\u2028\u2029]/,e.lineBreak=new RegExp("\r\n|"+e.newline.source),e.allLineBreaks=new RegExp(e.lineBreak.source,"g"),e.isIdentifierStart=function(e){return e<65?36===e||64===e:e<91||(e<97?95===e:e<123||170<=e&&n.test(String.fromCharCode(e)))},e.isIdentifierChar=function(e){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||170<=e&&i.test(String.fromCharCode(e))))};var L={BlockStatement:"BlockStatement",Statement:"Statement",ObjectLiteral:"ObjectLiteral",ArrayLiteral:"ArrayLiteral",ForInitializer:"ForInitializer",Conditional:"Conditional",Expression:"Expression"};var Q=function(e,t,n,i,r,s){this.type=e,this.text=t,this.comments_before=[],this.newlines=n||0,this.wanted_newline=0<n,this.whitespace_before=i||"",this.parent=null,this.directives=null};return{run:function(e,t){function _(e){return e.replace(/\s+$/g,"")}var n,i,r,T,s,a,E,o,l,g,x,w,h,c;for((t=t||{}).wrap_line_length!==undefined&&0!==parseInt(t.wrap_line_length,10)||t.max_char===undefined||0===parseInt(t.max_char,10)||(t.wrap_line_length=t.max_char),i=t.indent_inner_html!==undefined&&t.indent_inner_html,r=t.indent_size===undefined?4:parseInt(t.indent_size,10),T=t.indent_char===undefined?" ":t.indent_char,a=t.brace_style===undefined?"collapse":t.brace_style,s=0===parseInt(t.wrap_line_length,10)?32786:parseInt(t.wrap_line_length||250,10),E=t.unformatted||["a","span","img","bdo","em","strong","dfn","code","samp","kbd","var","cite","abbr","acronym","q","sub","sup","tt","i","b","big","small","u","s","strike","font","ins","del","address","pre"],o=t.preserve_newlines===undefined||t.preserve_newlines,l=o?isNaN(parseInt(t.max_preserve_newlines,10))?32786:parseInt(t.max_preserve_newlines,10):0,g=t.indent_handlebars!==undefined&&t.indent_handlebars,x=t.wrap_attributes===undefined?"auto":t.wrap_attributes,w=t.wrap_attributes_indent_size===undefined?r:parseInt(t.wrap_attributes_indent_size,10)||r,h=t.end_with_newline!==undefined&&t.end_with_newline,c=Array.isArray(t.extra_liners)?t.extra_liners.concat():"string"==typeof t.extra_liners?t.extra_liners.split(","):"head,body,/html".split(","),t.indent_with_tabs&&(T="\t",r=1),(n=new function(){return this.pos=0,this.token="",this.current_mode="CONTENT",this.tags={parent:"parent1",parentcount:1,parent1:""},this.tag_type="",this.token_text=this.last_token=this.last_text=this.token_type="",this.newlines=0,this.indent_content=i,this.Utils={whitespace:"\n\r\t ".split(""),single_token:"br,input,link,meta,source,!doctype,basefont,base,area,hr,wbr,param,img,isindex,embed".split(","),extra_liners:c,in_array:function(e,t){for(var n=0;n<t.length;n++)if(e==t[n])return!0;return!1}},this.is_whitespace=function(e){for(;0<e.length;e++)if(!this.Utils.in_array(e.charAt(0),this.Utils.whitespace))return!1;return!0},this.traverse_whitespace=function(){var e="";if(e=this.input.charAt(this.pos),this.Utils.in_array(e,this.Utils.whitespace)){for(this.newlines=0;this.Utils.in_array(e,this.Utils.whitespace);)o&&"\n"==e&&this.newlines<=l&&(this.newlines+=1),this.pos++,e=this.input.charAt(this.pos);return!0}return!1},this.space_or_wrap=function(e){this.line_char_count>=this.wrap_line_length?(this.print_newline(!1,e),this.print_indentation(e)):(this.line_char_count++,e.push(" "))},this.get_content=function(){for(var e="",t=[];"<"!=this.input.charAt(this.pos);){if(this.pos>=this.input.length)return t.length?t.join(""):["","TK_EOF"];if(this.traverse_whitespace())this.space_or_wrap(t);else{if(g){var n=this.input.substr(this.pos,3);if("{{#"==n||"{{/"==n)break;if("{{!"==n)return[this.get_tag(),"TK_TAG_HANDLEBARS_COMMENT"];if("{{"==this.input.substr(this.pos,2)&&"{{else}}"==this.get_tag(!0))break}e=this.input.charAt(this.pos),this.pos++,this.line_char_count++,t.push(e)}}return t.length?t.join(""):""},this.get_contents_to=function(e){if(this.pos==this.input.length)return["","TK_EOF"];var t="",n=new RegExp("</"+e+"\\s*>","igm");n.lastIndex=this.pos;var i=n.exec(this.input),r=i?i.index:this.input.length;return this.pos<r&&(t=this.input.substring(this.pos,r),this.pos=r),t},this.record_tag=function(e){this.tags[e+"count"]?this.tags[e+"count"]++:this.tags[e+"count"]=1,this.tags[e+this.tags[e+"count"]]=this.indent_level,this.tags[e+this.tags[e+"count"]+"parent"]=this.tags.parent,this.tags.parent=e+this.tags[e+"count"]},this.retrieve_tag=function(e){if(this.tags[e+"count"]){for(var t=this.tags.parent;t&&e+this.tags[e+"count"]!=t;)t=this.tags[t+"parent"];t&&(this.indent_level=this.tags[e+this.tags[e+"count"]],this.tags.parent=this.tags[t+"parent"]),delete this.tags[e+this.tags[e+"count"]+"parent"],delete this.tags[e+this.tags[e+"count"]],1==this.tags[e+"count"]?delete this.tags[e+"count"]:this.tags[e+"count"]--}},this.indent_to_tag=function(e){if(this.tags[e+"count"]){for(var t=this.tags.parent;t&&e+this.tags[e+"count"]!=t;)t=this.tags[t+"parent"];t&&(this.indent_level=this.tags[e+this.tags[e+"count"]])}},this.get_tag=function(e){var t,n,i="",r=[],s="",_=!1,a=!0,o=this.pos,l=this.line_char_count;e=e!==undefined&&e;do{if(this.pos>=this.input.length)return e&&(this.pos=o,this.line_char_count=l),r.length?r.join(""):["","TK_EOF"];if(i=this.input.charAt(this.pos),this.pos++,this.Utils.in_array(i,this.Utils.whitespace))_=!0;else{if("'"!=i&&'"'!=i||(i+=this.get_unformatted(i),_=!0),"="==i&&(_=!1),r.length&&"="!=r[r.length-1]&&">"!=i&&_){if(this.space_or_wrap(r),_=!1,!a&&"force"==x&&"/"!=i){this.print_newline(!0,r),this.print_indentation(r);for(var h=0;h<w;h++)r.push(T)}for(var c=0;c<r.length;c++)if(" "==r[c]){a=!1;break}}if(g&&"<"==n&&i+this.input.charAt(this.pos)=="{{"&&(i+=this.get_unformatted("}}"),r.length&&" "!=r[r.length-1]&&"<"!=r[r.length-1]&&(i=" "+i),_=!0),"<"!=i||n||(t=this.pos-1,n="<"),g&&!n&&2<=r.length&&"{"==r[r.length-1]&&"{"==r[r.length-2]&&(t="#"==i||"/"==i||"!"==i?this.pos-3:this.pos-2,n="{"),this.line_char_count++,r.push(i),r[1]&&("!"==r[1]||"?"==r[1]||"%"==r[1])){r=[this.get_comment(t)];break}if(g&&r[1]&&"{"==r[1]&&r[2]&&"!"==r[2]){r=[this.get_comment(t)];break}if(g&&"{"==n&&2<r.length&&"}"==r[r.length-2]&&"}"==r[r.length-1])break}}while(">"!=i);var u,p,d=r.join("");u=-1!=d.indexOf(" ")?d.indexOf(" "):"{"==d[0]?d.indexOf("}"):d.indexOf(">"),p="<"!=d[0]&&g?"#"==d[2]?3:2:1;var f=d.substring(p,u).toLowerCase();return"/"==d.charAt(d.length-2)||this.Utils.in_array(f,this.Utils.single_token)?e||(this.tag_type="SINGLE"):g&&"{"==d[0]&&"else"==f?e||(this.indent_to_tag("if"),this.tag_type="HANDLEBARS_ELSE",this.indent_content=!0,this.traverse_whitespace()):this.is_unformatted(f,E)?(s=this.get_unformatted("</"+f+">",d),r.push(s),this.pos,this.tag_type="SINGLE"):"script"==f&&(-1==d.search("type")||-1<d.search("type")&&-1<d.search(/\b(text|application)\/(x-)?(javascript|ecmascript|jscript|livescript)/))?e||(this.record_tag(f),this.tag_type="SCRIPT"):"style"==f&&(-1==d.search("type")||-1<d.search("type")&&-1<d.search("text/css"))?e||(this.record_tag(f),this.tag_type="STYLE"):"!"==f.charAt(0)?e||(this.tag_type="SINGLE",this.traverse_whitespace()):e||("/"==f.charAt(0)?(this.retrieve_tag(f.substring(1)),this.tag_type="END"):(this.record_tag(f),"html"!=f.toLowerCase()&&(this.indent_content=!0),this.tag_type="START"),this.traverse_whitespace()&&this.space_or_wrap(r),this.Utils.in_array(f,this.Utils.extra_liners)&&(this.print_newline(!1,this.output),this.output.length&&"\n"!=this.output[this.output.length-2]&&this.print_newline(!0,this.output))),e&&(this.pos=o,this.line_char_count=l),r.join("")},this.get_comment=function(e){var t="",n=">",i=!1;this.pos=e;var r=this.input.charAt(this.pos);for(this.pos++;this.pos<=this.input.length&&((t+=r)[t.length-1]!=n[n.length-1]||-1==t.indexOf(n));)!i&&t.length<10&&(0===t.indexOf("<![if")?(n="<![endif]>",i=!0):0===t.indexOf("<![cdata[")?(n="]]>",i=!0):0===t.indexOf("<![")?(n="]>",i=!0):0===t.indexOf("\x3c!--")?(n="--\x3e",i=!0):0===t.indexOf("{{!")?(n="}}",i=!0):0===t.indexOf("<?")?(n="?>",i=!0):0===t.indexOf("<%")&&(n="%>",i=!0)),r=this.input.charAt(this.pos),this.pos++;return t},this.get_unformatted=function(e,t){if(t&&-1!=t.toLowerCase().indexOf(e))return"";var n="",i="",r=0,s=!0;do{if(this.pos>=this.input.length)return i;if(n=this.input.charAt(this.pos),this.pos++,this.Utils.in_array(n,this.Utils.whitespace)){if(!s){this.line_char_count--;continue}if("\n"==n||"\r"==n){i+="\n",this.line_char_count=0;continue}}i+=n,this.line_char_count++,s=!0,g&&"{"==n&&i.length&&"{"==i[i.length-2]&&(r=(i+=this.get_unformatted("}}")).length)}while(-1==i.toLowerCase().indexOf(e,r));return i},this.get_token=function(){var e;if("TK_TAG_SCRIPT"==this.last_token||"TK_TAG_STYLE"==this.last_token){var t=this.last_token.substr(7);return"string"!=typeof(e=this.get_contents_to(t))?e:[e,"TK_"+t]}return"CONTENT"==this.current_mode?"string"!=typeof(e=this.get_content())?e:[e,"TK_CONTENT"]:"TAG"==this.current_mode?"string"!=typeof(e=this.get_tag())?e:[e,"TK_TAG_"+this.tag_type]:void 0},this.get_full_indent=function(e){return(e=this.indent_level+e||0)<1?"":new Array(e+1).join(this.indent_string)},this.is_unformatted=function(e,t){if(!this.Utils.in_array(e,t))return!1;if("a"!=e.toLowerCase()||!this.Utils.in_array("a",t))return!0;var n=(this.get_tag(!0)||"").match(/^\s*<\s*\/?([a-z]*)\s*[^>]*>\s*$/);return!(n&&!this.Utils.in_array(n,t))},this.printer=function(e,t,n,i,r){this.input=e||"",this.output=[],this.indent_character=t,this.indent_string="",this.indent_size=n,this.brace_style=r,this.indent_level=0,this.wrap_line_length=i;for(var s=this.line_char_count=0;s<this.indent_size;s++)this.indent_string+=this.indent_character;this.print_newline=function(e,t){this.line_char_count=0,t&&t.length&&(e||"\n"!=t[t.length-1])&&("\n"!=t[t.length-1]&&(t[t.length-1]=_(t[t.length-1])),t.push("\n"))},this.print_indentation=function(e){for(var t=0;t<this.indent_level;t++)e.push(this.indent_string),this.line_char_count+=this.indent_string.length},this.print_token=function(e){this.is_whitespace(e)&&!this.output.length||((e||""!==e)&&this.output.length&&"\n"==this.output[this.output.length-1]&&(this.print_indentation(this.output),e=e.replace(/^\s+/g,"")),this.print_token_raw(e))},this.print_token_raw=function(e){0<this.newlines&&(e=_(e)),e&&""!==e&&(1<e.length&&"\n"==e[e.length-1]?(this.output.push(e.slice(0,-1)),this.print_newline(!1,this.output)):this.output.push(e));for(var t=0;t<this.newlines;t++)this.print_newline(0<t,this.output);this.newlines=0},this.indent=function(){this.indent_level++},this.unindent=function(){0<this.indent_level&&this.indent_level--}},this}).printer(e,T,r,s,a);;){var u=n.get_token();if(n.token_text=u[0],n.token_type=u[1],"TK_EOF"==n.token_type)break;switch(n.token_type){case"TK_TAG_START":n.print_newline(!1,n.output),n.print_token(n.token_text),n.indent_content&&(n.indent(),n.indent_content=!1),n.current_mode="CONTENT";break;case"TK_TAG_STYLE":case"TK_TAG_SCRIPT":n.print_newline(!1,n.output),n.print_token(n.token_text),n.current_mode="CONTENT";break;case"TK_TAG_END":if("TK_CONTENT"==n.last_token&&""===n.last_text){var p=n.token_text.match(/\w+/)[0],d=null;n.output.length&&(d=n.output[n.output.length-1].match(/(?:<|{{#)\s*(\w+)/)),(null==d||d[1]!=p&&!n.Utils.in_array(d[1],E))&&n.print_newline(!1,n.output)}n.print_token(n.token_text),n.current_mode="CONTENT";break;case"TK_TAG_SINGLE":var f=n.token_text.match(/^\s*<([a-z-]+)/i);f&&n.Utils.in_array(f[1],E)||n.print_newline(!1,n.output),n.print_token(n.token_text),n.current_mode="CONTENT";break;case"TK_TAG_HANDLEBARS_ELSE":n.print_token(n.token_text),n.indent_content&&(n.indent(),n.indent_content=!1),n.current_mode="CONTENT";break;case"TK_TAG_HANDLEBARS_COMMENT":case"TK_CONTENT":n.print_token(n.token_text),n.current_mode="TAG";break;case"TK_STYLE":case"TK_SCRIPT":if(""!==n.token_text){n.print_newline(!1,n.output);var K,m=n.token_text,R=1;"TK_SCRIPT"==n.token_type?K=y:"TK_STYLE"==n.token_type&&(K=k),"keep"==t.indent_scripts?R=0:"separate"==t.indent_scripts&&(R=-n.indent_level);var b=n.get_full_indent(R);if(K)m=K(m.replace(/^\s*/,b),t);else{var v=m.match(/^\s*/)[0].match(/[^\n\r]*$/)[0].split(n.indent_string).length-1,S=n.get_full_indent(R-v);m=m.replace(/^\s*/,b).replace(/\r\n|\r|\n/g,"\n"+S).replace(/\s+$/,"")}m&&(n.print_token_raw(m),n.print_newline(!0,n.output))}n.current_mode="TAG";break;default:""!==n.token_text&&n.print_token(n.token_text)}n.last_token=n.token_type,n.last_text=n.token_text}var A=n.output.join("").replace(/[\r\n\t ]+$/,"");return h&&(A+="\n"),A}}}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/code_beautifier.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/paragraph_format.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/paragraph_format.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/paragraph_format.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&module.exports?module.exports=function(a,e){return e===undefined&&(e="undefined"!=typeof window?require("jquery"):require("jquery")(a)),t(e)}:t(window.jQuery)}(function(g){g.extend(g.FE.DEFAULTS,{paragraphFormat:{N:"Normal",H1:"Heading 1",H2:"Heading 2",H3:"Heading 3",H4:"Heading 4",PRE:"Code"},paragraphFormatSelection:!1,paragraphDefaultSelection:"Paragraph Format"}),g.FE.PLUGINS.paragraphFormat=function(h){function f(a,e){var t=h.html.defaultTag();if(e&&e.toLowerCase()!=t)if(0<a.find("ul, ol").length){var r=g("<"+e+">");a.prepend(r);for(var n=h.node.contents(a.get(0))[0];n&&["UL","OL"].indexOf(n.tagName)<0;){var o=n.nextSibling;r.append(n),n=o}}else a.html("<"+e+">"+a.html()+"</"+e+">")}return{apply:function(a){"N"==a&&(a=h.html.defaultTag()),h.selection.save(),h.html.wrap(!0,!0,!h.opts.paragraphFormat.BLOCKQUOTE,!0,!0),h.selection.restore();var e,t,r,n,o,i,p,l,s=h.selection.blocks();h.selection.save(),h.$el.find("pre").attr("skip",!0);for(var d=0;d<s.length;d++)if(s[d].tagName!=a&&!h.node.isList(s[d])){var m=g(s[d]);"LI"==s[d].tagName?f(m,a):"LI"==s[d].parentNode.tagName&&s[d]?(i=m,p=a,l=h.html.defaultTag(),p&&p.toLowerCase()!=l||(p='div class="fr-temp-div"'),i.replaceWith(g("<"+p+">").html(i.html()))):0<=["TD","TH"].indexOf(s[d].parentNode.tagName)?(r=m,n=a,o=h.html.defaultTag(),n||(n='div class="fr-temp-div"'+(h.node.isEmpty(r.get(0),!0)?' data-empty="true"':"")),n.toLowerCase()==o?(h.node.isEmpty(r.get(0),!0)||r.append("<br/>"),r.replaceWith(r.html())):r.replaceWith(g("<"+n+">").html(r.html()))):(e=m,(t=a)||(t='div class="fr-temp-div"'+(h.node.isEmpty(e.get(0),!0)?' data-empty="true"':"")),e.replaceWith(g("<"+t+" "+h.node.attributes(e.get(0))+">").html(e.html()).removeAttr("data-empty")))}h.$el.find('pre:not([skip="true"]) + pre:not([skip="true"])').each(function(){g(this).prev().append("<br>"+g(this).html()),g(this).remove()}),h.$el.find("pre").removeAttr("skip"),h.html.unwrap(),h.selection.restore()},refreshOnShow:function(a,e){var t=h.selection.blocks();if(t.length){var r=t[0],n="N",o=h.html.defaultTag();r.tagName.toLowerCase()!=o&&r!=h.el&&(n=r.tagName),e.find('.fr-command[data-param1="'+n+'"]').addClass("fr-active").attr("aria-selected",!0)}else e.find('.fr-command[data-param1="N"]').addClass("fr-active").attr("aria-selected",!0)},refresh:function(a){if(h.opts.paragraphFormatSelection){var e=h.selection.blocks();if(e.length){var t=e[0],r="N",n=h.html.defaultTag();t.tagName.toLowerCase()!=n&&t!=h.el&&(r=t.tagName),0<=["LI","TD","TH"].indexOf(r)&&(r="N"),a.find("> span").text(h.language.translate(h.opts.paragraphFormat[r]))}else a.find("> span").text(h.language.translate(h.opts.paragraphFormat.N))}}}},g.FE.RegisterCommand("paragraphFormat",{type:"dropdown",displaySelection:function(a){return a.opts.paragraphFormatSelection},defaultSelection:function(a){return a.language.translate(a.opts.paragraphDefaultSelection)},displaySelectionWidth:125,html:function(){var a='<ul class="fr-dropdown-list" role="presentation">',e=this.opts.paragraphFormat;for(var t in e)if(e.hasOwnProperty(t)){var r=this.shortcuts.get("paragraphFormat."+t);r=r?'<span class="fr-shortcut">'+r+"</span>":"",a+='<li role="presentation"><'+("N"==t?this.html.defaultTag()||"DIV":t)+' style="padding: 0 !important; margin: 0 !important;" role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="paragraphFormat" data-param1="'+t+'" title="'+this.language.translate(e[t])+'">'+this.language.translate(e[t])+"</a></"+("N"==t?this.html.defaultTag()||"DIV":t)+"></li>"}return a+="</ul>"},title:"Paragraph Format",callback:function(a,e){this.paragraphFormat.apply(e)},refresh:function(a){this.paragraphFormat.refresh(a)},refreshOnShow:function(a,e){this.paragraphFormat.refreshOnShow(a,e)},plugin:"paragraphFormat"}),g.FE.DefineIcon("paragraphFormat",{NAME:"paragraph"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/paragraph_format.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/word_paste.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/word_paste.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/word_paste.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(r){"function"==typeof define&&define.amd?define(["jquery"],r):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),r(t)}:r(window.jQuery)}(function(S){S.extend(S.FE.DEFAULTS,{wordDeniedTags:[],wordDeniedAttrs:[],wordAllowedStyleProps:["font-family","font-size","background","color","width","text-align","vertical-align","background-color","padding","margin","height","margin-top","margin-left","margin-right","margin-bottom","text-decoration","font-weight","font-style","text-indent"],wordPasteModal:!0,wordPasteKeepFormatting:!0}),S.FE.PLUGINS.wordPaste=function(A){var l,i,a="word_paste";function t(e){var t=A.opts.wordAllowedStyleProps;e||(A.opts.wordAllowedStyleProps=[]),0===i.indexOf("<colgroup>")&&(i="<table>"+i+"</table>"),i=function(e,t){0<=e.indexOf("<html")&&(e=e.replace(/[.\s\S\w\W<>]*(<html[^>]*>[.\s\S\w\W<>]*<\/html>)[.\s\S\w\W<>]*/i,"$1"));!function(e){for(var t=e.split("v:shape"),r=1;r<t.length;r++){var i=t[r],n=i.split(' id="')[1];if(n&&1<n.length){n=n.split('"')[0];var l=i.split(' o:spid="')[1];l&&1<l.length&&(l=l.split('"')[0],c[n]=l)}}}(e);var r=(new DOMParser).parseFromString(e,"text/html"),i=r.head,n=r.body,a=function(e){var t={},r=e.getElementsByTagName("style");if(r.length){var i=r[0],n=i.innerHTML.match(/[\S ]+\s+{[\s\S]+?}/gi);if(n)for(var l=0;l<n.length;l++){var a=n[l],s=a.replace(/([\S ]+\s+){[\s\S]+?}/gi,"$1"),o=a.replace(/[\S ]+\s+{([\s\S]+?)}/gi,"$1");s=s.replace(/^[\s]|[\s]$/gm,""),o=o.replace(/^[\s]|[\s]$/gm,""),s=s.replace(/\n|\r|\n\r/g,""),o=o.replace(/\n|\r|\n\r/g,"");for(var d=s.split(", "),g=0;g<d.length;g++)t[d[g]]=o}}return t}(i);g(n,function(e){if(e.nodeType==Node.TEXT_NODE&&/\n|\u00a0|\r/.test(e.data)){if(!/\S| /.test(e.data))return e.data==S.FE.UNICODE_NBSP?(e.data="\u200b",!0):1==e.data.length&&10==e.data.charCodeAt(0)?(e.data=" ",!0):(y(e),!1);e.data=e.data.replace(/\n|\r/gi," ")}return!0}),g(n,function(e){return e.nodeType!=Node.ELEMENT_NODE||"V:IMAGEDATA"!=e.tagName&&"IMG"!=e.tagName||function(e,t){if(!t)return;var r;if("IMG"==e.tagName){var i=e.getAttribute("src");if(!i||-1==i.indexOf("file://"))return;if(0===i.indexOf("file://")&&A.helpers.isURL(e.getAttribute("alt")))return e.setAttribute("src",e.getAttribute("alt"));(r=c[e.getAttribute("v:shapes")])||(r=e.getAttribute("v:shapes"))}else r=e.parentNode.getAttribute("o:spid");if(e.removeAttribute("height"),!r)return;n=t,p={},f(n,"i","\\shppict"),f(n,"s","\\shp{");var n;var l=p[r.substring(7)];if(l){var a=function(e){for(var t=e.match(/[0-9a-f]{2}/gi),r=[],i=0;i<t.length;i++)r.push(String.fromCharCode(parseInt(t[i],16)));var n=r.join("");return btoa(n)}(l.image_hex),s="data:"+l.image_type+";base64,"+a;"IMG"===e.tagName?(e.src=s,e.setAttribute("data-fr-image-pasted",!0)):S(e.parentNode).before('<img data-fr-image-pasted="true" src="'+s+'" style="'+e.parentNode.getAttribute("style")+'">').remove()}}(e,t),!0});for(var l=n.querySelectorAll("ul > ul, ul > ol, ol > ul, ol > ol"),s=l.length-1;0<=s;s--)l[s].previousElementSibling&&"LI"===l[s].previousElementSibling.tagName&&l[s].previousElementSibling.appendChild(l[s]);g(n,function(t){if(t.nodeType==Node.TEXT_NODE)return t.data=t.data.replace(/<br>(\n|\r)/gi,"<br>"),!1;if(t.nodeType==Node.ELEMENT_NODE){if(C(t)){var r=t.parentNode,i=t.previousSibling,n=function e(t,r){var i=/[0-9a-zA-Z]./gi;var n=!1;t.firstElementChild&&t.firstElementChild.firstElementChild&&t.firstElementChild.firstElementChild.firstChild&&!(n=n||i.test(t.firstElementChild.firstElementChild.firstChild.data||""))&&t.firstElementChild.firstElementChild.firstElementChild&&t.firstElementChild.firstElementChild.firstElementChild.firstChild&&(n=n||i.test(t.firstElementChild.firstElementChild.firstElementChild.firstChild.data||""));var l=n?"ol":"ul";var a=m(t);var s="<"+l+"><li>"+h(t,r);var o=t.nextElementSibling;var d=t.parentNode;y(t);t=null;for(;o&&C(o);){var g=o.previousElementSibling,f=m(o);if(a<f)s+=e(o,r).outerHTML;else{if(f<a)break;s+="</li><li>"+h(o,r)}if(a=f,o.previousElementSibling||o.nextElementSibling||o.parentNode){var u=o;o=o.nextElementSibling,y(u),u=null}else o=g?g.nextElementSibling:d.firstElementChild}s+="</li></"+l+">";var p=document.createElement("div");p.innerHTML=s;var c=p.firstElementChild;return c}(t,a),l=null;return(l=i?i.nextSibling:r.firstChild)?r.insertBefore(n,l):r.appendChild(n),!1}return u(t,a)}return t.nodeType!=Node.COMMENT_NODE||(y(t),!1)}),g(n,function(e){if(e.nodeType==Node.ELEMENT_NODE){var t=e.tagName;if(!e.innerHTML&&-1==["BR","IMG"].indexOf(t)){for(var r=e.parentNode;r&&(y(e),!(e=r).innerHTML);)r=e.parentNode;return!1}!function(e){var t=e.getAttribute("style");if(!t)return;(t=N(t))&&";"!=t.slice(-1)&&(t+=";");var r=t.match(/(^|\S+?):.+?;{1,1}/gi);if(!r)return;for(var i={},n=0;n<r.length;n++){var l=r[n],a=l.split(":");2==a.length&&("text-align"==a[0]&&"SPAN"==e.tagName||(i[a[0]]=a[1]))}var s="";for(var o in i)if(i.hasOwnProperty(o)){if("font-size"==o&&"pt;"==i[o].slice(-3)){var d=null;try{d=parseFloat(i[o].slice(0,-3),10)}catch(g){}d&&(d=Math.round(1.33*d),i[o]=d+"px;")}s+=o+":"+i[o]}s&&e.setAttribute("style",s)}(e)}return!0});var o=n.outerHTML,d=A.opts.htmlAllowedStyleProps;return A.opts.htmlAllowedStyleProps=A.opts.wordAllowedStyleProps,o=A.clean.html(o,A.opts.wordDeniedTags,A.opts.wordDeniedAttrs,!1),A.opts.htmlAllowedStyleProps=d,o}(i=i.replace(/<span[\n\r ]*style='mso-spacerun:yes'>([\r\n\u00a0 ]*)<\/span>/g,function(e,t){for(var r="",i=0;i++<t.length;)r+="&nbsp;";return r}),A.paste.getRtfClipboard());var r=A.doc.createElement("DIV");r.innerHTML=i,A.html.cleanBlankSpaces(r),i=r.innerHTML,i=(i=A.paste.cleanEmptyTagsAndDivs(i)).replace(/\u200b/g,""),A.modals.hide(a),A.paste.clean(i,!0,!0),A.opts.wordAllowedStyleProps=t}function y(e){e.parentNode&&e.parentNode.removeChild(e)}function g(e,t){if(t(e))for(var r=e.firstChild;r;){var i=r,n=r.previousSibling;r=r.nextSibling,g(i,t),i.previousSibling||i.nextSibling||i.parentNode||!r||n==r.previousSibling||!r.parentNode?i.previousSibling||i.nextSibling||i.parentNode||!r||r.previousSibling||r.nextSibling||r.parentNode||(n?r=n.nextSibling?n.nextSibling.nextSibling:null:e.firstChild&&(r=e.firstChild.nextSibling)):r=n?n.nextSibling:e.firstChild}}function C(e){if(!e.getAttribute("style")||!/mso-list:[\s]*l/gi.test(e.getAttribute("style").replace(/\n/gi,"")))return!1;try{if(!e.querySelector('[style="mso-list:Ignore"]'))return!1}catch(t){return!1}return!0}function m(e){return e.getAttribute("style").replace(/\n/gi,"").replace(/.*level([0-9]+?).*/gi,"$1")}function h(e,t){var r=e.cloneNode(!0);if(-1!=["H1","H2","H3","H4","H5","H6"].indexOf(e.tagName)){var i=document.createElement(e.tagName.toLowerCase());i.setAttribute("style",e.getAttribute("style")),i.innerHTML=r.innerHTML,r.innerHTML=i.outerHTML}g(r,function(e){return e.nodeType==Node.ELEMENT_NODE&&("mso-list:Ignore"==e.getAttribute("style")&&e.parentNode.removeChild(e),u(e,t)),!0});var n=r.innerHTML;return n=n.replace(/<!--[\s\S]*?-->/gi,"")}function v(e,t){for(var r=document.createElement(t),i=0;i<e.attributes.length;i++){var n=e.attributes[i].name;r.setAttribute(n,e.getAttribute(n))}return r.innerHTML=e.innerHTML,e.parentNode.replaceChild(r,e),r}function w(e){var t=e.getAttribute("align");t&&(e.style["text-align"]=t,e.removeAttribute("align"))}function N(e){return e.replace(/\n|\r|\n\r|&quot;/g,"")}function x(e,t,r){if(t){var i=e.getAttribute("style");i&&";"!=i.slice(-1)&&(i+=";"),t&&";"!=t.slice(-1)&&(t+=";"),t=t.replace(/\n/gi,"");var n=null;n=r?(i||"")+t:t+(i||""),e.setAttribute("style",n)}}var p=null;function f(e,t,r){for(var i=e.split(r),n=1;n<i.length;n++){var l=i[n];if(1<(l=l.split("shplid")).length){l=l[1];for(var a="",s=0;s<l.length&&"\\"!=l[s]&&"{"!=l[s]&&" "!=l[s]&&"\r"!=l[s]&&"\n"!=l[s];)a+=l[s],s++;var o=l.split("bliptag");if(o&&o.length<2)continue;var d=null;if(-1!=o[0].indexOf("pngblip")?d="image/png":-1!=o[0].indexOf("jpegblip")&&(d="image/jpeg"),!d)continue;var g,f=o[1].split("}");if(f&&f.length<2)continue;if(2<f.length&&-1!=f[0].indexOf("blipuid"))g=f[1].split(" ");else{if((g=f[0].split(" "))&&g.length<2)continue;g.shift()}var u=g.join("");p[t+a]={image_hex:u,image_type:d}}}}function u(e,t){var r=e.tagName,i=r.toLowerCase();e.firstElementChild&&("I"==e.firstElementChild.tagName?v(e.firstElementChild,"em"):"B"==e.firstElementChild.tagName&&v(e.firstElementChild,"strong"));if(-1!=["SCRIPT","APPLET","EMBED","NOFRAMES","NOSCRIPT"].indexOf(r))return y(e),!1;var n=-1,l=["META","LINK","XML","ST1:","O:","W:","FONT"];for(n=0;n<l.length;n++)if(-1!=r.indexOf(l[n]))return e.innerHTML&&(e.outerHTML=e.innerHTML),y(e),!1;if("TD"!=r){var a=e.getAttribute("class");if(t&&a){var s=(a=N(a)).split(" ");for(n=0;n<s.length;n++){var o=[],d="."+s[n];o.push(d),d=i+d,o.push(d);for(var g=0;g<o.length;g++)t[o[g]]&&x(e,t[o[g]])}e.removeAttribute("class")}t&&t[i]&&x(e,t[i])}if(-1!=["P","H1","H2","H3","H4","H5","H6","PRE"].indexOf(r)){var f=e.getAttribute("class");if(f&&(t&&t[r.toLowerCase()+"."+f]&&x(e,t[r.toLowerCase()+"."+f]),-1!=f.toLowerCase().indexOf("mso"))){var u=N(f);(u=u.replace(/[0-9a-z-_]*mso[0-9a-z-_]*/gi,""))?e.setAttribute("class",u):e.removeAttribute("class")}var p=e.getAttribute("style");if(p){var c=p.match(/text-align:.+?[; "]{1,1}/gi);c&&c[c.length-1].replace(/(text-align:.+?[; "]{1,1})/gi,"$1")}w(e)}if("TR"==r&&function(e,t){A.node.clearAttributes(e);for(var r=e.firstElementChild,i=0,n=!1,l=null;r;){r.firstElementChild&&-1!=r.firstElementChild.tagName.indexOf("W:")&&(r.innerHTML=r.firstElementChild.innerHTML),(l=r.getAttribute("width"))||n||(n=!0),i+=parseInt(l,10),(!r.firstChild||r.firstChild&&r.firstChild.data==S.FE.UNICODE_NBSP)&&(r.firstChild&&y(r.firstChild),r.innerHTML="<br>");for(var a=r.firstElementChild,s=1==r.children.length;a;)"P"!=a.tagName||C(a)||s&&w(a),a=a.nextElementSibling;if(t){var o=r.getAttribute("class");if(o){var d=(o=N(o)).match(/xl[0-9]+/gi);if(d){var g="."+d[0];t[g]&&x(r,t[g])}}t.td&&x(r,t.td)}var f=r.getAttribute("style");f&&(f=N(f))&&";"!=f.slice(-1)&&(f+=";");var u=r.getAttribute("valign");if(!u&&f){var p=f.match(/vertical-align:.+?[; "]{1,1}/gi);p&&(u=p[p.length-1].replace(/vertical-align:(.+?)[; "]{1,1}/gi,"$1"))}var c=null;if(f){var m=f.match(/text-align:.+?[; "]{1,1}/gi);m&&(c=m[m.length-1].replace(/text-align:(.+?)[; "]{1,1}/gi,"$1")),"general"==c&&(c=null)}var h=null;if(f){var v=f.match(/background:.+?[; "]{1,1}/gi);v&&(h=v[v.length-1].replace(/background:(.+?)[; "]{1,1}/gi,"$1"))}var b=r.getAttribute("colspan"),E=r.getAttribute("rowspan");b&&r.setAttribute("colspan",b),E&&r.setAttribute("rowspan",E),u&&(r.style["vertical-align"]=u),c&&(r.style["text-align"]=c),h&&(r.style["background-color"]=h),l&&r.setAttribute("width",l),r=r.nextElementSibling}for(r=e.firstElementChild;r;)l=r.getAttribute("width"),n?r.removeAttribute("width"):r.setAttribute("width",100*parseInt(l,10)/i+"%"),r=r.nextElementSibling}(e,t),"A"!=r||e.attributes.getNamedItem("href")||e.attributes.getNamedItem("name")||!e.innerHTML||(e.outerHTML=e.innerHTML),"TD"!=r&&"TH"!=r||e.innerHTML||(e.innerHTML="<br>"),"TABLE"==r&&(e.style.width="100%"),e.getAttribute("lang")&&e.removeAttribute("lang"),e.getAttribute("style")&&-1!=e.getAttribute("style").toLowerCase().indexOf("mso")){var m=N(e.getAttribute("style"));(m=m.replace(/[0-9a-z-_]*mso[0-9a-z-_]*:.+?(;{1,1}|$)/gi,""))?e.setAttribute("style",m):e.removeAttribute("style")}return!0}var c={};return{_init:function(){A.events.on("paste.wordPaste",function(e){return i=e,A.opts.wordPasteModal?function(){if(!l){var e='<h4><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 74.95 73.23" style="height: 25px; vertical-align: text-bottom; margin-right: 5px; display: inline-block"><defs><style>.a{fill:#2a5699;}.b{fill:#fff;}</style></defs><path class="a" d="M615.15,827.22h5.09V834c9.11.05,18.21-.09,27.32.05a2.93,2.93,0,0,1,3.29,3.25c.14,16.77,0,33.56.09,50.33-.09,1.72.17,3.63-.83,5.15-1.24.89-2.85.78-4.3.84-8.52,0-17,0-25.56,0v6.81h-5.32c-13-2.37-26-4.54-38.94-6.81q0-29.8,0-59.59c13.05-2.28,26.11-4.5,39.17-6.83Z" transform="translate(-575.97 -827.22)"/><path class="b" d="M620.24,836.59h28.1v54.49h-28.1v-6.81h22.14v-3.41H620.24v-4.26h22.14V873.2H620.24v-4.26h22.14v-3.41H620.24v-4.26h22.14v-3.41H620.24v-4.26h22.14v-3.41H620.24V846h22.14v-3.41H620.24Zm-26.67,15c1.62-.09,3.24-.16,4.85-.25,1.13,5.75,2.29,11.49,3.52,17.21,1-5.91,2-11.8,3.06-17.7,1.7-.06,3.41-.15,5.1-.26-1.92,8.25-3.61,16.57-5.71,24.77-1.42.74-3.55,0-5.24.09-1.13-5.64-2.45-11.24-3.47-16.9-1,5.5-2.29,10.95-3.43,16.42q-2.45-.13-4.92-.3c-1.41-7.49-3.07-14.93-4.39-22.44l4.38-.18c.88,5.42,1.87,10.82,2.64,16.25,1.2-5.57,2.43-11.14,3.62-16.71Z" transform="translate(-575.97 -827.22)"/></svg> '+A.language.translate("Word Paste Detected")+"</h4>",t=(n='<div class="fr-word-paste-modal" style="padding: 20px 20px 10px 20px;">',n+='<p style="text-align: left;">'+A.language.translate("The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?")+"</p>",n+='<div style="text-align: right; margin-top: 50px;"><button class="fr-remove-word fr-command">'+A.language.translate("Clean")+'</button> <button class="fr-keep-word fr-command">'+A.language.translate("Keep")+"</button></div>",n+="</div>"),r=A.modals.create(a,e,t),i=r.$body;l=r.$modal,r.$modal.addClass("fr-middle"),A.events.bindClick(i,"button.fr-remove-word",function(){var e=l.data("instance")||A;e.wordPaste.clean()}),A.events.bindClick(i,"button.fr-keep-word",function(){var e=l.data("instance")||A;e.wordPaste.clean(!0)}),A.events.$on(S(A.o_win),"resize",function(){A.modals.resize(a)})}var n;A.modals.show(a),A.modals.resize(a)}():t(A.opts.wordPasteKeepFormatting),!1})},clean:t}}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/word_paste.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/font_family.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/font_family.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/font_family.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(l){l.extend(l.FE.DEFAULTS,{fontFamily:{"Arial,Helvetica,sans-serif":"Arial","Georgia,serif":"Georgia","Impact,Charcoal,sans-serif":"Impact","Tahoma,Geneva,sans-serif":"Tahoma","Times New Roman,Times,serif,-webkit-standard":"Times New Roman","Verdana,Geneva,sans-serif":"Verdana"},fontFamilySelection:!1,fontFamilyDefaultSelection:"Font Family"}),l.FE.PLUGINS.fontFamily=function(o){function i(e){var t=e.replace(/(sans-serif|serif|monospace|cursive|fantasy)/gi,"").replace(/"|'| /g,"").split(",");return l.grep(t,function(e){return 0<e.length})}function r(e,t){for(var n=0;n<e.length;n++)for(var a=0;a<t.length;a++)if(e[n].toLowerCase()==t[a].toLowerCase())return[n,a];return null}function f(){var e=i(l(o.selection.element()).css("font-family")),t=[];for(var n in o.opts.fontFamily)if(o.opts.fontFamily.hasOwnProperty(n)){var a=r(e,i(n));a&&t.push([n,a])}return 0===t.length?null:(t.sort(function(e,t){var n=e[1][0]-t[1][0];return 0===n?e[1][1]-t[1][1]:n}),t[0][0])}return{apply:function(e){o.format.applyStyle("font-family",e)},refreshOnShow:function(e,t){t.find(".fr-command.fr-active").removeClass("fr-active").attr("aria-selected",!1),t.find('.fr-command[data-param1="'+f()+'"]').addClass("fr-active").attr("aria-selected",!0);var n=t.find(".fr-dropdown-list"),a=t.find(".fr-active").parent();a.length?n.parent().scrollTop(a.offset().top-n.offset().top-(n.parent().outerHeight()/2-a.outerHeight()/2)):n.parent().scrollTop(0)},refresh:function(e){if(o.opts.fontFamilySelection){var t=l(o.selection.element()).css("font-family").replace(/(sans-serif|serif|monospace|cursive|fantasy)/gi,"").replace(/"|'|/g,"").split(",");e.find("> span").text(o.opts.fontFamily[f()]||t[0]||o.language.translate(o.opts.fontFamilyDefaultSelection))}}}},l.FE.RegisterCommand("fontFamily",{type:"dropdown",displaySelection:function(e){return e.opts.fontFamilySelection},defaultSelection:function(e){return e.opts.fontFamilyDefaultSelection},displaySelectionWidth:120,html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.fontFamily;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="fontFamily" data-param1="'+n+'" style="font-family: '+n+'" title="'+t[n]+'">'+t[n]+"</a></li>");return e+="</ul>"},title:"Font Family",callback:function(e,t){this.fontFamily.apply(t)},refresh:function(e){this.fontFamily.refresh(e)},refreshOnShow:function(e,t){this.fontFamily.refreshOnShow(e,t)},plugin:"fontFamily"}),l.FE.DefineIcon("fontFamily",{NAME:"font"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/font_family.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/url.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/url.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/url.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&module.exports?module.exports=function(e,n){return n===undefined&&(n="undefined"!=typeof window?require("jquery"):require("jquery")(e)),t(n)}:t(window.jQuery)}(function(f){f.FE.URLRegEx="(^| |\\u00A0)("+f.FE.LinkRegEx+"|([a-z0-9+-_.]{1,}@[a-z0-9+-_.]{1,}\\.[a-z0-9+-_]{1,}))$",f.FE.PLUGINS.url=function(i){var l=null;function n(e,n,t){for(var r="";t.length&&"."==t[t.length-1];)r+=".",t=t.substring(0,t.length-1);var o=t;if(i.opts.linkConvertEmailAddress)i.helpers.isEmail(o)&&!/^mailto:.*/i.test(o)&&(o="mailto:"+o);else if(i.helpers.isEmail(o))return n+t;return/^((http|https|ftp|ftps|mailto|tel|sms|notes|data)\:)/i.test(o)||(o="//"+o),(n||"")+"<a"+(i.opts.linkAlwaysBlank?' target="_blank"':"")+(l?' rel="'+l+'"':"")+' data-fr-linked="true" href="'+o+'">'+t.replace(/&amp;/g,"&").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")+"</a>"+r}function a(){return new RegExp(f.FE.URLRegEx,"gi")}function s(e){return i.opts.linkAlwaysNoFollow&&(l="nofollow"),i.opts.linkAlwaysBlank&&(i.opts.linkNoOpener&&(l?l+=" noopener":l="noopener"),i.opts.linkNoReferrer&&(l?l+=" noreferrer":l="noreferrer")),e.replace(a(),n)}function p(e){var n=e.split(" ");return n[n.length-1]}function t(){var n=i.selection.ranges(0),t=n.startContainer;if(!t||t.nodeType!==Node.TEXT_NODE||n.startOffset!==(t.textContent||"").length)return!1;if(function e(n){return!!n&&("A"===n.tagName||!(!n.parentNode||n.parentNode==i.el)&&e(n.parentNode))}(t))return!1;if(a().test(p(t.textContent))){f(t).before(s(t.textContent));var r=f(t.parentNode).find("a[data-fr-linked]");r.removeAttr("data-fr-linked"),t.parentNode.removeChild(t),i.events.trigger("url.linked",[r.get(0)])}else if(t.textContent.split(" ").length<=2&&t.previousSibling&&"A"===t.previousSibling.tagName){var o=t.previousSibling.innerText+t.textContent;a().test(p(o))&&(f(t.previousSibling).replaceWith(s(o)),t.parentNode.removeChild(t))}}return{_init:function(){i.events.on("keypress",function(e){!i.selection.isCollapsed()||"."!=e.key&&")"!=e.key&&"("!=e.key||t()},!0),i.events.on("keydown",function(e){var n=e.which;!i.selection.isCollapsed()||n!=f.FE.KEYCODE.ENTER&&n!=f.FE.KEYCODE.SPACE||t()},!0),i.events.on("paste.beforeCleanup",function(e){if(i.helpers.isURL(e)){var n=null;return i.opts.linkAlwaysBlank&&(i.opts.linkNoOpener&&(n?n+=" noopener":n="noopener"),i.opts.linkNoReferrer&&(n?n+=" noreferrer":n="noreferrer")),"<a"+(i.opts.linkAlwaysBlank?' target="_blank"':"")+(n?' rel="'+n+'"':"")+' href="'+e+'" >'+e+"</a>"}})}}}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/url.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/emoticons.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/emoticons.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/emoticons.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&module.exports?module.exports=function(e,o){return o===undefined&&(o="undefined"!=typeof window?require("jquery"):require("jquery")(e)),t(o)}:t(window.jQuery)}(function(g){g.extend(g.FE.POPUP_TEMPLATES,{emoticons:"[_BUTTONS_][_EMOTICONS_]"}),g.extend(g.FE.DEFAULTS,{emoticonsStep:8,emoticonsSet:[{code:"1f600",desc:"Grinning face"},{code:"1f601",desc:"Grinning face with smiling eyes"},{code:"1f602",desc:"Face with tears of joy"},{code:"1f603",desc:"Smiling face with open mouth"},{code:"1f604",desc:"Smiling face with open mouth and smiling eyes"},{code:"1f605",desc:"Smiling face with open mouth and cold sweat"},{code:"1f606",desc:"Smiling face with open mouth and tightly-closed eyes"},{code:"1f607",desc:"Smiling face with halo"},{code:"1f608",desc:"Smiling face with horns"},{code:"1f609",desc:"Winking face"},{code:"1f60a",desc:"Smiling face with smiling eyes"},{code:"1f60b",desc:"Face savoring delicious food"},{code:"1f60c",desc:"Relieved face"},{code:"1f60d",desc:"Smiling face with heart-shaped eyes"},{code:"1f60e",desc:"Smiling face with sunglasses"},{code:"1f60f",desc:"Smirking face"},{code:"1f610",desc:"Neutral face"},{code:"1f611",desc:"Expressionless face"},{code:"1f612",desc:"Unamused face"},{code:"1f613",desc:"Face with cold sweat"},{code:"1f614",desc:"Pensive face"},{code:"1f615",desc:"Confused face"},{code:"1f616",desc:"Confounded face"},{code:"1f617",desc:"Kissing face"},{code:"1f618",desc:"Face throwing a kiss"},{code:"1f619",desc:"Kissing face with smiling eyes"},{code:"1f61a",desc:"Kissing face with closed eyes"},{code:"1f61b",desc:"Face with stuck out tongue"},{code:"1f61c",desc:"Face with stuck out tongue and winking eye"},{code:"1f61d",desc:"Face with stuck out tongue and tightly-closed eyes"},{code:"1f61e",desc:"Disappointed face"},{code:"1f61f",desc:"Worried face"},{code:"1f620",desc:"Angry face"},{code:"1f621",desc:"Pouting face"},{code:"1f622",desc:"Crying face"},{code:"1f623",desc:"Persevering face"},{code:"1f624",desc:"Face with look of triumph"},{code:"1f625",desc:"Disappointed but relieved face"},{code:"1f626",desc:"Frowning face with open mouth"},{code:"1f627",desc:"Anguished face"},{code:"1f628",desc:"Fearful face"},{code:"1f629",desc:"Weary face"},{code:"1f62a",desc:"Sleepy face"},{code:"1f62b",desc:"Tired face"},{code:"1f62c",desc:"Grimacing face"},{code:"1f62d",desc:"Loudly crying face"},{code:"1f62e",desc:"Face with open mouth"},{code:"1f62f",desc:"Hushed face"},{code:"1f630",desc:"Face with open mouth and cold sweat"},{code:"1f631",desc:"Face screaming in fear"},{code:"1f632",desc:"Astonished face"},{code:"1f633",desc:"Flushed face"},{code:"1f634",desc:"Sleeping face"},{code:"1f635",desc:"Dizzy face"},{code:"1f636",desc:"Face without mouth"},{code:"1f637",desc:"Face with medical mask"}],emoticonsButtons:["emoticonsBack","|"],emoticonsUseImage:!0}),g.FE.PLUGINS.emoticons=function(E){function n(){if(!E.selection.isCollapsed())return!1;var e=E.selection.element(),o=E.selection.endElement();if(e&&E.node.hasClass(e,"fr-emoticon"))return e;if(o&&E.node.hasClass(o,"fr-emoticon"))return o;var t=E.selection.ranges(0),s=t.startContainer;if(s.nodeType==Node.ELEMENT_NODE&&0<s.childNodes.length&&0<t.startOffset){var n=s.childNodes[t.startOffset-1];if(E.node.hasClass(n,"fr-emoticon"))return n}return!1}return{_init:function(){var e=function(){for(var e=E.el.querySelectorAll(".fr-emoticon:not(.fr-deletable)"),o=0;o<e.length;o++)e[o].className+=" fr-deletable"};e(),E.events.on("html.set",e),E.events.on("keydown",function(e){if(E.keys.isCharacter(e.which)&&E.selection.inEditor()){var o=E.selection.ranges(0),t=n();E.node.hasClass(t,"fr-emoticon-img")&&t&&(0===o.startOffset&&E.selection.element()===t?g(t).before(g.FE.MARKERS+g.FE.INVISIBLE_SPACE):g(t).after(g.FE.INVISIBLE_SPACE+g.FE.MARKERS),E.selection.restore())}}),E.events.on("keyup",function(e){for(var o=E.el.querySelectorAll(".fr-emoticon"),t=0;t<o.length;t++)"undefined"!=typeof o[t].textContent&&0===o[t].textContent.replace(/\u200B/gi,"").length&&g(o[t]).remove();if(!(e.which>=g.FE.KEYCODE.ARROW_LEFT&&e.which<=g.FE.KEYCODE.ARROW_DOWN)){var s=n();E.node.hasClass(s,"fr-emoticon-img")&&(g(s).append(g.FE.MARKERS),E.selection.restore())}})},insert:function(e,o){var t=n(),s=E.selection.ranges(0);t?(0===s.startOffset&&E.selection.element()===t?g(t).before(g.FE.MARKERS+g.FE.INVISIBLE_SPACE):0<s.startOffset&&E.selection.element()===t&&s.commonAncestorContainer.parentNode.classList.contains("fr-emoticon")&&g(t).after(g.FE.INVISIBLE_SPACE+g.FE.MARKERS),E.selection.restore(),E.html.insert('<span class="fr-emoticon fr-deletable'+(o?" fr-emoticon-img":"")+'"'+(o?' style="background: url('+o+');"':"")+">"+(o?"&nbsp;":e)+"</span>&nbsp;"+g.FE.MARKERS,!0)):E.html.insert('<span class="fr-emoticon fr-deletable'+(o?" fr-emoticon-img":"")+'"'+(o?' style="background: url('+o+');"':"")+">"+(o?"&nbsp;":e)+"</span>&nbsp;",!0)},showEmoticonsPopup:function(){var e=E.$tb.find('.fr-command[data-cmd="emoticons"]'),o=E.popups.get("emoticons");if(o||(o=function(){var e="";E.opts.toolbarInline&&0<E.opts.emoticonsButtons.length&&(e='<div class="fr-buttons fr-emoticons-buttons">'+E.button.buildList(E.opts.emoticonsButtons)+"</div>");var h,o={buttons:e,emoticons:function(){for(var e='<div style="text-align: center">',o=0;o<E.opts.emoticonsSet.length;o++)0!==o&&o%E.opts.emoticonsStep==0&&(e+="<br>"),e+='<span class="fr-command fr-emoticon" tabIndex="-1" data-cmd="insertEmoticon" title="'+E.language.translate(E.opts.emoticonsSet[o].desc)+'" role="button" data-param1="'+E.opts.emoticonsSet[o].code+'">'+(E.opts.emoticonsUseImage?'<img src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.0.1/assets/svg/'+E.opts.emoticonsSet[o].code+'.svg"/>':"&#x"+E.opts.emoticonsSet[o].code+";")+'<span class="fr-sr-only">'+E.language.translate(E.opts.emoticonsSet[o].desc)+"&nbsp;&nbsp;&nbsp;</span></span>";return E.opts.emoticonsUseImage&&(e+='<p style="font-size: 12px; text-align: center; padding: 0 5px;">Emoji free by <a class="fr-link" tabIndex="-1" href="http://emojione.com/" target="_blank" rel="nofollow noopener noreferrer" role="link" aria-label="Open Emoji One website.">Emoji One</a></p>'),e+="</div>"}()},t=E.popups.create("emoticons",o);return E.tooltip.bind(t,".fr-emoticon"),h=t,E.events.on("popup.tab",function(e){var o=g(e.currentTarget);if(!E.popups.isVisible("emoticons")||!o.is("span, a"))return!0;var t,s,n,c=e.which;if(g.FE.KEYCODE.TAB==c){if(o.is("span.fr-emoticon")&&e.shiftKey||o.is("a")&&!e.shiftKey){var i=h.find(".fr-buttons");t=!E.accessibility.focusToolbar(i,!!e.shiftKey)}if(!1!==t){var a=h.find("span.fr-emoticon:focus:first, span.fr-emoticon:visible:first, a");o.is("span.fr-emoticon")&&(a=a.not("span.fr-emoticon:not(:focus)")),s=a.index(o),s=e.shiftKey?((s-1)%a.length+a.length)%a.length:(s+1)%a.length,n=a.get(s),E.events.disableBlur(),n.focus(),t=!1}}else if(g.FE.KEYCODE.ARROW_UP==c||g.FE.KEYCODE.ARROW_DOWN==c||g.FE.KEYCODE.ARROW_LEFT==c||g.FE.KEYCODE.ARROW_RIGHT==c){if(o.is("span.fr-emoticon")){var f=o.parent().find("span.fr-emoticon");s=f.index(o);var d=E.opts.emoticonsStep,r=Math.floor(f.length/d),l=s%d,m=Math.floor(s/d),u=m*d+l,p=r*d;g.FE.KEYCODE.ARROW_UP==c?u=((u-d)%p+p)%p:g.FE.KEYCODE.ARROW_DOWN==c?u=(u+d)%p:g.FE.KEYCODE.ARROW_LEFT==c?u=((u-1)%p+p)%p:g.FE.KEYCODE.ARROW_RIGHT==c&&(u=(u+1)%p),n=g(f.get(u)),E.events.disableBlur(),n.focus(),t=!1}}else g.FE.KEYCODE.ENTER==c&&(o.is("a")?o[0].click():E.button.exec(o),t=!1);return!1===t&&(e.preventDefault(),e.stopPropagation()),t},!0),t}()),!o.hasClass("fr-active")){E.popups.refresh("emoticons"),E.popups.setContainer("emoticons",E.$tb);var t=e.offset().left+e.outerWidth()/2,s=e.offset().top+(E.opts.toolbarBottom?10:e.outerHeight()-10);E.popups.show("emoticons",t,s,e.outerHeight())}},hideEmoticonsPopup:function(){E.popups.hide("emoticons")},back:function(){E.popups.hide("emoticons"),E.toolbar.showInline()}}},g.FE.DefineIcon("emoticons",{NAME:"smile-o",FA5NAME:"smile"}),g.FE.RegisterCommand("emoticons",{title:"Emoticons",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible("emoticons")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("emoticons")):this.emoticons.showEmoticonsPopup()},plugin:"emoticons"}),g.FE.RegisterCommand("insertEmoticon",{callback:function(e,o){this.emoticons.insert("&#x"+o+";",this.opts.emoticonsUseImage?"https://cdnjs.cloudflare.com/ajax/libs/emojione/2.0.1/assets/svg/"+o+".svg":null),this.emoticons.hideEmoticonsPopup()}}),g.FE.DefineIcon("emoticonsBack",{NAME:"arrow-left"}),g.FE.RegisterCommand("emoticonsBack",{title:"Back",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.emoticons.back()}})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/emoticons.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/print.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/print.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/print.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(e){e.extend(e.FE.DEFAULTS,{html2pdf:window.html2pdf}),e.FE.PLUGINS.print=function(l){return{run:function(){!function(e){var t=l.$el.html(),n=null;l.shared.print_iframe?n=l.shared.print_iframe:((n=document.createElement("iframe")).name="fr-print",n.style.position="fixed",n.style.top="0",n.style.left="-9999px",n.style.height="100%",n.style.width="0",n.style.overflow="hidden",n.style["z-index"]="2147483647",n.style.tabIndex="-1",l.events.on("shared.destroy",function(){n.remove()}),l.shared.print_iframe=n);try{document.body.removeChild(n)}catch(d){}document.body.appendChild(n);var i=function(){e(),n.removeEventListener("load",i)};n.addEventListener("load",i);var o=n.contentWindow;o.document.open(),o.document.write("<!DOCTYPE html><html "+(l.opts.documentReady?'style="margin: 0; padding: 0;"':"")+"><head><title>"+document.title+"</title>"),Array.prototype.forEach.call(document.querySelectorAll("style"),function(e){e=e.cloneNode(!0),o.document.write(e.outerHTML)});var r=document.querySelectorAll("link[rel=stylesheet]");Array.prototype.forEach.call(r,function(e){var t=document.createElement("link");t.rel=e.rel,t.href=e.href,t.media="print",t.type="text/css",t.media="all",o.document.write(t.outerHTML)}),o.document.write('</head><body style="text-align: '+("rtl"==l.opts.direction?"right":"left")+"; direction: "+l.opts.direction+"; "+(l.opts.documentReady?" padding: 2cm; width: 17cm; margin: 0;":"")+'"><div class="fr-view">'),o.document.write(t),o.document.write("</div></body></html>"),o.document.close()}(function(){setTimeout(function(){l.events.disableBlur(),window.frames["fr-print"].focus(),window.frames["fr-print"].print(),l.$win.get(0).focus(),l.events.disableBlur(),l.events.focus()},0)})},toPDF:function(){l.opts.html2pdf&&(l.$el.css("text-align","left"),l.opts.html2pdf().set({margin:[10,20],html2canvas:{useCORS:!0}}).from(l.el).save(),setTimeout(function(){l.$el.css("text-align","")},100))}}},e.FE.DefineIcon("print",{NAME:"print"}),e.FE.RegisterCommand("print",{title:"Print",undo:!1,focus:!1,plugin:"print",callback:function(){this.print.run()}}),e.FE.DefineIcon("getPDF",{NAME:"file-pdf-o",FA5NAME:"file-pdf"}),e.FE.RegisterCommand("getPDF",{title:"Download PDF",type:"button",focus:!1,undo:!1,callback:function(){this.print.toPDF()}})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/print.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/line_breaker.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/line_breaker.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/line_breaker.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(v){v.extend(v.FE.DEFAULTS,{lineBreakerTags:["table","hr","form","dl","span.fr-video",".fr-embedly"],lineBreakerOffset:15,lineBreakerHorizontalOffset:10}),v.FE.PLUGINS.lineBreaker=function(d){var g,t,a;function s(e,t){var n,r,a,o,i,s,f,l;if(null==e)i=(o=t.parent()).offset().top,n=(f=t.offset().top)-Math.min((f-i)/2,d.opts.lineBreakerOffset),a=o.outerWidth(),r=o.offset().left;else if(null==t)(s=(o=e.parent()).offset().top+o.outerHeight())<(l=e.offset().top+e.outerHeight())&&(s=(o=v(o).parent()).offset().top+o.outerHeight()),n=l+Math.min(Math.abs(s-l)/2,d.opts.lineBreakerOffset),a=o.outerWidth(),r=o.offset().left;else{o=e.parent();var p=e.offset().top+e.height(),u=t.offset().top;if(u<p)return!1;n=(p+u)/2,a=o.outerWidth(),r=o.offset().left}d.opts.iframe&&(r+=d.$iframe.offset().left-d.helpers.scrollLeft(),n+=d.$iframe.offset().top-d.helpers.scrollTop()),d.$box.append(g),g.css("top",n-d.win.pageYOffset),g.css("left",r-d.win.pageXOffset),g.css("width",a),g.data("tag1",e),g.data("tag2",t),g.addClass("fr-visible").data("instance",d)}function f(e){if(e){var t=v(e);if(0===d.$el.find(t).length)return null;if(e.nodeType!=Node.TEXT_NODE&&t.is(d.opts.lineBreakerTags.join(",")))return t;if(0<t.parents(d.opts.lineBreakerTags.join(",")).length)return e=t.parents(d.opts.lineBreakerTags.join(",")).get(0),0!==d.$el.find(e).length&&v(e).is(d.opts.lineBreakerTags.join(","))?v(e):null}return null}function o(e,t){var n=d.doc.elementFromPoint(e,t);return n&&!v(n).closest(".fr-line-breaker").length&&!d.node.isElement(n)&&n!=d.$wp.get(0)&&function(e){if("undefined"!=typeof e.inFroalaWrapper)return e.inFroalaWrapper;for(var t=e;e.parentNode&&e.parentNode!==d.$wp.get(0);)e=e.parentNode;return t.inFroalaWrapper=e.parentNode==d.$wp.get(0),t.inFroalaWrapper}(n)?n:null}function i(e,t,n){for(var r=n,a=null;r<=d.opts.lineBreakerOffset&&!a;)(a=o(e,t-r))||(a=o(e,t+r)),r+=n;return a}function l(e,t,n){for(var r=null,a=100;!r&&e>d.$box.offset().left&&e<d.$box.offset().left+d.$box.outerWidth()&&0<a;)(r=o(e,t))||(r=i(e,t,5)),"left"==n?e-=d.opts.lineBreakerHorizontalOffset:e+=d.opts.lineBreakerHorizontalOffset,a-=d.opts.lineBreakerHorizontalOffset;return r}function n(e){var t=a=null,n=null,r=d.doc.elementFromPoint(e.pageX-d.win.pageXOffset,e.pageY-d.win.pageYOffset);r&&("HTML"==r.tagName||"BODY"==r.tagName||d.node.isElement(r)||0<=(r.getAttribute("class")||"").indexOf("fr-line-breaker"))?((n=i(e.pageX-d.win.pageXOffset,e.pageY-d.win.pageYOffset,1))||(n=l(e.pageX-d.win.pageXOffset-d.opts.lineBreakerHorizontalOffset,e.pageY-d.win.pageYOffset,"left")),n||(n=l(e.pageX-d.win.pageXOffset+d.opts.lineBreakerHorizontalOffset,e.pageY-d.win.pageYOffset,"right")),t=f(n)):t=f(r),t?function(e,t){var n,r,a=e.offset().top,o=e.offset().top+e.outerHeight();if(Math.abs(o-t)<=d.opts.lineBreakerOffset||Math.abs(t-a)<=d.opts.lineBreakerOffset)if(Math.abs(o-t)<Math.abs(t-a)){for(var i=(r=e.get(0)).nextSibling;i&&i.nodeType==Node.TEXT_NODE&&0===i.textContent.length;)i=i.nextSibling;if(!i)return s(e,null);if(n=f(i))return s(e,n)}else{if(!(r=e.get(0)).previousSibling)return s(null,e);if(n=f(r.previousSibling))return s(n,e)}g.removeClass("fr-visible").removeData("instance")}(t,e.pageY):d.core.sameInstance(g)&&g.removeClass("fr-visible").removeData("instance")}function e(e){return!(g.hasClass("fr-visible")&&!d.core.sameInstance(g))&&(d.popups.areVisible()||d.el.querySelector(".fr-selected-cell")?(g.removeClass("fr-visible"),!0):void(!1!==t||d.edit.isDisabled()||(a&&clearTimeout(a),a=setTimeout(n,30,e))))}function r(){a&&clearTimeout(a),g&&g.hasClass("fr-visible")&&g.removeClass("fr-visible").removeData("instance")}function p(){t=!0,r()}function u(){t=!1}function c(e){e.preventDefault();var t=g.data("instance")||d;g.removeClass("fr-visible").removeData("instance");var n=g.data("tag1"),r=g.data("tag2"),a=d.html.defaultTag();null==n?a&&"TD"!=r.parent().get(0).tagName&&0===r.parents(a).length?r.before("<"+a+">"+v.FE.MARKERS+"<br></"+a+">"):r.before(v.FE.MARKERS+"<br>"):a&&"TD"!=n.parent().get(0).tagName&&0===n.parents(a).length?n.after("<"+a+">"+v.FE.MARKERS+"<br></"+a+">"):n.after(v.FE.MARKERS+"<br>"),t.selection.restore()}return{_init:function(){if(!d.$wp)return!1;d.shared.$line_breaker||(d.shared.$line_breaker=v('<div class="fr-line-breaker"><a class="fr-floating-btn" role="button" tabIndex="-1" title="'+d.language.translate("Break")+'"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><rect x="21" y="11" width="2" height="8"/><rect x="14" y="17" width="7" height="2"/><path d="M14.000,14.000 L14.000,22.013 L9.000,18.031 L14.000,14.000 Z"/></svg></a></div>')),g=d.shared.$line_breaker,d.events.on("shared.destroy",function(){g.html("").removeData().remove(),g=null},!0),d.events.on("destroy",function(){g.removeData("instance").removeClass("fr-visible").appendTo("body:first"),clearTimeout(a)},!0),d.events.$on(g,"mousemove",function(e){e.stopPropagation()},!0),d.events.bindClick(g,"a",c),t=!1,d.events.$on(d.$win,"mousemove",e),d.events.$on(v(d.win),"scroll",r),d.events.on("popups.show.table.edit",r),d.events.on("commands.after",r),d.events.$on(v(d.win),"mousedown",p),d.events.$on(v(d.win),"mouseup",u)}}}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/line_breaker.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/image.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/image.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/image.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),a(t)}:a(window.jQuery)}(function(ye){ye.extend(ye.FE.POPUP_TEMPLATES,{"image.insert":"[_BUTTONS_][_UPLOAD_LAYER_][_BY_URL_LAYER_][_PROGRESS_BAR_]","image.edit":"[_BUTTONS_]","image.alt":"[_BUTTONS_][_ALT_LAYER_]","image.size":"[_BUTTONS_][_SIZE_LAYER_]"}),ye.extend(ye.FE.DEFAULTS,{imageInsertButtons:["imageBack","|","imageUpload","imageByURL"],imageEditButtons:["imageReplace","imageAlign","imageCaption","imageRemove","|","imageLink","linkOpen","linkEdit","linkRemove","-","imageDisplay","imageStyle","imageAlt","imageSize"],imageAltButtons:["imageBack","|"],imageSizeButtons:["imageBack","|"],imageUpload:!0,imageUploadURL:null,imageCORSProxy:"https://cors-anywhere.froala.com",imageUploadRemoteUrls:!0,imageUploadParam:"file",imageUploadParams:{},imageUploadToS3:!1,imageUploadMethod:"POST",imageMaxSize:10485760,imageAllowedTypes:["jpeg","jpg","png","gif"],imageResize:!0,imageResizeWithPercent:!1,imageRoundPercent:!1,imageDefaultWidth:300,imageDefaultAlign:"center",imageDefaultDisplay:"block",imageSplitHTML:!1,imageStyles:{"fr-rounded":"Rounded","fr-bordered":"Bordered","fr-shadow":"Shadow"},imageMove:!0,imageMultipleStyles:!0,imageTextNear:!0,imagePaste:!0,imagePasteProcess:!1,imageMinWidth:16,imageOutputSize:!1,imageDefaultMargin:5}),ye.FE.PLUGINS.image=function(p){var g,l,f,d,o,a,c="https://i.froala.com/upload",t=!1,i=1,u=2,m=3,h=4,v=5,b=6,y=8,r={};function w(){var e=p.popups.get("image.insert").find(".fr-image-by-url-layer input");e.val(""),g&&e.val(g.attr("src")),e.trigger("change")}function n(){var e=p.popups.get("image.edit");if(e||(e=I()),e){var t=ve();be()&&(t=t.find(".fr-img-wrap")),p.popups.setContainer("image.edit",p.$sc),p.popups.refresh("image.edit");var a=t.offset().left+t.outerWidth()/2,i=t.offset().top+t.outerHeight();g.hasClass("fr-uploading")?$():p.popups.show("image.edit",a,i,t.outerHeight())}}function E(){F()}function e(){for(var e,t,a="IMG"==p.el.tagName?[p.el]:p.el.querySelectorAll("img"),i=0;i<a.length;i++){var r=ye(a[i]);!p.opts.htmlUntouched&&p.opts.useClasses?((p.opts.imageDefaultAlign||p.opts.imageDefaultDisplay)&&(0<(t=r).parents(".fr-img-caption").length&&(t=t.parents(".fr-img-caption:first")),t.hasClass("fr-dii")||t.hasClass("fr-dib")||(t.addClass("fr-fi"+de(t)[0]),t.addClass("fr-di"+ce(t)[0]),t.css("margin",""),t.css("float",""),t.css("display",""),t.css("z-index",""),t.css("position",""),t.css("overflow",""),t.css("vertical-align",""))),p.opts.imageTextNear||(0<r.parents(".fr-img-caption").length?r.parents(".fr-img-caption:first").removeClass("fr-dii").addClass("fr-dib"):r.removeClass("fr-dii").addClass("fr-dib"))):p.opts.htmlUntouched||p.opts.useClasses||(p.opts.imageDefaultAlign||p.opts.imageDefaultDisplay)&&(0<(e=r).parents(".fr-img-caption").length&&(e=e.parents(".fr-img-caption:first")),ge(e,e.hasClass("fr-dib")?"block":e.hasClass("fr-dii")?"inline":null,e.hasClass("fr-fil")?"left":e.hasClass("fr-fir")?"right":de(e)),e.removeClass("fr-dib fr-dii fr-fir fr-fil")),p.opts.iframe&&r.on("load",p.size.syncIframe)}}function C(e){void 0===e&&(e=!0);var t,a=Array.prototype.slice.call(p.el.querySelectorAll("img")),i=[];for(t=0;t<a.length;t++)if(i.push(a[t].getAttribute("src")),ye(a[t]).toggleClass("fr-draggable",p.opts.imageMove),""===a[t].getAttribute("class")&&a[t].removeAttribute("class"),""===a[t].getAttribute("style")&&a[t].removeAttribute("style"),a[t].parentNode&&a[t].parentNode.parentNode&&p.node.hasClass(a[t].parentNode.parentNode,"fr-img-caption")){var r=a[t].parentNode.parentNode;p.browser.mozilla||r.setAttribute("contenteditable",!1),r.setAttribute("draggable",!1),r.classList.add("fr-draggable");var n=a[t].nextSibling;n&&!p.browser.mozilla&&n.setAttribute("contenteditable",!0)}if(o)for(t=0;t<o.length;t++)i.indexOf(o[t].getAttribute("src"))<0&&p.events.trigger("image.removed",[ye(o[t])]);if(o&&e){var s=[];for(t=0;t<o.length;t++)s.push(o[t].getAttribute("src"));for(t=0;t<a.length;t++)s.indexOf(a[t].getAttribute("src"))<0&&p.events.trigger("image.loaded",[ye(a[t])])}o=a}function A(){if(l||function(){var e;p.shared.$image_resizer?(l=p.shared.$image_resizer,d=p.shared.$img_overlay,p.events.on("destroy",function(){l.removeClass("fr-active").appendTo(ye("body:first"))},!0)):(p.shared.$image_resizer=ye('<div class="fr-image-resizer"></div>'),l=p.shared.$image_resizer,p.events.$on(l,"mousedown",function(e){e.stopPropagation()},!0),p.opts.imageResize&&(l.append(s("nw")+s("ne")+s("sw")+s("se")),p.shared.$img_overlay=ye('<div class="fr-image-overlay"></div>'),d=p.shared.$img_overlay,e=l.get(0).ownerDocument,ye(e).find("body:first").append(d)));p.events.on("shared.destroy",function(){l.html("").removeData().remove(),l=null,p.opts.imageResize&&(d.remove(),d=null)},!0),p.helpers.isMobile()||p.events.$on(ye(p.o_win),"resize",function(){g&&!g.hasClass("fr-uploading")?oe(!0):g&&(A(),ue(),$(!1))});if(p.opts.imageResize){e=l.get(0).ownerDocument,p.events.$on(l,p._mousedown,".fr-handler",S),p.events.$on(ye(e),p._mousemove,D),p.events.$on(ye(e.defaultView||e.parentWindow),p._mouseup,x),p.events.$on(d,"mouseleave",x);var i=1,r=null,n=0;p.events.on("keydown",function(e){if(g){var t=-1!=navigator.userAgent.indexOf("Mac OS X")?e.metaKey:e.ctrlKey,a=e.which;(a!==r||200<e.timeStamp-n)&&(i=1),(a==ye.FE.KEYCODE.EQUALS||p.browser.mozilla&&a==ye.FE.KEYCODE.FF_EQUALS)&&t&&!e.altKey?i=Q.call(this,e,1,1,i):(a==ye.FE.KEYCODE.HYPHEN||p.browser.mozilla&&a==ye.FE.KEYCODE.FF_HYPHEN)&&t&&!e.altKey?i=Q.call(this,e,2,-1,i):p.keys.ctrlKey(e)||a!=ye.FE.KEYCODE.ENTER||(g.before("<br>"),B(g)),r=a,n=e.timeStamp}},!0),p.events.on("keyup",function(){i=1})}}(),!g)return!1;var e=p.$wp||p.$sc;e.append(l),l.data("instance",p);var t=e.scrollTop()-("static"!=e.css("position")?e.offset().top:0),a=e.scrollLeft()-("static"!=e.css("position")?e.offset().left:0);a-=p.helpers.getPX(e.css("border-left-width")),t-=p.helpers.getPX(e.css("border-top-width")),p.$el.is("img")&&p.$sc.is("body")&&(a=t=0);var i=ve();be()&&(i=i.find(".fr-img-wrap")),l.css("top",(p.opts.iframe?i.offset().top:i.offset().top+t)-1).css("left",(p.opts.iframe?i.offset().left:i.offset().left+a)-1).css("width",i.get(0).getBoundingClientRect().width).css("height",i.get(0).getBoundingClientRect().height).addClass("fr-active")}function s(e){return'<div class="fr-handler fr-h'+e+'"></div>'}function R(e){be()?g.parents(".fr-img-caption").css("width",e):g.css("width",e)}function S(e){if(!p.core.sameInstance(l))return!0;if(e.preventDefault(),e.stopPropagation(),p.$el.find("img.fr-error").left)return!1;p.undo.canDo()||p.undo.saveStep();var t=e.pageX||e.originalEvent.touches[0].pageX;if("mousedown"==e.type){var a=p.$oel.get(0).ownerDocument,i=a.defaultView||a.parentWindow,r=!1;try{r=i.location!=i.parent.location&&!(i.$&&i.$.FE)}catch(o){}r&&i.frameElement&&(t+=p.helpers.getPX(ye(i.frameElement).offset().left)+i.frameElement.clientLeft)}(f=ye(this)).data("start-x",t),f.data("start-width",g.width()),f.data("start-height",g.height());var n=g.width();if(p.opts.imageResizeWithPercent){var s=g.parentsUntil(p.$el,p.html.blockTagsQuery()).get(0)||p.el;n=(n/ye(s).outerWidth()*100).toFixed(2)+"%"}R(n),d.show(),p.popups.hideAll(),pe()}function D(e){if(!p.core.sameInstance(l))return!0;var t;if(f&&g){if(e.preventDefault(),p.$el.find("img.fr-error").left)return!1;var a=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null);if(!a)return!1;var i=a-f.data("start-x"),r=f.data("start-width");if((f.hasClass("fr-hnw")||f.hasClass("fr-hsw"))&&(i=0-i),p.opts.imageResizeWithPercent){var n=g.parentsUntil(p.$el,p.html.blockTagsQuery()).get(0)||p.el;r=((r+i)/ye(n).outerWidth()*100).toFixed(2),p.opts.imageRoundPercent&&(r=Math.round(r)),R(r+"%"),(t=be()?(p.helpers.getPX(g.parents(".fr-img-caption").css("width"))/ye(n).outerWidth()*100).toFixed(2):(p.helpers.getPX(g.css("width"))/ye(n).outerWidth()*100).toFixed(2))===r||p.opts.imageRoundPercent||R(t+"%"),g.css("height","").removeAttr("height")}else r+i>=p.opts.imageMinWidth&&(R(r+i),t=be()?p.helpers.getPX(g.parents(".fr-img-caption").css("width")):p.helpers.getPX(g.css("width"))),t!==r+i&&R(t),((g.attr("style")||"").match(/(^height:)|(; *height:)/)||g.attr("height"))&&(g.css("height",f.data("start-height")*g.width()/f.data("start-width")),g.removeAttr("height"));A(),p.events.trigger("image.resize",[he()])}}function x(e){if(!p.core.sameInstance(l))return!0;if(f&&g){if(e&&e.stopPropagation(),p.$el.find("img.fr-error").left)return!1;f=null,d.hide(),A(),n(),p.undo.saveStep(),p.events.trigger("image.resizeEnd",[he()])}}function U(e,t,a){p.edit.on(),g&&g.addClass("fr-error"),function(e){$();var t=p.popups.get("image.insert").find(".fr-image-progress-bar-layer");t.addClass("fr-error");var a=t.find("h3");a.text(e),p.events.disableBlur(),a.focus()}(p.language.translate("Something went wrong. Please try again.")),!g&&a&&J(a),p.events.trigger("image.error",[{code:e,message:r[e]},t,a])}function I(e){if(e)return p.$wp&&p.events.$on(p.$wp,"scroll.image-edit",function(){g&&p.popups.isVisible("image.edit")&&(p.events.disableBlur(),n())}),!0;var t="";if(0<p.opts.imageEditButtons.length){t+='<div class="fr-buttons">',t+=p.button.buildList(p.opts.imageEditButtons);var a={buttons:t+="</div>"};return p.popups.create("image.edit",a)}return!1}function $(e){var t=p.popups.get("image.insert");if(t||(t=H()),t.find(".fr-layer.fr-active").removeClass("fr-active").addClass("fr-pactive"),t.find(".fr-image-progress-bar-layer").addClass("fr-active"),t.find(".fr-buttons").hide(),g){var a=ve();p.popups.setContainer("image.insert",p.$sc);var i=a.offset().left+a.width()/2,r=a.offset().top+a.height();p.popups.show("image.insert",i,r,a.outerHeight())}void 0===e&&k(p.language.translate("Uploading"),0)}function F(e){var t=p.popups.get("image.insert");if(t&&(t.find(".fr-layer.fr-pactive").addClass("fr-active").removeClass("fr-pactive"),t.find(".fr-image-progress-bar-layer").removeClass("fr-active"),t.find(".fr-buttons").show(),e||p.$el.find("img.fr-error").length)){if(p.events.focus(),p.$el.find("img.fr-error").length&&(p.$el.find("img.fr-error").remove(),p.undo.saveStep(),p.undo.run(),p.undo.dropRedo()),!p.$wp&&g){var a=g;oe(!0),p.selection.setAfter(a.get(0)),p.selection.restore()}p.popups.hide("image.insert")}}function k(e,t){var a=p.popups.get("image.insert");if(a){var i=a.find(".fr-image-progress-bar-layer");i.find("h3").text(e+(t?" "+t+"%":"")),i.removeClass("fr-error"),t?(i.find("div").removeClass("fr-indeterminate"),i.find("div > span").css("width",t+"%")):i.find("div").addClass("fr-indeterminate")}}function B(e){se.call(e.get(0))}function N(){var e=ye(this);p.popups.hide("image.insert"),e.removeClass("fr-uploading"),e.next().is("br")&&e.next().remove(),B(e),p.events.trigger("image.loaded",[e])}function O(s,e,o,l,f){p.edit.off(),k(p.language.translate("Loading image")),e&&(s=p.helpers.sanitizeURL(s));var t=new Image;t.onload=function(){var e,t;if(l){p.undo.canDo()||l.hasClass("fr-uploading")||p.undo.saveStep();var a=l.data("fr-old-src");l.data("fr-image-pasted")&&(a=null),p.$wp?((e=l.clone().removeData("fr-old-src").removeClass("fr-uploading").removeAttr("data-fr-image-pasted")).off("load"),a&&l.attr("src",a),l.replaceWith(e)):e=l;for(var i=e.get(0).attributes,r=0;r<i.length;r++){var n=i[r];0===n.nodeName.indexOf("data-")&&e.removeAttr(n.nodeName)}if(void 0!==o)for(t in o)o.hasOwnProperty(t)&&"link"!=t&&e.attr("data-"+t,o[t]);e.on("load",N),e.attr("src",s),p.edit.on(),C(!1),p.undo.saveStep(),p.events.disableBlur(),p.$el.blur(),p.events.trigger(a?"image.replaced":"image.inserted",[e,f])}else e=M(s,o,N),C(!1),p.undo.saveStep(),p.events.disableBlur(),p.$el.blur(),p.events.trigger("image.inserted",[e,f])},t.onerror=function(){U(i)},$(p.language.translate("Loading image")),t.src=s}function P(e){k(p.language.translate("Loading image"));var t=this.status,a=this.response,i=this.responseXML,r=this.responseText;try{if(p.opts.imageUploadToS3)if(201==t){var n=function(e){try{var t=ye(e).find("Location").text(),a=ye(e).find("Key").text();return!1===p.events.trigger("image.uploadedToS3",[t,a,e],!0)?(p.edit.on(),!1):t}catch(i){return U(h,e),!1}}(i);n&&O(n,!1,[],e,a||i)}else U(h,a||i,e);else if(200<=t&&t<300){var s=function(e){try{if(!1===p.events.trigger("image.uploaded",[e],!0))return p.edit.on(),!1;var t=JSON.parse(e);return t.link?t:(U(u,e),!1)}catch(a){return U(h,e),!1}}(r);s&&O(s.link,!1,s,e,a||r)}else U(m,a||r,e)}catch(o){U(h,a||r,e)}}function T(){U(h,this.response||this.responseText||this.responseXML)}function L(e){if(e.lengthComputable){var t=e.loaded/e.total*100|0;k(p.language.translate("Uploading"),t)}}function M(e,t,a){var i,r="";if(t&&void 0!==t)for(i in t)t.hasOwnProperty(i)&&"link"!=i&&(r+=" data-"+i+'="'+t[i]+'"');var n=p.opts.imageDefaultWidth;n&&"auto"!=n&&(n+=p.opts.imageResizeWithPercent?"%":"px");var s=ye('<img src="'+e+'"'+r+(n?' style="width: '+n+';"':"")+">");ge(s,p.opts.imageDefaultDisplay,p.opts.imageDefaultAlign),s.on("load",a),s.on("error",function(){ye(this).addClass("fr-error"),U(y)}),p.edit.on(),p.events.focus(!0),p.selection.restore(),p.undo.saveStep(),p.opts.imageSplitHTML?p.markers.split():p.markers.insert(),p.html.wrap();var o=p.$el.find(".fr-marker");return o.length?(o.parent().is("hr")&&o.parent().after(o),p.node.isLastSibling(o)&&o.parent().hasClass("fr-deletable")&&o.insertAfter(o.parent()),o.replaceWith(s)):p.$el.append(s),p.selection.clear(),s}function z(){p.edit.on(),F(!0)}function _(e,t){if(void 0!==e&&0<e.length){if(!1===p.events.trigger("image.beforeUpload",[e,t]))return!1;var a,i=e[0];if((null===p.opts.imageUploadURL||p.opts.imageUploadURL==c)&&!p.opts.imageUploadToS3)return s=i,o=t||g,(l=new FileReader).addEventListener("load",function(){var e=l.result;if(l.result.indexOf("svg+xml")<0){for(var t=atob(l.result.split(",")[1]),a=[],i=0;i<t.length;i++)a.push(t.charCodeAt(i));e=window.URL.createObjectURL(new Blob([new Uint8Array(a)],{type:s.type})),p.image.insert(e,!1,null,o)}},!1),$(),l.readAsDataURL(s),!1;if(i.name||(i.name=(new Date).getTime()+"."+(i.type||"image/jpeg").replace(/image\//g,"")),i.size>p.opts.imageMaxSize)return U(v),!1;if(p.opts.imageAllowedTypes.indexOf(i.type.replace(/image\//g,""))<0)return U(b),!1;if(p.drag_support.formdata&&(a=p.drag_support.formdata?new FormData:null),a){var r;if(!1!==p.opts.imageUploadToS3)for(r in a.append("key",p.opts.imageUploadToS3.keyStart+(new Date).getTime()+"-"+(i.name||"untitled")),a.append("success_action_status","201"),a.append("X-Requested-With","xhr"),a.append("Content-Type",i.type),p.opts.imageUploadToS3.params)p.opts.imageUploadToS3.params.hasOwnProperty(r)&&a.append(r,p.opts.imageUploadToS3.params[r]);for(r in p.opts.imageUploadParams)p.opts.imageUploadParams.hasOwnProperty(r)&&a.append(r,p.opts.imageUploadParams[r]);a.append(p.opts.imageUploadParam,i,i.name);var n=p.opts.imageUploadURL;p.opts.imageUploadToS3&&(n=p.opts.imageUploadToS3.uploadURL?p.opts.imageUploadToS3.uploadURL:"https://"+p.opts.imageUploadToS3.region+".amazonaws.com/"+p.opts.imageUploadToS3.bucket),function(t,a,e,r){function n(){var e=ye(this);e.off("load"),e.addClass("fr-uploading"),e.next().is("br")&&e.next().remove(),p.placeholder.refresh(),B(e),A(),$(),p.edit.off(),t.onload=function(){P.call(t,e)},t.onerror=T,t.upload.onprogress=L,t.onabort=z,e.off("abortUpload").on("abortUpload",function(){4!=t.readyState&&t.abort()}),t.send(a)}var s=new FileReader;s.addEventListener("load",function(){var e=s.result;if(s.result.indexOf("svg+xml")<0){for(var t=atob(s.result.split(",")[1]),a=[],i=0;i<t.length;i++)a.push(t.charCodeAt(i));e=window.URL.createObjectURL(new Blob([new Uint8Array(a)],{type:"image/jpeg"}))}r?(r.on("load",n),r.one("error",function(){r.off("load"),r.attr("src",r.data("fr-old-src")),U(y)}),p.edit.on(),p.undo.saveStep(),r.data("fr-old-src",r.attr("src")),r.attr("src",e)):M(e,null,n)},!1),s.readAsDataURL(e)}(p.core.getXHR(n,p.opts.imageUploadMethod),a,i,t||g)}}var s,o,l}function K(e){if(e.is("img")&&0<e.parents(".fr-img-caption").length)return e.parents(".fr-img-caption")}function W(e){var t=e.originalEvent.dataTransfer;if(t&&t.files&&t.files.length){var a=t.files[0];if(a&&a.type&&-1!==a.type.indexOf("image")&&0<=p.opts.imageAllowedTypes.indexOf(a.type.replace(/image\//g,""))){if(!p.opts.imageUpload)return e.preventDefault(),e.stopPropagation(),!1;p.markers.remove(),p.markers.insertAtPoint(e.originalEvent),p.$el.find(".fr-marker").replaceWith(ye.FE.MARKERS),0===p.$el.find(".fr-marker").length&&p.selection.setAtEnd(p.el),p.popups.hideAll();var i=p.popups.get("image.insert");i||(i=H()),p.popups.setContainer("image.insert",p.$sc);var r=e.originalEvent.pageX,n=e.originalEvent.pageY;return p.opts.iframe&&(n+=p.$iframe.offset().top,r+=p.$iframe.offset().left),p.popups.show("image.insert",r,n),$(),0<=p.opts.imageAllowedTypes.indexOf(a.type.replace(/image\//g,""))?(oe(!0),_(t.files)):U(b),e.preventDefault(),e.stopPropagation(),!1}}}function H(e){if(e)return p.popups.onRefresh("image.insert",w),p.popups.onHide("image.insert",E),!0;var t,a="";p.opts.imageUpload||p.opts.imageInsertButtons.splice(p.opts.imageInsertButtons.indexOf("imageUpload"),1),1<p.opts.imageInsertButtons.length&&(a='<div class="fr-buttons">'+p.button.buildList(p.opts.imageInsertButtons)+"</div>");var i=p.opts.imageInsertButtons.indexOf("imageUpload"),r=p.opts.imageInsertButtons.indexOf("imageByURL"),n="";0<=i&&(t=" fr-active",0<=r&&r<i&&(t=""),n='<div class="fr-image-upload-layer'+t+' fr-layer" id="fr-image-upload-layer-'+p.id+'"><strong>'+p.language.translate("Drop image")+"</strong><br>("+p.language.translate("or click")+')<div class="fr-form"><input type="file" accept="image/'+p.opts.imageAllowedTypes.join(", image/").toLowerCase()+'" tabIndex="-1" aria-labelledby="fr-image-upload-layer-'+p.id+'" role="button"></div></div>');var s="";0<=r&&(t=" fr-active",0<=i&&i<r&&(t=""),s='<div class="fr-image-by-url-layer'+t+' fr-layer" id="fr-image-by-url-layer-'+p.id+'"><div class="fr-input-line"><input id="fr-image-by-url-layer-text-'+p.id+'" type="text" placeholder="http://" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="imageInsertByURL" tabIndex="2" role="button">'+p.language.translate("Insert")+"</button></div></div>");var o,l={buttons:a,upload_layer:n,by_url_layer:s,progress_bar:'<div class="fr-image-progress-bar-layer fr-layer"><h3 tabIndex="-1" class="fr-message">Uploading</h3><div class="fr-loader"><span class="fr-progress"></span></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-dismiss" data-cmd="imageDismissError" tabIndex="2" role="button">OK</button></div></div>'},f=p.popups.create("image.insert",l);return p.$wp&&p.events.$on(p.$wp,"scroll",function(){g&&p.popups.isVisible("image.insert")&&ue()}),o=f,p.events.$on(o,"dragover dragenter",".fr-image-upload-layer",function(){return ye(this).addClass("fr-drop"),!1},!0),p.events.$on(o,"dragleave dragend",".fr-image-upload-layer",function(){return ye(this).removeClass("fr-drop"),!1},!0),p.events.$on(o,"drop",".fr-image-upload-layer",function(e){e.preventDefault(),e.stopPropagation(),ye(this).removeClass("fr-drop");var t=e.originalEvent.dataTransfer;if(t&&t.files){var a=o.data("instance")||p;a.events.disableBlur(),a.image.upload(t.files),a.events.enableBlur()}},!0),p.helpers.isIOS()&&p.events.$on(o,"touchstart",'.fr-image-upload-layer input[type="file"]',function(){ye(this).trigger("click")},!0),p.events.$on(o,"change",'.fr-image-upload-layer input[type="file"]',function(){if(this.files){var e=o.data("instance")||p;e.events.disableBlur(),o.find("input:focus").blur(),e.events.enableBlur(),e.image.upload(this.files,g)}ye(this).val("")},!0),f}function Y(){g&&p.popups.get("image.alt").find("input").val(g.attr("alt")||"").trigger("change")}function X(){var e=p.popups.get("image.alt");e||(e=j()),F(),p.popups.refresh("image.alt"),p.popups.setContainer("image.alt",p.$sc);var t=ve();be()&&(t=t.find(".fr-img-wrap"));var a=t.offset().left+t.outerWidth()/2,i=t.offset().top+t.outerHeight();p.popups.show("image.alt",a,i,t.outerHeight())}function j(e){if(e)return p.popups.onRefresh("image.alt",Y),!0;var t={buttons:'<div class="fr-buttons">'+p.button.buildList(p.opts.imageAltButtons)+"</div>",alt_layer:'<div class="fr-image-alt-layer fr-layer fr-active" id="fr-image-alt-layer-'+p.id+'"><div class="fr-input-line"><input id="fr-image-alt-layer-text-'+p.id+'" type="text" placeholder="'+p.language.translate("Alternative Text")+'" tabIndex="1"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="imageSetAlt" tabIndex="2" role="button">'+p.language.translate("Update")+"</button></div></div>"},a=p.popups.create("image.alt",t);return p.$wp&&p.events.$on(p.$wp,"scroll.image-alt",function(){g&&p.popups.isVisible("image.alt")&&X()}),a}function G(){var e=p.popups.get("image.size");if(g)if(be()){var t=g.parent();t.get(0).style.width||(t=g.parent().parent()),e.find('input[name="width"]').val(t.get(0).style.width).trigger("change"),e.find('input[name="height"]').val(t.get(0).style.height).trigger("change")}else e.find('input[name="width"]').val(g.get(0).style.width).trigger("change"),e.find('input[name="height"]').val(g.get(0).style.height).trigger("change")}function V(){var e=p.popups.get("image.size");e||(e=q()),F(),p.popups.refresh("image.size"),p.popups.setContainer("image.size",p.$sc);var t=ve();be()&&(t=t.find(".fr-img-wrap"));var a=t.offset().left+t.outerWidth()/2,i=t.offset().top+t.outerHeight();p.popups.show("image.size",a,i,t.outerHeight())}function q(e){if(e)return p.popups.onRefresh("image.size",G),!0;var t={buttons:'<div class="fr-buttons">'+p.button.buildList(p.opts.imageSizeButtons)+"</div>",size_layer:'<div class="fr-image-size-layer fr-layer fr-active" id="fr-image-size-layer-'+p.id+'"><div class="fr-image-group"><div class="fr-input-line"><input id="fr-image-size-layer-width-'+p.id+'" type="text" name="width" placeholder="'+p.language.translate("Width")+'" tabIndex="1"></div><div class="fr-input-line"><input id="fr-image-size-layer-height'+p.id+'" type="text" name="height" placeholder="'+p.language.translate("Height")+'" tabIndex="1"></div></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="imageSetSize" tabIndex="2" role="button">'+p.language.translate("Update")+"</button></div></div>"},a=p.popups.create("image.size",t);return p.$wp&&p.events.$on(p.$wp,"scroll.image-size",function(){g&&p.popups.isVisible("image.size")&&V()}),a}function Q(e,t,a,i){return e.pageX=t,S.call(this,e),e.pageX=e.pageX+a*Math.floor(Math.pow(1.1,i)),D.call(this,e),x.call(this,e),++i}function J(e){(e=e||ve())&&!1!==p.events.trigger("image.beforeRemove",[e])&&(p.popups.hideAll(),me(),oe(!0),p.undo.canDo()||p.undo.saveStep(),e.get(0)==p.el?e.removeAttr("src"):(e.get(0).parentNode&&"A"==e.get(0).parentNode.tagName?(p.selection.setBefore(e.get(0).parentNode)||p.selection.setAfter(e.get(0).parentNode)||e.parent().after(ye.FE.MARKERS),ye(e.get(0).parentNode).remove()):(p.selection.setBefore(e.get(0))||p.selection.setAfter(e.get(0))||e.after(ye.FE.MARKERS),e.remove()),p.html.fillEmptyBlocks(),p.selection.restore()),p.undo.saveStep())}function Z(e){var t=e.which;if(g&&(t==ye.FE.KEYCODE.BACKSPACE||t==ye.FE.KEYCODE.DELETE))return e.preventDefault(),e.stopPropagation(),J(),!1;if(g&&t==ye.FE.KEYCODE.ESC){var a=g;return oe(!0),p.selection.setAfter(a.get(0)),p.selection.restore(),e.preventDefault(),!1}if(g&&(t==ye.FE.KEYCODE.ARROW_LEFT||t==ye.FE.KEYCODE.ARROW_RIGHT)){var i=g.get(0);return oe(!0),t==ye.FE.KEYCODE.ARROW_LEFT?p.selection.setBefore(i):p.selection.setAfter(i),p.selection.restore(),e.preventDefault(),!1}return g&&t!=ye.FE.KEYCODE.F10&&!p.keys.isBrowserAction(e)?(e.preventDefault(),e.stopPropagation(),!1):void 0}function ee(e){if(e&&"IMG"==e.tagName){if(p.node.hasClass(e,"fr-uploading")||p.node.hasClass(e,"fr-error")?e.parentNode.removeChild(e):p.node.hasClass(e,"fr-draggable")&&e.classList.remove("fr-draggable"),e.parentNode&&e.parentNode.parentNode&&p.node.hasClass(e.parentNode.parentNode,"fr-img-caption")){var t=e.parentNode.parentNode;t.removeAttribute("contenteditable"),t.removeAttribute("draggable"),t.classList.remove("fr-draggable");var a=e.nextSibling;a&&a.removeAttribute("contenteditable")}}else if(e&&e.nodeType==Node.ELEMENT_NODE)for(var i=e.querySelectorAll("img.fr-uploading, img.fr-error, img.fr-draggable"),r=0;r<i.length;r++)ee(i[r])}function te(e){if(!1===p.events.trigger("image.beforePasteUpload",[e]))return!1;g=ye(e),A(),n(),ue(),$(),g.one("load",function(){A(),$()});for(var t=atob(ye(e).attr("src").split(",")[1]),a=[],i=0;i<t.length;i++)a.push(t.charCodeAt(i));_([new Blob([new Uint8Array(a)],{type:ye(e).attr("src").split(",")[0].replace(/data\:/g,"").replace(/;base64/g,"")})],g)}function ae(){p.opts.imagePaste?p.$el.find("img[data-fr-image-pasted]").each(function(e,a){if(p.opts.imagePasteProcess){var t=p.opts.imageDefaultWidth;t&&"auto"!=t&&(t+=p.opts.imageResizeWithPercent?"%":"px"),ye(a).css("width",t).removeClass("fr-dii fr-dib fr-fir fr-fil"),ge(ye(a),p.opts.imageDefaultDisplay,p.opts.imageDefaultAlign)}if(0===a.src.indexOf("data:"))te(a);else if(0===a.src.indexOf("blob:")||0===a.src.indexOf("http")&&p.opts.imageUploadRemoteUrls&&p.opts.imageCORSProxy){var i=new Image;i.crossOrigin="Anonymous",i.onload=function(){var e=p.o_doc.createElement("CANVAS"),t=e.getContext("2d");e.height=this.naturalHeight,e.width=this.naturalWidth,t.drawImage(this,0,0),a.src=e.toDataURL("image/png"),te(a)},i.src=(0===a.src.indexOf("blob:")?"":p.opts.imageCORSProxy+"/")+a.src}else 0!==a.src.indexOf("http")||0===a.src.indexOf("https://mail.google.com/mail")?(p.selection.save(),ye(a).remove(),p.selection.restore()):ye(a).removeAttr("data-fr-image-pasted")}):p.$el.find("img[data-fr-image-pasted]").remove()}function ie(e){var t=e.target.result,a=p.opts.imageDefaultWidth;a&&"auto"!=a&&(a+=p.opts.imageResizeWithPercent?"%":"px"),p.undo.saveStep(),p.html.insert('<img data-fr-image-pasted="true" src="'+t+'"'+(a?' style="width: '+a+';"':"")+">");var i=p.$el.find('img[data-fr-image-pasted="true"]');i&&ge(i,p.opts.imageDefaultDisplay,p.opts.imageDefaultAlign),p.events.trigger("paste.after")}function re(e){if(e&&e.clipboardData&&e.clipboardData.items){var t=null;if(e.clipboardData.getData("text/rtf"))t=e.clipboardData.items[0].getAsFile();else for(var a=0;a<e.clipboardData.items.length&&!(t=e.clipboardData.items[a].getAsFile());a++);if(t)return i=t,(r=new FileReader).onload=ie,r.readAsDataURL(i),!1}var i,r}function ne(e){return e=e.replace(/<img /gi,'<img data-fr-image-pasted="true" ')}function se(e){if("false"==ye(this).parents("[contenteditable]:not(.fr-element):not(.fr-img-caption):not(body):first").attr("contenteditable"))return!0;if(e&&"touchend"==e.type&&a)return!0;if(e&&p.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1;for(var t=0;t<ye.FE.INSTANCES.length;t++)ye.FE.INSTANCES[t]!=p&&ye.FE.INSTANCES[t].events.trigger("image.hideResizer");p.toolbar.disable(),e&&(e.stopPropagation(),e.preventDefault()),p.helpers.isMobile()&&(p.events.disableBlur(),p.$el.blur(),p.events.enableBlur()),p.opts.iframe&&p.size.syncIframe(),g=ye(this),me(),A(),n(),p.popups.areVisible()&&p.events.disableBlur(),p.win.getSelection?(p.win.getSelection().removeAllRanges(),p.win.getSelection().addRange(p.doc.createRange())):p.selection.clear(),p.helpers.isIOS()&&(p.events.disableBlur(),p.$el.blur()),p.button.bulkRefresh(),p.events.trigger("video.hideResizer")}function oe(e){g&&(le||!0===e)&&(p.toolbar.enable(),l.removeClass("fr-active"),p.popups.hide("image.edit"),g=null,pe(),f=null,d&&d.hide())}r[i]="Image cannot be loaded from the passed link.",r[u]="No link in upload response.",r[m]="Error during file upload.",r[h]="Parsing response failed.",r[v]="File is too large.",r[b]="Image file type is invalid.",r[7]="Files can be uploaded only to same domain in IE 8 and IE 9.";var le=!(r[y]="Image file is corrupted.");function fe(){le=!0}function pe(){le=!1}function ge(e,t,a){!p.opts.htmlUntouched&&p.opts.useClasses?(e.removeClass("fr-fil fr-fir fr-dib fr-dii"),a&&e.addClass("fr-fi"+a[0]),t&&e.addClass("fr-di"+t[0])):"inline"==t?(e.css({display:"inline-block",verticalAlign:"bottom",margin:p.opts.imageDefaultMargin}),"center"==a?e.css({"float":"none",marginBottom:"",marginTop:"",maxWidth:"calc(100% - "+2*p.opts.imageDefaultMargin+"px)",textAlign:"center"}):"left"==a?e.css({"float":"left",marginLeft:0,maxWidth:"calc(100% - "+p.opts.imageDefaultMargin+"px)",textAlign:"left"}):e.css({"float":"right",marginRight:0,maxWidth:"calc(100% - "+p.opts.imageDefaultMargin+"px)",textAlign:"right"})):"block"==t&&(e.css({display:"block","float":"none",verticalAlign:"top",margin:p.opts.imageDefaultMargin+"px auto",textAlign:"center"}),"left"==a?e.css({marginLeft:0,textAlign:"left"}):"right"==a&&e.css({marginRight:0,textAlign:"right"}))}function de(e){if(void 0===e&&(e=ve()),e){if(e.hasClass("fr-fil"))return"left";if(e.hasClass("fr-fir"))return"right";if(e.hasClass("fr-dib")||e.hasClass("fr-dii"))return"center";var t=e.css("float");if(e.css("float","none"),"block"==e.css("display")){if(e.css("float",""),e.css("float")!=t&&e.css("float",t),0===parseInt(e.css("margin-left"),10))return"left";if(0===parseInt(e.css("margin-right"),10))return"right"}else{if(e.css("float",""),e.css("float")!=t&&e.css("float",t),"left"==e.css("float"))return"left";if("right"==e.css("float"))return"right"}}return"center"}function ce(e){void 0===e&&(e=ve());var t=e.css("float");return e.css("float","none"),"block"==e.css("display")?(e.css("float",""),e.css("float")!=t&&e.css("float",t),"block"):(e.css("float",""),e.css("float")!=t&&e.css("float",t),"inline")}function ue(){var e=p.popups.get("image.insert");e||(e=H()),p.popups.isVisible("image.insert")||(F(),p.popups.refresh("image.insert"),p.popups.setContainer("image.insert",p.$sc));var t=ve();be()&&(t=t.find(".fr-img-wrap"));var a=t.offset().left+t.outerWidth()/2,i=t.offset().top+t.outerHeight();p.popups.show("image.insert",a,i,t.outerHeight(!0))}function me(){if(g){p.events.disableBlur(),p.selection.clear();var e=p.doc.createRange();e.selectNode(g.get(0)),p.browser.msie&&e.collapse(!0),p.selection.get().addRange(e),p.events.enableBlur()}}function he(){return g}function ve(){return be()?g.parents(".fr-img-caption:first"):g}function be(){return!!g&&0<g.parents(".fr-img-caption").length}return{_init:function(){var i;p.events.$on(p.$el,p._mousedown,"IMG"==p.el.tagName?null:'img:not([contenteditable="false"])',function(e){if("false"==ye(this).parents("[contenteditable]:not(.fr-element):not(.fr-img-caption):not(body):first").attr("contenteditable"))return!0;p.helpers.isMobile()||p.selection.clear(),t=!0,p.popups.areVisible()&&p.events.disableBlur(),p.browser.msie&&(p.events.disableBlur(),p.$el.attr("contenteditable",!1)),p.draggable||"touchstart"==e.type||e.preventDefault(),e.stopPropagation()}),p.events.$on(p.$el,p._mouseup,"IMG"==p.el.tagName?null:'img:not([contenteditable="false"])',function(e){if("false"==ye(this).parents("[contenteditable]:not(.fr-element):not(.fr-img-caption):not(body):first").attr("contenteditable"))return!0;t&&(t=!1,e.stopPropagation(),p.browser.msie&&(p.$el.attr("contenteditable",!0),p.events.enableBlur()))}),p.events.on("keyup",function(e){if(e.shiftKey&&""===p.selection.text().replace(/\n/g,"")&&p.keys.isArrow(e.which)){var t=p.selection.element(),a=p.selection.endElement();t&&"IMG"==t.tagName?B(ye(t)):a&&"IMG"==a.tagName&&B(ye(a))}},!0),p.events.on("drop",W),p.events.on("element.beforeDrop",K),p.events.on("mousedown window.mousedown",fe),p.events.on("window.touchmove",pe),p.events.on("mouseup window.mouseup",function(){if(g)return oe(),!1;pe()}),p.events.on("commands.mousedown",function(e){0<e.parents(".fr-toolbar").length&&oe()}),p.events.on("image.resizeEnd",function(){p.opts.iframe&&p.size.syncIframe()}),p.events.on("blur image.hideResizer commands.undo commands.redo element.dropped",function(){oe(!(t=!1))}),p.events.on("modals.hide",function(){g&&(me(),p.selection.clear())}),p.events.on("image.resizeEnd",function(){p.win.getSelection&&B(g)}),"IMG"==p.el.tagName&&p.$el.addClass("fr-view"),p.events.$on(p.$el,p.helpers.isMobile()&&!p.helpers.isWindowsPhone()?"touchend":"click","IMG"==p.el.tagName?null:'img:not([contenteditable="false"])',se),p.helpers.isMobile()&&(p.events.$on(p.$el,"touchstart","IMG"==p.el.tagName?null:'img:not([contenteditable="false"])',function(){a=!1}),p.events.$on(p.$el,"touchmove",function(){a=!0})),p.$wp?(p.events.on("window.keydown keydown",Z,!0),p.events.on("keyup",function(e){if(g&&e.which==ye.FE.KEYCODE.ENTER)return!1},!0),p.events.$on(p.$el,"keydown",function(){var e=p.selection.element();e.nodeType===Node.TEXT_NODE&&(e=e.parentNode),p.node.hasClass(e,"fr-inner")||(p.node.hasClass(e,"fr-img-caption")||(e=ye(e).parents(".fr-img-caption").get(0)),ye(e).after(ye.FE.INVISIBLE_SPACE+ye.FE.MARKERS),p.selection.restore())})):p.events.$on(p.$win,"keydown",Z),p.events.on("toolbar.esc",function(){if(g){if(p.$wp)p.events.disableBlur(),p.events.focus();else{var e=g;oe(!0),p.selection.setAfter(e.get(0)),p.selection.restore()}return!1}},!0),p.events.on("toolbar.focusEditor",function(){if(g)return!1},!0),p.events.on("window.cut window.copy",function(e){if(g&&p.popups.isVisible("image.edit")&&!p.popups.get("image.edit").find(":focus").length){var t=ve();be()?(t.before(ye.FE.START_MARKER),t.after(ye.FE.END_MARKER),p.selection.restore(),p.paste.saveCopiedText(t.get(0).outerHTML,t.text())):(me(),p.paste.saveCopiedText(g.get(0).outerHTML,g.attr("alt"))),"copy"==e.type?setTimeout(function(){B(g)}):(oe(!0),p.undo.saveStep(),setTimeout(function(){p.undo.saveStep()},0))}},!0),p.browser.msie&&p.events.on("keydown",function(e){if(!p.selection.isCollapsed()||!g)return!0;var t=e.which;t==ye.FE.KEYCODE.C&&p.keys.ctrlKey(e)?p.events.trigger("window.copy"):t==ye.FE.KEYCODE.X&&p.keys.ctrlKey(e)&&p.events.trigger("window.cut")}),p.events.$on(ye(p.o_win),"keydown",function(e){var t=e.which;if(g&&t==ye.FE.KEYCODE.BACKSPACE)return e.preventDefault(),!1}),p.events.$on(p.$win,"keydown",function(e){var t=e.which;g&&g.hasClass("fr-uploading")&&t==ye.FE.KEYCODE.ESC&&g.trigger("abortUpload")}),p.events.on("destroy",function(){g&&g.hasClass("fr-uploading")&&g.trigger("abortUpload")}),p.events.on("paste.before",re),p.events.on("paste.beforeCleanup",ne),p.events.on("paste.after",ae),p.events.on("html.set",e),p.events.on("html.inserted",e),e(),p.events.on("destroy",function(){o=[]}),p.events.on("html.processGet",ee),p.opts.imageOutputSize&&p.events.on("html.beforeGet",function(){i=p.el.querySelectorAll("img");for(var e=0;e<i.length;e++){var t=i[e].style.width||ye(i[e]).width(),a=i[e].style.height||ye(i[e]).height();t&&i[e].setAttribute("width",(""+t).replace(/px/,"")),a&&i[e].setAttribute("height",(""+a).replace(/px/,""))}}),p.opts.iframe&&p.events.on("image.loaded",p.size.syncIframe),p.$wp&&(C(),p.events.on("contentChanged",C)),p.events.$on(ye(p.o_win),"orientationchange.image",function(){setTimeout(function(){g&&B(g)},100)}),I(!0),H(!0),q(!0),j(!0),p.events.on("node.remove",function(e){if("IMG"==e.get(0).tagName)return J(e),!1})},showInsertPopup:function(){var e=p.$tb.find('.fr-command[data-cmd="insertImage"]'),t=p.popups.get("image.insert");if(t||(t=H()),F(),!t.hasClass("fr-active"))if(p.popups.refresh("image.insert"),p.popups.setContainer("image.insert",p.$tb),e.is(":visible")){var a=e.offset().left+e.outerWidth()/2,i=e.offset().top+(p.opts.toolbarBottom?10:e.outerHeight()-10);p.popups.show("image.insert",a,i,e.outerHeight())}else p.position.forSelection(t),p.popups.show("image.insert")},showLayer:function(e){var t,a,i=p.popups.get("image.insert");if(g||p.opts.toolbarInline){if(g){var r=ve();be()&&(r=r.find(".fr-img-wrap")),a=r.offset().top+r.outerHeight(),t=r.offset().left+r.outerWidth()/2}}else{var n=p.$tb.find('.fr-command[data-cmd="insertImage"]');t=n.offset().left+n.outerWidth()/2,a=n.offset().top+(p.opts.toolbarBottom?10:n.outerHeight()-10)}!g&&p.opts.toolbarInline&&(a=i.offset().top-p.helpers.getPX(i.css("margin-top")),i.hasClass("fr-above")&&(a+=i.outerHeight())),i.find(".fr-layer").removeClass("fr-active"),i.find(".fr-"+e+"-layer").addClass("fr-active"),p.popups.show("image.insert",t,a,g?g.outerHeight():0),p.accessibility.focusPopup(i)},refreshUploadButton:function(e){p.popups.get("image.insert").find(".fr-image-upload-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},refreshByURLButton:function(e){p.popups.get("image.insert").find(".fr-image-by-url-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},upload:_,insertByURL:function(){var e=p.popups.get("image.insert").find(".fr-image-by-url-layer input");if(0<e.val().length){$(),k(p.language.translate("Loading image"));var t=e.val();if(p.opts.imageUploadRemoteUrls&&p.opts.imageCORSProxy&&p.opts.imageUpload){var a=new XMLHttpRequest;a.onload=function(){200==this.status?_([new Blob([this.response],{type:this.response.type||"image/png"})],g):U(i)},a.onerror=function(){O(t,!0,[],g)},a.open("GET",p.opts.imageCORSProxy+"/"+t,!0),a.responseType="blob",a.send()}else O(t,!0,[],g);e.val(""),e.blur()}},align:function(e){var t=ve();t.removeClass("fr-fir fr-fil"),!p.opts.htmlUntouched&&p.opts.useClasses?"left"==e?t.addClass("fr-fil"):"right"==e&&t.addClass("fr-fir"):ge(t,ce(),e),me(),A(),n(),p.selection.clear()},refreshAlign:function(e){g&&e.find("> *:first").replaceWith(p.icon.create("image-align-"+de()))},refreshAlignOnShow:function(e,t){g&&t.find('.fr-command[data-param1="'+de()+'"]').addClass("fr-active").attr("aria-selected",!0)},display:function(e){var t=ve();t.removeClass("fr-dii fr-dib"),!p.opts.htmlUntouched&&p.opts.useClasses?"inline"==e?t.addClass("fr-dii"):"block"==e&&t.addClass("fr-dib"):ge(t,e,de()),me(),A(),n(),p.selection.clear()},refreshDisplayOnShow:function(e,t){g&&t.find('.fr-command[data-param1="'+ce()+'"]').addClass("fr-active").attr("aria-selected",!0)},replace:ue,back:function(){g?(p.events.disableBlur(),ye(".fr-popup input:focus").blur(),B(g)):(p.events.disableBlur(),p.selection.restore(),p.events.enableBlur(),p.popups.hide("image.insert"),p.toolbar.showInline())},get:he,getEl:ve,insert:O,showProgressBar:$,remove:J,hideProgressBar:F,applyStyle:function(e,t,a){if(void 0===t&&(t=p.opts.imageStyles),void 0===a&&(a=p.opts.imageMultipleStyles),!g)return!1;var i=ve();if(!a){var r=Object.keys(t);r.splice(r.indexOf(e),1),i.removeClass(r.join(" "))}"object"==typeof t[e]?(i.removeAttr("style"),i.css(t[e].style)):i.toggleClass(e),B(g)},showAltPopup:X,showSizePopup:V,setAlt:function(e){if(g){var t=p.popups.get("image.alt");g.attr("alt",e||t.find("input").val()||""),t.find("input:focus").blur(),B(g)}},setSize:function(e,t){if(g){var a=p.popups.get("image.size");e=e||a.find('input[name="width"]').val()||"",t=t||a.find('input[name="height"]').val()||"";var i=/^[\d]+((px)|%)*$/g;g.removeAttr("width").removeAttr("height"),e.match(i)?g.css("width",e):g.css("width",""),t.match(i)?g.css("height",t):g.css("height",""),be()&&(g.parent().removeAttr("width").removeAttr("height"),e.match(i)?g.parent().css("width",e):g.parent().css("width",""),t.match(i)?g.parent().css("height",t):g.parent().css("height","")),a&&a.find("input:focus").blur(),B(g)}},toggleCaption:function(){var e;if(g&&!be()){(e=g).parent().is("a")&&(e=g.parent());var t=e.width();e.wrap("<span "+(p.browser.mozilla?"":'contenteditable="false"')+'class="fr-img-caption '+g.attr("class")+'" draggable="false"></span>'),e.wrap('<span class="fr-img-wrap"></span>'),e.after('<span class="fr-inner"'+(p.browser.mozilla?"":' contenteditable="true"')+">"+ye.FE.START_MARKER+"Image caption"+ye.FE.END_MARKER+"</span>"),g.removeAttr("class").removeAttr("style").removeAttr("width"),g.parents(".fr-img-caption").css("width",t+"px"),oe(!0),p.selection.restore()}else e=ve(),g.insertAfter(e),g.attr("class",e.attr("class").replace("fr-img-caption","")).attr("style",e.attr("style")),e.remove(),B(g)},hasCaption:be,exitEdit:oe,edit:B}},ye.FE.DefineIcon("insertImage",{NAME:"image"}),ye.FE.RegisterShortcut(ye.FE.KEYCODE.P,"insertImage",null,"P"),ye.FE.RegisterCommand("insertImage",{title:"Insert Image",undo:!1,focus:!0,refreshAfterCallback:!1,popup:!0,callback:function(){this.popups.isVisible("image.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("image.insert")):this.image.showInsertPopup()},plugin:"image"}),ye.FE.DefineIcon("imageUpload",{NAME:"upload"}),ye.FE.RegisterCommand("imageUpload",{title:"Upload Image",undo:!1,focus:!1,toggle:!0,callback:function(){this.image.showLayer("image-upload")},refresh:function(e){this.image.refreshUploadButton(e)}}),ye.FE.DefineIcon("imageByURL",{NAME:"link"}),ye.FE.RegisterCommand("imageByURL",{title:"By URL",undo:!1,focus:!1,toggle:!0,callback:function(){this.image.showLayer("image-by-url")},refresh:function(e){this.image.refreshByURLButton(e)}}),ye.FE.RegisterCommand("imageInsertByURL",{title:"Insert Image",undo:!0,refreshAfterCallback:!1,callback:function(){this.image.insertByURL()},refresh:function(e){this.image.get()?e.text(this.language.translate("Replace")):e.text(this.language.translate("Insert"))}}),ye.FE.DefineIcon("imageDisplay",{NAME:"star"}),ye.FE.RegisterCommand("imageDisplay",{title:"Display",type:"dropdown",options:{inline:"Inline",block:"Break Text"},callback:function(e,t){this.image.display(t)},refresh:function(e){this.opts.imageTextNear||e.addClass("fr-hidden")},refreshOnShow:function(e,t){this.image.refreshDisplayOnShow(e,t)}}),ye.FE.DefineIcon("image-align",{NAME:"align-left"}),ye.FE.DefineIcon("image-align-left",{NAME:"align-left"}),ye.FE.DefineIcon("image-align-right",{NAME:"align-right"}),ye.FE.DefineIcon("image-align-center",{NAME:"align-justify"}),ye.FE.DefineIcon("imageAlign",{NAME:"align-justify"}),ye.FE.RegisterCommand("imageAlign",{type:"dropdown",title:"Align",options:{left:"Align Left",center:"None",right:"Align Right"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=ye.FE.COMMANDS.imageAlign.options;for(var a in t)t.hasOwnProperty(a)&&(e+='<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="imageAlign" data-param1="'+a+'" title="'+this.language.translate(t[a])+'">'+this.icon.create("image-align-"+a)+'<span class="fr-sr-only">'+this.language.translate(t[a])+"</span></a></li>");return e+="</ul>"},callback:function(e,t){this.image.align(t)},refresh:function(e){this.image.refreshAlign(e)},refreshOnShow:function(e,t){this.image.refreshAlignOnShow(e,t)}}),ye.FE.DefineIcon("imageReplace",{NAME:"exchange",FA5NAME:"exchange-alt"}),ye.FE.RegisterCommand("imageReplace",{title:"Replace",undo:!1,focus:!1,popup:!0,refreshAfterCallback:!1,callback:function(){this.image.replace()}}),ye.FE.DefineIcon("imageRemove",{NAME:"trash"}),ye.FE.RegisterCommand("imageRemove",{title:"Remove",callback:function(){this.image.remove()}}),ye.FE.DefineIcon("imageBack",{NAME:"arrow-left"}),ye.FE.RegisterCommand("imageBack",{title:"Back",undo:!1,focus:!1,back:!0,callback:function(){this.image.back()},refresh:function(e){this.image.get()||this.opts.toolbarInline?(e.removeClass("fr-hidden"),e.next(".fr-separator").removeClass("fr-hidden")):(e.addClass("fr-hidden"),e.next(".fr-separator").addClass("fr-hidden"))}}),ye.FE.RegisterCommand("imageDismissError",{title:"OK",undo:!1,callback:function(){this.image.hideProgressBar(!0)}}),ye.FE.DefineIcon("imageStyle",{NAME:"magic"}),ye.FE.RegisterCommand("imageStyle",{title:"Style",type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.imageStyles;for(var a in t)if(t.hasOwnProperty(a)){var i=t[a];"object"==typeof i&&(i=i.title),e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="imageStyle" data-param1="'+a+'">'+this.language.translate(i)+"</a></li>"}return e+="</ul>"},callback:function(e,t){this.image.applyStyle(t)},refreshOnShow:function(e,t){var a=this.image.getEl();a&&t.find(".fr-command").each(function(){var e=ye(this).data("param1"),t=a.hasClass(e);ye(this).toggleClass("fr-active",t).attr("aria-selected",t)})}}),ye.FE.DefineIcon("imageAlt",{NAME:"info"}),ye.FE.RegisterCommand("imageAlt",{undo:!1,focus:!1,popup:!0,title:"Alternative Text",callback:function(){this.image.showAltPopup()}}),ye.FE.RegisterCommand("imageSetAlt",{undo:!0,focus:!1,title:"Update",refreshAfterCallback:!1,callback:function(){this.image.setAlt()}}),ye.FE.DefineIcon("imageSize",{NAME:"arrows-alt"}),ye.FE.RegisterCommand("imageSize",{undo:!1,focus:!1,popup:!0,title:"Change Size",callback:function(){this.image.showSizePopup()}}),ye.FE.RegisterCommand("imageSetSize",{undo:!0,focus:!1,title:"Update",refreshAfterCallback:!1,callback:function(){this.image.setSize()}}),ye.FE.DefineIcon("imageCaption",{NAME:"commenting",FA5NAME:"comment-alt"}),ye.FE.RegisterCommand("imageCaption",{undo:!0,focus:!1,title:"Image Caption",refreshAfterCallback:!0,callback:function(){this.image.toggleCaption()},refresh:function(e){this.image.get()&&e.toggleClass("fr-active",this.image.hasCaption())}})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/image.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/lists.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/lists.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/lists.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(u){u.extend(u.FE.DEFAULTS,{listAdvancedTypes:!0}),u.FE.PLUGINS.lists=function(d){function c(e){return'<span class="fr-open-'+e.toLowerCase()+'"></span>'}function g(e){return'<span class="fr-close-'+e.toLowerCase()+'"></span>'}function r(e,t){!function(e,t){for(var n=[],a=0;a<e.length;a++){var r=e[a].parentNode;"LI"==e[a].tagName&&r.tagName!=t&&n.indexOf(r)<0&&n.push(r)}for(a=n.length-1;0<=a;a--){var o=u(n[a]);o.replaceWith("<"+t.toLowerCase()+" "+d.node.attributes(o.get(0))+">"+o.html()+"</"+t.toLowerCase()+">")}}(e,t);var n,a=d.html.defaultTag(),r=null;e.length&&(n="rtl"==d.opts.direction||"rtl"==u(e[0]).css("direction")?"margin-right":"margin-left");for(var o=0;o<e.length;o++)if("LI"!=e[o].tagName){var s=d.helpers.getPX(u(e[o]).css(n))||0;(e[o].style.marginLeft=null)===r&&(r=s);var i=0<r?"<"+t+' style="'+n+": "+r+'px;">':"<"+t+">",l="</"+t+">";for(s-=r;0<s/d.opts.indentMargin;)i+="<"+t+">",l+=l,s-=d.opts.indentMargin;a&&e[o].tagName.toLowerCase()==a?u(e[o]).replaceWith(i+"<li"+d.node.attributes(e[o])+">"+u(e[o]).html()+"</li>"+l):u(e[o]).wrap(i+"<li></li>"+l)}d.clean.lists()}function o(e){var t,n;for(t=e.length-1;0<=t;t--)for(n=t-1;0<=n;n--)if(u(e[n]).find(e[t]).length||e[n]==e[t]){e.splice(t,1);break}var a=[];for(t=0;t<e.length;t++){var r=u(e[t]),o=e[t].parentNode,s=r.attr("class");if(r.before(g(o.tagName)),"LI"==o.parentNode.tagName)r.before(g("LI")),r.after(c("LI"));else{var i="";s&&(i+=' class="'+s+'"');var l="rtl"==d.opts.direction||"rtl"==r.css("direction")?"margin-right":"margin-left";d.helpers.getPX(u(o).css(l))&&0<=(u(o).attr("style")||"").indexOf(l+":")&&(i+=' style="'+l+":"+d.helpers.getPX(u(o).css(l))+'px;"'),d.html.defaultTag()&&0===r.find(d.html.blockTagsQuery()).length&&r.wrapInner("<"+d.html.defaultTag()+i+"></"+d.html.defaultTag()+">"),d.node.isEmpty(r.get(0),!0)||0!==r.find(d.html.blockTagsQuery()).length||r.append("<br>"),r.append(c("LI")),r.prepend(g("LI"))}r.after(c(o.tagName)),"LI"==o.parentNode.tagName&&(o=o.parentNode.parentNode),a.indexOf(o)<0&&a.push(o)}for(t=0;t<a.length;t++){var p=u(a[t]),f=p.html();f=(f=f.replace(/<span class="fr-close-([a-z]*)"><\/span>/g,"</$1>")).replace(/<span class="fr-open-([a-z]*)"><\/span>/g,"<$1>"),p.replaceWith(d.node.openTagString(p.get(0))+f+d.node.closeTagString(p.get(0)))}d.$el.find("li:empty").remove(),d.$el.find("ul:empty, ol:empty").remove(),d.clean.lists(),d.html.wrap()}function s(e){d.selection.save();for(var t=0;t<e.length;t++){var n=e[t].previousSibling;if(n){var a=u(e[t]).find("> ul, > ol").last().get(0);if(a){for(var r=u("<li>").prependTo(u(a)),o=d.node.contents(e[t])[0];o&&!d.node.isList(o);){var s=o.nextSibling;r.append(o),o=s}u(n).append(u(a)),u(e[t]).remove()}else{var i=u(n).find("> ul, > ol").last().get(0);if(i)u(i).append(u(e[t]));else{var l=u("<"+e[t].parentNode.tagName+">");u(n).append(l),l.append(u(e[t]))}}}}d.clean.lists(),d.selection.restore()}function i(e){d.selection.save(),o(e),d.selection.restore()}function e(e){if("indent"==e||"outdent"==e){for(var t=!1,n=d.selection.blocks(),a=[],r=0;r<n.length;r++)"LI"==n[r].tagName?(t=!0,a.push(n[r])):"LI"==n[r].parentNode.tagName&&(t=!0,a.push(n[r].parentNode));t&&("indent"==e?s(a):i(a))}}return{_init:function(){d.events.on("commands.after",e),d.events.on("keydown",function(e){if(e.which==u.FE.KEYCODE.TAB){for(var t=d.selection.blocks(),n=[],a=0;a<t.length;a++)"LI"==t[a].tagName?n.push(t[a]):"LI"==t[a].parentNode.tagName&&n.push(t[a].parentNode);if(1<n.length||n.length&&(d.selection.info(n[0]).atStart||d.node.isEmpty(n[0])))return e.preventDefault(),e.stopPropagation(),e.shiftKey?i(n):s(n),!1}},!0)},format:function(e,t){var n,a;for(d.selection.save(),d.html.wrap(!0,!0,!0,!0),d.selection.restore(),a=d.selection.blocks(),n=0;n<a.length;n++)"LI"!=a[n].tagName&&"LI"==a[n].parentNode.tagName&&(a[n]=a[n].parentNode);if(d.selection.save(),function(e,t){for(var n=!0,a=0;a<e.length;a++){if("LI"!=e[a].tagName)return!1;e[a].parentNode.tagName!=t&&(n=!1)}return n}(a,e)?t||o(a):r(a,e),d.html.unwrap(),d.selection.restore(),t=t||"default"){for(a=d.selection.blocks(),n=0;n<a.length;n++)"LI"!=a[n].tagName&&"LI"==a[n].parentNode.tagName&&(a[n]=a[n].parentNode);for(n=0;n<a.length;n++)"LI"==a[n].tagName&&(u(a[n].parentNode).css("list-style-type",t),0===(u(a[n].parentNode).attr("style")||"").length&&u(a[n].parentNode).removeAttr("style"))}},refresh:function(e,t){var n=u(d.selection.element());if(n.get(0)!=d.el){var a=n.get(0);(a="LI"!=a.tagName&&a.firstElementChild&&"LI"!=a.firstElementChild.tagName?n.parents("li").get(0):"LI"==a.tagName||a.firstElementChild?a.firstElementChild&&"LI"==a.firstElementChild.tagName?n.get(0).firstChild:n.get(0):n.parents("li").get(0))&&a.parentNode.tagName==t&&d.el.contains(a.parentNode)&&e.addClass("fr-active")}}}},u.FE.RegisterCommand("formatUL",{title:"Unordered List",type:"button",hasOptions:function(){return this.opts.listAdvancedTypes},options:{"default":"Default",circle:"Circle",disc:"Disc",square:"Square"},refresh:function(e){this.lists.refresh(e,"UL")},callback:function(e,t){this.lists.format("UL",t)},plugin:"lists"}),u.FE.RegisterCommand("formatOL",{title:"Ordered List",hasOptions:function(){return this.opts.listAdvancedTypes},options:{"default":"Default","lower-alpha":"Lower Alpha","lower-greek":"Lower Greek","lower-roman":"Lower Roman","upper-alpha":"Upper Alpha","upper-roman":"Upper Roman"},refresh:function(e){this.lists.refresh(e,"OL")},callback:function(e,t){this.lists.format("OL",t)},plugin:"lists"}),u.FE.DefineIcon("formatUL",{NAME:"list-ul"}),u.FE.DefineIcon("formatOL",{NAME:"list-ol"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/lists.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/draggable.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/draggable.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/draggable.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(v){v.extend(v.FE.DEFAULTS,{dragInline:!0}),v.FE.PLUGINS.draggable=function(f){function e(e){return!(!e.originalEvent||!e.originalEvent.target||e.originalEvent.target.nodeType!=Node.TEXT_NODE)||(e.target&&"A"==e.target.tagName&&1==e.target.childNodes.length&&"IMG"==e.target.childNodes[0].tagName&&(e.target=e.target.childNodes[0]),v(e.target).hasClass("fr-draggable")?(f.undo.canDo()||f.undo.saveStep(),f.opts.dragInline?f.$el.attr("contenteditable",!0):f.$el.attr("contenteditable",!1),f.opts.toolbarInline&&f.toolbar.hide(),v(e.target).addClass("fr-dragging"),f.browser.msie||f.browser.edge||f.selection.clear(),void e.originalEvent.dataTransfer.setData("text","Froala")):(e.preventDefault(),!1))}function g(e){return!(e&&("HTML"==e.tagName||"BODY"==e.tagName||f.node.isElement(e)))}function d(e,t,n){f.opts.iframe&&(e+=f.$iframe.offset().top,t+=f.$iframe.offset().left),p.offset().top!=e&&p.css("top",e),p.offset().left!=t&&p.css("left",t),p.width()!=n&&p.css("width",n)}function t(e){e.originalEvent.dataTransfer.dropEffect="move",f.opts.dragInline?function(){for(var e=null,t=0;t<v.FE.INSTANCES.length;t++)if((e=v.FE.INSTANCES[t].$el.find(".fr-dragging")).length)return e.get(0)}()||!f.browser.msie&&!f.browser.edge||e.preventDefault():(e.preventDefault(),function(e){var t=f.doc.elementFromPoint(e.originalEvent.pageX-f.win.pageXOffset,e.originalEvent.pageY-f.win.pageYOffset);if(!g(t)){for(var n=0,r=t;!g(r)&&r==t&&0<e.originalEvent.pageY-f.win.pageYOffset-n;)n++,r=f.doc.elementFromPoint(e.originalEvent.pageX-f.win.pageXOffset,e.originalEvent.pageY-f.win.pageYOffset-n);(!g(r)||p&&0===f.$el.find(r).length&&r!=p.get(0))&&(r=null);for(var a=0,o=t;!g(o)&&o==t&&e.originalEvent.pageY-f.win.pageYOffset+a<v(f.doc).height();)a++,o=f.doc.elementFromPoint(e.originalEvent.pageX-f.win.pageXOffset,e.originalEvent.pageY-f.win.pageYOffset+a);(!g(o)||p&&0===f.$el.find(o).length&&o!=p.get(0))&&(o=null),t=null==o&&r?r:o&&null==r?o:o&&r?n<a?r:o:null}if(v(t).hasClass("fr-drag-helper"))return;if(t&&!f.node.isBlock(t)&&(t=f.node.blockParent(t)),t&&0<=["TD","TH","TR","THEAD","TBODY"].indexOf(t.tagName)&&(t=v(t).parents("table").get(0)),t&&0<=["LI"].indexOf(t.tagName)&&(t=v(t).parents("UL, OL").get(0)),t&&!v(t).hasClass("fr-drag-helper")){var i;p||(v.FE.$draggable_helper||(v.FE.$draggable_helper=v('<div class="fr-drag-helper"></div>')),p=v.FE.$draggable_helper,f.events.on("shared.destroy",function(){p.html("").removeData().remove(),p=null},!0)),i=e.originalEvent.pageY<v(t).offset().top+v(t).outerHeight()/2;var l=v(t),s=0;i||0!==l.next().length?(i||(l=l.next()),"before"==p.data("fr-position")&&l.is(p.data("fr-tag"))||(0<l.prev().length&&(s=parseFloat(l.prev().css("margin-bottom"))||0),s=Math.max(s,parseFloat(l.css("margin-top"))||0),d(l.offset().top-s/2-f.$box.offset().top,l.offset().left-f.win.pageXOffset-f.$box.offset().left,l.width()),p.data("fr-position","before"))):"after"==p.data("fr-position")&&l.is(p.data("fr-tag"))||(s=parseFloat(l.css("margin-bottom"))||0,d(l.offset().top+v(t).height()+s/2-f.$box.offset().top,l.offset().left-f.win.pageXOffset-f.$box.offset().left,l.width()),p.data("fr-position","after")),p.data("fr-tag",l),p.addClass("fr-visible"),p.appendTo(f.$box)}else p&&0<f.$box.find(p).length&&p.removeClass("fr-visible")}(e))}function n(e){e.originalEvent.dataTransfer.dropEffect="move",f.opts.dragInline||e.preventDefault()}function r(e){f.$el.attr("contenteditable",!0);var t=f.$el.find(".fr-dragging");p&&p.hasClass("fr-visible")&&f.$box.find(p).length?a(e):t.length&&(e.preventDefault(),e.stopPropagation()),p&&f.$box.find(p).length&&p.removeClass("fr-visible"),t.removeClass("fr-dragging")}function a(e){var t,n;f.$el.attr("contenteditable",!0);for(var r=0;r<v.FE.INSTANCES.length;r++)if((t=v.FE.INSTANCES[r].$el.find(".fr-dragging")).length){n=v.FE.INSTANCES[r];break}if(t.length){if(e.preventDefault(),e.stopPropagation(),p&&p.hasClass("fr-visible")&&f.$box.find(p).length)p.data("fr-tag")[p.data("fr-position")]('<span class="fr-marker"></span>'),p.removeClass("fr-visible");else if(!1===f.markers.insertAtPoint(e.originalEvent))return!1;if(t.removeClass("fr-dragging"),!1===(t=f.events.chainTrigger("element.beforeDrop",t)))return!1;var a=t;if(t.parent().is("A")&&1==t.parent().get(0).childNodes.length&&(a=t.parent()),f.core.isEmpty())f.events.focus();else f.$el.find(".fr-marker").replaceWith(v.FE.MARKERS),f.selection.restore();if(n==f||f.undo.canDo()||f.undo.saveStep(),f.core.isEmpty())f.$el.html(a);else{var o=f.markers.insert();0===a.find(o).length?v(o).replaceWith(a):0===t.find(o).length&&v(o).replaceWith(t),t.after(v.FE.MARKERS),f.selection.restore()}return f.popups.hideAll(),f.selection.save(),f.$el.find(f.html.emptyBlockTagsQuery()).not("TD, TH, LI, .fr-inner").not(f.opts.htmlAllowedEmptyTags.join(",")).remove(),f.html.wrap(),f.html.fillEmptyBlocks(),f.selection.restore(),f.undo.saveStep(),f.opts.iframe&&f.size.syncIframe(),n!=f&&(n.popups.hideAll(),n.$el.find(n.html.emptyBlockTagsQuery()).not("TD, TH, LI, .fr-inner").remove(),n.html.wrap(),n.html.fillEmptyBlocks(),n.undo.saveStep(),n.events.trigger("element.dropped"),n.opts.iframe&&n.size.syncIframe()),f.events.trigger("element.dropped",[a]),!1}p&&p.removeClass("fr-visible"),f.undo.canDo()||f.undo.saveStep(),setTimeout(function(){f.undo.saveStep()},0)}function o(e){if(e&&"DIV"==e.tagName&&f.node.hasClass(e,"fr-drag-helper"))e.parentNode.removeChild(e);else if(e&&e.nodeType==Node.ELEMENT_NODE)for(var t=e.querySelectorAll("div.fr-drag-helper"),n=0;n<t.length;n++)t[n].parentNode.removeChild(t[n])}var p;return{_init:function(){f.opts.enter==v.FE.ENTER_BR&&(f.opts.dragInline=!0),f.events.on("dragstart",e,!0),f.events.on("dragover",t,!0),f.events.on("dragenter",n,!0),f.events.on("document.dragend",r,!0),f.events.on("document.drop",r,!0),f.events.on("drop",a,!0),f.events.on("html.processGet",o)}}}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/draggable.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/quick_insert.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/quick_insert.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/quick_insert.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(i){"function"==typeof define&&define.amd?define(["jquery"],i):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),i(t)}:i(window.jQuery)}(function(d){d.extend(d.FE.DEFAULTS,{quickInsertButtons:["image","video","embedly","table","ul","ol","hr"],quickInsertTags:["p","div","h1","h2","h3","h4","h5","h6","pre","blockquote"],quickInsertEnabled:!0}),d.FE.QUICK_INSERT_BUTTONS={},d.FE.DefineIcon("quickInsert",{PATH:'<path d="M22,16.75 L16.75,16.75 L16.75,22 L15.25,22.000 L15.25,16.75 L10,16.75 L10,15.25 L15.25,15.25 L15.25,10 L16.75,10 L16.75,15.25 L22,15.25 L22,16.75 Z"/>',template:"svg"}),d.FE.RegisterQuickInsertButton=function(e,t){d.FE.QUICK_INSERT_BUTTONS[e]=d.extend({undo:!0},t)},d.FE.RegisterQuickInsertButton("image",{icon:"insertImage",requiredPlugin:"image",title:"Insert Image",undo:!1,callback:function(){var e=this;e.shared.$qi_image_input||(e.shared.$qi_image_input=d('<input accept="image/*" name="quickInsertImage'+this.id+'" style="display: none;" type="file">'),d("body:first").append(e.shared.$qi_image_input),e.events.$on(e.shared.$qi_image_input,"change",function(){var e=d(this).data("inst");this.files&&(e.quickInsert.hide(),e.image.upload(this.files)),d(this).val("")},!0)),e.$qi_image_input=e.shared.$qi_image_input,e.helpers.isMobile()&&e.selection.save(),e.events.disableBlur(),e.$qi_image_input.data("inst",e).trigger("click")}}),d.FE.RegisterQuickInsertButton("video",{icon:"insertVideo",requiredPlugin:"video",title:"Insert Video",undo:!1,callback:function(){var e=prompt(this.language.translate("Paste the URL of the video you want to insert."));e&&this.video.insertByURL(e)}}),d.FE.RegisterQuickInsertButton("embedly",{icon:"embedly",requiredPlugin:"embedly",title:"Embed URL",undo:!1,callback:function(){var e=prompt(this.language.translate("Paste the URL of any web content you want to insert."));e&&this.embedly.add(e)}}),d.FE.RegisterQuickInsertButton("table",{icon:"insertTable",requiredPlugin:"table",title:"Insert Table",callback:function(){this.table.insert(2,2)}}),d.FE.RegisterQuickInsertButton("ol",{icon:"formatOL",requiredPlugin:"lists",title:"Ordered List",callback:function(){this.lists.format("OL")}}),d.FE.RegisterQuickInsertButton("ul",{icon:"formatUL",requiredPlugin:"lists",title:"Unordered List",callback:function(){this.lists.format("UL")}}),d.FE.RegisterQuickInsertButton("hr",{icon:"insertHR",title:"Insert Horizontal Line",callback:function(){this.commands.insertHR()}}),d.FE.PLUGINS.quickInsert=function(o){var a,l;function t(e){var t,i,n;t=e.offset().top-o.$box.offset().top,i=0-a.outerWidth(),o.opts.enter!=d.FE.ENTER_BR?n=(a.outerHeight()-e.outerHeight())/2:(d("<span>"+d.FE.INVISIBLE_SPACE+"</span>").insertAfter(e),n=(a.outerHeight()-e.next().outerHeight())/2,e.next().remove()),o.opts.iframe&&(t+=o.$iframe.offset().top-o.helpers.scrollTop()),a.hasClass("fr-on")&&0<=t&&l.css("top",t-n),0<=t&&t-n<=o.$box.outerHeight()-e.outerHeight()?(a.hasClass("fr-hidden")&&(a.hasClass("fr-on")&&r(),a.removeClass("fr-hidden")),a.css("top",t-n)):a.hasClass("fr-visible")&&(a.addClass("fr-hidden"),u()),a.css("left",i)}function i(e){a||function(){o.shared.$quick_insert||(o.shared.$quick_insert=d('<div class="fr-quick-insert"><a class="fr-floating-btn" role="button" tabIndex="-1" title="'+o.language.translate("Quick Insert")+'">'+o.icon.create("quickInsert")+"</a></div>"));a=o.shared.$quick_insert,o.tooltip.bind(o.$box,".fr-quick-insert > a.fr-floating-btn"),o.events.on("destroy",function(){a.removeClass("fr-on").appendTo(d("body:first")).css("left",-9999).css("top",-9999),l&&(u(),l.appendTo(d("body:first")))},!0),o.events.on("shared.destroy",function(){a.html("").removeData().remove(),a=null,l&&(l.html("").removeData().remove(),l=null)},!0),o.events.on("commands.before",s),o.events.on("commands.after",function(){o.popups.areVisible()||n()}),o.events.bindClick(o.$box,".fr-quick-insert > a",r),o.events.bindClick(o.$box,".fr-qi-helper > a.fr-btn",function(e){var t=d(e.currentTarget).data("cmd");if(!1===o.events.trigger("quickInsert.commands.before",[t]))return!1;d.FE.QUICK_INSERT_BUTTONS[t].callback.apply(o,[e.currentTarget]),d.FE.QUICK_INSERT_BUTTONS[t].undo&&o.undo.saveStep(),o.events.trigger("quickInsert.commands.after",[t]),o.quickInsert.hide()}),o.events.$on(o.$wp,"scroll",function(){a.hasClass("fr-visible")&&t(a.data("tag"))})}(),a.hasClass("fr-on")&&u(),o.$box.append(a),t(e),a.data("tag",e),a.addClass("fr-visible")}function n(){if(o.core.hasFocus()){var e=o.selection.element();if(o.opts.enter==d.FE.ENTER_BR||o.node.isBlock(e)||(e=o.node.blockParent(e)),o.opts.enter==d.FE.ENTER_BR&&!o.node.isBlock(e)){var t=o.node.deepestParent(e);t&&(e=t)}e&&(o.opts.enter!=d.FE.ENTER_BR&&o.node.isEmpty(e)&&0<=o.opts.quickInsertTags.indexOf(e.tagName.toLowerCase())||o.opts.enter==d.FE.ENTER_BR&&("BR"==e.tagName&&(!e.previousSibling||"BR"==e.previousSibling.tagName||o.node.isBlock(e.previousSibling))||o.node.isEmpty(e)&&(!e.previousSibling||"BR"==e.previousSibling.tagName||o.node.isBlock(e.previousSibling))&&(!e.nextSibling||"BR"==e.nextSibling.tagName||o.node.isBlock(e.nextSibling))))?a&&a.data("tag").is(d(e))&&a.hasClass("fr-on")?u():o.selection.isCollapsed()&&i(d(e)):s()}}function s(){a&&(a.hasClass("fr-on")&&u(),a.removeClass("fr-visible fr-on"),a.css("left",-9999).css("top",-9999))}function r(e){if(e&&e.preventDefault(),a.hasClass("fr-on")&&!a.hasClass("fr-hidden"))u();else{if(!o.shared.$qi_helper){for(var t=o.opts.quickInsertButtons,i='<div class="fr-qi-helper">',n=0,s=0;s<t.length;s++){var r=d.FE.QUICK_INSERT_BUTTONS[t[s]];r&&(!r.requiredPlugin||d.FE.PLUGINS[r.requiredPlugin]&&0<=o.opts.pluginsEnabled.indexOf(r.requiredPlugin))&&(i+='<a class="fr-btn fr-floating-btn" role="button" title="'+o.language.translate(r.title)+'" tabIndex="-1" data-cmd="'+t[s]+'" style="transition-delay: '+.025*n+++'s;">'+o.icon.create(r.icon)+"</a>")}i+="</div>",o.shared.$qi_helper=d(i),o.tooltip.bind(o.shared.$qi_helper,"> a.fr-btn"),o.events.$on(o.shared.$qi_helper,"mousedown",function(e){e.preventDefault()},!0)}(l=o.shared.$qi_helper).appendTo(o.$box),setTimeout(function(){l.css("top",parseFloat(a.css("top"))),l.css("left",parseFloat(a.css("left"))+a.outerWidth()),l.find("a").addClass("fr-size-1"),a.addClass("fr-on")},10)}}function u(){var e=o.$box.find(".fr-qi-helper");e.length&&(e.find("a").removeClass("fr-size-1"),e.css("left",-9999),a.hasClass("fr-hidden")||a.removeClass("fr-on"))}return{_init:function(){if(!o.$wp||!o.opts.quickInsertEnabled)return!1;o.popups.onShow("image.edit",s),o.events.on("mouseup",n),o.helpers.isMobile()&&o.events.$on(d(o.o_doc),"selectionchange",n),o.events.on("blur",s),o.events.on("keyup",n),o.events.on("keydown",function(){setTimeout(function(){n()},0)})},hide:s}}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/quick_insert.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/align.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/align.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/align.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&module.exports?module.exports=function(e,n){return n===undefined&&(n="undefined"!=typeof window?require("jquery"):require("jquery")(e)),t(n)}:t(window.jQuery)}(function(r){r.FE.PLUGINS.align=function(a){return{apply:function(e){var n=a.selection.element();if(r(n).parents(".fr-img-caption").length)r(n).css("text-align",e);else{a.selection.save(),a.html.wrap(!0,!0,!0,!0),a.selection.restore();for(var t=a.selection.blocks(),i=0;i<t.length;i++)a.helpers.getAlignment(r(t[i].parentNode))==e?r(t[i]).css("text-align","").removeClass("fr-temp-div"):r(t[i]).css("text-align",e).removeClass("fr-temp-div"),""===r(t[i]).attr("class")&&r(t[i]).removeAttr("class"),""===r(t[i]).attr("style")&&r(t[i]).removeAttr("style");a.selection.save(),a.html.unwrap(),a.selection.restore()}},refresh:function(e){var n=a.selection.blocks();if(n.length){var t=a.helpers.getAlignment(r(n[0]));e.find("> *:first").replaceWith(a.icon.create("align-"+t))}},refreshOnShow:function(e,n){var t=a.selection.blocks();if(t.length){var i=a.helpers.getAlignment(r(t[0]));n.find('a.fr-command[data-param1="'+i+'"]').addClass("fr-active").attr("aria-selected",!0)}},refreshForToolbar:function(e){var n=a.selection.blocks();if(n.length){var t=a.helpers.getAlignment(r(n[0]));"align"+(t=t.charAt(0).toUpperCase()+t.slice(1))==e.attr("data-cmd")&&e.addClass("fr-active")}}}},r.FE.DefineIcon("align",{NAME:"align-left"}),r.FE.DefineIcon("align-left",{NAME:"align-left"}),r.FE.DefineIcon("align-right",{NAME:"align-right"}),r.FE.DefineIcon("align-center",{NAME:"align-center"}),r.FE.DefineIcon("align-justify",{NAME:"align-justify"}),r.FE.RegisterCommand("align",{type:"dropdown",title:"Align",options:{left:"Align Left",center:"Align Center",right:"Align Right",justify:"Align Justify"},html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',n=r.FE.COMMANDS.align.options;for(var t in n)n.hasOwnProperty(t)&&(e+='<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="align" data-param1="'+t+'" title="'+this.language.translate(n[t])+'">'+this.icon.create("align-"+t)+'<span class="fr-sr-only">'+this.language.translate(n[t])+"</span></a></li>");return e+="</ul>"},callback:function(e,n){this.align.apply(n)},refresh:function(e){this.align.refresh(e)},refreshOnShow:function(e,n){this.align.refreshOnShow(e,n)},plugin:"align"}),r.FE.RegisterCommand("alignLeft",{type:"button",icon:"align-left",callback:function(){this.align.apply("left")},refresh:function(e){this.align.refreshForToolbar(e)}}),r.FE.RegisterCommand("alignRight",{type:"button",icon:"align-right",callback:function(){this.align.apply("right")},refresh:function(e){this.align.refreshForToolbar(e)}}),r.FE.RegisterCommand("alignCenter",{type:"button",icon:"align-center",callback:function(){this.align.apply("center")},refresh:function(e){this.align.refreshForToolbar(e)}}),r.FE.RegisterCommand("alignJustify",{type:"button",icon:"align-justify",callback:function(){this.align.apply("justify")},refresh:function(e){this.align.refreshForToolbar(e)}})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/align.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/save.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/save.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/save.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(l){l.extend(l.FE.DEFAULTS,{saveInterval:1e4,saveURL:null,saveParams:{},saveParam:"body",saveMethod:"POST"}),l.FE.PLUGINS.save=function(i){var e=null,u=null,t=!1,v=1,f=2,n={};function d(e,t){i.events.trigger("save.error",[{code:e,message:n[e]},t])}function s(e){void 0===e&&(e=i.html.get());var t=e,n=i.events.trigger("save.before",[e]);if(!1===n)return!1;if("string"==typeof n&&(e=n),i.opts.saveURL){var s={};for(var o in i.opts.saveParams)if(i.opts.saveParams.hasOwnProperty(o)){var a=i.opts.saveParams[o];s[o]="function"==typeof a?a.call(this):a}var r={};r[i.opts.saveParam]=e,l.ajax({type:i.opts.saveMethod,url:i.opts.saveURL,data:l.extend(r,s),crossDomain:i.opts.requestWithCORS,xhrFields:{withCredentials:i.opts.requestWithCredentials},headers:i.opts.requestHeaders}).done(function(e){u=t,i.events.trigger("save.after",[e])}).fail(function(e){d(f,e.response||e.responseText)})}else d(v)}function o(){clearTimeout(e),e=setTimeout(function(){var e=i.html.get();(u!=e||t)&&(t=!1,s(u=e))},i.opts.saveInterval)}return n[v]="Missing saveURL option.",n[f]="Something went wrong during save.",{_init:function(){i.opts.saveInterval&&(u=i.html.get(),i.events.on("contentChanged",o),i.events.on("keydown destroy",function(){clearTimeout(e)}))},save:s,reset:function(){o(),t=!1},force:function(){t=!0}}},l.FE.DefineIcon("save",{NAME:"floppy-o",FA5NAME:"save"}),l.FE.RegisterCommand("save",{title:"Save",undo:!1,focus:!1,refreshAfterCallback:!1,callback:function(){this.save.save()},plugin:"save"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/save.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/fullscreen.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/fullscreen.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/fullscreen.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(o){"function"==typeof define&&define.amd?define(["jquery"],o):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),o(t)}:o(window.jQuery)}(function(c){c.FE.PLUGINS.fullscreen=function(o){var t,r,s,n;function i(){return o.$box.hasClass("fr-fullscreen")}function e(){if(o.helpers.isIOS()&&o.core.hasFocus())return o.$el.blur(),setTimeout(a,250),!1;t=o.helpers.scrollTop(),o.$box.toggleClass("fr-fullscreen"),c("body:first").toggleClass("fr-fullscreen"),o.helpers.isMobile()&&(o.$tb.data("parent",o.$tb.parent()),o.$tb.prependTo(o.$box),o.$tb.data("sticky-dummy")&&o.$tb.after(o.$tb.data("sticky-dummy"))),r=o.opts.height,s=o.opts.heightMax,n=o.opts.zIndex,o.position.refresh(),o.opts.height=o.o_win.innerHeight-(o.opts.toolbarInline?0:o.$tb.outerHeight()),o.opts.zIndex=2147483641,o.opts.heightMax=null,o.size.refresh(),o.opts.toolbarInline&&o.toolbar.showInline();for(var e=o.$box.parent();!e.is("body:first");)e.data("z-index",e.css("z-index")).data("overflow",e.css("overflow")).css("z-index","2147483640").css("overflow","visible"),e=e.parent();o.opts.toolbarContainer&&o.$box.prepend(o.$tb),o.events.trigger("charCounter.update"),o.events.trigger("codeView.update"),o.$win.trigger("scroll")}function l(){if(o.helpers.isIOS()&&o.core.hasFocus())return o.$el.blur(),setTimeout(a,250),!1;o.$box.toggleClass("fr-fullscreen"),c("body:first").toggleClass("fr-fullscreen"),o.$tb.prependTo(o.$tb.data("parent")),o.$tb.data("sticky-dummy")&&o.$tb.after(o.$tb.data("sticky-dummy")),o.opts.height=r,o.opts.heightMax=s,o.opts.zIndex=n,o.size.refresh(),c(o.o_win).scrollTop(t),o.opts.toolbarInline&&o.toolbar.showInline(),o.events.trigger("charCounter.update"),o.opts.toolbarSticky&&o.opts.toolbarStickyOffset&&(o.opts.toolbarBottom?o.$tb.css("bottom",o.opts.toolbarStickyOffset).data("bottom",o.opts.toolbarStickyOffset):o.$tb.css("top",o.opts.toolbarStickyOffset).data("top",o.opts.toolbarStickyOffset));for(var e=o.$box.parent();!e.is("body:first");)e.data("z-index")&&(e.css("z-index",""),e.css("z-index")!=e.data("z-index")&&e.css("z-index",e.data("z-index")),e.removeData("z-index")),e.data("overflow")?(e.css("overflow",""),e.css("overflow")!=e.data("overflow")&&e.css("overflow",e.data("overflow"))):e.css("overflow",""),e.removeData("overflow"),e=e.parent();o.opts.toolbarContainer&&c(o.opts.toolbarContainer).append(o.$tb),c(o.o_win).trigger("scroll"),o.events.trigger("codeView.update")}function a(){i()?l():e(),f(o.$tb.find('.fr-command[data-cmd="fullscreen"]'))}function f(e){var t=i();e.toggleClass("fr-active",t).attr("aria-pressed",t),e.find("> *:not(.fr-sr-only)").replaceWith(t?o.icon.create("fullscreenCompress"):o.icon.create("fullscreen"))}return{_init:function(){if(!o.$wp)return!1;o.events.$on(c(o.o_win),"resize",function(){i()&&(l(),e())}),o.events.on("toolbar.hide",function(){if(i()&&o.helpers.isMobile())return!1}),o.events.on("position.refresh",function(){if(o.helpers.isIOS())return!i()}),o.events.on("destroy",function(){i()&&l()},!0)},toggle:a,refresh:f,isActive:i}},c.FE.RegisterCommand("fullscreen",{title:"Fullscreen",undo:!1,focus:!1,accessibilityFocus:!0,forcedRefresh:!0,toggle:!0,callback:function(){this.fullscreen.toggle()},refresh:function(e){this.fullscreen.refresh(e)},plugin:"fullscreen"}),c.FE.DefineIcon("fullscreen",{NAME:"expand"}),c.FE.DefineIcon("fullscreenCompress",{NAME:"compress"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/fullscreen.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/code_view.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/code_view.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/code_view.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(x){x.extend(x.FE.DEFAULTS,{codeMirror:window.CodeMirror,codeMirrorOptions:{lineNumbers:!0,tabMode:"indent",indentWithTabs:!0,lineWrapping:!0,mode:"text/html",tabSize:2},codeBeautifierOptions:{end_with_newline:!0,indent_inner_html:!0,extra_liners:["p","h1","h2","h3","h4","h5","h6","blockquote","pre","ul","ol","table","dl"],brace_style:"expand",indent_char:"\t",indent_size:1,wrap_line_length:0},codeViewKeepActiveButtons:["fullscreen"]}),x.FE.PLUGINS.codeView=function(l){var c,d;function h(){return l.$box.hasClass("fr-code-view")}function u(){return d?d.getValue():c.val()}function f(){h()&&(d&&d.setSize(null,l.opts.height?l.opts.height:"auto"),l.opts.heightMin||l.opts.height?l.$box.find(".CodeMirror-scroll, .CodeMirror-gutters").css("min-height",l.opts.heightMin||l.opts.height):l.$box.find(".CodeMirror-scroll, .CodeMirror-gutters").css("min-height",""))}var p,g=!1;function m(){h()&&l.events.trigger("blur")}function b(){h()&&g&&l.events.trigger("focus")}function i(e){c||(!function(){c=x('<textarea class="fr-code" tabIndex="-1">'),l.$wp.append(c),c.attr("dir",l.opts.direction),l.$box.hasClass("fr-basic")||(p=x('<a data-cmd="html" title="Code View" class="fr-command fr-btn html-switch'+(l.helpers.isMobile()?"":" fr-desktop")+'" role="button" tabIndex="-1"><i class="fa fa-code"></i></button>'),l.$box.append(p),l.events.bindClick(l.$box,"a.html-switch",function(){l.events.trigger("commands.before",["html"]),v(!1),l.events.trigger("commands.after",["html"])}));var e=function(){return!h()};l.events.on("buttons.refresh",e),l.events.on("copy",e,!0),l.events.on("cut",e,!0),l.events.on("paste",e,!0),l.events.on("destroy",M,!0),l.events.on("html.set",function(){h()&&v(!0)}),l.events.on("codeView.update",f),l.events.on("form.submit",function(){h()&&(l.html.set(u()),l.events.trigger("contentChanged",[],!0))},!0)}(),!d&&l.opts.codeMirror?((d=l.opts.codeMirror.fromTextArea(c.get(0),l.opts.codeMirrorOptions)).on("blur",m),d.on("focus",b)):(l.events.$on(c,"keydown keyup change input",function(){l.opts.height?this.removeAttribute("rows"):(this.rows=1,0===this.value.length?this.style.height="auto":this.style.height=this.scrollHeight+"px")}),l.events.$on(c,"blur",m),l.events.$on(c,"focus",b))),l.undo.saveStep(),l.html.cleanEmptyTags(),l.html.cleanWhiteTags(!0),l.core.hasFocus()&&(l.core.isEmpty()||(l.selection.save(),l.$el.find('.fr-marker[data-type="true"]:first').replaceWith('<span class="fr-tmp fr-sm">F</span>'),l.$el.find('.fr-marker[data-type="false"]:last').replaceWith('<span class="fr-tmp fr-em">F</span>')));var t=l.html.get(!1,!0);l.$el.find("span.fr-tmp").remove(),l.$box.toggleClass("fr-code-view",!0);var n,s,i=!1;if(l.core.hasFocus()&&(i=!0,l.events.disableBlur(),l.$el.blur()),t=(t=t.replace(/<span class="fr-tmp fr-sm">F<\/span>/,"FROALA-SM")).replace(/<span class="fr-tmp fr-em">F<\/span>/,"FROALA-EM"),l.codeBeautifier&&(t=l.codeBeautifier.run(t,l.opts.codeBeautifierOptions)),d){n=t.indexOf("FROALA-SM"),(s=t.indexOf("FROALA-EM"))<n?n=s:s-=9;var o=(t=t.replace(/FROALA-SM/g,"").replace(/FROALA-EM/g,"")).substring(0,n).length-t.substring(0,n).replace(/\n/g,"").length,r=t.substring(0,s).length-t.substring(0,s).replace(/\n/g,"").length;n=t.substring(0,n).length-t.substring(0,t.substring(0,n).lastIndexOf("\n")+1).length,s=t.substring(0,s).length-t.substring(0,t.substring(0,s).lastIndexOf("\n")+1).length,d.setSize(null,l.opts.height?l.opts.height:"auto"),l.opts.heightMin&&l.$box.find(".CodeMirror-scroll").css("min-height",l.opts.heightMin),d.setValue(t),g=!i,d.focus(),g=!0,d.setSelection({line:o,ch:n},{line:r,ch:s}),d.refresh(),d.clearHistory()}else{n=t.indexOf("FROALA-SM"),s=t.indexOf("FROALA-EM")-9,l.opts.heightMin&&c.css("min-height",l.opts.heightMin),l.opts.height&&c.css("height",l.opts.height),l.opts.heightMax&&c.css("max-height",l.opts.height||l.opts.heightMax),c.val(t.replace(/FROALA-SM/g,"").replace(/FROALA-EM/g,"")).trigger("change");var a=x(l.o_doc).scrollTop();g=!i,c.focus(),g=!0,c.get(0).setSelectionRange(n,s),x(l.o_doc).scrollTop(a)}l.$tb.find(" > .fr-command").not(e).filter(function(){return l.opts.codeViewKeepActiveButtons.indexOf(x(this).data("cmd"))<0}).addClass("fr-disabled").attr("aria-disabled",!0),e.addClass("fr-active").attr("aria-pressed",!0),!l.helpers.isMobile()&&l.opts.toolbarInline&&l.toolbar.hide()}function v(e){void 0===e&&(e=!h());var t,n,s=l.$tb.find('.fr-command[data-cmd="html"]');e?(l.popups.hideAll(),i(s)):(l.$box.toggleClass("fr-code-view",!1),t=s,n=u(),l.html.set(n),l.$el.blur(),l.$tb.find(" > .fr-command").not(t).removeClass("fr-disabled").attr("aria-disabled",!1),t.removeClass("fr-active").attr("aria-pressed",!1),l.selection.setAtStart(l.el),l.selection.restore(),l.placeholder.refresh(),l.undo.saveStep())}function M(){h()&&v(!1),d&&d.toTextArea(),c.val("").removeData().remove(),c=null,p&&(p.remove(),p=null)}return{_init:function(){if(!l.$wp)return!1},toggle:v,isActive:h,get:u}},x.FE.RegisterCommand("html",{title:"Code View",undo:!1,focus:!1,forcedRefresh:!0,toggle:!0,callback:function(){this.codeView.toggle()},plugin:"codeView"}),x.FE.DefineIcon("html",{NAME:"code"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/code_view.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/link.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/link.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/link.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(m){m.extend(m.FE.POPUP_TEMPLATES,{"link.edit":"[_BUTTONS_]","link.insert":"[_BUTTONS_][_INPUT_LAYER_]"}),m.extend(m.FE.DEFAULTS,{linkEditButtons:["linkOpen","linkStyle","linkEdit","linkRemove"],linkInsertButtons:["linkBack","|","linkList"],linkAttributes:{},linkAutoPrefix:"http://",linkStyles:{"fr-green":"Green","fr-strong":"Thick"},linkMultipleStyles:!0,linkConvertEmailAddress:!0,linkAlwaysBlank:!1,linkAlwaysNoFollow:!1,linkNoOpener:!0,linkNoReferrer:!0,linkList:[{text:"Froala",href:"https://froala.com",target:"_blank"},{text:"Google",href:"https://google.com",target:"_blank"},{displayText:"Facebook",href:"https://facebook.com"}],linkText:!0}),m.FE.PLUGINS.link=function(d){function c(){var e=d.image?d.image.get():null;if(!e&&d.$wp){var t=d.selection.ranges(0).commonAncestorContainer;try{t&&(t.contains&&t.contains(d.el)||!d.el.contains(t)||d.el==t)&&(t=null)}catch(r){t=null}if(t&&"A"===t.tagName)return t;var n=d.selection.element(),i=d.selection.endElement();"A"==n.tagName||d.node.isElement(n)||(n=m(n).parentsUntil(d.$el,"a:first").get(0)),"A"==i.tagName||d.node.isElement(i)||(i=m(i).parentsUntil(d.$el,"a:first").get(0));try{i&&(i.contains&&i.contains(d.el)||!d.el.contains(i)||d.el==i)&&(i=null)}catch(r){i=null}try{n&&(n.contains&&n.contains(d.el)||!d.el.contains(n)||d.el==n)&&(n=null)}catch(r){n=null}return i&&i==n&&"A"==i.tagName?(d.browser.msie||d.helpers.isMobile())&&(d.selection.info(n).atEnd||d.selection.info(n).atStart)?null:n:null}return"A"==d.el.tagName?d.el:e&&e.get(0).parentNode&&"A"==e.get(0).parentNode.tagName?e.get(0).parentNode:void 0}function u(){var e,t,n,i,r=d.image?d.image.get():null,l=[];if(r)"A"==r.get(0).parentNode.tagName&&l.push(r.get(0).parentNode);else if(d.win.getSelection){var a=d.win.getSelection();if(a.getRangeAt&&a.rangeCount){i=d.doc.createRange();for(var s=0;s<a.rangeCount;++s)if((t=(e=a.getRangeAt(s)).commonAncestorContainer)&&1!=t.nodeType&&(t=t.parentNode),t&&"a"==t.nodeName.toLowerCase())l.push(t);else{n=t.getElementsByTagName("a");for(var o=0;o<n.length;++o)i.selectNodeContents(n[o]),i.compareBoundaryPoints(e.END_TO_START,e)<1&&-1<i.compareBoundaryPoints(e.START_TO_END,e)&&l.push(n[o])}}}else if(d.doc.selection&&"Control"!=d.doc.selection.type)if("a"==(t=(e=d.doc.selection.createRange()).parentElement()).nodeName.toLowerCase())l.push(t);else{n=t.getElementsByTagName("a"),i=d.doc.body.createTextRange();for(var p=0;p<n.length;++p)i.moveToElementText(n[p]),-1<i.compareEndPoints("StartToEnd",e)&&i.compareEndPoints("EndToStart",e)<1&&l.push(n[p])}return l}function k(r){if(d.core.hasFocus()){if(a(),r&&"keyup"===r.type&&(r.altKey||r.which==m.FE.KEYCODE.ALT))return!0;setTimeout(function(){if(!r||r&&(1==r.which||"mouseup"!=r.type)){var e=c(),t=d.image?d.image.get():null;if(e&&!t){if(d.image){var n=d.node.contents(e);if(1==n.length&&"IMG"==n[0].tagName){var i=d.selection.ranges(0);return 0===i.startOffset&&0===i.endOffset?m(e).before(m.FE.MARKERS):m(e).after(m.FE.MARKERS),d.selection.restore(),!1}}r&&r.stopPropagation(),l(e)}}},d.helpers.isIOS()?100:0)}}function l(e){var t=d.popups.get("link.edit");t||(t=function(){var e="";1<=d.opts.linkEditButtons.length&&("A"==d.el.tagName&&0<=d.opts.linkEditButtons.indexOf("linkRemove")&&d.opts.linkEditButtons.splice(d.opts.linkEditButtons.indexOf("linkRemove"),1),e='<div class="fr-buttons">'+d.button.buildList(d.opts.linkEditButtons)+"</div>");var t={buttons:e},n=d.popups.create("link.edit",t);d.$wp&&d.events.$on(d.$wp,"scroll.link-edit",function(){c()&&d.popups.isVisible("link.edit")&&l(c())});return n}());var n=m(e);d.popups.isVisible("link.edit")||d.popups.refresh("link.edit"),d.popups.setContainer("link.edit",d.$sc);var i=n.offset().left+m(e).outerWidth()/2,r=n.offset().top+n.outerHeight();d.popups.show("link.edit",i,r,n.outerHeight())}function a(){d.popups.hide("link.edit")}function o(){}function p(){var e=d.popups.get("link.insert"),t=c();if(t){var n,i,r=m(t),l=e.find('input.fr-link-attr[type="text"]'),a=e.find('input.fr-link-attr[type="checkbox"]');for(n=0;n<l.length;n++)(i=m(l[n])).val(r.attr(i.attr("name")||""));for(a.prop("checked",!1),n=0;n<a.length;n++)i=m(a[n]),r.attr(i.attr("name"))==i.data("checked")&&i.prop("checked",!0);e.find('input.fr-link-attr[type="text"][name="text"]').val(r.text())}else e.find('input.fr-link-attr[type="text"]').val(""),e.find('input.fr-link-attr[type="checkbox"]').prop("checked",!1),e.find('input.fr-link-attr[type="text"][name="text"]').val(d.selection.text());e.find("input.fr-link-attr").trigger("change"),(d.image?d.image.get():null)?e.find('.fr-link-attr[name="text"]').parent().hide():e.find('.fr-link-attr[name="text"]').parent().show()}function s(e){if(e)return d.popups.onRefresh("link.insert",p),d.popups.onHide("link.insert",o),!0;var t="";1<=d.opts.linkInsertButtons.length&&(t='<div class="fr-buttons">'+d.button.buildList(d.opts.linkInsertButtons)+"</div>");var n="",i=0;for(var r in n='<div class="fr-link-insert-layer fr-layer fr-active" id="fr-link-insert-layer-'+d.id+'">',n+='<div class="fr-input-line"><input id="fr-link-insert-layer-url-'+d.id+'" name="href" type="text" class="fr-link-attr" placeholder="'+d.language.translate("URL")+'" tabIndex="'+ ++i+'"></div>',d.opts.linkText&&(n+='<div class="fr-input-line"><input id="fr-link-insert-layer-text-'+d.id+'" name="text" type="text" class="fr-link-attr" placeholder="'+d.language.translate("Text")+'" tabIndex="'+ ++i+'"></div>'),d.opts.linkAttributes)if(d.opts.linkAttributes.hasOwnProperty(r)){var l=d.opts.linkAttributes[r];n+='<div class="fr-input-line"><input name="'+r+'" type="text" class="fr-link-attr" placeholder="'+d.language.translate(l)+'" tabIndex="'+ ++i+'"></div>'}d.opts.linkAlwaysBlank||(n+='<div class="fr-checkbox-line"><span class="fr-checkbox"><input name="target" class="fr-link-attr" data-checked="_blank" type="checkbox" id="fr-link-target-'+d.id+'" tabIndex="'+ ++i+'"><span><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10" viewBox="0 0 32 32"><path d="M27 4l-15 15-7-7-5 5 12 12 20-20z" fill="#FFF"></path></svg></span></span><label for="fr-link-target-'+d.id+'">'+d.language.translate("Open in new tab")+"</label></div>");var a={buttons:t,input_layer:n+='<div class="fr-action-buttons"><button class="fr-command fr-submit" role="button" data-cmd="linkInsert" href="#" tabIndex="'+ ++i+'" type="button">'+d.language.translate("Insert")+"</button></div></div>"},s=d.popups.create("link.insert",a);return d.$wp&&d.events.$on(d.$wp,"scroll.link-insert",function(){(d.image?d.image.get():null)&&d.popups.isVisible("link.insert")&&h(),d.popups.isVisible("link.insert")&&g()}),s}function f(e,t,n){if(void 0===n&&(n={}),!1===d.events.trigger("link.beforeInsert",[e,t,n]))return!1;var i=d.image?d.image.get():null;i||"A"==d.el.tagName?"A"==d.el.tagName&&d.$el.focus():(d.selection.restore(),d.popups.hide("link.insert"));var r=e;d.opts.linkConvertEmailAddress&&d.helpers.isEmail(e)&&!/^mailto:.*/i.test(e)&&(e="mailto:"+e);if(""===d.opts.linkAutoPrefix||new RegExp("^("+m.FE.LinkProtocols.join("|")+"):.","i").test(e)||/^data:image.*/i.test(e)||/^(https?:|ftps?:|file:|)\/\//i.test(e)||/^([A-Za-z]:(\\){1,2}|[A-Za-z]:((\\){1,2}[^\\]+)+)(\\)?$/i.test(e)||["/","{","[","#","(","."].indexOf((e||"")[0])<0&&(e=d.opts.linkAutoPrefix+d.helpers.sanitizeURL(e)),e=d.helpers.sanitizeURL(e),d.opts.linkAlwaysBlank&&(n.target="_blank"),d.opts.linkAlwaysNoFollow&&(n.rel="nofollow"),d.helpers.isEmail(r)&&(n.target=null,n.rel=null),"_blank"==n.target?(d.opts.linkNoOpener&&(n.rel?n.rel+=" noopener":n.rel="noopener"),d.opts.linkNoReferrer&&(n.rel?n.rel+=" noreferrer":n.rel="noreferrer")):null==n.target&&(n.rel?n.rel=n.rel.replace(/noopener/,"").replace(/noreferrer/,""):n.rel=null),t=t||"",e===d.opts.linkAutoPrefix)return d.popups.get("link.insert").find('input[name="href"]').addClass("fr-error"),d.events.trigger("link.bad",[r]),!1;var l,a=c();if(a){if((l=m(a)).attr("href",e),0<t.length&&l.text()!=t&&!i){for(var s=l.get(0);1===s.childNodes.length&&s.childNodes[0].nodeType==Node.ELEMENT_NODE;)s=s.childNodes[0];m(s).text(t)}i||l.prepend(m.FE.START_MARKER).append(m.FE.END_MARKER),l.attr(n),i||d.selection.restore()}else{i?i.wrap('<a href="'+e+'"></a>'):(d.format.remove("a"),d.selection.isCollapsed()?(t=0===t.length?r:t,d.html.insert('<a href="'+e+'">'+m.FE.START_MARKER+t.replace(/&/g,"&amp;")+m.FE.END_MARKER+"</a>"),d.selection.restore()):0<t.length&&t!=d.selection.text().replace(/\n/g,"")?(d.selection.remove(),d.html.insert('<a href="'+e+'">'+m.FE.START_MARKER+t.replace(/&/g,"&amp;")+m.FE.END_MARKER+"</a>"),d.selection.restore()):(!function(){if(!d.selection.isCollapsed()){d.selection.save();for(var e=d.$el.find(".fr-marker").addClass("fr-unprocessed").toArray();e.length;){var t=m(e.pop());t.removeClass("fr-unprocessed");var n=d.node.deepestParent(t.get(0));if(n){for(var i=t.get(0),r="",l="";i=i.parentNode,d.node.isBlock(i)||(r+=d.node.closeTagString(i),l=d.node.openTagString(i)+l),i!=n;);var a=d.node.openTagString(t.get(0))+t.html()+d.node.closeTagString(t.get(0));t.replaceWith('<span id="fr-break"></span>');var s=n.outerHTML;s=s.replace(/<span id="fr-break"><\/span>/g,r+a+l),n.outerHTML=s}e=d.$el.find(".fr-marker.fr-unprocessed").toArray()}d.html.cleanEmptyTags(),d.selection.restore()}}(),d.format.apply("a",{href:e})));for(var o=u(),p=0;p<o.length;p++)(l=m(o[p])).attr(n),l.removeAttr("_moz_dirty");1==o.length&&d.$wp&&!i&&(m(o[0]).prepend(m.FE.START_MARKER).append(m.FE.END_MARKER),d.selection.restore())}if(i){var f=d.popups.get("link.insert");f&&f.find("input:focus").blur(),d.image.edit(i)}else k()}function g(){a();var e=c();if(e){var t=d.popups.get("link.insert");t||(t=s()),d.popups.isVisible("link.insert")||(d.popups.refresh("link.insert"),d.selection.save(),d.helpers.isMobile()&&(d.events.disableBlur(),d.$el.blur(),d.events.enableBlur())),d.popups.setContainer("link.insert",d.$sc);var n=(d.image?d.image.get():null)||m(e),i=n.offset().left+n.outerWidth()/2,r=n.offset().top+n.outerHeight();d.popups.show("link.insert",i,r,n.outerHeight())}}function h(){var e=d.image?d.image.getEl():null;if(e){var t=d.popups.get("link.insert");d.image.hasCaption()&&(e=e.find(".fr-img-wrap")),t||(t=s()),p(),d.popups.setContainer("link.insert",d.$sc);var n=e.offset().left+e.outerWidth()/2,i=e.offset().top+e.outerHeight();d.popups.show("link.insert",n,i,e.outerHeight())}}return{_init:function(){d.events.on("keyup",function(e){e.which!=m.FE.KEYCODE.ESC&&k(e)}),d.events.on("window.mouseup",k),d.events.$on(d.$el,"click","a",function(e){d.edit.isDisabled()&&e.preventDefault()}),d.helpers.isMobile()&&d.events.$on(d.$doc,"selectionchange",k),s(!0),"A"==d.el.tagName&&d.$el.addClass("fr-view"),d.events.on("toolbar.esc",function(){if(d.popups.isVisible("link.edit"))return d.events.disableBlur(),d.events.focus(),!1},!0)},remove:function(){var e=c(),t=d.image?d.image.get():null;if(!1===d.events.trigger("link.beforeRemove",[e]))return!1;t&&e?(t.unwrap(),d.image.edit(t)):e&&(d.selection.save(),m(e).replaceWith(m(e).html()),d.selection.restore(),a())},showInsertPopup:function(){var e=d.$tb.find('.fr-command[data-cmd="insertLink"]'),t=d.popups.get("link.insert");if(t||(t=s()),!t.hasClass("fr-active"))if(d.popups.refresh("link.insert"),d.popups.setContainer("link.insert",d.$tb||d.$sc),e.is(":visible")){var n=e.offset().left+e.outerWidth()/2,i=e.offset().top+(d.opts.toolbarBottom?10:e.outerHeight()-10);d.popups.show("link.insert",n,i,e.outerHeight())}else d.position.forSelection(t),d.popups.show("link.insert")},usePredefined:function(e){var t,n,i=d.opts.linkList[e],r=d.popups.get("link.insert"),l=r.find('input.fr-link-attr[type="text"]'),a=r.find('input.fr-link-attr[type="checkbox"]');for(n=0;n<l.length;n++)i[(t=m(l[n])).attr("name")]?t.val(i[t.attr("name")]):"text"!=t.attr("name")&&t.val("");for(n=0;n<a.length;n++)(t=m(a[n])).prop("checked",t.data("checked")==i[t.attr("name")]);d.accessibility.focusPopup(r)},insertCallback:function(){var e,t,n=d.popups.get("link.insert"),i=n.find('input.fr-link-attr[type="text"]'),r=n.find('input.fr-link-attr[type="checkbox"]'),l=(i.filter('[name="href"]').val()||"").trim(),a=i.filter('[name="text"]').val(),s={};for(t=0;t<i.length;t++)e=m(i[t]),["href","text"].indexOf(e.attr("name"))<0&&(s[e.attr("name")]=e.val());for(t=0;t<r.length;t++)(e=m(r[t])).is(":checked")?s[e.attr("name")]=e.data("checked"):s[e.attr("name")]=e.data("unchecked")||null;var o=d.helpers.scrollTop();f(l,a,s),m(d.o_win).scrollTop(o)},insert:f,update:g,get:c,allSelected:u,back:function(){d.image&&d.image.get()?d.image.back():(d.events.disableBlur(),d.selection.restore(),d.events.enableBlur(),c()&&d.$wp?(d.selection.restore(),a(),k()):"A"==d.el.tagName?(d.$el.focus(),k()):(d.popups.hide("link.insert"),d.toolbar.showInline()))},imageLink:h,applyStyle:function(e,t,n){void 0===n&&(n=d.opts.linkMultipleStyles),void 0===t&&(t=d.opts.linkStyles);var i=c();if(!i)return!1;if(!n){var r=Object.keys(t);r.splice(r.indexOf(e),1),m(i).removeClass(r.join(" "))}m(i).toggleClass(e),k()}}},m.FE.DefineIcon("insertLink",{NAME:"link"}),m.FE.RegisterShortcut(m.FE.KEYCODE.K,"insertLink",null,"K"),m.FE.RegisterCommand("insertLink",{title:"Insert Link",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible("link.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("link.insert")):this.link.showInsertPopup()},plugin:"link"}),m.FE.DefineIcon("linkOpen",{NAME:"external-link",FA5NAME:"external-link-alt"}),m.FE.RegisterCommand("linkOpen",{title:"Open Link",undo:!1,refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},callback:function(){var e=this.link.get();e&&(-1!==e.href.indexOf("mailto:")?this.o_win.open(e.href).close():this.o_win.open(e.href,"_blank","noopener"),this.popups.hide("link.edit"))},plugin:"link"}),m.FE.DefineIcon("linkEdit",{NAME:"edit"}),m.FE.RegisterCommand("linkEdit",{title:"Edit Link",undo:!1,refreshAfterCallback:!1,popup:!0,callback:function(){this.link.update()},refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},plugin:"link"}),m.FE.DefineIcon("linkRemove",{NAME:"unlink"}),m.FE.RegisterCommand("linkRemove",{title:"Unlink",callback:function(){this.link.remove()},refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},plugin:"link"}),m.FE.DefineIcon("linkBack",{NAME:"arrow-left"}),m.FE.RegisterCommand("linkBack",{title:"Back",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.link.back()},refresh:function(e){var t=this.link.get()&&this.doc.hasFocus();(this.image?this.image.get():null)||t||this.opts.toolbarInline?(e.removeClass("fr-hidden"),e.next(".fr-separator").removeClass("fr-hidden")):(e.addClass("fr-hidden"),e.next(".fr-separator").addClass("fr-hidden"))},plugin:"link"}),m.FE.DefineIcon("linkList",{NAME:"search"}),m.FE.RegisterCommand("linkList",{title:"Choose Link",type:"dropdown",focus:!1,undo:!1,refreshAfterCallback:!1,html:function(){for(var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.linkList,n=0;n<t.length;n++)e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="linkList" data-param1="'+n+'">'+(t[n].displayText||t[n].text)+"</a></li>";return e+="</ul>"},callback:function(e,t){this.link.usePredefined(t)},plugin:"link"}),m.FE.RegisterCommand("linkInsert",{focus:!1,refreshAfterCallback:!1,callback:function(){this.link.insertCallback()},refresh:function(e){this.link.get()?e.text(this.language.translate("Update")):e.text(this.language.translate("Insert"))},plugin:"link"}),m.FE.DefineIcon("imageLink",{NAME:"link"}),m.FE.RegisterCommand("imageLink",{title:"Insert Link",undo:!1,focus:!1,popup:!0,callback:function(){this.link.imageLink()},refresh:function(e){var t;this.link.get()?((t=e.prev()).hasClass("fr-separator")&&t.removeClass("fr-hidden"),e.addClass("fr-hidden")):((t=e.prev()).hasClass("fr-separator")&&t.addClass("fr-hidden"),e.removeClass("fr-hidden"))},plugin:"link"}),m.FE.DefineIcon("linkStyle",{NAME:"magic"}),m.FE.RegisterCommand("linkStyle",{title:"Style",type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.linkStyles;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="linkStyle" data-param1="'+n+'">'+this.language.translate(t[n])+"</a></li>");return e+="</ul>"},callback:function(e,t){this.link.applyStyle(t)},refreshOnShow:function(e,t){var n=this.link.get();if(n){var i=m(n);t.find(".fr-command").each(function(){var e=m(this).data("param1"),t=i.hasClass(e);m(this).toggleClass("fr-active",t).attr("aria-selected",t)})}},refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},plugin:"link"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/link.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/special_characters.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/special_characters.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/special_characters.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(T){"function"==typeof define&&define.amd?define(["jquery"],T):"object"==typeof module&&module.exports?module.exports=function(E,c){return c===undefined&&(c="undefined"!=typeof window?require("jquery"):require("jquery")(E)),T(c)}:T(window.jQuery)}(function(s){s.extend(s.FE.DEFAULTS,{specialCharactersSets:[{title:"Latin",list:[{"char":"&iexcl;",desc:"INVERTED EXCLAMATION MARK"},{"char":"&cent;",desc:"CENT SIGN"},{"char":"&pound;",desc:"POUND SIGN"},{"char":"&curren;",desc:"CURRENCY SIGN"},{"char":"&yen;",desc:"YEN SIGN"},{"char":"&brvbar;",desc:"BROKEN BAR"},{"char":"&sect;",desc:"SECTION SIGN"},{"char":"&uml;",desc:"DIAERESIS"},{"char":"&copy;",desc:"COPYRIGHT SIGN"},{"char":"&trade;",desc:"TRADEMARK SIGN"},{"char":"&ordf;",desc:"FEMININE ORDINAL INDICATOR"},{"char":"&laquo;",desc:"LEFT-POINTING DOUBLE ANGLE QUOTATION MARK"},{"char":"&not;",desc:"NOT SIGN"},{"char":"&reg;",desc:"REGISTERED SIGN"},{"char":"&macr;",desc:"MACRON"},{"char":"&deg;",desc:"DEGREE SIGN"},{"char":"&plusmn;",desc:"PLUS-MINUS SIGN"},{"char":"&sup2;",desc:"SUPERSCRIPT TWO"},{"char":"&sup3;",desc:"SUPERSCRIPT THREE"},{"char":"&acute;",desc:"ACUTE ACCENT"},{"char":"&micro;",desc:"MICRO SIGN"},{"char":"&para;",desc:"PILCROW SIGN"},{"char":"&middot;",desc:"MIDDLE DOT"},{"char":"&cedil;",desc:"CEDILLA"},{"char":"&sup1;",desc:"SUPERSCRIPT ONE"},{"char":"&ordm;",desc:"MASCULINE ORDINAL INDICATOR"},{"char":"&raquo;",desc:"RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK"},{"char":"&frac14;",desc:"VULGAR FRACTION ONE QUARTER"},{"char":"&frac12;",desc:"VULGAR FRACTION ONE HALF"},{"char":"&frac34;",desc:"VULGAR FRACTION THREE QUARTERS"},{"char":"&iquest;",desc:"INVERTED QUESTION MARK"},{"char":"&Agrave;",desc:"LATIN CAPITAL LETTER A WITH GRAVE"},{"char":"&Aacute;",desc:"LATIN CAPITAL LETTER A WITH ACUTE"},{"char":"&Acirc;",desc:"LATIN CAPITAL LETTER A WITH CIRCUMFLEX"},{"char":"&Atilde;",desc:"LATIN CAPITAL LETTER A WITH TILDE"},{"char":"&Auml;",desc:"LATIN CAPITAL LETTER A WITH DIAERESIS "},{"char":"&Aring;",desc:"LATIN CAPITAL LETTER A WITH RING ABOVE"},{"char":"&AElig;",desc:"LATIN CAPITAL LETTER AE"},{"char":"&Ccedil;",desc:"LATIN CAPITAL LETTER C WITH CEDILLA"},{"char":"&Egrave;",desc:"LATIN CAPITAL LETTER E WITH GRAVE"},{"char":"&Eacute;",desc:"LATIN CAPITAL LETTER E WITH ACUTE"},{"char":"&Ecirc;",desc:"LATIN CAPITAL LETTER E WITH CIRCUMFLEX"},{"char":"&Euml;",desc:"LATIN CAPITAL LETTER E WITH DIAERESIS"},{"char":"&Igrave;",desc:"LATIN CAPITAL LETTER I WITH GRAVE"},{"char":"&Iacute;",desc:"LATIN CAPITAL LETTER I WITH ACUTE"},{"char":"&Icirc;",desc:"LATIN CAPITAL LETTER I WITH CIRCUMFLEX"},{"char":"&Iuml;",desc:"LATIN CAPITAL LETTER I WITH DIAERESIS"},{"char":"&ETH;",desc:"LATIN CAPITAL LETTER ETH"},{"char":"&Ntilde;",desc:"LATIN CAPITAL LETTER N WITH TILDE"},{"char":"&Ograve;",desc:"LATIN CAPITAL LETTER O WITH GRAVE"},{"char":"&Oacute;",desc:"LATIN CAPITAL LETTER O WITH ACUTE"},{"char":"&Ocirc;",desc:"LATIN CAPITAL LETTER O WITH CIRCUMFLEX"},{"char":"&Otilde;",desc:"LATIN CAPITAL LETTER O WITH TILDE"},{"char":"&Ouml;",desc:"LATIN CAPITAL LETTER O WITH DIAERESIS"},{"char":"&times;",desc:"MULTIPLICATION SIGN"},{"char":"&Oslash;",desc:"LATIN CAPITAL LETTER O WITH STROKE"},{"char":"&Ugrave;",desc:"LATIN CAPITAL LETTER U WITH GRAVE"},{"char":"&Uacute;",desc:"LATIN CAPITAL LETTER U WITH ACUTE"},{"char":"&Ucirc;",desc:"LATIN CAPITAL LETTER U WITH CIRCUMFLEX"},{"char":"&Uuml;",desc:"LATIN CAPITAL LETTER U WITH DIAERESIS"},{"char":"&Yacute;",desc:"LATIN CAPITAL LETTER Y WITH ACUTE"},{"char":"&THORN;",desc:"LATIN CAPITAL LETTER THORN"},{"char":"&szlig;",desc:"LATIN SMALL LETTER SHARP S"},{"char":"&agrave;",desc:"LATIN SMALL LETTER A WITH GRAVE"},{"char":"&aacute;",desc:"LATIN SMALL LETTER A WITH ACUTE "},{"char":"&acirc;",desc:"LATIN SMALL LETTER A WITH CIRCUMFLEX"},{"char":"&atilde;",desc:"LATIN SMALL LETTER A WITH TILDE"},{"char":"&auml;",desc:"LATIN SMALL LETTER A WITH DIAERESIS"},{"char":"&aring;",desc:"LATIN SMALL LETTER A WITH RING ABOVE"},{"char":"&aelig;",desc:"LATIN SMALL LETTER AE"},{"char":"&ccedil;",desc:"LATIN SMALL LETTER C WITH CEDILLA"},{"char":"&egrave;",desc:"LATIN SMALL LETTER E WITH GRAVE"},{"char":"&eacute;",desc:"LATIN SMALL LETTER E WITH ACUTE"},{"char":"&ecirc;",desc:"LATIN SMALL LETTER E WITH CIRCUMFLEX"},{"char":"&euml;",desc:"LATIN SMALL LETTER E WITH DIAERESIS"},{"char":"&igrave;",desc:"LATIN SMALL LETTER I WITH GRAVE"},{"char":"&iacute;",desc:"LATIN SMALL LETTER I WITH ACUTE"},{"char":"&icirc;",desc:"LATIN SMALL LETTER I WITH CIRCUMFLEX"},{"char":"&iuml;",desc:"LATIN SMALL LETTER I WITH DIAERESIS"},{"char":"&eth;",desc:"LATIN SMALL LETTER ETH"},{"char":"&ntilde;",desc:"LATIN SMALL LETTER N WITH TILDE"},{"char":"&ograve;",desc:"LATIN SMALL LETTER O WITH GRAVE"},{"char":"&oacute;",desc:"LATIN SMALL LETTER O WITH ACUTE"},{"char":"&ocirc;",desc:"LATIN SMALL LETTER O WITH CIRCUMFLEX"},{"char":"&otilde;",desc:"LATIN SMALL LETTER O WITH TILDE"},{"char":"&ouml;",desc:"LATIN SMALL LETTER O WITH DIAERESIS"},{"char":"&divide;",desc:"DIVISION SIGN"},{"char":"&oslash;",desc:"LATIN SMALL LETTER O WITH STROKE"},{"char":"&ugrave;",desc:"LATIN SMALL LETTER U WITH GRAVE"},{"char":"&uacute;",desc:"LATIN SMALL LETTER U WITH ACUTE"},{"char":"&ucirc;",desc:"LATIN SMALL LETTER U WITH CIRCUMFLEX"},{"char":"&uuml;",desc:"LATIN SMALL LETTER U WITH DIAERESIS"},{"char":"&yacute;",desc:"LATIN SMALL LETTER Y WITH ACUTE"},{"char":"&thorn;",desc:"LATIN SMALL LETTER THORN"},{"char":"&yuml;",desc:"LATIN SMALL LETTER Y WITH DIAERESIS"}]},{title:"Greek",list:[{"char":"&Alpha;",desc:"GREEK CAPITAL LETTER ALPHA"},{"char":"&Beta;",desc:"GREEK CAPITAL LETTER BETA"},{"char":"&Gamma;",desc:"GREEK CAPITAL LETTER GAMMA"},{"char":"&Delta;",desc:"GREEK CAPITAL LETTER DELTA"},{"char":"&Epsilon;",desc:"GREEK CAPITAL LETTER EPSILON"},{"char":"&Zeta;",desc:"GREEK CAPITAL LETTER ZETA"},{"char":"&Eta;",desc:"GREEK CAPITAL LETTER ETA"},{"char":"&Theta;",desc:"GREEK CAPITAL LETTER THETA"},{"char":"&Iota;",desc:"GREEK CAPITAL LETTER IOTA"},{"char":"&Kappa;",desc:"GREEK CAPITAL LETTER KAPPA"},{"char":"&Lambda;",desc:"GREEK CAPITAL LETTER LAMBDA"},{"char":"&Mu;",desc:"GREEK CAPITAL LETTER MU"},{"char":"&Nu;",desc:"GREEK CAPITAL LETTER NU"},{"char":"&Xi;",desc:"GREEK CAPITAL LETTER XI"},{"char":"&Omicron;",desc:"GREEK CAPITAL LETTER OMICRON"},{"char":"&Pi;",desc:"GREEK CAPITAL LETTER PI"},{"char":"&Rho;",desc:"GREEK CAPITAL LETTER RHO"},{"char":"&Sigma;",desc:"GREEK CAPITAL LETTER SIGMA"},{"char":"&Tau;",desc:"GREEK CAPITAL LETTER TAU"},{"char":"&Upsilon;",desc:"GREEK CAPITAL LETTER UPSILON"},{"char":"&Phi;",desc:"GREEK CAPITAL LETTER PHI"},{"char":"&Chi;",desc:"GREEK CAPITAL LETTER CHI"},{"char":"&Psi;",desc:"GREEK CAPITAL LETTER PSI"},{"char":"&Omega;",desc:"GREEK CAPITAL LETTER OMEGA"},{"char":"&alpha;",desc:"GREEK SMALL LETTER ALPHA"},{"char":"&beta;",desc:"GREEK SMALL LETTER BETA"},{"char":"&gamma;",desc:"GREEK SMALL LETTER GAMMA"},{"char":"&delta;",desc:"GREEK SMALL LETTER DELTA"},{"char":"&epsilon;",desc:"GREEK SMALL LETTER EPSILON"},{"char":"&zeta;",desc:"GREEK SMALL LETTER ZETA"},{"char":"&eta;",desc:"GREEK SMALL LETTER ETA"},{"char":"&theta;",desc:"GREEK SMALL LETTER THETA"},{"char":"&iota;",desc:"GREEK SMALL LETTER IOTA"},{"char":"&kappa;",desc:"GREEK SMALL LETTER KAPPA"},{"char":"&lambda;",desc:"GREEK SMALL LETTER LAMBDA"},{"char":"&mu;",desc:"GREEK SMALL LETTER MU"},{"char":"&nu;",desc:"GREEK SMALL LETTER NU"},{"char":"&xi;",desc:"GREEK SMALL LETTER XI"},{"char":"&omicron;",desc:"GREEK SMALL LETTER OMICRON"},{"char":"&pi;",desc:"GREEK SMALL LETTER PI"},{"char":"&rho;",desc:"GREEK SMALL LETTER RHO"},{"char":"&sigmaf;",desc:"GREEK SMALL LETTER FINAL SIGMA"},{"char":"&sigma;",desc:"GREEK SMALL LETTER SIGMA"},{"char":"&tau;",desc:"GREEK SMALL LETTER TAU"},{"char":"&upsilon;",desc:"GREEK SMALL LETTER UPSILON"},{"char":"&phi;",desc:"GREEK SMALL LETTER PHI"},{"char":"&chi;",desc:"GREEK SMALL LETTER CHI"},{"char":"&psi;",desc:"GREEK SMALL LETTER PSI"},{"char":"&omega;",desc:"GREEK SMALL LETTER OMEGA"},{"char":"&thetasym;",desc:"GREEK THETA SYMBOL"},{"char":"&upsih;",desc:"GREEK UPSILON WITH HOOK SYMBOL"},{"char":"&straightphi;",desc:"GREEK PHI SYMBOL"},{"char":"&piv;",desc:"GREEK PI SYMBOL"},{"char":"&Gammad;",desc:"GREEK LETTER DIGAMMA"},{"char":"&gammad;",desc:"GREEK SMALL LETTER DIGAMMA"},{"char":"&varkappa;",desc:"GREEK KAPPA SYMBOL"},{"char":"&varrho;",desc:"GREEK RHO SYMBOL"},{"char":"&straightepsilon;",desc:"GREEK LUNATE EPSILON SYMBOL"},{"char":"&backepsilon;",desc:"GREEK REVERSED LUNATE EPSILON SYMBOL"}]},{title:"Cyrillic",list:[{"char":"&#x400",desc:"CYRILLIC CAPITAL LETTER IE WITH GRAVE"},{"char":"&#x401",desc:"CYRILLIC CAPITAL LETTER IO"},{"char":"&#x402",desc:"CYRILLIC CAPITAL LETTER DJE"},{"char":"&#x403",desc:"CYRILLIC CAPITAL LETTER GJE"},{"char":"&#x404",desc:"CYRILLIC CAPITAL LETTER UKRAINIAN IE"},{"char":"&#x405",desc:"CYRILLIC CAPITAL LETTER DZE"},{"char":"&#x406",desc:"CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I"},{"char":"&#x407",desc:"CYRILLIC CAPITAL LETTER YI"},{"char":"&#x408",desc:"CYRILLIC CAPITAL LETTER JE"},{"char":"&#x409",desc:"CYRILLIC CAPITAL LETTER LJE"},{"char":"&#x40A",desc:"CYRILLIC CAPITAL LETTER NJE"},{"char":"&#x40B",desc:"CYRILLIC CAPITAL LETTER TSHE"},{"char":"&#x40C",desc:"CYRILLIC CAPITAL LETTER KJE"},{"char":"&#x40D",desc:"CYRILLIC CAPITAL LETTER I WITH GRAVE"},{"char":"&#x40E",desc:"CYRILLIC CAPITAL LETTER SHORT U"},{"char":"&#x40F",desc:"CYRILLIC CAPITAL LETTER DZHE"},{"char":"&#x410",desc:"CYRILLIC CAPITAL LETTER A"},{"char":"&#x411",desc:"CYRILLIC CAPITAL LETTER BE"},{"char":"&#x412",desc:"CYRILLIC CAPITAL LETTER VE"},{"char":"&#x413",desc:"CYRILLIC CAPITAL LETTER GHE"},{"char":"&#x414",desc:"CYRILLIC CAPITAL LETTER DE"},{"char":"&#x415",desc:"CYRILLIC CAPITAL LETTER IE"},{"char":"&#x416",desc:"CYRILLIC CAPITAL LETTER ZHE"},{"char":"&#x417",desc:"CYRILLIC CAPITAL LETTER ZE"},{"char":"&#x418",desc:"CYRILLIC CAPITAL LETTER I"},{"char":"&#x419",desc:"CYRILLIC CAPITAL LETTER SHORT I"},{"char":"&#x41A",desc:"CYRILLIC CAPITAL LETTER KA"},{"char":"&#x41B",desc:"CYRILLIC CAPITAL LETTER EL"},{"char":"&#x41C",desc:"CYRILLIC CAPITAL LETTER EM"},{"char":"&#x41D",desc:"CYRILLIC CAPITAL LETTER EN"},{"char":"&#x41E",desc:"CYRILLIC CAPITAL LETTER O"},{"char":"&#x41F",desc:"CYRILLIC CAPITAL LETTER PE"},{"char":"&#x420",desc:"CYRILLIC CAPITAL LETTER ER"},{"char":"&#x421",desc:"CYRILLIC CAPITAL LETTER ES"},{"char":"&#x422",desc:"CYRILLIC CAPITAL LETTER TE"},{"char":"&#x423",desc:"CYRILLIC CAPITAL LETTER U"},{"char":"&#x424",desc:"CYRILLIC CAPITAL LETTER EF"},{"char":"&#x425",desc:"CYRILLIC CAPITAL LETTER HA"},{"char":"&#x426",desc:"CYRILLIC CAPITAL LETTER TSE"},{"char":"&#x427",desc:"CYRILLIC CAPITAL LETTER CHE"},{"char":"&#x428",desc:"CYRILLIC CAPITAL LETTER SHA"},{"char":"&#x429",desc:"CYRILLIC CAPITAL LETTER SHCHA"},{"char":"&#x42A",desc:"CYRILLIC CAPITAL LETTER HARD SIGN"},{"char":"&#x42B",desc:"CYRILLIC CAPITAL LETTER YERU"},{"char":"&#x42C",desc:"CYRILLIC CAPITAL LETTER SOFT SIGN"},{"char":"&#x42D",desc:"CYRILLIC CAPITAL LETTER E"},{"char":"&#x42E",desc:"CYRILLIC CAPITAL LETTER YU"},{"char":"&#x42F",desc:"CYRILLIC CAPITAL LETTER YA"},{"char":"&#x430",desc:"CYRILLIC SMALL LETTER A"},{"char":"&#x431",desc:"CYRILLIC SMALL LETTER BE"},{"char":"&#x432",desc:"CYRILLIC SMALL LETTER VE"},{"char":"&#x433",desc:"CYRILLIC SMALL LETTER GHE"},{"char":"&#x434",desc:"CYRILLIC SMALL LETTER DE"},{"char":"&#x435",desc:"CYRILLIC SMALL LETTER IE"},{"char":"&#x436",desc:"CYRILLIC SMALL LETTER ZHE"},{"char":"&#x437",desc:"CYRILLIC SMALL LETTER ZE"},{"char":"&#x438",desc:"CYRILLIC SMALL LETTER I"},{"char":"&#x439",desc:"CYRILLIC SMALL LETTER SHORT I"},{"char":"&#x43A",desc:"CYRILLIC SMALL LETTER KA"},{"char":"&#x43B",desc:"CYRILLIC SMALL LETTER EL"},{"char":"&#x43C",desc:"CYRILLIC SMALL LETTER EM"},{"char":"&#x43D",desc:"CYRILLIC SMALL LETTER EN"},{"char":"&#x43E",desc:"CYRILLIC SMALL LETTER O"},{"char":"&#x43F",desc:"CYRILLIC SMALL LETTER PE"},{"char":"&#x440",desc:"CYRILLIC SMALL LETTER ER"},{"char":"&#x441",desc:"CYRILLIC SMALL LETTER ES"},{"char":"&#x442",desc:"CYRILLIC SMALL LETTER TE"},{"char":"&#x443",desc:"CYRILLIC SMALL LETTER U"},{"char":"&#x444",desc:"CYRILLIC SMALL LETTER EF"},{"char":"&#x445",desc:"CYRILLIC SMALL LETTER HA"},{"char":"&#x446",desc:"CYRILLIC SMALL LETTER TSE"},{"char":"&#x447",desc:"CYRILLIC SMALL LETTER CHE"},{"char":"&#x448",desc:"CYRILLIC SMALL LETTER SHA"},{"char":"&#x449",desc:"CYRILLIC SMALL LETTER SHCHA"},{"char":"&#x44A",desc:"CYRILLIC SMALL LETTER HARD SIGN"},{"char":"&#x44B",desc:"CYRILLIC SMALL LETTER YERU"},{"char":"&#x44C",desc:"CYRILLIC SMALL LETTER SOFT SIGN"},{"char":"&#x44D",desc:"CYRILLIC SMALL LETTER E"},{"char":"&#x44E",desc:"CYRILLIC SMALL LETTER YU"},{"char":"&#x44F",desc:"CYRILLIC SMALL LETTER YA"},{"char":"&#x450",desc:"CYRILLIC SMALL LETTER IE WITH GRAVE"},{"char":"&#x451",desc:"CYRILLIC SMALL LETTER IO"},{"char":"&#x452",desc:"CYRILLIC SMALL LETTER DJE"},{"char":"&#x453",desc:"CYRILLIC SMALL LETTER GJE"},{"char":"&#x454",desc:"CYRILLIC SMALL LETTER UKRAINIAN IE"},{"char":"&#x455",desc:"CYRILLIC SMALL LETTER DZE"},{"char":"&#x456",desc:"CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I"},{"char":"&#x457",desc:"CYRILLIC SMALL LETTER YI"},{"char":"&#x458",desc:"CYRILLIC SMALL LETTER JE"},{"char":"&#x459",desc:"CYRILLIC SMALL LETTER LJE"},{"char":"&#x45A",desc:"CYRILLIC SMALL LETTER NJE"},{"char":"&#x45B",desc:"CYRILLIC SMALL LETTER TSHE"},{"char":"&#x45C",desc:"CYRILLIC SMALL LETTER KJE"},{"char":"&#x45D",desc:"CYRILLIC SMALL LETTER I WITH GRAVE"},{"char":"&#x45E",desc:"CYRILLIC SMALL LETTER SHORT U"},{"char":"&#x45F",desc:"CYRILLIC SMALL LETTER DZHE"}]},{title:"Punctuation",list:[{"char":"&ndash;",desc:"EN DASH"},{"char":"&mdash;",desc:"EM DASH"},{"char":"&lsquo;",desc:"LEFT SINGLE QUOTATION MARK"},{"char":"&rsquo;",desc:"RIGHT SINGLE QUOTATION MARK"},{"char":"&sbquo;",desc:"SINGLE LOW-9 QUOTATION MARK"},{"char":"&ldquo;",desc:"LEFT DOUBLE QUOTATION MARK"},{"char":"&rdquo;",desc:"RIGHT DOUBLE QUOTATION MARK"},{"char":"&bdquo;",desc:"DOUBLE LOW-9 QUOTATION MARK"},{"char":"&dagger;",desc:"DAGGER"},{"char":"&Dagger;",desc:"DOUBLE DAGGER"},{"char":"&bull;",desc:"BULLET"},{"char":"&hellip;",desc:"HORIZONTAL ELLIPSIS"},{"char":"&permil;",desc:"PER MILLE SIGN"},{"char":"&prime;",desc:"PRIME"},{"char":"&Prime;",desc:"DOUBLE PRIME"},{"char":"&lsaquo;",desc:"SINGLE LEFT-POINTING ANGLE QUOTATION MARK"},{"char":"&rsaquo;",desc:"SINGLE RIGHT-POINTING ANGLE QUOTATION MARK"},{"char":"&oline;",desc:"OVERLINE"},{"char":"&frasl;",desc:"FRACTION SLASH"}]},{title:"Currency",list:[{"char":"&#x20A0",desc:"EURO-CURRENCY SIGN"},{"char":"&#x20A1",desc:"COLON SIGN"},{"char":"&#x20A2",desc:"CRUZEIRO SIGN"},{"char":"&#x20A3",desc:"FRENCH FRANC SIGN"},{"char":"&#x20A4",desc:"LIRA SIGN"},{"char":"&#x20A5",desc:"MILL SIGN"},{"char":"&#x20A6",desc:"NAIRA SIGN"},{"char":"&#x20A7",desc:"PESETA SIGN"},{"char":"&#x20A8",desc:"RUPEE SIGN"},{"char":"&#x20A9",desc:"WON SIGN"},{"char":"&#x20AA",desc:"NEW SHEQEL SIGN"},{"char":"&#x20AB",desc:"DONG SIGN"},{"char":"&#x20AC",desc:"EURO SIGN"},{"char":"&#x20AD",desc:"KIP SIGN"},{"char":"&#x20AE",desc:"TUGRIK SIGN"},{"char":"&#x20AF",desc:"DRACHMA SIGN"},{"char":"&#x20B0",desc:"GERMAN PENNY SYMBOL"},{"char":"&#x20B1",desc:"PESO SIGN"},{"char":"&#x20B2",desc:"GUARANI SIGN"},{"char":"&#x20B3",desc:"AUSTRAL SIGN"},{"char":"&#x20B4",desc:"HRYVNIA SIGN"},{"char":"&#x20B5",desc:"CEDI SIGN"},{"char":"&#x20B6",desc:"LIVRE TOURNOIS SIGN"},{"char":"&#x20B7",desc:"SPESMILO SIGN"},{"char":"&#x20B8",desc:"TENGE SIGN"},{"char":"&#x20B9",desc:"INDIAN RUPEE SIGN"}]},{title:"Arrows",list:[{"char":"&#x2190",desc:"LEFTWARDS ARROW"},{"char":"&#x2191",desc:"UPWARDS ARROW"},{"char":"&#x2192",desc:"RIGHTWARDS ARROW"},{"char":"&#x2193",desc:"DOWNWARDS ARROW"},{"char":"&#x2194",desc:"LEFT RIGHT ARROW"},{"char":"&#x2195",desc:"UP DOWN ARROW"},{"char":"&#x2196",desc:"NORTH WEST ARROW"},{"char":"&#x2197",desc:"NORTH EAST ARROW"},{"char":"&#x2198",desc:"SOUTH EAST ARROW"},{"char":"&#x2199",desc:"SOUTH WEST ARROW"},{"char":"&#x219A",desc:"LEFTWARDS ARROW WITH STROKE"},{"char":"&#x219B",desc:"RIGHTWARDS ARROW WITH STROKE"},{"char":"&#x219C",desc:"LEFTWARDS WAVE ARROW"},{"char":"&#x219D",desc:"RIGHTWARDS WAVE ARROW"},{"char":"&#x219E",desc:"LEFTWARDS TWO HEADED ARROW"},{"char":"&#x219F",desc:"UPWARDS TWO HEADED ARROW"},{"char":"&#x21A0",desc:"RIGHTWARDS TWO HEADED ARROW"},{"char":"&#x21A1",desc:"DOWNWARDS TWO HEADED ARROW"},{"char":"&#x21A2",desc:"LEFTWARDS ARROW WITH TAIL"},{"char":"&#x21A3",desc:"RIGHTWARDS ARROW WITH TAIL"},{"char":"&#x21A4",desc:"LEFTWARDS ARROW FROM BAR"},{"char":"&#x21A5",desc:"UPWARDS ARROW FROM BAR"},{"char":"&#x21A6",desc:"RIGHTWARDS ARROW FROM BAR"},{"char":"&#x21A7",desc:"DOWNWARDS ARROW FROM BAR"},{"char":"&#x21A8",desc:"UP DOWN ARROW WITH BASE"},{"char":"&#x21A9",desc:"LEFTWARDS ARROW WITH HOOK"},{"char":"&#x21AA",desc:"RIGHTWARDS ARROW WITH HOOK"},{"char":"&#x21AB",desc:"LEFTWARDS ARROW WITH LOOP"},{"char":"&#x21AC",desc:"RIGHTWARDS ARROW WITH LOOP"},{"char":"&#x21AD",desc:"LEFT RIGHT WAVE ARROW"},{"char":"&#x21AE",desc:"LEFT RIGHT ARROW WITH STROKE"},{"char":"&#x21AF",desc:"DOWNWARDS ZIGZAG ARROW"},{"char":"&#x21B0",desc:"UPWARDS ARROW WITH TIP LEFTWARDS"},{"char":"&#x21B1",desc:"UPWARDS ARROW WITH TIP RIGHTWARDS"},{"char":"&#x21B2",desc:"DOWNWARDS ARROW WITH TIP LEFTWARDS"},{"char":"&#x21B3",desc:"DOWNWARDS ARROW WITH TIP RIGHTWARDS"},{"char":"&#x21B4",desc:"RIGHTWARDS ARROW WITH CORNER DOWNWARDS"},{"char":"&#x21B5",desc:"DOWNWARDS ARROW WITH CORNER LEFTWARDS"},{"char":"&#x21B6",desc:"ANTICLOCKWISE TOP SEMICIRCLE ARROW"},{"char":"&#x21B7",desc:"CLOCKWISE TOP SEMICIRCLE ARROW"},{"char":"&#x21B8",desc:"NORTH WEST ARROW TO LONG BAR"},{"char":"&#x21B9",desc:"LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR"},{"char":"&#x21BA",desc:"ANTICLOCKWISE OPEN CIRCLE ARROW"},{"char":"&#x21BB",desc:"CLOCKWISE OPEN CIRCLE ARROW"},{"char":"&#x21BC",desc:"LEFTWARDS HARPOON WITH BARB UPWARDS"},{"char":"&#x21BD",desc:"LEFTWARDS HARPOON WITH BARB DOWNWARDS"},{"char":"&#x21BE",desc:"UPWARDS HARPOON WITH BARB RIGHTWARDS"},{"char":"&#x21BF",desc:"UPWARDS HARPOON WITH BARB LEFTWARDS"},{"char":"&#x21C0",desc:"RIGHTWARDS HARPOON WITH BARB UPWARDS"},{"char":"&#x21C1",desc:"RIGHTWARDS HARPOON WITH BARB DOWNWARDS"},{"char":"&#x21C2",desc:"DOWNWARDS HARPOON WITH BARB RIGHTWARDS"},{"char":"&#x21C3",desc:"DOWNWARDS HARPOON WITH BARB LEFTWARDS"},{"char":"&#x21C4",desc:"RIGHTWARDS ARROW OVER LEFTWARDS ARROW"},{"char":"&#x21C5",desc:"UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW"},{"char":"&#x21C6",desc:"LEFTWARDS ARROW OVER RIGHTWARDS ARROW"},{"char":"&#x21C7",desc:"LEFTWARDS PAIRED ARROWS"},{"char":"&#x21C8",desc:"UPWARDS PAIRED ARROWS"},{"char":"&#x21C9",desc:"RIGHTWARDS PAIRED ARROWS"},{"char":"&#x21CA",desc:"DOWNWARDS PAIRED ARROWS"},{"char":"&#x21CB",desc:"LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON"},{"char":"&#x21CC",desc:"RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON"},{"char":"&#x21CD",desc:"LEFTWARDS DOUBLE ARROW WITH STROKE"},{"char":"&#x21CE",desc:"LEFT RIGHT DOUBLE ARROW WITH STROKE"},{"char":"&#x21CF",desc:"RIGHTWARDS DOUBLE ARROW WITH STROKE"},{"char":"&#x21D0",desc:"LEFTWARDS DOUBLE ARROW"},{"char":"&#x21D1",desc:"UPWARDS DOUBLE ARROW"},{"char":"&#x21D2",desc:"RIGHTWARDS DOUBLE ARROW"},{"char":"&#x21D3",desc:"DOWNWARDS DOUBLE ARROW"},{"char":"&#x21D4",desc:"LEFT RIGHT DOUBLE ARROW"},{"char":"&#x21D5",desc:"UP DOWN DOUBLE ARROW"},{"char":"&#x21D6",desc:"NORTH WEST DOUBLE ARROW"},{"char":"&#x21D7",desc:"NORTH EAST DOUBLE ARROW"},{"char":"&#x21D8",desc:"SOUTH EAST DOUBLE ARROW"},{"char":"&#x21D9",desc:"SOUTH WEST DOUBLE ARROW"},{"char":"&#x21DA",desc:"LEFTWARDS TRIPLE ARROW"},{"char":"&#x21DB",desc:"RIGHTWARDS TRIPLE ARROW"},{"char":"&#x21DC",desc:"LEFTWARDS SQUIGGLE ARROW"},{"char":"&#x21DD",desc:"RIGHTWARDS SQUIGGLE ARROW"},{"char":"&#x21DE",desc:"UPWARDS ARROW WITH DOUBLE STROKE"},{"char":"&#x21DF",desc:"DOWNWARDS ARROW WITH DOUBLE STROKE"},{"char":"&#x21E0",desc:"LEFTWARDS DASHED ARROW"},{"char":"&#x21E1",desc:"UPWARDS DASHED ARROW"},{"char":"&#x21E2",desc:"RIGHTWARDS DASHED ARROW"},{"char":"&#x21E3",desc:"DOWNWARDS DASHED ARROW"},{"char":"&#x21E4",desc:"LEFTWARDS ARROW TO BAR"},{"char":"&#x21E5",desc:"RIGHTWARDS ARROW TO BAR"},{"char":"&#x21E6",desc:"LEFTWARDS WHITE ARROW"},{"char":"&#x21E7",desc:"UPWARDS WHITE ARROW"},{"char":"&#x21E8",desc:"RIGHTWARDS WHITE ARROW"},{"char":"&#x21E9",desc:"DOWNWARDS WHITE ARROW"},{"char":"&#x21EA",desc:"UPWARDS WHITE ARROW FROM BAR"},{"char":"&#x21EB",desc:"UPWARDS WHITE ARROW ON PEDESTAL"},{"char":"&#x21EC",desc:"UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR"},{"char":"&#x21ED",desc:"UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR"},{"char":"&#x21EE",desc:"UPWARDS WHITE DOUBLE ARROW"},{"char":"&#x21EF",desc:"UPWARDS WHITE DOUBLE ARROW ON PEDESTAL"},{"char":"&#x21F0",desc:"RIGHTWARDS WHITE ARROW FROM WALL"},{"char":"&#x21F1",desc:"NORTH WEST ARROW TO CORNER"},{"char":"&#x21F2",desc:"SOUTH EAST ARROW TO CORNER"},{"char":"&#x21F3",desc:"UP DOWN WHITE ARROW"},{"char":"&#x21F4",desc:"RIGHT ARROW WITH SMALL CIRCLE"},{"char":"&#x21F5",desc:"DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW"},{"char":"&#x21F6",desc:"THREE RIGHTWARDS ARROWS"},{"char":"&#x21F7",desc:"LEFTWARDS ARROW WITH VERTICAL STROKE"},{"char":"&#x21F8",desc:"RIGHTWARDS ARROW WITH VERTICAL STROKE"},{"char":"&#x21F9",desc:"LEFT RIGHT ARROW WITH VERTICAL STROKE"},{"char":"&#x21FA",desc:"LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE"},{"char":"&#x21FB",desc:"RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE"},{"char":"&#x21FC",desc:"LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE"},{"char":"&#x21FD",desc:"LEFTWARDS OPEN-HEADED ARROW"},{"char":"&#x21FE",desc:"RIGHTWARDS OPEN-HEADED ARROW"},{"char":"&#x21FF",desc:"LEFT RIGHT OPEN-HEADED ARROW"}]},{title:"Math",list:[{"char":"&forall;",desc:"FOR ALL"},{"char":"&part;",desc:"PARTIAL DIFFERENTIAL"},{"char":"&exist;",desc:"THERE EXISTS"},{"char":"&empty;",desc:"EMPTY SET"},{"char":"&nabla;",desc:"NABLA"},{"char":"&isin;",desc:"ELEMENT OF"},{"char":"&notin;",desc:"NOT AN ELEMENT OF"},{"char":"&ni;",desc:"CONTAINS AS MEMBER"},{"char":"&prod;",desc:"N-ARY PRODUCT"},{"char":"&sum;",desc:"N-ARY SUMMATION"},{"char":"&minus;",desc:"MINUS SIGN"},{"char":"&lowast;",desc:"ASTERISK OPERATOR"},{"char":"&radic;",desc:"SQUARE ROOT"},{"char":"&prop;",desc:"PROPORTIONAL TO"},{"char":"&infin;",desc:"INFINITY"},{"char":"&ang;",desc:"ANGLE"},{"char":"&and;",desc:"LOGICAL AND"},{"char":"&or;",desc:"LOGICAL OR"},{"char":"&cap;",desc:"INTERSECTION"},{"char":"&cup;",desc:"UNION"},{"char":"&int;",desc:"INTEGRAL"},{"char":"&there4;",desc:"THEREFORE"},{"char":"&sim;",desc:"TILDE OPERATOR"},{"char":"&cong;",desc:"APPROXIMATELY EQUAL TO"},{"char":"&asymp;",desc:"ALMOST EQUAL TO"},{"char":"&ne;",desc:"NOT EQUAL TO"},{"char":"&equiv;",desc:"IDENTICAL TO"},{"char":"&le;",desc:"LESS-THAN OR EQUAL TO"},{"char":"&ge;",desc:"GREATER-THAN OR EQUAL TO"},{"char":"&sub;",desc:"SUBSET OF"},{"char":"&sup;",desc:"SUPERSET OF"},{"char":"&nsub;",desc:"NOT A SUBSET OF"},{"char":"&sube;",desc:"SUBSET OF OR EQUAL TO"},{"char":"&supe;",desc:"SUPERSET OF OR EQUAL TO"},{"char":"&oplus;",desc:"CIRCLED PLUS"},{"char":"&otimes;",desc:"CIRCLED TIMES"},{"char":"&perp;",desc:"UP TACK"}]},{title:"Misc",list:[{"char":"&spades;",desc:"BLACK SPADE SUIT"},{"char":"&clubs;",desc:"BLACK CLUB SUIT"},{"char":"&hearts;",desc:"BLACK HEART SUIT"},{"char":"&diams;",desc:"BLACK DIAMOND SUIT"},{"char":"&#x2669",desc:"QUARTER NOTE"},{"char":"&#x266A",desc:"EIGHTH NOTE"},{"char":"&#x266B",desc:"BEAMED EIGHTH NOTES"},{"char":"&#x266C",desc:"BEAMED SIXTEENTH NOTES"},{"char":"&#x266D",desc:"MUSIC FLAT SIGN"},{"char":"&#x266E",desc:"MUSIC NATURAL SIGN"},{"char":"&#x2600",desc:"BLACK SUN WITH RAYS"},{"char":"&#x2601",desc:"CLOUD"},{"char":"&#x2602",desc:"UMBRELLA"},{"char":"&#x2603",desc:"SNOWMAN"},{"char":"&#x2615",desc:"HOT BEVERAGE"},{"char":"&#x2618",desc:"SHAMROCK"},{"char":"&#x262F",desc:"YIN YANG"},{"char":"&#x2714",desc:"HEAVY CHECK MARK"},{"char":"&#x2716",desc:"HEAVY MULTIPLICATION X"},{"char":"&#x2744",desc:"SNOWFLAKE"},{"char":"&#x275B",desc:"HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT"},{"char":"&#x275C",desc:"HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT"},{"char":"&#x275D",desc:"HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT"},{"char":"&#x275E",desc:"HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT"},{"char":"&#x2764",desc:"HEAVY BLACK HEART"}]}]}),s.FE.PLUGINS.specialCharacters=function(a){var I,e,R="special_characters";function r(E,c){a.events.disableBlur(),E.focus(),c.preventDefault(),c.stopPropagation()}return{_init:function(){},show:function(){if(!I){var E="<h4>"+a.language.translate("Special Characters")+"</h4>",c=function(){for(var E='<div class="fr-special-characters-modal">',c=0;c<a.opts.specialCharactersSets.length;c++){for(var T=a.opts.specialCharactersSets[c],R=T.list,L='<div class="fr-special-characters-list"><p class="fr-special-characters-title">'+a.language.translate(T.title)+"</p>",A=0;A<R.length;A++){var I=R[A];L+='<span class="fr-command fr-special-character" tabIndex="-1" role="button" value="'+I["char"]+'" title="'+I.desc+'">'+I["char"]+'<span class="fr-sr-only">'+a.language.translate(I.desc)+"&nbsp;&nbsp;&nbsp;</span></span>"}E+=L+"</div>"}return E+="</div>"}(),T=a.modals.create(R,E,c);I=T.$modal,T.$head,e=T.$body,a.events.$on(s(a.o_win),"resize",function(){(I.data("instance")||a).modals.resize(R)}),a.events.bindClick(e,".fr-special-character",function(E){var c=I.data("instance")||a,T=s(E.currentTarget);c.specialCharacters.insert(T)}),a.events.$on(e,"keydown",function(E){var c=E.which,T=e.find("span.fr-special-character:focus:first");if(!(T.length||c!=s.FE.KEYCODE.F10||a.keys.ctrlKey(E)||E.shiftKey)&&E.altKey)return r(e.find("span.fr-special-character:first"),E),!1;if(c==s.FE.KEYCODE.TAB||c==s.FE.KEYCODE.ARROW_LEFT||c==s.FE.KEYCODE.ARROW_RIGHT){var R=null,L=null,A=!1;return c==s.FE.KEYCODE.ARROW_LEFT||c==s.FE.KEYCODE.ARROW_RIGHT?(L=c==s.FE.KEYCODE.ARROW_RIGHT,A=!0):L=!E.shiftKey,T.length?(A&&(R=L?T.nextAll("span.fr-special-character:first"):T.prevAll("span.fr-special-character:first")),R&&R.length||(R=L?T.parent().next().find("span.fr-special-character:first"):T.parent().prev().find("span.fr-special-character:"+(A?"last":"first"))).length||(R=e.find("span.fr-special-character:"+(L?"first":"last")))):R=e.find("span.fr-special-character:"+(L?"first":"last")),r(R,E),!1}if(c!=s.FE.KEYCODE.ENTER||!T.length)return!0;(I.data("instance")||a).specialCharacters.insert(T)},!0)}a.modals.show(R),a.modals.resize(R)},hide:function(){a.modals.hide(R)},insert:function(E){a.specialCharacters.hide(),a.undo.saveStep(),a.html.insert(E.attr("value"),!0),a.undo.saveStep()}}},s.FroalaEditor.DefineIcon("specialCharacters",{template:"text",NAME:"&#937;"}),s.FE.RegisterCommand("specialCharacters",{title:"Special Characters",icon:"specialCharacters",undo:!1,focus:!1,modal:!0,callback:function(){this.specialCharacters.show()},plugin:"specialCharacters",showOnMobile:!0})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/special_characters.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/plugins/paragraph_style.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/plugins/paragraph_style.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/plugins/paragraph_style.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(t){"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof module&&module.exports?module.exports=function(e,a){return a===undefined&&(a="undefined"!=typeof window?require("jquery"):require("jquery")(e)),t(a)}:t(window.jQuery)}(function(i){i.extend(i.FE.DEFAULTS,{paragraphStyles:{"fr-text-gray":"Gray","fr-text-bordered":"Bordered","fr-text-spaced":"Spaced","fr-text-uppercase":"Uppercase"},paragraphMultipleStyles:!0}),i.FE.PLUGINS.paragraphStyle=function(o){return{_init:function(){},apply:function(e,a,t){void 0===a&&(a=o.opts.paragraphStyles),void 0===t&&(t=o.opts.paragraphMultipleStyles);var r="";t||((r=Object.keys(a)).splice(r.indexOf(e),1),r=r.join(" ")),o.selection.save(),o.html.wrap(!0,!0,!0,!0),o.selection.restore();var n=o.selection.blocks();o.selection.save();for(var s=i(n[0]).hasClass(e),l=0;l<n.length;l++)i(n[l]).removeClass(r).toggleClass(e,!s),i(n[l]).hasClass("fr-temp-div")&&i(n[l]).removeClass("fr-temp-div"),""===i(n[l]).attr("class")&&i(n[l]).removeAttr("class");o.html.unwrap(),o.selection.restore()},refreshOnShow:function(e,a){var t=o.selection.blocks();if(t.length){var r=i(t[0]);a.find(".fr-command").each(function(){var e=i(this).data("param1"),a=r.hasClass(e);i(this).toggleClass("fr-active",a).attr("aria-selected",a)})}}}},i.FE.RegisterCommand("paragraphStyle",{type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',a=this.opts.paragraphStyles;for(var t in a)a.hasOwnProperty(t)&&(e+='<li role="presentation"><a class="fr-command '+t+'" tabIndex="-1" role="option" data-cmd="paragraphStyle" data-param1="'+t+'" title="'+this.language.translate(a[t])+'">'+this.language.translate(a[t])+"</a></li>");return e+="</ul>"},title:"Paragraph Style",callback:function(e,a){this.paragraphStyle.apply(a)},refreshOnShow:function(e,a){this.paragraphStyle.refreshOnShow(e,a)},plugin:"paragraphStyle"}),i.FE.DefineIcon("paragraphStyle",{NAME:"magic"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/plugins/paragraph_style.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/froala_editor.pkgd.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/froala_editor.pkgd.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/froala_editor.pkgd.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=function(t,n){return void 0===n&&(n="undefined"!=typeof window?require("jquery"):require("jquery")(t)),e(n)}:e(window.jQuery)}(function(e){var t=function(n,r){this.id=++e.FE.ID;var i={};r&&r.documentReady&&(i.toolbarButtons=["fullscreen","undo","redo","getPDF","print","|","bold","italic","underline","color","clearFormatting","|","alignLeft","alignCenter","alignRight","alignJustify","|","formatOL","formatUL","indent","outdent","-","paragraphFormat","|","fontFamily","|","fontSize","|","insertLink","insertImage","quote"],i.paragraphFormatSelection=!0,i.fontFamilySelection=!0,i.fontSizeSelection=!0,i.placeholderText="",i.quickInsertEnabled=!1,i.charCounterCount=!1),this.opts=e.extend(!0,{},e.extend({},t.DEFAULTS,i,"object"==typeof r&&r));var a=JSON.stringify(this.opts);e.FE.OPTS_MAPPING[a]=e.FE.OPTS_MAPPING[a]||this.id,this.sid=e.FE.OPTS_MAPPING[a],e.FE.SHARED[this.sid]=e.FE.SHARED[this.sid]||{},this.shared=e.FE.SHARED[this.sid],this.shared.count=(this.shared.count||0)+1,this.$oel=e(n),this.$oel.data("froala.editor",this),this.o_doc=n.ownerDocument,this.o_win="defaultView"in this.o_doc?this.o_doc.defaultView:this.o_doc.parentWindow;var o=e(this.o_win).scrollTop();this.$oel.on("froala.doInit",e.proxy(function(){this.$oel.off("froala.doInit"),this.doc=this.$el.get(0).ownerDocument,this.win="defaultView"in this.doc?this.doc.defaultView:this.doc.parentWindow,this.$doc=e(this.doc),this.$win=e(this.win),this.opts.pluginsEnabled||(this.opts.pluginsEnabled=Object.keys(e.FE.PLUGINS)),this.opts.initOnClick?(this.load(e.FE.MODULES),this.$el.on("touchstart.init",function(){e(this).data("touched",!0)}),this.$el.on("touchmove.init",function(){e(this).removeData("touched")}),this.$el.on("mousedown.init touchend.init dragenter.init focus.init",e.proxy(function(t){if("touchend"==t.type&&!this.$el.data("touched"))return!0;if(1===t.which||!t.which){this.$el.off("mousedown.init touchstart.init touchmove.init touchend.init dragenter.init focus.init"),this.load(e.FE.MODULES),this.load(e.FE.PLUGINS);var n=t.originalEvent&&t.originalEvent.originalTarget;n&&"IMG"==n.tagName&&e(n).trigger("mousedown"),void 0===this.ul&&this.destroy(),"touchend"==t.type&&this.image&&t.originalEvent&&t.originalEvent.target&&e(t.originalEvent.target).is("img")&&setTimeout(e.proxy(function(){this.image.edit(e(t.originalEvent.target))},this),100),this.ready=!0,this.events.trigger("initialized")}},this)),this.events.trigger("initializationDelayed")):(this.load(e.FE.MODULES),this.load(e.FE.PLUGINS),e(this.o_win).scrollTop(o),void 0===this.ul&&this.destroy(),this.ready=!0,this.events.trigger("initialized"))},this)),this._init()};if(t.DEFAULTS={initOnClick:!1,pluginsEnabled:null},t.MODULES={},t.PLUGINS={},t.VERSION="2.9.1",t.INSTANCES=[],t.OPTS_MAPPING={},t.SHARED={},t.ID=0,t.prototype._init=function(){var t=this.$oel.prop("tagName");1<=this.$oel.closest("label").length&&console.warn("Note! It is not recommended to initialize the Froala Editor within a label tag.");var n=e.proxy(function(){"TEXTAREA"!=t&&(this._original_html=this._original_html||this.$oel.html()),this.$box=this.$box||this.$oel,this.opts.fullPage&&(this.opts.iframe=!0),this.opts.iframe?(this.$iframe=e('<iframe src="about:blank" frameBorder="0">'),this.$wp=e("<div></div>"),this.$box.html(this.$wp),this.$wp.append(this.$iframe),this.$iframe.get(0).contentWindow.document.open(),this.$iframe.get(0).contentWindow.document.write("<!DOCTYPE html>"),this.$iframe.get(0).contentWindow.document.write("<html><head></head><body></body></html>"),this.$iframe.get(0).contentWindow.document.close(),this.$el=this.$iframe.contents().find("body"),this.el=this.$el.get(0),this.$head=this.$iframe.contents().find("head"),this.$html=this.$iframe.contents().find("html"),this.iframe_document=this.$iframe.get(0).contentWindow.document):(this.$el=e("<div></div>"),this.el=this.$el.get(0),this.$wp=e("<div></div>").append(this.$el),this.$box.html(this.$wp)),this.$oel.trigger("froala.doInit")},this),r=e.proxy(function(){this.$box=e("<div>"),this.$oel.before(this.$box).hide(),this._original_html=this.$oel.val(),this.$oel.parents("form").on("submit."+this.id,e.proxy(function(){this.events.trigger("form.submit")},this)),this.$oel.parents("form").on("reset."+this.id,e.proxy(function(){this.events.trigger("form.reset")},this)),n()},this),i=e.proxy(function(){this.$el=this.$oel,this.el=this.$el.get(0),this.$el.attr("contenteditable",!0).css("outline","none").css("display","inline-block"),this.opts.multiLine=!1,this.opts.toolbarInline=!1,this.$oel.trigger("froala.doInit")},this),a=e.proxy(function(){this.$el=this.$oel,this.el=this.$el.get(0),this.opts.toolbarInline=!1,this.$oel.trigger("froala.doInit")},this),o=e.proxy(function(){this.$el=this.$oel,this.el=this.$el.get(0),this.opts.toolbarInline=!1,this.$oel.on("click.popup",function(e){e.preventDefault()}),this.$oel.trigger("froala.doInit")},this);this.opts.editInPopup?o():"TEXTAREA"==t?r():"A"==t?i():"IMG"==t?a():"BUTTON"==t||"INPUT"==t?(this.opts.editInPopup=!0,this.opts.toolbarInline=!1,o()):n()},t.prototype.load=function(t){for(var n in t)if(t.hasOwnProperty(n)){if(this[n])continue;if(e.FE.PLUGINS[n]&&this.opts.pluginsEnabled.indexOf(n)<0)continue;if(this[n]=new t[n](this),this[n]._init&&(this[n]._init(),this.opts.initOnClick&&"core"==n))return!1}},t.prototype.destroy=function(){this.shared.count--,this.events.$off();var t=this.html.get();if(this.opts.iframe&&(this.events.disableBlur(),this.win.focus(),this.events.enableBlur()),this.events.trigger("destroy",[],!0),this.events.trigger("shared.destroy",void 0,!0),0===this.shared.count){for(var n in this.shared)this.shared.hasOwnProperty(n)&&(this.shared[n],e.FE.SHARED[this.sid][n]=null);delete e.FE.SHARED[this.sid]}this.$oel.parents("form").off("."+this.id),this.$oel.off("click.popup"),this.$oel.removeData("froala.editor"),this.$oel.off("froalaEditor"),this.core.destroy(t),e.FE.INSTANCES.splice(e.FE.INSTANCES.indexOf(this),1)},e.fn.froalaEditor=function(n){for(var r=[],i=0;i<arguments.length;i++)r.push(arguments[i]);if("string"==typeof n){var a=[];return this.each(function(){var t,i,o=e(this).data("froala.editor");if(!o)return console.warn("Editor should be initialized before calling the "+n+" method.");if(0<n.indexOf(".")&&o[n.split(".")[0]]?(o[n.split(".")[0]]&&(t=o[n.split(".")[0]]),i=n.split(".")[1]):(t=o,i=n.split(".")[0]),!t[i])return e.error("Method "+n+" does not exist in Froala Editor.");var s=t[i].apply(o,r.slice(1));void 0===s?a.push(this):0===a.length&&a.push(s)}),1==a.length?a[0]:a}if("object"==typeof n||!n)return this.each(function(){e(this).data("froala.editor")||new t(this,n)})},e.fn.froalaEditor.Constructor=t,e.FroalaEditor=t,e.FE=t,e.FE.XS=0,e.FE.SM=1,e.FE.MD=2,e.FE.LG=3,e.FE.LinkRegExCommon="[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_.]{1,}",e.FE.LinkRegExEnd="((:[0-9]{1,5})|)(((\\/|\\?|#)[a-z\\u00a1-\\uffff0-9@?\\|!^=%&amp;/~+#-\\'*-_{}]*)|())",e.FE.LinkRegExTLD="(("+e.FE.LinkRegExCommon+")(\\.(com|net|org|edu|mil|gov|co|biz|info|me|dev)))",e.FE.LinkRegExHTTP="((ftp|http|https):\\/\\/"+e.FE.LinkRegExCommon+")",e.FE.LinkRegExAuth="((ftp|http|https):\\/\\/[\\u0021-\\uffff]{1,}@"+e.FE.LinkRegExCommon+")",e.FE.LinkRegExWWW="(www\\."+e.FE.LinkRegExCommon+"\\.[a-z0-9-]{2,24})",e.FE.LinkRegEx="("+e.FE.LinkRegExTLD+"|"+e.FE.LinkRegExHTTP+"|"+e.FE.LinkRegExWWW+"|"+e.FE.LinkRegExAuth+")"+e.FE.LinkRegExEnd,e.FE.LinkProtocols=["mailto","tel","sms","notes","data"],e.FE.MAIL_REGEX=/.+@.+\..+/i,e.FE.MODULES.helpers=function(t){function n(){return/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&!a()}function r(){return/(Android)/g.test(navigator.userAgent)&&!a()}function i(){return/(Blackberry)/g.test(navigator.userAgent)}function a(){return/(Windows Phone)/gi.test(navigator.userAgent)}function o(e){return parseInt(e,10)||0}var s,l=null;return{_init:function(){t.browser=function(){var e,t,n={},r=(t=-1,"Microsoft Internet Explorer"==navigator.appName?(e=navigator.userAgent,null!==new RegExp("MSIE ([0-9]{1,}[\\.0-9]{0,})").exec(e)&&(t=parseFloat(RegExp.$1))):"Netscape"==navigator.appName&&(e=navigator.userAgent,null!==new RegExp("Trident/.*rv:([0-9]{1,}[\\.0-9]{0,})").exec(e)&&(t=parseFloat(RegExp.$1))),t);if(0<r)n.msie=!0;else{var i=navigator.userAgent.toLowerCase(),a=/(edge)[ \/]([\w.]+)/.exec(i)||/(chrome)[ \/]([\w.]+)/.exec(i)||/(webkit)[ \/]([\w.]+)/.exec(i)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(i)||/(msie) ([\w.]+)/.exec(i)||i.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(i)||[],o=a[1]||"";a[2],a[1]&&(n[o]=!0),n.chrome?n.webkit=!0:n.webkit&&(n.safari=!0)}return n.msie&&(n.version=r),n}(),function(){function e(e,t){var i=e[t];e[t]=function(e){var t,a=!1,o=!1;if(e&&e.match(r)){e=e.replace(r,""),this.parentNode||(n.appendChild(this),o=!0);var s=this.parentNode;return this.id||(this.id="rootedQuerySelector_id_"+(new Date).getTime(),a=!0),t=i.call(s,"#"+this.id+" "+e),a&&(this.id=""),o&&n.removeChild(this),t}return i.call(this,e)}}var n=t.o_doc.createElement("div");try{n.querySelectorAll(":scope *")}catch(t){var r=/^\s*:scope/gi;e(Element.prototype,"querySelector"),e(Element.prototype,"querySelectorAll"),e(HTMLElement.prototype,"querySelector"),e(HTMLElement.prototype,"querySelectorAll")}}(),Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(e){var t=this;if(!t)return null;if(!document.documentElement.contains(this))return null;do{if(t.matches(e))return t;t=t.parentElement}while(null!==t);return null})},isIOS:n,isMac:function(){return null==l&&(l=0<=navigator.platform.toUpperCase().indexOf("MAC")),l},isAndroid:r,isBlackberry:i,isWindowsPhone:a,isMobile:function(){return r()||n()||i()},isEmail:function(t){return!/^(https?:|ftps?:|)\/\//i.test(t)&&e.FE.MAIL_REGEX.test(t)},requestAnimationFrame:function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)}},getPX:o,screenSize:function(){var t=e('<div class="fr-visibility-helper"></div>').appendTo("body:first");try{var n=o(t.css("margin-left"));return t.remove(),n}catch(t){return e.FE.LG}},isTouch:function(){return"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch},sanitizeURL:function(t){return/^(https?:|ftps?:|)\/\//i.test(t)?t:/^([A-Za-z]:(\\){1,2}|[A-Za-z]:((\\){1,2}[^\\]+)+)(\\)?$/i.test(t)?t:new RegExp("^("+e.FE.LinkProtocols.join("|")+"):\\/\\/","i").test(t)?t:t=encodeURIComponent(t).replace(/%23/g,"#").replace(/%2F/g,"/").replace(/%25/g,"%").replace(/mailto%3A/gi,"mailto:").replace(/file%3A/gi,"file:").replace(/sms%3A/gi,"sms:").replace(/tel%3A/gi,"tel:").replace(/notes%3A/gi,"notes:").replace(/data%3Aimage/gi,"data:image").replace(/blob%3A/gi,"blob:").replace(/%3A(\d)/gi,":$1").replace(/webkit-fake-url%3A/gi,"webkit-fake-url:").replace(/%3F/g,"?").replace(/%3D/g,"=").replace(/%26/g,"&").replace(/&amp;/g,"&").replace(/%2C/g,",").replace(/%3B/g,";").replace(/%2B/g,"+").replace(/%40/g,"@").replace(/%5B/g,"[").replace(/%5D/g,"]").replace(/%7B/g,"{").replace(/%7D/g,"}")},isArray:function(e){return e&&!e.propertyIsEnumerable("length")&&"object"==typeof e&&"number"==typeof e.length},RGBToHex:function(e){function t(e){return("0"+parseInt(e,10).toString(16)).slice(-2)}try{return e&&"transparent"!==e?/^#[0-9A-F]{6}$/i.test(e)?e:("#"+t((e=e.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/))[1])+t(e[2])+t(e[3])).toUpperCase():""}catch(e){return null}},HEXtoRGB:function(e){e=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(e,t,n,r){return t+t+n+n+r+r});var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?"rgb("+parseInt(t[1],16)+", "+parseInt(t[2],16)+", "+parseInt(t[3],16)+")":""},isURL:function(t){return!!/^(https?:|ftps?:|)\/\//i.test(t)&&(t=String(t).replace(/</g,"%3C").replace(/>/g,"%3E").replace(/"/g,"%22").replace(/ /g,"%20"),new RegExp("^"+e.FE.LinkRegExHTTP+e.FE.LinkRegExEnd+"$","gi").test(t))},getAlignment:function(n){var r=(n.css("text-align")||"").replace(/-(.*)-/g,"");if(["left","right","justify","center"].indexOf(r)<0){if(!s){var i=e('<div dir="'+("rtl"==t.opts.direction?"rtl":"auto")+'" style="text-align: '+t.$el.css("text-align")+'; position: fixed; left: -3000px;"><span id="s1">.</span><span id="s2">.</span></div>');e("body:first").append(i);var a=i.find("#s1").get(0).getBoundingClientRect().left,o=i.find("#s2").get(0).getBoundingClientRect().left;i.remove(),s=a<o?"left":"right"}r=s}return r},scrollTop:function(){return t.o_win.pageYOffset?t.o_win.pageYOffset:t.o_doc.documentElement&&t.o_doc.documentElement.scrollTop?t.o_doc.documentElement.scrollTop:t.o_doc.body.scrollTop?t.o_doc.body.scrollTop:0},scrollLeft:function(){return t.o_win.pageXOffset?t.o_win.pageXOffset:t.o_doc.documentElement&&t.o_doc.documentElement.scrollLeft?t.o_doc.documentElement.scrollLeft:t.o_doc.body.scrollLeft?t.o_doc.body.scrollLeft:0},isInViewPort:function(e){var t=e.getBoundingClientRect();return 0<=t.top&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)||t.top<=0&&t.bottom>=(window.innerHeight||document.documentElement.clientHeight)}}},e.FE.MODULES.events=function(t){var n,r={};function i(e,t,n){p(e,t,n)}function a(n){if(void 0===n&&(n=!0),!t.$wp)return!1;if(t.helpers.isIOS()&&t.$win.get(0).focus(),t.core.hasFocus())return!1;if(!t.core.hasFocus()&&n){var r=t.$win.scrollTop();if(t.browser.msie&&t.$box&&t.$box.css("position","fixed"),t.browser.msie&&t.$wp&&t.$wp.css("overflow","visible"),l(),t.$el.focus(),t.events.trigger("focus"),s(),t.browser.msie&&t.$box&&t.$box.css("position",""),t.browser.msie&&t.$wp&&t.$wp.css("overflow","auto"),r!=t.$win.scrollTop()&&t.$win.scrollTop(r),!t.selection.info(t.el).atStart)return!1}if(!t.core.hasFocus()||0<t.$el.find(".fr-marker").length)return!1;if(t.selection.info(t.el).atStart&&t.selection.isCollapsed()&&null!=t.html.defaultTag()){var i=t.markers.insert();if(i&&!t.node.blockParent(i)){e(i).remove();var a=t.$el.find(t.html.blockTagsQuery()).get(0);a&&(e(a).prepend(e.FE.MARKERS),t.selection.restore())}else i&&e(i).remove()}}var o=!1;function s(){n=!0}function l(){n=!1}function d(){return n}function c(e,n,i){var a,o=e.split(" ");if(1<o.length){for(var s=0;s<o.length;s++)c(o[s],n,i);return!0}void 0===i&&(i=!1),a=0!==e.indexOf("shared.")?r[e]=r[e]||[]:t.shared._events[e]=t.shared._events[e]||[],i?a.unshift(n):a.push(n)}var f=[];function p(e,n,r,i,a){"function"==typeof r&&(a=i,i=r,r=!1);var o=a?t.shared.$_events:f,s=a?t.sid:t.id;r?e.on(n.split(" ").join(".ed"+s+" ")+".ed"+s,r,i):e.on(n.split(" ").join(".ed"+s+" ")+".ed"+s,i),o.push([e,n.split(" ").join(".ed"+s+" ")+".ed"+s])}function u(e){for(var t=0;t<e.length;t++)e[t][0].off(e[t][1])}function h(n,i,a){if(!t.edit.isDisabled()||a){var o,s;if(0!==n.indexOf("shared."))o=r[n];else{if(0<t.shared.count)return!1;o=t.shared._events[n]}if(o)for(var l=0;l<o.length;l++)if(!1===(s=o[l].apply(t,i)))return!1;return!1!==(s=t.$oel.triggerHandler("froalaEditor."+n,e.merge([t],i||[])))&&s}}function g(){for(var e in r)r.hasOwnProperty(e)&&delete r[e]}function m(){for(var e in t.shared._events)t.shared._events.hasOwnProperty(e)&&delete t.shared._events[e]}return{_init:function(){t.shared.$_events=t.shared.$_events||[],t.shared._events={},t.helpers.isMobile()?(t._mousedown="touchstart",t._mouseup="touchend",t._move="touchmove",t._mousemove="touchmove"):(t._mousedown="mousedown",t._mouseup="mouseup",t._move="",t._mousemove="mousemove"),i(t.$el,"click mouseup mousedown touchstart touchend dragenter dragover dragleave dragend drop dragstart",function(e){h(e.type,[e])}),c("mousedown",function(){for(var n=0;n<e.FE.INSTANCES.length;n++)e.FE.INSTANCES[n]!=t&&e.FE.INSTANCES[n].popups&&e.FE.INSTANCES[n].popups.areVisible()&&e.FE.INSTANCES[n].$el.find(".fr-marker").remove()}),i(t.$win,t._mousedown,function(e){h("window.mousedown",[e]),s()}),i(t.$win,t._mouseup,function(e){h("window.mouseup",[e])}),i(t.$win,"cut copy keydown keyup touchmove touchend",function(e){h("window."+e.type,[e])}),i(t.$doc,"dragend drop",function(e){h("document."+e.type,[e])}),i(t.$el,"keydown keypress keyup input",function(e){h(e.type,[e])}),i(t.$el,"focus",function(e){d()&&(a(!1),!1===o&&h(e.type,[e]))}),i(t.$el,"blur",function(e){d()&&!0===o&&(h(e.type,[e]),s())}),c("focus",function(){o=!0}),c("blur",function(){o=!1}),s(),i(t.$el,"cut copy paste beforepaste",function(e){h(e.type,[e])}),c("destroy",g),c("shared.destroy",m)},on:c,trigger:h,bindClick:function(n,r,i){p(n,t._mousedown,r,function(n){var r,i;t.edit.isDisabled()||(i=e((r=n).currentTarget),t.edit.isDisabled()||t.node.hasClass(i.get(0),"fr-disabled")?r.preventDefault():"mousedown"===r.type&&1!==r.which||(t.helpers.isMobile()||r.preventDefault(),(t.helpers.isAndroid()||t.helpers.isWindowsPhone())&&0===i.parents(".fr-dropdown-menu").length&&(r.preventDefault(),r.stopPropagation()),i.addClass("fr-selected"),t.events.trigger("commands.mousedown",[i])))},!0),p(n,t._mouseup+" "+t._move,r,function(n){t.edit.isDisabled()||function(n,r){var i=e(n.currentTarget);if(t.edit.isDisabled()||t.node.hasClass(i.get(0),"fr-disabled"))return n.preventDefault();if(("mouseup"!==n.type||1===n.which)&&t.node.hasClass(i.get(0),"fr-selected"))if("touchmove"!=n.type){if(n.stopPropagation(),n.stopImmediatePropagation(),n.preventDefault(),!t.node.hasClass(i.get(0),"fr-selected"))return t.button.getButtons(".fr-selected",!0).removeClass("fr-selected");if(t.button.getButtons(".fr-selected",!0).removeClass("fr-selected"),i.data("dragging")||i.attr("disabled"))return i.removeData("dragging");var a=i.data("timeout");a&&(clearTimeout(a),i.removeData("timeout")),r.apply(t,[n])}else i.data("timeout")||i.data("timeout",setTimeout(function(){i.data("dragging",!0)},100))}(n,i)},!0),p(n,"mousedown click mouseup",r,function(e){t.edit.isDisabled()||e.stopPropagation()},!0),c("window.mouseup",function(){t.edit.isDisabled()||(n.find(r).removeClass("fr-selected"),s())}),p(n,"mouseenter",r,function(){e(this).hasClass("fr-options")&&e(this).prev(".fr-btn").addClass("fr-btn-hover"),e(this).next(".fr-btn").hasClass("fr-options")&&e(this).next(".fr-btn").addClass("fr-btn-hover")}),p(n,"mouseleave",r,function(){e(this).hasClass("fr-options")&&e(this).prev(".fr-btn").removeClass("fr-btn-hover"),e(this).next(".fr-btn").hasClass("fr-options")&&e(this).next(".fr-btn").removeClass("fr-btn-hover")})},disableBlur:l,enableBlur:s,blurActive:d,focus:a,chainTrigger:function(n,i,a){if(!t.edit.isDisabled()||a){var o,s;if(0!==n.indexOf("shared."))o=r[n];else{if(0<t.shared.count)return!1;o=t.shared._events[n]}if(o)for(var l=0;l<o.length;l++)void 0!==(s=o[l].apply(t,[i]))&&(i=s);return void 0!==(s=t.$oel.triggerHandler("froalaEditor."+n,e.merge([t],[i])))&&(i=s),i}},$on:p,$off:function(){u(f),f=[],0===t.shared.count&&(u(t.shared.$_events),t.shared.$_events=[])}}},e.FE.MODULES.node=function(t){function n(e){return e&&"IFRAME"!=e.tagName?Array.prototype.slice.call(e.childNodes||[]):[]}function r(t){return!!t&&t.nodeType==Node.ELEMENT_NODE&&0<=e.FE.BLOCK_TAGS.indexOf(t.tagName.toLowerCase())}function i(e){var t={},n=e.attributes;if(n)for(var r=0;r<n.length;r++){var i=n[r];t[i.nodeName]=i.value}return t}function a(e){for(var t="",n=i(e),r=Object.keys(n).sort(),a=0;a<r.length;a++){var o=r[a],s=n[o];s.indexOf("'")<0&&0<=s.indexOf('"')?t+=" "+o+"='"+s+"'":0<=s.indexOf('"')&&0<=s.indexOf("'")?t+=" "+o+'="'+(s=s.replace(/"/g,"&quot;"))+'"':t+=" "+o+'="'+s+'"'}return t}function o(e){return e===t.el}return{isBlock:r,isEmpty:function(i,a){if(!i)return!0;if(i.querySelector("table"))return!1;var o=n(i);1==o.length&&r(o[0])&&(o=n(o[0]));for(var s=!1,l=0;l<o.length;l++){var d=o[l];if(!(a&&t.node.hasClass(d,"fr-marker")||d.nodeType==Node.TEXT_NODE&&0===d.textContent.length)){if("BR"!=d.tagName&&0<(d.textContent||"").replace(/\u200B/gi,"").replace(/\n/g,"").length)return!1;if(s)return!1;"BR"==d.tagName&&(s=!0)}}return!(i.querySelectorAll(e.FE.VOID_ELEMENTS.join(",")).length-i.querySelectorAll("br").length||i.querySelector(t.opts.htmlAllowedEmptyTags.join(":not(.fr-marker),")+":not(.fr-marker)")||1<i.querySelectorAll(e.FE.BLOCK_TAGS.join(",")).length||i.querySelector(t.opts.htmlDoNotWrapTags.join(":not(.fr-marker),")+":not(.fr-marker)"))},blockParent:function(e){for(;e&&e.parentNode!==t.el&&(!e.parentNode||!t.node.hasClass(e.parentNode,"fr-inner"));)if(r(e=e.parentNode))return e;return null},deepestParent:function(n,i,a){if(void 0===i&&(i=[]),void 0===a&&(a=!0),i.push(t.el),0<=i.indexOf(n.parentNode)||n.parentNode&&t.node.hasClass(n.parentNode,"fr-inner")||n.parentNode&&0<=e.FE.SIMPLE_ENTER_TAGS.indexOf(n.parentNode.tagName)&&a)return null;for(;i.indexOf(n.parentNode)<0&&n.parentNode&&!t.node.hasClass(n.parentNode,"fr-inner")&&(e.FE.SIMPLE_ENTER_TAGS.indexOf(n.parentNode.tagName)<0||!a)&&(!r(n)||!r(n.parentNode)||!a);)n=n.parentNode;return n},rawAttributes:i,attributes:a,clearAttributes:function(e){for(var t=e.attributes,n=t.length-1;0<=n;n--){var r=t[n];e.removeAttribute(r.nodeName)}},openTagString:function(e){return"<"+e.tagName.toLowerCase()+a(e)+">"},closeTagString:function(e){return"</"+e.tagName.toLowerCase()+">"},isFirstSibling:function e(n,r){void 0===r&&(r=!0);for(var i=n.previousSibling;i&&r&&t.node.hasClass(i,"fr-marker");)i=i.previousSibling;return!i||i.nodeType==Node.TEXT_NODE&&""===i.textContent&&e(i)},isLastSibling:function e(n,r){void 0===r&&(r=!0);for(var i=n.nextSibling;i&&r&&t.node.hasClass(i,"fr-marker");)i=i.nextSibling;return!i||i.nodeType==Node.TEXT_NODE&&""===i.textContent&&e(i)},isList:function(e){return!!e&&0<=["UL","OL"].indexOf(e.tagName)},isLink:function(e){return!!e&&e.nodeType==Node.ELEMENT_NODE&&"a"==e.tagName.toLowerCase()},isElement:o,contents:n,isVoid:function(t){return t&&t.nodeType==Node.ELEMENT_NODE&&0<=e.FE.VOID_ELEMENTS.indexOf((t.tagName||"").toLowerCase())},hasFocus:function(e){return e===t.doc.activeElement&&(!t.doc.hasFocus||t.doc.hasFocus())&&!!(o(e)||e.type||e.href||~e.tabIndex)},isEditable:function(e){return(!e.getAttribute||"false"!=e.getAttribute("contenteditable"))&&["STYLE","SCRIPT"].indexOf(e.tagName)<0},isDeletable:function(e){return e&&e.nodeType==Node.ELEMENT_NODE&&e.getAttribute("class")&&0<=(e.getAttribute("class")||"").indexOf("fr-deletable")},hasClass:function(t,n){return t instanceof e&&(t=t.get(0)),t&&t.classList&&t.classList.contains(n)},filter:function(e){return t.browser.msie?e:{acceptNode:e}}}},e.FE.INVISIBLE_SPACE="&#8203;",e.FE.START_MARKER='<span class="fr-marker" data-id="0" data-type="true" style="display: none; line-height: 0;">'+e.FE.INVISIBLE_SPACE+"</span>",e.FE.END_MARKER='<span class="fr-marker" data-id="0" data-type="false" style="display: none; line-height: 0;">'+e.FE.INVISIBLE_SPACE+"</span>",e.FE.MARKERS=e.FE.START_MARKER+e.FE.END_MARKER,e.FE.MODULES.markers=function(t){function n(){if(!t.$wp)return null;try{var n=t.selection.ranges(0),r=n.commonAncestorContainer;if(r!=t.el&&0===t.$el.find(r).length)return null;var i=n.cloneRange(),a=n.cloneRange();i.collapse(!0);var o=e('<span class="fr-marker" style="display: none; line-height: 0;">'+e.FE.INVISIBLE_SPACE+"</span>",t.doc)[0];if(i.insertNode(o),o=t.$el.find("span.fr-marker").get(0)){for(var s=o.nextSibling;s&&s.nodeType===Node.TEXT_NODE&&0===s.textContent.length;)e(s).remove(),s=t.$el.find("span.fr-marker").get(0).nextSibling;return t.selection.clear(),t.selection.get().addRange(a),o}return null}catch(e){console.warn("MARKER",e)}}function r(){t.$el.find(".fr-marker").remove()}return{place:function(n,r,i){var a,o,s;try{var l=n.cloneRange();if(l.collapse(r),l.insertNode(e('<span class="fr-marker" data-id="'+i+'" data-type="'+r+'" style="display: '+(t.browser.safari?"none":"inline-block")+'; line-height: 0;">'+e.FE.INVISIBLE_SPACE+"</span>",t.doc)[0]),!0===r)for(s=(a=t.$el.find('span.fr-marker[data-type="true"][data-id="'+i+'"]').get(0)).nextSibling;s&&s.nodeType===Node.TEXT_NODE&&0===s.textContent.length;)e(s).remove(),s=a.nextSibling;if(!0===r&&!n.collapsed){for(;!t.node.isElement(a.parentNode)&&!s;)e(a.parentNode).after(a),s=a.nextSibling;if(s&&s.nodeType===Node.ELEMENT_NODE&&t.node.isBlock(s)&&"HR"!==s.tagName){for(o=[s];s=o[0],(o=t.node.contents(s))[0]&&t.node.isBlock(o[0]););e(s).prepend(e(a))}}if(!1===r&&!n.collapsed){if((s=(a=t.$el.find('span.fr-marker[data-type="false"][data-id="'+i+'"]').get(0)).previousSibling)&&s.nodeType===Node.ELEMENT_NODE&&t.node.isBlock(s)&&"HR"!==s.tagName){for(o=[s];s=o[o.length-1],(o=t.node.contents(s))[o.length-1]&&t.node.isBlock(o[o.length-1]););e(s).append(e(a))}a.parentNode&&0<=["TD","TH"].indexOf(a.parentNode.tagName)&&a.parentNode.previousSibling&&!a.previousSibling&&e(a.parentNode.previousSibling).append(a)}var d=t.$el.find('span.fr-marker[data-type="'+r+'"][data-id="'+i+'"]').get(0);return d&&(d.style.display="none"),d}catch(e){return null}},insert:n,split:function(){t.selection.isCollapsed()||t.selection.remove();var r=t.$el.find(".fr-marker").get(0);if(null==r&&(r=n()),null==r)return null;var i=t.node.deepestParent(r);if(i||(i=t.node.blockParent(r))&&"LI"!=i.tagName&&(i=null),i)if(t.node.isBlock(i)&&t.node.isEmpty(i))"LI"!=i.tagName||i.parentNode.firstElementChild!=i||t.node.isEmpty(i.parentNode)?e(i).replaceWith('<span class="fr-marker"></span>'):e(i).append('<span class="fr-marker"></span>');else if(t.cursor.isAtStart(r,i))e(i).before('<span class="fr-marker"></span>'),e(r).remove();else if(t.cursor.isAtEnd(r,i))e(i).after('<span class="fr-marker"></span>'),e(r).remove();else{for(var a=r,o="",s="";a=a.parentNode,o+=t.node.closeTagString(a),s=t.node.openTagString(a)+s,a!=i;);e(r).replaceWith('<span id="fr-break"></span>');var l=t.node.openTagString(i)+e(i).html()+t.node.closeTagString(i);l=l.replace(/<span id="fr-break"><\/span>/g,o+'<span class="fr-marker"></span>'+s),e(i).replaceWith(l)}return t.$el.find(".fr-marker").get(0)},insertAtPoint:function(e){var i,a=e.clientX,o=e.clientY;r();var s=null;if(void 0!==t.doc.caretPositionFromPoint?(i=t.doc.caretPositionFromPoint(a,o),(s=t.doc.createRange()).setStart(i.offsetNode,i.offset),s.setEnd(i.offsetNode,i.offset)):void 0!==t.doc.caretRangeFromPoint&&(i=t.doc.caretRangeFromPoint(a,o),(s=t.doc.createRange()).setStart(i.startContainer,i.startOffset),s.setEnd(i.startContainer,i.startOffset)),null!==s&&void 0!==t.win.getSelection){var l=t.win.getSelection();l.removeAllRanges(),l.addRange(s)}else if(void 0!==t.doc.body.createTextRange)try{(s=t.doc.body.createTextRange()).moveToPoint(a,o);var d=s.duplicate();d.moveToPoint(a,o),s.setEndPoint("EndToEnd",d),s.select()}catch(e){return!1}n()},remove:r}},e.FE.MODULES.selection=function(t){function n(){var e="";return t.win.getSelection?e=t.win.getSelection():t.doc.getSelection?e=t.doc.getSelection():t.doc.selection&&(e=t.doc.selection.createRange().text),e.toString()}function r(){return t.win.getSelection?t.win.getSelection():t.doc.getSelection?t.doc.getSelection():t.doc.selection.createRange()}function i(e){var n=r(),i=[];if(n&&n.getRangeAt&&n.rangeCount){i=[];for(var a=0;a<n.rangeCount;a++)i.push(n.getRangeAt(a))}else i=t.doc.createRange?[t.doc.createRange()]:[];return void 0!==e?i[e]:i}function a(){var e=r();try{e.removeAllRanges?e.removeAllRanges():e.empty?e.empty():e.clear&&e.clear()}catch(e){}}function o(e,t){var n=e;return n.nodeType==Node.ELEMENT_NODE&&0<n.childNodes.length&&n.childNodes[t]&&(n=n.childNodes[t]),n.nodeType==Node.TEXT_NODE&&(n=n.parentNode),n}function s(){if(t.$wp){t.markers.remove();var n,r,a=i(),o=[];for(r=0;r<a.length;r++)if(a[r].startContainer!==t.doc||t.browser.msie){var s=(n=a[r]).collapsed,l=t.markers.place(n,!0,r),d=t.markers.place(n,!1,r);if(void 0!==l&&l||!s||(e(".fr-marker").remove(),t.selection.setAtEnd(t.el)),t.el.normalize(),t.browser.safari&&!s)try{(n=t.doc.createRange()).setStartAfter(l),n.setEndBefore(d),o.push(n)}catch(e){}}if(t.browser.safari&&o.length)for(t.selection.clear(),r=0;r<o.length;r++)t.selection.get().addRange(o[r])}}function l(){var n,i=t.el.querySelectorAll('.fr-marker[data-type="true"]');if(!t.$wp)return t.markers.remove(),!1;if(0===i.length)return!1;if(t.browser.msie||t.browser.edge)for(n=0;n<i.length;n++)i[n].style.display="inline-block";t.core.hasFocus()||t.browser.msie||t.browser.webkit||t.$el.focus(),a();var o=r();for(n=0;n<i.length;n++){var s=e(i[n]).data("id"),l=i[n],c=t.doc.createRange(),f=t.$el.find('.fr-marker[data-type="false"][data-id="'+s+'"]');(t.browser.msie||t.browser.edge)&&f.css("display","inline-block");var p=null;if(0<f.length){f=f[0];try{for(var u,h=!1,g=l.nextSibling;g&&g.nodeType==Node.TEXT_NODE&&0===g.textContent.length;)g=(u=g).nextSibling,e(u).remove();for(var m,v,E=f.nextSibling;E&&E.nodeType==Node.TEXT_NODE&&0===E.textContent.length;)E=(u=E).nextSibling,e(u).remove();if(l.nextSibling==f||f.nextSibling==l){for(var b=l.nextSibling==f?l:f,T=b==l?f:l,A=b.previousSibling;A&&A.nodeType==Node.TEXT_NODE&&0===A.length;)A=(u=A).previousSibling,e(u).remove();if(A&&A.nodeType==Node.TEXT_NODE)for(;A&&A.previousSibling&&A.previousSibling.nodeType==Node.TEXT_NODE;)A.previousSibling.textContent=A.previousSibling.textContent+A.textContent,A=A.previousSibling,e(A.nextSibling).remove();for(var C=T.nextSibling;C&&C.nodeType==Node.TEXT_NODE&&0===C.length;)C=(u=C).nextSibling,e(u).remove();if(C&&C.nodeType==Node.TEXT_NODE)for(;C&&C.nextSibling&&C.nextSibling.nodeType==Node.TEXT_NODE;)C.nextSibling.textContent=C.textContent+C.nextSibling.textContent,C=C.nextSibling,e(C.previousSibling).remove();if(A&&(t.node.isVoid(A)||t.node.isBlock(A))&&(A=null),C&&(t.node.isVoid(C)||t.node.isBlock(C))&&(C=null),A&&C&&A.nodeType==Node.TEXT_NODE&&C.nodeType==Node.TEXT_NODE){e(l).remove(),e(f).remove();var S=A.textContent.length;A.textContent=A.textContent+C.textContent,e(C).remove(),t.opts.htmlUntouched||t.spaces.normalize(A),c.setStart(A,S),c.setEnd(A,S),h=!0}else!A&&C&&C.nodeType==Node.TEXT_NODE?(e(l).remove(),e(f).remove(),t.opts.htmlUntouched||t.spaces.normalize(C),p=e(t.doc.createTextNode("​")),e(C).before(p),c.setStart(C,0),c.setEnd(C,0),h=!0):!C&&A&&A.nodeType==Node.TEXT_NODE&&(e(l).remove(),e(f).remove(),t.opts.htmlUntouched||t.spaces.normalize(A),p=e(t.doc.createTextNode("​")),e(A).after(p),c.setStart(A,A.textContent.length),c.setEnd(A,A.textContent.length),h=!0)}h||((t.browser.chrome||t.browser.edge)&&l.nextSibling==f?(m=d(f,c,!0)||c.setStartAfter(f),v=d(l,c,!1)||c.setEndBefore(l)):(l.previousSibling==f&&(f=(l=f).nextSibling),f.nextSibling&&"BR"===f.nextSibling.tagName||!f.nextSibling&&t.node.isBlock(l.previousSibling)||l.previousSibling&&"BR"==l.previousSibling.tagName||(l.style.display="inline",f.style.display="inline",p=e(t.doc.createTextNode("​"))),m=d(l,c,!0)||e(l).before(p)&&c.setStartBefore(l),v=d(f,c,!1)||e(f).after(p)&&c.setEndAfter(f)),"function"==typeof m&&m(),"function"==typeof v&&v())}catch(e){console.warn("RESTORE RANGE",e)}}p&&p.remove();try{o.addRange(c)}catch(e){console.warn("ADD RANGE",e)}}t.markers.remove()}function d(n,r,i){var a,o=n.previousSibling,s=n.nextSibling;return o&&s&&o.nodeType==Node.TEXT_NODE&&s.nodeType==Node.TEXT_NODE?(a=o.textContent.length,i?(s.textContent=o.textContent+s.textContent,e(o).remove(),e(n).remove(),t.opts.htmlUntouched||t.spaces.normalize(s),function(){r.setStart(s,a)}):(o.textContent=o.textContent+s.textContent,e(s).remove(),e(n).remove(),t.opts.htmlUntouched||t.spaces.normalize(o),function(){r.setEnd(o,a)})):o&&!s&&o.nodeType==Node.TEXT_NODE?(a=o.textContent.length,i?(t.opts.htmlUntouched||t.spaces.normalize(o),function(){r.setStart(o,a)}):(t.opts.htmlUntouched||t.spaces.normalize(o),function(){r.setEnd(o,a)})):!(!s||o||s.nodeType!=Node.TEXT_NODE)&&(i?(t.opts.htmlUntouched||t.spaces.normalize(s),function(){r.setStart(s,0)}):(t.opts.htmlUntouched||t.spaces.normalize(s),function(){r.setEnd(s,0)}))}function c(){for(var e=i(),t=0;t<e.length;t++)if(!e[t].collapsed)return!1;return!0}function f(e){var n,r,i=!1,a=!1;if(t.win.getSelection){var o=t.win.getSelection();o.rangeCount&&((r=(n=o.getRangeAt(0)).cloneRange()).selectNodeContents(e),r.setEnd(n.startContainer,n.startOffset),i=""===r.toString(),r.selectNodeContents(e),r.setStart(n.endContainer,n.endOffset),a=""===r.toString())}else t.doc.selection&&"Control"!=t.doc.selection.type&&((r=(n=t.doc.selection.createRange()).duplicate()).moveToElementText(e),r.setEndPoint("EndToStart",n),i=""===r.text,r.moveToElementText(e),r.setEndPoint("StartToEnd",n),a=""===r.text);return{atStart:i,atEnd:a}}function p(n,r){void 0===r&&(r=!0);var i=e(n).html();i&&i.replace(/\u200b/g,"").length!=i.length&&e(n).html(i.replace(/\u200b/g,""));for(var a=t.node.contents(n),o=0;o<a.length;o++)a[o].nodeType!=Node.ELEMENT_NODE?e(a[o]).remove():(p(a[o],0===o),0===o&&(r=!1));n.nodeType==Node.TEXT_NODE?e(n).replaceWith('<span data-first="true" data-text="true"></span>'):r&&e(n).attr("data-first",!0)}function u(){return 0===e(this).find("fr-inner").length}function h(){try{if(!t.$wp)return!1;for(var e=i(0).commonAncestorContainer;e&&!t.node.isElement(e);)e=e.parentNode;return!!t.node.isElement(e)}catch(e){return!1}}function g(n,r){if(!n||0<n.getElementsByClassName("fr-marker").length)return!1;for(var i=n.firstChild;i&&(t.node.isBlock(i)||r&&!t.node.isVoid(i)&&i.nodeType==Node.ELEMENT_NODE);)i=(n=i).firstChild;n.innerHTML=e.FE.MARKERS+n.innerHTML}function m(n,r){if(!n||0<n.getElementsByClassName("fr-marker").length)return!1;for(var i=n.lastChild;i&&(t.node.isBlock(i)||r&&!t.node.isVoid(i)&&i.nodeType==Node.ELEMENT_NODE);)i=(n=i).lastChild;var a=t.doc.createElement("SPAN");a.setAttribute("id","fr-sel-markers"),a.innerHTML=e.FE.MARKERS,n.appendChild(a);var o=n.querySelector("#fr-sel-markers");o.outerHTML=o.innerHTML}return{text:n,get:r,ranges:i,clear:a,element:function(){var a=r();try{if(a.rangeCount){var o,s=i(0),l=s.startContainer;if(l.nodeType==Node.TEXT_NODE&&s.startOffset==(l.textContent||"").length&&l.nextSibling&&(l=l.nextSibling),l.nodeType==Node.ELEMENT_NODE){var d=!1;if(0<l.childNodes.length&&l.childNodes[s.startOffset]){for(o=l.childNodes[s.startOffset];o&&o.nodeType==Node.TEXT_NODE&&0===o.textContent.length;)o=o.nextSibling;if(o&&o.textContent.replace(/\u200B/g,"")===n().replace(/\u200B/g,"")&&(l=o,d=!0),!d&&1<l.childNodes.length&&0<s.startOffset&&l.childNodes[s.startOffset-1]){for(o=l.childNodes[s.startOffset-1];o&&o.nodeType==Node.TEXT_NODE&&0===o.textContent.length;)o=o.nextSibling;o&&o.textContent.replace(/\u200B/g,"")===n().replace(/\u200B/g,"")&&(l=o,d=!0)}}else!s.collapsed&&l.nextSibling&&l.nextSibling.nodeType==Node.ELEMENT_NODE&&(o=l.nextSibling)&&o.textContent.replace(/\u200B/g,"")===n().replace(/\u200B/g,"")&&(l=o,d=!0);!d&&0<l.childNodes.length&&e(l.childNodes[0]).text().replace(/\u200B/g,"")===n().replace(/\u200B/g,"")&&["BR","IMG","HR"].indexOf(l.childNodes[0].tagName)<0&&(l=l.childNodes[0])}for(;l.nodeType!=Node.ELEMENT_NODE&&l.parentNode;)l=l.parentNode;for(var c=l;c&&"HTML"!=c.tagName;){if(c==t.el)return l;c=e(c).parent()[0]}}}catch(e){}return t.el},endElement:function(){var a=r();try{if(a.rangeCount){var o,s=i(0),l=s.endContainer;if(l.nodeType==Node.ELEMENT_NODE){var d=!1;0<l.childNodes.length&&l.childNodes[s.endOffset]&&e(l.childNodes[s.endOffset]).text()===n()?(l=l.childNodes[s.endOffset],d=!0):!s.collapsed&&l.previousSibling&&l.previousSibling.nodeType==Node.ELEMENT_NODE?(o=l.previousSibling)&&o.textContent.replace(/\u200B/g,"")===n().replace(/\u200B/g,"")&&(l=o,d=!0):!s.collapsed&&0<l.childNodes.length&&l.childNodes[s.endOffset]&&(o=l.childNodes[s.endOffset].previousSibling).nodeType==Node.ELEMENT_NODE&&o&&o.textContent.replace(/\u200B/g,"")===n().replace(/\u200B/g,"")&&(l=o,d=!0),!d&&0<l.childNodes.length&&e(l.childNodes[l.childNodes.length-1]).text()===n()&&["BR","IMG","HR"].indexOf(l.childNodes[l.childNodes.length-1].tagName)<0&&(l=l.childNodes[l.childNodes.length-1])}for(l.nodeType==Node.TEXT_NODE&&0===s.endOffset&&l.previousSibling&&l.previousSibling.nodeType==Node.ELEMENT_NODE&&(l=l.previousSibling);l.nodeType!=Node.ELEMENT_NODE&&l.parentNode;)l=l.parentNode;for(var c=l;c&&"HTML"!=c.tagName;){if(c==t.el)return l;c=e(c).parent()[0]}}}catch(e){}return t.el},save:s,restore:l,isCollapsed:c,isFull:function(){if(c())return!1;t.selection.save();var n,r=t.el.querySelectorAll("td, th, img, br");for(n=0;n<r.length;n++)r[n].nextSibling&&(r[n].innerHTML='<span class="fr-mk">'+e.FE.INVISIBLE_SPACE+"</span>"+r[n].innerHTML);var i=!1,a=f(t.el);for(a.atStart&&a.atEnd&&(i=!0),r=t.el.querySelectorAll(".fr-mk"),n=0;n<r.length;n++)r[n].parentNode.removeChild(r[n]);return t.selection.restore(),i},inEditor:h,remove:function(){if(c())return!0;var n;s();var r=function(t){for(var n=t.previousSibling;n&&n.nodeType==Node.TEXT_NODE&&0===n.textContent.length;){var r=n;n=n.previousSibling,e(r).remove()}return n},i=function(t){for(var n=t.nextSibling;n&&n.nodeType==Node.TEXT_NODE&&0===n.textContent.length;){var r=n;n=n.nextSibling,e(r).remove()}return n},a=t.$el.find('.fr-marker[data-type="true"]');for(n=0;n<a.length;n++)for(var o=a[n];!(r(o)||t.node.isBlock(o.parentNode)||t.$el.is(o.parentNode)||t.node.hasClass(o.parentNode,"fr-inner"));)e(o.parentNode).before(o);var d=t.$el.find('.fr-marker[data-type="false"]');for(n=0;n<d.length;n++){for(var f=d[n];!(i(f)||t.node.isBlock(f.parentNode)||t.$el.is(f.parentNode)||t.node.hasClass(f.parentNode,"fr-inner"));)e(f.parentNode).after(f);f.parentNode&&t.node.isBlock(f.parentNode)&&t.node.isEmpty(f.parentNode)&&!t.$el.is(f.parentNode)&&!t.node.hasClass(f.parentNode,"fr-inner")&&t.opts.keepFormatOnDelete&&e(f.parentNode).after(f)}if(function(){for(var n=t.$el.find(".fr-marker"),r=0;r<n.length;r++)if(e(n[r]).parentsUntil('.fr-element, [contenteditable="true"]','[contenteditable="false"]').length)return!1;return!0}()){!function n(r,i){var a=t.node.contents(r.get(0));0<=["TD","TH"].indexOf(r.get(0).tagName)&&1==r.find(".fr-marker").length&&t.node.hasClass(a[0],"fr-marker")&&r.attr("data-del-cell",!0);for(var o=0;o<a.length;o++){var s=a[o];t.node.hasClass(s,"fr-marker")?i=(i+1)%2:i?0<e(s).find(".fr-marker").length?i=n(e(s),i):["TD","TH"].indexOf(s.tagName)<0&&!t.node.hasClass(s,"fr-inner")?!t.opts.keepFormatOnDelete||0<t.$el.find("[data-first]").length||t.node.isVoid(s)?e(s).remove():p(s):t.node.hasClass(s,"fr-inner")?0===e(s).find(".fr-inner").length?e(s).html("<br>"):e(s).find(".fr-inner").filter(u).html("<br>"):(e(s).empty(),e(s).attr("data-del-cell",!0)):0<e(s).find(".fr-marker").length&&(i=n(e(s),i))}return i}(t.$el,0);var h=t.$el.find('[data-first="true"]');if(h.length)t.$el.find(".fr-marker").remove(),h.append(e.FE.INVISIBLE_SPACE+e.FE.MARKERS).removeAttr("data-first"),h.attr("data-text")&&h.replaceWith(h.html());else for(t.$el.find("table").filter(function(){return 0<e(this).find("[data-del-cell]").length&&e(this).find("[data-del-cell]").length==e(this).find("td, th").length}).remove(),t.$el.find("[data-del-cell]").removeAttr("data-del-cell"),a=t.$el.find('.fr-marker[data-type="true"]'),n=0;n<a.length;n++){var g=a[n],m=g.nextSibling,v=t.$el.find('.fr-marker[data-type="false"][data-id="'+e(g).data("id")+'"]').get(0);if(v){if(g&&(!m||m!=v)){var E=t.node.blockParent(g),b=t.node.blockParent(v),T=!1,A=!1;if(E&&0<=["UL","OL"].indexOf(E.tagName)&&(T=!(E=null)),b&&0<=["UL","OL"].indexOf(b.tagName)&&(A=!(b=null)),e(g).after(v),E!=b)if(null!=E||T)if(null!=b||A||0!==e(E).parentsUntil(t.$el,"table").length)E&&b&&0===e(E).parentsUntil(t.$el,"table").length&&0===e(b).parentsUntil(t.$el,"table").length&&0===e(E).find(b).length&&0===e(b).find(E).length&&(e(E).append(e(b).html()),e(b).remove());else{for(m=E;!m.nextSibling&&m.parentNode!=t.el;)m=m.parentNode;for(m=m.nextSibling;m&&"BR"!=m.tagName;){var C=m.nextSibling;e(E).append(m),m=C}m&&"BR"==m.tagName&&e(m).remove()}else{var S=t.node.deepestParent(g);S?(e(S).after(e(b).html()),e(b).remove()):0===e(b).parentsUntil(t.$el,"table").length&&(e(g).next().after(e(b).html()),e(b).remove())}}}else v=e(g).clone().attr("data-type",!1),e(g).after(v)}}t.$el.find("li:empty").remove(),t.opts.keepFormatOnDelete||t.html.fillEmptyBlocks(),t.html.cleanEmptyTags(!0),t.opts.htmlUntouched||(t.clean.lists(),t.$el.find("li:empty").append("<br>"),t.spaces.normalize());var R=t.$el.find(".fr-marker:last").get(0),y=t.$el.find(".fr-marker:first").get(0);void 0!==R&&void 0!==y&&!R.nextSibling&&y.previousSibling&&"BR"==y.previousSibling.tagName&&t.node.isElement(R.parentNode)&&t.node.isElement(y.parentNode)&&t.$el.append("<br>"),l()},blocks:function(){var n,a=[],s=r();if(h()&&s.rangeCount){var l=i();for(n=0;n<l.length;n++){var d,c=l[n],f=o(c.startContainer,c.startOffset),p=o(c.endContainer,c.endOffset);(t.node.isBlock(f)||t.node.hasClass(f,"fr-inner"))&&a.indexOf(f)<0&&a.push(f),(d=t.node.blockParent(f))&&a.indexOf(d)<0&&a.push(d);for(var u=[],g=f;g!==p&&g!==t.el;)u.indexOf(g)<0&&g.children&&g.children.length?(u.push(g),g=g.children[0]):g.nextSibling?g=g.nextSibling:g.parentNode&&(g=g.parentNode,u.push(g)),t.node.isBlock(g)&&u.indexOf(g)<0&&a.indexOf(g)<0&&(g!==p||0<c.endOffset)&&a.push(g);t.node.isBlock(p)&&a.indexOf(p)<0&&0<c.endOffset&&a.push(p),(d=t.node.blockParent(p))&&a.indexOf(d)<0&&a.push(d)}}for(n=a.length-1;0<n;n--)e(a[n]).find(a).length&&a.splice(n,1);return a},info:f,setAtEnd:m,setAtStart:g,setBefore:function(n,r){void 0===r&&(r=!0);for(var i=n.previousSibling;i&&i.nodeType==Node.TEXT_NODE&&0===i.textContent.length;)i=i.previousSibling;return i?(t.node.isBlock(i)?m(i):"BR"==i.tagName?e(i).before(e.FE.MARKERS):e(i).after(e.FE.MARKERS),!0):!!r&&(t.node.isBlock(n)?g(n):e(n).before(e.FE.MARKERS),!0)},setAfter:function(n,r){void 0===r&&(r=!0);for(var i=n.nextSibling;i&&i.nodeType==Node.TEXT_NODE&&0===i.textContent.length;)i=i.nextSibling;return i?(t.node.isBlock(i)?g(i):e(i).before(e.FE.MARKERS),!0):!!r&&(t.node.isBlock(n)?m(n):e(n).after(e.FE.MARKERS),!0)},rangeElement:o}},e.extend(e.FE.DEFAULTS,{htmlAllowedTags:["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","br","button","canvas","caption","cite","code","col","colgroup","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meter","nav","noscript","object","ol","optgroup","option","output","p","param","pre","progress","queue","rp","rt","ruby","s","samp","script","style","section","select","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video","wbr"],htmlRemoveTags:["script","style"],htmlAllowedAttrs:["accept","accept-charset","accesskey","action","align","allowfullscreen","allowtransparency","alt","async","autocomplete","autofocus","autoplay","autosave","background","bgcolor","border","charset","cellpadding","cellspacing","checked","cite","class","color","cols","colspan","content","contenteditable","contextmenu","controls","coords","data","data-.*","datetime","default","defer","dir","dirname","disabled","download","draggable","dropzone","enctype","for","form","formaction","frameborder","headers","height","hidden","high","href","hreflang","http-equiv","icon","id","ismap","itemprop","keytype","kind","label","lang","language","list","loop","low","max","maxlength","media","method","min","mozallowfullscreen","multiple","muted","name","novalidate","open","optimum","pattern","ping","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","reversed","rows","rowspan","sandbox","scope","scoped","scrolling","seamless","selected","shape","size","sizes","span","src","srcdoc","srclang","srcset","start","step","summary","spellcheck","style","tabindex","target","title","type","translate","usemap","value","valign","webkitallowfullscreen","width","wrap"],htmlAllowedStyleProps:[".*"],htmlAllowComments:!0,htmlUntouched:!1,fullPage:!1}),e.FE.HTML5Map={B:"STRONG",I:"EM",STRIKE:"S"},e.FE.MODULES.clean=function(t){var n,r,i,a;function o(e){if(e.nodeType==Node.ELEMENT_NODE&&e.getAttribute("class")&&0<=e.getAttribute("class").indexOf("fr-marker"))return!1;var n,r=t.node.contents(e),i=[];for(n=0;n<r.length;n++)r[n].nodeType!=Node.ELEMENT_NODE||t.node.isVoid(r[n])?r[n].nodeType==Node.TEXT_NODE&&(r[n].textContent=r[n].textContent.replace(/\u200b/g,"")):r[n].textContent.replace(/\u200b/g,"").length!=r[n].textContent.length&&o(r[n]);if(e.nodeType==Node.ELEMENT_NODE&&!t.node.isVoid(e)&&(e.normalize(),r=t.node.contents(e),i=e.querySelectorAll(".fr-marker"),r.length-i.length==0)){for(n=0;n<r.length;n++)if(r[n].nodeType==Node.ELEMENT_NODE&&(r[n].getAttribute("class")||"").indexOf("fr-marker")<0)return!1;for(n=0;n<i.length;n++)e.parentNode.insertBefore(i[n].cloneNode(!0),e);return e.parentNode.removeChild(e),!1}}function s(e,n){if(e.nodeType==Node.COMMENT_NODE)return"\x3c!--"+e.nodeValue+"--\x3e";if(e.nodeType==Node.TEXT_NODE)return n?e.textContent.replace(/\&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):e.textContent.replace(/\&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\u00A0/g,"&nbsp;").replace(/\u0009/g,"");if(e.nodeType!=Node.ELEMENT_NODE)return e.outerHTML;if(e.nodeType==Node.ELEMENT_NODE&&0<=["STYLE","SCRIPT","NOSCRIPT"].indexOf(e.tagName))return e.outerHTML;if(e.nodeType==Node.ELEMENT_NODE&&"svg"==e.tagName){var r=document.createElement("div"),i=e.cloneNode(!0);return r.appendChild(i),r.innerHTML}if("IFRAME"==e.tagName)return e.outerHTML.replace(/\&lt;/g,"<").replace(/\&gt;/g,">");var a=e.childNodes;if(0===a.length)return e.outerHTML;for(var o="",l=0;l<a.length;l++)"PRE"==e.tagName&&(n=!0),o+=s(a[l],n);return t.node.openTagString(e)+o+t.node.closeTagString(e)}var l=[];function d(e){var t=e.replace(/;;/gi,";");return";"!=(t=t.replace(/^;/gi,"")).charAt(t.length)&&(t+=";"),t}function c(e){var n;for(n in e)if(e.hasOwnProperty(n)){var r=n.match(i),o=null;"style"==n&&t.opts.htmlAllowedStyleProps.length&&(o=e[n].match(a)),r&&o?e[n]=d(o.join(";")):r&&("style"!=n||o)||delete e[n]}for(var s="",l=Object.keys(e).sort(),c=0;c<l.length;c++)e[n=l[c]].indexOf('"')<0?s+=" "+n+'="'+e[n]+'"':s+=" "+n+"='"+e[n]+"'";return s}function f(n,r){var i,a=document.implementation.createHTMLDocument("Froala DOC").createElement("DIV");e(a).append(n);var o="";if(a){var l=t.node.contents(a);for(i=0;i<l.length;i++)r(l[i]);for(l=t.node.contents(a),i=0;i<l.length;i++)o+=s(l[i])}return o}function p(e,n,r){l=[];var i=e=e.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,function(e){return l.push(e),"[FROALA.EDITOR.SCRIPT "+(l.length-1)+"]"}).replace(/<noscript\b[^<]*(?:(?!<\/noscript>)<[^<]*)*<\/noscript>/gi,function(e){return l.push(e),"[FROALA.EDITOR.NOSCRIPT "+(l.length-1)+"]"}).replace(/<meta((?:[\w\W]*?)) http-equiv="/g,'<meta$1 data-fr-http-equiv="').replace(/<img((?:[\w\W]*?)) src="/g,'<img$1 data-fr-src="'),a=null;return t.opts.fullPage&&(i=t.html.extractNode(e,"body")||(0<=e.indexOf("<body")?"":e),r&&(a=t.html.extractNode(e,"head")||"")),i=f(i,n),a&&(a=f(a,n)),function(e,n,r){if(t.opts.fullPage){var i=t.html.extractDoctype(r),a=c(t.html.extractNodeAttrs(r,"html"));return n=null==n?t.html.extractNode(r,"head")||"<title></title>":n,i+"<html"+a+"><head"+c(t.html.extractNodeAttrs(r,"head"))+">"+n+"</head><body"+c(t.html.extractNodeAttrs(r,"body"))+">"+e+"</body></html>"}return e}(i,a,e).replace(/\[FROALA\.EDITOR\.SCRIPT ([\d]*)\]/gi,function(e,n){return 0<=t.opts.htmlRemoveTags.indexOf("script")?"":l[parseInt(n,10)]}).replace(/\[FROALA\.EDITOR\.NOSCRIPT ([\d]*)\]/gi,function(e,n){return 0<=t.opts.htmlRemoveTags.indexOf("noscript")?"":l[parseInt(n,10)].replace(/\&lt;/g,"<").replace(/\&gt;/g,">")}).replace(/<img((?:[\w\W]*?)) data-fr-src="/g,'<img$1 src="')}function u(e){var n=t.doc.createElement("DIV");return n.innerText=e,n.textContent}function h(o){for(var s=t.node.contents(o),l=0;l<s.length;l++)s[l].nodeType!=Node.TEXT_NODE&&h(s[l]);!function(o){if(!("SPAN"==o.tagName&&0<=(o.getAttribute("class")||"").indexOf("fr-marker"))){var s,l;if("PRE"==o.tagName&&0<=(l=(s=o).innerHTML).indexOf("\n")&&(s.innerHTML=l.replace(/\n/g,"<br>")),o.nodeType==Node.ELEMENT_NODE&&(o.getAttribute("data-fr-src")&&0!==o.getAttribute("data-fr-src").indexOf("blob:")&&o.setAttribute("data-fr-src",t.helpers.sanitizeURL(u(o.getAttribute("data-fr-src")))),o.getAttribute("href")&&o.setAttribute("href",t.helpers.sanitizeURL(u(o.getAttribute("href")))),o.getAttribute("src")&&o.setAttribute("src",t.helpers.sanitizeURL(u(o.getAttribute("src")))),o.getAttribute("data")&&o.setAttribute("data",t.helpers.sanitizeURL(u(o.getAttribute("data")))),0<=["TABLE","TBODY","TFOOT","TR"].indexOf(o.tagName)&&(o.innerHTML=o.innerHTML.trim())),!t.opts.pasteAllowLocalImages&&o.nodeType==Node.ELEMENT_NODE&&"IMG"==o.tagName&&o.getAttribute("data-fr-src")&&0===o.getAttribute("data-fr-src").indexOf("file://"))return o.parentNode.removeChild(o);if(o.nodeType==Node.ELEMENT_NODE&&e.FE.HTML5Map[o.tagName]&&""===t.node.attributes(o)){var c=e.FE.HTML5Map[o.tagName],f="<"+c+">"+o.innerHTML+"</"+c+">";o.insertAdjacentHTML("beforebegin",f),(o=o.previousSibling).parentNode.removeChild(o.nextSibling)}if(t.opts.htmlAllowComments||o.nodeType!=Node.COMMENT_NODE)if(o.tagName&&o.tagName.match(r))o.parentNode.removeChild(o);else if(o.tagName&&!o.tagName.match(n))"svg"===o.tagName?o.parentNode.removeChild(o):t.browser.safari&&"path"==o.tagName&&o.parentNode&&"svg"==o.parentNode.tagName||(t.browser.safari?o.replaceWith(o.innerHTML):o.outerHTML=o.innerHTML);else{var p=o.attributes;if(p)for(var h=p.length-1;0<=h;h--){var g=p[h],m=g.nodeName.match(i),v=null;"style"==g.nodeName&&t.opts.htmlAllowedStyleProps.length&&(v=g.value.match(a)),m&&v?g.value=d(v.join(";")):m&&("style"!=g.nodeName||v)||o.removeAttribute(g.nodeName)}}else 0!==o.data.indexOf("[FROALA.EDITOR")&&o.parentNode.removeChild(o)}}(o)}return{_init:function(){t.opts.fullPage&&e.merge(t.opts.htmlAllowedTags,["head","title","style","link","base","body","html","meta"])},html:function(o,s,l,d){void 0===s&&(s=[]),void 0===l&&(l=[]),void 0===d&&(d=!1);var c,f=e.merge([],t.opts.htmlAllowedTags);for(c=0;c<s.length;c++)0<=f.indexOf(s[c])&&f.splice(f.indexOf(s[c]),1);var u=e.merge([],t.opts.htmlAllowedAttrs);for(c=0;c<l.length;c++)0<=u.indexOf(l[c])&&u.splice(u.indexOf(l[c]),1);return u.push("data-fr-.*"),u.push("fr-.*"),n=new RegExp("^"+f.join("$|^")+"$","gi"),i=new RegExp("^"+u.join("$|^")+"$","gi"),r=new RegExp("^"+t.opts.htmlRemoveTags.join("$|^")+"$","gi"),a=t.opts.htmlAllowedStyleProps.length?new RegExp("((^|;|\\s)"+t.opts.htmlAllowedStyleProps.join(":.+?(?=;|$))|((^|;|\\s)")+":.+?(?=(;)|$))","gi"):null,p(o,h,!0)},toHTML5:function(){var n=t.el.querySelectorAll(Object.keys(e.FE.HTML5Map).join(","));if(n.length){var r=!1;t.el.querySelector(".fr-marker")||(t.selection.save(),r=!0);for(var i=0;i<n.length;i++)""===t.node.attributes(n[i])&&e(n[i]).replaceWith("<"+e.FE.HTML5Map[n[i].tagName]+">"+n[i].innerHTML+"</"+e.FE.HTML5Map[n[i].tagName]+">");r&&t.selection.restore()}},tables:function(){!function(){for(var e=t.el.querySelectorAll("tr"),n=0;n<e.length;n++){for(var r=e[n].children,i=!0,a=0;a<r.length;a++)if("TH"!=r[a].tagName){i=!1;break}if(!1!==i&&0!==r.length){for(var o=e[n];o&&"TABLE"!=o.tagName&&"THEAD"!=o.tagName;)o=o.parentNode;var s=o;"THEAD"!=s.tagName&&(s=t.doc.createElement("THEAD"),o.insertBefore(s,o.firstChild)),s.appendChild(e[n])}}}()},lists:function(){!function(){var e,n=[];do{if(n.length){var r=n[0],i=t.doc.createElement("ul");r.parentNode.insertBefore(i,r);do{var a=r;r=r.nextSibling,i.appendChild(a)}while(r&&"LI"==r.tagName)}n=[];for(var o=t.el.querySelectorAll("li"),s=0;s<o.length;s++)e=o[s],t.node.isList(e.parentNode)||n.push(o[s])}while(0<n.length)}(),function(){for(var e=t.el.querySelectorAll("ol + ol, ul + ul"),n=0;n<e.length;n++){var r=e[n];if(t.node.isList(r.previousSibling)&&t.node.openTagString(r)==t.node.openTagString(r.previousSibling)){for(var i=t.node.contents(r),a=0;a<i.length;a++)r.previousSibling.appendChild(i[a]);r.parentNode.removeChild(r)}}}(),function(){for(var n=t.el.querySelectorAll("ul, ol"),r=0;r<n.length;r++)for(var i=t.node.contents(n[r]),a=null,o=i.length-1;0<=o;o--)"LI"!=i[o].tagName?(a||(a=e("<li>")).insertBefore(i[o]),a.prepend(i[o])):a=null}(),function(){var e,n,r;do{n=!1;var i=t.el.querySelectorAll("li:empty");for(e=0;e<i.length;e++)i[e].parentNode.removeChild(i[e]);var a=t.el.querySelectorAll("ul, ol");for(e=0;e<a.length;e++)(r=a[e]).querySelector("LI")||(n=!0,r.parentNode.removeChild(r))}while(!0===n)}(),function(){for(var n=t.el.querySelectorAll("ul > ul, ol > ol, ul > ol, ol > ul"),r=0;r<n.length;r++){var i=n[r],a=i.previousSibling;a&&("LI"==a.tagName?a.appendChild(i):e(i).wrap("<li></li>"))}}(),function(){for(var n=t.el.querySelectorAll("li > ul, li > ol"),r=0;r<n.length;r++){var i=n[r];if(i.nextSibling){var a=i.nextSibling,o=e("<li>");e(i.parentNode).after(o);do{var s=a;a=a.nextSibling,o.append(s)}while(a)}}}(),function(){for(var n=t.el.querySelectorAll("li > ul, li > ol"),r=0;r<n.length;r++){var i=n[r];if(t.node.isFirstSibling(i))e(i).before("<br/>");else if(i.previousSibling&&"BR"==i.previousSibling.tagName){for(var a=i.previousSibling.previousSibling;a&&t.node.hasClass(a,"fr-marker");)a=a.previousSibling;a&&"BR"!=a.tagName&&e(i.previousSibling).remove()}}}(),function(){for(var n=t.el.querySelectorAll("li:empty"),r=0;r<n.length;r++)e(n[r]).remove()}()},invisibleSpaces:function(e){return e.replace(/\u200b/g,"").length==e.length?e:t.clean.exec(e,o)},exec:p}},e.FE.MODULES.spaces=function(t){function n(n,r){var i=n.previousSibling,a=n.nextSibling,o=n.textContent,s=n.parentNode;if(!t.html.isPreformatted(s)){r&&(o=o.replace(/[\f\n\r\t\v ]{2,}/g," "),a&&"BR"!==a.tagName&&!t.node.isBlock(a)||!(t.node.isBlock(s)||t.node.isLink(s)&&!s.nextSibling||t.node.isElement(s))||(o=o.replace(/[\f\n\r\t\v ]{1,}$/g,"")),i&&"BR"!==i.tagName&&!t.node.isBlock(i)||!(t.node.isBlock(s)||t.node.isLink(s)&&!s.previousSibling||t.node.isElement(s))||(o=o.replace(/^[\f\n\r\t\v ]{1,}/g,""))," "!==o||!(i&&t.node.isVoid(i)||a&&t.node.isVoid(a))||i&&a&&t.node.isVoid(i)&&t.node.isVoid(a)||(o="")),(!i&&t.node.isBlock(a)||!a&&t.node.isBlock(i))&&t.node.isBlock(s)&&s!==t.el&&(o=o.replace(/^[\f\n\r\t\v ]{1,}/g,"")),r||(o=o.replace(new RegExp(e.FE.UNICODE_NBSP,"g")," "));for(var l="",d=0;d<o.length;d++)32!=o.charCodeAt(d)||0!==d&&32!=l.charCodeAt(d-1)||i&&a&&t.node.isVoid(i)&&t.node.isVoid(a)?l+=o[d]:l+=e.FE.UNICODE_NBSP;(!a||a&&t.node.isBlock(a)||a&&a.nodeType==Node.ELEMENT_NODE&&t.win.getComputedStyle(a)&&"block"==t.win.getComputedStyle(a).display)&&(l=l.replace(/ $/,e.FE.UNICODE_NBSP)),!i||t.node.isVoid(i)||t.node.isBlock(i)||1!==(l=l.replace(/^\u00A0([^ $])/," $1")).length||160!==l.charCodeAt(0)||!a||t.node.isVoid(a)||t.node.isBlock(a)||(l=" "),r||(l=l.replace(/([^ \u00A0])\u00A0([^ \u00A0])/g,"$1 $2")),n.textContent!=l&&(n.textContent=l)}}function r(e,r){if(void 0!==e&&e||(e=t.el),void 0===r&&(r=!1),!e.getAttribute||"false"!=e.getAttribute("contenteditable"))if(e.nodeType==Node.TEXT_NODE)n(e,r);else if(e.nodeType==Node.ELEMENT_NODE)for(var i=t.doc.createTreeWalker(e,NodeFilter.SHOW_TEXT,t.node.filter(function(e){for(var n=e.parentNode;n&&n!==t.el;){if("STYLE"==n.tagName||"IFRAME"==n.tagName)return!1;if("PRE"===n.tagName)return!1;n=n.parentNode}return null!=e.textContent.match(/([ \u00A0\f\n\r\t\v]{2,})|(^[ \u00A0\f\n\r\t\v]{1,})|([ \u00A0\f\n\r\t\v]{1,}$)/g)&&!t.node.hasClass(e.parentNode,"fr-marker")}),!1);i.nextNode();)n(i.currentNode,r)}return{normalize:r,normalizeAroundCursor:function(){for(var e=[],n=t.el.querySelectorAll(".fr-marker"),i=0;i<n.length;i++){for(var a,o=(a=t.node.blockParent(n[i])||n[i]).nextSibling,s=a.previousSibling;o&&"BR"==o.tagName;)o=o.nextSibling;for(;s&&"BR"==s.tagName;)s=s.previousSibling;a&&e.indexOf(a)<0&&e.push(a),s&&e.indexOf(s)<0&&e.push(s),o&&e.indexOf(o)<0&&e.push(o)}for(var l=0;l<e.length;l++)r(e[l])}}},e.FE.UNICODE_NBSP=String.fromCharCode(160),e.FE.VOID_ELEMENTS=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],e.FE.BLOCK_TAGS=["address","article","aside","audio","blockquote","canvas","details","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","li","main","nav","noscript","ol","output","p","pre","section","table","tbody","td","tfoot","th","thead","tr","ul","video"],e.extend(e.FE.DEFAULTS,{htmlAllowedEmptyTags:["textarea","a","iframe","object","video","style","script",".fa",".fr-emoticon",".fr-inner","path","line"],htmlDoNotWrapTags:["script","style"],htmlSimpleAmpersand:!1,htmlIgnoreCSSProperties:[],htmlExecuteScripts:!0}),e.FE.MODULES.html=function(t){function n(){return t.opts.enter==e.FE.ENTER_P?"p":t.opts.enter==e.FE.ENTER_DIV?"div":t.opts.enter==e.FE.ENTER_BR?null:void 0}function r(e,n){return!(!e||e===t.el)&&(n?-1!=["PRE","SCRIPT","STYLE"].indexOf(e.tagName)||r(e.parentNode,n):-1!=["PRE","SCRIPT","STYLE"].indexOf(e.tagName))}function i(n){var r,i=[],o=[];if(n){var s=t.el.querySelectorAll(".fr-marker");for(r=0;r<s.length;r++){var l=t.node.blockParent(s[r])||s[r];if(l){var d=l.nextSibling,c=l.previousSibling;l&&o.indexOf(l)<0&&t.node.isBlock(l)&&o.push(l),c&&t.node.isBlock(c)&&o.indexOf(c)<0&&o.push(c),d&&t.node.isBlock(d)&&o.indexOf(d)<0&&o.push(d)}}}else o=t.el.querySelectorAll(a());var f=a();for(f+=","+e.FE.VOID_ELEMENTS.join(","),f+=", .fr-inner",f+=","+t.opts.htmlAllowedEmptyTags.join(":not(.fr-marker),")+":not(.fr-marker)",r=o.length-1;0<=r;r--)if(!(o[r].textContent&&0<o[r].textContent.replace(/\u200B|\n/g,"").length||0<o[r].querySelectorAll(f).length)){for(var p=t.node.contents(o[r]),u=!1,h=0;h<p.length;h++)if(p[h].nodeType!=Node.COMMENT_NODE&&p[h].textContent&&0<p[h].textContent.replace(/\u200B|\n/g,"").length){u=!0;break}u||i.push(o[r])}return i}function a(){return e.FE.BLOCK_TAGS.join(", ")}function o(n){var r,i,a=e.merge([],e.FE.VOID_ELEMENTS);a=e.merge(a,t.opts.htmlAllowedEmptyTags),a=void 0===n?e.merge(a,e.FE.BLOCK_TAGS):e.merge(a,e.FE.NO_DELETE_TAGS),r=t.el.querySelectorAll("*:empty:not("+a.join("):not(")+"):not(.fr-marker)");do{i=!1;for(var o=0;o<r.length;o++)0!==r[o].attributes.length&&void 0===r[o].getAttribute("href")||(r[o].parentNode.removeChild(r[o]),i=!0);r=t.el.querySelectorAll("*:empty:not("+a.join("):not(")+"):not(.fr-marker)")}while(r.length&&i)}function s(e,r){var i=n();if(r&&(i="div"),i){for(var a=t.doc.createDocumentFragment(),o=null,s=!1,l=e.firstChild,d=!1;l;){var c=l.nextSibling;if(l.nodeType==Node.ELEMENT_NODE&&(t.node.isBlock(l)||0<=t.opts.htmlDoNotWrapTags.indexOf(l.tagName.toLowerCase())&&!t.node.hasClass(l,"fr-marker")))o=null,a.appendChild(l.cloneNode(!0));else if(l.nodeType!=Node.ELEMENT_NODE&&l.nodeType!=Node.TEXT_NODE)o=null,a.appendChild(l.cloneNode(!0));else if("BR"==l.tagName)null==o?(o=t.doc.createElement(i),d=!0,r&&(o.setAttribute("class","fr-temp-div"),o.setAttribute("data-empty",!0)),o.appendChild(l.cloneNode(!0)),a.appendChild(o)):!1===s&&(o.appendChild(t.doc.createElement("br")),r&&(o.setAttribute("class","fr-temp-div"),o.setAttribute("data-empty",!0))),o=null;else{var f=l.textContent;l.nodeType!==Node.TEXT_NODE||0<f.replace(/\n/g,"").replace(/(^ *)|( *$)/g,"").length||f.replace(/(^ *)|( *$)/g,"").length&&f.indexOf("\n")<0?(null==o&&(o=t.doc.createElement(i),d=!0,r&&o.setAttribute("class","fr-temp-div"),a.appendChild(o),s=!1),o.appendChild(l.cloneNode(!0)),s||t.node.hasClass(l,"fr-marker")||l.nodeType==Node.TEXT_NODE&&0===f.replace(/ /g,"").length||(s=!0)):d=!0}l=c}d&&(e.innerHTML="",e.appendChild(a))}}function l(e,t){for(var n=e.length-1;0<=n;n--)s(e[n],t)}function d(e,n,r,i,a){if(!t.$wp)return!1;void 0===e&&(e=!1),void 0===n&&(n=!1),void 0===r&&(r=!1),void 0===i&&(i=!1),void 0===a&&(a=!1);var o=t.$wp.scrollTop();s(t.el,e),i&&l(t.el.querySelectorAll(".fr-inner"),e),n&&l(t.el.querySelectorAll("td, th"),e),r&&l(t.el.querySelectorAll("blockquote"),e),a&&l(t.el.querySelectorAll("li"),e),o!=t.$wp.scrollTop()&&t.$wp.scrollTop(o)}function c(e){if(void 0===e&&(e=t.el),e&&0<=["SCRIPT","STYLE","PRE"].indexOf(e.tagName))return!1;for(var n=t.doc.createTreeWalker(e,NodeFilter.SHOW_TEXT,t.node.filter(function(e){return null!=e.textContent.match(/([ \n]{2,})|(^[ \n]{1,})|([ \n]{1,}$)/g)}),!1);n.nextNode();){var i=n.currentNode;if(!r(i.parentNode,!0)){var a=t.node.isBlock(i.parentNode)||t.node.isElement(i.parentNode),o=i.textContent.replace(/(?!^)( ){2,}(?!$)/g," ").replace(/\n/g," ").replace(/^[ ]{2,}/g," ").replace(/[ ]{2,}$/g," ");if(a){var s=i.previousSibling,l=i.nextSibling;s&&l&&" "==o?o=t.node.isBlock(s)&&t.node.isBlock(l)?"":" ":(s||(o=o.replace(/^ */,"")),l||(o=o.replace(/ *$/,"")))}i.textContent=o}}}function f(e,t,n){var r=new RegExp(t,"gi").exec(e);return r?r[n]:null}function p(e){var t=e.doctype,n="<!DOCTYPE html>";return t&&(n="<!DOCTYPE "+t.name+(t.publicId?' PUBLIC "'+t.publicId+'"':"")+(!t.publicId&&t.systemId?" SYSTEM":"")+(t.systemId?' "'+t.systemId+'"':"")+">"),n}function u(n){var r=n.parentNode;if(r&&(t.node.isBlock(r)||t.node.isElement(r))&&["TD","TH"].indexOf(r.tagName)<0){for(var i=n.previousSibling,a=n.nextSibling;i&&(i.nodeType==Node.TEXT_NODE&&0===i.textContent.replace(/\n|\r/g,"").length||t.node.hasClass(i,"fr-tmp"));)i=i.previousSibling;if(a)return!1;i&&r&&"BR"!=i.tagName&&!t.node.isBlock(i)&&!a&&0<r.textContent.replace(/\u200B/g,"").length&&0<i.textContent.length&&!t.node.hasClass(i,"fr-marker")&&(t.el==r&&!a&&t.opts.enter==e.FE.ENTER_BR&&t.browser.msie||n.parentNode.removeChild(n))}else!r||t.node.isBlock(r)||t.node.isElement(r)||n.previousSibling||n.nextSibling||!t.node.isDeletable(n.parentNode)||u(n.parentNode)}function h(){t.opts.htmlUntouched||(o(),d(),c(),t.spaces.normalize(null,!0),t.html.fillEmptyBlocks(),t.clean.lists(),t.clean.tables(),t.clean.toHTML5(),t.html.cleanBRs()),t.selection.restore(),g(),t.placeholder.refresh()}function g(){t.node.isEmpty(t.el)&&(null!=n()?t.el.querySelector(a())||t.el.querySelector(t.opts.htmlDoNotWrapTags.join(":not(.fr-marker),")+":not(.fr-marker)")||(t.core.hasFocus()?(t.$el.html("<"+n()+">"+e.FE.MARKERS+"<br/></"+n()+">"),t.selection.restore()):t.$el.html("<"+n()+"><br/></"+n()+">")):t.el.querySelector("*:not(.fr-marker):not(br)")||(t.core.hasFocus()?(t.$el.html(e.FE.MARKERS+"<br/>"),t.selection.restore()):t.$el.html("<br/>")))}function m(e,t){return f(e,"<"+t+"[^>]*?>([\\w\\W]*)</"+t+">",1)}function v(n,r){var i=e("<div "+(f(n,"<"+r+"([^>]*?)>",1)||"")+">");return t.node.rawAttributes(i.get(0))}function E(e){return(f(e,"<!DOCTYPE([^>]*?)>",0)||"<!DOCTYPE html>").replace(/\n/g," ").replace(/ {2,}/g," ")}function b(e,n){t.opts.htmlExecuteScripts?e.html(n):e.get(0).innerHTML=n}function T(e){var t;return(t=/:not\(([^\)]*)\)/g).test(e)&&(e=e.replace(t," $1 ")),100*(e.match(/(#[^\s\+>~\.\[:]+)/g)||[]).length+10*(e.match(/(\[[^\]]+\])/g)||[]).length+10*(e.match(/(\.[^\s\+>~\.\[:]+)/g)||[]).length+10*(e.match(/(:[\w-]+\([^\)]*\))/gi)||[]).length+10*(e.match(/(:[^\s\+>~\.\[:]+)/g)||[]).length+(e.match(/(::[^\s\+>~\.\[:]+|:first-line|:first-letter|:before|:after)/gi)||[]).length+((e=(e=e.replace(/[\*\s\+>~]/g," ")).replace(/[#\.]/g," ")).match(/([^\s\+>~\.\[:]+)/g)||[]).length}function A(e){if(t.events.trigger("html.processGet",[e]),e&&e.getAttribute&&""===e.getAttribute("class")&&e.removeAttribute("class"),e&&e.getAttribute&&""===e.getAttribute("style")&&e.removeAttribute("style"),e&&e.nodeType==Node.ELEMENT_NODE){var n,r=e.querySelectorAll('[class=""],[style=""]');for(n=0;n<r.length;n++){var i=r[n];""===i.getAttribute("class")&&i.removeAttribute("class"),""===i.getAttribute("style")&&i.removeAttribute("style")}if("BR"===e.tagName)u(e);else{var a=e.querySelectorAll("br");for(n=0;n<a.length;n++)u(a[n])}}}function C(e,t){return e[3]-t[3]}function S(e){var n=t.doc.createElement("div");return n.innerHTML=e,null!==n.querySelector(a())}function R(n){var r=null;if(void 0===n&&(r=t.selection.element()),t.opts.keepFormatOnDelete)return!1;var i,a,o=r?(r.textContent.match(/\u200B/g)||[]).length-r.querySelectorAll(".fr-marker").length:0;if((t.el.textContent.match(/\u200B/g)||[]).length-t.el.querySelectorAll(".fr-marker").length==o)return!1;do{a=!1,i=t.el.querySelectorAll("*:not(.fr-marker)");for(var s=0;s<i.length;s++){var l=i[s];if(r!=l){var d=l.textContent;0===l.children.length&&1===d.length&&8203==d.charCodeAt(0)&&"TD"!==l.tagName&&(e(l).remove(),a=!0)}}}while(a)}return{defaultTag:n,isPreformatted:r,emptyBlocks:i,emptyBlockTagsQuery:function(){return e.FE.BLOCK_TAGS.join(":empty, ")+":empty"},blockTagsQuery:a,fillEmptyBlocks:function(n){var r=i(n);t.node.isEmpty(t.el)&&t.opts.enter===e.FE.ENTER_BR&&r.push(t.el);for(var a=0;a<r.length;a++){var o=r[a];"false"===o.getAttribute("contenteditable")||o.querySelector(t.opts.htmlAllowedEmptyTags.join(":not(.fr-marker),")+":not(.fr-marker)")||t.node.isVoid(o)||"TABLE"!=o.tagName&&"TBODY"!=o.tagName&&"TR"!=o.tagName&&"UL"!=o.tagName&&"OL"!=o.tagName&&o.appendChild(t.doc.createElement("br"))}if(t.browser.msie&&t.opts.enter==e.FE.ENTER_BR){var s=t.node.contents(t.el);s.length&&s[s.length-1].nodeType==Node.TEXT_NODE&&t.$el.append("<br>")}},cleanEmptyTags:o,cleanWhiteTags:R,cleanBlankSpaces:c,blocks:function(){return t.$el.get(0).querySelectorAll(a())},getDoctype:p,set:function(n){var r,i,a,o=t.clean.html((n||"").trim(),[],[],t.opts.fullPage);if(t.opts.fullPage){var s=m(o,"body")||(0<=o.indexOf("<body")?"":o),l=v(o,"body"),d=m(o,"head")||"<title></title>",c=v(o,"head"),f=e("<div>").append(d).contents().each(function(){(this.nodeType==Node.COMMENT_NODE||0<=["BASE","LINK","META","NOSCRIPT","SCRIPT","STYLE","TEMPLATE","TITLE"].indexOf(this.tagName))&&this.parentNode.removeChild(this)}).end().html().trim();d=e("<div>").append(d).contents().map(function(){return this.nodeType==Node.COMMENT_NODE?"\x3c!--"+this.nodeValue+"--\x3e":0<=["BASE","LINK","META","NOSCRIPT","SCRIPT","STYLE","TEMPLATE","TITLE"].indexOf(this.tagName)?this.outerHTML:""}).toArray().join("");var p=E(o),u=v(o,"html");b(t.$el,f+"\n"+s),t.node.clearAttributes(t.el),t.$el.attr(l),t.$el.addClass("fr-view"),t.$el.attr("spellcheck",t.opts.spellcheck),t.$el.attr("dir",t.opts.direction),b(t.$head,d),t.node.clearAttributes(t.$head.get(0)),t.$head.attr(c),t.node.clearAttributes(t.$html.get(0)),t.$html.attr(u),t.iframe_document.doctype.parentNode.replaceChild((r=p,i=t.iframe_document,(a=r.match(/<!DOCTYPE ?([^ ]*) ?([^ ]*) ?"?([^"]*)"? ?"?([^"]*)"?>/i))?i.implementation.createDocumentType(a[1],a[3],a[4]):i.implementation.createDocumentType("html")),t.iframe_document.doctype)}else b(t.$el,o);var g=t.edit.isDisabled();t.edit.on(),t.core.injectStyle(t.opts.iframeDefaultStyle+t.opts.iframeStyle),h(),t.opts.useClasses||(t.$el.find("[fr-original-class]").each(function(){this.setAttribute("class",this.getAttribute("fr-original-class")),this.removeAttribute("fr-original-class")}),t.$el.find("[fr-original-style]").each(function(){this.setAttribute("style",this.getAttribute("fr-original-style")),this.removeAttribute("fr-original-style")})),g&&t.edit.off(),t.events.trigger("html.set")},get:function(e,n){if(!t.$wp)return t.$oel.clone().removeClass("fr-view").removeAttr("contenteditable").get(0).outerHTML;var r="";t.events.trigger("html.beforeGet");var i,a,o=[],s={},l=[],d=t.el.querySelectorAll("input, textarea");for(i=0;i<d.length;i++)d[i].setAttribute("value",d[i].value);if(!t.opts.useClasses&&!n){var c=new RegExp("^"+t.opts.htmlIgnoreCSSProperties.join("$|^")+"$","gi");for(i=0;i<t.doc.styleSheets.length;i++){var f,u=0;try{f=t.doc.styleSheets[i].cssRules,t.doc.styleSheets[i].ownerNode&&"STYLE"==t.doc.styleSheets[i].ownerNode.nodeType&&(u=1)}catch(e){}if(f)for(var h=0,g=f.length;h<g;h++)if(f[h].selectorText&&0<f[h].style.cssText.length){var m,v=f[h].selectorText.replace(/body |\.fr-view /g,"").replace(/::/g,":");try{m=t.el.querySelectorAll(v)}catch(e){m=[]}for(a=0;a<m.length;a++){!m[a].getAttribute("fr-original-style")&&m[a].getAttribute("style")?(m[a].setAttribute("fr-original-style",m[a].getAttribute("style")),o.push(m[a])):m[a].getAttribute("fr-original-style")||(m[a].setAttribute("fr-original-style",""),o.push(m[a])),s[m[a]]||(s[m[a]]={});for(var E=1e3*u+T(f[h].selectorText),b=f[h].style.cssText.split(";"),S=0;S<b.length;S++){var R=b[S].trim().split(":")[0];if(R&&!R.match(c)&&(s[m[a]][R]||(s[m[a]][R]=0)<=(m[a].getAttribute("fr-original-style")||"").indexOf(R+":")&&(s[m[a]][R]=1e4),E>=s[m[a]][R]&&(s[m[a]][R]=E,b[S].trim().length))){var y=b[S].trim().split(":");y.splice(0,1),l.push([m[a],R.trim(),y.join(":").trim(),E])}}}}}for(l.sort(C),i=0;i<l.length;i++){var _=l[i];_[0].style[_[1]]=_[2]}for(i=0;i<o.length;i++)if(o[i].getAttribute("class")&&(o[i].setAttribute("fr-original-class",o[i].getAttribute("class")),o[i].removeAttribute("class")),0<(o[i].getAttribute("fr-original-style")||"").trim().length){var L=o[i].getAttribute("fr-original-style").split(";");for(a=0;a<L.length;a++)if(0<L[a].indexOf(":")){var x=L[a].split(":"),w=x[0];x.splice(0,1),o[i].style[w.trim()]=x.join(":").trim()}}}if(t.node.isEmpty(t.el))t.opts.fullPage&&(r=p(t.iframe_document),r+="<html"+t.node.attributes(t.$html.get(0))+">"+t.$html.find("head").get(0).outerHTML+"<body></body></html>");else if(void 0===e&&(e=!1),t.opts.fullPage){r=p(t.iframe_document),t.$el.removeClass("fr-view");var N=t.opts.heightMin;t.opts.heightMin=null,t.size.refresh(),r+="<html"+t.node.attributes(t.$html.get(0))+">"+t.$html.html()+"</html>",t.opts.heightMin=N,t.size.refresh(),t.$el.addClass("fr-view")}else r=t.$el.html();if(!t.opts.useClasses&&!n)for(i=0;i<o.length;i++)o[i].getAttribute("fr-original-class")&&(o[i].setAttribute("class",o[i].getAttribute("fr-original-class")),o[i].removeAttribute("fr-original-class")),null!=o[i].getAttribute("fr-original-style")&&void 0!==o[i].getAttribute("fr-original-style")?(0!==o[i].getAttribute("fr-original-style").length?o[i].setAttribute("style",o[i].getAttribute("fr-original-style")):o[i].removeAttribute("style"),o[i].removeAttribute("fr-original-style")):o[i].removeAttribute("style");t.opts.fullPage&&(r=(r=(r=(r=(r=(r=(r=(r=r.replace(/<style data-fr-style="true">(?:[\w\W]*?)<\/style>/g,"")).replace(/<link([^>]*)data-fr-style="true"([^>]*)>/g,"")).replace(/<style(?:[\w\W]*?)class="firebugResetStyles"(?:[\w\W]*?)>(?:[\w\W]*?)<\/style>/g,"")).replace(/<body((?:[\w\W]*?)) spellcheck="true"((?:[\w\W]*?))>((?:[\w\W]*?))<\/body>/g,"<body$1$2>$3</body>")).replace(/<body((?:[\w\W]*?)) contenteditable="(true|false)"((?:[\w\W]*?))>((?:[\w\W]*?))<\/body>/g,"<body$1$3>$4</body>")).replace(/<body((?:[\w\W]*?)) dir="([\w]*)"((?:[\w\W]*?))>((?:[\w\W]*?))<\/body>/g,"<body$1$3>$4</body>")).replace(/<body((?:[\w\W]*?))class="([\w\W]*?)(fr-rtl|fr-ltr)([\w\W]*?)"((?:[\w\W]*?))>((?:[\w\W]*?))<\/body>/g,'<body$1class="$2$4"$5>$6</body>')).replace(/<body((?:[\w\W]*?)) class=""((?:[\w\W]*?))>((?:[\w\W]*?))<\/body>/g,"<body$1$2>$3</body>")),t.opts.htmlSimpleAmpersand&&(r=r.replace(/\&amp;/gi,"&")),t.events.trigger("html.afterGet"),e||(r=r.replace(/<span[^>]*? class\s*=\s*["']?fr-marker["']?[^>]+>\u200b<\/span>/gi,"")),r=t.clean.invisibleSpaces(r),r=t.clean.exec(r,A);var O=t.events.chainTrigger("html.get",r);return"string"==typeof O&&(r=O),(r=r.replace(/<pre(?:[\w\W]*?)>(?:[\w\W]*?)<\/pre>/g,function(e){return e.replace(/<br>/g,"\n")})).replace(/<meta((?:[\w\W]*?)) data-fr-http-equiv="/g,'<meta$1 http-equiv="')},getSelected:function(){var n,r,i=function(n,r){for(;r&&(r.nodeType==Node.TEXT_NODE||!t.node.isBlock(r))&&!t.node.isElement(r)&&!t.node.hasClass(r,"fr-inner");)r&&r.nodeType!=Node.TEXT_NODE&&e(n).wrapInner(t.node.openTagString(r)+t.node.closeTagString(r)),r=r.parentNode;r&&n.innerHTML==r.innerHTML&&(n.innerHTML=r.outerHTML)},a="";if(void 0!==t.win.getSelection){t.browser.mozilla&&(t.selection.save(),1<t.$el.find('.fr-marker[data-type="false"]').length&&(t.$el.find('.fr-marker[data-type="false"][data-id="0"]').remove(),t.$el.find('.fr-marker[data-type="false"]:last').attr("data-id","0"),t.$el.find(".fr-marker").not('[data-id="0"]').remove()),t.selection.restore());for(var o=t.selection.ranges(),s=0;s<o.length;s++){var l=document.createElement("div");l.appendChild(o[s].cloneContents()),i(l,(r=n=void 0,r=null,t.win.getSelection?(n=t.win.getSelection())&&n.rangeCount&&(r=n.getRangeAt(0).commonAncestorContainer).nodeType!=Node.ELEMENT_NODE&&(r=r.parentNode):(n=t.doc.selection)&&"Control"!=n.type&&(r=n.createRange().parentElement()),null!=r&&(0<=e.inArray(t.el,e(r).parents())||r==t.el)?r:null)),0<e(l).find(".fr-element").length&&(l=t.el),a+=l.innerHTML}}else void 0!==t.doc.selection&&"Text"==t.doc.selection.type&&(a=t.doc.selection.createRange().htmlText);return a},insert:function(n,r,i){var a,o,s;if(t.selection.isCollapsed()||t.selection.remove(),a=r?n:t.clean.html(n),n.indexOf('class="fr-marker"')<0&&(o=a,(s=t.doc.createElement("div")).innerHTML=o,t.selection.setAtEnd(s),a=s.innerHTML),t.node.isEmpty(t.el)&&!t.opts.keepFormatOnDelete&&S(a))t.el.innerHTML=a;else{var l=t.markers.insert();if(l){t.node.isLastSibling(l)&&e(l).parent().hasClass("fr-deletable")&&e(l).insertAfter(e(l).parent());var d=t.node.blockParent(l);if((S(a)||i)&&(t.node.deepestParent(l)||d&&"LI"==d.tagName)){if(d&&"LI"==d.tagName&&(a=function(n){if(!t.html.defaultTag())return n;var r=t.doc.createElement("div");r.innerHTML=n;for(var i=r.querySelectorAll(":scope > "+t.html.defaultTag()),a=i.length-1;0<=a;a--){var o=i[a];t.node.isBlock(o.previousSibling)||(o.previousSibling&&!t.node.isEmpty(o)&&e("<br>").insertAfter(o.previousSibling),o.outerHTML=o.innerHTML)}return r.innerHTML}(a)),!(l=t.markers.split()))return!1;l.outerHTML=a}else l.outerHTML=a}else t.el.innerHTML=t.el.innerHTML+a}h(),t.keys.positionCaret(),t.events.trigger("html.inserted")},wrap:d,unwrap:function(){t.$el.find("div.fr-temp-div").each(function(){this.previousSibling&&this.previousSibling.nodeType===Node.TEXT_NODE&&e(this).before("<br>"),e(this).attr("data-empty")||!this.nextSibling||t.node.isBlock(this.nextSibling)&&!e(this.nextSibling).hasClass("fr-temp-div")?e(this).replaceWith(e(this).html()):e(this).replaceWith(e(this).html()+"<br>")}),t.$el.find(".fr-temp-div").removeClass("fr-temp-div").filter(function(){return""===e(this).attr("class")}).removeAttr("class")},escapeEntities:function(e){return e.replace(/</gi,"&lt;").replace(/>/gi,"&gt;").replace(/"/gi,"&quot;").replace(/'/gi,"&#39;")},checkIfEmpty:g,extractNode:m,extractNodeAttrs:v,extractDoctype:E,cleanBRs:function(){for(var e=t.el.getElementsByTagName("br"),n=0;n<e.length;n++)u(e[n])},_init:function(){if(t.$wp){var e=function(){R(),t.placeholder&&setTimeout(t.placeholder.refresh,0)};t.events.on("mouseup",e),t.events.on("keydown",e),t.events.on("contentChanged",g)}}}},e.extend(e.FE.DEFAULTS,{height:null,heightMax:null,heightMin:null,width:null}),e.FE.MODULES.size=function(e){function t(){n(),e.opts.height&&e.$el.css("minHeight",e.opts.height-e.helpers.getPX(e.$el.css("padding-top"))-e.helpers.getPX(e.$el.css("padding-bottom"))),e.$iframe.height(e.$el.outerHeight(!0))}function n(){e.opts.heightMin?e.$el.css("minHeight",e.opts.heightMin):e.$el.css("minHeight",""),e.opts.heightMax?(e.$wp.css("maxHeight",e.opts.heightMax),e.$wp.css("overflow","auto")):(e.$wp.css("maxHeight",""),e.$wp.css("overflow","")),e.opts.height?(e.$wp.height(e.opts.height),e.$wp.css("overflow","auto"),e.$el.css("minHeight",e.opts.height-e.helpers.getPX(e.$el.css("padding-top"))-e.helpers.getPX(e.$el.css("padding-bottom")))):(e.$wp.css("height",""),e.opts.heightMin||e.$el.css("minHeight",""),e.opts.heightMax||e.$wp.css("overflow","")),e.opts.width&&e.$box.width(e.opts.width)}return{_init:function(){if(!e.$wp)return!1;n(),e.$iframe&&(e.events.on("keyup keydown",function(){setTimeout(t,0)},!0),e.events.on("commands.after html.set init initialized paste.after",t))},syncIframe:t,refresh:n}},e.extend(e.FE.DEFAULTS,{language:null}),e.FE.LANGUAGE={},e.FE.MODULES.language=function(t){var n;return{_init:function(){e.FE.LANGUAGE&&(n=e.FE.LANGUAGE[t.opts.language]),n&&n.direction&&(t.opts.direction=n.direction)},translate:function(e){return n&&n.translation[e]&&n.translation[e].length?n.translation[e]:e}}},e.extend(e.FE.DEFAULTS,{placeholderText:"Type something"}),e.FE.MODULES.placeholder=function(t){function n(){t.$placeholder||(t.$placeholder=e('<span class="fr-placeholder"></span>'),t.$wp.append(t.$placeholder));var n=t.opts.iframe?t.$iframe.prev().outerHeight(!0):t.$el.prev().outerHeight(!0),r=0,i=0,a=0,o=0,s=0,l=0,d=t.node.contents(t.el),c=e(t.selection.element()).css("text-align");if(d.length&&d[0].nodeType==Node.ELEMENT_NODE){var f=e(d[0]);(!t.opts.toolbarInline||0<t.$el.prev().length)&&t.ready&&(r=t.helpers.getPX(f.css("margin-top")),o=t.helpers.getPX(f.css("padding-top")),i=t.helpers.getPX(f.css("margin-left")),a=t.helpers.getPX(f.css("margin-right")),s=t.helpers.getPX(f.css("padding-left")),l=t.helpers.getPX(f.css("padding-right"))),t.$placeholder.css("font-size",f.css("font-size")),t.$placeholder.css("line-height",f.css("line-height"))}else t.$placeholder.css("font-size",t.$el.css("font-size")),t.$placeholder.css("line-height",t.$el.css("line-height"));t.$wp.addClass("show-placeholder"),t.$placeholder.css({marginTop:Math.max(t.helpers.getPX(t.$el.css("margin-top")),r)+(n||0),paddingTop:Math.max(t.helpers.getPX(t.$el.css("padding-top")),o),paddingLeft:Math.max(t.helpers.getPX(t.$el.css("padding-left")),s),marginLeft:Math.max(t.helpers.getPX(t.$el.css("margin-left")),i),paddingRight:Math.max(t.helpers.getPX(t.$el.css("padding-right")),l),marginRight:Math.max(t.helpers.getPX(t.$el.css("margin-right")),a),textAlign:c}).text(t.language.translate(t.opts.placeholderText||t.$oel.attr("placeholder")||"")),t.$placeholder.html(t.$placeholder.text().replace(/\n/g,"<br>"))}function r(){t.$wp.removeClass("show-placeholder")}function i(){if(!t.$wp)return!1;t.core.isEmpty()?n():r()}return{_init:function(){if(!t.$wp)return!1;t.events.on("init input keydown keyup contentChanged initialized",i)},show:n,hide:r,refresh:i,isVisible:function(){return!!t.$wp&&t.node.hasClass(t.$wp.get(0),"show-placeholder")}}},e.FE.MODULES.edit=function(e){function t(){if(e.browser.mozilla)try{e.doc.execCommand("enableObjectResizing",!1,"false"),e.doc.execCommand("enableInlineTableEditing",!1,"false")}catch(e){}if(e.browser.msie)try{e.doc.body.addEventListener("mscontrolselect",function(e){return e.preventDefault(),!1})}catch(e){}}var n=!1;function r(){return n}return{_init:function(){e.events.on("focus",function(){r()?e.edit.off():e.edit.on()})},on:function(){e.$wp?(e.$el.attr("contenteditable",!0),e.$el.removeClass("fr-disabled").attr("aria-disabled",!1),e.$tb&&e.$tb.removeClass("fr-disabled").removeAttr("aria-disabled"),t()):e.$el.is("a")&&e.$el.attr("contenteditable",!0),n=!1},off:function(){e.events.disableBlur(),e.$wp?(e.$el.attr("contenteditable",!1),e.$el.addClass("fr-disabled").attr("aria-disabled",!0),e.$tb&&e.$tb.addClass("fr-disabled").attr("aria-disabled",!0)):e.$el.is("a")&&e.$el.attr("contenteditable",!1),e.events.enableBlur(),n=!0},disableDesign:t,isDisabled:r}},e.extend(e.FE.DEFAULTS,{documentReady:!1,editorClass:null,typingTimer:500,iframe:!1,requestWithCORS:!0,requestWithCredentials:!1,requestHeaders:{},useClasses:!0,spellcheck:!0,iframeDefaultStyle:'html{margin:0px;height:auto;}body{height:auto;padding:10px;background:transparent;color:#000000;position:relative;z-index: 2;-webkit-user-select:auto;margin:0px;overflow:hidden;min-height:20px;}body:after{content:"";display:block;clear:both;}body::-moz-selection{background:#b5d6fd;color:#000;}body::selection{background:#b5d6fd;color:#000;}',iframeStyle:"",iframeStyleFiles:[],direction:"auto",zIndex:1,tabIndex:null,disableRightClick:!1,scrollableContainer:"body",keepFormatOnDelete:!1,theme:null}),e.FE.MODULES.core=function(t){return{_init:function(){if(e.FE.INSTANCES.push(t),t.drag_support={filereader:"undefined"!=typeof FileReader,formdata:!!t.win.FormData,progress:"upload"in new XMLHttpRequest},t.$wp){(function(){if(t.$box.addClass("fr-box"+(t.opts.editorClass?" "+t.opts.editorClass:"")),t.$box.attr("role","application"),t.$wp.addClass("fr-wrapper"),t.opts.documentReady&&t.$box.addClass("fr-document"),t.opts.iframe||t.$el.addClass("fr-element fr-view"),t.opts.iframe){t.$iframe.addClass("fr-iframe"),t.$el.addClass("fr-view");for(var e=0;e<t.o_doc.styleSheets.length;e++){var n;try{n=t.o_doc.styleSheets[e].cssRules}catch(e){}if(n)for(var r=0,i=n.length;r<i;r++)!n[r].selectorText||0!==n[r].selectorText.indexOf(".fr-view")&&0!==n[r].selectorText.indexOf(".fr-element")||0<n[r].style.cssText.length&&(0===n[r].selectorText.indexOf(".fr-view")?t.opts.iframeStyle+=n[r].selectorText.replace(/\.fr-view/g,"body")+"{"+n[r].style.cssText+"}":t.opts.iframeStyle+=n[r].selectorText.replace(/\.fr-element/g,"body")+"{"+n[r].style.cssText+"}")}}"auto"!=t.opts.direction&&t.$box.removeClass("fr-ltr fr-rtl").addClass("fr-"+t.opts.direction),t.$el.attr("dir",t.opts.direction),t.$wp.attr("dir",t.opts.direction),1<t.opts.zIndex&&t.$box.css("z-index",t.opts.zIndex),t.opts.theme&&t.$box.addClass(t.opts.theme+"-theme"),t.opts.tabIndex=t.opts.tabIndex||t.$oel.attr("tabIndex"),t.opts.tabIndex&&t.$el.attr("tabIndex",t.opts.tabIndex)})(),t.html.set(t._original_html),t.$el.attr("spellcheck",t.opts.spellcheck),t.helpers.isMobile()&&(t.$el.attr("autocomplete",t.opts.spellcheck?"on":"off"),t.$el.attr("autocorrect",t.opts.spellcheck?"on":"off"),t.$el.attr("autocapitalize",t.opts.spellcheck?"on":"off")),t.opts.disableRightClick&&t.events.$on(t.$el,"contextmenu",function(e){if(2==e.button)return!1});try{t.doc.execCommand("styleWithCSS",!1,!1)}catch(e){}}"TEXTAREA"==t.$oel.get(0).tagName&&(t.events.on("contentChanged",function(){t.$oel.val(t.html.get())}),t.events.on("form.submit",function(){t.$oel.val(t.html.get())}),t.events.on("form.reset",function(){t.html.set(t._original_html)}),t.$oel.val(t.html.get())),t.helpers.isIOS()&&t.events.$on(t.$doc,"selectionchange",function(){t.$doc.get(0).hasFocus()||t.$win.get(0).focus()}),t.events.trigger("init"),t.opts.autofocus&&!t.opts.initOnClick&&t.$wp&&t.events.on("initialized",function(){t.events.focus(!0)})},destroy:function(e){"TEXTAREA"==t.$oel.get(0).tagName&&t.$oel.val(e),t.$box&&t.$box.removeAttr("role"),t.$wp&&("TEXTAREA"==t.$oel.get(0).tagName?(t.$el.html(""),t.$wp.html(""),t.$box.replaceWith(t.$oel),t.$oel.show()):(t.$wp.replaceWith(e),t.$el.html(""),t.$box.removeClass("fr-view fr-ltr fr-box "+(t.opts.editorClass||"")),t.opts.theme&&t.$box.addClass(t.opts.theme+"-theme"))),this.$wp=null,this.$el=null,this.el=null,this.$box=null},isEmpty:function(){return t.node.isEmpty(t.el)},getXHR:function(e,n){var r=new XMLHttpRequest;for(var i in r.open(n,e,!0),t.opts.requestWithCredentials&&(r.withCredentials=!0),t.opts.requestHeaders)t.opts.requestHeaders.hasOwnProperty(i)&&r.setRequestHeader(i,t.opts.requestHeaders[i]);return r},injectStyle:function(n){if(t.opts.iframe){t.$head.find("style[data-fr-style], link[data-fr-style]").remove(),t.$head.append('<style data-fr-style="true">'+n+"</style>");for(var r=0;r<t.opts.iframeStyleFiles.length;r++){var i=e('<link data-fr-style="true" rel="stylesheet" href="'+t.opts.iframeStyleFiles[r]+'">');i.get(0).addEventListener("load",t.size.syncIframe),t.$head.append(i)}}},hasFocus:function(){return t.browser.mozilla&&t.helpers.isMobile()?t.selection.inEditor():t.node.hasFocus(t.el)||0<t.$el.find("*:focus").length},sameInstance:function(e){if(!e)return!1;var n=e.data("instance");return!!n&&n.id==t.id}}},e.FE.MODULES.cursorLists=function(t){function n(e){for(var t=e;"LI"!=t.tagName;)t=t.parentNode;return t}function r(e){for(var n=e;!t.node.isList(n);)n=n.parentNode;return n}return{_startEnter:function(i){var a,o=n(i),s=o.nextSibling,l=o.previousSibling,d=t.html.defaultTag();if(t.node.isEmpty(o,!0)&&s){for(var c="",f="",p=i.parentNode;!t.node.isList(p)&&p.parentNode&&("LI"!==p.parentNode.tagName||p.parentNode===o);)c=t.node.openTagString(p)+c,f+=t.node.closeTagString(p),p=p.parentNode;c=t.node.openTagString(p)+c,f+=t.node.closeTagString(p);var u;for(u=p.parentNode&&"LI"==p.parentNode.tagName?f+"<li>"+e.FE.MARKERS+"<br>"+c:d?f+"<"+d+">"+e.FE.MARKERS+"<br></"+d+">"+c:f+e.FE.MARKERS+"<br>"+c;["UL","OL"].indexOf(p.tagName)<0||p.parentNode&&"LI"===p.parentNode.tagName;)p=p.parentNode;e(o).replaceWith('<span id="fr-break"></span>');var h=t.node.openTagString(p)+e(p).html()+t.node.closeTagString(p);h=h.replace(/<span id="fr-break"><\/span>/g,u),e(p).replaceWith(h),t.$el.find("li:empty").remove()}else if(l&&s||!t.node.isEmpty(o,!0)){for(var g="<br>",m=i.parentNode;m&&"LI"!=m.tagName;)g=t.node.openTagString(m)+g+t.node.closeTagString(m),m=m.parentNode;e(o).before("<li>"+g+"</li>"),e(i).remove()}else if(l){a=r(o);for(var v=e.FE.MARKERS+"<br>",E=i.parentNode;E&&"LI"!=E.tagName;)v=t.node.openTagString(E)+v+t.node.closeTagString(E),E=E.parentNode;a.parentNode&&"LI"==a.parentNode.tagName?e(a.parentNode).after("<li>"+v+"</li>"):d?e(a).after("<"+d+">"+v+"</"+d+">"):e(a).after(v),e(o).remove()}else(a=r(o)).parentNode&&"LI"==a.parentNode.tagName?s?e(a.parentNode).before(t.node.openTagString(o)+e.FE.MARKERS+"<br></li>"):e(a.parentNode).after(t.node.openTagString(o)+e.FE.MARKERS+"<br></li>"):d?e(a).before("<"+d+">"+e.FE.MARKERS+"<br></"+d+">"):e(a).before(e.FE.MARKERS+"<br>"),e(o).remove()},_middleEnter:function(r){for(var i=n(r),a="",o=r,s="",l="";o!=i;){var d="A"==(o=o.parentNode).tagName&&t.cursor.isAtEnd(r,o)?"fr-to-remove":"";s=t.node.openTagString(e(o).clone().addClass(d).get(0))+s,l=t.node.closeTagString(o)+l}a=l+a+s+e.FE.MARKERS+(t.opts.keepFormatOnDelete?e.FE.INVISIBLE_SPACE:""),e(r).replaceWith('<span id="fr-break"></span>');var c=t.node.openTagString(i)+e(i).html()+t.node.closeTagString(i);c=c.replace(/<span id="fr-break"><\/span>/g,a),e(i).replaceWith(c)},_endEnter:function(r){for(var i=n(r),a=e.FE.MARKERS,o="",s=r,l=!1;s!=i;){var d="A"==(s=s.parentNode).tagName&&t.cursor.isAtEnd(r,s)?"fr-to-remove":"";l||s==i||t.node.isBlock(s)||(l=!0,o+=e.FE.INVISIBLE_SPACE),o=t.node.openTagString(e(s).clone().addClass(d).get(0))+o,a+=t.node.closeTagString(s)}var c=o+a;e(r).remove(),e(i).after(c)},_backspace:function(i){var a=n(i),o=a.previousSibling;if(o){o=e(o).find(t.html.blockTagsQuery()).get(-1)||o,e(i).replaceWith(e.FE.MARKERS);var s=t.node.contents(o);s.length&&"BR"==s[s.length-1].tagName&&e(s[s.length-1]).remove(),e(a).find(t.html.blockTagsQuery()).not("ol, ul, table").each(function(){this.parentNode==a&&e(this).replaceWith(e(this).html()+(t.node.isEmpty(this)?"":"<br>"))});for(var l,d=t.node.contents(a)[0];d&&!t.node.isList(d);)l=d.nextSibling,e(o).append(d),d=l;for(o=a.previousSibling;d;)l=d.nextSibling,e(o).append(d),d=l;1<(s=t.node.contents(o)).length&&"BR"===s[s.length-1].tagName&&e(s[s.length-1]).remove(),e(a).remove()}else{var c=r(a);if(e(i).replaceWith(e.FE.MARKERS),c.parentNode&&"LI"==c.parentNode.tagName){var f=c.previousSibling;t.node.isBlock(f)?(e(a).find(t.html.blockTagsQuery()).not("ol, ul, table").each(function(){this.parentNode==a&&e(this).replaceWith(e(this).html()+(t.node.isEmpty(this)?"":"<br>"))}),e(f).append(e(a).html())):e(c).before(e(a).html())}else{var p=t.html.defaultTag();p&&0===e(a).find(t.html.blockTagsQuery()).length?e(c).before("<"+p+">"+e(a).html()+"</"+p+">"):e(c).before(e(a).html())}e(a).remove(),t.html.wrap(),0===e(c).find("li").length&&e(c).remove()}},_del:function(r){var i,a=n(r),o=a.nextSibling;if(o){(i=t.node.contents(o)).length&&"BR"==i[0].tagName&&e(i[0]).remove(),e(o).find(t.html.blockTagsQuery()).not("ol, ul, table").each(function(){this.parentNode==o&&e(this).replaceWith(e(this).html()+(t.node.isEmpty(this)?"":"<br>"))});for(var s,l=r,d=t.node.contents(o)[0];d&&!t.node.isList(d);)s=d.nextSibling,e(l).after(d),l=d,d=s;for(;d;)s=d.nextSibling,e(a).append(d),d=s;e(r).replaceWith(e.FE.MARKERS),e(o).remove()}else{for(var c=a;!c.nextSibling&&c!=t.el;)c=c.parentNode;if(c==t.el)return!1;if(c=c.nextSibling,t.node.isBlock(c))e.FE.NO_DELETE_TAGS.indexOf(c.tagName)<0&&(e(r).replaceWith(e.FE.MARKERS),(i=t.node.contents(a)).length&&"BR"==i[i.length-1].tagName&&e(i[i.length-1]).remove(),e(a).append(e(c).html()),e(c).remove());else for((i=t.node.contents(a)).length&&"BR"==i[i.length-1].tagName&&e(i[i.length-1]).remove(),e(r).replaceWith(e.FE.MARKERS);c&&!t.node.isBlock(c)&&"BR"!=c.tagName;)e(a).append(e(c)),c=c.nextSibling}}}},e.FE.NO_DELETE_TAGS=["TH","TD","TR","TABLE","FORM"],e.FE.SIMPLE_ENTER_TAGS=["TH","TD","LI","DL","DT","FORM"],e.FE.MODULES.cursor=function(t){function n(e){return!!e&&(!!t.node.isBlock(e)||(e.nextSibling&&e.nextSibling.nodeType==Node.TEXT_NODE&&0===e.nextSibling.textContent.replace(/\u200b/g,"").length?n(e.nextSibling):!(e.nextSibling&&(!e.previousSibling||"BR"!=e.nextSibling.tagName||e.nextSibling.nextSibling))&&n(e.parentNode)))}function r(e){return!!e&&(!!t.node.isBlock(e)||(e.previousSibling&&e.previousSibling.nodeType==Node.TEXT_NODE&&0===e.previousSibling.textContent.replace(/\u200b/g,"").length?r(e.previousSibling):!e.previousSibling&&(!(e.previousSibling||!t.node.hasClass(e.parentNode,"fr-inner"))||r(e.parentNode))))}function i(e,n){return!!e&&e!=t.$wp.get(0)&&(e.previousSibling&&e.previousSibling.nodeType==Node.TEXT_NODE&&0===e.previousSibling.textContent.replace(/\u200b/g,"").length?i(e.previousSibling,n):!e.previousSibling&&(e.parentNode==n||i(e.parentNode,n)))}function a(e,n){return!!e&&e!=t.$wp.get(0)&&(e.nextSibling&&e.nextSibling.nodeType==Node.TEXT_NODE&&0===e.nextSibling.textContent.replace(/\u200b/g,"").length?a(e.nextSibling,n):!(e.nextSibling&&(!e.previousSibling||"BR"!=e.nextSibling.tagName||e.nextSibling.nextSibling))&&(e.parentNode==n||a(e.parentNode,n)))}function o(n){return 0<e(n).parentsUntil(t.$el,"LI").length&&0===e(n).parentsUntil("LI","TABLE").length}function s(e,t){var n=new RegExp((t?"^":"")+"(([\\uD83C-\\uDBFF\\uDC00-\\uDFFF]+\\u200D)*[\\uD83C-\\uDBFF\\uDC00-\\uDFFF]{2})"+(t?"":"$"),"i"),r=e.match(n);return r?r[0].length:1}function l(n){for(var r,i=n;!i.previousSibling;)if(i=i.parentNode,t.node.isElement(i))return!1;if(i=i.previousSibling,!t.node.isBlock(i)&&t.node.isEditable(i)){for(r=t.node.contents(i);i.nodeType!=Node.TEXT_NODE&&!t.node.isDeletable(i)&&r.length&&t.node.isEditable(i);)i=r[r.length-1],r=t.node.contents(i);if(i.nodeType==Node.TEXT_NODE){var a=i.textContent,o=a.length;if(a.length&&"\n"===a[a.length-1])return i.textContent=a.substring(0,o-2),0===i.textContent.length&&i.parentNode.removeChild(i),l(n);t.opts.tabSpaces&&a.length>=t.opts.tabSpaces&&0===a.substr(a.length-t.opts.tabSpaces,a.length-1).replace(/ /g,"").replace(new RegExp(e.FE.UNICODE_NBSP,"g"),"").length&&(o=a.length-t.opts.tabSpaces+1),i.textContent=a.substring(0,o-s(a));var d=a.length!=i.textContent.length;if(0===i.textContent.length)if(d&&t.opts.keepFormatOnDelete)e(i).after(e.FE.INVISIBLE_SPACE+e.FE.MARKERS);else if((2!=i.parentNode.childNodes.length||i.parentNode!=n.parentNode)&&1!=i.parentNode.childNodes.length||t.node.isBlock(i.parentNode)||t.node.isElement(i.parentNode)||!t.node.isDeletable(i.parentNode)){for(;!t.node.isElement(i.parentNode)&&t.node.isEmpty(i.parentNode)&&t.node.isDeletable(i.parentNode);){var c=i;i=i.parentNode,c.parentNode.removeChild(c)}e(i).after(e.FE.MARKERS),t.node.isElement(i.parentNode)&&!n.nextSibling&&i.previousSibling&&"BR"==i.previousSibling.tagName&&e(n).after("<br>"),i.parentNode.removeChild(i)}else e(i.parentNode).after(e.FE.MARKERS),e(i.parentNode).remove();else e(i).after(e.FE.MARKERS)}else t.node.isDeletable(i)?(e(i).after(e.FE.MARKERS),e(i).remove()):n.nextSibling&&"BR"==n.nextSibling.tagName&&t.node.isVoid(i)&&"BR"!=i.tagName?(e(n.nextSibling).remove(),e(n).replaceWith(e.FE.MARKERS)):!1!==t.events.trigger("node.remove",[e(i)])&&(e(i).after(e.FE.MARKERS),e(i).remove())}else if(e.FE.NO_DELETE_TAGS.indexOf(i.tagName)<0&&(t.node.isEditable(i)||t.node.isDeletable(i)))if(t.node.isDeletable(i))e(n).replaceWith(e.FE.MARKERS),e(i).remove();else if(t.node.isEmpty(i)&&!t.node.isList(i))e(i).remove(),e(n).replaceWith(e.FE.MARKERS);else{for(t.node.isList(i)&&(i=e(i).find("li:last").get(0)),(r=t.node.contents(i))&&"BR"==r[r.length-1].tagName&&e(r[r.length-1]).remove(),r=t.node.contents(i);r&&t.node.isBlock(r[r.length-1]);)i=r[r.length-1],r=t.node.contents(i);e(i).append(e.FE.MARKERS);for(var f=n;!f.previousSibling;)f=f.parentNode;for(;f&&"BR"!==f.tagName&&!t.node.isBlock(f);){var p=f;f=f.nextSibling,e(i).append(p)}f&&"BR"==f.tagName&&e(f).remove(),e(n).remove()}else n.nextSibling&&"BR"==n.nextSibling.tagName&&e(n.nextSibling).remove()}function d(n){var r=0<e(n).parentsUntil(t.$el,"BLOCKQUOTE").length,i=t.node.deepestParent(n,[],!r);if(i&&"BLOCKQUOTE"==i.tagName){var a=t.node.deepestParent(n,[e(n).parentsUntil(t.$el,"BLOCKQUOTE").get(0)]);a&&a.nextSibling&&(i=a)}if(null!==i){var o,s=i.nextSibling;if(t.node.isBlock(i)&&(t.node.isEditable(i)||t.node.isDeletable(i))&&s&&e.FE.NO_DELETE_TAGS.indexOf(s.tagName)<0)if(t.node.isDeletable(s))e(s).remove(),e(n).replaceWith(e.FE.MARKERS);else if(t.node.isBlock(s)&&t.node.isEditable(s))if(t.node.isList(s))if(t.node.isEmpty(i,!0))e(i).remove(),e(s).find("li:first").prepend(e.FE.MARKERS);else{var l=e(s).find("li:first");"BLOCKQUOTE"==i.tagName&&(o=t.node.contents(i)).length&&t.node.isBlock(o[o.length-1])&&(i=o[o.length-1]),0===l.find("ul, ol").length&&(e(n).replaceWith(e.FE.MARKERS),l.find(t.html.blockTagsQuery()).not("ol, ul, table").each(function(){this.parentNode==l.get(0)&&e(this).replaceWith(e(this).html()+(t.node.isEmpty(this)?"":"<br>"))}),e(i).append(t.node.contents(l.get(0))),l.remove(),0===e(s).find("li").length&&e(s).remove())}else{if((o=t.node.contents(s)).length&&"BR"==o[0].tagName&&e(o[0]).remove(),"BLOCKQUOTE"!=s.tagName&&"BLOCKQUOTE"==i.tagName)for(o=t.node.contents(i);o.length&&t.node.isBlock(o[o.length-1]);)i=o[o.length-1],o=t.node.contents(i);else if("BLOCKQUOTE"==s.tagName&&"BLOCKQUOTE"!=i.tagName)for(o=t.node.contents(s);o.length&&t.node.isBlock(o[0]);)s=o[0],o=t.node.contents(s);e(n).replaceWith(e.FE.MARKERS),e(i).append(s.innerHTML),e(s).remove()}else{for(e(n).replaceWith(e.FE.MARKERS);s&&"BR"!==s.tagName&&!t.node.isBlock(s)&&t.node.isEditable(s);){var d=s;s=s.nextSibling,e(i).append(d)}s&&"BR"==s.tagName&&t.node.isEditable(s)&&e(s).remove()}}}function c(){for(var e=t.el.querySelectorAll("blockquote:empty"),n=0;n<e.length;n++)e[n].parentNode.removeChild(e[n])}function f(n,r,i){var o,s=t.node.deepestParent(n,[],!i);if(s&&"BLOCKQUOTE"==s.tagName)return a(n,s)?(o=t.html.defaultTag(),r?e(n).replaceWith("<br>"+e.FE.MARKERS):o?e(s).after("<"+o+">"+e.FE.MARKERS+"<br></"+o+">"):e(s).after(e.FE.MARKERS+"<br>"),e(n).remove()):p(n,r,i),!1;if(null==s)(o=t.html.defaultTag())&&t.node.isElement(n.parentNode)?e(n).replaceWith("<"+o+">"+e.FE.MARKERS+"<br></"+o+">"):!n.previousSibling||e(n.previousSibling).is("br")||n.nextSibling?e(n).replaceWith("<br>"+e.FE.MARKERS):e(n).replaceWith("<br>"+e.FE.MARKERS+"<br>");else{var l=n,d="";"PRE"!=s.tagName||n.nextSibling||(r=!0),t.node.isBlock(s)&&!r||(d="<br/>");var c,f="",u="",h="",g="";(o=t.html.defaultTag())&&t.node.isBlock(s)&&(h="<"+o+">",g="</"+o+">",s.tagName==o.toUpperCase()&&(h=t.node.openTagString(e(s).clone().removeAttr("id").get(0))));do{if(l=l.parentNode,!r||l!=s||r&&!t.node.isBlock(s))if(f+=t.node.closeTagString(l),l==s&&t.node.isBlock(s))u=h+u;else{var m="A"==l.tagName&&a(n,l)?"fr-to-remove":"";u=t.node.openTagString(e(l).clone().addClass(m).get(0))+u}}while(l!=s);d=f+d+u+(n.parentNode==s&&t.node.isBlock(s)?"":e.FE.INVISIBLE_SPACE)+e.FE.MARKERS,t.node.isBlock(s)&&!e(s).find("*:last").is("br")&&e(s).append("<br/>"),e(n).after('<span id="fr-break"></span>'),e(n).remove(),s.nextSibling&&!t.node.isBlock(s.nextSibling)||t.node.isBlock(s)||e(s).after("<br>"),c=(c=!r&&t.node.isBlock(s)?t.node.openTagString(s)+e(s).html()+g:t.node.openTagString(s)+e(s).html()+t.node.closeTagString(s)).replace(/<span id="fr-break"><\/span>/g,d),e(s).replaceWith(c)}}function p(n,r,o){var s=t.node.deepestParent(n,[],!o);if(null==s)t.html.defaultTag()&&n.parentNode===t.el?e(n).replaceWith("<"+t.html.defaultTag()+">"+e.FE.MARKERS+"<br></"+t.html.defaultTag()+">"):(n.nextSibling&&!t.node.isBlock(n.nextSibling)||e(n).after("<br>"),e(n).replaceWith("<br>"+e.FE.MARKERS));else{var l=n,d="";"PRE"==s.tagName&&(r=!0),t.node.isBlock(s)&&!r||(d="<br>");var c="",f="";do{var p=l;if(l=l.parentNode,"BLOCKQUOTE"==s.tagName&&t.node.isEmpty(p)&&!t.node.hasClass(p,"fr-marker")&&0<e(p).find(n).length&&e(p).after(n),"BLOCKQUOTE"!=s.tagName||!a(n,l)&&!i(n,l))if(!r||l!=s||r&&!t.node.isBlock(s)){c+=t.node.closeTagString(l);var u="A"==l.tagName&&a(n,l)?"fr-to-remove":"";f=t.node.openTagString(e(l).clone().addClass(u).removeAttr("id").get(0))+f}else"BLOCKQUOTE"==s.tagName&&r&&(f=c="")}while(l!=s);var h=s==n.parentNode&&t.node.isBlock(s)||n.nextSibling;if("BLOCKQUOTE"==s.tagName)if(n.previousSibling&&t.node.isBlock(n.previousSibling)&&n.nextSibling&&"BR"==n.nextSibling.tagName&&(e(n.nextSibling).after(n),n.nextSibling&&"BR"==n.nextSibling.tagName&&e(n.nextSibling).remove()),r)d=c+d+e.FE.MARKERS+f;else{var g=t.html.defaultTag();d=c+d+(g?"<"+g+">":"")+e.FE.MARKERS+"<br>"+(g?"</"+g+">":"")+f}else d=c+d+f+(h?"":e.FE.INVISIBLE_SPACE)+e.FE.MARKERS;e(n).replaceWith('<span id="fr-break"></span>');var m=t.node.openTagString(s)+e(s).html()+t.node.closeTagString(s);m=m.replace(/<span id="fr-break"><\/span>/g,d),e(s).replaceWith(m)}}return{enter:function(s){var l=t.markers.insert();if(!l)return!0;t.el.normalize();var d=!1;0<e(l).parentsUntil(t.$el,"BLOCKQUOTE").length&&(d=!0),e(l).parentsUntil(t.$el,"TD, TH").length&&(d=!1),n(l)?!o(l)||s||d?f(l,s,d):t.cursorLists._endEnter(l):r(l)?!o(l)||s||d?function n(r,o,s){var l,d=t.node.deepestParent(r,[],!s);if(d&&"TABLE"==d.tagName)return e(d).find("td:first, th:first").prepend(r),n(r,o,s);if(d&&"BLOCKQUOTE"==d.tagName)if(i(r,d)){if(!o)return(l=t.html.defaultTag())?e(d).before("<"+l+">"+e.FE.MARKERS+"<br></"+l+">"):e(d).before(e.FE.MARKERS+"<br>"),e(r).remove(),!1}else a(r,d)?f(r,o,!0):p(r,o,!0);if(null==d)(l=t.html.defaultTag())&&t.node.isElement(r.parentNode)?e(r).replaceWith("<"+l+">"+e.FE.MARKERS+"<br></"+l+">"):e(r).replaceWith("<br>"+e.FE.MARKERS);else{if(t.node.isBlock(d))if("PRE"==d.tagName&&(o=!0),o)e(r).remove(),e(d).prepend("<br>"+e.FE.MARKERS);else{if(t.node.isEmpty(d,!0))return f(r,o,s);if(t.opts.keepFormatOnDelete){for(var c=r,u=e.FE.INVISIBLE_SPACE;c!=d&&!t.node.isElement(c);)c=c.parentNode,u=t.node.openTagString(c)+u+t.node.closeTagString(c);e(d).before(u)}else e(d).before(t.node.openTagString(e(d).clone().removeAttr("id").get(0))+"<br>"+t.node.closeTagString(d))}else e(d).before("<br>");e(r).remove()}}(l,s,d):t.cursorLists._startEnter(l):!o(l)||s||d?p(l,s,d):t.cursorLists._middleEnter(l),t.$el.find(".fr-to-remove").each(function(){for(var n=t.node.contents(this),r=0;r<n.length;r++)n[r].nodeType==Node.TEXT_NODE&&(n[r].textContent=n[r].textContent.replace(/\u200B/g,""));e(this).replaceWith(this.innerHTML)}),t.html.fillEmptyBlocks(!0),t.opts.htmlUntouched||(t.html.cleanEmptyTags(),t.clean.lists(),t.spaces.normalizeAroundCursor()),t.selection.restore()},backspace:function(){var a=!1,d=t.markers.insert();if(!d)return!0;for(var f=d.parentNode;f&&!t.node.isElement(f);){if("false"===f.getAttribute("contenteditable"))return e(d).replaceWith(e.FE.MARKERS),t.selection.restore(),!1;if("true"===f.getAttribute("contenteditable"))break;f=f.parentNode}t.el.normalize();var p=d.previousSibling;if(p){var u=p.textContent;u&&u.length&&8203==u.charCodeAt(u.length-1)&&(1==u.length?e(p).remove():p.textContent=p.textContent.substr(0,u.length-s(u)))}return n(d)?a=l(d):r(d)?o(d)&&i(d,e(d).parents("li:first").get(0))?t.cursorLists._backspace(d):function(n){for(var r=0<e(n).parentsUntil(t.$el,"BLOCKQUOTE").length,i=t.node.deepestParent(n,[],!r),a=i;i&&!i.previousSibling&&"BLOCKQUOTE"!=i.tagName&&i.parentElement!=t.el&&!t.node.hasClass(i.parentElement,"fr-inner")&&e.FE.SIMPLE_ENTER_TAGS.indexOf(i.parentElement.tagName)<0;)i=i.parentElement;if(i&&"BLOCKQUOTE"==i.tagName){var o=t.node.deepestParent(n,[e(n).parentsUntil(t.$el,"BLOCKQUOTE").get(0)]);o&&o.previousSibling&&(a=i=o)}if(null!==i){var s,l=i.previousSibling;if(t.node.isBlock(i)&&t.node.isEditable(i)&&l&&e.FE.NO_DELETE_TAGS.indexOf(l.tagName)<0)if(t.node.isDeletable(l))e(l).remove(),e(n).replaceWith(e.FE.MARKERS);else if(t.node.isEditable(l))if(t.node.isBlock(l))if(t.node.isEmpty(l)&&!t.node.isList(l))e(l).remove(),e(n).after(t.opts.keepFormatOnDelete?e.FE.INVISIBLE_SPACE:"");else{if(t.node.isList(l)&&(l=e(l).find("li:last").get(0)),(s=t.node.contents(l)).length&&"BR"==s[s.length-1].tagName&&e(s[s.length-1]).remove(),"BLOCKQUOTE"==l.tagName&&"BLOCKQUOTE"!=i.tagName)for(s=t.node.contents(l);s.length&&t.node.isBlock(s[s.length-1]);)l=s[s.length-1],s=t.node.contents(l);else if("BLOCKQUOTE"!=l.tagName&&"BLOCKQUOTE"==a.tagName)for(s=t.node.contents(a);s.length&&t.node.isBlock(s[0]);)a=s[0],s=t.node.contents(a);if(t.node.isEmpty(i))e(n).remove(),t.selection.setAtEnd(l,!0);else{e(n).replaceWith(e.FE.MARKERS);var d=l.childNodes;t.node.isBlock(d[d.length-1])?e(d[d.length-1]).append(a.innerHTML):e(l).append(a.innerHTML)}e(a).remove(),t.node.isEmpty(i)&&e(i).remove()}else e(n).replaceWith(e.FE.MARKERS),"BLOCKQUOTE"==i.tagName&&l.nodeType==Node.ELEMENT_NODE?e(l).remove():(e(l).after(t.node.isEmpty(i)?"":e(i).html()),e(i).remove(),"BR"==l.tagName&&e(l).remove())}}(d):a=l(d),e(d).remove(),c(),t.html.fillEmptyBlocks(!0),t.opts.htmlUntouched||(t.html.cleanEmptyTags(),t.clean.lists(),t.spaces.normalizeAroundCursor()),t.selection.restore(),a},del:function(){var i=t.markers.insert();if(!i)return!1;if(t.el.normalize(),n(i))if(o(i))if(0===e(i).parents("li:first").find("ul, ol").length)t.cursorLists._del(i);else{var a=e(i).parents("li:first").find("ul:first, ol:first").find("li:first");(a=a.find(t.html.blockTagsQuery()).get(-1)||a).prepend(i),t.cursorLists._backspace(i)}else d(i);else r(i),function(r){for(var i,a=r;!a.nextSibling;)if(a=a.parentNode,t.node.isElement(a))return!1;if("BR"==(a=a.nextSibling).tagName&&t.node.isEditable(a))if(a.nextSibling){if(t.node.isBlock(a.nextSibling)&&t.node.isEditable(a.nextSibling)){if(!(e.FE.NO_DELETE_TAGS.indexOf(a.nextSibling.tagName)<0))return void e(a).remove();a=a.nextSibling,e(a.previousSibling).remove()}}else if(n(a))return void(o(r)?t.cursorLists._del(r):t.node.deepestParent(a)&&((!t.node.isEmpty(t.node.blockParent(a))||(t.node.blockParent(a).nextSibling&&e.FE.NO_DELETE_TAGS.indexOf(t.node.blockParent(a).nextSibling.tagName))<0)&&e(a).remove(),d(r)));if(!t.node.isBlock(a)&&t.node.isEditable(a)){for(i=t.node.contents(a);a.nodeType!=Node.TEXT_NODE&&i.length&&!t.node.isDeletable(a)&&t.node.isEditable(a);)a=i[0],i=t.node.contents(a);a.nodeType==Node.TEXT_NODE?(e(a).before(e.FE.MARKERS),a.textContent.length&&(a.textContent=a.textContent.substring(s(a.textContent,!0),a.textContent.length))):t.node.isDeletable(a)?(e(a).before(e.FE.MARKERS),e(a).remove()):!1!==t.events.trigger("node.remove",[e(a)])&&(e(a).before(e.FE.MARKERS),e(a).remove()),e(r).remove()}else if(e.FE.NO_DELETE_TAGS.indexOf(a.tagName)<0&&(t.node.isEditable(a)||t.node.isDeletable(a)))if(t.node.isDeletable(a))e(r).replaceWith(e.FE.MARKERS),e(a).remove();else if(t.node.isList(a))r.previousSibling?(e(a).find("li:first").prepend(r),t.cursorLists._backspace(r)):(e(a).find("li:first").prepend(e.FE.MARKERS),e(r).remove());else if((i=t.node.contents(a))&&"BR"==i[0].tagName&&e(i[0]).remove(),i&&"BLOCKQUOTE"==a.tagName){var l=i[0];for(e(r).before(e.FE.MARKERS);l&&"BR"!=l.tagName;){var c=l;l=l.nextSibling,e(r).before(c)}l&&"BR"==l.tagName&&e(l).remove()}else e(r).after(e(a).html()).after(e.FE.MARKERS),e(a).remove()}(i);e(i).remove(),c(),t.html.fillEmptyBlocks(!0),t.opts.htmlUntouched||(t.html.cleanEmptyTags(),t.clean.lists()),t.spaces.normalizeAroundCursor(),t.selection.restore()},isAtEnd:a,isAtStart:i}},e.FE.ENTER_P=0,e.FE.ENTER_DIV=1,e.FE.ENTER_BR=2,e.FE.KEYCODE={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,ARROW_LEFT:37,ARROW_UP:38,ARROW_RIGHT:39,ARROW_DOWN:40,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,FF_SEMICOLON:59,FF_EQUALS:61,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,FF_HYPHEN:173,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,HYPHEN:189,PERIOD:190,SLASH:191,APOSTROPHE:192,TILDE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,IME:229},e.extend(e.FE.DEFAULTS,{enter:e.FE.ENTER_P,multiLine:!0,tabSpaces:0}),e.FE.MODULES.keys=function(t){var n,r,i,a=!1;function o(){if(t.browser.mozilla&&t.selection.isCollapsed()&&!a){var e=t.selection.ranges(0),n=e.startContainer,r=e.startOffset;n&&n.nodeType==Node.TEXT_NODE&&r<=n.textContent.length&&0<r&&32==n.textContent.charCodeAt(r-1)&&(t.selection.save(),t.spaces.normalize(),t.selection.restore())}}function s(){t.selection.isFull()&&setTimeout(function(){var n=t.html.defaultTag();n?t.$el.html("<"+n+">"+e.FE.MARKERS+"<br/></"+n+">"):t.$el.html(e.FE.MARKERS+"<br/>"),t.selection.restore(),t.placeholder.refresh(),t.button.bulkRefresh(),t.undo.saveStep()},0)}function l(){a=!1}function d(){a=!1}function c(){var n=t.html.defaultTag();n?t.$el.html("<"+n+">"+e.FE.MARKERS+"<br/></"+n+">"):t.$el.html(e.FE.MARKERS+"<br/>"),t.selection.restore()}function f(r){var i=t.selection.element();if(i&&0<=["INPUT","TEXTAREA"].indexOf(i.tagName))return!0;if(r&&m(r.which))return u(),!0;t.events.disableBlur();var o=r.which;if(16===o)return!0;if((n=o)===e.FE.KEYCODE.IME)return a=!0;a=!1;var s,l,d,f=v(o)&&!g(r)&&!r.altKey,p=o==e.FE.KEYCODE.BACKSPACE||o==e.FE.KEYCODE.DELETE;if(((!r.shiftKey||33!==o&&34!==o&&35!==o&&36!==o)&&t.selection.isFull()&&!t.opts.keepFormatOnDelete&&!t.placeholder.isVisible()||p&&t.placeholder.isVisible()&&t.opts.keepFormatOnDelete)&&(f||p)&&(c(),!v(o)))return r.preventDefault(),!0;o==e.FE.KEYCODE.ENTER?r.shiftKey?((d=r).preventDefault(),d.stopPropagation(),t.opts.multiLine&&(t.selection.isCollapsed()||t.selection.remove(),t.cursor.enter(!0))):(l=r,t.opts.multiLine?(t.helpers.isIOS()||(l.preventDefault(),l.stopPropagation()),t.selection.isCollapsed()||t.selection.remove(),t.cursor.enter()):(l.preventDefault(),l.stopPropagation())):o===e.FE.KEYCODE.BACKSPACE&&(r.metaKey||r.ctrlKey)?setTimeout(function(){t.events.disableBlur(),t.events.focus()},0):o!=e.FE.KEYCODE.BACKSPACE||g(r)||r.altKey?o!=e.FE.KEYCODE.DELETE||g(r)||r.altKey||r.shiftKey?o==e.FE.KEYCODE.SPACE?function(n){var r=t.selection.element();if(!t.helpers.isMobile()&&r&&"A"==r.tagName){n.preventDefault(),n.stopPropagation(),t.selection.isCollapsed()||t.selection.remove();var i=t.markers.insert();if(i){var a=i.previousSibling;!i.nextSibling&&i.parentNode&&"A"==i.parentNode.tagName?(i.parentNode.insertAdjacentHTML("afterend","&nbsp;"+e.FE.MARKERS),i.parentNode.removeChild(i)):(a&&a.nodeType==Node.TEXT_NODE&&1==a.textContent.length&&160==a.textContent.charCodeAt(0)?a.textContent=a.textContent+" ":i.insertAdjacentHTML("beforebegin","&nbsp;"),i.outerHTML=e.FE.MARKERS),t.selection.restore()}}}(r):o==e.FE.KEYCODE.TAB?function(e){if(0<t.opts.tabSpaces)if(t.selection.isCollapsed()){t.undo.saveStep(),e.preventDefault(),e.stopPropagation();for(var n="",r=0;r<t.opts.tabSpaces;r++)n+="&nbsp;";t.html.insert(n),t.placeholder.refresh(),t.undo.saveStep()}else e.preventDefault(),e.stopPropagation(),e.shiftKey?t.commands.outdent():t.commands.indent()}(r):g(r)||!v(r.which)||t.selection.isCollapsed()||r.ctrlKey||r.altKey||t.selection.remove():t.placeholder.isVisible()?(t.opts.keepFormatOnDelete||c(),r.preventDefault(),r.stopPropagation()):((s=r).preventDefault(),s.stopPropagation(),""===t.selection.text()?t.cursor.del():t.selection.remove(),t.placeholder.refresh()):t.placeholder.isVisible()?(t.opts.keepFormatOnDelete||c(),r.preventDefault(),r.stopPropagation()):function(e){if(t.selection.isCollapsed())if(t.cursor.backspace(),t.helpers.isIOS()){var n=t.selection.ranges(0);n.deleteContents(),n.insertNode(document.createTextNode("​")),t.selection.get().modify("move","forward","character")}else e.preventDefault(),e.stopPropagation();else e.preventDefault(),e.stopPropagation(),t.selection.remove();t.placeholder.refresh()}(r),t.events.enableBlur()}function p(){if(!t.$wp)return!0;var n;t.opts.height||t.opts.heightMax?(n=t.position.getBoundingRect().top,t.opts.iframe&&(n+=t.$iframe.offset().top),n>t.$wp.offset().top-t.helpers.scrollTop()+t.$wp.height()-20&&t.$wp.scrollTop(n+t.$wp.scrollTop()-(t.$wp.height()+t.$wp.offset().top)+t.helpers.scrollTop()+20)):(n=t.position.getBoundingRect().top,t.opts.toolbarBottom&&(n+=t.opts.toolbarStickyOffset),t.opts.iframe&&(n+=t.$iframe.offset().top,n-=t.helpers.scrollTop()),(n+=t.opts.toolbarStickyOffset)>t.o_win.innerHeight-20&&e(t.o_win).scrollTop(n+t.helpers.scrollTop()-t.o_win.innerHeight+20),n=t.position.getBoundingRect().top,t.opts.toolbarBottom||(n-=t.opts.toolbarStickyOffset),t.opts.iframe&&(n+=t.$iframe.offset().top,n-=t.helpers.scrollTop()),n<t.$tb.height()+20&&e(t.o_win).scrollTop(n+t.helpers.scrollTop()-t.$tb.height()-20))}function u(){var e,n=t.selection.element();!function(e){if(!e)return!1;var t=e.innerHTML;return!!((t=t.replace(/<span[^>]*? class\s*=\s*["']?fr-marker["']?[^>]+>\u200b<\/span>/gi,""))&&/\u200B/.test(t)&&0<t.replace(/\u200B/gi,"").length)}(n)||t.node.hasClass(n,"fr-marker")||"IFRAME"==n.tagName||(e=n,t.helpers.isIOS()&&0!==((e.textContent||"").match(/[\u3041-\u3096\u30A0-\u30FF\u4E00-\u9FFF\u3130-\u318F\uAC00-\uD7AF]/gi)||[]).length)||(t.selection.save(),function(e){for(var n=t.doc.createTreeWalker(e,NodeFilter.SHOW_TEXT,t.node.filter(function(e){return/\u200B/gi.test(e.textContent)}),!1);n.nextNode();){var r=n.currentNode;r.textContent=r.textContent.replace(/\u200B/gi,"")}}(n),t.selection.restore())}function h(r){var i=t.selection.element();if(i&&0<=["INPUT","TEXTAREA"].indexOf(i.tagName))return!0;if(r&&0===r.which&&n&&(r.which=n),t.helpers.isAndroid()&&t.browser.mozilla)return!0;if(a)return!1;if(r&&t.helpers.isIOS()&&r.which==e.FE.KEYCODE.ENTER&&t.doc.execCommand("undo"),!t.selection.isCollapsed())return!0;if(r&&(r.which===e.FE.KEYCODE.META||r.which==e.FE.KEYCODE.CTRL))return!0;if(r&&m(r.which))return!0;if(r&&!t.helpers.isIOS()&&(r.which==e.FE.KEYCODE.ENTER||r.which==e.FE.KEYCODE.BACKSPACE||37<=r.which&&r.which<=40&&!t.browser.msie))try{p()}catch(e){}u()}function g(e){if(-1!=navigator.userAgent.indexOf("Mac OS X")){if(e.metaKey&&!e.altKey)return!0}else if(e.ctrlKey&&!e.altKey)return!0;return!1}function m(t){if(t>=e.FE.KEYCODE.ARROW_LEFT&&t<=e.FE.KEYCODE.ARROW_DOWN)return!0}function v(n){if(n>=e.FE.KEYCODE.ZERO&&n<=e.FE.KEYCODE.NINE)return!0;if(n>=e.FE.KEYCODE.NUM_ZERO&&n<=e.FE.KEYCODE.NUM_MULTIPLY)return!0;if(n>=e.FE.KEYCODE.A&&n<=e.FE.KEYCODE.Z)return!0;if(t.browser.webkit&&0===n)return!0;switch(n){case e.FE.KEYCODE.SPACE:case e.FE.KEYCODE.QUESTION_MARK:case e.FE.KEYCODE.NUM_PLUS:case e.FE.KEYCODE.NUM_MINUS:case e.FE.KEYCODE.NUM_PERIOD:case e.FE.KEYCODE.NUM_DIVISION:case e.FE.KEYCODE.SEMICOLON:case e.FE.KEYCODE.FF_SEMICOLON:case e.FE.KEYCODE.DASH:case e.FE.KEYCODE.EQUALS:case e.FE.KEYCODE.FF_EQUALS:case e.FE.KEYCODE.COMMA:case e.FE.KEYCODE.PERIOD:case e.FE.KEYCODE.SLASH:case e.FE.KEYCODE.APOSTROPHE:case e.FE.KEYCODE.SINGLE_QUOTE:case e.FE.KEYCODE.OPEN_SQUARE_BRACKET:case e.FE.KEYCODE.BACKSLASH:case e.FE.KEYCODE.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}function E(n){var a=n.which;if(g(n)||37<=a&&a<=40||!v(a)&&a!=e.FE.KEYCODE.DELETE&&a!=e.FE.KEYCODE.BACKSPACE&&a!=e.FE.KEYCODE.ENTER&&a!=e.FE.KEYCODE.IME)return!0;r||(i=t.snapshot.get(),t.undo.canDo()||t.undo.saveStep()),clearTimeout(r),r=setTimeout(function(){r=null,t.undo.saveStep()},Math.max(250,t.opts.typingTimer))}function b(e){var n=e.which;if(g(e)||37<=n&&n<=40)return!0;i&&r?(t.undo.saveStep(i),i=null):void 0!==n&&0!==n||i||r||t.undo.saveStep()}function T(e){if(e&&"BR"==e.tagName)return!1;try{return 0===(e.textContent||"").length&&e.querySelector&&!e.querySelector(":scope > br")||e.childNodes&&1==e.childNodes.length&&e.childNodes[0].getAttribute&&("false"==e.childNodes[0].getAttribute("contenteditable")||t.node.hasClass(e.childNodes[0],"fr-img-caption"))}catch(e){return!1}}function A(n){var r=t.el.childNodes,i=t.html.defaultTag();return!(!n.target||n.target===t.el)||0===r.length||void(t.$el.outerHeight()-n.offsetY<=10?T(r[r.length-1])&&(i?t.$el.append("<"+i+">"+e.FE.MARKERS+"<br></"+i+">"):t.$el.append(e.FE.MARKERS+"<br>"),t.selection.restore(),p()):n.offsetY<=10&&T(r[0])&&(i?t.$el.prepend("<"+i+">"+e.FE.MARKERS+"<br></"+i+">"):t.$el.prepend(e.FE.MARKERS+"<br>"),t.selection.restore(),p()))}function C(){r&&clearTimeout(r)}return{_init:function(){t.events.on("keydown",E),t.events.on("input",o),t.events.on("mousedown",d),t.events.on("keyup input",b),t.events.on("keypress",l),t.events.on("keydown",f),t.events.on("keyup",h),t.events.on("destroy",C),t.events.on("html.inserted",h),t.events.on("cut",s),t.events.on("click",A)},ctrlKey:g,isCharacter:v,isArrow:m,forceUndo:function(){r&&(clearTimeout(r),t.undo.saveStep(),i=null)},isIME:function(){return a},isBrowserAction:function(t){var n=t.which;return g(t)||n==e.FE.KEYCODE.F5},positionCaret:p}},e.FE.MODULES.accessibility=function(t){var n=!0;function r(e){e&&e.length&&!t.$el.find('[contenteditable="true"]').is(":focus")&&(e.data("blur-event-set")||e.parents(".fr-popup").length||(t.events.$on(e,"blur",function(){var n=e.parents(".fr-toolbar, .fr-popup").data("instance")||t;n.events.blurActive()&&n.events.trigger("blur"),setTimeout(function(){n.events.enableBlur()},100)},!0),e.data("blur-event-set",!0)),(e.parents(".fr-toolbar, .fr-popup").data("instance")||t).events.disableBlur(),e.focus(),t.shared.$f_el=e)}function i(e,t){var n=t?"last":"first",i=e.find("button:visible:not(.fr-disabled), .fr-group span.fr-command:visible")[n]();if(i.length)return r(i),!0}function a(e){return e.is("input, textarea, select")&&s(),t.events.disableBlur(),e.focus(),!0}function o(e,n){var r=e.find("input, textarea, button, select").filter(":visible").not(":disabled").filter(n?":last":":first");if(r.length)return a(r);if(t.shared.with_kb){var i=e.find(".fr-active-item:visible:first");if(i.length)return a(i);var o=e.find("[tabIndex]:visible:first");if(o.length)return a(o)}}function s(){0===t.$el.find(".fr-marker").length&&t.core.hasFocus()&&t.selection.save()}function l(){var e=t.popups.areVisible();if(e){var n=e.find(".fr-buttons");return n.find("button:focus, .fr-group span:focus").length?!i(e.data("instance").$tb):!i(n)}return!i(t.$tb)}function d(){var e=null;return t.shared.$f_el.is(".fr-dropdown.fr-active")?e=t.shared.$f_el:t.shared.$f_el.closest(".fr-dropdown-menu").prev().is(".fr-dropdown.fr-active")&&(e=t.shared.$f_el.closest(".fr-dropdown-menu").prev()),e}function c(n,a,s){if(t.shared.$f_el){var l=d();l&&(t.button.click(l),t.shared.$f_el=l);var c,f=n.find("button:visible:not(.fr-disabled), .fr-group span.fr-command:visible"),p=f.index(t.shared.$f_el);if(0===p&&!s||p==f.length-1&&s)a&&(n.parent().is(".fr-popup")&&(c=!o(n.parent().children().not(".fr-buttons"),!s)),!1===c&&(t.shared.$f_el=null)),a&&!1===c||i(n,!s);else r(e(f.get(p+(s?1:-1))));return!1}}function f(e,t){return c(e,t,!0)}function p(e,t){return c(e,t)}function u(e){if(t.shared.$f_el){var n;if(t.shared.$f_el.is(".fr-dropdown.fr-active"))return r(n=e?t.shared.$f_el.next().find(".fr-command:not(.fr-disabled)").first():t.shared.$f_el.next().find(".fr-command:not(.fr-disabled)").last()),!1;if(t.shared.$f_el.is("a.fr-command"))return(n=e?t.shared.$f_el.closest("li").nextAll(":visible:first").find(".fr-command:not(.fr-disabled)").first():t.shared.$f_el.closest("li").prevAll(":visible:first").find(".fr-command:not(.fr-disabled)").first()).length||(n=e?t.shared.$f_el.closest(".fr-dropdown-menu").find(".fr-command:not(.fr-disabled)").first():t.shared.$f_el.closest(".fr-dropdown-menu").find(".fr-command:not(.fr-disabled)").last()),r(n),!1}}function h(){if(t.shared.$f_el){if(t.shared.$f_el.hasClass("fr-dropdown"))t.button.click(t.shared.$f_el);else if(t.shared.$f_el.is("button.fr-back")){t.opts.toolbarInline&&(t.events.disableBlur(),t.events.focus());var e=t.popups.areVisible(t);e&&(t.shared.with_kb=!1),t.button.click(t.shared.$f_el),v(e)}else{if(t.events.disableBlur(),t.button.click(t.shared.$f_el),t.shared.$f_el.attr("data-popup")){var n=t.popups.areVisible(t);n&&n.data("popup-button",t.shared.$f_el)}else if(t.shared.$f_el.attr("data-modal")){var r=t.modals.areVisible(t);r&&r.data("modal-button",t.shared.$f_el)}t.shared.$f_el=null}return!1}}function g(){t.shared.$f_el&&(t.events.disableBlur(),t.shared.$f_el.blur(),t.shared.$f_el=null),!1!==t.events.trigger("toolbar.focusEditor")&&(t.events.disableBlur(),t.browser.msie||t.$el.focus(),t.events.focus())}function m(r){r&&r.length&&(t.events.$on(r,"keydown",function(n){if(!e(n.target).is("a.fr-command, button.fr-command, .fr-group span.fr-command"))return!0;var i=r.parents(".fr-popup").data("instance")||r.data("instance")||t;t.shared.with_kb=!0;var a=i.accessibility.exec(n,r);return t.shared.with_kb=!1,a},!0),t.browser.msie||t.events.$on(r,"mouseenter","[tabIndex]",function(i){var a=r.parents(".fr-popup").data("instance")||r.data("instance")||t;if(!n)return i.stopPropagation(),void i.preventDefault();var o=e(i.currentTarget);a.shared.$f_el&&a.shared.$f_el.not(o)&&a.accessibility.focusEditor()},!0))}function v(e){var t=e.data("popup-button");t&&setTimeout(function(){r(t),e.data("popup-button",null)},0)}function E(e){var n=t.popups.areVisible(e);n&&n.data("popup-button",null)}function b(n){var r=-1!=navigator.userAgent.indexOf("Mac OS X")?n.metaKey:n.ctrlKey;if(n.which==e.FE.KEYCODE.F10&&!r&&!n.shiftKey&&n.altKey){t.shared.with_kb=!0;var i=t.popups.areVisible(t),a=!1;return i&&(a=o(i.children().not(".fr-buttons"))),a||l(),t.shared.with_kb=!1,n.preventDefault(),n.stopPropagation(),!1}return!0}return{_init:function(){t.$wp?t.events.on("keydown",b,!0):t.events.$on(t.$win,"keydown",b,!0),t.events.on("mousedown",function(e){E(t),t.shared.$f_el&&(t.accessibility.restoreSelection(),e.stopPropagation(),t.events.disableBlur(),t.shared.$f_el=null)},!0),t.events.on("blur",function(){t.shared.$f_el=null,E(t)},!0)},registerPopup:function(r){var a,s,l=t.popups.get(r),d=(a=r,s=t.popups.get(a),{_tiKeydown:function(n){var r=s.data("instance")||t;if(!1===r.events.trigger("popup.tab",[n]))return!1;var l=n.which,d=s.find(":focus:first");if(e.FE.KEYCODE.TAB==l){n.preventDefault();var c=s.children().not(".fr-buttons"),f=c.find("input, textarea, button, select").filter(":visible").not(".fr-no-touch input, .fr-no-touch textarea, .fr-no-touch button, .fr-no-touch select, :disabled").toArray(),p=f.indexOf(this)+(n.shiftKey?-1:1);if(0<=p&&p<f.length)return r.events.disableBlur(),e(f[p]).focus(),n.stopPropagation(),!1;var u=s.find(".fr-buttons");if(u.length&&i(u,!!n.shiftKey))return n.stopPropagation(),!1;if(o(c))return n.stopPropagation(),!1}else{if(e.FE.KEYCODE.ENTER!=l||!n.target||"TEXTAREA"===n.target.tagName)return e.FE.KEYCODE.ESC==l?(n.preventDefault(),n.stopPropagation(),r.accessibility.restoreSelection(),r.popups.isVisible(a)&&s.find(".fr-back:visible").length?(r.opts.toolbarInline&&(r.events.disableBlur(),r.events.focus()),r.button.exec(s.find(".fr-back:visible:first")),v(s)):r.popups.isVisible(a)&&s.find(".fr-dismiss:visible").length?r.button.exec(s.find(".fr-dismiss:visible:first")):(r.popups.hide(a),r.opts.toolbarInline&&r.toolbar.showInline(null,!0),v(s)),!1):e.FE.KEYCODE.SPACE==l&&(d.is(".fr-submit")||d.is(".fr-dismiss"))?(n.preventDefault(),n.stopPropagation(),r.events.disableBlur(),r.button.exec(d),!0):r.keys.isBrowserAction(n)?void n.stopPropagation():d.is("input[type=text], textarea")?void n.stopPropagation():e.FE.KEYCODE.SPACE==l&&(d.is(".fr-link-attr")||d.is("input[type=file]"))?void n.stopPropagation():(n.stopPropagation(),n.preventDefault(),!1);var h=null;0<s.find(".fr-submit:visible").length?h=s.find(".fr-submit:visible:first"):s.find(".fr-dismiss:visible").length&&(h=s.find(".fr-dismiss:visible:first")),h&&(n.preventDefault(),n.stopPropagation(),r.events.disableBlur(),r.button.exec(h))}},_tiMouseenter:function(){E(s.data("instance")||t)}});m(l.find(".fr-buttons")),t.events.$on(l,"mouseenter","tabIndex",d._tiMouseenter,!0),t.events.$on(l.children().not(".fr-buttons"),"keydown","[tabIndex]",d._tiKeydown,!0),t.popups.onHide(r,function(){(l.data("instance")||t).accessibility.restoreSelection()}),t.popups.onShow(r,function(){n=!1,setTimeout(function(){n=!0},0)})},registerToolbar:m,focusToolbarElement:r,focusToolbar:i,focusContent:o,focusPopup:function(e){var r=e.children().not(".fr-buttons");r.data("mouseenter-event-set")||t.browser.msie||(t.events.$on(r,"mouseenter","[tabIndex]",function(i){var a=e.data("instance")||t;if(!n)return i.stopPropagation(),void i.preventDefault();var o=r.find(":focus:first");o.length&&!o.is("input, button, textarea, select")&&(a.events.disableBlur(),o.blur(),a.events.disableBlur(),a.events.focus())}),r.data("mouseenter-event-set",!0)),!o(r)&&t.shared.with_kb&&i(e.find(".fr-buttons"))},focusModal:function(e){t.core.hasFocus()||(t.events.disableBlur(),t.events.focus()),t.accessibility.saveSelection(),t.events.disableBlur(),t.$el.blur(),t.selection.clear(),t.events.disableBlur(),t.shared.with_kb?e.find(".fr-command[tabIndex], [tabIndex]").first().focus():e.find("[tabIndex]:first").focus()},focusEditor:g,focusPopupButton:v,focusModalButton:function(e){var t=e.data("modal-button");t&&setTimeout(function(){r(t),e.data("modal-button",null)},0)},hasFocus:function(){return null!=t.shared.$f_el},exec:function(n,i){var a=-1!=navigator.userAgent.indexOf("Mac OS X")?n.metaKey:n.ctrlKey,o=n.which,s=!1;return o!=e.FE.KEYCODE.TAB||a||n.shiftKey||n.altKey?o!=e.FE.KEYCODE.ARROW_RIGHT||a||n.shiftKey||n.altKey?o!=e.FE.KEYCODE.TAB||a||!n.shiftKey||n.altKey?o!=e.FE.KEYCODE.ARROW_LEFT||a||n.shiftKey||n.altKey?o!=e.FE.KEYCODE.ARROW_UP||a||n.shiftKey||n.altKey?o!=e.FE.KEYCODE.ARROW_DOWN||a||n.shiftKey||n.altKey?o!=e.FE.KEYCODE.ENTER&&o!=e.FE.KEYCODE.SPACE||a||n.shiftKey||n.altKey?o!=e.FE.KEYCODE.ESC||a||n.shiftKey||n.altKey?o!=e.FE.KEYCODE.F10||a||n.shiftKey||!n.altKey||(s=l()):s=function(e){if(t.shared.$f_el){var n=d();return n?(t.button.click(n),r(n)):e.parent().find(".fr-back:visible").length?(t.shared.with_kb=!1,t.opts.toolbarInline&&(t.events.disableBlur(),t.events.focus()),t.button.exec(e.parent().find(".fr-back:visible:first")),v(e.parent())):t.shared.$f_el.is("button, .fr-group span")&&(e.parent().is(".fr-popup")?(t.accessibility.restoreSelection(),t.shared.$f_el=null,!1!==t.events.trigger("toolbar.esc")&&(t.popups.hide(e.parent()),t.opts.toolbarInline&&t.toolbar.showInline(null,!0),v(e.parent()))):g()),!1}}(i):s=h():s=t.shared.$f_el&&t.shared.$f_el.is(".fr-dropdown:not(.fr-active)")?h():u(!0):s=u():s=p(i):s=p(i,!0):s=f(i):s=f(i,!0),t.shared.$f_el||void 0!==s||(s=!0),!s&&t.keys.isBrowserAction(n)&&(s=!0),!!s||(n.preventDefault(),n.stopPropagation(),!1)},saveSelection:s,restoreSelection:function(){t.$el.find(".fr-marker").length&&(t.events.disableBlur(),t.selection.restore(),t.events.enableBlur())}}},e.FE.MODULES.format=function(t){function n(e,t){var n="<"+e;for(var r in t)t.hasOwnProperty(r)&&(n+=" "+r+'="'+t[r]+'"');return n+">"}function r(e,t){var n=e;for(var r in t)t.hasOwnProperty(r)&&(n+="id"==r?"#"+t[r]:"class"==r?"."+t[r]:"["+r+'="'+t[r]+'"]');return n}function i(e,t){return!(!e||e.nodeType!=Node.ELEMENT_NODE)&&(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector).call(e,t)}function a(r,i,o){if(r){for(;r.nodeType===Node.COMMENT_NODE;)r=r.nextSibling;if(r){if(t.node.isBlock(r)&&"HR"!==r.tagName)return a(r.firstChild,i,o),!1;for(var s=e(n(i,o)).insertBefore(r),l=r;l&&!e(l).is(".fr-marker")&&0===e(l).find(".fr-marker").length&&"UL"!=l.tagName&&"OL"!=l.tagName;){var d=l;if(t.node.isBlock(l)&&"HR"!==r.tagName)return a(l.firstChild,i,o),!1;l=l.nextSibling,s.append(d)}if(l)(e(l).find(".fr-marker").length||"UL"==l.tagName||"OL"==l.tagName)&&a(l.firstChild,i,o);else{for(var c=s.get(0).parentNode;c&&!c.nextSibling&&!t.node.isElement(c);)c=c.parentNode;if(c){for(var f=c.nextSibling;"BR"===f.tagName;)f=f.nextSibling;f&&(t.node.isBlock(f)?"HR"===f.tagName?a(f.nextSibling,i,o):a(f.firstChild,i,o):a(f,i,o))}}s.is(":empty")&&s.remove()}}}function o(o,s){var l;if(void 0===s&&(s={}),s.style&&delete s.style,t.selection.isCollapsed())t.markers.insert(),t.$el.find(".fr-marker").replaceWith(n(o,s)+e.FE.INVISIBLE_SPACE+e.FE.MARKERS+"</"+o+">"),t.selection.restore();else{var d;t.selection.save(),a(t.$el.find('.fr-marker[data-type="true"]').get(0).nextSibling,o,s);do{for(d=t.$el.find(r(o,s)+" > "+r(o,s)),l=0;l<d.length;l++)d[l].outerHTML=d[l].innerHTML}while(d.length);t.el.normalize();var c=t.el.querySelectorAll(".fr-marker");for(l=0;l<c.length;l++){var f=e(c[l]);!0===f.data("type")?i(f.get(0).nextSibling,r(o,s))&&f.next().prepend(f):i(f.get(0).previousSibling,r(o,s))&&f.prev().append(f)}t.selection.restore()}}function s(e,n,a,o){if(!o){var s=!1;if(!0===e.data("type"))for(;t.node.isFirstSibling(e.get(0))&&!e.parent().is(t.$el)&&!e.parent().is("ol")&&!e.parent().is("ul");)e.parent().before(e),s=!0;else if(!1===e.data("type"))for(;t.node.isLastSibling(e.get(0))&&!e.parent().is(t.$el)&&!e.parent().is("ol")&&!e.parent().is("ul");)e.parent().after(e),s=!0;if(s)return!0}if(e.parents(n).length||void 0===n){var l="",d="",c=e.parent();if(c.is(t.$el)||t.node.isBlock(c.get(0)))return!1;for(;!t.node.isBlock(c.parent().get(0))&&(void 0===n||void 0!==n&&!i(c.get(0),r(n,a)));)l+=t.node.closeTagString(c.get(0)),d=t.node.openTagString(c.get(0))+d,c=c.parent();var f=e.get(0).outerHTML;e.replaceWith('<span id="mark"></span>');var p=c.html().replace(/<span id="mark"><\/span>/,l+t.node.closeTagString(c.get(0))+d+f+l+t.node.openTagString(c.get(0))+d);return c.replaceWith(t.node.openTagString(c.get(0))+p+t.node.closeTagString(c.get(0))),!0}return!1}function l(n,a){void 0===a&&(a={}),a.style&&delete a.style;var o=t.selection.isCollapsed();t.selection.save();for(var l=!0;l;){l=!1;for(var d=t.$el.find(".fr-marker"),c=0;c<d.length;c++){var f=e(d[c]),p=null;if(f.attr("data-cloned")||o||(p=f.clone().removeClass("fr-marker").addClass("fr-clone"),!0===f.data("type")?f.attr("data-cloned",!0).after(p):f.attr("data-cloned",!0).before(p)),s(f,n,a,o)){l=!0;break}}}!function n(a,o,s,l){for(var d=t.node.contents(a.get(0)),c=0;c<d.length;c++){var f=d[c];if(t.node.hasClass(f,"fr-marker"))o=(o+1)%2;else if(o)if(0<e(f).find(".fr-marker").length)o=n(e(f),o,s,l);else{for(var p=e(f).find(s||"*:not(a):not(br)"),u=p.length-1;0<=u;u--){var h=p[u];t.node.isBlock(h)||t.node.isVoid(h)||void 0!==s&&!i(h,r(s,l))?t.node.isBlock(h)&&void 0===s&&"TABLE"!=f.tagName&&t.node.clearAttributes(h):t.node.hasClass(h,"fr-clone")||(h.outerHTML=h.innerHTML)}void 0===s&&f.nodeType==Node.ELEMENT_NODE&&!t.node.isVoid(f)||i(f,r(s,l))?t.node.isBlock(f)||e(f).replaceWith(f.innerHTML):void 0===s&&f.nodeType==Node.ELEMENT_NODE&&t.node.isBlock(f)&&"TABLE"!=f.tagName&&t.node.clearAttributes(f)}else 0<e(f).find(".fr-marker").length&&(o=n(e(f),o,s,l))}return o}(t.$el,0,n,a),o||(t.$el.find(".fr-marker").remove(),t.$el.find(".fr-clone").removeClass("fr-clone").addClass("fr-marker")),o&&t.$el.find(".fr-marker").before(e.FE.INVISIBLE_SPACE).after(e.FE.INVISIBLE_SPACE),t.html.cleanEmptyTags(),t.el.normalize(),t.selection.restore()}function d(n,r){var i,o,l,d,f,p=null;if(t.selection.isCollapsed()){t.markers.insert();var u=(o=t.$el.find(".fr-marker")).parent();if(t.node.openTagString(u.get(0))=='<span style="'+n+": "+u.css(n)+';">'){if(t.node.isEmpty(u.get(0)))p=e('<span style="'+n+": "+r+';">'+e.FE.INVISIBLE_SPACE+e.FE.MARKERS+"</span>"),u.replaceWith(p);else{var h={};h["style*"]=n+":",s(o,"span",h,!0),o=t.$el.find(".fr-marker"),r?(p=e('<span style="'+n+": "+r+';">'+e.FE.INVISIBLE_SPACE+e.FE.MARKERS+"</span>"),o.replaceWith(p)):o.replaceWith(e.FE.INVISIBLE_SPACE+e.FE.MARKERS)}t.html.cleanEmptyTags()}else t.node.isEmpty(u.get(0))&&u.is("span")?(o.replaceWith(e.FE.MARKERS),u.css(n,r)):(p=e('<span style="'+n+": "+r+';">'+e.FE.INVISIBLE_SPACE+e.FE.MARKERS+"</span>"),o.replaceWith(p));p&&c(p,n,r)}else{if(t.selection.save(),null==r||"color"==n&&0<t.$el.find(".fr-marker").parents("u, a").length){var g=t.$el.find(".fr-marker");for(i=0;i<g.length;i++)if(!0===(o=e(g[i])).data("type"))for(;t.node.isFirstSibling(o.get(0))&&!o.parent().is(t.$el)&&!t.node.isElement(o.parent().get(0))&&!t.node.isBlock(o.parent().get(0));)o.parent().before(o);else for(;t.node.isLastSibling(o.get(0))&&!o.parent().is(t.$el)&&!t.node.isElement(o.parent().get(0))&&!t.node.isBlock(o.parent().get(0));)o.parent().after(o)}for(var m=t.$el.find('.fr-marker[data-type="true"]').get(0).nextSibling;m.firstChild;)m=m.firstChild;var v={class:"fr-unprocessed"};for(r&&(v.style=n+": "+r+";"),a(m,"span",v),t.$el.find(".fr-marker + .fr-unprocessed").each(function(){e(this).prepend(e(this).prev())}),t.$el.find(".fr-unprocessed + .fr-marker").each(function(){e(this).prev().append(this)}),(r||"").match(/\dem$/)&&t.$el.find("span.fr-unprocessed").removeClass("fr-unprocessed");0<t.$el.find("span.fr-unprocessed").length;){if((p=t.$el.find("span.fr-unprocessed:first").removeClass("fr-unprocessed")).parent().get(0).normalize(),p.parent().is("span")&&1==p.parent().get(0).childNodes.length){p.parent().css(n,r);var E=p;p=p.parent(),E.replaceWith(E.html())}var b=p.find("span");for(i=b.length-1;0<=i;i--)l=b[i],d=n,f=void 0,(f=e(l)).css(d,""),""===f.attr("style")&&f.replaceWith(f.html());c(p,n,r)}}!function(){for(var n;0<t.$el.find(".fr-split:empty").length;)t.$el.find(".fr-split:empty").remove();t.$el.find(".fr-split").removeClass("fr-split"),t.$el.find('[style=""]').removeAttr("style"),t.$el.find('[class=""]').removeAttr("class"),t.html.cleanEmptyTags(),e(t.$el.find("span").get().reverse()).each(function(){this.attributes&&0!==this.attributes.length||e(this).replaceWith(this.innerHTML)}),t.el.normalize();var r=t.$el.find("span[style] + span[style]");for(n=0;n<r.length;n++){var i=e(r[n]),a=e(r[n]).prev();i.get(0).previousSibling==a.get(0)&&t.node.openTagString(i.get(0))==t.node.openTagString(a.get(0))&&(i.prepend(a.html()),a.remove())}t.$el.find("span[style] span[style]").each(function(){if(0<=e(this).attr("style").indexOf("font-size")){var t=e(this).parents("span[style]");0<=t.attr("style").indexOf("background-color")&&(e(this).attr("style",e(this).attr("style")+";"+t.attr("style")),s(e(this),"span[style]",{},!1))}}),t.el.normalize(),t.selection.restore()}()}function c(n,r,i){var a,o,s,l=n.parentsUntil(t.$el,"span[style]"),d=[];for(a=l.length-1;0<=a;a--)o=l[a],s=r,0===e(o).attr("style").indexOf(s+":")||0<=e(o).attr("style").indexOf(";"+s+":")||0<=e(o).attr("style").indexOf("; "+s+":")||d.push(l[a]);if((l=l.not(d)).length){for(var c="",f="",p="",u="",h=n.get(0);h=h.parentNode,e(h).addClass("fr-split"),c+=t.node.closeTagString(h),f=t.node.openTagString(e(h).clone().addClass("fr-split").get(0))+f,l.get(0)!=h&&(p+=t.node.closeTagString(h),u=t.node.openTagString(e(h).clone().addClass("fr-split").get(0))+u),l.get(0)!=h;);var g=c+t.node.openTagString(e(l.get(0)).clone().css(r,i||"").get(0))+u+n.css(r,"").get(0).outerHTML+p+"</span>"+f;n.replaceWith('<span id="fr-break"></span>');var m=l.get(0).outerHTML;e(l.get(0)).replaceWith(m.replace(/<span id="fr-break"><\/span>/g,g))}}function f(e,n){void 0===n&&(n={}),n.style&&delete n.style;var a=t.selection.ranges(0),o=a.startContainer;if(o.nodeType==Node.ELEMENT_NODE&&0<o.childNodes.length&&o.childNodes[a.startOffset]&&(o=o.childNodes[a.startOffset]),!a.collapsed&&o.nodeType==Node.TEXT_NODE&&a.startOffset==(o.textContent||"").length){for(;!t.node.isBlock(o.parentNode)&&!o.nextSibling;)o=o.parentNode;o.nextSibling&&(o=o.nextSibling)}for(var s=o;s&&s.nodeType==Node.ELEMENT_NODE&&!i(s,r(e,n));)s=s.firstChild;if(s&&s.nodeType==Node.ELEMENT_NODE&&i(s,r(e,n)))return!0;var l=o;for(l&&l.nodeType!=Node.ELEMENT_NODE&&(l=l.parentNode);l&&l.nodeType==Node.ELEMENT_NODE&&l!=t.el&&!i(l,r(e,n));)l=l.parentNode;return!(!l||l.nodeType!=Node.ELEMENT_NODE||l==t.el||!i(l,r(e,n)))}return{is:f,toggle:function(e,t){f(e,t)?l(e,t):o(e,t)},apply:o,remove:l,applyStyle:d,removeStyle:function(e){d(e,null)}}},e.extend(e.FE.DEFAULTS,{indentMargin:20}),e.FE.COMMANDS={bold:{title:"Bold",toggle:!0,refresh:function(e){var t=this.format.is("strong");e.toggleClass("fr-active",t).attr("aria-pressed",t)}},italic:{title:"Italic",toggle:!0,refresh:function(e){var t=this.format.is("em");e.toggleClass("fr-active",t).attr("aria-pressed",t)}},underline:{title:"Underline",toggle:!0,refresh:function(e){var t=this.format.is("u");e.toggleClass("fr-active",t).attr("aria-pressed",t)}},strikeThrough:{title:"Strikethrough",toggle:!0,refresh:function(e){var t=this.format.is("s");e.toggleClass("fr-active",t).attr("aria-pressed",t)}},subscript:{title:"Subscript",toggle:!0,refresh:function(e){var t=this.format.is("sub");e.toggleClass("fr-active",t).attr("aria-pressed",t)}},superscript:{title:"Superscript",toggle:!0,refresh:function(e){var t=this.format.is("sup");e.toggleClass("fr-active",t).attr("aria-pressed",t)}},outdent:{title:"Decrease Indent"},indent:{title:"Increase Indent"},undo:{title:"Undo",undo:!1,forcedRefresh:!0,disabled:!0},redo:{title:"Redo",undo:!1,forcedRefresh:!0,disabled:!0},insertHR:{title:"Insert Horizontal Line"},clearFormatting:{title:"Clear Formatting"},selectAll:{title:"Select All",undo:!1}},e.FE.RegisterCommand=function(t,n){e.FE.COMMANDS[t]=n},e.FE.MODULES.commands=function(t){function n(e){return t.html.defaultTag()&&(e="<"+t.html.defaultTag()+">"+e+"</"+t.html.defaultTag()+">"),e}var r={bold:function(){a("bold","strong")},subscript:function(){t.format.is("sup")&&t.format.remove("sup"),a("subscript","sub")},superscript:function(){t.format.is("sub")&&t.format.remove("sub"),a("superscript","sup")},italic:function(){a("italic","em")},strikeThrough:function(){a("strikeThrough","s")},underline:function(){a("underline","u")},undo:function(){t.undo.run()},redo:function(){t.undo.redo()},indent:function(){o(1)},outdent:function(){o(-1)},show:function(){t.opts.toolbarInline&&t.toolbar.showInline(null,!0)},insertHR:function(){t.selection.remove();var r="";t.core.isEmpty()&&(r=n(r="<br>")),t.html.insert('<hr id="fr-just">'+r);var i,a=t.$el.find("hr#fr-just");if(a.removeAttr("id"),0===a.next().length){var o=t.html.defaultTag();o?a.after(e("<"+o+">").append("<br>")):a.after("<br>")}a.prev().is("hr")?i=t.selection.setAfter(a.get(0),!1):a.next().is("hr")?i=t.selection.setBefore(a.get(0),!1):t.selection.setAfter(a.get(0),!1)||t.selection.setBefore(a.get(0),!1),i||void 0===i||(r=n(r=e.FE.MARKERS+"<br>"),a.after(r)),t.selection.restore()},clearFormatting:function(){t.format.remove()},selectAll:function(){t.doc.execCommand("selectAll",!1,!1)}};function i(n,i){if(!1!==t.events.trigger("commands.before",e.merge([n],i||[]))){var a=e.FE.COMMANDS[n]&&e.FE.COMMANDS[n].callback||r[n],o=!0,s=!1;e.FE.COMMANDS[n]&&(void 0!==e.FE.COMMANDS[n].focus&&(o=e.FE.COMMANDS[n].focus),void 0!==e.FE.COMMANDS[n].accessibilityFocus&&(s=e.FE.COMMANDS[n].accessibilityFocus)),(!t.core.hasFocus()&&o&&!t.popups.areVisible()||!t.core.hasFocus()&&s&&t.accessibility.hasFocus())&&t.events.focus(!0),e.FE.COMMANDS[n]&&!1!==e.FE.COMMANDS[n].undo&&(t.$el.find(".fr-marker").length&&(t.events.disableBlur(),t.selection.restore()),t.undo.saveStep()),a&&a.apply(t,e.merge([n],i||[])),t.events.trigger("commands.after",e.merge([n],i||[])),e.FE.COMMANDS[n]&&!1!==e.FE.COMMANDS[n].undo&&t.undo.saveStep()}}function a(e,n){t.format.toggle(n)}function o(n){t.selection.save(),t.html.wrap(!0,!0,!0,!0),t.selection.restore();for(var r=t.selection.blocks(),i=0;i<r.length;i++)if("LI"!=r[i].tagName&&"LI"!=r[i].parentNode.tagName){var a=e(r[i]),o="rtl"==t.opts.direction||"rtl"==a.css("direction")?"margin-right":"margin-left",s=t.helpers.getPX(a.css(o));if(a.width()<2*t.opts.indentMargin&&0<n)continue;a.css(o,Math.max(s+n*t.opts.indentMargin,0)||""),a.removeClass("fr-temp-div")}t.selection.save(),t.html.unwrap(),t.selection.restore()}function s(e){return function(){i(e)}}var l={};for(var d in r)r.hasOwnProperty(d)&&(l[d]=s(d));return e.extend(l,{exec:i,_init:function(){t.events.on("keydown",function(e){var n=t.selection.element();if(n&&"HR"==n.tagName&&!t.keys.isArrow(e.which))return e.preventDefault(),!1}),t.events.on("keyup",function(n){var r=t.selection.element();if(r&&"HR"==r.tagName)if(n.which==e.FE.KEYCODE.ARROW_LEFT||n.which==e.FE.KEYCODE.ARROW_UP){if(r.previousSibling)return t.node.isBlock(r.previousSibling)?t.selection.setAtEnd(r.previousSibling):e(r).before(e.FE.MARKERS),t.selection.restore(),!1}else if((n.which==e.FE.KEYCODE.ARROW_RIGHT||n.which==e.FE.KEYCODE.ARROW_DOWN)&&r.nextSibling)return t.node.isBlock(r.nextSibling)?t.selection.setAtStart(r.nextSibling):e(r).after(e.FE.MARKERS),t.selection.restore(),!1}),t.events.on("mousedown",function(e){if(e.target&&"HR"==e.target.tagName)return e.preventDefault(),e.stopPropagation(),!1}),t.events.on("mouseup",function(){var n=t.selection.element();n==t.selection.endElement()&&n&&"HR"==n.tagName&&(n.nextSibling&&(t.node.isBlock(n.nextSibling)?t.selection.setAtStart(n.nextSibling):e(n).after(e.FE.MARKERS)),t.selection.restore())})}})},e.FE.MODULES.data=function(t){var n="NCKB1zwtPA9tqzajXC2c2A7B-16VD3spzJ1C9C3D5oOF2OB1NB1LD7VA5QF4TE3gytXB2A4C-8VA2AC4E1D3GB2EB2KC3KD1MF1juuSB1A8C6yfbmd1B2a1A5qdsdB2tivbC3CB1KC1CH1eLA2sTF1B4I4H-7B-21UB6b1F5bzzzyAB4JC3MG2hjdKC1JE6C1E1cj1pD-16pUE5B4prra2B5ZB3D3C3pxj1EA6A3rnJA2C-7I-7JD9D1E1wYH1F3sTB5TA2G4H4ZA22qZA5BB3mjcvcCC3JB1xillavC-21VE6PC5SI4YC5C8mb1A3WC3BD2B5aoDA2qqAE3A5D-17fOD1D5RD4WC10tE6OAZC3nF-7b1C4A4D3qCF2fgmapcromlHA2QA6a1E1D3e1A6C2bie2F4iddnIA7B2mvnwcIB5OA1DB2OLQA3PB10WC7WC5d1E3uI-7b1D5D6b1E4D2arlAA4EA1F-11srxI-7MB1D7PF1E5B4adB-21YD5vrZH3D3xAC4E1A2GF2CF2J-7yNC2JE1MI2hH-7QB1C6B5B-9bA-7XB13a1B5VievwpKB4LA3NF-10H-9I-8hhaC-16nqPG4wsleTD5zqYF3h1G2B7B4yvGE2Pi1H-7C-21OE6B1uLD1kI4WC1E7C5g1D-8fue1C8C6c1D4D3Hpi1CC4kvGC2E1legallyXB4axVA11rsA4A-9nkdtlmzBA2GD3A13A6CB1dabE1lezrUE6RD5TB4A-7f1C8c1B5d1D4D3tyfCD5C2D2==",r=function(){for(var e=0,t=document.domain,n=t.split("."),r="_gd"+(new Date).getTime();e<n.length-1&&-1==document.cookie.indexOf(r+"="+r);)t=n.slice(-1-++e).join("."),document.cookie=r+"="+r+";domain="+t+";";return document.cookie=r+"=;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain="+t+";",(t||"").replace(/(^\.*)|(\.*$)/g,"")}();function i(e){return e}var a,o,s=i(function(e){if(!e)return e;for(var t="",n=i("charCodeAt"),r=i("fromCharCode"),a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".indexOf(e[0]),o=1;o<e.length-2;o++){for(var s=l(++a),c=e[n](o),f="";/[0-9-]/.test(e[o+1]);)f+=e[++o];c=d(c,s,f=parseInt(f,10)||0),c^=a-1&31,t+=String[r](c)}return t});function l(e){for(var t=e.toString(),n=0,r=0;r<t.length;r++)n+=parseInt(t.charAt(r),10);return 10<n?n%9+1:n}function d(e,t,n){for(var r=Math.abs(n);0<r--;)e-=t;return n<0&&(e+=123),e}function c(e){return!(!e||"block"===e.css("display")||(e.remove(),0))}function f(e){return e&&0===t.$box.find(e).length}var p=0;function u(){if(10<p&&(t[i(s("0ppecjvc=="))](),setTimeout(function(){e.FE=null},10)),!t.$box)return!1;t.$wp.prepend(s(i(s(n)))),a=t.$wp.find("> div:first"),o=a.find("> a"),"rtl"==t.opts.direction&&a.css("left","auto").css("right",0).attr("direction","rtl"),p++}function h(e){for(var t=[s("9qqG-7amjlwq=="),s("KA3B3C2A6D1D5H5H1A3=="),s("3B9B3B5F3C4G3E3=="),s("QzbzvxyB2yA-9m=="),s("ji1kacwmgG5bc=="),s("nmA-13aogi1A3c1jd=="),s("BA9ggq=="),s("emznbjbH3fij=="),s("tkC-22d1qC-13sD1wzF-7==")],n=0;n<t.length;n++)if(String.prototype.endsWith||(String.prototype.endsWith=function(e,t){return(void 0===t||t>this.length)&&(t=this.length),this.substring(t-e.length,t)===e}),e.endsWith(t[n]))return!0;return!1}return{_init:function(){var e=t.o_win.FEK;try{e=e||localStorage&&localStorage.FEK}catch(e){}e=t.opts.key||e||[""];var l=s(i("ziRA1E3B9pA5B-11D-11xg1A3ZB5D1D4B-11ED2EG2pdeoC1clIH4wB-22yQD5uF4YE3E3A9=="));"string"==typeof e&&(e=[e]);for(var d,p,g,m=!(t.ul=!0),v=0,E=0;E<e.length;E++){var b=(p=e[E],3===(g=(s(p)||"").split("|")).length?g:[null,null,s(p)||""]),T=b[2];if(T===s(i(s("mcVRDoB1BGILD7YFe1BTXBA7B6==")))||0<=T.indexOf(r,T.length-r.length)||h(r)){if(!((null===(d=b[1])||new Date(d)<new Date(s("uB2C1D7B5E1E5E4A1E3C11==")))&&0<(r||"").length)||h(r)){t.ul=!1;break}m=!0,n="RCZB17botVG4A-8yzia1C4A5DG3CD2cFB4qflmCE4I2FB1SC7F6PE4WE3RD6e2A4c1D3d1E2E3ehxdGE3CE2IB2LC1HG2LE1QA3QC7B-13cC-9epmkjc1B4e1C4pgjgvkOC5E1eNE1HB2LD2B-13WD5tvabUA5a1A4f1A2G3C2A-21cihKE3FE2DB2cccJE1iC-7G-7tD-17tVD6A-9qC-7QC7a1E4B4je1E3E2G2ecmsAA1xH-8HB11C1D1lgzQA3dTB8od1D4XE3ohb1B4E4D3mbLA10NA7C-21d1genodKC11PD9PE5tA-8UI3ZC5XB5B-11qXF2F-7wtwjAG3NA1IB1OD1HC1RD4QJ4evUF2D5XG2G4XA8pqocH1F3G2J2hcpHC4D1MD4C1MB8PD5klcQD1A8A6e2A3ed1E2A24A7HC5C3qA-9tiA-61dcC3MD1LE1D4SA3A9ZZXSE4g1C3Pa2C5ufbcGI3I2B4skLF2CA1vxB-22wgUC4kdH-8cVB5iwe1A2D3H3G-7DD5JC2ED2OH2JB10D3C2xHE1KA29PB11wdC-11C4cixb2C7a1C4YYE3B2A15uB-21wpCA1MF1NuC-21dyzD6pPG4I-7pmjc1A4yte1F3B-22yvCC3VbC-7qC-22qNE2hC1vH-8zad1RF6WF3DpI-7C8A-16hpf1F3D2ylalB-13BB2lpA-63IB3uOF6D5G4gabC-21UD2A3PH4ZA20B11b2C6ED4A2H3I1A15DB4KD2laC-8LA5B8B7==",v=b[0]||-1}}var A=new Image;!0===t.ul&&(u(),A.src=m?i(s(l))+"e="+v:i(s(l))+"u"),!0===t.ul&&t.events.on("contentChanged",function(){(c(a)||c(o)||f(a)||f(o))&&u()}),t.events.on("destroy",function(){a&&a.length&&a.remove()},!0)}}},e.extend(e.FE.DEFAULTS,{pastePlain:!1,pasteDeniedTags:["colgroup","col","meta"],pasteDeniedAttrs:["class","id","style"],pasteAllowedStyleProps:[".*"],pasteAllowLocalImages:!1}),e.FE.MODULES.paste=function(t){var n,r,i,a;function o(e,n){try{t.win.localStorage.setItem("fr-copied-html",e),t.win.localStorage.setItem("fr-copied-text",n)}catch(e){}}function s(n){var r=t.html.getSelected();o(r,e("<div>").html(r).text()),"cut"==n.type&&(t.undo.saveStep(),setTimeout(function(){t.selection.save(),t.html.wrap(),t.selection.restore(),t.events.focus(),t.undo.saveStep()},0))}var l=!1;function d(a){if(l)return!1;if(a.originalEvent&&(a=a.originalEvent),!1===t.events.trigger("paste.before",[a]))return a.preventDefault(),!1;if(t.$win.scrollTop(),a&&a.clipboardData&&a.clipboardData.getData){var o="",s=a.clipboardData.types;if(t.helpers.isArray(s))for(var d=0;d<s.length;d++)o+=s[d]+";";else o=s;if(n="",/text\/rtf/.test(o)&&(r=a.clipboardData.getData("text/rtf")),/text\/html/.test(o)&&!t.browser.safari?n=a.clipboardData.getData("text/html"):/text\/rtf/.test(o)&&t.browser.safari?n=r:/public.rtf/.test(o)&&t.browser.safari&&(n=a.clipboardData.getData("text/rtf")),""!==n)return f(),a.preventDefault&&(a.stopPropagation(),a.preventDefault()),!1;n=null}return t.selection.save(),t.events.disableBlur(),n=null,i?(i.html(""),t.browser.edge&&t.opts.iframe&&t.$el.append(i)):(i=e('<div contenteditable="true" style="position: fixed; top: 0; left: -9999px; height: 100%; width: 0; word-break: break-all; overflow:hidden; z-index: 2147483647; line-height: 140%; -moz-user-select: text; -webkit-user-select: text; -ms-user-select: text; user-select: text;" tabIndex="-1"></div>'),t.browser.webkit?(i.css("top",t.$sc.scrollTop()),t.$el.after(i)):t.browser.edge&&t.opts.iframe?t.$el.append(i):t.$box.after(i),t.events.on("destroy",function(){i.remove()})),t.helpers.isIOS()||i.focus(),t.win.setTimeout(f,1),!1}function c(i){if(i.originalEvent&&(i=i.originalEvent),i&&i.dataTransfer&&i.dataTransfer.getData){var o="",s=i.dataTransfer.types;if(t.helpers.isArray(s))for(var l=0;l<s.length;l++)o+=s[l]+";";else o=s;if(n="",/text\/rtf/.test(o)&&(r=i.dataTransfer.getData("text/rtf")),/text\/html/.test(o)?n=i.dataTransfer.getData("text/html"):/text\/rtf/.test(o)&&t.browser.safari?n=r:/text\/plain/.test(o)&&!this.browser.mozilla&&(n=t.html.escapeEntities(i.dataTransfer.getData("text/plain")).replace(/\n/g,"<br>")),""!==n){t.keys.forceUndo(),a=t.snapshot.get(),t.selection.save(),t.$el.find(".fr-marker").removeClass("fr-marker").addClass("fr-marker-helper");var d=t.markers.insertAtPoint(i);if(t.$el.find(".fr-marker").removeClass("fr-marker").addClass("fr-marker-placeholder"),t.$el.find(".fr-marker-helper").addClass("fr-marker").removeClass("fr-marker-helper"),t.selection.restore(),t.selection.remove(),t.$el.find(".fr-marker-placeholder").addClass("fr-marker").removeClass("fr-marker-placeholder"),!1!==d){var c=t.el.querySelector(".fr-marker");return e(c).replaceWith(e.FE.MARKERS),t.selection.restore(),f(),i.preventDefault&&(i.stopPropagation(),i.preventDefault()),!1}}else n=null}}function f(){t.browser.edge&&t.opts.iframe&&t.$box.after(i),a||(t.keys.forceUndo(),a=t.snapshot.get()),n||(n=i.get(0).innerHTML,t.selection.restore(),t.events.enableBlur());var e=n.match(/(class=\"?Mso|class=\'?Mso|class="?Xl|class='?Xl|class=Xl|style=\"[^\"]*\bmso\-|style=\'[^\']*\bmso\-|w:WordDocument)/gi),r=t.events.chainTrigger("paste.beforeCleanup",n);r&&"string"==typeof r&&(n=r),(!e||e&&!1!==t.events.trigger("paste.wordPaste",[n]))&&u(n,e)}function p(e){for(var t="",n=0;n++<e;)t+="&nbsp;";return t}function u(n,r,i){var o,s=null,l=null;if(0<=n.toLowerCase().indexOf("<body")){var d="";0<=n.indexOf("<style")&&(d=n.replace(/[.\s\S\w\W<>]*(<style[^>]*>[\s]*[.\s\S\w\W<>]*[\s]*<\/style>)[.\s\S\w\W<>]*/gi,"$1")),n=(n=d+n.replace(/[.\s\S\w\W<>]*<body[^>]*>[\s]*([.\s\S\w\W<>]*)[\s]*<\/body>[.\s\S\w\W<>]*/gi,"$1")).replace(/ \n/g," ").replace(/\n /g," ").replace(/([^>])\n([^<])/g,"$1 $2")}var c=!1;0<=n.indexOf('id="docs-internal-guid')&&(n=n.replace(/^[\w\W\s\S]* id="docs-internal-guid[^>]*>([\w\W\s\S]*)<\/b>[\w\W\s\S]*$/g,"$1"),c=!0),0<=n.indexOf('content="Sheets"')&&(n=n.replace(/width:0px;/g,""));var f=!1;if(!r&&((f=function(n){var r=null;try{r=t.win.localStorage.getItem("fr-copied-text")}catch(e){}return!(!r||e("<div>").html(n).text().replace(/\u00A0/gi," ").replace(/\r|\n/gi,"")!=r.replace(/\u00A0/gi," ").replace(/\r|\n/gi,""))}(n))&&(n=t.win.localStorage.getItem("fr-copied-html")),!f)){var u=t.opts.htmlAllowedStyleProps;t.opts.htmlAllowedStyleProps=t.opts.pasteAllowedStyleProps,t.opts.htmlAllowComments=!1,n=(n=(n=n.replace(/<span class="Apple-tab-span">\s*<\/span>/g,p(t.opts.tabSpaces||4))).replace(/<span class="Apple-tab-span" style="white-space:pre">(\t*)<\/span>/g,function(e,n){return p(n.length*(t.opts.tabSpaces||4))})).replace(/\t/g,p(t.opts.tabSpaces||4)),n=t.clean.html(n,t.opts.pasteDeniedTags,t.opts.pasteDeniedAttrs),t.opts.htmlAllowedStyleProps=u,t.opts.htmlAllowComments=!0,n=(n=(n=g(n)).replace(/\r/g,"")).replace(/^ */g,"").replace(/ *$/g,"")}!r||t.wordPaste&&i||(0===(n=n.replace(/^\n*/g,"").replace(/^ /g,"")).indexOf("<colgroup>")&&(n="<table>"+n+"</table>"),n=g(n=function(e){var n;e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/<p(.*?)class="?'?MsoListParagraph"?'? ([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<ul><li>$3</li></ul>")).replace(/<p(.*?)class="?'?NumberedText"?'? ([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<ol><li>$3</li></ol>")).replace(/<p(.*?)class="?'?MsoListParagraphCxSpFirst"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<ul><li$3>$5</li>")).replace(/<p(.*?)class="?'?NumberedTextCxSpFirst"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<ol><li$3>$5</li>")).replace(/<p(.*?)class="?'?MsoListParagraphCxSpMiddle"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<li$3>$5</li>")).replace(/<p(.*?)class="?'?NumberedTextCxSpMiddle"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<li$3>$5</li>")).replace(/<p(.*?)class="?'?MsoListBullet"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<li$3>$5</li>")).replace(/<p(.*?)class="?'?MsoListParagraphCxSpLast"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<li$3>$5</li></ul>")).replace(/<p(.*?)class="?'?NumberedTextCxSpLast"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<li$3>$5</li></ol>")).replace(/<span([^<]*?)style="?'?mso-list:Ignore"?'?([\s\S]*?)>([\s\S]*?)<span/gi,"<span><span")).replace(/<!--\[if \!supportLists\]-->([\s\S]*?)<!--\[endif\]-->/gi,"")).replace(/<!\[if \!supportLists\]>([\s\S]*?)<!\[endif\]>/gi,"")).replace(/(\n|\r| class=(")?Mso[a-zA-Z0-9]+(")?)/gi," ")).replace(/<!--[\s\S]*?-->/gi,"")).replace(/<(\/)*(meta|link|span|\\?xml:|st1:|o:|font)(.*?)>/gi,"");var r,i=["style","script","applet","embed","noframes","noscript"];for(n=0;n<i.length;n++){var a=new RegExp("<"+i[n]+".*?"+i[n]+"(.*?)>","gi");e=e.replace(a,"")}for(e=(e=(e=e.replace(/&nbsp;/gi," ")).replace(/<td([^>]*)><\/td>/g,"<td$1><br></td>")).replace(/<th([^>]*)><\/th>/g,"<th$1><br></th>");(e=(r=e).replace(/<[^\/>][^>]*><\/[^>]+>/gi,""))!=r;);e=(e=e.replace(/<lilevel([^1])([^>]*)>/gi,'<li data-indent="true"$2>')).replace(/<lilevel1([^>]*)>/gi,"<li$1>"),e=(e=(e=t.clean.html(e,t.opts.pasteDeniedTags,t.opts.pasteDeniedAttrs)).replace(/<a>(.[^<]+)<\/a>/gi,"$1")).replace(/<br> */g,"<br>");var o=t.o_doc.createElement("div");o.innerHTML=e;var s=o.querySelectorAll("li[data-indent]");for(n=0;n<s.length;n++){var l=s[n],d=l.previousElementSibling;if(d&&"LI"==d.tagName){var c=d.querySelector(":scope > ul, :scope > ol");c||(c=document.createElement("ul"),d.appendChild(c)),c.appendChild(l)}else l.removeAttribute("data-indent")}return t.html.cleanBlankSpaces(o),o.innerHTML}(n))),t.opts.pastePlain&&!f&&(n=function(e){var n,r=null,i=t.doc.createElement("div");i.innerHTML=e;var a=i.querySelectorAll("p, div, h1, h2, h3, h4, h5, h6, pre, blockquote");for(n=0;n<a.length;n++)(r=a[n]).outerHTML="<"+(t.html.defaultTag()||"DIV")+">"+r.innerHTML+"</"+(t.html.defaultTag()||"DIV")+">";for(n=(a=i.querySelectorAll("*:not("+"p, div, h1, h2, h3, h4, h5, h6, pre, blockquote, ul, ol, li, table, tbody, thead, tr, td, br, img".split(",").join("):not(")+")")).length-1;0<=n;n--)(r=a[n]).outerHTML=r.innerHTML;var o=function(e){for(var n=t.node.contents(e),r=0;r<n.length;r++)n[r].nodeType!=Node.TEXT_NODE&&n[r].nodeType!=Node.ELEMENT_NODE?n[r].parentNode.removeChild(n[r]):o(n[r])};return o(i),i.innerHTML}(n));var h=t.events.chainTrigger("paste.afterCleanup",n);if("string"==typeof h&&(n=h),""!==n){var m=t.o_doc.createElement("div");0<=(m.innerHTML=n).indexOf("<body>")?(t.html.cleanBlankSpaces(m),t.spaces.normalize(m,!0)):t.spaces.normalize(m);var v=m.getElementsByTagName("span");for(o=v.length-1;0<=o;o--){var E=v[o];0===E.attributes.length&&(E.outerHTML=E.innerHTML)}var b=t.selection.element(),T=!1;if(b&&e(b).parentsUntil(t.el,"ul, ol").length&&(T=!0),T){var A=m.children;1==A.length&&0<=["OL","UL"].indexOf(A[0].tagName)&&(A[0].outerHTML=A[0].innerHTML)}if(!c){var C=m.getElementsByTagName("br");for(o=C.length-1;0<=o;o--){var S=C[o];t.node.isBlock(S.previousSibling)&&S.parentNode.removeChild(S)}}if(t.opts.enter==e.FE.ENTER_BR)for(o=(s=m.querySelectorAll("p, div")).length-1;0<=o;o--)0===(l=s[o]).attributes.length&&(l.outerHTML=l.innerHTML+(l.nextSibling&&!t.node.isEmpty(l)?"<br>":""));else if(t.opts.enter==e.FE.ENTER_DIV)for(o=(s=m.getElementsByTagName("p")).length-1;0<=o;o--)0===(l=s[o]).attributes.length&&(l.outerHTML="<div>"+l.innerHTML+"</div>");else t.opts.enter==e.FE.ENTER_P&&1==m.childNodes.length&&"P"==m.childNodes[0].tagName&&0===m.childNodes[0].attributes.length&&(m.childNodes[0].outerHTML=m.childNodes[0].innerHTML);n=m.innerHTML,f&&(n=function(n){var r,i=t.o_doc.createElement("div");i.innerHTML=n;for(var a=i.querySelectorAll("*:empty:not(td):not(th):not(tr):not(iframe):not(svg):not("+e.FE.VOID_ELEMENTS.join("):not(")+"):not("+t.opts.htmlAllowedEmptyTags.join("):not(")+")");a.length;){for(r=0;r<a.length;r++)a[r].parentNode.removeChild(a[r]);a=i.querySelectorAll("*:empty:not(td):not(th):not(tr):not(iframe):not(svg):not("+e.FE.VOID_ELEMENTS.join("):not(")+"):not("+t.opts.htmlAllowedEmptyTags.join("):not(")+")")}return i.innerHTML}(n)),t.html.insert(n,!0)}t.events.trigger("paste.after"),t.undo.saveStep(a),a=null,t.undo.saveStep()}function h(e){for(var t=e.length-1;0<=t;t--)e[t].attributes&&e[t].attributes.length&&e.splice(t,1);return e}function g(e){var n,r=t.o_doc.createElement("div");r.innerHTML=e;for(var i=h(Array.prototype.slice.call(r.querySelectorAll(":scope > div:not([style]), td > div:not([style]), th > div:not([style]), li > div:not([style])")));i.length;){var a=i[i.length-1];if(t.html.defaultTag()&&"div"!=t.html.defaultTag())a.querySelector(t.html.blockTagsQuery())?a.outerHTML=a.innerHTML:a.outerHTML="<"+t.html.defaultTag()+">"+a.innerHTML+"</"+t.html.defaultTag()+">";else{var o=a.querySelectorAll("*");!o.length||"BR"!==o[o.length-1].tagName&&0===a.innerText.length?a.outerHTML=a.innerHTML+"<br>":a.nextSibling?a.outerHTML=a.innerHTML+"<br>":a.outerHTML=a.innerHTML}i=h(Array.prototype.slice.call(r.querySelectorAll(":scope > div:not([style]), td > div:not([style]), th > div:not([style]), li > div:not([style])")))}for(i=h(Array.prototype.slice.call(r.querySelectorAll("div:not([style])")));i.length;){for(n=0;n<i.length;n++){var s=i[n],l=s.innerHTML.replace(/\u0009/gi,"").trim();try{s.outerHTML=l}catch(e){}}i=h(Array.prototype.slice.call(r.querySelectorAll("div:not([style])")))}return r.innerHTML}function m(){t.el.removeEventListener("copy",s),t.el.removeEventListener("cut",s),t.el.removeEventListener("paste",d)}return{_init:function(){t.el.addEventListener("copy",s),t.el.addEventListener("cut",s),t.el.addEventListener("paste",d,{capture:!0}),t.events.on("drop",c),t.browser.msie&&t.browser.version<11&&(t.events.on("mouseup",function(e){2==e.button&&(setTimeout(function(){l=!1},50),l=!0)},!0),t.events.on("beforepaste",d)),t.events.on("destroy",m)},cleanEmptyTagsAndDivs:g,getRtfClipboard:function(){return r},saveCopiedText:o,clean:u}},e.extend(e.FE.DEFAULTS,{shortcutsEnabled:[],shortcutsHint:!0}),e.FE.SHORTCUTS_MAP={},e.FE.RegisterShortcut=function(t,n,r,i,a,o){e.FE.SHORTCUTS_MAP[(a?"^":"")+(o?"@":"")+t]={cmd:n,val:r,letter:i,shift:a,option:o},e.FE.DEFAULTS.shortcutsEnabled.push(n)},e.FE.RegisterShortcut(e.FE.KEYCODE.E,"show",null,"E",!1,!1),e.FE.RegisterShortcut(e.FE.KEYCODE.B,"bold",null,"B",!1,!1),e.FE.RegisterShortcut(e.FE.KEYCODE.I,"italic",null,"I",!1,!1),e.FE.RegisterShortcut(e.FE.KEYCODE.U,"underline",null,"U",!1,!1),e.FE.RegisterShortcut(e.FE.KEYCODE.S,"strikeThrough",null,"S",!1,!1),e.FE.RegisterShortcut(e.FE.KEYCODE.CLOSE_SQUARE_BRACKET,"indent",null,"]",!1,!1),e.FE.RegisterShortcut(e.FE.KEYCODE.OPEN_SQUARE_BRACKET,"outdent",null,"[",!1,!1),e.FE.RegisterShortcut(e.FE.KEYCODE.Z,"undo",null,"Z",!1,!1),e.FE.RegisterShortcut(e.FE.KEYCODE.Z,"redo",null,"Z",!0,!1),e.FE.RegisterShortcut(e.FE.KEYCODE.Y,"redo",null,"Y",!1,!1),e.FE.MODULES.shortcuts=function(t){var n=null,r=!1;function i(n){if(!t.core.hasFocus())return!0;var i=n.which,a=-1!=navigator.userAgent.indexOf("Mac OS X")?n.metaKey:n.ctrlKey;if("keyup"==n.type&&r&&i!=e.FE.KEYCODE.META)return r=!1;"keydown"==n.type&&(r=!1);var o=(n.shiftKey?"^":"")+(n.altKey?"@":"")+i;if(a&&e.FE.SHORTCUTS_MAP[o]){var s=e.FE.SHORTCUTS_MAP[o].cmd;if(s&&0<=t.opts.shortcutsEnabled.indexOf(s)){var l,d=e.FE.SHORTCUTS_MAP[o].val;if(s&&!d?l=t.$tb.find('.fr-command[data-cmd="'+s+'"]'):s&&d&&(l=t.$tb.find('.fr-command[data-cmd="'+s+'"][data-param1="'+d+'"]')),l.length)return n.preventDefault(),n.stopPropagation(),l.parents(".fr-toolbar").data("instance",t),"keydown"==n.type&&(t.button.exec(l),r=!0),!1;if(s&&(t.commands[s]||e.FE.COMMANDS[s]&&e.FE.COMMANDS[s].callback))return n.preventDefault(),n.stopPropagation(),"keydown"==n.type&&((t.commands[s]||e.FE.COMMANDS[s].callback)(),r=!0),!1}}}return{_init:function(){t.events.on("keydown",i,!0),t.events.on("keyup",i,!0)},get:function(r){if(!t.opts.shortcutsHint)return null;if(!n)for(var i in n={},e.FE.SHORTCUTS_MAP)e.FE.SHORTCUTS_MAP.hasOwnProperty(i)&&0<=t.opts.shortcutsEnabled.indexOf(e.FE.SHORTCUTS_MAP[i].cmd)&&(n[e.FE.SHORTCUTS_MAP[i].cmd+"."+(e.FE.SHORTCUTS_MAP[i].val||"")]={shift:e.FE.SHORTCUTS_MAP[i].shift,option:e.FE.SHORTCUTS_MAP[i].option,letter:e.FE.SHORTCUTS_MAP[i].letter});var a=n[r];return a?(t.helpers.isMac()?String.fromCharCode(8984):t.language.translate("Ctrl")+"+")+(a.shift?t.helpers.isMac()?String.fromCharCode(8679):t.language.translate("Shift")+"+":"")+(a.option?t.helpers.isMac()?String.fromCharCode(8997):t.language.translate("Alt")+"+":"")+a.letter:null}}},e.FE.MODULES.snapshot=function(e){function t(e){for(var t=e.parentNode.childNodes,n=0,r=null,i=0;i<t.length;i++){if(r){var a=t[i].nodeType===Node.TEXT_NODE&&""===t[i].textContent,o=r.nodeType===Node.TEXT_NODE&&t[i].nodeType===Node.TEXT_NODE;a||o||n++}if(t[i]==e)return n;r=t[i]}}function n(n){var r=[];if(!n.parentNode)return[];for(;!e.node.isElement(n);)r.push(t(n)),n=n.parentNode;return r.reverse()}function r(e,t){for(;e&&e.nodeType===Node.TEXT_NODE;){var n=e.previousSibling;n&&n.nodeType==Node.TEXT_NODE&&(t+=n.textContent.length),e=n}return t}function i(t){for(var n=e.el,r=0;r<t.length;r++)n=n.childNodes[t[r]];return n}function a(t,n){try{var r=i(n.scLoc),a=n.scOffset,o=i(n.ecLoc),s=n.ecOffset,l=e.doc.createRange();l.setStart(r,a),l.setEnd(o,s),t.addRange(l)}catch(e){console.warn(e)}}return{get:function(){var t,i={};if(e.events.trigger("snapshot.before"),i.html=(e.$wp?e.$el.html():e.$oel.get(0).outerHTML).replace(/ style=""/g,""),i.ranges=[],e.$wp&&e.selection.inEditor()&&e.core.hasFocus())for(var a=e.selection.ranges(),o=0;o<a.length;o++)i.ranges.push({scLoc:n((t=a[o]).startContainer),scOffset:r(t.startContainer,t.startOffset),ecLoc:n(t.endContainer),ecOffset:r(t.endContainer,t.endOffset)});return e.events.trigger("snapshot.after",[i]),i},restore:function(t){e.$el.html()!=t.html&&(e.opts.htmlExecuteScripts?e.$el.html(t.html):e.el.innerHTML=t.html);var n=e.selection.get();e.selection.clear(),e.events.focus(!0);for(var r=0;r<t.ranges.length;r++)a(n,t.ranges[r])},equal:function(t,n){return t.html==n.html&&(!e.core.hasFocus()||JSON.stringify(t.ranges)==JSON.stringify(n.ranges))}}},e.FE.MODULES.undo=function(e){function t(t){var n=t.which;e.keys.ctrlKey(t)&&(90==n&&t.shiftKey&&t.preventDefault(),90==n&&t.preventDefault())}var n=null;function r(){if(!e.undo_stack||e.undoing)return!1;for(;e.undo_stack.length>e.undo_index;)e.undo_stack.pop()}function i(){n=(e.$wp?e.$el.html():e.$oel.get(0).outerHTML).replace(/ style=""/g,""),e.undo_index=0,e.undo_stack=[]}function a(){e.undo_stack=[]}return{_init:function(){i(),e.events.on("initialized",function(){n=(e.$wp?e.$el.html():e.$oel.get(0).outerHTML).replace(/ style=""/g,"")}),e.events.on("blur",function(){e.el.querySelector(".fr-dragging")||e.undo.saveStep()}),e.events.on("keydown",t),e.events.on("destroy",a)},run:function(){if(1<e.undo_index){e.undoing=!0;var t=e.undo_stack[--e.undo_index-1];clearTimeout(e._content_changed_timer),e.snapshot.restore(t),n=t.html,e.popups.hideAll(),e.toolbar.enable(),e.events.trigger("contentChanged"),e.events.trigger("commands.undo"),e.undoing=!1}},redo:function(){if(e.undo_index<e.undo_stack.length){e.undoing=!0;var t=e.undo_stack[e.undo_index++];clearTimeout(e._content_changed_timer),e.snapshot.restore(t),n=t.html,e.popups.hideAll(),e.toolbar.enable(),e.events.trigger("contentChanged"),e.events.trigger("commands.redo"),e.undoing=!1}},canDo:function(){return!(0===e.undo_stack.length||e.undo_index<=1)},canRedo:function(){return e.undo_index!=e.undo_stack.length},dropRedo:r,reset:i,saveStep:function(t){if(!e.undo_stack||e.undoing||e.el.querySelector(".fr-marker"))return!1;void 0===t?(t=e.snapshot.get(),e.undo_stack[e.undo_index-1]&&e.snapshot.equal(e.undo_stack[e.undo_index-1],t)||(r(),e.undo_stack.push(t),e.undo_index++,t.html!=n&&(e.events.trigger("contentChanged"),n=t.html))):(r(),0<e.undo_index?e.undo_stack[e.undo_index-1]=t:(e.undo_stack.push(t),e.undo_index++))}}},e.FE.ICON_TEMPLATES={font_awesome:'<i class="fa fa-[NAME]" aria-hidden="true"></i>',font_awesome_5:'<i class="fas fa-[FA5NAME]" aria-hidden="true"></i>',font_awesome_5r:'<i class="far fa-[FA5NAME]" aria-hidden="true"></i>',font_awesome_5l:'<i class="fal fa-[FA5NAME]" aria-hidden="true"></i>',font_awesome_5b:'<i class="fab fa-[FA5NAME]" aria-hidden="true"></i>',text:'<span style="text-align: center;">[NAME]</span>',image:"<img src=[SRC] alt=[ALT] />",svg:'<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">[PATH]</svg>',empty:" "},e.FE.ICONS={bold:{NAME:"bold"},italic:{NAME:"italic"},underline:{NAME:"underline"},strikeThrough:{NAME:"strikethrough"},subscript:{NAME:"subscript"},superscript:{NAME:"superscript"},color:{NAME:"tint"},outdent:{NAME:"outdent"},indent:{NAME:"indent"},undo:{NAME:"rotate-left",FA5NAME:"undo"},redo:{NAME:"rotate-right",FA5NAME:"redo"},insertHR:{NAME:"minus"},clearFormatting:{NAME:"eraser"},selectAll:{NAME:"mouse-pointer"}},e.FE.DefineIconTemplate=function(t,n){e.FE.ICON_TEMPLATES[t]=n},e.FE.DefineIcon=function(t,n){e.FE.ICONS[t]=n},e.extend(e.FE.DEFAULTS,{iconsTemplate:"font_awesome"}),e.FE.MODULES.icon=function(t){return{create:function(n){var r=null,i=e.FE.ICONS[n];if(void 0!==i){var a=i.template||e.FE.ICON_DEFAULT_TEMPLATE||t.opts.iconsTemplate;a&&a.apply&&(a=a.apply(t)),i.FA5NAME||(i.FA5NAME=i.NAME),a&&(a=e.FE.ICON_TEMPLATES[a])&&(r=a.replace(/\[([a-zA-Z0-9]*)\]/g,function(e,t){return"NAME"==t?i[t]||n:i[t]}))}return r||n},getTemplate:function(n){var r=e.FE.ICONS[n],i=t.opts.iconsTemplate;return void 0!==r?i=r.template||e.FE.ICON_DEFAULT_TEMPLATE||t.opts.iconsTemplate:i}}},e.extend(e.FE.DEFAULTS,{tooltips:!0}),e.FE.MODULES.tooltip=function(t){function n(){if(t.helpers.isMobile())return!1;t.$tooltip&&t.$tooltip.removeClass("fr-visible").css("left","-3000px").css("position","fixed")}function r(n,r){if(t.helpers.isMobile())return!1;if(n.data("title")||n.data("title",n.attr("title")),!n.data("title"))return!1;t.$tooltip||t.opts.tooltips&&!t.helpers.isMobile()&&(t.shared.$tooltip?t.$tooltip=t.shared.$tooltip:(t.shared.$tooltip=e('<div class="fr-tooltip"></div>'),t.$tooltip=t.shared.$tooltip,t.opts.theme&&t.$tooltip.addClass(t.opts.theme+"-theme"),e(t.o_doc).find("body:first").append(t.$tooltip)),t.events.on("shared.destroy",function(){t.$tooltip.html("").removeData().remove(),t.$tooltip=null},!0)),n.removeAttr("title"),t.$tooltip.text(t.language.translate(n.data("title"))),t.$tooltip.addClass("fr-visible");var i=n.offset().left+(n.outerWidth()-t.$tooltip.outerWidth())/2;i<0&&(i=0),i+t.$tooltip.outerWidth()>e(t.o_win).width()&&(i=e(t.o_win).width()-t.$tooltip.outerWidth()),void 0===r&&(r=t.opts.toolbarBottom);var a=r?n.offset().top-t.$tooltip.height():n.offset().top+n.outerHeight();t.$tooltip.css("position",""),t.$tooltip.css("left",i),t.$tooltip.css("top",Math.ceil(a)),"static"!=e(t.o_doc).find("body:first").css("position")?(t.$tooltip.css("margin-left",-e(t.o_doc).find("body:first").offset().left),t.$tooltip.css("margin-top",-e(t.o_doc).find("body:first").offset().top)):(t.$tooltip.css("margin-left",""),t.$tooltip.css("margin-top",""))}return{hide:n,to:r,bind:function(i,a,o){t.opts.tooltips&&!t.helpers.isMobile()&&(t.events.$on(i,"mouseenter",a,function(n){t.node.hasClass(n.currentTarget,"fr-disabled")||t.edit.isDisabled()||r(e(n.currentTarget),o)},!0),t.events.$on(i,"mouseleave "+t._mousedown+" "+t._mouseup,a,function(){n()},!0))}}},e.FE.MODULES.button=function(t){var n=[];(t.opts.toolbarInline||t.opts.toolbarContainer)&&(t.shared.buttons||(t.shared.buttons=[]),n=t.shared.buttons);var r=[];function i(t,n,r){for(var i=e(),a=0;a<t.length;a++){var o=e(t[a]);if(o.is(n)&&(i=i.add(o)),r&&o.is(".fr-dropdown")){var s=o.next().find(n);i=i.add(s)}}return i}function a(a,o){var s,l=e();if(!a)return l;for(s in l=(l=l.add(i(n,a,o))).add(i(r,a,o)),t.shared.popups)if(t.shared.popups.hasOwnProperty(s)){var d=t.shared.popups[s].children().find(a);l=l.add(d)}for(s in t.shared.modals)if(t.shared.modals.hasOwnProperty(s)){var c=t.shared.modals[s].$modal.find(a);l=l.add(c)}return l}function o(e){e.addClass("fr-blink"),setTimeout(function(){e.removeClass("fr-blink")},500);for(var t=e.data("cmd"),n=[];void 0!==e.data("param"+(n.length+1));)n.push(e.data("param"+(n.length+1)));var r=a(".fr-dropdown.fr-active");r.length&&(r.removeClass("fr-active").attr("aria-expanded",!1).next().attr("aria-hidden",!0),r.prev(".fr-expanded").removeClass("fr-expanded"),r.parent(".fr-toolbar:not(.fr-inline)").css("zIndex","")),e.parents(".fr-popup, .fr-toolbar").data("instance").commands.exec(t,n)}function s(n){var r=n.parents(".fr-popup, .fr-toolbar").data("instance");if(0!==n.parents(".fr-popup").length||n.data("popup")||r.popups.hideAll(),r.popups.areVisible()&&!r.popups.areVisible(r)){for(var i=0;i<e.FE.INSTANCES.length;i++)e.FE.INSTANCES[i]!=r&&e.FE.INSTANCES[i].popups&&e.FE.INSTANCES[i].popups.areVisible()&&e.FE.INSTANCES[i].$el.find(".fr-marker").remove();r.popups.hideAll()}t.node.hasClass(n.get(0),"fr-dropdown")?function(n){var r=n.next(),i=t.node.hasClass(n.get(0),"fr-active"),o=a(".fr-dropdown.fr-active").not(n),s=n.parents(".fr-toolbar, .fr-popup").data("instance")||t;if(s.helpers.isIOS()&&!s.el.querySelector(".fr-marker")&&(s.selection.save(),s.selection.clear(),s.selection.restore()),!i){var l=n.data("cmd");r.find(".fr-command").removeClass("fr-active").attr("aria-selected",!1),e.FE.COMMANDS[l]&&e.FE.COMMANDS[l].refreshOnShow&&e.FE.COMMANDS[l].refreshOnShow.apply(s,[n,r]),r.css("left",n.offset().left-n.parent().offset().left-("rtl"==t.opts.direction?r.width()-n.outerWidth():0)),r.addClass("test-height");var d=r.outerHeight();r.removeClass("test-height"),r.css("top","").css("bottom",""),!t.opts.toolbarBottom&&r.offset().top+n.outerHeight()+d<e(t.o_doc).height()?r.css("top",n.position().top+n.outerHeight()):r.css("bottom",n.parents(".fr-popup, .fr-toolbar").first().height()-n.position().top)}n.addClass("fr-blink").toggleClass("fr-active"),n.hasClass("fr-options")&&n.prev().toggleClass("fr-expanded"),n.hasClass("fr-active")?(r.attr("aria-hidden",!1),n.attr("aria-expanded",!0)):(r.attr("aria-hidden",!0),n.attr("aria-expanded",!1)),setTimeout(function(){n.removeClass("fr-blink")},300),r.css("margin-left",""),r.offset().left+r.outerWidth()>t.$sc.offset().left+t.$sc.width()&&r.css("margin-left",-(r.offset().left+r.outerWidth()-t.$sc.offset().left-t.$sc.width())),r.offset().left<t.$sc.offset().left&&"rtl"==t.opts.direction&&r.css("margin-left",t.$sc.offset().left),o.removeClass("fr-active").attr("aria-expanded",!1).next().attr("aria-hidden",!0),o.prev(".fr-expanded").removeClass("fr-expanded"),o.parent(".fr-toolbar:not(.fr-inline)").css("zIndex",""),0!==n.parents(".fr-popup").length||t.opts.toolbarInline||(t.node.hasClass(n.get(0),"fr-active")?t.$tb.css("zIndex",(t.opts.zIndex||1)+4):t.$tb.css("zIndex",""));var c=r.find("a.fr-command.fr-active:first");t.helpers.isMobile()||(c.length?t.accessibility.focusToolbarElement(c):t.accessibility.focusToolbarElement(n))}(n):(o(n),e.FE.COMMANDS[n.data("cmd")]&&!1!==e.FE.COMMANDS[n.data("cmd")].refreshAfterCallback&&r.button.bulkRefresh())}function l(t){s(e(t.currentTarget))}function d(e){var t=e.find(".fr-dropdown.fr-active");t.length&&(t.removeClass("fr-active").attr("aria-expanded",!1).next().attr("aria-hidden",!0),t.parent(".fr-toolbar:not(.fr-inline)").css("zIndex",""),t.prev().removeClass("fr-expanded"))}function c(e){e.preventDefault(),e.stopPropagation()}function f(e){if(e.stopPropagation(),!t.helpers.isMobile())return!1}function p(n,r,i){if(r=e.extend(!0,{},r),t.helpers.isMobile()&&!1===r.showOnMobile)return"";var a=r.displaySelection;"function"==typeof a&&(a=a(t));var o="";if("options"!==r.type)if(a){var s="function"==typeof r.defaultSelection?r.defaultSelection(t):r.defaultSelection;o='<span style="width:'+(r.displaySelectionWidth||100)+'px">'+t.language.translate(s||r.title)+"</span>"}else o=t.icon.create(r.icon||n),o+='<span class="fr-sr-only">'+(t.language.translate(r.title)||"")+"</span>";var l=r.popup?' data-popup="true"':"",d=r.modal?' data-modal="true"':"",c=t.shortcuts.get(n+".");c=c?" ("+c+")":"";var f=n+"-"+t.id,u="dropdown-menu-"+f,h='<button id="'+f+'"type="button" tabIndex="-1" role="button"'+(r.toggle?' aria-pressed="false"':"")+("dropdown"==r.type||"options"==r.type?' aria-controls="'+u+'" aria-expanded="false" aria-haspopup="true"':"")+(r.disabled?' aria-disabled="true"':"")+' title="'+(t.language.translate(r.title)||"")+c+'" class="fr-command fr-btn'+("dropdown"==r.type||"options"==r.type?" fr-dropdown":"")+("options"==r.type?" fr-options":"")+" fr-btn-"+t.icon.getTemplate(r.icon)+(r.displaySelection?" fr-selection":"")+(r.back?" fr-back":"")+(r.disabled?" fr-disabled":"")+(i?"":" fr-hidden")+'" data-cmd="'+n+'"'+l+d+">"+o+"</button>";if("dropdown"==r.type||"options"==r.type){var g='<div id="'+u+'" class="fr-dropdown-menu" role="listbox" aria-labelledby="'+f+'" aria-hidden="true"><div class="fr-dropdown-wrapper" role="presentation"><div class="fr-dropdown-content" role="presentation">';g+=function(e,n){var r="";if(n.html)"function"==typeof n.html?r+=n.html.call(t):r+=n.html;else{var i=n.options;for(var a in"function"==typeof i&&(i=i()),r+='<ul class="fr-dropdown-list" role="presentation">',i)if(i.hasOwnProperty(a)){var o=t.shortcuts.get(e+"."+a);o=o?'<span class="fr-shortcut">'+o+"</span>":"",r+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="'+("options"===n.type?e.replace(/Options/g,""):e)+'" data-param1="'+a+'" title="'+i[a]+'">'+t.language.translate(i[a])+"</a></li>"}r+="</ul>"}return r}(n,r),h+=g+="</div></div></div>"}return r.hasOptions&&r.hasOptions.apply(t)&&(r.type="options",r.hasOptions=!1,h='<div class="fr-btn-wrap">'+h+p(n+"Options",r,i)+"</div>"),h}function u(n){var r=t.$tb&&t.$tb.data("instance")||t;if(!1===t.events.trigger("buttons.refresh"))return!0;setTimeout(function(){for(var i=r.selection.inEditor()&&r.core.hasFocus(),a=0;a<n.length;a++){var o=e(n[a]),s=o.data("cmd");0===o.parents(".fr-popup").length?i||e.FE.COMMANDS[s]&&e.FE.COMMANDS[s].forcedRefresh?r.button.refresh(o):t.node.hasClass(o.get(0),"fr-dropdown")||(o.removeClass("fr-active"),o.attr("aria-pressed")&&o.attr("aria-pressed",!1)):o.parents(".fr-popup").is(":visible")&&r.button.refresh(o)}},0)}function h(){u(n),u(r)}function g(){n=[],r=[]}t.shared.popup_buttons||(t.shared.popup_buttons=[]),r=t.shared.popup_buttons;var m=null;function v(){clearTimeout(m),m=setTimeout(h,50)}return{_init:function(){t.opts.toolbarInline?t.events.on("toolbar.show",h):(t.events.on("mouseup",v),t.events.on("keyup",v),t.events.on("blur",v),t.events.on("focus",v),t.events.on("contentChanged",v),t.helpers.isMobile()&&t.events.$on(t.$doc,"selectionchange",h)),t.events.on("shared.destroy",g)},buildList:function(n,r){for(var i="",a=0;a<n.length;a++){var o=n[a],s=e.FE.COMMANDS[o];s&&void 0!==s.plugin&&t.opts.pluginsEnabled.indexOf(s.plugin)<0||(s?i+=p(o,s,void 0===r||0<=r.indexOf(o)):"|"==o?i+='<div class="fr-separator fr-vs" role="separator" aria-orientation="vertical"></div>':"-"==o&&(i+='<div class="fr-separator fr-hs" role="separator" aria-orientation="horizontal"></div>'))}return i},bindCommands:function(i,a){t.events.bindClick(i,".fr-command:not(.fr-disabled)",l),t.events.$on(i,t._mousedown+" "+t._mouseup+" "+t._move,".fr-dropdown-menu",c,!0),t.events.$on(i,t._mousedown+" "+t._mouseup+" "+t._move,".fr-dropdown-menu .fr-dropdown-wrapper",f,!0);var o=i.get(0).ownerDocument,s="defaultView"in o?o.defaultView:o.parentWindow,p=function(n){(!n||n.type==t._mouseup&&n.target!=e("html").get(0)||"keydown"==n.type&&(t.keys.isCharacter(n.which)&&!t.keys.ctrlKey(n)||n.which==e.FE.KEYCODE.ESC))&&d(i)};t.events.$on(e(s),t._mouseup+" resize keydown",p,!0),t.opts.iframe&&t.events.$on(t.$win,t._mouseup,p,!0),t.node.hasClass(i.get(0),"fr-popup")?e.merge(r,i.find(".fr-btn").toArray()):e.merge(n,i.find(".fr-btn").toArray()),t.tooltip.bind(i,".fr-btn, .fr-title",a)},refresh:function(n){var r,i=n.parents(".fr-popup, .fr-toolbar").data("instance")||t,a=n.data("cmd");t.node.hasClass(n.get(0),"fr-dropdown")?r=n.next():(n.removeClass("fr-active"),n.attr("aria-pressed")&&n.attr("aria-pressed",!1)),e.FE.COMMANDS[a]&&e.FE.COMMANDS[a].refresh?e.FE.COMMANDS[a].refresh.apply(i,[n,r]):t.refresh[a]&&i.refresh[a](n,r)},bulkRefresh:h,exec:o,click:s,hideActiveDropdowns:d,getButtons:a}},e.FE.MODULES.modals=function(t){t.shared.modals||(t.shared.modals={});var n,r=t.shared.modals;function i(){for(var e in r){var t=r[e];t&&t.$modal&&t.$modal.removeData().remove()}n&&n.removeData().remove(),r={}}function a(i,a){if(r[i]){var o=r[i].$modal,s=o.data("instance")||t;s.events.enableBlur(),o.hide(),n.hide(),e(s.o_doc).find("body:first").removeClass("prevent-scroll fr-mobile"),o.removeClass("fr-active"),a||(s.accessibility.restoreSelection(),s.events.trigger("modals.hide"))}}function o(e){var n;if("string"==typeof e){if(!r[e])return;n=r[e].$modal}else n=e;return n&&t.node.hasClass(n,"fr-active")&&t.core.sameInstance(n)||!1}return{_init:function(){t.events.on("shared.destroy",i,!0)},get:function(e){return r[e]},create:function(i,o,s){if(t.shared.$overlay||(t.shared.$overlay=e('<div class="fr-overlay">').appendTo("body:first")),n=t.shared.$overlay,t.opts.theme&&n.addClass(t.opts.theme+"-theme"),!r[i]){var l=(d=o,c=s,f='<div tabIndex="-1" class="fr-modal'+(t.opts.theme?" "+t.opts.theme+"-theme":"")+'"><div class="fr-modal-wrapper">',f+='<div class="fr-modal-head">'+d+'<i title="'+t.language.translate("Cancel")+'" class="fa fa-times fr-modal-close"></i></div>',f+='<div tabIndex="-1" class="fr-modal-body">'+c+"</div>",e(f+="</div></div>"));r[i]={$modal:l,$head:l.find(".fr-modal-head"),$body:l.find(".fr-modal-body")},t.helpers.isMobile()||l.addClass("fr-desktop"),l.appendTo("body:first"),t.events.$on(l,"click",".fr-modal-close",function(){a(i)},!0),r[i].$body.css("margin-top",r[i].$head.outerHeight()),t.events.$on(l,"keydown",function(n){var r=n.which;return r==e.FE.KEYCODE.ESC?(a(i),t.accessibility.focusModalButton(l),!1):!(!e(n.target).is("input[type=text], textarea")&&r!=e.FE.KEYCODE.ARROW_UP&&r!=e.FE.KEYCODE.ARROW_DOWN&&!t.keys.isBrowserAction(n)&&(n.preventDefault(),n.stopPropagation(),1))},!0),a(i,!0)}var d,c,f;return r[i]},show:function(i){if(r[i]){var a=r[i].$modal;a.data("instance",t),a.show(),n.show(),e(t.o_doc).find("body:first").addClass("prevent-scroll"),t.helpers.isMobile()&&e(t.o_doc).find("body:first").addClass("fr-mobile"),a.addClass("fr-active"),t.accessibility.focusModal(a)}},hide:a,resize:function(n){if(r[n]){var i=r[n],a=i.$modal,o=i.$body,s=e(t.o_win).height(),l=a.find(".fr-modal-wrapper"),d=s-l.outerHeight(!0)+(l.height()-(o.outerHeight(!0)-o.height())),c="auto";d<o.get(0).scrollHeight&&(c=d),o.height(c)}},isVisible:o,areVisible:function(e){for(var t in r)if(r.hasOwnProperty(t)&&o(t)&&(void 0===e||r[t].$modal.data("instance")==e))return r[t].$modal;return!1}}},e.FE.POPUP_TEMPLATES={"text.edit":"[_EDIT_]"},e.FE.RegisterTemplate=function(t,n){e.FE.POPUP_TEMPLATES[t]=n},e.FE.MODULES.popups=function(t){t.shared.popups||(t.shared.popups={});var n=t.shared.popups;function r(e,r){r.is(":visible")||(r=t.$sc),r.is(n[e].data("container"))||(n[e].data("container",r),r.append(n[e]))}function i(e){return n[e]&&t.node.hasClass(n[e],"fr-active")&&t.core.sameInstance(n[e])||!1}function a(e){for(var t in n)if(n.hasOwnProperty(t)&&i(t)&&(void 0===e||n[t].data("instance")==e))return n[t];return!1}function o(e){var r=null;(r="string"!=typeof e?e:n[e])&&t.node.hasClass(r,"fr-active")&&(r.removeClass("fr-active fr-above"),t.events.trigger("popups.hide."+e),t.$tb&&(1<t.opts.zIndex?t.$tb.css("zIndex",t.opts.zIndex+1):t.$tb.css("zIndex","")),t.events.disableBlur(),r.find("input, textarea, button").filter(":focus").blur(),r.find("input, textarea").attr("disabled","disabled"))}function s(e){for(var t in void 0===e&&(e=[]),n)n.hasOwnProperty(t)&&e.indexOf(t)<0&&o(t)}function l(){t.shared.exit_flag=!0}function d(){t.shared.exit_flag=!1}function c(){return t.shared.exit_flag}function f(r){var a=n[r];return{_windowResize:function(){var e=a.data("instance")||t;!e.helpers.isMobile()&&a.is(":visible")&&(e.events.disableBlur(),e.popups.hide(r),e.events.enableBlur())},_inputFocus:function(n){var r=a.data("instance")||t,i=e(n.currentTarget);if(i.is("input:file")&&i.closest(".fr-layer").addClass("fr-input-focus"),n.preventDefault(),n.stopPropagation(),setTimeout(function(){r.events.enableBlur()},t.browser.msie?100:0),r.helpers.isMobile()){var o=e(r.o_win).scrollTop();setTimeout(function(){e(r.o_win).scrollTop(o)},0)}},_inputBlur:function(n){var r=a.data("instance")||t,i=e(n.currentTarget);i.is("input:file")&&i.closest(".fr-layer").removeClass("fr-input-focus"),document.activeElement!=this&&e(this).is(":visible")&&(r.events.blurActive()&&r.events.trigger("blur"),r.events.enableBlur())},_editorKeydown:function(n){var o=a.data("instance")||t;o.keys.ctrlKey(n)||n.which==e.FE.KEYCODE.ALT||n.which==e.FE.KEYCODE.ESC||(i(r)&&a.find(".fr-back:visible").length?o.button.exec(a.find(".fr-back:visible:first")):n.which!=e.FE.KEYCODE.ALT&&o.popups.hide(r))},_preventFocus:function(n){var r=a.data("instance")||t,i=n.originalEvent?n.originalEvent.target||n.originalEvent.originalTarget:null;"mouseup"==n.type||e(i).is(":focus")||r.events.disableBlur(),"mouseup"!=n.type||e(i).hasClass("fr-command")||0<e(i).parents(".fr-command").length||e(i).hasClass("fr-dropdown-content")||t.button.hideActiveDropdowns(a),(t.browser.safari||t.browser.mozilla)&&"mousedown"==n.type&&e(i).is("input[type=file]")&&r.events.disableBlur();var o="input, textarea, button, select, label, .fr-command";if(i&&!e(i).is(o)&&0===e(i).parents(o).length)return n.stopPropagation(),!1;i&&e(i).is(o)&&n.stopPropagation(),d()},_editorMouseup:function(){a.is(":visible")&&c()&&0<a.find("input:focus, textarea:focus, button:focus, select:focus").filter(":visible").length&&t.events.disableBlur()},_windowMouseup:function(e){if(!t.core.sameInstance(a))return!0;var n=a.data("instance")||t;a.is(":visible")&&c()&&(e.stopPropagation(),n.markers.remove(),n.popups.hide(r),d())},_windowKeydown:function(n){if(!t.core.sameInstance(a))return!0;var i=a.data("instance")||t,o=n.which;if(e.FE.KEYCODE.ESC==o){if(i.popups.isVisible(r)&&i.opts.toolbarInline)return n.stopPropagation(),i.popups.isVisible(r)&&(a.find(".fr-back:visible").length?(i.button.exec(a.find(".fr-back:visible:first")),i.accessibility.focusPopupButton(a)):a.find(".fr-dismiss:visible").length?i.button.exec(a.find(".fr-dismiss:visible:first")):(i.popups.hide(r),i.toolbar.showInline(null,!0),i.accessibility.FocusPopupButton(a))),!1;if(i.popups.isVisible(r))return a.find(".fr-back:visible").length?(i.button.exec(a.find(".fr-back:visible:first")),i.accessibility.focusPopupButton(a)):a.find(".fr-dismiss:visible").length?i.button.exec(a.find(".fr-dismiss:visible:first")):(i.popups.hide(r),i.accessibility.focusPopupButton(a)),!1}},_doPlaceholder:function(){0===e(this).next().length&&e(this).attr("placeholder")&&e(this).after('<label for="'+e(this).attr("id")+'">'+e(this).attr("placeholder")+"</label>"),e(this).toggleClass("fr-not-empty",""!==e(this).val())},_repositionPopup:function(){if(!t.opts.height&&!t.opts.heightMax||t.opts.toolbarInline)return!0;if(t.$wp&&i(r)&&a.parent().get(0)==t.$sc.get(0)){var e=a.offset().top-t.$wp.offset().top,n=t.$wp.outerHeight();t.node.hasClass(a.get(0),"fr-above")&&(e+=a.outerHeight()),n<e||e<0?a.addClass("fr-hidden"):a.removeClass("fr-hidden")}}}}function p(e,r){t.events.on("mouseup",e._editorMouseup,!0),t.$wp&&t.events.on("keydown",e._editorKeydown),t.events.on("blur",function(){a()&&t.markers.remove(),s()}),t.$wp&&!t.helpers.isMobile()&&t.events.$on(t.$wp,"scroll.popup"+r,e._repositionPopup),t.events.on("window.mouseup",e._windowMouseup,!0),t.events.on("window.keydown",e._windowKeydown,!0),n[r].data("inst"+t.id,!0),t.events.on("destroy",function(){t.core.sameInstance(n[r])&&n[r].removeClass("fr-active").appendTo("body:first")},!0)}function u(){for(var e in n)if(n.hasOwnProperty(e)){var t=n[e];t&&(t.html("").removeData().remove(),n[e]=null)}n=[]}return t.shared.exit_flag=!1,{_init:function(){t.events.on("shared.destroy",u,!0),t.events.on("window.mousedown",l),t.events.on("window.touchmove",d),t.events.$on(e(t.o_win),"scroll",d),t.events.on("mousedown",function(e){a()&&(e.stopPropagation(),t.$el.find(".fr-marker").remove(),l(),t.events.disableBlur())})},create:function(r,i){var a=function(r,i){var a,o,s=function(n,r){var i=e.FE.POPUP_TEMPLATES[n];if(!i)return null;for(var a in"function"==typeof i&&(i=i.apply(t)),r)r.hasOwnProperty(a)&&(i=i.replace("[_"+a.toUpperCase()+"_]",r[a]));return i}(r,i);return s?(a=e('<div class="fr-popup'+(t.helpers.isMobile()?" fr-mobile":" fr-desktop")+(t.opts.toolbarInline?" fr-inline":"")+'"><span class="fr-arrow"></span>'+s+"</div>"),t.opts.theme&&a.addClass(t.opts.theme+"-theme"),1<t.opts.zIndex&&(t.opts.editInPopup?a.css("z-index",t.opts.zIndex+2):t.$tb.css("z-index",t.opts.zIndex+2)),"auto"!=t.opts.direction&&a.removeClass("fr-ltr fr-rtl").addClass("fr-"+t.opts.direction),a.find("input, textarea").attr("dir",t.opts.direction).attr("disabled","disabled"),(o=e("body:first")).append(a),a.data("container",o),n[r]=a,t.button.bindCommands(a,!1),a):(a=e('<div class="fr-popup fr-empty"></div>'),(o=e("body:first")).append(a),a.data("container",o),n[r]=a)}(r,i),o=f(r);return p(o,r),t.events.$on(a,"mousedown mouseup touchstart touchend touch","*",o._preventFocus,!0),t.events.$on(a,"focus","input, textarea, button, select",o._inputFocus,!0),t.events.$on(a,"blur","input, textarea, button, select",o._inputBlur,!0),t.accessibility.registerPopup(r),t.events.$on(a,"keydown keyup change input","input, textarea",o._doPlaceholder,!0),t.helpers.isIOS()&&t.events.$on(a,"touchend","label",function(){e("#"+e(this).attr("for")).prop("checked",function(e,t){return!t})},!0),t.events.$on(e(t.o_win),"resize",o._windowResize,!0),a},get:function(e){var r=n[e];return r&&!r.data("inst"+t.id)&&p(f(e),e),r},show:function(e,o,l,c){if(i(e)||(a()&&0<t.$el.find(".fr-marker").length?(t.events.disableBlur(),t.selection.restore()):a()||(t.events.disableBlur(),t.events.focus(),t.events.enableBlur())),s([e]),!n[e])return!1;var p=t.button.getButtons(".fr-dropdown.fr-active");p.removeClass("fr-active").attr("aria-expanded",!1).parent(".fr-toolbar").css("zIndex",""),p.next().attr("aria-hidden",!0),n[e].data("instance",t),t.$tb&&t.$tb.data("instance",t);var u=n[e].outerWidth(),h=i(e);n[e].addClass("fr-active").removeClass("fr-hidden").find("input, textarea").removeAttr("disabled");var g,m,v=n[e].data("container");g=e,(m=v).is(":visible")||(m=t.$sc),0===m.find([n[g]]).length&&m.append(n[g]),t.opts.toolbarInline&&v&&t.$tb&&v.get(0)==t.$tb.get(0)&&(r(e,t.$sc),l=t.$tb.offset().top-t.helpers.getPX(t.$tb.css("margin-top")),o=t.$tb.offset().left+t.$tb.outerWidth()/2+(parseFloat(t.$tb.find(".fr-arrow").css("margin-left"))||0)+t.$tb.find(".fr-arrow").outerWidth()/2,t.node.hasClass(t.$tb.get(0),"fr-above")&&l&&(l+=t.$tb.outerHeight()),c=0),v=n[e].data("container"),!t.opts.iframe||c||h||(o&&(o-=t.$iframe.offset().left),l&&(l-=t.$iframe.offset().top)),v.is(t.$tb)?t.$tb.css("zIndex",(t.opts.zIndex||1)+4):n[e].css("zIndex",(t.opts.zIndex||1)+4),o&&(o-=u/2),t.opts.toolbarBottom&&v&&t.$tb&&v.get(0)==t.$tb.get(0)&&(n[e].addClass("fr-above"),l&&(l-=n[e].outerHeight())),n[e].removeClass("fr-active"),t.position.at(o,l,n[e],c||0),n[e].addClass("fr-active"),h||t.accessibility.focusPopup(n[e]),t.opts.toolbarInline&&t.toolbar.hide(),t.events.trigger("popups.show."+e),f(e)._repositionPopup(),d()},hide:o,onHide:function(e,n){t.events.on("popups.hide."+e,n)},hideAll:s,setContainer:r,refresh:function(r){n[r].data("instance",t),t.events.trigger("popups.refresh."+r);for(var i=n[r].find(".fr-command"),a=0;a<i.length;a++){var o=e(i[a]);0===o.parents(".fr-dropdown-menu").length&&t.button.refresh(o)}},onRefresh:function(e,n){t.events.on("popups.refresh."+e,n)},onShow:function(e,n){t.events.on("popups.show."+e,n)},isVisible:i,areVisible:a}},e.FE.MODULES.position=function(t){function n(){var e=t.selection.ranges(0).getBoundingClientRect();if(0===e.top&&0===e.left&&0===e.width||0===e.height){var n=!1;0===t.$el.find(".fr-marker").length&&(t.selection.save(),n=!0);var r=t.$el.find(".fr-marker:first");r.css("display","inline"),r.css("line-height","");var i=r.offset(),a=r.outerHeight();r.css("display","none"),r.css("line-height",0),(e={}).left=i.left,e.width=0,e.height=a,e.top=i.top-(t.helpers.isMobile()&&!t.helpers.isIOS()||t.opts.iframe?0:t.helpers.scrollTop()),e.right=1,e.bottom=1,e.ok=!0,n&&t.selection.restore()}return e}function r(e,n,r,i){var a=r.data("container");!a||"BODY"===a.get(0).tagName&&"static"==a.css("position")||(e&&(e-=a.offset().left),n&&(n-=a.offset().top),"BODY"!=a.get(0).tagName?(e&&(e+=a.get(0).scrollLeft),n&&(n+=a.get(0).scrollTop)):"absolute"==a.css("position")&&(e&&(e+=a.position().left),n&&(n+=a.position().top))),t.opts.iframe&&a&&t.$tb&&a.get(0)!=t.$tb.get(0)&&(e&&(e+=t.$iframe.offset().left),n&&(n+=t.$iframe.offset().top));var o,s,l=((o=e)+(s=r.outerWidth(!0))>t.$sc.get(0).clientWidth-10&&(o=t.$sc.get(0).clientWidth-s-10),o<0&&(o=10),o);if(e){r.css("left",l);var d=r.data("fr-arrow");d||(d=r.find(".fr-arrow"),r.data("fr-arrow",d)),d.data("margin-left")||d.data("margin-left",t.helpers.getPX(d.css("margin-left"))),d.css("margin-left",e-l+d.data("margin-left"))}n&&r.css("top",function(e,n,r){var i=e.outerHeight(!0);if(!t.helpers.isMobile()&&t.$tb&&e.parent().get(0)!=t.$tb.get(0)){var a=e.parent().offset().top,o=n-i-(r||0);e.parent().get(0)==t.$sc.get(0)&&(a-=e.parent().position().top);var s=t.$sc.get(0).clientHeight;a+n+i>t.$sc.offset().top+s&&0<e.parent().offset().top+o&&0<o?o>t.$wp.scrollTop()&&(n=o,e.addClass("fr-above")):e.removeClass("fr-above")}return n}(r,n,i))}function i(n){var r=e(n),i=r.is(".fr-sticky-on"),a=r.data("sticky-top"),o=r.data("sticky-scheduled");if(void 0===a){r.data("sticky-top",0);var s=e('<div class="fr-sticky-dummy" style="height: '+r.outerHeight()+'px;"></div>');t.$box.prepend(s)}else t.$box.find(".fr-sticky-dummy").css("height",r.outerHeight());if(t.core.hasFocus()||0<t.$tb.find("input:visible:focus").length){var l=t.helpers.scrollTop(),d=Math.min(Math.max(l-t.$tb.parent().offset().top,0),t.$tb.parent().outerHeight()-r.outerHeight());d!=a&&d!=o&&(clearTimeout(r.data("sticky-timeout")),r.data("sticky-scheduled",d),r.outerHeight()<l-t.$tb.parent().offset().top&&r.addClass("fr-opacity-0"),r.data("sticky-timeout",setTimeout(function(){var e=t.helpers.scrollTop(),n=Math.min(Math.max(e-t.$tb.parent().offset().top,0),t.$tb.parent().outerHeight()-r.outerHeight());0<n&&"BODY"==t.$tb.parent().get(0).tagName&&(n+=t.$tb.parent().position().top),n!=a&&(r.css("top",Math.max(n,0)),r.data("sticky-top",n),r.data("sticky-scheduled",n)),r.removeClass("fr-opacity-0")},100))),i||(r.css("top","0"),r.width(t.$tb.parent().width()),r.addClass("fr-sticky-on"),t.$box.addClass("fr-sticky-box"))}else clearTimeout(e(n).css("sticky-timeout")),r.css("top","0"),r.css("position",""),r.width(""),r.data("sticky-top",0),r.removeClass("fr-sticky-on"),t.$box.removeClass("fr-sticky-box")}function a(n){if(n.offsetWidth){var r,i,a=e(n),o=a.outerHeight(),s=a.data("sticky-position"),l=e("body"==t.opts.scrollableContainer?t.o_win:t.opts.scrollableContainer).outerHeight(),d=0,c=0;"body"!==t.opts.scrollableContainer&&(d=t.$sc.offset().top,c=e(t.o_win).outerHeight()-d-l);var f="body"==t.opts.scrollableContainer?t.helpers.scrollTop():d,p=a.is(".fr-sticky-on");a.data("sticky-parent")||a.data("sticky-parent",a.parent());var u=a.data("sticky-parent"),h=u.offset().top,g=u.outerHeight();if(a.data("sticky-offset")?t.$box.find(".fr-sticky-dummy").css("height",o+"px"):(a.data("sticky-offset",!0),a.after('<div class="fr-sticky-dummy" style="height: '+o+'px;"></div>')),!s){var m="auto"!==a.css("top")||"auto"!==a.css("bottom");m||a.css("position","fixed"),s={top:t.node.hasClass(a.get(0),"fr-top"),bottom:t.node.hasClass(a.get(0),"fr-bottom")},m||a.css("position",""),a.data("sticky-position",s),a.data("top",t.node.hasClass(a.get(0),"fr-top")?a.css("top"):"auto"),a.data("bottom",t.node.hasClass(a.get(0),"fr-bottom")?a.css("bottom"):"auto")}r=t.helpers.getPX(a.data("top")),i=t.helpers.getPX(a.data("bottom"));var v=s.top&&h<f+r&&f+r<=h+g-o&&(t.helpers.isInViewPort(t.$sc.get(0))||"body"==t.opts.scrollableContainer),E=s.bottom&&h+o<f+l-i&&f+l-i<h+g;v||E?(a.css("width",u.get(0).getBoundingClientRect().width+"px"),p||(a.addClass("fr-sticky-on"),a.removeClass("fr-sticky-off"),a.css("top")&&("auto"!=a.data("top")?a.css("top",t.helpers.getPX(a.data("top"))+d):a.data("top","auto")),a.css("bottom")&&("auto"!=a.data("bottom")?a.css("bottom",t.helpers.getPX(a.data("bottom"))+c):a.css("bottom","auto")))):t.node.hasClass(a.get(0),"fr-sticky-off")||(a.width(""),a.removeClass("fr-sticky-on"),a.addClass("fr-sticky-off"),a.css("top")&&"auto"!=a.data("top")&&s.top&&a.css("top",0),a.css("bottom")&&"auto"!=a.data("bottom")&&s.bottom&&a.css("bottom",0))}}function o(){if(t._stickyElements)for(var e=0;e<t._stickyElements.length;e++)a(t._stickyElements[e])}return{_init:function(){!function(){if(t._stickyElements=[],t.helpers.isIOS()){var n=function(){if(t.helpers.requestAnimationFrame()(n),!1!==t.events.trigger("position.refresh"))for(var e=0;e<t._stickyElements.length;e++)i(t._stickyElements[e])};n(),t.events.$on(e(t.o_win),"scroll",function(){if(t.core.hasFocus())for(var n=0;n<t._stickyElements.length;n++){var r=e(t._stickyElements[n]),i=r.parent(),a=t.helpers.scrollTop();r.outerHeight()<a-i.offset().top&&(r.addClass("fr-opacity-0"),r.data("sticky-top",-1),r.data("sticky-scheduled",-1))}},!0)}else"body"!==t.opts.scrollableContainer&&t.events.$on(e(t.opts.scrollableContainer),"scroll",o,!0),t.events.$on(e(t.o_win),"scroll",o,!0),t.events.$on(e(t.o_win),"resize",o,!0),t.events.on("initialized",o),t.events.on("focus",o),t.events.$on(e(t.o_win),"resize","textarea",o,!0);t.events.on("destroy",function(){t._stickyElements=[]})}()},forSelection:function(e){var i=n();e.css({top:0,left:0});var a=i.top+i.height,o=i.left+i.width/2-e.get(0).offsetWidth/2+t.helpers.scrollLeft();t.opts.iframe||(a+=t.helpers.scrollTop()),r(o,a,e,i.height)},addSticky:function(e){e.addClass("fr-sticky"),t.helpers.isIOS()&&e.addClass("fr-sticky-ios"),e.removeClass("fr-sticky"),t._stickyElements.push(e.get(0))},refresh:o,at:r,getBoundingRect:n}},e.FE.MODULES.refresh=function(t){function n(e,t){e.toggleClass("fr-disabled",t).attr("aria-disabled",t)}return{undo:function(e){n(e,!t.undo.canDo())},redo:function(e){n(e,!t.undo.canRedo())},outdent:function(r){if(t.node.hasClass(r.get(0),"fr-no-refresh"))return!1;for(var i=t.selection.blocks(),a=0;a<i.length;a++){var o="rtl"==t.opts.direction||"rtl"==e(i[a]).css("direction")?"margin-right":"margin-left";if("LI"==i[a].tagName||"LI"==i[a].parentNode.tagName)return n(r,!1),!0;if(0<t.helpers.getPX(e(i[a]).css(o)))return n(r,!1),!0}n(r,!0)},indent:function(e){if(t.node.hasClass(e.get(0),"fr-no-refresh"))return!1;for(var r=t.selection.blocks(),i=0;i<r.length;i++){for(var a=r[i].previousSibling;a&&a.nodeType==Node.TEXT_NODE&&0===a.textContent.length;)a=a.previousSibling;if("LI"!=r[i].tagName||a)return n(e,!1),!0;n(e,!0)}}}},e.extend(e.FE.DEFAULTS,{editInPopup:!1}),e.FE.MODULES.textEdit=function(e){return{_init:function(){var t;e.opts.editInPopup&&(t={edit:'<div id="fr-text-edit-'+e.id+'" class="fr-layer fr-text-edit-layer"><div class="fr-input-line"><input type="text" placeholder="'+e.language.translate("Text")+'" tabIndex="1"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="updateText" tabIndex="2">'+e.language.translate("Update")+"</button></div></div>"},e.popups.create("text.edit",t),e.events.$on(e.$el,e._mouseup,function(){setTimeout(function(){var t,n;n=e.popups.get("text.edit"),t="INPUT"===e.$el.prop("tagName")?e.$el.attr("placeholder"):e.$el.text(),n.find("input").val(t).trigger("change"),e.popups.setContainer("text.edit",e.$sc),e.popups.show("text.edit",e.$el.offset().left+e.$el.outerWidth()/2,e.$el.offset().top+e.$el.outerHeight(),e.$el.outerHeight())},10)}))},update:function(){var t=e.popups.get("text.edit").find("input").val();0===t.length&&(t=e.opts.placeholderText),"INPUT"===e.$el.prop("tagName")?e.$el.attr("placeholder",t):e.$el.text(t),e.events.trigger("contentChanged"),e.popups.hide("text.edit")}}},e.FE.RegisterCommand("updateText",{focus:!1,undo:!1,callback:function(){this.textEdit.update()}}),e.extend(e.FE.DEFAULTS,{toolbarBottom:!1,toolbarButtons:null,toolbarButtonsXS:null,toolbarButtonsSM:null,toolbarButtonsMD:null,toolbarContainer:null,toolbarInline:!1,toolbarSticky:!0,toolbarStickyOffset:0,toolbarVisibleWithoutSelection:!1}),e.FE.TOOLBAR_BUTTONS=["fullscreen","bold","italic","underline","strikeThrough","subscript","superscript","|","fontFamily","fontSize","color","inlineClass","inlineStyle","paragraphStyle","lineHeight","|","paragraphFormat","align","formatOL","formatUL","outdent","indent","quote","-","insertLink","insertImage","insertVideo","embedly","insertFile","insertTable","|","emoticons","fontAwesome","specialCharacters","insertHR","selectAll","clearFormatting","|","print","getPDF","spellChecker","help","html","|","undo","redo"],e.FE.TOOLBAR_BUTTONS_MD=null,e.FE.TOOLBAR_BUTTONS_SM=["bold","italic","underline","|","fontFamily","fontSize","insertLink","insertImage","table","|","undo","redo"],e.FE.TOOLBAR_BUTTONS_XS=["bold","italic","fontFamily","fontSize","|","undo","redo"],e.FE.MODULES.toolbar=function(t){var n=[];function r(e,t){for(var n=0;n<t.length;n++)"-"!=t[n]&&"|"!=t[n]&&e.indexOf(t[n])<0&&e.push(t[n])}function i(){var e=t.helpers.screenSize();return n[e]}function a(){var e=i();t.$tb.find(".fr-separator").remove(),t.$tb.find("> .fr-command, > div.fr-btn-wrap").addClass("fr-hidden");for(var n=0;n<e.length;n++)if("|"==e[n]||"-"==e[n])t.$tb.append(t.button.buildList([e[n]]));else{var r=t.$tb.find('> .fr-command[data-cmd="'+e[n]+'"], > div.fr-btn-wrap > .fr-command[data-cmd="'+e[n]+'"]'),a=null;t.node.hasClass(r.next().get(0),"fr-dropdown-menu")&&(a=r.next()),t.node.hasClass(r.next().get(0),"fr-options")&&(r=r.parent()),r.removeClass("fr-hidden").appendTo(t.$tb),a&&a.appendTo(t.$tb)}}function o(n,r){setTimeout(function(){if((!n||n.which!=e.FE.KEYCODE.ESC)&&t.selection.inEditor()&&t.core.hasFocus()&&!t.popups.areVisible()&&(t.opts.toolbarVisibleWithoutSelection||!t.selection.isCollapsed()&&!t.keys.isIME()||r)){if(t.$tb.data("instance",t),!1===t.events.trigger("toolbar.show",[n]))return!1;t.$tb.show(),t.opts.toolbarContainer||t.position.forSelection(t.$tb),1<t.opts.zIndex?t.$tb.css("z-index",t.opts.zIndex+1):t.$tb.css("z-index",null)}},0)}function s(e){return(!e||"blur"!==e.type||document.activeElement!==t.el)&&(!(!e||"keydown"!==e.type||!t.keys.ctrlKey(e))||!!t.button.getButtons(".fr-dropdown.fr-active").next().find(t.o_doc.activeElement).length||void(!1!==t.events.trigger("toolbar.hide")&&t.$tb.hide()))}n[e.FE.XS]=t.opts.toolbarButtonsXS||t.opts.toolbarButtons||e.FE.TOOLBAR_BUTTONS_XS||e.FE.TOOLBAR_BUTTONS||[],n[e.FE.SM]=t.opts.toolbarButtonsSM||t.opts.toolbarButtons||e.FE.TOOLBAR_BUTTONS_SM||e.FE.TOOLBAR_BUTTONS||[],n[e.FE.MD]=t.opts.toolbarButtonsMD||t.opts.toolbarButtons||e.FE.TOOLBAR_BUTTONS_MD||e.FE.TOOLBAR_BUTTONS||[],n[e.FE.LG]=t.opts.toolbarButtons||e.FE.TOOLBAR_BUTTONS||[];var l=null;function d(n){clearTimeout(l),n&&n.which==e.FE.KEYCODE.ESC||(l=setTimeout(o,t.opts.typingTimer))}function c(){t.events.on("window.mousedown",s),t.events.on("keydown",s),t.events.on("blur",s),t.helpers.isMobile()||t.events.on("window.mouseup",o),t.helpers.isMobile()?t.helpers.isIOS()||(t.events.on("window.touchend",o),t.browser.mozilla&&setInterval(o,200)):t.events.on("window.keyup",d),t.events.on("keydown",function(t){t&&t.which==e.FE.KEYCODE.ESC&&s()}),t.events.on("keydown",function(t){if(t.which==e.FE.KEYCODE.ALT)return t.stopPropagation(),!1},!0),t.events.$on(t.$wp,"scroll.toolbar",o),t.events.on("commands.after",o),t.helpers.isMobile()&&(t.events.$on(t.$doc,"selectionchange",d),t.events.$on(t.$doc,"orientationchange",o))}function f(){t.$tb.html("").removeData().remove(),t.$tb=null}function p(){t.$box.removeClass("fr-top fr-bottom fr-inline fr-basic"),t.$box.find(".fr-sticky-dummy").remove()}function u(){t.opts.theme&&t.$tb.addClass(t.opts.theme+"-theme"),1<t.opts.zIndex&&t.$tb.css("z-index",t.opts.zIndex+1),"auto"!=t.opts.direction&&t.$tb.removeClass("fr-ltr fr-rtl").addClass("fr-"+t.opts.direction),t.helpers.isMobile()?t.$tb.addClass("fr-mobile"):t.$tb.addClass("fr-desktop"),t.opts.toolbarContainer?(t.opts.toolbarInline&&(c(),s()),t.opts.toolbarBottom?t.$tb.addClass("fr-bottom"):t.$tb.addClass("fr-top")):t.opts.toolbarInline?(t.$sc.append(t.$tb),t.$tb.data("container",t.$sc),t.$tb.addClass("fr-inline"),t.$tb.prepend('<span class="fr-arrow"></span>'),c(),t.opts.toolbarBottom=!1):(t.opts.toolbarBottom&&!t.helpers.isIOS()?(t.$box.append(t.$tb),t.$tb.addClass("fr-bottom"),t.$box.addClass("fr-bottom")):(t.opts.toolbarBottom=!1,t.$box.prepend(t.$tb),t.$tb.addClass("fr-top"),t.$box.addClass("fr-top")),t.$tb.addClass("fr-basic"),t.opts.toolbarSticky&&(t.opts.toolbarStickyOffset&&(t.opts.toolbarBottom?t.$tb.css("bottom",t.opts.toolbarStickyOffset):t.$tb.css("top",t.opts.toolbarStickyOffset)),t.position.addSticky(t.$tb))),function(){var a=e.merge([],i());r(a,n[e.FE.XS]),r(a,n[e.FE.SM]),r(a,n[e.FE.MD]),r(a,n[e.FE.LG]);for(var o=a.length-1;0<=o;o--)"-"!=a[o]&&"|"!=a[o]&&a.indexOf(a[o])<o&&a.splice(o,1);var s=t.button.buildList(a,i());t.$tb.append(s),t.button.bindCommands(t.$tb)}(),t.events.$on(e(t.o_win),"resize",a),t.events.$on(e(t.o_win),"orientationchange",a),t.accessibility.registerToolbar(t.$tb),t.events.$on(t.$tb,t._mousedown+" "+t._mouseup,function(e){var n=e.originalEvent?e.originalEvent.target||e.originalEvent.originalTarget:null;if(n&&"INPUT"!=n.tagName&&!t.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1},!0)}var h=!1;return{_init:function(){if(t.$sc=e(t.opts.scrollableContainer).first(),!t.$wp)return!1;t.opts.toolbarContainer?(t.shared.$tb?(t.$tb=t.shared.$tb,t.opts.toolbarInline&&c()):(t.shared.$tb=e('<div class="fr-toolbar"></div>'),t.$tb=t.shared.$tb,e(t.opts.toolbarContainer).append(t.$tb),u(),t.$tb.data("instance",t)),t.opts.toolbarInline?t.$box.addClass("fr-inline"):t.$box.addClass("fr-basic"),t.events.on("focus",function(){t.$tb.data("instance",t)},!0),t.opts.toolbarInline=!1):t.opts.toolbarInline?(t.$box.addClass("fr-inline"),t.shared.$tb?(t.$tb=t.shared.$tb,c()):(t.shared.$tb=e('<div class="fr-toolbar"></div>'),t.$tb=t.shared.$tb,u())):(t.$box.addClass("fr-basic"),t.$tb=e('<div class="fr-toolbar"></div>'),u(),t.$tb.data("instance",t)),t.events.on("destroy",p,!0),t.events.on(t.opts.toolbarInline||t.opts.toolbarContainer?"shared.destroy":"destroy",f,!0)},hide:s,show:function(){if(!1===t.events.trigger("toolbar.show"))return!1;t.$tb.show()},showInline:o,disable:function(){!h&&t.$tb&&(t.$tb.find("> .fr-command").addClass("fr-disabled fr-no-refresh").attr("aria-disabled",!0),h=!0)},enable:function(){h&&t.$tb&&(t.$tb.find("> .fr-command").removeClass("fr-disabled fr-no-refresh").attr("aria-disabled",!1),h=!1),t.button.bulkRefresh()}}},e.FE.PLUGINS.align=function(t){return{apply:function(n){var r=t.selection.element();if(e(r).parents(".fr-img-caption").length)e(r).css("text-align",n);else{t.selection.save(),t.html.wrap(!0,!0,!0,!0),t.selection.restore();for(var i=t.selection.blocks(),a=0;a<i.length;a++)t.helpers.getAlignment(e(i[a].parentNode))==n?e(i[a]).css("text-align","").removeClass("fr-temp-div"):e(i[a]).css("text-align",n).removeClass("fr-temp-div"),""===e(i[a]).attr("class")&&e(i[a]).removeAttr("class"),""===e(i[a]).attr("style")&&e(i[a]).removeAttr("style");t.selection.save(),t.html.unwrap(),t.selection.restore()}},refresh:function(n){var r=t.selection.blocks();if(r.length){var i=t.helpers.getAlignment(e(r[0]));n.find("> *:first").replaceWith(t.icon.create("align-"+i))}},refreshOnShow:function(n,r){var i=t.selection.blocks();if(i.length){var a=t.helpers.getAlignment(e(i[0]));r.find('a.fr-command[data-param1="'+a+'"]').addClass("fr-active").attr("aria-selected",!0)}},refreshForToolbar:function(n){var r=t.selection.blocks();if(r.length){var i=t.helpers.getAlignment(e(r[0]));"align"+(i=i.charAt(0).toUpperCase()+i.slice(1))==n.attr("data-cmd")&&n.addClass("fr-active")}}}},e.FE.DefineIcon("align",{NAME:"align-left"}),e.FE.DefineIcon("align-left",{NAME:"align-left"}),e.FE.DefineIcon("align-right",{NAME:"align-right"}),e.FE.DefineIcon("align-center",{NAME:"align-center"}),e.FE.DefineIcon("align-justify",{NAME:"align-justify"}),e.FE.RegisterCommand("align",{type:"dropdown",title:"Align",options:{left:"Align Left",center:"Align Center",right:"Align Right",justify:"Align Justify"},html:function(){var t='<ul class="fr-dropdown-list" role="presentation">',n=e.FE.COMMANDS.align.options;for(var r in n)n.hasOwnProperty(r)&&(t+='<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="align" data-param1="'+r+'" title="'+this.language.translate(n[r])+'">'+this.icon.create("align-"+r)+'<span class="fr-sr-only">'+this.language.translate(n[r])+"</span></a></li>");return t+"</ul>"},callback:function(e,t){this.align.apply(t)},refresh:function(e){this.align.refresh(e)},refreshOnShow:function(e,t){this.align.refreshOnShow(e,t)},plugin:"align"}),e.FE.RegisterCommand("alignLeft",{type:"button",icon:"align-left",callback:function(){this.align.apply("left")},refresh:function(e){this.align.refreshForToolbar(e)}}),e.FE.RegisterCommand("alignRight",{type:"button",icon:"align-right",callback:function(){this.align.apply("right")},refresh:function(e){this.align.refreshForToolbar(e)}}),e.FE.RegisterCommand("alignCenter",{type:"button",icon:"align-center",callback:function(){this.align.apply("center")},refresh:function(e){this.align.refreshForToolbar(e)}}),e.FE.RegisterCommand("alignJustify",{type:"button",icon:"align-justify",callback:function(){this.align.apply("justify")},refresh:function(e){this.align.refreshForToolbar(e)}}),e.extend(e.FE.DEFAULTS,{charCounterMax:-1,charCounterCount:!0}),e.FE.PLUGINS.charCounter=function(t){var n;function r(){return(t.el.textContent||"").replace(/\u200B/g,"").length}function i(n){if(t.opts.charCounterMax<0)return!0;if(r()<t.opts.charCounterMax)return!0;var i=n.which;return!(!t.keys.ctrlKey(n)&&t.keys.isCharacter(i)||i===e.FE.KEYCODE.IME)||(n.preventDefault(),n.stopPropagation(),t.events.trigger("charCounter.exceeded"),!1)}function a(n){return t.opts.charCounterMax<0?n:e("<div>").html(n).text().length+r()<=t.opts.charCounterMax?n:(t.events.trigger("charCounter.exceeded"),"")}function o(){if(t.opts.charCounterCount){var e=r()+(0<t.opts.charCounterMax?"/"+t.opts.charCounterMax:"");n.text(e),t.opts.toolbarBottom&&n.css("margin-bottom",t.$tb.outerHeight(!0));var i=t.$wp.get(0).offsetWidth-t.$wp.get(0).clientWidth;0<=i&&("rtl"==t.opts.direction?n.css("margin-left",i):n.css("margin-right",i))}}return{_init:function(){return!!t.$wp&&!!t.opts.charCounterCount&&((n=e('<span class="fr-counter"></span>')).css("bottom",t.$wp.css("border-bottom-width")),t.$box.append(n),t.events.on("keydown",i,!0),t.events.on("paste.afterCleanup",a),t.events.on("keyup contentChanged input",function(){t.events.trigger("charCounter.update")}),t.events.on("charCounter.update",o),t.events.trigger("charCounter.update"),void t.events.on("destroy",function(){e(t.o_win).off("resize.char"+t.id),n.removeData().remove(),n=null}))},count:r}},e.FE.PLUGINS.codeBeautifier=function(){var e,t,n,r,i={};function a(e,t){var n={"@page":!0,"@font-face":!0,"@keyframes":!0,"@media":!0,"@supports":!0,"@document":!0},r={"@media":!0,"@supports":!0,"@document":!0};t=t||{},e=(e=e||"").replace(/\r\n|[\r\u2028\u2029]/g,"\n");var i=t.indent_size||4,a=t.indent_char||" ",o=void 0===t.selector_separator_newline||t.selector_separator_newline,s=void 0!==t.end_with_newline&&t.end_with_newline,l=void 0===t.newline_between_rules||t.newline_between_rules,d=t.eol?t.eol:"\n";"string"==typeof i&&(i=parseInt(i,10)),t.indent_with_tabs&&(a="\t",i=1),d=d.replace(/\\r/,"\r").replace(/\\n/,"\n");var c,f=/^\s+$/,p=-1,u=0;function h(){return(c=e.charAt(++p))||""}function g(t){var n,r=p;return t&&v(),n=e.charAt(p+1)||"",p=r-1,h(),n}function m(t){for(var n=p;h();)if("\\"===c)h();else{if(-1!==t.indexOf(c))break;if("\n"===c)break}return e.substring(n,p+1)}function v(){for(var e="";f.test(g());)h(),e+=c;return e}function E(){var e="";for(c&&f.test(c)&&(e=c);f.test(h());)e+=c;return e}function b(t){var n=p;for(t="/"===g(),h();h();){if(!t&&"*"===c&&"/"===g()){h();break}if(t&&"\n"===c)return e.substring(n,p)}return e.substring(n,p)+c}function T(t){return e.substring(p-t.length,p).toLowerCase()===t}function A(){for(var t=0,n=p+1;n<e.length;n++){var r=e.charAt(n);if("{"===r)return!0;if("("===r)t+=1;else if(")"===r){if(0==t)return!1;t-=1}else if(";"===r||"}"===r)return!1}return!1}for(var C,S,R=e.match(/^[\t ]*/)[0],y=new Array(i+1).join(a),_=0,L=0,x={"{":function(e){x.singleSpace(),w.push(e),x.newLine()},"}":function(e){x.newLine(),w.push(e),x.newLine()},_lastCharWhitespace:function(){return f.test(w[w.length-1])},newLine:function(e){w.length&&(e||"\n"===w[w.length-1]||x.trim(),w.push("\n"),R&&w.push(R))},singleSpace:function(){w.length&&!x._lastCharWhitespace()&&w.push(" ")},preserveSingleSpace:function(){M&&x.singleSpace()},trim:function(){for(;x._lastCharWhitespace();)w.pop()}},w=[],N=!1,O=!1,I=!1,D="",k="";;){var F=E(),M=""!==F,$=-1!==F.indexOf("\n");if(k=D,!(D=c))break;if("/"===c&&"*"===g()){var B=0===_;($||B)&&x.newLine(),w.push(b()),x.newLine(),B&&x.newLine(!0)}else if("/"===c&&"/"===g())$||"{"===k||x.trim(),x.singleSpace(),w.push(b()),x.newLine();else if("@"===c){x.preserveSingleSpace(),w.push(c);var P=(C=p,S=m(": ,;{}()[]/='\""),p=C-1,h(),S);P.match(/[ :]$/)&&(h(),P=m(": ").replace(/\s$/,""),w.push(P),x.singleSpace()),(P=P.replace(/\s$/,""))in n&&(L+=1,P in r&&(I=!0))}else"#"===c&&"{"===g()?(x.preserveSingleSpace(),w.push(m("}"))):"{"===c?"}"===g(!0)?(v(),h(),x.singleSpace(),w.push("{}"),x.newLine(),l&&0===_&&x.newLine(!0)):(_++,R+=y,x["{"](c),I?(I=!1,N=L<_):N=L<=_):"}"===c?(_--,R=R.slice(0,-i),x["}"](c),O=N=!1,L&&L--,l&&0===_&&x.newLine(!0)):":"===c?(v(),!N&&!I||T("&")||A()?":"===g()?(h(),w.push("::")):w.push(":"):(O=!0,w.push(":"),x.singleSpace())):'"'===c||"'"===c?(x.preserveSingleSpace(),w.push(m(c))):";"===c?(O=!1,w.push(c),x.newLine()):"("===c?T("url")?(w.push(c),v(),h()&&(")"!==c&&'"'!==c&&"'"!==c?w.push(m(")")):p--)):(u++,x.preserveSingleSpace(),w.push(c),v()):")"===c?(w.push(c),u--):","===c?(w.push(c),v(),o&&!O&&u<1?x.newLine():x.singleSpace()):("]"===c||("["===c?x.preserveSingleSpace():"="===c?(v(),c="="):x.preserveSingleSpace()),w.push(c))}var U="";return R&&(U+=R),U+=w.join("").replace(/[\r\n\t ]+$/,""),s&&(U+="\n"),"\n"!=d&&(U=U.replace(/[\n]/g,d)),U}function o(e,t){for(var n=0;n<t.length;n+=1)if(t[n]===e)return!0;return!1}function s(e){return e.replace(/^\s+|\s+$/g,"")}function l(e,t){return new function(e,t){var n,r,a,l,f,p,u,h,g,m,v,E,b,T=[],A="";function C(e,t){var r=0;return e&&(r=e.indentation_level,!n.just_added_newline()&&e.line_indent_level>r&&(r=e.line_indent_level)),{mode:t,parent:e,last_text:e?e.last_text:"",last_word:e?e.last_word:"",declaration_statement:!1,declaration_assignment:!1,multiline_frame:!1,if_block:!1,else_block:!1,do_block:!1,do_while:!1,in_case_statement:!1,in_case:!1,case_body:!1,indentation_level:r,line_indent_level:e?e.line_indent_level:r,start_line_index:n.get_line_number(),ternary_depth:0}}for(E={TK_START_EXPR:function(){F();var e=d.Expression;if("["===l.text){if("TK_WORD"===f||")"===h.last_text)return"TK_RESERVED"===f&&o(h.last_text,a.line_starters)&&(n.space_before_token=!0),N(e),x(),w(),void(b.space_in_paren&&(n.space_before_token=!0));e=d.ArrayLiteral,O(h.mode)&&("["!==h.last_text&&(","!==h.last_text||"]"!==p&&"}"!==p)||b.keep_array_indentation||_())}else"TK_RESERVED"===f&&"for"===h.last_text?e=d.ForInitializer:"TK_RESERVED"===f&&o(h.last_text,["if","while"])&&(e=d.Conditional);";"===h.last_text||"TK_START_BLOCK"===f?_():"TK_END_EXPR"===f||"TK_START_EXPR"===f||"TK_END_BLOCK"===f||"."===h.last_text?y(l.wanted_newline):"TK_RESERVED"===f&&"("===l.text||"TK_WORD"===f||"TK_OPERATOR"===f?"TK_RESERVED"===f&&("function"===h.last_word||"typeof"===h.last_word)||"*"===h.last_text&&"function"===p?b.space_after_anon_function&&(n.space_before_token=!0):"TK_RESERVED"!==f||!o(h.last_text,a.line_starters)&&"catch"!==h.last_text||b.space_before_conditional&&(n.space_before_token=!0):n.space_before_token=!0,"("===l.text&&"TK_RESERVED"===f&&"await"===h.last_word&&(n.space_before_token=!0),"("===l.text&&("TK_EQUALS"!==f&&"TK_OPERATOR"!==f||k()||y()),N(e),x(),b.space_in_paren&&(n.space_before_token=!0),w()},TK_END_EXPR:function(){for(;h.mode===d.Statement;)D();h.multiline_frame&&y("]"===l.text&&O(h.mode)&&!b.keep_array_indentation),b.space_in_paren&&("TK_START_EXPR"!==f||b.space_in_empty_paren?n.space_before_token=!0:(n.trim(),n.space_before_token=!1)),"]"===l.text&&b.keep_array_indentation?(x(),D()):(D(),x()),n.remove_redundant_indentation(g),h.do_while&&g.mode===d.Conditional&&(g.mode=d.Expression,h.do_block=!1,h.do_while=!1)},TK_START_BLOCK:function(){var e=$(1),t=$(2);t&&(":"===t.text&&o(e.type,["TK_STRING","TK_WORD","TK_RESERVED"])||o(e.text,["get","set"])&&o(t.type,["TK_WORD","TK_RESERVED"]))?o(p,["class","interface"])?N(d.BlockStatement):N(d.ObjectLiteral):N(d.BlockStatement);var r=!e.comments_before.length&&"}"===e.text&&"function"===h.last_word&&"TK_END_EXPR"===f;"expand"===b.brace_style||"none"===b.brace_style&&l.wanted_newline?"TK_OPERATOR"!==f&&(r||"TK_EQUALS"===f||"TK_RESERVED"===f&&M(h.last_text)&&"else"!==h.last_text)?n.space_before_token=!0:_(!1,!0):"TK_OPERATOR"!==f&&"TK_START_EXPR"!==f?"TK_START_BLOCK"===f?_():n.space_before_token=!0:O(g.mode)&&","===h.last_text&&("}"===p?n.space_before_token=!0:_()),x(),w()},TK_END_BLOCK:function(){for(;h.mode===d.Statement;)D();var e="TK_START_BLOCK"===f;"expand"===b.brace_style?e||_():e||(O(h.mode)&&b.keep_array_indentation?(b.keep_array_indentation=!1,_(),b.keep_array_indentation=!0):_()),D(),x()},TK_WORD:B,TK_RESERVED:B,TK_SEMICOLON:function(){for(F()&&(n.space_before_token=!1);h.mode===d.Statement&&!h.if_block&&!h.do_block;)D();x()},TK_STRING:function(){F()?n.space_before_token=!0:"TK_RESERVED"===f||"TK_WORD"===f?n.space_before_token=!0:"TK_COMMA"===f||"TK_START_EXPR"===f||"TK_EQUALS"===f||"TK_OPERATOR"===f?k()||y():_(),x()},TK_EQUALS:function(){F(),h.declaration_statement&&(h.declaration_assignment=!0),n.space_before_token=!0,x(),n.space_before_token=!0},TK_OPERATOR:function(){if(F(),"TK_RESERVED"===f&&M(h.last_text))return n.space_before_token=!0,void x();if("*"!==l.text||"TK_DOT"!==f){if(":"===l.text&&h.in_case)return h.case_body=!0,w(),x(),_(),void(h.in_case=!1);if("::"!==l.text){"TK_OPERATOR"===f&&y();var e=!0,t=!0;o(l.text,["--","++","!","~"])||o(l.text,["-","+"])&&(o(f,["TK_START_BLOCK","TK_START_EXPR","TK_EQUALS","TK_OPERATOR"])||o(h.last_text,a.line_starters)||","===h.last_text)?(t=e=!1,!l.wanted_newline||"--"!==l.text&&"++"!==l.text||_(!1,!0),";"===h.last_text&&I(h.mode)&&(e=!0),"TK_RESERVED"===f?e=!0:"TK_END_EXPR"===f?e=!("]"===h.last_text&&("--"===l.text||"++"===l.text)):"TK_OPERATOR"===f&&(e=o(l.text,["--","-","++","+"])&&o(h.last_text,["--","-","++","+"]),o(l.text,["+","-"])&&o(h.last_text,["--","++"])&&(t=!0)),h.mode!==d.BlockStatement&&h.mode!==d.Statement||"{"!==h.last_text&&";"!==h.last_text||_()):":"===l.text?0===h.ternary_depth?e=!1:h.ternary_depth-=1:"?"===l.text?h.ternary_depth+=1:"*"===l.text&&"TK_RESERVED"===f&&"function"===h.last_text&&(t=e=!1),n.space_before_token=n.space_before_token||e,x(),n.space_before_token=t}else x()}else x()},TK_COMMA:function(){if(h.declaration_statement)return I(h.parent.mode)&&(h.declaration_assignment=!1),x(),void(h.declaration_assignment?_(h.declaration_assignment=!1,!0):(n.space_before_token=!0,b.comma_first&&y()));x(),h.mode===d.ObjectLiteral||h.mode===d.Statement&&h.parent.mode===d.ObjectLiteral?(h.mode===d.Statement&&D(),_()):(n.space_before_token=!0,b.comma_first&&y())},TK_BLOCK_COMMENT:function(){if(n.raw)return n.add_raw_token(l),void(l.directives&&"end"===l.directives.preserve&&(b.test_output_raw||(n.raw=!1)));if(l.directives)return _(!1,!0),x(),"start"===l.directives.preserve&&(n.raw=!0),void _(!1,!0);if(!i.newline.test(l.text)&&!l.wanted_newline)return n.space_before_token=!0,x(),void(n.space_before_token=!0);var e,t=function(e){for(var t=[],n=(e=e.replace(/\x0d/g,"")).indexOf("\n");-1!==n;)t.push(e.substring(0,n)),n=(e=e.substring(n+1)).indexOf("\n");return e.length&&t.push(e),t}(l.text),r=!1,a=!1,o=l.whitespace_before,d=o.length;for(_(!1,!0),1<t.length&&(function(e,t){for(var n=0;n<e.length;n++){if("*"!==s(e[n]).charAt(0))return!1}return!0}(t.slice(1))?r=!0:function(e,t){for(var n,r=0,i=e.length;r<i;r++)if((n=e[r])&&0!==n.indexOf(t))return!1;return!0}(t.slice(1),o)&&(a=!0)),x(t[0]),e=1;e<t.length;e++)_(!1,!0),r?x(" "+t[e].replace(/^\s+/g,"")):a&&t[e].length>d?x(t[e].substring(d)):n.add_token(t[e]);_(!1,!0)},TK_COMMENT:function(){l.wanted_newline?_(!1,!0):n.trim(!0),n.space_before_token=!0,x(),_(!1,!0)},TK_DOT:function(){F(),"TK_RESERVED"===f&&M(h.last_text)?n.space_before_token=!0:y(")"===h.last_text&&b.break_chained_methods),x()},TK_UNKNOWN:function(){x(),"\n"===l.text[l.text.length-1]&&_()},TK_EOF:function(){for(;h.mode===d.Statement;)D()}},b={},void 0!==(t=t||{}).braces_on_own_line&&(b.brace_style=t.braces_on_own_line?"expand":"collapse"),b.brace_style=t.brace_style?t.brace_style:b.brace_style?b.brace_style:"collapse","expand-strict"===b.brace_style&&(b.brace_style="expand"),b.indent_size=t.indent_size?parseInt(t.indent_size,10):4,b.indent_char=t.indent_char?t.indent_char:" ",b.eol=t.eol?t.eol:"\n",b.preserve_newlines=void 0===t.preserve_newlines||t.preserve_newlines,b.break_chained_methods=void 0!==t.break_chained_methods&&t.break_chained_methods,b.max_preserve_newlines=void 0===t.max_preserve_newlines?0:parseInt(t.max_preserve_newlines,10),b.space_in_paren=void 0!==t.space_in_paren&&t.space_in_paren,b.space_in_empty_paren=void 0!==t.space_in_empty_paren&&t.space_in_empty_paren,b.jslint_happy=void 0!==t.jslint_happy&&t.jslint_happy,b.space_after_anon_function=void 0!==t.space_after_anon_function&&t.space_after_anon_function,b.keep_array_indentation=void 0!==t.keep_array_indentation&&t.keep_array_indentation,b.space_before_conditional=void 0===t.space_before_conditional||t.space_before_conditional,b.unescape_strings=void 0!==t.unescape_strings&&t.unescape_strings,b.wrap_line_length=void 0===t.wrap_line_length?0:parseInt(t.wrap_line_length,10),b.e4x=void 0!==t.e4x&&t.e4x,b.end_with_newline=void 0!==t.end_with_newline&&t.end_with_newline,b.comma_first=void 0!==t.comma_first&&t.comma_first,b.test_output_raw=void 0!==t.test_output_raw&&t.test_output_raw,b.jslint_happy&&(b.space_after_anon_function=!0),t.indent_with_tabs&&(b.indent_char="\t",b.indent_size=1),b.eol=b.eol.replace(/\\r/,"\r").replace(/\\n/,"\n"),u="";0<b.indent_size;)u+=b.indent_char,b.indent_size-=1;var S=0;if(e&&e.length){for(;" "===e.charAt(S)||"\t"===e.charAt(S);)A+=e.charAt(S),S+=1;e=e.substring(S)}function R(e){var t=e.newlines;if(b.keep_array_indentation&&O(h.mode))for(n=0;n<t;n+=1)_(0<n);else if(b.max_preserve_newlines&&t>b.max_preserve_newlines&&(t=b.max_preserve_newlines),b.preserve_newlines&&1<e.newlines){_();for(var n=1;n<t;n+=1)_(!0)}E[(l=e).type]()}function y(e){if(e=void 0!==e&&e,!n.just_added_newline())if(b.preserve_newlines&&l.wanted_newline||e)_(!1,!0);else if(b.wrap_line_length){n.current_line.get_character_count()+l.text.length+(n.space_before_token?1:0)>=b.wrap_line_length&&_(!1,!0)}}function _(e,t){if(!t&&";"!==h.last_text&&","!==h.last_text&&"="!==h.last_text&&"TK_OPERATOR"!==f)for(;h.mode===d.Statement&&!h.if_block&&!h.do_block;)D();n.add_new_line(e)&&(h.multiline_frame=!0)}function L(){n.just_added_newline()&&(b.keep_array_indentation&&O(h.mode)&&l.wanted_newline?(n.current_line.push(l.whitespace_before),n.space_before_token=!1):n.set_indent(h.indentation_level)&&(h.line_indent_level=h.indentation_level))}function x(e){n.raw?n.add_raw_token(l):(b.comma_first&&"TK_COMMA"===f&&n.just_added_newline()&&","===n.previous_line.last()&&(n.previous_line.pop(),L(),n.add_token(","),n.space_before_token=!0),e=e||l.text,L(),n.add_token(e))}function w(){h.indentation_level+=1}function N(e){h?(m.push(h),g=h):g=C(null,e),h=C(g,e)}function O(e){return e===d.ArrayLiteral}function I(e){return o(e,[d.Expression,d.ForInitializer,d.Conditional])}function D(){0<m.length&&(g=h,h=m.pop(),g.mode===d.Statement&&n.remove_redundant_indentation(g))}function k(){return h.parent.mode===d.ObjectLiteral&&h.mode===d.Statement&&(":"===h.last_text&&0===h.ternary_depth||"TK_RESERVED"===f&&o(h.last_text,["get","set"]))}function F(){return!!("TK_RESERVED"===f&&o(h.last_text,["var","let","const"])&&"TK_WORD"===l.type||"TK_RESERVED"===f&&"do"===h.last_text||"TK_RESERVED"===f&&"return"===h.last_text&&!l.wanted_newline||"TK_RESERVED"===f&&"else"===h.last_text&&("TK_RESERVED"!==l.type||"if"!==l.text)||"TK_END_EXPR"===f&&(g.mode===d.ForInitializer||g.mode===d.Conditional)||"TK_WORD"===f&&h.mode===d.BlockStatement&&!h.in_case&&"--"!==l.text&&"++"!==l.text&&"function"!==p&&"TK_WORD"!==l.type&&"TK_RESERVED"!==l.type||h.mode===d.ObjectLiteral&&(":"===h.last_text&&0===h.ternary_depth||"TK_RESERVED"===f&&o(h.last_text,["get","set"])))&&(N(d.Statement),w(),"TK_RESERVED"===f&&o(h.last_text,["var","let","const"])&&"TK_WORD"===l.type&&(h.declaration_statement=!0),k()||y("TK_RESERVED"===l.type&&o(l.text,["do","for","if","while"])),!0)}function M(e){return o(e,["case","return","do","if","throw","else"])}function $(e){var t=r+(e||0);return t<0||t>=T.length?null:T[t]}function B(){("TK_RESERVED"===l.type&&h.mode!==d.ObjectLiteral&&o(l.text,["set","get"])&&(l.type="TK_WORD"),"TK_RESERVED"===l.type&&h.mode===d.ObjectLiteral)&&(":"==$(1).text&&(l.type="TK_WORD"));if(F()||!l.wanted_newline||I(h.mode)||"TK_OPERATOR"===f&&"--"!==h.last_text&&"++"!==h.last_text||"TK_EQUALS"===f||!b.preserve_newlines&&"TK_RESERVED"===f&&o(h.last_text,["var","let","const","set","get"])||_(),h.do_block&&!h.do_while){if("TK_RESERVED"===l.type&&"while"===l.text)return n.space_before_token=!0,x(),n.space_before_token=!0,void(h.do_while=!0);_(),h.do_block=!1}if(h.if_block)if(h.else_block||"TK_RESERVED"!==l.type||"else"!==l.text){for(;h.mode===d.Statement;)D();h.if_block=!1,h.else_block=!1}else h.else_block=!0;if("TK_RESERVED"===l.type&&("case"===l.text||"default"===l.text&&h.in_case_statement))return _(),(h.case_body||b.jslint_happy)&&(0<h.indentation_level&&(!h.parent||h.indentation_level>h.parent.indentation_level)&&(h.indentation_level-=1),h.case_body=!1),x(),h.in_case=!0,void(h.in_case_statement=!0);if("TK_RESERVED"===l.type&&"function"===l.text&&((o(h.last_text,["}",";"])||n.just_added_newline()&&!o(h.last_text,["[","{",":","=",","]))&&(n.just_added_blankline()||l.comments_before.length||(_(),_(!0))),"TK_RESERVED"===f||"TK_WORD"===f?"TK_RESERVED"===f&&o(h.last_text,["get","set","new","return","export","async"])?n.space_before_token=!0:"TK_RESERVED"===f&&"default"===h.last_text&&"export"===p?n.space_before_token=!0:_():"TK_OPERATOR"===f||"="===h.last_text?n.space_before_token=!0:(h.multiline_frame||!I(h.mode)&&!O(h.mode))&&_()),"TK_COMMA"!==f&&"TK_START_EXPR"!==f&&"TK_EQUALS"!==f&&"TK_OPERATOR"!==f||k()||y(),"TK_RESERVED"===l.type&&o(l.text,["function","get","set"]))return x(),void(h.last_word=l.text);if(v="NONE","TK_END_BLOCK"===f?"TK_RESERVED"===l.type&&o(l.text,["else","catch","finally"])?"expand"===b.brace_style||"end-expand"===b.brace_style||"none"===b.brace_style&&l.wanted_newline?v="NEWLINE":(v="SPACE",n.space_before_token=!0):v="NEWLINE":"TK_SEMICOLON"===f&&h.mode===d.BlockStatement?v="NEWLINE":"TK_SEMICOLON"===f&&I(h.mode)?v="SPACE":"TK_STRING"===f?v="NEWLINE":"TK_RESERVED"===f||"TK_WORD"===f||"*"===h.last_text&&"function"===p?v="SPACE":"TK_START_BLOCK"===f?v="NEWLINE":"TK_END_EXPR"===f&&(n.space_before_token=!0,v="NEWLINE"),"TK_RESERVED"===l.type&&o(l.text,a.line_starters)&&")"!==h.last_text&&(v="else"===h.last_text||"export"===h.last_text?"SPACE":"NEWLINE"),"TK_RESERVED"===l.type&&o(l.text,["else","catch","finally"]))if("TK_END_BLOCK"!==f||"expand"===b.brace_style||"end-expand"===b.brace_style||"none"===b.brace_style&&l.wanted_newline)_();else{n.trim(!0),"}"!==n.current_line.last()&&_(),n.space_before_token=!0}else"NEWLINE"===v?"TK_RESERVED"===f&&M(h.last_text)?n.space_before_token=!0:"TK_END_EXPR"!==f?"TK_START_EXPR"===f&&"TK_RESERVED"===l.type&&o(l.text,["var","let","const"])||":"===h.last_text||("TK_RESERVED"===l.type&&"if"===l.text&&"else"===h.last_text?n.space_before_token=!0:_()):"TK_RESERVED"===l.type&&o(l.text,a.line_starters)&&")"!==h.last_text&&_():h.multiline_frame&&O(h.mode)&&","===h.last_text&&"}"===p?_():"SPACE"===v&&(n.space_before_token=!0);x(),h.last_word=l.text,"TK_RESERVED"===l.type&&"do"===l.text&&(h.do_block=!0),"TK_RESERVED"===l.type&&"if"===l.text&&(h.if_block=!0)}f="TK_START_BLOCK",p="",(n=new function(e,t){t=t||"",this.indent_cache=[t],this.baseIndentLength=t.length,this.indent_length=e.length,this.raw=!1;var n=[];this.baseIndentString=t,this.indent_string=e,this.previous_line=null,this.current_line=null,this.space_before_token=!1,this.add_outputline=function(){this.previous_line=this.current_line,this.current_line=new function(e){var t=0,n=-1,r=[],i=!0;this.set_indent=function(r){t=e.baseIndentLength+r*e.indent_length,n=r},this.get_character_count=function(){return t},this.is_empty=function(){return i},this.last=function(){return this._empty?null:r[r.length-1]},this.push=function(e){r.push(e),t+=e.length,i=!1},this.pop=function(){var e=null;return i||(e=r.pop(),t-=e.length,i=0===r.length),e},this.remove_indent=function(){0<n&&(n-=1,t-=e.indent_length)},this.trim=function(){for(;" "===this.last();)r.pop(),t-=1;i=0===r.length},this.toString=function(){var t="";return this._empty||(0<=n&&(t=e.indent_cache[n]),t+=r.join("")),t}}(this),n.push(this.current_line)},this.add_outputline(),this.get_line_number=function(){return n.length},this.add_new_line=function(e){return!(1===this.get_line_number()&&this.just_added_newline()||!e&&this.just_added_newline()||(this.raw||this.add_outputline(),0))},this.get_code=function(){return n.join("\n").replace(/[\r\n\t ]+$/,"")},this.set_indent=function(e){if(1<n.length){for(;e>=this.indent_cache.length;)this.indent_cache.push(this.indent_cache[this.indent_cache.length-1]+this.indent_string);return this.current_line.set_indent(e),!0}return this.current_line.set_indent(0),!1},this.add_raw_token=function(e){for(var t=0;t<e.newlines;t++)this.add_outputline();this.current_line.push(e.whitespace_before),this.current_line.push(e.text),this.space_before_token=!1},this.add_token=function(e){this.add_space_before_token(),this.current_line.push(e)},this.add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&this.current_line.push(" "),this.space_before_token=!1},this.remove_redundant_indentation=function(e){if(!e.multiline_frame&&e.mode!==d.ForInitializer&&e.mode!==d.Conditional)for(var t=e.start_line_index,r=n.length;t<r;)n[t].remove_indent(),t++},this.trim=function(r){for(r=void 0!==r&&r,this.current_line.trim(e,t);r&&1<n.length&&this.current_line.is_empty();)n.pop(),this.current_line=n[n.length-1],this.current_line.trim();this.previous_line=1<n.length?n[n.length-2]:null},this.just_added_newline=function(){return this.current_line.is_empty()},this.just_added_blankline=function(){return!!this.just_added_newline()&&(1===n.length||n[n.length-2].is_empty())}}(u,A)).raw=b.test_output_raw,m=[],N(d.BlockStatement),this.beautify=function(){var t,l;for(a=new function(e,t,n){var r="\n\r\t ".split(""),a=/[0-9]/,l=/[01234567]/,d=/[0123456789abcdefABCDEF]/,f="+ - * / % & ++ -- = += -= *= /= %= == === != !== > < >= <= >> << >>> >>>= >>= <<= && &= | || ! ~ , : ? ^ ^= |= :: =>".split(" ");this.line_starters="continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export".split(",");var p,u,h,g,m,v,E=this.line_starters.concat(["do","in","else","get","set","new","catch","finally","typeof","yield","async","await"]),b=/([\s\S]*?)((?:\*\/)|$)/g,T=/([^\n\r\u2028\u2029]*)/g,A=/\/\* beautify( \w+[:]\w+)+ \*\//g,C=/ (\w+)[:](\w+)/g,S=/([\s\S]*?)((?:\/\*\sbeautify\signore:end\s\*\/)|$)/g,R=/((<\?php|<\?=)[\s\S]*?\?>)|(<%[\s\S]*?%>)/g;function y(){var n,y,_=[];if(p=0,u="",v<=m)return["","TK_EOF"];y=g.length?g[g.length-1]:new c("TK_START_BLOCK","{");var L=e.charAt(m);for(m+=1;o(L,r);){if(i.newline.test(L)?"\n"===L&&"\r"===e.charAt(m-2)||(p+=1,_=[]):_.push(L),v<=m)return["","TK_EOF"];L=e.charAt(m),m+=1}if(_.length&&(u=_.join("")),a.test(L)){var x=!0,w=!0,N=a;for("0"===L&&m<v&&/[Xxo]/.test(e.charAt(m))?(w=x=!1,L+=e.charAt(m),m+=1,N=/[o]/.test(e.charAt(m))?l:d):(L="",m-=1);m<v&&N.test(e.charAt(m));)L+=e.charAt(m),m+=1,x&&m<v&&"."===e.charAt(m)&&(L+=e.charAt(m),m+=1,x=!1),w&&m<v&&/[Ee]/.test(e.charAt(m))&&(L+=e.charAt(m),(m+=1)<v&&/[+-]/.test(e.charAt(m))&&(L+=e.charAt(m),m+=1),x=w=!1);return[L,"TK_WORD"]}if(i.isIdentifierStart(e.charCodeAt(m-1))){if(m<v)for(;i.isIdentifierChar(e.charCodeAt(m))&&(L+=e.charAt(m),(m+=1)!==v););return"TK_DOT"===y.type||"TK_RESERVED"===y.type&&o(y.text,["set","get"])||!o(L,E)?[L,"TK_WORD"]:"in"===L?[L,"TK_OPERATOR"]:[L,"TK_RESERVED"]}if("("===L||"["===L)return[L,"TK_START_EXPR"];if(")"===L||"]"===L)return[L,"TK_END_EXPR"];if("{"===L)return[L,"TK_START_BLOCK"];if("}"===L)return[L,"TK_END_BLOCK"];if(";"===L)return[L,"TK_SEMICOLON"];if("/"===L){var O="";if("*"===e.charAt(m)){var I;m+=1,b.lastIndex=m,O="/*"+(I=b.exec(e))[0],m+=I[0].length;var D=function(e){if(!e.match(A))return null;var t={};C.lastIndex=0;for(var n=C.exec(e);n;)t[n[1]]=n[2],n=C.exec(e);return t}(O);return D&&"start"===D.ignore&&(S.lastIndex=m,O+=(I=S.exec(e))[0],m+=I[0].length),[O=O.replace(i.lineBreak,"\n"),"TK_BLOCK_COMMENT",D]}if("/"===e.charAt(m))return m+=1,T.lastIndex=m,O="//"+(I=T.exec(e))[0],m+=I[0].length,[O,"TK_COMMENT"]}if("`"===L||"'"===L||'"'===L||("/"===L||t.e4x&&"<"===L&&e.slice(m-1).match(/^<([-a-zA-Z:0-9_.]+|{[^{}]*}|!\[CDATA\[[\s\S]*?\]\])(\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{.*?}))*\s*(\/?)\s*>/))&&("TK_RESERVED"===y.type&&o(y.text,["return","case","throw","else","do","typeof","yield"])||"TK_END_EXPR"===y.type&&")"===y.text&&y.parent&&"TK_RESERVED"===y.parent.type&&o(y.parent.text,["if","while","for"])||o(y.type,["TK_COMMENT","TK_START_EXPR","TK_START_BLOCK","TK_END_BLOCK","TK_OPERATOR","TK_EQUALS","TK_EOF","TK_SEMICOLON","TK_COMMA"]))){var k=L,F=!1,M=!1;if(n=L,"/"===k)for(var $=!1;m<v&&(F||$||e.charAt(m)!==k)&&!i.newline.test(e.charAt(m));)n+=e.charAt(m),F?F=!1:(F="\\"===e.charAt(m),"["===e.charAt(m)?$=!0:"]"===e.charAt(m)&&($=!1)),m+=1;else if(t.e4x&&"<"===k){var B=/<(\/?)([-a-zA-Z:0-9_.]+|{[^{}]*}|!\[CDATA\[[\s\S]*?\]\])(\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{.*?}))*\s*(\/?)\s*>/g,P=e.slice(m-1),U=B.exec(P);if(U&&0===U.index){for(var K=U[2],H=0;U;){var W=!!U[1],z=U[2],Y=!!U[U.length-1]||"![CDATA["===z.slice(0,8);if(z!==K||Y||(W?--H:++H),H<=0)break;U=B.exec(P)}var G=U?U.index+U[0].length:P.length;return P=P.slice(0,G),m+=G-1,[P=P.replace(i.lineBreak,"\n"),"TK_STRING"]}}else for(;m<v&&(F||e.charAt(m)!==k&&("`"===k||!i.newline.test(e.charAt(m))));)(F||"`"===k)&&i.newline.test(e.charAt(m))?("\r"===e.charAt(m)&&"\n"===e.charAt(m+1)&&(m+=1),n+="\n"):n+=e.charAt(m),F?("x"!==e.charAt(m)&&"u"!==e.charAt(m)||(M=!0),F=!1):F="\\"===e.charAt(m),m+=1;if(M&&t.unescape_strings&&(n=function(e){for(var t,n=!1,r="",i=0,a="",o=0;n||i<e.length;)if(t=e.charAt(i),i++,n){if(n=!1,"x"===t)a=e.substr(i,2),i+=2;else{if("u"!==t){r+="\\"+t;continue}a=e.substr(i,4),i+=4}if(!a.match(/^[0123456789abcdefABCDEF]+$/))return e;if(0<=(o=parseInt(a,16))&&o<32){r+="x"===t?"\\x"+a:"\\u"+a;continue}if(34===o||39===o||92===o)r+="\\"+String.fromCharCode(o);else{if("x"===t&&126<o&&o<=255)return e;r+=String.fromCharCode(o)}}else"\\"===t?n=!0:r+=t;return r}(n)),m<v&&e.charAt(m)===k&&(n+=k,m+=1,"/"===k))for(;m<v&&i.isIdentifierStart(e.charCodeAt(m));)n+=e.charAt(m),m+=1;return[n,"TK_STRING"]}if("#"===L){if(0===g.length&&"!"===e.charAt(m)){for(n=L;m<v&&"\n"!==L;)n+=L=e.charAt(m),m+=1;return[s(n)+"\n","TK_UNKNOWN"]}var V="#";if(m<v&&a.test(e.charAt(m))){for(;V+=L=e.charAt(m),(m+=1)<v&&"#"!==L&&"="!==L;);return"#"===L||("["===e.charAt(m)&&"]"===e.charAt(m+1)?(V+="[]",m+=2):"{"===e.charAt(m)&&"}"===e.charAt(m+1)&&(V+="{}",m+=2)),[V,"TK_WORD"]}}if("<"===L&&("?"===e.charAt(m)||"%"===e.charAt(m))){R.lastIndex=m-1;var X=R.exec(e);if(X)return L=X[0],m+=L.length-1,[L=L.replace(i.lineBreak,"\n"),"TK_STRING"]}if("<"===L&&"\x3c!--"===e.substring(m-1,m+3)){for(m+=3,L="\x3c!--";!i.newline.test(e.charAt(m))&&m<v;)L+=e.charAt(m),m++;return h=!0,[L,"TK_COMMENT"]}if("-"===L&&h&&"--\x3e"===e.substring(m-1,m+2))return h=!1,m+=2,["--\x3e","TK_COMMENT"];if("."===L)return[L,"TK_DOT"];if(o(L,f)){for(;m<v&&o(L+e.charAt(m),f)&&(L+=e.charAt(m),!(v<=(m+=1))););return","===L?[L,"TK_COMMA"]:"="===L?[L,"TK_EQUALS"]:[L,"TK_OPERATOR"]}return[L,"TK_UNKNOWN"]}this.tokenize=function(){var t,n,r;v=e.length,m=0,h=!1,g=[];for(var i=null,a=[],o=[];!n||"TK_EOF"!==n.type;){for(r=y(),t=new c(r[1],r[0],p,u);"TK_COMMENT"===t.type||"TK_BLOCK_COMMENT"===t.type||"TK_UNKNOWN"===t.type;)"TK_BLOCK_COMMENT"===t.type&&(t.directives=r[2]),o.push(t),r=y(),t=new c(r[1],r[0],p,u);o.length&&(t.comments_before=o,o=[]),"TK_START_BLOCK"===t.type||"TK_START_EXPR"===t.type?(t.parent=n,a.push(i),i=t):("TK_END_BLOCK"===t.type||"TK_END_EXPR"===t.type)&&i&&("]"===t.text&&"["===i.text||")"===t.text&&"("===i.text||"}"===t.text&&"{"===i.text)&&(t.parent=i.parent,i=a.pop()),g.push(t),n=t}return g}}(e,b,u),T=a.tokenize(),r=0;t=$();){for(var d=0;d<t.comments_before.length;d++)R(t.comments_before[d]);R(t),p=h.last_text,f=t.type,h.last_text=t.text,r+=1}return l=n.get_code(),b.end_with_newline&&(l+="\n"),"\n"!=b.eol&&(l=l.replace(/[\n]/g,b.eol)),l}}(e,t).beautify()}e=i,t="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",n=new RegExp("["+t+"]"),r=new RegExp("["+t+"̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ؚؠ-ىٲ-ۓۧ-ۨۻ-ۼܰ-݊ࠀ-ࠔࠛ-ࠣࠥ-ࠧࠩ-࠭ࡀ-ࡗࣤ-ࣾऀ-ःऺ-़ा-ॏ॑-ॗॢ-ॣ०-९ঁ-ঃ়া-ৄেৈৗয়-ৠਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢ-ૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୟ-ୠ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఁ-ఃె-ైొ-్ౕౖౢ-ౣ౦-౯ಂಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢ-ೣ೦-೯ംഃെ-ൈൗൢ-ൣ൦-൯ංඃ්ා-ුූෘ-ෟෲෳิ-ฺเ-ๅ๐-๙ິ-ູ່-ໍ໐-໙༘༙༠-༩༹༵༷ཁ-ཇཱ-྄྆-྇ྍ-ྗྙ-ྼ࿆က-ဩ၀-၉ၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟ᜎ-ᜐᜠ-ᜰᝀ-ᝐᝲᝳក-ឲ៝០-៩᠋-᠍᠐-᠙ᤠ-ᤫᤰ-᤻ᥑ-ᥭᦰ-ᧀᧈ-ᧉ᧐-᧙ᨀ-ᨕᨠ-ᩓ᩠-᩿᩼-᪉᪐-᪙ᭆ-ᭋ᭐-᭙᭫-᭳᮰-᮹᯦-᯳ᰀ-ᰢ᱀-᱉ᱛ-ᱽ᳐-᳒ᴀ-ᶾḁ-ἕ‌‍‿⁀⁔⃐-⃥⃜⃡-⃰ⶁ-ⶖⷠ-ⷿ〡-〨゙゚Ꙁ-ꙭꙴ-꙽ꚟ꛰-꛱ꟸ-ꠀ꠆ꠋꠣ-ꠧꢀ-ꢁꢴ-꣄꣐-꣙ꣳ-ꣷ꤀-꤉ꤦ-꤭ꤰ-ꥅꦀ-ꦃ꦳-꧀ꨀ-ꨧꩀ-ꩁꩌ-ꩍ꩐-꩙ꩻꫠ-ꫩꫲ-ꫳꯀ-ꯡ꯬꯭꯰-꯹ﬠ-ﬨ︀-️︠-︦︳︴﹍-﹏0-9_]"),e.newline=/[\n\r\u2028\u2029]/,e.lineBreak=new RegExp("\r\n|"+e.newline.source),e.allLineBreaks=new RegExp(e.lineBreak.source,"g"),e.isIdentifierStart=function(e){return e<65?36===e||64===e:e<91||(e<97?95===e:e<123||170<=e&&n.test(String.fromCharCode(e)))},e.isIdentifierChar=function(e){return e<48?36===e:e<58||!(e<65)&&(e<91||(e<97?95===e:e<123||170<=e&&r.test(String.fromCharCode(e))))};var d={BlockStatement:"BlockStatement",Statement:"Statement",ObjectLiteral:"ObjectLiteral",ArrayLiteral:"ArrayLiteral",ForInitializer:"ForInitializer",Conditional:"Conditional",Expression:"Expression"},c=function(e,t,n,r,i,a){this.type=e,this.text=t,this.comments_before=[],this.newlines=n||0,this.wanted_newline=0<n,this.whitespace_before=r||"",this.parent=null,this.directives=null};return{run:function(e,t){function n(e){return e.replace(/\s+$/g,"")}var r,i,o,s,d,c,f,p,u,h,g,m,v,E;for(void 0!==(t=t||{}).wrap_line_length&&0!==parseInt(t.wrap_line_length,10)||void 0===t.max_char||0===parseInt(t.max_char,10)||(t.wrap_line_length=t.max_char),i=void 0!==t.indent_inner_html&&t.indent_inner_html,o=void 0===t.indent_size?4:parseInt(t.indent_size,10),s=void 0===t.indent_char?" ":t.indent_char,c=void 0===t.brace_style?"collapse":t.brace_style,d=0===parseInt(t.wrap_line_length,10)?32786:parseInt(t.wrap_line_length||250,10),f=t.unformatted||["a","span","img","bdo","em","strong","dfn","code","samp","kbd","var","cite","abbr","acronym","q","sub","sup","tt","i","b","big","small","u","s","strike","font","ins","del","address","pre"],p=void 0===t.preserve_newlines||t.preserve_newlines,u=p?isNaN(parseInt(t.max_preserve_newlines,10))?32786:parseInt(t.max_preserve_newlines,10):0,h=void 0!==t.indent_handlebars&&t.indent_handlebars,g=void 0===t.wrap_attributes?"auto":t.wrap_attributes,m=void 0===t.wrap_attributes_indent_size?o:parseInt(t.wrap_attributes_indent_size,10)||o,v=void 0!==t.end_with_newline&&t.end_with_newline,E=Array.isArray(t.extra_liners)?t.extra_liners.concat():"string"==typeof t.extra_liners?t.extra_liners.split(","):"head,body,/html".split(","),t.indent_with_tabs&&(s="\t",o=1),(r=new function(){return this.pos=0,this.token="",this.current_mode="CONTENT",this.tags={parent:"parent1",parentcount:1,parent1:""},this.tag_type="",this.token_text=this.last_token=this.last_text=this.token_type="",this.newlines=0,this.indent_content=i,this.Utils={whitespace:"\n\r\t ".split(""),single_token:"br,input,link,meta,source,!doctype,basefont,base,area,hr,wbr,param,img,isindex,embed".split(","),extra_liners:E,in_array:function(e,t){for(var n=0;n<t.length;n++)if(e==t[n])return!0;return!1}},this.is_whitespace=function(e){for(;0<e.length;e++)if(!this.Utils.in_array(e.charAt(0),this.Utils.whitespace))return!1;return!0},this.traverse_whitespace=function(){var e="";if(e=this.input.charAt(this.pos),this.Utils.in_array(e,this.Utils.whitespace)){for(this.newlines=0;this.Utils.in_array(e,this.Utils.whitespace);)p&&"\n"==e&&this.newlines<=u&&(this.newlines+=1),this.pos++,e=this.input.charAt(this.pos);return!0}return!1},this.space_or_wrap=function(e){this.line_char_count>=this.wrap_line_length?(this.print_newline(!1,e),this.print_indentation(e)):(this.line_char_count++,e.push(" "))},this.get_content=function(){for(var e="",t=[];"<"!=this.input.charAt(this.pos);){if(this.pos>=this.input.length)return t.length?t.join(""):["","TK_EOF"];if(this.traverse_whitespace())this.space_or_wrap(t);else{if(h){var n=this.input.substr(this.pos,3);if("{{#"==n||"{{/"==n)break;if("{{!"==n)return[this.get_tag(),"TK_TAG_HANDLEBARS_COMMENT"];if("{{"==this.input.substr(this.pos,2)&&"{{else}}"==this.get_tag(!0))break}e=this.input.charAt(this.pos),this.pos++,this.line_char_count++,t.push(e)}}return t.length?t.join(""):""},this.get_contents_to=function(e){if(this.pos==this.input.length)return["","TK_EOF"];var t="",n=new RegExp("</"+e+"\\s*>","igm");n.lastIndex=this.pos;var r=n.exec(this.input),i=r?r.index:this.input.length;return this.pos<i&&(t=this.input.substring(this.pos,i),this.pos=i),t},this.record_tag=function(e){this.tags[e+"count"]?this.tags[e+"count"]++:this.tags[e+"count"]=1,this.tags[e+this.tags[e+"count"]]=this.indent_level,this.tags[e+this.tags[e+"count"]+"parent"]=this.tags.parent,this.tags.parent=e+this.tags[e+"count"]},this.retrieve_tag=function(e){if(this.tags[e+"count"]){for(var t=this.tags.parent;t&&e+this.tags[e+"count"]!=t;)t=this.tags[t+"parent"];t&&(this.indent_level=this.tags[e+this.tags[e+"count"]],this.tags.parent=this.tags[t+"parent"]),delete this.tags[e+this.tags[e+"count"]+"parent"],delete this.tags[e+this.tags[e+"count"]],1==this.tags[e+"count"]?delete this.tags[e+"count"]:this.tags[e+"count"]--}},this.indent_to_tag=function(e){if(this.tags[e+"count"]){for(var t=this.tags.parent;t&&e+this.tags[e+"count"]!=t;)t=this.tags[t+"parent"];t&&(this.indent_level=this.tags[e+this.tags[e+"count"]])}},this.get_tag=function(e){var t,n,r="",i=[],a="",o=!1,l=!0,d=this.pos,c=this.line_char_count;e=void 0!==e&&e;do{if(this.pos>=this.input.length)return e&&(this.pos=d,this.line_char_count=c),i.length?i.join(""):["","TK_EOF"];if(r=this.input.charAt(this.pos),this.pos++,this.Utils.in_array(r,this.Utils.whitespace))o=!0;else{if("'"!=r&&'"'!=r||(r+=this.get_unformatted(r),o=!0),"="==r&&(o=!1),i.length&&"="!=i[i.length-1]&&">"!=r&&o){if(this.space_or_wrap(i),o=!1,!l&&"force"==g&&"/"!=r){this.print_newline(!0,i),this.print_indentation(i);for(var p=0;p<m;p++)i.push(s)}for(var u=0;u<i.length;u++)if(" "==i[u]){l=!1;break}}if(h&&"<"==n&&r+this.input.charAt(this.pos)=="{{"&&(r+=this.get_unformatted("}}"),i.length&&" "!=i[i.length-1]&&"<"!=i[i.length-1]&&(r=" "+r),o=!0),"<"!=r||n||(t=this.pos-1,n="<"),h&&!n&&2<=i.length&&"{"==i[i.length-1]&&"{"==i[i.length-2]&&(t="#"==r||"/"==r||"!"==r?this.pos-3:this.pos-2,n="{"),this.line_char_count++,i.push(r),i[1]&&("!"==i[1]||"?"==i[1]||"%"==i[1])){i=[this.get_comment(t)];break}if(h&&i[1]&&"{"==i[1]&&i[2]&&"!"==i[2]){i=[this.get_comment(t)];break}if(h&&"{"==n&&2<i.length&&"}"==i[i.length-2]&&"}"==i[i.length-1])break}}while(">"!=r);var v,E,b=i.join("");v=-1!=b.indexOf(" ")?b.indexOf(" "):"{"==b[0]?b.indexOf("}"):b.indexOf(">"),E="<"!=b[0]&&h?"#"==b[2]?3:2:1;var T=b.substring(E,v).toLowerCase();return"/"==b.charAt(b.length-2)||this.Utils.in_array(T,this.Utils.single_token)?e||(this.tag_type="SINGLE"):h&&"{"==b[0]&&"else"==T?e||(this.indent_to_tag("if"),this.tag_type="HANDLEBARS_ELSE",this.indent_content=!0,this.traverse_whitespace()):this.is_unformatted(T,f)?(a=this.get_unformatted("</"+T+">",b),i.push(a),this.pos,this.tag_type="SINGLE"):"script"==T&&(-1==b.search("type")||-1<b.search("type")&&-1<b.search(/\b(text|application)\/(x-)?(javascript|ecmascript|jscript|livescript)/))?e||(this.record_tag(T),this.tag_type="SCRIPT"):"style"==T&&(-1==b.search("type")||-1<b.search("type")&&-1<b.search("text/css"))?e||(this.record_tag(T),this.tag_type="STYLE"):"!"==T.charAt(0)?e||(this.tag_type="SINGLE",this.traverse_whitespace()):e||("/"==T.charAt(0)?(this.retrieve_tag(T.substring(1)),this.tag_type="END"):(this.record_tag(T),"html"!=T.toLowerCase()&&(this.indent_content=!0),this.tag_type="START"),this.traverse_whitespace()&&this.space_or_wrap(i),this.Utils.in_array(T,this.Utils.extra_liners)&&(this.print_newline(!1,this.output),this.output.length&&"\n"!=this.output[this.output.length-2]&&this.print_newline(!0,this.output))),e&&(this.pos=d,this.line_char_count=c),i.join("")},this.get_comment=function(e){var t="",n=">",r=!1;this.pos=e;var i=this.input.charAt(this.pos);for(this.pos++;this.pos<=this.input.length&&((t+=i)[t.length-1]!=n[n.length-1]||-1==t.indexOf(n));)!r&&t.length<10&&(0===t.indexOf("<![if")?(n="<![endif]>",r=!0):0===t.indexOf("<![cdata[")?(n="]]>",r=!0):0===t.indexOf("<![")?(n="]>",r=!0):0===t.indexOf("\x3c!--")?(n="--\x3e",r=!0):0===t.indexOf("{{!")?(n="}}",r=!0):0===t.indexOf("<?")?(n="?>",r=!0):0===t.indexOf("<%")&&(n="%>",r=!0)),i=this.input.charAt(this.pos),this.pos++;return t},this.get_unformatted=function(e,t){if(t&&-1!=t.toLowerCase().indexOf(e))return"";var n="",r="",i=0,a=!0;do{if(this.pos>=this.input.length)return r;if(n=this.input.charAt(this.pos),this.pos++,this.Utils.in_array(n,this.Utils.whitespace)){if(!a){this.line_char_count--;continue}if("\n"==n||"\r"==n){r+="\n",this.line_char_count=0;continue}}r+=n,this.line_char_count++,a=!0,h&&"{"==n&&r.length&&"{"==r[r.length-2]&&(i=(r+=this.get_unformatted("}}")).length)}while(-1==r.toLowerCase().indexOf(e,i));return r},this.get_token=function(){var e;if("TK_TAG_SCRIPT"==this.last_token||"TK_TAG_STYLE"==this.last_token){var t=this.last_token.substr(7);return"string"!=typeof(e=this.get_contents_to(t))?e:[e,"TK_"+t]}return"CONTENT"==this.current_mode?"string"!=typeof(e=this.get_content())?e:[e,"TK_CONTENT"]:"TAG"==this.current_mode?"string"!=typeof(e=this.get_tag())?e:[e,"TK_TAG_"+this.tag_type]:void 0},this.get_full_indent=function(e){return(e=this.indent_level+e||0)<1?"":new Array(e+1).join(this.indent_string)},this.is_unformatted=function(e,t){if(!this.Utils.in_array(e,t))return!1;if("a"!=e.toLowerCase()||!this.Utils.in_array("a",t))return!0;var n=(this.get_tag(!0)||"").match(/^\s*<\s*\/?([a-z]*)\s*[^>]*>\s*$/);return!(n&&!this.Utils.in_array(n,t))},this.printer=function(e,t,r,i,a){this.input=e||"",this.output=[],this.indent_character=t,this.indent_string="",this.indent_size=r,this.brace_style=a,this.indent_level=0,this.wrap_line_length=i;for(var o=this.line_char_count=0;o<this.indent_size;o++)this.indent_string+=this.indent_character;this.print_newline=function(e,t){this.line_char_count=0,t&&t.length&&(e||"\n"!=t[t.length-1])&&("\n"!=t[t.length-1]&&(t[t.length-1]=n(t[t.length-1])),t.push("\n"))},this.print_indentation=function(e){for(var t=0;t<this.indent_level;t++)e.push(this.indent_string),this.line_char_count+=this.indent_string.length},this.print_token=function(e){this.is_whitespace(e)&&!this.output.length||((e||""!==e)&&this.output.length&&"\n"==this.output[this.output.length-1]&&(this.print_indentation(this.output),e=e.replace(/^\s+/g,"")),this.print_token_raw(e))},this.print_token_raw=function(e){0<this.newlines&&(e=n(e)),e&&""!==e&&(1<e.length&&"\n"==e[e.length-1]?(this.output.push(e.slice(0,-1)),this.print_newline(!1,this.output)):this.output.push(e));for(var t=0;t<this.newlines;t++)this.print_newline(0<t,this.output);this.newlines=0},this.indent=function(){this.indent_level++},this.unindent=function(){0<this.indent_level&&this.indent_level--}},this}).printer(e,s,o,d,c);;){var b=r.get_token();if(r.token_text=b[0],r.token_type=b[1],"TK_EOF"==r.token_type)break;switch(r.token_type){case"TK_TAG_START":r.print_newline(!1,r.output),r.print_token(r.token_text),r.indent_content&&(r.indent(),r.indent_content=!1),r.current_mode="CONTENT";break;case"TK_TAG_STYLE":case"TK_TAG_SCRIPT":r.print_newline(!1,r.output),r.print_token(r.token_text),r.current_mode="CONTENT";break;case"TK_TAG_END":if("TK_CONTENT"==r.last_token&&""===r.last_text){var T=r.token_text.match(/\w+/)[0],A=null;r.output.length&&(A=r.output[r.output.length-1].match(/(?:<|{{#)\s*(\w+)/)),(null==A||A[1]!=T&&!r.Utils.in_array(A[1],f))&&r.print_newline(!1,r.output)}r.print_token(r.token_text),r.current_mode="CONTENT";break;case"TK_TAG_SINGLE":var C=r.token_text.match(/^\s*<([a-z-]+)/i);C&&r.Utils.in_array(C[1],f)||r.print_newline(!1,r.output),r.print_token(r.token_text),r.current_mode="CONTENT";break;case"TK_TAG_HANDLEBARS_ELSE":r.print_token(r.token_text),r.indent_content&&(r.indent(),r.indent_content=!1),r.current_mode="CONTENT";break;case"TK_TAG_HANDLEBARS_COMMENT":case"TK_CONTENT":r.print_token(r.token_text),r.current_mode="TAG";break;case"TK_STYLE":case"TK_SCRIPT":if(""!==r.token_text){r.print_newline(!1,r.output);var S,R=r.token_text,y=1;"TK_SCRIPT"==r.token_type?S=l:"TK_STYLE"==r.token_type&&(S=a),"keep"==t.indent_scripts?y=0:"separate"==t.indent_scripts&&(y=-r.indent_level);var _=r.get_full_indent(y);if(S)R=S(R.replace(/^\s*/,_),t);else{var L=R.match(/^\s*/)[0].match(/[^\n\r]*$/)[0].split(r.indent_string).length-1,x=r.get_full_indent(y-L);R=R.replace(/^\s*/,_).replace(/\r\n|\r|\n/g,"\n"+x).replace(/\s+$/,"")}R&&(r.print_token_raw(R),r.print_newline(!0,r.output))}r.current_mode="TAG";break;default:""!==r.token_text&&r.print_token(r.token_text)}r.last_token=r.token_type,r.last_text=r.token_text}var w=r.output.join("").replace(/[\r\n\t ]+$/,"");return v&&(w+="\n"),w}}},e.extend(e.FE.DEFAULTS,{codeMirror:window.CodeMirror,codeMirrorOptions:{lineNumbers:!0,tabMode:"indent",indentWithTabs:!0,lineWrapping:!0,mode:"text/html",tabSize:2},codeBeautifierOptions:{end_with_newline:!0,indent_inner_html:!0,extra_liners:["p","h1","h2","h3","h4","h5","h6","blockquote","pre","ul","ol","table","dl"],brace_style:"expand",indent_char:"\t",indent_size:1,wrap_line_length:0},codeViewKeepActiveButtons:["fullscreen"]}),e.FE.PLUGINS.codeView=function(t){var n,r;function i(){return t.$box.hasClass("fr-code-view")}function a(){return r?r.getValue():n.val()}function o(){i()&&(r&&r.setSize(null,t.opts.height?t.opts.height:"auto"),t.opts.heightMin||t.opts.height?t.$box.find(".CodeMirror-scroll, .CodeMirror-gutters").css("min-height",t.opts.heightMin||t.opts.height):t.$box.find(".CodeMirror-scroll, .CodeMirror-gutters").css("min-height",""))}var s,l=!1;function d(){i()&&t.events.trigger("blur")}function c(){i()&&l&&t.events.trigger("focus")}function f(u){void 0===u&&(u=!i());var h,g,m=t.$tb.find('.fr-command[data-cmd="html"]');u?(t.popups.hideAll(),function(u){n||(function(){n=e('<textarea class="fr-code" tabIndex="-1">'),t.$wp.append(n),n.attr("dir",t.opts.direction),t.$box.hasClass("fr-basic")||(s=e('<a data-cmd="html" title="Code View" class="fr-command fr-btn html-switch'+(t.helpers.isMobile()?"":" fr-desktop")+'" role="button" tabIndex="-1"><i class="fa fa-code"></i></button>'),t.$box.append(s),t.events.bindClick(t.$box,"a.html-switch",function(){t.events.trigger("commands.before",["html"]),f(!1),t.events.trigger("commands.after",["html"])}));var r=function(){return!i()};t.events.on("buttons.refresh",r),t.events.on("copy",r,!0),t.events.on("cut",r,!0),t.events.on("paste",r,!0),t.events.on("destroy",p,!0),t.events.on("html.set",function(){i()&&f(!0)}),t.events.on("codeView.update",o),t.events.on("form.submit",function(){i()&&(t.html.set(a()),t.events.trigger("contentChanged",[],!0))},!0)}(),!r&&t.opts.codeMirror?((r=t.opts.codeMirror.fromTextArea(n.get(0),t.opts.codeMirrorOptions)).on("blur",d),r.on("focus",c)):(t.events.$on(n,"keydown keyup change input",function(){t.opts.height?this.removeAttribute("rows"):(this.rows=1,0===this.value.length?this.style.height="auto":this.style.height=this.scrollHeight+"px")}),t.events.$on(n,"blur",d),t.events.$on(n,"focus",c))),t.undo.saveStep(),t.html.cleanEmptyTags(),t.html.cleanWhiteTags(!0),t.core.hasFocus()&&(t.core.isEmpty()||(t.selection.save(),t.$el.find('.fr-marker[data-type="true"]:first').replaceWith('<span class="fr-tmp fr-sm">F</span>'),t.$el.find('.fr-marker[data-type="false"]:last').replaceWith('<span class="fr-tmp fr-em">F</span>')));var h=t.html.get(!1,!0);t.$el.find("span.fr-tmp").remove(),t.$box.toggleClass("fr-code-view",!0);var g,m,v=!1;if(t.core.hasFocus()&&(v=!0,t.events.disableBlur(),t.$el.blur()),h=(h=h.replace(/<span class="fr-tmp fr-sm">F<\/span>/,"FROALA-SM")).replace(/<span class="fr-tmp fr-em">F<\/span>/,"FROALA-EM"),t.codeBeautifier&&(h=t.codeBeautifier.run(h,t.opts.codeBeautifierOptions)),r){g=h.indexOf("FROALA-SM"),(m=h.indexOf("FROALA-EM"))<g?g=m:m-=9;var E=(h=h.replace(/FROALA-SM/g,"").replace(/FROALA-EM/g,"")).substring(0,g).length-h.substring(0,g).replace(/\n/g,"").length,b=h.substring(0,m).length-h.substring(0,m).replace(/\n/g,"").length;g=h.substring(0,g).length-h.substring(0,h.substring(0,g).lastIndexOf("\n")+1).length,m=h.substring(0,m).length-h.substring(0,h.substring(0,m).lastIndexOf("\n")+1).length,r.setSize(null,t.opts.height?t.opts.height:"auto"),t.opts.heightMin&&t.$box.find(".CodeMirror-scroll").css("min-height",t.opts.heightMin),r.setValue(h),l=!v,r.focus(),l=!0,r.setSelection({line:E,ch:g},{line:b,ch:m}),r.refresh(),r.clearHistory()}else{g=h.indexOf("FROALA-SM"),m=h.indexOf("FROALA-EM")-9,t.opts.heightMin&&n.css("min-height",t.opts.heightMin),t.opts.height&&n.css("height",t.opts.height),t.opts.heightMax&&n.css("max-height",t.opts.height||t.opts.heightMax),n.val(h.replace(/FROALA-SM/g,"").replace(/FROALA-EM/g,"")).trigger("change");var T=e(t.o_doc).scrollTop();l=!v,n.focus(),l=!0,n.get(0).setSelectionRange(g,m),e(t.o_doc).scrollTop(T)}t.$tb.find(" > .fr-command").not(u).filter(function(){return t.opts.codeViewKeepActiveButtons.indexOf(e(this).data("cmd"))<0}).addClass("fr-disabled").attr("aria-disabled",!0),u.addClass("fr-active").attr("aria-pressed",!0),!t.helpers.isMobile()&&t.opts.toolbarInline&&t.toolbar.hide()}(m)):(t.$box.toggleClass("fr-code-view",!1),h=m,g=a(),t.html.set(g),t.$el.blur(),t.$tb.find(" > .fr-command").not(h).removeClass("fr-disabled").attr("aria-disabled",!1),h.removeClass("fr-active").attr("aria-pressed",!1),t.selection.setAtStart(t.el),t.selection.restore(),t.placeholder.refresh(),t.undo.saveStep())}function p(){i()&&f(!1),r&&r.toTextArea(),n.val("").removeData().remove(),n=null,s&&(s.remove(),s=null)}return{_init:function(){if(!t.$wp)return!1},toggle:f,isActive:i,get:a}},e.FE.RegisterCommand("html",{title:"Code View",undo:!1,focus:!1,forcedRefresh:!0,toggle:!0,callback:function(){this.codeView.toggle()},plugin:"codeView"}),e.FE.DefineIcon("html",{NAME:"code"}),e.extend(e.FE.POPUP_TEMPLATES,{"colors.picker":"[_BUTTONS_][_TEXT_COLORS_][_BACKGROUND_COLORS_][_CUSTOM_COLOR_]"}),e.extend(e.FE.DEFAULTS,{colorsText:["#61BD6D","#1ABC9C","#54ACD2","#2C82C9","#9365B8","#475577","#CCCCCC","#41A85F","#00A885","#3D8EB9","#2969B0","#553982","#28324E","#000000","#F7DA64","#FBA026","#EB6B56","#E25041","#A38F84","#EFEFEF","#FFFFFF","#FAC51C","#F37934","#D14841","#B8312F","#7C706B","#D1D5D8","REMOVE"],colorsBackground:["#61BD6D","#1ABC9C","#54ACD2","#2C82C9","#9365B8","#475577","#CCCCCC","#41A85F","#00A885","#3D8EB9","#2969B0","#553982","#28324E","#000000","#F7DA64","#FBA026","#EB6B56","#E25041","#A38F84","#EFEFEF","#FFFFFF","#FAC51C","#F37934","#D14841","#B8312F","#7C706B","#D1D5D8","REMOVE"],colorsStep:7,colorsHEXInput:!0,colorsDefaultTab:"text",colorsButtons:["colorsBack","|","-"]}),e.FE.PLUGINS.colors=function(t){function n(){t.popups.hide("colors.picker")}function r(e){for(var n="text"==e?t.opts.colorsText:t.opts.colorsBackground,r='<div class="fr-color-set fr-'+e+"-color"+(t.opts.colorsDefaultTab==e||"text"!=t.opts.colorsDefaultTab&&"background"!=t.opts.colorsDefaultTab&&"text"==e?" fr-selected-set":"")+'">',i=0;i<n.length;i++)0!==i&&i%t.opts.colorsStep==0&&(r+="<br>"),"REMOVE"!=n[i]?r+='<span class="fr-command fr-select-color" style="background: '+n[i]+';" tabIndex="-1" aria-selected="false" role="button" data-cmd="'+e+'Color" data-param1="'+n[i]+'"><span class="fr-sr-only">'+t.language.translate("Color")+" "+n[i]+"&nbsp;&nbsp;&nbsp;</span></span>":r+='<span class="fr-command fr-select-color" data-cmd="'+e+'Color" tabIndex="-1" role="button" data-param1="REMOVE" title="'+t.language.translate("Clear Formatting")+'">'+t.icon.create("remove")+'<span class="fr-sr-only">'+t.language.translate("Clear Formatting")+"</span></span>";return r+"</div>"}function i(n){var r,i=t.popups.get("colors.picker"),a=e(t.selection.element());r="background"==n?"background-color":"color";var o=i.find(".fr-"+n+"-color .fr-select-color");for(o.find(".fr-selected-color").remove(),o.removeClass("fr-active-item"),o.not('[data-param1="REMOVE"]').attr("aria-selected",!1);a.get(0)!=t.el;){if("transparent"!=a.css(r)&&"rgba(0, 0, 0, 0)"!=a.css(r)){var s=i.find(".fr-"+n+'-color .fr-select-color[data-param1="'+t.helpers.RGBToHex(a.css(r))+'"]');s.append('<span class="fr-selected-color" aria-hidden="true"></span>'),s.addClass("fr-active-item").attr("aria-selected",!0);break}a=a.parent()}var l=i.find(".fr-color-hex-layer input");l.length&&l.val(t.helpers.RGBToHex(a.css(r))).trigger("change")}function a(e){"REMOVE"!=e?t.format.applyStyle("background-color",t.helpers.HEXtoRGB(e)):t.format.removeStyle("background-color"),n()}function o(e){"REMOVE"!=e?t.format.applyStyle("color",t.helpers.HEXtoRGB(e)):t.format.removeStyle("color"),n()}return{showColorsPopup:function(){var n=t.$tb.find('.fr-command[data-cmd="color"]'),a=t.popups.get("colors.picker");if(a||(a=function(){var n,i='<div class="fr-buttons fr-colors-buttons">';t.opts.toolbarInline&&0<t.opts.colorsButtons.length&&(i+=t.button.buildList(t.opts.colorsButtons)),i+=(n='<div class="fr-colors-tabs fr-group">',n+='<span class="fr-colors-tab '+("background"==t.opts.colorsDefaultTab?"":"fr-selected-tab ")+'fr-command" tabIndex="-1" role="button" aria-pressed="'+("background"!=t.opts.colorsDefaultTab)+'" data-param1="text" data-cmd="colorChangeSet" title="'+t.language.translate("Text")+'">'+t.language.translate("Text")+"</span>",(n+='<span class="fr-colors-tab '+("background"==t.opts.colorsDefaultTab?"fr-selected-tab ":"")+'fr-command" tabIndex="-1" role="button" aria-pressed="'+("background"==t.opts.colorsDefaultTab)+'" data-param1="background" data-cmd="colorChangeSet" title="'+t.language.translate("Background")+'">'+t.language.translate("Background")+"</span>")+"</div></div>");var a="";t.opts.colorsHEXInput&&(a='<div class="fr-color-hex-layer fr-active fr-layer" id="fr-color-hex-layer-'+t.id+'"><div class="fr-input-line"><input maxlength="7" id="fr-color-hex-layer-text-'+t.id+'" type="text" placeholder="'+t.language.translate("HEX Color")+'" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="customColor" tabIndex="2" role="button">'+t.language.translate("OK")+"</button></div></div>");var o,s={buttons:i,text_colors:r("text"),background_colors:r("background"),custom_color:a},l=t.popups.create("colors.picker",s);return o=l,t.events.on("popup.tab",function(n){var r=e(n.currentTarget);if(!t.popups.isVisible("colors.picker")||!r.is("span"))return!0;var i=n.which,a=!0;if(e.FE.KEYCODE.TAB==i){var s=o.find(".fr-buttons");a=!t.accessibility.focusToolbar(s,!!n.shiftKey)}else if(e.FE.KEYCODE.ARROW_UP==i||e.FE.KEYCODE.ARROW_DOWN==i||e.FE.KEYCODE.ARROW_LEFT==i||e.FE.KEYCODE.ARROW_RIGHT==i){if(r.is("span.fr-select-color")){var l=r.parent().find("span.fr-select-color"),d=l.index(r),c=t.opts.colorsStep,f=Math.floor(l.length/c),p=d%c,u=Math.floor(d/c)*c+p,h=f*c;e.FE.KEYCODE.ARROW_UP==i?u=((u-c)%h+h)%h:e.FE.KEYCODE.ARROW_DOWN==i?u=(u+c)%h:e.FE.KEYCODE.ARROW_LEFT==i?u=((u-1)%h+h)%h:e.FE.KEYCODE.ARROW_RIGHT==i&&(u=(u+1)%h);var g=e(l.get(u));t.events.disableBlur(),g.focus(),a=!1}}else e.FE.KEYCODE.ENTER==i&&(t.button.exec(r),a=!1);return!1===a&&(n.preventDefault(),n.stopPropagation()),a},!0),l}()),!a.hasClass("fr-active"))if(t.popups.setContainer("colors.picker",t.$tb),i(a.find(".fr-selected-tab").attr("data-param1")),n.is(":visible")){var o=n.offset().left+n.outerWidth()/2,s=n.offset().top+(t.opts.toolbarBottom?10:n.outerHeight()-10);t.popups.show("colors.picker",o,s,n.outerHeight())}else t.position.forSelection(a),t.popups.show("colors.picker")},hideColorsPopup:n,changeSet:function(e,n){e.hasClass("fr-selected-tab")||(e.siblings().removeClass("fr-selected-tab").attr("aria-pressed",!1),e.addClass("fr-selected-tab").attr("aria-pressed",!0),e.parents(".fr-popup").find(".fr-color-set").removeClass("fr-selected-set"),e.parents(".fr-popup").find(".fr-color-set.fr-"+n+"-color").addClass("fr-selected-set"),i(n)),t.accessibility.focusPopup(e.parents(".fr-popup"))},background:a,customColor:function(){var e=t.popups.get("colors.picker"),n=e.find(".fr-color-hex-layer input");if(n.length){var r=n.val();"background"==e.find(".fr-selected-tab").attr("data-param1")?a(r):o(r)}},text:o,back:function(){t.popups.hide("colors.picker"),t.toolbar.showInline()}}},e.FE.DefineIcon("colors",{NAME:"tint"}),e.FE.RegisterCommand("color",{title:"Colors",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible("colors.picker")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("colors.picker")):this.colors.showColorsPopup()},plugin:"colors"}),e.FE.RegisterCommand("textColor",{undo:!0,callback:function(e,t){this.colors.text(t)}}),e.FE.RegisterCommand("backgroundColor",{undo:!0,callback:function(e,t){this.colors.background(t)}}),e.FE.RegisterCommand("colorChangeSet",{undo:!1,focus:!1,callback:function(e,t){var n=this.popups.get("colors.picker").find('.fr-command[data-cmd="'+e+'"][data-param1="'+t+'"]');this.colors.changeSet(n,t)}}),e.FE.DefineIcon("colorsBack",{NAME:"arrow-left"}),e.FE.RegisterCommand("colorsBack",{title:"Back",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.colors.back()}}),e.FE.RegisterCommand("customColor",{title:"OK",undo:!0,callback:function(){this.colors.customColor()}}),e.FE.DefineIcon("remove",{NAME:"eraser"}),e.extend(e.FE.DEFAULTS,{dragInline:!0}),e.FE.PLUGINS.draggable=function(t){function n(n){return!(!n.originalEvent||!n.originalEvent.target||n.originalEvent.target.nodeType!=Node.TEXT_NODE)||(n.target&&"A"==n.target.tagName&&1==n.target.childNodes.length&&"IMG"==n.target.childNodes[0].tagName&&(n.target=n.target.childNodes[0]),e(n.target).hasClass("fr-draggable")?(t.undo.canDo()||t.undo.saveStep(),t.opts.dragInline?t.$el.attr("contenteditable",!0):t.$el.attr("contenteditable",!1),t.opts.toolbarInline&&t.toolbar.hide(),e(n.target).addClass("fr-dragging"),t.browser.msie||t.browser.edge||t.selection.clear(),void n.originalEvent.dataTransfer.setData("text","Froala")):(n.preventDefault(),!1))}function r(e){return!(e&&("HTML"==e.tagName||"BODY"==e.tagName||t.node.isElement(e)))}function i(e,n,r){t.opts.iframe&&(e+=t.$iframe.offset().top,n+=t.$iframe.offset().left),c.offset().top!=e&&c.css("top",e),c.offset().left!=n&&c.css("left",n),c.width()!=r&&c.css("width",r)}function a(n){n.originalEvent.dataTransfer.dropEffect="move",t.opts.dragInline?function(){for(var t=null,n=0;n<e.FE.INSTANCES.length;n++)if((t=e.FE.INSTANCES[n].$el.find(".fr-dragging")).length)return t.get(0)}()||!t.browser.msie&&!t.browser.edge||n.preventDefault():(n.preventDefault(),function(n){var a=t.doc.elementFromPoint(n.originalEvent.pageX-t.win.pageXOffset,n.originalEvent.pageY-t.win.pageYOffset);if(!r(a)){for(var o=0,s=a;!r(s)&&s==a&&0<n.originalEvent.pageY-t.win.pageYOffset-o;)o++,s=t.doc.elementFromPoint(n.originalEvent.pageX-t.win.pageXOffset,n.originalEvent.pageY-t.win.pageYOffset-o);(!r(s)||c&&0===t.$el.find(s).length&&s!=c.get(0))&&(s=null);for(var l=0,d=a;!r(d)&&d==a&&n.originalEvent.pageY-t.win.pageYOffset+l<e(t.doc).height();)l++,d=t.doc.elementFromPoint(n.originalEvent.pageX-t.win.pageXOffset,n.originalEvent.pageY-t.win.pageYOffset+l);(!r(d)||c&&0===t.$el.find(d).length&&d!=c.get(0))&&(d=null),a=null==d&&s?s:d&&null==s?d:d&&s?o<l?s:d:null}if(!e(a).hasClass("fr-drag-helper"))if(a&&!t.node.isBlock(a)&&(a=t.node.blockParent(a)),a&&0<=["TD","TH","TR","THEAD","TBODY"].indexOf(a.tagName)&&(a=e(a).parents("table").get(0)),a&&0<=["LI"].indexOf(a.tagName)&&(a=e(a).parents("UL, OL").get(0)),a&&!e(a).hasClass("fr-drag-helper")){var f;c||(e.FE.$draggable_helper||(e.FE.$draggable_helper=e('<div class="fr-drag-helper"></div>')),c=e.FE.$draggable_helper,t.events.on("shared.destroy",function(){c.html("").removeData().remove(),c=null},!0)),f=n.originalEvent.pageY<e(a).offset().top+e(a).outerHeight()/2;var p=e(a),u=0;f||0!==p.next().length?(f||(p=p.next()),"before"==c.data("fr-position")&&p.is(c.data("fr-tag"))||(0<p.prev().length&&(u=parseFloat(p.prev().css("margin-bottom"))||0),u=Math.max(u,parseFloat(p.css("margin-top"))||0),i(p.offset().top-u/2-t.$box.offset().top,p.offset().left-t.win.pageXOffset-t.$box.offset().left,p.width()),c.data("fr-position","before"))):"after"==c.data("fr-position")&&p.is(c.data("fr-tag"))||(u=parseFloat(p.css("margin-bottom"))||0,i(p.offset().top+e(a).height()+u/2-t.$box.offset().top,p.offset().left-t.win.pageXOffset-t.$box.offset().left,p.width()),c.data("fr-position","after")),c.data("fr-tag",p),c.addClass("fr-visible"),c.appendTo(t.$box)}else c&&0<t.$box.find(c).length&&c.removeClass("fr-visible")}(n))}function o(e){e.originalEvent.dataTransfer.dropEffect="move",t.opts.dragInline||e.preventDefault()}function s(e){t.$el.attr("contenteditable",!0);var n=t.$el.find(".fr-dragging");c&&c.hasClass("fr-visible")&&t.$box.find(c).length?l(e):n.length&&(e.preventDefault(),e.stopPropagation()),c&&t.$box.find(c).length&&c.removeClass("fr-visible"),n.removeClass("fr-dragging")}function l(n){var r,i;t.$el.attr("contenteditable",!0);for(var a=0;a<e.FE.INSTANCES.length;a++)if((r=e.FE.INSTANCES[a].$el.find(".fr-dragging")).length){i=e.FE.INSTANCES[a];break}if(r.length){if(n.preventDefault(),n.stopPropagation(),c&&c.hasClass("fr-visible")&&t.$box.find(c).length)c.data("fr-tag")[c.data("fr-position")]('<span class="fr-marker"></span>'),c.removeClass("fr-visible");else if(!1===t.markers.insertAtPoint(n.originalEvent))return!1;if(r.removeClass("fr-dragging"),!1===(r=t.events.chainTrigger("element.beforeDrop",r)))return!1;var o=r;if(r.parent().is("A")&&1==r.parent().get(0).childNodes.length&&(o=r.parent()),t.core.isEmpty()?t.events.focus():(t.$el.find(".fr-marker").replaceWith(e.FE.MARKERS),t.selection.restore()),i==t||t.undo.canDo()||t.undo.saveStep(),t.core.isEmpty())t.$el.html(o);else{var s=t.markers.insert();0===o.find(s).length?e(s).replaceWith(o):0===r.find(s).length&&e(s).replaceWith(r),r.after(e.FE.MARKERS),t.selection.restore()}return t.popups.hideAll(),t.selection.save(),t.$el.find(t.html.emptyBlockTagsQuery()).not("TD, TH, LI, .fr-inner").not(t.opts.htmlAllowedEmptyTags.join(",")).remove(),t.html.wrap(),t.html.fillEmptyBlocks(),t.selection.restore(),t.undo.saveStep(),t.opts.iframe&&t.size.syncIframe(),i!=t&&(i.popups.hideAll(),i.$el.find(i.html.emptyBlockTagsQuery()).not("TD, TH, LI, .fr-inner").remove(),i.html.wrap(),i.html.fillEmptyBlocks(),i.undo.saveStep(),i.events.trigger("element.dropped"),i.opts.iframe&&i.size.syncIframe()),t.events.trigger("element.dropped",[o]),!1}c&&c.removeClass("fr-visible"),t.undo.canDo()||t.undo.saveStep(),setTimeout(function(){t.undo.saveStep()},0)}function d(e){if(e&&"DIV"==e.tagName&&t.node.hasClass(e,"fr-drag-helper"))e.parentNode.removeChild(e);else if(e&&e.nodeType==Node.ELEMENT_NODE)for(var n=e.querySelectorAll("div.fr-drag-helper"),r=0;r<n.length;r++)n[r].parentNode.removeChild(n[r])}var c;return{_init:function(){t.opts.enter==e.FE.ENTER_BR&&(t.opts.dragInline=!0),t.events.on("dragstart",n,!0),t.events.on("dragover",a,!0),t.events.on("dragenter",o,!0),t.events.on("document.dragend",s,!0),t.events.on("document.drop",s,!0),t.events.on("drop",l,!0),t.events.on("html.processGet",d)}}},e.extend(e.FE.POPUP_TEMPLATES,{emoticons:"[_BUTTONS_][_EMOTICONS_]"}),e.extend(e.FE.DEFAULTS,{emoticonsStep:8,emoticonsSet:[{code:"1f600",desc:"Grinning face"},{code:"1f601",desc:"Grinning face with smiling eyes"},{code:"1f602",desc:"Face with tears of joy"},{code:"1f603",desc:"Smiling face with open mouth"},{code:"1f604",desc:"Smiling face with open mouth and smiling eyes"},{code:"1f605",desc:"Smiling face with open mouth and cold sweat"},{code:"1f606",desc:"Smiling face with open mouth and tightly-closed eyes"},{code:"1f607",desc:"Smiling face with halo"},{code:"1f608",desc:"Smiling face with horns"},{code:"1f609",desc:"Winking face"},{code:"1f60a",desc:"Smiling face with smiling eyes"},{code:"1f60b",desc:"Face savoring delicious food"},{code:"1f60c",desc:"Relieved face"},{code:"1f60d",desc:"Smiling face with heart-shaped eyes"},{code:"1f60e",desc:"Smiling face with sunglasses"},{code:"1f60f",desc:"Smirking face"},{code:"1f610",desc:"Neutral face"},{code:"1f611",desc:"Expressionless face"},{code:"1f612",desc:"Unamused face"},{code:"1f613",desc:"Face with cold sweat"},{code:"1f614",desc:"Pensive face"},{code:"1f615",desc:"Confused face"},{code:"1f616",desc:"Confounded face"},{code:"1f617",desc:"Kissing face"},{code:"1f618",desc:"Face throwing a kiss"},{code:"1f619",desc:"Kissing face with smiling eyes"},{code:"1f61a",desc:"Kissing face with closed eyes"},{code:"1f61b",desc:"Face with stuck out tongue"},{code:"1f61c",desc:"Face with stuck out tongue and winking eye"},{code:"1f61d",desc:"Face with stuck out tongue and tightly-closed eyes"},{code:"1f61e",desc:"Disappointed face"},{code:"1f61f",desc:"Worried face"},{code:"1f620",desc:"Angry face"},{code:"1f621",desc:"Pouting face"},{code:"1f622",desc:"Crying face"},{code:"1f623",desc:"Persevering face"},{code:"1f624",desc:"Face with look of triumph"},{code:"1f625",desc:"Disappointed but relieved face"},{code:"1f626",desc:"Frowning face with open mouth"},{code:"1f627",desc:"Anguished face"},{code:"1f628",desc:"Fearful face"},{code:"1f629",desc:"Weary face"},{code:"1f62a",desc:"Sleepy face"},{code:"1f62b",desc:"Tired face"},{code:"1f62c",desc:"Grimacing face"},{code:"1f62d",desc:"Loudly crying face"},{code:"1f62e",desc:"Face with open mouth"},{code:"1f62f",desc:"Hushed face"},{code:"1f630",desc:"Face with open mouth and cold sweat"},{code:"1f631",desc:"Face screaming in fear"},{code:"1f632",desc:"Astonished face"},{code:"1f633",desc:"Flushed face"},{code:"1f634",desc:"Sleeping face"},{code:"1f635",desc:"Dizzy face"},{code:"1f636",desc:"Face without mouth"},{code:"1f637",desc:"Face with medical mask"}],emoticonsButtons:["emoticonsBack","|"],emoticonsUseImage:!0}),e.FE.PLUGINS.emoticons=function(t){function n(){if(!t.selection.isCollapsed())return!1;var e=t.selection.element(),n=t.selection.endElement();if(e&&t.node.hasClass(e,"fr-emoticon"))return e;if(n&&t.node.hasClass(n,"fr-emoticon"))return n;var r=t.selection.ranges(0),i=r.startContainer;if(i.nodeType==Node.ELEMENT_NODE&&0<i.childNodes.length&&0<r.startOffset){var a=i.childNodes[r.startOffset-1];if(t.node.hasClass(a,"fr-emoticon"))return a}return!1}return{_init:function(){var r=function(){for(var e=t.el.querySelectorAll(".fr-emoticon:not(.fr-deletable)"),n=0;n<e.length;n++)e[n].className+=" fr-deletable"};r(),t.events.on("html.set",r),t.events.on("keydown",function(r){if(t.keys.isCharacter(r.which)&&t.selection.inEditor()){var i=t.selection.ranges(0),a=n();t.node.hasClass(a,"fr-emoticon-img")&&a&&(0===i.startOffset&&t.selection.element()===a?e(a).before(e.FE.MARKERS+e.FE.INVISIBLE_SPACE):e(a).after(e.FE.INVISIBLE_SPACE+e.FE.MARKERS),t.selection.restore())}}),t.events.on("keyup",function(r){for(var i=t.el.querySelectorAll(".fr-emoticon"),a=0;a<i.length;a++)void 0!==i[a].textContent&&0===i[a].textContent.replace(/\u200B/gi,"").length&&e(i[a]).remove();if(!(r.which>=e.FE.KEYCODE.ARROW_LEFT&&r.which<=e.FE.KEYCODE.ARROW_DOWN)){var o=n();t.node.hasClass(o,"fr-emoticon-img")&&(e(o).append(e.FE.MARKERS),t.selection.restore())}})},insert:function(r,i){var a=n(),o=t.selection.ranges(0);a?(0===o.startOffset&&t.selection.element()===a?e(a).before(e.FE.MARKERS+e.FE.INVISIBLE_SPACE):0<o.startOffset&&t.selection.element()===a&&o.commonAncestorContainer.parentNode.classList.contains("fr-emoticon")&&e(a).after(e.FE.INVISIBLE_SPACE+e.FE.MARKERS),t.selection.restore(),t.html.insert('<span class="fr-emoticon fr-deletable'+(i?" fr-emoticon-img":"")+'"'+(i?' style="background: url('+i+');"':"")+">"+(i?"&nbsp;":r)+"</span>&nbsp;"+e.FE.MARKERS,!0)):t.html.insert('<span class="fr-emoticon fr-deletable'+(i?" fr-emoticon-img":"")+'"'+(i?' style="background: url('+i+');"':"")+">"+(i?"&nbsp;":r)+"</span>&nbsp;",!0)},showEmoticonsPopup:function(){var n=t.$tb.find('.fr-command[data-cmd="emoticons"]'),r=t.popups.get("emoticons");if(r||(r=function(){var n="";t.opts.toolbarInline&&0<t.opts.emoticonsButtons.length&&(n='<div class="fr-buttons fr-emoticons-buttons">'+t.button.buildList(t.opts.emoticonsButtons)+"</div>");var r,i={buttons:n,emoticons:function(){for(var e='<div style="text-align: center">',n=0;n<t.opts.emoticonsSet.length;n++)0!==n&&n%t.opts.emoticonsStep==0&&(e+="<br>"),e+='<span class="fr-command fr-emoticon" tabIndex="-1" data-cmd="insertEmoticon" title="'+t.language.translate(t.opts.emoticonsSet[n].desc)+'" role="button" data-param1="'+t.opts.emoticonsSet[n].code+'">'+(t.opts.emoticonsUseImage?'<img src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.0.1/assets/svg/'+t.opts.emoticonsSet[n].code+'.svg"/>':"&#x"+t.opts.emoticonsSet[n].code+";")+'<span class="fr-sr-only">'+t.language.translate(t.opts.emoticonsSet[n].desc)+"&nbsp;&nbsp;&nbsp;</span></span>";return t.opts.emoticonsUseImage&&(e+='<p style="font-size: 12px; text-align: center; padding: 0 5px;">Emoji free by <a class="fr-link" tabIndex="-1" href="http://emojione.com/" target="_blank" rel="nofollow noopener noreferrer" role="link" aria-label="Open Emoji One website.">Emoji One</a></p>'),e+"</div>"}()},a=t.popups.create("emoticons",i);return t.tooltip.bind(a,".fr-emoticon"),r=a,t.events.on("popup.tab",function(n){var i=e(n.currentTarget);if(!t.popups.isVisible("emoticons")||!i.is("span, a"))return!0;var a,o,s,l=n.which;if(e.FE.KEYCODE.TAB==l){if(i.is("span.fr-emoticon")&&n.shiftKey||i.is("a")&&!n.shiftKey){var d=r.find(".fr-buttons");a=!t.accessibility.focusToolbar(d,!!n.shiftKey)}if(!1!==a){var c=r.find("span.fr-emoticon:focus:first, span.fr-emoticon:visible:first, a");i.is("span.fr-emoticon")&&(c=c.not("span.fr-emoticon:not(:focus)")),o=c.index(i),o=n.shiftKey?((o-1)%c.length+c.length)%c.length:(o+1)%c.length,s=c.get(o),t.events.disableBlur(),s.focus(),a=!1}}else if(e.FE.KEYCODE.ARROW_UP==l||e.FE.KEYCODE.ARROW_DOWN==l||e.FE.KEYCODE.ARROW_LEFT==l||e.FE.KEYCODE.ARROW_RIGHT==l){if(i.is("span.fr-emoticon")){var f=i.parent().find("span.fr-emoticon");o=f.index(i);var p=t.opts.emoticonsStep,u=Math.floor(f.length/p),h=o%p,g=Math.floor(o/p)*p+h,m=u*p;e.FE.KEYCODE.ARROW_UP==l?g=((g-p)%m+m)%m:e.FE.KEYCODE.ARROW_DOWN==l?g=(g+p)%m:e.FE.KEYCODE.ARROW_LEFT==l?g=((g-1)%m+m)%m:e.FE.KEYCODE.ARROW_RIGHT==l&&(g=(g+1)%m),s=e(f.get(g)),t.events.disableBlur(),s.focus(),a=!1}}else e.FE.KEYCODE.ENTER==l&&(i.is("a")?i[0].click():t.button.exec(i),a=!1);return!1===a&&(n.preventDefault(),n.stopPropagation()),a},!0),a}()),!r.hasClass("fr-active")){t.popups.refresh("emoticons"),t.popups.setContainer("emoticons",t.$tb);var i=n.offset().left+n.outerWidth()/2,a=n.offset().top+(t.opts.toolbarBottom?10:n.outerHeight()-10);t.popups.show("emoticons",i,a,n.outerHeight())}},hideEmoticonsPopup:function(){t.popups.hide("emoticons")},back:function(){t.popups.hide("emoticons"),t.toolbar.showInline()}}},e.FE.DefineIcon("emoticons",{NAME:"smile-o",FA5NAME:"smile"}),e.FE.RegisterCommand("emoticons",{title:"Emoticons",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible("emoticons")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("emoticons")):this.emoticons.showEmoticonsPopup()},plugin:"emoticons"}),e.FE.RegisterCommand("insertEmoticon",{callback:function(e,t){this.emoticons.insert("&#x"+t+";",this.opts.emoticonsUseImage?"https://cdnjs.cloudflare.com/ajax/libs/emojione/2.0.1/assets/svg/"+t+".svg":null),this.emoticons.hideEmoticonsPopup()}}),e.FE.DefineIcon("emoticonsBack",{NAME:"arrow-left"}),e.FE.RegisterCommand("emoticonsBack",{title:"Back",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.emoticons.back()}}),e.extend(e.FE.DEFAULTS,{entities:"&quot;&#39;&iexcl;&cent;&pound;&curren;&yen;&brvbar;&sect;&uml;&copy;&ordf;&laquo;&not;&shy;&reg;&macr;&deg;&plusmn;&sup2;&sup3;&acute;&micro;&para;&middot;&cedil;&sup1;&ordm;&raquo;&frac14;&frac12;&frac34;&iquest;&Agrave;&Aacute;&Acirc;&Atilde;&Auml;&Aring;&AElig;&Ccedil;&Egrave;&Eacute;&Ecirc;&Euml;&Igrave;&Iacute;&Icirc;&Iuml;&ETH;&Ntilde;&Ograve;&Oacute;&Ocirc;&Otilde;&Ouml;&times;&Oslash;&Ugrave;&Uacute;&Ucirc;&Uuml;&Yacute;&THORN;&szlig;&agrave;&aacute;&acirc;&atilde;&auml;&aring;&aelig;&ccedil;&egrave;&eacute;&ecirc;&euml;&igrave;&iacute;&icirc;&iuml;&eth;&ntilde;&ograve;&oacute;&ocirc;&otilde;&ouml;&divide;&oslash;&ugrave;&uacute;&ucirc;&uuml;&yacute;&thorn;&yuml;&OElig;&oelig;&Scaron;&scaron;&Yuml;&fnof;&circ;&tilde;&Alpha;&Beta;&Gamma;&Delta;&Epsilon;&Zeta;&Eta;&Theta;&Iota;&Kappa;&Lambda;&Mu;&Nu;&Xi;&Omicron;&Pi;&Rho;&Sigma;&Tau;&Upsilon;&Phi;&Chi;&Psi;&Omega;&alpha;&beta;&gamma;&delta;&epsilon;&zeta;&eta;&theta;&iota;&kappa;&lambda;&mu;&nu;&xi;&omicron;&pi;&rho;&sigmaf;&sigma;&tau;&upsilon;&phi;&chi;&psi;&omega;&thetasym;&upsih;&piv;&ensp;&emsp;&thinsp;&zwnj;&zwj;&lrm;&rlm;&ndash;&mdash;&lsquo;&rsquo;&sbquo;&ldquo;&rdquo;&bdquo;&dagger;&Dagger;&bull;&hellip;&permil;&prime;&Prime;&lsaquo;&rsaquo;&oline;&frasl;&euro;&image;&weierp;&real;&trade;&alefsym;&larr;&uarr;&rarr;&darr;&harr;&crarr;&lArr;&uArr;&rArr;&dArr;&hArr;&forall;&part;&exist;&empty;&nabla;&isin;&notin;&ni;&prod;&sum;&minus;&lowast;&radic;&prop;&infin;&ang;&and;&or;&cap;&cup;&int;&there4;&sim;&cong;&asymp;&ne;&equiv;&le;&ge;&sub;&sup;&nsub;&sube;&supe;&oplus;&otimes;&perp;&sdot;&lceil;&rceil;&lfloor;&rfloor;&lang;&rang;&loz;&spades;&clubs;&hearts;&diams;"}),e.FE.PLUGINS.entities=function(t){var n,r;function i(e){var t=e.textContent;if(t.match(n)){for(var i="",a=0;a<t.length;a++)r[t[a]]?i+=r[t[a]]:i+=t[a];e.textContent=i}}function a(e){if(e&&0<=["STYLE","SCRIPT","svg","IFRAME"].indexOf(e.tagName))return!0;for(var n=t.node.contents(e),r=0;r<n.length;r++)n[r].nodeType==Node.TEXT_NODE?i(n[r]):a(n[r]);e.nodeType==Node.TEXT_NODE&&i(e)}function o(e){return 0===e.length?"":t.clean.exec(e,a).replace(/\&amp;/g,"&")}return{_init:function(){t.opts.htmlSimpleAmpersand||(t.opts.entities=t.opts.entities+"&amp;");var i=e("<div>").html(t.opts.entities).text(),a=t.opts.entities.split(";");r={},n="";for(var s=0;s<i.length;s++){var l=i.charAt(s);r[l]=a[s]+";",n+="\\"+l+(s<i.length-1?"|":"")}n=new RegExp("("+n+")","g"),t.events.on("html.get",o,!0)}}},e.extend(e.FE.POPUP_TEMPLATES,{"file.insert":"[_BUTTONS_][_UPLOAD_LAYER_][_PROGRESS_BAR_]"}),e.extend(e.FE.DEFAULTS,{fileUpload:!0,fileUploadURL:null,fileUploadParam:"file",fileUploadParams:{},fileUploadToS3:!1,fileUploadMethod:"POST",fileMaxSize:10485760,fileAllowedTypes:["*"],fileInsertButtons:["fileBack","|"],fileUseSelectedText:!1}),e.FE.PLUGINS.file=function(t){var n,r="https://i.froala.com/upload",i=2,a=3,o=4,s=5,l=6,d={};function c(){var e=t.popups.get("file.insert");e||(e=A()),e.find(".fr-layer.fr-active").removeClass("fr-active").addClass("fr-pactive"),e.find(".fr-file-progress-bar-layer").addClass("fr-active"),e.find(".fr-buttons").hide(),p(t.language.translate("Uploading"),0)}function f(e){var n=t.popups.get("file.insert");n&&(n.find(".fr-layer.fr-pactive").addClass("fr-active").removeClass("fr-pactive"),n.find(".fr-file-progress-bar-layer").removeClass("fr-active"),n.find(".fr-buttons").show(),e&&(t.events.focus(),t.popups.hide("file.insert")))}function p(e,n){var r=t.popups.get("file.insert");if(r){var i=r.find(".fr-file-progress-bar-layer");i.find("h3").text(e+(n?" "+n+"%":"")),i.removeClass("fr-error"),n?(i.find("div").removeClass("fr-indeterminate"),i.find("div > span").css("width",n+"%")):i.find("div").addClass("fr-indeterminate")}}function u(e,n,r){t.edit.on(),t.events.focus(!0),t.selection.restore(),t.opts.fileUseSelectedText&&t.selection.text().length&&(n=t.selection.text()),t.html.insert('<a href="'+e+'" target="_blank" id="fr-inserted-file" class="fr-file">'+n+"</a>");var i=t.$el.find("#fr-inserted-file");i.removeAttr("id"),t.popups.hide("file.insert"),t.undo.saveStep(),R(),t.events.trigger("file.inserted",[i,r])}function h(n){var r=this.status,s=this.response,l=this.responseXML,d=this.responseText;try{if(t.opts.fileUploadToS3)if(201==r){var c=function(n){try{var r=e(n).find("Location").text(),i=e(n).find("Key").text();return!1===t.events.trigger("file.uploadedToS3",[r,i,n],!0)?(t.edit.on(),!1):r}catch(e){return v(o,n),!1}}(l);c&&u(c,n,s||l)}else v(o,s||l);else if(200<=r&&r<300){var f=function(e){try{if(!1===t.events.trigger("file.uploaded",[e],!0))return t.edit.on(),!1;var n=JSON.parse(e);return n.link?n:(v(i,e),!1)}catch(t){return v(o,e),!1}}(d);f&&u(f.link,n,s||d)}else v(a,s||d)}catch(e){v(o,s||d)}}function g(){v(o,this.response||this.responseText||this.responseXML)}function m(e){if(e.lengthComputable){var n=e.loaded/e.total*100|0;p(t.language.translate("Uploading"),n)}}function v(e,n){t.edit.on(),function(e){c();var n=t.popups.get("file.insert").find(".fr-file-progress-bar-layer");n.addClass("fr-error");var r=n.find("h3");r.text(e),t.events.disableBlur(),r.focus()}(t.language.translate("Something went wrong. Please try again.")),t.events.trigger("file.error",[{code:e,message:d[e]},n])}function E(){t.edit.on(),f(!0)}function b(e){if(void 0!==e&&0<e.length){if(!1===t.events.trigger("file.beforeUpload",[e]))return!1;var n,i=e[0];if((null===t.opts.fileUploadURL||t.opts.fileUploadURL==r)&&!t.opts.fileUploadToS3)return p=i,(u=new FileReader).addEventListener("load",function(){for(var e=u.result,n=atob(u.result.split(",")[1]),r=[],i=0;i<n.length;i++)r.push(n.charCodeAt(i));e=window.URL.createObjectURL(new Blob([new Uint8Array(r)],{type:p.type})),t.file.insert(e,p.name,null)},!1),c(),u.readAsDataURL(p),!1;if(i.size>t.opts.fileMaxSize)return v(s),!1;if(t.opts.fileAllowedTypes.indexOf("*")<0&&t.opts.fileAllowedTypes.indexOf(i.type.replace(/file\//g,""))<0)return v(l),!1;if(t.drag_support.formdata&&(n=t.drag_support.formdata?new FormData:null),n){var a;if(!1!==t.opts.fileUploadToS3)for(a in n.append("key",t.opts.fileUploadToS3.keyStart+(new Date).getTime()+"-"+(i.name||"untitled")),n.append("success_action_status","201"),n.append("X-Requested-With","xhr"),n.append("Content-Type",i.type),t.opts.fileUploadToS3.params)t.opts.fileUploadToS3.params.hasOwnProperty(a)&&n.append(a,t.opts.fileUploadToS3.params[a]);for(a in t.opts.fileUploadParams)t.opts.fileUploadParams.hasOwnProperty(a)&&n.append(a,t.opts.fileUploadParams[a]);n.append(t.opts.fileUploadParam,i);var o=t.opts.fileUploadURL;t.opts.fileUploadToS3&&(o=t.opts.fileUploadToS3.uploadURL?t.opts.fileUploadToS3.uploadURL:"https://"+t.opts.fileUploadToS3.region+".amazonaws.com/"+t.opts.fileUploadToS3.bucket);var d=t.core.getXHR(o,t.opts.fileUploadMethod);d.onload=function(){h.call(d,i.name)},d.onerror=g,d.upload.onprogress=m,d.onabort=E,c();var f=t.popups.get("file.insert");f&&f.off("abortUpload").on("abortUpload",function(){4!=d.readyState&&d.abort()}),d.send(n)}}var p,u}function T(){f()}function A(n){if(n)return t.popups.onHide("file.insert",T),!0;var r;t.opts.fileUpload||t.opts.fileInsertButtons.splice(t.opts.fileInsertButtons.indexOf("fileUpload"),1),r='<div class="fr-buttons">'+t.button.buildList(t.opts.fileInsertButtons)+"</div>";var i="";t.opts.fileUpload&&(i='<div class="fr-file-upload-layer fr-layer fr-active" id="fr-file-upload-layer-'+t.id+'"><strong>'+t.language.translate("Drop file")+"</strong><br>("+t.language.translate("or click")+')<div class="fr-form"><input type="file" name="'+t.opts.fileUploadParam+'" accept="'+(0<=t.opts.fileAllowedTypes.indexOf("*")?"/":"")+t.opts.fileAllowedTypes.join(", ").toLowerCase()+'" tabIndex="-1" aria-labelledby="fr-file-upload-layer-'+t.id+'" role="button"></div></div>');var a,o={buttons:r,upload_layer:i,progress_bar:'<div class="fr-file-progress-bar-layer fr-layer"><h3 tabIndex="-1" class="fr-message">Uploading</h3><div class="fr-loader"><span class="fr-progress"></span></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-dismiss" data-cmd="fileDismissError" tabIndex="2" role="button">OK</button></div></div>'},s=t.popups.create("file.insert",o);return a=s,t.events.$on(a,"dragover dragenter",".fr-file-upload-layer",function(){return e(this).addClass("fr-drop"),!1},!0),t.events.$on(a,"dragleave dragend",".fr-file-upload-layer",function(){return e(this).removeClass("fr-drop"),!1},!0),t.events.$on(a,"drop",".fr-file-upload-layer",function(n){n.preventDefault(),n.stopPropagation(),e(this).removeClass("fr-drop");var r=n.originalEvent.dataTransfer;r&&r.files&&(a.data("instance")||t).file.upload(r.files)},!0),t.helpers.isIOS()&&t.events.$on(a,"touchstart",'.fr-file-upload-layer input[type="file"]',function(){e(this).trigger("click")}),t.events.$on(a,"change",'.fr-file-upload-layer input[type="file"]',function(){if(this.files){var n=a.data("instance")||t;n.events.disableBlur(),a.find("input:focus").blur(),n.events.enableBlur(),n.file.upload(this.files)}e(this).val("")},!0),s}function C(e){t.node.hasClass(e,"fr-file")}function S(n){var r=n.originalEvent.dataTransfer;if(r&&r.files&&r.files.length){var i=r.files[0];if(i&&void 0!==i.type){if(i.type.indexOf("image")<0){if(!t.opts.fileUpload)return n.preventDefault(),n.stopPropagation(),!1;t.markers.remove(),t.markers.insertAtPoint(n.originalEvent),t.$el.find(".fr-marker").replaceWith(e.FE.MARKERS),t.popups.hideAll();var a=t.popups.get("file.insert");return a||(a=A()),t.popups.setContainer("file.insert",t.$sc),t.popups.show("file.insert",n.originalEvent.pageX,n.originalEvent.pageY),c(),b(r.files),n.preventDefault(),n.stopPropagation(),!1}}else i.type.indexOf("image")<0&&(n.preventDefault(),n.stopPropagation())}}function R(){var e,r=Array.prototype.slice.call(t.el.querySelectorAll("a.fr-file")),i=[];for(e=0;e<r.length;e++)i.push(r[e].getAttribute("href"));if(n)for(e=0;e<n.length;e++)i.indexOf(n[e].getAttribute("href"))<0&&t.events.trigger("file.unlink",[n[e]]);n=r}return d[1]="File cannot be loaded from the passed link.",d[i]="No link in upload response.",d[a]="Error during file upload.",d[o]="Parsing response failed.",d[s]="File is too large.",d[l]="File file type is invalid.",d[7]="Files can be uploaded only to same domain in IE 8 and IE 9.",{_init:function(){t.events.on("drop",S),t.events.$on(t.$win,"keydown",function(n){var r=n.which,i=t.popups.get("file.insert");i&&r==e.FE.KEYCODE.ESC&&i.trigger("abortUpload")}),t.events.on("destroy",function(){var e=t.popups.get("file.insert");e&&e.trigger("abortUpload")}),t.events.on("link.beforeRemove",C),t.$wp&&(R(),t.events.on("contentChanged",R)),A(!0)},showInsertPopup:function(){var e=t.$tb.find('.fr-command[data-cmd="insertFile"]'),n=t.popups.get("file.insert");if(n||(n=A()),f(),!n.hasClass("fr-active"))if(t.popups.refresh("file.insert"),t.popups.setContainer("file.insert",t.$tb),e.is(":visible")){var r=e.offset().left+e.outerWidth()/2,i=e.offset().top+(t.opts.toolbarBottom?10:e.outerHeight()-10);t.popups.show("file.insert",r,i,e.outerHeight())}else t.position.forSelection(n),t.popups.show("file.insert")},upload:b,insert:u,back:function(){t.events.disableBlur(),t.selection.restore(),t.events.enableBlur(),t.popups.hide("file.insert"),t.toolbar.showInline()},hideProgressBar:f}},e.FE.DefineIcon("insertFile",{NAME:"file-o",FA5NAME:"file"}),e.FE.RegisterCommand("insertFile",{title:"Upload File",undo:!1,focus:!0,refreshAfterCallback:!1,popup:!0,callback:function(){this.popups.isVisible("file.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("file.insert")):this.file.showInsertPopup()},plugin:"file"}),e.FE.DefineIcon("fileBack",{NAME:"arrow-left"}),e.FE.RegisterCommand("fileBack",{title:"Back",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.file.back()},refresh:function(e){this.opts.toolbarInline?(e.removeClass("fr-hidden"),e.next(".fr-separator").removeClass("fr-hidden")):(e.addClass("fr-hidden"),e.next(".fr-separator").addClass("fr-hidden"))}}),e.FE.RegisterCommand("fileDismissError",{title:"OK",callback:function(){this.file.hideProgressBar(!0)}}),e.extend(e.FE.DEFAULTS,{fontFamily:{"Arial,Helvetica,sans-serif":"Arial","Georgia,serif":"Georgia","Impact,Charcoal,sans-serif":"Impact","Tahoma,Geneva,sans-serif":"Tahoma","Times New Roman,Times,serif,-webkit-standard":"Times New Roman","Verdana,Geneva,sans-serif":"Verdana"},fontFamilySelection:!1,fontFamilyDefaultSelection:"Font Family"}),e.FE.PLUGINS.fontFamily=function(t){function n(t){var n=t.replace(/(sans-serif|serif|monospace|cursive|fantasy)/gi,"").replace(/"|'| /g,"").split(",");return e.grep(n,function(e){return 0<e.length})}function r(e,t){for(var n=0;n<e.length;n++)for(var r=0;r<t.length;r++)if(e[n].toLowerCase()==t[r].toLowerCase())return[n,r];return null}function i(){var i=n(e(t.selection.element()).css("font-family")),a=[];for(var o in t.opts.fontFamily)if(t.opts.fontFamily.hasOwnProperty(o)){var s=r(i,n(o));s&&a.push([o,s])}return 0===a.length?null:(a.sort(function(e,t){var n=e[1][0]-t[1][0];return 0===n?e[1][1]-t[1][1]:n}),a[0][0])}return{apply:function(e){t.format.applyStyle("font-family",e)},refreshOnShow:function(e,t){t.find(".fr-command.fr-active").removeClass("fr-active").attr("aria-selected",!1),t.find('.fr-command[data-param1="'+i()+'"]').addClass("fr-active").attr("aria-selected",!0);var n=t.find(".fr-dropdown-list"),r=t.find(".fr-active").parent();r.length?n.parent().scrollTop(r.offset().top-n.offset().top-(n.parent().outerHeight()/2-r.outerHeight()/2)):n.parent().scrollTop(0)},refresh:function(n){if(t.opts.fontFamilySelection){var r=e(t.selection.element()).css("font-family").replace(/(sans-serif|serif|monospace|cursive|fantasy)/gi,"").replace(/"|'|/g,"").split(",");n.find("> span").text(t.opts.fontFamily[i()]||r[0]||t.language.translate(t.opts.fontFamilyDefaultSelection))}}}},e.FE.RegisterCommand("fontFamily",{type:"dropdown",displaySelection:function(e){return e.opts.fontFamilySelection},defaultSelection:function(e){return e.opts.fontFamilyDefaultSelection},displaySelectionWidth:120,html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.fontFamily;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="fontFamily" data-param1="'+n+'" style="font-family: '+n+'" title="'+t[n]+'">'+t[n]+"</a></li>");return e+"</ul>"},title:"Font Family",callback:function(e,t){this.fontFamily.apply(t)},refresh:function(e){this.fontFamily.refresh(e)},refreshOnShow:function(e,t){this.fontFamily.refreshOnShow(e,t)},plugin:"fontFamily"}),e.FE.DefineIcon("fontFamily",{NAME:"font"}),e.extend(e.FE.DEFAULTS,{fontSize:["8","9","10","11","12","14","18","24","30","36","48","60","72","96"],fontSizeSelection:!1,fontSizeDefaultSelection:"12",fontSizeUnit:"px"}),e.FE.PLUGINS.fontSize=function(t){return{apply:function(e){t.format.applyStyle("font-size",e)},refreshOnShow:function(n,r){var i=e(t.selection.element()).css("font-size");"pt"===t.opts.fontSizeUnit&&(i=Math.round(72*parseFloat(i,10)/96)+"pt"),r.find(".fr-command.fr-active").removeClass("fr-active").attr("aria-selected",!1),r.find('.fr-command[data-param1="'+i+'"]').addClass("fr-active").attr("aria-selected",!0);var a=r.find(".fr-dropdown-list"),o=r.find(".fr-active").parent();o.length?a.parent().scrollTop(o.offset().top-a.offset().top-(a.parent().outerHeight()/2-o.outerHeight()/2)):a.parent().scrollTop(0)},refresh:function(n){if(t.opts.fontSizeSelection){var r=t.helpers.getPX(e(t.selection.element()).css("font-size"));"pt"===t.opts.fontSizeUnit&&(r=Math.round(72*parseFloat(r,10)/96)+"pt"),n.find("> span").text(r)}}}},e.FE.RegisterCommand("fontSize",{type:"dropdown",title:"Font Size",displaySelection:function(e){return e.opts.fontSizeSelection},displaySelectionWidth:30,defaultSelection:function(e){return e.opts.fontSizeDefaultSelection},html:function(){for(var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.fontSize,n=0;n<t.length;n++){var r=t[n];e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="fontSize" data-param1="'+r+this.opts.fontSizeUnit+'" title="'+r+'">'+r+"</a></li>"}return e+"</ul>"},callback:function(e,t){this.fontSize.apply(t)},refresh:function(e){this.fontSize.refresh(e)},refreshOnShow:function(e,t){this.fontSize.refreshOnShow(e,t)},plugin:"fontSize"}),e.FE.DefineIcon("fontSize",{NAME:"text-height"}),e.extend(e.FE.POPUP_TEMPLATES,{"forms.edit":"[_BUTTONS_]","forms.update":"[_BUTTONS_][_TEXT_LAYER_]"}),e.extend(e.FE.DEFAULTS,{formEditButtons:["inputStyle","inputEdit"],formStyles:{"fr-rounded":"Rounded","fr-large":"Large"},formMultipleStyles:!0,formUpdateButtons:["inputBack","|"]}),e.FE.PLUGINS.forms=function(t){var n;function r(n){n.preventDefault(),t.selection.clear(),e(this).data("mousedown",!0)}function i(t){e(this).data("mousedown")&&(t.stopPropagation(),e(this).removeData("mousedown"),l(n=this)),t.preventDefault()}function a(){t.$el.find("input, textarea, button").removeData("mousedown")}function o(){e(this).removeData("mousedown")}function s(){return n||null}function l(r){var i=t.popups.get("forms.edit");i||(i=function(){var e="";0<t.opts.formEditButtons.length&&(e='<div class="fr-buttons">'+t.button.buildList(t.opts.formEditButtons)+"</div>");var n={buttons:e},r=t.popups.create("forms.edit",n);return t.$wp&&t.events.$on(t.$wp,"scroll.link-edit",function(){s()&&t.popups.isVisible("forms.edit")&&l(s())}),r}());var a=e(n=r);t.popups.refresh("forms.edit"),t.popups.setContainer("forms.edit",t.$sc);var o=a.offset().left+a.outerWidth()/2,d=a.offset().top+a.outerHeight();t.popups.show("forms.edit",o,d,a.outerHeight())}function d(){var n=t.popups.get("forms.update"),r=s();if(r){var i=e(r);i.is("button")?n.find('input[type="text"][name="text"]').val(i.text()):n.find('input[type="text"][name="text"]').val(i.attr("placeholder"))}n.find('input[type="text"][name="text"]').trigger("change")}function c(){n=null}function f(e){if(e)return t.popups.onRefresh("forms.update",d),t.popups.onHide("forms.update",c),!0;var n="";1<=t.opts.formUpdateButtons.length&&(n='<div class="fr-buttons">'+t.button.buildList(t.opts.formUpdateButtons)+"</div>");var r="",i=0;r='<div class="fr-forms-text-layer fr-layer fr-active">',r+='<div class="fr-input-line"><input name="text" type="text" placeholder="Text" tabIndex="'+ ++i+'"></div>';var a={buttons:n,text_layer:r+='<div class="fr-action-buttons"><button class="fr-command fr-submit" data-cmd="updateInput" href="#" tabIndex="'+ ++i+'" type="button">'+t.language.translate("Update")+"</button></div></div>"};return t.popups.create("forms.update",a)}return{_init:function(){t.events.$on(t.$el,t._mousedown,"input, textarea, button",r),t.events.$on(t.$el,t._mouseup,"input, textarea, button",i),t.events.$on(t.$el,"touchmove","input, textarea, button",o),t.events.$on(t.$el,t._mouseup,a),t.events.$on(t.$win,t._mouseup,a),f(!0),t.events.$on(t.$el,"submit","form",function(e){return e.preventDefault(),!1})},updateInput:function(){var n=t.popups.get("forms.update"),r=s();if(r){var i=e(r),a=n.find('input[type="text"][name="text"]').val()||"";a.length&&(i.is("button")?i.text(a):i.attr("placeholder",a)),t.popups.hide("forms.update"),l(r)}},getInput:s,applyStyle:function(n,r,i){void 0===r&&(r=t.opts.formStyles),void 0===i&&(i=t.opts.formMultipleStyles);var a=s();if(!a)return!1;if(!i){var o=Object.keys(r);o.splice(o.indexOf(n),1),e(a).removeClass(o.join(" "))}e(a).toggleClass(n)},showUpdatePopup:function(){var n=s();if(n){var r=e(n),i=t.popups.get("forms.update");i||(i=f()),t.popups.isVisible("forms.update")||t.popups.refresh("forms.update"),t.popups.setContainer("forms.update",t.$sc);var a=r.offset().left+r.outerWidth()/2,o=r.offset().top+r.outerHeight();t.popups.show("forms.update",a,o,r.outerHeight())}},showEditPopup:l,back:function(){t.events.disableBlur(),t.selection.restore(),t.events.enableBlur();var e=s();e&&t.$wp&&("BUTTON"==e.tagName&&t.selection.restore(),l(e))}}},e.FE.RegisterCommand("updateInput",{undo:!1,focus:!1,title:"Update",callback:function(){this.forms.updateInput()}}),e.FE.DefineIcon("inputStyle",{NAME:"magic"}),e.FE.RegisterCommand("inputStyle",{title:"Style",type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list">',t=this.opts.formStyles;for(var n in t)t.hasOwnProperty(n)&&(e+='<li><a class="fr-command" tabIndex="-1" data-cmd="inputStyle" data-param1="'+n+'">'+this.language.translate(t[n])+"</a></li>");return e+"</ul>"},callback:function(e,t){var n=this.forms.getInput();n&&(this.forms.applyStyle(t),this.forms.showEditPopup(n))},refreshOnShow:function(t,n){var r=this.forms.getInput();if(r){var i=e(r);n.find(".fr-command").each(function(){var t=e(this).data("param1");e(this).toggleClass("fr-active",i.hasClass(t))})}}}),e.FE.DefineIcon("inputEdit",{NAME:"edit"}),e.FE.RegisterCommand("inputEdit",{title:"Edit Button",undo:!1,refreshAfterCallback:!1,callback:function(){this.forms.showUpdatePopup()}}),e.FE.DefineIcon("inputBack",{NAME:"arrow-left"}),e.FE.RegisterCommand("inputBack",{title:"Back",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.forms.back()}}),e.FE.RegisterCommand("updateInput",{undo:!1,focus:!1,title:"Update",callback:function(){this.forms.updateInput()}}),e.FE.PLUGINS.fullscreen=function(t){var n,r,i,a;function o(){return t.$box.hasClass("fr-fullscreen")}function s(){if(t.helpers.isIOS()&&t.core.hasFocus())return t.$el.blur(),setTimeout(d,250),!1;n=t.helpers.scrollTop(),t.$box.toggleClass("fr-fullscreen"),e("body:first").toggleClass("fr-fullscreen"),t.helpers.isMobile()&&(t.$tb.data("parent",t.$tb.parent()),t.$tb.prependTo(t.$box),t.$tb.data("sticky-dummy")&&t.$tb.after(t.$tb.data("sticky-dummy"))),r=t.opts.height,i=t.opts.heightMax,a=t.opts.zIndex,t.position.refresh(),t.opts.height=t.o_win.innerHeight-(t.opts.toolbarInline?0:t.$tb.outerHeight()),t.opts.zIndex=2147483641,t.opts.heightMax=null,t.size.refresh(),t.opts.toolbarInline&&t.toolbar.showInline();for(var o=t.$box.parent();!o.is("body:first");)o.data("z-index",o.css("z-index")).data("overflow",o.css("overflow")).css("z-index","2147483640").css("overflow","visible"),o=o.parent();t.opts.toolbarContainer&&t.$box.prepend(t.$tb),t.events.trigger("charCounter.update"),t.events.trigger("codeView.update"),t.$win.trigger("scroll")}function l(){if(t.helpers.isIOS()&&t.core.hasFocus())return t.$el.blur(),setTimeout(d,250),!1;t.$box.toggleClass("fr-fullscreen"),e("body:first").toggleClass("fr-fullscreen"),t.$tb.prependTo(t.$tb.data("parent")),t.$tb.data("sticky-dummy")&&t.$tb.after(t.$tb.data("sticky-dummy")),t.opts.height=r,t.opts.heightMax=i,t.opts.zIndex=a,t.size.refresh(),e(t.o_win).scrollTop(n),t.opts.toolbarInline&&t.toolbar.showInline(),t.events.trigger("charCounter.update"),t.opts.toolbarSticky&&t.opts.toolbarStickyOffset&&(t.opts.toolbarBottom?t.$tb.css("bottom",t.opts.toolbarStickyOffset).data("bottom",t.opts.toolbarStickyOffset):t.$tb.css("top",t.opts.toolbarStickyOffset).data("top",t.opts.toolbarStickyOffset));for(var o=t.$box.parent();!o.is("body:first");)o.data("z-index")&&(o.css("z-index",""),o.css("z-index")!=o.data("z-index")&&o.css("z-index",o.data("z-index")),o.removeData("z-index")),o.data("overflow")?(o.css("overflow",""),o.css("overflow")!=o.data("overflow")&&o.css("overflow",o.data("overflow"))):o.css("overflow",""),o.removeData("overflow"),o=o.parent();t.opts.toolbarContainer&&e(t.opts.toolbarContainer).append(t.$tb),e(t.o_win).trigger("scroll"),t.events.trigger("codeView.update")}function d(){o()?l():s(),c(t.$tb.find('.fr-command[data-cmd="fullscreen"]'))}function c(e){var n=o();e.toggleClass("fr-active",n).attr("aria-pressed",n),e.find("> *:not(.fr-sr-only)").replaceWith(n?t.icon.create("fullscreenCompress"):t.icon.create("fullscreen"))}return{_init:function(){if(!t.$wp)return!1;t.events.$on(e(t.o_win),"resize",function(){o()&&(l(),s())}),t.events.on("toolbar.hide",function(){if(o()&&t.helpers.isMobile())return!1}),t.events.on("position.refresh",function(){if(t.helpers.isIOS())return!o()}),t.events.on("destroy",function(){o()&&l()},!0)},toggle:d,refresh:c,isActive:o}},e.FE.RegisterCommand("fullscreen",{title:"Fullscreen",undo:!1,focus:!1,accessibilityFocus:!0,forcedRefresh:!0,toggle:!0,callback:function(){this.fullscreen.toggle()},refresh:function(e){this.fullscreen.refresh(e)},plugin:"fullscreen"}),e.FE.DefineIcon("fullscreen",{NAME:"expand"}),e.FE.DefineIcon("fullscreenCompress",{NAME:"compress"}),e.extend(e.FE.DEFAULTS,{helpSets:[{title:"Inline Editor",commands:[{val:"OSkeyE",desc:"Show the editor"}]},{title:"Common actions",commands:[{val:"OSkeyC",desc:"Copy"},{val:"OSkeyX",desc:"Cut"},{val:"OSkeyV",desc:"Paste"},{val:"OSkeyZ",desc:"Undo"},{val:"OSkeyShift+Z",desc:"Redo"},{val:"OSkeyK",desc:"Insert Link"},{val:"OSkeyP",desc:"Insert Image"}]},{title:"Basic Formatting",commands:[{val:"OSkeyA",desc:"Select All"},{val:"OSkeyB",desc:"Bold"},{val:"OSkeyI",desc:"Italic"},{val:"OSkeyU",desc:"Underline"},{val:"OSkeyS",desc:"Strikethrough"},{val:"OSkey]",desc:"Increase Indent"},{val:"OSkey[",desc:"Decrease Indent"}]},{title:"Quote",commands:[{val:"OSkey'",desc:"Increase quote level"},{val:"OSkeyShift+'",desc:"Decrease quote level"}]},{title:"Image / Video",commands:[{val:"OSkey+",desc:"Resize larger"},{val:"OSkey-",desc:"Resize smaller"}]},{title:"Table",commands:[{val:"Alt+Space",desc:"Select table cell"},{val:"Shift+Left/Right arrow",desc:"Extend selection one cell"},{val:"Shift+Up/Down arrow",desc:"Extend selection one row"}]},{title:"Navigation",commands:[{val:"OSkey/",desc:"Shortcuts"},{val:"Alt+F10",desc:"Focus popup / toolbar"},{val:"Esc",desc:"Return focus to previous position"}]}]}),e.FE.PLUGINS.help=function(t){var n,r="help";return{_init:function(){},show:function(){if(!n){var i="<h4>"+t.language.translate("Shortcuts")+"</h4>",a=function(){for(var e='<div class="fr-help-modal">',n=0;n<t.opts.helpSets.length;n++){var r=t.opts.helpSets[n],i="<table>";i+="<thead><tr><th>"+t.language.translate(r.title)+"</th></tr></thead>",i+="<tbody>";for(var a=0;a<r.commands.length;a++){var o=r.commands[a];i+="<tr>",i+="<td>"+t.language.translate(o.desc)+"</td>",i+="<td>"+o.val.replace("OSkey",t.helpers.isMac()?"&#8984;":"Ctrl+")+"</td>",i+="</tr>"}e+=i+="</tbody></table>"}return e+"</div>"}(),o=t.modals.create(r,i,a);n=o.$modal,o.$head,o.$body,t.events.$on(e(t.o_win),"resize",function(){t.modals.resize(r)})}t.modals.show(r),t.modals.resize(r)},hide:function(){t.modals.hide(r)}}},e.FroalaEditor.DefineIcon("help",{NAME:"question"}),e.FE.RegisterShortcut(e.FE.KEYCODE.SLASH,"help",null,"/"),e.FE.RegisterCommand("help",{title:"Help",icon:"help",undo:!1,focus:!1,modal:!0,callback:function(){this.help.show()},plugin:"help",showOnMobile:!1}),e.extend(e.FE.POPUP_TEMPLATES,{"image.insert":"[_BUTTONS_][_UPLOAD_LAYER_][_BY_URL_LAYER_][_PROGRESS_BAR_]","image.edit":"[_BUTTONS_]","image.alt":"[_BUTTONS_][_ALT_LAYER_]","image.size":"[_BUTTONS_][_SIZE_LAYER_]"}),e.extend(e.FE.DEFAULTS,{imageInsertButtons:["imageBack","|","imageUpload","imageByURL"],imageEditButtons:["imageReplace","imageAlign","imageCaption","imageRemove","|","imageLink","linkOpen","linkEdit","linkRemove","-","imageDisplay","imageStyle","imageAlt","imageSize"],imageAltButtons:["imageBack","|"],imageSizeButtons:["imageBack","|"],imageUpload:!0,imageUploadURL:null,imageCORSProxy:"https://cors-anywhere.froala.com",imageUploadRemoteUrls:!0,imageUploadParam:"file",imageUploadParams:{},imageUploadToS3:!1,imageUploadMethod:"POST",imageMaxSize:10485760,imageAllowedTypes:["jpeg","jpg","png","gif"],imageResize:!0,imageResizeWithPercent:!1,imageRoundPercent:!1,imageDefaultWidth:300,imageDefaultAlign:"center",imageDefaultDisplay:"block",imageSplitHTML:!1,imageStyles:{"fr-rounded":"Rounded","fr-bordered":"Bordered","fr-shadow":"Shadow"},imageMove:!0,imageMultipleStyles:!0,imageTextNear:!0,imagePaste:!0,imagePasteProcess:!1,imageMinWidth:16,imageOutputSize:!1,imageDefaultMargin:5}),e.FE.PLUGINS.image=function(t){var n,r,i,a,o,s,l="https://i.froala.com/upload",d=!1,c=1,f=2,p=3,u=4,h=5,g=6,m=8,v={};function E(){var e=t.popups.get("image.insert").find(".fr-image-by-url-layer input");e.val(""),n&&e.val(n.attr("src")),e.trigger("change")}function b(){var e=t.popups.get("image.edit");if(e||(e=N()),e){var r=ve();Ee()&&(r=r.find(".fr-img-wrap")),t.popups.setContainer("image.edit",t.$sc),t.popups.refresh("image.edit");var i=r.offset().left+r.outerWidth()/2,a=r.offset().top+r.outerHeight();n.hasClass("fr-uploading")?O():t.popups.show("image.edit",i,a,r.outerHeight())}}function T(){I()}function A(){for(var n,r,i="IMG"==t.el.tagName?[t.el]:t.el.querySelectorAll("img"),a=0;a<i.length;a++){var o=e(i[a]);!t.opts.htmlUntouched&&t.opts.useClasses?((t.opts.imageDefaultAlign||t.opts.imageDefaultDisplay)&&(0<(r=o).parents(".fr-img-caption").length&&(r=r.parents(".fr-img-caption:first")),r.hasClass("fr-dii")||r.hasClass("fr-dib")||(r.addClass("fr-fi"+pe(r)[0]),r.addClass("fr-di"+ue(r)[0]),r.css("margin",""),r.css("float",""),r.css("display",""),r.css("z-index",""),r.css("position",""),r.css("overflow",""),r.css("vertical-align",""))),t.opts.imageTextNear||(0<o.parents(".fr-img-caption").length?o.parents(".fr-img-caption:first").removeClass("fr-dii").addClass("fr-dib"):o.removeClass("fr-dii").addClass("fr-dib"))):t.opts.htmlUntouched||t.opts.useClasses||(t.opts.imageDefaultAlign||t.opts.imageDefaultDisplay)&&(0<(n=o).parents(".fr-img-caption").length&&(n=n.parents(".fr-img-caption:first")),fe(n,n.hasClass("fr-dib")?"block":n.hasClass("fr-dii")?"inline":null,n.hasClass("fr-fil")?"left":n.hasClass("fr-fir")?"right":pe(n)),n.removeClass("fr-dib fr-dii fr-fir fr-fil")),t.opts.iframe&&o.on("load",t.size.syncIframe)}}function C(n){void 0===n&&(n=!0);var r,i=Array.prototype.slice.call(t.el.querySelectorAll("img")),a=[];for(r=0;r<i.length;r++)if(a.push(i[r].getAttribute("src")),e(i[r]).toggleClass("fr-draggable",t.opts.imageMove),""===i[r].getAttribute("class")&&i[r].removeAttribute("class"),""===i[r].getAttribute("style")&&i[r].removeAttribute("style"),i[r].parentNode&&i[r].parentNode.parentNode&&t.node.hasClass(i[r].parentNode.parentNode,"fr-img-caption")){var s=i[r].parentNode.parentNode;t.browser.mozilla||s.setAttribute("contenteditable",!1),s.setAttribute("draggable",!1),s.classList.add("fr-draggable");var l=i[r].nextSibling;l&&!t.browser.mozilla&&l.setAttribute("contenteditable",!0)}if(o)for(r=0;r<o.length;r++)a.indexOf(o[r].getAttribute("src"))<0&&t.events.trigger("image.removed",[e(o[r])]);if(o&&n){var d=[];for(r=0;r<o.length;r++)d.push(o[r].getAttribute("src"));for(r=0;r<i.length;r++)d.indexOf(i[r].getAttribute("src"))<0&&t.events.trigger("image.loaded",[e(i[r])])}o=i}function S(){if(r||function(){var i;if(t.shared.$image_resizer?(r=t.shared.$image_resizer,a=t.shared.$img_overlay,t.events.on("destroy",function(){r.removeClass("fr-active").appendTo(e("body:first"))},!0)):(t.shared.$image_resizer=e('<div class="fr-image-resizer"></div>'),r=t.shared.$image_resizer,t.events.$on(r,"mousedown",function(e){e.stopPropagation()},!0),t.opts.imageResize&&(r.append(R("nw")+R("ne")+R("sw")+R("se")),t.shared.$img_overlay=e('<div class="fr-image-overlay"></div>'),a=t.shared.$img_overlay,i=r.get(0).ownerDocument,e(i).find("body:first").append(a))),t.events.on("shared.destroy",function(){r.html("").removeData().remove(),r=null,t.opts.imageResize&&(a.remove(),a=null)},!0),t.helpers.isMobile()||t.events.$on(e(t.o_win),"resize",function(){n&&!n.hasClass("fr-uploading")?se(!0):n&&(S(),he(),O(!1))}),t.opts.imageResize){i=r.get(0).ownerDocument,t.events.$on(r,t._mousedown,".fr-handler",_),t.events.$on(e(i),t._mousemove,L),t.events.$on(e(i.defaultView||i.parentWindow),t._mouseup,x),t.events.$on(a,"mouseleave",x);var o=1,s=null,l=0;t.events.on("keydown",function(r){if(n){var i=-1!=navigator.userAgent.indexOf("Mac OS X")?r.metaKey:r.ctrlKey,a=r.which;(a!==s||200<r.timeStamp-l)&&(o=1),(a==e.FE.KEYCODE.EQUALS||t.browser.mozilla&&a==e.FE.KEYCODE.FF_EQUALS)&&i&&!r.altKey?o=Q.call(this,r,1,1,o):(a==e.FE.KEYCODE.HYPHEN||t.browser.mozilla&&a==e.FE.KEYCODE.FF_HYPHEN)&&i&&!r.altKey?o=Q.call(this,r,2,-1,o):t.keys.ctrlKey(r)||a!=e.FE.KEYCODE.ENTER||(n.before("<br>"),k(n)),s=a,l=r.timeStamp}},!0),t.events.on("keyup",function(){o=1})}}(),!n)return!1;var i=t.$wp||t.$sc;i.append(r),r.data("instance",t);var o=i.scrollTop()-("static"!=i.css("position")?i.offset().top:0),s=i.scrollLeft()-("static"!=i.css("position")?i.offset().left:0);s-=t.helpers.getPX(i.css("border-left-width")),o-=t.helpers.getPX(i.css("border-top-width")),t.$el.is("img")&&t.$sc.is("body")&&(s=o=0);var l=ve();Ee()&&(l=l.find(".fr-img-wrap")),r.css("top",(t.opts.iframe?l.offset().top:l.offset().top+o)-1).css("left",(t.opts.iframe?l.offset().left:l.offset().left+s)-1).css("width",l.get(0).getBoundingClientRect().width).css("height",l.get(0).getBoundingClientRect().height).addClass("fr-active")}function R(e){return'<div class="fr-handler fr-h'+e+'"></div>'}function y(e){Ee()?n.parents(".fr-img-caption").css("width",e):n.css("width",e)}function _(o){if(!t.core.sameInstance(r))return!0;if(o.preventDefault(),o.stopPropagation(),t.$el.find("img.fr-error").left)return!1;t.undo.canDo()||t.undo.saveStep();var s=o.pageX||o.originalEvent.touches[0].pageX;if("mousedown"==o.type){var l=t.$oel.get(0).ownerDocument,d=l.defaultView||l.parentWindow,c=!1;try{c=d.location!=d.parent.location&&!(d.$&&d.$.FE)}catch(e){}c&&d.frameElement&&(s+=t.helpers.getPX(e(d.frameElement).offset().left)+d.frameElement.clientLeft)}(i=e(this)).data("start-x",s),i.data("start-width",n.width()),i.data("start-height",n.height());var f=n.width();if(t.opts.imageResizeWithPercent){var p=n.parentsUntil(t.$el,t.html.blockTagsQuery()).get(0)||t.el;f=(f/e(p).outerWidth()*100).toFixed(2)+"%"}y(f),a.show(),t.popups.hideAll(),ce()}function L(a){if(!t.core.sameInstance(r))return!0;var o;if(i&&n){if(a.preventDefault(),t.$el.find("img.fr-error").left)return!1;var s=a.pageX||(a.originalEvent.touches?a.originalEvent.touches[0].pageX:null);if(!s)return!1;var l=s-i.data("start-x"),d=i.data("start-width");if((i.hasClass("fr-hnw")||i.hasClass("fr-hsw"))&&(l=0-l),t.opts.imageResizeWithPercent){var c=n.parentsUntil(t.$el,t.html.blockTagsQuery()).get(0)||t.el;d=((d+l)/e(c).outerWidth()*100).toFixed(2),t.opts.imageRoundPercent&&(d=Math.round(d)),y(d+"%"),(o=Ee()?(t.helpers.getPX(n.parents(".fr-img-caption").css("width"))/e(c).outerWidth()*100).toFixed(2):(t.helpers.getPX(n.css("width"))/e(c).outerWidth()*100).toFixed(2))===d||t.opts.imageRoundPercent||y(o+"%"),n.css("height","").removeAttr("height")}else d+l>=t.opts.imageMinWidth&&(y(d+l),o=Ee()?t.helpers.getPX(n.parents(".fr-img-caption").css("width")):t.helpers.getPX(n.css("width"))),o!==d+l&&y(o),((n.attr("style")||"").match(/(^height:)|(; *height:)/)||n.attr("height"))&&(n.css("height",i.data("start-height")*n.width()/i.data("start-width")),n.removeAttr("height"));S(),t.events.trigger("image.resize",[me()])}}function x(e){if(!t.core.sameInstance(r))return!0;if(i&&n){if(e&&e.stopPropagation(),t.$el.find("img.fr-error").left)return!1;i=null,a.hide(),S(),b(),t.undo.saveStep(),t.events.trigger("image.resizeEnd",[me()])}}function w(e,r,i){t.edit.on(),n&&n.addClass("fr-error"),function(e){O();var n=t.popups.get("image.insert").find(".fr-image-progress-bar-layer");n.addClass("fr-error");var r=n.find("h3");r.text(e),t.events.disableBlur(),r.focus()}(t.language.translate("Something went wrong. Please try again.")),!n&&i&&Z(i),t.events.trigger("image.error",[{code:e,message:v[e]},r,i])}function N(e){if(e)return t.$wp&&t.events.$on(t.$wp,"scroll.image-edit",function(){n&&t.popups.isVisible("image.edit")&&(t.events.disableBlur(),b())}),!0;var r="";if(0<t.opts.imageEditButtons.length){r+='<div class="fr-buttons">',r+=t.button.buildList(t.opts.imageEditButtons);var i={buttons:r+="</div>"};return t.popups.create("image.edit",i)}return!1}function O(e){var r=t.popups.get("image.insert");if(r||(r=z()),r.find(".fr-layer.fr-active").removeClass("fr-active").addClass("fr-pactive"),r.find(".fr-image-progress-bar-layer").addClass("fr-active"),r.find(".fr-buttons").hide(),n){var i=ve();t.popups.setContainer("image.insert",t.$sc);var a=i.offset().left+i.width()/2,o=i.offset().top+i.height();t.popups.show("image.insert",a,o,i.outerHeight())}void 0===e&&D(t.language.translate("Uploading"),0)}function I(e){var r=t.popups.get("image.insert");if(r&&(r.find(".fr-layer.fr-pactive").addClass("fr-active").removeClass("fr-pactive"),r.find(".fr-image-progress-bar-layer").removeClass("fr-active"),r.find(".fr-buttons").show(),e||t.$el.find("img.fr-error").length)){if(t.events.focus(),t.$el.find("img.fr-error").length&&(t.$el.find("img.fr-error").remove(),t.undo.saveStep(),t.undo.run(),t.undo.dropRedo()),!t.$wp&&n){var i=n;se(!0),t.selection.setAfter(i.get(0)),t.selection.restore()}t.popups.hide("image.insert")}}function D(e,n){var r=t.popups.get("image.insert");if(r){var i=r.find(".fr-image-progress-bar-layer");i.find("h3").text(e+(n?" "+n+"%":"")),i.removeClass("fr-error"),n?(i.find("div").removeClass("fr-indeterminate"),i.find("div > span").css("width",n+"%")):i.find("div").addClass("fr-indeterminate")}}function k(e){oe.call(e.get(0))}function F(){var n=e(this);t.popups.hide("image.insert"),n.removeClass("fr-uploading"),n.next().is("br")&&n.next().remove(),k(n),t.events.trigger("image.loaded",[n])}function M(e,n,r,i,a){t.edit.off(),D(t.language.translate("Loading image")),n&&(e=t.helpers.sanitizeURL(e));var o=new Image;o.onload=function(){var n,o;if(i){t.undo.canDo()||i.hasClass("fr-uploading")||t.undo.saveStep();var s=i.data("fr-old-src");i.data("fr-image-pasted")&&(s=null),t.$wp?((n=i.clone().removeData("fr-old-src").removeClass("fr-uploading").removeAttr("data-fr-image-pasted")).off("load"),s&&i.attr("src",s),i.replaceWith(n)):n=i;for(var l=n.get(0).attributes,d=0;d<l.length;d++){var c=l[d];0===c.nodeName.indexOf("data-")&&n.removeAttr(c.nodeName)}if(void 0!==r)for(o in r)r.hasOwnProperty(o)&&"link"!=o&&n.attr("data-"+o,r[o]);n.on("load",F),n.attr("src",e),t.edit.on(),C(!1),t.undo.saveStep(),t.events.disableBlur(),t.$el.blur(),t.events.trigger(s?"image.replaced":"image.inserted",[n,a])}else n=P(e,r,F),C(!1),t.undo.saveStep(),t.events.disableBlur(),t.$el.blur(),t.events.trigger("image.inserted",[n,a])},o.onerror=function(){w(c)},O(t.language.translate("Loading image")),o.src=e}function $(){w(u,this.response||this.responseText||this.responseXML)}function B(e){if(e.lengthComputable){var n=e.loaded/e.total*100|0;D(t.language.translate("Uploading"),n)}}function P(n,r,i){var a,o="";if(r&&void 0!==r)for(a in r)r.hasOwnProperty(a)&&"link"!=a&&(o+=" data-"+a+'="'+r[a]+'"');var s=t.opts.imageDefaultWidth;s&&"auto"!=s&&(s+=t.opts.imageResizeWithPercent?"%":"px");var l=e('<img src="'+n+'"'+o+(s?' style="width: '+s+';"':"")+">");fe(l,t.opts.imageDefaultDisplay,t.opts.imageDefaultAlign),l.on("load",i),l.on("error",function(){e(this).addClass("fr-error"),w(m)}),t.edit.on(),t.events.focus(!0),t.selection.restore(),t.undo.saveStep(),t.opts.imageSplitHTML?t.markers.split():t.markers.insert(),t.html.wrap();var d=t.$el.find(".fr-marker");return d.length?(d.parent().is("hr")&&d.parent().after(d),t.node.isLastSibling(d)&&d.parent().hasClass("fr-deletable")&&d.insertAfter(d.parent()),d.replaceWith(l)):t.$el.append(l),t.selection.clear(),l}function U(){t.edit.on(),I(!0)}function K(r,i){if(void 0!==r&&0<r.length){if(!1===t.events.trigger("image.beforeUpload",[r,i]))return!1;var a,o=r[0];if((null===t.opts.imageUploadURL||t.opts.imageUploadURL==l)&&!t.opts.imageUploadToS3)return c=o,v=i||n,(E=new FileReader).addEventListener("load",function(){var e=E.result;if(E.result.indexOf("svg+xml")<0){for(var n=atob(E.result.split(",")[1]),r=[],i=0;i<n.length;i++)r.push(n.charCodeAt(i));e=window.URL.createObjectURL(new Blob([new Uint8Array(r)],{type:c.type})),t.image.insert(e,!1,null,v)}},!1),O(),E.readAsDataURL(c),!1;if(o.name||(o.name=(new Date).getTime()+"."+(o.type||"image/jpeg").replace(/image\//g,"")),o.size>t.opts.imageMaxSize)return w(h),!1;if(t.opts.imageAllowedTypes.indexOf(o.type.replace(/image\//g,""))<0)return w(g),!1;if(t.drag_support.formdata&&(a=t.drag_support.formdata?new FormData:null),a){var s;if(!1!==t.opts.imageUploadToS3)for(s in a.append("key",t.opts.imageUploadToS3.keyStart+(new Date).getTime()+"-"+(o.name||"untitled")),a.append("success_action_status","201"),a.append("X-Requested-With","xhr"),a.append("Content-Type",o.type),t.opts.imageUploadToS3.params)t.opts.imageUploadToS3.params.hasOwnProperty(s)&&a.append(s,t.opts.imageUploadToS3.params[s]);for(s in t.opts.imageUploadParams)t.opts.imageUploadParams.hasOwnProperty(s)&&a.append(s,t.opts.imageUploadParams[s]);a.append(t.opts.imageUploadParam,o,o.name);var d=t.opts.imageUploadURL;t.opts.imageUploadToS3&&(d=t.opts.imageUploadToS3.uploadURL?t.opts.imageUploadToS3.uploadURL:"https://"+t.opts.imageUploadToS3.region+".amazonaws.com/"+t.opts.imageUploadToS3.bucket),function(n,r,i,a){function o(){var i=e(this);i.off("load"),i.addClass("fr-uploading"),i.next().is("br")&&i.next().remove(),t.placeholder.refresh(),k(i),S(),O(),t.edit.off(),n.onload=function(){(function(n){D(t.language.translate("Loading image"));var r=this.status,i=this.response,a=this.responseXML,o=this.responseText;try{if(t.opts.imageUploadToS3)if(201==r){var s=function(n){try{var r=e(n).find("Location").text(),i=e(n).find("Key").text();return!1===t.events.trigger("image.uploadedToS3",[r,i,n],!0)?(t.edit.on(),!1):r}catch(e){return w(u,n),!1}}(a);s&&M(s,!1,[],n,i||a)}else w(u,i||a,n);else if(200<=r&&r<300){var l=function(e){try{if(!1===t.events.trigger("image.uploaded",[e],!0))return t.edit.on(),!1;var n=JSON.parse(e);return n.link?n:(w(f,e),!1)}catch(t){return w(u,e),!1}}(o);l&&M(l.link,!1,l,n,i||o)}else w(p,i||o,n)}catch(e){w(u,i||o,n)}}).call(n,i)},n.onerror=$,n.upload.onprogress=B,n.onabort=U,i.off("abortUpload").on("abortUpload",function(){4!=n.readyState&&n.abort()}),n.send(r)}var s=new FileReader;s.addEventListener("load",function(){var e=s.result;if(s.result.indexOf("svg+xml")<0){for(var n=atob(s.result.split(",")[1]),r=[],i=0;i<n.length;i++)r.push(n.charCodeAt(i));e=window.URL.createObjectURL(new Blob([new Uint8Array(r)],{type:"image/jpeg"}))}a?(a.on("load",o),a.one("error",function(){a.off("load"),a.attr("src",a.data("fr-old-src")),w(m)}),t.edit.on(),t.undo.saveStep(),a.data("fr-old-src",a.attr("src")),a.attr("src",e)):P(e,null,o)},!1),s.readAsDataURL(i)}(t.core.getXHR(d,t.opts.imageUploadMethod),a,o,i||n)}}var c,v,E}function H(e){if(e.is("img")&&0<e.parents(".fr-img-caption").length)return e.parents(".fr-img-caption")}function W(n){var r=n.originalEvent.dataTransfer;if(r&&r.files&&r.files.length){var i=r.files[0];if(i&&i.type&&-1!==i.type.indexOf("image")&&0<=t.opts.imageAllowedTypes.indexOf(i.type.replace(/image\//g,""))){if(!t.opts.imageUpload)return n.preventDefault(),n.stopPropagation(),!1;t.markers.remove(),t.markers.insertAtPoint(n.originalEvent),t.$el.find(".fr-marker").replaceWith(e.FE.MARKERS),0===t.$el.find(".fr-marker").length&&t.selection.setAtEnd(t.el),t.popups.hideAll();var a=t.popups.get("image.insert");a||(a=z()),t.popups.setContainer("image.insert",t.$sc);var o=n.originalEvent.pageX,s=n.originalEvent.pageY;return t.opts.iframe&&(s+=t.$iframe.offset().top,o+=t.$iframe.offset().left),t.popups.show("image.insert",o,s),O(),0<=t.opts.imageAllowedTypes.indexOf(i.type.replace(/image\//g,""))?(se(!0),K(r.files)):w(g),n.preventDefault(),n.stopPropagation(),!1}}}function z(r){if(r)return t.popups.onRefresh("image.insert",E),t.popups.onHide("image.insert",T),!0;var i,a="";t.opts.imageUpload||t.opts.imageInsertButtons.splice(t.opts.imageInsertButtons.indexOf("imageUpload"),1),1<t.opts.imageInsertButtons.length&&(a='<div class="fr-buttons">'+t.button.buildList(t.opts.imageInsertButtons)+"</div>");var o=t.opts.imageInsertButtons.indexOf("imageUpload"),s=t.opts.imageInsertButtons.indexOf("imageByURL"),l="";0<=o&&(i=" fr-active",0<=s&&s<o&&(i=""),l='<div class="fr-image-upload-layer'+i+' fr-layer" id="fr-image-upload-layer-'+t.id+'"><strong>'+t.language.translate("Drop image")+"</strong><br>("+t.language.translate("or click")+')<div class="fr-form"><input type="file" accept="image/'+t.opts.imageAllowedTypes.join(", image/").toLowerCase()+'" tabIndex="-1" aria-labelledby="fr-image-upload-layer-'+t.id+'" role="button"></div></div>');var d="";0<=s&&(i=" fr-active",0<=o&&o<s&&(i=""),d='<div class="fr-image-by-url-layer'+i+' fr-layer" id="fr-image-by-url-layer-'+t.id+'"><div class="fr-input-line"><input id="fr-image-by-url-layer-text-'+t.id+'" type="text" placeholder="http://" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="imageInsertByURL" tabIndex="2" role="button">'+t.language.translate("Insert")+"</button></div></div>");var c,f={buttons:a,upload_layer:l,by_url_layer:d,progress_bar:'<div class="fr-image-progress-bar-layer fr-layer"><h3 tabIndex="-1" class="fr-message">Uploading</h3><div class="fr-loader"><span class="fr-progress"></span></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-dismiss" data-cmd="imageDismissError" tabIndex="2" role="button">OK</button></div></div>'},p=t.popups.create("image.insert",f);return t.$wp&&t.events.$on(t.$wp,"scroll",function(){n&&t.popups.isVisible("image.insert")&&he()}),c=p,t.events.$on(c,"dragover dragenter",".fr-image-upload-layer",function(){return e(this).addClass("fr-drop"),!1},!0),t.events.$on(c,"dragleave dragend",".fr-image-upload-layer",function(){return e(this).removeClass("fr-drop"),!1},!0),t.events.$on(c,"drop",".fr-image-upload-layer",function(n){n.preventDefault(),n.stopPropagation(),e(this).removeClass("fr-drop");var r=n.originalEvent.dataTransfer;if(r&&r.files){var i=c.data("instance")||t;i.events.disableBlur(),i.image.upload(r.files),i.events.enableBlur()}},!0),t.helpers.isIOS()&&t.events.$on(c,"touchstart",'.fr-image-upload-layer input[type="file"]',function(){e(this).trigger("click")},!0),t.events.$on(c,"change",'.fr-image-upload-layer input[type="file"]',function(){if(this.files){var r=c.data("instance")||t;r.events.disableBlur(),c.find("input:focus").blur(),r.events.enableBlur(),r.image.upload(this.files,n)}e(this).val("")},!0),p}function Y(){n&&t.popups.get("image.alt").find("input").val(n.attr("alt")||"").trigger("change")}function G(){var e=t.popups.get("image.alt");e||(e=V()),I(),t.popups.refresh("image.alt"),t.popups.setContainer("image.alt",t.$sc);var n=ve();Ee()&&(n=n.find(".fr-img-wrap"));var r=n.offset().left+n.outerWidth()/2,i=n.offset().top+n.outerHeight();t.popups.show("image.alt",r,i,n.outerHeight())}function V(e){if(e)return t.popups.onRefresh("image.alt",Y),!0;var r={buttons:'<div class="fr-buttons">'+t.button.buildList(t.opts.imageAltButtons)+"</div>",alt_layer:'<div class="fr-image-alt-layer fr-layer fr-active" id="fr-image-alt-layer-'+t.id+'"><div class="fr-input-line"><input id="fr-image-alt-layer-text-'+t.id+'" type="text" placeholder="'+t.language.translate("Alternative Text")+'" tabIndex="1"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="imageSetAlt" tabIndex="2" role="button">'+t.language.translate("Update")+"</button></div></div>"},i=t.popups.create("image.alt",r);return t.$wp&&t.events.$on(t.$wp,"scroll.image-alt",function(){n&&t.popups.isVisible("image.alt")&&G()}),i}function X(){var e=t.popups.get("image.size");if(n)if(Ee()){var r=n.parent();r.get(0).style.width||(r=n.parent().parent()),e.find('input[name="width"]').val(r.get(0).style.width).trigger("change"),e.find('input[name="height"]').val(r.get(0).style.height).trigger("change")}else e.find('input[name="width"]').val(n.get(0).style.width).trigger("change"),e.find('input[name="height"]').val(n.get(0).style.height).trigger("change")}function q(){var e=t.popups.get("image.size");e||(e=j()),I(),t.popups.refresh("image.size"),t.popups.setContainer("image.size",t.$sc);var n=ve();Ee()&&(n=n.find(".fr-img-wrap"));var r=n.offset().left+n.outerWidth()/2,i=n.offset().top+n.outerHeight();t.popups.show("image.size",r,i,n.outerHeight())}function j(e){if(e)return t.popups.onRefresh("image.size",X),!0;var r={buttons:'<div class="fr-buttons">'+t.button.buildList(t.opts.imageSizeButtons)+"</div>",size_layer:'<div class="fr-image-size-layer fr-layer fr-active" id="fr-image-size-layer-'+t.id+'"><div class="fr-image-group"><div class="fr-input-line"><input id="fr-image-size-layer-width-'+t.id+'" type="text" name="width" placeholder="'+t.language.translate("Width")+'" tabIndex="1"></div><div class="fr-input-line"><input id="fr-image-size-layer-height'+t.id+'" type="text" name="height" placeholder="'+t.language.translate("Height")+'" tabIndex="1"></div></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="imageSetSize" tabIndex="2" role="button">'+t.language.translate("Update")+"</button></div></div>"},i=t.popups.create("image.size",r);return t.$wp&&t.events.$on(t.$wp,"scroll.image-size",function(){n&&t.popups.isVisible("image.size")&&q()}),i}function Q(e,t,n,r){return e.pageX=t,_.call(this,e),e.pageX=e.pageX+n*Math.floor(Math.pow(1.1,r)),L.call(this,e),x.call(this,e),++r}function Z(n){(n=n||ve())&&!1!==t.events.trigger("image.beforeRemove",[n])&&(t.popups.hideAll(),ge(),se(!0),t.undo.canDo()||t.undo.saveStep(),n.get(0)==t.el?n.removeAttr("src"):(n.get(0).parentNode&&"A"==n.get(0).parentNode.tagName?(t.selection.setBefore(n.get(0).parentNode)||t.selection.setAfter(n.get(0).parentNode)||n.parent().after(e.FE.MARKERS),e(n.get(0).parentNode).remove()):(t.selection.setBefore(n.get(0))||t.selection.setAfter(n.get(0))||n.after(e.FE.MARKERS),n.remove()),t.html.fillEmptyBlocks(),t.selection.restore()),t.undo.saveStep())}function J(r){var i=r.which;if(n&&(i==e.FE.KEYCODE.BACKSPACE||i==e.FE.KEYCODE.DELETE))return r.preventDefault(),r.stopPropagation(),Z(),!1;if(n&&i==e.FE.KEYCODE.ESC){var a=n;return se(!0),t.selection.setAfter(a.get(0)),t.selection.restore(),r.preventDefault(),!1}if(n&&(i==e.FE.KEYCODE.ARROW_LEFT||i==e.FE.KEYCODE.ARROW_RIGHT)){var o=n.get(0);return se(!0),i==e.FE.KEYCODE.ARROW_LEFT?t.selection.setBefore(o):t.selection.setAfter(o),t.selection.restore(),r.preventDefault(),!1}return n&&i!=e.FE.KEYCODE.F10&&!t.keys.isBrowserAction(r)?(r.preventDefault(),r.stopPropagation(),!1):void 0}function ee(e){if(e&&"IMG"==e.tagName){if(t.node.hasClass(e,"fr-uploading")||t.node.hasClass(e,"fr-error")?e.parentNode.removeChild(e):t.node.hasClass(e,"fr-draggable")&&e.classList.remove("fr-draggable"),e.parentNode&&e.parentNode.parentNode&&t.node.hasClass(e.parentNode.parentNode,"fr-img-caption")){var n=e.parentNode.parentNode;n.removeAttribute("contenteditable"),n.removeAttribute("draggable"),n.classList.remove("fr-draggable");var r=e.nextSibling;r&&r.removeAttribute("contenteditable")}}else if(e&&e.nodeType==Node.ELEMENT_NODE)for(var i=e.querySelectorAll("img.fr-uploading, img.fr-error, img.fr-draggable"),a=0;a<i.length;a++)ee(i[a])}function te(r){if(!1===t.events.trigger("image.beforePasteUpload",[r]))return!1;n=e(r),S(),b(),he(),O(),n.one("load",function(){S(),O()});for(var i=atob(e(r).attr("src").split(",")[1]),a=[],o=0;o<i.length;o++)a.push(i.charCodeAt(o));K([new Blob([new Uint8Array(a)],{type:e(r).attr("src").split(",")[0].replace(/data\:/g,"").replace(/;base64/g,"")})],n)}function ne(){t.opts.imagePaste?t.$el.find("img[data-fr-image-pasted]").each(function(n,r){if(t.opts.imagePasteProcess){var i=t.opts.imageDefaultWidth;i&&"auto"!=i&&(i+=t.opts.imageResizeWithPercent?"%":"px"),e(r).css("width",i).removeClass("fr-dii fr-dib fr-fir fr-fil"),fe(e(r),t.opts.imageDefaultDisplay,t.opts.imageDefaultAlign)}if(0===r.src.indexOf("data:"))te(r);else if(0===r.src.indexOf("blob:")||0===r.src.indexOf("http")&&t.opts.imageUploadRemoteUrls&&t.opts.imageCORSProxy){var a=new Image;a.crossOrigin="Anonymous",a.onload=function(){var e=t.o_doc.createElement("CANVAS"),n=e.getContext("2d");e.height=this.naturalHeight,e.width=this.naturalWidth,n.drawImage(this,0,0),r.src=e.toDataURL("image/png"),te(r)},a.src=(0===r.src.indexOf("blob:")?"":t.opts.imageCORSProxy+"/")+r.src}else 0!==r.src.indexOf("http")||0===r.src.indexOf("https://mail.google.com/mail")?(t.selection.save(),e(r).remove(),t.selection.restore()):e(r).removeAttr("data-fr-image-pasted")}):t.$el.find("img[data-fr-image-pasted]").remove()}function re(e){var n=e.target.result,r=t.opts.imageDefaultWidth;r&&"auto"!=r&&(r+=t.opts.imageResizeWithPercent?"%":"px"),t.undo.saveStep(),t.html.insert('<img data-fr-image-pasted="true" src="'+n+'"'+(r?' style="width: '+r+';"':"")+">");var i=t.$el.find('img[data-fr-image-pasted="true"]');i&&fe(i,t.opts.imageDefaultDisplay,t.opts.imageDefaultAlign),t.events.trigger("paste.after")}function ie(e){if(e&&e.clipboardData&&e.clipboardData.items){var t=null;if(e.clipboardData.getData("text/rtf"))t=e.clipboardData.items[0].getAsFile();else for(var n=0;n<e.clipboardData.items.length&&!(t=e.clipboardData.items[n].getAsFile());n++);if(t)return r=t,(i=new FileReader).onload=re,i.readAsDataURL(r),!1}var r,i}function ae(e){return e.replace(/<img /gi,'<img data-fr-image-pasted="true" ')}function oe(r){if("false"==e(this).parents("[contenteditable]:not(.fr-element):not(.fr-img-caption):not(body):first").attr("contenteditable"))return!0;if(r&&"touchend"==r.type&&s)return!0;if(r&&t.edit.isDisabled())return r.stopPropagation(),r.preventDefault(),!1;for(var i=0;i<e.FE.INSTANCES.length;i++)e.FE.INSTANCES[i]!=t&&e.FE.INSTANCES[i].events.trigger("image.hideResizer");t.toolbar.disable(),r&&(r.stopPropagation(),r.preventDefault()),t.helpers.isMobile()&&(t.events.disableBlur(),t.$el.blur(),t.events.enableBlur()),t.opts.iframe&&t.size.syncIframe(),n=e(this),ge(),S(),b(),t.popups.areVisible()&&t.events.disableBlur(),t.win.getSelection?(t.win.getSelection().removeAllRanges(),t.win.getSelection().addRange(t.doc.createRange())):t.selection.clear(),t.helpers.isIOS()&&(t.events.disableBlur(),t.$el.blur()),t.button.bulkRefresh(),t.events.trigger("video.hideResizer")}function se(e){n&&(le||!0===e)&&(t.toolbar.enable(),r.removeClass("fr-active"),t.popups.hide("image.edit"),n=null,ce(),i=null,a&&a.hide())}v[c]="Image cannot be loaded from the passed link.",v[f]="No link in upload response.",v[p]="Error during file upload.",v[u]="Parsing response failed.",v[h]="File is too large.",v[g]="Image file type is invalid.",v[7]="Files can be uploaded only to same domain in IE 8 and IE 9.";var le=!(v[m]="Image file is corrupted.");function de(){le=!0}function ce(){le=!1}function fe(e,n,r){!t.opts.htmlUntouched&&t.opts.useClasses?(e.removeClass("fr-fil fr-fir fr-dib fr-dii"),r&&e.addClass("fr-fi"+r[0]),n&&e.addClass("fr-di"+n[0])):"inline"==n?(e.css({display:"inline-block",verticalAlign:"bottom",margin:t.opts.imageDefaultMargin}),"center"==r?e.css({float:"none",marginBottom:"",marginTop:"",maxWidth:"calc(100% - "+2*t.opts.imageDefaultMargin+"px)",textAlign:"center"}):"left"==r?e.css({float:"left",marginLeft:0,maxWidth:"calc(100% - "+t.opts.imageDefaultMargin+"px)",textAlign:"left"}):e.css({float:"right",marginRight:0,maxWidth:"calc(100% - "+t.opts.imageDefaultMargin+"px)",textAlign:"right"})):"block"==n&&(e.css({display:"block",float:"none",verticalAlign:"top",margin:t.opts.imageDefaultMargin+"px auto",textAlign:"center"}),"left"==r?e.css({marginLeft:0,textAlign:"left"}):"right"==r&&e.css({marginRight:0,textAlign:"right"}))}function pe(e){if(void 0===e&&(e=ve()),e){if(e.hasClass("fr-fil"))return"left";if(e.hasClass("fr-fir"))return"right";if(e.hasClass("fr-dib")||e.hasClass("fr-dii"))return"center";var t=e.css("float");if(e.css("float","none"),"block"==e.css("display")){if(e.css("float",""),e.css("float")!=t&&e.css("float",t),0===parseInt(e.css("margin-left"),10))return"left";if(0===parseInt(e.css("margin-right"),10))return"right"}else{if(e.css("float",""),e.css("float")!=t&&e.css("float",t),"left"==e.css("float"))return"left";if("right"==e.css("float"))return"right"}}return"center"}function ue(e){void 0===e&&(e=ve());var t=e.css("float");return e.css("float","none"),"block"==e.css("display")?(e.css("float",""),e.css("float")!=t&&e.css("float",t),"block"):(e.css("float",""),e.css("float")!=t&&e.css("float",t),"inline")}function he(){var e=t.popups.get("image.insert");e||(e=z()),t.popups.isVisible("image.insert")||(I(),t.popups.refresh("image.insert"),t.popups.setContainer("image.insert",t.$sc));var n=ve();Ee()&&(n=n.find(".fr-img-wrap"));var r=n.offset().left+n.outerWidth()/2,i=n.offset().top+n.outerHeight();t.popups.show("image.insert",r,i,n.outerHeight(!0))}function ge(){if(n){t.events.disableBlur(),t.selection.clear();var e=t.doc.createRange();e.selectNode(n.get(0)),t.browser.msie&&e.collapse(!0),t.selection.get().addRange(e),t.events.enableBlur()}}function me(){return n}function ve(){return Ee()?n.parents(".fr-img-caption:first"):n}function Ee(){return!!n&&0<n.parents(".fr-img-caption").length}return{_init:function(){var r;t.events.$on(t.$el,t._mousedown,"IMG"==t.el.tagName?null:'img:not([contenteditable="false"])',function(n){if("false"==e(this).parents("[contenteditable]:not(.fr-element):not(.fr-img-caption):not(body):first").attr("contenteditable"))return!0;t.helpers.isMobile()||t.selection.clear(),d=!0,t.popups.areVisible()&&t.events.disableBlur(),t.browser.msie&&(t.events.disableBlur(),t.$el.attr("contenteditable",!1)),t.draggable||"touchstart"==n.type||n.preventDefault(),n.stopPropagation()}),t.events.$on(t.$el,t._mouseup,"IMG"==t.el.tagName?null:'img:not([contenteditable="false"])',function(n){if("false"==e(this).parents("[contenteditable]:not(.fr-element):not(.fr-img-caption):not(body):first").attr("contenteditable"))return!0;d&&(d=!1,n.stopPropagation(),t.browser.msie&&(t.$el.attr("contenteditable",!0),t.events.enableBlur()))}),t.events.on("keyup",function(n){if(n.shiftKey&&""===t.selection.text().replace(/\n/g,"")&&t.keys.isArrow(n.which)){var r=t.selection.element(),i=t.selection.endElement();r&&"IMG"==r.tagName?k(e(r)):i&&"IMG"==i.tagName&&k(e(i))}},!0),t.events.on("drop",W),t.events.on("element.beforeDrop",H),t.events.on("mousedown window.mousedown",de),t.events.on("window.touchmove",ce),t.events.on("mouseup window.mouseup",function(){if(n)return se(),!1;ce()}),t.events.on("commands.mousedown",function(e){0<e.parents(".fr-toolbar").length&&se()}),t.events.on("image.resizeEnd",function(){t.opts.iframe&&t.size.syncIframe()}),t.events.on("blur image.hideResizer commands.undo commands.redo element.dropped",function(){se(!(d=!1))}),t.events.on("modals.hide",function(){n&&(ge(),t.selection.clear())}),t.events.on("image.resizeEnd",function(){t.win.getSelection&&k(n)}),"IMG"==t.el.tagName&&t.$el.addClass("fr-view"),t.events.$on(t.$el,t.helpers.isMobile()&&!t.helpers.isWindowsPhone()?"touchend":"click","IMG"==t.el.tagName?null:'img:not([contenteditable="false"])',oe),t.helpers.isMobile()&&(t.events.$on(t.$el,"touchstart","IMG"==t.el.tagName?null:'img:not([contenteditable="false"])',function(){s=!1}),t.events.$on(t.$el,"touchmove",function(){s=!0})),t.$wp?(t.events.on("window.keydown keydown",J,!0),t.events.on("keyup",function(t){if(n&&t.which==e.FE.KEYCODE.ENTER)return!1},!0),t.events.$on(t.$el,"keydown",function(){var n=t.selection.element();n.nodeType===Node.TEXT_NODE&&(n=n.parentNode),t.node.hasClass(n,"fr-inner")||(t.node.hasClass(n,"fr-img-caption")||(n=e(n).parents(".fr-img-caption").get(0)),e(n).after(e.FE.INVISIBLE_SPACE+e.FE.MARKERS),t.selection.restore())})):t.events.$on(t.$win,"keydown",J),t.events.on("toolbar.esc",function(){if(n){if(t.$wp)t.events.disableBlur(),t.events.focus();else{var e=n;se(!0),t.selection.setAfter(e.get(0)),t.selection.restore()}return!1}},!0),t.events.on("toolbar.focusEditor",function(){if(n)return!1},!0),t.events.on("window.cut window.copy",function(r){if(n&&t.popups.isVisible("image.edit")&&!t.popups.get("image.edit").find(":focus").length){var i=ve();Ee()?(i.before(e.FE.START_MARKER),i.after(e.FE.END_MARKER),t.selection.restore(),t.paste.saveCopiedText(i.get(0).outerHTML,i.text())):(ge(),t.paste.saveCopiedText(n.get(0).outerHTML,n.attr("alt"))),"copy"==r.type?setTimeout(function(){k(n)}):(se(!0),t.undo.saveStep(),setTimeout(function(){t.undo.saveStep()},0))}},!0),t.browser.msie&&t.events.on("keydown",function(r){if(!t.selection.isCollapsed()||!n)return!0;var i=r.which;i==e.FE.KEYCODE.C&&t.keys.ctrlKey(r)?t.events.trigger("window.copy"):i==e.FE.KEYCODE.X&&t.keys.ctrlKey(r)&&t.events.trigger("window.cut")}),t.events.$on(e(t.o_win),"keydown",function(t){var r=t.which;if(n&&r==e.FE.KEYCODE.BACKSPACE)return t.preventDefault(),!1}),t.events.$on(t.$win,"keydown",function(t){var r=t.which;n&&n.hasClass("fr-uploading")&&r==e.FE.KEYCODE.ESC&&n.trigger("abortUpload")}),t.events.on("destroy",function(){n&&n.hasClass("fr-uploading")&&n.trigger("abortUpload")}),t.events.on("paste.before",ie),t.events.on("paste.beforeCleanup",ae),t.events.on("paste.after",ne),t.events.on("html.set",A),t.events.on("html.inserted",A),A(),t.events.on("destroy",function(){o=[]}),t.events.on("html.processGet",ee),t.opts.imageOutputSize&&t.events.on("html.beforeGet",function(){r=t.el.querySelectorAll("img");for(var n=0;n<r.length;n++){var i=r[n].style.width||e(r[n]).width(),a=r[n].style.height||e(r[n]).height();i&&r[n].setAttribute("width",(""+i).replace(/px/,"")),a&&r[n].setAttribute("height",(""+a).replace(/px/,""))}}),t.opts.iframe&&t.events.on("image.loaded",t.size.syncIframe),t.$wp&&(C(),t.events.on("contentChanged",C)),t.events.$on(e(t.o_win),"orientationchange.image",function(){setTimeout(function(){n&&k(n)},100)}),N(!0),z(!0),j(!0),V(!0),t.events.on("node.remove",function(e){if("IMG"==e.get(0).tagName)return Z(e),!1})},showInsertPopup:function(){var e=t.$tb.find('.fr-command[data-cmd="insertImage"]'),n=t.popups.get("image.insert");if(n||(n=z()),I(),!n.hasClass("fr-active"))if(t.popups.refresh("image.insert"),t.popups.setContainer("image.insert",t.$tb),e.is(":visible")){var r=e.offset().left+e.outerWidth()/2,i=e.offset().top+(t.opts.toolbarBottom?10:e.outerHeight()-10);t.popups.show("image.insert",r,i,e.outerHeight())}else t.position.forSelection(n),t.popups.show("image.insert")},showLayer:function(e){var r,i,a=t.popups.get("image.insert");if(n||t.opts.toolbarInline){if(n){var o=ve();Ee()&&(o=o.find(".fr-img-wrap")),i=o.offset().top+o.outerHeight(),r=o.offset().left+o.outerWidth()/2}}else{var s=t.$tb.find('.fr-command[data-cmd="insertImage"]');r=s.offset().left+s.outerWidth()/2,i=s.offset().top+(t.opts.toolbarBottom?10:s.outerHeight()-10)}!n&&t.opts.toolbarInline&&(i=a.offset().top-t.helpers.getPX(a.css("margin-top")),a.hasClass("fr-above")&&(i+=a.outerHeight())),a.find(".fr-layer").removeClass("fr-active"),a.find(".fr-"+e+"-layer").addClass("fr-active"),t.popups.show("image.insert",r,i,n?n.outerHeight():0),t.accessibility.focusPopup(a)},refreshUploadButton:function(e){t.popups.get("image.insert").find(".fr-image-upload-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},refreshByURLButton:function(e){t.popups.get("image.insert").find(".fr-image-by-url-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},upload:K,insertByURL:function(){var e=t.popups.get("image.insert").find(".fr-image-by-url-layer input");if(0<e.val().length){O(),D(t.language.translate("Loading image"));var r=e.val();if(t.opts.imageUploadRemoteUrls&&t.opts.imageCORSProxy&&t.opts.imageUpload){var i=new XMLHttpRequest;i.onload=function(){200==this.status?K([new Blob([this.response],{type:this.response.type||"image/png"})],n):w(c)},i.onerror=function(){M(r,!0,[],n)},i.open("GET",t.opts.imageCORSProxy+"/"+r,!0),i.responseType="blob",i.send()}else M(r,!0,[],n);e.val(""),e.blur()}},align:function(e){var n=ve();n.removeClass("fr-fir fr-fil"),!t.opts.htmlUntouched&&t.opts.useClasses?"left"==e?n.addClass("fr-fil"):"right"==e&&n.addClass("fr-fir"):fe(n,ue(),e),ge(),S(),b(),t.selection.clear()},refreshAlign:function(e){n&&e.find("> *:first").replaceWith(t.icon.create("image-align-"+pe()))},refreshAlignOnShow:function(e,t){n&&t.find('.fr-command[data-param1="'+pe()+'"]').addClass("fr-active").attr("aria-selected",!0)},display:function(e){var n=ve();n.removeClass("fr-dii fr-dib"),!t.opts.htmlUntouched&&t.opts.useClasses?"inline"==e?n.addClass("fr-dii"):"block"==e&&n.addClass("fr-dib"):fe(n,e,pe()),ge(),S(),b(),t.selection.clear()},refreshDisplayOnShow:function(e,t){n&&t.find('.fr-command[data-param1="'+ue()+'"]').addClass("fr-active").attr("aria-selected",!0)},replace:he,back:function(){n?(t.events.disableBlur(),e(".fr-popup input:focus").blur(),k(n)):(t.events.disableBlur(),t.selection.restore(),t.events.enableBlur(),t.popups.hide("image.insert"),t.toolbar.showInline())},get:me,getEl:ve,insert:M,showProgressBar:O,remove:Z,hideProgressBar:I,applyStyle:function(e,r,i){if(void 0===r&&(r=t.opts.imageStyles),void 0===i&&(i=t.opts.imageMultipleStyles),!n)return!1;var a=ve();if(!i){var o=Object.keys(r);o.splice(o.indexOf(e),1),a.removeClass(o.join(" "))}"object"==typeof r[e]?(a.removeAttr("style"),a.css(r[e].style)):a.toggleClass(e),k(n)},showAltPopup:G,showSizePopup:q,setAlt:function(e){if(n){var r=t.popups.get("image.alt");n.attr("alt",e||r.find("input").val()||""),r.find("input:focus").blur(),k(n)}},setSize:function(e,r){if(n){var i=t.popups.get("image.size");e=e||i.find('input[name="width"]').val()||"",r=r||i.find('input[name="height"]').val()||"";var a=/^[\d]+((px)|%)*$/g;n.removeAttr("width").removeAttr("height"),e.match(a)?n.css("width",e):n.css("width",""),r.match(a)?n.css("height",r):n.css("height",""),Ee()&&(n.parent().removeAttr("width").removeAttr("height"),e.match(a)?n.parent().css("width",e):n.parent().css("width",""),r.match(a)?n.parent().css("height",r):n.parent().css("height","")),i&&i.find("input:focus").blur(),k(n)}},toggleCaption:function(){var r;if(n&&!Ee()){(r=n).parent().is("a")&&(r=n.parent());var i=r.width();r.wrap("<span "+(t.browser.mozilla?"":'contenteditable="false"')+'class="fr-img-caption '+n.attr("class")+'" draggable="false"></span>'),r.wrap('<span class="fr-img-wrap"></span>'),r.after('<span class="fr-inner"'+(t.browser.mozilla?"":' contenteditable="true"')+">"+e.FE.START_MARKER+"Image caption"+e.FE.END_MARKER+"</span>"),n.removeAttr("class").removeAttr("style").removeAttr("width"),n.parents(".fr-img-caption").css("width",i+"px"),se(!0),t.selection.restore()}else r=ve(),n.insertAfter(r),n.attr("class",r.attr("class").replace("fr-img-caption","")).attr("style",r.attr("style")),r.remove(),k(n)},hasCaption:Ee,exitEdit:se,edit:k}},e.FE.DefineIcon("insertImage",{NAME:"image"}),e.FE.RegisterShortcut(e.FE.KEYCODE.P,"insertImage",null,"P"),e.FE.RegisterCommand("insertImage",{title:"Insert Image",undo:!1,focus:!0,refreshAfterCallback:!1,popup:!0,callback:function(){this.popups.isVisible("image.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("image.insert")):this.image.showInsertPopup()},plugin:"image"}),e.FE.DefineIcon("imageUpload",{NAME:"upload"}),e.FE.RegisterCommand("imageUpload",{title:"Upload Image",undo:!1,focus:!1,toggle:!0,callback:function(){this.image.showLayer("image-upload")},refresh:function(e){this.image.refreshUploadButton(e)}}),e.FE.DefineIcon("imageByURL",{NAME:"link"}),e.FE.RegisterCommand("imageByURL",{title:"By URL",undo:!1,focus:!1,toggle:!0,callback:function(){this.image.showLayer("image-by-url")},refresh:function(e){this.image.refreshByURLButton(e)}}),e.FE.RegisterCommand("imageInsertByURL",{title:"Insert Image",undo:!0,refreshAfterCallback:!1,callback:function(){this.image.insertByURL()},refresh:function(e){this.image.get()?e.text(this.language.translate("Replace")):e.text(this.language.translate("Insert"))}}),e.FE.DefineIcon("imageDisplay",{NAME:"star"}),e.FE.RegisterCommand("imageDisplay",{title:"Display",type:"dropdown",options:{inline:"Inline",block:"Break Text"},callback:function(e,t){this.image.display(t)},refresh:function(e){this.opts.imageTextNear||e.addClass("fr-hidden")},refreshOnShow:function(e,t){this.image.refreshDisplayOnShow(e,t)}}),e.FE.DefineIcon("image-align",{NAME:"align-left"}),e.FE.DefineIcon("image-align-left",{NAME:"align-left"}),e.FE.DefineIcon("image-align-right",{NAME:"align-right"}),e.FE.DefineIcon("image-align-center",{NAME:"align-justify"}),e.FE.DefineIcon("imageAlign",{NAME:"align-justify"}),e.FE.RegisterCommand("imageAlign",{type:"dropdown",title:"Align",options:{left:"Align Left",center:"None",right:"Align Right"},html:function(){var t='<ul class="fr-dropdown-list" role="presentation">',n=e.FE.COMMANDS.imageAlign.options;for(var r in n)n.hasOwnProperty(r)&&(t+='<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="imageAlign" data-param1="'+r+'" title="'+this.language.translate(n[r])+'">'+this.icon.create("image-align-"+r)+'<span class="fr-sr-only">'+this.language.translate(n[r])+"</span></a></li>");return t+"</ul>"},callback:function(e,t){this.image.align(t)},refresh:function(e){this.image.refreshAlign(e)},refreshOnShow:function(e,t){this.image.refreshAlignOnShow(e,t)}}),e.FE.DefineIcon("imageReplace",{NAME:"exchange",FA5NAME:"exchange-alt"}),e.FE.RegisterCommand("imageReplace",{title:"Replace",undo:!1,focus:!1,popup:!0,refreshAfterCallback:!1,callback:function(){this.image.replace()}}),e.FE.DefineIcon("imageRemove",{NAME:"trash"}),e.FE.RegisterCommand("imageRemove",{title:"Remove",callback:function(){this.image.remove()}}),e.FE.DefineIcon("imageBack",{NAME:"arrow-left"}),e.FE.RegisterCommand("imageBack",{title:"Back",undo:!1,focus:!1,back:!0,callback:function(){this.image.back()},refresh:function(e){this.image.get()||this.opts.toolbarInline?(e.removeClass("fr-hidden"),e.next(".fr-separator").removeClass("fr-hidden")):(e.addClass("fr-hidden"),e.next(".fr-separator").addClass("fr-hidden"))}}),e.FE.RegisterCommand("imageDismissError",{title:"OK",undo:!1,callback:function(){this.image.hideProgressBar(!0)}}),e.FE.DefineIcon("imageStyle",{NAME:"magic"}),e.FE.RegisterCommand("imageStyle",{title:"Style",type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.imageStyles;for(var n in t)if(t.hasOwnProperty(n)){var r=t[n];"object"==typeof r&&(r=r.title),e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="imageStyle" data-param1="'+n+'">'+this.language.translate(r)+"</a></li>"}return e+"</ul>"},callback:function(e,t){this.image.applyStyle(t)},refreshOnShow:function(t,n){var r=this.image.getEl();r&&n.find(".fr-command").each(function(){var t=e(this).data("param1"),n=r.hasClass(t);e(this).toggleClass("fr-active",n).attr("aria-selected",n)})}}),e.FE.DefineIcon("imageAlt",{NAME:"info"}),e.FE.RegisterCommand("imageAlt",{undo:!1,focus:!1,popup:!0,title:"Alternative Text",callback:function(){this.image.showAltPopup()}}),e.FE.RegisterCommand("imageSetAlt",{undo:!0,focus:!1,title:"Update",refreshAfterCallback:!1,callback:function(){this.image.setAlt()}}),e.FE.DefineIcon("imageSize",{NAME:"arrows-alt"}),e.FE.RegisterCommand("imageSize",{undo:!1,focus:!1,popup:!0,title:"Change Size",callback:function(){this.image.showSizePopup()}}),e.FE.RegisterCommand("imageSetSize",{undo:!0,focus:!1,title:"Update",refreshAfterCallback:!1,callback:function(){this.image.setSize()}}),e.FE.DefineIcon("imageCaption",{NAME:"commenting",FA5NAME:"comment-alt"}),e.FE.RegisterCommand("imageCaption",{undo:!0,focus:!1,title:"Image Caption",refreshAfterCallback:!0,callback:function(){this.image.toggleCaption()},refresh:function(e){this.image.get()&&e.toggleClass("fr-active",this.image.hasCaption())}}),e.extend(e.FE.DEFAULTS,{imageManagerLoadURL:"https://i.froala.com/load-files",imageManagerLoadMethod:"get",imageManagerLoadParams:{},imageManagerPreloader:null,imageManagerDeleteURL:"",imageManagerDeleteMethod:"post",imageManagerDeleteParams:{},imageManagerPageSize:12,imageManagerScrollOffset:20,imageManagerToggleTags:!0}),e.FE.PLUGINS.imageManager=function(t){var n,r,i,a,o,s,l,d,c,f,p,u="image_manager",h=10,g=14,m=15,v=21,E=22,b={};function T(){var t=e(window).outerWidth();return t<768?2:t<1200?3:4}function A(){o.empty();for(var e=0;e<p;e++)o.append('<div class="fr-list-column"></div>')}function C(){if(c<l.length&&(o.outerHeight()<=i.outerHeight()+t.opts.imageManagerScrollOffset||i.scrollTop()+t.opts.imageManagerScrollOffset>o.outerHeight()-i.outerHeight())){d++;for(var e=t.opts.imageManagerPageSize*(d-1);e<Math.min(l.length,t.opts.imageManagerPageSize*d);e++)S(l[e])}}function S(n){var i=new Image,a=e('<div class="fr-image-container fr-empty fr-image-'+f+++'" data-loading="'+t.language.translate("Loading")+'.." data-deleting="'+t.language.translate("Deleting")+'..">');L(!1),i.onload=function(){a.height(Math.floor(a.width()/i.width*i.height));var o=e("<img/>");if(n.thumb)o.attr("src",n.thumb);else{if(O(g,n),!n.url)return O(m,n),!1;o.attr("src",n.url)}if(n.url&&o.attr("data-url",n.url),n.tag)if(r.find(".fr-modal-more.fr-not-available").removeClass("fr-not-available"),r.find(".fr-modal-tags").show(),0<=n.tag.indexOf(",")){for(var l=n.tag.split(","),d=0;d<l.length;d++)l[d]=l[d].trim(),0===s.find('a[title="'+l[d]+'"]').length&&s.append('<a role="button" title="'+l[d]+'">'+l[d]+"</a>");o.attr("data-tag",l.join())}else 0===s.find('a[title="'+n.tag.trim()+'"]').length&&s.append('<a role="button" title="'+n.tag.trim()+'">'+n.tag.trim()+"</a>"),o.attr("data-tag",n.tag.trim());for(var f in n.name&&o.attr("alt",n.name),n)n.hasOwnProperty(f)&&"thumb"!=f&&"url"!=f&&"tag"!=f&&o.attr("data-"+f,n[f]);a.append(o).append(e(t.icon.create("imageManagerDelete")).addClass("fr-delete-img").attr("title",t.language.translate("Delete"))).append(e(t.icon.create("imageManagerInsert")).addClass("fr-insert-img").attr("title",t.language.translate("Insert"))),s.find(".fr-selected-tag").each(function(e,t){F(o,t.text)||a.hide()}),o.on("load",function(){a.removeClass("fr-empty"),a.height("auto"),c++,_(y(parseInt(o.parent().attr("class").match(/fr-image-(\d+)/)[1],10)+1)),L(!1),c%t.opts.imageManagerPageSize==0&&C()}),t.events.trigger("imageManager.imageLoaded",[o])},i.onerror=function(){c++,a.remove(),_(y(parseInt(a.attr("class").match(/fr-image-(\d+)/)[1],10)+1)),O(h,n),c%t.opts.imageManagerPageSize==0&&C()},i.src=n.thumb||n.url,R().append(a)}function R(){var t,n;return o.find(".fr-list-column").each(function(r,i){var a=e(i);0===r?(n=a.outerHeight(),t=a):a.outerHeight()<n&&(n=a.outerHeight(),t=a)}),t}function y(t){void 0===t&&(t=0);for(var n=[],r=f-1;t<=r;r--){var i=o.find(".fr-image-"+r);i.length&&(n.push(i),e('<div id="fr-image-hidden-container">').append(i),o.find(".fr-image-"+r).remove())}return n}function _(e){for(var t=e.length-1;0<=t;t--)R().append(e[t])}function L(e){if(void 0===e&&(e=!0),!n.is(":visible"))return!0;var r=T();if(r!=p){p=r;var i=y();A(),_(i)}t.modals.resize(u),e&&C()}function x(e){var t={},n=e.data();for(var r in n)n.hasOwnProperty(r)&&"url"!=r&&"tag"!=r&&(t[r]=n[r]);return t}function w(r){var i=e(r.currentTarget).siblings("img"),a=n.data("instance")||t,o=n.data("current-image");if(t.modals.hide(u),a.image.showProgressBar(),o)o.data("fr-old-src",o.attr("src")),o.trigger("click");else{a.events.focus(!0),a.selection.restore();var s=a.position.getBoundingRect(),l=s.left+s.width/2+e(t.doc).scrollLeft(),d=s.top+s.height+e(t.doc).scrollTop();a.popups.setContainer("image.insert",t.$sc),a.popups.show("image.insert",l,d)}a.image.insert(i.data("url"),!1,x(i),o)}function N(r){var i=e(r.currentTarget).siblings("img"),a=t.language.translate("Are you sure? Image will be deleted.");confirm(a)&&(t.opts.imageManagerDeleteURL?!1!==t.events.trigger("imageManager.beforeDeleteImage",[i])&&(i.parent().addClass("fr-image-deleting"),e.ajax({method:t.opts.imageManagerDeleteMethod,url:t.opts.imageManagerDeleteURL,data:e.extend(e.extend({src:i.attr("src")},x(i)),t.opts.imageManagerDeleteParams),crossDomain:t.opts.requestWithCORS,xhrFields:{withCredentials:t.opts.requestWithCredentials},headers:t.opts.requestHeaders}).done(function(r){t.events.trigger("imageManager.imageDeleted",[r]);var a=y(parseInt(i.parent().attr("class").match(/fr-image-(\d+)/)[1],10)+1);i.parent().remove(),_(a),n.find("#fr-modal-tags > a").each(function(){0===n.find('#fr-image-list [data-tag*="'+e(this).text()+'"]').length&&e(this).removeClass("fr-selected-tag").hide()}),D(),L(!0)}).fail(function(e){O(v,e.response||e.responseText)})):O(E))}function O(n,r){10<=n&&n<20?a.hide():20<=n&&n<30&&e(".fr-image-deleting").removeClass("fr-image-deleting"),t.events.trigger("imageManager.error",[{code:n,message:b[n]},r])}function I(){var e=r.find(".fr-modal-head-line").outerHeight(),t=s.outerHeight();r.toggleClass("fr-show-tags"),r.hasClass("fr-show-tags")?(r.css("height",e+t),s.find("a").css("opacity",1)):(r.css("height",e),s.find("a").css("opacity",0))}function D(){var t=s.find(".fr-selected-tag");0<t.length?(o.find("img").parent().show(),t.each(function(t,n){o.find("img").each(function(t,r){var i=e(r);F(i,n.text)||i.parent().hide()})})):o.find("img").parent().show(),_(y()),C()}function k(n){n.preventDefault();var r=e(n.currentTarget);r.toggleClass("fr-selected-tag"),t.opts.imageManagerToggleTags&&r.siblings("a").removeClass("fr-selected-tag"),D()}function F(e,t){for(var n=(e.attr("data-tag")||"").split(","),r=0;r<n.length;r++)if(n[r]==t)return!0;return!1}return b[h]="Image cannot be loaded from the passed link.",b[11]="Error during load images request.",b[12]="Missing imageManagerLoadURL option.",b[13]="Parsing load response failed.",b[g]="Missing image thumb.",b[m]="Missing image URL.",b[v]="Error during delete image request.",b[E]="Missing imageManagerDeleteURL option.",{require:["image"],_init:function(){if(!t.$wp&&"IMG"!=t.el.tagName)return!1},show:function(){if(!n){var h,g='<div class="fr-modal-head-line"><i class="fa fa-bars fr-modal-more fr-not-available" id="fr-modal-more-'+t.sid+'" title="'+t.language.translate("Tags")+'"></i><h4 data-text="true">'+t.language.translate("Manage Images")+"</h4></div>";g+='<div class="fr-modal-tags" id="fr-modal-tags"></div>',h=t.opts.imageManagerPreloader?'<img class="fr-preloader" id="fr-preloader" alt="'+t.language.translate("Loading")+'.." src="'+t.opts.imageManagerPreloader+'" style="display: none;">':'<span class="fr-preloader" id="fr-preloader" style="display: none;">'+t.language.translate("Loading")+"</span>",h+='<div class="fr-image-list" id="fr-image-list"></div>';var m=t.modals.create(u,g,h);n=m.$modal,r=m.$head,i=m.$body}n.data("current-image",t.image.get()),t.modals.show(u),a||(a=n.find("#fr-preloader"),o=n.find("#fr-image-list"),s=n.find("#fr-modal-tags"),p=T(),A(),r.css("height",r.find(".fr-modal-head-line").outerHeight()),t.events.$on(e(t.o_win),"resize",function(){L(!!l)}),t.helpers.isMobile()&&(t.events.bindClick(o,"div.fr-image-container",function(t){n.find(".fr-mobile-selected").removeClass("fr-mobile-selected"),e(t.currentTarget).addClass("fr-mobile-selected")}),n.on(t._mousedown,function(){n.find(".fr-mobile-selected").removeClass("fr-mobile-selected")})),t.events.bindClick(o,".fr-insert-img",w),t.events.bindClick(o,".fr-delete-img",N),n.on(t._mousedown+" "+t._mouseup,function(e){e.stopPropagation()}),n.on(t._mousedown,"*",function(){t.events.disableBlur()}),i.on("scroll",C),t.events.bindClick(n,"i#fr-modal-more-"+t.sid,I),t.events.bindClick(s,"a",k)),a.show(),o.find(".fr-list-column").empty(),t.opts.imageManagerLoadURL?e.ajax({url:t.opts.imageManagerLoadURL,method:t.opts.imageManagerLoadMethod,data:t.opts.imageManagerLoadParams,dataType:"json",crossDomain:t.opts.requestWithCORS,xhrFields:{withCredentials:t.opts.requestWithCredentials},headers:t.opts.requestHeaders}).done(function(e,n,r){t.events.trigger("imageManager.imagesLoaded",[e]),function(e,t){try{o.find(".fr-list-column").empty(),f=c=d=0,l=e,C()}catch(e){O(13,t)}}(e,r.response),a.hide()}).fail(function(){var e=this.xhr();O(11,e.response||e.responseText)}):O(12)},hide:function(){t.modals.hide(u)}}},!e.FE.PLUGINS.image)throw new Error("Image manager plugin requires image plugin.");e.FE.DEFAULTS.imageInsertButtons.push("imageManager"),e.FE.RegisterCommand("imageManager",{title:"Browse",undo:!1,focus:!1,modal:!0,callback:function(){this.imageManager.show()},plugin:"imageManager"}),e.FE.DefineIcon("imageManager",{NAME:"folder"}),e.FE.DefineIcon("imageManagerInsert",{NAME:"plus"}),e.FE.DefineIcon("imageManagerDelete",{NAME:"trash"}),e.extend(e.FE.DEFAULTS,{inlineClasses:{"fr-class-code":"Code","fr-class-highlighted":"Highlighted","fr-class-transparency":"Transparent"}}),e.FE.PLUGINS.inlineClass=function(t){return{apply:function(e){t.format.toggle("span",{class:e})},refreshOnShow:function(n,r){r.find(".fr-command").each(function(){var n=e(this).data("param1"),r=t.format.is("span",{class:n});e(this).toggleClass("fr-active",r).attr("aria-selected",r)})}}},e.FE.RegisterCommand("inlineClass",{type:"dropdown",title:"Inline Class",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.inlineClasses;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="inlineClass" data-param1="'+n+'" title="'+t[n]+'">'+t[n]+"</a></li>");return e+"</ul>"},callback:function(e,t){this.inlineClass.apply(t)},refreshOnShow:function(e,t){this.inlineClass.refreshOnShow(e,t)},plugin:"inlineClass"}),e.FE.DefineIcon("inlineClass",{NAME:"tag"}),e.extend(e.FE.DEFAULTS,{inlineStyles:{"Big Red":"font-size: 20px; color: red;","Small Blue":"font-size: 14px; color: blue;"}}),e.FE.PLUGINS.inlineStyle=function(t){return{apply:function(n){if(""!==t.selection.text())for(var r=n.split(";"),i=0;i<r.length;i++){var a=r[i].split(":");r[i].length&&2==a.length&&t.format.applyStyle(a[0].trim(),a[1].trim())}else t.html.insert('<span style="'+n+'">'+e.FE.INVISIBLE_SPACE+e.FE.MARKERS+"</span>")}}},e.FE.RegisterCommand("inlineStyle",{type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.inlineStyles;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role="presentation"><span style="'+t[n]+'" role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="inlineStyle" data-param1="'+t[n]+'" title="'+this.language.translate(n)+'">'+this.language.translate(n)+"</a></span></li>");return e+"</ul>"},title:"Inline Style",callback:function(e,t){this.inlineStyle.apply(t)},plugin:"inlineStyle"}),e.FE.DefineIcon("inlineStyle",{NAME:"paint-brush"}),e.extend(e.FE.DEFAULTS,{lineBreakerTags:["table","hr","form","dl","span.fr-video",".fr-embedly"],lineBreakerOffset:15,lineBreakerHorizontalOffset:10}),e.FE.PLUGINS.lineBreaker=function(t){var n,r,i;function a(r,i){var a,o,s,l,d,c,f,p;if(null==r)d=(l=i.parent()).offset().top,a=(f=i.offset().top)-Math.min((f-d)/2,t.opts.lineBreakerOffset),s=l.outerWidth(),o=l.offset().left;else if(null==i)(c=(l=r.parent()).offset().top+l.outerHeight())<(p=r.offset().top+r.outerHeight())&&(c=(l=e(l).parent()).offset().top+l.outerHeight()),a=p+Math.min(Math.abs(c-p)/2,t.opts.lineBreakerOffset),s=l.outerWidth(),o=l.offset().left;else{l=r.parent();var u=r.offset().top+r.height(),h=i.offset().top;if(h<u)return!1;a=(u+h)/2,s=l.outerWidth(),o=l.offset().left}t.opts.iframe&&(o+=t.$iframe.offset().left-t.helpers.scrollLeft(),a+=t.$iframe.offset().top-t.helpers.scrollTop()),t.$box.append(n),n.css("top",a-t.win.pageYOffset),n.css("left",o-t.win.pageXOffset),n.css("width",s),n.data("tag1",r),n.data("tag2",i),n.addClass("fr-visible").data("instance",t)}function o(n){if(n){var r=e(n);if(0===t.$el.find(r).length)return null;if(n.nodeType!=Node.TEXT_NODE&&r.is(t.opts.lineBreakerTags.join(",")))return r;if(0<r.parents(t.opts.lineBreakerTags.join(",")).length)return n=r.parents(t.opts.lineBreakerTags.join(",")).get(0),0!==t.$el.find(n).length&&e(n).is(t.opts.lineBreakerTags.join(","))?e(n):null}return null}function s(n,r){var i=t.doc.elementFromPoint(n,r);return i&&!e(i).closest(".fr-line-breaker").length&&!t.node.isElement(i)&&i!=t.$wp.get(0)&&function(e){if(void 0!==e.inFroalaWrapper)return e.inFroalaWrapper;for(var n=e;e.parentNode&&e.parentNode!==t.$wp.get(0);)e=e.parentNode;return n.inFroalaWrapper=e.parentNode==t.$wp.get(0),n.inFroalaWrapper}(i)?i:null}function l(e,n,r){for(var i=r,a=null;i<=t.opts.lineBreakerOffset&&!a;)(a=s(e,n-i))||(a=s(e,n+i)),i+=r;return a}function d(e,n,r){for(var i=null,a=100;!i&&e>t.$box.offset().left&&e<t.$box.offset().left+t.$box.outerWidth()&&0<a;)(i=s(e,n))||(i=l(e,n,5)),"left"==r?e-=t.opts.lineBreakerHorizontalOffset:e+=t.opts.lineBreakerHorizontalOffset,a-=t.opts.lineBreakerHorizontalOffset;return i}function c(e){var r=i=null,s=null,c=t.doc.elementFromPoint(e.pageX-t.win.pageXOffset,e.pageY-t.win.pageYOffset);c&&("HTML"==c.tagName||"BODY"==c.tagName||t.node.isElement(c)||0<=(c.getAttribute("class")||"").indexOf("fr-line-breaker"))?((s=l(e.pageX-t.win.pageXOffset,e.pageY-t.win.pageYOffset,1))||(s=d(e.pageX-t.win.pageXOffset-t.opts.lineBreakerHorizontalOffset,e.pageY-t.win.pageYOffset,"left")),s||(s=d(e.pageX-t.win.pageXOffset+t.opts.lineBreakerHorizontalOffset,e.pageY-t.win.pageYOffset,"right")),r=o(s)):r=o(c),r?function(e,r){var i,s,l=e.offset().top,d=e.offset().top+e.outerHeight();if(Math.abs(d-r)<=t.opts.lineBreakerOffset||Math.abs(r-l)<=t.opts.lineBreakerOffset)if(Math.abs(d-r)<Math.abs(r-l)){for(var c=(s=e.get(0)).nextSibling;c&&c.nodeType==Node.TEXT_NODE&&0===c.textContent.length;)c=c.nextSibling;if(!c)return a(e,null);if(i=o(c))return a(e,i)}else{if(!(s=e.get(0)).previousSibling)return a(null,e);if(i=o(s.previousSibling))return a(i,e)}n.removeClass("fr-visible").removeData("instance")}(r,e.pageY):t.core.sameInstance(n)&&n.removeClass("fr-visible").removeData("instance")}function f(e){return!(n.hasClass("fr-visible")&&!t.core.sameInstance(n))&&(t.popups.areVisible()||t.el.querySelector(".fr-selected-cell")?(n.removeClass("fr-visible"),!0):void(!1!==r||t.edit.isDisabled()||(i&&clearTimeout(i),i=setTimeout(c,30,e))))}function p(){i&&clearTimeout(i),n&&n.hasClass("fr-visible")&&n.removeClass("fr-visible").removeData("instance")}function u(){r=!0,p()}function h(){r=!1}function g(r){r.preventDefault();var i=n.data("instance")||t;n.removeClass("fr-visible").removeData("instance");var a=n.data("tag1"),o=n.data("tag2"),s=t.html.defaultTag();null==a?s&&"TD"!=o.parent().get(0).tagName&&0===o.parents(s).length?o.before("<"+s+">"+e.FE.MARKERS+"<br></"+s+">"):o.before(e.FE.MARKERS+"<br>"):s&&"TD"!=a.parent().get(0).tagName&&0===a.parents(s).length?a.after("<"+s+">"+e.FE.MARKERS+"<br></"+s+">"):a.after(e.FE.MARKERS+"<br>"),i.selection.restore()}return{_init:function(){if(!t.$wp)return!1;t.shared.$line_breaker||(t.shared.$line_breaker=e('<div class="fr-line-breaker"><a class="fr-floating-btn" role="button" tabIndex="-1" title="'+t.language.translate("Break")+'"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><rect x="21" y="11" width="2" height="8"/><rect x="14" y="17" width="7" height="2"/><path d="M14.000,14.000 L14.000,22.013 L9.000,18.031 L14.000,14.000 Z"/></svg></a></div>')),n=t.shared.$line_breaker,t.events.on("shared.destroy",function(){n.html("").removeData().remove(),n=null},!0),t.events.on("destroy",function(){n.removeData("instance").removeClass("fr-visible").appendTo("body:first"),clearTimeout(i)},!0),t.events.$on(n,"mousemove",function(e){e.stopPropagation()},!0),t.events.bindClick(n,"a",g),r=!1,t.events.$on(t.$win,"mousemove",f),t.events.$on(e(t.win),"scroll",p),t.events.on("popups.show.table.edit",p),t.events.on("commands.after",p),t.events.$on(e(t.win),"mousedown",u),t.events.$on(e(t.win),"mouseup",h)}}},e.extend(e.FE.DEFAULTS,{lineHeights:{Default:"",Single:"1",1.15:"1.15",1.5:"1.5",Double:"2"}}),e.FE.PLUGINS.lineHeight=function(t){return{_init:function(){},apply:function(n){t.selection.save(),t.html.wrap(!0,!0,!0,!0),t.selection.restore();var r=t.selection.blocks();t.selection.save();for(var i=0;i<r.length;i++)e(r[i]).css("line-height",n),""===e(r[i]).attr("style")&&e(r[i]).removeAttr("style");t.html.unwrap(),t.selection.restore()},refreshOnShow:function(n,r){var i=t.selection.blocks();if(i.length){var a=e(i[0]);r.find(".fr-command").each(function(){var t=e(this).data("param1"),n=0<=(a.attr("style")||"").indexOf("line-height: "+t+";");e(this).toggleClass("fr-active",n).attr("aria-selected",n)})}}}},e.FE.RegisterCommand("lineHeight",{type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.lineHeights;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role="presentation"><a class="fr-command '+n+'" tabIndex="-1" role="option" data-cmd="lineHeight" data-param1="'+t[n]+'" title="'+this.language.translate(n)+'">'+this.language.translate(n)+"</a></li>");return e+"</ul>"},title:"Line Height",callback:function(e,t){this.lineHeight.apply(t)},refreshOnShow:function(e,t){this.lineHeight.refreshOnShow(e,t)},plugin:"lineHeight"}),e.FE.DefineIcon("lineHeight",{NAME:"arrows-v",FA5NAME:"arrows-alt-v"}),e.extend(e.FE.POPUP_TEMPLATES,{"link.edit":"[_BUTTONS_]","link.insert":"[_BUTTONS_][_INPUT_LAYER_]"}),e.extend(e.FE.DEFAULTS,{linkEditButtons:["linkOpen","linkStyle","linkEdit","linkRemove"],linkInsertButtons:["linkBack","|","linkList"],linkAttributes:{},linkAutoPrefix:"http://",linkStyles:{"fr-green":"Green","fr-strong":"Thick"},linkMultipleStyles:!0,linkConvertEmailAddress:!0,linkAlwaysBlank:!1,linkAlwaysNoFollow:!1,linkNoOpener:!0,linkNoReferrer:!0,linkList:[{text:"Froala",href:"https://froala.com",target:"_blank"},{text:"Google",href:"https://google.com",target:"_blank"},{displayText:"Facebook",href:"https://facebook.com"}],linkText:!0}),e.FE.PLUGINS.link=function(t){function n(){var n=t.image?t.image.get():null;if(!n&&t.$wp){var r=t.selection.ranges(0).commonAncestorContainer;try{r&&(r.contains&&r.contains(t.el)||!t.el.contains(r)||t.el==r)&&(r=null)}catch(e){r=null}if(r&&"A"===r.tagName)return r;var i=t.selection.element(),a=t.selection.endElement();"A"==i.tagName||t.node.isElement(i)||(i=e(i).parentsUntil(t.$el,"a:first").get(0)),"A"==a.tagName||t.node.isElement(a)||(a=e(a).parentsUntil(t.$el,"a:first").get(0));try{a&&(a.contains&&a.contains(t.el)||!t.el.contains(a)||t.el==a)&&(a=null)}catch(e){a=null}try{i&&(i.contains&&i.contains(t.el)||!t.el.contains(i)||t.el==i)&&(i=null)}catch(e){i=null}return a&&a==i&&"A"==a.tagName?(t.browser.msie||t.helpers.isMobile())&&(t.selection.info(i).atEnd||t.selection.info(i).atStart)?null:i:null}return"A"==t.el.tagName?t.el:n&&n.get(0).parentNode&&"A"==n.get(0).parentNode.tagName?n.get(0).parentNode:void 0}function r(){var e,n,r,i,a=t.image?t.image.get():null,o=[];if(a)"A"==a.get(0).parentNode.tagName&&o.push(a.get(0).parentNode);else if(t.win.getSelection){var s=t.win.getSelection();if(s.getRangeAt&&s.rangeCount){i=t.doc.createRange();for(var l=0;l<s.rangeCount;++l)if((n=(e=s.getRangeAt(l)).commonAncestorContainer)&&1!=n.nodeType&&(n=n.parentNode),n&&"a"==n.nodeName.toLowerCase())o.push(n);else{r=n.getElementsByTagName("a");for(var d=0;d<r.length;++d)i.selectNodeContents(r[d]),i.compareBoundaryPoints(e.END_TO_START,e)<1&&-1<i.compareBoundaryPoints(e.START_TO_END,e)&&o.push(r[d])}}}else if(t.doc.selection&&"Control"!=t.doc.selection.type)if("a"==(n=(e=t.doc.selection.createRange()).parentElement()).nodeName.toLowerCase())o.push(n);else{r=n.getElementsByTagName("a"),i=t.doc.body.createTextRange();for(var c=0;c<r.length;++c)i.moveToElementText(r[c]),-1<i.compareEndPoints("StartToEnd",e)&&i.compareEndPoints("EndToStart",e)<1&&o.push(r[c])}return o}function i(r){if(t.core.hasFocus()){if(a(),r&&"keyup"===r.type&&(r.altKey||r.which==e.FE.KEYCODE.ALT))return!0;setTimeout(function(){if(!r||r&&(1==r.which||"mouseup"!=r.type)){var i=n(),a=t.image?t.image.get():null;if(i&&!a){if(t.image){var o=t.node.contents(i);if(1==o.length&&"IMG"==o[0].tagName){var s=t.selection.ranges(0);return 0===s.startOffset&&0===s.endOffset?e(i).before(e.FE.MARKERS):e(i).after(e.FE.MARKERS),t.selection.restore(),!1}}r&&r.stopPropagation(),function r(i){var a=t.popups.get("link.edit");a||(a=function(){var e="";1<=t.opts.linkEditButtons.length&&("A"==t.el.tagName&&0<=t.opts.linkEditButtons.indexOf("linkRemove")&&t.opts.linkEditButtons.splice(t.opts.linkEditButtons.indexOf("linkRemove"),1),e='<div class="fr-buttons">'+t.button.buildList(t.opts.linkEditButtons)+"</div>");var i={buttons:e},a=t.popups.create("link.edit",i);return t.$wp&&t.events.$on(t.$wp,"scroll.link-edit",function(){n()&&t.popups.isVisible("link.edit")&&r(n())}),a}());var o=e(i);t.popups.isVisible("link.edit")||t.popups.refresh("link.edit"),t.popups.setContainer("link.edit",t.$sc);var s=o.offset().left+e(i).outerWidth()/2,l=o.offset().top+o.outerHeight();t.popups.show("link.edit",s,l,o.outerHeight())}(i)}}},t.helpers.isIOS()?100:0)}}function a(){t.popups.hide("link.edit")}function o(){}function s(){var r=t.popups.get("link.insert"),i=n();if(i){var a,o,s=e(i),l=r.find('input.fr-link-attr[type="text"]'),d=r.find('input.fr-link-attr[type="checkbox"]');for(a=0;a<l.length;a++)(o=e(l[a])).val(s.attr(o.attr("name")||""));for(d.prop("checked",!1),a=0;a<d.length;a++)o=e(d[a]),s.attr(o.attr("name"))==o.data("checked")&&o.prop("checked",!0);r.find('input.fr-link-attr[type="text"][name="text"]').val(s.text())}else r.find('input.fr-link-attr[type="text"]').val(""),r.find('input.fr-link-attr[type="checkbox"]').prop("checked",!1),r.find('input.fr-link-attr[type="text"][name="text"]').val(t.selection.text());r.find("input.fr-link-attr").trigger("change"),t.image&&t.image.get()?r.find('.fr-link-attr[name="text"]').parent().hide():r.find('.fr-link-attr[name="text"]').parent().show()}function l(e){if(e)return t.popups.onRefresh("link.insert",s),t.popups.onHide("link.insert",o),!0;var n="";1<=t.opts.linkInsertButtons.length&&(n='<div class="fr-buttons">'+t.button.buildList(t.opts.linkInsertButtons)+"</div>");var r="",i=0;for(var a in r='<div class="fr-link-insert-layer fr-layer fr-active" id="fr-link-insert-layer-'+t.id+'">',r+='<div class="fr-input-line"><input id="fr-link-insert-layer-url-'+t.id+'" name="href" type="text" class="fr-link-attr" placeholder="'+t.language.translate("URL")+'" tabIndex="'+ ++i+'"></div>',t.opts.linkText&&(r+='<div class="fr-input-line"><input id="fr-link-insert-layer-text-'+t.id+'" name="text" type="text" class="fr-link-attr" placeholder="'+t.language.translate("Text")+'" tabIndex="'+ ++i+'"></div>'),t.opts.linkAttributes)if(t.opts.linkAttributes.hasOwnProperty(a)){var l=t.opts.linkAttributes[a];r+='<div class="fr-input-line"><input name="'+a+'" type="text" class="fr-link-attr" placeholder="'+t.language.translate(l)+'" tabIndex="'+ ++i+'"></div>'}t.opts.linkAlwaysBlank||(r+='<div class="fr-checkbox-line"><span class="fr-checkbox"><input name="target" class="fr-link-attr" data-checked="_blank" type="checkbox" id="fr-link-target-'+t.id+'" tabIndex="'+ ++i+'"><span><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10" viewBox="0 0 32 32"><path d="M27 4l-15 15-7-7-5 5 12 12 20-20z" fill="#FFF"></path></svg></span></span><label for="fr-link-target-'+t.id+'">'+t.language.translate("Open in new tab")+"</label></div>");var d={buttons:n,input_layer:r+='<div class="fr-action-buttons"><button class="fr-command fr-submit" role="button" data-cmd="linkInsert" href="#" tabIndex="'+ ++i+'" type="button">'+t.language.translate("Insert")+"</button></div></div>"},p=t.popups.create("link.insert",d);return t.$wp&&t.events.$on(t.$wp,"scroll.link-insert",function(){(t.image?t.image.get():null)&&t.popups.isVisible("link.insert")&&f(),t.popups.isVisible("link.insert")&&c()}),p}function d(a,o,s){if(void 0===s&&(s={}),!1===t.events.trigger("link.beforeInsert",[a,o,s]))return!1;var l=t.image?t.image.get():null;l||"A"==t.el.tagName?"A"==t.el.tagName&&t.$el.focus():(t.selection.restore(),t.popups.hide("link.insert"));var d=a;if(t.opts.linkConvertEmailAddress&&t.helpers.isEmail(a)&&!/^mailto:.*/i.test(a)&&(a="mailto:"+a),""===t.opts.linkAutoPrefix||new RegExp("^("+e.FE.LinkProtocols.join("|")+"):.","i").test(a)||/^data:image.*/i.test(a)||/^(https?:|ftps?:|file:|)\/\//i.test(a)||/^([A-Za-z]:(\\){1,2}|[A-Za-z]:((\\){1,2}[^\\]+)+)(\\)?$/i.test(a)||["/","{","[","#","(","."].indexOf((a||"")[0])<0&&(a=t.opts.linkAutoPrefix+t.helpers.sanitizeURL(a)),a=t.helpers.sanitizeURL(a),t.opts.linkAlwaysBlank&&(s.target="_blank"),t.opts.linkAlwaysNoFollow&&(s.rel="nofollow"),t.helpers.isEmail(d)&&(s.target=null,s.rel=null),"_blank"==s.target?(t.opts.linkNoOpener&&(s.rel?s.rel+=" noopener":s.rel="noopener"),t.opts.linkNoReferrer&&(s.rel?s.rel+=" noreferrer":s.rel="noreferrer")):null==s.target&&(s.rel?s.rel=s.rel.replace(/noopener/,"").replace(/noreferrer/,""):s.rel=null),o=o||"",a===t.opts.linkAutoPrefix)return t.popups.get("link.insert").find('input[name="href"]').addClass("fr-error"),t.events.trigger("link.bad",[d]),!1;var c,f=n();if(f){if((c=e(f)).attr("href",a),0<o.length&&c.text()!=o&&!l){for(var p=c.get(0);1===p.childNodes.length&&p.childNodes[0].nodeType==Node.ELEMENT_NODE;)p=p.childNodes[0];e(p).text(o)}l||c.prepend(e.FE.START_MARKER).append(e.FE.END_MARKER),c.attr(s),l||t.selection.restore()}else{l?l.wrap('<a href="'+a+'"></a>'):(t.format.remove("a"),t.selection.isCollapsed()?(o=0===o.length?d:o,t.html.insert('<a href="'+a+'">'+e.FE.START_MARKER+o.replace(/&/g,"&amp;")+e.FE.END_MARKER+"</a>"),t.selection.restore()):0<o.length&&o!=t.selection.text().replace(/\n/g,"")?(t.selection.remove(),t.html.insert('<a href="'+a+'">'+e.FE.START_MARKER+o.replace(/&/g,"&amp;")+e.FE.END_MARKER+"</a>"),t.selection.restore()):(function(){if(!t.selection.isCollapsed()){t.selection.save();for(var n=t.$el.find(".fr-marker").addClass("fr-unprocessed").toArray();n.length;){var r=e(n.pop());r.removeClass("fr-unprocessed");var i=t.node.deepestParent(r.get(0));if(i){for(var a=r.get(0),o="",s="";a=a.parentNode,t.node.isBlock(a)||(o+=t.node.closeTagString(a),s=t.node.openTagString(a)+s),a!=i;);var l=t.node.openTagString(r.get(0))+r.html()+t.node.closeTagString(r.get(0));r.replaceWith('<span id="fr-break"></span>');var d=i.outerHTML;d=d.replace(/<span id="fr-break"><\/span>/g,o+l+s),i.outerHTML=d}n=t.$el.find(".fr-marker.fr-unprocessed").toArray()}t.html.cleanEmptyTags(),t.selection.restore()}}(),t.format.apply("a",{href:a})));for(var u=r(),h=0;h<u.length;h++)(c=e(u[h])).attr(s),c.removeAttr("_moz_dirty");1==u.length&&t.$wp&&!l&&(e(u[0]).prepend(e.FE.START_MARKER).append(e.FE.END_MARKER),t.selection.restore())}if(l){var g=t.popups.get("link.insert");g&&g.find("input:focus").blur(),t.image.edit(l)}else i()}function c(){a();var r=n();if(r){var i=t.popups.get("link.insert");i||(i=l()),t.popups.isVisible("link.insert")||(t.popups.refresh("link.insert"),t.selection.save(),t.helpers.isMobile()&&(t.events.disableBlur(),t.$el.blur(),t.events.enableBlur())),t.popups.setContainer("link.insert",t.$sc);var o=(t.image?t.image.get():null)||e(r),s=o.offset().left+o.outerWidth()/2,d=o.offset().top+o.outerHeight();t.popups.show("link.insert",s,d,o.outerHeight())}}function f(){var e=t.image?t.image.getEl():null;if(e){var n=t.popups.get("link.insert");t.image.hasCaption()&&(e=e.find(".fr-img-wrap")),n||(n=l()),s(),t.popups.setContainer("link.insert",t.$sc);var r=e.offset().left+e.outerWidth()/2,i=e.offset().top+e.outerHeight();t.popups.show("link.insert",r,i,e.outerHeight())}}return{_init:function(){t.events.on("keyup",function(t){t.which!=e.FE.KEYCODE.ESC&&i(t)}),t.events.on("window.mouseup",i),t.events.$on(t.$el,"click","a",function(e){t.edit.isDisabled()&&e.preventDefault()}),t.helpers.isMobile()&&t.events.$on(t.$doc,"selectionchange",i),l(!0),"A"==t.el.tagName&&t.$el.addClass("fr-view"),t.events.on("toolbar.esc",function(){if(t.popups.isVisible("link.edit"))return t.events.disableBlur(),t.events.focus(),!1},!0)},remove:function(){var r=n(),i=t.image?t.image.get():null;if(!1===t.events.trigger("link.beforeRemove",[r]))return!1;i&&r?(i.unwrap(),t.image.edit(i)):r&&(t.selection.save(),e(r).replaceWith(e(r).html()),t.selection.restore(),a())},showInsertPopup:function(){var e=t.$tb.find('.fr-command[data-cmd="insertLink"]'),n=t.popups.get("link.insert");if(n||(n=l()),!n.hasClass("fr-active"))if(t.popups.refresh("link.insert"),t.popups.setContainer("link.insert",t.$tb||t.$sc),e.is(":visible")){var r=e.offset().left+e.outerWidth()/2,i=e.offset().top+(t.opts.toolbarBottom?10:e.outerHeight()-10);t.popups.show("link.insert",r,i,e.outerHeight())}else t.position.forSelection(n),t.popups.show("link.insert")},usePredefined:function(n){var r,i,a=t.opts.linkList[n],o=t.popups.get("link.insert"),s=o.find('input.fr-link-attr[type="text"]'),l=o.find('input.fr-link-attr[type="checkbox"]');for(i=0;i<s.length;i++)a[(r=e(s[i])).attr("name")]?r.val(a[r.attr("name")]):"text"!=r.attr("name")&&r.val("");for(i=0;i<l.length;i++)(r=e(l[i])).prop("checked",r.data("checked")==a[r.attr("name")]);t.accessibility.focusPopup(o)},insertCallback:function(){var n,r,i=t.popups.get("link.insert"),a=i.find('input.fr-link-attr[type="text"]'),o=i.find('input.fr-link-attr[type="checkbox"]'),s=(a.filter('[name="href"]').val()||"").trim(),l=a.filter('[name="text"]').val(),c={};for(r=0;r<a.length;r++)n=e(a[r]),["href","text"].indexOf(n.attr("name"))<0&&(c[n.attr("name")]=n.val());for(r=0;r<o.length;r++)(n=e(o[r])).is(":checked")?c[n.attr("name")]=n.data("checked"):c[n.attr("name")]=n.data("unchecked")||null;var f=t.helpers.scrollTop();d(s,l,c),e(t.o_win).scrollTop(f)},insert:d,update:c,get:n,allSelected:r,back:function(){t.image&&t.image.get()?t.image.back():(t.events.disableBlur(),t.selection.restore(),t.events.enableBlur(),n()&&t.$wp?(t.selection.restore(),a(),i()):"A"==t.el.tagName?(t.$el.focus(),i()):(t.popups.hide("link.insert"),t.toolbar.showInline()))},imageLink:f,applyStyle:function(r,a,o){void 0===o&&(o=t.opts.linkMultipleStyles),void 0===a&&(a=t.opts.linkStyles);var s=n();if(!s)return!1;if(!o){var l=Object.keys(a);l.splice(l.indexOf(r),1),e(s).removeClass(l.join(" "))}e(s).toggleClass(r),i()}}},e.FE.DefineIcon("insertLink",{NAME:"link"}),e.FE.RegisterShortcut(e.FE.KEYCODE.K,"insertLink",null,"K"),e.FE.RegisterCommand("insertLink",{title:"Insert Link",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible("link.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("link.insert")):this.link.showInsertPopup()},plugin:"link"}),e.FE.DefineIcon("linkOpen",{NAME:"external-link",FA5NAME:"external-link-alt"}),e.FE.RegisterCommand("linkOpen",{title:"Open Link",undo:!1,refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},callback:function(){var e=this.link.get();e&&(-1!==e.href.indexOf("mailto:")?this.o_win.open(e.href).close():this.o_win.open(e.href,"_blank","noopener"),this.popups.hide("link.edit"))},plugin:"link"}),e.FE.DefineIcon("linkEdit",{NAME:"edit"}),e.FE.RegisterCommand("linkEdit",{title:"Edit Link",undo:!1,refreshAfterCallback:!1,popup:!0,callback:function(){this.link.update()},refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},plugin:"link"}),e.FE.DefineIcon("linkRemove",{NAME:"unlink"}),e.FE.RegisterCommand("linkRemove",{title:"Unlink",callback:function(){this.link.remove()},refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},plugin:"link"}),e.FE.DefineIcon("linkBack",{NAME:"arrow-left"}),e.FE.RegisterCommand("linkBack",{title:"Back",undo:!1,focus:!1,back:!0,refreshAfterCallback:!1,callback:function(){this.link.back()},refresh:function(e){var t=this.link.get()&&this.doc.hasFocus();this.image&&this.image.get()||t||this.opts.toolbarInline?(e.removeClass("fr-hidden"),e.next(".fr-separator").removeClass("fr-hidden")):(e.addClass("fr-hidden"),e.next(".fr-separator").addClass("fr-hidden"))},plugin:"link"}),e.FE.DefineIcon("linkList",{NAME:"search"}),e.FE.RegisterCommand("linkList",{title:"Choose Link",type:"dropdown",focus:!1,undo:!1,refreshAfterCallback:!1,html:function(){for(var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.linkList,n=0;n<t.length;n++)e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="linkList" data-param1="'+n+'">'+(t[n].displayText||t[n].text)+"</a></li>";return e+"</ul>"},callback:function(e,t){this.link.usePredefined(t)},plugin:"link"}),e.FE.RegisterCommand("linkInsert",{focus:!1,refreshAfterCallback:!1,callback:function(){this.link.insertCallback()},refresh:function(e){this.link.get()?e.text(this.language.translate("Update")):e.text(this.language.translate("Insert"))},plugin:"link"}),e.FE.DefineIcon("imageLink",{NAME:"link"}),e.FE.RegisterCommand("imageLink",{title:"Insert Link",undo:!1,focus:!1,popup:!0,callback:function(){this.link.imageLink()},refresh:function(e){var t;this.link.get()?((t=e.prev()).hasClass("fr-separator")&&t.removeClass("fr-hidden"),e.addClass("fr-hidden")):((t=e.prev()).hasClass("fr-separator")&&t.addClass("fr-hidden"),e.removeClass("fr-hidden"))},plugin:"link"}),e.FE.DefineIcon("linkStyle",{NAME:"magic"}),e.FE.RegisterCommand("linkStyle",{title:"Style",type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.linkStyles;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="linkStyle" data-param1="'+n+'">'+this.language.translate(t[n])+"</a></li>");return e+"</ul>"},callback:function(e,t){this.link.applyStyle(t)},refreshOnShow:function(t,n){var r=this.link.get();if(r){var i=e(r);n.find(".fr-command").each(function(){var t=e(this).data("param1"),n=i.hasClass(t);e(this).toggleClass("fr-active",n).attr("aria-selected",n)})}},refresh:function(e){this.link.get()?e.removeClass("fr-hidden"):e.addClass("fr-hidden")},plugin:"link"}),e.extend(e.FE.DEFAULTS,{listAdvancedTypes:!0}),e.FE.PLUGINS.lists=function(t){function n(e){return'<span class="fr-open-'+e.toLowerCase()+'"></span>'}function r(e){return'<span class="fr-close-'+e.toLowerCase()+'"></span>'}function i(i){var a,o;for(a=i.length-1;0<=a;a--)for(o=a-1;0<=o;o--)if(e(i[o]).find(i[a]).length||i[o]==i[a]){i.splice(a,1);break}var s=[];for(a=0;a<i.length;a++){var l=e(i[a]),d=i[a].parentNode,c=l.attr("class");if(l.before(r(d.tagName)),"LI"==d.parentNode.tagName)l.before(r("LI")),l.after(n("LI"));else{var f="";c&&(f+=' class="'+c+'"');var p="rtl"==t.opts.direction||"rtl"==l.css("direction")?"margin-right":"margin-left";t.helpers.getPX(e(d).css(p))&&0<=(e(d).attr("style")||"").indexOf(p+":")&&(f+=' style="'+p+":"+t.helpers.getPX(e(d).css(p))+'px;"'),t.html.defaultTag()&&0===l.find(t.html.blockTagsQuery()).length&&l.wrapInner("<"+t.html.defaultTag()+f+"></"+t.html.defaultTag()+">"),t.node.isEmpty(l.get(0),!0)||0!==l.find(t.html.blockTagsQuery()).length||l.append("<br>"),l.append(n("LI")),l.prepend(r("LI"))}l.after(n(d.tagName)),"LI"==d.parentNode.tagName&&(d=d.parentNode.parentNode),s.indexOf(d)<0&&s.push(d)}for(a=0;a<s.length;a++){var u=e(s[a]),h=u.html();h=(h=h.replace(/<span class="fr-close-([a-z]*)"><\/span>/g,"</$1>")).replace(/<span class="fr-open-([a-z]*)"><\/span>/g,"<$1>"),u.replaceWith(t.node.openTagString(u.get(0))+h+t.node.closeTagString(u.get(0)))}t.$el.find("li:empty").remove(),t.$el.find("ul:empty, ol:empty").remove(),t.clean.lists(),t.html.wrap()}function a(n){t.selection.save();for(var r=0;r<n.length;r++){var i=n[r].previousSibling;if(i){var a=e(n[r]).find("> ul, > ol").last().get(0);if(a){for(var o=e("<li>").prependTo(e(a)),s=t.node.contents(n[r])[0];s&&!t.node.isList(s);){var l=s.nextSibling;o.append(s),s=l}e(i).append(e(a)),e(n[r]).remove()}else{var d=e(i).find("> ul, > ol").last().get(0);if(d)e(d).append(e(n[r]));else{var c=e("<"+n[r].parentNode.tagName+">");e(i).append(c),c.append(e(n[r]))}}}}t.clean.lists(),t.selection.restore()}function o(e){t.selection.save(),i(e),t.selection.restore()}function s(e){if("indent"==e||"outdent"==e){for(var n=!1,r=t.selection.blocks(),i=[],s=0;s<r.length;s++)"LI"==r[s].tagName?(n=!0,i.push(r[s])):"LI"==r[s].parentNode.tagName&&(n=!0,i.push(r[s].parentNode));n&&("indent"==e?a(i):o(i))}}return{_init:function(){t.events.on("commands.after",s),t.events.on("keydown",function(n){if(n.which==e.FE.KEYCODE.TAB){for(var r=t.selection.blocks(),i=[],s=0;s<r.length;s++)"LI"==r[s].tagName?i.push(r[s]):"LI"==r[s].parentNode.tagName&&i.push(r[s].parentNode);if(1<i.length||i.length&&(t.selection.info(i[0]).atStart||t.node.isEmpty(i[0])))return n.preventDefault(),n.stopPropagation(),n.shiftKey?o(i):a(i),!1}},!0)},format:function(n,r){var a,o;for(t.selection.save(),t.html.wrap(!0,!0,!0,!0),t.selection.restore(),o=t.selection.blocks(),a=0;a<o.length;a++)"LI"!=o[a].tagName&&"LI"==o[a].parentNode.tagName&&(o[a]=o[a].parentNode);if(t.selection.save(),function(e,t){for(var n=!0,r=0;r<e.length;r++){if("LI"!=e[r].tagName)return!1;e[r].parentNode.tagName!=t&&(n=!1)}return n}(o,n)?r||i(o):function(n,r){!function(n,r){for(var i=[],a=0;a<n.length;a++){var o=n[a].parentNode;"LI"==n[a].tagName&&o.tagName!=r&&i.indexOf(o)<0&&i.push(o)}for(a=i.length-1;0<=a;a--){var s=e(i[a]);s.replaceWith("<"+r.toLowerCase()+" "+t.node.attributes(s.get(0))+">"+s.html()+"</"+r.toLowerCase()+">")}}(n,r);var i,a=t.html.defaultTag(),o=null;n.length&&(i="rtl"==t.opts.direction||"rtl"==e(n[0]).css("direction")?"margin-right":"margin-left");for(var s=0;s<n.length;s++)if("LI"!=n[s].tagName){var l=t.helpers.getPX(e(n[s]).css(i))||0;(n[s].style.marginLeft=null)===o&&(o=l);var d=0<o?"<"+r+' style="'+i+": "+o+'px;">':"<"+r+">",c="</"+r+">";for(l-=o;0<l/t.opts.indentMargin;)d+="<"+r+">",c+=c,l-=t.opts.indentMargin;a&&n[s].tagName.toLowerCase()==a?e(n[s]).replaceWith(d+"<li"+t.node.attributes(n[s])+">"+e(n[s]).html()+"</li>"+c):e(n[s]).wrap(d+"<li></li>"+c)}t.clean.lists()}(o,n),t.html.unwrap(),t.selection.restore(),r=r||"default"){for(o=t.selection.blocks(),a=0;a<o.length;a++)"LI"!=o[a].tagName&&"LI"==o[a].parentNode.tagName&&(o[a]=o[a].parentNode);for(a=0;a<o.length;a++)"LI"==o[a].tagName&&(e(o[a].parentNode).css("list-style-type",r),0===(e(o[a].parentNode).attr("style")||"").length&&e(o[a].parentNode).removeAttr("style"))}},refresh:function(n,r){var i=e(t.selection.element());if(i.get(0)!=t.el){var a=i.get(0);(a="LI"!=a.tagName&&a.firstElementChild&&"LI"!=a.firstElementChild.tagName?i.parents("li").get(0):"LI"==a.tagName||a.firstElementChild?a.firstElementChild&&"LI"==a.firstElementChild.tagName?i.get(0).firstChild:i.get(0):i.parents("li").get(0))&&a.parentNode.tagName==r&&t.el.contains(a.parentNode)&&n.addClass("fr-active")}}}},e.FE.RegisterCommand("formatUL",{title:"Unordered List",type:"button",hasOptions:function(){return this.opts.listAdvancedTypes},options:{default:"Default",circle:"Circle",disc:"Disc",square:"Square"},refresh:function(e){this.lists.refresh(e,"UL")},callback:function(e,t){this.lists.format("UL",t)},plugin:"lists"}),e.FE.RegisterCommand("formatOL",{title:"Ordered List",hasOptions:function(){return this.opts.listAdvancedTypes},options:{default:"Default","lower-alpha":"Lower Alpha","lower-greek":"Lower Greek","lower-roman":"Lower Roman","upper-alpha":"Upper Alpha","upper-roman":"Upper Roman"},refresh:function(e){this.lists.refresh(e,"OL")},callback:function(e,t){this.lists.format("OL",t)},plugin:"lists"}),e.FE.DefineIcon("formatUL",{NAME:"list-ul"}),e.FE.DefineIcon("formatOL",{NAME:"list-ol"}),e.extend(e.FE.DEFAULTS,{paragraphFormat:{N:"Normal",H1:"Heading 1",H2:"Heading 2",H3:"Heading 3",H4:"Heading 4",PRE:"Code"},paragraphFormatSelection:!1,paragraphDefaultSelection:"Paragraph Format"}),e.FE.PLUGINS.paragraphFormat=function(t){function n(n,r){var i=t.html.defaultTag();if(r&&r.toLowerCase()!=i)if(0<n.find("ul, ol").length){var a=e("<"+r+">");n.prepend(a);for(var o=t.node.contents(n.get(0))[0];o&&["UL","OL"].indexOf(o.tagName)<0;){var s=o.nextSibling;a.append(o),o=s}}else n.html("<"+r+">"+n.html()+"</"+r+">")}return{apply:function(r){"N"==r&&(r=t.html.defaultTag()),t.selection.save(),t.html.wrap(!0,!0,!t.opts.paragraphFormat.BLOCKQUOTE,!0,!0),t.selection.restore();var i,a,o,s,l,d,c,f,p=t.selection.blocks();t.selection.save(),t.$el.find("pre").attr("skip",!0);for(var u=0;u<p.length;u++)if(p[u].tagName!=r&&!t.node.isList(p[u])){var h=e(p[u]);"LI"==p[u].tagName?n(h,r):"LI"==p[u].parentNode.tagName&&p[u]?(d=h,c=r,f=t.html.defaultTag(),c&&c.toLowerCase()!=f||(c='div class="fr-temp-div"'),d.replaceWith(e("<"+c+">").html(d.html()))):0<=["TD","TH"].indexOf(p[u].parentNode.tagName)?(o=h,s=r,l=t.html.defaultTag(),s||(s='div class="fr-temp-div"'+(t.node.isEmpty(o.get(0),!0)?' data-empty="true"':"")),s.toLowerCase()==l?(t.node.isEmpty(o.get(0),!0)||o.append("<br/>"),o.replaceWith(o.html())):o.replaceWith(e("<"+s+">").html(o.html()))):(i=h,(a=r)||(a='div class="fr-temp-div"'+(t.node.isEmpty(i.get(0),!0)?' data-empty="true"':"")),i.replaceWith(e("<"+a+" "+t.node.attributes(i.get(0))+">").html(i.html()).removeAttr("data-empty")))}t.$el.find('pre:not([skip="true"]) + pre:not([skip="true"])').each(function(){e(this).prev().append("<br>"+e(this).html()),e(this).remove()}),t.$el.find("pre").removeAttr("skip"),t.html.unwrap(),t.selection.restore()},refreshOnShow:function(e,n){var r=t.selection.blocks();if(r.length){var i=r[0],a="N",o=t.html.defaultTag();i.tagName.toLowerCase()!=o&&i!=t.el&&(a=i.tagName),n.find('.fr-command[data-param1="'+a+'"]').addClass("fr-active").attr("aria-selected",!0)}else n.find('.fr-command[data-param1="N"]').addClass("fr-active").attr("aria-selected",!0)},refresh:function(e){if(t.opts.paragraphFormatSelection){var n=t.selection.blocks();if(n.length){var r=n[0],i="N",a=t.html.defaultTag();r.tagName.toLowerCase()!=a&&r!=t.el&&(i=r.tagName),0<=["LI","TD","TH"].indexOf(i)&&(i="N"),e.find("> span").text(t.language.translate(t.opts.paragraphFormat[i]))}else e.find("> span").text(t.language.translate(t.opts.paragraphFormat.N))}}}},e.FE.RegisterCommand("paragraphFormat",{type:"dropdown",displaySelection:function(e){return e.opts.paragraphFormatSelection},defaultSelection:function(e){return e.language.translate(e.opts.paragraphDefaultSelection)},displaySelectionWidth:125,html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.paragraphFormat;for(var n in t)if(t.hasOwnProperty(n)){var r=this.shortcuts.get("paragraphFormat."+n);r=r?'<span class="fr-shortcut">'+r+"</span>":"",e+='<li role="presentation"><'+("N"==n?this.html.defaultTag()||"DIV":n)+' style="padding: 0 !important; margin: 0 !important;" role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="paragraphFormat" data-param1="'+n+'" title="'+this.language.translate(t[n])+'">'+this.language.translate(t[n])+"</a></"+("N"==n?this.html.defaultTag()||"DIV":n)+"></li>"}return e+"</ul>"},title:"Paragraph Format",callback:function(e,t){this.paragraphFormat.apply(t)},refresh:function(e){this.paragraphFormat.refresh(e)},refreshOnShow:function(e,t){this.paragraphFormat.refreshOnShow(e,t)},plugin:"paragraphFormat"}),e.FE.DefineIcon("paragraphFormat",{NAME:"paragraph"}),e.extend(e.FE.DEFAULTS,{paragraphStyles:{"fr-text-gray":"Gray","fr-text-bordered":"Bordered","fr-text-spaced":"Spaced","fr-text-uppercase":"Uppercase"},paragraphMultipleStyles:!0}),e.FE.PLUGINS.paragraphStyle=function(t){return{_init:function(){},apply:function(n,r,i){void 0===r&&(r=t.opts.paragraphStyles),void 0===i&&(i=t.opts.paragraphMultipleStyles);var a="";i||((a=Object.keys(r)).splice(a.indexOf(n),1),a=a.join(" ")),t.selection.save(),t.html.wrap(!0,!0,!0,!0),t.selection.restore();var o=t.selection.blocks();t.selection.save();for(var s=e(o[0]).hasClass(n),l=0;l<o.length;l++)e(o[l]).removeClass(a).toggleClass(n,!s),e(o[l]).hasClass("fr-temp-div")&&e(o[l]).removeClass("fr-temp-div"),""===e(o[l]).attr("class")&&e(o[l]).removeAttr("class");t.html.unwrap(),t.selection.restore()},refreshOnShow:function(n,r){var i=t.selection.blocks();if(i.length){var a=e(i[0]);r.find(".fr-command").each(function(){var t=e(this).data("param1"),n=a.hasClass(t);e(this).toggleClass("fr-active",n).attr("aria-selected",n)})}}}},e.FE.RegisterCommand("paragraphStyle",{type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.paragraphStyles;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role="presentation"><a class="fr-command '+n+'" tabIndex="-1" role="option" data-cmd="paragraphStyle" data-param1="'+n+'" title="'+this.language.translate(t[n])+'">'+this.language.translate(t[n])+"</a></li>");return e+"</ul>"},title:"Paragraph Style",callback:function(e,t){this.paragraphStyle.apply(t)},refreshOnShow:function(e,t){this.paragraphStyle.refreshOnShow(e,t)},plugin:"paragraphStyle"}),e.FE.DefineIcon("paragraphStyle",{NAME:"magic"}),e.extend(e.FE.DEFAULTS,{html2pdf:window.html2pdf}),e.FE.PLUGINS.print=function(e){return{run:function(){!function(t){var n=e.$el.html(),r=null;e.shared.print_iframe?r=e.shared.print_iframe:((r=document.createElement("iframe")).name="fr-print",r.style.position="fixed",r.style.top="0",r.style.left="-9999px",r.style.height="100%",r.style.width="0",r.style.overflow="hidden",r.style["z-index"]="2147483647",r.style.tabIndex="-1",e.events.on("shared.destroy",function(){r.remove()}),e.shared.print_iframe=r);try{document.body.removeChild(r)}catch(e){}document.body.appendChild(r);var i=function(){setTimeout(function(){e.events.disableBlur(),window.frames["fr-print"].focus(),window.frames["fr-print"].print(),e.$win.get(0).focus(),e.events.disableBlur(),e.events.focus()},0),r.removeEventListener("load",i)};r.addEventListener("load",i);var a=r.contentWindow;a.document.open(),a.document.write("<!DOCTYPE html><html "+(e.opts.documentReady?'style="margin: 0; padding: 0;"':"")+"><head><title>"+document.title+"</title>"),Array.prototype.forEach.call(document.querySelectorAll("style"),function(e){e=e.cloneNode(!0),a.document.write(e.outerHTML)});var o=document.querySelectorAll("link[rel=stylesheet]");Array.prototype.forEach.call(o,function(e){var t=document.createElement("link");t.rel=e.rel,t.href=e.href,t.media="print",t.type="text/css",t.media="all",a.document.write(t.outerHTML)}),a.document.write('</head><body style="text-align: '+("rtl"==e.opts.direction?"right":"left")+"; direction: "+e.opts.direction+"; "+(e.opts.documentReady?" padding: 2cm; width: 17cm; margin: 0;":"")+'"><div class="fr-view">'),a.document.write(n),a.document.write("</div></body></html>"),a.document.close()}()},toPDF:function(){e.opts.html2pdf&&(e.$el.css("text-align","left"),e.opts.html2pdf().set({margin:[10,20],html2canvas:{useCORS:!0}}).from(e.el).save(),setTimeout(function(){e.$el.css("text-align","")},100))}}},e.FE.DefineIcon("print",{NAME:"print"}),e.FE.RegisterCommand("print",{title:"Print",undo:!1,focus:!1,plugin:"print",callback:function(){this.print.run()}}),e.FE.DefineIcon("getPDF",{NAME:"file-pdf-o",FA5NAME:"file-pdf"}),e.FE.RegisterCommand("getPDF",{title:"Download PDF",type:"button",focus:!1,undo:!1,callback:function(){this.print.toPDF()}}),e.extend(e.FE.DEFAULTS,{quickInsertButtons:["image","video","embedly","table","ul","ol","hr"],quickInsertTags:["p","div","h1","h2","h3","h4","h5","h6","pre","blockquote"],quickInsertEnabled:!0}),e.FE.QUICK_INSERT_BUTTONS={},e.FE.DefineIcon("quickInsert",{PATH:'<path d="M22,16.75 L16.75,16.75 L16.75,22 L15.25,22.000 L15.25,16.75 L10,16.75 L10,15.25 L15.25,15.25 L15.25,10 L16.75,10 L16.75,15.25 L22,15.25 L22,16.75 Z"/>',template:"svg"}),e.FE.RegisterQuickInsertButton=function(t,n){e.FE.QUICK_INSERT_BUTTONS[t]=e.extend({undo:!0},n)},e.FE.RegisterQuickInsertButton("image",{icon:"insertImage",requiredPlugin:"image",title:"Insert Image",undo:!1,callback:function(){var t=this;t.shared.$qi_image_input||(t.shared.$qi_image_input=e('<input accept="image/*" name="quickInsertImage'+this.id+'" style="display: none;" type="file">'),e("body:first").append(t.shared.$qi_image_input),t.events.$on(t.shared.$qi_image_input,"change",function(){var t=e(this).data("inst");this.files&&(t.quickInsert.hide(),t.image.upload(this.files)),e(this).val("")},!0)),t.$qi_image_input=t.shared.$qi_image_input,t.helpers.isMobile()&&t.selection.save(),t.events.disableBlur(),t.$qi_image_input.data("inst",t).trigger("click")}}),e.FE.RegisterQuickInsertButton("video",{icon:"insertVideo",requiredPlugin:"video",title:"Insert Video",undo:!1,callback:function(){var e=prompt(this.language.translate("Paste the URL of the video you want to insert."));e&&this.video.insertByURL(e)}}),e.FE.RegisterQuickInsertButton("embedly",{icon:"embedly",requiredPlugin:"embedly",title:"Embed URL",undo:!1,callback:function(){var e=prompt(this.language.translate("Paste the URL of any web content you want to insert."));e&&this.embedly.add(e)}}),e.FE.RegisterQuickInsertButton("table",{icon:"insertTable",requiredPlugin:"table",title:"Insert Table",callback:function(){this.table.insert(2,2)}}),e.FE.RegisterQuickInsertButton("ol",{icon:"formatOL",requiredPlugin:"lists",title:"Ordered List",callback:function(){this.lists.format("OL")}}),e.FE.RegisterQuickInsertButton("ul",{icon:"formatUL",requiredPlugin:"lists",title:"Unordered List",callback:function(){this.lists.format("UL")}}),e.FE.RegisterQuickInsertButton("hr",{icon:"insertHR",title:"Insert Horizontal Line",callback:function(){this.commands.insertHR()}}),e.FE.PLUGINS.quickInsert=function(t){var n,r;function i(i){var a,o,s;a=i.offset().top-t.$box.offset().top,o=0-n.outerWidth(),t.opts.enter!=e.FE.ENTER_BR?s=(n.outerHeight()-i.outerHeight())/2:(e("<span>"+e.FE.INVISIBLE_SPACE+"</span>").insertAfter(i),s=(n.outerHeight()-i.next().outerHeight())/2,i.next().remove()),t.opts.iframe&&(a+=t.$iframe.offset().top-t.helpers.scrollTop()),n.hasClass("fr-on")&&0<=a&&r.css("top",a-s),0<=a&&a-s<=t.$box.outerHeight()-i.outerHeight()?(n.hasClass("fr-hidden")&&(n.hasClass("fr-on")&&l(),n.removeClass("fr-hidden")),n.css("top",a-s)):n.hasClass("fr-visible")&&(n.addClass("fr-hidden"),d()),n.css("left",o)}function a(a){n||(t.shared.$quick_insert||(t.shared.$quick_insert=e('<div class="fr-quick-insert"><a class="fr-floating-btn" role="button" tabIndex="-1" title="'+t.language.translate("Quick Insert")+'">'+t.icon.create("quickInsert")+"</a></div>")),n=t.shared.$quick_insert,t.tooltip.bind(t.$box,".fr-quick-insert > a.fr-floating-btn"),t.events.on("destroy",function(){n.removeClass("fr-on").appendTo(e("body:first")).css("left",-9999).css("top",-9999),r&&(d(),r.appendTo(e("body:first")))},!0),t.events.on("shared.destroy",function(){n.html("").removeData().remove(),n=null,r&&(r.html("").removeData().remove(),r=null)},!0),t.events.on("commands.before",s),t.events.on("commands.after",function(){t.popups.areVisible()||o()}),t.events.bindClick(t.$box,".fr-quick-insert > a",l),t.events.bindClick(t.$box,".fr-qi-helper > a.fr-btn",function(n){var r=e(n.currentTarget).data("cmd");if(!1===t.events.trigger("quickInsert.commands.before",[r]))return!1;e.FE.QUICK_INSERT_BUTTONS[r].callback.apply(t,[n.currentTarget]),e.FE.QUICK_INSERT_BUTTONS[r].undo&&t.undo.saveStep(),t.events.trigger("quickInsert.commands.after",[r]),t.quickInsert.hide()}),t.events.$on(t.$wp,"scroll",function(){n.hasClass("fr-visible")&&i(n.data("tag"))})),n.hasClass("fr-on")&&d(),t.$box.append(n),i(a),n.data("tag",a),n.addClass("fr-visible")}function o(){if(t.core.hasFocus()){var r=t.selection.element();if(t.opts.enter==e.FE.ENTER_BR||t.node.isBlock(r)||(r=t.node.blockParent(r)),t.opts.enter==e.FE.ENTER_BR&&!t.node.isBlock(r)){var i=t.node.deepestParent(r);i&&(r=i)}r&&(t.opts.enter!=e.FE.ENTER_BR&&t.node.isEmpty(r)&&0<=t.opts.quickInsertTags.indexOf(r.tagName.toLowerCase())||t.opts.enter==e.FE.ENTER_BR&&("BR"==r.tagName&&(!r.previousSibling||"BR"==r.previousSibling.tagName||t.node.isBlock(r.previousSibling))||t.node.isEmpty(r)&&(!r.previousSibling||"BR"==r.previousSibling.tagName||t.node.isBlock(r.previousSibling))&&(!r.nextSibling||"BR"==r.nextSibling.tagName||t.node.isBlock(r.nextSibling))))?n&&n.data("tag").is(e(r))&&n.hasClass("fr-on")?d():t.selection.isCollapsed()&&a(e(r)):s()}}function s(){n&&(n.hasClass("fr-on")&&d(),n.removeClass("fr-visible fr-on"),n.css("left",-9999).css("top",-9999))}function l(i){if(i&&i.preventDefault(),n.hasClass("fr-on")&&!n.hasClass("fr-hidden"))d();else{if(!t.shared.$qi_helper){for(var a=t.opts.quickInsertButtons,o='<div class="fr-qi-helper">',s=0,l=0;l<a.length;l++){var c=e.FE.QUICK_INSERT_BUTTONS[a[l]];c&&(!c.requiredPlugin||e.FE.PLUGINS[c.requiredPlugin]&&0<=t.opts.pluginsEnabled.indexOf(c.requiredPlugin))&&(o+='<a class="fr-btn fr-floating-btn" role="button" title="'+t.language.translate(c.title)+'" tabIndex="-1" data-cmd="'+a[l]+'" style="transition-delay: '+.025*s+++'s;">'+t.icon.create(c.icon)+"</a>")}o+="</div>",t.shared.$qi_helper=e(o),t.tooltip.bind(t.shared.$qi_helper,"> a.fr-btn"),t.events.$on(t.shared.$qi_helper,"mousedown",function(e){e.preventDefault()},!0)}(r=t.shared.$qi_helper).appendTo(t.$box),setTimeout(function(){r.css("top",parseFloat(n.css("top"))),r.css("left",parseFloat(n.css("left"))+n.outerWidth()),r.find("a").addClass("fr-size-1"),n.addClass("fr-on")},10)}}function d(){var e=t.$box.find(".fr-qi-helper");e.length&&(e.find("a").removeClass("fr-size-1"),e.css("left",-9999),n.hasClass("fr-hidden")||n.removeClass("fr-on"))}return{_init:function(){if(!t.$wp||!t.opts.quickInsertEnabled)return!1;t.popups.onShow("image.edit",s),t.events.on("mouseup",o),t.helpers.isMobile()&&t.events.$on(e(t.o_doc),"selectionchange",o),t.events.on("blur",s),t.events.on("keyup",o),t.events.on("keydown",function(){setTimeout(function(){o()},0)})},hide:s}},e.FE.PLUGINS.quote=function(t){function n(e){for(;e.parentNode&&e.parentNode!=t.el;)e=e.parentNode;return e}return{apply:function(r){t.selection.save(),t.html.wrap(!0,!0,!0,!0),t.selection.restore(),"increase"==r?function(){var r,i=t.selection.blocks();for(r=0;r<i.length;r++)i[r]=n(i[r]);t.selection.save();var a=e("<blockquote>");for(a.insertBefore(i[0]),r=0;r<i.length;r++)a.append(i[r]);t.html.unwrap(),t.selection.restore()}():"decrease"==r&&function(){var n,r=t.selection.blocks();for(n=0;n<r.length;n++)"BLOCKQUOTE"!=r[n].tagName&&(r[n]=e(r[n]).parentsUntil(t.$el,"BLOCKQUOTE").get(0));for(t.selection.save(),n=0;n<r.length;n++)r[n]&&e(r[n]).replaceWith(r[n].innerHTML);t.html.unwrap(),t.selection.restore()}()}}},e.FE.RegisterShortcut(e.FE.KEYCODE.SINGLE_QUOTE,"quote","increase","'"),e.FE.RegisterShortcut(e.FE.KEYCODE.SINGLE_QUOTE,"quote","decrease","'",!0),e.FE.RegisterCommand("quote",{title:"Quote",type:"dropdown",html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t={increase:"Increase",decrease:"Decrease"};for(var n in t)if(t.hasOwnProperty(n)){var r=this.shortcuts.get("quote."+n);e+='<li role="presentation"><a class="fr-command fr-title fr-active '+n+'" tabIndex="-1" role="option" data-cmd="quote" data-param1="'+n+'" title="'+t[n]+" ("+r+')">'+this.language.translate(t[n])+"</a></li>"}return e+"</ul>"},callback:function(e,t){this.quote.apply(t)},plugin:"quote"}),e.FE.DefineIcon("quote",{NAME:"quote-left"}),e.extend(e.FE.DEFAULTS,{saveInterval:1e4,saveURL:null,saveParams:{},saveParam:"body",saveMethod:"POST"}),e.FE.PLUGINS.save=function(t){var n=null,r=null,i=!1,a=1,o=2,s={};function l(e,n){t.events.trigger("save.error",[{code:e,message:s[e]},n])}function d(n){void 0===n&&(n=t.html.get());var i=n,s=t.events.trigger("save.before",[n]);if(!1===s)return!1;if("string"==typeof s&&(n=s),t.opts.saveURL){var d={};for(var c in t.opts.saveParams)if(t.opts.saveParams.hasOwnProperty(c)){var f=t.opts.saveParams[c];d[c]="function"==typeof f?f.call(this):f}var p={};p[t.opts.saveParam]=n,e.ajax({type:t.opts.saveMethod,url:t.opts.saveURL,data:e.extend(p,d),crossDomain:t.opts.requestWithCORS,xhrFields:{withCredentials:t.opts.requestWithCredentials},headers:t.opts.requestHeaders}).done(function(e){r=i,t.events.trigger("save.after",[e])}).fail(function(e){l(o,e.response||e.responseText)})}else l(a)}function c(){clearTimeout(n),n=setTimeout(function(){var e=t.html.get();(r!=e||i)&&(i=!1,d(r=e))},t.opts.saveInterval)}return s[a]="Missing saveURL option.",s[o]="Something went wrong during save.",{_init:function(){t.opts.saveInterval&&(r=t.html.get(),t.events.on("contentChanged",c),t.events.on("keydown destroy",function(){clearTimeout(n)}))},save:d,reset:function(){c(),i=!1},force:function(){i=!0}}},e.FE.DefineIcon("save",{NAME:"floppy-o",FA5NAME:"save"}),e.FE.RegisterCommand("save",{title:"Save",undo:!1,focus:!1,refreshAfterCallback:!1,callback:function(){this.save.save()},plugin:"save"}),e.extend(e.FE.DEFAULTS,{specialCharactersSets:[{title:"Latin",list:[{char:"&iexcl;",desc:"INVERTED EXCLAMATION MARK"},{char:"&cent;",desc:"CENT SIGN"},{char:"&pound;",desc:"POUND SIGN"},{char:"&curren;",desc:"CURRENCY SIGN"},{char:"&yen;",desc:"YEN SIGN"},{char:"&brvbar;",desc:"BROKEN BAR"},{char:"&sect;",desc:"SECTION SIGN"},{char:"&uml;",desc:"DIAERESIS"},{char:"&copy;",desc:"COPYRIGHT SIGN"},{char:"&trade;",desc:"TRADEMARK SIGN"},{char:"&ordf;",desc:"FEMININE ORDINAL INDICATOR"},{char:"&laquo;",desc:"LEFT-POINTING DOUBLE ANGLE QUOTATION MARK"},{char:"&not;",desc:"NOT SIGN"},{char:"&reg;",desc:"REGISTERED SIGN"},{char:"&macr;",desc:"MACRON"},{char:"&deg;",desc:"DEGREE SIGN"},{char:"&plusmn;",desc:"PLUS-MINUS SIGN"},{char:"&sup2;",desc:"SUPERSCRIPT TWO"},{char:"&sup3;",desc:"SUPERSCRIPT THREE"},{char:"&acute;",desc:"ACUTE ACCENT"},{char:"&micro;",desc:"MICRO SIGN"},{char:"&para;",desc:"PILCROW SIGN"},{char:"&middot;",desc:"MIDDLE DOT"},{char:"&cedil;",desc:"CEDILLA"},{char:"&sup1;",desc:"SUPERSCRIPT ONE"},{char:"&ordm;",desc:"MASCULINE ORDINAL INDICATOR"},{char:"&raquo;",desc:"RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK"},{char:"&frac14;",desc:"VULGAR FRACTION ONE QUARTER"},{char:"&frac12;",desc:"VULGAR FRACTION ONE HALF"},{char:"&frac34;",desc:"VULGAR FRACTION THREE QUARTERS"},{char:"&iquest;",desc:"INVERTED QUESTION MARK"},{char:"&Agrave;",desc:"LATIN CAPITAL LETTER A WITH GRAVE"},{char:"&Aacute;",desc:"LATIN CAPITAL LETTER A WITH ACUTE"},{char:"&Acirc;",desc:"LATIN CAPITAL LETTER A WITH CIRCUMFLEX"},{char:"&Atilde;",desc:"LATIN CAPITAL LETTER A WITH TILDE"},{char:"&Auml;",desc:"LATIN CAPITAL LETTER A WITH DIAERESIS "},{char:"&Aring;",desc:"LATIN CAPITAL LETTER A WITH RING ABOVE"},{char:"&AElig;",desc:"LATIN CAPITAL LETTER AE"},{char:"&Ccedil;",desc:"LATIN CAPITAL LETTER C WITH CEDILLA"},{char:"&Egrave;",desc:"LATIN CAPITAL LETTER E WITH GRAVE"},{char:"&Eacute;",desc:"LATIN CAPITAL LETTER E WITH ACUTE"},{char:"&Ecirc;",desc:"LATIN CAPITAL LETTER E WITH CIRCUMFLEX"},{char:"&Euml;",desc:"LATIN CAPITAL LETTER E WITH DIAERESIS"},{char:"&Igrave;",desc:"LATIN CAPITAL LETTER I WITH GRAVE"},{char:"&Iacute;",desc:"LATIN CAPITAL LETTER I WITH ACUTE"},{char:"&Icirc;",desc:"LATIN CAPITAL LETTER I WITH CIRCUMFLEX"},{char:"&Iuml;",desc:"LATIN CAPITAL LETTER I WITH DIAERESIS"},{char:"&ETH;",desc:"LATIN CAPITAL LETTER ETH"},{char:"&Ntilde;",desc:"LATIN CAPITAL LETTER N WITH TILDE"},{char:"&Ograve;",desc:"LATIN CAPITAL LETTER O WITH GRAVE"},{char:"&Oacute;",desc:"LATIN CAPITAL LETTER O WITH ACUTE"},{char:"&Ocirc;",desc:"LATIN CAPITAL LETTER O WITH CIRCUMFLEX"},{char:"&Otilde;",desc:"LATIN CAPITAL LETTER O WITH TILDE"},{char:"&Ouml;",desc:"LATIN CAPITAL LETTER O WITH DIAERESIS"},{char:"&times;",desc:"MULTIPLICATION SIGN"},{char:"&Oslash;",desc:"LATIN CAPITAL LETTER O WITH STROKE"},{char:"&Ugrave;",desc:"LATIN CAPITAL LETTER U WITH GRAVE"},{char:"&Uacute;",desc:"LATIN CAPITAL LETTER U WITH ACUTE"},{char:"&Ucirc;",desc:"LATIN CAPITAL LETTER U WITH CIRCUMFLEX"},{char:"&Uuml;",desc:"LATIN CAPITAL LETTER U WITH DIAERESIS"},{char:"&Yacute;",desc:"LATIN CAPITAL LETTER Y WITH ACUTE"},{char:"&THORN;",desc:"LATIN CAPITAL LETTER THORN"},{char:"&szlig;",desc:"LATIN SMALL LETTER SHARP S"},{char:"&agrave;",desc:"LATIN SMALL LETTER A WITH GRAVE"},{char:"&aacute;",desc:"LATIN SMALL LETTER A WITH ACUTE "},{char:"&acirc;",desc:"LATIN SMALL LETTER A WITH CIRCUMFLEX"},{char:"&atilde;",desc:"LATIN SMALL LETTER A WITH TILDE"},{char:"&auml;",desc:"LATIN SMALL LETTER A WITH DIAERESIS"},{char:"&aring;",desc:"LATIN SMALL LETTER A WITH RING ABOVE"},{char:"&aelig;",desc:"LATIN SMALL LETTER AE"},{char:"&ccedil;",desc:"LATIN SMALL LETTER C WITH CEDILLA"},{char:"&egrave;",desc:"LATIN SMALL LETTER E WITH GRAVE"},{char:"&eacute;",desc:"LATIN SMALL LETTER E WITH ACUTE"},{char:"&ecirc;",desc:"LATIN SMALL LETTER E WITH CIRCUMFLEX"},{char:"&euml;",desc:"LATIN SMALL LETTER E WITH DIAERESIS"},{char:"&igrave;",desc:"LATIN SMALL LETTER I WITH GRAVE"},{char:"&iacute;",desc:"LATIN SMALL LETTER I WITH ACUTE"},{char:"&icirc;",desc:"LATIN SMALL LETTER I WITH CIRCUMFLEX"},{char:"&iuml;",desc:"LATIN SMALL LETTER I WITH DIAERESIS"},{char:"&eth;",desc:"LATIN SMALL LETTER ETH"},{char:"&ntilde;",desc:"LATIN SMALL LETTER N WITH TILDE"},{char:"&ograve;",desc:"LATIN SMALL LETTER O WITH GRAVE"},{char:"&oacute;",desc:"LATIN SMALL LETTER O WITH ACUTE"},{char:"&ocirc;",desc:"LATIN SMALL LETTER O WITH CIRCUMFLEX"},{char:"&otilde;",desc:"LATIN SMALL LETTER O WITH TILDE"},{char:"&ouml;",desc:"LATIN SMALL LETTER O WITH DIAERESIS"},{char:"&divide;",desc:"DIVISION SIGN"},{char:"&oslash;",desc:"LATIN SMALL LETTER O WITH STROKE"},{char:"&ugrave;",desc:"LATIN SMALL LETTER U WITH GRAVE"},{char:"&uacute;",desc:"LATIN SMALL LETTER U WITH ACUTE"},{char:"&ucirc;",desc:"LATIN SMALL LETTER U WITH CIRCUMFLEX"},{char:"&uuml;",desc:"LATIN SMALL LETTER U WITH DIAERESIS"},{char:"&yacute;",desc:"LATIN SMALL LETTER Y WITH ACUTE"},{char:"&thorn;",desc:"LATIN SMALL LETTER THORN"},{char:"&yuml;",desc:"LATIN SMALL LETTER Y WITH DIAERESIS"}]},{title:"Greek",list:[{char:"&Alpha;",desc:"GREEK CAPITAL LETTER ALPHA"},{char:"&Beta;",desc:"GREEK CAPITAL LETTER BETA"},{char:"&Gamma;",desc:"GREEK CAPITAL LETTER GAMMA"},{char:"&Delta;",desc:"GREEK CAPITAL LETTER DELTA"},{char:"&Epsilon;",desc:"GREEK CAPITAL LETTER EPSILON"},{char:"&Zeta;",desc:"GREEK CAPITAL LETTER ZETA"},{char:"&Eta;",desc:"GREEK CAPITAL LETTER ETA"},{char:"&Theta;",desc:"GREEK CAPITAL LETTER THETA"},{char:"&Iota;",desc:"GREEK CAPITAL LETTER IOTA"},{char:"&Kappa;",desc:"GREEK CAPITAL LETTER KAPPA"},{char:"&Lambda;",desc:"GREEK CAPITAL LETTER LAMBDA"},{char:"&Mu;",desc:"GREEK CAPITAL LETTER MU"},{char:"&Nu;",desc:"GREEK CAPITAL LETTER NU"},{char:"&Xi;",desc:"GREEK CAPITAL LETTER XI"},{char:"&Omicron;",desc:"GREEK CAPITAL LETTER OMICRON"},{char:"&Pi;",desc:"GREEK CAPITAL LETTER PI"},{char:"&Rho;",desc:"GREEK CAPITAL LETTER RHO"},{char:"&Sigma;",desc:"GREEK CAPITAL LETTER SIGMA"},{char:"&Tau;",desc:"GREEK CAPITAL LETTER TAU"},{char:"&Upsilon;",desc:"GREEK CAPITAL LETTER UPSILON"},{char:"&Phi;",desc:"GREEK CAPITAL LETTER PHI"},{char:"&Chi;",desc:"GREEK CAPITAL LETTER CHI"},{char:"&Psi;",desc:"GREEK CAPITAL LETTER PSI"},{char:"&Omega;",desc:"GREEK CAPITAL LETTER OMEGA"},{char:"&alpha;",desc:"GREEK SMALL LETTER ALPHA"},{char:"&beta;",desc:"GREEK SMALL LETTER BETA"},{char:"&gamma;",desc:"GREEK SMALL LETTER GAMMA"},{char:"&delta;",desc:"GREEK SMALL LETTER DELTA"},{char:"&epsilon;",desc:"GREEK SMALL LETTER EPSILON"},{char:"&zeta;",desc:"GREEK SMALL LETTER ZETA"},{char:"&eta;",desc:"GREEK SMALL LETTER ETA"},{char:"&theta;",desc:"GREEK SMALL LETTER THETA"},{char:"&iota;",desc:"GREEK SMALL LETTER IOTA"},{char:"&kappa;",desc:"GREEK SMALL LETTER KAPPA"},{char:"&lambda;",desc:"GREEK SMALL LETTER LAMBDA"},{char:"&mu;",desc:"GREEK SMALL LETTER MU"},{char:"&nu;",desc:"GREEK SMALL LETTER NU"},{char:"&xi;",desc:"GREEK SMALL LETTER XI"},{char:"&omicron;",desc:"GREEK SMALL LETTER OMICRON"},{char:"&pi;",desc:"GREEK SMALL LETTER PI"},{char:"&rho;",desc:"GREEK SMALL LETTER RHO"},{char:"&sigmaf;",desc:"GREEK SMALL LETTER FINAL SIGMA"},{char:"&sigma;",desc:"GREEK SMALL LETTER SIGMA"},{char:"&tau;",desc:"GREEK SMALL LETTER TAU"},{char:"&upsilon;",desc:"GREEK SMALL LETTER UPSILON"},{char:"&phi;",desc:"GREEK SMALL LETTER PHI"},{char:"&chi;",desc:"GREEK SMALL LETTER CHI"},{char:"&psi;",desc:"GREEK SMALL LETTER PSI"},{char:"&omega;",desc:"GREEK SMALL LETTER OMEGA"},{char:"&thetasym;",desc:"GREEK THETA SYMBOL"},{char:"&upsih;",desc:"GREEK UPSILON WITH HOOK SYMBOL"},{char:"&straightphi;",desc:"GREEK PHI SYMBOL"},{char:"&piv;",desc:"GREEK PI SYMBOL"},{char:"&Gammad;",desc:"GREEK LETTER DIGAMMA"},{char:"&gammad;",desc:"GREEK SMALL LETTER DIGAMMA"},{char:"&varkappa;",desc:"GREEK KAPPA SYMBOL"},{char:"&varrho;",desc:"GREEK RHO SYMBOL"},{char:"&straightepsilon;",desc:"GREEK LUNATE EPSILON SYMBOL"},{char:"&backepsilon;",desc:"GREEK REVERSED LUNATE EPSILON SYMBOL"}]},{title:"Cyrillic",list:[{char:"&#x400",desc:"CYRILLIC CAPITAL LETTER IE WITH GRAVE"},{char:"&#x401",desc:"CYRILLIC CAPITAL LETTER IO"},{char:"&#x402",desc:"CYRILLIC CAPITAL LETTER DJE"},{char:"&#x403",desc:"CYRILLIC CAPITAL LETTER GJE"},{char:"&#x404",desc:"CYRILLIC CAPITAL LETTER UKRAINIAN IE"},{char:"&#x405",desc:"CYRILLIC CAPITAL LETTER DZE"},{char:"&#x406",desc:"CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I"},{char:"&#x407",desc:"CYRILLIC CAPITAL LETTER YI"},{char:"&#x408",desc:"CYRILLIC CAPITAL LETTER JE"},{char:"&#x409",desc:"CYRILLIC CAPITAL LETTER LJE"},{char:"&#x40A",desc:"CYRILLIC CAPITAL LETTER NJE"},{char:"&#x40B",desc:"CYRILLIC CAPITAL LETTER TSHE"},{char:"&#x40C",desc:"CYRILLIC CAPITAL LETTER KJE"},{char:"&#x40D",desc:"CYRILLIC CAPITAL LETTER I WITH GRAVE"},{char:"&#x40E",desc:"CYRILLIC CAPITAL LETTER SHORT U"},{char:"&#x40F",desc:"CYRILLIC CAPITAL LETTER DZHE"},{char:"&#x410",desc:"CYRILLIC CAPITAL LETTER A"},{char:"&#x411",desc:"CYRILLIC CAPITAL LETTER BE"},{char:"&#x412",desc:"CYRILLIC CAPITAL LETTER VE"},{char:"&#x413",desc:"CYRILLIC CAPITAL LETTER GHE"},{char:"&#x414",desc:"CYRILLIC CAPITAL LETTER DE"},{char:"&#x415",desc:"CYRILLIC CAPITAL LETTER IE"},{char:"&#x416",desc:"CYRILLIC CAPITAL LETTER ZHE"},{char:"&#x417",desc:"CYRILLIC CAPITAL LETTER ZE"},{char:"&#x418",desc:"CYRILLIC CAPITAL LETTER I"},{char:"&#x419",desc:"CYRILLIC CAPITAL LETTER SHORT I"},{char:"&#x41A",desc:"CYRILLIC CAPITAL LETTER KA"},{char:"&#x41B",desc:"CYRILLIC CAPITAL LETTER EL"},{char:"&#x41C",desc:"CYRILLIC CAPITAL LETTER EM"},{char:"&#x41D",desc:"CYRILLIC CAPITAL LETTER EN"},{char:"&#x41E",desc:"CYRILLIC CAPITAL LETTER O"},{char:"&#x41F",desc:"CYRILLIC CAPITAL LETTER PE"},{char:"&#x420",desc:"CYRILLIC CAPITAL LETTER ER"},{char:"&#x421",desc:"CYRILLIC CAPITAL LETTER ES"},{char:"&#x422",desc:"CYRILLIC CAPITAL LETTER TE"},{char:"&#x423",desc:"CYRILLIC CAPITAL LETTER U"},{char:"&#x424",desc:"CYRILLIC CAPITAL LETTER EF"},{char:"&#x425",desc:"CYRILLIC CAPITAL LETTER HA"},{char:"&#x426",desc:"CYRILLIC CAPITAL LETTER TSE"},{char:"&#x427",desc:"CYRILLIC CAPITAL LETTER CHE"},{char:"&#x428",desc:"CYRILLIC CAPITAL LETTER SHA"},{char:"&#x429",desc:"CYRILLIC CAPITAL LETTER SHCHA"},{char:"&#x42A",desc:"CYRILLIC CAPITAL LETTER HARD SIGN"},{char:"&#x42B",desc:"CYRILLIC CAPITAL LETTER YERU"},{char:"&#x42C",desc:"CYRILLIC CAPITAL LETTER SOFT SIGN"},{char:"&#x42D",desc:"CYRILLIC CAPITAL LETTER E"},{char:"&#x42E",desc:"CYRILLIC CAPITAL LETTER YU"},{char:"&#x42F",desc:"CYRILLIC CAPITAL LETTER YA"},{char:"&#x430",desc:"CYRILLIC SMALL LETTER A"},{char:"&#x431",desc:"CYRILLIC SMALL LETTER BE"},{char:"&#x432",desc:"CYRILLIC SMALL LETTER VE"},{char:"&#x433",desc:"CYRILLIC SMALL LETTER GHE"},{char:"&#x434",desc:"CYRILLIC SMALL LETTER DE"},{char:"&#x435",desc:"CYRILLIC SMALL LETTER IE"},{char:"&#x436",desc:"CYRILLIC SMALL LETTER ZHE"},{char:"&#x437",desc:"CYRILLIC SMALL LETTER ZE"},{char:"&#x438",desc:"CYRILLIC SMALL LETTER I"},{char:"&#x439",desc:"CYRILLIC SMALL LETTER SHORT I"},{char:"&#x43A",desc:"CYRILLIC SMALL LETTER KA"},{char:"&#x43B",desc:"CYRILLIC SMALL LETTER EL"},{char:"&#x43C",desc:"CYRILLIC SMALL LETTER EM"},{char:"&#x43D",desc:"CYRILLIC SMALL LETTER EN"},{char:"&#x43E",desc:"CYRILLIC SMALL LETTER O"},{char:"&#x43F",desc:"CYRILLIC SMALL LETTER PE"},{char:"&#x440",desc:"CYRILLIC SMALL LETTER ER"},{char:"&#x441",desc:"CYRILLIC SMALL LETTER ES"},{char:"&#x442",desc:"CYRILLIC SMALL LETTER TE"},{char:"&#x443",desc:"CYRILLIC SMALL LETTER U"},{char:"&#x444",desc:"CYRILLIC SMALL LETTER EF"},{char:"&#x445",desc:"CYRILLIC SMALL LETTER HA"},{char:"&#x446",desc:"CYRILLIC SMALL LETTER TSE"},{char:"&#x447",desc:"CYRILLIC SMALL LETTER CHE"},{char:"&#x448",desc:"CYRILLIC SMALL LETTER SHA"},{char:"&#x449",desc:"CYRILLIC SMALL LETTER SHCHA"},{char:"&#x44A",desc:"CYRILLIC SMALL LETTER HARD SIGN"},{char:"&#x44B",desc:"CYRILLIC SMALL LETTER YERU"},{char:"&#x44C",desc:"CYRILLIC SMALL LETTER SOFT SIGN"},{char:"&#x44D",desc:"CYRILLIC SMALL LETTER E"},{char:"&#x44E",desc:"CYRILLIC SMALL LETTER YU"},{char:"&#x44F",desc:"CYRILLIC SMALL LETTER YA"},{char:"&#x450",desc:"CYRILLIC SMALL LETTER IE WITH GRAVE"},{char:"&#x451",desc:"CYRILLIC SMALL LETTER IO"},{char:"&#x452",desc:"CYRILLIC SMALL LETTER DJE"},{char:"&#x453",desc:"CYRILLIC SMALL LETTER GJE"},{char:"&#x454",desc:"CYRILLIC SMALL LETTER UKRAINIAN IE"},{char:"&#x455",desc:"CYRILLIC SMALL LETTER DZE"},{char:"&#x456",desc:"CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I"},{char:"&#x457",desc:"CYRILLIC SMALL LETTER YI"},{char:"&#x458",desc:"CYRILLIC SMALL LETTER JE"},{char:"&#x459",desc:"CYRILLIC SMALL LETTER LJE"},{char:"&#x45A",desc:"CYRILLIC SMALL LETTER NJE"},{char:"&#x45B",desc:"CYRILLIC SMALL LETTER TSHE"},{char:"&#x45C",desc:"CYRILLIC SMALL LETTER KJE"},{char:"&#x45D",desc:"CYRILLIC SMALL LETTER I WITH GRAVE"},{char:"&#x45E",desc:"CYRILLIC SMALL LETTER SHORT U"},{char:"&#x45F",desc:"CYRILLIC SMALL LETTER DZHE"}]},{title:"Punctuation",list:[{char:"&ndash;",desc:"EN DASH"},{char:"&mdash;",desc:"EM DASH"},{char:"&lsquo;",desc:"LEFT SINGLE QUOTATION MARK"},{char:"&rsquo;",desc:"RIGHT SINGLE QUOTATION MARK"},{char:"&sbquo;",desc:"SINGLE LOW-9 QUOTATION MARK"},{char:"&ldquo;",desc:"LEFT DOUBLE QUOTATION MARK"},{char:"&rdquo;",desc:"RIGHT DOUBLE QUOTATION MARK"},{char:"&bdquo;",desc:"DOUBLE LOW-9 QUOTATION MARK"},{char:"&dagger;",desc:"DAGGER"},{char:"&Dagger;",desc:"DOUBLE DAGGER"},{char:"&bull;",desc:"BULLET"},{char:"&hellip;",desc:"HORIZONTAL ELLIPSIS"},{char:"&permil;",desc:"PER MILLE SIGN"},{char:"&prime;",desc:"PRIME"},{char:"&Prime;",desc:"DOUBLE PRIME"},{char:"&lsaquo;",desc:"SINGLE LEFT-POINTING ANGLE QUOTATION MARK"},{char:"&rsaquo;",desc:"SINGLE RIGHT-POINTING ANGLE QUOTATION MARK"},{char:"&oline;",desc:"OVERLINE"},{char:"&frasl;",desc:"FRACTION SLASH"}]},{title:"Currency",list:[{char:"&#x20A0",desc:"EURO-CURRENCY SIGN"},{char:"&#x20A1",desc:"COLON SIGN"},{char:"&#x20A2",desc:"CRUZEIRO SIGN"},{char:"&#x20A3",desc:"FRENCH FRANC SIGN"},{char:"&#x20A4",desc:"LIRA SIGN"},{char:"&#x20A5",desc:"MILL SIGN"},{char:"&#x20A6",desc:"NAIRA SIGN"},{char:"&#x20A7",desc:"PESETA SIGN"},{char:"&#x20A8",desc:"RUPEE SIGN"},{char:"&#x20A9",desc:"WON SIGN"},{char:"&#x20AA",desc:"NEW SHEQEL SIGN"},{char:"&#x20AB",desc:"DONG SIGN"},{char:"&#x20AC",desc:"EURO SIGN"},{char:"&#x20AD",desc:"KIP SIGN"},{char:"&#x20AE",desc:"TUGRIK SIGN"},{char:"&#x20AF",desc:"DRACHMA SIGN"},{char:"&#x20B0",desc:"GERMAN PENNY SYMBOL"},{char:"&#x20B1",desc:"PESO SIGN"},{char:"&#x20B2",desc:"GUARANI SIGN"},{char:"&#x20B3",desc:"AUSTRAL SIGN"},{char:"&#x20B4",desc:"HRYVNIA SIGN"},{char:"&#x20B5",desc:"CEDI SIGN"},{char:"&#x20B6",desc:"LIVRE TOURNOIS SIGN"},{char:"&#x20B7",desc:"SPESMILO SIGN"},{char:"&#x20B8",desc:"TENGE SIGN"},{char:"&#x20B9",desc:"INDIAN RUPEE SIGN"}]},{title:"Arrows",list:[{char:"&#x2190",desc:"LEFTWARDS ARROW"},{char:"&#x2191",desc:"UPWARDS ARROW"},{char:"&#x2192",desc:"RIGHTWARDS ARROW"},{char:"&#x2193",desc:"DOWNWARDS ARROW"},{char:"&#x2194",desc:"LEFT RIGHT ARROW"},{char:"&#x2195",desc:"UP DOWN ARROW"},{char:"&#x2196",desc:"NORTH WEST ARROW"},{char:"&#x2197",desc:"NORTH EAST ARROW"},{char:"&#x2198",desc:"SOUTH EAST ARROW"},{char:"&#x2199",desc:"SOUTH WEST ARROW"},{char:"&#x219A",desc:"LEFTWARDS ARROW WITH STROKE"},{char:"&#x219B",desc:"RIGHTWARDS ARROW WITH STROKE"},{char:"&#x219C",desc:"LEFTWARDS WAVE ARROW"},{char:"&#x219D",desc:"RIGHTWARDS WAVE ARROW"},{char:"&#x219E",desc:"LEFTWARDS TWO HEADED ARROW"},{char:"&#x219F",desc:"UPWARDS TWO HEADED ARROW"},{char:"&#x21A0",desc:"RIGHTWARDS TWO HEADED ARROW"},{char:"&#x21A1",desc:"DOWNWARDS TWO HEADED ARROW"},{char:"&#x21A2",desc:"LEFTWARDS ARROW WITH TAIL"},{char:"&#x21A3",desc:"RIGHTWARDS ARROW WITH TAIL"},{char:"&#x21A4",desc:"LEFTWARDS ARROW FROM BAR"},{char:"&#x21A5",desc:"UPWARDS ARROW FROM BAR"},{char:"&#x21A6",desc:"RIGHTWARDS ARROW FROM BAR"},{char:"&#x21A7",desc:"DOWNWARDS ARROW FROM BAR"},{char:"&#x21A8",desc:"UP DOWN ARROW WITH BASE"},{char:"&#x21A9",desc:"LEFTWARDS ARROW WITH HOOK"},{char:"&#x21AA",desc:"RIGHTWARDS ARROW WITH HOOK"},{char:"&#x21AB",desc:"LEFTWARDS ARROW WITH LOOP"},{char:"&#x21AC",desc:"RIGHTWARDS ARROW WITH LOOP"},{char:"&#x21AD",desc:"LEFT RIGHT WAVE ARROW"},{char:"&#x21AE",desc:"LEFT RIGHT ARROW WITH STROKE"},{char:"&#x21AF",desc:"DOWNWARDS ZIGZAG ARROW"},{char:"&#x21B0",desc:"UPWARDS ARROW WITH TIP LEFTWARDS"},{char:"&#x21B1",desc:"UPWARDS ARROW WITH TIP RIGHTWARDS"},{char:"&#x21B2",desc:"DOWNWARDS ARROW WITH TIP LEFTWARDS"},{char:"&#x21B3",desc:"DOWNWARDS ARROW WITH TIP RIGHTWARDS"},{char:"&#x21B4",desc:"RIGHTWARDS ARROW WITH CORNER DOWNWARDS"},{char:"&#x21B5",desc:"DOWNWARDS ARROW WITH CORNER LEFTWARDS"},{char:"&#x21B6",desc:"ANTICLOCKWISE TOP SEMICIRCLE ARROW"},{char:"&#x21B7",desc:"CLOCKWISE TOP SEMICIRCLE ARROW"},{char:"&#x21B8",desc:"NORTH WEST ARROW TO LONG BAR"},{char:"&#x21B9",desc:"LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR"},{char:"&#x21BA",desc:"ANTICLOCKWISE OPEN CIRCLE ARROW"},{char:"&#x21BB",desc:"CLOCKWISE OPEN CIRCLE ARROW"},{char:"&#x21BC",desc:"LEFTWARDS HARPOON WITH BARB UPWARDS"},{char:"&#x21BD",desc:"LEFTWARDS HARPOON WITH BARB DOWNWARDS"},{char:"&#x21BE",desc:"UPWARDS HARPOON WITH BARB RIGHTWARDS"},{char:"&#x21BF",desc:"UPWARDS HARPOON WITH BARB LEFTWARDS"},{char:"&#x21C0",desc:"RIGHTWARDS HARPOON WITH BARB UPWARDS"},{char:"&#x21C1",desc:"RIGHTWARDS HARPOON WITH BARB DOWNWARDS"},{char:"&#x21C2",desc:"DOWNWARDS HARPOON WITH BARB RIGHTWARDS"},{char:"&#x21C3",desc:"DOWNWARDS HARPOON WITH BARB LEFTWARDS"},{char:"&#x21C4",desc:"RIGHTWARDS ARROW OVER LEFTWARDS ARROW"},{char:"&#x21C5",desc:"UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW"},{char:"&#x21C6",desc:"LEFTWARDS ARROW OVER RIGHTWARDS ARROW"},{char:"&#x21C7",desc:"LEFTWARDS PAIRED ARROWS"},{char:"&#x21C8",desc:"UPWARDS PAIRED ARROWS"},{char:"&#x21C9",desc:"RIGHTWARDS PAIRED ARROWS"},{char:"&#x21CA",desc:"DOWNWARDS PAIRED ARROWS"},{char:"&#x21CB",desc:"LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON"},{char:"&#x21CC",desc:"RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON"},{char:"&#x21CD",desc:"LEFTWARDS DOUBLE ARROW WITH STROKE"},{char:"&#x21CE",desc:"LEFT RIGHT DOUBLE ARROW WITH STROKE"},{char:"&#x21CF",desc:"RIGHTWARDS DOUBLE ARROW WITH STROKE"},{char:"&#x21D0",desc:"LEFTWARDS DOUBLE ARROW"},{char:"&#x21D1",desc:"UPWARDS DOUBLE ARROW"},{char:"&#x21D2",desc:"RIGHTWARDS DOUBLE ARROW"},{char:"&#x21D3",desc:"DOWNWARDS DOUBLE ARROW"},{char:"&#x21D4",desc:"LEFT RIGHT DOUBLE ARROW"},{char:"&#x21D5",desc:"UP DOWN DOUBLE ARROW"},{char:"&#x21D6",desc:"NORTH WEST DOUBLE ARROW"},{char:"&#x21D7",desc:"NORTH EAST DOUBLE ARROW"},{char:"&#x21D8",desc:"SOUTH EAST DOUBLE ARROW"},{char:"&#x21D9",desc:"SOUTH WEST DOUBLE ARROW"},{char:"&#x21DA",desc:"LEFTWARDS TRIPLE ARROW"},{char:"&#x21DB",desc:"RIGHTWARDS TRIPLE ARROW"},{char:"&#x21DC",desc:"LEFTWARDS SQUIGGLE ARROW"},{char:"&#x21DD",desc:"RIGHTWARDS SQUIGGLE ARROW"},{char:"&#x21DE",desc:"UPWARDS ARROW WITH DOUBLE STROKE"},{char:"&#x21DF",desc:"DOWNWARDS ARROW WITH DOUBLE STROKE"},{char:"&#x21E0",desc:"LEFTWARDS DASHED ARROW"},{char:"&#x21E1",desc:"UPWARDS DASHED ARROW"},{char:"&#x21E2",desc:"RIGHTWARDS DASHED ARROW"},{char:"&#x21E3",desc:"DOWNWARDS DASHED ARROW"},{char:"&#x21E4",desc:"LEFTWARDS ARROW TO BAR"},{char:"&#x21E5",desc:"RIGHTWARDS ARROW TO BAR"},{char:"&#x21E6",desc:"LEFTWARDS WHITE ARROW"},{char:"&#x21E7",desc:"UPWARDS WHITE ARROW"},{char:"&#x21E8",desc:"RIGHTWARDS WHITE ARROW"},{char:"&#x21E9",desc:"DOWNWARDS WHITE ARROW"},{char:"&#x21EA",desc:"UPWARDS WHITE ARROW FROM BAR"},{char:"&#x21EB",desc:"UPWARDS WHITE ARROW ON PEDESTAL"},{char:"&#x21EC",desc:"UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR"},{char:"&#x21ED",desc:"UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR"},{char:"&#x21EE",desc:"UPWARDS WHITE DOUBLE ARROW"},{char:"&#x21EF",desc:"UPWARDS WHITE DOUBLE ARROW ON PEDESTAL"},{char:"&#x21F0",desc:"RIGHTWARDS WHITE ARROW FROM WALL"},{char:"&#x21F1",desc:"NORTH WEST ARROW TO CORNER"},{char:"&#x21F2",desc:"SOUTH EAST ARROW TO CORNER"},{char:"&#x21F3",desc:"UP DOWN WHITE ARROW"},{char:"&#x21F4",desc:"RIGHT ARROW WITH SMALL CIRCLE"},{char:"&#x21F5",desc:"DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW"},{char:"&#x21F6",desc:"THREE RIGHTWARDS ARROWS"},{char:"&#x21F7",desc:"LEFTWARDS ARROW WITH VERTICAL STROKE"},{char:"&#x21F8",desc:"RIGHTWARDS ARROW WITH VERTICAL STROKE"},{char:"&#x21F9",desc:"LEFT RIGHT ARROW WITH VERTICAL STROKE"},{char:"&#x21FA",desc:"LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE"},{char:"&#x21FB",desc:"RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE"},{char:"&#x21FC",desc:"LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE"},{char:"&#x21FD",desc:"LEFTWARDS OPEN-HEADED ARROW"},{char:"&#x21FE",desc:"RIGHTWARDS OPEN-HEADED ARROW"},{char:"&#x21FF",desc:"LEFT RIGHT OPEN-HEADED ARROW"}]},{title:"Math",list:[{char:"&forall;",desc:"FOR ALL"},{char:"&part;",desc:"PARTIAL DIFFERENTIAL"},{char:"&exist;",desc:"THERE EXISTS"},{char:"&empty;",desc:"EMPTY SET"},{char:"&nabla;",desc:"NABLA"},{char:"&isin;",desc:"ELEMENT OF"},{char:"&notin;",desc:"NOT AN ELEMENT OF"},{char:"&ni;",desc:"CONTAINS AS MEMBER"},{char:"&prod;",desc:"N-ARY PRODUCT"},{char:"&sum;",desc:"N-ARY SUMMATION"},{char:"&minus;",desc:"MINUS SIGN"},{char:"&lowast;",desc:"ASTERISK OPERATOR"},{char:"&radic;",desc:"SQUARE ROOT"},{char:"&prop;",desc:"PROPORTIONAL TO"},{char:"&infin;",desc:"INFINITY"},{char:"&ang;",desc:"ANGLE"},{char:"&and;",desc:"LOGICAL AND"},{char:"&or;",desc:"LOGICAL OR"},{char:"&cap;",desc:"INTERSECTION"},{char:"&cup;",desc:"UNION"},{char:"&int;",desc:"INTEGRAL"},{char:"&there4;",desc:"THEREFORE"},{char:"&sim;",desc:"TILDE OPERATOR"},{char:"&cong;",desc:"APPROXIMATELY EQUAL TO"},{char:"&asymp;",desc:"ALMOST EQUAL TO"},{char:"&ne;",desc:"NOT EQUAL TO"},{char:"&equiv;",desc:"IDENTICAL TO"},{char:"&le;",desc:"LESS-THAN OR EQUAL TO"},{char:"&ge;",desc:"GREATER-THAN OR EQUAL TO"},{char:"&sub;",desc:"SUBSET OF"},{char:"&sup;",desc:"SUPERSET OF"},{char:"&nsub;",desc:"NOT A SUBSET OF"},{char:"&sube;",desc:"SUBSET OF OR EQUAL TO"},{char:"&supe;",desc:"SUPERSET OF OR EQUAL TO"},{char:"&oplus;",desc:"CIRCLED PLUS"},{char:"&otimes;",desc:"CIRCLED TIMES"},{char:"&perp;",desc:"UP TACK"}]},{title:"Misc",list:[{char:"&spades;",desc:"BLACK SPADE SUIT"},{char:"&clubs;",desc:"BLACK CLUB SUIT"},{char:"&hearts;",desc:"BLACK HEART SUIT"},{char:"&diams;",desc:"BLACK DIAMOND SUIT"},{char:"&#x2669",desc:"QUARTER NOTE"},{char:"&#x266A",desc:"EIGHTH NOTE"},{char:"&#x266B",desc:"BEAMED EIGHTH NOTES"},{char:"&#x266C",desc:"BEAMED SIXTEENTH NOTES"},{char:"&#x266D",desc:"MUSIC FLAT SIGN"},{char:"&#x266E",desc:"MUSIC NATURAL SIGN"},{char:"&#x2600",desc:"BLACK SUN WITH RAYS"},{char:"&#x2601",desc:"CLOUD"},{char:"&#x2602",desc:"UMBRELLA"},{char:"&#x2603",desc:"SNOWMAN"},{char:"&#x2615",desc:"HOT BEVERAGE"},{char:"&#x2618",desc:"SHAMROCK"},{char:"&#x262F",desc:"YIN YANG"},{char:"&#x2714",desc:"HEAVY CHECK MARK"},{char:"&#x2716",desc:"HEAVY MULTIPLICATION X"},{char:"&#x2744",desc:"SNOWFLAKE"},{char:"&#x275B",desc:"HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT"},{char:"&#x275C",desc:"HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT"},{char:"&#x275D",desc:"HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT"},{char:"&#x275E",desc:"HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT"},{char:"&#x2764",desc:"HEAVY BLACK HEART"}]}]}),e.FE.PLUGINS.specialCharacters=function(t){var n,r,i="special_characters";function a(e,n){t.events.disableBlur(),e.focus(),n.preventDefault(),n.stopPropagation()}return{_init:function(){},show:function(){if(!n){var o="<h4>"+t.language.translate("Special Characters")+"</h4>",s=function(){for(var e='<div class="fr-special-characters-modal">',n=0;n<t.opts.specialCharactersSets.length;n++){for(var r=t.opts.specialCharactersSets[n],i=r.list,a='<div class="fr-special-characters-list"><p class="fr-special-characters-title">'+t.language.translate(r.title)+"</p>",o=0;o<i.length;o++){var s=i[o];a+='<span class="fr-command fr-special-character" tabIndex="-1" role="button" value="'+s.char+'" title="'+s.desc+'">'+s.char+'<span class="fr-sr-only">'+t.language.translate(s.desc)+"&nbsp;&nbsp;&nbsp;</span></span>"}e+=a+"</div>"}return e+"</div>"}(),l=t.modals.create(i,o,s);n=l.$modal,l.$head,r=l.$body,t.events.$on(e(t.o_win),"resize",function(){(n.data("instance")||t).modals.resize(i)}),t.events.bindClick(r,".fr-special-character",function(r){var i=n.data("instance")||t,a=e(r.currentTarget);i.specialCharacters.insert(a)}),t.events.$on(r,"keydown",function(i){var o=i.which,s=r.find("span.fr-special-character:focus:first");if(!(s.length||o!=e.FE.KEYCODE.F10||t.keys.ctrlKey(i)||i.shiftKey)&&i.altKey)return a(r.find("span.fr-special-character:first"),i),!1;if(o==e.FE.KEYCODE.TAB||o==e.FE.KEYCODE.ARROW_LEFT||o==e.FE.KEYCODE.ARROW_RIGHT){var l=null,d=null,c=!1;return o==e.FE.KEYCODE.ARROW_LEFT||o==e.FE.KEYCODE.ARROW_RIGHT?(d=o==e.FE.KEYCODE.ARROW_RIGHT,c=!0):d=!i.shiftKey,s.length?(c&&(l=d?s.nextAll("span.fr-special-character:first"):s.prevAll("span.fr-special-character:first")),l&&l.length||(l=d?s.parent().next().find("span.fr-special-character:first"):s.parent().prev().find("span.fr-special-character:"+(c?"last":"first"))).length||(l=r.find("span.fr-special-character:"+(d?"first":"last")))):l=r.find("span.fr-special-character:"+(d?"first":"last")),a(l,i),!1}if(o!=e.FE.KEYCODE.ENTER||!s.length)return!0;(n.data("instance")||t).specialCharacters.insert(s)},!0)}t.modals.show(i),t.modals.resize(i)},hide:function(){t.modals.hide(i)},insert:function(e){t.specialCharacters.hide(),t.undo.saveStep(),t.html.insert(e.attr("value"),!0),t.undo.saveStep()}}},e.FroalaEditor.DefineIcon("specialCharacters",{template:"text",NAME:"&#937;"}),e.FE.RegisterCommand("specialCharacters",{title:"Special Characters",icon:"specialCharacters",undo:!1,focus:!1,modal:!0,callback:function(){this.specialCharacters.show()},plugin:"specialCharacters",showOnMobile:!0}),e.extend(e.FE.POPUP_TEMPLATES,{"table.insert":"[_BUTTONS_][_ROWS_COLUMNS_]","table.edit":"[_BUTTONS_]","table.colors":"[_BUTTONS_][_COLORS_][_CUSTOM_COLOR_]"}),e.extend(e.FE.DEFAULTS,{tableInsertMaxSize:10,tableEditButtons:["tableHeader","tableRemove","|","tableRows","tableColumns","tableStyle","-","tableCells","tableCellBackground","tableCellVerticalAlign","tableCellHorizontalAlign","tableCellStyle"],tableInsertButtons:["tableBack","|"],tableResizer:!0,tableDefaultWidth:"100%",tableResizerOffset:5,tableResizingLimit:30,tableColorsButtons:["tableBack","|"],tableColors:["#61BD6D","#1ABC9C","#54ACD2","#2C82C9","#9365B8","#475577","#CCCCCC","#41A85F","#00A885","#3D8EB9","#2969B0","#553982","#28324E","#000000","#F7DA64","#FBA026","#EB6B56","#E25041","#A38F84","#EFEFEF","#FFFFFF","#FAC51C","#F37934","#D14841","#B8312F","#7C706B","#D1D5D8","REMOVE"],tableColorsStep:7,tableCellStyles:{"fr-highlighted":"Highlighted","fr-thick":"Thick"},tableStyles:{"fr-dashed-borders":"Dashed Borders","fr-alternate-rows":"Alternate Rows"},tableCellMultipleStyles:!0,tableMultipleStyles:!0,tableInsertHelper:!0,tableInsertHelperOffset:15}),e.FE.PLUGINS.table=function(t){var n,r,i,a,o,s,l;function d(){var e=A();if(e){var n=t.popups.get("table.edit");if(n||(n=u()),n){t.popups.setContainer("table.edit",t.$sc);var r=x(e),i=(r.left+r.right)/2,a=r.bottom;t.popups.show("table.edit",i,a,r.bottom-r.top),t.edit.isDisabled()&&(1<j().length&&t.toolbar.disable(),t.$el.removeClass("fr-no-selection"),t.edit.on(),t.button.bulkRefresh(),t.selection.setAtEnd(t.$el.find(".fr-selected-cell:last").get(0)),t.selection.restore())}}}function c(){0===j().length&&t.toolbar.enable()}function f(n){if(n)return t.popups.onHide("table.insert",function(){t.popups.get("table.insert").find('.fr-table-size .fr-select-table-size > span[data-row="1"][data-col="1"]').trigger("mouseenter")}),!0;var r="";0<t.opts.tableInsertButtons.length&&(r='<div class="fr-buttons">'+t.button.buildList(t.opts.tableInsertButtons)+"</div>");var i,a={buttons:r,rows_columns:function(){for(var e='<div class="fr-table-size"><div class="fr-table-size-info">1 &times; 1</div><div class="fr-select-table-size">',n=1;n<=t.opts.tableInsertMaxSize;n++){for(var r=1;r<=t.opts.tableInsertMaxSize;r++){var i="inline-block";2<n&&!t.helpers.isMobile()&&(i="none");var a="fr-table-cell ";1==n&&1==r&&(a+=" hover"),e+='<span class="fr-command '+a+'" tabIndex="-1" data-cmd="tableInsert" data-row="'+n+'" data-col="'+r+'" data-param1="'+n+'" data-param2="'+r+'" style="display: '+i+';" role="button"><span></span><span class="fr-sr-only">'+n+" &times; "+r+"&nbsp;&nbsp;&nbsp;</span></span>"}e+='<div class="new-line"></div>'}return e+"</div></div>"}()},o=t.popups.create("table.insert",a);return t.events.$on(o,"mouseenter",".fr-table-size .fr-select-table-size .fr-table-cell",function(t){p(e(t.currentTarget))},!0),i=o,t.events.$on(i,"focus","[tabIndex]",function(t){p(e(t.currentTarget))}),t.events.on("popup.tab",function(n){var r=e(n.currentTarget);if(!t.popups.isVisible("table.insert")||!r.is("span, a"))return!0;var i,a=n.which;if(e.FE.KEYCODE.ARROW_UP==a||e.FE.KEYCODE.ARROW_DOWN==a||e.FE.KEYCODE.ARROW_LEFT==a||e.FE.KEYCODE.ARROW_RIGHT==a){if(r.is("span.fr-table-cell")){var o=r.parent().find("span.fr-table-cell"),s=o.index(r),l=t.opts.tableInsertMaxSize,d=s%l,c=Math.floor(s/l);e.FE.KEYCODE.ARROW_UP==a?c=Math.max(0,c-1):e.FE.KEYCODE.ARROW_DOWN==a?c=Math.min(t.opts.tableInsertMaxSize-1,c+1):e.FE.KEYCODE.ARROW_LEFT==a?d=Math.max(0,d-1):e.FE.KEYCODE.ARROW_RIGHT==a&&(d=Math.min(t.opts.tableInsertMaxSize-1,d+1));var f=c*l+d,u=e(o.get(f));p(u),t.events.disableBlur(),u.focus(),i=!1}}else e.FE.KEYCODE.ENTER==a&&(t.button.exec(r),i=!1);return!1===i&&(n.preventDefault(),n.stopPropagation()),i},!0),o}function p(e){var n=e.data("row"),r=e.data("col"),i=e.parent();i.siblings(".fr-table-size-info").html(n+" &times; "+r),i.find("> span").removeClass("hover fr-active-item");for(var a=1;a<=t.opts.tableInsertMaxSize;a++)for(var o=0;o<=t.opts.tableInsertMaxSize;o++){var s=i.find('> span[data-row="'+a+'"][data-col="'+o+'"]');a<=n&&o<=r?s.addClass("hover"):a<=n+1||a<=2&&!t.helpers.isMobile()?s.css("display","inline-block"):2<a&&!t.helpers.isMobile()&&s.css("display","none")}e.addClass("fr-active-item")}function u(e){if(e)return t.popups.onHide("table.edit",c),!0;if(0<t.opts.tableEditButtons.length){var n={buttons:'<div class="fr-buttons">'+t.button.buildList(t.opts.tableEditButtons)+"</div>"},r=t.popups.create("table.edit",n);return t.events.$on(t.$wp,"scroll.table-edit",function(){t.popups.isVisible("table.edit")&&d()}),r}return!1}function h(){if(0<j().length){var e=Q();t.selection.setBefore(e.get(0))||t.selection.setAfter(e.get(0)),t.selection.restore(),t.popups.hide("table.edit"),e.remove(),t.toolbar.enable()}}function g(n){var r=Q();if(0<r.length){if(0<t.$el.find("th.fr-selected-cell").length&&"above"==n)return;var i,a,o,s=A(),l=L(s);a="above"==n?l.min_i:l.max_i;var c="<tr>";for(i=0;i<s[a].length;i++)if("below"==n&&a<s.length-1&&s[a][i]==s[a+1][i]||"above"==n&&0<a&&s[a][i]==s[a-1][i]){if(0===i||0<i&&s[a][i]!=s[a][i-1]){var f=e(s[a][i]);f.attr("rowspan",parseInt(f.attr("rowspan"),10)+1)}}else c+="<td><br></td>";c+="</tr>",o=0<t.$el.find("th.fr-selected-cell").length&&"below"==n?e(r.find("tbody").not(r.find("table tbody"))):e(r.find("tr").not(r.find("table tr")).get(a)),"below"==n?"TBODY"==o.prop("tagName")?o.prepend(c):o.after(c):"above"==n&&(o.before(c),t.popups.isVisible("table.edit")&&d())}}function m(e,t,n){var r,i,a,o,s,l=0,d=A(n);if(e<(t=Math.min(t,d[0].length-1)))for(i=e;i<=t;i++)if(!(e<i&&d[0][i]==d[0][i-1])&&1<(o=Math.min(parseInt(d[0][i].getAttribute("colspan"),10)||1,t-e+1))&&d[0][i]==d[0][i+1])for(l=o-1,r=1;r<d.length;r++)if(d[r][i]!=d[r-1][i]){for(a=i;a<i+o;a++)if(1<(s=parseInt(d[r][a].getAttribute("colspan"),10)||1)&&d[r][a]==d[r][a+1])a+=l=Math.min(l,s-1);else if(!(l=Math.max(0,l-1)))break;if(!l)break}l&&E(d,l,"colspan",0,d.length-1,e,t)}function v(e,t,n){var r,i,a,o,s,l=0,d=A(n);if(e<(t=Math.min(t,d.length-1)))for(r=e;r<=t;r++)if(!(e<r&&d[r][0]==d[r-1][0])&&1<(o=Math.min(parseInt(d[r][0].getAttribute("rowspan"),10)||1,t-e+1))&&d[r][0]==d[r+1][0])for(l=o-1,i=1;i<d[0].length;i++)if(d[r][i]!=d[r][i-1]){for(a=r;a<r+o;a++)if(1<(s=parseInt(d[a][i].getAttribute("rowspan"),10)||1)&&d[a][i]==d[a+1][i])a+=l=Math.min(l,s-1);else if(!(l=Math.max(0,l-1)))break;if(!l)break}l&&E(d,l,"rowspan",e,t,0,d[0].length-1)}function E(e,t,n,r,i,a,o){var s,l,d;for(s=r;s<=i;s++)for(l=a;l<=o;l++)r<s&&e[s][l]==e[s-1][l]||a<l&&e[s][l]==e[s][l-1]||1<(d=parseInt(e[s][l].getAttribute(n),10)||1)&&(1<d-t?e[s][l].setAttribute(n,d-t):e[s][l].removeAttribute(n))}function b(e,t,n,r,i){v(e,t,i),m(n,r,i)}function T(e){var n=t.$el.find(".fr-selected-cell");"REMOVE"!=e?n.css("background-color",t.helpers.HEXtoRGB(e)):n.css("background-color",""),d()}function A(t){var n=[];return null==(t=t||null)&&0<j().length&&(t=Q()),t&&t.find("tr:visible").not(t.find("table tr")).each(function(t,r){var i=e(r),a=0;i.find("> th, > td").each(function(r,i){for(var o=e(i),s=parseInt(o.attr("colspan"),10)||1,l=parseInt(o.attr("rowspan"),10)||1,d=t;d<t+l;d++)for(var c=a;c<a+s;c++)n[d]||(n[d]=[]),n[d][c]?a++:n[d][c]=i;a+=s})}),n}function C(e,t){for(var n=0;n<t.length;n++)for(var r=0;r<t[n].length;r++)if(t[n][r]==e)return{row:n,col:r}}function S(e,t,n){for(var r=e+1,i=t+1;r<n.length;){if(n[r][t]!=n[e][t]){r--;break}r++}for(r==n.length&&r--;i<n[e].length;){if(n[e][i]!=n[e][t]){i--;break}i++}return i==n[e].length&&i--,{row:r,col:i}}function R(){t.el.querySelector(".fr-cell-fixed")&&t.el.querySelector(".fr-cell-fixed").classList.remove("fr-cell-fixed"),t.el.querySelector(".fr-cell-handler")&&t.el.querySelector(".fr-cell-handler").classList.remove("fr-cell-handler")}function y(){var n=t.$el.find(".fr-selected-cell");0<n.length&&n.each(function(){var t=e(this);t.removeClass("fr-selected-cell"),""===t.attr("class")&&t.removeAttr("class")}),R()}function _(){t.events.disableBlur(),t.selection.clear(),t.$el.addClass("fr-no-selection"),t.$el.blur(),t.events.enableBlur()}function L(e){var n=t.$el.find(".fr-selected-cell");if(0<n.length){var r,i=e.length,a=0,o=e[0].length,s=0;for(r=0;r<n.length;r++){var l=C(n[r],e),d=S(l.row,l.col,e);i=Math.min(l.row,i),a=Math.max(d.row,a),o=Math.min(l.col,o),s=Math.max(d.col,s)}return{min_i:i,max_i:a,min_j:o,max_j:s}}return null}function x(t){var n=L(t),r=e(t[n.min_i][n.min_j]),i=e(t[n.min_i][n.max_j]),a=e(t[n.max_i][n.min_j]);return{left:r.offset().left,right:i.offset().left+i.outerWidth(),top:r.offset().top,bottom:a.offset().top+a.outerHeight()}}function w(n,r){if(e(n).is(r))y(),e(n).addClass("fr-selected-cell");else{_(),t.edit.off();var i=A(),a=C(n,i),o=C(r,i),s=function t(n,r,i,a,o){var s,l,d,c,f=n,p=r,u=i,h=a;for(s=f;s<=p;s++)(1<(parseInt(e(o[s][u]).attr("rowspan"),10)||1)||1<(parseInt(e(o[s][u]).attr("colspan"),10)||1))&&(c=S((d=C(o[s][u],o)).row,d.col,o),f=Math.min(d.row,f),p=Math.max(c.row,p),u=Math.min(d.col,u),h=Math.max(c.col,h)),(1<(parseInt(e(o[s][h]).attr("rowspan"),10)||1)||1<(parseInt(e(o[s][h]).attr("colspan"),10)||1))&&(c=S((d=C(o[s][h],o)).row,d.col,o),f=Math.min(d.row,f),p=Math.max(c.row,p),u=Math.min(d.col,u),h=Math.max(c.col,h));for(l=u;l<=h;l++)(1<(parseInt(e(o[f][l]).attr("rowspan"),10)||1)||1<(parseInt(e(o[f][l]).attr("colspan"),10)||1))&&(c=S((d=C(o[f][l],o)).row,d.col,o),f=Math.min(d.row,f),p=Math.max(c.row,p),u=Math.min(d.col,u),h=Math.max(c.col,h)),(1<(parseInt(e(o[p][l]).attr("rowspan"),10)||1)||1<(parseInt(e(o[p][l]).attr("colspan"),10)||1))&&(c=S((d=C(o[p][l],o)).row,d.col,o),f=Math.min(d.row,f),p=Math.max(c.row,p),u=Math.min(d.col,u),h=Math.max(c.col,h));return f==n&&p==r&&u==i&&h==a?{min_i:n,max_i:r,min_j:i,max_j:a}:t(f,p,u,h,o)}(Math.min(a.row,o.row),Math.max(a.row,o.row),Math.min(a.col,o.col),Math.max(a.col,o.col),i);y(),n.classList.add("fr-cell-fixed"),r.classList.add("fr-cell-handler");for(var l=s.min_i;l<=s.max_i;l++)for(var d=s.min_j;d<=s.max_j;d++)e(i[l][d]).addClass("fr-selected-cell")}}function N(n){var r=null,i=e(n.target);return"TD"==n.target.tagName||"TH"==n.target.tagName?r=n.target:0<i.closest("td").length?r=i.closest("td").get(0):0<i.closest("th").length&&(r=i.closest("th").get(0)),0===t.$el.find(r).length?null:r}function O(){y(),t.popups.hide("table.edit")}function I(n){var r=N(n);if("false"==e(r).parents("[contenteditable]:not(.fr-element):not(.fr-img-caption):not(body):first").attr("contenteditable"))return!0;if(0<j().length&&!r&&O(),!t.edit.isDisabled()||t.popups.isVisible("table.edit"))if(1!=n.which||1==n.which&&t.helpers.isMac()&&n.ctrlKey)(3==n.which||1==n.which&&t.helpers.isMac()&&n.ctrlKey)&&r&&O();else if(a=!0,r){0<j().length&&!n.shiftKey&&O(),n.stopPropagation(),t.events.trigger("image.hideResizer"),t.events.trigger("video.hideResizer"),i=!0;var s=r.tagName.toLowerCase();n.shiftKey&&0<t.$el.find(s+".fr-selected-cell").length?e(t.$el.find(s+".fr-selected-cell").closest("table")).is(e(r).closest("table"))?w(o,r):_():((t.keys.ctrlKey(n)||n.shiftKey)&&(1<j().length||0===e(r).find(t.selection.element()).length&&!e(r).is(t.selection.element()))&&_(),o=r,0<t.opts.tableEditButtons.length&&w(o,o))}}function D(r){if(i||t.$tb.is(r.target)||t.$tb.is(e(r.target).closest(t.$tb.get(0)))||(0<j().length&&t.toolbar.enable(),y()),!(1!=r.which||1==r.which&&t.helpers.isMac()&&r.ctrlKey)&&(a=!1,i&&(i=!1,N(r)||1!=j().length?0<j().length&&(t.selection.isCollapsed()?d():y()):y()),l)){l=!1,n.removeClass("fr-moving"),t.$el.removeClass("fr-no-selection"),t.edit.on();var o=parseFloat(n.css("left"))+t.opts.tableResizerOffset+t.$wp.offset().left;t.opts.iframe&&(o-=t.$iframe.offset().left),n.data("release-position",o),n.removeData("max-left"),n.removeData("max-right"),function(){var r=n.data("origin"),i=n.data("release-position");if(r!==i){var a=n.data("first"),o=n.data("second"),s=n.data("table"),l=s.outerWidth();if(t.undo.canDo()||t.undo.saveStep(),null!==a&&null!==o){var d,c,f,p=A(s),u=[],h=[],g=[],m=[];for(d=0;d<p.length;d++)c=e(p[d][a]),f=e(p[d][o]),u[d]=c.outerWidth(),g[d]=f.outerWidth(),h[d]=u[d]/l*100,m[d]=g[d]/l*100;for(d=0;d<p.length;d++)if(c=e(p[d][a]),f=e(p[d][o]),p[d][a]!=p[d][o]){var v=(h[d]*(u[d]+i-r)/u[d]).toFixed(4);c.css("width",v+"%"),f.css("width",(h[d]+m[d]-v).toFixed(4)+"%")}}else{var E,b=s.parent(),T=l/b.width()*100,C=(parseInt(s.css("margin-left"),10)||0)/b.width()*100,S=(parseInt(s.css("margin-right"),10)||0)/b.width()*100;"rtl"==t.opts.direction&&0===o||"rtl"!=t.opts.direction&&0!==o?(E=(l+i-r)/l*T,s.css("margin-right","calc(100% - "+Math.round(E).toFixed(4)+"% - "+Math.round(C).toFixed(4)+"%)")):("rtl"==t.opts.direction&&0!==o||"rtl"!=t.opts.direction&&0===o)&&(E=(l-i+r)/l*T,s.css("margin-left","calc(100% - "+Math.round(E).toFixed(4)+"% - "+Math.round(S).toFixed(4)+"%)")),s.css("width",Math.round(E).toFixed(4)+"%")}t.selection.restore(),t.undo.saveStep(),t.events.trigger("table.resized",[s.get(0)])}n.removeData("origin"),n.removeData("release-position"),n.removeData("first"),n.removeData("second"),n.removeData("table")}(),B()}}function k(n){if(!0===i&&0<t.opts.tableEditButtons.length){if(e(n.currentTarget).closest("table").is(Q())){if("TD"==n.currentTarget.tagName&&0===t.$el.find("th.fr-selected-cell").length)return void w(o,n.currentTarget);if("TH"==n.currentTarget.tagName&&0===t.$el.find("td.fr-selected-cell").length)return void w(o,n.currentTarget)}_()}}function F(n,r,i,a){for(var o,s=r;s!=t.el&&"TD"!=s.tagName&&"TH"!=s.tagName&&("up"==a?o=s.previousElementSibling:"down"==a&&(o=s.nextElementSibling),!o);)s=s.parentNode;"TD"==s.tagName||"TH"==s.tagName?function(n,r){for(var i=n;i&&"TABLE"!=i.tagName&&i.parentNode!=t.el;)i=i.parentNode;if(i&&"TABLE"==i.tagName){var a=A(e(i));"up"==r?M(C(n,a),i,a):"down"==r&&$(C(n,a),i,a)}}(s,a):o&&("up"==a&&t.selection.setAtEnd(o),"down"==a&&t.selection.setAtStart(o))}function M(e,n,r){0<e.row?t.selection.setAtEnd(r[e.row-1][e.col]):F(0,n,0,"up")}function $(e,n,r){var i=parseInt(r[e.row][e.col].getAttribute("rowspan"),10)||1;e.row<r.length-i?t.selection.setAtStart(r[e.row+i][e.col]):F(0,n,0,"down")}function B(){n&&(n.find("div").css("opacity",0),n.css("top",0),n.css("left",0),n.css("height",0),n.find("div").css("height",0),n.hide())}function P(){r&&r.removeClass("fr-visible").css("left","-9999px")}function U(n,i){if(t.$box.find(".fr-line-breaker").is(":visible"))return!1;r||X(),t.$box.append(r),r.data("instance",t);var a,o=e(i).find("tr:first"),s=n.pageX,l=0,d=0;t.opts.iframe&&(l+=t.$iframe.offset().left-t.helpers.scrollLeft(),d+=t.$iframe.offset().top-t.helpers.scrollTop()),o.find("th, td").each(function(){var n=e(this);return n.offset().left<=s&&s<n.offset().left+n.outerWidth()/2?(a=parseInt(r.find("a").css("width"),10),r.css("top",d+n.offset().top-t.$box.offset().top-a-5),r.css("left",l+n.offset().left-t.$box.offset().left-a/2),r.data("selected-cell",n),r.data("position","before"),r.addClass("fr-visible"),!1):n.offset().left+n.outerWidth()/2<=s&&s<n.offset().left+n.outerWidth()?(a=parseInt(r.find("a").css("width"),10),r.css("top",d+n.offset().top-t.$box.offset().top-a-5),r.css("left",l+n.offset().left-t.$box.offset().left+n.outerWidth()-a/2),r.data("selected-cell",n),r.data("position","after"),r.addClass("fr-visible"),!1):void 0})}function K(n,i){if(t.$box.find(".fr-line-breaker").is(":visible"))return!1;r||X(),t.$box.append(r),r.data("instance",t);var a,o=e(i),s=n.pageY,l=0,d=0;t.opts.iframe&&(l+=t.$iframe.offset().left-t.helpers.scrollLeft(),d+=t.$iframe.offset().top-t.helpers.scrollTop()),o.find("tr").each(function(){var n=e(this);return n.offset().top<=s&&s<n.offset().top+n.outerHeight()/2?(a=parseInt(r.find("a").css("width"),10),r.css("top",d+n.offset().top-t.$box.offset().top-a/2),r.css("left",l+n.offset().left-t.$box.offset().left-a-5),r.data("selected-cell",n.find("td:first")),r.data("position","above"),r.addClass("fr-visible"),!1):n.offset().top+n.outerHeight()/2<=s&&s<n.offset().top+n.outerHeight()?(a=parseInt(r.find("a").css("width"),10),r.css("top",d+n.offset().top-t.$box.offset().top+n.outerHeight()-a/2),r.css("left",l+n.offset().left-t.$box.offset().left-a-5),r.data("selected-cell",n.find("td:first")),r.data("position","below"),r.addClass("fr-visible"),!1):void 0})}function H(i){s=null;var a=t.doc.elementFromPoint(i.pageX-t.win.pageXOffset,i.pageY-t.win.pageYOffset);t.opts.tableResizer&&(!t.popups.areVisible()||t.popups.areVisible()&&t.popups.isVisible("table.edit"))&&function(r,i){var a=e(i),o=a.closest("table"),s=o.parent();if(i&&"TD"!=i.tagName&&"TH"!=i.tagName&&(0<a.closest("td").length?i=a.closest("td"):0<a.closest("th").length&&(i=a.closest("th"))),!i||"TD"!=i.tagName&&"TH"!=i.tagName)n&&a.get(0)!=n.get(0)&&a.parent().get(0)!=n.get(0)&&t.core.sameInstance(n)&&B();else{if(a=e(i),0===t.$el.find(a).length)return!1;var d=a.offset().left-1,c=d+a.outerWidth();if(Math.abs(r.pageX-d)<=t.opts.tableResizerOffset||Math.abs(c-r.pageX)<=t.opts.tableResizerOffset){var f,p,u,h,g,m=A(o),v=C(i,m),E=S(v.row,v.col,m),b=o.offset().top,T=o.outerHeight()-1;"rtl"!=t.opts.direction?r.pageX-d<=t.opts.tableResizerOffset?(u=d,0<v.col?(h=d-z(v.col-1,m)+t.opts.tableResizingLimit,g=d+z(v.col,m)-t.opts.tableResizingLimit,f=v.col-1,p=v.col):(f=null,p=0,h=o.offset().left-1-parseInt(o.css("margin-left"),10),g=o.offset().left-1+o.width()-m[0].length*t.opts.tableResizingLimit)):c-r.pageX<=t.opts.tableResizerOffset&&(u=c,E.col<m[E.row].length&&m[E.row][E.col+1]?(h=c-z(E.col,m)+t.opts.tableResizingLimit,g=c+z(E.col+1,m)-t.opts.tableResizingLimit,f=E.col,p=E.col+1):(f=E.col,p=null,h=o.offset().left-1+m[0].length*t.opts.tableResizingLimit,g=s.offset().left-1+s.width()+parseFloat(s.css("padding-left")))):c-r.pageX<=t.opts.tableResizerOffset?(u=c,0<v.col?(h=c-z(v.col,m)+t.opts.tableResizingLimit,g=c+z(v.col-1,m)-t.opts.tableResizingLimit,f=v.col,p=v.col-1):(f=null,p=0,h=o.offset().left+m[0].length*t.opts.tableResizingLimit,g=s.offset().left-1+s.width()+parseFloat(s.css("padding-left")))):r.pageX-d<=t.opts.tableResizerOffset&&(u=d,E.col<m[E.row].length&&m[E.row][E.col+1]?(h=d-z(E.col+1,m)+t.opts.tableResizingLimit,g=d+z(E.col,m)-t.opts.tableResizingLimit,f=E.col+1,p=E.col):(f=E.col,p=null,h=s.offset().left+parseFloat(s.css("padding-left")),g=o.offset().left-1+o.width()-m[0].length*t.opts.tableResizingLimit)),n||(t.shared.$table_resizer||(t.shared.$table_resizer=e('<div class="fr-table-resizer"><div></div></div>')),n=t.shared.$table_resizer,t.events.$on(n,"mousedown",function(e){return!t.core.sameInstance(n)||(0<j().length&&O(),1==e.which?(t.selection.save(),l=!0,n.addClass("fr-moving"),_(),t.edit.off(),n.find("div").css("opacity",1),!1):void 0)}),t.events.$on(n,"mousemove",function(e){if(!t.core.sameInstance(n))return!0;l&&(t.opts.iframe&&(e.pageX-=t.$iframe.offset().left),G(e))}),t.events.on("shared.destroy",function(){n.html("").removeData().remove(),n=null},!0),t.events.on("destroy",function(){t.$el.find(".fr-selected-cell").removeClass("fr-selected-cell"),n.hide().appendTo(e("body:first"))},!0)),n.data("table",o),n.data("first",f),n.data("second",p),n.data("instance",t),t.$wp.append(n);var R=u-t.win.pageXOffset-t.opts.tableResizerOffset-t.$wp.offset().left,y=b-t.$wp.offset().top+t.$wp.scrollTop();t.opts.iframe&&(R+=t.$iframe.offset().left,y+=t.$iframe.offset().top,h+=t.$iframe.offset().left,g+=t.$iframe.offset().left),n.data("max-left",h),n.data("max-right",g),n.data("origin",u-t.win.pageXOffset),n.css("top",y),n.css("left",R),n.css("height",T),n.find("div").css("height",T),n.css("padding-left",t.opts.tableResizerOffset),n.css("padding-right",t.opts.tableResizerOffset),n.show()}else t.core.sameInstance(n)&&B()}}(i,a),!t.opts.tableInsertHelper||t.popups.areVisible()||t.$tb.hasClass("fr-inline")&&t.$tb.is(":visible")||function(n,i){if(0===j().length){var a,o,s;if(i&&("HTML"==i.tagName||"BODY"==i.tagName||t.node.isElement(i)))for(a=1;a<=t.opts.tableInsertHelperOffset;a++){if(o=t.doc.elementFromPoint(n.pageX-t.win.pageXOffset,n.pageY-t.win.pageYOffset+a),e(o).hasClass("fr-tooltip"))return;if(o&&("TH"==o.tagName||"TD"==o.tagName||"TABLE"==o.tagName)&&(e(o).parents(".fr-wrapper").length||t.opts.iframe))return U(n,e(o).closest("table"));if(s=t.doc.elementFromPoint(n.pageX-t.win.pageXOffset+a,n.pageY-t.win.pageYOffset),e(s).hasClass("fr-tooltip"))return;if(s&&("TH"==s.tagName||"TD"==s.tagName||"TABLE"==s.tagName)&&(e(s).parents(".fr-wrapper").length||t.opts.iframe))return K(n,e(s).closest("table"))}t.core.sameInstance(r)&&P()}}(i,a)}function W(){if(l){var e=n.data("table").offset().top-t.win.pageYOffset;t.opts.iframe&&(e+=t.$iframe.offset().top-t.helpers.scrollTop()),n.css("top",e)}}function z(t,n){var r,i=e(n[0][t]).outerWidth();for(r=1;r<n.length;r++)i=Math.min(i,e(n[r][t]).outerWidth());return i}function Y(e,t,n){var r,i=0;for(r=e;r<=t;r++)i+=z(r,n);return i}function G(e){if(1<j().length&&a&&_(),!1===a&&!1===i&&!1===l)s&&clearTimeout(s),t.edit.isDisabled()&&!t.popups.isVisible("table.edit")||(s=setTimeout(H,30,e));else if(l){var r=e.pageX-t.win.pageXOffset;t.opts.iframe&&(r+=t.$iframe.offset().left);var o=n.data("max-left"),d=n.data("max-right");o<=r&&r<=d?n.css("left",r-t.opts.tableResizerOffset-t.$wp.offset().left):r<o&&parseFloat(n.css("left"),10)>o-t.opts.tableResizerOffset?n.css("left",o-t.opts.tableResizerOffset-t.$wp.offset().left):d<r&&parseFloat(n.css("left"),10)<d-t.opts.tableResizerOffset&&n.css("left",d-t.opts.tableResizerOffset-t.$wp.offset().left)}else a&&P()}function V(n){t.node.isEmpty(n.get(0))?n.prepend(e.FE.MARKERS):n.prepend(e.FE.START_MARKER).append(e.FE.END_MARKER)}function X(){t.shared.$ti_helper||(t.shared.$ti_helper=e('<div class="fr-insert-helper"><a class="fr-floating-btn" role="button" tabIndex="-1" title="'+t.language.translate("Insert")+'"><svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="M22,16.75 L16.75,16.75 L16.75,22 L15.25,22.000 L15.25,16.75 L10,16.75 L10,15.25 L15.25,15.25 L15.25,10 L16.75,10 L16.75,15.25 L22,15.25 L22,16.75 Z"/></svg></a></div>'),t.events.bindClick(t.shared.$ti_helper,"a",function(){var e=r.data("selected-cell"),n=r.data("position"),i=r.data("instance")||t;"before"==n?(t.undo.saveStep(),e.addClass("fr-selected-cell"),i.table.insertColumn(n),e.removeClass("fr-selected-cell"),t.undo.saveStep()):"after"==n?(t.undo.saveStep(),e.addClass("fr-selected-cell"),i.table.insertColumn(n),e.removeClass("fr-selected-cell"),t.undo.saveStep()):"above"==n?(t.undo.saveStep(),e.addClass("fr-selected-cell"),i.table.insertRow(n),e.removeClass("fr-selected-cell"),t.undo.saveStep()):"below"==n&&(t.undo.saveStep(),e.addClass("fr-selected-cell"),i.table.insertRow(n),e.removeClass("fr-selected-cell"),t.undo.saveStep()),P()}),t.events.on("shared.destroy",function(){t.shared.$ti_helper.html("").removeData().remove(),t.shared.$ti_helper=null},!0),t.events.$on(t.shared.$ti_helper,"mousemove",function(e){e.stopPropagation()},!0),t.events.$on(e(t.o_win),"scroll",function(){P()},!0),t.events.$on(t.$wp,"scroll",function(){P()},!0)),r=t.shared.$ti_helper,t.events.on("destroy",function(){r=null}),t.tooltip.bind(t.$box,".fr-insert-helper > a.fr-floating-btn")}function q(){o=null,clearTimeout(s)}function j(){return t.el.querySelectorAll(".fr-selected-cell")}function Q(){var n=j();if(n.length){for(var r=n[0];r&&"TABLE"!=r.tagName&&r.parentNode!=t.el;)r=r.parentNode;return r&&"TABLE"==r.tagName?e(r):e([])}return e([])}return{_init:function(){if(!t.$wp)return!1;if(!t.helpers.isMobile()){l=i=a=!1,t.events.$on(t.$el,"mousedown",I),t.popups.onShow("image.edit",function(){y(),i=a=!1}),t.popups.onShow("link.edit",function(){y(),i=a=!1}),t.events.on("commands.mousedown",function(e){0<e.parents(".fr-toolbar").length&&y()}),t.events.$on(t.$el,"mouseenter","th, td",k),t.events.$on(t.$win,"mouseup",D),t.opts.iframe&&t.events.$on(e(t.o_win),"mouseup",D),t.events.$on(t.$win,"mousemove",G),t.events.$on(e(t.o_win),"scroll",W),t.events.on("contentChanged",function(){0<j().length&&(d(),t.$el.find("img").on("load.selected-cells",function(){e(this).off("load.selected-cells"),0<j().length&&d()}))}),t.events.$on(e(t.o_win),"resize",function(){y()}),t.events.on("toolbar.esc",function(){if(0<j().length)return t.events.disableBlur(),t.events.focus(),!1},!0),t.events.$on(e(t.o_win),"keydown",function(){a&&i&&(i=a=!1,t.$el.removeClass("fr-no-selection"),t.edit.on(),t.selection.setAtEnd(t.$el.find(".fr-selected-cell:last").get(0)),t.selection.restore(),y())}),t.events.$on(t.$el,"keydown",function(n){n.shiftKey?!1===function(n){var r=j();if(0<r.length){var i,a,o=A(),s=n.which;1==r.length?a=i=r[0]:(i=t.el.querySelector(".fr-cell-fixed"),a=t.el.querySelector(".fr-cell-handler"));var l=C(a,o);if(e.FE.KEYCODE.ARROW_RIGHT==s){if(l.col<o[0].length-1)return w(i,o[l.row][l.col+1]),!1}else if(e.FE.KEYCODE.ARROW_DOWN==s){if(l.row<o.length-1)return w(i,o[l.row+1][l.col]),!1}else if(e.FE.KEYCODE.ARROW_LEFT==s){if(0<l.col)return w(i,o[l.row][l.col-1]),!1}else if(e.FE.KEYCODE.ARROW_UP==s&&0<l.row)return w(i,o[l.row-1][l.col]),!1}}(n)&&setTimeout(function(){d()},0):function(n){var r=n.which,i=t.selection.blocks();if(i.length&&("TD"==(i=i[0]).tagName||"TH"==i.tagName)){for(var a=i;a&&"TABLE"!=a.tagName&&a.parentNode!=t.el;)a=a.parentNode;if(a&&"TABLE"==a.tagName&&(e.FE.KEYCODE.ARROW_LEFT==r||e.FE.KEYCODE.ARROW_UP==r||e.FE.KEYCODE.ARROW_RIGHT==r||e.FE.KEYCODE.ARROW_DOWN==r)&&(0<j().length&&O(),t.browser.webkit&&(e.FE.KEYCODE.ARROW_UP==r||e.FE.KEYCODE.ARROW_DOWN==r))){var o=t.selection.ranges(0).startContainer;if(o.nodeType==Node.TEXT_NODE&&(e.FE.KEYCODE.ARROW_UP==r&&o.previousSibling||e.FE.KEYCODE.ARROW_DOWN==r&&o.nextSibling))return;n.preventDefault(),n.stopPropagation();var s=A(e(a)),l=C(i,s);e.FE.KEYCODE.ARROW_UP==r?M(l,a,s):e.FE.KEYCODE.ARROW_DOWN==r&&$(l,a,s),t.selection.restore()}}}(n)}),t.events.on("keydown",function(n){if(!1===function(n){if(n.which==e.FE.KEYCODE.TAB){var r;if(0<j().length)r=t.$el.find(".fr-selected-cell:last");else{var i=t.selection.element();"TD"==i.tagName||"TH"==i.tagName?r=e(i):i!=t.el&&(0<e(i).parentsUntil(t.$el,"td").length?r=e(i).parents("td:first"):0<e(i).parentsUntil(t.$el,"th").length&&(r=e(i).parents("th:first")))}if(r)return n.preventDefault(),!!(0<e(t.selection.element()).parentsUntil(t.$el,"ol, ul").length&&(0<e(t.selection.element()).parents("li").prev().length||e(t.selection.element()).is("li")&&0<e(t.selection.element()).prev().length))||(O(),n.shiftKey?0<r.prev().length?V(r.prev()):0<r.closest("tr").length&&0<r.closest("tr").prev().length?V(r.closest("tr").prev().find("td:last")):0<r.closest("tbody").length&&0<r.closest("table").find("thead tr").length&&V(r.closest("table").find("thead tr th:last")):0<r.next().length?V(r.next()):0<r.closest("tr").length&&0<r.closest("tr").next().length?V(r.closest("tr").next().find("td:first")):0<r.closest("thead").length&&0<r.closest("table").find("tbody tr").length?V(r.closest("table").find("tbody tr td:first")):(r.addClass("fr-selected-cell"),g("below"),y(),V(r.closest("tr").next().find("td:first"))),t.selection.restore(),!1)}}(n))return!1;var r=j();if(0<r.length){if(0<r.length&&t.keys.ctrlKey(n)&&n.which==e.FE.KEYCODE.A)return y(),t.popups.isVisible("table.edit")&&t.popups.hide("table.edit"),r=[],!0;if(n.which==e.FE.KEYCODE.ESC&&t.popups.isVisible("table.edit"))return y(),t.popups.hide("table.edit"),n.preventDefault(),n.stopPropagation(),n.stopImmediatePropagation(),!(r=[]);if(1<r.length&&(n.which==e.FE.KEYCODE.BACKSPACE||n.which==e.FE.KEYCODE.DELETE)){t.undo.saveStep();for(var i=0;i<r.length;i++)e(r[i]).html("<br>"),i==r.length-1&&e(r[i]).prepend(e.FE.MARKERS);return t.selection.restore(),t.undo.saveStep(),!(r=[])}if(1<r.length&&n.which!=e.FE.KEYCODE.F10&&!t.keys.isBrowserAction(n))return n.preventDefault(),!(r=[])}else if(!(r=[])===function(n){if(n.altKey&&n.which==e.FE.KEYCODE.SPACE){var r,i=t.selection.element();if("TD"==i.tagName||"TH"==i.tagName?r=i:0<e(i).closest("td").length?r=e(i).closest("td").get(0):0<e(i).closest("th").length&&(r=e(i).closest("th").get(0)),r)return n.preventDefault(),w(r,r),d(),!1}}(n))return!1},!0);var n=[];t.events.on("html.beforeGet",function(){n=j();for(var e=0;e<n.length;e++)n[e].className=(n[e].className||"").replace(/fr-selected-cell/g,"")}),t.events.on("html.afterGet",function(){for(var e=0;e<n.length;e++)n[e].className=(n[e].className?n[e].className.trim()+" ":"")+"fr-selected-cell";n=[]}),f(!0),u(!0)}t.events.on("destroy",q)},insert:function(n,r){var i,a,o="<table "+(t.opts.tableDefaultWidth?'style="width: '+t.opts.tableDefaultWidth+';" ':"")+'class="fr-inserted-table"><tbody>',s=100/r;for(i=0;i<n;i++){for(o+="<tr>",a=0;a<r;a++)o+="<td"+(t.opts.tableDefaultWidth?' style="width: '+s.toFixed(4)+'%;"':"")+">",0===i&&0===a&&(o+=e.FE.MARKERS),o+="<br></td>";o+="</tr>"}o+="</tbody></table>",t.html.insert(o),t.selection.restore();var l=t.$el.find(".fr-inserted-table");l.removeClass("fr-inserted-table"),t.events.trigger("table.inserted",[l.get(0)])},remove:h,insertRow:g,deleteRow:function(){var n=Q();if(0<n.length){var r,i,a,o=A(),s=L(o);if(0===s.min_i&&s.max_i==o.length-1)h();else{for(r=s.max_i;r>=s.min_i;r--){for(a=e(n.find("tr").not(n.find("table tr")).get(r)),i=0;i<o[r].length;i++)if(0===i||o[r][i]!=o[r][i-1]){var l=e(o[r][i]);if(1<parseInt(l.attr("rowspan"),10)){var d=parseInt(l.attr("rowspan"),10)-1;1==d?l.removeAttr("rowspan"):l.attr("rowspan",d)}if(r<o.length-1&&o[r][i]==o[r+1][i]&&(0===r||o[r][i]!=o[r-1][i])){for(var c=o[r][i],f=i;0<f&&o[r][f]==o[r][f-1];)f--;0===f?e(n.find("tr").not(n.find("table tr")).get(r+1)).prepend(c):e(o[r+1][f-1]).after(c)}}var p=a.parent();a.remove(),0===p.find("tr").length&&p.remove(),o=A(n)}b(0,o.length-1,0,o[0].length-1,n),0<s.min_i?t.selection.setAtEnd(o[s.min_i-1][0]):t.selection.setAtEnd(o[0][0]),t.selection.restore(),t.popups.hide("table.edit")}}},insertColumn:function(n){var r=Q();if(0<r.length){var i,a=A(),o=L(a);i="before"==n?o.min_j:o.max_j;var s,l=100/a[0].length,c=100/(a[0].length+1);r.find("th, td").each(function(){(s=e(this)).data("old-width",s.outerWidth()/r.outerWidth()*100)}),r.find("tr").not(r.find("table tr")).each(function(t){for(var r,o=e(this),s=0,d=0;s-1<i;){if(!(r=o.find("> th, > td").get(d))){r=null;break}r==a[t][s]?(s+=parseInt(e(r).attr("colspan"),10)||1,d++):(s+=parseInt(e(a[t][s]).attr("colspan"),10)||1,"after"==n&&(r=0===d?-1:o.find("> th, > td").get(d-1)))}var f,p=e(r);if("after"==n&&i<s-1||"before"==n&&0<i&&a[t][i]==a[t][i-1]){if(0===t||0<t&&a[t][i]!=a[t-1][i]){var u=parseInt(p.attr("colspan"),10)+1;p.attr("colspan",u),p.css("width",(p.data("old-width")*c/l+c).toFixed(4)+"%"),p.removeData("old-width")}}else f=0<o.find("th").length?'<th style="width: '+c.toFixed(4)+'%;"><br></th>':'<td style="width: '+c.toFixed(4)+'%;"><br></td>',-1==r?o.prepend(f):null==r?o.append(f):"before"==n?p.before(f):"after"==n&&p.after(f)}),r.find("th, td").each(function(){(s=e(this)).data("old-width")&&(s.css("width",(s.data("old-width")*c/l).toFixed(4)+"%"),s.removeData("old-width"))}),t.popups.isVisible("table.edit")&&d()}},deleteColumn:function(){var n=Q();if(0<n.length){var r,i,a,o=A(),s=L(o);if(0===s.min_j&&s.max_j==o[0].length-1)h();else{var l=0;for(r=0;r<o.length;r++)for(i=0;i<o[0].length;i++)(a=e(o[r][i])).hasClass("fr-selected-cell")||(a.data("old-width",a.outerWidth()/n.outerWidth()*100),(i<s.min_j||i>s.max_j)&&(l+=a.outerWidth()/n.outerWidth()*100));for(l/=o.length,i=s.max_j;i>=s.min_j;i--)for(r=0;r<o.length;r++)if(0===r||o[r][i]!=o[r-1][i])if(a=e(o[r][i]),1<(parseInt(a.attr("colspan"),10)||1)){var d=parseInt(a.attr("colspan"),10)-1;1==d?a.removeAttr("colspan"):a.attr("colspan",d),a.css("width",(100*(a.data("old-width")-z(i,o))/l).toFixed(4)+"%"),a.removeData("old-width")}else{var c=e(a.parent().get(0));a.remove(),0===c.find("> th, > td").length&&(0===c.prev().length||0===c.next().length||c.prev().find("> th[rowspan], > td[rowspan]").length<c.prev().find("> th, > td").length)&&c.remove()}b(0,o.length-1,0,o[0].length-1,n),0<s.min_j?t.selection.setAtEnd(o[s.min_i][s.min_j-1]):t.selection.setAtEnd(o[s.min_i][0]),t.selection.restore(),t.popups.hide("table.edit"),n.find("th, td").each(function(){(a=e(this)).data("old-width")&&(a.css("width",(100*a.data("old-width")/l).toFixed(4)+"%"),a.removeData("old-width"))})}}},mergeCells:function(){if(1<j().length&&(0===t.$el.find("th.fr-selected-cell").length||0===t.$el.find("td.fr-selected-cell").length)){R();var n,r,i=L(A()),a=t.$el.find(".fr-selected-cell"),o=e(a[0]),s=o.parent().find(".fr-selected-cell"),l=o.closest("table"),c=o.html(),f=0;for(n=0;n<s.length;n++)f+=e(s[n]).outerWidth();for(o.css("width",Math.min(100,f/l.outerWidth()*100).toFixed(4)+"%"),i.min_j<i.max_j&&o.attr("colspan",i.max_j-i.min_j+1),i.min_i<i.max_i&&o.attr("rowspan",i.max_i-i.min_i+1),n=1;n<a.length;n++)"<br>"!=(r=e(a[n])).html()&&""!==r.html()&&(c+="<br>"+r.html()),r.remove();o.html(c),t.selection.setAtEnd(o.get(0)),t.selection.restore(),t.toolbar.enable(),v(i.min_i,i.max_i,l);var p=l.find("tr:empty");for(n=p.length-1;0<=n;n--)e(p[n]).remove();m(i.min_j,i.max_j,l),d()}},splitCellVertically:function(){if(1==j().length){var n=t.$el.find(".fr-selected-cell"),r=parseInt(n.attr("colspan"),10)||1,i=n.parent().outerWidth(),a=n.outerWidth(),o=n.clone().html("<br>"),s=A(),l=C(n.get(0),s);if(1<r){var d=Math.ceil(r/2);a=Y(l.col,l.col+d-1,s)/i*100;var c=Y(l.col+d,l.col+r-1,s)/i*100;1<d?n.attr("colspan",d):n.removeAttr("colspan"),1<r-d?o.attr("colspan",r-d):o.removeAttr("colspan"),n.css("width",a.toFixed(4)+"%"),o.css("width",c.toFixed(4)+"%")}else{var f;for(f=0;f<s.length;f++)if(0===f||s[f][l.col]!=s[f-1][l.col]){var p=e(s[f][l.col]);if(!p.is(n)){var u=(parseInt(p.attr("colspan"),10)||1)+1;p.attr("colspan",u)}}a=a/i*100/2,n.css("width",a.toFixed(4)+"%"),o.css("width",a.toFixed(4)+"%")}n.after(o),y(),t.popups.hide("table.edit")}},splitCellHorizontally:function(){if(1==j().length){var n=t.$el.find(".fr-selected-cell"),r=n.parent(),i=n.closest("table"),a=parseInt(n.attr("rowspan"),10),o=A(),s=C(n.get(0),o),l=n.clone().html("<br>");if(1<a){var d=Math.ceil(a/2);1<d?n.attr("rowspan",d):n.removeAttr("rowspan"),1<a-d?l.attr("rowspan",a-d):l.removeAttr("rowspan");for(var c=s.row+d,f=0===s.col?s.col:s.col-1;0<=f&&(o[c][f]==o[c][f-1]||0<c&&o[c][f]==o[c-1][f]);)f--;-1==f?e(i.find("tr").not(i.find("table tr")).get(c)).prepend(l):e(o[c][f]).after(l)}else{var p,u=e("<tr>").append(l);for(p=0;p<o[0].length;p++)if(0===p||o[s.row][p]!=o[s.row][p-1]){var h=e(o[s.row][p]);h.is(n)||h.attr("rowspan",(parseInt(h.attr("rowspan"),10)||1)+1)}r.after(u)}y(),t.popups.hide("table.edit")}},addHeader:function(){var t=Q();if(0<t.length&&0===t.find("th").length){var n,r="<thead><tr>",i=0;for(t.find("tr:first > td").each(function(){var t=e(this);i+=parseInt(t.attr("colspan"),10)||1}),n=0;n<i;n++)r+="<th><br></th>";r+="</tr></thead>",t.prepend(r),d()}},removeHeader:function(){var e=Q(),n=e.find("thead");if(0<n.length)if(0===e.find("tbody tr").length)h();else if(n.remove(),0<j().length)d();else{t.popups.hide("table.edit");var r=e.find("tbody tr:first td:first").get(0);r&&(t.selection.setAtEnd(r),t.selection.restore())}},setBackground:T,showInsertPopup:function(){var e=t.$tb.find('.fr-command[data-cmd="insertTable"]'),n=t.popups.get("table.insert");if(n||(n=f()),!n.hasClass("fr-active")){t.popups.refresh("table.insert"),t.popups.setContainer("table.insert",t.$tb);var r=e.offset().left+e.outerWidth()/2,i=e.offset().top+(t.opts.toolbarBottom?10:e.outerHeight()-10);t.popups.show("table.insert",r,i,e.outerHeight())}},showEditPopup:d,showColorsPopup:function n(){var r,i,a,o,s=A();if(s){var l=t.popups.get("table.colors");l||(l=function(){var r="";0<t.opts.tableColorsButtons.length&&(r='<div class="fr-buttons fr-table-colors-buttons">'+t.button.buildList(t.opts.tableColorsButtons)+"</div>");var i="";t.opts.colorsHEXInput&&(i='<div class="fr-table-colors-hex-layer fr-active fr-layer" id="fr-table-colors-hex-layer-'+t.id+'"><div class="fr-input-line"><input maxlength="7" id="fr-table-colors-hex-layer-text-'+t.id+'" type="text" placeholder="'+t.language.translate("HEX Color")+'" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="tableCellBackgroundCustomColor" tabIndex="2" role="button">'+t.language.translate("OK")+"</button></div></div>");var a,o={buttons:r,colors:function(){for(var e='<div class="fr-table-colors">',n=0;n<t.opts.tableColors.length;n++)0!==n&&n%t.opts.tableColorsStep==0&&(e+="<br>"),"REMOVE"!=t.opts.tableColors[n]?e+='<span class="fr-command" style="background: '+t.opts.tableColors[n]+';" tabIndex="-1" role="button" data-cmd="tableCellBackgroundColor" data-param1="'+t.opts.tableColors[n]+'"><span class="fr-sr-only">'+t.language.translate("Color")+" "+t.opts.tableColors[n]+"&nbsp;&nbsp;&nbsp;</span></span>":e+='<span class="fr-command" data-cmd="tableCellBackgroundColor" tabIndex="-1" role="button" data-param1="REMOVE" title="'+t.language.translate("Clear Formatting")+'">'+t.icon.create("tableColorRemove")+'<span class="fr-sr-only">'+t.language.translate("Clear Formatting")+"</span></span>";return e+"</div>"}(),custom_color:i},s=t.popups.create("table.colors",o);return t.events.$on(t.$wp,"scroll.table-colors",function(){t.popups.isVisible("table.colors")&&n()}),a=s,t.events.on("popup.tab",function(n){var r=e(n.currentTarget);if(!t.popups.isVisible("table.colors")||!r.is("span"))return!0;var i=n.which,o=!0;if(e.FE.KEYCODE.TAB==i){var s=a.find(".fr-buttons");o=!t.accessibility.focusToolbar(s,!!n.shiftKey)}else if(e.FE.KEYCODE.ARROW_UP==i||e.FE.KEYCODE.ARROW_DOWN==i||e.FE.KEYCODE.ARROW_LEFT==i||e.FE.KEYCODE.ARROW_RIGHT==i){var l=r.parent().find("span.fr-command"),d=l.index(r),c=t.opts.colorsStep,f=Math.floor(l.length/c),p=d%c,u=Math.floor(d/c)*c+p,h=f*c;e.FE.KEYCODE.ARROW_UP==i?u=((u-c)%h+h)%h:e.FE.KEYCODE.ARROW_DOWN==i?u=(u+c)%h:e.FE.KEYCODE.ARROW_LEFT==i?u=((u-1)%h+h)%h:e.FE.KEYCODE.ARROW_RIGHT==i&&(u=(u+1)%h);var g=e(l.get(u));t.events.disableBlur(),g.focus(),o=!1}else e.FE.KEYCODE.ENTER==i&&(t.button.exec(r),o=!1);return!1===o&&(n.preventDefault(),n.stopPropagation()),o},!0),s}()),t.popups.setContainer("table.colors",t.$sc);var d=x(s),c=(d.left+d.right)/2,f=d.bottom;r=t.popups.get("table.colors"),i=t.$el.find(".fr-selected-cell:first"),a=t.helpers.RGBToHex(i.css("background-color")),o=r.find(".fr-table-colors-hex-layer input"),r.find(".fr-selected-color").removeClass("fr-selected-color fr-active-item"),r.find('span[data-param1="'+a+'"]').addClass("fr-selected-color fr-active-item"),o.val(a).trigger("change"),t.popups.show("table.colors",c,f,d.bottom-d.top)}},back:function(){0<j().length?d():(t.popups.hide("table.insert"),t.toolbar.showInline())},verticalAlign:function(e){t.$el.find(".fr-selected-cell").css("vertical-align",e)},horizontalAlign:function(e){t.$el.find(".fr-selected-cell").css("text-align",e)},applyStyle:function(e,t,n,r){if(0<t.length){if(!n){var i=Object.keys(r);i.splice(i.indexOf(e),1),t.removeClass(i.join(" "))}t.toggleClass(e)}},selectedTable:Q,selectedCells:j,customColor:function(){var e=t.popups.get("table.colors").find(".fr-table-colors-hex-layer input");e.length&&T(e.val())},selectCells:w}},e.FE.DefineIcon("insertTable",{NAME:"table"}),e.FE.RegisterCommand("insertTable",{title:"Insert Table",undo:!1,focus:!0,refreshOnCallback:!1,popup:!0,callback:function(){this.popups.isVisible("table.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("table.insert")):this.table.showInsertPopup()},plugin:"table"}),e.FE.RegisterCommand("tableInsert",{callback:function(e,t,n){this.table.insert(t,n),this.popups.hide("table.insert")}}),e.FE.DefineIcon("tableHeader",{NAME:"header",FA5NAME:"heading"}),e.FE.RegisterCommand("tableHeader",{title:"Table Header",focus:!1,toggle:!0,callback:function(){this.popups.get("table.edit").find('.fr-command[data-cmd="tableHeader"]').hasClass("fr-active")?this.table.removeHeader():this.table.addHeader()},refresh:function(e){var t=this.table.selectedTable();0<t.length&&(0===t.find("th").length?e.removeClass("fr-active").attr("aria-pressed",!1):e.addClass("fr-active").attr("aria-pressed",!0))}}),e.FE.DefineIcon("tableRows",{NAME:"bars"}),e.FE.RegisterCommand("tableRows",{type:"dropdown",focus:!1,title:"Row",options:{above:"Insert row above",below:"Insert row below",delete:"Delete row"},html:function(){var t='<ul class="fr-dropdown-list" role="presentation">',n=e.FE.COMMANDS.tableRows.options;for(var r in n)n.hasOwnProperty(r)&&(t+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableRows" data-param1="'+r+'" title="'+this.language.translate(n[r])+'">'+this.language.translate(n[r])+"</a></li>");return t+"</ul>"},callback:function(e,t){"above"==t||"below"==t?this.table.insertRow(t):this.table.deleteRow()}}),e.FE.DefineIcon("tableColumns",{NAME:"bars fa-rotate-90"}),e.FE.RegisterCommand("tableColumns",{type:"dropdown",focus:!1,title:"Column",options:{before:"Insert column before",after:"Insert column after",delete:"Delete column"},html:function(){var t='<ul class="fr-dropdown-list" role="presentation">',n=e.FE.COMMANDS.tableColumns.options;for(var r in n)n.hasOwnProperty(r)&&(t+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableColumns" data-param1="'+r+'" title="'+this.language.translate(n[r])+'">'+this.language.translate(n[r])+"</a></li>");return t+"</ul>"},callback:function(e,t){"before"==t||"after"==t?this.table.insertColumn(t):this.table.deleteColumn()}}),e.FE.DefineIcon("tableCells",{NAME:"square-o",FA5NAME:"square"}),e.FE.RegisterCommand("tableCells",{type:"dropdown",focus:!1,title:"Cell",options:{merge:"Merge cells","vertical-split":"Vertical split","horizontal-split":"Horizontal split"},html:function(){var t='<ul class="fr-dropdown-list" role="presentation">',n=e.FE.COMMANDS.tableCells.options;for(var r in n)n.hasOwnProperty(r)&&(t+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableCells" data-param1="'+r+'" title="'+this.language.translate(n[r])+'">'+this.language.translate(n[r])+"</a></li>");return t+"</ul>"},callback:function(e,t){"merge"==t?this.table.mergeCells():"vertical-split"==t?this.table.splitCellVertically():this.table.splitCellHorizontally()},refreshOnShow:function(e,t){1<this.$el.find(".fr-selected-cell").length?(t.find('a[data-param1="vertical-split"]').addClass("fr-disabled").attr("aria-disabled",!0),t.find('a[data-param1="horizontal-split"]').addClass("fr-disabled").attr("aria-disabled",!0),t.find('a[data-param1="merge"]').removeClass("fr-disabled").attr("aria-disabled",!1)):(t.find('a[data-param1="merge"]').addClass("fr-disabled").attr("aria-disabled",!0),t.find('a[data-param1="vertical-split"]').removeClass("fr-disabled").attr("aria-disabled",!1),t.find('a[data-param1="horizontal-split"]').removeClass("fr-disabled").attr("aria-disabled",!1))}}),e.FE.DefineIcon("tableRemove",{NAME:"trash"}),e.FE.RegisterCommand("tableRemove",{title:"Remove Table",focus:!1,callback:function(){this.table.remove()}}),e.FE.DefineIcon("tableStyle",{NAME:"paint-brush"}),e.FE.RegisterCommand("tableStyle",{title:"Table Style",type:"dropdown",focus:!1,html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.tableStyles;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableStyle" data-param1="'+n+'" title="'+this.language.translate(t[n])+'">'+this.language.translate(t[n])+"</a></li>");return e+"</ul>"},callback:function(e,t){this.table.applyStyle(t,this.$el.find(".fr-selected-cell").closest("table"),this.opts.tableMultipleStyles,this.opts.tableStyles)},refreshOnShow:function(t,n){var r=this.$el.find(".fr-selected-cell").closest("table");r&&n.find(".fr-command").each(function(){var t=e(this).data("param1"),n=r.hasClass(t);e(this).toggleClass("fr-active",n).attr("aria-selected",n)})}}),e.FE.DefineIcon("tableCellBackground",{NAME:"tint"}),e.FE.RegisterCommand("tableCellBackground",{title:"Cell Background",focus:!1,popup:!0,callback:function(){this.table.showColorsPopup()}}),e.FE.RegisterCommand("tableCellBackgroundColor",{undo:!0,focus:!1,callback:function(e,t){this.table.setBackground(t)}}),e.FE.DefineIcon("tableBack",{NAME:"arrow-left"}),e.FE.RegisterCommand("tableBack",{title:"Back",undo:!1,focus:!1,back:!0,callback:function(){this.table.back()},refresh:function(e){0!==this.table.selectedCells().length||this.opts.toolbarInline?(e.removeClass("fr-hidden"),e.next(".fr-separator").removeClass("fr-hidden")):(e.addClass("fr-hidden"),e.next(".fr-separator").addClass("fr-hidden"))}}),e.FE.DefineIcon("tableCellVerticalAlign",{NAME:"arrows-v",FA5NAME:"arrows-alt-v"}),e.FE.RegisterCommand("tableCellVerticalAlign",{type:"dropdown",focus:!1,title:"Vertical Align",options:{Top:"Align Top",Middle:"Align Middle",Bottom:"Align Bottom"},html:function(){var t='<ul class="fr-dropdown-list" role="presentation">',n=e.FE.COMMANDS.tableCellVerticalAlign.options;for(var r in n)n.hasOwnProperty(r)&&(t+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableCellVerticalAlign" data-param1="'+r.toLowerCase()+'" title="'+this.language.translate(n[r])+'">'+this.language.translate(r)+"</a></li>");return t+"</ul>"},callback:function(e,t){this.table.verticalAlign(t)},refreshOnShow:function(e,t){t.find('.fr-command[data-param1="'+this.$el.find(".fr-selected-cell").css("vertical-align")+'"]').addClass("fr-active").attr("aria-selected",!0)}}),e.FE.DefineIcon("tableCellHorizontalAlign",{NAME:"align-left"}),e.FE.DefineIcon("align-left",{NAME:"align-left"}),e.FE.DefineIcon("align-right",{NAME:"align-right"}),e.FE.DefineIcon("align-center",{NAME:"align-center"}),e.FE.DefineIcon("align-justify",{NAME:"align-justify"}),e.FE.RegisterCommand("tableCellHorizontalAlign",{type:"dropdown",focus:!1,title:"Horizontal Align",options:{left:"Align Left",center:"Align Center",right:"Align Right",justify:"Align Justify"},html:function(){var t='<ul class="fr-dropdown-list" role="presentation">',n=e.FE.COMMANDS.tableCellHorizontalAlign.options;for(var r in n)n.hasOwnProperty(r)&&(t+='<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="tableCellHorizontalAlign" data-param1="'+r+'" title="'+this.language.translate(n[r])+'">'+this.icon.create("align-"+r)+'<span class="fr-sr-only">'+this.language.translate(n[r])+"</span></a></li>");return t+"</ul>"},callback:function(e,t){this.table.horizontalAlign(t)},refresh:function(t){var n=this.table.selectedCells();n.length&&t.find("> *:first").replaceWith(this.icon.create("align-"+this.helpers.getAlignment(e(n[0]))))},refreshOnShow:function(e,t){t.find('.fr-command[data-param1="'+this.helpers.getAlignment(this.$el.find(".fr-selected-cell:first"))+'"]').addClass("fr-active").attr("aria-selected",!0)}}),e.FE.DefineIcon("tableCellStyle",{NAME:"magic"}),e.FE.RegisterCommand("tableCellStyle",{title:"Cell Style",type:"dropdown",focus:!1,html:function(){var e='<ul class="fr-dropdown-list" role="presentation">',t=this.opts.tableCellStyles;for(var n in t)t.hasOwnProperty(n)&&(e+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableCellStyle" data-param1="'+n+'" title="'+this.language.translate(t[n])+'">'+this.language.translate(t[n])+"</a></li>");return e+"</ul>"},callback:function(e,t){this.table.applyStyle(t,this.$el.find(".fr-selected-cell"),this.opts.tableCellMultipleStyles,this.opts.tableCellStyles)},refreshOnShow:function(t,n){var r=this.$el.find(".fr-selected-cell:first");r&&n.find(".fr-command").each(function(){var t=e(this).data("param1"),n=r.hasClass(t);e(this).toggleClass("fr-active",n).attr("aria-selected",n)})}}),e.FE.RegisterCommand("tableCellBackgroundCustomColor",{title:"OK",undo:!0,callback:function(){this.table.customColor()}}),e.FE.DefineIcon("tableColorRemove",{NAME:"eraser"}),e.FE.URLRegEx="(^| |\\u00A0)("+e.FE.LinkRegEx+"|([a-z0-9+-_.]{1,}@[a-z0-9+-_.]{1,}\\.[a-z0-9+-_]{1,}))$",e.FE.PLUGINS.url=function(t){var n=null;function r(e,r,i){for(var a="";i.length&&"."==i[i.length-1];)a+=".",i=i.substring(0,i.length-1);var o=i;if(t.opts.linkConvertEmailAddress)t.helpers.isEmail(o)&&!/^mailto:.*/i.test(o)&&(o="mailto:"+o);else if(t.helpers.isEmail(o))return r+i;return/^((http|https|ftp|ftps|mailto|tel|sms|notes|data)\:)/i.test(o)||(o="//"+o),(r||"")+"<a"+(t.opts.linkAlwaysBlank?' target="_blank"':"")+(n?' rel="'+n+'"':"")+' data-fr-linked="true" href="'+o+'">'+i.replace(/&amp;/g,"&").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")+"</a>"+a}function i(){return new RegExp(e.FE.URLRegEx,"gi")}function a(e){return t.opts.linkAlwaysNoFollow&&(n="nofollow"),t.opts.linkAlwaysBlank&&(t.opts.linkNoOpener&&(n?n+=" noopener":n="noopener"),t.opts.linkNoReferrer&&(n?n+=" noreferrer":n="noreferrer")),e.replace(i(),r)}function o(e){var t=e.split(" ");return t[t.length-1]}function s(){var n=t.selection.ranges(0),r=n.startContainer;if(!r||r.nodeType!==Node.TEXT_NODE||n.startOffset!==(r.textContent||"").length)return!1;if(function e(n){return!!n&&("A"===n.tagName||!(!n.parentNode||n.parentNode==t.el)&&e(n.parentNode))}(r))return!1;if(i().test(o(r.textContent))){e(r).before(a(r.textContent));var s=e(r.parentNode).find("a[data-fr-linked]");s.removeAttr("data-fr-linked"),r.parentNode.removeChild(r),t.events.trigger("url.linked",[s.get(0)])}else if(r.textContent.split(" ").length<=2&&r.previousSibling&&"A"===r.previousSibling.tagName){var l=r.previousSibling.innerText+r.textContent;i().test(o(l))&&(e(r.previousSibling).replaceWith(a(l)),r.parentNode.removeChild(r))}}return{_init:function(){t.events.on("keypress",function(e){!t.selection.isCollapsed()||"."!=e.key&&")"!=e.key&&"("!=e.key||s()},!0),t.events.on("keydown",function(n){var r=n.which;!t.selection.isCollapsed()||r!=e.FE.KEYCODE.ENTER&&r!=e.FE.KEYCODE.SPACE||s()},!0),t.events.on("paste.beforeCleanup",function(e){if(t.helpers.isURL(e)){var n=null;return t.opts.linkAlwaysBlank&&(t.opts.linkNoOpener&&(n?n+=" noopener":n="noopener"),t.opts.linkNoReferrer&&(n?n+=" noreferrer":n="noreferrer")),"<a"+(t.opts.linkAlwaysBlank?' target="_blank"':"")+(n?' rel="'+n+'"':"")+' href="'+e+'" >'+e+"</a>"}})}}},e.extend(e.FE.POPUP_TEMPLATES,{"video.insert":"[_BUTTONS_][_BY_URL_LAYER_][_EMBED_LAYER_][_UPLOAD_LAYER_][_PROGRESS_BAR_]","video.edit":"[_BUTTONS_]","video.size":"[_BUTTONS_][_SIZE_LAYER_]"}),e.extend(e.FE.DEFAULTS,{videoAllowedTypes:["mp4","webm","ogg"],videoAllowedProviders:[".*"],videoDefaultAlign:"center",videoDefaultDisplay:"block",videoDefaultWidth:600,videoEditButtons:["videoReplace","videoRemove","|","videoDisplay","videoAlign","videoSize"],videoInsertButtons:["videoBack","|","videoByURL","videoEmbed","videoUpload"],videoMaxSize:52428800,videoMove:!0,videoResize:!0,videoResponsive:!1,videoSizeButtons:["videoBack","|"],videoSplitHTML:!1,videoTextNear:!0,videoUpload:!0,videoUploadMethod:"POST",videoUploadParam:"file",videoUploadParams:{},videoUploadToS3:!1,videoUploadURL:null}),e.FE.VIDEO_PROVIDERS=[{test_regex:/^.*((youtu.be)|(youtube.com))\/((v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))?\??v?=?([^#\&\?]*).*/,url_regex:/(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=|embed\/)?([0-9a-zA-Z_\-]+)(.+)?/g,url_text:"https://www.youtube.com/embed/$1",html:'<iframe width="640" height="360" src="{url}?wmode=opaque" frameborder="0" allowfullscreen></iframe>',provider:"youtube"},{test_regex:/^.*(?:vimeo.com)\/(?:channels(\/\w+\/)?|groups\/*\/videos\/\u200b\d+\/|video\/|)(\d+)(?:$|\/|\?)/,url_regex:/(?:https?:\/\/)?(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/(?:[^\/]*)\/videos\/|album\/(?:\d+)\/video\/|video\/|)(\d+)(?:[a-zA-Z0-9_\-]+)?(\/[a-zA-Z0-9_\-]+)?/i,url_text:"https://player.vimeo.com/video/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"vimeo"},{test_regex:/^.+(dailymotion.com|dai.ly)\/(video|hub)?\/?([^_]+)[^#]*(#video=([^_&]+))?/,url_regex:/(?:https?:\/\/)?(?:www\.)?(?:dailymotion\.com|dai\.ly)\/(?:video|hub)?\/?(.+)/g,url_text:"https://www.dailymotion.com/embed/video/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"dailymotion"},{test_regex:/^.+(screen.yahoo.com)\/[^_&]+/,url_regex:"",url_text:"",html:'<iframe width="640" height="360" src="{url}?format=embed" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" allowtransparency="true"></iframe>',provider:"yahoo"},{test_regex:/^.+(rutube.ru)\/[^_&]+/,url_regex:/(?:https?:\/\/)?(?:www\.)?(?:rutube\.ru)\/(?:video)?\/?(.+)/g,url_text:"https://rutube.ru/play/embed/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" allowtransparency="true"></iframe>',provider:"rutube"},{test_regex:/^(?:.+)vidyard.com\/(?:watch)?\/?([^.&\/]+)\/?(?:[^_.&]+)?/,url_regex:/^(?:.+)vidyard.com\/(?:watch)?\/?([^.&\/]+)\/?(?:[^_.&]+)?/g,url_text:"https://play.vidyard.com/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"vidyard"},{test_regex:/^.*(naver.com)\/[^_&]+/,url_regex:/(?:https?:\/\/)?(?:tv\.)?(?:m\.)?naver.com\/v\/?([0-9a-zA-Z_\-]+)(.+)?/g,url_text:"https://tv.naver.com/embed/$1",html:'<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>',provider:"naver"},{test_regex:/^.*(kakao.com)\/[^_&]+/,url_regex:/(?:https?:\/\/)?(?:tv\.)?(?:m\.)?kakao.com\/v\/?([0-9a-zA-Z_\-]+)(.+)?/g,url_text:"https://play-tv.kakao.com/embed/player/cliplink/$1",html:'<iframe width="640" height="360" src="{url}?service=player_share" frameborder="0" allowfullscreen></iframe>',provider:"kakao"}],e.FE.VIDEO_EMBED_REGEX=/^\W*((<iframe.*><\/iframe>)|(<embed.*>))\W*$/i,e.FE.PLUGINS.video=function(t){var n,r,i,a,o,s,l="https://i.froala.com/upload",d=2,c=3,f=4,p=5,u=6,h={};function g(){var e=t.popups.get("video.insert");e.find(".fr-video-by-url-layer input").val("").trigger("change");var n=e.find(".fr-video-embed-layer textarea");n.val("").trigger("change"),(n=e.find(".fr-video-upload-layer input")).val("").trigger("change")}function m(){var e=t.popups.get("video.edit");if(e||(e=function(){var e="";if(0<t.opts.videoEditButtons.length){t.opts.videoResponsive&&(t.opts.videoEditButtons.splice(t.opts.videoEditButtons.indexOf("videoSize"),1),t.opts.videoEditButtons.splice(t.opts.videoEditButtons.indexOf("videoDisplay"),1),t.opts.videoEditButtons.splice(t.opts.videoEditButtons.indexOf("videoAlign"),1)),e+='<div class="fr-buttons">',e+=t.button.buildList(t.opts.videoEditButtons);var n={buttons:e+="</div>"},r=t.popups.create("video.edit",n);return t.events.$on(t.$wp,"scroll.video-edit",function(){a&&t.popups.isVisible("video.edit")&&(t.events.disableBlur(),R(a))}),r}return!1}()),e){t.popups.setContainer("video.edit",t.$sc),t.popups.refresh("video.edit");var n=a.find("iframe, embed, video"),r=n.offset().left+n.outerWidth()/2,i=n.offset().top+n.outerHeight();t.popups.show("video.edit",r,i,n.outerHeight())}}function v(n){if(n)return t.popups.onRefresh("video.insert",g),t.popups.onHide("image.insert",X),!0;var r="";t.opts.videoUpload||t.opts.videoInsertButtons.splice(t.opts.videoInsertButtons.indexOf("videoUpload"),1),1<t.opts.videoInsertButtons.length&&(r='<div class="fr-buttons">'+t.button.buildList(t.opts.videoInsertButtons)+"</div>");var i,a="",o=t.opts.videoInsertButtons.indexOf("videoUpload"),s=t.opts.videoInsertButtons.indexOf("videoByURL"),l=t.opts.videoInsertButtons.indexOf("videoEmbed");0<=s&&(i=" fr-active",(o<s&&0<=o||l<s&&0<=l)&&(i=""),a='<div class="fr-video-by-url-layer fr-layer'+i+'" id="fr-video-by-url-layer-'+t.id+'"><div class="fr-input-line"><input id="fr-video-by-url-layer-text-'+t.id+'" type="text" placeholder="'+t.language.translate("Paste in a video URL")+'" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="videoInsertByURL" tabIndex="2" role="button">'+t.language.translate("Insert")+"</button></div></div>");var d="";0<=l&&(i=" fr-active",(o<l&&0<=o||s<l&&0<=s)&&(i=""),d='<div class="fr-video-embed-layer fr-layer'+i+'" id="fr-video-embed-layer-'+t.id+'"><div class="fr-input-line"><textarea id="fr-video-embed-layer-text'+t.id+'" type="text" placeholder="'+t.language.translate("Embedded Code")+'" tabIndex="1" aria-required="true" rows="5"></textarea></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="videoInsertEmbed" tabIndex="2" role="button">'+t.language.translate("Insert")+"</button></div></div>");var c="";0<=o&&(i=" fr-active",(l<o&&0<=l||s<o&&0<=s)&&(i=""),c='<div class="fr-video-upload-layer fr-layer'+i+'" id="fr-video-upload-layer-'+t.id+'"><strong>'+t.language.translate("Drop video")+"</strong><br>("+t.language.translate("or click")+')<div class="fr-form"><input type="file" accept="video/'+t.opts.videoAllowedTypes.join(", video/").toLowerCase()+'" tabIndex="-1" aria-labelledby="fr-video-upload-layer-'+t.id+'" role="button"></div></div>');var f={buttons:r,by_url_layer:a,embed_layer:d,upload_layer:c,progress_bar:'<div class="fr-video-progress-bar-layer fr-layer"><h3 tabIndex="-1" class="fr-message">Uploading</h3><div class="fr-loader"><span class="fr-progress"></span></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-dismiss" data-cmd="videoDismissError" tabIndex="2" role="button">OK</button></div></div>'},p=t.popups.create("video.insert",f);return function(n){t.events.$on(n,"dragover dragenter",".fr-video-upload-layer",function(){return e(this).addClass("fr-drop"),!1},!0),t.events.$on(n,"dragleave dragend",".fr-video-upload-layer",function(){return e(this).removeClass("fr-drop"),!1},!0),t.events.$on(n,"drop",".fr-video-upload-layer",function(r){r.preventDefault(),r.stopPropagation(),e(this).removeClass("fr-drop");var i=r.originalEvent.dataTransfer;if(i&&i.files){var a=n.data("instance")||t;a.events.disableBlur(),a.video.upload(i.files),a.events.enableBlur()}},!0),t.helpers.isIOS()&&t.events.$on(n,"touchstart",'.fr-video-upload-layer input[type="file"]',function(){e(this).trigger("click")},!0),t.events.$on(n,"change",'.fr-video-upload-layer input[type="file"]',function(){if(this.files){var r=n.data("instance")||t;r.events.disableBlur(),n.find("input:focus").blur(),r.events.enableBlur(),r.video.upload(this.files)}e(this).val("")},!0)}(p),p}function E(e){t.events.focus(!0),t.selection.restore();var n=!1;a&&(V(),n=!0),t.html.insert('<span contenteditable="false" draggable="true" class="fr-jiv fr-video">'+e+"</span>",!1,t.opts.videoSplitHTML),t.popups.hide("video.insert");var r=t.$el.find(".fr-jiv");r.removeClass("fr-jiv"),r.toggleClass("fr-rv",t.opts.videoResponsive),q(r,t.opts.videoDefaultDisplay,t.opts.videoDefaultAlign),r.toggleClass("fr-draggable",t.opts.videoMove),t.events.trigger(n?"video.replaced":"video.inserted",[r])}function b(){var n=e(this);t.popups.hide("video.insert"),n.removeClass("fr-uploading"),n.parent().next().is("br")&&n.parent().next().remove(),R(n.parent()),t.events.trigger("video.loaded",[n.parent()])}function T(n,r,i,a,o){t.edit.off(),S("Loading video"),r&&(n=t.helpers.sanitizeURL(n)),A("Loading video"),function(){var r,s;if(a){t.undo.canDo()||a.find("video").hasClass("fr-uploading")||t.undo.saveStep();var l=a.find("video").data("fr-old-src"),d=a.data("fr-replaced");a.data("fr-replaced",!1),t.$wp?((r=a.clone()).find("video").removeData("fr-old-src").removeClass("fr-uploading"),r.find("video").off("canplay"),l&&a.find("video").attr("src",l),a.replaceWith(r)):r=a;for(var c=r.find("video").get(0).attributes,f=0;f<c.length;f++){var p=c[f];0===p.nodeName.indexOf("data-")&&r.find("video").removeAttr(p.nodeName)}if(void 0!==i)for(s in i)i.hasOwnProperty(s)&&"link"!=s&&r.find("video").attr("data-"+s,i[s]);r.find("video").on("canplay",b),r.find("video").attr("src",n),t.edit.on(),k(),t.undo.saveStep(),t.$el.blur(),t.events.trigger(d?"video.replaced":"video.inserted",[r,o])}else r=function(n,r,i){var a,o="";if(r&&void 0!==r)for(a in r)r.hasOwnProperty(a)&&"link"!=a&&(o+=" data-"+a+'="'+r[a]+'"');var s=t.opts.videoDefaultWidth;s&&"auto"!=s&&(s+="px");var l=e('<span contenteditable="false" draggable="true" class="fr-video fr-dv'+t.opts.videoDefaultDisplay[0]+("center"!=t.opts.videoDefaultAlign?" fr-fv"+t.opts.videoDefaultAlign[0]:"")+'"><video src="'+n+'" '+o+(s?' style="width: '+s+';" ':"")+" controls>"+t.language.translate("Your browser does not support HTML5 video.")+"</video></span>");l.toggleClass("fr-draggable",t.opts.videoMove),t.edit.on(),t.events.focus(!0),t.selection.restore(),t.undo.saveStep(),t.opts.videoSplitHTML?t.markers.split():t.markers.insert(),t.html.wrap();var d=t.$el.find(".fr-marker");return t.node.isLastSibling(d)&&d.parent().hasClass("fr-deletable")&&d.insertAfter(d.parent()),d.replaceWith(l),t.selection.clear(),l.find("video").get(0).readyState>l.find("video").get(0).HAVE_FUTURE_DATA||t.helpers.isIOS()?i.call(l.find("video").get(0)):l.find("video").on("canplaythrough load",i),l}(n,i,b),k(),t.undo.saveStep(),t.events.trigger("video.inserted",[r,o])}()}function A(e){var n=t.popups.get("video.insert");if(n||(n=v()),n.find(".fr-layer.fr-active").removeClass("fr-active").addClass("fr-pactive"),n.find(".fr-video-progress-bar-layer").addClass("fr-active"),n.find(".fr-buttons").hide(),a){var r=a.find("video");t.popups.setContainer("video.insert",t.$sc);var i=r.offset().left+r.width()/2,o=r.offset().top+r.height();t.popups.show("video.insert",i,o,r.outerHeight())}void 0===e&&S(t.language.translate("Uploading"),0)}function C(e){var n=t.popups.get("video.insert");if(n&&(n.find(".fr-layer.fr-pactive").addClass("fr-active").removeClass("fr-pactive"),n.find(".fr-video-progress-bar-layer").removeClass("fr-active"),n.find(".fr-buttons").show(),e||t.$el.find("video.fr-error").length)){if(t.events.focus(),t.$el.find("video.fr-error").length&&(t.$el.find("video.fr-error").parent().remove(),t.undo.saveStep(),t.undo.run(),t.undo.dropRedo()),!t.$wp&&a){var r=a;$(!0),t.selection.setAfter(r.find("video").get(0)),t.selection.restore()}t.popups.hide("video.insert")}}function S(e,n){var r=t.popups.get("video.insert");if(r){var i=r.find(".fr-video-progress-bar-layer");i.find("h3").text(e+(n?" "+n+"%":"")),i.removeClass("fr-error"),n?(i.find("div").removeClass("fr-indeterminate"),i.find("div > span").css("width",n+"%")):i.find("div").addClass("fr-indeterminate")}}function R(e){M.call(e.get(0))}function y(n){S("Loading video");var r=this.status,i=this.response,a=this.responseXML,o=this.responseText;try{if(t.opts.videoUploadToS3)if(201==r){var s=function(n){try{var r=e(n).find("Location").text(),i=e(n).find("Key").text();return!1===t.events.trigger("video.uploadedToS3",[r,i,n],!0)?(t.edit.on(),!1):r}catch(e){return H(f,n),!1}}(a);s&&T(s,!1,[],n,i||a)}else H(f,i||a);else if(200<=r&&r<300){var l=function(e){try{if(!1===t.events.trigger("video.uploaded",[e],!0))return t.edit.on(),!1;var n=JSON.parse(e);return n.link?n:(H(d,e),!1)}catch(t){return H(f,e),!1}}(o);l&&T(l.link,!1,l,n,i||o)}else H(c,i||o)}catch(e){H(f,i||o)}}function _(){H(f,this.response||this.responseText||this.responseXML)}function L(e){if(e.lengthComputable){var n=e.loaded/e.total*100|0;S(t.language.translate("Uploading"),n)}}function x(){t.edit.on(),C(!0)}function w(a){if(!t.core.sameInstance(i))return!0;a.preventDefault(),a.stopPropagation();var o=a.pageX||(a.originalEvent.touches?a.originalEvent.touches[0].pageX:null),s=a.pageY||(a.originalEvent.touches?a.originalEvent.touches[0].pageY:null);if(!o||!s)return!1;if("mousedown"==a.type){var l=t.$oel.get(0).ownerDocument,d=l.defaultView||l.parentWindow,c=!1;try{c=d.location!=d.parent.location&&!(d.$&&d.$.FE)}catch(e){}c&&d.frameElement&&(o+=t.helpers.getPX(e(d.frameElement).offset().left)+d.frameElement.clientLeft,s=a.clientY+t.helpers.getPX(e(d.frameElement).offset().top)+d.frameElement.clientTop)}t.undo.canDo()||t.undo.saveStep(),(r=e(this)).data("start-x",o),r.data("start-y",s),n.show(),t.popups.hideAll(),P()}function N(e){if(!t.core.sameInstance(i))return!0;if(r){e.preventDefault();var n=e.pageX||(e.originalEvent.touches?e.originalEvent.touches[0].pageX:null),o=e.pageY||(e.originalEvent.touches?e.originalEvent.touches[0].pageY:null);if(!n||!o)return!1;var s=r.data("start-x"),l=r.data("start-y");r.data("start-x",n),r.data("start-y",o);var d=n-s,c=o-l,f=a.find("iframe, embed, video"),p=f.width(),u=f.height();(r.hasClass("fr-hnw")||r.hasClass("fr-hsw"))&&(d=0-d),(r.hasClass("fr-hnw")||r.hasClass("fr-hne"))&&(c=0-c),f.css("width",p+d),f.css("height",u+c),f.removeAttr("width"),f.removeAttr("height"),F()}}function O(e){if(!t.core.sameInstance(i))return!0;r&&a&&(e&&e.stopPropagation(),r=null,n.hide(),F(),m(),t.undo.saveStep())}function I(e){return'<div class="fr-handler fr-h'+e+'"></div>'}function D(e,t,n,r){return e.pageX=t,e.pageY=t,w.call(this,e),e.pageX=e.pageX+n*Math.floor(Math.pow(1.1,r)),e.pageY=e.pageY+n*Math.floor(Math.pow(1.1,r)),N.call(this,e),O.call(this,e),++r}function k(){var n,r=Array.prototype.slice.call(t.el.querySelectorAll("video, .fr-video > *")),i=[];for(n=0;n<r.length;n++)i.push(r[n].getAttribute("src")),e(r[n]).toggleClass("fr-draggable",t.opts.videoMove),""===r[n].getAttribute("class")&&r[n].removeAttribute("class"),""===r[n].getAttribute("style")&&r[n].removeAttribute("style");if(o)for(n=0;n<o.length;n++)i.indexOf(o[n].getAttribute("src"))<0&&t.events.trigger("video.removed",[e(o[n])]);o=r}function F(){i||function(){var r;if(t.shared.$video_resizer?(i=t.shared.$video_resizer,n=t.shared.$vid_overlay,t.events.on("destroy",function(){i.removeClass("fr-active").appendTo(e("body:first"))},!0)):(t.shared.$video_resizer=e('<div class="fr-video-resizer"></div>'),i=t.shared.$video_resizer,t.events.$on(i,"mousedown",function(e){e.stopPropagation()},!0),t.opts.videoResize&&(i.append(I("nw")+I("ne")+I("sw")+I("se")),t.shared.$vid_overlay=e('<div class="fr-video-overlay"></div>'),n=t.shared.$vid_overlay,r=i.get(0).ownerDocument,e(r).find("body:first").append(n))),t.events.on("shared.destroy",function(){i.html("").removeData().remove(),i=null,t.opts.videoResize&&(n.remove(),n=null)},!0),t.helpers.isMobile()||t.events.$on(e(t.o_win),"resize.video",function(){$(!0)}),t.opts.videoResize){r=i.get(0).ownerDocument,t.events.$on(i,t._mousedown,".fr-handler",w),t.events.$on(e(r),t._mousemove,N),t.events.$on(e(r.defaultView||r.parentWindow),t._mouseup,O),t.events.$on(n,"mouseleave",O);var o=1,s=null,l=0;t.events.on("keydown",function(n){if(a){var r=-1!=navigator.userAgent.indexOf("Mac OS X")?n.metaKey:n.ctrlKey,i=n.which;(i!==s||200<n.timeStamp-l)&&(o=1),(i==e.FE.KEYCODE.EQUALS||t.browser.mozilla&&i==e.FE.KEYCODE.FF_EQUALS)&&r&&!n.altKey?o=D.call(this,n,1,1,o):(i==e.FE.KEYCODE.HYPHEN||t.browser.mozilla&&i==e.FE.KEYCODE.FF_HYPHEN)&&r&&!n.altKey&&(o=D.call(this,n,2,-1,o)),s=i,l=n.timeStamp}}),t.events.on("keyup",function(){o=1})}}(),(t.$wp||t.$sc).append(i),i.data("instance",t);var r=a.find("iframe, embed, video");i.css("top",(t.opts.iframe?r.offset().top-1:r.offset().top-t.$wp.offset().top-1)+t.$wp.scrollTop()).css("left",(t.opts.iframe?r.offset().left-1:r.offset().left-t.$wp.offset().left-1)+t.$wp.scrollLeft()).css("width",r.get(0).getBoundingClientRect().width).css("height",r.get(0).getBoundingClientRect().height).addClass("fr-active")}function M(n){if(n&&"touchend"==n.type&&s)return!0;if(n&&t.edit.isDisabled())return n.stopPropagation(),n.preventDefault(),!1;if(t.edit.isDisabled())return!1;for(var r=0;r<e.FE.INSTANCES.length;r++)e.FE.INSTANCES[r]!=t&&e.FE.INSTANCES[r].events.trigger("video.hideResizer");t.toolbar.disable(),t.helpers.isMobile()&&(t.events.disableBlur(),t.$el.blur(),t.events.enableBlur()),t.$el.find(".fr-video.fr-active").removeClass("fr-active"),(a=e(this)).addClass("fr-active"),t.opts.iframe&&t.size.syncIframe(),Q(),F(),m(),t.selection.clear(),t.button.bulkRefresh(),t.events.trigger("image.hideResizer")}function $(e){a&&(t.shared.vid_exit_flag||!0===e)&&(i.removeClass("fr-active"),t.toolbar.enable(),a.removeClass("fr-active"),a=null,P())}function B(){t.shared.vid_exit_flag=!0}function P(){t.shared.vid_exit_flag=!1}function U(n){var r=n.originalEvent.dataTransfer;if(r&&r.files&&r.files.length){var i=r.files[0];if(i&&i.type&&-1!==i.type.indexOf("video")){if(!t.opts.videoUpload)return n.preventDefault(),n.stopPropagation(),!1;t.markers.remove(),t.markers.insertAtPoint(n.originalEvent),t.$el.find(".fr-marker").replaceWith(e.FE.MARKERS),t.popups.hideAll();var a=t.popups.get("video.insert");return a||(a=v()),t.popups.setContainer("video.insert",t.$sc),t.popups.show("video.insert",n.originalEvent.pageX,n.originalEvent.pageY),A(),0<=t.opts.videoAllowedTypes.indexOf(i.type.replace(/video\//g,""))?K(r.files):H(u),n.preventDefault(),n.stopPropagation(),!1}}}function K(e){if(void 0!==e&&0<e.length){if(!1===t.events.trigger("video.beforeUpload",[e]))return!1;var n,r=e[0];if((null===t.opts.videoUploadURL||t.opts.videoUploadURL==l)&&!t.opts.videoUploadToS3)return c=r,(f=new FileReader).addEventListener("load",function(){f.result;for(var e=atob(f.result.split(",")[1]),t=[],n=0;n<e.length;n++)t.push(e.charCodeAt(n));T(window.URL.createObjectURL(new Blob([new Uint8Array(t)],{type:c.type})),!1,null,a)},!1),A(),f.readAsDataURL(c),!1;if(r.size>t.opts.videoMaxSize)return H(p),!1;if(t.opts.videoAllowedTypes.indexOf(r.type.replace(/video\//g,""))<0)return H(u),!1;if(t.drag_support.formdata&&(n=t.drag_support.formdata?new FormData:null),n){var i;if(!1!==t.opts.videoUploadToS3)for(i in n.append("key",t.opts.videoUploadToS3.keyStart+(new Date).getTime()+"-"+(r.name||"untitled")),n.append("success_action_status","201"),n.append("X-Requested-With","xhr"),n.append("Content-Type",r.type),t.opts.videoUploadToS3.params)t.opts.videoUploadToS3.params.hasOwnProperty(i)&&n.append(i,t.opts.videoUploadToS3.params[i]);for(i in t.opts.videoUploadParams)t.opts.videoUploadParams.hasOwnProperty(i)&&n.append(i,t.opts.videoUploadParams[i]);n.append(t.opts.videoUploadParam,r);var o=t.opts.videoUploadURL;t.opts.videoUploadToS3&&(o=t.opts.videoUploadToS3.uploadURL?t.opts.videoUploadToS3.uploadURL:"https://"+t.opts.videoUploadToS3.region+".amazonaws.com/"+t.opts.videoUploadToS3.bucket);var s=t.core.getXHR(o,t.opts.videoUploadMethod);s.onload=function(){y.call(s,a)},s.onerror=_,s.upload.onprogress=L,s.onabort=x,A(),t.events.disableBlur(),t.edit.off(),t.events.enableBlur();var d=t.popups.get("video.insert");d&&d.off("abortUpload").on("abortUpload",function(){4!=s.readyState&&s.abort()}),s.send(n)}}var c,f}function H(e,n){t.edit.on(),a&&a.find("video").addClass("fr-error"),function(e){A();var n=t.popups.get("video.insert").find(".fr-video-progress-bar-layer");n.addClass("fr-error");var r=n.find("h3");r.text(e),t.events.disableBlur(),r.focus()}(t.language.translate("Something went wrong. Please try again.")),t.events.trigger("video.error",[{code:e,message:h[e]},n])}function W(){if(a){var e=t.popups.get("video.size"),n=a.find("iframe, embed, video");e.find('input[name="width"]').val(n.get(0).style.width||n.attr("width")).trigger("change"),e.find('input[name="height"]').val(n.get(0).style.height||n.attr("height")).trigger("change")}}function z(e){if(e)return t.popups.onRefresh("video.size",W),!0;var n={buttons:'<div class="fr-buttons">'+t.button.buildList(t.opts.videoSizeButtons)+"</div>",size_layer:'<div class="fr-video-size-layer fr-layer fr-active" id="fr-video-size-layer-'+t.id+'"><div class="fr-video-group"><div class="fr-input-line"><input id="fr-video-size-layer-width-'+t.id+'" type="text" name="width" placeholder="'+t.language.translate("Width")+'" tabIndex="1"></div><div class="fr-input-line"><input id="fr-video-size-layer-height-'+t.id+'" type="text" name="height" placeholder="'+t.language.translate("Height")+'" tabIndex="1"></div></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="videoSetSize" tabIndex="2" role="button">'+t.language.translate("Update")+"</button></div></div>"},r=t.popups.create("video.size",n);return t.events.$on(t.$wp,"scroll",function(){a&&t.popups.isVisible("video.size")&&(t.events.disableBlur(),R(a))}),r}function Y(e){if(void 0===e&&(e=a),e){if(e.hasClass("fr-fvl"))return"left";if(e.hasClass("fr-fvr"))return"right";if(e.hasClass("fr-dvb")||e.hasClass("fr-dvi"))return"center";if("block"==e.css("display")){if("left"==e.css("text-algin"))return"left";if("right"==e.css("text-align"))return"right"}else{if("left"==e.css("float"))return"left";if("right"==e.css("float"))return"right"}}return"center"}function G(e){void 0===e&&(e=a);var t=e.css("float");return e.css("float","none"),"block"==e.css("display")?(e.css("float",""),e.css("float")!=t&&e.css("float",t),"block"):(e.css("float",""),e.css("float")!=t&&e.css("float",t),"inline")}function V(){if(a&&!1!==t.events.trigger("video.beforeRemove",[a])){var e=a;t.popups.hideAll(),$(!0),t.selection.setBefore(e.get(0))||t.selection.setAfter(e.get(0)),e.remove(),t.selection.restore(),t.html.fillEmptyBlocks(),t.events.trigger("video.removed",[e])}}function X(){C()}function q(e,n,r){!t.opts.htmlUntouched&&t.opts.useClasses?(e.removeClass("fr-fvl fr-fvr fr-dvb fr-dvi"),e.addClass("fr-fv"+r[0]+" fr-dv"+n[0])):"inline"==n?(e.css({display:"inline-block"}),"center"==r?e.css({float:"none"}):"left"==r?e.css({float:"left"}):e.css({float:"right"})):(e.css({display:"block",clear:"both"}),"left"==r?e.css({textAlign:"left"}):"right"==r?e.css({textAlign:"right"}):e.css({textAlign:"center"}))}function j(){t.$el.find("video").filter(function(){return 0===e(this).parents("span.fr-video").length}).wrap('<span class="fr-video" contenteditable="false"></span>'),t.$el.find("embed, iframe").filter(function(){if(t.browser.safari&&this.getAttribute("src")&&this.setAttribute("src",this.src),0<e(this).parents("span.fr-video").length)return!1;for(var n=e(this).attr("src"),r=0;r<e.FE.VIDEO_PROVIDERS.length;r++){var i=e.FE.VIDEO_PROVIDERS[r];if(i.test_regex.test(n)&&new RegExp(t.opts.videoAllowedProviders.join("|")).test(i.provider))return!0}return!1}).map(function(){return 0===e(this).parents("object").length?this:e(this).parents("object").get(0)}).wrap('<span class="fr-video" contenteditable="false"></span>');for(var n,r,i=t.$el.find("span.fr-video, video"),a=0;a<i.length;a++){var o=e(i[a]);!t.opts.htmlUntouched&&t.opts.useClasses?((r=o).hasClass("fr-dvi")||r.hasClass("fr-dvb")||(r.addClass("fr-fv"+Y(r)[0]),r.addClass("fr-dv"+G(r)[0])),t.opts.videoTextNear||o.removeClass("fr-dvi").addClass("fr-dvb")):t.opts.htmlUntouched||t.opts.useClasses||(q(n=o,n.hasClass("fr-dvb")?"block":n.hasClass("fr-dvi")?"inline":null,n.hasClass("fr-fvl")?"left":n.hasClass("fr-fvr")?"right":Y(n)),n.removeClass("fr-dvb fr-dvi fr-fvr fr-fvl"))}i.toggleClass("fr-draggable",t.opts.videoMove)}function Q(){if(a){t.selection.clear();var e=t.doc.createRange();e.selectNode(a.get(0)),t.selection.get().addRange(e)}}return h[1]="Video cannot be loaded from the passed link.",h[d]="No link in upload response.",h[c]="Error during file upload.",h[f]="Parsing response failed.",h[p]="File is too large.",h[u]="Video file type is invalid.",h[7]="Files can be uploaded only to same domain in IE 8 and IE 9.",t.shared.vid_exit_flag=!1,{_init:function(){t.opts.videoResponsive&&(t.opts.videoResize=!1),t.events.on("drop",U,!0),t.events.on("mousedown window.mousedown",B),t.events.on("window.touchmove",P),t.events.on("mouseup window.mouseup",$),t.events.on("commands.mousedown",function(e){0<e.parents(".fr-toolbar").length&&$()}),t.events.on("video.hideResizer commands.undo commands.redo element.dropped",function(){$(!0)}),t.helpers.isMobile()&&(t.events.$on(t.$el,"touchstart","span.fr-video",function(){s=!1}),t.events.$on(t.$el,"touchmove",function(){s=!0})),t.events.on("html.set",j),j(),t.events.$on(t.$el,"mousedown","span.fr-video",function(e){e.stopPropagation(),(t.browser.msie||t.browser.edge)&&(e.target.dragDrop(),M.call(this,e))}),t.events.$on(t.$el,"click touchend","span.fr-video",function(t){if("false"==e(this).parents("[contenteditable]:not(.fr-element):not(.fr-img-caption):not(body):first").attr("contenteditable"))return!0;M.call(this,t)}),t.events.on("keydown",function(n){var r=n.which;return!a||r!=e.FE.KEYCODE.BACKSPACE&&r!=e.FE.KEYCODE.DELETE?a&&r==e.FE.KEYCODE.ESC?($(!0),n.preventDefault(),!1):a&&r!=e.FE.KEYCODE.F10&&!t.keys.isBrowserAction(n)?(n.preventDefault(),!1):void 0:(n.preventDefault(),V(),t.undo.saveStep(),!1)},!0),t.events.on("toolbar.esc",function(){if(a)return t.events.disableBlur(),t.events.focus(),!1},!0),t.events.on("toolbar.focusEditor",function(){if(a)return!1},!0),t.events.on("keydown",function(){t.$el.find("span.fr-video:empty").remove()}),t.$wp&&(k(),t.events.on("contentChanged",k)),v(!0),z(!0)},showInsertPopup:function(){var e=t.$tb.find('.fr-command[data-cmd="insertVideo"]'),n=t.popups.get("video.insert");if(n||(n=v()),C(),!n.hasClass("fr-active"))if(t.popups.refresh("video.insert"),t.popups.setContainer("video.insert",t.$tb),e.is(":visible")){var r=e.offset().left+e.outerWidth()/2,i=e.offset().top+(t.opts.toolbarBottom?10:e.outerHeight()-10);t.popups.show("video.insert",r,i,e.outerHeight())}else t.position.forSelection(n),t.popups.show("video.insert")},showLayer:function(e){var n,r,i=t.popups.get("video.insert");if(!a&&!t.opts.toolbarInline){var o=t.$tb.find('.fr-command[data-cmd="insertVideo"]');n=o.offset().left+o.outerWidth()/2,r=o.offset().top+(t.opts.toolbarBottom?10:o.outerHeight()-10)}t.opts.toolbarInline&&(r=i.offset().top-t.helpers.getPX(i.css("margin-top")),i.hasClass("fr-above")&&(r+=i.outerHeight())),i.find(".fr-layer").removeClass("fr-active"),i.find(".fr-"+e+"-layer").addClass("fr-active"),t.popups.show("video.insert",n,r,0),t.accessibility.focusPopup(i)},refreshByURLButton:function(e){t.popups.get("video.insert").find(".fr-video-by-url-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},refreshEmbedButton:function(e){t.popups.get("video.insert").find(".fr-video-embed-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},refreshUploadButton:function(e){t.popups.get("video.insert").find(".fr-video-upload-layer").hasClass("fr-active")&&e.addClass("fr-active").attr("aria-pressed",!0)},upload:K,insertByURL:function(n){void 0===n&&(n=(t.popups.get("video.insert").find('.fr-video-by-url-layer input[type="text"]').val()||"").trim());var r=null;if(/^http/.test(n)||(n="https://"+n),t.helpers.isURL(n))for(var i=0;i<e.FE.VIDEO_PROVIDERS.length;i++){var a=e.FE.VIDEO_PROVIDERS[i];if(a.test_regex.test(n)&&new RegExp(t.opts.videoAllowedProviders.join("|")).test(a.provider)){r=n.replace(a.url_regex,a.url_text),r=a.html.replace(/\{url\}/,r);break}}r?E(r):t.events.trigger("video.linkError",[n])},insertEmbed:function(n){void 0===n&&(n=t.popups.get("video.insert").find(".fr-video-embed-layer textarea").val()||""),0!==n.length&&e.FE.VIDEO_EMBED_REGEX.test(n)?E(n):t.events.trigger("video.codeError",[n])},insert:E,align:function(e){a.removeClass("fr-fvr fr-fvl"),!t.opts.htmlUntouched&&t.opts.useClasses?"left"==e?a.addClass("fr-fvl"):"right"==e&&a.addClass("fr-fvr"):q(a,G(),e),Q(),F(),m(),t.selection.clear()},refreshAlign:function(e){if(!a)return!1;e.find("> *:first").replaceWith(t.icon.create("video-align-"+Y()))},refreshAlignOnShow:function(e,t){a&&t.find('.fr-command[data-param1="'+Y()+'"]').addClass("fr-active").attr("aria-selected",!0)},display:function(e){a.removeClass("fr-dvi fr-dvb"),!t.opts.htmlUntouched&&t.opts.useClasses?"inline"==e?a.addClass("fr-dvi"):"block"==e&&a.addClass("fr-dvb"):q(a,e,Y()),Q(),F(),m(),t.selection.clear()},refreshDisplayOnShow:function(e,t){a&&t.find('.fr-command[data-param1="'+G()+'"]').addClass("fr-active").attr("aria-selected",!0)},remove:V,hideProgressBar:C,showSizePopup:function(){var e=t.popups.get("video.size");e||(e=z()),C(),t.popups.refresh("video.size"),t.popups.setContainer("video.size",t.$sc);var n=a.find("iframe, embed, video"),r=n.offset().left+n.width()/2,i=n.offset().top+n.height();t.popups.show("video.size",r,i,n.height())},replace:function(){var e=t.popups.get("video.insert");e||(e=v()),t.popups.isVisible("video.insert")||(C(),t.popups.refresh("video.insert"),t.popups.setContainer("video.insert",t.$sc));var n=a.offset().left+a.width()/2,r=a.offset().top+a.height();t.popups.show("video.insert",n,r,a.outerHeight())},back:function(){a?(t.events.disableBlur(),a.trigger("click")):(t.events.disableBlur(),t.selection.restore(),t.events.enableBlur(),t.popups.hide("video.insert"),t.toolbar.showInline())},setSize:function(e,n){if(a){var r=t.popups.get("video.size"),i=a.find("iframe, embed, video");i.css("width",e||r.find('input[name="width"]').val()),i.css("height",n||r.find('input[name="height"]').val()),i.get(0).style.width&&i.removeAttr("width"),i.get(0).style.height&&i.removeAttr("height"),r.find("input:focus").blur(),setTimeout(function(){a.trigger("click")},t.helpers.isAndroid()?50:0)}},get:function(){return a}}},e.FE.RegisterCommand("insertVideo",{title:"Insert Video",undo:!1,focus:!0,refreshAfterCallback:!1,popup:!0,callback:function(){this.popups.isVisible("video.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("video.insert")):this.video.showInsertPopup()},plugin:"video"}),e.FE.DefineIcon("insertVideo",{NAME:"video-camera",FA5NAME:"camera"}),e.FE.DefineIcon("videoByURL",{NAME:"link"}),e.FE.RegisterCommand("videoByURL",{title:"By URL",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer("video-by-url")},refresh:function(e){this.video.refreshByURLButton(e)}}),e.FE.DefineIcon("videoEmbed",{NAME:"code"}),e.FE.RegisterCommand("videoEmbed",{title:"Embedded Code",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer("video-embed")},refresh:function(e){this.video.refreshEmbedButton(e)}}),e.FE.DefineIcon("videoUpload",{NAME:"upload"}),e.FE.RegisterCommand("videoUpload",{title:"Upload Video",undo:!1,focus:!1,toggle:!0,callback:function(){this.video.showLayer("video-upload")},refresh:function(e){this.video.refreshUploadButton(e)}}),e.FE.RegisterCommand("videoInsertByURL",{undo:!0,focus:!0,callback:function(){this.video.insertByURL()}}),e.FE.RegisterCommand("videoInsertEmbed",{undo:!0,focus:!0,callback:function(){this.video.insertEmbed()}}),e.FE.DefineIcon("videoDisplay",{NAME:"star"}),e.FE.RegisterCommand("videoDisplay",{title:"Display",type:"dropdown",options:{inline:"Inline",block:"Break Text"},callback:function(e,t){this.video.display(t)},refresh:function(e){this.opts.videoTextNear||e.addClass("fr-hidden")},refreshOnShow:function(e,t){this.video.refreshDisplayOnShow(e,t)}}),e.FE.DefineIcon("video-align",{NAME:"align-left"}),e.FE.DefineIcon("video-align-left",{NAME:"align-left"}),e.FE.DefineIcon("video-align-right",{NAME:"align-right"}),e.FE.DefineIcon("video-align-center",{NAME:"align-justify"}),e.FE.DefineIcon("videoAlign",{NAME:"align-center"}),e.FE.RegisterCommand("videoAlign",{type:"dropdown",title:"Align",options:{left:"Align Left",center:"None",right:"Align Right"},html:function(){var t='<ul class="fr-dropdown-list" role="presentation">',n=e.FE.COMMANDS.videoAlign.options;for(var r in n)n.hasOwnProperty(r)&&(t+='<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="videoAlign" data-param1="'+r+'" title="'+this.language.translate(n[r])+'">'+this.icon.create("video-align-"+r)+'<span class="fr-sr-only">'+this.language.translate(n[r])+"</span></a></li>");return t+"</ul>"},callback:function(e,t){this.video.align(t)},refresh:function(e){this.video.refreshAlign(e)},refreshOnShow:function(e,t){this.video.refreshAlignOnShow(e,t)}}),e.FE.DefineIcon("videoReplace",{NAME:"exchange",FA5NAME:"exchange-alt"}),e.FE.RegisterCommand("videoReplace",{title:"Replace",undo:!1,focus:!1,popup:!0,refreshAfterCallback:!1,callback:function(){this.video.replace()}}),e.FE.DefineIcon("videoRemove",{NAME:"trash"}),e.FE.RegisterCommand("videoRemove",{title:"Remove",callback:function(){this.video.remove()}}),e.FE.DefineIcon("videoSize",{NAME:"arrows-alt"}),e.FE.RegisterCommand("videoSize",{undo:!1,focus:!1,popup:!0,title:"Change Size",callback:function(){this.video.showSizePopup()}}),e.FE.DefineIcon("videoBack",{NAME:"arrow-left"}),e.FE.RegisterCommand("videoBack",{title:"Back",undo:!1,focus:!1,back:!0,callback:function(){this.video.back()},refresh:function(e){this.video.get()||this.opts.toolbarInline?(e.removeClass("fr-hidden"),e.next(".fr-separator").removeClass("fr-hidden")):(e.addClass("fr-hidden"),e.next(".fr-separator").addClass("fr-hidden"))}}),e.FE.RegisterCommand("videoDismissError",{title:"OK",undo:!1,callback:function(){this.video.hideProgressBar(!0)}}),e.FE.RegisterCommand("videoSetSize",{undo:!0,focus:!1,title:"Update",refreshAfterCallback:!1,callback:function(){this.video.setSize()}}),e.extend(e.FE.DEFAULTS,{wordDeniedTags:[],wordDeniedAttrs:[],wordAllowedStyleProps:["font-family","font-size","background","color","width","text-align","vertical-align","background-color","padding","margin","height","margin-top","margin-left","margin-right","margin-bottom","text-decoration","font-weight","font-style","text-indent"],wordPasteModal:!0,wordPasteKeepFormatting:!0}),e.FE.PLUGINS.wordPaste=function(t){var n,r,i="word_paste";function a(n){var a=t.opts.wordAllowedStyleProps;n||(t.opts.wordAllowedStyleProps=[]),0===r.indexOf("<colgroup>")&&(r="<table>"+r+"</table>"),r=function(n,r){0<=n.indexOf("<html")&&(n=n.replace(/[.\s\S\w\W<>]*(<html[^>]*>[.\s\S\w\W<>]*<\/html>)[.\s\S\w\W<>]*/i,"$1")),function(e){for(var t=e.split("v:shape"),n=1;n<t.length;n++){var r=t[n],i=r.split(' id="')[1];if(i&&1<i.length){i=i.split('"')[0];var a=r.split(' o:spid="')[1];a&&1<a.length&&(a=a.split('"')[0],E[i]=a)}}}(n);var i=(new DOMParser).parseFromString(n,"text/html"),a=i.head,f=i.body,p=function(e){var t={},n=e.getElementsByTagName("style");if(n.length){var r=n[0].innerHTML.match(/[\S ]+\s+{[\s\S]+?}/gi);if(r)for(var i=0;i<r.length;i++){var a=r[i],o=a.replace(/([\S ]+\s+){[\s\S]+?}/gi,"$1"),s=a.replace(/[\S ]+\s+{([\s\S]+?)}/gi,"$1");o=o.replace(/^[\s]|[\s]$/gm,""),s=s.replace(/^[\s]|[\s]$/gm,""),o=o.replace(/\n|\r|\n\r/g,""),s=s.replace(/\n|\r|\n\r/g,"");for(var l=o.split(", "),d=0;d<l.length;d++)t[l[d]]=s}}return t}(a);s(f,function(t){if(t.nodeType==Node.TEXT_NODE&&/\n|\u00a0|\r/.test(t.data)){if(!/\S| /.test(t.data))return t.data==e.FE.UNICODE_NBSP?(t.data="​",!0):1==t.data.length&&10==t.data.charCodeAt(0)?(t.data=" ",!0):(o(t),!1);t.data=t.data.replace(/\n|\r/gi," ")}return!0}),s(f,function(n){return n.nodeType!=Node.ELEMENT_NODE||"V:IMAGEDATA"!=n.tagName&&"IMG"!=n.tagName||function(n,r){if(r){var i;if("IMG"==n.tagName){var a=n.getAttribute("src");if(!a||-1==a.indexOf("file://"))return;if(0===a.indexOf("file://")&&t.helpers.isURL(n.getAttribute("alt")))return n.setAttribute("src",n.getAttribute("alt"));(i=E[n.getAttribute("v:shapes")])||(i=n.getAttribute("v:shapes"))}else i=n.parentNode.getAttribute("o:spid");if(n.removeAttribute("height"),i){var o;g={},m(o=r,"i","\\shppict"),m(o,"s","\\shp{");var s=g[i.substring(7)];if(s){var l=function(e){for(var t=s.image_hex.match(/[0-9a-f]{2}/gi),n=[],r=0;r<t.length;r++)n.push(String.fromCharCode(parseInt(t[r],16)));var i=n.join("");return btoa(i)}(),d="data:"+s.image_type+";base64,"+l;"IMG"===n.tagName?(n.src=d,n.setAttribute("data-fr-image-pasted",!0)):e(n.parentNode).before('<img data-fr-image-pasted="true" src="'+d+'" style="'+n.parentNode.getAttribute("style")+'">').remove()}}}}(n,r),!0});for(var h=f.querySelectorAll("ul > ul, ul > ol, ol > ul, ol > ol"),b=h.length-1;0<=b;b--)h[b].previousElementSibling&&"LI"===h[b].previousElementSibling.tagName&&h[b].previousElementSibling.appendChild(h[b]);s(f,function(e){if(e.nodeType==Node.TEXT_NODE)return e.data=e.data.replace(/<br>(\n|\r)/gi,"<br>"),!1;if(e.nodeType==Node.ELEMENT_NODE){if(l(e)){var t,n=e.parentNode,r=e.previousSibling,i=function e(t,n){var r=/[0-9a-zA-Z]./gi,i=!1;t.firstElementChild&&t.firstElementChild.firstElementChild&&t.firstElementChild.firstElementChild.firstChild&&!(i=i||r.test(t.firstElementChild.firstElementChild.firstChild.data||""))&&t.firstElementChild.firstElementChild.firstElementChild&&t.firstElementChild.firstElementChild.firstElementChild.firstChild&&(i=i||r.test(t.firstElementChild.firstElementChild.firstElementChild.firstChild.data||""));var a=i?"ol":"ul",s=d(t),f="<"+a+"><li>"+c(t,n),p=t.nextElementSibling,u=t.parentNode;for(o(t),t=null;p&&l(p);){var h=p.previousElementSibling,g=d(p);if(s<g)f+=e(p,n).outerHTML;else{if(g<s)break;f+="</li><li>"+c(p,n)}if(s=g,p.previousElementSibling||p.nextElementSibling||p.parentNode){var m=p;p=p.nextElementSibling,o(m),m=null}else p=h?h.nextElementSibling:u.firstElementChild}f+="</li></"+a+">";var v=document.createElement("div");return v.innerHTML=f,v.firstElementChild}(e,p);return(t=r?r.nextSibling:n.firstChild)?n.insertBefore(i,t):n.appendChild(i),!1}return v(e,p)}return e.nodeType!=Node.COMMENT_NODE||(o(e),!1)}),s(f,function(e){if(e.nodeType==Node.ELEMENT_NODE){var t=e.tagName;if(!e.innerHTML&&-1==["BR","IMG"].indexOf(t)){for(var n=e.parentNode;n&&(o(e),!(e=n).innerHTML);)n=e.parentNode;return!1}!function(e){var t=e.getAttribute("style");if(t){(t=u(t))&&";"!=t.slice(-1)&&(t+=";");var n=t.match(/(^|\S+?):.+?;{1,1}/gi);if(n){for(var r={},i=0;i<n.length;i++){var a=n[i].split(":");2==a.length&&("text-align"==a[0]&&"SPAN"==e.tagName||(r[a[0]]=a[1]))}var o="";for(var s in r)if(r.hasOwnProperty(s)){if("font-size"==s&&"pt;"==r[s].slice(-3)){var l=null;try{l=parseFloat(r[s].slice(0,-3),10)}catch(e){}l&&(l=Math.round(1.33*l),r[s]=l+"px;")}o+=s+":"+r[s]}o&&e.setAttribute("style",o)}}}(e)}return!0});var T=f.outerHTML,A=t.opts.htmlAllowedStyleProps;return t.opts.htmlAllowedStyleProps=t.opts.wordAllowedStyleProps,T=t.clean.html(T,t.opts.wordDeniedTags,t.opts.wordDeniedAttrs,!1),t.opts.htmlAllowedStyleProps=A,T}(r=r.replace(/<span[\n\r ]*style='mso-spacerun:yes'>([\r\n\u00a0 ]*)<\/span>/g,function(e,t){for(var n="",r=0;r++<t.length;)n+="&nbsp;";return n}),t.paste.getRtfClipboard());var f=t.doc.createElement("DIV");f.innerHTML=r,t.html.cleanBlankSpaces(f),r=f.innerHTML,r=(r=t.paste.cleanEmptyTagsAndDivs(r)).replace(/\u200b/g,""),t.modals.hide(i),t.paste.clean(r,!0,!0),t.opts.wordAllowedStyleProps=a}function o(e){e.parentNode&&e.parentNode.removeChild(e)}function s(e,t){if(t(e))for(var n=e.firstChild;n;){var r=n,i=n.previousSibling;n=n.nextSibling,s(r,t),r.previousSibling||r.nextSibling||r.parentNode||!n||i==n.previousSibling||!n.parentNode?r.previousSibling||r.nextSibling||r.parentNode||!n||n.previousSibling||n.nextSibling||n.parentNode||(i?n=i.nextSibling?i.nextSibling.nextSibling:null:e.firstChild&&(n=e.firstChild.nextSibling)):n=i?i.nextSibling:e.firstChild}}function l(e){if(!e.getAttribute("style")||!/mso-list:[\s]*l/gi.test(e.getAttribute("style").replace(/\n/gi,"")))return!1;try{if(!e.querySelector('[style="mso-list:Ignore"]'))return!1}catch(e){return!1}return!0}function d(e){return e.getAttribute("style").replace(/\n/gi,"").replace(/.*level([0-9]+?).*/gi,"$1")}function c(e,t){var n=e.cloneNode(!0);if(-1!=["H1","H2","H3","H4","H5","H6"].indexOf(e.tagName)){var r=document.createElement(e.tagName.toLowerCase());r.setAttribute("style",e.getAttribute("style")),r.innerHTML=n.innerHTML,n.innerHTML=r.outerHTML}s(n,function(e){return e.nodeType==Node.ELEMENT_NODE&&("mso-list:Ignore"==e.getAttribute("style")&&e.parentNode.removeChild(e),v(e,t)),!0});var i=n.innerHTML;return i.replace(/<!--[\s\S]*?-->/gi,"")}function f(e,t){for(var n=document.createElement(t),r=0;r<e.attributes.length;r++){var i=e.attributes[r].name;n.setAttribute(i,e.getAttribute(i))}return n.innerHTML=e.innerHTML,e.parentNode.replaceChild(n,e),n}function p(e){var t=e.getAttribute("align");t&&(e.style["text-align"]=t,e.removeAttribute("align"))}function u(e){return e.replace(/\n|\r|\n\r|&quot;/g,"")}function h(e,t,n){if(t){var r=e.getAttribute("style");r&&";"!=r.slice(-1)&&(r+=";"),t&&";"!=t.slice(-1)&&(t+=";"),t=t.replace(/\n/gi,"");var i;i=n?(r||"")+t:t+(r||""),e.setAttribute("style",i)}}var g=null;function m(e,t,n){for(var r=e.split(n),i=1;i<r.length;i++){var a=r[i];if(1<(a=a.split("shplid")).length){a=a[1];for(var o="",s=0;s<a.length&&"\\"!=a[s]&&"{"!=a[s]&&" "!=a[s]&&"\r"!=a[s]&&"\n"!=a[s];)o+=a[s],s++;var l=a.split("bliptag");if(l&&l.length<2)continue;var d=null;if(-1!=l[0].indexOf("pngblip")?d="image/png":-1!=l[0].indexOf("jpegblip")&&(d="image/jpeg"),!d)continue;var c,f=l[1].split("}");if(f&&f.length<2)continue;if(2<f.length&&-1!=f[0].indexOf("blipuid"))c=f[1].split(" ");else{if((c=f[0].split(" "))&&c.length<2)continue;c.shift()}var p=c.join("");g[t+o]={image_hex:p,image_type:d}}}}function v(n,r){var i=n.tagName,a=i.toLowerCase();if(n.firstElementChild&&("I"==n.firstElementChild.tagName?f(n.firstElementChild,"em"):"B"==n.firstElementChild.tagName&&f(n.firstElementChild,"strong")),-1!=["SCRIPT","APPLET","EMBED","NOFRAMES","NOSCRIPT"].indexOf(i))return o(n),!1;var s=-1,d=["META","LINK","XML","ST1:","O:","W:","FONT"];for(s=0;s<d.length;s++)if(-1!=i.indexOf(d[s]))return n.innerHTML&&(n.outerHTML=n.innerHTML),o(n),!1;if("TD"!=i){var c=n.getAttribute("class");if(r&&c){var g=(c=u(c)).split(" ");for(s=0;s<g.length;s++){var m=[],v="."+g[s];m.push(v),v=a+v,m.push(v);for(var E=0;E<m.length;E++)r[m[E]]&&h(n,r[m[E]])}n.removeAttribute("class")}r&&r[a]&&h(n,r[a])}if(-1!=["P","H1","H2","H3","H4","H5","H6","PRE"].indexOf(i)){var b=n.getAttribute("class");if(b&&(r&&r[i.toLowerCase()+"."+b]&&h(n,r[i.toLowerCase()+"."+b]),-1!=b.toLowerCase().indexOf("mso"))){var T=u(b);(T=T.replace(/[0-9a-z-_]*mso[0-9a-z-_]*/gi,""))?n.setAttribute("class",T):n.removeAttribute("class")}var A=n.getAttribute("style");if(A){var C=A.match(/text-align:.+?[; "]{1,1}/gi);C&&C[C.length-1].replace(/(text-align:.+?[; "]{1,1})/gi,"$1")}p(n)}if("TR"==i&&function(n,r){t.node.clearAttributes(n);for(var i=n.firstElementChild,a=0,s=!1,d=null;i;){i.firstElementChild&&-1!=i.firstElementChild.tagName.indexOf("W:")&&(i.innerHTML=i.firstElementChild.innerHTML),(d=i.getAttribute("width"))||s||(s=!0),a+=parseInt(d,10),(!i.firstChild||i.firstChild&&i.firstChild.data==e.FE.UNICODE_NBSP)&&(i.firstChild&&o(i.firstChild),i.innerHTML="<br>");for(var c=i.firstElementChild,f=1==i.children.length;c;)"P"!=c.tagName||l(c)||f&&p(c),c=c.nextElementSibling;if(r){var g=i.getAttribute("class");if(g){var m=(g=u(g)).match(/xl[0-9]+/gi);if(m){var v="."+m[0];r[v]&&h(i,r[v])}}r.td&&h(i,r.td)}var E=i.getAttribute("style");E&&(E=u(E))&&";"!=E.slice(-1)&&(E+=";");var b=i.getAttribute("valign");if(!b&&E){var T=E.match(/vertical-align:.+?[; "]{1,1}/gi);T&&(b=T[T.length-1].replace(/vertical-align:(.+?)[; "]{1,1}/gi,"$1"))}var A=null;if(E){var C=E.match(/text-align:.+?[; "]{1,1}/gi);C&&(A=C[C.length-1].replace(/text-align:(.+?)[; "]{1,1}/gi,"$1")),"general"==A&&(A=null)}var S=null;if(E){var R=E.match(/background:.+?[; "]{1,1}/gi);R&&(S=R[R.length-1].replace(/background:(.+?)[; "]{1,1}/gi,"$1"))}var y=i.getAttribute("colspan"),_=i.getAttribute("rowspan");y&&i.setAttribute("colspan",y),_&&i.setAttribute("rowspan",_),b&&(i.style["vertical-align"]=b),A&&(i.style["text-align"]=A),S&&(i.style["background-color"]=S),d&&i.setAttribute("width",d),i=i.nextElementSibling}for(i=n.firstElementChild;i;)d=i.getAttribute("width"),s?i.removeAttribute("width"):i.setAttribute("width",100*parseInt(d,10)/a+"%"),i=i.nextElementSibling}(n,r),"A"!=i||n.attributes.getNamedItem("href")||n.attributes.getNamedItem("name")||!n.innerHTML||(n.outerHTML=n.innerHTML),"TD"!=i&&"TH"!=i||n.innerHTML||(n.innerHTML="<br>"),"TABLE"==i&&(n.style.width="100%"),n.getAttribute("lang")&&n.removeAttribute("lang"),n.getAttribute("style")&&-1!=n.getAttribute("style").toLowerCase().indexOf("mso")){var S=u(n.getAttribute("style"));(S=S.replace(/[0-9a-z-_]*mso[0-9a-z-_]*:.+?(;{1,1}|$)/gi,""))?n.setAttribute("style",S):n.removeAttribute("style")}return!0}var E={};return{_init:function(){t.events.on("paste.wordPaste",function(o){return r=o,t.opts.wordPasteModal?function(){if(!n){var r='<h4><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 74.95 73.23" style="height: 25px; vertical-align: text-bottom; margin-right: 5px; display: inline-block"><defs><style>.a{fill:#2a5699;}.b{fill:#fff;}</style></defs><path class="a" d="M615.15,827.22h5.09V834c9.11.05,18.21-.09,27.32.05a2.93,2.93,0,0,1,3.29,3.25c.14,16.77,0,33.56.09,50.33-.09,1.72.17,3.63-.83,5.15-1.24.89-2.85.78-4.3.84-8.52,0-17,0-25.56,0v6.81h-5.32c-13-2.37-26-4.54-38.94-6.81q0-29.8,0-59.59c13.05-2.28,26.11-4.5,39.17-6.83Z" transform="translate(-575.97 -827.22)"/><path class="b" d="M620.24,836.59h28.1v54.49h-28.1v-6.81h22.14v-3.41H620.24v-4.26h22.14V873.2H620.24v-4.26h22.14v-3.41H620.24v-4.26h22.14v-3.41H620.24v-4.26h22.14v-3.41H620.24V846h22.14v-3.41H620.24Zm-26.67,15c1.62-.09,3.24-.16,4.85-.25,1.13,5.75,2.29,11.49,3.52,17.21,1-5.91,2-11.8,3.06-17.7,1.7-.06,3.41-.15,5.1-.26-1.92,8.25-3.61,16.57-5.71,24.77-1.42.74-3.55,0-5.24.09-1.13-5.64-2.45-11.24-3.47-16.9-1,5.5-2.29,10.95-3.43,16.42q-2.45-.13-4.92-.3c-1.41-7.49-3.07-14.93-4.39-22.44l4.38-.18c.88,5.42,1.87,10.82,2.64,16.25,1.2-5.57,2.43-11.14,3.62-16.71Z" transform="translate(-575.97 -827.22)"/></svg> '+t.language.translate("Word Paste Detected")+"</h4>",a=(l='<div class="fr-word-paste-modal" style="padding: 20px 20px 10px 20px;">',l+='<p style="text-align: left;">'+t.language.translate("The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?")+"</p>",l+='<div style="text-align: right; margin-top: 50px;"><button class="fr-remove-word fr-command">'+t.language.translate("Clean")+'</button> <button class="fr-keep-word fr-command">'+t.language.translate("Keep")+"</button></div>",l+="</div>"),o=t.modals.create(i,r,a),s=o.$body;n=o.$modal,o.$modal.addClass("fr-middle"),t.events.bindClick(s,"button.fr-remove-word",function(){(n.data("instance")||t).wordPaste.clean()}),t.events.bindClick(s,"button.fr-keep-word",function(){(n.data("instance")||t).wordPaste.clean(!0)}),t.events.$on(e(t.o_win),"resize",function(){t.modals.resize(i)})}var l;t.modals.show(i),t.modals.resize(i)}():a(t.opts.wordPasteKeepFormatting),!1})},clean:a}}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/froala_editor.pkgd.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/froala_editor_script_custom.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/froala_editor_script_custom.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/froala_editor_script_custom.js (revision 7) @@ -0,0 +1,516 @@ +/* +*===================================== +*========= 에디터 관련 javascript 추가 ========= +*===================================== +*/ +//v2.9.1까지 사용가능(적용버전 v2.9.1) +//아이디 hubizict@hubizict.com +//비번설정 54183377 +;(function($) { + var key = "3C11A5C7C4gC3E3A2D3B7A4B3F4C2C2zHMDUGENKACTMXQL=="; + var defaults = { + key: key, + language: 'ko', + heightMin: 400, + toolbarButtonsSM: ['fullscreen', 'bold', 'italic', 'underline', 'fontFamily', 'fontSize', 'insertVideo', 'insertImage', 'insertTable', 'undo', 'redo'], // 화면줄어들때 버튼 + toolbarButtonsXS: ['fullscreen', 'bold', 'italic', 'underline', 'fontFamily', 'fontSize', 'insertVideo', 'insertImage', 'insertTable', 'undo', 'redo'], // 화면줄어들때 버튼 + imageInsertButtons: ['imageBack', '|', 'imageUpload', 'imageByURL'], + imageUploadURL: CONTEXT_PATH + '/editor/uploadImage.do', + imageMaxSize: 10, // 이미지파일 사이즈 MB단위 + imageAllowedTypes: ['jpeg', 'jpg', 'png', 'tif', 'tiff'], + fileUploadURL: CONTEXT_PATH + '/editor/uploadFile.do', + fileMaxSize: 10, // 첨부파일 사이즈 MB단위 + fileAllowedTypes: ['*'], // 미디어 타입으로만 지정 ['application/pdf', 'application/msword'] + videoUpload: false, + videoInsertButtons: ['videoBack', '|', 'videoByURL', 'videoUpload'], //['videoBack', '|', 'videoByURL', 'videoEmbed', 'videoUpload'] + videoAllowedProviders: ['youtube', 'vimeo', 'naver', 'kakao'], + videoUploadURL: CONTEXT_PATH + '/editor/uploadVideo.do', + videoMaxSize: 10, // 비디오파일 사이즈 MB단위 + videoAllowedTypes : ['mp4'], + fileListDivId: 'egovComFileList', + hiddenFileName: 'atch_file_editor_id', + inputFileId: '', + maxSize : 10, // 첨부파일 개수 +// sysUrl: window.location.protocol + "//" + window.location.host, + txtAreaId: 'nttCn', + authorType : 'user', // 파일 목록 디자인(사용자, 관리자) + toolbarSticky: false //툴바 고정 해제 + }; + + $.fn.initEditor = function(options) { + var editor = {}; + editor.options = $.extend({}, defaults, options); + // 파일, 이미지, 비디오 사이즈 + editor.options.fileMaxSize = editor.options.fileMaxSize * 1024 * 1024; + editor.options.imageMaxSize = editor.options.imageMaxSize * 1024 * 1024; + editor.options.videoMaxSize = editor.options.fileMaxSize * 1024 * 1024; + + // 신규 파일선택 이벤트 + $('#'+editor.options.inputFileId).on('change', function() { + fncFileUp(editor.options); + }); + $(this).on('froalaEditor.initialized', function (e, ed) { + // 기존파일 데이터 생성(수정 시) + var hiddenId = $('input[name="' + editor.options.hiddenFileName + '"]').val(); + if (hiddenId != null && hiddenId != '') { + $.ajax({ + method : "POST", + url : CONTEXT_PATH +"/editor/fileList.do", + data : { + fileId : hiddenId + } + }).done(function(data) { + // 파일 데이터 생성 + for (var i = 0; i < data.length; i++) { + var html = data[i]; + var dom = ''; + + if(editor.options.authorType != 'user'){ + dom = defaultsDom(html); + }else{ + dom = defaultsDomUser(html); + $('.file_list_wrap').addClass("show"); + } + $('#' + editor.options.fileListDivId).append(dom); + // 업로드시 div 표시 + $('#' + editor.options.fileListDivId).removeAttr('style'); + + // 이벤트 추가(파일삭제) + fncFileTrigger(html); + } + }).fail(function(err) { + // console.log ('file delete problem: ' + JSON.stringify(err)); + }) + } + // 갯수제한 + fncMaxLength(editor.options); + }) + // uploaded -> inserted -> loaded + .on('froalaEditor.image.uploaded', function (e, editor, response) { + // Do something here. + //console.log("uploaded"); + }) + .on('froalaEditor.image.loaded', function (e, editor, $img) { + // Do something here. +// console.log("loaded"); + }) + .on('froalaEditor.image.inserted', function (e, editor, $img, response) { + // Do something here. + //console.log("inserted"); + }) + // Catch image removal from the editor. + .on('froalaEditor.image.removed', function (e, editor, $img) { +// console.log($img); + $.ajax({ + // Request method. + method: "POST", + // Request URL. + url: CONTEXT_PATH +"/editor/deleteImage.do", + // Request params. + data: { + src: $img.attr('src') + } + }) + .done (function (data) { + //console.log ('image was deleted'); + }) + .fail (function (err) { + //console.log ('image delete problem: ' + JSON.stringify(err)); + }) + }) + // Catch image removal from the editor. + .on('froalaEditor.file.unlink', function (e, ed, link) { +// console.log(e, editor, link); + fncUnlink(editor.options, link.getAttribute('href')); + }) + .on('froalaEditor.file.uploaded', function (e, ed, html) { + // Do something here. + if( editor.options.inputFileId != '' ) { + var link = JSON.parse(html); + + var dom = ''; + if(options.authorType != 'user'){ + dom = defaultsDom(link); + }else{ + dom = defaultsDomUser(link); + } + + $('#'+editor.options.fileListDivId).append(dom); + // 업로드시 div 표시 + $('#' + editor.options.fileListDivId).removeAttr('style'); + + // 이벤트 추가 + fncFileTrigger(link); + + var atch_id = $('input[name="'+editor.options.hiddenFileName+'"]').val(); + + if (atch_id.length == 0) { + atch_id = link.fileId; + } else { + atch_id = atch_id + "," + link.fileId; + } + + $('input[name="'+editor.options.hiddenFileName+'"]').val(atch_id); + } + + }) + .on('froalaEditor.file.error', function(e, ed, error) { + // 파일 업로드 시 에러 메시지 + var $popup = $(this).froalaEditor('popups.get', 'file.insert'); + var $layer = $popup.find('.fr-file-progress-bar-layer'); + var msg = '문제가 발생했습니다. 다시 시도하십시오.'; + + if( error.code == 5 ) { //File is too large. + var maxSize = editor.options.fileMaxSize; + msg = '파일 사이즈는 ' + fileSizeConvert(maxSize) + '이내로 등록 가능합니다.'; + } + if( error.code == 6 ) { //File file type is invalid. + msg = '허용되지 않은 확장자입니다.'; + } + $layer.find('h3').text(msg); + }) + .on('froalaEditor.image.error', function(e, ed, error) { + // 이미지 업로드 시 에러 메시지 + var $popup = $(this).froalaEditor('popups.get', 'image.insert'); + var $layer = $popup.find('.fr-image-progress-bar-layer'); + var msg = '문제가 발생했습니다. 다시 시도하십시오.'; + + if( error.code == 5 ) { //File is too large. + var maxSize = editor.options.imageMaxSize; + msg = '파일 사이즈는 ' + fileSizeConvert(maxSize) + '이내로 등록 가능합니다.'; + } + if( error.code == 6 ) { //Image file type is invalid. + msg = '허용되지 않은 확장자입니다.'; + } + $layer.find('h3').text(msg); + }).on('froalaEditor.video.error', function(e, ed, error) { + // 동영상 업로드 시 에러 메시지 + var $popup = $(this).froalaEditor('popups.get', 'video.insert'); + var $layer = $popup.find('.fr-video-progress-bar-layer'); + var msg = '문제가 발생했습니다. 다시 시도하십시오.'; + + if (error.code == 5) { // File is too large. + var maxSize = editor.options.videoMaxSize; + msg = '파일 사이즈는 ' + fileSizeConvert(maxSize) + '이내로 등록 가능합니다.'; + } + if (error.code == 6) { // Image file type is invalid. + msg = '허용되지 않은 확장자입니다.'; + } + $layer.find('h3').text(msg); + }).on('froalaEditor.video.linkError', function (e, ed, linkError) { + alert('허용되지 않은 사이트 입니다.'); + }).froalaEditor(editor.options); + + // 특정 파일 확장자만 지정 + if( editor.options.fileAllowedTypes.indexOf('*') == -1 ) { + var ext = editor.options.fileAllowedTypes.toString(); + $('#' + editor.options.inputFileId).attr('accept', ext); + } + + //파일 업로드(에디터 함수 사용) + var fncFileUp = function(options) { + var files = $('#' + options.inputFileId)[0].files; + $.each(files, function(i, file) { + // 확장자 및 용량체크 + if( !fncValidate(options, file) ) { + return; + }; + var data = new FormData(); + data.append("file", file); + $.ajax({ + type : 'post', + url : CONTEXT_PATH + '/editor/uploadFile.do', + data : data, + processData : false, + contentType : false, + success : function(html) { + // FileUploadInterceptor에서 필러링 처리 + if( html.fileId == null ) { + $('#' + options.inputFileId).val(""); + alert ('허용되지 않은 확장자입니다.'); + return; + } + var dom = ''; + if(options.authorType != 'user'){ + dom = defaultsDom(html); + }else{ + dom = defaultsDomUser(html); + } + $('#'+options.fileListDivId).append(dom); + // 업로드시 div 표시 + $('#' + options.fileListDivId).removeAttr('style'); + + // 이벤트 추가(파일삭제, 본문추가) + fncFileTrigger(html); + var atch_id = $('input[name="'+options.hiddenFileName+'"]').val(); + + if (atch_id.length == 0) { + atch_id = html.fileId; + } else { + atch_id = atch_id + "," + html.fileId; + } + + $('input[name="'+options.hiddenFileName+'"]').val(atch_id); + $('#'+options.inputFileId).val(""); + + // 갯수제한 + fncMaxLength(options); + }, + error : function(error) { + alert("파일 업로드에 실패하였습니다."); + console.log(error); + console.log(error.status); + }, + xhr : function() { // 프로그래스 + var xhr = new window.XMLHttpRequest(); + // 업로드 중 프로그래스바 표시 + var $fileDiv = $('#' + options.fileListDivId).closest('div'); + var $progress = $fileDiv.find('strong'); + + $progress.css('background-color', 'palegreen'); + $progress.css('width', '6%'); + + xhr.upload.addEventListener("progress", function(evt) { + if (evt.lengthComputable) { + var percentComplete = evt.loaded / evt.total; + percentComplete = parseInt(percentComplete * 100); + + // 프로그래스바 이동 + if(percentComplete > 6) { + $progress.css('width', percentComplete + '%'); + } + + if (percentComplete === 100) { + $progress.removeAttr('style'); + } + } + }, false); + + return xhr; + }, + }); + }); + } + + //파일삭제(에디터 함수 사용) + var fncFileDel = function(options, link, name) { + var text = $('#'+options.txtAreaId).froalaEditor('html.get', true); + var replace_link = "<a class=\"fr-file\" href=\"" + link + "\" target=\"_blank\">" + name + "</a>"; + var new_text = text.replace(replace_link, ''); + $('#'+options.txtAreaId).froalaEditor('html.set', new_text); + + if( $('#'+options.txtAreaId).val() == "" || text == new_text ) { // 본문 삽입이 아닐때 첨부파일 목록 삭제 + fncUnlink(options, link); + } else { // 본문 삽입 시 에디터 자체 unlink함수 호출 + $('#'+options.txtAreaId).froalaEditor('undo.saveStep'); + } + } + + //파일 에디터에 넣기 + var fncFileInsert = function(options, link, name) { + $('#'+options.txtAreaId).froalaEditor('file.insert', link, name, {link: link}); + } + + //파일 이벤트 추가(삭제, 본문에 넣기) + var fncFileTrigger = function(html) { + $('#'+html.fileId).find('button:eq(1)').on('click', function() { + fncFileDel(options, html.link, html.originFileNm); + }); + $('#'+html.fileId).find('button:eq(0)').on('click', function() { + fncFileInsert(options, html.link, html.originFileNm); + }); + } + + // 링크 삭제(파일 삭제) + var fncUnlink = function(options, link) { + $.ajax({ + // Request method. + method: "POST", + // Request URL. + url: CONTEXT_PATH +"/editor/deleteFile.do", + // Request params. + data: { + src: link + } + }) + .done (function (data) { + //console.log ('file was deleted'); + //링크 삭제시 파일 목록 삭제 + if( options.inputFileId != '' ) { + var atch_id = $('input[name="'+options.hiddenFileName+'"]').val(); + + var new_atch_id = ""; + for(i = 0; i <= atch_id.split(',').length-1; i++) { + if (atch_id.split(',')[i] != data.fileId) { + if (atch_id.split(',').length != 1) { + if (new_atch_id == "") { + new_atch_id = atch_id.split(',')[i]; + } + else { + new_atch_id = new_atch_id + "," + atch_id.split(',')[i]; + } + } + } + } + + $('#' + data.fileId).remove(); + + // 실제 넘기는 파일(hidden파일) + $('input[name="' + options.hiddenFileName + '"]').val(new_atch_id); + + // 파일 없을 시 div 감춤 + if (new_atch_id == '') { + $('#' + options.fileListDivId).attr('style', 'display:none;'); + } + + // 갯수제한 + fncMaxLength(options); + } + }) + .fail (function (err) { + //console.log ('file delete problem: ' + JSON.stringify(err)); + }) + } + }; + // 파일 목록 생성(관리자 게시판) + var defaultsDom = function(html) { + var fileIcon = fileExtIcon(html.fileExtsn); + var fileSize = fileSizeConvert(html.fileSize); + var dom = '<li class="' + fileIcon + '" id ="' + html.fileId + '">' + + '<div class="file_wrap">' + + "<p class='filename'>" + html.originFileNm + "<em class='fileSize'>[" + fileSize + "]</em></p>" + + "<button type='button' class='btn_ss bg_basic' title='파일 본문에 넣기'>본문에 넣기</button>" + + "<button type='button' class='btn_delete btn_sq_s ml2' title='파일 삭제'>삭제</button>" + + "</div>"; + + "</li>"; + return dom; + } + // 파일 목록 생성 (사용자게시판) + var defaultsDomUser = function(html) { + var dom = '<li id="'+html.fileId+'">' + + '<div class="file_wrap">' + + '<p class="filename">'+html.originFileNm+'</p>' + + '<button type="button" class="btn_ss bg_basic" title="파일 본문에 넣기">본문에 넣기</button>' + + '<button type="button" class="btn_delete btn_sq_s ml2" title="파일 삭제" >삭제</button>' + + '</div>' + + '</li>' + + return dom; + } + + // 개수 제한 + var fncMaxLength = function(options) { + var atch_id = $('input[name="' + options.hiddenFileName + '"]').val(); + if(atch_id){ + var size = atch_id.split(',').length; + + if( atch_id.length == 0 ) { + size = 0; + } + if( options.maxSize > size ) { + $('#' + options.inputFileId).prop('disabled', false); + } else { + $('#' + options.inputFileId).prop('disabled', true); + } + }else{ + $('#' + options.inputFileId).prop('disabled', false); + } + } + // 확장자 체크 및 용량 체크 + var fncValidate = function(options, file) { + if( options.fileAllowedTypes.indexOf('*') == -1 ) { + var ext = file.name.split('.').pop().toLowerCase(); + if( $.inArray(ext, options.fileAllowedTypes) == -1 ) { + alert(file.name + ' 파일은 허용되지 않은 확장자입니다.\n' + options.fileAllowedTypes.join(', ') + ' 확장자 만 가능합니다.'); + $('#' + options.inputFileId).val(""); + return false; + } + } + if( options.fileMaxSize > -1 ) { + var fileSize = file.size; + var maxSize = options.fileMaxSize; + if( fileSize > maxSize ) { + alert('파일 사이즈는 ' + fileSizeConvert(maxSize) + '이내로 등록 가능합니다.'); + $('#' + options.inputFileId).val(""); + return false; + } + } + return true; + } + //파일 확장자별 아이콘 + function fileExtIcon(extsn) { + var fileExtsn = extsn; + var fileIcon = 'far fa-file'; + switch (fileExtsn) { + case 'pdf': + fileIcon = 'file_pdf'; + break; + case 'ppt': + fileIcon = 'file_ppt'; + break; + case 'pptx': + fileIcon = 'file_ppt'; + break; + case 'xls': + fileIcon = 'file_excel'; + break; + case 'xlsx': + fileIcon = 'file_excel'; + break; + case 'doc': + fileIcon = 'file_word'; + break; + case 'docx': + fileIcon = 'file_word'; + break; + case 'hwp': + fileIcon = 'file_word'; + break; + case 'png': + fileIcon = 'file_img'; + break; + case 'jpg': + fileIcon = 'file_img'; + break; + case 'jpeg': + fileIcon = 'file_img'; + break; + case 'gif': + fileIcon = 'file_img'; + break; + case 'bmp': + fileIcon = 'file_img'; + break; + case 'zip': + fileIcon = 'file_zip'; + break; + case '7z': + fileIcon = 'file_zip'; + break; + case 'tif': + fileIcon = 'file_img'; + break; + case 'tiff': + fileIcon = 'file_img'; + break; + default: + fileIcon = 'file_reg'; + } + return fileIcon; + } + // 파일 사이즈 변경 + function fileSizeConvert(size) { + var fileSize = size; + if (fileSize / 1024 > 1024) { + fileSize = (fileSize / (1024 * 1024)).toFixed(1) + "MB"; + } else { + fileSize = (fileSize / 1024).toFixed(1) + "KB"; + } + return fileSize; + } +})(jQuery); +/* +*===================================== +*========= 에디터 관련 javascript 종료 ========= +*===================================== +*/ \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/froala_editor_script_custom.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/froala_editor.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/froala_editor.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/froala_editor.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(M){var s=function(e,t){this.id=++M.FE.ID;var n={};t&&t.documentReady&&(n.toolbarButtons=["fullscreen","undo","redo","getPDF","print","|","bold","italic","underline","color","clearFormatting","|","alignLeft","alignCenter","alignRight","alignJustify","|","formatOL","formatUL","indent","outdent","-","paragraphFormat","|","fontFamily","|","fontSize","|","insertLink","insertImage","quote"],n.paragraphFormatSelection=!0,n.fontFamilySelection=!0,n.fontSizeSelection=!0,n.placeholderText="",n.quickInsertEnabled=!1,n.charCounterCount=!1),this.opts=M.extend(!0,{},M.extend({},s.DEFAULTS,n,"object"==typeof t&&t));var r=JSON.stringify(this.opts);M.FE.OPTS_MAPPING[r]=M.FE.OPTS_MAPPING[r]||this.id,this.sid=M.FE.OPTS_MAPPING[r],M.FE.SHARED[this.sid]=M.FE.SHARED[this.sid]||{},this.shared=M.FE.SHARED[this.sid],this.shared.count=(this.shared.count||0)+1,this.$oel=M(e),this.$oel.data("froala.editor",this),this.o_doc=e.ownerDocument,this.o_win="defaultView"in this.o_doc?this.o_doc.defaultView:this.o_doc.parentWindow;var o=M(this.o_win).scrollTop();this.$oel.on("froala.doInit",M.proxy(function(){this.$oel.off("froala.doInit"),this.doc=this.$el.get(0).ownerDocument,this.win="defaultView"in this.doc?this.doc.defaultView:this.doc.parentWindow,this.$doc=M(this.doc),this.$win=M(this.win),this.opts.pluginsEnabled||(this.opts.pluginsEnabled=Object.keys(M.FE.PLUGINS)),this.opts.initOnClick?(this.load(M.FE.MODULES),this.$el.on("touchstart.init",function(){M(this).data("touched",!0)}),this.$el.on("touchmove.init",function(){M(this).removeData("touched")}),this.$el.on("mousedown.init touchend.init dragenter.init focus.init",M.proxy(function(e){if("touchend"==e.type&&!this.$el.data("touched"))return!0;if(1===e.which||!e.which){this.$el.off("mousedown.init touchstart.init touchmove.init touchend.init dragenter.init focus.init"),this.load(M.FE.MODULES),this.load(M.FE.PLUGINS);var t=e.originalEvent&&e.originalEvent.originalTarget;t&&"IMG"==t.tagName&&M(t).trigger("mousedown"),"undefined"==typeof this.ul&&this.destroy(),"touchend"==e.type&&this.image&&e.originalEvent&&e.originalEvent.target&&M(e.originalEvent.target).is("img")&&setTimeout(M.proxy(function(){this.image.edit(M(e.originalEvent.target))},this),100),this.ready=!0,this.events.trigger("initialized")}},this)),this.events.trigger("initializationDelayed")):(this.load(M.FE.MODULES),this.load(M.FE.PLUGINS),M(this.o_win).scrollTop(o),"undefined"==typeof this.ul&&this.destroy(),this.ready=!0,this.events.trigger("initialized"))},this)),this._init()};s.DEFAULTS={initOnClick:!1,pluginsEnabled:null},s.MODULES={},s.PLUGINS={},s.VERSION="2.9.1",s.INSTANCES=[],s.OPTS_MAPPING={},s.SHARED={},s.ID=0,s.prototype._init=function(){var e=this.$oel.prop("tagName");1<=this.$oel.closest("label").length&&console.warn("Note! It is not recommended to initialize the Froala Editor within a label tag.");var t=M.proxy(function(){"TEXTAREA"!=e&&(this._original_html=this._original_html||this.$oel.html()),this.$box=this.$box||this.$oel,this.opts.fullPage&&(this.opts.iframe=!0),this.opts.iframe?(this.$iframe=M('<iframe src="about:blank" frameBorder="0">'),this.$wp=M("<div></div>"),this.$box.html(this.$wp),this.$wp.append(this.$iframe),this.$iframe.get(0).contentWindow.document.open(),this.$iframe.get(0).contentWindow.document.write("<!DOCTYPE html>"),this.$iframe.get(0).contentWindow.document.write("<html><head></head><body></body></html>"),this.$iframe.get(0).contentWindow.document.close(),this.$el=this.$iframe.contents().find("body"),this.el=this.$el.get(0),this.$head=this.$iframe.contents().find("head"),this.$html=this.$iframe.contents().find("html"),this.iframe_document=this.$iframe.get(0).contentWindow.document):(this.$el=M("<div></div>"),this.el=this.$el.get(0),this.$wp=M("<div></div>").append(this.$el),this.$box.html(this.$wp)),this.$oel.trigger("froala.doInit")},this),n=M.proxy(function(){this.$box=M("<div>"),this.$oel.before(this.$box).hide(),this._original_html=this.$oel.val(),this.$oel.parents("form").on("submit."+this.id,M.proxy(function(){this.events.trigger("form.submit")},this)),this.$oel.parents("form").on("reset."+this.id,M.proxy(function(){this.events.trigger("form.reset")},this)),t()},this),r=M.proxy(function(){this.$el=this.$oel,this.el=this.$el.get(0),this.$el.attr("contenteditable",!0).css("outline","none").css("display","inline-block"),this.opts.multiLine=!1,this.opts.toolbarInline=!1,this.$oel.trigger("froala.doInit")},this),o=M.proxy(function(){this.$el=this.$oel,this.el=this.$el.get(0),this.opts.toolbarInline=!1,this.$oel.trigger("froala.doInit")},this),i=M.proxy(function(){this.$el=this.$oel,this.el=this.$el.get(0),this.opts.toolbarInline=!1,this.$oel.on("click.popup",function(e){e.preventDefault()}),this.$oel.trigger("froala.doInit")},this);this.opts.editInPopup?i():"TEXTAREA"==e?n():"A"==e?r():"IMG"==e?o():"BUTTON"==e||"INPUT"==e?(this.opts.editInPopup=!0,this.opts.toolbarInline=!1,i()):t()},s.prototype.load=function(e){for(var t in e)if(e.hasOwnProperty(t)){if(this[t])continue;if(M.FE.PLUGINS[t]&&this.opts.pluginsEnabled.indexOf(t)<0)continue;if(this[t]=new e[t](this),this[t]._init&&(this[t]._init(),this.opts.initOnClick&&"core"==t))return!1}},s.prototype.destroy=function(){this.shared.count--,this.events.$off();var e=this.html.get();if(this.opts.iframe&&(this.events.disableBlur(),this.win.focus(),this.events.enableBlur()),this.events.trigger("destroy",[],!0),this.events.trigger("shared.destroy",undefined,!0),0===this.shared.count){for(var t in this.shared)this.shared.hasOwnProperty(t)&&(this.shared[t],M.FE.SHARED[this.sid][t]=null);delete M.FE.SHARED[this.sid]}this.$oel.parents("form").off("."+this.id),this.$oel.off("click.popup"),this.$oel.removeData("froala.editor"),this.$oel.off("froalaEditor"),this.core.destroy(e),M.FE.INSTANCES.splice(M.FE.INSTANCES.indexOf(this),1)},M.fn.froalaEditor=function(o){for(var i=[],e=0;e<arguments.length;e++)i.push(arguments[e]);if("string"==typeof o){var a=[];return this.each(function(){var e,t,n=M(this).data("froala.editor");if(!n)return console.warn("Editor should be initialized before calling the "+o+" method.");if(0<o.indexOf(".")&&n[o.split(".")[0]]?(n[o.split(".")[0]]&&(e=n[o.split(".")[0]]),t=o.split(".")[1]):(e=n,t=o.split(".")[0]),!e[t])return M.error("Method "+o+" does not exist in Froala Editor.");var r=e[t].apply(n,i.slice(1));r===undefined?a.push(this):0===a.length&&a.push(r)}),1==a.length?a[0]:a}if("object"==typeof o||!o)return this.each(function(){if(!M(this).data("froala.editor")){new s(this,o)}})},M.fn.froalaEditor.Constructor=s,M.FroalaEditor=s,M.FE=s,M.FE.XS=0,M.FE.SM=1,M.FE.MD=2,M.FE.LG=3;M.FE.LinkRegExCommon="[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_.]{1,}",M.FE.LinkRegExEnd="((:[0-9]{1,5})|)(((\\/|\\?|#)[a-z\\u00a1-\\uffff0-9@?\\|!^=%&amp;/~+#-\\'*-_{}]*)|())",M.FE.LinkRegExTLD="(("+M.FE.LinkRegExCommon+")(\\.(com|net|org|edu|mil|gov|co|biz|info|me|dev)))",M.FE.LinkRegExHTTP="((ftp|http|https):\\/\\/"+M.FE.LinkRegExCommon+")",M.FE.LinkRegExAuth="((ftp|http|https):\\/\\/[\\u0021-\\uffff]{1,}@"+M.FE.LinkRegExCommon+")",M.FE.LinkRegExWWW="(www\\."+M.FE.LinkRegExCommon+"\\.[a-z0-9-]{2,24})",M.FE.LinkRegEx="("+M.FE.LinkRegExTLD+"|"+M.FE.LinkRegExHTTP+"|"+M.FE.LinkRegExWWW+"|"+M.FE.LinkRegExAuth+")"+M.FE.LinkRegExEnd,M.FE.LinkProtocols=["mailto","tel","sms","notes","data"],M.FE.MAIL_REGEX=/.+@.+\..+/i,M.FE.MODULES.helpers=function(i){function e(){var e,t,n={},r=(t=-1,"Microsoft Internet Explorer"==navigator.appName?(e=navigator.userAgent,null!==new RegExp("MSIE ([0-9]{1,}[\\.0-9]{0,})").exec(e)&&(t=parseFloat(RegExp.$1))):"Netscape"==navigator.appName&&(e=navigator.userAgent,null!==new RegExp("Trident/.*rv:([0-9]{1,}[\\.0-9]{0,})").exec(e)&&(t=parseFloat(RegExp.$1))),t);if(0<r)n.msie=!0;else{var o=navigator.userAgent.toLowerCase(),i=/(edge)[ \/]([\w.]+)/.exec(o)||/(chrome)[ \/]([\w.]+)/.exec(o)||/(webkit)[ \/]([\w.]+)/.exec(o)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(o)||/(msie) ([\w.]+)/.exec(o)||o.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(o)||[],a=i[1]||"";i[2];i[1]&&(n[a]=!0),n.chrome?n.webkit=!0:n.webkit&&(n.safari=!0)}return n.msie&&(n.version=r),n}function t(){return/(iPad|iPhone|iPod)/g.test(navigator.userAgent)&&!o()}function n(){return/(Android)/g.test(navigator.userAgent)&&!o()}function r(){return/(Blackberry)/g.test(navigator.userAgent)}function o(){return/(Windows Phone)/gi.test(navigator.userAgent)}function a(e){return parseInt(e,10)||0}var s;var l=null;return{_init:function(){i.browser=e(),function(){function e(e,t){var i=e[t];e[t]=function(e){var t,n=!1,r=!1;if(e&&e.match(s)){e=e.replace(s,""),this.parentNode||(a.appendChild(this),r=!0);var o=this.parentNode;return this.id||(this.id="rootedQuerySelector_id_"+(new Date).getTime(),n=!0),t=i.call(o,"#"+this.id+" "+e),n&&(this.id=""),r&&a.removeChild(this),t}return i.call(this,e)}}var a=i.o_doc.createElement("div");try{a.querySelectorAll(":scope *")}catch(t){var s=/^\s*:scope/gi;e(Element.prototype,"querySelector"),e(Element.prototype,"querySelectorAll"),e(HTMLElement.prototype,"querySelector"),e(HTMLElement.prototype,"querySelectorAll")}}(),Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(e){var t=this;if(!t)return null;if(!document.documentElement.contains(this))return null;do{if(t.matches(e))return t;t=t.parentElement}while(null!==t);return null})},isIOS:t,isMac:function(){return null==l&&(l=0<=navigator.platform.toUpperCase().indexOf("MAC")),l},isAndroid:n,isBlackberry:r,isWindowsPhone:o,isMobile:function(){return n()||t()||r()},isEmail:function(e){return!/^(https?:|ftps?:|)\/\//i.test(e)&&M.FE.MAIL_REGEX.test(e)},requestAnimationFrame:function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)}},getPX:a,screenSize:function(){var e=M('<div class="fr-visibility-helper"></div>').appendTo("body:first");try{var t=a(e.css("margin-left"));return e.remove(),t}catch(n){return M.FE.LG}},isTouch:function(){return"ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch},sanitizeURL:function(e){return/^(https?:|ftps?:|)\/\//i.test(e)?e:/^([A-Za-z]:(\\){1,2}|[A-Za-z]:((\\){1,2}[^\\]+)+)(\\)?$/i.test(e)?e:new RegExp("^("+M.FE.LinkProtocols.join("|")+"):\\/\\/","i").test(e)?e:e=encodeURIComponent(e).replace(/%23/g,"#").replace(/%2F/g,"/").replace(/%25/g,"%").replace(/mailto%3A/gi,"mailto:").replace(/file%3A/gi,"file:").replace(/sms%3A/gi,"sms:").replace(/tel%3A/gi,"tel:").replace(/notes%3A/gi,"notes:").replace(/data%3Aimage/gi,"data:image").replace(/blob%3A/gi,"blob:").replace(/%3A(\d)/gi,":$1").replace(/webkit-fake-url%3A/gi,"webkit-fake-url:").replace(/%3F/g,"?").replace(/%3D/g,"=").replace(/%26/g,"&").replace(/&amp;/g,"&").replace(/%2C/g,",").replace(/%3B/g,";").replace(/%2B/g,"+").replace(/%40/g,"@").replace(/%5B/g,"[").replace(/%5D/g,"]").replace(/%7B/g,"{").replace(/%7D/g,"}")},isArray:function(e){return e&&!e.propertyIsEnumerable("length")&&"object"==typeof e&&"number"==typeof e.length},RGBToHex:function(e){function t(e){return("0"+parseInt(e,10).toString(16)).slice(-2)}try{return e&&"transparent"!==e?/^#[0-9A-F]{6}$/i.test(e)?e:("#"+t((e=e.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/))[1])+t(e[2])+t(e[3])).toUpperCase():""}catch(n){return null}},HEXtoRGB:function(e){e=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,function(e,t,n,r){return t+t+n+n+r+r});var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?"rgb("+parseInt(t[1],16)+", "+parseInt(t[2],16)+", "+parseInt(t[3],16)+")":""},isURL:function(e){return!!/^(https?:|ftps?:|)\/\//i.test(e)&&(e=String(e).replace(/</g,"%3C").replace(/>/g,"%3E").replace(/"/g,"%22").replace(/ /g,"%20"),new RegExp("^"+M.FE.LinkRegExHTTP+M.FE.LinkRegExEnd+"$","gi").test(e))},getAlignment:function(e){var t=(e.css("text-align")||"").replace(/-(.*)-/g,"");if(["left","right","justify","center"].indexOf(t)<0){if(!s){var n=M('<div dir="'+("rtl"==i.opts.direction?"rtl":"auto")+'" style="text-align: '+i.$el.css("text-align")+'; position: fixed; left: -3000px;"><span id="s1">.</span><span id="s2">.</span></div>');M("body:first").append(n);var r=n.find("#s1").get(0).getBoundingClientRect().left,o=n.find("#s2").get(0).getBoundingClientRect().left;n.remove(),s=r<o?"left":"right"}t=s}return t},scrollTop:function(){return i.o_win.pageYOffset?i.o_win.pageYOffset:i.o_doc.documentElement&&i.o_doc.documentElement.scrollTop?i.o_doc.documentElement.scrollTop:i.o_doc.body.scrollTop?i.o_doc.body.scrollTop:0},scrollLeft:function(){return i.o_win.pageXOffset?i.o_win.pageXOffset:i.o_doc.documentElement&&i.o_doc.documentElement.scrollLeft?i.o_doc.documentElement.scrollLeft:i.o_doc.body.scrollLeft?i.o_doc.body.scrollLeft:0},isInViewPort:function(e){var t=e.getBoundingClientRect();return 0<=t.top&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)||t.top<=0&&t.bottom>=(window.innerHeight||document.documentElement.clientHeight)}}},M.FE.MODULES.events=function(s){var e,a={};function t(e,t,n){f(e,t,n)}function n(e){if(void 0===e&&(e=!0),!s.$wp)return!1;if(s.helpers.isIOS()&&s.$win.get(0).focus(),s.core.hasFocus())return!1;if(!s.core.hasFocus()&&e){var t=s.$win.scrollTop();if(s.browser.msie&&s.$box&&s.$box.css("position","fixed"),s.browser.msie&&s.$wp&&s.$wp.css("overflow","visible"),i(),s.$el.focus(),s.events.trigger("focus"),o(),s.browser.msie&&s.$box&&s.$box.css("position",""),s.browser.msie&&s.$wp&&s.$wp.css("overflow","auto"),t!=s.$win.scrollTop()&&s.$win.scrollTop(t),!s.selection.info(s.el).atStart)return!1}if(!s.core.hasFocus()||0<s.$el.find(".fr-marker").length)return!1;if(s.selection.info(s.el).atStart&&s.selection.isCollapsed()&&null!=s.html.defaultTag()){var n=s.markers.insert();if(n&&!s.node.blockParent(n)){M(n).remove();var r=s.$el.find(s.html.blockTagsQuery()).get(0);r&&(M(r).prepend(M.FE.MARKERS),s.selection.restore())}else n&&M(n).remove()}}var r=!1;function o(){e=!0}function i(){e=!1}function l(){return e}function d(e,t,n){var r,o=e.split(" ");if(1<o.length){for(var i=0;i<o.length;i++)d(o[i],t,n);return!0}void 0===n&&(n=!1),r=0!==e.indexOf("shared.")?a[e]=a[e]||[]:s.shared._events[e]=s.shared._events[e]||[],n?r.unshift(t):r.push(t)}var c=[];function f(e,t,n,r,o){"function"==typeof n&&(o=r,r=n,n=!1);var i=o?s.shared.$_events:c,a=o?s.sid:s.id;n?e.on(t.split(" ").join(".ed"+a+" ")+".ed"+a,n,r):e.on(t.split(" ").join(".ed"+a+" ")+".ed"+a,r),i.push([e,t.split(" ").join(".ed"+a+" ")+".ed"+a])}function p(e){for(var t=0;t<e.length;t++)e[t][0].off(e[t][1])}function u(e,t,n){if(!s.edit.isDisabled()||n){var r,o;if(0!==e.indexOf("shared."))r=a[e];else{if(0<s.shared.count)return!1;r=s.shared._events[e]}if(r)for(var i=0;i<r.length;i++)if(!1===(o=r[i].apply(s,t)))return!1;return!1!==(o=s.$oel.triggerHandler("froalaEditor."+e,M.merge([s],t||[])))&&o}}function g(){for(var e in a)a.hasOwnProperty(e)&&delete a[e]}function h(){for(var e in s.shared._events)s.shared._events.hasOwnProperty(e)&&delete s.shared._events[e]}return{_init:function(){s.shared.$_events=s.shared.$_events||[],s.shared._events={},s.helpers.isMobile()?(s._mousedown="touchstart",s._mouseup="touchend",s._move="touchmove",s._mousemove="touchmove"):(s._mousedown="mousedown",s._mouseup="mouseup",s._move="",s._mousemove="mousemove"),t(s.$el,"click mouseup mousedown touchstart touchend dragenter dragover dragleave dragend drop dragstart",function(e){u(e.type,[e])}),d("mousedown",function(){for(var e=0;e<M.FE.INSTANCES.length;e++)M.FE.INSTANCES[e]!=s&&M.FE.INSTANCES[e].popups&&M.FE.INSTANCES[e].popups.areVisible()&&M.FE.INSTANCES[e].$el.find(".fr-marker").remove()}),t(s.$win,s._mousedown,function(e){u("window.mousedown",[e]),o()}),t(s.$win,s._mouseup,function(e){u("window.mouseup",[e])}),t(s.$win,"cut copy keydown keyup touchmove touchend",function(e){u("window."+e.type,[e])}),t(s.$doc,"dragend drop",function(e){u("document."+e.type,[e])}),t(s.$el,"keydown keypress keyup input",function(e){u(e.type,[e])}),t(s.$el,"focus",function(e){l()&&(n(!1),!1===r&&u(e.type,[e]))}),t(s.$el,"blur",function(e){l()&&!0===r&&(u(e.type,[e]),o())}),d("focus",function(){r=!0}),d("blur",function(){r=!1}),o(),t(s.$el,"cut copy paste beforepaste",function(e){u(e.type,[e])}),d("destroy",g),d("shared.destroy",h)},on:d,trigger:u,bindClick:function(e,t,n){f(e,s._mousedown,t,function(e){var t,n;s.edit.isDisabled()||(n=M((t=e).currentTarget),s.edit.isDisabled()||s.node.hasClass(n.get(0),"fr-disabled")?t.preventDefault():"mousedown"===t.type&&1!==t.which||(s.helpers.isMobile()||t.preventDefault(),(s.helpers.isAndroid()||s.helpers.isWindowsPhone())&&0===n.parents(".fr-dropdown-menu").length&&(t.preventDefault(),t.stopPropagation()),n.addClass("fr-selected"),s.events.trigger("commands.mousedown",[n])))},!0),f(e,s._mouseup+" "+s._move,t,function(e){s.edit.isDisabled()||function(e,t){var n=M(e.currentTarget);if(s.edit.isDisabled()||s.node.hasClass(n.get(0),"fr-disabled"))return e.preventDefault();if(("mouseup"!==e.type||1===e.which)&&s.node.hasClass(n.get(0),"fr-selected"))if("touchmove"!=e.type){if(e.stopPropagation(),e.stopImmediatePropagation(),e.preventDefault(),!s.node.hasClass(n.get(0),"fr-selected"))return s.button.getButtons(".fr-selected",!0).removeClass("fr-selected");if(s.button.getButtons(".fr-selected",!0).removeClass("fr-selected"),n.data("dragging")||n.attr("disabled"))return n.removeData("dragging");var r=n.data("timeout");r&&(clearTimeout(r),n.removeData("timeout")),t.apply(s,[e])}else n.data("timeout")||n.data("timeout",setTimeout(function(){n.data("dragging",!0)},100))}(e,n)},!0),f(e,"mousedown click mouseup",t,function(e){s.edit.isDisabled()||e.stopPropagation()},!0),d("window.mouseup",function(){s.edit.isDisabled()||(e.find(t).removeClass("fr-selected"),o())}),f(e,"mouseenter",t,function(){M(this).hasClass("fr-options")&&M(this).prev(".fr-btn").addClass("fr-btn-hover"),M(this).next(".fr-btn").hasClass("fr-options")&&M(this).next(".fr-btn").addClass("fr-btn-hover")}),f(e,"mouseleave",t,function(){M(this).hasClass("fr-options")&&M(this).prev(".fr-btn").removeClass("fr-btn-hover"),M(this).next(".fr-btn").hasClass("fr-options")&&M(this).next(".fr-btn").removeClass("fr-btn-hover")})},disableBlur:i,enableBlur:o,blurActive:l,focus:n,chainTrigger:function(e,t,n){if(!s.edit.isDisabled()||n){var r,o;if(0!==e.indexOf("shared."))r=a[e];else{if(0<s.shared.count)return!1;r=s.shared._events[e]}if(r)for(var i=0;i<r.length;i++)void 0!==(o=r[i].apply(s,[t]))&&(t=o);return void 0!==(o=s.$oel.triggerHandler("froalaEditor."+e,M.merge([s],[t])))&&(t=o),t}},$on:f,$off:function(){p(c),c=[],0===s.shared.count&&(p(s.shared.$_events),s.shared.$_events=[])}}},M.FE.MODULES.node=function(a){function s(e){return e&&"IFRAME"!=e.tagName?Array.prototype.slice.call(e.childNodes||[]):[]}function l(e){return!!e&&(e.nodeType==Node.ELEMENT_NODE&&0<=M.FE.BLOCK_TAGS.indexOf(e.tagName.toLowerCase()))}function d(e){var t={},n=e.attributes;if(n)for(var r=0;r<n.length;r++){var o=n[r];t[o.nodeName]=o.value}return t}function t(e){for(var t="",n=d(e),r=Object.keys(n).sort(),o=0;o<r.length;o++){var i=r[o],a=n[i];a.indexOf("'")<0&&0<=a.indexOf('"')?t+=" "+i+"='"+a+"'":0<=a.indexOf('"')&&0<=a.indexOf("'")?t+=" "+i+'="'+(a=a.replace(/"/g,"&quot;"))+'"':t+=" "+i+'="'+a+'"'}return t}function n(e){return e===a.el}return{isBlock:l,isEmpty:function(e,t){if(!e)return!0;if(e.querySelector("table"))return!1;var n=s(e);1==n.length&&l(n[0])&&(n=s(n[0]));for(var r=!1,o=0;o<n.length;o++){var i=n[o];if(!(t&&a.node.hasClass(i,"fr-marker")||i.nodeType==Node.TEXT_NODE&&0===i.textContent.length)){if("BR"!=i.tagName&&0<(i.textContent||"").replace(/\u200B/gi,"").replace(/\n/g,"").length)return!1;if(r)return!1;"BR"==i.tagName&&(r=!0)}}return!(e.querySelectorAll(M.FE.VOID_ELEMENTS.join(",")).length-e.querySelectorAll("br").length||e.querySelector(a.opts.htmlAllowedEmptyTags.join(":not(.fr-marker),")+":not(.fr-marker)")||1<e.querySelectorAll(M.FE.BLOCK_TAGS.join(",")).length||e.querySelector(a.opts.htmlDoNotWrapTags.join(":not(.fr-marker),")+":not(.fr-marker)"))},blockParent:function(e){for(;e&&e.parentNode!==a.el&&(!e.parentNode||!a.node.hasClass(e.parentNode,"fr-inner"));)if(l(e=e.parentNode))return e;return null},deepestParent:function(e,t,n){if(void 0===t&&(t=[]),void 0===n&&(n=!0),t.push(a.el),0<=t.indexOf(e.parentNode)||e.parentNode&&a.node.hasClass(e.parentNode,"fr-inner")||e.parentNode&&0<=M.FE.SIMPLE_ENTER_TAGS.indexOf(e.parentNode.tagName)&&n)return null;for(;t.indexOf(e.parentNode)<0&&e.parentNode&&!a.node.hasClass(e.parentNode,"fr-inner")&&(M.FE.SIMPLE_ENTER_TAGS.indexOf(e.parentNode.tagName)<0||!n)&&(!l(e)||!l(e.parentNode)||!n);)e=e.parentNode;return e},rawAttributes:d,attributes:t,clearAttributes:function(e){for(var t=e.attributes,n=t.length-1;0<=n;n--){var r=t[n];e.removeAttribute(r.nodeName)}},openTagString:function(e){return"<"+e.tagName.toLowerCase()+t(e)+">"},closeTagString:function(e){return"</"+e.tagName.toLowerCase()+">"},isFirstSibling:function e(t,n){void 0===n&&(n=!0);for(var r=t.previousSibling;r&&n&&a.node.hasClass(r,"fr-marker");)r=r.previousSibling;return!r||r.nodeType==Node.TEXT_NODE&&""===r.textContent&&e(r)},isLastSibling:function e(t,n){void 0===n&&(n=!0);for(var r=t.nextSibling;r&&n&&a.node.hasClass(r,"fr-marker");)r=r.nextSibling;return!r||r.nodeType==Node.TEXT_NODE&&""===r.textContent&&e(r)},isList:function(e){return!!e&&0<=["UL","OL"].indexOf(e.tagName)},isLink:function(e){return!!e&&e.nodeType==Node.ELEMENT_NODE&&"a"==e.tagName.toLowerCase()},isElement:n,contents:s,isVoid:function(e){return e&&e.nodeType==Node.ELEMENT_NODE&&0<=M.FE.VOID_ELEMENTS.indexOf((e.tagName||"").toLowerCase())},hasFocus:function(e){return e===a.doc.activeElement&&(!a.doc.hasFocus||a.doc.hasFocus())&&!!(n(e)||e.type||e.href||~e.tabIndex)},isEditable:function(e){return(!e.getAttribute||"false"!=e.getAttribute("contenteditable"))&&["STYLE","SCRIPT"].indexOf(e.tagName)<0},isDeletable:function(e){return e&&e.nodeType==Node.ELEMENT_NODE&&e.getAttribute("class")&&0<=(e.getAttribute("class")||"").indexOf("fr-deletable")},hasClass:function(e,t){return e instanceof M&&(e=e.get(0)),e&&e.classList&&e.classList.contains(t)},filter:function(e){return a.browser.msie?e:{acceptNode:e}}}},M.FE.INVISIBLE_SPACE="&#8203;",M.FE.START_MARKER='<span class="fr-marker" data-id="0" data-type="true" style="display: none; line-height: 0;">'+M.FE.INVISIBLE_SPACE+"</span>",M.FE.END_MARKER='<span class="fr-marker" data-id="0" data-type="false" style="display: none; line-height: 0;">'+M.FE.INVISIBLE_SPACE+"</span>",M.FE.MARKERS=M.FE.START_MARKER+M.FE.END_MARKER,M.FE.MODULES.markers=function(d){function l(){if(!d.$wp)return null;try{var e=d.selection.ranges(0),t=e.commonAncestorContainer;if(t!=d.el&&0===d.$el.find(t).length)return null;var n=e.cloneRange(),r=e.cloneRange();n.collapse(!0);var o=M('<span class="fr-marker" style="display: none; line-height: 0;">'+M.FE.INVISIBLE_SPACE+"</span>",d.doc)[0];if(n.insertNode(o),o=d.$el.find("span.fr-marker").get(0)){for(var i=o.nextSibling;i&&i.nodeType===Node.TEXT_NODE&&0===i.textContent.length;)M(i).remove(),i=d.$el.find("span.fr-marker").get(0).nextSibling;return d.selection.clear(),d.selection.get().addRange(r),o}return null}catch(a){console.warn("MARKER",a)}}function c(){d.$el.find(".fr-marker").remove()}return{place:function(e,t,n){var r,o,i;try{var a=e.cloneRange();if(a.collapse(t),a.insertNode(M('<span class="fr-marker" data-id="'+n+'" data-type="'+t+'" style="display: '+(d.browser.safari?"none":"inline-block")+'; line-height: 0;">'+M.FE.INVISIBLE_SPACE+"</span>",d.doc)[0]),!0===t)for(i=(r=d.$el.find('span.fr-marker[data-type="true"][data-id="'+n+'"]').get(0)).nextSibling;i&&i.nodeType===Node.TEXT_NODE&&0===i.textContent.length;)M(i).remove(),i=r.nextSibling;if(!0===t&&!e.collapsed){for(;!d.node.isElement(r.parentNode)&&!i;)M(r.parentNode).after(r),i=r.nextSibling;if(i&&i.nodeType===Node.ELEMENT_NODE&&d.node.isBlock(i)&&"HR"!==i.tagName){for(o=[i];i=o[0],(o=d.node.contents(i))[0]&&d.node.isBlock(o[0]););M(i).prepend(M(r))}}if(!1===t&&!e.collapsed){if((i=(r=d.$el.find('span.fr-marker[data-type="false"][data-id="'+n+'"]').get(0)).previousSibling)&&i.nodeType===Node.ELEMENT_NODE&&d.node.isBlock(i)&&"HR"!==i.tagName){for(o=[i];i=o[o.length-1],(o=d.node.contents(i))[o.length-1]&&d.node.isBlock(o[o.length-1]););M(i).append(M(r))}r.parentNode&&0<=["TD","TH"].indexOf(r.parentNode.tagName)&&r.parentNode.previousSibling&&!r.previousSibling&&M(r.parentNode.previousSibling).append(r)}var s=d.$el.find('span.fr-marker[data-type="'+t+'"][data-id="'+n+'"]').get(0);return s&&(s.style.display="none"),s}catch(l){return null}},insert:l,split:function(){d.selection.isCollapsed()||d.selection.remove();var e=d.$el.find(".fr-marker").get(0);if(null==e&&(e=l()),null==e)return null;var t=d.node.deepestParent(e);if(t||(t=d.node.blockParent(e))&&"LI"!=t.tagName&&(t=null),t)if(d.node.isBlock(t)&&d.node.isEmpty(t))"LI"!=t.tagName||t.parentNode.firstElementChild!=t||d.node.isEmpty(t.parentNode)?M(t).replaceWith('<span class="fr-marker"></span>'):M(t).append('<span class="fr-marker"></span>');else if(d.cursor.isAtStart(e,t))M(t).before('<span class="fr-marker"></span>'),M(e).remove();else if(d.cursor.isAtEnd(e,t))M(t).after('<span class="fr-marker"></span>'),M(e).remove();else{for(var n=e,r="",o="";n=n.parentNode,r+=d.node.closeTagString(n),o=d.node.openTagString(n)+o,n!=t;);M(e).replaceWith('<span id="fr-break"></span>');var i=d.node.openTagString(t)+M(t).html()+d.node.closeTagString(t);i=i.replace(/<span id="fr-break"><\/span>/g,r+'<span class="fr-marker"></span>'+o),M(t).replaceWith(i)}return d.$el.find(".fr-marker").get(0)},insertAtPoint:function(e){var t,n=e.clientX,r=e.clientY;c();var o=null;if("undefined"!=typeof d.doc.caretPositionFromPoint?(t=d.doc.caretPositionFromPoint(n,r),(o=d.doc.createRange()).setStart(t.offsetNode,t.offset),o.setEnd(t.offsetNode,t.offset)):"undefined"!=typeof d.doc.caretRangeFromPoint&&(t=d.doc.caretRangeFromPoint(n,r),(o=d.doc.createRange()).setStart(t.startContainer,t.startOffset),o.setEnd(t.startContainer,t.startOffset)),null!==o&&"undefined"!=typeof d.win.getSelection){var i=d.win.getSelection();i.removeAllRanges(),i.addRange(o)}else if("undefined"!=typeof d.doc.body.createTextRange)try{(o=d.doc.body.createTextRange()).moveToPoint(n,r);var a=o.duplicate();a.moveToPoint(n,r),o.setEndPoint("EndToEnd",a),o.select()}catch(s){return!1}l()},remove:c}},M.FE.MODULES.selection=function(S){function s(){var e="";return S.win.getSelection?e=S.win.getSelection():S.doc.getSelection?e=S.doc.getSelection():S.doc.selection&&(e=S.doc.selection.createRange().text),e.toString()}function T(){return S.win.getSelection?S.win.getSelection():S.doc.getSelection?S.doc.getSelection():S.doc.selection.createRange()}function c(e){var t=T(),n=[];if(t&&t.getRangeAt&&t.rangeCount){n=[];for(var r=0;r<t.rangeCount;r++)n.push(t.getRangeAt(r))}else n=S.doc.createRange?[S.doc.createRange()]:[];return void 0!==e?n[e]:n}function y(){var e=T();try{e.removeAllRanges?e.removeAllRanges():e.empty?e.empty():e.clear&&e.clear()}catch(t){}}function f(e,t){var n=e;return n.nodeType==Node.ELEMENT_NODE&&0<n.childNodes.length&&n.childNodes[t]&&(n=n.childNodes[t]),n.nodeType==Node.TEXT_NODE&&(n=n.parentNode),n}function N(){if(S.$wp){S.markers.remove();var e,t,n=c(),r=[];for(t=0;t<n.length;t++)if(n[t].startContainer!==S.doc||S.browser.msie){var o=(e=n[t]).collapsed,i=S.markers.place(e,!0,t),a=S.markers.place(e,!1,t);if(void 0!==i&&i||!o||(M(".fr-marker").remove(),S.selection.setAtEnd(S.el)),S.el.normalize(),S.browser.safari&&!o)try{(e=S.doc.createRange()).setStartAfter(i),e.setEndBefore(a),r.push(e)}catch(s){}}if(S.browser.safari&&r.length)for(S.selection.clear(),t=0;t<r.length;t++)S.selection.get().addRange(r[t])}}function C(){var e,t=S.el.querySelectorAll('.fr-marker[data-type="true"]');if(!S.$wp)return S.markers.remove(),!1;if(0===t.length)return!1;if(S.browser.msie||S.browser.edge)for(e=0;e<t.length;e++)t[e].style.display="inline-block";S.core.hasFocus()||S.browser.msie||S.browser.webkit||S.$el.focus(),y();var n=T();for(e=0;e<t.length;e++){var r=M(t[e]).data("id"),o=t[e],i=S.doc.createRange(),a=S.$el.find('.fr-marker[data-type="false"][data-id="'+r+'"]');(S.browser.msie||S.browser.edge)&&a.css("display","inline-block");var s=null;if(0<a.length){a=a[0];try{for(var l,d=!1,c=o.nextSibling;c&&c.nodeType==Node.TEXT_NODE&&0===c.textContent.length;)c=(l=c).nextSibling,M(l).remove();for(var f,p,u=a.nextSibling;u&&u.nodeType==Node.TEXT_NODE&&0===u.textContent.length;)u=(l=u).nextSibling,M(l).remove();if(o.nextSibling==a||a.nextSibling==o){for(var g=o.nextSibling==a?o:a,h=g==o?a:o,m=g.previousSibling;m&&m.nodeType==Node.TEXT_NODE&&0===m.length;)m=(l=m).previousSibling,M(l).remove();if(m&&m.nodeType==Node.TEXT_NODE)for(;m&&m.previousSibling&&m.previousSibling.nodeType==Node.TEXT_NODE;)m.previousSibling.textContent=m.previousSibling.textContent+m.textContent,m=m.previousSibling,M(m.nextSibling).remove();for(var E=h.nextSibling;E&&E.nodeType==Node.TEXT_NODE&&0===E.length;)E=(l=E).nextSibling,M(l).remove();if(E&&E.nodeType==Node.TEXT_NODE)for(;E&&E.nextSibling&&E.nextSibling.nodeType==Node.TEXT_NODE;)E.nextSibling.textContent=E.textContent+E.nextSibling.textContent,E=E.nextSibling,M(E.previousSibling).remove();if(m&&(S.node.isVoid(m)||S.node.isBlock(m))&&(m=null),E&&(S.node.isVoid(E)||S.node.isBlock(E))&&(E=null),m&&E&&m.nodeType==Node.TEXT_NODE&&E.nodeType==Node.TEXT_NODE){M(o).remove(),M(a).remove();var v=m.textContent.length;m.textContent=m.textContent+E.textContent,M(E).remove(),S.opts.htmlUntouched||S.spaces.normalize(m),i.setStart(m,v),i.setEnd(m,v),d=!0}else!m&&E&&E.nodeType==Node.TEXT_NODE?(M(o).remove(),M(a).remove(),S.opts.htmlUntouched||S.spaces.normalize(E),s=M(S.doc.createTextNode("\u200b")),M(E).before(s),i.setStart(E,0),i.setEnd(E,0),d=!0):!E&&m&&m.nodeType==Node.TEXT_NODE&&(M(o).remove(),M(a).remove(),S.opts.htmlUntouched||S.spaces.normalize(m),s=M(S.doc.createTextNode("\u200b")),M(m).after(s),i.setStart(m,m.textContent.length),i.setEnd(m,m.textContent.length),d=!0)}if(!d)(S.browser.chrome||S.browser.edge)&&o.nextSibling==a?(f=A(a,i,!0)||i.setStartAfter(a),p=A(o,i,!1)||i.setEndBefore(o)):(o.previousSibling==a&&(a=(o=a).nextSibling),a.nextSibling&&"BR"===a.nextSibling.tagName||!a.nextSibling&&S.node.isBlock(o.previousSibling)||o.previousSibling&&"BR"==o.previousSibling.tagName||(o.style.display="inline",a.style.display="inline",s=M(S.doc.createTextNode("\u200b"))),f=A(o,i,!0)||M(o).before(s)&&i.setStartBefore(o),p=A(a,i,!1)||M(a).after(s)&&i.setEndAfter(a)),"function"==typeof f&&f(),"function"==typeof p&&p()}catch(b){console.warn("RESTORE RANGE",b)}}s&&s.remove();try{n.addRange(i)}catch(b){console.warn("ADD RANGE",b)}}S.markers.remove()}function A(e,t,n){var r,o=e.previousSibling,i=e.nextSibling;return o&&i&&o.nodeType==Node.TEXT_NODE&&i.nodeType==Node.TEXT_NODE?(r=o.textContent.length,n?(i.textContent=o.textContent+i.textContent,M(o).remove(),M(e).remove(),S.opts.htmlUntouched||S.spaces.normalize(i),function(){t.setStart(i,r)}):(o.textContent=o.textContent+i.textContent,M(i).remove(),M(e).remove(),S.opts.htmlUntouched||S.spaces.normalize(o),function(){t.setEnd(o,r)})):o&&!i&&o.nodeType==Node.TEXT_NODE?(r=o.textContent.length,n?(S.opts.htmlUntouched||S.spaces.normalize(o),function(){t.setStart(o,r)}):(S.opts.htmlUntouched||S.spaces.normalize(o),function(){t.setEnd(o,r)})):!(!i||o||i.nodeType!=Node.TEXT_NODE)&&(n?(S.opts.htmlUntouched||S.spaces.normalize(i),function(){t.setStart(i,0)}):(S.opts.htmlUntouched||S.spaces.normalize(i),function(){t.setEnd(i,0)}))}function x(){for(var e=c(),t=0;t<e.length;t++)if(!e[t].collapsed)return!1;return!0}function o(e){var t,n,r=!1,o=!1;if(S.win.getSelection){var i=S.win.getSelection();i.rangeCount&&((n=(t=i.getRangeAt(0)).cloneRange()).selectNodeContents(e),n.setEnd(t.startContainer,t.startOffset),r=""===n.toString(),n.selectNodeContents(e),n.setStart(t.endContainer,t.endOffset),o=""===n.toString())}else S.doc.selection&&"Control"!=S.doc.selection.type&&((n=(t=S.doc.selection.createRange()).duplicate()).moveToElementText(e),n.setEndPoint("EndToStart",t),r=""===n.text,n.moveToElementText(e),n.setEndPoint("StartToEnd",t),o=""===n.text);return{atStart:r,atEnd:o}}function $(e,t){void 0===t&&(t=!0);var n=M(e).html();n&&n.replace(/\u200b/g,"").length!=n.length&&M(e).html(n.replace(/\u200b/g,""));for(var r=S.node.contents(e),o=0;o<r.length;o++)r[o].nodeType!=Node.ELEMENT_NODE?M(r[o]).remove():($(r[o],0===o),0===o&&(t=!1));e.nodeType==Node.TEXT_NODE?M(e).replaceWith('<span data-first="true" data-text="true"></span>'):t&&M(e).attr("data-first",!0)}function O(){return 0===M(this).find("fr-inner").length}function p(){try{if(!S.$wp)return!1;for(var e=c(0).commonAncestorContainer;e&&!S.node.isElement(e);)e=e.parentNode;return!!S.node.isElement(e)}catch(t){return!1}}function r(e,t){if(!e||0<e.getElementsByClassName("fr-marker").length)return!1;for(var n=e.firstChild;n&&(S.node.isBlock(n)||t&&!S.node.isVoid(n)&&n.nodeType==Node.ELEMENT_NODE);)n=(e=n).firstChild;e.innerHTML=M.FE.MARKERS+e.innerHTML}function i(e,t){if(!e||0<e.getElementsByClassName("fr-marker").length)return!1;for(var n=e.lastChild;n&&(S.node.isBlock(n)||t&&!S.node.isVoid(n)&&n.nodeType==Node.ELEMENT_NODE);)n=(e=n).lastChild;var r=S.doc.createElement("SPAN");r.setAttribute("id","fr-sel-markers"),r.innerHTML=M.FE.MARKERS,e.appendChild(r);var o=e.querySelector("#fr-sel-markers");o.outerHTML=o.innerHTML}return{text:s,get:T,ranges:c,clear:y,element:function(){var e=T();try{if(e.rangeCount){var t,n=c(0),r=n.startContainer;if(r.nodeType==Node.TEXT_NODE&&n.startOffset==(r.textContent||"").length&&r.nextSibling&&(r=r.nextSibling),r.nodeType==Node.ELEMENT_NODE){var o=!1;if(0<r.childNodes.length&&r.childNodes[n.startOffset]){for(t=r.childNodes[n.startOffset];t&&t.nodeType==Node.TEXT_NODE&&0===t.textContent.length;)t=t.nextSibling;if(t&&t.textContent.replace(/\u200B/g,"")===s().replace(/\u200B/g,"")&&(r=t,o=!0),!o&&1<r.childNodes.length&&0<n.startOffset&&r.childNodes[n.startOffset-1]){for(t=r.childNodes[n.startOffset-1];t&&t.nodeType==Node.TEXT_NODE&&0===t.textContent.length;)t=t.nextSibling;t&&t.textContent.replace(/\u200B/g,"")===s().replace(/\u200B/g,"")&&(r=t,o=!0)}}else!n.collapsed&&r.nextSibling&&r.nextSibling.nodeType==Node.ELEMENT_NODE&&(t=r.nextSibling)&&t.textContent.replace(/\u200B/g,"")===s().replace(/\u200B/g,"")&&(r=t,o=!0);!o&&0<r.childNodes.length&&M(r.childNodes[0]).text().replace(/\u200B/g,"")===s().replace(/\u200B/g,"")&&["BR","IMG","HR"].indexOf(r.childNodes[0].tagName)<0&&(r=r.childNodes[0])}for(;r.nodeType!=Node.ELEMENT_NODE&&r.parentNode;)r=r.parentNode;for(var i=r;i&&"HTML"!=i.tagName;){if(i==S.el)return r;i=M(i).parent()[0]}}}catch(a){}return S.el},endElement:function(){var e=T();try{if(e.rangeCount){var t,n=c(0),r=n.endContainer;if(r.nodeType==Node.ELEMENT_NODE){var o=!1;0<r.childNodes.length&&r.childNodes[n.endOffset]&&M(r.childNodes[n.endOffset]).text()===s()?(r=r.childNodes[n.endOffset],o=!0):!n.collapsed&&r.previousSibling&&r.previousSibling.nodeType==Node.ELEMENT_NODE?(t=r.previousSibling)&&t.textContent.replace(/\u200B/g,"")===s().replace(/\u200B/g,"")&&(r=t,o=!0):!n.collapsed&&0<r.childNodes.length&&r.childNodes[n.endOffset]&&(t=r.childNodes[n.endOffset].previousSibling).nodeType==Node.ELEMENT_NODE&&t&&t.textContent.replace(/\u200B/g,"")===s().replace(/\u200B/g,"")&&(r=t,o=!0),!o&&0<r.childNodes.length&&M(r.childNodes[r.childNodes.length-1]).text()===s()&&["BR","IMG","HR"].indexOf(r.childNodes[r.childNodes.length-1].tagName)<0&&(r=r.childNodes[r.childNodes.length-1])}for(r.nodeType==Node.TEXT_NODE&&0===n.endOffset&&r.previousSibling&&r.previousSibling.nodeType==Node.ELEMENT_NODE&&(r=r.previousSibling);r.nodeType!=Node.ELEMENT_NODE&&r.parentNode;)r=r.parentNode;for(var i=r;i&&"HTML"!=i.tagName;){if(i==S.el)return r;i=M(i).parent()[0]}}}catch(a){}return S.el},save:N,restore:C,isCollapsed:x,isFull:function(){if(x())return!1;S.selection.save();var e,t=S.el.querySelectorAll("td, th, img, br");for(e=0;e<t.length;e++)t[e].nextSibling&&(t[e].innerHTML='<span class="fr-mk">'+M.FE.INVISIBLE_SPACE+"</span>"+t[e].innerHTML);var n=!1,r=o(S.el);for(r.atStart&&r.atEnd&&(n=!0),t=S.el.querySelectorAll(".fr-mk"),e=0;e<t.length;e++)t[e].parentNode.removeChild(t[e]);return S.selection.restore(),n},inEditor:p,remove:function(){if(x())return!0;var t;N();var n=function(e){for(var t=e.previousSibling;t&&t.nodeType==Node.TEXT_NODE&&0===t.textContent.length;){var n=t;t=t.previousSibling,M(n).remove()}return t},r=function(e){for(var t=e.nextSibling;t&&t.nodeType==Node.TEXT_NODE&&0===t.textContent.length;){var n=t;t=t.nextSibling,M(n).remove()}return t},o=S.$el.find('.fr-marker[data-type="true"]');for(t=0;t<o.length;t++)for(var i=o[t];!(n(i)||S.node.isBlock(i.parentNode)||S.$el.is(i.parentNode)||S.node.hasClass(i.parentNode,"fr-inner"));)M(i.parentNode).before(i);var a=S.$el.find('.fr-marker[data-type="false"]');for(t=0;t<a.length;t++){for(var s=a[t];!(r(s)||S.node.isBlock(s.parentNode)||S.$el.is(s.parentNode)||S.node.hasClass(s.parentNode,"fr-inner"));)M(s.parentNode).after(s);s.parentNode&&S.node.isBlock(s.parentNode)&&S.node.isEmpty(s.parentNode)&&!S.$el.is(s.parentNode)&&!S.node.hasClass(s.parentNode,"fr-inner")&&S.opts.keepFormatOnDelete&&M(s.parentNode).after(s)}if(function(){for(var e=S.$el.find(".fr-marker"),t=0;t<e.length;t++)if(M(e[t]).parentsUntil('.fr-element, [contenteditable="true"]','[contenteditable="false"]').length)return!1;return!0}()){!function e(t,n){var r=S.node.contents(t.get(0));0<=["TD","TH"].indexOf(t.get(0).tagName)&&1==t.find(".fr-marker").length&&S.node.hasClass(r[0],"fr-marker")&&t.attr("data-del-cell",!0);for(var o=0;o<r.length;o++){var i=r[o];S.node.hasClass(i,"fr-marker")?n=(n+1)%2:n?0<M(i).find(".fr-marker").length?n=e(M(i),n):["TD","TH"].indexOf(i.tagName)<0&&!S.node.hasClass(i,"fr-inner")?!S.opts.keepFormatOnDelete||0<S.$el.find("[data-first]").length||S.node.isVoid(i)?M(i).remove():$(i):S.node.hasClass(i,"fr-inner")?0===M(i).find(".fr-inner").length?M(i).html("<br>"):M(i).find(".fr-inner").filter(O).html("<br>"):(M(i).empty(),M(i).attr("data-del-cell",!0)):0<M(i).find(".fr-marker").length&&(n=e(M(i),n))}return n}(S.$el,0);var l=S.$el.find('[data-first="true"]');if(l.length)S.$el.find(".fr-marker").remove(),l.append(M.FE.INVISIBLE_SPACE+M.FE.MARKERS).removeAttr("data-first"),l.attr("data-text")&&l.replaceWith(l.html());else for(S.$el.find("table").filter(function(){return 0<M(this).find("[data-del-cell]").length&&M(this).find("[data-del-cell]").length==M(this).find("td, th").length}).remove(),S.$el.find("[data-del-cell]").removeAttr("data-del-cell"),o=S.$el.find('.fr-marker[data-type="true"]'),t=0;t<o.length;t++){var d=o[t],c=d.nextSibling,f=S.$el.find('.fr-marker[data-type="false"][data-id="'+M(d).data("id")+'"]').get(0);if(f){if(d&&(!c||c!=f)){var p=S.node.blockParent(d),u=S.node.blockParent(f),g=!1,h=!1;if(p&&0<=["UL","OL"].indexOf(p.tagName)&&(g=!(p=null)),u&&0<=["UL","OL"].indexOf(u.tagName)&&(h=!(u=null)),M(d).after(f),p!=u)if(null!=p||g)if(null!=u||h||0!==M(p).parentsUntil(S.$el,"table").length)p&&u&&0===M(p).parentsUntil(S.$el,"table").length&&0===M(u).parentsUntil(S.$el,"table").length&&0===M(p).find(u).length&&0===M(u).find(p).length&&(M(p).append(M(u).html()),M(u).remove());else{for(c=p;!c.nextSibling&&c.parentNode!=S.el;)c=c.parentNode;for(c=c.nextSibling;c&&"BR"!=c.tagName;){var m=c.nextSibling;M(p).append(c),c=m}c&&"BR"==c.tagName&&M(c).remove()}else{var E=S.node.deepestParent(d);E?(M(E).after(M(u).html()),M(u).remove()):0===M(u).parentsUntil(S.$el,"table").length&&(M(d).next().after(M(u).html()),M(u).remove())}}}else f=M(d).clone().attr("data-type",!1),M(d).after(f)}}S.$el.find("li:empty").remove(),S.opts.keepFormatOnDelete||S.html.fillEmptyBlocks(),S.html.cleanEmptyTags(!0),S.opts.htmlUntouched||(S.clean.lists(),S.$el.find("li:empty").append("<br>"),S.spaces.normalize());var v=S.$el.find(".fr-marker:last").get(0),b=S.$el.find(".fr-marker:first").get(0);void 0!==v&&void 0!==b&&!v.nextSibling&&b.previousSibling&&"BR"==b.previousSibling.tagName&&S.node.isElement(v.parentNode)&&S.node.isElement(b.parentNode)&&S.$el.append("<br>"),C()},blocks:function(){var e,t=[],n=T();if(p()&&n.rangeCount){var r=c();for(e=0;e<r.length;e++){var o,i=r[e],a=f(i.startContainer,i.startOffset),s=f(i.endContainer,i.endOffset);(S.node.isBlock(a)||S.node.hasClass(a,"fr-inner"))&&t.indexOf(a)<0&&t.push(a),(o=S.node.blockParent(a))&&t.indexOf(o)<0&&t.push(o);for(var l=[],d=a;d!==s&&d!==S.el;)l.indexOf(d)<0&&d.children&&d.children.length?(l.push(d),d=d.children[0]):d.nextSibling?d=d.nextSibling:d.parentNode&&(d=d.parentNode,l.push(d)),S.node.isBlock(d)&&l.indexOf(d)<0&&t.indexOf(d)<0&&(d!==s||0<i.endOffset)&&t.push(d);S.node.isBlock(s)&&t.indexOf(s)<0&&0<i.endOffset&&t.push(s),(o=S.node.blockParent(s))&&t.indexOf(o)<0&&t.push(o)}}for(e=t.length-1;0<e;e--)M(t[e]).find(t).length&&t.splice(e,1);return t},info:o,setAtEnd:i,setAtStart:r,setBefore:function(e,t){void 0===t&&(t=!0);for(var n=e.previousSibling;n&&n.nodeType==Node.TEXT_NODE&&0===n.textContent.length;)n=n.previousSibling;return n?(S.node.isBlock(n)?i(n):"BR"==n.tagName?M(n).before(M.FE.MARKERS):M(n).after(M.FE.MARKERS),!0):!!t&&(S.node.isBlock(e)?r(e):M(e).before(M.FE.MARKERS),!0)},setAfter:function(e,t){void 0===t&&(t=!0);for(var n=e.nextSibling;n&&n.nodeType==Node.TEXT_NODE&&0===n.textContent.length;)n=n.nextSibling;return n?(S.node.isBlock(n)?r(n):M(n).before(M.FE.MARKERS),!0):!!t&&(S.node.isBlock(e)?i(e):M(e).after(M.FE.MARKERS),!0)},rangeElement:f}},M.extend(M.FE.DEFAULTS,{htmlAllowedTags:["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","br","button","canvas","caption","cite","code","col","colgroup","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meter","nav","noscript","object","ol","optgroup","option","output","p","param","pre","progress","queue","rp","rt","ruby","s","samp","script","style","section","select","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video","wbr"],htmlRemoveTags:["script","style"],htmlAllowedAttrs:["accept","accept-charset","accesskey","action","align","allowfullscreen","allowtransparency","alt","async","autocomplete","autofocus","autoplay","autosave","background","bgcolor","border","charset","cellpadding","cellspacing","checked","cite","class","color","cols","colspan","content","contenteditable","contextmenu","controls","coords","data","data-.*","datetime","default","defer","dir","dirname","disabled","download","draggable","dropzone","enctype","for","form","formaction","frameborder","headers","height","hidden","high","href","hreflang","http-equiv","icon","id","ismap","itemprop","keytype","kind","label","lang","language","list","loop","low","max","maxlength","media","method","min","mozallowfullscreen","multiple","muted","name","novalidate","open","optimum","pattern","ping","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","reversed","rows","rowspan","sandbox","scope","scoped","scrolling","seamless","selected","shape","size","sizes","span","src","srcdoc","srclang","srcset","start","step","summary","spellcheck","style","tabindex","target","title","type","translate","usemap","value","valign","webkitallowfullscreen","width","wrap"],htmlAllowedStyleProps:[".*"],htmlAllowComments:!0,htmlUntouched:!1,fullPage:!1}),M.FE.HTML5Map={B:"STRONG",I:"EM",STRIKE:"S"},M.FE.MODULES.clean=function(c){var f,p,u,g;function o(e){if(e.nodeType==Node.ELEMENT_NODE&&e.getAttribute("class")&&0<=e.getAttribute("class").indexOf("fr-marker"))return!1;var t,n=c.node.contents(e),r=[];for(t=0;t<n.length;t++)n[t].nodeType!=Node.ELEMENT_NODE||c.node.isVoid(n[t])?n[t].nodeType==Node.TEXT_NODE&&(n[t].textContent=n[t].textContent.replace(/\u200b/g,"")):n[t].textContent.replace(/\u200b/g,"").length!=n[t].textContent.length&&o(n[t]);if(e.nodeType==Node.ELEMENT_NODE&&!c.node.isVoid(e)&&(e.normalize(),n=c.node.contents(e),r=e.querySelectorAll(".fr-marker"),n.length-r.length==0)){for(t=0;t<n.length;t++)if(n[t].nodeType==Node.ELEMENT_NODE&&(n[t].getAttribute("class")||"").indexOf("fr-marker")<0)return!1;for(t=0;t<r.length;t++)e.parentNode.insertBefore(r[t].cloneNode(!0),e);return e.parentNode.removeChild(e),!1}}function s(e,t){if(e.nodeType==Node.COMMENT_NODE)return"\x3c!--"+e.nodeValue+"--\x3e";if(e.nodeType==Node.TEXT_NODE)return t?e.textContent.replace(/\&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"):e.textContent.replace(/\&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\u00A0/g,"&nbsp;").replace(/\u0009/g,"");if(e.nodeType!=Node.ELEMENT_NODE)return e.outerHTML;if(e.nodeType==Node.ELEMENT_NODE&&0<=["STYLE","SCRIPT","NOSCRIPT"].indexOf(e.tagName))return e.outerHTML;if(e.nodeType==Node.ELEMENT_NODE&&"svg"==e.tagName){var n=document.createElement("div"),r=e.cloneNode(!0);return n.appendChild(r),n.innerHTML}if("IFRAME"==e.tagName)return e.outerHTML.replace(/\&lt;/g,"<").replace(/\&gt;/g,">");var o=e.childNodes;if(0===o.length)return e.outerHTML;for(var i="",a=0;a<o.length;a++)"PRE"==e.tagName&&(t=!0),i+=s(o[a],t);return c.node.openTagString(e)+i+c.node.closeTagString(e)}var a=[];function h(e){var t=e.replace(/;;/gi,";");return";"!=(t=t.replace(/^;/gi,"")).charAt(t.length)&&(t+=";"),t}function l(e){var t;for(t in e)if(e.hasOwnProperty(t)){var n=t.match(u),r=null;"style"==t&&c.opts.htmlAllowedStyleProps.length&&(r=e[t].match(g)),n&&r?e[t]=h(r.join(";")):n&&("style"!=t||r)||delete e[t]}for(var o="",i=Object.keys(e).sort(),a=0;a<i.length;a++)e[t=i[a]].indexOf('"')<0?o+=" "+t+'="'+e[t]+'"':o+=" "+t+"='"+e[t]+"'";return o}function d(e,t){var n,r=document.implementation.createHTMLDocument("Froala DOC").createElement("DIV");M(r).append(e);var o="";if(r){var i=c.node.contents(r);for(n=0;n<i.length;n++)t(i[n]);for(i=c.node.contents(r),n=0;n<i.length;n++)o+=s(i[n])}return o}function m(e,t,n){a=[];var r=e=e.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,function(e){return a.push(e),"[FROALA.EDITOR.SCRIPT "+(a.length-1)+"]"}).replace(/<noscript\b[^<]*(?:(?!<\/noscript>)<[^<]*)*<\/noscript>/gi,function(e){return a.push(e),"[FROALA.EDITOR.NOSCRIPT "+(a.length-1)+"]"}).replace(/<meta((?:[\w\W]*?)) http-equiv="/g,'<meta$1 data-fr-http-equiv="').replace(/<img((?:[\w\W]*?)) src="/g,'<img$1 data-fr-src="'),o=null;c.opts.fullPage&&(r=c.html.extractNode(e,"body")||(0<=e.indexOf("<body")?"":e),n&&(o=c.html.extractNode(e,"head")||"")),r=d(r,t),o&&(o=d(o,t));var i=function(e,t,n){if(c.opts.fullPage){var r=c.html.extractDoctype(n),o=l(c.html.extractNodeAttrs(n,"html"));return t=null==t?c.html.extractNode(n,"head")||"<title></title>":t,r+"<html"+o+"><head"+l(c.html.extractNodeAttrs(n,"head"))+">"+t+"</head><body"+l(c.html.extractNodeAttrs(n,"body"))+">"+e+"</body></html>"}return e}(r,o,e);return i.replace(/\[FROALA\.EDITOR\.SCRIPT ([\d]*)\]/gi,function(e,t){return 0<=c.opts.htmlRemoveTags.indexOf("script")?"":a[parseInt(t,10)]}).replace(/\[FROALA\.EDITOR\.NOSCRIPT ([\d]*)\]/gi,function(e,t){return 0<=c.opts.htmlRemoveTags.indexOf("noscript")?"":a[parseInt(t,10)].replace(/\&lt;/g,"<").replace(/\&gt;/g,">")}).replace(/<img((?:[\w\W]*?)) data-fr-src="/g,'<img$1 src="')}function E(e){var t=c.doc.createElement("DIV");return t.innerText=e,t.textContent}function v(e){for(var t=c.node.contents(e),n=0;n<t.length;n++)t[n].nodeType!=Node.TEXT_NODE&&v(t[n]);!function(e){if("SPAN"==e.tagName&&0<=(e.getAttribute("class")||"").indexOf("fr-marker"))return;var t,n;if("PRE"==e.tagName&&0<=(n=(t=e).innerHTML).indexOf("\n")&&(t.innerHTML=n.replace(/\n/g,"<br>")),e.nodeType==Node.ELEMENT_NODE&&(e.getAttribute("data-fr-src")&&0!==e.getAttribute("data-fr-src").indexOf("blob:")&&e.setAttribute("data-fr-src",c.helpers.sanitizeURL(E(e.getAttribute("data-fr-src")))),e.getAttribute("href")&&e.setAttribute("href",c.helpers.sanitizeURL(E(e.getAttribute("href")))),e.getAttribute("src")&&e.setAttribute("src",c.helpers.sanitizeURL(E(e.getAttribute("src")))),e.getAttribute("data")&&e.setAttribute("data",c.helpers.sanitizeURL(E(e.getAttribute("data")))),0<=["TABLE","TBODY","TFOOT","TR"].indexOf(e.tagName)&&(e.innerHTML=e.innerHTML.trim())),!c.opts.pasteAllowLocalImages&&e.nodeType==Node.ELEMENT_NODE&&"IMG"==e.tagName&&e.getAttribute("data-fr-src")&&0===e.getAttribute("data-fr-src").indexOf("file://"))return e.parentNode.removeChild(e);if(e.nodeType==Node.ELEMENT_NODE&&M.FE.HTML5Map[e.tagName]&&""===c.node.attributes(e)){var r=M.FE.HTML5Map[e.tagName],o="<"+r+">"+e.innerHTML+"</"+r+">";e.insertAdjacentHTML("beforebegin",o),(e=e.previousSibling).parentNode.removeChild(e.nextSibling)}if(c.opts.htmlAllowComments||e.nodeType!=Node.COMMENT_NODE)if(e.tagName&&e.tagName.match(p))e.parentNode.removeChild(e);else if(e.tagName&&!e.tagName.match(f))"svg"===e.tagName?e.parentNode.removeChild(e):c.browser.safari&&"path"==e.tagName&&e.parentNode&&"svg"==e.parentNode.tagName||(c.browser.safari?e.replaceWith(e.innerHTML):e.outerHTML=e.innerHTML);else{var i=e.attributes;if(i)for(var a=i.length-1;0<=a;a--){var s=i[a],l=s.nodeName.match(u),d=null;"style"==s.nodeName&&c.opts.htmlAllowedStyleProps.length&&(d=s.value.match(g)),l&&d?s.value=h(d.join(";")):l&&("style"!=s.nodeName||d)||e.removeAttribute(s.nodeName)}}else 0!==e.data.indexOf("[FROALA.EDITOR")&&e.parentNode.removeChild(e)}(e)}return{_init:function(){c.opts.fullPage&&M.merge(c.opts.htmlAllowedTags,["head","title","style","link","base","body","html","meta"])},html:function(e,t,n,r){void 0===t&&(t=[]),void 0===n&&(n=[]),void 0===r&&(r=!1);var o,i=M.merge([],c.opts.htmlAllowedTags);for(o=0;o<t.length;o++)0<=i.indexOf(t[o])&&i.splice(i.indexOf(t[o]),1);var a=M.merge([],c.opts.htmlAllowedAttrs);for(o=0;o<n.length;o++)0<=a.indexOf(n[o])&&a.splice(a.indexOf(n[o]),1);return a.push("data-fr-.*"),a.push("fr-.*"),f=new RegExp("^"+i.join("$|^")+"$","gi"),u=new RegExp("^"+a.join("$|^")+"$","gi"),p=new RegExp("^"+c.opts.htmlRemoveTags.join("$|^")+"$","gi"),g=c.opts.htmlAllowedStyleProps.length?new RegExp("((^|;|\\s)"+c.opts.htmlAllowedStyleProps.join(":.+?(?=;|$))|((^|;|\\s)")+":.+?(?=(;)|$))","gi"):null,e=m(e,v,!0)},toHTML5:function(){var e=c.el.querySelectorAll(Object.keys(M.FE.HTML5Map).join(","));if(e.length){var t=!1;c.el.querySelector(".fr-marker")||(c.selection.save(),t=!0);for(var n=0;n<e.length;n++)""===c.node.attributes(e[n])&&M(e[n]).replaceWith("<"+M.FE.HTML5Map[e[n].tagName]+">"+e[n].innerHTML+"</"+M.FE.HTML5Map[e[n].tagName]+">");t&&c.selection.restore()}},tables:function(){!function(){for(var e=c.el.querySelectorAll("tr"),t=0;t<e.length;t++){for(var n=e[t].children,r=!0,o=0;o<n.length;o++)if("TH"!=n[o].tagName){r=!1;break}if(!1!==r&&0!==n.length){for(var i=e[t];i&&"TABLE"!=i.tagName&&"THEAD"!=i.tagName;)i=i.parentNode;var a=i;"THEAD"!=a.tagName&&(a=c.doc.createElement("THEAD"),i.insertBefore(a,i.firstChild)),a.appendChild(e[t])}}}()},lists:function(){!function(){var e,t=[];do{if(t.length){var n=t[0],r=c.doc.createElement("ul");n.parentNode.insertBefore(r,n);do{var o=n;n=n.nextSibling,r.appendChild(o)}while(n&&"LI"==n.tagName)}t=[];for(var i=c.el.querySelectorAll("li"),a=0;a<i.length;a++)e=i[a],c.node.isList(e.parentNode)||t.push(i[a])}while(0<t.length)}(),function(){for(var e=c.el.querySelectorAll("ol + ol, ul + ul"),t=0;t<e.length;t++){var n=e[t];if(c.node.isList(n.previousSibling)&&c.node.openTagString(n)==c.node.openTagString(n.previousSibling)){for(var r=c.node.contents(n),o=0;o<r.length;o++)n.previousSibling.appendChild(r[o]);n.parentNode.removeChild(n)}}}(),function(){for(var e=c.el.querySelectorAll("ul, ol"),t=0;t<e.length;t++)for(var n=c.node.contents(e[t]),r=null,o=n.length-1;0<=o;o--)"LI"!=n[o].tagName?(r||(r=M("<li>")).insertBefore(n[o]),r.prepend(n[o])):r=null}(),function(){var e,t,n;do{t=!1;var r=c.el.querySelectorAll("li:empty");for(e=0;e<r.length;e++)r[e].parentNode.removeChild(r[e]);var o=c.el.querySelectorAll("ul, ol");for(e=0;e<o.length;e++)(n=o[e]).querySelector("LI")||(t=!0,n.parentNode.removeChild(n))}while(!0===t)}(),function(){for(var e=c.el.querySelectorAll("ul > ul, ol > ol, ul > ol, ol > ul"),t=0;t<e.length;t++){var n=e[t],r=n.previousSibling;r&&("LI"==r.tagName?r.appendChild(n):M(n).wrap("<li></li>"))}}(),function(){for(var e=c.el.querySelectorAll("li > ul, li > ol"),t=0;t<e.length;t++){var n=e[t];if(n.nextSibling){var r=n.nextSibling,o=M("<li>");M(n.parentNode).after(o);do{var i=r;r=r.nextSibling,o.append(i)}while(r)}}}(),function(){for(var e=c.el.querySelectorAll("li > ul, li > ol"),t=0;t<e.length;t++){var n=e[t];if(c.node.isFirstSibling(n))M(n).before("<br/>");else if(n.previousSibling&&"BR"==n.previousSibling.tagName){for(var r=n.previousSibling.previousSibling;r&&c.node.hasClass(r,"fr-marker");)r=r.previousSibling;r&&"BR"!=r.tagName&&M(n.previousSibling).remove()}}}(),function(){for(var e=c.el.querySelectorAll("li:empty"),t=0;t<e.length;t++)M(e[t]).remove()}()},invisibleSpaces:function(e){return e.replace(/\u200b/g,"").length==e.length?e:c.clean.exec(e,o)},exec:m}},M.FE.MODULES.spaces=function(l){function r(e,t){var n=e.previousSibling,r=e.nextSibling,o=e.textContent,i=e.parentNode;if(!l.html.isPreformatted(i)){t&&(o=o.replace(/[\f\n\r\t\v ]{2,}/g," "),r&&"BR"!==r.tagName&&!l.node.isBlock(r)||!(l.node.isBlock(i)||l.node.isLink(i)&&!i.nextSibling||l.node.isElement(i))||(o=o.replace(/[\f\n\r\t\v ]{1,}$/g,"")),n&&"BR"!==n.tagName&&!l.node.isBlock(n)||!(l.node.isBlock(i)||l.node.isLink(i)&&!i.previousSibling||l.node.isElement(i))||(o=o.replace(/^[\f\n\r\t\v ]{1,}/g,""))," "!==o||!(n&&l.node.isVoid(n)||r&&l.node.isVoid(r))||n&&r&&l.node.isVoid(n)&&l.node.isVoid(r)||(o="")),(!n&&l.node.isBlock(r)||!r&&l.node.isBlock(n))&&l.node.isBlock(i)&&i!==l.el&&(o=o.replace(/^[\f\n\r\t\v ]{1,}/g,"")),t||(o=o.replace(new RegExp(M.FE.UNICODE_NBSP,"g")," "));for(var a="",s=0;s<o.length;s++)32!=o.charCodeAt(s)||0!==s&&32!=a.charCodeAt(s-1)||n&&r&&l.node.isVoid(n)&&l.node.isVoid(r)?a+=o[s]:a+=M.FE.UNICODE_NBSP;(!r||r&&l.node.isBlock(r)||r&&r.nodeType==Node.ELEMENT_NODE&&l.win.getComputedStyle(r)&&"block"==l.win.getComputedStyle(r).display)&&(a=a.replace(/ $/,M.FE.UNICODE_NBSP)),!n||l.node.isVoid(n)||l.node.isBlock(n)||1!==(a=a.replace(/^\u00A0([^ $])/," $1")).length||160!==a.charCodeAt(0)||!r||l.node.isVoid(r)||l.node.isBlock(r)||(a=" "),t||(a=a.replace(/([^ \u00A0])\u00A0([^ \u00A0])/g,"$1 $2")),e.textContent!=a&&(e.textContent=a)}}function d(e,t){if(void 0!==e&&e||(e=l.el),void 0===t&&(t=!1),!e.getAttribute||"false"!=e.getAttribute("contenteditable"))if(e.nodeType==Node.TEXT_NODE)r(e,t);else if(e.nodeType==Node.ELEMENT_NODE)for(var n=l.doc.createTreeWalker(e,NodeFilter.SHOW_TEXT,l.node.filter(function(e){for(var t=e.parentNode;t&&t!==l.el;){if("STYLE"==t.tagName||"IFRAME"==t.tagName)return!1;if("PRE"===t.tagName)return!1;t=t.parentNode}return null!=e.textContent.match(/([ \u00A0\f\n\r\t\v]{2,})|(^[ \u00A0\f\n\r\t\v]{1,})|([ \u00A0\f\n\r\t\v]{1,}$)/g)&&!l.node.hasClass(e.parentNode,"fr-marker")}),!1);n.nextNode();)r(n.currentNode,t)}return{normalize:d,normalizeAroundCursor:function(){for(var e=[],t=l.el.querySelectorAll(".fr-marker"),n=0;n<t.length;n++){for(var r=null,o=l.node.blockParent(t[n]),i=(r=o||t[n]).nextSibling,a=r.previousSibling;i&&"BR"==i.tagName;)i=i.nextSibling;for(;a&&"BR"==a.tagName;)a=a.previousSibling;r&&e.indexOf(r)<0&&e.push(r),a&&e.indexOf(a)<0&&e.push(a),i&&e.indexOf(i)<0&&e.push(i)}for(var s=0;s<e.length;s++)d(e[s])}}},M.FE.UNICODE_NBSP=String.fromCharCode(160),M.FE.VOID_ELEMENTS=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"],M.FE.BLOCK_TAGS=["address","article","aside","audio","blockquote","canvas","details","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","li","main","nav","noscript","ol","output","p","pre","section","table","tbody","td","tfoot","th","thead","tr","ul","video"],M.extend(M.FE.DEFAULTS,{htmlAllowedEmptyTags:["textarea","a","iframe","object","video","style","script",".fa",".fr-emoticon",".fr-inner","path","line"],htmlDoNotWrapTags:["script","style"],htmlSimpleAmpersand:!1,htmlIgnoreCSSProperties:[],htmlExecuteScripts:!0}),M.FE.MODULES.html=function(O){function c(){return O.opts.enter==M.FE.ENTER_P?"p":O.opts.enter==M.FE.ENTER_DIV?"div":O.opts.enter==M.FE.ENTER_BR?null:void 0}function s(e,t){return!(!e||e===O.el)&&(t?-1!=["PRE","SCRIPT","STYLE"].indexOf(e.tagName)||s(e.parentNode,t):-1!=["PRE","SCRIPT","STYLE"].indexOf(e.tagName))}function i(e){var t,n=[],r=[];if(e){var o=O.el.querySelectorAll(".fr-marker");for(t=0;t<o.length;t++){var i=O.node.blockParent(o[t])||o[t];if(i){var a=i.nextSibling,s=i.previousSibling;i&&r.indexOf(i)<0&&O.node.isBlock(i)&&r.push(i),s&&O.node.isBlock(s)&&r.indexOf(s)<0&&r.push(s),a&&O.node.isBlock(a)&&r.indexOf(a)<0&&r.push(a)}}}else r=O.el.querySelectorAll(p());var l=p();for(l+=","+M.FE.VOID_ELEMENTS.join(","),l+=", .fr-inner",l+=","+O.opts.htmlAllowedEmptyTags.join(":not(.fr-marker),")+":not(.fr-marker)",t=r.length-1;0<=t;t--)if(!(r[t].textContent&&0<r[t].textContent.replace(/\u200B|\n/g,"").length||0<r[t].querySelectorAll(l).length)){for(var d=O.node.contents(r[t]),c=!1,f=0;f<d.length;f++)if(d[f].nodeType!=Node.COMMENT_NODE&&d[f].textContent&&0<d[f].textContent.replace(/\u200B|\n/g,"").length){c=!0;break}c||n.push(r[t])}return n}function p(){return M.FE.BLOCK_TAGS.join(", ")}function e(e){var t,n,r=M.merge([],M.FE.VOID_ELEMENTS);r=M.merge(r,O.opts.htmlAllowedEmptyTags),r=void 0===e?M.merge(r,M.FE.BLOCK_TAGS):M.merge(r,M.FE.NO_DELETE_TAGS),t=O.el.querySelectorAll("*:empty:not("+r.join("):not(")+"):not(.fr-marker)");do{n=!1;for(var o=0;o<t.length;o++)0!==t[o].attributes.length&&void 0===t[o].getAttribute("href")||(t[o].parentNode.removeChild(t[o]),n=!0);t=O.el.querySelectorAll("*:empty:not("+r.join("):not(")+"):not(.fr-marker)")}while(t.length&&n)}function a(e,t){var n=c();if(t&&(n="div"),n){for(var r=O.doc.createDocumentFragment(),o=null,i=!1,a=e.firstChild,s=!1;a;){var l=a.nextSibling;if(a.nodeType==Node.ELEMENT_NODE&&(O.node.isBlock(a)||0<=O.opts.htmlDoNotWrapTags.indexOf(a.tagName.toLowerCase())&&!O.node.hasClass(a,"fr-marker")))o=null,r.appendChild(a.cloneNode(!0));else if(a.nodeType!=Node.ELEMENT_NODE&&a.nodeType!=Node.TEXT_NODE)o=null,r.appendChild(a.cloneNode(!0));else if("BR"==a.tagName)null==o?(o=O.doc.createElement(n),s=!0,t&&(o.setAttribute("class","fr-temp-div"),o.setAttribute("data-empty",!0)),o.appendChild(a.cloneNode(!0)),r.appendChild(o)):!1===i&&(o.appendChild(O.doc.createElement("br")),t&&(o.setAttribute("class","fr-temp-div"),o.setAttribute("data-empty",!0))),o=null;else{var d=a.textContent;a.nodeType!==Node.TEXT_NODE||0<d.replace(/\n/g,"").replace(/(^ *)|( *$)/g,"").length||d.replace(/(^ *)|( *$)/g,"").length&&d.indexOf("\n")<0?(null==o&&(o=O.doc.createElement(n),s=!0,t&&o.setAttribute("class","fr-temp-div"),r.appendChild(o),i=!1),o.appendChild(a.cloneNode(!0)),i||O.node.hasClass(a,"fr-marker")||a.nodeType==Node.TEXT_NODE&&0===d.replace(/ /g,"").length||(i=!0)):s=!0}a=l}s&&(e.innerHTML="",e.appendChild(r))}}function l(e,t){for(var n=e.length-1;0<=n;n--)a(e[n],t)}function t(e,t,n,r,o){if(!O.$wp)return!1;void 0===e&&(e=!1),void 0===t&&(t=!1),void 0===n&&(n=!1),void 0===r&&(r=!1),void 0===o&&(o=!1);var i=O.$wp.scrollTop();a(O.el,e),r&&l(O.el.querySelectorAll(".fr-inner"),e),t&&l(O.el.querySelectorAll("td, th"),e),n&&l(O.el.querySelectorAll("blockquote"),e),o&&l(O.el.querySelectorAll("li"),e),i!=O.$wp.scrollTop()&&O.$wp.scrollTop(i)}function n(e){if(void 0===e&&(e=O.el),e&&0<=["SCRIPT","STYLE","PRE"].indexOf(e.tagName))return!1;for(var t=O.doc.createTreeWalker(e,NodeFilter.SHOW_TEXT,O.node.filter(function(e){return null!=e.textContent.match(/([ \n]{2,})|(^[ \n]{1,})|([ \n]{1,}$)/g)}),!1);t.nextNode();){var n=t.currentNode;if(!s(n.parentNode,!0)){var r=O.node.isBlock(n.parentNode)||O.node.isElement(n.parentNode),o=n.textContent.replace(/(?!^)( ){2,}(?!$)/g," ").replace(/\n/g," ").replace(/^[ ]{2,}/g," ").replace(/[ ]{2,}$/g," ");if(r){var i=n.previousSibling,a=n.nextSibling;i&&a&&" "==o?o=O.node.isBlock(i)&&O.node.isBlock(a)?"":" ":(i||(o=o.replace(/^ */,"")),a||(o=o.replace(/ *$/,"")))}n.textContent=o}}}function r(e,t,n){var r=new RegExp(t,"gi").exec(e);return r?r[n]:null}function w(e){var t=e.doctype,n="<!DOCTYPE html>";return t&&(n="<!DOCTYPE "+t.name+(t.publicId?' PUBLIC "'+t.publicId+'"':"")+(!t.publicId&&t.systemId?" SYSTEM":"")+(t.systemId?' "'+t.systemId+'"':"")+">"),n}function d(e){var t=e.parentNode;if(t&&(O.node.isBlock(t)||O.node.isElement(t))&&["TD","TH"].indexOf(t.tagName)<0){for(var n=e.previousSibling,r=e.nextSibling;n&&(n.nodeType==Node.TEXT_NODE&&0===n.textContent.replace(/\n|\r/g,"").length||O.node.hasClass(n,"fr-tmp"));)n=n.previousSibling;if(r)return!1;n&&t&&"BR"!=n.tagName&&!O.node.isBlock(n)&&!r&&0<t.textContent.replace(/\u200B/g,"").length&&0<n.textContent.length&&!O.node.hasClass(n,"fr-marker")&&(O.el==t&&!r&&O.opts.enter==M.FE.ENTER_BR&&O.browser.msie||e.parentNode.removeChild(e))}else!t||O.node.isBlock(t)||O.node.isElement(t)||e.previousSibling||e.nextSibling||!O.node.isDeletable(e.parentNode)||d(e.parentNode)}function u(){O.opts.htmlUntouched||(e(),t(),n(),O.spaces.normalize(null,!0),O.html.fillEmptyBlocks(),O.clean.lists(),O.clean.tables(),O.clean.toHTML5(),O.html.cleanBRs()),O.selection.restore(),o(),O.placeholder.refresh()}function o(){O.node.isEmpty(O.el)&&(null!=c()?O.el.querySelector(p())||O.el.querySelector(O.opts.htmlDoNotWrapTags.join(":not(.fr-marker),")+":not(.fr-marker)")||(O.core.hasFocus()?(O.$el.html("<"+c()+">"+M.FE.MARKERS+"<br/></"+c()+">"),O.selection.restore()):O.$el.html("<"+c()+"><br/></"+c()+">")):O.el.querySelector("*:not(.fr-marker):not(br)")||(O.core.hasFocus()?(O.$el.html(M.FE.MARKERS+"<br/>"),O.selection.restore()):O.$el.html("<br/>")))}function g(e,t){return r(e,"<"+t+"[^>]*?>([\\w\\W]*)</"+t+">",1)}function h(e,t){var n=M("<div "+(r(e,"<"+t+"([^>]*?)>",1)||"")+">");return O.node.rawAttributes(n.get(0))}function m(e){return(r(e,"<!DOCTYPE([^>]*?)>",0)||"<!DOCTYPE html>").replace(/\n/g," ").replace(/ {2,}/g," ")}function E(e,t){O.opts.htmlExecuteScripts?e.html(t):e.get(0).innerHTML=t}function F(e){var t;(t=/:not\(([^\)]*)\)/g).test(e)&&(e=e.replace(t," $1 "));var n=100*(e.match(/(#[^\s\+>~\.\[:]+)/g)||[]).length+10*(e.match(/(\[[^\]]+\])/g)||[]).length+10*(e.match(/(\.[^\s\+>~\.\[:]+)/g)||[]).length+10*(e.match(/(:[\w-]+\([^\)]*\))/gi)||[]).length+10*(e.match(/(:[^\s\+>~\.\[:]+)/g)||[]).length+(e.match(/(::[^\s\+>~\.\[:]+|:first-line|:first-letter|:before|:after)/gi)||[]).length;return n+=((e=(e=e.replace(/[\*\s\+>~]/g," ")).replace(/[#\.]/g," ")).match(/([^\s\+>~\.\[:]+)/g)||[]).length}function k(e){if(O.events.trigger("html.processGet",[e]),e&&e.getAttribute&&""===e.getAttribute("class")&&e.removeAttribute("class"),e&&e.getAttribute&&""===e.getAttribute("style")&&e.removeAttribute("style"),e&&e.nodeType==Node.ELEMENT_NODE){var t,n=e.querySelectorAll('[class=""],[style=""]');for(t=0;t<n.length;t++){var r=n[t];""===r.getAttribute("class")&&r.removeAttribute("class"),""===r.getAttribute("style")&&r.removeAttribute("style")}if("BR"===e.tagName)d(e);else{var o=e.querySelectorAll("br");for(t=0;t<o.length;t++)d(o[t])}}}function D(e,t){return e[3]-t[3]}function f(e){var t=O.doc.createElement("div");return t.innerHTML=e,null!==t.querySelector(p())}function v(e){var t=null;if(void 0===e&&(t=O.selection.element()),O.opts.keepFormatOnDelete)return!1;var n,r,o=t?(t.textContent.match(/\u200B/g)||[]).length-t.querySelectorAll(".fr-marker").length:0;if((O.el.textContent.match(/\u200B/g)||[]).length-O.el.querySelectorAll(".fr-marker").length==o)return!1;do{r=!1,n=O.el.querySelectorAll("*:not(.fr-marker)");for(var i=0;i<n.length;i++){var a=n[i];if(t!=a){var s=a.textContent;0===a.children.length&&1===s.length&&8203==s.charCodeAt(0)&&"TD"!==a.tagName&&(M(a).remove(),r=!0)}}}while(r)}return{defaultTag:c,isPreformatted:s,emptyBlocks:i,emptyBlockTagsQuery:function(){return M.FE.BLOCK_TAGS.join(":empty, ")+":empty"},blockTagsQuery:p,fillEmptyBlocks:function(e){var t=i(e);O.node.isEmpty(O.el)&&O.opts.enter===M.FE.ENTER_BR&&t.push(O.el);for(var n=0;n<t.length;n++){var r=t[n];"false"===r.getAttribute("contenteditable")||r.querySelector(O.opts.htmlAllowedEmptyTags.join(":not(.fr-marker),")+":not(.fr-marker)")||O.node.isVoid(r)||"TABLE"!=r.tagName&&"TBODY"!=r.tagName&&"TR"!=r.tagName&&"UL"!=r.tagName&&"OL"!=r.tagName&&r.appendChild(O.doc.createElement("br"))}if(O.browser.msie&&O.opts.enter==M.FE.ENTER_BR){var o=O.node.contents(O.el);o.length&&o[o.length-1].nodeType==Node.TEXT_NODE&&O.$el.append("<br>")}},cleanEmptyTags:e,cleanWhiteTags:v,cleanBlankSpaces:n,blocks:function(){return O.$el.get(0).querySelectorAll(p())},getDoctype:w,set:function(e){var t,n,r,o=O.clean.html((e||"").trim(),[],[],O.opts.fullPage);if(O.opts.fullPage){var i=g(o,"body")||(0<=o.indexOf("<body")?"":o),a=h(o,"body"),s=g(o,"head")||"<title></title>",l=h(o,"head"),d=M("<div>").append(s).contents().each(function(){(this.nodeType==Node.COMMENT_NODE||0<=["BASE","LINK","META","NOSCRIPT","SCRIPT","STYLE","TEMPLATE","TITLE"].indexOf(this.tagName))&&this.parentNode.removeChild(this)}).end().html().trim();s=M("<div>").append(s).contents().map(function(){return this.nodeType==Node.COMMENT_NODE?"\x3c!--"+this.nodeValue+"--\x3e":0<=["BASE","LINK","META","NOSCRIPT","SCRIPT","STYLE","TEMPLATE","TITLE"].indexOf(this.tagName)?this.outerHTML:""}).toArray().join("");var c=m(o),f=h(o,"html");E(O.$el,d+"\n"+i),O.node.clearAttributes(O.el),O.$el.attr(a),O.$el.addClass("fr-view"),O.$el.attr("spellcheck",O.opts.spellcheck),O.$el.attr("dir",O.opts.direction),E(O.$head,s),O.node.clearAttributes(O.$head.get(0)),O.$head.attr(l),O.node.clearAttributes(O.$html.get(0)),O.$html.attr(f),O.iframe_document.doctype.parentNode.replaceChild((t=c,n=O.iframe_document,(r=t.match(/<!DOCTYPE ?([^ ]*) ?([^ ]*) ?"?([^"]*)"? ?"?([^"]*)"?>/i))?n.implementation.createDocumentType(r[1],r[3],r[4]):n.implementation.createDocumentType("html")),O.iframe_document.doctype)}else E(O.$el,o);var p=O.edit.isDisabled();O.edit.on(),O.core.injectStyle(O.opts.iframeDefaultStyle+O.opts.iframeStyle),u(),O.opts.useClasses||(O.$el.find("[fr-original-class]").each(function(){this.setAttribute("class",this.getAttribute("fr-original-class")),this.removeAttribute("fr-original-class")}),O.$el.find("[fr-original-style]").each(function(){this.setAttribute("style",this.getAttribute("fr-original-style")),this.removeAttribute("fr-original-style")})),p&&O.edit.off(),O.events.trigger("html.set")},get:function(e,t){if(!O.$wp)return O.$oel.clone().removeClass("fr-view").removeAttr("contenteditable").get(0).outerHTML;var n="";O.events.trigger("html.beforeGet");var r,o,i=[],a={},s=[],l=O.el.querySelectorAll("input, textarea");for(r=0;r<l.length;r++)l[r].setAttribute("value",l[r].value);if(!O.opts.useClasses&&!t){var d=new RegExp("^"+O.opts.htmlIgnoreCSSProperties.join("$|^")+"$","gi");for(r=0;r<O.doc.styleSheets.length;r++){var c,f=0;try{c=O.doc.styleSheets[r].cssRules,O.doc.styleSheets[r].ownerNode&&"STYLE"==O.doc.styleSheets[r].ownerNode.nodeType&&(f=1)}catch($){}if(c)for(var p=0,u=c.length;p<u;p++)if(c[p].selectorText&&0<c[p].style.cssText.length){var g,h=c[p].selectorText.replace(/body |\.fr-view /g,"").replace(/::/g,":");try{g=O.el.querySelectorAll(h)}catch($){g=[]}for(o=0;o<g.length;o++){!g[o].getAttribute("fr-original-style")&&g[o].getAttribute("style")?(g[o].setAttribute("fr-original-style",g[o].getAttribute("style")),i.push(g[o])):g[o].getAttribute("fr-original-style")||(g[o].setAttribute("fr-original-style",""),i.push(g[o])),a[g[o]]||(a[g[o]]={});for(var m=1e3*f+F(c[p].selectorText),E=c[p].style.cssText.split(";"),v=0;v<E.length;v++){var b=E[v].trim().split(":")[0];if(b&&!b.match(d)&&(a[g[o]][b]||(a[g[o]][b]=0)<=(g[o].getAttribute("fr-original-style")||"").indexOf(b+":")&&(a[g[o]][b]=1e4),m>=a[g[o]][b]&&(a[g[o]][b]=m,E[v].trim().length))){var S=E[v].trim().split(":");S.splice(0,1),s.push([g[o],b.trim(),S.join(":").trim(),m])}}}}}for(s.sort(D),r=0;r<s.length;r++){var T=s[r];T[0].style[T[1]]=T[2]}for(r=0;r<i.length;r++)if(i[r].getAttribute("class")&&(i[r].setAttribute("fr-original-class",i[r].getAttribute("class")),i[r].removeAttribute("class")),0<(i[r].getAttribute("fr-original-style")||"").trim().length){var y=i[r].getAttribute("fr-original-style").split(";");for(o=0;o<y.length;o++)if(0<y[o].indexOf(":")){var N=y[o].split(":"),C=N[0];N.splice(0,1),i[r].style[C.trim()]=N.join(":").trim()}}}if(O.node.isEmpty(O.el))O.opts.fullPage&&(n=w(O.iframe_document),n+="<html"+O.node.attributes(O.$html.get(0))+">"+O.$html.find("head").get(0).outerHTML+"<body></body></html>");else if(void 0===e&&(e=!1),O.opts.fullPage){n=w(O.iframe_document),O.$el.removeClass("fr-view");var A=O.opts.heightMin;O.opts.heightMin=null,O.size.refresh(),n+="<html"+O.node.attributes(O.$html.get(0))+">"+O.$html.html()+"</html>",O.opts.heightMin=A,O.size.refresh(),O.$el.addClass("fr-view")}else n=O.$el.html();if(!O.opts.useClasses&&!t)for(r=0;r<i.length;r++)i[r].getAttribute("fr-original-class")&&(i[r].setAttribute("class",i[r].getAttribute("fr-original-class")),i[r].removeAttribute("fr-original-class")),null!=i[r].getAttribute("fr-original-style")&&void 0!==i[r].getAttribute("fr-original-style")?(0!==i[r].getAttribute("fr-original-style").length?i[r].setAttribute("style",i[r].getAttribute("fr-original-style")):i[r].removeAttribute("style"),i[r].removeAttribute("fr-original-style")):i[r].removeAttribute("style");O.opts.fullPage&&(n=(n=(n=(n=(n=(n=(n=(n=n.replace(/<style data-fr-style="true">(?:[\w\W]*?)<\/style>/g,"")).replace(/<link([^>]*)data-fr-style="true"([^>]*)>/g,"")).replace(/<style(?:[\w\W]*?)class="firebugResetStyles"(?:[\w\W]*?)>(?:[\w\W]*?)<\/style>/g,"")).replace(/<body((?:[\w\W]*?)) spellcheck="true"((?:[\w\W]*?))>((?:[\w\W]*?))<\/body>/g,"<body$1$2>$3</body>")).replace(/<body((?:[\w\W]*?)) contenteditable="(true|false)"((?:[\w\W]*?))>((?:[\w\W]*?))<\/body>/g,"<body$1$3>$4</body>")).replace(/<body((?:[\w\W]*?)) dir="([\w]*)"((?:[\w\W]*?))>((?:[\w\W]*?))<\/body>/g,"<body$1$3>$4</body>")).replace(/<body((?:[\w\W]*?))class="([\w\W]*?)(fr-rtl|fr-ltr)([\w\W]*?)"((?:[\w\W]*?))>((?:[\w\W]*?))<\/body>/g,'<body$1class="$2$4"$5>$6</body>')).replace(/<body((?:[\w\W]*?)) class=""((?:[\w\W]*?))>((?:[\w\W]*?))<\/body>/g,"<body$1$2>$3</body>")),O.opts.htmlSimpleAmpersand&&(n=n.replace(/\&amp;/gi,"&")),O.events.trigger("html.afterGet"),e||(n=n.replace(/<span[^>]*? class\s*=\s*["']?fr-marker["']?[^>]+>\u200b<\/span>/gi,"")),n=O.clean.invisibleSpaces(n),n=O.clean.exec(n,k);var x=O.events.chainTrigger("html.get",n);return"string"==typeof x&&(n=x),n=(n=n.replace(/<pre(?:[\w\W]*?)>(?:[\w\W]*?)<\/pre>/g,function(e){return e.replace(/<br>/g,"\n")})).replace(/<meta((?:[\w\W]*?)) data-fr-http-equiv="/g,'<meta$1 http-equiv="')},getSelected:function(){var e,t,n=function(e,t){for(;t&&(t.nodeType==Node.TEXT_NODE||!O.node.isBlock(t))&&!O.node.isElement(t)&&!O.node.hasClass(t,"fr-inner");)t&&t.nodeType!=Node.TEXT_NODE&&M(e).wrapInner(O.node.openTagString(t)+O.node.closeTagString(t)),t=t.parentNode;t&&e.innerHTML==t.innerHTML&&(e.innerHTML=t.outerHTML)},r="";if("undefined"!=typeof O.win.getSelection){O.browser.mozilla&&(O.selection.save(),1<O.$el.find('.fr-marker[data-type="false"]').length&&(O.$el.find('.fr-marker[data-type="false"][data-id="0"]').remove(),O.$el.find('.fr-marker[data-type="false"]:last').attr("data-id","0"),O.$el.find(".fr-marker").not('[data-id="0"]').remove()),O.selection.restore());for(var o=O.selection.ranges(),i=0;i<o.length;i++){var a=document.createElement("div");a.appendChild(o[i].cloneContents()),n(a,(t=e=void 0,t=null,O.win.getSelection?(e=O.win.getSelection())&&e.rangeCount&&(t=e.getRangeAt(0).commonAncestorContainer).nodeType!=Node.ELEMENT_NODE&&(t=t.parentNode):(e=O.doc.selection)&&"Control"!=e.type&&(t=e.createRange().parentElement()),null!=t&&(0<=M.inArray(O.el,M(t).parents())||t==O.el)?t:null)),0<M(a).find(".fr-element").length&&(a=O.el),r+=a.innerHTML}}else"undefined"!=typeof O.doc.selection&&"Text"==O.doc.selection.type&&(r=O.doc.selection.createRange().htmlText);return r},insert:function(e,t,n){var r,o,i;if(O.selection.isCollapsed()||O.selection.remove(),r=t?e:O.clean.html(e),e.indexOf('class="fr-marker"')<0&&(o=r,(i=O.doc.createElement("div")).innerHTML=o,O.selection.setAtEnd(i),r=i.innerHTML),O.node.isEmpty(O.el)&&!O.opts.keepFormatOnDelete&&f(r))O.el.innerHTML=r;else{var a=O.markers.insert();if(a){O.node.isLastSibling(a)&&M(a).parent().hasClass("fr-deletable")&&M(a).insertAfter(M(a).parent());var s=O.node.blockParent(a);if((f(r)||n)&&(O.node.deepestParent(a)||s&&"LI"==s.tagName)){if(s&&"LI"==s.tagName&&(r=function(e){if(!O.html.defaultTag())return e;var t=O.doc.createElement("div");t.innerHTML=e;for(var n=t.querySelectorAll(":scope > "+O.html.defaultTag()),r=n.length-1;0<=r;r--){var o=n[r];O.node.isBlock(o.previousSibling)||(o.previousSibling&&!O.node.isEmpty(o)&&M("<br>").insertAfter(o.previousSibling),o.outerHTML=o.innerHTML)}return t.innerHTML}(r)),!(a=O.markers.split()))return!1;a.outerHTML=r}else a.outerHTML=r}else O.el.innerHTML=O.el.innerHTML+r}u(),O.keys.positionCaret(),O.events.trigger("html.inserted")},wrap:t,unwrap:function(){O.$el.find("div.fr-temp-div").each(function(){this.previousSibling&&this.previousSibling.nodeType===Node.TEXT_NODE&&M(this).before("<br>"),M(this).attr("data-empty")||!this.nextSibling||O.node.isBlock(this.nextSibling)&&!M(this.nextSibling).hasClass("fr-temp-div")?M(this).replaceWith(M(this).html()):M(this).replaceWith(M(this).html()+"<br>")}),O.$el.find(".fr-temp-div").removeClass("fr-temp-div").filter(function(){return""===M(this).attr("class")}).removeAttr("class")},escapeEntities:function(e){return e.replace(/</gi,"&lt;").replace(/>/gi,"&gt;").replace(/"/gi,"&quot;").replace(/'/gi,"&#39;")},checkIfEmpty:o,extractNode:g,extractNodeAttrs:h,extractDoctype:m,cleanBRs:function(){for(var e=O.el.getElementsByTagName("br"),t=0;t<e.length;t++)d(e[t])},_init:function(){if(O.$wp){var e=function(){v(),O.placeholder&&setTimeout(O.placeholder.refresh,0)};O.events.on("mouseup",e),O.events.on("keydown",e),O.events.on("contentChanged",o)}}}},M.extend(M.FE.DEFAULTS,{height:null,heightMax:null,heightMin:null,width:null}),M.FE.MODULES.size=function(e){function t(){n(),e.opts.height&&e.$el.css("minHeight",e.opts.height-e.helpers.getPX(e.$el.css("padding-top"))-e.helpers.getPX(e.$el.css("padding-bottom"))),e.$iframe.height(e.$el.outerHeight(!0))}function n(){e.opts.heightMin?e.$el.css("minHeight",e.opts.heightMin):e.$el.css("minHeight",""),e.opts.heightMax?(e.$wp.css("maxHeight",e.opts.heightMax),e.$wp.css("overflow","auto")):(e.$wp.css("maxHeight",""),e.$wp.css("overflow","")),e.opts.height?(e.$wp.height(e.opts.height),e.$wp.css("overflow","auto"),e.$el.css("minHeight",e.opts.height-e.helpers.getPX(e.$el.css("padding-top"))-e.helpers.getPX(e.$el.css("padding-bottom")))):(e.$wp.css("height",""),e.opts.heightMin||e.$el.css("minHeight",""),e.opts.heightMax||e.$wp.css("overflow","")),e.opts.width&&e.$box.width(e.opts.width)}return{_init:function(){if(!e.$wp)return!1;n(),e.$iframe&&(e.events.on("keyup keydown",function(){setTimeout(t,0)},!0),e.events.on("commands.after html.set init initialized paste.after",t))},syncIframe:t,refresh:n}},M.extend(M.FE.DEFAULTS,{language:null}),M.FE.LANGUAGE={},M.FE.MODULES.language=function(e){var t;return{_init:function(){M.FE.LANGUAGE&&(t=M.FE.LANGUAGE[e.opts.language]),t&&t.direction&&(e.opts.direction=t.direction)},translate:function(e){return t&&t.translation[e]&&t.translation[e].length?t.translation[e]:e}}},M.extend(M.FE.DEFAULTS,{placeholderText:"Type something"}),M.FE.MODULES.placeholder=function(c){function e(){c.$placeholder||(c.$placeholder=M('<span class="fr-placeholder"></span>'),c.$wp.append(c.$placeholder));var e=c.opts.iframe?c.$iframe.prev().outerHeight(!0):c.$el.prev().outerHeight(!0),t=0,n=0,r=0,o=0,i=0,a=0,s=c.node.contents(c.el),l=M(c.selection.element()).css("text-align");if(s.length&&s[0].nodeType==Node.ELEMENT_NODE){var d=M(s[0]);(!c.opts.toolbarInline||0<c.$el.prev().length)&&c.ready&&(t=c.helpers.getPX(d.css("margin-top")),o=c.helpers.getPX(d.css("padding-top")),n=c.helpers.getPX(d.css("margin-left")),r=c.helpers.getPX(d.css("margin-right")),i=c.helpers.getPX(d.css("padding-left")),a=c.helpers.getPX(d.css("padding-right"))),c.$placeholder.css("font-size",d.css("font-size")),c.$placeholder.css("line-height",d.css("line-height"))}else c.$placeholder.css("font-size",c.$el.css("font-size")),c.$placeholder.css("line-height",c.$el.css("line-height"));c.$wp.addClass("show-placeholder"),c.$placeholder.css({marginTop:Math.max(c.helpers.getPX(c.$el.css("margin-top")),t)+(e||0),paddingTop:Math.max(c.helpers.getPX(c.$el.css("padding-top")),o),paddingLeft:Math.max(c.helpers.getPX(c.$el.css("padding-left")),i),marginLeft:Math.max(c.helpers.getPX(c.$el.css("margin-left")),n),paddingRight:Math.max(c.helpers.getPX(c.$el.css("padding-right")),a),marginRight:Math.max(c.helpers.getPX(c.$el.css("margin-right")),r),textAlign:l}).text(c.language.translate(c.opts.placeholderText||c.$oel.attr("placeholder")||"")),c.$placeholder.html(c.$placeholder.text().replace(/\n/g,"<br>"))}function t(){c.$wp.removeClass("show-placeholder")}function n(){if(!c.$wp)return!1;c.core.isEmpty()?e():t()}return{_init:function(){if(!c.$wp)return!1;c.events.on("init input keydown keyup contentChanged initialized",n)},show:e,hide:t,refresh:n,isVisible:function(){return!!c.$wp&&c.node.hasClass(c.$wp.get(0),"show-placeholder")}}},M.FE.MODULES.edit=function(t){function e(){if(t.browser.mozilla)try{t.doc.execCommand("enableObjectResizing",!1,"false"),t.doc.execCommand("enableInlineTableEditing",!1,"false")}catch(e){}if(t.browser.msie)try{t.doc.body.addEventListener("mscontrolselect",function(e){return e.preventDefault(),!1})}catch(e){}}var n=!1;function r(){return n}return{_init:function(){t.events.on("focus",function(){r()?t.edit.off():t.edit.on()})},on:function(){t.$wp?(t.$el.attr("contenteditable",!0),t.$el.removeClass("fr-disabled").attr("aria-disabled",!1),t.$tb&&t.$tb.removeClass("fr-disabled").removeAttr("aria-disabled"),e()):t.$el.is("a")&&t.$el.attr("contenteditable",!0),n=!1},off:function(){t.events.disableBlur(),t.$wp?(t.$el.attr("contenteditable",!1),t.$el.addClass("fr-disabled").attr("aria-disabled",!0),t.$tb&&t.$tb.addClass("fr-disabled").attr("aria-disabled",!0)):t.$el.is("a")&&t.$el.attr("contenteditable",!1),t.events.enableBlur(),n=!0},disableDesign:e,isDisabled:r}},M.extend(M.FE.DEFAULTS,{documentReady:!1,editorClass:null,typingTimer:500,iframe:!1,requestWithCORS:!0,requestWithCredentials:!1,requestHeaders:{},useClasses:!0,spellcheck:!0,iframeDefaultStyle:'html{margin:0px;height:auto;}body{height:auto;padding:10px;background:transparent;color:#000000;position:relative;z-index: 2;-webkit-user-select:auto;margin:0px;overflow:hidden;min-height:20px;}body:after{content:"";display:block;clear:both;}body::-moz-selection{background:#b5d6fd;color:#000;}body::selection{background:#b5d6fd;color:#000;}',iframeStyle:"",iframeStyleFiles:[],direction:"auto",zIndex:1,tabIndex:null,disableRightClick:!1,scrollableContainer:"body",keepFormatOnDelete:!1,theme:null}),M.FE.MODULES.core=function(i){function t(){if(i.$box.addClass("fr-box"+(i.opts.editorClass?" "+i.opts.editorClass:"")),i.$box.attr("role","application"),i.$wp.addClass("fr-wrapper"),i.opts.documentReady&&i.$box.addClass("fr-document"),i.opts.iframe||i.$el.addClass("fr-element fr-view"),i.opts.iframe){i.$iframe.addClass("fr-iframe"),i.$el.addClass("fr-view");for(var e=0;e<i.o_doc.styleSheets.length;e++){var t;try{t=i.o_doc.styleSheets[e].cssRules}catch(o){}if(t)for(var n=0,r=t.length;n<r;n++)!t[n].selectorText||0!==t[n].selectorText.indexOf(".fr-view")&&0!==t[n].selectorText.indexOf(".fr-element")||0<t[n].style.cssText.length&&(0===t[n].selectorText.indexOf(".fr-view")?i.opts.iframeStyle+=t[n].selectorText.replace(/\.fr-view/g,"body")+"{"+t[n].style.cssText+"}":i.opts.iframeStyle+=t[n].selectorText.replace(/\.fr-element/g,"body")+"{"+t[n].style.cssText+"}")}}"auto"!=i.opts.direction&&i.$box.removeClass("fr-ltr fr-rtl").addClass("fr-"+i.opts.direction),i.$el.attr("dir",i.opts.direction),i.$wp.attr("dir",i.opts.direction),1<i.opts.zIndex&&i.$box.css("z-index",i.opts.zIndex),i.opts.theme&&i.$box.addClass(i.opts.theme+"-theme"),i.opts.tabIndex=i.opts.tabIndex||i.$oel.attr("tabIndex"),i.opts.tabIndex&&i.$el.attr("tabIndex",i.opts.tabIndex)}return{_init:function(){if(M.FE.INSTANCES.push(i),i.drag_support={filereader:"undefined"!=typeof FileReader,formdata:!!i.win.FormData,progress:"upload"in new XMLHttpRequest},i.$wp){t(),i.html.set(i._original_html),i.$el.attr("spellcheck",i.opts.spellcheck),i.helpers.isMobile()&&(i.$el.attr("autocomplete",i.opts.spellcheck?"on":"off"),i.$el.attr("autocorrect",i.opts.spellcheck?"on":"off"),i.$el.attr("autocapitalize",i.opts.spellcheck?"on":"off")),i.opts.disableRightClick&&i.events.$on(i.$el,"contextmenu",function(e){if(2==e.button)return!1});try{i.doc.execCommand("styleWithCSS",!1,!1)}catch(e){}}"TEXTAREA"==i.$oel.get(0).tagName&&(i.events.on("contentChanged",function(){i.$oel.val(i.html.get())}),i.events.on("form.submit",function(){i.$oel.val(i.html.get())}),i.events.on("form.reset",function(){i.html.set(i._original_html)}),i.$oel.val(i.html.get())),i.helpers.isIOS()&&i.events.$on(i.$doc,"selectionchange",function(){i.$doc.get(0).hasFocus()||i.$win.get(0).focus()}),i.events.trigger("init"),i.opts.autofocus&&!i.opts.initOnClick&&i.$wp&&i.events.on("initialized",function(){i.events.focus(!0)})},destroy:function(e){"TEXTAREA"==i.$oel.get(0).tagName&&i.$oel.val(e),i.$box&&i.$box.removeAttr("role"),i.$wp&&("TEXTAREA"==i.$oel.get(0).tagName?(i.$el.html(""),i.$wp.html(""),i.$box.replaceWith(i.$oel),i.$oel.show()):(i.$wp.replaceWith(e),i.$el.html(""),i.$box.removeClass("fr-view fr-ltr fr-box "+(i.opts.editorClass||"")),i.opts.theme&&i.$box.addClass(i.opts.theme+"-theme"))),this.$wp=null,this.$el=null,this.el=null,this.$box=null},isEmpty:function(){return i.node.isEmpty(i.el)},getXHR:function(e,t){var n=new XMLHttpRequest;for(var r in n.open(t,e,!0),i.opts.requestWithCredentials&&(n.withCredentials=!0),i.opts.requestHeaders)i.opts.requestHeaders.hasOwnProperty(r)&&n.setRequestHeader(r,i.opts.requestHeaders[r]);return n},injectStyle:function(e){if(i.opts.iframe){i.$head.find("style[data-fr-style], link[data-fr-style]").remove(),i.$head.append('<style data-fr-style="true">'+e+"</style>");for(var t=0;t<i.opts.iframeStyleFiles.length;t++){var n=M('<link data-fr-style="true" rel="stylesheet" href="'+i.opts.iframeStyleFiles[t]+'">');n.get(0).addEventListener("load",i.size.syncIframe),i.$head.append(n)}}},hasFocus:function(){return i.browser.mozilla&&i.helpers.isMobile()?i.selection.inEditor():i.node.hasFocus(i.el)||0<i.$el.find("*:focus").length},sameInstance:function(e){if(!e)return!1;var t=e.data("instance");return!!t&&t.id==i.id}}},M.FE.MODULES.cursorLists=function(h){function m(e){for(var t=e;"LI"!=t.tagName;)t=t.parentNode;return t}function E(e){for(var t=e;!h.node.isList(t);)t=t.parentNode;return t}return{_startEnter:function(e){var t,n=m(e),r=n.nextSibling,o=n.previousSibling,i=h.html.defaultTag();if(h.node.isEmpty(n,!0)&&r){for(var a="",s="",l=e.parentNode;!h.node.isList(l)&&l.parentNode&&("LI"!==l.parentNode.tagName||l.parentNode===n);)a=h.node.openTagString(l)+a,s+=h.node.closeTagString(l),l=l.parentNode;a=h.node.openTagString(l)+a,s+=h.node.closeTagString(l);var d="";for(d=l.parentNode&&"LI"==l.parentNode.tagName?s+"<li>"+M.FE.MARKERS+"<br>"+a:i?s+"<"+i+">"+M.FE.MARKERS+"<br></"+i+">"+a:s+M.FE.MARKERS+"<br>"+a;["UL","OL"].indexOf(l.tagName)<0||l.parentNode&&"LI"===l.parentNode.tagName;)l=l.parentNode;M(n).replaceWith('<span id="fr-break"></span>');var c=h.node.openTagString(l)+M(l).html()+h.node.closeTagString(l);c=c.replace(/<span id="fr-break"><\/span>/g,d),M(l).replaceWith(c),h.$el.find("li:empty").remove()}else if(o&&r||!h.node.isEmpty(n,!0)){for(var f="<br>",p=e.parentNode;p&&"LI"!=p.tagName;)f=h.node.openTagString(p)+f+h.node.closeTagString(p),p=p.parentNode;M(n).before("<li>"+f+"</li>"),M(e).remove()}else if(o){t=E(n);for(var u=M.FE.MARKERS+"<br>",g=e.parentNode;g&&"LI"!=g.tagName;)u=h.node.openTagString(g)+u+h.node.closeTagString(g),g=g.parentNode;t.parentNode&&"LI"==t.parentNode.tagName?M(t.parentNode).after("<li>"+u+"</li>"):i?M(t).after("<"+i+">"+u+"</"+i+">"):M(t).after(u),M(n).remove()}else(t=E(n)).parentNode&&"LI"==t.parentNode.tagName?r?M(t.parentNode).before(h.node.openTagString(n)+M.FE.MARKERS+"<br></li>"):M(t.parentNode).after(h.node.openTagString(n)+M.FE.MARKERS+"<br></li>"):i?M(t).before("<"+i+">"+M.FE.MARKERS+"<br></"+i+">"):M(t).before(M.FE.MARKERS+"<br>"),M(n).remove()},_middleEnter:function(e){for(var t=m(e),n="",r=e,o="",i="";r!=t;){var a="A"==(r=r.parentNode).tagName&&h.cursor.isAtEnd(e,r)?"fr-to-remove":"";o=h.node.openTagString(M(r).clone().addClass(a).get(0))+o,i=h.node.closeTagString(r)+i}n=i+n+o+M.FE.MARKERS+(h.opts.keepFormatOnDelete?M.FE.INVISIBLE_SPACE:""),M(e).replaceWith('<span id="fr-break"></span>');var s=h.node.openTagString(t)+M(t).html()+h.node.closeTagString(t);s=s.replace(/<span id="fr-break"><\/span>/g,n),M(t).replaceWith(s)},_endEnter:function(e){for(var t=m(e),n=M.FE.MARKERS,r="",o=e,i=!1;o!=t;){var a="A"==(o=o.parentNode).tagName&&h.cursor.isAtEnd(e,o)?"fr-to-remove":"";i||o==t||h.node.isBlock(o)||(i=!0,r+=M.FE.INVISIBLE_SPACE),r=h.node.openTagString(M(o).clone().addClass(a).get(0))+r,n+=h.node.closeTagString(o)}var s=r+n;M(e).remove(),M(t).after(s)},_backspace:function(e){var t=m(e),n=t.previousSibling;if(n){n=M(n).find(h.html.blockTagsQuery()).get(-1)||n,M(e).replaceWith(M.FE.MARKERS);var r=h.node.contents(n);r.length&&"BR"==r[r.length-1].tagName&&M(r[r.length-1]).remove(),M(t).find(h.html.blockTagsQuery()).not("ol, ul, table").each(function(){this.parentNode==t&&M(this).replaceWith(M(this).html()+(h.node.isEmpty(this)?"":"<br>"))});for(var o,i=h.node.contents(t)[0];i&&!h.node.isList(i);)o=i.nextSibling,M(n).append(i),i=o;for(n=t.previousSibling;i;)o=i.nextSibling,M(n).append(i),i=o;1<(r=h.node.contents(n)).length&&"BR"===r[r.length-1].tagName&&M(r[r.length-1]).remove(),M(t).remove()}else{var a=E(t);if(M(e).replaceWith(M.FE.MARKERS),a.parentNode&&"LI"==a.parentNode.tagName){var s=a.previousSibling;h.node.isBlock(s)?(M(t).find(h.html.blockTagsQuery()).not("ol, ul, table").each(function(){this.parentNode==t&&M(this).replaceWith(M(this).html()+(h.node.isEmpty(this)?"":"<br>"))}),M(s).append(M(t).html())):M(a).before(M(t).html())}else{var l=h.html.defaultTag();l&&0===M(t).find(h.html.blockTagsQuery()).length?M(a).before("<"+l+">"+M(t).html()+"</"+l+">"):M(a).before(M(t).html())}M(t).remove(),h.html.wrap(),0===M(a).find("li").length&&M(a).remove()}},_del:function(e){var t,n=m(e),r=n.nextSibling;if(r){(t=h.node.contents(r)).length&&"BR"==t[0].tagName&&M(t[0]).remove(),M(r).find(h.html.blockTagsQuery()).not("ol, ul, table").each(function(){this.parentNode==r&&M(this).replaceWith(M(this).html()+(h.node.isEmpty(this)?"":"<br>"))});for(var o,i=e,a=h.node.contents(r)[0];a&&!h.node.isList(a);)o=a.nextSibling,M(i).after(a),i=a,a=o;for(;a;)o=a.nextSibling,M(n).append(a),a=o;M(e).replaceWith(M.FE.MARKERS),M(r).remove()}else{for(var s=n;!s.nextSibling&&s!=h.el;)s=s.parentNode;if(s==h.el)return!1;if(s=s.nextSibling,h.node.isBlock(s))M.FE.NO_DELETE_TAGS.indexOf(s.tagName)<0&&(M(e).replaceWith(M.FE.MARKERS),(t=h.node.contents(n)).length&&"BR"==t[t.length-1].tagName&&M(t[t.length-1]).remove(),M(n).append(M(s).html()),M(s).remove());else for((t=h.node.contents(n)).length&&"BR"==t[t.length-1].tagName&&M(t[t.length-1]).remove(),M(e).replaceWith(M.FE.MARKERS);s&&!h.node.isBlock(s)&&"BR"!=s.tagName;)M(n).append(M(s)),s=s.nextSibling}}}},M.FE.NO_DELETE_TAGS=["TH","TD","TR","TABLE","FORM"],M.FE.SIMPLE_ENTER_TAGS=["TH","TD","LI","DL","DT","FORM"],M.FE.MODULES.cursor=function(u){function i(e){return!!e&&(!!u.node.isBlock(e)||(e.nextSibling&&e.nextSibling.nodeType==Node.TEXT_NODE&&0===e.nextSibling.textContent.replace(/\u200b/g,"").length?i(e.nextSibling):!(e.nextSibling&&(!e.previousSibling||"BR"!=e.nextSibling.tagName||e.nextSibling.nextSibling))&&i(e.parentNode)))}function a(e){return!!e&&(!!u.node.isBlock(e)||(e.previousSibling&&e.previousSibling.nodeType==Node.TEXT_NODE&&0===e.previousSibling.textContent.replace(/\u200b/g,"").length?a(e.previousSibling):!e.previousSibling&&(!(e.previousSibling||!u.node.hasClass(e.parentNode,"fr-inner"))||a(e.parentNode))))}function g(e,t){return!!e&&(e!=u.$wp.get(0)&&(e.previousSibling&&e.previousSibling.nodeType==Node.TEXT_NODE&&0===e.previousSibling.textContent.replace(/\u200b/g,"").length?g(e.previousSibling,t):!e.previousSibling&&(e.parentNode==t||g(e.parentNode,t))))}function h(e,t){return!!e&&(e!=u.$wp.get(0)&&(e.nextSibling&&e.nextSibling.nodeType==Node.TEXT_NODE&&0===e.nextSibling.textContent.replace(/\u200b/g,"").length?h(e.nextSibling,t):!(e.nextSibling&&(!e.previousSibling||"BR"!=e.nextSibling.tagName||e.nextSibling.nextSibling))&&(e.parentNode==t||h(e.parentNode,t))))}function s(e){return 0<M(e).parentsUntil(u.$el,"LI").length&&0===M(e).parentsUntil("LI","TABLE").length}function d(e,t){var n=new RegExp((t?"^":"")+"(([\\uD83C-\\uDBFF\\uDC00-\\uDFFF]+\\u200D)*[\\uD83C-\\uDBFF\\uDC00-\\uDFFF]{2})"+(t?"":"$"),"i"),r=e.match(n);return r?r[0].length:1}function c(e){for(var t,n=e;!n.previousSibling;)if(n=n.parentNode,u.node.isElement(n))return!1;if(n=n.previousSibling,!u.node.isBlock(n)&&u.node.isEditable(n)){for(t=u.node.contents(n);n.nodeType!=Node.TEXT_NODE&&!u.node.isDeletable(n)&&t.length&&u.node.isEditable(n);)n=t[t.length-1],t=u.node.contents(n);if(n.nodeType==Node.TEXT_NODE){var r=n.textContent,o=r.length;if(r.length&&"\n"===r[r.length-1])return n.textContent=r.substring(0,o-2),0===n.textContent.length&&n.parentNode.removeChild(n),c(e);if(u.opts.tabSpaces&&r.length>=u.opts.tabSpaces)0===r.substr(r.length-u.opts.tabSpaces,r.length-1).replace(/ /g,"").replace(new RegExp(M.FE.UNICODE_NBSP,"g"),"").length&&(o=r.length-u.opts.tabSpaces+1);n.textContent=r.substring(0,o-d(r));var i=r.length!=n.textContent.length;if(0===n.textContent.length)if(i&&u.opts.keepFormatOnDelete)M(n).after(M.FE.INVISIBLE_SPACE+M.FE.MARKERS);else if((2!=n.parentNode.childNodes.length||n.parentNode!=e.parentNode)&&1!=n.parentNode.childNodes.length||u.node.isBlock(n.parentNode)||u.node.isElement(n.parentNode)||!u.node.isDeletable(n.parentNode)){for(;!u.node.isElement(n.parentNode)&&u.node.isEmpty(n.parentNode)&&u.node.isDeletable(n.parentNode);){var a=n;n=n.parentNode,a.parentNode.removeChild(a)}M(n).after(M.FE.MARKERS),u.node.isElement(n.parentNode)&&!e.nextSibling&&n.previousSibling&&"BR"==n.previousSibling.tagName&&M(e).after("<br>"),n.parentNode.removeChild(n)}else M(n.parentNode).after(M.FE.MARKERS),M(n.parentNode).remove();else M(n).after(M.FE.MARKERS)}else u.node.isDeletable(n)?(M(n).after(M.FE.MARKERS),M(n).remove()):e.nextSibling&&"BR"==e.nextSibling.tagName&&u.node.isVoid(n)&&"BR"!=n.tagName?(M(e.nextSibling).remove(),M(e).replaceWith(M.FE.MARKERS)):!1!==u.events.trigger("node.remove",[M(n)])&&(M(n).after(M.FE.MARKERS),M(n).remove())}else if(M.FE.NO_DELETE_TAGS.indexOf(n.tagName)<0&&(u.node.isEditable(n)||u.node.isDeletable(n)))if(u.node.isDeletable(n))M(e).replaceWith(M.FE.MARKERS),M(n).remove();else if(u.node.isEmpty(n)&&!u.node.isList(n))M(n).remove(),M(e).replaceWith(M.FE.MARKERS);else{for(u.node.isList(n)&&(n=M(n).find("li:last").get(0)),(t=u.node.contents(n))&&"BR"==t[t.length-1].tagName&&M(t[t.length-1]).remove(),t=u.node.contents(n);t&&u.node.isBlock(t[t.length-1]);)n=t[t.length-1],t=u.node.contents(n);M(n).append(M.FE.MARKERS);for(var s=e;!s.previousSibling;)s=s.parentNode;for(;s&&"BR"!==s.tagName&&!u.node.isBlock(s);){var l=s;s=s.nextSibling,M(n).append(l)}s&&"BR"==s.tagName&&M(s).remove(),M(e).remove()}else e.nextSibling&&"BR"==e.nextSibling.tagName&&M(e.nextSibling).remove()}function l(e){var t=0<M(e).parentsUntil(u.$el,"BLOCKQUOTE").length,n=u.node.deepestParent(e,[],!t);if(n&&"BLOCKQUOTE"==n.tagName){var r=u.node.deepestParent(e,[M(e).parentsUntil(u.$el,"BLOCKQUOTE").get(0)]);r&&r.nextSibling&&(n=r)}if(null!==n){var o,i=n.nextSibling;if(u.node.isBlock(n)&&(u.node.isEditable(n)||u.node.isDeletable(n))&&i&&M.FE.NO_DELETE_TAGS.indexOf(i.tagName)<0)if(u.node.isDeletable(i))M(i).remove(),M(e).replaceWith(M.FE.MARKERS);else if(u.node.isBlock(i)&&u.node.isEditable(i))if(u.node.isList(i))if(u.node.isEmpty(n,!0))M(n).remove(),M(i).find("li:first").prepend(M.FE.MARKERS);else{var a=M(i).find("li:first");"BLOCKQUOTE"==n.tagName&&(o=u.node.contents(n)).length&&u.node.isBlock(o[o.length-1])&&(n=o[o.length-1]),0===a.find("ul, ol").length&&(M(e).replaceWith(M.FE.MARKERS),a.find(u.html.blockTagsQuery()).not("ol, ul, table").each(function(){this.parentNode==a.get(0)&&M(this).replaceWith(M(this).html()+(u.node.isEmpty(this)?"":"<br>"))}),M(n).append(u.node.contents(a.get(0))),a.remove(),0===M(i).find("li").length&&M(i).remove())}else{if((o=u.node.contents(i)).length&&"BR"==o[0].tagName&&M(o[0]).remove(),"BLOCKQUOTE"!=i.tagName&&"BLOCKQUOTE"==n.tagName)for(o=u.node.contents(n);o.length&&u.node.isBlock(o[o.length-1]);)n=o[o.length-1],o=u.node.contents(n);else if("BLOCKQUOTE"==i.tagName&&"BLOCKQUOTE"!=n.tagName)for(o=u.node.contents(i);o.length&&u.node.isBlock(o[0]);)i=o[0],o=u.node.contents(i);M(e).replaceWith(M.FE.MARKERS),M(n).append(i.innerHTML),M(i).remove()}else{for(M(e).replaceWith(M.FE.MARKERS);i&&"BR"!==i.tagName&&!u.node.isBlock(i)&&u.node.isEditable(i);){var s=i;i=i.nextSibling,M(n).append(s)}i&&"BR"==i.tagName&&u.node.isEditable(i)&&M(i).remove()}}}function n(e){for(var t,n=e;!n.nextSibling;)if(n=n.parentNode,u.node.isElement(n))return!1;if("BR"==(n=n.nextSibling).tagName&&u.node.isEditable(n))if(n.nextSibling){if(u.node.isBlock(n.nextSibling)&&u.node.isEditable(n.nextSibling)){if(!(M.FE.NO_DELETE_TAGS.indexOf(n.nextSibling.tagName)<0))return void M(n).remove();n=n.nextSibling,M(n.previousSibling).remove()}}else if(i(n)){if(s(e))u.cursorLists._del(e);else u.node.deepestParent(n)&&((!u.node.isEmpty(u.node.blockParent(n))||(u.node.blockParent(n).nextSibling&&M.FE.NO_DELETE_TAGS.indexOf(u.node.blockParent(n).nextSibling.tagName))<0)&&M(n).remove(),l(e));return}if(!u.node.isBlock(n)&&u.node.isEditable(n)){for(t=u.node.contents(n);n.nodeType!=Node.TEXT_NODE&&t.length&&!u.node.isDeletable(n)&&u.node.isEditable(n);)n=t[0],t=u.node.contents(n);n.nodeType==Node.TEXT_NODE?(M(n).before(M.FE.MARKERS),n.textContent.length&&(n.textContent=n.textContent.substring(d(n.textContent,!0),n.textContent.length))):u.node.isDeletable(n)?(M(n).before(M.FE.MARKERS),M(n).remove()):!1!==u.events.trigger("node.remove",[M(n)])&&(M(n).before(M.FE.MARKERS),M(n).remove()),M(e).remove()}else if(M.FE.NO_DELETE_TAGS.indexOf(n.tagName)<0&&(u.node.isEditable(n)||u.node.isDeletable(n)))if(u.node.isDeletable(n))M(e).replaceWith(M.FE.MARKERS),M(n).remove();else if(u.node.isList(n))e.previousSibling?(M(n).find("li:first").prepend(e),u.cursorLists._backspace(e)):(M(n).find("li:first").prepend(M.FE.MARKERS),M(e).remove());else if((t=u.node.contents(n))&&"BR"==t[0].tagName&&M(t[0]).remove(),t&&"BLOCKQUOTE"==n.tagName){var r=t[0];for(M(e).before(M.FE.MARKERS);r&&"BR"!=r.tagName;){var o=r;r=r.nextSibling,M(e).before(o)}r&&"BR"==r.tagName&&M(r).remove()}else M(e).after(M(n).html()).after(M.FE.MARKERS),M(n).remove()}function f(){for(var e=u.el.querySelectorAll("blockquote:empty"),t=0;t<e.length;t++)e[t].parentNode.removeChild(e[t])}function p(e,t,n){var r,o=u.node.deepestParent(e,[],!n);if(o&&"BLOCKQUOTE"==o.tagName)return h(e,o)?(r=u.html.defaultTag(),t?M(e).replaceWith("<br>"+M.FE.MARKERS):r?M(o).after("<"+r+">"+M.FE.MARKERS+"<br></"+r+">"):M(o).after(M.FE.MARKERS+"<br>"),M(e).remove()):m(e,t,n),!1;if(null==o)(r=u.html.defaultTag())&&u.node.isElement(e.parentNode)?M(e).replaceWith("<"+r+">"+M.FE.MARKERS+"<br></"+r+">"):!e.previousSibling||M(e.previousSibling).is("br")||e.nextSibling?M(e).replaceWith("<br>"+M.FE.MARKERS):M(e).replaceWith("<br>"+M.FE.MARKERS+"<br>");else{var i=e,a="";"PRE"!=o.tagName||e.nextSibling||(t=!0),u.node.isBlock(o)&&!t||(a="<br/>");var s,l="",d="",c="",f="";(r=u.html.defaultTag())&&u.node.isBlock(o)&&(c="<"+r+">",f="</"+r+">",o.tagName==r.toUpperCase()&&(c=u.node.openTagString(M(o).clone().removeAttr("id").get(0))));do{if(i=i.parentNode,!t||i!=o||t&&!u.node.isBlock(o))if(l+=u.node.closeTagString(i),i==o&&u.node.isBlock(o))d=c+d;else{var p="A"==i.tagName&&h(e,i)?"fr-to-remove":"";d=u.node.openTagString(M(i).clone().addClass(p).get(0))+d}}while(i!=o);a=l+a+d+(e.parentNode==o&&u.node.isBlock(o)?"":M.FE.INVISIBLE_SPACE)+M.FE.MARKERS,u.node.isBlock(o)&&!M(o).find("*:last").is("br")&&M(o).append("<br/>"),M(e).after('<span id="fr-break"></span>'),M(e).remove(),o.nextSibling&&!u.node.isBlock(o.nextSibling)||u.node.isBlock(o)||M(o).after("<br>"),s=(s=!t&&u.node.isBlock(o)?u.node.openTagString(o)+M(o).html()+f:u.node.openTagString(o)+M(o).html()+u.node.closeTagString(o)).replace(/<span id="fr-break"><\/span>/g,a),M(o).replaceWith(s)}}function m(e,t,n){var r=u.node.deepestParent(e,[],!n);if(null==r)u.html.defaultTag()&&e.parentNode===u.el?M(e).replaceWith("<"+u.html.defaultTag()+">"+M.FE.MARKERS+"<br></"+u.html.defaultTag()+">"):(e.nextSibling&&!u.node.isBlock(e.nextSibling)||M(e).after("<br>"),M(e).replaceWith("<br>"+M.FE.MARKERS));else{var o=e,i="";"PRE"==r.tagName&&(t=!0),u.node.isBlock(r)&&!t||(i="<br>");var a="",s="";do{var l=o;if(o=o.parentNode,"BLOCKQUOTE"==r.tagName&&u.node.isEmpty(l)&&!u.node.hasClass(l,"fr-marker")&&0<M(l).find(e).length&&M(l).after(e),"BLOCKQUOTE"!=r.tagName||!h(e,o)&&!g(e,o))if(!t||o!=r||t&&!u.node.isBlock(r)){a+=u.node.closeTagString(o);var d="A"==o.tagName&&h(e,o)?"fr-to-remove":"";s=u.node.openTagString(M(o).clone().addClass(d).removeAttr("id").get(0))+s}else"BLOCKQUOTE"==r.tagName&&t&&(s=a="")}while(o!=r);var c=r==e.parentNode&&u.node.isBlock(r)||e.nextSibling;if("BLOCKQUOTE"==r.tagName)if(e.previousSibling&&u.node.isBlock(e.previousSibling)&&e.nextSibling&&"BR"==e.nextSibling.tagName&&(M(e.nextSibling).after(e),e.nextSibling&&"BR"==e.nextSibling.tagName&&M(e.nextSibling).remove()),t)i=a+i+M.FE.MARKERS+s;else{var f=u.html.defaultTag();i=a+i+(f?"<"+f+">":"")+M.FE.MARKERS+"<br>"+(f?"</"+f+">":"")+s}else i=a+i+s+(c?"":M.FE.INVISIBLE_SPACE)+M.FE.MARKERS;M(e).replaceWith('<span id="fr-break"></span>');var p=u.node.openTagString(r)+M(r).html()+u.node.closeTagString(r);p=p.replace(/<span id="fr-break"><\/span>/g,i),M(r).replaceWith(p)}}return{enter:function(t){var n=u.markers.insert();if(!n)return!0;u.el.normalize();var r=!1;0<M(n).parentsUntil(u.$el,"BLOCKQUOTE").length&&(r=!0),M(n).parentsUntil(u.$el,"TD, TH").length&&(r=!1),i(n)?!s(n)||t||r?p(n,t,r):u.cursorLists._endEnter(n):a(n)?!s(n)||t||r?function e(t,n,r){var o,i=u.node.deepestParent(t,[],!r);if(i&&"TABLE"==i.tagName)return M(i).find("td:first, th:first").prepend(t),e(t,n,r);if(i&&"BLOCKQUOTE"==i.tagName)if(g(t,i)){if(!n)return(o=u.html.defaultTag())?M(i).before("<"+o+">"+M.FE.MARKERS+"<br></"+o+">"):M(i).before(M.FE.MARKERS+"<br>"),M(t).remove(),!1}else h(t,i)?p(t,n,!0):m(t,n,!0);if(null==i)(o=u.html.defaultTag())&&u.node.isElement(t.parentNode)?M(t).replaceWith("<"+o+">"+M.FE.MARKERS+"<br></"+o+">"):M(t).replaceWith("<br>"+M.FE.MARKERS);else{if(u.node.isBlock(i))if("PRE"==i.tagName&&(n=!0),n)M(t).remove(),M(i).prepend("<br>"+M.FE.MARKERS);else{if(u.node.isEmpty(i,!0))return p(t,n,r);if(u.opts.keepFormatOnDelete){for(var a=t,s=M.FE.INVISIBLE_SPACE;a!=i&&!u.node.isElement(a);)a=a.parentNode,s=u.node.openTagString(a)+s+u.node.closeTagString(a);M(i).before(s)}else M(i).before(u.node.openTagString(M(i).clone().removeAttr("id").get(0))+"<br>"+u.node.closeTagString(i))}else M(i).before("<br>");M(t).remove()}}(n,t,r):u.cursorLists._startEnter(n):!s(n)||t||r?m(n,t,r):u.cursorLists._middleEnter(n),u.$el.find(".fr-to-remove").each(function(){for(var e=u.node.contents(this),t=0;t<e.length;t++)e[t].nodeType==Node.TEXT_NODE&&(e[t].textContent=e[t].textContent.replace(/\u200B/g,""));M(this).replaceWith(this.innerHTML)}),u.html.fillEmptyBlocks(!0),u.opts.htmlUntouched||(u.html.cleanEmptyTags(),u.clean.lists(),u.spaces.normalizeAroundCursor()),u.selection.restore()},backspace:function(){var e=!1,t=u.markers.insert();if(!t)return!0;for(var n=t.parentNode;n&&!u.node.isElement(n);){if("false"===n.getAttribute("contenteditable"))return M(t).replaceWith(M.FE.MARKERS),u.selection.restore(),!1;if("true"===n.getAttribute("contenteditable"))break;n=n.parentNode}u.el.normalize();var r=t.previousSibling;if(r){var o=r.textContent;o&&o.length&&8203==o.charCodeAt(o.length-1)&&(1==o.length?M(r).remove():r.textContent=r.textContent.substr(0,o.length-d(o)))}return i(t)?e=c(t):a(t)?s(t)&&g(t,M(t).parents("li:first").get(0))?u.cursorLists._backspace(t):function(e){for(var t=0<M(e).parentsUntil(u.$el,"BLOCKQUOTE").length,n=u.node.deepestParent(e,[],!t),r=n;n&&!n.previousSibling&&"BLOCKQUOTE"!=n.tagName&&n.parentElement!=u.el&&!u.node.hasClass(n.parentElement,"fr-inner")&&M.FE.SIMPLE_ENTER_TAGS.indexOf(n.parentElement.tagName)<0;)n=n.parentElement;if(n&&"BLOCKQUOTE"==n.tagName){var o=u.node.deepestParent(e,[M(e).parentsUntil(u.$el,"BLOCKQUOTE").get(0)]);o&&o.previousSibling&&(r=n=o)}if(null!==n){var i,a=n.previousSibling;if(u.node.isBlock(n)&&u.node.isEditable(n)&&a&&M.FE.NO_DELETE_TAGS.indexOf(a.tagName)<0)if(u.node.isDeletable(a))M(a).remove(),M(e).replaceWith(M.FE.MARKERS);else if(u.node.isEditable(a))if(u.node.isBlock(a))if(u.node.isEmpty(a)&&!u.node.isList(a))M(a).remove(),M(e).after(u.opts.keepFormatOnDelete?M.FE.INVISIBLE_SPACE:"");else{if(u.node.isList(a)&&(a=M(a).find("li:last").get(0)),(i=u.node.contents(a)).length&&"BR"==i[i.length-1].tagName&&M(i[i.length-1]).remove(),"BLOCKQUOTE"==a.tagName&&"BLOCKQUOTE"!=n.tagName)for(i=u.node.contents(a);i.length&&u.node.isBlock(i[i.length-1]);)a=i[i.length-1],i=u.node.contents(a);else if("BLOCKQUOTE"!=a.tagName&&"BLOCKQUOTE"==r.tagName)for(i=u.node.contents(r);i.length&&u.node.isBlock(i[0]);)r=i[0],i=u.node.contents(r);if(u.node.isEmpty(n))M(e).remove(),u.selection.setAtEnd(a,!0);else{M(e).replaceWith(M.FE.MARKERS);var s=a.childNodes;u.node.isBlock(s[s.length-1])?M(s[s.length-1]).append(r.innerHTML):M(a).append(r.innerHTML)}M(r).remove(),u.node.isEmpty(n)&&M(n).remove()}else M(e).replaceWith(M.FE.MARKERS),"BLOCKQUOTE"==n.tagName&&a.nodeType==Node.ELEMENT_NODE?M(a).remove():(M(a).after(u.node.isEmpty(n)?"":M(n).html()),M(n).remove(),"BR"==a.tagName&&M(a).remove())}}(t):e=c(t),M(t).remove(),f(),u.html.fillEmptyBlocks(!0),u.opts.htmlUntouched||(u.html.cleanEmptyTags(),u.clean.lists(),u.spaces.normalizeAroundCursor()),u.selection.restore(),e},del:function(){var e=u.markers.insert();if(!e)return!1;if(u.el.normalize(),i(e))if(s(e))if(0===M(e).parents("li:first").find("ul, ol").length)u.cursorLists._del(e);else{var t=M(e).parents("li:first").find("ul:first, ol:first").find("li:first");(t=t.find(u.html.blockTagsQuery()).get(-1)||t).prepend(e),u.cursorLists._backspace(e)}else l(e);else a(e),n(e);M(e).remove(),f(),u.html.fillEmptyBlocks(!0),u.opts.htmlUntouched||(u.html.cleanEmptyTags(),u.clean.lists()),u.spaces.normalizeAroundCursor(),u.selection.restore()},isAtEnd:h,isAtStart:g}},M.FE.ENTER_P=0,M.FE.ENTER_DIV=1,M.FE.ENTER_BR=2,M.FE.KEYCODE={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,ARROW_LEFT:37,ARROW_UP:38,ARROW_RIGHT:39,ARROW_DOWN:40,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,FF_SEMICOLON:59,FF_EQUALS:61,QUESTION_MARK:63,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,FF_HYPHEN:173,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,HYPHEN:189,PERIOD:190,SLASH:191,APOSTROPHE:192,TILDE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,IME:229},M.extend(M.FE.DEFAULTS,{enter:M.FE.ENTER_P,multiLine:!0,tabSpaces:0}),M.FE.MODULES.keys=function(l){var d,n,r,c=!1;function e(){if(l.browser.mozilla&&l.selection.isCollapsed()&&!c){var e=l.selection.ranges(0),t=e.startContainer,n=e.startOffset;t&&t.nodeType==Node.TEXT_NODE&&n<=t.textContent.length&&0<n&&32==t.textContent.charCodeAt(n-1)&&(l.selection.save(),l.spaces.normalize(),l.selection.restore())}}function t(){l.selection.isFull()&&setTimeout(function(){var e=l.html.defaultTag();e?l.$el.html("<"+e+">"+M.FE.MARKERS+"<br/></"+e+">"):l.$el.html(M.FE.MARKERS+"<br/>"),l.selection.restore(),l.placeholder.refresh(),l.button.bulkRefresh(),l.undo.saveStep()},0)}function o(){c=!1}function i(){c=!1}function f(){var e=l.html.defaultTag();e?l.$el.html("<"+e+">"+M.FE.MARKERS+"<br/></"+e+">"):l.$el.html(M.FE.MARKERS+"<br/>"),l.selection.restore()}function a(e){var t=l.selection.element();if(t&&0<=["INPUT","TEXTAREA"].indexOf(t.tagName))return!0;if(e&&h(e.which))return p(),!0;l.events.disableBlur(),null;var n=e.which;if(16===n)return!0;if((d=n)===M.FE.KEYCODE.IME)return c=!0;c=!1;var r,o,i,a=m(n)&&!g(e)&&!e.altKey,s=n==M.FE.KEYCODE.BACKSPACE||n==M.FE.KEYCODE.DELETE;if((!(e.shiftKey&&(33===n||34===n||35===n||36===n))&&l.selection.isFull()&&!l.opts.keepFormatOnDelete&&!l.placeholder.isVisible()||s&&l.placeholder.isVisible()&&l.opts.keepFormatOnDelete)&&(a||s)&&(f(),!m(n)))return e.preventDefault(),!0;n==M.FE.KEYCODE.ENTER?e.shiftKey?((i=e).preventDefault(),i.stopPropagation(),l.opts.multiLine&&(l.selection.isCollapsed()||l.selection.remove(),l.cursor.enter(!0))):(o=e,l.opts.multiLine?(l.helpers.isIOS()||(o.preventDefault(),o.stopPropagation()),l.selection.isCollapsed()||l.selection.remove(),l.cursor.enter()):(o.preventDefault(),o.stopPropagation())):n===M.FE.KEYCODE.BACKSPACE&&(e.metaKey||e.ctrlKey)?setTimeout(function(){l.events.disableBlur(),l.events.focus()},0):n!=M.FE.KEYCODE.BACKSPACE||g(e)||e.altKey?n!=M.FE.KEYCODE.DELETE||g(e)||e.altKey||e.shiftKey?n==M.FE.KEYCODE.SPACE?function(e){var t=l.selection.element();if(!l.helpers.isMobile()&&t&&"A"==t.tagName){e.preventDefault(),e.stopPropagation(),l.selection.isCollapsed()||l.selection.remove();var n=l.markers.insert();if(n){var r=n.previousSibling;!n.nextSibling&&n.parentNode&&"A"==n.parentNode.tagName?(n.parentNode.insertAdjacentHTML("afterend","&nbsp;"+M.FE.MARKERS),n.parentNode.removeChild(n)):(r&&r.nodeType==Node.TEXT_NODE&&1==r.textContent.length&&160==r.textContent.charCodeAt(0)?r.textContent=r.textContent+" ":n.insertAdjacentHTML("beforebegin","&nbsp;"),n.outerHTML=M.FE.MARKERS),l.selection.restore()}}}(e):n==M.FE.KEYCODE.TAB?function(e){if(0<l.opts.tabSpaces)if(l.selection.isCollapsed()){l.undo.saveStep(),e.preventDefault(),e.stopPropagation();for(var t="",n=0;n<l.opts.tabSpaces;n++)t+="&nbsp;";l.html.insert(t),l.placeholder.refresh(),l.undo.saveStep()}else e.preventDefault(),e.stopPropagation(),e.shiftKey?l.commands.outdent():l.commands.indent()}(e):g(e)||!m(e.which)||l.selection.isCollapsed()||e.ctrlKey||e.altKey||l.selection.remove():l.placeholder.isVisible()?(l.opts.keepFormatOnDelete||f(),e.preventDefault(),e.stopPropagation()):((r=e).preventDefault(),r.stopPropagation(),""===l.selection.text()?l.cursor.del():l.selection.remove(),l.placeholder.refresh()):l.placeholder.isVisible()?(l.opts.keepFormatOnDelete||f(),e.preventDefault(),e.stopPropagation()):function(e){if(l.selection.isCollapsed())if(l.cursor.backspace(),l.helpers.isIOS()){var t=l.selection.ranges(0);t.deleteContents(),t.insertNode(document.createTextNode("\u200b")),l.selection.get().modify("move","forward","character")}else e.preventDefault(),e.stopPropagation();else e.preventDefault(),e.stopPropagation(),l.selection.remove();l.placeholder.refresh()}(e),l.events.enableBlur()}function s(){if(!l.$wp)return!0;var e;l.opts.height||l.opts.heightMax?(e=l.position.getBoundingRect().top,l.opts.iframe&&(e+=l.$iframe.offset().top),e>l.$wp.offset().top-l.helpers.scrollTop()+l.$wp.height()-20&&l.$wp.scrollTop(e+l.$wp.scrollTop()-(l.$wp.height()+l.$wp.offset().top)+l.helpers.scrollTop()+20)):(e=l.position.getBoundingRect().top,l.opts.toolbarBottom&&(e+=l.opts.toolbarStickyOffset),l.opts.iframe&&(e+=l.$iframe.offset().top,e-=l.helpers.scrollTop()),(e+=l.opts.toolbarStickyOffset)>l.o_win.innerHeight-20&&M(l.o_win).scrollTop(e+l.helpers.scrollTop()-l.o_win.innerHeight+20),e=l.position.getBoundingRect().top,l.opts.toolbarBottom||(e-=l.opts.toolbarStickyOffset),l.opts.iframe&&(e+=l.$iframe.offset().top,e-=l.helpers.scrollTop()),e<l.$tb.height()+20&&M(l.o_win).scrollTop(e+l.helpers.scrollTop()-l.$tb.height()-20))}function p(){var e,t=l.selection.element();!function(e){if(!e)return!1;var t=e.innerHTML;return!!((t=t.replace(/<span[^>]*? class\s*=\s*["']?fr-marker["']?[^>]+>\u200b<\/span>/gi,""))&&/\u200B/.test(t)&&0<t.replace(/\u200B/gi,"").length)}(t)||l.node.hasClass(t,"fr-marker")||"IFRAME"==t.tagName||(e=t,l.helpers.isIOS()&&0!==((e.textContent||"").match(/[\u3041-\u3096\u30A0-\u30FF\u4E00-\u9FFF\u3130-\u318F\uAC00-\uD7AF]/gi)||[]).length)||(l.selection.save(),function(e){for(var t=l.doc.createTreeWalker(e,NodeFilter.SHOW_TEXT,l.node.filter(function(e){return/\u200B/gi.test(e.textContent)}),!1);t.nextNode();){var n=t.currentNode;n.textContent=n.textContent.replace(/\u200B/gi,"")}}(t),l.selection.restore())}function u(e){var t=l.selection.element();if(t&&0<=["INPUT","TEXTAREA"].indexOf(t.tagName))return!0;if(e&&0===e.which&&d&&(e.which=d),l.helpers.isAndroid()&&l.browser.mozilla)return!0;if(c)return!1;if(e&&l.helpers.isIOS()&&e.which==M.FE.KEYCODE.ENTER&&l.doc.execCommand("undo"),!l.selection.isCollapsed())return!0;if(e&&(e.which===M.FE.KEYCODE.META||e.which==M.FE.KEYCODE.CTRL))return!0;if(e&&h(e.which))return!0;if(e&&!l.helpers.isIOS()&&(e.which==M.FE.KEYCODE.ENTER||e.which==M.FE.KEYCODE.BACKSPACE||37<=e.which&&e.which<=40&&!l.browser.msie))try{s()}catch(n){}p()}function g(e){if(-1!=navigator.userAgent.indexOf("Mac OS X")){if(e.metaKey&&!e.altKey)return!0}else if(e.ctrlKey&&!e.altKey)return!0;return!1}function h(e){if(e>=M.FE.KEYCODE.ARROW_LEFT&&e<=M.FE.KEYCODE.ARROW_DOWN)return!0}function m(e){if(e>=M.FE.KEYCODE.ZERO&&e<=M.FE.KEYCODE.NINE)return!0;if(e>=M.FE.KEYCODE.NUM_ZERO&&e<=M.FE.KEYCODE.NUM_MULTIPLY)return!0;if(e>=M.FE.KEYCODE.A&&e<=M.FE.KEYCODE.Z)return!0;if(l.browser.webkit&&0===e)return!0;switch(e){case M.FE.KEYCODE.SPACE:case M.FE.KEYCODE.QUESTION_MARK:case M.FE.KEYCODE.NUM_PLUS:case M.FE.KEYCODE.NUM_MINUS:case M.FE.KEYCODE.NUM_PERIOD:case M.FE.KEYCODE.NUM_DIVISION:case M.FE.KEYCODE.SEMICOLON:case M.FE.KEYCODE.FF_SEMICOLON:case M.FE.KEYCODE.DASH:case M.FE.KEYCODE.EQUALS:case M.FE.KEYCODE.FF_EQUALS:case M.FE.KEYCODE.COMMA:case M.FE.KEYCODE.PERIOD:case M.FE.KEYCODE.SLASH:case M.FE.KEYCODE.APOSTROPHE:case M.FE.KEYCODE.SINGLE_QUOTE:case M.FE.KEYCODE.OPEN_SQUARE_BRACKET:case M.FE.KEYCODE.BACKSLASH:case M.FE.KEYCODE.CLOSE_SQUARE_BRACKET:return!0;default:return!1}}function E(e){var t=e.which;if(g(e)||37<=t&&t<=40||!m(t)&&t!=M.FE.KEYCODE.DELETE&&t!=M.FE.KEYCODE.BACKSPACE&&t!=M.FE.KEYCODE.ENTER&&t!=M.FE.KEYCODE.IME)return!0;n||(r=l.snapshot.get(),l.undo.canDo()||l.undo.saveStep()),clearTimeout(n),n=setTimeout(function(){n=null,l.undo.saveStep()},Math.max(250,l.opts.typingTimer))}function v(e){var t=e.which;if(g(e)||37<=t&&t<=40)return!0;r&&n?(l.undo.saveStep(r),r=null):void 0!==t&&0!==t||r||n||l.undo.saveStep()}function b(e){if(e&&"BR"==e.tagName)return!1;try{return 0===(e.textContent||"").length&&e.querySelector&&!e.querySelector(":scope > br")||e.childNodes&&1==e.childNodes.length&&e.childNodes[0].getAttribute&&("false"==e.childNodes[0].getAttribute("contenteditable")||l.node.hasClass(e.childNodes[0],"fr-img-caption"))}catch(t){return!1}}function S(e){var t=l.el.childNodes,n=l.html.defaultTag();return!(!e.target||e.target===l.el)||(0===t.length||void(l.$el.outerHeight()-e.offsetY<=10?b(t[t.length-1])&&(n?l.$el.append("<"+n+">"+M.FE.MARKERS+"<br></"+n+">"):l.$el.append(M.FE.MARKERS+"<br>"),l.selection.restore(),s()):e.offsetY<=10&&b(t[0])&&(n?l.$el.prepend("<"+n+">"+M.FE.MARKERS+"<br></"+n+">"):l.$el.prepend(M.FE.MARKERS+"<br>"),l.selection.restore(),s())))}function T(){n&&clearTimeout(n)}return{_init:function(){l.events.on("keydown",E),l.events.on("input",e),l.events.on("mousedown",i),l.events.on("keyup input",v),l.events.on("keypress",o),l.events.on("keydown",a),l.events.on("keyup",u),l.events.on("destroy",T),l.events.on("html.inserted",u),l.events.on("cut",t),l.events.on("click",S)},ctrlKey:g,isCharacter:m,isArrow:h,forceUndo:function(){n&&(clearTimeout(n),l.undo.saveStep(),r=null)},isIME:function(){return c},isBrowserAction:function(e){var t=e.which;return g(e)||t==M.FE.KEYCODE.F5},positionCaret:s}},M.FE.MODULES.accessibility=function(f){var i=!0;function s(t){t&&t.length&&!f.$el.find('[contenteditable="true"]').is(":focus")&&(t.data("blur-event-set")||t.parents(".fr-popup").length||(f.events.$on(t,"blur",function(){var e=t.parents(".fr-toolbar, .fr-popup").data("instance")||f;e.events.blurActive()&&e.events.trigger("blur"),setTimeout(function(){e.events.enableBlur()},100)},!0),t.data("blur-event-set",!0)),(t.parents(".fr-toolbar, .fr-popup").data("instance")||f).events.disableBlur(),t.focus(),f.shared.$f_el=t)}function p(e,t){var n=t?"last":"first",r=e.find("button:visible:not(.fr-disabled), .fr-group span.fr-command:visible")[n]();if(r.length)return s(r),!0}function a(e){return e.is("input, textarea, select")&&t(),f.events.disableBlur(),e.focus(),!0}function u(e,t){var n=e.find("input, textarea, button, select").filter(":visible").not(":disabled").filter(t?":last":":first");if(n.length)return a(n);if(f.shared.with_kb){var r=e.find(".fr-active-item:visible:first");if(r.length)return a(r);var o=e.find("[tabIndex]:visible:first");if(o.length)return a(o)}}function t(){0===f.$el.find(".fr-marker").length&&f.core.hasFocus()&&f.selection.save()}function l(){var e=f.popups.areVisible();if(e){var t=e.find(".fr-buttons");return t.find("button:focus, .fr-group span:focus").length?!p(e.data("instance").$tb):!p(t)}return!p(f.$tb)}function d(){var e=null;return f.shared.$f_el.is(".fr-dropdown.fr-active")?e=f.shared.$f_el:f.shared.$f_el.closest(".fr-dropdown-menu").prev().is(".fr-dropdown.fr-active")&&(e=f.shared.$f_el.closest(".fr-dropdown-menu").prev()),e}function n(e,t,n){if(f.shared.$f_el){var r=d();r&&(f.button.click(r),f.shared.$f_el=r);var o=e.find("button:visible:not(.fr-disabled), .fr-group span.fr-command:visible"),i=o.index(f.shared.$f_el);if(0===i&&!n||i==o.length-1&&n){var a;if(t){if(e.parent().is(".fr-popup"))a=!u(e.parent().children().not(".fr-buttons"),!n);!1===a&&(f.shared.$f_el=null)}t&&!1===a||p(e,!n)}else s(M(o.get(i+(n?1:-1))));return!1}}function c(e,t){return n(e,t,!0)}function g(e,t){return n(e,t)}function h(e){if(f.shared.$f_el){var t;if(f.shared.$f_el.is(".fr-dropdown.fr-active"))return s(t=e?f.shared.$f_el.next().find(".fr-command:not(.fr-disabled)").first():f.shared.$f_el.next().find(".fr-command:not(.fr-disabled)").last()),!1;if(f.shared.$f_el.is("a.fr-command"))return(t=e?f.shared.$f_el.closest("li").nextAll(":visible:first").find(".fr-command:not(.fr-disabled)").first():f.shared.$f_el.closest("li").prevAll(":visible:first").find(".fr-command:not(.fr-disabled)").first()).length||(t=e?f.shared.$f_el.closest(".fr-dropdown-menu").find(".fr-command:not(.fr-disabled)").first():f.shared.$f_el.closest(".fr-dropdown-menu").find(".fr-command:not(.fr-disabled)").last()),s(t),!1}}function m(){if(f.shared.$f_el){if(f.shared.$f_el.hasClass("fr-dropdown"))f.button.click(f.shared.$f_el);else if(f.shared.$f_el.is("button.fr-back")){f.opts.toolbarInline&&(f.events.disableBlur(),f.events.focus());var e=f.popups.areVisible(f);e&&(f.shared.with_kb=!1),f.button.click(f.shared.$f_el),v(e)}else{if(f.events.disableBlur(),f.button.click(f.shared.$f_el),f.shared.$f_el.attr("data-popup")){var t=f.popups.areVisible(f);t&&t.data("popup-button",f.shared.$f_el)}else if(f.shared.$f_el.attr("data-modal")){var n=f.modals.areVisible(f);n&&n.data("modal-button",f.shared.$f_el)}f.shared.$f_el=null}return!1}}function E(){f.shared.$f_el&&(f.events.disableBlur(),f.shared.$f_el.blur(),f.shared.$f_el=null),!1!==f.events.trigger("toolbar.focusEditor")&&(f.events.disableBlur(),f.browser.msie||f.$el.focus(),f.events.focus())}function r(r){r&&r.length&&(f.events.$on(r,"keydown",function(e){if(!M(e.target).is("a.fr-command, button.fr-command, .fr-group span.fr-command"))return!0;var t=r.parents(".fr-popup").data("instance")||r.data("instance")||f;f.shared.with_kb=!0;var n=t.accessibility.exec(e,r);return f.shared.with_kb=!1,n},!0),f.browser.msie||f.events.$on(r,"mouseenter","[tabIndex]",function(e){var t=r.parents(".fr-popup").data("instance")||r.data("instance")||f;if(!i)return e.stopPropagation(),void e.preventDefault();var n=M(e.currentTarget);t.shared.$f_el&&t.shared.$f_el.not(n)&&t.accessibility.focusEditor()},!0))}function v(e){var t=e.data("popup-button");t&&setTimeout(function(){s(t),e.data("popup-button",null)},0)}function o(e){var t=f.popups.areVisible(e);t&&t.data("popup-button",null)}function e(e){var t=-1!=navigator.userAgent.indexOf("Mac OS X")?e.metaKey:e.ctrlKey;if(e.which==M.FE.KEYCODE.F10&&!t&&!e.shiftKey&&e.altKey){f.shared.with_kb=!0;var n=f.popups.areVisible(f),r=!1;return n&&(r=u(n.children().not(".fr-buttons"))),r||l(),f.shared.with_kb=!1,e.preventDefault(),e.stopPropagation(),!1}return!0}return{_init:function(){f.$wp?f.events.on("keydown",e,!0):f.events.$on(f.$win,"keydown",e,!0),f.events.on("mousedown",function(e){o(f),f.shared.$f_el&&(f.accessibility.restoreSelection(),e.stopPropagation(),f.events.disableBlur(),f.shared.$f_el=null)},!0),f.events.on("blur",function(){f.shared.$f_el=null,o(f)},!0)},registerPopup:function(e){var d,c,t=f.popups.get(e),n=(d=e,c=f.popups.get(d),{_tiKeydown:function(e){var t=c.data("instance")||f;if(!1===t.events.trigger("popup.tab",[e]))return!1;var n=e.which,r=c.find(":focus:first");if(M.FE.KEYCODE.TAB==n){e.preventDefault();var o=c.children().not(".fr-buttons"),i=o.find("input, textarea, button, select").filter(":visible").not(".fr-no-touch input, .fr-no-touch textarea, .fr-no-touch button, .fr-no-touch select, :disabled").toArray(),a=i.indexOf(this)+(e.shiftKey?-1:1);if(0<=a&&a<i.length)return t.events.disableBlur(),M(i[a]).focus(),e.stopPropagation(),!1;var s=c.find(".fr-buttons");if(s.length&&p(s,!!e.shiftKey))return e.stopPropagation(),!1;if(u(o))return e.stopPropagation(),!1}else{if(M.FE.KEYCODE.ENTER!=n||!e.target||"TEXTAREA"===e.target.tagName)return M.FE.KEYCODE.ESC==n?(e.preventDefault(),e.stopPropagation(),t.accessibility.restoreSelection(),t.popups.isVisible(d)&&c.find(".fr-back:visible").length?(t.opts.toolbarInline&&(t.events.disableBlur(),t.events.focus()),t.button.exec(c.find(".fr-back:visible:first")),v(c)):t.popups.isVisible(d)&&c.find(".fr-dismiss:visible").length?t.button.exec(c.find(".fr-dismiss:visible:first")):(t.popups.hide(d),t.opts.toolbarInline&&t.toolbar.showInline(null,!0),v(c)),!1):M.FE.KEYCODE.SPACE==n&&(r.is(".fr-submit")||r.is(".fr-dismiss"))?(e.preventDefault(),e.stopPropagation(),t.events.disableBlur(),t.button.exec(r),!0):t.keys.isBrowserAction(e)?void e.stopPropagation():r.is("input[type=text], textarea")?void e.stopPropagation():M.FE.KEYCODE.SPACE==n&&(r.is(".fr-link-attr")||r.is("input[type=file]"))?void e.stopPropagation():(e.stopPropagation(),e.preventDefault(),!1);var l=null;0<c.find(".fr-submit:visible").length?l=c.find(".fr-submit:visible:first"):c.find(".fr-dismiss:visible").length&&(l=c.find(".fr-dismiss:visible:first")),l&&(e.preventDefault(),e.stopPropagation(),t.events.disableBlur(),t.button.exec(l))}},_tiMouseenter:function(){var e=c.data("instance")||f;o(e)}});r(t.find(".fr-buttons")),f.events.$on(t,"mouseenter","tabIndex",n._tiMouseenter,!0),f.events.$on(t.children().not(".fr-buttons"),"keydown","[tabIndex]",n._tiKeydown,!0),f.popups.onHide(e,function(){(t.data("instance")||f).accessibility.restoreSelection()}),f.popups.onShow(e,function(){i=!1,setTimeout(function(){i=!0},0)})},registerToolbar:r,focusToolbarElement:s,focusToolbar:p,focusContent:u,focusPopup:function(r){var o=r.children().not(".fr-buttons");o.data("mouseenter-event-set")||f.browser.msie||(f.events.$on(o,"mouseenter","[tabIndex]",function(e){var t=r.data("instance")||f;if(!i)return e.stopPropagation(),void e.preventDefault();var n=o.find(":focus:first");n.length&&!n.is("input, button, textarea, select")&&(t.events.disableBlur(),n.blur(),t.events.disableBlur(),t.events.focus())}),o.data("mouseenter-event-set",!0)),!u(o)&&f.shared.with_kb&&p(r.find(".fr-buttons"))},focusModal:function(e){f.core.hasFocus()||(f.events.disableBlur(),f.events.focus()),f.accessibility.saveSelection(),f.events.disableBlur(),f.$el.blur(),f.selection.clear(),f.events.disableBlur(),f.shared.with_kb?e.find(".fr-command[tabIndex], [tabIndex]").first().focus():e.find("[tabIndex]:first").focus()},focusEditor:E,focusPopupButton:v,focusModalButton:function(e){var t=e.data("modal-button");t&&setTimeout(function(){s(t),e.data("modal-button",null)},0)},hasFocus:function(){return null!=f.shared.$f_el},exec:function(e,t){var n=-1!=navigator.userAgent.indexOf("Mac OS X")?e.metaKey:e.ctrlKey,r=e.which,o=!1;return r!=M.FE.KEYCODE.TAB||n||e.shiftKey||e.altKey?r!=M.FE.KEYCODE.ARROW_RIGHT||n||e.shiftKey||e.altKey?r!=M.FE.KEYCODE.TAB||n||!e.shiftKey||e.altKey?r!=M.FE.KEYCODE.ARROW_LEFT||n||e.shiftKey||e.altKey?r!=M.FE.KEYCODE.ARROW_UP||n||e.shiftKey||e.altKey?r!=M.FE.KEYCODE.ARROW_DOWN||n||e.shiftKey||e.altKey?r!=M.FE.KEYCODE.ENTER&&r!=M.FE.KEYCODE.SPACE||n||e.shiftKey||e.altKey?r!=M.FE.KEYCODE.ESC||n||e.shiftKey||e.altKey?r!=M.FE.KEYCODE.F10||n||e.shiftKey||!e.altKey||(o=l()):o=function(e){if(f.shared.$f_el){var t=d();return t?(f.button.click(t),s(t)):e.parent().find(".fr-back:visible").length?(f.shared.with_kb=!1,f.opts.toolbarInline&&(f.events.disableBlur(),f.events.focus()),f.button.exec(e.parent().find(".fr-back:visible:first")),v(e.parent())):f.shared.$f_el.is("button, .fr-group span")&&(e.parent().is(".fr-popup")?(f.accessibility.restoreSelection(),f.shared.$f_el=null,!1!==f.events.trigger("toolbar.esc")&&(f.popups.hide(e.parent()),f.opts.toolbarInline&&f.toolbar.showInline(null,!0),v(e.parent()))):E()),!1}}(t):o=m():o=f.shared.$f_el&&f.shared.$f_el.is(".fr-dropdown:not(.fr-active)")?m():h(!0):o=h():o=g(t):o=g(t,!0):o=c(t):o=c(t,!0),f.shared.$f_el||o!==undefined||(o=!0),!o&&f.keys.isBrowserAction(e)&&(o=!0),!!o||(e.preventDefault(),e.stopPropagation(),!1)},saveSelection:t,restoreSelection:function(){f.$el.find(".fr-marker").length&&(f.events.disableBlur(),f.selection.restore(),f.events.enableBlur())}}},M.FE.MODULES.format=function(h){function l(e,t){var n="<"+e;for(var r in t)t.hasOwnProperty(r)&&(n+=" "+r+'="'+t[r]+'"');return n+=">"}function f(e,t){var n=e;for(var r in t)t.hasOwnProperty(r)&&(n+="id"==r?"#"+t[r]:"class"==r?"."+t[r]:"["+r+'="'+t[r]+'"]');return n}function p(e,t){return!(!e||e.nodeType!=Node.ELEMENT_NODE)&&(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector).call(e,t)}function m(e,t,n){if(e){for(;e.nodeType===Node.COMMENT_NODE;)e=e.nextSibling;if(e){if(h.node.isBlock(e)&&"HR"!==e.tagName)return m(e.firstChild,t,n),!1;for(var r=M(l(t,n)).insertBefore(e),o=e;o&&!M(o).is(".fr-marker")&&0===M(o).find(".fr-marker").length&&"UL"!=o.tagName&&"OL"!=o.tagName;){var i=o;if(h.node.isBlock(o)&&"HR"!==e.tagName)return m(o.firstChild,t,n),!1;o=o.nextSibling,r.append(i)}if(o)(M(o).find(".fr-marker").length||"UL"==o.tagName||"OL"==o.tagName)&&m(o.firstChild,t,n);else{for(var a=r.get(0).parentNode;a&&!a.nextSibling&&!h.node.isElement(a);)a=a.parentNode;if(a){for(var s=a.nextSibling;"BR"===s.tagName;)s=s.nextSibling;s&&(h.node.isBlock(s)?"HR"===s.tagName?m(s.nextSibling,t,n):m(s.firstChild,t,n):m(s,t,n))}}r.is(":empty")&&r.remove()}}}function n(e,t){var n;if(void 0===t&&(t={}),t.style&&delete t.style,h.selection.isCollapsed()){h.markers.insert(),h.$el.find(".fr-marker").replaceWith(l(e,t)+M.FE.INVISIBLE_SPACE+M.FE.MARKERS+("</"+e+">")),h.selection.restore()}else{var r;h.selection.save(),m(h.$el.find('.fr-marker[data-type="true"]').get(0).nextSibling,e,t);do{for(r=h.$el.find(f(e,t)+" > "+f(e,t)),n=0;n<r.length;n++)r[n].outerHTML=r[n].innerHTML}while(r.length);h.el.normalize();var o=h.el.querySelectorAll(".fr-marker");for(n=0;n<o.length;n++){var i=M(o[n]);!0===i.data("type")?p(i.get(0).nextSibling,f(e,t))&&i.next().prepend(i):p(i.get(0).previousSibling,f(e,t))&&i.prev().append(i)}h.selection.restore()}}function E(e,t,n,r){if(!r){var o=!1;if(!0===e.data("type"))for(;h.node.isFirstSibling(e.get(0))&&!e.parent().is(h.$el)&&!e.parent().is("ol")&&!e.parent().is("ul");)e.parent().before(e),o=!0;else if(!1===e.data("type"))for(;h.node.isLastSibling(e.get(0))&&!e.parent().is(h.$el)&&!e.parent().is("ol")&&!e.parent().is("ul");)e.parent().after(e),o=!0;if(o)return!0}if(e.parents(t).length||void 0===t){var i="",a="",s=e.parent();if(s.is(h.$el)||h.node.isBlock(s.get(0)))return!1;for(;!h.node.isBlock(s.parent().get(0))&&(void 0===t||void 0!==t&&!p(s.get(0),f(t,n)));)i+=h.node.closeTagString(s.get(0)),a=h.node.openTagString(s.get(0))+a,s=s.parent();var l=e.get(0).outerHTML;e.replaceWith('<span id="mark"></span>');var d=s.html().replace(/<span id="mark"><\/span>/,i+h.node.closeTagString(s.get(0))+a+l+i+h.node.openTagString(s.get(0))+a);return s.replaceWith(h.node.openTagString(s.get(0))+d+h.node.closeTagString(s.get(0))),!0}return!1}function r(t,n){void 0===n&&(n={}),n.style&&delete n.style;var r=h.selection.isCollapsed();h.selection.save();for(var o=!0;o;){o=!1;for(var i=h.$el.find(".fr-marker"),a=0;a<i.length;a++){var s=M(i[a]),l=null;if(s.attr("data-cloned")||r||(l=s.clone().removeClass("fr-marker").addClass("fr-clone"),!0===s.data("type")?s.attr("data-cloned",!0).after(l):s.attr("data-cloned",!0).before(l)),E(s,t,n,r)){o=!0;break}}}!function e(t,n,r,o){for(var i=h.node.contents(t.get(0)),a=0;a<i.length;a++){var s=i[a];if(h.node.hasClass(s,"fr-marker"))n=(n+1)%2;else if(n)if(0<M(s).find(".fr-marker").length)n=e(M(s),n,r,o);else{for(var l=M(s).find(r||"*:not(a):not(br)"),d=l.length-1;0<=d;d--){var c=l[d];h.node.isBlock(c)||h.node.isVoid(c)||void 0!==r&&!p(c,f(r,o))?h.node.isBlock(c)&&void 0===r&&"TABLE"!=s.tagName&&h.node.clearAttributes(c):h.node.hasClass(c,"fr-clone")||(c.outerHTML=c.innerHTML)}void 0===r&&s.nodeType==Node.ELEMENT_NODE&&!h.node.isVoid(s)||p(s,f(r,o))?h.node.isBlock(s)||M(s).replaceWith(s.innerHTML):void 0===r&&s.nodeType==Node.ELEMENT_NODE&&h.node.isBlock(s)&&"TABLE"!=s.tagName&&h.node.clearAttributes(s)}else 0<M(s).find(".fr-marker").length&&(n=e(M(s),n,r,o))}return n}(h.$el,0,t,n),r||(h.$el.find(".fr-marker").remove(),h.$el.find(".fr-clone").removeClass("fr-clone").addClass("fr-marker")),r&&h.$el.find(".fr-marker").before(M.FE.INVISIBLE_SPACE).after(M.FE.INVISIBLE_SPACE),h.html.cleanEmptyTags(),h.el.normalize(),h.selection.restore()}function t(e,t){var n,r,o,i,a,s=null;if(h.selection.isCollapsed()){h.markers.insert();var l=(r=h.$el.find(".fr-marker")).parent();if(h.node.openTagString(l.get(0))=='<span style="'+e+": "+l.css(e)+';">'){if(h.node.isEmpty(l.get(0)))s=M('<span style="'+e+": "+t+';">'+M.FE.INVISIBLE_SPACE+M.FE.MARKERS+"</span>"),l.replaceWith(s);else{var d={};d["style*"]=e+":",E(r,"span",d,!0),r=h.$el.find(".fr-marker"),t?(s=M('<span style="'+e+": "+t+';">'+M.FE.INVISIBLE_SPACE+M.FE.MARKERS+"</span>"),r.replaceWith(s)):r.replaceWith(M.FE.INVISIBLE_SPACE+M.FE.MARKERS)}h.html.cleanEmptyTags()}else h.node.isEmpty(l.get(0))&&l.is("span")?(r.replaceWith(M.FE.MARKERS),l.css(e,t)):(s=M('<span style="'+e+": "+t+';">'+M.FE.INVISIBLE_SPACE+M.FE.MARKERS+"</span>"),r.replaceWith(s));s&&v(s,e,t)}else{if(h.selection.save(),null==t||"color"==e&&0<h.$el.find(".fr-marker").parents("u, a").length){var c=h.$el.find(".fr-marker");for(n=0;n<c.length;n++)if(!0===(r=M(c[n])).data("type"))for(;h.node.isFirstSibling(r.get(0))&&!r.parent().is(h.$el)&&!h.node.isElement(r.parent().get(0))&&!h.node.isBlock(r.parent().get(0));)r.parent().before(r);else for(;h.node.isLastSibling(r.get(0))&&!r.parent().is(h.$el)&&!h.node.isElement(r.parent().get(0))&&!h.node.isBlock(r.parent().get(0));)r.parent().after(r)}for(var f=h.$el.find('.fr-marker[data-type="true"]').get(0).nextSibling;f.firstChild;)f=f.firstChild;var p={"class":"fr-unprocessed"};for(t&&(p.style=e+": "+t+";"),m(f,"span",p),h.$el.find(".fr-marker + .fr-unprocessed").each(function(){M(this).prepend(M(this).prev())}),h.$el.find(".fr-unprocessed + .fr-marker").each(function(){M(this).prev().append(this)}),(t||"").match(/\dem$/)&&h.$el.find("span.fr-unprocessed").removeClass("fr-unprocessed");0<h.$el.find("span.fr-unprocessed").length;){if((s=h.$el.find("span.fr-unprocessed:first").removeClass("fr-unprocessed")).parent().get(0).normalize(),s.parent().is("span")&&1==s.parent().get(0).childNodes.length){s.parent().css(e,t);var u=s;s=s.parent(),u.replaceWith(u.html())}var g=s.find("span");for(n=g.length-1;0<=n;n--)o=g[n],i=e,a=void 0,(a=M(o)).css(i,""),""===a.attr("style")&&a.replaceWith(a.html());v(s,e,t)}}!function(){var e;for(;0<h.$el.find(".fr-split:empty").length;)h.$el.find(".fr-split:empty").remove();h.$el.find(".fr-split").removeClass("fr-split"),h.$el.find('[style=""]').removeAttr("style"),h.$el.find('[class=""]').removeAttr("class"),h.html.cleanEmptyTags(),M(h.$el.find("span").get().reverse()).each(function(){this.attributes&&0!==this.attributes.length||M(this).replaceWith(this.innerHTML)}),h.el.normalize();var t=h.$el.find("span[style] + span[style]");for(e=0;e<t.length;e++){var n=M(t[e]),r=M(t[e]).prev();n.get(0).previousSibling==r.get(0)&&h.node.openTagString(n.get(0))==h.node.openTagString(r.get(0))&&(n.prepend(r.html()),r.remove())}h.$el.find("span[style] span[style]").each(function(){if(0<=M(this).attr("style").indexOf("font-size")){var e=M(this).parents("span[style]");0<=e.attr("style").indexOf("background-color")&&(M(this).attr("style",M(this).attr("style")+";"+e.attr("style")),E(M(this),"span[style]",{},!1))}}),h.el.normalize(),h.selection.restore()}()}function v(e,t,n){var r,o,i,a=e.parentsUntil(h.$el,"span[style]"),s=[];for(r=a.length-1;0<=r;r--)o=a[r],i=t,0===M(o).attr("style").indexOf(i+":")||0<=M(o).attr("style").indexOf(";"+i+":")||0<=M(o).attr("style").indexOf("; "+i+":")||s.push(a[r]);if((a=a.not(s)).length){for(var l="",d="",c="",f="",p=e.get(0);p=p.parentNode,M(p).addClass("fr-split"),l+=h.node.closeTagString(p),d=h.node.openTagString(M(p).clone().addClass("fr-split").get(0))+d,a.get(0)!=p&&(c+=h.node.closeTagString(p),f=h.node.openTagString(M(p).clone().addClass("fr-split").get(0))+f),a.get(0)!=p;);var u=l+h.node.openTagString(M(a.get(0)).clone().css(t,n||"").get(0))+f+e.css(t,"").get(0).outerHTML+c+"</span>"+d;e.replaceWith('<span id="fr-break"></span>');var g=a.get(0).outerHTML;M(a.get(0)).replaceWith(g.replace(/<span id="fr-break"><\/span>/g,u))}}function o(e,t){void 0===t&&(t={}),t.style&&delete t.style;var n=h.selection.ranges(0),r=n.startContainer;if(r.nodeType==Node.ELEMENT_NODE&&0<r.childNodes.length&&r.childNodes[n.startOffset]&&(r=r.childNodes[n.startOffset]),!n.collapsed&&r.nodeType==Node.TEXT_NODE&&n.startOffset==(r.textContent||"").length){for(;!h.node.isBlock(r.parentNode)&&!r.nextSibling;)r=r.parentNode;r.nextSibling&&(r=r.nextSibling)}for(var o=r;o&&o.nodeType==Node.ELEMENT_NODE&&!p(o,f(e,t));)o=o.firstChild;if(o&&o.nodeType==Node.ELEMENT_NODE&&p(o,f(e,t)))return!0;var i=r;for(i&&i.nodeType!=Node.ELEMENT_NODE&&(i=i.parentNode);i&&i.nodeType==Node.ELEMENT_NODE&&i!=h.el&&!p(i,f(e,t));)i=i.parentNode;return!(!i||i.nodeType!=Node.ELEMENT_NODE||i==h.el||!p(i,f(e,t)))}return{is:o,toggle:function(e,t){o(e,t)?r(e,t):n(e,t)},apply:n,remove:r,applyStyle:t,removeStyle:function(e){t(e,null)}}},M.extend(M.FE.DEFAULTS,{indentMargin:20}),M.FE.COMMANDS={bold:{title:"Bold",toggle:!0,refresh:function(e){var t=this.format.is("strong");e.toggleClass("fr-active",t).attr("aria-pressed",t)}},italic:{title:"Italic",toggle:!0,refresh:function(e){var t=this.format.is("em");e.toggleClass("fr-active",t).attr("aria-pressed",t)}},underline:{title:"Underline",toggle:!0,refresh:function(e){var t=this.format.is("u");e.toggleClass("fr-active",t).attr("aria-pressed",t)}},strikeThrough:{title:"Strikethrough",toggle:!0,refresh:function(e){var t=this.format.is("s");e.toggleClass("fr-active",t).attr("aria-pressed",t)}},subscript:{title:"Subscript",toggle:!0,refresh:function(e){var t=this.format.is("sub");e.toggleClass("fr-active",t).attr("aria-pressed",t)}},superscript:{title:"Superscript",toggle:!0,refresh:function(e){var t=this.format.is("sup");e.toggleClass("fr-active",t).attr("aria-pressed",t)}},outdent:{title:"Decrease Indent"},indent:{title:"Increase Indent"},undo:{title:"Undo",undo:!1,forcedRefresh:!0,disabled:!0},redo:{title:"Redo",undo:!1,forcedRefresh:!0,disabled:!0},insertHR:{title:"Insert Horizontal Line"},clearFormatting:{title:"Clear Formatting"},selectAll:{title:"Select All",undo:!1}},M.FE.RegisterCommand=function(e,t){M.FE.COMMANDS[e]=t},M.FE.MODULES.commands=function(a){function o(e){return a.html.defaultTag()&&(e="<"+a.html.defaultTag()+">"+e+"</"+a.html.defaultTag()+">"),e}var i={bold:function(){e("bold","strong")},subscript:function(){a.format.is("sup")&&a.format.remove("sup"),e("subscript","sub")},superscript:function(){a.format.is("sub")&&a.format.remove("sub"),e("superscript","sup")},italic:function(){e("italic","em")},strikeThrough:function(){e("strikeThrough","s")},underline:function(){e("underline","u")},undo:function(){a.undo.run()},redo:function(){a.undo.redo()},indent:function(){n(1)},outdent:function(){n(-1)},show:function(){a.opts.toolbarInline&&a.toolbar.showInline(null,!0)},insertHR:function(){a.selection.remove();var e="";a.core.isEmpty()&&(e=o(e="<br>")),a.html.insert('<hr id="fr-just">'+e);var t,n=a.$el.find("hr#fr-just");if(n.removeAttr("id"),0===n.next().length){var r=a.html.defaultTag();r?n.after(M("<"+r+">").append("<br>")):n.after("<br>")}n.prev().is("hr")?t=a.selection.setAfter(n.get(0),!1):n.next().is("hr")?t=a.selection.setBefore(n.get(0),!1):a.selection.setAfter(n.get(0),!1)||a.selection.setBefore(n.get(0),!1),t||void 0===t||(e=o(e=M.FE.MARKERS+"<br>"),n.after(e)),a.selection.restore()},clearFormatting:function(){a.format.remove()},selectAll:function(){a.doc.execCommand("selectAll",!1,!1)}};function t(e,t){if(!1!==a.events.trigger("commands.before",M.merge([e],t||[]))){var n=M.FE.COMMANDS[e]&&M.FE.COMMANDS[e].callback||i[e],r=!0,o=!1;M.FE.COMMANDS[e]&&("undefined"!=typeof M.FE.COMMANDS[e].focus&&(r=M.FE.COMMANDS[e].focus),"undefined"!=typeof M.FE.COMMANDS[e].accessibilityFocus&&(o=M.FE.COMMANDS[e].accessibilityFocus)),(!a.core.hasFocus()&&r&&!a.popups.areVisible()||!a.core.hasFocus()&&o&&a.accessibility.hasFocus())&&a.events.focus(!0),M.FE.COMMANDS[e]&&!1!==M.FE.COMMANDS[e].undo&&(a.$el.find(".fr-marker").length&&(a.events.disableBlur(),a.selection.restore()),a.undo.saveStep()),n&&n.apply(a,M.merge([e],t||[])),a.events.trigger("commands.after",M.merge([e],t||[])),M.FE.COMMANDS[e]&&!1!==M.FE.COMMANDS[e].undo&&a.undo.saveStep()}}function e(e,t){a.format.toggle(t)}function n(e){a.selection.save(),a.html.wrap(!0,!0,!0,!0),a.selection.restore();for(var t=a.selection.blocks(),n=0;n<t.length;n++)if("LI"!=t[n].tagName&&"LI"!=t[n].parentNode.tagName){var r=M(t[n]),o="rtl"==a.opts.direction||"rtl"==r.css("direction")?"margin-right":"margin-left",i=a.helpers.getPX(r.css(o));if(r.width()<2*a.opts.indentMargin&&0<e)continue;r.css(o,Math.max(i+e*a.opts.indentMargin,0)||""),r.removeClass("fr-temp-div")}a.selection.save(),a.html.unwrap(),a.selection.restore()}function r(e){return function(){t(e)}}var s={};for(var l in i)i.hasOwnProperty(l)&&(s[l]=r(l));return M.extend(s,{exec:t,_init:function(){a.events.on("keydown",function(e){var t=a.selection.element();if(t&&"HR"==t.tagName&&!a.keys.isArrow(e.which))return e.preventDefault(),!1}),a.events.on("keyup",function(e){var t=a.selection.element();if(t&&"HR"==t.tagName)if(e.which==M.FE.KEYCODE.ARROW_LEFT||e.which==M.FE.KEYCODE.ARROW_UP){if(t.previousSibling)return a.node.isBlock(t.previousSibling)?a.selection.setAtEnd(t.previousSibling):M(t).before(M.FE.MARKERS),a.selection.restore(),!1}else if((e.which==M.FE.KEYCODE.ARROW_RIGHT||e.which==M.FE.KEYCODE.ARROW_DOWN)&&t.nextSibling)return a.node.isBlock(t.nextSibling)?a.selection.setAtStart(t.nextSibling):M(t).after(M.FE.MARKERS),a.selection.restore(),!1}),a.events.on("mousedown",function(e){if(e.target&&"HR"==e.target.tagName)return e.preventDefault(),e.stopPropagation(),!1}),a.events.on("mouseup",function(){var e=a.selection.element();e==a.selection.endElement()&&e&&"HR"==e.tagName&&(e.nextSibling&&(a.node.isBlock(e.nextSibling)?a.selection.setAtStart(e.nextSibling):M(e).after(M.FE.MARKERS)),a.selection.restore())})}})},M.FE.MODULES.data=function(f){var p="NCKB1zwtPA9tqzajXC2c2A7B-16VD3spzJ1C9C3D5oOF2OB1NB1LD7VA5QF4TE3gytXB2A4C-8VA2AC4E1D3GB2EB2KC3KD1MF1juuSB1A8C6yfbmd1B2a1A5qdsdB2tivbC3CB1KC1CH1eLA2sTF1B4I4H-7B-21UB6b1F5bzzzyAB4JC3MG2hjdKC1JE6C1E1cj1pD-16pUE5B4prra2B5ZB3D3C3pxj1EA6A3rnJA2C-7I-7JD9D1E1wYH1F3sTB5TA2G4H4ZA22qZA5BB3mjcvcCC3JB1xillavC-21VE6PC5SI4YC5C8mb1A3WC3BD2B5aoDA2qqAE3A5D-17fOD1D5RD4WC10tE6OAZC3nF-7b1C4A4D3qCF2fgmapcromlHA2QA6a1E1D3e1A6C2bie2F4iddnIA7B2mvnwcIB5OA1DB2OLQA3PB10WC7WC5d1E3uI-7b1D5D6b1E4D2arlAA4EA1F-11srxI-7MB1D7PF1E5B4adB-21YD5vrZH3D3xAC4E1A2GF2CF2J-7yNC2JE1MI2hH-7QB1C6B5B-9bA-7XB13a1B5VievwpKB4LA3NF-10H-9I-8hhaC-16nqPG4wsleTD5zqYF3h1G2B7B4yvGE2Pi1H-7C-21OE6B1uLD1kI4WC1E7C5g1D-8fue1C8C6c1D4D3Hpi1CC4kvGC2E1legallyXB4axVA11rsA4A-9nkdtlmzBA2GD3A13A6CB1dabE1lezrUE6RD5TB4A-7f1C8c1B5d1D4D3tyfCD5C2D2==",u=function(){for(var e=0,t=document.domain,n=t.split("."),r="_gd"+(new Date).getTime();e<n.length-1&&-1==document.cookie.indexOf(r+"="+r);)t=n.slice(-1-++e).join("."),document.cookie=r+"="+r+";domain="+t+";";return document.cookie=r+"=;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain="+t+";",(t||"").replace(/(^\.*)|(\.*$)/g,"")}();function g(e){return e}var h,m,E=g(function(e){if(!e)return e;for(var t="",n=g("charCodeAt"),r=g("fromCharCode"),o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".indexOf(e[0]),i=1;i<e.length-2;i++){for(var a=d(++o),s=e[n](i),l="";/[0-9-]/.test(e[i+1]);)l+=e[++i];s=v(s,a,l=parseInt(l,10)||0),s^=o-1&31,t+=String[r](s)}return t});function d(e){for(var t=e.toString(),n=0,r=0;r<t.length;r++)n+=parseInt(t.charAt(r),10);return 10<n?n%9+1:n}function v(e,t,n){for(var r=Math.abs(n);0<r--;)e-=t;return n<0&&(e+=123),e}function b(e){return!(!e||"block"===e.css("display")||(e.remove(),0))}function S(e){return e&&0===f.$box.find(e).length}var e=0;function T(){if(10<e&&(f[g(E("0ppecjvc=="))](),setTimeout(function(){M.FE=null},10)),!f.$box)return!1;f.$wp.prepend(E(g(E(p)))),h=f.$wp.find("> div:first"),m=h.find("> a"),"rtl"==f.opts.direction&&h.css("left","auto").css("right",0).attr("direction","rtl"),e++}function y(e){for(var t=[E("9qqG-7amjlwq=="),E("KA3B3C2A6D1D5H5H1A3=="),E("3B9B3B5F3C4G3E3=="),E("QzbzvxyB2yA-9m=="),E("ji1kacwmgG5bc=="),E("nmA-13aogi1A3c1jd=="),E("BA9ggq=="),E("emznbjbH3fij=="),E("tkC-22d1qC-13sD1wzF-7==")],n=0;n<t.length;n++)if(String.prototype.endsWith||(String.prototype.endsWith=function(e,t){return(t===undefined||t>this.length)&&(t=this.length),this.substring(t-e.length,t)===e}),e.endsWith(t[n]))return!0;return!1}return{_init:function(){var e=f.o_win.FEK;try{e=e||localStorage&&localStorage.FEK}catch(v){}e=f.opts.key||e||[""];var t=E(g("ziRA1E3B9pA5B-11D-11xg1A3ZB5D1D4B-11ED2EG2pdeoC1clIH4wB-22yQD5uF4YE3E3A9=="));"string"==typeof e&&(e=[e]);for(var n,r,o,i=!(f.ul=!0),a=0,s=0;s<e.length;s++){var l=(r=e[s],3===(o=(E(r)||"").split("|")).length?o:[null,null,E(r)||""]),d=l[2];if(d===E(g(E("mcVRDoB1BGILD7YFe1BTXBA7B6==")))||0<=d.indexOf(u,d.length-u.length)||y(u)){if(!((null===(n=l[1])||new Date(n)<new Date(E("uB2C1D7B5E1E5E4A1E3C11==")))&&0<(u||"").length)||y(u)){f.ul=!1;break}i=!0,p="RCZB17botVG4A-8yzia1C4A5DG3CD2cFB4qflmCE4I2FB1SC7F6PE4WE3RD6e2A4c1D3d1E2E3ehxdGE3CE2IB2LC1HG2LE1QA3QC7B-13cC-9epmkjc1B4e1C4pgjgvkOC5E1eNE1HB2LD2B-13WD5tvabUA5a1A4f1A2G3C2A-21cihKE3FE2DB2cccJE1iC-7G-7tD-17tVD6A-9qC-7QC7a1E4B4je1E3E2G2ecmsAA1xH-8HB11C1D1lgzQA3dTB8od1D4XE3ohb1B4E4D3mbLA10NA7C-21d1genodKC11PD9PE5tA-8UI3ZC5XB5B-11qXF2F-7wtwjAG3NA1IB1OD1HC1RD4QJ4evUF2D5XG2G4XA8pqocH1F3G2J2hcpHC4D1MD4C1MB8PD5klcQD1A8A6e2A3ed1E2A24A7HC5C3qA-9tiA-61dcC3MD1LE1D4SA3A9ZZXSE4g1C3Pa2C5ufbcGI3I2B4skLF2CA1vxB-22wgUC4kdH-8cVB5iwe1A2D3H3G-7DD5JC2ED2OH2JB10D3C2xHE1KA29PB11wdC-11C4cixb2C7a1C4YYE3B2A15uB-21wpCA1MF1NuC-21dyzD6pPG4I-7pmjc1A4yte1F3B-22yvCC3VbC-7qC-22qNE2hC1vH-8zad1RF6WF3DpI-7C8A-16hpf1F3D2ylalB-13BB2lpA-63IB3uOF6D5G4gabC-21UD2A3PH4ZA20B11b2C6ED4A2H3I1A15DB4KD2laC-8LA5B8B7==",a=l[0]||-1}}var c=new Image;!0===f.ul&&(T(),c.src=i?g(E(t))+"e="+a:g(E(t))+"u"),!0===f.ul&&f.events.on("contentChanged",function(){(b(h)||b(m)||S(h)||S(m))&&T()}),f.events.on("destroy",function(){h&&h.length&&h.remove()},!0)}}},M.extend(M.FE.DEFAULTS,{pastePlain:!1,pasteDeniedTags:["colgroup","col","meta"],pasteDeniedAttrs:["class","id","style"],pasteAllowedStyleProps:[".*"],pasteAllowLocalImages:!1}),M.FE.MODULES.paste=function(b){var a,s,o,S;function n(e,t){try{b.win.localStorage.setItem("fr-copied-html",e),b.win.localStorage.setItem("fr-copied-text",t)}catch(n){}}function e(e){var t=b.html.getSelected();n(t,M("<div>").html(t).text()),"cut"==e.type&&(b.undo.saveStep(),setTimeout(function(){b.selection.save(),b.html.wrap(),b.selection.restore(),b.events.focus(),b.undo.saveStep()},0))}var i=!1;function t(e){if(i)return!1;if(e.originalEvent&&(e=e.originalEvent),!1===b.events.trigger("paste.before",[e]))return e.preventDefault(),!1;if(b.$win.scrollTop(),e&&e.clipboardData&&e.clipboardData.getData){var t="",n=e.clipboardData.types;if(b.helpers.isArray(n))for(var r=0;r<n.length;r++)t+=n[r]+";";else t=n;if(a="",/text\/rtf/.test(t)&&(s=e.clipboardData.getData("text/rtf")),/text\/html/.test(t)&&!b.browser.safari?a=e.clipboardData.getData("text/html"):/text\/rtf/.test(t)&&b.browser.safari?a=s:/public.rtf/.test(t)&&b.browser.safari&&(a=e.clipboardData.getData("text/rtf")),""!==a)return l(),e.preventDefault&&(e.stopPropagation(),e.preventDefault()),!1;a=null}return function(){b.selection.save(),b.events.disableBlur(),a=null,o?(o.html(""),b.browser.edge&&b.opts.iframe&&b.$el.append(o)):(o=M('<div contenteditable="true" style="position: fixed; top: 0; left: -9999px; height: 100%; width: 0; word-break: break-all; overflow:hidden; z-index: 2147483647; line-height: 140%; -moz-user-select: text; -webkit-user-select: text; -ms-user-select: text; user-select: text;" tabIndex="-1"></div>'),b.browser.webkit?(o.css("top",b.$sc.scrollTop()),b.$el.after(o)):b.browser.edge&&b.opts.iframe?b.$el.append(o):b.$box.after(o),b.events.on("destroy",function(){o.remove()}));b.helpers.isIOS()||o.focus();b.win.setTimeout(l,1)}(),!1}function r(e){if(e.originalEvent&&(e=e.originalEvent),e&&e.dataTransfer&&e.dataTransfer.getData){var t="",n=e.dataTransfer.types;if(b.helpers.isArray(n))for(var r=0;r<n.length;r++)t+=n[r]+";";else t=n;if(a="",/text\/rtf/.test(t)&&(s=e.dataTransfer.getData("text/rtf")),/text\/html/.test(t)?a=e.dataTransfer.getData("text/html"):/text\/rtf/.test(t)&&b.browser.safari?a=s:/text\/plain/.test(t)&&!this.browser.mozilla&&(a=b.html.escapeEntities(e.dataTransfer.getData("text/plain")).replace(/\n/g,"<br>")),""!==a){b.keys.forceUndo(),S=b.snapshot.get(),b.selection.save(),b.$el.find(".fr-marker").removeClass("fr-marker").addClass("fr-marker-helper");var o=b.markers.insertAtPoint(e);if(b.$el.find(".fr-marker").removeClass("fr-marker").addClass("fr-marker-placeholder"),b.$el.find(".fr-marker-helper").addClass("fr-marker").removeClass("fr-marker-helper"),b.selection.restore(),b.selection.remove(),b.$el.find(".fr-marker-placeholder").addClass("fr-marker").removeClass("fr-marker-placeholder"),!1!==o){var i=b.el.querySelector(".fr-marker");return M(i).replaceWith(M.FE.MARKERS),b.selection.restore(),l(),e.preventDefault&&(e.stopPropagation(),e.preventDefault()),!1}}else a=null}}function l(){b.browser.edge&&b.opts.iframe&&b.$box.after(o),S||(b.keys.forceUndo(),S=b.snapshot.get()),a||(a=o.get(0).innerHTML,b.selection.restore(),b.events.enableBlur());var e=a.match(/(class=\"?Mso|class=\'?Mso|class="?Xl|class='?Xl|class=Xl|style=\"[^\"]*\bmso\-|style=\'[^\']*\bmso\-|w:WordDocument)/gi),t=b.events.chainTrigger("paste.beforeCleanup",a);t&&"string"==typeof t&&(a=t),(!e||e&&!1!==b.events.trigger("paste.wordPaste",[a]))&&d(a,e)}function T(e){for(var t="",n=0;n++<e;)t+="&nbsp;";return t}function d(e,t,n){var r,o=null,i=null;if(0<=e.toLowerCase().indexOf("<body")){var a="";0<=e.indexOf("<style")&&(a=e.replace(/[.\s\S\w\W<>]*(<style[^>]*>[\s]*[.\s\S\w\W<>]*[\s]*<\/style>)[.\s\S\w\W<>]*/gi,"$1")),e=(e=a+e.replace(/[.\s\S\w\W<>]*<body[^>]*>[\s]*([.\s\S\w\W<>]*)[\s]*<\/body>[.\s\S\w\W<>]*/gi,"$1")).replace(/ \n/g," ").replace(/\n /g," ").replace(/([^>])\n([^<])/g,"$1 $2")}var s=!1;0<=e.indexOf('id="docs-internal-guid')&&(e=e.replace(/^[\w\W\s\S]* id="docs-internal-guid[^>]*>([\w\W\s\S]*)<\/b>[\w\W\s\S]*$/g,"$1"),s=!0),0<=e.indexOf('content="Sheets"')&&(e=e.replace(/width:0px;/g,""));var l=!1;if(!t&&((l=function(e){var t=null;try{t=b.win.localStorage.getItem("fr-copied-text")}catch(n){}return!(!t||M("<div>").html(e).text().replace(/\u00A0/gi," ").replace(/\r|\n/gi,"")!=t.replace(/\u00A0/gi," ").replace(/\r|\n/gi,""))}(e))&&(e=b.win.localStorage.getItem("fr-copied-html")),!l)){var d=b.opts.htmlAllowedStyleProps;b.opts.htmlAllowedStyleProps=b.opts.pasteAllowedStyleProps,b.opts.htmlAllowComments=!1,e=(e=(e=e.replace(/<span class="Apple-tab-span">\s*<\/span>/g,T(b.opts.tabSpaces||4))).replace(/<span class="Apple-tab-span" style="white-space:pre">(\t*)<\/span>/g,function(e,t){return T(t.length*(b.opts.tabSpaces||4))})).replace(/\t/g,T(b.opts.tabSpaces||4)),e=b.clean.html(e,b.opts.pasteDeniedTags,b.opts.pasteDeniedAttrs),b.opts.htmlAllowedStyleProps=d,b.opts.htmlAllowComments=!0,e=(e=(e=y(e)).replace(/\r/g,"")).replace(/^ */g,"").replace(/ *$/g,"")}!t||b.wordPaste&&n||(0===(e=e.replace(/^\n*/g,"").replace(/^ /g,"")).indexOf("<colgroup>")&&(e="<table>"+e+"</table>"),e=y(e=function(e){var t;e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/<p(.*?)class="?'?MsoListParagraph"?'? ([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<ul><li>$3</li></ul>")).replace(/<p(.*?)class="?'?NumberedText"?'? ([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<ol><li>$3</li></ol>")).replace(/<p(.*?)class="?'?MsoListParagraphCxSpFirst"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<ul><li$3>$5</li>")).replace(/<p(.*?)class="?'?NumberedTextCxSpFirst"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<ol><li$3>$5</li>")).replace(/<p(.*?)class="?'?MsoListParagraphCxSpMiddle"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<li$3>$5</li>")).replace(/<p(.*?)class="?'?NumberedTextCxSpMiddle"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<li$3>$5</li>")).replace(/<p(.*?)class="?'?MsoListBullet"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<li$3>$5</li>")).replace(/<p(.*?)class="?'?MsoListParagraphCxSpLast"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<li$3>$5</li></ul>")).replace(/<p(.*?)class="?'?NumberedTextCxSpLast"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi,"<li$3>$5</li></ol>")).replace(/<span([^<]*?)style="?'?mso-list:Ignore"?'?([\s\S]*?)>([\s\S]*?)<span/gi,"<span><span")).replace(/<!--\[if \!supportLists\]-->([\s\S]*?)<!--\[endif\]-->/gi,"")).replace(/<!\[if \!supportLists\]>([\s\S]*?)<!\[endif\]>/gi,"")).replace(/(\n|\r| class=(")?Mso[a-zA-Z0-9]+(")?)/gi," ")).replace(/<!--[\s\S]*?-->/gi,"")).replace(/<(\/)*(meta|link|span|\\?xml:|st1:|o:|font)(.*?)>/gi,"");var n,r=["style","script","applet","embed","noframes","noscript"];for(t=0;t<r.length;t++){var o=new RegExp("<"+r[t]+".*?"+r[t]+"(.*?)>","gi");e=e.replace(o,"")}for(e=(e=(e=e.replace(/&nbsp;/gi," ")).replace(/<td([^>]*)><\/td>/g,"<td$1><br></td>")).replace(/<th([^>]*)><\/th>/g,"<th$1><br></th>");(e=(n=e).replace(/<[^\/>][^>]*><\/[^>]+>/gi,""))!=n;);e=(e=e.replace(/<lilevel([^1])([^>]*)>/gi,'<li data-indent="true"$2>')).replace(/<lilevel1([^>]*)>/gi,"<li$1>"),e=(e=(e=b.clean.html(e,b.opts.pasteDeniedTags,b.opts.pasteDeniedAttrs)).replace(/<a>(.[^<]+)<\/a>/gi,"$1")).replace(/<br> */g,"<br>");var i=b.o_doc.createElement("div");i.innerHTML=e;var a=i.querySelectorAll("li[data-indent]");for(t=0;t<a.length;t++){var s=a[t],l=s.previousElementSibling;if(l&&"LI"==l.tagName){var d=l.querySelector(":scope > ul, :scope > ol");d||(d=document.createElement("ul"),l.appendChild(d)),d.appendChild(s)}else s.removeAttribute("data-indent")}return b.html.cleanBlankSpaces(i),e=i.innerHTML}(e))),b.opts.pastePlain&&!l&&(e=function(e){var t,n=null,r=b.doc.createElement("div");r.innerHTML=e;var o=r.querySelectorAll("p, div, h1, h2, h3, h4, h5, h6, pre, blockquote");for(t=0;t<o.length;t++)(n=o[t]).outerHTML="<"+(b.html.defaultTag()||"DIV")+">"+n.innerHTML+"</"+(b.html.defaultTag()||"DIV")+">";for(t=(o=r.querySelectorAll("*:not("+"p, div, h1, h2, h3, h4, h5, h6, pre, blockquote, ul, ol, li, table, tbody, thead, tr, td, br, img".split(",").join("):not(")+")")).length-1;0<=t;t--)(n=o[t]).outerHTML=n.innerHTML;var i=function(e){for(var t=b.node.contents(e),n=0;n<t.length;n++)t[n].nodeType!=Node.TEXT_NODE&&t[n].nodeType!=Node.ELEMENT_NODE?t[n].parentNode.removeChild(t[n]):i(t[n])};return i(r),r.innerHTML}(e));var c=b.events.chainTrigger("paste.afterCleanup",e);if("string"==typeof c&&(e=c),""!==e){var f=b.o_doc.createElement("div");0<=(f.innerHTML=e).indexOf("<body>")?(b.html.cleanBlankSpaces(f),b.spaces.normalize(f,!0)):b.spaces.normalize(f);var p=f.getElementsByTagName("span");for(r=p.length-1;0<=r;r--){var u=p[r];0===u.attributes.length&&(u.outerHTML=u.innerHTML)}var g=b.selection.element(),h=!1;if(g&&M(g).parentsUntil(b.el,"ul, ol").length&&(h=!0),h){var m=f.children;1==m.length&&0<=["OL","UL"].indexOf(m[0].tagName)&&(m[0].outerHTML=m[0].innerHTML)}if(!s){var E=f.getElementsByTagName("br");for(r=E.length-1;0<=r;r--){var v=E[r];b.node.isBlock(v.previousSibling)&&v.parentNode.removeChild(v)}}if(b.opts.enter==M.FE.ENTER_BR)for(r=(o=f.querySelectorAll("p, div")).length-1;0<=r;r--)0===(i=o[r]).attributes.length&&(i.outerHTML=i.innerHTML+(i.nextSibling&&!b.node.isEmpty(i)?"<br>":""));else if(b.opts.enter==M.FE.ENTER_DIV)for(r=(o=f.getElementsByTagName("p")).length-1;0<=r;r--)0===(i=o[r]).attributes.length&&(i.outerHTML="<div>"+i.innerHTML+"</div>");else b.opts.enter==M.FE.ENTER_P&&1==f.childNodes.length&&"P"==f.childNodes[0].tagName&&0===f.childNodes[0].attributes.length&&(f.childNodes[0].outerHTML=f.childNodes[0].innerHTML);e=f.innerHTML,l&&(e=function(e){var t,n=b.o_doc.createElement("div");n.innerHTML=e;var r=n.querySelectorAll("*:empty:not(td):not(th):not(tr):not(iframe):not(svg):not("+M.FE.VOID_ELEMENTS.join("):not(")+"):not("+b.opts.htmlAllowedEmptyTags.join("):not(")+")");for(;r.length;){for(t=0;t<r.length;t++)r[t].parentNode.removeChild(r[t]);r=n.querySelectorAll("*:empty:not(td):not(th):not(tr):not(iframe):not(svg):not("+M.FE.VOID_ELEMENTS.join("):not(")+"):not("+b.opts.htmlAllowedEmptyTags.join("):not(")+")")}return n.innerHTML}(e)),b.html.insert(e,!0)}b.events.trigger("paste.after"),b.undo.saveStep(S),S=null,b.undo.saveStep()}function c(e){for(var t=e.length-1;0<=t;t--)e[t].attributes&&e[t].attributes.length&&e.splice(t,1);return e}function y(e){var t,n=b.o_doc.createElement("div");n.innerHTML=e;for(var r=c(Array.prototype.slice.call(n.querySelectorAll(":scope > div:not([style]), td > div:not([style]), th > div:not([style]), li > div:not([style])")));r.length;){var o=r[r.length-1];if(b.html.defaultTag()&&"div"!=b.html.defaultTag())o.querySelector(b.html.blockTagsQuery())?o.outerHTML=o.innerHTML:o.outerHTML="<"+b.html.defaultTag()+">"+o.innerHTML+"</"+b.html.defaultTag()+">";else{var i=o.querySelectorAll("*");!i.length||"BR"!==i[i.length-1].tagName&&0===o.innerText.length?o.outerHTML=o.innerHTML+"<br>":o.nextSibling?o.outerHTML=o.innerHTML+"<br>":o.outerHTML=o.innerHTML}r=c(Array.prototype.slice.call(n.querySelectorAll(":scope > div:not([style]), td > div:not([style]), th > div:not([style]), li > div:not([style])")))}for(r=c(Array.prototype.slice.call(n.querySelectorAll("div:not([style])")));r.length;){for(t=0;t<r.length;t++){var a=r[t],s=a.innerHTML.replace(/\u0009/gi,"").trim();try{a.outerHTML=s}catch(l){}}r=c(Array.prototype.slice.call(n.querySelectorAll("div:not([style])")))}return n.innerHTML}function f(){b.el.removeEventListener("copy",e),b.el.removeEventListener("cut",e),b.el.removeEventListener("paste",t)}return{_init:function(){b.el.addEventListener("copy",e),b.el.addEventListener("cut",e),b.el.addEventListener("paste",t,{capture:!0}),b.events.on("drop",r),b.browser.msie&&b.browser.version<11&&(b.events.on("mouseup",function(e){2==e.button&&(setTimeout(function(){i=!1},50),i=!0)},!0),b.events.on("beforepaste",t)),b.events.on("destroy",f)},cleanEmptyTagsAndDivs:y,getRtfClipboard:function(){return s},saveCopiedText:n,clean:d}},M.extend(M.FE.DEFAULTS,{shortcutsEnabled:[],shortcutsHint:!0}),M.FE.SHORTCUTS_MAP={},M.FE.RegisterShortcut=function(e,t,n,r,o,i){M.FE.SHORTCUTS_MAP[(o?"^":"")+(i?"@":"")+e]={cmd:t,val:n,letter:r,shift:o,option:i},M.FE.DEFAULTS.shortcutsEnabled.push(t)},M.FE.RegisterShortcut(M.FE.KEYCODE.E,"show",null,"E",!1,!1),M.FE.RegisterShortcut(M.FE.KEYCODE.B,"bold",null,"B",!1,!1),M.FE.RegisterShortcut(M.FE.KEYCODE.I,"italic",null,"I",!1,!1),M.FE.RegisterShortcut(M.FE.KEYCODE.U,"underline",null,"U",!1,!1),M.FE.RegisterShortcut(M.FE.KEYCODE.S,"strikeThrough",null,"S",!1,!1),M.FE.RegisterShortcut(M.FE.KEYCODE.CLOSE_SQUARE_BRACKET,"indent",null,"]",!1,!1),M.FE.RegisterShortcut(M.FE.KEYCODE.OPEN_SQUARE_BRACKET,"outdent",null,"[",!1,!1),M.FE.RegisterShortcut(M.FE.KEYCODE.Z,"undo",null,"Z",!1,!1),M.FE.RegisterShortcut(M.FE.KEYCODE.Z,"redo",null,"Z",!0,!1),M.FE.RegisterShortcut(M.FE.KEYCODE.Y,"redo",null,"Y",!1,!1),M.FE.MODULES.shortcuts=function(s){var r=null;var l=!1;function e(e){if(!s.core.hasFocus())return!0;var t=e.which,n=-1!=navigator.userAgent.indexOf("Mac OS X")?e.metaKey:e.ctrlKey;if("keyup"==e.type&&l&&t!=M.FE.KEYCODE.META)return l=!1;"keydown"==e.type&&(l=!1);var r=(e.shiftKey?"^":"")+(e.altKey?"@":"")+t;if(n&&M.FE.SHORTCUTS_MAP[r]){var o=M.FE.SHORTCUTS_MAP[r].cmd;if(o&&0<=s.opts.shortcutsEnabled.indexOf(o)){var i,a=M.FE.SHORTCUTS_MAP[r].val;if(o&&!a?i=s.$tb.find('.fr-command[data-cmd="'+o+'"]'):o&&a&&(i=s.$tb.find('.fr-command[data-cmd="'+o+'"][data-param1="'+a+'"]')),i.length)return e.preventDefault(),e.stopPropagation(),i.parents(".fr-toolbar").data("instance",s),"keydown"==e.type&&(s.button.exec(i),l=!0),!1;if(o&&(s.commands[o]||M.FE.COMMANDS[o]&&M.FE.COMMANDS[o].callback))return e.preventDefault(),e.stopPropagation(),"keydown"==e.type&&((s.commands[o]||M.FE.COMMANDS[o].callback)(),l=!0),!1}}}return{_init:function(){s.events.on("keydown",e,!0),s.events.on("keyup",e,!0)},get:function(e){if(!s.opts.shortcutsHint)return null;if(!r)for(var t in r={},M.FE.SHORTCUTS_MAP)M.FE.SHORTCUTS_MAP.hasOwnProperty(t)&&0<=s.opts.shortcutsEnabled.indexOf(M.FE.SHORTCUTS_MAP[t].cmd)&&(r[M.FE.SHORTCUTS_MAP[t].cmd+"."+(M.FE.SHORTCUTS_MAP[t].val||"")]={shift:M.FE.SHORTCUTS_MAP[t].shift,option:M.FE.SHORTCUTS_MAP[t].option,letter:M.FE.SHORTCUTS_MAP[t].letter});var n=r[e];return n?(s.helpers.isMac()?String.fromCharCode(8984):s.language.translate("Ctrl")+"+")+(n.shift?s.helpers.isMac()?String.fromCharCode(8679):s.language.translate("Shift")+"+":"")+(n.option?s.helpers.isMac()?String.fromCharCode(8997):s.language.translate("Alt")+"+":"")+n.letter:null}}},M.FE.MODULES.snapshot=function(l){function n(e){for(var t=e.parentNode.childNodes,n=0,r=null,o=0;o<t.length;o++){if(r){var i=t[o].nodeType===Node.TEXT_NODE&&""===t[o].textContent,a=r.nodeType===Node.TEXT_NODE&&t[o].nodeType===Node.TEXT_NODE;i||a||n++}if(t[o]==e)return n;r=t[o]}}function o(e){var t=[];if(!e.parentNode)return[];for(;!l.node.isElement(e);)t.push(n(e)),e=e.parentNode;return t.reverse()}function i(e,t){for(;e&&e.nodeType===Node.TEXT_NODE;){var n=e.previousSibling;n&&n.nodeType==Node.TEXT_NODE&&(t+=n.textContent.length),e=n}return t}function d(e){for(var t=l.el,n=0;n<e.length;n++)t=t.childNodes[e[n]];return t}function r(e,t){try{var n=d(t.scLoc),r=t.scOffset,o=d(t.ecLoc),i=t.ecOffset,a=l.doc.createRange();a.setStart(n,r),a.setEnd(o,i),e.addRange(a)}catch(s){console.warn(s)}}return{get:function(){var e,t={};if(l.events.trigger("snapshot.before"),t.html=(l.$wp?l.$el.html():l.$oel.get(0).outerHTML).replace(/ style=""/g,""),t.ranges=[],l.$wp&&l.selection.inEditor()&&l.core.hasFocus())for(var n=l.selection.ranges(),r=0;r<n.length;r++)t.ranges.push({scLoc:o((e=n[r]).startContainer),scOffset:i(e.startContainer,e.startOffset),ecLoc:o(e.endContainer),ecOffset:i(e.endContainer,e.endOffset)});return l.events.trigger("snapshot.after",[t]),t},restore:function(e){l.$el.html()!=e.html&&(l.opts.htmlExecuteScripts?l.$el.html(e.html):l.el.innerHTML=e.html);var t=l.selection.get();l.selection.clear(),l.events.focus(!0);for(var n=0;n<e.ranges.length;n++)r(t,e.ranges[n])},equal:function(e,t){return e.html==t.html&&(!l.core.hasFocus()||JSON.stringify(e.ranges)==JSON.stringify(t.ranges))}}},M.FE.MODULES.undo=function(n){function e(e){var t=e.which;n.keys.ctrlKey(e)&&(90==t&&e.shiftKey&&e.preventDefault(),90==t&&e.preventDefault())}var t=null;function r(){if(!n.undo_stack||n.undoing)return!1;for(;n.undo_stack.length>n.undo_index;)n.undo_stack.pop()}function o(){t=(n.$wp?n.$el.html():n.$oel.get(0).outerHTML).replace(/ style=""/g,""),n.undo_index=0,n.undo_stack=[]}function i(){n.undo_stack=[]}return{_init:function(){o(),n.events.on("initialized",function(){t=(n.$wp?n.$el.html():n.$oel.get(0).outerHTML).replace(/ style=""/g,"")}),n.events.on("blur",function(){n.el.querySelector(".fr-dragging")||n.undo.saveStep()}),n.events.on("keydown",e),n.events.on("destroy",i)},run:function(){if(1<n.undo_index){n.undoing=!0;var e=n.undo_stack[--n.undo_index-1];clearTimeout(n._content_changed_timer),n.snapshot.restore(e),t=e.html,n.popups.hideAll(),n.toolbar.enable(),n.events.trigger("contentChanged"),n.events.trigger("commands.undo"),n.undoing=!1}},redo:function(){if(n.undo_index<n.undo_stack.length){n.undoing=!0;var e=n.undo_stack[n.undo_index++];clearTimeout(n._content_changed_timer),n.snapshot.restore(e),t=e.html,n.popups.hideAll(),n.toolbar.enable(),n.events.trigger("contentChanged"),n.events.trigger("commands.redo"),n.undoing=!1}},canDo:function(){return!(0===n.undo_stack.length||n.undo_index<=1)},canRedo:function(){return n.undo_index!=n.undo_stack.length},dropRedo:r,reset:o,saveStep:function(e){if(!n.undo_stack||n.undoing||n.el.querySelector(".fr-marker"))return!1;void 0===e?(e=n.snapshot.get(),n.undo_stack[n.undo_index-1]&&n.snapshot.equal(n.undo_stack[n.undo_index-1],e)||(r(),n.undo_stack.push(e),n.undo_index++,e.html!=t&&(n.events.trigger("contentChanged"),t=e.html))):(r(),0<n.undo_index?n.undo_stack[n.undo_index-1]=e:(n.undo_stack.push(e),n.undo_index++))}}},M.FE.ICON_TEMPLATES={font_awesome:'<i class="fa fa-[NAME]" aria-hidden="true"></i>',font_awesome_5:'<i class="fas fa-[FA5NAME]" aria-hidden="true"></i>',font_awesome_5r:'<i class="far fa-[FA5NAME]" aria-hidden="true"></i>',font_awesome_5l:'<i class="fal fa-[FA5NAME]" aria-hidden="true"></i>',font_awesome_5b:'<i class="fab fa-[FA5NAME]" aria-hidden="true"></i>',text:'<span style="text-align: center;">[NAME]</span>',image:"<img src=[SRC] alt=[ALT] />",svg:'<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">[PATH]</svg>',empty:" "},M.FE.ICONS={bold:{NAME:"bold"},italic:{NAME:"italic"},underline:{NAME:"underline"},strikeThrough:{NAME:"strikethrough"},subscript:{NAME:"subscript"},superscript:{NAME:"superscript"},color:{NAME:"tint"},outdent:{NAME:"outdent"},indent:{NAME:"indent"},undo:{NAME:"rotate-left",FA5NAME:"undo"},redo:{NAME:"rotate-right",FA5NAME:"redo"},insertHR:{NAME:"minus"},clearFormatting:{NAME:"eraser"},selectAll:{NAME:"mouse-pointer"}},M.FE.DefineIconTemplate=function(e,t){M.FE.ICON_TEMPLATES[e]=t},M.FE.DefineIcon=function(e,t){M.FE.ICONS[e]=t},M.extend(M.FE.DEFAULTS,{iconsTemplate:"font_awesome"}),M.FE.MODULES.icon=function(o){return{create:function(n){var e=null,r=M.FE.ICONS[n];if(void 0!==r){var t=r.template||M.FE.ICON_DEFAULT_TEMPLATE||o.opts.iconsTemplate;t&&t.apply&&(t=t.apply(o)),r.FA5NAME||(r.FA5NAME=r.NAME),t&&(t=M.FE.ICON_TEMPLATES[t])&&(e=t.replace(/\[([a-zA-Z0-9]*)\]/g,function(e,t){return"NAME"==t?r[t]||n:r[t]}))}return e||n},getTemplate:function(e){var t=M.FE.ICONS[e],n=o.opts.iconsTemplate;return void 0!==t?n=t.template||M.FE.ICON_DEFAULT_TEMPLATE||o.opts.iconsTemplate:n}}},M.extend(M.FE.DEFAULTS,{tooltips:!0}),M.FE.MODULES.tooltip=function(o){function r(){if(o.helpers.isMobile())return!1;o.$tooltip&&o.$tooltip.removeClass("fr-visible").css("left","-3000px").css("position","fixed")}function i(e,t){if(o.helpers.isMobile())return!1;if(e.data("title")||e.data("title",e.attr("title")),!e.data("title"))return!1;o.$tooltip||o.opts.tooltips&&!o.helpers.isMobile()&&(o.shared.$tooltip?o.$tooltip=o.shared.$tooltip:(o.shared.$tooltip=M('<div class="fr-tooltip"></div>'),o.$tooltip=o.shared.$tooltip,o.opts.theme&&o.$tooltip.addClass(o.opts.theme+"-theme"),M(o.o_doc).find("body:first").append(o.$tooltip)),o.events.on("shared.destroy",function(){o.$tooltip.html("").removeData().remove(),o.$tooltip=null},!0)),e.removeAttr("title"),o.$tooltip.text(o.language.translate(e.data("title"))),o.$tooltip.addClass("fr-visible");var n=e.offset().left+(e.outerWidth()-o.$tooltip.outerWidth())/2;n<0&&(n=0),n+o.$tooltip.outerWidth()>M(o.o_win).width()&&(n=M(o.o_win).width()-o.$tooltip.outerWidth()),void 0===t&&(t=o.opts.toolbarBottom);var r=t?e.offset().top-o.$tooltip.height():e.offset().top+e.outerHeight();o.$tooltip.css("position",""),o.$tooltip.css("left",n),o.$tooltip.css("top",Math.ceil(r)),"static"!=M(o.o_doc).find("body:first").css("position")?(o.$tooltip.css("margin-left",-M(o.o_doc).find("body:first").offset().left),o.$tooltip.css("margin-top",-M(o.o_doc).find("body:first").offset().top)):(o.$tooltip.css("margin-left",""),o.$tooltip.css("margin-top",""))}return{hide:r,to:i,bind:function(e,t,n){o.opts.tooltips&&!o.helpers.isMobile()&&(o.events.$on(e,"mouseenter",t,function(e){o.node.hasClass(e.currentTarget,"fr-disabled")||o.edit.isDisabled()||i(M(e.currentTarget),n)},!0),o.events.$on(e,"mouseleave "+o._mousedown+" "+o._mouseup,t,function(){r()},!0))}}},M.FE.MODULES.button=function(u){var a=[];(u.opts.toolbarInline||u.opts.toolbarContainer)&&(u.shared.buttons||(u.shared.buttons=[]),a=u.shared.buttons);var s=[];function l(e,t,n){for(var r=M(),o=0;o<e.length;o++){var i=M(e[o]);if(i.is(t)&&(r=r.add(i)),n&&i.is(".fr-dropdown")){var a=i.next().find(t);r=r.add(a)}}return r}function d(e,t){var n,r=M();if(!e)return r;for(n in r=(r=r.add(l(a,e,t))).add(l(s,e,t)),u.shared.popups)if(u.shared.popups.hasOwnProperty(n)){var o=u.shared.popups[n].children().find(e);r=r.add(o)}for(n in u.shared.modals)if(u.shared.modals.hasOwnProperty(n)){var i=u.shared.modals[n].$modal.find(e);r=r.add(i)}return r}function r(e){e.addClass("fr-blink"),setTimeout(function(){e.removeClass("fr-blink")},500);for(var t=e.data("cmd"),n=[];void 0!==e.data("param"+(n.length+1));)n.push(e.data("param"+(n.length+1)));var r=d(".fr-dropdown.fr-active");r.length&&(r.removeClass("fr-active").attr("aria-expanded",!1).next().attr("aria-hidden",!0),r.prev(".fr-expanded").removeClass("fr-expanded"),r.parent(".fr-toolbar:not(.fr-inline)").css("zIndex","")),e.parents(".fr-popup, .fr-toolbar").data("instance").commands.exec(t,n)}function t(e){var t=e.parents(".fr-popup, .fr-toolbar").data("instance");if(0!==e.parents(".fr-popup").length||e.data("popup")||t.popups.hideAll(),t.popups.areVisible()&&!t.popups.areVisible(t)){for(var n=0;n<M.FE.INSTANCES.length;n++)M.FE.INSTANCES[n]!=t&&M.FE.INSTANCES[n].popups&&M.FE.INSTANCES[n].popups.areVisible()&&M.FE.INSTANCES[n].$el.find(".fr-marker").remove();t.popups.hideAll()}u.node.hasClass(e.get(0),"fr-dropdown")?function(e){var t=e.next(),n=u.node.hasClass(e.get(0),"fr-active"),r=d(".fr-dropdown.fr-active").not(e),o=e.parents(".fr-toolbar, .fr-popup").data("instance")||u;if(o.helpers.isIOS()&&!o.el.querySelector(".fr-marker")&&(o.selection.save(),o.selection.clear(),o.selection.restore()),!n){var i=e.data("cmd");t.find(".fr-command").removeClass("fr-active").attr("aria-selected",!1),M.FE.COMMANDS[i]&&M.FE.COMMANDS[i].refreshOnShow&&M.FE.COMMANDS[i].refreshOnShow.apply(o,[e,t]),t.css("left",e.offset().left-e.parent().offset().left-("rtl"==u.opts.direction?t.width()-e.outerWidth():0)),t.addClass("test-height");var a=t.outerHeight();t.removeClass("test-height"),t.css("top","").css("bottom",""),!u.opts.toolbarBottom&&t.offset().top+e.outerHeight()+a<M(u.o_doc).height()?t.css("top",e.position().top+e.outerHeight()):t.css("bottom",e.parents(".fr-popup, .fr-toolbar").first().height()-e.position().top)}e.addClass("fr-blink").toggleClass("fr-active"),e.hasClass("fr-options")&&e.prev().toggleClass("fr-expanded"),e.hasClass("fr-active")?(t.attr("aria-hidden",!1),e.attr("aria-expanded",!0)):(t.attr("aria-hidden",!0),e.attr("aria-expanded",!1)),setTimeout(function(){e.removeClass("fr-blink")},300),t.css("margin-left",""),t.offset().left+t.outerWidth()>u.$sc.offset().left+u.$sc.width()&&t.css("margin-left",-(t.offset().left+t.outerWidth()-u.$sc.offset().left-u.$sc.width())),t.offset().left<u.$sc.offset().left&&"rtl"==u.opts.direction&&t.css("margin-left",u.$sc.offset().left),r.removeClass("fr-active").attr("aria-expanded",!1).next().attr("aria-hidden",!0),r.prev(".fr-expanded").removeClass("fr-expanded"),r.parent(".fr-toolbar:not(.fr-inline)").css("zIndex",""),0!==e.parents(".fr-popup").length||u.opts.toolbarInline||(u.node.hasClass(e.get(0),"fr-active")?u.$tb.css("zIndex",(u.opts.zIndex||1)+4):u.$tb.css("zIndex",""));var s=t.find("a.fr-command.fr-active:first");u.helpers.isMobile()||(s.length?u.accessibility.focusToolbarElement(s):u.accessibility.focusToolbarElement(e))}(e):(r(e),M.FE.COMMANDS[e.data("cmd")]&&!1!==M.FE.COMMANDS[e.data("cmd")].refreshAfterCallback&&t.button.bulkRefresh())}function i(e){t(M(e.currentTarget))}function c(e){var t=e.find(".fr-dropdown.fr-active");t.length&&(t.removeClass("fr-active").attr("aria-expanded",!1).next().attr("aria-hidden",!0),t.parent(".fr-toolbar:not(.fr-inline)").css("zIndex",""),t.prev().removeClass("fr-expanded"))}function f(e){e.preventDefault(),e.stopPropagation()}function p(e){if(e.stopPropagation(),!u.helpers.isMobile())return!1}function g(e,t,n){if(t=M.extend(!0,{},t),u.helpers.isMobile()&&!1===t.showOnMobile)return"";var r=t.displaySelection;"function"==typeof r&&(r=r(u));var o="";if("options"!==t.type)if(r){var i="function"==typeof t.defaultSelection?t.defaultSelection(u):t.defaultSelection;o='<span style="width:'+(t.displaySelectionWidth||100)+'px">'+u.language.translate(i||t.title)+"</span>"}else o=u.icon.create(t.icon||e),o+='<span class="fr-sr-only">'+(u.language.translate(t.title)||"")+"</span>";var a=t.popup?' data-popup="true"':"",s=t.modal?' data-modal="true"':"",l=u.shortcuts.get(e+".");l=l?" ("+l+")":"";var d=e+"-"+u.id,c="dropdown-menu-"+d,f='<button id="'+d+'"type="button" tabIndex="-1" role="button"'+(t.toggle?' aria-pressed="false"':"")+("dropdown"==t.type||"options"==t.type?' aria-controls="'+c+'" aria-expanded="false" aria-haspopup="true"':"")+(t.disabled?' aria-disabled="true"':"")+' title="'+(u.language.translate(t.title)||"")+l+'" class="fr-command fr-btn'+("dropdown"==t.type||"options"==t.type?" fr-dropdown":"")+("options"==t.type?" fr-options":"")+" fr-btn-"+u.icon.getTemplate(t.icon)+(t.displaySelection?" fr-selection":"")+(t.back?" fr-back":"")+(t.disabled?" fr-disabled":"")+(n?"":" fr-hidden")+'" data-cmd="'+e+'"'+a+s+">"+o+"</button>";if("dropdown"==t.type||"options"==t.type){var p='<div id="'+c+'" class="fr-dropdown-menu" role="listbox" aria-labelledby="'+d+'" aria-hidden="true"><div class="fr-dropdown-wrapper" role="presentation"><div class="fr-dropdown-content" role="presentation">';p+=function(e,t){var n="";if(t.html)"function"==typeof t.html?n+=t.html.call(u):n+=t.html;else{var r=t.options;for(var o in"function"==typeof r&&(r=r()),n+='<ul class="fr-dropdown-list" role="presentation">',r)if(r.hasOwnProperty(o)){var i=u.shortcuts.get(e+"."+o);i=i?'<span class="fr-shortcut">'+i+"</span>":"",n+='<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="'+("options"===t.type?e.replace(/Options/g,""):e)+'" data-param1="'+o+'" title="'+r[o]+'">'+u.language.translate(r[o])+"</a></li>"}n+="</ul>"}return n}(e,t),f+=p+="</div></div></div>"}return t.hasOptions&&t.hasOptions.apply(u)&&(t.type="options",t.hasOptions=!1,f='<div class="fr-btn-wrap">'+f+g(e+"Options",t,n)+"</div>"),f}function e(o){var i=u.$tb&&u.$tb.data("instance")||u;if(!1===u.events.trigger("buttons.refresh"))return!0;setTimeout(function(){for(var e=i.selection.inEditor()&&i.core.hasFocus(),t=0;t<o.length;t++){var n=M(o[t]),r=n.data("cmd");0===n.parents(".fr-popup").length?e||M.FE.COMMANDS[r]&&M.FE.COMMANDS[r].forcedRefresh?i.button.refresh(n):u.node.hasClass(n.get(0),"fr-dropdown")||(n.removeClass("fr-active"),n.attr("aria-pressed")&&n.attr("aria-pressed",!1)):n.parents(".fr-popup").is(":visible")&&i.button.refresh(n)}},0)}function n(){e(a),e(s)}function o(){a=[],s=[]}u.shared.popup_buttons||(u.shared.popup_buttons=[]),s=u.shared.popup_buttons;var h=null;function m(){clearTimeout(h),h=setTimeout(n,50)}return{_init:function(){u.opts.toolbarInline?u.events.on("toolbar.show",n):(u.events.on("mouseup",m),u.events.on("keyup",m),u.events.on("blur",m),u.events.on("focus",m),u.events.on("contentChanged",m),u.helpers.isMobile()&&u.events.$on(u.$doc,"selectionchange",n)),u.events.on("shared.destroy",o)},buildList:function(e,t){for(var n="",r=0;r<e.length;r++){var o=e[r],i=M.FE.COMMANDS[o];i&&"undefined"!=typeof i.plugin&&u.opts.pluginsEnabled.indexOf(i.plugin)<0||(i?n+=g(o,i,void 0===t||0<=t.indexOf(o)):"|"==o?n+='<div class="fr-separator fr-vs" role="separator" aria-orientation="vertical"></div>':"-"==o&&(n+='<div class="fr-separator fr-hs" role="separator" aria-orientation="horizontal"></div>'))}return n},bindCommands:function(t,e){u.events.bindClick(t,".fr-command:not(.fr-disabled)",i),u.events.$on(t,u._mousedown+" "+u._mouseup+" "+u._move,".fr-dropdown-menu",f,!0),u.events.$on(t,u._mousedown+" "+u._mouseup+" "+u._move,".fr-dropdown-menu .fr-dropdown-wrapper",p,!0);var n=t.get(0).ownerDocument,r="defaultView"in n?n.defaultView:n.parentWindow,o=function(e){(!e||e.type==u._mouseup&&e.target!=M("html").get(0)||"keydown"==e.type&&(u.keys.isCharacter(e.which)&&!u.keys.ctrlKey(e)||e.which==M.FE.KEYCODE.ESC))&&c(t)};u.events.$on(M(r),u._mouseup+" resize keydown",o,!0),u.opts.iframe&&u.events.$on(u.$win,u._mouseup,o,!0),u.node.hasClass(t.get(0),"fr-popup")?M.merge(s,t.find(".fr-btn").toArray()):M.merge(a,t.find(".fr-btn").toArray()),u.tooltip.bind(t,".fr-btn, .fr-title",e)},refresh:function(e){var t,n=e.parents(".fr-popup, .fr-toolbar").data("instance")||u,r=e.data("cmd");u.node.hasClass(e.get(0),"fr-dropdown")?t=e.next():(e.removeClass("fr-active"),e.attr("aria-pressed")&&e.attr("aria-pressed",!1)),M.FE.COMMANDS[r]&&M.FE.COMMANDS[r].refresh?M.FE.COMMANDS[r].refresh.apply(n,[e,t]):u.refresh[r]&&n.refresh[r](e,t)},bulkRefresh:n,exec:r,click:t,hideActiveDropdowns:c,getButtons:d}},M.FE.MODULES.modals=function(l){l.shared.modals||(l.shared.modals={});var s,d=l.shared.modals;function e(){for(var e in d){var t=d[e];t&&t.$modal&&t.$modal.removeData().remove()}s&&s.removeData().remove(),d={}}function c(e,t){if(d[e]){var n=d[e].$modal,r=n.data("instance")||l;r.events.enableBlur(),n.hide(),s.hide(),M(r.o_doc).find("body:first").removeClass("prevent-scroll fr-mobile"),n.removeClass("fr-active"),t||(r.accessibility.restoreSelection(),r.events.trigger("modals.hide"))}}function n(e){var t;if("string"==typeof e){if(!d[e])return;t=d[e].$modal}else t=e;return t&&l.node.hasClass(t,"fr-active")&&l.core.sameInstance(t)||!1}return{_init:function(){l.events.on("shared.destroy",e,!0)},get:function(e){return d[e]},create:function(n,e,t){if(l.shared.$overlay||(l.shared.$overlay=M('<div class="fr-overlay">').appendTo("body:first")),s=l.shared.$overlay,l.opts.theme&&s.addClass(l.opts.theme+"-theme"),!d[n]){var r=(o=e,i=t,a='<div tabIndex="-1" class="fr-modal'+(l.opts.theme?" "+l.opts.theme+"-theme":"")+'"><div class="fr-modal-wrapper">',a+='<div class="fr-modal-head">'+o+'<i title="'+l.language.translate("Cancel")+'" class="fa fa-times fr-modal-close"></i></div>',a+='<div tabIndex="-1" class="fr-modal-body">'+i+"</div>",M(a+="</div></div>"));d[n]={$modal:r,$head:r.find(".fr-modal-head"),$body:r.find(".fr-modal-body")},l.helpers.isMobile()||r.addClass("fr-desktop"),r.appendTo("body:first"),l.events.$on(r,"click",".fr-modal-close",function(){c(n)},!0),d[n].$body.css("margin-top",d[n].$head.outerHeight()),l.events.$on(r,"keydown",function(e){var t=e.which;return t==M.FE.KEYCODE.ESC?(c(n),l.accessibility.focusModalButton(r),!1):!(!M(e.target).is("input[type=text], textarea")&&t!=M.FE.KEYCODE.ARROW_UP&&t!=M.FE.KEYCODE.ARROW_DOWN&&!l.keys.isBrowserAction(e)&&(e.preventDefault(),e.stopPropagation(),1))},!0),c(n,!0)}var o,i,a;return d[n]},show:function(e){if(d[e]){var t=d[e].$modal;t.data("instance",l),t.show(),s.show(),M(l.o_doc).find("body:first").addClass("prevent-scroll"),l.helpers.isMobile()&&M(l.o_doc).find("body:first").addClass("fr-mobile"),t.addClass("fr-active"),l.accessibility.focusModal(t)}},hide:c,resize:function(e){if(d[e]){var t=d[e],n=t.$modal,r=t.$body,o=M(l.o_win).height(),i=n.find(".fr-modal-wrapper"),a=o-i.outerHeight(!0)+(i.height()-(r.outerHeight(!0)-r.height())),s="auto";a<r.get(0).scrollHeight&&(s=a),r.height(s)}},isVisible:n,areVisible:function(e){for(var t in d)if(d.hasOwnProperty(t)&&n(t)&&(void 0===e||d[t].$modal.data("instance")==e))return d[t].$modal;return!1}}},M.FE.POPUP_TEMPLATES={"text.edit":"[_EDIT_]"},M.FE.RegisterTemplate=function(e,t){M.FE.POPUP_TEMPLATES[e]=t},M.FE.MODULES.popups=function(c){c.shared.popups||(c.shared.popups={});var f=c.shared.popups;function p(e,t){t.is(":visible")||(t=c.$sc),t.is(f[e].data("container"))||(f[e].data("container",t),t.append(f[e]))}function u(e){return f[e]&&c.node.hasClass(f[e],"fr-active")&&c.core.sameInstance(f[e])||!1}function g(e){for(var t in f)if(f.hasOwnProperty(t)&&u(t)&&(void 0===e||f[t].data("instance")==e))return f[t];return!1}function n(e){var t=null;(t="string"!=typeof e?e:f[e])&&c.node.hasClass(t,"fr-active")&&(t.removeClass("fr-active fr-above"),c.events.trigger("popups.hide."+e),c.$tb&&(1<c.opts.zIndex?c.$tb.css("zIndex",c.opts.zIndex+1):c.$tb.css("zIndex","")),c.events.disableBlur(),t.find("input, textarea, button").filter(":focus").blur(),t.find("input, textarea").attr("disabled","disabled"))}function h(e){for(var t in void 0===e&&(e=[]),f)f.hasOwnProperty(t)&&e.indexOf(t)<0&&n(t)}function t(){c.shared.exit_flag=!0}function m(){c.shared.exit_flag=!1}function i(){return c.shared.exit_flag}function o(e,t){var n,r,o=function(e,t){var n=M.FE.POPUP_TEMPLATES[e];if(!n)return null;for(var r in"function"==typeof n&&(n=n.apply(c)),t)t.hasOwnProperty(r)&&(n=n.replace("[_"+r.toUpperCase()+"_]",t[r]));return n}(e,t);return o?(n=M('<div class="fr-popup'+(c.helpers.isMobile()?" fr-mobile":" fr-desktop")+(c.opts.toolbarInline?" fr-inline":"")+'"><span class="fr-arrow"></span>'+o+"</div>"),c.opts.theme&&n.addClass(c.opts.theme+"-theme"),1<c.opts.zIndex&&(c.opts.editInPopup?n.css("z-index",c.opts.zIndex+2):c.$tb.css("z-index",c.opts.zIndex+2)),"auto"!=c.opts.direction&&n.removeClass("fr-ltr fr-rtl").addClass("fr-"+c.opts.direction),n.find("input, textarea").attr("dir",c.opts.direction).attr("disabled","disabled"),(r=M("body:first")).append(n),n.data("container",r),f[e]=n,c.button.bindCommands(n,!1),n):(n=M('<div class="fr-popup fr-empty"></div>'),(r=M("body:first")).append(n),n.data("container",r),f[e]=n)}function E(r){var o=f[r];return{_windowResize:function(){var e=o.data("instance")||c;!e.helpers.isMobile()&&o.is(":visible")&&(e.events.disableBlur(),e.popups.hide(r),e.events.enableBlur())},_inputFocus:function(e){var t=o.data("instance")||c,n=M(e.currentTarget);if(n.is("input:file")&&n.closest(".fr-layer").addClass("fr-input-focus"),e.preventDefault(),e.stopPropagation(),setTimeout(function(){t.events.enableBlur()},c.browser.msie?100:0),t.helpers.isMobile()){var r=M(t.o_win).scrollTop();setTimeout(function(){M(t.o_win).scrollTop(r)},0)}},_inputBlur:function(e){var t=o.data("instance")||c,n=M(e.currentTarget);n.is("input:file")&&n.closest(".fr-layer").removeClass("fr-input-focus"),document.activeElement!=this&&M(this).is(":visible")&&(t.events.blurActive()&&t.events.trigger("blur"),t.events.enableBlur())},_editorKeydown:function(e){var t=o.data("instance")||c;t.keys.ctrlKey(e)||e.which==M.FE.KEYCODE.ALT||e.which==M.FE.KEYCODE.ESC||(u(r)&&o.find(".fr-back:visible").length?t.button.exec(o.find(".fr-back:visible:first")):e.which!=M.FE.KEYCODE.ALT&&t.popups.hide(r))},_preventFocus:function(e){var t=o.data("instance")||c,n=e.originalEvent?e.originalEvent.target||e.originalEvent.originalTarget:null;"mouseup"==e.type||M(n).is(":focus")||t.events.disableBlur(),"mouseup"!=e.type||M(n).hasClass("fr-command")||0<M(n).parents(".fr-command").length||M(n).hasClass("fr-dropdown-content")||c.button.hideActiveDropdowns(o),(c.browser.safari||c.browser.mozilla)&&"mousedown"==e.type&&M(n).is("input[type=file]")&&t.events.disableBlur();var r="input, textarea, button, select, label, .fr-command";if(n&&!M(n).is(r)&&0===M(n).parents(r).length)return e.stopPropagation(),!1;n&&M(n).is(r)&&e.stopPropagation(),m()},_editorMouseup:function(){o.is(":visible")&&i()&&0<o.find("input:focus, textarea:focus, button:focus, select:focus").filter(":visible").length&&c.events.disableBlur()},_windowMouseup:function(e){if(!c.core.sameInstance(o))return!0;var t=o.data("instance")||c;o.is(":visible")&&i()&&(e.stopPropagation(),t.markers.remove(),t.popups.hide(r),m())},_windowKeydown:function(e){if(!c.core.sameInstance(o))return!0;var t=o.data("instance")||c,n=e.which;if(M.FE.KEYCODE.ESC==n){if(t.popups.isVisible(r)&&t.opts.toolbarInline)return e.stopPropagation(),t.popups.isVisible(r)&&(o.find(".fr-back:visible").length?(t.button.exec(o.find(".fr-back:visible:first")),t.accessibility.focusPopupButton(o)):o.find(".fr-dismiss:visible").length?t.button.exec(o.find(".fr-dismiss:visible:first")):(t.popups.hide(r),t.toolbar.showInline(null,!0),t.accessibility.FocusPopupButton(o))),!1;if(t.popups.isVisible(r))return o.find(".fr-back:visible").length?(t.button.exec(o.find(".fr-back:visible:first")),t.accessibility.focusPopupButton(o)):o.find(".fr-dismiss:visible").length?t.button.exec(o.find(".fr-dismiss:visible:first")):(t.popups.hide(r),t.accessibility.focusPopupButton(o)),!1}},_doPlaceholder:function(){0===M(this).next().length&&M(this).attr("placeholder")&&M(this).after('<label for="'+M(this).attr("id")+'">'+M(this).attr("placeholder")+"</label>"),M(this).toggleClass("fr-not-empty",""!==M(this).val())},_repositionPopup:function(){if(!c.opts.height&&!c.opts.heightMax||c.opts.toolbarInline)return!0;if(c.$wp&&u(r)&&o.parent().get(0)==c.$sc.get(0)){var e=o.offset().top-c.$wp.offset().top,t=c.$wp.outerHeight();c.node.hasClass(o.get(0),"fr-above")&&(e+=o.outerHeight()),t<e||e<0?o.addClass("fr-hidden"):o.removeClass("fr-hidden")}}}}function a(e,t){c.events.on("mouseup",e._editorMouseup,!0),c.$wp&&c.events.on("keydown",e._editorKeydown),c.events.on("blur",function(){g()&&c.markers.remove(),h()}),c.$wp&&!c.helpers.isMobile()&&c.events.$on(c.$wp,"scroll.popup"+t,e._repositionPopup),c.events.on("window.mouseup",e._windowMouseup,!0),c.events.on("window.keydown",e._windowKeydown,!0),f[t].data("inst"+c.id,!0),c.events.on("destroy",function(){c.core.sameInstance(f[t])&&f[t].removeClass("fr-active").appendTo("body:first")},!0)}function e(){for(var e in f)if(f.hasOwnProperty(e)){var t=f[e];t&&(t.html("").removeData().remove(),f[e]=null)}f=[]}return c.shared.exit_flag=!1,{_init:function(){c.events.on("shared.destroy",e,!0),c.events.on("window.mousedown",t),c.events.on("window.touchmove",m),c.events.$on(M(c.o_win),"scroll",m),c.events.on("mousedown",function(e){g()&&(e.stopPropagation(),c.$el.find(".fr-marker").remove(),t(),c.events.disableBlur())})},create:function(e,t){var n=o(e,t),r=E(e);return a(r,e),c.events.$on(n,"mousedown mouseup touchstart touchend touch","*",r._preventFocus,!0),c.events.$on(n,"focus","input, textarea, button, select",r._inputFocus,!0),c.events.$on(n,"blur","input, textarea, button, select",r._inputBlur,!0),c.accessibility.registerPopup(e),c.events.$on(n,"keydown keyup change input","input, textarea",r._doPlaceholder,!0),c.helpers.isIOS()&&c.events.$on(n,"touchend","label",function(){M("#"+M(this).attr("for")).prop("checked",function(e,t){return!t})},!0),c.events.$on(M(c.o_win),"resize",r._windowResize,!0),n},get:function(e){var t=f[e];return t&&!t.data("inst"+c.id)&&a(E(e),e),t},show:function(e,t,n,r){if(u(e)||(g()&&0<c.$el.find(".fr-marker").length?(c.events.disableBlur(),c.selection.restore()):g()||(c.events.disableBlur(),c.events.focus(),c.events.enableBlur())),h([e]),!f[e])return!1;var o=c.button.getButtons(".fr-dropdown.fr-active");o.removeClass("fr-active").attr("aria-expanded",!1).parent(".fr-toolbar").css("zIndex",""),o.next().attr("aria-hidden",!0),f[e].data("instance",c),c.$tb&&c.$tb.data("instance",c);var i=f[e].outerWidth(),a=u(e);f[e].addClass("fr-active").removeClass("fr-hidden").find("input, textarea").removeAttr("disabled");var s,l,d=f[e].data("container");s=e,(l=d).is(":visible")||(l=c.$sc),0===l.find([f[s]]).length&&l.append(f[s]),c.opts.toolbarInline&&d&&c.$tb&&d.get(0)==c.$tb.get(0)&&(p(e,c.$sc),n=c.$tb.offset().top-c.helpers.getPX(c.$tb.css("margin-top")),t=c.$tb.offset().left+c.$tb.outerWidth()/2+(parseFloat(c.$tb.find(".fr-arrow").css("margin-left"))||0)+c.$tb.find(".fr-arrow").outerWidth()/2,c.node.hasClass(c.$tb.get(0),"fr-above")&&n&&(n+=c.$tb.outerHeight()),r=0),d=f[e].data("container"),!c.opts.iframe||r||a||(t&&(t-=c.$iframe.offset().left),n&&(n-=c.$iframe.offset().top)),d.is(c.$tb)?c.$tb.css("zIndex",(c.opts.zIndex||1)+4):f[e].css("zIndex",(c.opts.zIndex||1)+4),t&&(t-=i/2),c.opts.toolbarBottom&&d&&c.$tb&&d.get(0)==c.$tb.get(0)&&(f[e].addClass("fr-above"),n&&(n-=f[e].outerHeight())),f[e].removeClass("fr-active"),c.position.at(t,n,f[e],r||0),f[e].addClass("fr-active"),a||c.accessibility.focusPopup(f[e]),c.opts.toolbarInline&&c.toolbar.hide(),c.events.trigger("popups.show."+e),E(e)._repositionPopup(),m()},hide:n,onHide:function(e,t){c.events.on("popups.hide."+e,t)},hideAll:h,setContainer:p,refresh:function(e){f[e].data("instance",c),c.events.trigger("popups.refresh."+e);for(var t=f[e].find(".fr-command"),n=0;n<t.length;n++){var r=M(t[n]);0===r.parents(".fr-dropdown-menu").length&&c.button.refresh(r)}},onRefresh:function(e,t){c.events.on("popups.refresh."+e,t)},onShow:function(e,t){c.events.on("popups.show."+e,t)},isVisible:u,areVisible:g}},M.FE.MODULES.position=function(E){function o(){var e=E.selection.ranges(0).getBoundingClientRect();if(0===e.top&&0===e.left&&0===e.width||0===e.height){var t=!1;0===E.$el.find(".fr-marker").length&&(E.selection.save(),t=!0);var n=E.$el.find(".fr-marker:first");n.css("display","inline"),n.css("line-height","");var r=n.offset(),o=n.outerHeight();n.css("display","none"),n.css("line-height",0),(e={}).left=r.left,e.width=0,e.height=o,e.top=r.top-(E.helpers.isMobile()&&!E.helpers.isIOS()||E.opts.iframe?0:E.helpers.scrollTop()),e.right=1,e.bottom=1,e.ok=!0,t&&E.selection.restore()}return e}function i(e,t,n,r){var o=n.data("container");!o||"BODY"===o.get(0).tagName&&"static"==o.css("position")||(e&&(e-=o.offset().left),t&&(t-=o.offset().top),"BODY"!=o.get(0).tagName?(e&&(e+=o.get(0).scrollLeft),t&&(t+=o.get(0).scrollTop)):"absolute"==o.css("position")&&(e&&(e+=o.position().left),t&&(t+=o.position().top))),E.opts.iframe&&o&&E.$tb&&o.get(0)!=E.$tb.get(0)&&(e&&(e+=E.$iframe.offset().left),t&&(t+=E.$iframe.offset().top));var i,a,s=(i=e,a=n.outerWidth(!0),i+a>E.$sc.get(0).clientWidth-10&&(i=E.$sc.get(0).clientWidth-a-10),i<0&&(i=10),i);if(e){n.css("left",s);var l=n.data("fr-arrow");l||(l=n.find(".fr-arrow"),n.data("fr-arrow",l)),l.data("margin-left")||l.data("margin-left",E.helpers.getPX(l.css("margin-left"))),l.css("margin-left",e-s+l.data("margin-left"))}t&&n.css("top",function(e,t,n){var r=e.outerHeight(!0);if(!E.helpers.isMobile()&&E.$tb&&e.parent().get(0)!=E.$tb.get(0)){var o=e.parent().offset().top,i=t-r-(n||0);e.parent().get(0)==E.$sc.get(0)&&(o-=e.parent().position().top);var a=E.$sc.get(0).clientHeight;o+t+r>E.$sc.offset().top+a&&0<e.parent().offset().top+i&&0<i?i>E.$wp.scrollTop()&&(t=i,e.addClass("fr-above")):e.removeClass("fr-above")}return t}(n,t,r))}function n(e){var n=M(e),t=n.is(".fr-sticky-on"),r=n.data("sticky-top"),o=n.data("sticky-scheduled");if(void 0===r){n.data("sticky-top",0);var i=M('<div class="fr-sticky-dummy" style="height: '+n.outerHeight()+'px;"></div>');E.$box.prepend(i)}else E.$box.find(".fr-sticky-dummy").css("height",n.outerHeight());if(E.core.hasFocus()||0<E.$tb.find("input:visible:focus").length){var a=E.helpers.scrollTop(),s=Math.min(Math.max(a-E.$tb.parent().offset().top,0),E.$tb.parent().outerHeight()-n.outerHeight());s!=r&&s!=o&&(clearTimeout(n.data("sticky-timeout")),n.data("sticky-scheduled",s),n.outerHeight()<a-E.$tb.parent().offset().top&&n.addClass("fr-opacity-0"),n.data("sticky-timeout",setTimeout(function(){var e=E.helpers.scrollTop(),t=Math.min(Math.max(e-E.$tb.parent().offset().top,0),E.$tb.parent().outerHeight()-n.outerHeight());0<t&&"BODY"==E.$tb.parent().get(0).tagName&&(t+=E.$tb.parent().position().top),t!=r&&(n.css("top",Math.max(t,0)),n.data("sticky-top",t),n.data("sticky-scheduled",t)),n.removeClass("fr-opacity-0")},100))),t||(n.css("top","0"),n.width(E.$tb.parent().width()),n.addClass("fr-sticky-on"),E.$box.addClass("fr-sticky-box"))}else clearTimeout(M(e).css("sticky-timeout")),n.css("top","0"),n.css("position",""),n.width(""),n.data("sticky-top",0),n.removeClass("fr-sticky-on"),E.$box.removeClass("fr-sticky-box")}function t(e){if(e.offsetWidth){var t,n,r=M(e),o=r.outerHeight(),i=r.data("sticky-position"),a=M("body"==E.opts.scrollableContainer?E.o_win:E.opts.scrollableContainer).outerHeight(),s=0,l=0;"body"!==E.opts.scrollableContainer&&(s=E.$sc.offset().top,l=M(E.o_win).outerHeight()-s-a);var d="body"==E.opts.scrollableContainer?E.helpers.scrollTop():s,c=r.is(".fr-sticky-on");r.data("sticky-parent")||r.data("sticky-parent",r.parent());var f=r.data("sticky-parent"),p=f.offset().top,u=f.outerHeight();if(r.data("sticky-offset")?E.$box.find(".fr-sticky-dummy").css("height",o+"px"):(r.data("sticky-offset",!0),r.after('<div class="fr-sticky-dummy" style="height: '+o+'px;"></div>')),!i){var g="auto"!==r.css("top")||"auto"!==r.css("bottom");g||r.css("position","fixed"),i={top:E.node.hasClass(r.get(0),"fr-top"),bottom:E.node.hasClass(r.get(0),"fr-bottom")},g||r.css("position",""),r.data("sticky-position",i),r.data("top",E.node.hasClass(r.get(0),"fr-top")?r.css("top"):"auto"),r.data("bottom",E.node.hasClass(r.get(0),"fr-bottom")?r.css("bottom"):"auto")}t=E.helpers.getPX(r.data("top")),n=E.helpers.getPX(r.data("bottom"));var h=i.top&&p<d+t&&d+t<=p+u-o&&(E.helpers.isInViewPort(E.$sc.get(0))||"body"==E.opts.scrollableContainer),m=i.bottom&&p+o<d+a-n&&d+a-n<p+u;h||m?(r.css("width",f.get(0).getBoundingClientRect().width+"px"),c||(r.addClass("fr-sticky-on"),r.removeClass("fr-sticky-off"),r.css("top")&&("auto"!=r.data("top")?r.css("top",E.helpers.getPX(r.data("top"))+s):r.data("top","auto")),r.css("bottom")&&("auto"!=r.data("bottom")?r.css("bottom",E.helpers.getPX(r.data("bottom"))+l):r.css("bottom","auto")))):E.node.hasClass(r.get(0),"fr-sticky-off")||(r.width(""),r.removeClass("fr-sticky-on"),r.addClass("fr-sticky-off"),r.css("top")&&"auto"!=r.data("top")&&i.top&&r.css("top",0),r.css("bottom")&&"auto"!=r.data("bottom")&&i.bottom&&r.css("bottom",0))}}function e(){if(E._stickyElements)for(var e=0;e<E._stickyElements.length;e++)t(E._stickyElements[e])}return{_init:function(){!function(){if(E._stickyElements=[],E.helpers.isIOS()){var t=function(){if(E.helpers.requestAnimationFrame()(t),!1!==E.events.trigger("position.refresh"))for(var e=0;e<E._stickyElements.length;e++)n(E._stickyElements[e])};t(),E.events.$on(M(E.o_win),"scroll",function(){if(E.core.hasFocus())for(var e=0;e<E._stickyElements.length;e++){var t=M(E._stickyElements[e]),n=t.parent(),r=E.helpers.scrollTop();t.outerHeight()<r-n.offset().top&&(t.addClass("fr-opacity-0"),t.data("sticky-top",-1),t.data("sticky-scheduled",-1))}},!0)}else"body"!==E.opts.scrollableContainer&&E.events.$on(M(E.opts.scrollableContainer),"scroll",e,!0),E.events.$on(M(E.o_win),"scroll",e,!0),E.events.$on(M(E.o_win),"resize",e,!0),E.events.on("initialized",e),E.events.on("focus",e),E.events.$on(M(E.o_win),"resize","textarea",e,!0);E.events.on("destroy",function(){E._stickyElements=[]})}()},forSelection:function(e){var t=o();e.css({top:0,left:0});var n=t.top+t.height,r=t.left+t.width/2-e.get(0).offsetWidth/2+E.helpers.scrollLeft();E.opts.iframe||(n+=E.helpers.scrollTop()),i(r,n,e,t.height)},addSticky:function(e){e.addClass("fr-sticky"),E.helpers.isIOS()&&e.addClass("fr-sticky-ios"),e.removeClass("fr-sticky"),E._stickyElements.push(e.get(0))},refresh:e,at:i,getBoundingRect:o}},M.FE.MODULES.refresh=function(o){function i(e,t){e.toggleClass("fr-disabled",t).attr("aria-disabled",t)}return{undo:function(e){i(e,!o.undo.canDo())},redo:function(e){i(e,!o.undo.canRedo())},outdent:function(e){if(o.node.hasClass(e.get(0),"fr-no-refresh"))return!1;for(var t=o.selection.blocks(),n=0;n<t.length;n++){var r="rtl"==o.opts.direction||"rtl"==M(t[n]).css("direction")?"margin-right":"margin-left";if("LI"==t[n].tagName||"LI"==t[n].parentNode.tagName)return i(e,!1),!0;if(0<o.helpers.getPX(M(t[n]).css(r)))return i(e,!1),!0}i(e,!0)},indent:function(e){if(o.node.hasClass(e.get(0),"fr-no-refresh"))return!1;for(var t=o.selection.blocks(),n=0;n<t.length;n++){for(var r=t[n].previousSibling;r&&r.nodeType==Node.TEXT_NODE&&0===r.textContent.length;)r=r.previousSibling;if("LI"!=t[n].tagName||r)return i(e,!1),!0;i(e,!0)}}}},M.extend(M.FE.DEFAULTS,{editInPopup:!1}),M.FE.MODULES.textEdit=function(n){function t(){n.events.$on(n.$el,n._mouseup,function(){setTimeout(function(){var e,t;t=n.popups.get("text.edit"),e="INPUT"===n.$el.prop("tagName")?n.$el.attr("placeholder"):n.$el.text(),t.find("input").val(e).trigger("change"),n.popups.setContainer("text.edit",n.$sc),n.popups.show("text.edit",n.$el.offset().left+n.$el.outerWidth()/2,n.$el.offset().top+n.$el.outerHeight(),n.$el.outerHeight())},10)})}return{_init:function(){var e;n.opts.editInPopup&&(e={edit:'<div id="fr-text-edit-'+n.id+'" class="fr-layer fr-text-edit-layer"><div class="fr-input-line"><input type="text" placeholder="'+n.language.translate("Text")+'" tabIndex="1"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="updateText" tabIndex="2">'+n.language.translate("Update")+"</button></div></div>"},n.popups.create("text.edit",e),t())},update:function(){var e=n.popups.get("text.edit").find("input").val();0===e.length&&(e=n.opts.placeholderText),"INPUT"===n.$el.prop("tagName")?n.$el.attr("placeholder",e):n.$el.text(e),n.events.trigger("contentChanged"),n.popups.hide("text.edit")}}},M.FE.RegisterCommand("updateText",{focus:!1,undo:!1,callback:function(){this.textEdit.update()}}),M.extend(M.FE.DEFAULTS,{toolbarBottom:!1,toolbarButtons:null,toolbarButtonsXS:null,toolbarButtonsSM:null,toolbarButtonsMD:null,toolbarContainer:null,toolbarInline:!1,toolbarSticky:!0,toolbarStickyOffset:0,toolbarVisibleWithoutSelection:!1}),M.FE.TOOLBAR_BUTTONS=["fullscreen","bold","italic","underline","strikeThrough","subscript","superscript","|","fontFamily","fontSize","color","inlineClass","inlineStyle","paragraphStyle","lineHeight","|","paragraphFormat","align","formatOL","formatUL","outdent","indent","quote","-","insertLink","insertImage","insertVideo","embedly","insertFile","insertTable","|","emoticons","fontAwesome","specialCharacters","insertHR","selectAll","clearFormatting","|","print","getPDF","spellChecker","help","html","|","undo","redo"],M.FE.TOOLBAR_BUTTONS_MD=null,M.FE.TOOLBAR_BUTTONS_SM=["bold","italic","underline","|","fontFamily","fontSize","insertLink","insertImage","table","|","undo","redo"],M.FE.TOOLBAR_BUTTONS_XS=["bold","italic","fontFamily","fontSize","|","undo","redo"],M.FE.MODULES.toolbar=function(o){var r=[];function i(e,t){for(var n=0;n<t.length;n++)"-"!=t[n]&&"|"!=t[n]&&e.indexOf(t[n])<0&&e.push(t[n])}function a(){var e=o.helpers.screenSize();return r[e]}function e(){var e=a();o.$tb.find(".fr-separator").remove(),o.$tb.find("> .fr-command, > div.fr-btn-wrap").addClass("fr-hidden");for(var t=0;t<e.length;t++)if("|"==e[t]||"-"==e[t])o.$tb.append(o.button.buildList([e[t]]));else{var n=o.$tb.find('> .fr-command[data-cmd="'+e[t]+'"], > div.fr-btn-wrap > .fr-command[data-cmd="'+e[t]+'"]'),r=null;o.node.hasClass(n.next().get(0),"fr-dropdown-menu")&&(r=n.next()),o.node.hasClass(n.next().get(0),"fr-options")&&(n=n.parent()),n.removeClass("fr-hidden").appendTo(o.$tb),r&&r.appendTo(o.$tb)}}function t(e,t){setTimeout(function(){if((!e||e.which!=M.FE.KEYCODE.ESC)&&o.selection.inEditor()&&o.core.hasFocus()&&!o.popups.areVisible()&&(o.opts.toolbarVisibleWithoutSelection||!o.selection.isCollapsed()&&!o.keys.isIME()||t)){if(o.$tb.data("instance",o),!1===o.events.trigger("toolbar.show",[e]))return!1;o.$tb.show(),o.opts.toolbarContainer||o.position.forSelection(o.$tb),1<o.opts.zIndex?o.$tb.css("z-index",o.opts.zIndex+1):o.$tb.css("z-index",null)}},0)}function n(e){return(!e||"blur"!==e.type||document.activeElement!==o.el)&&(!(!e||"keydown"!==e.type||!o.keys.ctrlKey(e))||(!!o.button.getButtons(".fr-dropdown.fr-active").next().find(o.o_doc.activeElement).length||void(!1!==o.events.trigger("toolbar.hide")&&o.$tb.hide())))}r[M.FE.XS]=o.opts.toolbarButtonsXS||o.opts.toolbarButtons||M.FE.TOOLBAR_BUTTONS_XS||M.FE.TOOLBAR_BUTTONS||[],r[M.FE.SM]=o.opts.toolbarButtonsSM||o.opts.toolbarButtons||M.FE.TOOLBAR_BUTTONS_SM||M.FE.TOOLBAR_BUTTONS||[],r[M.FE.MD]=o.opts.toolbarButtonsMD||o.opts.toolbarButtons||M.FE.TOOLBAR_BUTTONS_MD||M.FE.TOOLBAR_BUTTONS||[],r[M.FE.LG]=o.opts.toolbarButtons||M.FE.TOOLBAR_BUTTONS||[];var s=null;function l(e){clearTimeout(s),e&&e.which==M.FE.KEYCODE.ESC||(s=setTimeout(t,o.opts.typingTimer))}function d(){o.events.on("window.mousedown",n),o.events.on("keydown",n),o.events.on("blur",n),o.helpers.isMobile()||o.events.on("window.mouseup",t),o.helpers.isMobile()?o.helpers.isIOS()||(o.events.on("window.touchend",t),o.browser.mozilla&&setInterval(t,200)):o.events.on("window.keyup",l),o.events.on("keydown",function(e){e&&e.which==M.FE.KEYCODE.ESC&&n()}),o.events.on("keydown",function(e){if(e.which==M.FE.KEYCODE.ALT)return e.stopPropagation(),!1},!0),o.events.$on(o.$wp,"scroll.toolbar",t),o.events.on("commands.after",t),o.helpers.isMobile()&&(o.events.$on(o.$doc,"selectionchange",l),o.events.$on(o.$doc,"orientationchange",t))}function c(){o.$tb.html("").removeData().remove(),o.$tb=null}function f(){o.$box.removeClass("fr-top fr-bottom fr-inline fr-basic"),o.$box.find(".fr-sticky-dummy").remove()}function p(){o.opts.theme&&o.$tb.addClass(o.opts.theme+"-theme"),1<o.opts.zIndex&&o.$tb.css("z-index",o.opts.zIndex+1),"auto"!=o.opts.direction&&o.$tb.removeClass("fr-ltr fr-rtl").addClass("fr-"+o.opts.direction),o.helpers.isMobile()?o.$tb.addClass("fr-mobile"):o.$tb.addClass("fr-desktop"),o.opts.toolbarContainer?(o.opts.toolbarInline&&(d(),n()),o.opts.toolbarBottom?o.$tb.addClass("fr-bottom"):o.$tb.addClass("fr-top")):o.opts.toolbarInline?(o.$sc.append(o.$tb),o.$tb.data("container",o.$sc),o.$tb.addClass("fr-inline"),o.$tb.prepend('<span class="fr-arrow"></span>'),d(),o.opts.toolbarBottom=!1):(o.opts.toolbarBottom&&!o.helpers.isIOS()?(o.$box.append(o.$tb),o.$tb.addClass("fr-bottom"),o.$box.addClass("fr-bottom")):(o.opts.toolbarBottom=!1,o.$box.prepend(o.$tb),o.$tb.addClass("fr-top"),o.$box.addClass("fr-top")),o.$tb.addClass("fr-basic"),o.opts.toolbarSticky&&(o.opts.toolbarStickyOffset&&(o.opts.toolbarBottom?o.$tb.css("bottom",o.opts.toolbarStickyOffset):o.$tb.css("top",o.opts.toolbarStickyOffset)),o.position.addSticky(o.$tb))),function(){var e=M.merge([],a());i(e,r[M.FE.XS]),i(e,r[M.FE.SM]),i(e,r[M.FE.MD]),i(e,r[M.FE.LG]);for(var t=e.length-1;0<=t;t--)"-"!=e[t]&&"|"!=e[t]&&e.indexOf(e[t])<t&&e.splice(t,1);var n=o.button.buildList(e,a());o.$tb.append(n),o.button.bindCommands(o.$tb)}(),o.events.$on(M(o.o_win),"resize",e),o.events.$on(M(o.o_win),"orientationchange",e),o.accessibility.registerToolbar(o.$tb),o.events.$on(o.$tb,o._mousedown+" "+o._mouseup,function(e){var t=e.originalEvent?e.originalEvent.target||e.originalEvent.originalTarget:null;if(t&&"INPUT"!=t.tagName&&!o.edit.isDisabled())return e.stopPropagation(),e.preventDefault(),!1},!0)}var u=!1;return{_init:function(){if(o.$sc=M(o.opts.scrollableContainer).first(),!o.$wp)return!1;o.opts.toolbarContainer?(o.shared.$tb?(o.$tb=o.shared.$tb,o.opts.toolbarInline&&d()):(o.shared.$tb=M('<div class="fr-toolbar"></div>'),o.$tb=o.shared.$tb,M(o.opts.toolbarContainer).append(o.$tb),p(),o.$tb.data("instance",o)),o.opts.toolbarInline?o.$box.addClass("fr-inline"):o.$box.addClass("fr-basic"),o.events.on("focus",function(){o.$tb.data("instance",o)},!0),o.opts.toolbarInline=!1):o.opts.toolbarInline?(o.$box.addClass("fr-inline"),o.shared.$tb?(o.$tb=o.shared.$tb,d()):(o.shared.$tb=M('<div class="fr-toolbar"></div>'),o.$tb=o.shared.$tb,p())):(o.$box.addClass("fr-basic"),o.$tb=M('<div class="fr-toolbar"></div>'),p(),o.$tb.data("instance",o)),o.events.on("destroy",f,!0),o.events.on(o.opts.toolbarInline||o.opts.toolbarContainer?"shared.destroy":"destroy",c,!0)},hide:n,show:function(){if(!1===o.events.trigger("toolbar.show"))return!1;o.$tb.show()},showInline:t,disable:function(){!u&&o.$tb&&(o.$tb.find("> .fr-command").addClass("fr-disabled fr-no-refresh").attr("aria-disabled",!0),u=!0)},enable:function(){u&&o.$tb&&(o.$tb.find("> .fr-command").removeClass("fr-disabled fr-no-refresh").attr("aria-disabled",!1),u=!1),o.button.bulkRefresh()}}}}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/froala_editor.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/froala_editor.pkgd.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/froala_editor.pkgd.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/froala_editor.pkgd.js (revision 7) @@ -0,0 +1,16880 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!(function (n) { + "function" == typeof define && define.amd + ? define(["jquery"], n) + : "object" == typeof module && module.exports + ? (module.exports = function (e, t) { + return t === undefined && (t = "undefined" != typeof window ? require("jquery") : require("jquery")(e)), n(t); + }) + : n(window.jQuery); +})(function (be) { + var s = function (e, t) { + this.id = ++be.FE.ID; + var n = {}; + t && + t.documentReady && + ((n.toolbarButtons = [ + "fullscreen", + "undo", + "redo", + "getPDF", + "print", + "|", + "bold", + "italic", + "underline", + "color", + "clearFormatting", + "|", + "alignLeft", + "alignCenter", + "alignRight", + "alignJustify", + "|", + "formatOL", + "formatUL", + "indent", + "outdent", + "-", + "paragraphFormat", + "|", + "fontFamily", + "|", + "fontSize", + "|", + "insertLink", + "insertImage", + "quote", + ]), + (n.paragraphFormatSelection = !0), + (n.fontFamilySelection = !0), + (n.fontSizeSelection = !0), + (n.placeholderText = ""), + (n.quickInsertEnabled = !1), + (n.charCounterCount = !1)), + (this.opts = be.extend(!0, {}, be.extend({}, s.DEFAULTS, n, "object" == typeof t && t))); + var r = JSON.stringify(this.opts); + (be.FE.OPTS_MAPPING[r] = be.FE.OPTS_MAPPING[r] || this.id), + (this.sid = be.FE.OPTS_MAPPING[r]), + (be.FE.SHARED[this.sid] = be.FE.SHARED[this.sid] || {}), + (this.shared = be.FE.SHARED[this.sid]), + (this.shared.count = (this.shared.count || 0) + 1), + (this.$oel = be(e)), + this.$oel.data("froala.editor", this), + (this.o_doc = e.ownerDocument), + (this.o_win = "defaultView" in this.o_doc ? this.o_doc.defaultView : this.o_doc.parentWindow); + var i = be(this.o_win).scrollTop(); + this.$oel.on( + "froala.doInit", + be.proxy(function () { + this.$oel.off("froala.doInit"), + (this.doc = this.$el.get(0).ownerDocument), + (this.win = "defaultView" in this.doc ? this.doc.defaultView : this.doc.parentWindow), + (this.$doc = be(this.doc)), + (this.$win = be(this.win)), + this.opts.pluginsEnabled || (this.opts.pluginsEnabled = Object.keys(be.FE.PLUGINS)), + this.opts.initOnClick + ? (this.load(be.FE.MODULES), + this.$el.on("touchstart.init", function () { + be(this).data("touched", !0); + }), + this.$el.on("touchmove.init", function () { + be(this).removeData("touched"); + }), + this.$el.on( + "mousedown.init touchend.init dragenter.init focus.init", + be.proxy(function (e) { + if ("touchend" == e.type && !this.$el.data("touched")) return !0; + if (1 === e.which || !e.which) { + this.$el.off("mousedown.init touchstart.init touchmove.init touchend.init dragenter.init focus.init"), this.load(be.FE.MODULES), this.load(be.FE.PLUGINS); + var t = e.originalEvent && e.originalEvent.originalTarget; + t && "IMG" == t.tagName && be(t).trigger("mousedown"), + "undefined" == typeof this.ul && this.destroy(), + "touchend" == e.type && + this.image && + e.originalEvent && + e.originalEvent.target && + be(e.originalEvent.target).is("img") && + setTimeout( + be.proxy(function () { + this.image.edit(be(e.originalEvent.target)); + }, this), + 100 + ), + (this.ready = !0), + this.events.trigger("initialized"); + } + }, this) + ), + this.events.trigger("initializationDelayed")) + : (this.load(be.FE.MODULES), this.load(be.FE.PLUGINS), be(this.o_win).scrollTop(i), "undefined" == typeof this.ul && this.destroy(), (this.ready = !0), this.events.trigger("initialized")); + }, this) + ), + this._init(); + }; + (s.DEFAULTS = { initOnClick: !1, pluginsEnabled: null }), + (s.MODULES = {}), + (s.PLUGINS = {}), + (s.VERSION = "2.9.1"), + (s.INSTANCES = []), + (s.OPTS_MAPPING = {}), + (s.SHARED = {}), + (s.ID = 0), + (s.prototype._init = function () { + var e = this.$oel.prop("tagName"); + 1 <= this.$oel.closest("label").length && console.warn("Note! It is not recommended to initialize the Froala Editor within a label tag."); + var t = be.proxy(function () { + "TEXTAREA" != e && (this._original_html = this._original_html || this.$oel.html()), + (this.$box = this.$box || this.$oel), + this.opts.fullPage && (this.opts.iframe = !0), + this.opts.iframe + ? ((this.$iframe = be('<iframe src="about:blank" frameBorder="0">')), + (this.$wp = be("<div></div>")), + this.$box.html(this.$wp), + this.$wp.append(this.$iframe), + this.$iframe.get(0).contentWindow.document.open(), + this.$iframe.get(0).contentWindow.document.write("<!DOCTYPE html>"), + this.$iframe.get(0).contentWindow.document.write("<html><head></head><body></body></html>"), + this.$iframe.get(0).contentWindow.document.close(), + (this.$el = this.$iframe.contents().find("body")), + (this.el = this.$el.get(0)), + (this.$head = this.$iframe.contents().find("head")), + (this.$html = this.$iframe.contents().find("html")), + (this.iframe_document = this.$iframe.get(0).contentWindow.document)) + : ((this.$el = be("<div></div>")), (this.el = this.$el.get(0)), (this.$wp = be("<div></div>").append(this.$el)), this.$box.html(this.$wp)), + this.$oel.trigger("froala.doInit"); + }, this), + n = be.proxy(function () { + (this.$box = be("<div>")), + this.$oel.before(this.$box).hide(), + (this._original_html = this.$oel.val()), + this.$oel.parents("form").on( + "submit." + this.id, + be.proxy(function () { + this.events.trigger("form.submit"); + }, this) + ), + this.$oel.parents("form").on( + "reset." + this.id, + be.proxy(function () { + this.events.trigger("form.reset"); + }, this) + ), + t(); + }, this), + r = be.proxy(function () { + (this.$el = this.$oel), + (this.el = this.$el.get(0)), + this.$el.attr("contenteditable", !0).css("outline", "none").css("display", "inline-block"), + (this.opts.multiLine = !1), + (this.opts.toolbarInline = !1), + this.$oel.trigger("froala.doInit"); + }, this), + i = be.proxy(function () { + (this.$el = this.$oel), (this.el = this.$el.get(0)), (this.opts.toolbarInline = !1), this.$oel.trigger("froala.doInit"); + }, this), + a = be.proxy(function () { + (this.$el = this.$oel), + (this.el = this.$el.get(0)), + (this.opts.toolbarInline = !1), + this.$oel.on("click.popup", function (e) { + e.preventDefault(); + }), + this.$oel.trigger("froala.doInit"); + }, this); + this.opts.editInPopup ? a() : "TEXTAREA" == e ? n() : "A" == e ? r() : "IMG" == e ? i() : "BUTTON" == e || "INPUT" == e ? ((this.opts.editInPopup = !0), (this.opts.toolbarInline = !1), a()) : t(); + }), + (s.prototype.load = function (e) { + for (var t in e) + if (e.hasOwnProperty(t)) { + if (this[t]) continue; + if (be.FE.PLUGINS[t] && this.opts.pluginsEnabled.indexOf(t) < 0) continue; + if (((this[t] = new e[t](this)), this[t]._init && (this[t]._init(), this.opts.initOnClick && "core" == t))) return !1; + } + }), + (s.prototype.destroy = function () { + this.shared.count--, this.events.$off(); + var e = this.html.get(); + if ((this.opts.iframe && (this.events.disableBlur(), this.win.focus(), this.events.enableBlur()), this.events.trigger("destroy", [], !0), this.events.trigger("shared.destroy", undefined, !0), 0 === this.shared.count)) { + for (var t in this.shared) this.shared.hasOwnProperty(t) && (this.shared[t], (be.FE.SHARED[this.sid][t] = null)); + delete be.FE.SHARED[this.sid]; + } + this.$oel.parents("form").off("." + this.id), this.$oel.off("click.popup"), this.$oel.removeData("froala.editor"), this.$oel.off("froalaEditor"), this.core.destroy(e), be.FE.INSTANCES.splice(be.FE.INSTANCES.indexOf(this), 1); + }), + (be.fn.froalaEditor = function (i) { + for (var a = [], e = 0; e < arguments.length; e++) a.push(arguments[e]); + if ("string" == typeof i) { + var o = []; + return ( + this.each(function () { + var e, + t, + n = be(this).data("froala.editor"); + if (!n) return console.warn("Editor should be initialized before calling the " + i + " method."); + if ((0 < i.indexOf(".") && n[i.split(".")[0]] ? (n[i.split(".")[0]] && (e = n[i.split(".")[0]]), (t = i.split(".")[1])) : ((e = n), (t = i.split(".")[0])), !e[t])) + return be.error("Method " + i + " does not exist in Froala Editor."); + var r = e[t].apply(n, a.slice(1)); + r === undefined ? o.push(this) : 0 === o.length && o.push(r); + }), + 1 == o.length ? o[0] : o + ); + } + if ("object" == typeof i || !i) + return this.each(function () { + if (!be(this).data("froala.editor")) { + new s(this, i); + } + }); + }), + (be.fn.froalaEditor.Constructor = s), + (be.FroalaEditor = s), + (be.FE = s), + (be.FE.XS = 0), + (be.FE.SM = 1), + (be.FE.MD = 2), + (be.FE.LG = 3); + if ( + ((be.FE.LinkRegExCommon = "[a-z\\u0080-\\u009f\\u00a1-\\uffff0-9-_.]{1,}"), + (be.FE.LinkRegExEnd = "((:[0-9]{1,5})|)(((\\/|\\?|#)[a-z\\u00a1-\\uffff0-9@?\\|!^=%&amp;/~+#-\\'*-_{}]*)|())"), + (be.FE.LinkRegExTLD = "((" + be.FE.LinkRegExCommon + ")(\\.(com|net|org|edu|mil|gov|co|biz|info|me|dev)))"), + (be.FE.LinkRegExHTTP = "((ftp|http|https):\\/\\/" + be.FE.LinkRegExCommon + ")"), + (be.FE.LinkRegExAuth = "((ftp|http|https):\\/\\/[\\u0021-\\uffff]{1,}@" + be.FE.LinkRegExCommon + ")"), + (be.FE.LinkRegExWWW = "(www\\." + be.FE.LinkRegExCommon + "\\.[a-z0-9-]{2,24})"), + (be.FE.LinkRegEx = "(" + be.FE.LinkRegExTLD + "|" + be.FE.LinkRegExHTTP + "|" + be.FE.LinkRegExWWW + "|" + be.FE.LinkRegExAuth + ")" + be.FE.LinkRegExEnd), + (be.FE.LinkProtocols = ["mailto", "tel", "sms", "notes", "data"]), + (be.FE.MAIL_REGEX = /.+@.+\..+/i), + (be.FE.MODULES.helpers = function (a) { + function e() { + var e, + t, + n = {}, + r = + ((t = -1), + "Microsoft Internet Explorer" == navigator.appName + ? ((e = navigator.userAgent), null !== new RegExp("MSIE ([0-9]{1,}[\\.0-9]{0,})").exec(e) && (t = parseFloat(RegExp.$1))) + : "Netscape" == navigator.appName && ((e = navigator.userAgent), null !== new RegExp("Trident/.*rv:([0-9]{1,}[\\.0-9]{0,})").exec(e) && (t = parseFloat(RegExp.$1))), + t); + if (0 < r) n.msie = !0; + else { + var i = navigator.userAgent.toLowerCase(), + a = + /(edge)[ \/]([\w.]+)/.exec(i) || + /(chrome)[ \/]([\w.]+)/.exec(i) || + /(webkit)[ \/]([\w.]+)/.exec(i) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(i) || + /(msie) ([\w.]+)/.exec(i) || + (i.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(i)) || + [], + o = a[1] || ""; + a[2]; + a[1] && (n[o] = !0), n.chrome ? (n.webkit = !0) : n.webkit && (n.safari = !0); + } + return n.msie && (n.version = r), n; + } + function t() { + return /(iPad|iPhone|iPod)/g.test(navigator.userAgent) && !i(); + } + function n() { + return /(Android)/g.test(navigator.userAgent) && !i(); + } + function r() { + return /(Blackberry)/g.test(navigator.userAgent); + } + function i() { + return /(Windows Phone)/gi.test(navigator.userAgent); + } + function o(e) { + return parseInt(e, 10) || 0; + } + var s; + var l = null; + return { + _init: function () { + (a.browser = e()), + (function () { + function e(e, t) { + var a = e[t]; + e[t] = function (e) { + var t, + n = !1, + r = !1; + if (e && e.match(s)) { + (e = e.replace(s, "")), this.parentNode || (o.appendChild(this), (r = !0)); + var i = this.parentNode; + return this.id || ((this.id = "rootedQuerySelector_id_" + new Date().getTime()), (n = !0)), (t = a.call(i, "#" + this.id + " " + e)), n && (this.id = ""), r && o.removeChild(this), t; + } + return a.call(this, e); + }; + } + var o = a.o_doc.createElement("div"); + try { + o.querySelectorAll(":scope *"); + } catch (t) { + var s = /^\s*:scope/gi; + e(Element.prototype, "querySelector"), e(Element.prototype, "querySelectorAll"), e(HTMLElement.prototype, "querySelector"), e(HTMLElement.prototype, "querySelectorAll"); + } + })(), + Element.prototype.matches || (Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector), + Element.prototype.closest || + (Element.prototype.closest = function (e) { + var t = this; + if (!t) return null; + if (!document.documentElement.contains(this)) return null; + do { + if (t.matches(e)) return t; + t = t.parentElement; + } while (null !== t); + return null; + }); + }, + isIOS: t, + isMac: function () { + return null == l && (l = 0 <= navigator.platform.toUpperCase().indexOf("MAC")), l; + }, + isAndroid: n, + isBlackberry: r, + isWindowsPhone: i, + isMobile: function () { + return n() || t() || r(); + }, + isEmail: function (e) { + return !/^(https?:|ftps?:|)\/\//i.test(e) && be.FE.MAIL_REGEX.test(e); + }, + requestAnimationFrame: function () { + return ( + window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + function (e) { + window.setTimeout(e, 1e3 / 60); + } + ); + }, + getPX: o, + screenSize: function () { + var e = be('<div class="fr-visibility-helper"></div>').appendTo("body:first"); + try { + var t = o(e.css("margin-left")); + return e.remove(), t; + } catch (n) { + return be.FE.LG; + } + }, + isTouch: function () { + return "ontouchstart" in window || (window.DocumentTouch && document instanceof DocumentTouch); + }, + sanitizeURL: function (e) { + return /^(https?:|ftps?:|)\/\//i.test(e) + ? e + : /^([A-Za-z]:(\\){1,2}|[A-Za-z]:((\\){1,2}[^\\]+)+)(\\)?$/i.test(e) + ? e + : new RegExp("^(" + be.FE.LinkProtocols.join("|") + "):\\/\\/", "i").test(e) + ? e + : (e = encodeURIComponent(e) + .replace(/%23/g, "#") + .replace(/%2F/g, "/") + .replace(/%25/g, "%") + .replace(/mailto%3A/gi, "mailto:") + .replace(/file%3A/gi, "file:") + .replace(/sms%3A/gi, "sms:") + .replace(/tel%3A/gi, "tel:") + .replace(/notes%3A/gi, "notes:") + .replace(/data%3Aimage/gi, "data:image") + .replace(/blob%3A/gi, "blob:") + .replace(/%3A(\d)/gi, ":$1") + .replace(/webkit-fake-url%3A/gi, "webkit-fake-url:") + .replace(/%3F/g, "?") + .replace(/%3D/g, "=") + .replace(/%26/g, "&") + .replace(/&amp;/g, "&") + .replace(/%2C/g, ",") + .replace(/%3B/g, ";") + .replace(/%2B/g, "+") + .replace(/%40/g, "@") + .replace(/%5B/g, "[") + .replace(/%5D/g, "]") + .replace(/%7B/g, "{") + .replace(/%7D/g, "}")); + }, + isArray: function (e) { + return e && !e.propertyIsEnumerable("length") && "object" == typeof e && "number" == typeof e.length; + }, + RGBToHex: function (e) { + function t(e) { + return ("0" + parseInt(e, 10).toString(16)).slice(-2); + } + try { + return e && "transparent" !== e ? (/^#[0-9A-F]{6}$/i.test(e) ? e : ("#" + t((e = e.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/))[1]) + t(e[2]) + t(e[3])).toUpperCase()) : ""; + } catch (n) { + return null; + } + }, + HEXtoRGB: function (e) { + e = e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function (e, t, n, r) { + return t + t + n + n + r + r; + }); + var t = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e); + return t ? "rgb(" + parseInt(t[1], 16) + ", " + parseInt(t[2], 16) + ", " + parseInt(t[3], 16) + ")" : ""; + }, + isURL: function (e) { + return ( + !!/^(https?:|ftps?:|)\/\//i.test(e) && + ((e = String(e).replace(/</g, "%3C").replace(/>/g, "%3E").replace(/"/g, "%22").replace(/ /g, "%20")), new RegExp("^" + be.FE.LinkRegExHTTP + be.FE.LinkRegExEnd + "$", "gi").test(e)) + ); + }, + getAlignment: function (e) { + var t = (e.css("text-align") || "").replace(/-(.*)-/g, ""); + if (["left", "right", "justify", "center"].indexOf(t) < 0) { + if (!s) { + var n = be( + '<div dir="' + ("rtl" == a.opts.direction ? "rtl" : "auto") + '" style="text-align: ' + a.$el.css("text-align") + '; position: fixed; left: -3000px;"><span id="s1">.</span><span id="s2">.</span></div>' + ); + be("body:first").append(n); + var r = n.find("#s1").get(0).getBoundingClientRect().left, + i = n.find("#s2").get(0).getBoundingClientRect().left; + n.remove(), (s = r < i ? "left" : "right"); + } + t = s; + } + return t; + }, + scrollTop: function () { + return a.o_win.pageYOffset ? a.o_win.pageYOffset : a.o_doc.documentElement && a.o_doc.documentElement.scrollTop ? a.o_doc.documentElement.scrollTop : a.o_doc.body.scrollTop ? a.o_doc.body.scrollTop : 0; + }, + scrollLeft: function () { + return a.o_win.pageXOffset ? a.o_win.pageXOffset : a.o_doc.documentElement && a.o_doc.documentElement.scrollLeft ? a.o_doc.documentElement.scrollLeft : a.o_doc.body.scrollLeft ? a.o_doc.body.scrollLeft : 0; + }, + isInViewPort: function (e) { + var t = e.getBoundingClientRect(); + return (0 <= t.top && t.bottom <= (window.innerHeight || document.documentElement.clientHeight)) || (t.top <= 0 && t.bottom >= (window.innerHeight || document.documentElement.clientHeight)); + }, + }; + }), + (be.FE.MODULES.events = function (s) { + var e, + o = {}; + function t(e, t, n) { + f(e, t, n); + } + function n(e) { + if ((void 0 === e && (e = !0), !s.$wp)) return !1; + if ((s.helpers.isIOS() && s.$win.get(0).focus(), s.core.hasFocus())) return !1; + if (!s.core.hasFocus() && e) { + var t = s.$win.scrollTop(); + if ( + (s.browser.msie && s.$box && s.$box.css("position", "fixed"), + s.browser.msie && s.$wp && s.$wp.css("overflow", "visible"), + a(), + s.$el.focus(), + s.events.trigger("focus"), + i(), + s.browser.msie && s.$box && s.$box.css("position", ""), + s.browser.msie && s.$wp && s.$wp.css("overflow", "auto"), + t != s.$win.scrollTop() && s.$win.scrollTop(t), + !s.selection.info(s.el).atStart) + ) + return !1; + } + if (!s.core.hasFocus() || 0 < s.$el.find(".fr-marker").length) return !1; + if (s.selection.info(s.el).atStart && s.selection.isCollapsed() && null != s.html.defaultTag()) { + var n = s.markers.insert(); + if (n && !s.node.blockParent(n)) { + be(n).remove(); + var r = s.$el.find(s.html.blockTagsQuery()).get(0); + r && (be(r).prepend(be.FE.MARKERS), s.selection.restore()); + } else n && be(n).remove(); + } + } + var r = !1; + function i() { + e = !0; + } + function a() { + e = !1; + } + function l() { + return e; + } + function d(e, t, n) { + var r, + i = e.split(" "); + if (1 < i.length) { + for (var a = 0; a < i.length; a++) d(i[a], t, n); + return !0; + } + void 0 === n && (n = !1), (r = 0 !== e.indexOf("shared.") ? (o[e] = o[e] || []) : (s.shared._events[e] = s.shared._events[e] || [])), n ? r.unshift(t) : r.push(t); + } + var c = []; + function f(e, t, n, r, i) { + "function" == typeof n && ((i = r), (r = n), (n = !1)); + var a = i ? s.shared.$_events : c, + o = i ? s.sid : s.id; + n ? e.on(t.split(" ").join(".ed" + o + " ") + ".ed" + o, n, r) : e.on(t.split(" ").join(".ed" + o + " ") + ".ed" + o, r), a.push([e, t.split(" ").join(".ed" + o + " ") + ".ed" + o]); + } + function p(e) { + for (var t = 0; t < e.length; t++) e[t][0].off(e[t][1]); + } + function u(e, t, n) { + if (!s.edit.isDisabled() || n) { + var r, i; + if (0 !== e.indexOf("shared.")) r = o[e]; + else { + if (0 < s.shared.count) return !1; + r = s.shared._events[e]; + } + if (r) for (var a = 0; a < r.length; a++) if (!1 === (i = r[a].apply(s, t))) return !1; + return !1 !== (i = s.$oel.triggerHandler("froalaEditor." + e, be.merge([s], t || []))) && i; + } + } + function h() { + for (var e in o) o.hasOwnProperty(e) && delete o[e]; + } + function g() { + for (var e in s.shared._events) s.shared._events.hasOwnProperty(e) && delete s.shared._events[e]; + } + return { + _init: function () { + (s.shared.$_events = s.shared.$_events || []), + (s.shared._events = {}), + s.helpers.isMobile() + ? ((s._mousedown = "touchstart"), (s._mouseup = "touchend"), (s._move = "touchmove"), (s._mousemove = "touchmove")) + : ((s._mousedown = "mousedown"), (s._mouseup = "mouseup"), (s._move = ""), (s._mousemove = "mousemove")), + t(s.$el, "click mouseup mousedown touchstart touchend dragenter dragover dragleave dragend drop dragstart", function (e) { + u(e.type, [e]); + }), + d("mousedown", function () { + for (var e = 0; e < be.FE.INSTANCES.length; e++) be.FE.INSTANCES[e] != s && be.FE.INSTANCES[e].popups && be.FE.INSTANCES[e].popups.areVisible() && be.FE.INSTANCES[e].$el.find(".fr-marker").remove(); + }), + t(s.$win, s._mousedown, function (e) { + u("window.mousedown", [e]), i(); + }), + t(s.$win, s._mouseup, function (e) { + u("window.mouseup", [e]); + }), + t(s.$win, "cut copy keydown keyup touchmove touchend", function (e) { + u("window." + e.type, [e]); + }), + t(s.$doc, "dragend drop", function (e) { + u("document." + e.type, [e]); + }), + t(s.$el, "keydown keypress keyup input", function (e) { + u(e.type, [e]); + }), + t(s.$el, "focus", function (e) { + l() && (n(!1), !1 === r && u(e.type, [e])); + }), + t(s.$el, "blur", function (e) { + l() && !0 === r && (u(e.type, [e]), i()); + }), + d("focus", function () { + r = !0; + }), + d("blur", function () { + r = !1; + }), + i(), + t(s.$el, "cut copy paste beforepaste", function (e) { + u(e.type, [e]); + }), + d("destroy", h), + d("shared.destroy", g); + }, + on: d, + trigger: u, + bindClick: function (e, t, n) { + f( + e, + s._mousedown, + t, + function (e) { + var t, n; + s.edit.isDisabled() || + ((n = be((t = e).currentTarget)), + s.edit.isDisabled() || s.node.hasClass(n.get(0), "fr-disabled") + ? t.preventDefault() + : ("mousedown" === t.type && 1 !== t.which) || + (s.helpers.isMobile() || t.preventDefault(), + (s.helpers.isAndroid() || s.helpers.isWindowsPhone()) && 0 === n.parents(".fr-dropdown-menu").length && (t.preventDefault(), t.stopPropagation()), + n.addClass("fr-selected"), + s.events.trigger("commands.mousedown", [n]))); + }, + !0 + ), + f( + e, + s._mouseup + " " + s._move, + t, + function (e) { + s.edit.isDisabled() || + (function (e, t) { + var n = be(e.currentTarget); + if (s.edit.isDisabled() || s.node.hasClass(n.get(0), "fr-disabled")) return e.preventDefault(); + if (("mouseup" !== e.type || 1 === e.which) && s.node.hasClass(n.get(0), "fr-selected")) + if ("touchmove" != e.type) { + if ((e.stopPropagation(), e.stopImmediatePropagation(), e.preventDefault(), !s.node.hasClass(n.get(0), "fr-selected"))) + return s.button.getButtons(".fr-selected", !0).removeClass("fr-selected"); + if ((s.button.getButtons(".fr-selected", !0).removeClass("fr-selected"), n.data("dragging") || n.attr("disabled"))) return n.removeData("dragging"); + var r = n.data("timeout"); + r && (clearTimeout(r), n.removeData("timeout")), t.apply(s, [e]); + } else + n.data("timeout") || + n.data( + "timeout", + setTimeout(function () { + n.data("dragging", !0); + }, 100) + ); + })(e, n); + }, + !0 + ), + f( + e, + "mousedown click mouseup", + t, + function (e) { + s.edit.isDisabled() || e.stopPropagation(); + }, + !0 + ), + d("window.mouseup", function () { + s.edit.isDisabled() || (e.find(t).removeClass("fr-selected"), i()); + }), + f(e, "mouseenter", t, function () { + be(this).hasClass("fr-options") && be(this).prev(".fr-btn").addClass("fr-btn-hover"), be(this).next(".fr-btn").hasClass("fr-options") && be(this).next(".fr-btn").addClass("fr-btn-hover"); + }), + f(e, "mouseleave", t, function () { + be(this).hasClass("fr-options") && be(this).prev(".fr-btn").removeClass("fr-btn-hover"), be(this).next(".fr-btn").hasClass("fr-options") && be(this).next(".fr-btn").removeClass("fr-btn-hover"); + }); + }, + disableBlur: a, + enableBlur: i, + blurActive: l, + focus: n, + chainTrigger: function (e, t, n) { + if (!s.edit.isDisabled() || n) { + var r, i; + if (0 !== e.indexOf("shared.")) r = o[e]; + else { + if (0 < s.shared.count) return !1; + r = s.shared._events[e]; + } + if (r) for (var a = 0; a < r.length; a++) void 0 !== (i = r[a].apply(s, [t])) && (t = i); + return void 0 !== (i = s.$oel.triggerHandler("froalaEditor." + e, be.merge([s], [t]))) && (t = i), t; + } + }, + $on: f, + $off: function () { + p(c), (c = []), 0 === s.shared.count && (p(s.shared.$_events), (s.shared.$_events = [])); + }, + }; + }), + (be.FE.MODULES.node = function (o) { + function s(e) { + return e && "IFRAME" != e.tagName ? Array.prototype.slice.call(e.childNodes || []) : []; + } + function l(e) { + return !!e && e.nodeType == Node.ELEMENT_NODE && 0 <= be.FE.BLOCK_TAGS.indexOf(e.tagName.toLowerCase()); + } + function d(e) { + var t = {}, + n = e.attributes; + if (n) + for (var r = 0; r < n.length; r++) { + var i = n[r]; + t[i.nodeName] = i.value; + } + return t; + } + function t(e) { + for (var t = "", n = d(e), r = Object.keys(n).sort(), i = 0; i < r.length; i++) { + var a = r[i], + o = n[a]; + o.indexOf("'") < 0 && 0 <= o.indexOf('"') ? (t += " " + a + "='" + o + "'") : 0 <= o.indexOf('"') && 0 <= o.indexOf("'") ? (t += " " + a + '="' + (o = o.replace(/"/g, "&quot;")) + '"') : (t += " " + a + '="' + o + '"'); + } + return t; + } + function n(e) { + return e === o.el; + } + return { + isBlock: l, + isEmpty: function (e, t) { + if (!e) return !0; + if (e.querySelector("table")) return !1; + var n = s(e); + 1 == n.length && l(n[0]) && (n = s(n[0])); + for (var r = !1, i = 0; i < n.length; i++) { + var a = n[i]; + if (!((t && o.node.hasClass(a, "fr-marker")) || (a.nodeType == Node.TEXT_NODE && 0 === a.textContent.length))) { + if ("BR" != a.tagName && 0 < (a.textContent || "").replace(/\u200B/gi, "").replace(/\n/g, "").length) return !1; + if (r) return !1; + "BR" == a.tagName && (r = !0); + } + } + return !( + e.querySelectorAll(be.FE.VOID_ELEMENTS.join(",")).length - e.querySelectorAll("br").length || + e.querySelector(o.opts.htmlAllowedEmptyTags.join(":not(.fr-marker),") + ":not(.fr-marker)") || + 1 < e.querySelectorAll(be.FE.BLOCK_TAGS.join(",")).length || + e.querySelector(o.opts.htmlDoNotWrapTags.join(":not(.fr-marker),") + ":not(.fr-marker)") + ); + }, + blockParent: function (e) { + for (; e && e.parentNode !== o.el && (!e.parentNode || !o.node.hasClass(e.parentNode, "fr-inner")); ) if (l((e = e.parentNode))) return e; + return null; + }, + deepestParent: function (e, t, n) { + if ( + (void 0 === t && (t = []), + void 0 === n && (n = !0), + t.push(o.el), + 0 <= t.indexOf(e.parentNode) || (e.parentNode && o.node.hasClass(e.parentNode, "fr-inner")) || (e.parentNode && 0 <= be.FE.SIMPLE_ENTER_TAGS.indexOf(e.parentNode.tagName) && n)) + ) + return null; + for (; t.indexOf(e.parentNode) < 0 && e.parentNode && !o.node.hasClass(e.parentNode, "fr-inner") && (be.FE.SIMPLE_ENTER_TAGS.indexOf(e.parentNode.tagName) < 0 || !n) && (!l(e) || !l(e.parentNode) || !n); ) + e = e.parentNode; + return e; + }, + rawAttributes: d, + attributes: t, + clearAttributes: function (e) { + for (var t = e.attributes, n = t.length - 1; 0 <= n; n--) { + var r = t[n]; + e.removeAttribute(r.nodeName); + } + }, + openTagString: function (e) { + return "<" + e.tagName.toLowerCase() + t(e) + ">"; + }, + closeTagString: function (e) { + return "</" + e.tagName.toLowerCase() + ">"; + }, + isFirstSibling: function e(t, n) { + void 0 === n && (n = !0); + for (var r = t.previousSibling; r && n && o.node.hasClass(r, "fr-marker"); ) r = r.previousSibling; + return !r || (r.nodeType == Node.TEXT_NODE && "" === r.textContent && e(r)); + }, + isLastSibling: function e(t, n) { + void 0 === n && (n = !0); + for (var r = t.nextSibling; r && n && o.node.hasClass(r, "fr-marker"); ) r = r.nextSibling; + return !r || (r.nodeType == Node.TEXT_NODE && "" === r.textContent && e(r)); + }, + isList: function (e) { + return !!e && 0 <= ["UL", "OL"].indexOf(e.tagName); + }, + isLink: function (e) { + return !!e && e.nodeType == Node.ELEMENT_NODE && "a" == e.tagName.toLowerCase(); + }, + isElement: n, + contents: s, + isVoid: function (e) { + return e && e.nodeType == Node.ELEMENT_NODE && 0 <= be.FE.VOID_ELEMENTS.indexOf((e.tagName || "").toLowerCase()); + }, + hasFocus: function (e) { + return e === o.doc.activeElement && (!o.doc.hasFocus || o.doc.hasFocus()) && !!(n(e) || e.type || e.href || ~e.tabIndex); + }, + isEditable: function (e) { + return (!e.getAttribute || "false" != e.getAttribute("contenteditable")) && ["STYLE", "SCRIPT"].indexOf(e.tagName) < 0; + }, + isDeletable: function (e) { + return e && e.nodeType == Node.ELEMENT_NODE && e.getAttribute("class") && 0 <= (e.getAttribute("class") || "").indexOf("fr-deletable"); + }, + hasClass: function (e, t) { + return e instanceof be && (e = e.get(0)), e && e.classList && e.classList.contains(t); + }, + filter: function (e) { + return o.browser.msie ? e : { acceptNode: e }; + }, + }; + }), + (be.FE.INVISIBLE_SPACE = "&#8203;"), + (be.FE.START_MARKER = '<span class="fr-marker" data-id="0" data-type="true" style="display: none; line-height: 0;">' + be.FE.INVISIBLE_SPACE + "</span>"), + (be.FE.END_MARKER = '<span class="fr-marker" data-id="0" data-type="false" style="display: none; line-height: 0;">' + be.FE.INVISIBLE_SPACE + "</span>"), + (be.FE.MARKERS = be.FE.START_MARKER + be.FE.END_MARKER), + (be.FE.MODULES.markers = function (d) { + function l() { + if (!d.$wp) return null; + try { + var e = d.selection.ranges(0), + t = e.commonAncestorContainer; + if (t != d.el && 0 === d.$el.find(t).length) return null; + var n = e.cloneRange(), + r = e.cloneRange(); + n.collapse(!0); + var i = be('<span class="fr-marker" style="display: none; line-height: 0;">' + be.FE.INVISIBLE_SPACE + "</span>", d.doc)[0]; + if ((n.insertNode(i), (i = d.$el.find("span.fr-marker").get(0)))) { + for (var a = i.nextSibling; a && a.nodeType === Node.TEXT_NODE && 0 === a.textContent.length; ) be(a).remove(), (a = d.$el.find("span.fr-marker").get(0).nextSibling); + return d.selection.clear(), d.selection.get().addRange(r), i; + } + return null; + } catch (o) { + console.warn("MARKER", o); + } + } + function c() { + d.$el.find(".fr-marker").remove(); + } + return { + place: function (e, t, n) { + var r, i, a; + try { + var o = e.cloneRange(); + if ( + (o.collapse(t), + o.insertNode( + be('<span class="fr-marker" data-id="' + n + '" data-type="' + t + '" style="display: ' + (d.browser.safari ? "none" : "inline-block") + '; line-height: 0;">' + be.FE.INVISIBLE_SPACE + "</span>", d.doc)[0] + ), + !0 === t) + ) + for (a = (r = d.$el.find('span.fr-marker[data-type="true"][data-id="' + n + '"]').get(0)).nextSibling; a && a.nodeType === Node.TEXT_NODE && 0 === a.textContent.length; ) be(a).remove(), (a = r.nextSibling); + if (!0 === t && !e.collapsed) { + for (; !d.node.isElement(r.parentNode) && !a; ) be(r.parentNode).after(r), (a = r.nextSibling); + if (a && a.nodeType === Node.ELEMENT_NODE && d.node.isBlock(a) && "HR" !== a.tagName) { + for (i = [a]; (a = i[0]), (i = d.node.contents(a))[0] && d.node.isBlock(i[0]); ); + be(a).prepend(be(r)); + } + } + if (!1 === t && !e.collapsed) { + if ((a = (r = d.$el.find('span.fr-marker[data-type="false"][data-id="' + n + '"]').get(0)).previousSibling) && a.nodeType === Node.ELEMENT_NODE && d.node.isBlock(a) && "HR" !== a.tagName) { + for (i = [a]; (a = i[i.length - 1]), (i = d.node.contents(a))[i.length - 1] && d.node.isBlock(i[i.length - 1]); ); + be(a).append(be(r)); + } + r.parentNode && 0 <= ["TD", "TH"].indexOf(r.parentNode.tagName) && r.parentNode.previousSibling && !r.previousSibling && be(r.parentNode.previousSibling).append(r); + } + var s = d.$el.find('span.fr-marker[data-type="' + t + '"][data-id="' + n + '"]').get(0); + return s && (s.style.display = "none"), s; + } catch (l) { + return null; + } + }, + insert: l, + split: function () { + d.selection.isCollapsed() || d.selection.remove(); + var e = d.$el.find(".fr-marker").get(0); + if ((null == e && (e = l()), null == e)) return null; + var t = d.node.deepestParent(e); + if ((t || ((t = d.node.blockParent(e)) && "LI" != t.tagName && (t = null)), t)) + if (d.node.isBlock(t) && d.node.isEmpty(t)) + "LI" != t.tagName || t.parentNode.firstElementChild != t || d.node.isEmpty(t.parentNode) ? be(t).replaceWith('<span class="fr-marker"></span>') : be(t).append('<span class="fr-marker"></span>'); + else if (d.cursor.isAtStart(e, t)) be(t).before('<span class="fr-marker"></span>'), be(e).remove(); + else if (d.cursor.isAtEnd(e, t)) be(t).after('<span class="fr-marker"></span>'), be(e).remove(); + else { + for (var n = e, r = "", i = ""; (n = n.parentNode), (r += d.node.closeTagString(n)), (i = d.node.openTagString(n) + i), n != t; ); + be(e).replaceWith('<span id="fr-break"></span>'); + var a = d.node.openTagString(t) + be(t).html() + d.node.closeTagString(t); + (a = a.replace(/<span id="fr-break"><\/span>/g, r + '<span class="fr-marker"></span>' + i)), be(t).replaceWith(a); + } + return d.$el.find(".fr-marker").get(0); + }, + insertAtPoint: function (e) { + var t, + n = e.clientX, + r = e.clientY; + c(); + var i = null; + if ( + ("undefined" != typeof d.doc.caretPositionFromPoint + ? ((t = d.doc.caretPositionFromPoint(n, r)), (i = d.doc.createRange()).setStart(t.offsetNode, t.offset), i.setEnd(t.offsetNode, t.offset)) + : "undefined" != typeof d.doc.caretRangeFromPoint && ((t = d.doc.caretRangeFromPoint(n, r)), (i = d.doc.createRange()).setStart(t.startContainer, t.startOffset), i.setEnd(t.startContainer, t.startOffset)), + null !== i && "undefined" != typeof d.win.getSelection) + ) { + var a = d.win.getSelection(); + a.removeAllRanges(), a.addRange(i); + } else if ("undefined" != typeof d.doc.body.createTextRange) + try { + (i = d.doc.body.createTextRange()).moveToPoint(n, r); + var o = i.duplicate(); + o.moveToPoint(n, r), i.setEndPoint("EndToEnd", o), i.select(); + } catch (s) { + return !1; + } + l(); + }, + remove: c, + }; + }), + (be.FE.MODULES.selection = function (T) { + function s() { + var e = ""; + return T.win.getSelection ? (e = T.win.getSelection()) : T.doc.getSelection ? (e = T.doc.getSelection()) : T.doc.selection && (e = T.doc.selection.createRange().text), e.toString(); + } + function A() { + return T.win.getSelection ? T.win.getSelection() : T.doc.getSelection ? T.doc.getSelection() : T.doc.selection.createRange(); + } + function c(e) { + var t = A(), + n = []; + if (t && t.getRangeAt && t.rangeCount) { + n = []; + for (var r = 0; r < t.rangeCount; r++) n.push(t.getRangeAt(r)); + } else n = T.doc.createRange ? [T.doc.createRange()] : []; + return void 0 !== e ? n[e] : n; + } + function C() { + var e = A(); + try { + e.removeAllRanges ? e.removeAllRanges() : e.empty ? e.empty() : e.clear && e.clear(); + } catch (t) {} + } + function f(e, t) { + var n = e; + return n.nodeType == Node.ELEMENT_NODE && 0 < n.childNodes.length && n.childNodes[t] && (n = n.childNodes[t]), n.nodeType == Node.TEXT_NODE && (n = n.parentNode), n; + } + function S() { + if (T.$wp) { + T.markers.remove(); + var e, + t, + n = c(), + r = []; + for (t = 0; t < n.length; t++) + if (n[t].startContainer !== T.doc || T.browser.msie) { + var i = (e = n[t]).collapsed, + a = T.markers.place(e, !0, t), + o = T.markers.place(e, !1, t); + if (((void 0 !== a && a) || !i || (be(".fr-marker").remove(), T.selection.setAtEnd(T.el)), T.el.normalize(), T.browser.safari && !i)) + try { + (e = T.doc.createRange()).setStartAfter(a), e.setEndBefore(o), r.push(e); + } catch (s) {} + } + if (T.browser.safari && r.length) for (T.selection.clear(), t = 0; t < r.length; t++) T.selection.get().addRange(r[t]); + } + } + function R() { + var e, + t = T.el.querySelectorAll('.fr-marker[data-type="true"]'); + if (!T.$wp) return T.markers.remove(), !1; + if (0 === t.length) return !1; + if (T.browser.msie || T.browser.edge) for (e = 0; e < t.length; e++) t[e].style.display = "inline-block"; + T.core.hasFocus() || T.browser.msie || T.browser.webkit || T.$el.focus(), C(); + var n = A(); + for (e = 0; e < t.length; e++) { + var r = be(t[e]).data("id"), + i = t[e], + a = T.doc.createRange(), + o = T.$el.find('.fr-marker[data-type="false"][data-id="' + r + '"]'); + (T.browser.msie || T.browser.edge) && o.css("display", "inline-block"); + var s = null; + if (0 < o.length) { + o = o[0]; + try { + for (var l, d = !1, c = i.nextSibling; c && c.nodeType == Node.TEXT_NODE && 0 === c.textContent.length; ) (c = (l = c).nextSibling), be(l).remove(); + for (var f, p, u = o.nextSibling; u && u.nodeType == Node.TEXT_NODE && 0 === u.textContent.length; ) (u = (l = u).nextSibling), be(l).remove(); + if (i.nextSibling == o || o.nextSibling == i) { + for (var h = i.nextSibling == o ? i : o, g = h == i ? o : i, m = h.previousSibling; m && m.nodeType == Node.TEXT_NODE && 0 === m.length; ) (m = (l = m).previousSibling), be(l).remove(); + if (m && m.nodeType == Node.TEXT_NODE) + for (; m && m.previousSibling && m.previousSibling.nodeType == Node.TEXT_NODE; ) + (m.previousSibling.textContent = m.previousSibling.textContent + m.textContent), (m = m.previousSibling), be(m.nextSibling).remove(); + for (var v = g.nextSibling; v && v.nodeType == Node.TEXT_NODE && 0 === v.length; ) (v = (l = v).nextSibling), be(l).remove(); + if (v && v.nodeType == Node.TEXT_NODE) + for (; v && v.nextSibling && v.nextSibling.nodeType == Node.TEXT_NODE; ) (v.nextSibling.textContent = v.textContent + v.nextSibling.textContent), (v = v.nextSibling), be(v.previousSibling).remove(); + if ((m && (T.node.isVoid(m) || T.node.isBlock(m)) && (m = null), v && (T.node.isVoid(v) || T.node.isBlock(v)) && (v = null), m && v && m.nodeType == Node.TEXT_NODE && v.nodeType == Node.TEXT_NODE)) { + be(i).remove(), be(o).remove(); + var E = m.textContent.length; + (m.textContent = m.textContent + v.textContent), be(v).remove(), T.opts.htmlUntouched || T.spaces.normalize(m), a.setStart(m, E), a.setEnd(m, E), (d = !0); + } else + !m && v && v.nodeType == Node.TEXT_NODE + ? (be(i).remove(), be(o).remove(), T.opts.htmlUntouched || T.spaces.normalize(v), (s = be(T.doc.createTextNode("\u200b"))), be(v).before(s), a.setStart(v, 0), a.setEnd(v, 0), (d = !0)) + : !v && + m && + m.nodeType == Node.TEXT_NODE && + (be(i).remove(), + be(o).remove(), + T.opts.htmlUntouched || T.spaces.normalize(m), + (s = be(T.doc.createTextNode("\u200b"))), + be(m).after(s), + a.setStart(m, m.textContent.length), + a.setEnd(m, m.textContent.length), + (d = !0)); + } + if (!d) + (T.browser.chrome || T.browser.edge) && i.nextSibling == o + ? ((f = y(o, a, !0) || a.setStartAfter(o)), (p = y(i, a, !1) || a.setEndBefore(i))) + : (i.previousSibling == o && (o = (i = o).nextSibling), + (o.nextSibling && "BR" === o.nextSibling.tagName) || + (!o.nextSibling && T.node.isBlock(i.previousSibling)) || + (i.previousSibling && "BR" == i.previousSibling.tagName) || + ((i.style.display = "inline"), (o.style.display = "inline"), (s = be(T.doc.createTextNode("\u200b")))), + (f = y(i, a, !0) || (be(i).before(s) && a.setStartBefore(i))), + (p = y(o, a, !1) || (be(o).after(s) && a.setEndAfter(o)))), + "function" == typeof f && f(), + "function" == typeof p && p(); + } catch (b) { + console.warn("RESTORE RANGE", b); + } + } + s && s.remove(); + try { + n.addRange(a); + } catch (b) { + console.warn("ADD RANGE", b); + } + } + T.markers.remove(); + } + function y(e, t, n) { + var r, + i = e.previousSibling, + a = e.nextSibling; + return i && a && i.nodeType == Node.TEXT_NODE && a.nodeType == Node.TEXT_NODE + ? ((r = i.textContent.length), + n + ? ((a.textContent = i.textContent + a.textContent), + be(i).remove(), + be(e).remove(), + T.opts.htmlUntouched || T.spaces.normalize(a), + function () { + t.setStart(a, r); + }) + : ((i.textContent = i.textContent + a.textContent), + be(a).remove(), + be(e).remove(), + T.opts.htmlUntouched || T.spaces.normalize(i), + function () { + t.setEnd(i, r); + })) + : i && !a && i.nodeType == Node.TEXT_NODE + ? ((r = i.textContent.length), + n + ? (T.opts.htmlUntouched || T.spaces.normalize(i), + function () { + t.setStart(i, r); + }) + : (T.opts.htmlUntouched || T.spaces.normalize(i), + function () { + t.setEnd(i, r); + })) + : !(!a || i || a.nodeType != Node.TEXT_NODE) && + (n + ? (T.opts.htmlUntouched || T.spaces.normalize(a), + function () { + t.setStart(a, 0); + }) + : (T.opts.htmlUntouched || T.spaces.normalize(a), + function () { + t.setEnd(a, 0); + })); + } + function _() { + for (var e = c(), t = 0; t < e.length; t++) if (!e[t].collapsed) return !1; + return !0; + } + function i(e) { + var t, + n, + r = !1, + i = !1; + if (T.win.getSelection) { + var a = T.win.getSelection(); + a.rangeCount && + ((n = (t = a.getRangeAt(0)).cloneRange()).selectNodeContents(e), + n.setEnd(t.startContainer, t.startOffset), + (r = "" === n.toString()), + n.selectNodeContents(e), + n.setStart(t.endContainer, t.endOffset), + (i = "" === n.toString())); + } else + T.doc.selection && + "Control" != T.doc.selection.type && + ((n = (t = T.doc.selection.createRange()).duplicate()).moveToElementText(e), n.setEndPoint("EndToStart", t), (r = "" === n.text), n.moveToElementText(e), n.setEndPoint("StartToEnd", t), (i = "" === n.text)); + return { atStart: r, atEnd: i }; + } + function L(e, t) { + void 0 === t && (t = !0); + var n = be(e).html(); + n && n.replace(/\u200b/g, "").length != n.length && be(e).html(n.replace(/\u200b/g, "")); + for (var r = T.node.contents(e), i = 0; i < r.length; i++) r[i].nodeType != Node.ELEMENT_NODE ? be(r[i]).remove() : (L(r[i], 0 === i), 0 === i && (t = !1)); + e.nodeType == Node.TEXT_NODE ? be(e).replaceWith('<span data-first="true" data-text="true"></span>') : t && be(e).attr("data-first", !0); + } + function x() { + return 0 === be(this).find("fr-inner").length; + } + function p() { + try { + if (!T.$wp) return !1; + for (var e = c(0).commonAncestorContainer; e && !T.node.isElement(e); ) e = e.parentNode; + return !!T.node.isElement(e); + } catch (t) { + return !1; + } + } + function r(e, t) { + if (!e || 0 < e.getElementsByClassName("fr-marker").length) return !1; + for (var n = e.firstChild; n && (T.node.isBlock(n) || (t && !T.node.isVoid(n) && n.nodeType == Node.ELEMENT_NODE)); ) n = (e = n).firstChild; + e.innerHTML = be.FE.MARKERS + e.innerHTML; + } + function a(e, t) { + if (!e || 0 < e.getElementsByClassName("fr-marker").length) return !1; + for (var n = e.lastChild; n && (T.node.isBlock(n) || (t && !T.node.isVoid(n) && n.nodeType == Node.ELEMENT_NODE)); ) n = (e = n).lastChild; + var r = T.doc.createElement("SPAN"); + r.setAttribute("id", "fr-sel-markers"), (r.innerHTML = be.FE.MARKERS), e.appendChild(r); + var i = e.querySelector("#fr-sel-markers"); + i.outerHTML = i.innerHTML; + } + return { + text: s, + get: A, + ranges: c, + clear: C, + element: function () { + var e = A(); + try { + if (e.rangeCount) { + var t, + n = c(0), + r = n.startContainer; + if ((r.nodeType == Node.TEXT_NODE && n.startOffset == (r.textContent || "").length && r.nextSibling && (r = r.nextSibling), r.nodeType == Node.ELEMENT_NODE)) { + var i = !1; + if (0 < r.childNodes.length && r.childNodes[n.startOffset]) { + for (t = r.childNodes[n.startOffset]; t && t.nodeType == Node.TEXT_NODE && 0 === t.textContent.length; ) t = t.nextSibling; + if ((t && t.textContent.replace(/\u200B/g, "") === s().replace(/\u200B/g, "") && ((r = t), (i = !0)), !i && 1 < r.childNodes.length && 0 < n.startOffset && r.childNodes[n.startOffset - 1])) { + for (t = r.childNodes[n.startOffset - 1]; t && t.nodeType == Node.TEXT_NODE && 0 === t.textContent.length; ) t = t.nextSibling; + t && t.textContent.replace(/\u200B/g, "") === s().replace(/\u200B/g, "") && ((r = t), (i = !0)); + } + } else !n.collapsed && r.nextSibling && r.nextSibling.nodeType == Node.ELEMENT_NODE && (t = r.nextSibling) && t.textContent.replace(/\u200B/g, "") === s().replace(/\u200B/g, "") && ((r = t), (i = !0)); + !i && + 0 < r.childNodes.length && + be(r.childNodes[0]) + .text() + .replace(/\u200B/g, "") === s().replace(/\u200B/g, "") && + ["BR", "IMG", "HR"].indexOf(r.childNodes[0].tagName) < 0 && + (r = r.childNodes[0]); + } + for (; r.nodeType != Node.ELEMENT_NODE && r.parentNode; ) r = r.parentNode; + for (var a = r; a && "HTML" != a.tagName; ) { + if (a == T.el) return r; + a = be(a).parent()[0]; + } + } + } catch (o) {} + return T.el; + }, + endElement: function () { + var e = A(); + try { + if (e.rangeCount) { + var t, + n = c(0), + r = n.endContainer; + if (r.nodeType == Node.ELEMENT_NODE) { + var i = !1; + 0 < r.childNodes.length && r.childNodes[n.endOffset] && be(r.childNodes[n.endOffset]).text() === s() + ? ((r = r.childNodes[n.endOffset]), (i = !0)) + : !n.collapsed && r.previousSibling && r.previousSibling.nodeType == Node.ELEMENT_NODE + ? (t = r.previousSibling) && t.textContent.replace(/\u200B/g, "") === s().replace(/\u200B/g, "") && ((r = t), (i = !0)) + : !n.collapsed && + 0 < r.childNodes.length && + r.childNodes[n.endOffset] && + (t = r.childNodes[n.endOffset].previousSibling).nodeType == Node.ELEMENT_NODE && + t && + t.textContent.replace(/\u200B/g, "") === s().replace(/\u200B/g, "") && + ((r = t), (i = !0)), + !i && + 0 < r.childNodes.length && + be(r.childNodes[r.childNodes.length - 1]).text() === s() && + ["BR", "IMG", "HR"].indexOf(r.childNodes[r.childNodes.length - 1].tagName) < 0 && + (r = r.childNodes[r.childNodes.length - 1]); + } + for (r.nodeType == Node.TEXT_NODE && 0 === n.endOffset && r.previousSibling && r.previousSibling.nodeType == Node.ELEMENT_NODE && (r = r.previousSibling); r.nodeType != Node.ELEMENT_NODE && r.parentNode; ) + r = r.parentNode; + for (var a = r; a && "HTML" != a.tagName; ) { + if (a == T.el) return r; + a = be(a).parent()[0]; + } + } + } catch (o) {} + return T.el; + }, + save: S, + restore: R, + isCollapsed: _, + isFull: function () { + if (_()) return !1; + T.selection.save(); + var e, + t = T.el.querySelectorAll("td, th, img, br"); + for (e = 0; e < t.length; e++) t[e].nextSibling && (t[e].innerHTML = '<span class="fr-mk">' + be.FE.INVISIBLE_SPACE + "</span>" + t[e].innerHTML); + var n = !1, + r = i(T.el); + for (r.atStart && r.atEnd && (n = !0), t = T.el.querySelectorAll(".fr-mk"), e = 0; e < t.length; e++) t[e].parentNode.removeChild(t[e]); + return T.selection.restore(), n; + }, + inEditor: p, + remove: function () { + if (_()) return !0; + var t; + S(); + var n = function (e) { + for (var t = e.previousSibling; t && t.nodeType == Node.TEXT_NODE && 0 === t.textContent.length; ) { + var n = t; + (t = t.previousSibling), be(n).remove(); + } + return t; + }, + r = function (e) { + for (var t = e.nextSibling; t && t.nodeType == Node.TEXT_NODE && 0 === t.textContent.length; ) { + var n = t; + (t = t.nextSibling), be(n).remove(); + } + return t; + }, + i = T.$el.find('.fr-marker[data-type="true"]'); + for (t = 0; t < i.length; t++) for (var a = i[t]; !(n(a) || T.node.isBlock(a.parentNode) || T.$el.is(a.parentNode) || T.node.hasClass(a.parentNode, "fr-inner")); ) be(a.parentNode).before(a); + var o = T.$el.find('.fr-marker[data-type="false"]'); + for (t = 0; t < o.length; t++) { + for (var s = o[t]; !(r(s) || T.node.isBlock(s.parentNode) || T.$el.is(s.parentNode) || T.node.hasClass(s.parentNode, "fr-inner")); ) be(s.parentNode).after(s); + s.parentNode && T.node.isBlock(s.parentNode) && T.node.isEmpty(s.parentNode) && !T.$el.is(s.parentNode) && !T.node.hasClass(s.parentNode, "fr-inner") && T.opts.keepFormatOnDelete && be(s.parentNode).after(s); + } + if ( + (function () { + for (var e = T.$el.find(".fr-marker"), t = 0; t < e.length; t++) if (be(e[t]).parentsUntil('.fr-element, [contenteditable="true"]', '[contenteditable="false"]').length) return !1; + return !0; + })() + ) { + !(function e(t, n) { + var r = T.node.contents(t.get(0)); + 0 <= ["TD", "TH"].indexOf(t.get(0).tagName) && 1 == t.find(".fr-marker").length && T.node.hasClass(r[0], "fr-marker") && t.attr("data-del-cell", !0); + for (var i = 0; i < r.length; i++) { + var a = r[i]; + T.node.hasClass(a, "fr-marker") + ? (n = (n + 1) % 2) + : n + ? 0 < be(a).find(".fr-marker").length + ? (n = e(be(a), n)) + : ["TD", "TH"].indexOf(a.tagName) < 0 && !T.node.hasClass(a, "fr-inner") + ? !T.opts.keepFormatOnDelete || 0 < T.$el.find("[data-first]").length || T.node.isVoid(a) + ? be(a).remove() + : L(a) + : T.node.hasClass(a, "fr-inner") + ? 0 === be(a).find(".fr-inner").length + ? be(a).html("<br>") + : be(a).find(".fr-inner").filter(x).html("<br>") + : (be(a).empty(), be(a).attr("data-del-cell", !0)) + : 0 < be(a).find(".fr-marker").length && (n = e(be(a), n)); + } + return n; + })(T.$el, 0); + var l = T.$el.find('[data-first="true"]'); + if (l.length) T.$el.find(".fr-marker").remove(), l.append(be.FE.INVISIBLE_SPACE + be.FE.MARKERS).removeAttr("data-first"), l.attr("data-text") && l.replaceWith(l.html()); + else + for ( + T.$el + .find("table") + .filter(function () { + return 0 < be(this).find("[data-del-cell]").length && be(this).find("[data-del-cell]").length == be(this).find("td, th").length; + }) + .remove(), + T.$el.find("[data-del-cell]").removeAttr("data-del-cell"), + i = T.$el.find('.fr-marker[data-type="true"]'), + t = 0; + t < i.length; + t++ + ) { + var d = i[t], + c = d.nextSibling, + f = T.$el.find('.fr-marker[data-type="false"][data-id="' + be(d).data("id") + '"]').get(0); + if (f) { + if (d && (!c || c != f)) { + var p = T.node.blockParent(d), + u = T.node.blockParent(f), + h = !1, + g = !1; + if ((p && 0 <= ["UL", "OL"].indexOf(p.tagName) && (h = !(p = null)), u && 0 <= ["UL", "OL"].indexOf(u.tagName) && (g = !(u = null)), be(d).after(f), p != u)) + if (null != p || h) + if (null != u || g || 0 !== be(p).parentsUntil(T.$el, "table").length) + p && + u && + 0 === be(p).parentsUntil(T.$el, "table").length && + 0 === be(u).parentsUntil(T.$el, "table").length && + 0 === be(p).find(u).length && + 0 === be(u).find(p).length && + (be(p).append(be(u).html()), be(u).remove()); + else { + for (c = p; !c.nextSibling && c.parentNode != T.el; ) c = c.parentNode; + for (c = c.nextSibling; c && "BR" != c.tagName; ) { + var m = c.nextSibling; + be(p).append(c), (c = m); + } + c && "BR" == c.tagName && be(c).remove(); + } + else { + var v = T.node.deepestParent(d); + v ? (be(v).after(be(u).html()), be(u).remove()) : 0 === be(u).parentsUntil(T.$el, "table").length && (be(d).next().after(be(u).html()), be(u).remove()); + } + } + } else (f = be(d).clone().attr("data-type", !1)), be(d).after(f); + } + } + T.$el.find("li:empty").remove(), T.opts.keepFormatOnDelete || T.html.fillEmptyBlocks(), T.html.cleanEmptyTags(!0), T.opts.htmlUntouched || (T.clean.lists(), T.$el.find("li:empty").append("<br>"), T.spaces.normalize()); + var E = T.$el.find(".fr-marker:last").get(0), + b = T.$el.find(".fr-marker:first").get(0); + void 0 !== E && void 0 !== b && !E.nextSibling && b.previousSibling && "BR" == b.previousSibling.tagName && T.node.isElement(E.parentNode) && T.node.isElement(b.parentNode) && T.$el.append("<br>"), R(); + }, + blocks: function () { + var e, + t = [], + n = A(); + if (p() && n.rangeCount) { + var r = c(); + for (e = 0; e < r.length; e++) { + var i, + a = r[e], + o = f(a.startContainer, a.startOffset), + s = f(a.endContainer, a.endOffset); + (T.node.isBlock(o) || T.node.hasClass(o, "fr-inner")) && t.indexOf(o) < 0 && t.push(o), (i = T.node.blockParent(o)) && t.indexOf(i) < 0 && t.push(i); + for (var l = [], d = o; d !== s && d !== T.el; ) + l.indexOf(d) < 0 && d.children && d.children.length ? (l.push(d), (d = d.children[0])) : d.nextSibling ? (d = d.nextSibling) : d.parentNode && ((d = d.parentNode), l.push(d)), + T.node.isBlock(d) && l.indexOf(d) < 0 && t.indexOf(d) < 0 && (d !== s || 0 < a.endOffset) && t.push(d); + T.node.isBlock(s) && t.indexOf(s) < 0 && 0 < a.endOffset && t.push(s), (i = T.node.blockParent(s)) && t.indexOf(i) < 0 && t.push(i); + } + } + for (e = t.length - 1; 0 < e; e--) be(t[e]).find(t).length && t.splice(e, 1); + return t; + }, + info: i, + setAtEnd: a, + setAtStart: r, + setBefore: function (e, t) { + void 0 === t && (t = !0); + for (var n = e.previousSibling; n && n.nodeType == Node.TEXT_NODE && 0 === n.textContent.length; ) n = n.previousSibling; + return n ? (T.node.isBlock(n) ? a(n) : "BR" == n.tagName ? be(n).before(be.FE.MARKERS) : be(n).after(be.FE.MARKERS), !0) : !!t && (T.node.isBlock(e) ? r(e) : be(e).before(be.FE.MARKERS), !0); + }, + setAfter: function (e, t) { + void 0 === t && (t = !0); + for (var n = e.nextSibling; n && n.nodeType == Node.TEXT_NODE && 0 === n.textContent.length; ) n = n.nextSibling; + return n ? (T.node.isBlock(n) ? r(n) : be(n).before(be.FE.MARKERS), !0) : !!t && (T.node.isBlock(e) ? a(e) : be(e).after(be.FE.MARKERS), !0); + }, + rangeElement: f, + }; + }), + be.extend(be.FE.DEFAULTS, { + htmlAllowedTags: [ + "a", + "abbr", + "address", + "area", + "article", + "aside", + "audio", + "b", + "base", + "bdi", + "bdo", + "blockquote", + "br", + "button", + "canvas", + "caption", + "cite", + "code", + "col", + "colgroup", + "datalist", + "dd", + "del", + "details", + "dfn", + "dialog", + "div", + "dl", + "dt", + "em", + "embed", + "fieldset", + "figcaption", + "figure", + "footer", + "form", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "header", + "hgroup", + "hr", + "i", + "iframe", + "img", + "input", + "ins", + "kbd", + "keygen", + "label", + "legend", + "li", + "link", + "main", + "map", + "mark", + "menu", + "menuitem", + "meter", + "nav", + "noscript", + "object", + "ol", + "optgroup", + "option", + "output", + "p", + "param", + "pre", + "progress", + "queue", + "rp", + "rt", + "ruby", + "s", + "samp", + "script", + "style", + "section", + "select", + "small", + "source", + "span", + "strike", + "strong", + "sub", + "summary", + "sup", + "table", + "tbody", + "td", + "textarea", + "tfoot", + "th", + "thead", + "time", + "tr", + "track", + "u", + "ul", + "var", + "video", + "wbr", + ], + htmlRemoveTags: ["script", "style"], + htmlAllowedAttrs: [ + "accept", + "accept-charset", + "accesskey", + "action", + "align", + "allowfullscreen", + "allowtransparency", + "alt", + "async", + "autocomplete", + "autofocus", + "autoplay", + "autosave", + "background", + "bgcolor", + "border", + "charset", + "cellpadding", + "cellspacing", + "checked", + "cite", + "class", + "color", + "cols", + "colspan", + "content", + "contenteditable", + "contextmenu", + "controls", + "coords", + "data", + "data-.*", + "datetime", + "default", + "defer", + "dir", + "dirname", + "disabled", + "download", + "draggable", + "dropzone", + "enctype", + "for", + "form", + "formaction", + "frameborder", + "headers", + "height", + "hidden", + "high", + "href", + "hreflang", + "http-equiv", + "icon", + "id", + "ismap", + "itemprop", + "keytype", + "kind", + "label", + "lang", + "language", + "list", + "loop", + "low", + "max", + "maxlength", + "media", + "method", + "min", + "mozallowfullscreen", + "multiple", + "muted", + "name", + "novalidate", + "open", + "optimum", + "pattern", + "ping", + "placeholder", + "playsinline", + "poster", + "preload", + "pubdate", + "radiogroup", + "readonly", + "rel", + "required", + "reversed", + "rows", + "rowspan", + "sandbox", + "scope", + "scoped", + "scrolling", + "seamless", + "selected", + "shape", + "size", + "sizes", + "span", + "src", + "srcdoc", + "srclang", + "srcset", + "start", + "step", + "summary", + "spellcheck", + "style", + "tabindex", + "target", + "title", + "type", + "translate", + "usemap", + "value", + "valign", + "webkitallowfullscreen", + "width", + "wrap", + ], + htmlAllowedStyleProps: [".*"], + htmlAllowComments: !0, + htmlUntouched: !1, + fullPage: !1, + }), + (be.FE.HTML5Map = { B: "STRONG", I: "EM", STRIKE: "S" }), + (be.FE.MODULES.clean = function (c) { + var f, p, u, h; + function i(e) { + if (e.nodeType == Node.ELEMENT_NODE && e.getAttribute("class") && 0 <= e.getAttribute("class").indexOf("fr-marker")) return !1; + var t, + n = c.node.contents(e), + r = []; + for (t = 0; t < n.length; t++) + n[t].nodeType != Node.ELEMENT_NODE || c.node.isVoid(n[t]) + ? n[t].nodeType == Node.TEXT_NODE && (n[t].textContent = n[t].textContent.replace(/\u200b/g, "")) + : n[t].textContent.replace(/\u200b/g, "").length != n[t].textContent.length && i(n[t]); + if (e.nodeType == Node.ELEMENT_NODE && !c.node.isVoid(e) && (e.normalize(), (n = c.node.contents(e)), (r = e.querySelectorAll(".fr-marker")), n.length - r.length == 0)) { + for (t = 0; t < n.length; t++) if (n[t].nodeType == Node.ELEMENT_NODE && (n[t].getAttribute("class") || "").indexOf("fr-marker") < 0) return !1; + for (t = 0; t < r.length; t++) e.parentNode.insertBefore(r[t].cloneNode(!0), e); + return e.parentNode.removeChild(e), !1; + } + } + function s(e, t) { + if (e.nodeType == Node.COMMENT_NODE) return "\x3c!--" + e.nodeValue + "--\x3e"; + if (e.nodeType == Node.TEXT_NODE) + return t + ? e.textContent.replace(/\&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;") + : e.textContent + .replace(/\&/g, "&amp;") + .replace(/</g, "&lt;") + .replace(/>/g, "&gt;") + .replace(/\u00A0/g, "&nbsp;") + .replace(/\u0009/g, ""); + if (e.nodeType != Node.ELEMENT_NODE) return e.outerHTML; + if (e.nodeType == Node.ELEMENT_NODE && 0 <= ["STYLE", "SCRIPT", "NOSCRIPT"].indexOf(e.tagName)) return e.outerHTML; + if (e.nodeType == Node.ELEMENT_NODE && "svg" == e.tagName) { + var n = document.createElement("div"), + r = e.cloneNode(!0); + return n.appendChild(r), n.innerHTML; + } + if ("IFRAME" == e.tagName) return e.outerHTML.replace(/\&lt;/g, "<").replace(/\&gt;/g, ">"); + var i = e.childNodes; + if (0 === i.length) return e.outerHTML; + for (var a = "", o = 0; o < i.length; o++) "PRE" == e.tagName && (t = !0), (a += s(i[o], t)); + return c.node.openTagString(e) + a + c.node.closeTagString(e); + } + var o = []; + function g(e) { + var t = e.replace(/;;/gi, ";"); + return ";" != (t = t.replace(/^;/gi, "")).charAt(t.length) && (t += ";"), t; + } + function l(e) { + var t; + for (t in e) + if (e.hasOwnProperty(t)) { + var n = t.match(u), + r = null; + "style" == t && c.opts.htmlAllowedStyleProps.length && (r = e[t].match(h)), n && r ? (e[t] = g(r.join(";"))) : (n && ("style" != t || r)) || delete e[t]; + } + for (var i = "", a = Object.keys(e).sort(), o = 0; o < a.length; o++) e[(t = a[o])].indexOf('"') < 0 ? (i += " " + t + '="' + e[t] + '"') : (i += " " + t + "='" + e[t] + "'"); + return i; + } + function d(e, t) { + var n, + r = document.implementation.createHTMLDocument("Froala DOC").createElement("DIV"); + be(r).append(e); + var i = ""; + if (r) { + var a = c.node.contents(r); + for (n = 0; n < a.length; n++) t(a[n]); + for (a = c.node.contents(r), n = 0; n < a.length; n++) i += s(a[n]); + } + return i; + } + function m(e, t, n) { + o = []; + var r = (e = e + .replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, function (e) { + return o.push(e), "[FROALA.EDITOR.SCRIPT " + (o.length - 1) + "]"; + }) + .replace(/<noscript\b[^<]*(?:(?!<\/noscript>)<[^<]*)*<\/noscript>/gi, function (e) { + return o.push(e), "[FROALA.EDITOR.NOSCRIPT " + (o.length - 1) + "]"; + }) + .replace(/<meta((?:[\w\W]*?)) http-equiv="/g, '<meta$1 data-fr-http-equiv="') + .replace(/<img((?:[\w\W]*?)) src="/g, '<img$1 data-fr-src="')), + i = null; + c.opts.fullPage && ((r = c.html.extractNode(e, "body") || (0 <= e.indexOf("<body") ? "" : e)), n && (i = c.html.extractNode(e, "head") || "")), (r = d(r, t)), i && (i = d(i, t)); + var a = (function (e, t, n) { + if (c.opts.fullPage) { + var r = c.html.extractDoctype(n), + i = l(c.html.extractNodeAttrs(n, "html")); + return ( + (t = null == t ? c.html.extractNode(n, "head") || "<title></title>" : t), + r + "<html" + i + "><head" + l(c.html.extractNodeAttrs(n, "head")) + ">" + t + "</head><body" + l(c.html.extractNodeAttrs(n, "body")) + ">" + e + "</body></html>" + ); + } + return e; + })(r, i, e); + return a + .replace(/\[FROALA\.EDITOR\.SCRIPT ([\d]*)\]/gi, function (e, t) { + return 0 <= c.opts.htmlRemoveTags.indexOf("script") ? "" : o[parseInt(t, 10)]; + }) + .replace(/\[FROALA\.EDITOR\.NOSCRIPT ([\d]*)\]/gi, function (e, t) { + return 0 <= c.opts.htmlRemoveTags.indexOf("noscript") ? "" : o[parseInt(t, 10)].replace(/\&lt;/g, "<").replace(/\&gt;/g, ">"); + }) + .replace(/<img((?:[\w\W]*?)) data-fr-src="/g, '<img$1 src="'); + } + function v(e) { + var t = c.doc.createElement("DIV"); + return (t.innerText = e), t.textContent; + } + function E(e) { + for (var t = c.node.contents(e), n = 0; n < t.length; n++) t[n].nodeType != Node.TEXT_NODE && E(t[n]); + !(function (e) { + if ("SPAN" == e.tagName && 0 <= (e.getAttribute("class") || "").indexOf("fr-marker")) return; + var t, n; + if ( + ("PRE" == e.tagName && 0 <= (n = (t = e).innerHTML).indexOf("\n") && (t.innerHTML = n.replace(/\n/g, "<br>")), + e.nodeType == Node.ELEMENT_NODE && + (e.getAttribute("data-fr-src") && 0 !== e.getAttribute("data-fr-src").indexOf("blob:") && e.setAttribute("data-fr-src", c.helpers.sanitizeURL(v(e.getAttribute("data-fr-src")))), + e.getAttribute("href") && e.setAttribute("href", c.helpers.sanitizeURL(v(e.getAttribute("href")))), + e.getAttribute("src") && e.setAttribute("src", c.helpers.sanitizeURL(v(e.getAttribute("src")))), + e.getAttribute("data") && e.setAttribute("data", c.helpers.sanitizeURL(v(e.getAttribute("data")))), + 0 <= ["TABLE", "TBODY", "TFOOT", "TR"].indexOf(e.tagName) && (e.innerHTML = e.innerHTML.trim())), + !c.opts.pasteAllowLocalImages && e.nodeType == Node.ELEMENT_NODE && "IMG" == e.tagName && e.getAttribute("data-fr-src") && 0 === e.getAttribute("data-fr-src").indexOf("file://")) + ) + return e.parentNode.removeChild(e); + if (e.nodeType == Node.ELEMENT_NODE && be.FE.HTML5Map[e.tagName] && "" === c.node.attributes(e)) { + var r = be.FE.HTML5Map[e.tagName], + i = "<" + r + ">" + e.innerHTML + "</" + r + ">"; + e.insertAdjacentHTML("beforebegin", i), (e = e.previousSibling).parentNode.removeChild(e.nextSibling); + } + if (c.opts.htmlAllowComments || e.nodeType != Node.COMMENT_NODE) + if (e.tagName && e.tagName.match(p)) e.parentNode.removeChild(e); + else if (e.tagName && !e.tagName.match(f)) + "svg" === e.tagName + ? e.parentNode.removeChild(e) + : (c.browser.safari && "path" == e.tagName && e.parentNode && "svg" == e.parentNode.tagName) || (c.browser.safari ? e.replaceWith(e.innerHTML) : (e.outerHTML = e.innerHTML)); + else { + var a = e.attributes; + if (a) + for (var o = a.length - 1; 0 <= o; o--) { + var s = a[o], + l = s.nodeName.match(u), + d = null; + "style" == s.nodeName && c.opts.htmlAllowedStyleProps.length && (d = s.value.match(h)), l && d ? (s.value = g(d.join(";"))) : (l && ("style" != s.nodeName || d)) || e.removeAttribute(s.nodeName); + } + } + else 0 !== e.data.indexOf("[FROALA.EDITOR") && e.parentNode.removeChild(e); + })(e); + } + return { + _init: function () { + c.opts.fullPage && be.merge(c.opts.htmlAllowedTags, ["head", "title", "style", "link", "base", "body", "html", "meta"]); + }, + html: function (e, t, n, r) { + void 0 === t && (t = []), void 0 === n && (n = []), void 0 === r && (r = !1); + var i, + a = be.merge([], c.opts.htmlAllowedTags); + for (i = 0; i < t.length; i++) 0 <= a.indexOf(t[i]) && a.splice(a.indexOf(t[i]), 1); + var o = be.merge([], c.opts.htmlAllowedAttrs); + for (i = 0; i < n.length; i++) 0 <= o.indexOf(n[i]) && o.splice(o.indexOf(n[i]), 1); + return ( + o.push("data-fr-.*"), + o.push("fr-.*"), + (f = new RegExp("^" + a.join("$|^") + "$", "gi")), + (u = new RegExp("^" + o.join("$|^") + "$", "gi")), + (p = new RegExp("^" + c.opts.htmlRemoveTags.join("$|^") + "$", "gi")), + (h = c.opts.htmlAllowedStyleProps.length ? new RegExp("((^|;|\\s)" + c.opts.htmlAllowedStyleProps.join(":.+?(?=;|$))|((^|;|\\s)") + ":.+?(?=(;)|$))", "gi") : null), + (e = m(e, E, !0)) + ); + }, + toHTML5: function () { + var e = c.el.querySelectorAll(Object.keys(be.FE.HTML5Map).join(",")); + if (e.length) { + var t = !1; + c.el.querySelector(".fr-marker") || (c.selection.save(), (t = !0)); + for (var n = 0; n < e.length; n++) "" === c.node.attributes(e[n]) && be(e[n]).replaceWith("<" + be.FE.HTML5Map[e[n].tagName] + ">" + e[n].innerHTML + "</" + be.FE.HTML5Map[e[n].tagName] + ">"); + t && c.selection.restore(); + } + }, + tables: function () { + !(function () { + for (var e = c.el.querySelectorAll("tr"), t = 0; t < e.length; t++) { + for (var n = e[t].children, r = !0, i = 0; i < n.length; i++) + if ("TH" != n[i].tagName) { + r = !1; + break; + } + if (!1 !== r && 0 !== n.length) { + for (var a = e[t]; a && "TABLE" != a.tagName && "THEAD" != a.tagName; ) a = a.parentNode; + var o = a; + "THEAD" != o.tagName && ((o = c.doc.createElement("THEAD")), a.insertBefore(o, a.firstChild)), o.appendChild(e[t]); + } + } + })(); + }, + lists: function () { + !(function () { + var e, + t = []; + do { + if (t.length) { + var n = t[0], + r = c.doc.createElement("ul"); + n.parentNode.insertBefore(r, n); + do { + var i = n; + (n = n.nextSibling), r.appendChild(i); + } while (n && "LI" == n.tagName); + } + t = []; + for (var a = c.el.querySelectorAll("li"), o = 0; o < a.length; o++) (e = a[o]), c.node.isList(e.parentNode) || t.push(a[o]); + } while (0 < t.length); + })(), + (function () { + for (var e = c.el.querySelectorAll("ol + ol, ul + ul"), t = 0; t < e.length; t++) { + var n = e[t]; + if (c.node.isList(n.previousSibling) && c.node.openTagString(n) == c.node.openTagString(n.previousSibling)) { + for (var r = c.node.contents(n), i = 0; i < r.length; i++) n.previousSibling.appendChild(r[i]); + n.parentNode.removeChild(n); + } + } + })(), + (function () { + for (var e = c.el.querySelectorAll("ul, ol"), t = 0; t < e.length; t++) + for (var n = c.node.contents(e[t]), r = null, i = n.length - 1; 0 <= i; i--) "LI" != n[i].tagName ? (r || (r = be("<li>")).insertBefore(n[i]), r.prepend(n[i])) : (r = null); + })(), + (function () { + var e, t, n; + do { + t = !1; + var r = c.el.querySelectorAll("li:empty"); + for (e = 0; e < r.length; e++) r[e].parentNode.removeChild(r[e]); + var i = c.el.querySelectorAll("ul, ol"); + for (e = 0; e < i.length; e++) (n = i[e]).querySelector("LI") || ((t = !0), n.parentNode.removeChild(n)); + } while (!0 === t); + })(), + (function () { + for (var e = c.el.querySelectorAll("ul > ul, ol > ol, ul > ol, ol > ul"), t = 0; t < e.length; t++) { + var n = e[t], + r = n.previousSibling; + r && ("LI" == r.tagName ? r.appendChild(n) : be(n).wrap("<li></li>")); + } + })(), + (function () { + for (var e = c.el.querySelectorAll("li > ul, li > ol"), t = 0; t < e.length; t++) { + var n = e[t]; + if (n.nextSibling) { + var r = n.nextSibling, + i = be("<li>"); + be(n.parentNode).after(i); + do { + var a = r; + (r = r.nextSibling), i.append(a); + } while (r); + } + } + })(), + (function () { + for (var e = c.el.querySelectorAll("li > ul, li > ol"), t = 0; t < e.length; t++) { + var n = e[t]; + if (c.node.isFirstSibling(n)) be(n).before("<br/>"); + else if (n.previousSibling && "BR" == n.previousSibling.tagName) { + for (var r = n.previousSibling.previousSibling; r && c.node.hasClass(r, "fr-marker"); ) r = r.previousSibling; + r && "BR" != r.tagName && be(n.previousSibling).remove(); + } + } + })(), + (function () { + for (var e = c.el.querySelectorAll("li:empty"), t = 0; t < e.length; t++) be(e[t]).remove(); + })(); + }, + invisibleSpaces: function (e) { + return e.replace(/\u200b/g, "").length == e.length ? e : c.clean.exec(e, i); + }, + exec: m, + }; + }), + (be.FE.MODULES.spaces = function (l) { + function r(e, t) { + var n = e.previousSibling, + r = e.nextSibling, + i = e.textContent, + a = e.parentNode; + if (!l.html.isPreformatted(a)) { + t && + ((i = i.replace(/[\f\n\r\t\v ]{2,}/g, " ")), + (r && "BR" !== r.tagName && !l.node.isBlock(r)) || !(l.node.isBlock(a) || (l.node.isLink(a) && !a.nextSibling) || l.node.isElement(a)) || (i = i.replace(/[\f\n\r\t\v ]{1,}$/g, "")), + (n && "BR" !== n.tagName && !l.node.isBlock(n)) || !(l.node.isBlock(a) || (l.node.isLink(a) && !a.previousSibling) || l.node.isElement(a)) || (i = i.replace(/^[\f\n\r\t\v ]{1,}/g, "")), + " " !== i || !((n && l.node.isVoid(n)) || (r && l.node.isVoid(r))) || (n && r && l.node.isVoid(n) && l.node.isVoid(r)) || (i = "")), + ((!n && l.node.isBlock(r)) || (!r && l.node.isBlock(n))) && l.node.isBlock(a) && a !== l.el && (i = i.replace(/^[\f\n\r\t\v ]{1,}/g, "")), + t || (i = i.replace(new RegExp(be.FE.UNICODE_NBSP, "g"), " ")); + for (var o = "", s = 0; s < i.length; s++) 32 != i.charCodeAt(s) || (0 !== s && 32 != o.charCodeAt(s - 1)) || (n && r && l.node.isVoid(n) && l.node.isVoid(r)) ? (o += i[s]) : (o += be.FE.UNICODE_NBSP); + (!r || (r && l.node.isBlock(r)) || (r && r.nodeType == Node.ELEMENT_NODE && l.win.getComputedStyle(r) && "block" == l.win.getComputedStyle(r).display)) && (o = o.replace(/ $/, be.FE.UNICODE_NBSP)), + !n || l.node.isVoid(n) || l.node.isBlock(n) || 1 !== (o = o.replace(/^\u00A0([^ $])/, " $1")).length || 160 !== o.charCodeAt(0) || !r || l.node.isVoid(r) || l.node.isBlock(r) || (o = " "), + t || (o = o.replace(/([^ \u00A0])\u00A0([^ \u00A0])/g, "$1 $2")), + e.textContent != o && (e.textContent = o); + } + } + function d(e, t) { + if (((void 0 !== e && e) || (e = l.el), void 0 === t && (t = !1), !e.getAttribute || "false" != e.getAttribute("contenteditable"))) + if (e.nodeType == Node.TEXT_NODE) r(e, t); + else if (e.nodeType == Node.ELEMENT_NODE) + for ( + var n = l.doc.createTreeWalker( + e, + NodeFilter.SHOW_TEXT, + l.node.filter(function (e) { + for (var t = e.parentNode; t && t !== l.el; ) { + if ("STYLE" == t.tagName || "IFRAME" == t.tagName) return !1; + if ("PRE" === t.tagName) return !1; + t = t.parentNode; + } + return null != e.textContent.match(/([ \u00A0\f\n\r\t\v]{2,})|(^[ \u00A0\f\n\r\t\v]{1,})|([ \u00A0\f\n\r\t\v]{1,}$)/g) && !l.node.hasClass(e.parentNode, "fr-marker"); + }), + !1 + ); + n.nextNode(); + + ) + r(n.currentNode, t); + } + return { + normalize: d, + normalizeAroundCursor: function () { + for (var e = [], t = l.el.querySelectorAll(".fr-marker"), n = 0; n < t.length; n++) { + for (var r = null, i = l.node.blockParent(t[n]), a = (r = i || t[n]).nextSibling, o = r.previousSibling; a && "BR" == a.tagName; ) a = a.nextSibling; + for (; o && "BR" == o.tagName; ) o = o.previousSibling; + r && e.indexOf(r) < 0 && e.push(r), o && e.indexOf(o) < 0 && e.push(o), a && e.indexOf(a) < 0 && e.push(a); + } + for (var s = 0; s < e.length; s++) d(e[s]); + }, + }; + }), + (be.FE.UNICODE_NBSP = String.fromCharCode(160)), + (be.FE.VOID_ELEMENTS = ["area", "base", "br", "col", "embed", "hr", "img", "input", "keygen", "link", "menuitem", "meta", "param", "source", "track", "wbr"]), + (be.FE.BLOCK_TAGS = [ + "address", + "article", + "aside", + "audio", + "blockquote", + "canvas", + "details", + "dd", + "div", + "dl", + "dt", + "fieldset", + "figcaption", + "figure", + "footer", + "form", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "header", + "hgroup", + "hr", + "li", + "main", + "nav", + "noscript", + "ol", + "output", + "p", + "pre", + "section", + "table", + "tbody", + "td", + "tfoot", + "th", + "thead", + "tr", + "ul", + "video", + ]), + be.extend(be.FE.DEFAULTS, { + htmlAllowedEmptyTags: ["textarea", "a", "iframe", "object", "video", "style", "script", ".fa", ".fr-emoticon", ".fr-inner", "path", "line"], + htmlDoNotWrapTags: ["script", "style"], + htmlSimpleAmpersand: !1, + htmlIgnoreCSSProperties: [], + htmlExecuteScripts: !0, + }), + (be.FE.MODULES.html = function (x) { + function c() { + return x.opts.enter == be.FE.ENTER_P ? "p" : x.opts.enter == be.FE.ENTER_DIV ? "div" : x.opts.enter == be.FE.ENTER_BR ? null : void 0; + } + function s(e, t) { + return !(!e || e === x.el) && (t ? -1 != ["PRE", "SCRIPT", "STYLE"].indexOf(e.tagName) || s(e.parentNode, t) : -1 != ["PRE", "SCRIPT", "STYLE"].indexOf(e.tagName)); + } + function a(e) { + var t, + n = [], + r = []; + if (e) { + var i = x.el.querySelectorAll(".fr-marker"); + for (t = 0; t < i.length; t++) { + var a = x.node.blockParent(i[t]) || i[t]; + if (a) { + var o = a.nextSibling, + s = a.previousSibling; + a && r.indexOf(a) < 0 && x.node.isBlock(a) && r.push(a), s && x.node.isBlock(s) && r.indexOf(s) < 0 && r.push(s), o && x.node.isBlock(o) && r.indexOf(o) < 0 && r.push(o); + } + } + } else r = x.el.querySelectorAll(p()); + var l = p(); + for (l += "," + be.FE.VOID_ELEMENTS.join(","), l += ", .fr-inner", l += "," + x.opts.htmlAllowedEmptyTags.join(":not(.fr-marker),") + ":not(.fr-marker)", t = r.length - 1; 0 <= t; t--) + if (!((r[t].textContent && 0 < r[t].textContent.replace(/\u200B|\n/g, "").length) || 0 < r[t].querySelectorAll(l).length)) { + for (var d = x.node.contents(r[t]), c = !1, f = 0; f < d.length; f++) + if (d[f].nodeType != Node.COMMENT_NODE && d[f].textContent && 0 < d[f].textContent.replace(/\u200B|\n/g, "").length) { + c = !0; + break; + } + c || n.push(r[t]); + } + return n; + } + function p() { + return be.FE.BLOCK_TAGS.join(", "); + } + function e(e) { + var t, + n, + r = be.merge([], be.FE.VOID_ELEMENTS); + (r = be.merge(r, x.opts.htmlAllowedEmptyTags)), (r = void 0 === e ? be.merge(r, be.FE.BLOCK_TAGS) : be.merge(r, be.FE.NO_DELETE_TAGS)), (t = x.el.querySelectorAll("*:empty:not(" + r.join("):not(") + "):not(.fr-marker)")); + do { + n = !1; + for (var i = 0; i < t.length; i++) (0 !== t[i].attributes.length && void 0 === t[i].getAttribute("href")) || (t[i].parentNode.removeChild(t[i]), (n = !0)); + t = x.el.querySelectorAll("*:empty:not(" + r.join("):not(") + "):not(.fr-marker)"); + } while (t.length && n); + } + function o(e, t) { + var n = c(); + if ((t && (n = "div"), n)) { + for (var r = x.doc.createDocumentFragment(), i = null, a = !1, o = e.firstChild, s = !1; o; ) { + var l = o.nextSibling; + if (o.nodeType == Node.ELEMENT_NODE && (x.node.isBlock(o) || (0 <= x.opts.htmlDoNotWrapTags.indexOf(o.tagName.toLowerCase()) && !x.node.hasClass(o, "fr-marker")))) (i = null), r.appendChild(o.cloneNode(!0)); + else if (o.nodeType != Node.ELEMENT_NODE && o.nodeType != Node.TEXT_NODE) (i = null), r.appendChild(o.cloneNode(!0)); + else if ("BR" == o.tagName) + null == i + ? ((i = x.doc.createElement(n)), (s = !0), t && (i.setAttribute("class", "fr-temp-div"), i.setAttribute("data-empty", !0)), i.appendChild(o.cloneNode(!0)), r.appendChild(i)) + : !1 === a && (i.appendChild(x.doc.createElement("br")), t && (i.setAttribute("class", "fr-temp-div"), i.setAttribute("data-empty", !0))), + (i = null); + else { + var d = o.textContent; + o.nodeType !== Node.TEXT_NODE || 0 < d.replace(/\n/g, "").replace(/(^ *)|( *$)/g, "").length || (d.replace(/(^ *)|( *$)/g, "").length && d.indexOf("\n") < 0) + ? (null == i && ((i = x.doc.createElement(n)), (s = !0), t && i.setAttribute("class", "fr-temp-div"), r.appendChild(i), (a = !1)), + i.appendChild(o.cloneNode(!0)), + a || x.node.hasClass(o, "fr-marker") || (o.nodeType == Node.TEXT_NODE && 0 === d.replace(/ /g, "").length) || (a = !0)) + : (s = !0); + } + o = l; + } + s && ((e.innerHTML = ""), e.appendChild(r)); + } + } + function l(e, t) { + for (var n = e.length - 1; 0 <= n; n--) o(e[n], t); + } + function t(e, t, n, r, i) { + if (!x.$wp) return !1; + void 0 === e && (e = !1), void 0 === t && (t = !1), void 0 === n && (n = !1), void 0 === r && (r = !1), void 0 === i && (i = !1); + var a = x.$wp.scrollTop(); + o(x.el, e), + r && l(x.el.querySelectorAll(".fr-inner"), e), + t && l(x.el.querySelectorAll("td, th"), e), + n && l(x.el.querySelectorAll("blockquote"), e), + i && l(x.el.querySelectorAll("li"), e), + a != x.$wp.scrollTop() && x.$wp.scrollTop(a); + } + function n(e) { + if ((void 0 === e && (e = x.el), e && 0 <= ["SCRIPT", "STYLE", "PRE"].indexOf(e.tagName))) return !1; + for ( + var t = x.doc.createTreeWalker( + e, + NodeFilter.SHOW_TEXT, + x.node.filter(function (e) { + return null != e.textContent.match(/([ \n]{2,})|(^[ \n]{1,})|([ \n]{1,}$)/g); + }), + !1 + ); + t.nextNode(); + + ) { + var n = t.currentNode; + if (!s(n.parentNode, !0)) { + var r = x.node.isBlock(n.parentNode) || x.node.isElement(n.parentNode), + i = n.textContent + .replace(/(?!^)( ){2,}(?!$)/g, " ") + .replace(/\n/g, " ") + .replace(/^[ ]{2,}/g, " ") + .replace(/[ ]{2,}$/g, " "); + if (r) { + var a = n.previousSibling, + o = n.nextSibling; + a && o && " " == i ? (i = x.node.isBlock(a) && x.node.isBlock(o) ? "" : " ") : (a || (i = i.replace(/^ */, "")), o || (i = i.replace(/ *$/, ""))); + } + n.textContent = i; + } + } + } + function r(e, t, n) { + var r = new RegExp(t, "gi").exec(e); + return r ? r[n] : null; + } + function w(e) { + var t = e.doctype, + n = "<!DOCTYPE html>"; + return t && (n = "<!DOCTYPE " + t.name + (t.publicId ? ' PUBLIC "' + t.publicId + '"' : "") + (!t.publicId && t.systemId ? " SYSTEM" : "") + (t.systemId ? ' "' + t.systemId + '"' : "") + ">"), n; + } + function d(e) { + var t = e.parentNode; + if (t && (x.node.isBlock(t) || x.node.isElement(t)) && ["TD", "TH"].indexOf(t.tagName) < 0) { + for (var n = e.previousSibling, r = e.nextSibling; n && ((n.nodeType == Node.TEXT_NODE && 0 === n.textContent.replace(/\n|\r/g, "").length) || x.node.hasClass(n, "fr-tmp")); ) n = n.previousSibling; + if (r) return !1; + n && + t && + "BR" != n.tagName && + !x.node.isBlock(n) && + !r && + 0 < t.textContent.replace(/\u200B/g, "").length && + 0 < n.textContent.length && + !x.node.hasClass(n, "fr-marker") && + ((x.el == t && !r && x.opts.enter == be.FE.ENTER_BR && x.browser.msie) || e.parentNode.removeChild(e)); + } else !t || x.node.isBlock(t) || x.node.isElement(t) || e.previousSibling || e.nextSibling || !x.node.isDeletable(e.parentNode) || d(e.parentNode); + } + function u() { + x.opts.htmlUntouched || (e(), t(), n(), x.spaces.normalize(null, !0), x.html.fillEmptyBlocks(), x.clean.lists(), x.clean.tables(), x.clean.toHTML5(), x.html.cleanBRs()), x.selection.restore(), i(), x.placeholder.refresh(); + } + function i() { + x.node.isEmpty(x.el) && + (null != c() + ? x.el.querySelector(p()) || + x.el.querySelector(x.opts.htmlDoNotWrapTags.join(":not(.fr-marker),") + ":not(.fr-marker)") || + (x.core.hasFocus() ? (x.$el.html("<" + c() + ">" + be.FE.MARKERS + "<br/></" + c() + ">"), x.selection.restore()) : x.$el.html("<" + c() + "><br/></" + c() + ">")) + : x.el.querySelector("*:not(.fr-marker):not(br)") || (x.core.hasFocus() ? (x.$el.html(be.FE.MARKERS + "<br/>"), x.selection.restore()) : x.$el.html("<br/>"))); + } + function h(e, t) { + return r(e, "<" + t + "[^>]*?>([\\w\\W]*)</" + t + ">", 1); + } + function g(e, t) { + var n = be("<div " + (r(e, "<" + t + "([^>]*?)>", 1) || "") + ">"); + return x.node.rawAttributes(n.get(0)); + } + function m(e) { + return (r(e, "<!DOCTYPE([^>]*?)>", 0) || "<!DOCTYPE html>").replace(/\n/g, " ").replace(/ {2,}/g, " "); + } + function v(e, t) { + x.opts.htmlExecuteScripts ? e.html(t) : (e.get(0).innerHTML = t); + } + function N(e) { + var t; + (t = /:not\(([^\)]*)\)/g).test(e) && (e = e.replace(t, " $1 ")); + var n = + 100 * (e.match(/(#[^\s\+>~\.\[:]+)/g) || []).length + + 10 * (e.match(/(\[[^\]]+\])/g) || []).length + + 10 * (e.match(/(\.[^\s\+>~\.\[:]+)/g) || []).length + + 10 * (e.match(/(:[\w-]+\([^\)]*\))/gi) || []).length + + 10 * (e.match(/(:[^\s\+>~\.\[:]+)/g) || []).length + + (e.match(/(::[^\s\+>~\.\[:]+|:first-line|:first-letter|:before|:after)/gi) || []).length; + return (n += ((e = (e = e.replace(/[\*\s\+>~]/g, " ")).replace(/[#\.]/g, " ")).match(/([^\s\+>~\.\[:]+)/g) || []).length); + } + function O(e) { + if ( + (x.events.trigger("html.processGet", [e]), + e && e.getAttribute && "" === e.getAttribute("class") && e.removeAttribute("class"), + e && e.getAttribute && "" === e.getAttribute("style") && e.removeAttribute("style"), + e && e.nodeType == Node.ELEMENT_NODE) + ) { + var t, + n = e.querySelectorAll('[class=""],[style=""]'); + for (t = 0; t < n.length; t++) { + var r = n[t]; + "" === r.getAttribute("class") && r.removeAttribute("class"), "" === r.getAttribute("style") && r.removeAttribute("style"); + } + if ("BR" === e.tagName) d(e); + else { + var i = e.querySelectorAll("br"); + for (t = 0; t < i.length; t++) d(i[t]); + } + } + } + function I(e, t) { + return e[3] - t[3]; + } + function f(e) { + var t = x.doc.createElement("div"); + return (t.innerHTML = e), null !== t.querySelector(p()); + } + function E(e) { + var t = null; + if ((void 0 === e && (t = x.selection.element()), x.opts.keepFormatOnDelete)) return !1; + var n, + r, + i = t ? (t.textContent.match(/\u200B/g) || []).length - t.querySelectorAll(".fr-marker").length : 0; + if ((x.el.textContent.match(/\u200B/g) || []).length - x.el.querySelectorAll(".fr-marker").length == i) return !1; + do { + (r = !1), (n = x.el.querySelectorAll("*:not(.fr-marker)")); + for (var a = 0; a < n.length; a++) { + var o = n[a]; + if (t != o) { + var s = o.textContent; + 0 === o.children.length && 1 === s.length && 8203 == s.charCodeAt(0) && "TD" !== o.tagName && (be(o).remove(), (r = !0)); + } + } + } while (r); + } + return { + defaultTag: c, + isPreformatted: s, + emptyBlocks: a, + emptyBlockTagsQuery: function () { + return be.FE.BLOCK_TAGS.join(":empty, ") + ":empty"; + }, + blockTagsQuery: p, + fillEmptyBlocks: function (e) { + var t = a(e); + x.node.isEmpty(x.el) && x.opts.enter === be.FE.ENTER_BR && t.push(x.el); + for (var n = 0; n < t.length; n++) { + var r = t[n]; + "false" === r.getAttribute("contenteditable") || + r.querySelector(x.opts.htmlAllowedEmptyTags.join(":not(.fr-marker),") + ":not(.fr-marker)") || + x.node.isVoid(r) || + ("TABLE" != r.tagName && "TBODY" != r.tagName && "TR" != r.tagName && "UL" != r.tagName && "OL" != r.tagName && r.appendChild(x.doc.createElement("br"))); + } + if (x.browser.msie && x.opts.enter == be.FE.ENTER_BR) { + var i = x.node.contents(x.el); + i.length && i[i.length - 1].nodeType == Node.TEXT_NODE && x.$el.append("<br>"); + } + }, + cleanEmptyTags: e, + cleanWhiteTags: E, + cleanBlankSpaces: n, + blocks: function () { + return x.$el.get(0).querySelectorAll(p()); + }, + getDoctype: w, + set: function (e) { + var t, + n, + r, + i = x.clean.html((e || "").trim(), [], [], x.opts.fullPage); + if (x.opts.fullPage) { + var a = h(i, "body") || (0 <= i.indexOf("<body") ? "" : i), + o = g(i, "body"), + s = h(i, "head") || "<title></title>", + l = g(i, "head"), + d = be("<div>") + .append(s) + .contents() + .each(function () { + (this.nodeType == Node.COMMENT_NODE || 0 <= ["BASE", "LINK", "META", "NOSCRIPT", "SCRIPT", "STYLE", "TEMPLATE", "TITLE"].indexOf(this.tagName)) && this.parentNode.removeChild(this); + }) + .end() + .html() + .trim(); + s = be("<div>") + .append(s) + .contents() + .map(function () { + return this.nodeType == Node.COMMENT_NODE + ? "\x3c!--" + this.nodeValue + "--\x3e" + : 0 <= ["BASE", "LINK", "META", "NOSCRIPT", "SCRIPT", "STYLE", "TEMPLATE", "TITLE"].indexOf(this.tagName) + ? this.outerHTML + : ""; + }) + .toArray() + .join(""); + var c = m(i), + f = g(i, "html"); + v(x.$el, d + "\n" + a), + x.node.clearAttributes(x.el), + x.$el.attr(o), + x.$el.addClass("fr-view"), + x.$el.attr("spellcheck", x.opts.spellcheck), + x.$el.attr("dir", x.opts.direction), + v(x.$head, s), + x.node.clearAttributes(x.$head.get(0)), + x.$head.attr(l), + x.node.clearAttributes(x.$html.get(0)), + x.$html.attr(f), + x.iframe_document.doctype.parentNode.replaceChild( + ((t = c), + (n = x.iframe_document), + (r = t.match(/<!DOCTYPE ?([^ ]*) ?([^ ]*) ?"?([^"]*)"? ?"?([^"]*)"?>/i)) ? n.implementation.createDocumentType(r[1], r[3], r[4]) : n.implementation.createDocumentType("html")), + x.iframe_document.doctype + ); + } else v(x.$el, i); + var p = x.edit.isDisabled(); + x.edit.on(), + x.core.injectStyle(x.opts.iframeDefaultStyle + x.opts.iframeStyle), + u(), + x.opts.useClasses || + (x.$el.find("[fr-original-class]").each(function () { + this.setAttribute("class", this.getAttribute("fr-original-class")), this.removeAttribute("fr-original-class"); + }), + x.$el.find("[fr-original-style]").each(function () { + this.setAttribute("style", this.getAttribute("fr-original-style")), this.removeAttribute("fr-original-style"); + })), + p && x.edit.off(), + x.events.trigger("html.set"); + }, + get: function (e, t) { + if (!x.$wp) return x.$oel.clone().removeClass("fr-view").removeAttr("contenteditable").get(0).outerHTML; + var n = ""; + x.events.trigger("html.beforeGet"); + var r, + i, + a = [], + o = {}, + s = [], + l = x.el.querySelectorAll("input, textarea"); + for (r = 0; r < l.length; r++) l[r].setAttribute("value", l[r].value); + if (!x.opts.useClasses && !t) { + var d = new RegExp("^" + x.opts.htmlIgnoreCSSProperties.join("$|^") + "$", "gi"); + for (r = 0; r < x.doc.styleSheets.length; r++) { + var c, + f = 0; + try { + (c = x.doc.styleSheets[r].cssRules), x.doc.styleSheets[r].ownerNode && "STYLE" == x.doc.styleSheets[r].ownerNode.nodeType && (f = 1); + } catch (L) {} + if (c) + for (var p = 0, u = c.length; p < u; p++) + if (c[p].selectorText && 0 < c[p].style.cssText.length) { + var h, + g = c[p].selectorText.replace(/body |\.fr-view /g, "").replace(/::/g, ":"); + try { + h = x.el.querySelectorAll(g); + } catch (L) { + h = []; + } + for (i = 0; i < h.length; i++) { + !h[i].getAttribute("fr-original-style") && h[i].getAttribute("style") + ? (h[i].setAttribute("fr-original-style", h[i].getAttribute("style")), a.push(h[i])) + : h[i].getAttribute("fr-original-style") || (h[i].setAttribute("fr-original-style", ""), a.push(h[i])), + o[h[i]] || (o[h[i]] = {}); + for (var m = 1e3 * f + N(c[p].selectorText), v = c[p].style.cssText.split(";"), E = 0; E < v.length; E++) { + var b = v[E].trim().split(":")[0]; + if ( + b && + !b.match(d) && + (o[h[i]][b] || ((o[h[i]][b] = 0) <= (h[i].getAttribute("fr-original-style") || "").indexOf(b + ":") && (o[h[i]][b] = 1e4)), m >= o[h[i]][b] && ((o[h[i]][b] = m), v[E].trim().length)) + ) { + var T = v[E].trim().split(":"); + T.splice(0, 1), s.push([h[i], b.trim(), T.join(":").trim(), m]); + } + } + } + } + } + for (s.sort(I), r = 0; r < s.length; r++) { + var A = s[r]; + A[0].style[A[1]] = A[2]; + } + for (r = 0; r < a.length; r++) + if ((a[r].getAttribute("class") && (a[r].setAttribute("fr-original-class", a[r].getAttribute("class")), a[r].removeAttribute("class")), 0 < (a[r].getAttribute("fr-original-style") || "").trim().length)) { + var C = a[r].getAttribute("fr-original-style").split(";"); + for (i = 0; i < C.length; i++) + if (0 < C[i].indexOf(":")) { + var S = C[i].split(":"), + R = S[0]; + S.splice(0, 1), (a[r].style[R.trim()] = S.join(":").trim()); + } + } + } + if (x.node.isEmpty(x.el)) x.opts.fullPage && ((n = w(x.iframe_document)), (n += "<html" + x.node.attributes(x.$html.get(0)) + ">" + x.$html.find("head").get(0).outerHTML + "<body></body></html>")); + else if ((void 0 === e && (e = !1), x.opts.fullPage)) { + (n = w(x.iframe_document)), x.$el.removeClass("fr-view"); + var y = x.opts.heightMin; + (x.opts.heightMin = null), x.size.refresh(), (n += "<html" + x.node.attributes(x.$html.get(0)) + ">" + x.$html.html() + "</html>"), (x.opts.heightMin = y), x.size.refresh(), x.$el.addClass("fr-view"); + } else n = x.$el.html(); + if (!x.opts.useClasses && !t) + for (r = 0; r < a.length; r++) + a[r].getAttribute("fr-original-class") && (a[r].setAttribute("class", a[r].getAttribute("fr-original-class")), a[r].removeAttribute("fr-original-class")), + null != a[r].getAttribute("fr-original-style") && void 0 !== a[r].getAttribute("fr-original-style") + ? (0 !== a[r].getAttribute("fr-original-style").length ? a[r].setAttribute("style", a[r].getAttribute("fr-original-style")) : a[r].removeAttribute("style"), a[r].removeAttribute("fr-original-style")) + : a[r].removeAttribute("style"); + x.opts.fullPage && + (n = (n = (n = (n = (n = (n = (n = (n = n.replace(/<style data-fr-style="true">(?:[\w\W]*?)<\/style>/g, "")).replace(/<link([^>]*)data-fr-style="true"([^>]*)>/g, "")).replace( + /<style(?:[\w\W]*?)class="firebugResetStyles"(?:[\w\W]*?)>(?:[\w\W]*?)<\/style>/g, + "" + )).replace(/<body((?:[\w\W]*?)) spellcheck="true"((?:[\w\W]*?))>((?:[\w\W]*?))<\/body>/g, "<body$1$2>$3</body>")).replace( + /<body((?:[\w\W]*?)) contenteditable="(true|false)"((?:[\w\W]*?))>((?:[\w\W]*?))<\/body>/g, + "<body$1$3>$4</body>" + )).replace(/<body((?:[\w\W]*?)) dir="([\w]*)"((?:[\w\W]*?))>((?:[\w\W]*?))<\/body>/g, "<body$1$3>$4</body>")).replace( + /<body((?:[\w\W]*?))class="([\w\W]*?)(fr-rtl|fr-ltr)([\w\W]*?)"((?:[\w\W]*?))>((?:[\w\W]*?))<\/body>/g, + '<body$1class="$2$4"$5>$6</body>' + )).replace(/<body((?:[\w\W]*?)) class=""((?:[\w\W]*?))>((?:[\w\W]*?))<\/body>/g, "<body$1$2>$3</body>")), + x.opts.htmlSimpleAmpersand && (n = n.replace(/\&amp;/gi, "&")), + x.events.trigger("html.afterGet"), + e || (n = n.replace(/<span[^>]*? class\s*=\s*["']?fr-marker["']?[^>]+>\u200b<\/span>/gi, "")), + (n = x.clean.invisibleSpaces(n)), + (n = x.clean.exec(n, O)); + var _ = x.events.chainTrigger("html.get", n); + return ( + "string" == typeof _ && (n = _), + (n = (n = n.replace(/<pre(?:[\w\W]*?)>(?:[\w\W]*?)<\/pre>/g, function (e) { + return e.replace(/<br>/g, "\n"); + })).replace(/<meta((?:[\w\W]*?)) data-fr-http-equiv="/g, '<meta$1 http-equiv="')) + ); + }, + getSelected: function () { + var e, + t, + n = function (e, t) { + for (; t && (t.nodeType == Node.TEXT_NODE || !x.node.isBlock(t)) && !x.node.isElement(t) && !x.node.hasClass(t, "fr-inner"); ) + t && t.nodeType != Node.TEXT_NODE && be(e).wrapInner(x.node.openTagString(t) + x.node.closeTagString(t)), (t = t.parentNode); + t && e.innerHTML == t.innerHTML && (e.innerHTML = t.outerHTML); + }, + r = ""; + if ("undefined" != typeof x.win.getSelection) { + x.browser.mozilla && + (x.selection.save(), + 1 < x.$el.find('.fr-marker[data-type="false"]').length && + (x.$el.find('.fr-marker[data-type="false"][data-id="0"]').remove(), x.$el.find('.fr-marker[data-type="false"]:last').attr("data-id", "0"), x.$el.find(".fr-marker").not('[data-id="0"]').remove()), + x.selection.restore()); + for (var i = x.selection.ranges(), a = 0; a < i.length; a++) { + var o = document.createElement("div"); + o.appendChild(i[a].cloneContents()), + n( + o, + ((t = e = void 0), + (t = null), + x.win.getSelection + ? (e = x.win.getSelection()) && e.rangeCount && (t = e.getRangeAt(0).commonAncestorContainer).nodeType != Node.ELEMENT_NODE && (t = t.parentNode) + : (e = x.doc.selection) && "Control" != e.type && (t = e.createRange().parentElement()), + null != t && (0 <= be.inArray(x.el, be(t).parents()) || t == x.el) ? t : null) + ), + 0 < be(o).find(".fr-element").length && (o = x.el), + (r += o.innerHTML); + } + } else "undefined" != typeof x.doc.selection && "Text" == x.doc.selection.type && (r = x.doc.selection.createRange().htmlText); + return r; + }, + insert: function (e, t, n) { + var r, i, a; + if ( + (x.selection.isCollapsed() || x.selection.remove(), + (r = t ? e : x.clean.html(e)), + e.indexOf('class="fr-marker"') < 0 && ((i = r), ((a = x.doc.createElement("div")).innerHTML = i), x.selection.setAtEnd(a), (r = a.innerHTML)), + x.node.isEmpty(x.el) && !x.opts.keepFormatOnDelete && f(r)) + ) + x.el.innerHTML = r; + else { + var o = x.markers.insert(); + if (o) { + x.node.isLastSibling(o) && be(o).parent().hasClass("fr-deletable") && be(o).insertAfter(be(o).parent()); + var s = x.node.blockParent(o); + if ((f(r) || n) && (x.node.deepestParent(o) || (s && "LI" == s.tagName))) { + if ( + (s && + "LI" == s.tagName && + (r = (function (e) { + if (!x.html.defaultTag()) return e; + var t = x.doc.createElement("div"); + t.innerHTML = e; + for (var n = t.querySelectorAll(":scope > " + x.html.defaultTag()), r = n.length - 1; 0 <= r; r--) { + var i = n[r]; + x.node.isBlock(i.previousSibling) || (i.previousSibling && !x.node.isEmpty(i) && be("<br>").insertAfter(i.previousSibling), (i.outerHTML = i.innerHTML)); + } + return t.innerHTML; + })(r)), + !(o = x.markers.split())) + ) + return !1; + o.outerHTML = r; + } else o.outerHTML = r; + } else x.el.innerHTML = x.el.innerHTML + r; + } + u(), x.keys.positionCaret(), x.events.trigger("html.inserted"); + }, + wrap: t, + unwrap: function () { + x.$el.find("div.fr-temp-div").each(function () { + this.previousSibling && this.previousSibling.nodeType === Node.TEXT_NODE && be(this).before("<br>"), + be(this).attr("data-empty") || !this.nextSibling || (x.node.isBlock(this.nextSibling) && !be(this.nextSibling).hasClass("fr-temp-div")) + ? be(this).replaceWith(be(this).html()) + : be(this).replaceWith(be(this).html() + "<br>"); + }), + x.$el + .find(".fr-temp-div") + .removeClass("fr-temp-div") + .filter(function () { + return "" === be(this).attr("class"); + }) + .removeAttr("class"); + }, + escapeEntities: function (e) { + return e.replace(/</gi, "&lt;").replace(/>/gi, "&gt;").replace(/"/gi, "&quot;").replace(/'/gi, "&#39;"); + }, + checkIfEmpty: i, + extractNode: h, + extractNodeAttrs: g, + extractDoctype: m, + cleanBRs: function () { + for (var e = x.el.getElementsByTagName("br"), t = 0; t < e.length; t++) d(e[t]); + }, + _init: function () { + if (x.$wp) { + var e = function () { + E(), x.placeholder && setTimeout(x.placeholder.refresh, 0); + }; + x.events.on("mouseup", e), x.events.on("keydown", e), x.events.on("contentChanged", i); + } + }, + }; + }), + be.extend(be.FE.DEFAULTS, { height: null, heightMax: null, heightMin: null, width: null }), + (be.FE.MODULES.size = function (e) { + function t() { + n(), e.opts.height && e.$el.css("minHeight", e.opts.height - e.helpers.getPX(e.$el.css("padding-top")) - e.helpers.getPX(e.$el.css("padding-bottom"))), e.$iframe.height(e.$el.outerHeight(!0)); + } + function n() { + e.opts.heightMin ? e.$el.css("minHeight", e.opts.heightMin) : e.$el.css("minHeight", ""), + e.opts.heightMax ? (e.$wp.css("maxHeight", e.opts.heightMax), e.$wp.css("overflow", "auto")) : (e.$wp.css("maxHeight", ""), e.$wp.css("overflow", "")), + e.opts.height + ? (e.$wp.height(e.opts.height), e.$wp.css("overflow", "auto"), e.$el.css("minHeight", e.opts.height - e.helpers.getPX(e.$el.css("padding-top")) - e.helpers.getPX(e.$el.css("padding-bottom")))) + : (e.$wp.css("height", ""), e.opts.heightMin || e.$el.css("minHeight", ""), e.opts.heightMax || e.$wp.css("overflow", "")), + e.opts.width && e.$box.width(e.opts.width); + } + return { + _init: function () { + if (!e.$wp) return !1; + n(), + e.$iframe && + (e.events.on( + "keyup keydown", + function () { + setTimeout(t, 0); + }, + !0 + ), + e.events.on("commands.after html.set init initialized paste.after", t)); + }, + syncIframe: t, + refresh: n, + }; + }), + be.extend(be.FE.DEFAULTS, { language: null }), + (be.FE.LANGUAGE = {}), + (be.FE.MODULES.language = function (e) { + var t; + return { + _init: function () { + be.FE.LANGUAGE && (t = be.FE.LANGUAGE[e.opts.language]), t && t.direction && (e.opts.direction = t.direction); + }, + translate: function (e) { + return t && t.translation[e] && t.translation[e].length ? t.translation[e] : e; + }, + }; + }), + be.extend(be.FE.DEFAULTS, { placeholderText: "Type something" }), + (be.FE.MODULES.placeholder = function (c) { + function e() { + c.$placeholder || ((c.$placeholder = be('<span class="fr-placeholder"></span>')), c.$wp.append(c.$placeholder)); + var e = c.opts.iframe ? c.$iframe.prev().outerHeight(!0) : c.$el.prev().outerHeight(!0), + t = 0, + n = 0, + r = 0, + i = 0, + a = 0, + o = 0, + s = c.node.contents(c.el), + l = be(c.selection.element()).css("text-align"); + if (s.length && s[0].nodeType == Node.ELEMENT_NODE) { + var d = be(s[0]); + (!c.opts.toolbarInline || 0 < c.$el.prev().length) && + c.ready && + ((t = c.helpers.getPX(d.css("margin-top"))), + (i = c.helpers.getPX(d.css("padding-top"))), + (n = c.helpers.getPX(d.css("margin-left"))), + (r = c.helpers.getPX(d.css("margin-right"))), + (a = c.helpers.getPX(d.css("padding-left"))), + (o = c.helpers.getPX(d.css("padding-right")))), + c.$placeholder.css("font-size", d.css("font-size")), + c.$placeholder.css("line-height", d.css("line-height")); + } else c.$placeholder.css("font-size", c.$el.css("font-size")), c.$placeholder.css("line-height", c.$el.css("line-height")); + c.$wp.addClass("show-placeholder"), + c.$placeholder + .css({ + marginTop: Math.max(c.helpers.getPX(c.$el.css("margin-top")), t) + (e || 0), + paddingTop: Math.max(c.helpers.getPX(c.$el.css("padding-top")), i), + paddingLeft: Math.max(c.helpers.getPX(c.$el.css("padding-left")), a), + marginLeft: Math.max(c.helpers.getPX(c.$el.css("margin-left")), n), + paddingRight: Math.max(c.helpers.getPX(c.$el.css("padding-right")), o), + marginRight: Math.max(c.helpers.getPX(c.$el.css("margin-right")), r), + textAlign: l, + }) + .text(c.language.translate(c.opts.placeholderText || c.$oel.attr("placeholder") || "")), + c.$placeholder.html(c.$placeholder.text().replace(/\n/g, "<br>")); + } + function t() { + c.$wp.removeClass("show-placeholder"); + } + function n() { + if (!c.$wp) return !1; + c.core.isEmpty() ? e() : t(); + } + return { + _init: function () { + if (!c.$wp) return !1; + c.events.on("init input keydown keyup contentChanged initialized", n); + }, + show: e, + hide: t, + refresh: n, + isVisible: function () { + return !!c.$wp && c.node.hasClass(c.$wp.get(0), "show-placeholder"); + }, + }; + }), + (be.FE.MODULES.edit = function (t) { + function e() { + if (t.browser.mozilla) + try { + t.doc.execCommand("enableObjectResizing", !1, "false"), t.doc.execCommand("enableInlineTableEditing", !1, "false"); + } catch (e) {} + if (t.browser.msie) + try { + t.doc.body.addEventListener("mscontrolselect", function (e) { + return e.preventDefault(), !1; + }); + } catch (e) {} + } + var n = !1; + function r() { + return n; + } + return { + _init: function () { + t.events.on("focus", function () { + r() ? t.edit.off() : t.edit.on(); + }); + }, + on: function () { + t.$wp + ? (t.$el.attr("contenteditable", !0), t.$el.removeClass("fr-disabled").attr("aria-disabled", !1), t.$tb && t.$tb.removeClass("fr-disabled").removeAttr("aria-disabled"), e()) + : t.$el.is("a") && t.$el.attr("contenteditable", !0), + (n = !1); + }, + off: function () { + t.events.disableBlur(), + t.$wp + ? (t.$el.attr("contenteditable", !1), t.$el.addClass("fr-disabled").attr("aria-disabled", !0), t.$tb && t.$tb.addClass("fr-disabled").attr("aria-disabled", !0)) + : t.$el.is("a") && t.$el.attr("contenteditable", !1), + t.events.enableBlur(), + (n = !0); + }, + disableDesign: e, + isDisabled: r, + }; + }), + be.extend(be.FE.DEFAULTS, { + documentReady: !1, + editorClass: null, + typingTimer: 500, + iframe: !1, + requestWithCORS: !0, + requestWithCredentials: !1, + requestHeaders: {}, + useClasses: !0, + spellcheck: !0, + iframeDefaultStyle: + 'html{margin:0px;height:auto;}body{height:auto;padding:10px;background:transparent;color:#000000;position:relative;z-index: 2;-webkit-user-select:auto;margin:0px;overflow:hidden;min-height:20px;}body:after{content:"";display:block;clear:both;}body::-moz-selection{background:#b5d6fd;color:#000;}body::selection{background:#b5d6fd;color:#000;}', + iframeStyle: "", + iframeStyleFiles: [], + direction: "auto", + zIndex: 1, + tabIndex: null, + disableRightClick: !1, + scrollableContainer: "body", + keepFormatOnDelete: !1, + theme: null, + }), + (be.FE.MODULES.core = function (a) { + function t() { + if ( + (a.$box.addClass("fr-box" + (a.opts.editorClass ? " " + a.opts.editorClass : "")), + a.$box.attr("role", "application"), + a.$wp.addClass("fr-wrapper"), + a.opts.documentReady && a.$box.addClass("fr-document"), + a.opts.iframe || a.$el.addClass("fr-element fr-view"), + a.opts.iframe) + ) { + a.$iframe.addClass("fr-iframe"), a.$el.addClass("fr-view"); + for (var e = 0; e < a.o_doc.styleSheets.length; e++) { + var t; + try { + t = a.o_doc.styleSheets[e].cssRules; + } catch (i) {} + if (t) + for (var n = 0, r = t.length; n < r; n++) + !t[n].selectorText || + (0 !== t[n].selectorText.indexOf(".fr-view") && 0 !== t[n].selectorText.indexOf(".fr-element")) || + (0 < t[n].style.cssText.length && + (0 === t[n].selectorText.indexOf(".fr-view") + ? (a.opts.iframeStyle += t[n].selectorText.replace(/\.fr-view/g, "body") + "{" + t[n].style.cssText + "}") + : (a.opts.iframeStyle += t[n].selectorText.replace(/\.fr-element/g, "body") + "{" + t[n].style.cssText + "}"))); + } + } + "auto" != a.opts.direction && a.$box.removeClass("fr-ltr fr-rtl").addClass("fr-" + a.opts.direction), + a.$el.attr("dir", a.opts.direction), + a.$wp.attr("dir", a.opts.direction), + 1 < a.opts.zIndex && a.$box.css("z-index", a.opts.zIndex), + a.opts.theme && a.$box.addClass(a.opts.theme + "-theme"), + (a.opts.tabIndex = a.opts.tabIndex || a.$oel.attr("tabIndex")), + a.opts.tabIndex && a.$el.attr("tabIndex", a.opts.tabIndex); + } + return { + _init: function () { + if ((be.FE.INSTANCES.push(a), (a.drag_support = { filereader: "undefined" != typeof FileReader, formdata: !!a.win.FormData, progress: "upload" in new XMLHttpRequest() }), a.$wp)) { + t(), + a.html.set(a._original_html), + a.$el.attr("spellcheck", a.opts.spellcheck), + a.helpers.isMobile() && (a.$el.attr("autocomplete", a.opts.spellcheck ? "on" : "off"), a.$el.attr("autocorrect", a.opts.spellcheck ? "on" : "off"), a.$el.attr("autocapitalize", a.opts.spellcheck ? "on" : "off")), + a.opts.disableRightClick && + a.events.$on(a.$el, "contextmenu", function (e) { + if (2 == e.button) return !1; + }); + try { + a.doc.execCommand("styleWithCSS", !1, !1); + } catch (e) {} + } + "TEXTAREA" == a.$oel.get(0).tagName && + (a.events.on("contentChanged", function () { + a.$oel.val(a.html.get()); + }), + a.events.on("form.submit", function () { + a.$oel.val(a.html.get()); + }), + a.events.on("form.reset", function () { + a.html.set(a._original_html); + }), + a.$oel.val(a.html.get())), + a.helpers.isIOS() && + a.events.$on(a.$doc, "selectionchange", function () { + a.$doc.get(0).hasFocus() || a.$win.get(0).focus(); + }), + a.events.trigger("init"), + a.opts.autofocus && + !a.opts.initOnClick && + a.$wp && + a.events.on("initialized", function () { + a.events.focus(!0); + }); + }, + destroy: function (e) { + "TEXTAREA" == a.$oel.get(0).tagName && a.$oel.val(e), + a.$box && a.$box.removeAttr("role"), + a.$wp && + ("TEXTAREA" == a.$oel.get(0).tagName + ? (a.$el.html(""), a.$wp.html(""), a.$box.replaceWith(a.$oel), a.$oel.show()) + : (a.$wp.replaceWith(e), a.$el.html(""), a.$box.removeClass("fr-view fr-ltr fr-box " + (a.opts.editorClass || "")), a.opts.theme && a.$box.addClass(a.opts.theme + "-theme"))), + (this.$wp = null), + (this.$el = null), + (this.el = null), + (this.$box = null); + }, + isEmpty: function () { + return a.node.isEmpty(a.el); + }, + getXHR: function (e, t) { + var n = new XMLHttpRequest(); + for (var r in (n.open(t, e, !0), a.opts.requestWithCredentials && (n.withCredentials = !0), a.opts.requestHeaders)) a.opts.requestHeaders.hasOwnProperty(r) && n.setRequestHeader(r, a.opts.requestHeaders[r]); + return n; + }, + injectStyle: function (e) { + if (a.opts.iframe) { + a.$head.find("style[data-fr-style], link[data-fr-style]").remove(), a.$head.append('<style data-fr-style="true">' + e + "</style>"); + for (var t = 0; t < a.opts.iframeStyleFiles.length; t++) { + var n = be('<link data-fr-style="true" rel="stylesheet" href="' + a.opts.iframeStyleFiles[t] + '">'); + n.get(0).addEventListener("load", a.size.syncIframe), a.$head.append(n); + } + } + }, + hasFocus: function () { + return a.browser.mozilla && a.helpers.isMobile() ? a.selection.inEditor() : a.node.hasFocus(a.el) || 0 < a.$el.find("*:focus").length; + }, + sameInstance: function (e) { + if (!e) return !1; + var t = e.data("instance"); + return !!t && t.id == a.id; + }, + }; + }), + (be.FE.MODULES.cursorLists = function (g) { + function m(e) { + for (var t = e; "LI" != t.tagName; ) t = t.parentNode; + return t; + } + function v(e) { + for (var t = e; !g.node.isList(t); ) t = t.parentNode; + return t; + } + return { + _startEnter: function (e) { + var t, + n = m(e), + r = n.nextSibling, + i = n.previousSibling, + a = g.html.defaultTag(); + if (g.node.isEmpty(n, !0) && r) { + for (var o = "", s = "", l = e.parentNode; !g.node.isList(l) && l.parentNode && ("LI" !== l.parentNode.tagName || l.parentNode === n); ) + (o = g.node.openTagString(l) + o), (s += g.node.closeTagString(l)), (l = l.parentNode); + (o = g.node.openTagString(l) + o), (s += g.node.closeTagString(l)); + var d = ""; + for ( + d = l.parentNode && "LI" == l.parentNode.tagName ? s + "<li>" + be.FE.MARKERS + "<br>" + o : a ? s + "<" + a + ">" + be.FE.MARKERS + "<br></" + a + ">" + o : s + be.FE.MARKERS + "<br>" + o; + ["UL", "OL"].indexOf(l.tagName) < 0 || (l.parentNode && "LI" === l.parentNode.tagName); + + ) + l = l.parentNode; + be(n).replaceWith('<span id="fr-break"></span>'); + var c = g.node.openTagString(l) + be(l).html() + g.node.closeTagString(l); + (c = c.replace(/<span id="fr-break"><\/span>/g, d)), be(l).replaceWith(c), g.$el.find("li:empty").remove(); + } else if ((i && r) || !g.node.isEmpty(n, !0)) { + for (var f = "<br>", p = e.parentNode; p && "LI" != p.tagName; ) (f = g.node.openTagString(p) + f + g.node.closeTagString(p)), (p = p.parentNode); + be(n).before("<li>" + f + "</li>"), be(e).remove(); + } else if (i) { + t = v(n); + for (var u = be.FE.MARKERS + "<br>", h = e.parentNode; h && "LI" != h.tagName; ) (u = g.node.openTagString(h) + u + g.node.closeTagString(h)), (h = h.parentNode); + t.parentNode && "LI" == t.parentNode.tagName ? be(t.parentNode).after("<li>" + u + "</li>") : a ? be(t).after("<" + a + ">" + u + "</" + a + ">") : be(t).after(u), be(n).remove(); + } else + (t = v(n)).parentNode && "LI" == t.parentNode.tagName + ? r + ? be(t.parentNode).before(g.node.openTagString(n) + be.FE.MARKERS + "<br></li>") + : be(t.parentNode).after(g.node.openTagString(n) + be.FE.MARKERS + "<br></li>") + : a + ? be(t).before("<" + a + ">" + be.FE.MARKERS + "<br></" + a + ">") + : be(t).before(be.FE.MARKERS + "<br>"), + be(n).remove(); + }, + _middleEnter: function (e) { + for (var t = m(e), n = "", r = e, i = "", a = ""; r != t; ) { + var o = "A" == (r = r.parentNode).tagName && g.cursor.isAtEnd(e, r) ? "fr-to-remove" : ""; + (i = g.node.openTagString(be(r).clone().addClass(o).get(0)) + i), (a = g.node.closeTagString(r) + a); + } + (n = a + n + i + be.FE.MARKERS + (g.opts.keepFormatOnDelete ? be.FE.INVISIBLE_SPACE : "")), be(e).replaceWith('<span id="fr-break"></span>'); + var s = g.node.openTagString(t) + be(t).html() + g.node.closeTagString(t); + (s = s.replace(/<span id="fr-break"><\/span>/g, n)), be(t).replaceWith(s); + }, + _endEnter: function (e) { + for (var t = m(e), n = be.FE.MARKERS, r = "", i = e, a = !1; i != t; ) { + var o = "A" == (i = i.parentNode).tagName && g.cursor.isAtEnd(e, i) ? "fr-to-remove" : ""; + a || i == t || g.node.isBlock(i) || ((a = !0), (r += be.FE.INVISIBLE_SPACE)), (r = g.node.openTagString(be(i).clone().addClass(o).get(0)) + r), (n += g.node.closeTagString(i)); + } + var s = r + n; + be(e).remove(), be(t).after(s); + }, + _backspace: function (e) { + var t = m(e), + n = t.previousSibling; + if (n) { + (n = be(n).find(g.html.blockTagsQuery()).get(-1) || n), be(e).replaceWith(be.FE.MARKERS); + var r = g.node.contents(n); + r.length && "BR" == r[r.length - 1].tagName && be(r[r.length - 1]).remove(), + be(t) + .find(g.html.blockTagsQuery()) + .not("ol, ul, table") + .each(function () { + this.parentNode == t && be(this).replaceWith(be(this).html() + (g.node.isEmpty(this) ? "" : "<br>")); + }); + for (var i, a = g.node.contents(t)[0]; a && !g.node.isList(a); ) (i = a.nextSibling), be(n).append(a), (a = i); + for (n = t.previousSibling; a; ) (i = a.nextSibling), be(n).append(a), (a = i); + 1 < (r = g.node.contents(n)).length && "BR" === r[r.length - 1].tagName && be(r[r.length - 1]).remove(), be(t).remove(); + } else { + var o = v(t); + if ((be(e).replaceWith(be.FE.MARKERS), o.parentNode && "LI" == o.parentNode.tagName)) { + var s = o.previousSibling; + g.node.isBlock(s) + ? (be(t) + .find(g.html.blockTagsQuery()) + .not("ol, ul, table") + .each(function () { + this.parentNode == t && be(this).replaceWith(be(this).html() + (g.node.isEmpty(this) ? "" : "<br>")); + }), + be(s).append(be(t).html())) + : be(o).before(be(t).html()); + } else { + var l = g.html.defaultTag(); + l && 0 === be(t).find(g.html.blockTagsQuery()).length ? be(o).before("<" + l + ">" + be(t).html() + "</" + l + ">") : be(o).before(be(t).html()); + } + be(t).remove(), g.html.wrap(), 0 === be(o).find("li").length && be(o).remove(); + } + }, + _del: function (e) { + var t, + n = m(e), + r = n.nextSibling; + if (r) { + (t = g.node.contents(r)).length && "BR" == t[0].tagName && be(t[0]).remove(), + be(r) + .find(g.html.blockTagsQuery()) + .not("ol, ul, table") + .each(function () { + this.parentNode == r && be(this).replaceWith(be(this).html() + (g.node.isEmpty(this) ? "" : "<br>")); + }); + for (var i, a = e, o = g.node.contents(r)[0]; o && !g.node.isList(o); ) (i = o.nextSibling), be(a).after(o), (a = o), (o = i); + for (; o; ) (i = o.nextSibling), be(n).append(o), (o = i); + be(e).replaceWith(be.FE.MARKERS), be(r).remove(); + } else { + for (var s = n; !s.nextSibling && s != g.el; ) s = s.parentNode; + if (s == g.el) return !1; + if (((s = s.nextSibling), g.node.isBlock(s))) + be.FE.NO_DELETE_TAGS.indexOf(s.tagName) < 0 && + (be(e).replaceWith(be.FE.MARKERS), (t = g.node.contents(n)).length && "BR" == t[t.length - 1].tagName && be(t[t.length - 1]).remove(), be(n).append(be(s).html()), be(s).remove()); + else + for ((t = g.node.contents(n)).length && "BR" == t[t.length - 1].tagName && be(t[t.length - 1]).remove(), be(e).replaceWith(be.FE.MARKERS); s && !g.node.isBlock(s) && "BR" != s.tagName; ) + be(n).append(be(s)), (s = s.nextSibling); + } + }, + }; + }), + (be.FE.NO_DELETE_TAGS = ["TH", "TD", "TR", "TABLE", "FORM"]), + (be.FE.SIMPLE_ENTER_TAGS = ["TH", "TD", "LI", "DL", "DT", "FORM"]), + (be.FE.MODULES.cursor = function (u) { + function a(e) { + return ( + !!e && + (!!u.node.isBlock(e) || + (e.nextSibling && e.nextSibling.nodeType == Node.TEXT_NODE && 0 === e.nextSibling.textContent.replace(/\u200b/g, "").length + ? a(e.nextSibling) + : !(e.nextSibling && (!e.previousSibling || "BR" != e.nextSibling.tagName || e.nextSibling.nextSibling)) && a(e.parentNode))) + ); + } + function o(e) { + return ( + !!e && + (!!u.node.isBlock(e) || + (e.previousSibling && e.previousSibling.nodeType == Node.TEXT_NODE && 0 === e.previousSibling.textContent.replace(/\u200b/g, "").length + ? o(e.previousSibling) + : !e.previousSibling && (!(e.previousSibling || !u.node.hasClass(e.parentNode, "fr-inner")) || o(e.parentNode)))) + ); + } + function h(e, t) { + return ( + !!e && + e != u.$wp.get(0) && + (e.previousSibling && e.previousSibling.nodeType == Node.TEXT_NODE && 0 === e.previousSibling.textContent.replace(/\u200b/g, "").length + ? h(e.previousSibling, t) + : !e.previousSibling && (e.parentNode == t || h(e.parentNode, t))) + ); + } + function g(e, t) { + return ( + !!e && + e != u.$wp.get(0) && + (e.nextSibling && e.nextSibling.nodeType == Node.TEXT_NODE && 0 === e.nextSibling.textContent.replace(/\u200b/g, "").length + ? g(e.nextSibling, t) + : !(e.nextSibling && (!e.previousSibling || "BR" != e.nextSibling.tagName || e.nextSibling.nextSibling)) && (e.parentNode == t || g(e.parentNode, t))) + ); + } + function s(e) { + return 0 < be(e).parentsUntil(u.$el, "LI").length && 0 === be(e).parentsUntil("LI", "TABLE").length; + } + function d(e, t) { + var n = new RegExp((t ? "^" : "") + "(([\\uD83C-\\uDBFF\\uDC00-\\uDFFF]+\\u200D)*[\\uD83C-\\uDBFF\\uDC00-\\uDFFF]{2})" + (t ? "" : "$"), "i"), + r = e.match(n); + return r ? r[0].length : 1; + } + function c(e) { + for (var t, n = e; !n.previousSibling; ) if (((n = n.parentNode), u.node.isElement(n))) return !1; + if (((n = n.previousSibling), !u.node.isBlock(n) && u.node.isEditable(n))) { + for (t = u.node.contents(n); n.nodeType != Node.TEXT_NODE && !u.node.isDeletable(n) && t.length && u.node.isEditable(n); ) (n = t[t.length - 1]), (t = u.node.contents(n)); + if (n.nodeType == Node.TEXT_NODE) { + var r = n.textContent, + i = r.length; + if (r.length && "\n" === r[r.length - 1]) return (n.textContent = r.substring(0, i - 2)), 0 === n.textContent.length && n.parentNode.removeChild(n), c(e); + if (u.opts.tabSpaces && r.length >= u.opts.tabSpaces) + 0 === + r + .substr(r.length - u.opts.tabSpaces, r.length - 1) + .replace(/ /g, "") + .replace(new RegExp(be.FE.UNICODE_NBSP, "g"), "").length && (i = r.length - u.opts.tabSpaces + 1); + n.textContent = r.substring(0, i - d(r)); + var a = r.length != n.textContent.length; + if (0 === n.textContent.length) + if (a && u.opts.keepFormatOnDelete) be(n).after(be.FE.INVISIBLE_SPACE + be.FE.MARKERS); + else if ( + ((2 != n.parentNode.childNodes.length || n.parentNode != e.parentNode) && 1 != n.parentNode.childNodes.length) || + u.node.isBlock(n.parentNode) || + u.node.isElement(n.parentNode) || + !u.node.isDeletable(n.parentNode) + ) { + for (; !u.node.isElement(n.parentNode) && u.node.isEmpty(n.parentNode) && u.node.isDeletable(n.parentNode); ) { + var o = n; + (n = n.parentNode), o.parentNode.removeChild(o); + } + be(n).after(be.FE.MARKERS), u.node.isElement(n.parentNode) && !e.nextSibling && n.previousSibling && "BR" == n.previousSibling.tagName && be(e).after("<br>"), n.parentNode.removeChild(n); + } else be(n.parentNode).after(be.FE.MARKERS), be(n.parentNode).remove(); + else be(n).after(be.FE.MARKERS); + } else + u.node.isDeletable(n) + ? (be(n).after(be.FE.MARKERS), be(n).remove()) + : e.nextSibling && "BR" == e.nextSibling.tagName && u.node.isVoid(n) && "BR" != n.tagName + ? (be(e.nextSibling).remove(), be(e).replaceWith(be.FE.MARKERS)) + : !1 !== u.events.trigger("node.remove", [be(n)]) && (be(n).after(be.FE.MARKERS), be(n).remove()); + } else if (be.FE.NO_DELETE_TAGS.indexOf(n.tagName) < 0 && (u.node.isEditable(n) || u.node.isDeletable(n))) + if (u.node.isDeletable(n)) be(e).replaceWith(be.FE.MARKERS), be(n).remove(); + else if (u.node.isEmpty(n) && !u.node.isList(n)) be(n).remove(), be(e).replaceWith(be.FE.MARKERS); + else { + for ( + u.node.isList(n) && (n = be(n).find("li:last").get(0)), (t = u.node.contents(n)) && "BR" == t[t.length - 1].tagName && be(t[t.length - 1]).remove(), t = u.node.contents(n); + t && u.node.isBlock(t[t.length - 1]); + + ) + (n = t[t.length - 1]), (t = u.node.contents(n)); + be(n).append(be.FE.MARKERS); + for (var s = e; !s.previousSibling; ) s = s.parentNode; + for (; s && "BR" !== s.tagName && !u.node.isBlock(s); ) { + var l = s; + (s = s.nextSibling), be(n).append(l); + } + s && "BR" == s.tagName && be(s).remove(), be(e).remove(); + } + else e.nextSibling && "BR" == e.nextSibling.tagName && be(e.nextSibling).remove(); + } + function l(e) { + var t = 0 < be(e).parentsUntil(u.$el, "BLOCKQUOTE").length, + n = u.node.deepestParent(e, [], !t); + if (n && "BLOCKQUOTE" == n.tagName) { + var r = u.node.deepestParent(e, [be(e).parentsUntil(u.$el, "BLOCKQUOTE").get(0)]); + r && r.nextSibling && (n = r); + } + if (null !== n) { + var i, + a = n.nextSibling; + if (u.node.isBlock(n) && (u.node.isEditable(n) || u.node.isDeletable(n)) && a && be.FE.NO_DELETE_TAGS.indexOf(a.tagName) < 0) + if (u.node.isDeletable(a)) be(a).remove(), be(e).replaceWith(be.FE.MARKERS); + else if (u.node.isBlock(a) && u.node.isEditable(a)) + if (u.node.isList(a)) + if (u.node.isEmpty(n, !0)) be(n).remove(), be(a).find("li:first").prepend(be.FE.MARKERS); + else { + var o = be(a).find("li:first"); + "BLOCKQUOTE" == n.tagName && (i = u.node.contents(n)).length && u.node.isBlock(i[i.length - 1]) && (n = i[i.length - 1]), + 0 === o.find("ul, ol").length && + (be(e).replaceWith(be.FE.MARKERS), + o + .find(u.html.blockTagsQuery()) + .not("ol, ul, table") + .each(function () { + this.parentNode == o.get(0) && be(this).replaceWith(be(this).html() + (u.node.isEmpty(this) ? "" : "<br>")); + }), + be(n).append(u.node.contents(o.get(0))), + o.remove(), + 0 === be(a).find("li").length && be(a).remove()); + } + else { + if (((i = u.node.contents(a)).length && "BR" == i[0].tagName && be(i[0]).remove(), "BLOCKQUOTE" != a.tagName && "BLOCKQUOTE" == n.tagName)) + for (i = u.node.contents(n); i.length && u.node.isBlock(i[i.length - 1]); ) (n = i[i.length - 1]), (i = u.node.contents(n)); + else if ("BLOCKQUOTE" == a.tagName && "BLOCKQUOTE" != n.tagName) for (i = u.node.contents(a); i.length && u.node.isBlock(i[0]); ) (a = i[0]), (i = u.node.contents(a)); + be(e).replaceWith(be.FE.MARKERS), be(n).append(a.innerHTML), be(a).remove(); + } + else { + for (be(e).replaceWith(be.FE.MARKERS); a && "BR" !== a.tagName && !u.node.isBlock(a) && u.node.isEditable(a); ) { + var s = a; + (a = a.nextSibling), be(n).append(s); + } + a && "BR" == a.tagName && u.node.isEditable(a) && be(a).remove(); + } + } + } + function n(e) { + for (var t, n = e; !n.nextSibling; ) if (((n = n.parentNode), u.node.isElement(n))) return !1; + if ("BR" == (n = n.nextSibling).tagName && u.node.isEditable(n)) + if (n.nextSibling) { + if (u.node.isBlock(n.nextSibling) && u.node.isEditable(n.nextSibling)) { + if (!(be.FE.NO_DELETE_TAGS.indexOf(n.nextSibling.tagName) < 0)) return void be(n).remove(); + (n = n.nextSibling), be(n.previousSibling).remove(); + } + } else if (a(n)) { + if (s(e)) u.cursorLists._del(e); + else + u.node.deepestParent(n) && ((!u.node.isEmpty(u.node.blockParent(n)) || (u.node.blockParent(n).nextSibling && be.FE.NO_DELETE_TAGS.indexOf(u.node.blockParent(n).nextSibling.tagName)) < 0) && be(n).remove(), l(e)); + return; + } + if (!u.node.isBlock(n) && u.node.isEditable(n)) { + for (t = u.node.contents(n); n.nodeType != Node.TEXT_NODE && t.length && !u.node.isDeletable(n) && u.node.isEditable(n); ) (n = t[0]), (t = u.node.contents(n)); + n.nodeType == Node.TEXT_NODE + ? (be(n).before(be.FE.MARKERS), n.textContent.length && (n.textContent = n.textContent.substring(d(n.textContent, !0), n.textContent.length))) + : u.node.isDeletable(n) + ? (be(n).before(be.FE.MARKERS), be(n).remove()) + : !1 !== u.events.trigger("node.remove", [be(n)]) && (be(n).before(be.FE.MARKERS), be(n).remove()), + be(e).remove(); + } else if (be.FE.NO_DELETE_TAGS.indexOf(n.tagName) < 0 && (u.node.isEditable(n) || u.node.isDeletable(n))) + if (u.node.isDeletable(n)) be(e).replaceWith(be.FE.MARKERS), be(n).remove(); + else if (u.node.isList(n)) e.previousSibling ? (be(n).find("li:first").prepend(e), u.cursorLists._backspace(e)) : (be(n).find("li:first").prepend(be.FE.MARKERS), be(e).remove()); + else if (((t = u.node.contents(n)) && "BR" == t[0].tagName && be(t[0]).remove(), t && "BLOCKQUOTE" == n.tagName)) { + var r = t[0]; + for (be(e).before(be.FE.MARKERS); r && "BR" != r.tagName; ) { + var i = r; + (r = r.nextSibling), be(e).before(i); + } + r && "BR" == r.tagName && be(r).remove(); + } else be(e).after(be(n).html()).after(be.FE.MARKERS), be(n).remove(); + } + function f() { + for (var e = u.el.querySelectorAll("blockquote:empty"), t = 0; t < e.length; t++) e[t].parentNode.removeChild(e[t]); + } + function p(e, t, n) { + var r, + i = u.node.deepestParent(e, [], !n); + if (i && "BLOCKQUOTE" == i.tagName) + return ( + g(e, i) + ? ((r = u.html.defaultTag()), t ? be(e).replaceWith("<br>" + be.FE.MARKERS) : r ? be(i).after("<" + r + ">" + be.FE.MARKERS + "<br></" + r + ">") : be(i).after(be.FE.MARKERS + "<br>"), be(e).remove()) + : m(e, t, n), + !1 + ); + if (null == i) + (r = u.html.defaultTag()) && u.node.isElement(e.parentNode) + ? be(e).replaceWith("<" + r + ">" + be.FE.MARKERS + "<br></" + r + ">") + : !e.previousSibling || be(e.previousSibling).is("br") || e.nextSibling + ? be(e).replaceWith("<br>" + be.FE.MARKERS) + : be(e).replaceWith("<br>" + be.FE.MARKERS + "<br>"); + else { + var a = e, + o = ""; + "PRE" != i.tagName || e.nextSibling || (t = !0), (u.node.isBlock(i) && !t) || (o = "<br/>"); + var s, + l = "", + d = "", + c = "", + f = ""; + (r = u.html.defaultTag()) && u.node.isBlock(i) && ((c = "<" + r + ">"), (f = "</" + r + ">"), i.tagName == r.toUpperCase() && (c = u.node.openTagString(be(i).clone().removeAttr("id").get(0)))); + do { + if (((a = a.parentNode), !t || a != i || (t && !u.node.isBlock(i)))) + if (((l += u.node.closeTagString(a)), a == i && u.node.isBlock(i))) d = c + d; + else { + var p = "A" == a.tagName && g(e, a) ? "fr-to-remove" : ""; + d = u.node.openTagString(be(a).clone().addClass(p).get(0)) + d; + } + } while (a != i); + (o = l + o + d + (e.parentNode == i && u.node.isBlock(i) ? "" : be.FE.INVISIBLE_SPACE) + be.FE.MARKERS), + u.node.isBlock(i) && !be(i).find("*:last").is("br") && be(i).append("<br/>"), + be(e).after('<span id="fr-break"></span>'), + be(e).remove(), + (i.nextSibling && !u.node.isBlock(i.nextSibling)) || u.node.isBlock(i) || be(i).after("<br>"), + (s = (s = !t && u.node.isBlock(i) ? u.node.openTagString(i) + be(i).html() + f : u.node.openTagString(i) + be(i).html() + u.node.closeTagString(i)).replace(/<span id="fr-break"><\/span>/g, o)), + be(i).replaceWith(s); + } + } + function m(e, t, n) { + var r = u.node.deepestParent(e, [], !n); + if (null == r) + u.html.defaultTag() && e.parentNode === u.el + ? be(e).replaceWith("<" + u.html.defaultTag() + ">" + be.FE.MARKERS + "<br></" + u.html.defaultTag() + ">") + : ((e.nextSibling && !u.node.isBlock(e.nextSibling)) || be(e).after("<br>"), be(e).replaceWith("<br>" + be.FE.MARKERS)); + else { + var i = e, + a = ""; + "PRE" == r.tagName && (t = !0), (u.node.isBlock(r) && !t) || (a = "<br>"); + var o = "", + s = ""; + do { + var l = i; + if (((i = i.parentNode), "BLOCKQUOTE" == r.tagName && u.node.isEmpty(l) && !u.node.hasClass(l, "fr-marker") && 0 < be(l).find(e).length && be(l).after(e), "BLOCKQUOTE" != r.tagName || (!g(e, i) && !h(e, i)))) + if (!t || i != r || (t && !u.node.isBlock(r))) { + o += u.node.closeTagString(i); + var d = "A" == i.tagName && g(e, i) ? "fr-to-remove" : ""; + s = u.node.openTagString(be(i).clone().addClass(d).removeAttr("id").get(0)) + s; + } else "BLOCKQUOTE" == r.tagName && t && (s = o = ""); + } while (i != r); + var c = (r == e.parentNode && u.node.isBlock(r)) || e.nextSibling; + if ("BLOCKQUOTE" == r.tagName) + if ( + (e.previousSibling && + u.node.isBlock(e.previousSibling) && + e.nextSibling && + "BR" == e.nextSibling.tagName && + (be(e.nextSibling).after(e), e.nextSibling && "BR" == e.nextSibling.tagName && be(e.nextSibling).remove()), + t) + ) + a = o + a + be.FE.MARKERS + s; + else { + var f = u.html.defaultTag(); + a = o + a + (f ? "<" + f + ">" : "") + be.FE.MARKERS + "<br>" + (f ? "</" + f + ">" : "") + s; + } + else a = o + a + s + (c ? "" : be.FE.INVISIBLE_SPACE) + be.FE.MARKERS; + be(e).replaceWith('<span id="fr-break"></span>'); + var p = u.node.openTagString(r) + be(r).html() + u.node.closeTagString(r); + (p = p.replace(/<span id="fr-break"><\/span>/g, a)), be(r).replaceWith(p); + } + } + return { + enter: function (t) { + var n = u.markers.insert(); + if (!n) return !0; + u.el.normalize(); + var r = !1; + 0 < be(n).parentsUntil(u.$el, "BLOCKQUOTE").length && (r = !0), + be(n).parentsUntil(u.$el, "TD, TH").length && (r = !1), + a(n) + ? !s(n) || t || r + ? p(n, t, r) + : u.cursorLists._endEnter(n) + : o(n) + ? !s(n) || t || r + ? (function e(t, n, r) { + var i, + a = u.node.deepestParent(t, [], !r); + if (a && "TABLE" == a.tagName) return be(a).find("td:first, th:first").prepend(t), e(t, n, r); + if (a && "BLOCKQUOTE" == a.tagName) + if (h(t, a)) { + if (!n) return (i = u.html.defaultTag()) ? be(a).before("<" + i + ">" + be.FE.MARKERS + "<br></" + i + ">") : be(a).before(be.FE.MARKERS + "<br>"), be(t).remove(), !1; + } else g(t, a) ? p(t, n, !0) : m(t, n, !0); + if (null == a) (i = u.html.defaultTag()) && u.node.isElement(t.parentNode) ? be(t).replaceWith("<" + i + ">" + be.FE.MARKERS + "<br></" + i + ">") : be(t).replaceWith("<br>" + be.FE.MARKERS); + else { + if (u.node.isBlock(a)) + if (("PRE" == a.tagName && (n = !0), n)) be(t).remove(), be(a).prepend("<br>" + be.FE.MARKERS); + else { + if (u.node.isEmpty(a, !0)) return p(t, n, r); + if (u.opts.keepFormatOnDelete) { + for (var o = t, s = be.FE.INVISIBLE_SPACE; o != a && !u.node.isElement(o); ) (o = o.parentNode), (s = u.node.openTagString(o) + s + u.node.closeTagString(o)); + be(a).before(s); + } else be(a).before(u.node.openTagString(be(a).clone().removeAttr("id").get(0)) + "<br>" + u.node.closeTagString(a)); + } + else be(a).before("<br>"); + be(t).remove(); + } + })(n, t, r) + : u.cursorLists._startEnter(n) + : !s(n) || t || r + ? m(n, t, r) + : u.cursorLists._middleEnter(n), + u.$el.find(".fr-to-remove").each(function () { + for (var e = u.node.contents(this), t = 0; t < e.length; t++) e[t].nodeType == Node.TEXT_NODE && (e[t].textContent = e[t].textContent.replace(/\u200B/g, "")); + be(this).replaceWith(this.innerHTML); + }), + u.html.fillEmptyBlocks(!0), + u.opts.htmlUntouched || (u.html.cleanEmptyTags(), u.clean.lists(), u.spaces.normalizeAroundCursor()), + u.selection.restore(); + }, + backspace: function () { + var e = !1, + t = u.markers.insert(); + if (!t) return !0; + for (var n = t.parentNode; n && !u.node.isElement(n); ) { + if ("false" === n.getAttribute("contenteditable")) return be(t).replaceWith(be.FE.MARKERS), u.selection.restore(), !1; + if ("true" === n.getAttribute("contenteditable")) break; + n = n.parentNode; + } + u.el.normalize(); + var r = t.previousSibling; + if (r) { + var i = r.textContent; + i && i.length && 8203 == i.charCodeAt(i.length - 1) && (1 == i.length ? be(r).remove() : (r.textContent = r.textContent.substr(0, i.length - d(i)))); + } + return ( + a(t) + ? (e = c(t)) + : o(t) + ? s(t) && h(t, be(t).parents("li:first").get(0)) + ? u.cursorLists._backspace(t) + : (function (e) { + for ( + var t = 0 < be(e).parentsUntil(u.$el, "BLOCKQUOTE").length, n = u.node.deepestParent(e, [], !t), r = n; + n && !n.previousSibling && "BLOCKQUOTE" != n.tagName && n.parentElement != u.el && !u.node.hasClass(n.parentElement, "fr-inner") && be.FE.SIMPLE_ENTER_TAGS.indexOf(n.parentElement.tagName) < 0; + + ) + n = n.parentElement; + if (n && "BLOCKQUOTE" == n.tagName) { + var i = u.node.deepestParent(e, [be(e).parentsUntil(u.$el, "BLOCKQUOTE").get(0)]); + i && i.previousSibling && (r = n = i); + } + if (null !== n) { + var a, + o = n.previousSibling; + if (u.node.isBlock(n) && u.node.isEditable(n) && o && be.FE.NO_DELETE_TAGS.indexOf(o.tagName) < 0) + if (u.node.isDeletable(o)) be(o).remove(), be(e).replaceWith(be.FE.MARKERS); + else if (u.node.isEditable(o)) + if (u.node.isBlock(o)) + if (u.node.isEmpty(o) && !u.node.isList(o)) be(o).remove(), be(e).after(u.opts.keepFormatOnDelete ? be.FE.INVISIBLE_SPACE : ""); + else { + if ( + (u.node.isList(o) && (o = be(o).find("li:last").get(0)), + (a = u.node.contents(o)).length && "BR" == a[a.length - 1].tagName && be(a[a.length - 1]).remove(), + "BLOCKQUOTE" == o.tagName && "BLOCKQUOTE" != n.tagName) + ) + for (a = u.node.contents(o); a.length && u.node.isBlock(a[a.length - 1]); ) (o = a[a.length - 1]), (a = u.node.contents(o)); + else if ("BLOCKQUOTE" != o.tagName && "BLOCKQUOTE" == r.tagName) for (a = u.node.contents(r); a.length && u.node.isBlock(a[0]); ) (r = a[0]), (a = u.node.contents(r)); + if (u.node.isEmpty(n)) be(e).remove(), u.selection.setAtEnd(o, !0); + else { + be(e).replaceWith(be.FE.MARKERS); + var s = o.childNodes; + u.node.isBlock(s[s.length - 1]) ? be(s[s.length - 1]).append(r.innerHTML) : be(o).append(r.innerHTML); + } + be(r).remove(), u.node.isEmpty(n) && be(n).remove(); + } + else + be(e).replaceWith(be.FE.MARKERS), + "BLOCKQUOTE" == n.tagName && o.nodeType == Node.ELEMENT_NODE + ? be(o).remove() + : (be(o).after(u.node.isEmpty(n) ? "" : be(n).html()), be(n).remove(), "BR" == o.tagName && be(o).remove()); + } + })(t) + : (e = c(t)), + be(t).remove(), + f(), + u.html.fillEmptyBlocks(!0), + u.opts.htmlUntouched || (u.html.cleanEmptyTags(), u.clean.lists(), u.spaces.normalizeAroundCursor()), + u.selection.restore(), + e + ); + }, + del: function () { + var e = u.markers.insert(); + if (!e) return !1; + if ((u.el.normalize(), a(e))) + if (s(e)) + if (0 === be(e).parents("li:first").find("ul, ol").length) u.cursorLists._del(e); + else { + var t = be(e).parents("li:first").find("ul:first, ol:first").find("li:first"); + (t = t.find(u.html.blockTagsQuery()).get(-1) || t).prepend(e), u.cursorLists._backspace(e); + } + else l(e); + else o(e), n(e); + be(e).remove(), f(), u.html.fillEmptyBlocks(!0), u.opts.htmlUntouched || (u.html.cleanEmptyTags(), u.clean.lists()), u.spaces.normalizeAroundCursor(), u.selection.restore(); + }, + isAtEnd: g, + isAtStart: h, + }; + }), + (be.FE.ENTER_P = 0), + (be.FE.ENTER_DIV = 1), + (be.FE.ENTER_BR = 2), + (be.FE.KEYCODE = { + BACKSPACE: 8, + TAB: 9, + ENTER: 13, + SHIFT: 16, + CTRL: 17, + ALT: 18, + ESC: 27, + SPACE: 32, + ARROW_LEFT: 37, + ARROW_UP: 38, + ARROW_RIGHT: 39, + ARROW_DOWN: 40, + DELETE: 46, + ZERO: 48, + ONE: 49, + TWO: 50, + THREE: 51, + FOUR: 52, + FIVE: 53, + SIX: 54, + SEVEN: 55, + EIGHT: 56, + NINE: 57, + FF_SEMICOLON: 59, + FF_EQUALS: 61, + QUESTION_MARK: 63, + A: 65, + B: 66, + C: 67, + D: 68, + E: 69, + F: 70, + G: 71, + H: 72, + I: 73, + J: 74, + K: 75, + L: 76, + M: 77, + N: 78, + O: 79, + P: 80, + Q: 81, + R: 82, + S: 83, + T: 84, + U: 85, + V: 86, + W: 87, + X: 88, + Y: 89, + Z: 90, + META: 91, + NUM_ZERO: 96, + NUM_ONE: 97, + NUM_TWO: 98, + NUM_THREE: 99, + NUM_FOUR: 100, + NUM_FIVE: 101, + NUM_SIX: 102, + NUM_SEVEN: 103, + NUM_EIGHT: 104, + NUM_NINE: 105, + NUM_MULTIPLY: 106, + NUM_PLUS: 107, + NUM_MINUS: 109, + NUM_PERIOD: 110, + NUM_DIVISION: 111, + F1: 112, + F2: 113, + F3: 114, + F4: 115, + F5: 116, + F6: 117, + F7: 118, + F8: 119, + F9: 120, + F10: 121, + F11: 122, + F12: 123, + FF_HYPHEN: 173, + SEMICOLON: 186, + DASH: 189, + EQUALS: 187, + COMMA: 188, + HYPHEN: 189, + PERIOD: 190, + SLASH: 191, + APOSTROPHE: 192, + TILDE: 192, + SINGLE_QUOTE: 222, + OPEN_SQUARE_BRACKET: 219, + BACKSLASH: 220, + CLOSE_SQUARE_BRACKET: 221, + IME: 229, + }), + be.extend(be.FE.DEFAULTS, { enter: be.FE.ENTER_P, multiLine: !0, tabSpaces: 0 }), + (be.FE.MODULES.keys = function (l) { + var d, + n, + r, + c = !1; + function e() { + if (l.browser.mozilla && l.selection.isCollapsed() && !c) { + var e = l.selection.ranges(0), + t = e.startContainer, + n = e.startOffset; + t && t.nodeType == Node.TEXT_NODE && n <= t.textContent.length && 0 < n && 32 == t.textContent.charCodeAt(n - 1) && (l.selection.save(), l.spaces.normalize(), l.selection.restore()); + } + } + function t() { + l.selection.isFull() && + setTimeout(function () { + var e = l.html.defaultTag(); + e ? l.$el.html("<" + e + ">" + be.FE.MARKERS + "<br/></" + e + ">") : l.$el.html(be.FE.MARKERS + "<br/>"), l.selection.restore(), l.placeholder.refresh(), l.button.bulkRefresh(), l.undo.saveStep(); + }, 0); + } + function i() { + c = !1; + } + function a() { + c = !1; + } + function f() { + var e = l.html.defaultTag(); + e ? l.$el.html("<" + e + ">" + be.FE.MARKERS + "<br/></" + e + ">") : l.$el.html(be.FE.MARKERS + "<br/>"), l.selection.restore(); + } + function o(e) { + var t = l.selection.element(); + if (t && 0 <= ["INPUT", "TEXTAREA"].indexOf(t.tagName)) return !0; + if (e && g(e.which)) return p(), !0; + l.events.disableBlur(), null; + var n = e.which; + if (16 === n) return !0; + if ((d = n) === be.FE.KEYCODE.IME) return (c = !0); + c = !1; + var r, + i, + a, + o = m(n) && !h(e) && !e.altKey, + s = n == be.FE.KEYCODE.BACKSPACE || n == be.FE.KEYCODE.DELETE; + if ( + ((!(e.shiftKey && (33 === n || 34 === n || 35 === n || 36 === n)) && l.selection.isFull() && !l.opts.keepFormatOnDelete && !l.placeholder.isVisible()) || (s && l.placeholder.isVisible() && l.opts.keepFormatOnDelete)) && + (o || s) && + (f(), !m(n)) + ) + return e.preventDefault(), !0; + n == be.FE.KEYCODE.ENTER + ? e.shiftKey + ? ((a = e).preventDefault(), a.stopPropagation(), l.opts.multiLine && (l.selection.isCollapsed() || l.selection.remove(), l.cursor.enter(!0))) + : ((i = e), l.opts.multiLine ? (l.helpers.isIOS() || (i.preventDefault(), i.stopPropagation()), l.selection.isCollapsed() || l.selection.remove(), l.cursor.enter()) : (i.preventDefault(), i.stopPropagation())) + : n === be.FE.KEYCODE.BACKSPACE && (e.metaKey || e.ctrlKey) + ? setTimeout(function () { + l.events.disableBlur(), l.events.focus(); + }, 0) + : n != be.FE.KEYCODE.BACKSPACE || h(e) || e.altKey + ? n != be.FE.KEYCODE.DELETE || h(e) || e.altKey || e.shiftKey + ? n == be.FE.KEYCODE.SPACE + ? (function (e) { + var t = l.selection.element(); + if (!l.helpers.isMobile() && t && "A" == t.tagName) { + e.preventDefault(), e.stopPropagation(), l.selection.isCollapsed() || l.selection.remove(); + var n = l.markers.insert(); + if (n) { + var r = n.previousSibling; + !n.nextSibling && n.parentNode && "A" == n.parentNode.tagName + ? (n.parentNode.insertAdjacentHTML("afterend", "&nbsp;" + be.FE.MARKERS), n.parentNode.removeChild(n)) + : (r && r.nodeType == Node.TEXT_NODE && 1 == r.textContent.length && 160 == r.textContent.charCodeAt(0) ? (r.textContent = r.textContent + " ") : n.insertAdjacentHTML("beforebegin", "&nbsp;"), + (n.outerHTML = be.FE.MARKERS)), + l.selection.restore(); + } + } + })(e) + : n == be.FE.KEYCODE.TAB + ? (function (e) { + if (0 < l.opts.tabSpaces) + if (l.selection.isCollapsed()) { + l.undo.saveStep(), e.preventDefault(), e.stopPropagation(); + for (var t = "", n = 0; n < l.opts.tabSpaces; n++) t += "&nbsp;"; + l.html.insert(t), l.placeholder.refresh(), l.undo.saveStep(); + } else e.preventDefault(), e.stopPropagation(), e.shiftKey ? l.commands.outdent() : l.commands.indent(); + })(e) + : h(e) || !m(e.which) || l.selection.isCollapsed() || e.ctrlKey || e.altKey || l.selection.remove() + : l.placeholder.isVisible() + ? (l.opts.keepFormatOnDelete || f(), e.preventDefault(), e.stopPropagation()) + : ((r = e).preventDefault(), r.stopPropagation(), "" === l.selection.text() ? l.cursor.del() : l.selection.remove(), l.placeholder.refresh()) + : l.placeholder.isVisible() + ? (l.opts.keepFormatOnDelete || f(), e.preventDefault(), e.stopPropagation()) + : (function (e) { + if (l.selection.isCollapsed()) + if ((l.cursor.backspace(), l.helpers.isIOS())) { + var t = l.selection.ranges(0); + t.deleteContents(), t.insertNode(document.createTextNode("\u200b")), l.selection.get().modify("move", "forward", "character"); + } else e.preventDefault(), e.stopPropagation(); + else e.preventDefault(), e.stopPropagation(), l.selection.remove(); + l.placeholder.refresh(); + })(e), + l.events.enableBlur(); + } + function s() { + if (!l.$wp) return !0; + var e; + l.opts.height || l.opts.heightMax + ? ((e = l.position.getBoundingRect().top), + l.opts.iframe && (e += l.$iframe.offset().top), + e > l.$wp.offset().top - l.helpers.scrollTop() + l.$wp.height() - 20 && l.$wp.scrollTop(e + l.$wp.scrollTop() - (l.$wp.height() + l.$wp.offset().top) + l.helpers.scrollTop() + 20)) + : ((e = l.position.getBoundingRect().top), + l.opts.toolbarBottom && (e += l.opts.toolbarStickyOffset), + l.opts.iframe && ((e += l.$iframe.offset().top), (e -= l.helpers.scrollTop())), + (e += l.opts.toolbarStickyOffset) > l.o_win.innerHeight - 20 && be(l.o_win).scrollTop(e + l.helpers.scrollTop() - l.o_win.innerHeight + 20), + (e = l.position.getBoundingRect().top), + l.opts.toolbarBottom || (e -= l.opts.toolbarStickyOffset), + l.opts.iframe && ((e += l.$iframe.offset().top), (e -= l.helpers.scrollTop())), + e < l.$tb.height() + 20 && be(l.o_win).scrollTop(e + l.helpers.scrollTop() - l.$tb.height() - 20)); + } + function p() { + var e, + t = l.selection.element(); + !(function (e) { + if (!e) return !1; + var t = e.innerHTML; + return !!((t = t.replace(/<span[^>]*? class\s*=\s*["']?fr-marker["']?[^>]+>\u200b<\/span>/gi, "")) && /\u200B/.test(t) && 0 < t.replace(/\u200B/gi, "").length); + })(t) || + l.node.hasClass(t, "fr-marker") || + "IFRAME" == t.tagName || + ((e = t), l.helpers.isIOS() && 0 !== ((e.textContent || "").match(/[\u3041-\u3096\u30A0-\u30FF\u4E00-\u9FFF\u3130-\u318F\uAC00-\uD7AF]/gi) || []).length) || + (l.selection.save(), + (function (e) { + for ( + var t = l.doc.createTreeWalker( + e, + NodeFilter.SHOW_TEXT, + l.node.filter(function (e) { + return /\u200B/gi.test(e.textContent); + }), + !1 + ); + t.nextNode(); + + ) { + var n = t.currentNode; + n.textContent = n.textContent.replace(/\u200B/gi, ""); + } + })(t), + l.selection.restore()); + } + function u(e) { + var t = l.selection.element(); + if (t && 0 <= ["INPUT", "TEXTAREA"].indexOf(t.tagName)) return !0; + if ((e && 0 === e.which && d && (e.which = d), l.helpers.isAndroid() && l.browser.mozilla)) return !0; + if (c) return !1; + if ((e && l.helpers.isIOS() && e.which == be.FE.KEYCODE.ENTER && l.doc.execCommand("undo"), !l.selection.isCollapsed())) return !0; + if (e && (e.which === be.FE.KEYCODE.META || e.which == be.FE.KEYCODE.CTRL)) return !0; + if (e && g(e.which)) return !0; + if (e && !l.helpers.isIOS() && (e.which == be.FE.KEYCODE.ENTER || e.which == be.FE.KEYCODE.BACKSPACE || (37 <= e.which && e.which <= 40 && !l.browser.msie))) + try { + s(); + } catch (n) {} + p(); + } + function h(e) { + if (-1 != navigator.userAgent.indexOf("Mac OS X")) { + if (e.metaKey && !e.altKey) return !0; + } else if (e.ctrlKey && !e.altKey) return !0; + return !1; + } + function g(e) { + if (e >= be.FE.KEYCODE.ARROW_LEFT && e <= be.FE.KEYCODE.ARROW_DOWN) return !0; + } + function m(e) { + if (e >= be.FE.KEYCODE.ZERO && e <= be.FE.KEYCODE.NINE) return !0; + if (e >= be.FE.KEYCODE.NUM_ZERO && e <= be.FE.KEYCODE.NUM_MULTIPLY) return !0; + if (e >= be.FE.KEYCODE.A && e <= be.FE.KEYCODE.Z) return !0; + if (l.browser.webkit && 0 === e) return !0; + switch (e) { + case be.FE.KEYCODE.SPACE: + case be.FE.KEYCODE.QUESTION_MARK: + case be.FE.KEYCODE.NUM_PLUS: + case be.FE.KEYCODE.NUM_MINUS: + case be.FE.KEYCODE.NUM_PERIOD: + case be.FE.KEYCODE.NUM_DIVISION: + case be.FE.KEYCODE.SEMICOLON: + case be.FE.KEYCODE.FF_SEMICOLON: + case be.FE.KEYCODE.DASH: + case be.FE.KEYCODE.EQUALS: + case be.FE.KEYCODE.FF_EQUALS: + case be.FE.KEYCODE.COMMA: + case be.FE.KEYCODE.PERIOD: + case be.FE.KEYCODE.SLASH: + case be.FE.KEYCODE.APOSTROPHE: + case be.FE.KEYCODE.SINGLE_QUOTE: + case be.FE.KEYCODE.OPEN_SQUARE_BRACKET: + case be.FE.KEYCODE.BACKSLASH: + case be.FE.KEYCODE.CLOSE_SQUARE_BRACKET: + return !0; + default: + return !1; + } + } + function v(e) { + var t = e.which; + if (h(e) || (37 <= t && t <= 40) || (!m(t) && t != be.FE.KEYCODE.DELETE && t != be.FE.KEYCODE.BACKSPACE && t != be.FE.KEYCODE.ENTER && t != be.FE.KEYCODE.IME)) return !0; + n || ((r = l.snapshot.get()), l.undo.canDo() || l.undo.saveStep()), + clearTimeout(n), + (n = setTimeout(function () { + (n = null), l.undo.saveStep(); + }, Math.max(250, l.opts.typingTimer))); + } + function E(e) { + var t = e.which; + if (h(e) || (37 <= t && t <= 40)) return !0; + r && n ? (l.undo.saveStep(r), (r = null)) : (void 0 !== t && 0 !== t) || r || n || l.undo.saveStep(); + } + function b(e) { + if (e && "BR" == e.tagName) return !1; + try { + return ( + (0 === (e.textContent || "").length && e.querySelector && !e.querySelector(":scope > br")) || + (e.childNodes && 1 == e.childNodes.length && e.childNodes[0].getAttribute && ("false" == e.childNodes[0].getAttribute("contenteditable") || l.node.hasClass(e.childNodes[0], "fr-img-caption"))) + ); + } catch (t) { + return !1; + } + } + function T(e) { + var t = l.el.childNodes, + n = l.html.defaultTag(); + return ( + !(!e.target || e.target === l.el) || + 0 === t.length || + void (l.$el.outerHeight() - e.offsetY <= 10 + ? b(t[t.length - 1]) && (n ? l.$el.append("<" + n + ">" + be.FE.MARKERS + "<br></" + n + ">") : l.$el.append(be.FE.MARKERS + "<br>"), l.selection.restore(), s()) + : e.offsetY <= 10 && b(t[0]) && (n ? l.$el.prepend("<" + n + ">" + be.FE.MARKERS + "<br></" + n + ">") : l.$el.prepend(be.FE.MARKERS + "<br>"), l.selection.restore(), s())) + ); + } + function A() { + n && clearTimeout(n); + } + return { + _init: function () { + l.events.on("keydown", v), + l.events.on("input", e), + l.events.on("mousedown", a), + l.events.on("keyup input", E), + l.events.on("keypress", i), + l.events.on("keydown", o), + l.events.on("keyup", u), + l.events.on("destroy", A), + l.events.on("html.inserted", u), + l.events.on("cut", t), + l.events.on("click", T); + }, + ctrlKey: h, + isCharacter: m, + isArrow: g, + forceUndo: function () { + n && (clearTimeout(n), l.undo.saveStep(), (r = null)); + }, + isIME: function () { + return c; + }, + isBrowserAction: function (e) { + var t = e.which; + return h(e) || t == be.FE.KEYCODE.F5; + }, + positionCaret: s, + }; + }), + (be.FE.MODULES.accessibility = function (f) { + var a = !0; + function s(t) { + t && + t.length && + !f.$el.find('[contenteditable="true"]').is(":focus") && + (t.data("blur-event-set") || + t.parents(".fr-popup").length || + (f.events.$on( + t, + "blur", + function () { + var e = t.parents(".fr-toolbar, .fr-popup").data("instance") || f; + e.events.blurActive() && e.events.trigger("blur"), + setTimeout(function () { + e.events.enableBlur(); + }, 100); + }, + !0 + ), + t.data("blur-event-set", !0)), + (t.parents(".fr-toolbar, .fr-popup").data("instance") || f).events.disableBlur(), + t.focus(), + (f.shared.$f_el = t)); + } + function p(e, t) { + var n = t ? "last" : "first", + r = e.find("button:visible:not(.fr-disabled), .fr-group span.fr-command:visible")[n](); + if (r.length) return s(r), !0; + } + function o(e) { + return e.is("input, textarea, select") && t(), f.events.disableBlur(), e.focus(), !0; + } + function u(e, t) { + var n = e + .find("input, textarea, button, select") + .filter(":visible") + .not(":disabled") + .filter(t ? ":last" : ":first"); + if (n.length) return o(n); + if (f.shared.with_kb) { + var r = e.find(".fr-active-item:visible:first"); + if (r.length) return o(r); + var i = e.find("[tabIndex]:visible:first"); + if (i.length) return o(i); + } + } + function t() { + 0 === f.$el.find(".fr-marker").length && f.core.hasFocus() && f.selection.save(); + } + function l() { + var e = f.popups.areVisible(); + if (e) { + var t = e.find(".fr-buttons"); + return t.find("button:focus, .fr-group span:focus").length ? !p(e.data("instance").$tb) : !p(t); + } + return !p(f.$tb); + } + function d() { + var e = null; + return f.shared.$f_el.is(".fr-dropdown.fr-active") ? (e = f.shared.$f_el) : f.shared.$f_el.closest(".fr-dropdown-menu").prev().is(".fr-dropdown.fr-active") && (e = f.shared.$f_el.closest(".fr-dropdown-menu").prev()), e; + } + function n(e, t, n) { + if (f.shared.$f_el) { + var r = d(); + r && (f.button.click(r), (f.shared.$f_el = r)); + var i = e.find("button:visible:not(.fr-disabled), .fr-group span.fr-command:visible"), + a = i.index(f.shared.$f_el); + if ((0 === a && !n) || (a == i.length - 1 && n)) { + var o; + if (t) { + if (e.parent().is(".fr-popup")) o = !u(e.parent().children().not(".fr-buttons"), !n); + !1 === o && (f.shared.$f_el = null); + } + (t && !1 === o) || p(e, !n); + } else s(be(i.get(a + (n ? 1 : -1)))); + return !1; + } + } + function c(e, t) { + return n(e, t, !0); + } + function h(e, t) { + return n(e, t); + } + function g(e) { + if (f.shared.$f_el) { + var t; + if (f.shared.$f_el.is(".fr-dropdown.fr-active")) return s((t = e ? f.shared.$f_el.next().find(".fr-command:not(.fr-disabled)").first() : f.shared.$f_el.next().find(".fr-command:not(.fr-disabled)").last())), !1; + if (f.shared.$f_el.is("a.fr-command")) + return ( + (t = e + ? f.shared.$f_el.closest("li").nextAll(":visible:first").find(".fr-command:not(.fr-disabled)").first() + : f.shared.$f_el.closest("li").prevAll(":visible:first").find(".fr-command:not(.fr-disabled)").first()).length || + (t = e ? f.shared.$f_el.closest(".fr-dropdown-menu").find(".fr-command:not(.fr-disabled)").first() : f.shared.$f_el.closest(".fr-dropdown-menu").find(".fr-command:not(.fr-disabled)").last()), + s(t), + !1 + ); + } + } + function m() { + if (f.shared.$f_el) { + if (f.shared.$f_el.hasClass("fr-dropdown")) f.button.click(f.shared.$f_el); + else if (f.shared.$f_el.is("button.fr-back")) { + f.opts.toolbarInline && (f.events.disableBlur(), f.events.focus()); + var e = f.popups.areVisible(f); + e && (f.shared.with_kb = !1), f.button.click(f.shared.$f_el), E(e); + } else { + if ((f.events.disableBlur(), f.button.click(f.shared.$f_el), f.shared.$f_el.attr("data-popup"))) { + var t = f.popups.areVisible(f); + t && t.data("popup-button", f.shared.$f_el); + } else if (f.shared.$f_el.attr("data-modal")) { + var n = f.modals.areVisible(f); + n && n.data("modal-button", f.shared.$f_el); + } + f.shared.$f_el = null; + } + return !1; + } + } + function v() { + f.shared.$f_el && (f.events.disableBlur(), f.shared.$f_el.blur(), (f.shared.$f_el = null)), !1 !== f.events.trigger("toolbar.focusEditor") && (f.events.disableBlur(), f.browser.msie || f.$el.focus(), f.events.focus()); + } + function r(r) { + r && + r.length && + (f.events.$on( + r, + "keydown", + function (e) { + if (!be(e.target).is("a.fr-command, button.fr-command, .fr-group span.fr-command")) return !0; + var t = r.parents(".fr-popup").data("instance") || r.data("instance") || f; + f.shared.with_kb = !0; + var n = t.accessibility.exec(e, r); + return (f.shared.with_kb = !1), n; + }, + !0 + ), + f.browser.msie || + f.events.$on( + r, + "mouseenter", + "[tabIndex]", + function (e) { + var t = r.parents(".fr-popup").data("instance") || r.data("instance") || f; + if (!a) return e.stopPropagation(), void e.preventDefault(); + var n = be(e.currentTarget); + t.shared.$f_el && t.shared.$f_el.not(n) && t.accessibility.focusEditor(); + }, + !0 + )); + } + function E(e) { + var t = e.data("popup-button"); + t && + setTimeout(function () { + s(t), e.data("popup-button", null); + }, 0); + } + function i(e) { + var t = f.popups.areVisible(e); + t && t.data("popup-button", null); + } + function e(e) { + var t = -1 != navigator.userAgent.indexOf("Mac OS X") ? e.metaKey : e.ctrlKey; + if (e.which == be.FE.KEYCODE.F10 && !t && !e.shiftKey && e.altKey) { + f.shared.with_kb = !0; + var n = f.popups.areVisible(f), + r = !1; + return n && (r = u(n.children().not(".fr-buttons"))), r || l(), (f.shared.with_kb = !1), e.preventDefault(), e.stopPropagation(), !1; + } + return !0; + } + return { + _init: function () { + f.$wp ? f.events.on("keydown", e, !0) : f.events.$on(f.$win, "keydown", e, !0), + f.events.on( + "mousedown", + function (e) { + i(f), f.shared.$f_el && (f.accessibility.restoreSelection(), e.stopPropagation(), f.events.disableBlur(), (f.shared.$f_el = null)); + }, + !0 + ), + f.events.on( + "blur", + function () { + (f.shared.$f_el = null), i(f); + }, + !0 + ); + }, + registerPopup: function (e) { + var d, + c, + t = f.popups.get(e), + n = + ((d = e), + (c = f.popups.get(d)), + { + _tiKeydown: function (e) { + var t = c.data("instance") || f; + if (!1 === t.events.trigger("popup.tab", [e])) return !1; + var n = e.which, + r = c.find(":focus:first"); + if (be.FE.KEYCODE.TAB == n) { + e.preventDefault(); + var i = c.children().not(".fr-buttons"), + a = i.find("input, textarea, button, select").filter(":visible").not(".fr-no-touch input, .fr-no-touch textarea, .fr-no-touch button, .fr-no-touch select, :disabled").toArray(), + o = a.indexOf(this) + (e.shiftKey ? -1 : 1); + if (0 <= o && o < a.length) return t.events.disableBlur(), be(a[o]).focus(), e.stopPropagation(), !1; + var s = c.find(".fr-buttons"); + if (s.length && p(s, !!e.shiftKey)) return e.stopPropagation(), !1; + if (u(i)) return e.stopPropagation(), !1; + } else { + if (be.FE.KEYCODE.ENTER != n || !e.target || "TEXTAREA" === e.target.tagName) + return be.FE.KEYCODE.ESC == n + ? (e.preventDefault(), + e.stopPropagation(), + t.accessibility.restoreSelection(), + t.popups.isVisible(d) && c.find(".fr-back:visible").length + ? (t.opts.toolbarInline && (t.events.disableBlur(), t.events.focus()), t.button.exec(c.find(".fr-back:visible:first")), E(c)) + : t.popups.isVisible(d) && c.find(".fr-dismiss:visible").length + ? t.button.exec(c.find(".fr-dismiss:visible:first")) + : (t.popups.hide(d), t.opts.toolbarInline && t.toolbar.showInline(null, !0), E(c)), + !1) + : be.FE.KEYCODE.SPACE == n && (r.is(".fr-submit") || r.is(".fr-dismiss")) + ? (e.preventDefault(), e.stopPropagation(), t.events.disableBlur(), t.button.exec(r), !0) + : t.keys.isBrowserAction(e) + ? void e.stopPropagation() + : r.is("input[type=text], textarea") + ? void e.stopPropagation() + : be.FE.KEYCODE.SPACE == n && (r.is(".fr-link-attr") || r.is("input[type=file]")) + ? void e.stopPropagation() + : (e.stopPropagation(), e.preventDefault(), !1); + var l = null; + 0 < c.find(".fr-submit:visible").length ? (l = c.find(".fr-submit:visible:first")) : c.find(".fr-dismiss:visible").length && (l = c.find(".fr-dismiss:visible:first")), + l && (e.preventDefault(), e.stopPropagation(), t.events.disableBlur(), t.button.exec(l)); + } + }, + _tiMouseenter: function () { + var e = c.data("instance") || f; + i(e); + }, + }); + r(t.find(".fr-buttons")), + f.events.$on(t, "mouseenter", "tabIndex", n._tiMouseenter, !0), + f.events.$on(t.children().not(".fr-buttons"), "keydown", "[tabIndex]", n._tiKeydown, !0), + f.popups.onHide(e, function () { + (t.data("instance") || f).accessibility.restoreSelection(); + }), + f.popups.onShow(e, function () { + (a = !1), + setTimeout(function () { + a = !0; + }, 0); + }); + }, + registerToolbar: r, + focusToolbarElement: s, + focusToolbar: p, + focusContent: u, + focusPopup: function (r) { + var i = r.children().not(".fr-buttons"); + i.data("mouseenter-event-set") || + f.browser.msie || + (f.events.$on(i, "mouseenter", "[tabIndex]", function (e) { + var t = r.data("instance") || f; + if (!a) return e.stopPropagation(), void e.preventDefault(); + var n = i.find(":focus:first"); + n.length && !n.is("input, button, textarea, select") && (t.events.disableBlur(), n.blur(), t.events.disableBlur(), t.events.focus()); + }), + i.data("mouseenter-event-set", !0)), + !u(i) && f.shared.with_kb && p(r.find(".fr-buttons")); + }, + focusModal: function (e) { + f.core.hasFocus() || (f.events.disableBlur(), f.events.focus()), + f.accessibility.saveSelection(), + f.events.disableBlur(), + f.$el.blur(), + f.selection.clear(), + f.events.disableBlur(), + f.shared.with_kb ? e.find(".fr-command[tabIndex], [tabIndex]").first().focus() : e.find("[tabIndex]:first").focus(); + }, + focusEditor: v, + focusPopupButton: E, + focusModalButton: function (e) { + var t = e.data("modal-button"); + t && + setTimeout(function () { + s(t), e.data("modal-button", null); + }, 0); + }, + hasFocus: function () { + return null != f.shared.$f_el; + }, + exec: function (e, t) { + var n = -1 != navigator.userAgent.indexOf("Mac OS X") ? e.metaKey : e.ctrlKey, + r = e.which, + i = !1; + return ( + r != be.FE.KEYCODE.TAB || n || e.shiftKey || e.altKey + ? r != be.FE.KEYCODE.ARROW_RIGHT || n || e.shiftKey || e.altKey + ? r != be.FE.KEYCODE.TAB || n || !e.shiftKey || e.altKey + ? r != be.FE.KEYCODE.ARROW_LEFT || n || e.shiftKey || e.altKey + ? r != be.FE.KEYCODE.ARROW_UP || n || e.shiftKey || e.altKey + ? r != be.FE.KEYCODE.ARROW_DOWN || n || e.shiftKey || e.altKey + ? (r != be.FE.KEYCODE.ENTER && r != be.FE.KEYCODE.SPACE) || n || e.shiftKey || e.altKey + ? r != be.FE.KEYCODE.ESC || n || e.shiftKey || e.altKey + ? r != be.FE.KEYCODE.F10 || n || e.shiftKey || !e.altKey || (i = l()) + : (i = (function (e) { + if (f.shared.$f_el) { + var t = d(); + return ( + t + ? (f.button.click(t), s(t)) + : e.parent().find(".fr-back:visible").length + ? ((f.shared.with_kb = !1), + f.opts.toolbarInline && (f.events.disableBlur(), f.events.focus()), + f.button.exec(e.parent().find(".fr-back:visible:first")), + E(e.parent())) + : f.shared.$f_el.is("button, .fr-group span") && + (e.parent().is(".fr-popup") + ? (f.accessibility.restoreSelection(), + (f.shared.$f_el = null), + !1 !== f.events.trigger("toolbar.esc") && (f.popups.hide(e.parent()), f.opts.toolbarInline && f.toolbar.showInline(null, !0), E(e.parent()))) + : v()), + !1 + ); + } + })(t)) + : (i = m()) + : (i = f.shared.$f_el && f.shared.$f_el.is(".fr-dropdown:not(.fr-active)") ? m() : g(!0)) + : (i = g()) + : (i = h(t)) + : (i = h(t, !0)) + : (i = c(t)) + : (i = c(t, !0)), + f.shared.$f_el || i !== undefined || (i = !0), + !i && f.keys.isBrowserAction(e) && (i = !0), + !!i || (e.preventDefault(), e.stopPropagation(), !1) + ); + }, + saveSelection: t, + restoreSelection: function () { + f.$el.find(".fr-marker").length && (f.events.disableBlur(), f.selection.restore(), f.events.enableBlur()); + }, + }; + }), + (be.FE.MODULES.format = function (g) { + function l(e, t) { + var n = "<" + e; + for (var r in t) t.hasOwnProperty(r) && (n += " " + r + '="' + t[r] + '"'); + return (n += ">"); + } + function f(e, t) { + var n = e; + for (var r in t) t.hasOwnProperty(r) && (n += "id" == r ? "#" + t[r] : "class" == r ? "." + t[r] : "[" + r + '="' + t[r] + '"]'); + return n; + } + function p(e, t) { + return !(!e || e.nodeType != Node.ELEMENT_NODE) && (e.matches || e.matchesSelector || e.msMatchesSelector || e.mozMatchesSelector || e.webkitMatchesSelector || e.oMatchesSelector).call(e, t); + } + function m(e, t, n) { + if (e) { + for (; e.nodeType === Node.COMMENT_NODE; ) e = e.nextSibling; + if (e) { + if (g.node.isBlock(e) && "HR" !== e.tagName) return m(e.firstChild, t, n), !1; + for (var r = be(l(t, n)).insertBefore(e), i = e; i && !be(i).is(".fr-marker") && 0 === be(i).find(".fr-marker").length && "UL" != i.tagName && "OL" != i.tagName; ) { + var a = i; + if (g.node.isBlock(i) && "HR" !== e.tagName) return m(i.firstChild, t, n), !1; + (i = i.nextSibling), r.append(a); + } + if (i) (be(i).find(".fr-marker").length || "UL" == i.tagName || "OL" == i.tagName) && m(i.firstChild, t, n); + else { + for (var o = r.get(0).parentNode; o && !o.nextSibling && !g.node.isElement(o); ) o = o.parentNode; + if (o) { + for (var s = o.nextSibling; "BR" === s.tagName; ) s = s.nextSibling; + s && (g.node.isBlock(s) ? ("HR" === s.tagName ? m(s.nextSibling, t, n) : m(s.firstChild, t, n)) : m(s, t, n)); + } + } + r.is(":empty") && r.remove(); + } + } + } + function n(e, t) { + var n; + if ((void 0 === t && (t = {}), t.style && delete t.style, g.selection.isCollapsed())) { + g.markers.insert(), g.$el.find(".fr-marker").replaceWith(l(e, t) + be.FE.INVISIBLE_SPACE + be.FE.MARKERS + ("</" + e + ">")), g.selection.restore(); + } else { + var r; + g.selection.save(), m(g.$el.find('.fr-marker[data-type="true"]').get(0).nextSibling, e, t); + do { + for (r = g.$el.find(f(e, t) + " > " + f(e, t)), n = 0; n < r.length; n++) r[n].outerHTML = r[n].innerHTML; + } while (r.length); + g.el.normalize(); + var i = g.el.querySelectorAll(".fr-marker"); + for (n = 0; n < i.length; n++) { + var a = be(i[n]); + !0 === a.data("type") ? p(a.get(0).nextSibling, f(e, t)) && a.next().prepend(a) : p(a.get(0).previousSibling, f(e, t)) && a.prev().append(a); + } + g.selection.restore(); + } + } + function v(e, t, n, r) { + if (!r) { + var i = !1; + if (!0 === e.data("type")) for (; g.node.isFirstSibling(e.get(0)) && !e.parent().is(g.$el) && !e.parent().is("ol") && !e.parent().is("ul"); ) e.parent().before(e), (i = !0); + else if (!1 === e.data("type")) for (; g.node.isLastSibling(e.get(0)) && !e.parent().is(g.$el) && !e.parent().is("ol") && !e.parent().is("ul"); ) e.parent().after(e), (i = !0); + if (i) return !0; + } + if (e.parents(t).length || void 0 === t) { + var a = "", + o = "", + s = e.parent(); + if (s.is(g.$el) || g.node.isBlock(s.get(0))) return !1; + for (; !g.node.isBlock(s.parent().get(0)) && (void 0 === t || (void 0 !== t && !p(s.get(0), f(t, n)))); ) (a += g.node.closeTagString(s.get(0))), (o = g.node.openTagString(s.get(0)) + o), (s = s.parent()); + var l = e.get(0).outerHTML; + e.replaceWith('<span id="mark"></span>'); + var d = s.html().replace(/<span id="mark"><\/span>/, a + g.node.closeTagString(s.get(0)) + o + l + a + g.node.openTagString(s.get(0)) + o); + return s.replaceWith(g.node.openTagString(s.get(0)) + d + g.node.closeTagString(s.get(0))), !0; + } + return !1; + } + function r(t, n) { + void 0 === n && (n = {}), n.style && delete n.style; + var r = g.selection.isCollapsed(); + g.selection.save(); + for (var i = !0; i; ) { + i = !1; + for (var a = g.$el.find(".fr-marker"), o = 0; o < a.length; o++) { + var s = be(a[o]), + l = null; + if ((s.attr("data-cloned") || r || ((l = s.clone().removeClass("fr-marker").addClass("fr-clone")), !0 === s.data("type") ? s.attr("data-cloned", !0).after(l) : s.attr("data-cloned", !0).before(l)), v(s, t, n, r))) { + i = !0; + break; + } + } + } + !(function e(t, n, r, i) { + for (var a = g.node.contents(t.get(0)), o = 0; o < a.length; o++) { + var s = a[o]; + if (g.node.hasClass(s, "fr-marker")) n = (n + 1) % 2; + else if (n) + if (0 < be(s).find(".fr-marker").length) n = e(be(s), n, r, i); + else { + for (var l = be(s).find(r || "*:not(a):not(br)"), d = l.length - 1; 0 <= d; d--) { + var c = l[d]; + g.node.isBlock(c) || g.node.isVoid(c) || (void 0 !== r && !p(c, f(r, i))) + ? g.node.isBlock(c) && void 0 === r && "TABLE" != s.tagName && g.node.clearAttributes(c) + : g.node.hasClass(c, "fr-clone") || (c.outerHTML = c.innerHTML); + } + (void 0 === r && s.nodeType == Node.ELEMENT_NODE && !g.node.isVoid(s)) || p(s, f(r, i)) + ? g.node.isBlock(s) || be(s).replaceWith(s.innerHTML) + : void 0 === r && s.nodeType == Node.ELEMENT_NODE && g.node.isBlock(s) && "TABLE" != s.tagName && g.node.clearAttributes(s); + } + else 0 < be(s).find(".fr-marker").length && (n = e(be(s), n, r, i)); + } + return n; + })(g.$el, 0, t, n), + r || (g.$el.find(".fr-marker").remove(), g.$el.find(".fr-clone").removeClass("fr-clone").addClass("fr-marker")), + r && g.$el.find(".fr-marker").before(be.FE.INVISIBLE_SPACE).after(be.FE.INVISIBLE_SPACE), + g.html.cleanEmptyTags(), + g.el.normalize(), + g.selection.restore(); + } + function t(e, t) { + var n, + r, + i, + a, + o, + s = null; + if (g.selection.isCollapsed()) { + g.markers.insert(); + var l = (r = g.$el.find(".fr-marker")).parent(); + if (g.node.openTagString(l.get(0)) == '<span style="' + e + ": " + l.css(e) + ';">') { + if (g.node.isEmpty(l.get(0))) (s = be('<span style="' + e + ": " + t + ';">' + be.FE.INVISIBLE_SPACE + be.FE.MARKERS + "</span>")), l.replaceWith(s); + else { + var d = {}; + (d["style*"] = e + ":"), + v(r, "span", d, !0), + (r = g.$el.find(".fr-marker")), + t ? ((s = be('<span style="' + e + ": " + t + ';">' + be.FE.INVISIBLE_SPACE + be.FE.MARKERS + "</span>")), r.replaceWith(s)) : r.replaceWith(be.FE.INVISIBLE_SPACE + be.FE.MARKERS); + } + g.html.cleanEmptyTags(); + } else g.node.isEmpty(l.get(0)) && l.is("span") ? (r.replaceWith(be.FE.MARKERS), l.css(e, t)) : ((s = be('<span style="' + e + ": " + t + ';">' + be.FE.INVISIBLE_SPACE + be.FE.MARKERS + "</span>")), r.replaceWith(s)); + s && E(s, e, t); + } else { + if ((g.selection.save(), null == t || ("color" == e && 0 < g.$el.find(".fr-marker").parents("u, a").length))) { + var c = g.$el.find(".fr-marker"); + for (n = 0; n < c.length; n++) + if (!0 === (r = be(c[n])).data("type")) for (; g.node.isFirstSibling(r.get(0)) && !r.parent().is(g.$el) && !g.node.isElement(r.parent().get(0)) && !g.node.isBlock(r.parent().get(0)); ) r.parent().before(r); + else for (; g.node.isLastSibling(r.get(0)) && !r.parent().is(g.$el) && !g.node.isElement(r.parent().get(0)) && !g.node.isBlock(r.parent().get(0)); ) r.parent().after(r); + } + for (var f = g.$el.find('.fr-marker[data-type="true"]').get(0).nextSibling; f.firstChild; ) f = f.firstChild; + var p = { class: "fr-unprocessed" }; + for ( + t && (p.style = e + ": " + t + ";"), + m(f, "span", p), + g.$el.find(".fr-marker + .fr-unprocessed").each(function () { + be(this).prepend(be(this).prev()); + }), + g.$el.find(".fr-unprocessed + .fr-marker").each(function () { + be(this).prev().append(this); + }), + (t || "").match(/\dem$/) && g.$el.find("span.fr-unprocessed").removeClass("fr-unprocessed"); + 0 < g.$el.find("span.fr-unprocessed").length; + + ) { + if (((s = g.$el.find("span.fr-unprocessed:first").removeClass("fr-unprocessed")).parent().get(0).normalize(), s.parent().is("span") && 1 == s.parent().get(0).childNodes.length)) { + s.parent().css(e, t); + var u = s; + (s = s.parent()), u.replaceWith(u.html()); + } + var h = s.find("span"); + for (n = h.length - 1; 0 <= n; n--) (i = h[n]), (a = e), (o = void 0), (o = be(i)).css(a, ""), "" === o.attr("style") && o.replaceWith(o.html()); + E(s, e, t); + } + } + !(function () { + var e; + for (; 0 < g.$el.find(".fr-split:empty").length; ) g.$el.find(".fr-split:empty").remove(); + g.$el.find(".fr-split").removeClass("fr-split"), + g.$el.find('[style=""]').removeAttr("style"), + g.$el.find('[class=""]').removeAttr("class"), + g.html.cleanEmptyTags(), + be(g.$el.find("span").get().reverse()).each(function () { + (this.attributes && 0 !== this.attributes.length) || be(this).replaceWith(this.innerHTML); + }), + g.el.normalize(); + var t = g.$el.find("span[style] + span[style]"); + for (e = 0; e < t.length; e++) { + var n = be(t[e]), + r = be(t[e]).prev(); + n.get(0).previousSibling == r.get(0) && g.node.openTagString(n.get(0)) == g.node.openTagString(r.get(0)) && (n.prepend(r.html()), r.remove()); + } + g.$el.find("span[style] span[style]").each(function () { + if (0 <= be(this).attr("style").indexOf("font-size")) { + var e = be(this).parents("span[style]"); + 0 <= e.attr("style").indexOf("background-color") && (be(this).attr("style", be(this).attr("style") + ";" + e.attr("style")), v(be(this), "span[style]", {}, !1)); + } + }), + g.el.normalize(), + g.selection.restore(); + })(); + } + function E(e, t, n) { + var r, + i, + a, + o = e.parentsUntil(g.$el, "span[style]"), + s = []; + for (r = o.length - 1; 0 <= r; r--) + (i = o[r]), + (a = t), + 0 === + be(i) + .attr("style") + .indexOf(a + ":") || + 0 <= + be(i) + .attr("style") + .indexOf(";" + a + ":") || + 0 <= + be(i) + .attr("style") + .indexOf("; " + a + ":") || + s.push(o[r]); + if ((o = o.not(s)).length) { + for ( + var l = "", d = "", c = "", f = "", p = e.get(0); + (p = p.parentNode), + be(p).addClass("fr-split"), + (l += g.node.closeTagString(p)), + (d = g.node.openTagString(be(p).clone().addClass("fr-split").get(0)) + d), + o.get(0) != p && ((c += g.node.closeTagString(p)), (f = g.node.openTagString(be(p).clone().addClass("fr-split").get(0)) + f)), + o.get(0) != p; + + ); + var u = + l + + g.node.openTagString( + be(o.get(0)) + .clone() + .css(t, n || "") + .get(0) + ) + + f + + e.css(t, "").get(0).outerHTML + + c + + "</span>" + + d; + e.replaceWith('<span id="fr-break"></span>'); + var h = o.get(0).outerHTML; + be(o.get(0)).replaceWith(h.replace(/<span id="fr-break"><\/span>/g, u)); + } + } + function i(e, t) { + void 0 === t && (t = {}), t.style && delete t.style; + var n = g.selection.ranges(0), + r = n.startContainer; + if ( + (r.nodeType == Node.ELEMENT_NODE && 0 < r.childNodes.length && r.childNodes[n.startOffset] && (r = r.childNodes[n.startOffset]), + !n.collapsed && r.nodeType == Node.TEXT_NODE && n.startOffset == (r.textContent || "").length) + ) { + for (; !g.node.isBlock(r.parentNode) && !r.nextSibling; ) r = r.parentNode; + r.nextSibling && (r = r.nextSibling); + } + for (var i = r; i && i.nodeType == Node.ELEMENT_NODE && !p(i, f(e, t)); ) i = i.firstChild; + if (i && i.nodeType == Node.ELEMENT_NODE && p(i, f(e, t))) return !0; + var a = r; + for (a && a.nodeType != Node.ELEMENT_NODE && (a = a.parentNode); a && a.nodeType == Node.ELEMENT_NODE && a != g.el && !p(a, f(e, t)); ) a = a.parentNode; + return !(!a || a.nodeType != Node.ELEMENT_NODE || a == g.el || !p(a, f(e, t))); + } + return { + is: i, + toggle: function (e, t) { + i(e, t) ? r(e, t) : n(e, t); + }, + apply: n, + remove: r, + applyStyle: t, + removeStyle: function (e) { + t(e, null); + }, + }; + }), + be.extend(be.FE.DEFAULTS, { indentMargin: 20 }), + (be.FE.COMMANDS = { + bold: { + title: "Bold", + toggle: !0, + refresh: function (e) { + var t = this.format.is("strong"); + e.toggleClass("fr-active", t).attr("aria-pressed", t); + }, + }, + italic: { + title: "Italic", + toggle: !0, + refresh: function (e) { + var t = this.format.is("em"); + e.toggleClass("fr-active", t).attr("aria-pressed", t); + }, + }, + underline: { + title: "Underline", + toggle: !0, + refresh: function (e) { + var t = this.format.is("u"); + e.toggleClass("fr-active", t).attr("aria-pressed", t); + }, + }, + strikeThrough: { + title: "Strikethrough", + toggle: !0, + refresh: function (e) { + var t = this.format.is("s"); + e.toggleClass("fr-active", t).attr("aria-pressed", t); + }, + }, + subscript: { + title: "Subscript", + toggle: !0, + refresh: function (e) { + var t = this.format.is("sub"); + e.toggleClass("fr-active", t).attr("aria-pressed", t); + }, + }, + superscript: { + title: "Superscript", + toggle: !0, + refresh: function (e) { + var t = this.format.is("sup"); + e.toggleClass("fr-active", t).attr("aria-pressed", t); + }, + }, + outdent: { title: "Decrease Indent" }, + indent: { title: "Increase Indent" }, + undo: { title: "Undo", undo: !1, forcedRefresh: !0, disabled: !0 }, + redo: { title: "Redo", undo: !1, forcedRefresh: !0, disabled: !0 }, + insertHR: { title: "Insert Horizontal Line" }, + clearFormatting: { title: "Clear Formatting" }, + selectAll: { title: "Select All", undo: !1 }, + }), + (be.FE.RegisterCommand = function (e, t) { + be.FE.COMMANDS[e] = t; + }), + (be.FE.MODULES.commands = function (o) { + function i(e) { + return o.html.defaultTag() && (e = "<" + o.html.defaultTag() + ">" + e + "</" + o.html.defaultTag() + ">"), e; + } + var a = { + bold: function () { + e("bold", "strong"); + }, + subscript: function () { + o.format.is("sup") && o.format.remove("sup"), e("subscript", "sub"); + }, + superscript: function () { + o.format.is("sub") && o.format.remove("sub"), e("superscript", "sup"); + }, + italic: function () { + e("italic", "em"); + }, + strikeThrough: function () { + e("strikeThrough", "s"); + }, + underline: function () { + e("underline", "u"); + }, + undo: function () { + o.undo.run(); + }, + redo: function () { + o.undo.redo(); + }, + indent: function () { + n(1); + }, + outdent: function () { + n(-1); + }, + show: function () { + o.opts.toolbarInline && o.toolbar.showInline(null, !0); + }, + insertHR: function () { + o.selection.remove(); + var e = ""; + o.core.isEmpty() && (e = i((e = "<br>"))), o.html.insert('<hr id="fr-just">' + e); + var t, + n = o.$el.find("hr#fr-just"); + if ((n.removeAttr("id"), 0 === n.next().length)) { + var r = o.html.defaultTag(); + r ? n.after(be("<" + r + ">").append("<br>")) : n.after("<br>"); + } + n.prev().is("hr") ? (t = o.selection.setAfter(n.get(0), !1)) : n.next().is("hr") ? (t = o.selection.setBefore(n.get(0), !1)) : o.selection.setAfter(n.get(0), !1) || o.selection.setBefore(n.get(0), !1), + t || void 0 === t || ((e = i((e = be.FE.MARKERS + "<br>"))), n.after(e)), + o.selection.restore(); + }, + clearFormatting: function () { + o.format.remove(); + }, + selectAll: function () { + o.doc.execCommand("selectAll", !1, !1); + }, + }; + function t(e, t) { + if (!1 !== o.events.trigger("commands.before", be.merge([e], t || []))) { + var n = (be.FE.COMMANDS[e] && be.FE.COMMANDS[e].callback) || a[e], + r = !0, + i = !1; + be.FE.COMMANDS[e] && ("undefined" != typeof be.FE.COMMANDS[e].focus && (r = be.FE.COMMANDS[e].focus), "undefined" != typeof be.FE.COMMANDS[e].accessibilityFocus && (i = be.FE.COMMANDS[e].accessibilityFocus)), + ((!o.core.hasFocus() && r && !o.popups.areVisible()) || (!o.core.hasFocus() && i && o.accessibility.hasFocus())) && o.events.focus(!0), + be.FE.COMMANDS[e] && !1 !== be.FE.COMMANDS[e].undo && (o.$el.find(".fr-marker").length && (o.events.disableBlur(), o.selection.restore()), o.undo.saveStep()), + n && n.apply(o, be.merge([e], t || [])), + o.events.trigger("commands.after", be.merge([e], t || [])), + be.FE.COMMANDS[e] && !1 !== be.FE.COMMANDS[e].undo && o.undo.saveStep(); + } + } + function e(e, t) { + o.format.toggle(t); + } + function n(e) { + o.selection.save(), o.html.wrap(!0, !0, !0, !0), o.selection.restore(); + for (var t = o.selection.blocks(), n = 0; n < t.length; n++) + if ("LI" != t[n].tagName && "LI" != t[n].parentNode.tagName) { + var r = be(t[n]), + i = "rtl" == o.opts.direction || "rtl" == r.css("direction") ? "margin-right" : "margin-left", + a = o.helpers.getPX(r.css(i)); + if (r.width() < 2 * o.opts.indentMargin && 0 < e) continue; + r.css(i, Math.max(a + e * o.opts.indentMargin, 0) || ""), r.removeClass("fr-temp-div"); + } + o.selection.save(), o.html.unwrap(), o.selection.restore(); + } + function r(e) { + return function () { + t(e); + }; + } + var s = {}; + for (var l in a) a.hasOwnProperty(l) && (s[l] = r(l)); + return be.extend(s, { + exec: t, + _init: function () { + o.events.on("keydown", function (e) { + var t = o.selection.element(); + if (t && "HR" == t.tagName && !o.keys.isArrow(e.which)) return e.preventDefault(), !1; + }), + o.events.on("keyup", function (e) { + var t = o.selection.element(); + if (t && "HR" == t.tagName) + if (e.which == be.FE.KEYCODE.ARROW_LEFT || e.which == be.FE.KEYCODE.ARROW_UP) { + if (t.previousSibling) return o.node.isBlock(t.previousSibling) ? o.selection.setAtEnd(t.previousSibling) : be(t).before(be.FE.MARKERS), o.selection.restore(), !1; + } else if ((e.which == be.FE.KEYCODE.ARROW_RIGHT || e.which == be.FE.KEYCODE.ARROW_DOWN) && t.nextSibling) + return o.node.isBlock(t.nextSibling) ? o.selection.setAtStart(t.nextSibling) : be(t).after(be.FE.MARKERS), o.selection.restore(), !1; + }), + o.events.on("mousedown", function (e) { + if (e.target && "HR" == e.target.tagName) return e.preventDefault(), e.stopPropagation(), !1; + }), + o.events.on("mouseup", function () { + var e = o.selection.element(); + e == o.selection.endElement() && e && "HR" == e.tagName && (e.nextSibling && (o.node.isBlock(e.nextSibling) ? o.selection.setAtStart(e.nextSibling) : be(e).after(be.FE.MARKERS)), o.selection.restore()); + }); + }, + }); + }), + (be.FE.MODULES.data = function (f) { + var p = + "NCKB1zwtPA9tqzajXC2c2A7B-16VD3spzJ1C9C3D5oOF2OB1NB1LD7VA5QF4TE3gytXB2A4C-8VA2AC4E1D3GB2EB2KC3KD1MF1juuSB1A8C6yfbmd1B2a1A5qdsdB2tivbC3CB1KC1CH1eLA2sTF1B4I4H-7B-21UB6b1F5bzzzyAB4JC3MG2hjdKC1JE6C1E1cj1pD-16pUE5B4prra2B5ZB3D3C3pxj1EA6A3rnJA2C-7I-7JD9D1E1wYH1F3sTB5TA2G4H4ZA22qZA5BB3mjcvcCC3JB1xillavC-21VE6PC5SI4YC5C8mb1A3WC3BD2B5aoDA2qqAE3A5D-17fOD1D5RD4WC10tE6OAZC3nF-7b1C4A4D3qCF2fgmapcromlHA2QA6a1E1D3e1A6C2bie2F4iddnIA7B2mvnwcIB5OA1DB2OLQA3PB10WC7WC5d1E3uI-7b1D5D6b1E4D2arlAA4EA1F-11srxI-7MB1D7PF1E5B4adB-21YD5vrZH3D3xAC4E1A2GF2CF2J-7yNC2JE1MI2hH-7QB1C6B5B-9bA-7XB13a1B5VievwpKB4LA3NF-10H-9I-8hhaC-16nqPG4wsleTD5zqYF3h1G2B7B4yvGE2Pi1H-7C-21OE6B1uLD1kI4WC1E7C5g1D-8fue1C8C6c1D4D3Hpi1CC4kvGC2E1legallyXB4axVA11rsA4A-9nkdtlmzBA2GD3A13A6CB1dabE1lezrUE6RD5TB4A-7f1C8c1B5d1D4D3tyfCD5C2D2==", + u = (function () { + for (var e = 0, t = document.domain, n = t.split("."), r = "_gd" + new Date().getTime(); e < n.length - 1 && -1 == document.cookie.indexOf(r + "=" + r); ) + (t = n.slice(-1 - ++e).join(".")), (document.cookie = r + "=" + r + ";domain=" + t + ";"); + return (document.cookie = r + "=;expires=Thu, 01 Jan 1970 00:00:01 GMT;domain=" + t + ";"), (t || "").replace(/(^\.*)|(\.*$)/g, ""); + })(); + function h(e) { + return e; + } + var g, + m, + v = h(function (e) { + if (!e) return e; + for (var t = "", n = h("charCodeAt"), r = h("fromCharCode"), i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".indexOf(e[0]), a = 1; a < e.length - 2; a++) { + for (var o = d(++i), s = e[n](a), l = ""; /[0-9-]/.test(e[a + 1]); ) l += e[++a]; + (s = E(s, o, (l = parseInt(l, 10) || 0))), (s ^= (i - 1) & 31), (t += String[r](s)); + } + return t; + }); + function d(e) { + for (var t = e.toString(), n = 0, r = 0; r < t.length; r++) n += parseInt(t.charAt(r), 10); + return 10 < n ? (n % 9) + 1 : n; + } + function E(e, t, n) { + for (var r = Math.abs(n); 0 < r--; ) e -= t; + return n < 0 && (e += 123), e; + } + function b(e) { + return !(!e || "block" === e.css("display") || (e.remove(), 0)); + } + function T(e) { + return e && 0 === f.$box.find(e).length; + } + var e = 0; + function A() { + if ( + (10 < e && + (f[h(v("0ppecjvc=="))](), + setTimeout(function () { + be.FE = null; + }, 10)), + !f.$box) + ) + return !1; + f.$wp.prepend(v(h(v(p)))), (g = f.$wp.find("> div:first")), (m = g.find("> a")), "rtl" == f.opts.direction && g.css("left", "auto").css("right", 0).attr("direction", "rtl"), e++; + } + function C(e) { + for ( + var t = [v("9qqG-7amjlwq=="), v("KA3B3C2A6D1D5H5H1A3=="), v("3B9B3B5F3C4G3E3=="), v("QzbzvxyB2yA-9m=="), v("ji1kacwmgG5bc=="), v("nmA-13aogi1A3c1jd=="), v("BA9ggq=="), v("emznbjbH3fij=="), v("tkC-22d1qC-13sD1wzF-7==")], + n = 0; + n < t.length; + n++ + ) + if ( + (String.prototype.endsWith || + (String.prototype.endsWith = function (e, t) { + return (t === undefined || t > this.length) && (t = this.length), this.substring(t - e.length, t) === e; + }), + e.endsWith(t[n])) + ) + return !0; + return !1; + } + return { + _init: function () { + var e = f.o_win.FEK; + try { + e = e || (localStorage && localStorage.FEK); + } catch (E) {} + e = f.opts.key || e || [""]; + var t = v(h("ziRA1E3B9pA5B-11D-11xg1A3ZB5D1D4B-11ED2EG2pdeoC1clIH4wB-22yQD5uF4YE3E3A9==")); + "string" == typeof e && (e = [e]); + for (var n, r, i, a = !(f.ul = !0), o = 0, s = 0; s < e.length; s++) { + var l = ((r = e[s]), 3 === (i = (v(r) || "").split("|")).length ? i : [null, null, v(r) || ""]), + d = l[2]; + if (d === v(h(v("mcVRDoB1BGILD7YFe1BTXBA7B6=="))) || 0 <= d.indexOf(u, d.length - u.length) || C(u)) { + if (!((null === (n = l[1]) || new Date(n) < new Date(v("uB2C1D7B5E1E5E4A1E3C11=="))) && 0 < (u || "").length) || C(u)) { + f.ul = !1; + break; + } + (a = !0), + (p = + "RCZB17botVG4A-8yzia1C4A5DG3CD2cFB4qflmCE4I2FB1SC7F6PE4WE3RD6e2A4c1D3d1E2E3ehxdGE3CE2IB2LC1HG2LE1QA3QC7B-13cC-9epmkjc1B4e1C4pgjgvkOC5E1eNE1HB2LD2B-13WD5tvabUA5a1A4f1A2G3C2A-21cihKE3FE2DB2cccJE1iC-7G-7tD-17tVD6A-9qC-7QC7a1E4B4je1E3E2G2ecmsAA1xH-8HB11C1D1lgzQA3dTB8od1D4XE3ohb1B4E4D3mbLA10NA7C-21d1genodKC11PD9PE5tA-8UI3ZC5XB5B-11qXF2F-7wtwjAG3NA1IB1OD1HC1RD4QJ4evUF2D5XG2G4XA8pqocH1F3G2J2hcpHC4D1MD4C1MB8PD5klcQD1A8A6e2A3ed1E2A24A7HC5C3qA-9tiA-61dcC3MD1LE1D4SA3A9ZZXSE4g1C3Pa2C5ufbcGI3I2B4skLF2CA1vxB-22wgUC4kdH-8cVB5iwe1A2D3H3G-7DD5JC2ED2OH2JB10D3C2xHE1KA29PB11wdC-11C4cixb2C7a1C4YYE3B2A15uB-21wpCA1MF1NuC-21dyzD6pPG4I-7pmjc1A4yte1F3B-22yvCC3VbC-7qC-22qNE2hC1vH-8zad1RF6WF3DpI-7C8A-16hpf1F3D2ylalB-13BB2lpA-63IB3uOF6D5G4gabC-21UD2A3PH4ZA20B11b2C6ED4A2H3I1A15DB4KD2laC-8LA5B8B7=="), + (o = l[0] || -1); + } + } + var c = new Image(); + !0 === f.ul && (A(), (c.src = a ? h(v(t)) + "e=" + o : h(v(t)) + "u")), + !0 === f.ul && + f.events.on("contentChanged", function () { + (b(g) || b(m) || T(g) || T(m)) && A(); + }), + f.events.on( + "destroy", + function () { + g && g.length && g.remove(); + }, + !0 + ); + }, + }; + }), + be.extend(be.FE.DEFAULTS, { pastePlain: !1, pasteDeniedTags: ["colgroup", "col", "meta"], pasteDeniedAttrs: ["class", "id", "style"], pasteAllowedStyleProps: [".*"], pasteAllowLocalImages: !1 }), + (be.FE.MODULES.paste = function (b) { + var o, s, i, T; + function n(e, t) { + try { + b.win.localStorage.setItem("fr-copied-html", e), b.win.localStorage.setItem("fr-copied-text", t); + } catch (n) {} + } + function e(e) { + var t = b.html.getSelected(); + n(t, be("<div>").html(t).text()), + "cut" == e.type && + (b.undo.saveStep(), + setTimeout(function () { + b.selection.save(), b.html.wrap(), b.selection.restore(), b.events.focus(), b.undo.saveStep(); + }, 0)); + } + var a = !1; + function t(e) { + if (a) return !1; + if ((e.originalEvent && (e = e.originalEvent), !1 === b.events.trigger("paste.before", [e]))) return e.preventDefault(), !1; + if ((b.$win.scrollTop(), e && e.clipboardData && e.clipboardData.getData)) { + var t = "", + n = e.clipboardData.types; + if (b.helpers.isArray(n)) for (var r = 0; r < n.length; r++) t += n[r] + ";"; + else t = n; + if ( + ((o = ""), + /text\/rtf/.test(t) && (s = e.clipboardData.getData("text/rtf")), + /text\/html/.test(t) && !b.browser.safari + ? (o = e.clipboardData.getData("text/html")) + : /text\/rtf/.test(t) && b.browser.safari + ? (o = s) + : /public.rtf/.test(t) && b.browser.safari && (o = e.clipboardData.getData("text/rtf")), + "" !== o) + ) + return l(), e.preventDefault && (e.stopPropagation(), e.preventDefault()), !1; + o = null; + } + return ( + (function () { + b.selection.save(), + b.events.disableBlur(), + (o = null), + i + ? (i.html(""), b.browser.edge && b.opts.iframe && b.$el.append(i)) + : ((i = be( + '<div contenteditable="true" style="position: fixed; top: 0; left: -9999px; height: 100%; width: 0; word-break: break-all; overflow:hidden; z-index: 2147483647; line-height: 140%; -moz-user-select: text; -webkit-user-select: text; -ms-user-select: text; user-select: text;" tabIndex="-1"></div>' + )), + b.browser.webkit ? (i.css("top", b.$sc.scrollTop()), b.$el.after(i)) : b.browser.edge && b.opts.iframe ? b.$el.append(i) : b.$box.after(i), + b.events.on("destroy", function () { + i.remove(); + })); + b.helpers.isIOS() || i.focus(); + b.win.setTimeout(l, 1); + })(), + !1 + ); + } + function r(e) { + if ((e.originalEvent && (e = e.originalEvent), e && e.dataTransfer && e.dataTransfer.getData)) { + var t = "", + n = e.dataTransfer.types; + if (b.helpers.isArray(n)) for (var r = 0; r < n.length; r++) t += n[r] + ";"; + else t = n; + if ( + ((o = ""), + /text\/rtf/.test(t) && (s = e.dataTransfer.getData("text/rtf")), + /text\/html/.test(t) + ? (o = e.dataTransfer.getData("text/html")) + : /text\/rtf/.test(t) && b.browser.safari + ? (o = s) + : /text\/plain/.test(t) && !this.browser.mozilla && (o = b.html.escapeEntities(e.dataTransfer.getData("text/plain")).replace(/\n/g, "<br>")), + "" !== o) + ) { + b.keys.forceUndo(), (T = b.snapshot.get()), b.selection.save(), b.$el.find(".fr-marker").removeClass("fr-marker").addClass("fr-marker-helper"); + var i = b.markers.insertAtPoint(e); + if ( + (b.$el.find(".fr-marker").removeClass("fr-marker").addClass("fr-marker-placeholder"), + b.$el.find(".fr-marker-helper").addClass("fr-marker").removeClass("fr-marker-helper"), + b.selection.restore(), + b.selection.remove(), + b.$el.find(".fr-marker-placeholder").addClass("fr-marker").removeClass("fr-marker-placeholder"), + !1 !== i) + ) { + var a = b.el.querySelector(".fr-marker"); + return be(a).replaceWith(be.FE.MARKERS), b.selection.restore(), l(), e.preventDefault && (e.stopPropagation(), e.preventDefault()), !1; + } + } else o = null; + } + } + function l() { + b.browser.edge && b.opts.iframe && b.$box.after(i), T || (b.keys.forceUndo(), (T = b.snapshot.get())), o || ((o = i.get(0).innerHTML), b.selection.restore(), b.events.enableBlur()); + var e = o.match(/(class=\"?Mso|class=\'?Mso|class="?Xl|class='?Xl|class=Xl|style=\"[^\"]*\bmso\-|style=\'[^\']*\bmso\-|w:WordDocument)/gi), + t = b.events.chainTrigger("paste.beforeCleanup", o); + t && "string" == typeof t && (o = t), (!e || (e && !1 !== b.events.trigger("paste.wordPaste", [o]))) && d(o, e); + } + function A(e) { + for (var t = "", n = 0; n++ < e; ) t += "&nbsp;"; + return t; + } + function d(e, t, n) { + var r, + i = null, + a = null; + if (0 <= e.toLowerCase().indexOf("<body")) { + var o = ""; + 0 <= e.indexOf("<style") && (o = e.replace(/[.\s\S\w\W<>]*(<style[^>]*>[\s]*[.\s\S\w\W<>]*[\s]*<\/style>)[.\s\S\w\W<>]*/gi, "$1")), + (e = (e = o + e.replace(/[.\s\S\w\W<>]*<body[^>]*>[\s]*([.\s\S\w\W<>]*)[\s]*<\/body>[.\s\S\w\W<>]*/gi, "$1")) + .replace(/ \n/g, " ") + .replace(/\n /g, " ") + .replace(/([^>])\n([^<])/g, "$1 $2")); + } + var s = !1; + 0 <= e.indexOf('id="docs-internal-guid') && ((e = e.replace(/^[\w\W\s\S]* id="docs-internal-guid[^>]*>([\w\W\s\S]*)<\/b>[\w\W\s\S]*$/g, "$1")), (s = !0)), + 0 <= e.indexOf('content="Sheets"') && (e = e.replace(/width:0px;/g, "")); + var l = !1; + if ( + !t && + ((l = (function (e) { + var t = null; + try { + t = b.win.localStorage.getItem("fr-copied-text"); + } catch (n) {} + return !( + !t || + be("<div>") + .html(e) + .text() + .replace(/\u00A0/gi, " ") + .replace(/\r|\n/gi, "") != t.replace(/\u00A0/gi, " ").replace(/\r|\n/gi, "") + ); + })(e)) && (e = b.win.localStorage.getItem("fr-copied-html")), + !l) + ) { + var d = b.opts.htmlAllowedStyleProps; + (b.opts.htmlAllowedStyleProps = b.opts.pasteAllowedStyleProps), + (b.opts.htmlAllowComments = !1), + (e = (e = (e = e.replace(/<span class="Apple-tab-span">\s*<\/span>/g, A(b.opts.tabSpaces || 4))).replace(/<span class="Apple-tab-span" style="white-space:pre">(\t*)<\/span>/g, function (e, t) { + return A(t.length * (b.opts.tabSpaces || 4)); + })).replace(/\t/g, A(b.opts.tabSpaces || 4))), + (e = b.clean.html(e, b.opts.pasteDeniedTags, b.opts.pasteDeniedAttrs)), + (b.opts.htmlAllowedStyleProps = d), + (b.opts.htmlAllowComments = !0), + (e = (e = (e = C(e)).replace(/\r/g, "")).replace(/^ */g, "").replace(/ *$/g, "")); + } + !t || + (b.wordPaste && n) || + (0 === (e = e.replace(/^\n*/g, "").replace(/^ /g, "")).indexOf("<colgroup>") && (e = "<table>" + e + "</table>"), + (e = C( + (e = (function (e) { + var t; + e = (e = (e = (e = (e = (e = (e = (e = (e = (e = (e = (e = (e = (e = (e = e.replace(/<p(.*?)class="?'?MsoListParagraph"?'? ([\s\S]*?)>([\s\S]*?)<\/p>/gi, "<ul><li>$3</li></ul>")).replace( + /<p(.*?)class="?'?NumberedText"?'? ([\s\S]*?)>([\s\S]*?)<\/p>/gi, + "<ol><li>$3</li></ol>" + )).replace(/<p(.*?)class="?'?MsoListParagraphCxSpFirst"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi, "<ul><li$3>$5</li>")).replace( + /<p(.*?)class="?'?NumberedTextCxSpFirst"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi, + "<ol><li$3>$5</li>" + )).replace(/<p(.*?)class="?'?MsoListParagraphCxSpMiddle"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi, "<li$3>$5</li>")).replace( + /<p(.*?)class="?'?NumberedTextCxSpMiddle"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi, + "<li$3>$5</li>" + )).replace(/<p(.*?)class="?'?MsoListBullet"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi, "<li$3>$5</li>")).replace( + /<p(.*?)class="?'?MsoListParagraphCxSpLast"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi, + "<li$3>$5</li></ul>" + )).replace(/<p(.*?)class="?'?NumberedTextCxSpLast"?'?([\s\S]*?)(level\d)?([\s\S]*?)>([\s\S]*?)<\/p>/gi, "<li$3>$5</li></ol>")).replace( + /<span([^<]*?)style="?'?mso-list:Ignore"?'?([\s\S]*?)>([\s\S]*?)<span/gi, + "<span><span" + )).replace(/<!--\[if \!supportLists\]-->([\s\S]*?)<!--\[endif\]-->/gi, "")).replace(/<!\[if \!supportLists\]>([\s\S]*?)<!\[endif\]>/gi, "")).replace(/(\n|\r| class=(")?Mso[a-zA-Z0-9]+(")?)/gi, " ")).replace( + /<!--[\s\S]*?-->/gi, + "" + )).replace(/<(\/)*(meta|link|span|\\?xml:|st1:|o:|font)(.*?)>/gi, ""); + var n, + r = ["style", "script", "applet", "embed", "noframes", "noscript"]; + for (t = 0; t < r.length; t++) { + var i = new RegExp("<" + r[t] + ".*?" + r[t] + "(.*?)>", "gi"); + e = e.replace(i, ""); + } + for (e = (e = (e = e.replace(/&nbsp;/gi, " ")).replace(/<td([^>]*)><\/td>/g, "<td$1><br></td>")).replace(/<th([^>]*)><\/th>/g, "<th$1><br></th>"); (e = (n = e).replace(/<[^\/>][^>]*><\/[^>]+>/gi, "")) != n; ); + (e = (e = e.replace(/<lilevel([^1])([^>]*)>/gi, '<li data-indent="true"$2>')).replace(/<lilevel1([^>]*)>/gi, "<li$1>")), + (e = (e = (e = b.clean.html(e, b.opts.pasteDeniedTags, b.opts.pasteDeniedAttrs)).replace(/<a>(.[^<]+)<\/a>/gi, "$1")).replace(/<br> */g, "<br>")); + var a = b.o_doc.createElement("div"); + a.innerHTML = e; + var o = a.querySelectorAll("li[data-indent]"); + for (t = 0; t < o.length; t++) { + var s = o[t], + l = s.previousElementSibling; + if (l && "LI" == l.tagName) { + var d = l.querySelector(":scope > ul, :scope > ol"); + d || ((d = document.createElement("ul")), l.appendChild(d)), d.appendChild(s); + } else s.removeAttribute("data-indent"); + } + return b.html.cleanBlankSpaces(a), (e = a.innerHTML); + })(e)) + ))), + b.opts.pastePlain && + !l && + (e = (function (e) { + var t, + n = null, + r = b.doc.createElement("div"); + r.innerHTML = e; + var i = r.querySelectorAll("p, div, h1, h2, h3, h4, h5, h6, pre, blockquote"); + for (t = 0; t < i.length; t++) (n = i[t]).outerHTML = "<" + (b.html.defaultTag() || "DIV") + ">" + n.innerHTML + "</" + (b.html.defaultTag() || "DIV") + ">"; + for (t = (i = r.querySelectorAll("*:not(" + "p, div, h1, h2, h3, h4, h5, h6, pre, blockquote, ul, ol, li, table, tbody, thead, tr, td, br, img".split(",").join("):not(") + ")")).length - 1; 0 <= t; t--) + (n = i[t]).outerHTML = n.innerHTML; + var a = function (e) { + for (var t = b.node.contents(e), n = 0; n < t.length; n++) t[n].nodeType != Node.TEXT_NODE && t[n].nodeType != Node.ELEMENT_NODE ? t[n].parentNode.removeChild(t[n]) : a(t[n]); + }; + return a(r), r.innerHTML; + })(e)); + var c = b.events.chainTrigger("paste.afterCleanup", e); + if (("string" == typeof c && (e = c), "" !== e)) { + var f = b.o_doc.createElement("div"); + 0 <= (f.innerHTML = e).indexOf("<body>") ? (b.html.cleanBlankSpaces(f), b.spaces.normalize(f, !0)) : b.spaces.normalize(f); + var p = f.getElementsByTagName("span"); + for (r = p.length - 1; 0 <= r; r--) { + var u = p[r]; + 0 === u.attributes.length && (u.outerHTML = u.innerHTML); + } + var h = b.selection.element(), + g = !1; + if ((h && be(h).parentsUntil(b.el, "ul, ol").length && (g = !0), g)) { + var m = f.children; + 1 == m.length && 0 <= ["OL", "UL"].indexOf(m[0].tagName) && (m[0].outerHTML = m[0].innerHTML); + } + if (!s) { + var v = f.getElementsByTagName("br"); + for (r = v.length - 1; 0 <= r; r--) { + var E = v[r]; + b.node.isBlock(E.previousSibling) && E.parentNode.removeChild(E); + } + } + if (b.opts.enter == be.FE.ENTER_BR) + for (r = (i = f.querySelectorAll("p, div")).length - 1; 0 <= r; r--) 0 === (a = i[r]).attributes.length && (a.outerHTML = a.innerHTML + (a.nextSibling && !b.node.isEmpty(a) ? "<br>" : "")); + else if (b.opts.enter == be.FE.ENTER_DIV) for (r = (i = f.getElementsByTagName("p")).length - 1; 0 <= r; r--) 0 === (a = i[r]).attributes.length && (a.outerHTML = "<div>" + a.innerHTML + "</div>"); + else b.opts.enter == be.FE.ENTER_P && 1 == f.childNodes.length && "P" == f.childNodes[0].tagName && 0 === f.childNodes[0].attributes.length && (f.childNodes[0].outerHTML = f.childNodes[0].innerHTML); + (e = f.innerHTML), + l && + (e = (function (e) { + var t, + n = b.o_doc.createElement("div"); + n.innerHTML = e; + var r = n.querySelectorAll("*:empty:not(td):not(th):not(tr):not(iframe):not(svg):not(" + be.FE.VOID_ELEMENTS.join("):not(") + "):not(" + b.opts.htmlAllowedEmptyTags.join("):not(") + ")"); + for (; r.length; ) { + for (t = 0; t < r.length; t++) r[t].parentNode.removeChild(r[t]); + r = n.querySelectorAll("*:empty:not(td):not(th):not(tr):not(iframe):not(svg):not(" + be.FE.VOID_ELEMENTS.join("):not(") + "):not(" + b.opts.htmlAllowedEmptyTags.join("):not(") + ")"); + } + return n.innerHTML; + })(e)), + b.html.insert(e, !0); + } + b.events.trigger("paste.after"), b.undo.saveStep(T), (T = null), b.undo.saveStep(); + } + function c(e) { + for (var t = e.length - 1; 0 <= t; t--) e[t].attributes && e[t].attributes.length && e.splice(t, 1); + return e; + } + function C(e) { + var t, + n = b.o_doc.createElement("div"); + n.innerHTML = e; + for (var r = c(Array.prototype.slice.call(n.querySelectorAll(":scope > div:not([style]), td > div:not([style]), th > div:not([style]), li > div:not([style])"))); r.length; ) { + var i = r[r.length - 1]; + if (b.html.defaultTag() && "div" != b.html.defaultTag()) + i.querySelector(b.html.blockTagsQuery()) ? (i.outerHTML = i.innerHTML) : (i.outerHTML = "<" + b.html.defaultTag() + ">" + i.innerHTML + "</" + b.html.defaultTag() + ">"); + else { + var a = i.querySelectorAll("*"); + !a.length || ("BR" !== a[a.length - 1].tagName && 0 === i.innerText.length) ? (i.outerHTML = i.innerHTML + "<br>") : i.nextSibling ? (i.outerHTML = i.innerHTML + "<br>") : (i.outerHTML = i.innerHTML); + } + r = c(Array.prototype.slice.call(n.querySelectorAll(":scope > div:not([style]), td > div:not([style]), th > div:not([style]), li > div:not([style])"))); + } + for (r = c(Array.prototype.slice.call(n.querySelectorAll("div:not([style])"))); r.length; ) { + for (t = 0; t < r.length; t++) { + var o = r[t], + s = o.innerHTML.replace(/\u0009/gi, "").trim(); + try { + o.outerHTML = s; + } catch (l) {} + } + r = c(Array.prototype.slice.call(n.querySelectorAll("div:not([style])"))); + } + return n.innerHTML; + } + function f() { + b.el.removeEventListener("copy", e), b.el.removeEventListener("cut", e), b.el.removeEventListener("paste", t); + } + return { + _init: function () { + b.el.addEventListener("copy", e), + b.el.addEventListener("cut", e), + b.el.addEventListener("paste", t, { capture: !0 }), + b.events.on("drop", r), + b.browser.msie && + b.browser.version < 11 && + (b.events.on( + "mouseup", + function (e) { + 2 == e.button && + (setTimeout(function () { + a = !1; + }, 50), + (a = !0)); + }, + !0 + ), + b.events.on("beforepaste", t)), + b.events.on("destroy", f); + }, + cleanEmptyTagsAndDivs: C, + getRtfClipboard: function () { + return s; + }, + saveCopiedText: n, + clean: d, + }; + }), + be.extend(be.FE.DEFAULTS, { shortcutsEnabled: [], shortcutsHint: !0 }), + (be.FE.SHORTCUTS_MAP = {}), + (be.FE.RegisterShortcut = function (e, t, n, r, i, a) { + (be.FE.SHORTCUTS_MAP[(i ? "^" : "") + (a ? "@" : "") + e] = { cmd: t, val: n, letter: r, shift: i, option: a }), be.FE.DEFAULTS.shortcutsEnabled.push(t); + }), + be.FE.RegisterShortcut(be.FE.KEYCODE.E, "show", null, "E", !1, !1), + be.FE.RegisterShortcut(be.FE.KEYCODE.B, "bold", null, "B", !1, !1), + be.FE.RegisterShortcut(be.FE.KEYCODE.I, "italic", null, "I", !1, !1), + be.FE.RegisterShortcut(be.FE.KEYCODE.U, "underline", null, "U", !1, !1), + be.FE.RegisterShortcut(be.FE.KEYCODE.S, "strikeThrough", null, "S", !1, !1), + be.FE.RegisterShortcut(be.FE.KEYCODE.CLOSE_SQUARE_BRACKET, "indent", null, "]", !1, !1), + be.FE.RegisterShortcut(be.FE.KEYCODE.OPEN_SQUARE_BRACKET, "outdent", null, "[", !1, !1), + be.FE.RegisterShortcut(be.FE.KEYCODE.Z, "undo", null, "Z", !1, !1), + be.FE.RegisterShortcut(be.FE.KEYCODE.Z, "redo", null, "Z", !0, !1), + be.FE.RegisterShortcut(be.FE.KEYCODE.Y, "redo", null, "Y", !1, !1), + (be.FE.MODULES.shortcuts = function (s) { + var r = null; + var l = !1; + function e(e) { + if (!s.core.hasFocus()) return !0; + var t = e.which, + n = -1 != navigator.userAgent.indexOf("Mac OS X") ? e.metaKey : e.ctrlKey; + if ("keyup" == e.type && l && t != be.FE.KEYCODE.META) return (l = !1); + "keydown" == e.type && (l = !1); + var r = (e.shiftKey ? "^" : "") + (e.altKey ? "@" : "") + t; + if (n && be.FE.SHORTCUTS_MAP[r]) { + var i = be.FE.SHORTCUTS_MAP[r].cmd; + if (i && 0 <= s.opts.shortcutsEnabled.indexOf(i)) { + var a, + o = be.FE.SHORTCUTS_MAP[r].val; + if ((i && !o ? (a = s.$tb.find('.fr-command[data-cmd="' + i + '"]')) : i && o && (a = s.$tb.find('.fr-command[data-cmd="' + i + '"][data-param1="' + o + '"]')), a.length)) + return e.preventDefault(), e.stopPropagation(), a.parents(".fr-toolbar").data("instance", s), "keydown" == e.type && (s.button.exec(a), (l = !0)), !1; + if (i && (s.commands[i] || (be.FE.COMMANDS[i] && be.FE.COMMANDS[i].callback))) return e.preventDefault(), e.stopPropagation(), "keydown" == e.type && ((s.commands[i] || be.FE.COMMANDS[i].callback)(), (l = !0)), !1; + } + } + } + return { + _init: function () { + s.events.on("keydown", e, !0), s.events.on("keyup", e, !0); + }, + get: function (e) { + if (!s.opts.shortcutsHint) return null; + if (!r) + for (var t in ((r = {}), be.FE.SHORTCUTS_MAP)) + be.FE.SHORTCUTS_MAP.hasOwnProperty(t) && + 0 <= s.opts.shortcutsEnabled.indexOf(be.FE.SHORTCUTS_MAP[t].cmd) && + (r[be.FE.SHORTCUTS_MAP[t].cmd + "." + (be.FE.SHORTCUTS_MAP[t].val || "")] = { shift: be.FE.SHORTCUTS_MAP[t].shift, option: be.FE.SHORTCUTS_MAP[t].option, letter: be.FE.SHORTCUTS_MAP[t].letter }); + var n = r[e]; + return n + ? (s.helpers.isMac() ? String.fromCharCode(8984) : s.language.translate("Ctrl") + "+") + + (n.shift ? (s.helpers.isMac() ? String.fromCharCode(8679) : s.language.translate("Shift") + "+") : "") + + (n.option ? (s.helpers.isMac() ? String.fromCharCode(8997) : s.language.translate("Alt") + "+") : "") + + n.letter + : null; + }, + }; + }), + (be.FE.MODULES.snapshot = function (l) { + function n(e) { + for (var t = e.parentNode.childNodes, n = 0, r = null, i = 0; i < t.length; i++) { + if (r) { + var a = t[i].nodeType === Node.TEXT_NODE && "" === t[i].textContent, + o = r.nodeType === Node.TEXT_NODE && t[i].nodeType === Node.TEXT_NODE; + a || o || n++; + } + if (t[i] == e) return n; + r = t[i]; + } + } + function i(e) { + var t = []; + if (!e.parentNode) return []; + for (; !l.node.isElement(e); ) t.push(n(e)), (e = e.parentNode); + return t.reverse(); + } + function a(e, t) { + for (; e && e.nodeType === Node.TEXT_NODE; ) { + var n = e.previousSibling; + n && n.nodeType == Node.TEXT_NODE && (t += n.textContent.length), (e = n); + } + return t; + } + function d(e) { + for (var t = l.el, n = 0; n < e.length; n++) t = t.childNodes[e[n]]; + return t; + } + function r(e, t) { + try { + var n = d(t.scLoc), + r = t.scOffset, + i = d(t.ecLoc), + a = t.ecOffset, + o = l.doc.createRange(); + o.setStart(n, r), o.setEnd(i, a), e.addRange(o); + } catch (s) { + console.warn(s); + } + } + return { + get: function () { + var e, + t = {}; + if ((l.events.trigger("snapshot.before"), (t.html = (l.$wp ? l.$el.html() : l.$oel.get(0).outerHTML).replace(/ style=""/g, "")), (t.ranges = []), l.$wp && l.selection.inEditor() && l.core.hasFocus())) + for (var n = l.selection.ranges(), r = 0; r < n.length; r++) + t.ranges.push({ scLoc: i((e = n[r]).startContainer), scOffset: a(e.startContainer, e.startOffset), ecLoc: i(e.endContainer), ecOffset: a(e.endContainer, e.endOffset) }); + return l.events.trigger("snapshot.after", [t]), t; + }, + restore: function (e) { + l.$el.html() != e.html && (l.opts.htmlExecuteScripts ? l.$el.html(e.html) : (l.el.innerHTML = e.html)); + var t = l.selection.get(); + l.selection.clear(), l.events.focus(!0); + for (var n = 0; n < e.ranges.length; n++) r(t, e.ranges[n]); + }, + equal: function (e, t) { + return e.html == t.html && (!l.core.hasFocus() || JSON.stringify(e.ranges) == JSON.stringify(t.ranges)); + }, + }; + }), + (be.FE.MODULES.undo = function (n) { + function e(e) { + var t = e.which; + n.keys.ctrlKey(e) && (90 == t && e.shiftKey && e.preventDefault(), 90 == t && e.preventDefault()); + } + var t = null; + function r() { + if (!n.undo_stack || n.undoing) return !1; + for (; n.undo_stack.length > n.undo_index; ) n.undo_stack.pop(); + } + function i() { + (t = (n.$wp ? n.$el.html() : n.$oel.get(0).outerHTML).replace(/ style=""/g, "")), (n.undo_index = 0), (n.undo_stack = []); + } + function a() { + n.undo_stack = []; + } + return { + _init: function () { + i(), + n.events.on("initialized", function () { + t = (n.$wp ? n.$el.html() : n.$oel.get(0).outerHTML).replace(/ style=""/g, ""); + }), + n.events.on("blur", function () { + n.el.querySelector(".fr-dragging") || n.undo.saveStep(); + }), + n.events.on("keydown", e), + n.events.on("destroy", a); + }, + run: function () { + if (1 < n.undo_index) { + n.undoing = !0; + var e = n.undo_stack[--n.undo_index - 1]; + clearTimeout(n._content_changed_timer), n.snapshot.restore(e), (t = e.html), n.popups.hideAll(), n.toolbar.enable(), n.events.trigger("contentChanged"), n.events.trigger("commands.undo"), (n.undoing = !1); + } + }, + redo: function () { + if (n.undo_index < n.undo_stack.length) { + n.undoing = !0; + var e = n.undo_stack[n.undo_index++]; + clearTimeout(n._content_changed_timer), n.snapshot.restore(e), (t = e.html), n.popups.hideAll(), n.toolbar.enable(), n.events.trigger("contentChanged"), n.events.trigger("commands.redo"), (n.undoing = !1); + } + }, + canDo: function () { + return !(0 === n.undo_stack.length || n.undo_index <= 1); + }, + canRedo: function () { + return n.undo_index != n.undo_stack.length; + }, + dropRedo: r, + reset: i, + saveStep: function (e) { + if (!n.undo_stack || n.undoing || n.el.querySelector(".fr-marker")) return !1; + void 0 === e + ? ((e = n.snapshot.get()), + (n.undo_stack[n.undo_index - 1] && n.snapshot.equal(n.undo_stack[n.undo_index - 1], e)) || (r(), n.undo_stack.push(e), n.undo_index++, e.html != t && (n.events.trigger("contentChanged"), (t = e.html)))) + : (r(), 0 < n.undo_index ? (n.undo_stack[n.undo_index - 1] = e) : (n.undo_stack.push(e), n.undo_index++)); + }, + }; + }), + (be.FE.ICON_TEMPLATES = { + font_awesome: '<i class="fa fa-[NAME]" aria-hidden="true"></i>', + font_awesome_5: '<i class="fas fa-[FA5NAME]" aria-hidden="true"></i>', + font_awesome_5r: '<i class="far fa-[FA5NAME]" aria-hidden="true"></i>', + font_awesome_5l: '<i class="fal fa-[FA5NAME]" aria-hidden="true"></i>', + font_awesome_5b: '<i class="fab fa-[FA5NAME]" aria-hidden="true"></i>', + text: '<span style="text-align: center;">[NAME]</span>', + image: "<img src=[SRC] alt=[ALT] />", + svg: '<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">[PATH]</svg>', + empty: " ", + }), + (be.FE.ICONS = { + bold: { NAME: "bold" }, + italic: { NAME: "italic" }, + underline: { NAME: "underline" }, + strikeThrough: { NAME: "strikethrough" }, + subscript: { NAME: "subscript" }, + superscript: { NAME: "superscript" }, + color: { NAME: "tint" }, + outdent: { NAME: "outdent" }, + indent: { NAME: "indent" }, + undo: { NAME: "rotate-left", FA5NAME: "undo" }, + redo: { NAME: "rotate-right", FA5NAME: "redo" }, + insertHR: { NAME: "minus" }, + clearFormatting: { NAME: "eraser" }, + selectAll: { NAME: "mouse-pointer" }, + }), + (be.FE.DefineIconTemplate = function (e, t) { + be.FE.ICON_TEMPLATES[e] = t; + }), + (be.FE.DefineIcon = function (e, t) { + be.FE.ICONS[e] = t; + }), + be.extend(be.FE.DEFAULTS, { iconsTemplate: "font_awesome" }), + (be.FE.MODULES.icon = function (i) { + return { + create: function (n) { + var e = null, + r = be.FE.ICONS[n]; + if (void 0 !== r) { + var t = r.template || be.FE.ICON_DEFAULT_TEMPLATE || i.opts.iconsTemplate; + t && t.apply && (t = t.apply(i)), + r.FA5NAME || (r.FA5NAME = r.NAME), + t && + (t = be.FE.ICON_TEMPLATES[t]) && + (e = t.replace(/\[([a-zA-Z0-9]*)\]/g, function (e, t) { + return "NAME" == t ? r[t] || n : r[t]; + })); + } + return e || n; + }, + getTemplate: function (e) { + var t = be.FE.ICONS[e], + n = i.opts.iconsTemplate; + return void 0 !== t ? (n = t.template || be.FE.ICON_DEFAULT_TEMPLATE || i.opts.iconsTemplate) : n; + }, + }; + }), + be.extend(be.FE.DEFAULTS, { tooltips: !0 }), + (be.FE.MODULES.tooltip = function (i) { + function r() { + if (i.helpers.isMobile()) return !1; + i.$tooltip && i.$tooltip.removeClass("fr-visible").css("left", "-3000px").css("position", "fixed"); + } + function a(e, t) { + if (i.helpers.isMobile()) return !1; + if ((e.data("title") || e.data("title", e.attr("title")), !e.data("title"))) return !1; + i.$tooltip || + (i.opts.tooltips && + !i.helpers.isMobile() && + (i.shared.$tooltip + ? (i.$tooltip = i.shared.$tooltip) + : ((i.shared.$tooltip = be('<div class="fr-tooltip"></div>')), (i.$tooltip = i.shared.$tooltip), i.opts.theme && i.$tooltip.addClass(i.opts.theme + "-theme"), be(i.o_doc).find("body:first").append(i.$tooltip)), + i.events.on( + "shared.destroy", + function () { + i.$tooltip.html("").removeData().remove(), (i.$tooltip = null); + }, + !0 + ))), + e.removeAttr("title"), + i.$tooltip.text(i.language.translate(e.data("title"))), + i.$tooltip.addClass("fr-visible"); + var n = e.offset().left + (e.outerWidth() - i.$tooltip.outerWidth()) / 2; + n < 0 && (n = 0), n + i.$tooltip.outerWidth() > be(i.o_win).width() && (n = be(i.o_win).width() - i.$tooltip.outerWidth()), void 0 === t && (t = i.opts.toolbarBottom); + var r = t ? e.offset().top - i.$tooltip.height() : e.offset().top + e.outerHeight(); + i.$tooltip.css("position", ""), + i.$tooltip.css("left", n), + i.$tooltip.css("top", Math.ceil(r)), + "static" != be(i.o_doc).find("body:first").css("position") + ? (i.$tooltip.css("margin-left", -be(i.o_doc).find("body:first").offset().left), i.$tooltip.css("margin-top", -be(i.o_doc).find("body:first").offset().top)) + : (i.$tooltip.css("margin-left", ""), i.$tooltip.css("margin-top", "")); + } + return { + hide: r, + to: a, + bind: function (e, t, n) { + i.opts.tooltips && + !i.helpers.isMobile() && + (i.events.$on( + e, + "mouseenter", + t, + function (e) { + i.node.hasClass(e.currentTarget, "fr-disabled") || i.edit.isDisabled() || a(be(e.currentTarget), n); + }, + !0 + ), + i.events.$on( + e, + "mouseleave " + i._mousedown + " " + i._mouseup, + t, + function () { + r(); + }, + !0 + )); + }, + }; + }), + (be.FE.MODULES.button = function (u) { + var o = []; + (u.opts.toolbarInline || u.opts.toolbarContainer) && (u.shared.buttons || (u.shared.buttons = []), (o = u.shared.buttons)); + var s = []; + function l(e, t, n) { + for (var r = be(), i = 0; i < e.length; i++) { + var a = be(e[i]); + if ((a.is(t) && (r = r.add(a)), n && a.is(".fr-dropdown"))) { + var o = a.next().find(t); + r = r.add(o); + } + } + return r; + } + function d(e, t) { + var n, + r = be(); + if (!e) return r; + for (n in ((r = (r = r.add(l(o, e, t))).add(l(s, e, t))), u.shared.popups)) + if (u.shared.popups.hasOwnProperty(n)) { + var i = u.shared.popups[n].children().find(e); + r = r.add(i); + } + for (n in u.shared.modals) + if (u.shared.modals.hasOwnProperty(n)) { + var a = u.shared.modals[n].$modal.find(e); + r = r.add(a); + } + return r; + } + function r(e) { + e.addClass("fr-blink"), + setTimeout(function () { + e.removeClass("fr-blink"); + }, 500); + for (var t = e.data("cmd"), n = []; void 0 !== e.data("param" + (n.length + 1)); ) n.push(e.data("param" + (n.length + 1))); + var r = d(".fr-dropdown.fr-active"); + r.length && (r.removeClass("fr-active").attr("aria-expanded", !1).next().attr("aria-hidden", !0), r.prev(".fr-expanded").removeClass("fr-expanded"), r.parent(".fr-toolbar:not(.fr-inline)").css("zIndex", "")), + e.parents(".fr-popup, .fr-toolbar").data("instance").commands.exec(t, n); + } + function t(e) { + var t = e.parents(".fr-popup, .fr-toolbar").data("instance"); + if ((0 !== e.parents(".fr-popup").length || e.data("popup") || t.popups.hideAll(), t.popups.areVisible() && !t.popups.areVisible(t))) { + for (var n = 0; n < be.FE.INSTANCES.length; n++) be.FE.INSTANCES[n] != t && be.FE.INSTANCES[n].popups && be.FE.INSTANCES[n].popups.areVisible() && be.FE.INSTANCES[n].$el.find(".fr-marker").remove(); + t.popups.hideAll(); + } + u.node.hasClass(e.get(0), "fr-dropdown") + ? (function (e) { + var t = e.next(), + n = u.node.hasClass(e.get(0), "fr-active"), + r = d(".fr-dropdown.fr-active").not(e), + i = e.parents(".fr-toolbar, .fr-popup").data("instance") || u; + if ((i.helpers.isIOS() && !i.el.querySelector(".fr-marker") && (i.selection.save(), i.selection.clear(), i.selection.restore()), !n)) { + var a = e.data("cmd"); + t.find(".fr-command").removeClass("fr-active").attr("aria-selected", !1), + be.FE.COMMANDS[a] && be.FE.COMMANDS[a].refreshOnShow && be.FE.COMMANDS[a].refreshOnShow.apply(i, [e, t]), + t.css("left", e.offset().left - e.parent().offset().left - ("rtl" == u.opts.direction ? t.width() - e.outerWidth() : 0)), + t.addClass("test-height"); + var o = t.outerHeight(); + t.removeClass("test-height"), + t.css("top", "").css("bottom", ""), + !u.opts.toolbarBottom && t.offset().top + e.outerHeight() + o < be(u.o_doc).height() + ? t.css("top", e.position().top + e.outerHeight()) + : t.css("bottom", e.parents(".fr-popup, .fr-toolbar").first().height() - e.position().top); + } + e.addClass("fr-blink").toggleClass("fr-active"), + e.hasClass("fr-options") && e.prev().toggleClass("fr-expanded"), + e.hasClass("fr-active") ? (t.attr("aria-hidden", !1), e.attr("aria-expanded", !0)) : (t.attr("aria-hidden", !0), e.attr("aria-expanded", !1)), + setTimeout(function () { + e.removeClass("fr-blink"); + }, 300), + t.css("margin-left", ""), + t.offset().left + t.outerWidth() > u.$sc.offset().left + u.$sc.width() && t.css("margin-left", -(t.offset().left + t.outerWidth() - u.$sc.offset().left - u.$sc.width())), + t.offset().left < u.$sc.offset().left && "rtl" == u.opts.direction && t.css("margin-left", u.$sc.offset().left), + r.removeClass("fr-active").attr("aria-expanded", !1).next().attr("aria-hidden", !0), + r.prev(".fr-expanded").removeClass("fr-expanded"), + r.parent(".fr-toolbar:not(.fr-inline)").css("zIndex", ""), + 0 !== e.parents(".fr-popup").length || u.opts.toolbarInline || (u.node.hasClass(e.get(0), "fr-active") ? u.$tb.css("zIndex", (u.opts.zIndex || 1) + 4) : u.$tb.css("zIndex", "")); + var s = t.find("a.fr-command.fr-active:first"); + u.helpers.isMobile() || (s.length ? u.accessibility.focusToolbarElement(s) : u.accessibility.focusToolbarElement(e)); + })(e) + : (r(e), be.FE.COMMANDS[e.data("cmd")] && !1 !== be.FE.COMMANDS[e.data("cmd")].refreshAfterCallback && t.button.bulkRefresh()); + } + function a(e) { + t(be(e.currentTarget)); + } + function c(e) { + var t = e.find(".fr-dropdown.fr-active"); + t.length && (t.removeClass("fr-active").attr("aria-expanded", !1).next().attr("aria-hidden", !0), t.parent(".fr-toolbar:not(.fr-inline)").css("zIndex", ""), t.prev().removeClass("fr-expanded")); + } + function f(e) { + e.preventDefault(), e.stopPropagation(); + } + function p(e) { + if ((e.stopPropagation(), !u.helpers.isMobile())) return !1; + } + function h(e, t, n) { + if (((t = be.extend(!0, {}, t)), u.helpers.isMobile() && !1 === t.showOnMobile)) return ""; + var r = t.displaySelection; + "function" == typeof r && (r = r(u)); + var i = ""; + if ("options" !== t.type) + if (r) { + var a = "function" == typeof t.defaultSelection ? t.defaultSelection(u) : t.defaultSelection; + i = '<span style="width:' + (t.displaySelectionWidth || 100) + 'px">' + u.language.translate(a || t.title) + "</span>"; + } else (i = u.icon.create(t.icon || e)), (i += '<span class="fr-sr-only">' + (u.language.translate(t.title) || "") + "</span>"); + var o = t.popup ? ' data-popup="true"' : "", + s = t.modal ? ' data-modal="true"' : "", + l = u.shortcuts.get(e + "."); + l = l ? " (" + l + ")" : ""; + var d = e + "-" + u.id, + c = "dropdown-menu-" + d, + f = + '<button id="' + + d + + '"type="button" role="button"' + + (t.toggle ? ' aria-pressed="false"' : "") + + ("dropdown" == t.type || "options" == t.type ? ' aria-controls="' + c + '" aria-expanded="false" aria-haspopup="true"' : "") + + (t.disabled ? ' aria-disabled="true"' : "") + + ' title="' + + (u.language.translate(t.title) || "") + + l + + '" class="fr-command fr-btn' + + ("dropdown" == t.type || "options" == t.type ? " fr-dropdown" : "") + + ("options" == t.type ? " fr-options" : "") + + " fr-btn-" + + u.icon.getTemplate(t.icon) + + (t.displaySelection ? " fr-selection" : "") + + (t.back ? " fr-back" : "") + + (t.disabled ? " fr-disabled" : "") + + (n ? "" : " fr-hidden") + + '" data-cmd="' + + e + + '"' + + o + + s + + ">" + + i + + "</button>"; + if ("dropdown" == t.type || "options" == t.type) { + var p = + '<div id="' + c + '" class="fr-dropdown-menu" role="listbox" aria-labelledby="' + d + '" aria-hidden="true"><div class="fr-dropdown-wrapper" role="presentation"><div class="fr-dropdown-content" role="presentation">'; + (p += (function (e, t) { + var n = ""; + if (t.html) "function" == typeof t.html ? (n += t.html.call(u)) : (n += t.html); + else { + var r = t.options; + for (var i in ("function" == typeof r && (r = r()), (n += '<ul class="fr-dropdown-list" role="presentation">'), r)) + if (r.hasOwnProperty(i)) { + var a = u.shortcuts.get(e + "." + i); + (a = a ? '<span class="fr-shortcut">' + a + "</span>" : ""), + (n += + '<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="' + + ("options" === t.type ? e.replace(/Options/g, "") : e) + + '" data-param1="' + + i + + '" title="' + + r[i] + + '">' + + u.language.translate(r[i]) + + "</a></li>"); + } + n += "</ul>"; + } + return n; + })(e, t)), + (f += p += "</div></div></div>"); + } + return t.hasOptions && t.hasOptions.apply(u) && ((t.type = "options"), (t.hasOptions = !1), (f = '<div class="fr-btn-wrap">' + f + h(e + "Options", t, n) + "</div>")), f; + } + function e(i) { + var a = (u.$tb && u.$tb.data("instance")) || u; + if (!1 === u.events.trigger("buttons.refresh")) return !0; + setTimeout(function () { + for (var e = a.selection.inEditor() && a.core.hasFocus(), t = 0; t < i.length; t++) { + var n = be(i[t]), + r = n.data("cmd"); + 0 === n.parents(".fr-popup").length + ? e || (be.FE.COMMANDS[r] && be.FE.COMMANDS[r].forcedRefresh) + ? a.button.refresh(n) + : u.node.hasClass(n.get(0), "fr-dropdown") || (n.removeClass("fr-active"), n.attr("aria-pressed") && n.attr("aria-pressed", !1)) + : n.parents(".fr-popup").is(":visible") && a.button.refresh(n); + } + }, 0); + } + function n() { + e(o), e(s); + } + function i() { + (o = []), (s = []); + } + u.shared.popup_buttons || (u.shared.popup_buttons = []), (s = u.shared.popup_buttons); + var g = null; + function m() { + clearTimeout(g), (g = setTimeout(n, 50)); + } + return { + _init: function () { + u.opts.toolbarInline + ? u.events.on("toolbar.show", n) + : (u.events.on("mouseup", m), u.events.on("keyup", m), u.events.on("blur", m), u.events.on("focus", m), u.events.on("contentChanged", m), u.helpers.isMobile() && u.events.$on(u.$doc, "selectionchange", n)), + u.events.on("shared.destroy", i); + }, + buildList: function (e, t) { + for (var n = "", r = 0; r < e.length; r++) { + var i = e[r], + a = be.FE.COMMANDS[i]; + (a && "undefined" != typeof a.plugin && u.opts.pluginsEnabled.indexOf(a.plugin) < 0) || + (a + ? (n += h(i, a, void 0 === t || 0 <= t.indexOf(i))) + : "|" == i + ? (n += '<div class="fr-separator fr-vs" role="separator" aria-orientation="vertical"></div>') + : "-" == i && (n += '<div class="fr-separator fr-hs" role="separator" aria-orientation="horizontal"></div>')); + } + return n; + }, + bindCommands: function (t, e) { + u.events.bindClick(t, ".fr-command:not(.fr-disabled)", a), + u.events.$on(t, u._mousedown + " " + u._mouseup + " " + u._move, ".fr-dropdown-menu", f, !0), + u.events.$on(t, u._mousedown + " " + u._mouseup + " " + u._move, ".fr-dropdown-menu .fr-dropdown-wrapper", p, !0); + var n = t.get(0).ownerDocument, + r = "defaultView" in n ? n.defaultView : n.parentWindow, + i = function (e) { + (!e || (e.type == u._mouseup && e.target != be("html").get(0)) || ("keydown" == e.type && ((u.keys.isCharacter(e.which) && !u.keys.ctrlKey(e)) || e.which == be.FE.KEYCODE.ESC))) && c(t); + }; + u.events.$on(be(r), u._mouseup + " resize keydown", i, !0), + u.opts.iframe && u.events.$on(u.$win, u._mouseup, i, !0), + u.node.hasClass(t.get(0), "fr-popup") ? be.merge(s, t.find(".fr-btn").toArray()) : be.merge(o, t.find(".fr-btn").toArray()), + u.tooltip.bind(t, ".fr-btn, .fr-title", e); + }, + refresh: function (e) { + var t, + n = e.parents(".fr-popup, .fr-toolbar").data("instance") || u, + r = e.data("cmd"); + u.node.hasClass(e.get(0), "fr-dropdown") ? (t = e.next()) : (e.removeClass("fr-active"), e.attr("aria-pressed") && e.attr("aria-pressed", !1)), + be.FE.COMMANDS[r] && be.FE.COMMANDS[r].refresh ? be.FE.COMMANDS[r].refresh.apply(n, [e, t]) : u.refresh[r] && n.refresh[r](e, t); + }, + bulkRefresh: n, + exec: r, + click: t, + hideActiveDropdowns: c, + getButtons: d, + }; + }), + (be.FE.MODULES.modals = function (l) { + l.shared.modals || (l.shared.modals = {}); + var s, + d = l.shared.modals; + function e() { + for (var e in d) { + var t = d[e]; + t && t.$modal && t.$modal.removeData().remove(); + } + s && s.removeData().remove(), (d = {}); + } + function c(e, t) { + if (d[e]) { + var n = d[e].$modal, + r = n.data("instance") || l; + r.events.enableBlur(), n.hide(), s.hide(), be(r.o_doc).find("body:first").removeClass("prevent-scroll fr-mobile"), n.removeClass("fr-active"), t || (r.accessibility.restoreSelection(), r.events.trigger("modals.hide")); + } + } + function n(e) { + var t; + if ("string" == typeof e) { + if (!d[e]) return; + t = d[e].$modal; + } else t = e; + return (t && l.node.hasClass(t, "fr-active") && l.core.sameInstance(t)) || !1; + } + return { + _init: function () { + l.events.on("shared.destroy", e, !0); + }, + get: function (e) { + return d[e]; + }, + create: function (n, e, t) { + if ((l.shared.$overlay || (l.shared.$overlay = be('<div class="fr-overlay">').appendTo("body:first")), (s = l.shared.$overlay), l.opts.theme && s.addClass(l.opts.theme + "-theme"), !d[n])) { + var r = + ((i = e), + (a = t), + (o = '<div tabIndex="-1" class="fr-modal' + (l.opts.theme ? " " + l.opts.theme + "-theme" : "") + '"><div class="fr-modal-wrapper">'), + (o += '<div class="fr-modal-head">' + i + '<i title="' + l.language.translate("Cancel") + '" class="fa fa-times fr-modal-close"></i></div>'), + (o += '<div tabIndex="-1" class="fr-modal-body">' + a + "</div>"), + be((o += "</div></div>"))); + (d[n] = { $modal: r, $head: r.find(".fr-modal-head"), $body: r.find(".fr-modal-body") }), + l.helpers.isMobile() || r.addClass("fr-desktop"), + r.appendTo("body:first"), + l.events.$on( + r, + "click", + ".fr-modal-close", + function () { + c(n); + }, + !0 + ), + d[n].$body.css("margin-top", d[n].$head.outerHeight()), + l.events.$on( + r, + "keydown", + function (e) { + var t = e.which; + return t == be.FE.KEYCODE.ESC + ? (c(n), l.accessibility.focusModalButton(r), !1) + : !(!be(e.target).is("input[type=text], textarea") && t != be.FE.KEYCODE.ARROW_UP && t != be.FE.KEYCODE.ARROW_DOWN && !l.keys.isBrowserAction(e) && (e.preventDefault(), e.stopPropagation(), 1)); + }, + !0 + ), + c(n, !0); + } + var i, a, o; + return d[n]; + }, + show: function (e) { + if (d[e]) { + var t = d[e].$modal; + t.data("instance", l), + t.show(), + s.show(), + be(l.o_doc).find("body:first").addClass("prevent-scroll"), + l.helpers.isMobile() && be(l.o_doc).find("body:first").addClass("fr-mobile"), + t.addClass("fr-active"), + l.accessibility.focusModal(t); + } + }, + hide: c, + resize: function (e) { + if (d[e]) { + var t = d[e], + n = t.$modal, + r = t.$body, + i = be(l.o_win).height(), + a = n.find(".fr-modal-wrapper"), + o = i - a.outerHeight(!0) + (a.height() - (r.outerHeight(!0) - r.height())), + s = "auto"; + o < r.get(0).scrollHeight && (s = o), r.height(s); + } + }, + isVisible: n, + areVisible: function (e) { + for (var t in d) if (d.hasOwnProperty(t) && n(t) && (void 0 === e || d[t].$modal.data("instance") == e)) return d[t].$modal; + return !1; + }, + }; + }), + (be.FE.POPUP_TEMPLATES = { "text.edit": "[_EDIT_]" }), + (be.FE.RegisterTemplate = function (e, t) { + be.FE.POPUP_TEMPLATES[e] = t; + }), + (be.FE.MODULES.popups = function (c) { + c.shared.popups || (c.shared.popups = {}); + var f = c.shared.popups; + function p(e, t) { + t.is(":visible") || (t = c.$sc), t.is(f[e].data("container")) || (f[e].data("container", t), t.append(f[e])); + } + function u(e) { + return (f[e] && c.node.hasClass(f[e], "fr-active") && c.core.sameInstance(f[e])) || !1; + } + function h(e) { + for (var t in f) if (f.hasOwnProperty(t) && u(t) && (void 0 === e || f[t].data("instance") == e)) return f[t]; + return !1; + } + function n(e) { + var t = null; + (t = "string" != typeof e ? e : f[e]) && + c.node.hasClass(t, "fr-active") && + (t.removeClass("fr-active fr-above"), + c.events.trigger("popups.hide." + e), + c.$tb && (1 < c.opts.zIndex ? c.$tb.css("zIndex", c.opts.zIndex + 1) : c.$tb.css("zIndex", "")), + c.events.disableBlur(), + t.find("input, textarea, button").filter(":focus").blur(), + t.find("input, textarea").attr("disabled", "disabled")); + } + function g(e) { + for (var t in (void 0 === e && (e = []), f)) f.hasOwnProperty(t) && e.indexOf(t) < 0 && n(t); + } + function t() { + c.shared.exit_flag = !0; + } + function m() { + c.shared.exit_flag = !1; + } + function a() { + return c.shared.exit_flag; + } + function i(e, t) { + var n, + r, + i = (function (e, t) { + var n = be.FE.POPUP_TEMPLATES[e]; + if (!n) return null; + for (var r in ("function" == typeof n && (n = n.apply(c)), t)) t.hasOwnProperty(r) && (n = n.replace("[_" + r.toUpperCase() + "_]", t[r])); + return n; + })(e, t); + return i + ? ((n = be('<div class="fr-popup' + (c.helpers.isMobile() ? " fr-mobile" : " fr-desktop") + (c.opts.toolbarInline ? " fr-inline" : "") + '"><span class="fr-arrow"></span>' + i + "</div>")), + c.opts.theme && n.addClass(c.opts.theme + "-theme"), + 1 < c.opts.zIndex && (c.opts.editInPopup ? n.css("z-index", c.opts.zIndex + 2) : c.$tb.css("z-index", c.opts.zIndex + 2)), + "auto" != c.opts.direction && n.removeClass("fr-ltr fr-rtl").addClass("fr-" + c.opts.direction), + n.find("input, textarea").attr("dir", c.opts.direction).attr("disabled", "disabled"), + (r = be("body:first")).append(n), + n.data("container", r), + (f[e] = n), + c.button.bindCommands(n, !1), + n) + : ((n = be('<div class="fr-popup fr-empty"></div>')), (r = be("body:first")).append(n), n.data("container", r), (f[e] = n)); + } + function v(r) { + var i = f[r]; + return { + _windowResize: function () { + var e = i.data("instance") || c; + !e.helpers.isMobile() && i.is(":visible") && (e.events.disableBlur(), e.popups.hide(r), e.events.enableBlur()); + }, + _inputFocus: function (e) { + var t = i.data("instance") || c, + n = be(e.currentTarget); + if ( + (n.is("input:file") && n.closest(".fr-layer").addClass("fr-input-focus"), + e.preventDefault(), + e.stopPropagation(), + setTimeout( + function () { + t.events.enableBlur(); + }, + c.browser.msie ? 100 : 0 + ), + t.helpers.isMobile()) + ) { + var r = be(t.o_win).scrollTop(); + setTimeout(function () { + be(t.o_win).scrollTop(r); + }, 0); + } + }, + _inputBlur: function (e) { + var t = i.data("instance") || c, + n = be(e.currentTarget); + n.is("input:file") && n.closest(".fr-layer").removeClass("fr-input-focus"), document.activeElement != this && be(this).is(":visible") && (t.events.blurActive() && t.events.trigger("blur"), t.events.enableBlur()); + }, + _editorKeydown: function (e) { + var t = i.data("instance") || c; + t.keys.ctrlKey(e) || + e.which == be.FE.KEYCODE.ALT || + e.which == be.FE.KEYCODE.ESC || + (u(r) && i.find(".fr-back:visible").length ? t.button.exec(i.find(".fr-back:visible:first")) : e.which != be.FE.KEYCODE.ALT && t.popups.hide(r)); + }, + _preventFocus: function (e) { + var t = i.data("instance") || c, + n = e.originalEvent ? e.originalEvent.target || e.originalEvent.originalTarget : null; + "mouseup" == e.type || be(n).is(":focus") || t.events.disableBlur(), + "mouseup" != e.type || be(n).hasClass("fr-command") || 0 < be(n).parents(".fr-command").length || be(n).hasClass("fr-dropdown-content") || c.button.hideActiveDropdowns(i), + (c.browser.safari || c.browser.mozilla) && "mousedown" == e.type && be(n).is("input[type=file]") && t.events.disableBlur(); + var r = "input, textarea, button, select, label, .fr-command"; + if (n && !be(n).is(r) && 0 === be(n).parents(r).length) return e.stopPropagation(), !1; + n && be(n).is(r) && e.stopPropagation(), m(); + }, + _editorMouseup: function () { + i.is(":visible") && a() && 0 < i.find("input:focus, textarea:focus, button:focus, select:focus").filter(":visible").length && c.events.disableBlur(); + }, + _windowMouseup: function (e) { + if (!c.core.sameInstance(i)) return !0; + var t = i.data("instance") || c; + i.is(":visible") && a() && (e.stopPropagation(), t.markers.remove(), t.popups.hide(r), m()); + }, + _windowKeydown: function (e) { + if (!c.core.sameInstance(i)) return !0; + var t = i.data("instance") || c, + n = e.which; + if (be.FE.KEYCODE.ESC == n) { + if (t.popups.isVisible(r) && t.opts.toolbarInline) + return ( + e.stopPropagation(), + t.popups.isVisible(r) && + (i.find(".fr-back:visible").length + ? (t.button.exec(i.find(".fr-back:visible:first")), t.accessibility.focusPopupButton(i)) + : i.find(".fr-dismiss:visible").length + ? t.button.exec(i.find(".fr-dismiss:visible:first")) + : (t.popups.hide(r), t.toolbar.showInline(null, !0), t.accessibility.FocusPopupButton(i))), + !1 + ); + if (t.popups.isVisible(r)) + return ( + i.find(".fr-back:visible").length + ? (t.button.exec(i.find(".fr-back:visible:first")), t.accessibility.focusPopupButton(i)) + : i.find(".fr-dismiss:visible").length + ? t.button.exec(i.find(".fr-dismiss:visible:first")) + : (t.popups.hide(r), t.accessibility.focusPopupButton(i)), + !1 + ); + } + }, + _doPlaceholder: function () { + 0 === be(this).next().length && be(this).attr("placeholder") && be(this).after('<label for="' + be(this).attr("id") + '">' + be(this).attr("placeholder") + "</label>"), + be(this).toggleClass("fr-not-empty", "" !== be(this).val()); + }, + _repositionPopup: function () { + if ((!c.opts.height && !c.opts.heightMax) || c.opts.toolbarInline) return !0; + if (c.$wp && u(r) && i.parent().get(0) == c.$sc.get(0)) { + var e = i.offset().top - c.$wp.offset().top, + t = c.$wp.outerHeight(); + c.node.hasClass(i.get(0), "fr-above") && (e += i.outerHeight()), t < e || e < 0 ? i.addClass("fr-hidden") : i.removeClass("fr-hidden"); + } + }, + }; + } + function o(e, t) { + c.events.on("mouseup", e._editorMouseup, !0), + c.$wp && c.events.on("keydown", e._editorKeydown), + c.events.on("blur", function () { + h() && c.markers.remove(), g(); + }), + c.$wp && !c.helpers.isMobile() && c.events.$on(c.$wp, "scroll.popup" + t, e._repositionPopup), + c.events.on("window.mouseup", e._windowMouseup, !0), + c.events.on("window.keydown", e._windowKeydown, !0), + f[t].data("inst" + c.id, !0), + c.events.on( + "destroy", + function () { + c.core.sameInstance(f[t]) && f[t].removeClass("fr-active").appendTo("body:first"); + }, + !0 + ); + } + function e() { + for (var e in f) + if (f.hasOwnProperty(e)) { + var t = f[e]; + t && (t.html("").removeData().remove(), (f[e] = null)); + } + f = []; + } + return ( + (c.shared.exit_flag = !1), + { + _init: function () { + c.events.on("shared.destroy", e, !0), + c.events.on("window.mousedown", t), + c.events.on("window.touchmove", m), + c.events.$on(be(c.o_win), "scroll", m), + c.events.on("mousedown", function (e) { + h() && (e.stopPropagation(), c.$el.find(".fr-marker").remove(), t(), c.events.disableBlur()); + }); + }, + create: function (e, t) { + var n = i(e, t), + r = v(e); + return ( + o(r, e), + c.events.$on(n, "mousedown mouseup touchstart touchend touch", "*", r._preventFocus, !0), + c.events.$on(n, "focus", "input, textarea, button, select", r._inputFocus, !0), + c.events.$on(n, "blur", "input, textarea, button, select", r._inputBlur, !0), + c.accessibility.registerPopup(e), + c.events.$on(n, "keydown keyup change input", "input, textarea", r._doPlaceholder, !0), + c.helpers.isIOS() && + c.events.$on( + n, + "touchend", + "label", + function () { + be("#" + be(this).attr("for")).prop("checked", function (e, t) { + return !t; + }); + }, + !0 + ), + c.events.$on(be(c.o_win), "resize", r._windowResize, !0), + n + ); + }, + get: function (e) { + var t = f[e]; + return t && !t.data("inst" + c.id) && o(v(e), e), t; + }, + show: function (e, t, n, r) { + if ((u(e) || (h() && 0 < c.$el.find(".fr-marker").length ? (c.events.disableBlur(), c.selection.restore()) : h() || (c.events.disableBlur(), c.events.focus(), c.events.enableBlur())), g([e]), !f[e])) return !1; + var i = c.button.getButtons(".fr-dropdown.fr-active"); + i.removeClass("fr-active").attr("aria-expanded", !1).parent(".fr-toolbar").css("zIndex", ""), i.next().attr("aria-hidden", !0), f[e].data("instance", c), c.$tb && c.$tb.data("instance", c); + var a = f[e].outerWidth(), + o = u(e); + f[e].addClass("fr-active").removeClass("fr-hidden").find("input, textarea").removeAttr("disabled"); + var s, + l, + d = f[e].data("container"); + (s = e), + (l = d).is(":visible") || (l = c.$sc), + 0 === l.find([f[s]]).length && l.append(f[s]), + c.opts.toolbarInline && + d && + c.$tb && + d.get(0) == c.$tb.get(0) && + (p(e, c.$sc), + (n = c.$tb.offset().top - c.helpers.getPX(c.$tb.css("margin-top"))), + (t = c.$tb.offset().left + c.$tb.outerWidth() / 2 + (parseFloat(c.$tb.find(".fr-arrow").css("margin-left")) || 0) + c.$tb.find(".fr-arrow").outerWidth() / 2), + c.node.hasClass(c.$tb.get(0), "fr-above") && n && (n += c.$tb.outerHeight()), + (r = 0)), + (d = f[e].data("container")), + !c.opts.iframe || r || o || (t && (t -= c.$iframe.offset().left), n && (n -= c.$iframe.offset().top)), + d.is(c.$tb) ? c.$tb.css("zIndex", (c.opts.zIndex || 1) + 4) : f[e].css("zIndex", (c.opts.zIndex || 1) + 4), + t && (t -= a / 2), + c.opts.toolbarBottom && d && c.$tb && d.get(0) == c.$tb.get(0) && (f[e].addClass("fr-above"), n && (n -= f[e].outerHeight())), + f[e].removeClass("fr-active"), + c.position.at(t, n, f[e], r || 0), + f[e].addClass("fr-active"), + o || c.accessibility.focusPopup(f[e]), + c.opts.toolbarInline && c.toolbar.hide(), + c.events.trigger("popups.show." + e), + v(e)._repositionPopup(), + m(); + }, + hide: n, + onHide: function (e, t) { + c.events.on("popups.hide." + e, t); + }, + hideAll: g, + setContainer: p, + refresh: function (e) { + f[e].data("instance", c), c.events.trigger("popups.refresh." + e); + for (var t = f[e].find(".fr-command"), n = 0; n < t.length; n++) { + var r = be(t[n]); + 0 === r.parents(".fr-dropdown-menu").length && c.button.refresh(r); + } + }, + onRefresh: function (e, t) { + c.events.on("popups.refresh." + e, t); + }, + onShow: function (e, t) { + c.events.on("popups.show." + e, t); + }, + isVisible: u, + areVisible: h, + } + ); + }), + (be.FE.MODULES.position = function (v) { + function i() { + var e = v.selection.ranges(0).getBoundingClientRect(); + if ((0 === e.top && 0 === e.left && 0 === e.width) || 0 === e.height) { + var t = !1; + 0 === v.$el.find(".fr-marker").length && (v.selection.save(), (t = !0)); + var n = v.$el.find(".fr-marker:first"); + n.css("display", "inline"), n.css("line-height", ""); + var r = n.offset(), + i = n.outerHeight(); + n.css("display", "none"), + n.css("line-height", 0), + ((e = {}).left = r.left), + (e.width = 0), + (e.height = i), + (e.top = r.top - ((v.helpers.isMobile() && !v.helpers.isIOS()) || v.opts.iframe ? 0 : v.helpers.scrollTop())), + (e.right = 1), + (e.bottom = 1), + (e.ok = !0), + t && v.selection.restore(); + } + return e; + } + function a(e, t, n, r) { + var i = n.data("container"); + !i || + ("BODY" === i.get(0).tagName && "static" == i.css("position")) || + (e && (e -= i.offset().left), + t && (t -= i.offset().top), + "BODY" != i.get(0).tagName ? (e && (e += i.get(0).scrollLeft), t && (t += i.get(0).scrollTop)) : "absolute" == i.css("position") && (e && (e += i.position().left), t && (t += i.position().top))), + v.opts.iframe && i && v.$tb && i.get(0) != v.$tb.get(0) && (e && (e += v.$iframe.offset().left), t && (t += v.$iframe.offset().top)); + var a, + o, + s = ((a = e), (o = n.outerWidth(!0)), a + o > v.$sc.get(0).clientWidth - 10 && (a = v.$sc.get(0).clientWidth - o - 10), a < 0 && (a = 10), a); + if (e) { + n.css("left", s); + var l = n.data("fr-arrow"); + l || ((l = n.find(".fr-arrow")), n.data("fr-arrow", l)), l.data("margin-left") || l.data("margin-left", v.helpers.getPX(l.css("margin-left"))), l.css("margin-left", e - s + l.data("margin-left")); + } + t && + n.css( + "top", + (function (e, t, n) { + var r = e.outerHeight(!0); + if (!v.helpers.isMobile() && v.$tb && e.parent().get(0) != v.$tb.get(0)) { + var i = e.parent().offset().top, + a = t - r - (n || 0); + e.parent().get(0) == v.$sc.get(0) && (i -= e.parent().position().top); + var o = v.$sc.get(0).clientHeight; + i + t + r > v.$sc.offset().top + o && 0 < e.parent().offset().top + a && 0 < a ? a > v.$wp.scrollTop() && ((t = a), e.addClass("fr-above")) : e.removeClass("fr-above"); + } + return t; + })(n, t, r) + ); + } + function n(e) { + var n = be(e), + t = n.is(".fr-sticky-on"), + r = n.data("sticky-top"), + i = n.data("sticky-scheduled"); + if (void 0 === r) { + n.data("sticky-top", 0); + var a = be('<div class="fr-sticky-dummy" style="height: ' + n.outerHeight() + 'px;"></div>'); + v.$box.prepend(a); + } else v.$box.find(".fr-sticky-dummy").css("height", n.outerHeight()); + if (v.core.hasFocus() || 0 < v.$tb.find("input:visible:focus").length) { + var o = v.helpers.scrollTop(), + s = Math.min(Math.max(o - v.$tb.parent().offset().top, 0), v.$tb.parent().outerHeight() - n.outerHeight()); + s != r && + s != i && + (clearTimeout(n.data("sticky-timeout")), + n.data("sticky-scheduled", s), + n.outerHeight() < o - v.$tb.parent().offset().top && n.addClass("fr-opacity-0"), + n.data( + "sticky-timeout", + setTimeout(function () { + var e = v.helpers.scrollTop(), + t = Math.min(Math.max(e - v.$tb.parent().offset().top, 0), v.$tb.parent().outerHeight() - n.outerHeight()); + 0 < t && "BODY" == v.$tb.parent().get(0).tagName && (t += v.$tb.parent().position().top), + t != r && (n.css("top", Math.max(t, 0)), n.data("sticky-top", t), n.data("sticky-scheduled", t)), + n.removeClass("fr-opacity-0"); + }, 100) + )), + t || (n.css("top", "0"), n.width(v.$tb.parent().width()), n.addClass("fr-sticky-on"), v.$box.addClass("fr-sticky-box")); + } else clearTimeout(be(e).css("sticky-timeout")), n.css("top", "0"), n.css("position", ""), n.width(""), n.data("sticky-top", 0), n.removeClass("fr-sticky-on"), v.$box.removeClass("fr-sticky-box"); + } + function t(e) { + if (e.offsetWidth) { + var t, + n, + r = be(e), + i = r.outerHeight(), + a = r.data("sticky-position"), + o = be("body" == v.opts.scrollableContainer ? v.o_win : v.opts.scrollableContainer).outerHeight(), + s = 0, + l = 0; + "body" !== v.opts.scrollableContainer && ((s = v.$sc.offset().top), (l = be(v.o_win).outerHeight() - s - o)); + var d = "body" == v.opts.scrollableContainer ? v.helpers.scrollTop() : s, + c = r.is(".fr-sticky-on"); + r.data("sticky-parent") || r.data("sticky-parent", r.parent()); + var f = r.data("sticky-parent"), + p = f.offset().top, + u = f.outerHeight(); + if ((r.data("sticky-offset") ? v.$box.find(".fr-sticky-dummy").css("height", i + "px") : (r.data("sticky-offset", !0), r.after('<div class="fr-sticky-dummy" style="height: ' + i + 'px;"></div>')), !a)) { + var h = "auto" !== r.css("top") || "auto" !== r.css("bottom"); + h || r.css("position", "fixed"), + (a = { top: v.node.hasClass(r.get(0), "fr-top"), bottom: v.node.hasClass(r.get(0), "fr-bottom") }), + h || r.css("position", ""), + r.data("sticky-position", a), + r.data("top", v.node.hasClass(r.get(0), "fr-top") ? r.css("top") : "auto"), + r.data("bottom", v.node.hasClass(r.get(0), "fr-bottom") ? r.css("bottom") : "auto"); + } + (t = v.helpers.getPX(r.data("top"))), (n = v.helpers.getPX(r.data("bottom"))); + var g = a.top && p < d + t && d + t <= p + u - i && (v.helpers.isInViewPort(v.$sc.get(0)) || "body" == v.opts.scrollableContainer), + m = a.bottom && p + i < d + o - n && d + o - n < p + u; + g || m + ? (r.css("width", f.get(0).getBoundingClientRect().width + "px"), + c || + (r.addClass("fr-sticky-on"), + r.removeClass("fr-sticky-off"), + r.css("top") && ("auto" != r.data("top") ? r.css("top", v.helpers.getPX(r.data("top")) + s) : r.data("top", "auto")), + r.css("bottom") && ("auto" != r.data("bottom") ? r.css("bottom", v.helpers.getPX(r.data("bottom")) + l) : r.css("bottom", "auto")))) + : v.node.hasClass(r.get(0), "fr-sticky-off") || + (r.width(""), + r.removeClass("fr-sticky-on"), + r.addClass("fr-sticky-off"), + r.css("top") && "auto" != r.data("top") && a.top && r.css("top", 0), + r.css("bottom") && "auto" != r.data("bottom") && a.bottom && r.css("bottom", 0)); + } + } + function e() { + if (v._stickyElements) for (var e = 0; e < v._stickyElements.length; e++) t(v._stickyElements[e]); + } + return { + _init: function () { + !(function () { + if (((v._stickyElements = []), v.helpers.isIOS())) { + var t = function () { + if ((v.helpers.requestAnimationFrame()(t), !1 !== v.events.trigger("position.refresh"))) for (var e = 0; e < v._stickyElements.length; e++) n(v._stickyElements[e]); + }; + t(), + v.events.$on( + be(v.o_win), + "scroll", + function () { + if (v.core.hasFocus()) + for (var e = 0; e < v._stickyElements.length; e++) { + var t = be(v._stickyElements[e]), + n = t.parent(), + r = v.helpers.scrollTop(); + t.outerHeight() < r - n.offset().top && (t.addClass("fr-opacity-0"), t.data("sticky-top", -1), t.data("sticky-scheduled", -1)); + } + }, + !0 + ); + } else + "body" !== v.opts.scrollableContainer && v.events.$on(be(v.opts.scrollableContainer), "scroll", e, !0), + v.events.$on(be(v.o_win), "scroll", e, !0), + v.events.$on(be(v.o_win), "resize", e, !0), + v.events.on("initialized", e), + v.events.on("focus", e), + v.events.$on(be(v.o_win), "resize", "textarea", e, !0); + v.events.on("destroy", function () { + v._stickyElements = []; + }); + })(); + }, + forSelection: function (e) { + var t = i(); + e.css({ top: 0, left: 0 }); + var n = t.top + t.height, + r = t.left + t.width / 2 - e.get(0).offsetWidth / 2 + v.helpers.scrollLeft(); + v.opts.iframe || (n += v.helpers.scrollTop()), a(r, n, e, t.height); + }, + addSticky: function (e) { + e.addClass("fr-sticky"), v.helpers.isIOS() && e.addClass("fr-sticky-ios"), e.removeClass("fr-sticky"), v._stickyElements.push(e.get(0)); + }, + refresh: e, + at: a, + getBoundingRect: i, + }; + }), + (be.FE.MODULES.refresh = function (i) { + function a(e, t) { + e.toggleClass("fr-disabled", t).attr("aria-disabled", t); + } + return { + undo: function (e) { + a(e, !i.undo.canDo()); + }, + redo: function (e) { + a(e, !i.undo.canRedo()); + }, + outdent: function (e) { + if (i.node.hasClass(e.get(0), "fr-no-refresh")) return !1; + for (var t = i.selection.blocks(), n = 0; n < t.length; n++) { + var r = "rtl" == i.opts.direction || "rtl" == be(t[n]).css("direction") ? "margin-right" : "margin-left"; + if ("LI" == t[n].tagName || "LI" == t[n].parentNode.tagName) return a(e, !1), !0; + if (0 < i.helpers.getPX(be(t[n]).css(r))) return a(e, !1), !0; + } + a(e, !0); + }, + indent: function (e) { + if (i.node.hasClass(e.get(0), "fr-no-refresh")) return !1; + for (var t = i.selection.blocks(), n = 0; n < t.length; n++) { + for (var r = t[n].previousSibling; r && r.nodeType == Node.TEXT_NODE && 0 === r.textContent.length; ) r = r.previousSibling; + if ("LI" != t[n].tagName || r) return a(e, !1), !0; + a(e, !0); + } + }, + }; + }), + be.extend(be.FE.DEFAULTS, { editInPopup: !1 }), + (be.FE.MODULES.textEdit = function (n) { + function t() { + n.events.$on(n.$el, n._mouseup, function () { + setTimeout(function () { + var e, t; + (t = n.popups.get("text.edit")), + (e = "INPUT" === n.$el.prop("tagName") ? n.$el.attr("placeholder") : n.$el.text()), + t.find("input").val(e).trigger("change"), + n.popups.setContainer("text.edit", n.$sc), + n.popups.show("text.edit", n.$el.offset().left + n.$el.outerWidth() / 2, n.$el.offset().top + n.$el.outerHeight(), n.$el.outerHeight()); + }, 10); + }); + } + return { + _init: function () { + var e; + n.opts.editInPopup && + ((e = { + edit: + '<div id="fr-text-edit-' + + n.id + + '" class="fr-layer fr-text-edit-layer"><div class="fr-input-line"><input type="text" placeholder="' + + n.language.translate("Text") + + '" tabIndex="1"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="updateText" tabIndex="2">' + + n.language.translate("Update") + + "</button></div></div>", + }), + n.popups.create("text.edit", e), + t()); + }, + update: function () { + var e = n.popups.get("text.edit").find("input").val(); + 0 === e.length && (e = n.opts.placeholderText), "INPUT" === n.$el.prop("tagName") ? n.$el.attr("placeholder", e) : n.$el.text(e), n.events.trigger("contentChanged"), n.popups.hide("text.edit"); + }, + }; + }), + be.FE.RegisterCommand("updateText", { + focus: !1, + undo: !1, + callback: function () { + this.textEdit.update(); + }, + }), + be.extend(be.FE.DEFAULTS, { + toolbarBottom: !1, + toolbarButtons: null, + toolbarButtonsXS: null, + toolbarButtonsSM: null, + toolbarButtonsMD: null, + toolbarContainer: null, + toolbarInline: !1, + toolbarSticky: !0, + toolbarStickyOffset: 0, + toolbarVisibleWithoutSelection: !1, + }), + (be.FE.TOOLBAR_BUTTONS = [ + "fullscreen", + "bold", + "italic", + "underline", + "strikeThrough", + "subscript", + "superscript", + "|", + "fontFamily", + "fontSize", + "color", + "inlineClass", + "inlineStyle", + "paragraphStyle", + "lineHeight", + "|", + "paragraphFormat", + "align", + "formatOL", + "formatUL", + "outdent", + "indent", + "quote", + "-", + "insertLink", + "insertImage", + "insertVideo", + "embedly", + "insertFile", + "insertTable", + "|", + "emoticons", + "fontAwesome", + "specialCharacters", + "insertHR", + "selectAll", + "clearFormatting", + "|", + "print", + "getPDF", + "spellChecker", + "help", + "html", + "|", + "undo", + "redo", + ]), + (be.FE.TOOLBAR_BUTTONS_MD = null), + (be.FE.TOOLBAR_BUTTONS_SM = ["bold", "italic", "underline", "|", "fontFamily", "fontSize", "insertLink", "insertImage", "table", "|", "undo", "redo"]), + (be.FE.TOOLBAR_BUTTONS_XS = ["bold", "italic", "fontFamily", "fontSize", "|", "undo", "redo"]), + (be.FE.MODULES.toolbar = function (i) { + var r = []; + function a(e, t) { + for (var n = 0; n < t.length; n++) "-" != t[n] && "|" != t[n] && e.indexOf(t[n]) < 0 && e.push(t[n]); + } + function o() { + var e = i.helpers.screenSize(); + return r[e]; + } + function e() { + var e = o(); + i.$tb.find(".fr-separator").remove(), i.$tb.find("> .fr-command, > div.fr-btn-wrap").addClass("fr-hidden"); + for (var t = 0; t < e.length; t++) + if ("|" == e[t] || "-" == e[t]) i.$tb.append(i.button.buildList([e[t]])); + else { + var n = i.$tb.find('> .fr-command[data-cmd="' + e[t] + '"], > div.fr-btn-wrap > .fr-command[data-cmd="' + e[t] + '"]'), + r = null; + i.node.hasClass(n.next().get(0), "fr-dropdown-menu") && (r = n.next()), i.node.hasClass(n.next().get(0), "fr-options") && (n = n.parent()), n.removeClass("fr-hidden").appendTo(i.$tb), r && r.appendTo(i.$tb); + } + } + function t(e, t) { + setTimeout(function () { + if ((!e || e.which != be.FE.KEYCODE.ESC) && i.selection.inEditor() && i.core.hasFocus() && !i.popups.areVisible() && (i.opts.toolbarVisibleWithoutSelection || (!i.selection.isCollapsed() && !i.keys.isIME()) || t)) { + if ((i.$tb.data("instance", i), !1 === i.events.trigger("toolbar.show", [e]))) return !1; + i.$tb.show(), i.opts.toolbarContainer || i.position.forSelection(i.$tb), 1 < i.opts.zIndex ? i.$tb.css("z-index", i.opts.zIndex + 1) : i.$tb.css("z-index", null); + } + }, 0); + } + function n(e) { + return ( + (!e || "blur" !== e.type || document.activeElement !== i.el) && + (!(!e || "keydown" !== e.type || !i.keys.ctrlKey(e)) || !!i.button.getButtons(".fr-dropdown.fr-active").next().find(i.o_doc.activeElement).length || void (!1 !== i.events.trigger("toolbar.hide") && i.$tb.hide())) + ); + } + (r[be.FE.XS] = i.opts.toolbarButtonsXS || i.opts.toolbarButtons || be.FE.TOOLBAR_BUTTONS_XS || be.FE.TOOLBAR_BUTTONS || []), + (r[be.FE.SM] = i.opts.toolbarButtonsSM || i.opts.toolbarButtons || be.FE.TOOLBAR_BUTTONS_SM || be.FE.TOOLBAR_BUTTONS || []), + (r[be.FE.MD] = i.opts.toolbarButtonsMD || i.opts.toolbarButtons || be.FE.TOOLBAR_BUTTONS_MD || be.FE.TOOLBAR_BUTTONS || []), + (r[be.FE.LG] = i.opts.toolbarButtons || be.FE.TOOLBAR_BUTTONS || []); + var s = null; + function l(e) { + clearTimeout(s), (e && e.which == be.FE.KEYCODE.ESC) || (s = setTimeout(t, i.opts.typingTimer)); + } + function d() { + i.events.on("window.mousedown", n), + i.events.on("keydown", n), + i.events.on("blur", n), + i.helpers.isMobile() || i.events.on("window.mouseup", t), + i.helpers.isMobile() ? i.helpers.isIOS() || (i.events.on("window.touchend", t), i.browser.mozilla && setInterval(t, 200)) : i.events.on("window.keyup", l), + i.events.on("keydown", function (e) { + e && e.which == be.FE.KEYCODE.ESC && n(); + }), + i.events.on( + "keydown", + function (e) { + if (e.which == be.FE.KEYCODE.ALT) return e.stopPropagation(), !1; + }, + !0 + ), + i.events.$on(i.$wp, "scroll.toolbar", t), + i.events.on("commands.after", t), + i.helpers.isMobile() && (i.events.$on(i.$doc, "selectionchange", l), i.events.$on(i.$doc, "orientationchange", t)); + } + function c() { + i.$tb.html("").removeData().remove(), (i.$tb = null); + } + function f() { + i.$box.removeClass("fr-top fr-bottom fr-inline fr-basic"), i.$box.find(".fr-sticky-dummy").remove(); + } + function p() { + i.opts.theme && i.$tb.addClass(i.opts.theme + "-theme"), + 1 < i.opts.zIndex && i.$tb.css("z-index", i.opts.zIndex + 1), + "auto" != i.opts.direction && i.$tb.removeClass("fr-ltr fr-rtl").addClass("fr-" + i.opts.direction), + i.helpers.isMobile() ? i.$tb.addClass("fr-mobile") : i.$tb.addClass("fr-desktop"), + i.opts.toolbarContainer + ? (i.opts.toolbarInline && (d(), n()), i.opts.toolbarBottom ? i.$tb.addClass("fr-bottom") : i.$tb.addClass("fr-top")) + : i.opts.toolbarInline + ? (i.$sc.append(i.$tb), i.$tb.data("container", i.$sc), i.$tb.addClass("fr-inline"), i.$tb.prepend('<span class="fr-arrow"></span>'), d(), (i.opts.toolbarBottom = !1)) + : (i.opts.toolbarBottom && !i.helpers.isIOS() + ? (i.$box.append(i.$tb), i.$tb.addClass("fr-bottom"), i.$box.addClass("fr-bottom")) + : ((i.opts.toolbarBottom = !1), i.$box.prepend(i.$tb), i.$tb.addClass("fr-top"), i.$box.addClass("fr-top")), + i.$tb.addClass("fr-basic"), + i.opts.toolbarSticky && (i.opts.toolbarStickyOffset && (i.opts.toolbarBottom ? i.$tb.css("bottom", i.opts.toolbarStickyOffset) : i.$tb.css("top", i.opts.toolbarStickyOffset)), i.position.addSticky(i.$tb))), + (function () { + var e = be.merge([], o()); + a(e, r[be.FE.XS]), a(e, r[be.FE.SM]), a(e, r[be.FE.MD]), a(e, r[be.FE.LG]); + for (var t = e.length - 1; 0 <= t; t--) "-" != e[t] && "|" != e[t] && e.indexOf(e[t]) < t && e.splice(t, 1); + var n = i.button.buildList(e, o()); + i.$tb.append(n), i.button.bindCommands(i.$tb); + })(), + i.events.$on(be(i.o_win), "resize", e), + i.events.$on(be(i.o_win), "orientationchange", e), + i.accessibility.registerToolbar(i.$tb), + i.events.$on( + i.$tb, + i._mousedown + " " + i._mouseup, + function (e) { + var t = e.originalEvent ? e.originalEvent.target || e.originalEvent.originalTarget : null; + if (t && "INPUT" != t.tagName && !i.edit.isDisabled()) return e.stopPropagation(), e.preventDefault(), !1; + }, + !0 + ); + } + var u = !1; + return { + _init: function () { + if (((i.$sc = be(i.opts.scrollableContainer).first()), !i.$wp)) return !1; + i.opts.toolbarContainer + ? (i.shared.$tb + ? ((i.$tb = i.shared.$tb), i.opts.toolbarInline && d()) + : ((i.shared.$tb = be('<div class="fr-toolbar"></div>')), (i.$tb = i.shared.$tb), be(i.opts.toolbarContainer).append(i.$tb), p(), i.$tb.data("instance", i)), + i.opts.toolbarInline ? i.$box.addClass("fr-inline") : i.$box.addClass("fr-basic"), + i.events.on( + "focus", + function () { + i.$tb.data("instance", i); + }, + !0 + ), + (i.opts.toolbarInline = !1)) + : i.opts.toolbarInline + ? (i.$box.addClass("fr-inline"), i.shared.$tb ? ((i.$tb = i.shared.$tb), d()) : ((i.shared.$tb = be('<div class="fr-toolbar"></div>')), (i.$tb = i.shared.$tb), p())) + : (i.$box.addClass("fr-basic"), (i.$tb = be('<div class="fr-toolbar"></div>')), p(), i.$tb.data("instance", i)), + i.events.on("destroy", f, !0), + i.events.on(i.opts.toolbarInline || i.opts.toolbarContainer ? "shared.destroy" : "destroy", c, !0); + }, + hide: n, + show: function () { + if (!1 === i.events.trigger("toolbar.show")) return !1; + i.$tb.show(); + }, + showInline: t, + disable: function () { + !u && i.$tb && (i.$tb.find("> .fr-command").addClass("fr-disabled fr-no-refresh").attr("aria-disabled", !0), (u = !0)); + }, + enable: function () { + u && i.$tb && (i.$tb.find("> .fr-command").removeClass("fr-disabled fr-no-refresh").attr("aria-disabled", !1), (u = !1)), i.button.bulkRefresh(); + }, + }; + }), + (be.FE.PLUGINS.align = function (i) { + return { + apply: function (e) { + var t = i.selection.element(); + if (be(t).parents(".fr-img-caption").length) be(t).css("text-align", e); + else { + i.selection.save(), i.html.wrap(!0, !0, !0, !0), i.selection.restore(); + for (var n = i.selection.blocks(), r = 0; r < n.length; r++) + i.helpers.getAlignment(be(n[r].parentNode)) == e ? be(n[r]).css("text-align", "").removeClass("fr-temp-div") : be(n[r]).css("text-align", e).removeClass("fr-temp-div"), + "" === be(n[r]).attr("class") && be(n[r]).removeAttr("class"), + "" === be(n[r]).attr("style") && be(n[r]).removeAttr("style"); + i.selection.save(), i.html.unwrap(), i.selection.restore(); + } + }, + refresh: function (e) { + var t = i.selection.blocks(); + if (t.length) { + var n = i.helpers.getAlignment(be(t[0])); + e.find("> *:first").replaceWith(i.icon.create("align-" + n)); + } + }, + refreshOnShow: function (e, t) { + var n = i.selection.blocks(); + if (n.length) { + var r = i.helpers.getAlignment(be(n[0])); + t.find('a.fr-command[data-param1="' + r + '"]') + .addClass("fr-active") + .attr("aria-selected", !0); + } + }, + refreshForToolbar: function (e) { + var t = i.selection.blocks(); + if (t.length) { + var n = i.helpers.getAlignment(be(t[0])); + "align" + (n = n.charAt(0).toUpperCase() + n.slice(1)) == e.attr("data-cmd") && e.addClass("fr-active"); + } + }, + }; + }), + be.FE.DefineIcon("align", { NAME: "align-left" }), + be.FE.DefineIcon("align-left", { NAME: "align-left" }), + be.FE.DefineIcon("align-right", { NAME: "align-right" }), + be.FE.DefineIcon("align-center", { NAME: "align-center" }), + be.FE.DefineIcon("align-justify", { NAME: "align-justify" }), + be.FE.RegisterCommand("align", { + type: "dropdown", + title: "Align", + options: { left: "Align Left", center: "Align Center", right: "Align Right", justify: "Align Justify" }, + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = be.FE.COMMANDS.align.options; + for (var n in t) + t.hasOwnProperty(n) && + (e += + '<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="align" data-param1="' + + n + + '" title="' + + this.language.translate(t[n]) + + '">' + + this.icon.create("align-" + n) + + '<span class="fr-sr-only">' + + this.language.translate(t[n]) + + "</span></a></li>"); + return (e += "</ul>"); + }, + callback: function (e, t) { + this.align.apply(t); + }, + refresh: function (e) { + this.align.refresh(e); + }, + refreshOnShow: function (e, t) { + this.align.refreshOnShow(e, t); + }, + plugin: "align", + }), + be.FE.RegisterCommand("alignLeft", { + type: "button", + icon: "align-left", + callback: function () { + this.align.apply("left"); + }, + refresh: function (e) { + this.align.refreshForToolbar(e); + }, + }), + be.FE.RegisterCommand("alignRight", { + type: "button", + icon: "align-right", + callback: function () { + this.align.apply("right"); + }, + refresh: function (e) { + this.align.refreshForToolbar(e); + }, + }), + be.FE.RegisterCommand("alignCenter", { + type: "button", + icon: "align-center", + callback: function () { + this.align.apply("center"); + }, + refresh: function (e) { + this.align.refreshForToolbar(e); + }, + }), + be.FE.RegisterCommand("alignJustify", { + type: "button", + icon: "align-justify", + callback: function () { + this.align.apply("justify"); + }, + refresh: function (e) { + this.align.refreshForToolbar(e); + }, + }), + be.extend(be.FE.DEFAULTS, { charCounterMax: -1, charCounterCount: !0 }), + (be.FE.PLUGINS.charCounter = function (n) { + var r; + function i() { + return (n.el.textContent || "").replace(/\u200B/g, "").length; + } + function e(e) { + if (n.opts.charCounterMax < 0) return !0; + if (i() < n.opts.charCounterMax) return !0; + var t = e.which; + return !((!n.keys.ctrlKey(e) && n.keys.isCharacter(t)) || t === be.FE.KEYCODE.IME) || (e.preventDefault(), e.stopPropagation(), n.events.trigger("charCounter.exceeded"), !1); + } + function t(e) { + return n.opts.charCounterMax < 0 ? e : be("<div>").html(e).text().length + i() <= n.opts.charCounterMax ? e : (n.events.trigger("charCounter.exceeded"), ""); + } + function a() { + if (n.opts.charCounterCount) { + var e = i() + (0 < n.opts.charCounterMax ? "/" + n.opts.charCounterMax : ""); + r.text(e), n.opts.toolbarBottom && r.css("margin-bottom", n.$tb.outerHeight(!0)); + var t = n.$wp.get(0).offsetWidth - n.$wp.get(0).clientWidth; + 0 <= t && ("rtl" == n.opts.direction ? r.css("margin-left", t) : r.css("margin-right", t)); + } + } + return { + _init: function () { + return ( + !!n.$wp && + !!n.opts.charCounterCount && + ((r = be('<span class="fr-counter"></span>')).css("bottom", n.$wp.css("border-bottom-width")), + n.$box.append(r), + n.events.on("keydown", e, !0), + n.events.on("paste.afterCleanup", t), + n.events.on("keyup contentChanged input", function () { + n.events.trigger("charCounter.update"); + }), + n.events.on("charCounter.update", a), + n.events.trigger("charCounter.update"), + void n.events.on("destroy", function () { + be(n.o_win).off("resize.char" + n.id), r.removeData().remove(), (r = null); + })) + ); + }, + count: i, + }; + }), + (be.FE.PLUGINS.codeBeautifier = function () { + var e, + t, + n, + r, + Y = {}; + function x(r, e) { + var t = { "@page": !0, "@font-face": !0, "@keyframes": !0, "@media": !0, "@supports": !0, "@document": !0 }, + n = { "@media": !0, "@supports": !0, "@document": !0 }; + (e = e || {}), (r = (r = r || "").replace(/\r\n|[\r\u2028\u2029]/g, "\n")); + var i = e.indent_size || 4, + a = e.indent_char || " ", + o = e.selector_separator_newline === undefined || e.selector_separator_newline, + s = e.end_with_newline !== undefined && e.end_with_newline, + l = e.newline_between_rules === undefined || e.newline_between_rules, + d = e.eol ? e.eol : "\n"; + "string" == typeof i && (i = parseInt(i, 10)), e.indent_with_tabs && ((a = "\t"), (i = 1)), (d = d.replace(/\\r/, "\r").replace(/\\n/, "\n")); + var c, + f = /^\s+$/, + p = -1, + u = 0; + function h() { + return (c = r.charAt(++p)) || ""; + } + function g(e) { + var t, + n = p; + return e && v(), (t = r.charAt(p + 1) || ""), (p = n - 1), h(), t; + } + function m(e) { + for (var t = p; h(); ) + if ("\\" === c) h(); + else { + if (-1 !== e.indexOf(c)) break; + if ("\n" === c) break; + } + return r.substring(t, p + 1); + } + function v() { + for (var e = ""; f.test(g()); ) h(), (e += c); + return e; + } + function E() { + var e = ""; + for (c && f.test(c) && (e = c); f.test(h()); ) e += c; + return e; + } + function b(e) { + var t = p; + for (e = "/" === g(), h(); h(); ) { + if (!e && "*" === c && "/" === g()) { + h(); + break; + } + if (e && "\n" === c) return r.substring(t, p); + } + return r.substring(t, p) + c; + } + function T(e) { + return r.substring(p - e.length, p).toLowerCase() === e; + } + function A() { + for (var e = 0, t = p + 1; t < r.length; t++) { + var n = r.charAt(t); + if ("{" === n) return !0; + if ("(" === n) e += 1; + else if (")" === n) { + if (0 == e) return !1; + e -= 1; + } else if (";" === n || "}" === n) return !1; + } + return !1; + } + var C = r.match(/^[\t ]*/)[0], + S = new Array(i + 1).join(a), + R = 0, + y = 0; + for ( + var _, + L, + x = { + "{": function (e) { + x.singleSpace(), w.push(e), x.newLine(); + }, + "}": function (e) { + x.newLine(), w.push(e), x.newLine(); + }, + _lastCharWhitespace: function () { + return f.test(w[w.length - 1]); + }, + newLine: function (e) { + w.length && (e || "\n" === w[w.length - 1] || x.trim(), w.push("\n"), C && w.push(C)); + }, + singleSpace: function () { + w.length && !x._lastCharWhitespace() && w.push(" "); + }, + preserveSingleSpace: function () { + M && x.singleSpace(); + }, + trim: function () { + for (; x._lastCharWhitespace(); ) w.pop(); + }, + }, + w = [], + N = !1, + O = !1, + I = !1, + D = "", + k = ""; + ; + + ) { + var F = E(), + M = "" !== F, + $ = -1 !== F.indexOf("\n"); + if (((k = D), !(D = c))) break; + if ("/" === c && "*" === g()) { + var B = 0 === R; + ($ || B) && x.newLine(), w.push(b()), x.newLine(), B && x.newLine(!0); + } else if ("/" === c && "/" === g()) $ || "{" === k || x.trim(), x.singleSpace(), w.push(b()), x.newLine(); + else if ("@" === c) { + x.preserveSingleSpace(), w.push(c); + var P = (void 0, (_ = p), (L = m(": ,;{}()[]/='\"")), (p = _ - 1), h(), L); + P.match(/[ :]$/) && (h(), (P = m(": ").replace(/\s$/, "")), w.push(P), x.singleSpace()), (P = P.replace(/\s$/, "")) in t && ((y += 1), P in n && (I = !0)); + } else + "#" === c && "{" === g() + ? (x.preserveSingleSpace(), w.push(m("}"))) + : "{" === c + ? "}" === g(!0) + ? (v(), h(), x.singleSpace(), w.push("{}"), x.newLine(), l && 0 === R && x.newLine(!0)) + : (R++, (C += S), x["{"](c), I ? ((I = !1), (N = y < R)) : (N = y <= R)) + : "}" === c + ? (R--, (C = C.slice(0, -i)), x["}"](c), (O = N = !1), y && y--, l && 0 === R && x.newLine(!0)) + : ":" === c + ? (v(), (!N && !I) || T("&") || A() ? (":" === g() ? (h(), w.push("::")) : w.push(":")) : ((O = !0), w.push(":"), x.singleSpace())) + : '"' === c || "'" === c + ? (x.preserveSingleSpace(), w.push(m(c))) + : ";" === c + ? ((O = !1), w.push(c), x.newLine()) + : "(" === c + ? T("url") + ? (w.push(c), v(), h() && (")" !== c && '"' !== c && "'" !== c ? w.push(m(")")) : p--)) + : (u++, x.preserveSingleSpace(), w.push(c), v()) + : ")" === c + ? (w.push(c), u--) + : "," === c + ? (w.push(c), v(), o && !O && u < 1 ? x.newLine() : x.singleSpace()) + : ("]" === c || ("[" === c ? x.preserveSingleSpace() : "=" === c ? (v(), (c = "=")) : x.preserveSingleSpace()), w.push(c)); + } + var U = ""; + return C && (U += C), (U += w.join("").replace(/[\r\n\t ]+$/, "")), s && (U += "\n"), "\n" != d && (U = U.replace(/[\n]/g, d)), U; + } + function G(e, t) { + for (var n = 0; n < t.length; n += 1) if (t[n] === e) return !0; + return !1; + } + function V(e) { + return e.replace(/^\s+|\s+$/g, ""); + } + function w(e, t) { + return new (function (r, e) { + var o, + i, + a, + s, + l, + d, + c, + f, + p, + t, + n, + u, + h, + g = [], + m = ""; + function v(e, t) { + var n = 0; + e && ((n = e.indentation_level), !o.just_added_newline() && e.line_indent_level > n && (n = e.line_indent_level)); + var r = { + mode: t, + parent: e, + last_text: e ? e.last_text : "", + last_word: e ? e.last_word : "", + declaration_statement: !1, + declaration_assignment: !1, + multiline_frame: !1, + if_block: !1, + else_block: !1, + do_block: !1, + do_while: !1, + in_case_statement: !1, + in_case: !1, + case_body: !1, + indentation_level: n, + line_indent_level: e ? e.line_indent_level : n, + start_line_index: o.get_line_number(), + ternary_depth: 0, + }; + return r; + } + (u = { + TK_START_EXPR: function () { + N(); + var e = k.Expression; + if ("[" === s.text) { + if ("TK_WORD" === l || ")" === f.last_text) + return "TK_RESERVED" === l && G(f.last_text, a.line_starters) && (o.space_before_token = !0), y(e), S(), R(), void (h.space_in_paren && (o.space_before_token = !0)); + (e = k.ArrayLiteral), _(f.mode) && (("[" !== f.last_text && ("," !== f.last_text || ("]" !== d && "}" !== d))) || h.keep_array_indentation || A()); + } else "TK_RESERVED" === l && "for" === f.last_text ? (e = k.ForInitializer) : "TK_RESERVED" === l && G(f.last_text, ["if", "while"]) && (e = k.Conditional); + ";" === f.last_text || "TK_START_BLOCK" === l + ? A() + : "TK_END_EXPR" === l || "TK_START_EXPR" === l || "TK_END_BLOCK" === l || "." === f.last_text + ? T(s.wanted_newline) + : ("TK_RESERVED" === l && "(" === s.text) || "TK_WORD" === l || "TK_OPERATOR" === l + ? ("TK_RESERVED" === l && ("function" === f.last_word || "typeof" === f.last_word)) || ("*" === f.last_text && "function" === d) + ? h.space_after_anon_function && (o.space_before_token = !0) + : "TK_RESERVED" !== l || (!G(f.last_text, a.line_starters) && "catch" !== f.last_text) || (h.space_before_conditional && (o.space_before_token = !0)) + : (o.space_before_token = !0), + "(" === s.text && "TK_RESERVED" === l && "await" === f.last_word && (o.space_before_token = !0), + "(" === s.text && (("TK_EQUALS" !== l && "TK_OPERATOR" !== l) || w() || T()), + y(e), + S(), + h.space_in_paren && (o.space_before_token = !0), + R(); + }, + TK_END_EXPR: function () { + for (; f.mode === k.Statement; ) x(); + f.multiline_frame && T("]" === s.text && _(f.mode) && !h.keep_array_indentation), + h.space_in_paren && ("TK_START_EXPR" !== l || h.space_in_empty_paren ? (o.space_before_token = !0) : (o.trim(), (o.space_before_token = !1))), + "]" === s.text && h.keep_array_indentation ? (S(), x()) : (x(), S()), + o.remove_redundant_indentation(p), + f.do_while && p.mode === k.Conditional && ((p.mode = k.Expression), (f.do_block = !1), (f.do_while = !1)); + }, + TK_START_BLOCK: function () { + var e = I(1), + t = I(2); + t && ((":" === t.text && G(e.type, ["TK_STRING", "TK_WORD", "TK_RESERVED"])) || (G(e.text, ["get", "set"]) && G(t.type, ["TK_WORD", "TK_RESERVED"]))) + ? G(d, ["class", "interface"]) + ? y(k.BlockStatement) + : y(k.ObjectLiteral) + : y(k.BlockStatement); + var n = !e.comments_before.length && "}" === e.text && "function" === f.last_word && "TK_END_EXPR" === l; + "expand" === h.brace_style || ("none" === h.brace_style && s.wanted_newline) + ? "TK_OPERATOR" !== l && (n || "TK_EQUALS" === l || ("TK_RESERVED" === l && O(f.last_text) && "else" !== f.last_text)) + ? (o.space_before_token = !0) + : A(!1, !0) + : "TK_OPERATOR" !== l && "TK_START_EXPR" !== l + ? "TK_START_BLOCK" === l + ? A() + : (o.space_before_token = !0) + : _(p.mode) && "," === f.last_text && ("}" === d ? (o.space_before_token = !0) : A()), + S(), + R(); + }, + TK_END_BLOCK: function () { + for (; f.mode === k.Statement; ) x(); + var e = "TK_START_BLOCK" === l; + "expand" === h.brace_style ? e || A() : e || (_(f.mode) && h.keep_array_indentation ? ((h.keep_array_indentation = !1), A(), (h.keep_array_indentation = !0)) : A()), x(), S(); + }, + TK_WORD: D, + TK_RESERVED: D, + TK_SEMICOLON: function () { + for (N() && (o.space_before_token = !1); f.mode === k.Statement && !f.if_block && !f.do_block; ) x(); + S(); + }, + TK_STRING: function () { + N() ? (o.space_before_token = !0) : "TK_RESERVED" === l || "TK_WORD" === l ? (o.space_before_token = !0) : "TK_COMMA" === l || "TK_START_EXPR" === l || "TK_EQUALS" === l || "TK_OPERATOR" === l ? w() || T() : A(), + S(); + }, + TK_EQUALS: function () { + N(), f.declaration_statement && (f.declaration_assignment = !0), (o.space_before_token = !0), S(), (o.space_before_token = !0); + }, + TK_OPERATOR: function () { + if ((N(), "TK_RESERVED" === l && O(f.last_text))) return (o.space_before_token = !0), void S(); + if ("*" !== s.text || "TK_DOT" !== l) { + if (":" === s.text && f.in_case) return (f.case_body = !0), R(), S(), A(), void (f.in_case = !1); + if ("::" !== s.text) { + "TK_OPERATOR" === l && T(); + var e = !0, + t = !0; + G(s.text, ["--", "++", "!", "~"]) || (G(s.text, ["-", "+"]) && (G(l, ["TK_START_BLOCK", "TK_START_EXPR", "TK_EQUALS", "TK_OPERATOR"]) || G(f.last_text, a.line_starters) || "," === f.last_text)) + ? ((t = e = !1), + !s.wanted_newline || ("--" !== s.text && "++" !== s.text) || A(!1, !0), + ";" === f.last_text && L(f.mode) && (e = !0), + "TK_RESERVED" === l + ? (e = !0) + : "TK_END_EXPR" === l + ? (e = !("]" === f.last_text && ("--" === s.text || "++" === s.text))) + : "TK_OPERATOR" === l && ((e = G(s.text, ["--", "-", "++", "+"]) && G(f.last_text, ["--", "-", "++", "+"])), G(s.text, ["+", "-"]) && G(f.last_text, ["--", "++"]) && (t = !0)), + (f.mode !== k.BlockStatement && f.mode !== k.Statement) || ("{" !== f.last_text && ";" !== f.last_text) || A()) + : ":" === s.text + ? 0 === f.ternary_depth + ? (e = !1) + : (f.ternary_depth -= 1) + : "?" === s.text + ? (f.ternary_depth += 1) + : "*" === s.text && "TK_RESERVED" === l && "function" === f.last_text && (t = e = !1), + (o.space_before_token = o.space_before_token || e), + S(), + (o.space_before_token = t); + } else S(); + } else S(); + }, + TK_COMMA: function () { + if (f.declaration_statement) + return L(f.parent.mode) && (f.declaration_assignment = !1), S(), void (f.declaration_assignment ? A((f.declaration_assignment = !1), !0) : ((o.space_before_token = !0), h.comma_first && T())); + S(), f.mode === k.ObjectLiteral || (f.mode === k.Statement && f.parent.mode === k.ObjectLiteral) ? (f.mode === k.Statement && x(), A()) : ((o.space_before_token = !0), h.comma_first && T()); + }, + TK_BLOCK_COMMENT: function () { + if (o.raw) return o.add_raw_token(s), void (s.directives && "end" === s.directives.preserve && (h.test_output_raw || (o.raw = !1))); + if (s.directives) return A(!1, !0), S(), "start" === s.directives.preserve && (o.raw = !0), void A(!1, !0); + if (!Y.newline.test(s.text) && !s.wanted_newline) return (o.space_before_token = !0), S(), void (o.space_before_token = !0); + var e, + t = (function (e) { + e = e.replace(/\x0d/g, ""); + for (var t = [], n = e.indexOf("\n"); -1 !== n; ) t.push(e.substring(0, n)), (e = e.substring(n + 1)), (n = e.indexOf("\n")); + return e.length && t.push(e), t; + })(s.text), + n = !1, + r = !1, + i = s.whitespace_before, + a = i.length; + for ( + A(!1, !0), + 1 < t.length && + ((function (e, t) { + for (var n = 0; n < e.length; n++) { + var r = V(e[n]); + if (r.charAt(0) !== t) return !1; + } + return !0; + })(t.slice(1), "*") + ? (n = !0) + : (function (e, t) { + for (var n, r = 0, i = e.length; r < i; r++) if ((n = e[r]) && 0 !== n.indexOf(t)) return !1; + return !0; + })(t.slice(1), i) && (r = !0)), + S(t[0]), + e = 1; + e < t.length; + e++ + ) + A(!1, !0), n ? S(" " + t[e].replace(/^\s+/g, "")) : r && t[e].length > a ? S(t[e].substring(a)) : o.add_token(t[e]); + A(!1, !0); + }, + TK_COMMENT: function () { + s.wanted_newline ? A(!1, !0) : o.trim(!0), (o.space_before_token = !0), S(), A(!1, !0); + }, + TK_DOT: function () { + N(), "TK_RESERVED" === l && O(f.last_text) ? (o.space_before_token = !0) : T(")" === f.last_text && h.break_chained_methods), S(); + }, + TK_UNKNOWN: function () { + S(), "\n" === s.text[s.text.length - 1] && A(); + }, + TK_EOF: function () { + for (; f.mode === k.Statement; ) x(); + }, + }), + (h = {}), + (e = e || {}).braces_on_own_line !== undefined && (h.brace_style = e.braces_on_own_line ? "expand" : "collapse"); + (h.brace_style = e.brace_style ? e.brace_style : h.brace_style ? h.brace_style : "collapse"), "expand-strict" === h.brace_style && (h.brace_style = "expand"); + (h.indent_size = e.indent_size ? parseInt(e.indent_size, 10) : 4), + (h.indent_char = e.indent_char ? e.indent_char : " "), + (h.eol = e.eol ? e.eol : "\n"), + (h.preserve_newlines = e.preserve_newlines === undefined || e.preserve_newlines), + (h.break_chained_methods = e.break_chained_methods !== undefined && e.break_chained_methods), + (h.max_preserve_newlines = e.max_preserve_newlines === undefined ? 0 : parseInt(e.max_preserve_newlines, 10)), + (h.space_in_paren = e.space_in_paren !== undefined && e.space_in_paren), + (h.space_in_empty_paren = e.space_in_empty_paren !== undefined && e.space_in_empty_paren), + (h.jslint_happy = e.jslint_happy !== undefined && e.jslint_happy), + (h.space_after_anon_function = e.space_after_anon_function !== undefined && e.space_after_anon_function), + (h.keep_array_indentation = e.keep_array_indentation !== undefined && e.keep_array_indentation), + (h.space_before_conditional = e.space_before_conditional === undefined || e.space_before_conditional), + (h.unescape_strings = e.unescape_strings !== undefined && e.unescape_strings), + (h.wrap_line_length = e.wrap_line_length === undefined ? 0 : parseInt(e.wrap_line_length, 10)), + (h.e4x = e.e4x !== undefined && e.e4x), + (h.end_with_newline = e.end_with_newline !== undefined && e.end_with_newline), + (h.comma_first = e.comma_first !== undefined && e.comma_first), + (h.test_output_raw = e.test_output_raw !== undefined && e.test_output_raw), + h.jslint_happy && (h.space_after_anon_function = !0); + e.indent_with_tabs && ((h.indent_char = "\t"), (h.indent_size = 1)); + (h.eol = h.eol.replace(/\\r/, "\r").replace(/\\n/, "\n")), (c = ""); + for (; 0 < h.indent_size; ) (c += h.indent_char), (h.indent_size -= 1); + var E = 0; + if (r && r.length) { + for (; " " === r.charAt(E) || "\t" === r.charAt(E); ) (m += r.charAt(E)), (E += 1); + r = r.substring(E); + } + function b(e) { + var t = e.newlines, + n = h.keep_array_indentation && _(f.mode); + if (n) for (r = 0; r < t; r += 1) A(0 < r); + else if ((h.max_preserve_newlines && t > h.max_preserve_newlines && (t = h.max_preserve_newlines), h.preserve_newlines && 1 < e.newlines)) { + A(); + for (var r = 1; r < t; r += 1) A(!0); + } + u[(s = e).type](); + } + function T(e) { + if (((e = e !== undefined && e), !o.just_added_newline())) + if ((h.preserve_newlines && s.wanted_newline) || e) A(!1, !0); + else if (h.wrap_line_length) { + var t = o.current_line.get_character_count() + s.text.length + (o.space_before_token ? 1 : 0); + t >= h.wrap_line_length && A(!1, !0); + } + } + function A(e, t) { + if (!t && ";" !== f.last_text && "," !== f.last_text && "=" !== f.last_text && "TK_OPERATOR" !== l) for (; f.mode === k.Statement && !f.if_block && !f.do_block; ) x(); + o.add_new_line(e) && (f.multiline_frame = !0); + } + function C() { + o.just_added_newline() && + (h.keep_array_indentation && _(f.mode) && s.wanted_newline + ? (o.current_line.push(s.whitespace_before), (o.space_before_token = !1)) + : o.set_indent(f.indentation_level) && (f.line_indent_level = f.indentation_level)); + } + function S(e) { + o.raw + ? o.add_raw_token(s) + : (h.comma_first && "TK_COMMA" === l && o.just_added_newline() && "," === o.previous_line.last() && (o.previous_line.pop(), C(), o.add_token(","), (o.space_before_token = !0)), + (e = e || s.text), + C(), + o.add_token(e)); + } + function R() { + f.indentation_level += 1; + } + function y(e) { + f ? (t.push(f), (p = f)) : (p = v(null, e)), (f = v(p, e)); + } + function _(e) { + return e === k.ArrayLiteral; + } + function L(e) { + return G(e, [k.Expression, k.ForInitializer, k.Conditional]); + } + function x() { + 0 < t.length && ((p = f), (f = t.pop()), p.mode === k.Statement && o.remove_redundant_indentation(p)); + } + function w() { + return f.parent.mode === k.ObjectLiteral && f.mode === k.Statement && ((":" === f.last_text && 0 === f.ternary_depth) || ("TK_RESERVED" === l && G(f.last_text, ["get", "set"]))); + } + function N() { + return ( + !!( + ("TK_RESERVED" === l && G(f.last_text, ["var", "let", "const"]) && "TK_WORD" === s.type) || + ("TK_RESERVED" === l && "do" === f.last_text) || + ("TK_RESERVED" === l && "return" === f.last_text && !s.wanted_newline) || + ("TK_RESERVED" === l && "else" === f.last_text && ("TK_RESERVED" !== s.type || "if" !== s.text)) || + ("TK_END_EXPR" === l && (p.mode === k.ForInitializer || p.mode === k.Conditional)) || + ("TK_WORD" === l && f.mode === k.BlockStatement && !f.in_case && "--" !== s.text && "++" !== s.text && "function" !== d && "TK_WORD" !== s.type && "TK_RESERVED" !== s.type) || + (f.mode === k.ObjectLiteral && ((":" === f.last_text && 0 === f.ternary_depth) || ("TK_RESERVED" === l && G(f.last_text, ["get", "set"])))) + ) && + (y(k.Statement), + R(), + "TK_RESERVED" === l && G(f.last_text, ["var", "let", "const"]) && "TK_WORD" === s.type && (f.declaration_statement = !0), + w() || T("TK_RESERVED" === s.type && G(s.text, ["do", "for", "if", "while"])), + !0) + ); + } + function O(e) { + return G(e, ["case", "return", "do", "if", "throw", "else"]); + } + function I(e) { + var t = i + (e || 0); + return t < 0 || t >= g.length ? null : g[t]; + } + function D() { + if (("TK_RESERVED" === s.type && f.mode !== k.ObjectLiteral && G(s.text, ["set", "get"]) && (s.type = "TK_WORD"), "TK_RESERVED" === s.type && f.mode === k.ObjectLiteral)) { + var e = I(1); + ":" == e.text && (s.type = "TK_WORD"); + } + if ( + (N() || + !s.wanted_newline || + L(f.mode) || + ("TK_OPERATOR" === l && "--" !== f.last_text && "++" !== f.last_text) || + "TK_EQUALS" === l || + (!h.preserve_newlines && "TK_RESERVED" === l && G(f.last_text, ["var", "let", "const", "set", "get"])) || + A(), + f.do_block && !f.do_while) + ) { + if ("TK_RESERVED" === s.type && "while" === s.text) return (o.space_before_token = !0), S(), (o.space_before_token = !0), void (f.do_while = !0); + A(), (f.do_block = !1); + } + if (f.if_block) + if (f.else_block || "TK_RESERVED" !== s.type || "else" !== s.text) { + for (; f.mode === k.Statement; ) x(); + (f.if_block = !1), (f.else_block = !1); + } else f.else_block = !0; + if ("TK_RESERVED" === s.type && ("case" === s.text || ("default" === s.text && f.in_case_statement))) + return ( + A(), + (f.case_body || h.jslint_happy) && (0 < f.indentation_level && (!f.parent || f.indentation_level > f.parent.indentation_level) && (f.indentation_level -= 1), (f.case_body = !1)), + S(), + (f.in_case = !0), + void (f.in_case_statement = !0) + ); + if ( + ("TK_RESERVED" === s.type && + "function" === s.text && + ((G(f.last_text, ["}", ";"]) || (o.just_added_newline() && !G(f.last_text, ["[", "{", ":", "=", ","]))) && (o.just_added_blankline() || s.comments_before.length || (A(), A(!0))), + "TK_RESERVED" === l || "TK_WORD" === l + ? "TK_RESERVED" === l && G(f.last_text, ["get", "set", "new", "return", "export", "async"]) + ? (o.space_before_token = !0) + : "TK_RESERVED" === l && "default" === f.last_text && "export" === d + ? (o.space_before_token = !0) + : A() + : "TK_OPERATOR" === l || "=" === f.last_text + ? (o.space_before_token = !0) + : (f.multiline_frame || (!L(f.mode) && !_(f.mode))) && A()), + ("TK_COMMA" !== l && "TK_START_EXPR" !== l && "TK_EQUALS" !== l && "TK_OPERATOR" !== l) || w() || T(), + "TK_RESERVED" === s.type && G(s.text, ["function", "get", "set"])) + ) + return S(), void (f.last_word = s.text); + if ( + ((n = "NONE"), + "TK_END_BLOCK" === l + ? "TK_RESERVED" === s.type && G(s.text, ["else", "catch", "finally"]) + ? "expand" === h.brace_style || "end-expand" === h.brace_style || ("none" === h.brace_style && s.wanted_newline) + ? (n = "NEWLINE") + : ((n = "SPACE"), (o.space_before_token = !0)) + : (n = "NEWLINE") + : "TK_SEMICOLON" === l && f.mode === k.BlockStatement + ? (n = "NEWLINE") + : "TK_SEMICOLON" === l && L(f.mode) + ? (n = "SPACE") + : "TK_STRING" === l + ? (n = "NEWLINE") + : "TK_RESERVED" === l || "TK_WORD" === l || ("*" === f.last_text && "function" === d) + ? (n = "SPACE") + : "TK_START_BLOCK" === l + ? (n = "NEWLINE") + : "TK_END_EXPR" === l && ((o.space_before_token = !0), (n = "NEWLINE")), + "TK_RESERVED" === s.type && G(s.text, a.line_starters) && ")" !== f.last_text && (n = "else" === f.last_text || "export" === f.last_text ? "SPACE" : "NEWLINE"), + "TK_RESERVED" === s.type && G(s.text, ["else", "catch", "finally"])) + ) + if ("TK_END_BLOCK" !== l || "expand" === h.brace_style || "end-expand" === h.brace_style || ("none" === h.brace_style && s.wanted_newline)) A(); + else { + o.trim(!0); + var t = o.current_line; + "}" !== t.last() && A(), (o.space_before_token = !0); + } + else + "NEWLINE" === n + ? "TK_RESERVED" === l && O(f.last_text) + ? (o.space_before_token = !0) + : "TK_END_EXPR" !== l + ? ("TK_START_EXPR" === l && "TK_RESERVED" === s.type && G(s.text, ["var", "let", "const"])) || + ":" === f.last_text || + ("TK_RESERVED" === s.type && "if" === s.text && "else" === f.last_text ? (o.space_before_token = !0) : A()) + : "TK_RESERVED" === s.type && G(s.text, a.line_starters) && ")" !== f.last_text && A() + : f.multiline_frame && _(f.mode) && "," === f.last_text && "}" === d + ? A() + : "SPACE" === n && (o.space_before_token = !0); + S(), (f.last_word = s.text), "TK_RESERVED" === s.type && "do" === s.text && (f.do_block = !0), "TK_RESERVED" === s.type && "if" === s.text && (f.if_block = !0); + } + (l = "TK_START_BLOCK"), + (d = ""), + ((o = new (function (t, n) { + (n = n || ""), (this.indent_cache = [n]), (this.baseIndentLength = n.length), (this.indent_length = t.length), (this.raw = !1); + var r = []; + (this.baseIndentString = n), + (this.indent_string = t), + (this.previous_line = null), + (this.current_line = null), + (this.space_before_token = !1), + (this.add_outputline = function () { + (this.previous_line = this.current_line), + (this.current_line = new (function (t) { + var n = 0, + r = -1, + i = [], + a = !0; + (this.set_indent = function (e) { + (n = t.baseIndentLength + e * t.indent_length), (r = e); + }), + (this.get_character_count = function () { + return n; + }), + (this.is_empty = function () { + return a; + }), + (this.last = function () { + return this._empty ? null : i[i.length - 1]; + }), + (this.push = function (e) { + i.push(e), (n += e.length), (a = !1); + }), + (this.pop = function () { + var e = null; + return a || ((e = i.pop()), (n -= e.length), (a = 0 === i.length)), e; + }), + (this.remove_indent = function () { + 0 < r && ((r -= 1), (n -= t.indent_length)); + }), + (this.trim = function () { + for (; " " === this.last(); ) { + i.pop(); + n -= 1; + } + a = 0 === i.length; + }), + (this.toString = function () { + var e = ""; + return this._empty || (0 <= r && (e = t.indent_cache[r]), (e += i.join(""))), e; + }); + })(this)), + r.push(this.current_line); + }), + this.add_outputline(), + (this.get_line_number = function () { + return r.length; + }), + (this.add_new_line = function (e) { + return (1 !== this.get_line_number() || !this.just_added_newline()) && !(!e && this.just_added_newline()) && (this.raw || this.add_outputline(), !0); + }), + (this.get_code = function () { + var e = r.join("\n").replace(/[\r\n\t ]+$/, ""); + return e; + }), + (this.set_indent = function (e) { + if (1 < r.length) { + for (; e >= this.indent_cache.length; ) this.indent_cache.push(this.indent_cache[this.indent_cache.length - 1] + this.indent_string); + return this.current_line.set_indent(e), !0; + } + return this.current_line.set_indent(0), !1; + }), + (this.add_raw_token = function (e) { + for (var t = 0; t < e.newlines; t++) this.add_outputline(); + this.current_line.push(e.whitespace_before), this.current_line.push(e.text), (this.space_before_token = !1); + }), + (this.add_token = function (e) { + this.add_space_before_token(), this.current_line.push(e); + }), + (this.add_space_before_token = function () { + this.space_before_token && !this.just_added_newline() && this.current_line.push(" "), (this.space_before_token = !1); + }), + (this.remove_redundant_indentation = function (e) { + if (!e.multiline_frame && e.mode !== k.ForInitializer && e.mode !== k.Conditional) for (var t = e.start_line_index, n = r.length; t < n; ) r[t].remove_indent(), t++; + }), + (this.trim = function (e) { + for (e = e !== undefined && e, this.current_line.trim(t, n); e && 1 < r.length && this.current_line.is_empty(); ) r.pop(), (this.current_line = r[r.length - 1]), this.current_line.trim(); + this.previous_line = 1 < r.length ? r[r.length - 2] : null; + }), + (this.just_added_newline = function () { + return this.current_line.is_empty(); + }), + (this.just_added_blankline = function () { + if (this.just_added_newline()) { + if (1 === r.length) return !0; + var e = r[r.length - 2]; + return e.is_empty(); + } + return !1; + }); + })(c, m)).raw = h.test_output_raw), + (t = []), + y(k.BlockStatement), + (this.beautify = function () { + var e, t; + for ( + a = new (function (y, _, e) { + var L = "\n\r\t ".split(""), + x = /[0-9]/, + w = /[01234567]/, + N = /[0123456789abcdefABCDEF]/, + O = "+ - * / % & ++ -- = += -= *= /= %= == === != !== > < >= <= >> << >>> >>>= >>= <<= && &= | || ! ~ , : ? ^ ^= |= :: =>".split(" "); + this.line_starters = "continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export".split(","); + var I, + D, + k, + F, + M, + $, + B = this.line_starters.concat(["do", "in", "else", "get", "set", "new", "catch", "finally", "typeof", "yield", "async", "await"]), + P = /([\s\S]*?)((?:\*\/)|$)/g, + U = /([^\n\r\u2028\u2029]*)/g, + K = /\/\* beautify( \w+[:]\w+)+ \*\//g, + H = / (\w+)[:](\w+)/g, + W = /([\s\S]*?)((?:\/\*\sbeautify\signore:end\s\*\/)|$)/g, + z = /((<\?php|<\?=)[\s\S]*?\?>)|(<%[\s\S]*?%>)/g; + function o() { + var e, + t, + n = []; + if (((I = 0), (D = ""), $ <= M)) return ["", "TK_EOF"]; + t = F.length ? F[F.length - 1] : new X("TK_START_BLOCK", "{"); + var r = y.charAt(M); + for (M += 1; G(r, L); ) { + if ((Y.newline.test(r) ? ("\n" === r && "\r" === y.charAt(M - 2)) || ((I += 1), (n = [])) : n.push(r), $ <= M)) return ["", "TK_EOF"]; + (r = y.charAt(M)), (M += 1); + } + if ((n.length && (D = n.join("")), x.test(r))) { + var i = !0, + a = !0, + o = x; + for ("0" === r && M < $ && /[Xxo]/.test(y.charAt(M)) ? ((a = i = !1), (r += y.charAt(M)), (M += 1), (o = /[o]/.test(y.charAt(M)) ? w : N)) : ((r = ""), (M -= 1)); M < $ && o.test(y.charAt(M)); ) + (r += y.charAt(M)), + (M += 1), + i && M < $ && "." === y.charAt(M) && ((r += y.charAt(M)), (M += 1), (i = !1)), + a && M < $ && /[Ee]/.test(y.charAt(M)) && ((r += y.charAt(M)), (M += 1) < $ && /[+-]/.test(y.charAt(M)) && ((r += y.charAt(M)), (M += 1)), (i = a = !1)); + return [r, "TK_WORD"]; + } + if (Y.isIdentifierStart(y.charCodeAt(M - 1))) { + if (M < $) for (; Y.isIdentifierChar(y.charCodeAt(M)) && ((r += y.charAt(M)), (M += 1) !== $); ); + return "TK_DOT" === t.type || ("TK_RESERVED" === t.type && G(t.text, ["set", "get"])) || !G(r, B) ? [r, "TK_WORD"] : "in" === r ? [r, "TK_OPERATOR"] : [r, "TK_RESERVED"]; + } + if ("(" === r || "[" === r) return [r, "TK_START_EXPR"]; + if (")" === r || "]" === r) return [r, "TK_END_EXPR"]; + if ("{" === r) return [r, "TK_START_BLOCK"]; + if ("}" === r) return [r, "TK_END_BLOCK"]; + if (";" === r) return [r, "TK_SEMICOLON"]; + if ("/" === r) { + var s = ""; + if ("*" === y.charAt(M)) { + (M += 1), (P.lastIndex = M); + var l = P.exec(y); + (s = "/*" + l[0]), (M += l[0].length); + var d = (function (e) { + if (!e.match(K)) return null; + var t = {}; + H.lastIndex = 0; + var n = H.exec(e); + for (; n; ) (t[n[1]] = n[2]), (n = H.exec(e)); + return t; + })(s); + return d && "start" === d.ignore && ((W.lastIndex = M), (l = W.exec(y)), (s += l[0]), (M += l[0].length)), [(s = s.replace(Y.lineBreak, "\n")), "TK_BLOCK_COMMENT", d]; + } + if ("/" === y.charAt(M)) { + (M += 1), (U.lastIndex = M); + var l = U.exec(y); + return (s = "//" + l[0]), (M += l[0].length), [s, "TK_COMMENT"]; + } + } + if ( + "`" === r || + "'" === r || + '"' === r || + (("/" === r || (_.e4x && "<" === r && y.slice(M - 1).match(/^<([-a-zA-Z:0-9_.]+|{[^{}]*}|!\[CDATA\[[\s\S]*?\]\])(\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{.*?}))*\s*(\/?)\s*>/))) && + (("TK_RESERVED" === t.type && G(t.text, ["return", "case", "throw", "else", "do", "typeof", "yield"])) || + ("TK_END_EXPR" === t.type && ")" === t.text && t.parent && "TK_RESERVED" === t.parent.type && G(t.parent.text, ["if", "while", "for"])) || + G(t.type, ["TK_COMMENT", "TK_START_EXPR", "TK_START_BLOCK", "TK_END_BLOCK", "TK_OPERATOR", "TK_EQUALS", "TK_EOF", "TK_SEMICOLON", "TK_COMMA"]))) + ) { + var c = r, + f = !1, + p = !1; + if (((e = r), "/" === c)) + for (var u = !1; M < $ && (f || u || y.charAt(M) !== c) && !Y.newline.test(y.charAt(M)); ) + (e += y.charAt(M)), f ? (f = !1) : ((f = "\\" === y.charAt(M)), "[" === y.charAt(M) ? (u = !0) : "]" === y.charAt(M) && (u = !1)), (M += 1); + else if (_.e4x && "<" === c) { + var h = /<(\/?)([-a-zA-Z:0-9_.]+|{[^{}]*}|!\[CDATA\[[\s\S]*?\]\])(\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{.*?}))*\s*(\/?)\s*>/g, + g = y.slice(M - 1), + m = h.exec(g); + if (m && 0 === m.index) { + for (var v = m[2], E = 0; m; ) { + var b = !!m[1], + T = m[2], + A = !!m[m.length - 1] || "![CDATA[" === T.slice(0, 8); + if ((T !== v || A || (b ? --E : ++E), E <= 0)) break; + m = h.exec(g); + } + var C = m ? m.index + m[0].length : g.length; + return (g = g.slice(0, C)), (M += C - 1), [(g = g.replace(Y.lineBreak, "\n")), "TK_STRING"]; + } + } else + for (; M < $ && (f || (y.charAt(M) !== c && ("`" === c || !Y.newline.test(y.charAt(M))))); ) + (f || "`" === c) && Y.newline.test(y.charAt(M)) ? ("\r" === y.charAt(M) && "\n" === y.charAt(M + 1) && (M += 1), (e += "\n")) : (e += y.charAt(M)), + f ? (("x" !== y.charAt(M) && "u" !== y.charAt(M)) || (p = !0), (f = !1)) : (f = "\\" === y.charAt(M)), + (M += 1); + if ( + (p && + _.unescape_strings && + (e = (function (e) { + var t, + n = !1, + r = "", + i = 0, + a = "", + o = 0; + for (; n || i < e.length; ) + if (((t = e.charAt(i)), i++, n)) { + if (((n = !1), "x" === t)) (a = e.substr(i, 2)), (i += 2); + else { + if ("u" !== t) { + r += "\\" + t; + continue; + } + (a = e.substr(i, 4)), (i += 4); + } + if (!a.match(/^[0123456789abcdefABCDEF]+$/)) return e; + if (0 <= (o = parseInt(a, 16)) && o < 32) { + r += "x" === t ? "\\x" + a : "\\u" + a; + continue; + } + if (34 === o || 39 === o || 92 === o) r += "\\" + String.fromCharCode(o); + else { + if ("x" === t && 126 < o && o <= 255) return e; + r += String.fromCharCode(o); + } + } else "\\" === t ? (n = !0) : (r += t); + return r; + })(e)), + M < $ && y.charAt(M) === c && ((e += c), (M += 1), "/" === c)) + ) + for (; M < $ && Y.isIdentifierStart(y.charCodeAt(M)); ) (e += y.charAt(M)), (M += 1); + return [e, "TK_STRING"]; + } + if ("#" === r) { + if (0 === F.length && "!" === y.charAt(M)) { + for (e = r; M < $ && "\n" !== r; ) (r = y.charAt(M)), (e += r), (M += 1); + return [V(e) + "\n", "TK_UNKNOWN"]; + } + var S = "#"; + if (M < $ && x.test(y.charAt(M))) { + for (; (r = y.charAt(M)), (S += r), (M += 1) < $ && "#" !== r && "=" !== r; ); + return "#" === r || ("[" === y.charAt(M) && "]" === y.charAt(M + 1) ? ((S += "[]"), (M += 2)) : "{" === y.charAt(M) && "}" === y.charAt(M + 1) && ((S += "{}"), (M += 2))), [S, "TK_WORD"]; + } + } + if ("<" === r && ("?" === y.charAt(M) || "%" === y.charAt(M))) { + z.lastIndex = M - 1; + var R = z.exec(y); + if (R) return (r = R[0]), (M += r.length - 1), [(r = r.replace(Y.lineBreak, "\n")), "TK_STRING"]; + } + if ("<" === r && "\x3c!--" === y.substring(M - 1, M + 3)) { + for (M += 3, r = "\x3c!--"; !Y.newline.test(y.charAt(M)) && M < $; ) (r += y.charAt(M)), M++; + return (k = !0), [r, "TK_COMMENT"]; + } + if ("-" === r && k && "--\x3e" === y.substring(M - 1, M + 2)) return (k = !1), (M += 2), ["--\x3e", "TK_COMMENT"]; + if ("." === r) return [r, "TK_DOT"]; + if (G(r, O)) { + for (; M < $ && G(r + y.charAt(M), O) && ((r += y.charAt(M)), !($ <= (M += 1))); ); + return "," === r ? [r, "TK_COMMA"] : "=" === r ? [r, "TK_EQUALS"] : [r, "TK_OPERATOR"]; + } + return [r, "TK_UNKNOWN"]; + } + this.tokenize = function () { + var e, t, n; + ($ = y.length), (M = 0), (k = !1), (F = []); + for (var r = null, i = [], a = []; !t || "TK_EOF" !== t.type; ) { + for (n = o(), e = new X(n[1], n[0], I, D); "TK_COMMENT" === e.type || "TK_BLOCK_COMMENT" === e.type || "TK_UNKNOWN" === e.type; ) + "TK_BLOCK_COMMENT" === e.type && (e.directives = n[2]), a.push(e), (n = o()), (e = new X(n[1], n[0], I, D)); + a.length && ((e.comments_before = a), (a = [])), + "TK_START_BLOCK" === e.type || "TK_START_EXPR" === e.type + ? ((e.parent = t), i.push(r), (r = e)) + : ("TK_END_BLOCK" === e.type || "TK_END_EXPR" === e.type) && + r && + (("]" === e.text && "[" === r.text) || (")" === e.text && "(" === r.text) || ("}" === e.text && "{" === r.text)) && + ((e.parent = r.parent), (r = i.pop())), + F.push(e), + (t = e); + } + return F; + }; + })(r, h, c), + g = a.tokenize(), + i = 0; + (e = I()); + + ) { + for (var n = 0; n < e.comments_before.length; n++) b(e.comments_before[n]); + b(e), (d = f.last_text), (l = e.type), (f.last_text = e.text), (i += 1); + } + return (t = o.get_code()), h.end_with_newline && (t += "\n"), "\n" != h.eol && (t = t.replace(/[\n]/g, h.eol)), t; + }); + })(e, t).beautify(); + } + (e = Y), + (t = + "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc"), + (n = new RegExp("[" + t + "]")), + (r = new RegExp( + "[" + + t + + "\u0300-\u036f\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u0620-\u0649\u0672-\u06d3\u06e7-\u06e8\u06fb-\u06fc\u0730-\u074a\u0800-\u0814\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0840-\u0857\u08e4-\u08fe\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962-\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09d7\u09df-\u09e0\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5f-\u0b60\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2-\u0ce3\u0ce6-\u0cef\u0d02\u0d03\u0d46-\u0d48\u0d57\u0d62-\u0d63\u0d66-\u0d6f\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e34-\u0e3a\u0e40-\u0e45\u0e50-\u0e59\u0eb4-\u0eb9\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f41-\u0f47\u0f71-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1029\u1040-\u1049\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u170e-\u1710\u1720-\u1730\u1740-\u1750\u1772\u1773\u1780-\u17b2\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1920-\u192b\u1930-\u193b\u1951-\u196d\u19b0-\u19c0\u19c8-\u19c9\u19d0-\u19d9\u1a00-\u1a15\u1a20-\u1a53\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1b46-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1bb0-\u1bb9\u1be6-\u1bf3\u1c00-\u1c22\u1c40-\u1c49\u1c5b-\u1c7d\u1cd0-\u1cd2\u1d00-\u1dbe\u1e01-\u1f15\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2d81-\u2d96\u2de0-\u2dff\u3021-\u3028\u3099\u309a\ua640-\ua66d\ua674-\ua67d\ua69f\ua6f0-\ua6f1\ua7f8-\ua800\ua806\ua80b\ua823-\ua827\ua880-\ua881\ua8b4-\ua8c4\ua8d0-\ua8d9\ua8f3-\ua8f7\ua900-\ua909\ua926-\ua92d\ua930-\ua945\ua980-\ua983\ua9b3-\ua9c0\uaa00-\uaa27\uaa40-\uaa41\uaa4c-\uaa4d\uaa50-\uaa59\uaa7b\uaae0-\uaae9\uaaf2-\uaaf3\uabc0-\uabe1\uabec\uabed\uabf0-\uabf9\ufb20-\ufb28\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f]" + )), + (e.newline = /[\n\r\u2028\u2029]/), + (e.lineBreak = new RegExp("\r\n|" + e.newline.source)), + (e.allLineBreaks = new RegExp(e.lineBreak.source, "g")), + (e.isIdentifierStart = function (e) { + return e < 65 ? 36 === e || 64 === e : e < 91 || (e < 97 ? 95 === e : e < 123 || (170 <= e && n.test(String.fromCharCode(e)))); + }), + (e.isIdentifierChar = function (e) { + return e < 48 ? 36 === e : e < 58 || (!(e < 65) && (e < 91 || (e < 97 ? 95 === e : e < 123 || (170 <= e && r.test(String.fromCharCode(e)))))); + }); + var k = { BlockStatement: "BlockStatement", Statement: "Statement", ObjectLiteral: "ObjectLiteral", ArrayLiteral: "ArrayLiteral", ForInitializer: "ForInitializer", Conditional: "Conditional", Expression: "Expression" }; + var X = function (e, t, n, r, i, a) { + (this.type = e), (this.text = t), (this.comments_before = []), (this.newlines = n || 0), (this.wanted_newline = 0 < n), (this.whitespace_before = r || ""), (this.parent = null), (this.directives = null); + }; + return { + run: function (e, t) { + function o(e) { + return e.replace(/\s+$/g, ""); + } + var n, r, i, m, a, s, v, l, d, E, b, T, c, f; + for ( + ((t = t || {}).wrap_line_length !== undefined && 0 !== parseInt(t.wrap_line_length, 10)) || t.max_char === undefined || 0 === parseInt(t.max_char, 10) || (t.wrap_line_length = t.max_char), + r = t.indent_inner_html !== undefined && t.indent_inner_html, + i = t.indent_size === undefined ? 4 : parseInt(t.indent_size, 10), + m = t.indent_char === undefined ? " " : t.indent_char, + s = t.brace_style === undefined ? "collapse" : t.brace_style, + a = 0 === parseInt(t.wrap_line_length, 10) ? 32786 : parseInt(t.wrap_line_length || 250, 10), + v = t.unformatted || [ + "a", + "span", + "img", + "bdo", + "em", + "strong", + "dfn", + "code", + "samp", + "kbd", + "var", + "cite", + "abbr", + "acronym", + "q", + "sub", + "sup", + "tt", + "i", + "b", + "big", + "small", + "u", + "s", + "strike", + "font", + "ins", + "del", + "address", + "pre", + ], + l = t.preserve_newlines === undefined || t.preserve_newlines, + d = l ? (isNaN(parseInt(t.max_preserve_newlines, 10)) ? 32786 : parseInt(t.max_preserve_newlines, 10)) : 0, + E = t.indent_handlebars !== undefined && t.indent_handlebars, + b = t.wrap_attributes === undefined ? "auto" : t.wrap_attributes, + T = t.wrap_attributes_indent_size === undefined ? i : parseInt(t.wrap_attributes_indent_size, 10) || i, + c = t.end_with_newline !== undefined && t.end_with_newline, + f = Array.isArray(t.extra_liners) ? t.extra_liners.concat() : "string" == typeof t.extra_liners ? t.extra_liners.split(",") : "head,body,/html".split(","), + t.indent_with_tabs && ((m = "\t"), (i = 1)), + (n = new (function () { + return ( + (this.pos = 0), + (this.token = ""), + (this.current_mode = "CONTENT"), + (this.tags = { parent: "parent1", parentcount: 1, parent1: "" }), + (this.tag_type = ""), + (this.token_text = this.last_token = this.last_text = this.token_type = ""), + (this.newlines = 0), + (this.indent_content = r), + (this.Utils = { + whitespace: "\n\r\t ".split(""), + single_token: "br,input,link,meta,source,!doctype,basefont,base,area,hr,wbr,param,img,isindex,embed".split(","), + extra_liners: f, + in_array: function (e, t) { + for (var n = 0; n < t.length; n++) if (e == t[n]) return !0; + return !1; + }, + }), + (this.is_whitespace = function (e) { + for (; 0 < e.length; e++) if (!this.Utils.in_array(e.charAt(0), this.Utils.whitespace)) return !1; + return !0; + }), + (this.traverse_whitespace = function () { + var e = ""; + if (((e = this.input.charAt(this.pos)), this.Utils.in_array(e, this.Utils.whitespace))) { + for (this.newlines = 0; this.Utils.in_array(e, this.Utils.whitespace); ) l && "\n" == e && this.newlines <= d && (this.newlines += 1), this.pos++, (e = this.input.charAt(this.pos)); + return !0; + } + return !1; + }), + (this.space_or_wrap = function (e) { + this.line_char_count >= this.wrap_line_length ? (this.print_newline(!1, e), this.print_indentation(e)) : (this.line_char_count++, e.push(" ")); + }), + (this.get_content = function () { + for (var e = "", t = []; "<" != this.input.charAt(this.pos); ) { + if (this.pos >= this.input.length) return t.length ? t.join("") : ["", "TK_EOF"]; + if (this.traverse_whitespace()) this.space_or_wrap(t); + else { + if (E) { + var n = this.input.substr(this.pos, 3); + if ("{{#" == n || "{{/" == n) break; + if ("{{!" == n) return [this.get_tag(), "TK_TAG_HANDLEBARS_COMMENT"]; + if ("{{" == this.input.substr(this.pos, 2) && "{{else}}" == this.get_tag(!0)) break; + } + (e = this.input.charAt(this.pos)), this.pos++, this.line_char_count++, t.push(e); + } + } + return t.length ? t.join("") : ""; + }), + (this.get_contents_to = function (e) { + if (this.pos == this.input.length) return ["", "TK_EOF"]; + var t = "", + n = new RegExp("</" + e + "\\s*>", "igm"); + n.lastIndex = this.pos; + var r = n.exec(this.input), + i = r ? r.index : this.input.length; + return this.pos < i && ((t = this.input.substring(this.pos, i)), (this.pos = i)), t; + }), + (this.record_tag = function (e) { + this.tags[e + "count"] ? this.tags[e + "count"]++ : (this.tags[e + "count"] = 1), + (this.tags[e + this.tags[e + "count"]] = this.indent_level), + (this.tags[e + this.tags[e + "count"] + "parent"] = this.tags.parent), + (this.tags.parent = e + this.tags[e + "count"]); + }), + (this.retrieve_tag = function (e) { + if (this.tags[e + "count"]) { + for (var t = this.tags.parent; t && e + this.tags[e + "count"] != t; ) t = this.tags[t + "parent"]; + t && ((this.indent_level = this.tags[e + this.tags[e + "count"]]), (this.tags.parent = this.tags[t + "parent"])), + delete this.tags[e + this.tags[e + "count"] + "parent"], + delete this.tags[e + this.tags[e + "count"]], + 1 == this.tags[e + "count"] ? delete this.tags[e + "count"] : this.tags[e + "count"]--; + } + }), + (this.indent_to_tag = function (e) { + if (this.tags[e + "count"]) { + for (var t = this.tags.parent; t && e + this.tags[e + "count"] != t; ) t = this.tags[t + "parent"]; + t && (this.indent_level = this.tags[e + this.tags[e + "count"]]); + } + }), + (this.get_tag = function (e) { + var t, + n, + r = "", + i = [], + a = "", + o = !1, + s = !0, + l = this.pos, + d = this.line_char_count; + e = e !== undefined && e; + do { + if (this.pos >= this.input.length) return e && ((this.pos = l), (this.line_char_count = d)), i.length ? i.join("") : ["", "TK_EOF"]; + if (((r = this.input.charAt(this.pos)), this.pos++, this.Utils.in_array(r, this.Utils.whitespace))) o = !0; + else { + if ((("'" != r && '"' != r) || ((r += this.get_unformatted(r)), (o = !0)), "=" == r && (o = !1), i.length && "=" != i[i.length - 1] && ">" != r && o)) { + if ((this.space_or_wrap(i), (o = !1), !s && "force" == b && "/" != r)) { + this.print_newline(!0, i), this.print_indentation(i); + for (var c = 0; c < T; c++) i.push(m); + } + for (var f = 0; f < i.length; f++) + if (" " == i[f]) { + s = !1; + break; + } + } + if ( + (E && "<" == n && r + this.input.charAt(this.pos) == "{{" && ((r += this.get_unformatted("}}")), i.length && " " != i[i.length - 1] && "<" != i[i.length - 1] && (r = " " + r), (o = !0)), + "<" != r || n || ((t = this.pos - 1), (n = "<")), + E && !n && 2 <= i.length && "{" == i[i.length - 1] && "{" == i[i.length - 2] && ((t = "#" == r || "/" == r || "!" == r ? this.pos - 3 : this.pos - 2), (n = "{")), + this.line_char_count++, + i.push(r), + i[1] && ("!" == i[1] || "?" == i[1] || "%" == i[1])) + ) { + i = [this.get_comment(t)]; + break; + } + if (E && i[1] && "{" == i[1] && i[2] && "!" == i[2]) { + i = [this.get_comment(t)]; + break; + } + if (E && "{" == n && 2 < i.length && "}" == i[i.length - 2] && "}" == i[i.length - 1]) break; + } + } while (">" != r); + var p, + u, + h = i.join(""); + (p = -1 != h.indexOf(" ") ? h.indexOf(" ") : "{" == h[0] ? h.indexOf("}") : h.indexOf(">")), (u = "<" != h[0] && E ? ("#" == h[2] ? 3 : 2) : 1); + var g = h.substring(u, p).toLowerCase(); + return ( + "/" == h.charAt(h.length - 2) || this.Utils.in_array(g, this.Utils.single_token) + ? e || (this.tag_type = "SINGLE") + : E && "{" == h[0] && "else" == g + ? e || (this.indent_to_tag("if"), (this.tag_type = "HANDLEBARS_ELSE"), (this.indent_content = !0), this.traverse_whitespace()) + : this.is_unformatted(g, v) + ? ((a = this.get_unformatted("</" + g + ">", h)), i.push(a), this.pos, (this.tag_type = "SINGLE")) + : "script" == g && (-1 == h.search("type") || (-1 < h.search("type") && -1 < h.search(/\b(text|application)\/(x-)?(javascript|ecmascript|jscript|livescript)/))) + ? e || (this.record_tag(g), (this.tag_type = "SCRIPT")) + : "style" == g && (-1 == h.search("type") || (-1 < h.search("type") && -1 < h.search("text/css"))) + ? e || (this.record_tag(g), (this.tag_type = "STYLE")) + : "!" == g.charAt(0) + ? e || ((this.tag_type = "SINGLE"), this.traverse_whitespace()) + : e || + ("/" == g.charAt(0) ? (this.retrieve_tag(g.substring(1)), (this.tag_type = "END")) : (this.record_tag(g), "html" != g.toLowerCase() && (this.indent_content = !0), (this.tag_type = "START")), + this.traverse_whitespace() && this.space_or_wrap(i), + this.Utils.in_array(g, this.Utils.extra_liners) && + (this.print_newline(!1, this.output), this.output.length && "\n" != this.output[this.output.length - 2] && this.print_newline(!0, this.output))), + e && ((this.pos = l), (this.line_char_count = d)), + i.join("") + ); + }), + (this.get_comment = function (e) { + var t = "", + n = ">", + r = !1; + this.pos = e; + var i = this.input.charAt(this.pos); + for (this.pos++; this.pos <= this.input.length && ((t += i)[t.length - 1] != n[n.length - 1] || -1 == t.indexOf(n)); ) + !r && + t.length < 10 && + (0 === t.indexOf("<![if") + ? ((n = "<![endif]>"), (r = !0)) + : 0 === t.indexOf("<![cdata[") + ? ((n = "]]>"), (r = !0)) + : 0 === t.indexOf("<![") + ? ((n = "]>"), (r = !0)) + : 0 === t.indexOf("\x3c!--") + ? ((n = "--\x3e"), (r = !0)) + : 0 === t.indexOf("{{!") + ? ((n = "}}"), (r = !0)) + : 0 === t.indexOf("<?") + ? ((n = "?>"), (r = !0)) + : 0 === t.indexOf("<%") && ((n = "%>"), (r = !0))), + (i = this.input.charAt(this.pos)), + this.pos++; + return t; + }), + (this.get_unformatted = function (e, t) { + if (t && -1 != t.toLowerCase().indexOf(e)) return ""; + var n = "", + r = "", + i = 0, + a = !0; + do { + if (this.pos >= this.input.length) return r; + if (((n = this.input.charAt(this.pos)), this.pos++, this.Utils.in_array(n, this.Utils.whitespace))) { + if (!a) { + this.line_char_count--; + continue; + } + if ("\n" == n || "\r" == n) { + (r += "\n"), (this.line_char_count = 0); + continue; + } + } + (r += n), this.line_char_count++, (a = !0), E && "{" == n && r.length && "{" == r[r.length - 2] && (i = (r += this.get_unformatted("}}")).length); + } while (-1 == r.toLowerCase().indexOf(e, i)); + return r; + }), + (this.get_token = function () { + var e; + if ("TK_TAG_SCRIPT" == this.last_token || "TK_TAG_STYLE" == this.last_token) { + var t = this.last_token.substr(7); + return "string" != typeof (e = this.get_contents_to(t)) ? e : [e, "TK_" + t]; + } + return "CONTENT" == this.current_mode + ? "string" != typeof (e = this.get_content()) + ? e + : [e, "TK_CONTENT"] + : "TAG" == this.current_mode + ? "string" != typeof (e = this.get_tag()) + ? e + : [e, "TK_TAG_" + this.tag_type] + : void 0; + }), + (this.get_full_indent = function (e) { + return (e = this.indent_level + e || 0) < 1 ? "" : new Array(e + 1).join(this.indent_string); + }), + (this.is_unformatted = function (e, t) { + if (!this.Utils.in_array(e, t)) return !1; + if ("a" != e.toLowerCase() || !this.Utils.in_array("a", t)) return !0; + var n = (this.get_tag(!0) || "").match(/^\s*<\s*\/?([a-z]*)\s*[^>]*>\s*$/); + return !(n && !this.Utils.in_array(n, t)); + }), + (this.printer = function (e, t, n, r, i) { + (this.input = e || ""), + (this.output = []), + (this.indent_character = t), + (this.indent_string = ""), + (this.indent_size = n), + (this.brace_style = i), + (this.indent_level = 0), + (this.wrap_line_length = r); + for (var a = (this.line_char_count = 0); a < this.indent_size; a++) this.indent_string += this.indent_character; + (this.print_newline = function (e, t) { + (this.line_char_count = 0), t && t.length && (e || "\n" != t[t.length - 1]) && ("\n" != t[t.length - 1] && (t[t.length - 1] = o(t[t.length - 1])), t.push("\n")); + }), + (this.print_indentation = function (e) { + for (var t = 0; t < this.indent_level; t++) e.push(this.indent_string), (this.line_char_count += this.indent_string.length); + }), + (this.print_token = function (e) { + (this.is_whitespace(e) && !this.output.length) || + ((e || "" !== e) && this.output.length && "\n" == this.output[this.output.length - 1] && (this.print_indentation(this.output), (e = e.replace(/^\s+/g, ""))), this.print_token_raw(e)); + }), + (this.print_token_raw = function (e) { + 0 < this.newlines && (e = o(e)), e && "" !== e && (1 < e.length && "\n" == e[e.length - 1] ? (this.output.push(e.slice(0, -1)), this.print_newline(!1, this.output)) : this.output.push(e)); + for (var t = 0; t < this.newlines; t++) this.print_newline(0 < t, this.output); + this.newlines = 0; + }), + (this.indent = function () { + this.indent_level++; + }), + (this.unindent = function () { + 0 < this.indent_level && this.indent_level--; + }); + }), + this + ); + })()).printer(e, m, i, a, s); + ; + + ) { + var p = n.get_token(); + if (((n.token_text = p[0]), (n.token_type = p[1]), "TK_EOF" == n.token_type)) break; + switch (n.token_type) { + case "TK_TAG_START": + n.print_newline(!1, n.output), n.print_token(n.token_text), n.indent_content && (n.indent(), (n.indent_content = !1)), (n.current_mode = "CONTENT"); + break; + case "TK_TAG_STYLE": + case "TK_TAG_SCRIPT": + n.print_newline(!1, n.output), n.print_token(n.token_text), (n.current_mode = "CONTENT"); + break; + case "TK_TAG_END": + if ("TK_CONTENT" == n.last_token && "" === n.last_text) { + var u = n.token_text.match(/\w+/)[0], + h = null; + n.output.length && (h = n.output[n.output.length - 1].match(/(?:<|{{#)\s*(\w+)/)), (null == h || (h[1] != u && !n.Utils.in_array(h[1], v))) && n.print_newline(!1, n.output); + } + n.print_token(n.token_text), (n.current_mode = "CONTENT"); + break; + case "TK_TAG_SINGLE": + var g = n.token_text.match(/^\s*<([a-z-]+)/i); + (g && n.Utils.in_array(g[1], v)) || n.print_newline(!1, n.output), n.print_token(n.token_text), (n.current_mode = "CONTENT"); + break; + case "TK_TAG_HANDLEBARS_ELSE": + n.print_token(n.token_text), n.indent_content && (n.indent(), (n.indent_content = !1)), (n.current_mode = "CONTENT"); + break; + case "TK_TAG_HANDLEBARS_COMMENT": + case "TK_CONTENT": + n.print_token(n.token_text), (n.current_mode = "TAG"); + break; + case "TK_STYLE": + case "TK_SCRIPT": + if ("" !== n.token_text) { + n.print_newline(!1, n.output); + var A, + C = n.token_text, + S = 1; + "TK_SCRIPT" == n.token_type ? (A = w) : "TK_STYLE" == n.token_type && (A = x), "keep" == t.indent_scripts ? (S = 0) : "separate" == t.indent_scripts && (S = -n.indent_level); + var R = n.get_full_indent(S); + if (A) C = A(C.replace(/^\s*/, R), t); + else { + var y = + C.match(/^\s*/)[0] + .match(/[^\n\r]*$/)[0] + .split(n.indent_string).length - 1, + _ = n.get_full_indent(S - y); + C = C.replace(/^\s*/, R) + .replace(/\r\n|\r|\n/g, "\n" + _) + .replace(/\s+$/, ""); + } + C && (n.print_token_raw(C), n.print_newline(!0, n.output)); + } + n.current_mode = "TAG"; + break; + default: + "" !== n.token_text && n.print_token(n.token_text); + } + (n.last_token = n.token_type), (n.last_text = n.token_text); + } + var L = n.output.join("").replace(/[\r\n\t ]+$/, ""); + return c && (L += "\n"), L; + }, + }; + }), + be.extend(be.FE.DEFAULTS, { + codeMirror: window.CodeMirror, + codeMirrorOptions: { lineNumbers: !0, tabMode: "indent", indentWithTabs: !0, lineWrapping: !0, mode: "text/html", tabSize: 2 }, + codeBeautifierOptions: { + end_with_newline: !0, + indent_inner_html: !0, + extra_liners: ["p", "h1", "h2", "h3", "h4", "h5", "h6", "blockquote", "pre", "ul", "ol", "table", "dl"], + brace_style: "expand", + indent_char: "\t", + indent_size: 1, + wrap_line_length: 0, + }, + codeViewKeepActiveButtons: ["fullscreen"], + }), + (be.FE.PLUGINS.codeView = function (l) { + var d, c; + function f() { + return l.$box.hasClass("fr-code-view"); + } + function p() { + return c ? c.getValue() : d.val(); + } + function u() { + f() && + (c && c.setSize(null, l.opts.height ? l.opts.height : "auto"), + l.opts.heightMin || l.opts.height + ? l.$box.find(".CodeMirror-scroll, .CodeMirror-gutters").css("min-height", l.opts.heightMin || l.opts.height) + : l.$box.find(".CodeMirror-scroll, .CodeMirror-gutters").css("min-height", "")); + } + var h, + g = !1; + function m() { + f() && l.events.trigger("blur"); + } + function v() { + f() && g && l.events.trigger("focus"); + } + function i(e) { + d || + (!(function () { + (d = be('<textarea class="fr-code" tabIndex="-1">')), + l.$wp.append(d), + d.attr("dir", l.opts.direction), + l.$box.hasClass("fr-basic") || + ((h = be('<a data-cmd="html" title="Code View" class="fr-command fr-btn html-switch' + (l.helpers.isMobile() ? "" : " fr-desktop") + '" role="button" tabIndex="-1"><i class="fa fa-code"></i></button>')), + l.$box.append(h), + l.events.bindClick(l.$box, "a.html-switch", function () { + l.events.trigger("commands.before", ["html"]), E(!1), l.events.trigger("commands.after", ["html"]); + })); + var e = function () { + return !f(); + }; + l.events.on("buttons.refresh", e), + l.events.on("copy", e, !0), + l.events.on("cut", e, !0), + l.events.on("paste", e, !0), + l.events.on("destroy", b, !0), + l.events.on("html.set", function () { + f() && E(!0); + }), + l.events.on("codeView.update", u), + l.events.on( + "form.submit", + function () { + f() && (l.html.set(p()), l.events.trigger("contentChanged", [], !0)); + }, + !0 + ); + })(), + !c && l.opts.codeMirror + ? ((c = l.opts.codeMirror.fromTextArea(d.get(0), l.opts.codeMirrorOptions)).on("blur", m), c.on("focus", v)) + : (l.events.$on(d, "keydown keyup change input", function () { + l.opts.height ? this.removeAttribute("rows") : ((this.rows = 1), 0 === this.value.length ? (this.style.height = "auto") : (this.style.height = this.scrollHeight + "px")); + }), + l.events.$on(d, "blur", m), + l.events.$on(d, "focus", v))), + l.undo.saveStep(), + l.html.cleanEmptyTags(), + l.html.cleanWhiteTags(!0), + l.core.hasFocus() && + (l.core.isEmpty() || + (l.selection.save(), + l.$el.find('.fr-marker[data-type="true"]:first').replaceWith('<span class="fr-tmp fr-sm">F</span>'), + l.$el.find('.fr-marker[data-type="false"]:last').replaceWith('<span class="fr-tmp fr-em">F</span>'))); + var t = l.html.get(!1, !0); + l.$el.find("span.fr-tmp").remove(), l.$box.toggleClass("fr-code-view", !0); + var n, + r, + i = !1; + if ( + (l.core.hasFocus() && ((i = !0), l.events.disableBlur(), l.$el.blur()), + (t = (t = t.replace(/<span class="fr-tmp fr-sm">F<\/span>/, "FROALA-SM")).replace(/<span class="fr-tmp fr-em">F<\/span>/, "FROALA-EM")), + l.codeBeautifier && (t = l.codeBeautifier.run(t, l.opts.codeBeautifierOptions)), + c) + ) { + (n = t.indexOf("FROALA-SM")), (r = t.indexOf("FROALA-EM")) < n ? (n = r) : (r -= 9); + var a = (t = t.replace(/FROALA-SM/g, "").replace(/FROALA-EM/g, "")).substring(0, n).length - t.substring(0, n).replace(/\n/g, "").length, + o = t.substring(0, r).length - t.substring(0, r).replace(/\n/g, "").length; + (n = t.substring(0, n).length - t.substring(0, t.substring(0, n).lastIndexOf("\n") + 1).length), + (r = t.substring(0, r).length - t.substring(0, t.substring(0, r).lastIndexOf("\n") + 1).length), + c.setSize(null, l.opts.height ? l.opts.height : "auto"), + l.opts.heightMin && l.$box.find(".CodeMirror-scroll").css("min-height", l.opts.heightMin), + c.setValue(t), + (g = !i), + c.focus(), + (g = !0), + c.setSelection({ line: a, ch: n }, { line: o, ch: r }), + c.refresh(), + c.clearHistory(); + } else { + (n = t.indexOf("FROALA-SM")), + (r = t.indexOf("FROALA-EM") - 9), + l.opts.heightMin && d.css("min-height", l.opts.heightMin), + l.opts.height && d.css("height", l.opts.height), + l.opts.heightMax && d.css("max-height", l.opts.height || l.opts.heightMax), + d.val(t.replace(/FROALA-SM/g, "").replace(/FROALA-EM/g, "")).trigger("change"); + var s = be(l.o_doc).scrollTop(); + (g = !i), d.focus(), (g = !0), d.get(0).setSelectionRange(n, r), be(l.o_doc).scrollTop(s); + } + l.$tb + .find(" > .fr-command") + .not(e) + .filter(function () { + return l.opts.codeViewKeepActiveButtons.indexOf(be(this).data("cmd")) < 0; + }) + .addClass("fr-disabled") + .attr("aria-disabled", !0), + e.addClass("fr-active").attr("aria-pressed", !0), + !l.helpers.isMobile() && l.opts.toolbarInline && l.toolbar.hide(); + } + function E(e) { + void 0 === e && (e = !f()); + var t, + n, + r = l.$tb.find('.fr-command[data-cmd="html"]'); + e + ? (l.popups.hideAll(), i(r)) + : (l.$box.toggleClass("fr-code-view", !1), + (t = r), + (n = p()), + l.html.set(n), + l.$el.blur(), + l.$tb.find(" > .fr-command").not(t).removeClass("fr-disabled").attr("aria-disabled", !1), + t.removeClass("fr-active").attr("aria-pressed", !1), + l.selection.setAtStart(l.el), + l.selection.restore(), + l.placeholder.refresh(), + l.undo.saveStep()); + } + function b() { + f() && E(!1), c && c.toTextArea(), d.val("").removeData().remove(), (d = null), h && (h.remove(), (h = null)); + } + return { + _init: function () { + if (!l.$wp) return !1; + }, + toggle: E, + isActive: f, + get: p, + }; + }), + be.FE.RegisterCommand("html", { + title: "Code View", + undo: !1, + focus: !1, + forcedRefresh: !0, + toggle: !0, + callback: function () { + this.codeView.toggle(); + }, + plugin: "codeView", + }), + be.FE.DefineIcon("html", { NAME: "code" }), + be.extend(be.FE.POPUP_TEMPLATES, { "colors.picker": "[_BUTTONS_][_TEXT_COLORS_][_BACKGROUND_COLORS_][_CUSTOM_COLOR_]" }), + be.extend(be.FE.DEFAULTS, { + colorsText: [ + "#61BD6D", + "#1ABC9C", + "#54ACD2", + "#2C82C9", + "#9365B8", + "#475577", + "#CCCCCC", + "#41A85F", + "#00A885", + "#3D8EB9", + "#2969B0", + "#553982", + "#28324E", + "#000000", + "#F7DA64", + "#FBA026", + "#EB6B56", + "#E25041", + "#A38F84", + "#EFEFEF", + "#FFFFFF", + "#FAC51C", + "#F37934", + "#D14841", + "#B8312F", + "#7C706B", + "#D1D5D8", + "REMOVE", + ], + colorsBackground: [ + "#61BD6D", + "#1ABC9C", + "#54ACD2", + "#2C82C9", + "#9365B8", + "#475577", + "#CCCCCC", + "#41A85F", + "#00A885", + "#3D8EB9", + "#2969B0", + "#553982", + "#28324E", + "#000000", + "#F7DA64", + "#FBA026", + "#EB6B56", + "#E25041", + "#A38F84", + "#EFEFEF", + "#FFFFFF", + "#FAC51C", + "#F37934", + "#D14841", + "#B8312F", + "#7C706B", + "#D1D5D8", + "REMOVE", + ], + colorsStep: 7, + colorsHEXInput: !0, + colorsDefaultTab: "text", + colorsButtons: ["colorsBack", "|", "-"], + }), + (be.FE.PLUGINS.colors = function (g) { + function t() { + g.popups.hide("colors.picker"); + } + function a(e) { + for ( + var t = "text" == e ? g.opts.colorsText : g.opts.colorsBackground, + n = '<div class="fr-color-set fr-' + e + "-color" + (g.opts.colorsDefaultTab == e || ("text" != g.opts.colorsDefaultTab && "background" != g.opts.colorsDefaultTab && "text" == e) ? " fr-selected-set" : "") + '">', + r = 0; + r < t.length; + r++ + ) + 0 !== r && r % g.opts.colorsStep == 0 && (n += "<br>"), + "REMOVE" != t[r] + ? (n += + '<span class="fr-command fr-select-color" style="background: ' + + t[r] + + ';" tabIndex="-1" aria-selected="false" role="button" data-cmd="' + + e + + 'Color" data-param1="' + + t[r] + + '"><span class="fr-sr-only">' + + g.language.translate("Color") + + " " + + t[r] + + "&nbsp;&nbsp;&nbsp;</span></span>") + : (n += + '<span class="fr-command fr-select-color" data-cmd="' + + e + + 'Color" tabIndex="-1" role="button" data-param1="REMOVE" title="' + + g.language.translate("Clear Formatting") + + '">' + + g.icon.create("remove") + + '<span class="fr-sr-only">' + + g.language.translate("Clear Formatting") + + "</span></span>"); + return n + "</div>"; + } + function i(e) { + var t, + n = g.popups.get("colors.picker"), + r = be(g.selection.element()); + t = "background" == e ? "background-color" : "color"; + var i = n.find(".fr-" + e + "-color .fr-select-color"); + for (i.find(".fr-selected-color").remove(), i.removeClass("fr-active-item"), i.not('[data-param1="REMOVE"]').attr("aria-selected", !1); r.get(0) != g.el; ) { + if ("transparent" != r.css(t) && "rgba(0, 0, 0, 0)" != r.css(t)) { + var a = n.find(".fr-" + e + '-color .fr-select-color[data-param1="' + g.helpers.RGBToHex(r.css(t)) + '"]'); + a.append('<span class="fr-selected-color" aria-hidden="true">\uf00c</span>'), a.addClass("fr-active-item").attr("aria-selected", !0); + break; + } + r = r.parent(); + } + var o = n.find(".fr-color-hex-layer input"); + o.length && o.val(g.helpers.RGBToHex(r.css(t))).trigger("change"); + } + function r(e) { + "REMOVE" != e ? g.format.applyStyle("background-color", g.helpers.HEXtoRGB(e)) : g.format.removeStyle("background-color"), t(); + } + function o(e) { + "REMOVE" != e ? g.format.applyStyle("color", g.helpers.HEXtoRGB(e)) : g.format.removeStyle("color"), t(); + } + return { + showColorsPopup: function () { + var e = g.$tb.find('.fr-command[data-cmd="color"]'), + t = g.popups.get("colors.picker"); + if ( + (t || + (t = (function () { + var e, + t = '<div class="fr-buttons fr-colors-buttons">'; + g.opts.toolbarInline && 0 < g.opts.colorsButtons.length && (t += g.button.buildList(g.opts.colorsButtons)), + (t += + ((e = '<div class="fr-colors-tabs fr-group">'), + (e += + '<span class="fr-colors-tab ' + + ("background" == g.opts.colorsDefaultTab ? "" : "fr-selected-tab ") + + 'fr-command" tabIndex="-1" role="button" aria-pressed="' + + ("background" != g.opts.colorsDefaultTab) + + '" data-param1="text" data-cmd="colorChangeSet" title="' + + g.language.translate("Text") + + '">' + + g.language.translate("Text") + + "</span>"), + (e += + '<span class="fr-colors-tab ' + + ("background" == g.opts.colorsDefaultTab ? "fr-selected-tab " : "") + + 'fr-command" tabIndex="-1" role="button" aria-pressed="' + + ("background" == g.opts.colorsDefaultTab) + + '" data-param1="background" data-cmd="colorChangeSet" title="' + + g.language.translate("Background") + + '">' + + g.language.translate("Background") + + "</span>") + "</div></div>")); + var n = ""; + g.opts.colorsHEXInput && + (n = + '<div class="fr-color-hex-layer fr-active fr-layer" id="fr-color-hex-layer-' + + g.id + + '"><div class="fr-input-line"><input maxlength="7" id="fr-color-hex-layer-text-' + + g.id + + '" type="text" placeholder="' + + g.language.translate("HEX Color") + + '" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="customColor" tabIndex="2" role="button">' + + g.language.translate("OK") + + "</button></div></div>"); + var h, + r = { buttons: t, text_colors: a("text"), background_colors: a("background"), custom_color: n }, + i = g.popups.create("colors.picker", r); + return ( + (h = i), + g.events.on( + "popup.tab", + function (e) { + var t = be(e.currentTarget); + if (!g.popups.isVisible("colors.picker") || !t.is("span")) return !0; + var n = e.which, + r = !0; + if (be.FE.KEYCODE.TAB == n) { + var i = h.find(".fr-buttons"); + r = !g.accessibility.focusToolbar(i, !!e.shiftKey); + } else if (be.FE.KEYCODE.ARROW_UP == n || be.FE.KEYCODE.ARROW_DOWN == n || be.FE.KEYCODE.ARROW_LEFT == n || be.FE.KEYCODE.ARROW_RIGHT == n) { + if (t.is("span.fr-select-color")) { + var a = t.parent().find("span.fr-select-color"), + o = a.index(t), + s = g.opts.colorsStep, + l = Math.floor(a.length / s), + d = o % s, + c = Math.floor(o / s), + f = c * s + d, + p = l * s; + be.FE.KEYCODE.ARROW_UP == n + ? (f = (((f - s) % p) + p) % p) + : be.FE.KEYCODE.ARROW_DOWN == n + ? (f = (f + s) % p) + : be.FE.KEYCODE.ARROW_LEFT == n + ? (f = (((f - 1) % p) + p) % p) + : be.FE.KEYCODE.ARROW_RIGHT == n && (f = (f + 1) % p); + var u = be(a.get(f)); + g.events.disableBlur(), u.focus(), (r = !1); + } + } else be.FE.KEYCODE.ENTER == n && (g.button.exec(t), (r = !1)); + return !1 === r && (e.preventDefault(), e.stopPropagation()), r; + }, + !0 + ), + i + ); + })()), + !t.hasClass("fr-active")) + ) + if ((g.popups.setContainer("colors.picker", g.$tb), i(t.find(".fr-selected-tab").attr("data-param1")), e.is(":visible"))) { + var n = e.offset().left + e.outerWidth() / 2, + r = e.offset().top + (g.opts.toolbarBottom ? 10 : e.outerHeight() - 10); + g.popups.show("colors.picker", n, r, e.outerHeight()); + } else g.position.forSelection(t), g.popups.show("colors.picker"); + }, + hideColorsPopup: t, + changeSet: function (e, t) { + e.hasClass("fr-selected-tab") || + (e.siblings().removeClass("fr-selected-tab").attr("aria-pressed", !1), + e.addClass("fr-selected-tab").attr("aria-pressed", !0), + e.parents(".fr-popup").find(".fr-color-set").removeClass("fr-selected-set"), + e + .parents(".fr-popup") + .find(".fr-color-set.fr-" + t + "-color") + .addClass("fr-selected-set"), + i(t)), + g.accessibility.focusPopup(e.parents(".fr-popup")); + }, + background: r, + customColor: function () { + var e = g.popups.get("colors.picker"), + t = e.find(".fr-color-hex-layer input"); + if (t.length) { + var n = t.val(); + "background" == e.find(".fr-selected-tab").attr("data-param1") ? r(n) : o(n); + } + }, + text: o, + back: function () { + g.popups.hide("colors.picker"), g.toolbar.showInline(); + }, + }; + }), + be.FE.DefineIcon("colors", { NAME: "tint" }), + be.FE.RegisterCommand("color", { + title: "Colors", + undo: !1, + focus: !0, + refreshOnCallback: !1, + popup: !0, + callback: function () { + this.popups.isVisible("colors.picker") ? (this.$el.find(".fr-marker").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide("colors.picker")) : this.colors.showColorsPopup(); + }, + plugin: "colors", + }), + be.FE.RegisterCommand("textColor", { + undo: !0, + callback: function (e, t) { + this.colors.text(t); + }, + }), + be.FE.RegisterCommand("backgroundColor", { + undo: !0, + callback: function (e, t) { + this.colors.background(t); + }, + }), + be.FE.RegisterCommand("colorChangeSet", { + undo: !1, + focus: !1, + callback: function (e, t) { + var n = this.popups.get("colors.picker").find('.fr-command[data-cmd="' + e + '"][data-param1="' + t + '"]'); + this.colors.changeSet(n, t); + }, + }), + be.FE.DefineIcon("colorsBack", { NAME: "arrow-left" }), + be.FE.RegisterCommand("colorsBack", { + title: "Back", + undo: !1, + focus: !1, + back: !0, + refreshAfterCallback: !1, + callback: function () { + this.colors.back(); + }, + }), + be.FE.RegisterCommand("customColor", { + title: "OK", + undo: !0, + callback: function () { + this.colors.customColor(); + }, + }), + be.FE.DefineIcon("remove", { NAME: "eraser" }), + be.extend(be.FE.DEFAULTS, { dragInline: !0 }), + (be.FE.PLUGINS.draggable = function (d) { + function e(e) { + return ( + !(!e.originalEvent || !e.originalEvent.target || e.originalEvent.target.nodeType != Node.TEXT_NODE) || + (e.target && "A" == e.target.tagName && 1 == e.target.childNodes.length && "IMG" == e.target.childNodes[0].tagName && (e.target = e.target.childNodes[0]), + be(e.target).hasClass("fr-draggable") + ? (d.undo.canDo() || d.undo.saveStep(), + d.opts.dragInline ? d.$el.attr("contenteditable", !0) : d.$el.attr("contenteditable", !1), + d.opts.toolbarInline && d.toolbar.hide(), + be(e.target).addClass("fr-dragging"), + d.browser.msie || d.browser.edge || d.selection.clear(), + void e.originalEvent.dataTransfer.setData("text", "Froala")) + : (e.preventDefault(), !1)) + ); + } + function c(e) { + return !(e && ("HTML" == e.tagName || "BODY" == e.tagName || d.node.isElement(e))); + } + function f(e, t, n) { + d.opts.iframe && ((e += d.$iframe.offset().top), (t += d.$iframe.offset().left)), p.offset().top != e && p.css("top", e), p.offset().left != t && p.css("left", t), p.width() != n && p.css("width", n); + } + function t(e) { + (e.originalEvent.dataTransfer.dropEffect = "move"), + d.opts.dragInline + ? (function () { + for (var e = null, t = 0; t < be.FE.INSTANCES.length; t++) if ((e = be.FE.INSTANCES[t].$el.find(".fr-dragging")).length) return e.get(0); + })() || + (!d.browser.msie && !d.browser.edge) || + e.preventDefault() + : (e.preventDefault(), + (function (e) { + var t = d.doc.elementFromPoint(e.originalEvent.pageX - d.win.pageXOffset, e.originalEvent.pageY - d.win.pageYOffset); + if (!c(t)) { + for (var n = 0, r = t; !c(r) && r == t && 0 < e.originalEvent.pageY - d.win.pageYOffset - n; ) + n++, (r = d.doc.elementFromPoint(e.originalEvent.pageX - d.win.pageXOffset, e.originalEvent.pageY - d.win.pageYOffset - n)); + (!c(r) || (p && 0 === d.$el.find(r).length && r != p.get(0))) && (r = null); + for (var i = 0, a = t; !c(a) && a == t && e.originalEvent.pageY - d.win.pageYOffset + i < be(d.doc).height(); ) + i++, (a = d.doc.elementFromPoint(e.originalEvent.pageX - d.win.pageXOffset, e.originalEvent.pageY - d.win.pageYOffset + i)); + (!c(a) || (p && 0 === d.$el.find(a).length && a != p.get(0))) && (a = null), (t = null == a && r ? r : a && null == r ? a : a && r ? (n < i ? r : a) : null); + } + if (be(t).hasClass("fr-drag-helper")) return; + if ( + (t && !d.node.isBlock(t) && (t = d.node.blockParent(t)), + t && 0 <= ["TD", "TH", "TR", "THEAD", "TBODY"].indexOf(t.tagName) && (t = be(t).parents("table").get(0)), + t && 0 <= ["LI"].indexOf(t.tagName) && (t = be(t).parents("UL, OL").get(0)), + t && !be(t).hasClass("fr-drag-helper")) + ) { + var o; + p || + (be.FE.$draggable_helper || (be.FE.$draggable_helper = be('<div class="fr-drag-helper"></div>')), + (p = be.FE.$draggable_helper), + d.events.on( + "shared.destroy", + function () { + p.html("").removeData().remove(), (p = null); + }, + !0 + )), + (o = e.originalEvent.pageY < be(t).offset().top + be(t).outerHeight() / 2); + var s = be(t), + l = 0; + o || 0 !== s.next().length + ? (o || (s = s.next()), + ("before" == p.data("fr-position") && s.is(p.data("fr-tag"))) || + (0 < s.prev().length && (l = parseFloat(s.prev().css("margin-bottom")) || 0), + (l = Math.max(l, parseFloat(s.css("margin-top")) || 0)), + f(s.offset().top - l / 2 - d.$box.offset().top, s.offset().left - d.win.pageXOffset - d.$box.offset().left, s.width()), + p.data("fr-position", "before"))) + : ("after" == p.data("fr-position") && s.is(p.data("fr-tag"))) || + ((l = parseFloat(s.css("margin-bottom")) || 0), + f(s.offset().top + be(t).height() + l / 2 - d.$box.offset().top, s.offset().left - d.win.pageXOffset - d.$box.offset().left, s.width()), + p.data("fr-position", "after")), + p.data("fr-tag", s), + p.addClass("fr-visible"), + p.appendTo(d.$box); + } else p && 0 < d.$box.find(p).length && p.removeClass("fr-visible"); + })(e)); + } + function n(e) { + (e.originalEvent.dataTransfer.dropEffect = "move"), d.opts.dragInline || e.preventDefault(); + } + function r(e) { + d.$el.attr("contenteditable", !0); + var t = d.$el.find(".fr-dragging"); + p && p.hasClass("fr-visible") && d.$box.find(p).length ? i(e) : t.length && (e.preventDefault(), e.stopPropagation()), p && d.$box.find(p).length && p.removeClass("fr-visible"), t.removeClass("fr-dragging"); + } + function i(e) { + var t, n; + d.$el.attr("contenteditable", !0); + for (var r = 0; r < be.FE.INSTANCES.length; r++) + if ((t = be.FE.INSTANCES[r].$el.find(".fr-dragging")).length) { + n = be.FE.INSTANCES[r]; + break; + } + if (t.length) { + if ((e.preventDefault(), e.stopPropagation(), p && p.hasClass("fr-visible") && d.$box.find(p).length)) p.data("fr-tag")[p.data("fr-position")]('<span class="fr-marker"></span>'), p.removeClass("fr-visible"); + else if (!1 === d.markers.insertAtPoint(e.originalEvent)) return !1; + if ((t.removeClass("fr-dragging"), !1 === (t = d.events.chainTrigger("element.beforeDrop", t)))) return !1; + var i = t; + if ((t.parent().is("A") && 1 == t.parent().get(0).childNodes.length && (i = t.parent()), d.core.isEmpty())) d.events.focus(); + else d.$el.find(".fr-marker").replaceWith(be.FE.MARKERS), d.selection.restore(); + if ((n == d || d.undo.canDo() || d.undo.saveStep(), d.core.isEmpty())) d.$el.html(i); + else { + var a = d.markers.insert(); + 0 === i.find(a).length ? be(a).replaceWith(i) : 0 === t.find(a).length && be(a).replaceWith(t), t.after(be.FE.MARKERS), d.selection.restore(); + } + return ( + d.popups.hideAll(), + d.selection.save(), + d.$el.find(d.html.emptyBlockTagsQuery()).not("TD, TH, LI, .fr-inner").not(d.opts.htmlAllowedEmptyTags.join(",")).remove(), + d.html.wrap(), + d.html.fillEmptyBlocks(), + d.selection.restore(), + d.undo.saveStep(), + d.opts.iframe && d.size.syncIframe(), + n != d && + (n.popups.hideAll(), + n.$el.find(n.html.emptyBlockTagsQuery()).not("TD, TH, LI, .fr-inner").remove(), + n.html.wrap(), + n.html.fillEmptyBlocks(), + n.undo.saveStep(), + n.events.trigger("element.dropped"), + n.opts.iframe && n.size.syncIframe()), + d.events.trigger("element.dropped", [i]), + !1 + ); + } + p && p.removeClass("fr-visible"), + d.undo.canDo() || d.undo.saveStep(), + setTimeout(function () { + d.undo.saveStep(); + }, 0); + } + function a(e) { + if (e && "DIV" == e.tagName && d.node.hasClass(e, "fr-drag-helper")) e.parentNode.removeChild(e); + else if (e && e.nodeType == Node.ELEMENT_NODE) for (var t = e.querySelectorAll("div.fr-drag-helper"), n = 0; n < t.length; n++) t[n].parentNode.removeChild(t[n]); + } + var p; + return { + _init: function () { + d.opts.enter == be.FE.ENTER_BR && (d.opts.dragInline = !0), + d.events.on("dragstart", e, !0), + d.events.on("dragover", t, !0), + d.events.on("dragenter", n, !0), + d.events.on("document.dragend", r, !0), + d.events.on("document.drop", r, !0), + d.events.on("drop", i, !0), + d.events.on("html.processGet", a); + }, + }; + }), + be.extend(be.FE.POPUP_TEMPLATES, { emoticons: "[_BUTTONS_][_EMOTICONS_]" }), + be.extend(be.FE.DEFAULTS, { + emoticonsStep: 8, + emoticonsSet: [ + { code: "1f600", desc: "Grinning face" }, + { code: "1f601", desc: "Grinning face with smiling eyes" }, + { code: "1f602", desc: "Face with tears of joy" }, + { code: "1f603", desc: "Smiling face with open mouth" }, + { code: "1f604", desc: "Smiling face with open mouth and smiling eyes" }, + { code: "1f605", desc: "Smiling face with open mouth and cold sweat" }, + { code: "1f606", desc: "Smiling face with open mouth and tightly-closed eyes" }, + { code: "1f607", desc: "Smiling face with halo" }, + { code: "1f608", desc: "Smiling face with horns" }, + { code: "1f609", desc: "Winking face" }, + { code: "1f60a", desc: "Smiling face with smiling eyes" }, + { code: "1f60b", desc: "Face savoring delicious food" }, + { code: "1f60c", desc: "Relieved face" }, + { code: "1f60d", desc: "Smiling face with heart-shaped eyes" }, + { code: "1f60e", desc: "Smiling face with sunglasses" }, + { code: "1f60f", desc: "Smirking face" }, + { code: "1f610", desc: "Neutral face" }, + { code: "1f611", desc: "Expressionless face" }, + { code: "1f612", desc: "Unamused face" }, + { code: "1f613", desc: "Face with cold sweat" }, + { code: "1f614", desc: "Pensive face" }, + { code: "1f615", desc: "Confused face" }, + { code: "1f616", desc: "Confounded face" }, + { code: "1f617", desc: "Kissing face" }, + { code: "1f618", desc: "Face throwing a kiss" }, + { code: "1f619", desc: "Kissing face with smiling eyes" }, + { code: "1f61a", desc: "Kissing face with closed eyes" }, + { code: "1f61b", desc: "Face with stuck out tongue" }, + { code: "1f61c", desc: "Face with stuck out tongue and winking eye" }, + { code: "1f61d", desc: "Face with stuck out tongue and tightly-closed eyes" }, + { code: "1f61e", desc: "Disappointed face" }, + { code: "1f61f", desc: "Worried face" }, + { code: "1f620", desc: "Angry face" }, + { code: "1f621", desc: "Pouting face" }, + { code: "1f622", desc: "Crying face" }, + { code: "1f623", desc: "Persevering face" }, + { code: "1f624", desc: "Face with look of triumph" }, + { code: "1f625", desc: "Disappointed but relieved face" }, + { code: "1f626", desc: "Frowning face with open mouth" }, + { code: "1f627", desc: "Anguished face" }, + { code: "1f628", desc: "Fearful face" }, + { code: "1f629", desc: "Weary face" }, + { code: "1f62a", desc: "Sleepy face" }, + { code: "1f62b", desc: "Tired face" }, + { code: "1f62c", desc: "Grimacing face" }, + { code: "1f62d", desc: "Loudly crying face" }, + { code: "1f62e", desc: "Face with open mouth" }, + { code: "1f62f", desc: "Hushed face" }, + { code: "1f630", desc: "Face with open mouth and cold sweat" }, + { code: "1f631", desc: "Face screaming in fear" }, + { code: "1f632", desc: "Astonished face" }, + { code: "1f633", desc: "Flushed face" }, + { code: "1f634", desc: "Sleeping face" }, + { code: "1f635", desc: "Dizzy face" }, + { code: "1f636", desc: "Face without mouth" }, + { code: "1f637", desc: "Face with medical mask" }, + ], + emoticonsButtons: ["emoticonsBack", "|"], + emoticonsUseImage: !0, + }), + (be.FE.PLUGINS.emoticons = function (m) { + function i() { + if (!m.selection.isCollapsed()) return !1; + var e = m.selection.element(), + t = m.selection.endElement(); + if (e && m.node.hasClass(e, "fr-emoticon")) return e; + if (t && m.node.hasClass(t, "fr-emoticon")) return t; + var n = m.selection.ranges(0), + r = n.startContainer; + if (r.nodeType == Node.ELEMENT_NODE && 0 < r.childNodes.length && 0 < n.startOffset) { + var i = r.childNodes[n.startOffset - 1]; + if (m.node.hasClass(i, "fr-emoticon")) return i; + } + return !1; + } + return { + _init: function () { + var e = function () { + for (var e = m.el.querySelectorAll(".fr-emoticon:not(.fr-deletable)"), t = 0; t < e.length; t++) e[t].className += " fr-deletable"; + }; + e(), + m.events.on("html.set", e), + m.events.on("keydown", function (e) { + if (m.keys.isCharacter(e.which) && m.selection.inEditor()) { + var t = m.selection.ranges(0), + n = i(); + m.node.hasClass(n, "fr-emoticon-img") && + n && + (0 === t.startOffset && m.selection.element() === n ? be(n).before(be.FE.MARKERS + be.FE.INVISIBLE_SPACE) : be(n).after(be.FE.INVISIBLE_SPACE + be.FE.MARKERS), m.selection.restore()); + } + }), + m.events.on("keyup", function (e) { + for (var t = m.el.querySelectorAll(".fr-emoticon"), n = 0; n < t.length; n++) "undefined" != typeof t[n].textContent && 0 === t[n].textContent.replace(/\u200B/gi, "").length && be(t[n]).remove(); + if (!(e.which >= be.FE.KEYCODE.ARROW_LEFT && e.which <= be.FE.KEYCODE.ARROW_DOWN)) { + var r = i(); + m.node.hasClass(r, "fr-emoticon-img") && (be(r).append(be.FE.MARKERS), m.selection.restore()); + } + }); + }, + insert: function (e, t) { + var n = i(), + r = m.selection.ranges(0); + n + ? (0 === r.startOffset && m.selection.element() === n + ? be(n).before(be.FE.MARKERS + be.FE.INVISIBLE_SPACE) + : 0 < r.startOffset && m.selection.element() === n && r.commonAncestorContainer.parentNode.classList.contains("fr-emoticon") && be(n).after(be.FE.INVISIBLE_SPACE + be.FE.MARKERS), + m.selection.restore(), + m.html.insert('<span class="fr-emoticon fr-deletable' + (t ? " fr-emoticon-img" : "") + '"' + (t ? ' style="background: url(' + t + ');"' : "") + ">" + (t ? "&nbsp;" : e) + "</span>&nbsp;" + be.FE.MARKERS, !0)) + : m.html.insert('<span class="fr-emoticon fr-deletable' + (t ? " fr-emoticon-img" : "") + '"' + (t ? ' style="background: url(' + t + ');"' : "") + ">" + (t ? "&nbsp;" : e) + "</span>&nbsp;", !0); + }, + showEmoticonsPopup: function () { + var e = m.$tb.find('.fr-command[data-cmd="emoticons"]'), + t = m.popups.get("emoticons"); + if ( + (t || + (t = (function () { + var e = ""; + m.opts.toolbarInline && 0 < m.opts.emoticonsButtons.length && (e = '<div class="fr-buttons fr-emoticons-buttons">' + m.button.buildList(m.opts.emoticonsButtons) + "</div>"); + var g, + t = { + buttons: e, + emoticons: (function () { + for (var e = '<div style="text-align: center">', t = 0; t < m.opts.emoticonsSet.length; t++) + 0 !== t && t % m.opts.emoticonsStep == 0 && (e += "<br>"), + (e += + '<span class="fr-command fr-emoticon" tabIndex="-1" data-cmd="insertEmoticon" title="' + + m.language.translate(m.opts.emoticonsSet[t].desc) + + '" role="button" data-param1="' + + m.opts.emoticonsSet[t].code + + '">' + + (m.opts.emoticonsUseImage + ? '<img src="https://cdnjs.cloudflare.com/ajax/libs/emojione/2.0.1/assets/svg/' + m.opts.emoticonsSet[t].code + '.svg"/>' + : "&#x" + m.opts.emoticonsSet[t].code + ";") + + '<span class="fr-sr-only">' + + m.language.translate(m.opts.emoticonsSet[t].desc) + + "&nbsp;&nbsp;&nbsp;</span></span>"); + return ( + m.opts.emoticonsUseImage && + (e += + '<p style="font-size: 12px; text-align: center; padding: 0 5px;">Emoji free by <a class="fr-link" tabIndex="-1" href="http://emojione.com/" target="_blank" rel="nofollow noopener noreferrer" role="link" aria-label="Open Emoji One website.">Emoji One</a></p>'), + (e += "</div>") + ); + })(), + }, + n = m.popups.create("emoticons", t); + return ( + m.tooltip.bind(n, ".fr-emoticon"), + (g = n), + m.events.on( + "popup.tab", + function (e) { + var t = be(e.currentTarget); + if (!m.popups.isVisible("emoticons") || !t.is("span, a")) return !0; + var n, + r, + i, + a = e.which; + if (be.FE.KEYCODE.TAB == a) { + if ((t.is("span.fr-emoticon") && e.shiftKey) || (t.is("a") && !e.shiftKey)) { + var o = g.find(".fr-buttons"); + n = !m.accessibility.focusToolbar(o, !!e.shiftKey); + } + if (!1 !== n) { + var s = g.find("span.fr-emoticon:focus:first, span.fr-emoticon:visible:first, a"); + t.is("span.fr-emoticon") && (s = s.not("span.fr-emoticon:not(:focus)")), + (r = s.index(t)), + (r = e.shiftKey ? (((r - 1) % s.length) + s.length) % s.length : (r + 1) % s.length), + (i = s.get(r)), + m.events.disableBlur(), + i.focus(), + (n = !1); + } + } else if (be.FE.KEYCODE.ARROW_UP == a || be.FE.KEYCODE.ARROW_DOWN == a || be.FE.KEYCODE.ARROW_LEFT == a || be.FE.KEYCODE.ARROW_RIGHT == a) { + if (t.is("span.fr-emoticon")) { + var l = t.parent().find("span.fr-emoticon"); + r = l.index(t); + var d = m.opts.emoticonsStep, + c = Math.floor(l.length / d), + f = r % d, + p = Math.floor(r / d), + u = p * d + f, + h = c * d; + be.FE.KEYCODE.ARROW_UP == a + ? (u = (((u - d) % h) + h) % h) + : be.FE.KEYCODE.ARROW_DOWN == a + ? (u = (u + d) % h) + : be.FE.KEYCODE.ARROW_LEFT == a + ? (u = (((u - 1) % h) + h) % h) + : be.FE.KEYCODE.ARROW_RIGHT == a && (u = (u + 1) % h), + (i = be(l.get(u))), + m.events.disableBlur(), + i.focus(), + (n = !1); + } + } else be.FE.KEYCODE.ENTER == a && (t.is("a") ? t[0].click() : m.button.exec(t), (n = !1)); + return !1 === n && (e.preventDefault(), e.stopPropagation()), n; + }, + !0 + ), + n + ); + })()), + !t.hasClass("fr-active")) + ) { + m.popups.refresh("emoticons"), m.popups.setContainer("emoticons", m.$tb); + var n = e.offset().left + e.outerWidth() / 2, + r = e.offset().top + (m.opts.toolbarBottom ? 10 : e.outerHeight() - 10); + m.popups.show("emoticons", n, r, e.outerHeight()); + } + }, + hideEmoticonsPopup: function () { + m.popups.hide("emoticons"); + }, + back: function () { + m.popups.hide("emoticons"), m.toolbar.showInline(); + }, + }; + }), + be.FE.DefineIcon("emoticons", { NAME: "smile-o", FA5NAME: "smile" }), + be.FE.RegisterCommand("emoticons", { + title: "Emoticons", + undo: !1, + focus: !0, + refreshOnCallback: !1, + popup: !0, + callback: function () { + this.popups.isVisible("emoticons") ? (this.$el.find(".fr-marker").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide("emoticons")) : this.emoticons.showEmoticonsPopup(); + }, + plugin: "emoticons", + }), + be.FE.RegisterCommand("insertEmoticon", { + callback: function (e, t) { + this.emoticons.insert("&#x" + t + ";", this.opts.emoticonsUseImage ? "https://cdnjs.cloudflare.com/ajax/libs/emojione/2.0.1/assets/svg/" + t + ".svg" : null), this.emoticons.hideEmoticonsPopup(); + }, + }), + be.FE.DefineIcon("emoticonsBack", { NAME: "arrow-left" }), + be.FE.RegisterCommand("emoticonsBack", { + title: "Back", + undo: !1, + focus: !1, + back: !0, + refreshAfterCallback: !1, + callback: function () { + this.emoticons.back(); + }, + }), + be.extend(be.FE.DEFAULTS, { + entities: + "&quot;&#39;&iexcl;&cent;&pound;&curren;&yen;&brvbar;&sect;&uml;&copy;&ordf;&laquo;&not;&shy;&reg;&macr;&deg;&plusmn;&sup2;&sup3;&acute;&micro;&para;&middot;&cedil;&sup1;&ordm;&raquo;&frac14;&frac12;&frac34;&iquest;&Agrave;&Aacute;&Acirc;&Atilde;&Auml;&Aring;&AElig;&Ccedil;&Egrave;&Eacute;&Ecirc;&Euml;&Igrave;&Iacute;&Icirc;&Iuml;&ETH;&Ntilde;&Ograve;&Oacute;&Ocirc;&Otilde;&Ouml;&times;&Oslash;&Ugrave;&Uacute;&Ucirc;&Uuml;&Yacute;&THORN;&szlig;&agrave;&aacute;&acirc;&atilde;&auml;&aring;&aelig;&ccedil;&egrave;&eacute;&ecirc;&euml;&igrave;&iacute;&icirc;&iuml;&eth;&ntilde;&ograve;&oacute;&ocirc;&otilde;&ouml;&divide;&oslash;&ugrave;&uacute;&ucirc;&uuml;&yacute;&thorn;&yuml;&OElig;&oelig;&Scaron;&scaron;&Yuml;&fnof;&circ;&tilde;&Alpha;&Beta;&Gamma;&Delta;&Epsilon;&Zeta;&Eta;&Theta;&Iota;&Kappa;&Lambda;&Mu;&Nu;&Xi;&Omicron;&Pi;&Rho;&Sigma;&Tau;&Upsilon;&Phi;&Chi;&Psi;&Omega;&alpha;&beta;&gamma;&delta;&epsilon;&zeta;&eta;&theta;&iota;&kappa;&lambda;&mu;&nu;&xi;&omicron;&pi;&rho;&sigmaf;&sigma;&tau;&upsilon;&phi;&chi;&psi;&omega;&thetasym;&upsih;&piv;&ensp;&emsp;&thinsp;&zwnj;&zwj;&lrm;&rlm;&ndash;&mdash;&lsquo;&rsquo;&sbquo;&ldquo;&rdquo;&bdquo;&dagger;&Dagger;&bull;&hellip;&permil;&prime;&Prime;&lsaquo;&rsaquo;&oline;&frasl;&euro;&image;&weierp;&real;&trade;&alefsym;&larr;&uarr;&rarr;&darr;&harr;&crarr;&lArr;&uArr;&rArr;&dArr;&hArr;&forall;&part;&exist;&empty;&nabla;&isin;&notin;&ni;&prod;&sum;&minus;&lowast;&radic;&prop;&infin;&ang;&and;&or;&cap;&cup;&int;&there4;&sim;&cong;&asymp;&ne;&equiv;&le;&ge;&sub;&sup;&nsub;&sube;&supe;&oplus;&otimes;&perp;&sdot;&lceil;&rceil;&lfloor;&rfloor;&lang;&rang;&loz;&spades;&clubs;&hearts;&diams;", + }), + (be.FE.PLUGINS.entities = function (i) { + var a, o; + function r(e) { + var t = e.textContent; + if (t.match(a)) { + for (var n = "", r = 0; r < t.length; r++) o[t[r]] ? (n += o[t[r]]) : (n += t[r]); + e.textContent = n; + } + } + function s(e) { + if (e && 0 <= ["STYLE", "SCRIPT", "svg", "IFRAME"].indexOf(e.tagName)) return !0; + for (var t = i.node.contents(e), n = 0; n < t.length; n++) t[n].nodeType == Node.TEXT_NODE ? r(t[n]) : s(t[n]); + e.nodeType == Node.TEXT_NODE && r(e); + } + function l(e) { + return 0 === e.length ? "" : i.clean.exec(e, s).replace(/\&amp;/g, "&"); + } + return { + _init: function () { + i.opts.htmlSimpleAmpersand || (i.opts.entities = i.opts.entities + "&amp;"); + var e = be("<div>").html(i.opts.entities).text(), + t = i.opts.entities.split(";"); + (o = {}), (a = ""); + for (var n = 0; n < e.length; n++) { + var r = e.charAt(n); + (o[r] = t[n] + ";"), (a += "\\" + r + (n < e.length - 1 ? "|" : "")); + } + (a = new RegExp("(" + a + ")", "g")), i.events.on("html.get", l, !0); + }, + }; + }), + be.extend(be.FE.POPUP_TEMPLATES, { "file.insert": "[_BUTTONS_][_UPLOAD_LAYER_][_PROGRESS_BAR_]" }), + be.extend(be.FE.DEFAULTS, { + fileUpload: !0, + fileUploadURL: null, + fileUploadParam: "file", + fileUploadParams: {}, + fileUploadToS3: !1, + fileUploadMethod: "POST", + fileMaxSize: 10485760, + fileAllowedTypes: ["*"], + fileInsertButtons: ["fileBack", "|"], + fileUseSelectedText: !1, + }), + (be.FE.PLUGINS.file = function (d) { + var r, + c = "https://i.froala.com/upload", + l = 2, + f = 3, + p = 4, + u = 5, + h = 6, + n = {}; + function g() { + var e = d.popups.get("file.insert"); + e || (e = C()), + e.find(".fr-layer.fr-active").removeClass("fr-active").addClass("fr-pactive"), + e.find(".fr-file-progress-bar-layer").addClass("fr-active"), + e.find(".fr-buttons").hide(), + a(d.language.translate("Uploading"), 0); + } + function i(e) { + var t = d.popups.get("file.insert"); + t && + (t.find(".fr-layer.fr-pactive").addClass("fr-active").removeClass("fr-pactive"), + t.find(".fr-file-progress-bar-layer").removeClass("fr-active"), + t.find(".fr-buttons").show(), + e && (d.events.focus(), d.popups.hide("file.insert"))); + } + function a(e, t) { + var n = d.popups.get("file.insert"); + if (n) { + var r = n.find(".fr-file-progress-bar-layer"); + r.find("h3").text(e + (t ? " " + t + "%" : "")), r.removeClass("fr-error"), t ? (r.find("div").removeClass("fr-indeterminate"), r.find("div > span").css("width", t + "%")) : r.find("div").addClass("fr-indeterminate"); + } + } + function m(e, t, n) { + d.edit.on(), + d.events.focus(!0), + d.selection.restore(), + d.opts.fileUseSelectedText && d.selection.text().length && (t = d.selection.text()), + d.html.insert('<a href="' + e + '" target="_blank" id="fr-inserted-file" class="fr-file">' + t + "</a> "); + var r = d.$el.find("#fr-inserted-file"); + r.removeAttr("id"), d.popups.hide("file.insert"), d.undo.saveStep(), S(), d.events.trigger("file.inserted", [r, n]); + } + function v(e) { + var t = this.status, + n = this.response, + r = this.responseXML, + i = this.responseText; + try { + if (d.opts.fileUploadToS3) + if (201 == t) { + var a = (function (e) { + try { + var t = be(e).find("Location").text(), + n = be(e).find("Key").text(); + return !1 === d.events.trigger("file.uploadedToS3", [t, n, e], !0) ? (d.edit.on(), !1) : t; + } catch (r) { + return T(p, e), !1; + } + })(r); + a && m(a, e, n || r); + } else T(p, n || r); + else if (200 <= t && t < 300) { + var o = (function (e) { + try { + if (!1 === d.events.trigger("file.uploaded", [e], !0)) return d.edit.on(), !1; + var t = JSON.parse(e); + return t.link ? t : (T(l, e), !1); + } catch (n) { + return T(p, e), !1; + } + })(i); + o && m(o.link, e, n || i); + } else T(f, n || i); + } catch (s) { + T(p, n || i); + } + } + function E() { + T(p, this.response || this.responseText || this.responseXML); + } + function b(e) { + if (e.lengthComputable) { + var t = ((e.loaded / e.total) * 100) | 0; + a(d.language.translate("Uploading"), t); + } + } + function T(e, t) { + d.edit.on(), + (function (e) { + g(); + var t = d.popups.get("file.insert").find(".fr-file-progress-bar-layer"); + t.addClass("fr-error"); + var n = t.find("h3"); + n.text(e), d.events.disableBlur(), n.focus(); + })(d.language.translate("Something went wrong. Please try again.")), + d.events.trigger("file.error", [{ code: e, message: n[e] }, t]); + } + function A() { + d.edit.on(), i(!0); + } + function o(e) { + if (void 0 !== e && 0 < e.length) { + if (!1 === d.events.trigger("file.beforeUpload", [e])) return !1; + var t, + n; + for (var z=0; z < e.length; z++) { + n = e[z]; + if ((null === d.opts.fileUploadURL || d.opts.fileUploadURL == c) && !d.opts.fileUploadToS3) + return ( + (s = n), + (l = new FileReader()).addEventListener( + "load", + function () { + for (var e = l.result, t = atob(l.result.split(",")[1]), n = [], r = 0; r < t.length; r++) n.push(t.charCodeAt(r)); + (e = window.URL.createObjectURL(new Blob([new Uint8Array(n)], { type: s.type }))), d.file.insert(e, s.name, null); + }, + !1 + ), + g(), + l.readAsDataURL(s), + !1 + ); + if (n.size > d.opts.fileMaxSize) return T(u), !1; + if (d.opts.fileAllowedTypes.indexOf("*") < 0 && d.opts.fileAllowedTypes.indexOf(n.type.replace(/file\//g, "")) < 0) return T(h), !1; + if ((d.drag_support.formdata && (t = d.drag_support.formdata ? new FormData() : null), t)) { + var r; + if (!1 !== d.opts.fileUploadToS3) + for (r in (t.append("key", d.opts.fileUploadToS3.keyStart + new Date().getTime() + "-" + (n.name || "untitled")), + t.append("success_action_status", "201"), + t.append("X-Requested-With", "xhr"), + t.append("Content-Type", n.type), + d.opts.fileUploadToS3.params)) + d.opts.fileUploadToS3.params.hasOwnProperty(r) && t.append(r, d.opts.fileUploadToS3.params[r]); + for (r in d.opts.fileUploadParams) d.opts.fileUploadParams.hasOwnProperty(r) && t.append(r, d.opts.fileUploadParams[r]); + t.append(d.opts.fileUploadParam, n); + var i = d.opts.fileUploadURL; + d.opts.fileUploadToS3 && (i = d.opts.fileUploadToS3.uploadURL ? d.opts.fileUploadToS3.uploadURL : "https://" + d.opts.fileUploadToS3.region + ".amazonaws.com/" + d.opts.fileUploadToS3.bucket); + + (function (a, t, n) { + (a.onload = function () { + v.call(a, n.name); + }), + (a.onerror = E), + (a.upload.onprogress = b), + (a.onabort = A), + g(); + + var o = d.popups.get("file.insert"); + o && + o.off("abortUpload").on("abortUpload", function () { + 4 != a.readyState && a.abort(); + }); + a.send(t); + })(d.core.getXHR(i, d.opts.fileUploadMethod), t, n); + } + } + } + var s, l; + } + function s() { + i(); + } + function C(e) { + if (e) return d.popups.onHide("file.insert", s), !0; + var t; + d.opts.fileUpload || d.opts.fileInsertButtons.splice(d.opts.fileInsertButtons.indexOf("fileUpload"), 1), (t = '<div class="fr-buttons">' + d.button.buildList(d.opts.fileInsertButtons) + "</div>"); + var n = ""; + d.opts.fileUpload && + (n = + '<div class="fr-file-upload-layer fr-layer fr-active" id="fr-file-upload-layer-' + + d.id + + '"><strong>' + + d.language.translate("Drop file") + + "</strong><br>(" + + d.language.translate("or click") + + ')<div class="fr-form"><input type="file" name="' + + d.opts.fileUploadParam + + '" accept="' + + (0 <= d.opts.fileAllowedTypes.indexOf("*") ? "/" : "") + + d.opts.fileAllowedTypes.join(", ").toLowerCase() + + '" tabIndex="-1" aria-labelledby="fr-file-upload-layer-' + + d.id + + '" role="button" multiple="multiple"></div></div>'); + var r, + i = { + buttons: t, + upload_layer: n, + progress_bar: + '<div class="fr-file-progress-bar-layer fr-layer"><h3 tabIndex="-1" class="fr-message">Uploading</h3><div class="fr-loader"><span class="fr-progress"></span></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-dismiss" data-cmd="fileDismissError" tabIndex="2" role="button">OK</button></div></div>', + }, + a = d.popups.create("file.insert", i); + return ( + (r = a), + d.events.$on( + r, + "dragover dragenter", + ".fr-file-upload-layer", + function () { + return be(this).addClass("fr-drop"), !1; + }, + !0 + ), + d.events.$on( + r, + "dragleave dragend", + ".fr-file-upload-layer", + function () { + return be(this).removeClass("fr-drop"), !1; + }, + !0 + ), + d.events.$on( + r, + "drop", + ".fr-file-upload-layer", + function (e) { + e.preventDefault(), e.stopPropagation(), be(this).removeClass("fr-drop"); + var t = e.originalEvent.dataTransfer; + t && t.files && (r.data("instance") || d).file.upload(t.files); + }, + !0 + ), + d.helpers.isIOS() && + d.events.$on(r, "touchstart", '.fr-file-upload-layer input[type="file"]', function () { + be(this).trigger("click"); + }), + d.events.$on( + r, + "change", + '.fr-file-upload-layer input[type="file"]', + function () { + if (this.files) { + var e = r.data("instance") || d; + e.events.disableBlur(), r.find("input:focus").blur(), e.events.enableBlur(), e.file.upload(this.files); + } + be(this).val(""); + }, + !0 + ), + a + ); + } + function e(e) { + d.node.hasClass(e, "fr-file"); + } + function t(e) { + var t = e.originalEvent.dataTransfer; + if (t && t.files && t.files.length) { + var n = t.files[0]; + if (n && "undefined" != typeof n.type) { + if (n.type.indexOf("image") < 0) { + if (!d.opts.fileUpload) return e.preventDefault(), e.stopPropagation(), !1; + d.markers.remove(), d.markers.insertAtPoint(e.originalEvent), d.$el.find(".fr-marker").replaceWith(be.FE.MARKERS), d.popups.hideAll(); + var r = d.popups.get("file.insert"); + return r || (r = C()), d.popups.setContainer("file.insert", d.$sc), d.popups.show("file.insert", e.originalEvent.pageX, e.originalEvent.pageY), g(), o(t.files), e.preventDefault(), e.stopPropagation(), !1; + } + } else n.type.indexOf("image") < 0 && (e.preventDefault(), e.stopPropagation()); + } + } + function S() { + var e, + t = Array.prototype.slice.call(d.el.querySelectorAll("a.fr-file")), + n = []; + for (e = 0; e < t.length; e++) n.push(t[e].getAttribute("href")); + if (r) for (e = 0; e < r.length; e++) n.indexOf(r[e].getAttribute("href")) < 0 && d.events.trigger("file.unlink", [r[e]]); + r = t; + } + return ( + (n[1] = "File cannot be loaded from the passed link."), + (n[l] = "No link in upload response."), + (n[f] = "Error during file upload."), + (n[p] = "Parsing response failed."), + (n[u] = "File is too large."), + (n[h] = "File file type is invalid."), + (n[7] = "Files can be uploaded only to same domain in IE 8 and IE 9."), + { + _init: function () { + d.events.on("drop", t), + d.events.$on(d.$win, "keydown", function (e) { + var t = e.which, + n = d.popups.get("file.insert"); + n && t == be.FE.KEYCODE.ESC && n.trigger("abortUpload"); + }), + d.events.on("destroy", function () { + var e = d.popups.get("file.insert"); + e && e.trigger("abortUpload"); + }), + d.events.on("link.beforeRemove", e), + d.$wp && (S(), d.events.on("contentChanged", S)), + C(!0); + }, + showInsertPopup: function () { + var e = d.$tb.find('.fr-command[data-cmd="insertFile"]'), + t = d.popups.get("file.insert"); + if ((t || (t = C()), i(), !t.hasClass("fr-active"))) + if ((d.popups.refresh("file.insert"), d.popups.setContainer("file.insert", d.$tb), e.is(":visible"))) { + var n = e.offset().left + e.outerWidth() / 2, + r = e.offset().top + (d.opts.toolbarBottom ? 10 : e.outerHeight() - 10); + d.popups.show("file.insert", n, r, e.outerHeight()); + } else d.position.forSelection(t), d.popups.show("file.insert"); + }, + upload: o, + insert: m, + back: function () { + d.events.disableBlur(), d.selection.restore(), d.events.enableBlur(), d.popups.hide("file.insert"), d.toolbar.showInline(); + }, + hideProgressBar: i, + } + ); + }), + be.FE.DefineIcon("insertFile", { NAME: "file-o", FA5NAME: "file" }), + be.FE.RegisterCommand("insertFile", { + title: "Upload File", + undo: !1, + focus: !0, + refreshAfterCallback: !1, + popup: !0, + callback: function () { + this.popups.isVisible("file.insert") ? (this.$el.find(".fr-marker").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide("file.insert")) : this.file.showInsertPopup(); + }, + plugin: "file", + }), + be.FE.DefineIcon("fileBack", { NAME: "arrow-left" }), + be.FE.RegisterCommand("fileBack", { + title: "Back", + undo: !1, + focus: !1, + back: !0, + refreshAfterCallback: !1, + callback: function () { + this.file.back(); + }, + refresh: function (e) { + this.opts.toolbarInline ? (e.removeClass("fr-hidden"), e.next(".fr-separator").removeClass("fr-hidden")) : (e.addClass("fr-hidden"), e.next(".fr-separator").addClass("fr-hidden")); + }, + }), + be.FE.RegisterCommand("fileDismissError", { + title: "OK", + callback: function () { + this.file.hideProgressBar(!0); + }, + }), + be.extend(be.FE.DEFAULTS, { + fontFamily: { + "Arial,Helvetica,sans-serif": "Arial", + "Georgia,serif": "Georgia", + "Impact,Charcoal,sans-serif": "Impact", + "Tahoma,Geneva,sans-serif": "Tahoma", + "Times New Roman,Times,serif,-webkit-standard": "Times New Roman", + "Verdana,Geneva,sans-serif": "Verdana", + }, + fontFamilySelection: !1, + fontFamilyDefaultSelection: "Font Family", + }), + (be.FE.PLUGINS.fontFamily = function (i) { + function a(e) { + var t = e + .replace(/(sans-serif|serif|monospace|cursive|fantasy)/gi, "") + .replace(/"|'| /g, "") + .split(","); + return be.grep(t, function (e) { + return 0 < e.length; + }); + } + function o(e, t) { + for (var n = 0; n < e.length; n++) for (var r = 0; r < t.length; r++) if (e[n].toLowerCase() == t[r].toLowerCase()) return [n, r]; + return null; + } + function s() { + var e = a(be(i.selection.element()).css("font-family")), + t = []; + for (var n in i.opts.fontFamily) + if (i.opts.fontFamily.hasOwnProperty(n)) { + var r = o(e, a(n)); + r && t.push([n, r]); + } + return 0 === t.length + ? null + : (t.sort(function (e, t) { + var n = e[1][0] - t[1][0]; + return 0 === n ? e[1][1] - t[1][1] : n; + }), + t[0][0]); + } + return { + apply: function (e) { + i.format.applyStyle("font-family", e); + }, + refreshOnShow: function (e, t) { + t.find(".fr-command.fr-active").removeClass("fr-active").attr("aria-selected", !1), + t + .find('.fr-command[data-param1="' + s() + '"]') + .addClass("fr-active") + .attr("aria-selected", !0); + var n = t.find(".fr-dropdown-list"), + r = t.find(".fr-active").parent(); + r.length ? n.parent().scrollTop(r.offset().top - n.offset().top - (n.parent().outerHeight() / 2 - r.outerHeight() / 2)) : n.parent().scrollTop(0); + }, + refresh: function (e) { + if (i.opts.fontFamilySelection) { + var t = be(i.selection.element()) + .css("font-family") + .replace(/(sans-serif|serif|monospace|cursive|fantasy)/gi, "") + .replace(/"|'|/g, "") + .split(","); + e.find("> span").text(i.opts.fontFamily[s()] || t[0] || i.language.translate(i.opts.fontFamilyDefaultSelection)); + } + }, + }; + }), + be.FE.RegisterCommand("fontFamily", { + type: "dropdown", + displaySelection: function (e) { + return e.opts.fontFamilySelection; + }, + defaultSelection: function (e) { + return e.opts.fontFamilyDefaultSelection; + }, + displaySelectionWidth: 120, + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = this.opts.fontFamily; + for (var n in t) + t.hasOwnProperty(n) && + (e += '<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="fontFamily" data-param1="' + n + '" style="font-family: ' + n + '" title="' + t[n] + '">' + t[n] + "</a></li>"); + return (e += "</ul>"); + }, + title: "Font Family", + callback: function (e, t) { + this.fontFamily.apply(t); + }, + refresh: function (e) { + this.fontFamily.refresh(e); + }, + refreshOnShow: function (e, t) { + this.fontFamily.refreshOnShow(e, t); + }, + plugin: "fontFamily", + }), + be.FE.DefineIcon("fontFamily", { NAME: "font" }), + be.extend(be.FE.DEFAULTS, { fontSize: ["8", "9", "10", "11", "12", "14", "18", "24", "30", "36", "48", "60", "72", "96"], fontSizeSelection: !1, fontSizeDefaultSelection: "12", fontSizeUnit: "px" }), + (be.FE.PLUGINS.fontSize = function (a) { + return { + apply: function (e) { + a.format.applyStyle("font-size", e); + }, + refreshOnShow: function (e, t) { + var n = be(a.selection.element()).css("font-size"); + "pt" === a.opts.fontSizeUnit && (n = Math.round((72 * parseFloat(n, 10)) / 96) + "pt"), + t.find(".fr-command.fr-active").removeClass("fr-active").attr("aria-selected", !1), + t + .find('.fr-command[data-param1="' + n + '"]') + .addClass("fr-active") + .attr("aria-selected", !0); + var r = t.find(".fr-dropdown-list"), + i = t.find(".fr-active").parent(); + i.length ? r.parent().scrollTop(i.offset().top - r.offset().top - (r.parent().outerHeight() / 2 - i.outerHeight() / 2)) : r.parent().scrollTop(0); + }, + refresh: function (e) { + if (a.opts.fontSizeSelection) { + var t = a.helpers.getPX(be(a.selection.element()).css("font-size")); + "pt" === a.opts.fontSizeUnit && (t = Math.round((72 * parseFloat(t, 10)) / 96) + "pt"), e.find("> span").text(t); + } + }, + }; + }), + be.FE.RegisterCommand("fontSize", { + type: "dropdown", + title: "Font Size", + displaySelection: function (e) { + return e.opts.fontSizeSelection; + }, + displaySelectionWidth: 30, + defaultSelection: function (e) { + return e.opts.fontSizeDefaultSelection; + }, + html: function () { + for (var e = '<ul class="fr-dropdown-list" role="presentation">', t = this.opts.fontSize, n = 0; n < t.length; n++) { + var r = t[n]; + e += '<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="fontSize" data-param1="' + r + this.opts.fontSizeUnit + '" title="' + r + '">' + r + "</a></li>"; + } + return (e += "</ul>"); + }, + callback: function (e, t) { + this.fontSize.apply(t); + }, + refresh: function (e) { + this.fontSize.refresh(e); + }, + refreshOnShow: function (e, t) { + this.fontSize.refreshOnShow(e, t); + }, + plugin: "fontSize", + }), + be.FE.DefineIcon("fontSize", { NAME: "text-height" }), + be.extend(be.FE.POPUP_TEMPLATES, { "forms.edit": "[_BUTTONS_]", "forms.update": "[_BUTTONS_][_TEXT_LAYER_]" }), + be.extend(be.FE.DEFAULTS, { formEditButtons: ["inputStyle", "inputEdit"], formStyles: { "fr-rounded": "Rounded", "fr-large": "Large" }, formMultipleStyles: !0, formUpdateButtons: ["inputBack", "|"] }), + (be.FE.PLUGINS.forms = function (a) { + var o; + function e(e) { + e.preventDefault(), a.selection.clear(), be(this).data("mousedown", !0); + } + function t(e) { + be(this).data("mousedown") && (e.stopPropagation(), be(this).removeData("mousedown"), l((o = this))), e.preventDefault(); + } + function n() { + a.$el.find("input, textarea, button").removeData("mousedown"); + } + function r() { + be(this).removeData("mousedown"); + } + function s() { + return o || null; + } + function l(e) { + var t = a.popups.get("forms.edit"); + t || + (t = (function () { + var e = ""; + 0 < a.opts.formEditButtons.length && (e = '<div class="fr-buttons">' + a.button.buildList(a.opts.formEditButtons) + "</div>"); + var t = { buttons: e }, + n = a.popups.create("forms.edit", t); + return ( + a.$wp && + a.events.$on(a.$wp, "scroll.link-edit", function () { + s() && a.popups.isVisible("forms.edit") && l(s()); + }), + n + ); + })()); + var n = be((o = e)); + a.popups.refresh("forms.edit"), a.popups.setContainer("forms.edit", a.$sc); + var r = n.offset().left + n.outerWidth() / 2, + i = n.offset().top + n.outerHeight(); + a.popups.show("forms.edit", r, i, n.outerHeight()); + } + function d() { + var e = a.popups.get("forms.update"), + t = s(); + if (t) { + var n = be(t); + n.is("button") ? e.find('input[type="text"][name="text"]').val(n.text()) : e.find('input[type="text"][name="text"]').val(n.attr("placeholder")); + } + e.find('input[type="text"][name="text"]').trigger("change"); + } + function c() { + o = null; + } + function f(e) { + if (e) return a.popups.onRefresh("forms.update", d), a.popups.onHide("forms.update", c), !0; + var t = ""; + 1 <= a.opts.formUpdateButtons.length && (t = '<div class="fr-buttons">' + a.button.buildList(a.opts.formUpdateButtons) + "</div>"); + var n = "", + r = 0; + (n = '<div class="fr-forms-text-layer fr-layer fr-active">'), (n += '<div class="fr-input-line"><input name="text" type="text" placeholder="Text" tabIndex="' + ++r + '"></div>'); + var i = { + buttons: t, + text_layer: (n += '<div class="fr-action-buttons"><button class="fr-command fr-submit" data-cmd="updateInput" href="#" tabIndex="' + ++r + '" type="button">' + a.language.translate("Update") + "</button></div></div>"), + }; + return a.popups.create("forms.update", i); + } + return { + _init: function () { + a.events.$on(a.$el, a._mousedown, "input, textarea, button", e), + a.events.$on(a.$el, a._mouseup, "input, textarea, button", t), + a.events.$on(a.$el, "touchmove", "input, textarea, button", r), + a.events.$on(a.$el, a._mouseup, n), + a.events.$on(a.$win, a._mouseup, n), + f(!0), + a.events.$on(a.$el, "submit", "form", function (e) { + return e.preventDefault(), !1; + }); + }, + updateInput: function () { + var e = a.popups.get("forms.update"), + t = s(); + if (t) { + var n = be(t), + r = e.find('input[type="text"][name="text"]').val() || ""; + r.length && (n.is("button") ? n.text(r) : n.attr("placeholder", r)), a.popups.hide("forms.update"), l(t); + } + }, + getInput: s, + applyStyle: function (e, t, n) { + void 0 === t && (t = a.opts.formStyles), void 0 === n && (n = a.opts.formMultipleStyles); + var r = s(); + if (!r) return !1; + if (!n) { + var i = Object.keys(t); + i.splice(i.indexOf(e), 1), be(r).removeClass(i.join(" ")); + } + be(r).toggleClass(e); + }, + showUpdatePopup: function () { + var e = s(); + if (e) { + var t = be(e), + n = a.popups.get("forms.update"); + n || (n = f()), a.popups.isVisible("forms.update") || a.popups.refresh("forms.update"), a.popups.setContainer("forms.update", a.$sc); + var r = t.offset().left + t.outerWidth() / 2, + i = t.offset().top + t.outerHeight(); + a.popups.show("forms.update", r, i, t.outerHeight()); + } + }, + showEditPopup: l, + back: function () { + a.events.disableBlur(), a.selection.restore(), a.events.enableBlur(); + var e = s(); + e && a.$wp && ("BUTTON" == e.tagName && a.selection.restore(), l(e)); + }, + }; + }), + be.FE.RegisterCommand("updateInput", { + undo: !1, + focus: !1, + title: "Update", + callback: function () { + this.forms.updateInput(); + }, + }), + be.FE.DefineIcon("inputStyle", { NAME: "magic" }), + be.FE.RegisterCommand("inputStyle", { + title: "Style", + type: "dropdown", + html: function () { + var e = '<ul class="fr-dropdown-list">', + t = this.opts.formStyles; + for (var n in t) t.hasOwnProperty(n) && (e += '<li><a class="fr-command" tabIndex="-1" data-cmd="inputStyle" data-param1="' + n + '">' + this.language.translate(t[n]) + "</a></li>"); + return (e += "</ul>"); + }, + callback: function (e, t) { + var n = this.forms.getInput(); + n && (this.forms.applyStyle(t), this.forms.showEditPopup(n)); + }, + refreshOnShow: function (e, t) { + var n = this.forms.getInput(); + if (n) { + var r = be(n); + t.find(".fr-command").each(function () { + var e = be(this).data("param1"); + be(this).toggleClass("fr-active", r.hasClass(e)); + }); + } + }, + }), + be.FE.DefineIcon("inputEdit", { NAME: "edit" }), + be.FE.RegisterCommand("inputEdit", { + title: "Edit Button", + undo: !1, + refreshAfterCallback: !1, + callback: function () { + this.forms.showUpdatePopup(); + }, + }), + be.FE.DefineIcon("inputBack", { NAME: "arrow-left" }), + be.FE.RegisterCommand("inputBack", { + title: "Back", + undo: !1, + focus: !1, + back: !0, + refreshAfterCallback: !1, + callback: function () { + this.forms.back(); + }, + }), + be.FE.RegisterCommand("updateInput", { + undo: !1, + focus: !1, + title: "Update", + callback: function () { + this.forms.updateInput(); + }, + }), + (be.FE.PLUGINS.fullscreen = function (n) { + var t, r, i, a; + function o() { + return n.$box.hasClass("fr-fullscreen"); + } + function e() { + if (n.helpers.isIOS() && n.core.hasFocus()) return n.$el.blur(), setTimeout(l, 250), !1; + (t = n.helpers.scrollTop()), + n.$box.toggleClass("fr-fullscreen"), + be("body:first").toggleClass("fr-fullscreen"), + n.helpers.isMobile() && (n.$tb.data("parent", n.$tb.parent()), n.$tb.prependTo(n.$box), n.$tb.data("sticky-dummy") && n.$tb.after(n.$tb.data("sticky-dummy"))), + (r = n.opts.height), + (i = n.opts.heightMax), + (a = n.opts.zIndex), + n.position.refresh(), + (n.opts.height = n.o_win.innerHeight - (n.opts.toolbarInline ? 0 : n.$tb.outerHeight())), + (n.opts.zIndex = 2147483641), + (n.opts.heightMax = null), + n.size.refresh(), + n.opts.toolbarInline && n.toolbar.showInline(); + for (var e = n.$box.parent(); !e.is("body:first"); ) e.data("z-index", e.css("z-index")).data("overflow", e.css("overflow")).css("z-index", "2147483640").css("overflow", "visible"), (e = e.parent()); + n.opts.toolbarContainer && n.$box.prepend(n.$tb), n.events.trigger("charCounter.update"), n.events.trigger("codeView.update"), n.$win.trigger("scroll"); + } + function s() { + if (n.helpers.isIOS() && n.core.hasFocus()) return n.$el.blur(), setTimeout(l, 250), !1; + n.$box.toggleClass("fr-fullscreen"), + be("body:first").toggleClass("fr-fullscreen"), + n.$tb.prependTo(n.$tb.data("parent")), + n.$tb.data("sticky-dummy") && n.$tb.after(n.$tb.data("sticky-dummy")), + (n.opts.height = r), + (n.opts.heightMax = i), + (n.opts.zIndex = a), + n.size.refresh(), + be(n.o_win).scrollTop(t), + n.opts.toolbarInline && n.toolbar.showInline(), + n.events.trigger("charCounter.update"), + n.opts.toolbarSticky && + n.opts.toolbarStickyOffset && + (n.opts.toolbarBottom ? n.$tb.css("bottom", n.opts.toolbarStickyOffset).data("bottom", n.opts.toolbarStickyOffset) : n.$tb.css("top", n.opts.toolbarStickyOffset).data("top", n.opts.toolbarStickyOffset)); + for (var e = n.$box.parent(); !e.is("body:first"); ) + e.data("z-index") && (e.css("z-index", ""), e.css("z-index") != e.data("z-index") && e.css("z-index", e.data("z-index")), e.removeData("z-index")), + e.data("overflow") ? (e.css("overflow", ""), e.css("overflow") != e.data("overflow") && e.css("overflow", e.data("overflow"))) : e.css("overflow", ""), + e.removeData("overflow"), + (e = e.parent()); + n.opts.toolbarContainer && be(n.opts.toolbarContainer).append(n.$tb), be(n.o_win).trigger("scroll"), n.events.trigger("codeView.update"); + } + function l() { + o() ? s() : e(), d(n.$tb.find('.fr-command[data-cmd="fullscreen"]')); + } + function d(e) { + var t = o(); + e.toggleClass("fr-active", t).attr("aria-pressed", t), e.find("> *:not(.fr-sr-only)").replaceWith(t ? n.icon.create("fullscreenCompress") : n.icon.create("fullscreen")); + } + return { + _init: function () { + if (!n.$wp) return !1; + n.events.$on(be(n.o_win), "resize", function () { + o() && (s(), e()); + }), + n.events.on("toolbar.hide", function () { + if (o() && n.helpers.isMobile()) return !1; + }), + n.events.on("position.refresh", function () { + if (n.helpers.isIOS()) return !o(); + }), + n.events.on( + "destroy", + function () { + o() && s(); + }, + !0 + ); + }, + toggle: l, + refresh: d, + isActive: o, + }; + }), + be.FE.RegisterCommand("fullscreen", { + title: "Fullscreen", + undo: !1, + focus: !1, + accessibilityFocus: !0, + forcedRefresh: !0, + toggle: !0, + callback: function () { + this.fullscreen.toggle(); + }, + refresh: function (e) { + this.fullscreen.refresh(e); + }, + plugin: "fullscreen", + }), + be.FE.DefineIcon("fullscreen", { NAME: "expand" }), + be.FE.DefineIcon("fullscreenCompress", { NAME: "compress" }), + be.extend(be.FE.DEFAULTS, { + helpSets: [ + { title: "Inline Editor", commands: [{ val: "OSkeyE", desc: "Show the editor" }] }, + { + title: "Common actions", + commands: [ + { val: "OSkeyC", desc: "Copy" }, + { val: "OSkeyX", desc: "Cut" }, + { val: "OSkeyV", desc: "Paste" }, + { val: "OSkeyZ", desc: "Undo" }, + { val: "OSkeyShift+Z", desc: "Redo" }, + { val: "OSkeyK", desc: "Insert Link" }, + { val: "OSkeyP", desc: "Insert Image" }, + ], + }, + { + title: "Basic Formatting", + commands: [ + { val: "OSkeyA", desc: "Select All" }, + { val: "OSkeyB", desc: "Bold" }, + { val: "OSkeyI", desc: "Italic" }, + { val: "OSkeyU", desc: "Underline" }, + { val: "OSkeyS", desc: "Strikethrough" }, + { val: "OSkey]", desc: "Increase Indent" }, + { val: "OSkey[", desc: "Decrease Indent" }, + ], + }, + { + title: "Quote", + commands: [ + { val: "OSkey'", desc: "Increase quote level" }, + { val: "OSkeyShift+'", desc: "Decrease quote level" }, + ], + }, + { + title: "Image / Video", + commands: [ + { val: "OSkey+", desc: "Resize larger" }, + { val: "OSkey-", desc: "Resize smaller" }, + ], + }, + { + title: "Table", + commands: [ + { val: "Alt+Space", desc: "Select table cell" }, + { val: "Shift+Left/Right arrow", desc: "Extend selection one cell" }, + { val: "Shift+Up/Down arrow", desc: "Extend selection one row" }, + ], + }, + { + title: "Navigation", + commands: [ + { val: "OSkey/", desc: "Shortcuts" }, + { val: "Alt+F10", desc: "Focus popup / toolbar" }, + { val: "Esc", desc: "Return focus to previous position" }, + ], + }, + ], + }), + (be.FE.PLUGINS.help = function (o) { + var r, + i = "help"; + return { + _init: function () {}, + show: function () { + if (!r) { + var e = "<h4>" + o.language.translate("Shortcuts") + "</h4>", + t = (function () { + for (var e = '<div class="fr-help-modal">', t = 0; t < o.opts.helpSets.length; t++) { + var n = o.opts.helpSets[t], + r = "<table>"; + (r += "<thead><tr><th>" + o.language.translate(n.title) + "</th></tr></thead>"), (r += "<tbody>"); + for (var i = 0; i < n.commands.length; i++) { + var a = n.commands[i]; + (r += "<tr>"), (r += "<td>" + o.language.translate(a.desc) + "</td>"), (r += "<td>" + a.val.replace("OSkey", o.helpers.isMac() ? "&#8984;" : "Ctrl+") + "</td>"), (r += "</tr>"); + } + e += r += "</tbody></table>"; + } + return (e += "</div>"); + })(), + n = o.modals.create(i, e, t); + (r = n.$modal), + n.$head, + n.$body, + o.events.$on(be(o.o_win), "resize", function () { + o.modals.resize(i); + }); + } + o.modals.show(i), o.modals.resize(i); + }, + hide: function () { + o.modals.hide(i); + }, + }; + }), + be.FroalaEditor.DefineIcon("help", { NAME: "question" }), + be.FE.RegisterShortcut(be.FE.KEYCODE.SLASH, "help", null, "/"), + be.FE.RegisterCommand("help", { + title: "Help", + icon: "help", + undo: !1, + focus: !1, + modal: !0, + callback: function () { + this.help.show(); + }, + plugin: "help", + showOnMobile: !1, + }), + be.extend(be.FE.POPUP_TEMPLATES, { "image.insert": "[_BUTTONS_][_UPLOAD_LAYER_][_BY_URL_LAYER_][_PROGRESS_BAR_]", "image.edit": "[_BUTTONS_]", "image.alt": "[_BUTTONS_][_ALT_LAYER_]", "image.size": "[_BUTTONS_][_SIZE_LAYER_]" }), + be.extend(be.FE.DEFAULTS, { + imageInsertButtons: ["imageBack", "|", "imageUpload", "imageByURL"], + imageEditButtons: ["imageReplace", "imageAlign", "imageCaption", "imageRemove", "|", "imageLink", "linkOpen", "linkEdit", "linkRemove", "-", "imageDisplay", "imageStyle", "imageAlt", "imageSize"], + imageAltButtons: ["imageBack", "|"], + imageSizeButtons: ["imageBack", "|"], + imageUpload: !0, + imageUploadURL: null, + imageCORSProxy: "https://cors-anywhere.froala.com", + imageUploadRemoteUrls: !0, + imageUploadParam: "file", + imageUploadParams: {}, + imageUploadToS3: !1, + imageUploadMethod: "POST", + imageMaxSize: 10485760, + imageAllowedTypes: ["jpeg", "jpg", "png", "gif"], + imageResize: !0, + imageResizeWithPercent: !1, + imageRoundPercent: !1, + imageDefaultWidth: 300, + imageDefaultAlign: "center", + imageDefaultDisplay: "block", + imageSplitHTML: !1, + imageStyles: { "fr-rounded": "Rounded", "fr-bordered": "Bordered", "fr-shadow": "Shadow" }, + imageMove: !0, + imageMultipleStyles: !0, + imageTextNear: !0, + imagePaste: !0, + imagePasteProcess: !1, + imageMinWidth: 16, + imageOutputSize: !1, + imageDefaultMargin: 5, + }), + (be.FE.PLUGINS.image = function (c) { + var f, + l, + d, + p, + s, + n, + u = "https://i.froala.com/upload", + t = !1, + r = 1, + h = 2, + g = 3, + m = 4, + v = 5, + E = 6, + b = 8, + i = {}; + function T() { + var e = c.popups.get("image.insert").find(".fr-image-by-url-layer input"); + e.val(""), f && e.val(f.attr("src")), e.trigger("change"); + } + function a() { + var e = c.popups.get("image.edit"); + if ((e || (e = w()), e)) { + var t = ve(); + Ee() && (t = t.find(".fr-img-wrap")), c.popups.setContainer("image.edit", c.$sc), c.popups.refresh("image.edit"); + var n = t.offset().left + t.outerWidth() / 2, + r = t.offset().top + t.outerHeight(); + f.hasClass("fr-uploading") ? N() : c.popups.show("image.edit", n, r, t.outerHeight()); + } + } + function A() { + O(); + } + function e() { + for (var e, t, n = "IMG" == c.el.tagName ? [c.el] : c.el.querySelectorAll("img"), r = 0; r < n.length; r++) { + var i = be(n[r]); + !c.opts.htmlUntouched && c.opts.useClasses + ? ((c.opts.imageDefaultAlign || c.opts.imageDefaultDisplay) && + (0 < (t = i).parents(".fr-img-caption").length && (t = t.parents(".fr-img-caption:first")), + t.hasClass("fr-dii") || + t.hasClass("fr-dib") || + (t.addClass("fr-fi" + pe(t)[0]), + t.addClass("fr-di" + ue(t)[0]), + t.css("margin", ""), + t.css("float", ""), + t.css("display", ""), + t.css("z-index", ""), + t.css("position", ""), + t.css("overflow", ""), + t.css("vertical-align", ""))), + c.opts.imageTextNear || (0 < i.parents(".fr-img-caption").length ? i.parents(".fr-img-caption:first").removeClass("fr-dii").addClass("fr-dib") : i.removeClass("fr-dii").addClass("fr-dib"))) + : c.opts.htmlUntouched || + c.opts.useClasses || + ((c.opts.imageDefaultAlign || c.opts.imageDefaultDisplay) && + (0 < (e = i).parents(".fr-img-caption").length && (e = e.parents(".fr-img-caption:first")), + fe(e, e.hasClass("fr-dib") ? "block" : e.hasClass("fr-dii") ? "inline" : null, e.hasClass("fr-fil") ? "left" : e.hasClass("fr-fir") ? "right" : pe(e)), + e.removeClass("fr-dib fr-dii fr-fir fr-fil"))), + c.opts.iframe && i.on("load", c.size.syncIframe); + } + } + function C(e) { + void 0 === e && (e = !0); + var t, + n = Array.prototype.slice.call(c.el.querySelectorAll("img")), + r = []; + for (t = 0; t < n.length; t++) + if ( + (r.push(n[t].getAttribute("src")), + be(n[t]).toggleClass("fr-draggable", c.opts.imageMove), + "" === n[t].getAttribute("class") && n[t].removeAttribute("class"), + "" === n[t].getAttribute("style") && n[t].removeAttribute("style"), + n[t].parentNode && n[t].parentNode.parentNode && c.node.hasClass(n[t].parentNode.parentNode, "fr-img-caption")) + ) { + var i = n[t].parentNode.parentNode; + c.browser.mozilla || i.setAttribute("contenteditable", !1), i.setAttribute("draggable", !1), i.classList.add("fr-draggable"); + var a = n[t].nextSibling; + a && !c.browser.mozilla && a.setAttribute("contenteditable", !0); + } + if (s) for (t = 0; t < s.length; t++) r.indexOf(s[t].getAttribute("src")) < 0 && c.events.trigger("image.removed", [be(s[t])]); + if (s && e) { + var o = []; + for (t = 0; t < s.length; t++) o.push(s[t].getAttribute("src")); + for (t = 0; t < n.length; t++) o.indexOf(n[t].getAttribute("src")) < 0 && c.events.trigger("image.loaded", [be(n[t])]); + } + s = n; + } + function S() { + if ( + (l || + (function () { + var e; + c.shared.$image_resizer + ? ((l = c.shared.$image_resizer), + (p = c.shared.$img_overlay), + c.events.on( + "destroy", + function () { + l.removeClass("fr-active").appendTo(be("body:first")); + }, + !0 + )) + : ((c.shared.$image_resizer = be('<div class="fr-image-resizer"></div>')), + (l = c.shared.$image_resizer), + c.events.$on( + l, + "mousedown", + function (e) { + e.stopPropagation(); + }, + !0 + ), + c.opts.imageResize && + (l.append(o("nw") + o("ne") + o("sw") + o("se")), + (c.shared.$img_overlay = be('<div class="fr-image-overlay"></div>')), + (p = c.shared.$img_overlay), + (e = l.get(0).ownerDocument), + be(e).find("body:first").append(p))); + c.events.on( + "shared.destroy", + function () { + l.html("").removeData().remove(), (l = null), c.opts.imageResize && (p.remove(), (p = null)); + }, + !0 + ), + c.helpers.isMobile() || + c.events.$on(be(c.o_win), "resize", function () { + f && !f.hasClass("fr-uploading") ? se(!0) : f && (S(), he(), N(!1)); + }); + if (c.opts.imageResize) { + (e = l.get(0).ownerDocument), + c.events.$on(l, c._mousedown, ".fr-handler", y), + c.events.$on(be(e), c._mousemove, _), + c.events.$on(be(e.defaultView || e.parentWindow), c._mouseup, L), + c.events.$on(p, "mouseleave", L); + var r = 1, + i = null, + a = 0; + c.events.on( + "keydown", + function (e) { + if (f) { + var t = -1 != navigator.userAgent.indexOf("Mac OS X") ? e.metaKey : e.ctrlKey, + n = e.which; + (n !== i || 200 < e.timeStamp - a) && (r = 1), + (n == be.FE.KEYCODE.EQUALS || (c.browser.mozilla && n == be.FE.KEYCODE.FF_EQUALS)) && t && !e.altKey + ? (r = Q.call(this, e, 1, 1, r)) + : (n == be.FE.KEYCODE.HYPHEN || (c.browser.mozilla && n == be.FE.KEYCODE.FF_HYPHEN)) && t && !e.altKey + ? (r = Q.call(this, e, 2, -1, r)) + : c.keys.ctrlKey(e) || n != be.FE.KEYCODE.ENTER || (f.before("<br>"), D(f)), + (i = n), + (a = e.timeStamp); + } + }, + !0 + ), + c.events.on("keyup", function () { + r = 1; + }); + } + })(), + !f) + ) + return !1; + var e = c.$wp || c.$sc; + e.append(l), l.data("instance", c); + var t = e.scrollTop() - ("static" != e.css("position") ? e.offset().top : 0), + n = e.scrollLeft() - ("static" != e.css("position") ? e.offset().left : 0); + (n -= c.helpers.getPX(e.css("border-left-width"))), (t -= c.helpers.getPX(e.css("border-top-width"))), c.$el.is("img") && c.$sc.is("body") && (n = t = 0); + var r = ve(); + Ee() && (r = r.find(".fr-img-wrap")), + l + .css("top", (c.opts.iframe ? r.offset().top : r.offset().top + t) - 1) + .css("left", (c.opts.iframe ? r.offset().left : r.offset().left + n) - 1) + .css("width", r.get(0).getBoundingClientRect().width) + .css("height", r.get(0).getBoundingClientRect().height) + .addClass("fr-active"); + } + function o(e) { + return '<div class="fr-handler fr-h' + e + '"></div>'; + } + function R(e) { + Ee() ? f.parents(".fr-img-caption").css("width", e) : f.css("width", e); + } + function y(e) { + if (!c.core.sameInstance(l)) return !0; + if ((e.preventDefault(), e.stopPropagation(), c.$el.find("img.fr-error").left)) return !1; + c.undo.canDo() || c.undo.saveStep(); + var t = e.pageX || e.originalEvent.touches[0].pageX; + if ("mousedown" == e.type) { + var n = c.$oel.get(0).ownerDocument, + r = n.defaultView || n.parentWindow, + i = !1; + try { + i = r.location != r.parent.location && !(r.$ && r.$.FE); + } catch (s) {} + i && r.frameElement && (t += c.helpers.getPX(be(r.frameElement).offset().left) + r.frameElement.clientLeft); + } + (d = be(this)).data("start-x", t), d.data("start-width", f.width()), d.data("start-height", f.height()); + var a = f.width(); + if (c.opts.imageResizeWithPercent) { + var o = f.parentsUntil(c.$el, c.html.blockTagsQuery()).get(0) || c.el; + a = ((a / be(o).outerWidth()) * 100).toFixed(2) + "%"; + } + R(a), p.show(), c.popups.hideAll(), ce(); + } + function _(e) { + if (!c.core.sameInstance(l)) return !0; + var t; + if (d && f) { + if ((e.preventDefault(), c.$el.find("img.fr-error").left)) return !1; + var n = e.pageX || (e.originalEvent.touches ? e.originalEvent.touches[0].pageX : null); + if (!n) return !1; + var r = n - d.data("start-x"), + i = d.data("start-width"); + if (((d.hasClass("fr-hnw") || d.hasClass("fr-hsw")) && (r = 0 - r), c.opts.imageResizeWithPercent)) { + var a = f.parentsUntil(c.$el, c.html.blockTagsQuery()).get(0) || c.el; + (i = (((i + r) / be(a).outerWidth()) * 100).toFixed(2)), + c.opts.imageRoundPercent && (i = Math.round(i)), + R(i + "%"), + (t = Ee() ? ((c.helpers.getPX(f.parents(".fr-img-caption").css("width")) / be(a).outerWidth()) * 100).toFixed(2) : ((c.helpers.getPX(f.css("width")) / be(a).outerWidth()) * 100).toFixed(2)) === i || + c.opts.imageRoundPercent || + R(t + "%"), + f.css("height", "").removeAttr("height"); + } else + i + r >= c.opts.imageMinWidth && (R(i + r), (t = Ee() ? c.helpers.getPX(f.parents(".fr-img-caption").css("width")) : c.helpers.getPX(f.css("width")))), + t !== i + r && R(t), + ((f.attr("style") || "").match(/(^height:)|(; *height:)/) || f.attr("height")) && (f.css("height", (d.data("start-height") * f.width()) / d.data("start-width")), f.removeAttr("height")); + S(), c.events.trigger("image.resize", [me()]); + } + } + function L(e) { + if (!c.core.sameInstance(l)) return !0; + if (d && f) { + if ((e && e.stopPropagation(), c.$el.find("img.fr-error").left)) return !1; + (d = null), p.hide(), S(), a(), c.undo.saveStep(), c.events.trigger("image.resizeEnd", [me()]); + } + } + function x(e, t, n) { + c.edit.on(), + f && f.addClass("fr-error"), + (function (e) { + N(); + var t = c.popups.get("image.insert").find(".fr-image-progress-bar-layer"); + t.addClass("fr-error"); + var n = t.find("h3"); + n.text(e), c.events.disableBlur(), n.focus(); + })(c.language.translate("Something went wrong. Please try again.")), + !f && n && Z(n), + c.events.trigger("image.error", [{ code: e, message: i[e] }, t, n]); + } + function w(e) { + if (e) + return ( + c.$wp && + c.events.$on(c.$wp, "scroll.image-edit", function () { + f && c.popups.isVisible("image.edit") && (c.events.disableBlur(), a()); + }), + !0 + ); + var t = ""; + if (0 < c.opts.imageEditButtons.length) { + (t += '<div class="fr-buttons">'), (t += c.button.buildList(c.opts.imageEditButtons)); + var n = { buttons: (t += "</div>") }; + return c.popups.create("image.edit", n); + } + return !1; + } + function N(e) { + var t = c.popups.get("image.insert"); + if ((t || (t = z()), t.find(".fr-layer.fr-active").removeClass("fr-active").addClass("fr-pactive"), t.find(".fr-image-progress-bar-layer").addClass("fr-active"), t.find(".fr-buttons").hide(), f)) { + var n = ve(); + c.popups.setContainer("image.insert", c.$sc); + var r = n.offset().left + n.width() / 2, + i = n.offset().top + n.height(); + c.popups.show("image.insert", r, i, n.outerHeight()); + } + void 0 === e && I(c.language.translate("Uploading"), 0); + } + function O(e) { + var t = c.popups.get("image.insert"); + if ( + t && + (t.find(".fr-layer.fr-pactive").addClass("fr-active").removeClass("fr-pactive"), t.find(".fr-image-progress-bar-layer").removeClass("fr-active"), t.find(".fr-buttons").show(), e || c.$el.find("img.fr-error").length) + ) { + if ((c.events.focus(), c.$el.find("img.fr-error").length && (c.$el.find("img.fr-error").remove(), c.undo.saveStep(), c.undo.run(), c.undo.dropRedo()), !c.$wp && f)) { + var n = f; + se(!0), c.selection.setAfter(n.get(0)), c.selection.restore(); + } + c.popups.hide("image.insert"); + } + } + function I(e, t) { + var n = c.popups.get("image.insert"); + if (n) { + var r = n.find(".fr-image-progress-bar-layer"); + r.find("h3").text(e + (t ? " " + t + "%" : "")), r.removeClass("fr-error"), t ? (r.find("div").removeClass("fr-indeterminate"), r.find("div > span").css("width", t + "%")) : r.find("div").addClass("fr-indeterminate"); + } + } + function D(e) { + oe.call(e.get(0)); + } + function k() { + var e = be(this); + c.popups.hide("image.insert"), e.removeClass("fr-uploading"), e.next().is("br") && e.next().remove(), D(e), c.events.trigger("image.loaded", [e]); + } + function F(o, e, s, l, d) { + c.edit.off(), I(c.language.translate("Loading image")), e && (o = c.helpers.sanitizeURL(o)); + var t = new Image(); + (t.onload = function () { + var e, t; + if (l) { + c.undo.canDo() || l.hasClass("fr-uploading") || c.undo.saveStep(); + var n = l.data("fr-old-src"); + l.data("fr-image-pasted") && (n = null), + c.$wp ? ((e = l.clone().removeData("fr-old-src").removeClass("fr-uploading").removeAttr("data-fr-image-pasted")).off("load"), n && l.attr("src", n), l.replaceWith(e)) : (e = l); + for (var r = e.get(0).attributes, i = 0; i < r.length; i++) { + var a = r[i]; + 0 === a.nodeName.indexOf("data-") && e.removeAttr(a.nodeName); + } + if (void 0 !== s) for (t in s) s.hasOwnProperty(t) && "link" != t && e.attr("data-" + t, s[t]); + e.on("load", k), e.attr("src", o), c.edit.on(), C(!1), c.undo.saveStep(), c.events.disableBlur(), c.$el.blur(), c.events.trigger(n ? "image.replaced" : "image.inserted", [e, d]); + } else (e = P(o, s, k)), C(!1), c.undo.saveStep(), c.events.disableBlur(), c.$el.blur(), c.events.trigger("image.inserted", [e, d]); + }), + (t.onerror = function () { + x(r); + }), + N(c.language.translate("Loading image")), + (t.src = o); + } + function M(e) { + I(c.language.translate("Loading image")); + var t = this.status, + n = this.response, + r = this.responseXML, + i = this.responseText; + try { + if (c.opts.imageUploadToS3) + if (201 == t) { + var a = (function (e) { + try { + var t = be(e).find("Location").text(), + n = be(e).find("Key").text(); + return !1 === c.events.trigger("image.uploadedToS3", [t, n, e], !0) ? (c.edit.on(), !1) : t; + } catch (r) { + return x(m, e), !1; + } + })(r); + a && F(a, !1, [], e, n || r); + } else x(m, n || r, e); + else if (200 <= t && t < 300) { + var o = (function (e) { + try { + if (!1 === c.events.trigger("image.uploaded", [e], !0)) return c.edit.on(), !1; + var t = JSON.parse(e); + return t.link ? t : (x(h, e), !1); + } catch (n) { + return x(m, e), !1; + } + })(i); + o && F(o.link, !1, o, e, n || i); + } else x(g, n || i, e); + } catch (s) { + x(m, n || i, e); + } + } + function $() { + x(m, this.response || this.responseText || this.responseXML); + } + function B(e) { + if (e.lengthComputable) { + var t = ((e.loaded / e.total) * 100) | 0; + I(c.language.translate("Uploading"), t); + } + } + function P(e, t, n) { + var r, + i = ""; + if (t && void 0 !== t) for (r in t) t.hasOwnProperty(r) && "link" != r && (i += " data-" + r + '="' + t[r] + '"'); + var a = c.opts.imageDefaultWidth; + a && "auto" != a && (a += c.opts.imageResizeWithPercent ? "%" : "px"); + var o = be('<img src="' + e + '"' + i + (a ? ' style="width: ' + a + ';"' : "") + ">"); + fe(o, c.opts.imageDefaultDisplay, c.opts.imageDefaultAlign), + o.on("load", n), + o.on("error", function () { + be(this).addClass("fr-error"), x(b); + }), + c.edit.on(), + c.events.focus(!0), + c.selection.restore(), + c.undo.saveStep(), + c.opts.imageSplitHTML ? c.markers.split() : c.markers.insert(), + c.html.wrap(); + var s = c.$el.find(".fr-marker"); + return s.length ? (s.parent().is("hr") && s.parent().after(s), c.node.isLastSibling(s) && s.parent().hasClass("fr-deletable") && s.insertAfter(s.parent()), s.replaceWith(o)) : c.$el.append(o), c.selection.clear(), o; + } + function U() { + c.edit.on(), O(!0); + } + function K(e, t) { + if (void 0 !== e && 0 < e.length) { + if (!1 === c.events.trigger("image.beforeUpload", [e, t])) return !1; + var n, + r = e[0]; + if ((null === c.opts.imageUploadURL || c.opts.imageUploadURL == u) && !c.opts.imageUploadToS3) + return ( + (o = r), + (s = t || f), + (l = new FileReader()).addEventListener( + "load", + function () { + var e = l.result; + if (l.result.indexOf("svg+xml") < 0) { + for (var t = atob(l.result.split(",")[1]), n = [], r = 0; r < t.length; r++) n.push(t.charCodeAt(r)); + (e = window.URL.createObjectURL(new Blob([new Uint8Array(n)], { type: o.type }))), c.image.insert(e, !1, null, s); + } + }, + !1 + ), + N(), + l.readAsDataURL(o), + !1 + ); + if ((r.name || (r.name = new Date().getTime() + "." + (r.type || "image/jpeg").replace(/image\//g, "")), r.size > c.opts.imageMaxSize)) return x(v), !1; + if (c.opts.imageAllowedTypes.indexOf(r.type.replace(/image\//g, "")) < 0) return x(E), !1; + if ((c.drag_support.formdata && (n = c.drag_support.formdata ? new FormData() : null), n)) { + var i; + if (!1 !== c.opts.imageUploadToS3) + for (i in (n.append("key", c.opts.imageUploadToS3.keyStart + new Date().getTime() + "-" + (r.name || "untitled")), + n.append("success_action_status", "201"), + n.append("X-Requested-With", "xhr"), + n.append("Content-Type", r.type), + c.opts.imageUploadToS3.params)) + c.opts.imageUploadToS3.params.hasOwnProperty(i) && n.append(i, c.opts.imageUploadToS3.params[i]); + for (i in c.opts.imageUploadParams) c.opts.imageUploadParams.hasOwnProperty(i) && n.append(i, c.opts.imageUploadParams[i]); + n.append(c.opts.imageUploadParam, r, r.name); + var a = c.opts.imageUploadURL; + c.opts.imageUploadToS3 && (a = c.opts.imageUploadToS3.uploadURL ? c.opts.imageUploadToS3.uploadURL : "https://" + c.opts.imageUploadToS3.region + ".amazonaws.com/" + c.opts.imageUploadToS3.bucket), + (function (t, n, e, i) { + function a() { + var e = be(this); + e.off("load"), + e.addClass("fr-uploading"), + e.next().is("br") && e.next().remove(), + c.placeholder.refresh(), + D(e), + S(), + N(), + c.edit.off(), + (t.onload = function () { + M.call(t, e); + }), + (t.onerror = $), + (t.upload.onprogress = B), + (t.onabort = U), + e.off("abortUpload").on("abortUpload", function () { + 4 != t.readyState && t.abort(); + }), + t.send(n); + } + var o = new FileReader(); + o.addEventListener( + "load", + function () { + var e = o.result; + if (o.result.indexOf("svg+xml") < 0) { + for (var t = atob(o.result.split(",")[1]), n = [], r = 0; r < t.length; r++) n.push(t.charCodeAt(r)); + e = window.URL.createObjectURL(new Blob([new Uint8Array(n)], { type: "image/jpeg" })); + } + i + ? (i.on("load", a), + i.one("error", function () { + i.off("load"), i.attr("src", i.data("fr-old-src")), x(b); + }), + c.edit.on(), + c.undo.saveStep(), + i.data("fr-old-src", i.attr("src")), + i.attr("src", e)) + : P(e, null, a); + }, + !1 + ), + o.readAsDataURL(e); + })(c.core.getXHR(a, c.opts.imageUploadMethod), n, r, t || f); + } + } + var o, s, l; + } + function H(e) { + if (e.is("img") && 0 < e.parents(".fr-img-caption").length) return e.parents(".fr-img-caption"); + } + function W(e) { + var t = e.originalEvent.dataTransfer; + if (t && t.files && t.files.length) { + var n = t.files[0]; + if (n && n.type && -1 !== n.type.indexOf("image") && 0 <= c.opts.imageAllowedTypes.indexOf(n.type.replace(/image\//g, ""))) { + if (!c.opts.imageUpload) return e.preventDefault(), e.stopPropagation(), !1; + c.markers.remove(), c.markers.insertAtPoint(e.originalEvent), c.$el.find(".fr-marker").replaceWith(be.FE.MARKERS), 0 === c.$el.find(".fr-marker").length && c.selection.setAtEnd(c.el), c.popups.hideAll(); + var r = c.popups.get("image.insert"); + r || (r = z()), c.popups.setContainer("image.insert", c.$sc); + var i = e.originalEvent.pageX, + a = e.originalEvent.pageY; + return ( + c.opts.iframe && ((a += c.$iframe.offset().top), (i += c.$iframe.offset().left)), + c.popups.show("image.insert", i, a), + N(), + 0 <= c.opts.imageAllowedTypes.indexOf(n.type.replace(/image\//g, "")) ? (se(!0), K(t.files)) : x(E), + e.preventDefault(), + e.stopPropagation(), + !1 + ); + } + } + } + function z(e) { + if (e) return c.popups.onRefresh("image.insert", T), c.popups.onHide("image.insert", A), !0; + var t, + n = ""; + c.opts.imageUpload || c.opts.imageInsertButtons.splice(c.opts.imageInsertButtons.indexOf("imageUpload"), 1), + 1 < c.opts.imageInsertButtons.length && (n = '<div class="fr-buttons">' + c.button.buildList(c.opts.imageInsertButtons) + "</div>"); + var r = c.opts.imageInsertButtons.indexOf("imageUpload"), + i = c.opts.imageInsertButtons.indexOf("imageByURL"), + a = ""; + 0 <= r && + ((t = " fr-active"), + 0 <= i && i < r && (t = ""), + (a = + '<div class="fr-image-upload-layer' + + t + + ' fr-layer" id="fr-image-upload-layer-' + + c.id + + '"><strong>' + + c.language.translate("Drop image") + + "</strong><br>(" + + c.language.translate("or click") + + ')<div class="fr-form"><input type="file" accept="image/' + + c.opts.imageAllowedTypes.join(", image/").toLowerCase() + + '" tabIndex="-1" aria-labelledby="fr-image-upload-layer-' + + c.id + + '" role="button"></div></div>')); + var o = ""; + 0 <= i && + ((t = " fr-active"), + 0 <= r && r < i && (t = ""), + (o = + '<div class="fr-image-by-url-layer' + + t + + ' fr-layer" id="fr-image-by-url-layer-' + + c.id + + '"><div class="fr-input-line"><input id="fr-image-by-url-layer-text-' + + c.id + + '" type="text" placeholder="http://" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="imageInsertByURL" tabIndex="2" role="button">' + + c.language.translate("Insert") + + "</button></div></div>")); + var s, + l = { + buttons: n, + upload_layer: a, + by_url_layer: o, + progress_bar: + '<div class="fr-image-progress-bar-layer fr-layer"><h3 tabIndex="-1" class="fr-message">Uploading</h3><div class="fr-loader"><span class="fr-progress"></span></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-dismiss" data-cmd="imageDismissError" tabIndex="2" role="button">OK</button></div></div>', + }, + d = c.popups.create("image.insert", l); + return ( + c.$wp && + c.events.$on(c.$wp, "scroll", function () { + f && c.popups.isVisible("image.insert") && he(); + }), + (s = d), + c.events.$on( + s, + "dragover dragenter", + ".fr-image-upload-layer", + function () { + return be(this).addClass("fr-drop"), !1; + }, + !0 + ), + c.events.$on( + s, + "dragleave dragend", + ".fr-image-upload-layer", + function () { + return be(this).removeClass("fr-drop"), !1; + }, + !0 + ), + c.events.$on( + s, + "drop", + ".fr-image-upload-layer", + function (e) { + e.preventDefault(), e.stopPropagation(), be(this).removeClass("fr-drop"); + var t = e.originalEvent.dataTransfer; + if (t && t.files) { + var n = s.data("instance") || c; + n.events.disableBlur(), n.image.upload(t.files), n.events.enableBlur(); + } + }, + !0 + ), + c.helpers.isIOS() && + c.events.$on( + s, + "touchstart", + '.fr-image-upload-layer input[type="file"]', + function () { + be(this).trigger("click"); + }, + !0 + ), + c.events.$on( + s, + "change", + '.fr-image-upload-layer input[type="file"]', + function () { + if (this.files) { + var e = s.data("instance") || c; + e.events.disableBlur(), s.find("input:focus").blur(), e.events.enableBlur(), e.image.upload(this.files, f); + } + be(this).val(""); + }, + !0 + ), + d + ); + } + function Y() { + f && + c.popups + .get("image.alt") + .find("input") + .val(f.attr("alt") || "") + .trigger("change"); + } + function G() { + var e = c.popups.get("image.alt"); + e || (e = V()), O(), c.popups.refresh("image.alt"), c.popups.setContainer("image.alt", c.$sc); + var t = ve(); + Ee() && (t = t.find(".fr-img-wrap")); + var n = t.offset().left + t.outerWidth() / 2, + r = t.offset().top + t.outerHeight(); + c.popups.show("image.alt", n, r, t.outerHeight()); + } + function V(e) { + if (e) return c.popups.onRefresh("image.alt", Y), !0; + var t = { + buttons: '<div class="fr-buttons">' + c.button.buildList(c.opts.imageAltButtons) + "</div>", + alt_layer: + '<div class="fr-image-alt-layer fr-layer fr-active" id="fr-image-alt-layer-' + + c.id + + '"><div class="fr-input-line"><input id="fr-image-alt-layer-text-' + + c.id + + '" type="text" placeholder="' + + c.language.translate("Alternative Text") + + '" tabIndex="1"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="imageSetAlt" tabIndex="2" role="button">' + + c.language.translate("Update") + + "</button></div></div>", + }, + n = c.popups.create("image.alt", t); + return ( + c.$wp && + c.events.$on(c.$wp, "scroll.image-alt", function () { + f && c.popups.isVisible("image.alt") && G(); + }), + n + ); + } + function X() { + var e = c.popups.get("image.size"); + if (f) + if (Ee()) { + var t = f.parent(); + t.get(0).style.width || (t = f.parent().parent()), e.find('input[name="width"]').val(t.get(0).style.width).trigger("change"), e.find('input[name="height"]').val(t.get(0).style.height).trigger("change"); + } else e.find('input[name="width"]').val(f.get(0).style.width).trigger("change"), e.find('input[name="height"]').val(f.get(0).style.height).trigger("change"); + } + function q() { + var e = c.popups.get("image.size"); + e || (e = j()), O(), c.popups.refresh("image.size"), c.popups.setContainer("image.size", c.$sc); + var t = ve(); + Ee() && (t = t.find(".fr-img-wrap")); + var n = t.offset().left + t.outerWidth() / 2, + r = t.offset().top + t.outerHeight(); + c.popups.show("image.size", n, r, t.outerHeight()); + } + function j(e) { + if (e) return c.popups.onRefresh("image.size", X), !0; + var t = { + buttons: '<div class="fr-buttons">' + c.button.buildList(c.opts.imageSizeButtons) + "</div>", + size_layer: + '<div class="fr-image-size-layer fr-layer fr-active" id="fr-image-size-layer-' + + c.id + + '"><div class="fr-image-group"><div class="fr-input-line"><input id="fr-image-size-layer-width-' + + c.id + + '" type="text" name="width" placeholder="' + + c.language.translate("Width") + + '" tabIndex="1"></div><div class="fr-input-line"><input id="fr-image-size-layer-height' + + c.id + + '" type="text" name="height" placeholder="' + + c.language.translate("Height") + + '" tabIndex="1"></div></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="imageSetSize" tabIndex="2" role="button">' + + c.language.translate("Update") + + "</button></div></div>", + }, + n = c.popups.create("image.size", t); + return ( + c.$wp && + c.events.$on(c.$wp, "scroll.image-size", function () { + f && c.popups.isVisible("image.size") && q(); + }), + n + ); + } + function Q(e, t, n, r) { + return (e.pageX = t), y.call(this, e), (e.pageX = e.pageX + n * Math.floor(Math.pow(1.1, r))), _.call(this, e), L.call(this, e), ++r; + } + function Z(e) { + (e = e || ve()) && + !1 !== c.events.trigger("image.beforeRemove", [e]) && + (c.popups.hideAll(), + ge(), + se(!0), + c.undo.canDo() || c.undo.saveStep(), + e.get(0) == c.el + ? e.removeAttr("src") + : (e.get(0).parentNode && "A" == e.get(0).parentNode.tagName + ? (c.selection.setBefore(e.get(0).parentNode) || c.selection.setAfter(e.get(0).parentNode) || e.parent().after(be.FE.MARKERS), be(e.get(0).parentNode).remove()) + : (c.selection.setBefore(e.get(0)) || c.selection.setAfter(e.get(0)) || e.after(be.FE.MARKERS), e.remove()), + c.html.fillEmptyBlocks(), + c.selection.restore()), + c.undo.saveStep()); + } + function J(e) { + var t = e.which; + if (f && (t == be.FE.KEYCODE.BACKSPACE || t == be.FE.KEYCODE.DELETE)) return e.preventDefault(), e.stopPropagation(), Z(), !1; + if (f && t == be.FE.KEYCODE.ESC) { + var n = f; + return se(!0), c.selection.setAfter(n.get(0)), c.selection.restore(), e.preventDefault(), !1; + } + if (f && (t == be.FE.KEYCODE.ARROW_LEFT || t == be.FE.KEYCODE.ARROW_RIGHT)) { + var r = f.get(0); + return se(!0), t == be.FE.KEYCODE.ARROW_LEFT ? c.selection.setBefore(r) : c.selection.setAfter(r), c.selection.restore(), e.preventDefault(), !1; + } + return f && t != be.FE.KEYCODE.F10 && !c.keys.isBrowserAction(e) ? (e.preventDefault(), e.stopPropagation(), !1) : void 0; + } + function ee(e) { + if (e && "IMG" == e.tagName) { + if ( + (c.node.hasClass(e, "fr-uploading") || c.node.hasClass(e, "fr-error") ? e.parentNode.removeChild(e) : c.node.hasClass(e, "fr-draggable") && e.classList.remove("fr-draggable"), + e.parentNode && e.parentNode.parentNode && c.node.hasClass(e.parentNode.parentNode, "fr-img-caption")) + ) { + var t = e.parentNode.parentNode; + t.removeAttribute("contenteditable"), t.removeAttribute("draggable"), t.classList.remove("fr-draggable"); + var n = e.nextSibling; + n && n.removeAttribute("contenteditable"); + } + } else if (e && e.nodeType == Node.ELEMENT_NODE) for (var r = e.querySelectorAll("img.fr-uploading, img.fr-error, img.fr-draggable"), i = 0; i < r.length; i++) ee(r[i]); + } + function te(e) { + if (!1 === c.events.trigger("image.beforePasteUpload", [e])) return !1; + (f = be(e)), + S(), + a(), + he(), + N(), + f.one("load", function () { + S(), N(); + }); + for (var t = atob(be(e).attr("src").split(",")[1]), n = [], r = 0; r < t.length; r++) n.push(t.charCodeAt(r)); + K( + [ + new Blob([new Uint8Array(n)], { + type: be(e) + .attr("src") + .split(",")[0] + .replace(/data\:/g, "") + .replace(/;base64/g, ""), + }), + ], + f + ); + } + function ne() { + c.opts.imagePaste + ? c.$el.find("img[data-fr-image-pasted]").each(function (e, n) { + if (c.opts.imagePasteProcess) { + var t = c.opts.imageDefaultWidth; + t && "auto" != t && (t += c.opts.imageResizeWithPercent ? "%" : "px"), be(n).css("width", t).removeClass("fr-dii fr-dib fr-fir fr-fil"), fe(be(n), c.opts.imageDefaultDisplay, c.opts.imageDefaultAlign); + } + if (0 === n.src.indexOf("data:")) te(n); + else if (0 === n.src.indexOf("blob:") || (0 === n.src.indexOf("http") && c.opts.imageUploadRemoteUrls && c.opts.imageCORSProxy)) { + var r = new Image(); + (r.crossOrigin = "Anonymous"), + (r.onload = function () { + var e = c.o_doc.createElement("CANVAS"), + t = e.getContext("2d"); + (e.height = this.naturalHeight), (e.width = this.naturalWidth), t.drawImage(this, 0, 0), (n.src = e.toDataURL("image/png")), te(n); + }), + (r.src = (0 === n.src.indexOf("blob:") ? "" : c.opts.imageCORSProxy + "/") + n.src); + } else 0 !== n.src.indexOf("http") || 0 === n.src.indexOf("https://mail.google.com/mail") ? (c.selection.save(), be(n).remove(), c.selection.restore()) : be(n).removeAttr("data-fr-image-pasted"); + }) + : c.$el.find("img[data-fr-image-pasted]").remove(); + } + function re(e) { + var t = e.target.result, + n = c.opts.imageDefaultWidth; + n && "auto" != n && (n += c.opts.imageResizeWithPercent ? "%" : "px"), c.undo.saveStep(), c.html.insert('<img data-fr-image-pasted="true" src="' + t + '"' + (n ? ' style="width: ' + n + ';"' : "") + ">"); + var r = c.$el.find('img[data-fr-image-pasted="true"]'); + r && fe(r, c.opts.imageDefaultDisplay, c.opts.imageDefaultAlign), c.events.trigger("paste.after"); + } + function ie(e) { + if (e && e.clipboardData && e.clipboardData.items) { + var t = null; + if (e.clipboardData.getData("text/rtf")) t = e.clipboardData.items[0].getAsFile(); + else for (var n = 0; n < e.clipboardData.items.length && !(t = e.clipboardData.items[n].getAsFile()); n++); + if (t) return (r = t), ((i = new FileReader()).onload = re), i.readAsDataURL(r), !1; + } + var r, i; + } + function ae(e) { + return (e = e.replace(/<img /gi, '<img data-fr-image-pasted="true" ')); + } + function oe(e) { + if ("false" == be(this).parents("[contenteditable]:not(.fr-element):not(.fr-img-caption):not(body):first").attr("contenteditable")) return !0; + if (e && "touchend" == e.type && n) return !0; + if (e && c.edit.isDisabled()) return e.stopPropagation(), e.preventDefault(), !1; + for (var t = 0; t < be.FE.INSTANCES.length; t++) be.FE.INSTANCES[t] != c && be.FE.INSTANCES[t].events.trigger("image.hideResizer"); + c.toolbar.disable(), + e && (e.stopPropagation(), e.preventDefault()), + c.helpers.isMobile() && (c.events.disableBlur(), c.$el.blur(), c.events.enableBlur()), + c.opts.iframe && c.size.syncIframe(), + (f = be(this)), + ge(), + S(), + a(), + c.popups.areVisible() && c.events.disableBlur(), + c.win.getSelection ? (c.win.getSelection().removeAllRanges(), c.win.getSelection().addRange(c.doc.createRange())) : c.selection.clear(), + c.helpers.isIOS() && (c.events.disableBlur(), c.$el.blur()), + c.button.bulkRefresh(), + c.events.trigger("video.hideResizer"); + } + function se(e) { + f && (le || !0 === e) && (c.toolbar.enable(), l.removeClass("fr-active"), c.popups.hide("image.edit"), (f = null), ce(), (d = null), p && p.hide()); + } + (i[r] = "Image cannot be loaded from the passed link."), + (i[h] = "No link in upload response."), + (i[g] = "Error during file upload."), + (i[m] = "Parsing response failed."), + (i[v] = "File is too large."), + (i[E] = "Image file type is invalid."), + (i[7] = "Files can be uploaded only to same domain in IE 8 and IE 9."); + var le = !(i[b] = "Image file is corrupted."); + function de() { + le = !0; + } + function ce() { + le = !1; + } + function fe(e, t, n) { + !c.opts.htmlUntouched && c.opts.useClasses + ? (e.removeClass("fr-fil fr-fir fr-dib fr-dii"), n && e.addClass("fr-fi" + n[0]), t && e.addClass("fr-di" + t[0])) + : "inline" == t + ? (e.css({ display: "inline-block", verticalAlign: "bottom", margin: c.opts.imageDefaultMargin }), + "center" == n + ? e.css({ float: "none", marginBottom: "", marginTop: "", maxWidth: "calc(100% - " + 2 * c.opts.imageDefaultMargin + "px)", textAlign: "center" }) + : "left" == n + ? e.css({ float: "left", marginLeft: 0, maxWidth: "calc(100% - " + c.opts.imageDefaultMargin + "px)", textAlign: "left" }) + : e.css({ float: "right", marginRight: 0, maxWidth: "calc(100% - " + c.opts.imageDefaultMargin + "px)", textAlign: "right" })) + : "block" == t && + (e.css({ display: "block", float: "none", verticalAlign: "top", margin: c.opts.imageDefaultMargin + "px auto", textAlign: "center" }), + "left" == n ? e.css({ marginLeft: 0, textAlign: "left" }) : "right" == n && e.css({ marginRight: 0, textAlign: "right" })); + } + function pe(e) { + if ((void 0 === e && (e = ve()), e)) { + if (e.hasClass("fr-fil")) return "left"; + if (e.hasClass("fr-fir")) return "right"; + if (e.hasClass("fr-dib") || e.hasClass("fr-dii")) return "center"; + var t = e.css("float"); + if ((e.css("float", "none"), "block" == e.css("display"))) { + if ((e.css("float", ""), e.css("float") != t && e.css("float", t), 0 === parseInt(e.css("margin-left"), 10))) return "left"; + if (0 === parseInt(e.css("margin-right"), 10)) return "right"; + } else { + if ((e.css("float", ""), e.css("float") != t && e.css("float", t), "left" == e.css("float"))) return "left"; + if ("right" == e.css("float")) return "right"; + } + } + return "center"; + } + function ue(e) { + void 0 === e && (e = ve()); + var t = e.css("float"); + return e.css("float", "none"), "block" == e.css("display") ? (e.css("float", ""), e.css("float") != t && e.css("float", t), "block") : (e.css("float", ""), e.css("float") != t && e.css("float", t), "inline"); + } + function he() { + var e = c.popups.get("image.insert"); + e || (e = z()), c.popups.isVisible("image.insert") || (O(), c.popups.refresh("image.insert"), c.popups.setContainer("image.insert", c.$sc)); + var t = ve(); + Ee() && (t = t.find(".fr-img-wrap")); + var n = t.offset().left + t.outerWidth() / 2, + r = t.offset().top + t.outerHeight(); + c.popups.show("image.insert", n, r, t.outerHeight(!0)); + } + function ge() { + if (f) { + c.events.disableBlur(), c.selection.clear(); + var e = c.doc.createRange(); + e.selectNode(f.get(0)), c.browser.msie && e.collapse(!0), c.selection.get().addRange(e), c.events.enableBlur(); + } + } + function me() { + return f; + } + function ve() { + return Ee() ? f.parents(".fr-img-caption:first") : f; + } + function Ee() { + return !!f && 0 < f.parents(".fr-img-caption").length; + } + return { + _init: function () { + var r; + c.events.$on(c.$el, c._mousedown, "IMG" == c.el.tagName ? null : 'img:not([contenteditable="false"])', function (e) { + if ("false" == be(this).parents("[contenteditable]:not(.fr-element):not(.fr-img-caption):not(body):first").attr("contenteditable")) return !0; + c.helpers.isMobile() || c.selection.clear(), + (t = !0), + c.popups.areVisible() && c.events.disableBlur(), + c.browser.msie && (c.events.disableBlur(), c.$el.attr("contenteditable", !1)), + c.draggable || "touchstart" == e.type || e.preventDefault(), + e.stopPropagation(); + }), + c.events.$on(c.$el, c._mouseup, "IMG" == c.el.tagName ? null : 'img:not([contenteditable="false"])', function (e) { + if ("false" == be(this).parents("[contenteditable]:not(.fr-element):not(.fr-img-caption):not(body):first").attr("contenteditable")) return !0; + t && ((t = !1), e.stopPropagation(), c.browser.msie && (c.$el.attr("contenteditable", !0), c.events.enableBlur())); + }), + c.events.on( + "keyup", + function (e) { + if (e.shiftKey && "" === c.selection.text().replace(/\n/g, "") && c.keys.isArrow(e.which)) { + var t = c.selection.element(), + n = c.selection.endElement(); + t && "IMG" == t.tagName ? D(be(t)) : n && "IMG" == n.tagName && D(be(n)); + } + }, + !0 + ), + c.events.on("drop", W), + c.events.on("element.beforeDrop", H), + c.events.on("mousedown window.mousedown", de), + c.events.on("window.touchmove", ce), + c.events.on("mouseup window.mouseup", function () { + if (f) return se(), !1; + ce(); + }), + c.events.on("commands.mousedown", function (e) { + 0 < e.parents(".fr-toolbar").length && se(); + }), + c.events.on("image.resizeEnd", function () { + c.opts.iframe && c.size.syncIframe(); + }), + c.events.on("blur image.hideResizer commands.undo commands.redo element.dropped", function () { + se(!(t = !1)); + }), + c.events.on("modals.hide", function () { + f && (ge(), c.selection.clear()); + }), + c.events.on("image.resizeEnd", function () { + c.win.getSelection && D(f); + }), + "IMG" == c.el.tagName && c.$el.addClass("fr-view"), + c.events.$on(c.$el, c.helpers.isMobile() && !c.helpers.isWindowsPhone() ? "touchend" : "click", "IMG" == c.el.tagName ? null : 'img:not([contenteditable="false"])', oe), + c.helpers.isMobile() && + (c.events.$on(c.$el, "touchstart", "IMG" == c.el.tagName ? null : 'img:not([contenteditable="false"])', function () { + n = !1; + }), + c.events.$on(c.$el, "touchmove", function () { + n = !0; + })), + c.$wp + ? (c.events.on("window.keydown keydown", J, !0), + c.events.on( + "keyup", + function (e) { + if (f && e.which == be.FE.KEYCODE.ENTER) return !1; + }, + !0 + ), + c.events.$on(c.$el, "keydown", function () { + var e = c.selection.element(); + e.nodeType === Node.TEXT_NODE && (e = e.parentNode), + c.node.hasClass(e, "fr-inner") || (c.node.hasClass(e, "fr-img-caption") || (e = be(e).parents(".fr-img-caption").get(0)), be(e).after(be.FE.INVISIBLE_SPACE + be.FE.MARKERS), c.selection.restore()); + })) + : c.events.$on(c.$win, "keydown", J), + c.events.on( + "toolbar.esc", + function () { + if (f) { + if (c.$wp) c.events.disableBlur(), c.events.focus(); + else { + var e = f; + se(!0), c.selection.setAfter(e.get(0)), c.selection.restore(); + } + return !1; + } + }, + !0 + ), + c.events.on( + "toolbar.focusEditor", + function () { + if (f) return !1; + }, + !0 + ), + c.events.on( + "window.cut window.copy", + function (e) { + if (f && c.popups.isVisible("image.edit") && !c.popups.get("image.edit").find(":focus").length) { + var t = ve(); + Ee() + ? (t.before(be.FE.START_MARKER), t.after(be.FE.END_MARKER), c.selection.restore(), c.paste.saveCopiedText(t.get(0).outerHTML, t.text())) + : (ge(), c.paste.saveCopiedText(f.get(0).outerHTML, f.attr("alt"))), + "copy" == e.type + ? setTimeout(function () { + D(f); + }) + : (se(!0), + c.undo.saveStep(), + setTimeout(function () { + c.undo.saveStep(); + }, 0)); + } + }, + !0 + ), + c.browser.msie && + c.events.on("keydown", function (e) { + if (!c.selection.isCollapsed() || !f) return !0; + var t = e.which; + t == be.FE.KEYCODE.C && c.keys.ctrlKey(e) ? c.events.trigger("window.copy") : t == be.FE.KEYCODE.X && c.keys.ctrlKey(e) && c.events.trigger("window.cut"); + }), + c.events.$on(be(c.o_win), "keydown", function (e) { + var t = e.which; + if (f && t == be.FE.KEYCODE.BACKSPACE) return e.preventDefault(), !1; + }), + c.events.$on(c.$win, "keydown", function (e) { + var t = e.which; + f && f.hasClass("fr-uploading") && t == be.FE.KEYCODE.ESC && f.trigger("abortUpload"); + }), + c.events.on("destroy", function () { + f && f.hasClass("fr-uploading") && f.trigger("abortUpload"); + }), + c.events.on("paste.before", ie), + c.events.on("paste.beforeCleanup", ae), + c.events.on("paste.after", ne), + c.events.on("html.set", e), + c.events.on("html.inserted", e), + e(), + c.events.on("destroy", function () { + s = []; + }), + c.events.on("html.processGet", ee), + c.opts.imageOutputSize && + c.events.on("html.beforeGet", function () { + r = c.el.querySelectorAll("img"); + for (var e = 0; e < r.length; e++) { + var t = r[e].style.width || be(r[e]).width(), + n = r[e].style.height || be(r[e]).height(); + t && r[e].setAttribute("width", ("" + t).replace(/px/, "")), n && r[e].setAttribute("height", ("" + n).replace(/px/, "")); + } + }), + c.opts.iframe && c.events.on("image.loaded", c.size.syncIframe), + c.$wp && (C(), c.events.on("contentChanged", C)), + c.events.$on(be(c.o_win), "orientationchange.image", function () { + setTimeout(function () { + f && D(f); + }, 100); + }), + w(!0), + z(!0), + j(!0), + V(!0), + c.events.on("node.remove", function (e) { + if ("IMG" == e.get(0).tagName) return Z(e), !1; + }); + }, + showInsertPopup: function () { + var e = c.$tb.find('.fr-command[data-cmd="insertImage"]'), + t = c.popups.get("image.insert"); + if ((t || (t = z()), O(), !t.hasClass("fr-active"))) + if ((c.popups.refresh("image.insert"), c.popups.setContainer("image.insert", c.$tb), e.is(":visible"))) { + var n = e.offset().left + e.outerWidth() / 2, + r = e.offset().top + (c.opts.toolbarBottom ? 10 : e.outerHeight() - 10); + c.popups.show("image.insert", n, r, e.outerHeight()); + } else c.position.forSelection(t), c.popups.show("image.insert"); + }, + showLayer: function (e) { + var t, + n, + r = c.popups.get("image.insert"); + if (f || c.opts.toolbarInline) { + if (f) { + var i = ve(); + Ee() && (i = i.find(".fr-img-wrap")), (n = i.offset().top + i.outerHeight()), (t = i.offset().left + i.outerWidth() / 2); + } + } else { + var a = c.$tb.find('.fr-command[data-cmd="insertImage"]'); + (t = a.offset().left + a.outerWidth() / 2), (n = a.offset().top + (c.opts.toolbarBottom ? 10 : a.outerHeight() - 10)); + } + !f && c.opts.toolbarInline && ((n = r.offset().top - c.helpers.getPX(r.css("margin-top"))), r.hasClass("fr-above") && (n += r.outerHeight())), + r.find(".fr-layer").removeClass("fr-active"), + r.find(".fr-" + e + "-layer").addClass("fr-active"), + c.popups.show("image.insert", t, n, f ? f.outerHeight() : 0), + c.accessibility.focusPopup(r); + }, + refreshUploadButton: function (e) { + c.popups.get("image.insert").find(".fr-image-upload-layer").hasClass("fr-active") && e.addClass("fr-active").attr("aria-pressed", !0); + }, + refreshByURLButton: function (e) { + c.popups.get("image.insert").find(".fr-image-by-url-layer").hasClass("fr-active") && e.addClass("fr-active").attr("aria-pressed", !0); + }, + upload: K, + insertByURL: function () { + var e = c.popups.get("image.insert").find(".fr-image-by-url-layer input"); + if (0 < e.val().length) { + N(), I(c.language.translate("Loading image")); + var t = e.val(); + if (c.opts.imageUploadRemoteUrls && c.opts.imageCORSProxy && c.opts.imageUpload) { + var n = new XMLHttpRequest(); + (n.onload = function () { + 200 == this.status ? K([new Blob([this.response], { type: this.response.type || "image/png" })], f) : x(r); + }), + (n.onerror = function () { + F(t, !0, [], f); + }), + n.open("GET", c.opts.imageCORSProxy + "/" + t, !0), + (n.responseType = "blob"), + n.send(); + } else F(t, !0, [], f); + e.val(""), e.blur(); + } + }, + align: function (e) { + var t = ve(); + t.removeClass("fr-fir fr-fil"), !c.opts.htmlUntouched && c.opts.useClasses ? ("left" == e ? t.addClass("fr-fil") : "right" == e && t.addClass("fr-fir")) : fe(t, ue(), e), ge(), S(), a(), c.selection.clear(); + }, + refreshAlign: function (e) { + f && e.find("> *:first").replaceWith(c.icon.create("image-align-" + pe())); + }, + refreshAlignOnShow: function (e, t) { + f && + t + .find('.fr-command[data-param1="' + pe() + '"]') + .addClass("fr-active") + .attr("aria-selected", !0); + }, + display: function (e) { + var t = ve(); + t.removeClass("fr-dii fr-dib"), !c.opts.htmlUntouched && c.opts.useClasses ? ("inline" == e ? t.addClass("fr-dii") : "block" == e && t.addClass("fr-dib")) : fe(t, e, pe()), ge(), S(), a(), c.selection.clear(); + }, + refreshDisplayOnShow: function (e, t) { + f && + t + .find('.fr-command[data-param1="' + ue() + '"]') + .addClass("fr-active") + .attr("aria-selected", !0); + }, + replace: he, + back: function () { + f ? (c.events.disableBlur(), be(".fr-popup input:focus").blur(), D(f)) : (c.events.disableBlur(), c.selection.restore(), c.events.enableBlur(), c.popups.hide("image.insert"), c.toolbar.showInline()); + }, + get: me, + getEl: ve, + insert: F, + showProgressBar: N, + remove: Z, + hideProgressBar: O, + applyStyle: function (e, t, n) { + if ((void 0 === t && (t = c.opts.imageStyles), void 0 === n && (n = c.opts.imageMultipleStyles), !f)) return !1; + var r = ve(); + if (!n) { + var i = Object.keys(t); + i.splice(i.indexOf(e), 1), r.removeClass(i.join(" ")); + } + "object" == typeof t[e] ? (r.removeAttr("style"), r.css(t[e].style)) : r.toggleClass(e), D(f); + }, + showAltPopup: G, + showSizePopup: q, + setAlt: function (e) { + if (f) { + var t = c.popups.get("image.alt"); + f.attr("alt", e || t.find("input").val() || ""), t.find("input:focus").blur(), D(f); + } + }, + setSize: function (e, t) { + if (f) { + var n = c.popups.get("image.size"); + (e = e || n.find('input[name="width"]').val() || ""), (t = t || n.find('input[name="height"]').val() || ""); + var r = /^[\d]+((px)|%)*$/g; + f.removeAttr("width").removeAttr("height"), + e.match(r) ? f.css("width", e) : f.css("width", ""), + t.match(r) ? f.css("height", t) : f.css("height", ""), + Ee() && (f.parent().removeAttr("width").removeAttr("height"), e.match(r) ? f.parent().css("width", e) : f.parent().css("width", ""), t.match(r) ? f.parent().css("height", t) : f.parent().css("height", "")), + n && n.find("input:focus").blur(), + D(f); + } + }, + toggleCaption: function () { + var e; + if (f && !Ee()) { + (e = f).parent().is("a") && (e = f.parent()); + var t = e.width(); + e.wrap("<span " + (c.browser.mozilla ? "" : 'contenteditable="false"') + 'class="fr-img-caption ' + f.attr("class") + '" draggable="false"></span>'), + e.wrap('<span class="fr-img-wrap"></span>'), + e.after('<span class="fr-inner"' + (c.browser.mozilla ? "" : ' contenteditable="true"') + ">" + be.FE.START_MARKER + "Image caption" + be.FE.END_MARKER + "</span>"), + f.removeAttr("class").removeAttr("style").removeAttr("width"), + f.parents(".fr-img-caption").css("width", t + "px"), + se(!0), + c.selection.restore(); + } else (e = ve()), f.insertAfter(e), f.attr("class", e.attr("class").replace("fr-img-caption", "")).attr("style", e.attr("style")), e.remove(), D(f); + }, + hasCaption: Ee, + exitEdit: se, + edit: D, + }; + }), + be.FE.DefineIcon("insertImage", { NAME: "image" }), + be.FE.RegisterShortcut(be.FE.KEYCODE.P, "insertImage", null, "P"), + be.FE.RegisterCommand("insertImage", { + title: "Insert Image", + undo: !1, + focus: !0, + refreshAfterCallback: !1, + popup: !0, + callback: function () { + this.popups.isVisible("image.insert") ? (this.$el.find(".fr-marker").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide("image.insert")) : this.image.showInsertPopup(); + }, + plugin: "image", + }), + be.FE.DefineIcon("imageUpload", { NAME: "upload" }), + be.FE.RegisterCommand("imageUpload", { + title: "Upload Image", + undo: !1, + focus: !1, + toggle: !0, + callback: function () { + this.image.showLayer("image-upload"); + }, + refresh: function (e) { + this.image.refreshUploadButton(e); + }, + }), + be.FE.DefineIcon("imageByURL", { NAME: "link" }), + be.FE.RegisterCommand("imageByURL", { + title: "By URL", + undo: !1, + focus: !1, + toggle: !0, + callback: function () { + this.image.showLayer("image-by-url"); + }, + refresh: function (e) { + this.image.refreshByURLButton(e); + }, + }), + be.FE.RegisterCommand("imageInsertByURL", { + title: "Insert Image", + undo: !0, + refreshAfterCallback: !1, + callback: function () { + this.image.insertByURL(); + }, + refresh: function (e) { + this.image.get() ? e.text(this.language.translate("Replace")) : e.text(this.language.translate("Insert")); + }, + }), + be.FE.DefineIcon("imageDisplay", { NAME: "star" }), + be.FE.RegisterCommand("imageDisplay", { + title: "Display", + type: "dropdown", + options: { inline: "Inline", block: "Break Text" }, + callback: function (e, t) { + this.image.display(t); + }, + refresh: function (e) { + this.opts.imageTextNear || e.addClass("fr-hidden"); + }, + refreshOnShow: function (e, t) { + this.image.refreshDisplayOnShow(e, t); + }, + }), + be.FE.DefineIcon("image-align", { NAME: "align-left" }), + be.FE.DefineIcon("image-align-left", { NAME: "align-left" }), + be.FE.DefineIcon("image-align-right", { NAME: "align-right" }), + be.FE.DefineIcon("image-align-center", { NAME: "align-justify" }), + be.FE.DefineIcon("imageAlign", { NAME: "align-justify" }), + be.FE.RegisterCommand("imageAlign", { + type: "dropdown", + title: "Align", + options: { left: "Align Left", center: "None", right: "Align Right" }, + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = be.FE.COMMANDS.imageAlign.options; + for (var n in t) + t.hasOwnProperty(n) && + (e += + '<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="imageAlign" data-param1="' + + n + + '" title="' + + this.language.translate(t[n]) + + '">' + + this.icon.create("image-align-" + n) + + '<span class="fr-sr-only">' + + this.language.translate(t[n]) + + "</span></a></li>"); + return (e += "</ul>"); + }, + callback: function (e, t) { + this.image.align(t); + }, + refresh: function (e) { + this.image.refreshAlign(e); + }, + refreshOnShow: function (e, t) { + this.image.refreshAlignOnShow(e, t); + }, + }), + be.FE.DefineIcon("imageReplace", { NAME: "exchange", FA5NAME: "exchange-alt" }), + be.FE.RegisterCommand("imageReplace", { + title: "Replace", + undo: !1, + focus: !1, + popup: !0, + refreshAfterCallback: !1, + callback: function () { + this.image.replace(); + }, + }), + be.FE.DefineIcon("imageRemove", { NAME: "trash" }), + be.FE.RegisterCommand("imageRemove", { + title: "Remove", + callback: function () { + this.image.remove(); + }, + }), + be.FE.DefineIcon("imageBack", { NAME: "arrow-left" }), + be.FE.RegisterCommand("imageBack", { + title: "Back", + undo: !1, + focus: !1, + back: !0, + callback: function () { + this.image.back(); + }, + refresh: function (e) { + this.image.get() || this.opts.toolbarInline ? (e.removeClass("fr-hidden"), e.next(".fr-separator").removeClass("fr-hidden")) : (e.addClass("fr-hidden"), e.next(".fr-separator").addClass("fr-hidden")); + }, + }), + be.FE.RegisterCommand("imageDismissError", { + title: "OK", + undo: !1, + callback: function () { + this.image.hideProgressBar(!0); + }, + }), + be.FE.DefineIcon("imageStyle", { NAME: "magic" }), + be.FE.RegisterCommand("imageStyle", { + title: "Style", + type: "dropdown", + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = this.opts.imageStyles; + for (var n in t) + if (t.hasOwnProperty(n)) { + var r = t[n]; + "object" == typeof r && (r = r.title), (e += '<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="imageStyle" data-param1="' + n + '">' + this.language.translate(r) + "</a></li>"); + } + return (e += "</ul>"); + }, + callback: function (e, t) { + this.image.applyStyle(t); + }, + refreshOnShow: function (e, t) { + var n = this.image.getEl(); + n && + t.find(".fr-command").each(function () { + var e = be(this).data("param1"), + t = n.hasClass(e); + be(this).toggleClass("fr-active", t).attr("aria-selected", t); + }); + }, + }), + be.FE.DefineIcon("imageAlt", { NAME: "info" }), + be.FE.RegisterCommand("imageAlt", { + undo: !1, + focus: !1, + popup: !0, + title: "Alternative Text", + callback: function () { + this.image.showAltPopup(); + }, + }), + be.FE.RegisterCommand("imageSetAlt", { + undo: !0, + focus: !1, + title: "Update", + refreshAfterCallback: !1, + callback: function () { + this.image.setAlt(); + }, + }), + be.FE.DefineIcon("imageSize", { NAME: "arrows-alt" }), + be.FE.RegisterCommand("imageSize", { + undo: !1, + focus: !1, + popup: !0, + title: "Change Size", + callback: function () { + this.image.showSizePopup(); + }, + }), + be.FE.RegisterCommand("imageSetSize", { + undo: !0, + focus: !1, + title: "Update", + refreshAfterCallback: !1, + callback: function () { + this.image.setSize(); + }, + }), + be.FE.DefineIcon("imageCaption", { NAME: "commenting", FA5NAME: "comment-alt" }), + be.FE.RegisterCommand("imageCaption", { + undo: !0, + focus: !1, + title: "Image Caption", + refreshAfterCallback: !0, + callback: function () { + this.image.toggleCaption(); + }, + refresh: function (e) { + this.image.get() && e.toggleClass("fr-active", this.image.hasCaption()); + }, + }), + be.extend(be.FE.DEFAULTS, { + imageManagerLoadURL: "https://i.froala.com/load-files", + imageManagerLoadMethod: "get", + imageManagerLoadParams: {}, + imageManagerPreloader: null, + imageManagerDeleteURL: "", + imageManagerDeleteMethod: "post", + imageManagerDeleteParams: {}, + imageManagerPageSize: 12, + imageManagerScrollOffset: 20, + imageManagerToggleTags: !0, + }), + (be.FE.PLUGINS.imageManager = function (s) { + var l, + d, + r, + i, + a, + c, + o, + f, + p, + u, + h, + g = "image_manager", + e = 10, + m = 11, + v = 12, + E = 13, + b = 14, + T = 15, + A = 21, + C = 22, + n = {}; + function S() { + var e = be(window).outerWidth(); + return e < 768 ? 2 : e < 1200 ? 3 : 4; + } + function R() { + a.empty(); + for (var e = 0; e < h; e++) a.append('<div class="fr-list-column"></div>'); + } + function y() { + if (p < o.length && (a.outerHeight() <= r.outerHeight() + s.opts.imageManagerScrollOffset || r.scrollTop() + s.opts.imageManagerScrollOffset > a.outerHeight() - r.outerHeight())) { + f++; + for (var e = s.opts.imageManagerPageSize * (f - 1); e < Math.min(o.length, s.opts.imageManagerPageSize * f); e++) t(o[e]); + } + } + function t(i) { + var a = new Image(), + o = be('<div class="fr-image-container fr-empty fr-image-' + u++ + '" data-loading="' + s.language.translate("Loading") + '.." data-deleting="' + s.language.translate("Deleting") + '..">'); + w(!1), + (a.onload = function () { + o.height(Math.floor((o.width() / a.width) * a.height)); + var n = be("<img/>"); + if (i.thumb) n.attr("src", i.thumb); + else { + if ((D(b, i), !i.url)) return D(T, i), !1; + n.attr("src", i.url); + } + if ((i.url && n.attr("data-url", i.url), i.tag)) + if ((d.find(".fr-modal-more.fr-not-available").removeClass("fr-not-available"), d.find(".fr-modal-tags").show(), 0 <= i.tag.indexOf(","))) { + for (var e = i.tag.split(","), t = 0; t < e.length; t++) (e[t] = e[t].trim()), 0 === c.find('a[title="' + e[t] + '"]').length && c.append('<a role="button" title="' + e[t] + '">' + e[t] + "</a>"); + n.attr("data-tag", e.join()); + } else 0 === c.find('a[title="' + i.tag.trim() + '"]').length && c.append('<a role="button" title="' + i.tag.trim() + '">' + i.tag.trim() + "</a>"), n.attr("data-tag", i.tag.trim()); + for (var r in (i.name && n.attr("alt", i.name), i)) i.hasOwnProperty(r) && "thumb" != r && "url" != r && "tag" != r && n.attr("data-" + r, i[r]); + o + .append(n) + .append(be(s.icon.create("imageManagerDelete")).addClass("fr-delete-img").attr("title", s.language.translate("Delete"))) + .append(be(s.icon.create("imageManagerInsert")).addClass("fr-insert-img").attr("title", s.language.translate("Insert"))), + c.find(".fr-selected-tag").each(function (e, t) { + $(n, t.text) || o.hide(); + }), + n.on("load", function () { + o.removeClass("fr-empty"), + o.height("auto"), + p++, + x( + L( + parseInt( + n + .parent() + .attr("class") + .match(/fr-image-(\d+)/)[1], + 10 + ) + 1 + ) + ), + w(!1), + p % s.opts.imageManagerPageSize == 0 && y(); + }), + s.events.trigger("imageManager.imageLoaded", [n]); + }), + (a.onerror = function () { + p++, o.remove(), x(L(parseInt(o.attr("class").match(/fr-image-(\d+)/)[1], 10) + 1)), D(e, i), p % s.opts.imageManagerPageSize == 0 && y(); + }), + (a.src = i.thumb || i.url), + _().append(o); + } + function _() { + var r, i; + return ( + a.find(".fr-list-column").each(function (e, t) { + var n = be(t); + 0 === e ? ((i = n.outerHeight()), (r = n)) : n.outerHeight() < i && ((i = n.outerHeight()), (r = n)); + }), + r + ); + } + function L(e) { + e === undefined && (e = 0); + for (var t = [], n = u - 1; e <= n; n--) { + var r = a.find(".fr-image-" + n); + r.length && (t.push(r), be('<div id="fr-image-hidden-container">').append(r), a.find(".fr-image-" + n).remove()); + } + return t; + } + function x(e) { + for (var t = e.length - 1; 0 <= t; t--) _().append(e[t]); + } + function w(e) { + if ((e === undefined && (e = !0), !l.is(":visible"))) return !0; + var t = S(); + if (t != h) { + h = t; + var n = L(); + R(), x(n); + } + s.modals.resize(g), e && y(); + } + function N(e) { + var t = {}, + n = e.data(); + for (var r in n) n.hasOwnProperty(r) && "url" != r && "tag" != r && (t[r] = n[r]); + return t; + } + function O(e) { + var t = be(e.currentTarget).siblings("img"), + n = l.data("instance") || s, + r = l.data("current-image"); + if ((s.modals.hide(g), n.image.showProgressBar(), r)) r.data("fr-old-src", r.attr("src")), r.trigger("click"); + else { + n.events.focus(!0), n.selection.restore(); + var i = n.position.getBoundingRect(), + a = i.left + i.width / 2 + be(s.doc).scrollLeft(), + o = i.top + i.height + be(s.doc).scrollTop(); + n.popups.setContainer("image.insert", s.$sc), n.popups.show("image.insert", a, o); + } + n.image.insert(t.data("url"), !1, N(t), r); + } + function I(e) { + var n = be(e.currentTarget).siblings("img"), + t = s.language.translate("Are you sure? Image will be deleted."); + confirm(t) && + (s.opts.imageManagerDeleteURL + ? !1 !== s.events.trigger("imageManager.beforeDeleteImage", [n]) && + (n.parent().addClass("fr-image-deleting"), + be + .ajax({ + method: s.opts.imageManagerDeleteMethod, + url: s.opts.imageManagerDeleteURL, + data: be.extend(be.extend({ src: n.attr("src") }, N(n)), s.opts.imageManagerDeleteParams), + crossDomain: s.opts.requestWithCORS, + xhrFields: { withCredentials: s.opts.requestWithCredentials }, + headers: s.opts.requestHeaders, + }) + .done(function (e) { + s.events.trigger("imageManager.imageDeleted", [e]); + var t = L( + parseInt( + n + .parent() + .attr("class") + .match(/fr-image-(\d+)/)[1], + 10 + ) + 1 + ); + n.parent().remove(), + x(t), + l.find("#fr-modal-tags > a").each(function () { + 0 === l.find('#fr-image-list [data-tag*="' + be(this).text() + '"]').length && be(this).removeClass("fr-selected-tag").hide(); + }), + F(), + w(!0); + }) + .fail(function (e) { + D(A, e.response || e.responseText); + })) + : D(C)); + } + function D(e, t) { + 10 <= e && e < 20 ? i.hide() : 20 <= e && e < 30 && be(".fr-image-deleting").removeClass("fr-image-deleting"), s.events.trigger("imageManager.error", [{ code: e, message: n[e] }, t]); + } + function k() { + var e = d.find(".fr-modal-head-line").outerHeight(), + t = c.outerHeight(); + d.toggleClass("fr-show-tags"), d.hasClass("fr-show-tags") ? (d.css("height", e + t), c.find("a").css("opacity", 1)) : (d.css("height", e), c.find("a").css("opacity", 0)); + } + function F() { + var e = c.find(".fr-selected-tag"); + 0 < e.length + ? (a.find("img").parent().show(), + e.each(function (e, r) { + a.find("img").each(function (e, t) { + var n = be(t); + $(n, r.text) || n.parent().hide(); + }); + })) + : a.find("img").parent().show(), + x(L()), + y(); + } + function M(e) { + e.preventDefault(); + var t = be(e.currentTarget); + t.toggleClass("fr-selected-tag"), s.opts.imageManagerToggleTags && t.siblings("a").removeClass("fr-selected-tag"), F(); + } + function $(e, t) { + for (var n = (e.attr("data-tag") || "").split(","), r = 0; r < n.length; r++) if (n[r] == t) return !0; + return !1; + } + return ( + (n[e] = "Image cannot be loaded from the passed link."), + (n[m] = "Error during load images request."), + (n[v] = "Missing imageManagerLoadURL option."), + (n[E] = "Parsing load response failed."), + (n[b] = "Missing image thumb."), + (n[T] = "Missing image URL."), + (n[A] = "Error during delete image request."), + (n[C] = "Missing imageManagerDeleteURL option."), + { + require: ["image"], + _init: function () { + if (!s.$wp && "IMG" != s.el.tagName) return !1; + }, + show: function () { + if (!l) { + var e, + t = + '<div class="fr-modal-head-line"><i class="fa fa-bars fr-modal-more fr-not-available" id="fr-modal-more-' + + s.sid + + '" title="' + + s.language.translate("Tags") + + '"></i><h4 data-text="true">' + + s.language.translate("Manage Images") + + "</h4></div>"; + (t += '<div class="fr-modal-tags" id="fr-modal-tags"></div>'), + (e = s.opts.imageManagerPreloader + ? '<img class="fr-preloader" id="fr-preloader" alt="' + s.language.translate("Loading") + '.." src="' + s.opts.imageManagerPreloader + '" style="display: none;">' + : '<span class="fr-preloader" id="fr-preloader" style="display: none;">' + s.language.translate("Loading") + "</span>"), + (e += '<div class="fr-image-list" id="fr-image-list"></div>'); + var n = s.modals.create(g, t, e); + (l = n.$modal), (d = n.$head), (r = n.$body); + } + l.data("current-image", s.image.get()), + s.modals.show(g), + i || + ((i = l.find("#fr-preloader")), + (a = l.find("#fr-image-list")), + (c = l.find("#fr-modal-tags")), + (h = S()), + R(), + d.css("height", d.find(".fr-modal-head-line").outerHeight()), + s.events.$on(be(s.o_win), "resize", function () { + w(!!o); + }), + s.helpers.isMobile() && + (s.events.bindClick(a, "div.fr-image-container", function (e) { + l.find(".fr-mobile-selected").removeClass("fr-mobile-selected"), be(e.currentTarget).addClass("fr-mobile-selected"); + }), + l.on(s._mousedown, function () { + l.find(".fr-mobile-selected").removeClass("fr-mobile-selected"); + })), + s.events.bindClick(a, ".fr-insert-img", O), + s.events.bindClick(a, ".fr-delete-img", I), + l.on(s._mousedown + " " + s._mouseup, function (e) { + e.stopPropagation(); + }), + l.on(s._mousedown, "*", function () { + s.events.disableBlur(); + }), + r.on("scroll", y), + s.events.bindClick(l, "i#fr-modal-more-" + s.sid, k), + s.events.bindClick(c, "a", M)), + i.show(), + a.find(".fr-list-column").empty(), + s.opts.imageManagerLoadURL + ? be + .ajax({ + url: s.opts.imageManagerLoadURL, + method: s.opts.imageManagerLoadMethod, + data: s.opts.imageManagerLoadParams, + dataType: "json", + crossDomain: s.opts.requestWithCORS, + xhrFields: { withCredentials: s.opts.requestWithCredentials }, + headers: s.opts.requestHeaders, + }) + .done(function (e, t, n) { + s.events.trigger("imageManager.imagesLoaded", [e]), + (function (e, t) { + try { + a.find(".fr-list-column").empty(), (u = p = f = 0), (o = e), y(); + } catch (n) { + D(E, t); + } + })(e, n.response), + i.hide(); + }) + .fail(function () { + var e = this.xhr(); + D(m, e.response || e.responseText); + }) + : D(v); + }, + hide: function () { + s.modals.hide(g); + }, + } + ); + }), + !be.FE.PLUGINS.image) + ) + throw new Error("Image manager plugin requires image plugin."); + be.FE.DEFAULTS.imageInsertButtons.push("imageManager"), + be.FE.RegisterCommand("imageManager", { + title: "Browse", + undo: !1, + focus: !1, + modal: !0, + callback: function () { + this.imageManager.show(); + }, + plugin: "imageManager", + }), + be.FE.DefineIcon("imageManager", { NAME: "folder" }), + be.FE.DefineIcon("imageManagerInsert", { NAME: "plus" }), + be.FE.DefineIcon("imageManagerDelete", { NAME: "trash" }), + be.extend(be.FE.DEFAULTS, { inlineClasses: { "fr-class-code": "Code", "fr-class-highlighted": "Highlighted", "fr-class-transparency": "Transparent" } }), + (be.FE.PLUGINS.inlineClass = function (n) { + return { + apply: function (e) { + n.format.toggle("span", { class: e }); + }, + refreshOnShow: function (e, t) { + t.find(".fr-command").each(function () { + var e = be(this).data("param1"), + t = n.format.is("span", { class: e }); + be(this).toggleClass("fr-active", t).attr("aria-selected", t); + }); + }, + }; + }), + be.FE.RegisterCommand("inlineClass", { + type: "dropdown", + title: "Inline Class", + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = this.opts.inlineClasses; + for (var n in t) t.hasOwnProperty(n) && (e += '<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="inlineClass" data-param1="' + n + '" title="' + t[n] + '">' + t[n] + "</a></li>"); + return (e += "</ul>"); + }, + callback: function (e, t) { + this.inlineClass.apply(t); + }, + refreshOnShow: function (e, t) { + this.inlineClass.refreshOnShow(e, t); + }, + plugin: "inlineClass", + }), + be.FE.DefineIcon("inlineClass", { NAME: "tag" }), + be.extend(be.FE.DEFAULTS, { inlineStyles: { "Big Red": "font-size: 20px; color: red;", "Small Blue": "font-size: 14px; color: blue;" } }), + (be.FE.PLUGINS.inlineStyle = function (i) { + return { + apply: function (e) { + if ("" !== i.selection.text()) + for (var t = e.split(";"), n = 0; n < t.length; n++) { + var r = t[n].split(":"); + t[n].length && 2 == r.length && i.format.applyStyle(r[0].trim(), r[1].trim()); + } + else i.html.insert('<span style="' + e + '">' + be.FE.INVISIBLE_SPACE + be.FE.MARKERS + "</span>"); + }, + }; + }), + be.FE.RegisterCommand("inlineStyle", { + type: "dropdown", + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = this.opts.inlineStyles; + for (var n in t) + t.hasOwnProperty(n) && + (e += + '<li role="presentation"><span style="' + + t[n] + + '" role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="inlineStyle" data-param1="' + + t[n] + + '" title="' + + this.language.translate(n) + + '">' + + this.language.translate(n) + + "</a></span></li>"); + return (e += "</ul>"); + }, + title: "Inline Style", + callback: function (e, t) { + this.inlineStyle.apply(t); + }, + plugin: "inlineStyle", + }), + be.FE.DefineIcon("inlineStyle", { NAME: "paint-brush" }), + be.extend(be.FE.DEFAULTS, { lineBreakerTags: ["table", "hr", "form", "dl", "span.fr-video", ".fr-embedly"], lineBreakerOffset: 15, lineBreakerHorizontalOffset: 10 }), + (be.FE.PLUGINS.lineBreaker = function (p) { + var u, t, i; + function s(e, t) { + var n, r, i, a, o, s, l, d; + if (null == e) (o = (a = t.parent()).offset().top), (n = (l = t.offset().top) - Math.min((l - o) / 2, p.opts.lineBreakerOffset)), (i = a.outerWidth()), (r = a.offset().left); + else if (null == t) + (s = (a = e.parent()).offset().top + a.outerHeight()) < (d = e.offset().top + e.outerHeight()) && (s = (a = be(a).parent()).offset().top + a.outerHeight()), + (n = d + Math.min(Math.abs(s - d) / 2, p.opts.lineBreakerOffset)), + (i = a.outerWidth()), + (r = a.offset().left); + else { + a = e.parent(); + var c = e.offset().top + e.height(), + f = t.offset().top; + if (f < c) return !1; + (n = (c + f) / 2), (i = a.outerWidth()), (r = a.offset().left); + } + p.opts.iframe && ((r += p.$iframe.offset().left - p.helpers.scrollLeft()), (n += p.$iframe.offset().top - p.helpers.scrollTop())), + p.$box.append(u), + u.css("top", n - p.win.pageYOffset), + u.css("left", r - p.win.pageXOffset), + u.css("width", i), + u.data("tag1", e), + u.data("tag2", t), + u.addClass("fr-visible").data("instance", p); + } + function l(e) { + if (e) { + var t = be(e); + if (0 === p.$el.find(t).length) return null; + if (e.nodeType != Node.TEXT_NODE && t.is(p.opts.lineBreakerTags.join(","))) return t; + if (0 < t.parents(p.opts.lineBreakerTags.join(",")).length) return (e = t.parents(p.opts.lineBreakerTags.join(",")).get(0)), 0 !== p.$el.find(e).length && be(e).is(p.opts.lineBreakerTags.join(",")) ? be(e) : null; + } + return null; + } + function a(e, t) { + var n = p.doc.elementFromPoint(e, t); + return n && + !be(n).closest(".fr-line-breaker").length && + !p.node.isElement(n) && + n != p.$wp.get(0) && + (function (e) { + if ("undefined" != typeof e.inFroalaWrapper) return e.inFroalaWrapper; + for (var t = e; e.parentNode && e.parentNode !== p.$wp.get(0); ) e = e.parentNode; + return (t.inFroalaWrapper = e.parentNode == p.$wp.get(0)), t.inFroalaWrapper; + })(n) + ? n + : null; + } + function o(e, t, n) { + for (var r = n, i = null; r <= p.opts.lineBreakerOffset && !i; ) (i = a(e, t - r)) || (i = a(e, t + r)), (r += n); + return i; + } + function d(e, t, n) { + for (var r = null, i = 100; !r && e > p.$box.offset().left && e < p.$box.offset().left + p.$box.outerWidth() && 0 < i; ) + (r = a(e, t)) || (r = o(e, t, 5)), "left" == n ? (e -= p.opts.lineBreakerHorizontalOffset) : (e += p.opts.lineBreakerHorizontalOffset), (i -= p.opts.lineBreakerHorizontalOffset); + return r; + } + function n(e) { + var t = (i = null), + n = null, + r = p.doc.elementFromPoint(e.pageX - p.win.pageXOffset, e.pageY - p.win.pageYOffset); + r && ("HTML" == r.tagName || "BODY" == r.tagName || p.node.isElement(r) || 0 <= (r.getAttribute("class") || "").indexOf("fr-line-breaker")) + ? ((n = o(e.pageX - p.win.pageXOffset, e.pageY - p.win.pageYOffset, 1)) || (n = d(e.pageX - p.win.pageXOffset - p.opts.lineBreakerHorizontalOffset, e.pageY - p.win.pageYOffset, "left")), + n || (n = d(e.pageX - p.win.pageXOffset + p.opts.lineBreakerHorizontalOffset, e.pageY - p.win.pageYOffset, "right")), + (t = l(n))) + : (t = l(r)), + t + ? (function (e, t) { + var n, + r, + i = e.offset().top, + a = e.offset().top + e.outerHeight(); + if (Math.abs(a - t) <= p.opts.lineBreakerOffset || Math.abs(t - i) <= p.opts.lineBreakerOffset) + if (Math.abs(a - t) < Math.abs(t - i)) { + for (var o = (r = e.get(0)).nextSibling; o && o.nodeType == Node.TEXT_NODE && 0 === o.textContent.length; ) o = o.nextSibling; + if (!o) return s(e, null); + if ((n = l(o))) return s(e, n); + } else { + if (!(r = e.get(0)).previousSibling) return s(null, e); + if ((n = l(r.previousSibling))) return s(n, e); + } + u.removeClass("fr-visible").removeData("instance"); + })(t, e.pageY) + : p.core.sameInstance(u) && u.removeClass("fr-visible").removeData("instance"); + } + function e(e) { + return ( + !(u.hasClass("fr-visible") && !p.core.sameInstance(u)) && + (p.popups.areVisible() || p.el.querySelector(".fr-selected-cell") ? (u.removeClass("fr-visible"), !0) : void (!1 !== t || p.edit.isDisabled() || (i && clearTimeout(i), (i = setTimeout(n, 30, e))))) + ); + } + function r() { + i && clearTimeout(i), u && u.hasClass("fr-visible") && u.removeClass("fr-visible").removeData("instance"); + } + function c() { + (t = !0), r(); + } + function f() { + t = !1; + } + function h(e) { + e.preventDefault(); + var t = u.data("instance") || p; + u.removeClass("fr-visible").removeData("instance"); + var n = u.data("tag1"), + r = u.data("tag2"), + i = p.html.defaultTag(); + null == n + ? i && "TD" != r.parent().get(0).tagName && 0 === r.parents(i).length + ? r.before("<" + i + ">" + be.FE.MARKERS + "<br></" + i + ">") + : r.before(be.FE.MARKERS + "<br>") + : i && "TD" != n.parent().get(0).tagName && 0 === n.parents(i).length + ? n.after("<" + i + ">" + be.FE.MARKERS + "<br></" + i + ">") + : n.after(be.FE.MARKERS + "<br>"), + t.selection.restore(); + } + return { + _init: function () { + if (!p.$wp) return !1; + p.shared.$line_breaker || + (p.shared.$line_breaker = be( + '<div class="fr-line-breaker"><a class="fr-floating-btn" role="button" tabIndex="-1" title="' + + p.language.translate("Break") + + '"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><rect x="21" y="11" width="2" height="8"/><rect x="14" y="17" width="7" height="2"/><path d="M14.000,14.000 L14.000,22.013 L9.000,18.031 L14.000,14.000 Z"/></svg></a></div>' + )), + (u = p.shared.$line_breaker), + p.events.on( + "shared.destroy", + function () { + u.html("").removeData().remove(), (u = null); + }, + !0 + ), + p.events.on( + "destroy", + function () { + u.removeData("instance").removeClass("fr-visible").appendTo("body:first"), clearTimeout(i); + }, + !0 + ), + p.events.$on( + u, + "mousemove", + function (e) { + e.stopPropagation(); + }, + !0 + ), + p.events.bindClick(u, "a", h), + (t = !1), + p.events.$on(p.$win, "mousemove", e), + p.events.$on(be(p.win), "scroll", r), + p.events.on("popups.show.table.edit", r), + p.events.on("commands.after", r), + p.events.$on(be(p.win), "mousedown", c), + p.events.$on(be(p.win), "mouseup", f); + }, + }; + }), + be.extend(be.FE.DEFAULTS, { lineHeights: { Default: "", Single: "1", 1.15: "1.15", 1.5: "1.5", Double: "2" } }), + (be.FE.PLUGINS.lineHeight = function (i) { + return { + _init: function () {}, + apply: function (e) { + i.selection.save(), i.html.wrap(!0, !0, !0, !0), i.selection.restore(); + var t = i.selection.blocks(); + i.selection.save(); + for (var n = 0; n < t.length; n++) be(t[n]).css("line-height", e), "" === be(t[n]).attr("style") && be(t[n]).removeAttr("style"); + i.html.unwrap(), i.selection.restore(); + }, + refreshOnShow: function (e, t) { + var n = i.selection.blocks(); + if (n.length) { + var r = be(n[0]); + t.find(".fr-command").each(function () { + var e = be(this).data("param1"), + t = 0 <= (r.attr("style") || "").indexOf("line-height: " + e + ";"); + be(this).toggleClass("fr-active", t).attr("aria-selected", t); + }); + } + }, + }; + }), + be.FE.RegisterCommand("lineHeight", { + type: "dropdown", + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = this.opts.lineHeights; + for (var n in t) + t.hasOwnProperty(n) && + (e += + '<li role="presentation"><a class="fr-command ' + + n + + '" tabIndex="-1" role="option" data-cmd="lineHeight" data-param1="' + + t[n] + + '" title="' + + this.language.translate(n) + + '">' + + this.language.translate(n) + + "</a></li>"); + return (e += "</ul>"); + }, + title: "Line Height", + callback: function (e, t) { + this.lineHeight.apply(t); + }, + refreshOnShow: function (e, t) { + this.lineHeight.refreshOnShow(e, t); + }, + plugin: "lineHeight", + }), + be.FE.DefineIcon("lineHeight", { NAME: "arrows-v", FA5NAME: "arrows-alt-v" }), + be.extend(be.FE.POPUP_TEMPLATES, { "link.edit": "[_BUTTONS_]", "link.insert": "[_BUTTONS_][_INPUT_LAYER_]" }), + be.extend(be.FE.DEFAULTS, { + linkEditButtons: ["linkOpen", "linkStyle", "linkEdit", "linkRemove"], + linkInsertButtons: ["linkBack", "|", "linkList"], + linkAttributes: {}, + linkAutoPrefix: "http://", + linkStyles: { "fr-green": "Green", "fr-strong": "Thick" }, + linkMultipleStyles: !0, + linkConvertEmailAddress: !0, + linkAlwaysBlank: !1, + linkAlwaysNoFollow: !1, + linkNoOpener: !0, + linkNoReferrer: !0, + linkList: [ + { text: "Froala", href: "https://froala.com", target: "_blank" }, + { text: "Google", href: "https://google.com", target: "_blank" }, + { displayText: "Facebook", href: "https://facebook.com" }, + ], + linkText: !0, + }), + (be.FE.PLUGINS.link = function (f) { + function p() { + var e = f.image ? f.image.get() : null; + if (!e && f.$wp) { + var t = f.selection.ranges(0).commonAncestorContainer; + try { + t && ((t.contains && t.contains(f.el)) || !f.el.contains(t) || f.el == t) && (t = null); + } catch (i) { + t = null; + } + if (t && "A" === t.tagName) return t; + var n = f.selection.element(), + r = f.selection.endElement(); + "A" == n.tagName || f.node.isElement(n) || (n = be(n).parentsUntil(f.$el, "a:first").get(0)), "A" == r.tagName || f.node.isElement(r) || (r = be(r).parentsUntil(f.$el, "a:first").get(0)); + try { + r && ((r.contains && r.contains(f.el)) || !f.el.contains(r) || f.el == r) && (r = null); + } catch (i) { + r = null; + } + try { + n && ((n.contains && n.contains(f.el)) || !f.el.contains(n) || f.el == n) && (n = null); + } catch (i) { + n = null; + } + return r && r == n && "A" == r.tagName ? ((f.browser.msie || f.helpers.isMobile()) && (f.selection.info(n).atEnd || f.selection.info(n).atStart) ? null : n) : null; + } + return "A" == f.el.tagName ? f.el : e && e.get(0).parentNode && "A" == e.get(0).parentNode.tagName ? e.get(0).parentNode : void 0; + } + function u() { + var e, + t, + n, + r, + i = f.image ? f.image.get() : null, + a = []; + if (i) "A" == i.get(0).parentNode.tagName && a.push(i.get(0).parentNode); + else if (f.win.getSelection) { + var o = f.win.getSelection(); + if (o.getRangeAt && o.rangeCount) { + r = f.doc.createRange(); + for (var s = 0; s < o.rangeCount; ++s) + if (((t = (e = o.getRangeAt(s)).commonAncestorContainer) && 1 != t.nodeType && (t = t.parentNode), t && "a" == t.nodeName.toLowerCase())) a.push(t); + else { + n = t.getElementsByTagName("a"); + for (var l = 0; l < n.length; ++l) r.selectNodeContents(n[l]), r.compareBoundaryPoints(e.END_TO_START, e) < 1 && -1 < r.compareBoundaryPoints(e.START_TO_END, e) && a.push(n[l]); + } + } + } else if (f.doc.selection && "Control" != f.doc.selection.type) + if ("a" == (t = (e = f.doc.selection.createRange()).parentElement()).nodeName.toLowerCase()) a.push(t); + else { + (n = t.getElementsByTagName("a")), (r = f.doc.body.createTextRange()); + for (var d = 0; d < n.length; ++d) r.moveToElementText(n[d]), -1 < r.compareEndPoints("StartToEnd", e) && r.compareEndPoints("EndToStart", e) < 1 && a.push(n[d]); + } + return a; + } + function h(i) { + if (f.core.hasFocus()) { + if ((o(), i && "keyup" === i.type && (i.altKey || i.which == be.FE.KEYCODE.ALT))) return !0; + setTimeout( + function () { + if (!i || (i && (1 == i.which || "mouseup" != i.type))) { + var e = p(), + t = f.image ? f.image.get() : null; + if (e && !t) { + if (f.image) { + var n = f.node.contents(e); + if (1 == n.length && "IMG" == n[0].tagName) { + var r = f.selection.ranges(0); + return 0 === r.startOffset && 0 === r.endOffset ? be(e).before(be.FE.MARKERS) : be(e).after(be.FE.MARKERS), f.selection.restore(), !1; + } + } + i && i.stopPropagation(), a(e); + } + } + }, + f.helpers.isIOS() ? 100 : 0 + ); + } + } + function a(e) { + var t = f.popups.get("link.edit"); + t || + (t = (function () { + var e = ""; + 1 <= f.opts.linkEditButtons.length && + ("A" == f.el.tagName && 0 <= f.opts.linkEditButtons.indexOf("linkRemove") && f.opts.linkEditButtons.splice(f.opts.linkEditButtons.indexOf("linkRemove"), 1), + (e = '<div class="fr-buttons">' + f.button.buildList(f.opts.linkEditButtons) + "</div>")); + var t = { buttons: e }, + n = f.popups.create("link.edit", t); + f.$wp && + f.events.$on(f.$wp, "scroll.link-edit", function () { + p() && f.popups.isVisible("link.edit") && a(p()); + }); + return n; + })()); + var n = be(e); + f.popups.isVisible("link.edit") || f.popups.refresh("link.edit"), f.popups.setContainer("link.edit", f.$sc); + var r = n.offset().left + be(e).outerWidth() / 2, + i = n.offset().top + n.outerHeight(); + f.popups.show("link.edit", r, i, n.outerHeight()); + } + function o() { + f.popups.hide("link.edit"); + } + function l() {} + function d() { + var e = f.popups.get("link.insert"), + t = p(); + if (t) { + var n, + r, + i = be(t), + a = e.find('input.fr-link-attr[type="text"]'), + o = e.find('input.fr-link-attr[type="checkbox"]'); + for (n = 0; n < a.length; n++) (r = be(a[n])).val(i.attr(r.attr("name") || "")); + for (o.prop("checked", !1), n = 0; n < o.length; n++) (r = be(o[n])), i.attr(r.attr("name")) == r.data("checked") && r.prop("checked", !0); + e.find('input.fr-link-attr[type="text"][name="text"]').val(i.text()); + } else e.find('input.fr-link-attr[type="text"]').val(""), e.find('input.fr-link-attr[type="checkbox"]').prop("checked", !1), e.find('input.fr-link-attr[type="text"][name="text"]').val(f.selection.text()); + e.find("input.fr-link-attr").trigger("change"), (f.image ? f.image.get() : null) ? e.find('.fr-link-attr[name="text"]').parent().hide() : e.find('.fr-link-attr[name="text"]').parent().show(); + } + function s(e) { + if (e) return f.popups.onRefresh("link.insert", d), f.popups.onHide("link.insert", l), !0; + var t = ""; + 1 <= f.opts.linkInsertButtons.length && (t = '<div class="fr-buttons">' + f.button.buildList(f.opts.linkInsertButtons) + "</div>"); + var n = "", + r = 0; + for (var i in ((n = '<div class="fr-link-insert-layer fr-layer fr-active" id="fr-link-insert-layer-' + f.id + '">'), + (n += '<div class="fr-input-line"><input id="fr-link-insert-layer-url-' + f.id + '" name="href" type="text" class="fr-link-attr" placeholder="' + f.language.translate("URL") + '" tabIndex="' + ++r + '"></div>'), + f.opts.linkText && + (n += '<div class="fr-input-line"><input id="fr-link-insert-layer-text-' + f.id + '" name="text" type="text" class="fr-link-attr" placeholder="' + f.language.translate("Text") + '" tabIndex="' + ++r + '"></div>'), + f.opts.linkAttributes)) + if (f.opts.linkAttributes.hasOwnProperty(i)) { + var a = f.opts.linkAttributes[i]; + n += '<div class="fr-input-line"><input name="' + i + '" type="text" class="fr-link-attr" placeholder="' + f.language.translate(a) + '" tabIndex="' + ++r + '"></div>'; + } + f.opts.linkAlwaysBlank || + (n += + '<div class="fr-checkbox-line"><span class="fr-checkbox"><input name="target" class="fr-link-attr" data-checked="_blank" type="checkbox" id="fr-link-target-' + + f.id + + '" tabIndex="' + + ++r + + '"><span><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="10" height="10" viewBox="0 0 32 32"><path d="M27 4l-15 15-7-7-5 5 12 12 20-20z" fill="#FFF"></path></svg></span></span><label for="fr-link-target-' + + f.id + + '">' + + f.language.translate("Open in new tab") + + "</label></div>"); + var o = { + buttons: t, + input_layer: (n += + '<div class="fr-action-buttons"><button class="fr-command fr-submit" role="button" data-cmd="linkInsert" href="#" tabIndex="' + + ++r + + '" type="button">' + + f.language.translate("Insert") + + "</button></div></div>"), + }, + s = f.popups.create("link.insert", o); + return ( + f.$wp && + f.events.$on(f.$wp, "scroll.link-insert", function () { + (f.image ? f.image.get() : null) && f.popups.isVisible("link.insert") && m(), f.popups.isVisible("link.insert") && g(); + }), + s + ); + } + function c(e, t, n) { + if ((void 0 === n && (n = {}), !1 === f.events.trigger("link.beforeInsert", [e, t, n]))) return !1; + var r = f.image ? f.image.get() : null; + r || "A" == f.el.tagName ? "A" == f.el.tagName && f.$el.focus() : (f.selection.restore(), f.popups.hide("link.insert")); + var i = e; + f.opts.linkConvertEmailAddress && f.helpers.isEmail(e) && !/^mailto:.*/i.test(e) && (e = "mailto:" + e); + if ( + ("" === f.opts.linkAutoPrefix || + new RegExp("^(" + be.FE.LinkProtocols.join("|") + "):.", "i").test(e) || + /^data:image.*/i.test(e) || + /^(https?:|ftps?:|file:|)\/\//i.test(e) || + /^([A-Za-z]:(\\){1,2}|[A-Za-z]:((\\){1,2}[^\\]+)+)(\\)?$/i.test(e) || + (["/", "{", "[", "#", "(", "."].indexOf((e || "")[0]) < 0 && (e = f.opts.linkAutoPrefix + f.helpers.sanitizeURL(e))), + (e = f.helpers.sanitizeURL(e)), + f.opts.linkAlwaysBlank && (n.target = "_blank"), + f.opts.linkAlwaysNoFollow && (n.rel = "nofollow"), + f.helpers.isEmail(i) && ((n.target = null), (n.rel = null)), + "_blank" == n.target + ? (f.opts.linkNoOpener && (n.rel ? (n.rel += " noopener") : (n.rel = "noopener")), f.opts.linkNoReferrer && (n.rel ? (n.rel += " noreferrer") : (n.rel = "noreferrer"))) + : null == n.target && (n.rel ? (n.rel = n.rel.replace(/noopener/, "").replace(/noreferrer/, "")) : (n.rel = null)), + (t = t || ""), + e === f.opts.linkAutoPrefix) + ) + return f.popups.get("link.insert").find('input[name="href"]').addClass("fr-error"), f.events.trigger("link.bad", [i]), !1; + var a, + o = p(); + if (o) { + if (((a = be(o)).attr("href", e), 0 < t.length && a.text() != t && !r)) { + for (var s = a.get(0); 1 === s.childNodes.length && s.childNodes[0].nodeType == Node.ELEMENT_NODE; ) s = s.childNodes[0]; + be(s).text(t); + } + r || a.prepend(be.FE.START_MARKER).append(be.FE.END_MARKER), a.attr(n), r || f.selection.restore(); + } else { + r + ? r.wrap('<a href="' + e + '"></a>') + : (f.format.remove("a"), + f.selection.isCollapsed() + ? ((t = 0 === t.length ? i : t), f.html.insert('<a href="' + e + '">' + be.FE.START_MARKER + t.replace(/&/g, "&amp;") + be.FE.END_MARKER + "</a>"), f.selection.restore()) + : 0 < t.length && t != f.selection.text().replace(/\n/g, "") + ? (f.selection.remove(), f.html.insert('<a href="' + e + '">' + be.FE.START_MARKER + t.replace(/&/g, "&amp;") + be.FE.END_MARKER + "</a>"), f.selection.restore()) + : (!(function () { + if (!f.selection.isCollapsed()) { + f.selection.save(); + for (var e = f.$el.find(".fr-marker").addClass("fr-unprocessed").toArray(); e.length; ) { + var t = be(e.pop()); + t.removeClass("fr-unprocessed"); + var n = f.node.deepestParent(t.get(0)); + if (n) { + for (var r = t.get(0), i = "", a = ""; (r = r.parentNode), f.node.isBlock(r) || ((i += f.node.closeTagString(r)), (a = f.node.openTagString(r) + a)), r != n; ); + var o = f.node.openTagString(t.get(0)) + t.html() + f.node.closeTagString(t.get(0)); + t.replaceWith('<span id="fr-break"></span>'); + var s = n.outerHTML; + (s = s.replace(/<span id="fr-break"><\/span>/g, i + o + a)), (n.outerHTML = s); + } + e = f.$el.find(".fr-marker.fr-unprocessed").toArray(); + } + f.html.cleanEmptyTags(), f.selection.restore(); + } + })(), + f.format.apply("a", { href: e }))); + for (var l = u(), d = 0; d < l.length; d++) (a = be(l[d])).attr(n), a.removeAttr("_moz_dirty"); + 1 == l.length && f.$wp && !r && (be(l[0]).prepend(be.FE.START_MARKER).append(be.FE.END_MARKER), f.selection.restore()); + } + if (r) { + var c = f.popups.get("link.insert"); + c && c.find("input:focus").blur(), f.image.edit(r); + } else h(); + } + function g() { + o(); + var e = p(); + if (e) { + var t = f.popups.get("link.insert"); + t || (t = s()), + f.popups.isVisible("link.insert") || (f.popups.refresh("link.insert"), f.selection.save(), f.helpers.isMobile() && (f.events.disableBlur(), f.$el.blur(), f.events.enableBlur())), + f.popups.setContainer("link.insert", f.$sc); + var n = (f.image ? f.image.get() : null) || be(e), + r = n.offset().left + n.outerWidth() / 2, + i = n.offset().top + n.outerHeight(); + f.popups.show("link.insert", r, i, n.outerHeight()); + } + } + function m() { + var e = f.image ? f.image.getEl() : null; + if (e) { + var t = f.popups.get("link.insert"); + f.image.hasCaption() && (e = e.find(".fr-img-wrap")), t || (t = s()), d(), f.popups.setContainer("link.insert", f.$sc); + var n = e.offset().left + e.outerWidth() / 2, + r = e.offset().top + e.outerHeight(); + f.popups.show("link.insert", n, r, e.outerHeight()); + } + } + return { + _init: function () { + f.events.on("keyup", function (e) { + e.which != be.FE.KEYCODE.ESC && h(e); + }), + f.events.on("window.mouseup", h), + f.events.$on(f.$el, "click", "a", function (e) { + f.edit.isDisabled() && e.preventDefault(); + }), + f.helpers.isMobile() && f.events.$on(f.$doc, "selectionchange", h), + s(!0), + "A" == f.el.tagName && f.$el.addClass("fr-view"), + f.events.on( + "toolbar.esc", + function () { + if (f.popups.isVisible("link.edit")) return f.events.disableBlur(), f.events.focus(), !1; + }, + !0 + ); + }, + remove: function () { + var e = p(), + t = f.image ? f.image.get() : null; + if (!1 === f.events.trigger("link.beforeRemove", [e])) return !1; + t && e ? (t.unwrap(), f.image.edit(t)) : e && (f.selection.save(), be(e).replaceWith(be(e).html()), f.selection.restore(), o()); + }, + showInsertPopup: function () { + var e = f.$tb.find('.fr-command[data-cmd="insertLink"]'), + t = f.popups.get("link.insert"); + if ((t || (t = s()), !t.hasClass("fr-active"))) + if ((f.popups.refresh("link.insert"), f.popups.setContainer("link.insert", f.$tb || f.$sc), e.is(":visible"))) { + var n = e.offset().left + e.outerWidth() / 2, + r = e.offset().top + (f.opts.toolbarBottom ? 10 : e.outerHeight() - 10); + f.popups.show("link.insert", n, r, e.outerHeight()); + } else f.position.forSelection(t), f.popups.show("link.insert"); + }, + usePredefined: function (e) { + var t, + n, + r = f.opts.linkList[e], + i = f.popups.get("link.insert"), + a = i.find('input.fr-link-attr[type="text"]'), + o = i.find('input.fr-link-attr[type="checkbox"]'); + for (n = 0; n < a.length; n++) r[(t = be(a[n])).attr("name")] ? t.val(r[t.attr("name")]) : "text" != t.attr("name") && t.val(""); + for (n = 0; n < o.length; n++) (t = be(o[n])).prop("checked", t.data("checked") == r[t.attr("name")]); + f.accessibility.focusPopup(i); + }, + insertCallback: function () { + var e, + t, + n = f.popups.get("link.insert"), + r = n.find('input.fr-link-attr[type="text"]'), + i = n.find('input.fr-link-attr[type="checkbox"]'), + a = (r.filter('[name="href"]').val() || "").trim(), + o = r.filter('[name="text"]').val(), + s = {}; + for (t = 0; t < r.length; t++) (e = be(r[t])), ["href", "text"].indexOf(e.attr("name")) < 0 && (s[e.attr("name")] = e.val()); + for (t = 0; t < i.length; t++) (e = be(i[t])).is(":checked") ? (s[e.attr("name")] = e.data("checked")) : (s[e.attr("name")] = e.data("unchecked") || null); + var l = f.helpers.scrollTop(); + c(a, o, s), be(f.o_win).scrollTop(l); + }, + insert: c, + update: g, + get: p, + allSelected: u, + back: function () { + f.image && f.image.get() + ? f.image.back() + : (f.events.disableBlur(), + f.selection.restore(), + f.events.enableBlur(), + p() && f.$wp ? (f.selection.restore(), o(), h()) : "A" == f.el.tagName ? (f.$el.focus(), h()) : (f.popups.hide("link.insert"), f.toolbar.showInline())); + }, + imageLink: m, + applyStyle: function (e, t, n) { + void 0 === n && (n = f.opts.linkMultipleStyles), void 0 === t && (t = f.opts.linkStyles); + var r = p(); + if (!r) return !1; + if (!n) { + var i = Object.keys(t); + i.splice(i.indexOf(e), 1), be(r).removeClass(i.join(" ")); + } + be(r).toggleClass(e), h(); + }, + }; + }), + be.FE.DefineIcon("insertLink", { NAME: "link" }), + be.FE.RegisterShortcut(be.FE.KEYCODE.K, "insertLink", null, "K"), + be.FE.RegisterCommand("insertLink", { + title: "Insert Link", + undo: !1, + focus: !0, + refreshOnCallback: !1, + popup: !0, + callback: function () { + this.popups.isVisible("link.insert") ? (this.$el.find(".fr-marker").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide("link.insert")) : this.link.showInsertPopup(); + }, + plugin: "link", + }), + be.FE.DefineIcon("linkOpen", { NAME: "external-link", FA5NAME: "external-link-alt" }), + be.FE.RegisterCommand("linkOpen", { + title: "Open Link", + undo: !1, + refresh: function (e) { + this.link.get() ? e.removeClass("fr-hidden") : e.addClass("fr-hidden"); + }, + callback: function () { + var e = this.link.get(); + e && (-1 !== e.href.indexOf("mailto:") ? this.o_win.open(e.href).close() : this.o_win.open(e.href, "_blank", "noopener"), this.popups.hide("link.edit")); + }, + plugin: "link", + }), + be.FE.DefineIcon("linkEdit", { NAME: "edit" }), + be.FE.RegisterCommand("linkEdit", { + title: "Edit Link", + undo: !1, + refreshAfterCallback: !1, + popup: !0, + callback: function () { + this.link.update(); + }, + refresh: function (e) { + this.link.get() ? e.removeClass("fr-hidden") : e.addClass("fr-hidden"); + }, + plugin: "link", + }), + be.FE.DefineIcon("linkRemove", { NAME: "unlink" }), + be.FE.RegisterCommand("linkRemove", { + title: "Unlink", + callback: function () { + this.link.remove(); + }, + refresh: function (e) { + this.link.get() ? e.removeClass("fr-hidden") : e.addClass("fr-hidden"); + }, + plugin: "link", + }), + be.FE.DefineIcon("linkBack", { NAME: "arrow-left" }), + be.FE.RegisterCommand("linkBack", { + title: "Back", + undo: !1, + focus: !1, + back: !0, + refreshAfterCallback: !1, + callback: function () { + this.link.back(); + }, + refresh: function (e) { + var t = this.link.get() && this.doc.hasFocus(); + (this.image ? this.image.get() : null) || t || this.opts.toolbarInline + ? (e.removeClass("fr-hidden"), e.next(".fr-separator").removeClass("fr-hidden")) + : (e.addClass("fr-hidden"), e.next(".fr-separator").addClass("fr-hidden")); + }, + plugin: "link", + }), + be.FE.DefineIcon("linkList", { NAME: "search" }), + be.FE.RegisterCommand("linkList", { + title: "Choose Link", + type: "dropdown", + focus: !1, + undo: !1, + refreshAfterCallback: !1, + html: function () { + for (var e = '<ul class="fr-dropdown-list" role="presentation">', t = this.opts.linkList, n = 0; n < t.length; n++) + e += '<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="linkList" data-param1="' + n + '">' + (t[n].displayText || t[n].text) + "</a></li>"; + return (e += "</ul>"); + }, + callback: function (e, t) { + this.link.usePredefined(t); + }, + plugin: "link", + }), + be.FE.RegisterCommand("linkInsert", { + focus: !1, + refreshAfterCallback: !1, + callback: function () { + this.link.insertCallback(); + }, + refresh: function (e) { + this.link.get() ? e.text(this.language.translate("Update")) : e.text(this.language.translate("Insert")); + }, + plugin: "link", + }), + be.FE.DefineIcon("imageLink", { NAME: "link" }), + be.FE.RegisterCommand("imageLink", { + title: "Insert Link", + undo: !1, + focus: !1, + popup: !0, + callback: function () { + this.link.imageLink(); + }, + refresh: function (e) { + var t; + this.link.get() ? ((t = e.prev()).hasClass("fr-separator") && t.removeClass("fr-hidden"), e.addClass("fr-hidden")) : ((t = e.prev()).hasClass("fr-separator") && t.addClass("fr-hidden"), e.removeClass("fr-hidden")); + }, + plugin: "link", + }), + be.FE.DefineIcon("linkStyle", { NAME: "magic" }), + be.FE.RegisterCommand("linkStyle", { + title: "Style", + type: "dropdown", + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = this.opts.linkStyles; + for (var n in t) t.hasOwnProperty(n) && (e += '<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="linkStyle" data-param1="' + n + '">' + this.language.translate(t[n]) + "</a></li>"); + return (e += "</ul>"); + }, + callback: function (e, t) { + this.link.applyStyle(t); + }, + refreshOnShow: function (e, t) { + var n = this.link.get(); + if (n) { + var r = be(n); + t.find(".fr-command").each(function () { + var e = be(this).data("param1"), + t = r.hasClass(e); + be(this).toggleClass("fr-active", t).attr("aria-selected", t); + }); + } + }, + refresh: function (e) { + this.link.get() ? e.removeClass("fr-hidden") : e.addClass("fr-hidden"); + }, + plugin: "link", + }), + be.extend(be.FE.DEFAULTS, { listAdvancedTypes: !0 }), + (be.FE.PLUGINS.lists = function (f) { + function p(e) { + return '<span class="fr-open-' + e.toLowerCase() + '"></span>'; + } + function u(e) { + return '<span class="fr-close-' + e.toLowerCase() + '"></span>'; + } + function i(e, t) { + !(function (e, t) { + for (var n = [], r = 0; r < e.length; r++) { + var i = e[r].parentNode; + "LI" == e[r].tagName && i.tagName != t && n.indexOf(i) < 0 && n.push(i); + } + for (r = n.length - 1; 0 <= r; r--) { + var a = be(n[r]); + a.replaceWith("<" + t.toLowerCase() + " " + f.node.attributes(a.get(0)) + ">" + a.html() + "</" + t.toLowerCase() + ">"); + } + })(e, t); + var n, + r = f.html.defaultTag(), + i = null; + e.length && (n = "rtl" == f.opts.direction || "rtl" == be(e[0]).css("direction") ? "margin-right" : "margin-left"); + for (var a = 0; a < e.length; a++) + if ("LI" != e[a].tagName) { + var o = f.helpers.getPX(be(e[a]).css(n)) || 0; + (e[a].style.marginLeft = null) === i && (i = o); + var s = 0 < i ? "<" + t + ' style="' + n + ": " + i + 'px;">' : "<" + t + ">", + l = "</" + t + ">"; + for (o -= i; 0 < o / f.opts.indentMargin; ) (s += "<" + t + ">"), (l += l), (o -= f.opts.indentMargin); + r && e[a].tagName.toLowerCase() == r ? be(e[a]).replaceWith(s + "<li" + f.node.attributes(e[a]) + ">" + be(e[a]).html() + "</li>" + l) : be(e[a]).wrap(s + "<li></li>" + l); + } + f.clean.lists(); + } + function a(e) { + var t, n; + for (t = e.length - 1; 0 <= t; t--) + for (n = t - 1; 0 <= n; n--) + if (be(e[n]).find(e[t]).length || e[n] == e[t]) { + e.splice(t, 1); + break; + } + var r = []; + for (t = 0; t < e.length; t++) { + var i = be(e[t]), + a = e[t].parentNode, + o = i.attr("class"); + if ((i.before(u(a.tagName)), "LI" == a.parentNode.tagName)) i.before(u("LI")), i.after(p("LI")); + else { + var s = ""; + o && (s += ' class="' + o + '"'); + var l = "rtl" == f.opts.direction || "rtl" == i.css("direction") ? "margin-right" : "margin-left"; + f.helpers.getPX(be(a).css(l)) && 0 <= (be(a).attr("style") || "").indexOf(l + ":") && (s += ' style="' + l + ":" + f.helpers.getPX(be(a).css(l)) + 'px;"'), + f.html.defaultTag() && 0 === i.find(f.html.blockTagsQuery()).length && i.wrapInner("<" + f.html.defaultTag() + s + "></" + f.html.defaultTag() + ">"), + f.node.isEmpty(i.get(0), !0) || 0 !== i.find(f.html.blockTagsQuery()).length || i.append("<br>"), + i.append(p("LI")), + i.prepend(u("LI")); + } + i.after(p(a.tagName)), "LI" == a.parentNode.tagName && (a = a.parentNode.parentNode), r.indexOf(a) < 0 && r.push(a); + } + for (t = 0; t < r.length; t++) { + var d = be(r[t]), + c = d.html(); + (c = (c = c.replace(/<span class="fr-close-([a-z]*)"><\/span>/g, "</$1>")).replace(/<span class="fr-open-([a-z]*)"><\/span>/g, "<$1>")), + d.replaceWith(f.node.openTagString(d.get(0)) + c + f.node.closeTagString(d.get(0))); + } + f.$el.find("li:empty").remove(), f.$el.find("ul:empty, ol:empty").remove(), f.clean.lists(), f.html.wrap(); + } + function o(e) { + f.selection.save(); + for (var t = 0; t < e.length; t++) { + var n = e[t].previousSibling; + if (n) { + var r = be(e[t]).find("> ul, > ol").last().get(0); + if (r) { + for (var i = be("<li>").prependTo(be(r)), a = f.node.contents(e[t])[0]; a && !f.node.isList(a); ) { + var o = a.nextSibling; + i.append(a), (a = o); + } + be(n).append(be(r)), be(e[t]).remove(); + } else { + var s = be(n).find("> ul, > ol").last().get(0); + if (s) be(s).append(be(e[t])); + else { + var l = be("<" + e[t].parentNode.tagName + ">"); + be(n).append(l), l.append(be(e[t])); + } + } + } + } + f.clean.lists(), f.selection.restore(); + } + function s(e) { + f.selection.save(), a(e), f.selection.restore(); + } + function e(e) { + if ("indent" == e || "outdent" == e) { + for (var t = !1, n = f.selection.blocks(), r = [], i = 0; i < n.length; i++) "LI" == n[i].tagName ? ((t = !0), r.push(n[i])) : "LI" == n[i].parentNode.tagName && ((t = !0), r.push(n[i].parentNode)); + t && ("indent" == e ? o(r) : s(r)); + } + } + return { + _init: function () { + f.events.on("commands.after", e), + f.events.on( + "keydown", + function (e) { + if (e.which == be.FE.KEYCODE.TAB) { + for (var t = f.selection.blocks(), n = [], r = 0; r < t.length; r++) "LI" == t[r].tagName ? n.push(t[r]) : "LI" == t[r].parentNode.tagName && n.push(t[r].parentNode); + if (1 < n.length || (n.length && (f.selection.info(n[0]).atStart || f.node.isEmpty(n[0])))) return e.preventDefault(), e.stopPropagation(), e.shiftKey ? s(n) : o(n), !1; + } + }, + !0 + ); + }, + format: function (e, t) { + var n, r; + for (f.selection.save(), f.html.wrap(!0, !0, !0, !0), f.selection.restore(), r = f.selection.blocks(), n = 0; n < r.length; n++) "LI" != r[n].tagName && "LI" == r[n].parentNode.tagName && (r[n] = r[n].parentNode); + if ( + (f.selection.save(), + (function (e, t) { + for (var n = !0, r = 0; r < e.length; r++) { + if ("LI" != e[r].tagName) return !1; + e[r].parentNode.tagName != t && (n = !1); + } + return n; + })(r, e) + ? t || a(r) + : i(r, e), + f.html.unwrap(), + f.selection.restore(), + (t = t || "default")) + ) { + for (r = f.selection.blocks(), n = 0; n < r.length; n++) "LI" != r[n].tagName && "LI" == r[n].parentNode.tagName && (r[n] = r[n].parentNode); + for (n = 0; n < r.length; n++) "LI" == r[n].tagName && (be(r[n].parentNode).css("list-style-type", t), 0 === (be(r[n].parentNode).attr("style") || "").length && be(r[n].parentNode).removeAttr("style")); + } + }, + refresh: function (e, t) { + var n = be(f.selection.element()); + if (n.get(0) != f.el) { + var r = n.get(0); + (r = + "LI" != r.tagName && r.firstElementChild && "LI" != r.firstElementChild.tagName + ? n.parents("li").get(0) + : "LI" == r.tagName || r.firstElementChild + ? r.firstElementChild && "LI" == r.firstElementChild.tagName + ? n.get(0).firstChild + : n.get(0) + : n.parents("li").get(0)) && + r.parentNode.tagName == t && + f.el.contains(r.parentNode) && + e.addClass("fr-active"); + } + }, + }; + }), + be.FE.RegisterCommand("formatUL", { + title: "Unordered List", + type: "button", + hasOptions: function () { + return this.opts.listAdvancedTypes; + }, + options: { default: "Default", circle: "Circle", disc: "Disc", square: "Square" }, + refresh: function (e) { + this.lists.refresh(e, "UL"); + }, + callback: function (e, t) { + this.lists.format("UL", t); + }, + plugin: "lists", + }), + be.FE.RegisterCommand("formatOL", { + title: "Ordered List", + hasOptions: function () { + return this.opts.listAdvancedTypes; + }, + options: { default: "Default", "lower-alpha": "Lower Alpha", "lower-greek": "Lower Greek", "lower-roman": "Lower Roman", "upper-alpha": "Upper Alpha", "upper-roman": "Upper Roman" }, + refresh: function (e) { + this.lists.refresh(e, "OL"); + }, + callback: function (e, t) { + this.lists.format("OL", t); + }, + plugin: "lists", + }), + be.FE.DefineIcon("formatUL", { NAME: "list-ul" }), + be.FE.DefineIcon("formatOL", { NAME: "list-ol" }), + be.extend(be.FE.DEFAULTS, { paragraphFormat: { N: "Normal", H1: "Heading 1", H2: "Heading 2", H3: "Heading 3", H4: "Heading 4", PRE: "Code" }, paragraphFormatSelection: !1, paragraphDefaultSelection: "Paragraph Format" }), + (be.FE.PLUGINS.paragraphFormat = function (p) { + function u(e, t) { + var n = p.html.defaultTag(); + if (t && t.toLowerCase() != n) + if (0 < e.find("ul, ol").length) { + var r = be("<" + t + ">"); + e.prepend(r); + for (var i = p.node.contents(e.get(0))[0]; i && ["UL", "OL"].indexOf(i.tagName) < 0; ) { + var a = i.nextSibling; + r.append(i), (i = a); + } + } else e.html("<" + t + ">" + e.html() + "</" + t + ">"); + } + return { + apply: function (e) { + "N" == e && (e = p.html.defaultTag()), p.selection.save(), p.html.wrap(!0, !0, !p.opts.paragraphFormat.BLOCKQUOTE, !0, !0), p.selection.restore(); + var t, + n, + r, + i, + a, + o, + s, + l, + d = p.selection.blocks(); + p.selection.save(), p.$el.find("pre").attr("skip", !0); + for (var c = 0; c < d.length; c++) + if (d[c].tagName != e && !p.node.isList(d[c])) { + var f = be(d[c]); + "LI" == d[c].tagName + ? u(f, e) + : "LI" == d[c].parentNode.tagName && d[c] + ? ((o = f), (s = e), (l = p.html.defaultTag()), (s && s.toLowerCase() != l) || (s = 'div class="fr-temp-div"'), o.replaceWith(be("<" + s + ">").html(o.html()))) + : 0 <= ["TD", "TH"].indexOf(d[c].parentNode.tagName) + ? ((r = f), + (i = e), + (a = p.html.defaultTag()), + i || (i = 'div class="fr-temp-div"' + (p.node.isEmpty(r.get(0), !0) ? ' data-empty="true"' : "")), + i.toLowerCase() == a ? (p.node.isEmpty(r.get(0), !0) || r.append("<br/>"), r.replaceWith(r.html())) : r.replaceWith(be("<" + i + ">").html(r.html()))) + : ((t = f), + (n = e) || (n = 'div class="fr-temp-div"' + (p.node.isEmpty(t.get(0), !0) ? ' data-empty="true"' : "")), + t.replaceWith( + be("<" + n + " " + p.node.attributes(t.get(0)) + ">") + .html(t.html()) + .removeAttr("data-empty") + )); + } + p.$el.find('pre:not([skip="true"]) + pre:not([skip="true"])').each(function () { + be(this) + .prev() + .append("<br>" + be(this).html()), + be(this).remove(); + }), + p.$el.find("pre").removeAttr("skip"), + p.html.unwrap(), + p.selection.restore(); + }, + refreshOnShow: function (e, t) { + var n = p.selection.blocks(); + if (n.length) { + var r = n[0], + i = "N", + a = p.html.defaultTag(); + r.tagName.toLowerCase() != a && r != p.el && (i = r.tagName), + t + .find('.fr-command[data-param1="' + i + '"]') + .addClass("fr-active") + .attr("aria-selected", !0); + } else t.find('.fr-command[data-param1="N"]').addClass("fr-active").attr("aria-selected", !0); + }, + refresh: function (e) { + if (p.opts.paragraphFormatSelection) { + var t = p.selection.blocks(); + if (t.length) { + var n = t[0], + r = "N", + i = p.html.defaultTag(); + n.tagName.toLowerCase() != i && n != p.el && (r = n.tagName), 0 <= ["LI", "TD", "TH"].indexOf(r) && (r = "N"), e.find("> span").text(p.language.translate(p.opts.paragraphFormat[r])); + } else e.find("> span").text(p.language.translate(p.opts.paragraphFormat.N)); + } + }, + }; + }), + be.FE.RegisterCommand("paragraphFormat", { + type: "dropdown", + displaySelection: function (e) { + return e.opts.paragraphFormatSelection; + }, + defaultSelection: function (e) { + return e.language.translate(e.opts.paragraphDefaultSelection); + }, + displaySelectionWidth: 125, + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = this.opts.paragraphFormat; + for (var n in t) + if (t.hasOwnProperty(n)) { + var r = this.shortcuts.get("paragraphFormat." + n); + (r = r ? '<span class="fr-shortcut">' + r + "</span>" : ""), + (e += + '<li role="presentation"><' + + ("N" == n ? this.html.defaultTag() || "DIV" : n) + + ' style="padding: 0 !important; margin: 0 !important;" role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="paragraphFormat" data-param1="' + + n + + '" title="' + + this.language.translate(t[n]) + + '">' + + this.language.translate(t[n]) + + "</a></" + + ("N" == n ? this.html.defaultTag() || "DIV" : n) + + "></li>"); + } + return (e += "</ul>"); + }, + title: "Paragraph Format", + callback: function (e, t) { + this.paragraphFormat.apply(t); + }, + refresh: function (e) { + this.paragraphFormat.refresh(e); + }, + refreshOnShow: function (e, t) { + this.paragraphFormat.refreshOnShow(e, t); + }, + plugin: "paragraphFormat", + }), + be.FE.DefineIcon("paragraphFormat", { NAME: "paragraph" }), + be.extend(be.FE.DEFAULTS, { paragraphStyles: { "fr-text-gray": "Gray", "fr-text-bordered": "Bordered", "fr-text-spaced": "Spaced", "fr-text-uppercase": "Uppercase" }, paragraphMultipleStyles: !0 }), + (be.FE.PLUGINS.paragraphStyle = function (s) { + return { + _init: function () {}, + apply: function (e, t, n) { + void 0 === t && (t = s.opts.paragraphStyles), void 0 === n && (n = s.opts.paragraphMultipleStyles); + var r = ""; + n || ((r = Object.keys(t)).splice(r.indexOf(e), 1), (r = r.join(" "))), s.selection.save(), s.html.wrap(!0, !0, !0, !0), s.selection.restore(); + var i = s.selection.blocks(); + s.selection.save(); + for (var a = be(i[0]).hasClass(e), o = 0; o < i.length; o++) + be(i[o]).removeClass(r).toggleClass(e, !a), be(i[o]).hasClass("fr-temp-div") && be(i[o]).removeClass("fr-temp-div"), "" === be(i[o]).attr("class") && be(i[o]).removeAttr("class"); + s.html.unwrap(), s.selection.restore(); + }, + refreshOnShow: function (e, t) { + var n = s.selection.blocks(); + if (n.length) { + var r = be(n[0]); + t.find(".fr-command").each(function () { + var e = be(this).data("param1"), + t = r.hasClass(e); + be(this).toggleClass("fr-active", t).attr("aria-selected", t); + }); + } + }, + }; + }), + be.FE.RegisterCommand("paragraphStyle", { + type: "dropdown", + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = this.opts.paragraphStyles; + for (var n in t) + t.hasOwnProperty(n) && + (e += + '<li role="presentation"><a class="fr-command ' + + n + + '" tabIndex="-1" role="option" data-cmd="paragraphStyle" data-param1="' + + n + + '" title="' + + this.language.translate(t[n]) + + '">' + + this.language.translate(t[n]) + + "</a></li>"); + return (e += "</ul>"); + }, + title: "Paragraph Style", + callback: function (e, t) { + this.paragraphStyle.apply(t); + }, + refreshOnShow: function (e, t) { + this.paragraphStyle.refreshOnShow(e, t); + }, + plugin: "paragraphStyle", + }), + be.FE.DefineIcon("paragraphStyle", { NAME: "magic" }), + be.extend(be.FE.DEFAULTS, { html2pdf: window.html2pdf }), + (be.FE.PLUGINS.print = function (s) { + return { + run: function () { + !(function (e) { + var t = s.$el.html(), + n = null; + s.shared.print_iframe + ? (n = s.shared.print_iframe) + : (((n = document.createElement("iframe")).name = "fr-print"), + (n.style.position = "fixed"), + (n.style.top = "0"), + (n.style.left = "-9999px"), + (n.style.height = "100%"), + (n.style.width = "0"), + (n.style.overflow = "hidden"), + (n.style["z-index"] = "2147483647"), + (n.style.tabIndex = "-1"), + s.events.on("shared.destroy", function () { + n.remove(); + }), + (s.shared.print_iframe = n)); + try { + document.body.removeChild(n); + } catch (o) {} + document.body.appendChild(n); + var r = function () { + e(), n.removeEventListener("load", r); + }; + n.addEventListener("load", r); + var i = n.contentWindow; + i.document.open(), + i.document.write("<!DOCTYPE html><html " + (s.opts.documentReady ? 'style="margin: 0; padding: 0;"' : "") + "><head><title>" + document.title + "</title>"), + Array.prototype.forEach.call(document.querySelectorAll("style"), function (e) { + (e = e.cloneNode(!0)), i.document.write(e.outerHTML); + }); + var a = document.querySelectorAll("link[rel=stylesheet]"); + Array.prototype.forEach.call(a, function (e) { + var t = document.createElement("link"); + (t.rel = e.rel), (t.href = e.href), (t.media = "print"), (t.type = "text/css"), (t.media = "all"), i.document.write(t.outerHTML); + }), + i.document.write( + '</head><body style="text-align: ' + + ("rtl" == s.opts.direction ? "right" : "left") + + "; direction: " + + s.opts.direction + + "; " + + (s.opts.documentReady ? " padding: 2cm; width: 17cm; margin: 0;" : "") + + '"><div class="fr-view">' + ), + i.document.write(t), + i.document.write("</div></body></html>"), + i.document.close(); + })(function () { + setTimeout(function () { + s.events.disableBlur(), window.frames["fr-print"].focus(), window.frames["fr-print"].print(), s.$win.get(0).focus(), s.events.disableBlur(), s.events.focus(); + }, 0); + }); + }, + toPDF: function () { + s.opts.html2pdf && + (s.$el.css("text-align", "left"), + s.opts + .html2pdf() + .set({ margin: [10, 20], html2canvas: { useCORS: !0 } }) + .from(s.el) + .save(), + setTimeout(function () { + s.$el.css("text-align", ""); + }, 100)); + }, + }; + }), + be.FE.DefineIcon("print", { NAME: "print" }), + be.FE.RegisterCommand("print", { + title: "Print", + undo: !1, + focus: !1, + plugin: "print", + callback: function () { + this.print.run(); + }, + }), + be.FE.DefineIcon("getPDF", { NAME: "file-pdf-o", FA5NAME: "file-pdf" }), + be.FE.RegisterCommand("getPDF", { + title: "Download PDF", + type: "button", + focus: !1, + undo: !1, + callback: function () { + this.print.toPDF(); + }, + }), + be.extend(be.FE.DEFAULTS, { quickInsertButtons: ["image", "video", "embedly", "table", "ul", "ol", "hr"], quickInsertTags: ["p", "div", "h1", "h2", "h3", "h4", "h5", "h6", "pre", "blockquote"], quickInsertEnabled: !0 }), + (be.FE.QUICK_INSERT_BUTTONS = {}), + be.FE.DefineIcon("quickInsert", { PATH: '<path d="M22,16.75 L16.75,16.75 L16.75,22 L15.25,22.000 L15.25,16.75 L10,16.75 L10,15.25 L15.25,15.25 L15.25,10 L16.75,10 L16.75,15.25 L22,15.25 L22,16.75 Z"/>', template: "svg" }), + (be.FE.RegisterQuickInsertButton = function (e, t) { + be.FE.QUICK_INSERT_BUTTONS[e] = be.extend({ undo: !0 }, t); + }), + be.FE.RegisterQuickInsertButton("image", { + icon: "insertImage", + requiredPlugin: "image", + title: "Insert Image", + undo: !1, + callback: function () { + var e = this; + e.shared.$qi_image_input || + ((e.shared.$qi_image_input = be('<input accept="image/*" name="quickInsertImage' + this.id + '" style="display: none;" type="file">')), + be("body:first").append(e.shared.$qi_image_input), + e.events.$on( + e.shared.$qi_image_input, + "change", + function () { + var e = be(this).data("inst"); + this.files && (e.quickInsert.hide(), e.image.upload(this.files)), be(this).val(""); + }, + !0 + )), + (e.$qi_image_input = e.shared.$qi_image_input), + e.helpers.isMobile() && e.selection.save(), + e.events.disableBlur(), + e.$qi_image_input.data("inst", e).trigger("click"); + }, + }), + be.FE.RegisterQuickInsertButton("video", { + icon: "insertVideo", + requiredPlugin: "video", + title: "Insert Video", + undo: !1, + callback: function () { + var e = prompt(this.language.translate("Paste the URL of the video you want to insert.")); + e && this.video.insertByURL(e); + }, + }), + be.FE.RegisterQuickInsertButton("embedly", { + icon: "embedly", + requiredPlugin: "embedly", + title: "Embed URL", + undo: !1, + callback: function () { + var e = prompt(this.language.translate("Paste the URL of any web content you want to insert.")); + e && this.embedly.add(e); + }, + }), + be.FE.RegisterQuickInsertButton("table", { + icon: "insertTable", + requiredPlugin: "table", + title: "Insert Table", + callback: function () { + this.table.insert(2, 2); + }, + }), + be.FE.RegisterQuickInsertButton("ol", { + icon: "formatOL", + requiredPlugin: "lists", + title: "Ordered List", + callback: function () { + this.lists.format("OL"); + }, + }), + be.FE.RegisterQuickInsertButton("ul", { + icon: "formatUL", + requiredPlugin: "lists", + title: "Unordered List", + callback: function () { + this.lists.format("UL"); + }, + }), + be.FE.RegisterQuickInsertButton("hr", { + icon: "insertHR", + title: "Insert Horizontal Line", + callback: function () { + this.commands.insertHR(); + }, + }), + (be.FE.PLUGINS.quickInsert = function (o) { + var s, l; + function t(e) { + var t, n, r; + (t = e.offset().top - o.$box.offset().top), + (n = 0 - s.outerWidth()), + o.opts.enter != be.FE.ENTER_BR ? (r = (s.outerHeight() - e.outerHeight()) / 2) : (be("<span>" + be.FE.INVISIBLE_SPACE + "</span>").insertAfter(e), (r = (s.outerHeight() - e.next().outerHeight()) / 2), e.next().remove()), + o.opts.iframe && (t += o.$iframe.offset().top - o.helpers.scrollTop()), + s.hasClass("fr-on") && 0 <= t && l.css("top", t - r), + 0 <= t && t - r <= o.$box.outerHeight() - e.outerHeight() + ? (s.hasClass("fr-hidden") && (s.hasClass("fr-on") && a(), s.removeClass("fr-hidden")), s.css("top", t - r)) + : s.hasClass("fr-visible") && (s.addClass("fr-hidden"), d()), + s.css("left", n); + } + function n(e) { + s || + (function () { + o.shared.$quick_insert || + (o.shared.$quick_insert = be( + '<div class="fr-quick-insert"><a class="fr-floating-btn" role="button" tabIndex="-1" title="' + o.language.translate("Quick Insert") + '">' + o.icon.create("quickInsert") + "</a></div>" + )); + (s = o.shared.$quick_insert), + o.tooltip.bind(o.$box, ".fr-quick-insert > a.fr-floating-btn"), + o.events.on( + "destroy", + function () { + s.removeClass("fr-on").appendTo(be("body:first")).css("left", -9999).css("top", -9999), l && (d(), l.appendTo(be("body:first"))); + }, + !0 + ), + o.events.on( + "shared.destroy", + function () { + s.html("").removeData().remove(), (s = null), l && (l.html("").removeData().remove(), (l = null)); + }, + !0 + ), + o.events.on("commands.before", i), + o.events.on("commands.after", function () { + o.popups.areVisible() || r(); + }), + o.events.bindClick(o.$box, ".fr-quick-insert > a", a), + o.events.bindClick(o.$box, ".fr-qi-helper > a.fr-btn", function (e) { + var t = be(e.currentTarget).data("cmd"); + if (!1 === o.events.trigger("quickInsert.commands.before", [t])) return !1; + be.FE.QUICK_INSERT_BUTTONS[t].callback.apply(o, [e.currentTarget]), be.FE.QUICK_INSERT_BUTTONS[t].undo && o.undo.saveStep(), o.events.trigger("quickInsert.commands.after", [t]), o.quickInsert.hide(); + }), + o.events.$on(o.$wp, "scroll", function () { + s.hasClass("fr-visible") && t(s.data("tag")); + }); + })(), + s.hasClass("fr-on") && d(), + o.$box.append(s), + t(e), + s.data("tag", e), + s.addClass("fr-visible"); + } + function r() { + if (o.core.hasFocus()) { + var e = o.selection.element(); + if ((o.opts.enter == be.FE.ENTER_BR || o.node.isBlock(e) || (e = o.node.blockParent(e)), o.opts.enter == be.FE.ENTER_BR && !o.node.isBlock(e))) { + var t = o.node.deepestParent(e); + t && (e = t); + } + e && + ((o.opts.enter != be.FE.ENTER_BR && o.node.isEmpty(e) && 0 <= o.opts.quickInsertTags.indexOf(e.tagName.toLowerCase())) || + (o.opts.enter == be.FE.ENTER_BR && + (("BR" == e.tagName && (!e.previousSibling || "BR" == e.previousSibling.tagName || o.node.isBlock(e.previousSibling))) || + (o.node.isEmpty(e) && (!e.previousSibling || "BR" == e.previousSibling.tagName || o.node.isBlock(e.previousSibling)) && (!e.nextSibling || "BR" == e.nextSibling.tagName || o.node.isBlock(e.nextSibling)))))) + ? s && s.data("tag").is(be(e)) && s.hasClass("fr-on") + ? d() + : o.selection.isCollapsed() && n(be(e)) + : i(); + } + } + function i() { + s && (s.hasClass("fr-on") && d(), s.removeClass("fr-visible fr-on"), s.css("left", -9999).css("top", -9999)); + } + function a(e) { + if ((e && e.preventDefault(), s.hasClass("fr-on") && !s.hasClass("fr-hidden"))) d(); + else { + if (!o.shared.$qi_helper) { + for (var t = o.opts.quickInsertButtons, n = '<div class="fr-qi-helper">', r = 0, i = 0; i < t.length; i++) { + var a = be.FE.QUICK_INSERT_BUTTONS[t[i]]; + a && + (!a.requiredPlugin || (be.FE.PLUGINS[a.requiredPlugin] && 0 <= o.opts.pluginsEnabled.indexOf(a.requiredPlugin))) && + (n += + '<a class="fr-btn fr-floating-btn" role="button" title="' + + o.language.translate(a.title) + + '" tabIndex="-1" data-cmd="' + + t[i] + + '" style="transition-delay: ' + + 0.025 * r++ + + 's;">' + + o.icon.create(a.icon) + + "</a>"); + } + (n += "</div>"), + (o.shared.$qi_helper = be(n)), + o.tooltip.bind(o.shared.$qi_helper, "> a.fr-btn"), + o.events.$on( + o.shared.$qi_helper, + "mousedown", + function (e) { + e.preventDefault(); + }, + !0 + ); + } + (l = o.shared.$qi_helper).appendTo(o.$box), + setTimeout(function () { + l.css("top", parseFloat(s.css("top"))), l.css("left", parseFloat(s.css("left")) + s.outerWidth()), l.find("a").addClass("fr-size-1"), s.addClass("fr-on"); + }, 10); + } + } + function d() { + var e = o.$box.find(".fr-qi-helper"); + e.length && (e.find("a").removeClass("fr-size-1"), e.css("left", -9999), s.hasClass("fr-hidden") || s.removeClass("fr-on")); + } + return { + _init: function () { + if (!o.$wp || !o.opts.quickInsertEnabled) return !1; + o.popups.onShow("image.edit", i), + o.events.on("mouseup", r), + o.helpers.isMobile() && o.events.$on(be(o.o_doc), "selectionchange", r), + o.events.on("blur", i), + o.events.on("keyup", r), + o.events.on("keydown", function () { + setTimeout(function () { + r(); + }, 0); + }); + }, + hide: i, + }; + }), + (be.FE.PLUGINS.quote = function (r) { + function i(e) { + for (; e.parentNode && e.parentNode != r.el; ) e = e.parentNode; + return e; + } + return { + apply: function (e) { + r.selection.save(), + r.html.wrap(!0, !0, !0, !0), + r.selection.restore(), + "increase" == e + ? (function () { + var e, + t = r.selection.blocks(); + for (e = 0; e < t.length; e++) t[e] = i(t[e]); + r.selection.save(); + var n = be("<blockquote>"); + for (n.insertBefore(t[0]), e = 0; e < t.length; e++) n.append(t[e]); + r.html.unwrap(), r.selection.restore(); + })() + : "decrease" == e && + (function () { + var e, + t = r.selection.blocks(); + for (e = 0; e < t.length; e++) "BLOCKQUOTE" != t[e].tagName && (t[e] = be(t[e]).parentsUntil(r.$el, "BLOCKQUOTE").get(0)); + for (r.selection.save(), e = 0; e < t.length; e++) t[e] && be(t[e]).replaceWith(t[e].innerHTML); + r.html.unwrap(), r.selection.restore(); + })(); + }, + }; + }), + be.FE.RegisterShortcut(be.FE.KEYCODE.SINGLE_QUOTE, "quote", "increase", "'"), + be.FE.RegisterShortcut(be.FE.KEYCODE.SINGLE_QUOTE, "quote", "decrease", "'", !0), + be.FE.RegisterCommand("quote", { + title: "Quote", + type: "dropdown", + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = { increase: "Increase", decrease: "Decrease" }; + for (var n in t) + if (t.hasOwnProperty(n)) { + var r = this.shortcuts.get("quote." + n); + e += + '<li role="presentation"><a class="fr-command fr-title fr-active ' + + n + + '" tabIndex="-1" role="option" data-cmd="quote" data-param1="' + + n + + '" title="' + + t[n] + + " (" + + r + + ')">' + + this.language.translate(t[n]) + + "</a></li>"; + } + return (e += "</ul>"); + }, + callback: function (e, t) { + this.quote.apply(t); + }, + plugin: "quote", + }), + be.FE.DefineIcon("quote", { NAME: "quote-left" }), + be.extend(be.FE.DEFAULTS, { saveInterval: 1e4, saveURL: null, saveParams: {}, saveParam: "body", saveMethod: "POST" }), + (be.FE.PLUGINS.save = function (s) { + var e = null, + l = null, + t = !1, + d = 1, + c = 2, + n = {}; + function f(e, t) { + s.events.trigger("save.error", [{ code: e, message: n[e] }, t]); + } + function r(e) { + void 0 === e && (e = s.html.get()); + var t = e, + n = s.events.trigger("save.before", [e]); + if (!1 === n) return !1; + if (("string" == typeof n && (e = n), s.opts.saveURL)) { + var r = {}; + for (var i in s.opts.saveParams) + if (s.opts.saveParams.hasOwnProperty(i)) { + var a = s.opts.saveParams[i]; + r[i] = "function" == typeof a ? a.call(this) : a; + } + var o = {}; + (o[s.opts.saveParam] = e), + be + .ajax({ type: s.opts.saveMethod, url: s.opts.saveURL, data: be.extend(o, r), crossDomain: s.opts.requestWithCORS, xhrFields: { withCredentials: s.opts.requestWithCredentials }, headers: s.opts.requestHeaders }) + .done(function (e) { + (l = t), s.events.trigger("save.after", [e]); + }) + .fail(function (e) { + f(c, e.response || e.responseText); + }); + } else f(d); + } + function i() { + clearTimeout(e), + (e = setTimeout(function () { + var e = s.html.get(); + (l != e || t) && ((t = !1), r((l = e))); + }, s.opts.saveInterval)); + } + return ( + (n[d] = "Missing saveURL option."), + (n[c] = "Something went wrong during save."), + { + _init: function () { + s.opts.saveInterval && + ((l = s.html.get()), + s.events.on("contentChanged", i), + s.events.on("keydown destroy", function () { + clearTimeout(e); + })); + }, + save: r, + reset: function () { + i(), (t = !1); + }, + force: function () { + t = !0; + }, + } + ); + }), + be.FE.DefineIcon("save", { NAME: "floppy-o", FA5NAME: "save" }), + be.FE.RegisterCommand("save", { + title: "Save", + undo: !1, + focus: !1, + refreshAfterCallback: !1, + callback: function () { + this.save.save(); + }, + plugin: "save", + }), + be.extend(be.FE.DEFAULTS, { + specialCharactersSets: [ + { + title: "Latin", + list: [ + { char: "&iexcl;", desc: "INVERTED EXCLAMATION MARK" }, + { char: "&cent;", desc: "CENT SIGN" }, + { char: "&pound;", desc: "POUND SIGN" }, + { char: "&curren;", desc: "CURRENCY SIGN" }, + { char: "&yen;", desc: "YEN SIGN" }, + { char: "&brvbar;", desc: "BROKEN BAR" }, + { char: "&sect;", desc: "SECTION SIGN" }, + { char: "&uml;", desc: "DIAERESIS" }, + { char: "&copy;", desc: "COPYRIGHT SIGN" }, + { char: "&trade;", desc: "TRADEMARK SIGN" }, + { char: "&ordf;", desc: "FEMININE ORDINAL INDICATOR" }, + { char: "&laquo;", desc: "LEFT-POINTING DOUBLE ANGLE QUOTATION MARK" }, + { char: "&not;", desc: "NOT SIGN" }, + { char: "&reg;", desc: "REGISTERED SIGN" }, + { char: "&macr;", desc: "MACRON" }, + { char: "&deg;", desc: "DEGREE SIGN" }, + { char: "&plusmn;", desc: "PLUS-MINUS SIGN" }, + { char: "&sup2;", desc: "SUPERSCRIPT TWO" }, + { char: "&sup3;", desc: "SUPERSCRIPT THREE" }, + { char: "&acute;", desc: "ACUTE ACCENT" }, + { char: "&micro;", desc: "MICRO SIGN" }, + { char: "&para;", desc: "PILCROW SIGN" }, + { char: "&middot;", desc: "MIDDLE DOT" }, + { char: "&cedil;", desc: "CEDILLA" }, + { char: "&sup1;", desc: "SUPERSCRIPT ONE" }, + { char: "&ordm;", desc: "MASCULINE ORDINAL INDICATOR" }, + { char: "&raquo;", desc: "RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK" }, + { char: "&frac14;", desc: "VULGAR FRACTION ONE QUARTER" }, + { char: "&frac12;", desc: "VULGAR FRACTION ONE HALF" }, + { char: "&frac34;", desc: "VULGAR FRACTION THREE QUARTERS" }, + { char: "&iquest;", desc: "INVERTED QUESTION MARK" }, + { char: "&Agrave;", desc: "LATIN CAPITAL LETTER A WITH GRAVE" }, + { char: "&Aacute;", desc: "LATIN CAPITAL LETTER A WITH ACUTE" }, + { char: "&Acirc;", desc: "LATIN CAPITAL LETTER A WITH CIRCUMFLEX" }, + { char: "&Atilde;", desc: "LATIN CAPITAL LETTER A WITH TILDE" }, + { char: "&Auml;", desc: "LATIN CAPITAL LETTER A WITH DIAERESIS " }, + { char: "&Aring;", desc: "LATIN CAPITAL LETTER A WITH RING ABOVE" }, + { char: "&AElig;", desc: "LATIN CAPITAL LETTER AE" }, + { char: "&Ccedil;", desc: "LATIN CAPITAL LETTER C WITH CEDILLA" }, + { char: "&Egrave;", desc: "LATIN CAPITAL LETTER E WITH GRAVE" }, + { char: "&Eacute;", desc: "LATIN CAPITAL LETTER E WITH ACUTE" }, + { char: "&Ecirc;", desc: "LATIN CAPITAL LETTER E WITH CIRCUMFLEX" }, + { char: "&Euml;", desc: "LATIN CAPITAL LETTER E WITH DIAERESIS" }, + { char: "&Igrave;", desc: "LATIN CAPITAL LETTER I WITH GRAVE" }, + { char: "&Iacute;", desc: "LATIN CAPITAL LETTER I WITH ACUTE" }, + { char: "&Icirc;", desc: "LATIN CAPITAL LETTER I WITH CIRCUMFLEX" }, + { char: "&Iuml;", desc: "LATIN CAPITAL LETTER I WITH DIAERESIS" }, + { char: "&ETH;", desc: "LATIN CAPITAL LETTER ETH" }, + { char: "&Ntilde;", desc: "LATIN CAPITAL LETTER N WITH TILDE" }, + { char: "&Ograve;", desc: "LATIN CAPITAL LETTER O WITH GRAVE" }, + { char: "&Oacute;", desc: "LATIN CAPITAL LETTER O WITH ACUTE" }, + { char: "&Ocirc;", desc: "LATIN CAPITAL LETTER O WITH CIRCUMFLEX" }, + { char: "&Otilde;", desc: "LATIN CAPITAL LETTER O WITH TILDE" }, + { char: "&Ouml;", desc: "LATIN CAPITAL LETTER O WITH DIAERESIS" }, + { char: "&times;", desc: "MULTIPLICATION SIGN" }, + { char: "&Oslash;", desc: "LATIN CAPITAL LETTER O WITH STROKE" }, + { char: "&Ugrave;", desc: "LATIN CAPITAL LETTER U WITH GRAVE" }, + { char: "&Uacute;", desc: "LATIN CAPITAL LETTER U WITH ACUTE" }, + { char: "&Ucirc;", desc: "LATIN CAPITAL LETTER U WITH CIRCUMFLEX" }, + { char: "&Uuml;", desc: "LATIN CAPITAL LETTER U WITH DIAERESIS" }, + { char: "&Yacute;", desc: "LATIN CAPITAL LETTER Y WITH ACUTE" }, + { char: "&THORN;", desc: "LATIN CAPITAL LETTER THORN" }, + { char: "&szlig;", desc: "LATIN SMALL LETTER SHARP S" }, + { char: "&agrave;", desc: "LATIN SMALL LETTER A WITH GRAVE" }, + { char: "&aacute;", desc: "LATIN SMALL LETTER A WITH ACUTE " }, + { char: "&acirc;", desc: "LATIN SMALL LETTER A WITH CIRCUMFLEX" }, + { char: "&atilde;", desc: "LATIN SMALL LETTER A WITH TILDE" }, + { char: "&auml;", desc: "LATIN SMALL LETTER A WITH DIAERESIS" }, + { char: "&aring;", desc: "LATIN SMALL LETTER A WITH RING ABOVE" }, + { char: "&aelig;", desc: "LATIN SMALL LETTER AE" }, + { char: "&ccedil;", desc: "LATIN SMALL LETTER C WITH CEDILLA" }, + { char: "&egrave;", desc: "LATIN SMALL LETTER E WITH GRAVE" }, + { char: "&eacute;", desc: "LATIN SMALL LETTER E WITH ACUTE" }, + { char: "&ecirc;", desc: "LATIN SMALL LETTER E WITH CIRCUMFLEX" }, + { char: "&euml;", desc: "LATIN SMALL LETTER E WITH DIAERESIS" }, + { char: "&igrave;", desc: "LATIN SMALL LETTER I WITH GRAVE" }, + { char: "&iacute;", desc: "LATIN SMALL LETTER I WITH ACUTE" }, + { char: "&icirc;", desc: "LATIN SMALL LETTER I WITH CIRCUMFLEX" }, + { char: "&iuml;", desc: "LATIN SMALL LETTER I WITH DIAERESIS" }, + { char: "&eth;", desc: "LATIN SMALL LETTER ETH" }, + { char: "&ntilde;", desc: "LATIN SMALL LETTER N WITH TILDE" }, + { char: "&ograve;", desc: "LATIN SMALL LETTER O WITH GRAVE" }, + { char: "&oacute;", desc: "LATIN SMALL LETTER O WITH ACUTE" }, + { char: "&ocirc;", desc: "LATIN SMALL LETTER O WITH CIRCUMFLEX" }, + { char: "&otilde;", desc: "LATIN SMALL LETTER O WITH TILDE" }, + { char: "&ouml;", desc: "LATIN SMALL LETTER O WITH DIAERESIS" }, + { char: "&divide;", desc: "DIVISION SIGN" }, + { char: "&oslash;", desc: "LATIN SMALL LETTER O WITH STROKE" }, + { char: "&ugrave;", desc: "LATIN SMALL LETTER U WITH GRAVE" }, + { char: "&uacute;", desc: "LATIN SMALL LETTER U WITH ACUTE" }, + { char: "&ucirc;", desc: "LATIN SMALL LETTER U WITH CIRCUMFLEX" }, + { char: "&uuml;", desc: "LATIN SMALL LETTER U WITH DIAERESIS" }, + { char: "&yacute;", desc: "LATIN SMALL LETTER Y WITH ACUTE" }, + { char: "&thorn;", desc: "LATIN SMALL LETTER THORN" }, + { char: "&yuml;", desc: "LATIN SMALL LETTER Y WITH DIAERESIS" }, + ], + }, + { + title: "Greek", + list: [ + { char: "&Alpha;", desc: "GREEK CAPITAL LETTER ALPHA" }, + { char: "&Beta;", desc: "GREEK CAPITAL LETTER BETA" }, + { char: "&Gamma;", desc: "GREEK CAPITAL LETTER GAMMA" }, + { char: "&Delta;", desc: "GREEK CAPITAL LETTER DELTA" }, + { char: "&Epsilon;", desc: "GREEK CAPITAL LETTER EPSILON" }, + { char: "&Zeta;", desc: "GREEK CAPITAL LETTER ZETA" }, + { char: "&Eta;", desc: "GREEK CAPITAL LETTER ETA" }, + { char: "&Theta;", desc: "GREEK CAPITAL LETTER THETA" }, + { char: "&Iota;", desc: "GREEK CAPITAL LETTER IOTA" }, + { char: "&Kappa;", desc: "GREEK CAPITAL LETTER KAPPA" }, + { char: "&Lambda;", desc: "GREEK CAPITAL LETTER LAMBDA" }, + { char: "&Mu;", desc: "GREEK CAPITAL LETTER MU" }, + { char: "&Nu;", desc: "GREEK CAPITAL LETTER NU" }, + { char: "&Xi;", desc: "GREEK CAPITAL LETTER XI" }, + { char: "&Omicron;", desc: "GREEK CAPITAL LETTER OMICRON" }, + { char: "&Pi;", desc: "GREEK CAPITAL LETTER PI" }, + { char: "&Rho;", desc: "GREEK CAPITAL LETTER RHO" }, + { char: "&Sigma;", desc: "GREEK CAPITAL LETTER SIGMA" }, + { char: "&Tau;", desc: "GREEK CAPITAL LETTER TAU" }, + { char: "&Upsilon;", desc: "GREEK CAPITAL LETTER UPSILON" }, + { char: "&Phi;", desc: "GREEK CAPITAL LETTER PHI" }, + { char: "&Chi;", desc: "GREEK CAPITAL LETTER CHI" }, + { char: "&Psi;", desc: "GREEK CAPITAL LETTER PSI" }, + { char: "&Omega;", desc: "GREEK CAPITAL LETTER OMEGA" }, + { char: "&alpha;", desc: "GREEK SMALL LETTER ALPHA" }, + { char: "&beta;", desc: "GREEK SMALL LETTER BETA" }, + { char: "&gamma;", desc: "GREEK SMALL LETTER GAMMA" }, + { char: "&delta;", desc: "GREEK SMALL LETTER DELTA" }, + { char: "&epsilon;", desc: "GREEK SMALL LETTER EPSILON" }, + { char: "&zeta;", desc: "GREEK SMALL LETTER ZETA" }, + { char: "&eta;", desc: "GREEK SMALL LETTER ETA" }, + { char: "&theta;", desc: "GREEK SMALL LETTER THETA" }, + { char: "&iota;", desc: "GREEK SMALL LETTER IOTA" }, + { char: "&kappa;", desc: "GREEK SMALL LETTER KAPPA" }, + { char: "&lambda;", desc: "GREEK SMALL LETTER LAMBDA" }, + { char: "&mu;", desc: "GREEK SMALL LETTER MU" }, + { char: "&nu;", desc: "GREEK SMALL LETTER NU" }, + { char: "&xi;", desc: "GREEK SMALL LETTER XI" }, + { char: "&omicron;", desc: "GREEK SMALL LETTER OMICRON" }, + { char: "&pi;", desc: "GREEK SMALL LETTER PI" }, + { char: "&rho;", desc: "GREEK SMALL LETTER RHO" }, + { char: "&sigmaf;", desc: "GREEK SMALL LETTER FINAL SIGMA" }, + { char: "&sigma;", desc: "GREEK SMALL LETTER SIGMA" }, + { char: "&tau;", desc: "GREEK SMALL LETTER TAU" }, + { char: "&upsilon;", desc: "GREEK SMALL LETTER UPSILON" }, + { char: "&phi;", desc: "GREEK SMALL LETTER PHI" }, + { char: "&chi;", desc: "GREEK SMALL LETTER CHI" }, + { char: "&psi;", desc: "GREEK SMALL LETTER PSI" }, + { char: "&omega;", desc: "GREEK SMALL LETTER OMEGA" }, + { char: "&thetasym;", desc: "GREEK THETA SYMBOL" }, + { char: "&upsih;", desc: "GREEK UPSILON WITH HOOK SYMBOL" }, + { char: "&straightphi;", desc: "GREEK PHI SYMBOL" }, + { char: "&piv;", desc: "GREEK PI SYMBOL" }, + { char: "&Gammad;", desc: "GREEK LETTER DIGAMMA" }, + { char: "&gammad;", desc: "GREEK SMALL LETTER DIGAMMA" }, + { char: "&varkappa;", desc: "GREEK KAPPA SYMBOL" }, + { char: "&varrho;", desc: "GREEK RHO SYMBOL" }, + { char: "&straightepsilon;", desc: "GREEK LUNATE EPSILON SYMBOL" }, + { char: "&backepsilon;", desc: "GREEK REVERSED LUNATE EPSILON SYMBOL" }, + ], + }, + { + title: "Cyrillic", + list: [ + { char: "&#x400", desc: "CYRILLIC CAPITAL LETTER IE WITH GRAVE" }, + { char: "&#x401", desc: "CYRILLIC CAPITAL LETTER IO" }, + { char: "&#x402", desc: "CYRILLIC CAPITAL LETTER DJE" }, + { char: "&#x403", desc: "CYRILLIC CAPITAL LETTER GJE" }, + { char: "&#x404", desc: "CYRILLIC CAPITAL LETTER UKRAINIAN IE" }, + { char: "&#x405", desc: "CYRILLIC CAPITAL LETTER DZE" }, + { char: "&#x406", desc: "CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I" }, + { char: "&#x407", desc: "CYRILLIC CAPITAL LETTER YI" }, + { char: "&#x408", desc: "CYRILLIC CAPITAL LETTER JE" }, + { char: "&#x409", desc: "CYRILLIC CAPITAL LETTER LJE" }, + { char: "&#x40A", desc: "CYRILLIC CAPITAL LETTER NJE" }, + { char: "&#x40B", desc: "CYRILLIC CAPITAL LETTER TSHE" }, + { char: "&#x40C", desc: "CYRILLIC CAPITAL LETTER KJE" }, + { char: "&#x40D", desc: "CYRILLIC CAPITAL LETTER I WITH GRAVE" }, + { char: "&#x40E", desc: "CYRILLIC CAPITAL LETTER SHORT U" }, + { char: "&#x40F", desc: "CYRILLIC CAPITAL LETTER DZHE" }, + { char: "&#x410", desc: "CYRILLIC CAPITAL LETTER A" }, + { char: "&#x411", desc: "CYRILLIC CAPITAL LETTER BE" }, + { char: "&#x412", desc: "CYRILLIC CAPITAL LETTER VE" }, + { char: "&#x413", desc: "CYRILLIC CAPITAL LETTER GHE" }, + { char: "&#x414", desc: "CYRILLIC CAPITAL LETTER DE" }, + { char: "&#x415", desc: "CYRILLIC CAPITAL LETTER IE" }, + { char: "&#x416", desc: "CYRILLIC CAPITAL LETTER ZHE" }, + { char: "&#x417", desc: "CYRILLIC CAPITAL LETTER ZE" }, + { char: "&#x418", desc: "CYRILLIC CAPITAL LETTER I" }, + { char: "&#x419", desc: "CYRILLIC CAPITAL LETTER SHORT I" }, + { char: "&#x41A", desc: "CYRILLIC CAPITAL LETTER KA" }, + { char: "&#x41B", desc: "CYRILLIC CAPITAL LETTER EL" }, + { char: "&#x41C", desc: "CYRILLIC CAPITAL LETTER EM" }, + { char: "&#x41D", desc: "CYRILLIC CAPITAL LETTER EN" }, + { char: "&#x41E", desc: "CYRILLIC CAPITAL LETTER O" }, + { char: "&#x41F", desc: "CYRILLIC CAPITAL LETTER PE" }, + { char: "&#x420", desc: "CYRILLIC CAPITAL LETTER ER" }, + { char: "&#x421", desc: "CYRILLIC CAPITAL LETTER ES" }, + { char: "&#x422", desc: "CYRILLIC CAPITAL LETTER TE" }, + { char: "&#x423", desc: "CYRILLIC CAPITAL LETTER U" }, + { char: "&#x424", desc: "CYRILLIC CAPITAL LETTER EF" }, + { char: "&#x425", desc: "CYRILLIC CAPITAL LETTER HA" }, + { char: "&#x426", desc: "CYRILLIC CAPITAL LETTER TSE" }, + { char: "&#x427", desc: "CYRILLIC CAPITAL LETTER CHE" }, + { char: "&#x428", desc: "CYRILLIC CAPITAL LETTER SHA" }, + { char: "&#x429", desc: "CYRILLIC CAPITAL LETTER SHCHA" }, + { char: "&#x42A", desc: "CYRILLIC CAPITAL LETTER HARD SIGN" }, + { char: "&#x42B", desc: "CYRILLIC CAPITAL LETTER YERU" }, + { char: "&#x42C", desc: "CYRILLIC CAPITAL LETTER SOFT SIGN" }, + { char: "&#x42D", desc: "CYRILLIC CAPITAL LETTER E" }, + { char: "&#x42E", desc: "CYRILLIC CAPITAL LETTER YU" }, + { char: "&#x42F", desc: "CYRILLIC CAPITAL LETTER YA" }, + { char: "&#x430", desc: "CYRILLIC SMALL LETTER A" }, + { char: "&#x431", desc: "CYRILLIC SMALL LETTER BE" }, + { char: "&#x432", desc: "CYRILLIC SMALL LETTER VE" }, + { char: "&#x433", desc: "CYRILLIC SMALL LETTER GHE" }, + { char: "&#x434", desc: "CYRILLIC SMALL LETTER DE" }, + { char: "&#x435", desc: "CYRILLIC SMALL LETTER IE" }, + { char: "&#x436", desc: "CYRILLIC SMALL LETTER ZHE" }, + { char: "&#x437", desc: "CYRILLIC SMALL LETTER ZE" }, + { char: "&#x438", desc: "CYRILLIC SMALL LETTER I" }, + { char: "&#x439", desc: "CYRILLIC SMALL LETTER SHORT I" }, + { char: "&#x43A", desc: "CYRILLIC SMALL LETTER KA" }, + { char: "&#x43B", desc: "CYRILLIC SMALL LETTER EL" }, + { char: "&#x43C", desc: "CYRILLIC SMALL LETTER EM" }, + { char: "&#x43D", desc: "CYRILLIC SMALL LETTER EN" }, + { char: "&#x43E", desc: "CYRILLIC SMALL LETTER O" }, + { char: "&#x43F", desc: "CYRILLIC SMALL LETTER PE" }, + { char: "&#x440", desc: "CYRILLIC SMALL LETTER ER" }, + { char: "&#x441", desc: "CYRILLIC SMALL LETTER ES" }, + { char: "&#x442", desc: "CYRILLIC SMALL LETTER TE" }, + { char: "&#x443", desc: "CYRILLIC SMALL LETTER U" }, + { char: "&#x444", desc: "CYRILLIC SMALL LETTER EF" }, + { char: "&#x445", desc: "CYRILLIC SMALL LETTER HA" }, + { char: "&#x446", desc: "CYRILLIC SMALL LETTER TSE" }, + { char: "&#x447", desc: "CYRILLIC SMALL LETTER CHE" }, + { char: "&#x448", desc: "CYRILLIC SMALL LETTER SHA" }, + { char: "&#x449", desc: "CYRILLIC SMALL LETTER SHCHA" }, + { char: "&#x44A", desc: "CYRILLIC SMALL LETTER HARD SIGN" }, + { char: "&#x44B", desc: "CYRILLIC SMALL LETTER YERU" }, + { char: "&#x44C", desc: "CYRILLIC SMALL LETTER SOFT SIGN" }, + { char: "&#x44D", desc: "CYRILLIC SMALL LETTER E" }, + { char: "&#x44E", desc: "CYRILLIC SMALL LETTER YU" }, + { char: "&#x44F", desc: "CYRILLIC SMALL LETTER YA" }, + { char: "&#x450", desc: "CYRILLIC SMALL LETTER IE WITH GRAVE" }, + { char: "&#x451", desc: "CYRILLIC SMALL LETTER IO" }, + { char: "&#x452", desc: "CYRILLIC SMALL LETTER DJE" }, + { char: "&#x453", desc: "CYRILLIC SMALL LETTER GJE" }, + { char: "&#x454", desc: "CYRILLIC SMALL LETTER UKRAINIAN IE" }, + { char: "&#x455", desc: "CYRILLIC SMALL LETTER DZE" }, + { char: "&#x456", desc: "CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I" }, + { char: "&#x457", desc: "CYRILLIC SMALL LETTER YI" }, + { char: "&#x458", desc: "CYRILLIC SMALL LETTER JE" }, + { char: "&#x459", desc: "CYRILLIC SMALL LETTER LJE" }, + { char: "&#x45A", desc: "CYRILLIC SMALL LETTER NJE" }, + { char: "&#x45B", desc: "CYRILLIC SMALL LETTER TSHE" }, + { char: "&#x45C", desc: "CYRILLIC SMALL LETTER KJE" }, + { char: "&#x45D", desc: "CYRILLIC SMALL LETTER I WITH GRAVE" }, + { char: "&#x45E", desc: "CYRILLIC SMALL LETTER SHORT U" }, + { char: "&#x45F", desc: "CYRILLIC SMALL LETTER DZHE" }, + ], + }, + { + title: "Punctuation", + list: [ + { char: "&ndash;", desc: "EN DASH" }, + { char: "&mdash;", desc: "EM DASH" }, + { char: "&lsquo;", desc: "LEFT SINGLE QUOTATION MARK" }, + { char: "&rsquo;", desc: "RIGHT SINGLE QUOTATION MARK" }, + { char: "&sbquo;", desc: "SINGLE LOW-9 QUOTATION MARK" }, + { char: "&ldquo;", desc: "LEFT DOUBLE QUOTATION MARK" }, + { char: "&rdquo;", desc: "RIGHT DOUBLE QUOTATION MARK" }, + { char: "&bdquo;", desc: "DOUBLE LOW-9 QUOTATION MARK" }, + { char: "&dagger;", desc: "DAGGER" }, + { char: "&Dagger;", desc: "DOUBLE DAGGER" }, + { char: "&bull;", desc: "BULLET" }, + { char: "&hellip;", desc: "HORIZONTAL ELLIPSIS" }, + { char: "&permil;", desc: "PER MILLE SIGN" }, + { char: "&prime;", desc: "PRIME" }, + { char: "&Prime;", desc: "DOUBLE PRIME" }, + { char: "&lsaquo;", desc: "SINGLE LEFT-POINTING ANGLE QUOTATION MARK" }, + { char: "&rsaquo;", desc: "SINGLE RIGHT-POINTING ANGLE QUOTATION MARK" }, + { char: "&oline;", desc: "OVERLINE" }, + { char: "&frasl;", desc: "FRACTION SLASH" }, + ], + }, + { + title: "Currency", + list: [ + { char: "&#x20A0", desc: "EURO-CURRENCY SIGN" }, + { char: "&#x20A1", desc: "COLON SIGN" }, + { char: "&#x20A2", desc: "CRUZEIRO SIGN" }, + { char: "&#x20A3", desc: "FRENCH FRANC SIGN" }, + { char: "&#x20A4", desc: "LIRA SIGN" }, + { char: "&#x20A5", desc: "MILL SIGN" }, + { char: "&#x20A6", desc: "NAIRA SIGN" }, + { char: "&#x20A7", desc: "PESETA SIGN" }, + { char: "&#x20A8", desc: "RUPEE SIGN" }, + { char: "&#x20A9", desc: "WON SIGN" }, + { char: "&#x20AA", desc: "NEW SHEQEL SIGN" }, + { char: "&#x20AB", desc: "DONG SIGN" }, + { char: "&#x20AC", desc: "EURO SIGN" }, + { char: "&#x20AD", desc: "KIP SIGN" }, + { char: "&#x20AE", desc: "TUGRIK SIGN" }, + { char: "&#x20AF", desc: "DRACHMA SIGN" }, + { char: "&#x20B0", desc: "GERMAN PENNY SYMBOL" }, + { char: "&#x20B1", desc: "PESO SIGN" }, + { char: "&#x20B2", desc: "GUARANI SIGN" }, + { char: "&#x20B3", desc: "AUSTRAL SIGN" }, + { char: "&#x20B4", desc: "HRYVNIA SIGN" }, + { char: "&#x20B5", desc: "CEDI SIGN" }, + { char: "&#x20B6", desc: "LIVRE TOURNOIS SIGN" }, + { char: "&#x20B7", desc: "SPESMILO SIGN" }, + { char: "&#x20B8", desc: "TENGE SIGN" }, + { char: "&#x20B9", desc: "INDIAN RUPEE SIGN" }, + ], + }, + { + title: "Arrows", + list: [ + { char: "&#x2190", desc: "LEFTWARDS ARROW" }, + { char: "&#x2191", desc: "UPWARDS ARROW" }, + { char: "&#x2192", desc: "RIGHTWARDS ARROW" }, + { char: "&#x2193", desc: "DOWNWARDS ARROW" }, + { char: "&#x2194", desc: "LEFT RIGHT ARROW" }, + { char: "&#x2195", desc: "UP DOWN ARROW" }, + { char: "&#x2196", desc: "NORTH WEST ARROW" }, + { char: "&#x2197", desc: "NORTH EAST ARROW" }, + { char: "&#x2198", desc: "SOUTH EAST ARROW" }, + { char: "&#x2199", desc: "SOUTH WEST ARROW" }, + { char: "&#x219A", desc: "LEFTWARDS ARROW WITH STROKE" }, + { char: "&#x219B", desc: "RIGHTWARDS ARROW WITH STROKE" }, + { char: "&#x219C", desc: "LEFTWARDS WAVE ARROW" }, + { char: "&#x219D", desc: "RIGHTWARDS WAVE ARROW" }, + { char: "&#x219E", desc: "LEFTWARDS TWO HEADED ARROW" }, + { char: "&#x219F", desc: "UPWARDS TWO HEADED ARROW" }, + { char: "&#x21A0", desc: "RIGHTWARDS TWO HEADED ARROW" }, + { char: "&#x21A1", desc: "DOWNWARDS TWO HEADED ARROW" }, + { char: "&#x21A2", desc: "LEFTWARDS ARROW WITH TAIL" }, + { char: "&#x21A3", desc: "RIGHTWARDS ARROW WITH TAIL" }, + { char: "&#x21A4", desc: "LEFTWARDS ARROW FROM BAR" }, + { char: "&#x21A5", desc: "UPWARDS ARROW FROM BAR" }, + { char: "&#x21A6", desc: "RIGHTWARDS ARROW FROM BAR" }, + { char: "&#x21A7", desc: "DOWNWARDS ARROW FROM BAR" }, + { char: "&#x21A8", desc: "UP DOWN ARROW WITH BASE" }, + { char: "&#x21A9", desc: "LEFTWARDS ARROW WITH HOOK" }, + { char: "&#x21AA", desc: "RIGHTWARDS ARROW WITH HOOK" }, + { char: "&#x21AB", desc: "LEFTWARDS ARROW WITH LOOP" }, + { char: "&#x21AC", desc: "RIGHTWARDS ARROW WITH LOOP" }, + { char: "&#x21AD", desc: "LEFT RIGHT WAVE ARROW" }, + { char: "&#x21AE", desc: "LEFT RIGHT ARROW WITH STROKE" }, + { char: "&#x21AF", desc: "DOWNWARDS ZIGZAG ARROW" }, + { char: "&#x21B0", desc: "UPWARDS ARROW WITH TIP LEFTWARDS" }, + { char: "&#x21B1", desc: "UPWARDS ARROW WITH TIP RIGHTWARDS" }, + { char: "&#x21B2", desc: "DOWNWARDS ARROW WITH TIP LEFTWARDS" }, + { char: "&#x21B3", desc: "DOWNWARDS ARROW WITH TIP RIGHTWARDS" }, + { char: "&#x21B4", desc: "RIGHTWARDS ARROW WITH CORNER DOWNWARDS" }, + { char: "&#x21B5", desc: "DOWNWARDS ARROW WITH CORNER LEFTWARDS" }, + { char: "&#x21B6", desc: "ANTICLOCKWISE TOP SEMICIRCLE ARROW" }, + { char: "&#x21B7", desc: "CLOCKWISE TOP SEMICIRCLE ARROW" }, + { char: "&#x21B8", desc: "NORTH WEST ARROW TO LONG BAR" }, + { char: "&#x21B9", desc: "LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR" }, + { char: "&#x21BA", desc: "ANTICLOCKWISE OPEN CIRCLE ARROW" }, + { char: "&#x21BB", desc: "CLOCKWISE OPEN CIRCLE ARROW" }, + { char: "&#x21BC", desc: "LEFTWARDS HARPOON WITH BARB UPWARDS" }, + { char: "&#x21BD", desc: "LEFTWARDS HARPOON WITH BARB DOWNWARDS" }, + { char: "&#x21BE", desc: "UPWARDS HARPOON WITH BARB RIGHTWARDS" }, + { char: "&#x21BF", desc: "UPWARDS HARPOON WITH BARB LEFTWARDS" }, + { char: "&#x21C0", desc: "RIGHTWARDS HARPOON WITH BARB UPWARDS" }, + { char: "&#x21C1", desc: "RIGHTWARDS HARPOON WITH BARB DOWNWARDS" }, + { char: "&#x21C2", desc: "DOWNWARDS HARPOON WITH BARB RIGHTWARDS" }, + { char: "&#x21C3", desc: "DOWNWARDS HARPOON WITH BARB LEFTWARDS" }, + { char: "&#x21C4", desc: "RIGHTWARDS ARROW OVER LEFTWARDS ARROW" }, + { char: "&#x21C5", desc: "UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW" }, + { char: "&#x21C6", desc: "LEFTWARDS ARROW OVER RIGHTWARDS ARROW" }, + { char: "&#x21C7", desc: "LEFTWARDS PAIRED ARROWS" }, + { char: "&#x21C8", desc: "UPWARDS PAIRED ARROWS" }, + { char: "&#x21C9", desc: "RIGHTWARDS PAIRED ARROWS" }, + { char: "&#x21CA", desc: "DOWNWARDS PAIRED ARROWS" }, + { char: "&#x21CB", desc: "LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON" }, + { char: "&#x21CC", desc: "RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON" }, + { char: "&#x21CD", desc: "LEFTWARDS DOUBLE ARROW WITH STROKE" }, + { char: "&#x21CE", desc: "LEFT RIGHT DOUBLE ARROW WITH STROKE" }, + { char: "&#x21CF", desc: "RIGHTWARDS DOUBLE ARROW WITH STROKE" }, + { char: "&#x21D0", desc: "LEFTWARDS DOUBLE ARROW" }, + { char: "&#x21D1", desc: "UPWARDS DOUBLE ARROW" }, + { char: "&#x21D2", desc: "RIGHTWARDS DOUBLE ARROW" }, + { char: "&#x21D3", desc: "DOWNWARDS DOUBLE ARROW" }, + { char: "&#x21D4", desc: "LEFT RIGHT DOUBLE ARROW" }, + { char: "&#x21D5", desc: "UP DOWN DOUBLE ARROW" }, + { char: "&#x21D6", desc: "NORTH WEST DOUBLE ARROW" }, + { char: "&#x21D7", desc: "NORTH EAST DOUBLE ARROW" }, + { char: "&#x21D8", desc: "SOUTH EAST DOUBLE ARROW" }, + { char: "&#x21D9", desc: "SOUTH WEST DOUBLE ARROW" }, + { char: "&#x21DA", desc: "LEFTWARDS TRIPLE ARROW" }, + { char: "&#x21DB", desc: "RIGHTWARDS TRIPLE ARROW" }, + { char: "&#x21DC", desc: "LEFTWARDS SQUIGGLE ARROW" }, + { char: "&#x21DD", desc: "RIGHTWARDS SQUIGGLE ARROW" }, + { char: "&#x21DE", desc: "UPWARDS ARROW WITH DOUBLE STROKE" }, + { char: "&#x21DF", desc: "DOWNWARDS ARROW WITH DOUBLE STROKE" }, + { char: "&#x21E0", desc: "LEFTWARDS DASHED ARROW" }, + { char: "&#x21E1", desc: "UPWARDS DASHED ARROW" }, + { char: "&#x21E2", desc: "RIGHTWARDS DASHED ARROW" }, + { char: "&#x21E3", desc: "DOWNWARDS DASHED ARROW" }, + { char: "&#x21E4", desc: "LEFTWARDS ARROW TO BAR" }, + { char: "&#x21E5", desc: "RIGHTWARDS ARROW TO BAR" }, + { char: "&#x21E6", desc: "LEFTWARDS WHITE ARROW" }, + { char: "&#x21E7", desc: "UPWARDS WHITE ARROW" }, + { char: "&#x21E8", desc: "RIGHTWARDS WHITE ARROW" }, + { char: "&#x21E9", desc: "DOWNWARDS WHITE ARROW" }, + { char: "&#x21EA", desc: "UPWARDS WHITE ARROW FROM BAR" }, + { char: "&#x21EB", desc: "UPWARDS WHITE ARROW ON PEDESTAL" }, + { char: "&#x21EC", desc: "UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR" }, + { char: "&#x21ED", desc: "UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR" }, + { char: "&#x21EE", desc: "UPWARDS WHITE DOUBLE ARROW" }, + { char: "&#x21EF", desc: "UPWARDS WHITE DOUBLE ARROW ON PEDESTAL" }, + { char: "&#x21F0", desc: "RIGHTWARDS WHITE ARROW FROM WALL" }, + { char: "&#x21F1", desc: "NORTH WEST ARROW TO CORNER" }, + { char: "&#x21F2", desc: "SOUTH EAST ARROW TO CORNER" }, + { char: "&#x21F3", desc: "UP DOWN WHITE ARROW" }, + { char: "&#x21F4", desc: "RIGHT ARROW WITH SMALL CIRCLE" }, + { char: "&#x21F5", desc: "DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW" }, + { char: "&#x21F6", desc: "THREE RIGHTWARDS ARROWS" }, + { char: "&#x21F7", desc: "LEFTWARDS ARROW WITH VERTICAL STROKE" }, + { char: "&#x21F8", desc: "RIGHTWARDS ARROW WITH VERTICAL STROKE" }, + { char: "&#x21F9", desc: "LEFT RIGHT ARROW WITH VERTICAL STROKE" }, + { char: "&#x21FA", desc: "LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE" }, + { char: "&#x21FB", desc: "RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE" }, + { char: "&#x21FC", desc: "LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE" }, + { char: "&#x21FD", desc: "LEFTWARDS OPEN-HEADED ARROW" }, + { char: "&#x21FE", desc: "RIGHTWARDS OPEN-HEADED ARROW" }, + { char: "&#x21FF", desc: "LEFT RIGHT OPEN-HEADED ARROW" }, + ], + }, + { + title: "Math", + list: [ + { char: "&forall;", desc: "FOR ALL" }, + { char: "&part;", desc: "PARTIAL DIFFERENTIAL" }, + { char: "&exist;", desc: "THERE EXISTS" }, + { char: "&empty;", desc: "EMPTY SET" }, + { char: "&nabla;", desc: "NABLA" }, + { char: "&isin;", desc: "ELEMENT OF" }, + { char: "&notin;", desc: "NOT AN ELEMENT OF" }, + { char: "&ni;", desc: "CONTAINS AS MEMBER" }, + { char: "&prod;", desc: "N-ARY PRODUCT" }, + { char: "&sum;", desc: "N-ARY SUMMATION" }, + { char: "&minus;", desc: "MINUS SIGN" }, + { char: "&lowast;", desc: "ASTERISK OPERATOR" }, + { char: "&radic;", desc: "SQUARE ROOT" }, + { char: "&prop;", desc: "PROPORTIONAL TO" }, + { char: "&infin;", desc: "INFINITY" }, + { char: "&ang;", desc: "ANGLE" }, + { char: "&and;", desc: "LOGICAL AND" }, + { char: "&or;", desc: "LOGICAL OR" }, + { char: "&cap;", desc: "INTERSECTION" }, + { char: "&cup;", desc: "UNION" }, + { char: "&int;", desc: "INTEGRAL" }, + { char: "&there4;", desc: "THEREFORE" }, + { char: "&sim;", desc: "TILDE OPERATOR" }, + { char: "&cong;", desc: "APPROXIMATELY EQUAL TO" }, + { char: "&asymp;", desc: "ALMOST EQUAL TO" }, + { char: "&ne;", desc: "NOT EQUAL TO" }, + { char: "&equiv;", desc: "IDENTICAL TO" }, + { char: "&le;", desc: "LESS-THAN OR EQUAL TO" }, + { char: "&ge;", desc: "GREATER-THAN OR EQUAL TO" }, + { char: "&sub;", desc: "SUBSET OF" }, + { char: "&sup;", desc: "SUPERSET OF" }, + { char: "&nsub;", desc: "NOT A SUBSET OF" }, + { char: "&sube;", desc: "SUBSET OF OR EQUAL TO" }, + { char: "&supe;", desc: "SUPERSET OF OR EQUAL TO" }, + { char: "&oplus;", desc: "CIRCLED PLUS" }, + { char: "&otimes;", desc: "CIRCLED TIMES" }, + { char: "&perp;", desc: "UP TACK" }, + ], + }, + { + title: "Misc", + list: [ + { char: "&spades;", desc: "BLACK SPADE SUIT" }, + { char: "&clubs;", desc: "BLACK CLUB SUIT" }, + { char: "&hearts;", desc: "BLACK HEART SUIT" }, + { char: "&diams;", desc: "BLACK DIAMOND SUIT" }, + { char: "&#x2669", desc: "QUARTER NOTE" }, + { char: "&#x266A", desc: "EIGHTH NOTE" }, + { char: "&#x266B", desc: "BEAMED EIGHTH NOTES" }, + { char: "&#x266C", desc: "BEAMED SIXTEENTH NOTES" }, + { char: "&#x266D", desc: "MUSIC FLAT SIGN" }, + { char: "&#x266E", desc: "MUSIC NATURAL SIGN" }, + { char: "&#x2600", desc: "BLACK SUN WITH RAYS" }, + { char: "&#x2601", desc: "CLOUD" }, + { char: "&#x2602", desc: "UMBRELLA" }, + { char: "&#x2603", desc: "SNOWMAN" }, + { char: "&#x2615", desc: "HOT BEVERAGE" }, + { char: "&#x2618", desc: "SHAMROCK" }, + { char: "&#x262F", desc: "YIN YANG" }, + { char: "&#x2714", desc: "HEAVY CHECK MARK" }, + { char: "&#x2716", desc: "HEAVY MULTIPLICATION X" }, + { char: "&#x2744", desc: "SNOWFLAKE" }, + { char: "&#x275B", desc: "HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT" }, + { char: "&#x275C", desc: "HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT" }, + { char: "&#x275D", desc: "HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT" }, + { char: "&#x275E", desc: "HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT" }, + { char: "&#x2764", desc: "HEAVY BLACK HEART" }, + ], + }, + ], + }), + (be.FE.PLUGINS.specialCharacters = function (s) { + var o, + l, + r = "special_characters"; + function d(e, t) { + s.events.disableBlur(), e.focus(), t.preventDefault(), t.stopPropagation(); + } + return { + _init: function () {}, + show: function () { + if (!o) { + var e = "<h4>" + s.language.translate("Special Characters") + "</h4>", + t = (function () { + for (var e = '<div class="fr-special-characters-modal">', t = 0; t < s.opts.specialCharactersSets.length; t++) { + for ( + var n = s.opts.specialCharactersSets[t], r = n.list, i = '<div class="fr-special-characters-list"><p class="fr-special-characters-title">' + s.language.translate(n.title) + "</p>", a = 0; + a < r.length; + a++ + ) { + var o = r[a]; + i += + '<span class="fr-command fr-special-character" tabIndex="-1" role="button" value="' + + o["char"] + + '" title="' + + o.desc + + '">' + + o["char"] + + '<span class="fr-sr-only">' + + s.language.translate(o.desc) + + "&nbsp;&nbsp;&nbsp;</span></span>"; + } + e += i + "</div>"; + } + return (e += "</div>"); + })(), + n = s.modals.create(r, e, t); + (o = n.$modal), + n.$head, + (l = n.$body), + s.events.$on(be(s.o_win), "resize", function () { + (o.data("instance") || s).modals.resize(r); + }), + s.events.bindClick(l, ".fr-special-character", function (e) { + var t = o.data("instance") || s, + n = be(e.currentTarget); + t.specialCharacters.insert(n); + }), + s.events.$on( + l, + "keydown", + function (e) { + var t = e.which, + n = l.find("span.fr-special-character:focus:first"); + if (!(n.length || t != be.FE.KEYCODE.F10 || s.keys.ctrlKey(e) || e.shiftKey) && e.altKey) return d(l.find("span.fr-special-character:first"), e), !1; + if (t == be.FE.KEYCODE.TAB || t == be.FE.KEYCODE.ARROW_LEFT || t == be.FE.KEYCODE.ARROW_RIGHT) { + var r = null, + i = null, + a = !1; + return ( + t == be.FE.KEYCODE.ARROW_LEFT || t == be.FE.KEYCODE.ARROW_RIGHT ? ((i = t == be.FE.KEYCODE.ARROW_RIGHT), (a = !0)) : (i = !e.shiftKey), + n.length + ? (a && (r = i ? n.nextAll("span.fr-special-character:first") : n.prevAll("span.fr-special-character:first")), + (r && r.length) || + (r = i + ? n.parent().next().find("span.fr-special-character:first") + : n + .parent() + .prev() + .find("span.fr-special-character:" + (a ? "last" : "first"))).length || + (r = l.find("span.fr-special-character:" + (i ? "first" : "last")))) + : (r = l.find("span.fr-special-character:" + (i ? "first" : "last"))), + d(r, e), + !1 + ); + } + if (t != be.FE.KEYCODE.ENTER || !n.length) return !0; + (o.data("instance") || s).specialCharacters.insert(n); + }, + !0 + ); + } + s.modals.show(r), s.modals.resize(r); + }, + hide: function () { + s.modals.hide(r); + }, + insert: function (e) { + s.specialCharacters.hide(), s.undo.saveStep(), s.html.insert(e.attr("value"), !0), s.undo.saveStep(); + }, + }; + }), + be.FroalaEditor.DefineIcon("specialCharacters", { template: "text", NAME: "&#937;" }), + be.FE.RegisterCommand("specialCharacters", { + title: "Special Characters", + icon: "specialCharacters", + undo: !1, + focus: !1, + modal: !0, + callback: function () { + this.specialCharacters.show(); + }, + plugin: "specialCharacters", + showOnMobile: !0, + }), + be.extend(be.FE.POPUP_TEMPLATES, { "table.insert": "[_BUTTONS_][_ROWS_COLUMNS_]", "table.edit": "[_BUTTONS_]", "table.colors": "[_BUTTONS_][_COLORS_][_CUSTOM_COLOR_]" }), + be.extend(be.FE.DEFAULTS, { + tableInsertMaxSize: 10, + tableEditButtons: ["tableHeader", "tableRemove", "|", "tableRows", "tableColumns", "tableStyle", "-", "tableCells", "tableCellBackground", "tableCellVerticalAlign", "tableCellHorizontalAlign", "tableCellStyle"], + tableInsertButtons: ["tableBack", "|"], + tableResizer: !0, + tableDefaultWidth: "100%", + tableResizerOffset: 5, + tableResizingLimit: 30, + tableColorsButtons: ["tableBack", "|"], + tableColors: [ + "#61BD6D", + "#1ABC9C", + "#54ACD2", + "#2C82C9", + "#9365B8", + "#475577", + "#CCCCCC", + "#41A85F", + "#00A885", + "#3D8EB9", + "#2969B0", + "#553982", + "#28324E", + "#000000", + "#F7DA64", + "#FBA026", + "#EB6B56", + "#E25041", + "#A38F84", + "#EFEFEF", + "#FFFFFF", + "#FAC51C", + "#F37934", + "#D14841", + "#B8312F", + "#7C706B", + "#D1D5D8", + "REMOVE", + ], + tableColorsStep: 7, + tableCellStyles: { "fr-highlighted": "Highlighted", "fr-thick": "Thick" }, + tableStyles: { "fr-dashed-borders": "Dashed Borders", "fr-alternate-rows": "Alternate Rows" }, + tableCellMultipleStyles: !0, + tableMultipleStyles: !0, + tableInsertHelper: !0, + tableInsertHelperOffset: 15, + }), + (be.FE.PLUGINS.table = function (T) { + var A, s, i, a, r, o, b; + function u() { + var e = S(); + if (e) { + var t = T.popups.get("table.edit"); + if ((t || (t = p()), t)) { + T.popups.setContainer("table.edit", T.$sc); + var n = N(e), + r = (n.left + n.right) / 2, + i = n.bottom; + T.popups.show("table.edit", r, i, n.bottom - n.top), + T.edit.isDisabled() && + (1 < Q().length && T.toolbar.disable(), T.$el.removeClass("fr-no-selection"), T.edit.on(), T.button.bulkRefresh(), T.selection.setAtEnd(T.$el.find(".fr-selected-cell:last").get(0)), T.selection.restore()); + } + } + } + function d() { + var e, + t, + n, + r, + i = S(); + if (i) { + var a = T.popups.get("table.colors"); + a || + (a = (function () { + var e = ""; + 0 < T.opts.tableColorsButtons.length && (e = '<div class="fr-buttons fr-table-colors-buttons">' + T.button.buildList(T.opts.tableColorsButtons) + "</div>"); + var t = ""; + T.opts.colorsHEXInput && + (t = + '<div class="fr-table-colors-hex-layer fr-active fr-layer" id="fr-table-colors-hex-layer-' + + T.id + + '"><div class="fr-input-line"><input maxlength="7" id="fr-table-colors-hex-layer-text-' + + T.id + + '" type="text" placeholder="' + + T.language.translate("HEX Color") + + '" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="tableCellBackgroundCustomColor" tabIndex="2" role="button">' + + T.language.translate("OK") + + "</button></div></div>"); + var n = { + buttons: e, + colors: (function () { + for (var e = '<div class="fr-table-colors">', t = 0; t < T.opts.tableColors.length; t++) + 0 !== t && t % T.opts.tableColorsStep == 0 && (e += "<br>"), + "REMOVE" != T.opts.tableColors[t] + ? (e += + '<span class="fr-command" style="background: ' + + T.opts.tableColors[t] + + ';" tabIndex="-1" role="button" data-cmd="tableCellBackgroundColor" data-param1="' + + T.opts.tableColors[t] + + '"><span class="fr-sr-only">' + + T.language.translate("Color") + + " " + + T.opts.tableColors[t] + + "&nbsp;&nbsp;&nbsp;</span></span>") + : (e += + '<span class="fr-command" data-cmd="tableCellBackgroundColor" tabIndex="-1" role="button" data-param1="REMOVE" title="' + + T.language.translate("Clear Formatting") + + '">' + + T.icon.create("tableColorRemove") + + '<span class="fr-sr-only">' + + T.language.translate("Clear Formatting") + + "</span></span>"); + return (e += "</div>"); + })(), + custom_color: t, + }, + r = T.popups.create("table.colors", n); + return ( + T.events.$on(T.$wp, "scroll.table-colors", function () { + T.popups.isVisible("table.colors") && d(); + }), + (h = r), + T.events.on( + "popup.tab", + function (e) { + var t = be(e.currentTarget); + if (!T.popups.isVisible("table.colors") || !t.is("span")) return !0; + var n = e.which, + r = !0; + if (be.FE.KEYCODE.TAB == n) { + var i = h.find(".fr-buttons"); + r = !T.accessibility.focusToolbar(i, !!e.shiftKey); + } else if (be.FE.KEYCODE.ARROW_UP == n || be.FE.KEYCODE.ARROW_DOWN == n || be.FE.KEYCODE.ARROW_LEFT == n || be.FE.KEYCODE.ARROW_RIGHT == n) { + var a = t.parent().find("span.fr-command"), + o = a.index(t), + s = T.opts.colorsStep, + l = Math.floor(a.length / s), + d = o % s, + c = Math.floor(o / s), + f = c * s + d, + p = l * s; + be.FE.KEYCODE.ARROW_UP == n + ? (f = (((f - s) % p) + p) % p) + : be.FE.KEYCODE.ARROW_DOWN == n + ? (f = (f + s) % p) + : be.FE.KEYCODE.ARROW_LEFT == n + ? (f = (((f - 1) % p) + p) % p) + : be.FE.KEYCODE.ARROW_RIGHT == n && (f = (f + 1) % p); + var u = be(a.get(f)); + T.events.disableBlur(), u.focus(), (r = !1); + } else be.FE.KEYCODE.ENTER == n && (T.button.exec(t), (r = !1)); + return !1 === r && (e.preventDefault(), e.stopPropagation()), r; + }, + !0 + ), + r + ); + var h; + })()), + T.popups.setContainer("table.colors", T.$sc); + var o = N(i), + s = (o.left + o.right) / 2, + l = o.bottom; + (e = T.popups.get("table.colors")), + (t = T.$el.find(".fr-selected-cell:first")), + (n = T.helpers.RGBToHex(t.css("background-color"))), + (r = e.find(".fr-table-colors-hex-layer input")), + e.find(".fr-selected-color").removeClass("fr-selected-color fr-active-item"), + e.find('span[data-param1="' + n + '"]').addClass("fr-selected-color fr-active-item"), + r.val(n).trigger("change"), + T.popups.show("table.colors", s, l, o.bottom - o.top); + } + } + function l() { + 0 === Q().length && T.toolbar.enable(); + } + function c(e) { + if (e) + return ( + T.popups.onHide("table.insert", function () { + T.popups.get("table.insert").find('.fr-table-size .fr-select-table-size > span[data-row="1"][data-col="1"]').trigger("mouseenter"); + }), + !0 + ); + var t = ""; + 0 < T.opts.tableInsertButtons.length && (t = '<div class="fr-buttons">' + T.button.buildList(T.opts.tableInsertButtons) + "</div>"); + var n, + r = { + buttons: t, + rows_columns: (function () { + for (var e = '<div class="fr-table-size"><div class="fr-table-size-info">1 &times; 1</div><div class="fr-select-table-size">', t = 1; t <= T.opts.tableInsertMaxSize; t++) { + for (var n = 1; n <= T.opts.tableInsertMaxSize; n++) { + var r = "inline-block"; + 2 < t && !T.helpers.isMobile() && (r = "none"); + var i = "fr-table-cell "; + 1 == t && 1 == n && (i += " hover"), + (e += + '<span class="fr-command ' + + i + + '" tabIndex="-1" data-cmd="tableInsert" data-row="' + + t + + '" data-col="' + + n + + '" data-param1="' + + t + + '" data-param2="' + + n + + '" style="display: ' + + r + + ';" role="button"><span></span><span class="fr-sr-only">' + + t + + " &times; " + + n + + "&nbsp;&nbsp;&nbsp;</span></span>"); + } + e += '<div class="new-line"></div>'; + } + return (e += "</div></div>"); + })(), + }, + i = T.popups.create("table.insert", r); + return ( + T.events.$on( + i, + "mouseenter", + ".fr-table-size .fr-select-table-size .fr-table-cell", + function (e) { + f(be(e.currentTarget)); + }, + !0 + ), + (n = i), + T.events.$on(n, "focus", "[tabIndex]", function (e) { + var t = be(e.currentTarget); + f(t); + }), + T.events.on( + "popup.tab", + function (e) { + var t = be(e.currentTarget); + if (!T.popups.isVisible("table.insert") || !t.is("span, a")) return !0; + var n, + r = e.which; + if (be.FE.KEYCODE.ARROW_UP == r || be.FE.KEYCODE.ARROW_DOWN == r || be.FE.KEYCODE.ARROW_LEFT == r || be.FE.KEYCODE.ARROW_RIGHT == r) { + if (t.is("span.fr-table-cell")) { + var i = t.parent().find("span.fr-table-cell"), + a = i.index(t), + o = T.opts.tableInsertMaxSize, + s = a % o, + l = Math.floor(a / o); + be.FE.KEYCODE.ARROW_UP == r + ? (l = Math.max(0, l - 1)) + : be.FE.KEYCODE.ARROW_DOWN == r + ? (l = Math.min(T.opts.tableInsertMaxSize - 1, l + 1)) + : be.FE.KEYCODE.ARROW_LEFT == r + ? (s = Math.max(0, s - 1)) + : be.FE.KEYCODE.ARROW_RIGHT == r && (s = Math.min(T.opts.tableInsertMaxSize - 1, s + 1)); + var d = l * o + s, + c = be(i.get(d)); + f(c), T.events.disableBlur(), c.focus(), (n = !1); + } + } else be.FE.KEYCODE.ENTER == r && (T.button.exec(t), (n = !1)); + return !1 === n && (e.preventDefault(), e.stopPropagation()), n; + }, + !0 + ), + i + ); + } + function f(e) { + var t = e.data("row"), + n = e.data("col"), + r = e.parent(); + r.siblings(".fr-table-size-info").html(t + " &times; " + n), r.find("> span").removeClass("hover fr-active-item"); + for (var i = 1; i <= T.opts.tableInsertMaxSize; i++) + for (var a = 0; a <= T.opts.tableInsertMaxSize; a++) { + var o = r.find('> span[data-row="' + i + '"][data-col="' + a + '"]'); + i <= t && a <= n ? o.addClass("hover") : i <= t + 1 || (i <= 2 && !T.helpers.isMobile()) ? o.css("display", "inline-block") : 2 < i && !T.helpers.isMobile() && o.css("display", "none"); + } + e.addClass("fr-active-item"); + } + function p(e) { + if (e) return T.popups.onHide("table.edit", l), !0; + if (0 < T.opts.tableEditButtons.length) { + var t = { buttons: '<div class="fr-buttons">' + T.button.buildList(T.opts.tableEditButtons) + "</div>" }, + n = T.popups.create("table.edit", t); + return ( + T.events.$on(T.$wp, "scroll.table-edit", function () { + T.popups.isVisible("table.edit") && u(); + }), + n + ); + } + return !1; + } + function h() { + if (0 < Q().length) { + var e = Z(); + T.selection.setBefore(e.get(0)) || T.selection.setAfter(e.get(0)), T.selection.restore(), T.popups.hide("table.edit"), e.remove(), T.toolbar.enable(); + } + } + function g(e) { + var t = Z(); + if (0 < t.length) { + if (0 < T.$el.find("th.fr-selected-cell").length && "above" == e) return; + var n, + r, + i, + a = S(), + o = w(a); + r = "above" == e ? o.min_i : o.max_i; + var s = "<tr>"; + for (n = 0; n < a[r].length; n++) + if (("below" == e && r < a.length - 1 && a[r][n] == a[r + 1][n]) || ("above" == e && 0 < r && a[r][n] == a[r - 1][n])) { + if (0 === n || (0 < n && a[r][n] != a[r][n - 1])) { + var l = be(a[r][n]); + l.attr("rowspan", parseInt(l.attr("rowspan"), 10) + 1); + } + } else s += "<td><br></td>"; + (s += "</tr>"), + (i = 0 < T.$el.find("th.fr-selected-cell").length && "below" == e ? be(t.find("tbody").not(t.find("table tbody"))) : be(t.find("tr").not(t.find("table tr")).get(r))), + "below" == e ? ("TBODY" == i.prop("tagName") ? i.prepend(s) : i.after(s)) : "above" == e && (i.before(s), T.popups.isVisible("table.edit") && u()); + } + } + function m(e, t, n) { + var r, + i, + a, + o, + s, + l = 0, + d = S(n); + if (e < (t = Math.min(t, d[0].length - 1))) + for (i = e; i <= t; i++) + if (!(e < i && d[0][i] == d[0][i - 1]) && 1 < (o = Math.min(parseInt(d[0][i].getAttribute("colspan"), 10) || 1, t - e + 1)) && d[0][i] == d[0][i + 1]) + for (l = o - 1, r = 1; r < d.length; r++) + if (d[r][i] != d[r - 1][i]) { + for (a = i; a < i + o; a++) + if (1 < (s = parseInt(d[r][a].getAttribute("colspan"), 10) || 1) && d[r][a] == d[r][a + 1]) a += l = Math.min(l, s - 1); + else if (!(l = Math.max(0, l - 1))) break; + if (!l) break; + } + l && E(d, l, "colspan", 0, d.length - 1, e, t); + } + function v(e, t, n) { + var r, + i, + a, + o, + s, + l = 0, + d = S(n); + if (e < (t = Math.min(t, d.length - 1))) + for (r = e; r <= t; r++) + if (!(e < r && d[r][0] == d[r - 1][0]) && 1 < (o = Math.min(parseInt(d[r][0].getAttribute("rowspan"), 10) || 1, t - e + 1)) && d[r][0] == d[r + 1][0]) + for (l = o - 1, i = 1; i < d[0].length; i++) + if (d[r][i] != d[r][i - 1]) { + for (a = r; a < r + o; a++) + if (1 < (s = parseInt(d[a][i].getAttribute("rowspan"), 10) || 1) && d[a][i] == d[a + 1][i]) a += l = Math.min(l, s - 1); + else if (!(l = Math.max(0, l - 1))) break; + if (!l) break; + } + l && E(d, l, "rowspan", e, t, 0, d[0].length - 1); + } + function E(e, t, n, r, i, a, o) { + var s, l, d; + for (s = r; s <= i; s++) + for (l = a; l <= o; l++) + (r < s && e[s][l] == e[s - 1][l]) || (a < l && e[s][l] == e[s][l - 1]) || (1 < (d = parseInt(e[s][l].getAttribute(n), 10) || 1) && (1 < d - t ? e[s][l].setAttribute(n, d - t) : e[s][l].removeAttribute(n))); + } + function C(e, t, n, r, i) { + v(e, t, i), m(n, r, i); + } + function t(e) { + var t = T.$el.find(".fr-selected-cell"); + "REMOVE" != e ? t.css("background-color", T.helpers.HEXtoRGB(e)) : t.css("background-color", ""), u(); + } + function S(e) { + var d = []; + return ( + null == (e = e || null) && 0 < Q().length && (e = Z()), + e && + e + .find("tr:visible") + .not(e.find("table tr")) + .each(function (s, e) { + var t = be(e), + l = 0; + t.find("> th, > td").each(function (e, t) { + for (var n = be(t), r = parseInt(n.attr("colspan"), 10) || 1, i = parseInt(n.attr("rowspan"), 10) || 1, a = s; a < s + i; a++) + for (var o = l; o < l + r; o++) d[a] || (d[a] = []), d[a][o] ? l++ : (d[a][o] = t); + l += r; + }); + }), + d + ); + } + function R(e, t) { + for (var n = 0; n < t.length; n++) for (var r = 0; r < t[n].length; r++) if (t[n][r] == e) return { row: n, col: r }; + } + function y(e, t, n) { + for (var r = e + 1, i = t + 1; r < n.length; ) { + if (n[r][t] != n[e][t]) { + r--; + break; + } + r++; + } + for (r == n.length && r--; i < n[e].length; ) { + if (n[e][i] != n[e][t]) { + i--; + break; + } + i++; + } + return i == n[e].length && i--, { row: r, col: i }; + } + function _() { + T.el.querySelector(".fr-cell-fixed") && T.el.querySelector(".fr-cell-fixed").classList.remove("fr-cell-fixed"), + T.el.querySelector(".fr-cell-handler") && T.el.querySelector(".fr-cell-handler").classList.remove("fr-cell-handler"); + } + function L() { + var e = T.$el.find(".fr-selected-cell"); + 0 < e.length && + e.each(function () { + var e = be(this); + e.removeClass("fr-selected-cell"), "" === e.attr("class") && e.removeAttr("class"); + }), + _(); + } + function x() { + T.events.disableBlur(), T.selection.clear(), T.$el.addClass("fr-no-selection"), T.$el.blur(), T.events.enableBlur(); + } + function w(e) { + var t = T.$el.find(".fr-selected-cell"); + if (0 < t.length) { + var n, + r = e.length, + i = 0, + a = e[0].length, + o = 0; + for (n = 0; n < t.length; n++) { + var s = R(t[n], e), + l = y(s.row, s.col, e); + (r = Math.min(s.row, r)), (i = Math.max(l.row, i)), (a = Math.min(s.col, a)), (o = Math.max(l.col, o)); + } + return { min_i: r, max_i: i, min_j: a, max_j: o }; + } + return null; + } + function N(e) { + var t = w(e), + n = be(e[t.min_i][t.min_j]), + r = be(e[t.min_i][t.max_j]), + i = be(e[t.max_i][t.min_j]); + return { left: n.offset().left, right: r.offset().left + r.outerWidth(), top: n.offset().top, bottom: i.offset().top + i.outerHeight() }; + } + function O(t, n) { + if (be(t).is(n)) L(), be(t).addClass("fr-selected-cell"); + else { + x(), T.edit.off(); + var r = S(), + i = R(t, r), + a = R(n, r), + o = (function e(t, n, r, i, a) { + var o, + s, + l, + d, + c = t, + f = n, + p = r, + u = i; + for (o = c; o <= f; o++) + (1 < (parseInt(be(a[o][p]).attr("rowspan"), 10) || 1) || 1 < (parseInt(be(a[o][p]).attr("colspan"), 10) || 1)) && + ((d = y((l = R(a[o][p], a)).row, l.col, a)), (c = Math.min(l.row, c)), (f = Math.max(d.row, f)), (p = Math.min(l.col, p)), (u = Math.max(d.col, u))), + (1 < (parseInt(be(a[o][u]).attr("rowspan"), 10) || 1) || 1 < (parseInt(be(a[o][u]).attr("colspan"), 10) || 1)) && + ((d = y((l = R(a[o][u], a)).row, l.col, a)), (c = Math.min(l.row, c)), (f = Math.max(d.row, f)), (p = Math.min(l.col, p)), (u = Math.max(d.col, u))); + for (s = p; s <= u; s++) + (1 < (parseInt(be(a[c][s]).attr("rowspan"), 10) || 1) || 1 < (parseInt(be(a[c][s]).attr("colspan"), 10) || 1)) && + ((d = y((l = R(a[c][s], a)).row, l.col, a)), (c = Math.min(l.row, c)), (f = Math.max(d.row, f)), (p = Math.min(l.col, p)), (u = Math.max(d.col, u))), + (1 < (parseInt(be(a[f][s]).attr("rowspan"), 10) || 1) || 1 < (parseInt(be(a[f][s]).attr("colspan"), 10) || 1)) && + ((d = y((l = R(a[f][s], a)).row, l.col, a)), (c = Math.min(l.row, c)), (f = Math.max(d.row, f)), (p = Math.min(l.col, p)), (u = Math.max(d.col, u))); + return c == t && f == n && p == r && u == i ? { min_i: t, max_i: n, min_j: r, max_j: i } : e(c, f, p, u, a); + })(Math.min(i.row, a.row), Math.max(i.row, a.row), Math.min(i.col, a.col), Math.max(i.col, a.col), r); + L(), t.classList.add("fr-cell-fixed"), n.classList.add("fr-cell-handler"); + for (var s = o.min_i; s <= o.max_i; s++) for (var l = o.min_j; l <= o.max_j; l++) be(r[s][l]).addClass("fr-selected-cell"); + } + } + function I(e) { + var t = null, + n = be(e.target); + return ( + "TD" == e.target.tagName || "TH" == e.target.tagName ? (t = e.target) : 0 < n.closest("td").length ? (t = n.closest("td").get(0)) : 0 < n.closest("th").length && (t = n.closest("th").get(0)), + 0 === T.$el.find(t).length ? null : t + ); + } + function D() { + L(), T.popups.hide("table.edit"); + } + function e(e) { + var t = I(e); + if ("false" == be(t).parents("[contenteditable]:not(.fr-element):not(.fr-img-caption):not(body):first").attr("contenteditable")) return !0; + if ((0 < Q().length && !t && D(), !T.edit.isDisabled() || T.popups.isVisible("table.edit"))) + if (1 != e.which || (1 == e.which && T.helpers.isMac() && e.ctrlKey)) (3 == e.which || (1 == e.which && T.helpers.isMac() && e.ctrlKey)) && t && D(); + else if (((a = !0), t)) { + 0 < Q().length && !e.shiftKey && D(), e.stopPropagation(), T.events.trigger("image.hideResizer"), T.events.trigger("video.hideResizer"), (i = !0); + var n = t.tagName.toLowerCase(); + e.shiftKey && 0 < T.$el.find(n + ".fr-selected-cell").length + ? be(T.$el.find(n + ".fr-selected-cell").closest("table")).is(be(t).closest("table")) + ? O(r, t) + : x() + : ((T.keys.ctrlKey(e) || e.shiftKey) && (1 < Q().length || (0 === be(t).find(T.selection.element()).length && !be(t).is(T.selection.element()))) && x(), (r = t), 0 < T.opts.tableEditButtons.length && O(r, r)); + } + } + function n(e) { + if ((i || T.$tb.is(e.target) || T.$tb.is(be(e.target).closest(T.$tb.get(0))) || (0 < Q().length && T.toolbar.enable(), L()), !(1 != e.which || (1 == e.which && T.helpers.isMac() && e.ctrlKey)))) { + if (((a = !1), i)) (i = !1), I(e) || 1 != Q().length ? 0 < Q().length && (T.selection.isCollapsed() ? u() : L()) : L(); + if (b) { + (b = !1), A.removeClass("fr-moving"), T.$el.removeClass("fr-no-selection"), T.edit.on(); + var t = parseFloat(A.css("left")) + T.opts.tableResizerOffset + T.$wp.offset().left; + T.opts.iframe && (t -= T.$iframe.offset().left), + A.data("release-position", t), + A.removeData("max-left"), + A.removeData("max-right"), + (function () { + var e = A.data("origin"), + t = A.data("release-position"); + if (e !== t) { + var n = A.data("first"), + r = A.data("second"), + i = A.data("table"), + a = i.outerWidth(); + if ((T.undo.canDo() || T.undo.saveStep(), null !== n && null !== r)) { + var o, + s, + l, + d = S(i), + c = [], + f = [], + p = [], + u = []; + for (o = 0; o < d.length; o++) (s = be(d[o][n])), (l = be(d[o][r])), (c[o] = s.outerWidth()), (p[o] = l.outerWidth()), (f[o] = (c[o] / a) * 100), (u[o] = (p[o] / a) * 100); + for (o = 0; o < d.length; o++) + if (((s = be(d[o][n])), (l = be(d[o][r])), d[o][n] != d[o][r])) { + var h = ((f[o] * (c[o] + t - e)) / c[o]).toFixed(4); + s.css("width", h + "%"), l.css("width", (f[o] + u[o] - h).toFixed(4) + "%"); + } + } else { + var g, + m = i.parent(), + v = (a / m.width()) * 100, + E = ((parseInt(i.css("margin-left"), 10) || 0) / m.width()) * 100, + b = ((parseInt(i.css("margin-right"), 10) || 0) / m.width()) * 100; + ("rtl" == T.opts.direction && 0 === r) || ("rtl" != T.opts.direction && 0 !== r) + ? ((g = ((a + t - e) / a) * v), i.css("margin-right", "calc(100% - " + Math.round(g).toFixed(4) + "% - " + Math.round(E).toFixed(4) + "%)")) + : (("rtl" == T.opts.direction && 0 !== r) || ("rtl" != T.opts.direction && 0 === r)) && + ((g = ((a - t + e) / a) * v), i.css("margin-left", "calc(100% - " + Math.round(g).toFixed(4) + "% - " + Math.round(b).toFixed(4) + "%)")), + i.css("width", Math.round(g).toFixed(4) + "%"); + } + T.selection.restore(), T.undo.saveStep(), T.events.trigger("table.resized", [i.get(0)]); + } + A.removeData("origin"), A.removeData("release-position"), A.removeData("first"), A.removeData("second"), A.removeData("table"); + })(), + B(); + } + } + } + function k(e) { + if (!0 === i && 0 < T.opts.tableEditButtons.length) { + if (be(e.currentTarget).closest("table").is(Z())) { + if ("TD" == e.currentTarget.tagName && 0 === T.$el.find("th.fr-selected-cell").length) return void O(r, e.currentTarget); + if ("TH" == e.currentTarget.tagName && 0 === T.$el.find("td.fr-selected-cell").length) return void O(r, e.currentTarget); + } + x(); + } + } + function F(e, t, n, r) { + for (var i, a = t; a != T.el && "TD" != a.tagName && "TH" != a.tagName && ("up" == r ? (i = a.previousElementSibling) : "down" == r && (i = a.nextElementSibling), !i); ) a = a.parentNode; + "TD" == a.tagName || "TH" == a.tagName + ? (function (e, t) { + for (var n = e; n && "TABLE" != n.tagName && n.parentNode != T.el; ) n = n.parentNode; + if (n && "TABLE" == n.tagName) { + var r = S(be(n)); + "up" == t ? M(R(e, r), n, r) : "down" == t && $(R(e, r), n, r); + } + })(a, r) + : i && ("up" == r && T.selection.setAtEnd(i), "down" == r && T.selection.setAtStart(i)); + } + function M(e, t, n) { + 0 < e.row ? T.selection.setAtEnd(n[e.row - 1][e.col]) : F(0, t, 0, "up"); + } + function $(e, t, n) { + var r = parseInt(n[e.row][e.col].getAttribute("rowspan"), 10) || 1; + e.row < n.length - r ? T.selection.setAtStart(n[e.row + r][e.col]) : F(0, t, 0, "down"); + } + function B() { + A && (A.find("div").css("opacity", 0), A.css("top", 0), A.css("left", 0), A.css("height", 0), A.find("div").css("height", 0), A.hide()); + } + function P() { + s && s.removeClass("fr-visible").css("left", "-9999px"); + } + function U(e, t) { + var n = be(t), + r = n.closest("table"), + i = r.parent(); + if ((t && "TD" != t.tagName && "TH" != t.tagName && (0 < n.closest("td").length ? (t = n.closest("td")) : 0 < n.closest("th").length && (t = n.closest("th"))), !t || ("TD" != t.tagName && "TH" != t.tagName))) + A && n.get(0) != A.get(0) && n.parent().get(0) != A.get(0) && T.core.sameInstance(A) && B(); + else { + if (((n = be(t)), 0 === T.$el.find(n).length)) return !1; + var a = n.offset().left - 1, + o = a + n.outerWidth(); + if (Math.abs(e.pageX - a) <= T.opts.tableResizerOffset || Math.abs(o - e.pageX) <= T.opts.tableResizerOffset) { + var s, + l, + d, + c, + f, + p = S(r), + u = R(t, p), + h = y(u.row, u.col, p), + g = r.offset().top, + m = r.outerHeight() - 1; + "rtl" != T.opts.direction + ? e.pageX - a <= T.opts.tableResizerOffset + ? ((d = a), + 0 < u.col + ? ((c = a - Y(u.col - 1, p) + T.opts.tableResizingLimit), (f = a + Y(u.col, p) - T.opts.tableResizingLimit), (s = u.col - 1), (l = u.col)) + : ((s = null), (l = 0), (c = r.offset().left - 1 - parseInt(r.css("margin-left"), 10)), (f = r.offset().left - 1 + r.width() - p[0].length * T.opts.tableResizingLimit))) + : o - e.pageX <= T.opts.tableResizerOffset && + ((d = o), + h.col < p[h.row].length && p[h.row][h.col + 1] + ? ((c = o - Y(h.col, p) + T.opts.tableResizingLimit), (f = o + Y(h.col + 1, p) - T.opts.tableResizingLimit), (s = h.col), (l = h.col + 1)) + : ((s = h.col), (l = null), (c = r.offset().left - 1 + p[0].length * T.opts.tableResizingLimit), (f = i.offset().left - 1 + i.width() + parseFloat(i.css("padding-left"))))) + : o - e.pageX <= T.opts.tableResizerOffset + ? ((d = o), + 0 < u.col + ? ((c = o - Y(u.col, p) + T.opts.tableResizingLimit), (f = o + Y(u.col - 1, p) - T.opts.tableResizingLimit), (s = u.col), (l = u.col - 1)) + : ((s = null), (l = 0), (c = r.offset().left + p[0].length * T.opts.tableResizingLimit), (f = i.offset().left - 1 + i.width() + parseFloat(i.css("padding-left"))))) + : e.pageX - a <= T.opts.tableResizerOffset && + ((d = a), + h.col < p[h.row].length && p[h.row][h.col + 1] + ? ((c = a - Y(h.col + 1, p) + T.opts.tableResizingLimit), (f = a + Y(h.col, p) - T.opts.tableResizingLimit), (s = h.col + 1), (l = h.col)) + : ((s = h.col), (l = null), (c = i.offset().left + parseFloat(i.css("padding-left"))), (f = r.offset().left - 1 + r.width() - p[0].length * T.opts.tableResizingLimit))), + A || + (T.shared.$table_resizer || (T.shared.$table_resizer = be('<div class="fr-table-resizer"><div></div></div>')), + (A = T.shared.$table_resizer), + T.events.$on(A, "mousedown", function (e) { + return !T.core.sameInstance(A) || (0 < Q().length && D(), 1 == e.which ? (T.selection.save(), (b = !0), A.addClass("fr-moving"), x(), T.edit.off(), A.find("div").css("opacity", 1), !1) : void 0); + }), + T.events.$on(A, "mousemove", function (e) { + if (!T.core.sameInstance(A)) return !0; + b && (T.opts.iframe && (e.pageX -= T.$iframe.offset().left), V(e)); + }), + T.events.on( + "shared.destroy", + function () { + A.html("").removeData().remove(), (A = null); + }, + !0 + ), + T.events.on( + "destroy", + function () { + T.$el.find(".fr-selected-cell").removeClass("fr-selected-cell"), A.hide().appendTo(be("body:first")); + }, + !0 + )), + A.data("table", r), + A.data("first", s), + A.data("second", l), + A.data("instance", T), + T.$wp.append(A); + var v = d - T.win.pageXOffset - T.opts.tableResizerOffset - T.$wp.offset().left, + E = g - T.$wp.offset().top + T.$wp.scrollTop(); + T.opts.iframe && ((v += T.$iframe.offset().left), (E += T.$iframe.offset().top), (c += T.$iframe.offset().left), (f += T.$iframe.offset().left)), + A.data("max-left", c), + A.data("max-right", f), + A.data("origin", d - T.win.pageXOffset), + A.css("top", E), + A.css("left", v), + A.css("height", m), + A.find("div").css("height", m), + A.css("padding-left", T.opts.tableResizerOffset), + A.css("padding-right", T.opts.tableResizerOffset), + A.show(); + } else T.core.sameInstance(A) && B(); + } + } + function K(e, t) { + if (T.$box.find(".fr-line-breaker").is(":visible")) return !1; + s || q(), T.$box.append(s), s.data("instance", T); + var n, + r = be(t).find("tr:first"), + i = e.pageX, + a = 0, + o = 0; + T.opts.iframe && ((a += T.$iframe.offset().left - T.helpers.scrollLeft()), (o += T.$iframe.offset().top - T.helpers.scrollTop())), + r.find("th, td").each(function () { + var e = be(this); + return e.offset().left <= i && i < e.offset().left + e.outerWidth() / 2 + ? ((n = parseInt(s.find("a").css("width"), 10)), + s.css("top", o + e.offset().top - T.$box.offset().top - n - 5), + s.css("left", a + e.offset().left - T.$box.offset().left - n / 2), + s.data("selected-cell", e), + s.data("position", "before"), + s.addClass("fr-visible"), + !1) + : e.offset().left + e.outerWidth() / 2 <= i && i < e.offset().left + e.outerWidth() + ? ((n = parseInt(s.find("a").css("width"), 10)), + s.css("top", o + e.offset().top - T.$box.offset().top - n - 5), + s.css("left", a + e.offset().left - T.$box.offset().left + e.outerWidth() - n / 2), + s.data("selected-cell", e), + s.data("position", "after"), + s.addClass("fr-visible"), + !1) + : void 0; + }); + } + function H(e, t) { + if (T.$box.find(".fr-line-breaker").is(":visible")) return !1; + s || q(), T.$box.append(s), s.data("instance", T); + var n, + r = be(t), + i = e.pageY, + a = 0, + o = 0; + T.opts.iframe && ((a += T.$iframe.offset().left - T.helpers.scrollLeft()), (o += T.$iframe.offset().top - T.helpers.scrollTop())), + r.find("tr").each(function () { + var e = be(this); + return e.offset().top <= i && i < e.offset().top + e.outerHeight() / 2 + ? ((n = parseInt(s.find("a").css("width"), 10)), + s.css("top", o + e.offset().top - T.$box.offset().top - n / 2), + s.css("left", a + e.offset().left - T.$box.offset().left - n - 5), + s.data("selected-cell", e.find("td:first")), + s.data("position", "above"), + s.addClass("fr-visible"), + !1) + : e.offset().top + e.outerHeight() / 2 <= i && i < e.offset().top + e.outerHeight() + ? ((n = parseInt(s.find("a").css("width"), 10)), + s.css("top", o + e.offset().top - T.$box.offset().top + e.outerHeight() - n / 2), + s.css("left", a + e.offset().left - T.$box.offset().left - n - 5), + s.data("selected-cell", e.find("td:first")), + s.data("position", "below"), + s.addClass("fr-visible"), + !1) + : void 0; + }); + } + function W(e) { + o = null; + var t = T.doc.elementFromPoint(e.pageX - T.win.pageXOffset, e.pageY - T.win.pageYOffset); + T.opts.tableResizer && (!T.popups.areVisible() || (T.popups.areVisible() && T.popups.isVisible("table.edit"))) && U(e, t), + !T.opts.tableInsertHelper || + T.popups.areVisible() || + (T.$tb.hasClass("fr-inline") && T.$tb.is(":visible")) || + (function (e, t) { + if (0 === Q().length) { + var n, r, i; + if (t && ("HTML" == t.tagName || "BODY" == t.tagName || T.node.isElement(t))) + for (n = 1; n <= T.opts.tableInsertHelperOffset; n++) { + if (((r = T.doc.elementFromPoint(e.pageX - T.win.pageXOffset, e.pageY - T.win.pageYOffset + n)), be(r).hasClass("fr-tooltip"))) return; + if (r && ("TH" == r.tagName || "TD" == r.tagName || "TABLE" == r.tagName) && (be(r).parents(".fr-wrapper").length || T.opts.iframe)) return K(e, be(r).closest("table")); + if (((i = T.doc.elementFromPoint(e.pageX - T.win.pageXOffset + n, e.pageY - T.win.pageYOffset)), be(i).hasClass("fr-tooltip"))) return; + if (i && ("TH" == i.tagName || "TD" == i.tagName || "TABLE" == i.tagName) && (be(i).parents(".fr-wrapper").length || T.opts.iframe)) return H(e, be(i).closest("table")); + } + T.core.sameInstance(s) && P(); + } + })(e, t); + } + function z() { + if (b) { + var e = A.data("table").offset().top - T.win.pageYOffset; + T.opts.iframe && (e += T.$iframe.offset().top - T.helpers.scrollTop()), A.css("top", e); + } + } + function Y(e, t) { + var n, + r = be(t[0][e]).outerWidth(); + for (n = 1; n < t.length; n++) r = Math.min(r, be(t[n][e]).outerWidth()); + return r; + } + function G(e, t, n) { + var r, + i = 0; + for (r = e; r <= t; r++) i += Y(r, n); + return i; + } + function V(e) { + if ((1 < Q().length && a && x(), !1 === a && !1 === i && !1 === b)) o && clearTimeout(o), (T.edit.isDisabled() && !T.popups.isVisible("table.edit")) || (o = setTimeout(W, 30, e)); + else if (b) { + var t = e.pageX - T.win.pageXOffset; + T.opts.iframe && (t += T.$iframe.offset().left); + var n = A.data("max-left"), + r = A.data("max-right"); + n <= t && t <= r + ? A.css("left", t - T.opts.tableResizerOffset - T.$wp.offset().left) + : t < n && parseFloat(A.css("left"), 10) > n - T.opts.tableResizerOffset + ? A.css("left", n - T.opts.tableResizerOffset - T.$wp.offset().left) + : r < t && parseFloat(A.css("left"), 10) < r - T.opts.tableResizerOffset && A.css("left", r - T.opts.tableResizerOffset - T.$wp.offset().left); + } else a && P(); + } + function X(e) { + T.node.isEmpty(e.get(0)) ? e.prepend(be.FE.MARKERS) : e.prepend(be.FE.START_MARKER).append(be.FE.END_MARKER); + } + function q() { + T.shared.$ti_helper || + ((T.shared.$ti_helper = be( + '<div class="fr-insert-helper"><a class="fr-floating-btn" role="button" tabIndex="-1" title="' + + T.language.translate("Insert") + + '"><svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="M22,16.75 L16.75,16.75 L16.75,22 L15.25,22.000 L15.25,16.75 L10,16.75 L10,15.25 L15.25,15.25 L15.25,10 L16.75,10 L16.75,15.25 L22,15.25 L22,16.75 Z"/></svg></a></div>' + )), + T.events.bindClick(T.shared.$ti_helper, "a", function () { + var e = s.data("selected-cell"), + t = s.data("position"), + n = s.data("instance") || T; + "before" == t + ? (T.undo.saveStep(), e.addClass("fr-selected-cell"), n.table.insertColumn(t), e.removeClass("fr-selected-cell"), T.undo.saveStep()) + : "after" == t + ? (T.undo.saveStep(), e.addClass("fr-selected-cell"), n.table.insertColumn(t), e.removeClass("fr-selected-cell"), T.undo.saveStep()) + : "above" == t + ? (T.undo.saveStep(), e.addClass("fr-selected-cell"), n.table.insertRow(t), e.removeClass("fr-selected-cell"), T.undo.saveStep()) + : "below" == t && (T.undo.saveStep(), e.addClass("fr-selected-cell"), n.table.insertRow(t), e.removeClass("fr-selected-cell"), T.undo.saveStep()), + P(); + }), + T.events.on( + "shared.destroy", + function () { + T.shared.$ti_helper.html("").removeData().remove(), (T.shared.$ti_helper = null); + }, + !0 + ), + T.events.$on( + T.shared.$ti_helper, + "mousemove", + function (e) { + e.stopPropagation(); + }, + !0 + ), + T.events.$on( + be(T.o_win), + "scroll", + function () { + P(); + }, + !0 + ), + T.events.$on( + T.$wp, + "scroll", + function () { + P(); + }, + !0 + )), + (s = T.shared.$ti_helper), + T.events.on("destroy", function () { + s = null; + }), + T.tooltip.bind(T.$box, ".fr-insert-helper > a.fr-floating-btn"); + } + function j() { + (r = null), clearTimeout(o); + } + function Q() { + return T.el.querySelectorAll(".fr-selected-cell"); + } + function Z() { + var e = Q(); + if (e.length) { + for (var t = e[0]; t && "TABLE" != t.tagName && t.parentNode != T.el; ) t = t.parentNode; + return t && "TABLE" == t.tagName ? be(t) : be([]); + } + return be([]); + } + return { + _init: function () { + if (!T.$wp) return !1; + if (!T.helpers.isMobile()) { + (b = i = a = !1), + T.events.$on(T.$el, "mousedown", e), + T.popups.onShow("image.edit", function () { + L(), (i = a = !1); + }), + T.popups.onShow("link.edit", function () { + L(), (i = a = !1); + }), + T.events.on("commands.mousedown", function (e) { + 0 < e.parents(".fr-toolbar").length && L(); + }), + T.events.$on(T.$el, "mouseenter", "th, td", k), + T.events.$on(T.$win, "mouseup", n), + T.opts.iframe && T.events.$on(be(T.o_win), "mouseup", n), + T.events.$on(T.$win, "mousemove", V), + T.events.$on(be(T.o_win), "scroll", z), + T.events.on("contentChanged", function () { + 0 < Q().length && + (u(), + T.$el.find("img").on("load.selected-cells", function () { + be(this).off("load.selected-cells"), 0 < Q().length && u(); + })); + }), + T.events.$on(be(T.o_win), "resize", function () { + L(); + }), + T.events.on( + "toolbar.esc", + function () { + if (0 < Q().length) return T.events.disableBlur(), T.events.focus(), !1; + }, + !0 + ), + T.events.$on(be(T.o_win), "keydown", function () { + a && i && ((i = a = !1), T.$el.removeClass("fr-no-selection"), T.edit.on(), T.selection.setAtEnd(T.$el.find(".fr-selected-cell:last").get(0)), T.selection.restore(), L()); + }), + T.events.$on(T.$el, "keydown", function (e) { + e.shiftKey + ? !1 === + (function (e) { + var t = Q(); + if (0 < t.length) { + var n, + r, + i = S(), + a = e.which; + 1 == t.length ? (r = n = t[0]) : ((n = T.el.querySelector(".fr-cell-fixed")), (r = T.el.querySelector(".fr-cell-handler"))); + var o = R(r, i); + if (be.FE.KEYCODE.ARROW_RIGHT == a) { + if (o.col < i[0].length - 1) return O(n, i[o.row][o.col + 1]), !1; + } else if (be.FE.KEYCODE.ARROW_DOWN == a) { + if (o.row < i.length - 1) return O(n, i[o.row + 1][o.col]), !1; + } else if (be.FE.KEYCODE.ARROW_LEFT == a) { + if (0 < o.col) return O(n, i[o.row][o.col - 1]), !1; + } else if (be.FE.KEYCODE.ARROW_UP == a && 0 < o.row) return O(n, i[o.row - 1][o.col]), !1; + } + })(e) && + setTimeout(function () { + u(); + }, 0) + : (function (e) { + var t = e.which, + n = T.selection.blocks(); + if (n.length && ("TD" == (n = n[0]).tagName || "TH" == n.tagName)) { + for (var r = n; r && "TABLE" != r.tagName && r.parentNode != T.el; ) r = r.parentNode; + if ( + r && + "TABLE" == r.tagName && + (be.FE.KEYCODE.ARROW_LEFT == t || be.FE.KEYCODE.ARROW_UP == t || be.FE.KEYCODE.ARROW_RIGHT == t || be.FE.KEYCODE.ARROW_DOWN == t) && + (0 < Q().length && D(), T.browser.webkit && (be.FE.KEYCODE.ARROW_UP == t || be.FE.KEYCODE.ARROW_DOWN == t)) + ) { + var i = T.selection.ranges(0).startContainer; + if (i.nodeType == Node.TEXT_NODE && ((be.FE.KEYCODE.ARROW_UP == t && i.previousSibling) || (be.FE.KEYCODE.ARROW_DOWN == t && i.nextSibling))) return; + e.preventDefault(), e.stopPropagation(); + var a = S(be(r)), + o = R(n, a); + be.FE.KEYCODE.ARROW_UP == t ? M(o, r, a) : be.FE.KEYCODE.ARROW_DOWN == t && $(o, r, a), T.selection.restore(); + } + } + })(e); + }), + T.events.on( + "keydown", + function (e) { + if ( + !1 === + (function (e) { + if (e.which == be.FE.KEYCODE.TAB) { + var t; + if (0 < Q().length) t = T.$el.find(".fr-selected-cell:last"); + else { + var n = T.selection.element(); + "TD" == n.tagName || "TH" == n.tagName + ? (t = be(n)) + : n != T.el && (0 < be(n).parentsUntil(T.$el, "td").length ? (t = be(n).parents("td:first")) : 0 < be(n).parentsUntil(T.$el, "th").length && (t = be(n).parents("th:first"))); + } + if (t) + return ( + e.preventDefault(), + !!( + 0 < be(T.selection.element()).parentsUntil(T.$el, "ol, ul").length && + (0 < be(T.selection.element()).parents("li").prev().length || (be(T.selection.element()).is("li") && 0 < be(T.selection.element()).prev().length)) + ) || + (D(), + e.shiftKey + ? 0 < t.prev().length + ? X(t.prev()) + : 0 < t.closest("tr").length && 0 < t.closest("tr").prev().length + ? X(t.closest("tr").prev().find("td:last")) + : 0 < t.closest("tbody").length && 0 < t.closest("table").find("thead tr").length && X(t.closest("table").find("thead tr th:last")) + : 0 < t.next().length + ? X(t.next()) + : 0 < t.closest("tr").length && 0 < t.closest("tr").next().length + ? X(t.closest("tr").next().find("td:first")) + : 0 < t.closest("thead").length && 0 < t.closest("table").find("tbody tr").length + ? X(t.closest("table").find("tbody tr td:first")) + : (t.addClass("fr-selected-cell"), g("below"), L(), X(t.closest("tr").next().find("td:first"))), + T.selection.restore(), + !1) + ); + } + })(e) + ) + return !1; + var t = Q(); + if (0 < t.length) { + if (0 < t.length && T.keys.ctrlKey(e) && e.which == be.FE.KEYCODE.A) return L(), T.popups.isVisible("table.edit") && T.popups.hide("table.edit"), (t = []), !0; + if (e.which == be.FE.KEYCODE.ESC && T.popups.isVisible("table.edit")) return L(), T.popups.hide("table.edit"), e.preventDefault(), e.stopPropagation(), e.stopImmediatePropagation(), !(t = []); + if (1 < t.length && (e.which == be.FE.KEYCODE.BACKSPACE || e.which == be.FE.KEYCODE.DELETE)) { + T.undo.saveStep(); + for (var n = 0; n < t.length; n++) be(t[n]).html("<br>"), n == t.length - 1 && be(t[n]).prepend(be.FE.MARKERS); + return T.selection.restore(), T.undo.saveStep(), !(t = []); + } + if (1 < t.length && e.which != be.FE.KEYCODE.F10 && !T.keys.isBrowserAction(e)) return e.preventDefault(), !(t = []); + } else if ( + !(t = []) === + (function (e) { + if (e.altKey && e.which == be.FE.KEYCODE.SPACE) { + var t, + n = T.selection.element(); + if ( + ("TD" == n.tagName || "TH" == n.tagName ? (t = n) : 0 < be(n).closest("td").length ? (t = be(n).closest("td").get(0)) : 0 < be(n).closest("th").length && (t = be(n).closest("th").get(0)), + t) + ) + return e.preventDefault(), O(t, t), u(), !1; + } + })(e) + ) + return !1; + }, + !0 + ); + var t = []; + T.events.on("html.beforeGet", function () { + t = Q(); + for (var e = 0; e < t.length; e++) t[e].className = (t[e].className || "").replace(/fr-selected-cell/g, ""); + }), + T.events.on("html.afterGet", function () { + for (var e = 0; e < t.length; e++) t[e].className = (t[e].className ? t[e].className.trim() + " " : "") + "fr-selected-cell"; + t = []; + }), + c(!0), + p(!0); + } + T.events.on("destroy", j); + }, + insert: function (e, t) { + var n, + r, + i = "<table " + (T.opts.tableDefaultWidth ? 'style="width: ' + T.opts.tableDefaultWidth + ';" ' : "") + 'class="fr-inserted-table"><tbody>', + a = 100 / t; + for (n = 0; n < e; n++) { + for (i += "<tr>", r = 0; r < t; r++) (i += "<td" + (T.opts.tableDefaultWidth ? ' style="width: ' + a.toFixed(4) + '%;"' : "") + ">"), 0 === n && 0 === r && (i += be.FE.MARKERS), (i += "<br></td>"); + i += "</tr>"; + } + (i += "</tbody></table>"), T.html.insert(i), T.selection.restore(); + var o = T.$el.find(".fr-inserted-table"); + o.removeClass("fr-inserted-table"), T.events.trigger("table.inserted", [o.get(0)]); + }, + remove: h, + insertRow: g, + deleteRow: function () { + var e = Z(); + if (0 < e.length) { + var t, + n, + r, + i = S(), + a = w(i); + if (0 === a.min_i && a.max_i == i.length - 1) h(); + else { + for (t = a.max_i; t >= a.min_i; t--) { + for (r = be(e.find("tr").not(e.find("table tr")).get(t)), n = 0; n < i[t].length; n++) + if (0 === n || i[t][n] != i[t][n - 1]) { + var o = be(i[t][n]); + if (1 < parseInt(o.attr("rowspan"), 10)) { + var s = parseInt(o.attr("rowspan"), 10) - 1; + 1 == s ? o.removeAttr("rowspan") : o.attr("rowspan", s); + } + if (t < i.length - 1 && i[t][n] == i[t + 1][n] && (0 === t || i[t][n] != i[t - 1][n])) { + for (var l = i[t][n], d = n; 0 < d && i[t][d] == i[t][d - 1]; ) d--; + 0 === d + ? be( + e + .find("tr") + .not(e.find("table tr")) + .get(t + 1) + ).prepend(l) + : be(i[t + 1][d - 1]).after(l); + } + } + var c = r.parent(); + r.remove(), 0 === c.find("tr").length && c.remove(), (i = S(e)); + } + C(0, i.length - 1, 0, i[0].length - 1, e), 0 < a.min_i ? T.selection.setAtEnd(i[a.min_i - 1][0]) : T.selection.setAtEnd(i[0][0]), T.selection.restore(), T.popups.hide("table.edit"); + } + } + }, + insertColumn: function (l) { + var e = Z(); + if (0 < e.length) { + var d, + c = S(), + t = w(c); + d = "before" == l ? t.min_j : t.max_j; + var n, + f = 100 / c[0].length, + p = 100 / (c[0].length + 1); + e.find("th, td").each(function () { + (n = be(this)).data("old-width", (n.outerWidth() / e.outerWidth()) * 100); + }), + e + .find("tr") + .not(e.find("table tr")) + .each(function (e) { + for (var t, n = be(this), r = 0, i = 0; r - 1 < d; ) { + if (!(t = n.find("> th, > td").get(i))) { + t = null; + break; + } + t == c[e][r] ? ((r += parseInt(be(t).attr("colspan"), 10) || 1), i++) : ((r += parseInt(be(c[e][r]).attr("colspan"), 10) || 1), "after" == l && (t = 0 === i ? -1 : n.find("> th, > td").get(i - 1))); + } + var a, + o = be(t); + if (("after" == l && d < r - 1) || ("before" == l && 0 < d && c[e][d] == c[e][d - 1])) { + if (0 === e || (0 < e && c[e][d] != c[e - 1][d])) { + var s = parseInt(o.attr("colspan"), 10) + 1; + o.attr("colspan", s), o.css("width", ((o.data("old-width") * p) / f + p).toFixed(4) + "%"), o.removeData("old-width"); + } + } else (a = 0 < n.find("th").length ? '<th style="width: ' + p.toFixed(4) + '%;"><br></th>' : '<td style="width: ' + p.toFixed(4) + '%;"><br></td>'), -1 == t ? n.prepend(a) : null == t ? n.append(a) : "before" == l ? o.before(a) : "after" == l && o.after(a); + }), + e.find("th, td").each(function () { + (n = be(this)).data("old-width") && (n.css("width", ((n.data("old-width") * p) / f).toFixed(4) + "%"), n.removeData("old-width")); + }), + T.popups.isVisible("table.edit") && u(); + } + }, + deleteColumn: function () { + var e = Z(); + if (0 < e.length) { + var t, + n, + r, + i = S(), + a = w(i); + if (0 === a.min_j && a.max_j == i[0].length - 1) h(); + else { + var o = 0; + for (t = 0; t < i.length; t++) + for (n = 0; n < i[0].length; n++) + (r = be(i[t][n])).hasClass("fr-selected-cell") || (r.data("old-width", (r.outerWidth() / e.outerWidth()) * 100), (n < a.min_j || n > a.max_j) && (o += (r.outerWidth() / e.outerWidth()) * 100)); + for (o /= i.length, n = a.max_j; n >= a.min_j; n--) + for (t = 0; t < i.length; t++) + if (0 === t || i[t][n] != i[t - 1][n]) + if (((r = be(i[t][n])), 1 < (parseInt(r.attr("colspan"), 10) || 1))) { + var s = parseInt(r.attr("colspan"), 10) - 1; + 1 == s ? r.removeAttr("colspan") : r.attr("colspan", s), r.css("width", ((100 * (r.data("old-width") - Y(n, i))) / o).toFixed(4) + "%"), r.removeData("old-width"); + } else { + var l = be(r.parent().get(0)); + r.remove(), + 0 === l.find("> th, > td").length && + (0 === l.prev().length || 0 === l.next().length || l.prev().find("> th[rowspan], > td[rowspan]").length < l.prev().find("> th, > td").length) && + l.remove(); + } + C(0, i.length - 1, 0, i[0].length - 1, e), + 0 < a.min_j ? T.selection.setAtEnd(i[a.min_i][a.min_j - 1]) : T.selection.setAtEnd(i[a.min_i][0]), + T.selection.restore(), + T.popups.hide("table.edit"), + e.find("th, td").each(function () { + (r = be(this)).data("old-width") && (r.css("width", ((100 * r.data("old-width")) / o).toFixed(4) + "%"), r.removeData("old-width")); + }); + } + } + }, + mergeCells: function () { + if (1 < Q().length && (0 === T.$el.find("th.fr-selected-cell").length || 0 === T.$el.find("td.fr-selected-cell").length)) { + _(); + var e, + t, + n = w(S()), + r = T.$el.find(".fr-selected-cell"), + i = be(r[0]), + a = i.parent().find(".fr-selected-cell"), + o = i.closest("table"), + s = i.html(), + l = 0; + for (e = 0; e < a.length; e++) l += be(a[e]).outerWidth(); + for ( + i.css("width", Math.min(100, (l / o.outerWidth()) * 100).toFixed(4) + "%"), n.min_j < n.max_j && i.attr("colspan", n.max_j - n.min_j + 1), n.min_i < n.max_i && i.attr("rowspan", n.max_i - n.min_i + 1), e = 1; + e < r.length; + e++ + ) + "<br>" != (t = be(r[e])).html() && "" !== t.html() && (s += "<br>" + t.html()), t.remove(); + i.html(s), T.selection.setAtEnd(i.get(0)), T.selection.restore(), T.toolbar.enable(), v(n.min_i, n.max_i, o); + var d = o.find("tr:empty"); + for (e = d.length - 1; 0 <= e; e--) be(d[e]).remove(); + m(n.min_j, n.max_j, o), u(); + } + }, + splitCellVertically: function () { + if (1 == Q().length) { + var e = T.$el.find(".fr-selected-cell"), + t = parseInt(e.attr("colspan"), 10) || 1, + n = e.parent().outerWidth(), + r = e.outerWidth(), + i = e.clone().html("<br>"), + a = S(), + o = R(e.get(0), a); + if (1 < t) { + var s = Math.ceil(t / 2); + r = (G(o.col, o.col + s - 1, a) / n) * 100; + var l = (G(o.col + s, o.col + t - 1, a) / n) * 100; + 1 < s ? e.attr("colspan", s) : e.removeAttr("colspan"), 1 < t - s ? i.attr("colspan", t - s) : i.removeAttr("colspan"), e.css("width", r.toFixed(4) + "%"), i.css("width", l.toFixed(4) + "%"); + } else { + var d; + for (d = 0; d < a.length; d++) + if (0 === d || a[d][o.col] != a[d - 1][o.col]) { + var c = be(a[d][o.col]); + if (!c.is(e)) { + var f = (parseInt(c.attr("colspan"), 10) || 1) + 1; + c.attr("colspan", f); + } + } + (r = ((r / n) * 100) / 2), e.css("width", r.toFixed(4) + "%"), i.css("width", r.toFixed(4) + "%"); + } + e.after(i), L(), T.popups.hide("table.edit"); + } + }, + splitCellHorizontally: function () { + if (1 == Q().length) { + var e = T.$el.find(".fr-selected-cell"), + t = e.parent(), + n = e.closest("table"), + r = parseInt(e.attr("rowspan"), 10), + i = S(), + a = R(e.get(0), i), + o = e.clone().html("<br>"); + if (1 < r) { + var s = Math.ceil(r / 2); + 1 < s ? e.attr("rowspan", s) : e.removeAttr("rowspan"), 1 < r - s ? o.attr("rowspan", r - s) : o.removeAttr("rowspan"); + for (var l = a.row + s, d = 0 === a.col ? a.col : a.col - 1; 0 <= d && (i[l][d] == i[l][d - 1] || (0 < l && i[l][d] == i[l - 1][d])); ) d--; + -1 == d ? be(n.find("tr").not(n.find("table tr")).get(l)).prepend(o) : be(i[l][d]).after(o); + } else { + var c, + f = be("<tr>").append(o); + for (c = 0; c < i[0].length; c++) + if (0 === c || i[a.row][c] != i[a.row][c - 1]) { + var p = be(i[a.row][c]); + p.is(e) || p.attr("rowspan", (parseInt(p.attr("rowspan"), 10) || 1) + 1); + } + t.after(f); + } + L(), T.popups.hide("table.edit"); + } + }, + addHeader: function () { + var e = Z(); + if (0 < e.length && 0 === e.find("th").length) { + var t, + n = "<thead><tr>", + r = 0; + for ( + e.find("tr:first > td").each(function () { + var e = be(this); + r += parseInt(e.attr("colspan"), 10) || 1; + }), + t = 0; + t < r; + t++ + ) + n += "<th><br></th>"; + (n += "</tr></thead>"), e.prepend(n), u(); + } + }, + removeHeader: function () { + var e = Z(), + t = e.find("thead"); + if (0 < t.length) + if (0 === e.find("tbody tr").length) h(); + else if ((t.remove(), 0 < Q().length)) u(); + else { + T.popups.hide("table.edit"); + var n = e.find("tbody tr:first td:first").get(0); + n && (T.selection.setAtEnd(n), T.selection.restore()); + } + }, + setBackground: t, + showInsertPopup: function () { + var e = T.$tb.find('.fr-command[data-cmd="insertTable"]'), + t = T.popups.get("table.insert"); + if ((t || (t = c()), !t.hasClass("fr-active"))) { + T.popups.refresh("table.insert"), T.popups.setContainer("table.insert", T.$tb); + var n = e.offset().left + e.outerWidth() / 2, + r = e.offset().top + (T.opts.toolbarBottom ? 10 : e.outerHeight() - 10); + T.popups.show("table.insert", n, r, e.outerHeight()); + } + }, + showEditPopup: u, + showColorsPopup: d, + back: function () { + 0 < Q().length ? u() : (T.popups.hide("table.insert"), T.toolbar.showInline()); + }, + verticalAlign: function (e) { + T.$el.find(".fr-selected-cell").css("vertical-align", e); + }, + horizontalAlign: function (e) { + T.$el.find(".fr-selected-cell").css("text-align", e); + }, + applyStyle: function (e, t, n, r) { + if (0 < t.length) { + if (!n) { + var i = Object.keys(r); + i.splice(i.indexOf(e), 1), t.removeClass(i.join(" ")); + } + t.toggleClass(e); + } + }, + selectedTable: Z, + selectedCells: Q, + customColor: function () { + var e = T.popups.get("table.colors").find(".fr-table-colors-hex-layer input"); + e.length && t(e.val()); + }, + selectCells: O, + }; + }), + be.FE.DefineIcon("insertTable", { NAME: "table" }), + be.FE.RegisterCommand("insertTable", { + title: "Insert Table", + undo: !1, + focus: !0, + refreshOnCallback: !1, + popup: !0, + callback: function () { + this.popups.isVisible("table.insert") ? (this.$el.find(".fr-marker").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide("table.insert")) : this.table.showInsertPopup(); + }, + plugin: "table", + }), + be.FE.RegisterCommand("tableInsert", { + callback: function (e, t, n) { + this.table.insert(t, n), this.popups.hide("table.insert"); + }, + }), + be.FE.DefineIcon("tableHeader", { NAME: "header", FA5NAME: "heading" }), + be.FE.RegisterCommand("tableHeader", { + title: "Table Header", + focus: !1, + toggle: !0, + callback: function () { + this.popups.get("table.edit").find('.fr-command[data-cmd="tableHeader"]').hasClass("fr-active") ? this.table.removeHeader() : this.table.addHeader(); + }, + refresh: function (e) { + var t = this.table.selectedTable(); + 0 < t.length && (0 === t.find("th").length ? e.removeClass("fr-active").attr("aria-pressed", !1) : e.addClass("fr-active").attr("aria-pressed", !0)); + }, + }), + be.FE.DefineIcon("tableRows", { NAME: "bars" }), + be.FE.RegisterCommand("tableRows", { + type: "dropdown", + focus: !1, + title: "Row", + options: { above: "Insert row above", below: "Insert row below", delete: "Delete row" }, + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = be.FE.COMMANDS.tableRows.options; + for (var n in t) + t.hasOwnProperty(n) && + (e += + '<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableRows" data-param1="' + + n + + '" title="' + + this.language.translate(t[n]) + + '">' + + this.language.translate(t[n]) + + "</a></li>"); + return (e += "</ul>"); + }, + callback: function (e, t) { + "above" == t || "below" == t ? this.table.insertRow(t) : this.table.deleteRow(); + }, + }), + be.FE.DefineIcon("tableColumns", { NAME: "bars fa-rotate-90" }), + be.FE.RegisterCommand("tableColumns", { + type: "dropdown", + focus: !1, + title: "Column", + options: { before: "Insert column before", after: "Insert column after", delete: "Delete column" }, + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = be.FE.COMMANDS.tableColumns.options; + for (var n in t) + t.hasOwnProperty(n) && + (e += + '<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableColumns" data-param1="' + + n + + '" title="' + + this.language.translate(t[n]) + + '">' + + this.language.translate(t[n]) + + "</a></li>"); + return (e += "</ul>"); + }, + callback: function (e, t) { + "before" == t || "after" == t ? this.table.insertColumn(t) : this.table.deleteColumn(); + }, + }), + be.FE.DefineIcon("tableCells", { NAME: "square-o", FA5NAME: "square" }), + be.FE.RegisterCommand("tableCells", { + type: "dropdown", + focus: !1, + title: "Cell", + options: { merge: "Merge cells", "vertical-split": "Vertical split", "horizontal-split": "Horizontal split" }, + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = be.FE.COMMANDS.tableCells.options; + for (var n in t) + t.hasOwnProperty(n) && + (e += + '<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableCells" data-param1="' + + n + + '" title="' + + this.language.translate(t[n]) + + '">' + + this.language.translate(t[n]) + + "</a></li>"); + return (e += "</ul>"); + }, + callback: function (e, t) { + "merge" == t ? this.table.mergeCells() : "vertical-split" == t ? this.table.splitCellVertically() : this.table.splitCellHorizontally(); + }, + refreshOnShow: function (e, t) { + 1 < this.$el.find(".fr-selected-cell").length + ? (t.find('a[data-param1="vertical-split"]').addClass("fr-disabled").attr("aria-disabled", !0), + t.find('a[data-param1="horizontal-split"]').addClass("fr-disabled").attr("aria-disabled", !0), + t.find('a[data-param1="merge"]').removeClass("fr-disabled").attr("aria-disabled", !1)) + : (t.find('a[data-param1="merge"]').addClass("fr-disabled").attr("aria-disabled", !0), + t.find('a[data-param1="vertical-split"]').removeClass("fr-disabled").attr("aria-disabled", !1), + t.find('a[data-param1="horizontal-split"]').removeClass("fr-disabled").attr("aria-disabled", !1)); + }, + }), + be.FE.DefineIcon("tableRemove", { NAME: "trash" }), + be.FE.RegisterCommand("tableRemove", { + title: "Remove Table", + focus: !1, + callback: function () { + this.table.remove(); + }, + }), + be.FE.DefineIcon("tableStyle", { NAME: "paint-brush" }), + be.FE.RegisterCommand("tableStyle", { + title: "Table Style", + type: "dropdown", + focus: !1, + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = this.opts.tableStyles; + for (var n in t) + t.hasOwnProperty(n) && + (e += + '<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableStyle" data-param1="' + + n + + '" title="' + + this.language.translate(t[n]) + + '">' + + this.language.translate(t[n]) + + "</a></li>"); + return (e += "</ul>"); + }, + callback: function (e, t) { + this.table.applyStyle(t, this.$el.find(".fr-selected-cell").closest("table"), this.opts.tableMultipleStyles, this.opts.tableStyles); + }, + refreshOnShow: function (e, t) { + var n = this.$el.find(".fr-selected-cell").closest("table"); + n && + t.find(".fr-command").each(function () { + var e = be(this).data("param1"), + t = n.hasClass(e); + be(this).toggleClass("fr-active", t).attr("aria-selected", t); + }); + }, + }), + be.FE.DefineIcon("tableCellBackground", { NAME: "tint" }), + be.FE.RegisterCommand("tableCellBackground", { + title: "Cell Background", + focus: !1, + popup: !0, + callback: function () { + this.table.showColorsPopup(); + }, + }), + be.FE.RegisterCommand("tableCellBackgroundColor", { + undo: !0, + focus: !1, + callback: function (e, t) { + this.table.setBackground(t); + }, + }), + be.FE.DefineIcon("tableBack", { NAME: "arrow-left" }), + be.FE.RegisterCommand("tableBack", { + title: "Back", + undo: !1, + focus: !1, + back: !0, + callback: function () { + this.table.back(); + }, + refresh: function (e) { + 0 !== this.table.selectedCells().length || this.opts.toolbarInline ? (e.removeClass("fr-hidden"), e.next(".fr-separator").removeClass("fr-hidden")) : (e.addClass("fr-hidden"), e.next(".fr-separator").addClass("fr-hidden")); + }, + }), + be.FE.DefineIcon("tableCellVerticalAlign", { NAME: "arrows-v", FA5NAME: "arrows-alt-v" }), + be.FE.RegisterCommand("tableCellVerticalAlign", { + type: "dropdown", + focus: !1, + title: "Vertical Align", + options: { Top: "Align Top", Middle: "Align Middle", Bottom: "Align Bottom" }, + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = be.FE.COMMANDS.tableCellVerticalAlign.options; + for (var n in t) + t.hasOwnProperty(n) && + (e += + '<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableCellVerticalAlign" data-param1="' + + n.toLowerCase() + + '" title="' + + this.language.translate(t[n]) + + '">' + + this.language.translate(n) + + "</a></li>"); + return (e += "</ul>"); + }, + callback: function (e, t) { + this.table.verticalAlign(t); + }, + refreshOnShow: function (e, t) { + t.find('.fr-command[data-param1="' + this.$el.find(".fr-selected-cell").css("vertical-align") + '"]') + .addClass("fr-active") + .attr("aria-selected", !0); + }, + }), + be.FE.DefineIcon("tableCellHorizontalAlign", { NAME: "align-left" }), + be.FE.DefineIcon("align-left", { NAME: "align-left" }), + be.FE.DefineIcon("align-right", { NAME: "align-right" }), + be.FE.DefineIcon("align-center", { NAME: "align-center" }), + be.FE.DefineIcon("align-justify", { NAME: "align-justify" }), + be.FE.RegisterCommand("tableCellHorizontalAlign", { + type: "dropdown", + focus: !1, + title: "Horizontal Align", + options: { left: "Align Left", center: "Align Center", right: "Align Right", justify: "Align Justify" }, + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = be.FE.COMMANDS.tableCellHorizontalAlign.options; + for (var n in t) + t.hasOwnProperty(n) && + (e += + '<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="tableCellHorizontalAlign" data-param1="' + + n + + '" title="' + + this.language.translate(t[n]) + + '">' + + this.icon.create("align-" + n) + + '<span class="fr-sr-only">' + + this.language.translate(t[n]) + + "</span></a></li>"); + return (e += "</ul>"); + }, + callback: function (e, t) { + this.table.horizontalAlign(t); + }, + refresh: function (e) { + var t = this.table.selectedCells(); + t.length && e.find("> *:first").replaceWith(this.icon.create("align-" + this.helpers.getAlignment(be(t[0])))); + }, + refreshOnShow: function (e, t) { + t.find('.fr-command[data-param1="' + this.helpers.getAlignment(this.$el.find(".fr-selected-cell:first")) + '"]') + .addClass("fr-active") + .attr("aria-selected", !0); + }, + }), + be.FE.DefineIcon("tableCellStyle", { NAME: "magic" }), + be.FE.RegisterCommand("tableCellStyle", { + title: "Cell Style", + type: "dropdown", + focus: !1, + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = this.opts.tableCellStyles; + for (var n in t) + t.hasOwnProperty(n) && + (e += + '<li role="presentation"><a class="fr-command" tabIndex="-1" role="option" data-cmd="tableCellStyle" data-param1="' + + n + + '" title="' + + this.language.translate(t[n]) + + '">' + + this.language.translate(t[n]) + + "</a></li>"); + return (e += "</ul>"); + }, + callback: function (e, t) { + this.table.applyStyle(t, this.$el.find(".fr-selected-cell"), this.opts.tableCellMultipleStyles, this.opts.tableCellStyles); + }, + refreshOnShow: function (e, t) { + var n = this.$el.find(".fr-selected-cell:first"); + n && + t.find(".fr-command").each(function () { + var e = be(this).data("param1"), + t = n.hasClass(e); + be(this).toggleClass("fr-active", t).attr("aria-selected", t); + }); + }, + }), + be.FE.RegisterCommand("tableCellBackgroundCustomColor", { + title: "OK", + undo: !0, + callback: function () { + this.table.customColor(); + }, + }), + be.FE.DefineIcon("tableColorRemove", { NAME: "eraser" }), + (be.FE.URLRegEx = "(^| |\\u00A0)(" + be.FE.LinkRegEx + "|([a-z0-9+-_.]{1,}@[a-z0-9+-_.]{1,}\\.[a-z0-9+-_]{1,}))$"), + (be.FE.PLUGINS.url = function (a) { + var o = null; + function t(e, t, n) { + for (var r = ""; n.length && "." == n[n.length - 1]; ) (r += "."), (n = n.substring(0, n.length - 1)); + var i = n; + if (a.opts.linkConvertEmailAddress) a.helpers.isEmail(i) && !/^mailto:.*/i.test(i) && (i = "mailto:" + i); + else if (a.helpers.isEmail(i)) return t + n; + return ( + /^((http|https|ftp|ftps|mailto|tel|sms|notes|data)\:)/i.test(i) || (i = "//" + i), + (t || "") + + "<a" + + (a.opts.linkAlwaysBlank ? ' target="_blank"' : "") + + (o ? ' rel="' + o + '"' : "") + + ' data-fr-linked="true" href="' + + i + + '">' + + n.replace(/&amp;/g, "&").replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;") + + "</a>" + + r + ); + } + function s() { + return new RegExp(be.FE.URLRegEx, "gi"); + } + function l(e) { + return ( + a.opts.linkAlwaysNoFollow && (o = "nofollow"), + a.opts.linkAlwaysBlank && (a.opts.linkNoOpener && (o ? (o += " noopener") : (o = "noopener")), a.opts.linkNoReferrer && (o ? (o += " noreferrer") : (o = "noreferrer"))), + e.replace(s(), t) + ); + } + function d(e) { + var t = e.split(" "); + return t[t.length - 1]; + } + function n() { + var t = a.selection.ranges(0), + n = t.startContainer; + if (!n || n.nodeType !== Node.TEXT_NODE || t.startOffset !== (n.textContent || "").length) return !1; + if ( + (function e(t) { + return !!t && ("A" === t.tagName || (!(!t.parentNode || t.parentNode == a.el) && e(t.parentNode))); + })(n) + ) + return !1; + if (s().test(d(n.textContent))) { + be(n).before(l(n.textContent)); + var r = be(n.parentNode).find("a[data-fr-linked]"); + r.removeAttr("data-fr-linked"), n.parentNode.removeChild(n), a.events.trigger("url.linked", [r.get(0)]); + } else if (n.textContent.split(" ").length <= 2 && n.previousSibling && "A" === n.previousSibling.tagName) { + var i = n.previousSibling.innerText + n.textContent; + s().test(d(i)) && (be(n.previousSibling).replaceWith(l(i)), n.parentNode.removeChild(n)); + } + } + return { + _init: function () { + a.events.on( + "keypress", + function (e) { + !a.selection.isCollapsed() || ("." != e.key && ")" != e.key && "(" != e.key) || n(); + }, + !0 + ), + a.events.on( + "keydown", + function (e) { + var t = e.which; + !a.selection.isCollapsed() || (t != be.FE.KEYCODE.ENTER && t != be.FE.KEYCODE.SPACE) || n(); + }, + !0 + ), + a.events.on("paste.beforeCleanup", function (e) { + if (a.helpers.isURL(e)) { + var t = null; + return ( + a.opts.linkAlwaysBlank && (a.opts.linkNoOpener && (t ? (t += " noopener") : (t = "noopener")), a.opts.linkNoReferrer && (t ? (t += " noreferrer") : (t = "noreferrer"))), + "<a" + (a.opts.linkAlwaysBlank ? ' target="_blank"' : "") + (t ? ' rel="' + t + '"' : "") + ' href="' + e + '" >' + e + "</a>" + ); + } + }); + }, + }; + }), + be.extend(be.FE.POPUP_TEMPLATES, { "video.insert": "[_BUTTONS_][_BY_URL_LAYER_][_EMBED_LAYER_][_UPLOAD_LAYER_][_PROGRESS_BAR_]", "video.edit": "[_BUTTONS_]", "video.size": "[_BUTTONS_][_SIZE_LAYER_]" }), + be.extend(be.FE.DEFAULTS, { + videoAllowedTypes: ["mp4", "webm", "ogg"], + videoAllowedProviders: [".*"], + videoDefaultAlign: "center", + videoDefaultDisplay: "block", + videoDefaultWidth: 600, + videoEditButtons: ["videoReplace", "videoRemove", "|", "videoDisplay", "videoAlign", "videoSize"], + videoInsertButtons: ["videoBack", "|", "videoByURL", "videoEmbed", "videoUpload"], + videoMaxSize: 52428800, + videoMove: !0, + videoResize: !0, + videoResponsive: !1, + videoSizeButtons: ["videoBack", "|"], + videoSplitHTML: !1, + videoTextNear: !0, + videoUpload: !0, + videoUploadMethod: "POST", + videoUploadParam: "file", + videoUploadParams: {}, + videoUploadToS3: !1, + videoUploadURL: null, + }), + (be.FE.VIDEO_PROVIDERS = [ + { + test_regex: /^.*((youtu.be)|(youtube.com))\/((v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))?\??v?=?([^#\&\?]*).*/, + url_regex: /(?:https?:\/\/)?(?:www\.)?(?:m\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=|embed\/)?([0-9a-zA-Z_\-]+)(.+)?/g, + url_text: "https://www.youtube.com/embed/$1", + html: '<iframe width="640" height="360" src="{url}?wmode=opaque" frameborder="0" allowfullscreen></iframe>', + provider: "youtube", + }, + { + test_regex: /^.*(?:vimeo.com)\/(?:channels(\/\w+\/)?|groups\/*\/videos\/\u200b\d+\/|video\/|)(\d+)(?:$|\/|\?)/, + url_regex: /(?:https?:\/\/)?(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/(?:[^\/]*)\/videos\/|album\/(?:\d+)\/video\/|video\/|)(\d+)(?:[a-zA-Z0-9_\-]+)?(\/[a-zA-Z0-9_\-]+)?/i, + url_text: "https://player.vimeo.com/video/$1", + html: '<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>', + provider: "vimeo", + }, + { + test_regex: /^.+(dailymotion.com|dai.ly)\/(video|hub)?\/?([^_]+)[^#]*(#video=([^_&]+))?/, + url_regex: /(?:https?:\/\/)?(?:www\.)?(?:dailymotion\.com|dai\.ly)\/(?:video|hub)?\/?(.+)/g, + url_text: "https://www.dailymotion.com/embed/video/$1", + html: '<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>', + provider: "dailymotion", + }, + { + test_regex: /^.+(screen.yahoo.com)\/[^_&]+/, + url_regex: "", + url_text: "", + html: '<iframe width="640" height="360" src="{url}?format=embed" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" allowtransparency="true"></iframe>', + provider: "yahoo", + }, + { + test_regex: /^.+(rutube.ru)\/[^_&]+/, + url_regex: /(?:https?:\/\/)?(?:www\.)?(?:rutube\.ru)\/(?:video)?\/?(.+)/g, + url_text: "https://rutube.ru/play/embed/$1", + html: '<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true" allowtransparency="true"></iframe>', + provider: "rutube", + }, + { + test_regex: /^(?:.+)vidyard.com\/(?:watch)?\/?([^.&/]+)\/?(?:[^_.&]+)?/, + url_regex: /^(?:.+)vidyard.com\/(?:watch)?\/?([^.&/]+)\/?(?:[^_.&]+)?/g, + url_text: "https://play.vidyard.com/$1", + html: '<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>', + provider: "vidyard", + }, + { + test_regex: /^.*(naver.com)\/[^_&]+/, + url_regex: /(?:https?:\/\/)?(?:tv\.)?(?:m\.)?naver.com\/v\/?([0-9a-zA-Z_\-]+)(.+)?/g, + url_text: "https://tv.naver.com/embed/$1", + html: '<iframe width="640" height="360" src="{url}" frameborder="0" allowfullscreen></iframe>', + provider: "naver", + }, + { + test_regex: /^.*(kakao.com)\/[^_&]+/, + url_regex: /(?:https?:\/\/)?(?:tv\.)?(?:m\.)?kakao.com\/v\/?([0-9a-zA-Z_\-]+)(.+)?/g, + url_text: "https://play-tv.kakao.com/embed/player/cliplink/$1", + html: '<iframe width="640" height="360" src="{url}?service=player_share" frameborder="0" allowfullscreen></iframe>', + provider: "kakao", + }, + ]), + (be.FE.VIDEO_EMBED_REGEX = /^\W*((<iframe.*><\/iframe>)|(<embed.*>))\W*$/i), + (be.FE.PLUGINS.video = function (f) { + var s, + c, + p, + u, + r, + n, + d = "https://i.froala.com/upload", + l = 2, + h = 3, + g = 4, + m = 5, + v = 6, + i = {}; + function E() { + var e = f.popups.get("video.insert"); + e.find(".fr-video-by-url-layer input").val("").trigger("change"); + var t = e.find(".fr-video-embed-layer textarea"); + t.val("").trigger("change"), (t = e.find(".fr-video-upload-layer input")).val("").trigger("change"); + } + function a() { + var e = f.popups.get("video.edit"); + if ( + (e || + (e = (function () { + var e = ""; + if (0 < f.opts.videoEditButtons.length) { + f.opts.videoResponsive && + (f.opts.videoEditButtons.splice(f.opts.videoEditButtons.indexOf("videoSize"), 1), + f.opts.videoEditButtons.splice(f.opts.videoEditButtons.indexOf("videoDisplay"), 1), + f.opts.videoEditButtons.splice(f.opts.videoEditButtons.indexOf("videoAlign"), 1)), + (e += '<div class="fr-buttons">'), + (e += f.button.buildList(f.opts.videoEditButtons)); + var t = { buttons: (e += "</div>") }, + n = f.popups.create("video.edit", t); + return ( + f.events.$on(f.$wp, "scroll.video-edit", function () { + u && f.popups.isVisible("video.edit") && (f.events.disableBlur(), y(u)); + }), + n + ); + } + return !1; + })()), + e) + ) { + f.popups.setContainer("video.edit", f.$sc), f.popups.refresh("video.edit"); + var t = u.find("iframe, embed, video"), + n = t.offset().left + t.outerWidth() / 2, + r = t.offset().top + t.outerHeight(); + f.popups.show("video.edit", n, r, t.outerHeight()); + } + } + function o(e) { + if (e) return f.popups.onRefresh("video.insert", E), f.popups.onHide("image.insert", V), !0; + var t = ""; + f.opts.videoUpload || f.opts.videoInsertButtons.splice(f.opts.videoInsertButtons.indexOf("videoUpload"), 1), + 1 < f.opts.videoInsertButtons.length && (t = '<div class="fr-buttons">' + f.button.buildList(f.opts.videoInsertButtons) + "</div>"); + var n, + r = "", + i = f.opts.videoInsertButtons.indexOf("videoUpload"), + a = f.opts.videoInsertButtons.indexOf("videoByURL"), + o = f.opts.videoInsertButtons.indexOf("videoEmbed"); + 0 <= a && + ((n = " fr-active"), + ((i < a && 0 <= i) || (o < a && 0 <= o)) && (n = ""), + (r = + '<div class="fr-video-by-url-layer fr-layer' + + n + + '" id="fr-video-by-url-layer-' + + f.id + + '"><div class="fr-input-line"><input id="fr-video-by-url-layer-text-' + + f.id + + '" type="text" placeholder="' + + f.language.translate("Paste in a video URL") + + '" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="videoInsertByURL" tabIndex="2" role="button">' + + f.language.translate("Insert") + + "</button></div></div>")); + var s = ""; + 0 <= o && + ((n = " fr-active"), + ((i < o && 0 <= i) || (a < o && 0 <= a)) && (n = ""), + (s = + '<div class="fr-video-embed-layer fr-layer' + + n + + '" id="fr-video-embed-layer-' + + f.id + + '"><div class="fr-input-line"><textarea id="fr-video-embed-layer-text' + + f.id + + '" type="text" placeholder="' + + f.language.translate("Embedded Code") + + '" tabIndex="1" aria-required="true" rows="5"></textarea></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="videoInsertEmbed" tabIndex="2" role="button">' + + f.language.translate("Insert") + + "</button></div></div>")); + var l = ""; + 0 <= i && + ((n = " fr-active"), + ((o < i && 0 <= o) || (a < i && 0 <= a)) && (n = ""), + (l = + '<div class="fr-video-upload-layer fr-layer' + + n + + '" id="fr-video-upload-layer-' + + f.id + + '"><strong>' + + f.language.translate("Drop video") + + "</strong><br>(" + + f.language.translate("or click") + + ')<div class="fr-form"><input type="file" accept="video/' + + f.opts.videoAllowedTypes.join(", video/").toLowerCase() + + '" tabIndex="-1" aria-labelledby="fr-video-upload-layer-' + + f.id + + '" role="button"></div></div>')); + var d = { + buttons: t, + by_url_layer: r, + embed_layer: s, + upload_layer: l, + progress_bar: + '<div class="fr-video-progress-bar-layer fr-layer"><h3 tabIndex="-1" class="fr-message">Uploading</h3><div class="fr-loader"><span class="fr-progress"></span></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-dismiss" data-cmd="videoDismissError" tabIndex="2" role="button">OK</button></div></div>', + }, + c = f.popups.create("video.insert", d); + return ( + (function (r) { + f.events.$on( + r, + "dragover dragenter", + ".fr-video-upload-layer", + function () { + return be(this).addClass("fr-drop"), !1; + }, + !0 + ), + f.events.$on( + r, + "dragleave dragend", + ".fr-video-upload-layer", + function () { + return be(this).removeClass("fr-drop"), !1; + }, + !0 + ), + f.events.$on( + r, + "drop", + ".fr-video-upload-layer", + function (e) { + e.preventDefault(), e.stopPropagation(), be(this).removeClass("fr-drop"); + var t = e.originalEvent.dataTransfer; + if (t && t.files) { + var n = r.data("instance") || f; + n.events.disableBlur(), n.video.upload(t.files), n.events.enableBlur(); + } + }, + !0 + ), + f.helpers.isIOS() && + f.events.$on( + r, + "touchstart", + '.fr-video-upload-layer input[type="file"]', + function () { + be(this).trigger("click"); + }, + !0 + ); + f.events.$on( + r, + "change", + '.fr-video-upload-layer input[type="file"]', + function () { + if (this.files) { + var e = r.data("instance") || f; + e.events.disableBlur(), r.find("input:focus").blur(), e.events.enableBlur(), e.video.upload(this.files); + } + be(this).val(""); + }, + !0 + ); + })(c), + c + ); + } + function b(e) { + f.events.focus(!0), f.selection.restore(); + var t = !1; + u && (G(), (t = !0)), f.html.insert('<span contenteditable="false" draggable="true" class="fr-jiv fr-video">' + e + "</span>", !1, f.opts.videoSplitHTML), f.popups.hide("video.insert"); + var n = f.$el.find(".fr-jiv"); + n.removeClass("fr-jiv"), + n.toggleClass("fr-rv", f.opts.videoResponsive), + X(n, f.opts.videoDefaultDisplay, f.opts.videoDefaultAlign), + n.toggleClass("fr-draggable", f.opts.videoMove), + f.events.trigger(t ? "video.replaced" : "video.inserted", [n]); + } + function T() { + var e = be(this); + f.popups.hide("video.insert"), e.removeClass("fr-uploading"), e.parent().next().is("br") && e.parent().next().remove(), y(e.parent()), f.events.trigger("video.loaded", [e.parent()]); + } + function A(s, e, l, d, c) { + f.edit.off(), R("Loading video"), e && (s = f.helpers.sanitizeURL(s)); + C("Loading video"), + (function () { + var e, t; + if (d) { + f.undo.canDo() || d.find("video").hasClass("fr-uploading") || f.undo.saveStep(); + var n = d.find("video").data("fr-old-src"), + r = d.data("fr-replaced"); + d.data("fr-replaced", !1), + f.$wp ? ((e = d.clone()).find("video").removeData("fr-old-src").removeClass("fr-uploading"), e.find("video").off("canplay"), n && d.find("video").attr("src", n), d.replaceWith(e)) : (e = d); + for (var i = e.find("video").get(0).attributes, a = 0; a < i.length; a++) { + var o = i[a]; + 0 === o.nodeName.indexOf("data-") && e.find("video").removeAttr(o.nodeName); + } + if (void 0 !== l) for (t in l) l.hasOwnProperty(t) && "link" != t && e.find("video").attr("data-" + t, l[t]); + e.find("video").on("canplay", T), e.find("video").attr("src", s), f.edit.on(), k(), f.undo.saveStep(), f.$el.blur(), f.events.trigger(r ? "video.replaced" : "video.inserted", [e, c]); + } else + (e = (function (e, t, n) { + var r, + i = ""; + if (t && void 0 !== t) for (r in t) t.hasOwnProperty(r) && "link" != r && (i += " data-" + r + '="' + t[r] + '"'); + var a = f.opts.videoDefaultWidth; + a && "auto" != a && (a += "px"); + var o = be( + '<span contenteditable="false" draggable="true" class="fr-video fr-dv' + + f.opts.videoDefaultDisplay[0] + + ("center" != f.opts.videoDefaultAlign ? " fr-fv" + f.opts.videoDefaultAlign[0] : "") + + '"><video src="' + + e + + '" ' + + i + + (a ? ' style="width: ' + a + ';" ' : "") + + " controls>" + + f.language.translate("Your browser does not support HTML5 video.") + + "</video></span>" + ); + o.toggleClass("fr-draggable", f.opts.videoMove), f.edit.on(), f.events.focus(!0), f.selection.restore(), f.undo.saveStep(), f.opts.videoSplitHTML ? f.markers.split() : f.markers.insert(), f.html.wrap(); + var s = f.$el.find(".fr-marker"); + return ( + f.node.isLastSibling(s) && s.parent().hasClass("fr-deletable") && s.insertAfter(s.parent()), + s.replaceWith(o), + f.selection.clear(), + o.find("video").get(0).readyState > o.find("video").get(0).HAVE_FUTURE_DATA || f.helpers.isIOS() ? n.call(o.find("video").get(0)) : o.find("video").on("canplaythrough load", n), + o + ); + })(s, l, T)), + k(), + f.undo.saveStep(), + f.events.trigger("video.inserted", [e, c]); + })(); + } + function C(e) { + var t = f.popups.get("video.insert"); + if ((t || (t = o()), t.find(".fr-layer.fr-active").removeClass("fr-active").addClass("fr-pactive"), t.find(".fr-video-progress-bar-layer").addClass("fr-active"), t.find(".fr-buttons").hide(), u)) { + var n = u.find("video"); + f.popups.setContainer("video.insert", f.$sc); + var r = n.offset().left + n.width() / 2, + i = n.offset().top + n.height(); + f.popups.show("video.insert", r, i, n.outerHeight()); + } + void 0 === e && R(f.language.translate("Uploading"), 0); + } + function S(e) { + var t = f.popups.get("video.insert"); + if ( + t && + (t.find(".fr-layer.fr-pactive").addClass("fr-active").removeClass("fr-pactive"), t.find(".fr-video-progress-bar-layer").removeClass("fr-active"), t.find(".fr-buttons").show(), e || f.$el.find("video.fr-error").length) + ) { + if ((f.events.focus(), f.$el.find("video.fr-error").length && (f.$el.find("video.fr-error").parent().remove(), f.undo.saveStep(), f.undo.run(), f.undo.dropRedo()), !f.$wp && u)) { + var n = u; + $(!0), f.selection.setAfter(n.find("video").get(0)), f.selection.restore(); + } + f.popups.hide("video.insert"); + } + } + function R(e, t) { + var n = f.popups.get("video.insert"); + if (n) { + var r = n.find(".fr-video-progress-bar-layer"); + r.find("h3").text(e + (t ? " " + t + "%" : "")), r.removeClass("fr-error"), t ? (r.find("div").removeClass("fr-indeterminate"), r.find("div > span").css("width", t + "%")) : r.find("div").addClass("fr-indeterminate"); + } + } + function y(e) { + M.call(e.get(0)); + } + function _(e) { + R("Loading video"); + var t = this.status, + n = this.response, + r = this.responseXML, + i = this.responseText; + try { + if (f.opts.videoUploadToS3) + if (201 == t) { + var a = (function (e) { + try { + var t = be(e).find("Location").text(), + n = be(e).find("Key").text(); + return !1 === f.events.trigger("video.uploadedToS3", [t, n, e], !0) ? (f.edit.on(), !1) : t; + } catch (r) { + return K(g, e), !1; + } + })(r); + a && A(a, !1, [], e, n || r); + } else K(g, n || r); + else if (200 <= t && t < 300) { + var o = (function (e) { + try { + if (!1 === f.events.trigger("video.uploaded", [e], !0)) return f.edit.on(), !1; + var t = JSON.parse(e); + return t.link ? t : (K(l, e), !1); + } catch (n) { + return K(g, e), !1; + } + })(i); + o && A(o.link, !1, o, e, n || i); + } else K(h, n || i); + } catch (s) { + K(g, n || i); + } + } + function L() { + K(g, this.response || this.responseText || this.responseXML); + } + function x(e) { + if (e.lengthComputable) { + var t = ((e.loaded / e.total) * 100) | 0; + R(f.language.translate("Uploading"), t); + } + } + function w() { + f.edit.on(), S(!0); + } + function N(e) { + if (!f.core.sameInstance(p)) return !0; + e.preventDefault(), e.stopPropagation(); + var t = e.pageX || (e.originalEvent.touches ? e.originalEvent.touches[0].pageX : null), + n = e.pageY || (e.originalEvent.touches ? e.originalEvent.touches[0].pageY : null); + if (!t || !n) return !1; + if ("mousedown" == e.type) { + var r = f.$oel.get(0).ownerDocument, + i = r.defaultView || r.parentWindow, + a = !1; + try { + a = i.location != i.parent.location && !(i.$ && i.$.FE); + } catch (o) {} + a && i.frameElement && ((t += f.helpers.getPX(be(i.frameElement).offset().left) + i.frameElement.clientLeft), (n = e.clientY + f.helpers.getPX(be(i.frameElement).offset().top) + i.frameElement.clientTop)); + } + f.undo.canDo() || f.undo.saveStep(), (c = be(this)).data("start-x", t), c.data("start-y", n), s.show(), f.popups.hideAll(), B(); + } + function O(e) { + if (!f.core.sameInstance(p)) return !0; + if (c) { + e.preventDefault(); + var t = e.pageX || (e.originalEvent.touches ? e.originalEvent.touches[0].pageX : null), + n = e.pageY || (e.originalEvent.touches ? e.originalEvent.touches[0].pageY : null); + if (!t || !n) return !1; + var r = c.data("start-x"), + i = c.data("start-y"); + c.data("start-x", t), c.data("start-y", n); + var a = t - r, + o = n - i, + s = u.find("iframe, embed, video"), + l = s.width(), + d = s.height(); + (c.hasClass("fr-hnw") || c.hasClass("fr-hsw")) && (a = 0 - a), + (c.hasClass("fr-hnw") || c.hasClass("fr-hne")) && (o = 0 - o), + s.css("width", l + a), + s.css("height", d + o), + s.removeAttr("width"), + s.removeAttr("height"), + F(); + } + } + function I(e) { + if (!f.core.sameInstance(p)) return !0; + c && u && (e && e.stopPropagation(), (c = null), s.hide(), F(), a(), f.undo.saveStep()); + } + function t(e) { + return '<div class="fr-handler fr-h' + e + '"></div>'; + } + function D(e, t, n, r) { + return (e.pageX = t), (e.pageY = t), N.call(this, e), (e.pageX = e.pageX + n * Math.floor(Math.pow(1.1, r))), (e.pageY = e.pageY + n * Math.floor(Math.pow(1.1, r))), O.call(this, e), I.call(this, e), ++r; + } + function k() { + var e, + t = Array.prototype.slice.call(f.el.querySelectorAll("video, .fr-video > *")), + n = []; + for (e = 0; e < t.length; e++) + n.push(t[e].getAttribute("src")), + be(t[e]).toggleClass("fr-draggable", f.opts.videoMove), + "" === t[e].getAttribute("class") && t[e].removeAttribute("class"), + "" === t[e].getAttribute("style") && t[e].removeAttribute("style"); + if (r) for (e = 0; e < r.length; e++) n.indexOf(r[e].getAttribute("src")) < 0 && f.events.trigger("video.removed", [be(r[e])]); + r = t; + } + function F() { + p || + (function () { + var e; + if ( + (f.shared.$video_resizer + ? ((p = f.shared.$video_resizer), + (s = f.shared.$vid_overlay), + f.events.on( + "destroy", + function () { + p.removeClass("fr-active").appendTo(be("body:first")); + }, + !0 + )) + : ((f.shared.$video_resizer = be('<div class="fr-video-resizer"></div>')), + (p = f.shared.$video_resizer), + f.events.$on( + p, + "mousedown", + function (e) { + e.stopPropagation(); + }, + !0 + ), + f.opts.videoResize && + (p.append(t("nw") + t("ne") + t("sw") + t("se")), + (f.shared.$vid_overlay = be('<div class="fr-video-overlay"></div>')), + (s = f.shared.$vid_overlay), + (e = p.get(0).ownerDocument), + be(e).find("body:first").append(s))), + f.events.on( + "shared.destroy", + function () { + p.html("").removeData().remove(), (p = null), f.opts.videoResize && (s.remove(), (s = null)); + }, + !0 + ), + f.helpers.isMobile() || + f.events.$on(be(f.o_win), "resize.video", function () { + $(!0); + }), + f.opts.videoResize) + ) { + (e = p.get(0).ownerDocument), + f.events.$on(p, f._mousedown, ".fr-handler", N), + f.events.$on(be(e), f._mousemove, O), + f.events.$on(be(e.defaultView || e.parentWindow), f._mouseup, I), + f.events.$on(s, "mouseleave", I); + var r = 1, + i = null, + a = 0; + f.events.on("keydown", function (e) { + if (u) { + var t = -1 != navigator.userAgent.indexOf("Mac OS X") ? e.metaKey : e.ctrlKey, + n = e.which; + (n !== i || 200 < e.timeStamp - a) && (r = 1), + (n == be.FE.KEYCODE.EQUALS || (f.browser.mozilla && n == be.FE.KEYCODE.FF_EQUALS)) && t && !e.altKey + ? (r = D.call(this, e, 1, 1, r)) + : (n == be.FE.KEYCODE.HYPHEN || (f.browser.mozilla && n == be.FE.KEYCODE.FF_HYPHEN)) && t && !e.altKey && (r = D.call(this, e, 2, -1, r)), + (i = n), + (a = e.timeStamp); + } + }), + f.events.on("keyup", function () { + r = 1; + }); + } + })(), + (f.$wp || f.$sc).append(p), + p.data("instance", f); + var e = u.find("iframe, embed, video"); + p.css("top", (f.opts.iframe ? e.offset().top - 1 : e.offset().top - f.$wp.offset().top - 1) + f.$wp.scrollTop()) + .css("left", (f.opts.iframe ? e.offset().left - 1 : e.offset().left - f.$wp.offset().left - 1) + f.$wp.scrollLeft()) + .css("width", e.get(0).getBoundingClientRect().width) + .css("height", e.get(0).getBoundingClientRect().height) + .addClass("fr-active"); + } + function M(e) { + if (e && "touchend" == e.type && n) return !0; + if (e && f.edit.isDisabled()) return e.stopPropagation(), e.preventDefault(), !1; + if (f.edit.isDisabled()) return !1; + for (var t = 0; t < be.FE.INSTANCES.length; t++) be.FE.INSTANCES[t] != f && be.FE.INSTANCES[t].events.trigger("video.hideResizer"); + f.toolbar.disable(), + f.helpers.isMobile() && (f.events.disableBlur(), f.$el.blur(), f.events.enableBlur()), + f.$el.find(".fr-video.fr-active").removeClass("fr-active"), + (u = be(this)).addClass("fr-active"), + f.opts.iframe && f.size.syncIframe(), + j(), + F(), + a(), + f.selection.clear(), + f.button.bulkRefresh(), + f.events.trigger("image.hideResizer"); + } + function $(e) { + u && (f.shared.vid_exit_flag || !0 === e) && (p.removeClass("fr-active"), f.toolbar.enable(), u.removeClass("fr-active"), (u = null), B()); + } + function e() { + f.shared.vid_exit_flag = !0; + } + function B() { + f.shared.vid_exit_flag = !1; + } + function P(e) { + var t = e.originalEvent.dataTransfer; + if (t && t.files && t.files.length) { + var n = t.files[0]; + if (n && n.type && -1 !== n.type.indexOf("video")) { + if (!f.opts.videoUpload) return e.preventDefault(), e.stopPropagation(), !1; + f.markers.remove(), f.markers.insertAtPoint(e.originalEvent), f.$el.find(".fr-marker").replaceWith(be.FE.MARKERS), f.popups.hideAll(); + var r = f.popups.get("video.insert"); + return ( + r || (r = o()), + f.popups.setContainer("video.insert", f.$sc), + f.popups.show("video.insert", e.originalEvent.pageX, e.originalEvent.pageY), + C(), + 0 <= f.opts.videoAllowedTypes.indexOf(n.type.replace(/video\//g, "")) ? U(t.files) : K(v), + e.preventDefault(), + e.stopPropagation(), + !1 + ); + } + } + } + function U(e) { + if (void 0 !== e && 0 < e.length) { + if (!1 === f.events.trigger("video.beforeUpload", [e])) return !1; + var t, + n = e[0]; + if ((null === f.opts.videoUploadURL || f.opts.videoUploadURL == d) && !f.opts.videoUploadToS3) + return ( + (s = n), + (l = new FileReader()).addEventListener( + "load", + function () { + l.result; + for (var e = atob(l.result.split(",")[1]), t = [], n = 0; n < e.length; n++) t.push(e.charCodeAt(n)); + A(window.URL.createObjectURL(new Blob([new Uint8Array(t)], { type: s.type })), !1, null, u); + }, + !1 + ), + C(), + l.readAsDataURL(s), + !1 + ); + if (n.size > f.opts.videoMaxSize) return K(m), !1; + if (f.opts.videoAllowedTypes.indexOf(n.type.replace(/video\//g, "")) < 0) return K(v), !1; + if ((f.drag_support.formdata && (t = f.drag_support.formdata ? new FormData() : null), t)) { + var r; + if (!1 !== f.opts.videoUploadToS3) + for (r in (t.append("key", f.opts.videoUploadToS3.keyStart + new Date().getTime() + "-" + (n.name || "untitled")), + t.append("success_action_status", "201"), + t.append("X-Requested-With", "xhr"), + t.append("Content-Type", n.type), + f.opts.videoUploadToS3.params)) + f.opts.videoUploadToS3.params.hasOwnProperty(r) && t.append(r, f.opts.videoUploadToS3.params[r]); + for (r in f.opts.videoUploadParams) f.opts.videoUploadParams.hasOwnProperty(r) && t.append(r, f.opts.videoUploadParams[r]); + t.append(f.opts.videoUploadParam, n); + var i = f.opts.videoUploadURL; + f.opts.videoUploadToS3 && (i = f.opts.videoUploadToS3.uploadURL ? f.opts.videoUploadToS3.uploadURL : "https://" + f.opts.videoUploadToS3.region + ".amazonaws.com/" + f.opts.videoUploadToS3.bucket); + var a = f.core.getXHR(i, f.opts.videoUploadMethod); + (a.onload = function () { + _.call(a, u); + }), + (a.onerror = L), + (a.upload.onprogress = x), + (a.onabort = w), + C(), + f.events.disableBlur(), + f.edit.off(), + f.events.enableBlur(); + var o = f.popups.get("video.insert"); + o && + o.off("abortUpload").on("abortUpload", function () { + 4 != a.readyState && a.abort(); + }), + a.send(t); + } + } + var s, l; + } + function K(e, t) { + f.edit.on(), + u && u.find("video").addClass("fr-error"), + (function (e) { + C(); + var t = f.popups.get("video.insert").find(".fr-video-progress-bar-layer"); + t.addClass("fr-error"); + var n = t.find("h3"); + n.text(e), f.events.disableBlur(), n.focus(); + })(f.language.translate("Something went wrong. Please try again.")), + f.events.trigger("video.error", [{ code: e, message: i[e] }, t]); + } + function H() { + if (u) { + var e = f.popups.get("video.size"), + t = u.find("iframe, embed, video"); + e + .find('input[name="width"]') + .val(t.get(0).style.width || t.attr("width")) + .trigger("change"), + e + .find('input[name="height"]') + .val(t.get(0).style.height || t.attr("height")) + .trigger("change"); + } + } + function W(e) { + if (e) return f.popups.onRefresh("video.size", H), !0; + var t = { + buttons: '<div class="fr-buttons">' + f.button.buildList(f.opts.videoSizeButtons) + "</div>", + size_layer: + '<div class="fr-video-size-layer fr-layer fr-active" id="fr-video-size-layer-' + + f.id + + '"><div class="fr-video-group"><div class="fr-input-line"><input id="fr-video-size-layer-width-' + + f.id + + '" type="text" name="width" placeholder="' + + f.language.translate("Width") + + '" tabIndex="1"></div><div class="fr-input-line"><input id="fr-video-size-layer-height-' + + f.id + + '" type="text" name="height" placeholder="' + + f.language.translate("Height") + + '" tabIndex="1"></div></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="videoSetSize" tabIndex="2" role="button">' + + f.language.translate("Update") + + "</button></div></div>", + }, + n = f.popups.create("video.size", t); + return ( + f.events.$on(f.$wp, "scroll", function () { + u && f.popups.isVisible("video.size") && (f.events.disableBlur(), y(u)); + }), + n + ); + } + function z(e) { + if ((void 0 === e && (e = u), e)) { + if (e.hasClass("fr-fvl")) return "left"; + if (e.hasClass("fr-fvr")) return "right"; + if (e.hasClass("fr-dvb") || e.hasClass("fr-dvi")) return "center"; + if ("block" == e.css("display")) { + if ("left" == e.css("text-algin")) return "left"; + if ("right" == e.css("text-align")) return "right"; + } else { + if ("left" == e.css("float")) return "left"; + if ("right" == e.css("float")) return "right"; + } + } + return "center"; + } + function Y(e) { + void 0 === e && (e = u); + var t = e.css("float"); + return e.css("float", "none"), "block" == e.css("display") ? (e.css("float", ""), e.css("float") != t && e.css("float", t), "block") : (e.css("float", ""), e.css("float") != t && e.css("float", t), "inline"); + } + function G() { + if (u && !1 !== f.events.trigger("video.beforeRemove", [u])) { + var e = u; + f.popups.hideAll(), $(!0), f.selection.setBefore(e.get(0)) || f.selection.setAfter(e.get(0)), e.remove(), f.selection.restore(), f.html.fillEmptyBlocks(), f.events.trigger("video.removed", [e]); + } + } + function V() { + S(); + } + function X(e, t, n) { + !f.opts.htmlUntouched && f.opts.useClasses + ? (e.removeClass("fr-fvl fr-fvr fr-dvb fr-dvi"), e.addClass("fr-fv" + n[0] + " fr-dv" + t[0])) + : "inline" == t + ? (e.css({ display: "inline-block" }), "center" == n ? e.css({ float: "none" }) : "left" == n ? e.css({ float: "left" }) : e.css({ float: "right" })) + : (e.css({ display: "block", clear: "both" }), "left" == n ? e.css({ textAlign: "left" }) : "right" == n ? e.css({ textAlign: "right" }) : e.css({ textAlign: "center" })); + } + function q() { + f.$el + .find("video") + .filter(function () { + return 0 === be(this).parents("span.fr-video").length; + }) + .wrap('<span class="fr-video" contenteditable="false"></span>'), + f.$el + .find("embed, iframe") + .filter(function () { + if ((f.browser.safari && this.getAttribute("src") && this.setAttribute("src", this.src), 0 < be(this).parents("span.fr-video").length)) return !1; + for (var e = be(this).attr("src"), t = 0; t < be.FE.VIDEO_PROVIDERS.length; t++) { + var n = be.FE.VIDEO_PROVIDERS[t]; + if (n.test_regex.test(e) && new RegExp(f.opts.videoAllowedProviders.join("|")).test(n.provider)) return !0; + } + return !1; + }) + .map(function () { + return 0 === be(this).parents("object").length ? this : be(this).parents("object").get(0); + }) + .wrap('<span class="fr-video" contenteditable="false"></span>'); + for (var e, t, n = f.$el.find("span.fr-video, video"), r = 0; r < n.length; r++) { + var i = be(n[r]); + !f.opts.htmlUntouched && f.opts.useClasses + ? ((t = i).hasClass("fr-dvi") || t.hasClass("fr-dvb") || (t.addClass("fr-fv" + z(t)[0]), t.addClass("fr-dv" + Y(t)[0])), f.opts.videoTextNear || i.removeClass("fr-dvi").addClass("fr-dvb")) + : f.opts.htmlUntouched || + f.opts.useClasses || + (X((e = i), e.hasClass("fr-dvb") ? "block" : e.hasClass("fr-dvi") ? "inline" : null, e.hasClass("fr-fvl") ? "left" : e.hasClass("fr-fvr") ? "right" : z(e)), e.removeClass("fr-dvb fr-dvi fr-fvr fr-fvl")); + } + n.toggleClass("fr-draggable", f.opts.videoMove); + } + function j() { + if (u) { + f.selection.clear(); + var e = f.doc.createRange(); + e.selectNode(u.get(0)), f.selection.get().addRange(e); + } + } + return ( + (i[1] = "Video cannot be loaded from the passed link."), + (i[l] = "No link in upload response."), + (i[h] = "Error during file upload."), + (i[g] = "Parsing response failed."), + (i[m] = "File is too large."), + (i[v] = "Video file type is invalid."), + (i[7] = "Files can be uploaded only to same domain in IE 8 and IE 9."), + (f.shared.vid_exit_flag = !1), + { + _init: function () { + f.opts.videoResponsive && (f.opts.videoResize = !1), + f.events.on("drop", P, !0), + f.events.on("mousedown window.mousedown", e), + f.events.on("window.touchmove", B), + f.events.on("mouseup window.mouseup", $), + f.events.on("commands.mousedown", function (e) { + 0 < e.parents(".fr-toolbar").length && $(); + }), + f.events.on("video.hideResizer commands.undo commands.redo element.dropped", function () { + $(!0); + }), + f.helpers.isMobile() && + (f.events.$on(f.$el, "touchstart", "span.fr-video", function () { + n = !1; + }), + f.events.$on(f.$el, "touchmove", function () { + n = !0; + })), + f.events.on("html.set", q), + q(), + f.events.$on(f.$el, "mousedown", "span.fr-video", function (e) { + e.stopPropagation(), (f.browser.msie || f.browser.edge) && (e.target.dragDrop(), M.call(this, e)); + }), + f.events.$on(f.$el, "click touchend", "span.fr-video", function (e) { + if ("false" == be(this).parents("[contenteditable]:not(.fr-element):not(.fr-img-caption):not(body):first").attr("contenteditable")) return !0; + M.call(this, e); + }), + f.events.on( + "keydown", + function (e) { + var t = e.which; + return !u || (t != be.FE.KEYCODE.BACKSPACE && t != be.FE.KEYCODE.DELETE) + ? u && t == be.FE.KEYCODE.ESC + ? ($(!0), e.preventDefault(), !1) + : u && t != be.FE.KEYCODE.F10 && !f.keys.isBrowserAction(e) + ? (e.preventDefault(), !1) + : void 0 + : (e.preventDefault(), G(), f.undo.saveStep(), !1); + }, + !0 + ), + f.events.on( + "toolbar.esc", + function () { + if (u) return f.events.disableBlur(), f.events.focus(), !1; + }, + !0 + ), + f.events.on( + "toolbar.focusEditor", + function () { + if (u) return !1; + }, + !0 + ), + f.events.on("keydown", function () { + f.$el.find("span.fr-video:empty").remove(); + }), + f.$wp && (k(), f.events.on("contentChanged", k)), + o(!0), + W(!0); + }, + showInsertPopup: function () { + var e = f.$tb.find('.fr-command[data-cmd="insertVideo"]'), + t = f.popups.get("video.insert"); + if ((t || (t = o()), S(), !t.hasClass("fr-active"))) + if ((f.popups.refresh("video.insert"), f.popups.setContainer("video.insert", f.$tb), e.is(":visible"))) { + var n = e.offset().left + e.outerWidth() / 2, + r = e.offset().top + (f.opts.toolbarBottom ? 10 : e.outerHeight() - 10); + f.popups.show("video.insert", n, r, e.outerHeight()); + } else f.position.forSelection(t), f.popups.show("video.insert"); + }, + showLayer: function (e) { + var t, + n, + r = f.popups.get("video.insert"); + if (!u && !f.opts.toolbarInline) { + var i = f.$tb.find('.fr-command[data-cmd="insertVideo"]'); + (t = i.offset().left + i.outerWidth() / 2), (n = i.offset().top + (f.opts.toolbarBottom ? 10 : i.outerHeight() - 10)); + } + f.opts.toolbarInline && ((n = r.offset().top - f.helpers.getPX(r.css("margin-top"))), r.hasClass("fr-above") && (n += r.outerHeight())), + r.find(".fr-layer").removeClass("fr-active"), + r.find(".fr-" + e + "-layer").addClass("fr-active"), + f.popups.show("video.insert", t, n, 0), + f.accessibility.focusPopup(r); + }, + refreshByURLButton: function (e) { + f.popups.get("video.insert").find(".fr-video-by-url-layer").hasClass("fr-active") && e.addClass("fr-active").attr("aria-pressed", !0); + }, + refreshEmbedButton: function (e) { + f.popups.get("video.insert").find(".fr-video-embed-layer").hasClass("fr-active") && e.addClass("fr-active").attr("aria-pressed", !0); + }, + refreshUploadButton: function (e) { + f.popups.get("video.insert").find(".fr-video-upload-layer").hasClass("fr-active") && e.addClass("fr-active").attr("aria-pressed", !0); + }, + upload: U, + insertByURL: function (e) { + void 0 === e && (e = (f.popups.get("video.insert").find('.fr-video-by-url-layer input[type="text"]').val() || "").trim()); + var t = null; + if ((/^http/.test(e) || (e = "https://" + e), f.helpers.isURL(e))) + for (var n = 0; n < be.FE.VIDEO_PROVIDERS.length; n++) { + var r = be.FE.VIDEO_PROVIDERS[n]; + if (r.test_regex.test(e) && new RegExp(f.opts.videoAllowedProviders.join("|")).test(r.provider)) { + (t = e.replace(r.url_regex, r.url_text)), (t = r.html.replace(/\{url\}/, t)); + break; + } + } + t ? b(t) : f.events.trigger("video.linkError", [e]); + }, + insertEmbed: function (e) { + void 0 === e && (e = f.popups.get("video.insert").find(".fr-video-embed-layer textarea").val() || ""), 0 !== e.length && be.FE.VIDEO_EMBED_REGEX.test(e) ? b(e) : f.events.trigger("video.codeError", [e]); + }, + insert: b, + align: function (e) { + u.removeClass("fr-fvr fr-fvl"), !f.opts.htmlUntouched && f.opts.useClasses ? ("left" == e ? u.addClass("fr-fvl") : "right" == e && u.addClass("fr-fvr")) : X(u, Y(), e), j(), F(), a(), f.selection.clear(); + }, + refreshAlign: function (e) { + if (!u) return !1; + e.find("> *:first").replaceWith(f.icon.create("video-align-" + z())); + }, + refreshAlignOnShow: function (e, t) { + u && + t + .find('.fr-command[data-param1="' + z() + '"]') + .addClass("fr-active") + .attr("aria-selected", !0); + }, + display: function (e) { + u.removeClass("fr-dvi fr-dvb"), !f.opts.htmlUntouched && f.opts.useClasses ? ("inline" == e ? u.addClass("fr-dvi") : "block" == e && u.addClass("fr-dvb")) : X(u, e, z()), j(), F(), a(), f.selection.clear(); + }, + refreshDisplayOnShow: function (e, t) { + u && + t + .find('.fr-command[data-param1="' + Y() + '"]') + .addClass("fr-active") + .attr("aria-selected", !0); + }, + remove: G, + hideProgressBar: S, + showSizePopup: function () { + var e = f.popups.get("video.size"); + e || (e = W()), S(), f.popups.refresh("video.size"), f.popups.setContainer("video.size", f.$sc); + var t = u.find("iframe, embed, video"), + n = t.offset().left + t.width() / 2, + r = t.offset().top + t.height(); + f.popups.show("video.size", n, r, t.height()); + }, + replace: function () { + var e = f.popups.get("video.insert"); + e || (e = o()), f.popups.isVisible("video.insert") || (S(), f.popups.refresh("video.insert"), f.popups.setContainer("video.insert", f.$sc)); + var t = u.offset().left + u.width() / 2, + n = u.offset().top + u.height(); + f.popups.show("video.insert", t, n, u.outerHeight()); + }, + back: function () { + u ? (f.events.disableBlur(), u.trigger("click")) : (f.events.disableBlur(), f.selection.restore(), f.events.enableBlur(), f.popups.hide("video.insert"), f.toolbar.showInline()); + }, + setSize: function (e, t) { + if (u) { + var n = f.popups.get("video.size"), + r = u.find("iframe, embed, video"); + r.css("width", e || n.find('input[name="width"]').val()), + r.css("height", t || n.find('input[name="height"]').val()), + r.get(0).style.width && r.removeAttr("width"), + r.get(0).style.height && r.removeAttr("height"), + n.find("input:focus").blur(), + setTimeout( + function () { + u.trigger("click"); + }, + f.helpers.isAndroid() ? 50 : 0 + ); + } + }, + get: function () { + return u; + }, + } + ); + }), + be.FE.RegisterCommand("insertVideo", { + title: "Insert Video", + undo: !1, + focus: !0, + refreshAfterCallback: !1, + popup: !0, + callback: function () { + this.popups.isVisible("video.insert") ? (this.$el.find(".fr-marker").length && (this.events.disableBlur(), this.selection.restore()), this.popups.hide("video.insert")) : this.video.showInsertPopup(); + }, + plugin: "video", + }), + be.FE.DefineIcon("insertVideo", { NAME: "video-camera", FA5NAME: "camera" }), + be.FE.DefineIcon("videoByURL", { NAME: "link" }), + be.FE.RegisterCommand("videoByURL", { + title: "By URL", + undo: !1, + focus: !1, + toggle: !0, + callback: function () { + this.video.showLayer("video-by-url"); + }, + refresh: function (e) { + this.video.refreshByURLButton(e); + }, + }), + be.FE.DefineIcon("videoEmbed", { NAME: "code" }), + be.FE.RegisterCommand("videoEmbed", { + title: "Embedded Code", + undo: !1, + focus: !1, + toggle: !0, + callback: function () { + this.video.showLayer("video-embed"); + }, + refresh: function (e) { + this.video.refreshEmbedButton(e); + }, + }), + be.FE.DefineIcon("videoUpload", { NAME: "upload" }), + be.FE.RegisterCommand("videoUpload", { + title: "Upload Video", + undo: !1, + focus: !1, + toggle: !0, + callback: function () { + this.video.showLayer("video-upload"); + }, + refresh: function (e) { + this.video.refreshUploadButton(e); + }, + }), + be.FE.RegisterCommand("videoInsertByURL", { + undo: !0, + focus: !0, + callback: function () { + this.video.insertByURL(); + }, + }), + be.FE.RegisterCommand("videoInsertEmbed", { + undo: !0, + focus: !0, + callback: function () { + this.video.insertEmbed(); + }, + }), + be.FE.DefineIcon("videoDisplay", { NAME: "star" }), + be.FE.RegisterCommand("videoDisplay", { + title: "Display", + type: "dropdown", + options: { inline: "Inline", block: "Break Text" }, + callback: function (e, t) { + this.video.display(t); + }, + refresh: function (e) { + this.opts.videoTextNear || e.addClass("fr-hidden"); + }, + refreshOnShow: function (e, t) { + this.video.refreshDisplayOnShow(e, t); + }, + }), + be.FE.DefineIcon("video-align", { NAME: "align-left" }), + be.FE.DefineIcon("video-align-left", { NAME: "align-left" }), + be.FE.DefineIcon("video-align-right", { NAME: "align-right" }), + be.FE.DefineIcon("video-align-center", { NAME: "align-justify" }), + be.FE.DefineIcon("videoAlign", { NAME: "align-center" }), + be.FE.RegisterCommand("videoAlign", { + type: "dropdown", + title: "Align", + options: { left: "Align Left", center: "None", right: "Align Right" }, + html: function () { + var e = '<ul class="fr-dropdown-list" role="presentation">', + t = be.FE.COMMANDS.videoAlign.options; + for (var n in t) + t.hasOwnProperty(n) && + (e += + '<li role="presentation"><a class="fr-command fr-title" tabIndex="-1" role="option" data-cmd="videoAlign" data-param1="' + + n + + '" title="' + + this.language.translate(t[n]) + + '">' + + this.icon.create("video-align-" + n) + + '<span class="fr-sr-only">' + + this.language.translate(t[n]) + + "</span></a></li>"); + return (e += "</ul>"); + }, + callback: function (e, t) { + this.video.align(t); + }, + refresh: function (e) { + this.video.refreshAlign(e); + }, + refreshOnShow: function (e, t) { + this.video.refreshAlignOnShow(e, t); + }, + }), + be.FE.DefineIcon("videoReplace", { NAME: "exchange", FA5NAME: "exchange-alt" }), + be.FE.RegisterCommand("videoReplace", { + title: "Replace", + undo: !1, + focus: !1, + popup: !0, + refreshAfterCallback: !1, + callback: function () { + this.video.replace(); + }, + }), + be.FE.DefineIcon("videoRemove", { NAME: "trash" }), + be.FE.RegisterCommand("videoRemove", { + title: "Remove", + callback: function () { + this.video.remove(); + }, + }), + be.FE.DefineIcon("videoSize", { NAME: "arrows-alt" }), + be.FE.RegisterCommand("videoSize", { + undo: !1, + focus: !1, + popup: !0, + title: "Change Size", + callback: function () { + this.video.showSizePopup(); + }, + }), + be.FE.DefineIcon("videoBack", { NAME: "arrow-left" }), + be.FE.RegisterCommand("videoBack", { + title: "Back", + undo: !1, + focus: !1, + back: !0, + callback: function () { + this.video.back(); + }, + refresh: function (e) { + this.video.get() || this.opts.toolbarInline ? (e.removeClass("fr-hidden"), e.next(".fr-separator").removeClass("fr-hidden")) : (e.addClass("fr-hidden"), e.next(".fr-separator").addClass("fr-hidden")); + }, + }), + be.FE.RegisterCommand("videoDismissError", { + title: "OK", + undo: !1, + callback: function () { + this.video.hideProgressBar(!0); + }, + }), + be.FE.RegisterCommand("videoSetSize", { + undo: !0, + focus: !1, + title: "Update", + refreshAfterCallback: !1, + callback: function () { + this.video.setSize(); + }, + }), + be.extend(be.FE.DEFAULTS, { + wordDeniedTags: [], + wordDeniedAttrs: [], + wordAllowedStyleProps: [ + "font-family", + "font-size", + "background", + "color", + "width", + "text-align", + "vertical-align", + "background-color", + "padding", + "margin", + "height", + "margin-top", + "margin-left", + "margin-right", + "margin-bottom", + "text-decoration", + "font-weight", + "font-style", + "text-indent", + ], + wordPasteModal: !0, + wordPasteKeepFormatting: !0, + }), + (be.FE.PLUGINS.wordPaste = function (T) { + var a, + r, + o = "word_paste"; + function t(e) { + var t = T.opts.wordAllowedStyleProps; + e || (T.opts.wordAllowedStyleProps = []), + 0 === r.indexOf("<colgroup>") && (r = "<table>" + r + "</table>"), + (r = (function (e, t) { + 0 <= e.indexOf("<html") && (e = e.replace(/[.\s\S\w\W<>]*(<html[^>]*>[.\s\S\w\W<>]*<\/html>)[.\s\S\w\W<>]*/i, "$1")); + !(function (e) { + for (var t = e.split("v:shape"), n = 1; n < t.length; n++) { + var r = t[n], + i = r.split(' id="')[1]; + if (i && 1 < i.length) { + i = i.split('"')[0]; + var a = r.split(' o:spid="')[1]; + a && 1 < a.length && ((a = a.split('"')[0]), (h[i] = a)); + } + } + })(e); + var n = new DOMParser().parseFromString(e, "text/html"), + r = n.head, + i = n.body, + o = (function (e) { + var t = {}, + n = e.getElementsByTagName("style"); + if (n.length) { + var r = n[0], + i = r.innerHTML.match(/[\S ]+\s+{[\s\S]+?}/gi); + if (i) + for (var a = 0; a < i.length; a++) { + var o = i[a], + s = o.replace(/([\S ]+\s+){[\s\S]+?}/gi, "$1"), + l = o.replace(/[\S ]+\s+{([\s\S]+?)}/gi, "$1"); + (s = s.replace(/^[\s]|[\s]$/gm, "")), (l = l.replace(/^[\s]|[\s]$/gm, "")), (s = s.replace(/\n|\r|\n\r/g, "")), (l = l.replace(/\n|\r|\n\r/g, "")); + for (var d = s.split(", "), c = 0; c < d.length; c++) t[d[c]] = l; + } + } + return t; + })(r); + c(i, function (e) { + if (e.nodeType == Node.TEXT_NODE && /\n|\u00a0|\r/.test(e.data)) { + if (!/\S| /.test(e.data)) return e.data == be.FE.UNICODE_NBSP ? ((e.data = "\u200b"), !0) : 1 == e.data.length && 10 == e.data.charCodeAt(0) ? ((e.data = " "), !0) : (A(e), !1); + e.data = e.data.replace(/\n|\r/gi, " "); + } + return !0; + }), + c(i, function (e) { + return ( + e.nodeType != Node.ELEMENT_NODE || + ("V:IMAGEDATA" != e.tagName && "IMG" != e.tagName) || + (function (e, t) { + if (!t) return; + var n; + if ("IMG" == e.tagName) { + var r = e.getAttribute("src"); + if (!r || -1 == r.indexOf("file://")) return; + if (0 === r.indexOf("file://") && T.helpers.isURL(e.getAttribute("alt"))) return e.setAttribute("src", e.getAttribute("alt")); + (n = h[e.getAttribute("v:shapes")]) || (n = e.getAttribute("v:shapes")); + } else n = e.parentNode.getAttribute("o:spid"); + if ((e.removeAttribute("height"), !n)) return; + (i = t), (u = {}), f(i, "i", "\\shppict"), f(i, "s", "\\shp{"); + var i; + var a = u[n.substring(7)]; + if (a) { + var o = (function (e) { + for (var t = e.match(/[0-9a-f]{2}/gi), n = [], r = 0; r < t.length; r++) n.push(String.fromCharCode(parseInt(t[r], 16))); + var i = n.join(""); + return btoa(i); + })(a.image_hex), + s = "data:" + a.image_type + ";base64," + o; + "IMG" === e.tagName + ? ((e.src = s), e.setAttribute("data-fr-image-pasted", !0)) + : be(e.parentNode) + .before('<img data-fr-image-pasted="true" src="' + s + '" style="' + e.parentNode.getAttribute("style") + '">') + .remove(); + } + })(e, t), + !0 + ); + }); + for (var a = i.querySelectorAll("ul > ul, ul > ol, ol > ul, ol > ol"), s = a.length - 1; 0 <= s; s--) + a[s].previousElementSibling && "LI" === a[s].previousElementSibling.tagName && a[s].previousElementSibling.appendChild(a[s]); + c(i, function (t) { + if (t.nodeType == Node.TEXT_NODE) return (t.data = t.data.replace(/<br>(\n|\r)/gi, "<br>")), !1; + if (t.nodeType == Node.ELEMENT_NODE) { + if (C(t)) { + var n = t.parentNode, + r = t.previousSibling, + i = (function e(t, n) { + var r = /[0-9a-zA-Z]./gi; + var i = !1; + t.firstElementChild && + t.firstElementChild.firstElementChild && + t.firstElementChild.firstElementChild.firstChild && + !(i = i || r.test(t.firstElementChild.firstElementChild.firstChild.data || "")) && + t.firstElementChild.firstElementChild.firstElementChild && + t.firstElementChild.firstElementChild.firstElementChild.firstChild && + (i = i || r.test(t.firstElementChild.firstElementChild.firstElementChild.firstChild.data || "")); + var a = i ? "ol" : "ul"; + var o = g(t); + var s = "<" + a + "><li>" + m(t, n); + var l = t.nextElementSibling; + var d = t.parentNode; + A(t); + t = null; + for (; l && C(l); ) { + var c = l.previousElementSibling, + f = g(l); + if (o < f) s += e(l, n).outerHTML; + else { + if (f < o) break; + s += "</li><li>" + m(l, n); + } + if (((o = f), l.previousElementSibling || l.nextElementSibling || l.parentNode)) { + var p = l; + (l = l.nextElementSibling), A(p), (p = null); + } else l = c ? c.nextElementSibling : d.firstElementChild; + } + s += "</li></" + a + ">"; + var u = document.createElement("div"); + u.innerHTML = s; + var h = u.firstElementChild; + return h; + })(t, o), + a = null; + return (a = r ? r.nextSibling : n.firstChild) ? n.insertBefore(i, a) : n.appendChild(i), !1; + } + return p(t, o); + } + return t.nodeType != Node.COMMENT_NODE || (A(t), !1); + }), + c(i, function (e) { + if (e.nodeType == Node.ELEMENT_NODE) { + var t = e.tagName; + if (!e.innerHTML && -1 == ["BR", "IMG"].indexOf(t)) { + for (var n = e.parentNode; n && (A(e), !(e = n).innerHTML); ) n = e.parentNode; + return !1; + } + !(function (e) { + var t = e.getAttribute("style"); + if (!t) return; + (t = R(t)) && ";" != t.slice(-1) && (t += ";"); + var n = t.match(/(^|\S+?):.+?;{1,1}/gi); + if (!n) return; + for (var r = {}, i = 0; i < n.length; i++) { + var a = n[i], + o = a.split(":"); + 2 == o.length && (("text-align" == o[0] && "SPAN" == e.tagName) || (r[o[0]] = o[1])); + } + var s = ""; + for (var l in r) + if (r.hasOwnProperty(l)) { + if ("font-size" == l && "pt;" == r[l].slice(-3)) { + var d = null; + try { + d = parseFloat(r[l].slice(0, -3), 10); + } catch (c) {} + d && ((d = Math.round(1.33 * d)), (r[l] = d + "px;")); + } + s += l + ":" + r[l]; + } + s && e.setAttribute("style", s); + })(e); + } + return !0; + }); + var l = i.outerHTML, + d = T.opts.htmlAllowedStyleProps; + return (T.opts.htmlAllowedStyleProps = T.opts.wordAllowedStyleProps), (l = T.clean.html(l, T.opts.wordDeniedTags, T.opts.wordDeniedAttrs, !1)), (T.opts.htmlAllowedStyleProps = d), l; + })( + (r = r.replace(/<span[\n\r ]*style='mso-spacerun:yes'>([\r\n\u00a0 ]*)<\/span>/g, function (e, t) { + for (var n = "", r = 0; r++ < t.length; ) n += "&nbsp;"; + return n; + })), + T.paste.getRtfClipboard() + )); + var n = T.doc.createElement("DIV"); + (n.innerHTML = r), T.html.cleanBlankSpaces(n), (r = n.innerHTML), (r = (r = T.paste.cleanEmptyTagsAndDivs(r)).replace(/\u200b/g, "")), T.modals.hide(o), T.paste.clean(r, !0, !0), (T.opts.wordAllowedStyleProps = t); + } + function A(e) { + e.parentNode && e.parentNode.removeChild(e); + } + function c(e, t) { + if (t(e)) + for (var n = e.firstChild; n; ) { + var r = n, + i = n.previousSibling; + (n = n.nextSibling), + c(r, t), + r.previousSibling || r.nextSibling || r.parentNode || !n || i == n.previousSibling || !n.parentNode + ? r.previousSibling || + r.nextSibling || + r.parentNode || + !n || + n.previousSibling || + n.nextSibling || + n.parentNode || + (i ? (n = i.nextSibling ? i.nextSibling.nextSibling : null) : e.firstChild && (n = e.firstChild.nextSibling)) + : (n = i ? i.nextSibling : e.firstChild); + } + } + function C(e) { + if (!e.getAttribute("style") || !/mso-list:[\s]*l/gi.test(e.getAttribute("style").replace(/\n/gi, ""))) return !1; + try { + if (!e.querySelector('[style="mso-list:Ignore"]')) return !1; + } catch (t) { + return !1; + } + return !0; + } + function g(e) { + return e + .getAttribute("style") + .replace(/\n/gi, "") + .replace(/.*level([0-9]+?).*/gi, "$1"); + } + function m(e, t) { + var n = e.cloneNode(!0); + if (-1 != ["H1", "H2", "H3", "H4", "H5", "H6"].indexOf(e.tagName)) { + var r = document.createElement(e.tagName.toLowerCase()); + r.setAttribute("style", e.getAttribute("style")), (r.innerHTML = n.innerHTML), (n.innerHTML = r.outerHTML); + } + c(n, function (e) { + return e.nodeType == Node.ELEMENT_NODE && ("mso-list:Ignore" == e.getAttribute("style") && e.parentNode.removeChild(e), p(e, t)), !0; + }); + var i = n.innerHTML; + return (i = i.replace(/<!--[\s\S]*?-->/gi, "")); + } + function v(e, t) { + for (var n = document.createElement(t), r = 0; r < e.attributes.length; r++) { + var i = e.attributes[r].name; + n.setAttribute(i, e.getAttribute(i)); + } + return (n.innerHTML = e.innerHTML), e.parentNode.replaceChild(n, e), n; + } + function S(e) { + var t = e.getAttribute("align"); + t && ((e.style["text-align"] = t), e.removeAttribute("align")); + } + function R(e) { + return e.replace(/\n|\r|\n\r|&quot;/g, ""); + } + function y(e, t, n) { + if (t) { + var r = e.getAttribute("style"); + r && ";" != r.slice(-1) && (r += ";"), t && ";" != t.slice(-1) && (t += ";"), (t = t.replace(/\n/gi, "")); + var i = null; + (i = n ? (r || "") + t : t + (r || "")), e.setAttribute("style", i); + } + } + var u = null; + function f(e, t, n) { + for (var r = e.split(n), i = 1; i < r.length; i++) { + var a = r[i]; + if (1 < (a = a.split("shplid")).length) { + a = a[1]; + for (var o = "", s = 0; s < a.length && "\\" != a[s] && "{" != a[s] && " " != a[s] && "\r" != a[s] && "\n" != a[s]; ) (o += a[s]), s++; + var l = a.split("bliptag"); + if (l && l.length < 2) continue; + var d = null; + if ((-1 != l[0].indexOf("pngblip") ? (d = "image/png") : -1 != l[0].indexOf("jpegblip") && (d = "image/jpeg"), !d)) continue; + var c, + f = l[1].split("}"); + if (f && f.length < 2) continue; + if (2 < f.length && -1 != f[0].indexOf("blipuid")) c = f[1].split(" "); + else { + if ((c = f[0].split(" ")) && c.length < 2) continue; + c.shift(); + } + var p = c.join(""); + u[t + o] = { image_hex: p, image_type: d }; + } + } + } + function p(e, t) { + var n = e.tagName, + r = n.toLowerCase(); + e.firstElementChild && ("I" == e.firstElementChild.tagName ? v(e.firstElementChild, "em") : "B" == e.firstElementChild.tagName && v(e.firstElementChild, "strong")); + if (-1 != ["SCRIPT", "APPLET", "EMBED", "NOFRAMES", "NOSCRIPT"].indexOf(n)) return A(e), !1; + var i = -1, + a = ["META", "LINK", "XML", "ST1:", "O:", "W:", "FONT"]; + for (i = 0; i < a.length; i++) if (-1 != n.indexOf(a[i])) return e.innerHTML && (e.outerHTML = e.innerHTML), A(e), !1; + if ("TD" != n) { + var o = e.getAttribute("class"); + if (t && o) { + var s = (o = R(o)).split(" "); + for (i = 0; i < s.length; i++) { + var l = [], + d = "." + s[i]; + l.push(d), (d = r + d), l.push(d); + for (var c = 0; c < l.length; c++) t[l[c]] && y(e, t[l[c]]); + } + e.removeAttribute("class"); + } + t && t[r] && y(e, t[r]); + } + if (-1 != ["P", "H1", "H2", "H3", "H4", "H5", "H6", "PRE"].indexOf(n)) { + var f = e.getAttribute("class"); + if (f && (t && t[n.toLowerCase() + "." + f] && y(e, t[n.toLowerCase() + "." + f]), -1 != f.toLowerCase().indexOf("mso"))) { + var p = R(f); + (p = p.replace(/[0-9a-z-_]*mso[0-9a-z-_]*/gi, "")) ? e.setAttribute("class", p) : e.removeAttribute("class"); + } + var u = e.getAttribute("style"); + if (u) { + var h = u.match(/text-align:.+?[; "]{1,1}/gi); + h && h[h.length - 1].replace(/(text-align:.+?[; "]{1,1})/gi, "$1"); + } + S(e); + } + if ( + ("TR" == n && + (function (e, t) { + T.node.clearAttributes(e); + for (var n = e.firstElementChild, r = 0, i = !1, a = null; n; ) { + n.firstElementChild && -1 != n.firstElementChild.tagName.indexOf("W:") && (n.innerHTML = n.firstElementChild.innerHTML), + (a = n.getAttribute("width")) || i || (i = !0), + (r += parseInt(a, 10)), + (!n.firstChild || (n.firstChild && n.firstChild.data == be.FE.UNICODE_NBSP)) && (n.firstChild && A(n.firstChild), (n.innerHTML = "<br>")); + for (var o = n.firstElementChild, s = 1 == n.children.length; o; ) "P" != o.tagName || C(o) || (s && S(o)), (o = o.nextElementSibling); + if (t) { + var l = n.getAttribute("class"); + if (l) { + var d = (l = R(l)).match(/xl[0-9]+/gi); + if (d) { + var c = "." + d[0]; + t[c] && y(n, t[c]); + } + } + t.td && y(n, t.td); + } + var f = n.getAttribute("style"); + f && (f = R(f)) && ";" != f.slice(-1) && (f += ";"); + var p = n.getAttribute("valign"); + if (!p && f) { + var u = f.match(/vertical-align:.+?[; "]{1,1}/gi); + u && (p = u[u.length - 1].replace(/vertical-align:(.+?)[; "]{1,1}/gi, "$1")); + } + var h = null; + if (f) { + var g = f.match(/text-align:.+?[; "]{1,1}/gi); + g && (h = g[g.length - 1].replace(/text-align:(.+?)[; "]{1,1}/gi, "$1")), "general" == h && (h = null); + } + var m = null; + if (f) { + var v = f.match(/background:.+?[; "]{1,1}/gi); + v && (m = v[v.length - 1].replace(/background:(.+?)[; "]{1,1}/gi, "$1")); + } + var E = n.getAttribute("colspan"), + b = n.getAttribute("rowspan"); + E && n.setAttribute("colspan", E), + b && n.setAttribute("rowspan", b), + p && (n.style["vertical-align"] = p), + h && (n.style["text-align"] = h), + m && (n.style["background-color"] = m), + a && n.setAttribute("width", a), + (n = n.nextElementSibling); + } + for (n = e.firstElementChild; n; ) (a = n.getAttribute("width")), i ? n.removeAttribute("width") : n.setAttribute("width", (100 * parseInt(a, 10)) / r + "%"), (n = n.nextElementSibling); + })(e, t), + "A" != n || e.attributes.getNamedItem("href") || e.attributes.getNamedItem("name") || !e.innerHTML || (e.outerHTML = e.innerHTML), + ("TD" != n && "TH" != n) || e.innerHTML || (e.innerHTML = "<br>"), + "TABLE" == n && (e.style.width = "100%"), + e.getAttribute("lang") && e.removeAttribute("lang"), + e.getAttribute("style") && -1 != e.getAttribute("style").toLowerCase().indexOf("mso")) + ) { + var g = R(e.getAttribute("style")); + (g = g.replace(/[0-9a-z-_]*mso[0-9a-z-_]*:.+?(;{1,1}|$)/gi, "")) ? e.setAttribute("style", g) : e.removeAttribute("style"); + } + return !0; + } + var h = {}; + return { + _init: function () { + T.events.on("paste.wordPaste", function (e) { + return ( + (r = e), + T.opts.wordPasteModal + ? (function () { + if (!a) { + var e = + '<h4><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 74.95 73.23" style="height: 25px; vertical-align: text-bottom; margin-right: 5px; display: inline-block"><defs><style>.a{fill:#2a5699;}.b{fill:#fff;}</style></defs><path class="a" d="M615.15,827.22h5.09V834c9.11.05,18.21-.09,27.32.05a2.93,2.93,0,0,1,3.29,3.25c.14,16.77,0,33.56.09,50.33-.09,1.72.17,3.63-.83,5.15-1.24.89-2.85.78-4.3.84-8.52,0-17,0-25.56,0v6.81h-5.32c-13-2.37-26-4.54-38.94-6.81q0-29.8,0-59.59c13.05-2.28,26.11-4.5,39.17-6.83Z" transform="translate(-575.97 -827.22)"/><path class="b" d="M620.24,836.59h28.1v54.49h-28.1v-6.81h22.14v-3.41H620.24v-4.26h22.14V873.2H620.24v-4.26h22.14v-3.41H620.24v-4.26h22.14v-3.41H620.24v-4.26h22.14v-3.41H620.24V846h22.14v-3.41H620.24Zm-26.67,15c1.62-.09,3.24-.16,4.85-.25,1.13,5.75,2.29,11.49,3.52,17.21,1-5.91,2-11.8,3.06-17.7,1.7-.06,3.41-.15,5.1-.26-1.92,8.25-3.61,16.57-5.71,24.77-1.42.74-3.55,0-5.24.09-1.13-5.64-2.45-11.24-3.47-16.9-1,5.5-2.29,10.95-3.43,16.42q-2.45-.13-4.92-.3c-1.41-7.49-3.07-14.93-4.39-22.44l4.38-.18c.88,5.42,1.87,10.82,2.64,16.25,1.2-5.57,2.43-11.14,3.62-16.71Z" transform="translate(-575.97 -827.22)"/></svg> ' + + T.language.translate("Word Paste Detected") + + "</h4>", + t = + ((i = '<div class="fr-word-paste-modal" style="padding: 20px 20px 10px 20px;">'), + (i += '<p style="text-align: left;">' + T.language.translate("The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?") + "</p>"), + (i += + '<div style="text-align: right; margin-top: 50px;"><button class="fr-remove-word fr-command">' + + T.language.translate("Clean") + + '</button> <button class="fr-keep-word fr-command">' + + T.language.translate("Keep") + + "</button></div>"), + (i += "</div>")), + n = T.modals.create(o, e, t), + r = n.$body; + (a = n.$modal), + n.$modal.addClass("fr-middle"), + T.events.bindClick(r, "button.fr-remove-word", function () { + var e = a.data("instance") || T; + e.wordPaste.clean(); + }), + T.events.bindClick(r, "button.fr-keep-word", function () { + var e = a.data("instance") || T; + e.wordPaste.clean(!0); + }), + T.events.$on(be(T.o_win), "resize", function () { + T.modals.resize(o); + }); + } + var i; + T.modals.show(o), T.modals.resize(o); + })() + : t(T.opts.wordPasteKeepFormatting), + !1 + ); + }); + }, + clean: t, + }; + }); +}); Property changes on: base3.10/src/main/webapp/resource/editor/js/froala_editor.pkgd.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/sv.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/sv.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/sv.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Swedish + */ + +$.FE.LANGUAGE['sv'] = { + translation: { + // Place holder + "Type something": "Ange n\u00e5got", + + // Basic formatting + "Bold": "Fetstil", + "Italic": "Kursiv stil", + "Underline": "Understruken", + "Strikethrough": "Genomstruken", + + // Main buttons + "Insert": "Infoga", + "Delete": "Radera", + "Cancel": "Avbryt", + "OK": "Ok", + "Back": "Tillbaka", + "Remove": "Ta bort", + "More": "Mer", + "Update": "Uppdatera", + "Style": "Stil", + + // Font + "Font Family": "Teckensnitt", + "Font Size": "Teckenstorlek", + + // Colors + "Colors": "F\u00e4rger", + "Background": "Bakgrund", + "Text": "Text", + "HEX Color": "Hex färg", + + // Paragraphs + "Paragraph Format": "Format", + "Normal": "Normal", + "Code": "Kod", + "Heading 1": "Rubrik 1", + "Heading 2": "Rubrik 2", + "Heading 3": "Rubrik 3", + "Heading 4": "Rubrik 4", + + // Style + "Paragraph Style": "Styckesformat", + "Inline Style": "Infogad stil", + + // Alignment + "Align": "Justera", + "Align Left": "Vänsterjustera", + "Align Center": "Centrera", + "Align Right": "Högerjustera", + "Align Justify": "Justera", + "None": "Inget", + + // Lists + "Ordered List": "Ordnad lista", + "Unordered List": "Oordnad lista", + + // Indent + "Decrease Indent": "Minska indrag", + "Increase Indent": "\u00d6ka indrag", + + // Links + "Insert Link": "Infoga l\u00e4nk", + "Open in new tab": "\u00d6ppna i ny flik", + "Open Link": "\u00d6ppna l\u00e4nk", + "Edit Link": "Redigera l\u00e4nk", + "Unlink": "Ta bort l\u00e4nk", + "Choose Link": "V\u00e4lj l\u00e4nk", + + // Images + "Insert Image": "Infoga bild", + "Upload Image": "Ladda upp en bild", + "By URL": "Genom URL", + "Browse": "Bl\u00e4ddra", + "Drop image": "Sl\u00e4pp bild", + "or click": "eller klicka", + "Manage Images": "Hantera bilder", + "Loading": "Laddar", + "Deleting": "Raderar", + "Tags": "Etiketter", + "Are you sure? Image will be deleted.": "\u00c4r du s\u00e4ker? Bild kommer att raderas.", + "Replace": "Ers\u00e4tt", + "Uploading": "Laddar up", + "Loading image": "Laddar bild", + "Display": "Visa", + "Inline": "I linje", + "Break Text": "Bryt text", + "Alternative Text": "Alternativ text", + "Change Size": "\u00c4ndra storlek", + "Width": "Bredd", + "Height": "H\u00f6jd", + "Something went wrong. Please try again.": "N\u00e5got gick fel. Var god f\u00f6rs\u00f6k igen.", + "Image Caption": "Bildtext", + "Advanced Edit": "Avancerad redigering", + + // Video + "Insert Video": "Infoga video", + "Embedded Code": "Inb\u00e4ddad kod", + "Paste in a video URL": "Klistra in i en video url", + "Drop video": "Släpp video", + "Your browser does not support HTML5 video.": "Din webbläsare stöder inte html5-video.", + "Upload Video": "Ladda upp video", + + // Tables + "Insert Table": "Infoga tabell", + "Table Header": "Tabell huvud", + "Remove Table": "Ta bort tabellen", + "Table Style": "Tabellformat", + "Horizontal Align": "Horisontell justering", + "Row": "Rad", + "Insert row above": "Infoga rad f\u00f6re", + "Insert row below": "Infoga rad efter", + "Delete row": "Ta bort rad", + "Column": "Kolumn", + "Insert column before": "Infoga kollumn f\u00f6re", + "Insert column after": "Infoga kolumn efter", + "Delete column": "Ta bort kolumn", + "Cell": "Cell", + "Merge cells": "Sammanfoga celler", + "Horizontal split": "Dela horisontellt", + "Vertical split": "Dela vertikalt", + "Cell Background": "Cellbakgrund", + "Vertical Align": "Vertikal justering", + "Top": "Överst", + "Middle": "Mitten", + "Bottom": "Nederst", + "Align Top": "Justera överst", + "Align Middle": "Justera mitten", + "Align Bottom": "Justera nederst", + "Cell Style": "Cellformat", + + // Files + "Upload File": "Ladda upp fil", + "Drop file": "Sl\u00e4pp fil", + + // Emoticons + "Emoticons": "Uttryckssymboler", + "Grinning face": "Grina ansikte", + "Grinning face with smiling eyes": "Grina ansikte med leende \u00f6gon", + "Face with tears of joy": "Face med gl\u00e4djet\u00e5rar", + "Smiling face with open mouth": "Leende ansikte med \u00f6ppen mun", + "Smiling face with open mouth and smiling eyes": "Leende ansikte med \u00f6ppen mun och leende \u00f6gon", + "Smiling face with open mouth and cold sweat": "Leende ansikte med \u00f6ppen mun och kallsvett", + "Smiling face with open mouth and tightly-closed eyes": "Leende ansikte med \u00f6ppen mun och t\u00e4tt slutna \u00f6gon", + "Smiling face with halo": "Leende ansikte med halo", + "Smiling face with horns": "Leende ansikte med horn", + "Winking face": "Blinka ansikte", + "Smiling face with smiling eyes": "Leende ansikte med leende \u00f6gon", + "Face savoring delicious food": "Ansikte smaka uts\u00f6kt mat", + "Relieved face": "L\u00e4ttad ansikte", + "Smiling face with heart-shaped eyes": "Leende ansikte med hj\u00e4rtformade \u00f6gon", + "Smiling face with sunglasses": "Leende ansikte med solglas\u00f6gon", + "Smirking face": "Flinande ansikte", + "Neutral face": "Neutral ansikte", + "Expressionless face": "Uttryckslöst ansikte", + "Unamused face": "Inte roade ansikte", + "Face with cold sweat": "Ansikte med kallsvett", + "Pensive face": "Eftert\u00e4nksamt ansikte", + "Confused face": "F\u00f6rvirrad ansikte", + "Confounded face": "F\u00f6rbryllade ansikte", + "Kissing face": "Kyssande ansikte", + "Face throwing a kiss": "Ansikte kasta en kyss", + "Kissing face with smiling eyes": "Kyssa ansikte med leende \u00f6gon", + "Kissing face with closed eyes": "Kyssa ansikte med slutna \u00f6gon", + "Face with stuck out tongue": "Ansikte med stack ut tungan", + "Face with stuck out tongue and winking eye": "Ansikte med stack ut tungan och blinkande \u00f6ga", + "Face with stuck out tongue and tightly-closed eyes": "Ansikte med stack ut tungan och t\u00e4tt slutna \u00f6gon", + "Disappointed face": "Besviken ansikte", + "Worried face": "Orolig ansikte", + "Angry face": "Argt ansikte", + "Pouting face": "Sk\u00e4ggtorsk ansikte", + "Crying face": "Gr\u00e5tande ansikte", + "Persevering face": "Uth\u00e5llig ansikte", + "Face with look of triumph": "Ansikte med utseendet p\u00e5 triumf", + "Disappointed but relieved face": "Besviken men l\u00e4ttad ansikte", + "Frowning face with open mouth": "Rynkar pannan ansikte med \u00f6ppen mun", + "Anguished face": "\u00c5ngest ansikte", + "Fearful face": "R\u00e4dda ansikte", + "Weary face": "Tr\u00f6tta ansikte", + "Sleepy face": "S\u00f6mnig ansikte", + "Tired face": "Tr\u00f6tt ansikte", + "Grimacing face": "Grimaserande ansikte", + "Loudly crying face": "H\u00f6gt gr\u00e5tande ansikte", + "Face with open mouth": "Ansikte med \u00f6ppen mun", + "Hushed face": "D\u00e4mpade ansikte", + "Face with open mouth and cold sweat": "Ansikte med \u00f6ppen mun och kallsvett", + "Face screaming in fear": "Face skriker i skr\u00e4ck", + "Astonished face": "F\u00f6rv\u00e5nad ansikte", + "Flushed face": "Ansiktsrodnad", + "Sleeping face": "Sovande anskite", + "Dizzy face": "Yr ansikte", + "Face without mouth": "Ansikte utan mun", + "Face with medical mask": "Ansikte med medicinsk maskera", + + // Line breaker + "Break": "Ny rad", + + // Math + "Subscript": "Neds\u00e4nkt", + "Superscript": "Upph\u00f6jd", + + // Full screen + "Fullscreen": "Helsk\u00e4rm", + + // Horizontal line + "Insert Horizontal Line": "Infoga horisontell linje", + + // Clear formatting + "Clear Formatting": "Ta bort formatering", + + // Save + "Save": "Spara", + + // Undo, redo + "Undo": "\u00c5ngra", + "Redo": "G\u00f6r om", + + // Select all + "Select All": "Markera allt", + + // Code view + "Code View": "Kodvy", + + // Quote + "Quote": "Citat", + "Increase": "\u00d6ka", + "Decrease": "Minska", + + // Quick Insert + "Quick Insert": "Snabbinfoga", + + // Spcial Characters + "Special Characters": "Specialtecken", + "Latin": "Latin", + "Greek": "Grekisk", + "Cyrillic": "Cyrillic", + "Punctuation": "Skiljetecken", + "Currency": "Valuta", + "Arrows": "Pilar", + "Math": "Matematik", + "Misc": "Övrigt", + + // Print. + "Print": "Skriva ut", + + // Spell Checker. + "Spell Checker": "Stavningskontroll", + + // Help + "Help": "Hjälp", + "Shortcuts": "Genvägar", + "Inline Editor": "Inline editor", + "Show the editor": "Visa redigeraren", + "Common actions": "Vanliga kommandon", + "Copy": "Kopiera", + "Cut": "Klipp ut", + "Paste": "Klistra in", + "Basic Formatting": "Grundläggande formatering", + "Increase quote level": "Öka citatnivå", + "Decrease quote level": "Minska citatnivå", + "Image / Video": "Bild / video", + "Resize larger": "Öka storlek", + "Resize smaller": "Minska storlek", + "Table": "Tabell", + "Select table cell": "Markera tabellcell", + "Extend selection one cell": "Utöka markering en cell", + "Extend selection one row": "Utöka markering en rad", + "Navigation": "Navigering", + "Focus popup / toolbar": "Fokusera popup / verktygsfältet", + "Return focus to previous position": "Byt fokus till föregående plats", + + // Embed.ly + "Embed URL": "Bädda in url", + "Paste in a URL to embed": "Klistra in i en url för att bädda in", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Den inklippta texten kommer från ett Microsoft Word-dokument. Vill du behålla formateringen eller städa upp det?", + "Keep": "Behåll", + "Clean": "Städa upp", + "Word Paste Detected": "Urklipp från Word upptäckt" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/sv.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/uk.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/uk.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/uk.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Ukrainian + */ + +$.FE.LANGUAGE['uk'] = { + translation: { + // Place holder + "Type something": "\u041d\u0430\u043f\u0438\u0448\u0456\u0442\u044c \u0431\u0443\u0434\u044c-\u0449\u043e", + + // Basic formatting + "Bold": "\u0416\u0438\u0440\u043d\u0438\u0439", + "Italic": "\u041a\u0443\u0440\u0441\u0438\u0432", + "Underline": "\u041f\u0456\u0434\u043a\u0440\u0435\u0441\u043b\u0435\u043d\u0438\u0439", + "Strikethrough": "\u0417\u0430\u043a\u0440\u0435\u0441\u043b\u0435\u043d\u0438\u0439", + + // Main buttons + "Insert": "\u0432\u0441\u0442\u0430\u0432\u0438\u0442\u0438", + "Delete": "\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438", + "Cancel": "\u0421\u043a\u0430\u0441\u0443\u0432\u0430\u0442\u0438", + "OK": "OK", + "Back": "\u043d\u0430\u0437\u0430\u0434", + "Remove": "\u0432\u0438\u0434\u0430\u043b\u0438\u0442\u0438", + "More": "\u0431\u0456\u043b\u044c\u0448\u0435", + "Update": "\u043e\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044f", + "Style": "\u0441\u0442\u0438\u043b\u044c", + + // Font + "Font Family": "\u0428\u0440\u0438\u0444\u0442", + "Font Size": "\u0420\u043e\u0437\u043c\u0456\u0440 \u0448\u0440\u0438\u0444\u0442\u0443", + + // Colors + "Colors": "\u043a\u043e\u043b\u044c\u043e\u0440\u0438", + "Background": "\u0424\u043e\u043d", + "Text": "\u0422\u0435\u043a\u0441\u0442", + "HEX Color": "Шістнадцятковий колір", + + // Paragraphs + "Paragraph Format": "\u0424\u043e\u0440\u043c\u0430\u0442", + "Normal": "\u041d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u0438\u0439", + "Code": "\u041a\u043e\u0434", + "Heading 1": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 1", + "Heading 2": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 2", + "Heading 3": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 3", + "Heading 4": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 4", + + // Style + "Paragraph Style": "\u043f\u0443\u043d\u043a\u0442 \u0441\u0442\u0438\u043b\u044c", + "Inline Style": "\u0432\u0431\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u0441\u0442\u0438\u043b\u044c", + + // Alignment + "Align": "\u0412\u0438\u0440\u0456\u0432\u043d\u044e\u0432\u0430\u043d\u043d\u044f", + "Align Left": "\u041f\u043e \u043b\u0456\u0432\u043e\u043c\u0443 \u043a\u0440\u0430\u044e", + "Align Center": "\u041f\u043e \u0446\u0435\u043d\u0442\u0440\u0443", + "Align Right": "\u041f\u043e \u043f\u0440\u0430\u0432\u043e\u043c\u0443 \u043a\u0440\u0430\u044e", + "Align Justify": "\u041f\u043e \u0448\u0438\u0440\u0438\u043d\u0456", + "None": "\u043d\u0456", + + // Lists + "Ordered List": "\u041d\u0443\u043c\u0435\u0440\u043e\u0432\u0430\u043d\u0438\u0439 \u0441\u043f\u0438\u0441\u043e\u043a", + "Unordered List": "\u041c\u0430\u0440\u043a\u043e\u0432\u0430\u043d\u0438\u0439 \u0441\u043f\u0438\u0441\u043e\u043a", + + // Indent + "Decrease Indent": "\u0417\u043c\u0435\u043d\u0448\u0438\u0442\u0438 \u0432\u0456\u0434\u0441\u0442\u0443\u043f", + "Increase Indent": "\u0417\u0431\u0456\u043b\u044c\u0448\u0438\u0442\u0438 \u0432\u0456\u0434\u0441\u0442\u0443\u043f", + + // Links + "Insert Link": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f", + "Open in new tab": "\u0412\u0456\u0434\u043a\u0440\u0438\u0442\u0438 \u0432 \u043d\u043e\u0432\u0456\u0439 \u0432\u043a\u043b\u0430\u0434\u0446\u0456", + "Open Link": "\u0432\u0456\u0434\u043a\u0440\u0438\u0442\u0438 \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f", + "Edit Link": "\u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f", + "Unlink": "\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f", + "Choose Link": "\u0412\u0438\u0431\u0435\u0440\u0456\u0442\u044c \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f", + + // Images + "Insert Image": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f", + "Upload Image": "\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438 \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f", + "By URL": "\u0437\u0430 URL", + "Browse": "\u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434\u0430\u0442\u0438", + "Drop image": "\u041f\u0435\u0440\u0435\u043c\u0456\u0441\u0442\u0456\u0442\u044c \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f \u0441\u044e\u0434\u0438", + "or click": "\u0430\u0431\u043e \u043d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c", + "Manage Images": "\u041a\u0435\u0440\u0443\u0432\u0430\u043d\u043d\u044f \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f\u043c\u0438", + "Loading": "\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043d\u044f", + "Deleting": "\u0432\u0438\u0434\u0430\u043b\u0435\u043d\u043d\u044f", + "Tags": "\u043a\u043b\u044e\u0447\u043e\u0432\u0456 \u0441\u043b\u043e\u0432\u0430", + "Are you sure? Image will be deleted.": "\u0412\u0438 \u0432\u043f\u0435\u0432\u043d\u0435\u043d\u0456? \u0417\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f \u0431\u0443\u0434\u0435 \u0432\u0438\u0434\u0430\u043b\u0435\u043d\u043e.", + "Replace": "\u0437\u0430\u043c\u0456\u043d\u044e\u0432\u0430\u0442\u0438", + "Uploading": "\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043d\u044f", + "Loading image": "\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043d\u044f \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u044c", + "Display": "\u0434\u0438\u0441\u043f\u043b\u0435\u0439", + "Inline": "\u0412 \u043b\u0456\u043d\u0456\u044e", + "Break Text": "\u043f\u0435\u0440\u0435\u0440\u0432\u0430 \u0442\u0435\u043a\u0441\u0442", + "Alternative Text": "\u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u0438\u0439 \u0442\u0435\u043a\u0441\u0442", + "Change Size": "\u0437\u043c\u0456\u043d\u0438\u0442\u0438 \u0440\u043e\u0437\u043c\u0456\u0440", + "Width": "\u0428\u0438\u0440\u0438\u043d\u0430", + "Height": "\u0412\u0438\u0441\u043e\u0442\u0430", + "Something went wrong. Please try again.": "\u0429\u043e\u0441\u044c \u043f\u0456\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a. \u0411\u0443\u0434\u044c \u043b\u0430\u0441\u043a\u0430 \u0441\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0449\u0435 \u0440\u0430\u0437.", + "Image Caption": "Заголовок зображення", + "Advanced Edit": "Розширений редагування", + + // Video + "Insert Video": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0432\u0456\u0434\u0435\u043e", + "Embedded Code": "\u0432\u0431\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0439 \u043a\u043e\u0434", + "Paste in a video URL": "Вставте в відео-URL", + "Drop video": "Перетягніть відео", + "Your browser does not support HTML5 video.": "Ваш браузер не підтримує відео html5.", + "Upload Video": "Завантажити відео", + + // Tables + "Insert Table": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044e", + "Table Header": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u0456", + "Remove Table": "\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0456", + "Table Style": "\u0421\u0442\u0438\u043b\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0456", + "Horizontal Align": "\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0435 \u0432\u0438\u0440\u0456\u0432\u043d\u044e\u0432\u0430\u043d\u043d\u044f", + "Row": "\u0420\u044f\u0434\u043e\u043a", + "Insert row above": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u043f\u043e\u0440\u043e\u0436\u043d\u0456\u0439 \u0440\u044f\u0434\u043e\u043a \u0437\u0432\u0435\u0440\u0445\u0443", + "Insert row below": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u043f\u043e\u0440\u043e\u0436\u043d\u0456\u0439 \u0440\u044f\u0434\u043e\u043a \u0437\u043d\u0438\u0437\u0443", + "Delete row": "\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u0440\u044f\u0434\u043e\u043a", + "Column": "\u0421\u0442\u043e\u0432\u043f\u0435\u0446\u044c", + "Insert column before": "\u0414\u043e\u0434\u0430\u0442\u0438 \u0441\u0442\u043e\u0432\u043f\u0435\u0446\u044c \u043b\u0456\u0432\u043e\u0440\u0443\u0447", + "Insert column after": "\u0414\u043e\u0434\u0430\u0442\u0438 \u0441\u0442\u043e\u0432\u043f\u0435\u0446\u044c \u043f\u0440\u0430\u0432\u043e\u0440\u0443\u0447", + "Delete column": "\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u0441\u0442\u043e\u0432\u043f\u0435\u0446\u044c", + "Cell": "\u041a\u043e\u043c\u0456\u0440\u043a\u0430", + "Merge cells": "\u041e\u0431'\u0454\u0434\u043d\u0430\u0442\u0438 \u043a\u043e\u043c\u0456\u0440\u043a\u0438", + "Horizontal split": "\u0420\u043e\u0437\u0434\u0456\u043b\u0438\u0442\u0438 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e", + "Vertical split": "\u0420\u043e\u0437\u0434\u0456\u043b\u0438\u0442\u0438 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e", + "Cell Background": "\u0441\u0442\u0456\u043b\u044c\u043d\u0438\u043a\u043e\u0432\u0438\u0439 \u0444\u043e\u043d", + "Vertical Align": "\u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u0430 \u0432\u0438\u0440\u0456\u0432\u043d\u044e\u0432\u0430\u043d\u043d\u044f", + "Top": "\u0422\u043e\u043f", + "Middle": "\u0441\u0435\u0440\u0435\u0434\u043d\u0456\u0439", + "Bottom": "\u0434\u043d\u043e", + "Align Top": "\u0417\u0456\u0441\u0442\u0430\u0432\u0442\u0435 \u0432\u0435\u0440\u0445\u043d\u044e", + "Align Middle": "\u0432\u0438\u0440\u0456\u0432\u043d\u044f\u0442\u0438 \u043f\u043e \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0456", + "Align Bottom": "\u0417\u0456\u0441\u0442\u0430\u0432\u0442\u0435 \u043d\u0438\u0436\u043d\u044e", + "Cell Style": "\u0441\u0442\u0438\u043b\u044c \u043a\u043e\u043c\u0456\u0440\u043a\u0438", + + // Files + "Upload File": "\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0438\u0442\u0438 \u0444\u0430\u0439\u043b", + "Drop file": "\u041f\u0435\u0440\u0435\u043c\u0456\u0441\u0442\u0456\u0442\u044c \u0444\u0430\u0439\u043b \u0441\u044e\u0434\u0438", + + // Emoticons + "Emoticons": "\u0441\u043c\u0430\u0439\u043b\u0438", + "Grinning face": "\u043f\u043e\u0441\u043c\u0456\u0445\u043d\u0443\u0432\u0448\u0438\u0441\u044c \u043e\u0441\u043e\u0431\u0430", + "Grinning face with smiling eyes": "\u041f\u043e\u0441\u043c\u0456\u0445\u043d\u0443\u0432\u0448\u0438\u0441\u044c \u043e\u0441\u043e\u0431\u0430 \u0437 \u0443\u0441\u043c\u0456\u0445\u043d\u0435\u043d\u0438\u043c\u0438 \u043e\u0447\u0438\u043c\u0430", + "Face with tears of joy": "\u041e\u0431\u043b\u0438\u0447\u0447\u044f \u0437\u0456 \u0441\u043b\u044c\u043e\u0437\u0430\u043c\u0438 \u0440\u0430\u0434\u043e\u0441\u0442\u0456", + "Smiling face with open mouth": "\u0423\u0441\u043c\u0456\u0445\u043d\u0435\u043d\u0435 \u043e\u0431\u043b\u0438\u0447\u0447\u044f \u0437 \u0432\u0456\u0434\u043a\u0440\u0438\u0442\u0438\u043c \u0440\u043e\u0442\u043e\u043c", + "Smiling face with open mouth and smiling eyes": "\u041f\u043e\u0441\u043c\u0456\u0445\u0430\u044e\u0447\u0438\u0441\u044c \u043e\u0441\u043e\u0431\u0430 \u0437 \u0432\u0456\u0434\u043a\u0440\u0438\u0442\u0438\u043c \u0440\u043e\u0442\u043e\u043c \u0456 ", + "Smiling face with open mouth and cold sweat": "\u041f\u043e\u0441\u043c\u0456\u0445\u0430\u044e\u0447\u0438\u0441\u044c \u043e\u0441\u043e\u0431\u0430 \u0437 \u0432\u0456\u0434\u043a\u0440\u0438\u0442\u0438\u043c \u0440\u043e\u0442\u043e\u043c \u0456 ", + "Smiling face with open mouth and tightly-closed eyes": "\u041f\u043e\u0441\u043c\u0456\u0445\u0430\u044e\u0447\u0438\u0441\u044c \u043e\u0441\u043e\u0431\u0430 \u0437 \u0432\u0456\u0434\u043a\u0440\u0438\u0442\u0438\u043c \u0440\u043e\u0442\u043e\u043c \u0456 \u0449\u0456\u043b\u044c\u043d\u043e \u0437\u0430\u043a\u0440\u0438\u0442\u0438\u043c\u0438 \u043e\u0447\u0438\u043c\u0430", + "Smiling face with halo": "\u041f\u043e\u0441\u043c\u0456\u0445\u0430\u044e\u0447\u0438\u0441\u044c \u043e\u0441\u043e\u0431\u0430 \u0433\u0430\u043b\u043e", + "Smiling face with horns": "\u041f\u043e\u0441\u043c\u0456\u0445\u0430\u044e\u0447\u0438\u0441\u044c \u043e\u0441\u043e\u0431\u0430 \u0437 \u0440\u043e\u0433\u0430\u043c\u0438", + "Winking face": "\u043f\u0456\u0434\u043c\u043e\u0440\u0433\u0443\u044e\u0447\u0438 \u043e\u0441\u043e\u0431\u0430", + "Smiling face with smiling eyes": "\u041f\u043e\u0441\u043c\u0456\u0445\u0430\u044e\u0447\u0438\u0441\u044c \u043e\u0441\u043e\u0431\u0430 \u0437 \u0443\u0441\u043c\u0456\u0445\u043d\u0435\u043d\u0438\u043c\u0438 \u043e\u0447\u0438\u043c\u0430", + "Face savoring delicious food": "\u041e\u0441\u043e\u0431\u0430 \u0441\u043c\u0430\u043a\u0443\u044e\u0447\u0438 \u0441\u043c\u0430\u0447\u043d\u0443 \u0457\u0436\u0443", + "Relieved face": "\u0437\u0432\u0456\u043b\u044c\u043d\u0435\u043d\u043e \u043e\u0441\u043e\u0431\u0430", + "Smiling face with heart-shaped eyes": "\u041f\u043e\u0441\u043c\u0456\u0445\u0430\u044e\u0447\u0438\u0441\u044c \u043e\u0441\u043e\u0431\u0430 \u0443 \u0444\u043e\u0440\u043c\u0456 \u0441\u0435\u0440\u0446\u044f \u043e\u0447\u0438\u043c\u0430", + "Smiling face with sunglasses": "\u0053\u006d\u0069\u006c\u0069\u006e\u0067 \u0066\u0061\u0063\u0065 \u0077\u0069\u0074\u0068 \u0073\u0075\u006e\u0067\u006c\u0061\u0073\u0073\u0065\u0073", + "Smirking face": "\u043f\u043e\u0441\u043c\u0456\u0445\u043d\u0443\u0432\u0448\u0438\u0441\u044c \u043e\u0441\u043e\u0431\u0430", + "Neutral face": "\u0437\u0432\u0438\u0447\u0430\u0439\u043d\u0438\u0439 \u043e\u0441\u043e\u0431\u0430", + "Expressionless face": "\u043d\u0435\u0432\u0438\u0440\u0430\u0437\u043d\u0456 \u043e\u0431\u043b\u0438\u0447\u0447\u044f", + "Unamused face": "\u0055\u006e\u0061\u006d\u0075\u0073\u0065\u0064 \u043e\u0441\u043e\u0431\u0430", + "Face with cold sweat": "\u041e\u0441\u043e\u0431\u0430 \u0437 \u0445\u043e\u043b\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u0443", + "Pensive face": "\u0437\u0430\u043c\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u043e\u0441\u043e\u0431\u0430", + "Confused face": "\u043f\u043b\u0443\u0442\u0430\u0442\u0438 \u043e\u0441\u043e\u0431\u0430", + "Confounded face": "\u043d\u0435\u0445\u0430\u0439 \u043f\u043e\u0441\u043e\u0440\u043e\u043c\u043b\u044f\u0442\u044c\u0441\u044f \u043e\u0441\u043e\u0431\u0430", + "Kissing face": "\u043f\u043e\u0446\u0456\u043b\u0443\u043d\u043a\u0438 \u043e\u0441\u043e\u0431\u0430", + "Face throwing a kiss": "\u041e\u0441\u043e\u0431\u0430 \u043a\u0438\u0434\u0430\u043b\u0438 \u043f\u043e\u0446\u0456\u043b\u0443\u043d\u043e\u043a", + "Kissing face with smiling eyes": "\u041f\u043e\u0446\u0456\u043b\u0443\u043d\u043a\u0438 \u043e\u0441\u043e\u0431\u0430 \u0437 \u0443\u0441\u043c\u0456\u0445\u043d\u0435\u043d\u0438\u043c\u0438 \u043e\u0447\u0438\u043c\u0430", + "Kissing face with closed eyes": "\u041f\u043e\u0446\u0456\u043b\u0443\u043d\u043a\u0438 \u043e\u0431\u043b\u0438\u0447\u0447\u044f \u0437 \u0437\u0430\u043f\u043b\u044e\u0449\u0435\u043d\u0438\u043c\u0438 \u043e\u0447\u0438\u043c\u0430", + "Face with stuck out tongue": "\u041e\u0431\u043b\u0438\u0447\u0447\u044f \u0437 \u0441\u0442\u0438\u0440\u0447\u0430\u043b\u0438 \u044f\u0437\u0438\u043a", + "Face with stuck out tongue and winking eye": "\u041e\u0431\u043b\u0438\u0447\u0447\u044f \u0437 \u0441\u0442\u0438\u0440\u0447\u0430\u043b\u0438 \u044f\u0437\u0438\u043a\u0430 \u0456 \u0410\u043d\u0456\u043c\u043e\u0432\u0430\u043d\u0435 \u043e\u0447\u0435\u0439", + "Face with stuck out tongue and tightly-closed eyes": "\u041e\u0431\u043b\u0438\u0447\u0447\u044f \u0437 \u0441\u0442\u0438\u0440\u0447\u0430\u043b\u0438 \u044f\u0437\u0438\u043a\u0430 \u0456 \u0449\u0456\u043b\u044c\u043d\u043e \u0437\u0430\u043a\u0440\u0438\u0442\u0456 \u043e\u0447\u0456", + "Disappointed face": "\u0440\u043e\u0437\u0447\u0430\u0440\u043e\u0432\u0430\u043d\u0438\u0439 \u043e\u0441\u043e\u0431\u0430", + "Worried face": "\u0441\u0442\u0443\u0440\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043e\u0441\u043e\u0431\u0430", + "Angry face": "\u0437\u043b\u0438\u0439 \u043e\u0441\u043e\u0431\u0430", + "Pouting face": "\u043f\u0443\u0445\u043a\u0456 \u043e\u0441\u043e\u0431\u0430", + "Crying face": "\u043f\u043b\u0430\u0447 \u043e\u0441\u043e\u0431\u0430", + "Persevering face": "\u043d\u0430\u043f\u043e\u043b\u0435\u0433\u043b\u0438\u0432\u0430 \u043e\u0441\u043e\u0431\u0430", + "Face with look of triumph": "\u041e\u0441\u043e\u0431\u0430 \u0437 \u0432\u0438\u0434\u043e\u043c \u0442\u0440\u0456\u0443\u043c\u0444\u0443", + "Disappointed but relieved face": "\u0420\u043e\u0437\u0447\u0430\u0440\u043e\u0432\u0430\u043d\u0438\u0439\u002c \u0430\u043b\u0435 \u0437\u0432\u0456\u043b\u044c\u043d\u0435\u043d\u0438\u0439 \u043e\u0441\u043e\u0431\u0430", + "Frowning face with open mouth": "\u041d\u0430\u0441\u0443\u043f\u0438\u0432\u0448\u0438\u0441\u044c \u043e\u0441\u043e\u0431\u0430 \u0437 \u0432\u0456\u0434\u043a\u0440\u0438\u0442\u0438\u043c \u0440\u043e\u0442\u043e\u043c", + "Anguished face": "\u0431\u043e\u043b\u0456\u0441\u043d\u0438\u0439 \u043e\u0441\u043e\u0431\u0430", + "Fearful face": "\u043f\u043e\u0431\u043e\u044e\u044e\u0447\u0438\u0441\u044c \u043e\u0441\u043e\u0431\u0430", + "Weary face": "\u0432\u0442\u043e\u043c\u043b\u0435\u043d\u0438\u0439 \u043e\u0441\u043e\u0431\u0430", + "Sleepy face": "сонне обличчя", + "Tired face": "\u0432\u0442\u043e\u043c\u0438\u043b\u0438\u0441\u044f \u043e\u0441\u043e\u0431\u0430", + "Grimacing face": "\u0433\u0440\u0438\u043c\u0430\u0441\u0443\u044e\u0447\u0438 \u043e\u0441\u043e\u0431\u0430", + "Loudly crying face": "\u004c\u006f\u0075\u0064\u006c\u0079 \u0063\u0072\u0079\u0069\u006e\u0067 \u0066\u0061\u0063\u0065", + "Face with open mouth": "\u041e\u0441\u043e\u0431\u0430 \u0437 \u0432\u0456\u0434\u043a\u0440\u0438\u0442\u0438\u043c \u0440\u043e\u0442\u043e\u043c", + "Hushed face": "\u0437\u0430\u0442\u0438\u0445 \u043e\u0441\u043e\u0431\u0430", + "Face with open mouth and cold sweat": "\u041e\u0441\u043e\u0431\u0430 \u0437 \u0432\u0456\u0434\u043a\u0440\u0438\u0442\u0438\u043c \u0440\u043e\u0442\u043e\u043c \u0456 \u0445\u043e\u043b\u043e\u0434\u043d\u0438\u0439 \u043f\u0456\u0442", + "Face screaming in fear": "\u041e\u0441\u043e\u0431\u0430 \u043a\u0440\u0438\u0447\u0430\u0442\u0438 \u0432 \u0441\u0442\u0440\u0430\u0445\u0443", + "Astonished face": "\u0437\u0434\u0438\u0432\u043e\u0432\u0430\u043d\u0438\u0439 \u043e\u0441\u043e\u0431\u0430", + "Flushed face": "\u043f\u0440\u0438\u043f\u043b\u0438\u0432 \u043a\u0440\u043e\u0432\u0456 \u0434\u043e \u043e\u0431\u043b\u0438\u0447\u0447\u044f", + "Sleeping face": "\u0421\u043f\u043b\u044f\u0447\u0430 \u043e\u0441\u043e\u0431\u0430", + "Dizzy face": "\u0414\u0456\u0437\u0437\u0456 \u043e\u0441\u043e\u0431\u0430", + "Face without mouth": "\u041e\u0441\u043e\u0431\u0430 \u0431\u0435\u0437 \u0440\u043e\u0442\u0430", + "Face with medical mask": "\u041e\u0441\u043e\u0431\u0430 \u0437 \u043c\u0435\u0434\u0438\u0447\u043d\u043e\u044e \u043c\u0430\u0441\u043a\u043e\u044e", + + // Line breaker + "Break": "\u0437\u043b\u043e\u043c\u0438\u0442\u0438", + + // Math + "Subscript": "\u043f\u0456\u0434\u0440\u044f\u0434\u043a\u043e\u0432\u0438\u0439", + "Superscript": "\u043d\u0430\u0434\u0440\u044f\u0434\u043a\u043e\u0432\u0438\u0439 \u0441\u0438\u043c\u0432\u043e\u043b", + + // Full screen + "Fullscreen": "\u043f\u043e\u0432\u043d\u043e\u0435\u043a\u0440\u0430\u043d\u043d\u0438\u0439 \u0440\u0435\u0436\u0438\u043c", + + // Horizontal line + "Insert Horizontal Line": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0443 \u043b\u0456\u043d\u0456\u044e", + + // Clear formatting + "Clear Formatting": "\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0443\u0432\u0430\u043d\u043d\u044f", + + // Save + "Save": "\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438", + + // Undo, redo + "Undo": "\u0421\u043a\u0430\u0441\u0443\u0432\u0430\u0442\u0438", + "Redo": "\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0438", + + // Select all + "Select All": "\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0432\u0441\u0435", + + // Code view + "Code View": "\u041f\u0435\u0440\u0435\u0433\u043b\u044f\u0434 \u043a\u043e\u0434\u0443", + + // Quote + "Quote": "\u0426\u0438\u0442\u0430\u0442\u0430", + "Increase": "\u0417\u0431\u0456\u043b\u044c\u0448\u0438\u0442\u0438", + "Decrease": "\u0437\u043d\u0438\u0436\u0435\u043d\u043d\u044f", + + // Quick Insert + "Quick Insert": "\u0428\u0432\u0438\u0434\u043a\u0438\u0439 \u0432\u0441\u0442\u0430\u0432\u043a\u0430", + + // Spcial Characters + "Special Characters": "Спеціальні символи", + "Latin": "Латинський", + "Greek": "Грецький", + "Cyrillic": "Кирилиця", + "Punctuation": "Пунктуація", + "Currency": "Валюта", + "Arrows": "Стріли", + "Math": "Математика", + "Misc": "Різне", + + // Print. + "Print": "Друкувати", + + // Spell Checker. + "Spell Checker": "Перевірка орфографії", + + // Help + "Help": "Допомогти", + "Shortcuts": "Ярлики", + "Inline Editor": "Вбудований редактор", + "Show the editor": "Показати редактору", + "Common actions": "Спільні дії", + "Copy": "Скопіювати", + "Cut": "Вирізати", + "Paste": "Вставити", + "Basic Formatting": "Основне форматування", + "Increase quote level": "Збільшити рівень цитування", + "Decrease quote level": "Знизити рівень цитування", + "Image / Video": "Зображення / відео", + "Resize larger": "Змінити розмір більше", + "Resize smaller": "Змінити розмір менше", + "Table": "Стіл", + "Select table cell": "Виберіть комірку таблиці", + "Extend selection one cell": "Продовжити виділення однієї комірки", + "Extend selection one row": "Продовжити виділення одного рядка", + "Navigation": "Навігація", + "Focus popup / toolbar": "Фокус спливаюче / панель інструментів", + "Return focus to previous position": "Поверніть фокус на попередню позицію", + + // Embed.ly + "Embed URL": "Вставити URL-адресу", + "Paste in a URL to embed": "Вставте в url, щоб вставити", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Вставлений вміст надходить з документу Microsoft Word. ви хочете зберегти формат чи очистити його?", + "Keep": "Тримати", + "Clean": "Чистий", + "Word Paste Detected": "Слово паста виявлено" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/uk.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/bs.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/bs.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/bs.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Bosnian + */ + +$.FE.LANGUAGE['bs'] = { + translation: { + // Place holder + "Type something": "Ukucajte ne\u0161tp", + + // Basic formatting + "Bold": "Bold", + "Italic": "Italic", + "Underline": "Podvu\u010deno", + "Strikethrough": "Precrtano", + + // Main buttons + "Insert": "Umetni", + "Delete": "Obri\u0161i", + "Cancel": "Otka\u017ei", + "OK": "U redu", + "Back": "Natrag", + "Remove": "Ukloni", + "More": "Vi\u0161e", + "Update": "A\u017euriranje", + "Style": "Stil", + + // Font + "Font Family": "Odaberi font", + "Font Size": "Veli\u010dina fonta", + + // Colors + "Colors": "Boje", + "Background": "Pozadine", + "Text": "Teksta", + "HEX Color": "Hex boje", + + // Paragraphs + "Paragraph Format": "Paragraf formatu", + "Normal": "Normalno", + "Code": "Izvorni kod", + "Heading 1": "Naslov 1", + "Heading 2": "Naslov 2", + "Heading 3": "Naslov 3", + "Heading 4": "Naslov 4", + + // Style + "Paragraph Style": "Paragraf stil", + "Inline Style": "Inline stil", + + // Alignment + "Alignment": "Poravnanje", + "Align Left": "Poravnaj lijevo", + "Align Center": "Poravnaj po sredini", + "Align Right": "Poravnaj desno", + "Align Justify": "Obostrano poravnanje", + "None": "Nijedan", + + // Lists + "Ordered List": "Ure\u0111ena lista", + "Unordered List": "Nesre\u0111ene lista", + + // Indent + "Decrease Indent": "Smanjenje alineja", + "Increase Indent": "Pove\u0107anje alineja", + + // Links + "Insert Link": "Umetni link", + "Open in new tab": "Otvori u novom prozoru", + "Open Link": "Otvori link", + "Edit Link": "Uredi link", + "Unlink": "Ukloni link", + "Choose Link": "Izabrati link", + + // Images + "Insert Image": "Umetni sliku", + "Upload Image": "Upload sliku", + "By URL": "Preko URL", + "Browse": "Pregledaj", + "Drop image": "Izbaci sliku", + "or click": "ili odaberi", + "Manage Images": "Upravljanje ilustracijama", + "Loading": "Koji tovari", + "Deleting": "Brisanje", + "Tags": "Oznake", + "Are you sure? Image will be deleted.": "Da li ste sigurni da \u017eelite da obri\u0161ete ovu ilustraciju?", + "Replace": "Zamijenite", + "Uploading": "Uploading", + "Loading image": "Koji tovari sliku", + "Display": "Prikaz", + "Inline": "Inline", + "Break Text": "Break tekst", + "Alternative Text": "Alternativna tekst", + "Change Size": "Promijeni veli\u010dinu", + "Width": "\u0161irina", + "Height": "Visina", + "Something went wrong. Please try again.": "Ne\u0161to je po\u0161lo po zlu. Molimo vas da poku\u0161ate ponovo.", + "Image Caption": "Caption slika", + "Advanced Edit": "Napredna izmjena", + + // Video + "Insert Video": "Umetni video", + "Embedded Code": "Embedded kod", + "Paste in a video URL": "Nalepite u video url", + "Drop video": "Drop video", + "Your browser does not support HTML5 video.": "Vaš pretraživač ne podržava html5 video.", + "Upload Video": "Otpremite video", + + // Tables + "Insert Table": "Umetni tabelu", + "Table Header": "Tabelu zaglavlja", + "Remove Table": "Uklonite tabelu", + "Table Style": "Tabela stil", + "Horizontal Align": "Horizontalno poravnaj", + "Row": "Red", + "Insert row above": "Umetni red iznad", + "Insert row below": "Umetni red ispod", + "Delete row": "Obri\u0161i red", + "Column": "Kolona", + "Insert column before": "Umetni kolonu prije", + "Insert column after": "Umetni kolonu poslije", + "Delete column": "Obri\u0161i kolonu", + "Cell": "\u0106elija", + "Merge cells": "Spoji \u0107elija", + "Horizontal split": "Horizontalno razdvajanje polja", + "Vertical split": "Vertikalno razdvajanje polja", + "Cell Background": "\u0106elija pozadini", + "Vertical Align": "Vertikalni poravnaj", + "Top": "Vrh", + "Middle": "Srednji", + "Bottom": "Dno", + "Align Top": "Poravnaj vrh", + "Align Middle": "Poravnaj srednji", + "Align Bottom": "Poravnaj dno", + "Cell Style": "\u0106elija stil", + + // Files + "Upload File": "Upload datoteke", + "Drop file": "Drop datoteke", + + // Emoticons + "Emoticons": "Emotikona", + "Grinning face": "Cere\u0107i lice", + "Grinning face with smiling eyes": "Cere\u0107i lice nasmijana o\u010dima", + "Face with tears of joy": "Lice sa suze radosnice", + "Smiling face with open mouth": "Nasmijana lica s otvorenih usta", + "Smiling face with open mouth and smiling eyes": "Nasmijana lica s otvorenih usta i nasmijana o\u010di", + "Smiling face with open mouth and cold sweat": "Nasmijana lica s otvorenih usta i hladan znoj", + "Smiling face with open mouth and tightly-closed eyes": "Nasmijana lica s otvorenih usta i \u010dvrsto-zatvorenih o\u010diju", + "Smiling face with halo": "Nasmijana lica sa halo", + "Smiling face with horns": "Nasmijana lica s rogovima", + "Winking face": "Namigivanje lice", + "Smiling face with smiling eyes": "Nasmijana lica sa nasmijana o\u010dima", + "Face savoring delicious food": "Suo\u010davaju u\u017eivaju\u0107i ukusna hrana", + "Relieved face": "Laknulo lice", + "Smiling face with heart-shaped eyes": "Nasmijana lica sa obliku srca o\u010di", + "Smiling face with sunglasses": "Nasmijana lica sa sun\u010dane nao\u010dare", + "Smirking face": "Namr\u0161tena lica", + "Neutral face": "Neutral lice", + "Expressionless face": "Bezizra\u017eajno lice", + "Unamused face": "Nije zabavno lice", + "Face with cold sweat": "Lice s hladnim znojem", + "Pensive face": "Zami\u0161ljen lice", + "Confused face": "Zbunjen lice", + "Confounded face": "Uzbu\u0111en lice", + "Kissing face": "Ljubakanje lice", + "Face throwing a kiss": "Suo\u010davaju bacanje poljubac", + "Kissing face with smiling eyes": "Ljubljenje lice nasmijana o\u010dima", + "Kissing face with closed eyes": "Ljubljenje lice sa zatvorenim o\u010dima", + "Face with stuck out tongue": "Lice sa ispru\u017eio jezik", + "Face with stuck out tongue and winking eye": "Lice sa ispru\u017eio jezik i trep\u0107u\u0107e \u0107e oko", + "Face with stuck out tongue and tightly-closed eyes": "Lice sa ispru\u017eio jezik i \u010dvrsto zatvorene o\u010di", + "Disappointed face": "Razo\u010daran lice", + "Worried face": "Zabrinuti lice", + "Angry face": "Ljut lice", + "Pouting face": "Napu\u0107enim lice", + "Crying face": "Plakanje lice", + "Persevering face": "Istrajan lice", + "Face with look of triumph": "Lice s pogledom trijumfa", + "Disappointed but relieved face": "Razo\u010daran, ali olak\u0161anje lice", + "Frowning face with open mouth": "Namr\u0161tiv\u0161i lice s otvorenih usta", + "Anguished face": "Bolnom lice", + "Fearful face": "Pla\u0161ljiv lice", + "Weary face": "Umoran lice", + "Sleepy face": "Pospan lice", + "Tired face": "Umorno lice", + "Grimacing face": "Grimase lice", + "Loudly crying face": "Glasno pla\u010de lice", + "Face with open mouth": "Lice s otvorenih usta", + "Hushed face": "Smiren lice", + "Face with open mouth and cold sweat": "Lice s otvorenih usta i hladan znoj", + "Face screaming in fear": "Suo\u010davaju vri\u0161ti u strahu", + "Astonished face": "Zapanjen lice", + "Flushed face": "Rumeno lice", + "Sleeping face": "Usnulo lice", + "Dizzy face": "O\u0161amu\u0107en lice", + "Face without mouth": "Lice bez usta", + "Face with medical mask": "Lice sa medicinskom maskom", + + // Line breaker + "Break": "Slomiti", + + // Math + "Subscript": "Potpisan", + "Superscript": "Natpis", + + // Full screen + "Fullscreen": "Preko cijelog zaslona", + + // Horizontal line + "Insert Horizontal Line": "Umetni vodoravna liniju", + + // Clear formatting + "Clear Formatting": "Izbrisati formatiranje", + + // Save + "Save":"Spremi", + + // Undo, redo + "Undo": "Korak nazad", + "Redo": "Korak naprijed", + + // Select all + "Select All": "Ozna\u010di sve", + + // Code view + "Code View": "Kod pogled", + + // Quote + "Quote": "Citat", + "Increase": "Pove\u0107ati", + "Decrease": "Smanjenje", + + // Quick Insert + "Quick Insert": "Brzo umetak", + + // Spcial Characters + "Special Characters": "Posebni znakovi", + "Latin": "Latin", + "Greek": "Greek", + "Cyrillic": "Ćirilično", + "Punctuation": "Interpunkcija", + "Currency": "Valuta", + "Arrows": "Strelice", + "Math": "Matematika", + "Misc": "Misc", + + // Print. + "Print": "Print", + + // Spell Checker. + "Spell Checker": "Proveru pravopisa", + + // Help + "Help": "Pomoć", + "Shortcuts": "Prečice", + "Inline Editor": "Inline editor", + "Show the editor": "Pokaži urednika", + "Common actions": "Zajedničke akcije", + "Copy": "Kopiraj", + "Cut": "Cut", + "Paste": "Paste", + "Basic Formatting": "Osnovno oblikovanje", + "Increase quote level": "Povećati cijeni", + "Decrease quote level": "Smanjiti nivo ponude", + "Image / Video": "Slika / video", + "Resize larger": "Veće veličine", + "Resize smaller": "Manja promjena veličine", + "Table": "Stol", + "Select table cell": "Izaberite ćeliju tablice", + "Extend selection one cell": "Produžiti izbor jedne ćelije", + "Extend selection one row": "Produžiti izbor jedan red", + "Navigation": "Navigacija", + "Focus popup / toolbar": "Focus popup / toolbar", + "Return focus to previous position": "Vratite fokus na prethodnu poziciju", + + // Embed.ly + "Embed URL": "Ugraditi url", + "Paste in a URL to embed": "Paste u URL adresu za ugradnju", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Nalepeni sadržaj dolazi iz Microsoft Word dokumenta. da li želite da zadržite format ili da ga očistite?", + "Keep": "Zadržati", + "Clean": "Čist", + "Word Paste Detected": "Otkrivena je slovna reč" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/bs.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/ar.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/ar.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/ar.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Arabic + */ + +$.FE.LANGUAGE['ar'] = { + translation: { + // Place holder + "Type something": "\u0627\u0643\u062a\u0628 \u0634\u064a\u0626\u0627", + + // Basic formatting + "Bold": "\u063a\u0627\u0645\u0642", + "Italic": "\u0645\u0627\u0626\u0644", + "Underline": "\u062a\u0633\u0637\u064a\u0631", + "Strikethrough": "\u064a\u062a\u0648\u0633\u0637 \u062e\u0637", + + // Main buttons + "Insert": "\u0625\u062f\u0631\u0627\u062c", + "Delete": "\u062d\u0630\u0641", + "Cancel": "\u0625\u0644\u063a\u0627\u0621", + "OK": "\u0645\u0648\u0627\u0641\u0642", + "Back": "\u0638\u0647\u0631", + "Remove": "\u0625\u0632\u0627\u0644\u0629", + "More": "\u0623\u0643\u062b\u0631", + "Update": "\u0627\u0644\u062a\u062d\u062f\u064a\u062b", + "Style": "\u0623\u0633\u0644\u0648\u0628", + + // Font + "Font Family": "\u0639\u0627\u0626\u0644\u0629 \u0627\u0644\u062e\u0637", + "Font Size": "\u062d\u062c\u0645 \u0627\u0644\u062e\u0637", + + // Colors + "Colors": "\u0627\u0644\u0623\u0644\u0648\u0627\u0646", + "Background": "\u0627\u0644\u062e\u0644\u0641\u064a\u0629", + "Text": "\u0627\u0644\u0646\u0635", + "HEX Color": "عرافة اللون", + + // Paragraphs + "Paragraph Format": "\u062a\u0646\u0633\u064a\u0642 \u0627\u0644\u0641\u0642\u0631\u0629", + "Normal": "\u0637\u0628\u064a\u0639\u064a", + "Code": "\u0643\u0648\u062f", + "Heading 1": "\u0627\u0644\u0639\u0646\u0627\u0648\u064a\u0646 1", + "Heading 2": "\u0627\u0644\u0639\u0646\u0627\u0648\u064a\u0646 2", + "Heading 3": "\u0627\u0644\u0639\u0646\u0627\u0648\u064a\u0646 3", + "Heading 4": "\u0627\u0644\u0639\u0646\u0627\u0648\u064a\u0646 4", + + // Style + "Paragraph Style": "\u0646\u0645\u0637 \u0627\u0644\u0641\u0642\u0631\u0629", + "Inline Style": "\u0627\u0644\u0646\u0645\u0637 \u0627\u0644\u0645\u0636\u0645\u0646", + + // Alignment + "Align": "\u0645\u062d\u0627\u0630\u0627\u0629", + "Align Left": "\u0645\u062d\u0627\u0630\u0627\u0629 \u0627\u0644\u0646\u0635 \u0644\u0644\u064a\u0633\u0627\u0631", + "Align Center": "\u062a\u0648\u0633\u064a\u0637", + "Align Right": "\u0645\u062d\u0627\u0630\u0627\u0629 \u0627\u0644\u0646\u0635 \u0644\u0644\u064a\u0645\u064a\u0646", + "Align Justify": "\u0636\u0628\u0637", + "None": "\u0644\u0627 \u0634\u064a\u0621", + + // Lists + "Ordered List": "\u0642\u0627\u0626\u0645\u0629 \u0645\u0631\u062a\u0628\u0629", + "Unordered List": "\u0642\u0627\u0626\u0645\u0629 \u063a\u064a\u0631 \u0645\u0631\u062a\u0628\u0629", + + // Indent + "Decrease Indent": "\u0627\u0646\u062e\u0641\u0627\u0636 \u0627\u0644\u0645\u0633\u0627\u0641\u0629 \u0627\u0644\u0628\u0627\u062f\u0626\u0629", + "Increase Indent": "\u0632\u064a\u0627\u062f\u0629 \u0627\u0644\u0645\u0633\u0627\u0641\u0629 \u0627\u0644\u0628\u0627\u062f\u0626\u0629", + + // Links + "Insert Link": "\u0625\u062f\u0631\u0627\u062c \u0631\u0627\u0628\u0637", + "Open in new tab": "\u0641\u062a\u062d \u0641\u064a \u0639\u0644\u0627\u0645\u0629 \u062a\u0628\u0648\u064a\u0628 \u062c\u062f\u064a\u062f\u0629", + "Open Link": "\u0627\u0641\u062a\u062d \u0627\u0644\u0631\u0627\u0628\u0637", + "Edit Link": "\u0627\u0631\u062a\u0628\u0627\u0637 \u062a\u062d\u0631\u064a\u0631", + "Unlink": "\u062d\u0630\u0641 \u0627\u0644\u0631\u0627\u0628\u0637", + "Choose Link": "\u0627\u062e\u062a\u064a\u0627\u0631 \u0635\u0644\u0629", + + // Images + "Insert Image": "\u0625\u062f\u0631\u0627\u062c \u0635\u0648\u0631\u0629", + "Upload Image": "\u062a\u062d\u0645\u064a\u0644 \u0635\u0648\u0631\u0629", + "By URL": "\u0628\u0648\u0627\u0633\u0637\u0629 URL", + "Browse": "\u062a\u0635\u0641\u062d", + "Drop image": "\u0625\u0633\u0642\u0627\u0637 \u0635\u0648\u0631\u0629", + "or click": "\u0623\u0648 \u0627\u0646\u0642\u0631 \u0641\u0648\u0642", + "Manage Images": "\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0635\u0648\u0631", + "Loading": "\u062a\u062d\u0645\u064a\u0644", + "Deleting": "\u062d\u0630\u0641", + "Tags": "\u0627\u0644\u0643\u0644\u0645\u0627\u062a", + "Are you sure? Image will be deleted.": "\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f\u061f \u0633\u064a\u062a\u0645 \u062d\u0630\u0641 \u0627\u0644\u0635\u0648\u0631\u0629\u002e", + "Replace": "\u0627\u0633\u062a\u0628\u062f\u0627\u0644", + "Uploading": "\u062a\u062d\u0645\u064a\u0644", + "Loading image": "\u0635\u0648\u0631\u0629 \u062a\u062d\u0645\u064a\u0644", + "Display": "\u0639\u0631\u0636", + "Inline": "\u0641\u064a \u062e\u0637", + "Break Text": "\u0646\u0635 \u0627\u0633\u062a\u0631\u0627\u062d\u0629", + "Alternative Text": "\u0646\u0635 \u0628\u062f\u064a\u0644", + "Change Size": "\u062a\u063a\u064a\u064a\u0631 \u062d\u062c\u0645", + "Width": "\u0639\u0631\u0636", + "Height": "\u0627\u0631\u062a\u0641\u0627\u0639", + "Something went wrong. Please try again.": ".\u062d\u062f\u062b \u062e\u0637\u0623 \u0645\u0627. \u062d\u0627\u0648\u0644 \u0645\u0631\u0629 \u0627\u062e\u0631\u0649", + "Image Caption": "تعليق على الصورة", + "Advanced Edit": "تعديل متقدم", + + // Video + "Insert Video": "\u0625\u062f\u0631\u0627\u062c \u0641\u064a\u062f\u064a\u0648", + "Embedded Code": "\u0627\u0644\u062a\u0639\u0644\u064a\u0645\u0627\u062a \u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0629 \u0627\u0644\u0645\u0636\u0645\u0646\u0629", + "Paste in a video URL": "لصق في عنوان ورل للفيديو", + "Drop video": "انخفاض الفيديو", + "Your browser does not support HTML5 video.": "متصفحك لا يدعم فيديو HTML5.", + "Upload Video": "رفع فيديو", + + // Tables + "Insert Table": "\u0625\u062f\u0631\u0627\u062c \u062c\u062f\u0648\u0644", + "Table Header": "\u0631\u0623\u0633 \u0627\u0644\u062c\u062f\u0648\u0644", + "Remove Table": "\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u062c\u062f\u0648\u0644", + "Table Style": "\u0646\u0645\u0637 \u0627\u0644\u062c\u062f\u0648\u0644", + "Horizontal Align": "\u0645\u062d\u0627\u0630\u0627\u0629 \u0623\u0641\u0642\u064a\u0629", + "Row": "\u0635\u0641", + "Insert row above": "\u0625\u062f\u0631\u0627\u062c \u0635\u0641 \u0644\u0644\u0623\u0639\u0644\u0649", + "Insert row below": "\u0625\u062f\u0631\u0627\u062c \u0635\u0641 \u0644\u0644\u0623\u0633\u0641\u0644", + "Delete row": "\u062d\u0630\u0641 \u0635\u0641", + "Column": "\u0639\u0645\u0648\u062f", + "Insert column before": "\u0625\u062f\u0631\u0627\u062c \u0639\u0645\u0648\u062f \u0644\u0644\u064a\u0633\u0627\u0631", + "Insert column after": "\u0625\u062f\u0631\u0627\u062c \u0639\u0645\u0648\u062f \u0644\u0644\u064a\u0645\u064a\u0646", + "Delete column": "\u062d\u0630\u0641 \u0639\u0645\u0648\u062f", + "Cell": "\u062e\u0644\u064a\u0629", + "Merge cells": "\u062f\u0645\u062c \u062e\u0644\u0627\u064a\u0627", + "Horizontal split": "\u0627\u0646\u0642\u0633\u0627\u0645 \u0623\u0641\u0642\u064a", + "Vertical split": "\u0627\u0644\u0627\u0646\u0642\u0633\u0627\u0645 \u0627\u0644\u0639\u0645\u0648\u062f\u064a", + "Cell Background": "\u062e\u0644\u0641\u064a\u0629 \u0627\u0644\u062e\u0644\u064a\u0629", + "Vertical Align": "\u0645\u062d\u0627\u0630\u0627\u0629 \u0639\u0645\u0648\u062f\u064a\u0629", + "Top": "\u0623\u0639\u0644\u0649", + "Middle": "\u0648\u0633\u0637", + "Bottom": "\u0623\u0633\u0641\u0644", + "Align Top": "\u0645\u062d\u0627\u0630\u0627\u0629 \u0623\u0639\u0644\u0649", + "Align Middle": "\u0645\u062d\u0627\u0630\u0627\u0629 \u0648\u0633\u0637", + "Align Bottom": "\u0645\u062d\u0627\u0630\u0627\u0629 \u0627\u0644\u0623\u0633\u0641\u0644", + "Cell Style": "\u0646\u0645\u0637 \u0627\u0644\u062e\u0644\u064a\u0629", + + // Files + "Upload File": "\u062a\u062d\u0645\u064a\u0644 \u0627\u0644\u0645\u0644\u0641", + "Drop file": "\u0627\u0646\u062e\u0641\u0627\u0636 \u0627\u0644\u0645\u0644\u0641", + + // Emoticons + "Emoticons": "\u0627\u0644\u0645\u0634\u0627\u0639\u0631", + "Grinning face": "\u064a\u0643\u0634\u0631 \u0648\u062c\u0647\u0647", + "Grinning face with smiling eyes": "\u0645\u0628\u062a\u0633\u0645\u0627 \u0648\u062c\u0647 \u0645\u0639 \u064a\u0628\u062a\u0633\u0645 \u0627\u0644\u0639\u064a\u0646", + "Face with tears of joy": "\u0648\u062c\u0647 \u0645\u0639 \u062f\u0645\u0648\u0639 \u0627\u0644\u0641\u0631\u062d", + "Smiling face with open mouth": "\u0627\u0644\u0648\u062c\u0647 \u0627\u0644\u0645\u0628\u062a\u0633\u0645 \u0645\u0639 \u0641\u062a\u062d \u0627\u0644\u0641\u0645", + "Smiling face with open mouth and smiling eyes": "\u0627\u0644\u0648\u062c\u0647 \u0627\u0644\u0645\u0628\u062a\u0633\u0645 \u0645\u0639 \u0641\u062a\u062d \u0627\u0644\u0641\u0645 \u0648\u0627\u0644\u0639\u064a\u0646\u064a\u0646 \u064a\u0628\u062a\u0633\u0645", + "Smiling face with open mouth and cold sweat": "\u0627\u0644\u0648\u062c\u0647 \u0627\u0644\u0645\u0628\u062a\u0633\u0645 \u0645\u0639 \u0641\u062a\u062d \u0627\u0644\u0641\u0645 \u0648\u0627\u0644\u0639\u0631\u0642 \u0627\u0644\u0628\u0627\u0631\u062f", + "Smiling face with open mouth and tightly-closed eyes": "\u0627\u0644\u0648\u062c\u0647 \u0627\u0644\u0645\u0628\u062a\u0633\u0645 \u0645\u0639 \u0641\u062a\u062d \u0627\u0644\u0641\u0645 \u0648\u0627\u0644\u0639\u064a\u0646\u064a\u0646 \u0645\u063a\u0644\u0642\u0629 \u0628\u0625\u062d\u0643\u0627\u0645", + "Smiling face with halo": "\u0627\u0644\u0648\u062c\u0647 \u0627\u0644\u0645\u0628\u062a\u0633\u0645 \u0645\u0639 \u0647\u0627\u0644\u0629", + "Smiling face with horns": "\u0627\u0644\u0648\u062c\u0647 \u0627\u0644\u0645\u0628\u062a\u0633\u0645 \u0628\u0642\u0631\u0648\u0646", + "Winking face": "\u0627\u0644\u063a\u0645\u0632 \u0648\u062c\u0647", + "Smiling face with smiling eyes": "\u064a\u0628\u062a\u0633\u0645 \u0648\u062c\u0647 \u0645\u0639 \u0639\u064a\u0648\u0646 \u062a\u0628\u062a\u0633\u0645", + "Face savoring delicious food": "\u064a\u0648\u0627\u062c\u0647 \u0644\u0630\u064a\u0630 \u0627\u0644\u0645\u0630\u0627\u0642 \u0644\u0630\u064a\u0630 \u0627\u0644\u0637\u0639\u0627\u0645", + "Relieved face": "\u0648\u062c\u0647 \u0628\u0627\u0644\u0627\u0631\u062a\u064a\u0627\u062d", + "Smiling face with heart-shaped eyes": "\u0627\u0644\u0648\u062c\u0647 \u0627\u0644\u0645\u0628\u062a\u0633\u0645 \u0628\u0639\u064a\u0646\u064a\u0646 \u0639\u0644\u0649 \u0634\u0643\u0644 \u0642\u0644\u0628", + "Smiling face with sunglasses": "\u0627\u0644\u0648\u062c\u0647 \u0627\u0644\u0645\u0628\u062a\u0633\u0645 \u0645\u0639 \u0627\u0644\u0646\u0638\u0627\u0631\u0627\u062a \u0627\u0644\u0634\u0645\u0633\u064a\u0629", + "Smirking face": "\u0633\u0645\u064a\u0631\u0643\u064a\u0646\u062c \u0627\u0644\u0648\u062c\u0647", + "Neutral face": "\u0645\u062d\u0627\u064a\u062f \u0627\u0644\u0648\u062c\u0647", + "Expressionless face": "\u0648\u062c\u0647 \u0627\u0644\u062a\u0639\u0627\u0628\u064a\u0631", + "Unamused face": "\u0644\u0627 \u0645\u0633\u0644\u064a\u0627 \u0627\u0644\u0648\u062c\u0647", + "Face with cold sweat": "\u0648\u062c\u0647 \u0645\u0639 \u0639\u0631\u0642 \u0628\u0627\u0631\u062f", + "Pensive face": "\u0648\u062c\u0647 \u0645\u062a\u0623\u0645\u0644", + "Confused face": "\u0648\u062c\u0647 \u0627\u0644\u062e\u0644\u0637", + "Confounded face": "\u0648\u062c\u0647 \u0645\u0631\u062a\u0628\u0643", + "Kissing face": "\u062a\u0642\u0628\u064a\u0644 \u0627\u0644\u0648\u062c\u0647", + "Face throwing a kiss": "\u0645\u0648\u0627\u062c\u0647\u0629 \u0631\u0645\u064a \u0642\u0628\u0644\u0629", + "Kissing face with smiling eyes": "\u062a\u0642\u0628\u064a\u0644 \u0648\u062c\u0647 \u0645\u0639 \u0639\u064a\u0648\u0646 \u062a\u0628\u062a\u0633\u0645", + "Kissing face with closed eyes": "\u062a\u0642\u0628\u064a\u0644 \u0648\u062c\u0647 \u0645\u0639 \u0639\u064a\u0648\u0646 \u0645\u063a\u0644\u0642\u0629", + "Face with stuck out tongue": "\u0627\u0644\u0648\u062c\u0647 \u0645\u0639 \u062a\u0645\u0633\u0643 \u0628\u0647\u0627 \u0627\u0644\u0644\u0633\u0627\u0646", + "Face with stuck out tongue and winking eye": "\u0627\u0644\u0648\u062c\u0647 \u0645\u0639 \u062a\u0645\u0633\u0643 \u0628\u0647\u0627 \u0627\u0644\u0644\u0633\u0627\u0646 \u0648\u0627\u0644\u0639\u064a\u0646 \u0627\u0644\u062a\u063a\u0627\u0636\u064a", + "Face with stuck out tongue and tightly-closed eyes": "\u0627\u0644\u0648\u062c\u0647 \u0645\u0639 \u062a\u0645\u0633\u0643 \u0628\u0647\u0627 \u0627\u0644\u0644\u0633\u0627\u0646 \u0648\u0627\u0644\u0639\u064a\u0648\u0646 \u0645\u063a\u0644\u0642\u0629 \u0628\u0623\u062d\u0643\u0627\u0645\u002d", + "Disappointed face": "\u0648\u062c\u0647\u0627 \u062e\u064a\u0628\u0629 \u0623\u0645\u0644", + "Worried face": "\u0648\u062c\u0647\u0627 \u0627\u0644\u0642\u0644\u0642\u0648\u0646", + "Angry face": "\u0648\u062c\u0647 \u063a\u0627\u0636\u0628", + "Pouting face": "\u0627\u0644\u0639\u0628\u0648\u0633 \u0648\u062c\u0647", + "Crying face": "\u0627\u0644\u0628\u0643\u0627\u0621 \u0627\u0644\u0648\u062c\u0647", + "Persevering face": "\u0627\u0644\u0645\u062b\u0627\u0628\u0631\u0629 \u0648\u062c\u0647\u0647", + "Face with look of triumph": "\u0648\u0627\u062c\u0647 \u0645\u0639 \u0646\u0638\u0631\u0629 \u0627\u0646\u062a\u0635\u0627\u0631", + "Disappointed but relieved face": "\u0628\u062e\u064a\u0628\u0629 \u0623\u0645\u0644 \u0648\u0644\u0643\u0646 \u064a\u0639\u0641\u0649 \u0648\u062c\u0647", + "Frowning face with open mouth": "\u0645\u0642\u0637\u0628 \u0627\u0644\u0648\u062c\u0647 \u0645\u0639 \u0641\u062a\u062d \u0627\u0644\u0641\u0645", + "Anguished face": "\u0627\u0644\u0648\u062c\u0647 \u0627\u0644\u0645\u0624\u0644\u0645", + "Fearful face": "\u0627\u0644\u0648\u062c\u0647 \u0627\u0644\u0645\u062e\u064a\u0641", + "Weary face": "\u0648\u062c\u0647\u0627 \u0628\u0627\u0644\u0636\u062c\u0631", + "Sleepy face": "\u0648\u062c\u0647 \u0646\u0639\u0633\u0627\u0646", + "Tired face": "\u0648\u062c\u0647 \u0645\u062a\u0639\u0628", + "Grimacing face": "\u0648\u062e\u0631\u062c \u0633\u064a\u0633 \u0627\u0644\u0648\u062c\u0647", + "Loudly crying face": "\u0627\u0644\u0628\u0643\u0627\u0621 \u0628\u0635\u0648\u062a \u0639\u0627\u0644 \u0648\u062c\u0647\u0647", + "Face with open mouth": "\u0648\u0627\u062c\u0647 \u0645\u0639 \u0641\u062a\u062d \u0627\u0644\u0641\u0645", + "Hushed face": "\u0648\u062c\u0647\u0627 \u0627\u0644\u062a\u0643\u062a\u0645", + "Face with open mouth and cold sweat": "\u0648\u0627\u062c\u0647 \u0645\u0639 \u0641\u062a\u062d \u0627\u0644\u0641\u0645 \u0648\u0627\u0644\u0639\u0631\u0642 \u0627\u0644\u0628\u0627\u0631\u062f", + "Face screaming in fear": "\u0648\u0627\u062c\u0647 \u064a\u0635\u0631\u062e \u0641\u064a \u062e\u0648\u0641", + "Astonished face": "\u0648\u062c\u0647\u0627 \u062f\u0647\u0634", + "Flushed face": "\u0627\u062d\u0645\u0631\u0627\u0631 \u0627\u0644\u0648\u062c\u0647", + "Sleeping face": "\u0627\u0644\u0646\u0648\u0645 \u0627\u0644\u0648\u062c\u0647", + "Dizzy face": "\u0648\u062c\u0647\u0627 \u0628\u0627\u0644\u062f\u0648\u0627\u0631", + "Face without mouth": "\u0648\u0627\u062c\u0647 \u062f\u0648\u0646 \u0627\u0644\u0641\u0645", + "Face with medical mask": "\u0648\u0627\u062c\u0647 \u0645\u0639 \u0642\u0646\u0627\u0639 \u0627\u0644\u0637\u0628\u064a\u0629", + + // Line breaker + "Break": "\u0627\u0644\u0627\u0646\u0642\u0633\u0627\u0645", + + // Math + "Subscript": "\u0645\u0646\u062e\u0641\u0636", + "Superscript": "\u062d\u0631\u0641 \u0641\u0648\u0642\u064a", + + // Full screen + "Fullscreen": "\u0643\u0627\u0645\u0644 \u0627\u0644\u0634\u0627\u0634\u0629", + + // Horizontal line + "Insert Horizontal Line": "\u0625\u062f\u0631\u0627\u062c \u062e\u0637 \u0623\u0641\u0642\u064a", + + // Clear formatting + "Clear Formatting": "\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u062a\u0646\u0633\u064a\u0642", + + // Save + "Save": "\u062d\u0641\u0638", + + // Undo, redo + "Undo": "\u062a\u0631\u0627\u062c\u0639", + "Redo": "\u0625\u0639\u0627\u062f\u0629", + + // Select all + "Select All": "\u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0643\u0644", + + // Code view + "Code View": "\u0639\u0631\u0636 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u0627\u062a \u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0629", + + // Quote + "Quote": "\u0627\u0642\u062a\u0628\u0633", + "Increase": "\u0632\u064a\u0627\u062f\u0629", + "Decrease": "\u0627\u0646\u062e\u0641\u0627\u0636", + + // Quick Insert + "Quick Insert": "\u0625\u062f\u0631\u0627\u062c \u0633\u0631\u064a\u0639", + + // Spcial Characters + "Special Characters": "أحرف خاصة", + "Latin": "لاتينية", + "Greek": "الإغريقي", + "Cyrillic": "السيريلية", + "Punctuation": "علامات ترقيم", + "Currency": "دقة", + "Arrows": "السهام", + "Math": "الرياضيات", + "Misc": "متفرقات", + + // Print. + "Print": "طباعة", + + // Spell Checker. + "Spell Checker": "مدقق املائي", + + // Help + "Help": "مساعدة", + "Shortcuts": "اختصارات", + "Inline Editor": "محرر مضمنة", + "Show the editor": "عرض المحرر", + "Common actions": "الإجراءات المشتركة", + "Copy": "نسخ", + "Cut": "يقطع", + "Paste": "معجون", + "Basic Formatting": "التنسيق الأساسي", + "Increase quote level": "زيادة مستوى الاقتباس", + "Decrease quote level": "انخفاض مستوى الاقتباس", + "Image / Video": "صورة / فيديو", + "Resize larger": "تغيير حجم أكبر", + "Resize smaller": "تغيير حجم أصغر", + "Table": "الطاولة", + "Select table cell": "حدد خلية الجدول", + "Extend selection one cell": "توسيع اختيار خلية واحدة", + "Extend selection one row": "تمديد اختيار صف واحد", + "Navigation": "التنقل", + "Focus popup / toolbar": "التركيز المنبثقة / شريط الأدوات", + "Return focus to previous position": "عودة التركيز إلى الموقف السابق", + + // Embed.ly + "Embed URL": "تضمين عنوان ورل", + "Paste in a URL to embed": "الصق في عنوان ورل لتضمينه", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "المحتوى الذي تم لصقه قادم من وثيقة كلمة ميكروسوفت. هل تريد الاحتفاظ بالتنسيق أو تنظيفه؟", + "Keep": "احتفظ", + "Clean": "نظيف", + "Word Paste Detected": "تم اكتشاف معجون الكلمات" + }, + direction: "rtl" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/ar.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/en_gb.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/en_gb.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/en_gb.js (revision 7) @@ -0,0 +1,265 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * English spoken in Great Britain + */ + +$.FE.LANGUAGE['en_gb'] = { + translation: { + // Place holder + "Type something": "Type something", + + // Basic formatting + "Bold": "Bold", + "Italic": "Italic", + "Underline": "Underline", + "Strikethrough": "Strikethrough", + + // Main buttons + "Insert": "Insert", + "Delete": "Delete", + "Cancel": "Cancel", + "OK": "OK", + "Back": "Back", + "Remove": "Remove", + "More": "More", + "Update": "Update", + "Style": "Style", + + // Font + "Font Family": "Font Family", + "Font Size": "Font Size", + + // Colors + "Colors": "Colours", + "Background": "Background", + "Text": "Text", + "HEX Color": "HEX Colour", + + // Paragraphs + "Paragraph Format": "Paragraph Format", + "Normal": "Normal", + "Code": "Code", + "Heading 1": "Heading 1", + "Heading 2": "Heading 2", + "Heading 3": "Heading 3", + "Heading 4": "Heading 4", + + // Style + "Paragraph Style": "Paragraph Style", + "Inline Style": "Inline Style", + + // Alignment + "Align": "Align", + "Align Left": "Align Left", + "Align Center": "Align Centre", + "Align Right": "Alight Right", + "Align Justify": "Align Justify", + "None": "None", + + // Lists + "Ordered List": "Ordered List", + "Unordered List": "Unordered List", + + // Indent + "Decrease Indent": "Decrease Indent", + "Increase Indent": "Increase Indent", + + // Links + "Insert Link": "Insert Link", + "Open in new tab": "Open in new tab", + "Open Link": "Open Link", + "Edit Link": "Edit Link", + "Unlink": "Unlink", + "Choose Link": "Choose Link", + + // Images + "Insert Image": "Insert Image", + "Upload Image": "Upload Image", + "By URL": "By URL", + "Browse": "Browse", + "Drop image": "Drop image", + "or click": "or click", + "Manage Images": "Manage Images", + "Loading": "Loading", + "Deleting": "Deleting", + "Tags": "Tags", + "Are you sure? Image will be deleted.": "Are you sure? Image will be deleted.", + "Replace": "Replace", + "Uploading": "Uploading", + "Loading image": "Loading image", + "Display": "Display", + "Inline": "Inline", + "Break Text": "Break Text", + "Alternative Text": "Alternative Text", + "Change Size": "Change Size", + "Width": "Width", + "Height": "Height", + "Something went wrong. Please try again.": "Something went wrong. Please try again.", + "Image Caption": "Image Caption", + "Advanced Edit": "Advanced Edit", + + // Video + "Insert Video": "Insert Video", + "Embedded Code": "Embedded Code", + "Paste in a video URL": "Paste in a video URL", + "Drop video": "Drop video", + "Your browser does not support HTML5 video.": "Your browser does not support HTML5 video.", + "Upload Video": "Upload Video", + + // Tables + "Insert Table": "Insert Table", + "Table Header": "Table Header", + "Remove Table": "Remove Table", + "Table Style": "Table Style", + "Horizontal Align": "Horizontal Align", + "Row": "Row", + "Insert row above": "Insert row above", + "Insert row below": "Insert row below", + "Delete row": "Delete row", + "Column": "Column", + "Insert column before": "Insert column before", + "Insert column after": "Insert column after", + "Delete column": "Delete column", + "Cell": "Cell", + "Merge cells": "Merge cells", + "Horizontal split": "Horizontal split", + "Vertical split": "Vertical split", + "Cell Background": "Cell Background", + "Vertical Align": "Vertical Align", + "Top": "Top", + "Middle": "Middle", + "Bottom": "Bottom", + "Align Top": "Align Top", + "Align Middle": "Align Middle", + "Align Bottom": "Align Bottom", + "Cell Style": "Cell Style", + + // Files + "Upload File": "Upload File", + "Drop file": "Drop file", + + // Emoticons + "Emoticons": "Emoticons", + + // Line breaker + "Break": "Break", + + // Math + "Subscript": "Subscript", + "Superscript": "Superscript", + + // Full screen + "Fullscreen": "Fullscreen", + + // Horizontal line + "Insert Horizontal Line": "Insert Horizontal Line", + + // Clear formatting + "Clear Formatting": "Cell Formatting", + + // Save + "Save": "Save", + + // Undo, redo + "Undo": "Undo", + "Redo": "Redo", + + // Select all + "Select All": "Select All", + + // Code view + "Code View": "Code View", + + // Quote + "Quote": "Quote", + "Increase": "Increase", + "Decrease": "Decrease", + + // Quick Insert + "Quick Insert": "Quick Insert", + + // Spcial Characters + "Special Characters": "Special Characters", + "Latin": "Latin", + "Greek": "Greek", + "Cyrillic": "Cyrillic", + "Punctuation": "Punctuation", + "Currency": "Currency", + "Arrows": "Arrows", + "Math": "Math", + "Misc": "Misc", + + // Print. + "Print": "Print", + + // Spell Checker. + "Spell Checker": "Spell Checker", + + // Help + "Help": "Help", + "Shortcuts": "Shortcuts", + "Inline Editor": "Inline Editor", + "Show the editor": "Show the editor", + "Common actions": "Common actions", + "Copy": "Copy", + "Cut": "Cut", + "Paste": "Paste", + "Basic Formatting": "Basic Formatting", + "Increase quote level": "Increase quote level", + "Decrease quote level": "Decrease quote level", + "Image / Video": "Image / Video", + "Resize larger": "Resize larger", + "Resize smaller": "Resize smaller", + "Table": "Table", + "Select table cell": "Select table cell", + "Extend selection one cell": "Extend selection one cell", + "Extend selection one row": "Extend selection one row", + "Navigation": "Navigation", + "Focus popup / toolbar": "Focus popup / toolbar", + "Return focus to previous position": "Return focus to previous position", + + // Embed.ly + "Embed URL": "Embed URL", + "Paste in a URL to embed": "Paste in a URL to embed", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?", + "Keep": "Keep", + "Clean": "Clean", + "Word Paste Detected": "Word Paste Detected" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/en_gb.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/th.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/th.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/th.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Thai + */ + +$.FE.LANGUAGE['th'] = { + translation: { + // Place holder + "Type something": "\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e1a\u0e32\u0e07\u0e2a\u0e34\u0e48\u0e07\u0e1a\u0e32\u0e07\u0e2d\u0e22\u0e48\u0e32\u0e07", + + // Basic formatting + "Bold": "\u0e15\u0e31\u0e27\u0e2b\u0e19\u0e32", + "Italic": "\u0e15\u0e31\u0e27\u0e40\u0e2d\u0e35\u0e22\u0e07", + "Underline": "\u0e02\u0e35\u0e14\u0e40\u0e2a\u0e49\u0e19\u0e43\u0e15\u0e49", + "Strikethrough": "\u0e02\u0e35\u0e14\u0e17\u0e31\u0e1a", + + // Main buttons + "Insert": "\u0e41\u0e17\u0e23\u0e01", + "Delete": "\u0e25\u0e1a", + "Cancel": "\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01", + "OK": "\u0e15\u0e01\u0e25\u0e07", + "Back": "\u0e01\u0e25\u0e31\u0e1a", + "Remove": "\u0e40\u0e2d\u0e32\u0e2d\u0e2d\u0e01", + "More": "\u0e21\u0e32\u0e01\u0e01\u0e27\u0e48\u0e32", + "Update": "\u0e2d\u0e31\u0e1e\u0e40\u0e14\u0e17", + "Style": "\u0e2a\u0e44\u0e15\u0e25\u0e4c", + + // Font + "Font Family": "\u0e15\u0e23\u0e30\u0e01\u0e39\u0e25\u0e41\u0e1a\u0e1a\u0e2d\u0e31\u0e01\u0e29\u0e23", + "Font Size": "\u0e02\u0e19\u0e32\u0e14\u0e41\u0e1a\u0e1a\u0e2d\u0e31\u0e01\u0e29\u0e23", + + // Colors + "Colors": "\u0e2a\u0e35", + "Background": "\u0e1e\u0e37\u0e49\u0e19\u0e2b\u0e25\u0e31\u0e07", + "Text": "\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21", + "HEX Color": "สีฐานสิบหก", + + // Paragraphs + "Paragraph Format": "\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a", + "Normal": "\u0e1b\u0e01\u0e15\u0e34", + "Code": "\u0e42\u0e04\u0e49\u0e14", + "Heading 1": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 1", + "Heading 2": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 2", + "Heading 3": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 3", + "Heading 4": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 4", + + // Style + "Paragraph Style": "\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e22\u0e48\u0e2d\u0e2b\u0e19\u0e49\u0e32", + "Inline Style": "\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e2d\u0e34\u0e19\u0e44\u0e25\u0e19\u0e4c", + + // Alignment + "Align": "\u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e41\u0e19\u0e27", + "Align Left": "\u0e08\u0e31\u0e14\u0e0a\u0e34\u0e14\u0e0b\u0e49\u0e32\u0e22", + "Align Center": "\u0e08\u0e31\u0e14\u0e01\u0e36\u0e48\u0e07\u0e01\u0e25\u0e32\u0e07", + "Align Right": "\u0e08\u0e31\u0e14\u0e0a\u0e34\u0e14\u0e02\u0e27\u0e32", + "Align Justify": "\u0e40\u0e15\u0e47\u0e21\u0e41\u0e19\u0e27", + "None": "\u0e44\u0e21\u0e48", + + // Lists + "Ordered List": "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e40\u0e25\u0e02", + "Unordered List": "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e2b\u0e31\u0e27\u0e02\u0e49\u0e2d\u0e22\u0e48\u0e2d\u0e22", + + // Indent + "Decrease Indent": "\u0e25\u0e14\u0e01\u0e32\u0e23\u0e40\u0e22\u0e37\u0e49\u0e2d\u0e07", + "Increase Indent": "\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e22\u0e37\u0e49\u0e2d\u0e07", + + // Links + "Insert Link": "\u0e41\u0e17\u0e23\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c", + "Open in new tab": "\u0e40\u0e1b\u0e34\u0e14\u0e43\u0e19\u0e41\u0e17\u0e47\u0e1a\u0e43\u0e2b\u0e21\u0e48", + "Open Link": "\u0e40\u0e1b\u0e34\u0e14\u0e25\u0e34\u0e49\u0e07\u0e04\u0e4c", + "Edit Link": "\u0e25\u0e34\u0e07\u0e04\u0e4c\u0e41\u0e01\u0e49\u0e44\u0e02", + "Unlink": "\u0e40\u0e2d\u0e32\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e2d\u0e2d\u0e01", + "Choose Link": "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e01\u0e32\u0e23\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e42\u0e22\u0e07", + + // Images + "Insert Image": "\u0e41\u0e17\u0e23\u0e01\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e", + "Upload Image": "\u0e01\u0e32\u0e23\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e20\u0e32\u0e1e", + "By URL": "\u0e15\u0e32\u0e21 URL", + "Browse": "\u0e40\u0e23\u0e35\u0e22\u0e01\u0e14\u0e39", + "Drop image": "\u0e27\u0e32\u0e07\u0e20\u0e32\u0e1e", + "or click": "\u0e2b\u0e23\u0e37\u0e2d\u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48", + "Manage Images": "\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e20\u0e32\u0e1e", + "Loading": "\u0e42\u0e2b\u0e25\u0e14", + "Deleting": "\u0e25\u0e1a", + "Tags": "\u0e41\u0e17\u0e47\u0e01", + "Are you sure? Image will be deleted.": "\u0e04\u0e38\u0e13\u0e41\u0e19\u0e48\u0e43\u0e08\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48 \u0e20\u0e32\u0e1e\u0e08\u0e30\u0e16\u0e39\u0e01\u0e25\u0e1a", + "Replace": "\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48", + "Uploading": "\u0e2d\u0e31\u0e1e\u0e42\u0e2b\u0e25\u0e14", + "Loading image": "\u0e42\u0e2b\u0e25\u0e14\u0e20\u0e32\u0e1e", + "Display": "\u0e41\u0e2a\u0e14\u0e07", + "Inline": "\u0e41\u0e1a\u0e1a\u0e2d\u0e34\u0e19\u0e44\u0e25\u0e19\u0e4c", + "Break Text": "\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e2b\u0e22\u0e38\u0e14", + "Alternative Text": "\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e2d\u0e37\u0e48\u0e19", + "Change Size": "\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e02\u0e19\u0e32\u0e14", + "Width": "\u0e04\u0e27\u0e32\u0e21\u0e01\u0e27\u0e49\u0e32\u0e07", + "Height": "\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e39\u0e07", + "Something went wrong. Please try again.": "\u0e1a\u0e32\u0e07\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e1c\u0e34\u0e14\u0e1b\u0e01\u0e15\u0e34. \u0e01\u0e23\u0e38\u0e13\u0e32\u0e25\u0e2d\u0e07\u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07.", + "Image Caption": "คำบรรยายภาพ", + "Advanced Edit": "แก้ไขขั้นสูง", + + // Video + "Insert Video": "\u0e41\u0e17\u0e23\u0e01\u0e27\u0e34\u0e14\u0e35\u0e42\u0e2d", + "Embedded Code": "\u0e23\u0e2b\u0e31\u0e2a\u0e2a\u0e21\u0e2d\u0e07\u0e01\u0e25\u0e1d\u0e31\u0e07\u0e15\u0e31\u0e27", + "Paste in a video URL": "วางใน URL วิดีโอ", + "Drop video": "วางวิดีโอ", + "Your browser does not support HTML5 video.": "เบราเซอร์ของคุณไม่สนับสนุนวิดีโอ HTML5", + "Upload Video": "อัปโหลดวิดีโอ", + + // Tables + "Insert Table": "\u0e41\u0e17\u0e23\u0e01\u0e15\u0e32\u0e23\u0e32\u0e07", + "Table Header": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27\u0e02\u0e2d\u0e07\u0e15\u0e32\u0e23\u0e32\u0e07", + "Remove Table": "\u0e40\u0e2d\u0e32\u0e15\u0e32\u0e23\u0e32\u0e07\u0e2d\u0e2d\u0e01", + "Table Style": "\u0e25\u0e31\u0e01\u0e29\u0e13\u0e30\u0e15\u0e32\u0e23\u0e32\u0e07", + "Horizontal Align": "\u0e43\u0e19\u0e41\u0e19\u0e27\u0e19\u0e2d\u0e19", + "Row": "\u0e41\u0e16\u0e27", + "Insert row above": "\u0e41\u0e17\u0e23\u0e01\u0e41\u0e16\u0e27\u0e14\u0e49\u0e32\u0e19\u0e1a\u0e19", + "Insert row below": "\u0e41\u0e17\u0e23\u0e01\u0e41\u0e16\u0e27\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07", + "Delete row": "\u0e25\u0e1a\u0e41\u0e16\u0e27", + "Column": "\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c", + "Insert column before": "\u0e41\u0e17\u0e23\u0e01\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c\u0e02\u0e49\u0e32\u0e07\u0e2b\u0e19\u0e49\u0e32", + "Insert column after": "\u0e41\u0e17\u0e23\u0e01\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c\u0e02\u0e49\u0e32\u0e07\u0e2b\u0e25\u0e31\u0e07", + "Delete column": "\u0e25\u0e1a\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c", + "Cell": "\u0e40\u0e0b\u0e25\u0e25\u0e4c", + "Merge cells": "\u0e1c\u0e2a\u0e32\u0e19\u0e40\u0e0b\u0e25\u0e25\u0e4c", + "Horizontal split": "\u0e41\u0e22\u0e01\u0e41\u0e19\u0e27\u0e19\u0e2d\u0e19", + "Vertical split": "\u0e41\u0e22\u0e01\u0e43\u0e19\u0e41\u0e19\u0e27\u0e15\u0e31\u0e49\u0e07", + "Cell Background": "\u0e1e\u0e37\u0e49\u0e19\u0e2b\u0e25\u0e31\u0e07\u0e02\u0e2d\u0e07\u0e40\u0e0b\u0e25\u0e25\u0e4c", + "Vertical Align": "\u0e08\u0e31\u0e14\u0e41\u0e19\u0e27\u0e15\u0e31\u0e49\u0e07", + "Top": "\u0e14\u0e49\u0e32\u0e19\u0e1a\u0e19", + "Middle": "\u0e01\u0e25\u0e32\u0e07", + "Bottom": "\u0e01\u0e49\u0e19", + "Align Top": "\u0e08\u0e31\u0e14\u0e14\u0e49\u0e32\u0e19\u0e1a\u0e19", + "Align Middle": "\u0e15\u0e4d\u0e32\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e01\u0e25\u0e32\u0e07", + "Align Bottom": "\u0e15\u0e4d\u0e32\u0e41\u0e2b\u0e19\u0e48\u0e07\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07", + "Cell Style": "\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e02\u0e2d\u0e07\u0e40\u0e0b\u0e25\u0e25\u0e4c", + + // Files + "Upload File": "\u0e2d\u0e31\u0e1b\u0e42\u0e2b\u0e25\u0e14\u0e44\u0e1f\u0e25\u0e4c", + "Drop file": "\u0e27\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c", + + // Emoticons + "Emoticons": "\u0e2d\u0e35\u0e42\u0e21\u0e15\u0e34\u0e04\u0e2d\u0e19", + "Grinning face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e22\u0e34\u0e49\u0e21", + "Grinning face with smiling eyes": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e22\u0e34\u0e49\u0e21\u0e14\u0e49\u0e27\u0e22\u0e15\u0e32\u0e22\u0e34\u0e49\u0e21", + "Face with tears of joy": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e14\u0e49\u0e27\u0e22\u0e19\u0e49\u0e33\u0e15\u0e32\u0e41\u0e2b\u0e48\u0e07\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e38\u0e02", + "Smiling face with open mouth": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e1b\u0e37\u0e49\u0e2d\u0e19\u0e23\u0e2d\u0e22\u0e22\u0e34\u0e49\u0e21\u0e17\u0e35\u0e48\u0e21\u0e35\u0e1b\u0e32\u0e01\u0e40\u0e1b\u0e34\u0e14", + "Smiling face with open mouth and smiling eyes": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e22\u0e34\u0e49\u0e21\u0e01\u0e31\u0e1a\u0e40\u0e1b\u0e34\u0e14\u0e1b\u0e32\u0e01\u0e41\u0e25\u0e30\u0e15\u0e32\u0e22\u0e34\u0e49\u0e21", + "Smiling face with open mouth and cold sweat": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e22\u0e34\u0e49\u0e21\u0e14\u0e49\u0e27\u0e22\u0e1b\u0e32\u0e01\u0e40\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e30\u0e40\u0e2b\u0e07\u0e37\u0e48\u0e2d\u0e40\u0e22\u0e47\u0e19", + "Smiling face with open mouth and tightly-closed eyes": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e22\u0e34\u0e49\u0e21\u0e01\u0e31\u0e1a\u0e40\u0e1b\u0e34\u0e14\u0e1b\u0e32\u0e01\u0e41\u0e25\u0e30\u0e15\u0e32\u0e41\u0e19\u0e48\u0e19\u0e1b\u0e34\u0e14", + "Smiling face with halo": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e22\u0e34\u0e49\u0e21\u0e17\u0e35\u0e48\u0e21\u0e35\u0e23\u0e31\u0e28\u0e21\u0e35", + "Smiling face with horns": "\u0e22\u0e34\u0e49\u0e21\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e21\u0e35\u0e40\u0e02\u0e32", + "Winking face": "\u0e01\u0e32\u0e23\u0e01\u0e23\u0e30\u0e1e\u0e23\u0e34\u0e1a\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32", + "Smiling face with smiling eyes": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e22\u0e34\u0e49\u0e21\u0e14\u0e49\u0e27\u0e22\u0e15\u0e32\u0e22\u0e34\u0e49\u0e21", + "Face savoring delicious food": "\u0e40\u0e1c\u0e0a\u0e34\u0e0d \u0073\u0061\u0076\u006f\u0072\u0069\u006e\u0067 \u0e2d\u0e32\u0e2b\u0e32\u0e23\u0e2d\u0e23\u0e48\u0e2d\u0e22", + "Relieved face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e42\u0e25\u0e48\u0e07\u0e43\u0e08", + "Smiling face with heart-shaped eyes": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e22\u0e34\u0e49\u0e21\u0e14\u0e49\u0e27\u0e22\u0e15\u0e32\u0e23\u0e39\u0e1b\u0e2b\u0e31\u0e27\u0e43\u0e08", + "Smiling face with sunglasses": "\u0e22\u0e34\u0e49\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e14\u0e49\u0e27\u0e22\u0e41\u0e27\u0e48\u0e19\u0e15\u0e32\u0e01\u0e31\u0e19\u0e41\u0e14\u0e14", + "Smirking face": "\u0e2b\u0e19\u0e49\u0e32\u0e41\u0e2a\u0e22\u0e30\u0e22\u0e34\u0e49\u0e21\u0e17\u0e35\u0e48\u0e21\u0e38\u0e21", + "Neutral face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e25\u0e32\u0e07", + "Expressionless face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e2d\u0e32\u0e23\u0e21\u0e13\u0e4c", + "Unamused face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32 \u0055\u006e\u0061\u006d\u0075\u0073\u0065\u0064", + "Face with cold sweat": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e21\u0e35\u0e40\u0e2b\u0e07\u0e37\u0e48\u0e2d\u0e40\u0e22\u0e47\u0e19", + "Pensive face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e21\u0e48\u0e19", + "Confused face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e2a\u0e31\u0e1a\u0e2a\u0e19", + "Confounded face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e2a\u0e31\u0e1a\u0e2a\u0e19", + "Kissing face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e39\u0e1a", + "Face throwing a kiss": "\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e1c\u0e0a\u0e34\u0e0d\u0e01\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e02\u0e27\u0e49\u0e32\u0e07\u0e1b\u0e32\u0e08\u0e39\u0e1a", + "Kissing face with smiling eyes": "\u0e08\u0e39\u0e1a\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e14\u0e49\u0e27\u0e22\u0e15\u0e32\u0e22\u0e34\u0e49\u0e21", + "Kissing face with closed eyes": "\u0e08\u0e39\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e14\u0e49\u0e27\u0e22\u0e14\u0e27\u0e07\u0e15\u0e32\u0e17\u0e35\u0e48\u0e1b\u0e34\u0e14\u0e2a\u0e19\u0e34\u0e17", + "Face with stuck out tongue": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e21\u0e35\u0e41\u0e1e\u0e25\u0e21\u0e2d\u0e2d\u0e01\u0e21\u0e32\u0e25\u0e34\u0e49\u0e19", + "Face with stuck out tongue and winking eye": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e21\u0e35\u0e15\u0e34\u0e14\u0e25\u0e34\u0e49\u0e19\u0e41\u0e25\u0e30\u0e15\u0e32\u0e02\u0e22\u0e34\u0e1a\u0e15\u0e32", + "Face with stuck out tongue and tightly-closed eyes": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e21\u0e35\u0e15\u0e34\u0e14\u0e25\u0e34\u0e49\u0e19\u0e41\u0e25\u0e30\u0e14\u0e27\u0e07\u0e15\u0e32\u0e17\u0e35\u0e48\u0e1b\u0e34\u0e14\u0e41\u0e19\u0e48\u0e19", + "Disappointed face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e1c\u0e34\u0e14\u0e2b\u0e27\u0e31\u0e07", + "Worried face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e01\u0e31\u0e07\u0e27\u0e25", + "Angry face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e42\u0e01\u0e23\u0e18", + "Pouting face": "\u0e2b\u0e19\u0e49\u0e32\u0e21\u0e38\u0e48\u0e22", + "Crying face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e23\u0e49\u0e2d\u0e07\u0e44\u0e2b\u0e49", + "Persevering face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e2d\u0e32\u0e16\u0e48\u0e32\u0e19", + "Face with look of triumph": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e01\u0e31\u0e1a\u0e23\u0e39\u0e1b\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e02\u0e2d\u0e07\u0e0a\u0e31\u0e22\u0e0a\u0e19\u0e30", + "Disappointed but relieved face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e1c\u0e34\u0e14\u0e2b\u0e27\u0e31\u0e07 \u0e41\u0e15\u0e48\u0e42\u0e25\u0e48\u0e07\u0e43\u0e08", + "Frowning face with open mouth": "\u0e2b\u0e19\u0e49\u0e32\u0e21\u0e38\u0e48\u0e22\u0e17\u0e35\u0e48\u0e21\u0e35\u0e1b\u0e32\u0e01\u0e40\u0e1b\u0e34\u0e14", + "Anguished face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e01\u0e14\u0e02\u0e35\u0e48", + "Fearful face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e19\u0e48\u0e32\u0e01\u0e25\u0e31\u0e27", + "Weary face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e40\u0e2b\u0e19\u0e37\u0e48\u0e2d\u0e22\u0e25\u0e49\u0e32", + "Sleepy face": "\u0e2b\u0e19\u0e49\u0e32\u0e07\u0e48\u0e27\u0e07\u0e19\u0e2d\u0e19", + "Tired face": "\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e1a\u0e37\u0e48\u0e2d", + "Grimacing face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32 \u0067\u0072\u0069\u006d\u0061\u0063\u0069\u006e\u0067", + "Loudly crying face": "\u0e23\u0e49\u0e2d\u0e07\u0e44\u0e2b\u0e49\u0e40\u0e2a\u0e35\u0e22\u0e07\u0e14\u0e31\u0e07\u0e2b\u0e19\u0e49\u0e32", + "Face with open mouth": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e21\u0e35\u0e1b\u0e32\u0e01\u0e40\u0e1b\u0e34\u0e14", + "Hushed face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e07\u0e35\u0e22\u0e1a", + "Face with open mouth and cold sweat": "หน้ากับปากเปิดและเหงื่อเย็น", + "Face screaming in fear": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e21\u0e35\u0e1b\u0e32\u0e01\u0e40\u0e1b\u0e34\u0e14\u0e41\u0e25\u0e30\u0e40\u0e2b\u0e07\u0e37\u0e48\u0e2d\u0e40\u0e22\u0e47\u0e19", + "Astonished face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e1b\u0e23\u0e30\u0e2b\u0e25\u0e32\u0e14\u0e43\u0e08", + "Flushed face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e41\u0e14\u0e07", + "Sleeping face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e19\u0e2d\u0e19", + "Dizzy face": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e32\u0e25\u0e32\u0e22", + "Face without mouth": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e42\u0e14\u0e22\u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e1b\u0e32\u0e01", + "Face with medical mask": "\u0e43\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e14\u0e49\u0e27\u0e22\u0e2b\u0e19\u0e49\u0e32\u0e01\u0e32\u0e01\u0e17\u0e32\u0e07\u0e01\u0e32\u0e23\u0e41\u0e1e\u0e17\u0e22\u0e4c", + + // Line breaker + "Break": "\u0e2b\u0e22\u0e38\u0e14", + + // Math + "Subscript": "\u0e15\u0e31\u0e27\u0e2b\u0e49\u0e2d\u0e22", + "Superscript": "\u0e15\u0e31\u0e27\u0e22\u0e01", + + // Full screen + "Fullscreen": "\u0e40\u0e15\u0e47\u0e21\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d", + + // Horizontal line + "Insert Horizontal Line": "\u0e41\u0e17\u0e23\u0e01\u0e40\u0e2a\u0e49\u0e19\u0e41\u0e19\u0e27\u0e19\u0e2d\u0e19", + + // Clear formatting + "Clear Formatting": "\u0e19\u0e33\u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a", + + // Save + "Save": "\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01", + + // Undo, redo + "Undo": "\u0e40\u0e25\u0e34\u0e01\u0e17\u0e33", + "Redo": "\u0e17\u0e4d\u0e32\u0e0b\u0e49\u0e33", + + // Select all + "Select All": "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14", + + // Code view + "Code View": "\u0e21\u0e38\u0e21\u0e21\u0e2d\u0e07\u0e23\u0e2b\u0e31\u0e2a", + + // Quote + "Quote": "\u0e2d\u0e49\u0e32\u0e07", + "Increase": "\u0e40\u0e1e\u0e34\u0e48\u0e21", + "Decrease": "\u0e25\u0e14\u0e25\u0e07", + + // Quick Insert + "Quick Insert": "\u0e41\u0e17\u0e23\u0e01\u0e14\u0e48\u0e27\u0e19", + + // Spcial Characters + "Special Characters": "อักขระพิเศษ", + "Latin": "ละติน", + "Greek": "กรีก", + "Cyrillic": "ริลลิก", + "Punctuation": "วรรคตอน", + "Currency": "เงินตรา", + "Arrows": "ลูกศร", + "Math": "คณิตศาสตร์", + "Misc": "อื่น ๆ", + + // Print. + "Print": "พิมพ์", + + // Spell Checker. + "Spell Checker": "ตัวตรวจสอบการสะกด", + + // Help + "Help": "ช่วยด้วย", + "Shortcuts": "ทางลัด", + "Inline Editor": "ตัวแก้ไขแบบอินไลน์", + "Show the editor": "แสดงตัวแก้ไข", + "Common actions": "การกระทำร่วมกัน", + "Copy": "สำเนา", + "Cut": "ตัด", + "Paste": "แปะ", + "Basic Formatting": "การจัดรูปแบบพื้นฐาน", + "Increase quote level": "ระดับราคาเพิ่มขึ้น", + "Decrease quote level": "ระดับราคาลดลง", + "Image / Video": "ภาพ / วิดีโอ", + "Resize larger": "ปรับขนาดใหญ่ขึ้น", + "Resize smaller": "ปรับขนาดเล็กลง", + "Table": "ตาราง", + "Select table cell": "เลือกเซลล์ตาราง", + "Extend selection one cell": "ขยายการเลือกหนึ่งเซลล์", + "Extend selection one row": "ขยายการเลือกหนึ่งแถว", + "Navigation": "การเดินเรือ", + "Focus popup / toolbar": "โฟกัสป๊อปอัพ / แถบเครื่องมือ", + "Return focus to previous position": "กลับไปยังตำแหน่งก่อนหน้า", + + // Embed.ly + "Embed URL": "ฝัง URL", + "Paste in a URL to embed": "วางใน url เพื่อฝัง", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "เนื้อหาที่วางจะมาจากเอกสารคำในแบบ microsoft คุณต้องการเก็บรูปแบบหรือทำความสะอาดหรือไม่?", + "Keep": "เก็บ", + "Clean": "สะอาด", + "Word Paste Detected": "ตรวจพบการวางคำ" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/th.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/cs.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/cs.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/cs.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Czech + */ + +$.FE.LANGUAGE['cs'] = { + translation: { + // Place holder + "Type something": "Napi\u0161te n\u011bco", + + // Basic formatting + "Bold": "Tu\u010dn\u00e9", + "Italic": "Kurz\u00edva", + "Underline": "Podtr\u017een\u00e9", + "Strikethrough": "P\u0159e\u0161krtnut\u00e9", + + // Main buttons + "Insert": "Vlo\u017eit", + "Delete": "Vymazat", + "Cancel": "Zru\u0161it", + "OK": "OK", + "Back": "Zp\u011bt", + "Remove": "Odstranit", + "More": "V\u00edce", + "Update": "Aktualizovat", + "Style": "Styl", + + // Font + "Font Family": "Typ p\u00edsma", + "Font Size": "Velikost p\u00edsma", + + // Colors + "Colors": "Barvy", + "Background": "Pozad\u00ed", + "Text": "P\u00edsmo", + "HEX Color": "Hex Barvy", + + // Paragraphs + "Paragraph Format": "Form\u00e1t odstavec", + "Normal": "Norm\u00e1ln\u00ed", + "Code": "K\u00f3d", + "Heading 1": "Nadpis 1", + "Heading 2": "Nadpis 2", + "Heading 3": "Nadpis 3", + "Heading 4": "Nadpis 4", + + // Style + "Paragraph Style": "Odstavec styl", + "Inline Style": "Inline styl", + + // Alignment + "Align": "Zarovn\u00e1n\u00ed", + "Align Left": "Zarovnat vlevo", + "Align Center": "Zarovnat na st\u0159ed", + "Align Right": "Zarovnat vpravo", + "Align Justify": "Zarovnat do bloku", + "None": "Nikdo", + + // Lists + "Ordered List": "\u010c\u00edslovan\u00fd seznam", + "Unordered List": "Ne\u010d\u00edslovan\u00fd seznam", + + // Indent + "Decrease Indent": "Zmen\u0161it odsazen\u00ed", + "Increase Indent": "Zv\u011bt\u0161it odsazen\u00ed", + + // Links + "Insert Link": "Vlo\u017eit odkaz", + "Open in new tab": "Otev\u0159\u00edt v nov\u00e9 z\u00e1lo\u017ece", + "Open Link": "Otev\u0159\u00edt odkaz", + "Edit Link": "Upravit odkaz", + "Unlink": "Odstranit odkaz", + "Choose Link": "Zvolte odkaz", + + // Images + "Insert Image": "Vlo\u017eit obr\u00e1zek", + "Upload Image": "Nahr\u00e1t obr\u00e1zek", + "By URL": "Podle URL", + "Browse": "Proch\u00e1zet", + "Drop image": "P\u0159et\u00e1hn\u011bte sem obr\u00e1zek", + "or click": "nebo zde klepn\u011bte", + "Manage Images": "Spr\u00e1va obr\u00e1zk\u016f", + "Loading": "Nakl\u00e1d\u00e1n\u00ed", + "Deleting": "Odstran\u011bn\u00ed", + "Tags": "Zna\u010dky", + "Are you sure? Image will be deleted.": "Ur\u010dit\u011b? Obr\u00e1zek bude smaz\u00e1n.", + "Replace": "Nahradit", + "Uploading": "Nahr\u00e1v\u00e1n\u00ed", + "Loading image": "Obr\u00e1zek se na\u010d\u00edt\u00e1", + "Display": "Zobrazit", + "Inline": "Inline", + "Break Text": "P\u0159est\u00e1vka textu", + "Alternative Text": "Alternativn\u00ed textu", + "Change Size": "Zm\u011bnit velikost", + "Width": "\u0160\u00ed\u0159ka", + "Height": "V\u00fd\u0161ka", + "Something went wrong. Please try again.": "N\u011bco se pokazilo. Pros\u00edm zkuste to znovu.", + "Image Caption": "Obrázek titulku", + "Advanced Edit": "Pokročilá úprava", + + // Video + "Insert Video": "Vlo\u017eit video", + "Embedded Code": "Vlo\u017een\u00fd k\u00f3d", + "Paste in a video URL": "Vložit adresu URL videa", + "Drop video": "Drop video", + "Your browser does not support HTML5 video.": "Váš prohlížeč nepodporuje video html5.", + "Upload Video": "Nahrát video", + + // Tables + "Insert Table": "Vlo\u017eit tabulku", + "Table Header": "Hlavi\u010dka tabulky", + "Remove Table": "Odstranit tabulku", + "Table Style": "Styl tabulky", + "Horizontal Align": "Horizont\u00e1ln\u00ed zarovn\u00e1n\u00ed", + "Row": "\u0158\u00e1dek", + "Insert row above": "Vlo\u017eit \u0159\u00e1dek nad", + "Insert row below": "Vlo\u017eit \u0159\u00e1dek pod", + "Delete row": "Smazat \u0159\u00e1dek", + "Column": "Sloupec", + "Insert column before": "Vlo\u017eit sloupec vlevo", + "Insert column after": "Vlo\u017eit sloupec vpravo", + "Delete column": "Smazat sloupec", + "Cell": "Bu\u0148ka", + "Merge cells": "Slou\u010dit bu\u0148ky", + "Horizontal split": "Horizont\u00e1ln\u00ed rozd\u011blen\u00ed", + "Vertical split": "Vertik\u00e1ln\u00ed rozd\u011blen\u00ed", + "Cell Background": "Bu\u0148ka pozad\u00ed", + "Vertical Align": "Vertik\u00e1ln\u00ed zarovn\u00e1n\u00ed", + "Top": "Vrchol", + "Middle": "St\u0159ed", + "Bottom": "Spodn\u00ed", + "Align Top": "Zarovnat vrchol", + "Align Middle": "Zarovnat st\u0159ed", + "Align Bottom": "Zarovnat spodn\u00ed", + "Cell Style": "Styl bu\u0148ky", + + // Files + "Upload File": "Nahr\u00e1t soubor", + "Drop file": "P\u0159et\u00e1hn\u011bte sem soubor", + + // Emoticons + "Emoticons": "Emotikony", + "Grinning face": "S \u00fasm\u011bvem tv\u00e1\u0159", + "Grinning face with smiling eyes": "S \u00fasm\u011bvem obli\u010dej s o\u010dima s \u00fasm\u011bvem", + "Face with tears of joy": "tv\u00e1\u0159 se slzami radosti", + "Smiling face with open mouth": "Usm\u00edvaj\u00edc\u00ed se obli\u010dej s otev\u0159en\u00fdmi \u00fasty", + "Smiling face with open mouth and smiling eyes": "Usm\u00edvaj\u00edc\u00ed se obli\u010dej s otev\u0159en\u00fdmi \u00fasty a o\u010dima s \u00fasm\u011bvem", + "Smiling face with open mouth and cold sweat": "Usm\u00edvaj\u00edc\u00ed se tv\u00e1\u0159 s otev\u0159en\u00fdmi \u00fasty a studen\u00fd pot", + "Smiling face with open mouth and tightly-closed eyes": "Usm\u00edvaj\u00edc\u00ed se tv\u00e1\u0159 s otev\u0159en\u00fdmi \u00fasty a t\u011bsn\u011b zav\u0159en\u00e9 o\u010di", + "Smiling face with halo": "Usm\u00edvaj\u00edc\u00ed se obli\u010dej s halo", + "Smiling face with horns": "Usm\u00edvaj\u00edc\u00ed se obli\u010dej s rohy", + "Winking face": "Mrk\u00e1n\u00ed tv\u00e1\u0159", + "Smiling face with smiling eyes": "Usm\u00edvaj\u00edc\u00ed se obli\u010dej s o\u010dima s \u00fasm\u011bvem", + "Face savoring delicious food": "Tv\u00e1\u0159 vychutn\u00e1val chutn\u00e9 j\u00eddlo", + "Relieved face": "Ulevilo tv\u00e1\u0159", + "Smiling face with heart-shaped eyes": "Usm\u00edvaj\u00edc\u00ed se tv\u00e1\u0159 ve tvaru srdce o\u010dima", + "Smiling face with sunglasses": "Usm\u00edvaj\u00edc\u00ed se tv\u00e1\u0159 se slune\u010dn\u00edmi br\u00fdlemi", + "Smirking face": "Uculoval tv\u00e1\u0159", + "Neutral face": "Neutr\u00e1ln\u00ed tv\u00e1\u0159", + "Expressionless face": "Bezv\u00fdrazn\u00fd obli\u010dej", + "Unamused face": "Ne pobaven\u00fd tv\u00e1\u0159", + "Face with cold sweat": "Tv\u00e1\u0159 se studen\u00fdm potem", + "Pensive face": "Zamy\u0161len\u00fd obli\u010dej", + "Confused face": "Zmaten\u00fd tv\u00e1\u0159", + "Confounded face": "Na\u0161tvan\u00fd tv\u00e1\u0159", + "Kissing face": "L\u00edb\u00e1n\u00ed tv\u00e1\u0159", + "Face throwing a kiss": "Tv\u00e1\u0159 h\u00e1zet polibek", + "Kissing face with smiling eyes": "L\u00edb\u00e1n\u00ed obli\u010dej s o\u010dima s \u00fasm\u011bvem", + "Kissing face with closed eyes": "L\u00edb\u00e1n\u00ed tv\u00e1\u0159 se zav\u0159en\u00fdma o\u010dima", + "Face with stuck out tongue": "Tv\u00e1\u0159 s tr\u010dely jazyk", + "Face with stuck out tongue and winking eye": "Tv\u00e1\u0159 s tr\u010dely jazykem a mrkat o\u010dima", + "Face with stuck out tongue and tightly-closed eyes": "Suo\u010diti s tr\u010dely jazykem t\u011bsn\u011b zav\u0159en\u00e9 vidikovce", + "Disappointed face": "Zklaman\u00fd tv\u00e1\u0159", + "Worried face": "Boj\u00ed\u0161 se tv\u00e1\u0159", + "Angry face": "Rozzloben\u00fd tv\u00e1\u0159", + "Pouting face": "Na\u0161pulen\u00e9 tv\u00e1\u0159", + "Crying face": "Pl\u00e1\u010d tv\u00e1\u0159", + "Persevering face": "Vytrval\u00fdm tv\u00e1\u0159", + "Face with look of triumph": "Tv\u00e1\u0159 s v\u00fdrazem triumfu", + "Disappointed but relieved face": "Zklaman\u00fd ale ulevilo tv\u00e1\u0159", + "Frowning face with open mouth": "Zamra\u010dil se obli\u010dej s otev\u0159en\u00fdmi \u00fasty", + "Anguished face": "\u00fazkostn\u00e9 tv\u00e1\u0159", + "Fearful face": "Stra\u0161n\u00fd tv\u00e1\u0159", + "Weary face": "Unaven\u00fd tv\u00e1\u0159", + "Sleepy face": "Ospal\u00fd tv\u00e1\u0159", + "Tired face": "Unaven\u00fd tv\u00e1\u0159", + "Grimacing face": "\u0161klebil tv\u00e1\u0159", + "Loudly crying face": "Hlasit\u011b pl\u00e1\u010de tv\u00e1\u0159", + "Face with open mouth": "Obli\u010dej s otev\u0159en\u00fdmi \u00fasty", + "Hushed face": "Tlumen\u00fd tv\u00e1\u0159", + "Face with open mouth and cold sweat": "Obli\u010dej s otev\u0159en\u00fdmi \u00fasty a studen\u00fd pot", + "Face screaming in fear": "Tv\u00e1\u0159 k\u0159i\u010d\u00ed ve strachu", + "Astonished face": "V \u00fa\u017easu tv\u00e1\u0159", + "Flushed face": "Zarudnut\u00ed v obli\u010deji", + "Sleeping face": "Sp\u00edc\u00ed tv\u00e1\u0159", + "Dizzy face": "Z\u00e1vrat\u011b tv\u00e1\u0159", + "Face without mouth": "Tv\u00e1\u0159 bez \u00fast", + "Face with medical mask": "Tv\u00e1\u0159 s l\u00e9ka\u0159sk\u00fdm maskou", + + // Line breaker + "Break": "P\u0159eru\u0161en\u00ed", + + // Math + "Subscript": "Doln\u00ed index", + "Superscript": "Horn\u00ed index", + + // Full screen + "Fullscreen": "Cel\u00e1 obrazovka", + + // Horizontal line + "Insert Horizontal Line": "Vlo\u017eit vodorovnou \u010d\u00e1ru", + + // Clear formatting + "Clear Formatting": "Vymazat form\u00e1tov\u00e1n\u00ed", + + // Save + "Save": "\u0055\u006c\u006f\u017e\u0069\u0074", + + // Undo, redo + "Undo": "Zp\u011bt", + "Redo": "Znovu", + + // Select all + "Select All": "Vybrat v\u0161e", + + // Code view + "Code View": "Zobrazen\u00ed k\u00f3d", + + // Quote + "Quote": "Cit\u00e1t", + "Increase": "Nav\u00fd\u0161it", + "Decrease": "Sn\u00ed\u017een\u00ed", + + // Quick Insert + "Quick Insert": "Rychl\u00e1 vlo\u017eka", + + // Spcial Characters + "Special Characters": "Speciální znaky", + "Latin": "Latinský", + "Greek": "Řecký", + "Cyrillic": "Cyrilice", + "Punctuation": "Interpunkce", + "Currency": "Měna", + "Arrows": "Šipky", + "Math": "Matematika", + "Misc": "Misc", + + // Print. + "Print": "Tisk", + + // Spell Checker. + "Spell Checker": "Kontrola pravopisu", + + // Help + "Help": "Pomoc", + "Shortcuts": "Zkratky", + "Inline Editor": "Inline editor", + "Show the editor": "Zobrazit editor", + "Common actions": "Společné akce", + "Copy": "Kopírovat", + "Cut": "Střih", + "Paste": "Vložit", + "Basic Formatting": "Základní formátování", + "Increase quote level": "Zvýšení cenové hladiny", + "Decrease quote level": "Snížit úroveň cenové nabídky", + "Image / Video": "Obraz / video", + "Resize larger": "Změna velikosti větší", + "Resize smaller": "Změnit velikost menší", + "Table": "Stůl", + "Select table cell": "Vyberte buňku tabulky", + "Extend selection one cell": "Rozšířit výběr o jednu buňku", + "Extend selection one row": "Rozšířit výběr o jeden řádek", + "Navigation": "Navigace", + "Focus popup / toolbar": "Popup / panel nástrojů zaostření", + "Return focus to previous position": "Návrat na předchozí pozici", + + // Embed.ly + "Embed URL": "Vložte url", + "Paste in a URL to embed": "Vložit adresu URL, kterou chcete vložit", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Vložený obsah pochází z dokumentu Microsoft Word. chcete formát uchovat nebo jej vyčistit?", + "Keep": "Držet", + "Clean": "Čistý", + "Word Paste Detected": "Slovní vložka zjištěna" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/cs.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/ko.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/ko.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/ko.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Korean + */ + +$.FE.LANGUAGE['ko'] = { + translation: { + // Place holder + "Type something": "\ub0b4\uc6a9\uc744 \uc785\ub825\ud558\uc138\uc694", + + // Basic formatting + "Bold": "\uad75\uac8c", + "Italic": "\uae30\uc6b8\uc784\uaf34", + "Underline": "\ubc11\uc904", + "Strikethrough": "\ucde8\uc18c\uc120", + + // Main buttons + "Insert": "\uc0bd\uc785", + "Delete": "\uc0ad\uc81c", + "Cancel": "\ucde8\uc18c", + "OK": "\uc2b9\uc778", + "Back": "\ub4a4\ub85c", + "Remove": "\uc81c\uac70", + "More": "\ub354", + "Update": "\uc5c5\ub370\uc774\ud2b8", + "Style": "\uc2a4\ud0c0\uc77c", + + // Font + "Font Family": "\uae00\uaf34", + "Font Size": "\ud3f0\ud2b8 \ud06c\uae30", + + // Colors + "Colors": "\uc0c9\uc0c1", + "Background": "\ubc30\uacbd", + "Text": "\ud14d\uc2a4\ud2b8", + "HEX Color": "\ud5e5\uc2a4 \uc0c9\uc0c1", + + // Paragraphs + "Paragraph Format": "\ub2e8\ub77d", + "Normal": "\ud45c\uc900", + "Code": "\ucf54\ub4dc", + "Heading 1": "\uc81c\ubaa9 1", + "Heading 2": "\uc81c\ubaa9 2", + "Heading 3": "\uc81c\ubaa9 3", + "Heading 4": "\uc81c\ubaa9 4", + + // Style + "Paragraph Style": "\ub2e8\ub77d \uc2a4\ud0c0\uc77c", + "Inline Style": "\uc778\ub77c\uc778 \uc2a4\ud0c0\uc77c", + + // Alignment + "Align": "\uc815\ub82c", + "Align Left": "\uc67c\ucabd\uc815\ub82c", + "Align Center": "\uac00\uc6b4\ub370\uc815\ub82c", + "Align Right": "\uc624\ub978\ucabd\uc815\ub82c", + "Align Justify": "\uc591\ucabd\uc815\ub82c", + "None": "\uc5c6\uc74c", + + // Lists + "Ordered List": "\uc22b\uc790 \ub9ac\uc2a4\ud2b8", + "Unordered List": "\uc810 \ub9ac\uc2a4\ud2b8", + + // Indent + "Decrease Indent": "\ub0b4\uc5b4\uc4f0\uae30", + "Increase Indent": "\ub4e4\uc5ec\uc4f0\uae30", + + // Links + "Insert Link": "\ub9c1\ud06c \uc0bd\uc785", + "Open in new tab": "\uc0c8 \ud0ed\uc5d0\uc11c \uc5f4\uae30", + "Open Link": "\ub9c1\ud06c \uc5f4\uae30", + "Edit Link": "\ud3b8\uc9d1 \ub9c1\ud06c", + "Unlink": "\ub9c1\ud06c\uc0ad\uc81c", + "Choose Link": "\ub9c1\ud06c\ub97c \uc120\ud0dd", + + // Images + "Insert Image": "\uc774\ubbf8\uc9c0 \uc0bd\uc785", + "Upload Image": "\uc774\ubbf8\uc9c0 \uc5c5\ub85c\ub4dc", + "By URL": "URL \ub85c", + "Browse": "\uac80\uc0c9", + "Drop image": "\uc774\ubbf8\uc9c0\ub97c \ub4dc\ub798\uadf8&\ub4dc\ub86d", + "or click": "\ub610\ub294 \ud074\ub9ad", + "Manage Images": "\uc774\ubbf8\uc9c0 \uad00\ub9ac", + "Loading": "\ub85c\ub4dc", + "Deleting": "\uc0ad\uc81c", + "Tags": "\ud0dc\uadf8", + "Are you sure? Image will be deleted.": "\ud655\uc2e4\ud55c\uac00\uc694? \uc774\ubbf8\uc9c0\uac00 \uc0ad\uc81c\ub429\ub2c8\ub2e4.", + "Replace": "\uad50\uccb4", + "Uploading": "\uc5c5\ub85c\ub4dc", + "Loading image": "\uc774\ubbf8\uc9c0 \ub85c\ub4dc \uc911", + "Display": "\ub514\uc2a4\ud50c\ub808\uc774", + "Inline": "\uc778\ub77c\uc778", + "Break Text": "\uad6c\ubd84 \ud14d\uc2a4\ud2b8", + "Alternative Text": "\ub300\uccb4 \ud14d\uc2a4\ud2b8", + "Change Size": "\ud06c\uae30 \ubcc0\uacbd", + "Width": "\ud3ed", + "Height": "\ub192\uc774", + "Something went wrong. Please try again.": "\ubb38\uc81c\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. \ub2e4\uc2dc \uc2dc\ub3c4\ud558\uc2ed\uc2dc\uc624.", + "Image Caption": "\uc774\ubbf8\uc9c0 \ucea1\uc158", + "Advanced Edit": "\uace0\uae09 \ud3b8\uc9d1", + + // Video + "Insert Video": "\ub3d9\uc601\uc0c1 \uc0bd\uc785", + "Embedded Code": "\uc784\ubca0\ub514\ub4dc \ucf54\ub4dc", + "Paste in a video URL": "\ub3d9\uc601\uc0c1 URL\uc5d0 \ubd99\uc5ec \ub123\uae30", + "Drop video": "\ub3d9\uc601\uc0c1\uc744 \ub4dc\ub798\uadf8&\ub4dc\ub86d", + "Your browser does not support HTML5 video.": "\uadc0\ud558\uc758 \ube0c\ub77c\uc6b0\uc800\ub294 html5 video\ub97c \uc9c0\uc6d0\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.", + "Upload Video": "\ub3d9\uc601\uc0c1 \uc5c5\ub85c\ub4dc", + + // Tables + "Insert Table": "\ud45c \uc0bd\uc785", + "Table Header": "\ud45c \ud5e4\ub354", + "Remove Table": "\ud45c \uc81c\uac70", + "Table Style": "\ud45c \uc2a4\ud0c0\uc77c", + "Horizontal Align": "\uc218\ud3c9 \uc815\ub82c", + "Row": "\ud589", + "Insert row above": "\uc55e\uc5d0 \ud589\uc744 \uc0bd\uc785", + "Insert row below": "\ub4a4\uc5d0 \ud589\uc744 \uc0bd\uc785", + "Delete row": "\ud589 \uc0ad\uc81c", + "Column": "\uc5f4", + "Insert column before": "\uc55e\uc5d0 \uc5f4\uc744 \uc0bd\uc785", + "Insert column after": "\ub4a4\uc5d0 \uc5f4\uc744 \uc0bd\uc785", + "Delete column": "\uc5f4 \uc0ad\uc81c", + "Cell": "\uc140", + "Merge cells": "\uc140 \ud569\uce58\uae30", + "Horizontal split": "\uc218\ud3c9 \ubd84\ud560", + "Vertical split": "\uc218\uc9c1 \ubd84\ud560", + "Cell Background": "\uc140 \ubc30\uacbd", + "Vertical Align": "\uc218\uc9c1 \uc815\ub82c", + "Top": "\uc704\ucabd \uc815\ub82c", + "Middle": "\uac00\uc6b4\ub370 \uc815\ub82c", + "Bottom": "\uc544\ub798\ucabd \uc815\ub82c", + "Align Top": "\uc704\ucabd\uc73c\ub85c \uc815\ub82c\ud569\ub2c8\ub2e4.", + "Align Middle": "\uac00\uc6b4\ub370\ub85c \uc815\ub82c\ud569\ub2c8\ub2e4.", + "Align Bottom": "\uc544\ub798\ucabd\uc73c\ub85c \uc815\ub82c\ud569\ub2c8\ub2e4.", + "Cell Style": "\uc140 \uc2a4\ud0c0\uc77c", + + // Files + "Upload File": "\ud30c\uc77c \ucca8\ubd80", + "Drop file": "\ud30c\uc77c\uc744 \ub4dc\ub798\uadf8&\ub4dc\ub86d", + + // Emoticons + "Emoticons": "\uc774\ubaa8\ud2f0\ucf58", + "Grinning face": "\uc5bc\uad74 \uc6c3\uae30\ub9cc", + "Grinning face with smiling eyes": "\ubbf8\uc18c\ub294 \ub208\uc744 \uac00\uc9c4 \uc5bc\uad74 \uc6c3\uae30\ub9cc", + "Face with tears of joy": "\uae30\uc068\uc758 \ub208\ubb3c\ub85c \uc5bc\uad74", + "Smiling face with open mouth": "\uc624\ud508 \uc785\uc73c\ub85c \uc6c3\ub294 \uc5bc\uad74", + "Smiling face with open mouth and smiling eyes": "\uc624\ud508 \uc785\uc73c\ub85c \uc6c3\ub294 \uc5bc\uad74\uacfc \ub208\uc744 \ubbf8\uc18c", + "Smiling face with open mouth and cold sweat": "\uc785\uc744 \uc5f4\uace0 \uc2dd\uc740 \ub540\uacfc \ud568\uaed8 \uc6c3\ub294 \uc5bc\uad74", + "Smiling face with open mouth and tightly-closed eyes": "\uc624\ud508 \uc785\uacfc \ubc00\uc811\ud558\uac8c \ub2eb\ud78c \ub41c \ub208\uc744 \uac00\uc9c4 \uc6c3\ub294 \uc5bc\uad74", + "Smiling face with halo": "\ud6c4\uad11 \uc6c3\ub294 \uc5bc\uad74", + "Smiling face with horns": "\ubfd4 \uc6c3\ub294 \uc5bc\uad74", + "Winking face": "\uc5bc\uad74 \uc719\ud06c", + "Smiling face with smiling eyes": "\uc6c3\ub294 \ub208\uc73c\ub85c \uc6c3\ub294 \uc5bc\uad74", + "Face savoring delicious food": "\ub9db\uc788\ub294 \uc74c\uc2dd\uc744 \uc74c\ubbf8 \uc5bc\uad74", + "Relieved face": "\uc548\ub3c4 \uc5bc\uad74", + "Smiling face with heart-shaped eyes": "\ud558\ud2b8 \ubaa8\uc591\uc758 \ub208\uc73c\ub85c \uc6c3\ub294 \uc5bc\uad74", + "Smiling face with sunglasses": "\uc120\uae00\ub77c\uc2a4 \uc6c3\ub294 \uc5bc\uad74", + "Smirking face": "\ub3c8\uc744 \uc9c0\ubd88 \uc5bc\uad74", + "Neutral face": "\uc911\ub9bd \uc5bc\uad74", + "Expressionless face": "\ubb34\ud45c\uc815 \uc5bc\uad74", + "Unamused face": "\uc990\uac81\uac8c\ud558\uc9c0 \uc5bc\uad74", + "Face with cold sweat": "\uc2dd\uc740 \ub540\uacfc \uc5bc\uad74", + "Pensive face": "\uc7a0\uaca8\uc788\ub294 \uc5bc\uad74", + "Confused face": "\ud63c\ub780 \uc5bc\uad74", + "Confounded face": "\ub9dd\ud560 \uac83 \uc5bc\uad74", + "Kissing face": "\uc5bc\uad74\uc744 \ud0a4\uc2a4", + "Face throwing a kiss": "\ud0a4\uc2a4\ub97c \ub358\uc9c0\uace0 \uc5bc\uad74", + "Kissing face with smiling eyes": "\ubbf8\uc18c\ub294 \ub208\uc744 \uac00\uc9c4 \uc5bc\uad74\uc744 \ud0a4\uc2a4", + "Kissing face with closed eyes": "\ub2eb\ud78c \ub41c \ub208\uc744 \uac00\uc9c4 \uc5bc\uad74\uc744 \ud0a4\uc2a4", + "Face with stuck out tongue": "\ub0b4\ubc00 \ud600 \uc5bc\uad74", + "Face with stuck out tongue and winking eye": "\ub0b4\ubc00 \ud600\uc640 \uc719\ud06c \ub208\uacfc \uc5bc\uad74", + "Face with stuck out tongue and tightly-closed eyes": "\ubc16\uc73c\ub85c \ubd99\uc5b4 \ud600\uc640 \ubc00\uc811\ud558\uac8c \ub2eb\ud78c \ub41c \ub208\uc744 \uac00\uc9c4 \uc5bc\uad74", + "Disappointed face": "\uc2e4\ub9dd \uc5bc\uad74", + "Worried face": "\uac71\uc815 \uc5bc\uad74", + "Angry face": "\uc131\ub09c \uc5bc\uad74", + "Pouting face": "\uc5bc\uad74\uc744 \uc090", + "Crying face": "\uc5bc\uad74 \uc6b0\ub294", + "Persevering face": "\uc5bc\uad74\uc744 \uc778\ub0b4", + "Face with look of triumph": "\uc2b9\ub9ac\uc758 \ud45c\uc815\uc73c\ub85c \uc5bc\uad74", + "Disappointed but relieved face": "\uc2e4\ub9dd\ud558\uc9c0\ub9cc \uc5bc\uad74\uc744 \uc548\uc2ec", + "Frowning face with open mouth": "\uc624\ud508 \uc785\uc73c\ub85c \uc5bc\uad74\uc744 \ucc21\uadf8\ub9bc", + "Anguished face": "\uace0\ub1cc\uc758 \uc5bc\uad74", + "Fearful face": "\ubb34\uc11c\uc6b4 \uc5bc\uad74", + "Weary face": "\uc9c0\uce5c \uc5bc\uad74", + "Sleepy face": "\uc2ac\ub9ac\ud53c \uc5bc\uad74", + "Tired face": "\ud53c\uace4 \uc5bc\uad74", + "Grimacing face": "\uc5bc\uad74\uc744 \ucc21\uadf8\ub9b0", + "Loudly crying face": "\ud070 \uc18c\ub9ac\ub85c \uc5bc\uad74\uc744 \uc6b8\uace0", + "Face with open mouth": "\uc624\ud508 \uc785\uc73c\ub85c \uc5bc\uad74", + "Hushed face": "\uc870\uc6a9\ud55c \uc5bc\uad74", + "Face with open mouth and cold sweat": "\uc785\uc744 \uc5f4\uace0 \uc2dd\uc740 \ub540\uc73c\ub85c \uc5bc\uad74", + "Face screaming in fear": "\uacf5\ud3ec\uc5d0 \ube44\uba85 \uc5bc\uad74", + "Astonished face": "\ub180\ub77c \uc5bc\uad74", + "Flushed face": "\ud50c\ub7ec\uc2dc \uc5bc\uad74", + "Sleeping face": "\uc5bc\uad74 \uc7a0\uc790\ub294", + "Dizzy face": "\ub514\uc9c0 \uc5bc\uad74", + "Face without mouth": "\uc785\uc5c6\uc774 \uc5bc\uad74", + "Face with medical mask": "\uc758\ub8cc \ub9c8\uc2a4\ud06c\ub85c \uc5bc\uad74", + + // Line breaker + "Break": "\ub2e8\uc808", + + // Math + "Subscript": "\uc544\ub798 \ucca8\uc790", + "Superscript": "\uc704 \ucca8\uc790", + + // Full screen + "Fullscreen": "\uc804\uccb4 \ud654\uba74", + + // Horizontal line + "Insert Horizontal Line": "\uc218\ud3c9\uc120\uc744 \uc0bd\uc785", + + // Clear formatting + "Clear Formatting": "\uc11c\uc2dd \uc81c\uac70", + + // Save + "Save": "\uad6c\ud558\ub2e4", + + // Undo, redo + "Undo": "\uc2e4\ud589 \ucde8\uc18c", + "Redo": "\ub418\ub3cc\ub9ac\uae30", + + // Select all + "Select All": "\uc804\uccb4\uc120\ud0dd", + + // Code view + "Code View": "\ucf54\ub4dc\ubcf4\uae30", + + // Quote + "Quote": "\uc778\uc6a9", + "Increase": "\uc99d\uac00", + "Decrease": "\uac10\uc18c", + + // Quick Insert + "Quick Insert": "\ube60\ub978 \uc0bd\uc785", + + // Spcial Characters + "Special Characters": "\ud2b9\uc218 \ubb38\uc790", + "Latin": "\ub77c\ud2f4\uc5b4", + "Greek": "\uadf8\ub9ac\uc2a4\uc5b4", + "Cyrillic": "\ud0a4\ub9b4 \ubb38\uc790", + "Punctuation": "\ubb38\uc7a5\ubd80\ud638", + "Currency": "\ud1b5\ud654", + "Arrows": "\ud654\uc0b4\ud45c", + "Math": "\uc218\ud559", + "Misc": "\uadf8 \uc678", + + // Print. + "Print": "\uc778\uc1c4", + + // Spell Checker. + "Spell Checker": "\ub9de\ucda4\ubc95 \uac80\uc0ac\uae30", + + // Help + "Help": "\ub3c4\uc6c0\ub9d0", + "Shortcuts": "\ub2e8\ucd95\ud0a4", + "Inline Editor": "\uc778\ub77c\uc778 \uc5d0\ub514\ud130", + "Show the editor": "\uc5d0\ub514\ud130 \ubcf4\uae30", + "Common actions": "\uc77c\ubc18 \ub3d9\uc791", + "Copy": "\ubcf5\uc0ac\ud558\uae30", + "Cut": "\uc798\ub77c\ub0b4\uae30", + "Paste": "\ubd99\uc5ec\ub123\uae30", + "Basic Formatting": "\uae30\ubcf8 \uc11c\uc2dd", + "Increase quote level": "\uc778\uc6a9 \uc99d\uac00", + "Decrease quote level": "\uc778\uc6a9 \uac10\uc18c", + "Image / Video": "\uc774\ubbf8\uc9c0 / \ub3d9\uc601\uc0c1", + "Resize larger": "\ud06c\uae30\ub97c \ub354 \ud06c\uac8c \uc870\uc815", + "Resize smaller": "\ud06c\uae30\ub97c \ub354 \uc791\uac8c \uc870\uc815", + "Table": "\ud45c", + "Select table cell": "\ud45c \uc140 \uc120\ud0dd", + "Extend selection one cell": "\uc140\uc758 \uc120\ud0dd \ubc94\uc704\ub97c \ud655\uc7a5", + "Extend selection one row": "\ud589\uc758 \uc120\ud0dd \ubc94\uc704\ub97c \ud655\uc7a5", + "Navigation": "\ub124\ube44\uac8c\uc774\uc158", + "Focus popup / toolbar": "\ud31d\uc5c5 / \ud234\ubc14\ub97c \ud3ec\ucee4\uc2a4", + "Return focus to previous position": "\uc774\uc804 \uc704\uce58\ub85c \ud3ec\ucee4\uc2a4 \ub418\ub3cc\ub9ac\uae30", + + // Embed.ly + "Embed URL": "\uc784\ubca0\ub4dc URL", + "Paste in a URL to embed": "\uc784\ubca0\ub4dc URL\uc5d0 \ubd99\uc5ec \ub123\uae30", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "\ubd99\uc5ec\ub123\uc740 \ubb38\uc11c\ub294 \ub9c8\uc774\ud06c\ub85c\uc18c\ud504\ud2b8 \uc6cc\ub4dc\uc5d0\uc11c \uac00\uc838\uc654\uc2b5\ub2c8\ub2e4. \ud3ec\ub9f7\uc744 \uc720\uc9c0\ud558\uac70\ub098 \uc815\ub9ac \ud558\uc2dc\uaca0\uc2b5\ub2c8\uae4c?", + "Keep": "\uc720\uc9c0", + "Clean": "\uc815\ub9ac", + "Word Paste Detected": "\uc6cc\ub4dc \ubd99\uc5ec \ub123\uae30\uac00 \uac80\ucd9c \ub418\uc5c8\uc2b5\ub2c8\ub2e4." + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/ko.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/pt_br.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/pt_br.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/pt_br.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Portuguese spoken in Brazil + */ + +$.FE.LANGUAGE['pt_br'] = { + translation: { + // Place holder + "Type something": "Digite algo", + + // Basic formatting + "Bold": "Negrito", + "Italic": "Itálito", + "Underline": "Sublinhar", + "Strikethrough": "Tachado", + + // Main buttons + "Insert": "Inserir", + "Delete": "Apagar", + "Cancel": "Cancelar", + "OK": "Ok", + "Back": "Voltar", + "Remove": "Remover", + "More": "Mais", + "Update": "Atualizar", + "Style": "Estilo", + + // Font + "Font Family": "Fonte", + "Font Size": "Tamanho", + + // Colors + "Colors": "Cores", + "Background": "Fundo", + "Text": "Texto", + "HEX Color": "Cor hexadecimal", + + // Paragraphs + "Paragraph Format": "Formatos", + "Normal": "Normal", + "Code": "Código", + "Heading 1": "Cabeçalho 1", + "Heading 2": "Cabeçalho 2", + "Heading 3": "Cabeçalho 3", + "Heading 4": "Cabeçalho 4", + + // Style + "Paragraph Style": "Estilo de parágrafo", + "Inline Style": "Estilo embutido", + + // Alignment + "Align": "Alinhar", + "Align Left": "Alinhar à esquerda", + "Align Center": "Centralizar", + "Align Right": "Alinhar à direita", + "Align Justify": "Justificar", + "None": "Nenhum", + + // Lists + "Ordered List": "Lista ordenada", + "Unordered List": "Lista não ordenada", + + // Indent + "Decrease Indent": "Diminuir recuo", + "Increase Indent": "Aumentar recuo", + + // Links + "Insert Link": "Inserir link", + "Open in new tab": "Abrir em uma nova aba", + "Open Link": "Abrir link", + "Edit Link": "Editar link", + "Unlink": "Remover link", + "Choose Link": "Escolha o link", + + // Images + "Insert Image": "Inserir imagem", + "Upload Image": "Carregar imagem", + "By URL": "Por um endereço URL", + "Browse": "Procurar", + "Drop image": "Arraste sua imagem aqui", + "or click": "ou clique aqui", + "Manage Images": "Gerenciar imagens", + "Loading": "Carregando", + "Deleting": "Excluindo", + "Tags": "Etiquetas", + "Are you sure? Image will be deleted.": "Você tem certeza? A imagem será apagada.", + "Replace": "Substituir", + "Uploading": "Carregando imagem", + "Loading image": "Carregando imagem", + "Display": "Exibir", + "Inline": "Em linha", + "Break Text": "Texto de quebra", + "Alternate Text": "Texto alternativo", + "Change Size": "Alterar tamanho", + "Width": "Largura", + "Height": "Altura", + "Something went wrong. Please try again.": "Algo deu errado. Por favor, tente novamente.", + "Image Caption": "Legenda da imagem", + "Advanced Edit": "Edição avançada", + + // Video + "Insert Video": "Inserir vídeo", + "Embedded Code": "Código embutido", + "Paste in a video URL": "Colar um endereço de vídeo", + "Drop video": "Solte o vídeo", + "Your browser does not support HTML5 vídeo.": "Seu navegador não suporta vídeo em HTML5.", + "Upload Video": "Carregar vídeo", + + // Tables + "Insert Table": "Inserir tabela", + "Table Header": "Cabeçalho da tabela", + "Remove Table": "Remover tabela", + "Table Style": "Estilo de tabela", + "Horizontal Align": "Alinhamento horizontal", + "Row": "Linha", + "Insert row above": "Inserir linha antes", + "Insert row below": "Inserir linha depois", + "Delete row": "Excluir linha", + "Column": "Coluna", + "Insert column before": "Inserir coluna antes", + "Insert column after": "Inserir coluna depois", + "Delete column": "Excluir coluna", + "Cell": "Célula", + "Merge cells": "Agrupar células", + "Horizontal split": "Divisão horizontal", + "Vertical split": "Divisão vertical", + "Cell Background": "Fundo da célula", + "Vertical Align": "Alinhamento vertical", + "Top": "Topo", + "Middle": "Meio", + "Bottom": "Fundo", + "Align Top": "Alinhar topo", + "Align Middle": "Alinhar meio", + "Align Bottom": "Alinhar fundo", + "Cell Style": "Estilo de célula", + + // Files + "Upload File": "Carregar arquivo", + "Drop file": "Arraste seu arquivo aqui", + + // Emoticons + "Emoticons": "Emoticons", + "Grinning face": "Rosto sorrindo", + "Grinning face with smiling eyes": "Rosto sorrindo rosto com olhos sorridentes", + "Face with tears of joy": "Rosto com lágrimas de alegria", + "Smiling face with open mouth": "Rosto sorrindo com a boca aberta", + "Smiling face with open mouth and smiling eyes": "Rosto sorrindo com a boca aberta e olhos sorridentes", + "Smiling face with open mouth and cold sweat": "Rosto sorrindo com a boca aberta e suor frio", + "Smiling face with open mouth and tightly-closed eyes": "Rosto sorrindo com a boca aberta e os olhos bem fechados", + "Smiling face with halo": "Rosto sorrindo com aréola", + "Smiling face with horns": "Rosto sorrindo com chifres", + "Winking face": "Rosto piscando", + "Smiling face with smiling eyes": "Rosto sorrindo com olhos sorridentes", + "Face savoring delicious food": "Rosto saboreando uma deliciosa comida", + "Relieved face": "Rosto aliviado", + "Smiling face with heart-shaped eyes": "Rosto sorrindo com os olhos em forma de coração", + "Smiling face with sunglasses": "Rosto sorrindo com óculos de sol", + "Smirking face": "Rosto sorridente", + "Neutral face": "Rosto neutro", + "Expressionless face": "Rosto inexpressivo", + "Unamused face": "Rosto sem expressão", + "Face with cold sweat": "Rosto com suor frio", + "Pensive face": "Rosto pensativo", + "Confused face": "Rosto confuso", + "Confounded face": "Rosto atônito", + "Kissing face": "Rosto beijando", + "Face throwing a kiss": "Rosto jogando um beijo", + "Kissing face with smiling eyes": "Rosto beijando com olhos sorridentes", + "Kissing face with closed eyes": "Rosto beijando com os olhos fechados", + "Face with stuck out tongue": "Rosto com a língua para fora", + "Face with stuck out tongue and winking eye": "Rosto com a língua para fora e um olho piscando", + "Face with stuck out tongue and tightly-closed eyes": "Rosto com a língua para fora e os olhos bem fechados", + "Disappointed face": "Rosto decepcionado", + "Worried face": "Rosto preocupado", + "Angry face": "Rosto irritado", + "Pouting face": "Rosto com beicinho", + "Crying face": "Rosto chorando", + "Persevering face": "Rosto perseverante", + "Face with look of triumph": "Rosto com olhar de triunfo", + "Disappointed but relieved face": "Rosto decepcionado mas aliviado", + "Frowning face with open mouth": "Rosto franzido com a boca aberta", + "Anguished face": "Rosto angustiado", + "Fearful face": "Rosto com medo", + "Weary face": "Rosto cansado", + "Sleepy face": "Rosto com sono", + "Tired face": "Rosto cansado", + "Grimacing face": "Rosto fazendo careta", + "Loudly crying face": "Rosto chorando alto", + "Face with open mouth": "Rosto com a boca aberta", + "Hushed face": "Rosto silencioso", + "Face with open mouth and cold sweat": "Rosto com a boca aferta e suando frio", + "Face screaming in fear": "Rosto gritando de medo", + "Astonished face": "Rosto surpreso", + "Flushed face": "Rosto envergonhado", + "Sleeping face": "Rosto dormindo", + "Dizzy face": "Rosto tonto", + "Face without mouth": "Rosto sem boca", + "Face with medical mask": "Rosto com máscara médica", + + // Line breaker + "Break": "Quebrar linha", + + // Math + "Subscript": "Subscrito", + "Superscript": "Sobrescrito", + + // Full screen + "Fullscreen": "Tela cheia", + + // Horizontal line + "Insert Horizontal Line": "Inserir linha horizontal", + + // Clear formatting + "Clear Formatting": "Remover formatação", + + // Save + "Save": "\u0053\u0061\u006c\u0076\u0065", + + // Undo, redo + "Undo": "Desfazer", + "Redo": "Refazer", + + // Select all + "Select All": "Selecionar tudo", + + // Code view + "Code View": "Exibir de código", + + // Quote + "Quote": "Citação", + "Increase": "Aumentar", + "Decrease": "Diminuir", + + // Quick Insert + "Quick Insert": "Inserção rápida", + + // Spcial Characters + "Special Characters": "Caracteres especiais", + "Latin": "Latino", + "Greek": "Grego", + "Cyrillic": "Cirílico", + "Punctuation": "Pontuação", + "Currency": "Moeda", + "Arrows": "Setas", + "Math": "Matemática", + "Misc": "Misc", + + // Print. + "Print": "Impressão", + + // Spell Checker. + "Spell Checker": "Corretor ortográfico", + + // Help + "Help": "Ajuda", + "Shortcuts": "Atalhos", + "Inline Editor": "Editor em linha", + "Show the editor": "Mostre o editor", + "Common actions": "Ações comuns", + "Copy": "Cópia de", + "Cut": "Cortar", + "Paste": "Colar", + "Basic Formatting": "Formatação básica", + "Increase quote level": "Aumentar o nível de cotação", + "Decrease quote level": "Diminuir o nível de cotação", + "Image / Video": "Imagem / Vídeo", + "Resize larger": "Redimensionar maior", + "Resize smaller": "Redimensionar menor", + "Table": "Tabela", + "Select table cell": "Selecione a célula da tabela", + "Extend selection one cell": "Ampliar a seleção de uma célula", + "Extend selection one row": "Ampliar a seleção de uma linha", + "Navigation": "Navegação", + "Focus popup / toolbar": "Pop-up de foco / Barra de ferramentas", + "Return focus to previous position": "Retornar o foco para a posição anterior", + + // Embed.ly + "Embed URL": "URL de inserção", + "Paste in a URL to embed": "Colar um endereço URL para incorporar", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "O conteúdo colado vem de um documento Microsoft Word. Você quer manter o formato ou limpá-lo?", + "Keep": "Manter", + "Clean": "Limpar", + "Word Paste Detected": "Colar do Word detectado" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/pt_br.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/sr.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/sr.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/sr.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Serbian (Latin) + */ + +$.FE.LANGUAGE['sr'] = { + translation: { + // Place holder + "Type something": "Ukucajte ne\u0161tp", + + // Basic formatting + "Bold": "Podebljan", + "Italic": "Isko\u0161en", + "Underline": "Podvu\u010deno", + "Strikethrough": "Precrtan", + + // Main buttons + "Insert": "Umetanje", + "Delete": "Izbri\u0161i", + "Cancel": "Otkazivanje", + "OK": "Ok", + "Back": "Nazad", + "Remove": "Uklonite", + "More": "Vi\u0161e", + "Update": "A\u017euriranje", + "Style": "Stil", + + // Font + "Font Family": "Odaberi font", + "Font Size": "Veli\u010dina fontova", + + // Colors + "Colors": "Boje", + "Background": "Pozadina", + "Text": "Tekst", + "HEX Color": "HEX boje", + + // Paragraphs + "Paragraph Format": "Format pasusa", + "Normal": "Normalno", + "Code": "\u0160ifra", + "Heading 1": "Naslov 1", + "Heading 2": "Naslov 2", + "Heading 3": "Naslov 3", + "Heading 4": "Naslov 4", + + // Style + "Paragraph Style": "Stil pasusa", + "Inline Style": "Umetnutih stilova", + + // Alignment + "Align": "Poravnavanje", + "Align Left": "Poravnaj levo", + "Align Center": "Poravnaj u centru", + "Align Right": "Poravnaj desno", + "Align Justify": "Obostrano poravnavanje", + "None": "Niko nije", + + // Lists + "Ordered List": "Ure\u0111enih lista", + "Unordered List": "Neure\u0111enu lista", + + // Indent + "Decrease Indent": "Smanjivanje uvla\u010denja", + "Increase Indent": "Pove\u0107avanje uvla\u010denja", + + // Links + "Insert Link": "Umetni vezu", + "Open in new tab": "Otvori na novoj kartici", + "Open Link": "Otvori vezu", + "Edit Link": "Ure\u0111ivanje veze", + "Unlink": "Ukloni vezu", + "Choose Link": "Odaberite vezu", + + // Images + "Insert Image": "Umetanje slike", + "Upload Image": "Otpremanje slika", + "By URL": "Po URL adresi", + "Browse": "Potra\u017ei", + "Drop image": "Baci sliku", + "or click": "ili kliknite na dugme", + "Manage Images": "Upravljanje slike", + "Loading": "U\u010ditavanje", + "Deleting": "Brisanje", + "Tags": "Oznake", + "Are you sure? Image will be deleted.": "Jesi siguran? Slika \u0107e biti izbrisana.", + "Replace": "Zameni", + "Uploading": "Otpremanje", + "Loading image": "U\u010ditavanje slika", + "Display": "Prikaz", + "Inline": "Pri upisivanju", + "Break Text": "Prelom teksta", + "Alternative Text": "Alternativni tekst", + "Change Size": "Promena veli\u010dine", + "Width": "\u0160irina", + "Height": "Visina", + "Something went wrong. Please try again.": "Ne\u0161to krenulo naopako. Poku\u0161ajte ponovo.", + "Image Caption": "Slika natpisa", + "Advanced Edit": "Napredno uređivanje", + + // Video + "Insert Video": "Umetanje video", + "Embedded Code": "Ugra\u0111eni k\u00f4d", + "Paste in a video URL": "Lepljenje u video URL", + "Drop video": "Baci snimak", + "Your browser does not support HTML5 video.": "Vaš pregledač ne podržava HTML5 video.", + "Upload Video": "Otpremanje video", + + // Tables + "Insert Table": "Umetni tabelu", + "Table Header": "Zaglavlje tabele", + "Remove Table": "Uklanjanje tabele", + "Table Style": "Stil tabele", + "Horizontal Align": "Horizontalno poravnavanje", + "Row": "Red", + "Insert row above": "Umetni red iznad", + "Insert row below": "Umetni red ispod", + "Delete row": "Izbri\u0161i red", + "Column": "Kolone", + "Insert column before": "Umetnite kolonu pre", + "Insert column after": "Umetnite kolonu nakon", + "Delete column": "Izbri\u0161i kolone", + "Cell": "Mobilni", + "Merge cells": "Objedinjavanje \u0107elija", + "Horizontal split": "Horizontalna split", + "Vertical split": "Vertikalno razdelite", + "Cell Background": "Mobilni pozadina", + "Vertical Align": "Vertikalno poravnavanje", + "Top": "Top", + "Middle": "Srednji", + "Bottom": "Dno", + "Align Top": "Poravnaj gore", + "Align Middle": "Poravnaj po sredini", + "Align Bottom": "Poravnaj dole", + "Cell Style": "Mobilni stil", + + // Files + "Upload File": "Otpremanje datoteke", + "Drop file": "Baci datoteku", + + // Emoticons + "Emoticons": "Emotikona", + "Grinning face": "Nasmejanoj lice", + "Grinning face with smiling eyes": "Nasmejanoj lice sa osmehom o\u010di", + "Face with tears of joy": "Suo\u010davaju sa suzama radosnicama", + "Smiling face with open mouth": "Nasmejano lice sa otvorenim ustima", + "Smiling face with open mouth and smiling eyes": "Lica sa otvorenim ustima i nasmejani o\u010di", + "Smiling face with open mouth and cold sweat": "Nasmejano lice sa otvorenih usta i hladan znoj", + "Smiling face with open mouth and tightly-closed eyes": "Nasmejano lice otvorenih usta i \u010dvrsto zatvorenih o\u010diju", + "Smiling face with halo": "Nasmejano lice sa oreolom", + "Smiling face with horns": "Nasmejano lice sa rogovima", + "Winking face": "Namigivanje lice", + "Smiling face with smiling eyes": "Lica sa osmehom o\u010di", + "Face savoring delicious food": "Lice u\u045bivaju\u0436i u ukusnu hranu", + "Relieved face": "Laknulo lice", + "Smiling face with heart-shaped eyes": "Nasmejano lice sa o\u010dima u obliku srca", + "Smiling face with sunglasses": "Nasmejano lice sa nao\u010dare", + "Smirking face": "Rugaju\u0436i lice", + "Neutral face": "Neutralno lice", + "Expressionless face": "Bez izraza lica.", + "Unamused face": "Nije zapaljen lice", + "Face with cold sweat": "Suo\u010davaju sa hladnim znojem", + "Pensive face": "Nevesela lica", + "Confused face": "Zbunjeno lice", + "Confounded face": "Dosadnih lice", + "Kissing face": "Ljubim lice", + "Face throwing a kiss": "Lice baca poljubac", + "Kissing face with smiling eyes": "Ljubi lice sa osmehom o\u010di", + "Kissing face with closed eyes": "Ljubi lice sa zatvorenim o\u010dima", + "Face with stuck out tongue": "Lice sa zaglavio jezik", + "Face with stuck out tongue and winking eye": "Lice sa zaglavljen jezik i namigivanje", + "Face with stuck out tongue and tightly-closed eyes": "Lice sa zaglavljen jezik i cvrsto zatvorene o\u010di", + "Disappointed face": "Razo\u010darani lice", + "Worried face": "Zabrinuto lice", + "Angry face": "Ljut lice", + "Pouting face": "Zlovoljan lice", + "Crying face": "Plakanje lice", + "Persevering face": "Istrajnog lice", + "Face with look of triumph": "Suo\u010davaju sa izgledom trijumfa", + "Disappointed but relieved face": "Razo\u010daran ali laknulo lice", + "Frowning face with open mouth": "Namršten lice sa otvorenim ustima", + "Anguished face": "Enih lica", + "Fearful face": "Strahu lice", + "Weary face": "Umorna lica", + "Sleepy face": "Spava mi se lice", + "Tired face": "Umorna lica", + "Grimacing face": "Klupi lice", + "Loudly crying face": "Glasno plakanje lice", + "Face with open mouth": "Suo\u010davaju sa otvorenim ustima", + "Hushed face": "Tihim lice", + "Face with open mouth and cold sweat": "Suo\u010davaju sa otvorenih usta i hladan znoj", + "Face screaming in fear": "Lice vrisak u strahu", + "Astonished face": "Zadivljeni lice", + "Flushed face": "Uplakanu lice", + "Sleeping face": "Pospanog lica", + "Dizzy face": "Lice mi se vrti", + "Face without mouth": "Lice bez jezika", + "Face with medical mask": "Suo\u010davaju sa medicinskim masku", + + // Line breaker + "Break": "Prelom", + + // Math + "Subscript": "Indeksni tekst", + "Superscript": "Eksponentni tekst", + + // Full screen + "Fullscreen": "Puni ekran", + + // Horizontal line + "Insert Horizontal Line": "Umetni horizontalnu liniju", + + // Clear formatting + "Clear Formatting": "Brisanje oblikovanja", + + // Save + "Save": "\u0441\u0430\u0447\u0443\u0432\u0430\u0442\u0438", + + // Undo, redo + "Undo": "Opozovi radnju", + "Redo": "Ponavljanje", + + // Select all + "Select All": "Izaberi sve", + + // Code view + "Code View": "Prikaz koda", + + // Quote + "Quote": "Ponude", + "Increase": "Pove\u0107anje", + "Decrease": "Smanjivanje", + + // Quick Insert + "Quick Insert": "Brzo umetanje", + + // Spcial Characters + "Special Characters": "Specijalni znakovi", + "Latin": "Latino", + "Greek": "Grk", + "Cyrillic": "Ćirilica", + "Punctuation": "Interpunkcije", + "Currency": "Valuta", + "Arrows": "Strelice", + "Math": "Matematika", + "Misc": "Misc", + + // Print. + "Print": "Odštampaj", + + // Spell Checker. + "Spell Checker": "Kontrolor pravopisa", + + // Help + "Help": "Pomoć", + "Shortcuts": "Prečice", + "Inline Editor": "Pri upisivanju Editor", + "Show the editor": "Prikaži urednik", + "Common actions": "Zajedničke akcije", + "Copy": "Kopija", + "Cut": "Rez", + "Paste": "Nalepi", + "Basic Formatting": "Osnovno oblikovanje", + "Increase quote level": "Povećati ponudu za nivo", + "Decrease quote level": "Smanjenje ponude nivo", + "Image / Video": "Slika / Video", + "Resize larger": "Veće veličine", + "Resize smaller": "Promena veličine manji", + "Table": "Sto", + "Select table cell": "Select ćelije", + "Extend selection one cell": "Proširite selekciju jednu ćeliju", + "Extend selection one row": "Proširite selekciju jedan red", + "Navigation": "Navigacija", + "Focus popup / toolbar": "Fokus Iskačući meni / traka sa alatkama", + "Return focus to previous position": "Vratiti fokus na prethodnu poziciju", + + // Embed.ly + "Embed URL": "Ugradite URL", + "Paste in a URL to embed": "Nalepite URL adresu da biste ugradili", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Nalepljeni sadržaj dolazi iz Microsoft Word dokument. Da li želite zadržati u formatu ili počistiti?", + "Keep": "Nastavi", + "Clean": "Oиisti", + "Word Paste Detected": "Word Nalepi otkriven" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/sr.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/es.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/es.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/es.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Spanish + */ + +$.FE.LANGUAGE['es'] = { + translation: { + // Place holder + "Type something": "Escriba algo", + + // Basic formatting + "Bold": "Negrita", + "Italic": "It\u00e1lica", + "Underline": "Subrayado", + "Strikethrough": "Tachado", + + // Main buttons + "Insert": "Insertar", + "Delete": "Borrar", + "Cancel": "Cancelar", + "OK": "Ok", + "Back": "Atr\u00e1s", + "Remove": "Quitar", + "More": "M\u00e1s", + "Update": "Actualizaci\u00f3n", + "Style": "Estilo", + + // Font + "Font Family": "Familia de fuentes", + "Font Size": "Tama\u00f1o de fuente", + + // Colors + "Colors": "Colores", + "Background": "Fondo", + "Text": "Texto", + "HEX Color": "Color hexadecimal", + + // Paragraphs + "Paragraph Format": "Formato de p\u00e1rrafo", + "Normal": "Normal", + "Code": "C\u00f3digo", + "Heading 1": "Encabezado 1", + "Heading 2": "Encabezado 2", + "Heading 3": "Encabezado 3", + "Heading 4": "Encabezado 4", + + // Style + "Paragraph Style": "Estilo de p\u00e1rrafo", + "Inline Style": "Estilo en l\u00ednea", + + // Alignment + "Align": "Alinear", + "Align Left": "Alinear a la izquierda", + "Align Center": "Alinear al centro", + "Align Right": "Alinear a la derecha", + "Align Justify": "Justificar", + "None": "Ninguno", + + // Lists + "Ordered List": "Lista ordenada", + "Unordered List": "Lista desordenada", + + // Indent + "Decrease Indent": "Reducir sangr\u00eda", + "Increase Indent": "Aumentar sangr\u00eda", + + // Links + "Insert Link": "Insertar enlace", + "Open in new tab": "Abrir en una nueva pesta\u00F1a", + "Open Link": "Abrir enlace", + "Edit Link": "Editar enlace", + "Unlink": "Quitar enlace", + "Choose Link": "Elegir enlace", + + // Images + "Insert Image": "Insertar imagen", + "Upload Image": "Cargar imagen", + "By URL": "Por URL", + "Browse": "Examinar", + "Drop image": "Soltar la imagen", + "or click": "o haga clic en", + "Manage Images": "Administrar im\u00e1genes", + "Loading": "Cargando", + "Deleting": "Borrado", + "Tags": "Etiquetas", + "Are you sure? Image will be deleted.": "\u00bfEst\u00e1 seguro? Imagen ser\u00e1 borrada.", + "Replace": "Reemplazar", + "Uploading": "Carga", + "Loading image": "Cargando imagen", + "Display": "Mostrar", + "Inline": "En l\u00ednea", + "Break Text": "Romper texto", + "Alternative Text": "Texto alternativo", + "Change Size": "Cambiar tama\u00f1o", + "Width": "Ancho", + "Height": "Altura", + "Something went wrong. Please try again.": "Algo sali\u00f3 mal. Por favor, vuelva a intentarlo.", + "Image Caption": "Captura de imagen", + "Advanced Edit": "Edición avanzada", + + // Video + "Insert Video": "Insertar video", + "Embedded Code": "C\u00f3digo incrustado", + "Paste in a video URL": "Pegar en una URL de video", + "Drop video": "Soltar video", + "Your browser does not support HTML5 video.": "Su navegador no es compatible con video html5.", + "Upload Video": "Subir video", + + // Tables + "Insert Table": "Insertar tabla", + "Table Header": "Encabezado de la tabla", + "Remove Table": "Retire la tabla", + "Table Style": "Estilo de tabla", + "Horizontal Align": "Alinear horizontal", + "Row": "Fila", + "Insert row above": "Insertar fila antes", + "Insert row below": "Insertar fila despu\u00e9s", + "Delete row": "Eliminar fila", + "Column": "Columna", + "Insert column before": "Insertar columna antes", + "Insert column after": "Insertar columna despu\u00e9s", + "Delete column": "Eliminar columna", + "Cell": "Celda", + "Merge cells": "Combinar celdas", + "Horizontal split": "Divisi\u00f3n horizontal", + "Vertical split": "Divisi\u00f3n vertical", + "Cell Background": "Fondo de la celda", + "Vertical Align": "Alinear vertical", + "Top": "Cima", + "Middle": "Medio", + "Bottom": "Del fondo", + "Align Top": "Alinear a la parte superior", + "Align Middle": "Alinear media", + "Align Bottom": "Alinear abajo", + "Cell Style": "Estilo de celda", + + // Files + "Upload File": "Subir archivo", + "Drop file": "Soltar archivo", + + // Emoticons + "Emoticons": "Emoticones", + "Grinning face": "Sonriendo cara", + "Grinning face with smiling eyes": "Sonriendo cara con ojos sonrientes", + "Face with tears of joy": "Cara con l\u00e1grimas de alegr\u00eda", + "Smiling face with open mouth": "Cara sonriente con la boca abierta", + "Smiling face with open mouth and smiling eyes": "Cara sonriente con la boca abierta y los ojos sonrientes", + "Smiling face with open mouth and cold sweat": "Cara sonriente con la boca abierta y el sudor fr\u00edo", + "Smiling face with open mouth and tightly-closed eyes": "Cara sonriente con la boca abierta y los ojos fuertemente cerrados", + "Smiling face with halo": "Cara sonriente con halo", + "Smiling face with horns": "Cara sonriente con cuernos", + "Winking face": "Gui\u00f1o de la cara", + "Smiling face with smiling eyes": "Cara sonriente con ojos sonrientes", + "Face savoring delicious food": "Care saborear una deliciosa comida", + "Relieved face": "Cara Aliviado", + "Smiling face with heart-shaped eyes": "Cara sonriente con los ojos en forma de coraz\u00f3n", + "Smiling face with sunglasses": "Cara sonriente con gafas de sol", + "Smirking face": "Sonriendo cara", + "Neutral face": "Cara neutral", + "Expressionless face": "Rostro inexpresivo", + "Unamused face": "Cara no divertido", + "Face with cold sweat": "Cara con sudor fr\u00edo", + "Pensive face": "Rostro pensativo", + "Confused face": "Cara confusa", + "Confounded face": "Cara Averg\u00fc\u00e9ncense", + "Kissing face": "Besar la cara", + "Face throwing a kiss": "Cara lanzando un beso", + "Kissing face with smiling eyes": "Besar a cara con ojos sonrientes", + "Kissing face with closed eyes": "Besar a cara con los ojos cerrados", + "Face with stuck out tongue": "Cara con la lengua pegada", + "Face with stuck out tongue and winking eye": "Cara con pegado a la lengua y los ojos gui\u00f1o", + "Face with stuck out tongue and tightly-closed eyes": "Cara con la lengua pegada a y los ojos fuertemente cerrados", + "Disappointed face": "Cara decepcionado", + "Worried face": "Cara de preocupaci\u00f3n", + "Angry face": "Cara enojada", + "Pouting face": "Que pone mala cara", + "Crying face": "Cara llorando", + "Persevering face": "Perseverar cara", + "Face with look of triumph": "Cara con expresi\u00f3n de triunfo", + "Disappointed but relieved face": "Decepcionado pero el rostro aliviado", + "Frowning face with open mouth": "Con el ce\u00f1o fruncido la cara con la boca abierta", + "Anguished face": "Rostro angustiado", + "Fearful face": "Cara Temeroso", + "Weary face": "Rostro cansado", + "Sleepy face": "Rostro so\u00f1oliento", + "Tired face": "Rostro cansado", + "Grimacing face": "Haciendo una mueca cara", + "Loudly crying face": "Llorando en voz alta la cara", + "Face with open mouth": "Cara con la boca abierta", + "Hushed face": "Cara callada", + "Face with open mouth and cold sweat": "Cara con la boca abierta y el sudor frío", + "Face screaming in fear": "Cara gritando de miedo", + "Astonished face": "Cara asombrosa", + "Flushed face": "Cara enrojecida", + "Sleeping face": "Rostro dormido", + "Dizzy face": "Cara Mareado", + "Face without mouth": "Cara sin boca", + "Face with medical mask": "Cara con la m\u00e1scara m\u00e9dica", + + // Line breaker + "Break": "Romper", + + // Math + "Subscript": "Sub\u00edndice", + "Superscript": "Super\u00edndice", + + // Full screen + "Fullscreen": "Pantalla completa", + + // Horizontal line + "Insert Horizontal Line": "Insertar l\u00ednea horizontal", + + // Clear formatting + "Clear Formatting": "Quitar el formato", + + // Save + "Save": "Salvar", + + // Undo, redo + "Undo": "Deshacer", + "Redo": "Rehacer", + + // Select all + "Select All": "Seleccionar todo", + + // Code view + "Code View": "Vista de c\u00f3digo", + + // Quote + "Quote": "Cita", + "Increase": "Aumentar", + "Decrease": "Disminuci\u00f3n", + + // Quick Insert + "Quick Insert": "Inserci\u00f3n r\u00e1pida", + + // Spcial Characters + "Special Characters": "Caracteres especiales", + "Latin": "Latín", + "Greek": "Griego", + "Cyrillic": "Cirílico", + "Punctuation": "Puntuación", + "Currency": "Moneda", + "Arrows": "Flechas", + "Math": "Mates", + "Misc": "Misc", + + // Print. + "Print": "Impresión", + + // Spell Checker. + "Spell Checker": "Corrector ortográfico", + + // Help + "Help": "Ayuda", + "Shortcuts": "Atajos", + "Inline Editor": "Editor en línea", + "Show the editor": "Mostrar al editor", + "Common actions": "Acciones comunes", + "Copy": "Dupdo", + "Cut": "Cortar", + "Paste": "Pegar", + "Basic Formatting": "Formato básico", + "Increase quote level": "Aumentar el nivel de cotización", + "Decrease quote level": "Disminuir el nivel de cotización", + "Image / Video": "Imagen / video", + "Resize larger": "Redimensionar más grande", + "Resize smaller": "Redimensionar más pequeño", + "Table": "Mesa", + "Select table cell": "Celda de tabla select", + "Extend selection one cell": "Ampliar la selección una celda", + "Extend selection one row": "Ampliar la selección una fila", + "Navigation": "Navegación", + "Focus popup / toolbar": "Focus popup / toolbar", + "Return focus to previous position": "Volver al foco a la posición anterior", + + // Embed.ly + "Embed URL": "URL de inserción", + "Paste in a URL to embed": "Pegar en una url para incrustar", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "El contenido pegado viene de un documento de Microsoft Word. ¿Quieres mantener el formato o limpiarlo?", + "Keep": "Guardar", + "Clean": "Limpiar", + "Word Paste Detected": "Palabra detectada" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/es.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/hr.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/hr.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/hr.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Croatian + */ + +$.FE.LANGUAGE['hr'] = { + translation: { + // Place holder + "Type something": "Napi\u0161i ne\u0161to", + + // Basic formatting + "Bold": "Podebljaj", + "Italic": "Kurziv", + "Underline": "Podcrtano", + "Strikethrough": "Precrtano", + + // Main buttons + "Insert": "Umetni", + "Delete": "Obri\u0161i", + "Cancel": "Otka\u017ei", + "OK": "U redu", + "Back": "Natrag", + "Remove": "Ukloni", + "More": "Vi\u0161e", + "Update": "A\u017euriraj", + "Style": "Stil", + + // Font + "Font Family": "Odaberi font", + "Font Size": "Veli\u010dina fonta", + + // Colors + "Colors": "Boje", + "Background": "Pozadina", + "Text": "Tekst", + "HEX Color": "Heksadecimalne boje", + + // Paragraphs + "Paragraph Format": "Format odlomka", + "Normal": "Normalno", + "Code": "Izvorni kod", + "Heading 1": "Naslov 1", + "Heading 2": "Naslov 2", + "Heading 3": "Naslov 3", + "Heading 4": "Naslov 4", + + // Style + "Paragraph Style": "Stil odlomka", + "Inline Style": "Stil u liniji", + + // Alignment + "Align": "Poravnaj", + "Align Left": "Poravnaj lijevo", + "Align Center": "Poravnaj po sredini", + "Align Right": "Poravnaj desno", + "Align Justify": "Obostrano poravnanje", + "None": "Nijedan", + + // Lists + "Ordered List": "Ure\u0111ena lista", + "Unordered List": "Neure\u0111ena lista", + + // Indent + "Decrease Indent": "Uvuci odlomak", + "Increase Indent": "Izvuci odlomak", + + // Links + "Insert Link": "Umetni link", + "Open in new tab": "Otvori u novom prozoru", + "Open Link": "Otvori link", + "Edit Link": "Uredi link", + "Unlink": "Ukloni link", + "Choose Link": "Odaberi link", + + // Images + "Insert Image": "Umetni sliku", + "Upload Image": "Prijenos slike", + "By URL": "Prema URL", + "Browse": "Odabir", + "Drop image": "Ispusti sliku", + "or click": "ili odaberi", + "Manage Images": "Upravljanje slikama", + "Loading": "U\u010ditavanje", + "Deleting": "Brisanje", + "Tags": "Oznake", + "Are you sure? Image will be deleted.": "Da li ste sigurni da \u017eelite obrisati ovu sliku?", + "Replace": "Zamijeni", + "Uploading": "Prijenos", + "Loading image": "Otvaram sliku", + "Display": "Prika\u017ei", + "Inline": "U liniji", + "Break Text": "Odvojeni tekst", + "Alternative Text": "Alternativni tekst", + "Change Size": "Promjena veli\u010dine", + "Width": "\u0160irina", + "Height": "Visina", + "Something went wrong. Please try again.": "Ne\u0161to je po\u0161lo po zlu. Molimo poku\u0161ajte ponovno.", + "Image Caption": "Opis slike", + "Advanced Edit": "Napredno uređivanje", + + // Video + "Insert Video": "Umetni video", + "Embedded Code": "Ugra\u0111eni kod", + "Paste in a video URL": "Zalijepite u URL videozapisa", + "Drop video": "Ispusti video", + "Your browser does not support HTML5 video.": "Vaš preglednik ne podržava HTML video.", + "Upload Video": "Prenesi videozapis", + + // Tables + "Insert Table": "Umetni tablicu", + "Table Header": "Zaglavlje tablice", + "Remove Table": "Izbri\u0161i tablicu", + "Table Style": "Tablica stil", + "Horizontal Align": "Horizontalna poravnanje", + "Row": "Red", + "Insert row above": "Umetni red iznad", + "Insert row below": "Umetni red ispod", + "Delete row": "Obri\u0161i red", + "Column": "Stupac", + "Insert column before": "Umetni stupac prije", + "Insert column after": "Umetni stupac poslije", + "Delete column": "Obri\u0161i stupac", + "Cell": "Polje", + "Merge cells": "Spoji polja", + "Horizontal split": "Horizontalno razdvajanje polja", + "Vertical split": "Vertikalno razdvajanje polja", + "Cell Background": "Polje pozadine", + "Vertical Align": "Vertikalno poravnanje", + "Top": "Vrh", + "Middle": "Sredina", + "Bottom": "Dno", + "Align Top": "Poravnaj na vrh", + "Align Middle": "Poravnaj po sredini", + "Align Bottom": "Poravnaj na dno", + "Cell Style": "Stil polja", + + // Files + "Upload File": "Prijenos datoteke", + "Drop file": "Ispusti datoteku", + + // Emoticons + "Emoticons": "Emotikoni", + "Grinning face": "Nacereno lice", + "Grinning face with smiling eyes": "Nacereno lice s nasmije\u0161enim o\u010dima", + "Face with tears of joy": "Lice sa suzama radosnicama", + "Smiling face with open mouth": "Nasmijano lice s otvorenim ustima", + "Smiling face with open mouth and smiling eyes": "Nasmijano lice s otvorenim ustima i nasmijanim o\u010dima", + "Smiling face with open mouth and cold sweat": "Nasmijano lice s otvorenim ustima i hladnim znojem", + "Smiling face with open mouth and tightly-closed eyes": "Nasmijano lice s otvorenim ustima i \u010dvrsto zatvorenih o\u010diju", + "Smiling face with halo": "Nasmijano lice sa aureolom", + "Smiling face with horns": "Nasmijano lice s rogovima", + "Winking face": "Lice koje namiguje", + "Smiling face with smiling eyes": "Nasmijano lice s nasmiješenim o\u010dima", + "Face savoring delicious food": "Lice koje u\u017eiva ukusnu hranu", + "Relieved face": "Lice s olak\u0161anjem", + "Smiling face with heart-shaped eyes": "Nasmijano lice sa o\u010dima u obliku srca", + "Smiling face with sunglasses": "Nasmijano lice sa sun\u010danim nao\u010dalama", + "Smirking face": "Zlokobno nasmije\u0161eno lice", + "Neutral face": "Neutralno lice", + "Expressionless face": "Bezizra\u017eajno lice", + "Unamused face": "Nezainteresirano lice", + "Face with cold sweat": "Lice s hladnim znojem", + "Pensive face": "Zami\u0161ljeno lice", + "Confused face": "Zbunjeno lice", + "Confounded face": "Zbunjeno lice", + "Kissing face": "Lice s poljupcem", + "Face throwing a kiss": "Lice koje baca poljubac", + "Kissing face with smiling eyes": "Lice s poljupcem s nasmije\u0161enim o\u010dima", + "Kissing face with closed eyes": "Lice s poljupcem zatvorenih o\u010diju", + "Face with stuck out tongue": "Lice s ispru\u017eenim jezikom", + "Face with stuck out tongue and winking eye": "Lice s ispru\u017eenim jezikom koje namiguje", + "Face with stuck out tongue and tightly-closed eyes": "Lice s ispru\u017eenim jezikom i \u010dvrsto zatvorenih o\u010diju", + "Disappointed face": "Razo\u010darano lice", + "Worried face": "Zabrinuto lice", + "Angry face": "Ljutito lice", + "Pouting face": "Nadureno lice", + "Crying face": "Uplakano lice", + "Persevering face": "Lice s negodovanjem", + "Face with look of triumph": "Trijumfalno lice", + "Disappointed but relieved face": "Razo\u010darano ali olakšano lice", + "Frowning face with open mouth": "Namrgo\u0111eno lice s otvorenim ustima", + "Anguished face": "Tjeskobno lice", + "Fearful face": "Prestra\u0161eno lice", + "Weary face": "Umorno lice", + "Sleepy face": "Pospano lice", + "Tired face": "Umorno lice", + "Grimacing face": "Lice sa grimasama", + "Loudly crying face": "Glasno pla\u010du\u0107e lice", + "Face with open mouth": "Lice s otvorenim ustima", + "Hushed face": "Tiho lice", + "Face with open mouth and cold sweat": "Lice s otvorenim ustima i hladnim znojem", + "Face screaming in fear": "Lice koje vri\u0161ti u strahu", + "Astonished face": "Zaprepa\u0161teno lice", + "Flushed face": "Zajapureno lice", + "Sleeping face": "Spava\u0107e lice", + "Dizzy face": "Lice sa vrtoglavicom", + "Face without mouth": "Lice bez usta", + "Face with medical mask": "Lice s medicinskom maskom", + + // Line breaker + "Break": "Odvojeno", + + // Math + "Subscript": "Indeks", + "Superscript": "Eksponent", + + // Full screen + "Fullscreen": "Puni zaslon", + + // Horizontal line + "Insert Horizontal Line": "Umetni liniju", + + // Clear formatting + "Clear Formatting": "Ukloni oblikovanje", + + // Save + "Save": "\u0055\u0161\u0074\u0065\u0064\u006a\u0065\u0074\u0069", + + // Undo, redo + "Undo": "Korak natrag", + "Redo": "Korak naprijed", + + // Select all + "Select All": "Odaberi sve", + + // Code view + "Code View": "Pregled koda", + + // Quote + "Quote": "Citat", + "Increase": "Pove\u0107aj", + "Decrease": "Smanji", + + // Quick Insert + "Quick Insert": "Brzo umetak", + + // Spcial Characters + "Special Characters": "Posebni znakovi", + "Latin": "Latinski", + "Greek": "Grčki", + "Cyrillic": "Ćirilica", + "Punctuation": "Interpunkcija", + "Currency": "Valuta", + "Arrows": "Strelice", + "Math": "Matematika", + "Misc": "Razno", + + // Print. + "Print": "Otisak", + + // Spell Checker. + "Spell Checker": "Provjeritelj pravopisa", + + // Help + "Help": "Pomoć", + "Shortcuts": "Prečaci", + "Inline Editor": "Inline editor", + "Show the editor": "Prikaži urednika", + "Common actions": "Zajedničke radnje", + "Copy": "Kopirati", + "Cut": "Rez", + "Paste": "Zalijepiti", + "Basic Formatting": "Osnovno oblikovanje", + "Increase quote level": "Povećati razinu citata", + "Decrease quote level": "Smanjite razinu citata", + "Image / Video": "Slika / video", + "Resize larger": "Promijenite veličinu većeg", + "Resize smaller": "Promijenite veličinu manju", + "Table": "Stol", + "Select table cell": "Odaberite stolnu ćeliju", + "Extend selection one cell": "Proširiti odabir jedne ćelije", + "Extend selection one row": "Proširite odabir jednog retka", + "Navigation": "Navigacija", + "Focus popup / toolbar": "Fokus popup / alatnoj traci", + "Return focus to previous position": "Vratiti fokus na prethodnu poziciju", + + // Embed.ly + "Embed URL": "Uredi url", + "Paste in a URL to embed": "Zalijepite URL da biste ga ugradili", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Zalijepi sadržaj dolazi iz Microsoft Word dokumenta. Želite li zadržati format ili očistiti?", + "Keep": "Zadržati", + "Clean": "Čist", + "Word Paste Detected": "Otkrivena je zastavica riječi" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/hr.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/tr.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/tr.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/tr.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Turkish + */ + +$.FE.LANGUAGE['tr'] = { + translation: { + // Place holder + "Type something": "Bir \u015fey yaz\u0131n", + + // Basic formatting + "Bold": "Kal\u0131n", + "Italic": "\u0130talik", + "Underline": "Alt\u0131 \u00e7izili", + "Strikethrough": "\u00dcst\u00fc \u00e7izili", + + // Main buttons + "Insert": "Ekle", + "Delete": "Silmek", + "Cancel": "\u0130ptal", + "OK": "Tamam", + "Back": "Geri", + "Remove": "Kald\u0131r", + "More": "Daha", + "Update": "G\u00fcncelle\u015ftirme", + "Style": "Stil", + + // Font + "Font Family": "Yaz\u0131tipi Ailesi", + "Font Size": "Yaz\u0131tipi B\u00fcy\u00fckl\u00fc\u011f\u00fc", + + // Colors + "Colors": "Renkler", + "Background": "Arkaplan", + "Text": "Metin", + "HEX Color": "Altı renkli", + + // Paragraphs + "Paragraph Format": "Bi\u00e7imler", + "Normal": "Normal", + "Code": "Kod", + "Heading 1": "Ba\u015fl\u0131k 1", + "Heading 2": "Ba\u015fl\u0131k 2", + "Heading 3": "Ba\u015fl\u0131k 3", + "Heading 4": "Ba\u015fl\u0131k 4", + + // Style + "Paragraph Style": "Paragraf stili", + "Inline Style": "\u00c7izgide stili", + + // Alignment + "Align": "Hizalama", + "Align Left": "Sola hizala", + "Align Center": "Ortala", + "Align Right": "Sa\u011fa hizala", + "Align Justify": "\u0130ki yana yasla", + "None": "Hi\u00e7biri", + + // Lists + "Ordered List": "S\u0131ral\u0131 liste", + "Unordered List": "S\u0131ras\u0131z liste", + + // Indent + "Decrease Indent": "Girintiyi azalt", + "Increase Indent": "Girintiyi art\u0131r", + + // Links + "Insert Link": "Ba\u011flant\u0131 ekle", + "Open in new tab": "Yeni sekmede a\u00e7", + "Open Link": "Linki a\u00e7", + "Edit Link": "D\u00fczenleme ba\u011flant\u0131s\u0131", + "Unlink": "Ba\u011flant\u0131y\u0131 kald\u0131r", + "Choose Link": "Ba\u011flant\u0131y\u0131 se\u00e7in", + + // Images + "Insert Image": "Resim ekle", + "Upload Image": "Y\u00fckleme g\u00f6r\u00fcnt\u00fcs\u00fc", + "By URL": "URL'ye g\u00f6re", + "Browse": "G\u00f6zat", + "Drop image": "B\u0131rak resim", + "or click": "ya da t\u0131klay\u0131n", + "Manage Images": "G\u00f6r\u00fcnt\u00fcleri y\u00f6netin", + "Loading": "Y\u00fckleniyor", + "Deleting": "Silme", + "Tags": "Etiketler", + "Are you sure? Image will be deleted.": "Emin misin? Resim silinecektir.", + "Replace": "De\u011fi\u015ftirmek", + "Uploading": "Y\u00fckleme", + "Loading image": "Y\u00fckleme g\u00f6r\u00fcnt\u00fcs\u00fc", + "Display": "G\u00f6stermek", + "Inline": "\u00c7izgide", + "Break Text": "K\u0131r\u0131lma metni", + "Alternative Text": "Alternatif metin", + "Change Size": "De\u011fi\u015fim boyutu", + "Width": "Geni\u015flik", + "Height": "Y\u00fckseklik", + "Something went wrong. Please try again.": "Bir \u015feyler yanl\u0131\u015f gitti. L\u00fctfen tekrar deneyin.", + "Image Caption": "Resim yazısı", + "Advanced Edit": "Ileri düzey düzenleme", + + // Video + "Insert Video": "Video ekle", + "Embedded Code": "G\u00f6m\u00fcl\u00fc kod", + "Paste in a video URL": "Bir video URL'sine yapıştırın", + "Drop video": "Video bırak", + "Your browser does not support HTML5 video.": "Tarayıcınız html5 videoyu desteklemez.", + "Upload Video": "Video yükle", + + // Tables + "Insert Table": "Tablo ekle", + "Table Header": "Tablo \u00fcstbilgisi", + "Remove Table": "Tablo kald\u0131rma", + "Table Style": "Tablo stili", + "Horizontal Align": "Yatay hizalama", + "Row": "Sat\u0131r", + "Insert row above": "\u00d6ncesine yeni sat\u0131r ekle", + "Insert row below": "Sonras\u0131na yeni sat\u0131r ekle", + "Delete row": "Sat\u0131r\u0131 sil", + "Column": "S\u00fctun", + "Insert column before": "\u00d6ncesine yeni s\u00fctun ekle", + "Insert column after": "Sonras\u0131na yeni s\u00fctun ekle", + "Delete column": "S\u00fctunu sil", + "Cell": "H\u00fccre", + "Merge cells": "H\u00fccreleri birle\u015ftir", + "Horizontal split": "Yatay b\u00f6l\u00fcnm\u00fc\u015f", + "Vertical split": "Dikey b\u00f6l\u00fcnm\u00fc\u015f", + "Cell Background": "H\u00fccre arka plan\u0131", + "Vertical Align": "Dikey hizalama", + "Top": "\u00dcst", + "Middle": "Orta", + "Bottom": "Alt", + "Align Top": "\u00dcst hizalama", + "Align Middle": "Orta hizalama", + "Align Bottom": "Dibe hizalama", + "Cell Style": "H\u00fccre stili", + + // Files + "Upload File": "Dosya Y\u00fckle", + "Drop file": "B\u0131rak dosya", + + // Emoticons + "Emoticons": "\u0130fadeler", + "Grinning face": "S\u0131r\u0131tan y\u00fcz", + "Grinning face with smiling eyes": "G\u00fclen g\u00f6zlerle y\u00fcz s\u0131r\u0131tarak", + "Face with tears of joy": "Sevin\u00e7 g\u00f6zya\u015flar\u0131yla Y\u00fcz", + "Smiling face with open mouth": "A\u00e7\u0131k a\u011fz\u0131 ile g\u00fcl\u00fcmseyen y\u00fcz\u00fc", + "Smiling face with open mouth and smiling eyes": "A\u00e7\u0131k a\u011fzı ve g\u00fcl\u00fcmseyen g\u00f6zlerle g\u00fcler y\u00fcz", + "Smiling face with open mouth and cold sweat": "A\u00e7\u0131k a\u011fz\u0131 ve so\u011fuk ter ile g\u00fclen y\u00fcz\u00fc", + "Smiling face with open mouth and tightly-closed eyes": "A\u00e7\u0131k a\u011fz\u0131 s\u0131k\u0131ca kapal\u0131 g\u00f6zlerle g\u00fclen y\u00fcz\u00fc", + "Smiling face with halo": "Halo ile y\u00fcz g\u00fclen", + "Smiling face with horns": "Boynuzlar\u0131 ile g\u00fcler y\u00fcz", + "Winking face": "G\u00f6z a\u00e7\u0131p kapay\u0131ncaya y\u00fcz\u00fc", + "Smiling face with smiling eyes": "G\u00fclen g\u00f6zlerle g\u00fcler Y\u00fcz", + "Face savoring delicious food": "Lezzetli yemekler tad\u0131n\u0131 Y\u00fcz", + "Relieved face": "Rahatlad\u0131m y\u00fcz\u00fc", + "Smiling face with heart-shaped eyes": "Kalp \u015feklinde g\u00f6zlerle g\u00fcler y\u00fcz", + "Smiling face with sunglasses": "Kalp \u015feklinde g\u00f6zlerle g\u00fcler y\u00fcz", + "Smirking face": "S\u0131r\u0131tan y\u00fcz", + "Neutral face": "N\u00f6tr y\u00fcz", + "Expressionless face": "Ifadesiz y\u00fcz\u00fc", + "Unamused face": "Kay\u0131ts\u0131z y\u00fcz\u00fc", + "Face with cold sweat": "So\u011fuk terler Y\u00fcz", + "Pensive face": "dalg\u0131n bir y\u00fcz", + "Confused face": "\u015fa\u015fk\u0131n bir y\u00fcz", + "Confounded face": "Ele\u015ftirilmi\u015ftir y\u00fcz\u00fc", + "Kissing face": "\u00f6p\u00fc\u015fme y\u00fcz\u00fc", + "Face throwing a kiss": "Bir \u00f6p\u00fcc\u00fck atma Y\u00fcz", + "Kissing face with smiling eyes": "G\u00fclen g\u00f6zlerle y\u00fcz \u00f6p\u00fc\u015fme", + "Kissing face with closed eyes": "Kapal\u0131 g\u00f6zlerle \u00f6p\u00f6\u015fme y\u00fcz", + "Face with stuck out tongue": "Dilini y\u00fcz ile s\u0131k\u0131\u015fm\u0131\u015f", + "Face with stuck out tongue and winking eye": "\u015ea\u015f\u0131r\u0131p kalm\u0131\u015f d\u0131\u015far\u0131 dil ve g\u00f6z k\u0131rpan y\u00fcz", + "Face with stuck out tongue and tightly-closed eyes": "Y\u00fcz ile dil ve s\u0131k\u0131ca kapal\u0131 g\u00f6zleri s\u0131k\u0131\u015fm\u0131\u015f", + "Disappointed face": "Hayal k\u0131r\u0131kl\u0131\u011f\u0131na y\u00fcz\u00fc", + "Worried face": "Endi\u015feli bir y\u00fcz", + "Angry face": "K\u0131zg\u0131n y\u00fcz", + "Pouting face": "Somurtarak y\u00fcz\u00fc", + "Crying face": "A\u011flayan y\u00fcz", + "Persevering face": "Azmeden y\u00fcz\u00fc", + "Face with look of triumph": "Zafer bak\u0131\u015fla Y\u00fcz", + "Disappointed but relieved face": "Hayal k\u0131r\u0131kl\u0131\u011f\u0131 ama rahatlad\u0131m y\u00fcz", + "Frowning face with open mouth": "A\u00e7\u0131k a\u011fz\u0131 ile \u00e7at\u0131k y\u00fcz\u00fc", + "Anguished face": "Kederli y\u00fcz", + "Fearful face": "Korkulu y\u00fcz\u00fc", + "Weary face": "Yorgun y\u00fcz\u00fc", + "Sleepy face": "Uykulu y\u00fcz\u00fc", + "Tired face": "Yorgun y\u00fcz\u00fc", + "Grimacing face": "Y\u00fcz\u00fcn\u00fc buru\u015fturarak y\u00fcz\u00fc", + "Loudly crying face": "Y\u00fcksek sesle y\u00fcz\u00fc a\u011fl\u0131yor", + "Face with open mouth": "A\u00e7\u0131k a\u011fz\u0131 ile Y\u00fcz", + "Hushed face": "Dingin y\u00fcz\u00fc", + "Face with open mouth and cold sweat": "A\u00e7\u0131k a\u011fz\u0131 ve so\u011fuk ter ile Y\u00fcz", + "Face screaming in fear": "Korku i\u00e7inde \u00e7ı\u011fl\u0131k Y\u00fcz", + "Astonished face": "\u015fa\u015fk\u0131n bir y\u00fcz", + "Flushed face": "K\u0131zarm\u0131\u015f y\u00fcz\u00fc", + "Sleeping face": "Uyuyan y\u00fcz\u00fc", + "Dizzy face": "Ba\u015f\u0131m d\u00f6nd\u00fc y\u00fcz", + "Face without mouth": "A\u011f\u0131z olmadan Y\u00fcz", + "Face with medical mask": "T\u0131bbi maske ile y\u00fcz", + + // Line breaker + "Break": "K\u0131r\u0131lma", + + // Math + "Subscript": "Alt simge", + "Superscript": "\u00dcst simge", + + // Full screen + "Fullscreen": "Tam ekran", + + // Horizontal line + "Insert Horizontal Line": "Yatay \u00e7izgi ekleme", + + // Clear formatting + "Clear Formatting": "Bi\u00e7imlendirme kald\u0131r", + + // Save + "Save": "Kayıt etmek", + + // Undo, redo + "Undo": "Geri Al", + "Redo": "Yinele", + + // Select all + "Select All": "T\u00fcm\u00fcn\u00fc se\u00e7", + + // Code view + "Code View": "Kod g\u00f6r\u00fcn\u00fcm\u00fc", + + // Quote + "Quote": "Al\u0131nt\u0131", + "Increase": "Art\u0131rmak", + "Decrease": "Azal\u0131\u015f", + + // Quick Insert + "Quick Insert": "H\u0131zl\u0131 insert", + + // Spcial Characters + "Special Characters": "Özel karakterler", + "Latin": "Latince", + "Greek": "Yunan", + "Cyrillic": "Kiril", + "Punctuation": "Noktalama", + "Currency": "Para birimi", + "Arrows": "Oklar", + "Math": "Matematik", + "Misc": "Misc", + + // Print. + "Print": "Baskı", + + // Spell Checker. + "Spell Checker": "Yazım denetleyicisi", + + // Help + "Help": "Yardım et", + "Shortcuts": "Kısayollar", + "Inline Editor": "Satır içi düzenleyici", + "Show the editor": "Editörü gösterin", + "Common actions": "Ortak eylemler", + "Copy": "Kopya", + "Cut": "Kesim", + "Paste": "Yapıştırmak", + "Basic Formatting": "Temel biçimlendirme", + "Increase quote level": "Teklif seviyesini yükselt", + "Decrease quote level": "Teklif seviyesini azalt", + "Image / Video": "Resim / video", + "Resize larger": "Daha büyük yeniden boyutlandır", + "Resize smaller": "Daha küçük boyuta getir", + "Table": "Tablo", + "Select table cell": "Tablo hücresi seç", + "Extend selection one cell": "Seçimi bir hücre genişlet", + "Extend selection one row": "Seçimi bir sıra genişlet", + "Navigation": "Navigasyon", + "Focus popup / toolbar": "Odaklanma açılır penceresi / araç çubuğu", + "Return focus to previous position": "Odaklamaya önceki konumuna geri dönün", + + // Embed.ly + "Embed URL": "URL göm", + "Paste in a URL to embed": "Yerleştirmek için bir URL'ye yapıştırın", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Yapıştırılan içerik bir Microsoft Word belgesinden geliyor. Biçimi saklamaya mı yoksa temizlemeyi mi istiyor musun?", + "Keep": "Tutmak", + "Clean": "Temiz", + "Word Paste Detected": "Kelime yapıştırması algılandı" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/tr.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/ro.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/ro.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/ro.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Romanian + */ + +$.FE.LANGUAGE['ro'] = { + translation: { + // Place holder + "Type something": "Tasteaz\u0103 ceva", + + // Basic formatting + "Bold": "\u00cengro\u015fat", + "Italic": "Cursiv", + "Underline": "Subliniat", + "Strikethrough": "T\u0103iat", + + // Main buttons + "Insert": "Insereaz\u0103", + "Delete": "\u015eterge", + "Cancel": "Anuleaz\u0103", + "OK": "Ok", + "Back": "\u00cenapoi", + "Remove": "\u0218terge", + "More": "Mai mult", + "Update": "Actualizeaz\u0103", + "Style": "Stil", + + // Font + "Font Family": "Font", + "Font Size": "Dimensiune font", + + // Colors + "Colors": "Culoare", + "Background": "Fundal", + "Text": "Text", + "HEX Color": "Culoare Hexa", + + // Paragraphs + "Paragraph Format": "Format paragraf", + "Normal": "Normal", + "Code": "Cod", + "Heading 1": "Antet 1", + "Heading 2": "Antet 2", + "Heading 3": "Antet 3", + "Heading 4": "Antet 4", + + // Style + "Paragraph Style": "Stil paragraf", + "Inline Style": "Stil \u00een linie", + + // Alignment + "Align": "Aliniere", + "Align Left": "Aliniere la st\u00e2nga", + "Align Center": "Aliniere la centru", + "Align Right": "Aliniere la dreapta", + "Align Justify": "Aliniere pe toat\u0103 l\u0103\u021bimea", + "None": "Niciunul", + + // Lists + "Ordered List": "List\u0103 ordonat\u0103", + "Unordered List": "List\u0103 neordonat\u0103", + + // Indent + "Decrease Indent": "De-indenteaz\u0103", + "Increase Indent": "Indenteaz\u0103", + + // Links + "Insert Link": "Inserare link", + "Open in new tab": "Deschide \u00EEn tab nou", + "Open Link": "Deschide link", + "Edit Link": "Editare link", + "Unlink": "\u0218terge link-ul", + "Choose Link": "Alege link", + + // Images + "Insert Image": "Inserare imagine", + "Upload Image": "\u00cencarc\u0103 imagine", + "By URL": "Dup\u0103 URL", + "Browse": "R\u0103sfoie\u0219te", + "Drop image": "Trage imagine", + "or click": "sau f\u0103 click", + "Manage Images": "Gestionare imagini", + "Loading": "Se \u00eencarc\u0103", + "Deleting": "Se \u0219terge", + "Tags": "Etichete", + "Are you sure? Image will be deleted.": "Sunte\u021bi sigur? Imaginea va fi \u015ftears\u0103.", + "Replace": "\u00cenlocuire", + "Uploading": "Imaginea se \u00eencarc\u0103", + "Loading image": "Imaginea se \u00eencarc\u0103", + "Display": "Afi\u0219are", + "Inline": "\u00cen linie", + "Break Text": "Sparge text", + "Alternative Text": "Text alternativ", + "Change Size": "Modificare dimensiuni", + "Width": "L\u0103\u021bime", + "Height": "\u00cen\u0103l\u021bime", + "Something went wrong. Please try again.": "Ceva n-a mers bine. V\u0103 rug\u0103m s\u0103 \u00eencerca\u021bi din nou.", + "Image Caption": "Captura imaginii", + "Advanced Edit": "Editare avansată", + + // Video + "Insert Video": "Inserare video", + "Embedded Code": "Cod embedded", + "Paste in a video URL": "Lipiți o adresă URL pentru video", + "Drop video": "Trage video", + "Your browser does not support HTML5 video.": "Browserul dvs. nu acceptă videoclipul html5.", + "Upload Video": "Încărcați videoclipul", + + // Tables + "Insert Table": "Inserare tabel", + "Table Header": "Antet tabel", + "Remove Table": "\u0218terge tabel", + "Table Style": "Stil tabel", + "Horizontal Align": "Aliniere orizontal\u0103", + "Row": "Linie", + "Insert row above": "Insereaz\u0103 linie \u00eenainte", + "Insert row below": "Insereaz\u0103 linie dup\u0103", + "Delete row": "\u015eterge linia", + "Column": "Coloan\u0103", + "Insert column before": "Insereaz\u0103 coloan\u0103 \u00eenainte", + "Insert column after": "Insereaz\u0103 coloan\u0103 dup\u0103", + "Delete column": "\u015eterge coloana", + "Cell": "Celula", + "Merge cells": "Une\u015fte celulele", + "Horizontal split": "\u00cemparte orizontal", + "Vertical split": "\u00cemparte vertical", + "Cell Background": "Fundal celul\u0103", + "Vertical Align": "Aliniere vertical\u0103", + "Top": "Sus", + "Middle": "Mijloc", + "Bottom": "Jos", + "Align Top": "Aliniere sus", + "Align Middle": "Aliniere la mijloc", + "Align Bottom": "Aliniere jos", + "Cell Style": "Stil celul\u0103", + + // Files + "Upload File": "\u00cenc\u0103rca\u021bi fi\u0219ier", + "Drop file": "Trage fi\u0219ier", + + // Emoticons + "Emoticons": "Emoticoane", + "Grinning face": "Fa\u021b\u0103 r\u00e2njind", + "Grinning face with smiling eyes": "Fa\u021b\u0103 r\u00e2njind cu ochi z\u00e2mbitori", + "Face with tears of joy": "Fa\u021b\u0103 cu lacrimi de bucurie", + "Smiling face with open mouth": "Fa\u021b\u0103 z\u00e2mbitoare cu gura deschis\u0103", + "Smiling face with open mouth and smiling eyes": "Fa\u021b\u0103 z\u00e2mbitoare cu gura deschis\u0103 \u0219i ochi z\u00e2mbitori", + "Smiling face with open mouth and cold sweat": "Fa\u021b\u0103 z\u00e2mbitoare cu gura deschis\u0103 şi sudoare rece", + "Smiling face with open mouth and tightly-closed eyes": "Fa\u021b\u0103 z\u00e2mbitoare cu gura deschis\u0103 şi ochii ferm \u00eenchi\u0219i", + "Smiling face with halo": "Fa\u021b\u0103 z\u00e2mbitoare cu aur\u0103", + "Smiling face with horns": "Fa\u021b\u0103 z\u00e2mbitoare cu coarne", + "Winking face": "Fa\u021b\u0103 clipind", + "Smiling face with smiling eyes": "Fa\u021b\u0103 z\u00e2mbitoare cu ochi z\u00e2mbitori", + "Face savoring delicious food": "Fa\u021b\u0103 savur\u00e2nd preparate delicioase", + "Relieved face": "Fa\u021b\u0103 u\u0219urat\u0103", + "Smiling face with heart-shaped eyes": "Fa\u021b\u0103 z\u00e2mbitoare cu ochi in forma de inim\u0103", + "Smiling face with sunglasses": "Fa\u021b\u0103 z\u00e2mbitoare cu ochelari de soare", + "Smirking face": "Fa\u021b\u0103 cu sur\u00e2s afectat", + "Neutral face": "Fa\u021b\u0103 neutr\u0103", + "Expressionless face": "Fa\u021b\u0103 f\u0103r\u0103 expresie", + "Unamused face": "Fa\u021b\u0103 neamuzat\u0103", + "Face with cold sweat": "Fa\u021b\u0103 cu sudoare rece", + "Pensive face": "Fa\u021b\u0103 medit\u00e2nd", + "Confused face": "Fa\u021b\u0103 confuz\u0103", + "Confounded face": "Fa\u021b\u0103 z\u0103p\u0103cit\u0103", + "Kissing face": "Fa\u021b\u0103 s\u0103rut\u00e2nd", + "Face throwing a kiss": "Fa\u021b\u0103 arunc\u00e2nd un s\u0103rut", + "Kissing face with smiling eyes": "Fa\u021b\u0103 s\u0103rut\u00e2nd cu ochi z\u00e2mbitori", + "Kissing face with closed eyes": "Fa\u021b\u0103 s\u0103rut\u00e2nd cu ochii \u00eenchi\u0219i", + "Face with stuck out tongue": "Fa\u021b\u0103 cu limba afar\u0103", + "Face with stuck out tongue and winking eye": "Fa\u021b\u0103 cu limba scoas\u0103 clipind", + "Face with stuck out tongue and tightly-closed eyes": "Fa\u021b\u0103 cu limba scoas\u0103 \u0219i ochii ferm \u00eenchi\u0219i", + "Disappointed face": "Fa\u021b\u0103 dezam\u0103git\u0103", + "Worried face": "Fa\u021b\u0103 \u00eengrijorat\u0103", + "Angry face": "Fa\u021b\u0103 nervoas\u0103", + "Pouting face": "Fa\u021b\u0103 fierb\u00e2nd", + "Crying face": "Fa\u021b\u0103 pl\u00e2ng\u00e2nd", + "Persevering face": "Fa\u021b\u0103 perseverent\u0103", + "Face with look of triumph": "Fa\u021b\u0103 triumf\u0103toare", + "Disappointed but relieved face": "Fa\u021b\u0103 dezam\u0103git\u0103 dar u\u0219urat\u0103", + "Frowning face with open mouth": "Fa\u021b\u0103 \u00eencruntat\u0103 cu gura deschis\u0103", + "Anguished face": "Fa\u021b\u0103 \u00eendurerat\u0103", + "Fearful face": "Fa\u021b\u0103 tem\u0103toare", + "Weary face": "Fa\u021b\u0103 \u00eengrijorat\u0103", + "Sleepy face": "Fa\u021b\u0103 adormit\u0103", + "Tired face": "Fa\u021b\u0103 obosit\u0103", + "Grimacing face": "Fa\u021b\u0103 cu grimas\u0103", + "Loudly crying face": "Fa\u021b\u0103 pl\u00e2ng\u00e2nd zgomotos", + "Face with open mouth": "Fa\u021b\u0103 cu gura deschis\u0103", + "Hushed face": "Fa\u021b\u0103 discret\u0103", + "Face with open mouth and cold sweat": "Fa\u021b\u0103 cu gura deschis\u0103 si sudoare rece", + "Face screaming in fear": "Fa\u021b\u0103 \u021bip\u00e2nd de fric\u0103", + "Astonished face": "Fa\u021b\u0103 uimit\u0103", + "Flushed face": "Fa\u021b\u0103 sp\u0103lat\u0103", + "Sleeping face": "Fa\u021b\u0103 adormit\u0103", + "Dizzy face": "Fa\u021b\u0103 ame\u021bit\u0103", + "Face without mouth": "Fa\u021b\u0103 f\u0103r\u0103 gur\u0103", + "Face with medical mask": "Fa\u021b\u0103 cu masc\u0103 medical\u0103", + + // Line breaker + "Break": "Desparte", + + // Horizontal line + "Insert Horizontal Line": "Inserare linie orizontal\u0103", + + // Math + "Subscript": "Indice", + "Superscript": "Exponent", + + // Full screen + "Fullscreen": "Ecran complet", + + // Clear formatting + "Clear Formatting": "Elimina\u021bi formatarea", + + // Save + "Save": "\u0053\u0061\u006c\u0076\u0061\u021b\u0069", + + // Undo, redo + "Undo": "Reexecut\u0103", + "Redo": "Dezexecut\u0103", + + // Select all + "Select All": "Selecteaz\u0103 tot", + + // Code view + "Code View": "Vizualizare cod", + + // Quote + "Quote": "Citat", + "Increase": "Indenteaz\u0103", + "Decrease": "De-indenteaz\u0103", + + // Quick Insert + "Quick Insert": "Inserare rapid\u0103", + + // Spcial Characters + "Special Characters": "Caracterele speciale", + "Latin": "Latină", + "Greek": "Greacă", + "Cyrillic": "Chirilic", + "Punctuation": "Punctuaţie", + "Currency": "Valută", + "Arrows": "Săgeți", + "Math": "Matematică", + "Misc": "Diverse", + + // Print. + "Print": "Imprimare", + + // Spell Checker. + "Spell Checker": "Ortografie", + + // Help + "Help": "Ajutor", + "Shortcuts": "Comenzi rapide", + "Inline Editor": "Editor inline", + "Show the editor": "Arătați editorul", + "Common actions": "Acțiuni comune", + "Copy": "Copie", + "Cut": "A taia", + "Paste": "Lipire", + "Basic Formatting": "Formatul de bază", + "Increase quote level": "Creșteți nivelul cotației", + "Decrease quote level": "Micșorați nivelul cotației", + "Image / Video": "Imagine / video", + "Resize larger": "Redimensionați mai mare", + "Resize smaller": "Redimensionați mai puțin", + "Table": "Tabel", + "Select table cell": "Selectați celula tabelă", + "Extend selection one cell": "Extindeți selecția la o celulă", + "Extend selection one row": "Extindeți selecția cu un rând", + "Navigation": "Navigare", + "Focus popup / toolbar": "Focus popup / bara de instrumente", + "Return focus to previous position": "Reveniți la poziția anterioară", + + // Embed.ly + "Embed URL": "Încorporați url", + "Paste in a URL to embed": "Lipiți un URL pentru a-l încorpora", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Conținutul lipit vine dintr-un document word Microsoft. Doriți să păstrați formatul sau să îl curățați?", + "Keep": "A pastra", + "Clean": "Curat", + "Word Paste Detected": "A fost detectată lipire din Word" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/ro.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/sk.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/sk.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/sk.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Slovak + */ + +$.FE.LANGUAGE['sk'] = { + translation: { + + // Place holder + "Type something": "Nap\u00ed\u0161te hoci\u010do", + + // Basic formatting + "Bold": "Tu\u010dn\u00e9", + "Italic": "Kurz\u00edva", + "Underline": "Pod\u010diarknut\u00e9", + "Strikethrough": "Pre\u0161krtnut\u00e9", + + // Main buttons + "Insert": "Vlo\u017ei\u0165", + "Delete": "Vymaza\u0165", + "Cancel": "Zru\u0161i\u0165", + "OK": "OK", + "Back": "Sp\u00e4\u0165", + "Remove": "Odstr\u00e1ni\u0165", + "More": "Viac", + "Update": "Aktualizova\u0165", + "Style": "\u0165t\u00fdl", + + // Font + "Font Family": "Typ p\u00edsma", + "Font Size": "Ve\u013ekos\u0165 p\u00edsma", + + // Colors + "Colors": "Farby", + "Background": "Pozadie", + "Text": "Text", + "HEX Color": "Hex Farby", + + // Paragraphs + "Paragraph Format": "Form\u00e1t odstavca", + "Normal": "Norm\u00e1lne", + "Code": "K\u00f3d", + "Heading 1": "Nadpis 1", + "Heading 2": "Nadpis 2", + "Heading 3": "Nadpis 3", + "Heading 4": "Nadpis 4", + + // Style + "Paragraph Style": "\u0165t\u00fdl odstavca", + "Inline Style": "Inline \u0161t\u00fdl", + + // Alignment + "Align": "Zarovnanie", + "Align Left": "Zarovna\u0165 v\u013eavo", + "Align Center": "Zarovna\u0165 na stred", + "Align Right": "Zarovna\u0165 vpravo", + "Align Justify": "Zarovna\u0165 do bloku", + "None": "\u017diadne", + + // Lists + "Ordered List": "\u010c\u00edslovan\u00fd zoznam", + "Unordered List": "Ne\u010d\u00edslovan\u00fd zoznam", + + // Indent + "Decrease Indent": "Zmen\u0161i\u0165 odsadenie", + "Increase Indent": "Zv\u00e4\u010d\u0161i\u0165 odsadenie", + + // Links + "Insert Link": "Vlo\u017ei\u0165 odkaz", + "Open in new tab": "Otvori\u0165 v novom okne", + "Open Link": "Otvori\u0165 odkaz", + "Edit Link": "Upravi\u0165 odkaz", + "Unlink": "Odstr\u00e1ni\u0165 odkaz", + "Choose Link": "Vyberte odkaz", + + // Images + "Insert Image": "Vlo\u017ei\u0165 obr\u00e1zok", + "Upload Image": "Nahra\u0165 obr\u00e1zok", + "By URL": "Z URL adresy", + "Browse": "Vybra\u0165", + "Drop image": "Pretiahnite obr\u00e1zok do tohto miesta", + "or click": "alebo kliknite a vlo\u017ete", + "Manage Images": "Spr\u00e1va obr\u00e1zkov", + "Loading": "Nahr\u00e1vam", + "Deleting": "Odstra\u0148ujem", + "Tags": "Zna\u010dky", + "Are you sure? Image will be deleted.": "Ste si ist\u00fd? Obr\u00e1zok bude odstranen\u00fd.", + "Replace": "Vymeni\u0165", + "Uploading": "Nahr\u00e1vam", + "Loading image": "Obr\u00e1zok se na\u010d\u00edtav\u00e1", + "Display": "Zobrazi\u0165", + "Inline": "Inline", + "Break Text": "Zalomenie textu", + "Alternative Text": "Alternat\u00edvny text", + "Change Size": "Zmeni\u0165 ve\u013ekos\u0165", + "Width": "\u0165\u00edrka", + "Height": "V\u00fd\u0161ka", + "Something went wrong. Please try again.": "Nie\u010do sa pokazilo. Pros\u00edm, sk\u00faste to znova.", + "Image Caption": "Titulok obrázka", + "Advanced Edit": "Pokročilá úprava", + + // Video + "Insert Video": "Vlo\u017ei\u0165 video", + "Embedded Code": "Vlo\u017een\u00fd k\u00f3d", + "Paste in a video URL": "Vložte do adresy URL videa", + "Drop video": "Drop video", + "Your browser does not support HTML5 video.": "Váš prehliadač nepodporuje video html5.", + "Upload Video": "Nahrať video", + + // Tables + "Insert Table": "Vlo\u017ei\u0165 tabu\u013eku", + "Table Header": "Hlavi\u010dka tabu\u013eky", + "Remove Table": "Odstrani\u0165 tabu\u013eku", + "Table Style": "\u0165t\u00fdl tabu\u013eky", + "Horizontal Align": "Horizont\u00e1lne zarovnanie", + "Row": "Riadok", + "Insert row above": "Vlo\u017ei\u0165 riadok nad", + "Insert row below": "Vlo\u017ei\u0165 riadok pod", + "Delete row": "Odstrani\u0165 riadok", + "Column": "St\u013apec", + "Insert column before": "Vlo\u017ei\u0165 st\u013apec v\u013eavo", + "Insert column after": "Vlo\u017ei\u0165 st\u013apec vpravo", + "Delete column": "Odstrani\u0165 st\u013apec", + "Cell": "Bunka", + "Merge cells": "Zl\u00fa\u010di\u0165 bunky", + "Horizontal split": "Horizont\u00e1lne rozdelenie", + "Vertical split": "Vertik\u00e1lne rozdelenie", + "Cell Background": "Bunka pozadia", + "Vertical Align": "Vertik\u00e1lne zarovn\u00e1n\u00ed", + "Top": "Vrch", + "Middle": "Stred", + "Bottom": "Spodok", + "Align Top": "Zarovnat na vrch", + "Align Middle": "Zarovnat na stred", + "Align Bottom": "Zarovnat na spodok", + "Cell Style": "\u0165t\u00fdl bunky", + + // Files + "Upload File": "Nahra\u0165 s\u00fabor", + "Drop file": "Vlo\u017ete s\u00fabor sem", + + // Emoticons + "Emoticons": "Emotikony", + "Grinning face": "Tv\u00e1r s \u00fasmevom", + "Grinning face with smiling eyes": "Tv\u00e1r s \u00fasmevom a o\u010dami", + "Face with tears of joy": "Tv\u00e1r so slzamy radosti", + "Smiling face with open mouth": "Usmievaj\u00faci sa tv\u00e1r s otvoren\u00fdmi \u00fastami", + "Smiling face with open mouth and smiling eyes": "Usmievaj\u00faci sa tv\u00e1r s otvoren\u00fdmi \u00fastami a o\u010dami", + "Smiling face with open mouth and cold sweat": "Usmievaj\u00faci sa tv\u00e1r s otvoren\u00fdmi \u00fastami a studen\u00fd pot", + "Smiling face with open mouth and tightly-closed eyes": "Usmievaj\u00faci sa tv\u00e1r s otvoren\u00fdmi \u00fastami a zavret\u00fdmi o\u010dami", + "Smiling face with halo": "Usmievaj\u00faci sa tv\u00e1r s halo", + "Smiling face with horns": "Usmievaj\u00faci sa tv\u00e1r s rohmi", + "Winking face": "Mrkaj\u00faca tv\u00e1r", + "Smiling face with smiling eyes": "Usmievaj\u00faci sa tv\u00e1r a o\u010dami", + "Face savoring delicious food": "Tv\u00e1r vychutn\u00e1vaj\u00faca si chutn\u00e9 jedlo", + "Relieved face": "Spokojn\u00e1 tv\u00e1r", + "Smiling face with heart-shaped eyes": "Usmievaj\u00faci sa tv\u00e1r s o\u010dami v tvare srdca", + "Smiling face with sunglasses": "Usmievaj\u00faci sa tv\u00e1r so slne\u010dn\u00fdmi okuliarmi", + "Smirking face": "U\u0161k\u0155\u0148aj\u00faca sa tv\u00e1r", + "Neutral face": "Neutr\u00e1lna tva\u0155", + "Expressionless face": "Bezv\u00fdrazn\u00e1 tv\u00e1r", + "Unamused face": "Nepobaven\u00e1 tv\u00e1r", + "Face with cold sweat": "Tv\u00e1r so studen\u00fdm potom", + "Pensive face": "Zamyslen\u00e1 tv\u00e1r", + "Confused face": "Zmeten\u00e1 tv\u00e1r", + "Confounded face": "Nahnevan\u00e1 tv\u00e1r", + "Kissing face": "Bozkavaj\u00faca tv\u00e1r", + "Face throwing a kiss": "Tv\u00e1r hadzaj\u00faca pusu", + "Kissing face with smiling eyes": "Bozk\u00e1vaj\u00faca tv\u00e1r s o\u010dami a \u00fasmevom", + "Kissing face with closed eyes": "Bozk\u00e1vaj\u00faca tv\u00e1r so zavret\u00fdmi o\u010dami", + "Face with stuck out tongue": "Tv\u00e1r s vyplazen\u00fdm jazykom", + "Face with stuck out tongue and winking eye": "Mrkaj\u00faca tv\u00e1r s vyplazen\u00fdm jazykom", + "Face with stuck out tongue and tightly-closed eyes": "Tv\u00e1r s vyplazen\u00fdm jazykom a privret\u00fdmi o\u010dami", + "Disappointed face": "Sklaman\u00e1 tv\u00e1r", + "Worried face": "Obavaj\u00faca se tv\u00e1r", + "Angry face": "Nahnevan\u00e1 tv\u00e1r", + "Pouting face": "Na\u0161pulen\u00e1 tv\u00e1r", + "Crying face": "Pla\u010d\u00faca tv\u00e1r", + "Persevering face": "H\u00fa\u017eevnat\u00e1 tv\u00e1r", + "Face with look of triumph": "Tv\u00e1r s v\u00fdrazom v\u00ed\u0165aza", + "Disappointed but relieved face": "Sklaman\u00e1 ale spokojn\u00e1 tv\u00e1r", + "Frowning face with open mouth": "Zamra\u010den\u00e1 tvar s otvoren\u00fdmi \u00fastami", + "Anguished face": "\u00dazkostn\u00e1 tv\u00e1r", + "Fearful face": "Strachuj\u00faca sa tv\u00e1r", + "Weary face": "Unaven\u00e1 tv\u00e1r", + "Sleepy face": "Ospal\u00e1 tv\u00e1r", + "Tired face": "Unaven\u00e1 tv\u00e1r", + "Grimacing face": "Sv\u00e1r s grimasou", + "Loudly crying face": "Nahlas pl\u00e1\u010d\u00faca tv\u00e1r", + "Face with open mouth": "Tv\u00e1r s otvoren\u00fdm \u00fastami", + "Hushed face": "Ml\u010diaca tv\u00e1r", + "Face with open mouth and cold sweat": "Tv\u00e1r s otvoren\u00fdmi \u00fastami a studen\u00fdm potom", + "Face screaming in fear": "Tv\u00e1r kri\u010diaca strachom", + "Astonished face": "Tv\u00e1r v \u00fa\u017ease", + "Flushed face": "S\u010dervenanie v tv\u00e1ri", + "Sleeping face": "Spiaca tv\u00e1r", + "Dizzy face": "Tv\u00e1r vyjadruj\u00faca z\u00e1vrat", + "Face without mouth": "Tv\u00e1r bez \u00fast", + "Face with medical mask": "Tv\u00e1r s lek\u00e1rskou maskou", + + // Line breaker + "Break": "Zalomenie", + + // Math + "Subscript": "Doln\u00fd index", + "Superscript": "Horn\u00fd index", + + // Full screen + "Fullscreen": "Cel\u00e1 obrazovka", + + // Horizontal line + "Insert Horizontal Line": "Vlo\u017ei\u0165 vodorovn\u00fa \u010diaru", + + // Clear formatting + "Clear Formatting": "Vymaza\u0165 formatovanie", + + // Save + "Save": "\u0055\u006c\u006f\u017e\u0069\u0165", + + // Undo, redo + "Undo": "Sp\u00e4\u0165", + "Redo": "Znova", + + // Select all + "Select All": "Vybra\u0165 v\u0161etko", + + // Code view + "Code View": "Zobrazi\u0165 html k\u00f3d", + + // Quote + "Quote": "Cit\u00e1t", + "Increase": "Nav\u00fd\u0161i\u0165", + "Decrease": "Zn\u00ed\u017ei\u0165", + + // Quick Insert + "Quick Insert": "Vlo\u017ei\u0165 zr\u00fdchlene", + + // Spcial Characters + "Special Characters": "Špeciálne znaky", + "Latin": "Latinčina", + "Greek": "Grécky", + "Cyrillic": "Cyriliky", + "Punctuation": "Interpunkcia", + "Currency": "Mena", + "Arrows": "Šípky", + "Math": "Matematika", + "Misc": "Misc", + + // Print. + "Print": "Vytlačiť", + + // Spell Checker. + "Spell Checker": "Kontrola pravopisu", + + // Help + "Help": "Pomoc", + "Shortcuts": "Skratky", + "Inline Editor": "Inline editor", + "Show the editor": "Zobraziť editor", + "Common actions": "Spoločné akcie", + "Copy": "Kópie", + "Cut": "Rez", + "Paste": "Pasta", + "Basic Formatting": "Základné formátovanie", + "Increase quote level": "Zvýšiť úroveň cenovej ponuky", + "Decrease quote level": "Znížiť úroveň cenovej ponuky", + "Image / Video": "Obrázok / video", + "Resize larger": "Zmena veľkosti", + "Resize smaller": "Meniť veľkosť", + "Table": "Stôl", + "Select table cell": "Vyberte bunku tabuľky", + "Extend selection one cell": "Rozšíriť výber jednej bunky", + "Extend selection one row": "Rozšíriť výber o jeden riadok", + "Navigation": "Navigácia", + "Focus popup / toolbar": "Zameranie / panel s nástrojmi", + "Return focus to previous position": "Vrátiť zaostrenie na predchádzajúcu pozíciu", + + // Embed.ly + "Embed URL": "Vložiť adresu URL", + "Paste in a URL to embed": "Vložte do adresy URL, ktorú chcete vložiť", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Vložený obsah vychádza z dokumentu Microsoft Word. chcete formát uchovať alebo ho vyčistiť?", + "Keep": "Zachovať", + "Clean": "Čistý", + "Word Paste Detected": "Slovná vložka bola zistená" + }, + direction: "ltr" +}; +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/sk.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/fr.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/fr.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/fr.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * French + */ + +$.FE.LANGUAGE['fr'] = { + translation: { + // Place holder + "Type something": "Tapez quelque chose", + + // Basic formatting + "Bold": "Gras", + "Italic": "Italique", + "Underline": "Soulign\u00e9", + "Strikethrough": "Barr\u00e9", + + // Main buttons + "Insert": "Ins\u00e9rer", + "Delete": "Supprimer", + "Cancel": "Annuler", + "OK": "Ok", + "Back": "Retour", + "Remove": "Supprimer", + "More": "Plus", + "Update": "Actualiser", + "Style": "Style", + + // Font + "Font Family": "Polices de caract\u00e8res", + "Font Size": "Taille de police", + + // Colors + "Colors": "Couleurs", + "Background": "Arri\u00e8re-plan", + "Text": "Texte", + "HEX Color": "Couleur hexad\u00e9cimale", + + // Paragraphs + "Paragraph Format": "Format de paragraphe", + "Normal": "Normal", + "Code": "Code", + "Heading 1": "Titre 1", + "Heading 2": "Titre 2", + "Heading 3": "Titre 3", + "Heading 4": "Titre 4", + + // Style + "Paragraph Style": "Style de paragraphe", + "Inline Style": "Style en ligne", + + // Alignment + "Align": "Aligner", + "Align Left": "Aligner \u00e0 gauche", + "Align Center": "Aligner au centre", + "Align Right": "Aligner \u00e0 droite", + "Align Justify": "Justifier", + "None": "Aucun", + + // Lists + "Ordered List": "Liste ordonn\u00e9e", + "Unordered List": "Liste non ordonn\u00e9e", + + // Indent + "Decrease Indent": "Diminuer le retrait", + "Increase Indent": "Augmenter le retrait", + + // Links + "Insert Link": "Ins\u00e9rer un lien", + "Open in new tab": "Ouvrir dans un nouvel onglet", + "Open Link": "Ouvrir le lien", + "Edit Link": "Modifier le lien", + "Unlink": "Enlever le lien", + "Choose Link": "Choisir le lien", + + // Images + "Insert Image": "Ins\u00e9rer une image", + "Upload Image": "T\u00e9l\u00e9verser une image", + "By URL": "Par URL", + "Browse": "Parcourir", + "Drop image": "D\u00e9poser une image", + "or click": "ou cliquer", + "Manage Images": "G\u00e9rer les images", + "Loading": "Chargement", + "Deleting": "Suppression", + "Tags": "\u00c9tiquettes", + "Are you sure? Image will be deleted.": "Etes-vous certain? L'image sera supprim\u00e9e.", + "Replace": "Remplacer", + "Uploading": "En t\u00e9l\u00e9versement d'images", + "Loading image": "En chargement d'images", + "Display": "Afficher", + "Inline": "En ligne", + "Break Text": "Rompre le texte", + "Alternative Text": "Texte alternatif", + "Change Size": "Changer la dimension", + "Width": "Largeur", + "Height": "Hauteur", + "Something went wrong. Please try again.": "Quelque chose a mal tourn\u00e9. Veuillez r\u00e9essayer.", + "Image Caption": "L\u00e9gende de l'image", + "Advanced Edit": "\u00c9dition avanc\u00e9e", + + // Video + "Insert Video": "Ins\u00e9rer une vid\u00e9o", + "Embedded Code": "Code int\u00e9gr\u00e9", + "Paste in a video URL": "Coller l'URL d'une vid\u00e9o", + "Drop video": "D\u00e9poser une vid\u00e9o", + "Your browser does not support HTML5 video.": "Votre navigateur ne supporte pas les vid\u00e9os en format HTML5.", + "Upload Video": "T\u00e9l\u00e9verser une vid\u00e9o", + + // Tables + "Insert Table": "Ins\u00e9rer un tableau", + "Table Header": "Ent\u00eate de tableau", + "Remove Table": "Supprimer le tableau", + "Table Style": "Style de tableau", + "Horizontal Align": "Alignement horizontal", + "Row": "Ligne", + "Insert row above": "Ins\u00e9rer une ligne au-dessus", + "Insert row below": "Ins\u00e9rer une ligne en-dessous", + "Delete row": "Supprimer la ligne", + "Column": "Colonne", + "Insert column before": "Ins\u00e9rer une colonne avant", + "Insert column after": "Ins\u00e9rer une colonne apr\u00e8s", + "Delete column": "Supprimer la colonne", + "Cell": "Cellule", + "Merge cells": "Fusionner les cellules", + "Horizontal split": "Diviser horizontalement", + "Vertical split": "Diviser verticalement", + "Cell Background": "Arri\u00e8re-plan de la cellule", + "Vertical Align": "Alignement vertical", + "Top": "En haut", + "Middle": "Au centre", + "Bottom": "En bas", + "Align Top": "Aligner en haut", + "Align Middle": "Aligner au centre", + "Align Bottom": "Aligner en bas", + "Cell Style": "Style de cellule", + + // Files + "Upload File": "T\u00e9l\u00e9verser un fichier", + "Drop file": "D\u00e9poser un fichier", + + // Emoticons + "Emoticons": "\u00c9motic\u00f4nes", + "Grinning face": "Souriant visage", + "Grinning face with smiling eyes": "Souriant visage aux yeux souriants", + "Face with tears of joy": "Visage \u00e0 des larmes de joie", + "Smiling face with open mouth": "Visage souriant avec la bouche ouverte", + "Smiling face with open mouth and smiling eyes": "Visage souriant avec la bouche ouverte et les yeux en souriant", + "Smiling face with open mouth and cold sweat": "Visage souriant avec la bouche ouverte et la sueur froide", + "Smiling face with open mouth and tightly-closed eyes": "Visage souriant avec la bouche ouverte et les yeux herm\u00e9tiquement clos", + "Smiling face with halo": "Sourire visage avec halo", + "Smiling face with horns": "Visage souriant avec des cornes", + "Winking face": "Clin d'oeil visage", + "Smiling face with smiling eyes": "Sourire visage aux yeux souriants", + "Face savoring delicious food": "Visage savourant de d\u00e9licieux plats", + "Relieved face": "Soulag\u00e9 visage", + "Smiling face with heart-shaped eyes": "Visage souriant avec des yeux en forme de coeur", + "Smiling face with sunglasses": "Sourire visage avec des lunettes de soleil", + "Smirking face": "Souriant visage", + "Neutral face": "Visage neutre", + "Expressionless face": "Visage sans expression", + "Unamused face": "Visage pas amus\u00e9", + "Face with cold sweat": "Face \u00e0 la sueur froide", + "Pensive face": "pensif visage", + "Confused face": "Visage confus", + "Confounded face": "visage maudit", + "Kissing face": "Embrasser le visage", + "Face throwing a kiss": "Visage jetant un baiser", + "Kissing face with smiling eyes": "Embrasser le visage avec les yeux souriants", + "Kissing face with closed eyes": "Embrasser le visage avec les yeux ferm\u00e9s", + "Face with stuck out tongue": "Visage avec sortait de la langue", + "Face with stuck out tongue and winking eye": "Visage avec sortait de la langue et des yeux clignotante", + "Face with stuck out tongue and tightly-closed eyes": "Visage avec sortait de la langue et les yeux ferm\u00e9s herm\u00e9tiquement", + "Disappointed face": "Visage d\u00e9\u00e7u", + "Worried face": "Visage inquiet", + "Angry face": "Visage en col\u00e9re", + "Pouting face": "Faire la moue face", + "Crying face": "Pleurer visage", + "Persevering face": "Pers\u00e9v\u00e9rer face", + "Face with look of triumph": "Visage avec le regard de triomphe", + "Disappointed but relieved face": "D\u00e9\u00e7u, mais le visage soulag\u00e9", + "Frowning face with open mouth": "Les sourcils fronc\u00e9s visage avec la bouche ouverte", + "Anguished face": "Visage angoiss\u00e9", + "Fearful face": "Craignant visage", + "Weary face": "Visage las", + "Sleepy face": "Visage endormi", + "Tired face": "Visage fatigu\u00e9", + "Grimacing face": "Visage grima\u00e7ante", + "Loudly crying face": "Pleurer bruyamment visage", + "Face with open mouth": "Visage \u00e0 la bouche ouverte", + "Hushed face": "Visage feutr\u00e9e", + "Face with open mouth and cold sweat": "Visage \u00e0 la bouche ouverte et la sueur froide", + "Face screaming in fear": "Visage hurlant de peur", + "Astonished face": "Visage \u00e9tonn\u00e9", + "Flushed face": "Visage congestionn\u00e9", + "Sleeping face": "Visage au bois dormant", + "Dizzy face": "Visage vertige", + "Face without mouth": "Visage sans bouche", + "Face with medical mask": "Visage avec un masque m\u00e9dical", + + // Line breaker + "Break": "Rompre", + + // Math + "Subscript": "Indice", + "Superscript": "Exposant", + + // Full screen + "Fullscreen": "Plein \u00e9cran", + + // Horizontal line + "Insert Horizontal Line": "Ins\u00e9rer une ligne horizontale", + + // Clear formatting + "Clear Formatting": "Effacer le formatage", + + // Save + "Save": "sauvegarder", + + // Undo, redo + "Undo": "Annuler", + "Redo": "R\u00e9tablir", + + // Select all + "Select All": "Tout s\u00e9lectionner", + + // Code view + "Code View": "Mode HTML", + + // Quote + "Quote": "Citation", + "Increase": "Augmenter", + "Decrease": "Diminuer", + + // Quick Insert + "Quick Insert": "Insertion rapide", + + // Spcial Characters + "Special Characters": "Caract\u00e8res sp\u00e9ciaux", + "Latin": "Latin", + "Greek": "Grec", + "Cyrillic": "Cyrillique", + "Punctuation": "Ponctuation", + "Currency": "Devise", + "Arrows": "Fl\u00e8ches", + "Math": "Math", + "Misc": "Divers", + + // Print. + "Print": "Imprimer", + + // Spell Checker. + "Spell Checker": "Correcteur orthographique", + + // Help + "Help": "Aide", + "Shortcuts": "Raccourcis", + "Inline Editor": "\u00c9diteur en ligne", + "Show the editor": "Montrer l'\u00e9diteur", + "Common actions": "Actions communes", + "Copy": "Copier", + "Cut": "Couper", + "Paste": "Coller", + "Basic Formatting": "Formatage de base", + "Increase quote level": "Augmenter le niveau de citation", + "Decrease quote level": "Diminuer le niveau de citation", + "Image / Video": "Image / vid\u00e9o", + "Resize larger": "Redimensionner plus grand", + "Resize smaller": "Redimensionner plus petit", + "Table": "Table", + "Select table cell": "S\u00e9lectionner la cellule du tableau", + "Extend selection one cell": "\u00c9tendre la s\u00e9lection d'une cellule", + "Extend selection one row": "\u00c9tendre la s\u00e9lection d'une ligne", + "Navigation": "Navigation", + "Focus popup / toolbar": "Focus popup / toolbar", + "Return focus to previous position": "Retourner l'accent sur le poste pr\u00e9c\u00e9dent", + + // Embed.ly + "Embed URL": "URL int\u00e9gr\u00e9e", + "Paste in a URL to embed": "Coller une URL int\u00e9gr\u00e9e", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Le contenu coll\u00e9 provient d'un document Microsoft Word. Voulez-vous conserver le format ou le nettoyer?", + "Keep": "Conserver", + "Clean": "Nettoyer", + "Word Paste Detected": "Copiage de mots d\u00e9tect\u00e9" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/fr.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/fi.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/fi.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/fi.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Finnish + */ + +$.FE.LANGUAGE['fi'] = { + translation: { + // Place holder + "Type something": "Kirjoita jotain", + + // Basic formatting + "Bold": "Lihavointi", + "Italic": "Kursivointi", + "Underline": "Alleviivaus", + "Strikethrough": "Yliviivaus", + + // Main buttons + "Insert": "Lis\u00e4\u00e4", + "Delete": "Poista", + "Cancel": "Peruuta", + "OK": "Ok", + "Back": "Takaisin", + "Remove": "Poista", + "More": "Lis\u00e4\u00e4", + "Update": "P\u00e4ivitys", + "Style": "Tyyli", + + // Font + "Font Family": "Fontti", + "Font Size": "Fonttikoko", + + // Colors + "Colors": "V\u00e4rit", + "Background": "Taustan", + "Text": "Tekstin", + "HEX Color": "Heksadesimaali", + + // Paragraphs + "Paragraph Format": "Muotoilut", + "Normal": "Normaali", + "Code": "Koodi", + "Heading 1": "Otsikko 1", + "Heading 2": "Otsikko 2", + "Heading 3": "Otsikko 3", + "Heading 4": "Otsikko 4", + + // Style + "Paragraph Style": "Kappaleen tyyli", + "Inline Style": "Linjassa tyyli", + + // Alignment + "Align": "Tasaa", + "Align Left": "Tasaa vasemmalle", + "Align Center": "Keskit\u00e4", + "Align Right": "Tasaa oikealle", + "Align Justify": "Tasaa", + "None": "Ei mit\u00e4\u00e4n", + + // Lists + "Ordered List": "J\u00e4rjestetty lista", + "Unordered List": "J\u00e4rjest\u00e4m\u00e4t\u00f6n lista", + + // Indent + "Decrease Indent": "Sisenn\u00e4", + "Increase Indent": "Loitonna", + + // Links + "Insert Link": "Lis\u00e4\u00e4 linkki", + "Open in new tab": "Avaa uudessa v\u00e4lilehdess\u00e4", + "Open Link": "Avaa linkki", + "Edit Link": "Muokkaa linkki", + "Unlink": "Poista linkki", + "Choose Link": "Valitse linkki", + + // Images + "Insert Image": "Lis\u00e4\u00e4 kuva", + "Upload Image": "Lataa kuva", + "By URL": "Mukaan URL", + "Browse": "Selailla", + "Drop image": "Pudota kuva", + "or click": "tai napsauta", + "Manage Images": "Hallitse kuvia", + "Loading": "Lastaus", + "Deleting": "Poistaminen", + "Tags": "Tagit", + "Are you sure? Image will be deleted.": "Oletko varma? Kuva poistetaan.", + "Replace": "Vaihda", + "Uploading": "Lataaminen", + "Loading image": "Lastaus kuva", + "Display": "N\u00e4ytt\u00e4", + "Inline": "Linjassa", + "Break Text": "Rikkoa teksti", + "Alternative Text": "Vaihtoehtoinen teksti", + "Change Size": "Muuta kokoa", + "Width": "Leveys", + "Height": "Korkeus", + "Something went wrong. Please try again.": "Jotain meni pieleen. Yrit\u00e4 uudelleen.", + "Image Caption": "Kuva-otsikko", + "Advanced Edit": "Edistynyt muokkaus", + + // Video + "Insert Video": "Lis\u00e4\u00e4 video", + "Embedded Code": "Upotettu koodi", + "Paste in a video URL": "Liitä video url", + "Drop video": "Pudota video", + "Your browser does not support HTML5 video.": "Selaimesi ei tue html5-videota.", + "Upload Video": "Lataa video", + + // Tables + "Insert Table": "Lis\u00e4\u00e4 taulukko", + "Table Header": "Taulukko yl\u00e4tunniste", + "Remove Table": "Poista taulukko", + "Table Style": "Taulukko tyyli", + "Horizontal Align": "Vaakasuora tasaa", + "Row": "Rivi", + "Insert row above": "Lis\u00e4\u00e4 rivi ennen", + "Insert row below": "Lis\u00e4\u00e4 rivi j\u00e4lkeen", + "Delete row": "Poista rivi", + "Column": "Sarake", + "Insert column before": "Lis\u00e4\u00e4 sarake ennen", + "Insert column after": "Lis\u00e4\u00e4 sarake j\u00e4lkeen", + "Delete column": "Poista sarake", + "Cell": "Solu", + "Merge cells": "Yhdist\u00e4 solut", + "Horizontal split": "Jaa vaakasuora", + "Vertical split": "Jaa pystysuora", + "Cell Background": "Solun tausta", + "Vertical Align": "Pystysuora tasaa", + "Top": "Alku", + "Middle": "Keskimm\u00e4inen", + "Bottom": "Pohja", + "Align Top": "Tasaa alkuun", + "Align Middle": "Tasaa keskimm\u00e4inen", + "Align Bottom": "Tasaa pohja", + "Cell Style": "Solun tyyli", + + // Files + "Upload File": "Lataa tiedosto", + "Drop file": "Pudota tiedosto", + + // Emoticons + "Emoticons": "Hymi\u00f6it\u00e4", + "Grinning face": "Virnisteli kasvot", + "Grinning face with smiling eyes": "Virnisteli kasvot hymyilev\u00e4t silm\u00e4t", + "Face with tears of joy": "Kasvot ilon kyyneleit\u00e4", + "Smiling face with open mouth": "Hymyilev\u00e4 kasvot suu auki", + "Smiling face with open mouth and smiling eyes": "Hymyilev\u00e4 kasvot suu auki ja hymyilee silm\u00e4t", + "Smiling face with open mouth and cold sweat": "Hymyilev\u00e4 kasvot suu auki ja kylm\u00e4 hiki", + "Smiling face with open mouth and tightly-closed eyes": "Hymyilev\u00e4 kasvot suu auki ja tiiviisti suljettu silm\u00e4t", + "Smiling face with halo": "Hymyilev\u00e4 kasvot Halo", + "Smiling face with horns": "Hymyilev\u00e4 kasvot sarvet", + "Winking face": "Silm\u00e4niskut kasvot", + "Smiling face with smiling eyes": "Hymyilev\u00e4 kasvot hymyilev\u00e4t silm\u00e4t", + "Face savoring delicious food": "Kasvot maistella herkullista ruokaa", + "Relieved face": "Vapautettu kasvot", + "Smiling face with heart-shaped eyes": "Hymyilev\u00e4t kasvot syd\u00e4men muotoinen silm\u00e4t", + "Smiling face with sunglasses": "Hymyilev\u00e4 kasvot aurinkolasit", + "Smirking face": "Hym\u00e4t\u00e4\u00e4 kasvot", + "Neutral face": "Neutraali kasvot", + "Expressionless face": "Ilmeet\u00f6n kasvot", + "Unamused face": "Ei huvittanut kasvo", + "Face with cold sweat": "Kasvot kylm\u00e4 hiki", + "Pensive face": "Mietteli\u00e4s kasvot", + "Confused face": "Sekava kasvot", + "Confounded face": "Sekoitti kasvot", + "Kissing face": "Suudella kasvot", + "Face throwing a kiss": "Kasvo heitt\u00e4\u00e4 suudelma", + "Kissing face with smiling eyes": "Suudella kasvot hymyilev\u00e4t silm\u00e4t", + "Kissing face with closed eyes": "Suudella kasvot silm\u00e4t ummessa", + "Face with stuck out tongue": "Kasvot ojensi kieli", + "Face with stuck out tongue and winking eye": "Kasvot on juuttunut pois kielen ja silm\u00e4niskuja silm\u00e4", + "Face with stuck out tongue and tightly-closed eyes": "Kasvot on juuttunut pois kielen ja tiiviisti suljettuna silm\u00e4t", + "Disappointed face": "Pettynyt kasvot", + "Worried face": "Huolissaan kasvot", + "Angry face": "Vihainen kasvot", + "Pouting face": "Pouting kasvot", + "Crying face": "Itku kasvot", + "Persevering face": "Pitk\u00e4j\u00e4nteinen kasvot", + "Face with look of triumph": "Kasvot ilme Triumph", + "Disappointed but relieved face": "Pettynyt mutta helpottunut kasvot", + "Frowning face with open mouth": "Frowning kasvot suu auki", + "Anguished face": "Tuskainen kasvot", + "Fearful face": "Pelokkuus kasvot", + "Weary face": "V\u00e4synyt kasvot", + "Sleepy face": "Unelias kasvot", + "Tired face": "V\u00e4synyt kasvot", + "Grimacing face": "Irvist\u00e4en kasvot", + "Loudly crying face": "\u00e4\u00e4nekk\u00e4\u00e4sti itku kasvot", + "Face with open mouth": "Kasvot suu auki", + "Hushed face": "Hiljentynyt kasvot", + "Face with open mouth and cold sweat": "Kasvot suu auki ja kylm\u00e4 hiki", + "Face screaming in fear": "Kasvot huutaa pelosta", + "Astonished face": "H\u00e4mm\u00e4stynyt kasvot", + "Flushed face": "Kasvojen punoitus", + "Sleeping face": "Nukkuva kasvot", + "Dizzy face": "Huimausta kasvot", + "Face without mouth": "Kasvot ilman suuhun", + "Face with medical mask": "Kasvot l\u00e4\u00e4ketieteen naamio", + + // Line breaker + "Break": "Rikkoa", + + // Math + "Subscript": "Alaindeksi", + "Superscript": "Yl\u00e4indeksi", + + // Full screen + "Fullscreen": "Koko n\u00e4ytt\u00f6", + + // Horizontal line + "Insert Horizontal Line": "Lis\u00e4\u00e4 vaakasuora viiva", + + // Clear formatting + "Clear Formatting": "Poista muotoilu", + + // Save + "Save": "Tallentaa", + + // Undo, redo + "Undo": "Peru", + "Redo": "Tee uudelleen", + + // Select all + "Select All": "Valitse kaikki", + + // Code view + "Code View": "Koodi n\u00e4kym\u00e4", + + // Quote + "Quote": "Lainaus", + "Increase": "Lis\u00e4t\u00e4", + "Decrease": "Pienenn\u00e4", + + // Quick Insert + "Quick Insert": "Nopea insertti", + + // Spcial Characters + "Special Characters": "Erikoismerkkejä", + "Latin": "Latina", + "Greek": "Kreikkalainen", + "Cyrillic": "Kyrillinen", + "Punctuation": "Välimerkit", + "Currency": "Valuutta", + "Arrows": "Nuolet", + "Math": "Matematiikka", + "Misc": "Sekalaista", + + // Print. + "Print": "Tulosta", + + // Spell Checker. + "Spell Checker": "Oikeinkirjoittaja", + + // Help + "Help": "Auta", + "Shortcuts": "Pikakuvakkeet", + "Inline Editor": "Inline-editori", + "Show the editor": "Näytä editori", + "Common actions": "Yhteisiä toimia", + "Copy": "Kopio", + "Cut": "Leikata", + "Paste": "Tahna", + "Basic Formatting": "Perusmuotoilu", + "Increase quote level": "Lisää lainaustasoa", + "Decrease quote level": "Laskea lainaustasoa", + "Image / Video": "Kuva / video", + "Resize larger": "Kokoa suurempi", + "Resize smaller": "Pienempi koko", + "Table": "Pöytä", + "Select table cell": "Valitse taulukon solu", + "Extend selection one cell": "Laajentaa valinta yhden solun", + "Extend selection one row": "Laajenna valinta yksi rivi", + "Navigation": "Suunnistus", + "Focus popup / toolbar": "Painopistevalo / työkalurivi", + "Return focus to previous position": "Palauta tarkennus edelliseen asentoon", + + // Embed.ly + "Embed URL": "Upottaa URL-osoite", + "Paste in a URL to embed": "Liitä upotettu URL-osoite", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Liitetty sisältö tulee Microsoft Word -asiakirjasta. Haluatko säilyttää muodon tai puhdistaa sen?", + "Keep": "Pitää", + "Clean": "Puhdas", + "Word Paste Detected": "Sana-tahna havaittu" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/fi.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/ru.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/ru.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/ru.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Russian + */ + +$.FE.LANGUAGE['ru'] = { + translation: { + // Place holder + "Type something": "\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0447\u0442\u043e\u002d\u043d\u0438\u0431\u0443\u0434\u044c", + + // Basic formatting + "Bold": "\u0416\u0438\u0440\u043d\u044b\u0439", + "Italic": "\u041a\u0443\u0440\u0441\u0438\u0432", + "Underline": "\u041f\u043e\u0434\u0447\u0435\u0440\u043a\u043d\u0443\u0442\u044b\u0439", + "Strikethrough": "\u0417\u0430\u0447\u0435\u0440\u043a\u043d\u0443\u0442\u044b\u0439", + + // Main buttons + "Insert": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c", + "Delete": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c", + "Cancel": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c", + "OK": "\u041e\u043a", + "Back": "\u043d\u0430\u0437\u0430\u0434", + "Remove": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c", + "More": "\u0411\u043e\u043b\u044c\u0448\u0435", + "Update": "\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c", + "Style": "\u0421\u0442\u0438\u043b\u044c", + + // Font + "Font Family": "\u0428\u0440\u0438\u0444\u0442", + "Font Size": "\u0420\u0430\u0437\u043c\u0435\u0440 \u0448\u0440\u0438\u0444\u0442\u0430", + + // Colors + "Colors": "\u0426\u0432\u0435\u0442\u0430", + "Background": "\u0424\u043e\u043d", + "Text": "\u0422\u0435\u043a\u0441\u0442", + "HEX Color": "HEX цвет", + + // Paragraphs + "Paragraph Format": "\u0424\u043e\u0440\u043c\u0430\u0442 \u0430\u0431\u0437\u0430\u0446\u0430", + "Normal": "\u041d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439", + "Code": "\u041a\u043e\u0434", + "Heading 1": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 1", + "Heading 2": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 2", + "Heading 3": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 3", + "Heading 4": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 4", + + // Style + "Paragraph Style": "\u0421\u0442\u0438\u043b\u044c \u0430\u0431\u0437\u0430\u0446\u0430", + "Inline Style": "\u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0441\u0442\u0438\u043b\u044c", + + // Alignment + "Align": "\u0412\u044b\u0440\u043e\u0432\u043d\u044f\u0442\u044c \u043f\u043e", + "Align Left": "\u041f\u043e \u043b\u0435\u0432\u043e\u043c\u0443 \u043a\u0440\u0430\u044e", + "Align Center": "\u041f\u043e \u0446\u0435\u043d\u0442\u0440\u0443", + "Align Right": "\u041f\u043e \u043f\u0440\u0430\u0432\u043e\u043c\u0443 \u043a\u0440\u0430\u044e", + "Align Justify": "\u041f\u043e \u0448\u0438\u0440\u0438\u043d\u0435", + "None": "\u041d\u0438\u043a\u0430\u043a", + + // Lists + "Ordered List": "\u041d\u0443\u043c\u0435\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a", + "Unordered List": "\u041c\u0430\u0440\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a", + + // Indent + "Decrease Indent": "\u0423\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043e\u0442\u0441\u0442\u0443\u043f", + "Increase Indent": "\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043e\u0442\u0441\u0442\u0443\u043f", + + // Links + "Insert Link": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443", + "Open in new tab": "\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0432 \u043d\u043e\u0432\u043e\u0439 \u0432\u043a\u043b\u0430\u0434\u043a\u0435", + "Open Link": "\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435", + "Edit Link": "\u041e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443", + "Unlink": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443", + "Choose Link": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0441\u0441\u044b\u043b\u043a\u0443", + + // Images + "Insert Image": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435", + "Upload Image": "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435", + "By URL": "\u041f\u043e \u0441\u0441\u044b\u043b\u043a\u0435", + "Browse": "\u0417\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f", + "Drop image": "\u041f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u0441\u044e\u0434\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435", + "or click": "\u0438\u043b\u0438 \u043d\u0430\u0436\u043c\u0438\u0442\u0435", + "Manage Images": "\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438", + "Loading": "\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430", + "Deleting": "\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435", + "Tags": "\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430", + "Are you sure? Image will be deleted.": "\u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b? \u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0443\u0434\u0430\u043b\u0435\u043d\u043e.", + "Replace": "\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c", + "Uploading": "\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430", + "Loading image": "\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f", + "Display": "\u041f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435", + "Inline": "\u041e\u0431\u0442\u0435\u043a\u0430\u043d\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u043c", + "Break Text": "\u0412\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0435 \u0432 \u0442\u0435\u043a\u0441\u0442", + "Alternative Text": "\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442", + "Change Size": "\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440", + "Width": "\u0428\u0438\u0440\u0438\u043d\u0430", + "Height": "\u0412\u044b\u0441\u043e\u0442\u0430", + "Something went wrong. Please try again.": "\u0427\u0442\u043e\u002d\u0442\u043e \u043f\u043e\u0448\u043b\u043e \u043d\u0435 \u0442\u0430\u043a\u002e \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430\u002c \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437\u002e", + "Image Caption": "Подпись к изображению", + "Advanced Edit": "Расширенное редактирование", + + // Video + "Insert Video": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0438\u0434\u0435\u043e", + "Embedded Code": "\u0048\u0054\u004d\u004c\u002d\u043a\u043e\u0434 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438", + "Paste in a video URL": "Вставить URL-адрес видео", + "Drop video": "Вставить видео", + "Your browser does not support HTML5 video.": "Ваш браузер не поддерживает html5 видео.", + "Upload Video": "Загрузить видео", + + // Tables + "Insert Table": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443", + "Table Header": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u044b", + "Remove Table": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443", + "Table Style": "\u0421\u0442\u0438\u043b\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u044b", + "Horizontal Align": "\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u0435", + "Row": "\u0421\u0442\u0440\u043e\u043a\u0430", + "Insert row above": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u0441\u0432\u0435\u0440\u0445\u0443", + "Insert row below": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u0441\u043d\u0438\u0437\u0443", + "Delete row": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443", + "Column": "\u0421\u0442\u043e\u043b\u0431\u0435\u0446", + "Insert column before": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0441\u043b\u0435\u0432\u0430", + "Insert column after": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0441\u043f\u0440\u0430\u0432\u0430", + "Delete column": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0442\u043e\u043b\u0431\u0435\u0446", + "Cell": "\u042f\u0447\u0435\u0439\u043a\u0430", + "Merge cells": "\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u044f\u0447\u0435\u0439\u043a\u0438", + "Horizontal split": "\u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e", + "Vertical split": "\u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e", + "Cell Background": "\u0424\u043e\u043d \u044f\u0447\u0435\u0439\u043a\u0438", + "Vertical Align": "\u0412\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u0435", + "Top": "\u041f\u043e \u0432\u0435\u0440\u0445\u043d\u0435\u043c\u0443 \u043a\u0440\u0430\u044e", + "Middle": "\u041f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435", + "Bottom": "\u041f\u043e \u043d\u0438\u0436\u043d\u0435\u043c\u0443 \u043a\u0440\u0430\u044e", + "Align Top": "\u0412\u044b\u0440\u043e\u0432\u043d\u044f\u0442\u044c \u043f\u043e \u0432\u0435\u0440\u0445\u043d\u0435\u043c\u0443 \u043a\u0440\u0430\u044e", + "Align Middle": "\u0412\u044b\u0440\u043e\u0432\u043d\u044f\u0442\u044c \u043f\u043e \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435", + "Align Bottom": "\u0412\u044b\u0440\u043e\u0432\u043d\u044f\u0442\u044c \u043f\u043e \u043d\u0438\u0436\u043d\u0435\u043c\u0443 \u043a\u0440\u0430\u044e", + "Cell Style": "\u0421\u0442\u0438\u043b\u044c \u044f\u0447\u0435\u0439\u043a\u0438", + + // Files + "Upload File": "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0444\u0430\u0439\u043b", + "Drop file": "\u041f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u0441\u044e\u0434\u0430 \u0444\u0430\u0439\u043b", + + // Emoticons + "Emoticons": "\u0421\u043c\u0430\u0439\u043b\u0438\u043a\u0438", + "Grinning face": "\u0423\u0445\u043c\u044b\u043b\u043a\u0430 \u043d\u0430 \u043b\u0438\u0446\u0435", + "Grinning face with smiling eyes": "\u0423\u0441\u043c\u0435\u0445\u043d\u0443\u0432\u0448\u0435\u0435\u0441\u044f \u043b\u0438\u0446\u043e \u0441 \u0443\u043b\u044b\u0431\u0430\u044e\u0449\u0438\u043c\u0438\u0441\u044f \u0433\u043b\u0430\u0437\u0430\u043c\u0438", + "Face with tears of joy": "\u041b\u0438\u0446\u043e \u0441\u043e \u0441\u043b\u0435\u0437\u0430\u043c\u0438 \u0440\u0430\u0434\u043e\u0441\u0442\u0438", + "Smiling face with open mouth": "\u0423\u043b\u044b\u0431\u0430\u044e\u0449\u0435\u0435\u0441\u044f \u043b\u0438\u0446\u043e \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0440\u0442\u043e\u043c", + "Smiling face with open mouth and smiling eyes": "\u0423\u043b\u044b\u0431\u0430\u044f\u0441\u044c \u043b\u0438\u0446\u043e \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0440\u0442\u043e\u043c \u0438 \u0443\u043b\u044b\u0431\u0430\u044e\u0449\u0438\u0435\u0441\u044f \u0433\u043b\u0430\u0437\u0430", + "Smiling face with open mouth and cold sweat": "\u0423\u043b\u044b\u0431\u0430\u044f\u0441\u044c \u043b\u0438\u0446\u043e \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0440\u0442\u043e\u043c \u0438 \u0445\u043e\u043b\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0442", + "Smiling face with open mouth and tightly-closed eyes": "\u0423\u043b\u044b\u0431\u0430\u044f\u0441\u044c \u043b\u0438\u0446\u043e \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0440\u0442\u043e\u043c \u0438 \u043f\u043b\u043e\u0442\u043d\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u043c\u0438 \u0433\u043b\u0430\u0437\u0430\u043c\u0438", + "Smiling face with halo": "\u0423\u043b\u044b\u0431\u0430\u044f\u0441\u044c \u043b\u0438\u0446\u043e \u0433\u0430\u043b\u043e", + "Smiling face with horns": "\u0423\u043b\u044b\u0431\u0430\u044f\u0441\u044c \u043b\u0438\u0446\u043e \u0441 \u0440\u043e\u0433\u0430\u043c\u0438", + "Winking face": "\u043f\u043e\u0434\u043c\u0438\u0433\u0438\u0432\u0430\u044f \u043b\u0438\u0446\u043e", + "Smiling face with smiling eyes": "\u0423\u043b\u044b\u0431\u0430\u044f\u0441\u044c \u043b\u0438\u0446\u043e \u0441 \u0443\u043b\u044b\u0431\u0430\u044e\u0449\u0438\u043c\u0438\u0441\u044f \u0433\u043b\u0430\u0437\u0430\u043c\u0438", + "Face savoring delicious food": "\u041b\u0438\u0446\u043e \u0441\u043c\u0430\u043a\u0443\u044e\u0449\u0435\u0435 \u0432\u043a\u0443\u0441\u043d\u0443\u044e \u0435\u0434\u0443", + "Relieved face": "\u041e\u0441\u0432\u043e\u0431\u043e\u0436\u0434\u0435\u043d\u044b \u043b\u0438\u0446\u043e", + "Smiling face with heart-shaped eyes": "\u0423\u043b\u044b\u0431\u0430\u044f\u0441\u044c \u043b\u0438\u0446\u043e \u0432 \u0444\u043e\u0440\u043c\u0435 \u0441\u0435\u0440\u0434\u0446\u0430 \u0433\u043b\u0430\u0437\u0430\u043c\u0438", + "Smiling face with sunglasses": "\u0423\u043b\u044b\u0431\u0430\u044f\u0441\u044c \u043b\u0438\u0446\u043e \u0441 \u043e\u0447\u043a\u0430\u043c\u0438", + "Smirking face": "\u0423\u0441\u043c\u0435\u0445\u043d\u0443\u0432\u0448\u0438\u0441\u044c \u043b\u0438\u0446\u043e", + "Neutral face": "\u041e\u0431\u044b\u0447\u043d\u044b\u0439 \u043b\u0438\u0446\u043e", + "Expressionless face": "\u041d\u0435\u0432\u044b\u0440\u0430\u0437\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043b\u0438\u0446\u043e", + "Unamused face": "\u041d\u0435 \u0441\u043c\u0435\u0448\u043d\u043e \u043b\u0438\u0446\u043e", + "Face with cold sweat": "\u041b\u0438\u0446\u043e \u0432 \u0445\u043e\u043b\u043e\u0434\u043d\u043e\u043c \u043f\u043e\u0442\u0443", + "Pensive face": "\u0417\u0430\u0434\u0443\u043c\u0447\u0438\u0432\u044b\u0439 \u043b\u0438\u0446\u043e", + "Confused face": "\u0421\u043c\u0443\u0449\u0435\u043d\u043d\u043e\u0435 \u043b\u0438\u0446\u043e", + "Confounded face": "\u041f\u043e\u0441\u0442\u044b\u0434\u043d\u043e\u0435 \u043b\u0438\u0446\u043e", + "Kissing face": "\u041f\u043e\u0446\u0435\u043b\u0443\u0438 \u043b\u0438\u0446\u043e", + "Face throwing a kiss": "\u041b\u0438\u0446\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u043f\u043e\u0446\u0435\u043b\u0443\u0439", + "Kissing face with smiling eyes": "\u041f\u043e\u0446\u0435\u043b\u0443\u0438 \u043b\u0438\u0446\u043e \u0441 \u0443\u043b\u044b\u0431\u0430\u044e\u0449\u0438\u043c\u0438\u0441\u044f \u0433\u043b\u0430\u0437\u0430\u043c\u0438", + "Kissing face with closed eyes": "\u041f\u043e\u0446\u0435\u043b\u0443\u0438 \u043b\u0438\u0446\u043e \u0441 \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u043c\u0438 \u0433\u043b\u0430\u0437\u0430\u043c\u0438", + "Face with stuck out tongue": "\u041b\u0438\u0446\u043e \u0441 \u0442\u043e\u0440\u0447\u0430\u0449\u0438\u043c \u044f\u0437\u044b\u043a\u043e\u043c", + "Face with stuck out tongue and winking eye": "\u041b\u0438\u0446\u043e \u0441 \u0442\u043e\u0440\u0447\u0430\u0449\u0438\u043c \u044f\u0437\u044b\u043a\u043e\u043c \u0438 \u043f\u043e\u0434\u043c\u0438\u0433\u0438\u0432\u0430\u044e\u0449\u0438\u043c \u0433\u043b\u0430\u0437\u043e\u043c", + "Face with stuck out tongue and tightly-closed eyes": "\u041b\u0438\u0446\u043e \u0441 \u0442\u043e\u0440\u0447\u0430\u0449\u0438\u043c \u044f\u0437\u044b\u043a\u043e\u043c \u0438 \u043f\u043b\u043e\u0442\u043d\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u044b\u043c\u0438 \u0433\u043b\u0430\u0437\u0430\u043c\u0438", + "Disappointed face": "\u0420\u0430\u0437\u043e\u0447\u0430\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u043b\u0438\u0446\u043e", + "Worried face": "\u041e\u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0435\u043d\u043d\u044b\u0439 \u043b\u0438\u0446\u043e", + "Angry face": "\u0417\u043b\u043e\u0439 \u043b\u0438\u0446\u043e", + "Pouting face": "\u041f\u0443\u0445\u043b\u044b\u0435 \u043b\u0438\u0446\u043e", + "Crying face": "\u041f\u043b\u0430\u0447\u0443\u0449\u0435\u0435 \u043b\u0438\u0446\u043e", + "Persevering face": "\u041d\u0430\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u0430\u044f \u043b\u0438\u0446\u043e", + "Face with look of triumph": "\u041b\u0438\u0446\u043e \u0441 \u0432\u0438\u0434\u043e\u043c \u0442\u0440\u0438\u0443\u043c\u0444\u0430", + "Disappointed but relieved face": "\u0420\u0430\u0437\u043e\u0447\u0430\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435\u002c \u043d\u043e \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e\u0435 \u043b\u0438\u0446\u043e", + "Frowning face with open mouth": "\u041d\u0430\u0445\u043c\u0443\u0440\u0435\u043d\u043d\u043e\u0435 \u043b\u0438\u0446\u043e \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0440\u0442\u043e\u043c", + "Anguished face": "\u043c\u0443\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043b\u0438\u0446\u043e", + "Fearful face": "\u041d\u0430\u043f\u0443\u0433\u0430\u043d\u043d\u043e\u0435 \u043b\u0438\u0446\u043e", + "Weary face": "\u0423\u0441\u0442\u0430\u043b\u044b\u0439 \u043b\u0438\u0446\u043e", + "Sleepy face": "\u0441\u043e\u043d\u043d\u043e\u0435 \u043b\u0438\u0446\u043e", + "Tired face": "\u0423\u0441\u0442\u0430\u043b\u0438 \u043b\u0438\u0446\u043e", + "Grimacing face": "\u0413\u0440\u0438\u043c\u0430\u0441\u0430 \u043d\u0430 \u043b\u0438\u0446\u0435", + "Loudly crying face": "\u0413\u0440\u043e\u043c\u043a\u043e \u043f\u043b\u0430\u0447\u0430 \u043b\u0438\u0446\u043e", + "Face with open mouth": "\u041b\u0438\u0446\u043e \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0440\u0442\u043e\u043c", + "Hushed face": "\u0417\u0430\u0442\u0438\u0445\u0448\u0438\u0439 \u043b\u0438\u0446\u043e", + "Face with open mouth and cold sweat": "\u041b\u0438\u0446\u043e \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0440\u0442\u043e\u043c \u0432 \u0445\u043e\u043b\u043e\u0434\u043d\u043e\u043c \u043f\u043e\u0442\u0443", + "Face screaming in fear": "\u041b\u0438\u0446\u043e \u043a\u0440\u0438\u0447\u0430\u0449\u0435\u0435 \u043e\u0442 \u0441\u0442\u0440\u0430\u0445\u0430", + "Astonished face": "\u0423\u0434\u0438\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u043b\u0438\u0446\u043e", + "Flushed face": "\u041f\u043e\u043a\u0440\u0430\u0441\u043d\u0435\u0432\u0448\u0435\u0435 \u043b\u0438\u0446\u043e", + "Sleeping face": "\u0421\u043f\u044f\u0449\u0430\u044f \u043b\u0438\u0446\u043e", + "Dizzy face": "\u0414\u0438\u0437\u0437\u0438 \u043b\u0438\u0446\u043e", + "Face without mouth": "\u041b\u0438\u0446\u043e \u0431\u0435\u0437 \u0440\u0442\u0430", + "Face with medical mask": "\u041b\u0438\u0446\u043e \u0441 \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u043e\u0439 \u043c\u0430\u0441\u043a\u043e\u0439", + + // Line breaker + "Break": "\u041d\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430", + + // Math + "Subscript": "\u041d\u0438\u0436\u043d\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441", + "Superscript": "\u0412\u0435\u0440\u0445\u043d\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441", + + // Full screen + "Fullscreen": "\u041d\u0430 \u0432\u0435\u0441\u044c \u044d\u043a\u0440\u0430\u043d", + + // Horizontal line + "Insert Horizontal Line": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u043b\u0438\u043d\u0438\u044e", + + // Clear formatting + "Clear Formatting": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435", + + // Save + "Save": "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c", + + // Undo, redo + "Undo": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c", + "Redo": "\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c", + + // Select all + "Select All": "\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0451", + + // Code view + "Code View": "\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0048\u0054\u004d\u004c\u002d\u043a\u043e\u0434\u0430", + + // Quote + "Quote": "\u0426\u0438\u0442\u0430\u0442\u0430", + "Increase": "\u0423\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435", + "Decrease": "\u0421\u043d\u0438\u0436\u0435\u043d\u0438\u0435", + + // Quick Insert + "Quick Insert": "\u0411\u044b\u0441\u0442\u0440\u0430\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0430", + + // Spcial Characters + "Special Characters": "Специальные символы", + "Latin": "Латинский", + "Greek": "Греческий", + "Cyrillic": "Кириллица", + "Punctuation": "Пунктуация", + "Currency": "Валюта", + "Arrows": "Стрелки", + "Math": "Математический", + "Misc": "Разное", + + // Print. + "Print": "Распечатать", + + // Spell Checker. + "Spell Checker": "Программа проверки орфографии", + + // Help + "Help": "Помощь", + "Shortcuts": "Горячие клавищи", + "Inline Editor": "Встроенный редактор", + "Show the editor": "Показать редактор", + "Common actions": "Общие действия", + "Copy": "Копировать", + "Cut": "Вырезать", + "Paste": "Вставить", + "Basic Formatting": "Базовое форматирование", + "Increase quote level": "Увеличить уровень цитирования", + "Decrease quote level": "Уменьшить уровень цитирования", + "Image / Video": "Изображение / Видео", + "Resize larger": "Изменить размер", + "Resize smaller": "Уменьшить размер", + "Table": "Таблица", + "Select table cell": "Выбрать ячейку таблицы", + "Extend selection one cell": "Расширить выделение одной ячейки", + "Extend selection one row": "Расширить выделение на одну строку", + "Navigation": "Навигация", + "Focus popup / toolbar": "Сфокусировать всплывающее окно / панель инструментов", + "Return focus to previous position": "Вернуть фокус на предыдущую позицию", + + // Embed.ly + "Embed URL": "Вставить URL-адрес", + "Paste in a URL to embed": "Вставить URL-адрес для встраивания", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Вы пытаетесь вставить текст из документа Microsoft Word. Вы хотите сохранить или очистить формат?", + "Keep": "Сохранить", + "Clean": "Очистить", + "Word Paste Detected": "Обнаружена вставка отформатированного текста" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/ru.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/ja.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/ja.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/ja.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Japanese + */ + +$.FE.LANGUAGE['ja'] = { + translation: { + // Place holder + "Type something": "\u3053\u3053\u306b\u5165\u529b\u3057\u307e\u3059", + + // Basic formatting + "Bold": "\u592a\u5b57", + "Italic": "\u659c\u4f53", + "Underline": "\u4e0b\u7dda", + "Strikethrough": "\u53d6\u308a\u6d88\u3057\u7dda", + + // Main buttons + "Insert": "\u633f\u5165", + "Delete": "\u524a\u9664", + "Cancel": "\u30ad\u30e3\u30f3\u30bb\u30eb", + "OK": "OK", + "Back": "\u623b\u308b", + "Remove": "\u524a\u9664", + "More": "\u3082\u3063\u3068", + "Update": "\u66f4\u65b0", + "Style": "\u30b9\u30bf\u30a4\u30eb", + + // Font + "Font Family": "\u30d5\u30a9\u30f3\u30c8", + "Font Size": "\u30d5\u30a9\u30f3\u30c8\u30b5\u30a4\u30ba", + + // Colors + "Colors": "\u8272", + "Background": "\u80cc\u666f", + "Text": "\u30c6\u30ad\u30b9\u30c8", + "HEX Color": "\u30d8\u30ad\u30b5\u306e\u8272", + + // Paragraphs + "Paragraph Format": "\u6bb5\u843d\u306e\u66f8\u5f0f", + "Normal": "\u6a19\u6e96", + "Code": "\u30b3\u30fc\u30c9", + "Heading 1": "\u30d8\u30c3\u30c0\u30fc 1", + "Heading 2": "\u30d8\u30c3\u30c0\u30fc 2", + "Heading 3": "\u30d8\u30c3\u30c0\u30fc 3", + "Heading 4": "\u30d8\u30c3\u30c0\u30fc 4", + + // Style + "Paragraph Style": "\u6bb5\u843d\u30b9\u30bf\u30a4\u30eb", + "Inline Style": "\u30a4\u30f3\u30e9\u30a4\u30f3\u30b9\u30bf\u30a4\u30eb", + + // Alignment + "Align": "\u914d\u7f6e", + "Align Left": "\u5de6\u63c3\u3048", + "Align Center": "\u4e2d\u592e\u63c3\u3048", + "Align Right": "\u53f3\u63c3\u3048", + "Align Justify": "\u4e21\u7aef\u63c3\u3048", + "None": "\u306a\u3057", + + // Lists + "Ordered List": "\u6bb5\u843d\u756a\u53f7", + "Unordered List": "\u7b87\u6761\u66f8\u304d", + + // Indent + "Decrease Indent": "\u30a4\u30f3\u30c7\u30f3\u30c8\u3092\u6e1b\u3089\u3059", + "Increase Indent": "\u30a4\u30f3\u30c7\u30f3\u30c8\u3092\u5897\u3084\u3059", + + // Links + "Insert Link": "\u30ea\u30f3\u30af\u306e\u633f\u5165", + "Open in new tab": "\u65b0\u3057\u3044\u30bf\u30d6\u3067\u958b\u304f", + "Open Link": "\u30ea\u30f3\u30af\u3092\u958b\u304f", + "Edit Link": "\u30ea\u30f3\u30af\u306e\u7de8\u96c6", + "Unlink": "\u30ea\u30f3\u30af\u306e\u524a\u9664", + "Choose Link": "\u30ea\u30f3\u30af\u3092\u9078\u629e", + + // Images + "Insert Image": "\u753b\u50cf\u306e\u633f\u5165", + "Upload Image": "\u753b\u50cf\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9", + "By URL": "\u753b\u50cf\u306eURL\u3092\u5165\u529b", + "Browse": "\u53c2\u7167", + "Drop image": "\u753b\u50cf\u3092\u30c9\u30e9\u30c3\u30b0&\u30c9\u30ed\u30c3\u30d7", + "or click": "\u307e\u305f\u306f\u30af\u30ea\u30c3\u30af", + "Manage Images": "\u753b\u50cf\u306e\u7ba1\u7406", + "Loading": "\u8aad\u307f\u8fbc\u307f\u4e2d", + "Deleting": "\u524a\u9664", + "Tags": "\u30bf\u30b0", + "Are you sure? Image will be deleted.": "\u672c\u5f53\u306b\u524a\u9664\u3057\u307e\u3059\u304b\uff1f", + "Replace": "\u7f6e\u63db", + "Uploading": "\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u4e2d", + "Loading image": "\u753b\u50cf\u8aad\u307f\u8fbc\u307f\u4e2d", + "Display": "\u8868\u793a", + "Inline": "\u30a4\u30f3\u30e9\u30a4\u30f3", + "Break Text": "\u30c6\u30ad\u30b9\u30c8\u306e\u6539\u884c", + "Alternative Text": "\u4ee3\u66ff\u30c6\u30ad\u30b9\u30c8", + "Change Size": "\u30b5\u30a4\u30ba\u5909\u66f4", + "Width": "\u5e45", + "Height": "\u9ad8\u3055", + "Something went wrong. Please try again.": "\u554f\u984c\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u3082\u3046\u4e00\u5ea6\u3084\u308a\u76f4\u3057\u3066\u304f\u3060\u3055\u3044\u3002", + "Image Caption": "\u753b\u50cf\u30ad\u30e3\u30d7\u30b7\u30e7\u30f3", + "Advanced Edit": "\u9ad8\u5ea6\u306a\u7de8\u96c6", + + // Video + "Insert Video": "\u52d5\u753b\u306e\u633f\u5165", + "Embedded Code": "\u57cb\u3081\u8fbc\u307f\u30b3\u30fc\u30c9", + "Paste in a video URL": "\u52d5\u753bURL\u306b\u8cbc\u308a\u4ed8\u3051\u308b", + "Drop video": "\u52d5\u753b\u3092\u30c9\u30e9\u30c3\u30b0&\u30c9\u30ed\u30c3\u30d7", + "Your browser does not support HTML5 video.": "\u3042\u306a\u305f\u306e\u30d6\u30e9\u30a6\u30b6\u306fhtml5 video\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3066\u3044\u307e\u305b\u3093\u3002", + "Upload Video": "\u52d5\u753b\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9", + + // Tables + "Insert Table": "\u8868\u306e\u633f\u5165", + "Table Header": "\u8868\u306e\u30d8\u30c3\u30c0\u30fc", + "Remove Table": "\u8868\u306e\u524a\u9664", + "Table Style": "\u8868\u306e\u30b9\u30bf\u30a4\u30eb", + "Horizontal Align": "\u6a2a\u4f4d\u7f6e", + "Row": "\u884c", + "Insert row above": "\u4e0a\u306b\u884c\u3092\u633f\u5165", + "Insert row below": "\u4e0b\u306b\u884c\u3092\u633f\u5165", + "Delete row": "\u884c\u306e\u524a\u9664", + "Column": "\u5217", + "Insert column before": "\u5de6\u306b\u5217\u3092\u633f\u5165", + "Insert column after": "\u53f3\u306b\u5217\u3092\u633f\u5165", + "Delete column": "\u5217\u306e\u524a\u9664", + "Cell": "\u30bb\u30eb", + "Merge cells": "\u30bb\u30eb\u306e\u7d50\u5408", + "Horizontal split": "\u6a2a\u5206\u5272", + "Vertical split": "\u7e26\u5206\u5272", + "Cell Background": "\u30bb\u30eb\u306e\u80cc\u666f", + "Vertical Align": "\u7e26\u4f4d\u7f6e", + "Top": "\u4e0a\u63c3\u3048", + "Middle": "\u4e2d\u592e\u63c3\u3048", + "Bottom": "\u4e0b\u63c3\u3048", + "Align Top": "\u4e0a\u306b\u63c3\u3048\u307e\u3059", + "Align Middle": "\u4e2d\u592e\u306b\u63c3\u3048\u307e\u3059", + "Align Bottom": "\u4e0b\u306b\u63c3\u3048\u307e\u3059", + "Cell Style": "\u30bb\u30eb\u30b9\u30bf\u30a4\u30eb", + + // Files + "Upload File": "\u30d5\u30a1\u30a4\u30eb\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9", + "Drop file": "\u30d5\u30a1\u30a4\u30eb\u3092\u30c9\u30e9\u30c3\u30b0&\u30c9\u30ed\u30c3\u30d7", + + // Emoticons + "Emoticons": "\u7d75\u6587\u5b57", + "Grinning face": "\u30cb\u30f3\u30de\u30ea\u9854", + "Grinning face with smiling eyes": "\u30cb\u30f3\u30de\u30ea\u9854(\u7b11\u3063\u3066\u3044\u308b\u76ee)", + "Face with tears of joy": "\u5b09\u3057\u6ce3\u304d\u3059\u308b\u9854", + "Smiling face with open mouth": "\u7b11\u9854(\u5e83\u3052\u305f\u53e3)", + "Smiling face with open mouth and smiling eyes": "\u7b11\u9854(\u5e83\u3052\u305f\u53e3\u3001\u7b11\u3063\u3066\u3044\u308b\u76ee)", + "Smiling face with open mouth and cold sweat": "\u7b11\u9854(\u5e83\u3052\u305f\u53e3\u3001\u51b7\u3084\u6c57)", + "Smiling face with open mouth and tightly-closed eyes": "\u7b11\u9854(\u5e83\u3052\u305f\u53e3\u3001\u3057\u3063\u304b\u308a\u9589\u3058\u305f\u76ee)", + "Smiling face with halo": "\u5929\u4f7f\u306e\u8f2a\u304c\u304b\u304b\u3063\u3066\u3044\u308b\u7b11\u9854", + "Smiling face with horns": "\u89d2\u306e\u3042\u308b\u7b11\u9854", + "Winking face": "\u30a6\u30a3\u30f3\u30af\u3057\u305f\u9854", + "Smiling face with smiling eyes": "\u7b11\u9854(\u7b11\u3063\u3066\u3044\u308b\u76ee)", + "Face savoring delicious food": "\u304a\u3044\u3057\u3044\u3082\u306e\u3092\u98df\u3079\u305f\u9854", + "Relieved face": "\u5b89\u5fc3\u3057\u305f\u9854", + "Smiling face with heart-shaped eyes": "\u76ee\u304c\u30cf\u30fc\u30c8\u306e\u7b11\u9854", + "Smiling face with sunglasses": "\u30b5\u30f3\u30b0\u30e9\u30b9\u3092\u304b\u3051\u305f\u7b11\u9854", + "Smirking face": "\u4f5c\u308a\u7b11\u3044", + "Neutral face": "\u7121\u8868\u60c5\u306e\u9854", + "Expressionless face": "\u7121\u8868\u60c5\u306a\u9854", + "Unamused face": "\u3064\u307e\u3089\u306a\u3044\u9854", + "Face with cold sweat": "\u51b7\u3084\u6c57\u3092\u304b\u3044\u305f\u9854", + "Pensive face": "\u8003\u3048\u4e2d\u306e\u9854", + "Confused face": "\u5c11\u3057\u3057\u3087\u3093\u307c\u308a\u3057\u305f\u9854", + "Confounded face": "\u56f0\u308a\u679c\u3066\u305f\u9854", + "Kissing face": "\u30ad\u30b9\u3059\u308b\u9854", + "Face throwing a kiss": "\u6295\u3052\u30ad\u30c3\u30b9\u3059\u308b\u9854", + "Kissing face with smiling eyes": "\u7b11\u3044\u306a\u304c\u3089\u30ad\u30b9\u3059\u308b\u9854", + "Kissing face with closed eyes": "\u76ee\u3092\u9589\u3058\u3066\u30ad\u30b9\u3059\u308b\u9854", + "Face with stuck out tongue": "\u304b\u3089\u304b\u3063\u305f\u9854(\u3042\u3063\u304b\u3093\u3079\u3048)", + "Face with stuck out tongue and winking eye": "\u30a6\u30a3\u30f3\u30af\u3057\u3066\u820c\u3092\u51fa\u3057\u305f\u9854", + "Face with stuck out tongue and tightly-closed eyes": "\u76ee\u3092\u9589\u3058\u3066\u820c\u3092\u51fa\u3057\u305f\u9854", + "Disappointed face": "\u843d\u3061\u8fbc\u3093\u3060\u9854", + "Worried face": "\u4e0d\u5b89\u306a\u9854", + "Angry face": "\u6012\u3063\u305f\u9854", + "Pouting face": "\u3075\u304f\u308c\u9854", + "Crying face": "\u6ce3\u3044\u3066\u3044\u308b\u9854", + "Persevering face": "\u5931\u6557\u9854", + "Face with look of triumph": "\u52dd\u3061\u307b\u3053\u3063\u305f\u9854", + "Disappointed but relieved face": "\u5b89\u5835\u3057\u305f\u9854", + "Frowning face with open mouth": "\u3044\u3084\u306a\u9854(\u958b\u3051\u305f\u53e3)", + "Anguished face": "\u3052\u3093\u306a\u308a\u3057\u305f\u9854", + "Fearful face": "\u9752\u3056\u3081\u305f\u9854", + "Weary face": "\u75b2\u308c\u305f\u9854", + "Sleepy face": "\u7720\u3044\u9854", + "Tired face": "\u3057\u3093\u3069\u3044\u9854", + "Grimacing face": "\u3061\u3087\u3063\u3068\u4e0d\u5feb\u306a\u9854", + "Loudly crying face": "\u5927\u6ce3\u304d\u3057\u3066\u3044\u308b\u9854", + "Face with open mouth": "\u53e3\u3092\u958b\u3051\u305f\u9854", + "Hushed face": "\u9ed9\u3063\u305f\u9854", + "Face with open mouth and cold sweat": "\u53e3\u3092\u958b\u3051\u305f\u9854(\u51b7\u3084\u6c57)", + "Face screaming in fear": "\u6050\u6016\u306e\u53eb\u3073\u9854", + "Astonished face": "\u9a5a\u3044\u305f\u9854", + "Flushed face": "\u71b1\u3063\u307d\u3044\u9854", + "Sleeping face": "\u5bdd\u9854", + "Dizzy face": "\u307e\u3044\u3063\u305f\u9854", + "Face without mouth": "\u53e3\u306e\u306a\u3044\u9854", + "Face with medical mask": "\u30de\u30b9\u30af\u3057\u305f\u9854", + + // Line breaker + "Break": "\u6539\u884c", + + // Math + "Subscript": "\u4e0b\u4ed8\u304d\u6587\u5b57", + "Superscript": "\u4e0a\u4ed8\u304d\u6587\u5b57", + + // Full screen + "Fullscreen": "\u5168\u753b\u9762\u8868\u793a", + + // Horizontal line + "Insert Horizontal Line": "\u6c34\u5e73\u7dda\u306e\u633f\u5165", + + // Clear formatting + "Clear Formatting": "\u66f8\u5f0f\u306e\u30af\u30ea\u30a2", + + // Save + "Save": "\u30bb\u30fc\u30d6", + + // Undo, redo + "Undo": "\u5143\u306b\u623b\u3059", + "Redo": "\u3084\u308a\u76f4\u3059", + + // Select all + "Select All": "\u5168\u3066\u3092\u9078\u629e", + + // Code view + "Code View": "HTML\u30bf\u30b0\u8868\u793a", + + // Quote + "Quote": "\u5f15\u7528", + "Increase": "\u5897\u52a0", + "Decrease": "\u6e1b\u5c11", + + // Quick Insert + "Quick Insert": "\u30af\u30a4\u30c3\u30af\u633f\u5165", + + // Spcial Characters + "Special Characters": "\u7279\u6b8a\u6587\u5b57", + "Latin": "\u30e9\u30c6\u30f3\u8a9e", + "Greek": "\u30ae\u30ea\u30b7\u30e3\u8a9e", + "Cyrillic": "\u30ad\u30ea\u30eb\u6587\u5b57", + "Punctuation": "\u53e5\u8aad\u70b9", + "Currency": "\u901a\u8ca8", + "Arrows": "\u77e2\u5370", + "Math": "\u6570\u5b66", + "Misc": "\u305d\u306e\u4ed6", + + // Print. + "Print": "\u5370\u5237", + + // Spell Checker. + "Spell Checker": "\u30b9\u30da\u30eb\u30c1\u30a7\u30c3\u30af", + + // Help + "Help": "\u30d8\u30eb\u30d7", + "Shortcuts": "\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8", + "Inline Editor": "\u30a4\u30f3\u30e9\u30a4\u30f3\u30a8\u30c7\u30a3\u30bf", + "Show the editor": "\u30a8\u30c7\u30a3\u30bf\u3092\u8868\u793a", + "Common actions": "\u4e00\u822c\u52d5\u4f5c", + "Copy": "\u30b3\u30d4\u30fc", + "Cut": "\u30ab\u30c3\u30c8", + "Paste": "\u8cbc\u308a\u4ed8\u3051", + "Basic Formatting": "\u57fa\u672c\u66f8\u5f0f", + "Increase quote level": "\u5f15\u7528\u3092\u5897\u3084\u3059", + "Decrease quote level": "\u5f15\u7528\u3092\u6e1b\u3089\u3059", + "Image / Video": "\u753b\u50cf/\u52d5\u753b", + "Resize larger": "\u5927\u304d\u304f\u3059\u308b", + "Resize smaller": "\u5c0f\u3055\u304f\u3059\u308b", + "Table": "\u8868", + "Select table cell": "\u30bb\u30eb\u3092\u9078\u629e", + "Extend selection one cell": "\u30bb\u30eb\u306e\u9078\u629e\u7bc4\u56f2\u3092\u5e83\u3052\u308b", + "Extend selection one row": "\u5217\u306e\u9078\u629e\u7bc4\u56f2\u3092\u5e83\u3052\u308b", + "Navigation": "\u30ca\u30d3\u30b2\u30fc\u30b7\u30e7\u30f3", + "Focus popup / toolbar": "\u30dd\u30c3\u30d7\u30a2\u30c3\u30d7/\u30c4\u30fc\u30eb\u30d0\u30fc\u3092\u30d5\u30a9\u30fc\u30ab\u30b9", + "Return focus to previous position": "\u524d\u306e\u4f4d\u7f6e\u306b\u30d5\u30a9\u30fc\u30ab\u30b9\u3092\u623b\u3059", + + //\u00a0Embed.ly + "Embed URL": "\u57cb\u3081\u8fbc\u307fURL", + "Paste in a URL to embed": "\u57cb\u3081\u8fbc\u307fURL\u306b\u8cbc\u308a\u4ed8\u3051\u308b", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "\u8cbc\u308a\u4ed8\u3051\u305f\u6587\u66f8\u306fMicrosoft Word\u304b\u3089\u53d6\u5f97\u3055\u308c\u307e\u3059\u3002\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u3092\u4fdd\u6301\u3057\u3066\u8cbc\u308a\u4ed8\u3051\u307e\u3059\u304b\uff1f", + "Keep": "\u66f8\u5f0f\u3092\u4fdd\u6301\u3059\u308b", + "Clean": "\u66f8\u5f0f\u3092\u4fdd\u6301\u3057\u306a\u3044", + "Word Paste Detected": "Microsoft Word\u306e\u8cbc\u308a\u4ed8\u3051\u304c\u691c\u51fa\u3055\u308c\u307e\u3057\u305f" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/ja.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/vi.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/vi.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/vi.js (revision 7) @@ -0,0 +1,261 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +$.FE.LANGUAGE['vi'] = { + translation: { + // Place holder + "Type something": "Vi\u1EBFt \u0111i\u1EC1u g\u00EC \u0111\u00F3...", + + // Basic formatting + "Bold": "\u0110\u1EADm", + "Italic": "Nghi\u00EAng", + "Underline": "G\u1EA1ch ch\u00E2n", + "Strikethrough": "G\u1EA1ch ngang ch\u1EEF", + + // Main buttons + "Insert": "Ch\u00E8n", + "Delete": "X\u00F3a", + "Cancel": "H\u1EE7y", + "OK": "OK", + "Back": "Tr\u1EDF v\u1EC1", + "Remove": "X\u00F3a", + "More": "Th\u00EAm", + "Update": "C\u1EADp nh\u1EADt", + "Style": "Ki\u1EC3u", + + // Font + "Font Family": "Ph\u00F4ng ch\u1EEF", + "Font Size": "C\u1EE1 ch\u1EEF", + + // Colors + "Colors": "M\u00E0u s\u1EAFc", + "Background": "N\u1EC1n", + "Text": "Ch\u1EEF", + "HEX Color": "Màu hex", + + // Paragraphs + "Paragraph Format": "\u0110\u1ECBnh d\u1EA1ng \u0111o\u1EA1n v\u0103n b\u1EA3n", + "Normal": "Normal", + "Code": "Code", + "Heading 1": "Heading 1", + "Heading 2": "Heading 2", + "Heading 3": "Heading 3", + "Heading 4": "Heading 4", + + // Style + "Paragraph Style": "Ki\u1EC3u \u0111o\u1EA1n v\u0103n b\u1EA3n", + "Inline Style": "Ki\u1EC3u d\u00F2ng", + + // Alignment + "Align": "C\u0103n ch\u1EC9nh", + "Align Left": "C\u0103n tr\u00E1i", + "Align Center": "C\u0103n gi\u1EEFa", + "Align Right": "C\u0103n ph\u1EA3i", + "Align Justify": "C\u0103n \u0111\u1EC1u", + "None": "Kh\u00F4ng", + + // Lists + "Ordered List": "Danh s\u00E1ch theo th\u1EE9 t\u1EF1", + "Unordered List": "Danh s\u00E1ch li\u1EC7t k\u00EA", + + // Indent + "Decrease Indent": "Gi\u1EA3m c\u0103n l\u1EC1", + "Increase Indent": "T\u0103ng c\u0103n l\u1EC1", + + // Links + "Insert Link": "Ch\u00E8n link", + "Open in new tab": "M\u1EDF trong tab m\u1EDBi", + "Open Link": "M\u1EDF link", + "Edit Link": "S\u1EEDa link", + "Unlink": "B\u1ECF link", + "Choose Link": "Ch\u1ECDn link", + + // Images + "Insert Image": "Ch\u00E8n h\u00ECnh", + "Upload Image": "T\u1EA3i h\u00ECnh l\u00EAn", + "By URL": "B\u1EB1ng URL", + "Browse": "Duy\u1EC7t file", + "Drop image": "K\u00E9o th\u1EA3 h\u00ECnh", + "or click": "ho\u1EB7c ch\u1ECDn", + "Manage Images": "Qu\u1EA3n l\u00FD h\u00ECnh \u1EA3nh", + "Loading": "\u0110ang t\u1EA3i", + "Deleting": "\u0110ang x\u00F3a", + "Tags": "Tags", + "Are you sure? Image will be deleted.": "B\u1EA1n c\u00F3 ch\u1EAFc ch\u1EAFn? H\u00ECnh \u1EA3nh s\u1EBD b\u1ECB x\u00F3a.", + "Replace": "Thay th\u1EBF", + "Uploading": "\u0110ang t\u1EA3i l\u00EAn", + "Loading image": "\u0110ang t\u1EA3i h\u00ECnh \u1EA3nh", + "Display": "Hi\u1EC3n th\u1ECB", + "Inline": "C\u00F9ng d\u00F2ng v\u1EDBi ch\u1EEF", + "Break Text": "Kh\u00F4ng c\u00F9ng d\u00F2ng v\u1EDBi ch\u1EEF", + "Alternative Text": "Thay th\u1EBF ch\u1EEF", + "Change Size": "Thay \u0111\u1ED5i k\u00EDch c\u1EE1", + "Width": "Chi\u1EC1u r\u1ED9ng", + "Height": "Chi\u1EC1u cao", + "Something went wrong. Please try again.": "C\u00F3 l\u1ED7i x\u1EA3y ra. Vui l\u00F2ng th\u1EED l\u1EA1i sau.", + "Image Caption": "Chú thích hình ảnh", + "Advanced Edit": "Chỉnh sửa tiên tiến", + + // Video + "Insert Video": "Ch\u00E8n video", + "Embedded Code": "M\u00E3 nh\u00FAng", + "Paste in a video URL": "Dán vào một url video", + "Drop video": "Thả video", + "Your browser does not support HTML5 video.": "Trình duyệt của bạn không hỗ trợ video html5.", + "Upload Video": "Tải video lên", + + // Tables + "Insert Table": "Ch\u00E8n b\u1EA3ng", + "Table Header": "D\u00F2ng \u0111\u1EA7u b\u1EA3ng", + "Remove Table": "X\u00F3a b\u1EA3ng", + "Table Style": "Ki\u1EC3u b\u1EA3ng", + "Horizontal Align": "C\u0103n ch\u1EC9nh chi\u1EC1u ngang", + "Row": "D\u00F2ng", + "Insert row above": "Ch\u00E8n d\u00F2ng ph\u00EDa tr\u00EAn", + "Insert row below": "Ch\u00E8n d\u00F2ng ph\u00EDa d\u01B0\u1EDBi", + "Delete row": "X\u00F3a d\u00F2ng", + "Column": "C\u1ED9t", + "Insert column before": "Ch\u00E8n c\u1ED9t b\u00EAn tr\u00E1i", + "Insert column after": "Ch\u00E8n c\u1ED9t b\u00EAn ph\u1EA3i", + "Delete column": "X\u00F3a c\u1ED9t", + "Cell": "\u00D4 b\u1EA3ng", + "Merge cells": "G\u1ED9p \u00F4", + "Horizontal split": "Chia d\u00F2ng", + "Vertical split": "Chia c\u1ED9t", + "Cell Background": "M\u00E0u n\u1EC1n", + "Vertical Align": "C\u0103n ch\u1EC9nh chi\u1EC1u d\u1ECDc", + "Top": "Tr\u00EAn c\u00F9ng", + "Middle": "Gi\u1EEFa", + "Bottom": "D\u01B0\u1EDBi \u0111\u00E1y", + "Align Top": "C\u0103n tr\u00EAn", + "Align Middle": "C\u0103n gi\u1EEFa", + "Align Bottom": "C\u0103n d\u01B0\u1EDBi", + "Cell Style": "Ki\u1EC3u \u00F4", + + // Files + "Upload File": "T\u1EA3i file l\u00EAn", + "Drop file": "K\u00E9o th\u1EA3 file", + + // Emoticons + "Emoticons": "Bi\u1EC3u t\u01B0\u1EE3ng c\u1EA3m x\u00FAc", + + // Line breaker + "Break": "Ng\u1EAFt d\u00F2ng", + + // Math + "Subscript": "Subscript", + "Superscript": "Superscript", + + // Full screen + "Fullscreen": "To\u00E0n m\u00E0n h\u00ECnh", + + // Horizontal line + "Insert Horizontal Line": "Ch\u00E8n \u0111\u01B0\u1EDDng k\u1EBB ngang v\u0103n b\u1EA3n", + + // Clear formatting + "Clear Formatting": "X\u00F3a \u0111\u1ECBnh d\u1EA1ng", + + // Save + "Save": "Save", + + // Undo, redo + "Undo": "Undo", + "Redo": "Redo", + + // Select all + "Select All": "Ch\u1ECDn t\u1EA5t c\u1EA3", + + // Code view + "Code View": "Xem d\u1EA1ng code", + + // Quote + "Quote": "Tr\u00EDch d\u1EABn", + "Increase": "T\u0103ng", + "Decrease": "Gi\u1EA3m", + + // Quick Insert + "Quick Insert": "Ch\u00E8n nhanh", + + // Spcial Characters + "Special Characters": "Nhân vật đặc biệt", + "Latin": "Latin", + "Greek": "Người Hy Lạp", + "Cyrillic": "Chữ viết tay", + "Punctuation": "Chấm câu", + "Currency": "Tiền tệ", + "Arrows": "Mũi tên", + "Math": "Môn Toán", + "Misc": "Misc", + + // Print. + "Print": "In", + + // Spell Checker. + "Spell Checker": "Công cụ kiểm tra chính tả", + + // Help + "Help": "Cứu giúp", + "Shortcuts": "Phím tắt", + "Inline Editor": "Trình biên tập nội tuyến", + "Show the editor": "Hiển thị trình soạn thảo", + "Common actions": "Hành động thông thường", + "Copy": "Sao chép", + "Cut": "Cắt tỉa", + "Paste": "Dán", + "Basic Formatting": "Định dạng cơ bản", + "Increase quote level": "Tăng mức báo giá", + "Decrease quote level": "Giảm mức giá", + "Image / Video": "Hình ảnh / video", + "Resize larger": "Thay đổi kích thước lớn hơn", + "Resize smaller": "Thay đổi kích thước nhỏ hơn", + "Table": "Bàn", + "Select table cell": "Chọn ô trong bảng", + "Extend selection one cell": "Mở rộng lựa chọn một ô", + "Extend selection one row": "Mở rộng lựa chọn một hàng", + "Navigation": "Dẫn đường", + "Focus popup / toolbar": "Tập trung popup / thanh công cụ", + "Return focus to previous position": "Quay trở lại vị trí trước", + + // Embed.ly + "Embed URL": "Url nhúng", + "Paste in a URL to embed": "Dán vào một url để nhúng", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Nội dung dán là đến từ một tài liệu từ microsoft. bạn có muốn giữ định dạng hoặc làm sạch nó?", + "Keep": "Giữ", + "Clean": "Dọn dẹp", + "Word Paste Detected": "Dán từ được phát hiện" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/vi.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/el.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/el.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/el.js (revision 7) @@ -0,0 +1,327 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Arabic + */ + +$.FE.LANGUAGE['el'] = { + translation: { +// Place holder + "Type something": "Εισάγετε κείμενο", + + // Basic formatting + "Bold": "Έντονα", + "Italic": "Πλάγια", + "Underline": "Υπογραμμισμένα", + "Strikethrough": "Διαγραμμένα", + + // Main buttons + "Insert": "Εισαγωγή", + "Delete": "Διαγραφή", + "Cancel": "Ακύρωση", + "OK": "OK", + "Back": "Πίσω", + "Remove": "Αφαίρεση", + "More": "Περισσότερα", + "Update": "Ενημέρωση", + "Style": "Εξατομίκευση", + + // Font + "Font Family": "Γραμματοσειρά", + "Font Size": "Μέγεθος", + + // Colors + "Colors": "Χρώματα", + "Background": "Φόντο", + "Text": "Κείμενο", + "HEX Color": "Χρώμα HEX", + + // Paragraphs + "Paragraph Format": "Μορφή παραγράφου", + "Normal": "Κανονική", + "Code": "Κώδικας", + "Heading 1": "Επικεφαλίδα 1", + "Heading 2": "Επικεφαλίδα 2", + "Heading 3": "Επικεφαλίδα 3", + "Heading 4": "Επικεφαλίδα 4", + + // Style + "Paragraph Style": "Εξατομίκευση παραγράφου", + "Gray": "Γκρι", + "Spaced": "Αραιά", + "Uppercase": "Κεφαλαία", + "Inline Style": "Ενσωματωμένος τύπος", + + // Alignment + "Align": "Ευθυγράμμιση", + "Align Left": "Αριστερά", + "Align Center": "Κέντρο", + "Align Right": "Δεξιά", + "Align Justify": "Γέμισμα", + "None": "Χωρίς ευθυγράμμιση", + + // Lists + "Ordered List": "Διεταγμένη λίστα", + "Unordered List": "Αναδιάταχτη λίστα", + + // Indent + "Decrease Indent": "Μείωση πλαισίου", + "Increase Indent": "Αύξηση πλαισίου", + + // Links + "Insert Link": "Εισαγωγή συνδέσμου", + "Open in new tab": "Άνοιγμα σε νέα καρτέλα", + "Open Link": "Άνοιγμα συνδέσμου", + "Edit Link": "Επεξεργασία συνδέσμου", + "Unlink": "Αποσύνδεση", + "Choose Link": "Επιλογή συνδέσμου", + + // Images + "Insert Image": "Εισαγωγή εικόνας", + "Upload Image": "Ανέβασμα εικόνας", + "By URL": "Από URL", + "Browse": "Περιήγηση", + "Drop image": "Σύρετε εικόνα", + "or click": "ή κάντε κλικ", + "Manage Images": "Διαχείριση εικόνων", + "Loading": "Φόρτωση", + "Deleting": "Διαγραφή", + "Tags": "Ετικέτες", + "Are you sure? Image will be deleted.": "Σίγουρα; Η εικόνα θα διαγραφεί.", + "Replace": "Αντικατάσταση", + "Uploading": "Ανέβασμα", + "Loading image": "Φόρτωση εικόνας", + "Display": "Προβολή", + "Inline": "Ενσωματωμένη", + "Break Text": "Σπάσιμο κειμένου", + "Alternative Text": "Εναλλακτικό κείμενο", + "Change Size": "Αλλαγή μεγέθους", + "Width": "Πλάτος", + "Height": "Ύψος", + "Something went wrong. Please try again.": "Κάτι πήγε στραβά. Προσπαθήστε ξανά.", + "Image Caption": "Λεζάντα εικόνας", + "Advanced Edit": "Προχωρημένη επεξεργασία", + "Rounded": "Κυκλικός", + "Bordered": "Πλαίσιο", + "Shadow": "Σκια", + + // Video + "Insert Video": "Εισαγωγή βίντεο", + "Embedded Code": "Ενσωμάτωση κώδικα", + "Paste in a video URL": "Εισαγωγή URL βίντεο", + "Drop video": "Σύρετε βίντεο", + "Your browser does not support HTML5 video.": "Ο περιηγητής σας δεν υποστηρίζει βίντεο τύπου HTML5.", + "Upload Video": "Ανέβασμα βίντεο", + + // Tables + "Insert Table": "Εισαγωγή πίνακα", + "Table Header": "Επικεφαλίδα πίνακα", + "Remove Table": "Αφαίρεση πίνακα", + "Table Style": "Εξατομίκευση πίνακα", + "Horizontal Align": "Οριζόντια ευθυγράμμιση", + "Row": "Σειρά", + "Insert row above": "Εισαγωγή σειράς από πάνω", + "Insert row below": "Εισαγωγή σειράς από κάτω", + "Delete row": "Διαγραφή σειράς", + "Column": "Στήλη", + "Insert column before": "Εισαγωγή στήλης πριν", + "Insert column after": "Εισαγωγή στήλης μετά", + "Delete column": "Διαγραφή στήλης", + "Cell": "Κελί", + "Merge cells": "Συγχώνευση κελιών", + "Horizontal split": "Οριζόντος διαχωρισμός", + "Vertical split": "Κατακόρυφος διαχωρισμός", + "Cell Background": "Φόντο κελιού", + "Vertical Align": "Κατακόρυφη ευθυγράμμιση", + "Top": "Κορυφή", + "Middle": "Μέση", + "Bottom": "Βάθος", + "Align Top": "Ευθυγράμμιση κορυφής", + "Align Middle": "Ευθυγράμμιση μέσης", + "Align Bottom": "Ευθυγράμμιση βάθους", + "Cell Style": "Εξατομίκευση κελιού", + + // Files + "Upload File": "Ανέβασμα αρχείου", + "Drop file": "Σύρετε αρχείο", + + // Emoticons + "Emoticons": "Emoticons", + "Grinning face": "Γέλιο", + "Grinning face with smiling eyes": "Γέλιο με γελαστά μάτια", + "Face with tears of joy": "Δάκρυα γέλιου (LOL)", + "Smiling face with open mouth": "Χαμόγελο με ανοιχτό στόμα", + "Smiling face with open mouth and smiling eyes": "Χαμόγελο με ανοιχτό στόμα και γελαστά μάτια", + "Smiling face with open mouth and cold sweat": "Χαμόγελο με ανοιχτό στόμα και σταγόνα ιδρώτα", + "Smiling face with open mouth and tightly-closed eyes": "Χαμόγελο με ανοιχτό στόμα και σφιχτά κλεισμένα μάτια", + "Smiling face with halo": "Χαμόγελο με φωτοστέφανο", + "Smiling face with horns": "Χαμογελαστό διαβολάκι", + "Winking face": "Κλείσιμο ματιού", + "Smiling face with smiling eyes": "Χαμόγελο με γελαστά μάτια", + "Face savoring delicious food": "Νόστιμο", + "Relieved face": "Ανακούφιση", + "Smiling face with heart-shaped eyes": "Χαμόγελο με μάτια σε σχήμα καρδιάς", + "Smiling face with sunglasses": "Χαμόγελο με γυαλιά ηλίου", + "Smirking face": "Ειρωνία", + "Neutral face": "Ουδέτερο", + "Expressionless face": "Ανέκφραστο", + "Unamused face": "Αψυχαγώγητο", + "Face with cold sweat": "Σταγόνα ιδρώτα", + "Pensive face": "Σκεπτικό", + "Confused face": "Σύγχιση", + "Confounded face": "Ακράτεια", + "Kissing face": "Φιλί", + "Face throwing a kiss": "Πάσα φιλιού", + "Kissing face with smiling eyes": "Φιλί με γελαστά μάτια", + "Kissing face with closed eyes": "Φιλί με κλειστά μάτια", + "Face with stuck out tongue": "Γλώσσα", + "Face with stuck out tongue and winking eye": "Γλώσσα με κλείσιμο ματιού", + "Face with stuck out tongue and tightly-closed eyes": "Γλώσσα με σφιχτά κλεισμένα μάτια", + "Disappointed face": "Απογοήτευση", + "Worried face": "Ανυσηχία", + "Angry face": "Θυμός", + "Pouting face": "Έξαλλο", + "Crying face": "Κλάμα θυμού", + "Persevering face": "Έτοιμο να εκραγεί", + "Face with look of triumph": "Θρίαμβος", + "Disappointed but relieved face": "Απογοήτευση με ανακούφιση", + "Frowning face with open mouth": "Απορία", + "Anguished face": "Αγωνία", + "Fearful face": "Φόβος", + "Weary face": "Κούραση", + "Sleepy face": "Εξάντληση", + "Tired face": "Γκρίνια", + "Grimacing face": "Γκριμάτσα", + "Loudly crying face": "Δυνατό κλάμα", + "Face with open mouth": "Έκπληξη", + "Hushed face": "Σιωπή", + "Face with open mouth and cold sweat": "Έκπληξη με ιδρώτα", + "Face screaming in fear": "Πανικός", + "Astonished face": "Ηλίθιο", + "Flushed face": "Ντροπαλό", + "Sleeping face": "Ύπνος", + "Dizzy face": "Ζαλάδα", + "Face without mouth": "Άφωνο", + "Face with medical mask": "Νοσηλευτική μάσκα", + + // Line breaker + "Break": "Σπάσιμο", + + // Math + "Subscript": "Υποκείμενο", + "Superscript": "Υπερκείμενο", + + // Full screen + "Fullscreen": "Πλήρης οθόνη", + + // Horizontal line + "Insert Horizontal Line": "Εισαγωγή οριζόντιας γραμμής", + + // Clear formatting + "Clear Formatting": "Εκαθάριση μορφοποίησης", + + // Save + "Save": "", + + // Undo, redo + "Undo": "Αναίρεση", + "Redo": "Επανάληψη", + + // Select all + "Select All": "Επιλογή Όλων", + + // Code view + "Code View": "Προβολή Κώδικα", + + // Quote + "Quote": "Απόσπασμα", + "Increase": "Αύξηση", + "Decrease": "Μείωση", + + // Quick Insert + "Quick Insert": "Γρήγορη εισαγωγή", + + // Spcial Characters + "Special Characters": "Ειδικοί χαρακτήρες", + "Latin": "Λατινικοί", + "Greek": "Ελληνικοί", + "Cyrillic": "Κρυλλικοί", + "Punctuation": "Σημεία στήξης", + "Currency": "Συνάλλαγμα", + "Arrows": "Βέλη", + "Math": "Μαθηματικά", + "Misc": "Διάφοροι", + + // Print. + "Print": "Εκτύπωση", + + // Spell Checker. + "Spell Checker": "Έλεγχος ορθογραφίας", + + // Help + "Help": "Βοήθεια", + "Shortcuts": "Συντομεύσεις", + "Inline Editor": "Ενσωματωμένος επεξεργαστής", + "Show the editor": "Εμφάνιση επεξεργαστή", + "Common actions": "Κοινές ενέργειες", + "Copy": "Αντιγραφή", + "Cut": "Αποκοπή", + "Paste": "Επικόλληση", + "Basic Formatting": "Βασική διαμόρφωση", + "Increase quote level": "Αύξηση επιπέδου αποσπάσματος", + "Decrease quote level": "Μείωση επιπέδου αποσπάσματος", + "Image / Video": "Εικόνα / Βίντεο", + "Resize larger": "Αύξηση μεγέθους", + "Resize smaller": "Μείωση μεγέθους", + "Table": "Πίνακας", + "Select table cell": "Επιλογή κελιού από πίνακα", + "Extend selection one cell": "Επέκταση επιλογής κατά ένα κελί", + "Extend selection one row": "Επέκταση επιλογής κατά μια σειρά", + "Navigation": "Πλοήγηση", + "Focus popup / toolbar": "Εστίαση αναδυόμενου / εργαλειοθήκης", + "Return focus to previous position": "Επιστροφή εστίασης στην προηγούμενη θέση", + + // Embed.ly + "Embed URL": "Ενσωμάτωση URL", + "Paste in a URL to embed": "Εισάγετε ένα URL για ενσωμάτωση", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Το περιεχόμενο που επικολλήσατε προέρχεται από ένα έγγραφο του Microsoft Word. Θέλετε να διατηρήσετε το έγγραφο ή να το καταργήσετε;", + "Keep": "Διατήρηση", + "Clean": "Κατάργηση", + "Word Paste Detected": "Εντοπίστηκε επικόλληση από αρχείο Word" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/el.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/de.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/de.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/de.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * German + */ + +$.FE.LANGUAGE['de'] = { + translation: { + // Place holder + "Type something": "Hier tippen", + + // Basic formatting + "Bold": "Fett", + "Italic": "Kursiv", + "Underline": "Unterstrichen", + "Strikethrough": "Durchgestrichen", + + // Main buttons + "Insert": "Einfügen", + "Delete": "Löschen", + "Cancel": "Abbrechen", + "OK": "OK", + "Back": "Zurück", + "Remove": "Entfernen", + "More": "Mehr", + "Update": "Aktualisieren", + "Style": "Stil", + + // Font + "Font Family": "Schriftart", + "Font Size": "Schriftgröße", + + // Colors + "Colors": "Farben", + "Background": "Hintergrund", + "Text": "Text", + "HEX Color": "Hexadezimaler Farbwert", + + // Paragraphs + "Paragraph Format": "Formatierung", + "Normal": "Normal", + "Code": "Quelltext", + "Heading 1": "Überschrift 1", + "Heading 2": "Überschrift 2", + "Heading 3": "Überschrift 3", + "Heading 4": "Überschrift 4", + + // Style + "Paragraph Style": "Absatzformatierung", + "Inline Style": "Inlineformatierung", + + // Alignment + "Align": "Ausrichtung", + "Align Left": "Linksbündig ausrichten", + "Align Center": "Zentriert ausrichten", + "Align Right": "Rechtsbündig ausrichten", + "Align Justify": "Blocksatz", + "None": "Keine", + + // Lists + "Ordered List": "Nummerierte Liste", + "Unordered List": "Unnummerierte Liste", + + // Indent + "Decrease Indent": "Einzug verkleinern", + "Increase Indent": "Einzug vergrößern", + + // Links + "Insert Link": "Link einfügen", + "Open in new tab": "In neuem Tab öffnen", + "Open Link": "Link öffnen", + "Edit Link": "Link bearbeiten", + "Unlink": "Link entfernen", + "Choose Link": "Einen Link auswählen", + + // Images + "Insert Image": "Bild einfügen", + "Upload Image": "Bild hochladen", + "By URL": "Von URL", + "Browse": "Durchsuchen", + "Drop image": "Bild hineinziehen", + "or click": "oder hier klicken", + "Manage Images": "Bilder verwalten", + "Loading": "Laden", + "Deleting": "Löschen", + "Tags": "Tags", + "Are you sure? Image will be deleted.": "Wollen Sie das Bild wirklich löschen?", + "Replace": "Ersetzen", + "Uploading": "Hochladen", + "Loading image": "Das Bild wird geladen", + "Display": "Textausrichtung", + "Inline": "Mit Text in einer Zeile", + "Break Text": "Text umbrechen", + "Alternative Text": "Alternativtext", + "Change Size": "Größe ändern", + "Width": "Breite", + "Height": "Höhe", + "Something went wrong. Please try again.": "Etwas ist schief gelaufen. Bitte versuchen Sie es erneut.", + "Image Caption": "Bildbeschreibung", + "Advanced Edit": "Erweiterte Bearbeitung", + + // Video + "Insert Video": "Video einfügen", + "Embedded Code": "Eingebetteter Code", + "Paste in a video URL": "Fügen Sie die Video-URL ein", + "Drop video": "Video hineinziehen", + "Your browser does not support HTML5 video.": "Ihr Browser unterstützt keine HTML5-Videos.", + "Upload Video": "Video hochladen", + + // Tables + "Insert Table": "Tabelle einfügen", + "Table Header": "Tabellenkopf", + "Remove Table": "Tabelle entfernen", + "Table Style": "Tabellenformatierung", + "Horizontal Align": "Horizontale Ausrichtung", + "Row": "Zeile", + "Insert row above": "Neue Zeile davor einfügen", + "Insert row below": "Neue Zeile danach einfügen", + "Delete row": "Zeile löschen", + "Column": "Spalte", + "Insert column before": "Neue Spalte davor einfügen", + "Insert column after": "Neue Spalte danach einfügen", + "Delete column": "Spalte löschen", + "Cell": "Zelle", + "Merge cells": "Zellen verbinden", + "Horizontal split": "Horizontal teilen", + "Vertical split": "Vertikal teilen", + "Cell Background": "Zellenfarbe", + "Vertical Align": "Vertikale Ausrichtung", + "Top": "Oben", + "Middle": "Zentriert", + "Bottom": "Unten", + "Align Top": "Oben ausrichten", + "Align Middle": "Zentriert ausrichten", + "Align Bottom": "Unten ausrichten", + "Cell Style": "Zellen-Stil", + + // Files + "Upload File": "Datei hochladen", + "Drop file": "Datei hineinziehen", + + // Emoticons + "Emoticons": "Emoticons", + "Grinning face": "Grinsendes Gesicht", + "Grinning face with smiling eyes": "Grinsend Gesicht mit lächelnden Augen", + "Face with tears of joy": "Gesicht mit Tränen der Freude", + "Smiling face with open mouth": "Lächelndes Gesicht mit offenem Mund", + "Smiling face with open mouth and smiling eyes": "Lächelndes Gesicht mit offenem Mund und lächelnden Augen", + "Smiling face with open mouth and cold sweat": "Lächelndes Gesicht mit offenem Mund und kaltem Schweiß", + "Smiling face with open mouth and tightly-closed eyes": "Lächelndes Gesicht mit offenem Mund und fest geschlossenen Augen", + "Smiling face with halo": "Lächeln Gesicht mit Heiligenschein", + "Smiling face with horns": "Lächeln Gesicht mit Hörnern", + "Winking face": "Zwinkerndes Gesicht", + "Smiling face with smiling eyes": "Lächelndes Gesicht mit lächelnden Augen", + "Face savoring delicious food": "Gesicht leckeres Essen genießend", + "Relieved face": "Erleichtertes Gesicht", + "Smiling face with heart-shaped eyes": "Lächelndes Gesicht mit herzförmigen Augen", + "Smiling face with sunglasses": "Lächelndes Gesicht mit Sonnenbrille", + "Smirking face": "Grinsendes Gesicht", + "Neutral face": "Neutrales Gesicht", + "Expressionless face": "Ausdrucksloses Gesicht", + "Unamused face": "Genervtes Gesicht", + "Face with cold sweat": "Gesicht mit kaltem Schweiß", + "Pensive face": "Nachdenkliches Gesicht", + "Confused face": "Verwirrtes Gesicht", + "Confounded face": "Elendes Gesicht", + "Kissing face": "Küssendes Gesicht", + "Face throwing a kiss": "Gesicht wirft einen Kuss", + "Kissing face with smiling eyes": "Küssendes Gesicht mit lächelnden Augen", + "Kissing face with closed eyes": "Küssendes Gesicht mit geschlossenen Augen", + "Face with stuck out tongue": "Gesicht mit herausgestreckter Zunge", + "Face with stuck out tongue and winking eye": "Gesicht mit herausgestreckter Zunge und zwinkerndem Auge", + "Face with stuck out tongue and tightly-closed eyes": "Gesicht mit herausgestreckter Zunge und fest geschlossenen Augen", + "Disappointed face": "Enttäuschtes Gesicht", + "Worried face": "Besorgtes Gesicht", + "Angry face": "Verärgertes Gesicht", + "Pouting face": "Schmollendes Gesicht", + "Crying face": "Weinendes Gesicht", + "Persevering face": "Ausharrendes Gesicht", + "Face with look of triumph": "Gesicht mit triumphierenden Blick", + "Disappointed but relieved face": "Enttäuschtes, aber erleichtertes Gesicht", + "Frowning face with open mouth": "Entsetztes Gesicht mit offenem Mund", + "Anguished face": "Gequältes Gesicht", + "Fearful face": "Angstvolles Gesicht", + "Weary face": "Müdes Gesicht", + "Sleepy face": "Schläfriges Gesicht", + "Tired face": "Gähnendes Gesicht", + "Grimacing face": "Grimassenschneidendes Gesicht", + "Loudly crying face": "Laut weinendes Gesicht", + "Face with open mouth": "Gesicht mit offenem Mund", + "Hushed face": "Besorgtes Gesicht mit offenem Mund", + "Face with open mouth and cold sweat": "Gesicht mit offenem Mund und kaltem Schweiß", + "Face screaming in fear": "Vor Angst schreiendes Gesicht", + "Astonished face": "Erstauntes Gesicht", + "Flushed face": "Gerötetes Gesicht", + "Sleeping face": "Schlafendes Gesicht", + "Dizzy face": "Schwindliges Gesicht", + "Face without mouth": "Gesicht ohne Mund", + "Face with medical mask": "Gesicht mit Mundschutz", + + // Line breaker + "Break": "Zeilenumbruch", + + // Math + "Subscript": "Tiefgestellt", + "Superscript": "Hochgestellt", + + // Full screen + "Fullscreen": "Vollbild", + + // Horizontal line + "Insert Horizontal Line": "Horizontale Linie einfügen", + + // Clear formatting + "Clear Formatting": "Formatierung löschen", + + // Save + "Save": "Sparen", + + // Undo, redo + "Undo": "Rückgängig", + "Redo": "Wiederholen", + + // Select all + "Select All": "Alles auswählen", + + // Code view + "Code View": "Code-Ansicht", + + // Quote + "Quote": "Zitieren", + "Increase": "Vergrößern", + "Decrease": "Verkleinern", + + // Quick Insert + "Quick Insert": "Schnell einfügen", + + // Spcial Characters + "Special Characters": "Sonderzeichen", + "Latin": "Lateinisch", + "Greek": "Griechisch", + "Cyrillic": "Kyrillisch", + "Punctuation": "Satzzeichen", + "Currency": "Währung", + "Arrows": "Pfeile", + "Math": "Mathematik", + "Misc": "Sonstige", + + // Print. + "Print": "Drucken", + + // Spell Checker. + "Spell Checker": "Rechtschreibprüfung", + + // Help + "Help": "Hilfe", + "Shortcuts": "Verknüpfungen", + "Inline Editor": "Inline-Editor", + "Show the editor": "Editor anzeigen", + "Common actions": "Häufig verwendete Befehle", + "Copy": "Kopieren", + "Cut": "Ausschneiden", + "Paste": "Einfügen", + "Basic Formatting": "Grundformatierung", + "Increase quote level": "Zitatniveau erhöhen", + "Decrease quote level": "Zitatniveau verringern", + "Image / Video": "Bild / Video", + "Resize larger": "Vergrößern", + "Resize smaller": "Verkleinern", + "Table": "Tabelle", + "Select table cell": "Tabellenzelle auswählen", + "Extend selection one cell": "Erweitere Auswahl um eine Zelle", + "Extend selection one row": "Erweitere Auswahl um eine Zeile", + "Navigation": "Navigation", + "Focus popup / toolbar": "Fokus-Popup / Symbolleiste", + "Return focus to previous position": "Fokus auf vorherige Position", + + // Embed.ly + "Embed URL": "URL einbetten", + "Paste in a URL to embed": "URL einfügen um sie einzubetten", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Der eingefügte Inhalt kommt aus einem Microsoft Word-Dokument. Möchten Sie die Formatierungen behalten oder verwerfen?", + "Keep": "Behalten", + "Clean": "Bereinigen", + "Word Paste Detected": "Aus Word einfügen" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/de.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/en_ca.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/en_ca.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/en_ca.js (revision 7) @@ -0,0 +1,265 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * English spoken in Canada + */ + +$.FE.LANGUAGE['en_ca'] = { + translation: { + // Place holder + "Type something": "Type something", + + // Basic formatting + "Bold": "Bold", + "Italic": "Italic", + "Underline": "Underline", + "Strikethrough": "Strikethrough", + + // Main buttons + "Insert": "Insert", + "Delete": "Delete", + "Cancel": "Cancel", + "OK": "OK", + "Back": "Back", + "Remove": "Remove", + "More": "More", + "Update": "Update", + "Style": "Style", + + // Font + "Font Family": "Font Family", + "Font Size": "Font Size", + + // Colors + "Colors": "Colours", + "Background": "Background", + "Text": "Text", + "HEX Color": "HEX Colour", + + // Paragraphs + "Paragraph Format": "Paragraph Format", + "Normal": "Normal", + "Code": "Code", + "Heading 1": "Heading 1", + "Heading 2": "Heading 2", + "Heading 3": "Heading 3", + "Heading 4": "Heading 4", + + // Style + "Paragraph Style": "Paragraph Style", + "Inline Style": "Inline Style", + + // Alignment + "Align": "Align", + "Align Left": "Align Left", + "Align Center": "Align Centre", + "Align Right": "Align Right", + "Align Justify": "Align Justify", + "None": "None", + + // Lists + "Ordered List": "Ordered List", + "Unordered List": "Unordered List", + + // Indent + "Decrease Indent": "Decrease Indent", + "Increase Indent": "Increase Indent", + + // Links + "Insert Link": "Insert Link", + "Open in new tab": "Open in new tab", + "Open Link": "Open Link", + "Edit Link": "Edit Link", + "Unlink": "Unlink", + "Choose Link": "Choose Link", + + // Images + "Insert Image": "Insert Image", + "Upload Image": "Upload Image", + "By URL": "By URL", + "Browse": "Browse", + "Drop image": "Drop image", + "or click": "or click", + "Manage Images": "Manage Images", + "Loading": "Loading", + "Deleting": "Deleting", + "Tags": "Tags", + "Are you sure? Image will be deleted.": "Are you sure? Image will be deleted.", + "Replace": "Replace", + "Uploading": "Uploading", + "Loading image": "Loading image", + "Display": "Display", + "Inline": "Inline", + "Break Text": "Break Text", + "Alternative Text": "Alternative Text", + "Change Size": "Change Size", + "Width": "Width", + "Height": "Height", + "Something went wrong. Please try again.": "Something went wrong. Please try again.", + "Image Caption": "Image Caption", + "Advanced Edit": "Advanced Edit", + + // Video + "Insert Video": "Insert Video", + "Embedded Code": "Embedded Code", + "Paste in a video URL": "Paste in a video URL", + "Drop video": "Drop video", + "Your browser does not support HTML5 video.": "Your browser does not support HTML5 video.", + "Upload Video": "Upload Video", + + // Tables + "Insert Table": "Insert Table", + "Table Header": "Table Header", + "Remove Table": "Remove Table", + "Table Style": "Table Style", + "Horizontal Align": "Horizontal Align", + "Row": "Row", + "Insert row above": "Insert row above", + "Insert row below": "Insert row below", + "Delete row": "Delete row", + "Column": "Column", + "Insert column before": "Insert column before", + "Insert column after": "Insert column after", + "Delete column": "Delete column", + "Cell": "Cell", + "Merge cells": "Merge cells", + "Horizontal split": "Horizontal split", + "Vertical split": "Vertical split", + "Cell Background": "Cell Background", + "Vertical Align": "Vertical Align", + "Top": "Top", + "Middle": "Middle", + "Bottom": "Bottom", + "Align Top": "Align Top", + "Align Middle": "Align Middle", + "Align Bottom": "Align Bottom", + "Cell Style": "Cell Style", + + // Files + "Upload File": "Upload File", + "Drop file": "Drop file", + + // Emoticons + "Emoticons": "Emoticons", + + // Line breaker + "Break": "Break", + + // Math + "Subscript": "Subscript", + "Superscript": "Superscript", + + // Full screen + "Fullscreen": "Fullscreen", + + // Horizontal line + "Insert Horizontal Line": "Insert Horizontal Line", + + // Clear formatting + "Clear Formatting": "Clear Formatting", + + // Save + "Save": "Save", + + // Undo, redo + "Undo": "Undo", + "Redo": "Redo", + + // Select all + "Select All": "Select All", + + // Code view + "Code View": "Code View", + + // Quote + "Quote": "Quote", + "Increase": "Increase", + "Decrease": "Decrease", + + // Quick Insert + "Quick Insert": "Quick Insert", + + // Spcial Characters + "Special Characters": "Special Characters", + "Latin": "Latin", + "Greek": "Greek", + "Cyrillic": "Cyrillic", + "Punctuation": "Punctuation", + "Currency": "Currency", + "Arrows": "Arrows", + "Math": "Math", + "Misc": "Misc", + + // Print. + "Print": "Print", + + // Spell Checker. + "Spell Checker": "Spell Checker", + + // Help + "Help": "Help", + "Shortcuts": "Shortcuts", + "Inline Editor": "Inline Editor", + "Show the editor": "Show the editor", + "Common actions": "Common actions", + "Copy": "Copy", + "Cut": "Cut", + "Paste": "Paste", + "Basic Formatting": "Basic Formatting", + "Increase quote level": "Increase quote level", + "Decrease quote level": "Decrease quote level", + "Image / Video": "Image / Video", + "Resize larger": "Resize larger", + "Resize smaller": "Resize smaller", + "Table": "Table", + "Select table cell": "Select table cell", + "Extend selection one cell": "Extend selection one cell", + "Extend selection one row": "Extend selection one row", + "Navigation": "Navigation", + "Focus popup / toolbar": "Focus popup / toolbar", + "Return focus to previous position": "Return focus to previous position", + + // Embed.ly + "Embed URL": "Embed URL", + "Paste in a URL to embed": "Paste in a URL to embed", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?", + "Keep": "Keep", + "Clean": "Clean", + "Word Paste Detected": "Word Paste Detected" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/en_ca.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/nb.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/nb.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/nb.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Norwegian + */ + +$.FE.LANGUAGE['nb'] = { + translation: { + // Place holder + "Type something": "Skriv noe", + + // Basic formatting + "Bold": "Fet", + "Italic": "Kursiv", + "Underline": "Understreket", + "Strikethrough": "Gjennomstreket", + + // Main buttons + "Insert": "Sett", + "Delete": "Slett", + "Cancel": "Avbryt", + "OK": "OK", + "Back": "Tilbake", + "Remove": "Fjern", + "More": "Mer", + "Update": "Oppdatering", + "Style": "Stil", + + // Font + "Font Family": "Skriftsnitt", + "Font Size": "St\u00f8rrelse", + + // Colors + "Colors": "Farger", + "Background": "Bakgrunn", + "Text": "Tekst", + "HEX Color": "Heksefarge", + + // Paragraphs + "Paragraph Format": "Stiler", + "Normal": "Normal", + "Code": "Kode", + "Heading 1": "Overskrift 1", + "Heading 2": "Overskrift 2", + "Heading 3": "Overskrift 3", + "Heading 4": "Overskrift 4", + + // Style + "Paragraph Style": "Avsnittsstil", + "Inline Style": "P\u00e5 linje stil", + + // Alignment + "Align": "Justering", + "Align Left": "Venstrejustert", + "Align Center": "Midtstilt", + "Align Right": "H\u00f8yrejustert", + "Align Justify": "Juster alle linjer", + "None": "None", + + // Lists + "Ordered List": "Ordnet liste", + "Unordered List": "Uordnet liste", + + // Indent + "Decrease Indent": "Reduser innrykk", + "Increase Indent": "\u00d8k innrykk", + + // Links + "Insert Link": "Sett inn lenke", + "Open in new tab": "\u00c5pne i ny fane", + "Open Link": "\u00c5pne lenke", + "Edit Link": "Rediger lenke", + "Unlink": "Fjern lenke", + "Choose Link": "Velge lenke", + + // Images + "Insert Image": "Sett inn bilde", + "Upload Image": "Last opp bilde", + "By URL": "Ved URL", + "Browse": "Bla", + "Drop image": "Slippe bilde", + "or click": "eller klikk", + "Manage Images": "Bildebehandling", + "Loading": "Lasting", + "Deleting": "Slette", + "Tags": "Tags", + "Are you sure? Image will be deleted.": "Er du sikker? Bildet vil bli slettet.", + "Replace": "Erstatte", + "Uploading": "Opplasting", + "Loading image": "Lasting bilde", + "Display": "Utstilling", + "Inline": "P\u00e5 linje", + "Break Text": "Brudd tekst", + "Alternative Text": "Alternativ tekst", + "Change Size": "Endre st\u00f8rrelse", + "Width": "Bredde", + "Height": "H\u00f8yde", + "Something went wrong. Please try again.": "Noe gikk galt. V\u00e6r s\u00e5 snill, pr\u00f8v p\u00e5 nytt.", + "Image Caption": "Bilde bildetekst", + "Advanced Edit": "Avansert redigering", + + // Video + "Insert Video": "Sett inn video", + "Embedded Code": "Embedded kode", + "Paste in a video URL": "Lim inn i en video-url", + "Drop video": "Slipp video", + "Your browser does not support HTML5 video.": "Nettleseren din støtter ikke html5 video.", + "Upload Video": "Last opp video", + + // Tables + "Insert Table": "Sett inn tabell", + "Table Header": "Tabell header", + "Remove Table": "Fjern tabell", + "Table Style": "Tabell stil", + "Horizontal Align": "Horisontal justering", + "Row": "Rad", + "Insert row above": "Sett inn rad f\u00f8r", + "Insert row below": "Sett in rad etter", + "Delete row": "Slett rad", + "Column": "Kolonne", + "Insert column before": "Sett inn kolonne f\u00f8r", + "Insert column after": "Sett inn kolonne etter", + "Delete column": "Slett kolonne", + "Cell": "Celle", + "Merge cells": "Sl\u00e5 sammen celler", + "Horizontal split": "Horisontalt delt", + "Vertical split": "Vertikal split", + "Cell Background": "Celle bakgrunn", + "Vertical Align": "Vertikal justering", + "Top": "Topp", + "Middle": "Midten", + "Bottom": "Bunn", + "Align Top": "Justere toppen", + "Align Middle": "Justere midten", + "Align Bottom": "Justere bunnen", + "Cell Style": "Celle stil", + + // Files + "Upload File": "Opplastingsfil", + "Drop file": "Slippe fil", + + // Emoticons + "Emoticons": "Emoticons", + "Grinning face": "Flirer ansikt", + "Grinning face with smiling eyes": "Flirer ansikt med smilende \u00f8yne", + "Face with tears of joy": "Ansikt med t\u00e5rer av glede", + "Smiling face with open mouth": "Smilende ansikt med \u00e5pen munn", + "Smiling face with open mouth and smiling eyes": "Smilende ansikt med \u00e5pen munn og smilende \u00f8yne", + "Smiling face with open mouth and cold sweat": "Smilende ansikt med \u00e5pen munn og kald svette", + "Smiling face with open mouth and tightly-closed eyes": "Smilende ansikt med \u00e5pen munn og tett lukkede \u00f8yne", + "Smiling face with halo": "Smilende ansikt med glorie", + "Smiling face with horns": "Smilende ansikt med horn", + "Winking face": "Blunk ansikt", + "Smiling face with smiling eyes": "Smilende ansikt med smilende \u00f8yne", + "Face savoring delicious food": "M\u00f8te nyter deilig mat", + "Relieved face": "Lettet ansikt", + "Smiling face with heart-shaped eyes": "Smilende ansikt med hjerteformede \u00f8yne", + "Smiling face with sunglasses": "Smilende ansikt med solbriller", + "Smirking face": "Tilfreds ansikt", + "Neutral face": "N\u00f8ytral ansikt", + "Expressionless face": "Uttrykksl\u00f8st ansikt", + "Unamused face": "Ikke moret ansikt", + "Face with cold sweat": "Ansikt med kald svette", + "Pensive face": "Tankefull ansikt", + "Confused face": "Forvirret ansikt", + "Confounded face": "Skamme ansikt", + "Kissing face": "Kyssing ansikt", + "Face throwing a kiss": "Ansikt kaste et kyss", + "Kissing face with smiling eyes": "Kyssing ansikt med smilende \u00f8yne", + "Kissing face with closed eyes": "Kyssing ansiktet med lukkede \u00f8yne", + "Face with stuck out tongue": "Ansikt med stakk ut tungen", + "Face with stuck out tongue and winking eye": "Ansikt med stakk ut tungen og blunke \u00f8ye", + "Face with stuck out tongue and tightly-closed eyes": "Ansikt med fast ut tungen og tett lukket \u00f8yne", + "Disappointed face": "Skuffet ansikt", + "Worried face": "Bekymret ansikt", + "Angry face": "Sint ansikt", + "Pouting face": "Trutmunn ansikt", + "Crying face": "Gr\u00e5ter ansikt", + "Persevering face": "Utholdende ansikt", + "Face with look of triumph": "Ansikt med utseendet til triumf", + "Disappointed but relieved face": "Skuffet men lettet ansikt", + "Frowning face with open mouth": "Rynke ansikt med \u00e5pen munn", + "Anguished face": "Forpint ansikt", + "Fearful face": "Engstelig ansikt", + "Weary face": "Slitne ansiktet", + "Sleepy face": "S\u00f8vnig ansikt", + "Tired face": "Tr\u00f8tt ansikt", + "Grimacing face": "Griner ansikt", + "Loudly crying face": "H\u00f8ylytt gr\u00e5tende ansikt", + "Face with open mouth": "Ansikt med \u00e5pen munn", + "Hushed face": "Lavm\u00e6lt ansikt", + "Face with open mouth and cold sweat": "Ansikt med \u00e5pen munn og kald svette", + "Face screaming in fear": "Ansikt skriker i frykt", + "Astonished face": "Forbauset ansikt", + "Flushed face": "Flushed ansikt", + "Sleeping face": "Sovende ansikt", + "Dizzy face": "Svimmel ansikt", + "Face without mouth": "Ansikt uten munn", + "Face with medical mask": "Ansikt med medisinsk maske", + + // Line breaker + "Break": "Brudd", + + // Math + "Subscript": "Senket skrift", + "Superscript": "Hevet skrift", + + // Full screen + "Fullscreen": "Full skjerm", + + // Horizontal line + "Insert Horizontal Line": "Sett inn horisontal linje", + + // Clear formatting + "Clear Formatting": "Fjerne formatering", + + // Save + "Save": "Lagre", + + // Undo, redo + "Undo": "Angre", + "Redo": "Utf\u00f8r likevel", + + // Select all + "Select All": "Marker alt", + + // Code view + "Code View": "Kodevisning", + + // Quote + "Quote": "Sitat", + "Increase": "\u00d8ke", + "Decrease": "Nedgang", + + // Quick Insert + "Quick Insert": "Hurtiginnsats", + + // Spcial Characters + "Special Characters": "Spesielle karakterer", + "Latin": "Latin", + "Greek": "Gresk", + "Cyrillic": "Kyrilliske", + "Punctuation": "Tegnsetting", + "Currency": "Valuta", + "Arrows": "Piler", + "Math": "Matte", + "Misc": "Misc", + + // Print. + "Print": "Skrive ut", + + // Spell Checker. + "Spell Checker": "Stavekontroll", + + // Help + "Help": "Hjelp", + "Shortcuts": "Snarveier", + "Inline Editor": "Inline editor", + "Show the editor": "Vis redaktøren", + "Common actions": "Felles handlinger", + "Copy": "Kopiere", + "Cut": "Kutte opp", + "Paste": "Lim inn", + "Basic Formatting": "Grunnleggende formatering", + "Increase quote level": "Øke tilbudsnivået", + "Decrease quote level": "Redusere tilbudsnivå", + "Image / Video": "Bilde / video", + "Resize larger": "Endre størrelsen større", + "Resize smaller": "Endre størrelsen mindre", + "Table": "Bord", + "Select table cell": "Velg tabellcelle", + "Extend selection one cell": "Utvide valg en celle", + "Extend selection one row": "Utvide valg en rad", + "Navigation": "Navigasjon", + "Focus popup / toolbar": "Fokus popup / verktøylinje", + "Return focus to previous position": "Returnere fokus til tidligere posisjon", + + // Embed.ly + "Embed URL": "Legge inn nettadressen", + "Paste in a URL to embed": "Lim inn i en URL for å legge inn", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Det limte innholdet kommer fra et Microsoft Word-dokument. vil du beholde formatet eller rydde det opp?", + "Keep": "Beholde", + "Clean": "Ren", + "Word Paste Detected": "Ordpasta oppdages" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/nb.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/zh_tw.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/zh_tw.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/zh_tw.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Traditional Chinese spoken in Taiwan. + */ + +$.FE.LANGUAGE['zh_tw'] = { + translation: { + // Place holder + "Type something": "\u8f38\u5165\u4e00\u4e9b\u5167\u5bb9", + + // Basic formatting + "Bold": "\u7c97\u9ad4", + "Italic": "\u659c\u9ad4", + "Underline": "\u5e95\u7dda", + "Strikethrough": "\u522a\u9664\u7dda", + + // Main buttons + "Insert": "\u63d2\u5165", + "Delete": "\u522a\u9664", + "Cancel": "\u53d6\u6d88", + "OK": "\u78ba\u5b9a", + "Back": "\u5f8c", + "Remove": "\u79fb\u9664", + "More": "\u66f4\u591a", + "Update": "\u66f4\u65b0", + "Style": "\u6a23\u5f0f", + + // Font + "Font Family": "\u5b57\u9ad4", + "Font Size": "\u5b57\u578b\u5927\u5c0f", + + // Colors + "Colors": "\u984f\u8272", + "Background": "\u80cc\u666f", + "Text": "\u6587\u5b57", + "HEX Color": "十六進制顏色", + + // Paragraphs + "Paragraph Format": "\u683c\u5f0f", + "Normal": "\u6b63\u5e38", + "Code": "\u7a0b\u5f0f\u78bc", + "Heading 1": "\u6a19\u984c 1", + "Heading 2": "\u6a19\u984c 2", + "Heading 3": "\u6a19\u984c 3", + "Heading 4": "\u6a19\u984c 4", + + // Style + "Paragraph Style": "\u6bb5\u843d\u6a23\u5f0f", + "Inline Style": "\u5167\u806f\u6a23\u5f0f", + + // Alignment + "Align": "\u5c0d\u9f4a", + "Align Left": "\u7f6e\u5de6\u5c0d\u9f4a", + "Align Center": "\u7f6e\u4e2d\u5c0d\u9f4a", + "Align Right": "\u7f6e\u53f3\u5c0d\u9f4a", + "Align Justify": "\u5de6\u53f3\u5c0d\u9f4a", + "None": "\u7121", + + // Lists + "Ordered List": "\u6578\u5b57\u6e05\u55ae", + "Unordered List": "\u9805\u76ee\u6e05\u55ae", + + // Indent + "Decrease Indent": "\u6e1b\u5c11\u7e2e\u6392", + "Increase Indent": "\u589e\u52a0\u7e2e\u6392", + + // Links + "Insert Link": "\u63d2\u5165\u9023\u7d50", + "Open in new tab": "\u5728\u65b0\u5206\u9801\u958b\u555f", + "Open Link": "\u958b\u555f\u9023\u7d50", + "Edit Link": "\u7de8\u8f2f\u9023\u7d50", + "Unlink": "\u79fb\u9664\u9023\u7d50", + "Choose Link": "\u9078\u64c7\u9023\u7d50", + + // Images + "Insert Image": "\u63d2\u5165\u5716\u7247", + "Upload Image": "\u4e0a\u50b3\u5716\u7247", + "By URL": "\u7db2\u5740\u4e0a\u50b3", + "Browse": "\u700f\u89bd", + "Drop image": "\u5716\u7247\u62d6\u66f3", + "or click": "\u6216\u9ede\u64ca", + "Manage Images": "\u7ba1\u7406\u5716\u7247", + "Loading": "\u8f09\u5165\u4e2d", + "Deleting": "\u522a\u9664", + "Tags": "\u6a19\u7c64", + "Are you sure? Image will be deleted.": "\u78ba\u5b9a\u522a\u9664\u5716\u7247\uff1f", + "Replace": "\u66f4\u63db", + "Uploading": "\u4e0a\u50b3", + "Loading image": "\u4e0a\u50b3\u4e2d", + "Display": "\u986f\u793a", + "Inline": "\u5d4c\u5165", + "Break Text": "\u8207\u6587\u5b57\u5206\u96e2", + "Alternative Text": "\u6587\u5b57\u74b0\u7e5e", + "Change Size": "\u8abf\u6574\u5927\u5c0f", + "Width": "\u5bec\u5ea6", + "Height": "\u9ad8\u5ea6", + "Something went wrong. Please try again.": "\u932f\u8aa4\uff0c\u8acb\u518d\u8a66\u4e00\u6b21\u3002", + "Image Caption": "圖片說明", + "Advanced Edit": "高級編輯", + + // Video + "Insert Video": "\u63d2\u5165\u5f71\u7247", + "Embedded Code": "\u5d4c\u5165\u7a0b\u5f0f\u78bc", + "Paste in a video URL": "粘貼在視頻網址", + "Drop video": "放下視頻", + "Your browser does not support HTML5 video.": "您的瀏覽器不支持html5視頻。", + "Upload Video": "上傳視頻", + + // Tables + "Insert Table": "\u63d2\u5165\u8868\u683c", + "Table Header": "\u8868\u982d", + "Remove Table": "\u522a\u9664\u8868", + "Table Style": "\u8868\u6a23\u5f0f", + "Horizontal Align": "\u6c34\u6e96\u5c0d\u9f4a\u65b9\u5f0f", + "Row": "\u884c", + "Insert row above": "\u5411\u4e0a\u63d2\u5165\u4e00\u884c", + "Insert row below": "\u5411\u4e0b\u63d2\u5165\u4e00\u884c", + "Delete row": "\u522a\u9664\u884c", + "Column": "\u5217", + "Insert column before": "\u5411\u5de6\u63d2\u5165\u4e00\u5217", + "Insert column after": "\u5411\u53f3\u63d2\u5165\u4e00\u5217", + "Delete column": "\u522a\u9664\u884c", + "Cell": "\u5132\u5b58\u683c", + "Merge cells": "\u5408\u4f75\u5132\u5b58\u683c", + "Horizontal split": "\u6c34\u5e73\u5206\u5272", + "Vertical split": "\u5782\u76f4\u5206\u5272", + "Cell Background": "\u5132\u5b58\u683c\u80cc\u666f", + "Vertical Align": "\u5782\u76f4\u5c0d\u9f4a\u65b9\u5f0f", + "Top": "\u4e0a", + "Middle": "\u4e2d", + "Bottom": "\u4e0b", + "Align Top": "\u5411\u4e0a\u5c0d\u9f4a", + "Align Middle": "\u4e2d\u9593\u5c0d\u9f4a", + "Align Bottom": "\u5e95\u90e8\u5c0d\u9f4a", + "Cell Style": "\u5132\u5b58\u683c\u6a23\u5f0f", + + // Files + "Upload File": "\u4e0a\u50b3\u6587\u4ef6", + "Drop file": "\u6587\u4ef6\u62d6\u66f3", + + // Emoticons + "Emoticons": "\u8868\u60c5", + "Grinning face": "\u81c9\u4e0a\u7b11\u563b\u563b", + "Grinning face with smiling eyes": "\u7b11\u563b\u563b\u7684\u81c9\uff0c\u542b\u7b11\u7684\u773c\u775b", + "Face with tears of joy": "\u81c9\u4e0a\u5e36\u8457\u559c\u6085\u7684\u6dda\u6c34", + "Smiling face with open mouth": "\u7b11\u81c9\u5f35\u958b\u5634", + "Smiling face with open mouth and smiling eyes": "\u7b11\u81c9\u5f35\u958b\u5634\u5fae\u7b11\u7684\u773c\u775b", + "Smiling face with open mouth and cold sweat": "\u7b11\u81c9\u5f35\u958b\u5634\uff0c\u4e00\u8eab\u51b7\u6c57", + "Smiling face with open mouth and tightly-closed eyes": "\u7b11\u81c9\u5f35\u958b\u5634\uff0c\u7dca\u7dca\u9589\u8457\u773c\u775b", + "Smiling face with halo": "\u7b11\u81c9\u6688", + "Smiling face with horns": "\u5fae\u7b11\u7684\u81c9\u89d2", + "Winking face": "\u7728\u773c\u8868\u60c5", + "Smiling face with smiling eyes": "\u9762\u5e36\u5fae\u7b11\u7684\u773c\u775b", + "Face savoring delicious food": "\u9762\u5c0d\u54c1\u5690\u7f8e\u5473\u7684\u98df\u7269", + "Relieved face": "\u9762\u5c0d\u5982\u91cb\u91cd\u8ca0", + "Smiling face with heart-shaped eyes": "\u5fae\u7b11\u7684\u81c9\uff0c\u5fc3\u81df\u5f62\u7684\u773c\u775b", + "Smiling face with sunglasses": "\u7b11\u81c9\u592a\u967d\u93e1", + "Smirking face": "\u9762\u5c0d\u9762\u5e36\u7b11\u5bb9", + "Neutral face": "\u4e2d\u6027\u9762", + "Expressionless face": "\u9762\u7121\u8868\u60c5", + "Unamused face": "\u4e00\u81c9\u4e0d\u5feb\u7684\u81c9", + "Face with cold sweat": "\u9762\u5c0d\u51b7\u6c57", + "Pensive face": "\u6c89\u601d\u7684\u81c9", + "Confused face": "\u9762\u5c0d\u56f0\u60d1", + "Confounded face": "\u8a72\u6b7b\u7684\u81c9", + "Kissing face": "\u9762\u5c0d\u63a5\u543b", + "Face throwing a kiss": "\u9762\u5c0d\u6295\u64f2\u4e00\u500b\u543b", + "Kissing face with smiling eyes": "\u63a5\u543b\u81c9\uff0c\u542b\u7b11\u7684\u773c\u775b", + "Kissing face with closed eyes": "\u63a5\u543b\u7684\u81c9\u9589\u8457\u773c\u775b", + "Face with stuck out tongue": "\u9762\u5c0d\u4f38\u51fa\u820c\u982d", + "Face with stuck out tongue and winking eye": "\u9762\u5c0d\u4f38\u51fa\u820c\u982d\u548c\u7728\u52d5\u7684\u773c\u775b", + "Face with stuck out tongue and tightly-closed eyes": "\u9762\u5c0d\u4f38\u51fa\u820c\u982d\u548c\u7dca\u9589\u7684\u773c\u775b", + "Disappointed face": "\u9762\u5c0d\u5931\u671b", + "Worried face": "\u9762\u5c0d\u64d4\u5fc3", + "Angry face": "\u61a4\u6012\u7684\u81c9", + "Pouting face": "\u9762\u5c0d\u5658\u5634", + "Crying face": "\u54ed\u6ce3\u7684\u81c9", + "Persevering face": "\u600e\u5948\u81c9", + "Face with look of triumph": "\u9762\u5e36\u770b\u7684\u52dd\u5229", + "Disappointed but relieved face": "\u5931\u671b\uff0c\u4f46\u81c9\u4e0a\u91cb\u7136", + "Frowning face with open mouth": "\u9762\u5c0d\u76ba\u8457\u7709\u982d\u5f35\u53e3", + "Anguished face": "\u9762\u5c0d\u75db\u82e6", + "Fearful face": "\u53ef\u6015\u7684\u81c9", + "Weary face": "\u9762\u5c0d\u53ad\u5026", + "Sleepy face": "\u9762\u5c0d\u56f0", + "Tired face": "\u75b2\u618a\u7684\u81c9", + "Grimacing face": "\u7319\u7370\u7684\u81c9", + "Loudly crying face": "\u5927\u8072\u54ed\u81c9", + "Face with open mouth": "\u9762\u5c0d\u5f35\u958b\u5634", + "Hushed face": "\u5b89\u975c\u7684\u81c9", + "Face with open mouth and cold sweat": "\u9762\u5c0d\u5f35\u958b\u5634\uff0c\u4e00\u8eab\u51b7\u6c57", + "Face screaming in fear": "\u9762\u5c0d\u5c16\u53eb\u5728\u6050\u61fc\u4e2d", + "Astonished face": "\u9762\u5c0d\u9a5a\u8a1d", + "Flushed face": "\u7d05\u64b2\u64b2\u7684\u81c9\u86cb", + "Sleeping face": "\u719f\u7761\u7684\u81c9", + "Dizzy face": "\u9762\u5c0d\u7729", + "Face without mouth": "\u81c9\u4e0a\u6c92\u6709\u5634", + "Face with medical mask": "\u9762\u5c0d\u91ab\u7642\u53e3\u7f69", + + // Line breaker + "Break": "\u63db\u884c", + + // Math + "Subscript": "\u4e0b\u6a19", + "Superscript": "\u4e0a\u6a19", + + // Full screen + "Fullscreen": "\u5168\u87a2\u5e55", + + // Horizontal line + "Insert Horizontal Line": "\u63d2\u5165\u6c34\u5e73\u7dda", + + // Clear formatting + "Clear Formatting": "\u6e05\u9664\u683c\u5f0f", + + // Save + "Save": "保存", + + // Undo, redo + "Undo": "\u5fa9\u539f", + "Redo": "\u53d6\u6d88\u5fa9\u539f", + + // Select all + "Select All": "\u5168\u9078", + + // Code view + "Code View": "\u539f\u59cb\u78bc", + + // Quote + "Quote": "\u5f15\u6587", + "Increase": "\u7e2e\u6392", + "Decrease": "\u53bb\u9664\u7e2e\u6392", + + // Quick Insert + "Quick Insert": "\u5feb\u63d2", + + // Spcial Characters + "Special Characters": "特殊字符", + "Latin": "拉丁", + "Greek": "希臘語", + "Cyrillic": "西里爾", + "Punctuation": "標點", + "Currency": "貨幣", + "Arrows": "箭頭", + "Math": "數學", + "Misc": "雜項", + + // Print. + "Print": "打印", + + // Spell Checker. + "Spell Checker": "拼寫檢查器", + + // Help + "Help": "幫幫我", + "Shortcuts": "快捷鍵", + "Inline Editor": "內聯編輯器", + "Show the editor": "顯示編輯", + "Common actions": "共同行動", + "Copy": "複製", + "Cut": "切", + "Paste": "糊", + "Basic Formatting": "基本格式", + "Increase quote level": "提高報價水平", + "Decrease quote level": "降低報價水平", + "Image / Video": "圖像/視頻", + "Resize larger": "調整大小更大", + "Resize smaller": "調整大小更小", + "Table": "表", + "Select table cell": "選擇表單元格", + "Extend selection one cell": "擴展選擇一個單元格", + "Extend selection one row": "擴展選擇一行", + "Navigation": "導航", + "Focus popup / toolbar": "焦點彈出/工具欄", + "Return focus to previous position": "將焦點返回到上一個位置", + + // Embed.ly + "Embed URL": "嵌入網址", + "Paste in a URL to embed": "粘貼在一個網址中嵌入", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "粘貼的內容來自微軟Word文檔。你想保留格式還是清理它?", + "Keep": "保持", + "Clean": "清潔", + "Word Paste Detected": "檢測到字貼" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/zh_tw.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/fa.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/fa.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/fa.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Persian + */ + +$.FE.LANGUAGE['fa'] = { + translation: { + // Place holder + "Type something": "\u0686\u06cc\u0632\u06cc \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f", + + // Basic formatting + "Bold": "ضخیم", + "Italic": "خط کج", + "Underline": "خط زیر", + "Strikethrough": "\u062e\u0637 \u062e\u0648\u0631\u062f\u0647", + + // Main buttons + "Insert": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646", + "Delete": "\u062d\u0630\u0641 \u06a9\u0631\u062f\u0646", + "Cancel": "\u0644\u063a\u0648", + "OK": "\u0628\u0627\u0634\u0647", + "Back": "\u0628\u0647 \u0639\u0642\u0628", + "Remove": "\u0628\u0631\u062f\u0627\u0634\u062a\u0646", + "More": "\u0628\u06cc\u0634\u062a\u0631", + "Update": "\u0628\u0647 \u0631\u0648\u0632 \u0631\u0633\u0627\u0646\u06cc", + "Style": "\u0633\u0628\u06a9", + + // Font + "Font Family": "\u0642\u0644\u0645", + "Font Size": "\u0627\u0646\u062f\u0627\u0632\u0647 \u0642\u0644\u0645", + + // Colors + "Colors": "\u0631\u0646\u06af", + "Background": "\u0632\u0645\u06cc\u0646\u0647 \u0645\u062a\u0646", + "Text": "\u0645\u062a\u0646", + "HEX Color": "کد رنگ", + + // Paragraphs + "Paragraph Format": "\u0642\u0627\u0644\u0628", + "Normal": "\u0637\u0628\u06cc\u0639\u06cc - Normal", + "Code": "\u062f\u0633\u062a\u0648\u0631\u0627\u0644\u0639\u0645\u0644\u0647\u0627 - Code", + "Heading 1": "\u0633\u0631\u200c\u0635\u0641\u062d\u0647 1", + "Heading 2": "\u0633\u0631\u200c\u0635\u0641\u062d\u0647 2", + "Heading 3": "\u0633\u0631\u200c\u0635\u0641\u062d\u0647 3", + "Heading 4": "\u0633\u0631\u200c\u0635\u0641\u062d\u0647 4", + + // Style + "Paragraph Style": "\u067e\u0627\u0631\u0627\u06af\u0631\u0627\u0641 \u0633\u0628\u06a9", + "Inline Style": "\u062e\u0637\u06cc \u0633\u0628\u06a9", + + // Alignment + "Align": "\u0631\u062f\u06cc\u0641 \u0628\u0646\u062f\u06cc \u0646\u0648\u0634\u062a\u0647", + "Align Left": "\u0686\u067e \u0686\u06cc\u0646", + "Align Center": "\u0648\u0633\u0637 \u0686\u06cc\u0646", + "Align Right": "\u0631\u0627\u0633\u062a \u0686\u06cc\u0646", + "Align Justify": "\u0645\u0633\u0627\u0648\u06cc \u0627\u0632 \u0637\u0631\u0641\u06cc\u0646", + "None": "\u0647\u06cc\u0686", + + // Lists + "Ordered List": "\u0644\u06cc\u0633\u062a \u0634\u0645\u0627\u0631\u0647 \u0627\u06cc", + "Unordered List": "\u0644\u06cc\u0633\u062a \u062f\u0627\u06cc\u0631\u0647 \u0627\u06cc", + + // Indent + "Decrease Indent": "\u06a9\u0627\u0647\u0634 \u062a\u0648 \u0631\u0641\u062a\u06af\u06cc", + "Increase Indent": "\u0627\u0641\u0632\u0627\u06cc\u0634 \u062a\u0648 \u0631\u0641\u062a\u06af\u06cc", + + // Links + "Insert Link": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0644\u06cc\u0646\u06a9", + "Open in new tab": "\u0628\u0627\u0632 \u06a9\u0631\u062f\u0646 \u062f\u0631 \u0628\u0631\u06af\u0647 \u062c\u062f\u06cc\u062f", + "Open Link": "\u0644\u06cc\u0646\u06a9 \u0647\u0627\u06cc \u0628\u0627\u0632", + "Edit Link": "\u0644\u06cc\u0646\u06a9 \u0648\u06cc\u0631\u0627\u06cc\u0634", + "Unlink": "\u062d\u0630\u0641 \u0644\u06cc\u0646\u06a9", + "Choose Link": "\u0644\u06cc\u0646\u06a9 \u0631\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0646\u06cc\u062f", + + // Images + "Insert Image": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u062a\u0635\u0648\u06cc\u0631", + "Upload Image": "\u0622\u067e\u0644\u0648\u062f \u062a\u0635\u0648\u06cc\u0631", + "By URL": "URL \u062a\u0648\u0633\u0637", + "Browse": "\u0641\u0647\u0631\u0633\u062a", + "Drop image": "\u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u0627\u06cc\u0646\u062c\u0627 \u0628\u06cc\u0646\u062f\u0627\u0632\u06cc\u062f", + "or click": "\u06cc\u0627 \u06a9\u0644\u06cc\u06a9 \u06a9\u0646\u06cc\u062f", + "Manage Images": "\u0645\u062f\u06cc\u0631\u06cc\u062a \u062a\u0635\u0627\u0648\u06cc\u0631", + "Loading": "\u0628\u0627\u0631\u06af\u06cc\u0631\u06cc", + "Deleting": "\u062d\u0630\u0641", + "Tags": "\u0628\u0631\u0686\u0633\u0628 \u0647\u0627", + "Are you sure? Image will be deleted.": ".\u0622\u06cc\u0627 \u0645\u0637\u0645\u0626\u0646 \u0647\u0633\u062a\u06cc\u062f\u061f \u062a\u0635\u0648\u06cc\u0631 \u062d\u0630\u0641 \u062e\u0648\u0627\u0647\u062f \u0634\u062f", + "Replace": "\u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0631\u062f\u0646", + "Uploading": "\u0622\u067e\u0644\u0648\u062f", + "Loading image": "\u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc \u062a\u0635\u0648\u06cc\u0631", + "Display": "\u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0646", + "Inline": "\u062e\u0637\u06cc", + "Break Text": "\u0634\u06a9\u0633\u062a\u0646 \u0627\u0633\u062a\u0631\u0627\u062d\u062a", + "Alternative Text": "\u0645\u062a\u0646 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646", + "Change Size": "\u062a\u063a\u06cc\u06cc\u0631 \u0627\u0646\u062f\u0627\u0632\u0647", + "Width": "\u0639\u0631\u0636", + "Height": "\u0627\u0631\u062a\u0641\u0627\u0639", + "Something went wrong. Please try again.": "خطایی رخ داده است ، لطفا مجددا تلاش کنید", + "Image Caption": "عنوان تصویر", + "Advanced Edit": "ویرایش پیشرفته", + + // Video + "Insert Video": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644 \u062a\u0635\u0648\u06cc\u0631\u06cc", + "Embedded Code": "\u06a9\u062f \u062c\u0627\u0633\u0627\u0632\u06cc \u0634\u062f\u0647", + "Paste in a video URL": "در URL ویدیو وارد کنید", + "Drop video": "رها کردن ویدیو", + "Your browser does not support HTML5 video.": "مرورگر شما ویدیو HTML5 را پشتیبانی نمی کند.", + "Upload Video": "آپلود ویدیو", + + // Tables + "Insert Table": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u062c\u062f\u0648\u0644", + "Table Header": "\u0647\u062f\u0631 \u062c\u062f\u0648\u0644", + "Remove Table": "\u062d\u0630\u0641 \u062c\u062f\u0648\u0644", + "Table Style": "\u0633\u0628\u06a9 \u062c\u062f\u0648\u0644", + "Horizontal Align": "\u062a\u0646\u0638\u06cc\u0645 \u0627\u0641\u0642\u06cc", + "Row": "\u0633\u0637\u0631", + "Insert row above": "\u062f\u0631\u062c \u0631\u062f\u06cc\u0641 \u062f\u0631 \u0628\u0627\u0644\u0627", + "Insert row below": "\u0633\u0637\u0631 \u0632\u06cc\u0631 \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f", + "Delete row": "\u062d\u0630\u0641 \u0633\u0637\u0631", + "Column": "\u0633\u062a\u0648\u0646", + "Insert column before": "\u062f\u0631\u062c \u0633\u062a\u0648\u0646 \u0642\u0628\u0644", + "Insert column after": "\u062f\u0631\u062c \u0633\u062a\u0648\u0646 \u0628\u0639\u062f", + "Delete column": "\u062d\u0630\u0641 \u0633\u062a\u0648\u0646", + "Cell": "\u0633\u0644\u0648\u0644", + "Merge cells": "\u0627\u062f\u063a\u0627\u0645 \u0633\u0644\u0648\u0644\u200c\u0647\u0627", + "Horizontal split": "\u062a\u0642\u0633\u06cc\u0645 \u0627\u0641\u0642\u06cc", + "Vertical split": "\u062a\u0642\u0633\u06cc\u0645 \u0639\u0645\u0648\u062f\u06cc", + "Cell Background": "\u067e\u0633 \u0632\u0645\u06cc\u0646\u0647 \u0647\u0645\u0631\u0627\u0647", + "Vertical Align": "\u0631\u062f\u06cc\u0641 \u0639\u0645\u0648\u062f\u06cc", + "Top": "\u0628\u0627\u0644\u0627", + "Middle": "\u0645\u062a\u0648\u0633\u0637", + "Bottom": "\u067e\u0627\u06cc\u06cc\u0646", + "Align Top": "\u062a\u0631\u0627\u0632 \u0628\u0627\u0644\u0627\u06cc", + "Align Middle": "\u062a\u0631\u0627\u0632 \u0648\u0633\u0637", + "Align Bottom": "\u062a\u0631\u0627\u0632 \u067e\u0627\u06cc\u06cc\u0646", + "Cell Style": "\u0633\u0628\u06a9 \u0647\u0627\u06cc \u0647\u0645\u0631\u0627\u0647", + + // Files + "Upload File": "\u0622\u067e\u0644\u0648\u062f \u0641\u0627\u06cc\u0644", + "Drop file": "\u0627\u0641\u062a \u0641\u0627\u06cc\u0644", + + // Emoticons + "Emoticons": "\u0634\u06a9\u0644\u06a9 \u0647\u0627", + "Grinning face": "\u0686\u0647\u0631\u0647 \u067e\u0648\u0632\u062e\u0646\u062f", + "Grinning face with smiling eyes": "\u0686\u0647\u0631\u0647 \u067e\u0648\u0632\u062e\u0646\u062f \u0628\u0627 \u0686\u0634\u0645\u0627\u0646 \u062e\u0646\u062f\u0627\u0646", + "Face with tears of joy": "\u0686\u0647\u0631\u0647 \u0628\u0627 \u0627\u0634\u06a9 \u0634\u0627\u062f\u06cc", + "Smiling face with open mouth": "\u0686\u0647\u0631\u0647 \u062e\u0646\u062f\u0627\u0646 \u0628\u0627 \u062f\u0647\u0627\u0646 \u0628\u0627\u0632", + "Smiling face with open mouth and smiling eyes": "\u0686\u0647\u0631\u0647 \u062e\u0646\u062f\u0627\u0646 \u0628\u0627 \u062f\u0647\u0627\u0646 \u0628\u0627\u0632 \u0648 \u062e\u0646\u062f\u0627\u0646 \u0686\u0634\u0645", + "Smiling face with open mouth and cold sweat": "\u0686\u0647\u0631\u0647 \u062e\u0646\u062f\u0627\u0646 \u0628\u0627 \u062f\u0647\u0627\u0646 \u0628\u0627\u0632 \u0648 \u0639\u0631\u0642 \u0633\u0631\u062f", + "Smiling face with open mouth and tightly-closed eyes": "\u0686\u0647\u0631\u0647 \u062e\u0646\u062f\u0627\u0646 \u0628\u0627 \u062f\u0647\u0627\u0646 \u0628\u0627\u0632 \u0648 \u0686\u0634\u0645 \u062f\u0631\u0628\u062f\u0627\u0631", + "Smiling face with halo": "\u0686\u0647\u0631\u0647 \u062e\u0646\u062f\u0627\u0646 \u0628\u0627 \u0647\u0627\u0644\u0647", + "Smiling face with horns": "\u0686\u0647\u0631\u0647 \u062e\u0646\u062f\u0627\u0646 \u0628\u0627 \u0634\u0627\u062e", + "Winking face": "\u062d\u0631\u06a9\u062a \u067e\u0630\u06cc\u0631\u06cc", + "Smiling face with smiling eyes": "\u0686\u0647\u0631\u0647 \u062e\u0646\u062f\u0627\u0646 \u0628\u0627 \u0686\u0634\u0645 \u0644\u0628\u062e\u0646\u062f", + "Face savoring delicious food": "\u0686\u0647\u0631\u0647 \u0644\u0630\u06cc\u0630 \u063a\u0630\u0627\u06cc \u062e\u0648\u0634\u0645\u0632\u0647", + "Relieved face": "\u0686\u0647\u0631\u0647 \u0631\u0647\u0627", + "Smiling face with heart-shaped eyes": "\u0686\u0647\u0631\u0647 \u062e\u0646\u062f\u0627\u0646 \u0628\u0627 \u0686\u0634\u0645 \u0628\u0647 \u0634\u06a9\u0644 \u0642\u0644\u0628", + "Smiling face with sunglasses": "\u0686\u0647\u0631\u0647 \u062e\u0646\u062f\u0627\u0646 \u0628\u0627 \u0639\u06cc\u0646\u06a9 \u0622\u0641\u062a\u0627\u0628\u06cc", + "Smirking face": "\u067e\u0648\u0632\u062e\u0646\u062f \u0686\u0647\u0631\u0647", + "Neutral face": "\u0686\u0647\u0631\u0647 \u0647\u0627\u06cc \u062e\u0646\u062b\u06cc", + "Expressionless face": "\u0686\u0647\u0631\u0647 \u0646\u0627\u06af\u0648\u06cc\u0627", + "Unamused face": "\u0686\u0647\u0631\u0647 \u062e\u0648\u0634\u062d\u0627\u0644 \u0646\u06cc\u0633\u062a", + "Face with cold sweat": "\u0686\u0647\u0631\u0647 \u0628\u0627 \u0639\u0631\u0642 \u0633\u0631\u062f", + "Pensive face": "\u0686\u0647\u0631\u0647 \u0627\u0641\u0633\u0631\u062f\u0647", + "Confused face": "\u0686\u0647\u0631\u0647 \u0627\u0634\u062a\u0628\u0627\u0647", + "Confounded face": "\u0686\u0647\u0631\u0647 \u0633\u0631 \u062f\u0631 \u06af\u0645", + "Kissing face": "\u0628\u0648\u0633\u06cc\u062f\u0646 \u0635\u0648\u0631\u062a", + "Face throwing a kiss": "\u0686\u0647\u0631\u0647 \u067e\u0631\u062a\u0627\u0628 \u06cc\u06a9 \u0628\u0648\u0633\u0647", + "Kissing face with smiling eyes": "\u0628\u0648\u0633\u06cc\u062f\u0646 \u0686\u0647\u0631\u0647 \u0628\u0627 \u0686\u0634\u0645 \u0644\u0628\u062e\u0646\u062f", + "Kissing face with closed eyes": "\u0628\u0648\u0633\u06cc\u062f\u0646 \u0635\u0648\u0631\u062a \u0628\u0627 \u0686\u0634\u0645\u0627\u0646 \u0628\u0633\u062a\u0647", + "Face with stuck out tongue": "\u0686\u0647\u0631\u0647 \u0628\u0627 \u06af\u06cc\u0631 \u06a9\u0631\u062f\u0646 \u0632\u0628\u0627\u0646", + "Face with stuck out tongue and winking eye": "\u0686\u0647\u0631\u0647 \u0628\u0627 \u0632\u0628\u0627\u0646 \u06af\u06cc\u0631 \u06a9\u0631\u062f\u0646 \u0648 \u062d\u0631\u06a9\u062a \u0686\u0634\u0645", + "Face with stuck out tongue and tightly-closed eyes": "\u0635\u0648\u0631\u062a \u0628\u0627 \u0632\u0628\u0627\u0646 \u06af\u06cc\u0631 \u06a9\u0631\u062f\u0646 \u0648 \u0686\u0634\u0645 \u0631\u0627 \u0645\u062d\u06a9\u0645 \u0628\u0633\u062a\u0647", + "Disappointed face": "\u0686\u0647\u0631\u0647 \u0646\u0627 \u0627\u0645\u06cc\u062f", + "Worried face": "\u0686\u0647\u0631\u0647 \u0646\u06af\u0631\u0627\u0646", + "Angry face": "\u0686\u0647\u0631\u0647 \u0639\u0635\u0628\u0627\u0646\u06cc", + "Pouting face": "\u0628\u063a \u0686\u0647\u0631\u0647", + "Crying face": "\u06af\u0631\u06cc\u0647 \u0686\u0647\u0631\u0647", + "Persevering face": "\u067e\u0627\u06cc\u062f\u0627\u0631\u06cc \u0686\u0647\u0631\u0647", + "Face with look of triumph": "\u0686\u0647\u0631\u0647 \u0628\u0627 \u0646\u06af\u0627\u0647\u06cc \u0627\u0632 \u067e\u06cc\u0631\u0648\u0632\u06cc", + "Disappointed but relieved face": "\u0646\u0627 \u0627\u0645\u06cc\u062f \u0627\u0645\u0627 \u0622\u0633\u0648\u062f\u0647 \u0686\u0647\u0631\u0647", + "Frowning face with open mouth": "\u0627\u062e\u0645 \u0635\u0648\u0631\u062a \u0628\u0627 \u062f\u0647\u0627\u0646 \u0628\u0627\u0632", + "Anguished face": "\u0686\u0647\u0631\u0647 \u0646\u06af\u0631\u0627\u0646", + "Fearful face": "\u0686\u0647\u0631\u0647 \u062a\u0631\u0633", + "Weary face": "\u0686\u0647\u0631\u0647 \u062e\u0633\u062a\u0647", + "Sleepy face": "\u0686\u0647\u0631\u0647 \u062e\u0648\u0627\u0628 \u0622\u0644\u0648\u062f", + "Tired face": "\u0686\u0647\u0631\u0647 \u062e\u0633\u062a\u0647", + "Grimacing face": "\u0627\u0634 \u0686\u0647\u0631\u0647", + "Loudly crying face": "\u0646\u062f\u0627\u06cc\u06cc \u0631\u0633\u0627 \u06af\u0631\u06cc\u0647 \u0686\u0647\u0631\u0647", + "Face with open mouth": "\u0686\u0647\u0631\u0647 \u0628\u0627 \u062f\u0647\u0627\u0646 \u0628\u0627\u0632", + "Hushed face": "\u0686\u0647\u0631\u0647 \u0633\u06a9\u0648\u062a", + "Face with open mouth and cold sweat": "\u0686\u0647\u0631\u0647 \u0628\u0627 \u062f\u0647\u0627\u0646 \u0628\u0627\u0632 \u0648 \u0639\u0631\u0642 \u0633\u0631\u062f", + "Face screaming in fear": "\u0686\u0647\u0631\u0647 \u062c\u06cc\u063a \u062f\u0631 \u062a\u0631\u0633", + "Astonished face": "\u0686\u0647\u0631\u0647 \u0634\u06af\u0641\u062a \u0632\u062f\u0647", + "Flushed face": "\u0686\u0647\u0631\u0647 \u0628\u0631\u0627\u0641\u0631\u0648\u062e\u062a\u0647", + "Sleeping face": "\u062e\u0648\u0627\u0628 \u0686\u0647\u0631\u0647", + "Dizzy face": "\u0686\u0647\u0631\u0647 \u062f\u06cc\u0632\u06cc", + "Face without mouth": "\u0686\u0647\u0631\u0647 \u0628\u062f\u0648\u0646 \u062f\u0647\u0627\u0646", + "Face with medical mask": "\u0686\u0647\u0631\u0647 \u0628\u0627 \u0645\u0627\u0633\u06a9 \u0647\u0627\u06cc \u067e\u0632\u0634\u06a9\u06cc", + + // Line breaker + "Break": "\u0634\u06a9\u0633\u062a\u0646", + + // Math + "Subscript": "\u067e\u0627\u064a\u064a\u0646 \u0646\u0648\u064a\u0633", + "Superscript": "\u0628\u0627\u0644\u0627 \u0646\u06af\u0627\u0634\u062a", + + // Full screen + "Fullscreen": "\u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647", + + // Horizontal line + "Insert Horizontal Line": "\u0642\u0631\u0627\u0631 \u062f\u0627\u062f\u0646 \u0627\u0641\u0642\u06cc \u062e\u0637", + + // Clear formatting + "Clear Formatting": "\u062d\u0630\u0641 \u0642\u0627\u0644\u0628 \u0628\u0646\u062f\u06cc", + + // Save + "Save": "\u0635\u0631\u0641\u0647 \u062c\u0648\u06cc\u06cc", + + // Undo, redo + "Undo": "\u0628\u0627\u0637\u0644 \u06a9\u0631\u062f\u0646", + "Redo": "\u0627\u0646\u062c\u0627\u0645 \u062f\u0648\u0628\u0627\u0631\u0647", + + // Select all + "Select All": "\u0627\u0646\u062a\u062e\u0627\u0628 \u0647\u0645\u0647", + + // Code view + "Code View": "\u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u062f", + + // Quote + "Quote": "\u0646\u0642\u0644 \u0642\u0648\u0644", + "Increase": "\u0627\u0641\u0632\u0627\u06cc\u0634 \u062f\u0627\u062f\u0646", + "Decrease": "\u0646\u0632\u0648\u0644 \u06a9\u0631\u062f\u0646", + + // Quick Insert + "Quick Insert": "\u062f\u0631\u062c \u0633\u0631\u06cc\u0639", + + // Spcial Characters + "Special Characters": "کاراکترهای خاص", + "Latin": "لاتین", + "Greek": "یونانی", + "Cyrillic": "سیریلیک", + "Punctuation": "نقطه گذاری", + "Currency": "واحد پول", + "Arrows": "فلش ها", + "Math": "ریاضی", + "Misc": "متاسفم", + + // Print. + "Print": "چاپ", + + // Spell Checker. + "Spell Checker": "بررسی کننده غلط املایی", + + // Help + "Help": "کمک", + "Shortcuts": "کلید های میانبر", + "Inline Editor": "ویرایشگر خطی", + "Show the editor": "ویرایشگر را نشان بده", + "Common actions": "اقدامات مشترک", + "Copy": "کپی کنید", + "Cut": "برش", + "Paste": "چسباندن", + "Basic Formatting": "قالب بندی اولیه", + "Increase quote level": "افزایش سطح نقل قول", + "Decrease quote level": "کاهش میزان نقل قول", + "Image / Video": "تصویر / ویدئو", + "Resize larger": "تغییر اندازه بزرگتر", + "Resize smaller": "تغییر اندازه کوچکتر", + "Table": "جدول", + "Select table cell": "سلول جدول را انتخاب کنید", + "Extend selection one cell": "انتخاب یک سلول را گسترش دهید", + "Extend selection one row": "یک ردیف را انتخاب کنید", + "Navigation": "جهت یابی", + "Focus popup / toolbar": "تمرکز پنجره / نوار ابزار", + "Return focus to previous position": "تمرکز بازگشت به موقعیت قبلی", + + // Embed.ly + "Embed URL": "آدرس جاسازی", + "Paste in a URL to embed": "یک URL برای جاسازی کپی کنید", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "محتوای جا به جا از یک سند Word Microsoft می آید. آیا می خواهید فرمت را نگه دارید یا پاک کنید؟", + "Keep": "نگاه داشتن", + "Clean": "پاک کن", + "Word Paste Detected": "کلمه رب تشخیص داده شده است" + }, + direction: "rtl" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/fa.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/et.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/et.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/et.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Estonian + */ + +$.FE.LANGUAGE['et'] = { + translation: { + // Place holder + "Type something": "Kirjuta midagi", + + // Basic formatting + "Bold": "Rasvane", + "Italic": "Kursiiv", + "Underline": "Allajoonitud", + "Strikethrough": "L\u00e4bikriipsutatud", + + // Main buttons + "Insert": "Lisa", + "Delete": "Kustuta", + "Cancel": "T\u00fchista", + "OK": "OK", + "Back": "Tagasi", + "Remove": "Eemaldama", + "More": "Rohkem", + "Update": "Ajakohastama", + "Style": "Stiil", + + // Font + "Font Family": "Fondi perekond", + "Font Size": "Fondi suurus", + + // Colors + "Colors": "V\u00e4rvid", + "Background": "Taust", + "Text": "Tekst", + "HEX Color": "Hex värvi", + + // Paragraphs + "Paragraph Format": "Paragrahv formaat", + "Normal": "Normaalne", + "Code": "Kood", + "Heading 1": "P\u00e4is 1", + "Heading 2": "P\u00e4is 2", + "Heading 3": "P\u00e4is 3", + "Heading 4": "P\u00e4is 4", + + // Style + "Paragraph Style": "Paragrahv stiil", + "Inline Style": "J\u00e4rjekorras stiil", + + // Alignment + "Align": "Joonda", + "Align Left": "Joonda vasakule", + "Align Center": "Joonda keskele", + "Align Right": "Joonda paremale", + "Align Justify": "R\u00f6\u00f6pjoondus", + "None": "Mitte \u00fckski", + + // Lists + "Ordered List": "Tellitud nimekirja", + "Unordered List": "Tavalise nimekirja", + + // Indent + "Decrease Indent": "V\u00e4henemine taane", + "Increase Indent": "Suurenda taanet", + + // Links + "Insert Link": "Lisa link", + "Open in new tab": "Ava uues sakis", + "Open Link": "Avatud link", + "Edit Link": "Muuda link", + "Unlink": "Eemalda link", + "Choose Link": "Vali link", + + // Images + "Insert Image": "Lisa pilt", + "Upload Image": "Laadige pilt", + "By URL": "Poolt URL", + "Browse": "sirvida", + "Drop image": "Aseta pilt", + "or click": "v\u00f5i kliki", + "Manage Images": "Halda pilte", + "Loading": "Laadimine", + "Deleting": "Kustutamine", + "Tags": "Sildid", + "Are you sure? Image will be deleted.": "Oled sa kindel? Pilt kustutatakse.", + "Replace": "Asendama", + "Uploading": "Laadimise pilti", + "Loading image": "Laadimise pilti", + "Display": "Kuvama", + "Inline": "J\u00e4rjekorras", + "Break Text": "Murdma teksti", + "Alternative Text": "Asendusliikme teksti", + "Change Size": "Muuda suurust", + "Width": "Laius", + "Height": "K\u00f5rgus", + "Something went wrong. Please try again.": "Midagi l\u00e4ks valesti. Palun proovi uuesti.", + "Image Caption": "Pildi pealkiri", + "Advanced Edit": "Täiustatud redigeerimine", + + // Video + "Insert Video": "Lisa video", + "Embedded Code": "Varjatud koodi", + "Paste in a video URL": "Kleebi video URL-i", + "Drop video": "Tilk videot", + "Your browser does not support HTML5 video.": "Teie brauser ei toeta html5-videot.", + "Upload Video": "Video üleslaadimine", + + // Tables + "Insert Table": "Sisesta tabel", + "Table Header": "Tabel p\u00e4ise kaudu", + "Remove Table": "Eemalda tabel", + "Table Style": "Tabel stiili", + "Horizontal Align": "Horisontaalne joonda", + "Row": "Rida", + "Insert row above": "Sisesta rida \u00fcles", + "Insert row below": "Sisesta rida alla", + "Delete row": "Kustuta rida", + "Column": "Veerg", + "Insert column before": "Sisesta veerg ette", + "Insert column after": "Sisesta veerg j\u00e4rele", + "Delete column": "Kustuta veerg", + "Cell": "Lahter", + "Merge cells": "\u00fchenda lahtrid", + "Horizontal split": "Poolita horisontaalselt", + "Vertical split": "Poolita vertikaalselt", + "Cell Background": "Lahter tausta", + "Vertical Align": "Vertikaalne joonda", + "Top": "\u00fclemine", + "Middle": "Keskmine", + "Bottom": "P\u00f5hi", + "Align Top": "Joonda \u00fclemine", + "Align Middle": "Joonda keskmine", + "Align Bottom": "Joonda P\u00f5hi", + "Cell Style": "Lahter stiili", + + // Files + "Upload File": "Lae fail \u00fcles", + "Drop file": "Aseta fail", + + // Emoticons + "Emoticons": "Emotikonid", + "Grinning face": "Irvitas n\u00e4kku", + "Grinning face with smiling eyes": "Irvitas n\u00e4kku naeratavad silmad", + "Face with tears of joy": "N\u00e4gu r\u00f5\u00f5mupisaratega", + "Smiling face with open mouth": "Naeratav n\u00e4gu avatud suuga", + "Smiling face with open mouth and smiling eyes": "Naeratav n\u00e4gu avatud suu ja naeratavad silmad", + "Smiling face with open mouth and cold sweat": "Naeratav n\u00e4gu avatud suu ja k\u00fclm higi", + "Smiling face with open mouth and tightly-closed eyes": "Naeratav n\u00e4gu avatud suu ja tihedalt suletud silmad", + "Smiling face with halo": "Naeratav n\u00e4gu halo", + "Smiling face with horns": "Naeratav n\u00e4gu sarved", + "Winking face": "Pilgutab n\u00e4gu", + "Smiling face with smiling eyes": "Naeratav n\u00e4gu naeratab silmad", + "Face savoring delicious food": "N\u00e4gu nautides maitsvat toitu", + "Relieved face": "P\u00e4\u00e4stetud n\u00e4gu", + "Smiling face with heart-shaped eyes": "Naeratav n\u00e4gu s\u00fcdajas silmad", + "Smiling face with sunglasses": "Naeratav n\u00e4gu p\u00e4ikeseprillid", + "Smirking face": "Muigama n\u00e4gu ", + "Neutral face": "Neutraalne n\u00e4gu", + "Expressionless face": "Ilmetu n\u00e4gu", + "Unamused face": "Morn n\u00e4gu", + "Face with cold sweat": "N\u00e4gu k\u00fclma higiga", + "Pensive face": "M\u00f5tlik n\u00e4gu", + "Confused face": "Segaduses n\u00e4gu", + "Confounded face": "Segas n\u00e4gu", + "Kissing face": "Suudlevad n\u00e4gu", + "Face throwing a kiss": "N\u00e4gu viskamine suudlus", + "Kissing face with smiling eyes": "Suudlevad n\u00e4gu naeratab silmad", + "Kissing face with closed eyes": "Suudlevad n\u00e4gu, silmad kinni", + "Face with stuck out tongue": "N\u00e4gu ummikus v\u00e4lja keele", + "Face with stuck out tongue and winking eye": "N\u00e4gu ummikus v\u00e4lja keele ja silma pilgutav silma", + "Face with stuck out tongue and tightly-closed eyes": "N\u00e4gu ummikus v\u00e4lja keele ja silmad tihedalt suletuna", + "Disappointed face": "Pettunud n\u00e4gu", + "Worried face": "Mures n\u00e4gu", + "Angry face": "Vihane n\u00e4gu", + "Pouting face": "Tursik n\u00e4gu", + "Crying face": "Nutt n\u00e4gu", + "Persevering face": "Püsiv n\u00e4gu", + "Face with look of triumph": "N\u00e4gu ilme triumf", + "Disappointed but relieved face": "Pettunud kuid vabastati n\u00e4gu", + "Frowning face with open mouth": "Kulmukortsutav n\u00e4gu avatud suuga", + "Anguished face": "Ahastavad n\u00e4gu", + "Fearful face": "Hirmunult n\u00e4gu", + "Weary face": "Grimasse", + "Sleepy face": "Unine n\u00e4gu", + "Tired face": "V\u00e4sinud n\u00e4gu", + "Grimacing face": "Grimassitavaks n\u00e4gu", + "Loudly crying face": "Valjusti nutma n\u00e4gu", + "Face with open mouth": "N\u00e4gu avatud suuga", + "Hushed face": "Raskel n\u00e4gu", + "Face with open mouth and cold sweat": "N\u00e4gu avatud suu ja k\u00fclm higi", + "Face screaming in fear": "N\u00e4gu karjuvad hirm", + "Astonished face": "Lummatud n\u00e4gu", + "Flushed face": "Punetav n\u00e4gu", + "Sleeping face": "Uinuv n\u00e4gu", + "Dizzy face": "Uimane n\u00fcgu", + "Face without mouth": "N\u00e4gu ilma suu", + "Face with medical mask": "N\u00e4gu meditsiinilise mask", + + // Line breaker + "Break": "Murdma", + + // Math + "Subscript": "Allindeks", + "Superscript": "\u00dclaindeks", + + // Full screen + "Fullscreen": "T\u00e4isekraanil", + + // Horizontal line + "Insert Horizontal Line": "Sisesta horisontaalne joon", + + // Clear formatting + "Clear Formatting": "Eemalda formaatimine", + + // Save + "Save": "Salvesta", + + // Undo, redo + "Undo": "V\u00f5ta tagasi", + "Redo": "Tee uuesti", + + // Select all + "Select All": "Vali k\u00f5ik", + + // Code view + "Code View": "Koodi vaadata", + + // Quote + "Quote": "Tsitaat", + "Increase": "Suurendama", + "Decrease": "V\u00e4henda", + + // Quick Insert + "Quick Insert": "Kiire sisestada", + + // Spcial Characters + "Special Characters": "Erimärgid", + "Latin": "Latin", + "Greek": "Kreeka keel", + "Cyrillic": "Kirillitsa", + "Punctuation": "Kirjavahemärgid", + "Currency": "Valuuta", + "Arrows": "Nooled", + "Math": "Matemaatika", + "Misc": "Misc", + + // Print. + "Print": "Printige", + + // Spell Checker. + "Spell Checker": "Õigekirja kontrollija", + + // Help + "Help": "Abi", + "Shortcuts": "Otseteed", + "Inline Editor": "Sisemine redaktor", + "Show the editor": "Näita redaktorit", + "Common actions": "Ühised meetmed", + "Copy": "Koopia", + "Cut": "Lõigake", + "Paste": "Kleepige", + "Basic Formatting": "Põhiline vormindamine", + "Increase quote level": "Suurendada tsiteerimise taset", + "Decrease quote level": "Langetada tsiteerimise tase", + "Image / Video": "Pilt / video", + "Resize larger": "Suuruse muutmine suurem", + "Resize smaller": "Väiksema suuruse muutmine", + "Table": "Laud", + "Select table cell": "Vali tabeli lahtrisse", + "Extend selection one cell": "Laiendage valikut üks lahtrisse", + "Extend selection one row": "Laiendage valikut ühe reana", + "Navigation": "Navigeerimine", + "Focus popup / toolbar": "Fookuse hüpikakna / tööriistariba", + "Return focus to previous position": "Tagasi pöörata tähelepanu eelmisele positsioonile", + + // Embed.ly + "Embed URL": "Embed url", + "Paste in a URL to embed": "Kleepige URL-i sisestamiseks", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Kleepitud sisu pärineb Microsoft Wordi dokumendist. kas soovite vormi säilitada või puhastada?", + "Keep": "Pidage seda", + "Clean": "Puhas", + "Word Paste Detected": "Avastatud sõna pasta" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/et.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/it.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/it.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/it.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Italian + */ + +$.FE.LANGUAGE['it'] = { + translation: { + // Place holder + "Type something": "Digita qualcosa", + + // Basic formatting + "Bold": "Grassetto", + "Italic": "Corsivo", + "Underline": "Sottolineato", + "Strikethrough": "Barrato", + + // Main buttons + "Insert": "Inserisci", + "Delete": "Cancella", + "Cancel": "Cancella", + "OK": "OK", + "Back": "Indietro", + "Remove": "Rimuovi", + "More": "Di pi\u00f9", + "Update": "Aggiorna", + "Style": "Stile", + + // Font + "Font Family": "Carattere", + "Font Size": "Dimensione Carattere", + + // Colors + "Colors": "Colori", + "Background": "Sfondo", + "Text": "Testo", + "HEX Color": "Colore Esadecimale", + + // Paragraphs + "Paragraph Format": "Formattazione", + "Normal": "Normale", + "Code": "Codice", + "Heading 1": "Intestazione 1", + "Heading 2": "Intestazione 2", + "Heading 3": "Intestazione 3", + "Heading 4": "Intestazione 4", + + // Style + "Paragraph Style": "Stile Paragrafo", + "Inline Style": "Stile in Linea", + + // Alignment + "Align": "Allinea", + "Align Left": "Allinea a Sinistra", + "Align Center": "Allinea al Cento", + "Align Right": "Allinea a Destra", + "Align Justify": "Giustifica", + "None": "Nessuno", + + // Lists + "Ordered List": "Elenchi Numerati", + "Unordered List": "Elenchi Puntati", + + // Indent + "Decrease Indent": "Riduci Rientro", + "Increase Indent": "Aumenta Rientro", + + // Links + "Insert Link": "Inserisci Link", + "Open in new tab": "Apri in nuova scheda", + "Open Link": "Apri Link", + "Edit Link": "Modifica Link", + "Unlink": "Rimuovi Link", + "Choose Link": "Scegli Link", + + // Images + "Insert Image": "Inserisci Immagine", + "Upload Image": "Carica Immagine", + "By URL": "Inserisci URL", + "Browse": "Sfoglia", + "Drop image": "Rilascia immagine", + "or click": "oppure clicca qui", + "Manage Images": "Gestione Immagini", + "Loading": "Caricamento", + "Deleting": "Eliminazione", + "Tags": "Etichetta", + "Are you sure? Image will be deleted.": "Sei sicuro? L\'immagine verr\u00e0 cancellata.", + "Replace": "Sostituisci", + "Uploading": "Caricamento", + "Loading image": "Caricamento immagine", + "Display": "Visualizzazione", + "Inline": "In Linea", + "Break Text": "Separa dal Testo", + "Alternative Text": "Testo Alternativo", + "Change Size": "Cambia Dimensioni", + "Width": "Larghezza", + "Height": "Altezza", + "Something went wrong. Please try again.": "Qualcosa non ha funzionato. Riprova, per favore.", + "Image Caption": "Didascalia", + "Advanced Edit": "Avanzato", + + // Video + "Insert Video": "Inserisci Video", + "Embedded Code": "Codice Incorporato", + "Paste in a video URL": "Incolla l'URL del video", + "Drop video": "Rilascia video", + "Your browser does not support HTML5 video.": "Il tuo browser non supporta i video html5.", + "Upload Video": "Carica Video", + + // Tables + "Insert Table": "Inserisci Tabella", + "Table Header": "Intestazione Tabella", + "Remove Table": "Rimuovi Tabella", + "Table Style": "Stile Tabella", + "Horizontal Align": "Allineamento Orizzontale", + "Row": "Riga", + "Insert row above": "Inserisci una riga prima", + "Insert row below": "Inserisci una riga dopo", + "Delete row": "Cancella riga", + "Column": "Colonna", + "Insert column before": "Inserisci una colonna prima", + "Insert column after": "Inserisci una colonna dopo", + "Delete column": "Cancella colonna", + "Cell": "Cella", + "Merge cells": "Unisci celle", + "Horizontal split": "Dividi in orizzontale", + "Vertical split": "Dividi in verticale", + "Cell Background": "Sfondo Cella", + "Vertical Align": "Allineamento Verticale", + "Top": "Alto", + "Middle": "Centro", + "Bottom": "Basso", + "Align Top": "Allinea in Alto", + "Align Middle": "Allinea al Centro", + "Align Bottom": "Allinea in Basso", + "Cell Style": "Stile Cella", + + // Files + "Upload File": "Carica File", + "Drop file": "Rilascia file", + + // Emoticons + "Emoticons": "Emoticon", + "Grinning face": "Sorridente", + "Grinning face with smiling eyes": "Sorridente con gli occhi sorridenti", + "Face with tears of joy": "Con lacrime di gioia", + "Smiling face with open mouth": "Sorridente con la bocca aperta", + "Smiling face with open mouth and smiling eyes": "Sorridente con la bocca aperta e gli occhi sorridenti", + "Smiling face with open mouth and cold sweat": "Sorridente con la bocca aperta e sudore freddo", + "Smiling face with open mouth and tightly-closed eyes": "Sorridente con la bocca aperta e gli occhi stretti", + "Smiling face with halo": "Sorridente con aureola", + "Smiling face with horns": "Diavolo sorridente", + "Winking face": "Ammiccante", + "Smiling face with smiling eyes": "Sorridente imbarazzato", + "Face savoring delicious food": "Goloso", + "Relieved face": "Rassicurato", + "Smiling face with heart-shaped eyes": "Sorridente con gli occhi a forma di cuore", + "Smiling face with sunglasses": "Sorridente con gli occhiali da sole", + "Smirking face": "Compiaciuto", + "Neutral face": "Neutro", + "Expressionless face": "Inespressivo", + "Unamused face": "Annoiato", + "Face with cold sweat": "Sudare freddo", + "Pensive face": "Pensieroso", + "Confused face": "Perplesso", + "Confounded face": "Confuso", + "Kissing face": "Bacio", + "Face throwing a kiss": "Manda un bacio", + "Kissing face with smiling eyes": "Bacio con gli occhi sorridenti", + "Kissing face with closed eyes": "Bacio con gli occhi chiusi", + "Face with stuck out tongue": "Linguaccia", + "Face with stuck out tongue and winking eye": "Linguaccia ammiccante", + "Face with stuck out tongue and tightly-closed eyes": "Linguaccia con occhi stretti", + "Disappointed face": "Deluso", + "Worried face": "Preoccupato", + "Angry face": "Arrabbiato", + "Pouting face": "Imbronciato", + "Crying face": "Pianto", + "Persevering face": "Perseverante", + "Face with look of triumph": "Trionfante", + "Disappointed but relieved face": "Deluso ma rassicurato", + "Frowning face with open mouth": "Accigliato con la bocca aperta", + "Anguished face": "Angosciato", + "Fearful face": "Pauroso", + "Weary face": "Stanco", + "Sleepy face": "Assonnato", + "Tired face": "Snervato", + "Grimacing face": "Smorfia", + "Loudly crying face": "Pianto a gran voce", + "Face with open mouth": "Bocca aperta", + "Hushed face": "Silenzioso", + "Face with open mouth and cold sweat": "Bocca aperta e sudore freddo", + "Face screaming in fear": "Urlante dalla paura", + "Astonished face": "Stupito", + "Flushed face": "Arrossito", + "Sleeping face": "Addormentato", + "Dizzy face": "Stordito", + "Face without mouth": "Senza parole", + "Face with medical mask": "Malattia infettiva", + + // Line breaker + "Break": "Separatore", + + // Math + "Subscript": "Pedice", + "Superscript": "Apice", + + // Full screen + "Fullscreen": "Schermo intero", + + // Horizontal line + "Insert Horizontal Line": "Inserisci Divisore Orizzontale", + + // Clear formatting + "Clear Formatting": "Cancella Formattazione", + + // Save + "Save": "Salvare", + + // Undo, redo + "Undo": "Annulla", + "Redo": "Ripeti", + + // Select all + "Select All": "Seleziona Tutto", + + // Code view + "Code View": "Visualizza Codice", + + // Quote + "Quote": "Citazione", + "Increase": "Aumenta", + "Decrease": "Diminuisci", + + // Quick Insert + "Quick Insert": "Inserimento Rapido", + + // Spcial Characters + "Special Characters": "Caratteri Speciali", + "Latin": "Latino", + "Greek": "Greco", + "Cyrillic": "Cirillico", + "Punctuation": "Punteggiatura", + "Currency": "Valuta", + "Arrows": "Frecce", + "Math": "Matematica", + "Misc": "Misc", + + // Print. + "Print": "Stampa", + + // Spell Checker. + "Spell Checker": "Correttore Ortografico", + + // Help + "Help": "Aiuto", + "Shortcuts": "Scorciatoie", + "Inline Editor": "Editor in Linea", + "Show the editor": "Mostra Editor", + "Common actions": "Azioni comuni", + "Copy": "Copia", + "Cut": "Taglia", + "Paste": "Incolla", + "Basic Formatting": "Formattazione di base", + "Increase quote level": "Aumenta il livello di citazione", + "Decrease quote level": "Diminuisci il livello di citazione", + "Image / Video": "Immagine / Video", + "Resize larger": "Pi\u00f9 grande", + "Resize smaller": "Pi\u00f9 piccolo", + "Table": "Tabella", + "Select table cell": "Seleziona la cella della tabella", + "Extend selection one cell": "Estendi la selezione di una cella", + "Extend selection one row": "Estendi la selezione una riga", + "Navigation": "Navigazione", + "Focus popup / toolbar": "Metti a fuoco la barra degli strumenti", + "Return focus to previous position": "Rimetti il fuoco sulla posizione precedente", + + // Embed.ly + "Embed URL": "Incorpora URL", + "Paste in a URL to embed": "Incolla un URL da incorporare", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Il contenuto incollato proviene da un documento di Microsoft Word. Vuoi mantenere la formattazione di Word o pulirlo?", + "Keep": "Mantieni", + "Clean": "Pulisci", + "Word Paste Detected": "\u00c8 stato rilevato un incolla da Word" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/it.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/pt_pt.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/pt_pt.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/pt_pt.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Portuguese spoken in Portugal + */ + +$.FE.LANGUAGE['pt_pt'] = { + translation: { + // Place holder + "Type something": "Digite algo", + + // Basic formatting + "Bold": "Negrito", + "Italic": "It\u00e1lico", + "Underline": "Sublinhado", + "Strikethrough": "Rasurado", + + // Main buttons + "Insert": "Inserir", + "Delete": "Apagar", + "Cancel": "Cancelar", + "OK": "Ok", + "Back": "Voltar", + "Remove": "Remover", + "More": "Mais", + "Update": "Atualizar", + "Style": "Estilo", + + // Font + "Font Family": "Fonte", + "Font Size": "Tamanho da fonte", + + // Colors + "Colors": "Cores", + "Background": "Fundo", + "Text": "Texto", + "HEX Color": "Cor hexadecimal", + + // Paragraphs + "Paragraph Format": "Formatos", + "Normal": "Normal", + "Code": "C\u00f3digo", + "Heading 1": "Cabe\u00e7alho 1", + "Heading 2": "Cabe\u00e7alho 2", + "Heading 3": "Cabe\u00e7alho 3", + "Heading 4": "Cabe\u00e7alho 4", + + // Style + "Paragraph Style": "Estilo de par\u00e1grafo", + "Inline Style": "Estilo embutido", + + // Alignment + "Align": "Alinhar", + "Align Left": "Alinhar \u00e0 esquerda", + "Align Center": "Alinhar ao centro", + "Align Right": "Alinhar \u00e0 direita", + "Align Justify": "Justificado", + "None": "Nenhum", + + // Lists + "Ordered List": "Lista ordenada", + "Unordered List": "Lista n\u00e3o ordenada", + + // Indent + "Decrease Indent": "Diminuir avan\u00e7o", + "Increase Indent": "Aumentar avan\u00e7o", + + // Links + "Insert Link": "Inserir link", + "Open in new tab": "Abrir em uma nova aba", + "Open Link": "Abrir link", + "Edit Link": "Editar link", + "Unlink": "Remover link", + "Choose Link": "Escolha o link", + + // Images + "Insert Image": "Inserir imagem", + "Upload Image": "Carregar imagem", + "By URL": "Por URL", + "Browse": "Procurar", + "Drop image": "Largue imagem", + "or click": "ou clique em", + "Manage Images": "Gerenciar as imagens", + "Loading": "Carregando", + "Deleting": "Excluindo", + "Tags": "Etiquetas", + "Are you sure? Image will be deleted.": "Voc\u00ea tem certeza? Imagem ser\u00e1 apagada.", + "Replace": "Substituir", + "Uploading": "Carregando imagem", + "Loading image": "Carregando imagem", + "Display": "Exibir", + "Inline": "Em linha", + "Break Text": "Texto de quebra", + "Alternative Text": "Texto alternativo", + "Change Size": "Alterar tamanho", + "Width": "Largura", + "Height": "Altura", + "Something went wrong. Please try again.": "Algo deu errado. Por favor, tente novamente.", + "Image Caption": "Legenda da imagem", + "Advanced Edit": "Edição avançada", + + // Video + "Insert Video": "Inserir v\u00eddeo", + "Embedded Code": "C\u00f3digo embutido", + "Paste in a video URL": "Colar em um URL de vídeo", + "Drop video": "Solte o video", + "Your browser does not support HTML5 video.": "Seu navegador não suporta o vídeo html5.", + "Upload Video": "Envio vídeo", + + // Tables + "Insert Table": "Inserir tabela", + "Table Header": "Cabe\u00e7alho da tabela", + "Remove Table": "Remover tabela", + "Table Style": "estilo de tabela", + "Horizontal Align": "Alinhamento horizontal", + "Row": "Linha", + "Insert row above": "Inserir linha antes", + "Insert row below": "Inserir linha depois", + "Delete row": "Eliminar linha", + "Column": "Coluna", + "Insert column before": "Inserir coluna antes", + "Insert column after": "Inserir coluna depois", + "Delete column": "Eliminar coluna", + "Cell": "C\u00e9lula", + "Merge cells": "Unir c\u00e9lulas", + "Horizontal split": "Divis\u00e3o horizontal", + "Vertical split": "Divis\u00e3o vertical", + "Cell Background": "Fundo da c\u00e9lula", + "Vertical Align": "Alinhar vertical", + "Top": "Topo", + "Middle": "Meio", + "Bottom": "Fundo", + "Align Top": "Alinhar topo", + "Align Middle": "Alinhar meio", + "Align Bottom": "Alinhar fundo", + "Cell Style": "Estilo de c\u00e9lula", + + // Files + "Upload File": "Upload de arquivo", + "Drop file": "Largar arquivo", + + // Emoticons + "Emoticons": "Emoticons", + "Grinning face": "Sorrindo a cara", + "Grinning face with smiling eyes": "Sorrindo rosto com olhos sorridentes", + "Face with tears of joy": "Rosto com l\u00e1grimas de alegria", + "Smiling face with open mouth": "Rosto de sorriso com a boca aberta", + "Smiling face with open mouth and smiling eyes": "Rosto de sorriso com a boca aberta e olhos sorridentes", + "Smiling face with open mouth and cold sweat": "Rosto de sorriso com a boca aberta e suor frio", + "Smiling face with open mouth and tightly-closed eyes": "Rosto de sorriso com a boca aberta e os olhos bem fechados", + "Smiling face with halo": "Rosto de sorriso com halo", + "Smiling face with horns": "Rosto de sorriso com chifres", + "Winking face": "Pisc a rosto", + "Smiling face with smiling eyes": "Rosto de sorriso com olhos sorridentes", + "Face savoring delicious food": "Rosto saboreando uma deliciosa comida", + "Relieved face": "Rosto aliviado", + "Smiling face with heart-shaped eyes": "Rosto de sorriso com os olhos em forma de cora\u00e7\u00e3o", + "Smiling face with sunglasses": "Rosto de sorriso com \u00f3culos de sol", + "Smirking face": "Rosto sorridente", + "Neutral face": "Rosto neutra", + "Expressionless face": "Rosto inexpressivo", + "Unamused face": "O rosto n\u00e3o divertido", + "Face with cold sweat": "Rosto com suor frio", + "Pensive face": "O rosto pensativo", + "Confused face": "Cara confusa", + "Confounded face": "Rosto at\u00f4nito", + "Kissing face": "Beijar Rosto", + "Face throwing a kiss": "Rosto jogando um beijo", + "Kissing face with smiling eyes": "Beijar rosto com olhos sorridentes", + "Kissing face with closed eyes": "Beijando a cara com os olhos fechados", + "Face with stuck out tongue": "Preso de cara com a l\u00edngua para fora", + "Face with stuck out tongue and winking eye": "Rosto com estendeu a l\u00edngua e olho piscando", + "Face with stuck out tongue and tightly-closed eyes": "Rosto com estendeu a língua e os olhos bem fechados", + "Disappointed face": "Rosto decepcionado", + "Worried face": "O rosto preocupado", + "Angry face": "Rosto irritado", + "Pouting face": "Beicinho Rosto", + "Crying face": "Cara de choro", + "Persevering face": "Perseverar Rosto", + "Face with look of triumph": "Rosto com olhar de triunfo", + "Disappointed but relieved face": "Fiquei Desapontado mas aliviado Rosto", + "Frowning face with open mouth": "Sobrancelhas franzidas rosto com a boca aberta", + "Anguished face": "O rosto angustiado", + "Fearful face": "Cara com medo", + "Weary face": "Rosto cansado", + "Sleepy face": "Cara de sono", + "Tired face": "Rosto cansado", + "Grimacing face": "Fazendo caretas face", + "Loudly crying face": "Alto chorando rosto", + "Face with open mouth": "Enfrentar com a boca aberta", + "Hushed face": "Flagrantes de rosto", + "Face with open mouth and cold sweat": "Enfrentar com a boca aberta e suor frio", + "Face screaming in fear": "Cara gritando de medo", + "Astonished face": "Cara de surpresa", + "Flushed face": "Rosto vermelho", + "Sleeping face": "O rosto de sono", + "Dizzy face": "Cara tonto", + "Face without mouth": "Rosto sem boca", + "Face with medical mask": "Rosto com m\u00e1scara m\u00e9dica", + + // Line breaker + "Break": "Partir", + + // Math + "Subscript": "Subscrito", + "Superscript": "Sobrescrito", + + // Full screen + "Fullscreen": "Tela cheia", + + // Horizontal line + "Insert Horizontal Line": "Inserir linha horizontal", + + // Clear formatting + "Clear Formatting": "Remover formata\u00e7\u00e3o", + + // Save + "Save": "\u0053\u0061\u006c\u0076\u0065", + + // Undo, redo + "Undo": "Anular", + "Redo": "Restaurar", + + // Select all + "Select All": "Seleccionar tudo", + + // Code view + "Code View": "Exibi\u00e7\u00e3o de c\u00f3digo", + + // Quote + "Quote": "Cita\u00e7\u00e3o", + "Increase": "Aumentar", + "Decrease": "Diminuir", + + // Quick Insert + "Quick Insert": "Inser\u00e7\u00e3o r\u00e1pida", + + // Spcial Characters + "Special Characters": "Caracteres especiais", + "Latin": "Latino", + "Greek": "Grego", + "Cyrillic": "Cirílico", + "Punctuation": "Pontuação", + "Currency": "Moeda", + "Arrows": "Setas; flechas", + "Math": "Matemática", + "Misc": "Misc", + + // Print. + "Print": "Impressão", + + // Spell Checker. + "Spell Checker": "Verificador ortográfico", + + // Help + "Help": "Socorro", + "Shortcuts": "Atalhos", + "Inline Editor": "Editor em linha", + "Show the editor": "Mostre o editor", + "Common actions": "Ações comuns", + "Copy": "Cópia de", + "Cut": "Cortar", + "Paste": "Colar", + "Basic Formatting": "Formatação básica", + "Increase quote level": "Aumentar o nível de cotação", + "Decrease quote level": "Diminuir o nível de cotação", + "Image / Video": "Imagem / video", + "Resize larger": "Redimensionar maior", + "Resize smaller": "Redimensionar menor", + "Table": "Tabela", + "Select table cell": "Selecione a célula da tabela", + "Extend selection one cell": "Ampliar a seleção de uma célula", + "Extend selection one row": "Ampliar a seleção uma linha", + "Navigation": "Navegação", + "Focus popup / toolbar": "Foco popup / barra de ferramentas", + "Return focus to previous position": "Retornar o foco para a posição anterior", + + // Embed.ly + "Embed URL": "URL de inserção", + "Paste in a URL to embed": "Colar em url para incorporar", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "O conteúdo colado vem de um documento Microsoft Word. Você quer manter o formato ou limpá-lo?", + "Keep": "Guarda", + "Clean": "Limpar \ limpo", + "Word Paste Detected": "Pasta de palavras detectada" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/pt_pt.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/id.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/id.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/id.js (revision 7) @@ -0,0 +1,322 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Indonesian + */ + +$.FE.LANGUAGE['id'] = { + translation: { + // Place holder + "Type something": "Ketik sesuatu", + + // Basic formatting + "Bold": "Tebal", + "Italic": "Miring", + "Underline": "Garis bawah", + "Strikethrough": "Coret", + + // Main buttons + "Insert": "Memasukkan", + "Delete": "Hapus", + "Cancel": "Batal", + "OK": "Ok", + "Back": "Kembali", + "Remove": "Hapus", + "More": "Lebih", + "Update": "Memperbarui", + "Style": "Gaya", + + // Font + "Font Family": "Jenis Huruf", + "Font Size": "Ukuran leter", + + // Colors + "Colors": "Warna", + "Background": "Latar belakang", + "Text": "Teks", + "HEX Color": "Warna hex", + + // Paragraphs + "Paragraph Format": "Format", + "Normal": "Normal", + "Code": "Kode", + "Heading 1": "Header 1", + "Heading 2": "Header 2", + "Heading 3": "Header 3", + "Heading 4": "Header 4", + + // Style + "Paragraph Style": "Paragraf gaya", + "Inline Style": "Di barisan gaya", + + // Alignment + "Align": "Rate", + "Align Left": "Rate kiri", + "Align Center": "Rate tengah", + "Align Right": "Rata kanan", + "Align Justify": "Justifi", + "None": "Tak satupun", + + // Lists + "Ordered List": "List nomor", + "Unordered List": "List simbol", + + // Indent + "Decrease Indent": "Turunkan inden", + "Increase Indent": "Tambah inden", + + // Links + "Insert Link": "Memasukkan link", + "Open in new tab": "Buka di tab baru", + "Open Link": "Buka tautan", + "Edit Link": "Mengedit link", + "Unlink": "Menghapus link", + "Choose Link": "Memilih link", + + // Images + "Insert Image": "Memasukkan gambar", + "Upload Image": "Meng-upload gambar", + "By URL": "Oleh URL", + "Browse": "Melihat-lihat", + "Drop image": "Jatuhkan gambar", + "or click": "atau klik", + "Manage Images": "Mengelola gambar", + "Loading": "Pemuatan", + "Deleting": "Menghapus", + "Tags": "Label", + "Are you sure? Image will be deleted.": "Apakah Anda yakin? Gambar akan dihapus.", + "Replace": "Mengganti", + "Uploading": "Gambar upload", + "Loading image": "Pemuatan gambar", + "Display": "Pameran", + "Inline": "Di barisan", + "Break Text": "Memecah teks", + "Alternative Text": "Teks alternatif", + "Change Size": "Ukuran perubahan", + "Width": "Lebar", + "Height": "Tinggi", + "Something went wrong. Please try again.": "Ada yang salah. Silakan coba lagi.", + "Image Caption": "Keterangan gambar", + "Advanced Edit": "Edit lanjutan", + + // Video + "Insert Video": "Memasukkan video", + "Embedded Code": "Kode tertanam", + "Paste in a video URL": "Paste di url video", + "Drop video": "Jatuhkan video", + "Your browser does not support HTML5 video.": "Browser Anda tidak mendukung video html5.", + "Upload Video": "Mengunggah video", + + // Tables + "Insert Table": "Sisipkan tabel", + "Table Header": "Header tabel", + "Remove Table": "Hapus tabel", + "Table Style": "Gaya tabel", + "Horizontal Align": "Menyelaraskan horisontal", + + "Row": "Baris", + "Insert row above": "Sisipkan baris di atas", + "Insert row below": "Sisipkan baris di bawah", + "Delete row": "Hapus baris", + "Column": "Kolom", + "Insert column before": "Sisipkan kolom sebelumSisipkan kolom sebelum", + "Insert column after": "Sisipkan kolom setelah", + "Delete column": "Hapus kolom", + "Cell": "Sel", + "Merge cells": "Menggabungkan sel", + "Horizontal split": "Perpecahan horisontal", + "Vertical split": "Perpecahan vertikal", + "Cell Background": "Latar belakang sel", + "Vertical Align": "Menyelaraskan vertikal", + "Top": "Teratas", + "Middle": "Tengah", + "Bottom": "Bagian bawah", + "Align Top": "Menyelaraskan atas", + "Align Middle": "Menyelaraskan tengah", + "Align Bottom": "Menyelaraskan bawah", + "Cell Style": "Gaya sel", + + // Files + "Upload File": "Meng-upload berkas", + "Drop file": "Jatuhkan berkas", + + // Emoticons + "Emoticons": "Emoticon", + "Grinning face": "Sambil tersenyum wajah", + "Grinning face with smiling eyes": "Sambil tersenyum wajah dengan mata tersenyum", + "Face with tears of joy": "Hadapi dengan air mata sukacita", + "Smiling face with open mouth": "Tersenyum wajah dengan mulut terbuka", + "Smiling face with open mouth and smiling eyes": "Tersenyum wajah dengan mulut terbuka dan tersenyum mata", + "Smiling face with open mouth and cold sweat": "Tersenyum wajah dengan mulut terbuka dan keringat dingin", + "Smiling face with open mouth and tightly-closed eyes": "Tersenyum wajah dengan mulut terbuka dan mata tertutup rapat", + "Smiling face with halo": "Tersenyum wajah dengan halo", + "Smiling face with horns": "Tersenyum wajah dengan tanduk", + "Winking face": "Mengedip wajah", + "Smiling face with smiling eyes": "Tersenyum wajah dengan mata tersenyum", + "Face savoring delicious food": "Wajah menikmati makanan lezat", + "Relieved face": "Wajah Lega", + "Smiling face with heart-shaped eyes": "Tersenyum wajah dengan mata berbentuk hati", + "Smiling face with sunglasses": "Tersenyum wajah dengan kacamata hitam", + "Smirking face": "Menyeringai wajah", + "Neutral face": "Wajah Netral", + "Expressionless face": "Wajah tanpa ekspresi", + "Unamused face": "Wajah tidak senang", + "Face with cold sweat": "Muka dengan keringat dingin", + "Pensive face": "Wajah termenung", + "Confused face": "Wajah Bingung", + "Confounded face": "Wajah kesal", + "Kissing face": "wajah mencium", + "Face throwing a kiss": "Wajah melempar ciuman", + "Kissing face with smiling eyes": "Berciuman wajah dengan mata tersenyum", + "Kissing face with closed eyes": "Berciuman wajah dengan mata tertutup", + "Face with stuck out tongue": "Muka dengan menjulurkan lidah", + "Face with stuck out tongue and winking eye": "Muka dengan menjulurkan lidah dan mengedip mata", + "Face with stuck out tongue and tightly-closed eyes": "Wajah dengan lidah terjebak dan mata erat-tertutup", + "Disappointed face": "Wajah kecewa", + "Worried face": "Wajah Khawatir", + "Angry face": "Wajah Marah", + "Pouting face": "Cemberut wajah", + "Crying face": "Menangis wajah", + "Persevering face": "Tekun wajah", + "Face with look of triumph": "Hadapi dengan tampilan kemenangan", + "Disappointed but relieved face": "Kecewa tapi lega wajah", + "Frowning face with open mouth": "Sambil mengerutkan kening wajah dengan mulut terbuka", + "Anguished face": "Wajah sedih", + "Fearful face": "Wajah Takut", + "Weary face": "Wajah lelah", + "Sleepy face": "wajah mengantuk", + "Tired face": "Wajah Lelah", + "Grimacing face": "Sambil meringis wajah", + "Loudly crying face": "Keras menangis wajah", + "Face with open mouth": "Hadapi dengan mulut terbuka", + "Hushed face": "Wajah dipetieskan", + "Face with open mouth and cold sweat": "Hadapi dengan mulut terbuka dan keringat dingin", + "Face screaming in fear": "Hadapi berteriak dalam ketakutan", + "Astonished face": "Wajah Kaget", + "Flushed face": "Wajah memerah", + "Sleeping face": "Tidur face", + "Dizzy face": "Wajah pusing", + "Face without mouth": "Wajah tanpa mulut", + "Face with medical mask": "Hadapi dengan masker medis", + + // Line breaker + "Break": "Memecah", + + // Math + "Subscript": "Subskrip", + "Superscript": "Superskrip", + + // Full screen + "Fullscreen": "Layar penuh", + + // Horizontal line + "Insert Horizontal Line": "Sisipkan Garis Horizontal", + + // Clear formatting + "Clear Formatting": "Menghapus format", + + // Save + "Save": "Menyimpan", + + // Undo, redo + "Undo": "Batal", + "Redo": "Ulang", + + // Select all + "Select All": "Pilih semua", + + // Code view + "Code View": "Melihat kode", + + // Quote + "Quote": "Kutipan", + "Increase": "Meningkat", + "Decrease": "Penurunan", + + // Quick Insert + "Quick Insert": "Memasukkan cepat", + + // Spcial Characters + "Special Characters": "Karakter spesial", + "Latin": "Latin", + "Greek": "Yunani", + "Cyrillic": "Kyrillic", + "Punctuation": "Tanda baca", + "Currency": "Mata uang", + "Arrows": "Panah", + "Math": "Matematika", + "Misc": "Misc", + + // Print. + "Print": "Mencetak", + + // Spell Checker. + "Spell Checker": "Pemeriksa ejaan", + + // Help + "Help": "Membantu", + "Shortcuts": "Jalan pintas", + "Inline Editor": "Editor inline", + "Show the editor": "Tunjukkan editornya", + "Common actions": "Tindakan umum", + "Copy": "Salinan", + "Cut": "Memotong", + "Paste": "Pasta", + "Basic Formatting": "Format dasar", + "Increase quote level": "Meningkatkan tingkat kutipan", + "Decrease quote level": "Menurunkan tingkat kutipan", + "Image / Video": "Gambar / video", + "Resize larger": "Mengubah ukuran lebih besar", + "Resize smaller": "Mengubah ukuran lebih kecil", + "Table": "Meja", + "Select table cell": "Pilih sel tabel", + "Extend selection one cell": "Memperpanjang seleksi satu sel", + "Extend selection one row": "Perpanjang pilihan satu baris", + "Navigation": "Navigasi", + "Focus popup / toolbar": "Fokus popup / toolbar", + "Return focus to previous position": "Kembali fokus ke posisi sebelumnya", + + // Embed.ly + "Embed URL": "Embed url", + "Paste in a URL to embed": "Paste di url untuk menanamkan", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Konten yang disisipkan berasal dari dokumen kata microsoft. apakah Anda ingin menyimpan format atau membersihkannya?", + "Keep": "Menjaga", + "Clean": "Bersih", + "Word Paste Detected": "Kata paste terdeteksi" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/id.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/ku.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/ku.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/ku.js (revision 7) @@ -0,0 +1,314 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Arabic + */ + +$.FE.LANGUAGE['ku'] = { + translation: { + // Place holder + "Type something": "شتێک بنووسە", + + // Basic formatting + "Bold": "تۆخکردنەوە", + "Italic": "لارکردنەوە", + "Underline": "هێڵ بەژێردا هێنان", + "Strikethrough": "هێڵ بە سەردا هێنان", + + // Main buttons + "Insert": "خستنە ناو", + "Delete": "سڕینەوە", + "Cancel": "پاشگەزبوونەوە", + "OK": "باشە", + "Back": "گەڕانەوە", + "Remove": "لابردن", + "More": "زیاتر", + "Update": "نوێکردنەوە", + "Style": "شێواز", + + // Font + "Font Family": "فۆنتی خێزان", + "Font Size": "قەبارەی فۆنت", + + // Colors + "Colors": "ڕەنگەکان", + "Background": "پاشبنەما(باکگراوند)", + "Text": "دەق", + + // Paragraphs بۆیە ڕەقەمەکانی خوارەوەم نەکردووە بە کوردی لە شوێنی تریش بینیوومە هەروا نوسراوەتەوە + "Paragraph Format": "شێوازی پەڕەگراف", + "Normal": "ئاسایی", + "Code": "کۆد", + "Heading 1": " 1", + "Heading 2": " 2", + "Heading 3": " 3", + "Heading 4": " 4", + + // Style + "Paragraph Style": "شێوازی پەڕەگراف", + "Inline Style": "شێوزای ناو دێڕ", + + // Alignment + "Align": "ڕیزکردن", + "Align Left": "ڕیزکردن لای چەپەوە", + "Align Center": "ڕیزکردن لە ناوەڕاستەوە", + "Align Right": "ڕیزکردن لای ڕاستەوە", + "Align Justify": "هاوڕێک", + "None": "هیچ", + + // Lists + "Ordered List": "لیستی داواکراو", + "Unordered List": "لیستی داوانەکراو", + + // Indent + "Decrease Indent": "کەمکردنەوەی بۆشایی بەجێهێشتن", + "Increase Indent": "زیادکردنی بۆشایی بەجێهێشتن", + + // Links + "Insert Link": "دانانی بەستەر", + "Open in new tab": "کردنەوەی لە تابێکی نوێدا", + "Open Link": "کردنەوەی بەستەر", + "Edit Link": "دەستکاریکردنی بەستەر", + "Unlink": "سڕینەوەی بەستەر", + "Choose Link": "هەڵبژاردنی بەستەر", + + // Images + "Insert Image": "هێنانی وێنە", + "Upload Image": "بارکردنی وێنە", + "By URL": "بە شێوەی بەستەر", + "Browse": "هێنان", + "Drop image": "ڕاکێشانی وێنە", + "or click": "یان کرتە", + "Manage Images": "بەڕێوەبردنی وێنە", + "ئامادەکردن": "Cargando", + "Deleting": "سڕینەوە", + "Tags": "تاگەکان", + "Are you sure? Image will be deleted.": "دڵنیایت لە سڕینەوەی وێنەکە", + "Replace": "لەبری دانان", + "Uploading": "بارکردن", + "Loading image": "ئامادەکردنی وێنە", + "Display": "پیشان دان", + "Inline": "ناو دێڕ", + "Break Text": "ماوەی دەق", + "Alternative Text": "جێگرەوەی دەق", + "Change Size": "گۆڕینی قەبارەی", + "Width": "پانی", + "Height": "بەرزی", + "Something went wrong. Please try again.": "شتێک هە ڵەیە تکایە هەوڵبدەرەوە", + + // Video + "Insert Video": "دانانی ڤیدیۆ", + "Embedded Code": "کۆدی ئێمبد", + + // Tables + "Insert Table": "دانانی خشتە", + "Table Header": "خشتەی ناونیشان", + "Remove Table": "سڕینەوەی خشتە", + "Table Style": "شێوازی خشتە", + "Horizontal Align": "ڕێکخستنی ئاسۆیی", + "Row": "ڕیز", + "Insert row above": "دانانی ڕیز لەسەرەوە", + "Insert row below": "دانانی ڕیز لە خوارەوە", + "Delete row": "سڕینەوەی ڕیز", + "Column": "ستوون", + "Insert column before": "زیادکردنی ستونێک لە پێشەوە", + "Insert column after": "زیادکردنی ستونێک لە دوایەوە", + "Delete column": "سڕینەوەی ستونێک", + "Cell": "خانە", + "Merge cells": "تێکەڵکردنی خانەکان", + "Horizontal split": "جیاکردنەوەی هێڵی ئاسۆیی", + "Vertical split": "جیاکردنەوەی سەر بەرەو خوار", + "Cell Background": "خانەی باکگراوند", + "Vertical Align": "ڕیزکردن بەشێوەی سەر بەرەو خوار", + "Top": "سەرەوە", + "Middle": "ناوەڕاست", + "Bottom": "خوارەوە", + "Align Top": "ڕیزکردن لە سەرەوە", + "Align Middle": "ڕیزکردن لە ناوەڕاستەوە", + "Align Bottom": "ڕیزکردن لە خوارەوە", + "Cell Style": "شێوازی خانە", + + // Files + "Upload File": "بەرزکردنەوەی پەڕگە", + "Drop file": "ڕاکێشانی پەڕگە", + + // Emoticons + "Emoticons": "ئیمۆجی", + "Grinning face": "ڕوخسارێکی پێکەنیناوی", + "Grinning face with smiling eyes": "ڕوخسارێکی پێکەنیناوی لەگەڵ چاوێکی خەندە ئامێز", + "Face with tears of joy": "دەمووچاوێک لەگەڵ ئاو هاتنە خوارەوەوە بە چاودا", + "Smiling face with open mouth": "دەمووچاوێکی پێکەنیناوی لەگەڵ دەمکردنەوە", + "Smiling face with open mouth and smiling eyes": "دەمووچاوێکی پێکەنیناوی لەگەڵ دەمکردنەوە و چاوێکی خەندە ئامێز", + "Smiling face with open mouth and cold sweat": "دەمووچاوێکی پێکەنیناوی لەگەڵ دەمکردنەوە و ئارەق کردنەوە", + "Smiling face with open mouth and tightly-closed eyes": "Cara sonriente con la boca abierta y los ojos fuertemente cerrados", + "Smiling face with halo": "دەمووچاوێکی پێکەنیناوی و بوونی بازنەیەکی خڕ بەسەرتەوە", + "Smiling face with horns": "دەمووچاوێکی پێکەنیناوی لەگەڵ دوو قۆچدا", + "Winking face": "چاو داگرتن", + "Smiling face with smiling eyes": "دەمووچاوێکی پێکەنیناوی چاوی بچوک کردوەتەوە", + "Face savoring delicious food": "دەمووچاوی کەسێک کە حەزی لە خواردنە", + "Relieved face": "دەمووچاوێکی حەساوە", + "Smiling face with heart-shaped eyes": "دەمووچاوێک لەگەڵ بوونی دڵ لە چاودا", + "Smiling face with sunglasses": "دەمووچاوێک لەگەڵ چاویلکەدا", + "Smirking face": "دەمووچاوێکی فیزاوی", + "Neutral face": "دەم داخستن", + "Expressionless face": "دەم و چاو داخستن", + "Unamused face": "دەمووچاوێکی بێزار", + "Face with cold sweat": "ڕوخسارێک لەگەڵ ئارەقی سارددا", + "Pensive face": "ڕوخسارێکی خەمبار", + "Confused face": "ڕوخسارێکی قەلەق", + "Confounded face": "ڕوخسارێکی ئاڵۆز", + "Kissing face": "دەمووچاوێک و ماچ", + "Face throwing a kiss": "دەمووچاوێک ماچ هەڵبدات", + "Kissing face with smiling eyes": "دەمووچاوێک ماچ دەکات لەگەڵ ڕوخسارێکی پێکەنیناوی", + "Kissing face with closed eyes": "دەمووچاوێک ماچ دەکات و چاوی داخستووە", + "Face with stuck out tongue": "ڕوخسارێک زمانی دەرهێناوە", + "Face with stuck out tongue and winking eye": "ڕوخسارێک زمانی دەرهێناوە و چاوێکی لێت داگرتووە", + "Face with stuck out tongue and tightly-closed eyes": "هەردووچاوی داخستووە و زمان دەردێنێت", + "Disappointed face": "ڕوخسارێکی نائومێد کراو", + "Worried face": "ڕوخسارێکی بێتاقەت", + "Angry face": "ڕوخسارێکی توڕە", + "Pouting face": "ڕوخسارێک لچی دەرهێناوە", + "Crying face": "ڕوخسارێک دەگری", + "Persevering face": "ڕوخسارێکی تەواوی بێتاقەت", + "Face with look of triumph": "ڕوخسارێک کە سوورە لەسەر کارێک", + "Disappointed but relieved face": "ڕوخسارێکی خەمبارە و ئارەق دەکاتەوە", + "Frowning face with open mouth": "ڕوخسارێکی تووڕە و دەمی کراوەتەوە", + "Anguished face": "ڕوخسارێکی خەمناک", + "Fearful face": "دەموچاوێکی ترساو", + "Weary face": "ڕوخسارێکی ماندوو", + "Sleepy face": "ڕوخسارێکی خەوتوو", + "Tired face": "ڕوخسارێکی ماندوو", + "Grimacing face": "دان جیڕ کردنەوە", + "Loudly crying face": "ڕوخسارێک بە دەنگی بەرزەوە دەگری", + "Face with open mouth": "ڕوخسارێک دەمی کردوەتەوە", + "Hushed face": "ڕوخسارێکی بێدەنگ کراو", + "Face with open mouth and cold sweat": "دەمووچاوێک دەمی کردوەتەوە و ئارەق دەڕێژێت", + "Face screaming in fear": "دەمووچاوێک هاوار دەکات و لە شتێک دەترسێت", + "Astonished face": "ڕوخسارێکی سەرسام بوو", + "Flushed face": "ڕوخسارێکی سور بووەوە", + "Sleeping face": "ڕوخسارێکی خەوتوو", + "Dizzy face": "سەرگێژ خواردن", + "Face without mouth": "دەمووچاوێک بەبێ دەم", + "Face with medical mask": "دەمووچاوێک لەگەڵ ماسکی پزیشکی", + + // Line breaker + "Break": "بڕینی هێڵێک", + + // Math + "Subscript": "نوسین لە ژێرەوەی نوسینێکی دیکە", + "Superscript": "سەرنووس", + + // Full screen + "Fullscreen": "پڕ بە شاشە", + + // Horizontal line + "Insert Horizontal Line": "دانانی هێڵی ئاسۆیی", + + // Clear formatting + "Clear Formatting": "سڕینەوەی شێواز", + + // Save + "Save": "", + + // Undo, redo + "Undo": "گەڕانەوە", + "Redo": "هێنانەوەی هەنگاوی پێشتر", + + // Select all + "Select All": "دیاریکردنی هەموو", + + // Code view + "Code View": "بینینی کۆد", + + // Quote + "Quote": "وتە", + "Increase": "زیادکردن", + "Decrease": "کەمکردن", + + // Quick Insert + "Quick Insert": "خێرا خستنە ناو", + + // Spcial Characters + "Special Characters": "Special Characters", + "Latin": "Latin", + "Greek": "Greek", + "Cyrillic": "Cyrillic", + "Punctuation": "Punctuation", + "Currency": "Currency", + "Arrows": "Arrows", + "Math": "Math", + "Misc": "Misc", + + // Print. + "Print": "Print", + + // Spell Checker. + "Spell Checker": "Spell Checker", + + // Help + "Help": "Help", + "Shortcuts": "Shortcuts", + "Inline Editor": "Inline Editor", + "Show the editor": "Show the editor", + "Common actions": "Common actions", + "Copy": "Copy", + "Cut": "Cut", + "Paste": "Paste", + "Basic Formatting": "Basic Formatting", + "Increase quote level": "Increase quote level", + "Decrease quote level": "Decrease quote level", + "Image / Video": "Image / Video", + "Resize larger": "Resize larger", + "Resize smaller": "Resize smaller", + "Table": "Table", + "Select table cell": "Select table cell", + "Extend selection one cell": "Extend selection one cell", + "Extend selection one row": "Extend selection one row", + "Navigation": "Navigation", + "Focus popup / toolbar": "Focus popup / toolbar", + "Return focus to previous position": "Return focus to previous position", + + // Embed.ly + "Embed URL": "Embed URL", + "Paste in a URL to embed": "Paste in a URL to embed", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?", + "Keep": "Keep", + "Clean": "Clean", + "Word Paste Detected": "Word Paste Detected" + }, + direction: "rtl" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/ku.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/nl.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/nl.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/nl.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Dutch + */ + +$.FE.LANGUAGE['nl'] = { + translation: { + // Place holder + "Type something": "Typ iets", + + // Basic formatting + "Bold": "Vet", + "Italic": "Cursief", + "Underline": "Onderstreept", + "Strikethrough": "Doorhalen", + + // Main buttons + "Insert": "Invoegen", + "Delete": "Verwijder", + "Cancel": "Annuleren", + "OK": "Ok\u00e9", + "Back": "Terug", + "Remove": "Verwijderen", + "More": "Meer", + "Update": "Bijwerken", + "Style": "Stijl", + + // Font + "Font Family": "Lettertype", + "Font Size": "Lettergrootte", + + // Colors + "Colors": "Kleuren", + "Background": "Achtergrond", + "Text": "Tekst", + "HEX Color": "HEX kleur", + + // Paragraphs + "Paragraph Format": "Opmaak", + "Normal": "Normaal", + "Code": "Code", + "Heading 1": "Kop 1", + "Heading 2": "Kop 2", + "Heading 3": "Kop 3", + "Heading 4": "Kop 4", + + // Style + "Paragraph Style": "Paragraaf stijl", + "Inline Style": "Inline stijl", + + // Alignment + "Align": "Uitlijnen", + "Align Left": "Links uitlijnen", + "Align Center": "Centreren", + "Align Right": "Rechts uitlijnen", + "Align Justify": "Uitvullen", + "None": "Geen", + + // Lists + "Ordered List": "Geordende lijst", + "Unordered List": "Ongeordende lijst", + + // Indent + "Decrease Indent": "Inspringen verkleinen", + "Increase Indent": "Inspringen vergroten", + + // Links + "Insert Link": "Link invoegen", + "Open in new tab": "Openen in nieuwe tab", + "Open Link": "Open link", + "Edit Link": "Link bewerken", + "Unlink": "Link verwijderen", + "Choose Link": "Link kiezen", + + // Images + "Insert Image": "Afbeelding invoegen", + "Upload Image": "Afbeelding uploaden", + "By URL": "Via URL", + "Browse": "Bladeren", + "Drop image": "Sleep afbeelding", + "or click": "of klik op", + "Manage Images": "Afbeeldingen beheren", + "Loading": "Bezig met laden", + "Deleting": "Verwijderen", + "Tags": "Labels", + "Are you sure? Image will be deleted.": "Weet je het zeker? Afbeelding wordt verwijderd.", + "Replace": "Vervangen", + "Uploading": "Uploaden", + "Loading image": "Afbeelding laden", + "Display": "Tonen", + "Inline": "Inline", + "Break Text": "Tekst afbreken", + "Alternative Text": "Alternatieve tekst", + "Change Size": "Grootte wijzigen", + "Width": "Breedte", + "Height": "Hoogte", + "Something went wrong. Please try again.": "Er is iets fout gegaan. Probeer opnieuw.", + "Image Caption": "Afbeelding caption", + "Advanced Edit": "Geavanceerd bewerken", + + // Video + "Insert Video": "Video invoegen", + "Embedded Code": "Ingebedde code", + "Paste in a video URL": "Voeg een video-URL toe", + "Drop video": "Sleep video", + "Your browser does not support HTML5 video.": "Je browser ondersteunt geen html5-video.", + "Upload Video": "Video uploaden", + + // Tables + "Insert Table": "Tabel invoegen", + "Table Header": "Tabel hoofd", + "Remove Table": "Verwijder tabel", + "Table Style": "Tabelstijl", + "Horizontal Align": "Horizontale uitlijning", + "Row": "Rij", + "Insert row above": "Voeg rij boven toe", + "Insert row below": "Voeg rij onder toe", + "Delete row": "Verwijder rij", + "Column": "Kolom", + "Insert column before": "Voeg kolom in voor", + "Insert column after": "Voeg kolom in na", + "Delete column": "Verwijder kolom", + "Cell": "Cel", + "Merge cells": "Cellen samenvoegen", + "Horizontal split": "Horizontaal splitsen", + "Vertical split": "Verticaal splitsen", + "Cell Background": "Cel achtergrond", + "Vertical Align": "Verticale uitlijning", + "Top": "Top", + "Middle": "Midden", + "Bottom": "Onder", + "Align Top": "Uitlijnen top", + "Align Middle": "Uitlijnen midden", + "Align Bottom": "Onder uitlijnen", + "Cell Style": "Celstijl", + + // Files + "Upload File": "Bestand uploaden", + "Drop file": "Sleep bestand", + + // Emoticons + "Emoticons": "Emoticons", + "Grinning face": "Grijnzend gezicht", + "Grinning face with smiling eyes": "Grijnzend gezicht met lachende ogen", + "Face with tears of joy": "Gezicht met tranen van vreugde", + "Smiling face with open mouth": "Lachend gezicht met open mond", + "Smiling face with open mouth and smiling eyes": "Lachend gezicht met open mond en lachende ogen", + "Smiling face with open mouth and cold sweat": "Lachend gezicht met open mond en koud zweet", + "Smiling face with open mouth and tightly-closed eyes": "Lachend gezicht met open mond en strak gesloten ogen", + "Smiling face with halo": "Lachend gezicht met halo", + "Smiling face with horns": "Lachend gezicht met hoorns", + "Winking face": "Knipogend gezicht", + "Smiling face with smiling eyes": "Lachend gezicht met lachende ogen", + "Face savoring delicious food": "Gezicht genietend van heerlijk eten", + "Relieved face": "Opgelucht gezicht", + "Smiling face with heart-shaped eyes": "Glimlachend gezicht met hart-vormige ogen", + "Smiling face with sunglasses": "Lachend gezicht met zonnebril", + "Smirking face": "Grijnzende gezicht", + "Neutral face": "Neutraal gezicht", + "Expressionless face": "Uitdrukkingsloos gezicht", + "Unamused face": "Niet geamuseerd gezicht", + "Face with cold sweat": "Gezicht met koud zweet", + "Pensive face": "Peinzend gezicht", + "Confused face": "Verward gezicht", + "Confounded face": "Beschaamd gezicht", + "Kissing face": "Zoenend gezicht", + "Face throwing a kiss": "Gezicht gooien van een kus", + "Kissing face with smiling eyes": "Zoenend gezicht met lachende ogen", + "Kissing face with closed eyes": "Zoenend gezicht met gesloten ogen", + "Face with stuck out tongue": "Gezicht met uitstekende tong", + "Face with stuck out tongue and winking eye": "Gezicht met uitstekende tong en knipoog", + "Face with stuck out tongue and tightly-closed eyes": "Gezicht met uitstekende tong en strak-gesloten ogen", + "Disappointed face": "Teleurgesteld gezicht", + "Worried face": "Bezorgd gezicht", + "Angry face": "Boos gezicht", + "Pouting face": "Pruilend gezicht", + "Crying face": "Huilend gezicht", + "Persevering face": "Volhardend gezicht", + "Face with look of triumph": "Gezicht met blik van triomf", + "Disappointed but relieved face": "Teleurgesteld, maar opgelucht gezicht", + "Frowning face with open mouth": "Fronsend gezicht met open mond", + "Anguished face": "Gekweld gezicht", + "Fearful face": "Angstig gezicht", + "Weary face": "Vermoeid gezicht", + "Sleepy face": "Slaperig gezicht", + "Tired face": "Moe gezicht", + "Grimacing face": "Grimassen trekkend gezicht", + "Loudly crying face": "Luid schreeuwend gezicht", + "Face with open mouth": "Gezicht met open mond", + "Hushed face": "Tot zwijgen gebracht gezicht", + "Face with open mouth and cold sweat": "Gezicht met open mond en koud zweet", + "Face screaming in fear": "Gezicht schreeuwend van angst", + "Astonished face": "Verbaasd gezicht", + "Flushed face": "Blozend gezicht", + "Sleeping face": "Slapend gezicht", + "Dizzy face": "Duizelig gezicht", + "Face without mouth": "Gezicht zonder mond", + "Face with medical mask": "Gezicht met medisch masker", + + // Line breaker + "Break": "Afbreken", + + // Math + "Subscript": "Subscript", + "Superscript": "Superscript", + + // Full screen + "Fullscreen": "Volledig scherm", + + // Horizontal line + "Insert Horizontal Line": "Horizontale lijn invoegen", + + // Clear formatting + "Clear Formatting": "Verwijder opmaak", + + // Save + "Save": "Opslaan", + + // Undo, redo + "Undo": "Ongedaan maken", + "Redo": "Opnieuw", + + // Select all + "Select All": "Alles selecteren", + + // Code view + "Code View": "Codeweergave", + + // Quote + "Quote": "Citaat", + "Increase": "Toenemen", + "Decrease": "Afnemen", + + // Quick Insert + "Quick Insert": "Snel invoegen", + + // Spcial Characters + "Special Characters": "Speciale tekens", + "Latin": "Latijns", + "Greek": "Grieks", + "Cyrillic": "Cyrillisch", + "Punctuation": "Interpunctie", + "Currency": "Valuta", + "Arrows": "Pijlen", + "Math": "Wiskunde", + "Misc": "Misc", + + // Print. + "Print": "Afdrukken", + + // Spell Checker. + "Spell Checker": "Spellingscontrole", + + // Help + "Help": "Hulp", + "Shortcuts": "Snelkoppelingen", + "Inline Editor": "Inline editor", + "Show the editor": "Laat de editor zien", + "Common actions": "Algemene acties", + "Copy": "Kopiëren", + "Cut": "Knippen", + "Paste": "Plakken", + "Basic Formatting": "Basisformattering", + "Increase quote level": "Citaat niveau verhogen", + "Decrease quote level": "Citaatniveau verminderen", + "Image / Video": "Beeld / video", + "Resize larger": "Groter maken", + "Resize smaller": "Kleiner maken", + "Table": "Tabel", + "Select table cell": "Selecteer tabelcel", + "Extend selection one cell": "Selecteer een cel uit", + "Extend selection one row": "Selecteer een rij uit", + "Navigation": "Navigatie", + "Focus popup / toolbar": "Focus pop-up / werkbalk", + "Return focus to previous position": "Focus terug naar vorige positie", + + // Embed.ly + "Embed URL": "Embed url", + "Paste in a URL to embed": "Voer een URL in om toe te voegen", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "De geplakte inhoud komt uit een Microsoft Word-document. wil je het formaat behouden of schoonmaken?", + "Keep": "Opmaak behouden", + "Clean": "Tekst schoonmaken", + "Word Paste Detected": "Word inhoud gedetecteerd" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/nl.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/hu.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/hu.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/hu.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Hungarian + */ + +$.FE.LANGUAGE['hu'] = { + translation: { + // Place holder + "Type something": "Sz\u00f6veg...", + + // Basic formatting + "Bold": "F\u00e9lk\u00f6v\u00e9r", + "Italic": "D\u0151lt", + "Underline": "Al\u00e1h\u00fazott", + "Strikethrough": "\u00c1th\u00fazott", + + // Main buttons + "Insert": "Beilleszt\u00e9s", + "Delete": "T\u00f6rl\u00e9s", + "Cancel": "M\u00e9gse", + "OK": "Rendben", + "Back": "Vissza", + "Remove": "Elt\u00e1vol\u00edt\u00e1s", + "More": "T\u00f6bb", + "Update": "Friss\u00edt\u00e9s", + "Style": "St\u00edlus", + + // Font + "Font Family": "Bet\u0171t\u00edpus", + "Font Size": "Bet\u0171m\u00e9ret", + + // Colors + "Colors": "Sz\u00ednek", + "Background": "H\u00e1tt\u00e9r", + "Text": "Sz\u00f6veg", + "HEX Color": "Hex színű", + + // Paragraphs + "Paragraph Format": "Form\u00e1tumok", + "Normal": "Norm\u00e1l", + "Code": "K\u00f3d", + "Heading 1": "C\u00edmsor 1", + "Heading 2": "C\u00edmsor 2", + "Heading 3": "C\u00edmsor 3", + "Heading 4": "C\u00edmsor 4", + + // Style + "Paragraph Style": "Bekezd\u00e9s st\u00edlusa", + "Inline Style": " Helyi st\u00edlus", + + // Alignment + "Align": "Igaz\u00edt\u00e1s", + "Align Left": "Balra igaz\u00edt", + "Align Center": "K\u00f6z\u00e9pre z\u00e1r", + "Align Right": "Jobbra igaz\u00edt", + "Align Justify": "Sorkiz\u00e1r\u00e1s", + "None": "Egyik sem", + + // Lists + "Ordered List": "Sz\u00e1moz\u00e1s", + "Unordered List": "Felsorol\u00e1s", + + // Indent + "Decrease Indent": "Beh\u00faz\u00e1s cs\u00f6kkent\u00e9se", + "Increase Indent": "Beh\u00faz\u00e1s n\u00f6vel\u00e9se", + + // Links + "Insert Link": "Hivatkoz\u00e1s beilleszt\u00e9se", + "Open in new tab": "Megnyit\u00e1s \u00faj lapon", + "Open Link": "Hivatkoz\u00e1s megnyit\u00e1sa", + "Edit Link": "Hivatkoz\u00e1 s szerkeszt\u00e9se", + "Unlink": "Hivatkoz\u00e1s t\u00f6rl\u00e9se", + "Choose Link": "Keres\u00e9s a lapok k\u00f6z\u00f6tt", + + // Images + "Insert Image": "K\u00e9p beilleszt\u00e9se", + "Upload Image": "K\u00e9p felt\u00f6lt\u00e9se", + "By URL": "Webc\u00edm megad\u00e1sa", + "Browse": "B\u00f6ng\u00e9sz\u00e9s", + "Drop image": "H\u00fazza ide a k\u00e9pet", + "or click": "vagy kattintson ide", + "Manage Images": "K\u00e9pek kezel\u00e9se", + "Loading": "Bet\u00f6lt\u00e9s...", + "Deleting": "T\u00f6rl\u00e9s...", + "Tags": "C\u00edmk\u00e9k", + "Are you sure? Image will be deleted.": "Biztos benne? A k\u00e9p t\u00f6rl\u00e9sre ker\u00fcl.", + "Replace": "Csere", + "Uploading": "Felt\u00f6lt\u00e9s", + "Loading image": "K\u00e9p bet\u00f6lt\u00e9se", + "Display": "Kijelz\u0151", + "Inline": "Sorban", + "Break Text": "Sz\u00f6veg t\u00f6r\u00e9se", + "Alternative Text": "Alternat\u00edv sz\u00f6veg", + "Change Size": "M\u00e9ret m\u00f3dos\u00edt\u00e1sa", + "Width": "Sz\u00e9less\u00e9g", + "Height": "Magass\u00e1g", + "Something went wrong. Please try again.": "Valami elromlott. K\u00e9rlek pr\u00f3b\u00e1ld \u00fajra.", + "Image Caption": "Képaláírás", + "Advanced Edit": "Fejlett szerkesztés", + + // Video + "Insert Video": "Vide\u00f3 beilleszt\u00e9se", + "Embedded Code": "K\u00f3d bem\u00e1sol\u00e1sa", + "Paste in a video URL": "Illessze be a videó URL-címét", + "Drop video": "Csepp videót", + "Your browser does not support HTML5 video.": "A böngészője nem támogatja a html5 videót.", + "Upload Video": "Videó feltöltése", + + // Tables + "Insert Table": "T\u00e1bl\u00e1zat beilleszt\u00e9se", + "Table Header": "T\u00e1bl\u00e1zat fejl\u00e9ce", + "Remove Table": "T\u00e1bla elt\u00e1vol\u00edt\u00e1sa", + "Table Style": "T\u00e1bl\u00e1zat st\u00edlusa", + "Horizontal Align": "V\u00edzszintes igaz\u00edt\u00e1s", + "Row": "Sor", + "Insert row above": "Sor besz\u00far\u00e1sa el\u00e9", + "Insert row below": "Sor besz\u00far\u00e1sa m\u00f6g\u00e9", + "Delete row": "Sor t\u00f6rl\u00e9se", + "Column": "Oszlop", + "Insert column before": "Oszlop besz\u00far\u00e1sa el\u00e9", + "Insert column after": "Oszlop besz\u00far\u00e1sa m\u00f6g\u00e9", + "Delete column": "Oszlop t\u00f6rl\u00e9se", + "Cell": "Cella", + "Merge cells": "Cell\u00e1k egyes\u00edt\u00e9se", + "Horizontal split": "V\u00edzszintes osztott", + "Vertical split": "F\u00fcgg\u0151leges osztott", + "Cell Background": "Cella h\u00e1ttere", + "Vertical Align": "F\u00fcgg\u0151leges fej\u00e1ll\u00edt\u00e1s", + "Top": "Fels\u0151", + "Middle": "K\u00f6z\u00e9ps\u0151", + "Bottom": "Als\u00f3", + "Align Top": "Igaz\u00edtsa fel\u00fclre", + "Align Middle": "Igaz\u00edtsa k\u00f6z\u00e9pre", + "Align Bottom": "Igaz\u00edtsa al\u00falra", + "Cell Style": "Cella st\u00edlusa", + + // Files + "Upload File": "F\u00e1jl felt\u00f6lt\u00e9se", + "Drop file": "H\u00fazza ide a f\u00e1jlt", + + // Emoticons + "Emoticons": "Hangulatjelek", + "Grinning face": "Vigyorg\u00f3 arc", + "Grinning face with smiling eyes": "Vigyorg\u00f3 arc mosolyg\u00f3 szemekkel", + "Face with tears of joy": "Arc \u00e1t az \u00f6r\u00f6m k\u00f6nnyei", + "Smiling face with open mouth": "Mosolyg\u00f3 arc t\u00e1tott sz\u00e1jjal", + "Smiling face with open mouth and smiling eyes": "Mosolyg\u00f3 arc t\u00e1tott sz\u00e1jjal \u00e9s mosolyg\u00f3 szemek", + "Smiling face with open mouth and cold sweat": "Mosolyg\u00f3 arc t\u00e1tott sz\u00e1jjal \u00e9s hideg ver\u00edt\u00e9k", + "Smiling face with open mouth and tightly-closed eyes": "Mosolyg\u00f3 arc t\u00e1tott sz\u00e1jjal \u00e9s szorosan lehunyt szemmel", + "Smiling face with halo": "Mosolyg\u00f3 arc dicsf\u00e9nyben", + "Smiling face with horns": "Mosolyg\u00f3 arc szarvakkal", + "Winking face": "Kacsint\u00f3s arc", + "Smiling face with smiling eyes": "Mosolyg\u00f3 arc mosolyg\u00f3 szemekkel", + "Face savoring delicious food": "Arc \u00edzlelgette \u00edzletes \u00e9telek", + "Relieved face": "Megk\u00f6nnyebb\u00fclt arc", + "Smiling face with heart-shaped eyes": "Mosolyg\u00f3 arc sz\u00edv alak\u00fa szemekkel", + "Smilin g face with sunglasses": "Mosolyg\u00f3 arc napszem\u00fcvegben", + "Smirking face": "Vigyorg\u00f3 arca", + "Neutral face": "Semleges arc", + "Expressionless face": "Kifejez\u00e9stelen arc", + "Unamused face": "Unott arc", + "Face with cold sweat": "Arc\u00e1n hideg verejt\u00e9kkel", + "Pensive face": "T\u00f6preng\u0151 arc", + "Confused face": "Zavaros arc", + "Confounded face": "R\u00e1c\u00e1folt arc", + "Kissing face": "Cs\u00f3kos arc", + "Face throwing a kiss": "Arcra dobott egy cs\u00f3kot", + "Kissing face with smiling eyes": "Cs\u00f3kos arc\u00e1t mosolyg\u00f3 szemek", + "Kissing face with closed eyes": "Cs\u00f3kos arc\u00e1t csukott szemmel", + "Face with stuck out tongue": "Szembe kiny\u00faj totta a nyelv\u00e9t", + "Face with stuck out tongue and winking eye": "Szembe kiny\u00fajtotta a nyelv\u00e9t, \u00e9s kacsint\u00f3 szem", + "Face with stuck out tongue and tightly-closed eyes": "Arc kiny\u00fajtotta a nyelv\u00e9t, \u00e9s szorosan lehunyt szemmel", + "Disappointed face": "Csal\u00f3dott arc", + "Worried face": "Agg\u00f3d\u00f3 arc\u00e1t", + "Angry face": "D\u00fch\u00f6s arc", + "Pouting face": "Duzzog\u00f3 arc", + "Crying face": "S\u00edr\u00f3 arc", + "Persevering face": "Kitart\u00f3 arc", + "Face with look of triumph": "Arc\u00e1t diadalmas pillant\u00e1st", + "Disappointed but relieved face": "Csal\u00f3dott, de megk\u00f6nnyebb\u00fclt arc", + "Frowning face with open mouth": "Komor arcb\u00f3l t\u00e1tott sz\u00e1jjal", + "Anguished face": "Gy\u00f6tr\u0151d\u0151 arc", + "Fearful face": "F\u00e9lelmetes arc", + "Weary face": "F\u00e1radt arc", + "Sleepy face": "\u00e1lmos arc", + "Tired face": "F\u00e1radt arc", + "Grimacing face": "Elfintorodott arc", + "Loudly crying face": "Hangosan s\u00edr\u00f3 arc", + "Face with open mouth": "Arc nyitott sz\u00e1jjal", + "Hushed face": "Csit\u00edtott arc", + "Face with open mouth and cold sweat": "Arc t\u00e1tott sz\u00e1jjal \u00e9s hideg ver\u00edt\u00e9k", + "Face screaming in fear": "Sikoltoz\u00f3 arc a f\u00e9lelemt\u0151l", + "Astonished face": "Meglepett arc", + "Flushed face": "Kipirult arc", + "Sleeping face": "Alv\u00f3 arc", + "Dizzy face": " Sz\u00e1d\u00fcl\u0151 arc", + "Face without mouth": "Arc n\u00e9lküli sz\u00e1j", + "Face with medical mask": "Arc\u00e1n orvosi maszk", + + // Line breaker + "Break": "T\u00f6r\u00e9s", + + // Math + "Subscript": "Als\u00f3 index", + "Superscript": "Fels\u0151 index", + + // Full screen + "Fullscreen": "Teljes k\u00e9perny\u0151", + + // Horizontal line + "Insert Horizontal Line": "V\u00edzszintes vonal", + + // Clear formatting + "Clear Formatting": "Form\u00e1z\u00e1s elt\u00e1vol\u00edt\u00e1sa", + + // Save + "Save": "\u004d\u0065\u006e\u0074\u00e9\u0073", + + // Undo, redo + "Undo": "Visszavon\u00e1s", + "Redo": "Ism\u00e9t", + + // Select all + "Select All": "Minden kijel\u00f6l\u00e9se", + + // Code view + "Code View": "Forr\u00e1sk\u00f3d", + + // Quote + "Quote": "Id\u00e9zet", + "Increase": "N\u00f6vel\u00e9s", + "Decrease": "Cs\u00f6kkent\u00e9s", + + // Quick Insert + "Quick Insert": "Beilleszt\u00e9s", + + // Spcial Characters + "Special Characters": "Speciális karakterek", + "Latin": "Latin", + "Greek": "Görög", + "Cyrillic": "Cirill", + "Punctuation": "Központozás", + "Currency": "Valuta", + "Arrows": "Nyilak", + "Math": "Matematikai", + "Misc": "Misc", + + // Print. + "Print": "Nyomtatás", + + // Spell Checker. + "Spell Checker": "Helyesírás-ellenőrző", + + // Help + "Help": "Segítség", + "Shortcuts": "Hivatkozások", + "Inline Editor": "Inline szerkesztő", + "Show the editor": "Mutassa meg a szerkesztőt", + "Common actions": "Közös cselekvések", + "Copy": "Másolat", + "Cut": "Vágott", + "Paste": "Paszta", + "Basic Formatting": "Alap formázás", + "Increase quote level": "Növeli az idézet szintjét", + "Decrease quote level": "Csökkenti az árazási szintet", + "Image / Video": "Kép / videó", + "Resize larger": "Nagyobb átméretezés", + "Resize smaller": "Kisebb méretűek", + "Table": "Asztal", + "Select table cell": "Válasszon táblázatcellát", + "Extend selection one cell": "Kiterjesztheti a kiválasztást egy cellára", + "Extend selection one row": "Szűkítse ki az egy sort", + "Navigation": "Navigáció", + "Focus popup / toolbar": "Fókusz felugró ablak / eszköztár", + "Return focus to previous position": "Visszaáll az előző pozícióra", + + // Embed.ly + "Embed URL": "Beágyazott url", + "Paste in a URL to embed": "Beilleszteni egy URL-t a beágyazáshoz", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "A beillesztett tartalom egy microsoft szó dokumentumból származik. szeretné megtartani a formátumot vagy tisztítani?", + "Keep": "Tart", + "Clean": "Tiszta", + "Word Paste Detected": "Szópaszta észlelhető" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/hu.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/da.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/da.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/da.js (revision 7) @@ -0,0 +1,318 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Danish + */ + +$.FE.LANGUAGE['da'] = { + translation: { + // Place holder + "Type something": "Skriv her", + + // Basic formatting + "Bold": "Fed", + "Italic": "Kursiv", + "Underline": "Understreget", + "Strikethrough": "Gennemstreget", + + // Main buttons + "Insert": "Indsæt", + "Delete": "Slet", + "Cancel": "Fortryd", + "OK": "Ok", + "Back": "Tilbage", + "Remove": "Fjern", + "More": "Mere", + "Update": "Opdater", + "Style": "Udseende", + + // Font + "Font Family": "Skrifttype", + "Font Size": "Skriftstørrelse", + + // Colors + "Colors": "Farver", + "Background": "Baggrund", + "Text": "Tekst", + "HEX Color": "Hex farve", + + // Paragraphs + "Paragraph Format": "Typografi", + "Normal": "Normal", + "Code": "Kode", + "Heading 1": "Overskrift 1", + "Heading 2": "Overskrift 2", + "Heading 3": "Overskrift 3", + "Heading 4": "Overskrift 4", + + // Style + "Paragraph Style": "Afsnit", + "Inline Style": "På linje", + + // Alignment + "Align": "Tilpasning", + "Align Left": "Venstrejusteret", + "Align Center": "Centreret", + "Align Right": "Højrejusteret", + "Align Justify": "Justeret", + "None": "Ingen", + + // Lists + "Ordered List": "Punktopstilling", + "Unordered List": "Punktopstilling med tal", + + // Indent + "Decrease Indent": "Formindsk indrykning", + "Increase Indent": "Forøg indrykning", + + // Links + "Insert Link": "Indsæt link", + "Open in new tab": "Åbn i ny fane", + "Open Link": "Åbn link", + "Edit Link": "Rediger link", + "Unlink": "Fjern link", + "Choose Link": "Vælg link", + + // Images + "Insert Image": "Indsæt billede", + "Upload Image": "Upload billede", + "By URL": "Fra URL", + "Browse": "Gennemse", + "Drop image": "Træk billedet herind", + "or click": "eller klik", + "Manage Images": "Administrer billeder", + "Loading": "Henter", + "Deleting": "Sletter", + "Tags": "Tags", + "Are you sure? Image will be deleted.": "Er du sikker? Billedet vil blive slettet.", + "Replace": "Udskift", + "Uploading": "Uploader", + "Loading image": "Henter billede", + "Display": "Layout", + "Inline": "På linje", + "Break Text": "Ombryd tekst", + "Alternative Text": "Supplerende tekst", + "Change Size": "Tilpas størrelse", + "Width": "Bredde", + "Height": "Højde", + "Something went wrong. Please try again.": "Noget gik galt. Prøv igen.", + "Image Caption": "Billedtekst", + "Advanced Edit": "Avanceret redigering", + + // Video + "Insert Video": "Indsæt video", + "Embedded Code": "Indlejret kode", + "Paste in a video URL": "Indsæt en video via URL", + "Drop video": "Træk videoen herind", + "Your browser does not support HTML5 video.": "Din browser understøtter ikke HTML5 video.", + "Upload Video": "Upload video", + + // Tables + "Insert Table": "Indsæt tabel", + "Table Header": "Tabeloverskrift", + "Remove Table": "Fjern tabel", + "Table Style": "Tabeludseende", + "Horizontal Align": "Vandret tilpasning", + "Row": "Række", + "Insert row above": "Indsæt række over", + "Insert row below": "Indsæt række under", + "Delete row": "Slet række", + "Column": "Kolonne", + "Insert column before": "Indsæt kolonne før", + "Insert column after": "Indsæt kolonne efter", + "Delete column": "Slet kolonne", + "Cell": "Celle", + "Merge cells": "Flet celler", + "Horizontal split": "Vandret split", + "Vertical split": "Lodret split", + "Cell Background": "Cellebaggrund", + "Vertical Align": "Lodret tilpasning", + "Top": "Top", + "Middle": "Midte", + "Bottom": "Bund", + "Align Top": "Tilpas i top", + "Align Middle": "Tilpas i midte", + "Align Bottom": "Tilpas i bund", + "Cell Style": "Celleudseende", + + // Files + "Upload File": "Upload fil", + "Drop file": "Træk filen herind", + + // Emoticons + "Emoticons": "Humørikoner", + "Grinning face": "Grinende ansigt", + "Grinning face with smiling eyes": "Grinende ansigt med smilende øjne", + "Face with tears of joy": "Ansigt med glædestårer", + "Smiling face with open mouth": "Smilende ansigt med åben mund", + "Smiling face with open mouth and smiling eyes": "Smilende ansigt med åben mund og smilende øjne", + "Smiling face with open mouth and cold sweat": "Smilende ansigt med åben mund og koldsved", + "Smiling face with open mouth and tightly-closed eyes": "Smilende ansigt med åben mund og stramtlukkede øjne", + "Smiling face with halo": "Smilende ansigt med glorie", + "Smiling face with horns": "Smilende ansigt med horn", + "Winking face": "Blinkede ansigt", + "Smiling face with smiling eyes": "Smilende ansigt med smilende øjne", + "Face savoring delicious food": "Ansigt der savler over lækker mad", + "Relieved face": "Lettet ansigt", + "Smiling face with heart-shaped eyes": "Smilende ansigt med hjerteformede øjne", + "Smiling face with sunglasses": "Smilende ansigt med solbriller", + "Smirking face": "Smilende ansigt", + "Neutral face": "Neutralt ansigt", + "Expressionless face": "Udtryksløst ansigt", + "Unamused face": "Utilfredst ansigt", + "Face with cold sweat": "Ansigt med koldsved", + "Pensive face": "Eftertænksomt ansigt", + "Confused face": "Forvirret ansigt", + "Confounded face": "Irriteret ansigt", + "Kissing face": "Kyssende ansigt", + "Face throwing a kiss": "Ansigt der luftkysser", + "Kissing face with smiling eyes": "Kyssende ansigt med smilende øjne", + "Kissing face with closed eyes": "Kyssende ansigt med lukkede øjne", + "Face with stuck out tongue": "Ansigt med tungen ud af munden", + "Face with stuck out tongue and winking eye": "Ansigt med tungen ud af munden og blinkede øje", + "Face with stuck out tongue and tightly-closed eyes": "Ansigt med tungen ud af munden og stramt lukkede øjne", + "Disappointed face": "Skuffet ansigt", + "Worried face": "Bekymret ansigt", + "Angry face": "Vredt ansigt", + "Pouting face": "Surmulende ansigt", + "Crying face": "Grædende ansigt", + "Persevering face": "Vedholdende ansigt", + "Face with look of triumph": "Hoverende ansigt", + "Disappointed but relieved face": "Skuffet, men lettet ansigt", + "Frowning face with open mouth": "Ansigt med åben mund og rynket pande", + "Anguished face": "Forpintt ansigt", + "Fearful face": "Angst ansigt", + "Weary face": "Udmattet ansigt", + "Sleepy face": "Søvnigt ansigt", + "Tired face": "Træt ansigt", + "Grimacing face": "Ansigt der laver en grimasse", + "Loudly crying face": "Vrælende ansigt", + "Face with open mouth": "Ansigt med åben mund", + "Hushed face": "Tyst ansigt", + "Face with open mouth and cold sweat": "Ansigt med åben mund og koldsved", + "Face screaming in fear": "Ansigt der skriger i frygt", + "Astonished face": "Forbløffet ansigt", + "Flushed face": "Blussende ansigt", + "Sleeping face": "Sovende ansigt", + "Dizzy face": "Svimmelt ansigt", + "Face without mouth": "Ansigt uden mund", + "Face with medical mask": "Ansigt med mundbind", + + // Line breaker + "Break": "Linjeskift", + + // Math + "Subscript": "Sænket skrift", + "Superscript": "Hævet skrift", + + // Full screen + "Fullscreen": "Fuldskærm", + + // Horizontal line + "Insert Horizontal Line": "Indsæt vandret linie", + + // Clear formatting + "Clear Formatting": "Fjern formatering", + + // Undo, redo + "Undo": "Fortryd", + "Redo": "Annuller fortryd", + + // Select all + "Select All": "Vælg alt", + + // Code view + "Code View": "Kodevisning", + + // Quote + "Quote": "Citat", + "Increase": "Forøg", + "Decrease": "Formindsk", + + // Quick Insert + "Quick Insert": "Kvik-indsæt", + + // Spcial Characters + "Special Characters": "Specialtegn", + "Latin": "Latin", + "Greek": "Græsk", + "Cyrillic": "Kyrillisk", + "Punctuation": "Tegnsætning", + "Currency": "Valuta", + "Arrows": "Pile", + "Math": "Matematik", + "Misc": "Diverse", + + // Print. + "Print": "Print", + + // Spell Checker. + "Spell Checker": "Stavekontrol", + + // Help + "Help": "Hjælp", + "Shortcuts": "Genveje", + "Inline Editor": "Indlejret editor", + "Show the editor": "Vis editor", + "Common actions": "Almindelige handlinger", + "Copy": "Kopier", + "Cut": "Klip", + "Paste": "Sæt ind", + "Basic Formatting": "Grundlæggende formatering", + "Increase quote level": "Hæv citatniveau", + "Decrease quote level": "Sænk citatniveau", + "Image / Video": "Billede / video", + "Resize larger": "Ændre til større", + "Resize smaller": "Ændre til mindre", + "Table": "Tabel", + "Select table cell": "Vælg tabelcelle", + "Extend selection one cell": "Udvid markeringen med én celle", + "Extend selection one row": "Udvid markeringen med én række", + "Navigation": "Navigation", + "Focus popup / toolbar": "Fokuser popup / værktøjslinje", + "Return focus to previous position": "Skift fokus tilbage til tidligere position", + + // Embed.ly + "Embed URL": "Integrer URL", + "Paste in a URL to embed": "Indsæt en URL for at indlejre", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Det indsatte indhold kommer fra et Microsoft Word-dokument. Vil du beholde formateringen eller fjerne den?", + "Keep": "Behold", + "Clean": "Fjern", + "Word Paste Detected": "Indsættelse fra Word opdaget" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/da.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/he.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/he.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/he.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Hebrew + */ + +$.FE.LANGUAGE['he'] = { + translation: { + // Place holder + "Type something": "\u05d4\u05e7\u05dc\u05d3 \u05db\u05d0\u05df", + + // Basic formatting + "Bold": "\u05de\u05d5\u05d3\u05d2\u05e9", + "Italic": "\u05de\u05d5\u05d8\u05d4", + "Underline": "\u05e7\u05d5 \u05ea\u05d7\u05ea\u05d9", + "Strikethrough": "\u05e7\u05d5 \u05d0\u05de\u05e6\u05e2\u05d9", + + // Main buttons + "Insert": "\u05d4\u05d5\u05e1\u05e4\u05ea", + "Delete": "\u05de\u05d7\u05d9\u05e7\u05d4", + "Cancel": "\u05d1\u05d9\u05d8\u05d5\u05dc", + "OK": "\u05d1\u05e6\u05e2", + "Back": "\u05d1\u05d7\u05d6\u05e8\u05d4", + "Remove": "\u05d4\u05e1\u05e8", + "More": "\u05d9\u05d5\u05ea\u05e8", + "Update": "\u05e2\u05d3\u05db\u05d5\u05df", + "Style": "\u05e1\u05d2\u05e0\u05d5\u05df", + + // Font + "Font Family": "\u05d2\u05d5\u05e4\u05df", + "Font Size": "\u05d2\u05d5\u05d3\u05dc \u05d4\u05d2\u05d5\u05e4\u05df", + + // Colors + "Colors": "\u05e6\u05d1\u05e2\u05d9\u05dd", + "Background": "\u05e8\u05e7\u05e2", + "Text": "\u05d4\u05d8\u05e1\u05d8", + "HEX Color": "צבע הקס", + + // Paragraphs + "Paragraph Format": "\u05e4\u05d5\u05e8\u05de\u05d8", + "Normal": "\u05e8\u05d2\u05d9\u05dc", + "Code": "\u05e7\u05d5\u05d3", + "Heading 1": "1 \u05db\u05d5\u05ea\u05e8\u05ea", + "Heading 2": "2 \u05db\u05d5\u05ea\u05e8\u05ea", + "Heading 3": "3 \u05db\u05d5\u05ea\u05e8\u05ea", + "Heading 4": "4 \u05db\u05d5\u05ea\u05e8\u05ea", + + // Style + "Paragraph Style": "\u05e1\u05d2\u05e0\u05d5\u05df \u05e4\u05e1\u05e7\u05d4", + "Inline Style": "\u05e1\u05d2\u05e0\u05d5\u05df \u05de\u05d5\u05d1\u05e0\u05d4", + + // Alignment + "Align": "\u05d9\u05d9\u05e9\u05d5\u05e8", + "Align Left": "\u05d9\u05d9\u05e9\u05d5\u05e8 \u05dc\u05e9\u05de\u05d0\u05dc", + "Align Center": "\u05d9\u05d9\u05e9\u05d5\u05e8 \u05dc\u05de\u05e8\u05db\u05d6", + "Align Right": "\u05d9\u05d9\u05e9\u05d5\u05e8 \u05dc\u05d9\u05de\u05d9\u05df", + "Align Justify": "\u05d9\u05d9\u05e9\u05d5\u05e8 \u05de\u05dc\u05d0", + "None": "\u05d0\u05e3 \u05d0\u05d7\u05d3", + + // Lists + "Ordered List": "\u05d4\u05d5\u05e1\u05e4\u05ea \u05e8\u05e9\u05d9\u05de\u05d4 \u05de\u05de\u05d5\u05e1\u05e4\u05e8\u05ea", + "Unordered List": "\u05d4\u05d5\u05e1\u05e4\u05ea \u05e8\u05e9\u05d9\u05de\u05d4", + + // Indent + "Decrease Indent": "\u05d4\u05e7\u05d8\u05e0\u05ea \u05db\u05e0\u05d9\u05e1\u05d4", + "Increase Indent": "\u05d4\u05d2\u05d3\u05dc\u05ea \u05db\u05e0\u05d9\u05e1\u05d4", + + // Links + "Insert Link": "\u05d4\u05d5\u05e1\u05e4\u05ea \u05e7\u05d9\u05e9\u05d5\u05e8", + "Open in new tab": "\u05dc\u05e4\u05ea\u05d5\u05d7 \u05d1\u05d8\u05d0\u05d1 \u05d7\u05d3\u05e9", + "Open Link": "\u05e7\u05d9\u05e9\u05d5\u05e8 \u05e4\u05ea\u05d5\u05d7", + "Edit Link": "\u05e7\u05d9\u05e9\u05d5\u05e8 \u05e2\u05e8\u05d9\u05db\u05d4", + "Unlink": "\u05d4\u05e1\u05e8\u05ea \u05d4\u05e7\u05d9\u05e9\u05d5\u05e8", + "Choose Link": "\u05dc\u05d1\u05d7\u05d5\u05e8 \u05e7\u05d9\u05e9\u05d5\u05e8", + + // Images + "Insert Image": "\u05d4\u05d5\u05e1\u05e4\u05ea \u05ea\u05de\u05d5\u05e0\u05d4", + "Upload Image": "\u05ea\u05de\u05d5\u05e0\u05ea \u05d4\u05e2\u05dc\u05d0\u05d4", + "By URL": "URL \u05e2\u05dc \u05d9\u05d3\u05d9", + "Browse": "\u05dc\u05d2\u05dc\u05d5\u05e9", + "Drop image": "\u05e9\u05d7\u05e8\u05e8 \u05d0\u05ea \u05d4\u05ea\u05de\u05d5\u05e0\u05d4 \u05db\u05d0\u05df", + "or click": "\u05d0\u05d5 \u05dc\u05d7\u05e5", + "Manage Images": "\u05e0\u05d9\u05d4\u05d5\u05dc \u05d4\u05ea\u05de\u05d5\u05e0\u05d5\u05ea", + "Loading": "\u05d8\u05e2\u05d9\u05e0\u05d4", + "Deleting": "\u05de\u05d7\u05d9\u05e7\u05d4", + "Tags": "\u05ea\u05d2\u05d9\u05dd", + "Are you sure? Image will be deleted.": "\u05d4\u05d0\u05dd \u05d0\u05ea\u05d4 \u05d1\u05d8\u05d5\u05d7\u003f \u05d4\u05ea\u05de\u05d5\u05e0\u05d4 \u05ea\u05de\u05d7\u05e7\u002e", + "Replace": "\u05dc\u05d4\u05d7\u05dc\u05d9\u05e3", + "Uploading": "\u05d4\u05e2\u05dc\u05d0\u05d4", + "Loading image": "\u05ea\u05de\u05d5\u05e0\u05ea \u05d8\u05e2\u05d9\u05e0\u05d4", + "Display": "\u05ea\u05e6\u05d5\u05d2\u05d4", + "Inline": "\u05d1\u05e9\u05d5\u05e8\u05d4", + "Break Text": "\u05d8\u05e7\u05e1\u05d8 \u05d4\u05e4\u05e1\u05e7\u05d4", + "Alternative Text": "\u05d8\u05e7\u05e1\u05d8 \u05d7\u05dc\u05d5\u05e4\u05d9", + "Change Size": "\u05d2\u05d5\u05d3\u05dc \u05e9\u05d9\u05e0\u05d5\u05d9", + "Width": "\u05e8\u05d5\u05d7\u05d1", + "Height": "\u05d2\u05d5\u05d1\u05d4", + "Something went wrong. Please try again.": "\u05de\u05e9\u05d4\u05d5 \u05d4\u05e9\u05ea\u05d1\u05e9. \u05d1\u05d1\u05e7\u05e9\u05d4 \u05e0\u05e1\u05d4 \u05e9\u05d5\u05d1.", + "Image Caption": "כיתוב תמונה", + "Advanced Edit": "עריכה מתקדמת", + + // Video + "Insert Video": "\u05d4\u05d5\u05e1\u05e4\u05ea \u05d5\u05d9\u05d3\u05d9\u05d0\u05d5", + "Embedded Code": "\u05e7\u05d5\u05d3 \u05de\u05d5\u05d8\u05d1\u05e2", + "Paste in a video URL": "הדבק בכתובת אתר של סרטון", + "Drop video": "ירידה וידאו", + "Your browser does not support HTML5 video.": "הדפדפן שלך אינו תומך וידאו html5.", + "Upload Video": "להעלות וידאו", + + // Tables + "Insert Table": "\u05d4\u05db\u05e0\u05e1 \u05d8\u05d1\u05dc\u05d4", + "Table Header": "\u05db\u05d5\u05ea\u05e8\u05ea \u05d8\u05d1\u05dc\u05d4", + "Remove Table": "\u05d4\u05e1\u05e8 \u05e9\u05d5\u05dc\u05d7\u05df", + "Table Style": "\u05e1\u05d2\u05e0\u05d5\u05df \u05d8\u05d1\u05dc\u05d4", + "Horizontal Align": "\u05d0\u05d5\u05e4\u05e7\u05d9\u05ea \u05dc\u05d9\u05d9\u05e9\u05e8", + "Row": "\u05e9\u05d5\u05e8\u05d4", + "Insert row above": "\u05d4\u05d5\u05e1\u05e4\u05ea \u05e9\u05d5\u05e8\u05d4 \u05dc\u05e4\u05e0\u05d9", + "Insert row below": "\u05d4\u05d5\u05e1\u05e4\u05ea \u05e9\u05d5\u05e8\u05d4 \u05d0\u05d7\u05e8\u05d9", + "Delete row": "\u05de\u05d7\u05d9\u05e7\u05ea \u05e9\u05d5\u05e8\u05d4", + "Column": "\u05d8\u05d5\u05e8", + "Insert column before": "\u05d4\u05d5\u05e1\u05e4\u05ea \u05d8\u05d5\u05e8 \u05dc\u05e4\u05e0\u05d9", + "Insert column after": "\u05d4\u05d5\u05e1\u05e4\u05ea \u05d8\u05d5\u05e8 \u05d0\u05d7\u05e8\u05d9", + "Delete column": "\u05de\u05d7\u05d9\u05e7\u05ea \u05d8\u05d5\u05e8", + "Cell": "\u05ea\u05d0", + "Merge cells": "\u05de\u05d6\u05d2 \u05ea\u05d0\u05d9\u05dd", + "Horizontal split": "\u05e4\u05e6\u05dc \u05d0\u05d5\u05e4\u05e7\u05d9", + "Vertical split": "\u05e4\u05e6\u05dc \u05d0\u05e0\u05db\u05d9", + "Cell Background": "\u05e8\u05e7\u05e2 \u05ea\u05d0", + "Vertical Align": "\u05d9\u05d9\u05e9\u05d5\u05e8 \u05d0\u05e0\u05db\u05d9", + "Top": "\u05e2\u05b6\u05dc\u05b4\u05d9\u05d5\u05b9\u05df", + "Middle": "\u05ea\u05b4\u05d9\u05db\u05d5\u05b9\u05e0\u05b4\u05d9", + "Bottom": "\u05ea\u05d7\u05ea\u05d5\u05df", + "Align Top": "\u05dc\u05d9\u05d9\u05e9\u05e8 \u05e2\u05b6\u05dc\u05b4\u05d9\u05d5\u05b9\u05df", + "Align Middle": "\u05dc\u05d9\u05d9\u05e9\u05e8 \u05ea\u05b4\u05d9\u05db\u05d5\u05b9\u05e0\u05b4\u05d9", + "Align Bottom": "\u05dc\u05d9\u05d9\u05e9\u05e8 \u05ea\u05d7\u05ea\u05d5\u05df", + "Cell Style": "\u05e1\u05d2\u05e0\u05d5\u05df \u05ea\u05d0", + + // Files + "Upload File": "\u05d4\u05e2\u05dc\u05d0\u05ea \u05e7\u05d5\u05d1\u05e5", + "Drop file": "\u05d6\u05e8\u05d5\u05e7 \u05e7\u05d5\u05d1\u05e5 \u05db\u05d0\u05df", + + // Emoticons + "Emoticons": "\u05e1\u05de\u05d9\u05d9\u05dc\u05d9\u05dd", + "Grinning face": "\u05d7\u05d9\u05d9\u05da \u05e4\u05e0\u05d9\u05dd", + "Grinning face with smiling eyes": "\u05d7\u05d9\u05d9\u05da \u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05e2\u05d9\u05e0\u05d9\u05d9\u05dd \u05de\u05d7\u05d9\u05d9\u05db\u05d5\u05ea", + "Face with tears of joy": "\u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05d3\u05de\u05e2\u05d5\u05ea \u05e9\u05dc \u05e9\u05de\u05d7\u05d4", + "Smiling face with open mouth": "\u05d7\u05d9\u05d5\u05da \u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05e4\u05d4 \u05e4\u05ea\u05d5\u05d7", + "Smiling face with open mouth and smiling eyes": "\u05d7\u05d9\u05d5\u05da \u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05e4\u05d4 \u05e4\u05ea\u05d5\u05d7 \u05d5\u05de\u05d7\u05d9\u05d9\u05da \u05e2\u05d9\u05e0\u05d9\u05d9\u05dd", + "Smiling face with open mouth and cold sweat": "\u05d7\u05d9\u05d5\u05da \u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05e4\u05d4 \u05e4\u05ea\u05d5\u05d7 \u05d5\u05d6\u05d9\u05e2\u05d4 \u05e7\u05e8\u05d4", + "Smiling face with open mouth and tightly-closed eyes": "\u05d7\u05d9\u05d5\u05da \u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05e4\u05d4 \u05e4\u05ea\u05d5\u05d7 \u05d5\u05e2\u05d9\u05e0\u05d9\u05d9\u05dd \u05d1\u05d7\u05d5\u05d6\u05e7\u05d4\u002d\u05e1\u05d2\u05d5\u05e8\u05d5\u05ea", + "Smiling face with halo": "\u05d7\u05d9\u05d5\u05da \u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05d4\u05d9\u05dc\u05d4", + "Smiling face with horns": "\u05d7\u05d9\u05d5\u05da \u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05e7\u05e8\u05e0\u05d5\u05ea", + "Winking face": "\u05e7\u05e8\u05d9\u05e6\u05d4 \u05e4\u05e0\u05d9\u05dd", + "Smiling face with smiling eyes": "\u05d7\u05d9\u05d5\u05da \u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05e2\u05d9\u05e0\u05d9\u05d9\u05dd \u05de\u05d7\u05d9\u05d9\u05db\u05d5\u05ea", + "Face savoring delicious food": "\u05e4\u05e0\u05d9\u05dd \u05de\u05ea\u05e2\u05e0\u05d2 \u05d0\u05d5\u05db\u05dc \u05d8\u05e2\u05d9\u05dd", + "Relieved face": "\u05e4\u05e0\u05d9\u05dd \u05e9\u05dc \u05d4\u05e7\u05dc\u05d4", + "Smiling face with heart-shaped eyes": "\u05d7\u05d9\u05d5\u05da \u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05e2\u05d9\u05e0\u05d9\u05d9\u05dd \u05d1\u05e6\u05d5\u05e8\u05ea \u05dc\u05d1", + "Smiling face with sunglasses": "\u05d7\u05d9\u05d5\u05da \u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05de\u05e9\u05e7\u05e4\u05d9 \u05e9\u05de\u05e9", + "Smirking face": "\u05d4\u05d9\u05d0 \u05d7\u05d9\u05d9\u05db\u05d4 \u05d7\u05d9\u05d5\u05da \u05e0\u05d1\u05d6\u05d4 \u05e4\u05e0\u05d9\u05dd", + "Neutral face": "\u05e4\u05e0\u05d9\u05dd \u05e0\u05d9\u05d8\u05e8\u05dc\u05d9", + "Expressionless face": "\u05d1\u05e4\u05e0\u05d9\u05dd \u05d7\u05ea\u05d5\u05dd", + "Unamused face": "\u05e4\u05e0\u05d9\u05dd \u05dc\u05d0 \u05de\u05e9\u05d5\u05e2\u05e9\u05e2\u05d9\u05dd", + "Face with cold sweat": "\u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05d6\u05d9\u05e2\u05d4 \u05e7\u05e8\u05d4", + "Pensive face": "\u05d1\u05e4\u05e0\u05d9\u05dd \u05de\u05d4\u05d5\u05e8\u05d4\u05e8", + "Confused face": "\u05e4\u05e0\u05d9\u05dd \u05de\u05d1\u05d5\u05dc\u05d1\u05dc\u05d9\u05dd", + "Confounded face": "\u05e4\u05e0\u05d9\u05dd \u05de\u05d1\u05d5\u05dc\u05d1\u05dc", + "Kissing face": "\u05e0\u05e9\u05d9\u05e7\u05d5\u05ea \u05e4\u05e0\u05d9\u05dd", + "Face throwing a kiss": "\u05e4\u05e0\u05d9\u05dd \u05dc\u05d6\u05e8\u05d5\u05e7 \u05e0\u05e9\u05d9\u05e7\u05d4", + "Kissing face with smiling eyes": "\u05e0\u05e9\u05d9\u05e7\u05d5\u05ea \u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05e2\u05d9\u05e0\u05d9\u05d9\u05dd \u05de\u05d7\u05d9\u05d9\u05db\u05d5\u05ea", + "Kissing face with closed eyes": "\u05e0\u05e9\u05d9\u05e7\u05d5\u05ea \u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05e2\u05d9\u05e0\u05d9\u05d9\u05dd \u05e1\u05d2\u05d5\u05e8\u05d5\u05ea", + "Face with stuck out tongue": "\u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05dc\u05e9\u05d5\u05df \u05d1\u05dc\u05d8\u05d5", + "Face with stuck out tongue and winking eye": "\u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05dc\u05e9\u05d5\u05df \u05ea\u05e7\u05d5\u05e2\u05d4 \u05d4\u05d7\u05d5\u05e6\u05d4 \u05d5\u05e2\u05d9\u05df \u05e7\u05d5\u05e8\u05e6\u05ea", + "Face with stuck out tongue and tightly-closed eyes": "\u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05dc\u05e9\u05d5\u05df \u05ea\u05e7\u05d5\u05e2\u05d4 \u05d4\u05d7\u05d5\u05e6\u05d4 \u05d5\u05e2\u05d9\u05e0\u05d9\u05d9\u05dd \u05d1\u05d7\u05d5\u05d6\u05e7\u05d4\u002d\u05e1\u05d2\u05d5\u05e8\u05d5\u05ea", + "Disappointed face": "\u05e4\u05e0\u05d9\u05dd \u05de\u05d0\u05d5\u05db\u05d6\u05d1\u05d9\u05dd", + "Worried face": "\u05e4\u05e0\u05d9\u05dd \u05de\u05d5\u05d3\u05d0\u05d2\u05d9\u05dd", + "Angry face": "\u05e4\u05e0\u05d9\u05dd \u05db\u05d5\u05e2\u05e1\u05d9\u05dd", + "Pouting face": "\u05de\u05e9\u05d5\u05e8\u05d1\u05d1 \u05e4\u05e0\u05d9\u05dd", + "Crying face": "\u05d1\u05db\u05d9 \u05e4\u05e0\u05d9\u05dd", + "Persevering face": "\u05d4\u05ea\u05de\u05d3\u05ea \u05e4\u05e0\u05d9\u05dd", + "Face with look of triumph": "\u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05de\u05d1\u05d8 \u05e9\u05dc \u05e0\u05e6\u05d7\u05d5\u05df", + "Disappointed but relieved face": "\u05de\u05d0\u05d5\u05db\u05d6\u05d1 \u05d0\u05d1\u05dc \u05d4\u05d5\u05e7\u05dc \u05e4\u05e0\u05d9\u05dd", + "Frowning face with open mouth": "\u05e7\u05de\u05d8 \u05d0\u05ea \u05de\u05e6\u05d7 \u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05e4\u05d4 \u05e4\u05ea\u05d5\u05d7", + "Anguished face": "\u05e4\u05e0\u05d9\u05dd \u05de\u05d9\u05d5\u05e1\u05e8\u05d9\u05dd", + "Fearful face": "\u05e4\u05e0\u05d9\u05dd \u05e9\u05d7\u05e9\u05e9\u05d5", + "Weary face": "\u05e4\u05e0\u05d9\u05dd \u05d5\u05d9\u05e8\u05d9", + "Sleepy face": "\u05e4\u05e0\u05d9\u05dd \u05e9\u05dc \u05e1\u05dc\u05d9\u05e4\u05d9", + "Tired face": "\u05e4\u05e0\u05d9\u05dd \u05e2\u05d9\u05d9\u05e4\u05d9\u05dd", + "Grimacing face": "\u05d4\u05d5\u05d0 \u05d4\u05e2\u05d5\u05d5\u05d4 \u05d0\u05ea \u05e4\u05e0\u05d9 \u05e4\u05e0\u05d9\u05dd", + "Loudly crying face": "\u05d1\u05e7\u05d5\u05dc \u05e8\u05dd \u05d1\u05d5\u05db\u05d4 \u05e4\u05e0\u05d9\u05dd", + "Face with open mouth": "\u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05e4\u05d4 \u05e4\u05ea\u05d5\u05d7", + "Hushed face": "\u05e4\u05e0\u05d9\u05dd \u05e9\u05d5\u05e7\u05d8\u05d9\u05dd", + "Face with open mouth and cold sweat": "\u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05e4\u05d4 \u05e4\u05ea\u05d5\u05d7 \u05d5\u05d6\u05d9\u05e2\u05d4 \u05e7\u05e8\u05d4\u0022", + "Face screaming in fear": "\u05e4\u05e0\u05d9\u05dd \u05e6\u05d5\u05e8\u05d7\u05d9\u05dd \u05d1\u05e4\u05d7\u05d3", + "Astonished face": "\u05e4\u05e0\u05d9\u05d5 \u05e0\u05d3\u05d4\u05de\u05d5\u05ea", + "Flushed face": "\u05e4\u05e0\u05d9\u05d5 \u05e1\u05de\u05d5\u05e7\u05d5\u05ea", + "Sleeping face": "\u05e9\u05d9\u05e0\u05d4 \u05e4\u05e0\u05d9\u05dd", + "Dizzy face": "\u05e4\u05e0\u05d9\u05dd \u05e9\u05dc \u05d3\u05d9\u05d6\u05d9", + "Face without mouth": "\u05e4\u05e0\u05d9\u05dd \u05dc\u05dc\u05d0 \u05e4\u05d4", + "Face with medical mask": "\u05e4\u05e0\u05d9\u05dd \u05e2\u05dd \u05de\u05e1\u05db\u05d4 \u05e8\u05e4\u05d5\u05d0\u05d9\u05ea", + + // Line breaker + "Break": "\u05d4\u05e4\u05e1\u05e7\u05d4", + + // Math + "Subscript": "\u05db\u05ea\u05d1 \u05ea\u05d7\u05ea\u05d9", + "Superscript": "\u05e2\u05d9\u05dc\u05d9", + + // Full screen + "Fullscreen": "\u05de\u05e1\u05da \u05de\u05dc\u05d0", + + // Horizontal line + "Insert Horizontal Line": "\u05d4\u05d5\u05e1\u05e4\u05ea \u05e7\u05d5 \u05d0\u05d5\u05e4\u05e7\u05d9", + + // Clear formatting + "Clear Formatting": "\u05dc\u05d4\u05e1\u05d9\u05e8 \u05e2\u05d9\u05e6\u05d5\u05d1", + + // Save + "Save": "\u05dc\u05d4\u05e6\u05d9\u05dc", + + // Undo, redo + "Undo": "\u05d1\u05d9\u05d8\u05d5\u05dc", + "Redo": "\u05d1\u05e6\u05e2 \u05e9\u05d5\u05d1", + + // Select all + "Select All": "\u05d1\u05d7\u05e8 \u05d4\u05db\u05dc", + + // Code view + "Code View": "\u05ea\u05e6\u05d5\u05d2\u05ea \u05e7\u05d5\u05d3", + + // Quote + "Quote": "\u05e6\u05d9\u05d8\u05d5\u05d8", + "Increase": "\u05dc\u05d4\u05d2\u05d1\u05d9\u05e8", + "Decrease": "\u05d9\u05e8\u05d9\u05d3\u05d4", + + // Quick Insert + "Quick Insert": "\u05db\u05e0\u05e1 \u05de\u05d4\u05d9\u05e8", + + // Spcial Characters + "Special Characters": "תווים מיוחדים", + "Latin": "לָטִינִית", + "Greek": "יווני", + "Cyrillic": "קירילית", + "Punctuation": "פיסוק", + "Currency": "מַטְבֵּעַ", + "Arrows": "חצים", + "Math": "מתמטיקה", + "Misc": "שונות", + + // Print. + "Print": "הדפס", + + // Spell Checker. + "Spell Checker": "בודק איות", + + // Help + "Help": "עֶזרָה", + "Shortcuts": "קיצורי דרך", + "Inline Editor": "עורך מוטבע", + "Show the editor": "להראות את העורך", + "Common actions": "פעולות נפוצות", + "Copy": "עותק", + "Cut": "גזירה", + "Paste": "לְהַדבִּיק", + "Basic Formatting": "עיצוב בסיסי", + "Increase quote level": "רמת ציטוט", + "Decrease quote level": "רמת ציטוט ירידה", + "Image / Video": "תמונה / וידאו", + "Resize larger": "גודל גדול יותר", + "Resize smaller": "גודל קטן יותר", + "Table": "שולחן", + "Select table cell": "בחר תא תא - -", + "Extend selection one cell": "להאריך את הבחירה תא אחד", + "Extend selection one row": "להאריך את הבחירה שורה אחת", + "Navigation": "ניווט", + "Focus popup / toolbar": "מוקד קופץ / סרגל הכלים", + "Return focus to previous position": "חזרה להתמקד קודם", + + // Embed.ly + "Embed URL": "כתובת אתר להטביע", + "Paste in a URL to embed": "הדבק כתובת אתר להטביע", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "התוכן המודבק מגיע ממסמך Word של Microsoft. האם ברצונך לשמור את הפורמט או לנקות אותו?", + "Keep": "לִשְׁמוֹר", + "Clean": "לְנַקוֹת", + "Word Paste Detected": "הדבק מילה זוהתה" + }, + direction: "rtl" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/he.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/zh_cn.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/zh_cn.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/zh_cn.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** +* Simplified Chinese spoken in China. +*/ + +$.FE.LANGUAGE['zh_cn'] = { + translation: { + // Place holder + "Type something": "输入内容", + + // Basic formatting + "Bold": "粗体", + "Italic": "斜体", + "Underline": "下划线", + "Strikethrough": "删除线", + + // Main buttons + "Insert": "插入", + "Delete": "删除", + "Cancel": "取消", + "OK": "确定", + "Back": "后退", + "Remove": "删除", + "More": "更多", + "Update": "更新", + "Style": "样式", + + // Font + "Font Family": "字体", + "Font Size": "字号", + + // Colors + "Colors": "颜色", + "Background": "背景", + "Text": "字体", + "HEX Color": "十六进制颜色", + + // Paragraphs + "Paragraph Format": "段落格式", + "Normal": "正文", + "Code": "代码", + "Heading 1": "标题1", + "Heading 2": "标题2", + "Heading 3": "标题3", + "Heading 4": "标题4", + + // Style + "Paragraph Style": "段落样式", + "Inline Style": "内联样式", + + // Alignment + "Align": "对齐方式", + "Align Left": "左对齐", + "Align Center": "居中", + "Align Right": "右对齐", + "Align Justify": "两端对齐", + "None": "无", + + // Lists + "Ordered List": "编号", + "Unordered List": "项目符号", + + // Indent + "Decrease Indent": "减少缩进量", + "Increase Indent": "增加缩进量", + + // Links + "Insert Link": "插入超链接", + "Open in new tab": "在新标签页中打开", + "Open Link": "打开超链接", + "Edit Link": "编辑超链接", + "Unlink": "删除超链接", + "Choose Link": "选择超链接", + + // Images + "Insert Image": "插入图片", + "Upload Image": "上传图片", + "By URL": "通过 URL", + "Browse": "浏览", + "Drop image": "拖入图片", + "or click": "或点击", + "Manage Images": "管理图片", + "Loading": "加载中", + "Deleting": "删除中", + "Tags": "标签", + "Are you sure? Image will be deleted.": "图片将会被删除,是否确认?", + "Replace": "替换", + "Uploading": "上传中", + "Loading image": "图片加载中", + "Display": "显示", + "Inline": "嵌入型", + "Break Text": "上下型环绕", + "Alternative Text": "替换文字", + "Change Size": "改变大小", + "Width": "宽度", + "Height": "高度", + "Something went wrong. Please try again.": "发生错误,请重试。", + "Image Caption": "图片标题", + "Advanced Edit": "高级编辑", + + // Video + "Insert Video": "插入视频", + "Embedded Code": "嵌入代码", + "Paste in a video URL": "粘贴视频网址", + "Drop video": "拖入视频", + "Your browser does not support HTML5 video.": "您的浏览器不支持 HTML5 视频。", + "Upload Video": "上传视频", + + // Tables + "Insert Table": "插入表格", + "Table Header": "表头", + "Remove Table": "删除表格", + "Table Style": "表格样式", + "Horizontal Align": "水平对齐方式", + "Row": "行", + "Insert row above": "在上方插入", + "Insert row below": "在下方插入", + "Delete row": "删除行", + "Column": "列", + "Insert column before": "在左侧插入", + "Insert column after": "在右侧插入", + "Delete column": "删除列", + "Cell": "单元格", + "Merge cells": "合并单元格", + "Horizontal split": "水平分割", + "Vertical split": "垂直分割", + "Cell Background": "单元格背景", + "Vertical Align": "垂直对齐方式", + "Top": "靠上", + "Middle": "居中", + "Bottom": "靠下", + "Align Top": "靠上对齐", + "Align Middle": "居中对齐", + "Align Bottom": "靠下对齐", + "Cell Style": "单元格样式", + + // Files + "Upload File": "上传文件", + "Drop file": "拖入文件", + + // Emoticons + "Emoticons": "表情符号", + "Grinning face": "露齿笑脸", + "Grinning face with smiling eyes": "露齿笑到眯起眼", + "Face with tears of joy": "笑哭", + "Smiling face with open mouth": "张嘴微笑", + "Smiling face with open mouth and smiling eyes": "眯眼张嘴微笑", + "Smiling face with open mouth and cold sweat": "带冷汗的张嘴微笑", + "Smiling face with open mouth and tightly-closed eyes": "紧闭双眼张嘴微笑", + "Smiling face with halo": "带光环微笑", + "Smiling face with horns": "带牛角的微笑", + "Winking face": "眨眼", + "Smiling face with smiling eyes": "眯眼微笑", + "Face savoring delicious food": "馋", + "Relieved face": "如释重负", + "Smiling face with heart-shaped eyes": "桃心眼微笑", + "Smiling face with sunglasses": "戴太阳镜微笑", + "Smirking face": "得意地笑", + "Neutral face": "中性脸", + "Expressionless face": "面无表情", + "Unamused face": "不高兴", + "Face with cold sweat": "冷汗", + "Pensive face": "沉思", + "Confused face": "迷惑", + "Confounded face": "困惑", + "Kissing face": "嘴巴嘟嘟", + "Face throwing a kiss": "飞吻", + "Kissing face with smiling eyes": "眯眼接吻", + "Kissing face with closed eyes": "闭眼接吻", + "Face with stuck out tongue": "吐舌", + "Face with stuck out tongue and winking eye": "眨眼吐舌", + "Face with stuck out tongue and tightly-closed eyes": "眯眼吐舌", + "Disappointed face": "失望", + "Worried face": "担心", + "Angry face": "生气", + "Pouting face": "撅嘴", + "Crying face": "大哭", + "Persevering face": "坚强", + "Face with look of triumph": "扬眉吐气", + "Disappointed but relieved face": "失望", + "Frowning face with open mouth": "皱眉", + "Anguished face": "痛苦", + "Fearful face": "害怕", + "Weary face": "疲惫", + "Sleepy face": "困了", + "Tired face": "累了", + "Grimacing face": "扭曲脸", + "Loudly crying face": "大哭", + "Face with open mouth": "张开嘴", + "Hushed face": "安静", + "Face with open mouth and cold sweat": "冷汗", + "Face screaming in fear": "害怕尖叫", + "Astonished face": "惊讶", + "Flushed face": "脸红", + "Sleeping face": "熟睡", + "Dizzy face": "眩晕", + "Face without mouth": "没有嘴的脸", + "Face with medical mask": "口罩脸", + + // Line breaker + "Break": "换行", + + // Math + "Subscript": "下标", + "Superscript": "上标", + + // Full screen + "Fullscreen": "全屏", + + // Horizontal line + "Insert Horizontal Line": "插入水平线", + + // Clear formatting + "Clear Formatting": "清除格式", + + // Save + "Save": "保存", + + // Undo, redo + "Undo": "撤消", + "Redo": "恢复", + + // Select all + "Select All": "全选", + + // Code view + "Code View": "代码视图", + + // Quote + "Quote": "引用", + "Increase": "增加引用级别", + "Decrease": "减少引用级别", + + // Quick Insert + "Quick Insert": "快速插入", + + // Spcial Characters + "Special Characters": "特殊字符", + "Latin": "拉丁字母", + "Greek": "希腊字母", + "Cyrillic": "西里尔字母", + "Punctuation": "标点", + "Currency": "货币", + "Arrows": "箭头", + "Math": "数学", + "Misc": "杂项", + + // Print. + "Print": "打印", + + // Spell Checker. + "Spell Checker": "拼写检查器", + + // Help + "Help": "帮助", + "Shortcuts": "快捷键", + "Inline Editor": "内联编辑器", + "Show the editor": "显示编辑器", + "Common actions": "常用操作", + "Copy": "复制", + "Cut": "剪切", + "Paste": "粘贴", + "Basic Formatting": "基本格式", + "Increase quote level": "增加引用级别", + "Decrease quote level": "减少引用级别", + "Image / Video": "图像/视频", + "Resize larger": "放大", + "Resize smaller": "缩小", + "Table": "表格", + "Select table cell": "选择单元格", + "Extend selection one cell": "增加选中的单元格", + "Extend selection one row": "增加选中的行", + "Navigation": "导航", + "Focus popup / toolbar": "焦点弹出/工具栏", + "Return focus to previous position": "将焦点返回到上一个位置", + + // Embed.ly + "Embed URL": "嵌入网址", + "Paste in a URL to embed": "粘贴要嵌入的网址", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "粘贴的内容来自微软 Word 文档。你想保留还是清除格式?", + "Keep": "保留", + "Clean": "清除", + "Word Paste Detected": "检测到粘贴自 Word 的内容" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/zh_cn.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/me.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/me.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/me.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Montenegrin + */ + +$.FE.LANGUAGE['me'] = { + translation: { + // Place holder + "Type something": "Ukucajte ne\u0161tp", + + // Basic formatting + "Bold": "Bold", + "Italic": "Italic", + "Underline": "Podvu\u010deno", + "Strikethrough": "Prekri\u017eano", + + // Main buttons + "Insert": "Umetni", + "Delete": "Obri\u0161i", + "Cancel": "Otka\u017ei", + "OK": "U redu", + "Back": "Natrag", + "Remove": "Ukloni", + "More": "Vi\u0161e", + "Update": "A\u017euriranje", + "Style": "Stil", + + // Font + "Font Family": "Odaberi font", + "Font Size": "Veli\u010dina fonta", + + // Colors + "Colors": "Boje", + "Background": "Pozadine", + "Text": "Teksta", + "HEX Color": "HEX boje", + + // Paragraphs + "Paragraph Format": "Paragraf formatu", + "Normal": "Normalno", + "Code": "Izvorni kod", + "Heading 1": "Naslov 1", + "Heading 2": "Naslov 2", + "Heading 3": "Naslov 3", + "Heading 4": "Naslov 4", + + // Style + "Paragraph Style": "Paragraf stil", + "Inline Style": "Inline stil", + + // Alignment + "Align": "Poravnaj", + "Align Left": "Poravnaj lijevo", + "Align Center": "Poravnaj po sredini", + "Align Right": "Poravnaj desno", + "Align Justify": "Cjelokupno poravnanje", + "None": "Nijedan", + + // Lists + "Ordered List": "Ure\u0111ena lista", + "Unordered List": "Nesre\u0111ene lista", + + // Indent + "Decrease Indent": "Smanjenje alineja", + "Increase Indent": "Pove\u0107anje alineja", + + // Links + "Insert Link": "Umetni link", + "Open in new tab": "Otvori u novom prozoru", + "Open Link": "Otvori link", + "Edit Link": "Uredi link", + "Unlink": "Ukloni link", + "Choose Link": "Izabrati link", + + // Images + "Insert Image": "Umetni sliku", + "Upload Image": "Upload sliku", + "By URL": "Preko URL", + "Browse": "Pregledaj", + "Drop image": "Izbaci sliku", + "or click": "ili odaberi", + "Manage Images": "Upravljanje ilustracijama", + "Loading": "Koji tovari", + "Deleting": "Brisanje", + "Tags": "Oznake", + "Are you sure? Image will be deleted.": "Da li ste sigurni da \u017eelite da obri\u0161ete ovu ilustraciju?", + "Replace": "Zamijenite", + "Uploading": "Uploading", + "Loading image": "Koji tovari sliku", + "Display": "Prikaz", + "Inline": "Inline", + "Break Text": "Break tekst", + "Alternative Text": "Alternativna tekst", + "Change Size": "Promijeni veli\u010dinu", + "Width": "\u0161irina", + "Height": "Visina", + "Something went wrong. Please try again.": "Ne\u0161to je po\u0161lo po zlu. Molimo vas da poku\u0161ate ponovo.", + "Image Caption": "Slika natpisa", + "Advanced Edit": "Napredno uređivanje", + + // Video + "Insert Video": "Umetni video", + "Embedded Code": "Embedded kod", + "Paste in a video URL": "Prilepite v URL video posnetka", + "Drop video": "Izbaci video", + "Your browser does not support HTML5 video.": "Váš prehliadač nepodporuje video HTML5.", + "Upload Video": "Upload video", + + // Tables + "Insert Table": "Umetni tabelu", + "Table Header": "Zaglavlje tabelu", + "Remove Table": "Izbri\u0161i tabelu", + "Table Style": "Tabelu stil", + "Horizontal Align": "Horizontalna poravnanje", + "Row": "Red", + "Insert row above": "Umetni red iznad", + "Insert row below": "Umetni red ispod", + "Delete row": "Obri\u0161i red", + "Column": "Kolona", + "Insert column before": "Umetni kolonu prije", + "Insert column after": "Umetni kolonu poslije", + "Delete column": "Obri\u0161i kolonu", + "Cell": "\u0106elija", + "Merge cells": "Spoji \u0107elija", + "Horizontal split": "Horizontalno razdvajanje polja", + "Vertical split": "Vertikalno razdvajanje polja", + "Cell Background": "\u0106elija pozadini", + "Vertical Align": "Vertikalni poravnaj", + "Top": "Vrh", + "Middle": "Srednji", + "Bottom": "Dno", + "Align Top": "Poravnaj vrh", + "Align Middle": "Poravnaj srednji", + "Align Bottom": "Poravnaj dno", + "Cell Style": "\u0106elija stil", + + // Files + "Upload File": "Upload datoteke", + "Drop file": "Drop datoteke", + + // Emoticons + "Emoticons": "Emotikona", + "Grinning face": "Cere\u0107i lice", + "Grinning face with smiling eyes": "Cere\u0107i lice nasmijana o\u010dima", + "Face with tears of joy": "Lice sa suze radosnice", + "Smiling face with open mouth": "Nasmijana lica s otvorenih usta", + "Smiling face with open mouth and smiling eyes": "Nasmijana lica s otvorenih usta i nasmijana o\u010di", + "Smiling face with open mouth and cold sweat": "Nasmijana lica s otvorenih usta i hladan znoj", + "Smiling face with open mouth and tightly-closed eyes": "Nasmijana lica s otvorenih usta i \u010dvrsto-zatvorenih o\u010diju", + "Smiling face with halo": "Nasmijana lica sa halo", + "Smiling face with horns": "Nasmijana lica s rogovima", + "Winking face": "Namigivanje lice", + "Smiling face with smiling eyes": "Nasmijana lica sa nasmijana o\u010dima", + "Face savoring delicious food": "Suo\u010davaju uživaju\u0107i ukusna hrana", + "Relieved face": "Laknulo lice", + "Smiling face with heart-shaped eyes": "Nasmijana lica sa obliku srca o\u010di", + "Smiling face with sunglasses": "Nasmijana lica sa sun\u010dane nao\u010dare", + "Smirking face": "Namr\u0161tena lica", + "Neutral face": "Neutral lice", + "Expressionless face": "Bezizra\u017eajno lice", + "Unamused face": "Nije zabavno lice", + "Face with cold sweat": "Lice s hladnim znojem", + "Pensive face": "Zami\u0161ljen lice", + "Confused face": "Zbunjen lice", + "Confounded face": "Uzbu\u0111en lice", + "Kissing face": "Ljubakanje lice", + "Face throwing a kiss": "Suo\u010davaju bacanje poljubac", + "Kissing face with smiling eyes": "Ljubljenje lice nasmijana o\u010dima", + "Kissing face with closed eyes": "Ljubljenje lice sa zatvorenim o\u010dima", + "Face with stuck out tongue": "Lice sa ispru\u017eio jezik", + "Face with stuck out tongue and winking eye": "Lice sa ispru\u017eio jezik i trep\u0107u\u0107e \u0107e oko", + "Face with stuck out tongue and tightly-closed eyes": "Lice sa ispru\u017eio jezik i \u010dvrsto zatvorene o\u010di", + "Disappointed face": "Razo\u010daran lice", + "Worried face": "Zabrinuti lice", + "Angry face": "Ljut lice", + "Pouting face": "Napu\u0107enim lice", + "Crying face": "Plakanje lice", + "Persevering face": "Istrajan lice", + "Face with look of triumph": "Lice s pogledom trijumfa", + "Disappointed but relieved face": "Razo\u010daran, ali olak\u0161anje lice", + "Frowning face with open mouth": "Namr\u0161tiv\u0161i lice s otvorenih usta", + "Anguished face": "Bolnom lice", + "Fearful face": "Pla\u0161ljiv lice", + "Weary face": "Umoran lice", + "Sleepy face": "Pospan lice", + "Tired face": "Umorno lice", + "Grimacing face": "Grimase lice", + "Loudly crying face": "Glasno pla\u010de lice", + "Face with open mouth": "Lice s otvorenih usta", + "Hushed face": "Smiren lice", + "Face with open mouth and cold sweat": "Lice s otvorenih usta i hladan znoj", + "Face screaming in fear": "Suo\u010davaju vri\u0161ti u strahu", + "Astonished face": "Zapanjen lice", + "Flushed face": "Rumeno lice", + "Sleeping face": "Usnulo lice", + "Dizzy face": "O\u0161amu\u0107en lice", + "Face without mouth": "Lice bez usta", + "Face with medical mask": "Lice sa medicinskom maskom", + + // Line breaker + "Break": "Slomiti", + + // Math + "Subscript": "Potpisan", + "Superscript": "Natpis", + + // Full screen + "Fullscreen": "Preko cijelog zaslona", + + // Horizontal line + "Insert Horizontal Line": "Umetni vodoravna liniju", + + // Clear formatting + "Clear Formatting": "Izbrisati formatiranje", + + // Save + "Save": "Save", + + // Undo, redo + "Undo": "Korak nazad", + "Redo": "Korak naprijed", + + // Select all + "Select All": "Ozna\u010di sve", + + // Code view + "Code View": "Kod pogled", + + // Quote + "Quote": "Citat", + "Increase": "Pove\u0107ati", + "Decrease": "Smanjenje", + + // Quick Insert + "Quick Insert": "Brzo umetni", + + // Spcial Characters + "Special Characters": "Specijalni znakovi", + "Latin": "Latino", + "Greek": "Grk", + "Cyrillic": "Ćirilica", + "Punctuation": "Interpunkcije", + "Currency": "Valuta", + "Arrows": "Strelice", + "Math": "Matematika", + "Misc": "Misc", + + // Print. + "Print": "Odštampaj", + + // Spell Checker. + "Spell Checker": "Kontrolor pravopisa", + + // Help + "Help": "Pomoć", + "Shortcuts": "Prečice", + "Inline Editor": "Pri upisivanju Editor", + "Show the editor": "Prikaži urednik", + "Common actions": "Zajedničke akcije", + "Copy": "Kopija", + "Cut": "Rez", + "Paste": "Nalepi", + "Basic Formatting": "Osnovno oblikovanje", + "Increase quote level": "Povećati ponudu za nivo", + "Decrease quote level": "Smanjenje ponude nivo", + "Image / Video": "Slika / Video", + "Resize larger": "Veće veličine", + "Resize smaller": "Promena veličine manji", + "Table": "Sto", + "Select table cell": "Select ćelije", + "Extend selection one cell": "Proširite selekciju jednu ćeliju", + "Extend selection one row": "Proširite selekciju jedan red", + "Navigation": "Navigacija", + "Focus popup / toolbar": "Fokus Iskačući meni / traka sa alatkama", + "Return focus to previous position": "Vratiti fokus na prethodnu poziciju", + + // Embed.ly + "Embed URL": "Ugradite URL", + "Paste in a URL to embed": "Nalepite URL adresu da biste ugradili", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Nalepljeni sadržaj dolazi iz Microsoft Word dokument. Da li želite zadržati u formatu ili počistiti?", + "Keep": "Nastavi", + "Clean": "Oиisti", + "Word Paste Detected": "Word Nalepi otkriven" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/me.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/languages/pl.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/languages/pl.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/languages/pl.js (revision 7) @@ -0,0 +1,321 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +(function (factory) { + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof module === 'object' && module.exports) { + // Node/CommonJS + module.exports = function( root, jQuery ) { + if ( jQuery === undefined ) { + // require('jQuery') returns a factory that requires window to + // build a jQuery instance, we normalize how we use modules + // that require this pattern but the window provided is a noop + // if it's defined (how jquery works) + if ( typeof window !== 'undefined' ) { + jQuery = require('jquery'); + } + else { + jQuery = require('jquery')(root); + } + } + return factory(jQuery); + }; + } else { + // Browser globals + factory(window.jQuery); + } +}(function ($) { +/** + * Polish + */ + +$.FE.LANGUAGE['pl'] = { + translation: { + // Place holder + "Type something": "Wpisz co\u015b", + + // Basic formatting + "Bold": "Pogrubienie", + "Italic": "Kursywa", + "Underline": "Podkre\u015blenie", + "Strikethrough": "Przekre\u015blenie", + + // Main buttons + "Insert": "Wstaw", + "Delete": "Usun\u0105\u0107", + "Cancel": "Anuluj", + "OK": "Ok", + "Back": "Plecy", + "Remove": "Usun\u0105\u0107", + "More": "Jeszcze", + "Update": "Aktualizacja", + "Style": "Styl", + + // Font + "Font Family": "Kr\u00f3j czcionki", + "Font Size": "Rozmiar czcionki", + + // Colors + "Colors": "Kolory", + "Background": "T\u0142o", + "Text": "Tekstu", + "HEX Color": "Sześciokąt", + + // Paragraphs + "Paragraph Format": "Formaty", + "Normal": "Normalny", + "Code": "Kod \u017ar\u00f3d\u0142owy", + "Heading 1": "Nag\u0142\u00f3wek 1", + "Heading 2": "Nag\u0142\u00f3wek 2", + "Heading 3": "Nag\u0142\u00f3wek 3", + "Heading 4": "Nag\u0142\u00f3wek 4", + + // Style + "Paragraph Style": "Styl akapitu", + "Inline Style": "Stylu zgodna", + + // Alignment + "Align": "Wyr\u00f3wnaj", + "Align Left": "Wyr\u00f3wnaj do lewej", + "Align Center": "Wyr\u00f3wnaj do \u015brodka", + "Align Right": "Wyr\u00f3wnaj do prawej", + "Align Justify": "Do lewej i prawej", + "None": "\u017baden", + + // Lists + "Ordered List": "Uporz\u0105dkowana lista", + "Unordered List": "Lista nieuporz\u0105dkowana", + + // Indent + "Decrease Indent": "Zmniejsz wci\u0119cie", + "Increase Indent": "Zwi\u0119ksz wci\u0119cie", + + // Links + "Insert Link": "Wstaw link", + "Open in new tab": "Otw\u00f3rz w nowej karcie", + "Open Link": "Otw\u00f3rz link", + "Edit Link": "Link edytuj", + "Unlink": "Usu\u0144 link", + "Choose Link": "Wybierz link", + + // Images + "Insert Image": "Wstaw obrazek", + "Upload Image": "Za\u0142aduj obrazek", + "By URL": "Przez URL", + "Browse": "Przegl\u0105danie", + "Drop image": "Upu\u015bci\u0107 obraz", + "or click": "lub kliknij", + "Manage Images": "Zarz\u0105dzanie zdj\u0119ciami", + "Loading": "\u0141adowanie", + "Deleting": "Usuwanie", + "Tags": "Tagi", + "Are you sure? Image will be deleted.": "Czy na pewno? Obraz zostanie skasowany.", + "Replace": "Zast\u0105pi\u0107", + "Uploading": "Zamieszczanie", + "Loading image": "\u0141adowanie obrazek", + "Display": "Wystawa", + "Inline": "Zgodna", + "Break Text": "Z\u0142ama\u0107 tekst", + "Alternative Text": "Tekst alternatywny", + "Change Size": "Zmie\u0144 rozmiar", + "Width": "Szeroko\u015b\u0107", + "Height": "Wysoko\u015b\u0107", + "Something went wrong. Please try again.": "Co\u015b posz\u0142o nie tak. Prosz\u0119 spr\u00f3buj ponownie.", + "Image Caption": "Podpis obrazu", + "Advanced Edit": "Zaawansowana edycja", + + // Video + "Insert Video": "Wstaw wideo", + "Embedded Code": "Kod osadzone", + "Paste in a video URL": "Wklej adres URL filmu", + "Drop video": "Upuść wideo", + "Your browser does not support HTML5 video.": "Twoja przeglądarka nie obsługuje wideo html5.", + "Upload Video": "Prześlij wideo", + + // Tables + "Insert Table": "Wstaw tabel\u0119", + "Table Header": "Nag\u0142\u00f3wek tabeli", + "Remove Table": "Usu\u0144 tabel\u0119", + "Table Style": "Styl tabeli", + "Horizontal Align": "Wyr\u00f3wnaj poziomy", + "Row": "Wiersz", + "Insert row above": "Wstaw wiersz przed", + "Insert row below": "Wstaw wiersz po", + "Delete row": "Usu\u0144 wiersz", + "Column": "Kolumna", + "Insert column before": "Wstaw kolumn\u0119 przed", + "Insert column after": "Wstaw kolumn\u0119 po", + "Delete column": "Usu\u0144 kolumn\u0119", + "Cell": "Kom\u00f3rka", + "Merge cells": "\u0141\u0105cz kom\u00f3rki", + "Horizontal split": "Podzia\u0142 poziomy", + "Vertical split": "Podzia\u0142 pionowy", + "Cell Background": "T\u0142a kom\u00f3rek", + "Vertical Align": "Pionowe wyr\u00f3wnanie", + "Top": "Top", + "Middle": "\u015arodkowy", + "Bottom": "Dno", + "Align Top": "Wyr\u00f3wnaj do g\u00f3ry", + "Align Middle": "Wyr\u00f3wnaj \u015brodku", + "Align Bottom": "Wyr\u00f3wnaj do do\u0142u", + "Cell Style": "Styl kom\u00f3rki", + + // Files + "Upload File": "Prze\u015blij plik", + "Drop file": "Upu\u015bci\u0107 plik", + + // Emoticons + "Emoticons": "Emotikony", + "Grinning face": "Z u\u015bmiechem twarz", + "Grinning face with smiling eyes": "Z u\u015bmiechem twarz z u\u015bmiechni\u0119tymi oczami", + "Face with tears of joy": "Twarz ze \u0142zami rado\u015bci", + "Smiling face with open mouth": "U\u015bmiechni\u0119ta twarz z otwartymi ustami", + "Smiling face with open mouth and smiling eyes": "U\u015bmiechni\u0119ta twarz z otwartymi ustami i u\u015bmiechni\u0119te oczy", + "Smiling face with open mouth and cold sweat": "U\u015bmiechni\u0119ta twarz z otwartymi ustami i zimny pot", + "Smiling face with open mouth and tightly-closed eyes": "U\u015bmiechni\u0119ta twarz z otwartymi ustami i szczelnie zamkni\u0119tych oczu", + "Smiling face with halo": "U\u015bmiechni\u0119ta twarz z halo", + "Smiling face with horns": "U\u015bmiechni\u0119ta twarz z rogami", + "Winking face": "Mrugaj\u0105ca twarz", + "Smiling face with smiling eyes": "U\u015bmiechni\u0119ta twarz z u\u015bmiechni\u0119tymi oczami", + "Face savoring delicious food": "Twarz smakuj\u0105 c pyszne jedzenie", + "Relieved face": "Z ulg\u0105 twarz", + "Smiling face with heart-shaped eyes": "U\u015bmiechni\u0119ta twarz z oczami w kszta\u0142cie serca", + "Smiling face with sunglasses": "U\u015bmiechni\u0119ta twarz z okulary", + "Smirking face": "Zadowolony z siebie twarz", + "Neutral face": "Neutralny twarzy", + "Expressionless face": "Bezwyrazowy twarzy", + "Unamused face": "Nie rozbawiony twarzy", + "Face with cold sweat": "Zimny pot z twarzy", + "Pensive face": "Zamy\u015blona twarz", + "Confused face": "Myli\u0107 twarzy", + "Confounded face": "Ha\u0144ba twarz", + "Kissing face": "Ca\u0142owanie twarz", + "Face throwing a kiss": "Twarz rzucaj\u0105c poca\u0142unek", + "Kissing face with smiling eyes": "Ca\u0142owanie twarz z u\u015bmiechni\u0119tymi oczami", + "Kissing face with closed eyes": "Ca\u0142owanie twarz z zamkni\u0119tymi oczami", + "Face with stuck out tongue": "Twarz z j\u0119zyka stercza\u0142y", + "Face with stuck out tongue and winking eye": "Twarz z stercza\u0142y j\u0119zyka i mrugaj\u0105c okiem", + "Face with stuck out tongue and tightly-closed eyes": "Twarz z stercza\u0142y j\u0119zyka i szczelnie zamkni\u0119tych oczu", + "Disappointed face": "Rozczarowany twarzy", + "Worried face": "Martwi twarzy", + "Angry face": "Gniewnych twarzy", + "Pouting face": "D\u0105sy twarzy", + "Crying face": "P\u0142acz\u0105cy", + "Persevering face": "Wytrwa\u0142a twarz", + "Face with look of triumph": "Twarz z wyrazem triumfu", + "Disappointed but relieved face": "Rozczarowany ale ulg\u0119 twarz", + "Frowning face with open mouth": "Krzywi\u0105c twarz z otwartymi ustami", + "Anguished face": "Bolesna twarz", + "Fearful face": "W obawie twarzy", + "Weary face": "Zm\u0119czona twarz", + "Sleepy face": "Je\u017adziec bez twarzy", + "Tired face": "Zm\u0119czonej twarzy", + "Grimacing face": "Skrzywi\u0142 twarz", + "Loudly crying face": "G\u0142o\u015bno p\u0142aka\u0107 twarz", + "Face with open mouth": "twarz z otwartymi ustami", + "Hushed face": "Uciszy\u0142 twarzy", + "Face with open mouth and cold sweat": "Twarz z otwartymi ustami i zimny pot", + "Face screaming in fear": "Twarz z krzykiem w strachu", + "Astonished face": "Zdziwienie twarzy", + "Flushed face": "Zaczerwienienie twarzy", + "Sleeping face": "\u015api\u0105ca twarz", + "Dizzy face": "Zawroty g\u0142owy twarzy", + "Face without mouth": "Twarz bez usta", + "Face with medical mask": "Twarz\u0105 w medycznych maski", + + // Line breaker + "Break": "Z\u0142ama\u0107", + + // Math + "Subscript": "Indeks dolny", + "Superscript": "Indeks g\u00f3rny", + + // Full screen + "Fullscreen": "Pe\u0142ny ekran", + + // Horizontal line + "Insert Horizontal Line": "Wstaw lini\u0119 poziom\u0105", + + // Clear formatting + "Clear Formatting": "Usu\u0144 formatowanie", + + // Save + "Save": "\u005a\u0061\u0070\u0069\u0073\u0061\u0107", + + // Undo, redo + "Undo": "Cofnij", + "Redo": "Pon\u00f3w", + + // Select all + "Select All": "Zaznacz wszystko", + + // Code view + "Code View": "Widok kod", + + // Quote + "Quote": "Cytat", + "Increase": "Wzrost", + "Decrease": "Zmniejszenie", + + // Quick Insert + "Quick Insert": "Szybkie wstaw", + + // Spcial Characters + "Special Characters": "Znaki specjalne", + "Latin": "Łacina", + "Greek": "Grecki", + "Cyrillic": "Cyrylica", + "Punctuation": "Interpunkcja", + "Currency": "Waluta", + "Arrows": "Strzałki", + "Math": "Matematyka", + "Misc": "Misc", + + // Print. + "Print": "Wydrukować", + + // Spell Checker. + "Spell Checker": "Sprawdzanie pisowni", + + // Help + "Help": "Wsparcie", + "Shortcuts": "Skróty", + "Inline Editor": "Edytor w wierszu", + "Show the editor": "Pokazać edytor", + "Common actions": "Wspólne działania", + "Copy": "Kopiuj", + "Cut": "Ciąć", + "Paste": "Pasta", + "Basic Formatting": "Podstawowe formatowanie", + "Increase quote level": "Zwiększyć poziom notowań", + "Decrease quote level": "Zmniejszyć poziom notowań", + "Image / Video": "Obraz / wideo", + "Resize larger": "Zmienić rozmiar większy", + "Resize smaller": "Zmienić rozmiar mniejszy", + "Table": "Stół", + "Select table cell": "Wybierz komórkę tabeli", + "Extend selection one cell": "Przedłużyć wybór jednej komórki", + "Extend selection one row": "Przedłużyć wybór jednego rzędu", + "Navigation": "Nawigacja", + "Focus popup / toolbar": "Focus popup / toolbar", + "Return focus to previous position": "Powrót do poprzedniej pozycji", + + // Embed.ly + "Embed URL": "Osadzaj url", + "Paste in a URL to embed": "Wklej w adresie URL do osadzenia", + + // Word Paste. + "The pasted content is coming from a Microsoft Word document. Do you want to keep the format or clean it up?": "Wklejana treść pochodzi z programu Microsoft Word. Czy chcesz zachować formatowanie czy wkleić jako zwykły tekst?", + "Keep": "Zachowaj formatowanie", + "Clean": "Wklej jako tekst", + "Word Paste Detected": "Wykryto sformatowany tekst" + }, + direction: "ltr" +}; + +})); Property changes on: base3.10/src/main/webapp/resource/editor/js/languages/pl.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/third_party/font_awesome.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/third_party/font_awesome.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/third_party/font_awesome.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof module&&module.exports?module.exports=function(e,o){return o===undefined&&(o="undefined"!=typeof window?require("jquery"):require("jquery")(e)),a(o)}:a(window.jQuery)}(function(u){u.extend(u.FE.DEFAULTS,{fontAwesomeTemplate:'<i class="fa fa-[NAME] fr-deletable" aria-hidden="true">&nbsp;</i>',fontAwesomeSets:[{title:"Web Application Icons",list:["address-book","address-book-o","address-card","address-card-o","adjust","american-sign-language-interpreting","anchor","archive","area-chart","arrows","arrows-h","arrows-v","asl-interpreting ","assistive-listening-systems","asterisk","at","audio-description","automobile ","balance-scale","ban","bank ","bar-chart","bar-chart-o ","barcode","bars","bath","bathtub ","battery ","battery-0 ","battery-1 ","battery-2 ","battery-3 ","battery-4 ","battery-empty","battery-full","battery-half","battery-quarter","battery-three-quarters","bed","beer","bell","bell-o","bell-slash","bell-slash-o","bicycle","binoculars","birthday-cake","blind","bluetooth","bluetooth-b","bolt","bomb","book","bookmark","bookmark-o","braille","briefcase","bug","building","building-o","bullhorn","bullseye","bus","cab ","calculator","calendar","calendar-check-o","calendar-minus-o","calendar-o","calendar-plus-o","calendar-times-o","camera","camera-retro","car","caret-square-o-down","caret-square-o-left","caret-square-o-right","caret-square-o-up","cart-arrow-down","cart-plus","cc","certificate","check","check-circle","check-circle-o","check-square","check-square-o","child","circle","circle-o","circle-o-notch","circle-thin","clock-o","clone","close ","cloud","cloud-download","cloud-upload","code","code-fork","coffee","cog","cogs","comment","comment-o","commenting","commenting-o","comments","comments-o","compass","copyright","creative-commons","credit-card","credit-card-alt","crop","crosshairs","cube","cubes","cutlery","dashboard ","database","deaf","deafness ","desktop","diamond","dot-circle-o","download","drivers-license ","drivers-license-o ","edit ","ellipsis-h","ellipsis-v","envelope","envelope-o","envelope-open","envelope-open-o","envelope-square","eraser","exchange","exclamation","exclamation-circle","exclamation-triangle","external-link","external-link-square","eye","eye-slash","eyedropper","fax","feed ","female","fighter-jet","file-archive-o","file-audio-o","file-code-o","file-excel-o","file-image-o","file-movie-o ","file-pdf-o","file-photo-o ","file-picture-o ","file-powerpoint-o","file-sound-o ","file-video-o","file-word-o","file-zip-o ","film","filter","fire","fire-extinguisher","flag","flag-checkered","flag-o","flash ","flask","folder","folder-o","folder-open","folder-open-o","frown-o","futbol-o","gamepad","gavel","gear ","gears ","gift","glass","globe","graduation-cap","group ","hand-grab-o ","hand-lizard-o","hand-paper-o","hand-peace-o","hand-pointer-o","hand-rock-o","hand-scissors-o","hand-spock-o","hand-stop-o ","handshake-o","hard-of-hearing ","hashtag","hdd-o","headphones","heart","heart-o","heartbeat","history","home","hotel ","hourglass","hourglass-1 ","hourglass-2 ","hourglass-3 ","hourglass-end","hourglass-half","hourglass-o","hourglass-start","i-cursor","id-badge","id-card","id-card-o","image ","inbox","industry","info","info-circle","institution ","key","keyboard-o","language","laptop","leaf","legal ","lemon-o","level-down","level-up","life-bouy ","life-buoy ","life-ring","life-saver ","lightbulb-o","line-chart","location-arrow","lock","low-vision","magic","magnet","mail-forward ","mail-reply ","mail-reply-all ","male","map","map-marker","map-o","map-pin","map-signs","meh-o","microchip","microphone","microphone-slash","minus","minus-circle","minus-square","minus-square-o","mobile","mobile-phone ","money","moon-o","mortar-board ","motorcycle","mouse-pointer","music","navicon ","newspaper-o","object-group","object-ungroup","paint-brush","paper-plane","paper-plane-o","paw","pencil","pencil-square","pencil-square-o","percent","phone","phone-square","photo ","picture-o","pie-chart","plane","plug","plus","plus-circle","plus-square","plus-square-o","podcast","power-off","print","puzzle-piece","qrcode","question","question-circle","question-circle-o","quote-left","quote-right","random","recycle","refresh","registered","remove ","reorder ","reply","reply-all","retweet","road","rocket","rss","rss-square","s15 ","search","search-minus","search-plus","send ","send-o ","server","share","share-alt","share-alt-square","share-square","share-square-o","shield","ship","shopping-bag","shopping-basket","shopping-cart","shower","sign-in","sign-language","sign-out","signal","signing ","sitemap","sliders","smile-o","snowflake-o","soccer-ball-o ","sort","sort-alpha-asc","sort-alpha-desc","sort-amount-asc","sort-amount-desc","sort-asc","sort-desc","sort-down ","sort-numeric-asc","sort-numeric-desc","sort-up ","space-shuttle","spinner","spoon","square","square-o","star","star-half","star-half-empty ","star-half-full ","star-half-o","star-o","sticky-note","sticky-note-o","street-view","suitcase","sun-o","support ","tablet","tachometer","tag","tags","tasks","taxi","television","terminal","thermometer ","thermometer-0 ","thermometer-1 ","thermometer-2 ","thermometer-3 ","thermometer-4 ","thermometer-empty","thermometer-full","thermometer-half","thermometer-quarter","thermometer-three-quarters","thumb-tack","thumbs-down","thumbs-o-down","thumbs-o-up","thumbs-up","ticket","times","times-circle","times-circle-o","times-rectangle ","times-rectangle-o ","tint","toggle-down ","toggle-left ","toggle-off","toggle-on","toggle-right ","toggle-up ","trademark","trash","trash-o","tree","trophy","truck","tty","tv ","umbrella","universal-access","university","unlock","unlock-alt","unsorted ","upload","user","user-circle","user-circle-o","user-o","user-plus","user-secret","user-times","users","vcard ","vcard-o ","video-camera","volume-control-phone","volume-down","volume-off","volume-up","warning ","wheelchair","wheelchair-alt","wifi","window-close","window-close-o","window-maximize","window-minimize","window-restore","wrench"]},{title:"Accessibility Icons",list:["american-sign-language-interpreting","asl-interpreting ","assistive-listening-systems","audio-description","blind","braille","cc","deaf","deafness ","hard-of-hearing ","low-vision","question-circle-o","sign-language","signing ","tty","universal-access","volume-control-phone","wheelchair","wheelchair-alt"]},{title:"Hand Icons",list:["hand-grab-o ","hand-lizard-o","hand-o-down","hand-o-left","hand-o-right","hand-o-up","hand-paper-o","hand-peace-o","hand-pointer-o","hand-rock-o","hand-scissors-o","hand-spock-o","hand-stop-o ","thumbs-down","thumbs-o-down","thumbs-o-up","thumbs-up"]},{title:"Transportation Icons",list:["ambulance","automobile ","bicycle","bus","cab ","car","fighter-jet","motorcycle","plane","rocket","ship","space-shuttle","subway","taxi","train","truck","wheelchair","wheelchair-alt"]},{title:"Gender Icons",list:["genderless","intersex ","mars","mars-double","mars-stroke","mars-stroke-h","mars-stroke-v","mercury","neuter","transgender","transgender-alt","venus","venus-double","venus-mars"]},{title:"Form Control Icons",list:["check-square","check-square-o","circle","circle-o","dot-circle-o","minus-square","minus-square-o","plus-square","plus-square-o","square","square-o"]},{title:"Payment Icons",list:["cc-amex","cc-diners-club","cc-discover","cc-jcb","cc-mastercard","cc-paypal","cc-stripe","cc-visa","credit-card","credit-card-alt","google-wallet","paypal"]},{title:"Chart Icons",list:["area-chart","bar-chart","bar-chart-o ","line-chart","pie-chart"]},{title:"Currency Icons",list:["bitcoin ","btc","cny ","dollar ","eur","euro ","gbp","gg","gg-circle","ils","inr","jpy","krw","money","rmb ","rouble ","rub","ruble ","rupee ","shekel ","sheqel ","try","turkish-lira ","usd","viacoin","won ","yen"]},{title:"Text Editor Icons",list:["align-center","align-justify","align-left","align-right","bold","chain ","chain-broken","clipboard","columns","copy ","cut ","dedent ","eraser","file","file-o","file-text","file-text-o","files-o","floppy-o","font","header","indent","italic","link","list","list-alt","list-ol","list-ul","outdent","paperclip","paragraph","paste ","repeat","rotate-left ","rotate-right ","save ","scissors","strikethrough","subscript","superscript","table","text-height","text-width","th","th-large","th-list","underline","undo","unlink"]},{title:"Brand Icons",list:["500px","adn","amazon","android","angellist","apple","bandcamp","behance","behance-square","bitbucket","bitbucket-square","bitcoin ","black-tie","bluetooth","bluetooth-b","btc","buysellads","cc-amex","cc-diners-club","cc-discover","cc-jcb","cc-mastercard","cc-paypal","cc-stripe","cc-visa","chrome","codepen","codiepie","connectdevelop","contao","css3","dashcube","delicious","deviantart","digg","dribbble","dropbox","drupal","edge","eercast","empire","envira","etsy","expeditedssl","fa ","facebook","facebook-f ","facebook-official","facebook-square","firefox","first-order","flickr","font-awesome","fonticons","fort-awesome","forumbee","foursquare","free-code-camp","ge ","get-pocket","gg","gg-circle","git","git-square","github","github-alt","github-square","gitlab","gittip ","glide","glide-g","google","google-plus","google-plus-circle ","google-plus-official","google-plus-square","google-wallet","gratipay","grav","hacker-news","houzz","html5","imdb","instagram","internet-explorer","ioxhost","joomla","jsfiddle","lastfm","lastfm-square","leanpub","linkedin","linkedin-square","linode","linux","maxcdn","meanpath","medium","meetup","mixcloud","modx","odnoklassniki","odnoklassniki-square","opencart","openid","opera","optin-monster","pagelines","paypal","pied-piper","pied-piper-alt","pied-piper-pp","pinterest","pinterest-p","pinterest-square","product-hunt","qq","quora","ra ","ravelry","rebel","reddit","reddit-alien","reddit-square","renren","resistance ","safari","scribd","sellsy","share-alt","share-alt-square","shirtsinbulk","simplybuilt","skyatlas","skype","slack","slideshare","snapchat","snapchat-ghost","snapchat-square","soundcloud","spotify","stack-exchange","stack-overflow","steam","steam-square","stumbleupon","stumbleupon-circle","superpowers","telegram","tencent-weibo","themeisle","trello","tripadvisor","tumblr","tumblr-square","twitch","twitter","twitter-square","usb","viacoin","viadeo","viadeo-square","vimeo","vimeo-square","vine","vk","wechat ","weibo","weixin","whatsapp","wikipedia-w","windows","wordpress","wpbeginner","wpexplorer","wpforms","xing","xing-square","y-combinator","y-combinator-square ","yahoo","yc ","yc-square ","yelp","yoast","youtube","youtube-play","youtube-square"]}]}),u.FE.PLUGINS.fontAwesome=function(n){var i,l,t="font_awesome";function c(e,o){n.events.disableBlur(),e.focus(),o.preventDefault(),o.stopPropagation()}return{_init:function(){},show:function(){if(!i){var e="<h4>"+n.language.translate("Font Awesome")+"</h4>",o=function(){for(var e='<div class="fr-font-awesome-modal">',o=0;o<n.opts.fontAwesomeSets.length;o++){for(var a=n.opts.fontAwesomeSets[o],t=a.list,r='<div class="fr-font-awesome-list"><p class="fr-font-awesome-title">'+n.language.translate(a.title)+"</p>",s=0;s<t.length;s++){var i=t[s];r+='<span class="fr-command fr-font-awesome" tabIndex="-1" role="button" value="'+i+'">'+n.opts.fontAwesomeTemplate.replace(/\[NAME\]/g,i)+'<span class="fr-sr-only">'+n.language.translate("Example of")+i+"&nbsp;&nbsp;&nbsp;</span></span>"}e+=r+"</div>"}return e+="</div>"}(),a=n.modals.create(t,e,o);i=a.$modal,a.$head,l=a.$body,n.events.$on(u(n.o_win),"resize",function(){(i.data("instance")||n).modals.resize(t)}),n.events.bindClick(l,".fr-font-awesome",function(e){var o=i.data("instance")||n,a=u(e.currentTarget);o.fontAwesome.insert(a)}),n.events.$on(l,"keydown",function(e){var o=e.which,a=l.find("span.fr-font-awesome:focus:first");if(!(a.length||o!=u.FE.KEYCODE.F10||n.keys.ctrlKey(e)||e.shiftKey)&&e.altKey)return c(l.find("span.fr-font-awesome:first"),e),!1;if(o==u.FE.KEYCODE.TAB||o==u.FE.KEYCODE.ARROW_LEFT||o==u.FE.KEYCODE.ARROW_RIGHT){var t=null,r=null,s=!1;return o==u.FE.KEYCODE.ARROW_LEFT||o==u.FE.KEYCODE.ARROW_RIGHT?(r=o==u.FE.KEYCODE.ARROW_RIGHT,s=!0):r=!e.shiftKey,a.length?(s&&(t=r?a.nextAll("span.fr-font-awesome:first"):a.prevAll("span.fr-font-awesome:first")),t&&t.length||(t=r?a.parent().next().find("span.fr-font-awesome:first"):a.parent().prev().find("span.fr-font-awesome:"+(s?"last":"first"))).length||(t=l.find("span.fr-font-awesome:"+(r?"first":"last")))):t=l.find("span.fr-font-awesome:"+(r?"first":"last")),c(t,e),!1}if(o!=u.FE.KEYCODE.ENTER||!a.length)return!0;(i.data("instance")||n).fontAwesome.insert(a)},!0)}n.modals.show(t),n.modals.resize(t)},hide:function(){n.modals.hide(t)},insert:function(e){n.fontAwesome.hide(),n.undo.saveStep(),n.html.insert(n.opts.fontAwesomeTemplate.replace(/\[NAME\]/g,e.attr("value")),!0),n.undo.saveStep()}}},u.FroalaEditor.DefineIcon("fontAwesome",{NAME:"font-awesome",FA5NAME:"font-awesome-flag",template:function(){return"font_awesome_5"==this.opts.iconsTemplate?"font_awesome_5b":u.FE.ICON_DEFAULT_TEMPLATE||this.opts.iconsTemplate}}),u.FE.RegisterCommand("fontAwesome",{title:"Font Awesome",icon:"fontAwesome",undo:!1,focus:!1,modal:!0,callback:function(){this.fontAwesome.show()},plugin:"fontAwesome",showOnMobile:!0})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/third_party/font_awesome.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/third_party/spell_checker.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/third_party/spell_checker.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/third_party/spell_checker.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(s){"function"==typeof define&&define.amd?define(["jquery"],s):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),s(t)}:s(window.jQuery)}(function(a){a.FE.DEFAULT_SCAYT_OPTIONS={enableOnTouchDevices:!1,disableOptionsStorage:["all"],localization:"en",extraModules:"ui",DefaultSelection:"American English",spellcheckLang:"en_US",contextMenuSections:"suggest|moresuggest",serviceProtocol:"https",servicePort:"80",serviceHost:"svc.webspellchecker.net",servicePath:"spellcheck/script/ssrv.cgi",contextMenuForMisspelledOnly:!0,scriptPath:"https://svc.webspellchecker.net/spellcheck31/wscbundle/wscbundle.js"},a.extend(a.FE.DEFAULTS,{scaytAutoload:!1,scaytCustomerId:"1:tLBmI3-7rr3J1-GMEFA1-mIewo-hynTZ1-PV38I1-uEXCy2-Rn81L-gXuG4-NUNri4-5q9Q34-Jd",scaytOptions:{}}),a.FE.PLUGINS.spellChecker=function(s){var l;function e(e){if(l&&l.isDisabled){var t=!l.isDisabled();e.toggleClass("fr-active",t).attr("aria-pressed",t),s.$el.attr("spellcheck",s.opts.spellcheck&&!t)}}function t(e){l&&l.isDisabled&&!l.isDisabled()&&0<=["bold","italic","underline","strikeThrough","subscript","superscript","fontFamily","fontSize","html"].indexOf(e)&&l.removeMarkupInSelectionNode({removeInside:!0})}function n(e){l&&l.isDisabled&&!l.isDisabled()&&0<=["bold","italic","underline","strikeThrough","subscript","superscript","fontFamily","fontSize","html"].indexOf(e)&&l.reloadMarkup()}function o(e){l&&l.isDisabled&&!l.isDisabled()&&(e.which==a.FE.KEYCODE.ENTER&&setTimeout(l.reloadMarkup,0))}function r(e){if(e&&e.getAttribute&&e.getAttribute("data-scayt-word"))e.outerHTML=e.innerHTML;else if(e&&e.nodeType==Node.ELEMENT_NODE)for(var t=e.querySelectorAll("[data-scayt-word], [data-spelling-word]"),s=0;s<t.length;s++)t[s].outerHTML=t[s].innerHTML}function i(){s.events.on("commands.before",t),s.events.on("commands.after",n),s.events.on("keydown",o,!0),s.events.on("html.processGet",r),e(s.$tb.find('[data-cmd="spellChecker"]'))}function c(){var e=s.opts.scaytOptions;e.customerId=s.opts.scaytCustomerId,e.container=s.$iframe?s.$iframe.get(0):s.$el.get(0),e.autoStartup=s.opts.scaytAutoload,e.onLoad=i,null!==s.opts.language&&(s.opts.spellCheckerLanguage=s.opts.language),!0===s.opts.scaytAutoload&&(s.opts.spellcheck=!1),l=new SCAYT.CUSTOMSCAYT(e)}return{_init:function(){if(!s.$wp)return!1;if(s.opts.scaytOptions=a.extend({},a.FE.DEFAULT_SCAYT_OPTIONS,s.opts.scaytOptions),"undefined"!=typeof SCAYT)c();else if(s.shared.spellCheckerLoaded||(s.shared.spellCheckerCallbacks=[]),s.shared.spellCheckerCallbacks.push(c),!s.shared.spellCheckerLoaded){s.shared.spellCheckerLoaded=!0;var e=document.createElement("script");e.type="text/javascript",e.src=s.opts.scaytOptions.scriptPath,e.innerText="",e.onload=function(){for(var e=0;e<s.shared.spellCheckerCallbacks.length;e++)s.shared.spellCheckerCallbacks[e]()},document.getElementsByTagName("head")[0].appendChild(e)}},refresh:e,toggle:function(){l&&l.isDisabled&&l.setDisabled(!l.isDisabled())}}},a.FE.DefineIcon("spellChecker",{NAME:"keyboard-o",FA5NAME:"keyboard"}),a.FE.RegisterCommand("spellChecker",{title:"Spell Checker",undo:!1,focus:!1,accessibilityFocus:!0,forcedRefresh:!0,toggle:!0,callback:function(){this.spellChecker.toggle()},refresh:function(e){this.spellChecker.refresh(e)},plugin:"spellChecker"})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/third_party/spell_checker.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/third_party/image_aviary.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/third_party/image_aviary.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/third_party/image_aviary.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(r){"function"==typeof define&&define.amd?define(["jquery"],r):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),r(t)}:r(window.jQuery)}(function(s){if(s.extend(s.FE.DEFAULTS,{aviaryKey:"542e1ff5d5144b9b81cef846574ba6cf",aviaryScriptURL:"https://dme0ih8comzn4.cloudfront.net/imaging/v3/editor.js",aviaryOptions:{displayImageSize:!0,theme:"minimum"}}),s.FE.PLUGINS.imageAviary=function(d){function i(){d.shared.feather_editor=new Aviary.Feather(s.extend({apiKey:d.opts.aviaryKey,onSave:function(e,t){var r=new Image;r.crossOrigin="Anonymous",r.onload=function(){var e=document.createElement("CANVAS"),t=e.getContext("2d");e.height=this.height,e.width=this.width,t.drawImage(this,0,0);for(var r=e.toDataURL("image/png"),i=atob(r.split(",")[1]),a=[],n=0;n<i.length;n++)a.push(i.charCodeAt(n));var o=new Blob([new Uint8Array(a)],{type:"image/png"});d.shared.feather_editor.instance.image.edit(s(d.shared.feather_editor.current_image)),d.shared.feather_editor.instance.image.upload([o]),d.shared.feather_editor.close()},r.src=t,d.shared.feather_editor.showWaitIndicator()},onError:function(e){throw new Error(e.message)},onClose:function(){d.shared.feather_editor.instance.image.get()||d.shared.feather_editor.instance.image.edit(s(d.shared.feather_editor.current_image))}},d.opts.aviaryOptions))}return{_init:function(){var e,t,r;d.shared.feather_editor||(d.shared.feather_editor=!0,"undefined"==typeof Aviary?(e=d.opts.aviaryScriptURL,t=i,(r=document.createElement("script")).type="text/javascript",r.defer="defer",r.src=e,r.innerText="",r.onload=t,document.getElementsByTagName("head")[0].appendChild(r)):i())},launch:function(e){"object"==typeof e.shared.feather_editor&&(e.shared.feather_editor.current_image=e.image.get()[0],(e.shared.feather_editor.instance=e).shared.feather_editor.launch({image:e.image.get()[0],url:e.image.get()[0].src}))}}},s.FE.DefineIcon("aviary",{NAME:"sliders",FA5NAME:"sliders-h"}),s.FE.RegisterCommand("aviary",{title:"Advanced Edit",undo:!1,focus:!1,callback:function(e,t){this.imageAviary.launch(this)},plugin:"imageAviary"}),!s.FE.PLUGINS.image)throw new Error("Image Aviary plugin requires image plugin.")}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/third_party/image_aviary.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/third_party/embedly.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/third_party/embedly.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/third_party/embedly.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t)}:n(window.jQuery)}(function(b){b.extend(b.FE.POPUP_TEMPLATES,{"embedly.insert":"[_BUTTONS_][_URL_LAYER_]","embedly.edit":"[_BUTTONS_]"}),b.extend(b.FE.DEFAULTS,{embedlyKey:null,embedlyInsertButtons:["embedlyBack","|"],embedlyEditButtons:["embedlyRemove"],embedlyScriptPath:"https://cdn.embedly.com/widgets/platform.js"}),b.FE.PLUGINS.embedly=function(r){function t(){r.events.on("html.processGet",i),r.events.$on(r.$el,"click touchend","div.fr-embedly",o),r.events.on("mousedown window.mousedown",u),r.events.on("window.touchmove",m),r.events.on("mouseup window.mouseup",f),r.events.on("commands.mousedown",function(e){0<e.parents(".fr-toolbar").length&&f()}),r.events.on("blur video.hideResizer commands.undo commands.redo element.dropped",function(){f(!0)}),r.events.on("element.beforeDrop",function(e){if(e.hasClass("fr-embedly"))return e.html(e.attr("data-original-embed")),e}),r.events.on("keydown",function(e){var t=e.which;return!s||t!=b.FE.KEYCODE.BACKSPACE&&t!=b.FE.KEYCODE.DELETE?s&&t==b.FE.KEYCODE.ESC?(f(!0),e.preventDefault(),!1):s&&t!=b.FE.KEYCODE.F10&&!r.keys.isBrowserAction(e)?(e.preventDefault(),!1):void 0:(e.preventDefault(),a(),!1)},!0),r.events.on("toolbar.esc",function(){if(s)return r.events.disableBlur(),r.events.focus(),!1},!0),r.events.on("toolbar.focusEditor",function(){if(s)return!1},!0),r.events.on("snapshot.after",function(e){var t=r.doc.createElement("div");t.innerHTML=e.html,i(t),e.html=t.innerHTML}),r.win.embedly&&r.win.embedly("on","card.resize",function(e){var t=b(e);t.parents(".fr-embedly").attr("contenteditable",!1).attr("draggable",!0).css("height",t.height()).addClass("fr-draggable"),r.opts.iframe&&r.size.syncIframe()}),d(!0)}var s,n;function o(e){s=b(this),function(){n||function(){r.shared.$embedly_resizer?(n=r.shared.$embedly_resizer,r.shared.$embedly_overlay,r.events.on("destroy",function(){n.appendTo(b("body:first"))},!0)):(r.shared.$embedly_resizer=b('<div class="fr-embedly-resizer"></div>'),n=r.shared.$embedly_resizer,r.events.$on(n,"mousedown",function(e){e.stopPropagation()},!0));r.events.on("shared.destroy",function(){n.html("").removeData().remove(),n=null},!0)}();(r.$wp||r.$sc).append(n),n.data("instance",r),n.css("top",(r.opts.iframe?s.offset().top-1+r.$iframe.position().top:s.offset().top-r.$wp.offset().top-1)+r.$wp.scrollTop()).css("left",(r.opts.iframe?s.offset().left-1:s.offset().left-r.$wp.offset().left-1)+r.$wp.scrollLeft()).css("width",s.outerWidth()).css("height",s.height()).addClass("fr-active")}(),function(){var e=r.popups.get("embedly.edit");e||(e=function(){var e="";if(0<r.opts.embedlyEditButtons.length){e+='<div class="fr-buttons">',e+=r.button.buildList(r.opts.embedlyEditButtons);var t={buttons:e+="</div>"},n=r.popups.create("embedly.edit",t);return r.events.$on(r.$wp,"scroll.emebdly-edit",function(){s&&r.popups.isVisible("embedly.edit")&&(r.events.disableBlur(),o.call(s.get(0)))}),n}return!1}());if(e){r.popups.setContainer("embedly.edit",r.$sc),r.popups.refresh("embedly.edit");var t=s.offset().left+s.outerWidth()/2,n=s.offset().top+s.outerHeight();r.popups.show("embedly.edit",t,n,s.outerHeight())}}()}function i(e){if(e&&r.node.hasClass(e,"fr-embedly"))e.innerHTML=e.getAttribute("data-original-embed"),e.removeAttribute("draggable"),e.removeAttribute("contenteditable"),e.setAttribute("class",(e.getAttribute("class")||"").replace("fr-draggable",""));else if(e&&e.nodeType==Node.ELEMENT_NODE)for(var t=e.querySelectorAll(".fr-embedly"),n=0;n<t.length;n++)i(t[n])}function d(e){if(e)return r.popups.onRefresh("embedly.insert",l),!0;var t="";0<r.opts.embedlyInsertButtons.length&&(t+='<div class="fr-buttons">',t+=r.button.buildList(r.opts.embedlyInsertButtons),t+="</div>");var n={buttons:t,url_layer:'<div class="fr-embedly-layer fr-active fr-layer" id="fr-embedly-layer-'+r.id+'"><div class="fr-input-line"><input id="fr-embedly-layer-text-'+r.id+'" type="text" placeholder="'+r.language.translate("Paste in a URL to embed")+'" tabIndex="1" aria-required="true"></div><div class="fr-action-buttons"><button type="button" class="fr-command fr-submit" data-cmd="embedlyInsert" tabIndex="2" role="button">'+r.language.translate("Insert")+"</button></div></div>"};return r.popups.create("embedly.insert",n)}function l(){r.popups.get("embedly.insert").find(".fr-embedly-layer input").val("").trigger("change")}function e(e){if(e.length){var t="<a href='"+e+"' data-card-branding='0' class='embedly-card'"+(r.opts.embedlyKey?" data-card-key='"+r.opts.embedlyKey+"'":"")+"></a>";r.html.insert('<div class="fr-embedly fr-draggable" draggable="true" contenteditable="false" data-original-embed="'+t+'">'+t+"</div>"),r.popups.hideAll()}}function a(){if(s&&!1!==r.events.trigger("embedly.beforeRemove",[s])){var e=s;r.popups.hideAll(),f(!0),r.selection.setBefore(e.get(0))||r.selection.setAfter(e.get(0)),e.remove(),r.selection.restore(),r.html.fillEmptyBlocks(),r.undo.saveStep(),r.events.trigger("video.removed",[e])}}function f(e){s&&(r.shared.embedly_exit_flag||!0===e)&&(n.removeClass("fr-active"),r.toolbar.enable(),s.removeClass("fr-active"),s=null,m())}function u(){r.shared.embedly_exit_flag=!0}function m(){r.shared.embedly_exit_flag=!1}return r.shared.embedly_exit_flag=!1,{_init:function(){if(!r.$wp)return!1;if("undefined"!=typeof embedly)t();else if(r.shared.embedlyLoaded)r.shared.embedlyCallbacks.push(t);else{r.shared.embedlyLoaded=!0,r.shared.embedlyCallbacks=[],r.shared.embedlyCallbacks.push(t);var e=r.doc.createElement("script");e.type="text/javascript",e.src=r.opts.embedlyScriptPath,e.innerText="",e.onload=function(){if(r.shared.embedlyCallbacks)for(var e=0;e<r.shared.embedlyCallbacks.length;e++)r.shared.embedlyCallbacks[e]()},r.doc.getElementsByTagName("head")[0].appendChild(e)}},showInsertPopup:function(){var e=r.$tb.find('.fr-command[data-cmd="embedly"]'),t=r.popups.get("embedly.insert");if(t||(t=d()),!t.hasClass("fr-active"))if(r.popups.refresh("embedly.insert"),r.popups.setContainer("embedly.insert",r.$tb),e.is(":visible")){var n=e.offset().left+e.outerWidth()/2,s=e.offset().top+(r.opts.toolbarBottom?10:e.outerHeight()-10);r.popups.show("embedly.insert",n,s,e.outerHeight())}else r.position.forSelection(t),r.popups.show("embedly.insert")},insert:function(){e(r.popups.get("embedly.insert").find(".fr-embedly-layer input").val())},remove:a,get:function(){return s},add:e,back:function(){s?(r.events.disableBlur(),s.trigger("click")):(r.events.disableBlur(),r.selection.restore(),r.events.enableBlur(),r.popups.hide("embedly.insert"),r.toolbar.showInline())}}},b.FE.DefineIcon("embedly",{NAME:"share-alt"}),b.FE.RegisterCommand("embedly",{undo:!0,focus:!0,title:"Embed URL",popup:!0,callback:function(){this.popups.isVisible("embedly.insert")?(this.$el.find(".fr-marker").length&&(this.events.disableBlur(),this.selection.restore()),this.popups.hide("embedly.insert")):this.embedly.showInsertPopup()},plugin:"embedly"}),b.FE.RegisterCommand("embedlyInsert",{undo:!0,focus:!0,callback:function(){this.embedly.insert()}}),b.FE.DefineIcon("embedlyRemove",{NAME:"trash"}),b.FE.RegisterCommand("embedlyRemove",{title:"Remove",undo:!1,callback:function(){this.embedly.remove()}}),b.FE.DefineIcon("embedlyBack",{NAME:"arrow-left"}),b.FE.RegisterCommand("embedlyBack",{title:"Back",undo:!1,focus:!1,back:!0,callback:function(){this.embedly.back()},refresh:function(e){this.embedly.get()||this.opts.toolbarInline?(e.removeClass("fr-hidden"),e.next(".fr-separator").removeClass("fr-hidden")):(e.addClass("fr-hidden"),e.next(".fr-separator").addClass("fr-hidden"))}})}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/third_party/embedly.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/js/third_party/image_tui.min.js =================================================================== --- base3.10/src/main/webapp/resource/editor/js/third_party/image_tui.min.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/js/third_party/image_tui.min.js (revision 7) @@ -0,0 +1,7 @@ +/*! + * froala_editor v2.9.1 (https://www.froala.com/wysiwyg-editor) + * License https://froala.com/wysiwyg-editor/terms/ + * Copyright 2014-2018 Froala Labs + */ + +!function(i){"function"==typeof define&&define.amd?define(["jquery"],i):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),i(t)}:i(window.jQuery)}(function(s){if(s.extend(s.FE.DEFAULTS,{imageTUIOptions:{includeUI:{theme:{"menu.normalIcon.path":"https://cdn.jsdelivr.net/npm/tui-image-editor@3.2.2/dist/svg/icon-d.svg","menu.activeIcon.path":"https://cdn.jsdelivr.net/npm/tui-image-editor@3.2.2/dist/svg/icon-b.svg","menu.disabledIcon.path":"https://cdn.jsdelivr.net/npm/tui-image-editor@3.2.2/dist/svg/icon-a.svg","menu.hoverIcon.path":"https://cdn.jsdelivr.net/npm/tui-image-editor@3.2.2/dist/svg/icon-c.svg","submenu.normalIcon.path":"https://cdn.jsdelivr.net/npm/tui-image-editor@3.2.2/dist/svg/icon-d.svg","submenu.normalIcon.name":"icon-d","submenu.activeIcon.path":"https://cdn.jsdelivr.net/npm/tui-image-editor@3.2.2/dist/svg/icon-c.svg","submenu.activeIcon.name":"icon-c"},initMenu:"filter",menuBarPosition:"left"}},tui:window.tui}),s.FE.PLUGINS.imageTUI=function(u){function c(e){s("#tuieditor").remove(),e.style.display="none"}return{_init:function(){var e=u.o_doc.body,t=u.o_doc.createElement("div");t.setAttribute("id","tuiContainer"),t.style.cssText="position: fixed; top: 0;left: 0;margin: 0;padding: 0;width: 100%;height: 100%;background: rgba(0,0,0,.5);z-index: 9998;display:none",e.appendChild(t)},launch:function(t){if("object"==typeof u.opts.tui){u.o_doc.body;var e=u.o_doc.createElement("div");e.setAttribute("id","tuieditor");var i=u.o_doc.getElementById("tuiContainer");i.appendChild(e),i.style.display="block";var n=t.image.get(),o=u.opts.imageTUIOptions;o.includeUI.loadImage={path:n[0].src,name:" "};var d=new u.opts.tui.ImageEditor(u.o_doc.querySelector("#tuieditor"),o),a=u.o_doc.getElementById("tuieditor");a.style.minHeight="590px",a.style.width="94%",a.style.height="94%",a.style.margin="auto",s(".tui-image-editor-header-buttons").html('<button class="tui-editor-cancel-btn" data-cmd="cancel_tui_image">Cancel</button> <button class="tui-editor-save-btn">Save</button>'),s(".tui-editor-cancel-btn").click(function(e){c(i)}),s(".tui-editor-save-btn").click(function(e){!function(e,t,i){for(var n=e.toDataURL(),o=atob(n.split(",")[1]),d=[],a=0;a<o.length;a++)d.push(o.charCodeAt(a));var u=new Blob([new Uint8Array(d)],{type:"image/png"});t.image.edit(s(i)),t.image.upload([u])}(d,t,n),c(i)})}}}},s.FE.DefineIcon("imageTUI",{NAME:"sliders",FA5NAME:"sliders-h"}),s.FE.RegisterCommand("imageTUI",{title:"Advanced Edit",undo:!1,focus:!1,callback:function(e,t){this.imageTUI.launch(this)},plugin:"imageTUI"}),!s.FE.PLUGINS.image)throw new Error("TUI image editor plugin requires image plugin.");s.FE.DEFAULTS.imageEditButtons.push("imageTUI")}); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/js/third_party/image_tui.min.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/codemirror/lib/xml.js =================================================================== --- base3.10/src/main/webapp/resource/editor/codemirror/lib/xml.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/codemirror/lib/xml.js (revision 7) @@ -0,0 +1,401 @@ +// CodeMirror, copyright (c) by Marijn Haverbeke and others +// Distributed under an MIT license: http://codemirror.net/LICENSE + +(function(mod) { + if (typeof exports == "object" && typeof module == "object") // CommonJS + mod(require("../../lib/codemirror")); + else if (typeof define == "function" && define.amd) // AMD + define(["../../lib/codemirror"], mod); + else // Plain browser env + mod(CodeMirror); +})(function(CodeMirror) { +"use strict"; + +var htmlConfig = { + autoSelfClosers: {'area': true, 'base': true, 'br': true, 'col': true, 'command': true, + 'embed': true, 'frame': true, 'hr': true, 'img': true, 'input': true, + 'keygen': true, 'link': true, 'meta': true, 'param': true, 'source': true, + 'track': true, 'wbr': true, 'menuitem': true}, + implicitlyClosed: {'dd': true, 'li': true, 'optgroup': true, 'option': true, 'p': true, + 'rp': true, 'rt': true, 'tbody': true, 'td': true, 'tfoot': true, + 'th': true, 'tr': true}, + contextGrabbers: { + 'dd': {'dd': true, 'dt': true}, + 'dt': {'dd': true, 'dt': true}, + 'li': {'li': true}, + 'option': {'option': true, 'optgroup': true}, + 'optgroup': {'optgroup': true}, + 'p': {'address': true, 'article': true, 'aside': true, 'blockquote': true, 'dir': true, + 'div': true, 'dl': true, 'fieldset': true, 'footer': true, 'form': true, + 'h1': true, 'h2': true, 'h3': true, 'h4': true, 'h5': true, 'h6': true, + 'header': true, 'hgroup': true, 'hr': true, 'menu': true, 'nav': true, 'ol': true, + 'p': true, 'pre': true, 'section': true, 'table': true, 'ul': true}, + 'rp': {'rp': true, 'rt': true}, + 'rt': {'rp': true, 'rt': true}, + 'tbody': {'tbody': true, 'tfoot': true}, + 'td': {'td': true, 'th': true}, + 'tfoot': {'tbody': true}, + 'th': {'td': true, 'th': true}, + 'thead': {'tbody': true, 'tfoot': true}, + 'tr': {'tr': true} + }, + doNotIndent: {"pre": true}, + allowUnquoted: true, + allowMissing: true, + caseFold: true +} + +var xmlConfig = { + autoSelfClosers: {}, + implicitlyClosed: {}, + contextGrabbers: {}, + doNotIndent: {}, + allowUnquoted: false, + allowMissing: false, + allowMissingTagName: false, + caseFold: false +} + +CodeMirror.defineMode("xml", function(editorConf, config_) { + var indentUnit = editorConf.indentUnit + var config = {} + var defaults = config_.htmlMode ? htmlConfig : xmlConfig + for (var prop in defaults) config[prop] = defaults[prop] + for (var prop in config_) config[prop] = config_[prop] + + // Return variables for tokenizers + var type, setStyle; + + function inText(stream, state) { + function chain(parser) { + state.tokenize = parser; + return parser(stream, state); + } + + var ch = stream.next(); + if (ch == "<") { + if (stream.eat("!")) { + if (stream.eat("[")) { + if (stream.match("CDATA[")) return chain(inBlock("atom", "]]>")); + else return null; + } else if (stream.match("--")) { + return chain(inBlock("comment", "-->")); + } else if (stream.match("DOCTYPE", true, true)) { + stream.eatWhile(/[\w\._\-]/); + return chain(doctype(1)); + } else { + return null; + } + } else if (stream.eat("?")) { + stream.eatWhile(/[\w\._\-]/); + state.tokenize = inBlock("meta", "?>"); + return "meta"; + } else { + type = stream.eat("/") ? "closeTag" : "openTag"; + state.tokenize = inTag; + return "tag bracket"; + } + } else if (ch == "&") { + var ok; + if (stream.eat("#")) { + if (stream.eat("x")) { + ok = stream.eatWhile(/[a-fA-F\d]/) && stream.eat(";"); + } else { + ok = stream.eatWhile(/[\d]/) && stream.eat(";"); + } + } else { + ok = stream.eatWhile(/[\w\.\-:]/) && stream.eat(";"); + } + return ok ? "atom" : "error"; + } else { + stream.eatWhile(/[^&<]/); + return null; + } + } + inText.isInText = true; + + function inTag(stream, state) { + var ch = stream.next(); + if (ch == ">" || (ch == "/" && stream.eat(">"))) { + state.tokenize = inText; + type = ch == ">" ? "endTag" : "selfcloseTag"; + return "tag bracket"; + } else if (ch == "=") { + type = "equals"; + return null; + } else if (ch == "<") { + state.tokenize = inText; + state.state = baseState; + state.tagName = state.tagStart = null; + var next = state.tokenize(stream, state); + return next ? next + " tag error" : "tag error"; + } else if (/[\'\"]/.test(ch)) { + state.tokenize = inAttribute(ch); + state.stringStartCol = stream.column(); + return state.tokenize(stream, state); + } else { + stream.match(/^[^\s\u00a0=<>\"\']*[^\s\u00a0=<>\"\'\/]/); + return "word"; + } + } + + function inAttribute(quote) { + var closure = function(stream, state) { + while (!stream.eol()) { + if (stream.next() == quote) { + state.tokenize = inTag; + break; + } + } + return "string"; + }; + closure.isInAttribute = true; + return closure; + } + + function inBlock(style, terminator) { + return function(stream, state) { + while (!stream.eol()) { + if (stream.match(terminator)) { + state.tokenize = inText; + break; + } + stream.next(); + } + return style; + }; + } + function doctype(depth) { + return function(stream, state) { + var ch; + while ((ch = stream.next()) != null) { + if (ch == "<") { + state.tokenize = doctype(depth + 1); + return state.tokenize(stream, state); + } else if (ch == ">") { + if (depth == 1) { + state.tokenize = inText; + break; + } else { + state.tokenize = doctype(depth - 1); + return state.tokenize(stream, state); + } + } + } + return "meta"; + }; + } + + function Context(state, tagName, startOfLine) { + this.prev = state.context; + this.tagName = tagName; + this.indent = state.indented; + this.startOfLine = startOfLine; + if (config.doNotIndent.hasOwnProperty(tagName) || (state.context && state.context.noIndent)) + this.noIndent = true; + } + function popContext(state) { + if (state.context) state.context = state.context.prev; + } + function maybePopContext(state, nextTagName) { + var parentTagName; + while (true) { + if (!state.context) { + return; + } + parentTagName = state.context.tagName; + if (!config.contextGrabbers.hasOwnProperty(parentTagName) || + !config.contextGrabbers[parentTagName].hasOwnProperty(nextTagName)) { + return; + } + popContext(state); + } + } + + function baseState(type, stream, state) { + if (type == "openTag") { + state.tagStart = stream.column(); + return tagNameState; + } else if (type == "closeTag") { + return closeTagNameState; + } else { + return baseState; + } + } + function tagNameState(type, stream, state) { + if (type == "word") { + state.tagName = stream.current(); + setStyle = "tag"; + return attrState; + } else if (config.allowMissingTagName && type == "endTag") { + setStyle = "tag bracket"; + return attrState(type, stream, state); + } else { + setStyle = "error"; + return tagNameState; + } + } + function closeTagNameState(type, stream, state) { + if (type == "word") { + var tagName = stream.current(); + if (state.context && state.context.tagName != tagName && + config.implicitlyClosed.hasOwnProperty(state.context.tagName)) + popContext(state); + if ((state.context && state.context.tagName == tagName) || config.matchClosing === false) { + setStyle = "tag"; + return closeState; + } else { + setStyle = "tag error"; + return closeStateErr; + } + } else if (config.allowMissingTagName && type == "endTag") { + setStyle = "tag bracket"; + return closeState(type, stream, state); + } else { + setStyle = "error"; + return closeStateErr; + } + } + + function closeState(type, _stream, state) { + if (type != "endTag") { + setStyle = "error"; + return closeState; + } + popContext(state); + return baseState; + } + function closeStateErr(type, stream, state) { + setStyle = "error"; + return closeState(type, stream, state); + } + + function attrState(type, _stream, state) { + if (type == "word") { + setStyle = "attribute"; + return attrEqState; + } else if (type == "endTag" || type == "selfcloseTag") { + var tagName = state.tagName, tagStart = state.tagStart; + state.tagName = state.tagStart = null; + if (type == "selfcloseTag" || + config.autoSelfClosers.hasOwnProperty(tagName)) { + maybePopContext(state, tagName); + } else { + maybePopContext(state, tagName); + state.context = new Context(state, tagName, tagStart == state.indented); + } + return baseState; + } + setStyle = "error"; + return attrState; + } + function attrEqState(type, stream, state) { + if (type == "equals") return attrValueState; + if (!config.allowMissing) setStyle = "error"; + return attrState(type, stream, state); + } + function attrValueState(type, stream, state) { + if (type == "string") return attrContinuedState; + if (type == "word" && config.allowUnquoted) {setStyle = "string"; return attrState;} + setStyle = "error"; + return attrState(type, stream, state); + } + function attrContinuedState(type, stream, state) { + if (type == "string") return attrContinuedState; + return attrState(type, stream, state); + } + + return { + startState: function(baseIndent) { + var state = {tokenize: inText, + state: baseState, + indented: baseIndent || 0, + tagName: null, tagStart: null, + context: null} + if (baseIndent != null) state.baseIndent = baseIndent + return state + }, + + token: function(stream, state) { + if (!state.tagName && stream.sol()) + state.indented = stream.indentation(); + + if (stream.eatSpace()) return null; + type = null; + var style = state.tokenize(stream, state); + if ((style || type) && style != "comment") { + setStyle = null; + state.state = state.state(type || style, stream, state); + if (setStyle) + style = setStyle == "error" ? style + " error" : setStyle; + } + return style; + }, + + indent: function(state, textAfter, fullLine) { + var context = state.context; + // Indent multi-line strings (e.g. css). + if (state.tokenize.isInAttribute) { + if (state.tagStart == state.indented) + return state.stringStartCol + 1; + else + return state.indented + indentUnit; + } + if (context && context.noIndent) return CodeMirror.Pass; + if (state.tokenize != inTag && state.tokenize != inText) + return fullLine ? fullLine.match(/^(\s*)/)[0].length : 0; + // Indent the starts of attribute names. + if (state.tagName) { + if (config.multilineTagIndentPastTag !== false) + return state.tagStart + state.tagName.length + 2; + else + return state.tagStart + indentUnit * (config.multilineTagIndentFactor || 1); + } + if (config.alignCDATA && /<!\[CDATA\[/.test(textAfter)) return 0; + var tagAfter = textAfter && /^<(\/)?([\w_:\.-]*)/.exec(textAfter); + if (tagAfter && tagAfter[1]) { // Closing tag spotted + while (context) { + if (context.tagName == tagAfter[2]) { + context = context.prev; + break; + } else if (config.implicitlyClosed.hasOwnProperty(context.tagName)) { + context = context.prev; + } else { + break; + } + } + } else if (tagAfter) { // Opening tag spotted + while (context) { + var grabbers = config.contextGrabbers[context.tagName]; + if (grabbers && grabbers.hasOwnProperty(tagAfter[2])) + context = context.prev; + else + break; + } + } + while (context && context.prev && !context.startOfLine) + context = context.prev; + if (context) return context.indent + indentUnit; + else return state.baseIndent || 0; + }, + + electricInput: /<\/[\s\w:]+>$/, + blockCommentStart: "<!--", + blockCommentEnd: "-->", + + configuration: config.htmlMode ? "html" : "xml", + helperType: config.htmlMode ? "html" : "xml", + + skipAttribute: function(state) { + if (state.state == attrValueState) + state.state = attrState + } + }; +}); + +CodeMirror.defineMIME("text/xml", "xml"); +CodeMirror.defineMIME("application/xml", "xml"); +if (!CodeMirror.mimeModes.hasOwnProperty("text/html")) + CodeMirror.defineMIME("text/html", {name: "xml", htmlMode: true}); + +}); Property changes on: base3.10/src/main/webapp/resource/editor/codemirror/lib/xml.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/codemirror/lib/codemirror.css =================================================================== --- base3.10/src/main/webapp/resource/editor/codemirror/lib/codemirror.css (nonexistent) +++ base3.10/src/main/webapp/resource/editor/codemirror/lib/codemirror.css (revision 7) @@ -0,0 +1,346 @@ +/* BASICS */ + +.CodeMirror { + /* Set height, width, borders, and global font properties here */ + font-family: monospace; + height: 300px; + color: black; + direction: ltr; +} + +/* PADDING */ + +.CodeMirror-lines { + padding: 4px 0; /* Vertical padding around content */ +} +.CodeMirror pre { + padding: 0 4px; /* Horizontal padding of content */ +} + +.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + background-color: white; /* The little square between H and V scrollbars */ +} + +/* GUTTER */ + +.CodeMirror-gutters { + border-right: 1px solid #ddd; + background-color: #f7f7f7; + white-space: nowrap; +} +.CodeMirror-linenumbers {} +.CodeMirror-linenumber { + padding: 0 3px 0 5px; + min-width: 20px; + text-align: right; + color: #999; + white-space: nowrap; +} + +.CodeMirror-guttermarker { color: black; } +.CodeMirror-guttermarker-subtle { color: #999; } + +/* CURSOR */ + +.CodeMirror-cursor { + border-left: 1px solid black; + border-right: none; + width: 0; +} +/* Shown when moving in bi-directional text */ +.CodeMirror div.CodeMirror-secondarycursor { + border-left: 1px solid silver; +} +.cm-fat-cursor .CodeMirror-cursor { + width: auto; + border: 0 !important; + background: #7e7; +} +.cm-fat-cursor div.CodeMirror-cursors { + z-index: 1; +} +.cm-fat-cursor-mark { + background-color: rgba(20, 255, 20, 0.5); + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; +} +.cm-animate-fat-cursor { + width: auto; + border: 0; + -webkit-animation: blink 1.06s steps(1) infinite; + -moz-animation: blink 1.06s steps(1) infinite; + animation: blink 1.06s steps(1) infinite; + background-color: #7e7; +} +@-moz-keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} +@-webkit-keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} +@keyframes blink { + 0% {} + 50% { background-color: transparent; } + 100% {} +} + +/* Can style cursor different in overwrite (non-insert) mode */ +.CodeMirror-overwrite .CodeMirror-cursor {} + +.cm-tab { display: inline-block; text-decoration: inherit; } + +.CodeMirror-rulers { + position: absolute; + left: 0; right: 0; top: -50px; bottom: -20px; + overflow: hidden; +} +.CodeMirror-ruler { + border-left: 1px solid #ccc; + top: 0; bottom: 0; + position: absolute; +} + +/* DEFAULT THEME */ + +.cm-s-default .cm-header {color: blue;} +.cm-s-default .cm-quote {color: #090;} +.cm-negative {color: #d44;} +.cm-positive {color: #292;} +.cm-header, .cm-strong {font-weight: bold;} +.cm-em {font-style: italic;} +.cm-link {text-decoration: underline;} +.cm-strikethrough {text-decoration: line-through;} + +.cm-s-default .cm-keyword {color: #708;} +.cm-s-default .cm-atom {color: #219;} +.cm-s-default .cm-number {color: #164;} +.cm-s-default .cm-def {color: #00f;} +.cm-s-default .cm-variable, +.cm-s-default .cm-punctuation, +.cm-s-default .cm-property, +.cm-s-default .cm-operator {} +.cm-s-default .cm-variable-2 {color: #05a;} +.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;} +.cm-s-default .cm-comment {color: #a50;} +.cm-s-default .cm-string {color: #a11;} +.cm-s-default .cm-string-2 {color: #f50;} +.cm-s-default .cm-meta {color: #555;} +.cm-s-default .cm-qualifier {color: #555;} +.cm-s-default .cm-builtin {color: #30a;} +.cm-s-default .cm-bracket {color: #997;} +.cm-s-default .cm-tag {color: #170;} +.cm-s-default .cm-attribute {color: #00c;} +.cm-s-default .cm-hr {color: #999;} +.cm-s-default .cm-link {color: #00c;} + +.cm-s-default .cm-error {color: #f00;} +.cm-invalidchar {color: #f00;} + +.CodeMirror-composing { border-bottom: 2px solid; } + +/* Default styles for common addons */ + +div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;} +div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;} +.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); } +.CodeMirror-activeline-background {background: #e8f2ff;} + +/* STOP */ + +/* The rest of this file contains styles related to the mechanics of + the editor. You probably shouldn't touch them. */ + +.CodeMirror { + position: relative; + overflow: hidden; + background: white; +} + +.CodeMirror-scroll { + overflow: scroll !important; /* Things will break if this is overridden */ + /* 30px is the magic margin used to hide the element's real scrollbars */ + /* See overflow: hidden in .CodeMirror */ + margin-bottom: -30px; margin-right: -30px; + padding-bottom: 30px; + height: 100%; + outline: none; /* Prevent dragging from highlighting the element */ + position: relative; +} +.CodeMirror-sizer { + position: relative; + border-right: 30px solid transparent; +} + +/* The fake, visible scrollbars. Used to force redraw during scrolling + before actual scrolling happens, thus preventing shaking and + flickering artifacts. */ +.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { + position: absolute; + z-index: 6; + display: none; +} +.CodeMirror-vscrollbar { + right: 0; top: 0; + overflow-x: hidden; + overflow-y: scroll; +} +.CodeMirror-hscrollbar { + bottom: 0; left: 0; + overflow-y: hidden; + overflow-x: scroll; +} +.CodeMirror-scrollbar-filler { + right: 0; bottom: 0; +} +.CodeMirror-gutter-filler { + left: 0; bottom: 0; +} + +.CodeMirror-gutters { + position: absolute; left: 0; top: 0; + min-height: 100%; + z-index: 3; +} +.CodeMirror-gutter { + white-space: normal; + height: 100%; + display: inline-block; + vertical-align: top; + margin-bottom: -30px; +} +.CodeMirror-gutter-wrapper { + position: absolute; + z-index: 4; + background: none !important; + border: none !important; +} +.CodeMirror-gutter-background { + position: absolute; + top: 0; bottom: 0; + z-index: 4; +} +.CodeMirror-gutter-elt { + position: absolute; + cursor: default; + z-index: 4; +} +.CodeMirror-gutter-wrapper ::selection { background-color: transparent } +.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent } + +.CodeMirror-lines { + cursor: text; + min-height: 1px; /* prevents collapsing before first draw */ +} +.CodeMirror pre { + /* Reset some styles that the rest of the page might have set */ + -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0; + border-width: 0; + background: transparent; + font-family: inherit; + font-size: inherit; + margin: 0; + white-space: pre; + word-wrap: normal; + line-height: inherit; + color: inherit; + z-index: 2; + position: relative; + overflow: visible; + -webkit-tap-highlight-color: transparent; + -webkit-font-variant-ligatures: contextual; + font-variant-ligatures: contextual; +} +.CodeMirror-wrap pre { + word-wrap: break-word; + white-space: pre-wrap; + word-break: normal; +} + +.CodeMirror-linebackground { + position: absolute; + left: 0; right: 0; top: 0; bottom: 0; + z-index: 0; +} + +.CodeMirror-linewidget { + position: relative; + z-index: 2; + padding: 0.1px; /* Force widget margins to stay inside of the container */ +} + +.CodeMirror-widget {} + +.CodeMirror-rtl pre { direction: rtl; } + +.CodeMirror-code { + outline: none; +} + +/* Force content-box sizing for the elements where we expect it */ +.CodeMirror-scroll, +.CodeMirror-sizer, +.CodeMirror-gutter, +.CodeMirror-gutters, +.CodeMirror-linenumber { + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +.CodeMirror-measure { + position: absolute; + width: 100%; + height: 0; + overflow: hidden; + visibility: hidden; +} + +.CodeMirror-cursor { + position: absolute; + pointer-events: none; +} +.CodeMirror-measure pre { position: static; } + +div.CodeMirror-cursors { + visibility: hidden; + position: relative; + z-index: 3; +} +div.CodeMirror-dragcursors { + visibility: visible; +} + +.CodeMirror-focused div.CodeMirror-cursors { + visibility: visible; +} + +.CodeMirror-selected { background: #d9d9d9; } +.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; } +.CodeMirror-crosshair { cursor: crosshair; } +.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; } +.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; } + +.cm-searching { + background-color: #ffa; + background-color: rgba(255, 255, 0, .4); +} + +/* Used to force a border model for a node */ +.cm-force-border { padding-right: .1px; } + +@media print { + /* Hide the cursor when printing */ + .CodeMirror div.CodeMirror-cursors { + visibility: hidden; + } +} + +/* See issue #2901 */ +.cm-tab-wrap-hack:after { content: ''; } + +/* Help users use markselection to safely style text background */ +span.CodeMirror-selectedtext { background: none; } Property changes on: base3.10/src/main/webapp/resource/editor/codemirror/lib/codemirror.css ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/src/main/webapp/resource/editor/codemirror/lib/codemirror.js =================================================================== --- base3.10/src/main/webapp/resource/editor/codemirror/lib/codemirror.js (nonexistent) +++ base3.10/src/main/webapp/resource/editor/codemirror/lib/codemirror.js (revision 7) @@ -0,0 +1,9654 @@ +// CodeMirror, copyright (c) by Marijn Haverbeke and others +// Distributed under an MIT license: http://codemirror.net/LICENSE + +// This is CodeMirror (http://codemirror.net), a code editor +// implemented in JavaScript on top of the browser's DOM. +// +// You can find some technical background for some of the code below +// at http://marijnhaverbeke.nl/blog/#cm-internals . + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : + typeof define === 'function' && define.amd ? define(factory) : + (global.CodeMirror = factory()); +}(this, (function () { 'use strict'; + +// Kludges for bugs and behavior differences that can't be feature +// detected are enabled based on userAgent etc sniffing. +var userAgent = navigator.userAgent +var platform = navigator.platform + +var gecko = /gecko\/\d/i.test(userAgent) +var ie_upto10 = /MSIE \d/.test(userAgent) +var ie_11up = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(userAgent) +var edge = /Edge\/(\d+)/.exec(userAgent) +var ie = ie_upto10 || ie_11up || edge +var ie_version = ie && (ie_upto10 ? document.documentMode || 6 : +(edge || ie_11up)[1]) +var webkit = !edge && /WebKit\//.test(userAgent) +var qtwebkit = webkit && /Qt\/\d+\.\d+/.test(userAgent) +var chrome = !edge && /Chrome\//.test(userAgent) +var presto = /Opera\//.test(userAgent) +var safari = /Apple Computer/.test(navigator.vendor) +var mac_geMountainLion = /Mac OS X 1\d\D([8-9]|\d\d)\D/.test(userAgent) +var phantom = /PhantomJS/.test(userAgent) + +var ios = !edge && /AppleWebKit/.test(userAgent) && /Mobile\/\w+/.test(userAgent) +var android = /Android/.test(userAgent) +// This is woefully incomplete. Suggestions for alternative methods welcome. +var mobile = ios || android || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent) +var mac = ios || /Mac/.test(platform) +var chromeOS = /\bCrOS\b/.test(userAgent) +var windows = /win/i.test(platform) + +var presto_version = presto && userAgent.match(/Version\/(\d*\.\d*)/) +if (presto_version) { presto_version = Number(presto_version[1]) } +if (presto_version && presto_version >= 15) { presto = false; webkit = true } +// Some browsers use the wrong event properties to signal cmd/ctrl on OS X +var flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11)) +var captureRightClick = gecko || (ie && ie_version >= 9) + +function classTest(cls) { return new RegExp("(^|\\s)" + cls + "(?:$|\\s)\\s*") } + +var rmClass = function(node, cls) { + var current = node.className + var match = classTest(cls).exec(current) + if (match) { + var after = current.slice(match.index + match[0].length) + node.className = current.slice(0, match.index) + (after ? match[1] + after : "") + } +} + +function removeChildren(e) { + for (var count = e.childNodes.length; count > 0; --count) + { e.removeChild(e.firstChild) } + return e +} + +function removeChildrenAndAdd(parent, e) { + return removeChildren(parent).appendChild(e) +} + +function elt(tag, content, className, style) { + var e = document.createElement(tag) + if (className) { e.className = className } + if (style) { e.style.cssText = style } + if (typeof content == "string") { e.appendChild(document.createTextNode(content)) } + else if (content) { for (var i = 0; i < content.length; ++i) { e.appendChild(content[i]) } } + return e +} +// wrapper for elt, which removes the elt from the accessibility tree +function eltP(tag, content, className, style) { + var e = elt(tag, content, className, style) + e.setAttribute("role", "presentation") + return e +} + +var range +if (document.createRange) { range = function(node, start, end, endNode) { + var r = document.createRange() + r.setEnd(endNode || node, end) + r.setStart(node, start) + return r +} } +else { range = function(node, start, end) { + var r = document.body.createTextRange() + try { r.moveToElementText(node.parentNode) } + catch(e) { return r } + r.collapse(true) + r.moveEnd("character", end) + r.moveStart("character", start) + return r +} } + +function contains(parent, child) { + if (child.nodeType == 3) // Android browser always returns false when child is a textnode + { child = child.parentNode } + if (parent.contains) + { return parent.contains(child) } + do { + if (child.nodeType == 11) { child = child.host } + if (child == parent) { return true } + } while (child = child.parentNode) +} + +function activeElt() { + // IE and Edge may throw an "Unspecified Error" when accessing document.activeElement. + // IE < 10 will throw when accessed while the page is loading or in an iframe. + // IE > 9 and Edge will throw when accessed in an iframe if document.body is unavailable. + var activeElement + try { + activeElement = document.activeElement + } catch(e) { + activeElement = document.body || null + } + while (activeElement && activeElement.shadowRoot && activeElement.shadowRoot.activeElement) + { activeElement = activeElement.shadowRoot.activeElement } + return activeElement +} + +function addClass(node, cls) { + var current = node.className + if (!classTest(cls).test(current)) { node.className += (current ? " " : "") + cls } +} +function joinClasses(a, b) { + var as = a.split(" ") + for (var i = 0; i < as.length; i++) + { if (as[i] && !classTest(as[i]).test(b)) { b += " " + as[i] } } + return b +} + +var selectInput = function(node) { node.select() } +if (ios) // Mobile Safari apparently has a bug where select() is broken. + { selectInput = function(node) { node.selectionStart = 0; node.selectionEnd = node.value.length } } +else if (ie) // Suppress mysterious IE10 errors + { selectInput = function(node) { try { node.select() } catch(_e) {} } } + +function bind(f) { + var args = Array.prototype.slice.call(arguments, 1) + return function(){return f.apply(null, args)} +} + +function copyObj(obj, target, overwrite) { + if (!target) { target = {} } + for (var prop in obj) + { if (obj.hasOwnProperty(prop) && (overwrite !== false || !target.hasOwnProperty(prop))) + { target[prop] = obj[prop] } } + return target +} + +// Counts the column offset in a string, taking tabs into account. +// Used mostly to find indentation. +function countColumn(string, end, tabSize, startIndex, startValue) { + if (end == null) { + end = string.search(/[^\s\u00a0]/) + if (end == -1) { end = string.length } + } + for (var i = startIndex || 0, n = startValue || 0;;) { + var nextTab = string.indexOf("\t", i) + if (nextTab < 0 || nextTab >= end) + { return n + (end - i) } + n += nextTab - i + n += tabSize - (n % tabSize) + i = nextTab + 1 + } +} + +var Delayed = function() {this.id = null}; +Delayed.prototype.set = function (ms, f) { + clearTimeout(this.id) + this.id = setTimeout(f, ms) +}; + +function indexOf(array, elt) { + for (var i = 0; i < array.length; ++i) + { if (array[i] == elt) { return i } } + return -1 +} + +// Number of pixels added to scroller and sizer to hide scrollbar +var scrollerGap = 30 + +// Returned or thrown by various protocols to signal 'I'm not +// handling this'. +var Pass = {toString: function(){return "CodeMirror.Pass"}} + +// Reused option objects for setSelection & friends +var sel_dontScroll = {scroll: false}; +var sel_mouse = {origin: "*mouse"}; +var sel_move = {origin: "+move"}; +// The inverse of countColumn -- find the offset that corresponds to +// a particular column. +function findColumn(string, goal, tabSize) { + for (var pos = 0, col = 0;;) { + var nextTab = string.indexOf("\t", pos) + if (nextTab == -1) { nextTab = string.length } + var skipped = nextTab - pos + if (nextTab == string.length || col + skipped >= goal) + { return pos + Math.min(skipped, goal - col) } + col += nextTab - pos + col += tabSize - (col % tabSize) + pos = nextTab + 1 + if (col >= goal) { return pos } + } +} + +var spaceStrs = [""] +function spaceStr(n) { + while (spaceStrs.length <= n) + { spaceStrs.push(lst(spaceStrs) + " ") } + return spaceStrs[n] +} + +function lst(arr) { return arr[arr.length-1] } + +function map(array, f) { + var out = [] + for (var i = 0; i < array.length; i++) { out[i] = f(array[i], i) } + return out +} + +function insertSorted(array, value, score) { + var pos = 0, priority = score(value) + while (pos < array.length && score(array[pos]) <= priority) { pos++ } + array.splice(pos, 0, value) +} + +function nothing() {} + +function createObj(base, props) { + var inst + if (Object.create) { + inst = Object.create(base) + } else { + nothing.prototype = base + inst = new nothing() + } + if (props) { copyObj(props, inst) } + return inst +} + +var nonASCIISingleCaseWordChar = /[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/ +function isWordCharBasic(ch) { + return /\w/.test(ch) || ch > "\x80" && + (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch)) +} +function isWordChar(ch, helper) { + if (!helper) { return isWordCharBasic(ch) } + if (helper.source.indexOf("\\w") > -1 && isWordCharBasic(ch)) { return true } + return helper.test(ch) +} + +function isEmpty(obj) { + for (var n in obj) { if (obj.hasOwnProperty(n) && obj[n]) { return false } } + return true +} + +// Extending unicode characters. A series of a non-extending char + +// any number of extending chars is treated as a single unit as far +// as editing and measuring is concerned. This is not fully correct, +// since some scripts/fonts/browsers also treat other configurations +// of code points as a group. +var extendingChars = /[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/ +function isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendingChars.test(ch) } + +// Returns a number from the range [`0`; `str.length`] unless `pos` is outside that range. +function skipExtendingChars(str, pos, dir) { + while ((dir < 0 ? pos > 0 : pos < str.length) && isExtendingChar(str.charAt(pos))) { pos += dir } + return pos +} + +// Returns the value from the range [`from`; `to`] that satisfies +// `pred` and is closest to `from`. Assumes that at least `to` +// satisfies `pred`. Supports `from` being greater than `to`. +function findFirst(pred, from, to) { + // At any point we are certain `to` satisfies `pred`, don't know + // whether `from` does. + var dir = from > to ? -1 : 1 + for (;;) { + if (from == to) { return from } + var midF = (from + to) / 2, mid = dir < 0 ? Math.ceil(midF) : Math.floor(midF) + if (mid == from) { return pred(mid) ? from : to } + if (pred(mid)) { to = mid } + else { from = mid + dir } + } +} + +// The display handles the DOM integration, both for input reading +// and content drawing. It holds references to DOM nodes and +// display-related state. + +function Display(place, doc, input) { + var d = this + this.input = input + + // Covers bottom-right square when both scrollbars are present. + d.scrollbarFiller = elt("div", null, "CodeMirror-scrollbar-filler") + d.scrollbarFiller.setAttribute("cm-not-content", "true") + // Covers bottom of gutter when coverGutterNextToScrollbar is on + // and h scrollbar is present. + d.gutterFiller = elt("div", null, "CodeMirror-gutter-filler") + d.gutterFiller.setAttribute("cm-not-content", "true") + // Will contain the actual code, positioned to cover the viewport. + d.lineDiv = eltP("div", null, "CodeMirror-code") + // Elements are added to these to represent selection and cursors. + d.selectionDiv = elt("div", null, null, "position: relative; z-index: 1") + d.cursorDiv = elt("div", null, "CodeMirror-cursors") + // A visibility: hidden element used to find the size of things. + d.measure = elt("div", null, "CodeMirror-measure") + // When lines outside of the viewport are measured, they are drawn in this. + d.lineMeasure = elt("div", null, "CodeMirror-measure") + // Wraps everything that needs to exist inside the vertically-padded coordinate system + d.lineSpace = eltP("div", [d.measure, d.lineMeasure, d.selectionDiv, d.cursorDiv, d.lineDiv], + null, "position: relative; outline: none") + var lines = eltP("div", [d.lineSpace], "CodeMirror-lines") + // Moved around its parent to cover visible view. + d.mover = elt("div", [lines], null, "position: relative") + // Set to the height of the document, allowing scrolling. + d.sizer = elt("div", [d.mover], "CodeMirror-sizer") + d.sizerWidth = null + // Behavior of elts with overflow: auto and padding is + // inconsistent across browsers. This is used to ensure the + // scrollable area is big enough. + d.heightForcer = elt("div", null, null, "position: absolute; height: " + scrollerGap + "px; width: 1px;") + // Will contain the gutters, if any. + d.gutters = elt("div", null, "CodeMirror-gutters") + d.lineGutter = null + // Actual scrollable element. + d.scroller = elt("div", [d.sizer, d.heightForcer, d.gutters], "CodeMirror-scroll") + d.scroller.setAttribute("tabIndex", "-1") + // The element in which the editor lives. + d.wrapper = elt("div", [d.scrollbarFiller, d.gutterFiller, d.scroller], "CodeMirror") + + // Work around IE7 z-index bug (not perfect, hence IE7 not really being supported) + if (ie && ie_version < 8) { d.gutters.style.zIndex = -1; d.scroller.style.paddingRight = 0 } + if (!webkit && !(gecko && mobile)) { d.scroller.draggable = true } + + if (place) { + if (place.appendChild) { place.appendChild(d.wrapper) } + else { place(d.wrapper) } + } + + // Current rendered range (may be bigger than the view window). + d.viewFrom = d.viewTo = doc.first + d.reportedViewFrom = d.reportedViewTo = doc.first + // Information about the rendered lines. + d.view = [] + d.renderedView = null + // Holds info about a single rendered line when it was rendered + // for measurement, while not in view. + d.externalMeasured = null + // Empty space (in pixels) above the view + d.viewOffset = 0 + d.lastWrapHeight = d.lastWrapWidth = 0 + d.updateLineNumbers = null + + d.nativeBarWidth = d.barHeight = d.barWidth = 0 + d.scrollbarsClipped = false + + // Used to only resize the line number gutter when necessary (when + // the amount of lines crosses a boundary that makes its width change) + d.lineNumWidth = d.lineNumInnerWidth = d.lineNumChars = null + // Set to true when a non-horizontal-scrolling line widget is + // added. As an optimization, line widget aligning is skipped when + // this is false. + d.alignWidgets = false + + d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null + + // Tracks the maximum line length so that the horizontal scrollbar + // can be kept static when scrolling. + d.maxLine = null + d.maxLineLength = 0 + d.maxLineChanged = false + + // Used for measuring wheel scrolling granularity + d.wheelDX = d.wheelDY = d.wheelStartX = d.wheelStartY = null + + // True when shift is held down. + d.shift = false + + // Used to track whether anything happened since the context menu + // was opened. + d.selForContextMenu = null + + d.activeTouch = null + + input.init(d) +} + +// Find the line object corresponding to the given line number. +function getLine(doc, n) { + n -= doc.first + if (n < 0 || n >= doc.size) { throw new Error("There is no line " + (n + doc.first) + " in the document.") } + var chunk = doc + while (!chunk.lines) { + for (var i = 0;; ++i) { + var child = chunk.children[i], sz = child.chunkSize() + if (n < sz) { chunk = child; break } + n -= sz + } + } + return chunk.lines[n] +} + +// Get the part of a document between two positions, as an array of +// strings. +function getBetween(doc, start, end) { + var out = [], n = start.line + doc.iter(start.line, end.line + 1, function (line) { + var text = line.text + if (n == end.line) { text = text.slice(0, end.ch) } + if (n == start.line) { text = text.slice(start.ch) } + out.push(text) + ++n + }) + return out +} +// Get the lines between from and to, as array of strings. +function getLines(doc, from, to) { + var out = [] + doc.iter(from, to, function (line) { out.push(line.text) }) // iter aborts when callback returns truthy value + return out +} + +// Update the height of a line, propagating the height change +// upwards to parent nodes. +function updateLineHeight(line, height) { + var diff = height - line.height + if (diff) { for (var n = line; n; n = n.parent) { n.height += diff } } +} + +// Given a line object, find its line number by walking up through +// its parent links. +function lineNo(line) { + if (line.parent == null) { return null } + var cur = line.parent, no = indexOf(cur.lines, line) + for (var chunk = cur.parent; chunk; cur = chunk, chunk = chunk.parent) { + for (var i = 0;; ++i) { + if (chunk.children[i] == cur) { break } + no += chunk.children[i].chunkSize() + } + } + return no + cur.first +} + +// Find the line at the given vertical position, using the height +// information in the document tree. +function lineAtHeight(chunk, h) { + var n = chunk.first + outer: do { + for (var i$1 = 0; i$1 < chunk.children.length; ++i$1) { + var child = chunk.children[i$1], ch = child.height + if (h < ch) { chunk = child; continue outer } + h -= ch + n += child.chunkSize() + } + return n + } while (!chunk.lines) + var i = 0 + for (; i < chunk.lines.length; ++i) { + var line = chunk.lines[i], lh = line.height + if (h < lh) { break } + h -= lh + } + return n + i +} + +function isLine(doc, l) {return l >= doc.first && l < doc.first + doc.size} + +function lineNumberFor(options, i) { + return String(options.lineNumberFormatter(i + options.firstLineNumber)) +} + +// A Pos instance represents a position within the text. +function Pos(line, ch, sticky) { + if ( sticky === void 0 ) sticky = null; + + if (!(this instanceof Pos)) { return new Pos(line, ch, sticky) } + this.line = line + this.ch = ch + this.sticky = sticky +} + +// Compare two positions, return 0 if they are the same, a negative +// number when a is less, and a positive number otherwise. +function cmp(a, b) { return a.line - b.line || a.ch - b.ch } + +function equalCursorPos(a, b) { return a.sticky == b.sticky && cmp(a, b) == 0 } + +function copyPos(x) {return Pos(x.line, x.ch)} +function maxPos(a, b) { return cmp(a, b) < 0 ? b : a } +function minPos(a, b) { return cmp(a, b) < 0 ? a : b } + +// Most of the external API clips given positions to make sure they +// actually exist within the document. +function clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.first + doc.size - 1))} +function clipPos(doc, pos) { + if (pos.line < doc.first) { return Pos(doc.first, 0) } + var last = doc.first + doc.size - 1 + if (pos.line > last) { return Pos(last, getLine(doc, last).text.length) } + return clipToLen(pos, getLine(doc, pos.line).text.length) +} +function clipToLen(pos, linelen) { + var ch = pos.ch + if (ch == null || ch > linelen) { return Pos(pos.line, linelen) } + else if (ch < 0) { return Pos(pos.line, 0) } + else { return pos } +} +function clipPosArray(doc, array) { + var out = [] + for (var i = 0; i < array.length; i++) { out[i] = clipPos(doc, array[i]) } + return out +} + +// Optimize some code when these features are not used. +var sawReadOnlySpans = false; +var sawCollapsedSpans = false; +function seeReadOnlySpans() { + sawReadOnlySpans = true +} + +function seeCollapsedSpans() { + sawCollapsedSpans = true +} + +// TEXTMARKER SPANS + +function MarkedSpan(marker, from, to) { + this.marker = marker + this.from = from; this.to = to +} + +// Search an array of spans for a span matching the given marker. +function getMarkedSpanFor(spans, marker) { + if (spans) { for (var i = 0; i < spans.length; ++i) { + var span = spans[i] + if (span.marker == marker) { return span } + } } +} +// Remove a span from an array, returning undefined if no spans are +// left (we don't store arrays for lines without spans). +function removeMarkedSpan(spans, span) { + var r + for (var i = 0; i < spans.length; ++i) + { if (spans[i] != span) { (r || (r = [])).push(spans[i]) } } + return r +} +// Add a span to a line. +function addMarkedSpan(line, span) { + line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span] + span.marker.attachLine(line) +} + +// Used for the algorithm that adjusts markers for a change in the +// document. These functions cut an array of spans at a given +// character position, returning an array of remaining chunks (or +// undefined if nothing remains). +function markedSpansBefore(old, startCh, isInsert) { + var nw + if (old) { for (var i = 0; i < old.length; ++i) { + var span = old[i], marker = span.marker + var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= startCh : span.from < startCh) + if (startsBefore || span.from == startCh && marker.type == "bookmark" && (!isInsert || !span.marker.insertLeft)) { + var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= startCh : span.to > startCh) + ;(nw || (nw = [])).push(new MarkedSpan(marker, span.from, endsAfter ? null : span.to)) + } + } } + return nw +} +function markedSpansAfter(old, endCh, isInsert) { + var nw + if (old) { for (var i = 0; i < old.length; ++i) { + var span = old[i], marker = span.marker + var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= endCh : span.to > endCh) + if (endsAfter || span.from == endCh && marker.type == "bookmark" && (!isInsert || span.marker.insertLeft)) { + var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= endCh : span.from < endCh) + ;(nw || (nw = [])).push(new MarkedSpan(marker, startsBefore ? null : span.from - endCh, + span.to == null ? null : span.to - endCh)) + } + } } + return nw +} + +// Given a change object, compute the new set of marker spans that +// cover the line in which the change took place. Removes spans +// entirely within the change, reconnects spans belonging to the +// same marker that appear on both sides of the change, and cuts off +// spans partially within the change. Returns an array of span +// arrays with one element for each line in (after) the change. +function stretchSpansOverChange(doc, change) { + if (change.full) { return null } + var oldFirst = isLine(doc, change.from.line) && getLine(doc, change.from.line).markedSpans + var oldLast = isLine(doc, change.to.line) && getLine(doc, change.to.line).markedSpans + if (!oldFirst && !oldLast) { return null } + + var startCh = change.from.ch, endCh = change.to.ch, isInsert = cmp(change.from, change.to) == 0 + // Get the spans that 'stick out' on both sides + var first = markedSpansBefore(oldFirst, startCh, isInsert) + var last = markedSpansAfter(oldLast, endCh, isInsert) + + // Next, merge those two ends + var sameLine = change.text.length == 1, offset = lst(change.text).length + (sameLine ? startCh : 0) + if (first) { + // Fix up .to properties of first + for (var i = 0; i < first.length; ++i) { + var span = first[i] + if (span.to == null) { + var found = getMarkedSpanFor(last, span.marker) + if (!found) { span.to = startCh } + else if (sameLine) { span.to = found.to == null ? null : found.to + offset } + } + } + } + if (last) { + // Fix up .from in last (or move them into first in case of sameLine) + for (var i$1 = 0; i$1 < last.length; ++i$1) { + var span$1 = last[i$1] + if (span$1.to != null) { span$1.to += offset } + if (span$1.from == null) { + var found$1 = getMarkedSpanFor(first, span$1.marker) + if (!found$1) { + span$1.from = offset + if (sameLine) { (first || (first = [])).push(span$1) } + } + } else { + span$1.from += offset + if (sameLine) { (first || (first = [])).push(span$1) } + } + } + } + // Make sure we didn't create any zero-length spans + if (first) { first = clearEmptySpans(first) } + if (last && last != first) { last = clearEmptySpans(last) } + + var newMarkers = [first] + if (!sameLine) { + // Fill gap with whole-line-spans + var gap = change.text.length - 2, gapMarkers + if (gap > 0 && first) + { for (var i$2 = 0; i$2 < first.length; ++i$2) + { if (first[i$2].to == null) + { (gapMarkers || (gapMarkers = [])).push(new MarkedSpan(first[i$2].marker, null, null)) } } } + for (var i$3 = 0; i$3 < gap; ++i$3) + { newMarkers.push(gapMarkers) } + newMarkers.push(last) + } + return newMarkers +} + +// Remove spans that are empty and don't have a clearWhenEmpty +// option of false. +function clearEmptySpans(spans) { + for (var i = 0; i < spans.length; ++i) { + var span = spans[i] + if (span.from != null && span.from == span.to && span.marker.clearWhenEmpty !== false) + { spans.splice(i--, 1) } + } + if (!spans.length) { return null } + return spans +} + +// Used to 'clip' out readOnly ranges when making a change. +function removeReadOnlyRanges(doc, from, to) { + var markers = null + doc.iter(from.line, to.line + 1, function (line) { + if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) { + var mark = line.markedSpans[i].marker + if (mark.readOnly && (!markers || indexOf(markers, mark) == -1)) + { (markers || (markers = [])).push(mark) } + } } + }) + if (!markers) { return null } + var parts = [{from: from, to: to}] + for (var i = 0; i < markers.length; ++i) { + var mk = markers[i], m = mk.find(0) + for (var j = 0; j < parts.length; ++j) { + var p = parts[j] + if (cmp(p.to, m.from) < 0 || cmp(p.from, m.to) > 0) { continue } + var newParts = [j, 1], dfrom = cmp(p.from, m.from), dto = cmp(p.to, m.to) + if (dfrom < 0 || !mk.inclusiveLeft && !dfrom) + { newParts.push({from: p.from, to: m.from}) } + if (dto > 0 || !mk.inclusiveRight && !dto) + { newParts.push({from: m.to, to: p.to}) } + parts.splice.apply(parts, newParts) + j += newParts.length - 3 + } + } + return parts +} + +// Connect or disconnect spans from a line. +function detachMarkedSpans(line) { + var spans = line.markedSpans + if (!spans) { return } + for (var i = 0; i < spans.length; ++i) + { spans[i].marker.detachLine(line) } + line.markedSpans = null +} +function attachMarkedSpans(line, spans) { + if (!spans) { return } + for (var i = 0; i < spans.length; ++i) + { spans[i].marker.attachLine(line) } + line.markedSpans = spans +} + +// Helpers used when computing which overlapping collapsed span +// counts as the larger one. +function extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0 } +function extraRight(marker) { return marker.inclusiveRight ? 1 : 0 } + +// Returns a number indicating which of two overlapping collapsed +// spans is larger (and thus includes the other). Falls back to +// comparing ids when the spans cover exactly the same range. +function compareCollapsedMarkers(a, b) { + var lenDiff = a.lines.length - b.lines.length + if (lenDiff != 0) { return lenDiff } + var aPos = a.find(), bPos = b.find() + var fromCmp = cmp(aPos.from, bPos.from) || extraLeft(a) - extraLeft(b) + if (fromCmp) { return -fromCmp } + var toCmp = cmp(aPos.to, bPos.to) || extraRight(a) - extraRight(b) + if (toCmp) { return toCmp } + return b.id - a.id +} + +// Find out whether a line ends or starts in a collapsed span. If +// so, return the marker for that span. +function collapsedSpanAtSide(line, start) { + var sps = sawCollapsedSpans && line.markedSpans, found + if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) { + sp = sps[i] + if (sp.marker.collapsed && (start ? sp.from : sp.to) == null && + (!found || compareCollapsedMarkers(found, sp.marker) < 0)) + { found = sp.marker } + } } + return found +} +function collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, true) } +function collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, false) } + +// Test whether there exists a collapsed span that partially +// overlaps (covers the start or end, but not both) of a new span. +// Such overlap is not allowed. +function conflictingCollapsedRange(doc, lineNo, from, to, marker) { + var line = getLine(doc, lineNo) + var sps = sawCollapsedSpans && line.markedSpans + if (sps) { for (var i = 0; i < sps.length; ++i) { + var sp = sps[i] + if (!sp.marker.collapsed) { continue } + var found = sp.marker.find(0) + var fromCmp = cmp(found.from, from) || extraLeft(sp.marker) - extraLeft(marker) + var toCmp = cmp(found.to, to) || extraRight(sp.marker) - extraRight(marker) + if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) { continue } + if (fromCmp <= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.to, from) >= 0 : cmp(found.to, from) > 0) || + fromCmp >= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.from, to) <= 0 : cmp(found.from, to) < 0)) + { return true } + } } +} + +// A visual line is a line as drawn on the screen. Folding, for +// example, can cause multiple logical lines to appear on the same +// visual line. This finds the start of the visual line that the +// given line is part of (usually that is the line itself). +function visualLine(line) { + var merged + while (merged = collapsedSpanAtStart(line)) + { line = merged.find(-1, true).line } + return line +} + +function visualLineEnd(line) { + var merged + while (merged = collapsedSpanAtEnd(line)) + { line = merged.find(1, true).line } + return line +} + +// Returns an array of logical lines that continue the visual line +// started by the argument, or undefined if there are no such lines. +function visualLineContinued(line) { + var merged, lines + while (merged = collapsedSpanAtEnd(line)) { + line = merged.find(1, true).line + ;(lines || (lines = [])).push(line) + } + return lines +} + +// Get the line number of the start of the visual line that the +// given line number is part of. +function visualLineNo(doc, lineN) { + var line = getLine(doc, lineN), vis = visualLine(line) + if (line == vis) { return lineN } + return lineNo(vis) +} + +// Get the line number of the start of the next visual line after +// the given line. +function visualLineEndNo(doc, lineN) { + if (lineN > doc.lastLine()) { return lineN } + var line = getLine(doc, lineN), merged + if (!lineIsHidden(doc, line)) { return lineN } + while (merged = collapsedSpanAtEnd(line)) + { line = merged.find(1, true).line } + return lineNo(line) + 1 +} + +// Compute whether a line is hidden. Lines count as hidden when they +// are part of a visual line that starts with another line, or when +// they are entirely covered by collapsed, non-widget span. +function lineIsHidden(doc, line) { + var sps = sawCollapsedSpans && line.markedSpans + if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) { + sp = sps[i] + if (!sp.marker.collapsed) { continue } + if (sp.from == null) { return true } + if (sp.marker.widgetNode) { continue } + if (sp.from == 0 && sp.marker.inclusiveLeft && lineIsHiddenInner(doc, line, sp)) + { return true } + } } +} +function lineIsHiddenInner(doc, line, span) { + if (span.to == null) { + var end = span.marker.find(1, true) + return lineIsHiddenInner(doc, end.line, getMarkedSpanFor(end.line.markedSpans, span.marker)) + } + if (span.marker.inclusiveRight && span.to == line.text.length) + { return true } + for (var sp = (void 0), i = 0; i < line.markedSpans.length; ++i) { + sp = line.markedSpans[i] + if (sp.marker.collapsed && !sp.marker.widgetNode && sp.from == span.to && + (sp.to == null || sp.to != span.from) && + (sp.marker.inclusiveLeft || span.marker.inclusiveRight) && + lineIsHiddenInner(doc, line, sp)) { return true } + } +} + +// Find the height above the given line. +function heightAtLine(lineObj) { + lineObj = visualLine(lineObj) + + var h = 0, chunk = lineObj.parent + for (var i = 0; i < chunk.lines.length; ++i) { + var line = chunk.lines[i] + if (line == lineObj) { break } + else { h += line.height } + } + for (var p = chunk.parent; p; chunk = p, p = chunk.parent) { + for (var i$1 = 0; i$1 < p.children.length; ++i$1) { + var cur = p.children[i$1] + if (cur == chunk) { break } + else { h += cur.height } + } + } + return h +} + +// Compute the character length of a line, taking into account +// collapsed ranges (see markText) that might hide parts, and join +// other lines onto it. +function lineLength(line) { + if (line.height == 0) { return 0 } + var len = line.text.length, merged, cur = line + while (merged = collapsedSpanAtStart(cur)) { + var found = merged.find(0, true) + cur = found.from.line + len += found.from.ch - found.to.ch + } + cur = line + while (merged = collapsedSpanAtEnd(cur)) { + var found$1 = merged.find(0, true) + len -= cur.text.length - found$1.from.ch + cur = found$1.to.line + len += cur.text.length - found$1.to.ch + } + return len +} + +// Find the longest line in the document. +function findMaxLine(cm) { + var d = cm.display, doc = cm.doc + d.maxLine = getLine(doc, doc.first) + d.maxLineLength = lineLength(d.maxLine) + d.maxLineChanged = true + doc.iter(function (line) { + var len = lineLength(line) + if (len > d.maxLineLength) { + d.maxLineLength = len + d.maxLine = line + } + }) +} + +// BIDI HELPERS + +function iterateBidiSections(order, from, to, f) { + if (!order) { return f(from, to, "ltr", 0) } + var found = false + for (var i = 0; i < order.length; ++i) { + var part = order[i] + if (part.from < to && part.to > from || from == to && part.to == from) { + f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? "rtl" : "ltr", i) + found = true + } + } + if (!found) { f(from, to, "ltr") } +} + +var bidiOther = null +function getBidiPartAt(order, ch, sticky) { + var found + bidiOther = null + for (var i = 0; i < order.length; ++i) { + var cur = order[i] + if (cur.from < ch && cur.to > ch) { return i } + if (cur.to == ch) { + if (cur.from != cur.to && sticky == "before") { found = i } + else { bidiOther = i } + } + if (cur.from == ch) { + if (cur.from != cur.to && sticky != "before") { found = i } + else { bidiOther = i } + } + } + return found != null ? found : bidiOther +} + +// Bidirectional ordering algorithm +// See http://unicode.org/reports/tr9/tr9-13.html for the algorithm +// that this (partially) implements. + +// One-char codes used for character types: +// L (L): Left-to-Right +// R (R): Right-to-Left +// r (AL): Right-to-Left Arabic +// 1 (EN): European Number +// + (ES): European Number Separator +// % (ET): European Number Terminator +// n (AN): Arabic Number +// , (CS): Common Number Separator +// m (NSM): Non-Spacing Mark +// b (BN): Boundary Neutral +// s (B): Paragraph Separator +// t (S): Segment Separator +// w (WS): Whitespace +// N (ON): Other Neutrals + +// Returns null if characters are ordered as they appear +// (left-to-right), or an array of sections ({from, to, level} +// objects) in the order in which they occur visually. +var bidiOrdering = (function() { + // Character types for codepoints 0 to 0xff + var lowTypes = "bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN" + // Character types for codepoints 0x600 to 0x6f9 + var arabicTypes = "nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111" + function charType(code) { + if (code <= 0xf7) { return lowTypes.charAt(code) } + else if (0x590 <= code && code <= 0x5f4) { return "R" } + else if (0x600 <= code && code <= 0x6f9) { return arabicTypes.charAt(code - 0x600) } + else if (0x6ee <= code && code <= 0x8ac) { return "r" } + else if (0x2000 <= code && code <= 0x200b) { return "w" } + else if (code == 0x200c) { return "b" } + else { return "L" } + } + + var bidiRE = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/ + var isNeutral = /[stwN]/, isStrong = /[LRr]/, countsAsLeft = /[Lb1n]/, countsAsNum = /[1n]/ + + function BidiSpan(level, from, to) { + this.level = level + this.from = from; this.to = to + } + + return function(str, direction) { + var outerType = direction == "ltr" ? "L" : "R" + + if (str.length == 0 || direction == "ltr" && !bidiRE.test(str)) { return false } + var len = str.length, types = [] + for (var i = 0; i < len; ++i) + { types.push(charType(str.charCodeAt(i))) } + + // W1. Examine each non-spacing mark (NSM) in the level run, and + // change the type of the NSM to the type of the previous + // character. If the NSM is at the start of the level run, it will + // get the type of sor. + for (var i$1 = 0, prev = outerType; i$1 < len; ++i$1) { + var type = types[i$1] + if (type == "m") { types[i$1] = prev } + else { prev = type } + } + + // W2. Search backwards from each instance of a European number + // until the first strong type (R, L, AL, or sor) is found. If an + // AL is found, change the type of the European number to Arabic + // number. + // W3. Change all ALs to R. + for (var i$2 = 0, cur = outerType; i$2 < len; ++i$2) { + var type$1 = types[i$2] + if (type$1 == "1" && cur == "r") { types[i$2] = "n" } + else if (isStrong.test(type$1)) { cur = type$1; if (type$1 == "r") { types[i$2] = "R" } } + } + + // W4. A single European separator between two European numbers + // changes to a European number. A single common separator between + // two numbers of the same type changes to that type. + for (var i$3 = 1, prev$1 = types[0]; i$3 < len - 1; ++i$3) { + var type$2 = types[i$3] + if (type$2 == "+" && prev$1 == "1" && types[i$3+1] == "1") { types[i$3] = "1" } + else if (type$2 == "," && prev$1 == types[i$3+1] && + (prev$1 == "1" || prev$1 == "n")) { types[i$3] = prev$1 } + prev$1 = type$2 + } + + // W5. A sequence of European terminators adjacent to European + // numbers changes to all European numbers. + // W6. Otherwise, separators and terminators change to Other + // Neutral. + for (var i$4 = 0; i$4 < len; ++i$4) { + var type$3 = types[i$4] + if (type$3 == ",") { types[i$4] = "N" } + else if (type$3 == "%") { + var end = (void 0) + for (end = i$4 + 1; end < len && types[end] == "%"; ++end) {} + var replace = (i$4 && types[i$4-1] == "!") || (end < len && types[end] == "1") ? "1" : "N" + for (var j = i$4; j < end; ++j) { types[j] = replace } + i$4 = end - 1 + } + } + + // W7. Search backwards from each instance of a European number + // until the first strong type (R, L, or sor) is found. If an L is + // found, then change the type of the European number to L. + for (var i$5 = 0, cur$1 = outerType; i$5 < len; ++i$5) { + var type$4 = types[i$5] + if (cur$1 == "L" && type$4 == "1") { types[i$5] = "L" } + else if (isStrong.test(type$4)) { cur$1 = type$4 } + } + + // N1. A sequence of neutrals takes the direction of the + // surrounding strong text if the text on both sides has the same + // direction. European and Arabic numbers act as if they were R in + // terms of their influence on neutrals. Start-of-level-run (sor) + // and end-of-level-run (eor) are used at level run boundaries. + // N2. Any remaining neutrals take the embedding direction. + for (var i$6 = 0; i$6 < len; ++i$6) { + if (isNeutral.test(types[i$6])) { + var end$1 = (void 0) + for (end$1 = i$6 + 1; end$1 < len && isNeutral.test(types[end$1]); ++end$1) {} + var before = (i$6 ? types[i$6-1] : outerType) == "L" + var after = (end$1 < len ? types[end$1] : outerType) == "L" + var replace$1 = before == after ? (before ? "L" : "R") : outerType + for (var j$1 = i$6; j$1 < end$1; ++j$1) { types[j$1] = replace$1 } + i$6 = end$1 - 1 + } + } + + // Here we depart from the documented algorithm, in order to avoid + // building up an actual levels array. Since there are only three + // levels (0, 1, 2) in an implementation that doesn't take + // explicit embedding into account, we can build up the order on + // the fly, without following the level-based algorithm. + var order = [], m + for (var i$7 = 0; i$7 < len;) { + if (countsAsLeft.test(types[i$7])) { + var start = i$7 + for (++i$7; i$7 < len && countsAsLeft.test(types[i$7]); ++i$7) {} + order.push(new BidiSpan(0, start, i$7)) + } else { + var pos = i$7, at = order.length + for (++i$7; i$7 < len && types[i$7] != "L"; ++i$7) {} + for (var j$2 = pos; j$2 < i$7;) { + if (countsAsNum.test(types[j$2])) { + if (pos < j$2) { order.splice(at, 0, new BidiSpan(1, pos, j$2)) } + var nstart = j$2 + for (++j$2; j$2 < i$7 && countsAsNum.test(types[j$2]); ++j$2) {} + order.splice(at, 0, new BidiSpan(2, nstart, j$2)) + pos = j$2 + } else { ++j$2 } + } + if (pos < i$7) { order.splice(at, 0, new BidiSpan(1, pos, i$7)) } + } + } + if (direction == "ltr") { + if (order[0].level == 1 && (m = str.match(/^\s+/))) { + order[0].from = m[0].length + order.unshift(new BidiSpan(0, 0, m[0].length)) + } + if (lst(order).level == 1 && (m = str.match(/\s+$/))) { + lst(order).to -= m[0].length + order.push(new BidiSpan(0, len - m[0].length, len)) + } + } + + return direction == "rtl" ? order.reverse() : order + } +})() + +// Get the bidi ordering for the given line (and cache it). Returns +// false for lines that are fully left-to-right, and an array of +// BidiSpan objects otherwise. +function getOrder(line, direction) { + var order = line.order + if (order == null) { order = line.order = bidiOrdering(line.text, direction) } + return order +} + +// EVENT HANDLING + +// Lightweight event framework. on/off also work on DOM nodes, +// registering native DOM handlers. + +var noHandlers = [] + +var on = function(emitter, type, f) { + if (emitter.addEventListener) { + emitter.addEventListener(type, f, false) + } else if (emitter.attachEvent) { + emitter.attachEvent("on" + type, f) + } else { + var map = emitter._handlers || (emitter._handlers = {}) + map[type] = (map[type] || noHandlers).concat(f) + } +} + +function getHandlers(emitter, type) { + return emitter._handlers && emitter._handlers[type] || noHandlers +} + +function off(emitter, type, f) { + if (emitter.removeEventListener) { + emitter.removeEventListener(type, f, false) + } else if (emitter.detachEvent) { + emitter.detachEvent("on" + type, f) + } else { + var map = emitter._handlers, arr = map && map[type] + if (arr) { + var index = indexOf(arr, f) + if (index > -1) + { map[type] = arr.slice(0, index).concat(arr.slice(index + 1)) } + } + } +} + +function signal(emitter, type /*, values...*/) { + var handlers = getHandlers(emitter, type) + if (!handlers.length) { return } + var args = Array.prototype.slice.call(arguments, 2) + for (var i = 0; i < handlers.length; ++i) { handlers[i].apply(null, args) } +} + +// The DOM events that CodeMirror handles can be overridden by +// registering a (non-DOM) handler on the editor for the event name, +// and preventDefault-ing the event in that handler. +function signalDOMEvent(cm, e, override) { + if (typeof e == "string") + { e = {type: e, preventDefault: function() { this.defaultPrevented = true }} } + signal(cm, override || e.type, cm, e) + return e_defaultPrevented(e) || e.codemirrorIgnore +} + +function signalCursorActivity(cm) { + var arr = cm._handlers && cm._handlers.cursorActivity + if (!arr) { return } + var set = cm.curOp.cursorActivityHandlers || (cm.curOp.cursorActivityHandlers = []) + for (var i = 0; i < arr.length; ++i) { if (indexOf(set, arr[i]) == -1) + { set.push(arr[i]) } } +} + +function hasHandler(emitter, type) { + return getHandlers(emitter, type).length > 0 +} + +// Add on and off methods to a constructor's prototype, to make +// registering events on such objects more convenient. +function eventMixin(ctor) { + ctor.prototype.on = function(type, f) {on(this, type, f)} + ctor.prototype.off = function(type, f) {off(this, type, f)} +} + +// Due to the fact that we still support jurassic IE versions, some +// compatibility wrappers are needed. + +function e_preventDefault(e) { + if (e.preventDefault) { e.preventDefault() } + else { e.returnValue = false } +} +function e_stopPropagation(e) { + if (e.stopPropagation) { e.stopPropagation() } + else { e.cancelBubble = true } +} +function e_defaultPrevented(e) { + return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == false +} +function e_stop(e) {e_preventDefault(e); e_stopPropagation(e)} + +function e_target(e) {return e.target || e.srcElement} +function e_button(e) { + var b = e.which + if (b == null) { + if (e.button & 1) { b = 1 } + else if (e.button & 2) { b = 3 } + else if (e.button & 4) { b = 2 } + } + if (mac && e.ctrlKey && b == 1) { b = 3 } + return b +} + +// Detect drag-and-drop +var dragAndDrop = function() { + // There is *some* kind of drag-and-drop support in IE6-8, but I + // couldn't get it to work yet. + if (ie && ie_version < 9) { return false } + var div = elt('div') + return "draggable" in div || "dragDrop" in div +}() + +var zwspSupported +function zeroWidthElement(measure) { + if (zwspSupported == null) { + var test = elt("span", "\u200b") + removeChildrenAndAdd(measure, elt("span", [test, document.createTextNode("x")])) + if (measure.firstChild.offsetHeight != 0) + { zwspSupported = test.offsetWidth <= 1 && test.offsetHeight > 2 && !(ie && ie_version < 8) } + } + var node = zwspSupported ? elt("span", "\u200b") : + elt("span", "\u00a0", null, "display: inline-block; width: 1px; margin-right: -1px") + node.setAttribute("cm-text", "") + return node +} + +// Feature-detect IE's crummy client rect reporting for bidi text +var badBidiRects +function hasBadBidiRects(measure) { + if (badBidiRects != null) { return badBidiRects } + var txt = removeChildrenAndAdd(measure, document.createTextNode("A\u062eA")) + var r0 = range(txt, 0, 1).getBoundingClientRect() + var r1 = range(txt, 1, 2).getBoundingClientRect() + removeChildren(measure) + if (!r0 || r0.left == r0.right) { return false } // Safari returns null in some cases (#2780) + return badBidiRects = (r1.right - r0.right < 3) +} + +// See if "".split is the broken IE version, if so, provide an +// alternative way to split lines. +var splitLinesAuto = "\n\nb".split(/\n/).length != 3 ? function (string) { + var pos = 0, result = [], l = string.length + while (pos <= l) { + var nl = string.indexOf("\n", pos) + if (nl == -1) { nl = string.length } + var line = string.slice(pos, string.charAt(nl - 1) == "\r" ? nl - 1 : nl) + var rt = line.indexOf("\r") + if (rt != -1) { + result.push(line.slice(0, rt)) + pos += rt + 1 + } else { + result.push(line) + pos = nl + 1 + } + } + return result +} : function (string) { return string.split(/\r\n?|\n/); } + +var hasSelection = window.getSelection ? function (te) { + try { return te.selectionStart != te.selectionEnd } + catch(e) { return false } +} : function (te) { + var range + try {range = te.ownerDocument.selection.createRange()} + catch(e) {} + if (!range || range.parentElement() != te) { return false } + return range.compareEndPoints("StartToEnd", range) != 0 +} + +var hasCopyEvent = (function () { + var e = elt("div") + if ("oncopy" in e) { return true } + e.setAttribute("oncopy", "return;") + return typeof e.oncopy == "function" +})() + +var badZoomedRects = null +function hasBadZoomedRects(measure) { + if (badZoomedRects != null) { return badZoomedRects } + var node = removeChildrenAndAdd(measure, elt("span", "x")) + var normal = node.getBoundingClientRect() + var fromRange = range(node, 0, 1).getBoundingClientRect() + return badZoomedRects = Math.abs(normal.left - fromRange.left) > 1 +} + +var modes = {}; +var mimeModes = {}; +// Extra arguments are stored as the mode's dependencies, which is +// used by (legacy) mechanisms like loadmode.js to automatically +// load a mode. (Preferred mechanism is the require/define calls.) +function defineMode(name, mode) { + if (arguments.length > 2) + { mode.dependencies = Array.prototype.slice.call(arguments, 2) } + modes[name] = mode +} + +function defineMIME(mime, spec) { + mimeModes[mime] = spec +} + +// Given a MIME type, a {name, ...options} config object, or a name +// string, return a mode config object. +function resolveMode(spec) { + if (typeof spec == "string" && mimeModes.hasOwnProperty(spec)) { + spec = mimeModes[spec] + } else if (spec && typeof spec.name == "string" && mimeModes.hasOwnProperty(spec.name)) { + var found = mimeModes[spec.name] + if (typeof found == "string") { found = {name: found} } + spec = createObj(found, spec) + spec.name = found.name + } else if (typeof spec == "string" && /^[\w\-]+\/[\w\-]+\+xml$/.test(spec)) { + return resolveMode("application/xml") + } else if (typeof spec == "string" && /^[\w\-]+\/[\w\-]+\+json$/.test(spec)) { + return resolveMode("application/json") + } + if (typeof spec == "string") { return {name: spec} } + else { return spec || {name: "null"} } +} + +// Given a mode spec (anything that resolveMode accepts), find and +// initialize an actual mode object. +function getMode(options, spec) { + spec = resolveMode(spec) + var mfactory = modes[spec.name] + if (!mfactory) { return getMode(options, "text/plain") } + var modeObj = mfactory(options, spec) + if (modeExtensions.hasOwnProperty(spec.name)) { + var exts = modeExtensions[spec.name] + for (var prop in exts) { + if (!exts.hasOwnProperty(prop)) { continue } + if (modeObj.hasOwnProperty(prop)) { modeObj["_" + prop] = modeObj[prop] } + modeObj[prop] = exts[prop] + } + } + modeObj.name = spec.name + if (spec.helperType) { modeObj.helperType = spec.helperType } + if (spec.modeProps) { for (var prop$1 in spec.modeProps) + { modeObj[prop$1] = spec.modeProps[prop$1] } } + + return modeObj +} + +// This can be used to attach properties to mode objects from +// outside the actual mode definition. +var modeExtensions = {} +function extendMode(mode, properties) { + var exts = modeExtensions.hasOwnProperty(mode) ? modeExtensions[mode] : (modeExtensions[mode] = {}) + copyObj(properties, exts) +} + +function copyState(mode, state) { + if (state === true) { return state } + if (mode.copyState) { return mode.copyState(state) } + var nstate = {} + for (var n in state) { + var val = state[n] + if (val instanceof Array) { val = val.concat([]) } + nstate[n] = val + } + return nstate +} + +// Given a mode and a state (for that mode), find the inner mode and +// state at the position that the state refers to. +function innerMode(mode, state) { + var info + while (mode.innerMode) { + info = mode.innerMode(state) + if (!info || info.mode == mode) { break } + state = info.state + mode = info.mode + } + return info || {mode: mode, state: state} +} + +function startState(mode, a1, a2) { + return mode.startState ? mode.startState(a1, a2) : true +} + +// STRING STREAM + +// Fed to the mode parsers, provides helper functions to make +// parsers more succinct. + +var StringStream = function(string, tabSize, lineOracle) { + this.pos = this.start = 0 + this.string = string + this.tabSize = tabSize || 8 + this.lastColumnPos = this.lastColumnValue = 0 + this.lineStart = 0 + this.lineOracle = lineOracle +}; + +StringStream.prototype.eol = function () {return this.pos >= this.string.length}; +StringStream.prototype.sol = function () {return this.pos == this.lineStart}; +StringStream.prototype.peek = function () {return this.string.charAt(this.pos) || undefined}; +StringStream.prototype.next = function () { + if (this.pos < this.string.length) + { return this.string.charAt(this.pos++) } +}; +StringStream.prototype.eat = function (match) { + var ch = this.string.charAt(this.pos) + var ok + if (typeof match == "string") { ok = ch == match } + else { ok = ch && (match.test ? match.test(ch) : match(ch)) } + if (ok) {++this.pos; return ch} +}; +StringStream.prototype.eatWhile = function (match) { + var start = this.pos + while (this.eat(match)){} + return this.pos > start +}; +StringStream.prototype.eatSpace = function () { + var this$1 = this; + + var start = this.pos + while (/[\s\u00a0]/.test(this.string.charAt(this.pos))) { ++this$1.pos } + return this.pos > start +}; +StringStream.prototype.skipToEnd = function () {this.pos = this.string.length}; +StringStream.prototype.skipTo = function (ch) { + var found = this.string.indexOf(ch, this.pos) + if (found > -1) {this.pos = found; return true} +}; +StringStream.prototype.backUp = function (n) {this.pos -= n}; +StringStream.prototype.column = function () { + if (this.lastColumnPos < this.start) { + this.lastColumnValue = countColumn(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue) + this.lastColumnPos = this.start + } + return this.lastColumnValue - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0) +}; +StringStream.prototype.indentation = function () { + return countColumn(this.string, null, this.tabSize) - + (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0) +}; +StringStream.prototype.match = function (pattern, consume, caseInsensitive) { + if (typeof pattern == "string") { + var cased = function (str) { return caseInsensitive ? str.toLowerCase() : str; } + var substr = this.string.substr(this.pos, pattern.length) + if (cased(substr) == cased(pattern)) { + if (consume !== false) { this.pos += pattern.length } + return true + } + } else { + var match = this.string.slice(this.pos).match(pattern) + if (match && match.index > 0) { return null } + if (match && consume !== false) { this.pos += match[0].length } + return match + } +}; +StringStream.prototype.current = function (){return this.string.slice(this.start, this.pos)}; +StringStream.prototype.hideFirstChars = function (n, inner) { + this.lineStart += n + try { return inner() } + finally { this.lineStart -= n } +}; +StringStream.prototype.lookAhead = function (n) { + var oracle = this.lineOracle + return oracle && oracle.lookAhead(n) +}; +StringStream.prototype.baseToken = function () { + var oracle = this.lineOracle + return oracle && oracle.baseToken(this.pos) +}; + +var SavedContext = function(state, lookAhead) { + this.state = state + this.lookAhead = lookAhead +}; + +var Context = function(doc, state, line, lookAhead) { + this.state = state + this.doc = doc + this.line = line + this.maxLookAhead = lookAhead || 0 + this.baseTokens = null + this.baseTokenPos = 1 +}; + +Context.prototype.lookAhead = function (n) { + var line = this.doc.getLine(this.line + n) + if (line != null && n > this.maxLookAhead) { this.maxLookAhead = n } + return line +}; + +Context.prototype.baseToken = function (n) { + var this$1 = this; + + if (!this.baseTokens) { return null } + while (this.baseTokens[this.baseTokenPos] <= n) + { this$1.baseTokenPos += 2 } + var type = this.baseTokens[this.baseTokenPos + 1] + return {type: type && type.replace(/( |^)overlay .*/, ""), + size: this.baseTokens[this.baseTokenPos] - n} +}; + +Context.prototype.nextLine = function () { + this.line++ + if (this.maxLookAhead > 0) { this.maxLookAhead-- } +}; + +Context.fromSaved = function (doc, saved, line) { + if (saved instanceof SavedContext) + { return new Context(doc, copyState(doc.mode, saved.state), line, saved.lookAhead) } + else + { return new Context(doc, copyState(doc.mode, saved), line) } +}; + +Context.prototype.save = function (copy) { + var state = copy !== false ? copyState(this.doc.mode, this.state) : this.state + return this.maxLookAhead > 0 ? new SavedContext(state, this.maxLookAhead) : state +}; + + +// Compute a style array (an array starting with a mode generation +// -- for invalidation -- followed by pairs of end positions and +// style strings), which is used to highlight the tokens on the +// line. +function highlightLine(cm, line, context, forceToEnd) { + // A styles array always starts with a number identifying the + // mode/overlays that it is based on (for easy invalidation). + var st = [cm.state.modeGen], lineClasses = {} + // Compute the base array of styles + runMode(cm, line.text, cm.doc.mode, context, function (end, style) { return st.push(end, style); }, + lineClasses, forceToEnd) + var state = context.state + + // Run overlays, adjust style array. + var loop = function ( o ) { + context.baseTokens = st + var overlay = cm.state.overlays[o], i = 1, at = 0 + context.state = true + runMode(cm, line.text, overlay.mode, context, function (end, style) { + var start = i + // Ensure there's a token end at the current position, and that i points at it + while (at < end) { + var i_end = st[i] + if (i_end > end) + { st.splice(i, 1, end, st[i+1], i_end) } + i += 2 + at = Math.min(end, i_end) + } + if (!style) { return } + if (overlay.opaque) { + st.splice(start, i - start, end, "overlay " + style) + i = start + 2 + } else { + for (; start < i; start += 2) { + var cur = st[start+1] + st[start+1] = (cur ? cur + " " : "") + "overlay " + style + } + } + }, lineClasses) + context.state = state + context.baseTokens = null + context.baseTokenPos = 1 + }; + + for (var o = 0; o < cm.state.overlays.length; ++o) loop( o ); + + return {styles: st, classes: lineClasses.bgClass || lineClasses.textClass ? lineClasses : null} +} + +function getLineStyles(cm, line, updateFrontier) { + if (!line.styles || line.styles[0] != cm.state.modeGen) { + var context = getContextBefore(cm, lineNo(line)) + var resetState = line.text.length > cm.options.maxHighlightLength && copyState(cm.doc.mode, context.state) + var result = highlightLine(cm, line, context) + if (resetState) { context.state = resetState } + line.stateAfter = context.save(!resetState) + line.styles = result.styles + if (result.classes) { line.styleClasses = result.classes } + else if (line.styleClasses) { line.styleClasses = null } + if (updateFrontier === cm.doc.highlightFrontier) + { cm.doc.modeFrontier = Math.max(cm.doc.modeFrontier, ++cm.doc.highlightFrontier) } + } + return line.styles +} + +function getContextBefore(cm, n, precise) { + var doc = cm.doc, display = cm.display + if (!doc.mode.startState) { return new Context(doc, true, n) } + var start = findStartLine(cm, n, precise) + var saved = start > doc.first && getLine(doc, start - 1).stateAfter + var context = saved ? Context.fromSaved(doc, saved, start) : new Context(doc, startState(doc.mode), start) + + doc.iter(start, n, function (line) { + processLine(cm, line.text, context) + var pos = context.line + line.stateAfter = pos == n - 1 || pos % 5 == 0 || pos >= display.viewFrom && pos < display.viewTo ? context.save() : null + context.nextLine() + }) + if (precise) { doc.modeFrontier = context.line } + return context +} + +// Lightweight form of highlight -- proceed over this line and +// update state, but don't save a style array. Used for lines that +// aren't currently visible. +function processLine(cm, text, context, startAt) { + var mode = cm.doc.mode + var stream = new StringStream(text, cm.options.tabSize, context) + stream.start = stream.pos = startAt || 0 + if (text == "") { callBlankLine(mode, context.state) } + while (!stream.eol()) { + readToken(mode, stream, context.state) + stream.start = stream.pos + } +} + +function callBlankLine(mode, state) { + if (mode.blankLine) { return mode.blankLine(state) } + if (!mode.innerMode) { return } + var inner = innerMode(mode, state) + if (inner.mode.blankLine) { return inner.mode.blankLine(inner.state) } +} + +function readToken(mode, stream, state, inner) { + for (var i = 0; i < 10; i++) { + if (inner) { inner[0] = innerMode(mode, state).mode } + var style = mode.token(stream, state) + if (stream.pos > stream.start) { return style } + } + throw new Error("Mode " + mode.name + " failed to advance stream.") +} + +var Token = function(stream, type, state) { + this.start = stream.start; this.end = stream.pos + this.string = stream.current() + this.type = type || null + this.state = state +}; + +// Utility for getTokenAt and getLineTokens +function takeToken(cm, pos, precise, asArray) { + var doc = cm.doc, mode = doc.mode, style + pos = clipPos(doc, pos) + var line = getLine(doc, pos.line), context = getContextBefore(cm, pos.line, precise) + var stream = new StringStream(line.text, cm.options.tabSize, context), tokens + if (asArray) { tokens = [] } + while ((asArray || stream.pos < pos.ch) && !stream.eol()) { + stream.start = stream.pos + style = readToken(mode, stream, context.state) + if (asArray) { tokens.push(new Token(stream, style, copyState(doc.mode, context.state))) } + } + return asArray ? tokens : new Token(stream, style, context.state) +} + +function extractLineClasses(type, output) { + if (type) { for (;;) { + var lineClass = type.match(/(?:^|\s+)line-(background-)?(\S+)/) + if (!lineClass) { break } + type = type.slice(0, lineClass.index) + type.slice(lineClass.index + lineClass[0].length) + var prop = lineClass[1] ? "bgClass" : "textClass" + if (output[prop] == null) + { output[prop] = lineClass[2] } + else if (!(new RegExp("(?:^|\s)" + lineClass[2] + "(?:$|\s)")).test(output[prop])) + { output[prop] += " " + lineClass[2] } + } } + return type +} + +// Run the given mode's parser over a line, calling f for each token. +function runMode(cm, text, mode, context, f, lineClasses, forceToEnd) { + var flattenSpans = mode.flattenSpans + if (flattenSpans == null) { flattenSpans = cm.options.flattenSpans } + var curStart = 0, curStyle = null + var stream = new StringStream(text, cm.options.tabSize, context), style + var inner = cm.options.addModeClass && [null] + if (text == "") { extractLineClasses(callBlankLine(mode, context.state), lineClasses) } + while (!stream.eol()) { + if (stream.pos > cm.options.maxHighlightLength) { + flattenSpans = false + if (forceToEnd) { processLine(cm, text, context, stream.pos) } + stream.pos = text.length + style = null + } else { + style = extractLineClasses(readToken(mode, stream, context.state, inner), lineClasses) + } + if (inner) { + var mName = inner[0].name + if (mName) { style = "m-" + (style ? mName + " " + style : mName) } + } + if (!flattenSpans || curStyle != style) { + while (curStart < stream.start) { + curStart = Math.min(stream.start, curStart + 5000) + f(curStart, curStyle) + } + curStyle = style + } + stream.start = stream.pos + } + while (curStart < stream.pos) { + // Webkit seems to refuse to render text nodes longer than 57444 + // characters, and returns inaccurate measurements in nodes + // starting around 5000 chars. + var pos = Math.min(stream.pos, curStart + 5000) + f(pos, curStyle) + curStart = pos + } +} + +// Finds the line to start with when starting a parse. Tries to +// find a line with a stateAfter, so that it can start with a +// valid state. If that fails, it returns the line with the +// smallest indentation, which tends to need the least context to +// parse correctly. +function findStartLine(cm, n, precise) { + var minindent, minline, doc = cm.doc + var lim = precise ? -1 : n - (cm.doc.mode.innerMode ? 1000 : 100) + for (var search = n; search > lim; --search) { + if (search <= doc.first) { return doc.first } + var line = getLine(doc, search - 1), after = line.stateAfter + if (after && (!precise || search + (after instanceof SavedContext ? after.lookAhead : 0) <= doc.modeFrontier)) + { return search } + var indented = countColumn(line.text, null, cm.options.tabSize) + if (minline == null || minindent > indented) { + minline = search - 1 + minindent = indented + } + } + return minline +} + +function retreatFrontier(doc, n) { + doc.modeFrontier = Math.min(doc.modeFrontier, n) + if (doc.highlightFrontier < n - 10) { return } + var start = doc.first + for (var line = n - 1; line > start; line--) { + var saved = getLine(doc, line).stateAfter + // change is on 3 + // state on line 1 looked ahead 2 -- so saw 3 + // test 1 + 2 < 3 should cover this + if (saved && (!(saved instanceof SavedContext) || line + saved.lookAhead < n)) { + start = line + 1 + break + } + } + doc.highlightFrontier = Math.min(doc.highlightFrontier, start) +} + +// LINE DATA STRUCTURE + +// Line objects. These hold state related to a line, including +// highlighting info (the styles array). +var Line = function(text, markedSpans, estimateHeight) { + this.text = text + attachMarkedSpans(this, markedSpans) + this.height = estimateHeight ? estimateHeight(this) : 1 +}; + +Line.prototype.lineNo = function () { return lineNo(this) }; +eventMixin(Line) + +// Change the content (text, markers) of a line. Automatically +// invalidates cached information and tries to re-estimate the +// line's height. +function updateLine(line, text, markedSpans, estimateHeight) { + line.text = text + if (line.stateAfter) { line.stateAfter = null } + if (line.styles) { line.styles = null } + if (line.order != null) { line.order = null } + detachMarkedSpans(line) + attachMarkedSpans(line, markedSpans) + var estHeight = estimateHeight ? estimateHeight(line) : 1 + if (estHeight != line.height) { updateLineHeight(line, estHeight) } +} + +// Detach a line from the document tree and its markers. +function cleanUpLine(line) { + line.parent = null + detachMarkedSpans(line) +} + +// Convert a style as returned by a mode (either null, or a string +// containing one or more styles) to a CSS style. This is cached, +// and also looks for line-wide styles. +var styleToClassCache = {}; +var styleToClassCacheWithMode = {}; +function interpretTokenStyle(style, options) { + if (!style || /^\s*$/.test(style)) { return null } + var cache = options.addModeClass ? styleToClassCacheWithMode : styleToClassCache + return cache[style] || + (cache[style] = style.replace(/\S+/g, "cm-$&")) +} + +// Render the DOM representation of the text of a line. Also builds +// up a 'line map', which points at the DOM nodes that represent +// specific stretches of text, and is used by the measuring code. +// The returned object contains the DOM node, this map, and +// information about line-wide styles that were set by the mode. +function buildLineContent(cm, lineView) { + // The padding-right forces the element to have a 'border', which + // is needed on Webkit to be able to get line-level bounding + // rectangles for it (in measureChar). + var content = eltP("span", null, null, webkit ? "padding-right: .1px" : null) + var builder = {pre: eltP("pre", [content], "CodeMirror-line"), content: content, + col: 0, pos: 0, cm: cm, + trailingSpace: false, + splitSpaces: (ie || webkit) && cm.getOption("lineWrapping")} + lineView.measure = {} + + // Iterate over the logical lines that make up this visual line. + for (var i = 0; i <= (lineView.rest ? lineView.rest.length : 0); i++) { + var line = i ? lineView.rest[i - 1] : lineView.line, order = (void 0) + builder.pos = 0 + builder.addToken = buildToken + // Optionally wire in some hacks into the token-rendering + // algorithm, to deal with browser quirks. + if (hasBadBidiRects(cm.display.measure) && (order = getOrder(line, cm.doc.direction))) + { builder.addToken = buildTokenBadBidi(builder.addToken, order) } + builder.map = [] + var allowFrontierUpdate = lineView != cm.display.externalMeasured && lineNo(line) + insertLineContent(line, builder, getLineStyles(cm, line, allowFrontierUpdate)) + if (line.styleClasses) { + if (line.styleClasses.bgClass) + { builder.bgClass = joinClasses(line.styleClasses.bgClass, builder.bgClass || "") } + if (line.styleClasses.textClass) + { builder.textClass = joinClasses(line.styleClasses.textClass, builder.textClass || "") } + } + + // Ensure at least a single node is present, for measuring. + if (builder.map.length == 0) + { builder.map.push(0, 0, builder.content.appendChild(zeroWidthElement(cm.display.measure))) } + + // Store the map and a cache object for the current logical line + if (i == 0) { + lineView.measure.map = builder.map + lineView.measure.cache = {} + } else { + ;(lineView.measure.maps || (lineView.measure.maps = [])).push(builder.map) + ;(lineView.measure.caches || (lineView.measure.caches = [])).push({}) + } + } + + // See issue #2901 + if (webkit) { + var last = builder.content.lastChild + if (/\bcm-tab\b/.test(last.className) || (last.querySelector && last.querySelector(".cm-tab"))) + { builder.content.className = "cm-tab-wrap-hack" } + } + + signal(cm, "renderLine", cm, lineView.line, builder.pre) + if (builder.pre.className) + { builder.textClass = joinClasses(builder.pre.className, builder.textClass || "") } + + return builder +} + +function defaultSpecialCharPlaceholder(ch) { + var token = elt("span", "\u2022", "cm-invalidchar") + token.title = "\\u" + ch.charCodeAt(0).toString(16) + token.setAttribute("aria-label", token.title) + return token +} + +// Build up the DOM representation for a single token, and add it to +// the line map. Takes care to render special characters separately. +function buildToken(builder, text, style, startStyle, endStyle, title, css) { + if (!text) { return } + var displayText = builder.splitSpaces ? splitSpaces(text, builder.trailingSpace) : text + var special = builder.cm.state.specialChars, mustWrap = false + var content + if (!special.test(text)) { + builder.col += text.length + content = document.createTextNode(displayText) + builder.map.push(builder.pos, builder.pos + text.length, content) + if (ie && ie_version < 9) { mustWrap = true } + builder.pos += text.length + } else { + content = document.createDocumentFragment() + var pos = 0 + while (true) { + special.lastIndex = pos + var m = special.exec(text) + var skipped = m ? m.index - pos : text.length - pos + if (skipped) { + var txt = document.createTextNode(displayText.slice(pos, pos + skipped)) + if (ie && ie_version < 9) { content.appendChild(elt("span", [txt])) } + else { content.appendChild(txt) } + builder.map.push(builder.pos, builder.pos + skipped, txt) + builder.col += skipped + builder.pos += skipped + } + if (!m) { break } + pos += skipped + 1 + var txt$1 = (void 0) + if (m[0] == "\t") { + var tabSize = builder.cm.options.tabSize, tabWidth = tabSize - builder.col % tabSize + txt$1 = content.appendChild(elt("span", spaceStr(tabWidth), "cm-tab")) + txt$1.setAttribute("role", "presentation") + txt$1.setAttribute("cm-text", "\t") + builder.col += tabWidth + } else if (m[0] == "\r" || m[0] == "\n") { + txt$1 = content.appendChild(elt("span", m[0] == "\r" ? "\u240d" : "\u2424", "cm-invalidchar")) + txt$1.setAttribute("cm-text", m[0]) + builder.col += 1 + } else { + txt$1 = builder.cm.options.specialCharPlaceholder(m[0]) + txt$1.setAttribute("cm-text", m[0]) + if (ie && ie_version < 9) { content.appendChild(elt("span", [txt$1])) } + else { content.appendChild(txt$1) } + builder.col += 1 + } + builder.map.push(builder.pos, builder.pos + 1, txt$1) + builder.pos++ + } + } + builder.trailingSpace = displayText.charCodeAt(text.length - 1) == 32 + if (style || startStyle || endStyle || mustWrap || css) { + var fullStyle = style || "" + if (startStyle) { fullStyle += startStyle } + if (endStyle) { fullStyle += endStyle } + var token = elt("span", [content], fullStyle, css) + if (title) { token.title = title } + return builder.content.appendChild(token) + } + builder.content.appendChild(content) +} + +function splitSpaces(text, trailingBefore) { + if (text.length > 1 && !/ /.test(text)) { return text } + var spaceBefore = trailingBefore, result = "" + for (var i = 0; i < text.length; i++) { + var ch = text.charAt(i) + if (ch == " " && spaceBefore && (i == text.length - 1 || text.charCodeAt(i + 1) == 32)) + { ch = "\u00a0" } + result += ch + spaceBefore = ch == " " + } + return result +} + +// Work around nonsense dimensions being reported for stretches of +// right-to-left text. +function buildTokenBadBidi(inner, order) { + return function (builder, text, style, startStyle, endStyle, title, css) { + style = style ? style + " cm-force-border" : "cm-force-border" + var start = builder.pos, end = start + text.length + for (;;) { + // Find the part that overlaps with the start of this text + var part = (void 0) + for (var i = 0; i < order.length; i++) { + part = order[i] + if (part.to > start && part.from <= start) { break } + } + if (part.to >= end) { return inner(builder, text, style, startStyle, endStyle, title, css) } + inner(builder, text.slice(0, part.to - start), style, startStyle, null, title, css) + startStyle = null + text = text.slice(part.to - start) + start = part.to + } + } +} + +function buildCollapsedSpan(builder, size, marker, ignoreWidget) { + var widget = !ignoreWidget && marker.widgetNode + if (widget) { builder.map.push(builder.pos, builder.pos + size, widget) } + if (!ignoreWidget && builder.cm.display.input.needsContentAttribute) { + if (!widget) + { widget = builder.content.appendChild(document.createElement("span")) } + widget.setAttribute("cm-marker", marker.id) + } + if (widget) { + builder.cm.display.input.setUneditable(widget) + builder.content.appendChild(widget) + } + builder.pos += size + builder.trailingSpace = false +} + +// Outputs a number of spans to make up a line, taking highlighting +// and marked text into account. +function insertLineContent(line, builder, styles) { + var spans = line.markedSpans, allText = line.text, at = 0 + if (!spans) { + for (var i$1 = 1; i$1 < styles.length; i$1+=2) + { builder.addToken(builder, allText.slice(at, at = styles[i$1]), interpretTokenStyle(styles[i$1+1], builder.cm.options)) } + return + } + + var len = allText.length, pos = 0, i = 1, text = "", style, css + var nextChange = 0, spanStyle, spanEndStyle, spanStartStyle, title, collapsed + for (;;) { + if (nextChange == pos) { // Update current marker set + spanStyle = spanEndStyle = spanStartStyle = title = css = "" + collapsed = null; nextChange = Infinity + var foundBookmarks = [], endStyles = (void 0) + for (var j = 0; j < spans.length; ++j) { + var sp = spans[j], m = sp.marker + if (m.type == "bookmark" && sp.from == pos && m.widgetNode) { + foundBookmarks.push(m) + } else if (sp.from <= pos && (sp.to == null || sp.to > pos || m.collapsed && sp.to == pos && sp.from == pos)) { + if (sp.to != null && sp.to != pos && nextChange > sp.to) { + nextChange = sp.to + spanEndStyle = "" + } + if (m.className) { spanStyle += " " + m.className } + if (m.css) { css = (css ? css + ";" : "") + m.css } + if (m.startStyle && sp.from == pos) { spanStartStyle += " " + m.startStyle } + if (m.endStyle && sp.to == nextChange) { (endStyles || (endStyles = [])).push(m.endStyle, sp.to) } + if (m.title && !title) { title = m.title } + if (m.collapsed && (!collapsed || compareCollapsedMarkers(collapsed.marker, m) < 0)) + { collapsed = sp } + } else if (sp.from > pos && nextChange > sp.from) { + nextChange = sp.from + } + } + if (endStyles) { for (var j$1 = 0; j$1 < endStyles.length; j$1 += 2) + { if (endStyles[j$1 + 1] == nextChange) { spanEndStyle += " " + endStyles[j$1] } } } + + if (!collapsed || collapsed.from == pos) { for (var j$2 = 0; j$2 < foundBookmarks.length; ++j$2) + { buildCollapsedSpan(builder, 0, foundBookmarks[j$2]) } } + if (collapsed && (collapsed.from || 0) == pos) { + buildCollapsedSpan(builder, (collapsed.to == null ? len + 1 : collapsed.to) - pos, + collapsed.marker, collapsed.from == null) + if (collapsed.to == null) { return } + if (collapsed.to == pos) { collapsed = false } + } + } + if (pos >= len) { break } + + var upto = Math.min(len, nextChange) + while (true) { + if (text) { + var end = pos + text.length + if (!collapsed) { + var tokenText = end > upto ? text.slice(0, upto - pos) : text + builder.addToken(builder, tokenText, style ? style + spanStyle : spanStyle, + spanStartStyle, pos + tokenText.length == nextChange ? spanEndStyle : "", title, css) + } + if (end >= upto) {text = text.slice(upto - pos); pos = upto; break} + pos = end + spanStartStyle = "" + } + text = allText.slice(at, at = styles[i++]) + style = interpretTokenStyle(styles[i++], builder.cm.options) + } + } +} + + +// These objects are used to represent the visible (currently drawn) +// part of the document. A LineView may correspond to multiple +// logical lines, if those are connected by collapsed ranges. +function LineView(doc, line, lineN) { + // The starting line + this.line = line + // Continuing lines, if any + this.rest = visualLineContinued(line) + // Number of logical lines in this visual line + this.size = this.rest ? lineNo(lst(this.rest)) - lineN + 1 : 1 + this.node = this.text = null + this.hidden = lineIsHidden(doc, line) +} + +// Create a range of LineView objects for the given lines. +function buildViewArray(cm, from, to) { + var array = [], nextPos + for (var pos = from; pos < to; pos = nextPos) { + var view = new LineView(cm.doc, getLine(cm.doc, pos), pos) + nextPos = pos + view.size + array.push(view) + } + return array +} + +var operationGroup = null + +function pushOperation(op) { + if (operationGroup) { + operationGroup.ops.push(op) + } else { + op.ownsGroup = operationGroup = { + ops: [op], + delayedCallbacks: [] + } + } +} + +function fireCallbacksForOps(group) { + // Calls delayed callbacks and cursorActivity handlers until no + // new ones appear + var callbacks = group.delayedCallbacks, i = 0 + do { + for (; i < callbacks.length; i++) + { callbacks[i].call(null) } + for (var j = 0; j < group.ops.length; j++) { + var op = group.ops[j] + if (op.cursorActivityHandlers) + { while (op.cursorActivityCalled < op.cursorActivityHandlers.length) + { op.cursorActivityHandlers[op.cursorActivityCalled++].call(null, op.cm) } } + } + } while (i < callbacks.length) +} + +function finishOperation(op, endCb) { + var group = op.ownsGroup + if (!group) { return } + + try { fireCallbacksForOps(group) } + finally { + operationGroup = null + endCb(group) + } +} + +var orphanDelayedCallbacks = null + +// Often, we want to signal events at a point where we are in the +// middle of some work, but don't want the handler to start calling +// other methods on the editor, which might be in an inconsistent +// state or simply not expect any other events to happen. +// signalLater looks whether there are any handlers, and schedules +// them to be executed when the last operation ends, or, if no +// operation is active, when a timeout fires. +function signalLater(emitter, type /*, values...*/) { + var arr = getHandlers(emitter, type) + if (!arr.length) { return } + var args = Array.prototype.slice.call(arguments, 2), list + if (operationGroup) { + list = operationGroup.delayedCallbacks + } else if (orphanDelayedCallbacks) { + list = orphanDelayedCallbacks + } else { + list = orphanDelayedCallbacks = [] + setTimeout(fireOrphanDelayed, 0) + } + var loop = function ( i ) { + list.push(function () { return arr[i].apply(null, args); }) + }; + + for (var i = 0; i < arr.length; ++i) + loop( i ); +} + +function fireOrphanDelayed() { + var delayed = orphanDelayedCallbacks + orphanDelayedCallbacks = null + for (var i = 0; i < delayed.length; ++i) { delayed[i]() } +} + +// When an aspect of a line changes, a string is added to +// lineView.changes. This updates the relevant part of the line's +// DOM structure. +function updateLineForChanges(cm, lineView, lineN, dims) { + for (var j = 0; j < lineView.changes.length; j++) { + var type = lineView.changes[j] + if (type == "text") { updateLineText(cm, lineView) } + else if (type == "gutter") { updateLineGutter(cm, lineView, lineN, dims) } + else if (type == "class") { updateLineClasses(cm, lineView) } + else if (type == "widget") { updateLineWidgets(cm, lineView, dims) } + } + lineView.changes = null +} + +// Lines with gutter elements, widgets or a background class need to +// be wrapped, and have the extra elements added to the wrapper div +function ensureLineWrapped(lineView) { + if (lineView.node == lineView.text) { + lineView.node = elt("div", null, null, "position: relative") + if (lineView.text.parentNode) + { lineView.text.parentNode.replaceChild(lineView.node, lineView.text) } + lineView.node.appendChild(lineView.text) + if (ie && ie_version < 8) { lineView.node.style.zIndex = 2 } + } + return lineView.node +} + +function updateLineBackground(cm, lineView) { + var cls = lineView.bgClass ? lineView.bgClass + " " + (lineView.line.bgClass || "") : lineView.line.bgClass + if (cls) { cls += " CodeMirror-linebackground" } + if (lineView.background) { + if (cls) { lineView.background.className = cls } + else { lineView.background.parentNode.removeChild(lineView.background); lineView.background = null } + } else if (cls) { + var wrap = ensureLineWrapped(lineView) + lineView.background = wrap.insertBefore(elt("div", null, cls), wrap.firstChild) + cm.display.input.setUneditable(lineView.background) + } +} + +// Wrapper around buildLineContent which will reuse the structure +// in display.externalMeasured when possible. +function getLineContent(cm, lineView) { + var ext = cm.display.externalMeasured + if (ext && ext.line == lineView.line) { + cm.display.externalMeasured = null + lineView.measure = ext.measure + return ext.built + } + return buildLineContent(cm, lineView) +} + +// Redraw the line's text. Interacts with the background and text +// classes because the mode may output tokens that influence these +// classes. +function updateLineText(cm, lineView) { + var cls = lineView.text.className + var built = getLineContent(cm, lineView) + if (lineView.text == lineView.node) { lineView.node = built.pre } + lineView.text.parentNode.replaceChild(built.pre, lineView.text) + lineView.text = built.pre + if (built.bgClass != lineView.bgClass || built.textClass != lineView.textClass) { + lineView.bgClass = built.bgClass + lineView.textClass = built.textClass + updateLineClasses(cm, lineView) + } else if (cls) { + lineView.text.className = cls + } +} + +function updateLineClasses(cm, lineView) { + updateLineBackground(cm, lineView) + if (lineView.line.wrapClass) + { ensureLineWrapped(lineView).className = lineView.line.wrapClass } + else if (lineView.node != lineView.text) + { lineView.node.className = "" } + var textClass = lineView.textClass ? lineView.textClass + " " + (lineView.line.textClass || "") : lineView.line.textClass + lineView.text.className = textClass || "" +} + +function updateLineGutter(cm, lineView, lineN, dims) { + if (lineView.gutter) { + lineView.node.removeChild(lineView.gutter) + lineView.gutter = null + } + if (lineView.gutterBackground) { + lineView.node.removeChild(lineView.gutterBackground) + lineView.gutterBackground = null + } + if (lineView.line.gutterClass) { + var wrap = ensureLineWrapped(lineView) + lineView.gutterBackground = elt("div", null, "CodeMirror-gutter-background " + lineView.line.gutterClass, + ("left: " + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + "px; width: " + (dims.gutterTotalWidth) + "px")) + cm.display.input.setUneditable(lineView.gutterBackground) + wrap.insertBefore(lineView.gutterBackground, lineView.text) + } + var markers = lineView.line.gutterMarkers + if (cm.options.lineNumbers || markers) { + var wrap$1 = ensureLineWrapped(lineView) + var gutterWrap = lineView.gutter = elt("div", null, "CodeMirror-gutter-wrapper", ("left: " + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + "px")) + cm.display.input.setUneditable(gutterWrap) + wrap$1.insertBefore(gutterWrap, lineView.text) + if (lineView.line.gutterClass) + { gutterWrap.className += " " + lineView.line.gutterClass } + if (cm.options.lineNumbers && (!markers || !markers["CodeMirror-linenumbers"])) + { lineView.lineNumber = gutterWrap.appendChild( + elt("div", lineNumberFor(cm.options, lineN), + "CodeMirror-linenumber CodeMirror-gutter-elt", + ("left: " + (dims.gutterLeft["CodeMirror-linenumbers"]) + "px; width: " + (cm.display.lineNumInnerWidth) + "px"))) } + if (markers) { for (var k = 0; k < cm.options.gutters.length; ++k) { + var id = cm.options.gutters[k], found = markers.hasOwnProperty(id) && markers[id] + if (found) + { gutterWrap.appendChild(elt("div", [found], "CodeMirror-gutter-elt", + ("left: " + (dims.gutterLeft[id]) + "px; width: " + (dims.gutterWidth[id]) + "px"))) } + } } + } +} + +function updateLineWidgets(cm, lineView, dims) { + if (lineView.alignable) { lineView.alignable = null } + for (var node = lineView.node.firstChild, next = (void 0); node; node = next) { + next = node.nextSibling + if (node.className == "CodeMirror-linewidget") + { lineView.node.removeChild(node) } + } + insertLineWidgets(cm, lineView, dims) +} + +// Build a line's DOM representation from scratch +function buildLineElement(cm, lineView, lineN, dims) { + var built = getLineContent(cm, lineView) + lineView.text = lineView.node = built.pre + if (built.bgClass) { lineView.bgClass = built.bgClass } + if (built.textClass) { lineView.textClass = built.textClass } + + updateLineClasses(cm, lineView) + updateLineGutter(cm, lineView, lineN, dims) + insertLineWidgets(cm, lineView, dims) + return lineView.node +} + +// A lineView may contain multiple logical lines (when merged by +// collapsed spans). The widgets for all of them need to be drawn. +function insertLineWidgets(cm, lineView, dims) { + insertLineWidgetsFor(cm, lineView.line, lineView, dims, true) + if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++) + { insertLineWidgetsFor(cm, lineView.rest[i], lineView, dims, false) } } +} + +function insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) { + if (!line.widgets) { return } + var wrap = ensureLineWrapped(lineView) + for (var i = 0, ws = line.widgets; i < ws.length; ++i) { + var widget = ws[i], node = elt("div", [widget.node], "CodeMirror-linewidget") + if (!widget.handleMouseEvents) { node.setAttribute("cm-ignore-events", "true") } + positionLineWidget(widget, node, lineView, dims) + cm.display.input.setUneditable(node) + if (allowAbove && widget.above) + { wrap.insertBefore(node, lineView.gutter || lineView.text) } + else + { wrap.appendChild(node) } + signalLater(widget, "redraw") + } +} + +function positionLineWidget(widget, node, lineView, dims) { + if (widget.noHScroll) { + ;(lineView.alignable || (lineView.alignable = [])).push(node) + var width = dims.wrapperWidth + node.style.left = dims.fixedPos + "px" + if (!widget.coverGutter) { + width -= dims.gutterTotalWidth + node.style.paddingLeft = dims.gutterTotalWidth + "px" + } + node.style.width = width + "px" + } + if (widget.coverGutter) { + node.style.zIndex = 5 + node.style.position = "relative" + if (!widget.noHScroll) { node.style.marginLeft = -dims.gutterTotalWidth + "px" } + } +} + +function widgetHeight(widget) { + if (widget.height != null) { return widget.height } + var cm = widget.doc.cm + if (!cm) { return 0 } + if (!contains(document.body, widget.node)) { + var parentStyle = "position: relative;" + if (widget.coverGutter) + { parentStyle += "margin-left: -" + cm.display.gutters.offsetWidth + "px;" } + if (widget.noHScroll) + { parentStyle += "width: " + cm.display.wrapper.clientWidth + "px;" } + removeChildrenAndAdd(cm.display.measure, elt("div", [widget.node], null, parentStyle)) + } + return widget.height = widget.node.parentNode.offsetHeight +} + +// Return true when the given mouse event happened in a widget +function eventInWidget(display, e) { + for (var n = e_target(e); n != display.wrapper; n = n.parentNode) { + if (!n || (n.nodeType == 1 && n.getAttribute("cm-ignore-events") == "true") || + (n.parentNode == display.sizer && n != display.mover)) + { return true } + } +} + +// POSITION MEASUREMENT + +function paddingTop(display) {return display.lineSpace.offsetTop} +function paddingVert(display) {return display.mover.offsetHeight - display.lineSpace.offsetHeight} +function paddingH(display) { + if (display.cachedPaddingH) { return display.cachedPaddingH } + var e = removeChildrenAndAdd(display.measure, elt("pre", "x")) + var style = window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle + var data = {left: parseInt(style.paddingLeft), right: parseInt(style.paddingRight)} + if (!isNaN(data.left) && !isNaN(data.right)) { display.cachedPaddingH = data } + return data +} + +function scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth } +function displayWidth(cm) { + return cm.display.scroller.clientWidth - scrollGap(cm) - cm.display.barWidth +} +function displayHeight(cm) { + return cm.display.scroller.clientHeight - scrollGap(cm) - cm.display.barHeight +} + +// Ensure the lineView.wrapping.heights array is populated. This is +// an array of bottom offsets for the lines that make up a drawn +// line. When lineWrapping is on, there might be more than one +// height. +function ensureLineHeights(cm, lineView, rect) { + var wrapping = cm.options.lineWrapping + var curWidth = wrapping && displayWidth(cm) + if (!lineView.measure.heights || wrapping && lineView.measure.width != curWidth) { + var heights = lineView.measure.heights = [] + if (wrapping) { + lineView.measure.width = curWidth + var rects = lineView.text.firstChild.getClientRects() + for (var i = 0; i < rects.length - 1; i++) { + var cur = rects[i], next = rects[i + 1] + if (Math.abs(cur.bottom - next.bottom) > 2) + { heights.push((cur.bottom + next.top) / 2 - rect.top) } + } + } + heights.push(rect.bottom - rect.top) + } +} + +// Find a line map (mapping character offsets to text nodes) and a +// measurement cache for the given line number. (A line view might +// contain multiple lines when collapsed ranges are present.) +function mapFromLineView(lineView, line, lineN) { + if (lineView.line == line) + { return {map: lineView.measure.map, cache: lineView.measure.cache} } + for (var i = 0; i < lineView.rest.length; i++) + { if (lineView.rest[i] == line) + { return {map: lineView.measure.maps[i], cache: lineView.measure.caches[i]} } } + for (var i$1 = 0; i$1 < lineView.rest.length; i$1++) + { if (lineNo(lineView.rest[i$1]) > lineN) + { return {map: lineView.measure.maps[i$1], cache: lineView.measure.caches[i$1], before: true} } } +} + +// Render a line into the hidden node display.externalMeasured. Used +// when measurement is needed for a line that's not in the viewport. +function updateExternalMeasurement(cm, line) { + line = visualLine(line) + var lineN = lineNo(line) + var view = cm.display.externalMeasured = new LineView(cm.doc, line, lineN) + view.lineN = lineN + var built = view.built = buildLineContent(cm, view) + view.text = built.pre + removeChildrenAndAdd(cm.display.lineMeasure, built.pre) + return view +} + +// Get a {top, bottom, left, right} box (in line-local coordinates) +// for a given character. +function measureChar(cm, line, ch, bias) { + return measureCharPrepared(cm, prepareMeasureForLine(cm, line), ch, bias) +} + +// Find a line view that corresponds to the given line number. +function findViewForLine(cm, lineN) { + if (lineN >= cm.display.viewFrom && lineN < cm.display.viewTo) + { return cm.display.view[findViewIndex(cm, lineN)] } + var ext = cm.display.externalMeasured + if (ext && lineN >= ext.lineN && lineN < ext.lineN + ext.size) + { return ext } +} + +// Measurement can be split in two steps, the set-up work that +// applies to the whole line, and the measurement of the actual +// character. Functions like coordsChar, that need to do a lot of +// measurements in a row, can thus ensure that the set-up work is +// only done once. +function prepareMeasureForLine(cm, line) { + var lineN = lineNo(line) + var view = findViewForLine(cm, lineN) + if (view && !view.text) { + view = null + } else if (view && view.changes) { + updateLineForChanges(cm, view, lineN, getDimensions(cm)) + cm.curOp.forceUpdate = true + } + if (!view) + { view = updateExternalMeasurement(cm, line) } + + var info = mapFromLineView(view, line, lineN) + return { + line: line, view: view, rect: null, + map: info.map, cache: info.cache, before: info.before, + hasHeights: false + } +} + +// Given a prepared measurement object, measures the position of an +// actual character (or fetches it from the cache). +function measureCharPrepared(cm, prepared, ch, bias, varHeight) { + if (prepared.before) { ch = -1 } + var key = ch + (bias || ""), found + if (prepared.cache.hasOwnProperty(key)) { + found = prepared.cache[key] + } else { + if (!prepared.rect) + { prepared.rect = prepared.view.text.getBoundingClientRect() } + if (!prepared.hasHeights) { + ensureLineHeights(cm, prepared.view, prepared.rect) + prepared.hasHeights = true + } + found = measureCharInner(cm, prepared, ch, bias) + if (!found.bogus) { prepared.cache[key] = found } + } + return {left: found.left, right: found.right, + top: varHeight ? found.rtop : found.top, + bottom: varHeight ? found.rbottom : found.bottom} +} + +var nullRect = {left: 0, right: 0, top: 0, bottom: 0} + +function nodeAndOffsetInLineMap(map, ch, bias) { + var node, start, end, collapse, mStart, mEnd + // First, search the line map for the text node corresponding to, + // or closest to, the target character. + for (var i = 0; i < map.length; i += 3) { + mStart = map[i] + mEnd = map[i + 1] + if (ch < mStart) { + start = 0; end = 1 + collapse = "left" + } else if (ch < mEnd) { + start = ch - mStart + end = start + 1 + } else if (i == map.length - 3 || ch == mEnd && map[i + 3] > ch) { + end = mEnd - mStart + start = end - 1 + if (ch >= mEnd) { collapse = "right" } + } + if (start != null) { + node = map[i + 2] + if (mStart == mEnd && bias == (node.insertLeft ? "left" : "right")) + { collapse = bias } + if (bias == "left" && start == 0) + { while (i && map[i - 2] == map[i - 3] && map[i - 1].insertLeft) { + node = map[(i -= 3) + 2] + collapse = "left" + } } + if (bias == "right" && start == mEnd - mStart) + { while (i < map.length - 3 && map[i + 3] == map[i + 4] && !map[i + 5].insertLeft) { + node = map[(i += 3) + 2] + collapse = "right" + } } + break + } + } + return {node: node, start: start, end: end, collapse: collapse, coverStart: mStart, coverEnd: mEnd} +} + +function getUsefulRect(rects, bias) { + var rect = nullRect + if (bias == "left") { for (var i = 0; i < rects.length; i++) { + if ((rect = rects[i]).left != rect.right) { break } + } } else { for (var i$1 = rects.length - 1; i$1 >= 0; i$1--) { + if ((rect = rects[i$1]).left != rect.right) { break } + } } + return rect +} + +function measureCharInner(cm, prepared, ch, bias) { + var place = nodeAndOffsetInLineMap(prepared.map, ch, bias) + var node = place.node, start = place.start, end = place.end, collapse = place.collapse + + var rect + if (node.nodeType == 3) { // If it is a text node, use a range to retrieve the coordinates. + for (var i$1 = 0; i$1 < 4; i$1++) { // Retry a maximum of 4 times when nonsense rectangles are returned + while (start && isExtendingChar(prepared.line.text.charAt(place.coverStart + start))) { --start } + while (place.coverStart + end < place.coverEnd && isExtendingChar(prepared.line.text.charAt(place.coverStart + end))) { ++end } + if (ie && ie_version < 9 && start == 0 && end == place.coverEnd - place.coverStart) + { rect = node.parentNode.getBoundingClientRect() } + else + { rect = getUsefulRect(range(node, start, end).getClientRects(), bias) } + if (rect.left || rect.right || start == 0) { break } + end = start + start = start - 1 + collapse = "right" + } + if (ie && ie_version < 11) { rect = maybeUpdateRectForZooming(cm.display.measure, rect) } + } else { // If it is a widget, simply get the box for the whole widget. + if (start > 0) { collapse = bias = "right" } + var rects + if (cm.options.lineWrapping && (rects = node.getClientRects()).length > 1) + { rect = rects[bias == "right" ? rects.length - 1 : 0] } + else + { rect = node.getBoundingClientRect() } + } + if (ie && ie_version < 9 && !start && (!rect || !rect.left && !rect.right)) { + var rSpan = node.parentNode.getClientRects()[0] + if (rSpan) + { rect = {left: rSpan.left, right: rSpan.left + charWidth(cm.display), top: rSpan.top, bottom: rSpan.bottom} } + else + { rect = nullRect } + } + + var rtop = rect.top - prepared.rect.top, rbot = rect.bottom - prepared.rect.top + var mid = (rtop + rbot) / 2 + var heights = prepared.view.measure.heights + var i = 0 + for (; i < heights.length - 1; i++) + { if (mid < heights[i]) { break } } + var top = i ? heights[i - 1] : 0, bot = heights[i] + var result = {left: (collapse == "right" ? rect.right : rect.left) - prepared.rect.left, + right: (collapse == "left" ? rect.left : rect.right) - prepared.rect.left, + top: top, bottom: bot} + if (!rect.left && !rect.right) { result.bogus = true } + if (!cm.options.singleCursorHeightPerLine) { result.rtop = rtop; result.rbottom = rbot } + + return result +} + +// Work around problem with bounding client rects on ranges being +// returned incorrectly when zoomed on IE10 and below. +function maybeUpdateRectForZooming(measure, rect) { + if (!window.screen || screen.logicalXDPI == null || + screen.logicalXDPI == screen.deviceXDPI || !hasBadZoomedRects(measure)) + { return rect } + var scaleX = screen.logicalXDPI / screen.deviceXDPI + var scaleY = screen.logicalYDPI / screen.deviceYDPI + return {left: rect.left * scaleX, right: rect.right * scaleX, + top: rect.top * scaleY, bottom: rect.bottom * scaleY} +} + +function clearLineMeasurementCacheFor(lineView) { + if (lineView.measure) { + lineView.measure.cache = {} + lineView.measure.heights = null + if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++) + { lineView.measure.caches[i] = {} } } + } +} + +function clearLineMeasurementCache(cm) { + cm.display.externalMeasure = null + removeChildren(cm.display.lineMeasure) + for (var i = 0; i < cm.display.view.length; i++) + { clearLineMeasurementCacheFor(cm.display.view[i]) } +} + +function clearCaches(cm) { + clearLineMeasurementCache(cm) + cm.display.cachedCharWidth = cm.display.cachedTextHeight = cm.display.cachedPaddingH = null + if (!cm.options.lineWrapping) { cm.display.maxLineChanged = true } + cm.display.lineNumChars = null +} + +function pageScrollX() { + // Work around https://bugs.chromium.org/p/chromium/issues/detail?id=489206 + // which causes page_Offset and bounding client rects to use + // different reference viewports and invalidate our calculations. + if (chrome && android) { return -(document.body.getBoundingClientRect().left - parseInt(getComputedStyle(document.body).marginLeft)) } + return window.pageXOffset || (document.documentElement || document.body).scrollLeft +} +function pageScrollY() { + if (chrome && android) { return -(document.body.getBoundingClientRect().top - parseInt(getComputedStyle(document.body).marginTop)) } + return window.pageYOffset || (document.documentElement || document.body).scrollTop +} + +function widgetTopHeight(lineObj) { + var height = 0 + if (lineObj.widgets) { for (var i = 0; i < lineObj.widgets.length; ++i) { if (lineObj.widgets[i].above) + { height += widgetHeight(lineObj.widgets[i]) } } } + return height +} + +// Converts a {top, bottom, left, right} box from line-local +// coordinates into another coordinate system. Context may be one of +// "line", "div" (display.lineDiv), "local"./null (editor), "window", +// or "page". +function intoCoordSystem(cm, lineObj, rect, context, includeWidgets) { + if (!includeWidgets) { + var height = widgetTopHeight(lineObj) + rect.top += height; rect.bottom += height + } + if (context == "line") { return rect } + if (!context) { context = "local" } + var yOff = heightAtLine(lineObj) + if (context == "local") { yOff += paddingTop(cm.display) } + else { yOff -= cm.display.viewOffset } + if (context == "page" || context == "window") { + var lOff = cm.display.lineSpace.getBoundingClientRect() + yOff += lOff.top + (context == "window" ? 0 : pageScrollY()) + var xOff = lOff.left + (context == "window" ? 0 : pageScrollX()) + rect.left += xOff; rect.right += xOff + } + rect.top += yOff; rect.bottom += yOff + return rect +} + +// Coverts a box from "div" coords to another coordinate system. +// Context may be "window", "page", "div", or "local"./null. +function fromCoordSystem(cm, coords, context) { + if (context == "div") { return coords } + var left = coords.left, top = coords.top + // First move into "page" coordinate system + if (context == "page") { + left -= pageScrollX() + top -= pageScrollY() + } else if (context == "local" || !context) { + var localBox = cm.display.sizer.getBoundingClientRect() + left += localBox.left + top += localBox.top + } + + var lineSpaceBox = cm.display.lineSpace.getBoundingClientRect() + return {left: left - lineSpaceBox.left, top: top - lineSpaceBox.top} +} + +function charCoords(cm, pos, context, lineObj, bias) { + if (!lineObj) { lineObj = getLine(cm.doc, pos.line) } + return intoCoordSystem(cm, lineObj, measureChar(cm, lineObj, pos.ch, bias), context) +} + +// Returns a box for a given cursor position, which may have an +// 'other' property containing the position of the secondary cursor +// on a bidi boundary. +// A cursor Pos(line, char, "before") is on the same visual line as `char - 1` +// and after `char - 1` in writing order of `char - 1` +// A cursor Pos(line, char, "after") is on the same visual line as `char` +// and before `char` in writing order of `char` +// Examples (upper-case letters are RTL, lower-case are LTR): +// Pos(0, 1, ...) +// before after +// ab a|b a|b +// aB a|B aB| +// Ab |Ab A|b +// AB B|A B|A +// Every position after the last character on a line is considered to stick +// to the last character on the line. +function cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHeight) { + lineObj = lineObj || getLine(cm.doc, pos.line) + if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj) } + function get(ch, right) { + var m = measureCharPrepared(cm, preparedMeasure, ch, right ? "right" : "left", varHeight) + if (right) { m.left = m.right; } else { m.right = m.left } + return intoCoordSystem(cm, lineObj, m, context) + } + var order = getOrder(lineObj, cm.doc.direction), ch = pos.ch, sticky = pos.sticky + if (ch >= lineObj.text.length) { + ch = lineObj.text.length + sticky = "before" + } else if (ch <= 0) { + ch = 0 + sticky = "after" + } + if (!order) { return get(sticky == "before" ? ch - 1 : ch, sticky == "before") } + + function getBidi(ch, partPos, invert) { + var part = order[partPos], right = part.level == 1 + return get(invert ? ch - 1 : ch, right != invert) + } + var partPos = getBidiPartAt(order, ch, sticky) + var other = bidiOther + var val = getBidi(ch, partPos, sticky == "before") + if (other != null) { val.other = getBidi(ch, other, sticky != "before") } + return val +} + +// Used to cheaply estimate the coordinates for a position. Used for +// intermediate scroll updates. +function estimateCoords(cm, pos) { + var left = 0 + pos = clipPos(cm.doc, pos) + if (!cm.options.lineWrapping) { left = charWidth(cm.display) * pos.ch } + var lineObj = getLine(cm.doc, pos.line) + var top = heightAtLine(lineObj) + paddingTop(cm.display) + return {left: left, right: left, top: top, bottom: top + lineObj.height} +} + +// Positions returned by coordsChar contain some extra information. +// xRel is the relative x position of the input coordinates compared +// to the found position (so xRel > 0 means the coordinates are to +// the right of the character position, for example). When outside +// is true, that means the coordinates lie outside the line's +// vertical range. +function PosWithInfo(line, ch, sticky, outside, xRel) { + var pos = Pos(line, ch, sticky) + pos.xRel = xRel + if (outside) { pos.outside = true } + return pos +} + +// Compute the character position closest to the given coordinates. +// Input must be lineSpace-local ("div" coordinate system). +function coordsChar(cm, x, y) { + var doc = cm.doc + y += cm.display.viewOffset + if (y < 0) { return PosWithInfo(doc.first, 0, null, true, -1) } + var lineN = lineAtHeight(doc, y), last = doc.first + doc.size - 1 + if (lineN > last) + { return PosWithInfo(doc.first + doc.size - 1, getLine(doc, last).text.length, null, true, 1) } + if (x < 0) { x = 0 } + + var lineObj = getLine(doc, lineN) + for (;;) { + var found = coordsCharInner(cm, lineObj, lineN, x, y) + var merged = collapsedSpanAtEnd(lineObj) + var mergedPos = merged && merged.find(0, true) + if (merged && (found.ch > mergedPos.from.ch || found.ch == mergedPos.from.ch && found.xRel > 0)) + { lineN = lineNo(lineObj = mergedPos.to.line) } + else + { return found } + } +} + +function wrappedLineExtent(cm, lineObj, preparedMeasure, y) { + y -= widgetTopHeight(lineObj) + var end = lineObj.text.length + var begin = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch - 1).bottom <= y; }, end, 0) + end = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch).top > y; }, begin, end) + return {begin: begin, end: end} +} + +function wrappedLineExtentChar(cm, lineObj, preparedMeasure, target) { + if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj) } + var targetTop = intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, target), "line").top + return wrappedLineExtent(cm, lineObj, preparedMeasure, targetTop) +} + +// Returns true if the given side of a box is after the given +// coordinates, in top-to-bottom, left-to-right order. +function boxIsAfter(box, x, y, left) { + return box.bottom <= y ? false : box.top > y ? true : (left ? box.left : box.right) > x +} + +function coordsCharInner(cm, lineObj, lineNo, x, y) { + // Move y into line-local coordinate space + y -= heightAtLine(lineObj) + var preparedMeasure = prepareMeasureForLine(cm, lineObj) + // When directly calling `measureCharPrepared`, we have to adjust + // for the widgets at this line. + var widgetHeight = widgetTopHeight(lineObj) + var begin = 0, end = lineObj.text.length, ltr = true + + var order = getOrder(lineObj, cm.doc.direction) + // If the line isn't plain left-to-right text, first figure out + // which bidi section the coordinates fall into. + if (order) { + var part = (cm.options.lineWrapping ? coordsBidiPartWrapped : coordsBidiPart) + (cm, lineObj, lineNo, preparedMeasure, order, x, y) + ltr = part.level != 1 + // The awkward -1 offsets are needed because findFirst (called + // on these below) will treat its first bound as inclusive, + // second as exclusive, but we want to actually address the + // characters in the part's range + begin = ltr ? part.from : part.to - 1 + end = ltr ? part.to : part.from - 1 + } + + // A binary search to find the first character whose bounding box + // starts after the coordinates. If we run across any whose box wrap + // the coordinates, store that. + var chAround = null, boxAround = null + var ch = findFirst(function (ch) { + var box = measureCharPrepared(cm, preparedMeasure, ch) + box.top += widgetHeight; box.bottom += widgetHeight + if (!boxIsAfter(box, x, y, false)) { return false } + if (box.top <= y && box.left <= x) { + chAround = ch + boxAround = box + } + return true + }, begin, end) + + var baseX, sticky, outside = false + // If a box around the coordinates was found, use that + if (boxAround) { + // Distinguish coordinates nearer to the left or right side of the box + var atLeft = x - boxAround.left < boxAround.right - x, atStart = atLeft == ltr + ch = chAround + (atStart ? 0 : 1) + sticky = atStart ? "after" : "before" + baseX = atLeft ? boxAround.left : boxAround.right + } else { + // (Adjust for extended bound, if necessary.) + if (!ltr && (ch == end || ch == begin)) { ch++ } + // To determine which side to associate with, get the box to the + // left of the character and compare it's vertical position to the + // coordinates + sticky = ch == 0 ? "after" : ch == lineObj.text.length ? "before" : + (measureCharPrepared(cm, preparedMeasure, ch - (ltr ? 1 : 0)).bottom + widgetHeight <= y) == ltr ? + "after" : "before" + // Now get accurate coordinates for this place, in order to get a + // base X position + var coords = cursorCoords(cm, Pos(lineNo, ch, sticky), "line", lineObj, preparedMeasure) + baseX = coords.left + outside = y < coords.top || y >= coords.bottom + } + + ch = skipExtendingChars(lineObj.text, ch, 1) + return PosWithInfo(lineNo, ch, sticky, outside, x - baseX) +} + +function coordsBidiPart(cm, lineObj, lineNo, preparedMeasure, order, x, y) { + // Bidi parts are sorted left-to-right, and in a non-line-wrapping + // situation, we can take this ordering to correspond to the visual + // ordering. This finds the first part whose end is after the given + // coordinates. + var index = findFirst(function (i) { + var part = order[i], ltr = part.level != 1 + return boxIsAfter(cursorCoords(cm, Pos(lineNo, ltr ? part.to : part.from, ltr ? "before" : "after"), + "line", lineObj, preparedMeasure), x, y, true) + }, 0, order.length - 1) + var part = order[index] + // If this isn't the first part, the part's start is also after + // the coordinates, and the coordinates aren't on the same line as + // that start, move one part back. + if (index > 0) { + var ltr = part.level != 1 + var start = cursorCoords(cm, Pos(lineNo, ltr ? part.from : part.to, ltr ? "after" : "before"), + "line", lineObj, preparedMeasure) + if (boxIsAfter(start, x, y, true) && start.top > y) + { part = order[index - 1] } + } + return part +} + +function coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, order, x, y) { + // In a wrapped line, rtl text on wrapping boundaries can do things + // that don't correspond to the ordering in our `order` array at + // all, so a binary search doesn't work, and we want to return a + // part that only spans one line so that the binary search in + // coordsCharInner is safe. As such, we first find the extent of the + // wrapped line, and then do a flat search in which we discard any + // spans that aren't on the line. + var ref = wrappedLineExtent(cm, lineObj, preparedMeasure, y); + var begin = ref.begin; + var end = ref.end; + if (/\s/.test(lineObj.text.charAt(end - 1))) { end-- } + var part = null, closestDist = null + for (var i = 0; i < order.length; i++) { + var p = order[i] + if (p.from >= end || p.to <= begin) { continue } + var ltr = p.level != 1 + var endX = measureCharPrepared(cm, preparedMeasure, ltr ? Math.min(end, p.to) - 1 : Math.max(begin, p.from)).right + // Weigh against spans ending before this, so that they are only + // picked if nothing ends after + var dist = endX < x ? x - endX + 1e9 : endX - x + if (!part || closestDist > dist) { + part = p + closestDist = dist + } + } + if (!part) { part = order[order.length - 1] } + // Clip the part to the wrapped line. + if (part.from < begin) { part = {from: begin, to: part.to, level: part.level} } + if (part.to > end) { part = {from: part.from, to: end, level: part.level} } + return part +} + +var measureText +// Compute the default text height. +function textHeight(display) { + if (display.cachedTextHeight != null) { return display.cachedTextHeight } + if (measureText == null) { + measureText = elt("pre") + // Measure a bunch of lines, for browsers that compute + // fractional heights. + for (var i = 0; i < 49; ++i) { + measureText.appendChild(document.createTextNode("x")) + measureText.appendChild(elt("br")) + } + measureText.appendChild(document.createTextNode("x")) + } + removeChildrenAndAdd(display.measure, measureText) + var height = measureText.offsetHeight / 50 + if (height > 3) { display.cachedTextHeight = height } + removeChildren(display.measure) + return height || 1 +} + +// Compute the default character width. +function charWidth(display) { + if (display.cachedCharWidth != null) { return display.cachedCharWidth } + var anchor = elt("span", "xxxxxxxxxx") + var pre = elt("pre", [anchor]) + removeChildrenAndAdd(display.measure, pre) + var rect = anchor.getBoundingClientRect(), width = (rect.right - rect.left) / 10 + if (width > 2) { display.cachedCharWidth = width } + return width || 10 +} + +// Do a bulk-read of the DOM positions and sizes needed to draw the +// view, so that we don't interleave reading and writing to the DOM. +function getDimensions(cm) { + var d = cm.display, left = {}, width = {} + var gutterLeft = d.gutters.clientLeft + for (var n = d.gutters.firstChild, i = 0; n; n = n.nextSibling, ++i) { + left[cm.options.gutters[i]] = n.offsetLeft + n.clientLeft + gutterLeft + width[cm.options.gutters[i]] = n.clientWidth + } + return {fixedPos: compensateForHScroll(d), + gutterTotalWidth: d.gutters.offsetWidth, + gutterLeft: left, + gutterWidth: width, + wrapperWidth: d.wrapper.clientWidth} +} + +// Computes display.scroller.scrollLeft + display.gutters.offsetWidth, +// but using getBoundingClientRect to get a sub-pixel-accurate +// result. +function compensateForHScroll(display) { + return display.scroller.getBoundingClientRect().left - display.sizer.getBoundingClientRect().left +} + +// Returns a function that estimates the height of a line, to use as +// first approximation until the line becomes visible (and is thus +// properly measurable). +function estimateHeight(cm) { + var th = textHeight(cm.display), wrapping = cm.options.lineWrapping + var perLine = wrapping && Math.max(5, cm.display.scroller.clientWidth / charWidth(cm.display) - 3) + return function (line) { + if (lineIsHidden(cm.doc, line)) { return 0 } + + var widgetsHeight = 0 + if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) { + if (line.widgets[i].height) { widgetsHeight += line.widgets[i].height } + } } + + if (wrapping) + { return widgetsHeight + (Math.ceil(line.text.length / perLine) || 1) * th } + else + { return widgetsHeight + th } + } +} + +function estimateLineHeights(cm) { + var doc = cm.doc, est = estimateHeight(cm) + doc.iter(function (line) { + var estHeight = est(line) + if (estHeight != line.height) { updateLineHeight(line, estHeight) } + }) +} + +// Given a mouse event, find the corresponding position. If liberal +// is false, it checks whether a gutter or scrollbar was clicked, +// and returns null if it was. forRect is used by rectangular +// selections, and tries to estimate a character position even for +// coordinates beyond the right of the text. +function posFromMouse(cm, e, liberal, forRect) { + var display = cm.display + if (!liberal && e_target(e).getAttribute("cm-not-content") == "true") { return null } + + var x, y, space = display.lineSpace.getBoundingClientRect() + // Fails unpredictably on IE[67] when mouse is dragged around quickly. + try { x = e.clientX - space.left; y = e.clientY - space.top } + catch (e) { return null } + var coords = coordsChar(cm, x, y), line + if (forRect && coords.xRel == 1 && (line = getLine(cm.doc, coords.line).text).length == coords.ch) { + var colDiff = countColumn(line, line.length, cm.options.tabSize) - line.length + coords = Pos(coords.line, Math.max(0, Math.round((x - paddingH(cm.display).left) / charWidth(cm.display)) - colDiff)) + } + return coords +} + +// Find the view element corresponding to a given line. Return null +// when the line isn't visible. +function findViewIndex(cm, n) { + if (n >= cm.display.viewTo) { return null } + n -= cm.display.viewFrom + if (n < 0) { return null } + var view = cm.display.view + for (var i = 0; i < view.length; i++) { + n -= view[i].size + if (n < 0) { return i } + } +} + +function updateSelection(cm) { + cm.display.input.showSelection(cm.display.input.prepareSelection()) +} + +function prepareSelection(cm, primary) { + if ( primary === void 0 ) primary = true; + + var doc = cm.doc, result = {} + var curFragment = result.cursors = document.createDocumentFragment() + var selFragment = result.selection = document.createDocumentFragment() + + for (var i = 0; i < doc.sel.ranges.length; i++) { + if (!primary && i == doc.sel.primIndex) { continue } + var range = doc.sel.ranges[i] + if (range.from().line >= cm.display.viewTo || range.to().line < cm.display.viewFrom) { continue } + var collapsed = range.empty() + if (collapsed || cm.options.showCursorWhenSelecting) + { drawSelectionCursor(cm, range.head, curFragment) } + if (!collapsed) + { drawSelectionRange(cm, range, selFragment) } + } + return result +} + +// Draws a cursor for the given range +function drawSelectionCursor(cm, head, output) { + var pos = cursorCoords(cm, head, "div", null, null, !cm.options.singleCursorHeightPerLine) + + var cursor = output.appendChild(elt("div", "\u00a0", "CodeMirror-cursor")) + cursor.style.left = pos.left + "px" + cursor.style.top = pos.top + "px" + cursor.style.height = Math.max(0, pos.bottom - pos.top) * cm.options.cursorHeight + "px" + + if (pos.other) { + // Secondary cursor, shown when on a 'jump' in bi-directional text + var otherCursor = output.appendChild(elt("div", "\u00a0", "CodeMirror-cursor CodeMirror-secondarycursor")) + otherCursor.style.display = "" + otherCursor.style.left = pos.other.left + "px" + otherCursor.style.top = pos.other.top + "px" + otherCursor.style.height = (pos.other.bottom - pos.other.top) * .85 + "px" + } +} + +function cmpCoords(a, b) { return a.top - b.top || a.left - b.left } + +// Draws the given range as a highlighted selection +function drawSelectionRange(cm, range, output) { + var display = cm.display, doc = cm.doc + var fragment = document.createDocumentFragment() + var padding = paddingH(cm.display), leftSide = padding.left + var rightSide = Math.max(display.sizerWidth, displayWidth(cm) - display.sizer.offsetLeft) - padding.right + var docLTR = doc.direction == "ltr" + + function add(left, top, width, bottom) { + if (top < 0) { top = 0 } + top = Math.round(top) + bottom = Math.round(bottom) + fragment.appendChild(elt("div", null, "CodeMirror-selected", ("position: absolute; left: " + left + "px;\n top: " + top + "px; width: " + (width == null ? rightSide - left : width) + "px;\n height: " + (bottom - top) + "px"))) + } + + function drawForLine(line, fromArg, toArg) { + var lineObj = getLine(doc, line) + var lineLen = lineObj.text.length + var start, end + function coords(ch, bias) { + return charCoords(cm, Pos(line, ch), "div", lineObj, bias) + } + + function wrapX(pos, dir, side) { + var extent = wrappedLineExtentChar(cm, lineObj, null, pos) + var prop = (dir == "ltr") == (side == "after") ? "left" : "right" + var ch = side == "after" ? extent.begin : extent.end - (/\s/.test(lineObj.text.charAt(extent.end - 1)) ? 2 : 1) + return coords(ch, prop)[prop] + } + + var order = getOrder(lineObj, doc.direction) + iterateBidiSections(order, fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir, i) { + var ltr = dir == "ltr" + var fromPos = coords(from, ltr ? "left" : "right") + var toPos = coords(to - 1, ltr ? "right" : "left") + + var openStart = fromArg == null && from == 0, openEnd = toArg == null && to == lineLen + var first = i == 0, last = !order || i == order.length - 1 + if (toPos.top - fromPos.top <= 3) { // Single line + var openLeft = (docLTR ? openStart : openEnd) && first + var openRight = (docLTR ? openEnd : openStart) && last + var left = openLeft ? leftSide : (ltr ? fromPos : toPos).left + var right = openRight ? rightSide : (ltr ? toPos : fromPos).right + add(left, fromPos.top, right - left, fromPos.bottom) + } else { // Multiple lines + var topLeft, topRight, botLeft, botRight + if (ltr) { + topLeft = docLTR && openStart && first ? leftSide : fromPos.left + topRight = docLTR ? rightSide : wrapX(from, dir, "before") + botLeft = docLTR ? leftSide : wrapX(to, dir, "after") + botRight = docLTR && openEnd && last ? rightSide : toPos.right + } else { + topLeft = !docLTR ? leftSide : wrapX(from, dir, "before") + topRight = !docLTR && openStart && first ? rightSide : fromPos.right + botLeft = !docLTR && openEnd && last ? leftSide : toPos.left + botRight = !docLTR ? rightSide : wrapX(to, dir, "after") + } + add(topLeft, fromPos.top, topRight - topLeft, fromPos.bottom) + if (fromPos.bottom < toPos.top) { add(leftSide, fromPos.bottom, null, toPos.top) } + add(botLeft, toPos.top, botRight - botLeft, toPos.bottom) + } + + if (!start || cmpCoords(fromPos, start) < 0) { start = fromPos } + if (cmpCoords(toPos, start) < 0) { start = toPos } + if (!end || cmpCoords(fromPos, end) < 0) { end = fromPos } + if (cmpCoords(toPos, end) < 0) { end = toPos } + }) + return {start: start, end: end} + } + + var sFrom = range.from(), sTo = range.to() + if (sFrom.line == sTo.line) { + drawForLine(sFrom.line, sFrom.ch, sTo.ch) + } else { + var fromLine = getLine(doc, sFrom.line), toLine = getLine(doc, sTo.line) + var singleVLine = visualLine(fromLine) == visualLine(toLine) + var leftEnd = drawForLine(sFrom.line, sFrom.ch, singleVLine ? fromLine.text.length + 1 : null).end + var rightStart = drawForLine(sTo.line, singleVLine ? 0 : null, sTo.ch).start + if (singleVLine) { + if (leftEnd.top < rightStart.top - 2) { + add(leftEnd.right, leftEnd.top, null, leftEnd.bottom) + add(leftSide, rightStart.top, rightStart.left, rightStart.bottom) + } else { + add(leftEnd.right, leftEnd.top, rightStart.left - leftEnd.right, leftEnd.bottom) + } + } + if (leftEnd.bottom < rightStart.top) + { add(leftSide, leftEnd.bottom, null, rightStart.top) } + } + + output.appendChild(fragment) +} + +// Cursor-blinking +function restartBlink(cm) { + if (!cm.state.focused) { return } + var display = cm.display + clearInterval(display.blinker) + var on = true + display.cursorDiv.style.visibility = "" + if (cm.options.cursorBlinkRate > 0) + { display.blinker = setInterval(function () { return display.cursorDiv.style.visibility = (on = !on) ? "" : "hidden"; }, + cm.options.cursorBlinkRate) } + else if (cm.options.cursorBlinkRate < 0) + { display.cursorDiv.style.visibility = "hidden" } +} + +function ensureFocus(cm) { + if (!cm.state.focused) { cm.display.input.focus(); onFocus(cm) } +} + +function delayBlurEvent(cm) { + cm.state.delayingBlurEvent = true + setTimeout(function () { if (cm.state.delayingBlurEvent) { + cm.state.delayingBlurEvent = false + onBlur(cm) + } }, 100) +} + +function onFocus(cm, e) { + if (cm.state.delayingBlurEvent) { cm.state.delayingBlurEvent = false } + + if (cm.options.readOnly == "nocursor") { return } + if (!cm.state.focused) { + signal(cm, "focus", cm, e) + cm.state.focused = true + addClass(cm.display.wrapper, "CodeMirror-focused") + // This test prevents this from firing when a context + // menu is closed (since the input reset would kill the + // select-all detection hack) + if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) { + cm.display.input.reset() + if (webkit) { setTimeout(function () { return cm.display.input.reset(true); }, 20) } // Issue #1730 + } + cm.display.input.receivedFocus() + } + restartBlink(cm) +} +function onBlur(cm, e) { + if (cm.state.delayingBlurEvent) { return } + + if (cm.state.focused) { + signal(cm, "blur", cm, e) + cm.state.focused = false + rmClass(cm.display.wrapper, "CodeMirror-focused") + } + clearInterval(cm.display.blinker) + setTimeout(function () { if (!cm.state.focused) { cm.display.shift = false } }, 150) +} + +// Read the actual heights of the rendered lines, and update their +// stored heights to match. +function updateHeightsInViewport(cm) { + var display = cm.display + var prevBottom = display.lineDiv.offsetTop + for (var i = 0; i < display.view.length; i++) { + var cur = display.view[i], height = (void 0) + if (cur.hidden) { continue } + if (ie && ie_version < 8) { + var bot = cur.node.offsetTop + cur.node.offsetHeight + height = bot - prevBottom + prevBottom = bot + } else { + var box = cur.node.getBoundingClientRect() + height = box.bottom - box.top + } + var diff = cur.line.height - height + if (height < 2) { height = textHeight(display) } + if (diff > .005 || diff < -.005) { + updateLineHeight(cur.line, height) + updateWidgetHeight(cur.line) + if (cur.rest) { for (var j = 0; j < cur.rest.length; j++) + { updateWidgetHeight(cur.rest[j]) } } + } + } +} + +// Read and store the height of line widgets associated with the +// given line. +function updateWidgetHeight(line) { + if (line.widgets) { for (var i = 0; i < line.widgets.length; ++i) { + var w = line.widgets[i], parent = w.node.parentNode + if (parent) { w.height = parent.offsetHeight } + } } +} + +// Compute the lines that are visible in a given viewport (defaults +// the the current scroll position). viewport may contain top, +// height, and ensure (see op.scrollToPos) properties. +function visibleLines(display, doc, viewport) { + var top = viewport && viewport.top != null ? Math.max(0, viewport.top) : display.scroller.scrollTop + top = Math.floor(top - paddingTop(display)) + var bottom = viewport && viewport.bottom != null ? viewport.bottom : top + display.wrapper.clientHeight + + var from = lineAtHeight(doc, top), to = lineAtHeight(doc, bottom) + // Ensure is a {from: {line, ch}, to: {line, ch}} object, and + // forces those lines into the viewport (if possible). + if (viewport && viewport.ensure) { + var ensureFrom = viewport.ensure.from.line, ensureTo = viewport.ensure.to.line + if (ensureFrom < from) { + from = ensureFrom + to = lineAtHeight(doc, heightAtLine(getLine(doc, ensureFrom)) + display.wrapper.clientHeight) + } else if (Math.min(ensureTo, doc.lastLine()) >= to) { + from = lineAtHeight(doc, heightAtLine(getLine(doc, ensureTo)) - display.wrapper.clientHeight) + to = ensureTo + } + } + return {from: from, to: Math.max(to, from + 1)} +} + +// Re-align line numbers and gutter marks to compensate for +// horizontal scrolling. +function alignHorizontally(cm) { + var display = cm.display, view = display.view + if (!display.alignWidgets && (!display.gutters.firstChild || !cm.options.fixedGutter)) { return } + var comp = compensateForHScroll(display) - display.scroller.scrollLeft + cm.doc.scrollLeft + var gutterW = display.gutters.offsetWidth, left = comp + "px" + for (var i = 0; i < view.length; i++) { if (!view[i].hidden) { + if (cm.options.fixedGutter) { + if (view[i].gutter) + { view[i].gutter.style.left = left } + if (view[i].gutterBackground) + { view[i].gutterBackground.style.left = left } + } + var align = view[i].alignable + if (align) { for (var j = 0; j < align.length; j++) + { align[j].style.left = left } } + } } + if (cm.options.fixedGutter) + { display.gutters.style.left = (comp + gutterW) + "px" } +} + +// Used to ensure that the line number gutter is still the right +// size for the current document size. Returns true when an update +// is needed. +function maybeUpdateLineNumberWidth(cm) { + if (!cm.options.lineNumbers) { return false } + var doc = cm.doc, last = lineNumberFor(cm.options, doc.first + doc.size - 1), display = cm.display + if (last.length != display.lineNumChars) { + var test = display.measure.appendChild(elt("div", [elt("div", last)], + "CodeMirror-linenumber CodeMirror-gutter-elt")) + var innerW = test.firstChild.offsetWidth, padding = test.offsetWidth - innerW + display.lineGutter.style.width = "" + display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1 + display.lineNumWidth = display.lineNumInnerWidth + padding + display.lineNumChars = display.lineNumInnerWidth ? last.length : -1 + display.lineGutter.style.width = display.lineNumWidth + "px" + updateGutterSpace(cm) + return true + } + return false +} + +// SCROLLING THINGS INTO VIEW + +// If an editor sits on the top or bottom of the window, partially +// scrolled out of view, this ensures that the cursor is visible. +function maybeScrollWindow(cm, rect) { + if (signalDOMEvent(cm, "scrollCursorIntoView")) { return } + + var display = cm.display, box = display.sizer.getBoundingClientRect(), doScroll = null + if (rect.top + box.top < 0) { doScroll = true } + else if (rect.bottom + box.top > (window.innerHeight || document.documentElement.clientHeight)) { doScroll = false } + if (doScroll != null && !phantom) { + var scrollNode = elt("div", "\u200b", null, ("position: absolute;\n top: " + (rect.top - display.viewOffset - paddingTop(cm.display)) + "px;\n height: " + (rect.bottom - rect.top + scrollGap(cm) + display.barHeight) + "px;\n left: " + (rect.left) + "px; width: " + (Math.max(2, rect.right - rect.left)) + "px;")) + cm.display.lineSpace.appendChild(scrollNode) + scrollNode.scrollIntoView(doScroll) + cm.display.lineSpace.removeChild(scrollNode) + } +} + +// Scroll a given position into view (immediately), verifying that +// it actually became visible (as line heights are accurately +// measured, the position of something may 'drift' during drawing). +function scrollPosIntoView(cm, pos, end, margin) { + if (margin == null) { margin = 0 } + var rect + if (!cm.options.lineWrapping && pos == end) { + // Set pos and end to the cursor positions around the character pos sticks to + // If pos.sticky == "before", that is around pos.ch - 1, otherwise around pos.ch + // If pos == Pos(_, 0, "before"), pos and end are unchanged + pos = pos.ch ? Pos(pos.line, pos.sticky == "before" ? pos.ch - 1 : pos.ch, "after") : pos + end = pos.sticky == "before" ? Pos(pos.line, pos.ch + 1, "before") : pos + } + for (var limit = 0; limit < 5; limit++) { + var changed = false + var coords = cursorCoords(cm, pos) + var endCoords = !end || end == pos ? coords : cursorCoords(cm, end) + rect = {left: Math.min(coords.left, endCoords.left), + top: Math.min(coords.top, endCoords.top) - margin, + right: Math.max(coords.left, endCoords.left), + bottom: Math.max(coords.bottom, endCoords.bottom) + margin} + var scrollPos = calculateScrollPos(cm, rect) + var startTop = cm.doc.scrollTop, startLeft = cm.doc.scrollLeft + if (scrollPos.scrollTop != null) { + updateScrollTop(cm, scrollPos.scrollTop) + if (Math.abs(cm.doc.scrollTop - startTop) > 1) { changed = true } + } + if (scrollPos.scrollLeft != null) { + setScrollLeft(cm, scrollPos.scrollLeft) + if (Math.abs(cm.doc.scrollLeft - startLeft) > 1) { changed = true } + } + if (!changed) { break } + } + return rect +} + +// Scroll a given set of coordinates into view (immediately). +function scrollIntoView(cm, rect) { + var scrollPos = calculateScrollPos(cm, rect) + if (scrollPos.scrollTop != null) { updateScrollTop(cm, scrollPos.scrollTop) } + if (scrollPos.scrollLeft != null) { setScrollLeft(cm, scrollPos.scrollLeft) } +} + +// Calculate a new scroll position needed to scroll the given +// rectangle into view. Returns an object with scrollTop and +// scrollLeft properties. When these are undefined, the +// vertical/horizontal position does not need to be adjusted. +function calculateScrollPos(cm, rect) { + var display = cm.display, snapMargin = textHeight(cm.display) + if (rect.top < 0) { rect.top = 0 } + var screentop = cm.curOp && cm.curOp.scrollTop != null ? cm.curOp.scrollTop : display.scroller.scrollTop + var screen = displayHeight(cm), result = {} + if (rect.bottom - rect.top > screen) { rect.bottom = rect.top + screen } + var docBottom = cm.doc.height + paddingVert(display) + var atTop = rect.top < snapMargin, atBottom = rect.bottom > docBottom - snapMargin + if (rect.top < screentop) { + result.scrollTop = atTop ? 0 : rect.top + } else if (rect.bottom > screentop + screen) { + var newTop = Math.min(rect.top, (atBottom ? docBottom : rect.bottom) - screen) + if (newTop != screentop) { result.scrollTop = newTop } + } + + var screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft + var screenw = displayWidth(cm) - (cm.options.fixedGutter ? display.gutters.offsetWidth : 0) + var tooWide = rect.right - rect.left > screenw + if (tooWide) { rect.right = rect.left + screenw } + if (rect.left < 10) + { result.scrollLeft = 0 } + else if (rect.left < screenleft) + { result.scrollLeft = Math.max(0, rect.left - (tooWide ? 0 : 10)) } + else if (rect.right > screenw + screenleft - 3) + { result.scrollLeft = rect.right + (tooWide ? 0 : 10) - screenw } + return result +} + +// Store a relative adjustment to the scroll position in the current +// operation (to be applied when the operation finishes). +function addToScrollTop(cm, top) { + if (top == null) { return } + resolveScrollToPos(cm) + cm.curOp.scrollTop = (cm.curOp.scrollTop == null ? cm.doc.scrollTop : cm.curOp.scrollTop) + top +} + +// Make sure that at the end of the operation the current cursor is +// shown. +function ensureCursorVisible(cm) { + resolveScrollToPos(cm) + var cur = cm.getCursor() + cm.curOp.scrollToPos = {from: cur, to: cur, margin: cm.options.cursorScrollMargin} +} + +function scrollToCoords(cm, x, y) { + if (x != null || y != null) { resolveScrollToPos(cm) } + if (x != null) { cm.curOp.scrollLeft = x } + if (y != null) { cm.curOp.scrollTop = y } +} + +function scrollToRange(cm, range) { + resolveScrollToPos(cm) + cm.curOp.scrollToPos = range +} + +// When an operation has its scrollToPos property set, and another +// scroll action is applied before the end of the operation, this +// 'simulates' scrolling that position into view in a cheap way, so +// that the effect of intermediate scroll commands is not ignored. +function resolveScrollToPos(cm) { + var range = cm.curOp.scrollToPos + if (range) { + cm.curOp.scrollToPos = null + var from = estimateCoords(cm, range.from), to = estimateCoords(cm, range.to) + scrollToCoordsRange(cm, from, to, range.margin) + } +} + +function scrollToCoordsRange(cm, from, to, margin) { + var sPos = calculateScrollPos(cm, { + left: Math.min(from.left, to.left), + top: Math.min(from.top, to.top) - margin, + right: Math.max(from.right, to.right), + bottom: Math.max(from.bottom, to.bottom) + margin + }) + scrollToCoords(cm, sPos.scrollLeft, sPos.scrollTop) +} + +// Sync the scrollable area and scrollbars, ensure the viewport +// covers the visible area. +function updateScrollTop(cm, val) { + if (Math.abs(cm.doc.scrollTop - val) < 2) { return } + if (!gecko) { updateDisplaySimple(cm, {top: val}) } + setScrollTop(cm, val, true) + if (gecko) { updateDisplaySimple(cm) } + startWorker(cm, 100) +} + +function setScrollTop(cm, val, forceScroll) { + val = Math.min(cm.display.scroller.scrollHeight - cm.display.scroller.clientHeight, val) + if (cm.display.scroller.scrollTop == val && !forceScroll) { return } + cm.doc.scrollTop = val + cm.display.scrollbars.setScrollTop(val) + if (cm.display.scroller.scrollTop != val) { cm.display.scroller.scrollTop = val } +} + +// Sync scroller and scrollbar, ensure the gutter elements are +// aligned. +function setScrollLeft(cm, val, isScroller, forceScroll) { + val = Math.min(val, cm.display.scroller.scrollWidth - cm.display.scroller.clientWidth) + if ((isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) && !forceScroll) { return } + cm.doc.scrollLeft = val + alignHorizontally(cm) + if (cm.display.scroller.scrollLeft != val) { cm.display.scroller.scrollLeft = val } + cm.display.scrollbars.setScrollLeft(val) +} + +// SCROLLBARS + +// Prepare DOM reads needed to update the scrollbars. Done in one +// shot to minimize update/measure roundtrips. +function measureForScrollbars(cm) { + var d = cm.display, gutterW = d.gutters.offsetWidth + var docH = Math.round(cm.doc.height + paddingVert(cm.display)) + return { + clientHeight: d.scroller.clientHeight, + viewHeight: d.wrapper.clientHeight, + scrollWidth: d.scroller.scrollWidth, clientWidth: d.scroller.clientWidth, + viewWidth: d.wrapper.clientWidth, + barLeft: cm.options.fixedGutter ? gutterW : 0, + docHeight: docH, + scrollHeight: docH + scrollGap(cm) + d.barHeight, + nativeBarWidth: d.nativeBarWidth, + gutterWidth: gutterW + } +} + +var NativeScrollbars = function(place, scroll, cm) { + this.cm = cm + var vert = this.vert = elt("div", [elt("div", null, null, "min-width: 1px")], "CodeMirror-vscrollbar") + var horiz = this.horiz = elt("div", [elt("div", null, null, "height: 100%; min-height: 1px")], "CodeMirror-hscrollbar") + place(vert); place(horiz) + + on(vert, "scroll", function () { + if (vert.clientHeight) { scroll(vert.scrollTop, "vertical") } + }) + on(horiz, "scroll", function () { + if (horiz.clientWidth) { scroll(horiz.scrollLeft, "horizontal") } + }) + + this.checkedZeroWidth = false + // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8). + if (ie && ie_version < 8) { this.horiz.style.minHeight = this.vert.style.minWidth = "18px" } +}; + +NativeScrollbars.prototype.update = function (measure) { + var needsH = measure.scrollWidth > measure.clientWidth + 1 + var needsV = measure.scrollHeight > measure.clientHeight + 1 + var sWidth = measure.nativeBarWidth + + if (needsV) { + this.vert.style.display = "block" + this.vert.style.bottom = needsH ? sWidth + "px" : "0" + var totalHeight = measure.viewHeight - (needsH ? sWidth : 0) + // A bug in IE8 can cause this value to be negative, so guard it. + this.vert.firstChild.style.height = + Math.max(0, measure.scrollHeight - measure.clientHeight + totalHeight) + "px" + } else { + this.vert.style.display = "" + this.vert.firstChild.style.height = "0" + } + + if (needsH) { + this.horiz.style.display = "block" + this.horiz.style.right = needsV ? sWidth + "px" : "0" + this.horiz.style.left = measure.barLeft + "px" + var totalWidth = measure.viewWidth - measure.barLeft - (needsV ? sWidth : 0) + this.horiz.firstChild.style.width = + Math.max(0, measure.scrollWidth - measure.clientWidth + totalWidth) + "px" + } else { + this.horiz.style.display = "" + this.horiz.firstChild.style.width = "0" + } + + if (!this.checkedZeroWidth && measure.clientHeight > 0) { + if (sWidth == 0) { this.zeroWidthHack() } + this.checkedZeroWidth = true + } + + return {right: needsV ? sWidth : 0, bottom: needsH ? sWidth : 0} +}; + +NativeScrollbars.prototype.setScrollLeft = function (pos) { + if (this.horiz.scrollLeft != pos) { this.horiz.scrollLeft = pos } + if (this.disableHoriz) { this.enableZeroWidthBar(this.horiz, this.disableHoriz, "horiz") } +}; + +NativeScrollbars.prototype.setScrollTop = function (pos) { + if (this.vert.scrollTop != pos) { this.vert.scrollTop = pos } + if (this.disableVert) { this.enableZeroWidthBar(this.vert, this.disableVert, "vert") } +}; + +NativeScrollbars.prototype.zeroWidthHack = function () { + var w = mac && !mac_geMountainLion ? "12px" : "18px" + this.horiz.style.height = this.vert.style.width = w + this.horiz.style.pointerEvents = this.vert.style.pointerEvents = "none" + this.disableHoriz = new Delayed + this.disableVert = new Delayed +}; + +NativeScrollbars.prototype.enableZeroWidthBar = function (bar, delay, type) { + bar.style.pointerEvents = "auto" + function maybeDisable() { + // To find out whether the scrollbar is still visible, we + // check whether the element under the pixel in the bottom + // right corner of the scrollbar box is the scrollbar box + // itself (when the bar is still visible) or its filler child + // (when the bar is hidden). If it is still visible, we keep + // it enabled, if it's hidden, we disable pointer events. + var box = bar.getBoundingClientRect() + var elt = type == "vert" ? document.elementFromPoint(box.right - 1, (box.top + box.bottom) / 2) + : document.elementFromPoint((box.right + box.left) / 2, box.bottom - 1) + if (elt != bar) { bar.style.pointerEvents = "none" } + else { delay.set(1000, maybeDisable) } + } + delay.set(1000, maybeDisable) +}; + +NativeScrollbars.prototype.clear = function () { + var parent = this.horiz.parentNode + parent.removeChild(this.horiz) + parent.removeChild(this.vert) +}; + +var NullScrollbars = function () {}; + +NullScrollbars.prototype.update = function () { return {bottom: 0, right: 0} }; +NullScrollbars.prototype.setScrollLeft = function () {}; +NullScrollbars.prototype.setScrollTop = function () {}; +NullScrollbars.prototype.clear = function () {}; + +function updateScrollbars(cm, measure) { + if (!measure) { measure = measureForScrollbars(cm) } + var startWidth = cm.display.barWidth, startHeight = cm.display.barHeight + updateScrollbarsInner(cm, measure) + for (var i = 0; i < 4 && startWidth != cm.display.barWidth || startHeight != cm.display.barHeight; i++) { + if (startWidth != cm.display.barWidth && cm.options.lineWrapping) + { updateHeightsInViewport(cm) } + updateScrollbarsInner(cm, measureForScrollbars(cm)) + startWidth = cm.display.barWidth; startHeight = cm.display.barHeight + } +} + +// Re-synchronize the fake scrollbars with the actual size of the +// content. +function updateScrollbarsInner(cm, measure) { + var d = cm.display + var sizes = d.scrollbars.update(measure) + + d.sizer.style.paddingRight = (d.barWidth = sizes.right) + "px" + d.sizer.style.paddingBottom = (d.barHeight = sizes.bottom) + "px" + d.heightForcer.style.borderBottom = sizes.bottom + "px solid transparent" + + if (sizes.right && sizes.bottom) { + d.scrollbarFiller.style.display = "block" + d.scrollbarFiller.style.height = sizes.bottom + "px" + d.scrollbarFiller.style.width = sizes.right + "px" + } else { d.scrollbarFiller.style.display = "" } + if (sizes.bottom && cm.options.coverGutterNextToScrollbar && cm.options.fixedGutter) { + d.gutterFiller.style.display = "block" + d.gutterFiller.style.height = sizes.bottom + "px" + d.gutterFiller.style.width = measure.gutterWidth + "px" + } else { d.gutterFiller.style.display = "" } +} + +var scrollbarModel = {"native": NativeScrollbars, "null": NullScrollbars} + +function initScrollbars(cm) { + if (cm.display.scrollbars) { + cm.display.scrollbars.clear() + if (cm.display.scrollbars.addClass) + { rmClass(cm.display.wrapper, cm.display.scrollbars.addClass) } + } + + cm.display.scrollbars = new scrollbarModel[cm.options.scrollbarStyle](function (node) { + cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller) + // Prevent clicks in the scrollbars from killing focus + on(node, "mousedown", function () { + if (cm.state.focused) { setTimeout(function () { return cm.display.input.focus(); }, 0) } + }) + node.setAttribute("cm-not-content", "true") + }, function (pos, axis) { + if (axis == "horizontal") { setScrollLeft(cm, pos) } + else { updateScrollTop(cm, pos) } + }, cm) + if (cm.display.scrollbars.addClass) + { addClass(cm.display.wrapper, cm.display.scrollbars.addClass) } +} + +// Operations are used to wrap a series of changes to the editor +// state in such a way that each change won't have to update the +// cursor and display (which would be awkward, slow, and +// error-prone). Instead, display updates are batched and then all +// combined and executed at once. + +var nextOpId = 0 +// Start a new operation. +function startOperation(cm) { + cm.curOp = { + cm: cm, + viewChanged: false, // Flag that indicates that lines might need to be redrawn + startHeight: cm.doc.height, // Used to detect need to update scrollbar + forceUpdate: false, // Used to force a redraw + updateInput: null, // Whether to reset the input textarea + typing: false, // Whether this reset should be careful to leave existing text (for compositing) + changeObjs: null, // Accumulated changes, for firing change events + cursorActivityHandlers: null, // Set of handlers to fire cursorActivity on + cursorActivityCalled: 0, // Tracks which cursorActivity handlers have been called already + selectionChanged: false, // Whether the selection needs to be redrawn + updateMaxLine: false, // Set when the widest line needs to be determined anew + scrollLeft: null, scrollTop: null, // Intermediate scroll position, not pushed to DOM yet + scrollToPos: null, // Used to scroll to a specific position + focus: false, + id: ++nextOpId // Unique ID + } + pushOperation(cm.curOp) +} + +// Finish an operation, updating the display and signalling delayed events +function endOperation(cm) { + var op = cm.curOp + finishOperation(op, function (group) { + for (var i = 0; i < group.ops.length; i++) + { group.ops[i].cm.curOp = null } + endOperations(group) + }) +} + +// The DOM updates done when an operation finishes are batched so +// that the minimum number of relayouts are required. +function endOperations(group) { + var ops = group.ops + for (var i = 0; i < ops.length; i++) // Read DOM + { endOperation_R1(ops[i]) } + for (var i$1 = 0; i$1 < ops.length; i$1++) // Write DOM (maybe) + { endOperation_W1(ops[i$1]) } + for (var i$2 = 0; i$2 < ops.length; i$2++) // Read DOM + { endOperation_R2(ops[i$2]) } + for (var i$3 = 0; i$3 < ops.length; i$3++) // Write DOM (maybe) + { endOperation_W2(ops[i$3]) } + for (var i$4 = 0; i$4 < ops.length; i$4++) // Read DOM + { endOperation_finish(ops[i$4]) } +} + +function endOperation_R1(op) { + var cm = op.cm, display = cm.display + maybeClipScrollbars(cm) + if (op.updateMaxLine) { findMaxLine(cm) } + + op.mustUpdate = op.viewChanged || op.forceUpdate || op.scrollTop != null || + op.scrollToPos && (op.scrollToPos.from.line < display.viewFrom || + op.scrollToPos.to.line >= display.viewTo) || + display.maxLineChanged && cm.options.lineWrapping + op.update = op.mustUpdate && + new DisplayUpdate(cm, op.mustUpdate && {top: op.scrollTop, ensure: op.scrollToPos}, op.forceUpdate) +} + +function endOperation_W1(op) { + op.updatedDisplay = op.mustUpdate && updateDisplayIfNeeded(op.cm, op.update) +} + +function endOperation_R2(op) { + var cm = op.cm, display = cm.display + if (op.updatedDisplay) { updateHeightsInViewport(cm) } + + op.barMeasure = measureForScrollbars(cm) + + // If the max line changed since it was last measured, measure it, + // and ensure the document's width matches it. + // updateDisplay_W2 will use these properties to do the actual resizing + if (display.maxLineChanged && !cm.options.lineWrapping) { + op.adjustWidthTo = measureChar(cm, display.maxLine, display.maxLine.text.length).left + 3 + cm.display.sizerWidth = op.adjustWidthTo + op.barMeasure.scrollWidth = + Math.max(display.scroller.clientWidth, display.sizer.offsetLeft + op.adjustWidthTo + scrollGap(cm) + cm.display.barWidth) + op.maxScrollLeft = Math.max(0, display.sizer.offsetLeft + op.adjustWidthTo - displayWidth(cm)) + } + + if (op.updatedDisplay || op.selectionChanged) + { op.preparedSelection = display.input.prepareSelection() } +} + +function endOperation_W2(op) { + var cm = op.cm + + if (op.adjustWidthTo != null) { + cm.display.sizer.style.minWidth = op.adjustWidthTo + "px" + if (op.maxScrollLeft < cm.doc.scrollLeft) + { setScrollLeft(cm, Math.min(cm.display.scroller.scrollLeft, op.maxScrollLeft), true) } + cm.display.maxLineChanged = false + } + + var takeFocus = op.focus && op.focus == activeElt() + if (op.preparedSelection) + { cm.display.input.showSelection(op.preparedSelection, takeFocus) } + if (op.updatedDisplay || op.startHeight != cm.doc.height) + { updateScrollbars(cm, op.barMeasure) } + if (op.updatedDisplay) + { setDocumentHeight(cm, op.barMeasure) } + + if (op.selectionChanged) { restartBlink(cm) } + + if (cm.state.focused && op.updateInput) + { cm.display.input.reset(op.typing) } + if (takeFocus) { ensureFocus(op.cm) } +} + +function endOperation_finish(op) { + var cm = op.cm, display = cm.display, doc = cm.doc + + if (op.updatedDisplay) { postUpdateDisplay(cm, op.update) } + + // Abort mouse wheel delta measurement, when scrolling explicitly + if (display.wheelStartX != null && (op.scrollTop != null || op.scrollLeft != null || op.scrollToPos)) + { display.wheelStartX = display.wheelStartY = null } + + // Propagate the scroll position to the actual DOM scroller + if (op.scrollTop != null) { setScrollTop(cm, op.scrollTop, op.forceScroll) } + + if (op.scrollLeft != null) { setScrollLeft(cm, op.scrollLeft, true, true) } + // If we need to scroll a specific position into view, do so. + if (op.scrollToPos) { + var rect = scrollPosIntoView(cm, clipPos(doc, op.scrollToPos.from), + clipPos(doc, op.scrollToPos.to), op.scrollToPos.margin) + maybeScrollWindow(cm, rect) + } + + // Fire events for markers that are hidden/unidden by editing or + // undoing + var hidden = op.maybeHiddenMarkers, unhidden = op.maybeUnhiddenMarkers + if (hidden) { for (var i = 0; i < hidden.length; ++i) + { if (!hidden[i].lines.length) { signal(hidden[i], "hide") } } } + if (unhidden) { for (var i$1 = 0; i$1 < unhidden.length; ++i$1) + { if (unhidden[i$1].lines.length) { signal(unhidden[i$1], "unhide") } } } + + if (display.wrapper.offsetHeight) + { doc.scrollTop = cm.display.scroller.scrollTop } + + // Fire change events, and delayed event handlers + if (op.changeObjs) + { signal(cm, "changes", cm, op.changeObjs) } + if (op.update) + { op.update.finish() } +} + +// Run the given function in an operation +function runInOp(cm, f) { + if (cm.curOp) { return f() } + startOperation(cm) + try { return f() } + finally { endOperation(cm) } +} +// Wraps a function in an operation. Returns the wrapped function. +function operation(cm, f) { + return function() { + if (cm.curOp) { return f.apply(cm, arguments) } + startOperation(cm) + try { return f.apply(cm, arguments) } + finally { endOperation(cm) } + } +} +// Used to add methods to editor and doc instances, wrapping them in +// operations. +function methodOp(f) { + return function() { + if (this.curOp) { return f.apply(this, arguments) } + startOperation(this) + try { return f.apply(this, arguments) } + finally { endOperation(this) } + } +} +function docMethodOp(f) { + return function() { + var cm = this.cm + if (!cm || cm.curOp) { return f.apply(this, arguments) } + startOperation(cm) + try { return f.apply(this, arguments) } + finally { endOperation(cm) } + } +} + +// Updates the display.view data structure for a given change to the +// document. From and to are in pre-change coordinates. Lendiff is +// the amount of lines added or subtracted by the change. This is +// used for changes that span multiple lines, or change the way +// lines are divided into visual lines. regLineChange (below) +// registers single-line changes. +function regChange(cm, from, to, lendiff) { + if (from == null) { from = cm.doc.first } + if (to == null) { to = cm.doc.first + cm.doc.size } + if (!lendiff) { lendiff = 0 } + + var display = cm.display + if (lendiff && to < display.viewTo && + (display.updateLineNumbers == null || display.updateLineNumbers > from)) + { display.updateLineNumbers = from } + + cm.curOp.viewChanged = true + + if (from >= display.viewTo) { // Change after + if (sawCollapsedSpans && visualLineNo(cm.doc, from) < display.viewTo) + { resetView(cm) } + } else if (to <= display.viewFrom) { // Change before + if (sawCollapsedSpans && visualLineEndNo(cm.doc, to + lendiff) > display.viewFrom) { + resetView(cm) + } else { + display.viewFrom += lendiff + display.viewTo += lendiff + } + } else if (from <= display.viewFrom && to >= display.viewTo) { // Full overlap + resetView(cm) + } else if (from <= display.viewFrom) { // Top overlap + var cut = viewCuttingPoint(cm, to, to + lendiff, 1) + if (cut) { + display.view = display.view.slice(cut.index) + display.viewFrom = cut.lineN + display.viewTo += lendiff + } else { + resetView(cm) + } + } else if (to >= display.viewTo) { // Bottom overlap + var cut$1 = viewCuttingPoint(cm, from, from, -1) + if (cut$1) { + display.view = display.view.slice(0, cut$1.index) + display.viewTo = cut$1.lineN + } else { + resetView(cm) + } + } else { // Gap in the middle + var cutTop = viewCuttingPoint(cm, from, from, -1) + var cutBot = viewCuttingPoint(cm, to, to + lendiff, 1) + if (cutTop && cutBot) { + display.view = display.view.slice(0, cutTop.index) + .concat(buildViewArray(cm, cutTop.lineN, cutBot.lineN)) + .concat(display.view.slice(cutBot.index)) + display.viewTo += lendiff + } else { + resetView(cm) + } + } + + var ext = display.externalMeasured + if (ext) { + if (to < ext.lineN) + { ext.lineN += lendiff } + else if (from < ext.lineN + ext.size) + { display.externalMeasured = null } + } +} + +// Register a change to a single line. Type must be one of "text", +// "gutter", "class", "widget" +function regLineChange(cm, line, type) { + cm.curOp.viewChanged = true + var display = cm.display, ext = cm.display.externalMeasured + if (ext && line >= ext.lineN && line < ext.lineN + ext.size) + { display.externalMeasured = null } + + if (line < display.viewFrom || line >= display.viewTo) { return } + var lineView = display.view[findViewIndex(cm, line)] + if (lineView.node == null) { return } + var arr = lineView.changes || (lineView.changes = []) + if (indexOf(arr, type) == -1) { arr.push(type) } +} + +// Clear the view. +function resetView(cm) { + cm.display.viewFrom = cm.display.viewTo = cm.doc.first + cm.display.view = [] + cm.display.viewOffset = 0 +} + +function viewCuttingPoint(cm, oldN, newN, dir) { + var index = findViewIndex(cm, oldN), diff, view = cm.display.view + if (!sawCollapsedSpans || newN == cm.doc.first + cm.doc.size) + { return {index: index, lineN: newN} } + var n = cm.display.viewFrom + for (var i = 0; i < index; i++) + { n += view[i].size } + if (n != oldN) { + if (dir > 0) { + if (index == view.length - 1) { return null } + diff = (n + view[index].size) - oldN + index++ + } else { + diff = n - oldN + } + oldN += diff; newN += diff + } + while (visualLineNo(cm.doc, newN) != newN) { + if (index == (dir < 0 ? 0 : view.length - 1)) { return null } + newN += dir * view[index - (dir < 0 ? 1 : 0)].size + index += dir + } + return {index: index, lineN: newN} +} + +// Force the view to cover a given range, adding empty view element +// or clipping off existing ones as needed. +function adjustView(cm, from, to) { + var display = cm.display, view = display.view + if (view.length == 0 || from >= display.viewTo || to <= display.viewFrom) { + display.view = buildViewArray(cm, from, to) + display.viewFrom = from + } else { + if (display.viewFrom > from) + { display.view = buildViewArray(cm, from, display.viewFrom).concat(display.view) } + else if (display.viewFrom < from) + { display.view = display.view.slice(findViewIndex(cm, from)) } + display.viewFrom = from + if (display.viewTo < to) + { display.view = display.view.concat(buildViewArray(cm, display.viewTo, to)) } + else if (display.viewTo > to) + { display.view = display.view.slice(0, findViewIndex(cm, to)) } + } + display.viewTo = to +} + +// Count the number of lines in the view whose DOM representation is +// out of date (or nonexistent). +function countDirtyView(cm) { + var view = cm.display.view, dirty = 0 + for (var i = 0; i < view.length; i++) { + var lineView = view[i] + if (!lineView.hidden && (!lineView.node || lineView.changes)) { ++dirty } + } + return dirty +} + +// HIGHLIGHT WORKER + +function startWorker(cm, time) { + if (cm.doc.highlightFrontier < cm.display.viewTo) + { cm.state.highlight.set(time, bind(highlightWorker, cm)) } +} + +function highlightWorker(cm) { + var doc = cm.doc + if (doc.highlightFrontier >= cm.display.viewTo) { return } + var end = +new Date + cm.options.workTime + var context = getContextBefore(cm, doc.highlightFrontier) + var changedLines = [] + + doc.iter(context.line, Math.min(doc.first + doc.size, cm.display.viewTo + 500), function (line) { + if (context.line >= cm.display.viewFrom) { // Visible + var oldStyles = line.styles + var resetState = line.text.length > cm.options.maxHighlightLength ? copyState(doc.mode, context.state) : null + var highlighted = highlightLine(cm, line, context, true) + if (resetState) { context.state = resetState } + line.styles = highlighted.styles + var oldCls = line.styleClasses, newCls = highlighted.classes + if (newCls) { line.styleClasses = newCls } + else if (oldCls) { line.styleClasses = null } + var ischange = !oldStyles || oldStyles.length != line.styles.length || + oldCls != newCls && (!oldCls || !newCls || oldCls.bgClass != newCls.bgClass || oldCls.textClass != newCls.textClass) + for (var i = 0; !ischange && i < oldStyles.length; ++i) { ischange = oldStyles[i] != line.styles[i] } + if (ischange) { changedLines.push(context.line) } + line.stateAfter = context.save() + context.nextLine() + } else { + if (line.text.length <= cm.options.maxHighlightLength) + { processLine(cm, line.text, context) } + line.stateAfter = context.line % 5 == 0 ? context.save() : null + context.nextLine() + } + if (+new Date > end) { + startWorker(cm, cm.options.workDelay) + return true + } + }) + doc.highlightFrontier = context.line + doc.modeFrontier = Math.max(doc.modeFrontier, context.line) + if (changedLines.length) { runInOp(cm, function () { + for (var i = 0; i < changedLines.length; i++) + { regLineChange(cm, changedLines[i], "text") } + }) } +} + +// DISPLAY DRAWING + +var DisplayUpdate = function(cm, viewport, force) { + var display = cm.display + + this.viewport = viewport + // Store some values that we'll need later (but don't want to force a relayout for) + this.visible = visibleLines(display, cm.doc, viewport) + this.editorIsHidden = !display.wrapper.offsetWidth + this.wrapperHeight = display.wrapper.clientHeight + this.wrapperWidth = display.wrapper.clientWidth + this.oldDisplayWidth = displayWidth(cm) + this.force = force + this.dims = getDimensions(cm) + this.events = [] +}; + +DisplayUpdate.prototype.signal = function (emitter, type) { + if (hasHandler(emitter, type)) + { this.events.push(arguments) } +}; +DisplayUpdate.prototype.finish = function () { + var this$1 = this; + + for (var i = 0; i < this.events.length; i++) + { signal.apply(null, this$1.events[i]) } +}; + +function maybeClipScrollbars(cm) { + var display = cm.display + if (!display.scrollbarsClipped && display.scroller.offsetWidth) { + display.nativeBarWidth = display.scroller.offsetWidth - display.scroller.clientWidth + display.heightForcer.style.height = scrollGap(cm) + "px" + display.sizer.style.marginBottom = -display.nativeBarWidth + "px" + display.sizer.style.borderRightWidth = scrollGap(cm) + "px" + display.scrollbarsClipped = true + } +} + +function selectionSnapshot(cm) { + if (cm.hasFocus()) { return null } + var active = activeElt() + if (!active || !contains(cm.display.lineDiv, active)) { return null } + var result = {activeElt: active} + if (window.getSelection) { + var sel = window.getSelection() + if (sel.anchorNode && sel.extend && contains(cm.display.lineDiv, sel.anchorNode)) { + result.anchorNode = sel.anchorNode + result.anchorOffset = sel.anchorOffset + result.focusNode = sel.focusNode + result.focusOffset = sel.focusOffset + } + } + return result +} + +function restoreSelection(snapshot) { + if (!snapshot || !snapshot.activeElt || snapshot.activeElt == activeElt()) { return } + snapshot.activeElt.focus() + if (snapshot.anchorNode && contains(document.body, snapshot.anchorNode) && contains(document.body, snapshot.focusNode)) { + var sel = window.getSelection(), range = document.createRange() + range.setEnd(snapshot.anchorNode, snapshot.anchorOffset) + range.collapse(false) + sel.removeAllRanges() + sel.addRange(range) + sel.extend(snapshot.focusNode, snapshot.focusOffset) + } +} + +// Does the actual updating of the line display. Bails out +// (returning false) when there is nothing to be done and forced is +// false. +function updateDisplayIfNeeded(cm, update) { + var display = cm.display, doc = cm.doc + + if (update.editorIsHidden) { + resetView(cm) + return false + } + + // Bail out if the visible area is already rendered and nothing changed. + if (!update.force && + update.visible.from >= display.viewFrom && update.visible.to <= display.viewTo && + (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo) && + display.renderedView == display.view && countDirtyView(cm) == 0) + { return false } + + if (maybeUpdateLineNumberWidth(cm)) { + resetView(cm) + update.dims = getDimensions(cm) + } + + // Compute a suitable new viewport (from & to) + var end = doc.first + doc.size + var from = Math.max(update.visible.from - cm.options.viewportMargin, doc.first) + var to = Math.min(end, update.visible.to + cm.options.viewportMargin) + if (display.viewFrom < from && from - display.viewFrom < 20) { from = Math.max(doc.first, display.viewFrom) } + if (display.viewTo > to && display.viewTo - to < 20) { to = Math.min(end, display.viewTo) } + if (sawCollapsedSpans) { + from = visualLineNo(cm.doc, from) + to = visualLineEndNo(cm.doc, to) + } + + var different = from != display.viewFrom || to != display.viewTo || + display.lastWrapHeight != update.wrapperHeight || display.lastWrapWidth != update.wrapperWidth + adjustView(cm, from, to) + + display.viewOffset = heightAtLine(getLine(cm.doc, display.viewFrom)) + // Position the mover div to align with the current scroll position + cm.display.mover.style.top = display.viewOffset + "px" + + var toUpdate = countDirtyView(cm) + if (!different && toUpdate == 0 && !update.force && display.renderedView == display.view && + (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo)) + { return false } + + // For big changes, we hide the enclosing element during the + // update, since that speeds up the operations on most browsers. + var selSnapshot = selectionSnapshot(cm) + if (toUpdate > 4) { display.lineDiv.style.display = "none" } + patchDisplay(cm, display.updateLineNumbers, update.dims) + if (toUpdate > 4) { display.lineDiv.style.display = "" } + display.renderedView = display.view + // There might have been a widget with a focused element that got + // hidden or updated, if so re-focus it. + restoreSelection(selSnapshot) + + // Prevent selection and cursors from interfering with the scroll + // width and height. + removeChildren(display.cursorDiv) + removeChildren(display.selectionDiv) + display.gutters.style.height = display.sizer.style.minHeight = 0 + + if (different) { + display.lastWrapHeight = update.wrapperHeight + display.lastWrapWidth = update.wrapperWidth + startWorker(cm, 400) + } + + display.updateLineNumbers = null + + return true +} + +function postUpdateDisplay(cm, update) { + var viewport = update.viewport + + for (var first = true;; first = false) { + if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == displayWidth(cm)) { + // Clip forced viewport to actual scrollable area. + if (viewport && viewport.top != null) + { viewport = {top: Math.min(cm.doc.height + paddingVert(cm.display) - displayHeight(cm), viewport.top)} } + // Updated line heights might result in the drawn area not + // actually covering the viewport. Keep looping until it does. + update.visible = visibleLines(cm.display, cm.doc, viewport) + if (update.visible.from >= cm.display.viewFrom && update.visible.to <= cm.display.viewTo) + { break } + } + if (!updateDisplayIfNeeded(cm, update)) { break } + updateHeightsInViewport(cm) + var barMeasure = measureForScrollbars(cm) + updateSelection(cm) + updateScrollbars(cm, barMeasure) + setDocumentHeight(cm, barMeasure) + update.force = false + } + + update.signal(cm, "update", cm) + if (cm.display.viewFrom != cm.display.reportedViewFrom || cm.display.viewTo != cm.display.reportedViewTo) { + update.signal(cm, "viewportChange", cm, cm.display.viewFrom, cm.display.viewTo) + cm.display.reportedViewFrom = cm.display.viewFrom; cm.display.reportedViewTo = cm.display.viewTo + } +} + +function updateDisplaySimple(cm, viewport) { + var update = new DisplayUpdate(cm, viewport) + if (updateDisplayIfNeeded(cm, update)) { + updateHeightsInViewport(cm) + postUpdateDisplay(cm, update) + var barMeasure = measureForScrollbars(cm) + updateSelection(cm) + updateScrollbars(cm, barMeasure) + setDocumentHeight(cm, barMeasure) + update.finish() + } +} + +// Sync the actual display DOM structure with display.view, removing +// nodes for lines that are no longer in view, and creating the ones +// that are not there yet, and updating the ones that are out of +// date. +function patchDisplay(cm, updateNumbersFrom, dims) { + var display = cm.display, lineNumbers = cm.options.lineNumbers + var container = display.lineDiv, cur = container.firstChild + + function rm(node) { + var next = node.nextSibling + // Works around a throw-scroll bug in OS X Webkit + if (webkit && mac && cm.display.currentWheelTarget == node) + { node.style.display = "none" } + else + { node.parentNode.removeChild(node) } + return next + } + + var view = display.view, lineN = display.viewFrom + // Loop over the elements in the view, syncing cur (the DOM nodes + // in display.lineDiv) with the view as we go. + for (var i = 0; i < view.length; i++) { + var lineView = view[i] + if (lineView.hidden) { + } else if (!lineView.node || lineView.node.parentNode != container) { // Not drawn yet + var node = buildLineElement(cm, lineView, lineN, dims) + container.insertBefore(node, cur) + } else { // Already drawn + while (cur != lineView.node) { cur = rm(cur) } + var updateNumber = lineNumbers && updateNumbersFrom != null && + updateNumbersFrom <= lineN && lineView.lineNumber + if (lineView.changes) { + if (indexOf(lineView.changes, "gutter") > -1) { updateNumber = false } + updateLineForChanges(cm, lineView, lineN, dims) + } + if (updateNumber) { + removeChildren(lineView.lineNumber) + lineView.lineNumber.appendChild(document.createTextNode(lineNumberFor(cm.options, lineN))) + } + cur = lineView.node.nextSibling + } + lineN += lineView.size + } + while (cur) { cur = rm(cur) } +} + +function updateGutterSpace(cm) { + var width = cm.display.gutters.offsetWidth + cm.display.sizer.style.marginLeft = width + "px" +} + +function setDocumentHeight(cm, measure) { + cm.display.sizer.style.minHeight = measure.docHeight + "px" + cm.display.heightForcer.style.top = measure.docHeight + "px" + cm.display.gutters.style.height = (measure.docHeight + cm.display.barHeight + scrollGap(cm)) + "px" +} + +// Rebuild the gutter elements, ensure the margin to the left of the +// code matches their width. +function updateGutters(cm) { + var gutters = cm.display.gutters, specs = cm.options.gutters + removeChildren(gutters) + var i = 0 + for (; i < specs.length; ++i) { + var gutterClass = specs[i] + var gElt = gutters.appendChild(elt("div", null, "CodeMirror-gutter " + gutterClass)) + if (gutterClass == "CodeMirror-linenumbers") { + cm.display.lineGutter = gElt + gElt.style.width = (cm.display.lineNumWidth || 1) + "px" + } + } + gutters.style.display = i ? "" : "none" + updateGutterSpace(cm) +} + +// Make sure the gutters options contains the element +// "CodeMirror-linenumbers" when the lineNumbers option is true. +function setGuttersForLineNumbers(options) { + var found = indexOf(options.gutters, "CodeMirror-linenumbers") + if (found == -1 && options.lineNumbers) { + options.gutters = options.gutters.concat(["CodeMirror-linenumbers"]) + } else if (found > -1 && !options.lineNumbers) { + options.gutters = options.gutters.slice(0) + options.gutters.splice(found, 1) + } +} + +var wheelSamples = 0; +var wheelPixelsPerUnit = null; +// Fill in a browser-detected starting value on browsers where we +// know one. These don't have to be accurate -- the result of them +// being wrong would just be a slight flicker on the first wheel +// scroll (if it is large enough). +if (ie) { wheelPixelsPerUnit = -.53 } +else if (gecko) { wheelPixelsPerUnit = 15 } +else if (chrome) { wheelPixelsPerUnit = -.7 } +else if (safari) { wheelPixelsPerUnit = -1/3 } + +function wheelEventDelta(e) { + var dx = e.wheelDeltaX, dy = e.wheelDeltaY + if (dx == null && e.detail && e.axis == e.HORIZONTAL_AXIS) { dx = e.detail } + if (dy == null && e.detail && e.axis == e.VERTICAL_AXIS) { dy = e.detail } + else if (dy == null) { dy = e.wheelDelta } + return {x: dx, y: dy} +} +function wheelEventPixels(e) { + var delta = wheelEventDelta(e) + delta.x *= wheelPixelsPerUnit + delta.y *= wheelPixelsPerUnit + return delta +} + +function onScrollWheel(cm, e) { + var delta = wheelEventDelta(e), dx = delta.x, dy = delta.y + + var display = cm.display, scroll = display.scroller + // Quit if there's nothing to scroll here + var canScrollX = scroll.scrollWidth > scroll.clientWidth + var canScrollY = scroll.scrollHeight > scroll.clientHeight + if (!(dx && canScrollX || dy && canScrollY)) { return } + + // Webkit browsers on OS X abort momentum scrolls when the target + // of the scroll event is removed from the scrollable element. + // This hack (see related code in patchDisplay) makes sure the + // element is kept around. + if (dy && mac && webkit) { + outer: for (var cur = e.target, view = display.view; cur != scroll; cur = cur.parentNode) { + for (var i = 0; i < view.length; i++) { + if (view[i].node == cur) { + cm.display.currentWheelTarget = cur + break outer + } + } + } + } + + // On some browsers, horizontal scrolling will cause redraws to + // happen before the gutter has been realigned, causing it to + // wriggle around in a most unseemly way. When we have an + // estimated pixels/delta value, we just handle horizontal + // scrolling entirely here. It'll be slightly off from native, but + // better than glitching out. + if (dx && !gecko && !presto && wheelPixelsPerUnit != null) { + if (dy && canScrollY) + { updateScrollTop(cm, Math.max(0, scroll.scrollTop + dy * wheelPixelsPerUnit)) } + setScrollLeft(cm, Math.max(0, scroll.scrollLeft + dx * wheelPixelsPerUnit)) + // Only prevent default scrolling if vertical scrolling is + // actually possible. Otherwise, it causes vertical scroll + // jitter on OSX trackpads when deltaX is small and deltaY + // is large (issue #3579) + if (!dy || (dy && canScrollY)) + { e_preventDefault(e) } + display.wheelStartX = null // Abort measurement, if in progress + return + } + + // 'Project' the visible viewport to cover the area that is being + // scrolled into view (if we know enough to estimate it). + if (dy && wheelPixelsPerUnit != null) { + var pixels = dy * wheelPixelsPerUnit + var top = cm.doc.scrollTop, bot = top + display.wrapper.clientHeight + if (pixels < 0) { top = Math.max(0, top + pixels - 50) } + else { bot = Math.min(cm.doc.height, bot + pixels + 50) } + updateDisplaySimple(cm, {top: top, bottom: bot}) + } + + if (wheelSamples < 20) { + if (display.wheelStartX == null) { + display.wheelStartX = scroll.scrollLeft; display.wheelStartY = scroll.scrollTop + display.wheelDX = dx; display.wheelDY = dy + setTimeout(function () { + if (display.wheelStartX == null) { return } + var movedX = scroll.scrollLeft - display.wheelStartX + var movedY = scroll.scrollTop - display.wheelStartY + var sample = (movedY && display.wheelDY && movedY / display.wheelDY) || + (movedX && display.wheelDX && movedX / display.wheelDX) + display.wheelStartX = display.wheelStartY = null + if (!sample) { return } + wheelPixelsPerUnit = (wheelPixelsPerUnit * wheelSamples + sample) / (wheelSamples + 1) + ++wheelSamples + }, 200) + } else { + display.wheelDX += dx; display.wheelDY += dy + } + } +} + +// Selection objects are immutable. A new one is created every time +// the selection changes. A selection is one or more non-overlapping +// (and non-touching) ranges, sorted, and an integer that indicates +// which one is the primary selection (the one that's scrolled into +// view, that getCursor returns, etc). +var Selection = function(ranges, primIndex) { + this.ranges = ranges + this.primIndex = primIndex +}; + +Selection.prototype.primary = function () { return this.ranges[this.primIndex] }; + +Selection.prototype.equals = function (other) { + var this$1 = this; + + if (other == this) { return true } + if (other.primIndex != this.primIndex || other.ranges.length != this.ranges.length) { return false } + for (var i = 0; i < this.ranges.length; i++) { + var here = this$1.ranges[i], there = other.ranges[i] + if (!equalCursorPos(here.anchor, there.anchor) || !equalCursorPos(here.head, there.head)) { return false } + } + return true +}; + +Selection.prototype.deepCopy = function () { + var this$1 = this; + + var out = [] + for (var i = 0; i < this.ranges.length; i++) + { out[i] = new Range(copyPos(this$1.ranges[i].anchor), copyPos(this$1.ranges[i].head)) } + return new Selection(out, this.primIndex) +}; + +Selection.prototype.somethingSelected = function () { + var this$1 = this; + + for (var i = 0; i < this.ranges.length; i++) + { if (!this$1.ranges[i].empty()) { return true } } + return false +}; + +Selection.prototype.contains = function (pos, end) { + var this$1 = this; + + if (!end) { end = pos } + for (var i = 0; i < this.ranges.length; i++) { + var range = this$1.ranges[i] + if (cmp(end, range.from()) >= 0 && cmp(pos, range.to()) <= 0) + { return i } + } + return -1 +}; + +var Range = function(anchor, head) { + this.anchor = anchor; this.head = head +}; + +Range.prototype.from = function () { return minPos(this.anchor, this.head) }; +Range.prototype.to = function () { return maxPos(this.anchor, this.head) }; +Range.prototype.empty = function () { return this.head.line == this.anchor.line && this.head.ch == this.anchor.ch }; + +// Take an unsorted, potentially overlapping set of ranges, and +// build a selection out of it. 'Consumes' ranges array (modifying +// it). +function normalizeSelection(ranges, primIndex) { + var prim = ranges[primIndex] + ranges.sort(function (a, b) { return cmp(a.from(), b.from()); }) + primIndex = indexOf(ranges, prim) + for (var i = 1; i < ranges.length; i++) { + var cur = ranges[i], prev = ranges[i - 1] + if (cmp(prev.to(), cur.from()) >= 0) { + var from = minPos(prev.from(), cur.from()), to = maxPos(prev.to(), cur.to()) + var inv = prev.empty() ? cur.from() == cur.head : prev.from() == prev.head + if (i <= primIndex) { --primIndex } + ranges.splice(--i, 2, new Range(inv ? to : from, inv ? from : to)) + } + } + return new Selection(ranges, primIndex) +} + +function simpleSelection(anchor, head) { + return new Selection([new Range(anchor, head || anchor)], 0) +} + +// Compute the position of the end of a change (its 'to' property +// refers to the pre-change end). +function changeEnd(change) { + if (!change.text) { return change.to } + return Pos(change.from.line + change.text.length - 1, + lst(change.text).length + (change.text.length == 1 ? change.from.ch : 0)) +} + +// Adjust a position to refer to the post-change position of the +// same text, or the end of the change if the change covers it. +function adjustForChange(pos, change) { + if (cmp(pos, change.from) < 0) { return pos } + if (cmp(pos, change.to) <= 0) { return changeEnd(change) } + + var line = pos.line + change.text.length - (change.to.line - change.from.line) - 1, ch = pos.ch + if (pos.line == change.to.line) { ch += changeEnd(change).ch - change.to.ch } + return Pos(line, ch) +} + +function computeSelAfterChange(doc, change) { + var out = [] + for (var i = 0; i < doc.sel.ranges.length; i++) { + var range = doc.sel.ranges[i] + out.push(new Range(adjustForChange(range.anchor, change), + adjustForChange(range.head, change))) + } + return normalizeSelection(out, doc.sel.primIndex) +} + +function offsetPos(pos, old, nw) { + if (pos.line == old.line) + { return Pos(nw.line, pos.ch - old.ch + nw.ch) } + else + { return Pos(nw.line + (pos.line - old.line), pos.ch) } +} + +// Used by replaceSelections to allow moving the selection to the +// start or around the replaced test. Hint may be "start" or "around". +function computeReplacedSel(doc, changes, hint) { + var out = [] + var oldPrev = Pos(doc.first, 0), newPrev = oldPrev + for (var i = 0; i < changes.length; i++) { + var change = changes[i] + var from = offsetPos(change.from, oldPrev, newPrev) + var to = offsetPos(changeEnd(change), oldPrev, newPrev) + oldPrev = change.to + newPrev = to + if (hint == "around") { + var range = doc.sel.ranges[i], inv = cmp(range.head, range.anchor) < 0 + out[i] = new Range(inv ? to : from, inv ? from : to) + } else { + out[i] = new Range(from, from) + } + } + return new Selection(out, doc.sel.primIndex) +} + +// Used to get the editor into a consistent state again when options change. + +function loadMode(cm) { + cm.doc.mode = getMode(cm.options, cm.doc.modeOption) + resetModeState(cm) +} + +function resetModeState(cm) { + cm.doc.iter(function (line) { + if (line.stateAfter) { line.stateAfter = null } + if (line.styles) { line.styles = null } + }) + cm.doc.modeFrontier = cm.doc.highlightFrontier = cm.doc.first + startWorker(cm, 100) + cm.state.modeGen++ + if (cm.curOp) { regChange(cm) } +} + +// DOCUMENT DATA STRUCTURE + +// By default, updates that start and end at the beginning of a line +// are treated specially, in order to make the association of line +// widgets and marker elements with the text behave more intuitive. +function isWholeLineUpdate(doc, change) { + return change.from.ch == 0 && change.to.ch == 0 && lst(change.text) == "" && + (!doc.cm || doc.cm.options.wholeLineUpdateBefore) +} + +// Perform a change on the document data structure. +function updateDoc(doc, change, markedSpans, estimateHeight) { + function spansFor(n) {return markedSpans ? markedSpans[n] : null} + function update(line, text, spans) { + updateLine(line, text, spans, estimateHeight) + signalLater(line, "change", line, change) + } + function linesFor(start, end) { + var result = [] + for (var i = start; i < end; ++i) + { result.push(new Line(text[i], spansFor(i), estimateHeight)) } + return result + } + + var from = change.from, to = change.to, text = change.text + var firstLine = getLine(doc, from.line), lastLine = getLine(doc, to.line) + var lastText = lst(text), lastSpans = spansFor(text.length - 1), nlines = to.line - from.line + + // Adjust the line structure + if (change.full) { + doc.insert(0, linesFor(0, text.length)) + doc.remove(text.length, doc.size - text.length) + } else if (isWholeLineUpdate(doc, change)) { + // This is a whole-line replace. Treated specially to make + // sure line objects move the way they are supposed to. + var added = linesFor(0, text.length - 1) + update(lastLine, lastLine.text, lastSpans) + if (nlines) { doc.remove(from.line, nlines) } + if (added.length) { doc.insert(from.line, added) } + } else if (firstLine == lastLine) { + if (text.length == 1) { + update(firstLine, firstLine.text.slice(0, from.ch) + lastText + firstLine.text.slice(to.ch), lastSpans) + } else { + var added$1 = linesFor(1, text.length - 1) + added$1.push(new Line(lastText + firstLine.text.slice(to.ch), lastSpans, estimateHeight)) + update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0)) + doc.insert(from.line + 1, added$1) + } + } else if (text.length == 1) { + update(firstLine, firstLine.text.slice(0, from.ch) + text[0] + lastLine.text.slice(to.ch), spansFor(0)) + doc.remove(from.line + 1, nlines) + } else { + update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0)) + update(lastLine, lastText + lastLine.text.slice(to.ch), lastSpans) + var added$2 = linesFor(1, text.length - 1) + if (nlines > 1) { doc.remove(from.line + 1, nlines - 1) } + doc.insert(from.line + 1, added$2) + } + + signalLater(doc, "change", doc, change) +} + +// Call f for all linked documents. +function linkedDocs(doc, f, sharedHistOnly) { + function propagate(doc, skip, sharedHist) { + if (doc.linked) { for (var i = 0; i < doc.linked.length; ++i) { + var rel = doc.linked[i] + if (rel.doc == skip) { continue } + var shared = sharedHist && rel.sharedHist + if (sharedHistOnly && !shared) { continue } + f(rel.doc, shared) + propagate(rel.doc, doc, shared) + } } + } + propagate(doc, null, true) +} + +// Attach a document to an editor. +function attachDoc(cm, doc) { + if (doc.cm) { throw new Error("This document is already in use.") } + cm.doc = doc + doc.cm = cm + estimateLineHeights(cm) + loadMode(cm) + setDirectionClass(cm) + if (!cm.options.lineWrapping) { findMaxLine(cm) } + cm.options.mode = doc.modeOption + regChange(cm) +} + +function setDirectionClass(cm) { + ;(cm.doc.direction == "rtl" ? addClass : rmClass)(cm.display.lineDiv, "CodeMirror-rtl") +} + +function directionChanged(cm) { + runInOp(cm, function () { + setDirectionClass(cm) + regChange(cm) + }) +} + +function History(startGen) { + // Arrays of change events and selections. Doing something adds an + // event to done and clears undo. Undoing moves events from done + // to undone, redoing moves them in the other direction. + this.done = []; this.undone = [] + this.undoDepth = Infinity + // Used to track when changes can be merged into a single undo + // event + this.lastModTime = this.lastSelTime = 0 + this.lastOp = this.lastSelOp = null + this.lastOrigin = this.lastSelOrigin = null + // Used by the isClean() method + this.generation = this.maxGeneration = startGen || 1 +} + +// Create a history change event from an updateDoc-style change +// object. +function historyChangeFromChange(doc, change) { + var histChange = {from: copyPos(change.from), to: changeEnd(change), text: getBetween(doc, change.from, change.to)} + attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1) + linkedDocs(doc, function (doc) { return attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); }, true) + return histChange +} + +// Pop all selection events off the end of a history array. Stop at +// a change event. +function clearSelectionEvents(array) { + while (array.length) { + var last = lst(array) + if (last.ranges) { array.pop() } + else { break } + } +} + +// Find the top change event in the history. Pop off selection +// events that are in the way. +function lastChangeEvent(hist, force) { + if (force) { + clearSelectionEvents(hist.done) + return lst(hist.done) + } else if (hist.done.length && !lst(hist.done).ranges) { + return lst(hist.done) + } else if (hist.done.length > 1 && !hist.done[hist.done.length - 2].ranges) { + hist.done.pop() + return lst(hist.done) + } +} + +// Register a change in the history. Merges changes that are within +// a single operation, or are close together with an origin that +// allows merging (starting with "+") into a single event. +function addChangeToHistory(doc, change, selAfter, opId) { + var hist = doc.history + hist.undone.length = 0 + var time = +new Date, cur + var last + + if ((hist.lastOp == opId || + hist.lastOrigin == change.origin && change.origin && + ((change.origin.charAt(0) == "+" && doc.cm && hist.lastModTime > time - doc.cm.options.historyEventDelay) || + change.origin.charAt(0) == "*")) && + (cur = lastChangeEvent(hist, hist.lastOp == opId))) { + // Merge this change into the last event + last = lst(cur.changes) + if (cmp(change.from, change.to) == 0 && cmp(change.from, last.to) == 0) { + // Optimized case for simple insertion -- don't want to add + // new changesets for every character typed + last.to = changeEnd(change) + } else { + // Add new sub-event + cur.changes.push(historyChangeFromChange(doc, change)) + } + } else { + // Can not be merged, start a new event. + var before = lst(hist.done) + if (!before || !before.ranges) + { pushSelectionToHistory(doc.sel, hist.done) } + cur = {changes: [historyChangeFromChange(doc, change)], + generation: hist.generation} + hist.done.push(cur) + while (hist.done.length > hist.undoDepth) { + hist.done.shift() + if (!hist.done[0].ranges) { hist.done.shift() } + } + } + hist.done.push(selAfter) + hist.generation = ++hist.maxGeneration + hist.lastModTime = hist.lastSelTime = time + hist.lastOp = hist.lastSelOp = opId + hist.lastOrigin = hist.lastSelOrigin = change.origin + + if (!last) { signal(doc, "historyAdded") } +} + +function selectionEventCanBeMerged(doc, origin, prev, sel) { + var ch = origin.charAt(0) + return ch == "*" || + ch == "+" && + prev.ranges.length == sel.ranges.length && + prev.somethingSelected() == sel.somethingSelected() && + new Date - doc.history.lastSelTime <= (doc.cm ? doc.cm.options.historyEventDelay : 500) +} + +// Called whenever the selection changes, sets the new selection as +// the pending selection in the history, and pushes the old pending +// selection into the 'done' array when it was significantly +// different (in number of selected ranges, emptiness, or time). +function addSelectionToHistory(doc, sel, opId, options) { + var hist = doc.history, origin = options && options.origin + + // A new event is started when the previous origin does not match + // the current, or the origins don't allow matching. Origins + // starting with * are always merged, those starting with + are + // merged when similar and close together in time. + if (opId == hist.lastSelOp || + (origin && hist.lastSelOrigin == origin && + (hist.lastModTime == hist.lastSelTime && hist.lastOrigin == origin || + selectionEventCanBeMerged(doc, origin, lst(hist.done), sel)))) + { hist.done[hist.done.length - 1] = sel } + else + { pushSelectionToHistory(sel, hist.done) } + + hist.lastSelTime = +new Date + hist.lastSelOrigin = origin + hist.lastSelOp = opId + if (options && options.clearRedo !== false) + { clearSelectionEvents(hist.undone) } +} + +function pushSelectionToHistory(sel, dest) { + var top = lst(dest) + if (!(top && top.ranges && top.equals(sel))) + { dest.push(sel) } +} + +// Used to store marked span information in the history. +function attachLocalSpans(doc, change, from, to) { + var existing = change["spans_" + doc.id], n = 0 + doc.iter(Math.max(doc.first, from), Math.min(doc.first + doc.size, to), function (line) { + if (line.markedSpans) + { (existing || (existing = change["spans_" + doc.id] = {}))[n] = line.markedSpans } + ++n + }) +} + +// When un/re-doing restores text containing marked spans, those +// that have been explicitly cleared should not be restored. +function removeClearedSpans(spans) { + if (!spans) { return null } + var out + for (var i = 0; i < spans.length; ++i) { + if (spans[i].marker.explicitlyCleared) { if (!out) { out = spans.slice(0, i) } } + else if (out) { out.push(spans[i]) } + } + return !out ? spans : out.length ? out : null +} + +// Retrieve and filter the old marked spans stored in a change event. +function getOldSpans(doc, change) { + var found = change["spans_" + doc.id] + if (!found) { return null } + var nw = [] + for (var i = 0; i < change.text.length; ++i) + { nw.push(removeClearedSpans(found[i])) } + return nw +} + +// Used for un/re-doing changes from the history. Combines the +// result of computing the existing spans with the set of spans that +// existed in the history (so that deleting around a span and then +// undoing brings back the span). +function mergeOldSpans(doc, change) { + var old = getOldSpans(doc, change) + var stretched = stretchSpansOverChange(doc, change) + if (!old) { return stretched } + if (!stretched) { return old } + + for (var i = 0; i < old.length; ++i) { + var oldCur = old[i], stretchCur = stretched[i] + if (oldCur && stretchCur) { + spans: for (var j = 0; j < stretchCur.length; ++j) { + var span = stretchCur[j] + for (var k = 0; k < oldCur.length; ++k) + { if (oldCur[k].marker == span.marker) { continue spans } } + oldCur.push(span) + } + } else if (stretchCur) { + old[i] = stretchCur + } + } + return old +} + +// Used both to provide a JSON-safe object in .getHistory, and, when +// detaching a document, to split the history in two +function copyHistoryArray(events, newGroup, instantiateSel) { + var copy = [] + for (var i = 0; i < events.length; ++i) { + var event = events[i] + if (event.ranges) { + copy.push(instantiateSel ? Selection.prototype.deepCopy.call(event) : event) + continue + } + var changes = event.changes, newChanges = [] + copy.push({changes: newChanges}) + for (var j = 0; j < changes.length; ++j) { + var change = changes[j], m = (void 0) + newChanges.push({from: change.from, to: change.to, text: change.text}) + if (newGroup) { for (var prop in change) { if (m = prop.match(/^spans_(\d+)$/)) { + if (indexOf(newGroup, Number(m[1])) > -1) { + lst(newChanges)[prop] = change[prop] + delete change[prop] + } + } } } + } + } + return copy +} + +// The 'scroll' parameter given to many of these indicated whether +// the new cursor position should be scrolled into view after +// modifying the selection. + +// If shift is held or the extend flag is set, extends a range to +// include a given position (and optionally a second position). +// Otherwise, simply returns the range between the given positions. +// Used for cursor motion and such. +function extendRange(range, head, other, extend) { + if (extend) { + var anchor = range.anchor + if (other) { + var posBefore = cmp(head, anchor) < 0 + if (posBefore != (cmp(other, anchor) < 0)) { + anchor = head + head = other + } else if (posBefore != (cmp(head, other) < 0)) { + head = other + } + } + return new Range(anchor, head) + } else { + return new Range(other || head, head) + } +} + +// Extend the primary selection range, discard the rest. +function extendSelection(doc, head, other, options, extend) { + if (extend == null) { extend = doc.cm && (doc.cm.display.shift || doc.extend) } + setSelection(doc, new Selection([extendRange(doc.sel.primary(), head, other, extend)], 0), options) +} + +// Extend all selections (pos is an array of selections with length +// equal the number of selections) +function extendSelections(doc, heads, options) { + var out = [] + var extend = doc.cm && (doc.cm.display.shift || doc.extend) + for (var i = 0; i < doc.sel.ranges.length; i++) + { out[i] = extendRange(doc.sel.ranges[i], heads[i], null, extend) } + var newSel = normalizeSelection(out, doc.sel.primIndex) + setSelection(doc, newSel, options) +} + +// Updates a single range in the selection. +function replaceOneSelection(doc, i, range, options) { + var ranges = doc.sel.ranges.slice(0) + ranges[i] = range + setSelection(doc, normalizeSelection(ranges, doc.sel.primIndex), options) +} + +// Reset the selection to a single range. +function setSimpleSelection(doc, anchor, head, options) { + setSelection(doc, simpleSelection(anchor, head), options) +} + +// Give beforeSelectionChange handlers a change to influence a +// selection update. +function filterSelectionChange(doc, sel, options) { + var obj = { + ranges: sel.ranges, + update: function(ranges) { + var this$1 = this; + + this.ranges = [] + for (var i = 0; i < ranges.length; i++) + { this$1.ranges[i] = new Range(clipPos(doc, ranges[i].anchor), + clipPos(doc, ranges[i].head)) } + }, + origin: options && options.origin + } + signal(doc, "beforeSelectionChange", doc, obj) + if (doc.cm) { signal(doc.cm, "beforeSelectionChange", doc.cm, obj) } + if (obj.ranges != sel.ranges) { return normalizeSelection(obj.ranges, obj.ranges.length - 1) } + else { return sel } +} + +function setSelectionReplaceHistory(doc, sel, options) { + var done = doc.history.done, last = lst(done) + if (last && last.ranges) { + done[done.length - 1] = sel + setSelectionNoUndo(doc, sel, options) + } else { + setSelection(doc, sel, options) + } +} + +// Set a new selection. +function setSelection(doc, sel, options) { + setSelectionNoUndo(doc, sel, options) + addSelectionToHistory(doc, doc.sel, doc.cm ? doc.cm.curOp.id : NaN, options) +} + +function setSelectionNoUndo(doc, sel, options) { + if (hasHandler(doc, "beforeSelectionChange") || doc.cm && hasHandler(doc.cm, "beforeSelectionChange")) + { sel = filterSelectionChange(doc, sel, options) } + + var bias = options && options.bias || + (cmp(sel.primary().head, doc.sel.primary().head) < 0 ? -1 : 1) + setSelectionInner(doc, skipAtomicInSelection(doc, sel, bias, true)) + + if (!(options && options.scroll === false) && doc.cm) + { ensureCursorVisible(doc.cm) } +} + +function setSelectionInner(doc, sel) { + if (sel.equals(doc.sel)) { return } + + doc.sel = sel + + if (doc.cm) { + doc.cm.curOp.updateInput = doc.cm.curOp.selectionChanged = true + signalCursorActivity(doc.cm) + } + signalLater(doc, "cursorActivity", doc) +} + +// Verify that the selection does not partially select any atomic +// marked ranges. +function reCheckSelection(doc) { + setSelectionInner(doc, skipAtomicInSelection(doc, doc.sel, null, false)) +} + +// Return a selection that does not partially select any atomic +// ranges. +function skipAtomicInSelection(doc, sel, bias, mayClear) { + var out + for (var i = 0; i < sel.ranges.length; i++) { + var range = sel.ranges[i] + var old = sel.ranges.length == doc.sel.ranges.length && doc.sel.ranges[i] + var newAnchor = skipAtomic(doc, range.anchor, old && old.anchor, bias, mayClear) + var newHead = skipAtomic(doc, range.head, old && old.head, bias, mayClear) + if (out || newAnchor != range.anchor || newHead != range.head) { + if (!out) { out = sel.ranges.slice(0, i) } + out[i] = new Range(newAnchor, newHead) + } + } + return out ? normalizeSelection(out, sel.primIndex) : sel +} + +function skipAtomicInner(doc, pos, oldPos, dir, mayClear) { + var line = getLine(doc, pos.line) + if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) { + var sp = line.markedSpans[i], m = sp.marker + if ((sp.from == null || (m.inclusiveLeft ? sp.from <= pos.ch : sp.from < pos.ch)) && + (sp.to == null || (m.inclusiveRight ? sp.to >= pos.ch : sp.to > pos.ch))) { + if (mayClear) { + signal(m, "beforeCursorEnter") + if (m.explicitlyCleared) { + if (!line.markedSpans) { break } + else {--i; continue} + } + } + if (!m.atomic) { continue } + + if (oldPos) { + var near = m.find(dir < 0 ? 1 : -1), diff = (void 0) + if (dir < 0 ? m.inclusiveRight : m.inclusiveLeft) + { near = movePos(doc, near, -dir, near && near.line == pos.line ? line : null) } + if (near && near.line == pos.line && (diff = cmp(near, oldPos)) && (dir < 0 ? diff < 0 : diff > 0)) + { return skipAtomicInner(doc, near, pos, dir, mayClear) } + } + + var far = m.find(dir < 0 ? -1 : 1) + if (dir < 0 ? m.inclusiveLeft : m.inclusiveRight) + { far = movePos(doc, far, dir, far.line == pos.line ? line : null) } + return far ? skipAtomicInner(doc, far, pos, dir, mayClear) : null + } + } } + return pos +} + +// Ensure a given position is not inside an atomic range. +function skipAtomic(doc, pos, oldPos, bias, mayClear) { + var dir = bias || 1 + var found = skipAtomicInner(doc, pos, oldPos, dir, mayClear) || + (!mayClear && skipAtomicInner(doc, pos, oldPos, dir, true)) || + skipAtomicInner(doc, pos, oldPos, -dir, mayClear) || + (!mayClear && skipAtomicInner(doc, pos, oldPos, -dir, true)) + if (!found) { + doc.cantEdit = true + return Pos(doc.first, 0) + } + return found +} + +function movePos(doc, pos, dir, line) { + if (dir < 0 && pos.ch == 0) { + if (pos.line > doc.first) { return clipPos(doc, Pos(pos.line - 1)) } + else { return null } + } else if (dir > 0 && pos.ch == (line || getLine(doc, pos.line)).text.length) { + if (pos.line < doc.first + doc.size - 1) { return Pos(pos.line + 1, 0) } + else { return null } + } else { + return new Pos(pos.line, pos.ch + dir) + } +} + +function selectAll(cm) { + cm.setSelection(Pos(cm.firstLine(), 0), Pos(cm.lastLine()), sel_dontScroll) +} + +// UPDATING + +// Allow "beforeChange" event handlers to influence a change +function filterChange(doc, change, update) { + var obj = { + canceled: false, + from: change.from, + to: change.to, + text: change.text, + origin: change.origin, + cancel: function () { return obj.canceled = true; } + } + if (update) { obj.update = function (from, to, text, origin) { + if (from) { obj.from = clipPos(doc, from) } + if (to) { obj.to = clipPos(doc, to) } + if (text) { obj.text = text } + if (origin !== undefined) { obj.origin = origin } + } } + signal(doc, "beforeChange", doc, obj) + if (doc.cm) { signal(doc.cm, "beforeChange", doc.cm, obj) } + + if (obj.canceled) { return null } + return {from: obj.from, to: obj.to, text: obj.text, origin: obj.origin} +} + +// Apply a change to a document, and add it to the document's +// history, and propagating it to all linked documents. +function makeChange(doc, change, ignoreReadOnly) { + if (doc.cm) { + if (!doc.cm.curOp) { return operation(doc.cm, makeChange)(doc, change, ignoreReadOnly) } + if (doc.cm.state.suppressEdits) { return } + } + + if (hasHandler(doc, "beforeChange") || doc.cm && hasHandler(doc.cm, "beforeChange")) { + change = filterChange(doc, change, true) + if (!change) { return } + } + + // Possibly split or suppress the update based on the presence + // of read-only spans in its range. + var split = sawReadOnlySpans && !ignoreReadOnly && removeReadOnlyRanges(doc, change.from, change.to) + if (split) { + for (var i = split.length - 1; i >= 0; --i) + { makeChangeInner(doc, {from: split[i].from, to: split[i].to, text: i ? [""] : change.text, origin: change.origin}) } + } else { + makeChangeInner(doc, change) + } +} + +function makeChangeInner(doc, change) { + if (change.text.length == 1 && change.text[0] == "" && cmp(change.from, change.to) == 0) { return } + var selAfter = computeSelAfterChange(doc, change) + addChangeToHistory(doc, change, selAfter, doc.cm ? doc.cm.curOp.id : NaN) + + makeChangeSingleDoc(doc, change, selAfter, stretchSpansOverChange(doc, change)) + var rebased = [] + + linkedDocs(doc, function (doc, sharedHist) { + if (!sharedHist && indexOf(rebased, doc.history) == -1) { + rebaseHist(doc.history, change) + rebased.push(doc.history) + } + makeChangeSingleDoc(doc, change, null, stretchSpansOverChange(doc, change)) + }) +} + +// Revert a change stored in a document's history. +function makeChangeFromHistory(doc, type, allowSelectionOnly) { + if (doc.cm && doc.cm.state.suppressEdits && !allowSelectionOnly) { return } + + var hist = doc.history, event, selAfter = doc.sel + var source = type == "undo" ? hist.done : hist.undone, dest = type == "undo" ? hist.undone : hist.done + + // Verify that there is a useable event (so that ctrl-z won't + // needlessly clear selection events) + var i = 0 + for (; i < source.length; i++) { + event = source[i] + if (allowSelectionOnly ? event.ranges && !event.equals(doc.sel) : !event.ranges) + { break } + } + if (i == source.length) { return } + hist.lastOrigin = hist.lastSelOrigin = null + + for (;;) { + event = source.pop() + if (event.ranges) { + pushSelectionToHistory(event, dest) + if (allowSelectionOnly && !event.equals(doc.sel)) { + setSelection(doc, event, {clearRedo: false}) + return + } + selAfter = event + } + else { break } + } + + // Build up a reverse change object to add to the opposite history + // stack (redo when undoing, and vice versa). + var antiChanges = [] + pushSelectionToHistory(selAfter, dest) + dest.push({changes: antiChanges, generation: hist.generation}) + hist.generation = event.generation || ++hist.maxGeneration + + var filter = hasHandler(doc, "beforeChange") || doc.cm && hasHandler(doc.cm, "beforeChange") + + var loop = function ( i ) { + var change = event.changes[i] + change.origin = type + if (filter && !filterChange(doc, change, false)) { + source.length = 0 + return {} + } + + antiChanges.push(historyChangeFromChange(doc, change)) + + var after = i ? computeSelAfterChange(doc, change) : lst(source) + makeChangeSingleDoc(doc, change, after, mergeOldSpans(doc, change)) + if (!i && doc.cm) { doc.cm.scrollIntoView({from: change.from, to: changeEnd(change)}) } + var rebased = [] + + // Propagate to the linked documents + linkedDocs(doc, function (doc, sharedHist) { + if (!sharedHist && indexOf(rebased, doc.history) == -1) { + rebaseHist(doc.history, change) + rebased.push(doc.history) + } + makeChangeSingleDoc(doc, change, null, mergeOldSpans(doc, change)) + }) + }; + + for (var i$1 = event.changes.length - 1; i$1 >= 0; --i$1) { + var returned = loop( i$1 ); + + if ( returned ) return returned.v; + } +} + +// Sub-views need their line numbers shifted when text is added +// above or below them in the parent document. +function shiftDoc(doc, distance) { + if (distance == 0) { return } + doc.first += distance + doc.sel = new Selection(map(doc.sel.ranges, function (range) { return new Range( + Pos(range.anchor.line + distance, range.anchor.ch), + Pos(range.head.line + distance, range.head.ch) + ); }), doc.sel.primIndex) + if (doc.cm) { + regChange(doc.cm, doc.first, doc.first - distance, distance) + for (var d = doc.cm.display, l = d.viewFrom; l < d.viewTo; l++) + { regLineChange(doc.cm, l, "gutter") } + } +} + +// More lower-level change function, handling only a single document +// (not linked ones). +function makeChangeSingleDoc(doc, change, selAfter, spans) { + if (doc.cm && !doc.cm.curOp) + { return operation(doc.cm, makeChangeSingleDoc)(doc, change, selAfter, spans) } + + if (change.to.line < doc.first) { + shiftDoc(doc, change.text.length - 1 - (change.to.line - change.from.line)) + return + } + if (change.from.line > doc.lastLine()) { return } + + // Clip the change to the size of this doc + if (change.from.line < doc.first) { + var shift = change.text.length - 1 - (doc.first - change.from.line) + shiftDoc(doc, shift) + change = {from: Pos(doc.first, 0), to: Pos(change.to.line + shift, change.to.ch), + text: [lst(change.text)], origin: change.origin} + } + var last = doc.lastLine() + if (change.to.line > last) { + change = {from: change.from, to: Pos(last, getLine(doc, last).text.length), + text: [change.text[0]], origin: change.origin} + } + + change.removed = getBetween(doc, change.from, change.to) + + if (!selAfter) { selAfter = computeSelAfterChange(doc, change) } + if (doc.cm) { makeChangeSingleDocInEditor(doc.cm, change, spans) } + else { updateDoc(doc, change, spans) } + setSelectionNoUndo(doc, selAfter, sel_dontScroll) +} + +// Handle the interaction of a change to a document with the editor +// that this document is part of. +function makeChangeSingleDocInEditor(cm, change, spans) { + var doc = cm.doc, display = cm.display, from = change.from, to = change.to + + var recomputeMaxLength = false, checkWidthStart = from.line + if (!cm.options.lineWrapping) { + checkWidthStart = lineNo(visualLine(getLine(doc, from.line))) + doc.iter(checkWidthStart, to.line + 1, function (line) { + if (line == display.maxLine) { + recomputeMaxLength = true + return true + } + }) + } + + if (doc.sel.contains(change.from, change.to) > -1) + { signalCursorActivity(cm) } + + updateDoc(doc, change, spans, estimateHeight(cm)) + + if (!cm.options.lineWrapping) { + doc.iter(checkWidthStart, from.line + change.text.length, function (line) { + var len = lineLength(line) + if (len > display.maxLineLength) { + display.maxLine = line + display.maxLineLength = len + display.maxLineChanged = true + recomputeMaxLength = false + } + }) + if (recomputeMaxLength) { cm.curOp.updateMaxLine = true } + } + + retreatFrontier(doc, from.line) + startWorker(cm, 400) + + var lendiff = change.text.length - (to.line - from.line) - 1 + // Remember that these lines changed, for updating the display + if (change.full) + { regChange(cm) } + else if (from.line == to.line && change.text.length == 1 && !isWholeLineUpdate(cm.doc, change)) + { regLineChange(cm, from.line, "text") } + else + { regChange(cm, from.line, to.line + 1, lendiff) } + + var changesHandler = hasHandler(cm, "changes"), changeHandler = hasHandler(cm, "change") + if (changeHandler || changesHandler) { + var obj = { + from: from, to: to, + text: change.text, + removed: change.removed, + origin: change.origin + } + if (changeHandler) { signalLater(cm, "change", cm, obj) } + if (changesHandler) { (cm.curOp.changeObjs || (cm.curOp.changeObjs = [])).push(obj) } + } + cm.display.selForContextMenu = null +} + +function replaceRange(doc, code, from, to, origin) { + if (!to) { to = from } + if (cmp(to, from) < 0) { var assign; + (assign = [to, from], from = assign[0], to = assign[1], assign) } + if (typeof code == "string") { code = doc.splitLines(code) } + makeChange(doc, {from: from, to: to, text: code, origin: origin}) +} + +// Rebasing/resetting history to deal with externally-sourced changes + +function rebaseHistSelSingle(pos, from, to, diff) { + if (to < pos.line) { + pos.line += diff + } else if (from < pos.line) { + pos.line = from + pos.ch = 0 + } +} + +// Tries to rebase an array of history events given a change in the +// document. If the change touches the same lines as the event, the +// event, and everything 'behind' it, is discarded. If the change is +// before the event, the event's positions are updated. Uses a +// copy-on-write scheme for the positions, to avoid having to +// reallocate them all on every rebase, but also avoid problems with +// shared position objects being unsafely updated. +function rebaseHistArray(array, from, to, diff) { + for (var i = 0; i < array.length; ++i) { + var sub = array[i], ok = true + if (sub.ranges) { + if (!sub.copied) { sub = array[i] = sub.deepCopy(); sub.copied = true } + for (var j = 0; j < sub.ranges.length; j++) { + rebaseHistSelSingle(sub.ranges[j].anchor, from, to, diff) + rebaseHistSelSingle(sub.ranges[j].head, from, to, diff) + } + continue + } + for (var j$1 = 0; j$1 < sub.changes.length; ++j$1) { + var cur = sub.changes[j$1] + if (to < cur.from.line) { + cur.from = Pos(cur.from.line + diff, cur.from.ch) + cur.to = Pos(cur.to.line + diff, cur.to.ch) + } else if (from <= cur.to.line) { + ok = false + break + } + } + if (!ok) { + array.splice(0, i + 1) + i = 0 + } + } +} + +function rebaseHist(hist, change) { + var from = change.from.line, to = change.to.line, diff = change.text.length - (to - from) - 1 + rebaseHistArray(hist.done, from, to, diff) + rebaseHistArray(hist.undone, from, to, diff) +} + +// Utility for applying a change to a line by handle or number, +// returning the number and optionally registering the line as +// changed. +function changeLine(doc, handle, changeType, op) { + var no = handle, line = handle + if (typeof handle == "number") { line = getLine(doc, clipLine(doc, handle)) } + else { no = lineNo(handle) } + if (no == null) { return null } + if (op(line, no) && doc.cm) { regLineChange(doc.cm, no, changeType) } + return line +} + +// The document is represented as a BTree consisting of leaves, with +// chunk of lines in them, and branches, with up to ten leaves or +// other branch nodes below them. The top node is always a branch +// node, and is the document object itself (meaning it has +// additional methods and properties). +// +// All nodes have parent links. The tree is used both to go from +// line numbers to line objects, and to go from objects to numbers. +// It also indexes by height, and is used to convert between height +// and line object, and to find the total height of the document. +// +// See also http://marijnhaverbeke.nl/blog/codemirror-line-tree.html + +function LeafChunk(lines) { + var this$1 = this; + + this.lines = lines + this.parent = null + var height = 0 + for (var i = 0; i < lines.length; ++i) { + lines[i].parent = this$1 + height += lines[i].height + } + this.height = height +} + +LeafChunk.prototype = { + chunkSize: function chunkSize() { return this.lines.length }, + + // Remove the n lines at offset 'at'. + removeInner: function removeInner(at, n) { + var this$1 = this; + + for (var i = at, e = at + n; i < e; ++i) { + var line = this$1.lines[i] + this$1.height -= line.height + cleanUpLine(line) + signalLater(line, "delete") + } + this.lines.splice(at, n) + }, + + // Helper used to collapse a small branch into a single leaf. + collapse: function collapse(lines) { + lines.push.apply(lines, this.lines) + }, + + // Insert the given array of lines at offset 'at', count them as + // having the given height. + insertInner: function insertInner(at, lines, height) { + var this$1 = this; + + this.height += height + this.lines = this.lines.slice(0, at).concat(lines).concat(this.lines.slice(at)) + for (var i = 0; i < lines.length; ++i) { lines[i].parent = this$1 } + }, + + // Used to iterate over a part of the tree. + iterN: function iterN(at, n, op) { + var this$1 = this; + + for (var e = at + n; at < e; ++at) + { if (op(this$1.lines[at])) { return true } } + } +} + +function BranchChunk(children) { + var this$1 = this; + + this.children = children + var size = 0, height = 0 + for (var i = 0; i < children.length; ++i) { + var ch = children[i] + size += ch.chunkSize(); height += ch.height + ch.parent = this$1 + } + this.size = size + this.height = height + this.parent = null +} + +BranchChunk.prototype = { + chunkSize: function chunkSize() { return this.size }, + + removeInner: function removeInner(at, n) { + var this$1 = this; + + this.size -= n + for (var i = 0; i < this.children.length; ++i) { + var child = this$1.children[i], sz = child.chunkSize() + if (at < sz) { + var rm = Math.min(n, sz - at), oldHeight = child.height + child.removeInner(at, rm) + this$1.height -= oldHeight - child.height + if (sz == rm) { this$1.children.splice(i--, 1); child.parent = null } + if ((n -= rm) == 0) { break } + at = 0 + } else { at -= sz } + } + // If the result is smaller than 25 lines, ensure that it is a + // single leaf node. + if (this.size - n < 25 && + (this.children.length > 1 || !(this.children[0] instanceof LeafChunk))) { + var lines = [] + this.collapse(lines) + this.children = [new LeafChunk(lines)] + this.children[0].parent = this + } + }, + + collapse: function collapse(lines) { + var this$1 = this; + + for (var i = 0; i < this.children.length; ++i) { this$1.children[i].collapse(lines) } + }, + + insertInner: function insertInner(at, lines, height) { + var this$1 = this; + + this.size += lines.length + this.height += height + for (var i = 0; i < this.children.length; ++i) { + var child = this$1.children[i], sz = child.chunkSize() + if (at <= sz) { + child.insertInner(at, lines, height) + if (child.lines && child.lines.length > 50) { + // To avoid memory thrashing when child.lines is huge (e.g. first view of a large file), it's never spliced. + // Instead, small slices are taken. They're taken in order because sequential memory accesses are fastest. + var remaining = child.lines.length % 25 + 25 + for (var pos = remaining; pos < child.lines.length;) { + var leaf = new LeafChunk(child.lines.slice(pos, pos += 25)) + child.height -= leaf.height + this$1.children.splice(++i, 0, leaf) + leaf.parent = this$1 + } + child.lines = child.lines.slice(0, remaining) + this$1.maybeSpill() + } + break + } + at -= sz + } + }, + + // When a node has grown, check whether it should be split. + maybeSpill: function maybeSpill() { + if (this.children.length <= 10) { return } + var me = this + do { + var spilled = me.children.splice(me.children.length - 5, 5) + var sibling = new BranchChunk(spilled) + if (!me.parent) { // Become the parent node + var copy = new BranchChunk(me.children) + copy.parent = me + me.children = [copy, sibling] + me = copy + } else { + me.size -= sibling.size + me.height -= sibling.height + var myIndex = indexOf(me.parent.children, me) + me.parent.children.splice(myIndex + 1, 0, sibling) + } + sibling.parent = me.parent + } while (me.children.length > 10) + me.parent.maybeSpill() + }, + + iterN: function iterN(at, n, op) { + var this$1 = this; + + for (var i = 0; i < this.children.length; ++i) { + var child = this$1.children[i], sz = child.chunkSize() + if (at < sz) { + var used = Math.min(n, sz - at) + if (child.iterN(at, used, op)) { return true } + if ((n -= used) == 0) { break } + at = 0 + } else { at -= sz } + } + } +} + +// Line widgets are block elements displayed above or below a line. + +var LineWidget = function(doc, node, options) { + var this$1 = this; + + if (options) { for (var opt in options) { if (options.hasOwnProperty(opt)) + { this$1[opt] = options[opt] } } } + this.doc = doc + this.node = node +}; + +LineWidget.prototype.clear = function () { + var this$1 = this; + + var cm = this.doc.cm, ws = this.line.widgets, line = this.line, no = lineNo(line) + if (no == null || !ws) { return } + for (var i = 0; i < ws.length; ++i) { if (ws[i] == this$1) { ws.splice(i--, 1) } } + if (!ws.length) { line.widgets = null } + var height = widgetHeight(this) + updateLineHeight(line, Math.max(0, line.height - height)) + if (cm) { + runInOp(cm, function () { + adjustScrollWhenAboveVisible(cm, line, -height) + regLineChange(cm, no, "widget") + }) + signalLater(cm, "lineWidgetCleared", cm, this, no) + } +}; + +LineWidget.prototype.changed = function () { + var this$1 = this; + + var oldH = this.height, cm = this.doc.cm, line = this.line + this.height = null + var diff = widgetHeight(this) - oldH + if (!diff) { return } + updateLineHeight(line, line.height + diff) + if (cm) { + runInOp(cm, function () { + cm.curOp.forceUpdate = true + adjustScrollWhenAboveVisible(cm, line, diff) + signalLater(cm, "lineWidgetChanged", cm, this$1, lineNo(line)) + }) + } +}; +eventMixin(LineWidget) + +function adjustScrollWhenAboveVisible(cm, line, diff) { + if (heightAtLine(line) < ((cm.curOp && cm.curOp.scrollTop) || cm.doc.scrollTop)) + { addToScrollTop(cm, diff) } +} + +function addLineWidget(doc, handle, node, options) { + var widget = new LineWidget(doc, node, options) + var cm = doc.cm + if (cm && widget.noHScroll) { cm.display.alignWidgets = true } + changeLine(doc, handle, "widget", function (line) { + var widgets = line.widgets || (line.widgets = []) + if (widget.insertAt == null) { widgets.push(widget) } + else { widgets.splice(Math.min(widgets.length - 1, Math.max(0, widget.insertAt)), 0, widget) } + widget.line = line + if (cm && !lineIsHidden(doc, line)) { + var aboveVisible = heightAtLine(line) < doc.scrollTop + updateLineHeight(line, line.height + widgetHeight(widget)) + if (aboveVisible) { addToScrollTop(cm, widget.height) } + cm.curOp.forceUpdate = true + } + return true + }) + signalLater(cm, "lineWidgetAdded", cm, widget, typeof handle == "number" ? handle : lineNo(handle)) + return widget +} + +// TEXTMARKERS + +// Created with markText and setBookmark methods. A TextMarker is a +// handle that can be used to clear or find a marked position in the +// document. Line objects hold arrays (markedSpans) containing +// {from, to, marker} object pointing to such marker objects, and +// indicating that such a marker is present on that line. Multiple +// lines may point to the same marker when it spans across lines. +// The spans will have null for their from/to properties when the +// marker continues beyond the start/end of the line. Markers have +// links back to the lines they currently touch. + +// Collapsed markers have unique ids, in order to be able to order +// them, which is needed for uniquely determining an outer marker +// when they overlap (they may nest, but not partially overlap). +var nextMarkerId = 0 + +var TextMarker = function(doc, type) { + this.lines = [] + this.type = type + this.doc = doc + this.id = ++nextMarkerId +}; + +// Clear the marker. +TextMarker.prototype.clear = function () { + var this$1 = this; + + if (this.explicitlyCleared) { return } + var cm = this.doc.cm, withOp = cm && !cm.curOp + if (withOp) { startOperation(cm) } + if (hasHandler(this, "clear")) { + var found = this.find() + if (found) { signalLater(this, "clear", found.from, found.to) } + } + var min = null, max = null + for (var i = 0; i < this.lines.length; ++i) { + var line = this$1.lines[i] + var span = getMarkedSpanFor(line.markedSpans, this$1) + if (cm && !this$1.collapsed) { regLineChange(cm, lineNo(line), "text") } + else if (cm) { + if (span.to != null) { max = lineNo(line) } + if (span.from != null) { min = lineNo(line) } + } + line.markedSpans = removeMarkedSpan(line.markedSpans, span) + if (span.from == null && this$1.collapsed && !lineIsHidden(this$1.doc, line) && cm) + { updateLineHeight(line, textHeight(cm.display)) } + } + if (cm && this.collapsed && !cm.options.lineWrapping) { for (var i$1 = 0; i$1 < this.lines.length; ++i$1) { + var visual = visualLine(this$1.lines[i$1]), len = lineLength(visual) + if (len > cm.display.maxLineLength) { + cm.display.maxLine = visual + cm.display.maxLineLength = len + cm.display.maxLineChanged = true + } + } } + + if (min != null && cm && this.collapsed) { regChange(cm, min, max + 1) } + this.lines.length = 0 + this.explicitlyCleared = true + if (this.atomic && this.doc.cantEdit) { + this.doc.cantEdit = false + if (cm) { reCheckSelection(cm.doc) } + } + if (cm) { signalLater(cm, "markerCleared", cm, this, min, max) } + if (withOp) { endOperation(cm) } + if (this.parent) { this.parent.clear() } +}; + +// Find the position of the marker in the document. Returns a {from, +// to} object by default. Side can be passed to get a specific side +// -- 0 (both), -1 (left), or 1 (right). When lineObj is true, the +// Pos objects returned contain a line object, rather than a line +// number (used to prevent looking up the same line twice). +TextMarker.prototype.find = function (side, lineObj) { + var this$1 = this; + + if (side == null && this.type == "bookmark") { side = 1 } + var from, to + for (var i = 0; i < this.lines.length; ++i) { + var line = this$1.lines[i] + var span = getMarkedSpanFor(line.markedSpans, this$1) + if (span.from != null) { + from = Pos(lineObj ? line : lineNo(line), span.from) + if (side == -1) { return from } + } + if (span.to != null) { + to = Pos(lineObj ? line : lineNo(line), span.to) + if (side == 1) { return to } + } + } + return from && {from: from, to: to} +}; + +// Signals that the marker's widget changed, and surrounding layout +// should be recomputed. +TextMarker.prototype.changed = function () { + var this$1 = this; + + var pos = this.find(-1, true), widget = this, cm = this.doc.cm + if (!pos || !cm) { return } + runInOp(cm, function () { + var line = pos.line, lineN = lineNo(pos.line) + var view = findViewForLine(cm, lineN) + if (view) { + clearLineMeasurementCacheFor(view) + cm.curOp.selectionChanged = cm.curOp.forceUpdate = true + } + cm.curOp.updateMaxLine = true + if (!lineIsHidden(widget.doc, line) && widget.height != null) { + var oldHeight = widget.height + widget.height = null + var dHeight = widgetHeight(widget) - oldHeight + if (dHeight) + { updateLineHeight(line, line.height + dHeight) } + } + signalLater(cm, "markerChanged", cm, this$1) + }) +}; + +TextMarker.prototype.attachLine = function (line) { + if (!this.lines.length && this.doc.cm) { + var op = this.doc.cm.curOp + if (!op.maybeHiddenMarkers || indexOf(op.maybeHiddenMarkers, this) == -1) + { (op.maybeUnhiddenMarkers || (op.maybeUnhiddenMarkers = [])).push(this) } + } + this.lines.push(line) +}; + +TextMarker.prototype.detachLine = function (line) { + this.lines.splice(indexOf(this.lines, line), 1) + if (!this.lines.length && this.doc.cm) { + var op = this.doc.cm.curOp + ;(op.maybeHiddenMarkers || (op.maybeHiddenMarkers = [])).push(this) + } +}; +eventMixin(TextMarker) + +// Create a marker, wire it up to the right lines, and +function markText(doc, from, to, options, type) { + // Shared markers (across linked documents) are handled separately + // (markTextShared will call out to this again, once per + // document). + if (options && options.shared) { return markTextShared(doc, from, to, options, type) } + // Ensure we are in an operation. + if (doc.cm && !doc.cm.curOp) { return operation(doc.cm, markText)(doc, from, to, options, type) } + + var marker = new TextMarker(doc, type), diff = cmp(from, to) + if (options) { copyObj(options, marker, false) } + // Don't connect empty markers unless clearWhenEmpty is false + if (diff > 0 || diff == 0 && marker.clearWhenEmpty !== false) + { return marker } + if (marker.replacedWith) { + // Showing up as a widget implies collapsed (widget replaces text) + marker.collapsed = true + marker.widgetNode = eltP("span", [marker.replacedWith], "CodeMirror-widget") + if (!options.handleMouseEvents) { marker.widgetNode.setAttribute("cm-ignore-events", "true") } + if (options.insertLeft) { marker.widgetNode.insertLeft = true } + } + if (marker.collapsed) { + if (conflictingCollapsedRange(doc, from.line, from, to, marker) || + from.line != to.line && conflictingCollapsedRange(doc, to.line, from, to, marker)) + { throw new Error("Inserting collapsed marker partially overlapping an existing one") } + seeCollapsedSpans() + } + + if (marker.addToHistory) + { addChangeToHistory(doc, {from: from, to: to, origin: "markText"}, doc.sel, NaN) } + + var curLine = from.line, cm = doc.cm, updateMaxLine + doc.iter(curLine, to.line + 1, function (line) { + if (cm && marker.collapsed && !cm.options.lineWrapping && visualLine(line) == cm.display.maxLine) + { updateMaxLine = true } + if (marker.collapsed && curLine != from.line) { updateLineHeight(line, 0) } + addMarkedSpan(line, new MarkedSpan(marker, + curLine == from.line ? from.ch : null, + curLine == to.line ? to.ch : null)) + ++curLine + }) + // lineIsHidden depends on the presence of the spans, so needs a second pass + if (marker.collapsed) { doc.iter(from.line, to.line + 1, function (line) { + if (lineIsHidden(doc, line)) { updateLineHeight(line, 0) } + }) } + + if (marker.clearOnEnter) { on(marker, "beforeCursorEnter", function () { return marker.clear(); }) } + + if (marker.readOnly) { + seeReadOnlySpans() + if (doc.history.done.length || doc.history.undone.length) + { doc.clearHistory() } + } + if (marker.collapsed) { + marker.id = ++nextMarkerId + marker.atomic = true + } + if (cm) { + // Sync editor state + if (updateMaxLine) { cm.curOp.updateMaxLine = true } + if (marker.collapsed) + { regChange(cm, from.line, to.line + 1) } + else if (marker.className || marker.title || marker.startStyle || marker.endStyle || marker.css) + { for (var i = from.line; i <= to.line; i++) { regLineChange(cm, i, "text") } } + if (marker.atomic) { reCheckSelection(cm.doc) } + signalLater(cm, "markerAdded", cm, marker) + } + return marker +} + +// SHARED TEXTMARKERS + +// A shared marker spans multiple linked documents. It is +// implemented as a meta-marker-object controlling multiple normal +// markers. +var SharedTextMarker = function(markers, primary) { + var this$1 = this; + + this.markers = markers + this.primary = primary + for (var i = 0; i < markers.length; ++i) + { markers[i].parent = this$1 } +}; + +SharedTextMarker.prototype.clear = function () { + var this$1 = this; + + if (this.explicitlyCleared) { return } + this.explicitlyCleared = true + for (var i = 0; i < this.markers.length; ++i) + { this$1.markers[i].clear() } + signalLater(this, "clear") +}; + +SharedTextMarker.prototype.find = function (side, lineObj) { + return this.primary.find(side, lineObj) +}; +eventMixin(SharedTextMarker) + +function markTextShared(doc, from, to, options, type) { + options = copyObj(options) + options.shared = false + var markers = [markText(doc, from, to, options, type)], primary = markers[0] + var widget = options.widgetNode + linkedDocs(doc, function (doc) { + if (widget) { options.widgetNode = widget.cloneNode(true) } + markers.push(markText(doc, clipPos(doc, from), clipPos(doc, to), options, type)) + for (var i = 0; i < doc.linked.length; ++i) + { if (doc.linked[i].isParent) { return } } + primary = lst(markers) + }) + return new SharedTextMarker(markers, primary) +} + +function findSharedMarkers(doc) { + return doc.findMarks(Pos(doc.first, 0), doc.clipPos(Pos(doc.lastLine())), function (m) { return m.parent; }) +} + +function copySharedMarkers(doc, markers) { + for (var i = 0; i < markers.length; i++) { + var marker = markers[i], pos = marker.find() + var mFrom = doc.clipPos(pos.from), mTo = doc.clipPos(pos.to) + if (cmp(mFrom, mTo)) { + var subMark = markText(doc, mFrom, mTo, marker.primary, marker.primary.type) + marker.markers.push(subMark) + subMark.parent = marker + } + } +} + +function detachSharedMarkers(markers) { + var loop = function ( i ) { + var marker = markers[i], linked = [marker.primary.doc] + linkedDocs(marker.primary.doc, function (d) { return linked.push(d); }) + for (var j = 0; j < marker.markers.length; j++) { + var subMarker = marker.markers[j] + if (indexOf(linked, subMarker.doc) == -1) { + subMarker.parent = null + marker.markers.splice(j--, 1) + } + } + }; + + for (var i = 0; i < markers.length; i++) loop( i ); +} + +var nextDocId = 0 +var Doc = function(text, mode, firstLine, lineSep, direction) { + if (!(this instanceof Doc)) { return new Doc(text, mode, firstLine, lineSep, direction) } + if (firstLine == null) { firstLine = 0 } + + BranchChunk.call(this, [new LeafChunk([new Line("", null)])]) + this.first = firstLine + this.scrollTop = this.scrollLeft = 0 + this.cantEdit = false + this.cleanGeneration = 1 + this.modeFrontier = this.highlightFrontier = firstLine + var start = Pos(firstLine, 0) + this.sel = simpleSelection(start) + this.history = new History(null) + this.id = ++nextDocId + this.modeOption = mode + this.lineSep = lineSep + this.direction = (direction == "rtl") ? "rtl" : "ltr" + this.extend = false + + if (typeof text == "string") { text = this.splitLines(text) } + updateDoc(this, {from: start, to: start, text: text}) + setSelection(this, simpleSelection(start), sel_dontScroll) +} + +Doc.prototype = createObj(BranchChunk.prototype, { + constructor: Doc, + // Iterate over the document. Supports two forms -- with only one + // argument, it calls that for each line in the document. With + // three, it iterates over the range given by the first two (with + // the second being non-inclusive). + iter: function(from, to, op) { + if (op) { this.iterN(from - this.first, to - from, op) } + else { this.iterN(this.first, this.first + this.size, from) } + }, + + // Non-public interface for adding and removing lines. + insert: function(at, lines) { + var height = 0 + for (var i = 0; i < lines.length; ++i) { height += lines[i].height } + this.insertInner(at - this.first, lines, height) + }, + remove: function(at, n) { this.removeInner(at - this.first, n) }, + + // From here, the methods are part of the public interface. Most + // are also available from CodeMirror (editor) instances. + + getValue: function(lineSep) { + var lines = getLines(this, this.first, this.first + this.size) + if (lineSep === false) { return lines } + return lines.join(lineSep || this.lineSeparator()) + }, + setValue: docMethodOp(function(code) { + var top = Pos(this.first, 0), last = this.first + this.size - 1 + makeChange(this, {from: top, to: Pos(last, getLine(this, last).text.length), + text: this.splitLines(code), origin: "setValue", full: true}, true) + if (this.cm) { scrollToCoords(this.cm, 0, 0) } + setSelection(this, simpleSelection(top), sel_dontScroll) + }), + replaceRange: function(code, from, to, origin) { + from = clipPos(this, from) + to = to ? clipPos(this, to) : from + replaceRange(this, code, from, to, origin) + }, + getRange: function(from, to, lineSep) { + var lines = getBetween(this, clipPos(this, from), clipPos(this, to)) + if (lineSep === false) { return lines } + return lines.join(lineSep || this.lineSeparator()) + }, + + getLine: function(line) {var l = this.getLineHandle(line); return l && l.text}, + + getLineHandle: function(line) {if (isLine(this, line)) { return getLine(this, line) }}, + getLineNumber: function(line) {return lineNo(line)}, + + getLineHandleVisualStart: function(line) { + if (typeof line == "number") { line = getLine(this, line) } + return visualLine(line) + }, + + lineCount: function() {return this.size}, + firstLine: function() {return this.first}, + lastLine: function() {return this.first + this.size - 1}, + + clipPos: function(pos) {return clipPos(this, pos)}, + + getCursor: function(start) { + var range = this.sel.primary(), pos + if (start == null || start == "head") { pos = range.head } + else if (start == "anchor") { pos = range.anchor } + else if (start == "end" || start == "to" || start === false) { pos = range.to() } + else { pos = range.from() } + return pos + }, + listSelections: function() { return this.sel.ranges }, + somethingSelected: function() {return this.sel.somethingSelected()}, + + setCursor: docMethodOp(function(line, ch, options) { + setSimpleSelection(this, clipPos(this, typeof line == "number" ? Pos(line, ch || 0) : line), null, options) + }), + setSelection: docMethodOp(function(anchor, head, options) { + setSimpleSelection(this, clipPos(this, anchor), clipPos(this, head || anchor), options) + }), + extendSelection: docMethodOp(function(head, other, options) { + extendSelection(this, clipPos(this, head), other && clipPos(this, other), options) + }), + extendSelections: docMethodOp(function(heads, options) { + extendSelections(this, clipPosArray(this, heads), options) + }), + extendSelectionsBy: docMethodOp(function(f, options) { + var heads = map(this.sel.ranges, f) + extendSelections(this, clipPosArray(this, heads), options) + }), + setSelections: docMethodOp(function(ranges, primary, options) { + var this$1 = this; + + if (!ranges.length) { return } + var out = [] + for (var i = 0; i < ranges.length; i++) + { out[i] = new Range(clipPos(this$1, ranges[i].anchor), + clipPos(this$1, ranges[i].head)) } + if (primary == null) { primary = Math.min(ranges.length - 1, this.sel.primIndex) } + setSelection(this, normalizeSelection(out, primary), options) + }), + addSelection: docMethodOp(function(anchor, head, options) { + var ranges = this.sel.ranges.slice(0) + ranges.push(new Range(clipPos(this, anchor), clipPos(this, head || anchor))) + setSelection(this, normalizeSelection(ranges, ranges.length - 1), options) + }), + + getSelection: function(lineSep) { + var this$1 = this; + + var ranges = this.sel.ranges, lines + for (var i = 0; i < ranges.length; i++) { + var sel = getBetween(this$1, ranges[i].from(), ranges[i].to()) + lines = lines ? lines.concat(sel) : sel + } + if (lineSep === false) { return lines } + else { return lines.join(lineSep || this.lineSeparator()) } + }, + getSelections: function(lineSep) { + var this$1 = this; + + var parts = [], ranges = this.sel.ranges + for (var i = 0; i < ranges.length; i++) { + var sel = getBetween(this$1, ranges[i].from(), ranges[i].to()) + if (lineSep !== false) { sel = sel.join(lineSep || this$1.lineSeparator()) } + parts[i] = sel + } + return parts + }, + replaceSelection: function(code, collapse, origin) { + var dup = [] + for (var i = 0; i < this.sel.ranges.length; i++) + { dup[i] = code } + this.replaceSelections(dup, collapse, origin || "+input") + }, + replaceSelections: docMethodOp(function(code, collapse, origin) { + var this$1 = this; + + var changes = [], sel = this.sel + for (var i = 0; i < sel.ranges.length; i++) { + var range = sel.ranges[i] + changes[i] = {from: range.from(), to: range.to(), text: this$1.splitLines(code[i]), origin: origin} + } + var newSel = collapse && collapse != "end" && computeReplacedSel(this, changes, collapse) + for (var i$1 = changes.length - 1; i$1 >= 0; i$1--) + { makeChange(this$1, changes[i$1]) } + if (newSel) { setSelectionReplaceHistory(this, newSel) } + else if (this.cm) { ensureCursorVisible(this.cm) } + }), + undo: docMethodOp(function() {makeChangeFromHistory(this, "undo")}), + redo: docMethodOp(function() {makeChangeFromHistory(this, "redo")}), + undoSelection: docMethodOp(function() {makeChangeFromHistory(this, "undo", true)}), + redoSelection: docMethodOp(function() {makeChangeFromHistory(this, "redo", true)}), + + setExtending: function(val) {this.extend = val}, + getExtending: function() {return this.extend}, + + historySize: function() { + var hist = this.history, done = 0, undone = 0 + for (var i = 0; i < hist.done.length; i++) { if (!hist.done[i].ranges) { ++done } } + for (var i$1 = 0; i$1 < hist.undone.length; i$1++) { if (!hist.undone[i$1].ranges) { ++undone } } + return {undo: done, redo: undone} + }, + clearHistory: function() {this.history = new History(this.history.maxGeneration)}, + + markClean: function() { + this.cleanGeneration = this.changeGeneration(true) + }, + changeGeneration: function(forceSplit) { + if (forceSplit) + { this.history.lastOp = this.history.lastSelOp = this.history.lastOrigin = null } + return this.history.generation + }, + isClean: function (gen) { + return this.history.generation == (gen || this.cleanGeneration) + }, + + getHistory: function() { + return {done: copyHistoryArray(this.history.done), + undone: copyHistoryArray(this.history.undone)} + }, + setHistory: function(histData) { + var hist = this.history = new History(this.history.maxGeneration) + hist.done = copyHistoryArray(histData.done.slice(0), null, true) + hist.undone = copyHistoryArray(histData.undone.slice(0), null, true) + }, + + setGutterMarker: docMethodOp(function(line, gutterID, value) { + return changeLine(this, line, "gutter", function (line) { + var markers = line.gutterMarkers || (line.gutterMarkers = {}) + markers[gutterID] = value + if (!value && isEmpty(markers)) { line.gutterMarkers = null } + return true + }) + }), + + clearGutter: docMethodOp(function(gutterID) { + var this$1 = this; + + this.iter(function (line) { + if (line.gutterMarkers && line.gutterMarkers[gutterID]) { + changeLine(this$1, line, "gutter", function () { + line.gutterMarkers[gutterID] = null + if (isEmpty(line.gutterMarkers)) { line.gutterMarkers = null } + return true + }) + } + }) + }), + + lineInfo: function(line) { + var n + if (typeof line == "number") { + if (!isLine(this, line)) { return null } + n = line + line = getLine(this, line) + if (!line) { return null } + } else { + n = lineNo(line) + if (n == null) { return null } + } + return {line: n, handle: line, text: line.text, gutterMarkers: line.gutterMarkers, + textClass: line.textClass, bgClass: line.bgClass, wrapClass: line.wrapClass, + widgets: line.widgets} + }, + + addLineClass: docMethodOp(function(handle, where, cls) { + return changeLine(this, handle, where == "gutter" ? "gutter" : "class", function (line) { + var prop = where == "text" ? "textClass" + : where == "background" ? "bgClass" + : where == "gutter" ? "gutterClass" : "wrapClass" + if (!line[prop]) { line[prop] = cls } + else if (classTest(cls).test(line[prop])) { return false } + else { line[prop] += " " + cls } + return true + }) + }), + removeLineClass: docMethodOp(function(handle, where, cls) { + return changeLine(this, handle, where == "gutter" ? "gutter" : "class", function (line) { + var prop = where == "text" ? "textClass" + : where == "background" ? "bgClass" + : where == "gutter" ? "gutterClass" : "wrapClass" + var cur = line[prop] + if (!cur) { return false } + else if (cls == null) { line[prop] = null } + else { + var found = cur.match(classTest(cls)) + if (!found) { return false } + var end = found.index + found[0].length + line[prop] = cur.slice(0, found.index) + (!found.index || end == cur.length ? "" : " ") + cur.slice(end) || null + } + return true + }) + }), + + addLineWidget: docMethodOp(function(handle, node, options) { + return addLineWidget(this, handle, node, options) + }), + removeLineWidget: function(widget) { widget.clear() }, + + markText: function(from, to, options) { + return markText(this, clipPos(this, from), clipPos(this, to), options, options && options.type || "range") + }, + setBookmark: function(pos, options) { + var realOpts = {replacedWith: options && (options.nodeType == null ? options.widget : options), + insertLeft: options && options.insertLeft, + clearWhenEmpty: false, shared: options && options.shared, + handleMouseEvents: options && options.handleMouseEvents} + pos = clipPos(this, pos) + return markText(this, pos, pos, realOpts, "bookmark") + }, + findMarksAt: function(pos) { + pos = clipPos(this, pos) + var markers = [], spans = getLine(this, pos.line).markedSpans + if (spans) { for (var i = 0; i < spans.length; ++i) { + var span = spans[i] + if ((span.from == null || span.from <= pos.ch) && + (span.to == null || span.to >= pos.ch)) + { markers.push(span.marker.parent || span.marker) } + } } + return markers + }, + findMarks: function(from, to, filter) { + from = clipPos(this, from); to = clipPos(this, to) + var found = [], lineNo = from.line + this.iter(from.line, to.line + 1, function (line) { + var spans = line.markedSpans + if (spans) { for (var i = 0; i < spans.length; i++) { + var span = spans[i] + if (!(span.to != null && lineNo == from.line && from.ch >= span.to || + span.from == null && lineNo != from.line || + span.from != null && lineNo == to.line && span.from >= to.ch) && + (!filter || filter(span.marker))) + { found.push(span.marker.parent || span.marker) } + } } + ++lineNo + }) + return found + }, + getAllMarks: function() { + var markers = [] + this.iter(function (line) { + var sps = line.markedSpans + if (sps) { for (var i = 0; i < sps.length; ++i) + { if (sps[i].from != null) { markers.push(sps[i].marker) } } } + }) + return markers + }, + + posFromIndex: function(off) { + var ch, lineNo = this.first, sepSize = this.lineSeparator().length + this.iter(function (line) { + var sz = line.text.length + sepSize + if (sz > off) { ch = off; return true } + off -= sz + ++lineNo + }) + return clipPos(this, Pos(lineNo, ch)) + }, + indexFromPos: function (coords) { + coords = clipPos(this, coords) + var index = coords.ch + if (coords.line < this.first || coords.ch < 0) { return 0 } + var sepSize = this.lineSeparator().length + this.iter(this.first, coords.line, function (line) { // iter aborts when callback returns a truthy value + index += line.text.length + sepSize + }) + return index + }, + + copy: function(copyHistory) { + var doc = new Doc(getLines(this, this.first, this.first + this.size), + this.modeOption, this.first, this.lineSep, this.direction) + doc.scrollTop = this.scrollTop; doc.scrollLeft = this.scrollLeft + doc.sel = this.sel + doc.extend = false + if (copyHistory) { + doc.history.undoDepth = this.history.undoDepth + doc.setHistory(this.getHistory()) + } + return doc + }, + + linkedDoc: function(options) { + if (!options) { options = {} } + var from = this.first, to = this.first + this.size + if (options.from != null && options.from > from) { from = options.from } + if (options.to != null && options.to < to) { to = options.to } + var copy = new Doc(getLines(this, from, to), options.mode || this.modeOption, from, this.lineSep, this.direction) + if (options.sharedHist) { copy.history = this.history + ; }(this.linked || (this.linked = [])).push({doc: copy, sharedHist: options.sharedHist}) + copy.linked = [{doc: this, isParent: true, sharedHist: options.sharedHist}] + copySharedMarkers(copy, findSharedMarkers(this)) + return copy + }, + unlinkDoc: function(other) { + var this$1 = this; + + if (other instanceof CodeMirror) { other = other.doc } + if (this.linked) { for (var i = 0; i < this.linked.length; ++i) { + var link = this$1.linked[i] + if (link.doc != other) { continue } + this$1.linked.splice(i, 1) + other.unlinkDoc(this$1) + detachSharedMarkers(findSharedMarkers(this$1)) + break + } } + // If the histories were shared, split them again + if (other.history == this.history) { + var splitIds = [other.id] + linkedDocs(other, function (doc) { return splitIds.push(doc.id); }, true) + other.history = new History(null) + other.history.done = copyHistoryArray(this.history.done, splitIds) + other.history.undone = copyHistoryArray(this.history.undone, splitIds) + } + }, + iterLinkedDocs: function(f) {linkedDocs(this, f)}, + + getMode: function() {return this.mode}, + getEditor: function() {return this.cm}, + + splitLines: function(str) { + if (this.lineSep) { return str.split(this.lineSep) } + return splitLinesAuto(str) + }, + lineSeparator: function() { return this.lineSep || "\n" }, + + setDirection: docMethodOp(function (dir) { + if (dir != "rtl") { dir = "ltr" } + if (dir == this.direction) { return } + this.direction = dir + this.iter(function (line) { return line.order = null; }) + if (this.cm) { directionChanged(this.cm) } + }) +}) + +// Public alias. +Doc.prototype.eachLine = Doc.prototype.iter + +// Kludge to work around strange IE behavior where it'll sometimes +// re-fire a series of drag-related events right after the drop (#1551) +var lastDrop = 0 + +function onDrop(e) { + var cm = this + clearDragCursor(cm) + if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) + { return } + e_preventDefault(e) + if (ie) { lastDrop = +new Date } + var pos = posFromMouse(cm, e, true), files = e.dataTransfer.files + if (!pos || cm.isReadOnly()) { return } + // Might be a file drop, in which case we simply extract the text + // and insert it. + if (files && files.length && window.FileReader && window.File) { + var n = files.length, text = Array(n), read = 0 + var loadFile = function (file, i) { + if (cm.options.allowDropFileTypes && + indexOf(cm.options.allowDropFileTypes, file.type) == -1) + { return } + + var reader = new FileReader + reader.onload = operation(cm, function () { + var content = reader.result + if (/[\x00-\x08\x0e-\x1f]{2}/.test(content)) { content = "" } + text[i] = content + if (++read == n) { + pos = clipPos(cm.doc, pos) + var change = {from: pos, to: pos, + text: cm.doc.splitLines(text.join(cm.doc.lineSeparator())), + origin: "paste"} + makeChange(cm.doc, change) + setSelectionReplaceHistory(cm.doc, simpleSelection(pos, changeEnd(change))) + } + }) + reader.readAsText(file) + } + for (var i = 0; i < n; ++i) { loadFile(files[i], i) } + } else { // Normal drop + // Don't do a replace if the drop happened inside of the selected text. + if (cm.state.draggingText && cm.doc.sel.contains(pos) > -1) { + cm.state.draggingText(e) + // Ensure the editor is re-focused + setTimeout(function () { return cm.display.input.focus(); }, 20) + return + } + try { + var text$1 = e.dataTransfer.getData("Text") + if (text$1) { + var selected + if (cm.state.draggingText && !cm.state.draggingText.copy) + { selected = cm.listSelections() } + setSelectionNoUndo(cm.doc, simpleSelection(pos, pos)) + if (selected) { for (var i$1 = 0; i$1 < selected.length; ++i$1) + { replaceRange(cm.doc, "", selected[i$1].anchor, selected[i$1].head, "drag") } } + cm.replaceSelection(text$1, "around", "paste") + cm.display.input.focus() + } + } + catch(e){} + } +} + +function onDragStart(cm, e) { + if (ie && (!cm.state.draggingText || +new Date - lastDrop < 100)) { e_stop(e); return } + if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) { return } + + e.dataTransfer.setData("Text", cm.getSelection()) + e.dataTransfer.effectAllowed = "copyMove" + + // Use dummy image instead of default browsers image. + // Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there. + if (e.dataTransfer.setDragImage && !safari) { + var img = elt("img", null, null, "position: fixed; left: 0; top: 0;") + img.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" + if (presto) { + img.width = img.height = 1 + cm.display.wrapper.appendChild(img) + // Force a relayout, or Opera won't use our image for some obscure reason + img._top = img.offsetTop + } + e.dataTransfer.setDragImage(img, 0, 0) + if (presto) { img.parentNode.removeChild(img) } + } +} + +function onDragOver(cm, e) { + var pos = posFromMouse(cm, e) + if (!pos) { return } + var frag = document.createDocumentFragment() + drawSelectionCursor(cm, pos, frag) + if (!cm.display.dragCursor) { + cm.display.dragCursor = elt("div", null, "CodeMirror-cursors CodeMirror-dragcursors") + cm.display.lineSpace.insertBefore(cm.display.dragCursor, cm.display.cursorDiv) + } + removeChildrenAndAdd(cm.display.dragCursor, frag) +} + +function clearDragCursor(cm) { + if (cm.display.dragCursor) { + cm.display.lineSpace.removeChild(cm.display.dragCursor) + cm.display.dragCursor = null + } +} + +// These must be handled carefully, because naively registering a +// handler for each editor will cause the editors to never be +// garbage collected. + +function forEachCodeMirror(f) { + if (!document.getElementsByClassName) { return } + var byClass = document.getElementsByClassName("CodeMirror") + for (var i = 0; i < byClass.length; i++) { + var cm = byClass[i].CodeMirror + if (cm) { f(cm) } + } +} + +var globalsRegistered = false +function ensureGlobalHandlers() { + if (globalsRegistered) { return } + registerGlobalHandlers() + globalsRegistered = true +} +function registerGlobalHandlers() { + // When the window resizes, we need to refresh active editors. + var resizeTimer + on(window, "resize", function () { + if (resizeTimer == null) { resizeTimer = setTimeout(function () { + resizeTimer = null + forEachCodeMirror(onResize) + }, 100) } + }) + // When the window loses focus, we want to show the editor as blurred + on(window, "blur", function () { return forEachCodeMirror(onBlur); }) +} +// Called when the window resizes +function onResize(cm) { + var d = cm.display + if (d.lastWrapHeight == d.wrapper.clientHeight && d.lastWrapWidth == d.wrapper.clientWidth) + { return } + // Might be a text scaling operation, clear size caches. + d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null + d.scrollbarsClipped = false + cm.setSize() +} + +var keyNames = { + 3: "Enter", 8: "Backspace", 9: "Tab", 13: "Enter", 16: "Shift", 17: "Ctrl", 18: "Alt", + 19: "Pause", 20: "CapsLock", 27: "Esc", 32: "Space", 33: "PageUp", 34: "PageDown", 35: "End", + 36: "Home", 37: "Left", 38: "Up", 39: "Right", 40: "Down", 44: "PrintScrn", 45: "Insert", + 46: "Delete", 59: ";", 61: "=", 91: "Mod", 92: "Mod", 93: "Mod", + 106: "*", 107: "=", 109: "-", 110: ".", 111: "/", 127: "Delete", + 173: "-", 186: ";", 187: "=", 188: ",", 189: "-", 190: ".", 191: "/", 192: "`", 219: "[", 220: "\\", + 221: "]", 222: "'", 63232: "Up", 63233: "Down", 63234: "Left", 63235: "Right", 63272: "Delete", + 63273: "Home", 63275: "End", 63276: "PageUp", 63277: "PageDown", 63302: "Insert" +} + +// Number keys +for (var i = 0; i < 10; i++) { keyNames[i + 48] = keyNames[i + 96] = String(i) } +// Alphabetic keys +for (var i$1 = 65; i$1 <= 90; i$1++) { keyNames[i$1] = String.fromCharCode(i$1) } +// Function keys +for (var i$2 = 1; i$2 <= 12; i$2++) { keyNames[i$2 + 111] = keyNames[i$2 + 63235] = "F" + i$2 } + +var keyMap = {} + +keyMap.basic = { + "Left": "goCharLeft", "Right": "goCharRight", "Up": "goLineUp", "Down": "goLineDown", + "End": "goLineEnd", "Home": "goLineStartSmart", "PageUp": "goPageUp", "PageDown": "goPageDown", + "Delete": "delCharAfter", "Backspace": "delCharBefore", "Shift-Backspace": "delCharBefore", + "Tab": "defaultTab", "Shift-Tab": "indentAuto", + "Enter": "newlineAndIndent", "Insert": "toggleOverwrite", + "Esc": "singleSelection" +} +// Note that the save and find-related commands aren't defined by +// default. User code or addons can define them. Unknown commands +// are simply ignored. +keyMap.pcDefault = { + "Ctrl-A": "selectAll", "Ctrl-D": "deleteLine", "Ctrl-Z": "undo", "Shift-Ctrl-Z": "redo", "Ctrl-Y": "redo", + "Ctrl-Home": "goDocStart", "Ctrl-End": "goDocEnd", "Ctrl-Up": "goLineUp", "Ctrl-Down": "goLineDown", + "Ctrl-Left": "goGroupLeft", "Ctrl-Right": "goGroupRight", "Alt-Left": "goLineStart", "Alt-Right": "goLineEnd", + "Ctrl-Backspace": "delGroupBefore", "Ctrl-Delete": "delGroupAfter", "Ctrl-S": "save", "Ctrl-F": "find", + "Ctrl-G": "findNext", "Shift-Ctrl-G": "findPrev", "Shift-Ctrl-F": "replace", "Shift-Ctrl-R": "replaceAll", + "Ctrl-[": "indentLess", "Ctrl-]": "indentMore", + "Ctrl-U": "undoSelection", "Shift-Ctrl-U": "redoSelection", "Alt-U": "redoSelection", + fallthrough: "basic" +} +// Very basic readline/emacs-style bindings, which are standard on Mac. +keyMap.emacsy = { + "Ctrl-F": "goCharRight", "Ctrl-B": "goCharLeft", "Ctrl-P": "goLineUp", "Ctrl-N": "goLineDown", + "Alt-F": "goWordRight", "Alt-B": "goWordLeft", "Ctrl-A": "goLineStart", "Ctrl-E": "goLineEnd", + "Ctrl-V": "goPageDown", "Shift-Ctrl-V": "goPageUp", "Ctrl-D": "delCharAfter", "Ctrl-H": "delCharBefore", + "Alt-D": "delWordAfter", "Alt-Backspace": "delWordBefore", "Ctrl-K": "killLine", "Ctrl-T": "transposeChars", + "Ctrl-O": "openLine" +} +keyMap.macDefault = { + "Cmd-A": "selectAll", "Cmd-D": "deleteLine", "Cmd-Z": "undo", "Shift-Cmd-Z": "redo", "Cmd-Y": "redo", + "Cmd-Home": "goDocStart", "Cmd-Up": "goDocStart", "Cmd-End": "goDocEnd", "Cmd-Down": "goDocEnd", "Alt-Left": "goGroupLeft", + "Alt-Right": "goGroupRight", "Cmd-Left": "goLineLeft", "Cmd-Right": "goLineRight", "Alt-Backspace": "delGroupBefore", + "Ctrl-Alt-Backspace": "delGroupAfter", "Alt-Delete": "delGroupAfter", "Cmd-S": "save", "Cmd-F": "find", + "Cmd-G": "findNext", "Shift-Cmd-G": "findPrev", "Cmd-Alt-F": "replace", "Shift-Cmd-Alt-F": "replaceAll", + "Cmd-[": "indentLess", "Cmd-]": "indentMore", "Cmd-Backspace": "delWrappedLineLeft", "Cmd-Delete": "delWrappedLineRight", + "Cmd-U": "undoSelection", "Shift-Cmd-U": "redoSelection", "Ctrl-Up": "goDocStart", "Ctrl-Down": "goDocEnd", + fallthrough: ["basic", "emacsy"] +} +keyMap["default"] = mac ? keyMap.macDefault : keyMap.pcDefault + +// KEYMAP DISPATCH + +function normalizeKeyName(name) { + var parts = name.split(/-(?!$)/) + name = parts[parts.length - 1] + var alt, ctrl, shift, cmd + for (var i = 0; i < parts.length - 1; i++) { + var mod = parts[i] + if (/^(cmd|meta|m)$/i.test(mod)) { cmd = true } + else if (/^a(lt)?$/i.test(mod)) { alt = true } + else if (/^(c|ctrl|control)$/i.test(mod)) { ctrl = true } + else if (/^s(hift)?$/i.test(mod)) { shift = true } + else { throw new Error("Unrecognized modifier name: " + mod) } + } + if (alt) { name = "Alt-" + name } + if (ctrl) { name = "Ctrl-" + name } + if (cmd) { name = "Cmd-" + name } + if (shift) { name = "Shift-" + name } + return name +} + +// This is a kludge to keep keymaps mostly working as raw objects +// (backwards compatibility) while at the same time support features +// like normalization and multi-stroke key bindings. It compiles a +// new normalized keymap, and then updates the old object to reflect +// this. +function normalizeKeyMap(keymap) { + var copy = {} + for (var keyname in keymap) { if (keymap.hasOwnProperty(keyname)) { + var value = keymap[keyname] + if (/^(name|fallthrough|(de|at)tach)$/.test(keyname)) { continue } + if (value == "...") { delete keymap[keyname]; continue } + + var keys = map(keyname.split(" "), normalizeKeyName) + for (var i = 0; i < keys.length; i++) { + var val = (void 0), name = (void 0) + if (i == keys.length - 1) { + name = keys.join(" ") + val = value + } else { + name = keys.slice(0, i + 1).join(" ") + val = "..." + } + var prev = copy[name] + if (!prev) { copy[name] = val } + else if (prev != val) { throw new Error("Inconsistent bindings for " + name) } + } + delete keymap[keyname] + } } + for (var prop in copy) { keymap[prop] = copy[prop] } + return keymap +} + +function lookupKey(key, map, handle, context) { + map = getKeyMap(map) + var found = map.call ? map.call(key, context) : map[key] + if (found === false) { return "nothing" } + if (found === "...") { return "multi" } + if (found != null && handle(found)) { return "handled" } + + if (map.fallthrough) { + if (Object.prototype.toString.call(map.fallthrough) != "[object Array]") + { return lookupKey(key, map.fallthrough, handle, context) } + for (var i = 0; i < map.fallthrough.length; i++) { + var result = lookupKey(key, map.fallthrough[i], handle, context) + if (result) { return result } + } + } +} + +// Modifier key presses don't count as 'real' key presses for the +// purpose of keymap fallthrough. +function isModifierKey(value) { + var name = typeof value == "string" ? value : keyNames[value.keyCode] + return name == "Ctrl" || name == "Alt" || name == "Shift" || name == "Mod" +} + +function addModifierNames(name, event, noShift) { + var base = name + if (event.altKey && base != "Alt") { name = "Alt-" + name } + if ((flipCtrlCmd ? event.metaKey : event.ctrlKey) && base != "Ctrl") { name = "Ctrl-" + name } + if ((flipCtrlCmd ? event.ctrlKey : event.metaKey) && base != "Cmd") { name = "Cmd-" + name } + if (!noShift && event.shiftKey && base != "Shift") { name = "Shift-" + name } + return name +} + +// Look up the name of a key as indicated by an event object. +function keyName(event, noShift) { + if (presto && event.keyCode == 34 && event["char"]) { return false } + var name = keyNames[event.keyCode] + if (name == null || event.altGraphKey) { return false } + return addModifierNames(name, event, noShift) +} + +function getKeyMap(val) { + return typeof val == "string" ? keyMap[val] : val +} + +// Helper for deleting text near the selection(s), used to implement +// backspace, delete, and similar functionality. +function deleteNearSelection(cm, compute) { + var ranges = cm.doc.sel.ranges, kill = [] + // Build up a set of ranges to kill first, merging overlapping + // ranges. + for (var i = 0; i < ranges.length; i++) { + var toKill = compute(ranges[i]) + while (kill.length && cmp(toKill.from, lst(kill).to) <= 0) { + var replaced = kill.pop() + if (cmp(replaced.from, toKill.from) < 0) { + toKill.from = replaced.from + break + } + } + kill.push(toKill) + } + // Next, remove those actual ranges. + runInOp(cm, function () { + for (var i = kill.length - 1; i >= 0; i--) + { replaceRange(cm.doc, "", kill[i].from, kill[i].to, "+delete") } + ensureCursorVisible(cm) + }) +} + +function moveCharLogically(line, ch, dir) { + var target = skipExtendingChars(line.text, ch + dir, dir) + return target < 0 || target > line.text.length ? null : target +} + +function moveLogically(line, start, dir) { + var ch = moveCharLogically(line, start.ch, dir) + return ch == null ? null : new Pos(start.line, ch, dir < 0 ? "after" : "before") +} + +function endOfLine(visually, cm, lineObj, lineNo, dir) { + if (visually) { + var order = getOrder(lineObj, cm.doc.direction) + if (order) { + var part = dir < 0 ? lst(order) : order[0] + var moveInStorageOrder = (dir < 0) == (part.level == 1) + var sticky = moveInStorageOrder ? "after" : "before" + var ch + // With a wrapped rtl chunk (possibly spanning multiple bidi parts), + // it could be that the last bidi part is not on the last visual line, + // since visual lines contain content order-consecutive chunks. + // Thus, in rtl, we are looking for the first (content-order) character + // in the rtl chunk that is on the last line (that is, the same line + // as the last (content-order) character). + if (part.level > 0 || cm.doc.direction == "rtl") { + var prep = prepareMeasureForLine(cm, lineObj) + ch = dir < 0 ? lineObj.text.length - 1 : 0 + var targetTop = measureCharPrepared(cm, prep, ch).top + ch = findFirst(function (ch) { return measureCharPrepared(cm, prep, ch).top == targetTop; }, (dir < 0) == (part.level == 1) ? part.from : part.to - 1, ch) + if (sticky == "before") { ch = moveCharLogically(lineObj, ch, 1) } + } else { ch = dir < 0 ? part.to : part.from } + return new Pos(lineNo, ch, sticky) + } + } + return new Pos(lineNo, dir < 0 ? lineObj.text.length : 0, dir < 0 ? "before" : "after") +} + +function moveVisually(cm, line, start, dir) { + var bidi = getOrder(line, cm.doc.direction) + if (!bidi) { return moveLogically(line, start, dir) } + if (start.ch >= line.text.length) { + start.ch = line.text.length + start.sticky = "before" + } else if (start.ch <= 0) { + start.ch = 0 + start.sticky = "after" + } + var partPos = getBidiPartAt(bidi, start.ch, start.sticky), part = bidi[partPos] + if (cm.doc.direction == "ltr" && part.level % 2 == 0 && (dir > 0 ? part.to > start.ch : part.from < start.ch)) { + // Case 1: We move within an ltr part in an ltr editor. Even with wrapped lines, + // nothing interesting happens. + return moveLogically(line, start, dir) + } + + var mv = function (pos, dir) { return moveCharLogically(line, pos instanceof Pos ? pos.ch : pos, dir); } + var prep + var getWrappedLineExtent = function (ch) { + if (!cm.options.lineWrapping) { return {begin: 0, end: line.text.length} } + prep = prep || prepareMeasureForLine(cm, line) + return wrappedLineExtentChar(cm, line, prep, ch) + } + var wrappedLineExtent = getWrappedLineExtent(start.sticky == "before" ? mv(start, -1) : start.ch) + + if (cm.doc.direction == "rtl" || part.level == 1) { + var moveInStorageOrder = (part.level == 1) == (dir < 0) + var ch = mv(start, moveInStorageOrder ? 1 : -1) + if (ch != null && (!moveInStorageOrder ? ch >= part.from && ch >= wrappedLineExtent.begin : ch <= part.to && ch <= wrappedLineExtent.end)) { + // Case 2: We move within an rtl part or in an rtl editor on the same visual line + var sticky = moveInStorageOrder ? "before" : "after" + return new Pos(start.line, ch, sticky) + } + } + + // Case 3: Could not move within this bidi part in this visual line, so leave + // the current bidi part + + var searchInVisualLine = function (partPos, dir, wrappedLineExtent) { + var getRes = function (ch, moveInStorageOrder) { return moveInStorageOrder + ? new Pos(start.line, mv(ch, 1), "before") + : new Pos(start.line, ch, "after"); } + + for (; partPos >= 0 && partPos < bidi.length; partPos += dir) { + var part = bidi[partPos] + var moveInStorageOrder = (dir > 0) == (part.level != 1) + var ch = moveInStorageOrder ? wrappedLineExtent.begin : mv(wrappedLineExtent.end, -1) + if (part.from <= ch && ch < part.to) { return getRes(ch, moveInStorageOrder) } + ch = moveInStorageOrder ? part.from : mv(part.to, -1) + if (wrappedLineExtent.begin <= ch && ch < wrappedLineExtent.end) { return getRes(ch, moveInStorageOrder) } + } + } + + // Case 3a: Look for other bidi parts on the same visual line + var res = searchInVisualLine(partPos + dir, dir, wrappedLineExtent) + if (res) { return res } + + // Case 3b: Look for other bidi parts on the next visual line + var nextCh = dir > 0 ? wrappedLineExtent.end : mv(wrappedLineExtent.begin, -1) + if (nextCh != null && !(dir > 0 && nextCh == line.text.length)) { + res = searchInVisualLine(dir > 0 ? 0 : bidi.length - 1, dir, getWrappedLineExtent(nextCh)) + if (res) { return res } + } + + // Case 4: Nowhere to move + return null +} + +// Commands are parameter-less actions that can be performed on an +// editor, mostly used for keybindings. +var commands = { + selectAll: selectAll, + singleSelection: function (cm) { return cm.setSelection(cm.getCursor("anchor"), cm.getCursor("head"), sel_dontScroll); }, + killLine: function (cm) { return deleteNearSelection(cm, function (range) { + if (range.empty()) { + var len = getLine(cm.doc, range.head.line).text.length + if (range.head.ch == len && range.head.line < cm.lastLine()) + { return {from: range.head, to: Pos(range.head.line + 1, 0)} } + else + { return {from: range.head, to: Pos(range.head.line, len)} } + } else { + return {from: range.from(), to: range.to()} + } + }); }, + deleteLine: function (cm) { return deleteNearSelection(cm, function (range) { return ({ + from: Pos(range.from().line, 0), + to: clipPos(cm.doc, Pos(range.to().line + 1, 0)) + }); }); }, + delLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { return ({ + from: Pos(range.from().line, 0), to: range.from() + }); }); }, + delWrappedLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { + var top = cm.charCoords(range.head, "div").top + 5 + var leftPos = cm.coordsChar({left: 0, top: top}, "div") + return {from: leftPos, to: range.from()} + }); }, + delWrappedLineRight: function (cm) { return deleteNearSelection(cm, function (range) { + var top = cm.charCoords(range.head, "div").top + 5 + var rightPos = cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, "div") + return {from: range.from(), to: rightPos } + }); }, + undo: function (cm) { return cm.undo(); }, + redo: function (cm) { return cm.redo(); }, + undoSelection: function (cm) { return cm.undoSelection(); }, + redoSelection: function (cm) { return cm.redoSelection(); }, + goDocStart: function (cm) { return cm.extendSelection(Pos(cm.firstLine(), 0)); }, + goDocEnd: function (cm) { return cm.extendSelection(Pos(cm.lastLine())); }, + goLineStart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStart(cm, range.head.line); }, + {origin: "+move", bias: 1} + ); }, + goLineStartSmart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStartSmart(cm, range.head); }, + {origin: "+move", bias: 1} + ); }, + goLineEnd: function (cm) { return cm.extendSelectionsBy(function (range) { return lineEnd(cm, range.head.line); }, + {origin: "+move", bias: -1} + ); }, + goLineRight: function (cm) { return cm.extendSelectionsBy(function (range) { + var top = cm.cursorCoords(range.head, "div").top + 5 + return cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, "div") + }, sel_move); }, + goLineLeft: function (cm) { return cm.extendSelectionsBy(function (range) { + var top = cm.cursorCoords(range.head, "div").top + 5 + return cm.coordsChar({left: 0, top: top}, "div") + }, sel_move); }, + goLineLeftSmart: function (cm) { return cm.extendSelectionsBy(function (range) { + var top = cm.cursorCoords(range.head, "div").top + 5 + var pos = cm.coordsChar({left: 0, top: top}, "div") + if (pos.ch < cm.getLine(pos.line).search(/\S/)) { return lineStartSmart(cm, range.head) } + return pos + }, sel_move); }, + goLineUp: function (cm) { return cm.moveV(-1, "line"); }, + goLineDown: function (cm) { return cm.moveV(1, "line"); }, + goPageUp: function (cm) { return cm.moveV(-1, "page"); }, + goPageDown: function (cm) { return cm.moveV(1, "page"); }, + goCharLeft: function (cm) { return cm.moveH(-1, "char"); }, + goCharRight: function (cm) { return cm.moveH(1, "char"); }, + goColumnLeft: function (cm) { return cm.moveH(-1, "column"); }, + goColumnRight: function (cm) { return cm.moveH(1, "column"); }, + goWordLeft: function (cm) { return cm.moveH(-1, "word"); }, + goGroupRight: function (cm) { return cm.moveH(1, "group"); }, + goGroupLeft: function (cm) { return cm.moveH(-1, "group"); }, + goWordRight: function (cm) { return cm.moveH(1, "word"); }, + delCharBefore: function (cm) { return cm.deleteH(-1, "char"); }, + delCharAfter: function (cm) { return cm.deleteH(1, "char"); }, + delWordBefore: function (cm) { return cm.deleteH(-1, "word"); }, + delWordAfter: function (cm) { return cm.deleteH(1, "word"); }, + delGroupBefore: function (cm) { return cm.deleteH(-1, "group"); }, + delGroupAfter: function (cm) { return cm.deleteH(1, "group"); }, + indentAuto: function (cm) { return cm.indentSelection("smart"); }, + indentMore: function (cm) { return cm.indentSelection("add"); }, + indentLess: function (cm) { return cm.indentSelection("subtract"); }, + insertTab: function (cm) { return cm.replaceSelection("\t"); }, + insertSoftTab: function (cm) { + var spaces = [], ranges = cm.listSelections(), tabSize = cm.options.tabSize + for (var i = 0; i < ranges.length; i++) { + var pos = ranges[i].from() + var col = countColumn(cm.getLine(pos.line), pos.ch, tabSize) + spaces.push(spaceStr(tabSize - col % tabSize)) + } + cm.replaceSelections(spaces) + }, + defaultTab: function (cm) { + if (cm.somethingSelected()) { cm.indentSelection("add") } + else { cm.execCommand("insertTab") } + }, + // Swap the two chars left and right of each selection's head. + // Move cursor behind the two swapped characters afterwards. + // + // Doesn't consider line feeds a character. + // Doesn't scan more than one line above to find a character. + // Doesn't do anything on an empty line. + // Doesn't do anything with non-empty selections. + transposeChars: function (cm) { return runInOp(cm, function () { + var ranges = cm.listSelections(), newSel = [] + for (var i = 0; i < ranges.length; i++) { + if (!ranges[i].empty()) { continue } + var cur = ranges[i].head, line = getLine(cm.doc, cur.line).text + if (line) { + if (cur.ch == line.length) { cur = new Pos(cur.line, cur.ch - 1) } + if (cur.ch > 0) { + cur = new Pos(cur.line, cur.ch + 1) + cm.replaceRange(line.charAt(cur.ch - 1) + line.charAt(cur.ch - 2), + Pos(cur.line, cur.ch - 2), cur, "+transpose") + } else if (cur.line > cm.doc.first) { + var prev = getLine(cm.doc, cur.line - 1).text + if (prev) { + cur = new Pos(cur.line, 1) + cm.replaceRange(line.charAt(0) + cm.doc.lineSeparator() + + prev.charAt(prev.length - 1), + Pos(cur.line - 1, prev.length - 1), cur, "+transpose") + } + } + } + newSel.push(new Range(cur, cur)) + } + cm.setSelections(newSel) + }); }, + newlineAndIndent: function (cm) { return runInOp(cm, function () { + var sels = cm.listSelections() + for (var i = sels.length - 1; i >= 0; i--) + { cm.replaceRange(cm.doc.lineSeparator(), sels[i].anchor, sels[i].head, "+input") } + sels = cm.listSelections() + for (var i$1 = 0; i$1 < sels.length; i$1++) + { cm.indentLine(sels[i$1].from().line, null, true) } + ensureCursorVisible(cm) + }); }, + openLine: function (cm) { return cm.replaceSelection("\n", "start"); }, + toggleOverwrite: function (cm) { return cm.toggleOverwrite(); } +} + + +function lineStart(cm, lineN) { + var line = getLine(cm.doc, lineN) + var visual = visualLine(line) + if (visual != line) { lineN = lineNo(visual) } + return endOfLine(true, cm, visual, lineN, 1) +} +function lineEnd(cm, lineN) { + var line = getLine(cm.doc, lineN) + var visual = visualLineEnd(line) + if (visual != line) { lineN = lineNo(visual) } + return endOfLine(true, cm, line, lineN, -1) +} +function lineStartSmart(cm, pos) { + var start = lineStart(cm, pos.line) + var line = getLine(cm.doc, start.line) + var order = getOrder(line, cm.doc.direction) + if (!order || order[0].level == 0) { + var firstNonWS = Math.max(0, line.text.search(/\S/)) + var inWS = pos.line == start.line && pos.ch <= firstNonWS && pos.ch + return Pos(start.line, inWS ? 0 : firstNonWS, start.sticky) + } + return start +} + +// Run a handler that was bound to a key. +function doHandleBinding(cm, bound, dropShift) { + if (typeof bound == "string") { + bound = commands[bound] + if (!bound) { return false } + } + // Ensure previous input has been read, so that the handler sees a + // consistent view of the document + cm.display.input.ensurePolled() + var prevShift = cm.display.shift, done = false + try { + if (cm.isReadOnly()) { cm.state.suppressEdits = true } + if (dropShift) { cm.display.shift = false } + done = bound(cm) != Pass + } finally { + cm.display.shift = prevShift + cm.state.suppressEdits = false + } + return done +} + +function lookupKeyForEditor(cm, name, handle) { + for (var i = 0; i < cm.state.keyMaps.length; i++) { + var result = lookupKey(name, cm.state.keyMaps[i], handle, cm) + if (result) { return result } + } + return (cm.options.extraKeys && lookupKey(name, cm.options.extraKeys, handle, cm)) + || lookupKey(name, cm.options.keyMap, handle, cm) +} + +// Note that, despite the name, this function is also used to check +// for bound mouse clicks. + +var stopSeq = new Delayed + +function dispatchKey(cm, name, e, handle) { + var seq = cm.state.keySeq + if (seq) { + if (isModifierKey(name)) { return "handled" } + if (/\'$/.test(name)) + { cm.state.keySeq = null } + else + { stopSeq.set(50, function () { + if (cm.state.keySeq == seq) { + cm.state.keySeq = null + cm.display.input.reset() + } + }) } + if (dispatchKeyInner(cm, seq + " " + name, e, handle)) { return true } + } + return dispatchKeyInner(cm, name, e, handle) +} + +function dispatchKeyInner(cm, name, e, handle) { + var result = lookupKeyForEditor(cm, name, handle) + + if (result == "multi") + { cm.state.keySeq = name } + if (result == "handled") + { signalLater(cm, "keyHandled", cm, name, e) } + + if (result == "handled" || result == "multi") { + e_preventDefault(e) + restartBlink(cm) + } + + return !!result +} + +// Handle a key from the keydown event. +function handleKeyBinding(cm, e) { + var name = keyName(e, true) + if (!name) { return false } + + if (e.shiftKey && !cm.state.keySeq) { + // First try to resolve full name (including 'Shift-'). Failing + // that, see if there is a cursor-motion command (starting with + // 'go') bound to the keyname without 'Shift-'. + return dispatchKey(cm, "Shift-" + name, e, function (b) { return doHandleBinding(cm, b, true); }) + || dispatchKey(cm, name, e, function (b) { + if (typeof b == "string" ? /^go[A-Z]/.test(b) : b.motion) + { return doHandleBinding(cm, b) } + }) + } else { + return dispatchKey(cm, name, e, function (b) { return doHandleBinding(cm, b); }) + } +} + +// Handle a key from the keypress event +function handleCharBinding(cm, e, ch) { + return dispatchKey(cm, "'" + ch + "'", e, function (b) { return doHandleBinding(cm, b, true); }) +} + +var lastStoppedKey = null +function onKeyDown(e) { + var cm = this + cm.curOp.focus = activeElt() + if (signalDOMEvent(cm, e)) { return } + // IE does strange things with escape. + if (ie && ie_version < 11 && e.keyCode == 27) { e.returnValue = false } + var code = e.keyCode + cm.display.shift = code == 16 || e.shiftKey + var handled = handleKeyBinding(cm, e) + if (presto) { + lastStoppedKey = handled ? code : null + // Opera has no cut event... we try to at least catch the key combo + if (!handled && code == 88 && !hasCopyEvent && (mac ? e.metaKey : e.ctrlKey)) + { cm.replaceSelection("", null, "cut") } + } + + // Turn mouse into crosshair when Alt is held on Mac. + if (code == 18 && !/\bCodeMirror-crosshair\b/.test(cm.display.lineDiv.className)) + { showCrossHair(cm) } +} + +function showCrossHair(cm) { + var lineDiv = cm.display.lineDiv + addClass(lineDiv, "CodeMirror-crosshair") + + function up(e) { + if (e.keyCode == 18 || !e.altKey) { + rmClass(lineDiv, "CodeMirror-crosshair") + off(document, "keyup", up) + off(document, "mouseover", up) + } + } + on(document, "keyup", up) + on(document, "mouseover", up) +} + +function onKeyUp(e) { + if (e.keyCode == 16) { this.doc.sel.shift = false } + signalDOMEvent(this, e) +} + +function onKeyPress(e) { + var cm = this + if (eventInWidget(cm.display, e) || signalDOMEvent(cm, e) || e.ctrlKey && !e.altKey || mac && e.metaKey) { return } + var keyCode = e.keyCode, charCode = e.charCode + if (presto && keyCode == lastStoppedKey) {lastStoppedKey = null; e_preventDefault(e); return} + if ((presto && (!e.which || e.which < 10)) && handleKeyBinding(cm, e)) { return } + var ch = String.fromCharCode(charCode == null ? keyCode : charCode) + // Some browsers fire keypress events for backspace + if (ch == "\x08") { return } + if (handleCharBinding(cm, e, ch)) { return } + cm.display.input.onKeyPress(e) +} + +var DOUBLECLICK_DELAY = 400 + +var PastClick = function(time, pos, button) { + this.time = time + this.pos = pos + this.button = button +}; + +PastClick.prototype.compare = function (time, pos, button) { + return this.time + DOUBLECLICK_DELAY > time && + cmp(pos, this.pos) == 0 && button == this.button +}; + +var lastClick; +var lastDoubleClick; +function clickRepeat(pos, button) { + var now = +new Date + if (lastDoubleClick && lastDoubleClick.compare(now, pos, button)) { + lastClick = lastDoubleClick = null + return "triple" + } else if (lastClick && lastClick.compare(now, pos, button)) { + lastDoubleClick = new PastClick(now, pos, button) + lastClick = null + return "double" + } else { + lastClick = new PastClick(now, pos, button) + lastDoubleClick = null + return "single" + } +} + +// A mouse down can be a single click, double click, triple click, +// start of selection drag, start of text drag, new cursor +// (ctrl-click), rectangle drag (alt-drag), or xwin +// middle-click-paste. Or it might be a click on something we should +// not interfere with, such as a scrollbar or widget. +function onMouseDown(e) { + var cm = this, display = cm.display + if (signalDOMEvent(cm, e) || display.activeTouch && display.input.supportsTouch()) { return } + display.input.ensurePolled() + display.shift = e.shiftKey + + if (eventInWidget(display, e)) { + if (!webkit) { + // Briefly turn off draggability, to allow widgets to do + // normal dragging things. + display.scroller.draggable = false + setTimeout(function () { return display.scroller.draggable = true; }, 100) + } + return + } + if (clickInGutter(cm, e)) { return } + var pos = posFromMouse(cm, e), button = e_button(e), repeat = pos ? clickRepeat(pos, button) : "single" + window.focus() + + // #3261: make sure, that we're not starting a second selection + if (button == 1 && cm.state.selectingText) + { cm.state.selectingText(e) } + + if (pos && handleMappedButton(cm, button, pos, repeat, e)) { return } + + if (button == 1) { + if (pos) { leftButtonDown(cm, pos, repeat, e) } + else if (e_target(e) == display.scroller) { e_preventDefault(e) } + } else if (button == 2) { + if (pos) { extendSelection(cm.doc, pos) } + setTimeout(function () { return display.input.focus(); }, 20) + } else if (button == 3) { + if (captureRightClick) { onContextMenu(cm, e) } + else { delayBlurEvent(cm) } + } +} + +function handleMappedButton(cm, button, pos, repeat, event) { + var name = "Click" + if (repeat == "double") { name = "Double" + name } + else if (repeat == "triple") { name = "Triple" + name } + name = (button == 1 ? "Left" : button == 2 ? "Middle" : "Right") + name + + return dispatchKey(cm, addModifierNames(name, event), event, function (bound) { + if (typeof bound == "string") { bound = commands[bound] } + if (!bound) { return false } + var done = false + try { + if (cm.isReadOnly()) { cm.state.suppressEdits = true } + done = bound(cm, pos) != Pass + } finally { + cm.state.suppressEdits = false + } + return done + }) +} + +function configureMouse(cm, repeat, event) { + var option = cm.getOption("configureMouse") + var value = option ? option(cm, repeat, event) : {} + if (value.unit == null) { + var rect = chromeOS ? event.shiftKey && event.metaKey : event.altKey + value.unit = rect ? "rectangle" : repeat == "single" ? "char" : repeat == "double" ? "word" : "line" + } + if (value.extend == null || cm.doc.extend) { value.extend = cm.doc.extend || event.shiftKey } + if (value.addNew == null) { value.addNew = mac ? event.metaKey : event.ctrlKey } + if (value.moveOnDrag == null) { value.moveOnDrag = !(mac ? event.altKey : event.ctrlKey) } + return value +} + +function leftButtonDown(cm, pos, repeat, event) { + if (ie) { setTimeout(bind(ensureFocus, cm), 0) } + else { cm.curOp.focus = activeElt() } + + var behavior = configureMouse(cm, repeat, event) + + var sel = cm.doc.sel, contained + if (cm.options.dragDrop && dragAndDrop && !cm.isReadOnly() && + repeat == "single" && (contained = sel.contains(pos)) > -1 && + (cmp((contained = sel.ranges[contained]).from(), pos) < 0 || pos.xRel > 0) && + (cmp(contained.to(), pos) > 0 || pos.xRel < 0)) + { leftButtonStartDrag(cm, event, pos, behavior) } + else + { leftButtonSelect(cm, event, pos, behavior) } +} + +// Start a text drag. When it ends, see if any dragging actually +// happen, and treat as a click if it didn't. +function leftButtonStartDrag(cm, event, pos, behavior) { + var display = cm.display, moved = false + var dragEnd = operation(cm, function (e) { + if (webkit) { display.scroller.draggable = false } + cm.state.draggingText = false + off(document, "mouseup", dragEnd) + off(document, "mousemove", mouseMove) + off(display.scroller, "dragstart", dragStart) + off(display.scroller, "drop", dragEnd) + if (!moved) { + e_preventDefault(e) + if (!behavior.addNew) + { extendSelection(cm.doc, pos, null, null, behavior.extend) } + // Work around unexplainable focus problem in IE9 (#2127) and Chrome (#3081) + if (webkit || ie && ie_version == 9) + { setTimeout(function () {document.body.focus(); display.input.focus()}, 20) } + else + { display.input.focus() } + } + }) + var mouseMove = function(e2) { + moved = moved || Math.abs(event.clientX - e2.clientX) + Math.abs(event.clientY - e2.clientY) >= 10 + } + var dragStart = function () { return moved = true; } + // Let the drag handler handle this. + if (webkit) { display.scroller.draggable = true } + cm.state.draggingText = dragEnd + dragEnd.copy = !behavior.moveOnDrag + // IE's approach to draggable + if (display.scroller.dragDrop) { display.scroller.dragDrop() } + on(document, "mouseup", dragEnd) + on(document, "mousemove", mouseMove) + on(display.scroller, "dragstart", dragStart) + on(display.scroller, "drop", dragEnd) + + delayBlurEvent(cm) + setTimeout(function () { return display.input.focus(); }, 20) +} + +function rangeForUnit(cm, pos, unit) { + if (unit == "char") { return new Range(pos, pos) } + if (unit == "word") { return cm.findWordAt(pos) } + if (unit == "line") { return new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))) } + var result = unit(cm, pos) + return new Range(result.from, result.to) +} + +// Normal selection, as opposed to text dragging. +function leftButtonSelect(cm, event, start, behavior) { + var display = cm.display, doc = cm.doc + e_preventDefault(event) + + var ourRange, ourIndex, startSel = doc.sel, ranges = startSel.ranges + if (behavior.addNew && !behavior.extend) { + ourIndex = doc.sel.contains(start) + if (ourIndex > -1) + { ourRange = ranges[ourIndex] } + else + { ourRange = new Range(start, start) } + } else { + ourRange = doc.sel.primary() + ourIndex = doc.sel.primIndex + } + + if (behavior.unit == "rectangle") { + if (!behavior.addNew) { ourRange = new Range(start, start) } + start = posFromMouse(cm, event, true, true) + ourIndex = -1 + } else { + var range = rangeForUnit(cm, start, behavior.unit) + if (behavior.extend) + { ourRange = extendRange(ourRange, range.anchor, range.head, behavior.extend) } + else + { ourRange = range } + } + + if (!behavior.addNew) { + ourIndex = 0 + setSelection(doc, new Selection([ourRange], 0), sel_mouse) + startSel = doc.sel + } else if (ourIndex == -1) { + ourIndex = ranges.length + setSelection(doc, normalizeSelection(ranges.concat([ourRange]), ourIndex), + {scroll: false, origin: "*mouse"}) + } else if (ranges.length > 1 && ranges[ourIndex].empty() && behavior.unit == "char" && !behavior.extend) { + setSelection(doc, normalizeSelection(ranges.slice(0, ourIndex).concat(ranges.slice(ourIndex + 1)), 0), + {scroll: false, origin: "*mouse"}) + startSel = doc.sel + } else { + replaceOneSelection(doc, ourIndex, ourRange, sel_mouse) + } + + var lastPos = start + function extendTo(pos) { + if (cmp(lastPos, pos) == 0) { return } + lastPos = pos + + if (behavior.unit == "rectangle") { + var ranges = [], tabSize = cm.options.tabSize + var startCol = countColumn(getLine(doc, start.line).text, start.ch, tabSize) + var posCol = countColumn(getLine(doc, pos.line).text, pos.ch, tabSize) + var left = Math.min(startCol, posCol), right = Math.max(startCol, posCol) + for (var line = Math.min(start.line, pos.line), end = Math.min(cm.lastLine(), Math.max(start.line, pos.line)); + line <= end; line++) { + var text = getLine(doc, line).text, leftPos = findColumn(text, left, tabSize) + if (left == right) + { ranges.push(new Range(Pos(line, leftPos), Pos(line, leftPos))) } + else if (text.length > leftPos) + { ranges.push(new Range(Pos(line, leftPos), Pos(line, findColumn(text, right, tabSize)))) } + } + if (!ranges.length) { ranges.push(new Range(start, start)) } + setSelection(doc, normalizeSelection(startSel.ranges.slice(0, ourIndex).concat(ranges), ourIndex), + {origin: "*mouse", scroll: false}) + cm.scrollIntoView(pos) + } else { + var oldRange = ourRange + var range = rangeForUnit(cm, pos, behavior.unit) + var anchor = oldRange.anchor, head + if (cmp(range.anchor, anchor) > 0) { + head = range.head + anchor = minPos(oldRange.from(), range.anchor) + } else { + head = range.anchor + anchor = maxPos(oldRange.to(), range.head) + } + var ranges$1 = startSel.ranges.slice(0) + ranges$1[ourIndex] = bidiSimplify(cm, new Range(clipPos(doc, anchor), head)) + setSelection(doc, normalizeSelection(ranges$1, ourIndex), sel_mouse) + } + } + + var editorSize = display.wrapper.getBoundingClientRect() + // Used to ensure timeout re-tries don't fire when another extend + // happened in the meantime (clearTimeout isn't reliable -- at + // least on Chrome, the timeouts still happen even when cleared, + // if the clear happens after their scheduled firing time). + var counter = 0 + + function extend(e) { + var curCount = ++counter + var cur = posFromMouse(cm, e, true, behavior.unit == "rectangle") + if (!cur) { return } + if (cmp(cur, lastPos) != 0) { + cm.curOp.focus = activeElt() + extendTo(cur) + var visible = visibleLines(display, doc) + if (cur.line >= visible.to || cur.line < visible.from) + { setTimeout(operation(cm, function () {if (counter == curCount) { extend(e) }}), 150) } + } else { + var outside = e.clientY < editorSize.top ? -20 : e.clientY > editorSize.bottom ? 20 : 0 + if (outside) { setTimeout(operation(cm, function () { + if (counter != curCount) { return } + display.scroller.scrollTop += outside + extend(e) + }), 50) } + } + } + + function done(e) { + cm.state.selectingText = false + counter = Infinity + e_preventDefault(e) + display.input.focus() + off(document, "mousemove", move) + off(document, "mouseup", up) + doc.history.lastSelOrigin = null + } + + var move = operation(cm, function (e) { + if (!e_button(e)) { done(e) } + else { extend(e) } + }) + var up = operation(cm, done) + cm.state.selectingText = up + on(document, "mousemove", move) + on(document, "mouseup", up) +} + +// Used when mouse-selecting to adjust the anchor to the proper side +// of a bidi jump depending on the visual position of the head. +function bidiSimplify(cm, range) { + var anchor = range.anchor; + var head = range.head; + var anchorLine = getLine(cm.doc, anchor.line) + if (cmp(anchor, head) == 0 && anchor.sticky == head.sticky) { return range } + var order = getOrder(anchorLine) + if (!order) { return range } + var index = getBidiPartAt(order, anchor.ch, anchor.sticky), part = order[index] + if (part.from != anchor.ch && part.to != anchor.ch) { return range } + var boundary = index + ((part.from == anchor.ch) == (part.level != 1) ? 0 : 1) + if (boundary == 0 || boundary == order.length) { return range } + + // Compute the relative visual position of the head compared to the + // anchor (<0 is to the left, >0 to the right) + var leftSide + if (head.line != anchor.line) { + leftSide = (head.line - anchor.line) * (cm.doc.direction == "ltr" ? 1 : -1) > 0 + } else { + var headIndex = getBidiPartAt(order, head.ch, head.sticky) + var dir = headIndex - index || (head.ch - anchor.ch) * (part.level == 1 ? -1 : 1) + if (headIndex == boundary - 1 || headIndex == boundary) + { leftSide = dir < 0 } + else + { leftSide = dir > 0 } + } + + var usePart = order[boundary + (leftSide ? -1 : 0)] + var from = leftSide == (usePart.level == 1) + var ch = from ? usePart.from : usePart.to, sticky = from ? "after" : "before" + return anchor.ch == ch && anchor.sticky == sticky ? range : new Range(new Pos(anchor.line, ch, sticky), head) +} + + +// Determines whether an event happened in the gutter, and fires the +// handlers for the corresponding event. +function gutterEvent(cm, e, type, prevent) { + var mX, mY + if (e.touches) { + mX = e.touches[0].clientX + mY = e.touches[0].clientY + } else { + try { mX = e.clientX; mY = e.clientY } + catch(e) { return false } + } + if (mX >= Math.floor(cm.display.gutters.getBoundingClientRect().right)) { return false } + if (prevent) { e_preventDefault(e) } + + var display = cm.display + var lineBox = display.lineDiv.getBoundingClientRect() + + if (mY > lineBox.bottom || !hasHandler(cm, type)) { return e_defaultPrevented(e) } + mY -= lineBox.top - display.viewOffset + + for (var i = 0; i < cm.options.gutters.length; ++i) { + var g = display.gutters.childNodes[i] + if (g && g.getBoundingClientRect().right >= mX) { + var line = lineAtHeight(cm.doc, mY) + var gutter = cm.options.gutters[i] + signal(cm, type, cm, line, gutter, e) + return e_defaultPrevented(e) + } + } +} + +function clickInGutter(cm, e) { + return gutterEvent(cm, e, "gutterClick", true) +} + +// CONTEXT MENU HANDLING + +// To make the context menu work, we need to briefly unhide the +// textarea (making it as unobtrusive as possible) to let the +// right-click take effect on it. +function onContextMenu(cm, e) { + if (eventInWidget(cm.display, e) || contextMenuInGutter(cm, e)) { return } + if (signalDOMEvent(cm, e, "contextmenu")) { return } + cm.display.input.onContextMenu(e) +} + +function contextMenuInGutter(cm, e) { + if (!hasHandler(cm, "gutterContextMenu")) { return false } + return gutterEvent(cm, e, "gutterContextMenu", false) +} + +function themeChanged(cm) { + cm.display.wrapper.className = cm.display.wrapper.className.replace(/\s*cm-s-\S+/g, "") + + cm.options.theme.replace(/(^|\s)\s*/g, " cm-s-") + clearCaches(cm) +} + +var Init = {toString: function(){return "CodeMirror.Init"}} + +var defaults = {} +var optionHandlers = {} + +function defineOptions(CodeMirror) { + var optionHandlers = CodeMirror.optionHandlers + + function option(name, deflt, handle, notOnInit) { + CodeMirror.defaults[name] = deflt + if (handle) { optionHandlers[name] = + notOnInit ? function (cm, val, old) {if (old != Init) { handle(cm, val, old) }} : handle } + } + + CodeMirror.defineOption = option + + // Passed to option handlers when there is no old value. + CodeMirror.Init = Init + + // These two are, on init, called from the constructor because they + // have to be initialized before the editor can start at all. + option("value", "", function (cm, val) { return cm.setValue(val); }, true) + option("mode", null, function (cm, val) { + cm.doc.modeOption = val + loadMode(cm) + }, true) + + option("indentUnit", 2, loadMode, true) + option("indentWithTabs", false) + option("smartIndent", true) + option("tabSize", 4, function (cm) { + resetModeState(cm) + clearCaches(cm) + regChange(cm) + }, true) + + option("lineSeparator", null, function (cm, val) { + cm.doc.lineSep = val + if (!val) { return } + var newBreaks = [], lineNo = cm.doc.first + cm.doc.iter(function (line) { + for (var pos = 0;;) { + var found = line.text.indexOf(val, pos) + if (found == -1) { break } + pos = found + val.length + newBreaks.push(Pos(lineNo, found)) + } + lineNo++ + }) + for (var i = newBreaks.length - 1; i >= 0; i--) + { replaceRange(cm.doc, val, newBreaks[i], Pos(newBreaks[i].line, newBreaks[i].ch + val.length)) } + }) + option("specialChars", /[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200f\u2028\u2029\ufeff]/g, function (cm, val, old) { + cm.state.specialChars = new RegExp(val.source + (val.test("\t") ? "" : "|\t"), "g") + if (old != Init) { cm.refresh() } + }) + option("specialCharPlaceholder", defaultSpecialCharPlaceholder, function (cm) { return cm.refresh(); }, true) + option("electricChars", true) + option("inputStyle", mobile ? "contenteditable" : "textarea", function () { + throw new Error("inputStyle can not (yet) be changed in a running editor") // FIXME + }, true) + option("spellcheck", false, function (cm, val) { return cm.getInputField().spellcheck = val; }, true) + option("rtlMoveVisually", !windows) + option("wholeLineUpdateBefore", true) + + option("theme", "default", function (cm) { + themeChanged(cm) + guttersChanged(cm) + }, true) + option("keyMap", "default", function (cm, val, old) { + var next = getKeyMap(val) + var prev = old != Init && getKeyMap(old) + if (prev && prev.detach) { prev.detach(cm, next) } + if (next.attach) { next.attach(cm, prev || null) } + }) + option("extraKeys", null) + option("configureMouse", null) + + option("lineWrapping", false, wrappingChanged, true) + option("gutters", [], function (cm) { + setGuttersForLineNumbers(cm.options) + guttersChanged(cm) + }, true) + option("fixedGutter", true, function (cm, val) { + cm.display.gutters.style.left = val ? compensateForHScroll(cm.display) + "px" : "0" + cm.refresh() + }, true) + option("coverGutterNextToScrollbar", false, function (cm) { return updateScrollbars(cm); }, true) + option("scrollbarStyle", "native", function (cm) { + initScrollbars(cm) + updateScrollbars(cm) + cm.display.scrollbars.setScrollTop(cm.doc.scrollTop) + cm.display.scrollbars.setScrollLeft(cm.doc.scrollLeft) + }, true) + option("lineNumbers", false, function (cm) { + setGuttersForLineNumbers(cm.options) + guttersChanged(cm) + }, true) + option("firstLineNumber", 1, guttersChanged, true) + option("lineNumberFormatter", function (integer) { return integer; }, guttersChanged, true) + option("showCursorWhenSelecting", false, updateSelection, true) + + option("resetSelectionOnContextMenu", true) + option("lineWiseCopyCut", true) + option("pasteLinesPerSelection", true) + + option("readOnly", false, function (cm, val) { + if (val == "nocursor") { + onBlur(cm) + cm.display.input.blur() + } + cm.display.input.readOnlyChanged(val) + }) + option("disableInput", false, function (cm, val) {if (!val) { cm.display.input.reset() }}, true) + option("dragDrop", true, dragDropChanged) + option("allowDropFileTypes", null) + + option("cursorBlinkRate", 530) + option("cursorScrollMargin", 0) + option("cursorHeight", 1, updateSelection, true) + option("singleCursorHeightPerLine", true, updateSelection, true) + option("workTime", 100) + option("workDelay", 100) + option("flattenSpans", true, resetModeState, true) + option("addModeClass", false, resetModeState, true) + option("pollInterval", 100) + option("undoDepth", 200, function (cm, val) { return cm.doc.history.undoDepth = val; }) + option("historyEventDelay", 1250) + option("viewportMargin", 10, function (cm) { return cm.refresh(); }, true) + option("maxHighlightLength", 10000, resetModeState, true) + option("moveInputWithCursor", true, function (cm, val) { + if (!val) { cm.display.input.resetPosition() } + }) + + option("tabindex", null, function (cm, val) { return cm.display.input.getField().tabIndex = val || ""; }) + option("autofocus", null) + option("direction", "ltr", function (cm, val) { return cm.doc.setDirection(val); }, true) +} + +function guttersChanged(cm) { + updateGutters(cm) + regChange(cm) + alignHorizontally(cm) +} + +function dragDropChanged(cm, value, old) { + var wasOn = old && old != Init + if (!value != !wasOn) { + var funcs = cm.display.dragFunctions + var toggle = value ? on : off + toggle(cm.display.scroller, "dragstart", funcs.start) + toggle(cm.display.scroller, "dragenter", funcs.enter) + toggle(cm.display.scroller, "dragover", funcs.over) + toggle(cm.display.scroller, "dragleave", funcs.leave) + toggle(cm.display.scroller, "drop", funcs.drop) + } +} + +function wrappingChanged(cm) { + if (cm.options.lineWrapping) { + addClass(cm.display.wrapper, "CodeMirror-wrap") + cm.display.sizer.style.minWidth = "" + cm.display.sizerWidth = null + } else { + rmClass(cm.display.wrapper, "CodeMirror-wrap") + findMaxLine(cm) + } + estimateLineHeights(cm) + regChange(cm) + clearCaches(cm) + setTimeout(function () { return updateScrollbars(cm); }, 100) +} + +// A CodeMirror instance represents an editor. This is the object +// that user code is usually dealing with. + +function CodeMirror(place, options) { + var this$1 = this; + + if (!(this instanceof CodeMirror)) { return new CodeMirror(place, options) } + + this.options = options = options ? copyObj(options) : {} + // Determine effective options based on given values and defaults. + copyObj(defaults, options, false) + setGuttersForLineNumbers(options) + + var doc = options.value + if (typeof doc == "string") { doc = new Doc(doc, options.mode, null, options.lineSeparator, options.direction) } + this.doc = doc + + var input = new CodeMirror.inputStyles[options.inputStyle](this) + var display = this.display = new Display(place, doc, input) + display.wrapper.CodeMirror = this + updateGutters(this) + themeChanged(this) + if (options.lineWrapping) + { this.display.wrapper.className += " CodeMirror-wrap" } + initScrollbars(this) + + this.state = { + keyMaps: [], // stores maps added by addKeyMap + overlays: [], // highlighting overlays, as added by addOverlay + modeGen: 0, // bumped when mode/overlay changes, used to invalidate highlighting info + overwrite: false, + delayingBlurEvent: false, + focused: false, + suppressEdits: false, // used to disable editing during key handlers when in readOnly mode + pasteIncoming: false, cutIncoming: false, // help recognize paste/cut edits in input.poll + selectingText: false, + draggingText: false, + highlight: new Delayed(), // stores highlight worker timeout + keySeq: null, // Unfinished key sequence + specialChars: null + } + + if (options.autofocus && !mobile) { display.input.focus() } + + // Override magic textarea content restore that IE sometimes does + // on our hidden textarea on reload + if (ie && ie_version < 11) { setTimeout(function () { return this$1.display.input.reset(true); }, 20) } + + registerEventHandlers(this) + ensureGlobalHandlers() + + startOperation(this) + this.curOp.forceUpdate = true + attachDoc(this, doc) + + if ((options.autofocus && !mobile) || this.hasFocus()) + { setTimeout(bind(onFocus, this), 20) } + else + { onBlur(this) } + + for (var opt in optionHandlers) { if (optionHandlers.hasOwnProperty(opt)) + { optionHandlers[opt](this$1, options[opt], Init) } } + maybeUpdateLineNumberWidth(this) + if (options.finishInit) { options.finishInit(this) } + for (var i = 0; i < initHooks.length; ++i) { initHooks[i](this$1) } + endOperation(this) + // Suppress optimizelegibility in Webkit, since it breaks text + // measuring on line wrapping boundaries. + if (webkit && options.lineWrapping && + getComputedStyle(display.lineDiv).textRendering == "optimizelegibility") + { display.lineDiv.style.textRendering = "auto" } +} + +// The default configuration options. +CodeMirror.defaults = defaults +// Functions to run when options are changed. +CodeMirror.optionHandlers = optionHandlers + +// Attach the necessary event handlers when initializing the editor +function registerEventHandlers(cm) { + var d = cm.display + on(d.scroller, "mousedown", operation(cm, onMouseDown)) + // Older IE's will not fire a second mousedown for a double click + if (ie && ie_version < 11) + { on(d.scroller, "dblclick", operation(cm, function (e) { + if (signalDOMEvent(cm, e)) { return } + var pos = posFromMouse(cm, e) + if (!pos || clickInGutter(cm, e) || eventInWidget(cm.display, e)) { return } + e_preventDefault(e) + var word = cm.findWordAt(pos) + extendSelection(cm.doc, word.anchor, word.head) + })) } + else + { on(d.scroller, "dblclick", function (e) { return signalDOMEvent(cm, e) || e_preventDefault(e); }) } + // Some browsers fire contextmenu *after* opening the menu, at + // which point we can't mess with it anymore. Context menu is + // handled in onMouseDown for these browsers. + if (!captureRightClick) { on(d.scroller, "contextmenu", function (e) { return onContextMenu(cm, e); }) } + + // Used to suppress mouse event handling when a touch happens + var touchFinished, prevTouch = {end: 0} + function finishTouch() { + if (d.activeTouch) { + touchFinished = setTimeout(function () { return d.activeTouch = null; }, 1000) + prevTouch = d.activeTouch + prevTouch.end = +new Date + } + } + function isMouseLikeTouchEvent(e) { + if (e.touches.length != 1) { return false } + var touch = e.touches[0] + return touch.radiusX <= 1 && touch.radiusY <= 1 + } + function farAway(touch, other) { + if (other.left == null) { return true } + var dx = other.left - touch.left, dy = other.top - touch.top + return dx * dx + dy * dy > 20 * 20 + } + on(d.scroller, "touchstart", function (e) { + if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e) && !clickInGutter(cm, e)) { + d.input.ensurePolled() + clearTimeout(touchFinished) + var now = +new Date + d.activeTouch = {start: now, moved: false, + prev: now - prevTouch.end <= 300 ? prevTouch : null} + if (e.touches.length == 1) { + d.activeTouch.left = e.touches[0].pageX + d.activeTouch.top = e.touches[0].pageY + } + } + }) + on(d.scroller, "touchmove", function () { + if (d.activeTouch) { d.activeTouch.moved = true } + }) + on(d.scroller, "touchend", function (e) { + var touch = d.activeTouch + if (touch && !eventInWidget(d, e) && touch.left != null && + !touch.moved && new Date - touch.start < 300) { + var pos = cm.coordsChar(d.activeTouch, "page"), range + if (!touch.prev || farAway(touch, touch.prev)) // Single tap + { range = new Range(pos, pos) } + else if (!touch.prev.prev || farAway(touch, touch.prev.prev)) // Double tap + { range = cm.findWordAt(pos) } + else // Triple tap + { range = new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))) } + cm.setSelection(range.anchor, range.head) + cm.focus() + e_preventDefault(e) + } + finishTouch() + }) + on(d.scroller, "touchcancel", finishTouch) + + // Sync scrolling between fake scrollbars and real scrollable + // area, ensure viewport is updated when scrolling. + on(d.scroller, "scroll", function () { + if (d.scroller.clientHeight) { + updateScrollTop(cm, d.scroller.scrollTop) + setScrollLeft(cm, d.scroller.scrollLeft, true) + signal(cm, "scroll", cm) + } + }) + + // Listen to wheel events in order to try and update the viewport on time. + on(d.scroller, "mousewheel", function (e) { return onScrollWheel(cm, e); }) + on(d.scroller, "DOMMouseScroll", function (e) { return onScrollWheel(cm, e); }) + + // Prevent wrapper from ever scrolling + on(d.wrapper, "scroll", function () { return d.wrapper.scrollTop = d.wrapper.scrollLeft = 0; }) + + d.dragFunctions = { + enter: function (e) {if (!signalDOMEvent(cm, e)) { e_stop(e) }}, + over: function (e) {if (!signalDOMEvent(cm, e)) { onDragOver(cm, e); e_stop(e) }}, + start: function (e) { return onDragStart(cm, e); }, + drop: operation(cm, onDrop), + leave: function (e) {if (!signalDOMEvent(cm, e)) { clearDragCursor(cm) }} + } + + var inp = d.input.getField() + on(inp, "keyup", function (e) { return onKeyUp.call(cm, e); }) + on(inp, "keydown", operation(cm, onKeyDown)) + on(inp, "keypress", operation(cm, onKeyPress)) + on(inp, "focus", function (e) { return onFocus(cm, e); }) + on(inp, "blur", function (e) { return onBlur(cm, e); }) +} + +var initHooks = [] +CodeMirror.defineInitHook = function (f) { return initHooks.push(f); } + +// Indent the given line. The how parameter can be "smart", +// "add"/null, "subtract", or "prev". When aggressive is false +// (typically set to true for forced single-line indents), empty +// lines are not indented, and places where the mode returns Pass +// are left alone. +function indentLine(cm, n, how, aggressive) { + var doc = cm.doc, state + if (how == null) { how = "add" } + if (how == "smart") { + // Fall back to "prev" when the mode doesn't have an indentation + // method. + if (!doc.mode.indent) { how = "prev" } + else { state = getContextBefore(cm, n).state } + } + + var tabSize = cm.options.tabSize + var line = getLine(doc, n), curSpace = countColumn(line.text, null, tabSize) + if (line.stateAfter) { line.stateAfter = null } + var curSpaceString = line.text.match(/^\s*/)[0], indentation + if (!aggressive && !/\S/.test(line.text)) { + indentation = 0 + how = "not" + } else if (how == "smart") { + indentation = doc.mode.indent(state, line.text.slice(curSpaceString.length), line.text) + if (indentation == Pass || indentation > 150) { + if (!aggressive) { return } + how = "prev" + } + } + if (how == "prev") { + if (n > doc.first) { indentation = countColumn(getLine(doc, n-1).text, null, tabSize) } + else { indentation = 0 } + } else if (how == "add") { + indentation = curSpace + cm.options.indentUnit + } else if (how == "subtract") { + indentation = curSpace - cm.options.indentUnit + } else if (typeof how == "number") { + indentation = curSpace + how + } + indentation = Math.max(0, indentation) + + var indentString = "", pos = 0 + if (cm.options.indentWithTabs) + { for (var i = Math.floor(indentation / tabSize); i; --i) {pos += tabSize; indentString += "\t"} } + if (pos < indentation) { indentString += spaceStr(indentation - pos) } + + if (indentString != curSpaceString) { + replaceRange(doc, indentString, Pos(n, 0), Pos(n, curSpaceString.length), "+input") + line.stateAfter = null + return true + } else { + // Ensure that, if the cursor was in the whitespace at the start + // of the line, it is moved to the end of that space. + for (var i$1 = 0; i$1 < doc.sel.ranges.length; i$1++) { + var range = doc.sel.ranges[i$1] + if (range.head.line == n && range.head.ch < curSpaceString.length) { + var pos$1 = Pos(n, curSpaceString.length) + replaceOneSelection(doc, i$1, new Range(pos$1, pos$1)) + break + } + } + } +} + +// This will be set to a {lineWise: bool, text: [string]} object, so +// that, when pasting, we know what kind of selections the copied +// text was made out of. +var lastCopied = null + +function setLastCopied(newLastCopied) { + lastCopied = newLastCopied +} + +function applyTextInput(cm, inserted, deleted, sel, origin) { + var doc = cm.doc + cm.display.shift = false + if (!sel) { sel = doc.sel } + + var paste = cm.state.pasteIncoming || origin == "paste" + var textLines = splitLinesAuto(inserted), multiPaste = null + // When pasing N lines into N selections, insert one line per selection + if (paste && sel.ranges.length > 1) { + if (lastCopied && lastCopied.text.join("\n") == inserted) { + if (sel.ranges.length % lastCopied.text.length == 0) { + multiPaste = [] + for (var i = 0; i < lastCopied.text.length; i++) + { multiPaste.push(doc.splitLines(lastCopied.text[i])) } + } + } else if (textLines.length == sel.ranges.length && cm.options.pasteLinesPerSelection) { + multiPaste = map(textLines, function (l) { return [l]; }) + } + } + + var updateInput + // Normal behavior is to insert the new text into every selection + for (var i$1 = sel.ranges.length - 1; i$1 >= 0; i$1--) { + var range = sel.ranges[i$1] + var from = range.from(), to = range.to() + if (range.empty()) { + if (deleted && deleted > 0) // Handle deletion + { from = Pos(from.line, from.ch - deleted) } + else if (cm.state.overwrite && !paste) // Handle overwrite + { to = Pos(to.line, Math.min(getLine(doc, to.line).text.length, to.ch + lst(textLines).length)) } + else if (lastCopied && lastCopied.lineWise && lastCopied.text.join("\n") == inserted) + { from = to = Pos(from.line, 0) } + } + updateInput = cm.curOp.updateInput + var changeEvent = {from: from, to: to, text: multiPaste ? multiPaste[i$1 % multiPaste.length] : textLines, + origin: origin || (paste ? "paste" : cm.state.cutIncoming ? "cut" : "+input")} + makeChange(cm.doc, changeEvent) + signalLater(cm, "inputRead", cm, changeEvent) + } + if (inserted && !paste) + { triggerElectric(cm, inserted) } + + ensureCursorVisible(cm) + cm.curOp.updateInput = updateInput + cm.curOp.typing = true + cm.state.pasteIncoming = cm.state.cutIncoming = false +} + +function handlePaste(e, cm) { + var pasted = e.clipboardData && e.clipboardData.getData("Text") + if (pasted) { + e.preventDefault() + if (!cm.isReadOnly() && !cm.options.disableInput) + { runInOp(cm, function () { return applyTextInput(cm, pasted, 0, null, "paste"); }) } + return true + } +} + +function triggerElectric(cm, inserted) { + // When an 'electric' character is inserted, immediately trigger a reindent + if (!cm.options.electricChars || !cm.options.smartIndent) { return } + var sel = cm.doc.sel + + for (var i = sel.ranges.length - 1; i >= 0; i--) { + var range = sel.ranges[i] + if (range.head.ch > 100 || (i && sel.ranges[i - 1].head.line == range.head.line)) { continue } + var mode = cm.getModeAt(range.head) + var indented = false + if (mode.electricChars) { + for (var j = 0; j < mode.electricChars.length; j++) + { if (inserted.indexOf(mode.electricChars.charAt(j)) > -1) { + indented = indentLine(cm, range.head.line, "smart") + break + } } + } else if (mode.electricInput) { + if (mode.electricInput.test(getLine(cm.doc, range.head.line).text.slice(0, range.head.ch))) + { indented = indentLine(cm, range.head.line, "smart") } + } + if (indented) { signalLater(cm, "electricInput", cm, range.head.line) } + } +} + +function copyableRanges(cm) { + var text = [], ranges = [] + for (var i = 0; i < cm.doc.sel.ranges.length; i++) { + var line = cm.doc.sel.ranges[i].head.line + var lineRange = {anchor: Pos(line, 0), head: Pos(line + 1, 0)} + ranges.push(lineRange) + text.push(cm.getRange(lineRange.anchor, lineRange.head)) + } + return {text: text, ranges: ranges} +} + +function disableBrowserMagic(field, spellcheck) { + field.setAttribute("autocorrect", "off") + field.setAttribute("autocapitalize", "off") + field.setAttribute("spellcheck", !!spellcheck) +} + +function hiddenTextarea() { + var te = elt("textarea", null, null, "position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none") + var div = elt("div", [te], null, "overflow: hidden; position: relative; width: 3px; height: 0px;") + // The textarea is kept positioned near the cursor to prevent the + // fact that it'll be scrolled into view on input from scrolling + // our fake cursor out of view. On webkit, when wrap=off, paste is + // very slow. So make the area wide instead. + if (webkit) { te.style.width = "1000px" } + else { te.setAttribute("wrap", "off") } + // If border: 0; -- iOS fails to open keyboard (issue #1287) + if (ios) { te.style.border = "1px solid black" } + disableBrowserMagic(te) + return div +} + +// The publicly visible API. Note that methodOp(f) means +// 'wrap f in an operation, performed on its `this` parameter'. + +// This is not the complete set of editor methods. Most of the +// methods defined on the Doc type are also injected into +// CodeMirror.prototype, for backwards compatibility and +// convenience. + +function addEditorMethods(CodeMirror) { + var optionHandlers = CodeMirror.optionHandlers + + var helpers = CodeMirror.helpers = {} + + CodeMirror.prototype = { + constructor: CodeMirror, + focus: function(){window.focus(); this.display.input.focus()}, + + setOption: function(option, value) { + var options = this.options, old = options[option] + if (options[option] == value && option != "mode") { return } + options[option] = value + if (optionHandlers.hasOwnProperty(option)) + { operation(this, optionHandlers[option])(this, value, old) } + signal(this, "optionChange", this, option) + }, + + getOption: function(option) {return this.options[option]}, + getDoc: function() {return this.doc}, + + addKeyMap: function(map, bottom) { + this.state.keyMaps[bottom ? "push" : "unshift"](getKeyMap(map)) + }, + removeKeyMap: function(map) { + var maps = this.state.keyMaps + for (var i = 0; i < maps.length; ++i) + { if (maps[i] == map || maps[i].name == map) { + maps.splice(i, 1) + return true + } } + }, + + addOverlay: methodOp(function(spec, options) { + var mode = spec.token ? spec : CodeMirror.getMode(this.options, spec) + if (mode.startState) { throw new Error("Overlays may not be stateful.") } + insertSorted(this.state.overlays, + {mode: mode, modeSpec: spec, opaque: options && options.opaque, + priority: (options && options.priority) || 0}, + function (overlay) { return overlay.priority; }) + this.state.modeGen++ + regChange(this) + }), + removeOverlay: methodOp(function(spec) { + var this$1 = this; + + var overlays = this.state.overlays + for (var i = 0; i < overlays.length; ++i) { + var cur = overlays[i].modeSpec + if (cur == spec || typeof spec == "string" && cur.name == spec) { + overlays.splice(i, 1) + this$1.state.modeGen++ + regChange(this$1) + return + } + } + }), + + indentLine: methodOp(function(n, dir, aggressive) { + if (typeof dir != "string" && typeof dir != "number") { + if (dir == null) { dir = this.options.smartIndent ? "smart" : "prev" } + else { dir = dir ? "add" : "subtract" } + } + if (isLine(this.doc, n)) { indentLine(this, n, dir, aggressive) } + }), + indentSelection: methodOp(function(how) { + var this$1 = this; + + var ranges = this.doc.sel.ranges, end = -1 + for (var i = 0; i < ranges.length; i++) { + var range = ranges[i] + if (!range.empty()) { + var from = range.from(), to = range.to() + var start = Math.max(end, from.line) + end = Math.min(this$1.lastLine(), to.line - (to.ch ? 0 : 1)) + 1 + for (var j = start; j < end; ++j) + { indentLine(this$1, j, how) } + var newRanges = this$1.doc.sel.ranges + if (from.ch == 0 && ranges.length == newRanges.length && newRanges[i].from().ch > 0) + { replaceOneSelection(this$1.doc, i, new Range(from, newRanges[i].to()), sel_dontScroll) } + } else if (range.head.line > end) { + indentLine(this$1, range.head.line, how, true) + end = range.head.line + if (i == this$1.doc.sel.primIndex) { ensureCursorVisible(this$1) } + } + } + }), + + // Fetch the parser token for a given character. Useful for hacks + // that want to inspect the mode state (say, for completion). + getTokenAt: function(pos, precise) { + return takeToken(this, pos, precise) + }, + + getLineTokens: function(line, precise) { + return takeToken(this, Pos(line), precise, true) + }, + + getTokenTypeAt: function(pos) { + pos = clipPos(this.doc, pos) + var styles = getLineStyles(this, getLine(this.doc, pos.line)) + var before = 0, after = (styles.length - 1) / 2, ch = pos.ch + var type + if (ch == 0) { type = styles[2] } + else { for (;;) { + var mid = (before + after) >> 1 + if ((mid ? styles[mid * 2 - 1] : 0) >= ch) { after = mid } + else if (styles[mid * 2 + 1] < ch) { before = mid + 1 } + else { type = styles[mid * 2 + 2]; break } + } } + var cut = type ? type.indexOf("overlay ") : -1 + return cut < 0 ? type : cut == 0 ? null : type.slice(0, cut - 1) + }, + + getModeAt: function(pos) { + var mode = this.doc.mode + if (!mode.innerMode) { return mode } + return CodeMirror.innerMode(mode, this.getTokenAt(pos).state).mode + }, + + getHelper: function(pos, type) { + return this.getHelpers(pos, type)[0] + }, + + getHelpers: function(pos, type) { + var this$1 = this; + + var found = [] + if (!helpers.hasOwnProperty(type)) { return found } + var help = helpers[type], mode = this.getModeAt(pos) + if (typeof mode[type] == "string") { + if (help[mode[type]]) { found.push(help[mode[type]]) } + } else if (mode[type]) { + for (var i = 0; i < mode[type].length; i++) { + var val = help[mode[type][i]] + if (val) { found.push(val) } + } + } else if (mode.helperType && help[mode.helperType]) { + found.push(help[mode.helperType]) + } else if (help[mode.name]) { + found.push(help[mode.name]) + } + for (var i$1 = 0; i$1 < help._global.length; i$1++) { + var cur = help._global[i$1] + if (cur.pred(mode, this$1) && indexOf(found, cur.val) == -1) + { found.push(cur.val) } + } + return found + }, + + getStateAfter: function(line, precise) { + var doc = this.doc + line = clipLine(doc, line == null ? doc.first + doc.size - 1: line) + return getContextBefore(this, line + 1, precise).state + }, + + cursorCoords: function(start, mode) { + var pos, range = this.doc.sel.primary() + if (start == null) { pos = range.head } + else if (typeof start == "object") { pos = clipPos(this.doc, start) } + else { pos = start ? range.from() : range.to() } + return cursorCoords(this, pos, mode || "page") + }, + + charCoords: function(pos, mode) { + return charCoords(this, clipPos(this.doc, pos), mode || "page") + }, + + coordsChar: function(coords, mode) { + coords = fromCoordSystem(this, coords, mode || "page") + return coordsChar(this, coords.left, coords.top) + }, + + lineAtHeight: function(height, mode) { + height = fromCoordSystem(this, {top: height, left: 0}, mode || "page").top + return lineAtHeight(this.doc, height + this.display.viewOffset) + }, + heightAtLine: function(line, mode, includeWidgets) { + var end = false, lineObj + if (typeof line == "number") { + var last = this.doc.first + this.doc.size - 1 + if (line < this.doc.first) { line = this.doc.first } + else if (line > last) { line = last; end = true } + lineObj = getLine(this.doc, line) + } else { + lineObj = line + } + return intoCoordSystem(this, lineObj, {top: 0, left: 0}, mode || "page", includeWidgets || end).top + + (end ? this.doc.height - heightAtLine(lineObj) : 0) + }, + + defaultTextHeight: function() { return textHeight(this.display) }, + defaultCharWidth: function() { return charWidth(this.display) }, + + getViewport: function() { return {from: this.display.viewFrom, to: this.display.viewTo}}, + + addWidget: function(pos, node, scroll, vert, horiz) { + var display = this.display + pos = cursorCoords(this, clipPos(this.doc, pos)) + var top = pos.bottom, left = pos.left + node.style.position = "absolute" + node.setAttribute("cm-ignore-events", "true") + this.display.input.setUneditable(node) + display.sizer.appendChild(node) + if (vert == "over") { + top = pos.top + } else if (vert == "above" || vert == "near") { + var vspace = Math.max(display.wrapper.clientHeight, this.doc.height), + hspace = Math.max(display.sizer.clientWidth, display.lineSpace.clientWidth) + // Default to positioning above (if specified and possible); otherwise default to positioning below + if ((vert == 'above' || pos.bottom + node.offsetHeight > vspace) && pos.top > node.offsetHeight) + { top = pos.top - node.offsetHeight } + else if (pos.bottom + node.offsetHeight <= vspace) + { top = pos.bottom } + if (left + node.offsetWidth > hspace) + { left = hspace - node.offsetWidth } + } + node.style.top = top + "px" + node.style.left = node.style.right = "" + if (horiz == "right") { + left = display.sizer.clientWidth - node.offsetWidth + node.style.right = "0px" + } else { + if (horiz == "left") { left = 0 } + else if (horiz == "middle") { left = (display.sizer.clientWidth - node.offsetWidth) / 2 } + node.style.left = left + "px" + } + if (scroll) + { scrollIntoView(this, {left: left, top: top, right: left + node.offsetWidth, bottom: top + node.offsetHeight}) } + }, + + triggerOnKeyDown: methodOp(onKeyDown), + triggerOnKeyPress: methodOp(onKeyPress), + triggerOnKeyUp: onKeyUp, + triggerOnMouseDown: methodOp(onMouseDown), + + execCommand: function(cmd) { + if (commands.hasOwnProperty(cmd)) + { return commands[cmd].call(null, this) } + }, + + triggerElectric: methodOp(function(text) { triggerElectric(this, text) }), + + findPosH: function(from, amount, unit, visually) { + var this$1 = this; + + var dir = 1 + if (amount < 0) { dir = -1; amount = -amount } + var cur = clipPos(this.doc, from) + for (var i = 0; i < amount; ++i) { + cur = findPosH(this$1.doc, cur, dir, unit, visually) + if (cur.hitSide) { break } + } + return cur + }, + + moveH: methodOp(function(dir, unit) { + var this$1 = this; + + this.extendSelectionsBy(function (range) { + if (this$1.display.shift || this$1.doc.extend || range.empty()) + { return findPosH(this$1.doc, range.head, dir, unit, this$1.options.rtlMoveVisually) } + else + { return dir < 0 ? range.from() : range.to() } + }, sel_move) + }), + + deleteH: methodOp(function(dir, unit) { + var sel = this.doc.sel, doc = this.doc + if (sel.somethingSelected()) + { doc.replaceSelection("", null, "+delete") } + else + { deleteNearSelection(this, function (range) { + var other = findPosH(doc, range.head, dir, unit, false) + return dir < 0 ? {from: other, to: range.head} : {from: range.head, to: other} + }) } + }), + + findPosV: function(from, amount, unit, goalColumn) { + var this$1 = this; + + var dir = 1, x = goalColumn + if (amount < 0) { dir = -1; amount = -amount } + var cur = clipPos(this.doc, from) + for (var i = 0; i < amount; ++i) { + var coords = cursorCoords(this$1, cur, "div") + if (x == null) { x = coords.left } + else { coords.left = x } + cur = findPosV(this$1, coords, dir, unit) + if (cur.hitSide) { break } + } + return cur + }, + + moveV: methodOp(function(dir, unit) { + var this$1 = this; + + var doc = this.doc, goals = [] + var collapse = !this.display.shift && !doc.extend && doc.sel.somethingSelected() + doc.extendSelectionsBy(function (range) { + if (collapse) + { return dir < 0 ? range.from() : range.to() } + var headPos = cursorCoords(this$1, range.head, "div") + if (range.goalColumn != null) { headPos.left = range.goalColumn } + goals.push(headPos.left) + var pos = findPosV(this$1, headPos, dir, unit) + if (unit == "page" && range == doc.sel.primary()) + { addToScrollTop(this$1, charCoords(this$1, pos, "div").top - headPos.top) } + return pos + }, sel_move) + if (goals.length) { for (var i = 0; i < doc.sel.ranges.length; i++) + { doc.sel.ranges[i].goalColumn = goals[i] } } + }), + + // Find the word at the given position (as returned by coordsChar). + findWordAt: function(pos) { + var doc = this.doc, line = getLine(doc, pos.line).text + var start = pos.ch, end = pos.ch + if (line) { + var helper = this.getHelper(pos, "wordChars") + if ((pos.sticky == "before" || end == line.length) && start) { --start; } else { ++end } + var startChar = line.charAt(start) + var check = isWordChar(startChar, helper) + ? function (ch) { return isWordChar(ch, helper); } + : /\s/.test(startChar) ? function (ch) { return /\s/.test(ch); } + : function (ch) { return (!/\s/.test(ch) && !isWordChar(ch)); } + while (start > 0 && check(line.charAt(start - 1))) { --start } + while (end < line.length && check(line.charAt(end))) { ++end } + } + return new Range(Pos(pos.line, start), Pos(pos.line, end)) + }, + + toggleOverwrite: function(value) { + if (value != null && value == this.state.overwrite) { return } + if (this.state.overwrite = !this.state.overwrite) + { addClass(this.display.cursorDiv, "CodeMirror-overwrite") } + else + { rmClass(this.display.cursorDiv, "CodeMirror-overwrite") } + + signal(this, "overwriteToggle", this, this.state.overwrite) + }, + hasFocus: function() { return this.display.input.getField() == activeElt() }, + isReadOnly: function() { return !!(this.options.readOnly || this.doc.cantEdit) }, + + scrollTo: methodOp(function (x, y) { scrollToCoords(this, x, y) }), + getScrollInfo: function() { + var scroller = this.display.scroller + return {left: scroller.scrollLeft, top: scroller.scrollTop, + height: scroller.scrollHeight - scrollGap(this) - this.display.barHeight, + width: scroller.scrollWidth - scrollGap(this) - this.display.barWidth, + clientHeight: displayHeight(this), clientWidth: displayWidth(this)} + }, + + scrollIntoView: methodOp(function(range, margin) { + if (range == null) { + range = {from: this.doc.sel.primary().head, to: null} + if (margin == null) { margin = this.options.cursorScrollMargin } + } else if (typeof range == "number") { + range = {from: Pos(range, 0), to: null} + } else if (range.from == null) { + range = {from: range, to: null} + } + if (!range.to) { range.to = range.from } + range.margin = margin || 0 + + if (range.from.line != null) { + scrollToRange(this, range) + } else { + scrollToCoordsRange(this, range.from, range.to, range.margin) + } + }), + + setSize: methodOp(function(width, height) { + var this$1 = this; + + var interpret = function (val) { return typeof val == "number" || /^\d+$/.test(String(val)) ? val + "px" : val; } + if (width != null) { this.display.wrapper.style.width = interpret(width) } + if (height != null) { this.display.wrapper.style.height = interpret(height) } + if (this.options.lineWrapping) { clearLineMeasurementCache(this) } + var lineNo = this.display.viewFrom + this.doc.iter(lineNo, this.display.viewTo, function (line) { + if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) + { if (line.widgets[i].noHScroll) { regLineChange(this$1, lineNo, "widget"); break } } } + ++lineNo + }) + this.curOp.forceUpdate = true + signal(this, "refresh", this) + }), + + operation: function(f){return runInOp(this, f)}, + startOperation: function(){return startOperation(this)}, + endOperation: function(){return endOperation(this)}, + + refresh: methodOp(function() { + var oldHeight = this.display.cachedTextHeight + regChange(this) + this.curOp.forceUpdate = true + clearCaches(this) + scrollToCoords(this, this.doc.scrollLeft, this.doc.scrollTop) + updateGutterSpace(this) + if (oldHeight == null || Math.abs(oldHeight - textHeight(this.display)) > .5) + { estimateLineHeights(this) } + signal(this, "refresh", this) + }), + + swapDoc: methodOp(function(doc) { + var old = this.doc + old.cm = null + attachDoc(this, doc) + clearCaches(this) + this.display.input.reset() + scrollToCoords(this, doc.scrollLeft, doc.scrollTop) + this.curOp.forceScroll = true + signalLater(this, "swapDoc", this, old) + return old + }), + + getInputField: function(){return this.display.input.getField()}, + getWrapperElement: function(){return this.display.wrapper}, + getScrollerElement: function(){return this.display.scroller}, + getGutterElement: function(){return this.display.gutters} + } + eventMixin(CodeMirror) + + CodeMirror.registerHelper = function(type, name, value) { + if (!helpers.hasOwnProperty(type)) { helpers[type] = CodeMirror[type] = {_global: []} } + helpers[type][name] = value + } + CodeMirror.registerGlobalHelper = function(type, name, predicate, value) { + CodeMirror.registerHelper(type, name, value) + helpers[type]._global.push({pred: predicate, val: value}) + } +} + +// Used for horizontal relative motion. Dir is -1 or 1 (left or +// right), unit can be "char", "column" (like char, but doesn't +// cross line boundaries), "word" (across next word), or "group" (to +// the start of next group of word or non-word-non-whitespace +// chars). The visually param controls whether, in right-to-left +// text, direction 1 means to move towards the next index in the +// string, or towards the character to the right of the current +// position. The resulting position will have a hitSide=true +// property if it reached the end of the document. +function findPosH(doc, pos, dir, unit, visually) { + var oldPos = pos + var origDir = dir + var lineObj = getLine(doc, pos.line) + function findNextLine() { + var l = pos.line + dir + if (l < doc.first || l >= doc.first + doc.size) { return false } + pos = new Pos(l, pos.ch, pos.sticky) + return lineObj = getLine(doc, l) + } + function moveOnce(boundToLine) { + var next + if (visually) { + next = moveVisually(doc.cm, lineObj, pos, dir) + } else { + next = moveLogically(lineObj, pos, dir) + } + if (next == null) { + if (!boundToLine && findNextLine()) + { pos = endOfLine(visually, doc.cm, lineObj, pos.line, dir) } + else + { return false } + } else { + pos = next + } + return true + } + + if (unit == "char") { + moveOnce() + } else if (unit == "column") { + moveOnce(true) + } else if (unit == "word" || unit == "group") { + var sawType = null, group = unit == "group" + var helper = doc.cm && doc.cm.getHelper(pos, "wordChars") + for (var first = true;; first = false) { + if (dir < 0 && !moveOnce(!first)) { break } + var cur = lineObj.text.charAt(pos.ch) || "\n" + var type = isWordChar(cur, helper) ? "w" + : group && cur == "\n" ? "n" + : !group || /\s/.test(cur) ? null + : "p" + if (group && !first && !type) { type = "s" } + if (sawType && sawType != type) { + if (dir < 0) {dir = 1; moveOnce(); pos.sticky = "after"} + break + } + + if (type) { sawType = type } + if (dir > 0 && !moveOnce(!first)) { break } + } + } + var result = skipAtomic(doc, pos, oldPos, origDir, true) + if (equalCursorPos(oldPos, result)) { result.hitSide = true } + return result +} + +// For relative vertical movement. Dir may be -1 or 1. Unit can be +// "page" or "line". The resulting position will have a hitSide=true +// property if it reached the end of the document. +function findPosV(cm, pos, dir, unit) { + var doc = cm.doc, x = pos.left, y + if (unit == "page") { + var pageSize = Math.min(cm.display.wrapper.clientHeight, window.innerHeight || document.documentElement.clientHeight) + var moveAmount = Math.max(pageSize - .5 * textHeight(cm.display), 3) + y = (dir > 0 ? pos.bottom : pos.top) + dir * moveAmount + + } else if (unit == "line") { + y = dir > 0 ? pos.bottom + 3 : pos.top - 3 + } + var target + for (;;) { + target = coordsChar(cm, x, y) + if (!target.outside) { break } + if (dir < 0 ? y <= 0 : y >= doc.height) { target.hitSide = true; break } + y += dir * 5 + } + return target +} + +// CONTENTEDITABLE INPUT STYLE + +var ContentEditableInput = function(cm) { + this.cm = cm + this.lastAnchorNode = this.lastAnchorOffset = this.lastFocusNode = this.lastFocusOffset = null + this.polling = new Delayed() + this.composing = null + this.gracePeriod = false + this.readDOMTimeout = null +}; + +ContentEditableInput.prototype.init = function (display) { + var this$1 = this; + + var input = this, cm = input.cm + var div = input.div = display.lineDiv + disableBrowserMagic(div, cm.options.spellcheck) + + on(div, "paste", function (e) { + if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return } + // IE doesn't fire input events, so we schedule a read for the pasted content in this way + if (ie_version <= 11) { setTimeout(operation(cm, function () { return this$1.updateFromDOM(); }), 20) } + }) + + on(div, "compositionstart", function (e) { + this$1.composing = {data: e.data, done: false} + }) + on(div, "compositionupdate", function (e) { + if (!this$1.composing) { this$1.composing = {data: e.data, done: false} } + }) + on(div, "compositionend", function (e) { + if (this$1.composing) { + if (e.data != this$1.composing.data) { this$1.readFromDOMSoon() } + this$1.composing.done = true + } + }) + + on(div, "touchstart", function () { return input.forceCompositionEnd(); }) + + on(div, "input", function () { + if (!this$1.composing) { this$1.readFromDOMSoon() } + }) + + function onCopyCut(e) { + if (signalDOMEvent(cm, e)) { return } + if (cm.somethingSelected()) { + setLastCopied({lineWise: false, text: cm.getSelections()}) + if (e.type == "cut") { cm.replaceSelection("", null, "cut") } + } else if (!cm.options.lineWiseCopyCut) { + return + } else { + var ranges = copyableRanges(cm) + setLastCopied({lineWise: true, text: ranges.text}) + if (e.type == "cut") { + cm.operation(function () { + cm.setSelections(ranges.ranges, 0, sel_dontScroll) + cm.replaceSelection("", null, "cut") + }) + } + } + if (e.clipboardData) { + e.clipboardData.clearData() + var content = lastCopied.text.join("\n") + // iOS exposes the clipboard API, but seems to discard content inserted into it + e.clipboardData.setData("Text", content) + if (e.clipboardData.getData("Text") == content) { + e.preventDefault() + return + } + } + // Old-fashioned briefly-focus-a-textarea hack + var kludge = hiddenTextarea(), te = kludge.firstChild + cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild) + te.value = lastCopied.text.join("\n") + var hadFocus = document.activeElement + selectInput(te) + setTimeout(function () { + cm.display.lineSpace.removeChild(kludge) + hadFocus.focus() + if (hadFocus == div) { input.showPrimarySelection() } + }, 50) + } + on(div, "copy", onCopyCut) + on(div, "cut", onCopyCut) +}; + +ContentEditableInput.prototype.prepareSelection = function () { + var result = prepareSelection(this.cm, false) + result.focus = this.cm.state.focused + return result +}; + +ContentEditableInput.prototype.showSelection = function (info, takeFocus) { + if (!info || !this.cm.display.view.length) { return } + if (info.focus || takeFocus) { this.showPrimarySelection() } + this.showMultipleSelections(info) +}; + +ContentEditableInput.prototype.showPrimarySelection = function () { + var sel = window.getSelection(), cm = this.cm, prim = cm.doc.sel.primary() + var from = prim.from(), to = prim.to() + + if (cm.display.viewTo == cm.display.viewFrom || from.line >= cm.display.viewTo || to.line < cm.display.viewFrom) { + sel.removeAllRanges() + return + } + + var curAnchor = domToPos(cm, sel.anchorNode, sel.anchorOffset) + var curFocus = domToPos(cm, sel.focusNode, sel.focusOffset) + if (curAnchor && !curAnchor.bad && curFocus && !curFocus.bad && + cmp(minPos(curAnchor, curFocus), from) == 0 && + cmp(maxPos(curAnchor, curFocus), to) == 0) + { return } + + var view = cm.display.view + var start = (from.line >= cm.display.viewFrom && posToDOM(cm, from)) || + {node: view[0].measure.map[2], offset: 0} + var end = to.line < cm.display.viewTo && posToDOM(cm, to) + if (!end) { + var measure = view[view.length - 1].measure + var map = measure.maps ? measure.maps[measure.maps.length - 1] : measure.map + end = {node: map[map.length - 1], offset: map[map.length - 2] - map[map.length - 3]} + } + + if (!start || !end) { + sel.removeAllRanges() + return + } + + var old = sel.rangeCount && sel.getRangeAt(0), rng + try { rng = range(start.node, start.offset, end.offset, end.node) } + catch(e) {} // Our model of the DOM might be outdated, in which case the range we try to set can be impossible + if (rng) { + if (!gecko && cm.state.focused) { + sel.collapse(start.node, start.offset) + if (!rng.collapsed) { + sel.removeAllRanges() + sel.addRange(rng) + } + } else { + sel.removeAllRanges() + sel.addRange(rng) + } + if (old && sel.anchorNode == null) { sel.addRange(old) } + else if (gecko) { this.startGracePeriod() } + } + this.rememberSelection() +}; + +ContentEditableInput.prototype.startGracePeriod = function () { + var this$1 = this; + + clearTimeout(this.gracePeriod) + this.gracePeriod = setTimeout(function () { + this$1.gracePeriod = false + if (this$1.selectionChanged()) + { this$1.cm.operation(function () { return this$1.cm.curOp.selectionChanged = true; }) } + }, 20) +}; + +ContentEditableInput.prototype.showMultipleSelections = function (info) { + removeChildrenAndAdd(this.cm.display.cursorDiv, info.cursors) + removeChildrenAndAdd(this.cm.display.selectionDiv, info.selection) +}; + +ContentEditableInput.prototype.rememberSelection = function () { + var sel = window.getSelection() + this.lastAnchorNode = sel.anchorNode; this.lastAnchorOffset = sel.anchorOffset + this.lastFocusNode = sel.focusNode; this.lastFocusOffset = sel.focusOffset +}; + +ContentEditableInput.prototype.selectionInEditor = function () { + var sel = window.getSelection() + if (!sel.rangeCount) { return false } + var node = sel.getRangeAt(0).commonAncestorContainer + return contains(this.div, node) +}; + +ContentEditableInput.prototype.focus = function () { + if (this.cm.options.readOnly != "nocursor") { + if (!this.selectionInEditor()) + { this.showSelection(this.prepareSelection(), true) } + this.div.focus() + } +}; +ContentEditableInput.prototype.blur = function () { this.div.blur() }; +ContentEditableInput.prototype.getField = function () { return this.div }; + +ContentEditableInput.prototype.supportsTouch = function () { return true }; + +ContentEditableInput.prototype.receivedFocus = function () { + var input = this + if (this.selectionInEditor()) + { this.pollSelection() } + else + { runInOp(this.cm, function () { return input.cm.curOp.selectionChanged = true; }) } + + function poll() { + if (input.cm.state.focused) { + input.pollSelection() + input.polling.set(input.cm.options.pollInterval, poll) + } + } + this.polling.set(this.cm.options.pollInterval, poll) +}; + +ContentEditableInput.prototype.selectionChanged = function () { + var sel = window.getSelection() + return sel.anchorNode != this.lastAnchorNode || sel.anchorOffset != this.lastAnchorOffset || + sel.focusNode != this.lastFocusNode || sel.focusOffset != this.lastFocusOffset +}; + +ContentEditableInput.prototype.pollSelection = function () { + if (this.readDOMTimeout != null || this.gracePeriod || !this.selectionChanged()) { return } + var sel = window.getSelection(), cm = this.cm + // On Android Chrome (version 56, at least), backspacing into an + // uneditable block element will put the cursor in that element, + // and then, because it's not editable, hide the virtual keyboard. + // Because Android doesn't allow us to actually detect backspace + // presses in a sane way, this code checks for when that happens + // and simulates a backspace press in this case. + if (android && chrome && this.cm.options.gutters.length && isInGutter(sel.anchorNode)) { + this.cm.triggerOnKeyDown({type: "keydown", keyCode: 8, preventDefault: Math.abs}) + this.blur() + this.focus() + return + } + if (this.composing) { return } + this.rememberSelection() + var anchor = domToPos(cm, sel.anchorNode, sel.anchorOffset) + var head = domToPos(cm, sel.focusNode, sel.focusOffset) + if (anchor && head) { runInOp(cm, function () { + setSelection(cm.doc, simpleSelection(anchor, head), sel_dontScroll) + if (anchor.bad || head.bad) { cm.curOp.selectionChanged = true } + }) } +}; + +ContentEditableInput.prototype.pollContent = function () { + if (this.readDOMTimeout != null) { + clearTimeout(this.readDOMTimeout) + this.readDOMTimeout = null + } + + var cm = this.cm, display = cm.display, sel = cm.doc.sel.primary() + var from = sel.from(), to = sel.to() + if (from.ch == 0 && from.line > cm.firstLine()) + { from = Pos(from.line - 1, getLine(cm.doc, from.line - 1).length) } + if (to.ch == getLine(cm.doc, to.line).text.length && to.line < cm.lastLine()) + { to = Pos(to.line + 1, 0) } + if (from.line < display.viewFrom || to.line > display.viewTo - 1) { return false } + + var fromIndex, fromLine, fromNode + if (from.line == display.viewFrom || (fromIndex = findViewIndex(cm, from.line)) == 0) { + fromLine = lineNo(display.view[0].line) + fromNode = display.view[0].node + } else { + fromLine = lineNo(display.view[fromIndex].line) + fromNode = display.view[fromIndex - 1].node.nextSibling + } + var toIndex = findViewIndex(cm, to.line) + var toLine, toNode + if (toIndex == display.view.length - 1) { + toLine = display.viewTo - 1 + toNode = display.lineDiv.lastChild + } else { + toLine = lineNo(display.view[toIndex + 1].line) - 1 + toNode = display.view[toIndex + 1].node.previousSibling + } + + if (!fromNode) { return false } + var newText = cm.doc.splitLines(domTextBetween(cm, fromNode, toNode, fromLine, toLine)) + var oldText = getBetween(cm.doc, Pos(fromLine, 0), Pos(toLine, getLine(cm.doc, toLine).text.length)) + while (newText.length > 1 && oldText.length > 1) { + if (lst(newText) == lst(oldText)) { newText.pop(); oldText.pop(); toLine-- } + else if (newText[0] == oldText[0]) { newText.shift(); oldText.shift(); fromLine++ } + else { break } + } + + var cutFront = 0, cutEnd = 0 + var newTop = newText[0], oldTop = oldText[0], maxCutFront = Math.min(newTop.length, oldTop.length) + while (cutFront < maxCutFront && newTop.charCodeAt(cutFront) == oldTop.charCodeAt(cutFront)) + { ++cutFront } + var newBot = lst(newText), oldBot = lst(oldText) + var maxCutEnd = Math.min(newBot.length - (newText.length == 1 ? cutFront : 0), + oldBot.length - (oldText.length == 1 ? cutFront : 0)) + while (cutEnd < maxCutEnd && + newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) + { ++cutEnd } + // Try to move start of change to start of selection if ambiguous + if (newText.length == 1 && oldText.length == 1 && fromLine == from.line) { + while (cutFront && cutFront > from.ch && + newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) { + cutFront-- + cutEnd++ + } + } + + newText[newText.length - 1] = newBot.slice(0, newBot.length - cutEnd).replace(/^\u200b+/, "") + newText[0] = newText[0].slice(cutFront).replace(/\u200b+$/, "") + + var chFrom = Pos(fromLine, cutFront) + var chTo = Pos(toLine, oldText.length ? lst(oldText).length - cutEnd : 0) + if (newText.length > 1 || newText[0] || cmp(chFrom, chTo)) { + replaceRange(cm.doc, newText, chFrom, chTo, "+input") + return true + } +}; + +ContentEditableInput.prototype.ensurePolled = function () { + this.forceCompositionEnd() +}; +ContentEditableInput.prototype.reset = function () { + this.forceCompositionEnd() +}; +ContentEditableInput.prototype.forceCompositionEnd = function () { + if (!this.composing) { return } + clearTimeout(this.readDOMTimeout) + this.composing = null + this.updateFromDOM() + this.div.blur() + this.div.focus() +}; +ContentEditableInput.prototype.readFromDOMSoon = function () { + var this$1 = this; + + if (this.readDOMTimeout != null) { return } + this.readDOMTimeout = setTimeout(function () { + this$1.readDOMTimeout = null + if (this$1.composing) { + if (this$1.composing.done) { this$1.composing = null } + else { return } + } + this$1.updateFromDOM() + }, 80) +}; + +ContentEditableInput.prototype.updateFromDOM = function () { + var this$1 = this; + + if (this.cm.isReadOnly() || !this.pollContent()) + { runInOp(this.cm, function () { return regChange(this$1.cm); }) } +}; + +ContentEditableInput.prototype.setUneditable = function (node) { + node.contentEditable = "false" +}; + +ContentEditableInput.prototype.onKeyPress = function (e) { + if (e.charCode == 0) { return } + e.preventDefault() + if (!this.cm.isReadOnly()) + { operation(this.cm, applyTextInput)(this.cm, String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode), 0) } +}; + +ContentEditableInput.prototype.readOnlyChanged = function (val) { + this.div.contentEditable = String(val != "nocursor") +}; + +ContentEditableInput.prototype.onContextMenu = function () {}; +ContentEditableInput.prototype.resetPosition = function () {}; + +ContentEditableInput.prototype.needsContentAttribute = true + +function posToDOM(cm, pos) { + var view = findViewForLine(cm, pos.line) + if (!view || view.hidden) { return null } + var line = getLine(cm.doc, pos.line) + var info = mapFromLineView(view, line, pos.line) + + var order = getOrder(line, cm.doc.direction), side = "left" + if (order) { + var partPos = getBidiPartAt(order, pos.ch) + side = partPos % 2 ? "right" : "left" + } + var result = nodeAndOffsetInLineMap(info.map, pos.ch, side) + result.offset = result.collapse == "right" ? result.end : result.start + return result +} + +function isInGutter(node) { + for (var scan = node; scan; scan = scan.parentNode) + { if (/CodeMirror-gutter-wrapper/.test(scan.className)) { return true } } + return false +} + +function badPos(pos, bad) { if (bad) { pos.bad = true; } return pos } + +function domTextBetween(cm, from, to, fromLine, toLine) { + var text = "", closing = false, lineSep = cm.doc.lineSeparator() + function recognizeMarker(id) { return function (marker) { return marker.id == id; } } + function close() { + if (closing) { + text += lineSep + closing = false + } + } + function addText(str) { + if (str) { + close() + text += str + } + } + function walk(node) { + if (node.nodeType == 1) { + var cmText = node.getAttribute("cm-text") + if (cmText != null) { + addText(cmText || node.textContent.replace(/\u200b/g, "")) + return + } + var markerID = node.getAttribute("cm-marker"), range + if (markerID) { + var found = cm.findMarks(Pos(fromLine, 0), Pos(toLine + 1, 0), recognizeMarker(+markerID)) + if (found.length && (range = found[0].find(0))) + { addText(getBetween(cm.doc, range.from, range.to).join(lineSep)) } + return + } + if (node.getAttribute("contenteditable") == "false") { return } + var isBlock = /^(pre|div|p)$/i.test(node.nodeName) + if (isBlock) { close() } + for (var i = 0; i < node.childNodes.length; i++) + { walk(node.childNodes[i]) } + if (isBlock) { closing = true } + } else if (node.nodeType == 3) { + addText(node.nodeValue) + } + } + for (;;) { + walk(from) + if (from == to) { break } + from = from.nextSibling + } + return text +} + +function domToPos(cm, node, offset) { + var lineNode + if (node == cm.display.lineDiv) { + lineNode = cm.display.lineDiv.childNodes[offset] + if (!lineNode) { return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true) } + node = null; offset = 0 + } else { + for (lineNode = node;; lineNode = lineNode.parentNode) { + if (!lineNode || lineNode == cm.display.lineDiv) { return null } + if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) { break } + } + } + for (var i = 0; i < cm.display.view.length; i++) { + var lineView = cm.display.view[i] + if (lineView.node == lineNode) + { return locateNodeInLineView(lineView, node, offset) } + } +} + +function locateNodeInLineView(lineView, node, offset) { + var wrapper = lineView.text.firstChild, bad = false + if (!node || !contains(wrapper, node)) { return badPos(Pos(lineNo(lineView.line), 0), true) } + if (node == wrapper) { + bad = true + node = wrapper.childNodes[offset] + offset = 0 + if (!node) { + var line = lineView.rest ? lst(lineView.rest) : lineView.line + return badPos(Pos(lineNo(line), line.text.length), bad) + } + } + + var textNode = node.nodeType == 3 ? node : null, topNode = node + if (!textNode && node.childNodes.length == 1 && node.firstChild.nodeType == 3) { + textNode = node.firstChild + if (offset) { offset = textNode.nodeValue.length } + } + while (topNode.parentNode != wrapper) { topNode = topNode.parentNode } + var measure = lineView.measure, maps = measure.maps + + function find(textNode, topNode, offset) { + for (var i = -1; i < (maps ? maps.length : 0); i++) { + var map = i < 0 ? measure.map : maps[i] + for (var j = 0; j < map.length; j += 3) { + var curNode = map[j + 2] + if (curNode == textNode || curNode == topNode) { + var line = lineNo(i < 0 ? lineView.line : lineView.rest[i]) + var ch = map[j] + offset + if (offset < 0 || curNode != textNode) { ch = map[j + (offset ? 1 : 0)] } + return Pos(line, ch) + } + } + } + } + var found = find(textNode, topNode, offset) + if (found) { return badPos(found, bad) } + + // FIXME this is all really shaky. might handle the few cases it needs to handle, but likely to cause problems + for (var after = topNode.nextSibling, dist = textNode ? textNode.nodeValue.length - offset : 0; after; after = after.nextSibling) { + found = find(after, after.firstChild, 0) + if (found) + { return badPos(Pos(found.line, found.ch - dist), bad) } + else + { dist += after.textContent.length } + } + for (var before = topNode.previousSibling, dist$1 = offset; before; before = before.previousSibling) { + found = find(before, before.firstChild, -1) + if (found) + { return badPos(Pos(found.line, found.ch + dist$1), bad) } + else + { dist$1 += before.textContent.length } + } +} + +// TEXTAREA INPUT STYLE + +var TextareaInput = function(cm) { + this.cm = cm + // See input.poll and input.reset + this.prevInput = "" + + // Flag that indicates whether we expect input to appear real soon + // now (after some event like 'keypress' or 'input') and are + // polling intensively. + this.pollingFast = false + // Self-resetting timeout for the poller + this.polling = new Delayed() + // Used to work around IE issue with selection being forgotten when focus moves away from textarea + this.hasSelection = false + this.composing = null +}; + +TextareaInput.prototype.init = function (display) { + var this$1 = this; + + var input = this, cm = this.cm + + // Wraps and hides input textarea + var div = this.wrapper = hiddenTextarea() + // The semihidden textarea that is focused when the editor is + // focused, and receives input. + var te = this.textarea = div.firstChild + display.wrapper.insertBefore(div, display.wrapper.firstChild) + + // Needed to hide big blue blinking cursor on Mobile Safari (doesn't seem to work in iOS 8 anymore) + if (ios) { te.style.width = "0px" } + + on(te, "input", function () { + if (ie && ie_version >= 9 && this$1.hasSelection) { this$1.hasSelection = null } + input.poll() + }) + + on(te, "paste", function (e) { + if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return } + + cm.state.pasteIncoming = true + input.fastPoll() + }) + + function prepareCopyCut(e) { + if (signalDOMEvent(cm, e)) { return } + if (cm.somethingSelected()) { + setLastCopied({lineWise: false, text: cm.getSelections()}) + } else if (!cm.options.lineWiseCopyCut) { + return + } else { + var ranges = copyableRanges(cm) + setLastCopied({lineWise: true, text: ranges.text}) + if (e.type == "cut") { + cm.setSelections(ranges.ranges, null, sel_dontScroll) + } else { + input.prevInput = "" + te.value = ranges.text.join("\n") + selectInput(te) + } + } + if (e.type == "cut") { cm.state.cutIncoming = true } + } + on(te, "cut", prepareCopyCut) + on(te, "copy", prepareCopyCut) + + on(display.scroller, "paste", function (e) { + if (eventInWidget(display, e) || signalDOMEvent(cm, e)) { return } + cm.state.pasteIncoming = true + input.focus() + }) + + // Prevent normal selection in the editor (we handle our own) + on(display.lineSpace, "selectstart", function (e) { + if (!eventInWidget(display, e)) { e_preventDefault(e) } + }) + + on(te, "compositionstart", function () { + var start = cm.getCursor("from") + if (input.composing) { input.composing.range.clear() } + input.composing = { + start: start, + range: cm.markText(start, cm.getCursor("to"), {className: "CodeMirror-composing"}) + } + }) + on(te, "compositionend", function () { + if (input.composing) { + input.poll() + input.composing.range.clear() + input.composing = null + } + }) +}; + +TextareaInput.prototype.prepareSelection = function () { + // Redraw the selection and/or cursor + var cm = this.cm, display = cm.display, doc = cm.doc + var result = prepareSelection(cm) + + // Move the hidden textarea near the cursor to prevent scrolling artifacts + if (cm.options.moveInputWithCursor) { + var headPos = cursorCoords(cm, doc.sel.primary().head, "div") + var wrapOff = display.wrapper.getBoundingClientRect(), lineOff = display.lineDiv.getBoundingClientRect() + result.teTop = Math.max(0, Math.min(display.wrapper.clientHeight - 10, + headPos.top + lineOff.top - wrapOff.top)) + result.teLeft = Math.max(0, Math.min(display.wrapper.clientWidth - 10, + headPos.left + lineOff.left - wrapOff.left)) + } + + return result +}; + +TextareaInput.prototype.showSelection = function (drawn) { + var cm = this.cm, display = cm.display + removeChildrenAndAdd(display.cursorDiv, drawn.cursors) + removeChildrenAndAdd(display.selectionDiv, drawn.selection) + if (drawn.teTop != null) { + this.wrapper.style.top = drawn.teTop + "px" + this.wrapper.style.left = drawn.teLeft + "px" + } +}; + +// Reset the input to correspond to the selection (or to be empty, +// when not typing and nothing is selected) +TextareaInput.prototype.reset = function (typing) { + if (this.contextMenuPending || this.composing) { return } + var cm = this.cm + if (cm.somethingSelected()) { + this.prevInput = "" + var content = cm.getSelection() + this.textarea.value = content + if (cm.state.focused) { selectInput(this.textarea) } + if (ie && ie_version >= 9) { this.hasSelection = content } + } else if (!typing) { + this.prevInput = this.textarea.value = "" + if (ie && ie_version >= 9) { this.hasSelection = null } + } +}; + +TextareaInput.prototype.getField = function () { return this.textarea }; + +TextareaInput.prototype.supportsTouch = function () { return false }; + +TextareaInput.prototype.focus = function () { + if (this.cm.options.readOnly != "nocursor" && (!mobile || activeElt() != this.textarea)) { + try { this.textarea.focus() } + catch (e) {} // IE8 will throw if the textarea is display: none or not in DOM + } +}; + +TextareaInput.prototype.blur = function () { this.textarea.blur() }; + +TextareaInput.prototype.resetPosition = function () { + this.wrapper.style.top = this.wrapper.style.left = 0 +}; + +TextareaInput.prototype.receivedFocus = function () { this.slowPoll() }; + +// Poll for input changes, using the normal rate of polling. This +// runs as long as the editor is focused. +TextareaInput.prototype.slowPoll = function () { + var this$1 = this; + + if (this.pollingFast) { return } + this.polling.set(this.cm.options.pollInterval, function () { + this$1.poll() + if (this$1.cm.state.focused) { this$1.slowPoll() } + }) +}; + +// When an event has just come in that is likely to add or change +// something in the input textarea, we poll faster, to ensure that +// the change appears on the screen quickly. +TextareaInput.prototype.fastPoll = function () { + var missed = false, input = this + input.pollingFast = true + function p() { + var changed = input.poll() + if (!changed && !missed) {missed = true; input.polling.set(60, p)} + else {input.pollingFast = false; input.slowPoll()} + } + input.polling.set(20, p) +}; + +// Read input from the textarea, and update the document to match. +// When something is selected, it is present in the textarea, and +// selected (unless it is huge, in which case a placeholder is +// used). When nothing is selected, the cursor sits after previously +// seen text (can be empty), which is stored in prevInput (we must +// not reset the textarea when typing, because that breaks IME). +TextareaInput.prototype.poll = function () { + var this$1 = this; + + var cm = this.cm, input = this.textarea, prevInput = this.prevInput + // Since this is called a *lot*, try to bail out as cheaply as + // possible when it is clear that nothing happened. hasSelection + // will be the case when there is a lot of text in the textarea, + // in which case reading its value would be expensive. + if (this.contextMenuPending || !cm.state.focused || + (hasSelection(input) && !prevInput && !this.composing) || + cm.isReadOnly() || cm.options.disableInput || cm.state.keySeq) + { return false } + + var text = input.value + // If nothing changed, bail. + if (text == prevInput && !cm.somethingSelected()) { return false } + // Work around nonsensical selection resetting in IE9/10, and + // inexplicable appearance of private area unicode characters on + // some key combos in Mac (#2689). + if (ie && ie_version >= 9 && this.hasSelection === text || + mac && /[\uf700-\uf7ff]/.test(text)) { + cm.display.input.reset() + return false + } + + if (cm.doc.sel == cm.display.selForContextMenu) { + var first = text.charCodeAt(0) + if (first == 0x200b && !prevInput) { prevInput = "\u200b" } + if (first == 0x21da) { this.reset(); return this.cm.execCommand("undo") } + } + // Find the part of the input that is actually new + var same = 0, l = Math.min(prevInput.length, text.length) + while (same < l && prevInput.charCodeAt(same) == text.charCodeAt(same)) { ++same } + + runInOp(cm, function () { + applyTextInput(cm, text.slice(same), prevInput.length - same, + null, this$1.composing ? "*compose" : null) + + // Don't leave long text in the textarea, since it makes further polling slow + if (text.length > 1000 || text.indexOf("\n") > -1) { input.value = this$1.prevInput = "" } + else { this$1.prevInput = text } + + if (this$1.composing) { + this$1.composing.range.clear() + this$1.composing.range = cm.markText(this$1.composing.start, cm.getCursor("to"), + {className: "CodeMirror-composing"}) + } + }) + return true +}; + +TextareaInput.prototype.ensurePolled = function () { + if (this.pollingFast && this.poll()) { this.pollingFast = false } +}; + +TextareaInput.prototype.onKeyPress = function () { + if (ie && ie_version >= 9) { this.hasSelection = null } + this.fastPoll() +}; + +TextareaInput.prototype.onContextMenu = function (e) { + var input = this, cm = input.cm, display = cm.display, te = input.textarea + var pos = posFromMouse(cm, e), scrollPos = display.scroller.scrollTop + if (!pos || presto) { return } // Opera is difficult. + + // Reset the current text selection only if the click is done outside of the selection + // and 'resetSelectionOnContextMenu' option is true. + var reset = cm.options.resetSelectionOnContextMenu + if (reset && cm.doc.sel.contains(pos) == -1) + { operation(cm, setSelection)(cm.doc, simpleSelection(pos), sel_dontScroll) } + + var oldCSS = te.style.cssText, oldWrapperCSS = input.wrapper.style.cssText + input.wrapper.style.cssText = "position: absolute" + var wrapperBox = input.wrapper.getBoundingClientRect() + te.style.cssText = "position: absolute; width: 30px; height: 30px;\n top: " + (e.clientY - wrapperBox.top - 5) + "px; left: " + (e.clientX - wrapperBox.left - 5) + "px;\n z-index: 1000; background: " + (ie ? "rgba(255, 255, 255, .05)" : "transparent") + ";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);" + var oldScrollY + if (webkit) { oldScrollY = window.scrollY } // Work around Chrome issue (#2712) + display.input.focus() + if (webkit) { window.scrollTo(null, oldScrollY) } + display.input.reset() + // Adds "Select all" to context menu in FF + if (!cm.somethingSelected()) { te.value = input.prevInput = " " } + input.contextMenuPending = true + display.selForContextMenu = cm.doc.sel + clearTimeout(display.detectingSelectAll) + + // Select-all will be greyed out if there's nothing to select, so + // this adds a zero-width space so that we can later check whether + // it got selected. + function prepareSelectAllHack() { + if (te.selectionStart != null) { + var selected = cm.somethingSelected() + var extval = "\u200b" + (selected ? te.value : "") + te.value = "\u21da" // Used to catch context-menu undo + te.value = extval + input.prevInput = selected ? "" : "\u200b" + te.selectionStart = 1; te.selectionEnd = extval.length + // Re-set this, in case some other handler touched the + // selection in the meantime. + display.selForContextMenu = cm.doc.sel + } + } + function rehide() { + input.contextMenuPending = false + input.wrapper.style.cssText = oldWrapperCSS + te.style.cssText = oldCSS + if (ie && ie_version < 9) { display.scrollbars.setScrollTop(display.scroller.scrollTop = scrollPos) } + + // Try to detect the user choosing select-all + if (te.selectionStart != null) { + if (!ie || (ie && ie_version < 9)) { prepareSelectAllHack() } + var i = 0, poll = function () { + if (display.selForContextMenu == cm.doc.sel && te.selectionStart == 0 && + te.selectionEnd > 0 && input.prevInput == "\u200b") { + operation(cm, selectAll)(cm) + } else if (i++ < 10) { + display.detectingSelectAll = setTimeout(poll, 500) + } else { + display.selForContextMenu = null + display.input.reset() + } + } + display.detectingSelectAll = setTimeout(poll, 200) + } + } + + if (ie && ie_version >= 9) { prepareSelectAllHack() } + if (captureRightClick) { + e_stop(e) + var mouseup = function () { + off(window, "mouseup", mouseup) + setTimeout(rehide, 20) + } + on(window, "mouseup", mouseup) + } else { + setTimeout(rehide, 50) + } +}; + +TextareaInput.prototype.readOnlyChanged = function (val) { + if (!val) { this.reset() } + this.textarea.disabled = val == "nocursor" +}; + +TextareaInput.prototype.setUneditable = function () {}; + +TextareaInput.prototype.needsContentAttribute = false + +function fromTextArea(textarea, options) { + options = options ? copyObj(options) : {} + options.value = textarea.value + if (!options.tabindex && textarea.tabIndex) + { options.tabindex = textarea.tabIndex } + if (!options.placeholder && textarea.placeholder) + { options.placeholder = textarea.placeholder } + // Set autofocus to true if this textarea is focused, or if it has + // autofocus and no other element is focused. + if (options.autofocus == null) { + var hasFocus = activeElt() + options.autofocus = hasFocus == textarea || + textarea.getAttribute("autofocus") != null && hasFocus == document.body + } + + function save() {textarea.value = cm.getValue()} + + var realSubmit + if (textarea.form) { + on(textarea.form, "submit", save) + // Deplorable hack to make the submit method do the right thing. + if (!options.leaveSubmitMethodAlone) { + var form = textarea.form + realSubmit = form.submit + try { + var wrappedSubmit = form.submit = function () { + save() + form.submit = realSubmit + form.submit() + form.submit = wrappedSubmit + } + } catch(e) {} + } + } + + options.finishInit = function (cm) { + cm.save = save + cm.getTextArea = function () { return textarea; } + cm.toTextArea = function () { + cm.toTextArea = isNaN // Prevent this from being ran twice + save() + textarea.parentNode.removeChild(cm.getWrapperElement()) + textarea.style.display = "" + if (textarea.form) { + off(textarea.form, "submit", save) + if (typeof textarea.form.submit == "function") + { textarea.form.submit = realSubmit } + } + } + } + + textarea.style.display = "none" + var cm = CodeMirror(function (node) { return textarea.parentNode.insertBefore(node, textarea.nextSibling); }, + options) + return cm +} + +function addLegacyProps(CodeMirror) { + CodeMirror.off = off + CodeMirror.on = on + CodeMirror.wheelEventPixels = wheelEventPixels + CodeMirror.Doc = Doc + CodeMirror.splitLines = splitLinesAuto + CodeMirror.countColumn = countColumn + CodeMirror.findColumn = findColumn + CodeMirror.isWordChar = isWordCharBasic + CodeMirror.Pass = Pass + CodeMirror.signal = signal + CodeMirror.Line = Line + CodeMirror.changeEnd = changeEnd + CodeMirror.scrollbarModel = scrollbarModel + CodeMirror.Pos = Pos + CodeMirror.cmpPos = cmp + CodeMirror.modes = modes + CodeMirror.mimeModes = mimeModes + CodeMirror.resolveMode = resolveMode + CodeMirror.getMode = getMode + CodeMirror.modeExtensions = modeExtensions + CodeMirror.extendMode = extendMode + CodeMirror.copyState = copyState + CodeMirror.startState = startState + CodeMirror.innerMode = innerMode + CodeMirror.commands = commands + CodeMirror.keyMap = keyMap + CodeMirror.keyName = keyName + CodeMirror.isModifierKey = isModifierKey + CodeMirror.lookupKey = lookupKey + CodeMirror.normalizeKeyMap = normalizeKeyMap + CodeMirror.StringStream = StringStream + CodeMirror.SharedTextMarker = SharedTextMarker + CodeMirror.TextMarker = TextMarker + CodeMirror.LineWidget = LineWidget + CodeMirror.e_preventDefault = e_preventDefault + CodeMirror.e_stopPropagation = e_stopPropagation + CodeMirror.e_stop = e_stop + CodeMirror.addClass = addClass + CodeMirror.contains = contains + CodeMirror.rmClass = rmClass + CodeMirror.keyNames = keyNames +} + +// EDITOR CONSTRUCTOR + +defineOptions(CodeMirror) + +addEditorMethods(CodeMirror) + +// Set up methods on CodeMirror's prototype to redirect to the editor's document. +var dontDelegate = "iter insert remove copy getEditor constructor".split(" ") +for (var prop in Doc.prototype) { if (Doc.prototype.hasOwnProperty(prop) && indexOf(dontDelegate, prop) < 0) + { CodeMirror.prototype[prop] = (function(method) { + return function() {return method.apply(this.doc, arguments)} + })(Doc.prototype[prop]) } } + +eventMixin(Doc) + +// INPUT HANDLING + +CodeMirror.inputStyles = {"textarea": TextareaInput, "contenteditable": ContentEditableInput} + +// MODE DEFINITION AND QUERYING + +// Extra arguments are stored as the mode's dependencies, which is +// used by (legacy) mechanisms like loadmode.js to automatically +// load a mode. (Preferred mechanism is the require/define calls.) +CodeMirror.defineMode = function(name/*, mode, …*/) { + if (!CodeMirror.defaults.mode && name != "null") { CodeMirror.defaults.mode = name } + defineMode.apply(this, arguments) +} + +CodeMirror.defineMIME = defineMIME + +// Minimal default mode. +CodeMirror.defineMode("null", function () { return ({token: function (stream) { return stream.skipToEnd(); }}); }) +CodeMirror.defineMIME("text/plain", "null") + +// EXTENSIONS + +CodeMirror.defineExtension = function (name, func) { + CodeMirror.prototype[name] = func +} +CodeMirror.defineDocExtension = function (name, func) { + Doc.prototype[name] = func +} + +CodeMirror.fromTextArea = fromTextArea + +addLegacyProps(CodeMirror) + +CodeMirror.version = "5.33.0" + +return CodeMirror; + +}))); \ No newline at end of file Property changes on: base3.10/src/main/webapp/resource/editor/codemirror/lib/codemirror.js ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/pom.xml =================================================================== --- base3.10/pom.xml (nonexistent) +++ base3.10/pom.xml (revision 7) @@ -0,0 +1,852 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>egovframework</groupId> + <artifactId>common</artifactId> + <packaging>war</packaging> + <version>3.10.0</version> + <name>common component</name> + <url>http://www.egovframe.go.kr</url> + + <licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + </license> + </licenses> + <properties> + <spring.maven.artifact.version>4.3.25.RELEASE</spring.maven.artifact.version> + <egovframework.rte.version>3.10.0</egovframework.rte.version> + <apachetiles.version>3.0.8</apachetiles.version> + </properties> + + <repositories> + <repository> + <id>mvn2s</id> + <url>https://repo1.maven.org/maven2/</url> + <releases> + <enabled>true</enabled> + </releases> + <snapshots> + <enabled>true</enabled> + </snapshots> + </repository> + <repository> + <id>egovframe</id> + <url>http://maven.egovframe.go.kr/maven/</url> + <releases> + <enabled>true</enabled> + </releases> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + <repository> + <id>egovframe_old1</id> + <url>http://maven.egovframe.kr:8080/maven/</url> + <releases> + <enabled>true</enabled> + </releases> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + <repository> + <id>egovframe_old2</id> + <url>http://www.egovframe.go.kr/maven/</url> + <releases> + <enabled>true</enabled> + </releases> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + </repositories> + + <dependencies> + <!-- 실행환경 라이브러리 --> + <!-- + mybatis를 사용하는 데 jdk1.5로 컴파일 할 경우 아래와 같이 변경해 주시기 바랍니다. + (3.2.X 버전에서 부터 jdk1.6으로 컴파일 되어 발생하는 현상) + <dependency> + <groupId>egovframework.rte</groupId> + <artifactId>egovframework.rte.psl.dataaccess</artifactId> + <version>${egovframework.rte.version}</version> + <exclusions> + <exclusion> + <artifactId>mybatis</artifactId> + <groupId>org.mybatis</groupId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.mybatis</groupId> + <artifactId>mybatis</artifactId> + <version>3.1.1</version> + </dependency> + --> + <dependency> + <groupId>egovframework.rte</groupId> + <artifactId>egovframework.rte.fdl.idgnr</artifactId> + <version>${egovframework.rte.version}</version> + </dependency> + + <!-- + JBoss의 경우는 <body-context>부분을 empty로 수정하여 적용하시면 되며, + pom.xml을 아래와 같이 적용하시면 수정된 jar를 참조하실 수 있습니다. + (기존 egovframework.rte.ptl.mvc dependency에 내부적으로 참조되고 있어, + 해당 부분을 exclude 처리해야 함) + 아래 주석을 해제하시면 됩니다. + --> + <dependency> + <groupId>egovframework.rte</groupId> + <artifactId>egovframework.rte.ptl.mvc</artifactId> + <version>${egovframework.rte.version}</version> + <!-- <exclusions> + <exclusion> + <groupId>org.springmodules</groupId> + <artifactId>spring-modules-validation</artifactId> + </exclusion> + <exclusions> --> + </dependency> + <!-- <dependency> + <groupId>egovframework.rte</groupId> + <artifactId>spring-modules-validation</artifactId> + <version>0.9</version> + </dependency> --> + <dependency> + <groupId>egovframework.rte</groupId> + <artifactId>egovframework.rte.fdl.property</artifactId> + <version>${egovframework.rte.version}</version> + </dependency> + <dependency> + <groupId>egovframework.rte</groupId> + <artifactId>egovframework.rte.fdl.security</artifactId> + <version>${egovframework.rte.version}</version> + </dependency> + <dependency> + <groupId>egovframework.rte</groupId> + <artifactId>egovframework.rte.fdl.excel</artifactId> + <version>${egovframework.rte.version}</version> + </dependency> + <dependency> + <groupId>egovframework.rte</groupId> + <artifactId>egovframework.rte.bat.core</artifactId> + <version>${egovframework.rte.version}</version> + <exclusions> + <exclusion> + <artifactId>log4j-core</artifactId> + <groupId>org.apache.logging.log4j</groupId> + </exclusion> + <exclusion> + <artifactId>log4j-slf4j-impl</artifactId> + <groupId>org.apache.logging.log4j</groupId> + </exclusion> + <exclusion> + <artifactId>log4j-over-slf4j</artifactId> + <groupId>org.slf4j</groupId> + </exclusion> + <exclusion> + <artifactId>commons-logging</artifactId> + <groupId>commons-logging</groupId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>egovframework.rte</groupId> + <artifactId>egovframework.rte.fdl.crypto</artifactId> + <version>${egovframework.rte.version}</version> + </dependency> + <dependency> + <groupId>egovframework.rte</groupId> + <artifactId>egovframework.rte.fdl.access</artifactId> + <version>${egovframework.rte.version}</version> + </dependency> + <!-- 실행환경 라이브러리 끝 --> + + <dependency> + <groupId>org.lazyluke</groupId> + <artifactId>log4jdbc-remix</artifactId> + <version>0.2.7</version> + </dependency> + <!-- <dependency> + <groupId>com.googlecode.log4jdbc</groupId> + <artifactId>log4jdbc</artifactId> + <version>1.2</version> + <exclusions> + <exclusion> + <artifactId>slf4j-api</artifactId> + <groupId>org.slf4j</groupId> + </exclusion> + </exclusions> + </dependency> --> + + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-dbcp2</artifactId> + <version>2.4.0</version> + </dependency> + + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>jstl</artifactId> + <version>1.2</version> + </dependency> + + <dependency> + <groupId>taglibs</groupId> + <artifactId>standard</artifactId> + <version>1.1.2</version> + </dependency> + <!-- + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>servlet-api</artifactId> + <version>2.5</version> + <scope>provided</scope> + </dependency> + --> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>javax.servlet-api</artifactId> + <version>3.1.0</version> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>org.jasypt</groupId> + <artifactId>jasypt</artifactId> + <version>1.9.3</version> + </dependency> + + <dependency> + <groupId>cglib</groupId> + <artifactId>cglib</artifactId> + <version>3.3.0</version> + </dependency> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-compress</artifactId> + <!-- <version>1.8.1</version> --> + <version>1.19</version> + </dependency> + <dependency> + <groupId>xerces</groupId> + <artifactId>xercesImpl</artifactId> + <version>2.12.0</version> + </dependency> + + <!-- cache --> + <!-- <dependency> + <groupId>net.sf.ehcache</groupId> + <artifactId>ehcache-core</artifactId> + <version>2.6.9</version> + <exclusions> + <exclusion> + <artifactId>slf4j-api</artifactId> + <groupId>org.slf4j</groupId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>net.sf.ehcache</groupId> + <artifactId>ehcache</artifactId> + <version>2.9.0</version> + </dependency> --> + <!-- cache end --> + + <!-- Scheduling --> + <dependency> + <groupId>org.quartz-scheduler</groupId> + <artifactId>quartz</artifactId> + <version>2.3.2</version> + <exclusions> + <exclusion> + <artifactId>slf4j-api</artifactId> + <groupId>org.slf4j</groupId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.quartz-scheduler</groupId> + <artifactId>quartz-jobs</artifactId> + <version>2.3.2</version> + </dependency> + <!-- Scheduling end--> + + <!-- 공통컴포넌트 시작 --> + + <!-- Validation 에서 사용 antlr.TokenStream --> + <dependency> + <groupId>org.antlr</groupId> + <artifactId>antlr</artifactId> + <version>3.5</version> + </dependency> + + <!-- 우편번호를 위한 라이브러리 --> + <dependency> + <groupId>oro</groupId> + <artifactId>oro</artifactId> + <version>2.0.8</version> + </dependency> + + <!-- 요소기술 달력을 위한 라이브러리 --> + <dependency> + <groupId>com.ibm.icu</groupId> + <artifactId>icu4j</artifactId> + <version>53.1</version> + </dependency> + + <!-- FTP용 3rd party 라이브러리 --> + <dependency> + <groupId>commons-net</groupId> + <artifactId>commons-net</artifactId> + <version>3.6</version> + </dependency> + + <!-- Email --> + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-email</artifactId> + <version>1.5</version> + </dependency> + <dependency> + <groupId>egovframework.com.ems</groupId> + <artifactId>sndng-mail</artifactId> + <version>1.0</version> + </dependency> + + <!-- Cross-Site Scripting --> + <dependency> + <groupId>javax.servlet.jsp</groupId> + <artifactId>javax.servlet.jsp-api</artifactId> + <version>2.3.3</version> + <scope>provided</scope> + </dependency> + + <!-- LDAP SDK --> + <dependency> + <groupId>ldapsdk</groupId> + <artifactId>ldapsdk</artifactId> + <version>4.1</version> + </dependency> + + <!-- PDF변환용 라이브러리 --> + <dependency> + <groupId>com.artofsolving</groupId> + <artifactId>jodconverter</artifactId> + <version>2.2.1</version> + <exclusions> + <exclusion> + <artifactId>slf4j-api</artifactId> + <groupId>org.slf4j</groupId> + </exclusion> + <exclusion> + <artifactId>commons-io</artifactId> + <groupId>commons-io</groupId> + </exclusion> + </exclusions> + </dependency> + + <!-- XML스키마를 자바클래스로 생성하는 라이브러리 --> + <!-- <dependency> + <groupId>xmlbeans</groupId> + <artifactId>xbean</artifactId> + <version>2.2.0</version> + </dependency> --> + + <!-- fileupload --> + <dependency> + <groupId>commons-fileupload</groupId> + <artifactId>commons-fileupload</artifactId> + <version>1.3.3</version> + <exclusions> + <exclusion> + <artifactId>commons-io</artifactId> + <groupId>commons-io</groupId> + </exclusion> + </exclusions> + </dependency> + + <!-- Twitter --> + <dependency> + <groupId>org.twitter4j</groupId> + <artifactId>twitter4j-core</artifactId> + <version>4.0.7</version> + </dependency> + + <!-- Ajax --> + <dependency> + <groupId>net.sourceforge.ajaxtags</groupId> + <artifactId>ajaxtags-resources</artifactId> + <version>1.5.7</version> + </dependency> + + <!-- WYSIWYG Editor --> + <dependency> + <groupId>com.ckeditor</groupId> + <artifactId>ckeditor-java-core</artifactId> + <version>3.5.3</version> + </dependency> + + <!-- xmlParserAPI --> + <dependency> + <groupId>org.apache.xmlgraphics</groupId> + <artifactId>batik-ext</artifactId> + <version>1.7</version> + </dependency> + + <!-- facebook 연동시 추가 --> + <dependency> + <groupId>org.springframework.social</groupId> + <artifactId>spring-social-facebook</artifactId> + <version>2.0.3.RELEASE</version> + <exclusions> + <exclusion> + <artifactId>spring-web</artifactId> + <groupId>org.springframework</groupId> + </exclusion> + <exclusion> + <artifactId>spring-webmvc</artifactId> + <groupId>org.springframework</groupId> + </exclusion> + </exclusions> + </dependency> + + <!-- oauth2 login --> + <dependency> + <groupId>com.github.scribejava</groupId> + <artifactId>scribejava-apis</artifactId> + <version>5.6.0</version> + </dependency> + + <dependency> + <groupId>com.github.scribejava</groupId> + <artifactId>scribejava-core</artifactId> + <version>5.6.0</version> + </dependency> + + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + <version>4.3.6</version> + <exclusions> + <exclusion> + <artifactId>commons-logging</artifactId> + <groupId>commons-logging</groupId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>com.h2database</groupId> + <artifactId>h2</artifactId> + <version>1.4.180</version> + </dependency> + + <!-- WebSocket Messenger --> + <dependency> + <groupId>javax.websocket</groupId> + <artifactId>javax.websocket-api</artifactId> + <version>1.0</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.glassfish</groupId> + <artifactId>javax.json</artifactId> + <version>1.0.4</version> + </dependency> + + <!-- ajax json --> + <!-- social에서 참조 하고 있어 임시 주석 처리 --> + <!-- + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-core</artifactId> + <version>2.5.1</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-annotations</artifactId> + <version>2.5.1</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <version>2.5.1</version> + </dependency> + --> + + <!-- LDAP조직도관리 관련 라이브러리 --> + <dependency> + <groupId>org.springframework.ldap</groupId> + <artifactId>spring-ldap-core</artifactId> + <version>2.0.2.RELEASE</version> + <exclusions> + <exclusion> + <groupId>org.springframework</groupId> + <artifactId>spring-beans</artifactId> + </exclusion> + <exclusion> + <groupId>org.springframework</groupId> + <artifactId>spring-core</artifactId> + </exclusion> + <exclusion> + <groupId>org.springframework</groupId> + <artifactId>spring-tx</artifactId> + </exclusion> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + </exclusion> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.codehaus.jackson</groupId> + <artifactId>jackson-mapper-asl</artifactId> + <version>1.9.13</version> + </dependency> + + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + <version>5.1.31</version> + </dependency> + + <dependency> + <groupId>org.mariadb.jdbc</groupId> + <artifactId>mariadb-java-client</artifactId> + <version>2.2.5</version> + </dependency> + + + <dependency> + <groupId>org.postgresql</groupId> + <artifactId>postgresql</artifactId> + <version>42.3.1</version> + </dependency> + + <!-- 3rd party 라이브러리로 별도의 설치 필요 --> + <!-- oracle 11g driver --> + <!-- + <dependency> + <groupId>ojdbc</groupId> + <artifactId>ojdbc</artifactId> + <version>6-11</version> + <scope>system</scope> + <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/ojdbc6-11.2.0.3.jar</systemPath> + </dependency> + --> + <!-- altibase driver --> + <!-- + <dependency> + <groupId>altibase</groupId> + <artifactId>altibase-jdbc-driver</artifactId> + <version>7.1.0</version> + <scope>system</scope> + <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/Altibase.jar</systemPath> + </dependency> + --> + <!-- tibero driver --> + <!-- + <dependency> + <groupId>com.tmax.tibero</groupId> + <artifactId>tibero-jdbc</artifactId> + <version>5.0</version> + <scope>system</scope> + <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/tibero5-jdbc.jar</systemPath> + </dependency> + --> + <!-- cubrid driver --> + <!-- + <dependency> + <groupId>cubrid</groupId> + <artifactId>cubrid-jdbc</artifactId> + <version>10.2</version> + <scope>system</scope> + <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/JDBC-10.2-latest-cubrid.jar</systemPath> + </dependency> + --> + <!-- M-Gov (SMS Service API) --> + <dependency> + <groupId>kr.go.mgov</groupId> + <artifactId>smeapi</artifactId> + <version>2.7</version> + <scope>system</scope> + <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/smeapi_2_7.jar</systemPath> + </dependency> + <!-- GPKI인증서 로그인처리 라이브러리 --> + <dependency> + <groupId>kr.go.gpki</groupId> + <artifactId>gpkisecureweb</artifactId> + <version>1.0.4.9</version> + <scope>system</scope> + <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/gpkisecureweb-1.0.4.9.jar</systemPath> + </dependency> + <dependency> + <groupId>kr.go.gpki</groupId> + <artifactId>libgpkiapi_jni</artifactId> + <version>1.4.0.0</version> + <scope>system</scope> + <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/libgpkiapi_jni-1.4.0.0.jar</systemPath> + </dependency> + <!-- 3rd party 라이브러리로 별도의 설치 필요 끝 --> + + <!-- 공통컴포넌트 끝 --> + + <dependency> + <groupId>com.google.code.gson</groupId> + <artifactId>gson</artifactId> + <version>2.8.9</version> + </dependency> + <!-- froala editor required 시작 --> + <dependency> + <groupId>com.mortennobel</groupId> + <artifactId>java-image-scaling</artifactId> + <version>0.8.5</version> + </dependency> + <dependency> + <groupId>net.coobird</groupId> + <artifactId>thumbnailator</artifactId> + <version>0.4.8</version> + </dependency> + <dependency> + <groupId>org.apache.tika</groupId> + <artifactId>tika-core</artifactId> + <version>1.6</version> + </dependency> + <!-- froala editor required 끝 --> + <!-- pdf 이미지 변환 --> + <dependency> + <groupId>org.apache.pdfbox</groupId> + <artifactId>pdfbox</artifactId> + <version>2.0.25</version> + </dependency> + <!-- Apache Tiles START --> + <dependency> + <groupId>org.apache.tiles</groupId> + <artifactId>tiles-core</artifactId> + <version>${apachetiles.version}</version> + </dependency> + <dependency> + <groupId>org.apache.tiles</groupId> + <artifactId>tiles-api</artifactId> + <version>${apachetiles.version}</version> + </dependency> + <dependency> + <groupId>org.apache.tiles</groupId> + <artifactId>tiles-servlet</artifactId> + <version>${apachetiles.version}</version> + </dependency> + <dependency> + <groupId>org.apache.tiles</groupId> + <artifactId>tiles-jsp</artifactId> + <version>${apachetiles.version}</version> + </dependency> + <!-- Apache Tiles END --> + <!-- db connector --> + <dependency> + <groupId>com.zaxxer</groupId> + <artifactId>HikariCP</artifactId> + <version>2.6.3</version> + </dependency> + + <!-- logback 관련 라이브러리 등록 --> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-core</artifactId> + <version>1.2.3</version> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + <version>1.2.3</version> + </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>jcl-over-slf4j</artifactId> + <version>1.7.21</version> + </dependency> + + <!-- Lucy XSS Filter --> + <dependency> + <groupId>com.navercorp.lucy</groupId> + <artifactId>lucy-xss-servlet</artifactId> + <version>2.0.0</version> + </dependency> + </dependencies> + <build> + <defaultGoal>install</defaultGoal> + <directory>${basedir}/target</directory> + <finalName>egovframework-all-in-one</finalName> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.tomcat.maven</groupId> + <artifactId>tomcat7-maven-plugin</artifactId> + <version>2.2</version> + <configuration> + <port>80</port> + <path>/</path> + <systemProperties> + <JAVA_OPTS>-Xms256m -Xmx768m -XX:MaxPermSize=256m</JAVA_OPTS> + </systemProperties> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <source>1.7</source> + <target>1.7</target> + <encoding>UTF-8</encoding> + </configuration> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>hibernate3-maven-plugin</artifactId> + <version>3.0</version> + <configuration> + <components> + <component> + <name>hbm2ddl</name> + <implementation>annotationconfiguration</implementation> + </component> + </components> + </configuration> + <dependencies> + <dependency> + <groupId>org.hsqldb</groupId> + <artifactId>hsqldb</artifactId> + <version>2.5.0</version> + </dependency> + </dependencies> + </plugin> + <!-- EMMA --> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>emma-maven-plugin</artifactId> + <version>1.0-alpha-3</version> + </plugin> + <!-- PMD manven plugin --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-pmd-plugin</artifactId> + <version>3.12.0</version> + </plugin> + </plugins> + </pluginManagement> + <plugins> + <!-- EMMA --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + <configuration> + <skipTests>false</skipTests> + <forkMode>once</forkMode> + <reportFormat>xml</reportFormat> + <excludes> + <exclude>**/Abstract*.java</exclude> + <exclude>**/*Suite.java</exclude> + </excludes> + <includes> + <include>**/*Test.java</include> + </includes> + </configuration> + </plugin> + <!-- docker server 배포 + <plugin> + <groupId>org.apache.tomcat.maven</groupId> + <artifactId>tomcat7-maven-plugin</artifactId> + <version>2.2</version> + <configuration> + <url>http://192.168.100.251:8086/manager/text</url> + <username>tomcat</username> + <password>tomcat</password> + <path>/</path> + <warFile>target\egovframework-all-in-one.war</warFile> + <update>true</update> + </configuration> + </plugin> + --> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>emma-maven-plugin</artifactId> + <inherited>true</inherited> + </plugin> + <!-- JavaDoc --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <version>3.1.1</version> + </plugin> + </plugins> + </build> + <reporting> + <outputDirectory>${basedir}/target/site</outputDirectory> + <plugins> + <plugin> + <artifactId>maven-project-info-reports-plugin</artifactId> + <version>3.0.0</version> + <reportSets> + <reportSet> + <id>sunlink</id> + <reports> + <report>javadoc</report> + </reports> + <inherited>true</inherited> + <configuration> + <links> + <link>http://docs.oracle.com/javase/6/docs/api/</link> + </links> + </configuration> + </reportSet> + </reportSets> + </plugin> + <!-- JUnit Test Results & EMMA Coverage Reporting --> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>emma-maven-plugin</artifactId> + <inherited>true</inherited> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>surefire-report-maven-plugin</artifactId> + <inherited>true</inherited> + <reportSets> + <reportSet> + <reports> + <report>report-only</report> + </reports> + </reportSet> + </reportSets> + </plugin> + <!-- Generating JavaDoc Report --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <configuration> + <minmemory>128m</minmemory> + <maxmemory>512m</maxmemory> + <encoding>${encoding}</encoding> + <docencoding>${encoding}</docencoding> + <charset>${encoding}</charset> + </configuration> + </plugin> + <!-- Generating Java Source in HTML --> + <plugin> + <artifactId>maven-jxr-plugin</artifactId> + <configuration> + <inputEncoding>${encoding}</inputEncoding> + <outputEncoding>${encoding}</outputEncoding> + <linkJavadoc>true</linkJavadoc> + <javadocDir>apidocs</javadocDir> + </configuration> + </plugin> + </plugins> + </reporting> +</project> Property changes on: base3.10/pom.xml ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder.launch =================================================================== --- base3.10/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder.launch (nonexistent) +++ base3.10/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder.launch (revision 7) @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<launchConfiguration type="org.eclipse.ant.AntBuilderLaunchConfigurationType"> +<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_BUILDER_ENABLED" value="false"/> +<stringAttribute key="org.eclipse.ui.externaltools.ATTR_DISABLED_BUILDER" value="org.eclipse.wst.validation.validationbuilder"/> +<mapAttribute key="org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS"/> +<booleanAttribute key="org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED" value="true"/> +</launchConfiguration> Property changes on: base3.10/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder.launch ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/.project =================================================================== --- base3.10/.project (nonexistent) +++ base3.10/.project (revision 7) @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>base</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.common.project.facet.core.builder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name> + <triggers>full,incremental,</triggers> + <arguments> + <dictionary> + <key>LaunchConfigHandle</key> + <value>&lt;project&gt;/.externalToolBuilders/org.eclipse.wst.validation.validationbuilder.launch</value> + </dictionary> + </arguments> + </buildCommand> + <buildCommand> + <name>org.springframework.ide.eclipse.core.springbuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.springframework.ide.eclipse.boot.validation.springbootbuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.m2e.core.maven2Builder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> + <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> + <nature>org.eclipse.m2e.core.maven2Nature</nature> + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.springframework.ide.eclipse.core.springnature</nature> + <nature>egovframework.dev.imp.ide.natures.egovnature</nature> + <nature>org.eclipse.wst.jsdt.core.jsNature</nature> + </natures> +</projectDescription> Property changes on: base3.10/.project ___________________________________________________________________ Added: svn:mime-type + text/plain Index: base3.10/script/dml/altibase/com_DML_altibase.sql =================================================================== --- base3.10/script/dml/altibase/com_DML_altibase.sql (nonexistent) +++ base3.10/script/dml/altibase/com_DML_altibase.sql (revision 7) @@ -0,0 +1,1022 @@ +-- ID Generator +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADBKUSER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADBK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADMINIST_WORD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADMIN_CODE_OPERT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ANN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BACKUP_OPERT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BACKUP_RESULT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BANNER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_OPERT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_RESULT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BBS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CLB_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CMMNTY_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNSLT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTC_MESSAGE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTNTS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('COMTECOPSEQ', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CPYRHT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CTSNN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DAM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DB_MNTRNG_LOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DEPT_JOB_BX_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DEPT_JOB_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DIARY_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DUS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EVENTINFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EVENT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EXTRLHRINFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FAQ_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILESYS_LOGID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILESYS_MNTRNG', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('GROUP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HPCM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HTTL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HTTP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INDVDL_INFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INFRML_SANCTN', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INSTT_CODE_OPERT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INSTT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ISG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ITEM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('KNO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('KNO_ID2', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LEADER_SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LOGINLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LSI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MAILMSG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MEMO_REPRT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MEMO_TODO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MSI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MTG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MTG_PLACE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NCRD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NEWS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_RECPTN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_TRNSMIT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTWRKSVC_LOGID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTWRK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ONLINE_MUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_IEM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_MGR_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_RUT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POPUP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROXYLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROXYSVC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QA_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESITM_', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESRSPNS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESTNR_QESITM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESTNR_RPD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QUSTNRQESTN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QUSTNRTMPLA_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RECOMEND_SITE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RESTDE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RESVE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ROLE_ID', 20); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RSS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RWARD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SCRAP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SERVER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SEVEQ_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SITE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SMS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_MANAGEID', 2); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_MANAGE_I', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SVCRESMONTLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SVC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYNCHRNSERVER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYSLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TEST1', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TMPLAT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TROBL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TRSMRCVLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TR_MNTRNG_LOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('UNITY_LINK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('USE_STPLAT_ID', 3); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('USRCNFRM_ID', 3); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WEBLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WIKI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WIKMNTHNG_REPRT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WORD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ORGNZT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ANSWER_NO', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('STSFDG_NO', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ROUGHMAP_ID', 1); + +-- 공통분류코드 +INSERT INTO COMTCCMMNCLCODE(CL_CODE, CL_CODE_NM, CL_CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', '전자정부 프레임워크 공통서비스', '전자정부 프레임워크 공통서비스', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); + +-- 공통코드 +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM001', '등록구분', '게시판, 커뮤니티, 동호회 등록구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM002', '이력구분', '시스템이력등록구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM003', '업무구분', '업무구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM005', '템플릿유형', '템플릿유형구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM006', '승인유형', '동호회, 커뮤니티 승인 유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM007', '승인상태', '동호회, 커뮤니티 승인 상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM008', '처리상태', '송수신 요청의 처리상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM009', '게시판속성', '게시판 속성', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM010', '권한유형', '시스템을 사용하기 위한 권한 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM011', '롤유형', '시스템의 기능을 사용하기 위한 롤 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM012', '회원유형', '일반/기업/업무담당자를 구현하기 위한 사용자 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM013', '회원상태', '회원 가입 신청/승인/삭제를 위한 상태 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM014', '성별구분', '남녀 성별 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM015', '인증방식유형', '주민등록번호 인증, Gpin 인증과 같은 사용자 인증 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM016', '변경요청처리 상태', '프로그램 변경의 요청/처리 등의 변경요청 상태 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM017', '휴일구분', '휴일의 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM018', '질문유형', '질문유형 객관식/주관식 상태구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM019', '일정중요도', '일정중요도 낮음/보통/높음 상태구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM020', '일정구분', '일정구분 부서일지정보/일지정보 상태구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM021', '도움말구분', '도움말 설명 구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM022', '비밀번호 힌트', '비밀번호 힌트 구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM023', '사이트주제분류', '사이트주제분류 설명 구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM024', '발송결과구분', '발송메일 수신결과 구분 코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM025', '소속기관', '소속기관정보를 관리할때 사용하는 구분코드(시스템별로 재정의)', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM026', '기업구분', '기업구분정보를 관리할때 사용하는 구분코드(시스템별로 재정의)', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM027', '업종', '대표업종코드(시스템별로 재정의)', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM028', '질의응답처리상태', 'Q/A 처리상태코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM029', '롤유형코드', '', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM030', '일정구분', '일정구분 코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM031', '반복구분', '일정 반복구분 코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM032', '작업유형', '승인이력 작업유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM033', '시스템로그구분', '', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM034', '직업유형', '직업유형코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM035', '행사유형', '행사/이벤트/캠페인 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM036', '보고서 진행상태코드', '보고서의 진행상태를 코드화 하여 관리한다.', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM038', '온라인POLL페기유무', '온라인POLL-온라인POLL페기유무', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM039', '온라인POLL구분', '온라인POLL-온온라인POLL구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM040', '보고서 종류코드', '보고서 종류코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM041', '온라인메뉴얼구분', '온라인메누얼-온라인메뉴얼구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM042', '보고서통계기간구분', '보고서통계기간구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM043', '기관코드변경구분', '기관코드변경구분', 'Y', SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM044', '기관코드수신처리구분', '기관코드수신처리구분', 'Y', SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM045', '사용여부', '사용여부', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM046', '모니터링상태구분', '모니터링상태구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM047', '실행주기구분', '실행주기구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM048', 'DBMS종류', 'DBMS종류', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM049', '압축구분', '압축구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM050', '수신구분', '쪽지관리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM051', '승인여부', '승인여부구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM052', '달력구분', '달력구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM053', '행사구분', '행사구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM054', '경조구분', '경조구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM055', '포상구분', '포상구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM056', '휴가구분', '휴가구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM057', '일정구분', '일정구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM058', '반복구분코드', '반복구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM059', '우선순위', '우선순위', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM060', '보고서구분', '보고서구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM061', '간부상태', '간부상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM062', ' HTTP상태코드', 'HTTP상태코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM063', '상태관리', '상태관리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM064', '서버종류코드', '서버종류코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM065', '장애종류코드', '장애종류코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM066', '서버자원종류', '서버자원종류', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM067', '네트워크관리항목', '네트워크관리항목', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM068', '처리상태코드', '처리상태코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM069', '기념일구분', '기념일구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM070', '위치구분', '회의실 위치구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM071', '당직체크구분', '당직체크구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM072', '서비스상태', '서비스상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM073', '가족관계', '가족관계', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM074', '요일구분', '요일구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM075', '업무구분코드', '업무구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM076', '실행상태구분', '실행상태구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM101', '게시판유형', '게시판유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM102', '단어구분', '단어구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); + +-- 공통상세코드 +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC01', '단일 게시판 이용등록', '단일 게시판 이용등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC02', '커뮤니티 등록', '커뮤니티 등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC03', '동호회 등록', '동호회 등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC04', '명함등록', '명함등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC05', '동호회 게시판 등록', '동호회 게시판 등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC06', '커뮤니티 게시판 등록', '커뮤니티 게시판 등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC07', '게시판사용자등록', '게시판사용자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST01', '소프트웨어패치', '소프트웨어패치', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST02', '소프트웨어설치', '소프트웨어설치', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST03', '소프트웨어삭제', '소프트웨어삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST04', '하드웨어업그레이드', '하드웨어업그레이드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST05', '하드웨어삭제', '하드웨어삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'BBS', '게시판', '게시판', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'CMY', '커뮤니티', '커뮤니티', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'CLB', '동호회', '동호회', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'NCD', '명함', '명함', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT01', '게시판템플릿', '게시판템플릿', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT02', '커뮤니티템플릿', '커뮤니티템플릿', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT03', '블로그템플릿', '블로그템플릿', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF01', '커뮤니티등록', '커뮤니티등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF02', '커뮤니티삭제', '커뮤니티삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF03', '동호회등록', '동호회등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF04', '동호회삭제', '동호회삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF05', '커뮤니티운영자등록', '커뮤니티운영자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF06', '커뮤니티운영자삭제', '커뮤니티운영자삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF07', '동호회운영자등록', '동호회운영자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF08', '동호회운영자삭제', '동호회운영자삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF09', '게시판이용등록', '게시판이용등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF10', '게시판삭제', '게시판삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF11', '커뮤니티사용자등록', '커뮤니티사용자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF12', '커뮤니티사용자탈퇴', '커뮤니티사용자탈퇴', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF13', '동호회사용자등록', '동호회사용자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF14', '동호회사용자탈퇴', '동호회사용자탈퇴', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP01', '승인요청', '승인요청', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP02', '승인허가', '승인허가', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP03', '승인반려', '승인반려', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S01', '전송요청', '전송요청', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S02', '전송완료', '전송완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S03', '전송실패', '전송실패', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S04', '수신요청', '수신요청', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S05', '수신완료', '수신완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S06', '수신실패', '수신실패', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA01', '유효게시판', '유효게시판', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA02', '갤러리', '갤러리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA03', '일반게시판', '일반게시판', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVS001', '시스템 관련 권한(최상위 권한)', '시스템 관련 권한(최상위 권한)', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVD001', '데이터베이스 관련 권한', '데이터베이스 관련 권한', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVU001', '사용자 관련 권한', '사용자 관련 권한', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVA001', '어플리케이션 관련 권한', '어플리케이션 관련 권한', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVB001', '게시판 관련 권한', '게시판 관련 권한', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVC001', '커뮤니티 관련 권한', '커뮤니티 관련 권한', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS001', '시스템 관리 최상위 롤', '시스템 관리 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS002', '시스템 접근(view) 롤', '시스템 접근(view) 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS003', '시스템 설정 등록/변경 롤', '시스템 설정 등록/변경 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS004', '시스템 파일 등록/변경 롤', '시스템 파일 등록/변경 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD001', '데이터베이스 관련 최상위 롤', '데이터베이스 관련 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD002', '데이터베이스 스키마 등록/변경 롤', '데이터베이스 스키마 등록/변경 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD003', '데이터 조회 롤', '데이터 조회 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD004', '데이터 등록/변경 롤', '데이터 등록/변경 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU001', '사용자 관련 최상위 롤', '사용자 관련 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU002', '업무 시스템 사용자 관리 롤', '업무 시스템 사용자 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU003', '기업회원 시스템 사용자 관리 롤', '기업회원 시스템 사용자 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU004', '일반회원 시스템 사용자 관리 롤', '일반회원 시스템 사용자 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU005', '게시판 사용자 관리 롤', '게시판 사용자 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU006', '커뮤니티 사용자 관리 롤', '커뮤니티 사용자 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA001', '어플리케이션 관련 최상위 롤', '어플리케이션 관련 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA002', '업무 어플리케이션 접근 롤', '업무 어플리케이션 접근 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA003', '업무 어플리케이션 관리 롤', '업무 어플리케이션 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA004', '일반 어플리케이션 접근 롤', '일반 어플리케이션 접근 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA005', '일반 어프리케이션 관리 롤', '일반 어프리케이션 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA006', '어플리케이션 약관 관리 롤', '어플리케이션 약관 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA007', '어플리케이션 저작권 관리 롤', '어플리케이션 저작권 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA008', '통계 및 보고서 접근 롤', '통계 및 보고서 접근 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB001', '게시판 관련 최상위 롤', '게시판 관련 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB002', '게시판 생성 롤', '게시판 생성 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB003', '게시판 접근 롤', '게시판 접근 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB004', '게시판 글쓰기 롤', '게시판 글쓰기 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB005', '게시판 글 수정/삭제 롤', '게시판 글 수정/삭제 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC001', '커뮤니티 관련 최상위 롤', '커뮤니티 관련 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC002', '커뮤니티 생성 롤', '커뮤니티 생성 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC003', '커뮤니티 접근 롤', '커뮤니티 접근 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC004', '커뮤니티 글쓰기 롤', '커뮤니티 글쓰기 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC005', '커뮤니티 글 수정/삭제 롤', '커뮤니티 글 수정/삭제 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC006', '파일 업로드 롤', '파일 업로드 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR01', '일반 회원 유형', '일반 회원 유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR02', '기업 회원 유형', '기업 회원 유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR03', '업무 담당자(사용자) 유형', '업무 담당자(사용자) 유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR99', '사용자 유형 최상위 롤', '사용자 유형 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'A', '회원 가입 신청 상태', '회원 가입 신청 상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'P', '회원 가입 승인 상태', '회원 가입 승인 상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'D', '회원 가입 삭제 상태', '회원 가입 삭제 상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM014', 'M', '남자', '남자', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM014', 'F', '여자', '여자', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM015', 'ATH01', '주민등록번호 인증', '주민등록번호 인증', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM015', 'ATH02', 'GPIN 인증', 'GPIN 인증', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR01', '프로그램 변경 요청 신청', '프로그램 변경 요청 신청', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR02', '프로그램 변경 요청 수락', '프로그램 변경 요청 수락', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR03', '프로그램 변경 진행', '프로그램 변경 진행', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR04', '프로그램 변경 완료', '프로그램 변경 완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR05', '프로그램 변경 이관', '프로그램 변경 이관', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '01', '법정휴일', '법정휴일', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '02', '법정공휴일', '법정공휴일', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '03', '임시공휴일', '임시공휴일', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM018', '1', '객관식', '객관식', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM018', '2', '주관식', '주관식', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'A', '높음', '높음', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'B', '보통', '보통', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'C', '낮음', '낮음', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM020', '1', '부서일정관리', '부서일정관리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM020', '2', '일정관리', '일정관리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM021', '1', '기능설명', '기능설명', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM021', '2', '절차설명', '절차설명', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P01', '가장 기억에 남는 장소는?', '가장 기억에 남는 장소는?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P02', '나의 좌우명은?', '나의 좌우명은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P03', '나의 보물 제1호는?', '나의 보물 제1호는?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P04', '가장 기억에 남는 선생님 성함은?', '가장 기억에 남는 선생님 성함은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P05', '다른 사람은 모르는 나만의 신체비밀은?', '다른 사람은 모르는 나만의 신체비밀은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P06', '오래도록 기억하고 싶은 날짜는?', '오래도록 기억하고 싶은 날짜는?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P07', '받았던 선물 중 기억에 남는 독특한 선물은?', '받았던 선물 중 기억에 남는 독특한 선물은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P08', '가장 생각나는 친구 이름은?', '가장 생각나는 친구 이름은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P09', '인상 깊게 읽은 책 이름은?', '인상 깊게 읽은 책 이름은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P10', '내가 존경하는 인물은?', '내가 존경하는 인물은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P11', '나의 노래방 애창곡은?', '나의 노래방 애창곡은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P12', '가장 감명깊게 본 영화는?', '가장 감명깊게 본 영화는?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P13', '좋아하는 스포츠팀 이름은?', '좋아하는 스포츠팀 이름은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '01', '경제', '경제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '02', '전산', '전산', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '03', '행정', '행정', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'R', '요청', '요청', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'F', '실패', '실패', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'C', '완료', '완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000001', '공공기관', '공공기관', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000002', '금융기관', '금융기관', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000003', '교육기관', '교육기관', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000004', '의료기관', '의료기관', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000001', '대기업', '대기업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000002', '중소기업', '중소기업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000003', '다국적기업', '다국적기업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'A', '축산업', '축산업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'B', '어업', '어업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'C', '광업', '광업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'D', '제조업', '제조업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'E', '전기,가스및수도사업', '전기,가스및수도사업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'F', '건설업', '건설업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'G', '도소매 및 소비자용품수리업', '도소매 및 소비자용품수리업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'H', '숙박및음식점', '숙박및음식점', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'I', '운수창고및통신업', '운수창고및통신업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'J', '금융및보험업', '금융및보험업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'K', '부동산,임대및사업서비스업', '부동산,임대및사업서비스업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'M', '교육서비스업', '교육서비스업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'N', '보건업', '보건업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'O', '기타공공,사회및개인서비스업', '기타공공,사회및개인서비스업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'P', '가사서비스업', '가사서비스업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '1', '접수대기', '접수대기', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '2', '접수', '접수', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '3', '완료', '완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'method', 'METHOD', 'METHOD', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'pointcut', 'POINTCUT', 'POINTCUT', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'url', 'URL', 'URL', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '1', '회의', '회의', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '2', '세미나', '세미나', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '3', '강의', '강의', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '4', '교육', '교육', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '5', '기타', '기타', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '6', '휴일', '휴일', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '1', '당일', '당일', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '2', '반복', '반복', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '3', '연속', '연속', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '4', '요일반복', '요일반복', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC01', '회원가입', '회원가입', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC02', '사용자등록', '사용자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC03', '회원탈퇴', '회원탈퇴', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC04', '사용자삭제', '사용자삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC05', '커뮤니티등록', '커뮤니티등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC06', '동호회등록', '동호회등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC07', '커뮤니티폐쇄', '커뮤니티폐쇄', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC08', '동호회폐쇄', '동호회폐쇄', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC09', '게시판등록', '게시판등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC10', '게시판폐쇄', '게시판폐쇄', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'C', '생성', '생성', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'R', '조회', '조회', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'U', '수정', '수정', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'D', '삭제', '삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '1', '학생', '학생', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '2', '대학생', '대학생', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '3', '군인', '군인', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '4', '교사', '교사', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '5', '기타', '기타', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '1', '행사', '행사', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '2', '이벤트', '이벤트', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '3', '캠페인', '캠페인', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '01', '작성', '작성', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '02', '상신', '상신', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '03', '반려', '반려', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '04', '결재완료', '결재완료', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM038', 'N', 'N', '아니오', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM038', 'Y', 'Y', '예', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '001', '사회', '사회', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '002', '정치', '정치', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '003', '경제', '경제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '004', '문화', '문화', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '005', '인문', '인문', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '006', '공학', '공학', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '007', '기타', '기타', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '01', '휴가계획서', '휴가계획서', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '02', '출장보고서', '출장보고서', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '03', '교육보고서', '교육보고서', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '04', '판품요청서', '판품요청서', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '05', '지원요청서', '지원요청서', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '001', '절차설명', '절차설명', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '002', '기능설명', '기능설명', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '003', '기타설명', '기타설명', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y', '연도별', '연도별', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y-%m', '월별', '월별', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y-%m-%d', '일별', '일별', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '01', '생성', '생성', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '02', '변경', '변경', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '03', '말소', '말소', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '00', '수신처리', '수신처리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '01', '처리완료', '처리완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '10', '기등록', '기등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '11', '생성오류', '생성오류', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '12', '변경오류', '변경오류', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '13', '말소오류', '말소오류', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM046', '01', '정상', '정상', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM046', '02', '비정상', '비정상', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '01', '매일', '매일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '02', '매주', '매주', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '03', '매월', '매월', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '04', '매년', '매년', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '05', '한번만', '한번만', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '01', 'Oracle', 'Oracle', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '02', 'Mysql', 'Mysql', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '03', 'Tibero', 'Tibero', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '04', 'Altibase', 'Altibase', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM049', '01', 'Tar', 'Tar', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM049', '02', 'ZIP', 'ZIP', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM050', '1', '수신', '수신', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM050', '2', '참조', '참조', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '01', '신청중', '신청중', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '02', '승인', '승인', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '03', '반려', '반려', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM052', '01', '양력', '양력', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM052', '02', '음력', '음력', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '01', '교육', '교육', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '02', '세미나', '세미나', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '03', '홍보', '홍보', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '04', '단합', '단합', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '05', '간담회', '간담회', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '01', '결혼', '결혼', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '02', '출생', '출생', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '03', '회갑', '회갑', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '04', '사망', '사망', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '05', '출산', '출산', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '01', '우수사원', '우수사원', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '02', '우수팀', '우수팀', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '01', '연차휴가', '연차휴가', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '02', '반차휴가', '반차휴가', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '03', '무급휴가', '무급휴가', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '04', '유급휴가', '유급휴가', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '05', '대체휴가', '대체휴가', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '1', '회의', '회의', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '2', '방문', '방문', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '3', '세미나', '세미나', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '4', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '1', '반복없음', '당일', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '2', '매일', '매일', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '3', '매주', '매주', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '4', '매월', '매월', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '1', '높음', '높음', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '2', '보통', '보통', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '3', '낮음', '낮음', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM060', '1', '주간보고', '주간보고', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM060', '2', '월간보고', '월간보고', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '1', '재실', '재실', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '2', '자리비움', '자리비움', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '3', '회의중', '회의중', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '4', '출장중', '출장중', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '5', '휴가중', '휴가중', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '100', 'Continue ', 'Continue ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '101', 'Switching Protocols ', 'Switching Protocols ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '200', 'OK ', 'OK ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '201', 'Created ', 'Created ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '202', 'Accepted ', 'Accepted ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '203', 'Non-Authoritative Information ', 'Non-Authoritative Information ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '204', 'No Content ', 'No Content ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '205', 'Reset Content ', 'Reset Content ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '206', 'Partial Content ', 'Partial Content ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '300', 'Multiple Choices ', 'Multiple Choices ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '301', 'Moved Permanently ', 'Moved Permanently ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '302', 'Found ', 'Found ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '303', 'See Other ', 'See Other ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '304', 'Not Modified ', 'Not Modified ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '305', 'Use Proxy ', 'Use Proxy ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '307', 'Temporary Redirect ', 'Temporary Redirect ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '400', 'Bad Request ', 'Bad Request ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '401', 'Unauthorized ', 'Unauthorized ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '403', 'Forbidden ', 'Forbidden ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '404', 'Not Found ', 'Not Found ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '405', 'Method Not Allowed ', 'Method Not Allowed ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '406', 'Not Acceptable ', 'Not Acceptable ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '407', 'Proxy Authentication Required ', 'Proxy Authentication Required ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '408', 'Request Timeout ', 'Request Timeout ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '409', 'Conflict ', 'Conflict ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '410', 'Gone ', 'Gone ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '411', 'Length Required ', 'Length Required ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '412', 'Precondition Failed ', 'Precondition Failed ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '413', 'Request Entity Too Large ', 'Request Entity Too Large ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '414', 'Request URI Too Long ', 'Request URI Too Long ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '415', 'Unsupported Media Type ', 'Unsupported Media Type ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '416', 'Requested Range Not Satisfiable ', 'Requested Range Not Satisfiable ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '417', 'Expectation Failed ', 'Expectation Failed ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '500', 'Internal Server Error ', 'Internal Server Error ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '501', 'Not Implemented ', 'Not Implemented ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '502', 'Bad Gateway ', 'Bad Gateway ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '503', 'Service Unavailable ', 'Service Unavailable ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '504', 'Gateway Timeout ', 'Gateway Timeout ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '505', 'HTTP Version Not Supported ', 'HTTP Version Not Supported ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '100', 'Runnable', 'Runnable', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '200', 'Sleeping', 'Sleeping', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '300', 'Swapped', 'Swapped', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '400', 'Zombie', 'Zombie', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '500', 'Stopped', 'Stopped', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '01', '웹 서버', '웹 서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '02', 'WAS', 'WAS', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '03', 'DB 서버', 'DB 서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '04', 'Mail 서버', 'Mail 서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '05', 'DNS 서버', 'DNS 서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '99', '기타 서버', '기타 서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '01', '네트워크 장애', '네트워크 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '02', '하드웨어 장애', '하드웨어 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '03', '어플리케이션 장애', '어플리케이션 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '04', '서비스 장애', '서비스 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '05', '모니터링 장애', '모니터링 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '06', '정전', '정전', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '07', '화재', '화재', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '08', '홍수', '홍수', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '99', '기타 장애', '기타 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM066', '01', 'CPU', 'CPU', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM066', '02', '메모리', '메모리', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '01', '서버', '서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '02', '라우터', '라우터', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '03', '스위치', '스위치', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '04', 'PC', 'PC', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '05', '프린터', '프린터', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'A', '접수', '접수', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'C', '완료', '완료', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'R', '요청', '요청', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '01', '생일', '생일', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '02', '기념', '기념', 'N',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '03', '결혼', '결혼', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '04', '탄생', '탄생', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '05', '축하', '축하', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '06', '출장', '출장', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '07', '퇴원', '퇴원', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '01', '본관1층', '본관1층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '02', '본관2층', '본관2층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '03', '본관3층', '본관3층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '04', '본관4층', '본관4층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '05', '본관5층', '본관5층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '06', '별관1층', '별관1층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '07', '별관2층', '별관2층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '01', '전기시설', '전기시설', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '02', '소등상태', '소등상태', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '03', '방화요소', '방화요소', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '04', '소방시설', '소방시설', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '05', '비상 KEY', '비상 KEY', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '06', '시건장치', '시건장치', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '01', '정상', '정상', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '02', '오류', '오류', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '03', '중지', '중지', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '09', '기타', '기타', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '01', '본인', '본인', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '02', '배우자', '배우자', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '03', '자녀', '자녀', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '04', '부친', '부친', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '05', '모친', '모친', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '06', '배우자부친', '배우자부친', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '07', '배우자모친', '배우자모친', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '08', '조부', '조부', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '09', '조모', '조모', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '10', '형제자매(본인)', '형제자매(본인)', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '11', '외조부', '외조부', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '12', '외조모', '외조모', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '13', '백숙부', '백숙부', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '14', '백숙모', '백숙모', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '15', '형제자매(배우자)', '형제자매(배우자)', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '1', '일요일', '일요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '2', '월요일', '월요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '3', '화요일', '화요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '4', '수요일', '수요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '5', '목요일', '목요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '6', '금요일', '금요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '7', '토요일', '토요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '001', '경조신청', '경조신청', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '002', '포상신청', '포상신청', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '003', '휴가신청', '휴가신청', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '004', '행사신청', '행사신청', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '01', '정상', '정상', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '02', '비정상', '비정상', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '03', '수행중', '수행중', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST01', '통합게시판', '통합게시판', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST02', '블로그형게시판', '블로그형게시판', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST03', '방명록', '방명록', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM102', '1', '표준어', '표준어', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM102', '2', '동의어', '동의어', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); + +-- 그룹 +INSERT INTO COMTNAUTHORGROUPINFO ( GROUP_ID, GROUP_NM, GROUP_CREAT_DE,GROUP_DC ) VALUES ( 'GROUP_00000000000000', '0번 그룹입니다', TO_CHAR(SYSDATE, 'YYYYMMDD'), '0번 그룹입니다'); + +-- 조직 COMTNORGNZTINFO +INSERT INTO COMTNORGNZTINFO ( ORGNZT_ID, ORGNZT_NM, ORGNZT_DC ) VALUES ( 'ORGNZT_0000000000000', '기본조직', '기본조직'); + +-- cmm 패키지 끝 ---------------------------------------------------------------------------------------------------------------------------------- + + +-- 업무사용자정보 +INSERT INTO COMTNEMPLYRINFO (EMPLYR_ID, ORGNZT_ID, USER_NM, PASSWORD, EMPL_NO, IHIDNUM, SEXDSTN_CODE, BRTHDY, FXNUM, HOUSE_ADRES, PASSWORD_HINT, PASSWORD_CNSR, HOUSE_END_TELNO, AREA_NO, DETAIL_ADRES, ZIP, OFFM_TELNO, MBTLNUM, EMAIL_ADRES, OFCPS_NM, HOUSE_MIDDLE_TELNO, GROUP_ID, PSTINST_CODE, EMPLYR_STTUS_CODE, ESNTL_ID, CRTFC_DN_VALUE, SBSCRB_DE) VALUES ('TEST1','ORGNZT_0000000000000','테스트1', 'raHLBnHFcunwNzcDcfad4PhD11hHgXSUr7fc1Jk9uoQ=','20112059',null,'F','20111130','1566-2059','서울 중구 무교동 한국정보화진흥원','P01','전자정부표준프레임워크센터','2059','02','전자정부표준프레임워크센터','100775','1566-2059','1566-2059','egovframesupport@gmail.com','관리자','1566','GROUP_00000000000000','00000001','P','USRCNFRM_00000000000','',SYSDATE); +INSERT INTO COMTNEMPLYRINFO (EMPLYR_ID, ORGNZT_ID, USER_NM, PASSWORD, EMPL_NO, IHIDNUM, SEXDSTN_CODE, BRTHDY, FXNUM, HOUSE_ADRES, PASSWORD_HINT, PASSWORD_CNSR, HOUSE_END_TELNO, AREA_NO, DETAIL_ADRES, ZIP, OFFM_TELNO, MBTLNUM, EMAIL_ADRES, OFCPS_NM, HOUSE_MIDDLE_TELNO, GROUP_ID, PSTINST_CODE, EMPLYR_STTUS_CODE, ESNTL_ID, CRTFC_DN_VALUE, SBSCRB_DE) VALUES ('webmaster','ORGNZT_0000000000000','웹마스터','78gXjfDDMzepOP4QTiFMRFOT/msFgKkHIgGOU95PT94=','20112060',null,'F','20111130','1566-2059','서울특별시 중구 청계천로 14 - 0 한국정보사회진흥원','P01','전자정부표준프레임워크센터','2059','02','전자정부표준프레임워크센터','100775','1566-2059','1566-2059','egovframesupport@gmail.com','웹관리자','1566','GROUP_00000000000000','00000001','P','USRCNFRM_99999999999','',SYSDATE); + +-- 일반사용자정보 +INSERT INTO COMTNGNRLMBER (MBER_ID,PASSWORD,PASSWORD_HINT,PASSWORD_CNSR,IHIDNUM,MBER_NM,ZIP,ADRES,AREA_NO,MBER_STTUS,DETAIL_ADRES,END_TELNO,MBTLNUM,GROUP_ID,MBER_FXNUM,MBER_EMAIL_ADRES,MIDDLE_TELNO,SBSCRB_DE,SEXDSTN_CODE,ESNTL_ID) values ('USER','6TAJYwhKCgkgzPXDb83ZUiHi2/TKHhD7t5Ba6RN2qoo=','P01','전자정부표준프레임워크센터',null,'일반회원','100775','서울 중구 무교동 한국정보화진흥원','02','P','전자정부표준프레임워크센터','2059','1566-2059','GROUP_00000000000000','1566-2059','egovframesupport@gmail.com','1566',SYSDATE,'F','USRCNFRM_00000000001'); + +-- 기업사용자정보 +INSERT INTO COMTNENTRPRSMBER (ENTRPRS_MBER_ID,ENTRPRS_SE_CODE,BIZRNO,JURIRNO,CMPNY_NM,CXFC,ZIP,ADRES,ENTRPRS_MIDDLE_TELNO,FXNUM,INDUTY_CODE,APPLCNT_NM,APPLCNT_IHIDNUM,SBSCRB_DE,ENTRPRS_MBER_STTUS,ENTRPRS_MBER_PASSWORD,ENTRPRS_MBER_PASSWORD_HINT,ENTRPRS_MBER_PASSWORD_CNSR,GROUP_ID,DETAIL_ADRES,ENTRPRS_END_TELNO,AREA_NO,APPLCNT_EMAIL_ADRES,ESNTL_ID) values ('ENTERPRISE','C0000001','1008360001','1000310000011','NIA','이가브','100775','서울특별시 중구 청계천로 14 - 0 한국정보사회진흥원','1566','1566-2059','O','관리자',null,SYSDATE,'P','ZQhr3oB5QWjBnBO0kbFF7bvQDLkk+Em0ExjTq5JtVTo=','P01','전자정부표준프레임워크센터','GROUP_00000000000000','표준프레임워크센터','2059','02','egovframesupport@gmail.com','USRCNFRM_00000000002'); + + +-- 약관정보 +INSERT INTO COMTNSTPLATINFO ( USE_STPLAT_ID, INFO_PROVD_AGRE_CN, USE_STPLAT_CN, FRST_REGIST_PNTTM,FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID, USE_STPLAT_NM ) VALUES ( 'STPLAT_0000000000001', '제1조(목적 등)-개인회원', '개인정보의 수집 및 이용목적-개인회원', SYSDATE, 'USRCNFRM_00000000000', SYSDATE, 'USRCNFRM_00000000000', '인터넷이용약관'); +INSERT INTO COMTNSTPLATINFO ( USE_STPLAT_ID, INFO_PROVD_AGRE_CN, USE_STPLAT_CN, FRST_REGIST_PNTTM,FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID, USE_STPLAT_NM ) VALUES ( 'STPLAT_0000000000002', '제1조(목적 등)-기업회원', '개인정보의 수집 및 이용목적-기업회원', SYSDATE, 'USRCNFRM_00000000000', SYSDATE, 'USRCNFRM_00000000000', '인터넷이용약관'); + +-- 권한정보 +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_ANONYMOUS' ,'모든 사용자' , '', SYSDATE); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_ANONYMOUSLY' ,'스프링시큐리티 내부사용(롤부여 금지)' , '', SYSDATE); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_REMEMBERED' ,'스프링시큐리티 내부사용(롤부여 금지)', '', SYSDATE); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_FULLY' ,'스프링시큐리티 내부사용(롤부여 금지)' , '', SYSDATE); +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_USER' ,'일반 사용자' , '', SYSDATE); +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_ADMIN' ,'관리자' , '', SYSDATE); + +-- 롤 계층구조 +INSERT INTO COMTNROLES_HIERARCHY VALUES ('ROLE_ANONYMOUS' ,'IS_AUTHENTICATED_ANONYMOUSLY'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_ANONYMOUSLY' ,'IS_AUTHENTICATED_REMEMBERED'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_REMEMBERED' ,'IS_AUTHENTICATED_FULLY'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_FULLY' ,'ROLE_USER'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('ROLE_USER' ,'ROLE_ADMIN'); + +-- 사용자보안설정 +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000000', 'USR03', 'ROLE_ADMIN'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000001', 'USR01', 'ROLE_USER'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000002', 'USR02', 'ROLE_USER'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_99999999999', 'USR03', 'ROLE_ADMIN'); + +-- 롤 등록 +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000001', '로그인롤', '\A/uat/uia/.*\.do.*\Z', '로그인허용을 위한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000002', '좌측메뉴', '/EgovLeft.do', '좌측 메뉴에 대한 접근 제한 롤', 'url', '2', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000003', '모든접근제한', '\A/.*\.do.*\Z', '모든자원에 대한 접근 제한 롤', 'url', '3', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000004', '회원관리', '\A/uss/umt/.*\.do.*\Z', '회원관리에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000005', '실명확인', '\A/sec/rnc/.*\.do.*\Z', '실명확인에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000006', '우편번호', '\A/sym/ccm/zip/.*\.do.*\Z', '우편번호관리에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000007', '로그인이미지', '\A/uss/ion/lsi/.*\.do.*\Z', '로그인이미지관리에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000008', '파일다운로드', '\A/sym/ccm/zip/.*\.do.*\Z', '파일다운로드에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000009', '상단메뉴', '/EgovTop.do', '상단메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000010', '하단메뉴', '/EgovBottom.do', '하단메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000011', '왼쪽메뉴', '/EgovLeft.do', '왼쪽메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000012', 'Validator모듈','/validator.do','Validator에 대한 접근 제한 롤', 'url', '1', SYSDATE); + +-- 권한 롤 매핑 +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000001', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000002', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000004', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000005', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000006', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000007', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000008', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000009', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000010', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000011', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000012', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_USER', 'web-000003', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ADMIN', 'web-000003', SYSDATE); + +-- 프로그램목록 +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CnsltAnswerListInqire','/uss/olp/cnm/','상담답변관리','상담답변관리','/uss/olp/cnm/CnsltAnswerListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CnsltListInqire','/uss/olp/cns/','상담관리','상담관리','/uss/olp/cns/CnsltListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CpyrhtPrtcPolicyListInqire','/uss/sam/cpy/','저작권보호정책','저작권보호정책','/uss/sam/cpy/CpyrhtPrtcPolicyListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('dir','dir','디렉토리','디렉토리','dir'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAllSchdulManageList','/cop/smt/sam/','전체일정관리','전체일정관리','/cop/smt/sam/EgovAllSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAuthorGroupList','/sec/rgm/','권한그룹관리','권한그룹관리','/sec/rgm/EgovAuthorGroupList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAuthorList','/sec/ram/','권한관리','권한관리','/sec/ram/EgovAuthorList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovBndtCeckManageList','/uss/ion/bnt/','당직체크관리','당직체크관리','/uss/ion/bnt/EgovBndtCeckManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovBndtManageList','/uss/ion/bnt/','당직관리','당직관리','/uss/ion/bnt/EgovBndtManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmAdministCodeList','/sym/ccm/adc/','행정코드관리','행정코드관리','/sym/ccm/adc/EgovCcmAdministCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnClCodeList','/sym/ccm/ccc/','공통분류코드','공통분류코드','/sym/ccm/ccc/EgovCcmCmmnClCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnCodeList','/sym/ccm/cca/','공통코드','공통코드','/sym/ccm/cca/EgovCcmCmmnCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnDetailCodeList','/sym/ccm/cde/','공통상세코드','공통상세코드','/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmZipList','/sym/ccm/zip/','우편번호관리','우편번호관리','/sym/ccm/zip/EgovCcmZipList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamAppraisalList','/dam/app/','지식평가관리','지식평가관리','/dam/app/EgovComDamAppraisalList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamManagementList','/dam/mgm/','지식정보관리','지식정보관리','/dam/mgm/EgovComDamManagementList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamMapMaterialList','/dam/map/mat/','지식맵관리(유형)','지식맵관리(유형)','/dam/map/mat/EgovComDamMapMaterialList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamMapTeamList','/dam/map/tea/','지식맵관리(조직)','지식맵관리(조직)','/dam/map/tea/EgovComDamMapTeamList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamPersonalList','/dam/per/','개인지식관리','개인지식관리','/dam/per/EgovComDamPersonalList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamSpecialistList','/dam/spe/spe/','지식전문가관리','지식전문가관리','/dam/spe/spe/EgovComDamSpecialistList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComUtlHttpMonList','/utl/sys/htm/','HTTP서비스모니터링','HTTP서비스모니터링','/utl/sys/htm/EgovComUtlHttpMonList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComUtlProcessMonList','/utl/sys/prm/','프로세스모니터링','프로세스모니터링','/utl/sys/prm/EgovComUtlProcessMonList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCtsnnConfmList','/uss/ion/ctn/','직원경조사승인관리','직원경조사승인관리','/uss/ion/ctn/EgovCtsnnConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDeptAuthorList','/sec/drm/','부서권한관리','부서권한관리','/sec/drm/EgovDeptAuthorList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDeptSchdulManageList','/cop/smt/sdm/','부서일정관리','부서일정관리','/cop/smt/sdm/EgovDeptSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDiaryManageList','/cop/smt/dsm/','일지관리','일지관리','/cop/smt/dsm/EgovDiaryManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEntrprsMberManage','/uss/umt/','기업회원관리','기업회원관리','/uss/umt/EgovEntrprsMberManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventCmpgnList','/uss/ion/ecc/','행사/이벤트/캠페인','행사/이벤트/캠페인','/uss/ion/ecc/EgovEventCmpgnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventRcrptManageList','/uss/ion/evt/','행사접수관리','행사접수관리','/uss/ion/evt/EgovEventRcrptManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventReqstManageList','/uss/ion/evt/','행사신청관리','행사신청관리','/uss/ion/evt/EgovEventReqstManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovGroupList','/sec/gmt/','그룹관리','그룹관리','/sec/gmt/EgovGroupList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovIndvdlpgeCntntsList','/uss/mpe/','마이페이지관리','마이페이지관리','/uss/mpe/EgovIndvdlpgeCntntsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovIndvdlSchdulManageList','/cop/smt/sim/','일정관리','일정관리','/cop/smt/sim/EgovIndvdlSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('egovLoginUsr','/uat/uia/','로그인','로그인','/uat/uia/egovLoginUsr.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMberManage','/uss/umt/','일반회원관리','일반회원관리','/uss/umt/EgovMberManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMeetingManageList','/uss/olp/mgt/','회의관리','회의관리','/uss/olp/mgt/EgovMeetingManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuCreatManageSelect','/sym/mnu/mcm/','메뉴생성관리','메뉴생성관리','/sym/mnu/mcm/EgovMenuCreatManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuListSelect','/sym/mnu/mpm/','메뉴리스트관리','메뉴리스트관리','/sym/mnu/mpm/EgovMenuListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuManageSelect','/sym/mnu/mpm/','메뉴관리리스트','메뉴관리리스트','/sym/mnu/mpm/EgovMenuManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChangeRequstProcessListSelect','/sym/prm/','프로그램변경요청처리','프로그램변경요청처리','/sym/prm/EgovProgramChangeRequstProcessListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChangeRequstSelect','/sym/prm/','프로그램변경요청관리','프로그램변경요청관리','/sym/prm/EgovProgramChangeRequstSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChgHstListSelect','/sym/prm/','프로그램변경이력','프로그램변경이력','/sym/prm/EgovProgramChgHstListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramListManageSelect','/sym/prm/','프로그램관리','프로그램관리','/sym/prm/EgovProgramListManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrItemManageList','/uss/olp/qim/','항목관리','항목관리','/uss/olp/qim/EgovQustnrItemManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrManageList','/uss/olp/qmc/','설문관리','설문관리','/uss/olp/qmc/EgovQustnrManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrQestnManageList','/uss/olp/qqm/','질문관리','질문관리','/uss/olp/qqm/EgovQustnrQestnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrRespondInfoManageList','/uss/olp/qnn/','설문조사','설문조사','/uss/olp/qnn/EgovQustnrRespondInfoManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrRespondManageList','/uss/olp/qrm/','응답자관리','응답자관리','/uss/olp/qrm/EgovQustnrRespondManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrTmplatManageList','/uss/olp/qtm/','설문템플릿관리','설문템플릿관리','/uss/olp/qtm/EgovQustnrTmplatManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRestdeList','/sym/cal/','공휴일관리(달력)','공휴일관리(달력)','/sym/cal/EgovRestdeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRoleList','/sec/rmt/','롤관리','롤관리','/sec/rmt/EgovRoleList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRwardConfmList','/uss/ion/rwd/','포상승인관리','포상승인관리','/uss/ion/rwd/EgovRwardConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovSiteMapng','/sym/mnu/stm/','사이트맵','사이트맵','/sym/mnu/stm/EgovSiteMapng.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovTnextrlHrInfoList','/uss/ion/ecc/','외부인사정보','외부인사정보','/uss/ion/ecc/EgovTnextrlHrInfoList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovUserManage','/uss/umt/','업무사용자관리','업무사용자관리','/uss/umt/EgovUserManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovVcatnConfmList','/uss/ion/vct/','휴가승인관리','휴가승인관리','/uss/ion/vct/EgovVcatnConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovVcatnManageList','/uss/ion/vct/','휴가관리','휴가관리','/uss/ion/vct/EgovVcatnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('FaqListInqire','/uss/olh/faq/','FAQ관리','FAQ관리','/uss/olh/faq/FaqListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBackupOpertList','/sym/sym/bak/','백업관리','백업관리','/sym/sym/bak/getBackupOpertList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBackupResultList','/sym/sym/bak/','백업결과관리','백업결과관리','/sym/sym/bak/getBackupResultList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchOpertList','/sym/bat/','배치작업관리','배치작업관리','/sym/bat/getBatchOpertList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchResultList','/sym/bat/','배치결과관리','배치결과관리','/sym/bat/getBatchResultList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchSchdulList','/sym/bat/','스케줄처리','스케줄처리','/sym/bat/getBatchSchdulList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcInsttList','/ssi/syi/iis/','연계기관관리','연계기관관리','/ssi/syi/iis/getCntcInsttList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcMessageList','/ssi/syi/ims/','연계메시지관리','연계메시지관리','/ssi/syi/ims/getCntcMessageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcSttusList','/ssi/syi/ist/','연계현황관리','연계현황관리','/ssi/syi/ist/getCntcSttusList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getDbMntrngList','/utl/sys/dbm/','DB서비스모니터링','DB서비스모니터링','/utl/sys/dbm/getDbMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getInsttCodeRecptnList','/sym/ccm/icr/','기관코드수신','기관코드수신','/sym/ccm/icr/getInsttCodeRecptnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getMainImageResult','/uss/ion/msi/','메인이미지 반영결과보기','메인이미지 반영결과보기','/uss/ion/msi/getMainImageResult.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getSystemCntcList','/ssi/syi/sim/','시스템연계관리','시스템연계관리','/ssi/syi/sim/getSystemCntcList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getTrsmrcvMntrngList','/utl/sys/trm/','송수신모니터링','송수신모니터링','/utl/sys/trm/getTrsmrcvMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('HpcmListInqire','/uss/olh/hpc/','도움말','도움말','/uss/olh/hpc/HpcmListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('insertSndngMailView','/cop/ems/','메일발송','메일발송','/cop/ems/insertSndngMailView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listAdministrationWord','/uss/olh/awm/','행정전문용어사전','행정전문용어사전','/uss/olh/awm/listAdministrationWord.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listAdministrationWordManage','/uss/olh/awm/','행정전문용어사전관리','행정전문용어사전관리','/uss/olh/awm/listAdministrationWordManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listIndvdlInfoPolicy','/uss/sam/ipm/','개인정보보호정책확인','개인정보보호정책확인','/uss/sam/ipm/listIndvdlInfoPolicy.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listNoteRecptn','/uss/ion/ntr/','받은쪽지함관리','받은쪽지함관리','/uss/ion/ntr/listNoteRecptn.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listNoteTrnsmit','/uss/ion/nts/','보낸쪽지함관리','보낸쪽지함관리','/uss/ion/nts/listNoteTrnsmit.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlineManual','/uss/olh/omm/','온라인매뉴얼','온라인매뉴얼','/uss/olh/omm/selectOnlineManualList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlinePollManage','/uss/olp/opm/','온라인poll관리','온라인poll관리','/uss/olp/opm/listOnlinePollManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlinePollPartcptn','/uss/olp/opp/','온라인poll참여','온라인poll참여','/uss/olp/opp/listOnlinePollPartcptn.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listPopup','/uss/ion/pwm/','팝업창관리','팝업창관리','/uss/ion/pwm/listPopup.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRecentSrchwrd','/uss/ion/rsm/','최근검색어 목록','최근검색어 목록','/uss/ion/rsm/listRecentSrchwrd.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRequestOffer','/dam/spe/req/','지식정보제공','지식정보제공','/dam/spe/req/listRequestOffer.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRssTagManage','/uss/ion/rss/','RSS태그관리','RSS태그관리','/uss/ion/rss/listRssTagManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRssTagService','/uss/ion/rsn/','RSS태그서비스','RSS태그서비스','/uss/ion/rsn/listRssTagService.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listUnityLink','/uss/ion/ulm/','통합링크관리','통합링크관리','/uss/ion/ulm/listUnityLink.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listWikiBookmark','/uss/ion/wik/bmk/','Wiki기능','Wiki기능','/uss/ion/wik/bmk/listWikiBookmark.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('loginSessionView','/utl/sys/rsc/','로그인세션정보체크','로그인세션정보체크','/utl/sys/rsc/loginSessionView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('NewsInfoListInqire','/uss/ion/nws/','뉴스관리','뉴스관리','/uss/ion/nws/NewsInfoListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('OnlineManualUserList','/uss/olh/omn/','사용자온라인매뉴얼','사용자온라인매뉴얼','/uss/olh/omn/selectOnlineManualList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('QnaAnswerListInqire','/uss/olh/qnm/','Q&amp;A답변관리','Q&amp;A답변관리','/uss/olh/qnm/QnaAnswerListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('QnaListInqire','/uss/olh/qna/','Q&amp;A관리','Q&amp;A관리','/uss/olh/qna/QnaListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('RecomendSiteListInqire','/uss/ion/rec/','추천사이트관리','추천사이트관리','/uss/ion/rec/RecomendSiteListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('registEgovNoteManage','/uss/ion/ntm/','쪽지관리','쪽지관리','/uss/ion/ntm/registEgovNoteManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAdbkList','/cop/adb/','주소록관리','주소록관리','/cop/adb/selectAdbkList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAnnvrsryMainList','/uss/ion/ans/','기념일목록(확인용)','기념일목록(확인용)','/uss/ion/ans/selectAnnvrsryMainList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAnnvrsryManageList','/uss/ion/ans/','기념일관리','기념일관리','/uss/ion/ans/selectAnnvrsryManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBannerList','/uss/ion/bnr/','배너관리','배너관리','/uss/ion/bnr/selectBannerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBannerMainList','/uss/ion/bnr/','MYPAGE배너관리','MYPAGE배너관리','/uss/ion/bnr/selectBannerMainList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectBBSMasterInfs','/cop/bbs/','게시판속성관리','게시판속성관리','/cop/bbs/SelectBBSMasterInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBbsStats','/sts/bst/','게시물통계','게시물통계','/sts/bst/selectBbsStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBBSUseInfs','/cop/com/','게시판사용정보','게시판사용정보','/cop/com/selectBBSUseInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBkmkMenuManageList','/sym/mnu/bmm/','바로가기메뉴관리','바로가기메뉴관리','/sym/mnu/bmm/selectBkmkMenuManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectCmmntyInfs','/cop/cmy/','커뮤니티관리','커뮤니티관리','/cop/cmy/selectCmmntyInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectConectStats','/sts/cst/','접속통계','접속통계','/sts/cst/selectConectStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectCtsnnManageList','/uss/ion/ctn/','직원경조사관리','직원경조사관리','/uss/ion/ctn/selectCtsnnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptJobBxList','/cop/smt/djm/','부서업무함관리','부서업무함관리','/cop/smt/djm/selectDeptJobBxList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptJobList','/cop/smt/djm/','부서업무정보','부서업무정보','/cop/smt/djm/selectDeptJobList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptManageListView','/uss/umt/dpt/','부서관리','부서관리','/uss/umt/dpt/selectDeptManageListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDtaUseStatsList','/sts/dst/','자료이용현황통계','자료이용현황통계','/sts/dst/selectDtaUseStatsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectEventRceptConfmList','/uss/ion/evt/','행사접수승인관리','행사접수승인관리','/uss/ion/evt/selectEventRceptConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectFileSysMntrngList','/utl/sys/fsm/','파일시스템모니터링','파일시스템모니터링','/utl/sys/fsm/selectFileSysMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectIntnetSvcGuidanceList','/uss/ion/isg/','인터넷서비스안내및관리','인터넷서비스안내및관리','/uss/ion/isg/selectIntnetSvcGuidanceList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLeaderSchdulList','/cop/smt/lsm/usr/','간부일정관리','간부일정관리','/cop/smt/lsm/usr/selectLeaderSchdulList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectLoginLogList','/sym/log/clg/','접속로그관리','접속로그관리','/sym/log/clg/SelectLoginLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLoginPolicyList','/uat/uap/','로그인정책관리','로그인정책관리','/uat/uap/selectLoginPolicyList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLoginScrinImageList','/uss/ion/lsi/','로그인화면이미지관리','로그인화면이미지관리','/uss/ion/lsi/selectLoginScrinImageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMainImageList','/uss/ion/msi/','메인이미지관리','메인이미지관리','/uss/ion/msi/selectMainImageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMemoReprtList','/cop/smt/mrm/','메모보고','메모보고','/cop/smt/mrm/selectMemoReprtList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMemoTodoList','/cop/smt/mtm/','메모할일관리','메모할일관리','/cop/smt/mtm/selectMemoTodoList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMntrngServerList','/utl/sys/srm/','서버자원모니터링-대상목록','서버자원모니터링-대상목록','/utl/sys/srm/selectMntrngServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMtgPlaceManageList','/uss/ion/mtg/','회의실관리','회의실관리','/uss/ion/mtg/selectMtgPlaceManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMtgPlaceResveManageList','/uss/ion/mtg/','회의실예약관리','회의실예약관리','/uss/ion/mtg/selectMtgPlaceResveManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMyNcrdUseInf','/cop/ncm/','내명함목록','내명함목록','/cop/ncm/selectMyNcrdUseInf.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNcrdInfs','/cop/ncm/','명함관리','명함관리','/cop/ncm/selectNcrdInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNotificationList','/uss/ion/noi/','정보알림이','정보알림이','/uss/ion/noi/selectNotificationList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNtwrkList','/sym/sym/nwk/','네트워크관리','네트워크관리','/sym/sym/nwk/selectNtwrkList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNtwrkSvcMntrngList','/utl/sys/nsm/','네트워크서비스모니터링','네트워크서비스모니터링','/utl/sys/nsm/selectNtwrkSvcMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectProxySvcList','/utl/sys/pxy/','프록시서비스','프록시서비스','/utl/sys/pxy/selectProxySvcList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectReprtStatsListView','/sts/rst/','보고서통계','보고서통계','/sts/rst/selectReprtStatsListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectRwardManageList','/uss/ion/rwd/','포상관리','포상관리','/uss/ion/rwd/selectRwardManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectScrapList','/cop/scp/','스크랩 목록','스크랩 목록','/cop/scp/selectScrapList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectScrinStats','/sts/sst/','화면통계','화면통계','/sts/sst/selectScrinStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectServerEqpmnList','/sym/sym/srv/','서버정보관리','서버정보관리','/sym/sym/srv/selectServerEqpmnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectServerList','/sym/sym/srv/','서버(S/W)목록','서버(S/W)목록','/sym/sym/srv/selectServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSmsList','/cop/sms/','문자메시지','문자메시지','/cop/sms/selectSmsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSndngMailList','/cop/ems/','발송메일내역','발송메일내역','/cop/ems/selectSndngMailList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSynchrnServerList','/utl/sys/ssy/','파일동기화(대상서버)','파일동기화(대상서버)','/utl/sys/ssy/selectSynchrnServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectSysHistoryList','/sym/log/slg/','시스템이력관리','시스템이력관리','/sym/log/slg/SelectSysHistoryList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectSysLogList','/sym/log/lgm/','로그관리','로그관리','/sym/log/lgm/SelectSysLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTemplateInfs','/cop/tpl/','템플릿관리','템플릿관리','/cop/tpl/selectTemplateInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTroblProcessList','/sym/tbm/tbp/','장애처리결과관리','장애처리결과관리','/sym/tbm/tbp/selectTroblProcessList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTroblReqstList','/sym/tbm/tbr/','장애신청관리','장애신청관리','/sym/tbm/tbr/selectTroblReqstList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectTrsmrcvLogList','/sym/log/tlg/','송/수신로그관리','송/수신로그관리','/sym/log/tlg/SelectTrsmrcvLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTwitterMain','/uss/ion/tir/','Twitter연동','Twitter연동','/uss/ion/tir/selectTwitterMain.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectUserAbsnceListView','/uss/ion/uas/','사용자부재관리','사용자부재관리','/uss/ion/uas/selectUserAbsnceListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectUserLogList','/sym/log/ulg/','사용로그관리','사용로그관리','/sym/log/ulg/SelectUserLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectUserStats','/sts/ust/','사용자통계','사용자통계','/sts/ust/selectUserStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectWebLogList','/sym/log/wlg/','웹로그관리','웹로그관리','/sym/log/wlg/SelectWebLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectWikMnthngReprtList','/cop/smt/wmr/','주간/월간보고관리','주간/월간보고관리','/cop/smt/wmr/selectWikMnthngReprtList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SiteListInqire','/uss/ion/sit/','사이트관리','사이트관리','/uss/ion/sit/SiteListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('StplatListInqire','/uss/sam/stp/','약관관리','약관관리','/uss/sam/stp/StplatListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('WordDicaryListInqire','/uss/olh/wor/','용어사전','용어사전','/uss/olh/wor/WordDicaryListInqire.do'); + +-- 메뉴정보 +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('root','dir',0,0,1,'root','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자디렉토리/통합인증','dir',1000000,0,1,'사용자디렉토리/통합인증','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인','egovLoginUsr',1010000,1000000,1,'로그인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인정책관리','selectLoginPolicyList',1020000,1000000,2,'로그인정책관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보안','dir',2000000,0,2,'보안','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('권한관리','EgovAuthorList',2010000,2000000,1,'권한관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('권한그룹관리','EgovAuthorGroupList',2020000,2000000,2,'권한그룹관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('그룹관리','EgovGroupList',2030000,2000000,3,'그룹관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('롤관리','EgovRoleList',2040000,2000000,4,'롤관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서권한관리','EgovDeptAuthorList',2050000,2000000,5,'부서권한관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('통계/리포팅','dir',3000000,0,3,'통계/리포팅','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시물통계','selectBbsStats',3010000,3000000,1,'게시물통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자통계','selectUserStats',3020000,3000000,2,'사용자통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('접속통계','selectConectStats',3030000,3000000,3,'접속통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('화면통계','selectScrinStats',3040000,3000000,4,'화면통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보고서통계','selectReprtStatsListView',3050000,3000000,5,'보고서통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('자료이용현황통계','selectDtaUseStatsList',3060000,3000000,6,'자료이용현황통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('협업','dir',4000000,0,4,'협업','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시판속성관리','SelectBBSMasterInfs',4010000,4000000,1,'게시판속성관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시판사용정보','selectBBSUseInfs',4020000,4000000,2,'게시판사용정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('템플릿관리','selectTemplateInfs',4030000,4000000,3,'템플릿관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('스크랩 목록','selectScrapList',4040000,4000000,4,'스크랩 목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('커뮤니티관리','selectCmmntyInfs',4050000,4000000,5,'커뮤니티관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('문자메시지','selectSmsList',4060000,4000000,6,'문자메시지','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서일정관리','EgovDeptSchdulManageList',4070000,4000000,7,'부서일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일정관리','EgovIndvdlSchdulManageList',4080000,4000000,8,'일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일지관리','EgovDiaryManageList',4090000,4000000,9,'일지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('전체일정관리','EgovAllSchdulManageList',4100000,4000000,10,'전체일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메일발송','insertSndngMailView',4110000,4000000,11,'메일발송','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('발송메일내역','selectSndngMailList',4120000,4000000,12,'발송메일내역','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('명함관리','selectNcrdInfs',4130000,4000000,13,'명함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('내명함목록','selectMyNcrdUseInf',4140000,4000000,14,'내명함목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('주소록관리','selectAdbkList',4150000,4000000,15,'주소록관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('간부일정관리','selectLeaderSchdulList',4160000,4000000,16,'간부일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서업무함관리','selectDeptJobBxList',4170000,4000000,17,'부서업무함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서업무정보','selectDeptJobList',4180000,4000000,18,'부서업무정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('주간/월간보고관리','selectWikMnthngReprtList',4190000,4000000,19,'주간/월간보고관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메모할일관리','selectMemoTodoList',4200000,4000000,20,'메모할일관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메모보고','selectMemoReprtList',4210000,4000000,21,'메모보고','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자지원','dir',5000000,0,5,'사용자지원','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기업회원관리','EgovEntrprsMberManage',5010000,5000000,1,'기업회원관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('업무사용자관리','EgovUserManage',5020000,5000000,2,'업무사용자관리','',''); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서관리','selectDeptManageListView',5030000,5000000,3,'부서관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일반회원관리','EgovMberManage',5040000,5000000,4,'일반회원관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('마이페이지관리','EgovIndvdlpgeCntntsList',5050000,5000000,5,'마이페이지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('약관관리','StplatListInqire',5060000,5000000,6,'약관관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('저작권보호정책','CpyrhtPrtcPolicyListInqire',5070000,5000000,7,'저작권보호정책','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('개인정보보호정책확인','listIndvdlInfoPolicy',5080000,5000000,8,'개인정보보호정책확인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('도움말','HpcmListInqire',5090000,5000000,9,'도움말','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('용어사전','WordDicaryListInqire',5100000,5000000,10,'용어사전','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('FAQ관리','FaqListInqire',5110000,5000000,11,'FAQ관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Q&amp;A관리','QnaListInqire',5120000,5000000,12,'Q&amp;A관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Q&amp;A답변관리','QnaAnswerListInqire',5130000,5000000,13,'Q&amp;A답변관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정전문용어사전','listAdministrationWord',5140000,5000000,14,'행정전문용어사전','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정전문용어사전관리','listAdministrationWordManage',5150000,5000000,15,'행정전문용어사전관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인매뉴얼','listOnlineManual',5160000,5000000,16,'온라인매뉴얼','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자온라인매뉴얼','OnlineManualUserList',5170000,5000000,17,'사용자온라인매뉴얼','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('상담관리','CnsltListInqire',5180000,5000000,18,'상담관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('상담답변관리','CnsltAnswerListInqire',5190000,5000000,19,'상담답변관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문관리','EgovQustnrManageList',5200000,5000000,20,'설문관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문조사','EgovQustnrRespondInfoManageList',5210000,5000000,21,'설문조사','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문템플릿관리','EgovQustnrTmplatManageList',5220000,5000000,22,'설문템플릿관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('응답자관리','EgovQustnrRespondManageList',5230000,5000000,23,'응답자관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('질문관리','EgovQustnrQestnManageList',5240000,5000000,24,'질문관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('항목관리','EgovQustnrItemManageList',5250000,5000000,25,'항목관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의관리','EgovMeetingManageList',5260000,5000000,26,'회의관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인poll관리','listOnlinePollManage',5270000,5000000,27,'온라인poll관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인poll참여','listOnlinePollPartcptn',5280000,5000000,28,'온라인poll참여','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('뉴스관리','NewsInfoListInqire',5290000,5000000,29,'뉴스관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사이트관리','SiteListInqire',5300000,5000000,30,'사이트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('추천사이트관리','RecomendSiteListInqire',5310000,5000000,31,'추천사이트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사/이벤트/캠페인','EgovEventCmpgnList',5320000,5000000,32,'행사/이벤트/캠페인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('외부인사정보','EgovTnextrlHrInfoList',5330000,5000000,33,'외부인사정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('팝업창관리','listPopup',5340000,5000000,34,'팝업창관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('정보알림이','selectNotificationList',5350000,5000000,35,'정보알림이','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배너관리','selectBannerList',5360000,5000000,36,'배너관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('MYPAGE배너관리','selectBannerMainList',5370000,5000000,37,'MYPAGE배너관리','',''); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인화면이미지관리','selectLoginScrinImageList',5380000,5000000,38,'로그인화면이미지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('최근검색어 목록','listRecentSrchwrd',5390000,5000000,39,'최근검색어 목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메인이미지관리','selectMainImageList',5400000,5000000,40,'메인이미지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메인이미지 반영결과보기','getMainImageResult',5410000,5000000,41,'메인이미지 반영결과보기','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('통합링크관리','listUnityLink',5420000,5000000,42,'통합링크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자부재관리','selectUserAbsnceListView',5430000,5000000,43,'사용자부재관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('인터넷서비스안내및관리','selectIntnetSvcGuidanceList',5440000,5000000,44,'인터넷서비스안내및관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Wiki기능','listWikiBookmark',5450000,5000000,45,'Wiki기능','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('RSS태그관리','listRssTagManage',5460000,5000000,46,'RSS태그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('RSS태그서비스','listRssTagService',5470000,5000000,47,'RSS태그서비스','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Twitter연동','selectTwitterMain',5480000,5000000,48,'Twitter연동','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('쪽지관리','registEgovNoteManage',5490000,5000000,49,'쪽지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('받은쪽지함관리','listNoteRecptn',5500000,5000000,50,'받은쪽지함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보낸쪽지함관리','listNoteTrnsmit',5510000,5000000,51,'보낸쪽지함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의실관리','selectMtgPlaceManageList',5520000,5000000,52,'회의실관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의실예약관리','selectMtgPlaceResveManageList',5530000,5000000,53,'회의실예약관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('직원경조사관리','selectCtsnnManageList',5540000,5000000,54,'직원경조사관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('직원경조사승인관리','EgovCtsnnConfmList',5550000,5000000,55,'직원경조사승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('휴가관리','EgovVcatnManageList',5560000,5000000,56,'휴가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('휴가승인관리','EgovVcatnConfmList',5570000,5000000,57,'휴가승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('당직관리','EgovBndtManageList',5580000,5000000,58,'당직관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('당직체크관리','EgovBndtCeckManageList',5590000,5000000,59,'당직체크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('포상관리','selectRwardManageList',5600000,5000000,60,'포상관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('포상승인관리','EgovRwardConfmList',5610000,5000000,61,'포상승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기념일관리','selectAnnvrsryManageList',5620000,5000000,62,'기념일관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기념일목록(확인용)','selectAnnvrsryMainList',5630000,5000000,63,'기념일목록(확인용)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사신청관리','EgovEventReqstManageList',5640000,5000000,64,'행사신청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사접수관리','EgovEventRcrptManageList',5650000,5000000,65,'행사접수관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사접수승인관리','selectEventRceptConfmList',5660000,5000000,66,'행사접수승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템관리','dir',6000000,0,6,'시스템관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통분류코드','EgovCcmCmmnClCodeList',6010000,6000000,1,'공통분류코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통상세코드','EgovCcmCmmnDetailCodeList',6020000,6000000,2,'공통상세코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통코드','EgovCcmCmmnCodeList',6030000,6000000,3,'공통코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('우편번호관리','EgovCcmZipList',6040000,6000000,4,'우편번호관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정코드관리','EgovCcmAdministCodeList',6050000,6000000,5,'행정코드관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기관코드수신','getInsttCodeRecptnList',6060000,6000000,6,'기관코드수신','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그관리','SelectSysLogList',6070000,6000000,7,'로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용로그관리','SelectUserLogList',6080000,6000000,8,'사용로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('송/수신로그관리','SelectTrsmrcvLogList',6090000,6000000,9,'송/수신로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템이력관리','SelectSysHistoryList',6100000,6000000,10,'시스템이력관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('웹로그관리','SelectWebLogList',6110000,6000000,11,'웹로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('접속로그관리','SelectLoginLogList',6120000,6000000,12,'접속로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴리스트관리','EgovMenuListSelect',6130000,6000000,13,'메뉴리스트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴관리리스트','EgovMenuManageSelect',6140000,6000000,14,'메뉴관리리스트','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴생성관리','EgovMenuCreatManageSelect',6150000,6000000,15,'메뉴생성관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사이트맵','EgovSiteMapng',6160000,6000000,16,'사이트맵','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('바로가기메뉴관리','selectBkmkMenuManageList',6170000,6000000,17,'바로가기메뉴관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램관리','EgovProgramListManageSelect',6180000,6000000,18,'프로그램관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경요청관리','EgovProgramChangeRequstSelect',6190000,6000000,19,'프로그램변경요청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경요청처리','EgovProgramChangeRequstProcessListSelect',6200000,6000000,20,'프로그램변경요청처리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경이력','EgovProgramChgHstListSelect',6210000,6000000,21,'프로그램변경이력','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배치작업관리','getBatchOpertList',6220000,6000000,22,'배치작업관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배치결과관리','getBatchResultList',6230000,6000000,23,'배치결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('스케줄처리','getBatchSchdulList',6240000,6000000,24,'스케줄처리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('백업관리','getBackupOpertList',6250000,6000000,25,'백업관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('백업결과관리','getBackupResultList',6260000,6000000,26,'백업결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('네트워크관리','selectNtwrkList',6270000,6000000,27,'네트워크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버정보관리','selectServerEqpmnList',6280000,6000000,28,'서버정보관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버(S/W)목록','selectServerList',6290000,6000000,29,'서버(S/W)목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('장애신청관리','selectTroblReqstList',6300000,6000000,30,'장애신청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('장애처리결과관리','selectTroblProcessList',6310000,6000000,31,'장애처리결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템/서비스연계','dir',7000000,0,7,'시스템/서비스연계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템연계관리','getSystemCntcList',7010000,7000000,1,'시스템연계관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계현황관리','getCntcSttusList',7020000,7000000,2,'연계현황관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계메시지관리','getCntcMessageList',7030000,7000000,3,'연계메시지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계기관관리','getCntcInsttList',7040000,7000000,4,'연계기관관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('자산 관리','dir',8000000,0,8,'자산 관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('개인지식관리','EgovComDamPersonalList',8010000,8000000,1,'개인지식관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식맵관리(유형)','EgovComDamMapMaterialList',8020000,8000000,2,'지식맵관리(유형)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식맵관리(조직)','EgovComDamMapTeamList',8030000,8000000,3,'지식맵관리(조직)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식전문가관리','EgovComDamSpecialistList',8040000,8000000,4,'지식전문가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식정보관리','EgovComDamManagementList',8050000,8000000,5,'지식정보관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식평가관리','EgovComDamAppraisalList',8060000,8000000,6,'지식평가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식정보제공','listRequestOffer',8070000,8000000,7,'지식정보제공','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('요소기술','dir',9000000,0,9,'요소기술','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공휴일관리(달력)','EgovRestdeList',9010000,9000000,1,'공휴일관리(달력)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('송수신모니터링','getTrsmrcvMntrngList',9020000,9000000,2,'송수신모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('DB서비스모니터링','getDbMntrngList',9030000,9000000,3,'DB서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('HTTP서비스모니터링','EgovComUtlHttpMonList',9040000,9000000,4,'HTTP서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로세스모니터링','EgovComUtlProcessMonList',9050000,9000000,5,'프로세스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('네트워크서비스모니터링','selectNtwrkSvcMntrngList',9060000,9000000,6,'네트워크서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('파일시스템모니터링','selectFileSysMntrngList',9070000,9000000,7,'파일시스템모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프록시서비스','selectProxySvcList',9080000,9000000,8,'프록시서비스','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('파일동기화(대상서버)','selectSynchrnServerList',9090000,9000000,9,'파일동기화(대상서버)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인세션정보체크','loginSessionView',9100000,9000000,10,'로그인세션정보체크','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버자원모니터링-대상목록','selectMntrngServerList',9110000,9000000,11,'서버자원모니터링-대상목록','/','/'); + +-- 기본템플릿 +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_BOARD_DEFAULT', '게시판 기본템플릿', 'TMPT01', '/css/egovframework/com/cop/tpl/egovbbsTemplate.css', 'Y', 'SYSTEM', SYSDATE); +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_CMNTY_DEFAULT', '커뮤니티 기본템플릿', 'TMPT02', 'egovframework/com/cop/tpl/EgovCmmntyBaseTmpl', 'Y', 'SYSTEM', SYSDATE); +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_CLUB__DEFAULT', '동호회 기본템플릿', 'TMPT03', 'egovframework/com/cop/tpl/EgovClbBaseTmpl', 'Y', 'SYSTEM', SYSDATE); + +-- 우편번호 +INSERT INTO COMTCZIP(ZIP, SN, CTPRVN_NM, SIGNGU_NM, EMD_NM, LI_BULD_NM, LNBR_DONG_HO, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('100775',7381,'서울','중구','무교동','한국정보화진흥원','',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM'); +INSERT INTO COMTRDNMADRZIP(RDMN_CODE, SN, CTPRVN_NM, SIGNGU_NM, RDMN, BDNBR_MNNM, BDNBR_SLNO, BULD_NM, DETAIL_BULD_NM, ZIP, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('111403100021','1','서울특별시','중구','청계천로','14','0','한국정보사회진흥원','','100775',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM'); + +-- 최근검색어조회 +INSERT INTO COMTNRECENTSRCHWRDMANAGE(SRCHWRD_MANAGE_ID, SRCHWRD_MANAGE_NM, SRCHWRD_CONECT_URL, USER_SEARCH_AT,FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES('SRCMGR_0000000000001','공통코드관리','/sym/ccm/cca/SelectCcmCmmnCodeList.do','Y',SYSDATE,'USRCNFRM_00000000000',SYSDATE,'USRCNFRM_00000000000'); \ No newline at end of file Index: base3.10/script/dml/mysql/com_DML_mysql.sql =================================================================== --- base3.10/script/dml/mysql/com_DML_mysql.sql (nonexistent) +++ base3.10/script/dml/mysql/com_DML_mysql.sql (revision 7) @@ -0,0 +1,1021 @@ +-- ID Generator +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADBKUSER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADBK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADMINIST_WORD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADMIN_CODE_OPERT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ANN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BACKUP_OPERT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BACKUP_RESULT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BANNER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_OPERT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_RESULT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BBS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CLB_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CMMNTY_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNSLT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTC_MESSAGE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTNTS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('COMTECOPSEQ', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CPYRHT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CTSNN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DAM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DB_MNTRNG_LOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DEPT_JOB_BX_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DEPT_JOB_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DIARY_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DUS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EVENTINFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EVENT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EXTRLHRINFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FAQ_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILESYS_LOGID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILESYS_MNTRNG', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('GROUP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HPCM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HTTL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HTTP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INDVDL_INFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INFRML_SANCTN', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INSTT_CODE_OPERT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INSTT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ISG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ITEM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('KNO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('KNO_ID2', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LEADER_SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LOGINLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LSI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MAILMSG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MEMO_REPRT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MEMO_TODO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MSI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MTG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MTG_PLACE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NCRD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NEWS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_RECPTN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_TRNSMIT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTWRKSVC_LOGID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTWRK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ONLINE_MUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_IEM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_MGR_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_RUT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POPUP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROXYLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROXYSVC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QA_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESITM_', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESRSPNS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESTNR_QESITM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESTNR_RPD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QUSTNRQESTN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QUSTNRTMPLA_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RECOMEND_SITE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RESTDE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RESVE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ROLE_ID', 20); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RSS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RWARD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SCRAP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SERVER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SEVEQ_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SITE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SMS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_MANAGEID', 2); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_MANAGE_I', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SVCRESMONTLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SVC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYNCHRNSERVER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYSLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TEST1', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TMPLAT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TROBL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TRSMRCVLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TR_MNTRNG_LOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('UNITY_LINK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('USE_STPLAT_ID', 3); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('USRCNFRM_ID', 3); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WEBLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WIKI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WIKMNTHNG_REPRT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WORD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ORGNZT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ANSWER_NO', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('STSFDG_NO', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ROUGHMAP_ID', 1); + +-- 공통분류코드 +INSERT INTO COMTCCMMNCLCODE(CL_CODE, CL_CODE_NM, CL_CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', '전자정부 프레임워크 공통서비스', '전자정부 프레임워크 공통서비스', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); + +-- 공통코드 +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM001', '등록구분', '게시판, 커뮤니티, 동호회 등록구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM002', '이력구분', '시스템이력등록구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM003', '업무구분', '업무구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM005', '템플릿유형', '템플릿유형구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM006', '승인유형', '동호회, 커뮤니티 승인 유형', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM007', '승인상태', '동호회, 커뮤니티 승인 상태', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM008', '처리상태', '송수신 요청의 처리상태', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM009', '게시판속성', '게시판 속성', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM010', '권한유형', '시스템을 사용하기 위한 권한 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM011', '롤유형', '시스템의 기능을 사용하기 위한 롤 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM012', '회원유형', '일반/기업/업무담당자를 구현하기 위한 사용자 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM013', '회원상태', '회원 가입 신청/승인/삭제를 위한 상태 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM014', '성별구분', '남녀 성별 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM015', '인증방식유형', '주민등록번호 인증, Gpin 인증과 같은 사용자 인증 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM016', '변경요청처리 상태', '프로그램 변경의 요청/처리 등의 변경요청 상태 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM017', '휴일구분', '휴일의 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM018', '질문유형', '질문유형 객관식/주관식 상태구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM019', '일정중요도', '일정중요도 낮음/보통/높음 상태구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM020', '일정구분', '일정구분 부서일지정보/일지정보 상태구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM021', '도움말구분', '도움말 설명 구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM022', '비밀번호 힌트', '비밀번호 힌트 구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM023', '사이트주제분류', '사이트주제분류 설명 구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM024', '발송결과구분', '발송메일 수신결과 구분 코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM025', '소속기관', '소속기관정보를 관리할때 사용하는 구분코드(시스템별로 재정의)', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM026', '기업구분', '기업구분정보를 관리할때 사용하는 구분코드(시스템별로 재정의)', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM027', '업종', '대표업종코드(시스템별로 재정의)', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM028', '질의응답처리상태', 'Q/A 처리상태코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM029', '롤유형코드', '', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM030', '일정구분', '일정구분 코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM031', '반복구분', '일정 반복구분 코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM032', '작업유형', '승인이력 작업유형', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM033', '시스템로그구분', '', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM034', '직업유형', '직업유형코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM035', '행사유형', '행사/이벤트/캠페인 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM036', '보고서 진행상태코드', '보고서의 진행상태를 코드화 하여 관리한다.', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM038', '온라인POLL페기유무', '온라인POLL-온라인POLL페기유무', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM039', '온라인POLL구분', '온라인POLL-온온라인POLL구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM040', '보고서 종류코드', '보고서 종류코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM041', '온라인메뉴얼구분', '온라인메누얼-온라인메뉴얼구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM042', '보고서통계기간구분', '보고서통계기간구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM043', '기관코드변경구분', '기관코드변경구분', 'Y', SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM044', '기관코드수신처리구분', '기관코드수신처리구분', 'Y', SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM045', '사용여부', '사용여부', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM046', '모니터링상태구분', '모니터링상태구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM047', '실행주기구분', '실행주기구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM048', 'DBMS종류', 'DBMS종류', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM049', '압축구분', '압축구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM050', '수신구분', '쪽지관리', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM051', '승인여부', '승인여부구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM052', '달력구분', '달력구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM053', '행사구분', '행사구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM054', '경조구분', '경조구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM055', '포상구분', '포상구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM056', '휴가구분', '휴가구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM057', '일정구분', '일정구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM058', '반복구분코드', '반복구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM059', '우선순위', '우선순위', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM060', '보고서구분', '보고서구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM061', '간부상태', '간부상태', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM062', ' HTTP상태코드', 'HTTP상태코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM063', '상태관리', '상태관리', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM064', '서버종류코드', '서버종류코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM065', '장애종류코드', '장애종류코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM066', '서버자원종류', '서버자원종류', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM067', '네트워크관리항목', '네트워크관리항목', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM068', '처리상태코드', '처리상태코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM069', '기념일구분', '기념일구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM070', '위치구분', '회의실 위치구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM071', '당직체크구분', '당직체크구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM072', '서비스상태', '서비스상태', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM073', '가족관계', '가족관계', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM074', '요일구분', '요일구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM075', '업무구분코드', '업무구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM076', '실행상태구분', '실행상태구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM101', '게시판유형', '게시판유형', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM102', '단어구분', '단어구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); + +-- 공통상세코드 +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC01', '단일 게시판 이용등록', '단일 게시판 이용등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC02', '커뮤니티 등록', '커뮤니티 등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC03', '동호회 등록', '동호회 등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC04', '명함등록', '명함등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC05', '동호회 게시판 등록', '동호회 게시판 등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC06', '커뮤니티 게시판 등록', '커뮤니티 게시판 등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC07', '게시판사용자등록', '게시판사용자등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST01', '소프트웨어패치', '소프트웨어패치', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST02', '소프트웨어설치', '소프트웨어설치', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST03', '소프트웨어삭제', '소프트웨어삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST04', '하드웨어업그레이드', '하드웨어업그레이드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST05', '하드웨어삭제', '하드웨어삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'BBS', '게시판', '게시판', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'CMY', '커뮤니티', '커뮤니티', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'CLB', '동호회', '동호회', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'NCD', '명함', '명함', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT01', '게시판템플릿', '게시판템플릿', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT02', '커뮤니티템플릿', '커뮤니티템플릿', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT03', '블로그템플릿', '블로그템플릿', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF01', '커뮤니티등록', '커뮤니티등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF02', '커뮤니티삭제', '커뮤니티삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF03', '동호회등록', '동호회등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF04', '동호회삭제', '동호회삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF05', '커뮤니티운영자등록', '커뮤니티운영자등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF06', '커뮤니티운영자삭제', '커뮤니티운영자삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF07', '동호회운영자등록', '동호회운영자등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF08', '동호회운영자삭제', '동호회운영자삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF09', '게시판이용등록', '게시판이용등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF10', '게시판삭제', '게시판삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF11', '커뮤니티사용자등록', '커뮤니티사용자등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF12', '커뮤니티사용자탈퇴', '커뮤니티사용자탈퇴', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF13', '동호회사용자등록', '동호회사용자등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF14', '동호회사용자탈퇴', '동호회사용자탈퇴', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP01', '승인요청', '승인요청', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP02', '승인허가', '승인허가', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP03', '승인반려', '승인반려', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S01', '전송요청', '전송요청', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S02', '전송완료', '전송완료', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S03', '전송실패', '전송실패', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S04', '수신요청', '수신요청', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S05', '수신완료', '수신완료', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S06', '수신실패', '수신실패', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA01', '유효게시판', '유효게시판', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA02', '갤러리', '갤러리', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA03', '일반게시판', '일반게시판', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVS001', '시스템 관련 권한(최상위 권한)', '시스템 관련 권한(최상위 권한)', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVD001', '데이터베이스 관련 권한', '데이터베이스 관련 권한', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVU001', '사용자 관련 권한', '사용자 관련 권한', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVA001', '어플리케이션 관련 권한', '어플리케이션 관련 권한', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVB001', '게시판 관련 권한', '게시판 관련 권한', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVC001', '커뮤니티 관련 권한', '커뮤니티 관련 권한', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS001', '시스템 관리 최상위 롤', '시스템 관리 최상위 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS002', '시스템 접근(view) 롤', '시스템 접근(view) 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS003', '시스템 설정 등록/변경 롤', '시스템 설정 등록/변경 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS004', '시스템 파일 등록/변경 롤', '시스템 파일 등록/변경 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD001', '데이터베이스 관련 최상위 롤', '데이터베이스 관련 최상위 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD002', '데이터베이스 스키마 등록/변경 롤', '데이터베이스 스키마 등록/변경 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD003', '데이터 조회 롤', '데이터 조회 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD004', '데이터 등록/변경 롤', '데이터 등록/변경 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU001', '사용자 관련 최상위 롤', '사용자 관련 최상위 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU002', '업무 시스템 사용자 관리 롤', '업무 시스템 사용자 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU003', '기업회원 시스템 사용자 관리 롤', '기업회원 시스템 사용자 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU004', '일반회원 시스템 사용자 관리 롤', '일반회원 시스템 사용자 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU005', '게시판 사용자 관리 롤', '게시판 사용자 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU006', '커뮤니티 사용자 관리 롤', '커뮤니티 사용자 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA001', '어플리케이션 관련 최상위 롤', '어플리케이션 관련 최상위 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA002', '업무 어플리케이션 접근 롤', '업무 어플리케이션 접근 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA003', '업무 어플리케이션 관리 롤', '업무 어플리케이션 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA004', '일반 어플리케이션 접근 롤', '일반 어플리케이션 접근 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA005', '일반 어프리케이션 관리 롤', '일반 어프리케이션 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA006', '어플리케이션 약관 관리 롤', '어플리케이션 약관 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA007', '어플리케이션 저작권 관리 롤', '어플리케이션 저작권 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA008', '통계 및 보고서 접근 롤', '통계 및 보고서 접근 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB001', '게시판 관련 최상위 롤', '게시판 관련 최상위 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB002', '게시판 생성 롤', '게시판 생성 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB003', '게시판 접근 롤', '게시판 접근 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB004', '게시판 글쓰기 롤', '게시판 글쓰기 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB005', '게시판 글 수정/삭제 롤', '게시판 글 수정/삭제 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC001', '커뮤니티 관련 최상위 롤', '커뮤니티 관련 최상위 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC002', '커뮤니티 생성 롤', '커뮤니티 생성 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC003', '커뮤니티 접근 롤', '커뮤니티 접근 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC004', '커뮤니티 글쓰기 롤', '커뮤니티 글쓰기 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC005', '커뮤니티 글 수정/삭제 롤', '커뮤니티 글 수정/삭제 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC006', '파일 업로드 롤', '파일 업로드 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR01', '일반 회원 유형', '일반 회원 유형', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR02', '기업 회원 유형', '기업 회원 유형', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR03', '업무 담당자(사용자) 유형', '업무 담당자(사용자) 유형', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR99', '사용자 유형 최상위 롤', '사용자 유형 최상위 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'A', '회원 가입 신청 상태', '회원 가입 신청 상태', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'P', '회원 가입 승인 상태', '회원 가입 승인 상태', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'D', '회원 가입 삭제 상태', '회원 가입 삭제 상태', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM014', 'M', '남자', '남자', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM014', 'F', '여자', '여자', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM015', 'ATH01', '주민등록번호 인증', '주민등록번호 인증', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM015', 'ATH02', 'GPIN 인증', 'GPIN 인증', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR01', '프로그램 변경 요청 신청', '프로그램 변경 요청 신청', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR02', '프로그램 변경 요청 수락', '프로그램 변경 요청 수락', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR03', '프로그램 변경 진행', '프로그램 변경 진행', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR04', '프로그램 변경 완료', '프로그램 변경 완료', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR05', '프로그램 변경 이관', '프로그램 변경 이관', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '01', '법정휴일', '법정휴일', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '02', '법정공휴일', '법정공휴일', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '03', '임시공휴일', '임시공휴일', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM018', '1', '객관식', '객관식', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM018', '2', '주관식', '주관식', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'A', '높음', '높음', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'B', '보통', '보통', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'C', '낮음', '낮음', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM020', '1', '부서일정관리', '부서일정관리', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM020', '2', '일정관리', '일정관리', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM021', '1', '기능설명', '기능설명', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM021', '2', '절차설명', '절차설명', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P01', '가장 기억에 남는 장소는?', '가장 기억에 남는 장소는?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P02', '나의 좌우명은?', '나의 좌우명은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P03', '나의 보물 제1호는?', '나의 보물 제1호는?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P04', '가장 기억에 남는 선생님 성함은?', '가장 기억에 남는 선생님 성함은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P05', '다른 사람은 모르는 나만의 신체비밀은?', '다른 사람은 모르는 나만의 신체비밀은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P06', '오래도록 기억하고 싶은 날짜는?', '오래도록 기억하고 싶은 날짜는?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P07', '받았던 선물 중 기억에 남는 독특한 선물은?', '받았던 선물 중 기억에 남는 독특한 선물은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P08', '가장 생각나는 친구 이름은?', '가장 생각나는 친구 이름은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P09', '인상 깊게 읽은 책 이름은?', '인상 깊게 읽은 책 이름은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P10', '내가 존경하는 인물은?', '내가 존경하는 인물은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P11', '나의 노래방 애창곡은?', '나의 노래방 애창곡은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P12', '가장 감명깊게 본 영화는?', '가장 감명깊게 본 영화는?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P13', '좋아하는 스포츠팀 이름은?', '좋아하는 스포츠팀 이름은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '01', '경제', '경제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '02', '전산', '전산', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '03', '행정', '행정', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'R', '요청', '요청', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'F', '실패', '실패', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'C', '완료', '완료', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000001', '공공기관', '공공기관', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000002', '금융기관', '금융기관', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000003', '교육기관', '교육기관', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000004', '의료기관', '의료기관', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000001', '대기업', '대기업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000002', '중소기업', '중소기업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000003', '다국적기업', '다국적기업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'A', '축산업', '축산업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'B', '어업', '어업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'C', '광업', '광업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'D', '제조업', '제조업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'E', '전기,가스및수도사업', '전기,가스및수도사업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'F', '건설업', '건설업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'G', '도소매 및 소비자용품수리업', '도소매 및 소비자용품수리업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'H', '숙박및음식점', '숙박및음식점', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'I', '운수창고및통신업', '운수창고및통신업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'J', '금융및보험업', '금융및보험업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'K', '부동산,임대및사업서비스업', '부동산,임대및사업서비스업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'M', '교육서비스업', '교육서비스업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'N', '보건업', '보건업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'O', '기타공공,사회및개인서비스업', '기타공공,사회및개인서비스업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'P', '가사서비스업', '가사서비스업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '1', '접수대기', '접수대기', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '2', '접수', '접수', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '3', '완료', '완료', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'method', 'METHOD', 'METHOD', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'pointcut', 'POINTCUT', 'POINTCUT', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'url', 'URL', 'URL', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '1', '회의', '회의', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '2', '세미나', '세미나', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '3', '강의', '강의', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '4', '교육', '교육', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '5', '기타', '기타', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '6', '휴일', '휴일', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '1', '당일', '당일', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '2', '반복', '반복', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '3', '연속', '연속', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '4', '요일반복', '요일반복', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC01', '회원가입', '회원가입', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC02', '사용자등록', '사용자등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC03', '회원탈퇴', '회원탈퇴', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC04', '사용자삭제', '사용자삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC05', '커뮤니티등록', '커뮤니티등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC06', '동호회등록', '동호회등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC07', '커뮤니티폐쇄', '커뮤니티폐쇄', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC08', '동호회폐쇄', '동호회폐쇄', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC09', '게시판등록', '게시판등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC10', '게시판폐쇄', '게시판폐쇄', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'C', '생성', '생성', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'R', '조회', '조회', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'U', '수정', '수정', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'D', '삭제', '삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '1', '학생', '학생', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '2', '대학생', '대학생', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '3', '군인', '군인', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '4', '교사', '교사', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '5', '기타', '기타', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '1', '행사', '행사', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '2', '이벤트', '이벤트', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '3', '캠페인', '캠페인', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '01', '작성', '작성', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '02', '상신', '상신', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '03', '반려', '반려', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '04', '결재완료', '결재완료', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM038', 'N', 'N', '아니오', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM038', 'Y', 'Y', '예', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '001', '사회', '사회', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '002', '정치', '정치', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '003', '경제', '경제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '004', '문화', '문화', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '005', '인문', '인문', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '006', '공학', '공학', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '007', '기타', '기타', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '01', '휴가계획서', '휴가계획서', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '02', '출장보고서', '출장보고서', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '03', '교육보고서', '교육보고서', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '04', '판품요청서', '판품요청서', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '05', '지원요청서', '지원요청서', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '001', '절차설명', '절차설명', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '002', '기능설명', '기능설명', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '003', '기타설명', '기타설명', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y', '연도별', '연도별', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y-%m', '월별', '월별', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y-%m-%d', '일별', '일별', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '01', '생성', '생성', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '02', '변경', '변경', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '03', '말소', '말소', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '00', '수신처리', '수신처리', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '01', '처리완료', '처리완료', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '10', '기등록', '기등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '11', '생성오류', '생성오류', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '12', '변경오류', '변경오류', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '13', '말소오류', '말소오류', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM046', '01', '정상', '정상', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM046', '02', '비정상', '비정상', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '01', '매일', '매일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '02', '매주', '매주', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '03', '매월', '매월', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '04', '매년', '매년', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '05', '한번만', '한번만', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '01', 'Oracle', 'Oracle', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '02', 'Mysql', 'Mysql', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '03', 'Tibero', 'Tibero', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '04', 'Altibase', 'Altibase', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM049', '01', 'Tar', 'Tar', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM049', '02', 'ZIP', 'ZIP', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM050', '1', '수신', '수신', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM050', '2', '참조', '참조', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '01', '신청중', '신청중', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '02', '승인', '승인', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '03', '반려', '반려', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM052', '01', '양력', '양력', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM052', '02', '음력', '음력', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '01', '교육', '교육', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '02', '세미나', '세미나', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '03', '홍보', '홍보', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '04', '단합', '단합', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '05', '간담회', '간담회', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '01', '결혼', '결혼', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '02', '출생', '출생', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '03', '회갑', '회갑', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '04', '사망', '사망', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '05', '출산', '출산', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '01', '우수사원', '우수사원', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '02', '우수팀', '우수팀', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '01', '연차휴가', '연차휴가', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '02', '반차휴가', '반차휴가', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '03', '무급휴가', '무급휴가', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '04', '유급휴가', '유급휴가', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '05', '대체휴가', '대체휴가', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '1', '회의', '회의', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '2', '방문', '방문', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '3', '세미나', '세미나', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '4', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '1', '반복없음', '당일', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '2', '매일', '매일', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '3', '매주', '매주', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '4', '매월', '매월', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '1', '높음', '높음', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '2', '보통', '보통', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '3', '낮음', '낮음', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM060', '1', '주간보고', '주간보고', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM060', '2', '월간보고', '월간보고', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '1', '재실', '재실', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '2', '자리비움', '자리비움', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '3', '회의중', '회의중', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '4', '출장중', '출장중', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '5', '휴가중', '휴가중', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '100', 'Continue ', 'Continue ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '101', 'Switching Protocols ', 'Switching Protocols ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '200', 'OK ', 'OK ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '201', 'Created ', 'Created ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '202', 'Accepted ', 'Accepted ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '203', 'Non-Authoritative Information ', 'Non-Authoritative Information ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '204', 'No Content ', 'No Content ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '205', 'Reset Content ', 'Reset Content ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '206', 'Partial Content ', 'Partial Content ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '300', 'Multiple Choices ', 'Multiple Choices ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '301', 'Moved Permanently ', 'Moved Permanently ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '302', 'Found ', 'Found ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '303', 'See Other ', 'See Other ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '304', 'Not Modified ', 'Not Modified ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '305', 'Use Proxy ', 'Use Proxy ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '307', 'Temporary Redirect ', 'Temporary Redirect ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '400', 'Bad Request ', 'Bad Request ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '401', 'Unauthorized ', 'Unauthorized ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '403', 'Forbidden ', 'Forbidden ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '404', 'Not Found ', 'Not Found ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '405', 'Method Not Allowed ', 'Method Not Allowed ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '406', 'Not Acceptable ', 'Not Acceptable ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '407', 'Proxy Authentication Required ', 'Proxy Authentication Required ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '408', 'Request Timeout ', 'Request Timeout ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '409', 'Conflict ', 'Conflict ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '410', 'Gone ', 'Gone ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '411', 'Length Required ', 'Length Required ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '412', 'Precondition Failed ', 'Precondition Failed ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '413', 'Request Entity Too Large ', 'Request Entity Too Large ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '414', 'Request URI Too Long ', 'Request URI Too Long ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '415', 'Unsupported Media Type ', 'Unsupported Media Type ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '416', 'Requested Range Not Satisfiable ', 'Requested Range Not Satisfiable ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '417', 'Expectation Failed ', 'Expectation Failed ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '500', 'Internal Server Error ', 'Internal Server Error ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '501', 'Not Implemented ', 'Not Implemented ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '502', 'Bad Gateway ', 'Bad Gateway ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '503', 'Service Unavailable ', 'Service Unavailable ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '504', 'Gateway Timeout ', 'Gateway Timeout ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '505', 'HTTP Version Not Supported ', 'HTTP Version Not Supported ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '100', 'Runnable', 'Runnable', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '200', 'Sleeping', 'Sleeping', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '300', 'Swapped', 'Swapped', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '400', 'Zombie', 'Zombie', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '500', 'Stopped', 'Stopped', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '01', '웹 서버', '웹 서버', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '02', 'WAS', 'WAS', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '03', 'DB 서버', 'DB 서버', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '04', 'Mail 서버', 'Mail 서버', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '05', 'DNS 서버', 'DNS 서버', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '99', '기타 서버', '기타 서버', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '01', '네트워크 장애', '네트워크 장애', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '02', '하드웨어 장애', '하드웨어 장애', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '03', '어플리케이션 장애', '어플리케이션 장애', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '04', '서비스 장애', '서비스 장애', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '05', '모니터링 장애', '모니터링 장애', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '06', '정전', '정전', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '07', '화재', '화재', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '08', '홍수', '홍수', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '99', '기타 장애', '기타 장애', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM066', '01', 'CPU', 'CPU', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM066', '02', '메모리', '메모리', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '01', '서버', '서버', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '02', '라우터', '라우터', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '03', '스위치', '스위치', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '04', 'PC', 'PC', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '05', '프린터', '프린터', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'A', '접수', '접수', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'C', '완료', '완료', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'R', '요청', '요청', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '01', '생일', '생일', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '02', '기념', '기념', 'N',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '03', '결혼', '결혼', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '04', '탄생', '탄생', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '05', '축하', '축하', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '06', '출장', '출장', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '07', '퇴원', '퇴원', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '01', '본관1층', '본관1층', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '02', '본관2층', '본관2층', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '03', '본관3층', '본관3층', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '04', '본관4층', '본관4층', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '05', '본관5층', '본관5층', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '06', '별관1층', '별관1층', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '07', '별관2층', '별관2층', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '01', '전기시설', '전기시설', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '02', '소등상태', '소등상태', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '03', '방화요소', '방화요소', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '04', '소방시설', '소방시설', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '05', '비상 KEY', '비상 KEY', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '06', '시건장치', '시건장치', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '01', '정상', '정상', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '02', '오류', '오류', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '03', '중지', '중지', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '09', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '01', '본인', '본인', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '02', '배우자', '배우자', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '03', '자녀', '자녀', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '04', '부친', '부친', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '05', '모친', '모친', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '06', '배우자부친', '배우자부친', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '07', '배우자모친', '배우자모친', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '08', '조부', '조부', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '09', '조모', '조모', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '10', '형제자매(본인)', '형제자매(본인)', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '11', '외조부', '외조부', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '12', '외조모', '외조모', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '13', '백숙부', '백숙부', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '14', '백숙모', '백숙모', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '15', '형제자매(배우자)', '형제자매(배우자)', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '1', '일요일', '일요일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '2', '월요일', '월요일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '3', '화요일', '화요일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '4', '수요일', '수요일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '5', '목요일', '목요일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '6', '금요일', '금요일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '7', '토요일', '토요일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '001', '경조신청', '경조신청', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '002', '포상신청', '포상신청', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '003', '휴가신청', '휴가신청', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '004', '행사신청', '행사신청', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '01', '정상', '정상', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '02', '비정상', '비정상', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '03', '수행중', '수행중', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST01', '통합게시판', '통합게시판', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST02', '블로그형게시판', '블로그형게시판', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST03', '방명록', '방명록', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM102', '1', '표준어', '표준어', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM102', '2', '동의어', '동의어', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); + +-- 그룹 +INSERT INTO COMTNAUTHORGROUPINFO ( GROUP_ID, GROUP_NM, GROUP_CREAT_DE,GROUP_DC ) VALUES ( 'GROUP_00000000000000', '0번 그룹입니다', SYSDATE(), '0번 그룹입니다'); + +-- 조직 COMTNORGNZTINFO +INSERT INTO COMTNORGNZTINFO ( ORGNZT_ID, ORGNZT_NM, ORGNZT_DC ) VALUES ( 'ORGNZT_0000000000000', '기본조직', '기본조직'); + +-- cmm 패키지 끝 ---------------------------------------------------------------------------------------------------------------------------------- + + +-- 업무사용자정보 +INSERT INTO COMTNEMPLYRINFO (EMPLYR_ID, ORGNZT_ID, USER_NM, PASSWORD, EMPL_NO, IHIDNUM, SEXDSTN_CODE, BRTHDY, FXNUM, HOUSE_ADRES, PASSWORD_HINT, PASSWORD_CNSR, HOUSE_END_TELNO, AREA_NO, DETAIL_ADRES, ZIP, OFFM_TELNO, MBTLNUM, EMAIL_ADRES, OFCPS_NM, HOUSE_MIDDLE_TELNO, GROUP_ID, PSTINST_CODE, EMPLYR_STTUS_CODE, ESNTL_ID, CRTFC_DN_VALUE, SBSCRB_DE) VALUES ('TEST1','ORGNZT_0000000000000','테스트1', 'raHLBnHFcunwNzcDcfad4PhD11hHgXSUr7fc1Jk9uoQ=','20112059',null,'F','20111130','1566-2059','서울 중구 무교동 한국정보화진흥원','P01','전자정부표준프레임워크센터','2059','02','전자정부표준프레임워크센터','100775','1566-2059','1566-2059','egovframesupport@gmail.com','관리자','1566','GROUP_00000000000000','00000001','P','USRCNFRM_00000000000','',SYSDATE()); +INSERT INTO COMTNEMPLYRINFO (EMPLYR_ID, ORGNZT_ID, USER_NM, PASSWORD, EMPL_NO, IHIDNUM, SEXDSTN_CODE, BRTHDY, FXNUM, HOUSE_ADRES, PASSWORD_HINT, PASSWORD_CNSR, HOUSE_END_TELNO, AREA_NO, DETAIL_ADRES, ZIP, OFFM_TELNO, MBTLNUM, EMAIL_ADRES, OFCPS_NM, HOUSE_MIDDLE_TELNO, GROUP_ID, PSTINST_CODE, EMPLYR_STTUS_CODE, ESNTL_ID, CRTFC_DN_VALUE, SBSCRB_DE) VALUES ('webmaster','ORGNZT_0000000000000','웹마스터','78gXjfDDMzepOP4QTiFMRFOT/msFgKkHIgGOU95PT94=','20112060',null,'F','20111130','1566-2059','서울특별시 중구 청계천로 14 - 0 한국정보사회진흥원','P01','전자정부표준프레임워크센터','2059','02','전자정부표준프레임워크센터','100775','1566-2059','1566-2059','egovframesupport@gmail.com','웹관리자','1566','GROUP_00000000000000','00000001','P','USRCNFRM_99999999999','',SYSDATE()); + +-- 일반사용자정보 +INSERT INTO COMTNGNRLMBER (MBER_ID,PASSWORD,PASSWORD_HINT,PASSWORD_CNSR,IHIDNUM,MBER_NM,ZIP,ADRES,AREA_NO,MBER_STTUS,DETAIL_ADRES,END_TELNO,MBTLNUM,GROUP_ID,MBER_FXNUM,MBER_EMAIL_ADRES,MIDDLE_TELNO,SBSCRB_DE,SEXDSTN_CODE,ESNTL_ID) values ('USER','6TAJYwhKCgkgzPXDb83ZUiHi2/TKHhD7t5Ba6RN2qoo=','P01','전자정부표준프레임워크센터',null,'일반회원','100775','서울 중구 무교동 한국정보화진흥원','02','P','전자정부표준프레임워크센터','2059','1566-2059','GROUP_00000000000000','1566-2059','egovframesupport@gmail.com','1566',SYSDATE(),'F','USRCNFRM_00000000001'); + +-- 기업사용자정보 +INSERT INTO COMTNENTRPRSMBER (ENTRPRS_MBER_ID,ENTRPRS_SE_CODE,BIZRNO,JURIRNO,CMPNY_NM,CXFC,ZIP,ADRES,ENTRPRS_MIDDLE_TELNO,FXNUM,INDUTY_CODE,APPLCNT_NM,APPLCNT_IHIDNUM,SBSCRB_DE,ENTRPRS_MBER_STTUS,ENTRPRS_MBER_PASSWORD,ENTRPRS_MBER_PASSWORD_HINT,ENTRPRS_MBER_PASSWORD_CNSR,GROUP_ID,DETAIL_ADRES,ENTRPRS_END_TELNO,AREA_NO,APPLCNT_EMAIL_ADRES,ESNTL_ID) values ('ENTERPRISE','C0000001','1008360001','1000310000011','NIA','이가브','100775','서울특별시 중구 청계천로 14 - 0 한국정보사회진흥원','1566','1566-2059','O','관리자',null,SYSDATE(),'P','ZQhr3oB5QWjBnBO0kbFF7bvQDLkk+Em0ExjTq5JtVTo=','P01','전자정부표준프레임워크센터','GROUP_00000000000000','표준프레임워크센터','2059','02','egovframesupport@gmail.com','USRCNFRM_00000000002'); + +-- 약관정보 +INSERT INTO COMTNSTPLATINFO ( USE_STPLAT_ID, INFO_PROVD_AGRE_CN, USE_STPLAT_CN, FRST_REGIST_PNTTM,FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID, USE_STPLAT_NM ) VALUES ( 'STPLAT_0000000000001', '제1조(목적 등)-개인회원', '개인정보의 수집 및 이용목적-개인회원', SYSDATE(), 'USRCNFRM_00000000000', SYSDATE(), 'USRCNFRM_00000000000', '인터넷이용약관'); +INSERT INTO COMTNSTPLATINFO ( USE_STPLAT_ID, INFO_PROVD_AGRE_CN, USE_STPLAT_CN, FRST_REGIST_PNTTM,FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID, USE_STPLAT_NM ) VALUES ( 'STPLAT_0000000000002', '제1조(목적 등)-기업회원', '개인정보의 수집 및 이용목적-기업회원', SYSDATE(), 'USRCNFRM_00000000000', SYSDATE(), 'USRCNFRM_00000000000', '인터넷이용약관'); + +-- 권한정보 +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_ANONYMOUS' ,'익명 사용자' , '', NOW()); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_ANONYMOUSLY' ,'스프링시큐리티 내부사용(롤부여 금지)' , '', NOW()); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_REMEMBERED' ,'스프링시큐리티 내부사용(롤부여 금지)', '', NOW()); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_FULLY' ,'스프링시큐리티 내부사용(롤부여 금지)' , '', NOW()); +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_USER' ,'일반 사용자' , '', NOW()); +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_ADMIN' ,'관리자' , '', NOW()); + +-- 롤 계층구조 +INSERT INTO COMTNROLES_HIERARCHY VALUES ('ROLE_ANONYMOUS' ,'IS_AUTHENTICATED_ANONYMOUSLY'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_ANONYMOUSLY' ,'IS_AUTHENTICATED_REMEMBERED'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_REMEMBERED' ,'IS_AUTHENTICATED_FULLY'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_FULLY' ,'ROLE_USER'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('ROLE_USER' ,'ROLE_ADMIN'); + +-- 사용자보안설정 +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000000', 'USR03', 'ROLE_ADMIN'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000001', 'USR01', 'ROLE_USER'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000002', 'USR02', 'ROLE_USER'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_99999999999', 'USR03', 'ROLE_ADMIN'); + +-- 롤 등록 +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000001', '로그인롤', '\\A/uat/uia/.*\\.do.*\\Z', '로그인허용을 위한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000002', '좌측메뉴', '/EgovLeft.do', '좌측 메뉴에 대한 접근 제한 롤', 'url', '2', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000003', '모든접근제한', '\\A/.*\\.do.*\\Z', '모든자원에 대한 접근 제한 롤', 'url', '3', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000004', '회원관리', '\\A/uss/umt/.*\\.do.*\\Z', '회원관리에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000005', '실명확인', '\\A/sec/rnc/.*\\.do.*\\Z', '실명확인에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000006', '우편번호', '\\A/sym/ccm/zip/.*\\.do.*\\Z', '우편번호관리에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000007', '로그인이미지', '\\A/uss/ion/lsi/.*\\.do.*\\Z', '로그인이미지관리에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000008', '파일다운로드', '\\A/sym/ccm/zip/.*\\.do.*\\Z', '파일다운로드에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000009', '상단메뉴', '/EgovTop.do', '상단메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000010', '하단메뉴', '/EgovBottom.do', '하단메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000011', '왼쪽메뉴', '/EgovLeft.do', '왼쪽메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000012', 'Validator모듈','/validator.do','Validator에 대한 접근 제한 롤','url','1', SYSDATE()); + +-- 권한 롤 매핑 +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000001', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000002', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000004', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000005', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000006', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000007', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000008', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000009', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000010', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000011', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000012', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_USER', 'web-000003', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ADMIN', 'web-000003', SYSDATE()); + +-- 프로그램목록 +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CnsltAnswerListInqire','/uss/olp/cnm/','상담답변관리','상담답변관리','/uss/olp/cnm/CnsltAnswerListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CnsltListInqire','/uss/olp/cns/','상담관리','상담관리','/uss/olp/cns/CnsltListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CpyrhtPrtcPolicyListInqire','/uss/sam/cpy/','저작권보호정책','저작권보호정책','/uss/sam/cpy/CpyrhtPrtcPolicyListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('dir','dir','디렉토리','디렉토리','dir'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAllSchdulManageList','/cop/smt/sam/','전체일정관리','전체일정관리','/cop/smt/sam/EgovAllSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAuthorGroupList','/sec/rgm/','권한그룹관리','권한그룹관리','/sec/rgm/EgovAuthorGroupList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAuthorList','/sec/ram/','권한관리','권한관리','/sec/ram/EgovAuthorList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovBndtCeckManageList','/uss/ion/bnt/','당직체크관리','당직체크관리','/uss/ion/bnt/EgovBndtCeckManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovBndtManageList','/uss/ion/bnt/','당직관리','당직관리','/uss/ion/bnt/EgovBndtManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmAdministCodeList','/sym/ccm/adc/','행정코드관리','행정코드관리','/sym/ccm/adc/EgovCcmAdministCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnClCodeList','/sym/ccm/ccc/','공통분류코드','공통분류코드','/sym/ccm/ccc/EgovCcmCmmnClCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnCodeList','/sym/ccm/cca/','공통코드','공통코드','/sym/ccm/cca/EgovCcmCmmnCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnDetailCodeList','/sym/ccm/cde/','공통상세코드','공통상세코드','/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmZipList','/sym/ccm/zip/','우편번호관리','우편번호관리','/sym/ccm/zip/EgovCcmZipList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamAppraisalList','/dam/app/','지식평가관리','지식평가관리','/dam/app/EgovComDamAppraisalList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamManagementList','/dam/mgm/','지식정보관리','지식정보관리','/dam/mgm/EgovComDamManagementList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamMapMaterialList','/dam/map/mat/','지식맵관리(유형)','지식맵관리(유형)','/dam/map/mat/EgovComDamMapMaterialList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamMapTeamList','/dam/map/tea/','지식맵관리(조직)','지식맵관리(조직)','/dam/map/tea/EgovComDamMapTeamList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamPersonalList','/dam/per/','개인지식관리','개인지식관리','/dam/per/EgovComDamPersonalList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamSpecialistList','/dam/spe/spe/','지식전문가관리','지식전문가관리','/dam/spe/spe/EgovComDamSpecialistList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComUtlHttpMonList','/utl/sys/htm/','HTTP서비스모니터링','HTTP서비스모니터링','/utl/sys/htm/EgovComUtlHttpMonList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComUtlProcessMonList','/utl/sys/prm/','프로세스모니터링','프로세스모니터링','/utl/sys/prm/EgovComUtlProcessMonList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCtsnnConfmList','/uss/ion/ctn/','직원경조사승인관리','직원경조사승인관리','/uss/ion/ctn/EgovCtsnnConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDeptAuthorList','/sec/drm/','부서권한관리','부서권한관리','/sec/drm/EgovDeptAuthorList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDeptSchdulManageList','/cop/smt/sdm/','부서일정관리','부서일정관리','/cop/smt/sdm/EgovDeptSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDiaryManageList','/cop/smt/dsm/','일지관리','일지관리','/cop/smt/dsm/EgovDiaryManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEntrprsMberManage','/uss/umt/','기업회원관리','기업회원관리','/uss/umt/EgovEntrprsMberManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventCmpgnList','/uss/ion/ecc/','행사/이벤트/캠페인','행사/이벤트/캠페인','/uss/ion/ecc/EgovEventCmpgnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventRcrptManageList','/uss/ion/evt/','행사접수관리','행사접수관리','/uss/ion/evt/EgovEventRcrptManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventReqstManageList','/uss/ion/evt/','행사신청관리','행사신청관리','/uss/ion/evt/EgovEventReqstManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovGroupList','/sec/gmt/','그룹관리','그룹관리','/sec/gmt/EgovGroupList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovIndvdlpgeCntntsList','/uss/mpe/','마이페이지관리','마이페이지관리','/uss/mpe/EgovIndvdlpgeCntntsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovIndvdlSchdulManageList','/cop/smt/sim/','일정관리','일정관리','/cop/smt/sim/EgovIndvdlSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('egovLoginUsr','/uat/uia/','로그인','로그인','/uat/uia/egovLoginUsr.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMberManage','/uss/umt/','일반회원관리','일반회원관리','/uss/umt/EgovMberManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMeetingManageList','/uss/olp/mgt/','회의관리','회의관리','/uss/olp/mgt/EgovMeetingManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuCreatManageSelect','/sym/mnu/mcm/','메뉴생성관리','메뉴생성관리','/sym/mnu/mcm/EgovMenuCreatManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuListSelect','/sym/mnu/mpm/','메뉴리스트관리','메뉴리스트관리','/sym/mnu/mpm/EgovMenuListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuManageSelect','/sym/mnu/mpm/','메뉴관리리스트','메뉴관리리스트','/sym/mnu/mpm/EgovMenuManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChangeRequstProcessListSelect','/sym/prm/','프로그램변경요청처리','프로그램변경요청처리','/sym/prm/EgovProgramChangeRequstProcessListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChangeRequstSelect','/sym/prm/','프로그램변경요청관리','프로그램변경요청관리','/sym/prm/EgovProgramChangeRequstSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChgHstListSelect','/sym/prm/','프로그램변경이력','프로그램변경이력','/sym/prm/EgovProgramChgHstListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramListManageSelect','/sym/prm/','프로그램관리','프로그램관리','/sym/prm/EgovProgramListManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrItemManageList','/uss/olp/qim/','항목관리','항목관리','/uss/olp/qim/EgovQustnrItemManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrManageList','/uss/olp/qmc/','설문관리','설문관리','/uss/olp/qmc/EgovQustnrManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrQestnManageList','/uss/olp/qqm/','질문관리','질문관리','/uss/olp/qqm/EgovQustnrQestnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrRespondInfoManageList','/uss/olp/qnn/','설문조사','설문조사','/uss/olp/qnn/EgovQustnrRespondInfoManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrRespondManageList','/uss/olp/qrm/','응답자관리','응답자관리','/uss/olp/qrm/EgovQustnrRespondManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrTmplatManageList','/uss/olp/qtm/','설문템플릿관리','설문템플릿관리','/uss/olp/qtm/EgovQustnrTmplatManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRestdeList','/sym/cal/','공휴일관리(달력)','공휴일관리(달력)','/sym/cal/EgovRestdeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRoleList','/sec/rmt/','롤관리','롤관리','/sec/rmt/EgovRoleList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRwardConfmList','/uss/ion/rwd/','포상승인관리','포상승인관리','/uss/ion/rwd/EgovRwardConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovSiteMapng','/sym/mnu/stm/','사이트맵','사이트맵','/sym/mnu/stm/EgovSiteMapng.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovTnextrlHrInfoList','/uss/ion/ecc/','외부인사정보','외부인사정보','/uss/ion/ecc/EgovTnextrlHrInfoList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovUserManage','/uss/umt/','업무사용자관리','업무사용자관리','/uss/umt/EgovUserManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovVcatnConfmList','/uss/ion/vct/','휴가승인관리','휴가승인관리','/uss/ion/vct/EgovVcatnConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovVcatnManageList','/uss/ion/vct/','휴가관리','휴가관리','/uss/ion/vct/EgovVcatnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('FaqListInqire','/uss/olh/faq/','FAQ관리','FAQ관리','/uss/olh/faq/FaqListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBackupOpertList','/sym/sym/bak/','백업관리','백업관리','/sym/sym/bak/getBackupOpertList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBackupResultList','/sym/sym/bak/','백업결과관리','백업결과관리','/sym/sym/bak/getBackupResultList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchOpertList','/sym/bat/','배치작업관리','배치작업관리','/sym/bat/getBatchOpertList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchResultList','/sym/bat/','배치결과관리','배치결과관리','/sym/bat/getBatchResultList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchSchdulList','/sym/bat/','스케줄처리','스케줄처리','/sym/bat/getBatchSchdulList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcInsttList','/ssi/syi/iis/','연계기관관리','연계기관관리','/ssi/syi/iis/getCntcInsttList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcMessageList','/ssi/syi/ims/','연계메시지관리','연계메시지관리','/ssi/syi/ims/getCntcMessageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcSttusList','/ssi/syi/ist/','연계현황관리','연계현황관리','/ssi/syi/ist/getCntcSttusList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getDbMntrngList','/utl/sys/dbm/','DB서비스모니터링','DB서비스모니터링','/utl/sys/dbm/getDbMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getInsttCodeRecptnList','/sym/ccm/icr/','기관코드수신','기관코드수신','/sym/ccm/icr/getInsttCodeRecptnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getMainImageResult','/uss/ion/msi/','메인이미지 반영결과보기','메인이미지 반영결과보기','/uss/ion/msi/getMainImageResult.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getSystemCntcList','/ssi/syi/sim/','시스템연계관리','시스템연계관리','/ssi/syi/sim/getSystemCntcList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getTrsmrcvMntrngList','/utl/sys/trm/','송수신모니터링','송수신모니터링','/utl/sys/trm/getTrsmrcvMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('HpcmListInqire','/uss/olh/hpc/','도움말','도움말','/uss/olh/hpc/HpcmListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('insertSndngMailView','/cop/ems/','메일발송','메일발송','/cop/ems/insertSndngMailView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listAdministrationWord','/uss/olh/awm/','행정전문용어사전','행정전문용어사전','/uss/olh/awm/listAdministrationWord.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listAdministrationWordManage','/uss/olh/awm/','행정전문용어사전관리','행정전문용어사전관리','/uss/olh/awm/listAdministrationWordManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listIndvdlInfoPolicy','/uss/sam/ipm/','개인정보보호정책확인','개인정보보호정책확인','/uss/sam/ipm/listIndvdlInfoPolicy.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listNoteRecptn','/uss/ion/ntr/','받은쪽지함관리','받은쪽지함관리','/uss/ion/ntr/listNoteRecptn.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listNoteTrnsmit','/uss/ion/nts/','보낸쪽지함관리','보낸쪽지함관리','/uss/ion/nts/listNoteTrnsmit.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlineManual','/uss/olh/omm/','온라인매뉴얼','온라인매뉴얼','/uss/olh/omm/selectOnlineManualList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlinePollManage','/uss/olp/opm/','온라인poll관리','온라인poll관리','/uss/olp/opm/listOnlinePollManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlinePollPartcptn','/uss/olp/opp/','온라인poll참여','온라인poll참여','/uss/olp/opp/listOnlinePollPartcptn.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listPopup','/uss/ion/pwm/','팝업창관리','팝업창관리','/uss/ion/pwm/listPopup.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRecentSrchwrd','/uss/ion/rsm/','최근검색어 목록','최근검색어 목록','/uss/ion/rsm/listRecentSrchwrd.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRequestOffer','/dam/spe/req/','지식정보제공','지식정보제공','/dam/spe/req/listRequestOffer.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRssTagManage','/uss/ion/rss/','RSS태그관리','RSS태그관리','/uss/ion/rss/listRssTagManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRssTagService','/uss/ion/rsn/','RSS태그서비스','RSS태그서비스','/uss/ion/rsn/listRssTagService.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listUnityLink','/uss/ion/ulm/','통합링크관리','통합링크관리','/uss/ion/ulm/listUnityLink.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listWikiBookmark','/uss/ion/wik/bmk/','Wiki기능','Wiki기능','/uss/ion/wik/bmk/listWikiBookmark.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('loginSessionView','/utl/sys/rsc/','로그인세션정보체크','로그인세션정보체크','/utl/sys/rsc/loginSessionView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('NewsInfoListInqire','/uss/ion/nws/','뉴스관리','뉴스관리','/uss/ion/nws/NewsInfoListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('OnlineManualUserList','/uss/olh/omn/','사용자온라인매뉴얼','사용자온라인매뉴얼','/uss/olh/omn/selectOnlineManualList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('QnaAnswerListInqire','/uss/olh/qnm/','Q&amp;A답변관리','Q&amp;A답변관리','/uss/olh/qnm/QnaAnswerListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('QnaListInqire','/uss/olh/qna/','Q&amp;A관리','Q&amp;A관리','/uss/olh/qna/QnaListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('RecomendSiteListInqire','/uss/ion/rec/','추천사이트관리','추천사이트관리','/uss/ion/rec/RecomendSiteListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('registEgovNoteManage','/uss/ion/ntm/','쪽지관리','쪽지관리','/uss/ion/ntm/registEgovNoteManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAdbkList','/cop/adb/','주소록관리','주소록관리','/cop/adb/selectAdbkList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAnnvrsryMainList','/uss/ion/ans/','기념일목록(확인용)','기념일목록(확인용)','/uss/ion/ans/selectAnnvrsryMainList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAnnvrsryManageList','/uss/ion/ans/','기념일관리','기념일관리','/uss/ion/ans/selectAnnvrsryManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBannerList','/uss/ion/bnr/','배너관리','배너관리','/uss/ion/bnr/selectBannerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBannerMainList','/uss/ion/bnr/','MYPAGE배너관리','MYPAGE배너관리','/uss/ion/bnr/selectBannerMainList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectBBSMasterInfs','/cop/bbs/','게시판속성관리','게시판속성관리','/cop/bbs/SelectBBSMasterInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBbsStats','/sts/bst/','게시물통계','게시물통계','/sts/bst/selectBbsStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBBSUseInfs','/cop/com/','게시판사용정보','게시판사용정보','/cop/com/selectBBSUseInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBkmkMenuManageList','/sym/mnu/bmm/','바로가기메뉴관리','바로가기메뉴관리','/sym/mnu/bmm/selectBkmkMenuManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectCmmntyInfs','/cop/cmy/','커뮤니티관리','커뮤니티관리','/cop/cmy/selectCmmntyInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectConectStats','/sts/cst/','접속통계','접속통계','/sts/cst/selectConectStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectCtsnnManageList','/uss/ion/ctn/','직원경조사관리','직원경조사관리','/uss/ion/ctn/selectCtsnnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptJobBxList','/cop/smt/djm/','부서업무함관리','부서업무함관리','/cop/smt/djm/selectDeptJobBxList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptJobList','/cop/smt/djm/','부서업무정보','부서업무정보','/cop/smt/djm/selectDeptJobList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptManageListView','/uss/umt/dpt/','부서관리','부서관리','/uss/umt/dpt/selectDeptManageListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDtaUseStatsList','/sts/dst/','자료이용현황통계','자료이용현황통계','/sts/dst/selectDtaUseStatsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectEventRceptConfmList','/uss/ion/evt/','행사접수승인관리','행사접수승인관리','/uss/ion/evt/selectEventRceptConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectFileSysMntrngList','/utl/sys/fsm/','파일시스템모니터링','파일시스템모니터링','/utl/sys/fsm/selectFileSysMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectIntnetSvcGuidanceList','/uss/ion/isg/','인터넷서비스안내및관리','인터넷서비스안내및관리','/uss/ion/isg/selectIntnetSvcGuidanceList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLeaderSchdulList','/cop/smt/lsm/usr/','간부일정관리','간부일정관리','/cop/smt/lsm/usr/selectLeaderSchdulList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectLoginLogList','/sym/log/clg/','접속로그관리','접속로그관리','/sym/log/clg/SelectLoginLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLoginPolicyList','/uat/uap/','로그인정책관리','로그인정책관리','/uat/uap/selectLoginPolicyList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLoginScrinImageList','/uss/ion/lsi/','로그인화면이미지관리','로그인화면이미지관리','/uss/ion/lsi/selectLoginScrinImageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMainImageList','/uss/ion/msi/','메인이미지관리','메인이미지관리','/uss/ion/msi/selectMainImageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMemoReprtList','/cop/smt/mrm/','메모보고','메모보고','/cop/smt/mrm/selectMemoReprtList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMemoTodoList','/cop/smt/mtm/','메모할일관리','메모할일관리','/cop/smt/mtm/selectMemoTodoList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMntrngServerList','/utl/sys/srm/','서버자원모니터링-대상목록','서버자원모니터링-대상목록','/utl/sys/srm/selectMntrngServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMtgPlaceManageList','/uss/ion/mtg/','회의실관리','회의실관리','/uss/ion/mtg/selectMtgPlaceManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMtgPlaceResveManageList','/uss/ion/mtg/','회의실예약관리','회의실예약관리','/uss/ion/mtg/selectMtgPlaceResveManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMyNcrdUseInf','/cop/ncm/','내명함목록','내명함목록','/cop/ncm/selectMyNcrdUseInf.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNcrdInfs','/cop/ncm/','명함관리','명함관리','/cop/ncm/selectNcrdInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNotificationList','/uss/ion/noi/','정보알림이','정보알림이','/uss/ion/noi/selectNotificationList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNtwrkList','/sym/sym/nwk/','네트워크관리','네트워크관리','/sym/sym/nwk/selectNtwrkList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNtwrkSvcMntrngList','/utl/sys/nsm/','네트워크서비스모니터링','네트워크서비스모니터링','/utl/sys/nsm/selectNtwrkSvcMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectProxySvcList','/utl/sys/pxy/','프록시서비스','프록시서비스','/utl/sys/pxy/selectProxySvcList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectReprtStatsListView','/sts/rst/','보고서통계','보고서통계','/sts/rst/selectReprtStatsListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectRwardManageList','/uss/ion/rwd/','포상관리','포상관리','/uss/ion/rwd/selectRwardManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectScrapList','/cop/scp/','스크랩 목록','스크랩 목록','/cop/scp/selectScrapList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectScrinStats','/sts/sst/','화면통계','화면통계','/sts/sst/selectScrinStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectServerEqpmnList','/sym/sym/srv/','서버정보관리','서버정보관리','/sym/sym/srv/selectServerEqpmnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectServerList','/sym/sym/srv/','서버(S/W)목록','서버(S/W)목록','/sym/sym/srv/selectServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSmsList','/cop/sms/','문자메시지','문자메시지','/cop/sms/selectSmsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSndngMailList','/cop/ems/','발송메일내역','발송메일내역','/cop/ems/selectSndngMailList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSynchrnServerList','/utl/sys/ssy/','파일동기화(대상서버)','파일동기화(대상서버)','/utl/sys/ssy/selectSynchrnServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectSysHistoryList','/sym/log/slg/','시스템이력관리','시스템이력관리','/sym/log/slg/SelectSysHistoryList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectSysLogList','/sym/log/lgm/','로그관리','로그관리','/sym/log/lgm/SelectSysLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTemplateInfs','/cop/tpl/','템플릿관리','템플릿관리','/cop/tpl/selectTemplateInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTroblProcessList','/sym/tbm/tbp/','장애처리결과관리','장애처리결과관리','/sym/tbm/tbp/selectTroblProcessList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTroblReqstList','/sym/tbm/tbr/','장애신청관리','장애신청관리','/sym/tbm/tbr/selectTroblReqstList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectTrsmrcvLogList','/sym/log/tlg/','송/수신로그관리','송/수신로그관리','/sym/log/tlg/SelectTrsmrcvLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTwitterMain','/uss/ion/tir/','Twitter연동','Twitter연동','/uss/ion/tir/selectTwitterMain.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectUserAbsnceListView','/uss/ion/uas/','사용자부재관리','사용자부재관리','/uss/ion/uas/selectUserAbsnceListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectUserLogList','/sym/log/ulg/','사용로그관리','사용로그관리','/sym/log/ulg/SelectUserLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectUserStats','/sts/ust/','사용자통계','사용자통계','/sts/ust/selectUserStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectWebLogList','/sym/log/wlg/','웹로그관리','웹로그관리','/sym/log/wlg/SelectWebLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectWikMnthngReprtList','/cop/smt/wmr/','주간/월간보고관리','주간/월간보고관리','/cop/smt/wmr/selectWikMnthngReprtList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SiteListInqire','/uss/ion/sit/','사이트관리','사이트관리','/uss/ion/sit/SiteListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('StplatListInqire','/uss/sam/stp/','약관관리','약관관리','/uss/sam/stp/StplatListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('WordDicaryListInqire','/uss/olh/wor/','용어사전','용어사전','/uss/olh/wor/WordDicaryListInqire.do'); + +-- 메뉴정보 +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('root','dir',0,0,1,'root','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자디렉토리/통합인증','dir',1000000,0,1,'사용자디렉토리/통합인증','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인','egovLoginUsr',1010000,1000000,1,'로그인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인정책관리','selectLoginPolicyList',1020000,1000000,2,'로그인정책관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보안','dir',2000000,0,2,'보안','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('권한관리','EgovAuthorList',2010000,2000000,1,'권한관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('권한그룹관리','EgovAuthorGroupList',2020000,2000000,2,'권한그룹관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('그룹관리','EgovGroupList',2030000,2000000,3,'그룹관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('롤관리','EgovRoleList',2040000,2000000,4,'롤관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서권한관리','EgovDeptAuthorList',2050000,2000000,5,'부서권한관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('통계/리포팅','dir',3000000,0,3,'통계/리포팅','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시물통계','selectBbsStats',3010000,3000000,1,'게시물통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자통계','selectUserStats',3020000,3000000,2,'사용자통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('접속통계','selectConectStats',3030000,3000000,3,'접속통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('화면통계','selectScrinStats',3040000,3000000,4,'화면통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보고서통계','selectReprtStatsListView',3050000,3000000,5,'보고서통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('자료이용현황통계','selectDtaUseStatsList',3060000,3000000,6,'자료이용현황통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('협업','dir',4000000,0,4,'협업','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시판속성관리','SelectBBSMasterInfs',4010000,4000000,1,'게시판속성관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시판사용정보','selectBBSUseInfs',4020000,4000000,2,'게시판사용정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('템플릿관리','selectTemplateInfs',4030000,4000000,3,'템플릿관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('스크랩 목록','selectScrapList',4040000,4000000,4,'스크랩 목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('커뮤니티관리','selectCmmntyInfs',4050000,4000000,5,'커뮤니티관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('문자메시지','selectSmsList',4060000,4000000,6,'문자메시지','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서일정관리','EgovDeptSchdulManageList',4070000,4000000,7,'부서일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일정관리','EgovIndvdlSchdulManageList',4080000,4000000,8,'일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일지관리','EgovDiaryManageList',4090000,4000000,9,'일지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('전체일정관리','EgovAllSchdulManageList',4100000,4000000,10,'전체일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메일발송','insertSndngMailView',4110000,4000000,11,'메일발송','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('발송메일내역','selectSndngMailList',4120000,4000000,12,'발송메일내역','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('명함관리','selectNcrdInfs',4130000,4000000,13,'명함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('내명함목록','selectMyNcrdUseInf',4140000,4000000,14,'내명함목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('주소록관리','selectAdbkList',4150000,4000000,15,'주소록관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('간부일정관리','selectLeaderSchdulList',4160000,4000000,16,'간부일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서업무함관리','selectDeptJobBxList',4170000,4000000,17,'부서업무함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서업무정보','selectDeptJobList',4180000,4000000,18,'부서업무정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('주간/월간보고관리','selectWikMnthngReprtList',4190000,4000000,19,'주간/월간보고관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메모할일관리','selectMemoTodoList',4200000,4000000,20,'메모할일관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메모보고','selectMemoReprtList',4210000,4000000,21,'메모보고','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자지원','dir',5000000,0,5,'사용자지원','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기업회원관리','EgovEntrprsMberManage',5010000,5000000,1,'기업회원관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('업무사용자관리','EgovUserManage',5020000,5000000,2,'업무사용자관리','',''); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서관리','selectDeptManageListView',5030000,5000000,3,'부서관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일반회원관리','EgovMberManage',5040000,5000000,4,'일반회원관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('마이페이지관리','EgovIndvdlpgeCntntsList',5050000,5000000,5,'마이페이지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('약관관리','StplatListInqire',5060000,5000000,6,'약관관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('저작권보호정책','CpyrhtPrtcPolicyListInqire',5070000,5000000,7,'저작권보호정책','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('개인정보보호정책확인','listIndvdlInfoPolicy',5080000,5000000,8,'개인정보보호정책확인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('도움말','HpcmListInqire',5090000,5000000,9,'도움말','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('용어사전','WordDicaryListInqire',5100000,5000000,10,'용어사전','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('FAQ관리','FaqListInqire',5110000,5000000,11,'FAQ관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Q&amp;A관리','QnaListInqire',5120000,5000000,12,'Q&amp;A관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Q&amp;A답변관리','QnaAnswerListInqire',5130000,5000000,13,'Q&amp;A답변관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정전문용어사전','listAdministrationWord',5140000,5000000,14,'행정전문용어사전','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정전문용어사전관리','listAdministrationWordManage',5150000,5000000,15,'행정전문용어사전관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인매뉴얼','listOnlineManual',5160000,5000000,16,'온라인매뉴얼','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자온라인매뉴얼','OnlineManualUserList',5170000,5000000,17,'사용자온라인매뉴얼','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('상담관리','CnsltListInqire',5180000,5000000,18,'상담관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('상담답변관리','CnsltAnswerListInqire',5190000,5000000,19,'상담답변관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문관리','EgovQustnrManageList',5200000,5000000,20,'설문관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문조사','EgovQustnrRespondInfoManageList',5210000,5000000,21,'설문조사','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문템플릿관리','EgovQustnrTmplatManageList',5220000,5000000,22,'설문템플릿관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('응답자관리','EgovQustnrRespondManageList',5230000,5000000,23,'응답자관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('질문관리','EgovQustnrQestnManageList',5240000,5000000,24,'질문관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('항목관리','EgovQustnrItemManageList',5250000,5000000,25,'항목관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의관리','EgovMeetingManageList',5260000,5000000,26,'회의관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인poll관리','listOnlinePollManage',5270000,5000000,27,'온라인poll관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인poll참여','listOnlinePollPartcptn',5280000,5000000,28,'온라인poll참여','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('뉴스관리','NewsInfoListInqire',5290000,5000000,29,'뉴스관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사이트관리','SiteListInqire',5300000,5000000,30,'사이트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('추천사이트관리','RecomendSiteListInqire',5310000,5000000,31,'추천사이트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사/이벤트/캠페인','EgovEventCmpgnList',5320000,5000000,32,'행사/이벤트/캠페인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('외부인사정보','EgovTnextrlHrInfoList',5330000,5000000,33,'외부인사정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('팝업창관리','listPopup',5340000,5000000,34,'팝업창관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('정보알림이','selectNotificationList',5350000,5000000,35,'정보알림이','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배너관리','selectBannerList',5360000,5000000,36,'배너관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('MYPAGE배너관리','selectBannerMainList',5370000,5000000,37,'MYPAGE배너관리','',''); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인화면이미지관리','selectLoginScrinImageList',5380000,5000000,38,'로그인화면이미지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('최근검색어 목록','listRecentSrchwrd',5390000,5000000,39,'최근검색어 목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메인이미지관리','selectMainImageList',5400000,5000000,40,'메인이미지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메인이미지 반영결과보기','getMainImageResult',5410000,5000000,41,'메인이미지 반영결과보기','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('통합링크관리','listUnityLink',5420000,5000000,42,'통합링크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자부재관리','selectUserAbsnceListView',5430000,5000000,43,'사용자부재관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('인터넷서비스안내및관리','selectIntnetSvcGuidanceList',5440000,5000000,44,'인터넷서비스안내및관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Wiki기능','listWikiBookmark',5450000,5000000,45,'Wiki기능','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('RSS태그관리','listRssTagManage',5460000,5000000,46,'RSS태그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('RSS태그서비스','listRssTagService',5470000,5000000,47,'RSS태그서비스','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Twitter연동','selectTwitterMain',5480000,5000000,48,'Twitter연동','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('쪽지관리','registEgovNoteManage',5490000,5000000,49,'쪽지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('받은쪽지함관리','listNoteRecptn',5500000,5000000,50,'받은쪽지함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보낸쪽지함관리','listNoteTrnsmit',5510000,5000000,51,'보낸쪽지함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의실관리','selectMtgPlaceManageList',5520000,5000000,52,'회의실관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의실예약관리','selectMtgPlaceResveManageList',5530000,5000000,53,'회의실예약관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('직원경조사관리','selectCtsnnManageList',5540000,5000000,54,'직원경조사관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('직원경조사승인관리','EgovCtsnnConfmList',5550000,5000000,55,'직원경조사승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('휴가관리','EgovVcatnManageList',5560000,5000000,56,'휴가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('휴가승인관리','EgovVcatnConfmList',5570000,5000000,57,'휴가승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('당직관리','EgovBndtManageList',5580000,5000000,58,'당직관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('당직체크관리','EgovBndtCeckManageList',5590000,5000000,59,'당직체크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('포상관리','selectRwardManageList',5600000,5000000,60,'포상관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('포상승인관리','EgovRwardConfmList',5610000,5000000,61,'포상승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기념일관리','selectAnnvrsryManageList',5620000,5000000,62,'기념일관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기념일목록(확인용)','selectAnnvrsryMainList',5630000,5000000,63,'기념일목록(확인용)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사신청관리','EgovEventReqstManageList',5640000,5000000,64,'행사신청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사접수관리','EgovEventRcrptManageList',5650000,5000000,65,'행사접수관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사접수승인관리','selectEventRceptConfmList',5660000,5000000,66,'행사접수승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템관리','dir',6000000,0,6,'시스템관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통분류코드','EgovCcmCmmnClCodeList',6010000,6000000,1,'공통분류코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통상세코드','EgovCcmCmmnDetailCodeList',6020000,6000000,2,'공통상세코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통코드','EgovCcmCmmnCodeList',6030000,6000000,3,'공통코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('우편번호관리','EgovCcmZipList',6040000,6000000,4,'우편번호관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정코드관리','EgovCcmAdministCodeList',6050000,6000000,5,'행정코드관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기관코드수신','getInsttCodeRecptnList',6060000,6000000,6,'기관코드수신','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그관리','SelectSysLogList',6070000,6000000,7,'로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용로그관리','SelectUserLogList',6080000,6000000,8,'사용로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('송/수신로그관리','SelectTrsmrcvLogList',6090000,6000000,9,'송/수신로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템이력관리','SelectSysHistoryList',6100000,6000000,10,'시스템이력관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('웹로그관리','SelectWebLogList',6110000,6000000,11,'웹로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('접속로그관리','SelectLoginLogList',6120000,6000000,12,'접속로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴리스트관리','EgovMenuListSelect',6130000,6000000,13,'메뉴리스트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴관리리스트','EgovMenuManageSelect',6140000,6000000,14,'메뉴관리리스트','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴생성관리','EgovMenuCreatManageSelect',6150000,6000000,15,'메뉴생성관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사이트맵','EgovSiteMapng',6160000,6000000,16,'사이트맵','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('바로가기메뉴관리','selectBkmkMenuManageList',6170000,6000000,17,'바로가기메뉴관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램관리','EgovProgramListManageSelect',6180000,6000000,18,'프로그램관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경요청관리','EgovProgramChangeRequstSelect',6190000,6000000,19,'프로그램변경요청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경요청처리','EgovProgramChangeRequstProcessListSelect',6200000,6000000,20,'프로그램변경요청처리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경이력','EgovProgramChgHstListSelect',6210000,6000000,21,'프로그램변경이력','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배치작업관리','getBatchOpertList',6220000,6000000,22,'배치작업관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배치결과관리','getBatchResultList',6230000,6000000,23,'배치결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('스케줄처리','getBatchSchdulList',6240000,6000000,24,'스케줄처리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('백업관리','getBackupOpertList',6250000,6000000,25,'백업관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('백업결과관리','getBackupResultList',6260000,6000000,26,'백업결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('네트워크관리','selectNtwrkList',6270000,6000000,27,'네트워크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버정보관리','selectServerEqpmnList',6280000,6000000,28,'서버정보관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버(S/W)목록','selectServerList',6290000,6000000,29,'서버(S/W)목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('장애신청관리','selectTroblReqstList',6300000,6000000,30,'장애신청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('장애처리결과관리','selectTroblProcessList',6310000,6000000,31,'장애처리결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템/서비스연계','dir',7000000,0,7,'시스템/서비스연계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템연계관리','getSystemCntcList',7010000,7000000,1,'시스템연계관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계현황관리','getCntcSttusList',7020000,7000000,2,'연계현황관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계메시지관리','getCntcMessageList',7030000,7000000,3,'연계메시지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계기관관리','getCntcInsttList',7040000,7000000,4,'연계기관관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('자산 관리','dir',8000000,0,8,'자산 관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('개인지식관리','EgovComDamPersonalList',8010000,8000000,1,'개인지식관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식맵관리(유형)','EgovComDamMapMaterialList',8020000,8000000,2,'지식맵관리(유형)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식맵관리(조직)','EgovComDamMapTeamList',8030000,8000000,3,'지식맵관리(조직)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식전문가관리','EgovComDamSpecialistList',8040000,8000000,4,'지식전문가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식정보관리','EgovComDamManagementList',8050000,8000000,5,'지식정보관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식평가관리','EgovComDamAppraisalList',8060000,8000000,6,'지식평가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식정보제공','listRequestOffer',8070000,8000000,7,'지식정보제공','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('요소기술','dir',9000000,0,9,'요소기술','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공휴일관리(달력)','EgovRestdeList',9010000,9000000,1,'공휴일관리(달력)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('송수신모니터링','getTrsmrcvMntrngList',9020000,9000000,2,'송수신모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('DB서비스모니터링','getDbMntrngList',9030000,9000000,3,'DB서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('HTTP서비스모니터링','EgovComUtlHttpMonList',9040000,9000000,4,'HTTP서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로세스모니터링','EgovComUtlProcessMonList',9050000,9000000,5,'프로세스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('네트워크서비스모니터링','selectNtwrkSvcMntrngList',9060000,9000000,6,'네트워크서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('파일시스템모니터링','selectFileSysMntrngList',9070000,9000000,7,'파일시스템모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프록시서비스','selectProxySvcList',9080000,9000000,8,'프록시서비스','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('파일동기화(대상서버)','selectSynchrnServerList',9090000,9000000,9,'파일동기화(대상서버)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인세션정보체크','loginSessionView',9100000,9000000,10,'로그인세션정보체크','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버자원모니터링-대상목록','selectMntrngServerList',9110000,9000000,11,'서버자원모니터링-대상목록','/','/'); + +-- 기본템플릿 +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_BOARD_DEFAULT', '게시판 기본템플릿', 'TMPT01', '/css/egovframework/com/cop/tpl/egovbbsTemplate.css', 'Y', 'SYSTEM', SYSDATE()); +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_CMNTY_DEFAULT', '커뮤니티 기본템플릿', 'TMPT02', 'egovframework/com/cop/tpl/EgovCmmntyBaseTmpl', 'Y', 'SYSTEM', SYSDATE()); +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_CLUB__DEFAULT', '동호회 기본템플릿', 'TMPT03', 'egovframework/com/cop/tpl/EgovClbBaseTmpl', 'Y', 'SYSTEM', SYSDATE()); + +-- 우편번호 +INSERT INTO COMTCZIP(ZIP, SN, CTPRVN_NM, SIGNGU_NM, EMD_NM, LI_BULD_NM, LNBR_DONG_HO, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('100775',7381,'서울','중구','무교동','한국정보화진흥원','',SYSDATE(),'SYSTEM',SYSDATE(),'SYSTEM'); +INSERT INTO COMTRDNMADRZIP(RDMN_CODE, SN, CTPRVN_NM, SIGNGU_NM, RDMN, BDNBR_MNNM, BDNBR_SLNO, BULD_NM, DETAIL_BULD_NM, ZIP, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('111403100021','1','서울특별시','중구','청계천로','14','0','한국정보사회진흥원','','100775',SYSDATE(),'SYSTEM',SYSDATE(),'SYSTEM'); + +-- 최근검색어조회 +INSERT INTO COMTNRECENTSRCHWRDMANAGE(SRCHWRD_MANAGE_ID, SRCHWRD_MANAGE_NM, SRCHWRD_CONECT_URL, USER_SEARCH_AT,FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES('SRCMGR_0000000000001','공통코드관리','/sym/ccm/cca/SelectCcmCmmnCodeList.do','Y',SYSDATE(),'USRCNFRM_00000000000',SYSDATE(),'USRCNFRM_00000000000'); Index: base3.10/script/dml/tibero/com_DML_tibero.sql =================================================================== --- base3.10/script/dml/tibero/com_DML_tibero.sql (nonexistent) +++ base3.10/script/dml/tibero/com_DML_tibero.sql (revision 7) @@ -0,0 +1,1023 @@ +-- ID Generator +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADBKUSER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADBK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADMINIST_WORD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADMIN_CODE_OPERT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ANN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BACKUP_OPERT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BACKUP_RESULT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BANNER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_OPERT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_RESULT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BBS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CLB_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CMMNTY_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNSLT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTC_MESSAGE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTNTS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('COMTECOPSEQ', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CPYRHT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CTSNN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DAM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DB_MNTRNG_LOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DEPT_JOB_BX_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DEPT_JOB_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DIARY_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DUS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EVENTINFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EVENT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EXTRLHRINFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FAQ_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILESYS_LOGID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILESYS_MNTRNG', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('GROUP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HPCM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HTTL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HTTP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INDVDL_INFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INFRML_SANCTN', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INSTT_CODE_OPERT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INSTT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ISG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ITEM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('KNO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('KNO_ID2', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LEADER_SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LOGINLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LSI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MAILMSG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MEMO_REPRT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MEMO_TODO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MSI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MTG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MTG_PLACE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NCRD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NEWS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_RECPTN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_TRNSMIT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTWRKSVC_LOGID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTWRK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ONLINE_MUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_IEM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_MGR_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_RUT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POPUP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROXYLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROXYSVC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QA_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESITM_', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESRSPNS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESTNR_QESITM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESTNR_RPD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QUSTNRQESTN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QUSTNRTMPLA_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RECOMEND_SITE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RESTDE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RESVE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ROLE_ID', 20); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RSS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RWARD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SCRAP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SERVER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SEVEQ_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SITE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SMS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_MANAGEID', 2); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_MANAGE_I', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SVCRESMONTLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SVC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYNCHRNSERVER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYSLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TEST1', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TMPLAT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TROBL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TRSMRCVLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TR_MNTRNG_LOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('UNITY_LINK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('USE_STPLAT_ID', 3); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('USRCNFRM_ID', 3); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WEBLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WIKI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WIKMNTHNG_REPRT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WORD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ORGNZT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ANSWER_NO', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('STSFDG_NO', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ROUGHMAP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WRKTM_ID', 1); + +-- 공통분류코드 +INSERT INTO COMTCCMMNCLCODE(CL_CODE, CL_CODE_NM, CL_CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', '전자정부 프레임워크 공통서비스', '전자정부 프레임워크 공통서비스', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); + +-- 공통코드 +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM001', '등록구분', '게시판, 커뮤니티, 동호회 등록구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM002', '이력구분', '시스템이력등록구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM003', '업무구분', '업무구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM101', '게시판유형', '게시판유형구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM005', '템플릿유형', '템플릿유형구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM006', '승인유형', '동호회, 커뮤니티 승인 유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM007', '승인상태', '동호회, 커뮤니티 승인 상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM008', '처리상태', '송수신 요청의 처리상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM009', '게시판속성', '게시판 속성', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM010', '권한유형', '시스템을 사용하기 위한 권한 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM011', '롤유형', '시스템의 기능을 사용하기 위한 롤 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM012', '회원유형', '일반/기업/업무담당자를 구현하기 위한 사용자 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM013', '회원상태', '회원 가입 신청/승인/삭제를 위한 상태 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM014', '성별구분', '남녀 성별 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM015', '인증방식유형', '주민등록번호 인증, Gpin 인증과 같은 사용자 인증 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM016', '변경요청처리 상태', '프로그램 변경의 요청/처리 등의 변경요청 상태 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM017', '휴일구분', '휴일의 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM018', '질문유형', '질문유형 객관식/주관식 상태구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM019', '일정중요도', '일정중요도 낮음/보통/높음 상태구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM020', '일정구분', '일정구분 부서일지정보/일지정보 상태구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM021', '도움말구분', '도움말 설명 구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM022', '비밀번호 힌트', '비밀번호 힌트 구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM023', '사이트주제분류', '사이트주제분류 설명 구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM024', '발송결과구분', '발송메일 수신결과 구분 코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM025', '소속기관', '소속기관정보를 관리할때 사용하는 구분코드(시스템별로 재정의)', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM026', '기업구분', '기업구분정보를 관리할때 사용하는 구분코드(시스템별로 재정의)', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM027', '업종', '대표업종코드(시스템별로 재정의)', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM028', '질의응답처리상태', 'Q/A 처리상태코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM029', '롤유형코드', '', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM030', '일정구분', '일정구분 코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM031', '반복구분', '일정 반복구분 코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM032', '작업유형', '승인이력 작업유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM033', '시스템로그구분', '', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM034', '직업유형', '직업유형코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM035', '행사유형', '행사/이벤트/캠페인 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM036', '보고서 진행상태코드', '보고서의 진행상태를 코드화 하여 관리한다.', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM038', '온라인POLL페기유무', '온라인POLL-온라인POLL페기유무', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM039', '온라인POLL구분', '온라인POLL-온온라인POLL구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM040', '보고서 종류코드', '보고서 종류코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM041', '온라인메뉴얼구분', '온라인메누얼-온라인메뉴얼구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM042', '보고서통계기간구분', '보고서통계기간구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM043', '기관코드변경구분', '기관코드변경구분', 'Y', SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM044', '기관코드수신처리구분', '기관코드수신처리구분', 'Y', SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM045', '사용여부', '사용여부', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM046', '모니터링상태구분', '모니터링상태구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM047', '실행주기구분', '실행주기구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM048', 'DBMS종류', 'DBMS종류', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM049', '압축구분', '압축구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM050', '수신구분', '쪽지관리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM051', '승인여부', '승인여부구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM052', '달력구분', '달력구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM053', '행사구분', '행사구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM054', '경조구분', '경조구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM055', '포상구분', '포상구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM056', '휴가구분', '휴가구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM057', '일정구분', '일정구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM058', '반복구분코드', '반복구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM059', '우선순위', '우선순위', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM060', '보고서구분', '보고서구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM061', '간부상태', '간부상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM062', ' HTTP상태코드', 'HTTP상태코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM063', '상태관리', '상태관리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM064', '서버종류코드', '서버종류코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM065', '장애종류코드', '장애종류코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM066', '서버자원종류', '서버자원종류', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM067', '네트워크관리항목', '네트워크관리항목', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM068', '처리상태코드', '처리상태코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM069', '기념일구분', '기념일구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM070', '위치구분', '회의실 위치구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM071', '당직체크구분', '당직체크구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM072', '서비스상태', '서비스상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM073', '가족관계', '가족관계', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM074', '요일구분', '요일구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM075', '업무구분코드', '업무구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM076', '실행상태구분', '실행상태구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM101', '게시판유형', '게시판유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM102', '단어구분', '단어구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); + +-- 공통상세코드 +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC01', '단일 게시판 이용등록', '단일 게시판 이용등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC02', '커뮤니티 등록', '커뮤니티 등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC03', '동호회 등록', '동호회 등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC04', '명함등록', '명함등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC05', '동호회 게시판 등록', '동호회 게시판 등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC06', '커뮤니티 게시판 등록', '커뮤니티 게시판 등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC07', '게시판사용자등록', '게시판사용자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST01', '소프트웨어패치', '소프트웨어패치', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST02', '소프트웨어설치', '소프트웨어설치', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST03', '소프트웨어삭제', '소프트웨어삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST04', '하드웨어업그레이드', '하드웨어업그레이드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST05', '하드웨어삭제', '하드웨어삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'BBS', '게시판', '게시판', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'CMY', '커뮤니티', '커뮤니티', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'CLB', '동호회', '동호회', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'NCD', '명함', '명함', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT01', '게시판템플릿', '게시판템플릿', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT02', '커뮤니티템플릿', '커뮤니티템플릿', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT03', '블로그템플릿', '블로그템플릿', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF01', '커뮤니티등록', '커뮤니티등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF02', '커뮤니티삭제', '커뮤니티삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF03', '동호회등록', '동호회등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF04', '동호회삭제', '동호회삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF05', '커뮤니티운영자등록', '커뮤니티운영자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF06', '커뮤니티운영자삭제', '커뮤니티운영자삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF07', '동호회운영자등록', '동호회운영자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF08', '동호회운영자삭제', '동호회운영자삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF09', '게시판이용등록', '게시판이용등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF10', '게시판삭제', '게시판삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF11', '커뮤니티사용자등록', '커뮤니티사용자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF12', '커뮤니티사용자탈퇴', '커뮤니티사용자탈퇴', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF13', '동호회사용자등록', '동호회사용자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF14', '동호회사용자탈퇴', '동호회사용자탈퇴', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP01', '승인요청', '승인요청', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP02', '승인허가', '승인허가', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP03', '승인반려', '승인반려', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S01', '전송요청', '전송요청', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S02', '전송완료', '전송완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S03', '전송실패', '전송실패', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S04', '수신요청', '수신요청', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S05', '수신완료', '수신완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S06', '수신실패', '수신실패', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA01', '유효게시판', '유효게시판', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA02', '갤러리', '갤러리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA03', '일반게시판', '일반게시판', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVS001', '시스템 관련 권한(최상위 권한)', '시스템 관련 권한(최상위 권한)', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVD001', '데이터베이스 관련 권한', '데이터베이스 관련 권한', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVU001', '사용자 관련 권한', '사용자 관련 권한', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVA001', '어플리케이션 관련 권한', '어플리케이션 관련 권한', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVB001', '게시판 관련 권한', '게시판 관련 권한', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVC001', '커뮤니티 관련 권한', '커뮤니티 관련 권한', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS001', '시스템 관리 최상위 롤', '시스템 관리 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS002', '시스템 접근(view) 롤', '시스템 접근(view) 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS003', '시스템 설정 등록/변경 롤', '시스템 설정 등록/변경 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS004', '시스템 파일 등록/변경 롤', '시스템 파일 등록/변경 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD001', '데이터베이스 관련 최상위 롤', '데이터베이스 관련 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD002', '데이터베이스 스키마 등록/변경 롤', '데이터베이스 스키마 등록/변경 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD003', '데이터 조회 롤', '데이터 조회 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD004', '데이터 등록/변경 롤', '데이터 등록/변경 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU001', '사용자 관련 최상위 롤', '사용자 관련 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU002', '업무 시스템 사용자 관리 롤', '업무 시스템 사용자 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU003', '기업회원 시스템 사용자 관리 롤', '기업회원 시스템 사용자 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU004', '일반회원 시스템 사용자 관리 롤', '일반회원 시스템 사용자 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU005', '게시판 사용자 관리 롤', '게시판 사용자 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU006', '커뮤니티 사용자 관리 롤', '커뮤니티 사용자 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA001', '어플리케이션 관련 최상위 롤', '어플리케이션 관련 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA002', '업무 어플리케이션 접근 롤', '업무 어플리케이션 접근 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA003', '업무 어플리케이션 관리 롤', '업무 어플리케이션 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA004', '일반 어플리케이션 접근 롤', '일반 어플리케이션 접근 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA005', '일반 어프리케이션 관리 롤', '일반 어프리케이션 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA006', '어플리케이션 약관 관리 롤', '어플리케이션 약관 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA007', '어플리케이션 저작권 관리 롤', '어플리케이션 저작권 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA008', '통계 및 보고서 접근 롤', '통계 및 보고서 접근 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB001', '게시판 관련 최상위 롤', '게시판 관련 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB002', '게시판 생성 롤', '게시판 생성 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB003', '게시판 접근 롤', '게시판 접근 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB004', '게시판 글쓰기 롤', '게시판 글쓰기 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB005', '게시판 글 수정/삭제 롤', '게시판 글 수정/삭제 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC001', '커뮤니티 관련 최상위 롤', '커뮤니티 관련 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC002', '커뮤니티 생성 롤', '커뮤니티 생성 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC003', '커뮤니티 접근 롤', '커뮤니티 접근 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC004', '커뮤니티 글쓰기 롤', '커뮤니티 글쓰기 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC005', '커뮤니티 글 수정/삭제 롤', '커뮤니티 글 수정/삭제 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC006', '파일 업로드 롤', '파일 업로드 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR01', '일반 회원 유형', '일반 회원 유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR02', '기업 회원 유형', '기업 회원 유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR03', '업무 담당자(사용자) 유형', '업무 담당자(사용자) 유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR99', '사용자 유형 최상위 롤', '사용자 유형 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'A', '회원 가입 신청 상태', '회원 가입 신청 상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'P', '회원 가입 승인 상태', '회원 가입 승인 상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'D', '회원 가입 삭제 상태', '회원 가입 삭제 상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM014', 'M', '남자', '남자', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM014', 'F', '여자', '여자', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM015', 'ATH01', '주민등록번호 인증', '주민등록번호 인증', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM015', 'ATH02', 'GPIN 인증', 'GPIN 인증', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR01', '프로그램 변경 요청 신청', '프로그램 변경 요청 신청', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR02', '프로그램 변경 요청 수락', '프로그램 변경 요청 수락', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR03', '프로그램 변경 진행', '프로그램 변경 진행', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR04', '프로그램 변경 완료', '프로그램 변경 완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR05', '프로그램 변경 이관', '프로그램 변경 이관', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '01', '법정휴일', '법정휴일', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '02', '법정공휴일', '법정공휴일', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '03', '임시공휴일', '임시공휴일', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM018', '1', '객관식', '객관식', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM018', '2', '주관식', '주관식', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'A', '높음', '높음', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'B', '보통', '보통', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'C', '낮음', '낮음', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM020', '1', '부서일정관리', '부서일정관리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM020', '2', '일정관리', '일정관리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM021', '1', '기능설명', '기능설명', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM021', '2', '절차설명', '절차설명', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P01', '가장 기억에 남는 장소는?', '가장 기억에 남는 장소는?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P02', '나의 좌우명은?', '나의 좌우명은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P03', '나의 보물 제1호는?', '나의 보물 제1호는?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P04', '가장 기억에 남는 선생님 성함은?', '가장 기억에 남는 선생님 성함은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P05', '다른 사람은 모르는 나만의 신체비밀은?', '다른 사람은 모르는 나만의 신체비밀은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P06', '오래도록 기억하고 싶은 날짜는?', '오래도록 기억하고 싶은 날짜는?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P07', '받았던 선물 중 기억에 남는 독특한 선물은?', '받았던 선물 중 기억에 남는 독특한 선물은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P08', '가장 생각나는 친구 이름은?', '가장 생각나는 친구 이름은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P09', '인상 깊게 읽은 책 이름은?', '인상 깊게 읽은 책 이름은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P10', '내가 존경하는 인물은?', '내가 존경하는 인물은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P11', '나의 노래방 애창곡은?', '나의 노래방 애창곡은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P12', '가장 감명깊게 본 영화는?', '가장 감명깊게 본 영화는?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P13', '좋아하는 스포츠팀 이름은?', '좋아하는 스포츠팀 이름은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '01', '경제', '경제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '02', '전산', '전산', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '03', '행정', '행정', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'R', '요청', '요청', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'F', '실패', '실패', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'C', '완료', '완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000001', '공공기관', '공공기관', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000002', '금융기관', '금융기관', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000003', '교육기관', '교육기관', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000004', '의료기관', '의료기관', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000001', '대기업', '대기업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000002', '중소기업', '중소기업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000003', '다국적기업', '다국적기업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'A', '축산업', '축산업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'B', '어업', '어업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'C', '광업', '광업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'D', '제조업', '제조업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'E', '전기,가스및수도사업', '전기,가스및수도사업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'F', '건설업', '건설업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'G', '도소매 및 소비자용품수리업', '도소매 및 소비자용품수리업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'H', '숙박및음식점', '숙박및음식점', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'I', '운수창고및통신업', '운수창고및통신업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'J', '금융및보험업', '금융및보험업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'K', '부동산,임대및사업서비스업', '부동산,임대및사업서비스업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'M', '교육서비스업', '교육서비스업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'N', '보건업', '보건업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'O', '기타공공,사회및개인서비스업', '기타공공,사회및개인서비스업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'P', '가사서비스업', '가사서비스업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '1', '접수대기', '접수대기', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '2', '접수', '접수', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '3', '완료', '완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'method', 'METHOD', 'METHOD', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'pointcut', 'POINTCUT', 'POINTCUT', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'url', 'URL', 'URL', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '1', '회의', '회의', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '2', '세미나', '세미나', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '3', '강의', '강의', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '4', '교육', '교육', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '5', '기타', '기타', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '6', '휴일', '휴일', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '1', '당일', '당일', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '2', '반복', '반복', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '3', '연속', '연속', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '4', '요일반복', '요일반복', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC01', '회원가입', '회원가입', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC02', '사용자등록', '사용자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC03', '회원탈퇴', '회원탈퇴', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC04', '사용자삭제', '사용자삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC05', '커뮤니티등록', '커뮤니티등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC06', '동호회등록', '동호회등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC07', '커뮤니티폐쇄', '커뮤니티폐쇄', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC08', '동호회폐쇄', '동호회폐쇄', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC09', '게시판등록', '게시판등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC10', '게시판폐쇄', '게시판폐쇄', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'C', '생성', '생성', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'R', '조회', '조회', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'U', '수정', '수정', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'D', '삭제', '삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '1', '학생', '학생', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '2', '대학생', '대학생', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '3', '군인', '군인', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '4', '교사', '교사', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '5', '기타', '기타', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '1', '행사', '행사', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '2', '이벤트', '이벤트', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '3', '캠페인', '캠페인', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '01', '작성', '작성', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '02', '상신', '상신', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '03', '반려', '반려', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '04', '결재완료', '결재완료', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM038', 'N', 'N', '아니오', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM038', 'Y', 'Y', '예', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '001', '사회', '사회', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '002', '정치', '정치', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '003', '경제', '경제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '004', '문화', '문화', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '005', '인문', '인문', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '006', '공학', '공학', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '007', '기타', '기타', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '01', '휴가계획서', '휴가계획서', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '02', '출장보고서', '출장보고서', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '03', '교육보고서', '교육보고서', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '04', '판품요청서', '판품요청서', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '05', '지원요청서', '지원요청서', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '001', '절차설명', '절차설명', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '002', '기능설명', '기능설명', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '003', '기타설명', '기타설명', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y', '연도별', '연도별', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y-%m', '월별', '월별', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y-%m-%d', '일별', '일별', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '01', '생성', '생성', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '02', '변경', '변경', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '03', '말소', '말소', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '00', '수신처리', '수신처리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '01', '처리완료', '처리완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '10', '기등록', '기등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '11', '생성오류', '생성오류', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '12', '변경오류', '변경오류', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '13', '말소오류', '말소오류', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM046', '01', '정상', '정상', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM046', '02', '비정상', '비정상', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '01', '매일', '매일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '02', '매주', '매주', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '03', '매월', '매월', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '04', '매년', '매년', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '05', '한번만', '한번만', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '01', 'Oracle', 'Oracle', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '02', 'Mysql', 'Mysql', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '03', 'Tibero', 'Tibero', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '04', 'Altibase', 'Altibase', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM049', '01', 'Tar', 'Tar', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM049', '02', 'ZIP', 'ZIP', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM050', '1', '수신', '수신', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM050', '2', '참조', '참조', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '01', '신청중', '신청중', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '02', '승인', '승인', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '03', '반려', '반려', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM052', '01', '양력', '양력', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM052', '02', '음력', '음력', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '01', '교육', '교육', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '02', '세미나', '세미나', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '03', '홍보', '홍보', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '04', '단합', '단합', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '05', '간담회', '간담회', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '01', '결혼', '결혼', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '02', '출생', '출생', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '03', '회갑', '회갑', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '04', '사망', '사망', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '05', '출산', '출산', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '01', '우수사원', '우수사원', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '02', '우수팀', '우수팀', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '01', '연차휴가', '연차휴가', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '02', '반차휴가', '반차휴가', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '03', '무급휴가', '무급휴가', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '04', '유급휴가', '유급휴가', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '05', '대체휴가', '대체휴가', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '1', '회의', '회의', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '2', '방문', '방문', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '3', '세미나', '세미나', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '4', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '1', '반복없음', '당일', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '2', '매일', '매일', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '3', '매주', '매주', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '4', '매월', '매월', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '1', '높음', '높음', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '2', '보통', '보통', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '3', '낮음', '낮음', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM060', '1', '주간보고', '주간보고', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM060', '2', '월간보고', '월간보고', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '1', '재실', '재실', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '2', '자리비움', '자리비움', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '3', '회의중', '회의중', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '4', '출장중', '출장중', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '5', '휴가중', '휴가중', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '100', 'Continue ', 'Continue ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '101', 'Switching Protocols ', 'Switching Protocols ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '200', 'OK ', 'OK ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '201', 'Created ', 'Created ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '202', 'Accepted ', 'Accepted ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '203', 'Non-Authoritative Information ', 'Non-Authoritative Information ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '204', 'No Content ', 'No Content ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '205', 'Reset Content ', 'Reset Content ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '206', 'Partial Content ', 'Partial Content ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '300', 'Multiple Choices ', 'Multiple Choices ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '301', 'Moved Permanently ', 'Moved Permanently ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '302', 'Found ', 'Found ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '303', 'See Other ', 'See Other ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '304', 'Not Modified ', 'Not Modified ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '305', 'Use Proxy ', 'Use Proxy ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '307', 'Temporary Redirect ', 'Temporary Redirect ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '400', 'Bad Request ', 'Bad Request ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '401', 'Unauthorized ', 'Unauthorized ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '403', 'Forbidden ', 'Forbidden ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '404', 'Not Found ', 'Not Found ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '405', 'Method Not Allowed ', 'Method Not Allowed ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '406', 'Not Acceptable ', 'Not Acceptable ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '407', 'Proxy Authentication Required ', 'Proxy Authentication Required ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '408', 'Request Timeout ', 'Request Timeout ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '409', 'Conflict ', 'Conflict ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '410', 'Gone ', 'Gone ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '411', 'Length Required ', 'Length Required ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '412', 'Precondition Failed ', 'Precondition Failed ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '413', 'Request Entity Too Large ', 'Request Entity Too Large ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '414', 'Request URI Too Long ', 'Request URI Too Long ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '415', 'Unsupported Media Type ', 'Unsupported Media Type ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '416', 'Requested Range Not Satisfiable ', 'Requested Range Not Satisfiable ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '417', 'Expectation Failed ', 'Expectation Failed ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '500', 'Internal Server Error ', 'Internal Server Error ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '501', 'Not Implemented ', 'Not Implemented ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '502', 'Bad Gateway ', 'Bad Gateway ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '503', 'Service Unavailable ', 'Service Unavailable ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '504', 'Gateway Timeout ', 'Gateway Timeout ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '505', 'HTTP Version Not Supported ', 'HTTP Version Not Supported ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '100', 'Runnable', 'Runnable', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '200', 'Sleeping', 'Sleeping', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '300', 'Swapped', 'Swapped', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '400', 'Zombie', 'Zombie', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '500', 'Stopped', 'Stopped', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '01', '웹 서버', '웹 서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '02', 'WAS', 'WAS', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '03', 'DB 서버', 'DB 서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '04', 'Mail 서버', 'Mail 서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '05', 'DNS 서버', 'DNS 서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '99', '기타 서버', '기타 서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '01', '네트워크 장애', '네트워크 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '02', '하드웨어 장애', '하드웨어 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '03', '어플리케이션 장애', '어플리케이션 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '04', '서비스 장애', '서비스 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '05', '모니터링 장애', '모니터링 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '06', '정전', '정전', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '07', '화재', '화재', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '08', '홍수', '홍수', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '99', '기타 장애', '기타 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM066', '01', 'CPU', 'CPU', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM066', '02', '메모리', '메모리', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '01', '서버', '서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '02', '라우터', '라우터', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '03', '스위치', '스위치', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '04', 'PC', 'PC', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '05', '프린터', '프린터', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'A', '접수', '접수', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'C', '완료', '완료', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'R', '요청', '요청', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '01', '생일', '생일', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '02', '기념', '기념', 'N',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '03', '결혼', '결혼', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '04', '탄생', '탄생', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '05', '축하', '축하', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '06', '출장', '출장', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '07', '퇴원', '퇴원', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '01', '본관1층', '본관1층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '02', '본관2층', '본관2층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '03', '본관3층', '본관3층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '04', '본관4층', '본관4층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '05', '본관5층', '본관5층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '06', '별관1층', '별관1층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '07', '별관2층', '별관2층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '01', '전기시설', '전기시설', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '02', '소등상태', '소등상태', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '03', '방화요소', '방화요소', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '04', '소방시설', '소방시설', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '05', '비상 KEY', '비상 KEY', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '06', '시건장치', '시건장치', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '01', '정상', '정상', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '02', '오류', '오류', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '03', '중지', '중지', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '09', '기타', '기타', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '01', '본인', '본인', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '02', '배우자', '배우자', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '03', '자녀', '자녀', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '04', '부친', '부친', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '05', '모친', '모친', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '06', '배우자부친', '배우자부친', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '07', '배우자모친', '배우자모친', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '08', '조부', '조부', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '09', '조모', '조모', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '10', '형제자매(본인)', '형제자매(본인)', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '11', '외조부', '외조부', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '12', '외조모', '외조모', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '13', '백숙부', '백숙부', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '14', '백숙모', '백숙모', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '15', '형제자매(배우자)', '형제자매(배우자)', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '1', '일요일', '일요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '2', '월요일', '월요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '3', '화요일', '화요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '4', '수요일', '수요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '5', '목요일', '목요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '6', '금요일', '금요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '7', '토요일', '토요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '001', '경조신청', '경조신청', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '002', '포상신청', '포상신청', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '003', '휴가신청', '휴가신청', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '004', '행사신청', '행사신청', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '01', '정상', '정상', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '02', '비정상', '비정상', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '03', '수행중', '수행중', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST01', '통합게시판', '통합게시판', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST02', '블로그형게시판', '블로그형게시판', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST03', '방명록', '방명록', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM102', '1', '표준어', '표준어', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM102', '2', '동의어', '동의어', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); + +-- 그룹 +INSERT INTO COMTNAUTHORGROUPINFO ( GROUP_ID, GROUP_NM, GROUP_CREAT_DE,GROUP_DC ) VALUES ( 'GROUP_00000000000000', '0번 그룹입니다', SYSDATE, '0번 그룹입니다'); + +-- 조직 COMTNORGNZTINFO +INSERT INTO COMTNORGNZTINFO ( ORGNZT_ID, ORGNZT_NM, ORGNZT_DC ) VALUES ( 'ORGNZT_0000000000000', '기본조직', '기본조직'); + +-- cmm 패키지 끝 ---------------------------------------------------------------------------------------------------------------------------------- + + +-- 업무사용자정보 +INSERT INTO COMTNEMPLYRINFO (EMPLYR_ID, ORGNZT_ID, USER_NM, PASSWORD, EMPL_NO, IHIDNUM, SEXDSTN_CODE, BRTHDY, FXNUM, HOUSE_ADRES, PASSWORD_HINT, PASSWORD_CNSR, HOUSE_END_TELNO, AREA_NO, DETAIL_ADRES, ZIP, OFFM_TELNO, MBTLNUM, EMAIL_ADRES, OFCPS_NM, HOUSE_MIDDLE_TELNO, GROUP_ID, PSTINST_CODE, EMPLYR_STTUS_CODE, ESNTL_ID, CRTFC_DN_VALUE, SBSCRB_DE) VALUES ('TEST1','ORGNZT_0000000000000','테스트1', 'raHLBnHFcunwNzcDcfad4PhD11hHgXSUr7fc1Jk9uoQ=','20112059',null,'F','20111130','1566-2059','서울 중구 무교동 한국정보화진흥원','P01','전자정부표준프레임워크센터','2059','02','전자정부표준프레임워크센터','100775','1566-2059','1566-2059','egovframesupport@gmail.com','관리자','1566','GROUP_00000000000000','00000001','P','USRCNFRM_00000000000','',SYSDATE); +INSERT INTO COMTNEMPLYRINFO (EMPLYR_ID, ORGNZT_ID, USER_NM, PASSWORD, EMPL_NO, IHIDNUM, SEXDSTN_CODE, BRTHDY, FXNUM, HOUSE_ADRES, PASSWORD_HINT, PASSWORD_CNSR, HOUSE_END_TELNO, AREA_NO, DETAIL_ADRES, ZIP, OFFM_TELNO, MBTLNUM, EMAIL_ADRES, OFCPS_NM, HOUSE_MIDDLE_TELNO, GROUP_ID, PSTINST_CODE, EMPLYR_STTUS_CODE, ESNTL_ID, CRTFC_DN_VALUE, SBSCRB_DE) VALUES ('webmaster','ORGNZT_0000000000000','웹마스터','78gXjfDDMzepOP4QTiFMRFOT/msFgKkHIgGOU95PT94=','20112060',null,'F','20111130','1566-2059','서울특별시 중구 청계천로 14 - 0 한국정보사회진흥원','P01','전자정부표준프레임워크센터','2059','02','전자정부표준프레임워크센터','100775','1566-2059','1566-2059','egovframesupport@gmail.com','웹관리자','1566','GROUP_00000000000000','00000001','P','USRCNFRM_99999999999','',SYSDATE); + +-- 일반사용자정보 +INSERT INTO COMTNGNRLMBER (MBER_ID,PASSWORD,PASSWORD_HINT,PASSWORD_CNSR,IHIDNUM,MBER_NM,ZIP,ADRES,AREA_NO,MBER_STTUS,DETAIL_ADRES,END_TELNO,MBTLNUM,GROUP_ID,MBER_FXNUM,MBER_EMAIL_ADRES,MIDDLE_TELNO,SBSCRB_DE,SEXDSTN_CODE,ESNTL_ID) values ('USER','6TAJYwhKCgkgzPXDb83ZUiHi2/TKHhD7t5Ba6RN2qoo=','P01','전자정부표준프레임워크센터',null,'일반회원','100775','서울 중구 무교동 한국정보화진흥원','02','P','전자정부표준프레임워크센터','2059','1566-2059','GROUP_00000000000000','1566-2059','egovframesupport@gmail.com','1566',SYSDATE,'F','USRCNFRM_00000000001'); + +-- 기업사용자정보 +INSERT INTO COMTNENTRPRSMBER (ENTRPRS_MBER_ID,ENTRPRS_SE_CODE,BIZRNO,JURIRNO,CMPNY_NM,CXFC,ZIP,ADRES,ENTRPRS_MIDDLE_TELNO,FXNUM,INDUTY_CODE,APPLCNT_NM,APPLCNT_IHIDNUM,SBSCRB_DE,ENTRPRS_MBER_STTUS,ENTRPRS_MBER_PASSWORD,ENTRPRS_MBER_PASSWORD_HINT,ENTRPRS_MBER_PASSWORD_CNSR,GROUP_ID,DETAIL_ADRES,ENTRPRS_END_TELNO,AREA_NO,APPLCNT_EMAIL_ADRES,ESNTL_ID) values ('ENTERPRISE','C0000001','1008360001','1000310000011','NIA','이가브','100775','서울특별시 중구 청계천로 14 - 0 한국정보사회진흥원','1566','1566-2059','O','관리자',null,SYSDATE,'P','ZQhr3oB5QWjBnBO0kbFF7bvQDLkk+Em0ExjTq5JtVTo=','P01','전자정부표준프레임워크센터','GROUP_00000000000000','표준프레임워크센터','2059','02','egovframesupport@gmail.com','USRCNFRM_00000000002'); + +-- 약관정보 +INSERT INTO COMTNSTPLATINFO ( USE_STPLAT_ID, INFO_PROVD_AGRE_CN, USE_STPLAT_CN, FRST_REGIST_PNTTM,FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID, USE_STPLAT_NM ) VALUES ( 'STPLAT_0000000000001', '제1조(목적 등)-개인회원', '개인정보의 수집 및 이용목적-개인회원', SYSDATE, 'USRCNFRM_00000000000', SYSDATE, 'USRCNFRM_00000000000', '인터넷이용약관'); +INSERT INTO COMTNSTPLATINFO ( USE_STPLAT_ID, INFO_PROVD_AGRE_CN, USE_STPLAT_CN, FRST_REGIST_PNTTM,FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID, USE_STPLAT_NM ) VALUES ( 'STPLAT_0000000000002', '제1조(목적 등)-기업회원', '개인정보의 수집 및 이용목적-기업회원', SYSDATE, 'USRCNFRM_00000000000', SYSDATE, 'USRCNFRM_00000000000', '인터넷이용약관'); + +-- 권한정보 +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_ANONYMOUS' ,'모든 사용자' , '', SYSDATE); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_ANONYMOUSLY' ,'스프링시큐리티 내부사용(롤부여 금지)' , '', SYSDATE); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_REMEMBERED' ,'스프링시큐리티 내부사용(롤부여 금지)', '', SYSDATE); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_FULLY' ,'스프링시큐리티 내부사용(롤부여 금지)' , '', SYSDATE); +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_USER' ,'일반 사용자' , '', SYSDATE); +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_ADMIN' ,'관리자' , '', SYSDATE); + +-- 롤 계층구조 +INSERT INTO COMTNROLES_HIERARCHY VALUES ('ROLE_ANONYMOUS' ,'IS_AUTHENTICATED_ANONYMOUSLY'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_ANONYMOUSLY' ,'IS_AUTHENTICATED_REMEMBERED'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_REMEMBERED' ,'IS_AUTHENTICATED_FULLY'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_FULLY' ,'ROLE_USER'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('ROLE_USER' ,'ROLE_ADMIN'); + +-- 사용자보안설정 +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000000', 'USR03', 'ROLE_ADMIN'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000001', 'USR01', 'ROLE_USER'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000002', 'USR02', 'ROLE_USER'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_99999999999', 'USR03', 'ROLE_ADMIN'); + +-- 권한 롤 매핑 +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000001', '로그인롤', '\A/uat/uia/.*\.do.*\Z', '로그인허용을 위한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000002', '좌측메뉴', '/EgovLeft.do', '좌측 메뉴에 대한 접근 제한 롤', 'url', '2', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000003', '모든접근제한', '\A/.*\.do.*\Z', '모든자원에 대한 접근 제한 롤', 'url', '3', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000004', '회원관리', '\A/uss/umt/.*\.do.*\Z', '회원관리에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000005', '실명확인', '\A/sec/rnc/.*\.do.*\Z', '실명확인에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000006', '우편번호', '\A/sym/ccm/zip/.*\.do.*\Z', '우편번호관리에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000007', '로그인이미지', '\A/uss/ion/lsi/.*\.do.*\Z', '로그인이미지관리에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000008', '파일다운로드', '\A/sym/ccm/zip/.*\.do.*\Z', '파일다운로드에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000009', '상단메뉴', '/EgovTop.do', '상단메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000010', '하단메뉴', '/EgovBottom.do', '하단메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000011', '왼쪽메뉴', '/EgovLeft.do', '왼쪽메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000012', 'Validator모듈','/validator.do','Validator에 대한 접근 제한 롤', 'url', '1', SYSDATE); + +-- 권한롤관계 +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000001', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000002', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000004', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000005', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000006', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000007', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000008', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000009', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000010', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000011', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000012', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_USER', 'web-000003', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ADMIN', 'web-000003', SYSDATE); + +-- 프로그램목록 +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CnsltAnswerListInqire','/uss/olp/cnm/','상담답변관리','상담답변관리','/uss/olp/cnm/CnsltAnswerListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CnsltListInqire','/uss/olp/cns/','상담관리','상담관리','/uss/olp/cns/CnsltListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CpyrhtPrtcPolicyListInqire','/uss/sam/cpy/','저작권보호정책','저작권보호정책','/uss/sam/cpy/CpyrhtPrtcPolicyListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('dir','dir','디렉토리','디렉토리','dir'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAllSchdulManageList','/cop/smt/sam/','전체일정관리','전체일정관리','/cop/smt/sam/EgovAllSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAuthorGroupList','/sec/rgm/','권한그룹관리','권한그룹관리','/sec/rgm/EgovAuthorGroupList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAuthorList','/sec/ram/','권한관리','권한관리','/sec/ram/EgovAuthorList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovBndtCeckManageList','/uss/ion/bnt/','당직체크관리','당직체크관리','/uss/ion/bnt/EgovBndtCeckManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovBndtManageList','/uss/ion/bnt/','당직관리','당직관리','/uss/ion/bnt/EgovBndtManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmAdministCodeList','/sym/ccm/adc/','행정코드관리','행정코드관리','/sym/ccm/adc/EgovCcmAdministCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnClCodeList','/sym/ccm/ccc/','공통분류코드','공통분류코드','/sym/ccm/ccc/EgovCcmCmmnClCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnCodeList','/sym/ccm/cca/','공통코드','공통코드','/sym/ccm/cca/EgovCcmCmmnCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnDetailCodeList','/sym/ccm/cde/','공통상세코드','공통상세코드','/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmZipList','/sym/ccm/zip/','우편번호관리','우편번호관리','/sym/ccm/zip/EgovCcmZipList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamAppraisalList','/dam/app/','지식평가관리','지식평가관리','/dam/app/EgovComDamAppraisalList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamManagementList','/dam/mgm/','지식정보관리','지식정보관리','/dam/mgm/EgovComDamManagementList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamMapMaterialList','/dam/map/mat/','지식맵관리(유형)','지식맵관리(유형)','/dam/map/mat/EgovComDamMapMaterialList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamMapTeamList','/dam/map/tea/','지식맵관리(조직)','지식맵관리(조직)','/dam/map/tea/EgovComDamMapTeamList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamPersonalList','/dam/per/','개인지식관리','개인지식관리','/dam/per/EgovComDamPersonalList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamSpecialistList','/dam/spe/spe/','지식전문가관리','지식전문가관리','/dam/spe/spe/EgovComDamSpecialistList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComUtlHttpMonList','/utl/sys/htm/','HTTP서비스모니터링','HTTP서비스모니터링','/utl/sys/htm/EgovComUtlHttpMonList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComUtlProcessMonList','/utl/sys/prm/','프로세스모니터링','프로세스모니터링','/utl/sys/prm/EgovComUtlProcessMonList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCtsnnConfmList','/uss/ion/ctn/','직원경조사승인관리','직원경조사승인관리','/uss/ion/ctn/EgovCtsnnConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDeptAuthorList','/sec/drm/','부서권한관리','부서권한관리','/sec/drm/EgovDeptAuthorList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDeptSchdulManageList','/cop/smt/sdm/','부서일정관리','부서일정관리','/cop/smt/sdm/EgovDeptSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDiaryManageList','/cop/smt/dsm/','일지관리','일지관리','/cop/smt/dsm/EgovDiaryManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEntrprsMberManage','/uss/umt/','기업회원관리','기업회원관리','/uss/umt/EgovEntrprsMberManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventCmpgnList','/uss/ion/ecc/','행사/이벤트/캠페인','행사/이벤트/캠페인','/uss/ion/ecc/EgovEventCmpgnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventRcrptManageList','/uss/ion/evt/','행사접수관리','행사접수관리','/uss/ion/evt/EgovEventRcrptManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventReqstManageList','/uss/ion/evt/','행사신청관리','행사신청관리','/uss/ion/evt/EgovEventReqstManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovGroupList','/sec/gmt/','그룹관리','그룹관리','/sec/gmt/EgovGroupList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovIndvdlpgeCntntsList','/uss/mpe/','마이페이지관리','마이페이지관리','/uss/mpe/EgovIndvdlpgeCntntsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovIndvdlSchdulManageList','/cop/smt/sim/','일정관리','일정관리','/cop/smt/sim/EgovIndvdlSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('egovLoginUsr','/uat/uia/','로그인','로그인','/uat/uia/egovLoginUsr.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMberManage','/uss/umt/','일반회원관리','일반회원관리','/uss/umt/EgovMberManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMeetingManageList','/uss/olp/mgt/','회의관리','회의관리','/uss/olp/mgt/EgovMeetingManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuCreatManageSelect','/sym/mnu/mcm/','메뉴생성관리','메뉴생성관리','/sym/mnu/mcm/EgovMenuCreatManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuListSelect','/sym/mnu/mpm/','메뉴리스트관리','메뉴리스트관리','/sym/mnu/mpm/EgovMenuListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuManageSelect','/sym/mnu/mpm/','메뉴관리리스트','메뉴관리리스트','/sym/mnu/mpm/EgovMenuManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChangeRequstProcessListSelect','/sym/prm/','프로그램변경요청처리','프로그램변경요청처리','/sym/prm/EgovProgramChangeRequstProcessListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChangeRequstSelect','/sym/prm/','프로그램변경요청관리','프로그램변경요청관리','/sym/prm/EgovProgramChangeRequstSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChgHstListSelect','/sym/prm/','프로그램변경이력','프로그램변경이력','/sym/prm/EgovProgramChgHstListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramListManageSelect','/sym/prm/','프로그램관리','프로그램관리','/sym/prm/EgovProgramListManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrItemManageList','/uss/olp/qim/','항목관리','항목관리','/uss/olp/qim/EgovQustnrItemManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrManageList','/uss/olp/qmc/','설문관리','설문관리','/uss/olp/qmc/EgovQustnrManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrQestnManageList','/uss/olp/qqm/','질문관리','질문관리','/uss/olp/qqm/EgovQustnrQestnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrRespondInfoManageList','/uss/olp/qnn/','설문조사','설문조사','/uss/olp/qnn/EgovQustnrRespondInfoManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrRespondManageList','/uss/olp/qrm/','응답자관리','응답자관리','/uss/olp/qrm/EgovQustnrRespondManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrTmplatManageList','/uss/olp/qtm/','설문템플릿관리','설문템플릿관리','/uss/olp/qtm/EgovQustnrTmplatManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRestdeList','/sym/cal/','공휴일관리(달력)','공휴일관리(달력)','/sym/cal/EgovRestdeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRoleList','/sec/rmt/','롤관리','롤관리','/sec/rmt/EgovRoleList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRwardConfmList','/uss/ion/rwd/','포상승인관리','포상승인관리','/uss/ion/rwd/EgovRwardConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovSiteMapng','/sym/mnu/stm/','사이트맵','사이트맵','/sym/mnu/stm/EgovSiteMapng.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovTnextrlHrInfoList','/uss/ion/ecc/','외부인사정보','외부인사정보','/uss/ion/ecc/EgovTnextrlHrInfoList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovUserManage','/uss/umt/','업무사용자관리','업무사용자관리','/uss/umt/EgovUserManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovVcatnConfmList','/uss/ion/vct/','휴가승인관리','휴가승인관리','/uss/ion/vct/EgovVcatnConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovVcatnManageList','/uss/ion/vct/','휴가관리','휴가관리','/uss/ion/vct/EgovVcatnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('FaqListInqire','/uss/olh/faq/','FAQ관리','FAQ관리','/uss/olh/faq/FaqListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBackupOpertList','/sym/sym/bak/','백업관리','백업관리','/sym/sym/bak/getBackupOpertList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBackupResultList','/sym/sym/bak/','백업결과관리','백업결과관리','/sym/sym/bak/getBackupResultList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchOpertList','/sym/bat/','배치작업관리','배치작업관리','/sym/bat/getBatchOpertList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchResultList','/sym/bat/','배치결과관리','배치결과관리','/sym/bat/getBatchResultList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchSchdulList','/sym/bat/','스케줄처리','스케줄처리','/sym/bat/getBatchSchdulList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcInsttList','/ssi/syi/iis/','연계기관관리','연계기관관리','/ssi/syi/iis/getCntcInsttList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcMessageList','/ssi/syi/ims/','연계메시지관리','연계메시지관리','/ssi/syi/ims/getCntcMessageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcSttusList','/ssi/syi/ist/','연계현황관리','연계현황관리','/ssi/syi/ist/getCntcSttusList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getDbMntrngList','/utl/sys/dbm/','DB서비스모니터링','DB서비스모니터링','/utl/sys/dbm/getDbMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getInsttCodeRecptnList','/sym/ccm/icr/','기관코드수신','기관코드수신','/sym/ccm/icr/getInsttCodeRecptnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getMainImageResult','/uss/ion/msi/','메인이미지 반영결과보기','메인이미지 반영결과보기','/uss/ion/msi/getMainImageResult.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getSystemCntcList','/ssi/syi/sim/','시스템연계관리','시스템연계관리','/ssi/syi/sim/getSystemCntcList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getTrsmrcvMntrngList','/utl/sys/trm/','송수신모니터링','송수신모니터링','/utl/sys/trm/getTrsmrcvMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('HpcmListInqire','/uss/olh/hpc/','도움말','도움말','/uss/olh/hpc/HpcmListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('insertSndngMailView','/cop/ems/','메일발송','메일발송','/cop/ems/insertSndngMailView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listAdministrationWord','/uss/olh/awm/','행정전문용어사전','행정전문용어사전','/uss/olh/awm/listAdministrationWord.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listAdministrationWordManage','/uss/olh/awm/','행정전문용어사전관리','행정전문용어사전관리','/uss/olh/awm/listAdministrationWordManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listIndvdlInfoPolicy','/uss/sam/ipm/','개인정보보호정책확인','개인정보보호정책확인','/uss/sam/ipm/listIndvdlInfoPolicy.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listNoteRecptn','/uss/ion/ntr/','받은쪽지함관리','받은쪽지함관리','/uss/ion/ntr/listNoteRecptn.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listNoteTrnsmit','/uss/ion/nts/','보낸쪽지함관리','보낸쪽지함관리','/uss/ion/nts/listNoteTrnsmit.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlineManual','/uss/olh/omm/','온라인매뉴얼','온라인매뉴얼','/uss/olh/omm/selectOnlineManualList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlinePollManage','/uss/olp/opm/','온라인poll관리','온라인poll관리','/uss/olp/opm/listOnlinePollManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlinePollPartcptn','/uss/olp/opp/','온라인poll참여','온라인poll참여','/uss/olp/opp/listOnlinePollPartcptn.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listPopup','/uss/ion/pwm/','팝업창관리','팝업창관리','/uss/ion/pwm/listPopup.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRecentSrchwrd','/uss/ion/rsm/','최근검색어 목록','최근검색어 목록','/uss/ion/rsm/listRecentSrchwrd.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRequestOffer','/dam/spe/req/','지식정보제공','지식정보제공','/dam/spe/req/listRequestOffer.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRssTagManage','/uss/ion/rss/','RSS태그관리','RSS태그관리','/uss/ion/rss/listRssTagManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRssTagService','/uss/ion/rsn/','RSS태그서비스','RSS태그서비스','/uss/ion/rsn/listRssTagService.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listUnityLink','/uss/ion/ulm/','통합링크관리','통합링크관리','/uss/ion/ulm/listUnityLink.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listWikiBookmark','/uss/ion/wik/bmk/','Wiki기능','Wiki기능','/uss/ion/wik/bmk/listWikiBookmark.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('loginSessionView','/utl/sys/rsc/','로그인세션정보체크','로그인세션정보체크','/utl/sys/rsc/loginSessionView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('NewsInfoListInqire','/uss/ion/nws/','뉴스관리','뉴스관리','/uss/ion/nws/NewsInfoListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('OnlineManualUserList','/uss/olh/omn/','사용자온라인매뉴얼','사용자온라인매뉴얼','/uss/olh/omn/selectOnlineManualList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('QnaAnswerListInqire','/uss/olh/qnm/','Q&amp;A답변관리','Q&amp;A답변관리','/uss/olh/qnm/QnaAnswerListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('QnaListInqire','/uss/olh/qna/','Q&amp;A관리','Q&amp;A관리','/uss/olh/qna/QnaListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('RecomendSiteListInqire','/uss/ion/rec/','추천사이트관리','추천사이트관리','/uss/ion/rec/RecomendSiteListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('registEgovNoteManage','/uss/ion/ntm/','쪽지관리','쪽지관리','/uss/ion/ntm/registEgovNoteManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAdbkList','/cop/adb/','주소록관리','주소록관리','/cop/adb/selectAdbkList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAnnvrsryMainList','/uss/ion/ans/','기념일목록(확인용)','기념일목록(확인용)','/uss/ion/ans/selectAnnvrsryMainList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAnnvrsryManageList','/uss/ion/ans/','기념일관리','기념일관리','/uss/ion/ans/selectAnnvrsryManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBannerList','/uss/ion/bnr/','배너관리','배너관리','/uss/ion/bnr/selectBannerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBannerMainList','/uss/ion/bnr/','MYPAGE배너관리','MYPAGE배너관리','/uss/ion/bnr/selectBannerMainList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectBBSMasterInfs','/cop/bbs/','게시판속성관리','게시판속성관리','/cop/bbs/SelectBBSMasterInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBbsStats','/sts/bst/','게시물통계','게시물통계','/sts/bst/selectBbsStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBBSUseInfs','/cop/com/','게시판사용정보','게시판사용정보','/cop/com/selectBBSUseInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBkmkMenuManageList','/sym/mnu/bmm/','바로가기메뉴관리','바로가기메뉴관리','/sym/mnu/bmm/selectBkmkMenuManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectCmmntyInfs','/cop/cmy/','커뮤니티관리','커뮤니티관리','/cop/cmy/selectCmmntyInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectConectStats','/sts/cst/','접속통계','접속통계','/sts/cst/selectConectStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectCtsnnManageList','/uss/ion/ctn/','직원경조사관리','직원경조사관리','/uss/ion/ctn/selectCtsnnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptJobBxList','/cop/smt/djm/','부서업무함관리','부서업무함관리','/cop/smt/djm/selectDeptJobBxList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptJobList','/cop/smt/djm/','부서업무정보','부서업무정보','/cop/smt/djm/selectDeptJobList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptManageListView','/uss/umt/dpt/','부서관리','부서관리','/uss/umt/dpt/selectDeptManageListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDtaUseStatsList','/sts/dst/','자료이용현황통계','자료이용현황통계','/sts/dst/selectDtaUseStatsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectEventRceptConfmList','/uss/ion/evt/','행사접수승인관리','행사접수승인관리','/uss/ion/evt/selectEventRceptConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectFileSysMntrngList','/utl/sys/fsm/','파일시스템모니터링','파일시스템모니터링','/utl/sys/fsm/selectFileSysMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectIntnetSvcGuidanceList','/uss/ion/isg/','인터넷서비스안내및관리','인터넷서비스안내및관리','/uss/ion/isg/selectIntnetSvcGuidanceList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLeaderSchdulList','/cop/smt/lsm/usr/','간부일정관리','간부일정관리','/cop/smt/lsm/usr/selectLeaderSchdulList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectLoginLogList','/sym/log/clg/','접속로그관리','접속로그관리','/sym/log/clg/SelectLoginLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLoginPolicyList','/uat/uap/','로그인정책관리','로그인정책관리','/uat/uap/selectLoginPolicyList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLoginScrinImageList','/uss/ion/lsi/','로그인화면이미지관리','로그인화면이미지관리','/uss/ion/lsi/selectLoginScrinImageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMainImageList','/uss/ion/msi/','메인이미지관리','메인이미지관리','/uss/ion/msi/selectMainImageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMemoReprtList','/cop/smt/mrm/','메모보고','메모보고','/cop/smt/mrm/selectMemoReprtList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMemoTodoList','/cop/smt/mtm/','메모할일관리','메모할일관리','/cop/smt/mtm/selectMemoTodoList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMntrngServerList','/utl/sys/srm/','서버자원모니터링-대상목록','서버자원모니터링-대상목록','/utl/sys/srm/selectMntrngServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMtgPlaceManageList','/uss/ion/mtg/','회의실관리','회의실관리','/uss/ion/mtg/selectMtgPlaceManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMtgPlaceResveManageList','/uss/ion/mtg/','회의실예약관리','회의실예약관리','/uss/ion/mtg/selectMtgPlaceResveManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMyNcrdUseInf','/cop/ncm/','내명함목록','내명함목록','/cop/ncm/selectMyNcrdUseInf.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNcrdInfs','/cop/ncm/','명함관리','명함관리','/cop/ncm/selectNcrdInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNotificationList','/uss/ion/noi/','정보알림이','정보알림이','/uss/ion/noi/selectNotificationList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNtwrkList','/sym/sym/nwk/','네트워크관리','네트워크관리','/sym/sym/nwk/selectNtwrkList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNtwrkSvcMntrngList','/utl/sys/nsm/','네트워크서비스모니터링','네트워크서비스모니터링','/utl/sys/nsm/selectNtwrkSvcMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectProxySvcList','/utl/sys/pxy/','프록시서비스','프록시서비스','/utl/sys/pxy/selectProxySvcList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectReprtStatsListView','/sts/rst/','보고서통계','보고서통계','/sts/rst/selectReprtStatsListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectRwardManageList','/uss/ion/rwd/','포상관리','포상관리','/uss/ion/rwd/selectRwardManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectScrapList','/cop/scp/','스크랩 목록','스크랩 목록','/cop/scp/selectScrapList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectScrinStats','/sts/sst/','화면통계','화면통계','/sts/sst/selectScrinStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectServerEqpmnList','/sym/sym/srv/','서버정보관리','서버정보관리','/sym/sym/srv/selectServerEqpmnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectServerList','/sym/sym/srv/','서버(S/W)목록','서버(S/W)목록','/sym/sym/srv/selectServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSmsList','/cop/sms/','문자메시지','문자메시지','/cop/sms/selectSmsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSndngMailList','/cop/ems/','발송메일내역','발송메일내역','/cop/ems/selectSndngMailList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSynchrnServerList','/utl/sys/ssy/','파일동기화(대상서버)','파일동기화(대상서버)','/utl/sys/ssy/selectSynchrnServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectSysHistoryList','/sym/log/slg/','시스템이력관리','시스템이력관리','/sym/log/slg/SelectSysHistoryList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectSysLogList','/sym/log/lgm/','로그관리','로그관리','/sym/log/lgm/SelectSysLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTemplateInfs','/cop/tpl/','템플릿관리','템플릿관리','/cop/tpl/selectTemplateInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTroblProcessList','/sym/tbm/tbp/','장애처리결과관리','장애처리결과관리','/sym/tbm/tbp/selectTroblProcessList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTroblReqstList','/sym/tbm/tbr/','장애신청관리','장애신청관리','/sym/tbm/tbr/selectTroblReqstList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectTrsmrcvLogList','/sym/log/tlg/','송/수신로그관리','송/수신로그관리','/sym/log/tlg/SelectTrsmrcvLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTwitterMain','/uss/ion/tir/','Twitter연동','Twitter연동','/uss/ion/tir/selectTwitterMain.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectUserAbsnceListView','/uss/ion/uas/','사용자부재관리','사용자부재관리','/uss/ion/uas/selectUserAbsnceListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectUserLogList','/sym/log/ulg/','사용로그관리','사용로그관리','/sym/log/ulg/SelectUserLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectUserStats','/sts/ust/','사용자통계','사용자통계','/sts/ust/selectUserStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectWebLogList','/sym/log/wlg/','웹로그관리','웹로그관리','/sym/log/wlg/SelectWebLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectWikMnthngReprtList','/cop/smt/wmr/','주간/월간보고관리','주간/월간보고관리','/cop/smt/wmr/selectWikMnthngReprtList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SiteListInqire','/uss/ion/sit/','사이트관리','사이트관리','/uss/ion/sit/SiteListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('StplatListInqire','/uss/sam/stp/','약관관리','약관관리','/uss/sam/stp/StplatListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('WordDicaryListInqire','/uss/olh/wor/','용어사전','용어사전','/uss/olh/wor/WordDicaryListInqire.do'); + +-- 메뉴정보 +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('root','dir',0,0,1,'root','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자디렉토리/통합인증','dir',1000000,0,1,'사용자디렉토리/통합인증','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인','egovLoginUsr',1010000,1000000,1,'로그인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인정책관리','selectLoginPolicyList',1020000,1000000,2,'로그인정책관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보안','dir',2000000,0,2,'보안','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('권한관리','EgovAuthorList',2010000,2000000,1,'권한관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('권한그룹관리','EgovAuthorGroupList',2020000,2000000,2,'권한그룹관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('그룹관리','EgovGroupList',2030000,2000000,3,'그룹관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('롤관리','EgovRoleList',2040000,2000000,4,'롤관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서권한관리','EgovDeptAuthorList',2050000,2000000,5,'부서권한관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('통계/리포팅','dir',3000000,0,3,'통계/리포팅','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시물통계','selectBbsStats',3010000,3000000,1,'게시물통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자통계','selectUserStats',3020000,3000000,2,'사용자통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('접속통계','selectConectStats',3030000,3000000,3,'접속통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('화면통계','selectScrinStats',3040000,3000000,4,'화면통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보고서통계','selectReprtStatsListView',3050000,3000000,5,'보고서통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('자료이용현황통계','selectDtaUseStatsList',3060000,3000000,6,'자료이용현황통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('협업','dir',4000000,0,4,'협업','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시판속성관리','SelectBBSMasterInfs',4010000,4000000,1,'게시판속성관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시판사용정보','selectBBSUseInfs',4020000,4000000,2,'게시판사용정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('템플릿관리','selectTemplateInfs',4030000,4000000,3,'템플릿관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('스크랩 목록','selectScrapList',4040000,4000000,4,'스크랩 목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('커뮤니티관리','selectCmmntyInfs',4050000,4000000,5,'커뮤니티관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('문자메시지','selectSmsList',4060000,4000000,6,'문자메시지','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서일정관리','EgovDeptSchdulManageList',4070000,4000000,7,'부서일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일정관리','EgovIndvdlSchdulManageList',4080000,4000000,8,'일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일지관리','EgovDiaryManageList',4090000,4000000,9,'일지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('전체일정관리','EgovAllSchdulManageList',4100000,4000000,10,'전체일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메일발송','insertSndngMailView',4110000,4000000,11,'메일발송','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('발송메일내역','selectSndngMailList',4120000,4000000,12,'발송메일내역','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('명함관리','selectNcrdInfs',4130000,4000000,13,'명함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('내명함목록','selectMyNcrdUseInf',4140000,4000000,14,'내명함목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('주소록관리','selectAdbkList',4150000,4000000,15,'주소록관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('간부일정관리','selectLeaderSchdulList',4160000,4000000,16,'간부일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서업무함관리','selectDeptJobBxList',4170000,4000000,17,'부서업무함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서업무정보','selectDeptJobList',4180000,4000000,18,'부서업무정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('주간/월간보고관리','selectWikMnthngReprtList',4190000,4000000,19,'주간/월간보고관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메모할일관리','selectMemoTodoList',4200000,4000000,20,'메모할일관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메모보고','selectMemoReprtList',4210000,4000000,21,'메모보고','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자지원','dir',5000000,0,5,'사용자지원','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기업회원관리','EgovEntrprsMberManage',5010000,5000000,1,'기업회원관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('업무사용자관리','EgovUserManage',5020000,5000000,2,'업무사용자관리','',''); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서관리','selectDeptManageListView',5030000,5000000,3,'부서관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일반회원관리','EgovMberManage',5040000,5000000,4,'일반회원관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('마이페이지관리','EgovIndvdlpgeCntntsList',5050000,5000000,5,'마이페이지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('약관관리','StplatListInqire',5060000,5000000,6,'약관관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('저작권보호정책','CpyrhtPrtcPolicyListInqire',5070000,5000000,7,'저작권보호정책','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('개인정보보호정책확인','listIndvdlInfoPolicy',5080000,5000000,8,'개인정보보호정책확인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('도움말','HpcmListInqire',5090000,5000000,9,'도움말','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('용어사전','WordDicaryListInqire',5100000,5000000,10,'용어사전','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('FAQ관리','FaqListInqire',5110000,5000000,11,'FAQ관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Q&amp;A관리','QnaListInqire',5120000,5000000,12,'Q&amp;A관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Q&amp;A답변관리','QnaAnswerListInqire',5130000,5000000,13,'Q&amp;A답변관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정전문용어사전','listAdministrationWord',5140000,5000000,14,'행정전문용어사전','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정전문용어사전관리','listAdministrationWordManage',5150000,5000000,15,'행정전문용어사전관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인매뉴얼','listOnlineManual',5160000,5000000,16,'온라인매뉴얼','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자온라인매뉴얼','OnlineManualUserList',5170000,5000000,17,'사용자온라인매뉴얼','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('상담관리','CnsltListInqire',5180000,5000000,18,'상담관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('상담답변관리','CnsltAnswerListInqire',5190000,5000000,19,'상담답변관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문관리','EgovQustnrManageList',5200000,5000000,20,'설문관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문조사','EgovQustnrRespondInfoManageList',5210000,5000000,21,'설문조사','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문템플릿관리','EgovQustnrTmplatManageList',5220000,5000000,22,'설문템플릿관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('응답자관리','EgovQustnrRespondManageList',5230000,5000000,23,'응답자관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('질문관리','EgovQustnrQestnManageList',5240000,5000000,24,'질문관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('항목관리','EgovQustnrItemManageList',5250000,5000000,25,'항목관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의관리','EgovMeetingManageList',5260000,5000000,26,'회의관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인poll관리','listOnlinePollManage',5270000,5000000,27,'온라인poll관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인poll참여','listOnlinePollPartcptn',5280000,5000000,28,'온라인poll참여','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('뉴스관리','NewsInfoListInqire',5290000,5000000,29,'뉴스관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사이트관리','SiteListInqire',5300000,5000000,30,'사이트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('추천사이트관리','RecomendSiteListInqire',5310000,5000000,31,'추천사이트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사/이벤트/캠페인','EgovEventCmpgnList',5320000,5000000,32,'행사/이벤트/캠페인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('외부인사정보','EgovTnextrlHrInfoList',5330000,5000000,33,'외부인사정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('팝업창관리','listPopup',5340000,5000000,34,'팝업창관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('정보알림이','selectNotificationList',5350000,5000000,35,'정보알림이','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배너관리','selectBannerList',5360000,5000000,36,'배너관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('MYPAGE배너관리','selectBannerMainList',5370000,5000000,37,'MYPAGE배너관리','',''); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인화면이미지관리','selectLoginScrinImageList',5380000,5000000,38,'로그인화면이미지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('최근검색어 목록','listRecentSrchwrd',5390000,5000000,39,'최근검색어 목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메인이미지관리','selectMainImageList',5400000,5000000,40,'메인이미지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메인이미지 반영결과보기','getMainImageResult',5410000,5000000,41,'메인이미지 반영결과보기','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('통합링크관리','listUnityLink',5420000,5000000,42,'통합링크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자부재관리','selectUserAbsnceListView',5430000,5000000,43,'사용자부재관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('인터넷서비스안내및관리','selectIntnetSvcGuidanceList',5440000,5000000,44,'인터넷서비스안내및관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Wiki기능','listWikiBookmark',5450000,5000000,45,'Wiki기능','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('RSS태그관리','listRssTagManage',5460000,5000000,46,'RSS태그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('RSS태그서비스','listRssTagService',5470000,5000000,47,'RSS태그서비스','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Twitter연동','selectTwitterMain',5480000,5000000,48,'Twitter연동','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('쪽지관리','registEgovNoteManage',5490000,5000000,49,'쪽지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('받은쪽지함관리','listNoteRecptn',5500000,5000000,50,'받은쪽지함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보낸쪽지함관리','listNoteTrnsmit',5510000,5000000,51,'보낸쪽지함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의실관리','selectMtgPlaceManageList',5520000,5000000,52,'회의실관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의실예약관리','selectMtgPlaceResveManageList',5530000,5000000,53,'회의실예약관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('직원경조사관리','selectCtsnnManageList',5540000,5000000,54,'직원경조사관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('직원경조사승인관리','EgovCtsnnConfmList',5550000,5000000,55,'직원경조사승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('휴가관리','EgovVcatnManageList',5560000,5000000,56,'휴가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('휴가승인관리','EgovVcatnConfmList',5570000,5000000,57,'휴가승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('당직관리','EgovBndtManageList',5580000,5000000,58,'당직관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('당직체크관리','EgovBndtCeckManageList',5590000,5000000,59,'당직체크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('포상관리','selectRwardManageList',5600000,5000000,60,'포상관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('포상승인관리','EgovRwardConfmList',5610000,5000000,61,'포상승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기념일관리','selectAnnvrsryManageList',5620000,5000000,62,'기념일관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기념일목록(확인용)','selectAnnvrsryMainList',5630000,5000000,63,'기념일목록(확인용)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사신청관리','EgovEventReqstManageList',5640000,5000000,64,'행사신청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사접수관리','EgovEventRcrptManageList',5650000,5000000,65,'행사접수관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사접수승인관리','selectEventRceptConfmList',5660000,5000000,66,'행사접수승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템관리','dir',6000000,0,6,'시스템관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통분류코드','EgovCcmCmmnClCodeList',6010000,6000000,1,'공통분류코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통상세코드','EgovCcmCmmnDetailCodeList',6020000,6000000,2,'공통상세코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통코드','EgovCcmCmmnCodeList',6030000,6000000,3,'공통코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('우편번호관리','EgovCcmZipList',6040000,6000000,4,'우편번호관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정코드관리','EgovCcmAdministCodeList',6050000,6000000,5,'행정코드관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기관코드수신','getInsttCodeRecptnList',6060000,6000000,6,'기관코드수신','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그관리','SelectSysLogList',6070000,6000000,7,'로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용로그관리','SelectUserLogList',6080000,6000000,8,'사용로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('송/수신로그관리','SelectTrsmrcvLogList',6090000,6000000,9,'송/수신로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템이력관리','SelectSysHistoryList',6100000,6000000,10,'시스템이력관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('웹로그관리','SelectWebLogList',6110000,6000000,11,'웹로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('접속로그관리','SelectLoginLogList',6120000,6000000,12,'접속로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴리스트관리','EgovMenuListSelect',6130000,6000000,13,'메뉴리스트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴관리리스트','EgovMenuManageSelect',6140000,6000000,14,'메뉴관리리스트','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴생성관리','EgovMenuCreatManageSelect',6150000,6000000,15,'메뉴생성관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사이트맵','EgovSiteMapng',6160000,6000000,16,'사이트맵','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('바로가기메뉴관리','selectBkmkMenuManageList',6170000,6000000,17,'바로가기메뉴관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램관리','EgovProgramListManageSelect',6180000,6000000,18,'프로그램관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경요청관리','EgovProgramChangeRequstSelect',6190000,6000000,19,'프로그램변경요청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경요청처리','EgovProgramChangeRequstProcessListSelect',6200000,6000000,20,'프로그램변경요청처리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경이력','EgovProgramChgHstListSelect',6210000,6000000,21,'프로그램변경이력','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배치작업관리','getBatchOpertList',6220000,6000000,22,'배치작업관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배치결과관리','getBatchResultList',6230000,6000000,23,'배치결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('스케줄처리','getBatchSchdulList',6240000,6000000,24,'스케줄처리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('백업관리','getBackupOpertList',6250000,6000000,25,'백업관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('백업결과관리','getBackupResultList',6260000,6000000,26,'백업결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('네트워크관리','selectNtwrkList',6270000,6000000,27,'네트워크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버정보관리','selectServerEqpmnList',6280000,6000000,28,'서버정보관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버(S/W)목록','selectServerList',6290000,6000000,29,'서버(S/W)목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('장애신청관리','selectTroblReqstList',6300000,6000000,30,'장애신청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('장애처리결과관리','selectTroblProcessList',6310000,6000000,31,'장애처리결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템/서비스연계','dir',7000000,0,7,'시스템/서비스연계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템연계관리','getSystemCntcList',7010000,7000000,1,'시스템연계관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계현황관리','getCntcSttusList',7020000,7000000,2,'연계현황관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계메시지관리','getCntcMessageList',7030000,7000000,3,'연계메시지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계기관관리','getCntcInsttList',7040000,7000000,4,'연계기관관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('자산 관리','dir',8000000,0,8,'자산 관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('개인지식관리','EgovComDamPersonalList',8010000,8000000,1,'개인지식관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식맵관리(유형)','EgovComDamMapMaterialList',8020000,8000000,2,'지식맵관리(유형)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식맵관리(조직)','EgovComDamMapTeamList',8030000,8000000,3,'지식맵관리(조직)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식전문가관리','EgovComDamSpecialistList',8040000,8000000,4,'지식전문가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식정보관리','EgovComDamManagementList',8050000,8000000,5,'지식정보관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식평가관리','EgovComDamAppraisalList',8060000,8000000,6,'지식평가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식정보제공','listRequestOffer',8070000,8000000,7,'지식정보제공','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('요소기술','dir',9000000,0,9,'요소기술','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공휴일관리(달력)','EgovRestdeList',9010000,9000000,1,'공휴일관리(달력)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('송수신모니터링','getTrsmrcvMntrngList',9020000,9000000,2,'송수신모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('DB서비스모니터링','getDbMntrngList',9030000,9000000,3,'DB서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('HTTP서비스모니터링','EgovComUtlHttpMonList',9040000,9000000,4,'HTTP서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로세스모니터링','EgovComUtlProcessMonList',9050000,9000000,5,'프로세스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('네트워크서비스모니터링','selectNtwrkSvcMntrngList',9060000,9000000,6,'네트워크서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('파일시스템모니터링','selectFileSysMntrngList',9070000,9000000,7,'파일시스템모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프록시서비스','selectProxySvcList',9080000,9000000,8,'프록시서비스','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('파일동기화(대상서버)','selectSynchrnServerList',9090000,9000000,9,'파일동기화(대상서버)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인세션정보체크','loginSessionView',9100000,9000000,10,'로그인세션정보체크','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버자원모니터링-대상목록','selectMntrngServerList',9110000,9000000,11,'서버자원모니터링-대상목록','/','/'); + +-- 기본템플릿 +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_BOARD_DEFAULT', '게시판 기본템플릿', 'TMPT01', '/css/egovframework/com/cop/tpl/egovbbsTemplate.css', 'Y', 'SYSTEM', SYSDATE); +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_CMNTY_DEFAULT', '커뮤니티 기본템플릿', 'TMPT02', 'egovframework/com/cop/tpl/EgovCmmntyBaseTmpl', 'Y', 'SYSTEM', SYSDATE); +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_CLUB__DEFAULT', '동호회 기본템플릿', 'TMPT03', 'egovframework/com/cop/tpl/EgovClbBaseTmpl', 'Y', 'SYSTEM', SYSDATE); + +-- 우편번호 +INSERT INTO COMTCZIP(ZIP, SN, CTPRVN_NM, SIGNGU_NM, EMD_NM, LI_BULD_NM, LNBR_DONG_HO, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('100775',7381,'서울','중구','무교동','한국정보화진흥원','',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM'); +INSERT INTO COMTRDNMADRZIP(RDMN_CODE, SN, CTPRVN_NM, SIGNGU_NM, RDMN, BDNBR_MNNM, BDNBR_SLNO, BULD_NM, DETAIL_BULD_NM, ZIP, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('111403100021','1','서울특별시','중구','청계천로','14','0','한국정보사회진흥원','','100775',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM'); + +-- 최근검색어조회 +INSERT INTO COMTNRECENTSRCHWRDMANAGE(SRCHWRD_MANAGE_ID, SRCHWRD_MANAGE_NM, SRCHWRD_CONECT_URL, USER_SEARCH_AT,FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES('SRCMGR_0000000000001','공통코드관리','/sym/ccm/cca/SelectCcmCmmnCodeList.do','Y',SYSDATE,'USRCNFRM_00000000000',SYSDATE,'USRCNFRM_00000000000'); \ No newline at end of file Index: base3.10/script/dml/maria/com_DML_maria.sql =================================================================== --- base3.10/script/dml/maria/com_DML_maria.sql (nonexistent) +++ base3.10/script/dml/maria/com_DML_maria.sql (revision 7) @@ -0,0 +1,1021 @@ +-- ID Generator +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADBKUSER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADBK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADMINIST_WORD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADMIN_CODE_OPERT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ANN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BACKUP_OPERT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BACKUP_RESULT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BANNER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_OPERT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_RESULT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BBS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CLB_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CMMNTY_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNSLT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTC_MESSAGE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTNTS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('COMTECOPSEQ', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CPYRHT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CTSNN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DAM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DB_MNTRNG_LOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DEPT_JOB_BX_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DEPT_JOB_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DIARY_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DUS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EVENTINFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EVENT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EXTRLHRINFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FAQ_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILESYS_LOGID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILESYS_MNTRNG', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('GROUP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HPCM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HTTL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HTTP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INDVDL_INFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INFRML_SANCTN', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INSTT_CODE_OPERT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INSTT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ISG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ITEM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('KNO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('KNO_ID2', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LEADER_SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LOGINLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LSI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MAILMSG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MEMO_REPRT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MEMO_TODO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MSI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MTG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MTG_PLACE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NCRD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NEWS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_RECPTN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_TRNSMIT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTWRKSVC_LOGID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTWRK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ONLINE_MUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_IEM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_MGR_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_RUT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POPUP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROXYLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROXYSVC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QA_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESITM_', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESRSPNS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESTNR_QESITM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESTNR_RPD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QUSTNRQESTN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QUSTNRTMPLA_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RECOMEND_SITE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RESTDE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RESVE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ROLE_ID', 20); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RSS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RWARD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SCRAP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SERVER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SEVEQ_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SITE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SMS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_MANAGEID', 2); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_MANAGE_I', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SVCRESMONTLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SVC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYNCHRNSERVER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYSLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TEST1', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TMPLAT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TROBL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TRSMRCVLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TR_MNTRNG_LOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('UNITY_LINK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('USE_STPLAT_ID', 3); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('USRCNFRM_ID', 3); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WEBLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WIKI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WIKMNTHNG_REPRT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WORD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ORGNZT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ANSWER_NO', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('STSFDG_NO', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ROUGHMAP_ID', 1); + +-- 공통분류코드 +INSERT INTO COMTCCMMNCLCODE(CL_CODE, CL_CODE_NM, CL_CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', '전자정부 프레임워크 공통서비스', '전자정부 프레임워크 공통서비스', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); + +-- 공통코드 +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM001', '등록구분', '게시판, 커뮤니티, 동호회 등록구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM002', '이력구분', '시스템이력등록구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM003', '업무구분', '업무구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM005', '템플릿유형', '템플릿유형구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM006', '승인유형', '동호회, 커뮤니티 승인 유형', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM007', '승인상태', '동호회, 커뮤니티 승인 상태', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM008', '처리상태', '송수신 요청의 처리상태', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM009', '게시판속성', '게시판 속성', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM010', '권한유형', '시스템을 사용하기 위한 권한 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM011', '롤유형', '시스템의 기능을 사용하기 위한 롤 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM012', '회원유형', '일반/기업/업무담당자를 구현하기 위한 사용자 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM013', '회원상태', '회원 가입 신청/승인/삭제를 위한 상태 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM014', '성별구분', '남녀 성별 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM015', '인증방식유형', '주민등록번호 인증, Gpin 인증과 같은 사용자 인증 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM016', '변경요청처리 상태', '프로그램 변경의 요청/처리 등의 변경요청 상태 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM017', '휴일구분', '휴일의 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM018', '질문유형', '질문유형 객관식/주관식 상태구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM019', '일정중요도', '일정중요도 낮음/보통/높음 상태구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM020', '일정구분', '일정구분 부서일지정보/일지정보 상태구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM021', '도움말구분', '도움말 설명 구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM022', '비밀번호 힌트', '비밀번호 힌트 구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM023', '사이트주제분류', '사이트주제분류 설명 구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM024', '발송결과구분', '발송메일 수신결과 구분 코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM025', '소속기관', '소속기관정보를 관리할때 사용하는 구분코드(시스템별로 재정의)', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM026', '기업구분', '기업구분정보를 관리할때 사용하는 구분코드(시스템별로 재정의)', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM027', '업종', '대표업종코드(시스템별로 재정의)', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM028', '질의응답처리상태', 'Q/A 처리상태코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM029', '롤유형코드', '', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM030', '일정구분', '일정구분 코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM031', '반복구분', '일정 반복구분 코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM032', '작업유형', '승인이력 작업유형', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM033', '시스템로그구분', '', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM034', '직업유형', '직업유형코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM035', '행사유형', '행사/이벤트/캠페인 구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM036', '보고서 진행상태코드', '보고서의 진행상태를 코드화 하여 관리한다.', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM038', '온라인POLL페기유무', '온라인POLL-온라인POLL페기유무', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM039', '온라인POLL구분', '온라인POLL-온온라인POLL구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM040', '보고서 종류코드', '보고서 종류코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM041', '온라인메뉴얼구분', '온라인메누얼-온라인메뉴얼구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM042', '보고서통계기간구분', '보고서통계기간구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM043', '기관코드변경구분', '기관코드변경구분', 'Y', SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM044', '기관코드수신처리구분', '기관코드수신처리구분', 'Y', SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM045', '사용여부', '사용여부', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM046', '모니터링상태구분', '모니터링상태구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM047', '실행주기구분', '실행주기구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM048', 'DBMS종류', 'DBMS종류', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM049', '압축구분', '압축구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM050', '수신구분', '쪽지관리', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM051', '승인여부', '승인여부구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM052', '달력구분', '달력구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM053', '행사구분', '행사구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM054', '경조구분', '경조구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM055', '포상구분', '포상구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM056', '휴가구분', '휴가구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM057', '일정구분', '일정구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM058', '반복구분코드', '반복구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM059', '우선순위', '우선순위', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM060', '보고서구분', '보고서구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM061', '간부상태', '간부상태', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM062', ' HTTP상태코드', 'HTTP상태코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM063', '상태관리', '상태관리', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM064', '서버종류코드', '서버종류코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM065', '장애종류코드', '장애종류코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM066', '서버자원종류', '서버자원종류', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM067', '네트워크관리항목', '네트워크관리항목', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM068', '처리상태코드', '처리상태코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM069', '기념일구분', '기념일구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM070', '위치구분', '회의실 위치구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM071', '당직체크구분', '당직체크구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM072', '서비스상태', '서비스상태', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM073', '가족관계', '가족관계', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM074', '요일구분', '요일구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM075', '업무구분코드', '업무구분코드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM076', '실행상태구분', '실행상태구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM101', '게시판유형', '게시판유형', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM102', '단어구분', '단어구분', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); + +-- 공통상세코드 +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC01', '단일 게시판 이용등록', '단일 게시판 이용등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC02', '커뮤니티 등록', '커뮤니티 등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC03', '동호회 등록', '동호회 등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC04', '명함등록', '명함등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC05', '동호회 게시판 등록', '동호회 게시판 등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC06', '커뮤니티 게시판 등록', '커뮤니티 게시판 등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC07', '게시판사용자등록', '게시판사용자등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST01', '소프트웨어패치', '소프트웨어패치', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST02', '소프트웨어설치', '소프트웨어설치', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST03', '소프트웨어삭제', '소프트웨어삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST04', '하드웨어업그레이드', '하드웨어업그레이드', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST05', '하드웨어삭제', '하드웨어삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'BBS', '게시판', '게시판', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'CMY', '커뮤니티', '커뮤니티', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'CLB', '동호회', '동호회', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'NCD', '명함', '명함', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT01', '게시판템플릿', '게시판템플릿', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT02', '커뮤니티템플릿', '커뮤니티템플릿', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT03', '블로그템플릿', '블로그템플릿', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF01', '커뮤니티등록', '커뮤니티등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF02', '커뮤니티삭제', '커뮤니티삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF03', '동호회등록', '동호회등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF04', '동호회삭제', '동호회삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF05', '커뮤니티운영자등록', '커뮤니티운영자등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF06', '커뮤니티운영자삭제', '커뮤니티운영자삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF07', '동호회운영자등록', '동호회운영자등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF08', '동호회운영자삭제', '동호회운영자삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF09', '게시판이용등록', '게시판이용등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF10', '게시판삭제', '게시판삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF11', '커뮤니티사용자등록', '커뮤니티사용자등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF12', '커뮤니티사용자탈퇴', '커뮤니티사용자탈퇴', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF13', '동호회사용자등록', '동호회사용자등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF14', '동호회사용자탈퇴', '동호회사용자탈퇴', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP01', '승인요청', '승인요청', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP02', '승인허가', '승인허가', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP03', '승인반려', '승인반려', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S01', '전송요청', '전송요청', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S02', '전송완료', '전송완료', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S03', '전송실패', '전송실패', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S04', '수신요청', '수신요청', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S05', '수신완료', '수신완료', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S06', '수신실패', '수신실패', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA01', '유효게시판', '유효게시판', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA02', '갤러리', '갤러리', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA03', '일반게시판', '일반게시판', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVS001', '시스템 관련 권한(최상위 권한)', '시스템 관련 권한(최상위 권한)', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVD001', '데이터베이스 관련 권한', '데이터베이스 관련 권한', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVU001', '사용자 관련 권한', '사용자 관련 권한', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVA001', '어플리케이션 관련 권한', '어플리케이션 관련 권한', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVB001', '게시판 관련 권한', '게시판 관련 권한', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVC001', '커뮤니티 관련 권한', '커뮤니티 관련 권한', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS001', '시스템 관리 최상위 롤', '시스템 관리 최상위 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS002', '시스템 접근(view) 롤', '시스템 접근(view) 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS003', '시스템 설정 등록/변경 롤', '시스템 설정 등록/변경 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS004', '시스템 파일 등록/변경 롤', '시스템 파일 등록/변경 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD001', '데이터베이스 관련 최상위 롤', '데이터베이스 관련 최상위 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD002', '데이터베이스 스키마 등록/변경 롤', '데이터베이스 스키마 등록/변경 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD003', '데이터 조회 롤', '데이터 조회 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD004', '데이터 등록/변경 롤', '데이터 등록/변경 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU001', '사용자 관련 최상위 롤', '사용자 관련 최상위 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU002', '업무 시스템 사용자 관리 롤', '업무 시스템 사용자 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU003', '기업회원 시스템 사용자 관리 롤', '기업회원 시스템 사용자 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU004', '일반회원 시스템 사용자 관리 롤', '일반회원 시스템 사용자 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU005', '게시판 사용자 관리 롤', '게시판 사용자 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU006', '커뮤니티 사용자 관리 롤', '커뮤니티 사용자 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA001', '어플리케이션 관련 최상위 롤', '어플리케이션 관련 최상위 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA002', '업무 어플리케이션 접근 롤', '업무 어플리케이션 접근 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA003', '업무 어플리케이션 관리 롤', '업무 어플리케이션 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA004', '일반 어플리케이션 접근 롤', '일반 어플리케이션 접근 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA005', '일반 어프리케이션 관리 롤', '일반 어프리케이션 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA006', '어플리케이션 약관 관리 롤', '어플리케이션 약관 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA007', '어플리케이션 저작권 관리 롤', '어플리케이션 저작권 관리 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA008', '통계 및 보고서 접근 롤', '통계 및 보고서 접근 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB001', '게시판 관련 최상위 롤', '게시판 관련 최상위 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB002', '게시판 생성 롤', '게시판 생성 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB003', '게시판 접근 롤', '게시판 접근 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB004', '게시판 글쓰기 롤', '게시판 글쓰기 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB005', '게시판 글 수정/삭제 롤', '게시판 글 수정/삭제 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC001', '커뮤니티 관련 최상위 롤', '커뮤니티 관련 최상위 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC002', '커뮤니티 생성 롤', '커뮤니티 생성 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC003', '커뮤니티 접근 롤', '커뮤니티 접근 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC004', '커뮤니티 글쓰기 롤', '커뮤니티 글쓰기 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC005', '커뮤니티 글 수정/삭제 롤', '커뮤니티 글 수정/삭제 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC006', '파일 업로드 롤', '파일 업로드 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR01', '일반 회원 유형', '일반 회원 유형', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR02', '기업 회원 유형', '기업 회원 유형', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR03', '업무 담당자(사용자) 유형', '업무 담당자(사용자) 유형', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR99', '사용자 유형 최상위 롤', '사용자 유형 최상위 롤', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'A', '회원 가입 신청 상태', '회원 가입 신청 상태', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'P', '회원 가입 승인 상태', '회원 가입 승인 상태', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'D', '회원 가입 삭제 상태', '회원 가입 삭제 상태', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM014', 'M', '남자', '남자', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM014', 'F', '여자', '여자', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM015', 'ATH01', '주민등록번호 인증', '주민등록번호 인증', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM015', 'ATH02', 'GPIN 인증', 'GPIN 인증', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR01', '프로그램 변경 요청 신청', '프로그램 변경 요청 신청', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR02', '프로그램 변경 요청 수락', '프로그램 변경 요청 수락', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR03', '프로그램 변경 진행', '프로그램 변경 진행', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR04', '프로그램 변경 완료', '프로그램 변경 완료', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR05', '프로그램 변경 이관', '프로그램 변경 이관', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '01', '법정휴일', '법정휴일', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '02', '법정공휴일', '법정공휴일', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '03', '임시공휴일', '임시공휴일', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM018', '1', '객관식', '객관식', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM018', '2', '주관식', '주관식', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'A', '높음', '높음', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'B', '보통', '보통', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'C', '낮음', '낮음', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM020', '1', '부서일정관리', '부서일정관리', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM020', '2', '일정관리', '일정관리', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM021', '1', '기능설명', '기능설명', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM021', '2', '절차설명', '절차설명', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P01', '가장 기억에 남는 장소는?', '가장 기억에 남는 장소는?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P02', '나의 좌우명은?', '나의 좌우명은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P03', '나의 보물 제1호는?', '나의 보물 제1호는?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P04', '가장 기억에 남는 선생님 성함은?', '가장 기억에 남는 선생님 성함은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P05', '다른 사람은 모르는 나만의 신체비밀은?', '다른 사람은 모르는 나만의 신체비밀은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P06', '오래도록 기억하고 싶은 날짜는?', '오래도록 기억하고 싶은 날짜는?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P07', '받았던 선물 중 기억에 남는 독특한 선물은?', '받았던 선물 중 기억에 남는 독특한 선물은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P08', '가장 생각나는 친구 이름은?', '가장 생각나는 친구 이름은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P09', '인상 깊게 읽은 책 이름은?', '인상 깊게 읽은 책 이름은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P10', '내가 존경하는 인물은?', '내가 존경하는 인물은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P11', '나의 노래방 애창곡은?', '나의 노래방 애창곡은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P12', '가장 감명깊게 본 영화는?', '가장 감명깊게 본 영화는?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P13', '좋아하는 스포츠팀 이름은?', '좋아하는 스포츠팀 이름은?', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '01', '경제', '경제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '02', '전산', '전산', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '03', '행정', '행정', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'R', '요청', '요청', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'F', '실패', '실패', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'C', '완료', '완료', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000001', '공공기관', '공공기관', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000002', '금융기관', '금융기관', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000003', '교육기관', '교육기관', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000004', '의료기관', '의료기관', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000001', '대기업', '대기업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000002', '중소기업', '중소기업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000003', '다국적기업', '다국적기업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'A', '축산업', '축산업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'B', '어업', '어업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'C', '광업', '광업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'D', '제조업', '제조업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'E', '전기,가스및수도사업', '전기,가스및수도사업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'F', '건설업', '건설업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'G', '도소매 및 소비자용품수리업', '도소매 및 소비자용품수리업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'H', '숙박및음식점', '숙박및음식점', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'I', '운수창고및통신업', '운수창고및통신업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'J', '금융및보험업', '금융및보험업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'K', '부동산,임대및사업서비스업', '부동산,임대및사업서비스업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'M', '교육서비스업', '교육서비스업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'N', '보건업', '보건업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'O', '기타공공,사회및개인서비스업', '기타공공,사회및개인서비스업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'P', '가사서비스업', '가사서비스업', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '1', '접수대기', '접수대기', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '2', '접수', '접수', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '3', '완료', '완료', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'method', 'METHOD', 'METHOD', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'pointcut', 'POINTCUT', 'POINTCUT', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'url', 'URL', 'URL', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '1', '회의', '회의', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '2', '세미나', '세미나', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '3', '강의', '강의', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '4', '교육', '교육', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '5', '기타', '기타', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '6', '휴일', '휴일', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '1', '당일', '당일', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '2', '반복', '반복', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '3', '연속', '연속', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '4', '요일반복', '요일반복', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC01', '회원가입', '회원가입', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC02', '사용자등록', '사용자등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC03', '회원탈퇴', '회원탈퇴', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC04', '사용자삭제', '사용자삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC05', '커뮤니티등록', '커뮤니티등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC06', '동호회등록', '동호회등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC07', '커뮤니티폐쇄', '커뮤니티폐쇄', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC08', '동호회폐쇄', '동호회폐쇄', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC09', '게시판등록', '게시판등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC10', '게시판폐쇄', '게시판폐쇄', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'C', '생성', '생성', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'R', '조회', '조회', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'U', '수정', '수정', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'D', '삭제', '삭제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '1', '학생', '학생', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '2', '대학생', '대학생', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '3', '군인', '군인', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '4', '교사', '교사', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '5', '기타', '기타', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '1', '행사', '행사', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '2', '이벤트', '이벤트', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '3', '캠페인', '캠페인', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '01', '작성', '작성', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '02', '상신', '상신', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '03', '반려', '반려', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '04', '결재완료', '결재완료', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM038', 'N', 'N', '아니오', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM038', 'Y', 'Y', '예', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '001', '사회', '사회', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '002', '정치', '정치', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '003', '경제', '경제', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '004', '문화', '문화', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '005', '인문', '인문', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '006', '공학', '공학', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '007', '기타', '기타', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '01', '휴가계획서', '휴가계획서', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '02', '출장보고서', '출장보고서', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '03', '교육보고서', '교육보고서', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '04', '판품요청서', '판품요청서', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '05', '지원요청서', '지원요청서', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '001', '절차설명', '절차설명', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '002', '기능설명', '기능설명', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '003', '기타설명', '기타설명', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y', '연도별', '연도별', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y-%m', '월별', '월별', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y-%m-%d', '일별', '일별', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '01', '생성', '생성', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '02', '변경', '변경', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '03', '말소', '말소', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '00', '수신처리', '수신처리', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '01', '처리완료', '처리완료', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '10', '기등록', '기등록', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '11', '생성오류', '생성오류', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '12', '변경오류', '변경오류', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '13', '말소오류', '말소오류', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM046', '01', '정상', '정상', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM046', '02', '비정상', '비정상', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '01', '매일', '매일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '02', '매주', '매주', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '03', '매월', '매월', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '04', '매년', '매년', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '05', '한번만', '한번만', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '01', 'Oracle', 'Oracle', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '02', 'Mysql', 'Mysql', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '03', 'Tibero', 'Tibero', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '04', 'Altibase', 'Altibase', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM049', '01', 'Tar', 'Tar', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM049', '02', 'ZIP', 'ZIP', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM050', '1', '수신', '수신', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM050', '2', '참조', '참조', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '01', '신청중', '신청중', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '02', '승인', '승인', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '03', '반려', '반려', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM052', '01', '양력', '양력', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM052', '02', '음력', '음력', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '01', '교육', '교육', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '02', '세미나', '세미나', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '03', '홍보', '홍보', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '04', '단합', '단합', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '05', '간담회', '간담회', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '01', '결혼', '결혼', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '02', '출생', '출생', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '03', '회갑', '회갑', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '04', '사망', '사망', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '05', '출산', '출산', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '01', '우수사원', '우수사원', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '02', '우수팀', '우수팀', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '01', '연차휴가', '연차휴가', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '02', '반차휴가', '반차휴가', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '03', '무급휴가', '무급휴가', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '04', '유급휴가', '유급휴가', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '05', '대체휴가', '대체휴가', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '1', '회의', '회의', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '2', '방문', '방문', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '3', '세미나', '세미나', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '4', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '1', '반복없음', '당일', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '2', '매일', '매일', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '3', '매주', '매주', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '4', '매월', '매월', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '1', '높음', '높음', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '2', '보통', '보통', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '3', '낮음', '낮음', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM060', '1', '주간보고', '주간보고', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM060', '2', '월간보고', '월간보고', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '1', '재실', '재실', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '2', '자리비움', '자리비움', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '3', '회의중', '회의중', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '4', '출장중', '출장중', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '5', '휴가중', '휴가중', 'Y', SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '100', 'Continue ', 'Continue ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '101', 'Switching Protocols ', 'Switching Protocols ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '200', 'OK ', 'OK ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '201', 'Created ', 'Created ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '202', 'Accepted ', 'Accepted ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '203', 'Non-Authoritative Information ', 'Non-Authoritative Information ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '204', 'No Content ', 'No Content ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '205', 'Reset Content ', 'Reset Content ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '206', 'Partial Content ', 'Partial Content ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '300', 'Multiple Choices ', 'Multiple Choices ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '301', 'Moved Permanently ', 'Moved Permanently ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '302', 'Found ', 'Found ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '303', 'See Other ', 'See Other ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '304', 'Not Modified ', 'Not Modified ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '305', 'Use Proxy ', 'Use Proxy ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '307', 'Temporary Redirect ', 'Temporary Redirect ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '400', 'Bad Request ', 'Bad Request ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '401', 'Unauthorized ', 'Unauthorized ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '403', 'Forbidden ', 'Forbidden ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '404', 'Not Found ', 'Not Found ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '405', 'Method Not Allowed ', 'Method Not Allowed ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '406', 'Not Acceptable ', 'Not Acceptable ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '407', 'Proxy Authentication Required ', 'Proxy Authentication Required ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '408', 'Request Timeout ', 'Request Timeout ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '409', 'Conflict ', 'Conflict ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '410', 'Gone ', 'Gone ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '411', 'Length Required ', 'Length Required ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '412', 'Precondition Failed ', 'Precondition Failed ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '413', 'Request Entity Too Large ', 'Request Entity Too Large ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '414', 'Request URI Too Long ', 'Request URI Too Long ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '415', 'Unsupported Media Type ', 'Unsupported Media Type ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '416', 'Requested Range Not Satisfiable ', 'Requested Range Not Satisfiable ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '417', 'Expectation Failed ', 'Expectation Failed ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '500', 'Internal Server Error ', 'Internal Server Error ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '501', 'Not Implemented ', 'Not Implemented ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '502', 'Bad Gateway ', 'Bad Gateway ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '503', 'Service Unavailable ', 'Service Unavailable ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '504', 'Gateway Timeout ', 'Gateway Timeout ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '505', 'HTTP Version Not Supported ', 'HTTP Version Not Supported ', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '100', 'Runnable', 'Runnable', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '200', 'Sleeping', 'Sleeping', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '300', 'Swapped', 'Swapped', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '400', 'Zombie', 'Zombie', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '500', 'Stopped', 'Stopped', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '01', '웹 서버', '웹 서버', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '02', 'WAS', 'WAS', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '03', 'DB 서버', 'DB 서버', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '04', 'Mail 서버', 'Mail 서버', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '05', 'DNS 서버', 'DNS 서버', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '99', '기타 서버', '기타 서버', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '01', '네트워크 장애', '네트워크 장애', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '02', '하드웨어 장애', '하드웨어 장애', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '03', '어플리케이션 장애', '어플리케이션 장애', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '04', '서비스 장애', '서비스 장애', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '05', '모니터링 장애', '모니터링 장애', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '06', '정전', '정전', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '07', '화재', '화재', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '08', '홍수', '홍수', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '99', '기타 장애', '기타 장애', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM066', '01', 'CPU', 'CPU', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM066', '02', '메모리', '메모리', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '01', '서버', '서버', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '02', '라우터', '라우터', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '03', '스위치', '스위치', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '04', 'PC', 'PC', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '05', '프린터', '프린터', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'A', '접수', '접수', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'C', '완료', '완료', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'R', '요청', '요청', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '01', '생일', '생일', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '02', '기념', '기념', 'N',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '03', '결혼', '결혼', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '04', '탄생', '탄생', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '05', '축하', '축하', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '06', '출장', '출장', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '07', '퇴원', '퇴원', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '01', '본관1층', '본관1층', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '02', '본관2층', '본관2층', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '03', '본관3층', '본관3층', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '04', '본관4층', '본관4층', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '05', '본관5층', '본관5층', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '06', '별관1층', '별관1층', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '07', '별관2층', '별관2층', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM', SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '01', '전기시설', '전기시설', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '02', '소등상태', '소등상태', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '03', '방화요소', '방화요소', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '04', '소방시설', '소방시설', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '05', '비상 KEY', '비상 KEY', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '06', '시건장치', '시건장치', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '01', '정상', '정상', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '02', '오류', '오류', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '03', '중지', '중지', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '09', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '01', '본인', '본인', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '02', '배우자', '배우자', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '03', '자녀', '자녀', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '04', '부친', '부친', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '05', '모친', '모친', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '06', '배우자부친', '배우자부친', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '07', '배우자모친', '배우자모친', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '08', '조부', '조부', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '09', '조모', '조모', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '10', '형제자매(본인)', '형제자매(본인)', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '11', '외조부', '외조부', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '12', '외조모', '외조모', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '13', '백숙부', '백숙부', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '14', '백숙모', '백숙모', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '15', '형제자매(배우자)', '형제자매(배우자)', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '99', '기타', '기타', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '1', '일요일', '일요일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '2', '월요일', '월요일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '3', '화요일', '화요일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '4', '수요일', '수요일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '5', '목요일', '목요일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '6', '금요일', '금요일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '7', '토요일', '토요일', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '001', '경조신청', '경조신청', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '002', '포상신청', '포상신청', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '003', '휴가신청', '휴가신청', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '004', '행사신청', '행사신청', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '01', '정상', '정상', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '02', '비정상', '비정상', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '03', '수행중', '수행중', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST01', '통합게시판', '통합게시판', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST02', '블로그형게시판', '블로그형게시판', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST03', '방명록', '방명록', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM102', '1', '표준어', '표준어', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM102', '2', '동의어', '동의어', 'Y',SYSDATE(), 'SYSTEM',SYSDATE(), 'SYSTEM'); + +-- 그룹 +INSERT INTO COMTNAUTHORGROUPINFO ( GROUP_ID, GROUP_NM, GROUP_CREAT_DE,GROUP_DC ) VALUES ( 'GROUP_00000000000000', '0번 그룹입니다', SYSDATE(), '0번 그룹입니다'); + +-- 조직 COMTNORGNZTINFO +INSERT INTO COMTNORGNZTINFO ( ORGNZT_ID, ORGNZT_NM, ORGNZT_DC ) VALUES ( 'ORGNZT_0000000000000', '기본조직', '기본조직'); + +-- cmm 패키지 끝 ---------------------------------------------------------------------------------------------------------------------------------- + + +-- 업무사용자정보 +INSERT INTO COMTNEMPLYRINFO (EMPLYR_ID, ORGNZT_ID, USER_NM, PASSWORD, EMPL_NO, IHIDNUM, SEXDSTN_CODE, BRTHDY, FXNUM, HOUSE_ADRES, PASSWORD_HINT, PASSWORD_CNSR, HOUSE_END_TELNO, AREA_NO, DETAIL_ADRES, ZIP, OFFM_TELNO, MBTLNUM, EMAIL_ADRES, OFCPS_NM, HOUSE_MIDDLE_TELNO, GROUP_ID, PSTINST_CODE, EMPLYR_STTUS_CODE, ESNTL_ID, CRTFC_DN_VALUE, SBSCRB_DE) VALUES ('TEST1','ORGNZT_0000000000000','테스트1', 'raHLBnHFcunwNzcDcfad4PhD11hHgXSUr7fc1Jk9uoQ=','20112059',null,'F','20111130','1566-2059','서울 중구 무교동 한국정보화진흥원','P01','전자정부표준프레임워크센터','2059','02','전자정부표준프레임워크센터','100775','1566-2059','1566-2059','egovframesupport@gmail.com','관리자','1566','GROUP_00000000000000','00000001','P','USRCNFRM_00000000000','',SYSDATE()); +INSERT INTO COMTNEMPLYRINFO (EMPLYR_ID, ORGNZT_ID, USER_NM, PASSWORD, EMPL_NO, IHIDNUM, SEXDSTN_CODE, BRTHDY, FXNUM, HOUSE_ADRES, PASSWORD_HINT, PASSWORD_CNSR, HOUSE_END_TELNO, AREA_NO, DETAIL_ADRES, ZIP, OFFM_TELNO, MBTLNUM, EMAIL_ADRES, OFCPS_NM, HOUSE_MIDDLE_TELNO, GROUP_ID, PSTINST_CODE, EMPLYR_STTUS_CODE, ESNTL_ID, CRTFC_DN_VALUE, SBSCRB_DE) VALUES ('webmaster','ORGNZT_0000000000000','웹마스터','78gXjfDDMzepOP4QTiFMRFOT/msFgKkHIgGOU95PT94=','20112060',null,'F','20111130','1566-2059','서울특별시 중구 청계천로 14 - 0 한국정보사회진흥원','P01','전자정부표준프레임워크센터','2059','02','전자정부표준프레임워크센터','100775','1566-2059','1566-2059','egovframesupport@gmail.com','웹관리자','1566','GROUP_00000000000000','00000001','P','USRCNFRM_99999999999','',SYSDATE()); + +-- 일반사용자정보 +INSERT INTO COMTNGNRLMBER (MBER_ID,PASSWORD,PASSWORD_HINT,PASSWORD_CNSR,IHIDNUM,MBER_NM,ZIP,ADRES,AREA_NO,MBER_STTUS,DETAIL_ADRES,END_TELNO,MBTLNUM,GROUP_ID,MBER_FXNUM,MBER_EMAIL_ADRES,MIDDLE_TELNO,SBSCRB_DE,SEXDSTN_CODE,ESNTL_ID) values ('USER','6TAJYwhKCgkgzPXDb83ZUiHi2/TKHhD7t5Ba6RN2qoo=','P01','전자정부표준프레임워크센터',null,'일반회원','100775','서울 중구 무교동 한국정보화진흥원','02','P','전자정부표준프레임워크센터','2059','1566-2059','GROUP_00000000000000','1566-2059','egovframesupport@gmail.com','1566',SYSDATE(),'F','USRCNFRM_00000000001'); + +-- 기업사용자정보 +INSERT INTO COMTNENTRPRSMBER (ENTRPRS_MBER_ID,ENTRPRS_SE_CODE,BIZRNO,JURIRNO,CMPNY_NM,CXFC,ZIP,ADRES,ENTRPRS_MIDDLE_TELNO,FXNUM,INDUTY_CODE,APPLCNT_NM,APPLCNT_IHIDNUM,SBSCRB_DE,ENTRPRS_MBER_STTUS,ENTRPRS_MBER_PASSWORD,ENTRPRS_MBER_PASSWORD_HINT,ENTRPRS_MBER_PASSWORD_CNSR,GROUP_ID,DETAIL_ADRES,ENTRPRS_END_TELNO,AREA_NO,APPLCNT_EMAIL_ADRES,ESNTL_ID) values ('ENTERPRISE','C0000001','1008360001','1000310000011','NIA','이가브','100775','서울특별시 중구 청계천로 14 - 0 한국정보사회진흥원','1566','1566-2059','O','관리자',null,SYSDATE(),'P','ZQhr3oB5QWjBnBO0kbFF7bvQDLkk+Em0ExjTq5JtVTo=','P01','전자정부표준프레임워크센터','GROUP_00000000000000','표준프레임워크센터','2059','02','egovframesupport@gmail.com','USRCNFRM_00000000002'); + +-- 약관정보 +INSERT INTO COMTNSTPLATINFO ( USE_STPLAT_ID, INFO_PROVD_AGRE_CN, USE_STPLAT_CN, FRST_REGIST_PNTTM,FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID, USE_STPLAT_NM ) VALUES ( 'STPLAT_0000000000001', '제1조(목적 등)-개인회원', '개인정보의 수집 및 이용목적-개인회원', SYSDATE(), 'USRCNFRM_00000000000', SYSDATE(), 'USRCNFRM_00000000000', '인터넷이용약관'); +INSERT INTO COMTNSTPLATINFO ( USE_STPLAT_ID, INFO_PROVD_AGRE_CN, USE_STPLAT_CN, FRST_REGIST_PNTTM,FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID, USE_STPLAT_NM ) VALUES ( 'STPLAT_0000000000002', '제1조(목적 등)-기업회원', '개인정보의 수집 및 이용목적-기업회원', SYSDATE(), 'USRCNFRM_00000000000', SYSDATE(), 'USRCNFRM_00000000000', '인터넷이용약관'); + +-- 권한정보 +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_ANONYMOUS' ,'익명 사용자' , '', NOW()); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_ANONYMOUSLY' ,'스프링시큐리티 내부사용(롤부여 금지)' , '', NOW()); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_REMEMBERED' ,'스프링시큐리티 내부사용(롤부여 금지)', '', NOW()); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_FULLY' ,'스프링시큐리티 내부사용(롤부여 금지)' , '', NOW()); +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_USER' ,'일반 사용자' , '', NOW()); +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_ADMIN' ,'관리자' , '', NOW()); + +-- 롤 계층구조 +INSERT INTO COMTNROLES_HIERARCHY VALUES ('ROLE_ANONYMOUS' ,'IS_AUTHENTICATED_ANONYMOUSLY'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_ANONYMOUSLY' ,'IS_AUTHENTICATED_REMEMBERED'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_REMEMBERED' ,'IS_AUTHENTICATED_FULLY'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_FULLY' ,'ROLE_USER'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('ROLE_USER' ,'ROLE_ADMIN'); + +-- 사용자보안설정 +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000000', 'USR03', 'ROLE_ADMIN'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000001', 'USR01', 'ROLE_USER'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000002', 'USR02', 'ROLE_USER'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_99999999999', 'USR03', 'ROLE_ADMIN'); + +-- 롤 등록 +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000001', '로그인롤', '\\A/uat/uia/.*\\.do.*\\Z', '로그인허용을 위한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000002', '좌측메뉴', '/EgovLeft.do', '좌측 메뉴에 대한 접근 제한 롤', 'url', '2', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000003', '모든접근제한', '\\A/.*\\.do.*\\Z', '모든자원에 대한 접근 제한 롤', 'url', '3', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000004', '회원관리', '\\A/uss/umt/.*\\.do.*\\Z', '회원관리에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000005', '실명확인', '\\A/sec/rnc/.*\\.do.*\\Z', '실명확인에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000006', '우편번호', '\\A/sym/ccm/zip/.*\\.do.*\\Z', '우편번호관리에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000007', '로그인이미지', '\\A/uss/ion/lsi/.*\\.do.*\\Z', '로그인이미지관리에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000008', '파일다운로드', '\\A/sym/ccm/zip/.*\\.do.*\\Z', '파일다운로드에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000009', '상단메뉴', '/EgovTop.do', '상단메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000010', '하단메뉴', '/EgovBottom.do', '하단메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000011', '왼쪽메뉴', '/EgovLeft.do', '왼쪽메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATE()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000012', 'Validator모듈','/validator.do','Validator에 대한 접근 제한 롤', 'url', '1', SYSDATE()); + +-- 권한 롤 매핑 +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000001', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000002', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000004', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000005', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000006', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000007', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000008', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000009', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000010', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000011', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000012', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_USER', 'web-000003', SYSDATE()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ADMIN', 'web-000003', SYSDATE()); + +-- 프로그램목록 +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CnsltAnswerListInqire','/uss/olp/cnm/','상담답변관리','상담답변관리','/uss/olp/cnm/CnsltAnswerListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CnsltListInqire','/uss/olp/cns/','상담관리','상담관리','/uss/olp/cns/CnsltListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CpyrhtPrtcPolicyListInqire','/uss/sam/cpy/','저작권보호정책','저작권보호정책','/uss/sam/cpy/CpyrhtPrtcPolicyListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('dir','dir','디렉토리','디렉토리','dir'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAllSchdulManageList','/cop/smt/sam/','전체일정관리','전체일정관리','/cop/smt/sam/EgovAllSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAuthorGroupList','/sec/rgm/','권한그룹관리','권한그룹관리','/sec/rgm/EgovAuthorGroupList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAuthorList','/sec/ram/','권한관리','권한관리','/sec/ram/EgovAuthorList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovBndtCeckManageList','/uss/ion/bnt/','당직체크관리','당직체크관리','/uss/ion/bnt/EgovBndtCeckManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovBndtManageList','/uss/ion/bnt/','당직관리','당직관리','/uss/ion/bnt/EgovBndtManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmAdministCodeList','/sym/ccm/adc/','행정코드관리','행정코드관리','/sym/ccm/adc/EgovCcmAdministCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnClCodeList','/sym/ccm/ccc/','공통분류코드','공통분류코드','/sym/ccm/ccc/EgovCcmCmmnClCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnCodeList','/sym/ccm/cca/','공통코드','공통코드','/sym/ccm/cca/EgovCcmCmmnCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnDetailCodeList','/sym/ccm/cde/','공통상세코드','공통상세코드','/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmZipList','/sym/ccm/zip/','우편번호관리','우편번호관리','/sym/ccm/zip/EgovCcmZipList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamAppraisalList','/dam/app/','지식평가관리','지식평가관리','/dam/app/EgovComDamAppraisalList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamManagementList','/dam/mgm/','지식정보관리','지식정보관리','/dam/mgm/EgovComDamManagementList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamMapMaterialList','/dam/map/mat/','지식맵관리(유형)','지식맵관리(유형)','/dam/map/mat/EgovComDamMapMaterialList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamMapTeamList','/dam/map/tea/','지식맵관리(조직)','지식맵관리(조직)','/dam/map/tea/EgovComDamMapTeamList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamPersonalList','/dam/per/','개인지식관리','개인지식관리','/dam/per/EgovComDamPersonalList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamSpecialistList','/dam/spe/spe/','지식전문가관리','지식전문가관리','/dam/spe/spe/EgovComDamSpecialistList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComUtlHttpMonList','/utl/sys/htm/','HTTP서비스모니터링','HTTP서비스모니터링','/utl/sys/htm/EgovComUtlHttpMonList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComUtlProcessMonList','/utl/sys/prm/','프로세스모니터링','프로세스모니터링','/utl/sys/prm/EgovComUtlProcessMonList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCtsnnConfmList','/uss/ion/ctn/','직원경조사승인관리','직원경조사승인관리','/uss/ion/ctn/EgovCtsnnConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDeptAuthorList','/sec/drm/','부서권한관리','부서권한관리','/sec/drm/EgovDeptAuthorList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDeptSchdulManageList','/cop/smt/sdm/','부서일정관리','부서일정관리','/cop/smt/sdm/EgovDeptSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDiaryManageList','/cop/smt/dsm/','일지관리','일지관리','/cop/smt/dsm/EgovDiaryManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEntrprsMberManage','/uss/umt/','기업회원관리','기업회원관리','/uss/umt/EgovEntrprsMberManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventCmpgnList','/uss/ion/ecc/','행사/이벤트/캠페인','행사/이벤트/캠페인','/uss/ion/ecc/EgovEventCmpgnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventRcrptManageList','/uss/ion/evt/','행사접수관리','행사접수관리','/uss/ion/evt/EgovEventRcrptManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventReqstManageList','/uss/ion/evt/','행사신청관리','행사신청관리','/uss/ion/evt/EgovEventReqstManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovGroupList','/sec/gmt/','그룹관리','그룹관리','/sec/gmt/EgovGroupList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovIndvdlpgeCntntsList','/uss/mpe/','마이페이지관리','마이페이지관리','/uss/mpe/EgovIndvdlpgeCntntsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovIndvdlSchdulManageList','/cop/smt/sim/','일정관리','일정관리','/cop/smt/sim/EgovIndvdlSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('egovLoginUsr','/uat/uia/','로그인','로그인','/uat/uia/egovLoginUsr.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMberManage','/uss/umt/','일반회원관리','일반회원관리','/uss/umt/EgovMberManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMeetingManageList','/uss/olp/mgt/','회의관리','회의관리','/uss/olp/mgt/EgovMeetingManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuCreatManageSelect','/sym/mnu/mcm/','메뉴생성관리','메뉴생성관리','/sym/mnu/mcm/EgovMenuCreatManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuListSelect','/sym/mnu/mpm/','메뉴리스트관리','메뉴리스트관리','/sym/mnu/mpm/EgovMenuListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuManageSelect','/sym/mnu/mpm/','메뉴관리리스트','메뉴관리리스트','/sym/mnu/mpm/EgovMenuManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChangeRequstProcessListSelect','/sym/prm/','프로그램변경요청처리','프로그램변경요청처리','/sym/prm/EgovProgramChangeRequstProcessListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChangeRequstSelect','/sym/prm/','프로그램변경요청관리','프로그램변경요청관리','/sym/prm/EgovProgramChangeRequstSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChgHstListSelect','/sym/prm/','프로그램변경이력','프로그램변경이력','/sym/prm/EgovProgramChgHstListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramListManageSelect','/sym/prm/','프로그램관리','프로그램관리','/sym/prm/EgovProgramListManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrItemManageList','/uss/olp/qim/','항목관리','항목관리','/uss/olp/qim/EgovQustnrItemManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrManageList','/uss/olp/qmc/','설문관리','설문관리','/uss/olp/qmc/EgovQustnrManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrQestnManageList','/uss/olp/qqm/','질문관리','질문관리','/uss/olp/qqm/EgovQustnrQestnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrRespondInfoManageList','/uss/olp/qnn/','설문조사','설문조사','/uss/olp/qnn/EgovQustnrRespondInfoManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrRespondManageList','/uss/olp/qrm/','응답자관리','응답자관리','/uss/olp/qrm/EgovQustnrRespondManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrTmplatManageList','/uss/olp/qtm/','설문템플릿관리','설문템플릿관리','/uss/olp/qtm/EgovQustnrTmplatManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRestdeList','/sym/cal/','공휴일관리(달력)','공휴일관리(달력)','/sym/cal/EgovRestdeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRoleList','/sec/rmt/','롤관리','롤관리','/sec/rmt/EgovRoleList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRwardConfmList','/uss/ion/rwd/','포상승인관리','포상승인관리','/uss/ion/rwd/EgovRwardConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovSiteMapng','/sym/mnu/stm/','사이트맵','사이트맵','/sym/mnu/stm/EgovSiteMapng.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovTnextrlHrInfoList','/uss/ion/ecc/','외부인사정보','외부인사정보','/uss/ion/ecc/EgovTnextrlHrInfoList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovUserManage','/uss/umt/','업무사용자관리','업무사용자관리','/uss/umt/EgovUserManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovVcatnConfmList','/uss/ion/vct/','휴가승인관리','휴가승인관리','/uss/ion/vct/EgovVcatnConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovVcatnManageList','/uss/ion/vct/','휴가관리','휴가관리','/uss/ion/vct/EgovVcatnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('FaqListInqire','/uss/olh/faq/','FAQ관리','FAQ관리','/uss/olh/faq/FaqListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBackupOpertList','/sym/sym/bak/','백업관리','백업관리','/sym/sym/bak/getBackupOpertList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBackupResultList','/sym/sym/bak/','백업결과관리','백업결과관리','/sym/sym/bak/getBackupResultList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchOpertList','/sym/bat/','배치작업관리','배치작업관리','/sym/bat/getBatchOpertList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchResultList','/sym/bat/','배치결과관리','배치결과관리','/sym/bat/getBatchResultList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchSchdulList','/sym/bat/','스케줄처리','스케줄처리','/sym/bat/getBatchSchdulList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcInsttList','/ssi/syi/iis/','연계기관관리','연계기관관리','/ssi/syi/iis/getCntcInsttList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcMessageList','/ssi/syi/ims/','연계메시지관리','연계메시지관리','/ssi/syi/ims/getCntcMessageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcSttusList','/ssi/syi/ist/','연계현황관리','연계현황관리','/ssi/syi/ist/getCntcSttusList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getDbMntrngList','/utl/sys/dbm/','DB서비스모니터링','DB서비스모니터링','/utl/sys/dbm/getDbMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getInsttCodeRecptnList','/sym/ccm/icr/','기관코드수신','기관코드수신','/sym/ccm/icr/getInsttCodeRecptnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getMainImageResult','/uss/ion/msi/','메인이미지 반영결과보기','메인이미지 반영결과보기','/uss/ion/msi/getMainImageResult.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getSystemCntcList','/ssi/syi/sim/','시스템연계관리','시스템연계관리','/ssi/syi/sim/getSystemCntcList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getTrsmrcvMntrngList','/utl/sys/trm/','송수신모니터링','송수신모니터링','/utl/sys/trm/getTrsmrcvMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('HpcmListInqire','/uss/olh/hpc/','도움말','도움말','/uss/olh/hpc/HpcmListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('insertSndngMailView','/cop/ems/','메일발송','메일발송','/cop/ems/insertSndngMailView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listAdministrationWord','/uss/olh/awm/','행정전문용어사전','행정전문용어사전','/uss/olh/awm/listAdministrationWord.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listAdministrationWordManage','/uss/olh/awm/','행정전문용어사전관리','행정전문용어사전관리','/uss/olh/awm/listAdministrationWordManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listIndvdlInfoPolicy','/uss/sam/ipm/','개인정보보호정책확인','개인정보보호정책확인','/uss/sam/ipm/listIndvdlInfoPolicy.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listNoteRecptn','/uss/ion/ntr/','받은쪽지함관리','받은쪽지함관리','/uss/ion/ntr/listNoteRecptn.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listNoteTrnsmit','/uss/ion/nts/','보낸쪽지함관리','보낸쪽지함관리','/uss/ion/nts/listNoteTrnsmit.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlineManual','/uss/olh/omm/','온라인매뉴얼','온라인매뉴얼','/uss/olh/omm/selectOnlineManualList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlinePollManage','/uss/olp/opm/','온라인poll관리','온라인poll관리','/uss/olp/opm/listOnlinePollManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlinePollPartcptn','/uss/olp/opp/','온라인poll참여','온라인poll참여','/uss/olp/opp/listOnlinePollPartcptn.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listPopup','/uss/ion/pwm/','팝업창관리','팝업창관리','/uss/ion/pwm/listPopup.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRecentSrchwrd','/uss/ion/rsm/','최근검색어 목록','최근검색어 목록','/uss/ion/rsm/listRecentSrchwrd.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRequestOffer','/dam/spe/req/','지식정보제공','지식정보제공','/dam/spe/req/listRequestOffer.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRssTagManage','/uss/ion/rss/','RSS태그관리','RSS태그관리','/uss/ion/rss/listRssTagManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRssTagService','/uss/ion/rsn/','RSS태그서비스','RSS태그서비스','/uss/ion/rsn/listRssTagService.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listUnityLink','/uss/ion/ulm/','통합링크관리','통합링크관리','/uss/ion/ulm/listUnityLink.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listWikiBookmark','/uss/ion/wik/bmk/','Wiki기능','Wiki기능','/uss/ion/wik/bmk/listWikiBookmark.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('loginSessionView','/utl/sys/rsc/','로그인세션정보체크','로그인세션정보체크','/utl/sys/rsc/loginSessionView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('NewsInfoListInqire','/uss/ion/nws/','뉴스관리','뉴스관리','/uss/ion/nws/NewsInfoListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('OnlineManualUserList','/uss/olh/omn/','사용자온라인매뉴얼','사용자온라인매뉴얼','/uss/olh/omn/selectOnlineManualList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('QnaAnswerListInqire','/uss/olh/qnm/','Q&amp;A답변관리','Q&amp;A답변관리','/uss/olh/qnm/QnaAnswerListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('QnaListInqire','/uss/olh/qna/','Q&amp;A관리','Q&amp;A관리','/uss/olh/qna/QnaListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('RecomendSiteListInqire','/uss/ion/rec/','추천사이트관리','추천사이트관리','/uss/ion/rec/RecomendSiteListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('registEgovNoteManage','/uss/ion/ntm/','쪽지관리','쪽지관리','/uss/ion/ntm/registEgovNoteManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAdbkList','/cop/adb/','주소록관리','주소록관리','/cop/adb/selectAdbkList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAnnvrsryMainList','/uss/ion/ans/','기념일목록(확인용)','기념일목록(확인용)','/uss/ion/ans/selectAnnvrsryMainList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAnnvrsryManageList','/uss/ion/ans/','기념일관리','기념일관리','/uss/ion/ans/selectAnnvrsryManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBannerList','/uss/ion/bnr/','배너관리','배너관리','/uss/ion/bnr/selectBannerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBannerMainList','/uss/ion/bnr/','MYPAGE배너관리','MYPAGE배너관리','/uss/ion/bnr/selectBannerMainList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectBBSMasterInfs','/cop/bbs/','게시판속성관리','게시판속성관리','/cop/bbs/SelectBBSMasterInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBbsStats','/sts/bst/','게시물통계','게시물통계','/sts/bst/selectBbsStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBBSUseInfs','/cop/com/','게시판사용정보','게시판사용정보','/cop/com/selectBBSUseInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBkmkMenuManageList','/sym/mnu/bmm/','바로가기메뉴관리','바로가기메뉴관리','/sym/mnu/bmm/selectBkmkMenuManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectCmmntyInfs','/cop/cmy/','커뮤니티관리','커뮤니티관리','/cop/cmy/selectCmmntyInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectConectStats','/sts/cst/','접속통계','접속통계','/sts/cst/selectConectStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectCtsnnManageList','/uss/ion/ctn/','직원경조사관리','직원경조사관리','/uss/ion/ctn/selectCtsnnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptJobBxList','/cop/smt/djm/','부서업무함관리','부서업무함관리','/cop/smt/djm/selectDeptJobBxList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptJobList','/cop/smt/djm/','부서업무정보','부서업무정보','/cop/smt/djm/selectDeptJobList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptManageListView','/uss/umt/dpt/','부서관리','부서관리','/uss/umt/dpt/selectDeptManageListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDtaUseStatsList','/sts/dst/','자료이용현황통계','자료이용현황통계','/sts/dst/selectDtaUseStatsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectEventRceptConfmList','/uss/ion/evt/','행사접수승인관리','행사접수승인관리','/uss/ion/evt/selectEventRceptConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectFileSysMntrngList','/utl/sys/fsm/','파일시스템모니터링','파일시스템모니터링','/utl/sys/fsm/selectFileSysMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectIntnetSvcGuidanceList','/uss/ion/isg/','인터넷서비스안내및관리','인터넷서비스안내및관리','/uss/ion/isg/selectIntnetSvcGuidanceList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLeaderSchdulList','/cop/smt/lsm/usr/','간부일정관리','간부일정관리','/cop/smt/lsm/usr/selectLeaderSchdulList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectLoginLogList','/sym/log/clg/','접속로그관리','접속로그관리','/sym/log/clg/SelectLoginLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLoginPolicyList','/uat/uap/','로그인정책관리','로그인정책관리','/uat/uap/selectLoginPolicyList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLoginScrinImageList','/uss/ion/lsi/','로그인화면이미지관리','로그인화면이미지관리','/uss/ion/lsi/selectLoginScrinImageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMainImageList','/uss/ion/msi/','메인이미지관리','메인이미지관리','/uss/ion/msi/selectMainImageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMemoReprtList','/cop/smt/mrm/','메모보고','메모보고','/cop/smt/mrm/selectMemoReprtList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMemoTodoList','/cop/smt/mtm/','메모할일관리','메모할일관리','/cop/smt/mtm/selectMemoTodoList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMntrngServerList','/utl/sys/srm/','서버자원모니터링-대상목록','서버자원모니터링-대상목록','/utl/sys/srm/selectMntrngServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMtgPlaceManageList','/uss/ion/mtg/','회의실관리','회의실관리','/uss/ion/mtg/selectMtgPlaceManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMtgPlaceResveManageList','/uss/ion/mtg/','회의실예약관리','회의실예약관리','/uss/ion/mtg/selectMtgPlaceResveManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMyNcrdUseInf','/cop/ncm/','내명함목록','내명함목록','/cop/ncm/selectMyNcrdUseInf.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNcrdInfs','/cop/ncm/','명함관리','명함관리','/cop/ncm/selectNcrdInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNotificationList','/uss/ion/noi/','정보알림이','정보알림이','/uss/ion/noi/selectNotificationList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNtwrkList','/sym/sym/nwk/','네트워크관리','네트워크관리','/sym/sym/nwk/selectNtwrkList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNtwrkSvcMntrngList','/utl/sys/nsm/','네트워크서비스모니터링','네트워크서비스모니터링','/utl/sys/nsm/selectNtwrkSvcMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectProxySvcList','/utl/sys/pxy/','프록시서비스','프록시서비스','/utl/sys/pxy/selectProxySvcList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectReprtStatsListView','/sts/rst/','보고서통계','보고서통계','/sts/rst/selectReprtStatsListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectRwardManageList','/uss/ion/rwd/','포상관리','포상관리','/uss/ion/rwd/selectRwardManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectScrapList','/cop/scp/','스크랩 목록','스크랩 목록','/cop/scp/selectScrapList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectScrinStats','/sts/sst/','화면통계','화면통계','/sts/sst/selectScrinStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectServerEqpmnList','/sym/sym/srv/','서버정보관리','서버정보관리','/sym/sym/srv/selectServerEqpmnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectServerList','/sym/sym/srv/','서버(S/W)목록','서버(S/W)목록','/sym/sym/srv/selectServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSmsList','/cop/sms/','문자메시지','문자메시지','/cop/sms/selectSmsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSndngMailList','/cop/ems/','발송메일내역','발송메일내역','/cop/ems/selectSndngMailList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSynchrnServerList','/utl/sys/ssy/','파일동기화(대상서버)','파일동기화(대상서버)','/utl/sys/ssy/selectSynchrnServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectSysHistoryList','/sym/log/slg/','시스템이력관리','시스템이력관리','/sym/log/slg/SelectSysHistoryList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectSysLogList','/sym/log/lgm/','로그관리','로그관리','/sym/log/lgm/SelectSysLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTemplateInfs','/cop/tpl/','템플릿관리','템플릿관리','/cop/tpl/selectTemplateInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTroblProcessList','/sym/tbm/tbp/','장애처리결과관리','장애처리결과관리','/sym/tbm/tbp/selectTroblProcessList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTroblReqstList','/sym/tbm/tbr/','장애신청관리','장애신청관리','/sym/tbm/tbr/selectTroblReqstList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectTrsmrcvLogList','/sym/log/tlg/','송/수신로그관리','송/수신로그관리','/sym/log/tlg/SelectTrsmrcvLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTwitterMain','/uss/ion/tir/','Twitter연동','Twitter연동','/uss/ion/tir/selectTwitterMain.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectUserAbsnceListView','/uss/ion/uas/','사용자부재관리','사용자부재관리','/uss/ion/uas/selectUserAbsnceListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectUserLogList','/sym/log/ulg/','사용로그관리','사용로그관리','/sym/log/ulg/SelectUserLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectUserStats','/sts/ust/','사용자통계','사용자통계','/sts/ust/selectUserStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectWebLogList','/sym/log/wlg/','웹로그관리','웹로그관리','/sym/log/wlg/SelectWebLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectWikMnthngReprtList','/cop/smt/wmr/','주간/월간보고관리','주간/월간보고관리','/cop/smt/wmr/selectWikMnthngReprtList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SiteListInqire','/uss/ion/sit/','사이트관리','사이트관리','/uss/ion/sit/SiteListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('StplatListInqire','/uss/sam/stp/','약관관리','약관관리','/uss/sam/stp/StplatListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('WordDicaryListInqire','/uss/olh/wor/','용어사전','용어사전','/uss/olh/wor/WordDicaryListInqire.do'); + +-- 메뉴정보 +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('root','dir',0,0,1,'root','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자디렉토리/통합인증','dir',1000000,0,1,'사용자디렉토리/통합인증','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인','egovLoginUsr',1010000,1000000,1,'로그인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인정책관리','selectLoginPolicyList',1020000,1000000,2,'로그인정책관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보안','dir',2000000,0,2,'보안','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('권한관리','EgovAuthorList',2010000,2000000,1,'권한관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('권한그룹관리','EgovAuthorGroupList',2020000,2000000,2,'권한그룹관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('그룹관리','EgovGroupList',2030000,2000000,3,'그룹관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('롤관리','EgovRoleList',2040000,2000000,4,'롤관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서권한관리','EgovDeptAuthorList',2050000,2000000,5,'부서권한관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('통계/리포팅','dir',3000000,0,3,'통계/리포팅','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시물통계','selectBbsStats',3010000,3000000,1,'게시물통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자통계','selectUserStats',3020000,3000000,2,'사용자통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('접속통계','selectConectStats',3030000,3000000,3,'접속통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('화면통계','selectScrinStats',3040000,3000000,4,'화면통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보고서통계','selectReprtStatsListView',3050000,3000000,5,'보고서통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('자료이용현황통계','selectDtaUseStatsList',3060000,3000000,6,'자료이용현황통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('협업','dir',4000000,0,4,'협업','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시판속성관리','SelectBBSMasterInfs',4010000,4000000,1,'게시판속성관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시판사용정보','selectBBSUseInfs',4020000,4000000,2,'게시판사용정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('템플릿관리','selectTemplateInfs',4030000,4000000,3,'템플릿관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('스크랩 목록','selectScrapList',4040000,4000000,4,'스크랩 목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('커뮤니티관리','selectCmmntyInfs',4050000,4000000,5,'커뮤니티관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('문자메시지','selectSmsList',4060000,4000000,6,'문자메시지','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서일정관리','EgovDeptSchdulManageList',4070000,4000000,7,'부서일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일정관리','EgovIndvdlSchdulManageList',4080000,4000000,8,'일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일지관리','EgovDiaryManageList',4090000,4000000,9,'일지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('전체일정관리','EgovAllSchdulManageList',4100000,4000000,10,'전체일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메일발송','insertSndngMailView',4110000,4000000,11,'메일발송','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('발송메일내역','selectSndngMailList',4120000,4000000,12,'발송메일내역','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('명함관리','selectNcrdInfs',4130000,4000000,13,'명함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('내명함목록','selectMyNcrdUseInf',4140000,4000000,14,'내명함목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('주소록관리','selectAdbkList',4150000,4000000,15,'주소록관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('간부일정관리','selectLeaderSchdulList',4160000,4000000,16,'간부일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서업무함관리','selectDeptJobBxList',4170000,4000000,17,'부서업무함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서업무정보','selectDeptJobList',4180000,4000000,18,'부서업무정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('주간/월간보고관리','selectWikMnthngReprtList',4190000,4000000,19,'주간/월간보고관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메모할일관리','selectMemoTodoList',4200000,4000000,20,'메모할일관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메모보고','selectMemoReprtList',4210000,4000000,21,'메모보고','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자지원','dir',5000000,0,5,'사용자지원','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기업회원관리','EgovEntrprsMberManage',5010000,5000000,1,'기업회원관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('업무사용자관리','EgovUserManage',5020000,5000000,2,'업무사용자관리','',''); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서관리','selectDeptManageListView',5030000,5000000,3,'부서관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일반회원관리','EgovMberManage',5040000,5000000,4,'일반회원관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('마이페이지관리','EgovIndvdlpgeCntntsList',5050000,5000000,5,'마이페이지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('약관관리','StplatListInqire',5060000,5000000,6,'약관관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('저작권보호정책','CpyrhtPrtcPolicyListInqire',5070000,5000000,7,'저작권보호정책','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('개인정보보호정책확인','listIndvdlInfoPolicy',5080000,5000000,8,'개인정보보호정책확인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('도움말','HpcmListInqire',5090000,5000000,9,'도움말','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('용어사전','WordDicaryListInqire',5100000,5000000,10,'용어사전','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('FAQ관리','FaqListInqire',5110000,5000000,11,'FAQ관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Q&amp;A관리','QnaListInqire',5120000,5000000,12,'Q&amp;A관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Q&amp;A답변관리','QnaAnswerListInqire',5130000,5000000,13,'Q&amp;A답변관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정전문용어사전','listAdministrationWord',5140000,5000000,14,'행정전문용어사전','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정전문용어사전관리','listAdministrationWordManage',5150000,5000000,15,'행정전문용어사전관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인매뉴얼','listOnlineManual',5160000,5000000,16,'온라인매뉴얼','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자온라인매뉴얼','OnlineManualUserList',5170000,5000000,17,'사용자온라인매뉴얼','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('상담관리','CnsltListInqire',5180000,5000000,18,'상담관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('상담답변관리','CnsltAnswerListInqire',5190000,5000000,19,'상담답변관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문관리','EgovQustnrManageList',5200000,5000000,20,'설문관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문조사','EgovQustnrRespondInfoManageList',5210000,5000000,21,'설문조사','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문템플릿관리','EgovQustnrTmplatManageList',5220000,5000000,22,'설문템플릿관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('응답자관리','EgovQustnrRespondManageList',5230000,5000000,23,'응답자관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('질문관리','EgovQustnrQestnManageList',5240000,5000000,24,'질문관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('항목관리','EgovQustnrItemManageList',5250000,5000000,25,'항목관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의관리','EgovMeetingManageList',5260000,5000000,26,'회의관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인poll관리','listOnlinePollManage',5270000,5000000,27,'온라인poll관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인poll참여','listOnlinePollPartcptn',5280000,5000000,28,'온라인poll참여','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('뉴스관리','NewsInfoListInqire',5290000,5000000,29,'뉴스관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사이트관리','SiteListInqire',5300000,5000000,30,'사이트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('추천사이트관리','RecomendSiteListInqire',5310000,5000000,31,'추천사이트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사/이벤트/캠페인','EgovEventCmpgnList',5320000,5000000,32,'행사/이벤트/캠페인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('외부인사정보','EgovTnextrlHrInfoList',5330000,5000000,33,'외부인사정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('팝업창관리','listPopup',5340000,5000000,34,'팝업창관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('정보알림이','selectNotificationList',5350000,5000000,35,'정보알림이','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배너관리','selectBannerList',5360000,5000000,36,'배너관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('MYPAGE배너관리','selectBannerMainList',5370000,5000000,37,'MYPAGE배너관리','',''); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인화면이미지관리','selectLoginScrinImageList',5380000,5000000,38,'로그인화면이미지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('최근검색어 목록','listRecentSrchwrd',5390000,5000000,39,'최근검색어 목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메인이미지관리','selectMainImageList',5400000,5000000,40,'메인이미지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메인이미지 반영결과보기','getMainImageResult',5410000,5000000,41,'메인이미지 반영결과보기','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('통합링크관리','listUnityLink',5420000,5000000,42,'통합링크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자부재관리','selectUserAbsnceListView',5430000,5000000,43,'사용자부재관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('인터넷서비스안내및관리','selectIntnetSvcGuidanceList',5440000,5000000,44,'인터넷서비스안내및관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Wiki기능','listWikiBookmark',5450000,5000000,45,'Wiki기능','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('RSS태그관리','listRssTagManage',5460000,5000000,46,'RSS태그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('RSS태그서비스','listRssTagService',5470000,5000000,47,'RSS태그서비스','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Twitter연동','selectTwitterMain',5480000,5000000,48,'Twitter연동','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('쪽지관리','registEgovNoteManage',5490000,5000000,49,'쪽지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('받은쪽지함관리','listNoteRecptn',5500000,5000000,50,'받은쪽지함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보낸쪽지함관리','listNoteTrnsmit',5510000,5000000,51,'보낸쪽지함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의실관리','selectMtgPlaceManageList',5520000,5000000,52,'회의실관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의실예약관리','selectMtgPlaceResveManageList',5530000,5000000,53,'회의실예약관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('직원경조사관리','selectCtsnnManageList',5540000,5000000,54,'직원경조사관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('직원경조사승인관리','EgovCtsnnConfmList',5550000,5000000,55,'직원경조사승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('휴가관리','EgovVcatnManageList',5560000,5000000,56,'휴가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('휴가승인관리','EgovVcatnConfmList',5570000,5000000,57,'휴가승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('당직관리','EgovBndtManageList',5580000,5000000,58,'당직관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('당직체크관리','EgovBndtCeckManageList',5590000,5000000,59,'당직체크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('포상관리','selectRwardManageList',5600000,5000000,60,'포상관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('포상승인관리','EgovRwardConfmList',5610000,5000000,61,'포상승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기념일관리','selectAnnvrsryManageList',5620000,5000000,62,'기념일관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기념일목록(확인용)','selectAnnvrsryMainList',5630000,5000000,63,'기념일목록(확인용)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사신청관리','EgovEventReqstManageList',5640000,5000000,64,'행사신청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사접수관리','EgovEventRcrptManageList',5650000,5000000,65,'행사접수관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사접수승인관리','selectEventRceptConfmList',5660000,5000000,66,'행사접수승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템관리','dir',6000000,0,6,'시스템관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통분류코드','EgovCcmCmmnClCodeList',6010000,6000000,1,'공통분류코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통상세코드','EgovCcmCmmnDetailCodeList',6020000,6000000,2,'공통상세코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통코드','EgovCcmCmmnCodeList',6030000,6000000,3,'공통코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('우편번호관리','EgovCcmZipList',6040000,6000000,4,'우편번호관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정코드관리','EgovCcmAdministCodeList',6050000,6000000,5,'행정코드관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기관코드수신','getInsttCodeRecptnList',6060000,6000000,6,'기관코드수신','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그관리','SelectSysLogList',6070000,6000000,7,'로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용로그관리','SelectUserLogList',6080000,6000000,8,'사용로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('송/수신로그관리','SelectTrsmrcvLogList',6090000,6000000,9,'송/수신로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템이력관리','SelectSysHistoryList',6100000,6000000,10,'시스템이력관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('웹로그관리','SelectWebLogList',6110000,6000000,11,'웹로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('접속로그관리','SelectLoginLogList',6120000,6000000,12,'접속로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴리스트관리','EgovMenuListSelect',6130000,6000000,13,'메뉴리스트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴관리리스트','EgovMenuManageSelect',6140000,6000000,14,'메뉴관리리스트','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴생성관리','EgovMenuCreatManageSelect',6150000,6000000,15,'메뉴생성관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사이트맵','EgovSiteMapng',6160000,6000000,16,'사이트맵','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('바로가기메뉴관리','selectBkmkMenuManageList',6170000,6000000,17,'바로가기메뉴관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램관리','EgovProgramListManageSelect',6180000,6000000,18,'프로그램관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경요청관리','EgovProgramChangeRequstSelect',6190000,6000000,19,'프로그램변경요청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경요청처리','EgovProgramChangeRequstProcessListSelect',6200000,6000000,20,'프로그램변경요청처리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경이력','EgovProgramChgHstListSelect',6210000,6000000,21,'프로그램변경이력','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배치작업관리','getBatchOpertList',6220000,6000000,22,'배치작업관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배치결과관리','getBatchResultList',6230000,6000000,23,'배치결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('스케줄처리','getBatchSchdulList',6240000,6000000,24,'스케줄처리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('백업관리','getBackupOpertList',6250000,6000000,25,'백업관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('백업결과관리','getBackupResultList',6260000,6000000,26,'백업결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('네트워크관리','selectNtwrkList',6270000,6000000,27,'네트워크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버정보관리','selectServerEqpmnList',6280000,6000000,28,'서버정보관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버(S/W)목록','selectServerList',6290000,6000000,29,'서버(S/W)목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('장애신청관리','selectTroblReqstList',6300000,6000000,30,'장애신청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('장애처리결과관리','selectTroblProcessList',6310000,6000000,31,'장애처리결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템/서비스연계','dir',7000000,0,7,'시스템/서비스연계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템연계관리','getSystemCntcList',7010000,7000000,1,'시스템연계관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계현황관리','getCntcSttusList',7020000,7000000,2,'연계현황관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계메시지관리','getCntcMessageList',7030000,7000000,3,'연계메시지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계기관관리','getCntcInsttList',7040000,7000000,4,'연계기관관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('자산 관리','dir',8000000,0,8,'자산 관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('개인지식관리','EgovComDamPersonalList',8010000,8000000,1,'개인지식관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식맵관리(유형)','EgovComDamMapMaterialList',8020000,8000000,2,'지식맵관리(유형)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식맵관리(조직)','EgovComDamMapTeamList',8030000,8000000,3,'지식맵관리(조직)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식전문가관리','EgovComDamSpecialistList',8040000,8000000,4,'지식전문가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식정보관리','EgovComDamManagementList',8050000,8000000,5,'지식정보관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식평가관리','EgovComDamAppraisalList',8060000,8000000,6,'지식평가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식정보제공','listRequestOffer',8070000,8000000,7,'지식정보제공','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('요소기술','dir',9000000,0,9,'요소기술','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공휴일관리(달력)','EgovRestdeList',9010000,9000000,1,'공휴일관리(달력)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('송수신모니터링','getTrsmrcvMntrngList',9020000,9000000,2,'송수신모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('DB서비스모니터링','getDbMntrngList',9030000,9000000,3,'DB서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('HTTP서비스모니터링','EgovComUtlHttpMonList',9040000,9000000,4,'HTTP서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로세스모니터링','EgovComUtlProcessMonList',9050000,9000000,5,'프로세스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('네트워크서비스모니터링','selectNtwrkSvcMntrngList',9060000,9000000,6,'네트워크서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('파일시스템모니터링','selectFileSysMntrngList',9070000,9000000,7,'파일시스템모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프록시서비스','selectProxySvcList',9080000,9000000,8,'프록시서비스','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('파일동기화(대상서버)','selectSynchrnServerList',9090000,9000000,9,'파일동기화(대상서버)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인세션정보체크','loginSessionView',9100000,9000000,10,'로그인세션정보체크','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버자원모니터링-대상목록','selectMntrngServerList',9110000,9000000,11,'서버자원모니터링-대상목록','/','/'); + +-- 기본템플릿 +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_BOARD_DEFAULT', '게시판 기본템플릿', 'TMPT01', '/css/egovframework/com/cop/tpl/egovbbsTemplate.css', 'Y', 'SYSTEM', SYSDATE()); +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_CMNTY_DEFAULT', '커뮤니티 기본템플릿', 'TMPT02', 'egovframework/com/cop/tpl/EgovCmmntyBaseTmpl', 'Y', 'SYSTEM', SYSDATE()); +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_CLUB__DEFAULT', '동호회 기본템플릿', 'TMPT03', 'egovframework/com/cop/tpl/EgovClbBaseTmpl', 'Y', 'SYSTEM', SYSDATE()); + +-- 우편번호 +INSERT INTO COMTCZIP(ZIP, SN, CTPRVN_NM, SIGNGU_NM, EMD_NM, LI_BULD_NM, LNBR_DONG_HO, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('100775',7381,'서울','중구','무교동','한국정보화진흥원','',SYSDATE(),'SYSTEM',SYSDATE(),'SYSTEM'); +INSERT INTO COMTRDNMADRZIP(RDMN_CODE, SN, CTPRVN_NM, SIGNGU_NM, RDMN, BDNBR_MNNM, BDNBR_SLNO, BULD_NM, DETAIL_BULD_NM, ZIP, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('111403100021','1','서울특별시','중구','청계천로','14','0','한국정보사회진흥원','','100775',SYSDATE(),'SYSTEM',SYSDATE(),'SYSTEM'); + +-- 최근검색어조회 +INSERT INTO COMTNRECENTSRCHWRDMANAGE(SRCHWRD_MANAGE_ID, SRCHWRD_MANAGE_NM, SRCHWRD_CONECT_URL, USER_SEARCH_AT,FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES('SRCMGR_0000000000001','공통코드관리','/sym/ccm/cca/SelectCcmCmmnCodeList.do','Y',SYSDATE(),'USRCNFRM_00000000000',SYSDATE(),'USRCNFRM_00000000000'); Index: base3.10/script/dml/postgres/com_DML_postgres.sql =================================================================== --- base3.10/script/dml/postgres/com_DML_postgres.sql (nonexistent) +++ base3.10/script/dml/postgres/com_DML_postgres.sql (revision 7) @@ -0,0 +1,1021 @@ +-- ID Generator +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADBKUSER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADBK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADMINIST_WORD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADMIN_CODE_OPERT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ANN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BACKUP_OPERT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BACKUP_RESULT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BANNER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_OPERT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_RESULT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BBS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CLB_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CMMNTY_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNSLT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTC_MESSAGE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTNTS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('COMTECOPSEQ', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CPYRHT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CTSNN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DAM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DB_MNTRNG_LOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DEPT_JOB_BX_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DEPT_JOB_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DIARY_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DUS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EVENTINFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EVENT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EXTRLHRINFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FAQ_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILESYS_LOGID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILESYS_MNTRNG', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('GROUP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HPCM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HTTL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HTTP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INDVDL_INFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INFRML_SANCTN', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INSTT_CODE_OPERT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INSTT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ISG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ITEM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('KNO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('KNO_ID2', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LEADER_SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LOGINLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LSI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MAILMSG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MEMO_REPRT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MEMO_TODO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MSI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MTG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MTG_PLACE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NCRD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NEWS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_RECPTN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_TRNSMIT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTWRKSVC_LOGID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTWRK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ONLINE_MUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_IEM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_MGR_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_RUT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POPUP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROXYLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROXYSVC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QA_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESITM_', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESRSPNS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESTNR_QESITM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESTNR_RPD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QUSTNRQESTN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QUSTNRTMPLA_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RECOMEND_SITE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RESTDE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RESVE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ROLE_ID', 20); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RSS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RWARD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SCRAP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SERVER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SEVEQ_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SITE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SMS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_MANAGEID', 2); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_MANAGE_I', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SVCRESMONTLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SVC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYNCHRNSERVER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYSLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TEST1', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TMPLAT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TROBL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TRSMRCVLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TR_MNTRNG_LOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('UNITY_LINK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('USE_STPLAT_ID', 3); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('USRCNFRM_ID', 3); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WEBLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WIKI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WIKMNTHNG_REPRT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WORD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ORGNZT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ANSWER_NO', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('STSFDG_NO', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ROUGHMAP_ID', 1); + +-- 공통분류코드 +INSERT INTO COMTCCMMNCLCODE(CL_CODE, CL_CODE_NM, CL_CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', '전자정부 프레임워크 공통서비스', '전자정부 프레임워크 공통서비스', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); + +-- 공통코드 +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM001', '등록구분', '게시판, 커뮤니티, 동호회 등록구분코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM002', '이력구분', '시스템이력등록구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM003', '업무구분', '업무구분코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM005', '템플릿유형', '템플릿유형구분코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM006', '승인유형', '동호회, 커뮤니티 승인 유형', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM007', '승인상태', '동호회, 커뮤니티 승인 상태', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM008', '처리상태', '송수신 요청의 처리상태', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM009', '게시판속성', '게시판 속성', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM010', '권한유형', '시스템을 사용하기 위한 권한 구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM011', '롤유형', '시스템의 기능을 사용하기 위한 롤 구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM012', '회원유형', '일반/기업/업무담당자를 구현하기 위한 사용자 구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM013', '회원상태', '회원 가입 신청/승인/삭제를 위한 상태 구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM014', '성별구분', '남녀 성별 구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM015', '인증방식유형', '주민등록번호 인증, Gpin 인증과 같은 사용자 인증 구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM016', '변경요청처리 상태', '프로그램 변경의 요청/처리 등의 변경요청 상태 구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM017', '휴일구분', '휴일의 구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM018', '질문유형', '질문유형 객관식/주관식 상태구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM019', '일정중요도', '일정중요도 낮음/보통/높음 상태구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM020', '일정구분', '일정구분 부서일지정보/일지정보 상태구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM021', '도움말구분', '도움말 설명 구분코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM022', '비밀번호 힌트', '비밀번호 힌트 구분코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM023', '사이트주제분류', '사이트주제분류 설명 구분코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM024', '발송결과구분', '발송메일 수신결과 구분 코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM025', '소속기관', '소속기관정보를 관리할때 사용하는 구분코드(시스템별로 재정의)', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM026', '기업구분', '기업구분정보를 관리할때 사용하는 구분코드(시스템별로 재정의)', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM027', '업종', '대표업종코드(시스템별로 재정의)', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM028', '질의응답처리상태', 'Q/A 처리상태코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM029', '롤유형코드', '', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM030', '일정구분', '일정구분 코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM031', '반복구분', '일정 반복구분 코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM032', '작업유형', '승인이력 작업유형', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM033', '시스템로그구분', '', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM034', '직업유형', '직업유형코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM035', '행사유형', '행사/이벤트/캠페인 구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM036', '보고서 진행상태코드', '보고서의 진행상태를 코드화 하여 관리한다.', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM038', '온라인POLL페기유무', '온라인POLL-온라인POLL페기유무', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM039', '온라인POLL구분', '온라인POLL-온온라인POLL구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM040', '보고서 종류코드', '보고서 종류코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM041', '온라인메뉴얼구분', '온라인메누얼-온라인메뉴얼구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM042', '보고서통계기간구분', '보고서통계기간구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM043', '기관코드변경구분', '기관코드변경구분', 'Y', NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM044', '기관코드수신처리구분', '기관코드수신처리구분', 'Y', NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM045', '사용여부', '사용여부', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM046', '모니터링상태구분', '모니터링상태구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM047', '실행주기구분', '실행주기구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM048', 'DBMS종류', 'DBMS종류', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM049', '압축구분', '압축구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM050', '수신구분', '쪽지관리', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM051', '승인여부', '승인여부구분코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM052', '달력구분', '달력구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM053', '행사구분', '행사구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM054', '경조구분', '경조구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM055', '포상구분', '포상구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM056', '휴가구분', '휴가구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM057', '일정구분', '일정구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM058', '반복구분코드', '반복구분코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM059', '우선순위', '우선순위', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM060', '보고서구분', '보고서구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM061', '간부상태', '간부상태', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM062', ' HTTP상태코드', 'HTTP상태코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM063', '상태관리', '상태관리', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM064', '서버종류코드', '서버종류코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM065', '장애종류코드', '장애종류코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM066', '서버자원종류', '서버자원종류', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM067', '네트워크관리항목', '네트워크관리항목', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM068', '처리상태코드', '처리상태코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM069', '기념일구분', '기념일구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM070', '위치구분', '회의실 위치구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM071', '당직체크구분', '당직체크구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM072', '서비스상태', '서비스상태', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM073', '가족관계', '가족관계', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM074', '요일구분', '요일구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM075', '업무구분코드', '업무구분코드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM076', '실행상태구분', '실행상태구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM101', '게시판유형', '게시판유형', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM102', '단어구분', '단어구분', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); + +-- 공통상세코드 +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC01', '단일 게시판 이용등록', '단일 게시판 이용등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC02', '커뮤니티 등록', '커뮤니티 등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC03', '동호회 등록', '동호회 등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC04', '명함등록', '명함등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC05', '동호회 게시판 등록', '동호회 게시판 등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC06', '커뮤니티 게시판 등록', '커뮤니티 게시판 등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC07', '게시판사용자등록', '게시판사용자등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST01', '소프트웨어패치', '소프트웨어패치', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST02', '소프트웨어설치', '소프트웨어설치', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST03', '소프트웨어삭제', '소프트웨어삭제', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST04', '하드웨어업그레이드', '하드웨어업그레이드', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST05', '하드웨어삭제', '하드웨어삭제', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'BBS', '게시판', '게시판', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'CMY', '커뮤니티', '커뮤니티', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'CLB', '동호회', '동호회', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'NCD', '명함', '명함', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT01', '게시판템플릿', '게시판템플릿', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT02', '커뮤니티템플릿', '커뮤니티템플릿', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT03', '블로그템플릿', '블로그템플릿', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF01', '커뮤니티등록', '커뮤니티등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF02', '커뮤니티삭제', '커뮤니티삭제', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF03', '동호회등록', '동호회등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF04', '동호회삭제', '동호회삭제', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF05', '커뮤니티운영자등록', '커뮤니티운영자등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF06', '커뮤니티운영자삭제', '커뮤니티운영자삭제', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF07', '동호회운영자등록', '동호회운영자등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF08', '동호회운영자삭제', '동호회운영자삭제', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF09', '게시판이용등록', '게시판이용등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF10', '게시판삭제', '게시판삭제', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF11', '커뮤니티사용자등록', '커뮤니티사용자등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF12', '커뮤니티사용자탈퇴', '커뮤니티사용자탈퇴', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF13', '동호회사용자등록', '동호회사용자등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF14', '동호회사용자탈퇴', '동호회사용자탈퇴', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP01', '승인요청', '승인요청', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP02', '승인허가', '승인허가', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP03', '승인반려', '승인반려', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S01', '전송요청', '전송요청', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S02', '전송완료', '전송완료', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S03', '전송실패', '전송실패', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S04', '수신요청', '수신요청', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S05', '수신완료', '수신완료', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S06', '수신실패', '수신실패', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA01', '유효게시판', '유효게시판', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA02', '갤러리', '갤러리', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA03', '일반게시판', '일반게시판', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVS001', '시스템 관련 권한(최상위 권한)', '시스템 관련 권한(최상위 권한)', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVD001', '데이터베이스 관련 권한', '데이터베이스 관련 권한', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVU001', '사용자 관련 권한', '사용자 관련 권한', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVA001', '어플리케이션 관련 권한', '어플리케이션 관련 권한', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVB001', '게시판 관련 권한', '게시판 관련 권한', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVC001', '커뮤니티 관련 권한', '커뮤니티 관련 권한', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS001', '시스템 관리 최상위 롤', '시스템 관리 최상위 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS002', '시스템 접근(view) 롤', '시스템 접근(view) 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS003', '시스템 설정 등록/변경 롤', '시스템 설정 등록/변경 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS004', '시스템 파일 등록/변경 롤', '시스템 파일 등록/변경 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD001', '데이터베이스 관련 최상위 롤', '데이터베이스 관련 최상위 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD002', '데이터베이스 스키마 등록/변경 롤', '데이터베이스 스키마 등록/변경 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD003', '데이터 조회 롤', '데이터 조회 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD004', '데이터 등록/변경 롤', '데이터 등록/변경 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU001', '사용자 관련 최상위 롤', '사용자 관련 최상위 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU002', '업무 시스템 사용자 관리 롤', '업무 시스템 사용자 관리 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU003', '기업회원 시스템 사용자 관리 롤', '기업회원 시스템 사용자 관리 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU004', '일반회원 시스템 사용자 관리 롤', '일반회원 시스템 사용자 관리 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU005', '게시판 사용자 관리 롤', '게시판 사용자 관리 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU006', '커뮤니티 사용자 관리 롤', '커뮤니티 사용자 관리 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA001', '어플리케이션 관련 최상위 롤', '어플리케이션 관련 최상위 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA002', '업무 어플리케이션 접근 롤', '업무 어플리케이션 접근 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA003', '업무 어플리케이션 관리 롤', '업무 어플리케이션 관리 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA004', '일반 어플리케이션 접근 롤', '일반 어플리케이션 접근 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA005', '일반 어프리케이션 관리 롤', '일반 어프리케이션 관리 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA006', '어플리케이션 약관 관리 롤', '어플리케이션 약관 관리 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA007', '어플리케이션 저작권 관리 롤', '어플리케이션 저작권 관리 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA008', '통계 및 보고서 접근 롤', '통계 및 보고서 접근 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB001', '게시판 관련 최상위 롤', '게시판 관련 최상위 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB002', '게시판 생성 롤', '게시판 생성 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB003', '게시판 접근 롤', '게시판 접근 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB004', '게시판 글쓰기 롤', '게시판 글쓰기 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB005', '게시판 글 수정/삭제 롤', '게시판 글 수정/삭제 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC001', '커뮤니티 관련 최상위 롤', '커뮤니티 관련 최상위 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC002', '커뮤니티 생성 롤', '커뮤니티 생성 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC003', '커뮤니티 접근 롤', '커뮤니티 접근 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC004', '커뮤니티 글쓰기 롤', '커뮤니티 글쓰기 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC005', '커뮤니티 글 수정/삭제 롤', '커뮤니티 글 수정/삭제 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC006', '파일 업로드 롤', '파일 업로드 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR01', '일반 회원 유형', '일반 회원 유형', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR02', '기업 회원 유형', '기업 회원 유형', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR03', '업무 담당자(사용자) 유형', '업무 담당자(사용자) 유형', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR99', '사용자 유형 최상위 롤', '사용자 유형 최상위 롤', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'A', '회원 가입 신청 상태', '회원 가입 신청 상태', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'P', '회원 가입 승인 상태', '회원 가입 승인 상태', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'D', '회원 가입 삭제 상태', '회원 가입 삭제 상태', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM014', 'M', '남자', '남자', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM014', 'F', '여자', '여자', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM015', 'ATH01', '주민등록번호 인증', '주민등록번호 인증', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM015', 'ATH02', 'GPIN 인증', 'GPIN 인증', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR01', '프로그램 변경 요청 신청', '프로그램 변경 요청 신청', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR02', '프로그램 변경 요청 수락', '프로그램 변경 요청 수락', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR03', '프로그램 변경 진행', '프로그램 변경 진행', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR04', '프로그램 변경 완료', '프로그램 변경 완료', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR05', '프로그램 변경 이관', '프로그램 변경 이관', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '01', '법정휴일', '법정휴일', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '02', '법정공휴일', '법정공휴일', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '03', '임시공휴일', '임시공휴일', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM018', '1', '객관식', '객관식', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM018', '2', '주관식', '주관식', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'A', '높음', '높음', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'B', '보통', '보통', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'C', '낮음', '낮음', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM020', '1', '부서일정관리', '부서일정관리', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM020', '2', '일정관리', '일정관리', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM021', '1', '기능설명', '기능설명', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM021', '2', '절차설명', '절차설명', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P01', '가장 기억에 남는 장소는?', '가장 기억에 남는 장소는?', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P02', '나의 좌우명은?', '나의 좌우명은?', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P03', '나의 보물 제1호는?', '나의 보물 제1호는?', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P04', '가장 기억에 남는 선생님 성함은?', '가장 기억에 남는 선생님 성함은?', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P05', '다른 사람은 모르는 나만의 신체비밀은?', '다른 사람은 모르는 나만의 신체비밀은?', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P06', '오래도록 기억하고 싶은 날짜는?', '오래도록 기억하고 싶은 날짜는?', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P07', '받았던 선물 중 기억에 남는 독특한 선물은?', '받았던 선물 중 기억에 남는 독특한 선물은?', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P08', '가장 생각나는 친구 이름은?', '가장 생각나는 친구 이름은?', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P09', '인상 깊게 읽은 책 이름은?', '인상 깊게 읽은 책 이름은?', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P10', '내가 존경하는 인물은?', '내가 존경하는 인물은?', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P11', '나의 노래방 애창곡은?', '나의 노래방 애창곡은?', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P12', '가장 감명깊게 본 영화는?', '가장 감명깊게 본 영화는?', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P13', '좋아하는 스포츠팀 이름은?', '좋아하는 스포츠팀 이름은?', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '01', '경제', '경제', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '02', '전산', '전산', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '03', '행정', '행정', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'R', '요청', '요청', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'F', '실패', '실패', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'C', '완료', '완료', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000001', '공공기관', '공공기관', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000002', '금융기관', '금융기관', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000003', '교육기관', '교육기관', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000004', '의료기관', '의료기관', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000001', '대기업', '대기업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000002', '중소기업', '중소기업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000003', '다국적기업', '다국적기업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'A', '축산업', '축산업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'B', '어업', '어업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'C', '광업', '광업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'D', '제조업', '제조업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'E', '전기,가스및수도사업', '전기,가스및수도사업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'F', '건설업', '건설업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'G', '도소매 및 소비자용품수리업', '도소매 및 소비자용품수리업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'H', '숙박및음식점', '숙박및음식점', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'I', '운수창고및통신업', '운수창고및통신업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'J', '금융및보험업', '금융및보험업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'K', '부동산,임대및사업서비스업', '부동산,임대및사업서비스업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'M', '교육서비스업', '교육서비스업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'N', '보건업', '보건업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'O', '기타공공,사회및개인서비스업', '기타공공,사회및개인서비스업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'P', '가사서비스업', '가사서비스업', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '1', '접수대기', '접수대기', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '2', '접수', '접수', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '3', '완료', '완료', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'method', 'METHOD', 'METHOD', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'pointcut', 'POINTCUT', 'POINTCUT', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'url', 'URL', 'URL', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '1', '회의', '회의', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '2', '세미나', '세미나', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '3', '강의', '강의', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '4', '교육', '교육', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '5', '기타', '기타', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '6', '휴일', '휴일', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '1', '당일', '당일', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '2', '반복', '반복', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '3', '연속', '연속', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '4', '요일반복', '요일반복', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC01', '회원가입', '회원가입', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC02', '사용자등록', '사용자등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC03', '회원탈퇴', '회원탈퇴', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC04', '사용자삭제', '사용자삭제', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC05', '커뮤니티등록', '커뮤니티등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC06', '동호회등록', '동호회등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC07', '커뮤니티폐쇄', '커뮤니티폐쇄', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC08', '동호회폐쇄', '동호회폐쇄', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC09', '게시판등록', '게시판등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC10', '게시판폐쇄', '게시판폐쇄', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'C', '생성', '생성', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'R', '조회', '조회', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'U', '수정', '수정', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'D', '삭제', '삭제', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '1', '학생', '학생', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '2', '대학생', '대학생', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '3', '군인', '군인', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '4', '교사', '교사', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '5', '기타', '기타', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '1', '행사', '행사', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '2', '이벤트', '이벤트', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '3', '캠페인', '캠페인', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '01', '작성', '작성', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '02', '상신', '상신', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '03', '반려', '반려', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '04', '결재완료', '결재완료', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM038', 'N', 'N', '아니오', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM038', 'Y', 'Y', '예', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '001', '사회', '사회', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '002', '정치', '정치', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '003', '경제', '경제', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '004', '문화', '문화', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '005', '인문', '인문', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '006', '공학', '공학', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '007', '기타', '기타', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '01', '휴가계획서', '휴가계획서', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '02', '출장보고서', '출장보고서', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '03', '교육보고서', '교육보고서', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '04', '판품요청서', '판품요청서', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '05', '지원요청서', '지원요청서', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '001', '절차설명', '절차설명', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '002', '기능설명', '기능설명', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '003', '기타설명', '기타설명', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y', '연도별', '연도별', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y-%m', '월별', '월별', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y-%m-%d', '일별', '일별', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '01', '생성', '생성', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '02', '변경', '변경', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '03', '말소', '말소', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '00', '수신처리', '수신처리', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '01', '처리완료', '처리완료', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '10', '기등록', '기등록', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '11', '생성오류', '생성오류', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '12', '변경오류', '변경오류', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '13', '말소오류', '말소오류', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM046', '01', '정상', '정상', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM046', '02', '비정상', '비정상', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '01', '매일', '매일', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '02', '매주', '매주', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '03', '매월', '매월', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '04', '매년', '매년', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '05', '한번만', '한번만', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '01', 'Oracle', 'Oracle', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '02', 'Mysql', 'Mysql', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '03', 'Tibero', 'Tibero', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '04', 'Altibase', 'Altibase', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM049', '01', 'Tar', 'Tar', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM049', '02', 'ZIP', 'ZIP', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM050', '1', '수신', '수신', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM050', '2', '참조', '참조', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '01', '신청중', '신청중', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '02', '승인', '승인', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '03', '반려', '반려', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM052', '01', '양력', '양력', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM052', '02', '음력', '음력', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '01', '교육', '교육', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '02', '세미나', '세미나', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '03', '홍보', '홍보', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '04', '단합', '단합', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '05', '간담회', '간담회', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '99', '기타', '기타', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '01', '결혼', '결혼', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '02', '출생', '출생', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '03', '회갑', '회갑', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '04', '사망', '사망', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '05', '출산', '출산', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '99', '기타', '기타', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '01', '우수사원', '우수사원', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '02', '우수팀', '우수팀', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '99', '기타', '기타', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '01', '연차휴가', '연차휴가', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '02', '반차휴가', '반차휴가', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '03', '무급휴가', '무급휴가', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '04', '유급휴가', '유급휴가', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '05', '대체휴가', '대체휴가', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '99', '기타', '기타', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '1', '회의', '회의', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '2', '방문', '방문', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '3', '세미나', '세미나', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '4', '기타', '기타', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '1', '반복없음', '당일', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '2', '매일', '매일', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '3', '매주', '매주', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '4', '매월', '매월', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '1', '높음', '높음', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '2', '보통', '보통', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '3', '낮음', '낮음', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM060', '1', '주간보고', '주간보고', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM060', '2', '월간보고', '월간보고', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '1', '재실', '재실', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '2', '자리비움', '자리비움', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '3', '회의중', '회의중', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '4', '출장중', '출장중', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '5', '휴가중', '휴가중', 'Y', NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '100', 'Continue ', 'Continue ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '101', 'Switching Protocols ', 'Switching Protocols ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '200', 'OK ', 'OK ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '201', 'Created ', 'Created ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '202', 'Accepted ', 'Accepted ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '203', 'Non-Authoritative Information ', 'Non-Authoritative Information ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '204', 'No Content ', 'No Content ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '205', 'Reset Content ', 'Reset Content ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '206', 'Partial Content ', 'Partial Content ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '300', 'Multiple Choices ', 'Multiple Choices ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '301', 'Moved Permanently ', 'Moved Permanently ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '302', 'Found ', 'Found ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '303', 'See Other ', 'See Other ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '304', 'Not Modified ', 'Not Modified ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '305', 'Use Proxy ', 'Use Proxy ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '307', 'Temporary Redirect ', 'Temporary Redirect ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '400', 'Bad Request ', 'Bad Request ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '401', 'Unauthorized ', 'Unauthorized ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '403', 'Forbidden ', 'Forbidden ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '404', 'Not Found ', 'Not Found ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '405', 'Method Not Allowed ', 'Method Not Allowed ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '406', 'Not Acceptable ', 'Not Acceptable ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '407', 'Proxy Authentication Required ', 'Proxy Authentication Required ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '408', 'Request Timeout ', 'Request Timeout ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '409', 'Conflict ', 'Conflict ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '410', 'Gone ', 'Gone ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '411', 'Length Required ', 'Length Required ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '412', 'Precondition Failed ', 'Precondition Failed ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '413', 'Request Entity Too Large ', 'Request Entity Too Large ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '414', 'Request URI Too Long ', 'Request URI Too Long ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '415', 'Unsupported Media Type ', 'Unsupported Media Type ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '416', 'Requested Range Not Satisfiable ', 'Requested Range Not Satisfiable ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '417', 'Expectation Failed ', 'Expectation Failed ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '500', 'Internal Server Error ', 'Internal Server Error ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '501', 'Not Implemented ', 'Not Implemented ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '502', 'Bad Gateway ', 'Bad Gateway ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '503', 'Service Unavailable ', 'Service Unavailable ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '504', 'Gateway Timeout ', 'Gateway Timeout ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '505', 'HTTP Version Not Supported ', 'HTTP Version Not Supported ', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '100', 'Runnable', 'Runnable', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '200', 'Sleeping', 'Sleeping', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '300', 'Swapped', 'Swapped', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '400', 'Zombie', 'Zombie', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '500', 'Stopped', 'Stopped', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '01', '웹 서버', '웹 서버', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '02', 'WAS', 'WAS', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '03', 'DB 서버', 'DB 서버', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '04', 'Mail 서버', 'Mail 서버', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '05', 'DNS 서버', 'DNS 서버', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '99', '기타 서버', '기타 서버', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '01', '네트워크 장애', '네트워크 장애', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '02', '하드웨어 장애', '하드웨어 장애', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '03', '어플리케이션 장애', '어플리케이션 장애', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '04', '서비스 장애', '서비스 장애', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '05', '모니터링 장애', '모니터링 장애', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '06', '정전', '정전', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '07', '화재', '화재', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '08', '홍수', '홍수', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '99', '기타 장애', '기타 장애', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM066', '01', 'CPU', 'CPU', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM066', '02', '메모리', '메모리', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '01', '서버', '서버', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '02', '라우터', '라우터', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '03', '스위치', '스위치', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '04', 'PC', 'PC', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '05', '프린터', '프린터', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '99', '기타', '기타', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'A', '접수', '접수', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'C', '완료', '완료', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'R', '요청', '요청', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '01', '생일', '생일', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '02', '기념', '기념', 'N',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '03', '결혼', '결혼', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '04', '탄생', '탄생', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '05', '축하', '축하', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '06', '출장', '출장', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '07', '퇴원', '퇴원', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '99', '기타', '기타', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '01', '본관1층', '본관1층', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '02', '본관2층', '본관2층', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '03', '본관3층', '본관3층', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '04', '본관4층', '본관4층', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '05', '본관5층', '본관5층', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '06', '별관1층', '별관1층', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '07', '별관2층', '별관2층', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '99', '기타', '기타', 'Y',NOW(), 'SYSTEM', NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '01', '전기시설', '전기시설', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '02', '소등상태', '소등상태', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '03', '방화요소', '방화요소', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '04', '소방시설', '소방시설', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '05', '비상 KEY', '비상 KEY', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '06', '시건장치', '시건장치', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '99', '기타', '기타', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '01', '정상', '정상', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '02', '오류', '오류', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '03', '중지', '중지', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '09', '기타', '기타', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '01', '본인', '본인', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '02', '배우자', '배우자', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '03', '자녀', '자녀', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '04', '부친', '부친', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '05', '모친', '모친', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '06', '배우자부친', '배우자부친', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '07', '배우자모친', '배우자모친', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '08', '조부', '조부', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '09', '조모', '조모', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '10', '형제자매(본인)', '형제자매(본인)', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '11', '외조부', '외조부', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '12', '외조모', '외조모', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '13', '백숙부', '백숙부', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '14', '백숙모', '백숙모', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '15', '형제자매(배우자)', '형제자매(배우자)', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '99', '기타', '기타', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '1', '일요일', '일요일', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '2', '월요일', '월요일', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '3', '화요일', '화요일', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '4', '수요일', '수요일', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '5', '목요일', '목요일', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '6', '금요일', '금요일', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '7', '토요일', '토요일', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '001', '경조신청', '경조신청', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '002', '포상신청', '포상신청', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '003', '휴가신청', '휴가신청', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '004', '행사신청', '행사신청', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '01', '정상', '정상', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '02', '비정상', '비정상', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '03', '수행중', '수행중', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST01', '통합게시판', '통합게시판', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST02', '블로그형게시판', '블로그형게시판', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST03', '방명록', '방명록', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM102', '1', '표준어', '표준어', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM102', '2', '동의어', '동의어', 'Y',NOW(), 'SYSTEM',NOW(), 'SYSTEM'); + +-- 그룹 +INSERT INTO COMTNAUTHORGROUPINFO ( GROUP_ID, GROUP_NM, GROUP_CREAT_DE,GROUP_DC ) VALUES ( 'GROUP_00000000000000', '0번 그룹입니다', NOW(), '0번 그룹입니다'); + +-- 조직 COMTNORGNZTINFO +INSERT INTO COMTNORGNZTINFO ( ORGNZT_ID, ORGNZT_NM, ORGNZT_DC ) VALUES ( 'ORGNZT_0000000000000', '기본조직', '기본조직'); + +-- cmm 패키지 끝 ---------------------------------------------------------------------------------------------------------------------------------- + + +-- 업무사용자정보 +INSERT INTO COMTNEMPLYRINFO (EMPLYR_ID, ORGNZT_ID, USER_NM, PASSWORD, EMPL_NO, IHIDNUM, SEXDSTN_CODE, BRTHDY, FXNUM, HOUSE_ADRES, PASSWORD_HINT, PASSWORD_CNSR, HOUSE_END_TELNO, AREA_NO, DETAIL_ADRES, ZIP, OFFM_TELNO, MBTLNUM, EMAIL_ADRES, OFCPS_NM, HOUSE_MIDDLE_TELNO, GROUP_ID, PSTINST_CODE, EMPLYR_STTUS_CODE, ESNTL_ID, CRTFC_DN_VALUE, SBSCRB_DE) VALUES ('TEST1','ORGNZT_0000000000000','테스트1', 'raHLBnHFcunwNzcDcfad4PhD11hHgXSUr7fc1Jk9uoQ=','20112059',null,'F','20111130','1566-2059','서울 중구 무교동 한국정보화진흥원','P01','전자정부표준프레임워크센터','2059','02','전자정부표준프레임워크센터','100775','1566-2059','1566-2059','egovframesupport@gmail.com','관리자','1566','GROUP_00000000000000','00000001','P','USRCNFRM_00000000000','',NOW()); +INSERT INTO COMTNEMPLYRINFO (EMPLYR_ID, ORGNZT_ID, USER_NM, PASSWORD, EMPL_NO, IHIDNUM, SEXDSTN_CODE, BRTHDY, FXNUM, HOUSE_ADRES, PASSWORD_HINT, PASSWORD_CNSR, HOUSE_END_TELNO, AREA_NO, DETAIL_ADRES, ZIP, OFFM_TELNO, MBTLNUM, EMAIL_ADRES, OFCPS_NM, HOUSE_MIDDLE_TELNO, GROUP_ID, PSTINST_CODE, EMPLYR_STTUS_CODE, ESNTL_ID, CRTFC_DN_VALUE, SBSCRB_DE) VALUES ('webmaster','ORGNZT_0000000000000','웹마스터','78gXjfDDMzepOP4QTiFMRFOT/msFgKkHIgGOU95PT94=','20112060',null,'F','20111130','1566-2059','서울특별시 중구 청계천로 14 - 0 한국정보사회진흥원','P01','전자정부표준프레임워크센터','2059','02','전자정부표준프레임워크센터','100775','1566-2059','1566-2059','egovframesupport@gmail.com','웹관리자','1566','GROUP_00000000000000','00000001','P','USRCNFRM_99999999999','',NOW()); + +-- 일반사용자정보 +INSERT INTO COMTNGNRLMBER (MBER_ID,PASSWORD,PASSWORD_HINT,PASSWORD_CNSR,IHIDNUM,MBER_NM,ZIP,ADRES,AREA_NO,MBER_STTUS,DETAIL_ADRES,END_TELNO,MBTLNUM,GROUP_ID,MBER_FXNUM,MBER_EMAIL_ADRES,MIDDLE_TELNO,SBSCRB_DE,SEXDSTN_CODE,ESNTL_ID) values ('USER','6TAJYwhKCgkgzPXDb83ZUiHi2/TKHhD7t5Ba6RN2qoo=','P01','전자정부표준프레임워크센터',null,'일반회원','100775','서울 중구 무교동 한국정보화진흥원','02','P','전자정부표준프레임워크센터','2059','1566-2059','GROUP_00000000000000','1566-2059','egovframesupport@gmail.com','1566',NOW(),'F','USRCNFRM_00000000001'); + +-- 기업사용자정보 +INSERT INTO COMTNENTRPRSMBER (ENTRPRS_MBER_ID,ENTRPRS_SE_CODE,BIZRNO,JURIRNO,CMPNY_NM,CXFC,ZIP,ADRES,ENTRPRS_MIDDLE_TELNO,FXNUM,INDUTY_CODE,APPLCNT_NM,APPLCNT_IHIDNUM,SBSCRB_DE,ENTRPRS_MBER_STTUS,ENTRPRS_MBER_PASSWORD,ENTRPRS_MBER_PASSWORD_HINT,ENTRPRS_MBER_PASSWORD_CNSR,GROUP_ID,DETAIL_ADRES,ENTRPRS_END_TELNO,AREA_NO,APPLCNT_EMAIL_ADRES,ESNTL_ID) values ('ENTERPRISE','C0000001','1008360001','1000310000011','NIA','이가브','100775','서울특별시 중구 청계천로 14 - 0 한국정보사회진흥원','1566','1566-2059','O','관리자',null,NOW(),'P','ZQhr3oB5QWjBnBO0kbFF7bvQDLkk+Em0ExjTq5JtVTo=','P01','전자정부표준프레임워크센터','GROUP_00000000000000','표준프레임워크센터','2059','02','egovframesupport@gmail.com','USRCNFRM_00000000002'); + +-- 약관정보 +INSERT INTO COMTNSTPLATINFO ( USE_STPLAT_ID, INFO_PROVD_AGRE_CN, USE_STPLAT_CN, FRST_REGIST_PNTTM,FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID, USE_STPLAT_NM ) VALUES ( 'STPLAT_0000000000001', '제1조(목적 등)-개인회원', '개인정보의 수집 및 이용목적-개인회원', NOW(), 'USRCNFRM_00000000000', NOW(), 'USRCNFRM_00000000000', '인터넷이용약관'); +INSERT INTO COMTNSTPLATINFO ( USE_STPLAT_ID, INFO_PROVD_AGRE_CN, USE_STPLAT_CN, FRST_REGIST_PNTTM,FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID, USE_STPLAT_NM ) VALUES ( 'STPLAT_0000000000002', '제1조(목적 등)-기업회원', '개인정보의 수집 및 이용목적-기업회원', NOW(), 'USRCNFRM_00000000000', NOW(), 'USRCNFRM_00000000000', '인터넷이용약관'); + +-- 권한정보 +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_ANONYMOUS' ,'익명 사용자' , '', NOW()); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_ANONYMOUSLY' ,'스프링시큐리티 내부사용(롤부여 금지)' , '', NOW()); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_REMEMBERED' ,'스프링시큐리티 내부사용(롤부여 금지)', '', NOW()); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_FULLY' ,'스프링시큐리티 내부사용(롤부여 금지)' , '', NOW()); +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_USER' ,'일반 사용자' , '', NOW()); +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_ADMIN' ,'관리자' , '', NOW()); + +-- 롤 계층구조 +INSERT INTO COMTNROLES_HIERARCHY VALUES ('ROLE_ANONYMOUS' ,'IS_AUTHENTICATED_ANONYMOUSLY'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_ANONYMOUSLY' ,'IS_AUTHENTICATED_REMEMBERED'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_REMEMBERED' ,'IS_AUTHENTICATED_FULLY'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_FULLY' ,'ROLE_USER'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('ROLE_USER' ,'ROLE_ADMIN'); + +-- 사용자보안설정 +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000000', 'USR03', 'ROLE_ADMIN'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000001', 'USR01', 'ROLE_USER'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000002', 'USR02', 'ROLE_USER'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_99999999999', 'USR03', 'ROLE_ADMIN'); + +-- 롤 등록 +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000001', '로그인롤', '\\A/uat/uia/.*\\.do.*\\Z', '로그인허용을 위한 롤', 'url', '1', NOW()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000002', '좌측메뉴', '/EgovLeft.do', '좌측 메뉴에 대한 접근 제한 롤', 'url', '2', NOW()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000003', '모든접근제한', '\\A/.*\\.do.*\\Z', '모든자원에 대한 접근 제한 롤', 'url', '3', NOW()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000004', '회원관리', '\\A/uss/umt/.*\\.do.*\\Z', '회원관리에 대한 접근 제한 롤', 'url', '1', NOW()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000005', '실명확인', '\\A/sec/rnc/.*\\.do.*\\Z', '실명확인에 대한 접근 제한 롤', 'url', '1', NOW()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000006', '우편번호', '\\A/sym/ccm/zip/.*\\.do.*\\Z', '우편번호관리에 대한 접근 제한 롤', 'url', '1', NOW()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000007', '로그인이미지', '\\A/uss/ion/lsi/.*\\.do.*\\Z', '로그인이미지관리에 대한 접근 제한 롤', 'url', '1', NOW()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000008', '파일다운로드', '\\A/sym/ccm/zip/.*\\.do.*\\Z', '파일다운로드에 대한 접근 제한 롤', 'url', '1', NOW()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000009', '상단메뉴', '/EgovTop.do', '상단메뉴에 대한 접근 제한 롤', 'url', '1', NOW()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000010', '하단메뉴', '/EgovBottom.do', '하단메뉴에 대한 접근 제한 롤', 'url', '1', NOW()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000011', '왼쪽메뉴', '/EgovLeft.do', '왼쪽메뉴에 대한 접근 제한 롤', 'url', '1', NOW()); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000012', 'Validator모듈','/validator.do','Validator에 대한 접근 제한 롤', 'url', '1', NOW()); + +-- 권한 롤 매핑 +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000001', NOW()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000002', NOW()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000004', NOW()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000005', NOW()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000006', NOW()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000007', NOW()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000008', NOW()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000009', NOW()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000010', NOW()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000011', NOW()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000012', NOW()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_USER', 'web-000003', NOW()); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ADMIN', 'web-000003', NOW()); + +-- 프로그램목록 +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CnsltAnswerListInqire','/uss/olp/cnm/','상담답변관리','상담답변관리','/uss/olp/cnm/CnsltAnswerListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CnsltListInqire','/uss/olp/cns/','상담관리','상담관리','/uss/olp/cns/CnsltListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CpyrhtPrtcPolicyListInqire','/uss/sam/cpy/','저작권보호정책','저작권보호정책','/uss/sam/cpy/CpyrhtPrtcPolicyListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('dir','dir','디렉토리','디렉토리','dir'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAllSchdulManageList','/cop/smt/sam/','전체일정관리','전체일정관리','/cop/smt/sam/EgovAllSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAuthorGroupList','/sec/rgm/','권한그룹관리','권한그룹관리','/sec/rgm/EgovAuthorGroupList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAuthorList','/sec/ram/','권한관리','권한관리','/sec/ram/EgovAuthorList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovBndtCeckManageList','/uss/ion/bnt/','당직체크관리','당직체크관리','/uss/ion/bnt/EgovBndtCeckManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovBndtManageList','/uss/ion/bnt/','당직관리','당직관리','/uss/ion/bnt/EgovBndtManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmAdministCodeList','/sym/ccm/adc/','행정코드관리','행정코드관리','/sym/ccm/adc/EgovCcmAdministCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnClCodeList','/sym/ccm/ccc/','공통분류코드','공통분류코드','/sym/ccm/ccc/EgovCcmCmmnClCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnCodeList','/sym/ccm/cca/','공통코드','공통코드','/sym/ccm/cca/EgovCcmCmmnCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnDetailCodeList','/sym/ccm/cde/','공통상세코드','공통상세코드','/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmZipList','/sym/ccm/zip/','우편번호관리','우편번호관리','/sym/ccm/zip/EgovCcmZipList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamAppraisalList','/dam/app/','지식평가관리','지식평가관리','/dam/app/EgovComDamAppraisalList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamManagementList','/dam/mgm/','지식정보관리','지식정보관리','/dam/mgm/EgovComDamManagementList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamMapMaterialList','/dam/map/mat/','지식맵관리(유형)','지식맵관리(유형)','/dam/map/mat/EgovComDamMapMaterialList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamMapTeamList','/dam/map/tea/','지식맵관리(조직)','지식맵관리(조직)','/dam/map/tea/EgovComDamMapTeamList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamPersonalList','/dam/per/','개인지식관리','개인지식관리','/dam/per/EgovComDamPersonalList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamSpecialistList','/dam/spe/spe/','지식전문가관리','지식전문가관리','/dam/spe/spe/EgovComDamSpecialistList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComUtlHttpMonList','/utl/sys/htm/','HTTP서비스모니터링','HTTP서비스모니터링','/utl/sys/htm/EgovComUtlHttpMonList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComUtlProcessMonList','/utl/sys/prm/','프로세스모니터링','프로세스모니터링','/utl/sys/prm/EgovComUtlProcessMonList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCtsnnConfmList','/uss/ion/ctn/','직원경조사승인관리','직원경조사승인관리','/uss/ion/ctn/EgovCtsnnConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDeptAuthorList','/sec/drm/','부서권한관리','부서권한관리','/sec/drm/EgovDeptAuthorList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDeptSchdulManageList','/cop/smt/sdm/','부서일정관리','부서일정관리','/cop/smt/sdm/EgovDeptSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDiaryManageList','/cop/smt/dsm/','일지관리','일지관리','/cop/smt/dsm/EgovDiaryManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEntrprsMberManage','/uss/umt/','기업회원관리','기업회원관리','/uss/umt/EgovEntrprsMberManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventCmpgnList','/uss/ion/ecc/','행사/이벤트/캠페인','행사/이벤트/캠페인','/uss/ion/ecc/EgovEventCmpgnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventRcrptManageList','/uss/ion/evt/','행사접수관리','행사접수관리','/uss/ion/evt/EgovEventRcrptManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventReqstManageList','/uss/ion/evt/','행사신청관리','행사신청관리','/uss/ion/evt/EgovEventReqstManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovGroupList','/sec/gmt/','그룹관리','그룹관리','/sec/gmt/EgovGroupList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovIndvdlpgeCntntsList','/uss/mpe/','마이페이지관리','마이페이지관리','/uss/mpe/EgovIndvdlpgeCntntsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovIndvdlSchdulManageList','/cop/smt/sim/','일정관리','일정관리','/cop/smt/sim/EgovIndvdlSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('egovLoginUsr','/uat/uia/','로그인','로그인','/uat/uia/egovLoginUsr.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMberManage','/uss/umt/','일반회원관리','일반회원관리','/uss/umt/EgovMberManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMeetingManageList','/uss/olp/mgt/','회의관리','회의관리','/uss/olp/mgt/EgovMeetingManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuCreatManageSelect','/sym/mnu/mcm/','메뉴생성관리','메뉴생성관리','/sym/mnu/mcm/EgovMenuCreatManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuListSelect','/sym/mnu/mpm/','메뉴리스트관리','메뉴리스트관리','/sym/mnu/mpm/EgovMenuListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuManageSelect','/sym/mnu/mpm/','메뉴관리리스트','메뉴관리리스트','/sym/mnu/mpm/EgovMenuManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChangeRequstProcessListSelect','/sym/prm/','프로그램변경요청처리','프로그램변경요청처리','/sym/prm/EgovProgramChangeRequstProcessListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChangeRequstSelect','/sym/prm/','프로그램변경요청관리','프로그램변경요청관리','/sym/prm/EgovProgramChangeRequstSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChgHstListSelect','/sym/prm/','프로그램변경이력','프로그램변경이력','/sym/prm/EgovProgramChgHstListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramListManageSelect','/sym/prm/','프로그램관리','프로그램관리','/sym/prm/EgovProgramListManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrItemManageList','/uss/olp/qim/','항목관리','항목관리','/uss/olp/qim/EgovQustnrItemManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrManageList','/uss/olp/qmc/','설문관리','설문관리','/uss/olp/qmc/EgovQustnrManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrQestnManageList','/uss/olp/qqm/','질문관리','질문관리','/uss/olp/qqm/EgovQustnrQestnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrRespondInfoManageList','/uss/olp/qnn/','설문조사','설문조사','/uss/olp/qnn/EgovQustnrRespondInfoManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrRespondManageList','/uss/olp/qrm/','응답자관리','응답자관리','/uss/olp/qrm/EgovQustnrRespondManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrTmplatManageList','/uss/olp/qtm/','설문템플릿관리','설문템플릿관리','/uss/olp/qtm/EgovQustnrTmplatManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRestdeList','/sym/cal/','공휴일관리(달력)','공휴일관리(달력)','/sym/cal/EgovRestdeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRoleList','/sec/rmt/','롤관리','롤관리','/sec/rmt/EgovRoleList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRwardConfmList','/uss/ion/rwd/','포상승인관리','포상승인관리','/uss/ion/rwd/EgovRwardConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovSiteMapng','/sym/mnu/stm/','사이트맵','사이트맵','/sym/mnu/stm/EgovSiteMapng.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovTnextrlHrInfoList','/uss/ion/ecc/','외부인사정보','외부인사정보','/uss/ion/ecc/EgovTnextrlHrInfoList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovUserManage','/uss/umt/','업무사용자관리','업무사용자관리','/uss/umt/EgovUserManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovVcatnConfmList','/uss/ion/vct/','휴가승인관리','휴가승인관리','/uss/ion/vct/EgovVcatnConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovVcatnManageList','/uss/ion/vct/','휴가관리','휴가관리','/uss/ion/vct/EgovVcatnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('FaqListInqire','/uss/olh/faq/','FAQ관리','FAQ관리','/uss/olh/faq/FaqListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBackupOpertList','/sym/sym/bak/','백업관리','백업관리','/sym/sym/bak/getBackupOpertList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBackupResultList','/sym/sym/bak/','백업결과관리','백업결과관리','/sym/sym/bak/getBackupResultList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchOpertList','/sym/bat/','배치작업관리','배치작업관리','/sym/bat/getBatchOpertList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchResultList','/sym/bat/','배치결과관리','배치결과관리','/sym/bat/getBatchResultList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchSchdulList','/sym/bat/','스케줄처리','스케줄처리','/sym/bat/getBatchSchdulList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcInsttList','/ssi/syi/iis/','연계기관관리','연계기관관리','/ssi/syi/iis/getCntcInsttList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcMessageList','/ssi/syi/ims/','연계메시지관리','연계메시지관리','/ssi/syi/ims/getCntcMessageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcSttusList','/ssi/syi/ist/','연계현황관리','연계현황관리','/ssi/syi/ist/getCntcSttusList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getDbMntrngList','/utl/sys/dbm/','DB서비스모니터링','DB서비스모니터링','/utl/sys/dbm/getDbMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getInsttCodeRecptnList','/sym/ccm/icr/','기관코드수신','기관코드수신','/sym/ccm/icr/getInsttCodeRecptnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getMainImageResult','/uss/ion/msi/','메인이미지 반영결과보기','메인이미지 반영결과보기','/uss/ion/msi/getMainImageResult.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getSystemCntcList','/ssi/syi/sim/','시스템연계관리','시스템연계관리','/ssi/syi/sim/getSystemCntcList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getTrsmrcvMntrngList','/utl/sys/trm/','송수신모니터링','송수신모니터링','/utl/sys/trm/getTrsmrcvMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('HpcmListInqire','/uss/olh/hpc/','도움말','도움말','/uss/olh/hpc/HpcmListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('insertSndngMailView','/cop/ems/','메일발송','메일발송','/cop/ems/insertSndngMailView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listAdministrationWord','/uss/olh/awm/','행정전문용어사전','행정전문용어사전','/uss/olh/awm/listAdministrationWord.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listAdministrationWordManage','/uss/olh/awm/','행정전문용어사전관리','행정전문용어사전관리','/uss/olh/awm/listAdministrationWordManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listIndvdlInfoPolicy','/uss/sam/ipm/','개인정보보호정책확인','개인정보보호정책확인','/uss/sam/ipm/listIndvdlInfoPolicy.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listNoteRecptn','/uss/ion/ntr/','받은쪽지함관리','받은쪽지함관리','/uss/ion/ntr/listNoteRecptn.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listNoteTrnsmit','/uss/ion/nts/','보낸쪽지함관리','보낸쪽지함관리','/uss/ion/nts/listNoteTrnsmit.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlineManual','/uss/olh/omm/','온라인매뉴얼','온라인매뉴얼','/uss/olh/omm/selectOnlineManualList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlinePollManage','/uss/olp/opm/','온라인poll관리','온라인poll관리','/uss/olp/opm/listOnlinePollManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlinePollPartcptn','/uss/olp/opp/','온라인poll참여','온라인poll참여','/uss/olp/opp/listOnlinePollPartcptn.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listPopup','/uss/ion/pwm/','팝업창관리','팝업창관리','/uss/ion/pwm/listPopup.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRecentSrchwrd','/uss/ion/rsm/','최근검색어 목록','최근검색어 목록','/uss/ion/rsm/listRecentSrchwrd.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRequestOffer','/dam/spe/req/','지식정보제공','지식정보제공','/dam/spe/req/listRequestOffer.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRssTagManage','/uss/ion/rss/','RSS태그관리','RSS태그관리','/uss/ion/rss/listRssTagManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRssTagService','/uss/ion/rsn/','RSS태그서비스','RSS태그서비스','/uss/ion/rsn/listRssTagService.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listUnityLink','/uss/ion/ulm/','통합링크관리','통합링크관리','/uss/ion/ulm/listUnityLink.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listWikiBookmark','/uss/ion/wik/bmk/','Wiki기능','Wiki기능','/uss/ion/wik/bmk/listWikiBookmark.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('loginSessionView','/utl/sys/rsc/','로그인세션정보체크','로그인세션정보체크','/utl/sys/rsc/loginSessionView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('NewsInfoListInqire','/uss/ion/nws/','뉴스관리','뉴스관리','/uss/ion/nws/NewsInfoListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('OnlineManualUserList','/uss/olh/omn/','사용자온라인매뉴얼','사용자온라인매뉴얼','/uss/olh/omn/selectOnlineManualList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('QnaAnswerListInqire','/uss/olh/qnm/','Q&amp;A답변관리','Q&amp;A답변관리','/uss/olh/qnm/QnaAnswerListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('QnaListInqire','/uss/olh/qna/','Q&amp;A관리','Q&amp;A관리','/uss/olh/qna/QnaListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('RecomendSiteListInqire','/uss/ion/rec/','추천사이트관리','추천사이트관리','/uss/ion/rec/RecomendSiteListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('registEgovNoteManage','/uss/ion/ntm/','쪽지관리','쪽지관리','/uss/ion/ntm/registEgovNoteManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAdbkList','/cop/adb/','주소록관리','주소록관리','/cop/adb/selectAdbkList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAnnvrsryMainList','/uss/ion/ans/','기념일목록(확인용)','기념일목록(확인용)','/uss/ion/ans/selectAnnvrsryMainList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAnnvrsryManageList','/uss/ion/ans/','기념일관리','기념일관리','/uss/ion/ans/selectAnnvrsryManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBannerList','/uss/ion/bnr/','배너관리','배너관리','/uss/ion/bnr/selectBannerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBannerMainList','/uss/ion/bnr/','MYPAGE배너관리','MYPAGE배너관리','/uss/ion/bnr/selectBannerMainList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectBBSMasterInfs','/cop/bbs/','게시판속성관리','게시판속성관리','/cop/bbs/SelectBBSMasterInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBbsStats','/sts/bst/','게시물통계','게시물통계','/sts/bst/selectBbsStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBBSUseInfs','/cop/com/','게시판사용정보','게시판사용정보','/cop/com/selectBBSUseInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBkmkMenuManageList','/sym/mnu/bmm/','바로가기메뉴관리','바로가기메뉴관리','/sym/mnu/bmm/selectBkmkMenuManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectCmmntyInfs','/cop/cmy/','커뮤니티관리','커뮤니티관리','/cop/cmy/selectCmmntyInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectConectStats','/sts/cst/','접속통계','접속통계','/sts/cst/selectConectStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectCtsnnManageList','/uss/ion/ctn/','직원경조사관리','직원경조사관리','/uss/ion/ctn/selectCtsnnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptJobBxList','/cop/smt/djm/','부서업무함관리','부서업무함관리','/cop/smt/djm/selectDeptJobBxList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptJobList','/cop/smt/djm/','부서업무정보','부서업무정보','/cop/smt/djm/selectDeptJobList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptManageListView','/uss/umt/dpt/','부서관리','부서관리','/uss/umt/dpt/selectDeptManageListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDtaUseStatsList','/sts/dst/','자료이용현황통계','자료이용현황통계','/sts/dst/selectDtaUseStatsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectEventRceptConfmList','/uss/ion/evt/','행사접수승인관리','행사접수승인관리','/uss/ion/evt/selectEventRceptConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectFileSysMntrngList','/utl/sys/fsm/','파일시스템모니터링','파일시스템모니터링','/utl/sys/fsm/selectFileSysMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectIntnetSvcGuidanceList','/uss/ion/isg/','인터넷서비스안내및관리','인터넷서비스안내및관리','/uss/ion/isg/selectIntnetSvcGuidanceList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLeaderSchdulList','/cop/smt/lsm/usr/','간부일정관리','간부일정관리','/cop/smt/lsm/usr/selectLeaderSchdulList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectLoginLogList','/sym/log/clg/','접속로그관리','접속로그관리','/sym/log/clg/SelectLoginLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLoginPolicyList','/uat/uap/','로그인정책관리','로그인정책관리','/uat/uap/selectLoginPolicyList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLoginScrinImageList','/uss/ion/lsi/','로그인화면이미지관리','로그인화면이미지관리','/uss/ion/lsi/selectLoginScrinImageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMainImageList','/uss/ion/msi/','메인이미지관리','메인이미지관리','/uss/ion/msi/selectMainImageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMemoReprtList','/cop/smt/mrm/','메모보고','메모보고','/cop/smt/mrm/selectMemoReprtList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMemoTodoList','/cop/smt/mtm/','메모할일관리','메모할일관리','/cop/smt/mtm/selectMemoTodoList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMntrngServerList','/utl/sys/srm/','서버자원모니터링-대상목록','서버자원모니터링-대상목록','/utl/sys/srm/selectMntrngServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMtgPlaceManageList','/uss/ion/mtg/','회의실관리','회의실관리','/uss/ion/mtg/selectMtgPlaceManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMtgPlaceResveManageList','/uss/ion/mtg/','회의실예약관리','회의실예약관리','/uss/ion/mtg/selectMtgPlaceResveManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMyNcrdUseInf','/cop/ncm/','내명함목록','내명함목록','/cop/ncm/selectMyNcrdUseInf.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNcrdInfs','/cop/ncm/','명함관리','명함관리','/cop/ncm/selectNcrdInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNotificationList','/uss/ion/noi/','정보알림이','정보알림이','/uss/ion/noi/selectNotificationList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNtwrkList','/sym/sym/nwk/','네트워크관리','네트워크관리','/sym/sym/nwk/selectNtwrkList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNtwrkSvcMntrngList','/utl/sys/nsm/','네트워크서비스모니터링','네트워크서비스모니터링','/utl/sys/nsm/selectNtwrkSvcMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectProxySvcList','/utl/sys/pxy/','프록시서비스','프록시서비스','/utl/sys/pxy/selectProxySvcList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectReprtStatsListView','/sts/rst/','보고서통계','보고서통계','/sts/rst/selectReprtStatsListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectRwardManageList','/uss/ion/rwd/','포상관리','포상관리','/uss/ion/rwd/selectRwardManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectScrapList','/cop/scp/','스크랩 목록','스크랩 목록','/cop/scp/selectScrapList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectScrinStats','/sts/sst/','화면통계','화면통계','/sts/sst/selectScrinStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectServerEqpmnList','/sym/sym/srv/','서버정보관리','서버정보관리','/sym/sym/srv/selectServerEqpmnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectServerList','/sym/sym/srv/','서버(S/W)목록','서버(S/W)목록','/sym/sym/srv/selectServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSmsList','/cop/sms/','문자메시지','문자메시지','/cop/sms/selectSmsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSndngMailList','/cop/ems/','발송메일내역','발송메일내역','/cop/ems/selectSndngMailList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSynchrnServerList','/utl/sys/ssy/','파일동기화(대상서버)','파일동기화(대상서버)','/utl/sys/ssy/selectSynchrnServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectSysHistoryList','/sym/log/slg/','시스템이력관리','시스템이력관리','/sym/log/slg/SelectSysHistoryList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectSysLogList','/sym/log/lgm/','로그관리','로그관리','/sym/log/lgm/SelectSysLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTemplateInfs','/cop/tpl/','템플릿관리','템플릿관리','/cop/tpl/selectTemplateInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTroblProcessList','/sym/tbm/tbp/','장애처리결과관리','장애처리결과관리','/sym/tbm/tbp/selectTroblProcessList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTroblReqstList','/sym/tbm/tbr/','장애신청관리','장애신청관리','/sym/tbm/tbr/selectTroblReqstList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectTrsmrcvLogList','/sym/log/tlg/','송/수신로그관리','송/수신로그관리','/sym/log/tlg/SelectTrsmrcvLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTwitterMain','/uss/ion/tir/','Twitter연동','Twitter연동','/uss/ion/tir/selectTwitterMain.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectUserAbsnceListView','/uss/ion/uas/','사용자부재관리','사용자부재관리','/uss/ion/uas/selectUserAbsnceListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectUserLogList','/sym/log/ulg/','사용로그관리','사용로그관리','/sym/log/ulg/SelectUserLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectUserStats','/sts/ust/','사용자통계','사용자통계','/sts/ust/selectUserStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectWebLogList','/sym/log/wlg/','웹로그관리','웹로그관리','/sym/log/wlg/SelectWebLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectWikMnthngReprtList','/cop/smt/wmr/','주간/월간보고관리','주간/월간보고관리','/cop/smt/wmr/selectWikMnthngReprtList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SiteListInqire','/uss/ion/sit/','사이트관리','사이트관리','/uss/ion/sit/SiteListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('StplatListInqire','/uss/sam/stp/','약관관리','약관관리','/uss/sam/stp/StplatListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('WordDicaryListInqire','/uss/olh/wor/','용어사전','용어사전','/uss/olh/wor/WordDicaryListInqire.do'); + +-- 메뉴정보 +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('root','dir',0,0,1,'root','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자디렉토리/통합인증','dir',1000000,0,1,'사용자디렉토리/통합인증','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인','egovLoginUsr',1010000,1000000,1,'로그인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인정책관리','selectLoginPolicyList',1020000,1000000,2,'로그인정책관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보안','dir',2000000,0,2,'보안','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('권한관리','EgovAuthorList',2010000,2000000,1,'권한관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('권한그룹관리','EgovAuthorGroupList',2020000,2000000,2,'권한그룹관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('그룹관리','EgovGroupList',2030000,2000000,3,'그룹관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('롤관리','EgovRoleList',2040000,2000000,4,'롤관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서권한관리','EgovDeptAuthorList',2050000,2000000,5,'부서권한관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('통계/리포팅','dir',3000000,0,3,'통계/리포팅','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시물통계','selectBbsStats',3010000,3000000,1,'게시물통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자통계','selectUserStats',3020000,3000000,2,'사용자통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('접속통계','selectConectStats',3030000,3000000,3,'접속통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('화면통계','selectScrinStats',3040000,3000000,4,'화면통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보고서통계','selectReprtStatsListView',3050000,3000000,5,'보고서통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('자료이용현황통계','selectDtaUseStatsList',3060000,3000000,6,'자료이용현황통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('협업','dir',4000000,0,4,'협업','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시판속성관리','SelectBBSMasterInfs',4010000,4000000,1,'게시판속성관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시판사용정보','selectBBSUseInfs',4020000,4000000,2,'게시판사용정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('템플릿관리','selectTemplateInfs',4030000,4000000,3,'템플릿관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('스크랩 목록','selectScrapList',4040000,4000000,4,'스크랩 목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('커뮤니티관리','selectCmmntyInfs',4050000,4000000,5,'커뮤니티관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('문자메시지','selectSmsList',4060000,4000000,6,'문자메시지','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서일정관리','EgovDeptSchdulManageList',4070000,4000000,7,'부서일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일정관리','EgovIndvdlSchdulManageList',4080000,4000000,8,'일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일지관리','EgovDiaryManageList',4090000,4000000,9,'일지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('전체일정관리','EgovAllSchdulManageList',4100000,4000000,10,'전체일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메일발송','insertSndngMailView',4110000,4000000,11,'메일발송','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('발송메일내역','selectSndngMailList',4120000,4000000,12,'발송메일내역','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('명함관리','selectNcrdInfs',4130000,4000000,13,'명함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('내명함목록','selectMyNcrdUseInf',4140000,4000000,14,'내명함목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('주소록관리','selectAdbkList',4150000,4000000,15,'주소록관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('간부일정관리','selectLeaderSchdulList',4160000,4000000,16,'간부일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서업무함관리','selectDeptJobBxList',4170000,4000000,17,'부서업무함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서업무정보','selectDeptJobList',4180000,4000000,18,'부서업무정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('주간/월간보고관리','selectWikMnthngReprtList',4190000,4000000,19,'주간/월간보고관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메모할일관리','selectMemoTodoList',4200000,4000000,20,'메모할일관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메모보고','selectMemoReprtList',4210000,4000000,21,'메모보고','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자지원','dir',5000000,0,5,'사용자지원','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기업회원관리','EgovEntrprsMberManage',5010000,5000000,1,'기업회원관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('업무사용자관리','EgovUserManage',5020000,5000000,2,'업무사용자관리','',''); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서관리','selectDeptManageListView',5030000,5000000,3,'부서관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일반회원관리','EgovMberManage',5040000,5000000,4,'일반회원관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('마이페이지관리','EgovIndvdlpgeCntntsList',5050000,5000000,5,'마이페이지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('약관관리','StplatListInqire',5060000,5000000,6,'약관관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('저작권보호정책','CpyrhtPrtcPolicyListInqire',5070000,5000000,7,'저작권보호정책','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('개인정보보호정책확인','listIndvdlInfoPolicy',5080000,5000000,8,'개인정보보호정책확인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('도움말','HpcmListInqire',5090000,5000000,9,'도움말','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('용어사전','WordDicaryListInqire',5100000,5000000,10,'용어사전','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('FAQ관리','FaqListInqire',5110000,5000000,11,'FAQ관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Q&amp;A관리','QnaListInqire',5120000,5000000,12,'Q&amp;A관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Q&amp;A답변관리','QnaAnswerListInqire',5130000,5000000,13,'Q&amp;A답변관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정전문용어사전','listAdministrationWord',5140000,5000000,14,'행정전문용어사전','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정전문용어사전관리','listAdministrationWordManage',5150000,5000000,15,'행정전문용어사전관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인매뉴얼','listOnlineManual',5160000,5000000,16,'온라인매뉴얼','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자온라인매뉴얼','OnlineManualUserList',5170000,5000000,17,'사용자온라인매뉴얼','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('상담관리','CnsltListInqire',5180000,5000000,18,'상담관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('상담답변관리','CnsltAnswerListInqire',5190000,5000000,19,'상담답변관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문관리','EgovQustnrManageList',5200000,5000000,20,'설문관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문조사','EgovQustnrRespondInfoManageList',5210000,5000000,21,'설문조사','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문템플릿관리','EgovQustnrTmplatManageList',5220000,5000000,22,'설문템플릿관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('응답자관리','EgovQustnrRespondManageList',5230000,5000000,23,'응답자관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('질문관리','EgovQustnrQestnManageList',5240000,5000000,24,'질문관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('항목관리','EgovQustnrItemManageList',5250000,5000000,25,'항목관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의관리','EgovMeetingManageList',5260000,5000000,26,'회의관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인poll관리','listOnlinePollManage',5270000,5000000,27,'온라인poll관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인poll참여','listOnlinePollPartcptn',5280000,5000000,28,'온라인poll참여','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('뉴스관리','NewsInfoListInqire',5290000,5000000,29,'뉴스관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사이트관리','SiteListInqire',5300000,5000000,30,'사이트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('추천사이트관리','RecomendSiteListInqire',5310000,5000000,31,'추천사이트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사/이벤트/캠페인','EgovEventCmpgnList',5320000,5000000,32,'행사/이벤트/캠페인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('외부인사정보','EgovTnextrlHrInfoList',5330000,5000000,33,'외부인사정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('팝업창관리','listPopup',5340000,5000000,34,'팝업창관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('정보알림이','selectNotificationList',5350000,5000000,35,'정보알림이','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배너관리','selectBannerList',5360000,5000000,36,'배너관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('MYPAGE배너관리','selectBannerMainList',5370000,5000000,37,'MYPAGE배너관리','',''); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인화면이미지관리','selectLoginScrinImageList',5380000,5000000,38,'로그인화면이미지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('최근검색어 목록','listRecentSrchwrd',5390000,5000000,39,'최근검색어 목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메인이미지관리','selectMainImageList',5400000,5000000,40,'메인이미지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메인이미지 반영결과보기','getMainImageResult',5410000,5000000,41,'메인이미지 반영결과보기','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('통합링크관리','listUnityLink',5420000,5000000,42,'통합링크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자부재관리','selectUserAbsnceListView',5430000,5000000,43,'사용자부재관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('인터넷서비스안내및관리','selectIntnetSvcGuidanceList',5440000,5000000,44,'인터넷서비스안내및관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Wiki기능','listWikiBookmark',5450000,5000000,45,'Wiki기능','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('RSS태그관리','listRssTagManage',5460000,5000000,46,'RSS태그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('RSS태그서비스','listRssTagService',5470000,5000000,47,'RSS태그서비스','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Twitter연동','selectTwitterMain',5480000,5000000,48,'Twitter연동','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('쪽지관리','registEgovNoteManage',5490000,5000000,49,'쪽지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('받은쪽지함관리','listNoteRecptn',5500000,5000000,50,'받은쪽지함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보낸쪽지함관리','listNoteTrnsmit',5510000,5000000,51,'보낸쪽지함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의실관리','selectMtgPlaceManageList',5520000,5000000,52,'회의실관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의실예약관리','selectMtgPlaceResveManageList',5530000,5000000,53,'회의실예약관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('직원경조사관리','selectCtsnnManageList',5540000,5000000,54,'직원경조사관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('직원경조사승인관리','EgovCtsnnConfmList',5550000,5000000,55,'직원경조사승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('휴가관리','EgovVcatnManageList',5560000,5000000,56,'휴가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('휴가승인관리','EgovVcatnConfmList',5570000,5000000,57,'휴가승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('당직관리','EgovBndtManageList',5580000,5000000,58,'당직관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('당직체크관리','EgovBndtCeckManageList',5590000,5000000,59,'당직체크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('포상관리','selectRwardManageList',5600000,5000000,60,'포상관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('포상승인관리','EgovRwardConfmList',5610000,5000000,61,'포상승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기념일관리','selectAnnvrsryManageList',5620000,5000000,62,'기념일관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기념일목록(확인용)','selectAnnvrsryMainList',5630000,5000000,63,'기념일목록(확인용)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사신청관리','EgovEventReqstManageList',5640000,5000000,64,'행사신청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사접수관리','EgovEventRcrptManageList',5650000,5000000,65,'행사접수관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사접수승인관리','selectEventRceptConfmList',5660000,5000000,66,'행사접수승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템관리','dir',6000000,0,6,'시스템관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통분류코드','EgovCcmCmmnClCodeList',6010000,6000000,1,'공통분류코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통상세코드','EgovCcmCmmnDetailCodeList',6020000,6000000,2,'공통상세코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통코드','EgovCcmCmmnCodeList',6030000,6000000,3,'공통코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('우편번호관리','EgovCcmZipList',6040000,6000000,4,'우편번호관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정코드관리','EgovCcmAdministCodeList',6050000,6000000,5,'행정코드관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기관코드수신','getInsttCodeRecptnList',6060000,6000000,6,'기관코드수신','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그관리','SelectSysLogList',6070000,6000000,7,'로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용로그관리','SelectUserLogList',6080000,6000000,8,'사용로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('송/수신로그관리','SelectTrsmrcvLogList',6090000,6000000,9,'송/수신로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템이력관리','SelectSysHistoryList',6100000,6000000,10,'시스템이력관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('웹로그관리','SelectWebLogList',6110000,6000000,11,'웹로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('접속로그관리','SelectLoginLogList',6120000,6000000,12,'접속로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴리스트관리','EgovMenuListSelect',6130000,6000000,13,'메뉴리스트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴관리리스트','EgovMenuManageSelect',6140000,6000000,14,'메뉴관리리스트','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴생성관리','EgovMenuCreatManageSelect',6150000,6000000,15,'메뉴생성관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사이트맵','EgovSiteMapng',6160000,6000000,16,'사이트맵','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('바로가기메뉴관리','selectBkmkMenuManageList',6170000,6000000,17,'바로가기메뉴관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램관리','EgovProgramListManageSelect',6180000,6000000,18,'프로그램관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경요청관리','EgovProgramChangeRequstSelect',6190000,6000000,19,'프로그램변경요청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경요청처리','EgovProgramChangeRequstProcessListSelect',6200000,6000000,20,'프로그램변경요청처리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경이력','EgovProgramChgHstListSelect',6210000,6000000,21,'프로그램변경이력','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배치작업관리','getBatchOpertList',6220000,6000000,22,'배치작업관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배치결과관리','getBatchResultList',6230000,6000000,23,'배치결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('스케줄처리','getBatchSchdulList',6240000,6000000,24,'스케줄처리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('백업관리','getBackupOpertList',6250000,6000000,25,'백업관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('백업결과관리','getBackupResultList',6260000,6000000,26,'백업결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('네트워크관리','selectNtwrkList',6270000,6000000,27,'네트워크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버정보관리','selectServerEqpmnList',6280000,6000000,28,'서버정보관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버(S/W)목록','selectServerList',6290000,6000000,29,'서버(S/W)목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('장애신청관리','selectTroblReqstList',6300000,6000000,30,'장애신청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('장애처리결과관리','selectTroblProcessList',6310000,6000000,31,'장애처리결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템/서비스연계','dir',7000000,0,7,'시스템/서비스연계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템연계관리','getSystemCntcList',7010000,7000000,1,'시스템연계관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계현황관리','getCntcSttusList',7020000,7000000,2,'연계현황관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계메시지관리','getCntcMessageList',7030000,7000000,3,'연계메시지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계기관관리','getCntcInsttList',7040000,7000000,4,'연계기관관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('자산 관리','dir',8000000,0,8,'자산 관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('개인지식관리','EgovComDamPersonalList',8010000,8000000,1,'개인지식관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식맵관리(유형)','EgovComDamMapMaterialList',8020000,8000000,2,'지식맵관리(유형)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식맵관리(조직)','EgovComDamMapTeamList',8030000,8000000,3,'지식맵관리(조직)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식전문가관리','EgovComDamSpecialistList',8040000,8000000,4,'지식전문가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식정보관리','EgovComDamManagementList',8050000,8000000,5,'지식정보관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식평가관리','EgovComDamAppraisalList',8060000,8000000,6,'지식평가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식정보제공','listRequestOffer',8070000,8000000,7,'지식정보제공','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('요소기술','dir',9000000,0,9,'요소기술','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공휴일관리(달력)','EgovRestdeList',9010000,9000000,1,'공휴일관리(달력)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('송수신모니터링','getTrsmrcvMntrngList',9020000,9000000,2,'송수신모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('DB서비스모니터링','getDbMntrngList',9030000,9000000,3,'DB서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('HTTP서비스모니터링','EgovComUtlHttpMonList',9040000,9000000,4,'HTTP서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로세스모니터링','EgovComUtlProcessMonList',9050000,9000000,5,'프로세스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('네트워크서비스모니터링','selectNtwrkSvcMntrngList',9060000,9000000,6,'네트워크서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('파일시스템모니터링','selectFileSysMntrngList',9070000,9000000,7,'파일시스템모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프록시서비스','selectProxySvcList',9080000,9000000,8,'프록시서비스','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('파일동기화(대상서버)','selectSynchrnServerList',9090000,9000000,9,'파일동기화(대상서버)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인세션정보체크','loginSessionView',9100000,9000000,10,'로그인세션정보체크','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버자원모니터링-대상목록','selectMntrngServerList',9110000,9000000,11,'서버자원모니터링-대상목록','/','/'); + +-- 기본템플릿 +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_BOARD_DEFAULT', '게시판 기본템플릿', 'TMPT01', '/css/egovframework/com/cop/tpl/egovbbsTemplate.css', 'Y', 'SYSTEM', NOW()); +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_CMNTY_DEFAULT', '커뮤니티 기본템플릿', 'TMPT02', 'egovframework/com/cop/tpl/EgovCmmntyBaseTmpl', 'Y', 'SYSTEM', NOW()); +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_CLUB__DEFAULT', '동호회 기본템플릿', 'TMPT03', 'egovframework/com/cop/tpl/EgovClbBaseTmpl', 'Y', 'SYSTEM', NOW()); + +-- 우편번호 +INSERT INTO COMTCZIP(ZIP, SN, CTPRVN_NM, SIGNGU_NM, EMD_NM, LI_BULD_NM, LNBR_DONG_HO, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('100775',7381,'서울','중구','무교동','한국정보화진흥원','',NOW(),'SYSTEM',NOW(),'SYSTEM'); +INSERT INTO COMTRDNMADRZIP(RDMN_CODE, SN, CTPRVN_NM, SIGNGU_NM, RDMN, BDNBR_MNNM, BDNBR_SLNO, BULD_NM, DETAIL_BULD_NM, ZIP, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('111403100021','1','서울특별시','중구','청계천로','14','0','한국정보사회진흥원','','100775',NOW(),'SYSTEM',NOW(),'SYSTEM'); + +-- 최근검색어조회 +INSERT INTO COMTNRECENTSRCHWRDMANAGE(SRCHWRD_MANAGE_ID, SRCHWRD_MANAGE_NM, SRCHWRD_CONECT_URL, USER_SEARCH_AT,FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES('SRCMGR_0000000000001','공통코드관리','/sym/ccm/cca/SelectCcmCmmnCodeList.do','Y',NOW(),'USRCNFRM_00000000000',NOW(),'USRCNFRM_00000000000'); \ No newline at end of file Index: base3.10/script/dml/cubrid/com_DML_cubrid.sql =================================================================== --- base3.10/script/dml/cubrid/com_DML_cubrid.sql (nonexistent) +++ base3.10/script/dml/cubrid/com_DML_cubrid.sql (revision 7) @@ -0,0 +1,1087 @@ +-- ID Generator +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADBKUSER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADBK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADMINIST_WORD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADMIN_CODE_OPERT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ANN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BACKUP_OPERT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BACKUP_RESULT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BANNER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_OPERT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_RESULT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BBS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CLB_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CMMNTY_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNSLT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTC_MESSAGE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTNTS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('COMTECOPSEQ', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CPYRHT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CTSNN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DAM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DB_MNTRNG_LOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DEPT_JOB_BX_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DEPT_JOB_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DIARY_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DUS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EVENTINFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EVENT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EXTRLHRINFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FAQ_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILESYS_LOGID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILESYS_MNTRNG', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('GROUP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HPCM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HTTL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HTTP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INDVDL_INFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INFRML_SANCTN', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INSTT_CODE_OPERT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INSTT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ISG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ITEM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('KNO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('KNO_ID2', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LEADER_SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LOGINLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LSI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MAILMSG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MEMO_REPRT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MEMO_TODO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MSI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MTG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MTG_PLACE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NCRD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NEWS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_RECPTN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_TRNSMIT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTWRKSVC_LOGID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTWRK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ONLINE_MUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_IEM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_MGR_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_RUT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POPUP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROXYLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROXYSVC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QA_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESITM_', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESRSPNS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESTNR_QESITM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESTNR_RPD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QUSTNRQESTN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QUSTNRTMPLA_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RECOMEND_SITE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RESTDE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RESVE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ROLE_ID', 20); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RSS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RWARD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SCRAP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SERVER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SEVEQ_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SITE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SMS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_MANAGEID', 2); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_MANAGE_I', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SVCRESMONTLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SVC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYNCHRNSERVER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYSLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TEST1', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TMPLAT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TROBL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TRSMRCVLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TR_MNTRNG_LOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('UNITY_LINK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('USE_STPLAT_ID', 3); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('USRCNFRM_ID', 3); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WEBLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WIKI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WIKMNTHNG_REPRT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WORD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ORGNZT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ANSWER_NO', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('STSFDG_NO', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ROUGHMAP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WRKTM_ID', 1); + +-- 공통분류코드 +INSERT INTO COMTCCMMNCLCODE(CL_CODE, CL_CODE_NM, CL_CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', '전자정부 프레임워크 공통서비스', '전자정부 프레임워크 공통서비스', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); + +-- 공통코드 +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM001', '등록구분', '게시판, 커뮤니티, 동호회 등록구분코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM002', '이력구분', '시스템이력등록구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM003', '업무구분', '업무구분코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM005', '템플릿유형', '템플릿유형구분코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM006', '승인유형', '동호회, 커뮤니티 승인 유형', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM007', '승인상태', '동호회, 커뮤니티 승인 상태', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM008', '처리상태', '송수신 요청의 처리상태', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM009', '게시판속성', '게시판 속성', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM010', '권한유형', '시스템을 사용하기 위한 권한 구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM011', '롤유형', '시스템의 기능을 사용하기 위한 롤 구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM012', '회원유형', '일반/기업/업무담당자를 구현하기 위한 사용자 구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM013', '회원상태', '회원 가입 신청/승인/삭제를 위한 상태 구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM014', '성별구분', '남녀 성별 구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM015', '인증방식유형', '주민등록번호 인증, Gpin 인증과 같은 사용자 인증 구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM016', '변경요청처리 상태', '프로그램 변경의 요청/처리 등의 변경요청 상태 구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM017', '휴일구분', '휴일의 구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM018', '질문유형', '질문유형 객관식/주관식 상태구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM019', '일정중요도', '일정중요도 낮음/보통/높음 상태구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM020', '일정구분', '일정구분 부서일지정보/일지정보 상태구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM021', '도움말구분', '도움말 설명 구분코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM022', '비밀번호 힌트', '비밀번호 힌트 구분코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM023', '사이트주제분류', '사이트주제분류 설명 구분코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM024', '발송결과구분', '발송메일 수신결과 구분 코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM025', '소속기관', '소속기관정보를 관리할때 사용하는 구분코드(시스템별로 재정의)', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM026', '기업구분', '기업구분정보를 관리할때 사용하는 구분코드(시스템별로 재정의)', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM027', '업종', '대표업종코드(시스템별로 재정의)', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM028', '질의응답처리상태', 'Q/A 처리상태코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM029', '롤유형코드', '', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM030', '일정구분', '일정구분 코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM031', '반복구분', '일정 반복구분 코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM032', '작업유형', '승인이력 작업유형', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM033', '시스템로그구분', '', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM034', '직업유형', '직업유형코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM035', '행사유형', '행사/이벤트/캠페인 구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM036', '보고서 진행상태코드', '보고서의 진행상태를 코드화 하여 관리한다.', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM038', '온라인POLL페기유무', '온라인POLL-온라인POLL페기유무', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM039', '온라인POLL구분', '온라인POLL-온온라인POLL구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM040', '보고서 종류코드', '보고서 종류코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM041', '온라인메뉴얼구분', '온라인메누얼-온라인메뉴얼구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM042', '보고서통계기간구분', '보고서통계기간구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM043', '기관코드변경구분', '기관코드변경구분', 'Y', SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM044', '기관코드수신처리구분', '기관코드수신처리구분', 'Y', SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM045', '사용여부', '사용여부', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM046', '모니터링상태구분', '모니터링상태구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM047', '실행주기구분', '실행주기구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM048', 'DBMS종류', 'DBMS종류', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM049', '압축구분', '압축구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM050', '수신구분', '쪽지관리', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM051', '승인여부', '승인여부구분코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM052', '달력구분', '달력구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM053', '행사구분', '행사구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM054', '경조구분', '경조구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM055', '포상구분', '포상구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM056', '휴가구분', '휴가구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM057', '일정구분', '일정구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM058', '반복구분코드', '반복구분코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM059', '우선순위', '우선순위', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM060', '보고서구분', '보고서구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM061', '간부상태', '간부상태', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM062', ' HTTP상태코드', 'HTTP상태코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM063', '상태관리', '상태관리', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM064', '서버종류코드', '서버종류코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM065', '장애종류코드', '장애종류코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM066', '서버자원종류', '서버자원종류', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM067', '네트워크관리항목', '네트워크관리항목', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM068', '처리상태코드', '처리상태코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM069', '기념일구분', '기념일구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM070', '위치구분', '회의실 위치구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM071', '당직체크구분', '당직체크구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM072', '서비스상태', '서비스상태', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM073', '가족관계', '가족관계', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM074', '요일구분', '요일구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM075', '업무구분코드', '업무구분코드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM076', '실행상태구분', '실행상태구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM101', '게시판유형', '게시판유형', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM102', '단어구분', '단어구분', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +-- 공통상세코드 +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC01', '단일 게시판 이용등록', '단일 게시판 이용등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC02', '커뮤니티 등록', '커뮤니티 등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC03', '동호회 등록', '동호회 등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC04', '명함등록', '명함등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC05', '동호회 게시판 등록', '동호회 게시판 등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC06', '커뮤니티 게시판 등록', '커뮤니티 게시판 등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC07', '게시판사용자등록', '게시판사용자등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST01', '소프트웨어패치', '소프트웨어패치', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST02', '소프트웨어설치', '소프트웨어설치', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST03', '소프트웨어삭제', '소프트웨어삭제', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST04', '하드웨어업그레이드', '하드웨어업그레이드', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST05', '하드웨어삭제', '하드웨어삭제', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'BBS', '게시판', '게시판', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'CMY', '커뮤니티', '커뮤니티', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'CLB', '동호회', '동호회', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'NCD', '명함', '명함', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT01', '게시판템플릿', '게시판템플릿', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT02', '커뮤니티템플릿', '커뮤니티템플릿', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT03', '블로그템플릿', '블로그템플릿', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF01', '커뮤니티등록', '커뮤니티등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF02', '커뮤니티삭제', '커뮤니티삭제', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF03', '동호회등록', '동호회등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF04', '동호회삭제', '동호회삭제', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF05', '커뮤니티운영자등록', '커뮤니티운영자등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF06', '커뮤니티운영자삭제', '커뮤니티운영자삭제', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF07', '동호회운영자등록', '동호회운영자등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF08', '동호회운영자삭제', '동호회운영자삭제', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF09', '게시판이용등록', '게시판이용등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF10', '게시판삭제', '게시판삭제', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF11', '커뮤니티사용자등록', '커뮤니티사용자등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF12', '커뮤니티사용자탈퇴', '커뮤니티사용자탈퇴', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF13', '동호회사용자등록', '동호회사용자등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF14', '동호회사용자탈퇴', '동호회사용자탈퇴', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP01', '승인요청', '승인요청', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP02', '승인허가', '승인허가', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP03', '승인반려', '승인반려', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S01', '전송요청', '전송요청', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S02', '전송완료', '전송완료', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S03', '전송실패', '전송실패', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S04', '수신요청', '수신요청', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S05', '수신완료', '수신완료', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S06', '수신실패', '수신실패', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA01', '유효게시판', '유효게시판', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA02', '갤러리', '갤러리', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA03', '일반게시판', '일반게시판', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVS001', '시스템 관련 권한(최상위 권한)', '시스템 관련 권한(최상위 권한)', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVD001', '데이터베이스 관련 권한', '데이터베이스 관련 권한', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVU001', '사용자 관련 권한', '사용자 관련 권한', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVA001', '어플리케이션 관련 권한', '어플리케이션 관련 권한', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVB001', '게시판 관련 권한', '게시판 관련 권한', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVC001', '커뮤니티 관련 권한', '커뮤니티 관련 권한', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS001', '시스템 관리 최상위 롤', '시스템 관리 최상위 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS002', '시스템 접근(view) 롤', '시스템 접근(view) 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS003', '시스템 설정 등록/변경 롤', '시스템 설정 등록/변경 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS004', '시스템 파일 등록/변경 롤', '시스템 파일 등록/변경 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD001', '데이터베이스 관련 최상위 롤', '데이터베이스 관련 최상위 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD002', '데이터베이스 스키마 등록/변경 롤', '데이터베이스 스키마 등록/변경 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD003', '데이터 조회 롤', '데이터 조회 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD004', '데이터 등록/변경 롤', '데이터 등록/변경 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU001', '사용자 관련 최상위 롤', '사용자 관련 최상위 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU002', '업무 시스템 사용자 관리 롤', '업무 시스템 사용자 관리 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU003', '기업회원 시스템 사용자 관리 롤', '기업회원 시스템 사용자 관리 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU004', '일반회원 시스템 사용자 관리 롤', '일반회원 시스템 사용자 관리 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU005', '게시판 사용자 관리 롤', '게시판 사용자 관리 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU006', '커뮤니티 사용자 관리 롤', '커뮤니티 사용자 관리 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA001', '어플리케이션 관련 최상위 롤', '어플리케이션 관련 최상위 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA002', '업무 어플리케이션 접근 롤', '업무 어플리케이션 접근 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA003', '업무 어플리케이션 관리 롤', '업무 어플리케이션 관리 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA004', '일반 어플리케이션 접근 롤', '일반 어플리케이션 접근 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA005', '일반 어프리케이션 관리 롤', '일반 어프리케이션 관리 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA006', '어플리케이션 약관 관리 롤', '어플리케이션 약관 관리 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA007', '어플리케이션 저작권 관리 롤', '어플리케이션 저작권 관리 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA008', '통계 및 보고서 접근 롤', '통계 및 보고서 접근 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB001', '게시판 관련 최상위 롤', '게시판 관련 최상위 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB002', '게시판 생성 롤', '게시판 생성 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB003', '게시판 접근 롤', '게시판 접근 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB004', '게시판 글쓰기 롤', '게시판 글쓰기 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB005', '게시판 글 수정/삭제 롤', '게시판 글 수정/삭제 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC001', '커뮤니티 관련 최상위 롤', '커뮤니티 관련 최상위 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC002', '커뮤니티 생성 롤', '커뮤니티 생성 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC003', '커뮤니티 접근 롤', '커뮤니티 접근 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC004', '커뮤니티 글쓰기 롤', '커뮤니티 글쓰기 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC005', '커뮤니티 글 수정/삭제 롤', '커뮤니티 글 수정/삭제 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC006', '파일 업로드 롤', '파일 업로드 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR01', '일반 회원 유형', '일반 회원 유형', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR02', '기업 회원 유형', '기업 회원 유형', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR03', '업무 담당자(사용자) 유형', '업무 담당자(사용자) 유형', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR99', '사용자 유형 최상위 롤', '사용자 유형 최상위 롤', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'A', '회원 가입 신청 상태', '회원 가입 신청 상태', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'P', '회원 가입 승인 상태', '회원 가입 승인 상태', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'D', '회원 가입 삭제 상태', '회원 가입 삭제 상태', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM014', 'M', '남자', '남자', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM014', 'F', '여자', '여자', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM015', 'ATH01', '주민등록번호 인증', '주민등록번호 인증', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM015', 'ATH02', 'GPIN 인증', 'GPIN 인증', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR01', '프로그램 변경 요청 신청', '프로그램 변경 요청 신청', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR02', '프로그램 변경 요청 수락', '프로그램 변경 요청 수락', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR03', '프로그램 변경 진행', '프로그램 변경 진행', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR04', '프로그램 변경 완료', '프로그램 변경 완료', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR05', '프로그램 변경 이관', '프로그램 변경 이관', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '01', '법정휴일', '법정휴일', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '02', '법정공휴일', '법정공휴일', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '03', '임시공휴일', '임시공휴일', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM018', '1', '객관식', '객관식', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM018', '2', '주관식', '주관식', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'A', '높음', '높음', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'B', '보통', '보통', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'C', '낮음', '낮음', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM020', '1', '부서일정관리', '부서일정관리', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM020', '2', '일정관리', '일정관리', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM021', '1', '기능설명', '기능설명', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM021', '2', '절차설명', '절차설명', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P01', '가장 기억에 남는 장소는?', '가장 기억에 남는 장소는?', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P02', '나의 좌우명은?', '나의 좌우명은?', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P03', '나의 보물 제1호는?', '나의 보물 제1호는?', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P04', '가장 기억에 남는 선생님 성함은?', '가장 기억에 남는 선생님 성함은?', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P05', '다른 사람은 모르는 나만의 신체비밀은?', '다른 사람은 모르는 나만의 신체비밀은?', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P06', '오래도록 기억하고 싶은 날짜는?', '오래도록 기억하고 싶은 날짜는?', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P07', '받았던 선물 중 기억에 남는 독특한 선물은?', '받았던 선물 중 기억에 남는 독특한 선물은?', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P08', '가장 생각나는 친구 이름은?', '가장 생각나는 친구 이름은?', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P09', '인상 깊게 읽은 책 이름은?', '인상 깊게 읽은 책 이름은?', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P10', '내가 존경하는 인물은?', '내가 존경하는 인물은?', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P11', '나의 노래방 애창곡은?', '나의 노래방 애창곡은?', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P12', '가장 감명깊게 본 영화는?', '가장 감명깊게 본 영화는?', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P13', '좋아하는 스포츠팀 이름은?', '좋아하는 스포츠팀 이름은?', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '01', '경제', '경제', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '02', '전산', '전산', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '03', '행정', '행정', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'R', '요청', '요청', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'F', '실패', '실패', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'C', '완료', '완료', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000001', '공공기관', '공공기관', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000002', '금융기관', '금융기관', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000003', '교육기관', '교육기관', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000004', '의료기관', '의료기관', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000001', '대기업', '대기업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000002', '중소기업', '중소기업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000003', '다국적기업', '다국적기업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'A', '축산업', '축산업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'B', '어업', '어업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'C', '광업', '광업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'D', '제조업', '제조업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'E', '전기,가스및수도사업', '전기,가스및수도사업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'F', '건설업', '건설업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'G', '도소매 및 소비자용품수리업', '도소매 및 소비자용품수리업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'H', '숙박및음식점', '숙박및음식점', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'I', '운수창고및통신업', '운수창고및통신업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'J', '금융및보험업', '금융및보험업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'K', '부동산,임대및사업서비스업', '부동산,임대및사업서비스업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'M', '교육서비스업', '교육서비스업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'N', '보건업', '보건업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'O', '기타공공,사회및개인서비스업', '기타공공,사회및개인서비스업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'P', '가사서비스업', '가사서비스업', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '1', '접수대기', '접수대기', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '2', '접수', '접수', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '3', '완료', '완료', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'method', 'METHOD', 'METHOD', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'pointcut', 'POINTCUT', 'POINTCUT', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'url', 'URL', 'URL', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '1', '회의', '회의', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '2', '세미나', '세미나', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '3', '강의', '강의', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '4', '교육', '교육', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '5', '기타', '기타', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '6', '휴일', '휴일', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '1', '당일', '당일', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '2', '반복', '반복', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '3', '연속', '연속', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '4', '요일반복', '요일반복', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC01', '회원가입', '회원가입', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC02', '사용자등록', '사용자등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC03', '회원탈퇴', '회원탈퇴', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC04', '사용자삭제', '사용자삭제', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC05', '커뮤니티등록', '커뮤니티등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC06', '동호회등록', '동호회등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC07', '커뮤니티폐쇄', '커뮤니티폐쇄', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC08', '동호회폐쇄', '동호회폐쇄', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC09', '게시판등록', '게시판등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC10', '게시판폐쇄', '게시판폐쇄', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'C', '생성', '생성', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'R', '조회', '조회', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'U', '수정', '수정', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'D', '삭제', '삭제', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '1', '학생', '학생', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '2', '대학생', '대학생', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '3', '군인', '군인', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '4', '교사', '교사', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '5', '기타', '기타', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '1', '행사', '행사', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '2', '이벤트', '이벤트', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '3', '캠페인', '캠페인', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '01', '작성', '작성', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '02', '상신', '상신', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '03', '반려', '반려', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '04', '결재완료', '결재완료', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM038', 'N', 'N', '아니오', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM038', 'Y', 'Y', '예', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '001', '사회', '사회', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '002', '정치', '정치', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '003', '경제', '경제', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '004', '문화', '문화', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '005', '인문', '인문', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '006', '공학', '공학', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '007', '기타', '기타', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '01', '휴가계획서', '휴가계획서', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '02', '출장보고서', '출장보고서', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '03', '교육보고서', '교육보고서', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '04', '판품요청서', '판품요청서', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '05', '지원요청서', '지원요청서', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '001', '절차설명', '절차설명', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '002', '기능설명', '기능설명', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '003', '기타설명', '기타설명', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y', '연도별', '연도별', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y-%m', '월별', '월별', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y-%m-%d', '일별', '일별', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '01', '생성', '생성', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '02', '변경', '변경', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '03', '말소', '말소', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '00', '수신처리', '수신처리', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '01', '처리완료', '처리완료', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '10', '기등록', '기등록', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '11', '생성오류', '생성오류', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '12', '변경오류', '변경오류', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '13', '말소오류', '말소오류', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM046', '01', '정상', '정상', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM046', '02', '비정상', '비정상', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '01', '매일', '매일', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '02', '매주', '매주', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '03', '매월', '매월', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '04', '매년', '매년', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '05', '한번만', '한번만', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '01', 'Oracle', 'Oracle', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '02', 'Mysql', 'Mysql', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '03', 'Tibero', 'Tibero', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '04', 'Altibase', 'Altibase', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM049', '01', 'Tar', 'Tar', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM049', '02', 'ZIP', 'ZIP', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM050', '1', '수신', '수신', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM050', '2', '참조', '참조', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '01', '신청중', '신청중', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '02', '승인', '승인', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '03', '반려', '반려', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM052', '01', '양력', '양력', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM052', '02', '음력', '음력', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '01', '교육', '교육', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '02', '세미나', '세미나', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '03', '홍보', '홍보', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '04', '단합', '단합', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '05', '간담회', '간담회', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '99', '기타', '기타', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '01', '결혼', '결혼', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '02', '출생', '출생', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '03', '회갑', '회갑', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '04', '사망', '사망', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '05', '출산', '출산', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '99', '기타', '기타', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '01', '우수사원', '우수사원', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '02', '우수팀', '우수팀', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '99', '기타', '기타', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '01', '연차휴가', '연차휴가', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '02', '반차휴가', '반차휴가', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '03', '무급휴가', '무급휴가', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '04', '유급휴가', '유급휴가', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '05', '대체휴가', '대체휴가', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '99', '기타', '기타', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '1', '회의', '회의', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '2', '방문', '방문', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '3', '세미나', '세미나', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '4', '기타', '기타', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '1', '반복없음', '당일', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '2', '매일', '매일', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '3', '매주', '매주', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '4', '매월', '매월', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '1', '높음', '높음', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '2', '보통', '보통', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '3', '낮음', '낮음', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM060', '1', '주간보고', '주간보고', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM060', '2', '월간보고', '월간보고', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '1', '재실', '재실', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '2', '자리비움', '자리비움', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '3', '회의중', '회의중', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '4', '출장중', '출장중', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '5', '휴가중', '휴가중', 'Y', SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '100', 'Continue ', 'Continue ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '101', 'Switching Protocols ', 'Switching Protocols ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '200', 'OK ', 'OK ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '201', 'Created ', 'Created ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '202', 'Accepted ', 'Accepted ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '203', 'Non-Authoritative Information ', 'Non-Authoritative Information ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '204', 'No Content ', 'No Content ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '205', 'Reset Content ', 'Reset Content ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '206', 'Partial Content ', 'Partial Content ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '300', 'Multiple Choices ', 'Multiple Choices ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '301', 'Moved Permanently ', 'Moved Permanently ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '302', 'Found ', 'Found ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '303', 'See Other ', 'See Other ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '304', 'Not Modified ', 'Not Modified ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '305', 'Use Proxy ', 'Use Proxy ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '307', 'Temporary Redirect ', 'Temporary Redirect ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '400', 'Bad Request ', 'Bad Request ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '401', 'Unauthorized ', 'Unauthorized ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '403', 'Forbidden ', 'Forbidden ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '404', 'Not Found ', 'Not Found ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '405', 'Method Not Allowed ', 'Method Not Allowed ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '406', 'Not Acceptable ', 'Not Acceptable ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '407', 'Proxy Authentication Required ', 'Proxy Authentication Required ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '408', 'Request Timeout ', 'Request Timeout ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '409', 'Conflict ', 'Conflict ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '410', 'Gone ', 'Gone ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '411', 'Length Required ', 'Length Required ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '412', 'Precondition Failed ', 'Precondition Failed ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '413', 'Request Entity Too Large ', 'Request Entity Too Large ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '414', 'Request URI Too Long ', 'Request URI Too Long ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '415', 'Unsupported Media Type ', 'Unsupported Media Type ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '416', 'Requested Range Not Satisfiable ', 'Requested Range Not Satisfiable ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '417', 'Expectation Failed ', 'Expectation Failed ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '500', 'Internal Server Error ', 'Internal Server Error ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '501', 'Not Implemented ', 'Not Implemented ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '502', 'Bad Gateway ', 'Bad Gateway ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '503', 'Service Unavailable ', 'Service Unavailable ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '504', 'Gateway Timeout ', 'Gateway Timeout ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '505', 'HTTP Version Not Supported ', 'HTTP Version Not Supported ', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '100', 'Runnable', 'Runnable', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '200', 'Sleeping', 'Sleeping', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '300', 'Swapped', 'Swapped', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '400', 'Zombie', 'Zombie', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '500', 'Stopped', 'Stopped', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '01', '웹 서버', '웹 서버', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '02', 'WAS', 'WAS', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '03', 'DB 서버', 'DB 서버', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '04', 'Mail 서버', 'Mail 서버', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '05', 'DNS 서버', 'DNS 서버', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '99', '기타 서버', '기타 서버', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '01', '네트워크 장애', '네트워크 장애', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '02', '하드웨어 장애', '하드웨어 장애', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '03', '어플리케이션 장애', '어플리케이션 장애', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '04', '서비스 장애', '서비스 장애', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '05', '모니터링 장애', '모니터링 장애', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '06', '정전', '정전', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '07', '화재', '화재', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '08', '홍수', '홍수', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '99', '기타 장애', '기타 장애', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM066', '01', 'CPU', 'CPU', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM066', '02', '메모리', '메모리', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '01', '서버', '서버', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '02', '라우터', '라우터', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '03', '스위치', '스위치', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '04', 'PC', 'PC', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '05', '프린터', '프린터', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '99', '기타', '기타', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'A', '접수', '접수', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'C', '완료', '완료', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'R', '요청', '요청', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '01', '생일', '생일', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '02', '기념', '기념', 'N',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '03', '결혼', '결혼', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '04', '탄생', '탄생', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '05', '축하', '축하', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '06', '출장', '출장', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '07', '퇴원', '퇴원', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '99', '기타', '기타', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '01', '본관1층', '본관1층', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '02', '본관2층', '본관2층', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '03', '본관3층', '본관3층', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '04', '본관4층', '본관4층', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '05', '본관5층', '본관5층', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '06', '별관1층', '별관1층', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '07', '별관2층', '별관2층', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '99', '기타', '기타', 'Y',SYSDATETIME, 'SYSTEM', SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '01', '전기시설', '전기시설', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '02', '소등상태', '소등상태', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '03', '방화요소', '방화요소', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '04', '소방시설', '소방시설', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '05', '비상 KEY', '비상 KEY', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '06', '시건장치', '시건장치', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '99', '기타', '기타', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '01', '정상', '정상', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '02', '오류', '오류', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '03', '중지', '중지', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '09', '기타', '기타', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '01', '본인', '본인', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '02', '배우자', '배우자', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '03', '자녀', '자녀', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '04', '부친', '부친', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '05', '모친', '모친', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '06', '배우자부친', '배우자부친', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '07', '배우자모친', '배우자모친', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '08', '조부', '조부', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '09', '조모', '조모', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '10', '형제자매(본인)', '형제자매(본인)', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '11', '외조부', '외조부', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '12', '외조모', '외조모', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '13', '백숙부', '백숙부', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '14', '백숙모', '백숙모', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '15', '형제자매(배우자)', '형제자매(배우자)', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '99', '기타', '기타', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '1', '일요일', '일요일', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '2', '월요일', '월요일', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '3', '화요일', '화요일', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '4', '수요일', '수요일', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '5', '목요일', '목요일', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '6', '금요일', '금요일', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '7', '토요일', '토요일', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '001', '경조신청', '경조신청', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '002', '포상신청', '포상신청', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '003', '휴가신청', '휴가신청', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '004', '행사신청', '행사신청', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '01', '정상', '정상', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '02', '비정상', '비정상', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '03', '수행중', '수행중', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST01', '통합게시판', '통합게시판', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST02', '블로그형게시판', '블로그형게시판', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST03', '방명록', '방명록', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM102', '1', '표준어', '표준어', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM102', '2', '동의어', '동의어', 'Y',SYSDATETIME, 'SYSTEM',SYSDATETIME, 'SYSTEM'); + +-- 그룹 +INSERT INTO COMTNAUTHORGROUPINFO ( GROUP_ID, GROUP_NM, GROUP_CREAT_DE,GROUP_DC ) VALUES ( 'GROUP_00000000000000', '0번 그룹입니다', SYSDATETIME, '0번 그룹입니다'); + +-- 조직 COMTNORGNZTINFO +INSERT INTO COMTNORGNZTINFO ( ORGNZT_ID, ORGNZT_NM, ORGNZT_DC ) VALUES ( 'ORGNZT_0000000000000', '기본조직', '기본조직'); + +-- cmm 패키지 끝 ---------------------------------------------------------------------------------------------------------------------------------- + + +-- 업무사용자정보 +INSERT INTO COMTNEMPLYRINFO ( EMPLYR_ID, ORGNZT_ID, USER_NM, PASSWORD, EMPL_NO, IHIDNUM,SEXDSTN_CODE, BRTHDY, FXNUM, HOUSE_ADRES, PASSWORD_HINT, PASSWORD_CNSR, HOUSE_END_TELNO, AREA_NO,DETAIL_ADRES, ZIP, OFFM_TELNO, MBTLNUM, EMAIL_ADRES, OFCPS_NM, HOUSE_MIDDLE_TELNO, GROUP_ID,PSTINST_CODE, EMPLYR_STTUS_CODE, ESNTL_ID, CRTFC_DN_VALUE, SBSCRB_DE ) VALUES ( 'TEST1', 'ORGNZT_0000000000000', '테스트1', 'raHLBnHFcunwNzcDcfad4PhD11hHgXSUr7fc1Jk9uoQ=', '3', '', 'F', '3 ', '123', '서울 중구 충무로1가', 'P02', '22', '3', '3', '1', '100011', '1', '2', 'a3@aa.aa', '3', '3', 'GROUP_00000000000000', '00000004', 'P', 'USRCNFRM_00000000000', '', SYSDATETIME); +INSERT INTO COMTNEMPLYRINFO ( EMPLYR_ID, ORGNZT_ID, USER_NM, PASSWORD, EMPL_NO, IHIDNUM,SEXDSTN_CODE, BRTHDY, FXNUM, HOUSE_ADRES, PASSWORD_HINT, PASSWORD_CNSR, HOUSE_END_TELNO, AREA_NO,DETAIL_ADRES, ZIP, OFFM_TELNO, MBTLNUM, EMAIL_ADRES, OFCPS_NM, HOUSE_MIDDLE_TELNO, GROUP_ID,PSTINST_CODE, EMPLYR_STTUS_CODE, ESNTL_ID, CRTFC_DN_VALUE, SBSCRB_DE ) VALUES ( 'webmaster', 'ORGNZT_0000000000000', '웹마스터', '78gXjfDDMzepOP4QTiFMRFOT/msFgKkHIgGOU95PT94=', '3', '', 'F', '3 ', '123', '서울 중구 충무로1가', 'P02', '22', '3', '3', '1', '100011', '1', '2', 'a3@aa.aa', '3', '3', 'GROUP_00000000000000', '00000004', 'P', 'USRCNFRM_99999999999', '', SYSDATETIME); + +-- 일반사용자정보 +INSERT INTO COMTNGNRLMBER (MBER_ID,PASSWORD,PASSWORD_HINT,PASSWORD_CNSR,IHIDNUM,MBER_NM,ZIP,ADRES,AREA_NO,MBER_STTUS,DETAIL_ADRES,END_TELNO,MBTLNUM,GROUP_ID,MBER_FXNUM,MBER_EMAIL_ADRES,MIDDLE_TELNO,SBSCRB_DE,SEXDSTN_CODE,ESNTL_ID) VALUES ('USER','6TAJYwhKCgkgzPXDb83ZUiHi2/TKHhD7t5Ba6RN2qoo=','P01','전자정부표준프레임워크센터',null,'일반회원','100775','서울 중구 무교동 한국정보화진흥원','02','P','전자정부표준프레임워크센터','2059','1566-2059','GROUP_00000000000000','1566-2059','egovframesupport@gmail.com','1566',SYSDATETIME,'F','USRCNFRM_00000000001'); + +-- 기업사용자정보 +INSERT INTO COMTNENTRPRSMBER (ENTRPRS_MBER_ID,ENTRPRS_SE_CODE,BIZRNO,JURIRNO,CMPNY_NM,CXFC,ZIP,ADRES,ENTRPRS_MIDDLE_TELNO,FXNUM,INDUTY_CODE,APPLCNT_NM,APPLCNT_IHIDNUM,SBSCRB_DE,ENTRPRS_MBER_STTUS,ENTRPRS_MBER_PASSWORD,ENTRPRS_MBER_PASSWORD_HINT,ENTRPRS_MBER_PASSWORD_CNSR,GROUP_ID,DETAIL_ADRES,ENTRPRS_END_TELNO,AREA_NO,APPLCNT_EMAIL_ADRES,ESNTL_ID) VALUES ('ENTERPRISE','C0000001','1008360001','1000310000011','NIA','이가브','100775','서울특별시 중구 청계천로 14 - 0 한국정보사회진흥원','1566','1566-2059','O','관리자',null,SYSDATETIME,'P','FTgozmnPIalj56r5rar4diO2JtwPG2J4rYmIqMoo0bU=','P01','전자정부표준프레임워크센터','GROUP_00000000000000','표준프레임워크센터','2059','02','egovframesupport@gmail.com','USRCNFRM_00000000002'); + +-- 약관정보 +INSERT INTO COMTNSTPLATINFO ( USE_STPLAT_ID, INFO_PROVD_AGRE_CN, USE_STPLAT_CN, FRST_REGIST_PNTTM,FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID, USE_STPLAT_NM ) VALUES ( 'STPLAT_0000000000001', '제1조(목적 등)-개인회원', '개인정보의 수집 및 이용목적-개인회원', SYSDATETIME, 'USRCNFRM_00000000000', SYSDATETIME, 'USRCNFRM_00000000000', '인터넷이용약관'); +INSERT INTO COMTNSTPLATINFO ( USE_STPLAT_ID, INFO_PROVD_AGRE_CN, USE_STPLAT_CN, FRST_REGIST_PNTTM,FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID, USE_STPLAT_NM ) VALUES ( 'STPLAT_0000000000002', '제1조(목적 등)-기업회원', '개인정보의 수집 및 이용목적-기업회원', SYSDATETIME, 'USRCNFRM_00000000000', SYSDATETIME, 'USRCNFRM_00000000000', '인터넷이용약관'); + +-- 권한정보 +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_ANONYMOUS' ,'익명 사용자' , '' , SYSDATETIME); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_ANONYMOUSLY' ,'스프링시큐리티 내부사용(롤부여 금지)' , '' , SYSDATETIME); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_REMEMBERED' ,'스프링시큐리티 내부사용(롤부여 금지)' , '' , SYSDATETIME); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_FULLY' ,'스프링시큐리티 내부사용(롤부여 금지)' , '' , SYSDATETIME); +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_USER' ,'일반 사용자' , '' , SYSDATETIME); +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_ADMIN' ,'관리자' , '' , SYSDATETIME); + +-- 롤 계층구조 +INSERT INTO COMTNROLES_HIERARCHY VALUES ('ROLE_ANONYMOUS' ,'IS_AUTHENTICATED_ANONYMOUSLY'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_ANONYMOUSLY' ,'IS_AUTHENTICATED_REMEMBERED'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_REMEMBERED' ,'IS_AUTHENTICATED_FULLY'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_FULLY' ,'ROLE_USER'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('ROLE_USER' ,'ROLE_ADMIN'); + +-- 사용자보안설정 +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000000', 'USR03', 'ROLE_ADMIN'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000001', 'USR01', 'ROLE_USER'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000002', 'USR02', 'ROLE_USER'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_99999999999', 'USR03', 'ROLE_ADMIN'); + +-- 롤 등록 +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000001', '로그인롤', '\A/uat/uia/.*\.do.*\Z', '로그인허용을 위한 롤', 'url', '1', SYSDATETIME); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000002', '좌측메뉴', '/EgovLeft.do', '좌측 메뉴에 대한 접근 제한 롤', 'url', '2', SYSDATETIME); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000003', '모든접근제한', '\A/.*\.do.*\Z', '모든자원에 대한 접근 제한 롤', 'url', '3', SYSDATETIME); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000004', '회원관리', '\A/uss/umt/.*\.do.*\Z', '회원관리에 대한 접근 제한 롤', 'url', '1', SYSDATETIME); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000005', '실명확인', '\A/sec/rnc/.*\.do.*\Z', '실명확인에 대한 접근 제한 롤', 'url', '1', SYSDATETIME); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000006', '우편번호', '\A/sym/ccm/zip/.*\.do.*\Z', '우편번호관리에 대한 접근 제한 롤', 'url', '1', SYSDATETIME); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000007', '로그인이미지', '\A/uss/ion/lsi/.*\.do.*\Z', '로그인이미지관리에 대한 접근 제한 롤', 'url', '1', SYSDATETIME); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000008', '파일다운로드', '\A/sym/ccm/zip/.*\.do.*\Z', '파일다운로드에 대한 접근 제한 롤', 'url', '1', SYSDATETIME); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000009', '상단메뉴', '/EgovTop.do', '상단메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATETIME); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000010', '하단메뉴', '/EgovBottom.do', '하단메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATETIME); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000011', '왼쪽메뉴', '/EgovLeft.do', '왼쪽메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATETIME); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000012', 'Validator모듈','/validator.do','Validator에 대한 접근 제한 롤', 'url', '1', SYSDATETIME); + +-- 권한 롤 매핑 +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000001', SYSDATETIME); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000002', SYSDATETIME); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000004', SYSDATETIME); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000005', SYSDATETIME); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000006', SYSDATETIME); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000007', SYSDATETIME); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000008', SYSDATETIME); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000009', SYSDATETIME); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000010', SYSDATETIME); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000011', SYSDATETIME); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000012', SYSDATETIME); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_USER', 'web-000003', SYSDATETIME); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ADMIN', 'web-000003', SYSDATETIME); + +-- 프로그램목록 +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectLoginLogList', '/sym/log/clg/', '접속로그관리', '접속로그관리', '/sym/log/clg/SelectLoginLogList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuListSelect', '/sym/mnu/mpm/', '메뉴리스트관리', '메뉴리스트관리', '/sym/mnu/mpm/EgovMenuListSelect.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuManageSelect', '/sym/mnu/mpm/', '메뉴관리리스트', '메뉴관리리스트', '/sym/mnu/mpm/EgovMenuManageSelect.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuCreatManageSelect', '/sym/mnu/mcm/', '메뉴생성관리', '메뉴생성관리', '/sym/mnu/mcm/EgovMenuCreatManageSelect.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovSiteMapng', '/sym/mnu/stm/', '사이트맵', '사이트맵', '/sym/mnu/stm/EgovSiteMapng.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBkmkMenuManageList', '/sym/mnu/bmm/', '바로가기메뉴관리', '바로가기메뉴관리', '/sym/mnu/bmm/selectBkmkMenuManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramListManageSelect', '/sym/prm/', '프로그램관리', '프로그램관리', '/sym/prm/EgovProgramListManageSelect.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChangeRequstSelect', '/sym/prm/', '프로그램변경요청관리', '프로그램변경요청관리', '/sym/prm/EgovProgramChangeRequstSelect.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChangeRequstProcessListSelect', '/sym/prm/', '프로그램변경요청처리', '프로그램변경요청처리', '/sym/prm/EgovProgramChangeRequstProcessListSelect.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChgHstListSelect', '/sym/prm/', '프로그램변경이력', '프로그램변경이력', '/sym/prm/EgovProgramChgHstListSelect.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchOpertList', '/sym/bat/', '배치작업관리', '배치작업관리', '/sym/bat/getBatchOpertList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchResultList', '/sym/bat/', '배치결과관리', '배치결과관리', '/sym/bat/getBatchResultList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchSchdulList', '/sym/bat/', '스케줄처리', '스케줄처리', '/sym/bat/getBatchSchdulList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBackupOpertList', '/sym/sym/bak/', '백업관리', '백업관리', '/sym/sym/bak/getBackupOpertList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBackupResultList', '/sym/sym/bak/', '백업결과관리', '백업결과관리', '/sym/sym/bak/getBackupResultList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNtwrkList', '/sym/sym/nwk/', '네트워크관리', '네트워크관리', '/sym/sym/nwk/selectNtwrkList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectServerEqpmnList', '/sym/sym/srv/', '서버정보관리', '서버정보관리', '/sym/sym/srv/selectServerEqpmnList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectServerList', '/sym/sym/srv/', '서버(S/W)목록', '서버(S/W)목록', '/sym/sym/srv/selectServerList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTroblReqstList', '/sym/tbm/tbr/', '장애신청관리', '장애신청관리', '/sym/tbm/tbr/selectTroblReqstList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTroblProcessList', '/sym/tbm/tbp/', '장애처리결과관리', '장애처리결과관리', '/sym/tbm/tbp/selectTroblProcessList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovVcatnManageList', '/uss/ion/vct/', '휴가관리', '휴가관리', '/uss/ion/vct/EgovVcatnManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovVcatnConfmList', '/uss/ion/vct/', '휴가승인관리', '휴가승인관리', '/uss/ion/vct/EgovVcatnConfmList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovBndtManageList', '/uss/ion/bnt/', '당직관리', '당직관리', '/uss/ion/bnt/EgovBndtManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovBndtCeckManageList', '/uss/ion/bnt/', '당직체크관리', '당직체크관리', '/uss/ion/bnt/EgovBndtCeckManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectRwardManageList', '/uss/ion/rwd/', '포상관리', '포상관리', '/uss/ion/rwd/selectRwardManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRwardConfmList', '/uss/ion/rwd/', '포상승인관리', '포상승인관리', '/uss/ion/rwd/EgovRwardConfmList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAnnvrsryManageList', '/uss/ion/ans/', '기념일관리', '기념일관리', '/uss/ion/ans/selectAnnvrsryManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAnnvrsryMainList', '/uss/ion/ans/', '기념일목록(확인용)', '기념일목록(확인용)', '/uss/ion/ans/selectAnnvrsryMainList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventReqstManageList', '/uss/ion/evt/', '행사신청관리', '행사신청관리', '/uss/ion/evt/EgovEventReqstManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventRcrptManageList', '/uss/ion/evt/', '행사접수관리', '행사접수관리', '/uss/ion/evt/EgovEventRcrptManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectEventRceptConfmList', '/uss/ion/evt/', '행사접수승인관리', '행사접수승인관리', '/uss/ion/evt/selectEventRceptConfmList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnClCodeList', '/sym/ccm/ccc/', '공통분류코드', '공통분류코드', '/sym/ccm/ccc/EgovCcmCmmnClCodeList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnDetailCodeList', '/sym/ccm/cde/', '공통상세코드', '공통상세코드', '/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnCodeList', '/sym/ccm/cca/', '공통코드', '공통코드', '/sym/ccm/cca/EgovCcmCmmnCodeList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmZipList', '/sym/ccm/zip/', '우편번호관리', '우편번호관리', '/sym/ccm/zip/EgovCcmZipList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmAdministCodeList', '/sym/ccm/adc/', '행정코드관리', '행정코드관리', '/sym/ccm/adc/EgovCcmAdministCodeList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getInsttCodeRecptnList', '/sym/ccm/icr/', '기관코드수신', '기관코드수신', '/sym/ccm/icr/getInsttCodeRecptnList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectSysLogList', '/sym/log/lgm/', '로그관리', '로그관리', '/sym/log/lgm/SelectSysLogList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectUserLogList', '/sym/log/ulg/', '사용로그관리', '사용로그관리', '/sym/log/ulg/SelectUserLogList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectTrsmrcvLogList', '/sym/log/tlg/', '송/수신로그관리', '송/수신로그관리', '/sym/log/tlg/SelectTrsmrcvLogList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectSysHistoryList', '/sym/log/slg/', '시스템이력관리', '시스템이력관리', '/sym/log/slg/SelectSysHistoryList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectWebLogList', '/sym/log/wlg/', '웹로그관리', '웹로그관리', '/sym/log/wlg/SelectWebLogList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listPopup', '/uss/ion/pwm/', '팝업창관리', '팝업창관리', '/uss/ion/pwm/listPopup.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNotificationList', '/uss/ion/noi/', '정보알림이', '정보알림이', '/uss/ion/noi/selectNotificationList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBannerList', '/uss/ion/bnr/', '배너관리', '배너관리', '/uss/ion/bnr/selectBannerList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBannerMainList', '/uss/ion/bnr/', 'MYPAGE배너관리', 'MYPAGE배너관리', '/uss/ion/bnr/selectBannerMainList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLoginScrinImageList', '/uss/ion/lsi/', '로그인화면이미지관리', '로그인화면이미지관리', '/uss/ion/lsi/selectLoginScrinImageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRecentSrchwrd', '/uss/ion/rsm/', '최근검색어 목록', '최근검색어 목록', '/uss/ion/rsm/listRecentSrchwrd.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMainImageList', '/uss/ion/msi/', '메인이미지관리', '메인이미지관리', '/uss/ion/msi/selectMainImageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getMainImageResult', '/uss/ion/msi/', '메인이미지 반영결과보기', '메인이미지 반영결과보기', '/uss/ion/msi/getMainImageResult.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listUnityLink', '/uss/ion/ulm/', '통합링크관리', '통합링크관리', '/uss/ion/ulm/listUnityLink.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectUserAbsnceListView', '/uss/ion/uas/', '사용자부재관리', '사용자부재관리', '/uss/ion/uas/selectUserAbsnceListView.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectIntnetSvcGuidanceList', '/uss/ion/isg/', '인터넷서비스안내및관리', '인터넷서비스안내및관리', '/uss/ion/isg/selectIntnetSvcGuidanceList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listWikiBookmark', '/uss/ion/wik/bmk/', 'Wiki기능', 'Wiki기능', '/uss/ion/wik/bmk/listWikiBookmark.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRssTagManage', '/uss/ion/rss/', 'RSS태그관리', 'RSS태그관리', '/uss/ion/rss/listRssTagManage.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRssTagService', '/uss/ion/rsn/', 'RSS태그서비스', 'RSS태그서비스', '/uss/ion/rsn/listRssTagService.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTwitterMain', '/uss/ion/tir/', 'Twitter연동', 'Twitter연동', '/uss/ion/tir/selectTwitterMain.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('registEgovNoteManage', '/uss/ion/ntm/', '쪽지관리', '쪽지관리', '/uss/ion/ntm/registEgovNoteManage.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listNoteRecptn', '/uss/ion/ntr/', '받은쪽지함관리', '받은쪽지함관리', '/uss/ion/ntr/listNoteRecptn.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listNoteTrnsmit', '/uss/ion/nts/', '보낸쪽지함관리', '보낸쪽지함관리', '/uss/ion/nts/listNoteTrnsmit.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMtgPlaceManageList', '/uss/ion/mtg/', '회의실관리', '회의실관리', '/uss/ion/mtg/selectMtgPlaceManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMtgPlaceResveManageList', '/uss/ion/mtg/', '회의실예약관리', '회의실예약관리', '/uss/ion/mtg/selectMtgPlaceResveManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectCtsnnManageList', '/uss/ion/ctn/', '직원경조사관리', '직원경조사관리', '/uss/ion/ctn/selectCtsnnManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCtsnnConfmList', '/uss/ion/ctn/', '직원경조사승인관리', '직원경조사승인관리', '/uss/ion/ctn/EgovCtsnnConfmList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('QnaAnswerListInqire', '/uss/olh/qnm/', 'Q&amp;A답변관리', 'Q&amp;A답변관리', '/uss/olh/qnm/QnaAnswerListInqire.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listAdministrationWord', '/uss/olh/awm/', '행정전문용어사전', '행정전문용어사전', '/uss/olh/awm/listAdministrationWord.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listAdministrationWordManage', '/uss/olh/awm/', '행정전문용어사전관리', '행정전문용어사전관리', '/uss/olh/awm/listAdministrationWordManage.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlineManual', '/uss/olh/omm/', '온라인매뉴얼', '온라인매뉴얼', '/uss/olh/omm/selectOnlineManualList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('OnlineManualUserList', '/uss/olh/omn/', '사용자온라인매뉴얼', '사용자온라인매뉴얼', '/uss/olh/omn/selectOnlineManualList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CnsltListInqire', '/uss/olp/cns/', '상담관리', '상담관리', '/uss/olp/cns/CnsltListInqire.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CnsltAnswerListInqire', '/uss/olp/cnm/', '상담답변관리', '상담답변관리', '/uss/olp/cnm/CnsltAnswerListInqire.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrManageList', '/uss/olp/qmc/', '설문관리', '설문관리', '/uss/olp/qmc/EgovQustnrManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrRespondInfoManageList', '/uss/olp/qnn/', '설문조사', '설문조사', '/uss/olp/qnn/EgovQustnrRespondInfoManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrTmplatManageList', '/uss/olp/qtm/', '설문템플릿관리', '설문템플릿관리', '/uss/olp/qtm/EgovQustnrTmplatManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrRespondManageList', '/uss/olp/qrm/', '응답자관리', '응답자관리', '/uss/olp/qrm/EgovQustnrRespondManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrQestnManageList', '/uss/olp/qqm/', '질문관리', '질문관리', '/uss/olp/qqm/EgovQustnrQestnManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrItemManageList', '/uss/olp/qim/', '항목관리', '항목관리', '/uss/olp/qim/EgovQustnrItemManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMeetingManageList', '/uss/olp/mgt/', '회의관리', '회의관리', '/uss/olp/mgt/EgovMeetingManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlinePollManage', '/uss/olp/opm/', '온라인poll관리', '온라인poll관리', '/uss/olp/opm/listOnlinePollManage.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlinePollPartcptn', '/uss/olp/opp/', '온라인poll참여', '온라인poll참여', '/uss/olp/opp/listOnlinePollPartcptn.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('NewsInfoListInqire', '/uss/ion/nws/', '뉴스관리', '뉴스관리', '/uss/ion/nws/NewsInfoListInqire.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SiteListInqire', '/uss/ion/sit/', '사이트관리', '사이트관리', '/uss/ion/sit/SiteListInqire.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('RecomendSiteListInqire', '/uss/ion/rec/', '추천사이트관리', '추천사이트관리', '/uss/ion/rec/RecomendSiteListInqire.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventCmpgnList', '/uss/ion/ecc/', '행사/이벤트/캠페인', '행사/이벤트/캠페인', '/uss/ion/ecc/EgovEventCmpgnList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovTnextrlHrInfoList', '/uss/ion/ecc/', '외부인사정보', '외부인사정보', '/uss/ion/ecc/EgovTnextrlHrInfoList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSndngMailList', '/cop/ems/', '발송메일내역', '발송메일내역', '/cop/ems/selectSndngMailList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNcrdInfs', '/cop/ncm/', '명함관리', '명함관리', '/cop/ncm/selectNcrdInfs.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMyNcrdUseInf', '/cop/ncm/', '내명함목록', '내명함목록', '/cop/ncm/selectMyNcrdUseInf.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAdbkList', '/cop/adb/', '주소록관리', '주소록관리', '/cop/adb/selectAdbkList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLeaderSchdulList', '/cop/smt/lsm/usr/', '간부일정관리', '간부일정관리', '/cop/smt/lsm/usr/selectLeaderSchdulList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptJobBxList', '/cop/smt/djm/', '부서업무함관리', '부서업무함관리', '/cop/smt/djm/selectDeptJobBxList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptJobList', '/cop/smt/djm/', '부서업무정보', '부서업무정보', '/cop/smt/djm/selectDeptJobList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectWikMnthngReprtList', '/cop/smt/wmr/', '주간/월간보고관리', '주간/월간보고관리', '/cop/smt/wmr/selectWikMnthngReprtList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMemoTodoList', '/cop/smt/mtm/', '메모할일관리', '메모할일관리', '/cop/smt/mtm/selectMemoTodoList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMemoReprtList', '/cop/smt/mrm/', '메모보고', '메모보고', '/cop/smt/mrm/selectMemoReprtList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEntrprsMberManage', '/uss/umt/', '기업회원관리', '기업회원관리', '/uss/umt/EgovEntrprsMberManage.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovUserManage', '/uss/umt/', '업무사용자관리', '업무사용자관리', '/uss/umt/EgovUserManage.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptManageListView', '/uss/umt/dpt/', '부서관리', '부서관리', '/uss/umt/dpt/selectDeptManageListView.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMberManage', '/uss/umt/', '일반회원관리', '일반회원관리', '/uss/umt/EgovMberManage.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovIndvdlpgeCntntsList', '/uss/mpe/', '마이페이지관리', '마이페이지관리', '/uss/mpe/EgovIndvdlpgeCntntsList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('StplatListInqire', '/uss/sam/stp/', '약관관리', '약관관리', '/uss/sam/stp/StplatListInqire.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CpyrhtPrtcPolicyListInqire', '/uss/sam/cpy/', '저작권보호정책', '저작권보호정책', '/uss/sam/cpy/CpyrhtPrtcPolicyListInqire.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listIndvdlInfoPolicy', '/uss/sam/ipm/', '개인정보보호정책확인', '개인정보보호정책확인', '/uss/sam/ipm/listIndvdlInfoPolicy.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('HpcmListInqire', '/uss/olh/hpc/', '도움말', '도움말', '/uss/olh/hpc/HpcmListInqire.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('WordDicaryListInqire', '/uss/olh/wor/', '용어사전', '용어사전', '/uss/olh/wor/WordDicaryListInqire.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('FaqListInqire', '/uss/olh/faq/', 'FAQ관리', 'FAQ관리', '/uss/olh/faq/FaqListInqire.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('QnaListInqire', '/uss/olh/qna/', 'Q&amp;A관리', 'Q&amp;A관리', '/uss/olh/qna/QnaListInqire.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('dir', 'dir', '디렉토리', '디렉토리', 'dir'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('egovLoginUsr', '/uat/uia/', '로그인', '로그인', '/uat/uia/egovLoginUsr.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLoginPolicyList', '/uat/uap/', '로그인정책관리', '로그인정책관리', '/uat/uap/selectLoginPolicyList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAuthorList', '/sec/ram/', '권한관리', '권한관리', '/sec/ram/EgovAuthorList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAuthorGroupList', '/sec/rgm/', '권한그룹관리', '권한그룹관리', '/sec/rgm/EgovAuthorGroupList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovGroupList', '/sec/gmt/', '그룹관리', '그룹관리', '/sec/gmt/EgovGroupList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRoleList', '/sec/rmt/', '롤관리', '롤관리', '/sec/rmt/EgovRoleList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDeptAuthorList', '/sec/drm/', '부서권한관리', '부서권한관리', '/sec/drm/EgovDeptAuthorList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBbsStats', '/sts/bst/', '게시물통계', '게시물통계', '/sts/bst/selectBbsStats.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectUserStats', '/sts/ust/', '사용자통계', '사용자통계', '/sts/ust/selectUserStats.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectConectStats', '/sts/cst/', '접속통계', '접속통계', '/sts/cst/selectConectStats.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectScrinStats', '/sts/sst/', '화면통계', '화면통계', '/sts/sst/selectScrinStats.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectReprtStatsListView', '/sts/rst/', '보고서통계', '보고서통계', '/sts/rst/selectReprtStatsListView.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDtaUseStatsList', '/sts/dst/', '자료이용현황통계', '자료이용현황통계', '/sts/dst/selectDtaUseStatsList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectBBSMasterInfs', '/cop/bbs/', '게시판속성관리', '게시판속성관리', '/cop/bbs/SelectBBSMasterInfs.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBBSUseInfs', '/cop/com/', '게시판사용정보', '게시판사용정보', '/cop/com/selectBBSUseInfs.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTemplateInfs', '/cop/tpl/', '템플릿관리', '템플릿관리', '/cop/tpl/selectTemplateInfs.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectScrapList', '/cop/scp/', '스크랩 목록', '스크랩 목록', '/cop/scp/selectScrapList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectCmmntyInfs', '/cop/cmy/', '커뮤니티관리', '커뮤니티관리', '/cop/cmy/selectCmmntyInfs.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSmsList', '/cop/sms/', '문자메시지', '문자메시지', '/cop/sms/selectSmsList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDeptSchdulManageList', '/cop/smt/sdm/', '부서일정관리', '부서일정관리', '/cop/smt/sdm/EgovDeptSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovIndvdlSchdulManageList', '/cop/smt/sim/', '일정관리', '일정관리', '/cop/smt/sim/EgovIndvdlSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDiaryManageList', '/cop/smt/dsm/', '일지관리', '일지관리', '/cop/smt/dsm/EgovDiaryManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAllSchdulManageList', '/cop/smt/sam/', '전체일정관리', '전체일정관리', '/cop/smt/sam/EgovAllSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('insertSndngMailView', '/cop/ems/', '메일발송', '메일발송', '/cop/ems/insertSndngMailView.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getSystemCntcList', '/ssi/syi/sim/', '시스템연계관리', '시스템연계관리', '/ssi/syi/sim/getSystemCntcList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcSttusList', '/ssi/syi/ist/', '연계현황관리', '연계현황관리', '/ssi/syi/ist/getCntcSttusList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcMessageList', '/ssi/syi/ims/', '연계메시지관리', '연계메시지관리', '/ssi/syi/ims/getCntcMessageList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcInsttList', '/ssi/syi/iis/', '연계기관관리', '연계기관관리', '/ssi/syi/iis/getCntcInsttList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamPersonalList', '/dam/per/', '개인지식관리', '개인지식관리', '/dam/per/EgovComDamPersonalList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamMapMaterialList', '/dam/map/mat/', '지식맵관리(유형)', '지식맵관리(유형)', '/dam/map/mat/EgovComDamMapMaterialList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamMapTeamList', '/dam/map/tea/', '지식맵관리(조직)', '지식맵관리(조직)', '/dam/map/tea/EgovComDamMapTeamList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamSpecialistList', '/dam/spe/spe/', '지식전문가관리', '지식전문가관리', '/dam/spe/spe/EgovComDamSpecialistList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamManagementList', '/dam/mgm/', '지식정보관리', '지식정보관리', '/dam/mgm/EgovComDamManagementList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamAppraisalList', '/dam/app/', '지식평가관리', '지식평가관리', '/dam/app/EgovComDamAppraisalList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRequestOffer', '/dam/spe/req/', '지식정보제공', '지식정보제공', '/dam/spe/req/listRequestOffer.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRestdeList', '/sym/cal/', '공휴일관리(달력)', '공휴일관리(달력)', '/sym/cal/EgovRestdeList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getTrsmrcvMntrngList', '/utl/sys/trm/', '송수신모니터링', '송수신모니터링', '/utl/sys/trm/getTrsmrcvMntrngList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getDbMntrngList', '/utl/sys/dbm/', 'DB서비스모니터링', 'DB서비스모니터링', '/utl/sys/dbm/getDbMntrngList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComUtlHttpMonList', '/utl/sys/htm/', 'HTTP서비스모니터링', 'HTTP서비스모니터링', '/utl/sys/htm/EgovComUtlHttpMonList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComUtlProcessMonList', '/utl/sys/prm/', '프로세스모니터링', '프로세스모니터링', '/utl/sys/prm/EgovComUtlProcessMonList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNtwrkSvcMntrngList', '/utl/sys/nsm/', '네트워크서비스모니터링', '네트워크서비스모니터링', '/utl/sys/nsm/selectNtwrkSvcMntrngList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectFileSysMntrngList', '/utl/sys/fsm/', '파일시스템모니터링', '파일시스템모니터링', '/utl/sys/fsm/selectFileSysMntrngList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectProxySvcList', '/utl/sys/pxy/', '프록시서비스', '프록시서비스', '/utl/sys/pxy/selectProxySvcList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSynchrnServerList', '/utl/sys/ssy/', '파일동기화(대상서버)', '파일동기화(대상서버)', '/utl/sys/ssy/selectSynchrnServerList.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('loginSessionView', '/utl/sys/rsc/', '로그인세션정보체크', '로그인세션정보체크', '/utl/sys/rsc/loginSessionView.do'); +INSERT INTO COMTNPROGRMLIST (PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMntrngServerList', '/utl/sys/srm/', '서버자원모니터링-대상목록', '서버자원모니터링-대상목록', '/utl/sys/srm/selectMntrngServerList.do'); + +-- 메뉴정보 +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('개인정보보호정책확인', 'listIndvdlInfoPolicy', 5080000, 5000000, 8, '개인정보보호정책확인', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('도움말', 'HpcmListInqire', 5090000, 5000000, 9, '도움말', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('용어사전', 'WordDicaryListInqire', 5100000, 5000000, 10, '용어사전', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('FAQ관리', 'FaqListInqire', 5110000, 5000000, 11, 'FAQ관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Q&amp;A관리', 'QnaListInqire', 5120000, 5000000, 12, 'Q&amp;A관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Q&amp;A답변관리', 'QnaAnswerListInqire', 5130000, 5000000, 13, 'Q&amp;A답변관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정전문용어사전', 'listAdministrationWord', 5140000, 5000000, 14, '행정전문용어사전', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정전문용어사전관리', 'listAdministrationWordManage', 5150000, 5000000, 15, '행정전문용어사전관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인매뉴얼', 'listOnlineManual', 5160000, 5000000, 16, '온라인매뉴얼', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자온라인매뉴얼', 'OnlineManualUserList', 5170000, 5000000, 17, '사용자온라인매뉴얼', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('상담관리', 'CnsltListInqire', 5180000, 5000000, 18, '상담관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('상담답변관리', 'CnsltAnswerListInqire', 5190000, 5000000, 19, '상담답변관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문관리', 'EgovQustnrManageList', 5200000, 5000000, 20, '설문관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문조사', 'EgovQustnrRespondInfoManageList', 5210000, 5000000, 21, '설문조사', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문템플릿관리', 'EgovQustnrTmplatManageList', 5220000, 5000000, 22, '설문템플릿관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('응답자관리', 'EgovQustnrRespondManageList', 5230000, 5000000, 23, '응답자관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('질문관리', 'EgovQustnrQestnManageList', 5240000, 5000000, 24, '질문관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('항목관리', 'EgovQustnrItemManageList', 5250000, 5000000, 25, '항목관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의관리', 'EgovMeetingManageList', 5260000, 5000000, 26, '회의관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인poll관리', 'listOnlinePollManage', 5270000, 5000000, 27, '온라인poll관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인poll참여', 'listOnlinePollPartcptn', 5280000, 5000000, 28, '온라인poll참여', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('문자메시지', 'selectSmsList', 4060000, 4000000, 6, '문자메시지', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서일정관리', 'EgovDeptSchdulManageList', 4070000, 4000000, 7, '부서일정관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일정관리', 'EgovIndvdlSchdulManageList', 4080000, 4000000, 8, '일정관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일지관리', 'EgovDiaryManageList', 4090000, 4000000, 9, '일지관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('전체일정관리', 'EgovAllSchdulManageList', 4100000, 4000000, 10, '전체일정관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메일발송', 'insertSndngMailView', 4110000, 4000000, 11, '메일발송', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('발송메일내역', 'selectSndngMailList', 4120000, 4000000, 12, '발송메일내역', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('명함관리', 'selectNcrdInfs', 4130000, 4000000, 13, '명함관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('내명함목록', 'selectMyNcrdUseInf', 4140000, 4000000, 14, '내명함목록', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('주소록관리', 'selectAdbkList', 4150000, 4000000, 15, '주소록관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('간부일정관리', 'selectLeaderSchdulList', 4160000, 4000000, 16, '간부일정관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서업무함관리', 'selectDeptJobBxList', 4170000, 4000000, 17, '부서업무함관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서업무정보', 'selectDeptJobList', 4180000, 4000000, 18, '부서업무정보', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('주간/월간보고관리', 'selectWikMnthngReprtList', 4190000, 4000000, 19, '주간/월간보고관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메모할일관리', 'selectMemoTodoList', 4200000, 4000000, 20, '메모할일관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메모보고', 'selectMemoReprtList', 4210000, 4000000, 21, '메모보고', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자지원', 'dir', 5000000, 0, 5, '사용자지원', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기업회원관리', 'EgovEntrprsMberManage', 5010000, 5000000, 1, '기업회원관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('업무사용자관리', 'EgovUserManage', 5020000, 5000000, 2, '업무사용자관리', '', ''); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서관리', 'selectDeptManageListView', 5030000, 5000000, 3, '부서관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일반회원관리', 'EgovMberManage', 5040000, 5000000, 4, '일반회원관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('마이페이지관리', 'EgovIndvdlpgeCntntsList', 5050000, 5000000, 5, '마이페이지관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('약관관리', 'StplatListInqire', 5060000, 5000000, 6, '약관관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('저작권보호정책', 'CpyrhtPrtcPolicyListInqire', 5070000, 5000000, 7, '저작권보호정책', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('root', 'dir', 0, 0, 1, 'root', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자디렉토리/통합인증', 'dir', 1000000, 0, 1, '사용자디렉토리/통합인증', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인', 'egovLoginUsr', 1010000, 1000000, 1, '로그인', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인정책관리', 'selectLoginPolicyList', 1020000, 1000000, 2, '로그인정책관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보안', 'dir', 2000000, 0, 2, '보안', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('권한관리', 'EgovAuthorList', 2010000, 2000000, 1, '권한관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('권한그룹관리', 'EgovAuthorGroupList', 2020000, 2000000, 2, '권한그룹관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('그룹관리', 'EgovGroupList', 2030000, 2000000, 3, '그룹관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('롤관리', 'EgovRoleList', 2040000, 2000000, 4, '롤관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서권한관리', 'EgovDeptAuthorList', 2050000, 2000000, 5, '부서권한관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('통계/리포팅', 'dir', 3000000, 0, 3, '통계/리포팅', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시물통계', 'selectBbsStats', 3010000, 3000000, 1, '게시물통계', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자통계', 'selectUserStats', 3020000, 3000000, 2, '사용자통계', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('접속통계', 'selectConectStats', 3030000, 3000000, 3, '접속통계', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('화면통계', 'selectScrinStats', 3040000, 3000000, 4, '화면통계', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보고서통계', 'selectReprtStatsListView', 3050000, 3000000, 5, '보고서통계', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('자료이용현황통계', 'selectDtaUseStatsList', 3060000, 3000000, 6, '자료이용현황통계', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('협업', 'dir', 4000000, 0, 4, '협업', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시판속성관리', 'SelectBBSMasterInfs', 4010000, 4000000, 1, '게시판속성관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시판사용정보', 'selectBBSUseInfs', 4020000, 4000000, 2, '게시판사용정보', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('템플릿관리', 'selectTemplateInfs', 4030000, 4000000, 3, '템플릿관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('스크랩 목록', 'selectScrapList', 4040000, 4000000, 4, '스크랩 목록', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('커뮤니티관리', 'selectCmmntyInfs', 4050000, 4000000, 5, '커뮤니티관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('뉴스관리', 'NewsInfoListInqire', 5290000, 5000000, 29, '뉴스관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사이트관리', 'SiteListInqire', 5300000, 5000000, 30, '사이트관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('추천사이트관리', 'RecomendSiteListInqire', 5310000, 5000000, 31, '추천사이트관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사/이벤트/캠페인', 'EgovEventCmpgnList', 5320000, 5000000, 32, '행사/이벤트/캠페인', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('외부인사정보', 'EgovTnextrlHrInfoList', 5330000, 5000000, 33, '외부인사정보', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('팝업창관리', 'listPopup', 5340000, 5000000, 34, '팝업창관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('정보알림이', 'selectNotificationList', 5350000, 5000000, 35, '정보알림이', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배너관리', 'selectBannerList', 5360000, 5000000, 36, '배너관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('MYPAGE배너관리', 'selectBannerMainList', 5370000, 5000000, 37, 'MYPAGE배너관리', '', ''); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인화면이미지관리', 'selectLoginScrinImageList', 5380000, 5000000, 38, '로그인화면이미지관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('최근검색어 목록', 'listRecentSrchwrd', 5390000, 5000000, 39, '최근검색어 목록', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메인이미지관리', 'selectMainImageList', 5400000, 5000000, 40, '메인이미지관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메인이미지 반영결과보기', 'getMainImageResult', 5410000, 5000000, 41, '메인이미지 반영결과보기', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('통합링크관리', 'listUnityLink', 5420000, 5000000, 42, '통합링크관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자부재관리', 'selectUserAbsnceListView', 5430000, 5000000, 43, '사용자부재관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('인터넷서비스안내및관리', 'selectIntnetSvcGuidanceList', 5440000, 5000000, 44, '인터넷서비스안내및관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Wiki기능', 'listWikiBookmark', 5450000, 5000000, 45, 'Wiki기능', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('RSS태그관리', 'listRssTagManage', 5460000, 5000000, 46, 'RSS태그관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('RSS태그서비스', 'listRssTagService', 5470000, 5000000, 47, 'RSS태그서비스', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Twitter연동', 'selectTwitterMain', 5480000, 5000000, 48, 'Twitter연동', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('쪽지관리', 'registEgovNoteManage', 5490000, 5000000, 49, '쪽지관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('받은쪽지함관리', 'listNoteRecptn', 5500000, 5000000, 50, '받은쪽지함관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보낸쪽지함관리', 'listNoteTrnsmit', 5510000, 5000000, 51, '보낸쪽지함관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의실관리', 'selectMtgPlaceManageList', 5520000, 5000000, 52, '회의실관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의실예약관리', 'selectMtgPlaceResveManageList', 5530000, 5000000, 53, '회의실예약관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('직원경조사관리', 'selectCtsnnManageList', 5540000, 5000000, 54, '직원경조사관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('직원경조사승인관리', 'EgovCtsnnConfmList', 5550000, 5000000, 55, '직원경조사승인관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('휴가관리', 'EgovVcatnManageList', 5560000, 5000000, 56, '휴가관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('휴가승인관리', 'EgovVcatnConfmList', 5570000, 5000000, 57, '휴가승인관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('당직관리', 'EgovBndtManageList', 5580000, 5000000, 58, '당직관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('당직체크관리', 'EgovBndtCeckManageList', 5590000, 5000000, 59, '당직체크관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('포상관리', 'selectRwardManageList', 5600000, 5000000, 60, '포상관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('포상승인관리', 'EgovRwardConfmList', 5610000, 5000000, 61, '포상승인관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기념일관리', 'selectAnnvrsryManageList', 5620000, 5000000, 62, '기념일관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기념일목록(확인용)', 'selectAnnvrsryMainList', 5630000, 5000000, 63, '기념일목록(확인용)', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사신청관리', 'EgovEventReqstManageList', 5640000, 5000000, 64, '행사신청관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사접수관리', 'EgovEventRcrptManageList', 5650000, 5000000, 65, '행사접수관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사접수승인관리', 'selectEventRceptConfmList', 5660000, 5000000, 66, '행사접수승인관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템관리', 'dir', 6000000, 0, 6, '시스템관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통분류코드', 'EgovCcmCmmnClCodeList', 6010000, 6000000, 1, '공통분류코드', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통상세코드', 'EgovCcmCmmnDetailCodeList', 6020000, 6000000, 2, '공통상세코드', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통코드', 'EgovCcmCmmnCodeList', 6030000, 6000000, 3, '공통코드', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('우편번호관리', 'EgovCcmZipList', 6040000, 6000000, 4, '우편번호관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정코드관리', 'EgovCcmAdministCodeList', 6050000, 6000000, 5, '행정코드관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기관코드수신', 'getInsttCodeRecptnList', 6060000, 6000000, 6, '기관코드수신', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그관리', 'SelectSysLogList', 6070000, 6000000, 7, '로그관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용로그관리', 'SelectUserLogList', 6080000, 6000000, 8, '사용로그관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('송/수신로그관리', 'SelectTrsmrcvLogList', 6090000, 6000000, 9, '송/수신로그관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템이력관리', 'SelectSysHistoryList', 6100000, 6000000, 10, '시스템이력관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('웹로그관리', 'SelectWebLogList', 6110000, 6000000, 11, '웹로그관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('접속로그관리', 'SelectLoginLogList', 6120000, 6000000, 12, '접속로그관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴리스트관리', 'EgovMenuListSelect', 6130000, 6000000, 13, '메뉴리스트관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴관리리스트', 'EgovMenuManageSelect', 6140000, 6000000, 14, '메뉴관리리스트', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴생성관리', 'EgovMenuCreatManageSelect', 6150000, 6000000, 15, '메뉴생성관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사이트맵', 'EgovSiteMapng', 6160000, 6000000, 16, '사이트맵', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('바로가기메뉴관리', 'selectBkmkMenuManageList', 6170000, 6000000, 17, '바로가기메뉴관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램관리', 'EgovProgramListManageSelect', 6180000, 6000000, 18, '프로그램관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경요청관리', 'EgovProgramChangeRequstSelect', 6190000, 6000000, 19, '프로그램변경요청관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경요청처리', 'EgovProgramChangeRequstProcessListSelect', 6200000, 6000000, 20, '프로그램변경요청처리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경이력', 'EgovProgramChgHstListSelect', 6210000, 6000000, 21, '프로그램변경이력', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배치작업관리', 'getBatchOpertList', 6220000, 6000000, 22, '배치작업관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배치결과관리', 'getBatchResultList', 6230000, 6000000, 23, '배치결과관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('스케줄처리', 'getBatchSchdulList', 6240000, 6000000, 24, '스케줄처리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('백업관리', 'getBackupOpertList', 6250000, 6000000, 25, '백업관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('백업결과관리', 'getBackupResultList', 6260000, 6000000, 26, '백업결과관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('네트워크관리', 'selectNtwrkList', 6270000, 6000000, 27, '네트워크관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버정보관리', 'selectServerEqpmnList', 6280000, 6000000, 28, '서버정보관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버(S/W)목록', 'selectServerList', 6290000, 6000000, 29, '서버(S/W)목록', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('장애신청관리', 'selectTroblReqstList', 6300000, 6000000, 30, '장애신청관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('장애처리결과관리', 'selectTroblProcessList', 6310000, 6000000, 31, '장애처리결과관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템/서비스연계', 'dir', 7000000, 0, 7, '시스템/서비스연계', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템연계관리', 'getSystemCntcList', 7010000, 7000000, 1, '시스템연계관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계현황관리', 'getCntcSttusList', 7020000, 7000000, 2, '연계현황관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계메시지관리', 'getCntcMessageList', 7030000, 7000000, 3, '연계메시지관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계기관관리', 'getCntcInsttList', 7040000, 7000000, 4, '연계기관관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('자산 관리', 'dir', 8000000, 0, 8, '자산 관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('개인지식관리', 'EgovComDamPersonalList', 8010000, 8000000, 1, '개인지식관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식맵관리(유형)', 'EgovComDamMapMaterialList', 8020000, 8000000, 2, '지식맵관리(유형)', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식맵관리(조직)', 'EgovComDamMapTeamList', 8030000, 8000000, 3, '지식맵관리(조직)', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식전문가관리', 'EgovComDamSpecialistList', 8040000, 8000000, 4, '지식전문가관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식정보관리', 'EgovComDamManagementList', 8050000, 8000000, 5, '지식정보관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식평가관리', 'EgovComDamAppraisalList', 8060000, 8000000, 6, '지식평가관리', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식정보제공', 'listRequestOffer', 8070000, 8000000, 7, '지식정보제공', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('요소기술', 'dir', 9000000, 0, 9, '요소기술', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공휴일관리(달력)', 'EgovRestdeList', 9010000, 9000000, 1, '공휴일관리(달력)', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('송수신모니터링', 'getTrsmrcvMntrngList', 9020000, 9000000, 2, '송수신모니터링', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('DB서비스모니터링', 'getDbMntrngList', 9030000, 9000000, 3, 'DB서비스모니터링', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('HTTP서비스모니터링', 'EgovComUtlHttpMonList', 9040000, 9000000, 4, 'HTTP서비스모니터링', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로세스모니터링', 'EgovComUtlProcessMonList', 9050000, 9000000, 5, '프로세스모니터링', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('네트워크서비스모니터링', 'selectNtwrkSvcMntrngList', 9060000, 9000000, 6, '네트워크서비스모니터링', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('파일시스템모니터링', 'selectFileSysMntrngList', 9070000, 9000000, 7, '파일시스템모니터링', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프록시서비스', 'selectProxySvcList', 9080000, 9000000, 8, '프록시서비스', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('파일동기화(대상서버)', 'selectSynchrnServerList', 9090000, 9000000, 9, '파일동기화(대상서버)', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인세션정보체크', 'loginSessionView', 9100000, 9000000, 10, '로그인세션정보체크', '/', '/'); +INSERT INTO COMTNMENUINFO (MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버자원모니터링-대상목록', 'selectMntrngServerList', 9110000, 9000000, 11, '서버자원모니터링-대상목록', '/', '/'); + +-- 기본템플릿 +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_BOARD_DEFAULT', '게시판 기본템플릿', 'TMPT01', '/css/egovframework/com/cop/tpl/egovbbsTemplate.css', 'Y', 'SYSTEM', SYSDATETIME); +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_CMNTY_DEFAULT', '커뮤니티 기본템플릿', 'TMPT02', 'egovframework/com/cop/tpl/EgovCmmntyBaseTmpl', 'Y', 'SYSTEM', SYSDATETIME); +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_CLUB__DEFAULT', '동호회 기본템플릿', 'TMPT03', 'egovframework/com/cop/tpl/EgovClbBaseTmpl', 'Y', 'SYSTEM', SYSDATETIME); + +-- 우편번호 +INSERT INTO COMTCZIP(ZIP, SN, CTPRVN_NM, SIGNGU_NM, EMD_NM, LI_BULD_NM, LNBR_DONG_HO, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('100775',7381,'서울','중구','무교동','한국정보화진흥원','',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM'); +INSERT INTO COMTRDNMADRZIP(RDMN_CODE, SN, CTPRVN_NM, SIGNGU_NM, RDMN, BDNBR_MNNM, BDNBR_SLNO, BULD_NM, DETAIL_BULD_NM, ZIP, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('111403100021','1','서울특별시','중구','청계천로','14','0','한국정보사회진흥원','','100775',SYSDATETIME,'SYSTEM',SYSDATETIME,'SYSTEM'); + +-- 최근검색어조회 +INSERT INTO COMTNRECENTSRCHWRDMANAGE(SRCHWRD_MANAGE_ID, SRCHWRD_MANAGE_NM, SRCHWRD_CONECT_URL, USER_SEARCH_AT,FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES('SRCMGR_0000000000001','공통코드관리','/sym/ccm/cca/SelectCcmCmmnCodeList.do','Y',SYSDATETIME,'USRCNFRM_00000000000',SYSDATETIME,'USRCNFRM_00000000000'); + +-- FK제약 조건 등록 +ALTER CLASS [comtnsmsrecptn] ADD CONSTRAINT [comtnsmsrecptn_fk1] FOREIGN KEY([sms_id]) REFERENCES [comtnsms] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtndiaryinfo] ADD CONSTRAINT [comtndiaryinfo_fk1] FOREIGN KEY([schdul_id]) REFERENCES [comtnschdulinfo] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnemplyrinfo] ADD CONSTRAINT [comtnemplyrinfo_fk2] FOREIGN KEY([orgnzt_id]) REFERENCES [comtnorgnztinfo] ON DELETE CASCADE ON UPDATE RESTRICT ; +ALTER CLASS [comtnemplyrinfo] ADD CONSTRAINT [comtnemplyrinfo_fk1] FOREIGN KEY([group_id]) REFERENCES [comtnauthorgroupinfo] ON DELETE CASCADE ON UPDATE RESTRICT ; +ALTER CLASS [comtncntntslist] ADD CONSTRAINT [comtncntntslist_fk1] FOREIGN KEY([cntnts_id]) REFERENCES [comtnindvdlpgecntnts] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtncntntslist] ADD CONSTRAINT [comtncntntslist_fk2] FOREIGN KEY([emplyr_id]) REFERENCES [comtnindvdlpgeestbs] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtncntcmessageitem] ADD CONSTRAINT [comtncntcmessageitem_fk1] FOREIGN KEY([cntc_mssage_id]) REFERENCES [comtncntcmessage] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comthemaildsptchmanage] ADD CONSTRAINT [comthemaildsptchmanage_fk1] FOREIGN KEY([sndr]) REFERENCES [comtnemplyrinfo] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comthemaildsptchmanage] ADD CONSTRAINT [comthemaildsptchmanage_fk2] FOREIGN KEY([atch_file_id]) REFERENCES [comtnfile] ON DELETE SET NULL ON UPDATE RESTRICT ; +ALTER CLASS [comthprogrmchangedtls] ADD CONSTRAINT [comthprogrmchangedtls_fk1] FOREIGN KEY([progrm_file_nm]) REFERENCES [comtnprogrmlist] ON DELETE CASCADE ON UPDATE RESTRICT ; +ALTER CLASS [comtnanswer] ADD CONSTRAINT [comtnanswer_fk1] FOREIGN KEY([bbs_id]) REFERENCES [comtnbbsmasteroptn] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnrecentsrchwrd] ADD CONSTRAINT [comtnrecentsrchwrd_fk1] FOREIGN KEY([srchwrd_manage_id]) REFERENCES [comtnrecentsrchwrdmanage] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnproxyloginfo] ADD CONSTRAINT [comtnproxyloginfo_fk1] FOREIGN KEY([proxy_id]) REFERENCES [comtnproxyinfo] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnbbs] ADD CONSTRAINT [comtnbbs_fk1] FOREIGN KEY([bbs_id]) REFERENCES [comtnbbsmaster] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnqustnrqesitm] ADD CONSTRAINT [comtnqustnrqesitm_fk1] FOREIGN KEY([qustnr_tmplat_id], [qestnr_id]) REFERENCES [comtnqestnrinfo] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtncomment] ADD CONSTRAINT [comtncomment_fk1] FOREIGN KEY([ntt_id], [bbs_id]) REFERENCES [comtnbbs] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnclubuser] ADD CONSTRAINT [comtnclubuser_fk1] FOREIGN KEY([clb_id], [cmmnty_id]) REFERENCES [comtnclub] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnbackupschduldfk] ADD CONSTRAINT [comtnbackupschduldfk_fk1] FOREIGN KEY([backup_opert_id]) REFERENCES [comtnbackupopert] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtncmmntyuser] ADD CONSTRAINT [comtncmmntyuser_fk1] FOREIGN KEY([cmmnty_id]) REFERENCES [comtncmmnty] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnfiledetail] ADD CONSTRAINT [comtnfiledetail_fk1] FOREIGN KEY([atch_file_id]) REFERENCES [comtnfile] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnqestnrinfo] ADD CONSTRAINT [comtnqestnrinfo_fk1] FOREIGN KEY([qustnr_tmplat_id]) REFERENCES [comtnqustnrtmplat] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnqustnrrespondinfo] ADD CONSTRAINT [comtnqustnrrespondinfo_fk1] FOREIGN KEY([qustnr_tmplat_id], [qestnr_id]) REFERENCES [comtnqestnrinfo] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtccmmncode] ADD CONSTRAINT [comtccmmncode_fk1] FOREIGN KEY([cl_code]) REFERENCES [comtccmmnclcode] ON DELETE SET NULL ON UPDATE RESTRICT ; +ALTER CLASS [comtccmmndetailcode] ADD CONSTRAINT [comtccmmndetailcode_fk1] FOREIGN KEY([code_id]) REFERENCES [comtccmmncode] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnncrduser] ADD CONSTRAINT [comtnncrduser_fk1] FOREIGN KEY([ncrd_id]) REFERENCES [comtnncrd] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnentrprsmber] ADD CONSTRAINT [comtnentrprsmber_fk1] FOREIGN KEY([group_id]) REFERENCES [comtnauthorgroupinfo] ON DELETE CASCADE ON UPDATE RESTRICT ; +ALTER CLASS [comtngnrlmber] ADD CONSTRAINT [comtngnrlmber_fk1] FOREIGN KEY([group_id]) REFERENCES [comtnauthorgroupinfo] ON DELETE CASCADE ON UPDATE RESTRICT ; +ALTER CLASS [comtnroles_hierarchy] ADD CONSTRAINT [comtnroles_hierarchy_fk1] FOREIGN KEY([parnts_role]) REFERENCES [comtnauthorinfo] ON DELETE CASCADE ON UPDATE RESTRICT ; +ALTER CLASS [comtnroles_hierarchy] ADD CONSTRAINT [comtnroles_hierarchy_fk2] FOREIGN KEY([chldrn_role]) REFERENCES [comtnauthorinfo] ON DELETE CASCADE ON UPDATE RESTRICT ; +ALTER CLASS [comtnauthorrolerelate] ADD CONSTRAINT [comtnauthorrolerelate_fk1] FOREIGN KEY([author_code]) REFERENCES [comtnauthorinfo] ON DELETE CASCADE ON UPDATE RESTRICT ; +ALTER CLASS [comtnauthorrolerelate] ADD CONSTRAINT [comtnauthorrolerelate_fk2] FOREIGN KEY([role_code]) REFERENCES [comtnroleinfo] ON DELETE CASCADE ON UPDATE RESTRICT ; +ALTER CLASS [comtnextrlhrinfo] ADD CONSTRAINT [comtnextrlhrinfo_fk1] FOREIGN KEY([event_id]) REFERENCES [comtneventinfo] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnbbsuse] ADD CONSTRAINT [comtnbbsuse_fk1] FOREIGN KEY([bbs_id]) REFERENCES [comtnbbsmaster] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnqustnrrspnsresult] ADD CONSTRAINT [comtnqustnrrspnsresult_fk1] FOREIGN KEY([qestnr_id], [qustnr_qesitm_id], [qustnr_tmplat_id]) REFERENCES [comtnqustnrqesitm] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnadbk] ADD CONSTRAINT [comtnadbk_fk1] FOREIGN KEY([adbk_id]) REFERENCES [comtnadbkmanage] ON DELETE CASCADE ON UPDATE RESTRICT ; +ALTER CLASS [comtnqustnriem] ADD CONSTRAINT [comtnqustnriem_fk1] FOREIGN KEY([qestnr_id], [qustnr_qesitm_id], [qustnr_tmplat_id]) REFERENCES [comtnqustnrqesitm] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnfaqinfo] ADD CONSTRAINT [comtnfaqinfo_fk1] FOREIGN KEY([atch_file_id]) REFERENCES [comtnfile] ON DELETE SET NULL ON UPDATE RESTRICT ; +ALTER CLASS [comtnonlinepollresult] ADD CONSTRAINT [comtnonlinepollresult_fk1] FOREIGN KEY([poll_id], [poll_iem_id]) REFERENCES [comtnonlinepolliem] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnonlinepolliem] ADD CONSTRAINT [comtnonlinepolliem_fk1] FOREIGN KEY([poll_id]) REFERENCES [comtnonlinepollmanage] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnnewsinfo] ADD CONSTRAINT [comtnnewsinfo_fk1] FOREIGN KEY([atch_file_id]) REFERENCES [comtnfile] ON DELETE CASCADE ON UPDATE RESTRICT ; +ALTER CLASS [comtnmenuinfo] ADD CONSTRAINT [comtnmenuinfo_fk2] FOREIGN KEY([progrm_file_nm]) REFERENCES [comtnprogrmlist] ON DELETE CASCADE ON UPDATE RESTRICT ; +ALTER CLASS [comtnmenuinfo] ADD CONSTRAINT [comtnmenuinfo_fk1] FOREIGN KEY([upper_menu_no]) REFERENCES [comtnmenuinfo] ON DELETE CASCADE ON UPDATE RESTRICT ; +ALTER CLASS [comtnmenucreatdtls] ADD CONSTRAINT [comtnmenucreatdtls_fk2] FOREIGN KEY([menu_no]) REFERENCES [comtnmenuinfo] ON DELETE CASCADE ON UPDATE RESTRICT ; +ALTER CLASS [comtnmenucreatdtls] ADD CONSTRAINT [comtnmenucreatdtls_fk3] FOREIGN KEY([mapng_creat_id]) REFERENCES [comtnsitemap] ON DELETE CASCADE ON UPDATE RESTRICT ; +ALTER CLASS [comtnmenucreatdtls] ADD CONSTRAINT [comtnmenucreatdtls_fk1] FOREIGN KEY([author_code]) REFERENCES [comtnauthorinfo] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comthemplyrinfochangedtls] ADD CONSTRAINT [comthemplyrinfochangedtls_fk1] FOREIGN KEY([emplyr_id]) REFERENCES [comtnemplyrinfo] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comthhttpmonloginfo] ADD CONSTRAINT [comthhttpmonloginfo_fk2] FOREIGN KEY([sys_id]) REFERENCES [comtnhttpmon] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnbndtdiary] ADD CONSTRAINT [comtnbndtdiary_fk2] FOREIGN KEY([bndt_id], [bndt_de]) REFERENCES [comtnbndtmanage] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnbndtdiary] ADD CONSTRAINT [comtnbndtdiary_fk1] FOREIGN KEY([bndt_ceck_code], [bndt_ceck_se]) REFERENCES [comtnbndtceckmanage] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnfilesysmntrngloginfo] ADD CONSTRAINT [comtnfilesysmntrngloginfo_fk2] FOREIGN KEY([file_sys_id]) REFERENCES [comtnfilesysmntrng] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnbatchschduldfk] ADD CONSTRAINT [comtnbatchschduldfk_fk1] FOREIGN KEY([batch_schdul_id]) REFERENCES [comtnbatchschdul] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtndampro] ADD CONSTRAINT [comtndampro_fk1] FOREIGN KEY([knwldg_ty_code]) REFERENCES [comtndammapkno] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnleaderschdulde] ADD CONSTRAINT [comtnleaderschdulde_fk1] FOREIGN KEY([schdul_id]) REFERENCES [comtnleaderschdul] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnntwrksvcmntrngloginfo] ADD CONSTRAINT [comtnntwrksvcmntrngloginfo_fk2] FOREIGN KEY([sys_ip], [sys_port]) REFERENCES [comtnntwrksvcmntrng] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnservereqpmnrelate] ADD CONSTRAINT [comtnservereqpmnrelate_fk2] FOREIGN KEY([server_eqpmn_id]) REFERENCES [comtnservereqpmninfo] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnservereqpmnrelate] ADD CONSTRAINT [comtnservereqpmnrelate_fk1] FOREIGN KEY([server_id]) REFERENCES [comtnserverinfo] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnserverresrceloginfo] ADD CONSTRAINT [comtnserverresrceloginfo_fk1] FOREIGN KEY([server_eqpmn_id], [server_id]) REFERENCES [comtnservereqpmnrelate] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnnotetrnsmit] ADD CONSTRAINT [comtnnotetrnsmit_fk1] FOREIGN KEY([note_id]) REFERENCES [comtnnote] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnnoterecptn] ADD CONSTRAINT [comtnnoterecptn_fk1] FOREIGN KEY([note_id], [note_trnsmit_id]) REFERENCES [comtnnotetrnsmit] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtneventatdrn] ADD CONSTRAINT [comtneventatdrn_fk1] FOREIGN KEY([event_id]) REFERENCES [comtneventmanage] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnprocessmonloginfo] ADD CONSTRAINT [comtnprocessmonloginfo_fk2] FOREIGN KEY([procs_id]) REFERENCES [comtnprocessmon] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnmtgplaceresve] ADD CONSTRAINT [comtnmtgplaceresve_fk1] FOREIGN KEY([mtgrum_id]) REFERENCES [comtnmtgplacemanage] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnmtgplacefxtrs] ADD CONSTRAINT [comtnmtgplacefxtrs_fk2] FOREIGN KEY([mtgrum_id]) REFERENCES [comtnmtgplacemanage] ON DELETE RESTRICT ON UPDATE RESTRICT ; +ALTER CLASS [comtnmtgplacefxtrs] ADD CONSTRAINT [comtnmtgplacefxtrs_fk1] FOREIGN KEY([fxtrs_code]) REFERENCES [comtnfxtrsmanage] ON DELETE RESTRICT ON UPDATE RESTRICT ; \ No newline at end of file Index: base3.10/script/dml/oracle/com_DML_oracle.sql =================================================================== --- base3.10/script/dml/oracle/com_DML_oracle.sql (nonexistent) +++ base3.10/script/dml/oracle/com_DML_oracle.sql (revision 7) @@ -0,0 +1,1022 @@ +-- ID Generator +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADBKUSER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADBK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADMINIST_WORD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ADMIN_CODE_OPERT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ANN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BACKUP_OPERT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BACKUP_RESULT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BANNER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_OPERT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_RESULT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BATCH_SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('BBS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CLB_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CMMNTY_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNSLT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTC_MESSAGE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CNTNTS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('COMTECOPSEQ', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CPYRHT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('CTSNN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DAM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DB_MNTRNG_LOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DEPT_JOB_BX_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DEPT_JOB_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DIARY_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('DUS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EVENTINFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EVENT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('EXTRLHRINFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FAQ_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILESYS_LOGID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILESYS_MNTRNG', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('FILE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('GROUP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HPCM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HTTL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('HTTP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INDVDL_INFO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INFRML_SANCTN', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INSTT_CODE_OPERT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('INSTT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ISG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ITEM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('KNO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('KNO_ID2', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LEADER_SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LOGINLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('LSI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MAILMSG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MEMO_REPRT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MEMO_TODO_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MSI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MTG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('MTG_PLACE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NCRD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NEWS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_RECPTN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NOTE_TRNSMIT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTWRKSVC_LOGID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTWRK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ONLINE_MUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_IEM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_MGR_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POLL_RUT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('POPUP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROXYLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('PROXYSVC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QA_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESITM_', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESRSPNS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESTNR_QESITM_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QESTNR_RPD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QUSTNRQESTN_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('QUSTNRTMPLA_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RECOMEND_SITE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RESTDE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RESVE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ROLE_ID', 20); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RSS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('RWARD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SCHDUL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SCRAP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SERVER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SEVEQ_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SITE_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SMS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_MANAGEID', 2); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SRCHWRD_MANAGE_I', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SVCRESMONTLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SVC_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYNCHRNSERVER_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYSLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('SYS_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TEST1', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TMPLAT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TROBL_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TRSMRCVLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('TR_MNTRNG_LOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('UNITY_LINK_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('USE_STPLAT_ID', 3); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('USRCNFRM_ID', 3); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WEBLOG_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WIKI_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WIKMNTHNG_REPRT', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WORD_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('NTT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ORGNZT_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ANSWER_NO', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('STSFDG_NO', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('ROUGHMAP_ID', 1); +INSERT INTO COMTECOPSEQ ( TABLE_NAME, NEXT_ID ) VALUES ('WRKTM_ID', 1); + +-- 공통분류코드 +INSERT INTO COMTCCMMNCLCODE(CL_CODE, CL_CODE_NM, CL_CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', '전자정부 프레임워크 공통서비스', '전자정부 프레임워크 공통서비스', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); + +-- 공통코드 +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM001', '등록구분', '게시판, 커뮤니티, 동호회 등록구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM002', '이력구분', '시스템이력등록구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM003', '업무구분', '업무구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM005', '템플릿유형', '템플릿유형구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM006', '승인유형', '동호회, 커뮤니티 승인 유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM007', '승인상태', '동호회, 커뮤니티 승인 상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM008', '처리상태', '송수신 요청의 처리상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM009', '게시판속성', '게시판 속성', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM010', '권한유형', '시스템을 사용하기 위한 권한 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM011', '롤유형', '시스템의 기능을 사용하기 위한 롤 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM012', '회원유형', '일반/기업/업무담당자를 구현하기 위한 사용자 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM013', '회원상태', '회원 가입 신청/승인/삭제를 위한 상태 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM014', '성별구분', '남녀 성별 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM015', '인증방식유형', '주민등록번호 인증, Gpin 인증과 같은 사용자 인증 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM016', '변경요청처리 상태', '프로그램 변경의 요청/처리 등의 변경요청 상태 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM017', '휴일구분', '휴일의 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM018', '질문유형', '질문유형 객관식/주관식 상태구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM019', '일정중요도', '일정중요도 낮음/보통/높음 상태구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM020', '일정구분', '일정구분 부서일지정보/일지정보 상태구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM021', '도움말구분', '도움말 설명 구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM022', '비밀번호 힌트', '비밀번호 힌트 구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM023', '사이트주제분류', '사이트주제분류 설명 구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM024', '발송결과구분', '발송메일 수신결과 구분 코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM025', '소속기관', '소속기관정보를 관리할때 사용하는 구분코드(시스템별로 재정의)', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM026', '기업구분', '기업구분정보를 관리할때 사용하는 구분코드(시스템별로 재정의)', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM027', '업종', '대표업종코드(시스템별로 재정의)', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM028', '질의응답처리상태', 'Q/A 처리상태코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM029', '롤유형코드', '', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM030', '일정구분', '일정구분 코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM031', '반복구분', '일정 반복구분 코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM032', '작업유형', '승인이력 작업유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM033', '시스템로그구분', '', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM034', '직업유형', '직업유형코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM035', '행사유형', '행사/이벤트/캠페인 구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM036', '보고서 진행상태코드', '보고서의 진행상태를 코드화 하여 관리한다.', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM038', '온라인POLL페기유무', '온라인POLL-온라인POLL페기유무', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM039', '온라인POLL구분', '온라인POLL-온온라인POLL구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM040', '보고서 종류코드', '보고서 종류코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM041', '온라인메뉴얼구분', '온라인메누얼-온라인메뉴얼구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM042', '보고서통계기간구분', '보고서통계기간구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM043', '기관코드변경구분', '기관코드변경구분', 'Y', SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM044', '기관코드수신처리구분', '기관코드수신처리구분', 'Y', SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM045', '사용여부', '사용여부', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM046', '모니터링상태구분', '모니터링상태구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM047', '실행주기구분', '실행주기구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM048', 'DBMS종류', 'DBMS종류', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM049', '압축구분', '압축구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM050', '수신구분', '쪽지관리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM051', '승인여부', '승인여부구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM052', '달력구분', '달력구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM053', '행사구분', '행사구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM054', '경조구분', '경조구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM055', '포상구분', '포상구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM056', '휴가구분', '휴가구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM057', '일정구분', '일정구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM058', '반복구분코드', '반복구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM059', '우선순위', '우선순위', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM060', '보고서구분', '보고서구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM061', '간부상태', '간부상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM062', ' HTTP상태코드', 'HTTP상태코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM063', '상태관리', '상태관리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM064', '서버종류코드', '서버종류코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM065', '장애종류코드', '장애종류코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM066', '서버자원종류', '서버자원종류', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM067', '네트워크관리항목', '네트워크관리항목', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM068', '처리상태코드', '처리상태코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM069', '기념일구분', '기념일구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM070', '위치구분', '회의실 위치구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM071', '당직체크구분', '당직체크구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM072', '서비스상태', '서비스상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM073', '가족관계', '가족관계', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM074', '요일구분', '요일구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM075', '업무구분코드', '업무구분코드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM076', '실행상태구분', '실행상태구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM101', '게시판유형', '게시판유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNCODE(CL_CODE, CODE_ID, CODE_ID_NM, CODE_ID_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID,LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('EFC', 'COM102', '단어구분', '단어구분', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); + +-- 공통상세코드 +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC01', '단일 게시판 이용등록', '단일 게시판 이용등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC02', '커뮤니티 등록', '커뮤니티 등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC03', '동호회 등록', '동호회 등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC04', '명함등록', '명함등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC05', '동호회 게시판 등록', '동호회 게시판 등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC06', '커뮤니티 게시판 등록', '커뮤니티 게시판 등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM001', 'REGC07', '게시판사용자등록', '게시판사용자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST01', '소프트웨어패치', '소프트웨어패치', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST02', '소프트웨어설치', '소프트웨어설치', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST03', '소프트웨어삭제', '소프트웨어삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST04', '하드웨어업그레이드', '하드웨어업그레이드', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM002', 'HIST05', '하드웨어삭제', '하드웨어삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'BBS', '게시판', '게시판', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'CMY', '커뮤니티', '커뮤니티', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'CLB', '동호회', '동호회', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM003', 'NCD', '명함', '명함', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT01', '게시판템플릿', '게시판템플릿', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT02', '커뮤니티템플릿', '커뮤니티템플릿', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM005', 'TMPT03', '블로그템플릿', '블로그템플릿', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF01', '커뮤니티등록', '커뮤니티등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF02', '커뮤니티삭제', '커뮤니티삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF03', '동호회등록', '동호회등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF04', '동호회삭제', '동호회삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF05', '커뮤니티운영자등록', '커뮤니티운영자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF06', '커뮤니티운영자삭제', '커뮤니티운영자삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF07', '동호회운영자등록', '동호회운영자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF08', '동호회운영자삭제', '동호회운영자삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF09', '게시판이용등록', '게시판이용등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF10', '게시판삭제', '게시판삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF11', '커뮤니티사용자등록', '커뮤니티사용자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF12', '커뮤니티사용자탈퇴', '커뮤니티사용자탈퇴', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF13', '동호회사용자등록', '동호회사용자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM006', 'CF14', '동호회사용자탈퇴', '동호회사용자탈퇴', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP01', '승인요청', '승인요청', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP02', '승인허가', '승인허가', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM007', 'AP03', '승인반려', '승인반려', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S01', '전송요청', '전송요청', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S02', '전송완료', '전송완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S03', '전송실패', '전송실패', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S04', '수신요청', '수신요청', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S05', '수신완료', '수신완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM008', 'S06', '수신실패', '수신실패', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA01', '유효게시판', '유효게시판', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA02', '갤러리', '갤러리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM009', 'BBSA03', '일반게시판', '일반게시판', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVS001', '시스템 관련 권한(최상위 권한)', '시스템 관련 권한(최상위 권한)', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVD001', '데이터베이스 관련 권한', '데이터베이스 관련 권한', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVU001', '사용자 관련 권한', '사용자 관련 권한', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVA001', '어플리케이션 관련 권한', '어플리케이션 관련 권한', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVB001', '게시판 관련 권한', '게시판 관련 권한', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM010', 'PRVC001', '커뮤니티 관련 권한', '커뮤니티 관련 권한', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS001', '시스템 관리 최상위 롤', '시스템 관리 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS002', '시스템 접근(view) 롤', '시스템 접근(view) 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS003', '시스템 설정 등록/변경 롤', '시스템 설정 등록/변경 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLS004', '시스템 파일 등록/변경 롤', '시스템 파일 등록/변경 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD001', '데이터베이스 관련 최상위 롤', '데이터베이스 관련 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD002', '데이터베이스 스키마 등록/변경 롤', '데이터베이스 스키마 등록/변경 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD003', '데이터 조회 롤', '데이터 조회 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLD004', '데이터 등록/변경 롤', '데이터 등록/변경 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU001', '사용자 관련 최상위 롤', '사용자 관련 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU002', '업무 시스템 사용자 관리 롤', '업무 시스템 사용자 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU003', '기업회원 시스템 사용자 관리 롤', '기업회원 시스템 사용자 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU004', '일반회원 시스템 사용자 관리 롤', '일반회원 시스템 사용자 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU005', '게시판 사용자 관리 롤', '게시판 사용자 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLU006', '커뮤니티 사용자 관리 롤', '커뮤니티 사용자 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA001', '어플리케이션 관련 최상위 롤', '어플리케이션 관련 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA002', '업무 어플리케이션 접근 롤', '업무 어플리케이션 접근 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA003', '업무 어플리케이션 관리 롤', '업무 어플리케이션 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA004', '일반 어플리케이션 접근 롤', '일반 어플리케이션 접근 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA005', '일반 어프리케이션 관리 롤', '일반 어프리케이션 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA006', '어플리케이션 약관 관리 롤', '어플리케이션 약관 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA007', '어플리케이션 저작권 관리 롤', '어플리케이션 저작권 관리 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLA008', '통계 및 보고서 접근 롤', '통계 및 보고서 접근 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB001', '게시판 관련 최상위 롤', '게시판 관련 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB002', '게시판 생성 롤', '게시판 생성 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB003', '게시판 접근 롤', '게시판 접근 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB004', '게시판 글쓰기 롤', '게시판 글쓰기 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLB005', '게시판 글 수정/삭제 롤', '게시판 글 수정/삭제 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC001', '커뮤니티 관련 최상위 롤', '커뮤니티 관련 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC002', '커뮤니티 생성 롤', '커뮤니티 생성 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC003', '커뮤니티 접근 롤', '커뮤니티 접근 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC004', '커뮤니티 글쓰기 롤', '커뮤니티 글쓰기 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC005', '커뮤니티 글 수정/삭제 롤', '커뮤니티 글 수정/삭제 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM011', 'ROLC006', '파일 업로드 롤', '파일 업로드 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR01', '일반 회원 유형', '일반 회원 유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR02', '기업 회원 유형', '기업 회원 유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR03', '업무 담당자(사용자) 유형', '업무 담당자(사용자) 유형', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM012', 'USR99', '사용자 유형 최상위 롤', '사용자 유형 최상위 롤', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'A', '회원 가입 신청 상태', '회원 가입 신청 상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'P', '회원 가입 승인 상태', '회원 가입 승인 상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM013', 'D', '회원 가입 삭제 상태', '회원 가입 삭제 상태', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM014', 'M', '남자', '남자', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM014', 'F', '여자', '여자', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM015', 'ATH01', '주민등록번호 인증', '주민등록번호 인증', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM015', 'ATH02', 'GPIN 인증', 'GPIN 인증', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR01', '프로그램 변경 요청 신청', '프로그램 변경 요청 신청', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR02', '프로그램 변경 요청 수락', '프로그램 변경 요청 수락', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR03', '프로그램 변경 진행', '프로그램 변경 진행', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR04', '프로그램 변경 완료', '프로그램 변경 완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM016', 'PUR05', '프로그램 변경 이관', '프로그램 변경 이관', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '01', '법정휴일', '법정휴일', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '02', '법정공휴일', '법정공휴일', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM017', '03', '임시공휴일', '임시공휴일', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM018', '1', '객관식', '객관식', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM018', '2', '주관식', '주관식', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'A', '높음', '높음', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'B', '보통', '보통', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM019', 'C', '낮음', '낮음', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM020', '1', '부서일정관리', '부서일정관리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM020', '2', '일정관리', '일정관리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM021', '1', '기능설명', '기능설명', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM021', '2', '절차설명', '절차설명', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P01', '가장 기억에 남는 장소는?', '가장 기억에 남는 장소는?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P02', '나의 좌우명은?', '나의 좌우명은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P03', '나의 보물 제1호는?', '나의 보물 제1호는?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P04', '가장 기억에 남는 선생님 성함은?', '가장 기억에 남는 선생님 성함은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P05', '다른 사람은 모르는 나만의 신체비밀은?', '다른 사람은 모르는 나만의 신체비밀은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P06', '오래도록 기억하고 싶은 날짜는?', '오래도록 기억하고 싶은 날짜는?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P07', '받았던 선물 중 기억에 남는 독특한 선물은?', '받았던 선물 중 기억에 남는 독특한 선물은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P08', '가장 생각나는 친구 이름은?', '가장 생각나는 친구 이름은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P09', '인상 깊게 읽은 책 이름은?', '인상 깊게 읽은 책 이름은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P10', '내가 존경하는 인물은?', '내가 존경하는 인물은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P11', '나의 노래방 애창곡은?', '나의 노래방 애창곡은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P12', '가장 감명깊게 본 영화는?', '가장 감명깊게 본 영화는?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM022', 'P13', '좋아하는 스포츠팀 이름은?', '좋아하는 스포츠팀 이름은?', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '01', '경제', '경제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '02', '전산', '전산', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM023', '03', '행정', '행정', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'R', '요청', '요청', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'F', '실패', '실패', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM024', 'C', '완료', '완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000001', '공공기관', '공공기관', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000002', '금융기관', '금융기관', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000003', '교육기관', '교육기관', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM025', '00000004', '의료기관', '의료기관', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000001', '대기업', '대기업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000002', '중소기업', '중소기업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM026', 'C0000003', '다국적기업', '다국적기업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'A', '축산업', '축산업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'B', '어업', '어업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'C', '광업', '광업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'D', '제조업', '제조업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'E', '전기,가스및수도사업', '전기,가스및수도사업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'F', '건설업', '건설업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'G', '도소매 및 소비자용품수리업', '도소매 및 소비자용품수리업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'H', '숙박및음식점', '숙박및음식점', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'I', '운수창고및통신업', '운수창고및통신업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'J', '금융및보험업', '금융및보험업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'K', '부동산,임대및사업서비스업', '부동산,임대및사업서비스업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'M', '교육서비스업', '교육서비스업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'N', '보건업', '보건업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'O', '기타공공,사회및개인서비스업', '기타공공,사회및개인서비스업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM027', 'P', '가사서비스업', '가사서비스업', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '1', '접수대기', '접수대기', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '2', '접수', '접수', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM028', '3', '완료', '완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'method', 'METHOD', 'METHOD', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'pointcut', 'POINTCUT', 'POINTCUT', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM029', 'url', 'URL', 'URL', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '1', '회의', '회의', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '2', '세미나', '세미나', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '3', '강의', '강의', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '4', '교육', '교육', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '5', '기타', '기타', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM030', '6', '휴일', '휴일', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '1', '당일', '당일', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '2', '반복', '반복', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '3', '연속', '연속', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM031', '4', '요일반복', '요일반복', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC01', '회원가입', '회원가입', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC02', '사용자등록', '사용자등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC03', '회원탈퇴', '회원탈퇴', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC04', '사용자삭제', '사용자삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC05', '커뮤니티등록', '커뮤니티등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC06', '동호회등록', '동호회등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC07', '커뮤니티폐쇄', '커뮤니티폐쇄', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC08', '동호회폐쇄', '동호회폐쇄', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC09', '게시판등록', '게시판등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM032', 'WC10', '게시판폐쇄', '게시판폐쇄', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'C', '생성', '생성', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'R', '조회', '조회', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'U', '수정', '수정', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM033', 'D', '삭제', '삭제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '1', '학생', '학생', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '2', '대학생', '대학생', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '3', '군인', '군인', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '4', '교사', '교사', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM034', '5', '기타', '기타', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '1', '행사', '행사', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '2', '이벤트', '이벤트', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM035', '3', '캠페인', '캠페인', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '01', '작성', '작성', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '02', '상신', '상신', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '03', '반려', '반려', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM036', '04', '결재완료', '결재완료', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM038', 'N', 'N', '아니오', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM038', 'Y', 'Y', '예', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '001', '사회', '사회', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '002', '정치', '정치', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '003', '경제', '경제', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '004', '문화', '문화', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '005', '인문', '인문', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '006', '공학', '공학', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM039', '007', '기타', '기타', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '01', '휴가계획서', '휴가계획서', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '02', '출장보고서', '출장보고서', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '03', '교육보고서', '교육보고서', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '04', '판품요청서', '판품요청서', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM040', '05', '지원요청서', '지원요청서', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '001', '절차설명', '절차설명', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '002', '기능설명', '기능설명', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM041', '003', '기타설명', '기타설명', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y', '연도별', '연도별', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y-%m', '월별', '월별', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM042', '%Y-%m-%d', '일별', '일별', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '01', '생성', '생성', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '02', '변경', '변경', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM043', '03', '말소', '말소', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '00', '수신처리', '수신처리', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '01', '처리완료', '처리완료', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '10', '기등록', '기등록', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '11', '생성오류', '생성오류', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '12', '변경오류', '변경오류', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM044', '13', '말소오류', '말소오류', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM046', '01', '정상', '정상', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM046', '02', '비정상', '비정상', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '01', '매일', '매일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '02', '매주', '매주', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '03', '매월', '매월', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '04', '매년', '매년', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM047', '05', '한번만', '한번만', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '01', 'Oracle', 'Oracle', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '02', 'Mysql', 'Mysql', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '03', 'Tibero', 'Tibero', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM048', '04', 'Altibase', 'Altibase', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM049', '01', 'Tar', 'Tar', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM049', '02', 'ZIP', 'ZIP', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM050', '1', '수신', '수신', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM050', '2', '참조', '참조', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '01', '신청중', '신청중', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '02', '승인', '승인', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM051', '03', '반려', '반려', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM052', '01', '양력', '양력', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM052', '02', '음력', '음력', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '01', '교육', '교육', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '02', '세미나', '세미나', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '03', '홍보', '홍보', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '04', '단합', '단합', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '05', '간담회', '간담회', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM053', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '01', '결혼', '결혼', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '02', '출생', '출생', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '03', '회갑', '회갑', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '04', '사망', '사망', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '05', '출산', '출산', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM054', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '01', '우수사원', '우수사원', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '02', '우수팀', '우수팀', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM055', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '01', '연차휴가', '연차휴가', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '02', '반차휴가', '반차휴가', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '03', '무급휴가', '무급휴가', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '04', '유급휴가', '유급휴가', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '05', '대체휴가', '대체휴가', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM056', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '1', '회의', '회의', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '2', '방문', '방문', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '3', '세미나', '세미나', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM057', '4', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '1', '반복없음', '당일', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '2', '매일', '매일', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '3', '매주', '매주', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM058', '4', '매월', '매월', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '1', '높음', '높음', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '2', '보통', '보통', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM059', '3', '낮음', '낮음', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM060', '1', '주간보고', '주간보고', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM060', '2', '월간보고', '월간보고', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '1', '재실', '재실', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '2', '자리비움', '자리비움', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '3', '회의중', '회의중', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '4', '출장중', '출장중', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM061', '5', '휴가중', '휴가중', 'Y', SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '100', 'Continue ', 'Continue ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '101', 'Switching Protocols ', 'Switching Protocols ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '200', 'OK ', 'OK ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '201', 'Created ', 'Created ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '202', 'Accepted ', 'Accepted ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '203', 'Non-Authoritative Information ', 'Non-Authoritative Information ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '204', 'No Content ', 'No Content ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '205', 'Reset Content ', 'Reset Content ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '206', 'Partial Content ', 'Partial Content ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '300', 'Multiple Choices ', 'Multiple Choices ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '301', 'Moved Permanently ', 'Moved Permanently ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '302', 'Found ', 'Found ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '303', 'See Other ', 'See Other ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '304', 'Not Modified ', 'Not Modified ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '305', 'Use Proxy ', 'Use Proxy ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '307', 'Temporary Redirect ', 'Temporary Redirect ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '400', 'Bad Request ', 'Bad Request ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '401', 'Unauthorized ', 'Unauthorized ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '403', 'Forbidden ', 'Forbidden ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '404', 'Not Found ', 'Not Found ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '405', 'Method Not Allowed ', 'Method Not Allowed ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '406', 'Not Acceptable ', 'Not Acceptable ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '407', 'Proxy Authentication Required ', 'Proxy Authentication Required ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '408', 'Request Timeout ', 'Request Timeout ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '409', 'Conflict ', 'Conflict ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '410', 'Gone ', 'Gone ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '411', 'Length Required ', 'Length Required ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '412', 'Precondition Failed ', 'Precondition Failed ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '413', 'Request Entity Too Large ', 'Request Entity Too Large ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '414', 'Request URI Too Long ', 'Request URI Too Long ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '415', 'Unsupported Media Type ', 'Unsupported Media Type ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '416', 'Requested Range Not Satisfiable ', 'Requested Range Not Satisfiable ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '417', 'Expectation Failed ', 'Expectation Failed ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '500', 'Internal Server Error ', 'Internal Server Error ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '501', 'Not Implemented ', 'Not Implemented ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '502', 'Bad Gateway ', 'Bad Gateway ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '503', 'Service Unavailable ', 'Service Unavailable ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '504', 'Gateway Timeout ', 'Gateway Timeout ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM062', '505', 'HTTP Version Not Supported ', 'HTTP Version Not Supported ', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '100', 'Runnable', 'Runnable', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '200', 'Sleeping', 'Sleeping', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '300', 'Swapped', 'Swapped', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '400', 'Zombie', 'Zombie', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM063', '500', 'Stopped', 'Stopped', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '01', '웹 서버', '웹 서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '02', 'WAS', 'WAS', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '03', 'DB 서버', 'DB 서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '04', 'Mail 서버', 'Mail 서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '05', 'DNS 서버', 'DNS 서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM064', '99', '기타 서버', '기타 서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '01', '네트워크 장애', '네트워크 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '02', '하드웨어 장애', '하드웨어 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '03', '어플리케이션 장애', '어플리케이션 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '04', '서비스 장애', '서비스 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '05', '모니터링 장애', '모니터링 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '06', '정전', '정전', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '07', '화재', '화재', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '08', '홍수', '홍수', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM065', '99', '기타 장애', '기타 장애', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM066', '01', 'CPU', 'CPU', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM066', '02', '메모리', '메모리', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '01', '서버', '서버', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '02', '라우터', '라우터', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '03', '스위치', '스위치', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '04', 'PC', 'PC', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '05', '프린터', '프린터', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM067', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'A', '접수', '접수', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'C', '완료', '완료', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM068', 'R', '요청', '요청', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '01', '생일', '생일', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '02', '기념', '기념', 'N',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '03', '결혼', '결혼', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '04', '탄생', '탄생', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '05', '축하', '축하', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '06', '출장', '출장', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '07', '퇴원', '퇴원', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM069', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '01', '본관1층', '본관1층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '02', '본관2층', '본관2층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '03', '본관3층', '본관3층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '04', '본관4층', '본관4층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '05', '본관5층', '본관5층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '06', '별관1층', '별관1층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '07', '별관2층', '별관2층', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM070', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM', SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '01', '전기시설', '전기시설', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '02', '소등상태', '소등상태', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '03', '방화요소', '방화요소', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '04', '소방시설', '소방시설', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '05', '비상 KEY', '비상 KEY', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '06', '시건장치', '시건장치', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM071', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '01', '정상', '정상', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '02', '오류', '오류', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '03', '중지', '중지', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM072', '09', '기타', '기타', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '01', '본인', '본인', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '02', '배우자', '배우자', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '03', '자녀', '자녀', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '04', '부친', '부친', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '05', '모친', '모친', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '06', '배우자부친', '배우자부친', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '07', '배우자모친', '배우자모친', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '08', '조부', '조부', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '09', '조모', '조모', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '10', '형제자매(본인)', '형제자매(본인)', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '11', '외조부', '외조부', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '12', '외조모', '외조모', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '13', '백숙부', '백숙부', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '14', '백숙모', '백숙모', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '15', '형제자매(배우자)', '형제자매(배우자)', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM073', '99', '기타', '기타', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '1', '일요일', '일요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '2', '월요일', '월요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '3', '화요일', '화요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '4', '수요일', '수요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '5', '목요일', '목요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '6', '금요일', '금요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM074', '7', '토요일', '토요일', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '001', '경조신청', '경조신청', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '002', '포상신청', '포상신청', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '003', '휴가신청', '휴가신청', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM075', '004', '행사신청', '행사신청', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '01', '정상', '정상', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '02', '비정상', '비정상', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM076', '03', '수행중', '수행중', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST01', '통합게시판', '통합게시판', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST02', '블로그형게시판', '블로그형게시판', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM101', 'BBST03', '방명록', '방명록', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM102', '1', '표준어', '표준어', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); +INSERT INTO COMTCCMMNDETAILCODE(CODE_ID, CODE, CODE_NM, CODE_DC, USE_AT, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('COM102', '2', '동의어', '동의어', 'Y',SYSDATE, 'SYSTEM',SYSDATE, 'SYSTEM'); + +-- 그룹 +INSERT INTO COMTNAUTHORGROUPINFO ( GROUP_ID, GROUP_NM, GROUP_CREAT_DE,GROUP_DC ) VALUES ( 'GROUP_00000000000000', '0번 그룹입니다', SYSDATE, '0번 그룹입니다'); + +-- 조직 COMTNORGNZTINFO +INSERT INTO COMTNORGNZTINFO ( ORGNZT_ID, ORGNZT_NM, ORGNZT_DC ) VALUES ( 'ORGNZT_0000000000000', '기본조직', '기본조직'); + +-- cmm 패키지 끝 ---------------------------------------------------------------------------------------------------------------------------------- + + +-- 업무사용자정보 +INSERT INTO COMTNEMPLYRINFO (EMPLYR_ID, ORGNZT_ID, USER_NM, PASSWORD, EMPL_NO, IHIDNUM, SEXDSTN_CODE, BRTHDY, FXNUM, HOUSE_ADRES, PASSWORD_HINT, PASSWORD_CNSR, HOUSE_END_TELNO, AREA_NO, DETAIL_ADRES, ZIP, OFFM_TELNO, MBTLNUM, EMAIL_ADRES, OFCPS_NM, HOUSE_MIDDLE_TELNO, GROUP_ID, PSTINST_CODE, EMPLYR_STTUS_CODE, ESNTL_ID, CRTFC_DN_VALUE, SBSCRB_DE) VALUES ('TEST1','ORGNZT_0000000000000','테스트1', 'raHLBnHFcunwNzcDcfad4PhD11hHgXSUr7fc1Jk9uoQ=','20112059',null,'F','20111130','1566-2059','서울 중구 무교동 한국정보화진흥원','P01','전자정부표준프레임워크센터','2059','02','전자정부표준프레임워크센터','100775','1566-2059','1566-2059','egovframesupport@gmail.com','관리자','1566','GROUP_00000000000000','00000001','P','USRCNFRM_00000000000','',SYSDATE); +INSERT INTO COMTNEMPLYRINFO (EMPLYR_ID, ORGNZT_ID, USER_NM, PASSWORD, EMPL_NO, IHIDNUM, SEXDSTN_CODE, BRTHDY, FXNUM, HOUSE_ADRES, PASSWORD_HINT, PASSWORD_CNSR, HOUSE_END_TELNO, AREA_NO, DETAIL_ADRES, ZIP, OFFM_TELNO, MBTLNUM, EMAIL_ADRES, OFCPS_NM, HOUSE_MIDDLE_TELNO, GROUP_ID, PSTINST_CODE, EMPLYR_STTUS_CODE, ESNTL_ID, CRTFC_DN_VALUE, SBSCRB_DE) VALUES ('webmaster','ORGNZT_0000000000000','웹마스터','78gXjfDDMzepOP4QTiFMRFOT/msFgKkHIgGOU95PT94=','20112060',null,'F','20111130','1566-2059','서울특별시 중구 청계천로 14 - 0 한국정보사회진흥원','P01','전자정부표준프레임워크센터','2059','02','전자정부표준프레임워크센터','100775','1566-2059','1566-2059','egovframesupport@gmail.com','웹관리자','1566','GROUP_00000000000000','00000001','P','USRCNFRM_99999999999','',SYSDATE); + +-- 일반사용자정보 +INSERT INTO COMTNGNRLMBER (MBER_ID,PASSWORD,PASSWORD_HINT,PASSWORD_CNSR,IHIDNUM,MBER_NM,ZIP,ADRES,AREA_NO,MBER_STTUS,DETAIL_ADRES,END_TELNO,MBTLNUM,GROUP_ID,MBER_FXNUM,MBER_EMAIL_ADRES,MIDDLE_TELNO,SBSCRB_DE,SEXDSTN_CODE,ESNTL_ID) values ('USER','6TAJYwhKCgkgzPXDb83ZUiHi2/TKHhD7t5Ba6RN2qoo=','P01','전자정부표준프레임워크센터',null,'일반회원','100775','서울 중구 무교동 한국정보화진흥원','02','P','전자정부표준프레임워크센터','2059','1566-2059','GROUP_00000000000000','1566-2059','egovframesupport@gmail.com','1566',SYSDATE,'F','USRCNFRM_00000000001'); + +-- 기업사용자정보 +INSERT INTO COMTNENTRPRSMBER (ENTRPRS_MBER_ID,ENTRPRS_SE_CODE,BIZRNO,JURIRNO,CMPNY_NM,CXFC,ZIP,ADRES,ENTRPRS_MIDDLE_TELNO,FXNUM,INDUTY_CODE,APPLCNT_NM,APPLCNT_IHIDNUM,SBSCRB_DE,ENTRPRS_MBER_STTUS,ENTRPRS_MBER_PASSWORD,ENTRPRS_MBER_PASSWORD_HINT,ENTRPRS_MBER_PASSWORD_CNSR,GROUP_ID,DETAIL_ADRES,ENTRPRS_END_TELNO,AREA_NO,APPLCNT_EMAIL_ADRES,ESNTL_ID) values ('ENTERPRISE','C0000001','1008360001','1000310000011','NIA','이가브','100775','서울특별시 중구 청계천로 14 - 0 한국정보사회진흥원','1566','1566-2059','O','관리자',null,SYSDATE,'P','ZQhr3oB5QWjBnBO0kbFF7bvQDLkk+Em0ExjTq5JtVTo=','P01','전자정부표준프레임워크센터','GROUP_00000000000000','표준프레임워크센터','2059','02','egovframesupport@gmail.com','USRCNFRM_00000000002'); + +-- 약관정보 +INSERT INTO COMTNSTPLATINFO ( USE_STPLAT_ID, INFO_PROVD_AGRE_CN, USE_STPLAT_CN, FRST_REGIST_PNTTM,FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID, USE_STPLAT_NM ) VALUES ( 'STPLAT_0000000000001', '제1조(목적 등)-개인회원', '개인정보의 수집 및 이용목적-개인회원', SYSDATE, 'USRCNFRM_00000000000', SYSDATE, 'USRCNFRM_00000000000', '인터넷이용약관'); +INSERT INTO COMTNSTPLATINFO ( USE_STPLAT_ID, INFO_PROVD_AGRE_CN, USE_STPLAT_CN, FRST_REGIST_PNTTM,FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID, USE_STPLAT_NM ) VALUES ( 'STPLAT_0000000000002', '제1조(목적 등)-기업회원', '개인정보의 수집 및 이용목적-기업회원', SYSDATE, 'USRCNFRM_00000000000', SYSDATE, 'USRCNFRM_00000000000', '인터넷이용약관'); + +-- 권한정보 +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_ANONYMOUS' ,'모든 사용자' , '', SYSDATE); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_ANONYMOUSLY' ,'스프링시큐리티 내부사용(롤부여 금지)' , '', SYSDATE); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_REMEMBERED' ,'스프링시큐리티 내부사용(롤부여 금지)', '', SYSDATE); +INSERT INTO COMTNAUTHORINFO VALUES ('IS_AUTHENTICATED_FULLY' ,'스프링시큐리티 내부사용(롤부여 금지)' , '', SYSDATE); +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_USER' ,'일반 사용자' , '', SYSDATE); +INSERT INTO COMTNAUTHORINFO VALUES ('ROLE_ADMIN' ,'관리자' , '', SYSDATE); + +-- 롤 계층구조 +INSERT INTO COMTNROLES_HIERARCHY VALUES ('ROLE_ANONYMOUS' ,'IS_AUTHENTICATED_ANONYMOUSLY'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_ANONYMOUSLY' ,'IS_AUTHENTICATED_REMEMBERED'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_REMEMBERED' ,'IS_AUTHENTICATED_FULLY'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('IS_AUTHENTICATED_FULLY' ,'ROLE_USER'); +INSERT INTO COMTNROLES_HIERARCHY VALUES ('ROLE_USER' ,'ROLE_ADMIN'); + +-- 사용자보안설정 +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000000', 'USR03', 'ROLE_ADMIN'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000001', 'USR01', 'ROLE_USER'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_00000000002', 'USR02', 'ROLE_USER'); +INSERT INTO COMTNEMPLYRSCRTYESTBS (SCRTY_DTRMN_TRGET_ID, MBER_TY_CODE, AUTHOR_CODE) VALUES ('USRCNFRM_99999999999', 'USR03', 'ROLE_ADMIN'); + +-- 롤 등록 +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000001', '로그인롤', '\A/uat/uia/.*\.do.*\Z', '로그인허용을 위한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000002', '좌측메뉴', '/EgovLeft.do', '좌측 메뉴에 대한 접근 제한 롤', 'url', '2', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000003', '모든접근제한', '\A/.*\.do.*\Z', '모든자원에 대한 접근 제한 롤', 'url', '3', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000004', '회원관리', '\A/uss/umt/.*\.do.*\Z', '회원관리에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000005', '실명확인', '\A/sec/rnc/.*\.do.*\Z', '실명확인에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000006', '우편번호', '\A/sym/ccm/zip/.*\.do.*\Z', '우편번호관리에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000007', '로그인이미지', '\A/uss/ion/lsi/.*\.do.*\Z', '로그인이미지관리에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000008', '파일다운로드', '\A/sym/ccm/zip/.*\.do.*\Z', '파일다운로드에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000009', '상단메뉴', '/EgovTop.do', '상단메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000010', '하단메뉴', '/EgovBottom.do', '하단메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000011', '왼쪽메뉴', '/EgovLeft.do', '왼쪽메뉴에 대한 접근 제한 롤', 'url', '1', SYSDATE); +INSERT INTO COMTNROLEINFO (ROLE_CODE, ROLE_NM, ROLE_PTTRN, ROLE_DC, ROLE_TY, ROLE_SORT, ROLE_CREAT_DE) VALUES('web-000012', 'Validator모듈','/validator.do','Validator에 대한 접근 제한 롤', 'url', '1', SYSDATE); + +-- 권한 롤 매핑 +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000001', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000002', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000004', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000005', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000006', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000007', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000008', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000009', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000010', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000011', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ANONYMOUS', 'web-000012', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_USER', 'web-000003', SYSDATE); +INSERT INTO COMTNAUTHORROLERELATE (AUTHOR_CODE, ROLE_CODE, CREAT_DT) VALUES ('ROLE_ADMIN', 'web-000003', SYSDATE); + +-- 프로그램목록 +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CnsltAnswerListInqire','/uss/olp/cnm/','상담답변관리','상담답변관리','/uss/olp/cnm/CnsltAnswerListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CnsltListInqire','/uss/olp/cns/','상담관리','상담관리','/uss/olp/cns/CnsltListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('CpyrhtPrtcPolicyListInqire','/uss/sam/cpy/','저작권보호정책','저작권보호정책','/uss/sam/cpy/CpyrhtPrtcPolicyListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('dir','dir','디렉토리','디렉토리','dir'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAllSchdulManageList','/cop/smt/sam/','전체일정관리','전체일정관리','/cop/smt/sam/EgovAllSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAuthorGroupList','/sec/rgm/','권한그룹관리','권한그룹관리','/sec/rgm/EgovAuthorGroupList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovAuthorList','/sec/ram/','권한관리','권한관리','/sec/ram/EgovAuthorList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovBndtCeckManageList','/uss/ion/bnt/','당직체크관리','당직체크관리','/uss/ion/bnt/EgovBndtCeckManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovBndtManageList','/uss/ion/bnt/','당직관리','당직관리','/uss/ion/bnt/EgovBndtManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmAdministCodeList','/sym/ccm/adc/','행정코드관리','행정코드관리','/sym/ccm/adc/EgovCcmAdministCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnClCodeList','/sym/ccm/ccc/','공통분류코드','공통분류코드','/sym/ccm/ccc/EgovCcmCmmnClCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnCodeList','/sym/ccm/cca/','공통코드','공통코드','/sym/ccm/cca/EgovCcmCmmnCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmCmmnDetailCodeList','/sym/ccm/cde/','공통상세코드','공통상세코드','/sym/ccm/cde/EgovCcmCmmnDetailCodeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCcmZipList','/sym/ccm/zip/','우편번호관리','우편번호관리','/sym/ccm/zip/EgovCcmZipList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamAppraisalList','/dam/app/','지식평가관리','지식평가관리','/dam/app/EgovComDamAppraisalList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamManagementList','/dam/mgm/','지식정보관리','지식정보관리','/dam/mgm/EgovComDamManagementList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamMapMaterialList','/dam/map/mat/','지식맵관리(유형)','지식맵관리(유형)','/dam/map/mat/EgovComDamMapMaterialList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamMapTeamList','/dam/map/tea/','지식맵관리(조직)','지식맵관리(조직)','/dam/map/tea/EgovComDamMapTeamList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamPersonalList','/dam/per/','개인지식관리','개인지식관리','/dam/per/EgovComDamPersonalList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComDamSpecialistList','/dam/spe/spe/','지식전문가관리','지식전문가관리','/dam/spe/spe/EgovComDamSpecialistList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComUtlHttpMonList','/utl/sys/htm/','HTTP서비스모니터링','HTTP서비스모니터링','/utl/sys/htm/EgovComUtlHttpMonList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovComUtlProcessMonList','/utl/sys/prm/','프로세스모니터링','프로세스모니터링','/utl/sys/prm/EgovComUtlProcessMonList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovCtsnnConfmList','/uss/ion/ctn/','직원경조사승인관리','직원경조사승인관리','/uss/ion/ctn/EgovCtsnnConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDeptAuthorList','/sec/drm/','부서권한관리','부서권한관리','/sec/drm/EgovDeptAuthorList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDeptSchdulManageList','/cop/smt/sdm/','부서일정관리','부서일정관리','/cop/smt/sdm/EgovDeptSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovDiaryManageList','/cop/smt/dsm/','일지관리','일지관리','/cop/smt/dsm/EgovDiaryManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEntrprsMberManage','/uss/umt/','기업회원관리','기업회원관리','/uss/umt/EgovEntrprsMberManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventCmpgnList','/uss/ion/ecc/','행사/이벤트/캠페인','행사/이벤트/캠페인','/uss/ion/ecc/EgovEventCmpgnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventRcrptManageList','/uss/ion/evt/','행사접수관리','행사접수관리','/uss/ion/evt/EgovEventRcrptManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovEventReqstManageList','/uss/ion/evt/','행사신청관리','행사신청관리','/uss/ion/evt/EgovEventReqstManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovGroupList','/sec/gmt/','그룹관리','그룹관리','/sec/gmt/EgovGroupList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovIndvdlpgeCntntsList','/uss/mpe/','마이페이지관리','마이페이지관리','/uss/mpe/EgovIndvdlpgeCntntsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovIndvdlSchdulManageList','/cop/smt/sim/','일정관리','일정관리','/cop/smt/sim/EgovIndvdlSchdulManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('egovLoginUsr','/uat/uia/','로그인','로그인','/uat/uia/egovLoginUsr.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMberManage','/uss/umt/','일반회원관리','일반회원관리','/uss/umt/EgovMberManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMeetingManageList','/uss/olp/mgt/','회의관리','회의관리','/uss/olp/mgt/EgovMeetingManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuCreatManageSelect','/sym/mnu/mcm/','메뉴생성관리','메뉴생성관리','/sym/mnu/mcm/EgovMenuCreatManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuListSelect','/sym/mnu/mpm/','메뉴리스트관리','메뉴리스트관리','/sym/mnu/mpm/EgovMenuListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovMenuManageSelect','/sym/mnu/mpm/','메뉴관리리스트','메뉴관리리스트','/sym/mnu/mpm/EgovMenuManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChangeRequstProcessListSelect','/sym/prm/','프로그램변경요청처리','프로그램변경요청처리','/sym/prm/EgovProgramChangeRequstProcessListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChangeRequstSelect','/sym/prm/','프로그램변경요청관리','프로그램변경요청관리','/sym/prm/EgovProgramChangeRequstSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramChgHstListSelect','/sym/prm/','프로그램변경이력','프로그램변경이력','/sym/prm/EgovProgramChgHstListSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovProgramListManageSelect','/sym/prm/','프로그램관리','프로그램관리','/sym/prm/EgovProgramListManageSelect.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrItemManageList','/uss/olp/qim/','항목관리','항목관리','/uss/olp/qim/EgovQustnrItemManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrManageList','/uss/olp/qmc/','설문관리','설문관리','/uss/olp/qmc/EgovQustnrManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrQestnManageList','/uss/olp/qqm/','질문관리','질문관리','/uss/olp/qqm/EgovQustnrQestnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrRespondInfoManageList','/uss/olp/qnn/','설문조사','설문조사','/uss/olp/qnn/EgovQustnrRespondInfoManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrRespondManageList','/uss/olp/qrm/','응답자관리','응답자관리','/uss/olp/qrm/EgovQustnrRespondManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovQustnrTmplatManageList','/uss/olp/qtm/','설문템플릿관리','설문템플릿관리','/uss/olp/qtm/EgovQustnrTmplatManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRestdeList','/sym/cal/','공휴일관리(달력)','공휴일관리(달력)','/sym/cal/EgovRestdeList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRoleList','/sec/rmt/','롤관리','롤관리','/sec/rmt/EgovRoleList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovRwardConfmList','/uss/ion/rwd/','포상승인관리','포상승인관리','/uss/ion/rwd/EgovRwardConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovSiteMapng','/sym/mnu/stm/','사이트맵','사이트맵','/sym/mnu/stm/EgovSiteMapng.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovTnextrlHrInfoList','/uss/ion/ecc/','외부인사정보','외부인사정보','/uss/ion/ecc/EgovTnextrlHrInfoList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovUserManage','/uss/umt/','업무사용자관리','업무사용자관리','/uss/umt/EgovUserManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovVcatnConfmList','/uss/ion/vct/','휴가승인관리','휴가승인관리','/uss/ion/vct/EgovVcatnConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('EgovVcatnManageList','/uss/ion/vct/','휴가관리','휴가관리','/uss/ion/vct/EgovVcatnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('FaqListInqire','/uss/olh/faq/','FAQ관리','FAQ관리','/uss/olh/faq/FaqListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBackupOpertList','/sym/sym/bak/','백업관리','백업관리','/sym/sym/bak/getBackupOpertList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBackupResultList','/sym/sym/bak/','백업결과관리','백업결과관리','/sym/sym/bak/getBackupResultList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchOpertList','/sym/bat/','배치작업관리','배치작업관리','/sym/bat/getBatchOpertList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchResultList','/sym/bat/','배치결과관리','배치결과관리','/sym/bat/getBatchResultList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getBatchSchdulList','/sym/bat/','스케줄처리','스케줄처리','/sym/bat/getBatchSchdulList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcInsttList','/ssi/syi/iis/','연계기관관리','연계기관관리','/ssi/syi/iis/getCntcInsttList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcMessageList','/ssi/syi/ims/','연계메시지관리','연계메시지관리','/ssi/syi/ims/getCntcMessageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getCntcSttusList','/ssi/syi/ist/','연계현황관리','연계현황관리','/ssi/syi/ist/getCntcSttusList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getDbMntrngList','/utl/sys/dbm/','DB서비스모니터링','DB서비스모니터링','/utl/sys/dbm/getDbMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getInsttCodeRecptnList','/sym/ccm/icr/','기관코드수신','기관코드수신','/sym/ccm/icr/getInsttCodeRecptnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getMainImageResult','/uss/ion/msi/','메인이미지 반영결과보기','메인이미지 반영결과보기','/uss/ion/msi/getMainImageResult.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getSystemCntcList','/ssi/syi/sim/','시스템연계관리','시스템연계관리','/ssi/syi/sim/getSystemCntcList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('getTrsmrcvMntrngList','/utl/sys/trm/','송수신모니터링','송수신모니터링','/utl/sys/trm/getTrsmrcvMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('HpcmListInqire','/uss/olh/hpc/','도움말','도움말','/uss/olh/hpc/HpcmListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('insertSndngMailView','/cop/ems/','메일발송','메일발송','/cop/ems/insertSndngMailView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listAdministrationWord','/uss/olh/awm/','행정전문용어사전','행정전문용어사전','/uss/olh/awm/listAdministrationWord.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listAdministrationWordManage','/uss/olh/awm/','행정전문용어사전관리','행정전문용어사전관리','/uss/olh/awm/listAdministrationWordManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listIndvdlInfoPolicy','/uss/sam/ipm/','개인정보보호정책확인','개인정보보호정책확인','/uss/sam/ipm/listIndvdlInfoPolicy.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listNoteRecptn','/uss/ion/ntr/','받은쪽지함관리','받은쪽지함관리','/uss/ion/ntr/listNoteRecptn.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listNoteTrnsmit','/uss/ion/nts/','보낸쪽지함관리','보낸쪽지함관리','/uss/ion/nts/listNoteTrnsmit.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlineManual','/uss/olh/omm/','온라인매뉴얼','온라인매뉴얼','/uss/olh/omm/selectOnlineManualList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlinePollManage','/uss/olp/opm/','온라인poll관리','온라인poll관리','/uss/olp/opm/listOnlinePollManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listOnlinePollPartcptn','/uss/olp/opp/','온라인poll참여','온라인poll참여','/uss/olp/opp/listOnlinePollPartcptn.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listPopup','/uss/ion/pwm/','팝업창관리','팝업창관리','/uss/ion/pwm/listPopup.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRecentSrchwrd','/uss/ion/rsm/','최근검색어 목록','최근검색어 목록','/uss/ion/rsm/listRecentSrchwrd.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRequestOffer','/dam/spe/req/','지식정보제공','지식정보제공','/dam/spe/req/listRequestOffer.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRssTagManage','/uss/ion/rss/','RSS태그관리','RSS태그관리','/uss/ion/rss/listRssTagManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listRssTagService','/uss/ion/rsn/','RSS태그서비스','RSS태그서비스','/uss/ion/rsn/listRssTagService.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listUnityLink','/uss/ion/ulm/','통합링크관리','통합링크관리','/uss/ion/ulm/listUnityLink.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('listWikiBookmark','/uss/ion/wik/bmk/','Wiki기능','Wiki기능','/uss/ion/wik/bmk/listWikiBookmark.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('loginSessionView','/utl/sys/rsc/','로그인세션정보체크','로그인세션정보체크','/utl/sys/rsc/loginSessionView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('NewsInfoListInqire','/uss/ion/nws/','뉴스관리','뉴스관리','/uss/ion/nws/NewsInfoListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('OnlineManualUserList','/uss/olh/omn/','사용자온라인매뉴얼','사용자온라인매뉴얼','/uss/olh/omn/selectOnlineManualList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('QnaAnswerListInqire','/uss/olh/qnm/','Q&amp;A답변관리','Q&amp;A답변관리','/uss/olh/qnm/QnaAnswerListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('QnaListInqire','/uss/olh/qna/','Q&amp;A관리','Q&amp;A관리','/uss/olh/qna/QnaListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('RecomendSiteListInqire','/uss/ion/rec/','추천사이트관리','추천사이트관리','/uss/ion/rec/RecomendSiteListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('registEgovNoteManage','/uss/ion/ntm/','쪽지관리','쪽지관리','/uss/ion/ntm/registEgovNoteManage.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAdbkList','/cop/adb/','주소록관리','주소록관리','/cop/adb/selectAdbkList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAnnvrsryMainList','/uss/ion/ans/','기념일목록(확인용)','기념일목록(확인용)','/uss/ion/ans/selectAnnvrsryMainList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectAnnvrsryManageList','/uss/ion/ans/','기념일관리','기념일관리','/uss/ion/ans/selectAnnvrsryManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBannerList','/uss/ion/bnr/','배너관리','배너관리','/uss/ion/bnr/selectBannerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBannerMainList','/uss/ion/bnr/','MYPAGE배너관리','MYPAGE배너관리','/uss/ion/bnr/selectBannerMainList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectBBSMasterInfs','/cop/bbs/','게시판속성관리','게시판속성관리','/cop/bbs/SelectBBSMasterInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBbsStats','/sts/bst/','게시물통계','게시물통계','/sts/bst/selectBbsStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBBSUseInfs','/cop/com/','게시판사용정보','게시판사용정보','/cop/com/selectBBSUseInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectBkmkMenuManageList','/sym/mnu/bmm/','바로가기메뉴관리','바로가기메뉴관리','/sym/mnu/bmm/selectBkmkMenuManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectCmmntyInfs','/cop/cmy/','커뮤니티관리','커뮤니티관리','/cop/cmy/selectCmmntyInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectConectStats','/sts/cst/','접속통계','접속통계','/sts/cst/selectConectStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectCtsnnManageList','/uss/ion/ctn/','직원경조사관리','직원경조사관리','/uss/ion/ctn/selectCtsnnManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptJobBxList','/cop/smt/djm/','부서업무함관리','부서업무함관리','/cop/smt/djm/selectDeptJobBxList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptJobList','/cop/smt/djm/','부서업무정보','부서업무정보','/cop/smt/djm/selectDeptJobList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDeptManageListView','/uss/umt/dpt/','부서관리','부서관리','/uss/umt/dpt/selectDeptManageListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectDtaUseStatsList','/sts/dst/','자료이용현황통계','자료이용현황통계','/sts/dst/selectDtaUseStatsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectEventRceptConfmList','/uss/ion/evt/','행사접수승인관리','행사접수승인관리','/uss/ion/evt/selectEventRceptConfmList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectFileSysMntrngList','/utl/sys/fsm/','파일시스템모니터링','파일시스템모니터링','/utl/sys/fsm/selectFileSysMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectIntnetSvcGuidanceList','/uss/ion/isg/','인터넷서비스안내및관리','인터넷서비스안내및관리','/uss/ion/isg/selectIntnetSvcGuidanceList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLeaderSchdulList','/cop/smt/lsm/usr/','간부일정관리','간부일정관리','/cop/smt/lsm/usr/selectLeaderSchdulList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectLoginLogList','/sym/log/clg/','접속로그관리','접속로그관리','/sym/log/clg/SelectLoginLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLoginPolicyList','/uat/uap/','로그인정책관리','로그인정책관리','/uat/uap/selectLoginPolicyList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectLoginScrinImageList','/uss/ion/lsi/','로그인화면이미지관리','로그인화면이미지관리','/uss/ion/lsi/selectLoginScrinImageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMainImageList','/uss/ion/msi/','메인이미지관리','메인이미지관리','/uss/ion/msi/selectMainImageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMemoReprtList','/cop/smt/mrm/','메모보고','메모보고','/cop/smt/mrm/selectMemoReprtList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMemoTodoList','/cop/smt/mtm/','메모할일관리','메모할일관리','/cop/smt/mtm/selectMemoTodoList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMntrngServerList','/utl/sys/srm/','서버자원모니터링-대상목록','서버자원모니터링-대상목록','/utl/sys/srm/selectMntrngServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMtgPlaceManageList','/uss/ion/mtg/','회의실관리','회의실관리','/uss/ion/mtg/selectMtgPlaceManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMtgPlaceResveManageList','/uss/ion/mtg/','회의실예약관리','회의실예약관리','/uss/ion/mtg/selectMtgPlaceResveManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectMyNcrdUseInf','/cop/ncm/','내명함목록','내명함목록','/cop/ncm/selectMyNcrdUseInf.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNcrdInfs','/cop/ncm/','명함관리','명함관리','/cop/ncm/selectNcrdInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNotificationList','/uss/ion/noi/','정보알림이','정보알림이','/uss/ion/noi/selectNotificationList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNtwrkList','/sym/sym/nwk/','네트워크관리','네트워크관리','/sym/sym/nwk/selectNtwrkList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectNtwrkSvcMntrngList','/utl/sys/nsm/','네트워크서비스모니터링','네트워크서비스모니터링','/utl/sys/nsm/selectNtwrkSvcMntrngList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectProxySvcList','/utl/sys/pxy/','프록시서비스','프록시서비스','/utl/sys/pxy/selectProxySvcList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectReprtStatsListView','/sts/rst/','보고서통계','보고서통계','/sts/rst/selectReprtStatsListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectRwardManageList','/uss/ion/rwd/','포상관리','포상관리','/uss/ion/rwd/selectRwardManageList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectScrapList','/cop/scp/','스크랩 목록','스크랩 목록','/cop/scp/selectScrapList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectScrinStats','/sts/sst/','화면통계','화면통계','/sts/sst/selectScrinStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectServerEqpmnList','/sym/sym/srv/','서버정보관리','서버정보관리','/sym/sym/srv/selectServerEqpmnList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectServerList','/sym/sym/srv/','서버(S/W)목록','서버(S/W)목록','/sym/sym/srv/selectServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSmsList','/cop/sms/','문자메시지','문자메시지','/cop/sms/selectSmsList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSndngMailList','/cop/ems/','발송메일내역','발송메일내역','/cop/ems/selectSndngMailList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectSynchrnServerList','/utl/sys/ssy/','파일동기화(대상서버)','파일동기화(대상서버)','/utl/sys/ssy/selectSynchrnServerList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectSysHistoryList','/sym/log/slg/','시스템이력관리','시스템이력관리','/sym/log/slg/SelectSysHistoryList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectSysLogList','/sym/log/lgm/','로그관리','로그관리','/sym/log/lgm/SelectSysLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTemplateInfs','/cop/tpl/','템플릿관리','템플릿관리','/cop/tpl/selectTemplateInfs.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTroblProcessList','/sym/tbm/tbp/','장애처리결과관리','장애처리결과관리','/sym/tbm/tbp/selectTroblProcessList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTroblReqstList','/sym/tbm/tbr/','장애신청관리','장애신청관리','/sym/tbm/tbr/selectTroblReqstList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectTrsmrcvLogList','/sym/log/tlg/','송/수신로그관리','송/수신로그관리','/sym/log/tlg/SelectTrsmrcvLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectTwitterMain','/uss/ion/tir/','Twitter연동','Twitter연동','/uss/ion/tir/selectTwitterMain.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectUserAbsnceListView','/uss/ion/uas/','사용자부재관리','사용자부재관리','/uss/ion/uas/selectUserAbsnceListView.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectUserLogList','/sym/log/ulg/','사용로그관리','사용로그관리','/sym/log/ulg/SelectUserLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectUserStats','/sts/ust/','사용자통계','사용자통계','/sts/ust/selectUserStats.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SelectWebLogList','/sym/log/wlg/','웹로그관리','웹로그관리','/sym/log/wlg/SelectWebLogList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('selectWikMnthngReprtList','/cop/smt/wmr/','주간/월간보고관리','주간/월간보고관리','/cop/smt/wmr/selectWikMnthngReprtList.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('SiteListInqire','/uss/ion/sit/','사이트관리','사이트관리','/uss/ion/sit/SiteListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('StplatListInqire','/uss/sam/stp/','약관관리','약관관리','/uss/sam/stp/StplatListInqire.do'); +INSERT INTO COMTNPROGRMLIST(PROGRM_FILE_NM, PROGRM_STRE_PATH, PROGRM_KOREAN_NM, PROGRM_DC, URL) VALUES ('WordDicaryListInqire','/uss/olh/wor/','용어사전','용어사전','/uss/olh/wor/WordDicaryListInqire.do'); + +-- 메뉴정보 +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('root','dir',0,0,1,'root','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자디렉토리/통합인증','dir',1000000,0,1,'사용자디렉토리/통합인증','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인','egovLoginUsr',1010000,1000000,1,'로그인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인정책관리','selectLoginPolicyList',1020000,1000000,2,'로그인정책관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보안','dir',2000000,0,2,'보안','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('권한관리','EgovAuthorList',2010000,2000000,1,'권한관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('권한그룹관리','EgovAuthorGroupList',2020000,2000000,2,'권한그룹관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('그룹관리','EgovGroupList',2030000,2000000,3,'그룹관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('롤관리','EgovRoleList',2040000,2000000,4,'롤관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서권한관리','EgovDeptAuthorList',2050000,2000000,5,'부서권한관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('통계/리포팅','dir',3000000,0,3,'통계/리포팅','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시물통계','selectBbsStats',3010000,3000000,1,'게시물통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자통계','selectUserStats',3020000,3000000,2,'사용자통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('접속통계','selectConectStats',3030000,3000000,3,'접속통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('화면통계','selectScrinStats',3040000,3000000,4,'화면통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보고서통계','selectReprtStatsListView',3050000,3000000,5,'보고서통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('자료이용현황통계','selectDtaUseStatsList',3060000,3000000,6,'자료이용현황통계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('협업','dir',4000000,0,4,'협업','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시판속성관리','SelectBBSMasterInfs',4010000,4000000,1,'게시판속성관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('게시판사용정보','selectBBSUseInfs',4020000,4000000,2,'게시판사용정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('템플릿관리','selectTemplateInfs',4030000,4000000,3,'템플릿관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('스크랩 목록','selectScrapList',4040000,4000000,4,'스크랩 목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('커뮤니티관리','selectCmmntyInfs',4050000,4000000,5,'커뮤니티관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('문자메시지','selectSmsList',4060000,4000000,6,'문자메시지','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서일정관리','EgovDeptSchdulManageList',4070000,4000000,7,'부서일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일정관리','EgovIndvdlSchdulManageList',4080000,4000000,8,'일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일지관리','EgovDiaryManageList',4090000,4000000,9,'일지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('전체일정관리','EgovAllSchdulManageList',4100000,4000000,10,'전체일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메일발송','insertSndngMailView',4110000,4000000,11,'메일발송','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('발송메일내역','selectSndngMailList',4120000,4000000,12,'발송메일내역','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('명함관리','selectNcrdInfs',4130000,4000000,13,'명함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('내명함목록','selectMyNcrdUseInf',4140000,4000000,14,'내명함목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('주소록관리','selectAdbkList',4150000,4000000,15,'주소록관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('간부일정관리','selectLeaderSchdulList',4160000,4000000,16,'간부일정관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서업무함관리','selectDeptJobBxList',4170000,4000000,17,'부서업무함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서업무정보','selectDeptJobList',4180000,4000000,18,'부서업무정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('주간/월간보고관리','selectWikMnthngReprtList',4190000,4000000,19,'주간/월간보고관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메모할일관리','selectMemoTodoList',4200000,4000000,20,'메모할일관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메모보고','selectMemoReprtList',4210000,4000000,21,'메모보고','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자지원','dir',5000000,0,5,'사용자지원','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기업회원관리','EgovEntrprsMberManage',5010000,5000000,1,'기업회원관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('업무사용자관리','EgovUserManage',5020000,5000000,2,'업무사용자관리','',''); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('부서관리','selectDeptManageListView',5030000,5000000,3,'부서관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('일반회원관리','EgovMberManage',5040000,5000000,4,'일반회원관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('마이페이지관리','EgovIndvdlpgeCntntsList',5050000,5000000,5,'마이페이지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('약관관리','StplatListInqire',5060000,5000000,6,'약관관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('저작권보호정책','CpyrhtPrtcPolicyListInqire',5070000,5000000,7,'저작권보호정책','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('개인정보보호정책확인','listIndvdlInfoPolicy',5080000,5000000,8,'개인정보보호정책확인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('도움말','HpcmListInqire',5090000,5000000,9,'도움말','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('용어사전','WordDicaryListInqire',5100000,5000000,10,'용어사전','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('FAQ관리','FaqListInqire',5110000,5000000,11,'FAQ관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Q&amp;A관리','QnaListInqire',5120000,5000000,12,'Q&amp;A관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Q&amp;A답변관리','QnaAnswerListInqire',5130000,5000000,13,'Q&amp;A답변관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정전문용어사전','listAdministrationWord',5140000,5000000,14,'행정전문용어사전','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정전문용어사전관리','listAdministrationWordManage',5150000,5000000,15,'행정전문용어사전관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인매뉴얼','listOnlineManual',5160000,5000000,16,'온라인매뉴얼','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자온라인매뉴얼','OnlineManualUserList',5170000,5000000,17,'사용자온라인매뉴얼','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('상담관리','CnsltListInqire',5180000,5000000,18,'상담관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('상담답변관리','CnsltAnswerListInqire',5190000,5000000,19,'상담답변관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문관리','EgovQustnrManageList',5200000,5000000,20,'설문관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문조사','EgovQustnrRespondInfoManageList',5210000,5000000,21,'설문조사','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('설문템플릿관리','EgovQustnrTmplatManageList',5220000,5000000,22,'설문템플릿관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('응답자관리','EgovQustnrRespondManageList',5230000,5000000,23,'응답자관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('질문관리','EgovQustnrQestnManageList',5240000,5000000,24,'질문관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('항목관리','EgovQustnrItemManageList',5250000,5000000,25,'항목관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의관리','EgovMeetingManageList',5260000,5000000,26,'회의관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인poll관리','listOnlinePollManage',5270000,5000000,27,'온라인poll관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('온라인poll참여','listOnlinePollPartcptn',5280000,5000000,28,'온라인poll참여','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('뉴스관리','NewsInfoListInqire',5290000,5000000,29,'뉴스관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사이트관리','SiteListInqire',5300000,5000000,30,'사이트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('추천사이트관리','RecomendSiteListInqire',5310000,5000000,31,'추천사이트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사/이벤트/캠페인','EgovEventCmpgnList',5320000,5000000,32,'행사/이벤트/캠페인','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('외부인사정보','EgovTnextrlHrInfoList',5330000,5000000,33,'외부인사정보','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('팝업창관리','listPopup',5340000,5000000,34,'팝업창관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('정보알림이','selectNotificationList',5350000,5000000,35,'정보알림이','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배너관리','selectBannerList',5360000,5000000,36,'배너관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('MYPAGE배너관리','selectBannerMainList',5370000,5000000,37,'MYPAGE배너관리','',''); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인화면이미지관리','selectLoginScrinImageList',5380000,5000000,38,'로그인화면이미지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('최근검색어 목록','listRecentSrchwrd',5390000,5000000,39,'최근검색어 목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메인이미지관리','selectMainImageList',5400000,5000000,40,'메인이미지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메인이미지 반영결과보기','getMainImageResult',5410000,5000000,41,'메인이미지 반영결과보기','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('통합링크관리','listUnityLink',5420000,5000000,42,'통합링크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용자부재관리','selectUserAbsnceListView',5430000,5000000,43,'사용자부재관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('인터넷서비스안내및관리','selectIntnetSvcGuidanceList',5440000,5000000,44,'인터넷서비스안내및관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Wiki기능','listWikiBookmark',5450000,5000000,45,'Wiki기능','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('RSS태그관리','listRssTagManage',5460000,5000000,46,'RSS태그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('RSS태그서비스','listRssTagService',5470000,5000000,47,'RSS태그서비스','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('Twitter연동','selectTwitterMain',5480000,5000000,48,'Twitter연동','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('쪽지관리','registEgovNoteManage',5490000,5000000,49,'쪽지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('받은쪽지함관리','listNoteRecptn',5500000,5000000,50,'받은쪽지함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('보낸쪽지함관리','listNoteTrnsmit',5510000,5000000,51,'보낸쪽지함관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의실관리','selectMtgPlaceManageList',5520000,5000000,52,'회의실관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('회의실예약관리','selectMtgPlaceResveManageList',5530000,5000000,53,'회의실예약관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('직원경조사관리','selectCtsnnManageList',5540000,5000000,54,'직원경조사관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('직원경조사승인관리','EgovCtsnnConfmList',5550000,5000000,55,'직원경조사승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('휴가관리','EgovVcatnManageList',5560000,5000000,56,'휴가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('휴가승인관리','EgovVcatnConfmList',5570000,5000000,57,'휴가승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('당직관리','EgovBndtManageList',5580000,5000000,58,'당직관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('당직체크관리','EgovBndtCeckManageList',5590000,5000000,59,'당직체크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('포상관리','selectRwardManageList',5600000,5000000,60,'포상관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('포상승인관리','EgovRwardConfmList',5610000,5000000,61,'포상승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기념일관리','selectAnnvrsryManageList',5620000,5000000,62,'기념일관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기념일목록(확인용)','selectAnnvrsryMainList',5630000,5000000,63,'기념일목록(확인용)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사신청관리','EgovEventReqstManageList',5640000,5000000,64,'행사신청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사접수관리','EgovEventRcrptManageList',5650000,5000000,65,'행사접수관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행사접수승인관리','selectEventRceptConfmList',5660000,5000000,66,'행사접수승인관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템관리','dir',6000000,0,6,'시스템관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통분류코드','EgovCcmCmmnClCodeList',6010000,6000000,1,'공통분류코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통상세코드','EgovCcmCmmnDetailCodeList',6020000,6000000,2,'공통상세코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공통코드','EgovCcmCmmnCodeList',6030000,6000000,3,'공통코드','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('우편번호관리','EgovCcmZipList',6040000,6000000,4,'우편번호관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('행정코드관리','EgovCcmAdministCodeList',6050000,6000000,5,'행정코드관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('기관코드수신','getInsttCodeRecptnList',6060000,6000000,6,'기관코드수신','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그관리','SelectSysLogList',6070000,6000000,7,'로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사용로그관리','SelectUserLogList',6080000,6000000,8,'사용로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('송/수신로그관리','SelectTrsmrcvLogList',6090000,6000000,9,'송/수신로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템이력관리','SelectSysHistoryList',6100000,6000000,10,'시스템이력관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('웹로그관리','SelectWebLogList',6110000,6000000,11,'웹로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('접속로그관리','SelectLoginLogList',6120000,6000000,12,'접속로그관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴리스트관리','EgovMenuListSelect',6130000,6000000,13,'메뉴리스트관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴관리리스트','EgovMenuManageSelect',6140000,6000000,14,'메뉴관리리스트','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('메뉴생성관리','EgovMenuCreatManageSelect',6150000,6000000,15,'메뉴생성관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('사이트맵','EgovSiteMapng',6160000,6000000,16,'사이트맵','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('바로가기메뉴관리','selectBkmkMenuManageList',6170000,6000000,17,'바로가기메뉴관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램관리','EgovProgramListManageSelect',6180000,6000000,18,'프로그램관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경요청관리','EgovProgramChangeRequstSelect',6190000,6000000,19,'프로그램변경요청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경요청처리','EgovProgramChangeRequstProcessListSelect',6200000,6000000,20,'프로그램변경요청처리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로그램변경이력','EgovProgramChgHstListSelect',6210000,6000000,21,'프로그램변경이력','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배치작업관리','getBatchOpertList',6220000,6000000,22,'배치작업관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('배치결과관리','getBatchResultList',6230000,6000000,23,'배치결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('스케줄처리','getBatchSchdulList',6240000,6000000,24,'스케줄처리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('백업관리','getBackupOpertList',6250000,6000000,25,'백업관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('백업결과관리','getBackupResultList',6260000,6000000,26,'백업결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('네트워크관리','selectNtwrkList',6270000,6000000,27,'네트워크관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버정보관리','selectServerEqpmnList',6280000,6000000,28,'서버정보관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버(S/W)목록','selectServerList',6290000,6000000,29,'서버(S/W)목록','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('장애신청관리','selectTroblReqstList',6300000,6000000,30,'장애신청관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('장애처리결과관리','selectTroblProcessList',6310000,6000000,31,'장애처리결과관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템/서비스연계','dir',7000000,0,7,'시스템/서비스연계','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('시스템연계관리','getSystemCntcList',7010000,7000000,1,'시스템연계관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계현황관리','getCntcSttusList',7020000,7000000,2,'연계현황관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계메시지관리','getCntcMessageList',7030000,7000000,3,'연계메시지관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('연계기관관리','getCntcInsttList',7040000,7000000,4,'연계기관관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('자산 관리','dir',8000000,0,8,'자산 관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('개인지식관리','EgovComDamPersonalList',8010000,8000000,1,'개인지식관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식맵관리(유형)','EgovComDamMapMaterialList',8020000,8000000,2,'지식맵관리(유형)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식맵관리(조직)','EgovComDamMapTeamList',8030000,8000000,3,'지식맵관리(조직)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식전문가관리','EgovComDamSpecialistList',8040000,8000000,4,'지식전문가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식정보관리','EgovComDamManagementList',8050000,8000000,5,'지식정보관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식평가관리','EgovComDamAppraisalList',8060000,8000000,6,'지식평가관리','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('지식정보제공','listRequestOffer',8070000,8000000,7,'지식정보제공','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('요소기술','dir',9000000,0,9,'요소기술','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('공휴일관리(달력)','EgovRestdeList',9010000,9000000,1,'공휴일관리(달력)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('송수신모니터링','getTrsmrcvMntrngList',9020000,9000000,2,'송수신모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('DB서비스모니터링','getDbMntrngList',9030000,9000000,3,'DB서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('HTTP서비스모니터링','EgovComUtlHttpMonList',9040000,9000000,4,'HTTP서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프로세스모니터링','EgovComUtlProcessMonList',9050000,9000000,5,'프로세스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('네트워크서비스모니터링','selectNtwrkSvcMntrngList',9060000,9000000,6,'네트워크서비스모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('파일시스템모니터링','selectFileSysMntrngList',9070000,9000000,7,'파일시스템모니터링','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('프록시서비스','selectProxySvcList',9080000,9000000,8,'프록시서비스','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('파일동기화(대상서버)','selectSynchrnServerList',9090000,9000000,9,'파일동기화(대상서버)','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('로그인세션정보체크','loginSessionView',9100000,9000000,10,'로그인세션정보체크','/','/'); +INSERT INTO COMTNMENUINFO(MENU_NM, PROGRM_FILE_NM, MENU_NO, UPPER_MENU_NO, MENU_ORDR, MENU_DC, RELATE_IMAGE_PATH, RELATE_IMAGE_NM) VALUES ('서버자원모니터링-대상목록','selectMntrngServerList',9110000,9000000,11,'서버자원모니터링-대상목록','/','/'); + +-- 기본템플릿 +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_BOARD_DEFAULT', '게시판 기본템플릿', 'TMPT01', '/css/egovframework/com/cop/tpl/egovbbsTemplate.css', 'Y', 'SYSTEM', SYSDATE); +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_CMNTY_DEFAULT', '커뮤니티 기본템플릿', 'TMPT02', 'egovframework/com/cop/tpl/EgovCmmntyBaseTmpl', 'Y', 'SYSTEM', SYSDATE); +INSERT INTO COMTNTMPLATINFO(TMPLAT_ID, TMPLAT_NM, TMPLAT_SE_CODE, TMPLAT_COURS, USE_AT, FRST_REGISTER_ID, FRST_REGIST_PNTTM ) VALUES('TMPLAT_CLUB__DEFAULT', '동호회 기본템플릿', 'TMPT03', 'egovframework/com/cop/tpl/EgovClbBaseTmpl', 'Y', 'SYSTEM', SYSDATE); + +-- 우편번호 +INSERT INTO COMTCZIP(ZIP, SN, CTPRVN_NM, SIGNGU_NM, EMD_NM, LI_BULD_NM, LNBR_DONG_HO, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('100775',7381,'서울','중구','무교동','한국정보화진흥원','',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM'); +INSERT INTO COMTRDNMADRZIP(RDMN_CODE, SN, CTPRVN_NM, SIGNGU_NM, RDMN, BDNBR_MNNM, BDNBR_SLNO, BULD_NM, DETAIL_BULD_NM, ZIP, FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES ('111403100021','1','서울특별시','중구','청계천로','14','0','한국정보사회진흥원','','100775',SYSDATE,'SYSTEM',SYSDATE,'SYSTEM'); + +-- 최근검색어조회 +INSERT INTO COMTNRECENTSRCHWRDMANAGE(SRCHWRD_MANAGE_ID, SRCHWRD_MANAGE_NM, SRCHWRD_CONECT_URL, USER_SEARCH_AT,FRST_REGIST_PNTTM, FRST_REGISTER_ID, LAST_UPDT_PNTTM, LAST_UPDUSR_ID) VALUES('SRCMGR_0000000000001','공통코드관리','/sym/ccm/cca/SelectCcmCmmnCodeList.do','Y',SYSDATE,'USRCNFRM_00000000000',SYSDATE,'USRCNFRM_00000000000'); \ No newline at end of file Index: base3.10/script/tmp.sql =================================================================== --- base3.10/script/tmp.sql (nonexistent) +++ base3.10/script/tmp.sql (revision 7) @@ -0,0 +1,61 @@ + +/* Drop Tables */ + +DROP TABLE IF EXISTS tnfile; + + + + +/* Create Tables */ + +-- 첨부파일 +CREATE TABLE tnfile +( + -- 파일ID + file_id varchar(20) NOT NULL UNIQUE, + -- 링크 + link text, + full_path text, + -- 원본파일명 + origin_file_nm text, + -- 저장파일명 + sys_file_nm text, + -- 업로드경로 + upload_dir text, + -- 파일크기 + file_size decimal(15), + -- 파일타입 + mime text, + -- 파일확장자 + file_extsn varchar(32), + -- 등록자 ID + register_id varchar(20), + -- 등록 시점 + regist_pnttm timestamp, + -- 수정자 ID + updusr_id varchar(20), + -- 수정 시점 + updt_pnttm timestamp, + PRIMARY KEY (file_id) +) WITHOUT OIDS; + + + +/* Comments */ + +COMMENT ON TABLE tnfile IS '첨부파일'; +COMMENT ON COLUMN tnfile.file_id IS '파일ID'; +COMMENT ON COLUMN tnfile.link IS '링크'; +COMMENT ON COLUMN tnfile.origin_file_nm IS '원본파일명'; +COMMENT ON COLUMN tnfile.sys_file_nm IS '저장파일명'; +COMMENT ON COLUMN tnfile.upload_dir IS '업로드경로'; +COMMENT ON COLUMN tnfile.file_size IS '파일크기'; +COMMENT ON COLUMN tnfile.mime IS '파일타입'; +COMMENT ON COLUMN tnfile.file_extsn IS '파일확장자'; +COMMENT ON COLUMN tnfile.register_id IS '등록자 ID'; +COMMENT ON COLUMN tnfile.regist_pnttm IS '등록 시점'; +COMMENT ON COLUMN tnfile.updusr_id IS '수정자 ID'; +COMMENT ON COLUMN tnfile.updt_pnttm IS '수정 시점'; + + + Index: base3.10/script/postgres.sql =================================================================== --- base3.10/script/postgres.sql (nonexistent) +++ base3.10/script/postgres.sql (revision 7) @@ -0,0 +1,1556 @@ + +/* Drop Indexes */ + +DROP INDEX IF EXISTS comtccmmncode_i01; +DROP INDEX IF EXISTS comtccmmndetailcode_i01; +DROP INDEX IF EXISTS comthemplyrinfochangedtls_i01; +DROP INDEX IF EXISTS comthprogrmchangedtls_i01; +DROP INDEX IF EXISTS comtnauthorrolerelate_i01; +DROP INDEX IF EXISTS comtnauthorrolerelate_i02; +DROP INDEX IF EXISTS comtnbbs_i01; +DROP INDEX IF EXISTS comtnbbsuse_i01; +DROP INDEX IF EXISTS comtncomment_i01; +DROP INDEX IF EXISTS comtnemplyrinfo_i01; +DROP INDEX IF EXISTS comtnemplyrinfo_i02; +DROP INDEX IF EXISTS comtnemplyrscrtyestbs_i04; +DROP INDEX IF EXISTS comtnentrprsmber_i01; +DROP INDEX IF EXISTS comtnfiledetail_i01; +DROP INDEX IF EXISTS comtngnrlmber_i01; +DROP INDEX IF EXISTS comtnmenucreatdtls_i02; +DROP INDEX IF EXISTS comtnmenucreatdtls_i03; +DROP INDEX IF EXISTS comtnmenucreatdtls_i04; +DROP INDEX IF EXISTS comtnmenuinfo_i02; +DROP INDEX IF EXISTS comtnroles_hierarchy_i02; + + + +/* Drop Views */ + +DROP VIEW IF EXISTS public.comvnusermaster; + + + +/* Drop Tables */ + +DROP TABLE IF EXISTS public.comtccmmndetailcode; +DROP TABLE IF EXISTS public.comtccmmncode; +DROP TABLE IF EXISTS public.comtccmmnclcode; +DROP TABLE IF EXISTS public.comtecopseq; +DROP TABLE IF EXISTS public.comthemplyrinfochangedtls; +DROP TABLE IF EXISTS public.comthprogrmchangedtls; +DROP TABLE IF EXISTS public.comtnemplyrinfo; +DROP TABLE IF EXISTS public.comtnentrprsmber; +DROP TABLE IF EXISTS public.comtngnrlmber; +DROP TABLE IF EXISTS public.comtnauthorgroupinfo; +DROP TABLE IF EXISTS public.comtnauthorrolerelate; +DROP TABLE IF EXISTS public.comtnmenucreatdtls; +DROP TABLE IF EXISTS public.comtnroles_hierarchy; +DROP TABLE IF EXISTS public.comtnauthorinfo; +DROP TABLE IF EXISTS public.comtncomment; +DROP TABLE IF EXISTS public.comtnbbs; +DROP TABLE IF EXISTS public.comtnbbsuse; +DROP TABLE IF EXISTS public.comtnbbsmaster; +DROP TABLE IF EXISTS public.comtnbbsmasteroptn; +DROP TABLE IF EXISTS public.comtnbkmkmenumanageresult; +DROP TABLE IF EXISTS public.comtnemplyrscrtyestbs; +DROP TABLE IF EXISTS public.comtnfiledetail; +DROP TABLE IF EXISTS public.comtnfile; +DROP TABLE IF EXISTS public.comtnloginlog; +DROP TABLE IF EXISTS public.comtnloginpolicy; +DROP TABLE IF EXISTS public.comtnmenuinfo; +DROP TABLE IF EXISTS public.comtnorgnztinfo; +DROP TABLE IF EXISTS public.comtnprogrmlist; +DROP TABLE IF EXISTS public.comtnroleinfo; +DROP TABLE IF EXISTS public.comtnsitemap; +DROP TABLE IF EXISTS public.comtnsyslog; +DROP TABLE IF EXISTS public.comtnweblog; +DROP TABLE IF EXISTS public.comtssyslogsummary; +DROP TABLE IF EXISTS public.comtsweblogsummary; +DROP TABLE IF EXISTS public.ids; + + + + +/* Create Tables */ + +-- 공통분류코드 +CREATE TABLE public.comtccmmnclcode +( + -- 분류코드 + cl_code char(3) NOT NULL, + -- 분류코드명 + cl_code_nm varchar(60), + -- 분류코드설명 + cl_code_dc varchar(200), + -- 사용여부 + use_at char, + -- 최초등록시점 + frst_regist_pnttm timestamp, + -- 최초등록자ID + frst_register_id varchar(20), + -- 최종수정시점 + last_updt_pnttm timestamp, + -- 최종수정자ID + last_updusr_id varchar(20), + CONSTRAINT comtccmmnclcode_pkey PRIMARY KEY (cl_code) +) WITHOUT OIDS; + + +-- 공통코드 +CREATE TABLE public.comtccmmncode +( + -- 코드ID + code_id varchar(6) NOT NULL, + -- 코드ID명 + code_id_nm varchar(60), + -- 코드ID설명 + code_id_dc varchar(200), + -- 사용여부 + use_at char, + -- 분류코드 + cl_code char(3), + -- 최초등록시점 + frst_regist_pnttm timestamp, + -- 최초등록자ID + frst_register_id varchar(20), + -- 최종수정시점 + last_updt_pnttm timestamp, + -- 최종수정자ID + last_updusr_id varchar(20), + CONSTRAINT comtccmmncode_pkey PRIMARY KEY (code_id) +) WITHOUT OIDS; + + +-- 공통상세코드 +CREATE TABLE public.comtccmmndetailcode +( + -- 코드ID + code_id varchar(6) NOT NULL, + -- 코드 + code varchar(15) NOT NULL, + -- 코드명 + code_nm varchar(60), + -- 코드설명 + code_dc varchar(200), + -- 사용여부 + use_at char, + -- 최초등록시점 + frst_regist_pnttm timestamp, + -- 최초등록자ID + frst_register_id varchar(20), + -- 최종수정시점 + last_updt_pnttm timestamp, + -- 최종수정자ID + last_updusr_id varchar(20), + CONSTRAINT comtccmmndetailcode_pkey PRIMARY KEY (code_id, code) +) WITHOUT OIDS; + + +-- 시퀀스저장 +CREATE TABLE public.comtecopseq +( + -- 테이블명 + table_name varchar(20) NOT NULL, + -- 다음아이디 + next_id numeric(30), + CONSTRAINT comtecopseq_pkey PRIMARY KEY (table_name) +) WITHOUT OIDS; + + +-- 업무사용자정보변경내역 +CREATE TABLE public.comthemplyrinfochangedtls +( + -- 업무사용자ID + emplyr_id varchar(20) NOT NULL, + -- 변경일 + change_de char(20) NOT NULL, + -- 조직ID + orgnzt_id char(20), + -- 그룹ID + group_id char(20), + -- 사원번호 + empl_no varchar(20), + -- 성별코드 + sexdstn_code char, + -- 생일 + brthdy char(20), + -- 팩스번호 + fxnum varchar(20), + -- 주택주소 + house_adres varchar(100), + -- 주택끝전화번호 + house_end_telno varchar(4), + -- 지역번호 + area_no varchar(4), + -- 상세주소 + detail_adres varchar(100), + -- 우편번호 + zip varchar(6), + -- 사무실전화번호 + offm_telno varchar(20), + -- 이동전화번호 + mbtlnum varchar(20), + -- 이메일주소 + email_adres varchar(50), + -- 주택중간전화번호 + house_middle_telno varchar(4), + -- 소속기관코드 + pstinst_code char(8), + -- 사용자상태코드 + emplyr_sttus_code char, + -- 고유ID + esntl_id char(20), + CONSTRAINT comthemplyrinfochangedtls_pkey PRIMARY KEY (emplyr_id, change_de) +) WITHOUT OIDS; + + +-- 프로그램변경내역 +CREATE TABLE public.comthprogrmchangedtls +( + -- 프로그램파일명 + progrm_file_nm varchar(60) NOT NULL, + -- 요청번호 + requst_no numeric(10) NOT NULL, + -- 요청자ID + rqester_id varchar(20) NOT NULL, + -- 변경요청내용 + change_requst_cn varchar(1000), + -- 요청처리내용 + requst_process_cn text, + -- 처리자ID + opetr_id varchar(20), + -- 처리상태코드 + process_sttus_code varchar(15) NOT NULL, + -- 처리일 + process_de char(20), + -- 요청일 + rqestde char(20), + -- 요청제목 + requst_sj varchar(60) NOT NULL, + CONSTRAINT comthprogrmchangedtls_pkey PRIMARY KEY (progrm_file_nm, requst_no) +) WITHOUT OIDS; + + +-- 권한그룹정보 +CREATE TABLE public.comtnauthorgroupinfo +( + -- 그룹ID + group_id char(20) NOT NULL, + -- 그룹명 + group_nm varchar(60) NOT NULL, + -- 그룹생성일 + group_creat_de timestamp NOT NULL, + -- 그룹설명 + group_dc varchar(100), + CONSTRAINT comtnauthorgroupinfo_pkey PRIMARY KEY (group_id) +) WITHOUT OIDS; + + +-- 권한정보 +CREATE TABLE public.comtnauthorinfo +( + -- 권한코드 + author_code varchar(30) NOT NULL, + -- 권한명 + author_nm varchar(60) NOT NULL, + -- 권한설명 + author_dc varchar(200), + -- 권한생성일 + author_creat_de timestamp NOT NULL, + CONSTRAINT comtnauthorinfo_pkey PRIMARY KEY (author_code) +) WITHOUT OIDS; + + +-- 권한롤관계 +CREATE TABLE public.comtnauthorrolerelate +( + -- 권한코드 + author_code varchar(30) NOT NULL, + -- 롤코드 + role_code varchar(50) NOT NULL, + -- 생성일시 + creat_dt timestamp, + CONSTRAINT comtnauthorrolerelate_pkey PRIMARY KEY (author_code, role_code) +) WITHOUT OIDS; + + +-- 게시판 +CREATE TABLE public.comtnbbs +( + -- 게시물ID + ntt_id numeric(20) NOT NULL, + -- 게시판ID + bbs_id char(20) NOT NULL, + -- 게시물번호 + ntt_no numeric(20), + -- 게시물제목 + ntt_sj varchar(2000), + -- 게시물내용 + ntt_cn text, + -- 댓글여부 + answer_at char, + -- 부모글번호 + parntsctt_no numeric(10), + -- 댓글위치 + answer_lc numeric(8), + -- 정렬순서 + sort_ordr numeric(8), + -- 조회수 + rdcnt numeric(10), + -- 사용여부 + use_at char NOT NULL, + -- 게시시작일 + ntce_bgnde char(20), + -- 게시종료일 + ntce_endde char(20), + -- 게시자ID + ntcr_id varchar(20), + -- 게시자명 + ntcr_nm varchar(20), + -- 비밀번호 + password varchar(200), + -- 첨부파일ID + atch_file_id char(20), + -- 공지사항여부 + notice_at char, + -- 제목볼드여부 + sj_bold_at char, + -- 비밀글여부 + secret_at char, + -- 최초등록시점 + frst_regist_pnttm timestamp NOT NULL, + -- 최초등록자ID + frst_register_id varchar(20) NOT NULL, + -- 최종수정시점 + last_updt_pnttm timestamp, + -- 최종수정자ID + last_updusr_id varchar(20), + -- 블로그 ID + blog_id char(20), + CONSTRAINT comtnbbs_pkey PRIMARY KEY (ntt_id, bbs_id) +) WITHOUT OIDS; + + +-- 게시판마스터 +CREATE TABLE public.comtnbbsmaster +( + -- 게시판ID + bbs_id char(20) NOT NULL, + -- 게시판명 + bbs_nm varchar(255) NOT NULL, + -- 게시판소개 + bbs_intrcn varchar(2400), + -- 게시판유형코드 + bbs_ty_code char(6) NOT NULL, + -- 답장가능여부 + reply_posbl_at char, + -- 파일첨부가능여부 + file_atch_posbl_at char NOT NULL, + -- 첨부가능파일숫자 + atch_posbl_file_number numeric(2) NOT NULL, + -- 첨부가능파일사이즈 + atch_posbl_file_size numeric(8), + -- 사용여부 + use_at char NOT NULL, + -- 템플릿ID + tmplat_id char(20), + -- 커뮤니티ID + cmmnty_id char(20), + -- 최초등록자ID + frst_register_id varchar(20) NOT NULL, + -- 최초등록시점 + frst_regist_pnttm timestamp NOT NULL, + -- 최종수정자ID + last_updusr_id varchar(20), + -- 최종수정시점 + last_updt_pnttm timestamp, + -- 블로그 ID + blog_id char(20), + -- 블로그 여부 + blog_at char(2), + CONSTRAINT comtnbbsmaster_pkey PRIMARY KEY (bbs_id) +) WITHOUT OIDS; + + +-- 게시판마스터옵션 +CREATE TABLE public.comtnbbsmasteroptn +( + -- 게시판ID + bbs_id char(20) NOT NULL, + -- 댓글여부 + answer_at char NOT NULL, + -- 만족도여부 + stsfdg_at char NOT NULL, + -- 최초등록시점 + frst_regist_pnttm timestamp NOT NULL, + -- 최종수정시점 + last_updt_pnttm timestamp, + -- 최초등록자ID + frst_register_id varchar(20) NOT NULL, + -- 최종수정자ID + last_updusr_id varchar(20), + CONSTRAINT comtnbbsmasteroptn_pkey PRIMARY KEY (bbs_id) +) WITHOUT OIDS; + + +-- 게시판활용 +CREATE TABLE public.comtnbbsuse +( + -- 게시판ID + bbs_id char(20) NOT NULL, + -- 대상ID + trget_id char(20) NOT NULL, + -- 사용여부 + use_at char NOT NULL, + -- 등록구분코드 + regist_se_code char(6), + -- 최초등록시점 + frst_regist_pnttm timestamp, + -- 최초등록자ID + frst_register_id varchar(20) NOT NULL, + -- 최종수정시점 + last_updt_pnttm timestamp, + -- 최종수정자ID + last_updusr_id varchar(20), + CONSTRAINT comtnbbsuse_pkey PRIMARY KEY (bbs_id, trget_id) +) WITHOUT OIDS; + + +-- 바로가기 메뉴 등록 +CREATE TABLE public.comtnbkmkmenumanageresult +( + -- 메뉴ID + menu_id numeric(20) NOT NULL, + -- 업무사용자ID + emplyr_id varchar(20) NOT NULL, + -- 메뉴명 + menu_nm varchar(60) NOT NULL, + -- 프로그램저장경로 + progrm_stre_path varchar(100) NOT NULL, + CONSTRAINT comtnbkmkmenumanageresult_pkey PRIMARY KEY (menu_id, emplyr_id) +) WITHOUT OIDS; + + +-- 댓글 +CREATE TABLE public.comtncomment +( + -- 게시물ID + ntt_id numeric(20) NOT NULL, + -- 게시판ID + bbs_id char(20) NOT NULL, + -- 댓글번호 + answer_no numeric(20) NOT NULL, + -- 작성자ID + wrter_id varchar(20), + -- 작성자명 + wrter_nm varchar(20), + -- 댓글 + answer varchar(200), + -- 사용여부 + use_at char NOT NULL, + -- 최초등록시점 + frst_regist_pnttm timestamp NOT NULL, + -- 최초등록자ID + frst_register_id varchar(20) NOT NULL, + -- 최종수정시점 + last_updt_pnttm timestamp, + -- 최종수정자ID + last_updusr_id varchar(20), + -- 비밀번호 + password varchar(200), + CONSTRAINT comtncomment_pkey PRIMARY KEY (ntt_id, bbs_id, answer_no) +) WITHOUT OIDS; + + +-- 업무사용자정보 +CREATE TABLE public.comtnemplyrinfo +( + -- 업무사용자ID + emplyr_id varchar(20) NOT NULL, + -- 조직ID + orgnzt_id char(20), + -- 사용자명 + user_nm varchar(60) NOT NULL, + -- 비밀번호 + password varchar(200) NOT NULL, + -- 사원번호 + empl_no varchar(20), + -- 주민등록번호 + ihidnum varchar(200), + -- 성별코드 + sexdstn_code char, + -- 생일 + brthdy char(20), + -- 팩스번호 + fxnum varchar(20), + -- 주택주소 + house_adres varchar(100) NOT NULL, + -- 비밀번호힌트 + password_hint varchar(100) NOT NULL, + -- 비밀번호정답 + password_cnsr varchar(100) NOT NULL, + -- 주택끝전화번호 + house_end_telno varchar(4) NOT NULL, + -- 지역번호 + area_no varchar(4) NOT NULL, + -- 상세주소 + detail_adres varchar(100), + -- 우편번호 + zip varchar(6) NOT NULL, + -- 사무실전화번호 + offm_telno varchar(20), + -- 이동전화번호 + mbtlnum varchar(20), + -- 이메일주소 + email_adres varchar(50), + -- 직위명 + ofcps_nm varchar(60), + -- 주택중간전화번호 + house_middle_telno varchar(4) NOT NULL, + -- 그룹ID + group_id char(20), + -- 소속기관코드 + pstinst_code char(8), + -- 사용자상태코드 + emplyr_sttus_code char NOT NULL, + -- 고유ID + esntl_id char(20) NOT NULL, + -- 인증DN값 + crtfc_dn_value varchar(100), + -- 가입일자 + sbscrb_de timestamp, + -- 잠금여부 + lock_at char, + -- 잠금회수 + lock_cnt numeric(3), + -- 잠금최종시점 + lock_last_pnttm timestamp, + chg_pwd_last_pnttm timestamp, + CONSTRAINT comtnemplyrinfo_pkey PRIMARY KEY (emplyr_id) +) WITHOUT OIDS; + + +-- 사용자보안설정 +CREATE TABLE public.comtnemplyrscrtyestbs +( + -- 보안설정대상ID + scrty_dtrmn_trget_id varchar(20) NOT NULL, + -- 회원유형코드 + mber_ty_code char(5), + -- 권한코드 + author_code varchar(30) NOT NULL, + CONSTRAINT comtnemplyrscrtyestbs_pkey PRIMARY KEY (scrty_dtrmn_trget_id) +) WITHOUT OIDS; + + +-- 기업회원 +CREATE TABLE public.comtnentrprsmber +( + -- 기업회원ID + entrprs_mber_id varchar(20) NOT NULL, + -- 기업구분코드 + entrprs_se_code char(8), + -- 사업자등록번호 + bizrno varchar(10), + -- 법인등록번호 + jurirno varchar(13), + -- 회사명 + cmpny_nm varchar(60) NOT NULL, + -- 대표이사 + cxfc varchar(50), + -- 우편번호 + zip varchar(6) NOT NULL, + -- 주소 + adres varchar(100) NOT NULL, + -- 기업중간전화번호 + entrprs_middle_telno varchar(4) NOT NULL, + -- 팩스번호 + fxnum varchar(20), + -- 업종코드 + induty_code char, + -- 신청인명 + applcnt_nm varchar(50) NOT NULL, + -- 신청인주민등록번호 + applcnt_ihidnum varchar(200), + -- 가입일자 + sbscrb_de timestamp, + -- 기업회원상태 + entrprs_mber_sttus varchar(15), + -- 기업회원비밀번호 + entrprs_mber_password varchar(200), + -- 기업회원비밀번호힌트 + entrprs_mber_password_hint varchar(100) NOT NULL, + -- 기업회원비밀번호정답 + entrprs_mber_password_cnsr varchar(100) NOT NULL, + -- 그룹ID + group_id char(20), + -- 상세주소 + detail_adres varchar(100), + -- 기업끝전화번호 + entrprs_end_telno varchar(4) NOT NULL, + -- 지역번호 + area_no varchar(4) NOT NULL, + -- 신청자이메일주소 + applcnt_email_adres varchar(50) NOT NULL, + -- 고유ID + esntl_id char(20) NOT NULL, + -- 잠금여부 + lock_at char, + -- 잠금회수 + lock_cnt numeric(3), + -- 잠금최종시점 + lock_last_pnttm timestamp, + chg_pwd_last_pnttm timestamp, + CONSTRAINT comtnentrprsmber_pkey PRIMARY KEY (entrprs_mber_id) +) WITHOUT OIDS; + + +-- 파일속성 +CREATE TABLE public.comtnfile +( + -- 첨부파일ID + atch_file_id char(20) NOT NULL, + -- 생성일시 + creat_dt timestamp NOT NULL, + -- 사용여부 + use_at char, + CONSTRAINT comtnfile_pkey PRIMARY KEY (atch_file_id) +) WITHOUT OIDS; + + +-- 파일상세정보 +CREATE TABLE public.comtnfiledetail +( + -- 첨부파일ID + atch_file_id char(20) NOT NULL, + -- 파일순번 + file_sn numeric(10) NOT NULL, + -- 파일저장경로 + file_stre_cours varchar(2000) NOT NULL, + -- 저장파일명 + stre_file_nm varchar(255) NOT NULL, + -- 원파일명 + orignl_file_nm varchar(255), + -- 파일확장자 + file_extsn varchar(20) NOT NULL, + -- 파일내용 + file_cn text, + -- 파일크기 + file_size numeric(8), + CONSTRAINT comtnfiledetail_pkey PRIMARY KEY (atch_file_id, file_sn) +) WITHOUT OIDS; + + +-- 일반회원 +CREATE TABLE public.comtngnrlmber +( + -- 회원ID + mber_id varchar(20) NOT NULL, + -- 비밀번호 + password varchar(200) NOT NULL, + -- 비밀번호힌트 + password_hint varchar(100), + -- 비밀번호정답 + password_cnsr varchar(100), + -- 주민등록번호 + ihidnum varchar(200), + -- 회원명 + mber_nm varchar(50) NOT NULL, + -- 우편번호 + zip varchar(6) NOT NULL, + -- 주소 + adres varchar(100) NOT NULL, + -- 지역번호 + area_no varchar(4) NOT NULL, + -- 회원상태 + mber_sttus varchar(15), + -- 상세주소 + detail_adres varchar(100), + -- 끝전화번호 + end_telno varchar(4) NOT NULL, + -- 이동전화번호 + mbtlnum varchar(20) NOT NULL, + -- 그룹ID + group_id char(20), + -- 회원팩스번호 + mber_fxnum varchar(20), + -- 회원이메일주소 + mber_email_adres varchar(50), + -- 중간전화번호 + middle_telno varchar(4) NOT NULL, + -- 가입일자 + sbscrb_de timestamp, + -- 성별코드 + sexdstn_code char, + -- 고유ID + esntl_id char(20) NOT NULL, + -- 잠금여부 + lock_at char, + -- 잠금회수 + lock_cnt numeric(3), + -- 잠금최종시점 + lock_last_pnttm timestamp, + chg_pwd_last_pnttm timestamp, + CONSTRAINT comtngnrlmber_pkey PRIMARY KEY (mber_id) +) WITHOUT OIDS; + + +-- 접속로그 +CREATE TABLE public.comtnloginlog +( + -- 로그ID + log_id char(20) NOT NULL, + -- 접속ID + conect_id varchar(20), + -- 접속IP + conect_ip varchar(23), + -- 접속방식 + conect_mthd char(4), + -- 오류발생여부 + error_occrrnc_at char, + -- 오류코드 + error_code char(3), + -- 생성일시 + creat_dt timestamp, + CONSTRAINT comtnloginlog_pkey PRIMARY KEY (log_id) +) WITHOUT OIDS; + + +-- 로그인정책 +CREATE TABLE public.comtnloginpolicy +( + -- 업무사용자ID + emplyr_id varchar(20) NOT NULL, + -- IP정보 + ip_info varchar(23) NOT NULL, + -- 중복허용여부 + dplct_perm_at char NOT NULL, + -- 제한여부 + lmtt_at char NOT NULL, + -- 최초등록자ID + frst_register_id varchar(20), + -- 최초등록시점 + frst_regist_pnttm timestamp, + -- 최종수정자ID + last_updusr_id varchar(20), + -- 최종수정시점 + last_updt_pnttm timestamp, + CONSTRAINT comtnloginpolicy_pkey PRIMARY KEY (emplyr_id) +) WITHOUT OIDS; + + +-- 메뉴생성내역 +CREATE TABLE public.comtnmenucreatdtls +( + -- 메뉴번호 + menu_no numeric(20) NOT NULL, + -- 권한코드 + author_code varchar(30) NOT NULL, + -- 매핑생성ID + mapng_creat_id varchar(30), + CONSTRAINT comtnmenucreatdtls_pkey PRIMARY KEY (menu_no, author_code) +) WITHOUT OIDS; + + +-- 메뉴정보 +CREATE TABLE public.comtnmenuinfo +( + -- 메뉴명 + menu_nm varchar(60) NOT NULL, + -- 프로그램파일명 + progrm_file_nm varchar(60) NOT NULL, + -- 메뉴번호 + menu_no numeric(20) NOT NULL, + -- 상위메뉴번호 + upper_menu_no numeric(20), + -- 메뉴순서 + menu_ordr numeric(5) NOT NULL, + -- 메뉴설명 + menu_dc varchar(250), + -- 관계이미지경로 + relate_image_path varchar(100), + -- 관계이미지명 + relate_image_nm varchar(60), + CONSTRAINT comtnmenuinfo_pkey PRIMARY KEY (menu_no) +) WITHOUT OIDS; + + +-- 조직정보 +CREATE TABLE public.comtnorgnztinfo +( + -- 조직ID + orgnzt_id char(20) NOT NULL, + -- 조직명 + orgnzt_nm varchar(20) NOT NULL, + -- 조직설명 + orgnzt_dc varchar(100), + CONSTRAINT comtnorgnztinfo_pkey PRIMARY KEY (orgnzt_id) +) WITHOUT OIDS; + + +-- 프로그램목록 +CREATE TABLE public.comtnprogrmlist +( + -- 프로그램파일명 + progrm_file_nm varchar(60) NOT NULL, + -- 프로그램저장경로 + progrm_stre_path varchar(100) NOT NULL, + -- 프로그램한글명 + progrm_korean_nm varchar(60), + -- 프로그램설명 + progrm_dc varchar(200), + -- URL + url varchar(100) NOT NULL, + CONSTRAINT comtnprogrmlist_pkey PRIMARY KEY (progrm_file_nm) +) WITHOUT OIDS; + + +-- 롤정보 +CREATE TABLE public.comtnroleinfo +( + -- 롤코드 + role_code varchar(50) NOT NULL, + -- 롤명 + role_nm varchar(60) NOT NULL, + -- 롤패턴 + role_pttrn varchar(300), + -- 롤설명 + role_dc varchar(200), + -- 롤유형 + role_ty varchar(80), + -- 롤정렬 + role_sort varchar(10), + -- 롤생성일 + role_creat_de timestamp NOT NULL, + CONSTRAINT comtnroleinfo_pkey PRIMARY KEY (role_code) +) WITHOUT OIDS; + + +-- 롤 계층구조 +CREATE TABLE public.comtnroles_hierarchy +( + -- 부모롤 + parnts_role varchar(30) NOT NULL UNIQUE, + -- 자식롤 + chldrn_role varchar(30) NOT NULL, + CONSTRAINT comtnroles_hierarchy_pkey PRIMARY KEY (parnts_role, chldrn_role) +) WITHOUT OIDS; + + +-- 사이트맵 +CREATE TABLE public.comtnsitemap +( + -- 매핑생성ID + mapng_creat_id varchar(30) NOT NULL, + -- 생성자ID + creatr_id varchar(20) NOT NULL, + -- 매핑파일명 + mapng_file_nm varchar(60) NOT NULL, + -- 매핑파일경로 + mapng_file_path varchar(100) NOT NULL, + CONSTRAINT comtnsitemap_pkey PRIMARY KEY (mapng_creat_id) +) WITHOUT OIDS; + + +-- 시스템로그 +CREATE TABLE public.comtnsyslog +( + -- 요청ID + requst_id varchar(20) NOT NULL, + -- 업무구분코드 + job_se_code char(3), + -- 기관코드 + instt_code char(7), + -- 발생일 + occrrnc_de timestamp, + -- 요청자IP + rqester_ip varchar(23), + -- 요청자ID + rqester_id varchar(20), + -- 대상메뉴명 + trget_menu_nm varchar(255), + -- 서비스명 + svc_nm varchar(255), + -- 메서드명 + method_nm varchar(60), + -- 처리구분코드 + process_se_code char(3), + -- 처리수 + process_co numeric(10), + -- 처리시간 + process_time varchar(14), + -- 응답코드 + rspns_code char(3), + -- 오류구분 + error_se char, + -- 오류수 + error_co numeric(10), + -- 오류코드 + error_code char(3), + CONSTRAINT comtnsyslog_pkey PRIMARY KEY (requst_id) +) WITHOUT OIDS; + + +-- 웹로그 +CREATE TABLE public.comtnweblog +( + -- 요청ID + requst_id varchar(20) NOT NULL, + -- 발생일 + occrrnc_de timestamp, + -- URL + url varchar(200), + -- 요청자ID + rqester_id varchar(20), + -- 요청자IP + rqester_ip varchar(23), + CONSTRAINT comtnweblog_pkey PRIMARY KEY (requst_id) +) WITHOUT OIDS; + + +-- 시스템로그요약 +CREATE TABLE public.comtssyslogsummary +( + -- 발생일 + occrrnc_de char(8) NOT NULL, + -- 서비스명 + svc_nm varchar(255) NOT NULL, + -- 메서드명 + method_nm varchar(60) NOT NULL, + -- 생성수 + creat_co numeric(10), + -- 수정수 + updt_co numeric(10), + -- 조회수 + rdcnt numeric(10), + -- 삭제수 + delete_co numeric(10), + -- 출력수 + outpt_co numeric(10), + -- 오류수 + error_co numeric(10), + CONSTRAINT comtssyslogsummary_pkey PRIMARY KEY (occrrnc_de, svc_nm, method_nm) +) WITHOUT OIDS; + + +-- 웹로그 요약 +CREATE TABLE public.comtsweblogsummary +( + -- 발생일 + occrrnc_de char(8) NOT NULL, + -- URL + url varchar(200) NOT NULL, + -- 조회수 + rdcnt numeric(10), + CONSTRAINT comtsweblogsummary_pkey PRIMARY KEY (occrrnc_de, url) +) WITHOUT OIDS; + + +-- 테이블별아이디 +CREATE TABLE public.ids +( + -- IDGEN테이블명 + idgen_table_nm varchar(20) NOT NULL, + -- IDGEN다음ID + idgen_next_id numeric(30) NOT NULL, + CONSTRAINT ids_pkey PRIMARY KEY (idgen_table_nm) +) WITHOUT OIDS; + + + +/* Create Foreign Keys */ + +ALTER TABLE public.comtccmmncode + ADD CONSTRAINT comtccmmncode_cl_code_fkey FOREIGN KEY (cl_code) + REFERENCES public.comtccmmnclcode (cl_code) + ON UPDATE NO ACTION + ON DELETE NO ACTION +; + + +ALTER TABLE public.comtccmmndetailcode + ADD CONSTRAINT comtccmmndetailcode_code_id_fkey FOREIGN KEY (code_id) + REFERENCES public.comtccmmncode (code_id) + ON UPDATE NO ACTION + ON DELETE NO ACTION +; + + +ALTER TABLE public.comtnemplyrinfo + ADD CONSTRAINT comtnemplyrinfo_group_id_fkey FOREIGN KEY (group_id) + REFERENCES public.comtnauthorgroupinfo (group_id) + ON UPDATE NO ACTION + ON DELETE SET NULL +; + + +ALTER TABLE public.comtnentrprsmber + ADD CONSTRAINT comtnentrprsmber_group_id_fkey FOREIGN KEY (group_id) + REFERENCES public.comtnauthorgroupinfo (group_id) + ON UPDATE NO ACTION + ON DELETE SET NULL +; + + +ALTER TABLE public.comtngnrlmber + ADD CONSTRAINT comtngnrlmber_group_id_fkey FOREIGN KEY (group_id) + REFERENCES public.comtnauthorgroupinfo (group_id) + ON UPDATE NO ACTION + ON DELETE SET NULL +; + + +ALTER TABLE public.comtnauthorrolerelate + ADD CONSTRAINT comtnauthorrolerelate_author_code_fkey FOREIGN KEY (author_code) + REFERENCES public.comtnauthorinfo (author_code) + ON UPDATE NO ACTION + ON DELETE CASCADE +; + + +ALTER TABLE public.comtnmenucreatdtls + ADD CONSTRAINT comtnmenucreatdtls_author_code_fkey FOREIGN KEY (author_code) + REFERENCES public.comtnauthorinfo (author_code) + ON UPDATE NO ACTION + ON DELETE NO ACTION +; + + +ALTER TABLE public.comtnroles_hierarchy + ADD CONSTRAINT comtnroles_hierarchy_parnts_role_fkey FOREIGN KEY (parnts_role) + REFERENCES public.comtnauthorinfo (author_code) + ON UPDATE NO ACTION + ON DELETE CASCADE +; + + +ALTER TABLE public.comtnroles_hierarchy + ADD CONSTRAINT comtnroles_hierarchy_chldrn_role_fkey FOREIGN KEY (chldrn_role) + REFERENCES public.comtnauthorinfo (author_code) + ON UPDATE NO ACTION + ON DELETE CASCADE +; + + +ALTER TABLE public.comtncomment + ADD CONSTRAINT comtncomment_ntt_id_bbs_id_fkey FOREIGN KEY (ntt_id, bbs_id) + REFERENCES public.comtnbbs (ntt_id, bbs_id) + ON UPDATE NO ACTION + ON DELETE NO ACTION +; + + +ALTER TABLE public.comtnbbs + ADD CONSTRAINT comtnbbs_bbs_id_fkey FOREIGN KEY (bbs_id) + REFERENCES public.comtnbbsmaster (bbs_id) + ON UPDATE NO ACTION + ON DELETE NO ACTION +; + + +ALTER TABLE public.comtnbbsuse + ADD CONSTRAINT comtnbbsuse_bbs_id_fkey FOREIGN KEY (bbs_id) + REFERENCES public.comtnbbsmaster (bbs_id) + ON UPDATE NO ACTION + ON DELETE NO ACTION +; + + +ALTER TABLE public.comthemplyrinfochangedtls + ADD CONSTRAINT comthemplyrinfochangedtls_emplyr_id_fkey FOREIGN KEY (emplyr_id) + REFERENCES public.comtnemplyrinfo (emplyr_id) + ON UPDATE NO ACTION + ON DELETE NO ACTION +; + + +ALTER TABLE public.comtnfiledetail + ADD CONSTRAINT comtnfiledetail_atch_file_id_fkey FOREIGN KEY (atch_file_id) + REFERENCES public.comtnfile (atch_file_id) + ON UPDATE NO ACTION + ON DELETE NO ACTION +; + + +ALTER TABLE public.comtnmenucreatdtls + ADD CONSTRAINT comtnmenucreatdtls_menu_no_fkey FOREIGN KEY (menu_no) + REFERENCES public.comtnmenuinfo (menu_no) + ON UPDATE NO ACTION + ON DELETE CASCADE +; + + +ALTER TABLE public.comtnmenuinfo + ADD CONSTRAINT comtnmenuinfo_upper_menu_no_fkey FOREIGN KEY (upper_menu_no) + REFERENCES public.comtnmenuinfo (menu_no) + ON UPDATE NO ACTION + ON DELETE CASCADE +; + + +ALTER TABLE public.comtnemplyrinfo + ADD CONSTRAINT comtnemplyrinfo_orgnzt_id_fkey FOREIGN KEY (orgnzt_id) + REFERENCES public.comtnorgnztinfo (orgnzt_id) + ON UPDATE NO ACTION + ON DELETE SET NULL +; + + +ALTER TABLE public.comthprogrmchangedtls + ADD CONSTRAINT comthprogrmchangedtls_progrm_file_nm_fkey FOREIGN KEY (progrm_file_nm) + REFERENCES public.comtnprogrmlist (progrm_file_nm) + ON UPDATE NO ACTION + ON DELETE CASCADE +; + + +ALTER TABLE public.comtnmenuinfo + ADD CONSTRAINT comtnmenuinfo_progrm_file_nm_fkey FOREIGN KEY (progrm_file_nm) + REFERENCES public.comtnprogrmlist (progrm_file_nm) + ON UPDATE NO ACTION + ON DELETE CASCADE +; + + +ALTER TABLE public.comtnauthorrolerelate + ADD CONSTRAINT comtnauthorrolerelate_role_code_fkey FOREIGN KEY (role_code) + REFERENCES public.comtnroleinfo (role_code) + ON UPDATE NO ACTION + ON DELETE CASCADE +; + + +ALTER TABLE public.comtnmenucreatdtls + ADD CONSTRAINT comtnmenucreatdtls_mapng_creat_id_fkey FOREIGN KEY (mapng_creat_id) + REFERENCES public.comtnsitemap (mapng_creat_id) + ON UPDATE NO ACTION + ON DELETE CASCADE +; + + + +/* Create Views */ + +-- 사용자정보뷰 +CREATE VIEW public.comvnusermaster AS SELECT comtngnrlmber.esntl_id, + comtngnrlmber.mber_id AS user_id, + comtngnrlmber.password, + comtngnrlmber.mber_nm AS user_nm, + comtngnrlmber.zip AS user_zip, + comtngnrlmber.adres AS user_adres, + comtngnrlmber.mber_email_adres AS user_email, + ' '::bpchar AS group_id, + 'GNR'::text AS user_se, + ' '::bpchar AS orgnzt_id + FROM comtngnrlmber +UNION ALL + SELECT comtnemplyrinfo.esntl_id, + comtnemplyrinfo.emplyr_id AS user_id, + comtnemplyrinfo.password, + comtnemplyrinfo.user_nm, + comtnemplyrinfo.zip AS user_zip, + comtnemplyrinfo.house_adres AS user_adres, + comtnemplyrinfo.email_adres AS user_email, + comtnemplyrinfo.group_id, + 'USR'::text AS user_se, + comtnemplyrinfo.orgnzt_id + FROM comtnemplyrinfo +UNION ALL + SELECT comtnentrprsmber.esntl_id, + comtnentrprsmber.entrprs_mber_id AS user_id, + comtnentrprsmber.entrprs_mber_password AS password, + comtnentrprsmber.cmpny_nm AS user_nm, + comtnentrprsmber.zip AS user_zip, + comtnentrprsmber.adres AS user_adres, + comtnentrprsmber.applcnt_email_adres AS user_email, + ' '::bpchar AS group_id, + 'ENT'::text AS user_se, + ' '::bpchar AS orgnzt_id + FROM comtnentrprsmber + ORDER BY 1; + + + +/* Create Indexes */ + +CREATE INDEX comtccmmncode_i01 ON public.comtccmmncode USING BTREE (cl_code); +CREATE INDEX comtccmmndetailcode_i01 ON public.comtccmmndetailcode USING BTREE (code_id); +CREATE INDEX comthemplyrinfochangedtls_i01 ON public.comthemplyrinfochangedtls USING BTREE (emplyr_id); +CREATE INDEX comthprogrmchangedtls_i01 ON public.comthprogrmchangedtls USING BTREE (progrm_file_nm); +CREATE INDEX comtnauthorrolerelate_i01 ON public.comtnauthorrolerelate USING BTREE (author_code); +CREATE INDEX comtnauthorrolerelate_i02 ON public.comtnauthorrolerelate USING BTREE (role_code); +CREATE INDEX comtnbbs_i01 ON public.comtnbbs USING BTREE (bbs_id); +CREATE INDEX comtnbbsuse_i01 ON public.comtnbbsuse USING BTREE (bbs_id); +CREATE INDEX comtncomment_i01 ON public.comtncomment USING BTREE (ntt_id, bbs_id); +CREATE INDEX comtnemplyrinfo_i01 ON public.comtnemplyrinfo USING BTREE (orgnzt_id); +CREATE INDEX comtnemplyrinfo_i02 ON public.comtnemplyrinfo USING BTREE (group_id); +CREATE INDEX comtnemplyrscrtyestbs_i04 ON public.comtnemplyrscrtyestbs USING BTREE (author_code); +CREATE INDEX comtnentrprsmber_i01 ON public.comtnentrprsmber USING BTREE (group_id); +CREATE INDEX comtnfiledetail_i01 ON public.comtnfiledetail USING BTREE (atch_file_id); +CREATE INDEX comtngnrlmber_i01 ON public.comtngnrlmber USING BTREE (group_id); +CREATE INDEX comtnmenucreatdtls_i02 ON public.comtnmenucreatdtls USING BTREE (menu_no); +CREATE INDEX comtnmenucreatdtls_i03 ON public.comtnmenucreatdtls USING BTREE (mapng_creat_id); +CREATE INDEX comtnmenucreatdtls_i04 ON public.comtnmenucreatdtls USING BTREE (author_code); +CREATE INDEX comtnmenuinfo_i02 ON public.comtnmenuinfo USING BTREE (upper_menu_no); +CREATE INDEX comtnroles_hierarchy_i02 ON public.comtnroles_hierarchy USING BTREE (chldrn_role); + + + +/* Comments */ + +COMMENT ON TABLE public.comtccmmnclcode IS '공통분류코드'; +COMMENT ON COLUMN public.comtccmmnclcode.cl_code IS '분류코드'; +COMMENT ON COLUMN public.comtccmmnclcode.cl_code_nm IS '분류코드명'; +COMMENT ON COLUMN public.comtccmmnclcode.cl_code_dc IS '분류코드설명'; +COMMENT ON COLUMN public.comtccmmnclcode.use_at IS '사용여부'; +COMMENT ON COLUMN public.comtccmmnclcode.frst_regist_pnttm IS '최초등록시점'; +COMMENT ON COLUMN public.comtccmmnclcode.frst_register_id IS '최초등록자ID'; +COMMENT ON COLUMN public.comtccmmnclcode.last_updt_pnttm IS '최종수정시점'; +COMMENT ON COLUMN public.comtccmmnclcode.last_updusr_id IS '최종수정자ID'; +COMMENT ON TABLE public.comtccmmncode IS '공통코드'; +COMMENT ON COLUMN public.comtccmmncode.code_id IS '코드ID'; +COMMENT ON COLUMN public.comtccmmncode.code_id_nm IS '코드ID명'; +COMMENT ON COLUMN public.comtccmmncode.code_id_dc IS '코드ID설명'; +COMMENT ON COLUMN public.comtccmmncode.use_at IS '사용여부'; +COMMENT ON COLUMN public.comtccmmncode.cl_code IS '분류코드'; +COMMENT ON COLUMN public.comtccmmncode.frst_regist_pnttm IS '최초등록시점'; +COMMENT ON COLUMN public.comtccmmncode.frst_register_id IS '최초등록자ID'; +COMMENT ON COLUMN public.comtccmmncode.last_updt_pnttm IS '최종수정시점'; +COMMENT ON COLUMN public.comtccmmncode.last_updusr_id IS '최종수정자ID'; +COMMENT ON TABLE public.comtccmmndetailcode IS '공통상세코드'; +COMMENT ON COLUMN public.comtccmmndetailcode.code_id IS '코드ID'; +COMMENT ON COLUMN public.comtccmmndetailcode.code IS '코드'; +COMMENT ON COLUMN public.comtccmmndetailcode.code_nm IS '코드명'; +COMMENT ON COLUMN public.comtccmmndetailcode.code_dc IS '코드설명'; +COMMENT ON COLUMN public.comtccmmndetailcode.use_at IS '사용여부'; +COMMENT ON COLUMN public.comtccmmndetailcode.frst_regist_pnttm IS '최초등록시점'; +COMMENT ON COLUMN public.comtccmmndetailcode.frst_register_id IS '최초등록자ID'; +COMMENT ON COLUMN public.comtccmmndetailcode.last_updt_pnttm IS '최종수정시점'; +COMMENT ON COLUMN public.comtccmmndetailcode.last_updusr_id IS '최종수정자ID'; +COMMENT ON TABLE public.comtecopseq IS '시퀀스저장'; +COMMENT ON COLUMN public.comtecopseq.table_name IS '테이블명'; +COMMENT ON COLUMN public.comtecopseq.next_id IS '다음아이디'; +COMMENT ON TABLE public.comthemplyrinfochangedtls IS '업무사용자정보변경내역'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.emplyr_id IS '업무사용자ID'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.change_de IS '변경일'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.orgnzt_id IS '조직ID'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.group_id IS '그룹ID'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.empl_no IS '사원번호'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.sexdstn_code IS '성별코드'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.brthdy IS '생일'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.fxnum IS '팩스번호'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.house_adres IS '주택주소'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.house_end_telno IS '주택끝전화번호'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.area_no IS '지역번호'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.detail_adres IS '상세주소'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.zip IS '우편번호'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.offm_telno IS '사무실전화번호'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.mbtlnum IS '이동전화번호'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.email_adres IS '이메일주소'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.house_middle_telno IS '주택중간전화번호'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.pstinst_code IS '소속기관코드'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.emplyr_sttus_code IS '사용자상태코드'; +COMMENT ON COLUMN public.comthemplyrinfochangedtls.esntl_id IS '고유ID'; +COMMENT ON TABLE public.comthprogrmchangedtls IS '프로그램변경내역'; +COMMENT ON COLUMN public.comthprogrmchangedtls.progrm_file_nm IS '프로그램파일명'; +COMMENT ON COLUMN public.comthprogrmchangedtls.requst_no IS '요청번호'; +COMMENT ON COLUMN public.comthprogrmchangedtls.rqester_id IS '요청자ID'; +COMMENT ON COLUMN public.comthprogrmchangedtls.change_requst_cn IS '변경요청내용'; +COMMENT ON COLUMN public.comthprogrmchangedtls.requst_process_cn IS '요청처리내용'; +COMMENT ON COLUMN public.comthprogrmchangedtls.opetr_id IS '처리자ID'; +COMMENT ON COLUMN public.comthprogrmchangedtls.process_sttus_code IS '처리상태코드'; +COMMENT ON COLUMN public.comthprogrmchangedtls.process_de IS '처리일'; +COMMENT ON COLUMN public.comthprogrmchangedtls.rqestde IS '요청일'; +COMMENT ON COLUMN public.comthprogrmchangedtls.requst_sj IS '요청제목'; +COMMENT ON TABLE public.comtnauthorgroupinfo IS '권한그룹정보'; +COMMENT ON COLUMN public.comtnauthorgroupinfo.group_id IS '그룹ID'; +COMMENT ON COLUMN public.comtnauthorgroupinfo.group_nm IS '그룹명'; +COMMENT ON COLUMN public.comtnauthorgroupinfo.group_creat_de IS '그룹생성일'; +COMMENT ON COLUMN public.comtnauthorgroupinfo.group_dc IS '그룹설명'; +COMMENT ON TABLE public.comtnauthorinfo IS '권한정보'; +COMMENT ON COLUMN public.comtnauthorinfo.author_code IS '권한코드'; +COMMENT ON COLUMN public.comtnauthorinfo.author_nm IS '권한명'; +COMMENT ON COLUMN public.comtnauthorinfo.author_dc IS '권한설명'; +COMMENT ON COLUMN public.comtnauthorinfo.author_creat_de IS '권한생성일'; +COMMENT ON TABLE public.comtnauthorrolerelate IS '권한롤관계'; +COMMENT ON COLUMN public.comtnauthorrolerelate.author_code IS '권한코드'; +COMMENT ON COLUMN public.comtnauthorrolerelate.role_code IS '롤코드'; +COMMENT ON COLUMN public.comtnauthorrolerelate.creat_dt IS '생성일시'; +COMMENT ON TABLE public.comtnbbs IS '게시판'; +COMMENT ON COLUMN public.comtnbbs.ntt_id IS '게시물ID'; +COMMENT ON COLUMN public.comtnbbs.bbs_id IS '게시판ID'; +COMMENT ON COLUMN public.comtnbbs.ntt_no IS '게시물번호'; +COMMENT ON COLUMN public.comtnbbs.ntt_sj IS '게시물제목'; +COMMENT ON COLUMN public.comtnbbs.ntt_cn IS '게시물내용'; +COMMENT ON COLUMN public.comtnbbs.answer_at IS '댓글여부'; +COMMENT ON COLUMN public.comtnbbs.parntsctt_no IS '부모글번호'; +COMMENT ON COLUMN public.comtnbbs.answer_lc IS '댓글위치'; +COMMENT ON COLUMN public.comtnbbs.sort_ordr IS '정렬순서'; +COMMENT ON COLUMN public.comtnbbs.rdcnt IS '조회수'; +COMMENT ON COLUMN public.comtnbbs.use_at IS '사용여부'; +COMMENT ON COLUMN public.comtnbbs.ntce_bgnde IS '게시시작일'; +COMMENT ON COLUMN public.comtnbbs.ntce_endde IS '게시종료일'; +COMMENT ON COLUMN public.comtnbbs.ntcr_id IS '게시자ID'; +COMMENT ON COLUMN public.comtnbbs.ntcr_nm IS '게시자명'; +COMMENT ON COLUMN public.comtnbbs.password IS '비밀번호'; +COMMENT ON COLUMN public.comtnbbs.atch_file_id IS '첨부파일ID'; +COMMENT ON COLUMN public.comtnbbs.notice_at IS '공지사항여부'; +COMMENT ON COLUMN public.comtnbbs.sj_bold_at IS '제목볼드여부'; +COMMENT ON COLUMN public.comtnbbs.secret_at IS '비밀글여부'; +COMMENT ON COLUMN public.comtnbbs.frst_regist_pnttm IS '최초등록시점'; +COMMENT ON COLUMN public.comtnbbs.frst_register_id IS '최초등록자ID'; +COMMENT ON COLUMN public.comtnbbs.last_updt_pnttm IS '최종수정시점'; +COMMENT ON COLUMN public.comtnbbs.last_updusr_id IS '최종수정자ID'; +COMMENT ON COLUMN public.comtnbbs.blog_id IS '블로그 ID'; +COMMENT ON TABLE public.comtnbbsmaster IS '게시판마스터'; +COMMENT ON COLUMN public.comtnbbsmaster.bbs_id IS '게시판ID'; +COMMENT ON COLUMN public.comtnbbsmaster.bbs_nm IS '게시판명'; +COMMENT ON COLUMN public.comtnbbsmaster.bbs_intrcn IS '게시판소개'; +COMMENT ON COLUMN public.comtnbbsmaster.bbs_ty_code IS '게시판유형코드'; +COMMENT ON COLUMN public.comtnbbsmaster.reply_posbl_at IS '답장가능여부'; +COMMENT ON COLUMN public.comtnbbsmaster.file_atch_posbl_at IS '파일첨부가능여부'; +COMMENT ON COLUMN public.comtnbbsmaster.atch_posbl_file_number IS '첨부가능파일숫자'; +COMMENT ON COLUMN public.comtnbbsmaster.atch_posbl_file_size IS '첨부가능파일사이즈'; +COMMENT ON COLUMN public.comtnbbsmaster.use_at IS '사용여부'; +COMMENT ON COLUMN public.comtnbbsmaster.tmplat_id IS '템플릿ID'; +COMMENT ON COLUMN public.comtnbbsmaster.cmmnty_id IS '커뮤니티ID'; +COMMENT ON COLUMN public.comtnbbsmaster.frst_register_id IS '최초등록자ID'; +COMMENT ON COLUMN public.comtnbbsmaster.frst_regist_pnttm IS '최초등록시점'; +COMMENT ON COLUMN public.comtnbbsmaster.last_updusr_id IS '최종수정자ID'; +COMMENT ON COLUMN public.comtnbbsmaster.last_updt_pnttm IS '최종수정시점'; +COMMENT ON COLUMN public.comtnbbsmaster.blog_id IS '블로그 ID'; +COMMENT ON COLUMN public.comtnbbsmaster.blog_at IS '블로그 여부'; +COMMENT ON TABLE public.comtnbbsmasteroptn IS '게시판마스터옵션'; +COMMENT ON COLUMN public.comtnbbsmasteroptn.bbs_id IS '게시판ID'; +COMMENT ON COLUMN public.comtnbbsmasteroptn.answer_at IS '댓글여부'; +COMMENT ON COLUMN public.comtnbbsmasteroptn.stsfdg_at IS '만족도여부'; +COMMENT ON COLUMN public.comtnbbsmasteroptn.frst_regist_pnttm IS '최초등록시점'; +COMMENT ON COLUMN public.comtnbbsmasteroptn.last_updt_pnttm IS '최종수정시점'; +COMMENT ON COLUMN public.comtnbbsmasteroptn.frst_register_id IS '최초등록자ID'; +COMMENT ON COLUMN public.comtnbbsmasteroptn.last_updusr_id IS '최종수정자ID'; +COMMENT ON TABLE public.comtnbbsuse IS '게시판활용'; +COMMENT ON COLUMN public.comtnbbsuse.bbs_id IS '게시판ID'; +COMMENT ON COLUMN public.comtnbbsuse.trget_id IS '대상ID'; +COMMENT ON COLUMN public.comtnbbsuse.use_at IS '사용여부'; +COMMENT ON COLUMN public.comtnbbsuse.regist_se_code IS '등록구분코드'; +COMMENT ON COLUMN public.comtnbbsuse.frst_regist_pnttm IS '최초등록시점'; +COMMENT ON COLUMN public.comtnbbsuse.frst_register_id IS '최초등록자ID'; +COMMENT ON COLUMN public.comtnbbsuse.last_updt_pnttm IS '최종수정시점'; +COMMENT ON COLUMN public.comtnbbsuse.last_updusr_id IS '최종수정자ID'; +COMMENT ON TABLE public.comtnbkmkmenumanageresult IS '바로가기 메뉴 등록'; +COMMENT ON COLUMN public.comtnbkmkmenumanageresult.menu_id IS '메뉴ID'; +COMMENT ON COLUMN public.comtnbkmkmenumanageresult.emplyr_id IS '업무사용자ID'; +COMMENT ON COLUMN public.comtnbkmkmenumanageresult.menu_nm IS '메뉴명'; +COMMENT ON COLUMN public.comtnbkmkmenumanageresult.progrm_stre_path IS '프로그램저장경로'; +COMMENT ON TABLE public.comtncomment IS '댓글'; +COMMENT ON COLUMN public.comtncomment.ntt_id IS '게시물ID'; +COMMENT ON COLUMN public.comtncomment.bbs_id IS '게시판ID'; +COMMENT ON COLUMN public.comtncomment.answer_no IS '댓글번호'; +COMMENT ON COLUMN public.comtncomment.wrter_id IS '작성자ID'; +COMMENT ON COLUMN public.comtncomment.wrter_nm IS '작성자명'; +COMMENT ON COLUMN public.comtncomment.answer IS '댓글'; +COMMENT ON COLUMN public.comtncomment.use_at IS '사용여부'; +COMMENT ON COLUMN public.comtncomment.frst_regist_pnttm IS '최초등록시점'; +COMMENT ON COLUMN public.comtncomment.frst_register_id IS '최초등록자ID'; +COMMENT ON COLUMN public.comtncomment.last_updt_pnttm IS '최종수정시점'; +COMMENT ON COLUMN public.comtncomment.last_updusr_id IS '최종수정자ID'; +COMMENT ON COLUMN public.comtncomment.password IS '비밀번호'; +COMMENT ON TABLE public.comtnemplyrinfo IS '업무사용자정보'; +COMMENT ON COLUMN public.comtnemplyrinfo.emplyr_id IS '업무사용자ID'; +COMMENT ON COLUMN public.comtnemplyrinfo.orgnzt_id IS '조직ID'; +COMMENT ON COLUMN public.comtnemplyrinfo.user_nm IS '사용자명'; +COMMENT ON COLUMN public.comtnemplyrinfo.password IS '비밀번호'; +COMMENT ON COLUMN public.comtnemplyrinfo.empl_no IS '사원번호'; +COMMENT ON COLUMN public.comtnemplyrinfo.ihidnum IS '주민등록번호'; +COMMENT ON COLUMN public.comtnemplyrinfo.sexdstn_code IS '성별코드'; +COMMENT ON COLUMN public.comtnemplyrinfo.brthdy IS '생일'; +COMMENT ON COLUMN public.comtnemplyrinfo.fxnum IS '팩스번호'; +COMMENT ON COLUMN public.comtnemplyrinfo.house_adres IS '주택주소'; +COMMENT ON COLUMN public.comtnemplyrinfo.password_hint IS '비밀번호힌트'; +COMMENT ON COLUMN public.comtnemplyrinfo.password_cnsr IS '비밀번호정답'; +COMMENT ON COLUMN public.comtnemplyrinfo.house_end_telno IS '주택끝전화번호'; +COMMENT ON COLUMN public.comtnemplyrinfo.area_no IS '지역번호'; +COMMENT ON COLUMN public.comtnemplyrinfo.detail_adres IS '상세주소'; +COMMENT ON COLUMN public.comtnemplyrinfo.zip IS '우편번호'; +COMMENT ON COLUMN public.comtnemplyrinfo.offm_telno IS '사무실전화번호'; +COMMENT ON COLUMN public.comtnemplyrinfo.mbtlnum IS '이동전화번호'; +COMMENT ON COLUMN public.comtnemplyrinfo.email_adres IS '이메일주소'; +COMMENT ON COLUMN public.comtnemplyrinfo.ofcps_nm IS '직위명'; +COMMENT ON COLUMN public.comtnemplyrinfo.house_middle_telno IS '주택중간전화번호'; +COMMENT ON COLUMN public.comtnemplyrinfo.group_id IS '그룹ID'; +COMMENT ON COLUMN public.comtnemplyrinfo.pstinst_code IS '소속기관코드'; +COMMENT ON COLUMN public.comtnemplyrinfo.emplyr_sttus_code IS '사용자상태코드'; +COMMENT ON COLUMN public.comtnemplyrinfo.esntl_id IS '고유ID'; +COMMENT ON COLUMN public.comtnemplyrinfo.crtfc_dn_value IS '인증DN값'; +COMMENT ON COLUMN public.comtnemplyrinfo.sbscrb_de IS '가입일자'; +COMMENT ON COLUMN public.comtnemplyrinfo.lock_at IS '잠금여부'; +COMMENT ON COLUMN public.comtnemplyrinfo.lock_cnt IS '잠금회수'; +COMMENT ON COLUMN public.comtnemplyrinfo.lock_last_pnttm IS '잠금최종시점'; +COMMENT ON TABLE public.comtnemplyrscrtyestbs IS '사용자보안설정'; +COMMENT ON COLUMN public.comtnemplyrscrtyestbs.scrty_dtrmn_trget_id IS '보안설정대상ID'; +COMMENT ON COLUMN public.comtnemplyrscrtyestbs.mber_ty_code IS '회원유형코드'; +COMMENT ON COLUMN public.comtnemplyrscrtyestbs.author_code IS '권한코드'; +COMMENT ON TABLE public.comtnentrprsmber IS '기업회원'; +COMMENT ON COLUMN public.comtnentrprsmber.entrprs_mber_id IS '기업회원ID'; +COMMENT ON COLUMN public.comtnentrprsmber.entrprs_se_code IS '기업구분코드'; +COMMENT ON COLUMN public.comtnentrprsmber.bizrno IS '사업자등록번호'; +COMMENT ON COLUMN public.comtnentrprsmber.jurirno IS '법인등록번호'; +COMMENT ON COLUMN public.comtnentrprsmber.cmpny_nm IS '회사명'; +COMMENT ON COLUMN public.comtnentrprsmber.cxfc IS '대표이사'; +COMMENT ON COLUMN public.comtnentrprsmber.zip IS '우편번호'; +COMMENT ON COLUMN public.comtnentrprsmber.adres IS '주소'; +COMMENT ON COLUMN public.comtnentrprsmber.entrprs_middle_telno IS '기업중간전화번호'; +COMMENT ON COLUMN public.comtnentrprsmber.fxnum IS '팩스번호'; +COMMENT ON COLUMN public.comtnentrprsmber.induty_code IS '업종코드'; +COMMENT ON COLUMN public.comtnentrprsmber.applcnt_nm IS '신청인명'; +COMMENT ON COLUMN public.comtnentrprsmber.applcnt_ihidnum IS '신청인주민등록번호'; +COMMENT ON COLUMN public.comtnentrprsmber.sbscrb_de IS '가입일자'; +COMMENT ON COLUMN public.comtnentrprsmber.entrprs_mber_sttus IS '기업회원상태'; +COMMENT ON COLUMN public.comtnentrprsmber.entrprs_mber_password IS '기업회원비밀번호'; +COMMENT ON COLUMN public.comtnentrprsmber.entrprs_mber_password_hint IS '기업회원비밀번호힌트'; +COMMENT ON COLUMN public.comtnentrprsmber.entrprs_mber_password_cnsr IS '기업회원비밀번호정답'; +COMMENT ON COLUMN public.comtnentrprsmber.group_id IS '그룹ID'; +COMMENT ON COLUMN public.comtnentrprsmber.detail_adres IS '상세주소'; +COMMENT ON COLUMN public.comtnentrprsmber.entrprs_end_telno IS '기업끝전화번호'; +COMMENT ON COLUMN public.comtnentrprsmber.area_no IS '지역번호'; +COMMENT ON COLUMN public.comtnentrprsmber.applcnt_email_adres IS '신청자이메일주소'; +COMMENT ON COLUMN public.comtnentrprsmber.esntl_id IS '고유ID'; +COMMENT ON COLUMN public.comtnentrprsmber.lock_at IS '잠금여부'; +COMMENT ON COLUMN public.comtnentrprsmber.lock_cnt IS '잠금회수'; +COMMENT ON COLUMN public.comtnentrprsmber.lock_last_pnttm IS '잠금최종시점'; +COMMENT ON TABLE public.comtnfile IS '파일속성'; +COMMENT ON COLUMN public.comtnfile.atch_file_id IS '첨부파일ID'; +COMMENT ON COLUMN public.comtnfile.creat_dt IS '생성일시'; +COMMENT ON COLUMN public.comtnfile.use_at IS '사용여부'; +COMMENT ON TABLE public.comtnfiledetail IS '파일상세정보'; +COMMENT ON COLUMN public.comtnfiledetail.atch_file_id IS '첨부파일ID'; +COMMENT ON COLUMN public.comtnfiledetail.file_sn IS '파일순번'; +COMMENT ON COLUMN public.comtnfiledetail.file_stre_cours IS '파일저장경로'; +COMMENT ON COLUMN public.comtnfiledetail.stre_file_nm IS '저장파일명'; +COMMENT ON COLUMN public.comtnfiledetail.orignl_file_nm IS '원파일명'; +COMMENT ON COLUMN public.comtnfiledetail.file_extsn IS '파일확장자'; +COMMENT ON COLUMN public.comtnfiledetail.file_cn IS '파일내용'; +COMMENT ON COLUMN public.comtnfiledetail.file_size IS '파일크기'; +COMMENT ON TABLE public.comtngnrlmber IS '일반회원'; +COMMENT ON COLUMN public.comtngnrlmber.mber_id IS '회원ID'; +COMMENT ON COLUMN public.comtngnrlmber.password IS '비밀번호'; +COMMENT ON COLUMN public.comtngnrlmber.password_hint IS '비밀번호힌트'; +COMMENT ON COLUMN public.comtngnrlmber.password_cnsr IS '비밀번호정답'; +COMMENT ON COLUMN public.comtngnrlmber.ihidnum IS '주민등록번호'; +COMMENT ON COLUMN public.comtngnrlmber.mber_nm IS '회원명'; +COMMENT ON COLUMN public.comtngnrlmber.zip IS '우편번호'; +COMMENT ON COLUMN public.comtngnrlmber.adres IS '주소'; +COMMENT ON COLUMN public.comtngnrlmber.area_no IS '지역번호'; +COMMENT ON COLUMN public.comtngnrlmber.mber_sttus IS '회원상태'; +COMMENT ON COLUMN public.comtngnrlmber.detail_adres IS '상세주소'; +COMMENT ON COLUMN public.comtngnrlmber.end_telno IS '끝전화번호'; +COMMENT ON COLUMN public.comtngnrlmber.mbtlnum IS '이동전화번호'; +COMMENT ON COLUMN public.comtngnrlmber.group_id IS '그룹ID'; +COMMENT ON COLUMN public.comtngnrlmber.mber_fxnum IS '회원팩스번호'; +COMMENT ON COLUMN public.comtngnrlmber.mber_email_adres IS '회원이메일주소'; +COMMENT ON COLUMN public.comtngnrlmber.middle_telno IS '중간전화번호'; +COMMENT ON COLUMN public.comtngnrlmber.sbscrb_de IS '가입일자'; +COMMENT ON COLUMN public.comtngnrlmber.sexdstn_code IS '성별코드'; +COMMENT ON COLUMN public.comtngnrlmber.esntl_id IS '고유ID'; +COMMENT ON COLUMN public.comtngnrlmber.lock_at IS '잠금여부'; +COMMENT ON COLUMN public.comtngnrlmber.lock_cnt IS '잠금회수'; +COMMENT ON COLUMN public.comtngnrlmber.lock_last_pnttm IS '잠금최종시점'; +COMMENT ON TABLE public.comtnloginlog IS '접속로그'; +COMMENT ON COLUMN public.comtnloginlog.log_id IS '로그ID'; +COMMENT ON COLUMN public.comtnloginlog.conect_id IS '접속ID'; +COMMENT ON COLUMN public.comtnloginlog.conect_ip IS '접속IP'; +COMMENT ON COLUMN public.comtnloginlog.conect_mthd IS '접속방식'; +COMMENT ON COLUMN public.comtnloginlog.error_occrrnc_at IS '오류발생여부'; +COMMENT ON COLUMN public.comtnloginlog.error_code IS '오류코드'; +COMMENT ON COLUMN public.comtnloginlog.creat_dt IS '생성일시'; +COMMENT ON TABLE public.comtnloginpolicy IS '로그인정책'; +COMMENT ON COLUMN public.comtnloginpolicy.emplyr_id IS '업무사용자ID'; +COMMENT ON COLUMN public.comtnloginpolicy.ip_info IS 'IP정보'; +COMMENT ON COLUMN public.comtnloginpolicy.dplct_perm_at IS '중복허용여부'; +COMMENT ON COLUMN public.comtnloginpolicy.lmtt_at IS '제한여부'; +COMMENT ON COLUMN public.comtnloginpolicy.frst_register_id IS '최초등록자ID'; +COMMENT ON COLUMN public.comtnloginpolicy.frst_regist_pnttm IS '최초등록시점'; +COMMENT ON COLUMN public.comtnloginpolicy.last_updusr_id IS '최종수정자ID'; +COMMENT ON COLUMN public.comtnloginpolicy.last_updt_pnttm IS '최종수정시점'; +COMMENT ON TABLE public.comtnmenucreatdtls IS '메뉴생성내역'; +COMMENT ON COLUMN public.comtnmenucreatdtls.menu_no IS '메뉴번호'; +COMMENT ON COLUMN public.comtnmenucreatdtls.author_code IS '권한코드'; +COMMENT ON COLUMN public.comtnmenucreatdtls.mapng_creat_id IS '매핑생성ID'; +COMMENT ON TABLE public.comtnmenuinfo IS '메뉴정보'; +COMMENT ON COLUMN public.comtnmenuinfo.menu_nm IS '메뉴명'; +COMMENT ON COLUMN public.comtnmenuinfo.progrm_file_nm IS '프로그램파일명'; +COMMENT ON COLUMN public.comtnmenuinfo.menu_no IS '메뉴번호'; +COMMENT ON COLUMN public.comtnmenuinfo.upper_menu_no IS '상위메뉴번호'; +COMMENT ON COLUMN public.comtnmenuinfo.menu_ordr IS '메뉴순서'; +COMMENT ON COLUMN public.comtnmenuinfo.menu_dc IS '메뉴설명'; +COMMENT ON COLUMN public.comtnmenuinfo.relate_image_path IS '관계이미지경로'; +COMMENT ON COLUMN public.comtnmenuinfo.relate_image_nm IS '관계이미지명'; +COMMENT ON TABLE public.comtnorgnztinfo IS '조직정보'; +COMMENT ON COLUMN public.comtnorgnztinfo.orgnzt_id IS '조직ID'; +COMMENT ON COLUMN public.comtnorgnztinfo.orgnzt_nm IS '조직명'; +COMMENT ON COLUMN public.comtnorgnztinfo.orgnzt_dc IS '조직설명'; +COMMENT ON TABLE public.comtnprogrmlist IS '프로그램목록'; +COMMENT ON COLUMN public.comtnprogrmlist.progrm_file_nm IS '프로그램파일명'; +COMMENT ON COLUMN public.comtnprogrmlist.progrm_stre_path IS '프로그램저장경로'; +COMMENT ON COLUMN public.comtnprogrmlist.progrm_korean_nm IS '프로그램한글명'; +COMMENT ON COLUMN public.comtnprogrmlist.progrm_dc IS '프로그램설명'; +COMMENT ON COLUMN public.comtnprogrmlist.url IS 'URL'; +COMMENT ON TABLE public.comtnroleinfo IS '롤정보'; +COMMENT ON COLUMN public.comtnroleinfo.role_code IS '롤코드'; +COMMENT ON COLUMN public.comtnroleinfo.role_nm IS '롤명'; +COMMENT ON COLUMN public.comtnroleinfo.role_pttrn IS '롤패턴'; +COMMENT ON COLUMN public.comtnroleinfo.role_dc IS '롤설명'; +COMMENT ON COLUMN public.comtnroleinfo.role_ty IS '롤유형'; +COMMENT ON COLUMN public.comtnroleinfo.role_sort IS '롤정렬'; +COMMENT ON COLUMN public.comtnroleinfo.role_creat_de IS '롤생성일'; +COMMENT ON TABLE public.comtnroles_hierarchy IS '롤 계층구조'; +COMMENT ON COLUMN public.comtnroles_hierarchy.parnts_role IS '부모롤'; +COMMENT ON COLUMN public.comtnroles_hierarchy.chldrn_role IS '자식롤'; +COMMENT ON TABLE public.comtnsitemap IS '사이트맵'; +COMMENT ON COLUMN public.comtnsitemap.mapng_creat_id IS '매핑생성ID'; +COMMENT ON COLUMN public.comtnsitemap.creatr_id IS '생성자ID'; +COMMENT ON COLUMN public.comtnsitemap.mapng_file_nm IS '매핑파일명'; +COMMENT ON COLUMN public.comtnsitemap.mapng_file_path IS '매핑파일경로'; +COMMENT ON TABLE public.comtnsyslog IS '시스템로그'; +COMMENT ON COLUMN public.comtnsyslog.requst_id IS '요청ID'; +COMMENT ON COLUMN public.comtnsyslog.job_se_code IS '업무구분코드'; +COMMENT ON COLUMN public.comtnsyslog.instt_code IS '기관코드'; +COMMENT ON COLUMN public.comtnsyslog.occrrnc_de IS '발생일'; +COMMENT ON COLUMN public.comtnsyslog.rqester_ip IS '요청자IP'; +COMMENT ON COLUMN public.comtnsyslog.rqester_id IS '요청자ID'; +COMMENT ON COLUMN public.comtnsyslog.trget_menu_nm IS '대상메뉴명'; +COMMENT ON COLUMN public.comtnsyslog.svc_nm IS '서비스명'; +COMMENT ON COLUMN public.comtnsyslog.method_nm IS '메서드명'; +COMMENT ON COLUMN public.comtnsyslog.process_se_code IS '처리구분코드'; +COMMENT ON COLUMN public.comtnsyslog.process_co IS '처리수'; +COMMENT ON COLUMN public.comtnsyslog.process_time IS '처리시간'; +COMMENT ON COLUMN public.comtnsyslog.rspns_code IS '응답코드'; +COMMENT ON COLUMN public.comtnsyslog.error_se IS '오류구분'; +COMMENT ON COLUMN public.comtnsyslog.error_co IS '오류수'; +COMMENT ON COLUMN public.comtnsyslog.error_code IS '오류코드'; +COMMENT ON TABLE public.comtnweblog IS '웹로그'; +COMMENT ON COLUMN public.comtnweblog.requst_id IS '요청ID'; +COMMENT ON COLUMN public.comtnweblog.occrrnc_de IS '발생일'; +COMMENT ON COLUMN public.comtnweblog.url IS 'URL'; +COMMENT ON COLUMN public.comtnweblog.rqester_id IS '요청자ID'; +COMMENT ON COLUMN public.comtnweblog.rqester_ip IS '요청자IP'; +COMMENT ON TABLE public.comtssyslogsummary IS '시스템로그요약'; +COMMENT ON COLUMN public.comtssyslogsummary.occrrnc_de IS '발생일'; +COMMENT ON COLUMN public.comtssyslogsummary.svc_nm IS '서비스명'; +COMMENT ON COLUMN public.comtssyslogsummary.method_nm IS '메서드명'; +COMMENT ON COLUMN public.comtssyslogsummary.creat_co IS '생성수'; +COMMENT ON COLUMN public.comtssyslogsummary.updt_co IS '수정수'; +COMMENT ON COLUMN public.comtssyslogsummary.rdcnt IS '조회수'; +COMMENT ON COLUMN public.comtssyslogsummary.delete_co IS '삭제수'; +COMMENT ON COLUMN public.comtssyslogsummary.outpt_co IS '출력수'; +COMMENT ON COLUMN public.comtssyslogsummary.error_co IS '오류수'; +COMMENT ON TABLE public.comtsweblogsummary IS '웹로그 요약'; +COMMENT ON COLUMN public.comtsweblogsummary.occrrnc_de IS '발생일'; +COMMENT ON COLUMN public.comtsweblogsummary.url IS 'URL'; +COMMENT ON COLUMN public.comtsweblogsummary.rdcnt IS '조회수'; +COMMENT ON TABLE public.ids IS '테이블별아이디'; +COMMENT ON COLUMN public.ids.idgen_table_nm IS 'IDGEN테이블명'; +COMMENT ON COLUMN public.ids.idgen_next_id IS 'IDGEN다음ID'; + + + Index: base3.10/script/tmp.erm =================================================================== --- base3.10/script/tmp.erm (nonexistent) +++ base3.10/script/tmp.erm (revision 7) @@ -0,0 +1,856 @@ +<?xml version="1.0" encoding="UTF-8"?> +<diagram> + <page_setting> + <direction_horizontal>true</direction_horizontal> + <scale>100</scale> + <paper_size>A4 210 x 297 mm</paper_size> + <top_margin>30</top_margin> + <left_margin>30</left_margin> + <bottom_margin>30</bottom_margin> + <right_margin>30</right_margin> + </page_setting> + <category_index>0</category_index> + <zoom>1.0</zoom> + <x>0</x> + <y>0</y> + <default_color> + <r>128</r> + <g>128</g> + <b>192</b> + </default_color> + <color> + <r>255</r> + <g>255</g> + <b>255</b> + </color> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <settings> + <database>PostgreSQL</database> + <capital>false</capital> + <table_style></table_style> + <notation></notation> + <notation_level>0</notation_level> + <notation_expand_group>true</notation_expand_group> + <view_mode>2</view_mode> + <outline_view_mode>1</outline_view_mode> + <view_order_by>1</view_order_by> + <auto_ime_change>false</auto_ime_change> + <validate_physical_name>true</validate_physical_name> + <use_bezier_curve>false</use_bezier_curve> + <suspend_validator>false</suspend_validator> + <export_setting> + <export_ddl_setting> + <output_path>script\tmp.sql</output_path> + <encoding>UTF-8</encoding> + <line_feed>CR+LF</line_feed> + <is_open_after_saved>true</is_open_after_saved> + <environment_id>0</environment_id> + <category_id>null</category_id> + <ddl_target> + <create_comment>true</create_comment> + <create_foreignKey>true</create_foreignKey> + <create_index>true</create_index> + <create_sequence>true</create_sequence> + <create_table>true</create_table> + <create_tablespace>true</create_tablespace> + <create_trigger>true</create_trigger> + <create_view>true</create_view> + <drop_index>true</drop_index> + <drop_sequence>true</drop_sequence> + <drop_table>true</drop_table> + <drop_tablespace>true</drop_tablespace> + <drop_trigger>true</drop_trigger> + <drop_view>true</drop_view> + <inline_column_comment>true</inline_column_comment> + <inline_table_comment>true</inline_table_comment> + <comment_value_description>true</comment_value_description> + <comment_value_logical_name>false</comment_value_logical_name> + <comment_value_logical_name_description>false</comment_value_logical_name_description> + <comment_replace_line_feed>false</comment_replace_line_feed> + <comment_replace_string></comment_replace_string> + </ddl_target> + </export_ddl_setting> + <export_excel_setting> + <category_id>null</category_id> + <output_path></output_path> + <template></template> + <template_path></template_path> + <used_default_template_lang></used_default_template_lang> + <image_output></image_output> + <is_open_after_saved>true</is_open_after_saved> + <is_put_diagram>true</is_put_diagram> + <is_use_logical_name>true</is_use_logical_name> + </export_excel_setting> + <export_html_setting> + <output_dir></output_dir> + <with_category_image>true</with_category_image> + <with_image>true</with_image> + <is_open_after_saved>true</is_open_after_saved> + </export_html_setting> + <export_image_setting> + <output_file_path></output_file_path> + <category_dir_path></category_dir_path> + <with_category_image>true</with_category_image> + <is_open_after_saved>true</is_open_after_saved> + </export_image_setting> + <export_java_setting> + <java_output></java_output> + <package_name></package_name> + <class_name_suffix></class_name_suffix> + <src_file_encoding></src_file_encoding> + <with_hibernate>false</with_hibernate> + </export_java_setting> + <export_testdata_setting> + <file_encoding></file_encoding> + <file_path></file_path> + <format>0</format> + </export_testdata_setting> + </export_setting> + <category_settings> + <free_layout>false</free_layout> + <show_referred_tables>false</show_referred_tables> + <categories> + </categories> + </category_settings> + <translation_settings> + <use>false</use> + <translations> + </translations> + </translation_settings> + <model_properties> + <id></id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>50</x> + <y>50</y> + <color> + <r>255</r> + <g>255</g> + <b>255</b> + </color> + <connections> + </connections> + <display>false</display> + <creation_date>2022-01-27 11:27:41</creation_date> + <updated_date>2022-01-27 11:39:46</updated_date> + <model_property> + <name>프로젝트명</name> + <value></value> + </model_property> + <model_property> + <name>모델명</name> + <value></value> + </model_property> + <model_property> + <name>버전</name> + <value></value> + </model_property> + <model_property> + <name>회사명</name> + <value></value> + </model_property> + <model_property> + <name>작성자</name> + <value></value> + </model_property> + </model_properties> + <table_properties> + <schema></schema> + <without_oids>true</without_oids> + </table_properties> + <environment_setting> + <environment> + <id>0</id> + <name>기본</name> + </environment> + </environment_setting> + </settings> + <dictionary> + <word> + <id>0</id> + <length>32</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description>파일확장자</description> + <logical_name>파일확장자</logical_name> + <physical_name>file_extsn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>1</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description>파일ID</description> + <logical_name>파일 ID</logical_name> + <physical_name>file_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>2</id> + <length>15</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description>파일크기</description> + <logical_name>파일크기</logical_name> + <physical_name>file_size</physical_name> + <type>decimal(p)</type> + </word> + <word> + <id>3</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description>총경로</description> + <logical_name>총경로</logical_name> + <physical_name>full_path</physical_name> + <type>text</type> + </word> + <word> + <id>4</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description>링크</description> + <logical_name>링크</logical_name> + <physical_name>link</physical_name> + <type>text</type> + </word> + <word> + <id>5</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description>파일타입</description> + <logical_name>파일타입</logical_name> + <physical_name>mime</physical_name> + <type>text</type> + </word> + <word> + <id>6</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description>원본파일명</description> + <logical_name>원본파일명</logical_name> + <physical_name>origin_file_nm</physical_name> + <type>text</type> + </word> + <word> + <id>7</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description>등록자 ID</description> + <logical_name>등록자 ID</logical_name> + <physical_name>register_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>8</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description>등록 시점</description> + <logical_name>등록 시점</logical_name> + <physical_name>regist_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>9</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description>저장파일명</description> + <logical_name>저장파일명</logical_name> + <physical_name>sys_file_nm</physical_name> + <type>text</type> + </word> + <word> + <id>10</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description>수정 시점</description> + <logical_name>수정 시점</logical_name> + <physical_name>updt_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>11</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description>수정자 ID</description> + <logical_name>수정자 ID</logical_name> + <physical_name>updusr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>12</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description>업로드경로</description> + <logical_name>업로드경로</logical_name> + <physical_name>upload_dir</physical_name> + <type>text</type> + </word> + </dictionary> + <tablespace_set> + </tablespace_set> + <contents> + <table> + <id>0</id> + <height>75</height> + <width>120</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>381</x> + <y>152</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>tnfile</physical_name> + <logical_name>첨부파일</logical_name> + <description>첨부파일</description> + <constraint></constraint> + <primary_key_name></primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>1</word_id> + <id>0</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>true</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>4</word_id> + <id>1</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>3</word_id> + <id>2</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>6</word_id> + <id>3</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>9</word_id> + <id>4</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>12</word_id> + <id>5</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>2</word_id> + <id>6</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>decimal(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>5</word_id> + <id>7</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>0</word_id> + <id>8</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>7</word_id> + <id>9</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>8</word_id> + <id>10</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>11</word_id> + <id>11</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>10</word_id> + <id>12</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema></schema> + <without_oids>true</without_oids> + </table_properties> + </table> + </contents> + <column_groups> + </column_groups> + <test_data_list> + </test_data_list> + <sequence_set> + </sequence_set> + <trigger_set> + </trigger_set> + <change_tracking_list> + </change_tracking_list> +</diagram> Index: base3.10/script/postgres.erm =================================================================== --- base3.10/script/postgres.erm (nonexistent) +++ base3.10/script/postgres.erm (revision 7) @@ -0,0 +1,17561 @@ +<?xml version="1.0" encoding="UTF-8"?> +<diagram> + <page_setting> + <direction_horizontal>true</direction_horizontal> + <scale>100</scale> + <paper_size>A4 210 x 297 mm</paper_size> + <top_margin>30</top_margin> + <left_margin>30</left_margin> + <bottom_margin>30</bottom_margin> + <right_margin>30</right_margin> + </page_setting> + <category_index>0</category_index> + <zoom>1.0</zoom> + <x>1071</x> + <y>999</y> + <default_color> + <r>255</r> + <g>255</g> + <b>0</b> + </default_color> + <color> + <r>255</r> + <g>255</g> + <b>255</b> + </color> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <settings> + <database>PostgreSQL</database> + <capital>false</capital> + <table_style></table_style> + <notation></notation> + <notation_level>5</notation_level> + <notation_expand_group>true</notation_expand_group> + <view_mode>1</view_mode> + <outline_view_mode>1</outline_view_mode> + <view_order_by>1</view_order_by> + <auto_ime_change>false</auto_ime_change> + <validate_physical_name>true</validate_physical_name> + <use_bezier_curve>false</use_bezier_curve> + <suspend_validator>false</suspend_validator> + <export_setting> + <export_ddl_setting> + <output_path>script\postgres.sql</output_path> + <encoding>UTF-8</encoding> + <line_feed>CR+LF</line_feed> + <is_open_after_saved>true</is_open_after_saved> + <environment_id>0</environment_id> + <category_id>null</category_id> + <ddl_target> + <create_comment>true</create_comment> + <create_foreignKey>true</create_foreignKey> + <create_index>true</create_index> + <create_sequence>true</create_sequence> + <create_table>true</create_table> + <create_tablespace>true</create_tablespace> + <create_trigger>true</create_trigger> + <create_view>true</create_view> + <drop_index>true</drop_index> + <drop_sequence>true</drop_sequence> + <drop_table>true</drop_table> + <drop_tablespace>true</drop_tablespace> + <drop_trigger>true</drop_trigger> + <drop_view>true</drop_view> + <inline_column_comment>true</inline_column_comment> + <inline_table_comment>true</inline_table_comment> + <comment_value_description>true</comment_value_description> + <comment_value_logical_name>false</comment_value_logical_name> + <comment_value_logical_name_description>false</comment_value_logical_name_description> + <comment_replace_line_feed>false</comment_replace_line_feed> + <comment_replace_string></comment_replace_string> + </ddl_target> + </export_ddl_setting> + <export_excel_setting> + <category_id>null</category_id> + <output_path></output_path> + <template></template> + <template_path></template_path> + <used_default_template_lang></used_default_template_lang> + <image_output></image_output> + <is_open_after_saved>true</is_open_after_saved> + <is_put_diagram>true</is_put_diagram> + <is_use_logical_name>true</is_use_logical_name> + </export_excel_setting> + <export_html_setting> + <output_dir></output_dir> + <with_category_image>true</with_category_image> + <with_image>true</with_image> + <is_open_after_saved>true</is_open_after_saved> + </export_html_setting> + <export_image_setting> + <output_file_path></output_file_path> + <category_dir_path></category_dir_path> + <with_category_image>true</with_category_image> + <is_open_after_saved>true</is_open_after_saved> + </export_image_setting> + <export_java_setting> + <java_output></java_output> + <package_name></package_name> + <class_name_suffix></class_name_suffix> + <src_file_encoding></src_file_encoding> + <with_hibernate>false</with_hibernate> + </export_java_setting> + <export_testdata_setting> + <file_encoding></file_encoding> + <file_path></file_path> + <format>0</format> + </export_testdata_setting> + </export_setting> + <category_settings> + <free_layout>false</free_layout> + <show_referred_tables>false</show_referred_tables> + <categories> + <category> + <id>39</id> + <height>167</height> + <width>361</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>12</x> + <y>432</y> + <color> + <r>255</r> + <g>128</g> + <b>64</b> + </color> + <connections> + </connections> + <name>기타</name> + <selected>true</selected> + <node_element>18</node_element> + <node_element>22</node_element> + </category> + <category> + <id>40</id> + <height>400</height> + <width>725</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>8</x> + <y>0</y> + <color> + <r>255</r> + <g>128</g> + <b>64</b> + </color> + <connections> + </connections> + <name>공통코드</name> + <selected>true</selected> + <node_element>23</node_element> + <node_element>19</node_element> + <node_element>20</node_element> + </category> + <category> + <id>41</id> + <height>864</height> + <width>1416</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>4</x> + <y>2028</y> + <color> + <r>255</r> + <g>128</g> + <b>64</b> + </color> + <connections> + </connections> + <name>권한&amp;메뉴</name> + <selected>true</selected> + <node_element>28</node_element> + <node_element>17</node_element> + <node_element>5</node_element> + <node_element>29</node_element> + <node_element>8</node_element> + <node_element>15</node_element> + <node_element>7</node_element> + <node_element>27</node_element> + <node_element>14</node_element> + <node_element>3</node_element> + <node_element>4</node_element> + </category> + <category> + <id>42</id> + <height>1185</height> + <width>1220</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>4</x> + <y>785</y> + <color> + <r>255</r> + <g>128</g> + <b>64</b> + </color> + <connections> + </connections> + <name>사용자</name> + <selected>true</selected> + <node_element>0</node_element> + <node_element>16</node_element> + <node_element>24</node_element> + <node_element>30</node_element> + <node_element>10</node_element> + <node_element>6</node_element> + <node_element>11</node_element> + <node_element>26</node_element> + </category> + <category> + <id>43</id> + <height>440</height> + <width>994</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1164</x> + <y>84</y> + <color> + <r>255</r> + <g>128</g> + <b>64</b> + </color> + <connections> + </connections> + <name>로그</name> + <selected>true</selected> + <node_element>1</node_element> + <node_element>25</node_element> + <node_element>21</node_element> + <node_element>31</node_element> + <node_element>2</node_element> + <node_element>34</node_element> + </category> + <category> + <id>44</id> + <height>1041</height> + <width>853</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1476</x> + <y>771</y> + <color> + <r>255</r> + <g>128</g> + <b>64</b> + </color> + <connections> + </connections> + <name>게시판</name> + <selected>true</selected> + <node_element>36</node_element> + <node_element>12</node_element> + <node_element>32</node_element> + <node_element>38</node_element> + <node_element>9</node_element> + <node_element>13</node_element> + <node_element>33</node_element> + </category> + </categories> + </category_settings> + <translation_settings> + <use>false</use> + <translations> + </translations> + </translation_settings> + <model_properties> + <id></id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>50</x> + <y>50</y> + <color> + <r>255</r> + <g>255</g> + <b>255</b> + </color> + <connections> + </connections> + <display>false</display> + <creation_date>2022-01-26 16:20:32</creation_date> + <updated_date>2022-02-07 11:44:37</updated_date> + <model_property> + <name>프로젝트명</name> + <value></value> + </model_property> + <model_property> + <name>모델명</name> + <value></value> + </model_property> + <model_property> + <name>버전</name> + <value></value> + </model_property> + <model_property> + <name>회사명</name> + <value></value> + </model_property> + <model_property> + <name>작성자</name> + <value></value> + </model_property> + </model_properties> + <table_properties> + <schema></schema> + <without_oids>true</without_oids> + </table_properties> + <environment_setting> + <environment> + <id>0</id> + <name>기본</name> + </environment> + </environment_setting> + </settings> + <dictionary> + <word> + <id>0</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주소</description> + <logical_name>주소</logical_name> + <physical_name>adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>1</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>댓글</description> + <logical_name>댓글</logical_name> + <physical_name>answer</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>2</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>댓글여부</description> + <logical_name>댓글여부</logical_name> + <physical_name>answer_at</physical_name> + <type>char</type> + </word> + <word> + <id>3</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>댓글위치</description> + <logical_name>댓글위치</logical_name> + <physical_name>answer_lc</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>4</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>댓글번호</description> + <logical_name>댓글번호</logical_name> + <physical_name>answer_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>5</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>신청자이메일주소</description> + <logical_name>신청자이메일주소</logical_name> + <physical_name>applcnt_email_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>6</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>신청인주민등록번호</description> + <logical_name>신청인주민등록번호</logical_name> + <physical_name>applcnt_ihidnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>7</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>신청인명</description> + <logical_name>신청인명</logical_name> + <physical_name>applcnt_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>8</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>지역번호</description> + <logical_name>지역번호</logical_name> + <physical_name>area_no</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>9</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description>첨부파일ID</description> + <logical_name>첨부파일ID</logical_name> + <physical_name>atch_file_id</physical_name> + <type>text</type> + </word> + <word> + <id>10</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>첨부가능파일숫자</description> + <logical_name>첨부가능파일숫자</logical_name> + <physical_name>atch_posbl_file_number</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>11</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>첨부가능파일사이즈</description> + <logical_name>첨부가능파일사이즈</logical_name> + <physical_name>atch_posbl_file_size</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>12</id> + <length>30</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>권한코드</description> + <logical_name>권한코드</logical_name> + <physical_name>author_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>13</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>권한생성일</description> + <logical_name>권한생성일</logical_name> + <physical_name>author_creat_de</physical_name> + <type>timestamp</type> + </word> + <word> + <id>14</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>권한설명</description> + <logical_name>권한설명</logical_name> + <physical_name>author_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>15</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>권한명</description> + <logical_name>권한명</logical_name> + <physical_name>author_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>16</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시판ID</description> + <logical_name>게시판ID</logical_name> + <physical_name>bbs_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>17</id> + <length>2400</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시판소개</description> + <logical_name>게시판소개</logical_name> + <physical_name>bbs_intrcn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>18</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시판명</description> + <logical_name>게시판명</logical_name> + <physical_name>bbs_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>19</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시판유형코드</description> + <logical_name>게시판유형코드</logical_name> + <physical_name>bbs_ty_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>20</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사업자등록번호</description> + <logical_name>사업자등록번호</logical_name> + <physical_name>bizrno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>21</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>블로그 여부</description> + <logical_name>블로그 여부</logical_name> + <physical_name>blog_at</physical_name> + <type>character(n)</type> + </word> + <word> + <id>22</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>블로그 ID</description> + <logical_name>블로그 ID</logical_name> + <physical_name>blog_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>23</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>생일</description> + <logical_name>생일</logical_name> + <physical_name>brthdy</physical_name> + <type>character(n)</type> + </word> + <word> + <id>24</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>변경일</description> + <logical_name>변경일</logical_name> + <physical_name>change_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>25</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>변경요청내용</description> + <logical_name>변경요청내용</logical_name> + <physical_name>change_requst_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>26</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description></description> + <logical_name>chg_pwd_last_pnttm</logical_name> + <physical_name>chg_pwd_last_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>27</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>분류코드</description> + <logical_name>분류코드</logical_name> + <physical_name>cl_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>28</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>분류코드설명</description> + <logical_name>분류코드설명</logical_name> + <physical_name>cl_code_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>29</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>분류코드명</description> + <logical_name>분류코드명</logical_name> + <physical_name>cl_code_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>30</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>커뮤니티ID</description> + <logical_name>커뮤니티ID</logical_name> + <physical_name>cmmnty_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>31</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회사명</description> + <logical_name>회사명</logical_name> + <physical_name>cmpny_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>32</id> + <length>15</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드</description> + <logical_name>코드</logical_name> + <physical_name>code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>33</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드설명</description> + <logical_name>코드설명</logical_name> + <physical_name>code_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>34</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드ID</description> + <logical_name>코드ID</logical_name> + <physical_name>code_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>35</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드ID설명</description> + <logical_name>코드ID설명</logical_name> + <physical_name>code_id_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>36</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드ID명</description> + <logical_name>코드ID명</logical_name> + <physical_name>code_id_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>37</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드명</description> + <logical_name>코드명</logical_name> + <physical_name>code_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>38</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>접속ID</description> + <logical_name>접속ID</logical_name> + <physical_name>conect_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>39</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>접속IP</description> + <logical_name>접속IP</logical_name> + <physical_name>conect_ip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>40</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>접속방식</description> + <logical_name>접속방식</logical_name> + <physical_name>conect_mthd</physical_name> + <type>character(n)</type> + </word> + <word> + <id>41</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>생성자ID</description> + <logical_name>생성자ID</logical_name> + <physical_name>creatr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>42</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>생성수</description> + <logical_name>생성수</logical_name> + <physical_name>creat_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>43</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>생성수</description> + <logical_name>생성수</logical_name> + <physical_name>creat_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>44</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>생성일시</description> + <logical_name>생성일시</logical_name> + <physical_name>creat_dt</physical_name> + <type>timestamp</type> + </word> + <word> + <id>45</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>인증DN값</description> + <logical_name>인증DN값</logical_name> + <physical_name>crtfc_dn_value</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>46</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>대표이사</description> + <logical_name>대표이사</logical_name> + <physical_name>cxfc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>47</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>삭제수</description> + <logical_name>삭제수</logical_name> + <physical_name>delete_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>48</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>삭제수</description> + <logical_name>삭제수</logical_name> + <physical_name>delete_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>49</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>상세주소</description> + <logical_name>상세주소</logical_name> + <physical_name>detail_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>50</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>중복허용여부</description> + <logical_name>중복허용여부</logical_name> + <physical_name>dplct_perm_at</physical_name> + <type>char</type> + </word> + <word> + <id>51</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이메일주소</description> + <logical_name>이메일주소</logical_name> + <physical_name>email_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>52</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>업무사용자ID</description> + <logical_name>업무사용자ID</logical_name> + <physical_name>emplyr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>53</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용자상태코드</description> + <logical_name>사용자상태코드</logical_name> + <physical_name>emplyr_sttus_code</physical_name> + <type>char</type> + </word> + <word> + <id>54</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사원번호</description> + <logical_name>사원번호</logical_name> + <physical_name>empl_no</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>55</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>끝전화번호</description> + <logical_name>끝전화번호</logical_name> + <physical_name>end_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>56</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업끝전화번호</description> + <logical_name>기업끝전화번호</logical_name> + <physical_name>entrprs_end_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>57</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업회원ID</description> + <logical_name>기업회원ID</logical_name> + <physical_name>entrprs_mber_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>58</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업회원비밀번호</description> + <logical_name>기업회원비밀번호</logical_name> + <physical_name>entrprs_mber_password</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>59</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업회원비밀번호정답</description> + <logical_name>기업회원비밀번호정답</logical_name> + <physical_name>entrprs_mber_password_cnsr</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>60</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업회원비밀번호힌트</description> + <logical_name>기업회원비밀번호힌트</logical_name> + <physical_name>entrprs_mber_password_hint</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>61</id> + <length>15</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업회원상태</description> + <logical_name>기업회원상태</logical_name> + <physical_name>entrprs_mber_sttus</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>62</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업중간전화번호</description> + <logical_name>기업중간전화번호</logical_name> + <physical_name>entrprs_middle_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>63</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업구분코드</description> + <logical_name>기업구분코드</logical_name> + <physical_name>entrprs_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>64</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>오류수</description> + <logical_name>오류수</logical_name> + <physical_name>error_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>65</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>오류수</description> + <logical_name>오류수</logical_name> + <physical_name>error_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>66</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>오류코드</description> + <logical_name>오류코드</logical_name> + <physical_name>error_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>67</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>오류발생여부</description> + <logical_name>오류발생여부</logical_name> + <physical_name>error_occrrnc_at</physical_name> + <type>char</type> + </word> + <word> + <id>68</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>오류구분</description> + <logical_name>오류구분</logical_name> + <physical_name>error_se</physical_name> + <type>char</type> + </word> + <word> + <id>69</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>고유ID</description> + <logical_name>고유ID</logical_name> + <physical_name>esntl_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>70</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>고유ID</description> + <logical_name>고유ID</logical_name> + <physical_name>esntl_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>71</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일첨부가능여부</description> + <logical_name>파일첨부가능여부</logical_name> + <physical_name>file_atch_posbl_at</physical_name> + <type>char</type> + </word> + <word> + <id>72</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일내용</description> + <logical_name>파일내용</logical_name> + <physical_name>file_cn</physical_name> + <type>text</type> + </word> + <word> + <id>73</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일확장자</description> + <logical_name>파일확장자</logical_name> + <physical_name>file_extsn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>74</id> + <length>32</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일확장자</description> + <logical_name>파일확장자</logical_name> + <physical_name>file_extsn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>75</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일ID</description> + <logical_name>파일ID</logical_name> + <physical_name>file_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>76</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일크기</description> + <logical_name>파일크기</logical_name> + <physical_name>file_size</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>77</id> + <length>15</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일크기</description> + <logical_name>파일크기</logical_name> + <physical_name>file_size</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>78</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일순번</description> + <logical_name>파일순번</logical_name> + <physical_name>file_sn</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>79</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일저장경로</description> + <logical_name>파일저장경로</logical_name> + <physical_name>file_stre_cours</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>80</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최초등록자ID</description> + <logical_name>최초등록자ID</logical_name> + <physical_name>frst_register_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>81</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최초등록시점</description> + <logical_name>최초등록시점</logical_name> + <physical_name>frst_regist_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>82</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>총경로</description> + <logical_name>총경로</logical_name> + <physical_name>full_path</physical_name> + <type>text</type> + </word> + <word> + <id>83</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>팩스번호</description> + <logical_name>팩스번호</logical_name> + <physical_name>fxnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>84</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>그룹생성일</description> + <logical_name>그룹생성일</logical_name> + <physical_name>group_creat_de</physical_name> + <type>timestamp</type> + </word> + <word> + <id>85</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>그룹설명</description> + <logical_name>그룹설명</logical_name> + <physical_name>group_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>86</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description></description> + <logical_name>group_id</logical_name> + <physical_name>group_id</physical_name> + <type></type> + </word> + <word> + <id>87</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>그룹ID</description> + <logical_name>그룹ID</logical_name> + <physical_name>group_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>88</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>그룹명</description> + <logical_name>그룹명</logical_name> + <physical_name>group_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>89</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주택주소</description> + <logical_name>주택주소</logical_name> + <physical_name>house_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>90</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주택끝전화번호</description> + <logical_name>주택끝전화번호</logical_name> + <physical_name>house_end_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>91</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주택중간전화번호</description> + <logical_name>주택중간전화번호</logical_name> + <physical_name>house_middle_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>92</id> + <length>30</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>IDGEN다음ID</description> + <logical_name>IDGEN다음ID</logical_name> + <physical_name>idgen_next_id</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>93</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>IDGEN테이블명</description> + <logical_name>IDGEN테이블명</logical_name> + <physical_name>idgen_table_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>94</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주민등록번호</description> + <logical_name>주민등록번호</logical_name> + <physical_name>ihidnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>95</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>업종코드</description> + <logical_name>업종코드</logical_name> + <physical_name>induty_code</physical_name> + <type>char</type> + </word> + <word> + <id>96</id> + <length>7</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기관코드</description> + <logical_name>기관코드</logical_name> + <physical_name>instt_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>97</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>IP정보</description> + <logical_name>IP정보</logical_name> + <physical_name>ip_info</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>98</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>업무구분코드</description> + <logical_name>업무구분코드</logical_name> + <physical_name>job_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>99</id> + <length>13</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>법인등록번호</description> + <logical_name>법인등록번호</logical_name> + <physical_name>jurirno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>100</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최종수정시점</description> + <logical_name>최종수정시점</logical_name> + <physical_name>last_updt_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>101</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최종수정자ID</description> + <logical_name>최종수정자ID</logical_name> + <physical_name>last_updusr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>102</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>링크</description> + <logical_name>링크</logical_name> + <physical_name>link</physical_name> + <type>text</type> + </word> + <word> + <id>103</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>제한여부</description> + <logical_name>제한여부</logical_name> + <physical_name>lmtt_at</physical_name> + <type>char</type> + </word> + <word> + <id>104</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>잠금여부</description> + <logical_name>잠금여부</logical_name> + <physical_name>lock_at</physical_name> + <type>char</type> + </word> + <word> + <id>105</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>잠금회수</description> + <logical_name>잠금회수</logical_name> + <physical_name>lock_cnt</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>106</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>잠금최종시점</description> + <logical_name>잠금최종시점</logical_name> + <physical_name>lock_last_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>107</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>로그ID</description> + <logical_name>로그ID</logical_name> + <physical_name>log_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>108</id> + <length>30</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>매핑생성ID</description> + <logical_name>매핑생성ID</logical_name> + <physical_name>mapng_creat_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>109</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>매핑파일명</description> + <logical_name>매핑파일명</logical_name> + <physical_name>mapng_file_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>110</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>매핑파일경로</description> + <logical_name>매핑파일경로</logical_name> + <physical_name>mapng_file_path</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>111</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원이메일주소</description> + <logical_name>회원이메일주소</logical_name> + <physical_name>mber_email_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>112</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원팩스번호</description> + <logical_name>회원팩스번호</logical_name> + <physical_name>mber_fxnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>113</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원ID</description> + <logical_name>회원ID</logical_name> + <physical_name>mber_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>114</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원명</description> + <logical_name>회원명</logical_name> + <physical_name>mber_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>115</id> + <length>15</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원상태</description> + <logical_name>회원상태</logical_name> + <physical_name>mber_sttus</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>116</id> + <length>5</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원유형코드</description> + <logical_name>회원유형코드</logical_name> + <physical_name>mber_ty_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>117</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이동전화번호</description> + <logical_name>이동전화번호</logical_name> + <physical_name>mbtlnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>118</id> + <length>250</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메뉴설명</description> + <logical_name>메뉴설명</logical_name> + <physical_name>menu_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>119</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메뉴ID</description> + <logical_name>메뉴ID</logical_name> + <physical_name>menu_id</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>120</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메뉴명</description> + <logical_name>메뉴명</logical_name> + <physical_name>menu_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>121</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메뉴번호</description> + <logical_name>메뉴번호</logical_name> + <physical_name>menu_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>122</id> + <length>5</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메뉴순서</description> + <logical_name>메뉴순서</logical_name> + <physical_name>menu_ordr</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>123</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메서드명</description> + <logical_name>메서드명</logical_name> + <physical_name>method_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>124</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메서드명</description> + <logical_name>메서드명</logical_name> + <physical_name>method_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>125</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>중간전화번호</description> + <logical_name>중간전화번호</logical_name> + <physical_name>middle_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>126</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일타입</description> + <logical_name>파일타입</logical_name> + <physical_name>mime</physical_name> + <type>text</type> + </word> + <word> + <id>127</id> + <length>30</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>다음아이디</description> + <logical_name>다음아이디</logical_name> + <physical_name>next_id</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>128</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>공지사항여부</description> + <logical_name>공지사항여부</logical_name> + <physical_name>notice_at</physical_name> + <type>char</type> + </word> + <word> + <id>129</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시시작일</description> + <logical_name>게시시작일</logical_name> + <physical_name>ntce_bgnde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>130</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시종료일</description> + <logical_name>게시종료일</logical_name> + <physical_name>ntce_endde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>131</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시자ID</description> + <logical_name>게시자ID</logical_name> + <physical_name>ntcr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>132</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시자명</description> + <logical_name>게시자명</logical_name> + <physical_name>ntcr_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>133</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시물내용</description> + <logical_name>게시물내용</logical_name> + <physical_name>ntt_cn</physical_name> + <type>text</type> + </word> + <word> + <id>134</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시물ID</description> + <logical_name>게시물ID</logical_name> + <physical_name>ntt_id</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>135</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시물번호</description> + <logical_name>게시물번호</logical_name> + <physical_name>ntt_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>136</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시물제목</description> + <logical_name>게시물제목</logical_name> + <physical_name>ntt_sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>137</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>발생일</description> + <logical_name>발생일</logical_name> + <physical_name>occrrnc_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>138</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>발생일</description> + <logical_name>발생일</logical_name> + <physical_name>occrrnc_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>139</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>발생일</description> + <logical_name>발생일</logical_name> + <physical_name>occrrnc_de</physical_name> + <type>timestamp</type> + </word> + <word> + <id>140</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>직위명</description> + <logical_name>직위명</logical_name> + <physical_name>ofcps_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>141</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사무실전화번호</description> + <logical_name>사무실전화번호</logical_name> + <physical_name>offm_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>142</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리자ID</description> + <logical_name>처리자ID</logical_name> + <physical_name>opetr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>143</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조직설명</description> + <logical_name>조직설명</logical_name> + <physical_name>orgnzt_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>144</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description></description> + <logical_name>orgnzt_id</logical_name> + <physical_name>orgnzt_id</physical_name> + <type></type> + </word> + <word> + <id>145</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조직ID</description> + <logical_name>조직ID</logical_name> + <physical_name>orgnzt_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>146</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조직명</description> + <logical_name>조직명</logical_name> + <physical_name>orgnzt_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>147</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>원본파일명</description> + <logical_name>원본파일명</logical_name> + <physical_name>origin_file_nm</physical_name> + <type>text</type> + </word> + <word> + <id>148</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>원파일명</description> + <logical_name>원파일명</logical_name> + <physical_name>orignl_file_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>149</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>출력수</description> + <logical_name>출력수</logical_name> + <physical_name>outpt_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>150</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>출력수</description> + <logical_name>출력수</logical_name> + <physical_name>outpt_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>151</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>부모글번호</description> + <logical_name>부모글번호</logical_name> + <physical_name>parntsctt_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>152</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비밀번호</description> + <logical_name>비밀번호</logical_name> + <physical_name>password</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>153</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비밀번호</description> + <logical_name>비밀번호</logical_name> + <physical_name>password</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>154</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비밀번호정답</description> + <logical_name>비밀번호정답</logical_name> + <physical_name>password_cnsr</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>155</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비밀번호힌트</description> + <logical_name>비밀번호힌트</logical_name> + <physical_name>password_hint</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>156</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리수</description> + <logical_name>처리수</logical_name> + <physical_name>process_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>157</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리일</description> + <logical_name>처리일</logical_name> + <physical_name>process_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>158</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리구분코드</description> + <logical_name>처리구분코드</logical_name> + <physical_name>process_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>159</id> + <length>15</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리상태코드</description> + <logical_name>처리상태코드</logical_name> + <physical_name>process_sttus_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>160</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리시간</description> + <logical_name>처리시간</logical_name> + <physical_name>process_time</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>161</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프로그램설명</description> + <logical_name>프로그램설명</logical_name> + <physical_name>progrm_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>162</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프로그램파일명</description> + <logical_name>프로그램파일명</logical_name> + <physical_name>progrm_file_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>163</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프로그램한글명</description> + <logical_name>프로그램한글명</logical_name> + <physical_name>progrm_korean_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>164</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프로그램저장경로</description> + <logical_name>프로그램저장경로</logical_name> + <physical_name>progrm_stre_path</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>165</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>소속기관코드</description> + <logical_name>소속기관코드</logical_name> + <physical_name>pstinst_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>166</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조회수</description> + <logical_name>조회수</logical_name> + <physical_name>rdcnt</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>167</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조회수</description> + <logical_name>조회수</logical_name> + <physical_name>rdcnt</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>168</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>등록자 ID</description> + <logical_name>등록자 ID</logical_name> + <physical_name>register_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>169</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>등록 시점</description> + <logical_name>등록 시점</logical_name> + <physical_name>regist_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>170</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>등록구분코드</description> + <logical_name>등록구분코드</logical_name> + <physical_name>regist_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>171</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>관계이미지명</description> + <logical_name>관계이미지명</logical_name> + <physical_name>relate_image_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>172</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>관계이미지경로</description> + <logical_name>관계이미지경로</logical_name> + <physical_name>relate_image_path</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>173</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>답장가능여부</description> + <logical_name>답장가능여부</logical_name> + <physical_name>reply_posbl_at</physical_name> + <type>char</type> + </word> + <word> + <id>174</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청ID</description> + <logical_name>요청ID</logical_name> + <physical_name>requst_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>175</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청번호</description> + <logical_name>요청번호</logical_name> + <physical_name>requst_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>176</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청처리내용</description> + <logical_name>요청처리내용</logical_name> + <physical_name>requst_process_cn</physical_name> + <type>text</type> + </word> + <word> + <id>177</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청제목</description> + <logical_name>요청제목</logical_name> + <physical_name>requst_sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>178</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤코드</description> + <logical_name>롤코드</logical_name> + <physical_name>role_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>179</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤생성일</description> + <logical_name>롤생성일</logical_name> + <physical_name>role_creat_de</physical_name> + <type>timestamp</type> + </word> + <word> + <id>180</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤설명</description> + <logical_name>롤설명</logical_name> + <physical_name>role_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>181</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤명</description> + <logical_name>롤명</logical_name> + <physical_name>role_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>182</id> + <length>300</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤패턴</description> + <logical_name>롤패턴</logical_name> + <physical_name>role_pttrn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>183</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤정렬</description> + <logical_name>롤정렬</logical_name> + <physical_name>role_sort</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>184</id> + <length>80</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤유형</description> + <logical_name>롤유형</logical_name> + <physical_name>role_ty</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>185</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청일</description> + <logical_name>요청일</logical_name> + <physical_name>rqestde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>186</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청자ID</description> + <logical_name>요청자ID</logical_name> + <physical_name>rqester_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>187</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청자ID</description> + <logical_name>요청자ID</logical_name> + <physical_name>rqester_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>188</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청자IP</description> + <logical_name>요청자IP</logical_name> + <physical_name>rqester_ip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>189</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>응답코드</description> + <logical_name>응답코드</logical_name> + <physical_name>rspns_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>190</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>가입일자</description> + <logical_name>가입일자</logical_name> + <physical_name>sbscrb_de</physical_name> + <type>timestamp</type> + </word> + <word> + <id>191</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>보안설정대상ID</description> + <logical_name>보안설정대상ID</logical_name> + <physical_name>scrty_dtrmn_trget_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>192</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비밀글여부</description> + <logical_name>비밀글여부</logical_name> + <physical_name>secret_at</physical_name> + <type>char</type> + </word> + <word> + <id>193</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>성별코드</description> + <logical_name>성별코드</logical_name> + <physical_name>sexdstn_code</physical_name> + <type>char</type> + </word> + <word> + <id>194</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>제목볼드여부</description> + <logical_name>제목볼드여부</logical_name> + <physical_name>sj_bold_at</physical_name> + <type>char</type> + </word> + <word> + <id>195</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>정렬순서</description> + <logical_name>정렬순서</logical_name> + <physical_name>sort_ordr</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>196</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>저장파일명</description> + <logical_name>저장파일명</logical_name> + <physical_name>stre_file_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>197</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>만족도여부</description> + <logical_name>만족도여부</logical_name> + <physical_name>stsfdg_at</physical_name> + <type>char</type> + </word> + <word> + <id>198</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서비스명</description> + <logical_name>서비스명</logical_name> + <physical_name>svc_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>199</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서비스명</description> + <logical_name>서비스명</logical_name> + <physical_name>svc_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>200</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>저장파일명</description> + <logical_name>저장파일명</logical_name> + <physical_name>sys_file_nm</physical_name> + <type>text</type> + </word> + <word> + <id>201</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>테이블명</description> + <logical_name>테이블명</logical_name> + <physical_name>table_name</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>202</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>템플릿ID</description> + <logical_name>템플릿ID</logical_name> + <physical_name>tmplat_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>203</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>대상ID</description> + <logical_name>대상ID</logical_name> + <physical_name>trget_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>204</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>대상메뉴명</description> + <logical_name>대상메뉴명</logical_name> + <physical_name>trget_menu_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>205</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>수정수</description> + <logical_name>수정수</logical_name> + <physical_name>updt_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>206</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>수정수</description> + <logical_name>수정수</logical_name> + <physical_name>updt_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>207</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>수정 시점</description> + <logical_name>수정 시점</logical_name> + <physical_name>updt_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>208</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>수정자 ID</description> + <logical_name>수정자 ID</logical_name> + <physical_name>updusr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>209</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>업로드경로</description> + <logical_name>업로드경로</logical_name> + <physical_name>upload_dir</physical_name> + <type>text</type> + </word> + <word> + <id>210</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>URL</description> + <logical_name>URL</logical_name> + <physical_name>url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>211</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>URL</description> + <logical_name>URL</logical_name> + <physical_name>url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>212</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주소</description> + <logical_name>주소</logical_name> + <physical_name>user_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>213</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원이메일주소</description> + <logical_name>회원이메일주소</logical_name> + <physical_name>user_email</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>214</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원ID</description> + <logical_name>회원ID</logical_name> + <physical_name>user_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>215</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용자명</description> + <logical_name>사용자명</logical_name> + <physical_name>user_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>216</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원명</description> + <logical_name>회원명</logical_name> + <physical_name>user_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>217</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description></description> + <logical_name>user_se</logical_name> + <physical_name>user_se</physical_name> + <type></type> + </word> + <word> + <id>218</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>우편번호</description> + <logical_name>우편번호</logical_name> + <physical_name>user_zip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>219</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용여부</description> + <logical_name>사용여부</logical_name> + <physical_name>use_at</physical_name> + <type>char</type> + </word> + <word> + <id>220</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>작성자ID</description> + <logical_name>작성자ID</logical_name> + <physical_name>wrter_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>221</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>작성자명</description> + <logical_name>작성자명</logical_name> + <physical_name>wrter_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>222</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>우편번호</description> + <logical_name>우편번호</logical_name> + <physical_name>zip</physical_name> + <type>varchar(n)</type> + </word> + </dictionary> + <tablespace_set> + </tablespace_set> + <contents> + <view> + <id>0</id> + <height>254</height> + <width>148</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>408</x> + <y>1584</y> + <color> + <r>255</r> + <g>128</g> + <b>64</b> + </color> + <connections> + </connections> + <physical_name>comvnusermaster</physical_name> + <logical_name>사용자정보뷰</logical_name> + <description>사용자정보뷰</description> + <sql>SELECT comtngnrlmber.esntl_id,&#x0D;&#x0A; comtngnrlmber.mber_id AS user_id,&#x0D;&#x0A; comtngnrlmber.password,&#x0D;&#x0A; comtngnrlmber.mber_nm AS user_nm,&#x0D;&#x0A; comtngnrlmber.zip AS user_zip,&#x0D;&#x0A; comtngnrlmber.adres AS user_adres,&#x0D;&#x0A; comtngnrlmber.mber_email_adres AS user_email,&#x0D;&#x0A; &apos; &apos;::bpchar AS group_id,&#x0D;&#x0A; &apos;GNR&apos;::text AS user_se,&#x0D;&#x0A; &apos; &apos;::bpchar AS orgnzt_id&#x0D;&#x0A; FROM comtngnrlmber&#x0D;&#x0A;UNION ALL&#x0D;&#x0A; SELECT comtnemplyrinfo.esntl_id,&#x0D;&#x0A; comtnemplyrinfo.emplyr_id AS user_id,&#x0D;&#x0A; comtnemplyrinfo.password,&#x0D;&#x0A; comtnemplyrinfo.user_nm,&#x0D;&#x0A; comtnemplyrinfo.zip AS user_zip,&#x0D;&#x0A; comtnemplyrinfo.house_adres AS user_adres,&#x0D;&#x0A; comtnemplyrinfo.email_adres AS user_email,&#x0D;&#x0A; comtnemplyrinfo.group_id,&#x0D;&#x0A; &apos;USR&apos;::text AS user_se,&#x0D;&#x0A; comtnemplyrinfo.orgnzt_id&#x0D;&#x0A; FROM comtnemplyrinfo&#x0D;&#x0A;UNION ALL&#x0D;&#x0A; SELECT comtnentrprsmber.esntl_id,&#x0D;&#x0A; comtnentrprsmber.entrprs_mber_id AS user_id,&#x0D;&#x0A; comtnentrprsmber.entrprs_mber_password AS password,&#x0D;&#x0A; comtnentrprsmber.cmpny_nm AS user_nm,&#x0D;&#x0A; comtnentrprsmber.zip AS user_zip,&#x0D;&#x0A; comtnentrprsmber.adres AS user_adres,&#x0D;&#x0A; comtnentrprsmber.applcnt_email_adres AS user_email,&#x0D;&#x0A; &apos; &apos;::bpchar AS group_id,&#x0D;&#x0A; &apos;ENT&apos;::text AS user_se,&#x0D;&#x0A; &apos; &apos;::bpchar AS orgnzt_id&#x0D;&#x0A; FROM comtnentrprsmber&#x0D;&#x0A; ORDER BY 1;</sql> + <columns> + <normal_column> + <word_id>69</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>214</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>153</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>216</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>218</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>212</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>213</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>86</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type></type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>217</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type></type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>144</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type></type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <view_properties> + <schema>public</schema> + </view_properties> + </view> + <table> + <id>1</id> + <height>107</height> + <width>175</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1349</x> + <y>114</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtsweblogsummary</physical_name> + <logical_name>웹로그 요약</logical_name> + <description>웹로그 요약</description> + <constraint></constraint> + <primary_key_name>comtsweblogsummary_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>137</word_id> + <id>0</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>211</word_id> + <id>1</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>166</word_id> + <id>2</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>2</id> + <height>233</height> + <width>169</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1770</x> + <y>114</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtssyslogsummary</physical_name> + <logical_name>시스템로그요약</logical_name> + <description>시스템로그요약</description> + <constraint></constraint> + <primary_key_name>comtssyslogsummary_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>137</word_id> + <id>3</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>199</word_id> + <id>4</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>124</word_id> + <id>5</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>42</word_id> + <id>6</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>206</word_id> + <id>7</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>166</word_id> + <id>8</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>48</word_id> + <id>9</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>149</word_id> + <id>10</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>65</word_id> + <id>11</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>3</id> + <height>86</height> + <width>167</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>548</x> + <y>2604</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>0</id> + <source>15</source> + <target>3</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnroles_hierarchy_chldrn_role_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>1</id> + <source>15</source> + <target>3</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnroles_hierarchy_parnts_role_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnroles_hierarchy</physical_name> + <logical_name>롤 계층구조</logical_name> + <description>롤 계층구조</description> + <constraint></constraint> + <primary_key_name>comtnroles_hierarchy_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>12</id> + <referenced_column>125</referenced_column> + <relation>1</relation> + <description>부모롤</description> + <unique_key_name></unique_key_name> + <logical_name>부모롤</logical_name> + <physical_name>parnts_role</physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>true</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>13</id> + <referenced_column>125</referenced_column> + <relation>0</relation> + <description>자식롤</description> + <unique_key_name></unique_key_name> + <logical_name>자식롤</logical_name> + <physical_name>chldrn_role</physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnroles_hierarchy_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>13</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>4</id> + <height>191</height> + <width>129</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>80</x> + <y>2346</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnroleinfo</physical_name> + <logical_name>롤정보</logical_name> + <description>롤정보</description> + <constraint></constraint> + <primary_key_name>comtnroleinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>178</word_id> + <id>14</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>181</word_id> + <id>15</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>182</word_id> + <id>16</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>180</word_id> + <id>17</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>184</word_id> + <id>18</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>183</word_id> + <id>19</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>179</word_id> + <id>20</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>5</id> + <height>149</height> + <width>157</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>906</x> + <y>2131</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnprogrmlist</physical_name> + <logical_name>프로그램목록</logical_name> + <description>프로그램목록</description> + <constraint></constraint> + <primary_key_name>comtnprogrmlist_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>162</word_id> + <id>21</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>164</word_id> + <id>22</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>163</word_id> + <id>23</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>161</word_id> + <id>24</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>210</word_id> + <id>25</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>6</id> + <height>107</height> + <width>144</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>96</x> + <y>1390</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnorgnztinfo</physical_name> + <logical_name>조직정보</logical_name> + <description>조직정보</description> + <constraint></constraint> + <primary_key_name>comtnorgnztinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>145</word_id> + <id>26</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>146</word_id> + <id>27</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>143</word_id> + <id>28</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>7</id> + <height>212</height> + <width>145</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>906</x> + <y>2340</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>2</id> + <source>5</source> + <target>7</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmenuinfo_progrm_file_nm_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>3</id> + <source>7</source> + <target>7</target> + <source_xp>100</source_xp> + <source_yp>50</source_yp> + <target_xp>50</target_xp> + <target_yp>100</target_yp> + <bendpoint> + <relative>true</relative> + <x>100</x> + <y>100</y> + </bendpoint> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmenuinfo_upper_menu_no_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnmenuinfo</physical_name> + <logical_name>메뉴정보</logical_name> + <description>메뉴정보</description> + <constraint></constraint> + <primary_key_name>comtnmenuinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>120</word_id> + <id>29</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>30</id> + <referenced_column>21</referenced_column> + <relation>2</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>121</word_id> + <id>31</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>32</id> + <referenced_column>31</referenced_column> + <relation>3</relation> + <description>상위메뉴번호</description> + <unique_key_name></unique_key_name> + <logical_name>상위메뉴번호</logical_name> + <physical_name>upper_menu_no</physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>122</word_id> + <id>33</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>118</word_id> + <id>34</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>172</word_id> + <id>35</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>171</word_id> + <id>36</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnmenuinfo_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>32</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>8</id> + <height>107</height> + <width>164</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>642</x> + <y>2392</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>4</id> + <source>15</source> + <target>8</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmenucreatdtls_author_code_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>5</id> + <source>29</source> + <target>8</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmenucreatdtls_mapng_creat_id_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>6</id> + <source>7</source> + <target>8</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmenucreatdtls_menu_no_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnmenucreatdtls</physical_name> + <logical_name>메뉴생성내역</logical_name> + <description>메뉴생성내역</description> + <constraint></constraint> + <primary_key_name>comtnmenucreatdtls_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>37</id> + <referenced_column>31</referenced_column> + <relation>6</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>38</id> + <referenced_column>125</referenced_column> + <relation>4</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>39</id> + <referenced_column>224</referenced_column> + <relation>5</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnmenucreatdtls_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>37</id> + <desc>false</desc> + </column> + </columns> + </inidex> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnmenucreatdtls_i03</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>39</id> + <desc>false</desc> + </column> + </columns> + </inidex> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnmenucreatdtls_i04</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>38</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>9</id> + <height>212</height> + <width>133</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2112</x> + <y>1583</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>7</id> + <source>33</source> + <target>9</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnfiledetail_atch_file_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnfiledetail</physical_name> + <logical_name>파일상세정보</logical_name> + <description>파일상세정보</description> + <constraint></constraint> + <primary_key_name>comtnfiledetail_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>40</id> + <referenced_column>276</referenced_column> + <relation>7</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>78</word_id> + <id>41</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>79</word_id> + <id>42</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>43</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>148</word_id> + <id>44</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>73</word_id> + <id>45</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>72</word_id> + <id>46</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>76</word_id> + <id>47</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnfiledetail_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>40</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>10</id> + <height>632</height> + <width>181</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>984</x> + <y>818</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>8</id> + <source>16</source> + <target>10</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnentrprsmber_group_id_fkey</name> + <on_delete_action>SET NULL</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnentrprsmber</physical_name> + <logical_name>기업회원</logical_name> + <description>기업회원</description> + <constraint></constraint> + <primary_key_name>comtnentrprsmber_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>57</word_id> + <id>48</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>63</word_id> + <id>49</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>20</word_id> + <id>50</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>99</word_id> + <id>51</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>31</word_id> + <id>52</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>46</word_id> + <id>53</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>222</word_id> + <id>54</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>0</word_id> + <id>55</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>62</word_id> + <id>56</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>83</word_id> + <id>57</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>95</word_id> + <id>58</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>7</word_id> + <id>59</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>6</word_id> + <id>60</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>190</word_id> + <id>61</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>61</word_id> + <id>62</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>58</word_id> + <id>63</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>60</word_id> + <id>64</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>59</word_id> + <id>65</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>66</id> + <referenced_column>129</referenced_column> + <relation>8</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>49</word_id> + <id>67</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>56</word_id> + <id>68</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>8</word_id> + <id>69</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>5</word_id> + <id>70</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>70</word_id> + <id>71</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>104</word_id> + <id>72</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>105</word_id> + <id>73</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>106</word_id> + <id>74</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>26</word_id> + <id>75</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnentrprsmber_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>66</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>11</id> + <height>695</height> + <width>170</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>408</x> + <y>818</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>9</id> + <source>6</source> + <target>11</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnemplyrinfo_orgnzt_id_fkey</name> + <on_delete_action>SET NULL</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>10</id> + <source>16</source> + <target>11</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnemplyrinfo_group_id_fkey</name> + <on_delete_action>SET NULL</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnemplyrinfo</physical_name> + <logical_name>업무사용자정보</logical_name> + <description>업무사용자정보</description> + <constraint></constraint> + <primary_key_name>comtnemplyrinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>52</word_id> + <id>76</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>77</id> + <referenced_column>26</referenced_column> + <relation>9</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>215</word_id> + <id>78</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>152</word_id> + <id>79</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>54</word_id> + <id>80</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>94</word_id> + <id>81</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>193</word_id> + <id>82</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>23</word_id> + <id>83</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>83</word_id> + <id>84</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>89</word_id> + <id>85</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>155</word_id> + <id>86</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>154</word_id> + <id>87</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>90</word_id> + <id>88</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>8</word_id> + <id>89</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>49</word_id> + <id>90</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>222</word_id> + <id>91</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>141</word_id> + <id>92</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>117</word_id> + <id>93</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>51</word_id> + <id>94</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>140</word_id> + <id>95</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>91</word_id> + <id>96</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>97</id> + <referenced_column>129</referenced_column> + <relation>10</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>165</word_id> + <id>98</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>53</word_id> + <id>99</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>70</word_id> + <id>100</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>45</word_id> + <id>101</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>190</word_id> + <id>102</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>104</word_id> + <id>103</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>105</word_id> + <id>104</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>106</word_id> + <id>105</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>26</word_id> + <id>106</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnemplyrinfo_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>77</id> + <desc>false</desc> + </column> + </columns> + </inidex> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnemplyrinfo_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>97</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>12</id> + <height>212</height> + <width>133</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1560</x> + <y>1536</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>11</id> + <source>36</source> + <target>12</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnbbsuse_bbs_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnbbsuse</physical_name> + <logical_name>게시판활용</logical_name> + <description>게시판활용</description> + <constraint></constraint> + <primary_key_name>comtnbbsuse_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>107</id> + <referenced_column>302</referenced_column> + <relation>11</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>203</word_id> + <id>108</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>219</word_id> + <id>109</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>170</word_id> + <id>110</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>81</word_id> + <id>111</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>80</word_id> + <id>112</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>100</word_id> + <id>113</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>101</word_id> + <id>114</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnbbsuse_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>107</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>13</id> + <height>191</height> + <width>168</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1549</x> + <y>814</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbbsmasteroptn</physical_name> + <logical_name>게시판마스터옵션</logical_name> + <description>게시판마스터옵션</description> + <constraint></constraint> + <primary_key_name>comtnbbsmasteroptn_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>16</word_id> + <id>115</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>2</word_id> + <id>116</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>197</word_id> + <id>117</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>81</word_id> + <id>118</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>100</word_id> + <id>119</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>80</word_id> + <id>120</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>101</word_id> + <id>121</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>14</id> + <height>107</height> + <width>172</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>279</x> + <y>2388</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>12</id> + <source>4</source> + <target>14</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnauthorrolerelate_role_code_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>13</id> + <source>15</source> + <target>14</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnauthorrolerelate_author_code_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnauthorrolerelate</physical_name> + <logical_name>권한롤관계</logical_name> + <description>권한롤관계</description> + <constraint></constraint> + <primary_key_name>comtnauthorrolerelate_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>122</id> + <referenced_column>125</referenced_column> + <relation>13</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>123</id> + <referenced_column>14</referenced_column> + <relation>12</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>44</word_id> + <id>124</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnauthorrolerelate_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>122</id> + <desc>false</desc> + </column> + </columns> + </inidex> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnauthorrolerelate_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>123</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>15</id> + <height>128</height> + <width>144</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>293</x> + <y>2583</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnauthorinfo</physical_name> + <logical_name>권한정보</logical_name> + <description>권한정보</description> + <constraint></constraint> + <primary_key_name>comtnauthorinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>12</word_id> + <id>125</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>15</word_id> + <id>126</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>14</word_id> + <id>127</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>13</word_id> + <id>128</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>16</id> + <height>128</height> + <width>176</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>705</x> + <y>1111</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnauthorgroupinfo</physical_name> + <logical_name>권한그룹정보</logical_name> + <description>권한그룹정보</description> + <constraint></constraint> + <primary_key_name>comtnauthorgroupinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>87</word_id> + <id>129</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>88</word_id> + <id>130</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>84</word_id> + <id>131</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>85</word_id> + <id>132</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>17</id> + <height>254</height> + <width>186</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1182</x> + <y>2079</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>14</id> + <source>5</source> + <target>17</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comthprogrmchangedtls_progrm_file_nm_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comthprogrmchangedtls</physical_name> + <logical_name>프로그램변경내역</logical_name> + <description>프로그램변경내역</description> + <constraint></constraint> + <primary_key_name>comthprogrmchangedtls_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>133</id> + <referenced_column>21</referenced_column> + <relation>14</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>175</word_id> + <id>134</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>186</word_id> + <id>135</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>25</word_id> + <id>136</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>176</word_id> + <id>137</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>142</word_id> + <id>138</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>159</word_id> + <id>139</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>140</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>185</word_id> + <id>141</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>177</word_id> + <id>142</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comthprogrmchangedtls_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>133</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>18</id> + <height>86</height> + <width>125</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>40</x> + <y>499</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtecopseq</physical_name> + <logical_name>시퀀스저장</logical_name> + <description>시퀀스저장</description> + <constraint></constraint> + <primary_key_name>comtecopseq_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>201</word_id> + <id>143</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>127</word_id> + <id>144</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>19</id> + <height>233</height> + <width>177</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>524</x> + <y>120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>15</id> + <source>20</source> + <target>19</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtccmmndetailcode_code_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtccmmndetailcode</physical_name> + <logical_name>공통상세코드</logical_name> + <description>공통상세코드</description> + <constraint></constraint> + <primary_key_name>comtccmmndetailcode_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>145</id> + <referenced_column>154</referenced_column> + <relation>15</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>32</word_id> + <id>146</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>37</word_id> + <id>147</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>33</word_id> + <id>148</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>219</word_id> + <id>149</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>81</word_id> + <id>150</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>80</word_id> + <id>151</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>100</word_id> + <id>152</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>101</word_id> + <id>153</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtccmmndetailcode_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>145</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>20</id> + <height>233</height> + <width>148</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>284</x> + <y>120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>16</id> + <source>23</source> + <target>20</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtccmmncode_cl_code_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtccmmncode</physical_name> + <logical_name>공통코드</logical_name> + <description>공통코드</description> + <constraint></constraint> + <primary_key_name>comtccmmncode_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>34</word_id> + <id>154</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>36</word_id> + <id>155</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>35</word_id> + <id>156</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>219</word_id> + <id>157</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>158</id> + <referenced_column>170</referenced_column> + <relation>16</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>81</word_id> + <id>159</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>80</word_id> + <id>160</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>100</word_id> + <id>161</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>101</word_id> + <id>162</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtccmmncode_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>158</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>21</id> + <height>149</height> + <width>127</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1194</x> + <y>114</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnweblog</physical_name> + <logical_name>웹로그</logical_name> + <description>웹로그</description> + <constraint></constraint> + <primary_key_name>comtnweblog_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>174</word_id> + <id>163</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>139</word_id> + <id>164</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>211</word_id> + <id>165</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>186</word_id> + <id>166</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>188</word_id> + <id>167</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>22</id> + <height>86</height> + <width>144</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>207</x> + <y>499</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>ids</physical_name> + <logical_name>테이블별아이디</logical_name> + <description>테이블별아이디</description> + <constraint></constraint> + <primary_key_name>ids_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>93</word_id> + <id>168</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>92</word_id> + <id>169</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>23</id> + <height>212</height> + <width>157</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>28</x> + <y>120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtccmmnclcode</physical_name> + <logical_name>공통분류코드</logical_name> + <description>공통분류코드</description> + <constraint></constraint> + <primary_key_name>comtccmmnclcode_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>27</word_id> + <id>170</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>29</word_id> + <id>171</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>28</word_id> + <id>172</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>219</word_id> + <id>173</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>81</word_id> + <id>174</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>80</word_id> + <id>175</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>100</word_id> + <id>176</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>101</word_id> + <id>177</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>24</id> + <height>548</height> + <width>170</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>708</x> + <y>1379</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>17</id> + <source>16</source> + <target>24</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtngnrlmber_group_id_fkey</name> + <on_delete_action>SET NULL</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtngnrlmber</physical_name> + <logical_name>일반회원</logical_name> + <description>일반회원</description> + <constraint></constraint> + <primary_key_name>comtngnrlmber_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>113</word_id> + <id>178</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>152</word_id> + <id>179</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>155</word_id> + <id>180</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>154</word_id> + <id>181</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>94</word_id> + <id>182</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>114</word_id> + <id>183</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>222</word_id> + <id>184</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>0</word_id> + <id>185</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>8</word_id> + <id>186</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>115</word_id> + <id>187</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>49</word_id> + <id>188</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>55</word_id> + <id>189</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>117</word_id> + <id>190</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>191</id> + <referenced_column>129</referenced_column> + <relation>17</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>112</word_id> + <id>192</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>111</word_id> + <id>193</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>125</word_id> + <id>194</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>190</word_id> + <id>195</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>193</word_id> + <id>196</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>70</word_id> + <id>197</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>104</word_id> + <id>198</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>105</word_id> + <id>199</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>106</word_id> + <id>200</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>26</word_id> + <id>201</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtngnrlmber_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>191</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>25</id> + <height>191</height> + <width>133</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1998</x> + <y>114</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnloginlog</physical_name> + <logical_name>접속로그</logical_name> + <description>접속로그</description> + <constraint></constraint> + <primary_key_name>comtnloginlog_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>107</word_id> + <id>202</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>203</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>39</word_id> + <id>204</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>40</word_id> + <id>205</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>67</word_id> + <id>206</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>66</word_id> + <id>207</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>44</word_id> + <id>208</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>26</id> + <height>212</height> + <width>147</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>180</x> + <y>1584</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnloginpolicy</physical_name> + <logical_name>로그인정책</logical_name> + <description>로그인정책</description> + <constraint></constraint> + <primary_key_name>comtnloginpolicy_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>52</word_id> + <id>209</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>97</word_id> + <id>210</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>50</word_id> + <id>211</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>103</word_id> + <id>212</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>80</word_id> + <id>213</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>81</word_id> + <id>214</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>101</word_id> + <id>215</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>100</word_id> + <id>216</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>27</id> + <height>107</height> + <width>177</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>276</x> + <y>2751</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnemplyrscrtyestbs</physical_name> + <logical_name>사용자보안설정</logical_name> + <description>사용자보안설정</description> + <constraint></constraint> + <primary_key_name>comtnemplyrscrtyestbs_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>191</word_id> + <id>217</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>116</word_id> + <id>218</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>12</word_id> + <id>219</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnemplyrscrtyestbs_i04</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>219</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>28</id> + <height>128</height> + <width>221</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>341</x> + <y>2152</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbkmkmenumanageresult</physical_name> + <logical_name>바로가기 메뉴 등록</logical_name> + <description>바로가기 메뉴 등록</description> + <constraint></constraint> + <primary_key_name>comtnbkmkmenumanageresult_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>119</word_id> + <id>220</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>52</word_id> + <id>221</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>120</word_id> + <id>222</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>164</word_id> + <id>223</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>29</id> + <height>128</height> + <width>133</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>657</x> + <y>2152</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnsitemap</physical_name> + <logical_name>사이트맵</logical_name> + <description>사이트맵</description> + <constraint></constraint> + <primary_key_name>comtnsitemap_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>108</word_id> + <id>224</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>41</word_id> + <id>225</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>109</word_id> + <id>226</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>110</word_id> + <id>227</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>30</id> + <height>464</height> + <width>204</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>66</x> + <y>818</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>18</id> + <source>11</source> + <target>30</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comthemplyrinfochangedtls_emplyr_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comthemplyrinfochangedtls</physical_name> + <logical_name>업무사용자정보변경내역</logical_name> + <description>업무사용자정보변경내역</description> + <constraint></constraint> + <primary_key_name>comthemplyrinfochangedtls_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>228</id> + <referenced_column>76</referenced_column> + <relation>18</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>24</word_id> + <id>229</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>145</word_id> + <id>230</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>87</word_id> + <id>231</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>54</word_id> + <id>232</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>193</word_id> + <id>233</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>23</word_id> + <id>234</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>83</word_id> + <id>235</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>89</word_id> + <id>236</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>90</word_id> + <id>237</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>8</word_id> + <id>238</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>49</word_id> + <id>239</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>222</word_id> + <id>240</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>141</word_id> + <id>241</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>117</word_id> + <id>242</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>51</word_id> + <id>243</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>91</word_id> + <id>244</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>165</word_id> + <id>245</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>53</word_id> + <id>246</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>70</word_id> + <id>247</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comthemplyrinfochangedtls_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>228</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>31</id> + <height>380</height> + <width>133</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1602</x> + <y>114</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnsyslog</physical_name> + <logical_name>시스템로그</logical_name> + <description>시스템로그</description> + <constraint></constraint> + <primary_key_name>comtnsyslog_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>174</word_id> + <id>248</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>98</word_id> + <id>249</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>96</word_id> + <id>250</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>139</word_id> + <id>251</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>188</word_id> + <id>252</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>186</word_id> + <id>253</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>204</word_id> + <id>254</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>199</word_id> + <id>255</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>124</word_id> + <id>256</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>158</word_id> + <id>257</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>156</word_id> + <id>258</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>160</word_id> + <id>259</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>189</word_id> + <id>260</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>68</word_id> + <id>261</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>65</word_id> + <id>262</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>66</word_id> + <id>263</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>32</id> + <height>296</height> + <width>140</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2136</x> + <y>1133</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>19</id> + <source>38</source> + <target>32</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtncomment_ntt_id_bbs_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtncomment</physical_name> + <logical_name>댓글</logical_name> + <description>댓글</description> + <constraint></constraint> + <primary_key_name>comtncomment_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>264</id> + <referenced_column>319</referenced_column> + <relation>19</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>265</id> + <referenced_column>320</referenced_column> + <relation>19</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>4</word_id> + <id>266</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>220</word_id> + <id>267</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>221</word_id> + <id>268</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>1</word_id> + <id>269</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>219</word_id> + <id>270</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>81</word_id> + <id>271</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>80</word_id> + <id>272</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>100</word_id> + <id>273</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>101</word_id> + <id>274</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>152</word_id> + <id>275</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtncomment_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>264</id> + <desc>false</desc> + </column> + <column> + <id>265</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>33</id> + <height>107</height> + <width>121</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1872</x> + <y>1635</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnfile</physical_name> + <logical_name>파일속성</logical_name> + <description>파일속성</description> + <constraint></constraint> + <primary_key_name>comtnfile_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>9</word_id> + <id>276</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>44</word_id> + <id>277</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>219</word_id> + <id>278</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>34</id> + <height>254</height> + <width>127</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1367</x> + <y>246</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnuserlog</physical_name> + <logical_name>사용자로그</logical_name> + <description>사용자로그</description> + <constraint></constraint> + <primary_key_name>comtnuserlog_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>138</word_id> + <id>279</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>187</word_id> + <id>280</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>198</word_id> + <id>281</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>123</word_id> + <id>282</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>43</word_id> + <id>283</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>205</word_id> + <id>284</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>167</word_id> + <id>285</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>47</word_id> + <id>286</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>150</word_id> + <id>287</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>64</word_id> + <id>288</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>35</id> + <height>317</height> + <width>136</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1668</x> + <y>1860</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>tnfile</physical_name> + <logical_name>tnfile</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>tnfile_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>75</word_id> + <id>289</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>102</word_id> + <id>290</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>82</word_id> + <id>291</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>147</word_id> + <id>292</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>200</word_id> + <id>293</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>209</word_id> + <id>294</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>77</word_id> + <id>295</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>126</word_id> + <id>296</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>74</word_id> + <id>297</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>168</word_id> + <id>298</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>169</word_id> + <id>299</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>208</word_id> + <id>300</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>207</word_id> + <id>301</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>36</id> + <height>401</height> + <width>169</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1548</x> + <y>1080</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbbsmaster</physical_name> + <logical_name>게시판마스터</logical_name> + <description>게시판마스터</description> + <constraint></constraint> + <primary_key_name>comtnbbsmaster_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>16</word_id> + <id>302</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>18</word_id> + <id>303</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>17</word_id> + <id>304</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>19</word_id> + <id>305</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>173</word_id> + <id>306</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>71</word_id> + <id>307</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>10</word_id> + <id>308</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>11</word_id> + <id>309</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>219</word_id> + <id>310</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>202</word_id> + <id>311</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>30</word_id> + <id>312</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>80</word_id> + <id>313</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>81</word_id> + <id>314</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>101</word_id> + <id>315</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>100</word_id> + <id>316</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>22</word_id> + <id>317</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>21</word_id> + <id>318</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <note> + <id>37</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1429</x> + <y>1281</y> + <color> + <r>255</r> + <g>255</g> + <b>0</b> + </color> + <connections> + </connections> + <text>tmplat_id 삭제</text> + </note> + <table> + <id>38</id> + <height>569</height> + <width>133</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1872</x> + <y>996</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>20</id> + <source>36</source> + <target>38</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnbbs_bbs_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnbbs</physical_name> + <logical_name>게시판</logical_name> + <description>게시판</description> + <constraint></constraint> + <primary_key_name>comtnbbs_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>134</word_id> + <id>319</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>320</id> + <referenced_column>302</referenced_column> + <relation>20</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>135</word_id> + <id>321</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>136</word_id> + <id>322</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>133</word_id> + <id>323</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>2</word_id> + <id>324</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>151</word_id> + <id>325</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>3</word_id> + <id>326</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>195</word_id> + <id>327</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>166</word_id> + <id>328</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>219</word_id> + <id>329</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>129</word_id> + <id>330</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>130</word_id> + <id>331</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>131</word_id> + <id>332</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>132</word_id> + <id>333</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>152</word_id> + <id>334</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>9</word_id> + <id>335</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>128</word_id> + <id>336</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>194</word_id> + <id>337</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>192</word_id> + <id>338</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>81</word_id> + <id>339</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>80</word_id> + <id>340</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>100</word_id> + <id>341</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>101</word_id> + <id>342</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>22</word_id> + <id>343</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnbbs_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>320</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + </contents> + <column_groups> + </column_groups> + <test_data_list> + </test_data_list> + <sequence_set> + </sequence_set> + <trigger_set> + </trigger_set> + <change_tracking_list> + </change_tracking_list> +</diagram> Index: base3.10/script/postgres2.erm =================================================================== --- base3.10/script/postgres2.erm (nonexistent) +++ base3.10/script/postgres2.erm (revision 7) @@ -0,0 +1,84251 @@ +<?xml version="1.0" encoding="UTF-8"?> +<diagram> + <page_setting> + <direction_horizontal>true</direction_horizontal> + <scale>100</scale> + <paper_size>A4 210 x 297 mm</paper_size> + <top_margin>30</top_margin> + <left_margin>30</left_margin> + <bottom_margin>30</bottom_margin> + <right_margin>30</right_margin> + </page_setting> + <category_index>0</category_index> + <zoom>1.0</zoom> + <x>2062</x> + <y>0</y> + <default_color> + <r>128</r> + <g>128</g> + <b>192</b> + </default_color> + <color> + <r>255</r> + <g>255</g> + <b>255</b> + </color> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <settings> + <database>PostgreSQL</database> + <capital>false</capital> + <table_style></table_style> + <notation></notation> + <notation_level>0</notation_level> + <notation_expand_group>true</notation_expand_group> + <view_mode>0</view_mode> + <outline_view_mode>1</outline_view_mode> + <view_order_by>1</view_order_by> + <auto_ime_change>false</auto_ime_change> + <validate_physical_name>true</validate_physical_name> + <use_bezier_curve>false</use_bezier_curve> + <suspend_validator>false</suspend_validator> + <export_setting> + <export_ddl_setting> + <output_path></output_path> + <encoding></encoding> + <line_feed></line_feed> + <is_open_after_saved>true</is_open_after_saved> + <environment_id>null</environment_id> + <category_id>null</category_id> + <ddl_target> + <create_comment>true</create_comment> + <create_foreignKey>true</create_foreignKey> + <create_index>true</create_index> + <create_sequence>true</create_sequence> + <create_table>true</create_table> + <create_tablespace>true</create_tablespace> + <create_trigger>true</create_trigger> + <create_view>true</create_view> + <drop_index>true</drop_index> + <drop_sequence>true</drop_sequence> + <drop_table>true</drop_table> + <drop_tablespace>true</drop_tablespace> + <drop_trigger>true</drop_trigger> + <drop_view>true</drop_view> + <inline_column_comment>true</inline_column_comment> + <inline_table_comment>true</inline_table_comment> + <comment_value_description>true</comment_value_description> + <comment_value_logical_name>false</comment_value_logical_name> + <comment_value_logical_name_description>false</comment_value_logical_name_description> + <comment_replace_line_feed>false</comment_replace_line_feed> + <comment_replace_string></comment_replace_string> + </ddl_target> + </export_ddl_setting> + <export_excel_setting> + <category_id>null</category_id> + <output_path></output_path> + <template></template> + <template_path></template_path> + <used_default_template_lang></used_default_template_lang> + <image_output></image_output> + <is_open_after_saved>true</is_open_after_saved> + <is_put_diagram>true</is_put_diagram> + <is_use_logical_name>true</is_use_logical_name> + </export_excel_setting> + <export_html_setting> + <output_dir></output_dir> + <with_category_image>true</with_category_image> + <with_image>true</with_image> + <is_open_after_saved>true</is_open_after_saved> + </export_html_setting> + <export_image_setting> + <output_file_path></output_file_path> + <category_dir_path></category_dir_path> + <with_category_image>true</with_category_image> + <is_open_after_saved>true</is_open_after_saved> + </export_image_setting> + <export_java_setting> + <java_output></java_output> + <package_name></package_name> + <class_name_suffix></class_name_suffix> + <src_file_encoding></src_file_encoding> + <with_hibernate>false</with_hibernate> + </export_java_setting> + <export_testdata_setting> + <file_encoding></file_encoding> + <file_path></file_path> + <format>0</format> + </export_testdata_setting> + </export_setting> + <category_settings> + <free_layout>false</free_layout> + <show_referred_tables>false</show_referred_tables> + <categories> + </categories> + </category_settings> + <translation_settings> + <use>false</use> + <translations> + </translations> + </translation_settings> + <model_properties> + <id></id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>50</x> + <y>50</y> + <color> + <r>255</r> + <g>255</g> + <b>255</b> + </color> + <connections> + </connections> + <display>false</display> + <creation_date>2022-01-26 16:20:32</creation_date> + <updated_date>2022-01-27 14:28:59</updated_date> + <model_property> + <name>프로젝트명</name> + <value></value> + </model_property> + <model_property> + <name>모델명</name> + <value></value> + </model_property> + <model_property> + <name>버전</name> + <value></value> + </model_property> + <model_property> + <name>회사명</name> + <value></value> + </model_property> + <model_property> + <name>작성자</name> + <value></value> + </model_property> + </model_properties> + <table_properties> + <schema></schema> + <without_oids>true</without_oids> + </table_properties> + <environment_setting> + <environment> + <id>0</id> + <name>기본</name> + </environment> + </environment_setting> + </settings> + <dictionary> + <word> + <id>0</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>폐지일</description> + <logical_name>폐지일</logical_name> + <physical_name>abl_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>1</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>폐지유무</description> + <logical_name>폐지유무</logical_name> + <physical_name>abl_ennc</physical_name> + <type>char</type> + </word> + <word> + <id>2</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>수용가능인원</description> + <logical_name>수용가능인원</logical_name> + <physical_name>aceptnc_posbl_nmpr</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>3</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>활성여부</description> + <logical_name>활성여부</logical_name> + <physical_name>actvty_at</physical_name> + <type>char</type> + </word> + <word> + <id>4</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주소록구성원ID</description> + <logical_name>주소록구성원ID</logical_name> + <physical_name>adbk_constnt_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>5</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주소록ID</description> + <logical_name>주소록ID</logical_name> + <physical_name>adbk_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>6</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주소록명</description> + <logical_name>주소록명</logical_name> + <physical_name>adbk_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>7</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행정용어약어명</description> + <logical_name>행정용어약어명</logical_name> + <physical_name>administ_word_abrv_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>8</id> + <length>4000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행정용어설명</description> + <logical_name>행정용어설명</logical_name> + <physical_name>administ_word_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>9</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행정용어정의</description> + <logical_name>행정용어정의</logical_name> + <physical_name>administ_word_dfn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>10</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행정용어영문명</description> + <logical_name>행정용어영문명</logical_name> + <physical_name>administ_word_eng_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>11</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행정용어ID</description> + <logical_name>행정용어ID</logical_name> + <physical_name>administ_word_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>12</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행정용어명</description> + <logical_name>행정용어명</logical_name> + <physical_name>administ_word_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>13</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주소</description> + <logical_name>주소</logical_name> + <physical_name>adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>14</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>배열개수</description> + <logical_name>배열개수</logical_name> + <physical_name>algn_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>15</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>배열방식</description> + <logical_name>배열방식</logical_name> + <physical_name>algn_mthd</physical_name> + <type>char</type> + </word> + <word> + <id>16</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>전체기관명</description> + <logical_name>전체기관명</logical_name> + <physical_name>all_instt_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>17</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기념일</description> + <logical_name>기념일</logical_name> + <physical_name>annvrsry</physical_name> + <type>character(n)</type> + </word> + <word> + <id>18</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기념일ID</description> + <logical_name>기념일ID</logical_name> + <physical_name>annvrsry_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>19</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기념일명</description> + <logical_name>기념일명</logical_name> + <physical_name>annvrsry_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>20</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>알림시작일</description> + <logical_name>알림시작일</logical_name> + <physical_name>annvrsry_ntcn_bgnde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>21</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>알림설정</description> + <logical_name>알림설정</logical_name> + <physical_name>annvrsry_ntcn_setup</physical_name> + <type>char</type> + </word> + <word> + <id>22</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기념일구분</description> + <logical_name>기념일구분</logical_name> + <physical_name>annvrsry_se</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>23</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>댓글</description> + <logical_name>댓글</logical_name> + <physical_name>answer</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>24</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>댓글여부</description> + <logical_name>댓글여부</logical_name> + <physical_name>answer_at</physical_name> + <type>char</type> + </word> + <word> + <id>25</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>답변내용</description> + <logical_name>답변내용</logical_name> + <physical_name>answer_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>26</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>답변일자</description> + <logical_name>답변일자</logical_name> + <physical_name>answer_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>27</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>답변깊이</description> + <logical_name>답변깊이</logical_name> + <physical_name>answer_dp</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>28</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>답변그룹번호</description> + <logical_name>답변그룹번호</logical_name> + <physical_name>answer_group_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>29</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>댓글위치</description> + <logical_name>댓글위치</logical_name> + <physical_name>answer_lc</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>30</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>답글번호</description> + <logical_name>답글번호</logical_name> + <physical_name>answer_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>31</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>댓글번호</description> + <logical_name>댓글번호</logical_name> + <physical_name>answer_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>32</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>답변순서</description> + <logical_name>답변순서</logical_name> + <physical_name>answer_ordr</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>33</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>신청자이메일주소</description> + <logical_name>신청자이메일주소</logical_name> + <physical_name>applcnt_email_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>34</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>신청인ID</description> + <logical_name>신청인ID</logical_name> + <physical_name>applcnt_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>35</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>신청인주민등록번호</description> + <logical_name>신청인주민등록번호</logical_name> + <physical_name>applcnt_ihidnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>36</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>신청인명</description> + <logical_name>신청인명</logical_name> + <physical_name>applcnt_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>37</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>지역번호</description> + <logical_name>지역번호</logical_name> + <physical_name>area_no</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>38</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>첨부파일ID</description> + <logical_name>첨부파일ID</logical_name> + <physical_name>atch_file_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>39</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>첨부가능파일숫자</description> + <logical_name>첨부가능파일숫자</logical_name> + <physical_name>atch_posbl_file_number</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>40</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>첨부가능파일사이즈</description> + <logical_name>첨부가능파일사이즈</logical_name> + <physical_name>atch_posbl_file_size</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>41</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>참석자수</description> + <logical_name>참석자수</logical_name> + <physical_name>atdrn_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>42</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>참석인원</description> + <logical_name>참석인원</logical_name> + <physical_name>atndnc_nmpr</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>43</id> + <length>30</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>권한코드</description> + <logical_name>권한코드</logical_name> + <physical_name>author_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>44</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>권한생성일</description> + <logical_name>권한생성일</logical_name> + <physical_name>author_creat_de</physical_name> + <type>timestamp</type> + </word> + <word> + <id>45</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>권한설명</description> + <logical_name>권한설명</logical_name> + <physical_name>author_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>46</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>권한명</description> + <logical_name>권한명</logical_name> + <physical_name>author_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>47</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>평균조회수</description> + <logical_name>평균조회수</logical_name> + <physical_name>avrg_rdcnt</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>48</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>백업파일</description> + <logical_name>백업파일</logical_name> + <physical_name>backup_file</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>49</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>백업작업ID</description> + <logical_name>백업작업ID</logical_name> + <physical_name>backup_opert_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>50</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>백업작업명</description> + <logical_name>백업작업명</logical_name> + <physical_name>backup_opert_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>51</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>백업원본디렉토리</description> + <logical_name>백업원본디렉토리</logical_name> + <physical_name>backup_orginl_drctry</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>52</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>백업결과ID</description> + <logical_name>백업결과ID</logical_name> + <physical_name>backup_result_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>53</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>백업저장디렉토리</description> + <logical_name>백업저장디렉토리</logical_name> + <physical_name>backup_stre_drctry</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>54</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>배너설명</description> + <logical_name>배너설명</logical_name> + <physical_name>banner_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>55</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>배너ID</description> + <logical_name>배너ID</logical_name> + <physical_name>banner_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>56</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>배너이미지</description> + <logical_name>배너이미지</logical_name> + <physical_name>banner_image</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>57</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>배너이미지파일</description> + <logical_name>배너이미지파일</logical_name> + <physical_name>banner_image_file</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>58</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>배너명</description> + <logical_name>배너명</logical_name> + <physical_name>banner_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>59</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>배치작업ID</description> + <logical_name>배치작업ID</logical_name> + <physical_name>batch_opert_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>60</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>배치작업명</description> + <logical_name>배치작업명</logical_name> + <physical_name>batch_opert_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>61</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>배치프로그램</description> + <logical_name>배치프로그램</logical_name> + <physical_name>batch_progrm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>62</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>배치결과ID</description> + <logical_name>배치결과ID</logical_name> + <physical_name>batch_result_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>63</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>배치일정ID</description> + <logical_name>배치일정ID</logical_name> + <physical_name>batch_schdul_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>64</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시판 ID</description> + <logical_name>게시판 ID</logical_name> + <physical_name>bbs_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>65</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시판ID</description> + <logical_name>게시판ID</logical_name> + <physical_name>bbs_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>66</id> + <length>2400</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시판소개</description> + <logical_name>게시판소개</logical_name> + <physical_name>bbs_intrcn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>67</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시판명</description> + <logical_name>게시판명</logical_name> + <physical_name>bbs_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>68</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시판유형코드</description> + <logical_name>게시판유형코드</logical_name> + <physical_name>bbs_ty_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>69</id> + <length>5</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>건물번호본번</description> + <logical_name>건물번호본번</logical_name> + <physical_name>bdnbr_mnnm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>70</id> + <length>5</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>건물번호부번</description> + <logical_name>건물번호부번</logical_name> + <physical_name>bdnbr_slno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>71</id> + <length>4000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>본문설명</description> + <logical_name>본문설명</logical_name> + <physical_name>bdt_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>72</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>본문기타태그</description> + <logical_name>본문기타태그</logical_name> + <physical_name>bdt_etc_tag</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>73</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>본문링크</description> + <logical_name>본문링크</logical_name> + <physical_name>bdt_link</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>74</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>본문태그</description> + <logical_name>본문태그</logical_name> + <physical_name>bdt_tag</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>75</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>본문TITLE</description> + <logical_name>본문TITLE</logical_name> + <physical_name>bdt_title</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>76</id> + <length>7</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최상위기관코드</description> + <logical_name>최상위기관코드</logical_name> + <physical_name>best_instt_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>77</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>시작일</description> + <logical_name>시작일</logical_name> + <physical_name>bgnde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>78</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사전알림간격</description> + <logical_name>사전알림간격</logical_name> + <physical_name>bh_ntcn_intrvl</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>79</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사업자등록번호</description> + <logical_name>사업자등록번호</logical_name> + <physical_name>bizrno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>80</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>블로그 여부</description> + <logical_name>블로그 여부</logical_name> + <physical_name>blog_at</physical_name> + <type>character(n)</type> + </word> + <word> + <id>81</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>블로그 ID</description> + <logical_name>블로그 ID</logical_name> + <physical_name>blog_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>82</id> + <length>2400</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>블로그 소개</description> + <logical_name>블로그 소개</logical_name> + <physical_name>blog_intrcn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>83</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>블로그 명</description> + <logical_name>블로그 명</logical_name> + <physical_name>blog_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>84</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>당직체크코드</description> + <logical_name>당직체크코드</logical_name> + <physical_name>bndt_ceck_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>85</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>당직체크코드명</description> + <logical_name>당직체크코드명</logical_name> + <physical_name>bndt_ceck_code_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>86</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>당직체크구분</description> + <logical_name>당직체크구분</logical_name> + <physical_name>bndt_ceck_se</physical_name> + <type>character(n)</type> + </word> + <word> + <id>87</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>당직일자</description> + <logical_name>당직일자</logical_name> + <physical_name>bndt_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>88</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>당직ID</description> + <logical_name>당직ID</logical_name> + <physical_name>bndt_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>89</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>생일</description> + <logical_name>생일</logical_name> + <physical_name>brthdy</physical_name> + <type>character(n)</type> + </word> + <word> + <id>90</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기초일</description> + <logical_name>기초일</logical_name> + <physical_name>bsis_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>91</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사업코드</description> + <logical_name>사업코드</logical_name> + <physical_name>bsns_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>92</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사업년도</description> + <logical_name>사업년도</logical_name> + <physical_name>bsns_year</physical_name> + <type>character(n)</type> + </word> + <word> + <id>93</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>건물명</description> + <logical_name>건물명</logical_name> + <physical_name>buld_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>94</id> + <length>250</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>체크SQL</description> + <logical_name>체크SQL</logical_name> + <physical_name>ceck_sql</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>95</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>변경일</description> + <logical_name>변경일</logical_name> + <physical_name>change_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>96</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>변경요청내용</description> + <logical_name>변경요청내용</logical_name> + <physical_name>change_requst_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>97</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>변경구분코드</description> + <logical_name>변경구분코드</logical_name> + <physical_name>change_se_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>98</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>변경시간</description> + <logical_name>변경시간</logical_name> + <physical_name>change_time</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>99</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>담당자ID</description> + <logical_name>담당자ID</logical_name> + <physical_name>charger_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>100</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>담당자명</description> + <logical_name>담당자명</logical_name> + <physical_name>charger_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>101</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>점검상태</description> + <logical_name>점검상태</logical_name> + <physical_name>chck_sttus</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>102</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description></description> + <logical_name>chg_pwd_last_pnttm</logical_name> + <physical_name>chg_pwd_last_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>103</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>동호회ID</description> + <logical_name>동호회ID</logical_name> + <physical_name>clb_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>104</id> + <length>2400</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>동호회소개</description> + <logical_name>동호회소개</logical_name> + <physical_name>clb_intrcn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>105</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>동호회명</description> + <logical_name>동호회명</logical_name> + <physical_name>clb_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>106</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>달력구분</description> + <logical_name>달력구분</logical_name> + <physical_name>cldr_se</physical_name> + <type>char</type> + </word> + <word> + <id>107</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>클라이언트IP</description> + <logical_name>클라이언트IP</logical_name> + <physical_name>clnt_ip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>108</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>클라이언트포트</description> + <logical_name>클라이언트포트</logical_name> + <physical_name>clnt_port</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>109</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비공개회의여부</description> + <logical_name>비공개회의여부</logical_name> + <physical_name>clsdr_mtg_at</physical_name> + <type>char</type> + </word> + <word> + <id>110</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>직급명</description> + <logical_name>직급명</logical_name> + <physical_name>clsf_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>111</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>분류코드</description> + <logical_name>분류코드</logical_name> + <physical_name>cl_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>112</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>분류코드설명</description> + <logical_name>분류코드설명</logical_name> + <physical_name>cl_code_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>113</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>분류코드명</description> + <logical_name>분류코드명</logical_name> + <physical_name>cl_code_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>114</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>분류일</description> + <logical_name>분류일</logical_name> + <physical_name>cl_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>115</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>커뮤니티ID</description> + <logical_name>커뮤니티ID</logical_name> + <physical_name>cmmnty_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>116</id> + <length>2400</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>커뮤니티소개</description> + <logical_name>커뮤니티소개</logical_name> + <physical_name>cmmnty_intrcn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>117</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>커뮤니티명</description> + <logical_name>커뮤니티명</logical_name> + <physical_name>cmmnty_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>118</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회사명</description> + <logical_name>회사명</logical_name> + <physical_name>cmpny_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>119</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>압축구분</description> + <logical_name>압축구분</logical_name> + <physical_name>cmprs_se</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>120</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>상담내용</description> + <logical_name>상담내용</logical_name> + <physical_name>cnslt_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>121</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>상담ID</description> + <logical_name>상담ID</logical_name> + <physical_name>cnslt_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>122</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>상담제목</description> + <logical_name>상담제목</logical_name> + <physical_name>cnslt_sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>123</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용자열쇠</description> + <logical_name>사용자열쇠</logical_name> + <physical_name>cnsmr_key</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>124</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용자비밀</description> + <logical_name>사용자비밀</logical_name> + <physical_name>cnsmr_secret</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>125</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>연계ID</description> + <logical_name>연계ID</logical_name> + <physical_name>cntc_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>126</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>연계메시지ID</description> + <logical_name>연계메시지ID</logical_name> + <physical_name>cntc_mssage_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>127</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>연계메시지명</description> + <logical_name>연계메시지명</logical_name> + <physical_name>cntc_mssage_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>128</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>연계명</description> + <logical_name>연계명</logical_name> + <physical_name>cntc_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>129</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>연계유형</description> + <logical_name>연계유형</logical_name> + <physical_name>cntc_ty</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>130</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>연계URL</description> + <logical_name>연계URL</logical_name> + <physical_name>cntc_url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>131</id> + <length>250</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>컨텐츠설명</description> + <logical_name>컨텐츠설명</logical_name> + <physical_name>cntnts_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>132</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>컨텐츠ID</description> + <logical_name>컨텐츠ID</logical_name> + <physical_name>cntnts_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>133</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>컨텐츠링크URL</description> + <logical_name>컨텐츠링크URL</logical_name> + <physical_name>cntnts_link_url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>134</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>컨텐츠명</description> + <logical_name>컨텐츠명</logical_name> + <physical_name>cntnts_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>135</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>컨텐츠사용여부</description> + <logical_name>컨텐츠사용여부</logical_name> + <physical_name>cntnts_use_at</physical_name> + <type>char</type> + </word> + <word> + <id>136</id> + <length>15</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드</description> + <logical_name>코드</logical_name> + <physical_name>code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>137</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드설명</description> + <logical_name>코드설명</logical_name> + <physical_name>code_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>138</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드ID</description> + <logical_name>코드ID</logical_name> + <physical_name>code_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>139</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드ID설명</description> + <logical_name>코드ID설명</logical_name> + <physical_name>code_id_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>140</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드ID명</description> + <logical_name>코드ID명</logical_name> + <physical_name>code_id_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>141</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드명</description> + <logical_name>코드명</logical_name> + <physical_name>code_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>142</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>수집일자</description> + <logical_name>수집일자</logical_name> + <physical_name>colct_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>143</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>접속ID</description> + <logical_name>접속ID</logical_name> + <physical_name>conect_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>144</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>접속IP</description> + <logical_name>접속IP</logical_name> + <physical_name>conect_ip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>145</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>접속방식</description> + <logical_name>접속방식</logical_name> + <physical_name>conect_mthd</physical_name> + <type>character(n)</type> + </word> + <word> + <id>146</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>접속시간</description> + <logical_name>접속시간</logical_name> + <physical_name>conect_time</physical_name> + <type>timestamp</type> + </word> + <word> + <id>147</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>승인여부</description> + <logical_name>승인여부</logical_name> + <physical_name>confm_at</physical_name> + <type>char</type> + </word> + <word> + <id>148</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>승인일</description> + <logical_name>승인일</logical_name> + <physical_name>confm_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>149</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>승인일시</description> + <logical_name>승인일시</logical_name> + <physical_name>confm_dt</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>150</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>CPU정보</description> + <logical_name>CPU정보</logical_name> + <physical_name>cpu_info</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>151</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>CPU사용율</description> + <logical_name>CPU사용율</logical_name> + <physical_name>cpu_use_rt</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>152</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>저작권ID</description> + <logical_name>저작권ID</logical_name> + <physical_name>cpyrht_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>153</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>저작권보호정책내용</description> + <logical_name>저작권보호정책내용</logical_name> + <physical_name>cpyrht_prtc_policy_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>154</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>생성자ID</description> + <logical_name>생성자ID</logical_name> + <physical_name>creatr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>155</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>생성수</description> + <logical_name>생성수</logical_name> + <physical_name>creat_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>156</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>생성일</description> + <logical_name>생성일</logical_name> + <physical_name>creat_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>157</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>생성일시</description> + <logical_name>생성일시</logical_name> + <physical_name>creat_dt</physical_name> + <type>timestamp</type> + </word> + <word> + <id>158</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>인증DN값</description> + <logical_name>인증DN값</logical_name> + <physical_name>crtfc_dn_value</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>159</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>시도명</description> + <logical_name>시도명</logical_name> + <physical_name>ctprvn_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>160</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>경조코드</description> + <logical_name>경조코드</logical_name> + <physical_name>ctsnn_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>161</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>경조ID</description> + <logical_name>경조ID</logical_name> + <physical_name>ctsnn_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>162</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>경조명</description> + <logical_name>경조명</logical_name> + <physical_name>ctsnn_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>163</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비용발생여부</description> + <logical_name>비용발생여부</logical_name> + <physical_name>ct_occrrnc_at</physical_name> + <type>char</type> + </word> + <word> + <id>164</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>대표이사</description> + <logical_name>대표이사</logical_name> + <physical_name>cxfc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>165</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>데이터소스명</description> + <logical_name>데이터소스명</logical_name> + <physical_name>data_sourc_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>166</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>DBMS종류</description> + <logical_name>DBMS종류</logical_name> + <physical_name>dbms_knd</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>167</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>삭제여부</description> + <logical_name>삭제여부</logical_name> + <physical_name>delete_at</physical_name> + <type>character(n)</type> + </word> + <word> + <id>168</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>삭제수</description> + <logical_name>삭제수</logical_name> + <physical_name>delete_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>169</id> + <length>1</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>삭제 구분</description> + <logical_name>삭제 구분</logical_name> + <physical_name>delete_yn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>170</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>부서ID</description> + <logical_name>부서ID</logical_name> + <physical_name>dept_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>171</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>부서업무함ID</description> + <logical_name>부서업무함ID</logical_name> + <physical_name>dept_jobbx_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>172</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>부서업무함명</description> + <logical_name>부서업무함명</logical_name> + <physical_name>dept_jobbx_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>173</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>부서업무내용</description> + <logical_name>부서업무내용</logical_name> + <physical_name>dept_job_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>174</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>부서업무ID</description> + <logical_name>부서업무ID</logical_name> + <physical_name>dept_job_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>175</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>부서업무명</description> + <logical_name>부서업무명</logical_name> + <physical_name>dept_job_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>176</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>부서명</description> + <logical_name>부서명</logical_name> + <physical_name>dept_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>177</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>상세주소</description> + <logical_name>상세주소</logical_name> + <physical_name>detail_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>178</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>상세건물명</description> + <logical_name>상세건물명</logical_name> + <physical_name>detail_buld_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>179</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>세부통계구분</description> + <logical_name>세부통계구분</logical_name> + <physical_name>detail_stats_se</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>180</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일지ID</description> + <logical_name>일지ID</logical_name> + <physical_name>diary_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>181</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일지명</description> + <logical_name>일지명</logical_name> + <physical_name>diary_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>182</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일지진척율</description> + <logical_name>일지진척율</logical_name> + <physical_name>diary_progrsrt</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>183</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>도메인명서버</description> + <logical_name>도메인명서버</logical_name> + <physical_name>domn_nm_server</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>184</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>다운로드 횟수</description> + <logical_name>다운로드 횟수</logical_name> + <physical_name>download_count</physical_name> + <type>integer</type> + </word> + <word> + <id>185</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>다운로드 만료일</description> + <logical_name>다운로드 만료일</logical_name> + <physical_name>download_expire_date</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>186</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>다운로드 제한 횟수</description> + <logical_name>다운로드 제한 횟수</logical_name> + <physical_name>download_limit_count</physical_name> + <type>integer</type> + </word> + <word> + <id>187</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>중복허용여부</description> + <logical_name>중복허용여부</logical_name> + <physical_name>dplct_perm_at</physical_name> + <type>char</type> + </word> + <word> + <id>188</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>지시사항</description> + <logical_name>지시사항</logical_name> + <physical_name>drct_matter</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>189</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>지시사항등록일시</description> + <logical_name>지시사항등록일시</logical_name> + <physical_name>drct_matter_regist_dt</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>190</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>발신일시</description> + <logical_name>발신일시</logical_name> + <physical_name>dsptch_dt</physical_name> + <type>character(n)</type> + </word> + <word> + <id>191</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>폐기일</description> + <logical_name>폐기일</logical_name> + <physical_name>dsuse_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>192</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>자료사용통계ID</description> + <logical_name>자료사용통계ID</logical_name> + <physical_name>dta_use_stats_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>193</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이메일주소</description> + <logical_name>이메일주소</logical_name> + <physical_name>email_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>194</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메일답변여부</description> + <logical_name>메일답변여부</logical_name> + <physical_name>email_answer_at</physical_name> + <type>char</type> + </word> + <word> + <id>195</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이메일내용</description> + <logical_name>이메일내용</logical_name> + <physical_name>email_cn</physical_name> + <type>text</type> + </word> + <word> + <id>196</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>업무사용자ID</description> + <logical_name>업무사용자ID</logical_name> + <physical_name>emplyr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>197</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용자상태코드</description> + <logical_name>사용자상태코드</logical_name> + <physical_name>emplyr_sttus_code</physical_name> + <type>char</type> + </word> + <word> + <id>198</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사원번호</description> + <logical_name>사원번호</logical_name> + <physical_name>empl_no</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>199</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>종료일</description> + <logical_name>종료일</logical_name> + <physical_name>endde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>200</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>끝이동전화번호</description> + <logical_name>끝이동전화번호</logical_name> + <physical_name>end_mbtlnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>201</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>끝전화번호</description> + <logical_name>끝전화번호</logical_name> + <physical_name>end_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>202</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>영문명</description> + <logical_name>영문명</logical_name> + <physical_name>eng_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>203</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업끝전화번호</description> + <logical_name>기업끝전화번호</logical_name> + <physical_name>entrprs_end_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>204</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업회원ID</description> + <logical_name>기업회원ID</logical_name> + <physical_name>entrprs_mber_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>205</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업회원비밀번호</description> + <logical_name>기업회원비밀번호</logical_name> + <physical_name>entrprs_mber_password</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>206</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업회원비밀번호정답</description> + <logical_name>기업회원비밀번호정답</logical_name> + <physical_name>entrprs_mber_password_cnsr</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>207</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업회원비밀번호힌트</description> + <logical_name>기업회원비밀번호힌트</logical_name> + <physical_name>entrprs_mber_password_hint</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>208</id> + <length>15</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업회원상태</description> + <logical_name>기업회원상태</logical_name> + <physical_name>entrprs_mber_sttus</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>209</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업중간전화번호</description> + <logical_name>기업중간전화번호</logical_name> + <physical_name>entrprs_middle_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>210</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업구분코드</description> + <logical_name>기업구분코드</logical_name> + <physical_name>entrprs_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>211</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>전자관인구분</description> + <logical_name>전자관인구분</logical_name> + <physical_name>erncsl_se</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>212</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>오류수</description> + <logical_name>오류수</logical_name> + <physical_name>error_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>213</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>오류코드</description> + <logical_name>오류코드</logical_name> + <physical_name>error_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>214</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>오류정보</description> + <logical_name>오류정보</logical_name> + <physical_name>error_info</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>215</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>오류발생여부</description> + <logical_name>오류발생여부</logical_name> + <physical_name>error_occrrnc_at</physical_name> + <type>char</type> + </word> + <word> + <id>216</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>오류구분</description> + <logical_name>오류구분</logical_name> + <physical_name>error_se</physical_name> + <type>char</type> + </word> + <word> + <id>217</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>고유ID</description> + <logical_name>고유ID</logical_name> + <physical_name>esntl_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>218</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>고유ID</description> + <logical_name>고유ID</logical_name> + <physical_name>esntl_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>219</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기타답변여부</description> + <logical_name>기타답변여부</logical_name> + <physical_name>etc_answer_at</physical_name> + <type>char</type> + </word> + <word> + <id>220</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기타답변내용</description> + <logical_name>기타답변내용</logical_name> + <physical_name>etc_answer_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>221</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기타코드</description> + <logical_name>기타코드</logical_name> + <physical_name>etc_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>222</id> + <length>250</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기타정보</description> + <logical_name>기타정보</logical_name> + <physical_name>etc_info</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>223</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기타사항</description> + <logical_name>기타사항</logical_name> + <physical_name>etc_matter</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>224</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행사주최기관명</description> + <logical_name>행사주최기관명</logical_name> + <physical_name>event_auspc_instt_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>225</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행사시작일</description> + <logical_name>행사시작일</logical_name> + <physical_name>event_bgnde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>226</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행사내용</description> + <logical_name>행사내용</logical_name> + <physical_name>event_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>227</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행사승인여부</description> + <logical_name>행사승인여부</logical_name> + <physical_name>event_confm_at</physical_name> + <type>char</type> + </word> + <word> + <id>228</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행사승인날짜</description> + <logical_name>행사승인날짜</logical_name> + <physical_name>event_confm_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>229</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행사종료일</description> + <logical_name>행사종료일</logical_name> + <physical_name>event_endde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>230</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행사ID</description> + <logical_name>행사ID</logical_name> + <physical_name>event_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>231</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행사주관기관명</description> + <logical_name>행사주관기관명</logical_name> + <physical_name>event_mngt_instt_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>232</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행사명</description> + <logical_name>행사명</logical_name> + <physical_name>event_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>233</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행사장소</description> + <logical_name>행사장소</logical_name> + <physical_name>event_place</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>234</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행사목적</description> + <logical_name>행사목적</logical_name> + <physical_name>event_purps</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>235</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행사구분</description> + <logical_name>행사구분</logical_name> + <physical_name>event_se</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>236</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행사서비스시작일</description> + <logical_name>행사서비스시작일</logical_name> + <physical_name>event_svc_bgnde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>237</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행사서비스종료일</description> + <logical_name>행사서비스종료일</logical_name> + <physical_name>event_svc_endde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>238</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>행사유형코드</description> + <logical_name>행사유형코드</logical_name> + <physical_name>event_ty_code</physical_name> + <type>char</type> + </word> + <word> + <id>239</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>평가일자</description> + <logical_name>평가일자</logical_name> + <physical_name>evl_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>240</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>실행시작시각</description> + <logical_name>실행시작시각</logical_name> + <physical_name>execut_begin_tm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>241</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>실행주기</description> + <logical_name>실행주기</logical_name> + <physical_name>execut_cycle</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>242</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>실행종료시각</description> + <logical_name>실행종료시각</logical_name> + <physical_name>execut_end_tm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>243</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>실행일정일</description> + <logical_name>실행일정일</logical_name> + <physical_name>execut_schdul_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>244</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>실행일정요일구분</description> + <logical_name>실행일정요일구분</logical_name> + <physical_name>execut_schdul_dfk_se</physical_name> + <type>char</type> + </word> + <word> + <id>245</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>실행일정시</description> + <logical_name>실행일정시</logical_name> + <physical_name>execut_schdul_hour</physical_name> + <type>character(n)</type> + </word> + <word> + <id>246</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>실행일정분</description> + <logical_name>실행일정분</logical_name> + <physical_name>execut_schdul_mnt</physical_name> + <type>character(n)</type> + </word> + <word> + <id>247</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>실행일정초</description> + <logical_name>실행일정초</logical_name> + <physical_name>execut_schdul_secnd</physical_name> + <type>character(n)</type> + </word> + <word> + <id>248</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>전문가승인일</description> + <logical_name>전문가승인일</logical_name> + <physical_name>expert_confm_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>249</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>전문가설명</description> + <logical_name>전문가설명</logical_name> + <physical_name>expert_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>250</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>전문가등급</description> + <logical_name>전문가등급</logical_name> + <physical_name>expert_grad</physical_name> + <type>char</type> + </word> + <word> + <id>251</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>전문가ID</description> + <logical_name>전문가ID</logical_name> + <physical_name>expert_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>252</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>외부인사ID</description> + <logical_name>외부인사ID</logical_name> + <physical_name>extrl_hr_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>253</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>외부인사명</description> + <logical_name>외부인사명</logical_name> + <physical_name>extrl_hr_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>254</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>외부사용자여부</description> + <logical_name>외부사용자여부</logical_name> + <physical_name>extrl_user_at</physical_name> + <type>char</type> + </word> + <word> + <id>255</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>FAQID</description> + <logical_name>FAQID</logical_name> + <physical_name>faq_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>256</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일첨부가능여부</description> + <logical_name>파일첨부가능여부</logical_name> + <physical_name>file_atch_posbl_at</physical_name> + <type>char</type> + </word> + <word> + <id>257</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일내용</description> + <logical_name>파일내용</logical_name> + <physical_name>file_cn</physical_name> + <type>text</type> + </word> + <word> + <id>258</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일확장자</description> + <logical_name>파일확장자</logical_name> + <physical_name>file_extsn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>259</id> + <length>13</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일 아이디</description> + <logical_name>파일 아이디</logical_name> + <physical_name>file_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>260</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일 마스크</description> + <logical_name>파일 마스크</logical_name> + <physical_name>file_mask</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>261</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일명</description> + <logical_name>파일명</logical_name> + <physical_name>file_name</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>262</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일 순번</description> + <logical_name>파일 순번</logical_name> + <physical_name>file_seq</physical_name> + <type>integer</type> + </word> + <word> + <id>263</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일 사이즈</description> + <logical_name>파일 사이즈</logical_name> + <physical_name>file_size</physical_name> + <type>integer</type> + </word> + <word> + <id>264</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일크기</description> + <logical_name>파일크기</logical_name> + <physical_name>file_size</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>265</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일순번</description> + <logical_name>파일순번</logical_name> + <physical_name>file_sn</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>266</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일저장경로</description> + <logical_name>파일저장경로</logical_name> + <physical_name>file_stre_cours</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>267</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일시스템ID</description> + <logical_name>파일시스템ID</logical_name> + <physical_name>file_sys_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>268</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일시스템관리명</description> + <logical_name>파일시스템관리명</logical_name> + <physical_name>file_sys_manage_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>269</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일시스템명</description> + <logical_name>파일시스템명</logical_name> + <physical_name>file_sys_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>270</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일시스템크기</description> + <logical_name>파일시스템크기</logical_name> + <physical_name>file_sys_size</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>271</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일시스템임계치</description> + <logical_name>파일시스템임계치</logical_name> + <physical_name>file_sys_thrhld</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>272</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일시스템사용량</description> + <logical_name>파일시스템사용량</logical_name> + <physical_name>file_sys_usgqty</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>273</id> + <length>1024</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일URL</description> + <logical_name>파일URL</logical_name> + <physical_name>file_url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>274</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처음휴대폰번호</description> + <logical_name>처음휴대폰번호</logical_name> + <physical_name>frst_mbtlnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>275</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최초등록자 ID</description> + <logical_name>최초등록자 ID</logical_name> + <physical_name>frst_register_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>276</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최초등록자ID</description> + <logical_name>최초등록자ID</logical_name> + <physical_name>frst_register_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>277</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최초등록시점</description> + <logical_name>최초등록시점</logical_name> + <physical_name>frst_regist_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>278</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최초등록자시점</description> + <logical_name>최초등록자시점</logical_name> + <physical_name>frst_regist_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>279</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>FTPID</description> + <logical_name>FTPID</logical_name> + <physical_name>ftp_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>280</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>FTP비밀번호</description> + <logical_name>FTP비밀번호</logical_name> + <physical_name>ftp_password</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>281</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>팩스번호</description> + <logical_name>팩스번호</logical_name> + <physical_name>fxnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>282</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비품코드</description> + <logical_name>비품코드</logical_name> + <physical_name>fxtrs_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>283</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비품명</description> + <logical_name>비품명</logical_name> + <physical_name>fxtrs_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>284</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>그룹생성일</description> + <logical_name>그룹생성일</logical_name> + <physical_name>group_creat_de</physical_name> + <type>timestamp</type> + </word> + <word> + <id>285</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>그룹설명</description> + <logical_name>그룹설명</logical_name> + <physical_name>group_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>286</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description></description> + <logical_name>group_id</logical_name> + <physical_name>group_id</physical_name> + <type></type> + </word> + <word> + <id>287</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>그룹ID</description> + <logical_name>그룹ID</logical_name> + <physical_name>group_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>288</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>그룹명</description> + <logical_name>그룹명</logical_name> + <physical_name>group_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>289</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게이트웨이</description> + <logical_name>게이트웨이</logical_name> + <physical_name>gtwy</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>290</id> + <length>18</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>HDDISK</description> + <logical_name>HDDISK</logical_name> + <physical_name>hddisk</physical_name> + <type>character(n)</type> + </word> + <word> + <id>291</id> + <length>4000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>헤더설명</description> + <logical_name>헤더설명</logical_name> + <physical_name>hder_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>292</id> + <length>250</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>헤더기타</description> + <logical_name>헤더기타</logical_name> + <physical_name>hder_etc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>293</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>헤더링크</description> + <logical_name>헤더링크</logical_name> + <physical_name>hder_link</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>294</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>헤더태그</description> + <logical_name>헤더태그</logical_name> + <physical_name>hder_tag</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>295</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>헤더TITLE</description> + <logical_name>헤더TITLE</logical_name> + <physical_name>hder_title</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>296</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이력내용</description> + <logical_name>이력내용</logical_name> + <physical_name>hist_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>297</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이력ID</description> + <logical_name>이력ID</logical_name> + <physical_name>hist_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>298</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이력구분코드</description> + <logical_name>이력구분코드</logical_name> + <physical_name>hist_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>299</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주택주소</description> + <logical_name>주택주소</logical_name> + <physical_name>house_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>300</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주택끝전화번호</description> + <logical_name>주택끝전화번호</logical_name> + <physical_name>house_end_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>301</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주택중간전화번호</description> + <logical_name>주택중간전화번호</logical_name> + <physical_name>house_middle_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>302</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주택전화번호</description> + <logical_name>주택전화번호</logical_name> + <physical_name>house_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>303</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>도움말설명</description> + <logical_name>도움말설명</logical_name> + <physical_name>hpcm_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>304</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>도움말정의</description> + <logical_name>도움말정의</logical_name> + <physical_name>hpcm_dfn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>305</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>도움말ID</description> + <logical_name>도움말ID</logical_name> + <physical_name>hpcm_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>306</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>도움말구분코드</description> + <logical_name>도움말구분코드</logical_name> + <physical_name>hpcm_se_code</physical_name> + <type>char</type> + </word> + <word> + <id>307</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>HTTP상태코드</description> + <logical_name>HTTP상태코드</logical_name> + <physical_name>http_sttus_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>308</id> + <length>30</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>IDGEN다음ID</description> + <logical_name>IDGEN다음ID</logical_name> + <physical_name>idgen_next_id</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>309</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>IDGEN테이블명</description> + <logical_name>IDGEN테이블명</logical_name> + <physical_name>idgen_table_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>310</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>식별번호</description> + <logical_name>식별번호</logical_name> + <physical_name>idntfc_no</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>311</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>항목내용</description> + <logical_name>항목내용</logical_name> + <physical_name>iem_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>312</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>항목ID</description> + <logical_name>항목ID</logical_name> + <physical_name>iem_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>313</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>항목길이</description> + <logical_name>항목길이</logical_name> + <physical_name>iem_lt</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>314</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>항목명</description> + <logical_name>항목명</logical_name> + <physical_name>iem_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>315</id> + <length>5</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>항목순번</description> + <logical_name>항목순번</logical_name> + <physical_name>iem_sn</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>316</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>항목유형</description> + <logical_name>항목유형</logical_name> + <physical_name>iem_ty</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>317</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주민등록번호</description> + <logical_name>주민등록번호</logical_name> + <physical_name>ihidnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>318</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이미지</description> + <logical_name>이미지</logical_name> + <physical_name>image</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>319</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이미지설명</description> + <logical_name>이미지설명</logical_name> + <physical_name>image_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>320</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이미지파일</description> + <logical_name>이미지파일</logical_name> + <physical_name>image_file</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>321</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이미지ID</description> + <logical_name>이미지ID</logical_name> + <physical_name>image_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>322</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이미지정보</description> + <logical_name>이미지정보</logical_name> + <physical_name>image_info</physical_name> + <type>blob</type> + </word> + <word> + <id>323</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이미지명</description> + <logical_name>이미지명</logical_name> + <physical_name>image_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>324</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이미지유형</description> + <logical_name>이미지유형</logical_name> + <physical_name>image_ty</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>325</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>표시순서</description> + <logical_name>표시순서</logical_name> + <physical_name>indict_ordr</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>326</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>업종코드</description> + <logical_name>업종코드</logical_name> + <physical_name>induty_code</physical_name> + <type>char</type> + </word> + <word> + <id>327</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>개인정보정책동의여부</description> + <logical_name>개인정보정책동의여부</logical_name> + <physical_name>indvdl_info_policy_agre_at</physical_name> + <type>char</type> + </word> + <word> + <id>328</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>개인정보정책내용</description> + <logical_name>개인정보정책내용</logical_name> + <physical_name>indvdl_info_policy_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>329</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>개인정보정책ID</description> + <logical_name>개인정보정책ID</logical_name> + <physical_name>indvdl_info_policy_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>330</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>개인정보정책명</description> + <logical_name>개인정보정책명</logical_name> + <physical_name>indvdl_info_policy_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>331</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>안내창 도움말</description> + <logical_name>안내창 도움말</logical_name> + <physical_name>infowindow</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>332</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>정보제공동의내용</description> + <logical_name>정보제공동의내용</logical_name> + <physical_name>info_provd_agre_cn</physical_name> + <type>text</type> + </word> + <word> + <id>333</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>약식결재ID</description> + <logical_name>약식결재ID</logical_name> + <physical_name>infrml_sanctn_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>334</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조회일시</description> + <logical_name>조회일시</logical_name> + <physical_name>inqire_dt</physical_name> + <type>timestamp</type> + </word> + <word> + <id>335</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조회 정보 명</description> + <logical_name>조회 정보 명</logical_name> + <physical_name>inqire_info</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>336</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기관약어명</description> + <logical_name>기관약어명</logical_name> + <physical_name>instt_abrv_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>337</id> + <length>7</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기관코드</description> + <logical_name>기관코드</logical_name> + <physical_name>instt_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>338</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기관ID</description> + <logical_name>기관ID</logical_name> + <physical_name>instt_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>339</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기관명</description> + <logical_name>기관명</logical_name> + <physical_name>instt_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>340</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기관차수</description> + <logical_name>기관차수</logical_name> + <physical_name>instt_odr</physical_name> + <type>character(n)</type> + </word> + <word> + <id>341</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기관유형대분류</description> + <logical_name>기관유형대분류</logical_name> + <physical_name>instt_ty_lclas</physical_name> + <type>character(n)</type> + </word> + <word> + <id>342</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기관유형중분류</description> + <logical_name>기관유형중분류</logical_name> + <physical_name>instt_ty_mlsfc</physical_name> + <type>character(n)</type> + </word> + <word> + <id>343</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기관유형소분류</description> + <logical_name>기관유형소분류</logical_name> + <physical_name>instt_ty_sclas</physical_name> + <type>character(n)</type> + </word> + <word> + <id>344</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>인터넷서비스설명</description> + <logical_name>인터넷서비스설명</logical_name> + <physical_name>intnet_svc_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>345</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>인터넷서비스ID</description> + <logical_name>인터넷서비스ID</logical_name> + <physical_name>intnet_svc_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>346</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>인터넷서비스명</description> + <logical_name>인터넷서비스명</logical_name> + <physical_name>intnet_svc_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>347</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>IP정보</description> + <logical_name>IP정보</logical_name> + <physical_name>ip_info</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>348</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>업무구분코드</description> + <logical_name>업무구분코드</logical_name> + <physical_name>job_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>349</id> + <length>13</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>법인등록번호</description> + <logical_name>법인등록번호</logical_name> + <physical_name>jurirno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>350</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>지식내용</description> + <logical_name>지식내용</logical_name> + <physical_name>knwldg_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>351</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>지식평가</description> + <logical_name>지식평가</logical_name> + <physical_name>knwldg_evl</physical_name> + <type>char</type> + </word> + <word> + <id>352</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>지식ID</description> + <logical_name>지식ID</logical_name> + <physical_name>knwldg_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>353</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>지식명</description> + <logical_name>지식명</logical_name> + <physical_name>knwldg_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>354</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>지식유형코드</description> + <logical_name>지식유형코드</logical_name> + <physical_name>knwldg_ty_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>355</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>지식유형명</description> + <logical_name>지식유형명</logical_name> + <physical_name>knwldg_ty_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>356</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>지식URL</description> + <logical_name>지식URL</logical_name> + <physical_name>knwldg_url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>357</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>키워드</description> + <logical_name>키워드</logical_name> + <physical_name>kwrd</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>358</id> + <length>48</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>지도 위도</description> + <logical_name>지도 위도</logical_name> + <physical_name>la</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>359</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최종등록자시점</description> + <logical_name>최종등록자시점</logical_name> + <physical_name>last_updt_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>360</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최종수정시점</description> + <logical_name>최종수정시점</logical_name> + <physical_name>last_updt_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>361</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최종수정자 ID</description> + <logical_name>최종수정자 ID</logical_name> + <physical_name>last_updusr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>362</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최종수정자ID</description> + <logical_name>최종수정자ID</logical_name> + <physical_name>last_updusr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>363</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>위치상세</description> + <logical_name>위치상세</logical_name> + <physical_name>lc_detail</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>364</id> + <length>5</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>위치구분</description> + <logical_name>위치구분</logical_name> + <physical_name>lc_se</physical_name> + <type>character(n)</type> + </word> + <word> + <id>365</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>간부ID</description> + <logical_name>간부ID</logical_name> + <physical_name>leader_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>366</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>간부상태</description> + <logical_name>간부상태</logical_name> + <physical_name>leader_sttus</physical_name> + <type>char</type> + </word> + <word> + <id>367</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>링크URL</description> + <logical_name>링크URL</logical_name> + <physical_name>link_url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>368</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>제한여부</description> + <logical_name>제한여부</logical_name> + <physical_name>lmtt_at</physical_name> + <type>char</type> + </word> + <word> + <id>369</id> + <length>48</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>지도 경도</description> + <logical_name>지도 경도</logical_name> + <physical_name>lo</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>370</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>잠금여부</description> + <logical_name>잠금여부</logical_name> + <physical_name>lock_at</physical_name> + <type>char</type> + </word> + <word> + <id>371</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>잠금회수</description> + <logical_name>잠금회수</logical_name> + <physical_name>lock_cnt</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>372</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>잠금최종시점</description> + <logical_name>잠금최종시점</logical_name> + <physical_name>lock_last_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>373</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>로그ID</description> + <logical_name>로그ID</logical_name> + <physical_name>log_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>374</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>로그정보</description> + <logical_name>로그정보</logical_name> + <physical_name>log_info</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>375</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최하위기관명</description> + <logical_name>최하위기관명</logical_name> + <physical_name>lowest_instt_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>376</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>제작자명</description> + <logical_name>제작자명</logical_name> + <physical_name>makr_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>377</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>관리항목</description> + <logical_name>관리항목</logical_name> + <physical_name>manage_iem</physical_name> + <type>character(n)</type> + </word> + <word> + <id>378</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조치내용</description> + <logical_name>조치내용</logical_name> + <physical_name>managt_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>379</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조치일</description> + <logical_name>조치일</logical_name> + <physical_name>managt_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>380</id> + <length>30</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>매핑생성ID</description> + <logical_name>매핑생성ID</logical_name> + <physical_name>mapng_creat_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>381</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>매핑파일명</description> + <logical_name>매핑파일명</logical_name> + <physical_name>mapng_file_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>382</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>매핑파일경로</description> + <logical_name>매핑파일경로</logical_name> + <physical_name>mapng_file_path</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>383</id> + <length>48</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>마커 위도</description> + <logical_name>마커 위도</logical_name> + <physical_name>markerla</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>384</id> + <length>48</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>마커 경도</description> + <logical_name>마커 경도</logical_name> + <physical_name>markerlo</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>385</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원이메일주소</description> + <logical_name>회원이메일주소</logical_name> + <physical_name>mber_email_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>386</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원팩스번호</description> + <logical_name>회원팩스번호</logical_name> + <physical_name>mber_fxnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>387</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원ID</description> + <logical_name>회원ID</logical_name> + <physical_name>mber_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>388</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원명</description> + <logical_name>회원명</logical_name> + <physical_name>mber_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>389</id> + <length>15</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원 상태</description> + <logical_name>회원 상태</logical_name> + <physical_name>mber_sttus</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>390</id> + <length>15</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원상태</description> + <logical_name>회원상태</logical_name> + <physical_name>mber_sttus</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>391</id> + <length>5</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원유형코드</description> + <logical_name>회원유형코드</logical_name> + <physical_name>mber_ty_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>392</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이동전화번호</description> + <logical_name>이동전화번호</logical_name> + <physical_name>mbtlnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>393</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메모</description> + <logical_name>메모</logical_name> + <physical_name>memo</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>394</id> + <length>250</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메뉴설명</description> + <logical_name>메뉴설명</logical_name> + <physical_name>menu_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>395</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메뉴ID</description> + <logical_name>메뉴ID</logical_name> + <physical_name>menu_id</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>396</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메뉴명</description> + <logical_name>메뉴명</logical_name> + <physical_name>menu_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>397</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메뉴번호</description> + <logical_name>메뉴번호</logical_name> + <physical_name>menu_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>398</id> + <length>5</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메뉴순서</description> + <logical_name>메뉴순서</logical_name> + <physical_name>menu_ordr</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>399</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메서드명</description> + <logical_name>메서드명</logical_name> + <physical_name>method_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>400</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>중간이동전화번호</description> + <logical_name>중간이동전화번호</logical_name> + <physical_name>middle_mbtlnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>401</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>중간전화번호</description> + <logical_name>중간전화번호</logical_name> + <physical_name>middle_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>402</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주관자부서ID</description> + <logical_name>주관자부서ID</logical_name> + <physical_name>mnaer_dept_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>403</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주관자ID</description> + <logical_name>주관자ID</logical_name> + <physical_name>mnaer_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>404</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>관리자여부</description> + <logical_name>관리자여부</logical_name> + <physical_name>mngr_at</physical_name> + <type>char</type> + </word> + <word> + <id>405</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>관리자이메일주소</description> + <logical_name>관리자이메일주소</logical_name> + <physical_name>mngr_email_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>406</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>관리자명</description> + <logical_name>관리자명</logical_name> + <physical_name>mngr_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>407</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주관부서ID</description> + <logical_name>주관부서ID</logical_name> + <physical_name>mngt_dept_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>408</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>모니터링상태</description> + <logical_name>모니터링상태</logical_name> + <physical_name>mntrng_sttus</physical_name> + <type>character(n)</type> + </word> + <word> + <id>409</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메모리정보</description> + <logical_name>메모리정보</logical_name> + <physical_name>mory_info</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>410</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메모리사용율</description> + <logical_name>메모리사용율</logical_name> + <physical_name>mory_use_rt</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>411</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메시지ID</description> + <logical_name>메시지ID</logical_name> + <physical_name>mssage_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>412</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의실ID</description> + <logical_name>회의실ID</logical_name> + <physical_name>mtgrum_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>413</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의실명</description> + <logical_name>회의실명</logical_name> + <physical_name>mtgrum_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>414</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의여부</description> + <logical_name>회의여부</logical_name> + <physical_name>mtg_at</physical_name> + <type>char</type> + </word> + <word> + <id>415</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의시작시간</description> + <logical_name>회의시작시간</logical_name> + <physical_name>mtg_begin_tm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>416</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의내용</description> + <logical_name>회의내용</logical_name> + <physical_name>mtg_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>417</id> + <length>5</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의수</description> + <logical_name>회의수</logical_name> + <physical_name>mtg_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>418</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의일</description> + <logical_name>회의일</logical_name> + <physical_name>mtg_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>419</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의종료시간</description> + <logical_name>회의종료시간</logical_name> + <physical_name>mtg_end_tm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>420</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의ID</description> + <logical_name>회의ID</logical_name> + <physical_name>mtg_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>421</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의안건내용</description> + <logical_name>회의안건내용</logical_name> + <physical_name>mtg_mtr_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>422</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의명</description> + <logical_name>회의명</logical_name> + <physical_name>mtg_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>423</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의장소</description> + <logical_name>회의장소</logical_name> + <physical_name>mtg_place</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>424</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의결과내용</description> + <logical_name>회의결과내용</logical_name> + <physical_name>mtg_result_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>425</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의결과유무</description> + <logical_name>회의결과유무</logical_name> + <physical_name>mtg_result_ennc</physical_name> + <type>char</type> + </word> + <word> + <id>426</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의제목</description> + <logical_name>회의제목</logical_name> + <physical_name>mtg_sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>427</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회의순번</description> + <logical_name>회의순번</logical_name> + <physical_name>mtg_sn</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>428</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최소조회게시글ID</description> + <logical_name>최소조회게시글ID</logical_name> + <physical_name>mumm_inqire_bbsctt_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>429</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최소조회수</description> + <logical_name>최소조회수</logical_name> + <physical_name>mumm_rdcnt</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>430</id> + <length>5</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최대선택개수</description> + <logical_name>최대선택개수</logical_name> + <physical_name>mxmm_choise_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>431</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>국가번호</description> + <logical_name>국가번호</logical_name> + <physical_name>nation_no</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>432</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>명함ID</description> + <logical_name>명함ID</logical_name> + <physical_name>ncrd_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>433</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>명함대상자ID</description> + <logical_name>명함대상자ID</logical_name> + <physical_name>ncrd_trgter_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>434</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>뉴스내용</description> + <logical_name>뉴스내용</logical_name> + <physical_name>news_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>435</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>뉴스ID</description> + <logical_name>뉴스ID</logical_name> + <physical_name>news_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>436</id> + <length>250</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>뉴스출처</description> + <logical_name>뉴스출처</logical_name> + <physical_name>news_origin</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>437</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>뉴스제목</description> + <logical_name>뉴스제목</logical_name> + <physical_name>news_sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>438</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>차주보고내용</description> + <logical_name>차주보고내용</logical_name> + <physical_name>nextwik_report_cn</physical_name> + <type>text</type> + </word> + <word> + <id>439</id> + <length>30</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>다음아이디</description> + <logical_name>다음아이디</logical_name> + <physical_name>next_id</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>440</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이름</description> + <logical_name>이름</logical_name> + <physical_name>nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>441</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>불참자수</description> + <logical_name>불참자수</logical_name> + <physical_name>nonatdrn_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>442</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>정오구분</description> + <logical_name>정오구분</logical_name> + <physical_name>noon_se</physical_name> + <type>char</type> + </word> + <word> + <id>443</id> + <length>4000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>쪽지내용</description> + <logical_name>쪽지내용</logical_name> + <physical_name>note_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>444</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>쪽지ID</description> + <logical_name>쪽지ID</logical_name> + <physical_name>note_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>445</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>쪽지수신ID</description> + <logical_name>쪽지수신ID</logical_name> + <physical_name>note_recptn_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>446</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>쪽지제목</description> + <logical_name>쪽지제목</logical_name> + <physical_name>note_sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>447</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>쪽지송신ID</description> + <logical_name>쪽지송신ID</logical_name> + <physical_name>note_trnsmit_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>448</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>공지사항여부</description> + <logical_name>공지사항여부</logical_name> + <physical_name>notice_at</physical_name> + <type>char</type> + </word> + <word> + <id>449</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시여부</description> + <logical_name>게시여부</logical_name> + <physical_name>ntce_at</physical_name> + <type>char</type> + </word> + <word> + <id>450</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시시작일</description> + <logical_name>게시시작일</logical_name> + <physical_name>ntce_bgnde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>451</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시개수</description> + <logical_name>게시개수</logical_name> + <physical_name>ntce_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>452</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시일</description> + <logical_name>게시일</logical_name> + <physical_name>ntce_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>453</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시종료일</description> + <logical_name>게시종료일</logical_name> + <physical_name>ntce_endde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>454</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>알림내용</description> + <logical_name>알림내용</logical_name> + <physical_name>ntcn_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>455</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>알림번호</description> + <logical_name>알림번호</logical_name> + <physical_name>ntcn_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>456</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>알림제목</description> + <logical_name>알림제목</logical_name> + <physical_name>ntcn_sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>457</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>알림시간</description> + <logical_name>알림시간</logical_name> + <physical_name>ntcn_tm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>458</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시자ID</description> + <logical_name>게시자ID</logical_name> + <physical_name>ntcr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>459</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시자명</description> + <logical_name>게시자명</logical_name> + <physical_name>ntcr_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>460</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시물내용</description> + <logical_name>게시물내용</logical_name> + <physical_name>ntt_cn</physical_name> + <type>text</type> + </word> + <word> + <id>461</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시물ID</description> + <logical_name>게시물ID</logical_name> + <physical_name>ntt_id</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>462</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시물번호</description> + <logical_name>게시물번호</logical_name> + <physical_name>ntt_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>463</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시물제목</description> + <logical_name>게시물제목</logical_name> + <physical_name>ntt_sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>464</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>네트워크ID</description> + <logical_name>네트워크ID</logical_name> + <physical_name>ntwrk_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>465</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>네트워크IP</description> + <logical_name>네트워크IP</logical_name> + <physical_name>ntwrk_ip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>466</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>직업유형코드</description> + <logical_name>직업유형코드</logical_name> + <physical_name>occp_ty_code</physical_name> + <type>char</type> + </word> + <word> + <id>467</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>발생일</description> + <logical_name>발생일</logical_name> + <physical_name>occrrnc_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>468</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>발생일</description> + <logical_name>발생일</logical_name> + <physical_name>occrrnc_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>469</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>발생일</description> + <logical_name>발생일</logical_name> + <physical_name>occrrnc_de</physical_name> + <type>timestamp</type> + </word> + <word> + <id>470</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>발생년도</description> + <logical_name>발생년도</logical_name> + <physical_name>occrrnc_year</physical_name> + <type>character(n)</type> + </word> + <word> + <id>471</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>차수</description> + <logical_name>차수</logical_name> + <physical_name>odr</physical_name> + <type>char</type> + </word> + <word> + <id>472</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>직위명</description> + <logical_name>직위명</logical_name> + <physical_name>ofcps_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>473</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사무실전화번호</description> + <logical_name>사무실전화번호</logical_name> + <physical_name>offm_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>474</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>온라인메뉴얼설명</description> + <logical_name>온라인메뉴얼설명</logical_name> + <physical_name>online_mnl_dc</physical_name> + <type>text</type> + </word> + <word> + <id>475</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>온라인메뉴얼정의</description> + <logical_name>온라인메뉴얼정의</logical_name> + <physical_name>online_mnl_dfn</physical_name> + <type>text</type> + </word> + <word> + <id>476</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>온라인메뉴얼ID</description> + <logical_name>온라인메뉴얼ID</logical_name> + <physical_name>online_mnl_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>477</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>온라인메뉴얼명</description> + <logical_name>온라인메뉴얼명</logical_name> + <physical_name>online_mnl_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>478</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>온라인메뉴얼구분코드</description> + <logical_name>온라인메뉴얼구분코드</logical_name> + <physical_name>online_mnl_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>479</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>개봉여부</description> + <logical_name>개봉여부</logical_name> + <physical_name>open_yn</physical_name> + <type>char</type> + </word> + <word> + <id>480</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>운영체제정보</description> + <logical_name>운영체제정보</logical_name> + <physical_name>opersysm_info</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>481</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>작업일련번호</description> + <logical_name>작업일련번호</logical_name> + <physical_name>opert_sn</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>482</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리자ID</description> + <logical_name>처리자ID</logical_name> + <physical_name>opetr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>483</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>개방시작시각</description> + <logical_name>개방시작시각</logical_name> + <physical_name>opn_begin_tm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>484</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>개방종료시각</description> + <logical_name>개방종료시각</logical_name> + <physical_name>opn_end_tm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>485</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>운영인여부</description> + <logical_name>운영인여부</logical_name> + <physical_name>oprtr_at</physical_name> + <type>char</type> + </word> + <word> + <id>486</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서열</description> + <logical_name>서열</logical_name> + <physical_name>ord</physical_name> + <type>character(n)</type> + </word> + <word> + <id>487</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조직코드</description> + <logical_name>조직코드</logical_name> + <physical_name>orgnzt_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>488</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조직설명</description> + <logical_name>조직설명</logical_name> + <physical_name>orgnzt_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>489</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description></description> + <logical_name>orgnzt_id</logical_name> + <physical_name>orgnzt_id</physical_name> + <type></type> + </word> + <word> + <id>490</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조직ID</description> + <logical_name>조직ID</logical_name> + <physical_name>orgnzt_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>491</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조직ID</description> + <logical_name>조직ID</logical_name> + <physical_name>orgnzt_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>492</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조직명</description> + <logical_name>조직명</logical_name> + <physical_name>orgnzt_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>493</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>원파일명</description> + <logical_name>원파일명</logical_name> + <physical_name>orignl_file_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>494</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>공개여부</description> + <logical_name>공개여부</logical_name> + <physical_name>othbc_at</physical_name> + <type>char</type> + </word> + <word> + <id>495</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>공개범위</description> + <logical_name>공개범위</logical_name> + <physical_name>othbc_scope</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>496</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>출력수</description> + <logical_name>출력수</logical_name> + <physical_name>outpt_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>497</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>초과근무시간</description> + <logical_name>초과근무시간</logical_name> + <physical_name>ovtmwrk_hours</physical_name> + <type>character(n)</type> + </word> + <word> + <id>498</id> + <length>250</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파라미터</description> + <logical_name>파라미터</logical_name> + <physical_name>paramtr</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>499</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>부모글번호</description> + <logical_name>부모글번호</logical_name> + <physical_name>parntsctt_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>500</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>부모지식ID</description> + <logical_name>부모지식ID</logical_name> + <physical_name>parnts_knwldg_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>501</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>특이사항</description> + <logical_name>특이사항</logical_name> + <physical_name>partclr_matter</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>502</id> + <length>16</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>참가비용</description> + <logical_name>참가비용</logical_name> + <physical_name>partcpt_ct</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>503</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비밀번호</description> + <logical_name>비밀번호</logical_name> + <physical_name>password</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>504</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비밀번호</description> + <logical_name>비밀번호</logical_name> + <physical_name>password</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>505</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비밀번호정답</description> + <logical_name>비밀번호정답</logical_name> + <physical_name>password_cnsr</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>506</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비밀번호힌트</description> + <logical_name>비밀번호힌트</logical_name> + <physical_name>password_hint</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>507</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>공적내용</description> + <logical_name>공적내용</logical_name> + <physical_name>pblen_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>508</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>POLL자동폐기유무</description> + <logical_name>POLL자동폐기유무</logical_name> + <physical_name>poll_atmc_dsuse_ennc</physical_name> + <type>char</type> + </word> + <word> + <id>509</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>POLL시작일</description> + <logical_name>POLL시작일</logical_name> + <physical_name>poll_bgnde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>510</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>POLL폐기유무</description> + <logical_name>POLL폐기유무</logical_name> + <physical_name>poll_dsuse_ennc</physical_name> + <type>char</type> + </word> + <word> + <id>511</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>POLL종료일</description> + <logical_name>POLL종료일</logical_name> + <physical_name>poll_endde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>512</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>POLLID</description> + <logical_name>POLLID</logical_name> + <physical_name>poll_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>513</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>POLL항목ID</description> + <logical_name>POLL항목ID</logical_name> + <physical_name>poll_iem_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>514</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>POLL항목명</description> + <logical_name>POLL항목명</logical_name> + <physical_name>poll_iem_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>515</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>POLL종류</description> + <logical_name>POLL종류</logical_name> + <physical_name>poll_knd</physical_name> + <type>character(n)</type> + </word> + <word> + <id>516</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>POLL명</description> + <logical_name>POLL명</logical_name> + <physical_name>poll_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>517</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>POLL결과ID</description> + <logical_name>POLL결과ID</logical_name> + <physical_name>poll_result_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>518</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>팝업ID</description> + <logical_name>팝업ID</logical_name> + <physical_name>popup_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>519</id> + <length>1024</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>팝업제목명</description> + <logical_name>팝업제목명</logical_name> + <physical_name>popup_sj_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>520</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>팝업세로위치</description> + <logical_name>팝업세로위치</logical_name> + <physical_name>popup_vrticl_lc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>521</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>팝업세로사이즈</description> + <logical_name>팝업세로사이즈</logical_name> + <physical_name>popup_vrticl_size</physical_name> + <type>numeric</type> + </word> + <word> + <id>522</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>팝업가로위치</description> + <logical_name>팝업가로위치</logical_name> + <physical_name>popup_width_lc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>523</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>팝업가로사이즈</description> + <logical_name>팝업가로사이즈</logical_name> + <physical_name>popup_width_size</physical_name> + <type>numeric</type> + </word> + <word> + <id>524</id> + <length>16</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>가격</description> + <logical_name>가격</logical_name> + <physical_name>price</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>525</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>우선순위</description> + <logical_name>우선순위</logical_name> + <physical_name>priort</physical_name> + <type>char</type> + </word> + <word> + <id>526</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리수</description> + <logical_name>처리수</logical_name> + <physical_name>process_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>527</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리일</description> + <logical_name>처리일</logical_name> + <physical_name>process_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>528</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리구분</description> + <logical_name>처리구분</logical_name> + <physical_name>process_se</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>529</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리구분코드</description> + <logical_name>처리구분코드</logical_name> + <physical_name>process_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>530</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리상태</description> + <logical_name>처리상태</logical_name> + <physical_name>process_sttus</physical_name> + <type>char</type> + </word> + <word> + <id>531</id> + <length>15</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리상태코드</description> + <logical_name>처리상태코드</logical_name> + <physical_name>process_sttus_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>532</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리시간</description> + <logical_name>처리시간</logical_name> + <physical_name>process_time</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>533</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프로세스ID</description> + <logical_name>프로세스ID</logical_name> + <physical_name>procs_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>534</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프로세스명</description> + <logical_name>프로세스명</logical_name> + <physical_name>procs_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>535</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프로세스상태</description> + <logical_name>프로세스상태</logical_name> + <physical_name>procs_sttus</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>536</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프로그램설명</description> + <logical_name>프로그램설명</logical_name> + <physical_name>progrm_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>537</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프로그램파일명</description> + <logical_name>프로그램파일명</logical_name> + <physical_name>progrm_file_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>538</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프로그램한글명</description> + <logical_name>프로그램한글명</logical_name> + <physical_name>progrm_korean_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>539</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프로그램저장경로</description> + <logical_name>프로그램저장경로</logical_name> + <physical_name>progrm_stre_path</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>540</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>제공기관ID</description> + <logical_name>제공기관ID</logical_name> + <physical_name>provd_instt_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>541</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>제공서비스ID</description> + <logical_name>제공서비스ID</logical_name> + <physical_name>provd_svc_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>542</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>제공시스템ID</description> + <logical_name>제공시스템ID</logical_name> + <physical_name>provd_sys_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>543</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프록시ID</description> + <logical_name>프록시ID</logical_name> + <physical_name>proxy_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>544</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프록시IP</description> + <logical_name>프록시IP</logical_name> + <physical_name>proxy_ip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>545</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프록시명</description> + <logical_name>프록시명</logical_name> + <physical_name>proxy_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>546</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프록시포트</description> + <logical_name>프록시포트</logical_name> + <physical_name>proxy_port</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>547</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>준비물내용</description> + <logical_name>준비물내용</logical_name> + <physical_name>prparetg_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>548</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>소속기관명</description> + <logical_name>소속기관명</logical_name> + <physical_name>psitn_instt_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>549</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>정원</description> + <logical_name>정원</logical_name> + <physical_name>psncpa</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>550</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>소속기관코드</description> + <logical_name>소속기관코드</logical_name> + <physical_name>pstinst_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>551</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>QAID</description> + <logical_name>QAID</logical_name> + <physical_name>qa_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>552</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문지ID</description> + <logical_name>설문지ID</logical_name> + <physical_name>qestnr_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>553</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>질문내용</description> + <logical_name>질문내용</logical_name> + <physical_name>qestn_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>554</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>질문제목</description> + <logical_name>질문제목</logical_name> + <physical_name>qestn_sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>555</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>질문순번</description> + <logical_name>질문순번</logical_name> + <physical_name>qestn_sn</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>556</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>질문유형코드</description> + <logical_name>질문유형코드</logical_name> + <physical_name>qestn_ty_code</physical_name> + <type>char</type> + </word> + <word> + <id>557</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>질의응답처리상태코드</description> + <logical_name>질의응답처리상태코드</logical_name> + <physical_name>qna_process_sttus_code</physical_name> + <type>char</type> + </word> + <word> + <id>558</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문시작일</description> + <logical_name>설문시작일</logical_name> + <physical_name>qustnr_bgnde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>559</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문종료일</description> + <logical_name>설문종료일</logical_name> + <physical_name>qustnr_endde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>560</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문항목ID</description> + <logical_name>설문항목ID</logical_name> + <physical_name>qustnr_iem_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>561</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문목적</description> + <logical_name>설문목적</logical_name> + <physical_name>qustnr_purps</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>562</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문문항ID</description> + <logical_name>설문문항ID</logical_name> + <physical_name>qustnr_qesitm_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>563</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문응답자ID</description> + <logical_name>설문응답자ID</logical_name> + <physical_name>qustnr_respond_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>564</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문응답결과ID</description> + <logical_name>설문응답결과ID</logical_name> + <physical_name>qustnr_rspns_result_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>565</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문제목</description> + <logical_name>설문제목</logical_name> + <physical_name>qustnr_sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>566</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문템플릿설명</description> + <logical_name>설문템플릿설명</logical_name> + <physical_name>qustnr_tmplat_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>567</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문템플릿ID</description> + <logical_name>설문템플릿ID</logical_name> + <physical_name>qustnr_tmplat_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>568</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문템플릿이미지정보</description> + <logical_name>설문템플릿이미지정보</logical_name> + <physical_name>qustnr_tmplat_image_info</physical_name> + <type>blob</type> + </word> + <word> + <id>569</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문템플릿경로명</description> + <logical_name>설문템플릿경로명</logical_name> + <physical_name>qustnr_tmplat_path_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>570</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문템플릿유형</description> + <logical_name>설문템플릿유형</logical_name> + <physical_name>qustnr_tmplat_ty</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>571</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문대상</description> + <logical_name>설문대상</logical_name> + <physical_name>qustnr_trget</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>572</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>설문작성안내내용</description> + <logical_name>설문작성안내내용</logical_name> + <physical_name>qustnr_writng_guidance_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>573</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>량</description> + <logical_name>량</logical_name> + <physical_name>qy</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>574</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>접수시작일</description> + <logical_name>접수시작일</logical_name> + <physical_name>rcept_bgnde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>575</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>접수종료일</description> + <logical_name>접수종료일</logical_name> + <physical_name>rcept_endde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>576</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>수신자</description> + <logical_name>수신자</logical_name> + <physical_name>rcver</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>577</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>수신자ID</description> + <logical_name>수신자ID</logical_name> + <physical_name>rcver_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>578</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조회수</description> + <logical_name>조회수</logical_name> + <physical_name>rdcnt</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>579</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>도로명</description> + <logical_name>도로명</logical_name> + <physical_name>rdmn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>580</id> + <length>12</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>도로명코드</description> + <logical_name>도로명코드</logical_name> + <physical_name>rdmn_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>581</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>열람여부</description> + <logical_name>열람여부</logical_name> + <physical_name>readng_at</physical_name> + <type>char</type> + </word> + <word> + <id>582</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>열람개시일</description> + <logical_name>열람개시일</logical_name> + <physical_name>readng_bgnde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>583</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최근검색어개수</description> + <logical_name>최근검색어개수</logical_name> + <physical_name>recent_srchwrd_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>584</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최근검색어ID</description> + <logical_name>최근검색어ID</logical_name> + <physical_name>recent_srchwrd_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>585</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최근검색어명</description> + <logical_name>최근검색어명</logical_name> + <physical_name>recent_srchwrd_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>586</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>추천승인여부</description> + <logical_name>추천승인여부</logical_name> + <physical_name>recomend_confm_at</physical_name> + <type>char</type> + </word> + <word> + <id>587</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>추천사유내용</description> + <logical_name>추천사유내용</logical_name> + <physical_name>recomend_resn_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>588</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>추천사이트설명</description> + <logical_name>추천사이트설명</logical_name> + <physical_name>recomend_site_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>589</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>추천사이트ID</description> + <logical_name>추천사이트ID</logical_name> + <physical_name>recomend_site_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>590</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>추천사이트명</description> + <logical_name>추천사이트명</logical_name> + <physical_name>recomend_site_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>591</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>추천사이트URL</description> + <logical_name>추천사이트URL</logical_name> + <physical_name>recomend_site_url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>592</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>수신구분</description> + <logical_name>수신구분</logical_name> + <physical_name>recptn_se</physical_name> + <type>char</type> + </word> + <word> + <id>593</id> + <length>12</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>수신전화번호</description> + <logical_name>수신전화번호</logical_name> + <physical_name>recptn_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>594</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>반영여부</description> + <logical_name>반영여부</logical_name> + <physical_name>reflct_at</physical_name> + <type>char</type> + </word> + <word> + <id>595</id> + <length>1024</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>참조URL</description> + <logical_name>참조URL</logical_name> + <physical_name>refrn_url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>596</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>등록구분코드</description> + <logical_name>등록구분코드</logical_name> + <physical_name>regist_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>597</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>등록일</description> + <logical_name>등록일</logical_name> + <physical_name>reg_date</physical_name> + <type>timestamp</type> + </word> + <word> + <id>598</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>관계</description> + <logical_name>관계</logical_name> + <physical_name>relate</physical_name> + <type>character(n)</type> + </word> + <word> + <id>599</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>관계이미지명</description> + <logical_name>관계이미지명</logical_name> + <physical_name>relate_image_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>600</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>관계이미지경로</description> + <logical_name>관계이미지경로</logical_name> + <physical_name>relate_image_path</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>601</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>관계표준용어</description> + <logical_name>관계표준용어</logical_name> + <physical_name>relate_std_word</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>602</id> + <length>5</length> + <decimal>1</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>잔여연차개수</description> + <logical_name>잔여연차개수</logical_name> + <physical_name>remndr_yryc_co</physical_name> + <type>numeric(p,s)</type> + </word> + <word> + <id>603</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>답장가능여부</description> + <logical_name>답장가능여부</logical_name> + <physical_name>reply_posbl_at</physical_name> + <type>char</type> + </word> + <word> + <id>604</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>보고자ID</description> + <logical_name>보고자ID</logical_name> + <physical_name>reportr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>605</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>보고자조회일시</description> + <logical_name>보고자조회일시</logical_name> + <physical_name>reportr_inqire_dt</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>606</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>보고시작일</description> + <logical_name>보고시작일</logical_name> + <physical_name>report_bgnde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>607</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>보고내용</description> + <logical_name>보고내용</logical_name> + <physical_name>report_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>608</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>보고일</description> + <logical_name>보고일</logical_name> + <physical_name>report_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>609</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>보고종료일</description> + <logical_name>보고종료일</logical_name> + <physical_name>report_endde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>610</id> + <length>7</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>대표기관코드</description> + <logical_name>대표기관코드</logical_name> + <physical_name>reprsnt_instt_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>611</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>보고서ID</description> + <logical_name>보고서ID</logical_name> + <physical_name>reprt_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>612</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>보고서명</description> + <logical_name>보고서명</logical_name> + <physical_name>reprt_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>613</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>보고서구분</description> + <logical_name>보고서구분</logical_name> + <physical_name>reprt_se</physical_name> + <type>char</type> + </word> + <word> + <id>614</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>보고서제목</description> + <logical_name>보고서제목</logical_name> + <physical_name>reprt_sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>615</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>보고서상태</description> + <logical_name>보고서상태</logical_name> + <physical_name>reprt_sttus</physical_name> + <type>character(n)</type> + </word> + <word> + <id>616</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>보고서유형</description> + <logical_name>보고서유형</logical_name> + <physical_name>reprt_ty</physical_name> + <type>character(n)</type> + </word> + <word> + <id>617</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>반복여부</description> + <logical_name>반복여부</logical_name> + <physical_name>reptit_at</physical_name> + <type>char</type> + </word> + <word> + <id>618</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>반복구분코드</description> + <logical_name>반복구분코드</logical_name> + <physical_name>reptit_se_code</physical_name> + <type>char</type> + </word> + <word> + <id>619</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>신청일</description> + <logical_name>신청일</logical_name> + <physical_name>reqst_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>620</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청 ID</description> + <logical_name>요청 ID</logical_name> + <physical_name>requst_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>621</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청ID</description> + <logical_name>요청ID</logical_name> + <physical_name>requst_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>622</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청기관ID</description> + <logical_name>요청기관ID</logical_name> + <physical_name>requst_instt_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>623</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청메시지ID</description> + <logical_name>요청메시지ID</logical_name> + <physical_name>requst_mssage_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>624</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청번호</description> + <logical_name>요청번호</logical_name> + <physical_name>requst_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>625</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청처리내용</description> + <logical_name>요청처리내용</logical_name> + <physical_name>requst_process_cn</physical_name> + <type>text</type> + </word> + <word> + <id>626</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청수신시각</description> + <logical_name>요청수신시각</logical_name> + <physical_name>requst_recptn_tm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>627</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청제목</description> + <logical_name>요청제목</logical_name> + <physical_name>requst_sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>628</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청시스템ID</description> + <logical_name>요청시스템ID</logical_name> + <physical_name>requst_sys_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>629</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청송신시각</description> + <logical_name>요청송신시각</logical_name> + <physical_name>requst_trnsmit_tm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>630</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>응답자답변내용</description> + <logical_name>응답자답변내용</logical_name> + <physical_name>respond_answer_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>631</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>응답자명</description> + <logical_name>응답자명</logical_name> + <physical_name>respond_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>632</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>휴일</description> + <logical_name>휴일</logical_name> + <physical_name>restde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>633</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>휴일설명</description> + <logical_name>휴일설명</logical_name> + <physical_name>restde_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>634</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>휴일명</description> + <logical_name>휴일명</logical_name> + <physical_name>restde_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>635</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>휴일번호</description> + <logical_name>휴일번호</logical_name> + <physical_name>restde_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>636</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>휴일구분코드</description> + <logical_name>휴일구분코드</logical_name> + <physical_name>restde_se_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>637</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>결과코드</description> + <logical_name>결과코드</logical_name> + <physical_name>result_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>638</id> + <length>4000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>결과메시지</description> + <logical_name>결과메시지</logical_name> + <physical_name>result_mssage</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>639</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>예약시작시각</description> + <logical_name>예약시작시각</logical_name> + <physical_name>resve_begin_tm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>640</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>예약일</description> + <logical_name>예약일</logical_name> + <physical_name>resve_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>641</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>예약종료시각</description> + <logical_name>예약종료시각</logical_name> + <physical_name>resve_end_tm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>642</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>예약ID</description> + <logical_name>예약ID</logical_name> + <physical_name>resve_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>643</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>반환사유</description> + <logical_name>반환사유</logical_name> + <physical_name>return_resn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>644</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>등록일</description> + <logical_name>등록일</logical_name> + <physical_name>rgsde</physical_name> + <type>timestamp</type> + </word> + <word> + <id>645</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비고</description> + <logical_name>비고</logical_name> + <physical_name>rm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>646</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비고</description> + <logical_name>비고</logical_name> + <physical_name>rm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>647</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤코드</description> + <logical_name>롤코드</logical_name> + <physical_name>role_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>648</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤생성일</description> + <logical_name>롤생성일</logical_name> + <physical_name>role_creat_de</physical_name> + <type>timestamp</type> + </word> + <word> + <id>649</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤설명</description> + <logical_name>롤설명</logical_name> + <physical_name>role_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>650</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤명</description> + <logical_name>롤명</logical_name> + <physical_name>role_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>651</id> + <length>300</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤패턴</description> + <logical_name>롤패턴</logical_name> + <physical_name>role_pttrn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>652</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤정렬</description> + <logical_name>롤정렬</logical_name> + <physical_name>role_sort</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>653</id> + <length>80</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤유형</description> + <logical_name>롤유형</logical_name> + <physical_name>role_ty</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>654</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>약도상세주소</description> + <logical_name>약도상세주소</logical_name> + <physical_name>roughmapaddress</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>655</id> + <length>75</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>약도 제목</description> + <logical_name>약도 제목</logical_name> + <physical_name>roughmapsj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>656</id> + <length>75</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>약도 ID</description> + <logical_name>약도 ID</logical_name> + <physical_name>roughmap_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>657</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청일</description> + <logical_name>요청일</logical_name> + <physical_name>rqestde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>658</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청자ID</description> + <logical_name>요청자ID</logical_name> + <physical_name>rqester_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>659</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청자아이디</description> + <logical_name>요청자아이디</logical_name> + <physical_name>rqester_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>660</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청아이피</description> + <logical_name>요청아이피</logical_name> + <physical_name>rqester_ip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>661</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청자IP</description> + <logical_name>요청자IP</logical_name> + <physical_name>rqester_ip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>662</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>응답코드</description> + <logical_name>응답코드</logical_name> + <physical_name>rspns_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>663</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>응답메시지ID</description> + <logical_name>응답메시지ID</logical_name> + <physical_name>rspns_mssage_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>664</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>응답수신시각</description> + <logical_name>응답수신시각</logical_name> + <physical_name>rspns_recptn_tm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>665</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>응답송신시각</description> + <logical_name>응답송신시각</logical_name> + <physical_name>rspns_trnsmit_tm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>666</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>RSSID</description> + <logical_name>RSSID</logical_name> + <physical_name>rss_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>667</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>예약자ID</description> + <logical_name>예약자ID</logical_name> + <physical_name>rsvctm_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>668</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>포상자ID</description> + <logical_name>포상자ID</logical_name> + <physical_name>rwardwnr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>669</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>포상코드</description> + <logical_name>포상코드</logical_name> + <physical_name>rward_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>670</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>포상일</description> + <logical_name>포상일</logical_name> + <physical_name>rward_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>671</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>포상ID</description> + <logical_name>포상ID</logical_name> + <physical_name>rward_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>672</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>포상명</description> + <logical_name>포상명</logical_name> + <physical_name>rward_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>673</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>결재자ID</description> + <logical_name>결재자ID</logical_name> + <physical_name>sanctner_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>674</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>결재일시</description> + <logical_name>결재일시</logical_name> + <physical_name>sanctn_dt</physical_name> + <type>timestamp</type> + </word> + <word> + <id>675</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>가입일자</description> + <logical_name>가입일자</logical_name> + <physical_name>sbscrb_de</physical_name> + <type>timestamp</type> + </word> + <word> + <id>676</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일정시작일</description> + <logical_name>일정시작일</logical_name> + <physical_name>schdul_bgnde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>677</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일정담당자ID</description> + <logical_name>일정담당자ID</logical_name> + <physical_name>schdul_charger_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>678</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일정내용</description> + <logical_name>일정내용</logical_name> + <physical_name>schdul_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>679</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일정일</description> + <logical_name>일정일</logical_name> + <physical_name>schdul_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>680</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일정부서ID</description> + <logical_name>일정부서ID</logical_name> + <physical_name>schdul_dept_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>681</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일정종료일</description> + <logical_name>일정종료일</logical_name> + <physical_name>schdul_endde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>682</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일정ID</description> + <logical_name>일정ID</logical_name> + <physical_name>schdul_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>683</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일정중요도코드</description> + <logical_name>일정중요도코드</logical_name> + <physical_name>schdul_ipcr_code</physical_name> + <type>char</type> + </word> + <word> + <id>684</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일정종류코드</description> + <logical_name>일정종류코드</logical_name> + <physical_name>schdul_knd_code</physical_name> + <type>char</type> + </word> + <word> + <id>685</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일정명</description> + <logical_name>일정명</logical_name> + <physical_name>schdul_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>686</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일정장소</description> + <logical_name>일정장소</logical_name> + <physical_name>schdul_place</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>687</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일정구분</description> + <logical_name>일정구분</logical_name> + <physical_name>schdul_se</physical_name> + <type>char</type> + </word> + <word> + <id>688</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>스크랩ID</description> + <logical_name>스크랩ID</logical_name> + <physical_name>scrap_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>689</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>스크랩명</description> + <logical_name>스크랩명</logical_name> + <physical_name>scrap_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>690</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>보안설정대상ID</description> + <logical_name>보안설정대상ID</logical_name> + <physical_name>scrty_dtrmn_trget_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>691</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비밀글여부</description> + <logical_name>비밀글여부</logical_name> + <physical_name>secret_at</physical_name> + <type>char</type> + </word> + <word> + <id>692</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>탈퇴일</description> + <logical_name>탈퇴일</logical_name> + <physical_name>secsn_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>693</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서버장비ID</description> + <logical_name>서버장비ID</logical_name> + <physical_name>server_eqpmn_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>694</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서버장비IP</description> + <logical_name>서버장비IP</logical_name> + <physical_name>server_eqpmn_ip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>695</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서버장비관리자</description> + <logical_name>서버장비관리자</logical_name> + <physical_name>server_eqpmn_mngr</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>696</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서버장비명</description> + <logical_name>서버장비명</logical_name> + <physical_name>server_eqpmn_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>697</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서버ID</description> + <logical_name>서버ID</logical_name> + <physical_name>server_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>698</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서버IP</description> + <logical_name>서버IP</logical_name> + <physical_name>server_ip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>699</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서버종류</description> + <logical_name>서버종류</logical_name> + <physical_name>server_knd</physical_name> + <type>character(n)</type> + </word> + <word> + <id>700</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서버명</description> + <logical_name>서버명</logical_name> + <physical_name>server_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>701</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서버포트</description> + <logical_name>서버포트</logical_name> + <physical_name>server_port</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>702</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>성별코드</description> + <logical_name>성별코드</logical_name> + <physical_name>sexdstn_code</physical_name> + <type>char</type> + </word> + <word> + <id>703</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>시군구명</description> + <logical_name>시군구명</logical_name> + <physical_name>signgu_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>704</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사이트설명</description> + <logical_name>사이트설명</logical_name> + <physical_name>site_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>705</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사이트ID</description> + <logical_name>사이트ID</logical_name> + <physical_name>site_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>706</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사이트명</description> + <logical_name>사이트명</logical_name> + <physical_name>site_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>707</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사이트주제분류코드</description> + <logical_name>사이트주제분류코드</logical_name> + <physical_name>site_thema_cl_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>708</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사이트URL</description> + <logical_name>사이트URL</logical_name> + <physical_name>site_url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>709</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>제목</description> + <logical_name>제목</logical_name> + <physical_name>sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>710</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>제목볼드여부</description> + <logical_name>제목볼드여부</logical_name> + <physical_name>sj_bold_at</physical_name> + <type>char</type> + </word> + <word> + <id>711</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>문자메시지ID</description> + <logical_name>문자메시지ID</logical_name> + <physical_name>sms_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>712</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>일련번호</description> + <logical_name>일련번호</logical_name> + <physical_name>sn</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>713</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>발송결과코드</description> + <logical_name>발송결과코드</logical_name> + <physical_name>sndng_result_code</physical_name> + <type>char</type> + </word> + <word> + <id>714</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>발신자</description> + <logical_name>발신자</logical_name> + <physical_name>sndr</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>715</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>정렬순서</description> + <logical_name>정렬순서</logical_name> + <physical_name>sort_ordr</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>716</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>검색어접속URL</description> + <logical_name>검색어접속URL</logical_name> + <physical_name>srchwrd_conect_url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>717</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>검색어관리ID</description> + <logical_name>검색어관리ID</logical_name> + <physical_name>srchwrd_manage_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>718</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>검색어관리명</description> + <logical_name>검색어관리명</logical_name> + <physical_name>srchwrd_manage_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>719</id> + <length>500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서비스 명</description> + <logical_name>서비스 명</logical_name> + <physical_name>srvc_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>720</id> + <length>18</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>통계ID</description> + <logical_name>통계ID</logical_name> + <physical_name>stats_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>721</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>통계구분</description> + <logical_name>통계구분</logical_name> + <physical_name>stats_se</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>722</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>그만보기설정여부</description> + <logical_name>그만보기설정여부</logical_name> + <physical_name>stopvew_setup_at</physical_name> + <type>char</type> + </word> + <word> + <id>723</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>저장파일명</description> + <logical_name>저장파일명</logical_name> + <physical_name>stre_file_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>724</id> + <length>1</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>만족도</description> + <logical_name>만족도</logical_name> + <physical_name>stsfdg</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>725</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>만족도여부</description> + <logical_name>만족도여부</logical_name> + <physical_name>stsfdg_at</physical_name> + <type>char</type> + </word> + <word> + <id>726</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>만족도내용</description> + <logical_name>만족도내용</logical_name> + <physical_name>stsfdg_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>727</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>만족도번호</description> + <logical_name>만족도번호</logical_name> + <physical_name>stsfdg_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>728</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>상태</description> + <logical_name>상태</logical_name> + <physical_name>sttus</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>729</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서브넷</description> + <logical_name>서브넷</logical_name> + <physical_name>subnet</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>730</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서비스설명</description> + <logical_name>서비스설명</logical_name> + <physical_name>svc_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>731</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서비스ID</description> + <logical_name>서비스ID</logical_name> + <physical_name>svc_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>732</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서비스IP</description> + <logical_name>서비스IP</logical_name> + <physical_name>svc_ip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>733</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서비스명</description> + <logical_name>서비스명</logical_name> + <physical_name>svc_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>734</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서비스포트</description> + <logical_name>서비스포트</logical_name> + <physical_name>svc_port</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>735</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서비스상태</description> + <logical_name>서비스상태</logical_name> + <physical_name>svc_sttus</physical_name> + <type>character(n)</type> + </word> + <word> + <id>736</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서비스사용인원수</description> + <logical_name>서비스사용인원수</logical_name> + <physical_name>svc_use_nmpr_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>737</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>동기화위치</description> + <logical_name>동기화위치</logical_name> + <physical_name>synchrn_lc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>738</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>동의어</description> + <logical_name>동의어</logical_name> + <physical_name>synonm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>739</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>시스템ID</description> + <logical_name>시스템ID</logical_name> + <physical_name>sys_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>740</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>시스템IP</description> + <logical_name>시스템IP</logical_name> + <physical_name>sys_ip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>741</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>시스템명</description> + <logical_name>시스템명</logical_name> + <physical_name>sys_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>742</id> + <length>5</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>시스템포트</description> + <logical_name>시스템포트</logical_name> + <physical_name>sys_port</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>743</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>테이블명</description> + <logical_name>테이블명</logical_name> + <physical_name>table_name</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>744</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>전화번호</description> + <logical_name>전화번호</logical_name> + <physical_name>telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>745</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>테스트클래스명</description> + <logical_name>테스트클래스명</logical_name> + <physical_name>test_class_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>746</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주제영역</description> + <logical_name>주제영역</logical_name> + <physical_name>thema_relm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>747</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>금주보고내용</description> + <logical_name>금주보고내용</logical_name> + <physical_name>thswik_report_cn</physical_name> + <type>text</type> + </word> + <word> + <id>748</id> + <length>7</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>타이틀바색상</description> + <logical_name>타이틀바색상</logical_name> + <physical_name>titlebar_color</physical_name> + <type>character(n)</type> + </word> + <word> + <id>749</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>템플릿경로</description> + <logical_name>템플릿경로</logical_name> + <physical_name>tmplat_cours</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>750</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>템플릿 ID</description> + <logical_name>템플릿 ID</logical_name> + <physical_name>tmplat_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>751</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>템플릿ID</description> + <logical_name>템플릿ID</logical_name> + <physical_name>tmplat_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>752</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>템플릿명</description> + <logical_name>템플릿명</logical_name> + <physical_name>tmplat_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>753</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>템플릿구분코드</description> + <logical_name>템플릿구분코드</logical_name> + <physical_name>tmplat_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>754</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>할일시작시간</description> + <logical_name>할일시작시간</logical_name> + <physical_name>todo_begin_time</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>755</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>할일내용</description> + <logical_name>할일내용</logical_name> + <physical_name>todo_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>756</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>할일종료시간</description> + <logical_name>할일종료시간</logical_name> + <physical_name>todo_end_time</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>757</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>할일ID</description> + <logical_name>할일ID</logical_name> + <physical_name>todo_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>758</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>할일제목</description> + <logical_name>할일제목</logical_name> + <physical_name>todo_sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>759</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최고조회게시글ID</description> + <logical_name>최고조회게시글ID</logical_name> + <physical_name>top_inqire_bbsctt_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>760</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최고게시자ID</description> + <logical_name>최고게시자ID</logical_name> + <physical_name>top_ntcr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>761</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최고조회수</description> + <logical_name>최고조회수</logical_name> + <physical_name>top_rdcnt</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>762</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>총조회수</description> + <logical_name>총조회수</logical_name> + <physical_name>tot_rdcnt</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>763</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>대상ID</description> + <logical_name>대상ID</logical_name> + <physical_name>trget_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>764</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>대상메뉴명</description> + <logical_name>대상메뉴명</logical_name> + <physical_name>trget_menu_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>765</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>대상조직ID</description> + <logical_name>대상조직ID</logical_name> + <physical_name>trget_orgnzt_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>766</id> + <length>5</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>대상서비스목록개수</description> + <logical_name>대상서비스목록개수</logical_name> + <physical_name>trget_svc_list_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>767</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>대상서비스명</description> + <logical_name>대상서비스명</logical_name> + <physical_name>trget_svc_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>768</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>대상서비스테이블</description> + <logical_name>대상서비스테이블</logical_name> + <physical_name>trget_svc_table</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>769</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>대상자명</description> + <logical_name>대상자명</logical_name> + <physical_name>trgter_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>770</id> + <length>80</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>전송내용</description> + <logical_name>전송내용</logical_name> + <physical_name>trnsmis_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>771</id> + <length>12</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>전송전화번호</description> + <logical_name>전송전화번호</logical_name> + <physical_name>trnsmis_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>772</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>송신자ID</description> + <logical_name>송신자ID</logical_name> + <physical_name>trnsmiter_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>773</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>장애설명</description> + <logical_name>장애설명</logical_name> + <physical_name>trobl_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>774</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>장애ID</description> + <logical_name>장애ID</logical_name> + <physical_name>trobl_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>775</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>장애종류</description> + <logical_name>장애종류</logical_name> + <physical_name>trobl_knd</physical_name> + <type>character(n)</type> + </word> + <word> + <id>776</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>장애명</description> + <logical_name>장애명</logical_name> + <physical_name>trobl_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>777</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>장애발생시간</description> + <logical_name>장애발생시간</logical_name> + <physical_name>trobl_occrrnc_time</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>778</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>장애처리자명</description> + <logical_name>장애처리자명</logical_name> + <physical_name>trobl_opetr_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>779</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>장애처리결과</description> + <logical_name>장애처리결과</logical_name> + <physical_name>trobl_process_result</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>780</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>장애처리시간</description> + <logical_name>장애처리시간</logical_name> + <physical_name>trobl_process_time</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>781</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>장애요청시간</description> + <logical_name>장애요청시간</logical_name> + <physical_name>trobl_requst_time</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>782</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>장애요청자명</description> + <logical_name>장애요청자명</logical_name> + <physical_name>trobl_rqester_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>783</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>송수신구분코드</description> + <logical_name>송수신구분코드</logical_name> + <physical_name>trsmrcv_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>784</id> + <length>2500</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>통합링크설명</description> + <logical_name>통합링크설명</logical_name> + <physical_name>unity_link_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>785</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>통합링크그룹</description> + <logical_name>통합링크그룹</logical_name> + <physical_name>unity_link_group</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>786</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>통합링크ID</description> + <logical_name>통합링크ID</logical_name> + <physical_name>unity_link_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>787</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>통합링크명</description> + <logical_name>통합링크명</logical_name> + <physical_name>unity_link_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>788</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>통합링크구분코드</description> + <logical_name>통합링크구분코드</logical_name> + <physical_name>unity_link_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>789</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>통합링크URL</description> + <logical_name>통합링크URL</logical_name> + <physical_name>unity_link_url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>790</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>수정수</description> + <logical_name>수정수</logical_name> + <physical_name>updt_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>791</id> + <length>1024</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>상단이미지</description> + <logical_name>상단이미지</logical_name> + <physical_name>upend_image</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>792</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>상위연계메시지ID</description> + <logical_name>상위연계메시지ID</logical_name> + <physical_name>upper_cntc_mssage_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>793</id> + <length>7</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>상위기관코드</description> + <logical_name>상위기관코드</logical_name> + <physical_name>upper_instt_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>794</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>URL</description> + <logical_name>URL</logical_name> + <physical_name>url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>795</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>URL</description> + <logical_name>URL</logical_name> + <physical_name>url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>796</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용자부재여부</description> + <logical_name>사용자부재여부</logical_name> + <physical_name>user_absnce_at</physical_name> + <type>char</type> + </word> + <word> + <id>797</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주소</description> + <logical_name>주소</logical_name> + <physical_name>user_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>798</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용자수</description> + <logical_name>사용자수</logical_name> + <physical_name>user_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>799</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원이메일주소</description> + <logical_name>회원이메일주소</logical_name> + <physical_name>user_email</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>800</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용자ID</description> + <logical_name>사용자ID</logical_name> + <physical_name>user_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>801</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원ID</description> + <logical_name>회원ID</logical_name> + <physical_name>user_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>802</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용자명</description> + <logical_name>사용자명</logical_name> + <physical_name>user_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>803</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원명</description> + <logical_name>회원명</logical_name> + <physical_name>user_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>804</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description></description> + <logical_name>user_se</logical_name> + <physical_name>user_se</physical_name> + <type></type> + </word> + <word> + <id>805</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용자검색여부</description> + <logical_name>사용자검색여부</logical_name> + <physical_name>user_search_at</physical_name> + <type>char</type> + </word> + <word> + <id>806</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>우편번호</description> + <logical_name>우편번호</logical_name> + <physical_name>user_zip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>807</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용여부</description> + <logical_name>사용여부</logical_name> + <physical_name>use_at</physical_name> + <type>char</type> + </word> + <word> + <id>808</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이용약관내용</description> + <logical_name>이용약관내용</logical_name> + <physical_name>use_stplat_cn</physical_name> + <type>text</type> + </word> + <word> + <id>809</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이용약관ID</description> + <logical_name>이용약관ID</logical_name> + <physical_name>use_stplat_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>810</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이용약관명</description> + <logical_name>이용약관명</logical_name> + <physical_name>use_stplat_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>811</id> + <length>5</length> + <decimal>1</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용연차개수</description> + <logical_name>사용연차개수</logical_name> + <physical_name>use_yryc_co</physical_name> + <type>numeric(p,s)</type> + </word> + <word> + <id>812</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>유효시작일자</description> + <logical_name>유효시작일자</logical_name> + <physical_name>valid_bgnde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>813</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>유효종료일자</description> + <logical_name>유효종료일자</logical_name> + <physical_name>valid_endde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>814</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>휴가사유</description> + <logical_name>휴가사유</logical_name> + <physical_name>vcatn_resn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>815</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>휴가구분</description> + <logical_name>휴가구분</logical_name> + <physical_name>vcatn_se</physical_name> + <type>character(n)</type> + </word> + <word> + <id>816</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>웹서비스종류</description> + <logical_name>웹서비스종류</logical_name> + <physical_name>websvc_knd</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>817</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>Wiki즐겨찾기ID</description> + <logical_name>Wiki즐겨찾기ID</logical_name> + <physical_name>wiki_bkmk_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>818</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>Wiki북마크명</description> + <logical_name>Wiki북마크명</logical_name> + <physical_name>wiki_bkmk_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>819</id> + <length>4000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>용어설명</description> + <logical_name>용어설명</logical_name> + <physical_name>word_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>820</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>용어ID</description> + <logical_name>용어ID</logical_name> + <physical_name>word_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>821</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>용어명</description> + <logical_name>용어명</logical_name> + <physical_name>word_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>822</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>용어구분</description> + <logical_name>용어구분</logical_name> + <physical_name>word_se</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>823</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>작성일</description> + <logical_name>작성일</logical_name> + <physical_name>writng_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>824</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>작성비밀번호</description> + <logical_name>작성비밀번호</logical_name> + <physical_name>writng_password</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>825</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>출퇴근 구분 ID</description> + <logical_name>출퇴근 구분 ID</logical_name> + <physical_name>wrktm_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>826</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>출근날짜</description> + <logical_name>출근날짜</logical_name> + <physical_name>wrkt_dt</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>827</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>퇴근상태</description> + <logical_name>퇴근상태</logical_name> + <physical_name>wrk_end_status</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>828</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>퇴근시간</description> + <logical_name>퇴근시간</logical_name> + <physical_name>wrk_end_time</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>829</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>근무시간</description> + <logical_name>근무시간</logical_name> + <physical_name>wrk_hours</physical_name> + <type>character(n)</type> + </word> + <word> + <id>830</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>출근상태</description> + <logical_name>출근상태</logical_name> + <physical_name>wrk_start_status</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>831</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>출근시간</description> + <logical_name>출근시간</logical_name> + <physical_name>wrk_start_time</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>832</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>작성자ID</description> + <logical_name>작성자ID</logical_name> + <physical_name>wrter_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>833</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>작성자명</description> + <logical_name>작성자명</logical_name> + <physical_name>wrter_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>834</id> + <length>5</length> + <decimal>1</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>연차발생개수</description> + <logical_name>연차발생개수</logical_name> + <physical_name>yryc_occrrnc_co</physical_name> + <type>numeric(p,s)</type> + </word> + <word> + <id>835</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>우편번호</description> + <logical_name>우편번호</logical_name> + <physical_name>zip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>836</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>지도 확대수준</description> + <logical_name>지도 확대수준</logical_name> + <physical_name>zoomlevel</physical_name> + <type>varchar(n)</type> + </word> + </dictionary> + <tablespace_set> + </tablespace_set> + <contents> + <table> + <id>0</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>620</x> + <y>20</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtccmmnclcode</physical_name> + <logical_name>comtccmmnclcode</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtccmmnclcode_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>111</word_id> + <id>0</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>113</word_id> + <id>1</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>112</word_id> + <id>2</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>3</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>4</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>5</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>6</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>7</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>1</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>920</x> + <y>20</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>0</id> + <source>0</source> + <target>1</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtccmmncode_cl_code_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtccmmncode</physical_name> + <logical_name>comtccmmncode</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtccmmncode_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>138</word_id> + <id>8</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>140</word_id> + <id>9</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>139</word_id> + <id>10</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>11</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>12</id> + <referenced_column>0</referenced_column> + <relation>0</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>13</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>14</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>15</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>16</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtccmmncode_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>12</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>2</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1220</x> + <y>20</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>1</id> + <source>1</source> + <target>2</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtccmmndetailcode_code_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtccmmndetailcode</physical_name> + <logical_name>comtccmmndetailcode</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtccmmndetailcode_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>17</id> + <referenced_column>8</referenced_column> + <relation>1</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>136</word_id> + <id>18</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>141</word_id> + <id>19</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>137</word_id> + <id>20</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>21</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>22</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>23</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>24</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>25</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtccmmndetailcode_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>17</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>3</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1820</x> + <y>20</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtecopseq</physical_name> + <logical_name>comtecopseq</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtecopseq_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>743</word_id> + <id>26</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>439</word_id> + <id>27</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>4</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2420</x> + <y>20</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comthdbmntrngloginfo</physical_name> + <logical_name>comthdbmntrngloginfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comthdbmntrngloginfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>165</word_id> + <id>28</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>700</word_id> + <id>29</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>166</word_id> + <id>30</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>94</word_id> + <id>31</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>406</word_id> + <id>32</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>405</word_id> + <id>33</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>408</word_id> + <id>34</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>374</word_id> + <id>35</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>36</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>37</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>38</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>39</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>40</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>373</word_id> + <id>41</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>5</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2720</x> + <y>20</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>2</id> + <source>70</source> + <target>5</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comthemaildsptchmanage_atch_file_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comthemaildsptchmanage</physical_name> + <logical_name>comthemaildsptchmanage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comthemaildsptchmanage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>411</word_id> + <id>42</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>195</word_id> + <id>43</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>714</word_id> + <id>44</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>576</word_id> + <id>45</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>709</word_id> + <id>46</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>713</word_id> + <id>47</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>190</word_id> + <id>48</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>49</id> + <referenced_column>781</referenced_column> + <relation>2</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comthemaildsptchmanage_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>44</id> + <desc>false</desc> + </column> + </columns> + </inidex> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comthemaildsptchmanage_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>49</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>6</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3020</x> + <y>20</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>3</id> + <source>62</source> + <target>6</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comthemplyrinfochangedtls_emplyr_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comthemplyrinfochangedtls</physical_name> + <logical_name>comthemplyrinfochangedtls</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comthemplyrinfochangedtls_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>50</id> + <referenced_column>645</referenced_column> + <relation>3</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>95</word_id> + <id>51</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>490</word_id> + <id>52</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>287</word_id> + <id>53</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>198</word_id> + <id>54</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>702</word_id> + <id>55</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>89</word_id> + <id>56</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>281</word_id> + <id>57</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>299</word_id> + <id>58</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>300</word_id> + <id>59</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>37</word_id> + <id>60</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>177</word_id> + <id>61</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>835</word_id> + <id>62</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>473</word_id> + <id>63</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>392</word_id> + <id>64</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>193</word_id> + <id>65</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>301</word_id> + <id>66</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>550</word_id> + <id>67</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>197</word_id> + <id>68</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>217</word_id> + <id>69</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comthemplyrinfochangedtls_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>50</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>7</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3320</x> + <y>20</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>4</id> + <source>77</source> + <target>7</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comthhttpmonloginfo_sys_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comthhttpmonloginfo</physical_name> + <logical_name>comthhttpmonloginfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comthhttpmonloginfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>70</id> + <referenced_column>856</referenced_column> + <relation>4</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>708</word_id> + <id>71</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>816</word_id> + <id>72</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>307</word_id> + <id>73</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>74</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>374</word_id> + <id>75</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>406</word_id> + <id>76</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>405</word_id> + <id>77</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>78</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>79</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>80</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>81</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>373</word_id> + <id>82</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>8</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3620</x> + <y>20</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>5</id> + <source>121</source> + <target>8</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comthprogrmchangedtls_progrm_file_nm_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comthprogrmchangedtls</physical_name> + <logical_name>comthprogrmchangedtls</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comthprogrmchangedtls_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>83</id> + <referenced_column>1319</referenced_column> + <relation>5</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>624</word_id> + <id>84</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>658</word_id> + <id>85</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>96</word_id> + <id>86</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>625</word_id> + <id>87</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>482</word_id> + <id>88</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>531</word_id> + <id>89</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>527</word_id> + <id>90</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>657</word_id> + <id>91</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>627</word_id> + <id>92</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comthprogrmchangedtls_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>83</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>9</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>20</x> + <y>320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comthsyshist</physical_name> + <logical_name>comthsyshist</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comthsyshist_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>297</word_id> + <id>93</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>94</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>95</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>96</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>97</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>298</word_id> + <id>98</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>296</word_id> + <id>99</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>741</word_id> + <id>100</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>101</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>10</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>320</x> + <y>320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comthtrsmrcvmntrngloginfo</physical_name> + <logical_name>comthtrsmrcvmntrngloginfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comthtrsmrcvmntrngloginfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>373</word_id> + <id>102</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>125</word_id> + <id>103</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>745</word_id> + <id>104</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>406</word_id> + <id>105</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>405</word_id> + <id>106</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>408</word_id> + <id>107</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>374</word_id> + <id>108</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>109</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>110</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>111</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>112</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>113</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>11</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>620</x> + <y>320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>6</id> + <source>12</source> + <target>11</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnadbk_adbk_id_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnadbk</physical_name> + <logical_name>comtnadbk</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnadbk_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>196</word_id> + <id>114</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>432</word_id> + <id>115</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>116</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>117</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>118</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>119</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>4</word_id> + <id>120</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>440</word_id> + <id>121</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>193</word_id> + <id>122</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>392</word_id> + <id>123</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>281</word_id> + <id>124</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>473</word_id> + <id>125</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>302</word_id> + <id>126</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>127</id> + <referenced_column>128</referenced_column> + <relation>6</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnadbk_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>127</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>12</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>920</x> + <y>320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnadbkmanage</physical_name> + <logical_name>comtnadbkmanage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnadbkmanage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>5</word_id> + <id>128</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>6</word_id> + <id>129</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>495</word_id> + <id>130</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>131</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>832</word_id> + <id>132</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>765</word_id> + <id>133</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>134</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>135</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>136</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>137</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>13</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1220</x> + <y>320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnadministrationword</physical_name> + <logical_name>comtnadministrationword</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnadministrationword_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>11</word_id> + <id>138</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>12</word_id> + <id>139</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>10</word_id> + <id>140</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>7</word_id> + <id>141</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>746</word_id> + <id>142</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>822</word_id> + <id>143</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>601</word_id> + <id>144</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>9</word_id> + <id>145</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>8</word_id> + <id>146</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>147</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>148</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>149</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>150</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>14</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1520</x> + <y>320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnannvrsrymanage</physical_name> + <logical_name>comtnannvrsrymanage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnannvrsrymanage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>18</word_id> + <id>151</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>800</word_id> + <id>152</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>22</word_id> + <id>153</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>19</word_id> + <id>154</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>17</word_id> + <id>155</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>106</word_id> + <id>156</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>21</word_id> + <id>157</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>20</word_id> + <id>158</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>393</word_id> + <id>159</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>160</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>161</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>162</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>163</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>617</word_id> + <id>164</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>15</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1820</x> + <y>320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>7</id> + <source>29</source> + <target>15</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnanswer_bbs_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnanswer</physical_name> + <logical_name>comtnanswer</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnanswer_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>461</word_id> + <id>165</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>166</id> + <referenced_column>303</referenced_column> + <relation>7</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>832</word_id> + <id>167</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>23</word_id> + <id>168</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>169</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>833</word_id> + <id>170</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>171</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>172</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>173</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>174</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>30</word_id> + <id>175</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>16</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2120</x> + <y>320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnauthorgroupinfo</physical_name> + <logical_name>comtnauthorgroupinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnauthorgroupinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>287</word_id> + <id>176</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>288</word_id> + <id>177</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>284</word_id> + <id>178</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>285</word_id> + <id>179</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>17</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2420</x> + <y>320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnauthorinfo</physical_name> + <logical_name>comtnauthorinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnauthorinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>43</word_id> + <id>180</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>46</word_id> + <id>181</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>45</word_id> + <id>182</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>44</word_id> + <id>183</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>18</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2720</x> + <y>320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>8</id> + <source>136</source> + <target>18</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnauthorrolerelate_role_code_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>9</id> + <source>17</source> + <target>18</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnauthorrolerelate_author_code_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnauthorrolerelate</physical_name> + <logical_name>comtnauthorrolerelate</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnauthorrolerelate_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>184</id> + <referenced_column>180</referenced_column> + <relation>9</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>185</id> + <referenced_column>1478</referenced_column> + <relation>8</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>186</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnauthorrolerelate_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>184</id> + <desc>false</desc> + </column> + </columns> + </inidex> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnauthorrolerelate_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>185</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>19</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3020</x> + <y>320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbackupopert</physical_name> + <logical_name>comtnbackupopert</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbackupopert_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>49</word_id> + <id>187</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>50</word_id> + <id>188</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>51</word_id> + <id>189</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>53</word_id> + <id>190</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>119</word_id> + <id>191</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>241</word_id> + <id>192</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>243</word_id> + <id>193</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>245</word_id> + <id>194</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>246</word_id> + <id>195</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>247</word_id> + <id>196</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>197</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>198</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>199</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>200</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>201</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>20</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3320</x> + <y>320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbackupresult</physical_name> + <logical_name>comtnbackupresult</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbackupresult_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>52</word_id> + <id>202</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>49</word_id> + <id>203</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>48</word_id> + <id>204</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>728</word_id> + <id>205</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>214</word_id> + <id>206</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>240</word_id> + <id>207</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>242</word_id> + <id>208</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>209</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>210</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>211</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>212</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>21</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3620</x> + <y>320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>10</id> + <source>19</source> + <target>21</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnbackupschduldfk_backup_opert_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnbackupschduldfk</physical_name> + <logical_name>comtnbackupschduldfk</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbackupschduldfk_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>213</id> + <referenced_column>187</referenced_column> + <relation>10</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>244</word_id> + <id>214</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>22</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>20</x> + <y>620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbanner</physical_name> + <logical_name>comtnbanner</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbanner_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>55</word_id> + <id>215</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>58</word_id> + <id>216</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>367</word_id> + <id>217</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>56</word_id> + <id>218</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>54</word_id> + <id>219</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>594</word_id> + <id>220</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>221</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>222</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>223</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>224</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>57</word_id> + <id>225</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>715</word_id> + <id>226</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>23</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>320</x> + <y>620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbatchopert</physical_name> + <logical_name>comtnbatchopert</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbatchopert_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>59</word_id> + <id>227</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>60</word_id> + <id>228</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>61</word_id> + <id>229</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>498</word_id> + <id>230</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>231</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>232</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>233</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>234</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>235</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>24</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>620</x> + <y>620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbatchresult</physical_name> + <logical_name>comtnbatchresult</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbatchresult_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>62</word_id> + <id>236</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>63</word_id> + <id>237</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>59</word_id> + <id>238</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>498</word_id> + <id>239</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>728</word_id> + <id>240</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>214</word_id> + <id>241</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>240</word_id> + <id>242</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>242</word_id> + <id>243</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>244</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>245</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>246</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>247</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>25</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>920</x> + <y>620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbatchschdul</physical_name> + <logical_name>comtnbatchschdul</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbatchschdul_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>63</word_id> + <id>248</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>59</word_id> + <id>249</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>241</word_id> + <id>250</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>243</word_id> + <id>251</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>245</word_id> + <id>252</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>246</word_id> + <id>253</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>247</word_id> + <id>254</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>255</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>256</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>257</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>258</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>26</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1220</x> + <y>620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>11</id> + <source>25</source> + <target>26</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnbatchschduldfk_batch_schdul_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnbatchschduldfk</physical_name> + <logical_name>comtnbatchschduldfk</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbatchschduldfk_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>259</id> + <referenced_column>248</referenced_column> + <relation>11</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>244</word_id> + <id>260</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>27</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1520</x> + <y>620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>12</id> + <source>28</source> + <target>27</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnbbs_bbs_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnbbs</physical_name> + <logical_name>comtnbbs</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbbs_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>461</word_id> + <id>261</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>262</id> + <referenced_column>286</referenced_column> + <relation>12</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>462</word_id> + <id>263</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>463</word_id> + <id>264</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>460</word_id> + <id>265</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>24</word_id> + <id>266</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>499</word_id> + <id>267</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>29</word_id> + <id>268</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>715</word_id> + <id>269</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>578</word_id> + <id>270</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>271</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>450</word_id> + <id>272</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>453</word_id> + <id>273</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>458</word_id> + <id>274</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>459</word_id> + <id>275</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>504</word_id> + <id>276</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>277</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>448</word_id> + <id>278</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>710</word_id> + <id>279</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>691</word_id> + <id>280</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>281</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>282</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>283</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>284</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>81</word_id> + <id>285</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnbbs_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>262</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>28</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1820</x> + <y>620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbbsmaster</physical_name> + <logical_name>comtnbbsmaster</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbbsmaster_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>65</word_id> + <id>286</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>67</word_id> + <id>287</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>66</word_id> + <id>288</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>68</word_id> + <id>289</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>603</word_id> + <id>290</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>256</word_id> + <id>291</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>39</word_id> + <id>292</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>40</word_id> + <id>293</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>294</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>751</word_id> + <id>295</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>115</word_id> + <id>296</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>297</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>298</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>299</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>300</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>81</word_id> + <id>301</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>80</word_id> + <id>302</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>29</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2120</x> + <y>620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbbsmasteroptn</physical_name> + <logical_name>comtnbbsmasteroptn</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbbsmasteroptn_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>65</word_id> + <id>303</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>24</word_id> + <id>304</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>725</word_id> + <id>305</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>306</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>307</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>308</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>309</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>30</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2420</x> + <y>620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>13</id> + <source>28</source> + <target>30</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnbbsuse_bbs_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnbbsuse</physical_name> + <logical_name>comtnbbsuse</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbbsuse_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>310</id> + <referenced_column>286</referenced_column> + <relation>13</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>763</word_id> + <id>311</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>312</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>596</word_id> + <id>313</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>314</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>315</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>316</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>317</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnbbsuse_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>310</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>31</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2720</x> + <y>620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbkmkmenumanageresult</physical_name> + <logical_name>comtnbkmkmenumanageresult</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbkmkmenumanageresult_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>395</word_id> + <id>318</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>319</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>396</word_id> + <id>320</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>539</word_id> + <id>321</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>32</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3020</x> + <y>620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnblog</physical_name> + <logical_name>comtnblog</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnblog_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>81</word_id> + <id>322</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>83</word_id> + <id>323</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>82</word_id> + <id>324</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>325</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>596</word_id> + <id>326</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>750</word_id> + <id>327</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>328</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>329</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>330</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>331</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>64</word_id> + <id>332</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value>NULL::bpchar</default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>80</word_id> + <id>333</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value>NULL::bpchar</default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>33</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3320</x> + <y>620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>14</id> + <source>32</source> + <target>33</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnbloguser_blog_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnbloguser</physical_name> + <logical_name>comtnbloguser</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbloguser_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>334</id> + <referenced_column>322</referenced_column> + <relation>14</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>335</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>404</word_id> + <id>336</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>390</word_id> + <id>337</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>675</word_id> + <id>338</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>692</word_id> + <id>339</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>340</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>341</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>275</word_id> + <id>342</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>343</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>361</word_id> + <id>344</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>34</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3620</x> + <y>620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbndtceckmanage</physical_name> + <logical_name>comtnbndtceckmanage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbndtceckmanage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>86</word_id> + <id>345</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>84</word_id> + <id>346</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>85</word_id> + <id>347</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>348</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>349</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>350</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>351</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>352</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>35</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>20</x> + <y>920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>15</id> + <source>36</source> + <target>35</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnbndtdiary_bndt_id_bndt_de_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>16</id> + <source>34</source> + <target>35</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnbndtdiary_bndt_ceck_code_bndt_ceck_se_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnbndtdiary</physical_name> + <logical_name>comtnbndtdiary</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbndtdiary_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>353</id> + <referenced_column>362</referenced_column> + <relation>15</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>354</id> + <referenced_column>363</referenced_column> + <relation>15</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>355</id> + <referenced_column>345</referenced_column> + <relation>16</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>356</id> + <referenced_column>346</referenced_column> + <relation>16</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>101</word_id> + <id>357</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>358</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>359</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>360</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>361</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>36</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>320</x> + <y>920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbndtmanage</physical_name> + <logical_name>comtnbndtmanage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnbndtmanage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>88</word_id> + <id>362</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>87</word_id> + <id>363</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>646</word_id> + <id>364</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>365</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>366</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>367</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>368</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>37</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>620</x> + <y>920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnclub</physical_name> + <logical_name>comtnclub</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnclub_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>103</word_id> + <id>369</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>115</word_id> + <id>370</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>105</word_id> + <id>371</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>104</word_id> + <id>372</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>373</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>596</word_id> + <id>374</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>751</word_id> + <id>375</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>376</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>377</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>378</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>379</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>38</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>920</x> + <y>920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>17</id> + <source>37</source> + <target>38</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnclubuser_clb_id_cmmnty_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnclubuser</physical_name> + <logical_name>comtnclubuser</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnclubuser_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>380</id> + <referenced_column>369</referenced_column> + <relation>17</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>381</id> + <referenced_column>370</referenced_column> + <relation>17</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>485</word_id> + <id>382</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>675</word_id> + <id>383</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>692</word_id> + <id>384</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>385</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>386</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>387</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>388</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>389</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>390</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnclubuser_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>380</id> + <desc>false</desc> + </column> + <column> + <id>381</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>39</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1220</x> + <y>920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtncmmnty</physical_name> + <logical_name>comtncmmnty</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtncmmnty_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>115</word_id> + <id>391</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>117</word_id> + <id>392</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>116</word_id> + <id>393</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>394</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>596</word_id> + <id>395</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>751</word_id> + <id>396</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>397</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>398</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>399</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>400</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>40</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1520</x> + <y>920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>18</id> + <source>39</source> + <target>40</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtncmmntyuser_cmmnty_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtncmmntyuser</physical_name> + <logical_name>comtncmmntyuser</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtncmmntyuser_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>401</id> + <referenced_column>391</referenced_column> + <relation>18</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>402</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>404</word_id> + <id>403</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>389</word_id> + <id>404</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>675</word_id> + <id>405</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>692</word_id> + <id>406</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>407</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>408</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>409</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>410</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>411</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtncmmntyuser_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>401</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>41</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1820</x> + <y>920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtncnsltlist</physical_name> + <logical_name>comtncnsltlist</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtncnsltlist_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>121</word_id> + <id>412</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>122</word_id> + <id>413</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>494</word_id> + <id>414</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>193</word_id> + <id>415</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>120</word_id> + <id>416</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>378</word_id> + <id>417</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>379</word_id> + <id>418</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>578</word_id> + <id>419</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>420</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>421</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>422</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>423</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>424</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>37</word_id> + <id>425</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>401</word_id> + <id>426</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>201</word_id> + <id>427</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>274</word_id> + <id>428</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>400</word_id> + <id>429</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>200</word_id> + <id>430</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>823</word_id> + <id>431</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>833</word_id> + <id>432</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>194</word_id> + <id>433</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>557</word_id> + <id>434</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>824</word_id> + <id>435</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>42</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2120</x> + <y>920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtncntcinstt</physical_name> + <logical_name>comtncntcinstt</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtncntcinstt_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>338</word_id> + <id>436</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>339</word_id> + <id>437</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>438</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>439</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>440</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>441</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>442</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>43</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2420</x> + <y>920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtncntcmessage</physical_name> + <logical_name>comtncntcmessage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtncntcmessage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>126</word_id> + <id>443</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>127</word_id> + <id>444</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>792</word_id> + <id>445</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>446</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>447</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>448</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>449</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>450</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>44</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2720</x> + <y>920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>19</id> + <source>43</source> + <target>44</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtncntcmessageitem_cntc_mssage_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtncntcmessageitem</physical_name> + <logical_name>comtncntcmessageitem</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtncntcmessageitem_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>451</id> + <referenced_column>443</referenced_column> + <relation>19</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>312</word_id> + <id>452</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>314</word_id> + <id>453</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>316</word_id> + <id>454</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>313</word_id> + <id>455</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>456</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>457</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>458</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>459</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>460</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtncntcmessageitem_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>451</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>45</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3020</x> + <y>920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtncntcservice</physical_name> + <logical_name>comtncntcservice</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtncntcservice_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>338</word_id> + <id>461</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>739</word_id> + <id>462</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>731</word_id> + <id>463</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>733</word_id> + <id>464</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>623</word_id> + <id>465</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>663</word_id> + <id>466</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>467</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>468</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>469</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>470</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>471</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>46</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3320</x> + <y>920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtncntcsystem</physical_name> + <logical_name>comtncntcsystem</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtncntcsystem_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>338</word_id> + <id>472</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>739</word_id> + <id>473</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>741</word_id> + <id>474</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>740</word_id> + <id>475</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>476</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>477</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>478</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>479</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>480</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>47</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3620</x> + <y>920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>20</id> + <source>80</source> + <target>47</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtncntntslist_emplyr_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>21</id> + <source>79</source> + <target>47</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtncntntslist_cntnts_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtncntntslist</physical_name> + <logical_name>comtncntntslist</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtncntntslist_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>481</id> + <referenced_column>875</referenced_column> + <relation>21</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>482</id> + <referenced_column>881</referenced_column> + <relation>20</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtncntntslist_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>481</id> + <desc>false</desc> + </column> + </columns> + </inidex> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtncntntslist_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>482</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>48</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>20</x> + <y>1220</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>22</id> + <source>27</source> + <target>48</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtncomment_ntt_id_bbs_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtncomment</physical_name> + <logical_name>comtncomment</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtncomment_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>483</id> + <referenced_column>261</referenced_column> + <relation>22</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>484</id> + <referenced_column>262</referenced_column> + <relation>22</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>31</word_id> + <id>485</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>832</word_id> + <id>486</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>833</word_id> + <id>487</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>23</word_id> + <id>488</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>489</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>490</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>491</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>492</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>493</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>504</word_id> + <id>494</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtncomment_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>483</id> + <desc>false</desc> + </column> + <column> + <id>484</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>49</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>320</x> + <y>1220</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtncommute</physical_name> + <logical_name>comtncommute</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtncommute_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>825</word_id> + <id>495</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>496</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>491</word_id> + <id>497</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>826</word_id> + <id>498</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>831</word_id> + <id>499</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>828</word_id> + <id>500</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>829</word_id> + <id>501</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>497</word_id> + <id>502</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>830</word_id> + <id>503</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>827</word_id> + <id>504</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>645</word_id> + <id>505</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>506</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>507</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>508</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>509</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>50</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>620</x> + <y>1220</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtncpyrhtinfo</physical_name> + <logical_name>comtncpyrhtinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtncpyrhtinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>152</word_id> + <id>510</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>153</word_id> + <id>511</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>512</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>513</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>514</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>515</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>51</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>920</x> + <y>1220</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnctsnnmanage</physical_name> + <logical_name>comtnctsnnmanage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnctsnnmanage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>161</word_id> + <id>516</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>800</word_id> + <id>517</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>160</word_id> + <id>518</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>619</word_id> + <id>519</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>162</word_id> + <id>520</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>769</word_id> + <id>521</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>89</word_id> + <id>522</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>468</word_id> + <id>523</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>598</word_id> + <id>524</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>646</word_id> + <id>525</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>673</word_id> + <id>526</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>147</word_id> + <id>527</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>674</word_id> + <id>528</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>643</word_id> + <id>529</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>333</word_id> + <id>530</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>531</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>532</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>533</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>534</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>52</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1220</x> + <y>1220</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtndamcalres</physical_name> + <logical_name>comtndamcalres</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtndamcalres_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>490</word_id> + <id>535</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>251</word_id> + <id>536</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>354</word_id> + <id>537</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>538</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>353</word_id> + <id>539</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>350</word_id> + <id>540</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>541</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>500</word_id> + <id>542</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>27</word_id> + <id>543</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>32</word_id> + <id>544</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>28</word_id> + <id>545</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>546</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>547</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>548</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>549</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>352</word_id> + <id>550</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>53</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1520</x> + <y>1220</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtndamknoifm</physical_name> + <logical_name>comtndamknoifm</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtndamknoifm_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>352</word_id> + <id>551</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>354</word_id> + <id>552</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>490</word_id> + <id>553</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>251</word_id> + <id>554</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>555</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>353</word_id> + <id>556</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>350</word_id> + <id>557</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>357</word_id> + <id>558</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>494</word_id> + <id>559</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>351</word_id> + <id>560</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>142</word_id> + <id>561</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>239</word_id> + <id>562</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>563</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>564</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>565</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>566</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>567</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>191</word_id> + <id>568</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>54</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1820</x> + <y>1220</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtndammapkno</physical_name> + <logical_name>comtndammapkno</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtndammapkno_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>354</word_id> + <id>569</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>490</word_id> + <id>570</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>251</word_id> + <id>571</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>355</word_id> + <id>572</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>114</word_id> + <id>573</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>356</word_id> + <id>574</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>575</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>576</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>577</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>578</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>55</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2120</x> + <y>1220</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtndammapteam</physical_name> + <logical_name>comtndammapteam</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtndammapteam_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>490</word_id> + <id>579</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>492</word_id> + <id>580</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>114</word_id> + <id>581</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>356</word_id> + <id>582</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>583</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>584</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>56</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2420</x> + <y>1220</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>23</id> + <source>54</source> + <target>56</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtndampro_knwldg_ty_code_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtndampro</physical_name> + <logical_name>comtndampro</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtndampro_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>251</word_id> + <id>585</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>586</id> + <referenced_column>569</referenced_column> + <relation>23</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>250</word_id> + <id>587</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>248</word_id> + <id>588</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>589</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>590</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>591</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>592</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>249</word_id> + <id>593</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>57</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2720</x> + <y>1220</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtndbmntrng</physical_name> + <logical_name>comtndbmntrng</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtndbmntrng_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>165</word_id> + <id>594</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>700</word_id> + <id>595</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>166</word_id> + <id>596</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>94</word_id> + <id>597</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>406</word_id> + <id>598</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>405</word_id> + <id>599</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>408</word_id> + <id>600</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>601</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>602</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>603</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>604</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>605</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>58</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3020</x> + <y>1220</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtndeptjob</physical_name> + <logical_name>comtndeptjob</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtndeptjob_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>174</word_id> + <id>606</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>171</word_id> + <id>607</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>175</word_id> + <id>608</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>173</word_id> + <id>609</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>610</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>99</word_id> + <id>611</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>525</word_id> + <id>612</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>613</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>614</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>615</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>616</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>59</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3320</x> + <y>1220</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtndeptjobbx</physical_name> + <logical_name>comtndeptjobbx</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtndeptjobbx_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>171</word_id> + <id>617</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>172</word_id> + <id>618</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>170</word_id> + <id>619</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>325</word_id> + <id>620</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>621</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>622</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>623</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>624</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>60</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3620</x> + <y>1220</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>24</id> + <source>141</source> + <target>60</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtndiaryinfo_schdul_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtndiaryinfo</physical_name> + <logical_name>comtndiaryinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtndiaryinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>625</id> + <referenced_column>1534</referenced_column> + <relation>24</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>180</word_id> + <id>626</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>182</word_id> + <id>627</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>181</word_id> + <id>628</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>188</word_id> + <id>629</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>501</word_id> + <id>630</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>631</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>632</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>633</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>634</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>635</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtndiaryinfo_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>625</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>61</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>20</x> + <y>1520</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtndtausestats</physical_name> + <logical_name>comtndtausestats</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtndtausestats_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>192</word_id> + <id>636</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>65</word_id> + <id>637</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>461</word_id> + <id>638</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>639</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>265</word_id> + <id>640</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>641</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>642</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>643</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>644</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>62</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>320</x> + <y>1520</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>25</id> + <source>116</source> + <target>62</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnemplyrinfo_orgnzt_id_fkey</name> + <on_delete_action>SET NULL</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>26</id> + <source>16</source> + <target>62</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnemplyrinfo_group_id_fkey</name> + <on_delete_action>SET NULL</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnemplyrinfo</physical_name> + <logical_name>comtnemplyrinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnemplyrinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>196</word_id> + <id>645</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>646</id> + <referenced_column>1273</referenced_column> + <relation>25</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>802</word_id> + <id>647</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>504</word_id> + <id>648</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>198</word_id> + <id>649</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>317</word_id> + <id>650</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>702</word_id> + <id>651</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>89</word_id> + <id>652</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>281</word_id> + <id>653</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>299</word_id> + <id>654</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>506</word_id> + <id>655</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>505</word_id> + <id>656</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>300</word_id> + <id>657</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>37</word_id> + <id>658</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>177</word_id> + <id>659</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>835</word_id> + <id>660</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>473</word_id> + <id>661</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>392</word_id> + <id>662</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>193</word_id> + <id>663</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>472</word_id> + <id>664</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>301</word_id> + <id>665</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>666</id> + <referenced_column>176</referenced_column> + <relation>26</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>550</word_id> + <id>667</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>197</word_id> + <id>668</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>217</word_id> + <id>669</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>158</word_id> + <id>670</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>675</word_id> + <id>671</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>370</word_id> + <id>672</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>371</word_id> + <id>673</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>372</word_id> + <id>674</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>102</word_id> + <id>675</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnemplyrinfo_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>646</id> + <desc>false</desc> + </column> + </columns> + </inidex> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnemplyrinfo_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>666</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>63</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>620</x> + <y>1520</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnemplyrscrtyestbs</physical_name> + <logical_name>comtnemplyrscrtyestbs</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnemplyrscrtyestbs_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>690</word_id> + <id>676</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>391</word_id> + <id>677</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>43</word_id> + <id>678</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnemplyrscrtyestbs_i04</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>678</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>64</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>920</x> + <y>1520</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>27</id> + <source>16</source> + <target>64</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnentrprsmber_group_id_fkey</name> + <on_delete_action>SET NULL</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnentrprsmber</physical_name> + <logical_name>comtnentrprsmber</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnentrprsmber_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>204</word_id> + <id>679</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>210</word_id> + <id>680</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>79</word_id> + <id>681</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>349</word_id> + <id>682</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>118</word_id> + <id>683</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>164</word_id> + <id>684</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>835</word_id> + <id>685</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>13</word_id> + <id>686</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>209</word_id> + <id>687</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>281</word_id> + <id>688</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>326</word_id> + <id>689</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>36</word_id> + <id>690</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>35</word_id> + <id>691</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>675</word_id> + <id>692</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>208</word_id> + <id>693</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>205</word_id> + <id>694</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>207</word_id> + <id>695</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>206</word_id> + <id>696</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>697</id> + <referenced_column>176</referenced_column> + <relation>27</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>177</word_id> + <id>698</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>203</word_id> + <id>699</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>37</word_id> + <id>700</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>33</word_id> + <id>701</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>217</word_id> + <id>702</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>370</word_id> + <id>703</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>371</word_id> + <id>704</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>372</word_id> + <id>705</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>102</word_id> + <id>706</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnentrprsmber_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>697</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>65</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1220</x> + <y>1520</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>28</id> + <source>67</source> + <target>65</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtneventatdrn_event_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtneventatdrn</physical_name> + <logical_name>comtneventatdrn</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtneventatdrn_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>34</word_id> + <id>707</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>708</id> + <referenced_column>735</referenced_column> + <relation>28</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>619</word_id> + <id>709</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>673</word_id> + <id>710</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>147</word_id> + <id>711</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>674</word_id> + <id>712</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>643</word_id> + <id>713</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>333</word_id> + <id>714</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>715</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>716</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>717</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>718</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtneventatdrn_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>708</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>66</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1520</x> + <y>1520</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtneventinfo</physical_name> + <logical_name>comtneventinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtneventinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>230</word_id> + <id>719</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>92</word_id> + <id>720</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>91</word_id> + <id>721</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>226</word_id> + <id>722</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>236</word_id> + <id>723</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>736</word_id> + <id>724</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>100</word_id> + <id>725</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>547</word_id> + <id>726</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>727</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>728</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>729</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>730</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>237</word_id> + <id>731</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>238</word_id> + <id>732</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>227</word_id> + <id>733</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>228</word_id> + <id>734</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>67</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1820</x> + <y>1520</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtneventmanage</physical_name> + <logical_name>comtneventmanage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtneventmanage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>230</word_id> + <id>735</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>235</word_id> + <id>736</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>232</word_id> + <id>737</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>234</word_id> + <id>738</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>225</word_id> + <id>739</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>229</word_id> + <id>740</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>224</word_id> + <id>741</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>231</word_id> + <id>742</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>233</word_id> + <id>743</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>226</word_id> + <id>744</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>163</word_id> + <id>745</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>502</word_id> + <id>746</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>549</word_id> + <id>747</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>595</word_id> + <id>748</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>574</word_id> + <id>749</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>575</word_id> + <id>750</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>751</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>752</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>753</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>754</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>68</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2120</x> + <y>1520</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>29</id> + <source>66</source> + <target>68</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnextrlhrinfo_event_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnextrlhrinfo</physical_name> + <logical_name>comtnextrlhrinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnextrlhrinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>755</id> + <referenced_column>719</referenced_column> + <relation>29</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>252</word_id> + <id>756</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>702</word_id> + <id>757</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>253</word_id> + <id>758</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>466</word_id> + <id>759</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>548</word_id> + <id>760</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>89</word_id> + <id>761</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>37</word_id> + <id>762</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>401</word_id> + <id>763</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>201</word_id> + <id>764</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>193</word_id> + <id>765</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>766</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>767</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>768</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>769</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnextrlhrinfo_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>755</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>69</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2420</x> + <y>1520</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>30</id> + <source>70</source> + <target>69</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnfaqinfo_atch_file_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnfaqinfo</physical_name> + <logical_name>comtnfaqinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnfaqinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>255</word_id> + <id>770</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>554</word_id> + <id>771</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>553</word_id> + <id>772</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>25</word_id> + <id>773</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>578</word_id> + <id>774</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>775</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>776</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>777</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>778</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>779</id> + <referenced_column>781</referenced_column> + <relation>30</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>557</word_id> + <id>780</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnfaqinfo_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>779</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>70</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2720</x> + <y>1520</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnfile</physical_name> + <logical_name>comtnfile</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnfile_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>38</word_id> + <id>781</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>782</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>783</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>71</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3020</x> + <y>1520</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>31</id> + <source>70</source> + <target>71</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnfiledetail_atch_file_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnfiledetail</physical_name> + <logical_name>comtnfiledetail</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnfiledetail_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>784</id> + <referenced_column>781</referenced_column> + <relation>31</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>265</word_id> + <id>785</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>266</word_id> + <id>786</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>723</word_id> + <id>787</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>493</word_id> + <id>788</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>258</word_id> + <id>789</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>257</word_id> + <id>790</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>264</word_id> + <id>791</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnfiledetail_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>784</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>72</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3320</x> + <y>1520</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnfilesysmntrng</physical_name> + <logical_name>comtnfilesysmntrng</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnfilesysmntrng_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>267</word_id> + <id>792</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>269</word_id> + <id>793</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>268</word_id> + <id>794</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>270</word_id> + <id>795</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>271</word_id> + <id>796</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>272</word_id> + <id>797</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>406</word_id> + <id>798</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>405</word_id> + <id>799</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>408</word_id> + <id>800</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>801</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>802</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>803</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>804</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>805</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>73</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3620</x> + <y>1520</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>32</id> + <source>72</source> + <target>73</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnfilesysmntrngloginfo_file_sys_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnfilesysmntrngloginfo</physical_name> + <logical_name>comtnfilesysmntrngloginfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnfilesysmntrngloginfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>806</id> + <referenced_column>792</referenced_column> + <relation>32</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>269</word_id> + <id>807</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>268</word_id> + <id>808</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>270</word_id> + <id>809</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>271</word_id> + <id>810</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>272</word_id> + <id>811</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>408</word_id> + <id>812</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>374</word_id> + <id>813</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>814</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>815</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>816</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>817</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>818</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>373</word_id> + <id>819</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>74</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>20</x> + <y>1820</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnfxtrsmanage</physical_name> + <logical_name>comtnfxtrsmanage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnfxtrsmanage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>282</word_id> + <id>820</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>283</word_id> + <id>821</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>376</word_id> + <id>822</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>524</word_id> + <id>823</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>75</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>320</x> + <y>1820</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>33</id> + <source>16</source> + <target>75</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtngnrlmber_group_id_fkey</name> + <on_delete_action>SET NULL</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtngnrlmber</physical_name> + <logical_name>comtngnrlmber</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtngnrlmber_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>387</word_id> + <id>824</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>504</word_id> + <id>825</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>506</word_id> + <id>826</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>505</word_id> + <id>827</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>317</word_id> + <id>828</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>388</word_id> + <id>829</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>835</word_id> + <id>830</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>13</word_id> + <id>831</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>37</word_id> + <id>832</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>390</word_id> + <id>833</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>177</word_id> + <id>834</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>201</word_id> + <id>835</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>392</word_id> + <id>836</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>837</id> + <referenced_column>176</referenced_column> + <relation>33</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>386</word_id> + <id>838</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>385</word_id> + <id>839</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>401</word_id> + <id>840</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>675</word_id> + <id>841</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>702</word_id> + <id>842</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>217</word_id> + <id>843</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>370</word_id> + <id>844</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>371</word_id> + <id>845</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>372</word_id> + <id>846</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>102</word_id> + <id>847</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtngnrlmber_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>837</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>76</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>620</x> + <y>1820</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnhpcminfo</physical_name> + <logical_name>comtnhpcminfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnhpcminfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>305</word_id> + <id>848</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>306</word_id> + <id>849</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>304</word_id> + <id>850</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>303</word_id> + <id>851</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>852</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>853</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>854</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>855</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>77</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>920</x> + <y>1820</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnhttpmon</physical_name> + <logical_name>comtnhttpmon</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnhttpmon_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>739</word_id> + <id>856</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>708</word_id> + <id>857</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>816</word_id> + <id>858</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>307</word_id> + <id>859</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>860</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>406</word_id> + <id>861</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>405</word_id> + <id>862</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>863</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>864</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>865</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>866</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>78</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1220</x> + <y>1820</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnindvdlinfopolicy</physical_name> + <logical_name>comtnindvdlinfopolicy</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnindvdlinfopolicy_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>329</word_id> + <id>867</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>328</word_id> + <id>868</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>327</word_id> + <id>869</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>870</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>871</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>872</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>873</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>330</word_id> + <id>874</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>79</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1520</x> + <y>1820</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnindvdlpgecntnts</physical_name> + <logical_name>comtnindvdlpgecntnts</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnindvdlpgecntnts_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>132</word_id> + <id>875</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>134</word_id> + <id>876</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>130</word_id> + <id>877</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>135</word_id> + <id>878</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>133</word_id> + <id>879</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>131</word_id> + <id>880</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>80</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1820</x> + <y>1820</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnindvdlpgeestbs</physical_name> + <logical_name>comtnindvdlpgeestbs</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnindvdlpgeestbs_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>196</word_id> + <id>881</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>791</word_id> + <id>882</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>748</word_id> + <id>883</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>15</word_id> + <id>884</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>14</word_id> + <id>885</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>81</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2120</x> + <y>1820</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnindvdlyrycmanage</physical_name> + <logical_name>comtnindvdlyrycmanage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnindvdlyrycmanage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>470</word_id> + <id>886</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>834</word_id> + <id>887</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p,s)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>811</word_id> + <id>888</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p,s)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>602</word_id> + <id>889</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p,s)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>890</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>891</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>892</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>893</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>800</word_id> + <id>894</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>82</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2420</x> + <y>1820</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtninfrmlsanctn</physical_name> + <logical_name>comtninfrmlsanctn</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtninfrmlsanctn_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>333</word_id> + <id>895</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>348</word_id> + <id>896</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>34</word_id> + <id>897</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>619</word_id> + <id>898</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>673</word_id> + <id>899</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>147</word_id> + <id>900</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>674</word_id> + <id>901</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>643</word_id> + <id>902</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>903</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>904</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>905</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>906</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>83</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2720</x> + <y>1820</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtninsttcode</physical_name> + <logical_name>comtninsttcode</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtninsttcode_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>337</word_id> + <id>907</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>16</word_id> + <id>908</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>375</word_id> + <id>909</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>336</word_id> + <id>910</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>471</word_id> + <id>911</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>486</word_id> + <id>912</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>340</word_id> + <id>913</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>793</word_id> + <id>914</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>76</word_id> + <id>915</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>610</word_id> + <id>916</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>341</word_id> + <id>917</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>342</word_id> + <id>918</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>343</word_id> + <id>919</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>744</word_id> + <id>920</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>281</word_id> + <id>921</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>156</word_id> + <id>922</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>0</word_id> + <id>923</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>1</word_id> + <id>924</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>95</word_id> + <id>925</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>98</word_id> + <id>926</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>90</word_id> + <id>927</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>715</word_id> + <id>928</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>929</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>930</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>931</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>932</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>84</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3020</x> + <y>1820</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtninsttcoderecptnlog</physical_name> + <logical_name>comtninsttcoderecptnlog</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtninsttcoderecptnlog_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>468</word_id> + <id>933</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>337</word_id> + <id>934</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>481</word_id> + <id>935</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>97</word_id> + <id>936</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>528</word_id> + <id>937</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>221</word_id> + <id>938</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>16</word_id> + <id>939</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>375</word_id> + <id>940</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>336</word_id> + <id>941</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>471</word_id> + <id>942</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>486</word_id> + <id>943</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>340</word_id> + <id>944</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>793</word_id> + <id>945</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>76</word_id> + <id>946</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>610</word_id> + <id>947</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>341</word_id> + <id>948</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>342</word_id> + <id>949</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>343</word_id> + <id>950</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>744</word_id> + <id>951</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>281</word_id> + <id>952</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>156</word_id> + <id>953</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>0</word_id> + <id>954</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>1</word_id> + <id>955</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>95</word_id> + <id>956</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>98</word_id> + <id>957</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>90</word_id> + <id>958</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>715</word_id> + <id>959</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>960</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>961</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>962</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>963</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>85</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3320</x> + <y>1820</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnintnetsvc</physical_name> + <logical_name>comtnintnetsvc</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnintnetsvc_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>345</word_id> + <id>964</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>346</word_id> + <id>965</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>344</word_id> + <id>966</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>594</word_id> + <id>967</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>968</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>969</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>970</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>971</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>86</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3620</x> + <y>1820</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnleaderschdul</physical_name> + <logical_name>comtnleaderschdul</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnleaderschdul_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>682</word_id> + <id>972</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>687</word_id> + <id>973</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>685</word_id> + <id>974</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>678</word_id> + <id>975</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>686</word_id> + <id>976</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>365</word_id> + <id>977</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>618</word_id> + <id>978</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>676</word_id> + <id>979</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>681</word_id> + <id>980</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>677</word_id> + <id>981</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>982</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>983</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>984</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>985</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>87</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>20</x> + <y>2120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>34</id> + <source>86</source> + <target>87</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnleaderschdulde_schdul_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnleaderschdulde</physical_name> + <logical_name>comtnleaderschdulde</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnleaderschdulde_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>986</id> + <referenced_column>972</referenced_column> + <relation>34</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>679</word_id> + <id>987</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>88</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>320</x> + <y>2120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnleadersttus</physical_name> + <logical_name>comtnleadersttus</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnleadersttus_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>365</word_id> + <id>988</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>366</word_id> + <id>989</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>278</word_id> + <id>990</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>991</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>359</word_id> + <id>992</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>993</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>89</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>620</x> + <y>2120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnloginlog</physical_name> + <logical_name>comtnloginlog</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnloginlog_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>373</word_id> + <id>994</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>143</word_id> + <id>995</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>144</word_id> + <id>996</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>145</word_id> + <id>997</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>215</word_id> + <id>998</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>213</word_id> + <id>999</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>1000</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>90</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>920</x> + <y>2120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnloginpolicy</physical_name> + <logical_name>comtnloginpolicy</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnloginpolicy_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>196</word_id> + <id>1001</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>347</word_id> + <id>1002</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>187</word_id> + <id>1003</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>368</word_id> + <id>1004</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1005</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1006</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1007</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1008</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>91</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1220</x> + <y>2120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnloginscrinimage</physical_name> + <logical_name>comtnloginscrinimage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnloginscrinimage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>321</word_id> + <id>1009</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>323</word_id> + <id>1010</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>594</word_id> + <id>1011</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>318</word_id> + <id>1012</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>319</word_id> + <id>1013</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1014</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1015</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1016</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1017</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>320</word_id> + <id>1018</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>92</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1520</x> + <y>2120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnmainimage</physical_name> + <logical_name>comtnmainimage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnmainimage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>321</word_id> + <id>1019</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>323</word_id> + <id>1020</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>318</word_id> + <id>1021</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>319</word_id> + <id>1022</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>594</word_id> + <id>1023</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1024</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1025</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1026</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1027</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>320</word_id> + <id>1028</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>93</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1820</x> + <y>2120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnmemoreprt</physical_name> + <logical_name>comtnmemoreprt</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnmemoreprt_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>614</word_id> + <id>1029</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>608</word_id> + <id>1030</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>832</word_id> + <id>1031</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>604</word_id> + <id>1032</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>607</word_id> + <id>1033</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>1034</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>188</word_id> + <id>1035</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>189</word_id> + <id>1036</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>605</word_id> + <id>1037</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1038</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1039</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1040</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1041</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>611</word_id> + <id>1042</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>94</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2120</x> + <y>2120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnmemotodo</physical_name> + <logical_name>comtnmemotodo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnmemotodo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>757</word_id> + <id>1043</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>758</word_id> + <id>1044</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>754</word_id> + <id>1045</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>756</word_id> + <id>1046</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>832</word_id> + <id>1047</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>755</word_id> + <id>1048</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1049</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1050</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1051</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1052</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>95</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2420</x> + <y>2120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>35</id> + <source>96</source> + <target>95</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmenucreatdtls_menu_no_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>36</id> + <source>17</source> + <target>95</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmenucreatdtls_author_code_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>37</id> + <source>148</source> + <target>95</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmenucreatdtls_mapng_creat_id_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnmenucreatdtls</physical_name> + <logical_name>comtnmenucreatdtls</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnmenucreatdtls_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1053</id> + <referenced_column>1058</referenced_column> + <relation>35</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1054</id> + <referenced_column>180</referenced_column> + <relation>36</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1055</id> + <referenced_column>1612</referenced_column> + <relation>37</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnmenucreatdtls_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1053</id> + <desc>false</desc> + </column> + </columns> + </inidex> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnmenucreatdtls_i03</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1055</id> + <desc>false</desc> + </column> + </columns> + </inidex> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnmenucreatdtls_i04</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1054</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>96</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2720</x> + <y>2120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>38</id> + <source>121</source> + <target>96</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmenuinfo_progrm_file_nm_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>39</id> + <source>96</source> + <target>96</target> + <source_xp>100</source_xp> + <source_yp>50</source_yp> + <target_xp>50</target_xp> + <target_yp>100</target_yp> + <bendpoint> + <relative>true</relative> + <x>100</x> + <y>100</y> + </bendpoint> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmenuinfo_upper_menu_no_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnmenuinfo</physical_name> + <logical_name>comtnmenuinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnmenuinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>396</word_id> + <id>1056</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1057</id> + <referenced_column>1319</referenced_column> + <relation>38</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>397</word_id> + <id>1058</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1059</id> + <referenced_column>1058</referenced_column> + <relation>39</relation> + <description>상위메뉴번호</description> + <unique_key_name></unique_key_name> + <logical_name>상위메뉴번호</logical_name> + <physical_name>upper_menu_no</physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>398</word_id> + <id>1060</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>394</word_id> + <id>1061</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>600</word_id> + <id>1062</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>599</word_id> + <id>1063</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnmenuinfo_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1059</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>97</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3020</x> + <y>2120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnmtginfo</physical_name> + <logical_name>comtnmtginfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnmtginfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>420</word_id> + <id>1064</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>422</word_id> + <id>1065</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>421</word_id> + <id>1066</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>427</word_id> + <id>1067</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>417</word_id> + <id>1068</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>418</word_id> + <id>1069</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>423</word_id> + <id>1070</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>415</word_id> + <id>1071</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>419</word_id> + <id>1072</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>109</word_id> + <id>1073</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>582</word_id> + <id>1074</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>581</word_id> + <id>1075</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>424</word_id> + <id>1076</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>425</word_id> + <id>1077</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>223</word_id> + <id>1078</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>407</word_id> + <id>1079</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>403</word_id> + <id>1080</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>402</word_id> + <id>1081</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>414</word_id> + <id>1082</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>441</word_id> + <id>1083</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>41</word_id> + <id>1084</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1085</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1086</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1087</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1088</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>98</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3320</x> + <y>2120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>40</id> + <source>74</source> + <target>98</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmtgplacefxtrs_fxtrs_code_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>41</id> + <source>99</source> + <target>98</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmtgplacefxtrs_mtgrum_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnmtgplacefxtrs</physical_name> + <logical_name>comtnmtgplacefxtrs</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnmtgplacefxtrs_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1089</id> + <referenced_column>1096</referenced_column> + <relation>41</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1090</id> + <referenced_column>820</referenced_column> + <relation>40</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>573</word_id> + <id>1091</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1092</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1093</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1094</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1095</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnmtgplacefxtrs_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1089</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>99</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3620</x> + <y>2120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnmtgplacemanage</physical_name> + <logical_name>comtnmtgplacemanage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnmtgplacemanage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>412</word_id> + <id>1096</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>413</word_id> + <id>1097</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>483</word_id> + <id>1098</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>484</word_id> + <id>1099</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>2</word_id> + <id>1100</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>364</word_id> + <id>1101</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>363</word_id> + <id>1102</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>1103</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1104</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1105</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1106</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1107</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>100</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>20</x> + <y>2420</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>42</id> + <source>99</source> + <target>100</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmtgplaceresve_mtgrum_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnmtgplaceresve</physical_name> + <logical_name>comtnmtgplaceresve</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnmtgplaceresve_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>642</word_id> + <id>1108</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1109</id> + <referenced_column>1096</referenced_column> + <relation>42</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>426</word_id> + <id>1110</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>667</word_id> + <id>1111</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>640</word_id> + <id>1112</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>639</word_id> + <id>1113</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>641</word_id> + <id>1114</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>42</word_id> + <id>1115</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>416</word_id> + <id>1116</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1117</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1118</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1119</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1120</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnmtgplaceresve_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1109</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>101</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>320</x> + <y>2420</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnncrd</physical_name> + <logical_name>comtnncrd</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnncrd_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>432</word_id> + <id>1121</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>433</word_id> + <id>1122</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>440</word_id> + <id>1123</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>744</word_id> + <id>1124</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>431</word_id> + <id>1125</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>37</word_id> + <id>1126</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>401</word_id> + <id>1127</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>201</word_id> + <id>1128</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>392</word_id> + <id>1129</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>310</word_id> + <id>1130</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>400</word_id> + <id>1131</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>200</word_id> + <id>1132</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>193</word_id> + <id>1133</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>118</word_id> + <id>1134</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>176</word_id> + <id>1135</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>13</word_id> + <id>1136</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>177</word_id> + <id>1137</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>472</word_id> + <id>1138</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>110</word_id> + <id>1139</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>254</word_id> + <id>1140</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>494</word_id> + <id>1141</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>646</word_id> + <id>1142</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1143</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1144</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1145</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1146</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>102</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>620</x> + <y>2420</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>43</id> + <source>101</source> + <target>102</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnncrduser_ncrd_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnncrduser</physical_name> + <logical_name>comtnncrduser</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnncrduser_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1147</id> + <referenced_column>1121</referenced_column> + <relation>43</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>596</word_id> + <id>1148</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>1149</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>1150</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>1151</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnncrduser_i03</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1147</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>103</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>920</x> + <y>2420</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>44</id> + <source>70</source> + <target>103</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnnewsinfo_atch_file_id_fkey</name> + <on_delete_action>SET NULL</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnnewsinfo</physical_name> + <logical_name>comtnnewsinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnnewsinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>435</word_id> + <id>1152</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>437</word_id> + <id>1153</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>434</word_id> + <id>1154</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>436</word_id> + <id>1155</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>449</word_id> + <id>1156</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1157</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1158</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1159</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1160</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>452</word_id> + <id>1161</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1162</id> + <referenced_column>781</referenced_column> + <relation>44</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnnewsinfo_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1162</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>104</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1220</x> + <y>2420</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnnote</physical_name> + <logical_name>comtnnote</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnnote_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>444</word_id> + <id>1163</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>446</word_id> + <id>1164</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>443</word_id> + <id>1165</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>1166</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1167</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1168</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1169</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1170</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>105</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1520</x> + <y>2420</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>45</id> + <source>106</source> + <target>105</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnnoterecptn_note_id_note_trnsmit_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnnoterecptn</physical_name> + <logical_name>comtnnoterecptn</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnnoterecptn_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1171</id> + <referenced_column>1181</referenced_column> + <relation>45</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1172</id> + <referenced_column>1182</referenced_column> + <relation>45</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>445</word_id> + <id>1173</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>577</word_id> + <id>1174</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>479</word_id> + <id>1175</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>592</word_id> + <id>1176</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1177</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1178</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1179</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1180</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnnoterecptn_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1171</id> + <desc>false</desc> + </column> + <column> + <id>1172</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>106</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1820</x> + <y>2420</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>46</id> + <source>104</source> + <target>106</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnnotetrnsmit_note_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnnotetrnsmit</physical_name> + <logical_name>comtnnotetrnsmit</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnnotetrnsmit_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1181</id> + <referenced_column>1163</referenced_column> + <relation>46</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>447</word_id> + <id>1182</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>772</word_id> + <id>1183</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>167</word_id> + <id>1184</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1185</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1186</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1187</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1188</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnnotetrnsmit_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1181</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>107</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2120</x> + <y>2420</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnntfcinfo</physical_name> + <logical_name>comtnntfcinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnntfcinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>455</word_id> + <id>1189</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>456</word_id> + <id>1190</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>454</word_id> + <id>1191</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>457</word_id> + <id>1192</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>78</word_id> + <id>1193</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1194</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1195</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1196</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1197</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>108</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2420</x> + <y>2420</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnnttstats</physical_name> + <logical_name>comtnnttstats</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnnttstats_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>720</word_id> + <id>1198</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>451</word_id> + <id>1199</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>47</word_id> + <id>1200</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>761</word_id> + <id>1201</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>429</word_id> + <id>1202</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>760</word_id> + <id>1203</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>109</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2720</x> + <y>2420</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnntwrkinfo</physical_name> + <logical_name>comtnntwrkinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnntwrkinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>464</word_id> + <id>1204</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>465</word_id> + <id>1205</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>289</word_id> + <id>1206</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>729</word_id> + <id>1207</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>183</word_id> + <id>1208</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>377</word_id> + <id>1209</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>802</word_id> + <id>1210</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>1211</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>644</word_id> + <id>1212</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1213</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1214</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1215</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1216</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>110</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3020</x> + <y>2420</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnntwrksvcmntrng</physical_name> + <logical_name>comtnntwrksvcmntrng</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnntwrksvcmntrng_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>740</word_id> + <id>1217</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>742</word_id> + <id>1218</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>741</word_id> + <id>1219</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>406</word_id> + <id>1220</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>405</word_id> + <id>1221</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>408</word_id> + <id>1222</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>1223</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1224</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1225</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1226</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1227</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>111</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3320</x> + <y>2420</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>47</id> + <source>110</source> + <target>111</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnntwrksvcmntrngloginfo_sys_ip_sys_port_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnntwrksvcmntrngloginfo</physical_name> + <logical_name>comtnntwrksvcmntrngloginfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnntwrksvcmntrngloginfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1228</id> + <referenced_column>1217</referenced_column> + <relation>47</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1229</id> + <referenced_column>1218</referenced_column> + <relation>47</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>741</word_id> + <id>1230</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>408</word_id> + <id>1231</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>374</word_id> + <id>1232</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>1233</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1234</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1235</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1236</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1237</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>373</word_id> + <id>1238</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>112</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3620</x> + <y>2420</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnonlinemanual</physical_name> + <logical_name>comtnonlinemanual</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnonlinemanual_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>476</word_id> + <id>1239</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>478</word_id> + <id>1240</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>475</word_id> + <id>1241</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>474</word_id> + <id>1242</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1243</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1244</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1245</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1246</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>477</word_id> + <id>1247</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>113</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>20</x> + <y>2720</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>48</id> + <source>114</source> + <target>113</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnonlinepolliem_poll_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnonlinepolliem</physical_name> + <logical_name>comtnonlinepolliem</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnonlinepolliem_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>514</word_id> + <id>1248</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1249</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1250</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1251</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1252</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>513</word_id> + <id>1253</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1254</id> + <referenced_column>1255</referenced_column> + <relation>48</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnonlinepolliem_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1254</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>114</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>320</x> + <y>2720</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnonlinepollmanage</physical_name> + <logical_name>comtnonlinepollmanage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnonlinepollmanage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>512</word_id> + <id>1255</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>516</word_id> + <id>1256</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>509</word_id> + <id>1257</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>511</word_id> + <id>1258</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>515</word_id> + <id>1259</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>510</word_id> + <id>1260</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>508</word_id> + <id>1261</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1262</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1263</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1264</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1265</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>115</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>620</x> + <y>2720</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>49</id> + <source>113</source> + <target>115</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnonlinepollresult_poll_id_poll_iem_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnonlinepollresult</physical_name> + <logical_name>comtnonlinepollresult</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnonlinepollresult_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>517</word_id> + <id>1266</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1267</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1268</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1269</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1270</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1271</id> + <referenced_column>1253</referenced_column> + <relation>49</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1272</id> + <referenced_column>1254</referenced_column> + <relation>49</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnonlinepollresult_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1271</id> + <desc>false</desc> + </column> + <column> + <id>1272</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>116</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>920</x> + <y>2720</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnorgnztinfo</physical_name> + <logical_name>comtnorgnztinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnorgnztinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>490</word_id> + <id>1273</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>492</word_id> + <id>1274</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>488</word_id> + <id>1275</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>117</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1220</x> + <y>2720</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnpopupmanage</physical_name> + <logical_name>comtnpopupmanage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnpopupmanage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>518</word_id> + <id>1276</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>519</word_id> + <id>1277</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>273</word_id> + <id>1278</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>522</word_id> + <id>1279</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>523</word_id> + <id>1280</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>450</word_id> + <id>1281</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>453</word_id> + <id>1282</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>722</word_id> + <id>1283</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>449</word_id> + <id>1284</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>520</word_id> + <id>1285</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>521</word_id> + <id>1286</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1287</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1288</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1289</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1290</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>118</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1520</x> + <y>2720</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnprivacylog</physical_name> + <logical_name>comtnprivacylog</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnprivacylog_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>620</word_id> + <id>1291</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>334</word_id> + <id>1292</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>719</word_id> + <id>1293</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>335</word_id> + <id>1294</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>659</word_id> + <id>1295</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>660</word_id> + <id>1296</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>119</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1820</x> + <y>2720</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnprocessmon</physical_name> + <logical_name>comtnprocessmon</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnprocessmon_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>533</word_id> + <id>1297</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>534</word_id> + <id>1298</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>535</word_id> + <id>1299</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>1300</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>406</word_id> + <id>1301</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>405</word_id> + <id>1302</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1303</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1304</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1305</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1306</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>120</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2120</x> + <y>2720</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>50</id> + <source>119</source> + <target>120</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnprocessmonloginfo_procs_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnprocessmonloginfo</physical_name> + <logical_name>comtnprocessmonloginfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnprocessmonloginfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1307</id> + <referenced_column>1297</referenced_column> + <relation>50</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>534</word_id> + <id>1308</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>535</word_id> + <id>1309</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>1310</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>374</word_id> + <id>1311</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>406</word_id> + <id>1312</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>405</word_id> + <id>1313</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1314</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1315</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1316</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1317</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>373</word_id> + <id>1318</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>121</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2420</x> + <y>2720</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnprogrmlist</physical_name> + <logical_name>comtnprogrmlist</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnprogrmlist_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>537</word_id> + <id>1319</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>539</word_id> + <id>1320</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>538</word_id> + <id>1321</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>536</word_id> + <id>1322</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>794</word_id> + <id>1323</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>122</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2720</x> + <y>2720</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnproxyinfo</physical_name> + <logical_name>comtnproxyinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnproxyinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>543</word_id> + <id>1324</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>545</word_id> + <id>1325</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>544</word_id> + <id>1326</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>546</word_id> + <id>1327</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>767</word_id> + <id>1328</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>730</word_id> + <id>1329</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>732</word_id> + <id>1330</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>734</word_id> + <id>1331</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>735</word_id> + <id>1332</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1333</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1334</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1335</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1336</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>123</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3020</x> + <y>2720</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>51</id> + <source>122</source> + <target>123</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnproxyloginfo_proxy_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnproxyloginfo</physical_name> + <logical_name>comtnproxyloginfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnproxyloginfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1337</id> + <referenced_column>1324</referenced_column> + <relation>51</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>107</word_id> + <id>1338</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>108</word_id> + <id>1339</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>146</word_id> + <id>1340</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1341</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1342</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1343</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1344</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>373</word_id> + <id>1345</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>124</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3320</x> + <y>2720</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnqainfo</physical_name> + <logical_name>comtnqainfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnqainfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>551</word_id> + <id>1346</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>554</word_id> + <id>1347</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>553</word_id> + <id>1348</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>823</word_id> + <id>1349</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>578</word_id> + <id>1350</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>193</word_id> + <id>1351</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1352</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1353</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1354</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1355</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>557</word_id> + <id>1356</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>833</word_id> + <id>1357</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>25</word_id> + <id>1358</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>824</word_id> + <id>1359</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>26</word_id> + <id>1360</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>194</word_id> + <id>1361</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>37</word_id> + <id>1362</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>401</word_id> + <id>1363</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>201</word_id> + <id>1364</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>125</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3620</x> + <y>2720</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>52</id> + <source>130</source> + <target>125</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnqestnrinfo_qustnr_tmplat_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnqestnrinfo</physical_name> + <logical_name>comtnqestnrinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnqestnrinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1365</id> + <referenced_column>1425</referenced_column> + <referenced_column>1425</referenced_column> + <relation>52</relation> + <relation>52</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>552</word_id> + <id>1366</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>565</word_id> + <id>1367</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>561</word_id> + <id>1368</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>572</word_id> + <id>1369</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>571</word_id> + <id>1370</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>558</word_id> + <id>1371</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>559</word_id> + <id>1372</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1373</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1374</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1375</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1376</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnqestnrinfo_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1365</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>126</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>20</x> + <y>3020</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>53</id> + <source>127</source> + <target>126</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnqustnriem_qestnr_id_qustnr_qesitm_id_qustnr_tmplat_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnqustnriem</physical_name> + <logical_name>comtnqustnriem</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnqustnriem_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1377</id> + <referenced_column>1390</referenced_column> + <relation>53</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1378</id> + <referenced_column>1388</referenced_column> + <relation>53</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1379</id> + <referenced_column>1389</referenced_column> + <relation>53</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>560</word_id> + <id>1380</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>315</word_id> + <id>1381</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>311</word_id> + <id>1382</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>219</word_id> + <id>1383</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1384</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1385</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1386</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1387</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnqustnriem_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1379</id> + <desc>false</desc> + </column> + <column> + <id>1378</id> + <desc>false</desc> + </column> + <column> + <id>1377</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>127</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>320</x> + <y>3020</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>54</id> + <source>125</source> + <target>127</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnqustnrqesitm_qustnr_tmplat_id_qestnr_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnqustnrqesitm</physical_name> + <logical_name>comtnqustnrqesitm</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnqustnrqesitm_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1388</id> + <referenced_column>1366</referenced_column> + <relation>54</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>562</word_id> + <id>1389</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1390</id> + <referenced_column>1365</referenced_column> + <referenced_column>1365</referenced_column> + <relation>54</relation> + <relation>54</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>555</word_id> + <id>1391</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>556</word_id> + <id>1392</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>553</word_id> + <id>1393</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>430</word_id> + <id>1394</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1395</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1396</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1397</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1398</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnqustnrqesitm_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1388</id> + <desc>false</desc> + </column> + <column> + <id>1390</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>128</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>620</x> + <y>3020</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>55</id> + <source>125</source> + <target>128</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnqustnrrespondinfo_qustnr_tmplat_id_qestnr_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnqustnrrespondinfo</physical_name> + <logical_name>comtnqustnrrespondinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnqustnrrespondinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1399</id> + <referenced_column>1365</referenced_column> + <relation>55</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1400</id> + <referenced_column>1366</referenced_column> + <relation>55</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>563</word_id> + <id>1401</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>702</word_id> + <id>1402</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>466</word_id> + <id>1403</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>631</word_id> + <id>1404</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>89</word_id> + <id>1405</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>37</word_id> + <id>1406</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>401</word_id> + <id>1407</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>201</word_id> + <id>1408</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1409</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1410</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1411</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1412</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnqustnrrespondinfo_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1400</id> + <desc>false</desc> + </column> + <column> + <id>1399</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>129</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>920</x> + <y>3020</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>56</id> + <source>127</source> + <target>129</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnqustnrrspnsresult_qestnr_id_qustnr_qesitm_id_qustnr_t_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnqustnrrspnsresult</physical_name> + <logical_name>comtnqustnrrspnsresult</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnqustnrrspnsresult_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>564</word_id> + <id>1413</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1414</id> + <referenced_column>1388</referenced_column> + <relation>56</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1415</id> + <referenced_column>1389</referenced_column> + <relation>56</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1416</id> + <referenced_column>1390</referenced_column> + <relation>56</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>630</word_id> + <id>1417</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>220</word_id> + <id>1418</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>631</word_id> + <id>1419</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1420</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1421</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1422</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1423</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>560</word_id> + <id>1424</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnqustnrrspnsresult_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1414</id> + <desc>false</desc> + </column> + <column> + <id>1415</id> + <desc>false</desc> + </column> + <column> + <id>1416</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>130</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1220</x> + <y>3020</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnqustnrtmplat</physical_name> + <logical_name>comtnqustnrtmplat</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnqustnrtmplat_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>567</word_id> + <id>1425</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>570</word_id> + <id>1426</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>566</word_id> + <id>1427</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>569</word_id> + <id>1428</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1429</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1430</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1431</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1432</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>568</word_id> + <id>1433</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>blob</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>131</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1520</x> + <y>3020</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>57</id> + <source>132</source> + <target>131</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnrecentsrchwrd_srchwrd_manage_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnrecentsrchwrd</physical_name> + <logical_name>comtnrecentsrchwrd</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnrecentsrchwrd_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1434</id> + <referenced_column>1442</referenced_column> + <relation>57</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>584</word_id> + <id>1435</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>585</word_id> + <id>1436</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>583</word_id> + <id>1437</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1438</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1439</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1440</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1441</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>132</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1820</x> + <y>3020</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnrecentsrchwrdmanage</physical_name> + <logical_name>comtnrecentsrchwrdmanage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnrecentsrchwrdmanage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>717</word_id> + <id>1442</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>718</word_id> + <id>1443</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>716</word_id> + <id>1444</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>805</word_id> + <id>1445</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1446</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1447</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1448</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1449</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>133</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2120</x> + <y>3020</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnrecomendsiteinfo</physical_name> + <logical_name>comtnrecomendsiteinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnrecomendsiteinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>589</word_id> + <id>1450</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>590</word_id> + <id>1451</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>591</word_id> + <id>1452</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>588</word_id> + <id>1453</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>587</word_id> + <id>1454</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>586</word_id> + <id>1455</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>148</word_id> + <id>1456</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1457</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1458</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1459</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1460</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>134</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2420</x> + <y>3020</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnreprtstats</physical_name> + <logical_name>comtnreprtstats</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnreprtstats_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>611</word_id> + <id>1461</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>612</word_id> + <id>1462</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>615</word_id> + <id>1463</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1464</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1465</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1466</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1467</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>616</word_id> + <id>1468</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>135</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2720</x> + <y>3020</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnrestde</physical_name> + <logical_name>comtnrestde</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnrestde_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>635</word_id> + <id>1469</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>632</word_id> + <id>1470</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>634</word_id> + <id>1471</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>633</word_id> + <id>1472</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>636</word_id> + <id>1473</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1474</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1475</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1476</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1477</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>136</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3020</x> + <y>3020</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnroleinfo</physical_name> + <logical_name>comtnroleinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnroleinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>647</word_id> + <id>1478</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>650</word_id> + <id>1479</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>651</word_id> + <id>1480</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>649</word_id> + <id>1481</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>653</word_id> + <id>1482</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>652</word_id> + <id>1483</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>648</word_id> + <id>1484</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>137</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3320</x> + <y>3020</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>58</id> + <source>17</source> + <target>137</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnroles_hierarchy_parnts_role_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>59</id> + <source>17</source> + <target>137</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnroles_hierarchy_chldrn_role_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnroles_hierarchy</physical_name> + <logical_name>comtnroles_hierarchy</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnroles_hierarchy_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1485</id> + <referenced_column>180</referenced_column> + <relation>58</relation> + <description>부모롤</description> + <unique_key_name></unique_key_name> + <logical_name>부모롤</logical_name> + <physical_name>parnts_role</physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>true</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1486</id> + <referenced_column>180</referenced_column> + <relation>59</relation> + <description>자식롤</description> + <unique_key_name></unique_key_name> + <logical_name>자식롤</logical_name> + <physical_name>chldrn_role</physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnroles_hierarchy_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1486</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>138</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3620</x> + <y>3020</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnroughmap</physical_name> + <logical_name>comtnroughmap</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name></primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>656</word_id> + <id>1487</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>655</word_id> + <id>1488</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>654</word_id> + <id>1489</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>358</word_id> + <id>1490</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>369</word_id> + <id>1491</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>383</word_id> + <id>1492</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>384</word_id> + <id>1493</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>331</word_id> + <id>1494</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>836</word_id> + <id>1495</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1496</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1497</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1498</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1499</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>139</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>20</x> + <y>3320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnrss</physical_name> + <logical_name>comtnrss</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnrss_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>666</word_id> + <id>1500</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>767</word_id> + <id>1501</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>768</word_id> + <id>1502</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>766</word_id> + <id>1503</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>295</word_id> + <id>1504</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>293</word_id> + <id>1505</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>291</word_id> + <id>1506</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>294</word_id> + <id>1507</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>292</word_id> + <id>1508</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>75</word_id> + <id>1509</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>73</word_id> + <id>1510</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>71</word_id> + <id>1511</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>74</word_id> + <id>1512</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>72</word_id> + <id>1513</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1514</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1515</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1516</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1517</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>140</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>320</x> + <y>3320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnrwardmanage</physical_name> + <logical_name>comtnrwardmanage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnrwardmanage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>671</word_id> + <id>1518</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>668</word_id> + <id>1519</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>669</word_id> + <id>1520</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>670</word_id> + <id>1521</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>672</word_id> + <id>1522</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>507</word_id> + <id>1523</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>673</word_id> + <id>1524</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>147</word_id> + <id>1525</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>674</word_id> + <id>1526</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>643</word_id> + <id>1527</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>1528</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>333</word_id> + <id>1529</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1530</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1531</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1532</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1533</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>141</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>620</x> + <y>3320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnschdulinfo</physical_name> + <logical_name>comtnschdulinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnschdulinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>682</word_id> + <id>1534</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>687</word_id> + <id>1535</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>680</word_id> + <id>1536</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>684</word_id> + <id>1537</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>676</word_id> + <id>1538</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>681</word_id> + <id>1539</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>685</word_id> + <id>1540</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>678</word_id> + <id>1541</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>686</word_id> + <id>1542</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>683</word_id> + <id>1543</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>677</word_id> + <id>1544</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>1545</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1546</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1547</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1548</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1549</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>618</word_id> + <id>1550</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>142</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>920</x> + <y>3320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnscrap</physical_name> + <logical_name>comtnscrap</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnscrap_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>688</word_id> + <id>1551</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>461</word_id> + <id>1552</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>65</word_id> + <id>1553</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>689</word_id> + <id>1554</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>1555</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1556</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1557</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1558</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1559</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>143</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1220</x> + <y>3320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnservereqpmninfo</physical_name> + <logical_name>comtnservereqpmninfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnservereqpmninfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>693</word_id> + <id>1560</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>696</word_id> + <id>1561</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>694</word_id> + <id>1562</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>695</word_id> + <id>1563</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>405</word_id> + <id>1564</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>480</word_id> + <id>1565</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>150</word_id> + <id>1566</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>409</word_id> + <id>1567</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>290</word_id> + <id>1568</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>222</word_id> + <id>1569</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>644</word_id> + <id>1570</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1571</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1572</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1573</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1574</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>144</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1520</x> + <y>3320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>60</id> + <source>143</source> + <target>144</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnservereqpmnrelate_server_eqpmn_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>61</id> + <source>145</source> + <target>144</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnservereqpmnrelate_server_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnservereqpmnrelate</physical_name> + <logical_name>comtnservereqpmnrelate</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnservereqpmnrelate_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1575</id> + <referenced_column>1560</referenced_column> + <referenced_column>1560</referenced_column> + <relation>60</relation> + <relation>60</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1576</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1577</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1578</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1579</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1580</id> + <referenced_column>1581</referenced_column> + <relation>61</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>145</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1820</x> + <y>3320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnserverinfo</physical_name> + <logical_name>comtnserverinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnserverinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>697</word_id> + <id>1581</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>700</word_id> + <id>1582</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>699</word_id> + <id>1583</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>644</word_id> + <id>1584</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1585</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1586</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1587</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1588</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>146</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2120</x> + <y>3320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>62</id> + <source>144</source> + <target>146</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnserverresrceloginfo_server_eqpmn_id_server_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnserverresrceloginfo</physical_name> + <logical_name>comtnserverresrceloginfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnserverresrceloginfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1589</id> + <referenced_column>1575</referenced_column> + <relation>62</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>151</word_id> + <id>1590</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>410</word_id> + <id>1591</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>735</word_id> + <id>1592</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>374</word_id> + <id>1593</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>1594</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1595</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1596</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1597</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>1598</id> + <referenced_column>1580</referenced_column> + <relation>62</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1599</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>373</word_id> + <id>1600</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>147</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2420</x> + <y>3320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnsitelist</physical_name> + <logical_name>comtnsitelist</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnsitelist_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>705</word_id> + <id>1601</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>706</word_id> + <id>1602</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>708</word_id> + <id>1603</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>704</word_id> + <id>1604</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>707</word_id> + <id>1605</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>3</word_id> + <id>1606</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>1607</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1608</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1609</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1610</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1611</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>148</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2720</x> + <y>3320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnsitemap</physical_name> + <logical_name>comtnsitemap</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnsitemap_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>380</word_id> + <id>1612</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>154</word_id> + <id>1613</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>381</word_id> + <id>1614</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>382</word_id> + <id>1615</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>149</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3020</x> + <y>3320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnsms</physical_name> + <logical_name>comtnsms</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnsms_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>711</word_id> + <id>1616</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>771</word_id> + <id>1617</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>770</word_id> + <id>1618</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1619</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1620</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>150</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3320</x> + <y>3320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>63</id> + <source>149</source> + <target>150</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnsmsrecptn_sms_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnsmsrecptn</physical_name> + <logical_name>comtnsmsrecptn</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnsmsrecptn_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>1621</id> + <referenced_column>1616</referenced_column> + <relation>63</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>593</word_id> + <id>1622</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>637</word_id> + <id>1623</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>638</word_id> + <id>1624</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnsmsrecptn_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1621</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>151</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3620</x> + <y>3320</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnstplatinfo</physical_name> + <logical_name>comtnstplatinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnstplatinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>809</word_id> + <id>1625</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>810</word_id> + <id>1626</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>808</word_id> + <id>1627</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>332</word_id> + <id>1628</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1629</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1630</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1631</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1632</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>152</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>20</x> + <y>3620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnstsfdg</physical_name> + <logical_name>comtnstsfdg</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnstsfdg_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>727</word_id> + <id>1633</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>461</word_id> + <id>1634</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>65</word_id> + <id>1635</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>832</word_id> + <id>1636</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>833</word_id> + <id>1637</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>504</word_id> + <id>1638</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>724</word_id> + <id>1639</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>726</word_id> + <id>1640</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>1641</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1642</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1643</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1644</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1645</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>153</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>320</x> + <y>3620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnsynchrnserverinfo</physical_name> + <logical_name>comtnsynchrnserverinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnsynchrnserverinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>697</word_id> + <id>1646</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>700</word_id> + <id>1647</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>698</word_id> + <id>1648</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>701</word_id> + <id>1649</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>279</word_id> + <id>1650</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>280</word_id> + <id>1651</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>737</word_id> + <id>1652</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>594</word_id> + <id>1653</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1654</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1655</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1656</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1657</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>154</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>620</x> + <y>3620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnsyslog</physical_name> + <logical_name>comtnsyslog</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnsyslog_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>621</word_id> + <id>1658</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>348</word_id> + <id>1659</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>337</word_id> + <id>1660</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>469</word_id> + <id>1661</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>661</word_id> + <id>1662</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>658</word_id> + <id>1663</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>764</word_id> + <id>1664</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>733</word_id> + <id>1665</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>399</word_id> + <id>1666</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>529</word_id> + <id>1667</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>526</word_id> + <id>1668</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>532</word_id> + <id>1669</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>662</word_id> + <id>1670</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>216</word_id> + <id>1671</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>212</word_id> + <id>1672</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>213</word_id> + <id>1673</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>155</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>920</x> + <y>3620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnsystemcntc</physical_name> + <logical_name>comtnsystemcntc</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnsystemcntc_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>125</word_id> + <id>1674</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>128</word_id> + <id>1675</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>540</word_id> + <id>1676</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>542</word_id> + <id>1677</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>541</word_id> + <id>1678</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>622</word_id> + <id>1679</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>628</word_id> + <id>1680</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>147</word_id> + <id>1681</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>1682</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>812</word_id> + <id>1683</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>813</word_id> + <id>1684</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1685</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1686</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1687</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1688</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>129</word_id> + <id>1689</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>156</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1220</x> + <y>3620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtntmplatinfo</physical_name> + <logical_name>comtntmplatinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtntmplatinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>751</word_id> + <id>1690</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>752</word_id> + <id>1691</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>749</word_id> + <id>1692</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>807</word_id> + <id>1693</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>753</word_id> + <id>1694</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1695</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1696</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1697</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1698</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>157</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1520</x> + <y>3620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtntroblinfo</physical_name> + <logical_name>comtntroblinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtntroblinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>774</word_id> + <id>1699</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>776</word_id> + <id>1700</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>775</word_id> + <id>1701</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>773</word_id> + <id>1702</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>777</word_id> + <id>1703</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>782</word_id> + <id>1704</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>781</word_id> + <id>1705</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>779</word_id> + <id>1706</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>778</word_id> + <id>1707</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>780</word_id> + <id>1708</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>530</word_id> + <id>1709</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1710</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1711</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1712</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1713</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>158</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1820</x> + <y>3620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtntrsmrcvlog</physical_name> + <logical_name>comtntrsmrcvlog</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtntrsmrcvlog_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>621</word_id> + <id>1714</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>468</word_id> + <id>1715</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>783</word_id> + <id>1716</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>125</word_id> + <id>1717</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>540</word_id> + <id>1718</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>542</word_id> + <id>1719</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>541</word_id> + <id>1720</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>622</word_id> + <id>1721</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>628</word_id> + <id>1722</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>629</word_id> + <id>1723</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>626</word_id> + <id>1724</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>665</word_id> + <id>1725</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>664</word_id> + <id>1726</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>637</word_id> + <id>1727</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>638</word_id> + <id>1728</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1729</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>658</word_id> + <id>1730</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>159</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2120</x> + <y>3620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtntrsmrcvmntrng</physical_name> + <logical_name>comtntrsmrcvmntrng</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtntrsmrcvmntrng_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>125</word_id> + <id>1731</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>745</word_id> + <id>1732</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>406</word_id> + <id>1733</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>405</word_id> + <id>1734</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>408</word_id> + <id>1735</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>1736</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1737</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1738</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1739</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1740</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>160</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2420</x> + <y>3620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtntwitter</physical_name> + <logical_name>comtntwitter</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtntwitter_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>800</word_id> + <id>1741</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>123</word_id> + <id>1742</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>124</word_id> + <id>1743</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1744</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1745</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1746</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1747</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>161</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2720</x> + <y>3620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnunitylink</physical_name> + <logical_name>comtnunitylink</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnunitylink_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>786</word_id> + <id>1748</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>785</word_id> + <id>1749</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>787</word_id> + <id>1750</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>789</word_id> + <id>1751</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>784</word_id> + <id>1752</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1753</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1754</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1755</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1756</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>788</word_id> + <id>1757</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>162</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3020</x> + <y>3620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnuserabsnce</physical_name> + <logical_name>comtnuserabsnce</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnuserabsnce_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>196</word_id> + <id>1758</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>796</word_id> + <id>1759</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1760</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1761</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1762</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1763</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>163</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3320</x> + <y>3620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnuserlog</physical_name> + <logical_name>comtnuserlog</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnuserlog_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>467</word_id> + <id>1764</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>658</word_id> + <id>1765</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>733</word_id> + <id>1766</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>399</word_id> + <id>1767</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>155</word_id> + <id>1768</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>790</word_id> + <id>1769</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>578</word_id> + <id>1770</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>168</word_id> + <id>1771</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>496</word_id> + <id>1772</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>212</word_id> + <id>1773</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>164</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3620</x> + <y>3620</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnvcatnmanage</physical_name> + <logical_name>comtnvcatnmanage</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnvcatnmanage_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>34</word_id> + <id>1774</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>815</word_id> + <id>1775</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>77</word_id> + <id>1776</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>199</word_id> + <id>1777</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>814</word_id> + <id>1778</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>619</word_id> + <id>1779</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>470</word_id> + <id>1780</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>673</word_id> + <id>1781</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>147</word_id> + <id>1782</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>674</word_id> + <id>1783</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>643</word_id> + <id>1784</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>333</word_id> + <id>1785</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1786</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1787</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1788</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1789</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>442</word_id> + <id>1790</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>165</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>20</x> + <y>3920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnweblog</physical_name> + <logical_name>comtnweblog</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnweblog_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>621</word_id> + <id>1791</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>469</word_id> + <id>1792</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>795</word_id> + <id>1793</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>658</word_id> + <id>1794</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>661</word_id> + <id>1795</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>166</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>320</x> + <y>3920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnwikibkmk</physical_name> + <logical_name>comtnwikibkmk</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnwikibkmk_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>817</word_id> + <id>1796</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>800</word_id> + <id>1797</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>818</word_id> + <id>1798</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1799</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1800</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1801</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1802</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>167</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>620</x> + <y>3920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnwikmnthngreprt</physical_name> + <logical_name>comtnwikmnthngreprt</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnwikmnthngreprt_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>611</word_id> + <id>1803</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>613</word_id> + <id>1804</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>614</word_id> + <id>1805</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>608</word_id> + <id>1806</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>832</word_id> + <id>1807</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>604</word_id> + <id>1808</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>606</word_id> + <id>1809</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>609</word_id> + <id>1810</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>747</word_id> + <id>1811</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>438</word_id> + <id>1812</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>501</word_id> + <id>1813</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>1814</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>149</word_id> + <id>1815</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1816</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1817</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1818</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1819</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>168</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>920</x> + <y>3920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnworddicaryinfo</physical_name> + <logical_name>comtnworddicaryinfo</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtnworddicaryinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>820</word_id> + <id>1820</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>821</word_id> + <id>1821</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>202</word_id> + <id>1822</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>819</word_id> + <id>1823</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>738</word_id> + <id>1824</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1825</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1826</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1827</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1828</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>169</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1220</x> + <y>3920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtrdnmadrzip</physical_name> + <logical_name>comtrdnmadrzip</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtrdnmadrzip_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>580</word_id> + <id>1829</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>712</word_id> + <id>1830</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>159</word_id> + <id>1831</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>703</word_id> + <id>1832</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>579</word_id> + <id>1833</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>69</word_id> + <id>1834</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>70</word_id> + <id>1835</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>93</word_id> + <id>1836</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>178</word_id> + <id>1837</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>835</word_id> + <id>1838</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>277</word_id> + <id>1839</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>276</word_id> + <id>1840</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>360</word_id> + <id>1841</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>362</word_id> + <id>1842</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>false</non_unique> + <name>comtrdnmadrzip_pk</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>1829</id> + <desc>false</desc> + </column> + <column> + <id>1830</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>170</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1520</x> + <y>3920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtsbbssummary</physical_name> + <logical_name>comtsbbssummary</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtsbbssummary_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>468</word_id> + <id>1843</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>721</word_id> + <id>1844</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>179</word_id> + <id>1845</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>155</word_id> + <id>1846</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>762</word_id> + <id>1847</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>47</word_id> + <id>1848</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>759</word_id> + <id>1849</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>428</word_id> + <id>1850</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>760</word_id> + <id>1851</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>171</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1820</x> + <y>3920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtssyslogsummary</physical_name> + <logical_name>comtssyslogsummary</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtssyslogsummary_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>467</word_id> + <id>1852</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>733</word_id> + <id>1853</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>399</word_id> + <id>1854</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>155</word_id> + <id>1855</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>790</word_id> + <id>1856</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>578</word_id> + <id>1857</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>168</word_id> + <id>1858</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>496</word_id> + <id>1859</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>212</word_id> + <id>1860</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>172</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2120</x> + <y>3920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtstrsmrcvlogsummary</physical_name> + <logical_name>comtstrsmrcvlogsummary</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtstrsmrcvlogsummary_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>468</word_id> + <id>1861</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>783</word_id> + <id>1862</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>540</word_id> + <id>1863</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>542</word_id> + <id>1864</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>541</word_id> + <id>1865</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>622</word_id> + <id>1866</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>628</word_id> + <id>1867</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>578</word_id> + <id>1868</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>212</word_id> + <id>1869</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>173</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2420</x> + <y>3920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtsusersummary</physical_name> + <logical_name>comtsusersummary</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtsusersummary_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>468</word_id> + <id>1870</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>721</word_id> + <id>1871</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>179</word_id> + <id>1872</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>798</word_id> + <id>1873</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>174</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2720</x> + <y>3920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtsweblogsummary</physical_name> + <logical_name>comtsweblogsummary</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>comtsweblogsummary_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>467</word_id> + <id>1874</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>795</word_id> + <id>1875</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>578</word_id> + <id>1876</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>175</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3020</x> + <y>3920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>ids</physical_name> + <logical_name>ids</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>ids_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>309</word_id> + <id>1877</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>308</word_id> + <id>1878</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>176</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3320</x> + <y>3920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>imgtemp</physical_name> + <logical_name>imgtemp</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>imgtemp_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>487</word_id> + <id>1879</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>211</word_id> + <id>1880</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>322</word_id> + <id>1881</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>blob</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>324</word_id> + <id>1882</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>177</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>3620</x> + <y>3920</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>j_attachfile</physical_name> + <logical_name>j_attachfile</logical_name> + <description></description> + <constraint></constraint> + <primary_key_name>j_attachfile_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>259</word_id> + <id>1883</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>262</word_id> + <id>1884</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>integer</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>261</word_id> + <id>1885</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>263</word_id> + <id>1886</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>integer</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>260</word_id> + <id>1887</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>184</word_id> + <id>1888</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>integer</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>185</word_id> + <id>1889</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>186</word_id> + <id>1890</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>integer</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>597</word_id> + <id>1891</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>169</word_id> + <id>1892</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <view> + <id>178</id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>20</x> + <y>4220</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comvnusermaster</physical_name> + <logical_name>comvnusermaster</logical_name> + <description></description> + <sql> SELECT comtngnrlmber.esntl_id,&#x0A; comtngnrlmber.mber_id AS user_id,&#x0A; comtngnrlmber.password,&#x0A; comtngnrlmber.mber_nm AS user_nm,&#x0A; comtngnrlmber.zip AS user_zip,&#x0A; comtngnrlmber.adres AS user_adres,&#x0A; comtngnrlmber.mber_email_adres AS user_email,&#x0A; &apos; &apos;::bpchar AS group_id,&#x0A; &apos;GNR&apos;::text AS user_se,&#x0A; &apos; &apos;::bpchar AS orgnzt_id&#x0A; FROM comtngnrlmber&#x0A;UNION ALL&#x0A; SELECT comtnemplyrinfo.esntl_id,&#x0A; comtnemplyrinfo.emplyr_id AS user_id,&#x0A; comtnemplyrinfo.password,&#x0A; comtnemplyrinfo.user_nm,&#x0A; comtnemplyrinfo.zip AS user_zip,&#x0A; comtnemplyrinfo.house_adres AS user_adres,&#x0A; comtnemplyrinfo.email_adres AS user_email,&#x0A; comtnemplyrinfo.group_id,&#x0A; &apos;USR&apos;::text AS user_se,&#x0A; comtnemplyrinfo.orgnzt_id&#x0A; FROM comtnemplyrinfo&#x0A;UNION ALL&#x0A; SELECT comtnentrprsmber.esntl_id,&#x0A; comtnentrprsmber.entrprs_mber_id AS user_id,&#x0A; comtnentrprsmber.entrprs_mber_password AS password,&#x0A; comtnentrprsmber.cmpny_nm AS user_nm,&#x0A; comtnentrprsmber.zip AS user_zip,&#x0A; comtnentrprsmber.adres AS user_adres,&#x0A; comtnentrprsmber.applcnt_email_adres AS user_email,&#x0A; &apos; &apos;::bpchar AS group_id,&#x0A; &apos;ENT&apos;::text AS user_se,&#x0A; &apos; &apos;::bpchar AS orgnzt_id&#x0A; FROM comtnentrprsmber&#x0A; ORDER BY 1;</sql> + <columns> + <normal_column> + <word_id>218</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>801</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>503</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>803</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>806</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>797</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>799</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>286</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type></type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>804</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type></type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>489</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type></type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <view_properties> + <schema>public</schema> + </view_properties> + </view> + </contents> + <column_groups> + </column_groups> + <test_data_list> + </test_data_list> + <sequence_set> + </sequence_set> + <trigger_set> + </trigger_set> + <change_tracking_list> + </change_tracking_list> +</diagram> Index: base3.10/script/ddl/altibase/com_DDL_altibase.sql =================================================================== --- base3.10/script/ddl/altibase/com_DDL_altibase.sql (nonexistent) +++ base3.10/script/ddl/altibase/com_DDL_altibase.sql (revision 7) @@ -0,0 +1,3505 @@ +CREATE TABLE COMTNPROGRMLIST +( + PROGRM_FILE_NM VARCHAR2(60) NOT NULL , + PROGRM_STRE_PATH VARCHAR2(100) NOT NULL , + PROGRM_KOREAN_NM VARCHAR2(60) NULL , + PROGRM_DC VARCHAR2(200) NULL , + URL VARCHAR2(100) NOT NULL , +CONSTRAINT COMTNPROGRMLIST_PK PRIMARY KEY (PROGRM_FILE_NM) +); + + + +CREATE TABLE COMTHPROGRMCHANGEDTLS +( + PROGRM_FILE_NM VARCHAR2(60) NOT NULL , + REQUST_NO NUMBER(10) NOT NULL , + RQESTER_ID VARCHAR2(20) NOT NULL , + CHANGE_REQUST_CN VARCHAR2(1000) NULL , + REQUST_PROCESS_CN CLOB NULL , + OPETR_ID VARCHAR2(20) NULL , + PROCESS_STTUS_CODE VARCHAR2(15) NOT NULL , + PROCESS_DE CHAR(20) NULL , + RQESTDE CHAR(20) NULL , + REQUST_SJ VARCHAR2(60) NOT NULL , +CONSTRAINT COMTHPROGRMCHANGEDTLS_PK PRIMARY KEY (PROGRM_FILE_NM,REQUST_NO), +CONSTRAINT COMTHPROGRMCHANGEDTLS_FK1 FOREIGN KEY (PROGRM_FILE_NM) REFERENCES COMTNPROGRMLIST(PROGRM_FILE_NM) ON DELETE CASCADE +); + +CREATE TABLE COMTNROUGHMAP ( + ROUGHMAP_ID VARCHAR(75) NOT NULL, + ROUGHMAPSJ VARCHAR(75) NOT NULL, + ROUGHMAPADDRESS VARCHAR(200) NULL, + LA VARCHAR(48) NULL, + LO VARCHAR(48) NULL, + MARKERLA VARCHAR(48) NULL, + MARKERLO VARCHAR(48) NULL, + INFOWINDOW VARCHAR(20) NULL, + ZOOMLEVEL VARCHAR(10) NULL, + FRST_REGIST_PNTTM DATE NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATE NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL + ); + +CREATE INDEX COMTHPROGRMCHANGEDTLS_i01 ON COMTHPROGRMCHANGEDTLS +(PROGRM_FILE_NM ASC); + + + +CREATE TABLE COMTNPOPUPMANAGE +( + POPUP_ID VARCHAR2(20) NOT NULL , + POPUP_SJ_NM VARCHAR2(1024) NULL , + FILE_URL VARCHAR2(1024) NULL , + POPUP_WIDTH_LC VARCHAR2(20) NULL , + POPUP_WIDTH_SIZE NUMBER NULL , + NTCE_BGNDE CHAR(20) NULL , + NTCE_ENDDE CHAR(20) NULL , + STOPVEW_SETUP_AT CHAR(1) NULL , + NTCE_AT CHAR(1) NULL , + POPUP_VRTICL_LC VARCHAR2(20) NULL , + POPUP_VRTICL_SIZE NUMBER NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNPOPUPMANAGE_PK PRIMARY KEY (POPUP_ID) +); + + + +CREATE TABLE COMTNBANNER +( + BANNER_ID CHAR(20) NOT NULL , + BANNER_NM VARCHAR2(60) NOT NULL , + LINK_URL VARCHAR2(255) NOT NULL , + BANNER_IMAGE VARCHAR2(60) NOT NULL , + BANNER_DC VARCHAR2(200) NULL , + REFLCT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + BANNER_IMAGE_FILE VARCHAR2(60) NULL , + SORT_ORDR NUMBER(8) NULL , +CONSTRAINT COMTNBANNER_PK PRIMARY KEY (BANNER_ID) +); + + + +CREATE TABLE COMTNLOGINSCRINIMAGE +( + IMAGE_ID CHAR(20) NOT NULL , + IMAGE_NM VARCHAR2(20) NOT NULL , + REFLCT_AT CHAR(1) NOT NULL , + IMAGE VARCHAR2(60) NOT NULL , + IMAGE_DC VARCHAR2(200) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + IMAGE_FILE VARCHAR2(60) NULL , +CONSTRAINT COMTNLOGINSCRINIMAGE_PK PRIMARY KEY (IMAGE_ID) +); + + + +CREATE TABLE COMTNORGNZTINFO +( + ORGNZT_ID CHAR(20) NOT NULL , + ORGNZT_NM VARCHAR2(20) NOT NULL , + ORGNZT_DC VARCHAR2(100) NULL , +CONSTRAINT COMTNORGNZTINFO_PK PRIMARY KEY (ORGNZT_ID) +); + + + +CREATE TABLE COMTNAUTHORGROUPINFO +( + GROUP_ID CHAR(20) NOT NULL , + GROUP_NM VARCHAR2(60) NOT NULL , + GROUP_CREAT_DE CHAR(20) NOT NULL , + GROUP_DC VARCHAR2(100) NULL , +CONSTRAINT COMTNAUTHORGROUPINFO_PK PRIMARY KEY (GROUP_ID) +); + + + +CREATE TABLE COMTNEMPLYRINFO +( + EMPLYR_ID VARCHAR2(20) NOT NULL , + ORGNZT_ID CHAR(20) NULL , + USER_NM VARCHAR2(60) NOT NULL , + PASSWORD VARCHAR2(200) NOT NULL , + EMPL_NO VARCHAR2(20) NULL , + IHIDNUM VARCHAR2(200) NULL , + SEXDSTN_CODE CHAR(1) NULL , + BRTHDY CHAR(20) NULL , + FXNUM VARCHAR2(20) NULL , + HOUSE_ADRES VARCHAR2(100) NOT NULL , + PASSWORD_HINT VARCHAR2(100) NOT NULL , + PASSWORD_CNSR VARCHAR2(100) NOT NULL , + HOUSE_END_TELNO VARCHAR2(4) NOT NULL , + AREA_NO VARCHAR2(4) NOT NULL , + DETAIL_ADRES VARCHAR2(100) NULL , + ZIP VARCHAR2(6) NOT NULL , + OFFM_TELNO VARCHAR2(20) NULL , + MBTLNUM VARCHAR2(20) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + OFCPS_NM VARCHAR2(60) NULL , + HOUSE_MIDDLE_TELNO VARCHAR2(4) NOT NULL , + GROUP_ID CHAR(20) NULL , + PSTINST_CODE CHAR(8) NULL , + EMPLYR_STTUS_CODE CHAR(1) NOT NULL , + ESNTL_ID CHAR(20) NOT NULL , + CRTFC_DN_VALUE VARCHAR2(100) NULL , + SBSCRB_DE DATE NULL , + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMBER(3) NULL, + LOCK_LAST_PNTTM DATE NULL, + CHG_PWD_LAST_PNTTM DATE NULL, +CONSTRAINT COMTNEMPLYRINFO_PK PRIMARY KEY (EMPLYR_ID), +CONSTRAINT COMTNEMPLYRINFO_FK2 FOREIGN KEY (ORGNZT_ID) REFERENCES COMTNORGNZTINFO(ORGNZT_ID) ON DELETE CASCADE, +CONSTRAINT COMTNEMPLYRINFO_FK1 FOREIGN KEY (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNEMPLYRINFO_i01 ON COMTNEMPLYRINFO +(ORGNZT_ID ASC); + + + +CREATE INDEX COMTNEMPLYRINFO_i02 ON COMTNEMPLYRINFO +(GROUP_ID ASC); + + + +CREATE TABLE COMTNFILE +( + ATCH_FILE_ID CHAR(20) NOT NULL , + CREAT_DT DATE NOT NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNFILE_PK PRIMARY KEY (ATCH_FILE_ID) +); + + + +CREATE TABLE COMTHEMAILDSPTCHMANAGE +( + MSSAGE_ID VARCHAR2(20) NOT NULL , + EMAIL_CN CLOB NULL , + SNDR VARCHAR2(50) NOT NULL , + RCVER VARCHAR2(50) NOT NULL , + SJ VARCHAR2(60) NOT NULL , + SNDNG_RESULT_CODE CHAR(1) NULL , + DSPTCH_DT CHAR(20) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , +CONSTRAINT COMTHEMAILDSPTCHMANAGE_PK PRIMARY KEY (MSSAGE_ID), +CONSTRAINT COMTHEMAILDSPTCHMANAGE_FK1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) +); + + + +CREATE INDEX COMTHEMAILDSPTCHMANAGE_i01 ON COMTHEMAILDSPTCHMANAGE +(SNDR ASC); + + + + + + + +CREATE TABLE COMTNNTTSTATS +( + STATS_ID CHAR(18) NOT NULL , + NTCE_CO NUMBER(10) NULL , + AVRG_RDCNT NUMBER(10) NULL , + TOP_RDCNT NUMBER(10) NULL , + MUMM_RDCNT NUMBER(10) NULL , + TOP_NTCR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNNTTSTATS_PK PRIMARY KEY (STATS_ID) +); + + + +CREATE TABLE COMTNSITELIST +( + SITE_ID CHAR(20) NOT NULL , + SITE_NM VARCHAR2(100) NULL , + SITE_URL VARCHAR2(100) NULL , + SITE_DC VARCHAR2(1000) NULL , + SITE_THEMA_CL_CODE VARCHAR2(2) NULL , + ACTVTY_AT CHAR(1) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNSITELIST_PK PRIMARY KEY (SITE_ID) +); + + + +CREATE TABLE COMTNRECENTSRCHWRDMANAGE +( + SRCHWRD_MANAGE_ID CHAR(20) NOT NULL , + SRCHWRD_MANAGE_NM VARCHAR2(255) NULL , + SRCHWRD_CONECT_URL VARCHAR2(255) NULL , + USER_SEARCH_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNRECENTSRCHWRDMANAGE_PK PRIMARY KEY (SRCHWRD_MANAGE_ID) +); + + + +CREATE TABLE COMTNRECENTSRCHWRD +( + SRCHWRD_MANAGE_ID CHAR(20) NOT NULL , + RECENT_SRCHWRD_ID CHAR(20) NOT NULL , + RECENT_SRCHWRD_NM VARCHAR2(255) NULL , + RECENT_SRCHWRD_CO NUMBER(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNRECENTSRCHWRD_PK PRIMARY KEY (RECENT_SRCHWRD_ID), +CONSTRAINT COMTNRECENTSRCHWRD_FK1 FOREIGN KEY (SRCHWRD_MANAGE_ID) REFERENCES COMTNRECENTSRCHWRDMANAGE(SRCHWRD_MANAGE_ID) +); + + + + + +CREATE TABLE COMTNPROXYINFO +( + PROXY_ID CHAR(20) NOT NULL , + PROXY_NM VARCHAR2(60) NULL , + PROXY_IP VARCHAR2(23) NULL , + PROXY_PORT VARCHAR2(10) NULL , + TRGET_SVC_NM VARCHAR2(255) NULL , + SVC_DC VARCHAR2(2000) NULL , + SVC_IP VARCHAR2(23) NULL , + SVC_PORT VARCHAR2(10) NULL , + SVC_STTUS CHAR(2) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNPROXYINFO_PK PRIMARY KEY (PROXY_ID) +); + + + +CREATE TABLE COMTNPROXYLOGINFO +( + PROXY_ID CHAR(20) NOT NULL , + CLNT_IP VARCHAR2(23) NULL , + CLNT_PORT VARCHAR2(10) NULL , + CONECT_TIME DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNPROXYLOGINFO_PK PRIMARY KEY (PROXY_ID,LOG_ID), +CONSTRAINT COMTNPROXYLOGINFO_FK1 FOREIGN KEY (PROXY_ID) REFERENCES COMTNPROXYINFO(PROXY_ID) +); + + + +CREATE TABLE COMTNMAINIMAGE +( + IMAGE_ID CHAR(20) NOT NULL , + IMAGE_NM VARCHAR2(20) NOT NULL , + IMAGE VARCHAR2(60) NOT NULL , + IMAGE_DC VARCHAR2(200) NULL , + REFLCT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + IMAGE_FILE VARCHAR2(60) NULL , +CONSTRAINT COMTNMAINIMAGE_PK PRIMARY KEY (IMAGE_ID) +); + + + +CREATE TABLE COMTNUNITYLINK +( + UNITY_LINK_ID CHAR(20) NOT NULL , + UNITY_LINK_GROUP VARCHAR2(255) NULL , + UNITY_LINK_NM VARCHAR2(255) NULL , + UNITY_LINK_URL VARCHAR2(255) NULL , + UNITY_LINK_DC VARCHAR2(2500) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + UNITY_LINK_SE_CODE CHAR(3) NULL , +CONSTRAINT COMTNUNITYLINK_PK PRIMARY KEY (UNITY_LINK_ID) +); + + + +CREATE TABLE COMTNUSERABSNCE +( + EMPLYR_ID VARCHAR2(20) NOT NULL , + USER_ABSNCE_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNUSERABSNCE_PK PRIMARY KEY (EMPLYR_ID) +); + + + +CREATE TABLE COMTSSYSLOGSUMMARY +( + OCCRRNC_DE CHAR(8) NOT NULL , + SVC_NM VARCHAR2(255) NOT NULL , + METHOD_NM VARCHAR2(60) NOT NULL , + CREAT_CO NUMBER(10) NULL , + UPDT_CO NUMBER(10) NULL , + RDCNT NUMBER(10) NULL , + DELETE_CO NUMBER(10) NULL , + OUTPT_CO NUMBER(10) NULL , + ERROR_CO NUMBER(10) NULL , +CONSTRAINT COMTSSYSLOGSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,SVC_NM,METHOD_NM) +); + + + +CREATE TABLE COMTNSYSLOG +( + REQUST_ID VARCHAR2(20) NOT NULL , + JOB_SE_CODE CHAR(3) NULL , + INSTT_CODE CHAR(7) NULL , + OCCRRNC_DE DATE NULL , + RQESTER_IP VARCHAR2(23) NULL , + RQESTER_ID VARCHAR2(20) NULL , + TRGET_MENU_NM VARCHAR2(255) NULL , + SVC_NM VARCHAR2(255) NULL , + METHOD_NM VARCHAR2(60) NULL , + PROCESS_SE_CODE CHAR(3) NULL , + PROCESS_CO NUMBER(10) NULL , + PROCESS_TIME VARCHAR2(14) NULL , + RSPNS_CODE CHAR(3) NULL , + ERROR_SE CHAR(1) NULL , + ERROR_CO NUMBER(10) NULL , + ERROR_CODE CHAR(3) NULL , +CONSTRAINT COMTNSYSLOG_PK PRIMARY KEY (REQUST_ID) +); + + + +CREATE TABLE COMTNBBSMASTER +( + BBS_ID CHAR(20) NOT NULL , + BBS_NM VARCHAR2(255) NOT NULL , + BBS_INTRCN VARCHAR2(2400) NULL , + BBS_TY_CODE CHAR(6) NOT NULL , + REPLY_POSBL_AT CHAR(1) NULL , + FILE_ATCH_POSBL_AT CHAR(1) NOT NULL , + ATCH_POSBL_FILE_NUMBER NUMBER(2) NOT NULL , + ATCH_POSBL_FILE_SIZE NUMBER(8) NULL , + USE_AT CHAR(1) NOT NULL , + TMPLAT_ID CHAR(20) NULL , + CMMNTY_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + BLOG_ID CHAR(20) NULL, + BLOG_AT CHAR(2) NULL, +CONSTRAINT COMTNBBSMASTER_PK PRIMARY KEY (BBS_ID) +); + + + +CREATE TABLE COMTNBBS +( + NTT_ID NUMBER(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + NTT_NO NUMBER(20) NULL , + NTT_SJ VARCHAR2(2000) NULL , + NTT_CN CLOB NULL , + ANSWER_AT CHAR(1) NULL , + PARNTSCTT_NO NUMBER(10) NULL , + ANSWER_LC NUMBER(8) NULL , + SORT_ORDR NUMBER(8) NULL , + RDCNT NUMBER(10) NULL , + USE_AT CHAR(1) NOT NULL , + NTCE_BGNDE CHAR(20) NULL , + NTCE_ENDDE CHAR(20) NULL , + NTCR_ID VARCHAR2(20) NULL , + NTCR_NM VARCHAR2(20) NULL , + PASSWORD VARCHAR2(200) NULL , + ATCH_FILE_ID CHAR(20) NULL , + NOTICE_AT CHAR(1) NULL, + SJ_BOLD_AT CHAR(1) NULL, + SECRET_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + BLOG_ID CHAR(20) NULL, +CONSTRAINT COMTNBBS_PK PRIMARY KEY (NTT_ID,BBS_ID), +CONSTRAINT COMTNBBS_FK1 FOREIGN KEY (BBS_ID) REFERENCES COMTNBBSMASTER(BBS_ID) +); + + + +CREATE INDEX COMTNBBS_i01 ON COMTNBBS +(BBS_ID ASC); + + + +CREATE TABLE COMTNCOMMENT +( + NTT_ID NUMBER(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + ANSWER_NO NUMBER(20) NOT NULL , + WRTER_ID VARCHAR2(20) NULL , + WRTER_NM VARCHAR2(20) NULL , + ANSWER VARCHAR2(200) NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + PASSWORD VARCHAR2(200) NULL , +CONSTRAINT COMTNCOMMENT_PK PRIMARY KEY (NTT_ID,BBS_ID,ANSWER_NO), +CONSTRAINT COMTNCOMMENT_FK1 FOREIGN KEY (NTT_ID,BBS_ID) REFERENCES COMTNBBS(NTT_ID,BBS_ID) +); + + + +CREATE INDEX COMTNCOMMENT_i01 ON COMTNCOMMENT +(NTT_ID ASC,BBS_ID ASC); + + + +CREATE TABLE COMTNRECOMENDSITEINFO +( + RECOMEND_SITE_ID CHAR(20) NOT NULL , + RECOMEND_SITE_NM VARCHAR2(100) NULL , + RECOMEND_SITE_URL VARCHAR2(255) NULL , + RECOMEND_SITE_DC VARCHAR2(1000) NULL , + RECOMEND_RESN_CN VARCHAR2(1000) NULL , + RECOMEND_CONFM_AT CHAR(1) NULL , + CONFM_DE CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNRECOMENDSITEINFO_PK PRIMARY KEY (RECOMEND_SITE_ID) +); + + + +CREATE TABLE COMTNINTNETSVC +( + INTNET_SVC_ID CHAR(20) NOT NULL , + INTNET_SVC_NM VARCHAR2(20) NOT NULL , + INTNET_SVC_DC VARCHAR2(200) NULL , + REFLCT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNINTNETSVC_PK PRIMARY KEY (INTNET_SVC_ID) +); + + + +CREATE TABLE COMTNCLUB +( + CLB_ID CHAR(20) NOT NULL , + CMMNTY_ID CHAR(20) NOT NULL , + CLB_NM VARCHAR2(255) NOT NULL , + CLB_INTRCN VARCHAR2(2400) NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + TMPLAT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNCLUB_PK PRIMARY KEY (CLB_ID,CMMNTY_ID) +); + + + +CREATE TABLE COMTNCLUBUSER +( + CLB_ID CHAR(20) NOT NULL , + CMMNTY_ID CHAR(20) NOT NULL , + OPRTR_AT CHAR(1) NOT NULL , + SBSCRB_DE DATE NULL , + SECSN_DE CHAR(20) NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + EMPLYR_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNCLUBUSER_PK PRIMARY KEY (CLB_ID,CMMNTY_ID,EMPLYR_ID), +CONSTRAINT COMTNCLUBUSER_FK1 FOREIGN KEY (CLB_ID,CMMNTY_ID) REFERENCES COMTNCLUB(CLB_ID,CMMNTY_ID) +); + + + +CREATE INDEX COMTNCLUBUSER_i01 ON COMTNCLUBUSER +(CLB_ID ASC,CMMNTY_ID ASC); + + + +CREATE TABLE COMTNBACKUPOPERT +( + BACKUP_OPERT_ID VARCHAR2(20) NOT NULL , + BACKUP_OPERT_NM VARCHAR2(60) NULL , + BACKUP_ORGINL_DRCTRY VARCHAR2(255) NULL , + BACKUP_STRE_DRCTRY VARCHAR2(255) NULL , + CMPRS_SE VARCHAR2(2) NULL , + EXECUT_CYCLE VARCHAR2(2) NULL , + EXECUT_SCHDUL_DE CHAR(20) NULL , + EXECUT_SCHDUL_HOUR CHAR(2) NULL , + EXECUT_SCHDUL_MNT CHAR(2) NULL , + EXECUT_SCHDUL_SECND CHAR(2) NULL , + USE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNBACKUPOPERT_PK PRIMARY KEY (BACKUP_OPERT_ID) +); + + + +CREATE TABLE COMTNBACKUPSCHDULDFK +( + BACKUP_OPERT_ID VARCHAR2(20) NOT NULL , + EXECUT_SCHDUL_DFK_SE CHAR(1) NOT NULL , +CONSTRAINT COMTNBACKUPSCHDULDFK_PK PRIMARY KEY (BACKUP_OPERT_ID,EXECUT_SCHDUL_DFK_SE), +CONSTRAINT COMTNBACKUPSCHDULDFK_FK1 FOREIGN KEY (BACKUP_OPERT_ID) REFERENCES COMTNBACKUPOPERT(BACKUP_OPERT_ID) +); + + + +CREATE TABLE COMTNCMMNTY +( + CMMNTY_ID CHAR(20) NOT NULL , + CMMNTY_NM VARCHAR2(255) NOT NULL , + CMMNTY_INTRCN VARCHAR2(2400) NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + TMPLAT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNCMMNTY_PK PRIMARY KEY (CMMNTY_ID) +); + + + +CREATE TABLE COMTNCMMNTYUSER +( + CMMNTY_ID CHAR(20) NOT NULL , + EMPLYR_ID VARCHAR2(20) NOT NULL , + MNGR_AT CHAR(1) NOT NULL , + MBER_STTUS VARCHAR2(15) NULL, + SBSCRB_DE DATE NULL , + SECSN_DE CHAR(20) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNCMMNTYUSER_PK PRIMARY KEY (CMMNTY_ID,EMPLYR_ID), +CONSTRAINT COMTNCMMNTYUSER_FK1 FOREIGN KEY (CMMNTY_ID) REFERENCES COMTNCMMNTY(CMMNTY_ID) +); + + + +CREATE INDEX COMTNCMMNTYUSER_i01 ON COMTNCMMNTYUSER +(CMMNTY_ID ASC); + + + +CREATE TABLE COMTNFILEDETAIL +( + ATCH_FILE_ID CHAR(20) NOT NULL , + FILE_SN NUMBER(10) NOT NULL , + FILE_STRE_COURS VARCHAR2(2000) NOT NULL , + STRE_FILE_NM VARCHAR2(255) NOT NULL , + ORIGNL_FILE_NM VARCHAR2(255) NULL , + FILE_EXTSN VARCHAR2(20) NOT NULL , + FILE_CN CLOB NULL , + FILE_SIZE NUMBER(8) NULL , +CONSTRAINT COMTNFILEDETAIL_PK PRIMARY KEY (ATCH_FILE_ID,FILE_SN), +CONSTRAINT COMTNFILEDETAIL_FK1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) +); + + + +CREATE INDEX COMTNFILEDETAIL_i01 ON COMTNFILEDETAIL +(ATCH_FILE_ID ASC); + + + +CREATE TABLE COMTNLOGINPOLICY +( + EMPLYR_ID VARCHAR2(20) NOT NULL , + IP_INFO VARCHAR2(23) NOT NULL , + DPLCT_PERM_AT CHAR(1) NOT NULL , + LMTT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNLOGINPOLICY_PK PRIMARY KEY (EMPLYR_ID) +); + + + +CREATE TABLE COMTNQUSTNRTMPLAT +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QUSTNR_TMPLAT_TY VARCHAR2(100) NULL , + QUSTNR_TMPLAT_DC VARCHAR2(2000) NULL , + QUSTNR_TMPLAT_PATH_NM VARCHAR2(100) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + QUSTNR_TMPLAT_IMAGE_INFO BLOB NULL , +CONSTRAINT COMTNQUSTNRTMPLAT_PK PRIMARY KEY (QUSTNR_TMPLAT_ID) +); + + + +CREATE TABLE COMTNQESTNRINFO +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_SJ VARCHAR2(255) NULL , + QUSTNR_PURPS VARCHAR2(1000) NULL , + QUSTNR_WRITNG_GUIDANCE_CN VARCHAR2(2000) NULL , + QUSTNR_TRGET VARCHAR2(1000) NULL , + QUSTNR_BGNDE CHAR(20) NULL , + QUSTNR_ENDDE CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNQESTNRINFO_PK PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID), +CONSTRAINT COMTNQESTNRINFO_FK1 FOREIGN KEY (QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRTMPLAT(QUSTNR_TMPLAT_ID) +); + + + +CREATE INDEX COMTNQESTNRINFO_i01 ON COMTNQESTNRINFO +(QUSTNR_TMPLAT_ID ASC); + + + +CREATE TABLE COMTNQUSTNRRESPONDINFO +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_RESPOND_ID CHAR(20) NOT NULL , + SEXDSTN_CODE CHAR(1) NULL , + OCCP_TY_CODE CHAR(1) NULL , + RESPOND_NM VARCHAR2(50) NULL , + BRTHDY CHAR(20) NULL , + AREA_NO VARCHAR2(4) NULL , + MIDDLE_TELNO VARCHAR2(4) NULL , + END_TELNO VARCHAR2(4) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNQUSTNRRESPONDINFO_PK PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID,QUSTNR_RESPOND_ID), +CONSTRAINT COMTNQUSTNRRESPONDINFO_FK1 FOREIGN KEY (QUSTNR_TMPLAT_ID,QESTNR_ID) REFERENCES COMTNQESTNRINFO(QUSTNR_TMPLAT_ID,QESTNR_ID) +); + + + +CREATE INDEX COMTNQUSTNRRESPONDINFO_i01 ON COMTNQUSTNRRESPONDINFO +(QESTNR_ID ASC,QUSTNR_TMPLAT_ID ASC); + + + +CREATE TABLE COMTCADMINISTCODE +( + ADMINIST_ZONE_SE CHAR(1) NOT NULL , + ADMINIST_ZONE_CODE VARCHAR2(10) NOT NULL , + USE_AT CHAR(1) NOT NULL , + ADMINIST_ZONE_NM VARCHAR2(60) NULL , + UPPER_ADMINIST_ZONE_CODE VARCHAR2(10) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTCADMINISTCODE_PK PRIMARY KEY (ADMINIST_ZONE_SE,ADMINIST_ZONE_CODE) +); + + + +CREATE TABLE COMTNUSERLOG +( + OCCRRNC_DE CHAR(8) NOT NULL , + RQESTER_ID VARCHAR2(20) NOT NULL , + SVC_NM VARCHAR2(255) NOT NULL , + METHOD_NM VARCHAR2(60) NOT NULL , + CREAT_CO NUMBER(10) NULL , + UPDT_CO NUMBER(10) NULL , + RDCNT NUMBER(10) NULL , + DELETE_CO NUMBER(10) NULL , + OUTPT_CO NUMBER(10) NULL , + ERROR_CO NUMBER(10) NULL , +CONSTRAINT COMTNUSERLOG_PK PRIMARY KEY (OCCRRNC_DE,RQESTER_ID,SVC_NM,METHOD_NM) +); + + + +CREATE TABLE COMTSTRSMRCVLOGSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL , + TRSMRCV_SE_CODE CHAR(3) NOT NULL , + PROVD_INSTT_ID CHAR(8) NOT NULL , + PROVD_SYS_ID CHAR(8) NOT NULL , + PROVD_SVC_ID CHAR(8) NOT NULL , + REQUST_INSTT_ID CHAR(8) NOT NULL , + REQUST_SYS_ID CHAR(8) NOT NULL , + RDCNT NUMBER(10) NULL , + ERROR_CO NUMBER(10) NULL , +CONSTRAINT COMTSTRSMRCVLOGSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,TRSMRCV_SE_CODE,PROVD_INSTT_ID,PROVD_SYS_ID,PROVD_SVC_ID,REQUST_INSTT_ID,REQUST_SYS_ID) +); + + + +CREATE TABLE COMTCCMMNCLCODE +( + CL_CODE CHAR(3) NOT NULL , + CL_CODE_NM VARCHAR2(60) NULL , + CL_CODE_DC VARCHAR2(200) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTCCMMNCLCODE_PK PRIMARY KEY (CL_CODE) +); + + + +CREATE TABLE COMTCCMMNCODE +( + CODE_ID VARCHAR2(6) NOT NULL , + CODE_ID_NM VARCHAR2(60) NULL , + CODE_ID_DC VARCHAR2(200) NULL , + USE_AT CHAR(1) NULL , + CL_CODE CHAR(3) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTCCMMNCODE_PK PRIMARY KEY (CODE_ID), +CONSTRAINT COMTCCMMNCODE_FK1 FOREIGN KEY (CL_CODE) REFERENCES COMTCCMMNCLCODE(CL_CODE) ON DELETE CASCADE +); + + + +CREATE INDEX COMTCCMMNCODE_i01 ON COMTCCMMNCODE +(CL_CODE ASC); + + + +CREATE TABLE COMTCCMMNDETAILCODE +( + CODE_ID VARCHAR2(6) NOT NULL , + CODE VARCHAR2(15) NOT NULL , + CODE_NM VARCHAR2(60) NULL , + CODE_DC VARCHAR2(200) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTCCMMNDETAILCODE_PK PRIMARY KEY (CODE_ID,CODE), +CONSTRAINT COMTCCMMNDETAILCODE_FK1 FOREIGN KEY (CODE_ID) REFERENCES COMTCCMMNCODE(CODE_ID) +); + + + +CREATE INDEX COMTCCMMNDETAILCODE_i01 ON COMTCCMMNDETAILCODE +(CODE_ID ASC); + + + +CREATE TABLE COMTSBBSSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL , + STATS_SE VARCHAR2(10) NOT NULL , + DETAIL_STATS_SE VARCHAR2(10) NOT NULL , + CREAT_CO NUMBER(10) NULL , + TOT_RDCNT NUMBER(10) NULL , + AVRG_RDCNT NUMBER(10) NULL , + TOP_INQIRE_BBSCTT_ID VARCHAR2(20) NULL , + MUMM_INQIRE_BBSCTT_ID VARCHAR2(20) NULL , + TOP_NTCR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTSBBSSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,STATS_SE,DETAIL_STATS_SE) +); + + + +CREATE TABLE COMTCZIP +( + ZIP VARCHAR2(6) NOT NULL , + SN NUMBER(10) NOT NULL , + CTPRVN_NM VARCHAR2(20) NULL , + SIGNGU_NM VARCHAR2(20) NULL , + EMD_NM VARCHAR2(60) NULL , + LI_BULD_NM VARCHAR2(60) NULL , + LNBR_DONG_HO VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTCZIP_PK PRIMARY KEY (ZIP,SN) +); + + + +CREATE TABLE COMTRDNMADRZIP +( + RDMN_CODE VARCHAR2(12) NOT NULL, + SN NUMBER(10) NOT NULL, + CTPRVN_NM VARCHAR2(20) NULL, + SIGNGU_NM VARCHAR2(20) NULL, + RDMN VARCHAR2(60) NULL, + BDNBR_MNNM VARCHAR2(5) NULL, + BDNBR_SLNO VARCHAR2(5) NULL, + BULD_NM VARCHAR2(60) NULL, + DETAIL_BULD_NM VARCHAR2(60) NULL, + ZIP VARCHAR2(6) NOT NULL, + FRST_REGIST_PNTTM DATE NULL, + FRST_REGISTER_ID VARCHAR2(20) NULL, + LAST_UPDT_PNTTM DATE NULL, + LAST_UPDUSR_ID VARCHAR2(20) NULL, +CONSTRAINT COMTRDNMADRZIP_PK PRIMARY KEY (SN) +); + + + +CREATE TABLE COMTNNCRD +( + NCRD_ID CHAR(20) NOT NULL , + NCRD_TRGTER_ID VARCHAR2(20) NULL , + NM VARCHAR2(50) NOT NULL , + TELNO VARCHAR2(20) NULL , + NATION_NO VARCHAR2(10) NULL , + AREA_NO VARCHAR2(4) NULL , + MIDDLE_TELNO VARCHAR2(4) NULL , + END_TELNO VARCHAR2(4) NULL , + MBTLNUM VARCHAR2(20) NULL , + IDNTFC_NO VARCHAR2(10) NULL , + MIDDLE_MBTLNUM VARCHAR2(4) NULL , + END_MBTLNUM VARCHAR2(4) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + CMPNY_NM VARCHAR2(60) NULL , + DEPT_NM VARCHAR2(60) NULL , + ADRES VARCHAR2(100) NULL , + DETAIL_ADRES VARCHAR2(100) NULL , + OFCPS_NM VARCHAR2(60) NULL , + CLSF_NM VARCHAR2(60) NULL , + EXTRL_USER_AT CHAR(1) NULL , + OTHBC_AT CHAR(1) NOT NULL , + RM VARCHAR2(2500) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNNCRD_PK PRIMARY KEY (NCRD_ID) +); + + + +CREATE TABLE COMTNNCRDUSER +( + NCRD_ID CHAR(20) NOT NULL , + REGIST_SE_CODE CHAR(6) NOT NULL , + USE_AT CHAR(1) NOT NULL , + CREAT_DT DATE NOT NULL , + EMPLYR_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNNCRDUSER_PK PRIMARY KEY (NCRD_ID,EMPLYR_ID), +CONSTRAINT COMTNNCRDUSER_FK1 FOREIGN KEY (NCRD_ID) REFERENCES COMTNNCRD(NCRD_ID) +); + + + +CREATE INDEX COMTNNCRDUSER_i03 ON COMTNNCRDUSER +(NCRD_ID ASC); + + + +CREATE TABLE COMTNENTRPRSMBER +( + ENTRPRS_MBER_ID VARCHAR2(20) NOT NULL , + ENTRPRS_SE_CODE CHAR(8) NULL , + BIZRNO VARCHAR2(10) NULL , + JURIRNO VARCHAR2(13) NULL , + CMPNY_NM VARCHAR2(60) NOT NULL , + CXFC VARCHAR2(50) NULL , + ZIP VARCHAR2(6) NOT NULL , + ADRES VARCHAR2(100) NOT NULL , + ENTRPRS_MIDDLE_TELNO VARCHAR2(4) NOT NULL , + FXNUM VARCHAR2(20) NULL , + INDUTY_CODE CHAR(1) NULL , + APPLCNT_NM VARCHAR2(50) NOT NULL , + APPLCNT_IHIDNUM VARCHAR2(200) NULL , + SBSCRB_DE DATE NULL , + ENTRPRS_MBER_STTUS VARCHAR2(15) NULL , + ENTRPRS_MBER_PASSWORD VARCHAR2(200) NULL , + ENTRPRS_MBER_PASSWORD_HINT VARCHAR2(100) NOT NULL , + ENTRPRS_MBER_PASSWORD_CNSR VARCHAR2(100) NOT NULL , + GROUP_ID CHAR(20) NULL , + DETAIL_ADRES VARCHAR2(100) NULL , + ENTRPRS_END_TELNO VARCHAR2(4) NOT NULL , + AREA_NO VARCHAR2(4) NOT NULL , + APPLCNT_EMAIL_ADRES VARCHAR2(50) NOT NULL , + ESNTL_ID CHAR(20) NOT NULL , + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMBER(3) NULL, + LOCK_LAST_PNTTM DATE NULL, + CHG_PWD_LAST_PNTTM DATE NULL, +CONSTRAINT COMTNENTRPRSMBER_PK PRIMARY KEY (ENTRPRS_MBER_ID), +CONSTRAINT COMTNENTRPRSMBER_FK1 FOREIGN KEY (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNENTRPRSMBER_i01 ON COMTNENTRPRSMBER +(GROUP_ID ASC); + + + +CREATE TABLE COMTNGNRLMBER +( + MBER_ID VARCHAR2(20) NOT NULL , + PASSWORD VARCHAR2(200) NOT NULL , + PASSWORD_HINT VARCHAR2(100) NULL , + PASSWORD_CNSR VARCHAR2(100) NULL , + IHIDNUM VARCHAR2(200) NULL , + MBER_NM VARCHAR2(50) NOT NULL , + ZIP VARCHAR2(6) NOT NULL , + ADRES VARCHAR2(100) NOT NULL , + AREA_NO VARCHAR2(4) NOT NULL , + MBER_STTUS VARCHAR2(15) NULL , + DETAIL_ADRES VARCHAR2(100) NULL , + END_TELNO VARCHAR2(4) NOT NULL , + MBTLNUM VARCHAR2(20) NOT NULL , + GROUP_ID CHAR(20) NULL , + MBER_FXNUM VARCHAR2(20) NULL , + MBER_EMAIL_ADRES VARCHAR2(50) NULL , + MIDDLE_TELNO VARCHAR2(4) NOT NULL , + SBSCRB_DE DATE NULL , + SEXDSTN_CODE CHAR(1) NULL , + ESNTL_ID CHAR(20) NOT NULL , + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMBER(3) NULL, + LOCK_LAST_PNTTM DATE NULL, + CHG_PWD_LAST_PNTTM DATE NULL, +CONSTRAINT COMTNGNRLMBER_PK PRIMARY KEY (MBER_ID), +CONSTRAINT COMTNGNRLMBER_FK1 FOREIGN KEY (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNGNRLMBER_i01 ON COMTNGNRLMBER +(GROUP_ID ASC); + + + +CREATE TABLE COMTNAUTHORINFO +( + AUTHOR_CODE VARCHAR2(30) NOT NULL , + AUTHOR_NM VARCHAR2(60) NOT NULL , + AUTHOR_DC VARCHAR2(200) NULL , + AUTHOR_CREAT_DE CHAR(20) NOT NULL , +CONSTRAINT COMTNAUTHORINFO_PK PRIMARY KEY (AUTHOR_CODE) +); + + + +CREATE TABLE COMTNEMPLYRSCRTYESTBS +( + SCRTY_DTRMN_TRGET_ID VARCHAR2(20) NOT NULL , + MBER_TY_CODE CHAR(5) NULL , + AUTHOR_CODE VARCHAR2(30) NOT NULL +); + + + + + + +CREATE INDEX COMTNEMPLYRSCRTYESTBS_i04 ON COMTNEMPLYRSCRTYESTBS +(AUTHOR_CODE ASC); + + + +CREATE TABLE COMTNQAINFO +( + QA_ID CHAR(20) NOT NULL , + QESTN_SJ VARCHAR2(255) NULL , + QESTN_CN VARCHAR2(2500) NULL , + WRITNG_DE CHAR(20) NULL , + RDCNT NUMBER(10) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + QNA_PROCESS_STTUS_CODE CHAR(1) NULL , + WRTER_NM VARCHAR2(20) NULL , + ANSWER_CN VARCHAR2(2500) NULL , + WRITNG_PASSWORD VARCHAR2(20) NULL , + ANSWER_DE CHAR(20) NULL , + EMAIL_ANSWER_AT CHAR(1) NULL , + AREA_NO VARCHAR2(4) NULL , + MIDDLE_TELNO VARCHAR2(4) NULL , + END_TELNO VARCHAR2(4) NULL , +CONSTRAINT COMTNQAINFO_PK PRIMARY KEY (QA_ID) +); + + + +CREATE TABLE COMTSWEBLOGSUMMARY +( + OCCRRNC_DE CHAR(8) NOT NULL , + URL VARCHAR2(200) NOT NULL , + RDCNT NUMBER(10) NULL , +CONSTRAINT COMTSWEBLOGSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,URL) +); + + + +CREATE TABLE COMTNROLES_HIERARCHY +( + PARNTS_ROLE VARCHAR2(30) NOT NULL , + CHLDRN_ROLE VARCHAR2(30) NOT NULL , +CONSTRAINT COMTNROLES_HIERARCHY_PK PRIMARY KEY (PARNTS_ROLE,CHLDRN_ROLE), +CONSTRAINT COMTNROLES_HIERARCHY_FK1 FOREIGN KEY (PARNTS_ROLE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) ON DELETE CASCADE, +CONSTRAINT COMTNROLES_HIERARCHY_FK2 FOREIGN KEY (CHLDRN_ROLE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) ON DELETE CASCADE +); + + + +CREATE UNIQUE INDEX COMTNROLES_HIERARCHY_i01 ON COMTNROLES_HIERARCHY +(PARNTS_ROLE ASC); + + + +CREATE INDEX COMTNROLES_HIERARCHY_i02 ON COMTNROLES_HIERARCHY +(CHLDRN_ROLE ASC); + + + +CREATE TABLE COMTNROLEINFO +( + ROLE_CODE VARCHAR2(50) NOT NULL , + ROLE_NM VARCHAR2(60) NOT NULL , + ROLE_PTTRN VARCHAR2(300) NULL , + ROLE_DC VARCHAR2(200) NULL , + ROLE_TY VARCHAR2(80) NULL , + ROLE_SORT VARCHAR2(10) NULL , + ROLE_CREAT_DE CHAR(20) NOT NULL , +CONSTRAINT COMTNROLEINFO_PK PRIMARY KEY (ROLE_CODE) +); + + + +CREATE TABLE COMTNAUTHORROLERELATE +( + AUTHOR_CODE VARCHAR2(30) NOT NULL , + ROLE_CODE VARCHAR2(50) NOT NULL , + CREAT_DT DATE NULL , +CONSTRAINT COMTNAUTHORROLERELATE_PK PRIMARY KEY (AUTHOR_CODE,ROLE_CODE), +CONSTRAINT COMTNAUTHORROLERELATE_FK1 FOREIGN KEY (AUTHOR_CODE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) ON DELETE CASCADE, +CONSTRAINT COMTNAUTHORROLERELATE_FK2 FOREIGN KEY (ROLE_CODE) REFERENCES COMTNROLEINFO(ROLE_CODE) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNAUTHORROLERELATE_i01 ON COMTNAUTHORROLERELATE +(AUTHOR_CODE ASC); + + + +CREATE INDEX COMTNAUTHORROLERELATE_i02 ON COMTNAUTHORROLERELATE +(ROLE_CODE ASC); + + + +CREATE TABLE COMTNLOGINLOG +( + LOG_ID CHAR(20) NOT NULL , + CONECT_ID VARCHAR2(20) NULL , + CONECT_IP VARCHAR2(23) NULL , + CONECT_MTHD CHAR(4) NULL , + ERROR_OCCRRNC_AT CHAR(1) NULL , + ERROR_CODE CHAR(3) NULL , + CREAT_DT DATE NULL , +CONSTRAINT COMTNLOGINLOG_PK PRIMARY KEY (LOG_ID) +); + + + +CREATE TABLE COMTNWEBLOG +( + REQUST_ID VARCHAR2(20) NOT NULL , + OCCRRNC_DE DATE NULL , + URL VARCHAR2(200) NULL , + RQESTER_ID VARCHAR2(20) NULL , + RQESTER_IP VARCHAR2(23) NULL , +CONSTRAINT COMTNWEBLOG_PK PRIMARY KEY (REQUST_ID) +); + + + +CREATE TABLE COMTNEVENTINFO +( + EVENT_ID CHAR(20) NOT NULL , + BSNS_YEAR CHAR(4) NULL , + BSNS_CODE VARCHAR2(2) NULL , + EVENT_CN VARCHAR2(1000) NULL , + EVENT_SVC_BGNDE CHAR(20) NULL , + SVC_USE_NMPR_CO NUMBER(10) NULL , + CHARGER_NM VARCHAR2(50) NULL , + PRPARETG_CN VARCHAR2(2500) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + EVENT_SVC_ENDDE CHAR(20) NULL , + EVENT_TY_CODE CHAR(1) NULL , + EVENT_CONFM_AT CHAR(1) NULL , + EVENT_CONFM_DE CHAR(20) NULL , +CONSTRAINT COMTNEVENTINFO_PK PRIMARY KEY (EVENT_ID) +); + + + +CREATE TABLE COMTNEXTRLHRINFO +( + EVENT_ID CHAR(20) NOT NULL , + EXTRL_HR_ID CHAR(20) NOT NULL , + SEXDSTN_CODE CHAR(1) NULL , + EXTRL_HR_NM VARCHAR2(60) NULL , + OCCP_TY_CODE CHAR(1) NULL , + PSITN_INSTT_NM VARCHAR2(100) NULL , + BRTHDY CHAR(20) NULL , + AREA_NO VARCHAR2(4) NULL , + MIDDLE_TELNO VARCHAR2(4) NULL , + END_TELNO VARCHAR2(4) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNEXTRLHRINFO_PK PRIMARY KEY (EVENT_ID,EXTRL_HR_ID), +CONSTRAINT COMTNEXTRLHRINFO_FK1 FOREIGN KEY (EVENT_ID) REFERENCES COMTNEVENTINFO(EVENT_ID) +); + + + +CREATE INDEX COMTNEXTRLHRINFO_i01 ON COMTNEXTRLHRINFO +(EVENT_ID ASC); + + + +CREATE TABLE COMTNBBSUSE +( + BBS_ID CHAR(20) NOT NULL , + TRGET_ID CHAR(20) NOT NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNBBSUSE_PK PRIMARY KEY (BBS_ID,TRGET_ID), +CONSTRAINT COMTNBBSUSE_FK1 FOREIGN KEY (BBS_ID) REFERENCES COMTNBBSMASTER(BBS_ID) +); + + + +CREATE INDEX COMTNBBSUSE_i01 ON COMTNBBSUSE +(BBS_ID ASC); + + + +CREATE TABLE COMTNSTPLATINFO +( + USE_STPLAT_ID CHAR(20) NOT NULL , + USE_STPLAT_NM VARCHAR2(100) NULL , + USE_STPLAT_CN CLOB NULL , + INFO_PROVD_AGRE_CN CLOB NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNSTPLATINFO_PK PRIMARY KEY (USE_STPLAT_ID) +); + + + +CREATE TABLE COMTNQUSTNRQESITM +( + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_QESITM_ID CHAR(20) NOT NULL , + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTN_SN NUMBER(10) NULL , + QESTN_TY_CODE CHAR(1) NULL , + QESTN_CN VARCHAR2(2500) NULL , + MXMM_CHOISE_CO NUMBER(5) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNQUSTNRQESITM_PK PRIMARY KEY (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID), +CONSTRAINT COMTNQUSTNRQESITM_FK1 FOREIGN KEY (QUSTNR_TMPLAT_ID,QESTNR_ID) REFERENCES COMTNQESTNRINFO(QUSTNR_TMPLAT_ID,QESTNR_ID) +); + + + +CREATE INDEX COMTNQUSTNRQESITM_i02 ON COMTNQUSTNRQESITM +(QESTNR_ID ASC,QUSTNR_TMPLAT_ID ASC); + + + +CREATE TABLE COMTNQUSTNRRSPNSRESULT +( + QUSTNR_RSPNS_RESULT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_QESITM_ID CHAR(20) NOT NULL , + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + RESPOND_ANSWER_CN VARCHAR2(1000) NULL , + ETC_ANSWER_CN VARCHAR2(1000) NULL , + RESPOND_NM VARCHAR2(50) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + QUSTNR_IEM_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNQUSTNRRSPNSRESULT_PK PRIMARY KEY (QUSTNR_RSPNS_RESULT_ID,QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID), +CONSTRAINT COMTNQUSTNRRSPNSRESULT_FK1 FOREIGN KEY (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRQESITM(QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) +); + + + +CREATE INDEX COMTNQUSTNRRSPNSRESULT_i01 ON COMTNQUSTNRRSPNSRESULT +(QESTNR_ID ASC,QUSTNR_QESITM_ID ASC,QUSTNR_TMPLAT_ID ASC); + + + +CREATE TABLE COMTNADBKMANAGE +( + ADBK_ID CHAR(20) NOT NULL , + ADBK_NM VARCHAR2(50) NOT NULL , + OTHBC_SCOPE VARCHAR2(20) NOT NULL , + USE_AT CHAR(1) NOT NULL , + WRTER_ID VARCHAR2(20) NULL , + TRGET_ORGNZT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNADBKMANAGE_PK PRIMARY KEY (ADBK_ID) +); + + + +CREATE TABLE COMTNADBK +( + EMPLYR_ID VARCHAR2(20) NULL , + NCRD_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + ADBK_CONSTNT_ID CHAR(20) NOT NULL , + NM VARCHAR2(50) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + MBTLNUM VARCHAR2(20) NULL , + FXNUM VARCHAR2(20) NULL , + OFFM_TELNO VARCHAR2(20) NULL , + HOUSE_TELNO VARCHAR2(20) NULL , + ADBK_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNADBK_PK PRIMARY KEY (ADBK_CONSTNT_ID,ADBK_ID), +CONSTRAINT COMTNADBK_FK1 FOREIGN KEY (ADBK_ID) REFERENCES COMTNADBKMANAGE(ADBK_ID) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNADBK_i01 ON COMTNADBK +(ADBK_ID ASC); + + + +CREATE TABLE COMTNQUSTNRIEM +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_QESITM_ID CHAR(20) NOT NULL , + QUSTNR_IEM_ID VARCHAR2(20) NOT NULL , + IEM_SN NUMBER(5) NULL , + IEM_CN VARCHAR2(1000) NULL , + ETC_ANSWER_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNQUSTNRIEM_PK PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_IEM_ID), +CONSTRAINT COMTNQUSTNRIEM_FK1 FOREIGN KEY (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRQESITM(QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) +); + + + +CREATE INDEX COMTNQUSTNRIEM_i01 ON COMTNQUSTNRIEM +(QUSTNR_QESITM_ID ASC,QESTNR_ID ASC,QUSTNR_TMPLAT_ID ASC); + + + +CREATE TABLE COMTNADMINISTRATIONWORD +( + ADMINIST_WORD_ID CHAR(20) NOT NULL , + ADMINIST_WORD_NM VARCHAR2(255) NULL , + ADMINIST_WORD_ENG_NM VARCHAR2(255) NULL , + ADMINIST_WORD_ABRV_NM VARCHAR2(255) NULL , + THEMA_RELM VARCHAR2(255) NULL , + WORD_SE VARCHAR2(255) NULL , + RELATE_STD_WORD VARCHAR2(255) NULL , + ADMINIST_WORD_DFN VARCHAR2(2500) NULL , + ADMINIST_WORD_DC VARCHAR2(4000) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNADMINISTRATIONWORD_PK PRIMARY KEY (ADMINIST_WORD_ID) +); + + + +CREATE TABLE COMTNONLINEMANUAL +( + ONLINE_MNL_ID CHAR(20) NOT NULL , + ONLINE_MNL_SE_CODE CHAR(3) NULL , + ONLINE_MNL_DFN CLOB NULL , + ONLINE_MNL_DC CLOB NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + ONLINE_MNL_NM VARCHAR2(255) NULL , +CONSTRAINT COMTNONLINEMANUAL_PK PRIMARY KEY (ONLINE_MNL_ID) +); + + + +CREATE TABLE COMTSUSERSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL , + STATS_SE VARCHAR2(10) NOT NULL , + DETAIL_STATS_SE VARCHAR2(10) NOT NULL , + USER_CO NUMBER(10) NULL , +CONSTRAINT COMTSUSERSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,STATS_SE,DETAIL_STATS_SE) +); + + + +CREATE TABLE COMTNFAQINFO +( + FAQ_ID CHAR(20) NOT NULL , + QESTN_SJ VARCHAR2(255) NULL , + QESTN_CN VARCHAR2(2500) NULL , + ANSWER_CN VARCHAR2(2500) NULL , + RDCNT NUMBER(10) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , + QNA_PROCESS_STTUS_CODE CHAR(1) NULL , +CONSTRAINT COMTNFAQINFO_PK PRIMARY KEY (FAQ_ID) +); + + + + + +CREATE TABLE COMTNMTGINFO +( + MTG_ID CHAR(20) NOT NULL , + MTG_NM VARCHAR2(255) NULL , + MTG_MTR_CN VARCHAR2(1000) NULL , + MTG_SN NUMBER(10) NULL , + MTG_CO NUMBER(5) NULL , + MTG_DE CHAR(20) NULL , + MTG_PLACE VARCHAR2(255) NULL , + MTG_BEGIN_TM VARCHAR2(14) NULL , + MTG_END_TM VARCHAR2(14) NULL , + CLSDR_MTG_AT CHAR(1) NULL , + READNG_BGNDE CHAR(20) NULL , + READNG_AT CHAR(1) NULL , + MTG_RESULT_CN VARCHAR2(1000) NULL , + MTG_RESULT_ENNC CHAR(1) NULL , + ETC_MATTER VARCHAR2(1000) NULL , + MNGT_DEPT_ID VARCHAR2(20) NULL , + MNAER_ID VARCHAR2(20) NULL , + MNAER_DEPT_ID VARCHAR2(20) NULL , + MTG_AT CHAR(1) NULL , + NONATDRN_CO NUMBER(10) NULL , + ATDRN_CO NUMBER(10) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNMTGINFO_PK PRIMARY KEY (MTG_ID) +); + + + +CREATE TABLE COMTNREPRTSTATS +( + REPRT_ID CHAR(6) NOT NULL , + REPRT_NM VARCHAR2(20) NOT NULL , + REPRT_STTUS CHAR(2) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + REPRT_TY CHAR(2) NULL , +CONSTRAINT COMTNREPRTSTATS_PK PRIMARY KEY (REPRT_ID) +); + + + +CREATE TABLE COMTNSMS +( + SMS_ID CHAR(20) NOT NULL , + TRNSMIS_TELNO VARCHAR2(12) NOT NULL , + TRNSMIS_CN VARCHAR2(80) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNSMS_PK PRIMARY KEY (SMS_ID) +); + + + +CREATE TABLE COMTNSMSRECPTN +( + SMS_ID CHAR(20) NOT NULL , + RECPTN_TELNO VARCHAR2(12) NOT NULL , + RESULT_CODE VARCHAR2(4) NULL , + RESULT_MSSAGE VARCHAR2(4000) NULL , +CONSTRAINT COMTNSMSRECPTN_PK PRIMARY KEY (SMS_ID,RECPTN_TELNO), +CONSTRAINT COMTNSMSRECPTN_FK1 FOREIGN KEY (SMS_ID) REFERENCES COMTNSMS(SMS_ID) +); + + + +CREATE INDEX COMTNSMSRECPTN_i01 ON COMTNSMSRECPTN +(SMS_ID ASC); + + + +CREATE TABLE COMTNCPYRHTINFO +( + CPYRHT_ID CHAR(20) NOT NULL , + CPYRHT_PRTC_POLICY_CN VARCHAR2(2500) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNCPYRHTINFO_PK PRIMARY KEY (CPYRHT_ID) +); + + + +CREATE TABLE COMTNSCHDULINFO +( + SCHDUL_ID CHAR(20) NOT NULL , + SCHDUL_SE CHAR(1) NULL , + SCHDUL_DEPT_ID VARCHAR2(20) NULL , + SCHDUL_KND_CODE CHAR(1) NULL , + SCHDUL_BGNDE CHAR(20) NULL , + SCHDUL_ENDDE CHAR(20) NULL , + SCHDUL_NM VARCHAR2(255) NULL , + SCHDUL_CN VARCHAR2(2500) NULL , + SCHDUL_PLACE VARCHAR2(255) NULL , + SCHDUL_IPCR_CODE CHAR(1) NULL , + SCHDUL_CHARGER_ID VARCHAR2(20) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + REPTIT_SE_CODE CHAR(1) NULL , +CONSTRAINT COMTNSCHDULINFO_PK PRIMARY KEY (SCHDUL_ID) +); + + + +CREATE TABLE COMTNDIARYINFO +( + SCHDUL_ID CHAR(20) NOT NULL , + DIARY_ID CHAR(20) NOT NULL , + DIARY_PROGRSRT NUMBER(3) NULL , + DIARY_NM VARCHAR2(255) NULL , + DRCT_MATTER VARCHAR2(2500) NULL , + PARTCLR_MATTER VARCHAR2(2500) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNDIARYINFO_PK PRIMARY KEY (SCHDUL_ID,DIARY_ID), +CONSTRAINT COMTNDIARYINFO_FK1 FOREIGN KEY (SCHDUL_ID) REFERENCES COMTNSCHDULINFO(SCHDUL_ID) +); + + + +CREATE INDEX COMTNDIARYINFO_i01 ON COMTNDIARYINFO +(SCHDUL_ID ASC); + + + +CREATE TABLE COMTNONLINEPOLLMANAGE +( + POLL_ID CHAR(20) NOT NULL , + POLL_NM VARCHAR2(255) NULL , + POLL_BGNDE CHAR(10) NULL , + POLL_ENDDE CHAR(10) NULL , + POLL_KND CHAR(3) NULL , + POLL_DSUSE_ENNC CHAR(1) NULL , + POLL_ATMC_DSUSE_ENNC CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNONLINEPOLLMANAGE_PK PRIMARY KEY (POLL_ID) +); + + + +CREATE TABLE COMTNONLINEPOLLIEM +( + POLL_IEM_NM VARCHAR2(255) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + POLL_IEM_ID CHAR(20) NOT NULL , + POLL_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNONLINEPOLLIEM_PK PRIMARY KEY (POLL_ID,POLL_IEM_ID), +CONSTRAINT COMTNONLINEPOLLIEM_FK1 FOREIGN KEY (POLL_ID) REFERENCES COMTNONLINEPOLLMANAGE(POLL_ID) +); + + + +CREATE INDEX COMTNONLINEPOLLIEM_i01 ON COMTNONLINEPOLLIEM +(POLL_ID ASC); + + + +CREATE TABLE COMTNONLINEPOLLRESULT +( + POLL_RESULT_ID CHAR(20) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + POLL_IEM_ID CHAR(20) NOT NULL , + POLL_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNONLINEPOLLRESULT_PK PRIMARY KEY (POLL_RESULT_ID,POLL_IEM_ID,POLL_ID), +CONSTRAINT COMTNONLINEPOLLRESULT_FK1 FOREIGN KEY (POLL_ID,POLL_IEM_ID) REFERENCES COMTNONLINEPOLLIEM(POLL_ID,POLL_IEM_ID) +); + + + +CREATE INDEX COMTNONLINEPOLLRESULT_i01 ON COMTNONLINEPOLLRESULT +(POLL_IEM_ID ASC,POLL_ID ASC); + + + +CREATE TABLE COMTNWORDDICARYINFO +( + WORD_ID CHAR(20) NOT NULL , + WORD_NM VARCHAR2(255) NULL , + ENG_NM VARCHAR2(60) NULL , + WORD_DC VARCHAR2(4000) NULL , + SYNONM VARCHAR2(100) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNWORDDICARYINFO_PK PRIMARY KEY (WORD_ID) +); + + + +CREATE TABLE COMTNCNTCSERVICE +( + INSTT_ID VARCHAR2(20) NOT NULL , + SYS_ID VARCHAR2(20) NOT NULL , + SVC_ID VARCHAR2(20) NOT NULL , + SVC_NM VARCHAR2(255) NULL , + REQUST_MSSAGE_ID VARCHAR2(20) NULL , + RSPNS_MSSAGE_ID VARCHAR2(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCSERVICE_PK PRIMARY KEY (INSTT_ID,SYS_ID,SVC_ID) +); + + + +CREATE TABLE COMTNHPCMINFO +( + HPCM_ID CHAR(20) NOT NULL , + HPCM_SE_CODE CHAR(1) NULL , + HPCM_DFN VARCHAR2(1000) NULL , + HPCM_DC VARCHAR2(2500) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNHPCMINFO_PK PRIMARY KEY (HPCM_ID) +); + + + +CREATE TABLE COMTNNEWSINFO +( + NEWS_ID CHAR(20) NOT NULL , + NEWS_SJ VARCHAR2(100) NULL , + NEWS_CN VARCHAR2(2500) NULL , + NEWS_ORIGIN VARCHAR2(250) NULL , + NTCE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NOT NULL , + NTCE_DE CHAR(20) NULL , + ATCH_FILE_ID CHAR(20) NULL , +CONSTRAINT COMTNNEWSINFO_PK PRIMARY KEY (NEWS_ID), +CONSTRAINT COMTNNEWSINFO_FK1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNNEWSINFO_i01 ON COMTNNEWSINFO +(ATCH_FILE_ID ASC); + + + +CREATE TABLE COMTNCNSLTLIST +( + CNSLT_ID CHAR(20) NOT NULL , + CNSLT_SJ VARCHAR2(255) NULL , + OTHBC_AT CHAR(1) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + CNSLT_CN VARCHAR2(2500) NULL , + MANAGT_CN VARCHAR2(2500) NULL , + MANAGT_DE CHAR(20) NULL , + RDCNT NUMBER(10) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + AREA_NO VARCHAR2(4) NULL , + MIDDLE_TELNO VARCHAR2(4) NULL , + END_TELNO VARCHAR2(4) NULL , + FRST_MBTLNUM VARCHAR2(4) NULL , + MIDDLE_MBTLNUM VARCHAR2(4) NULL , + END_MBTLNUM VARCHAR2(4) NULL , + WRITNG_DE CHAR(20) NULL , + WRTER_NM VARCHAR2(20) NULL , + EMAIL_ANSWER_AT CHAR(1) NULL , + QNA_PROCESS_STTUS_CODE CHAR(1) NULL , + WRITNG_PASSWORD VARCHAR2(20) NULL , +CONSTRAINT COMTNCNSLTLIST_PK PRIMARY KEY (CNSLT_ID) +); + + + +CREATE TABLE COMTNMENUINFO +( + MENU_NM VARCHAR2(60) NOT NULL , + PROGRM_FILE_NM VARCHAR2(60) NOT NULL , + MENU_NO NUMBER(20) NOT NULL , + UPPER_MENU_NO NUMBER(20) NULL , + MENU_ORDR NUMBER(5) NOT NULL , + MENU_DC VARCHAR2(250) NULL , + RELATE_IMAGE_PATH VARCHAR2(100) NULL , + RELATE_IMAGE_NM VARCHAR2(60) NULL , +CONSTRAINT COMTNMENUINFO_PK PRIMARY KEY (MENU_NO), +CONSTRAINT COMTNMENUINFO_FK2 FOREIGN KEY (PROGRM_FILE_NM) REFERENCES COMTNPROGRMLIST(PROGRM_FILE_NM) ON DELETE CASCADE, +CONSTRAINT COMTNMENUINFO_FK1 FOREIGN KEY (UPPER_MENU_NO) REFERENCES COMTNMENUINFO(MENU_NO) ON DELETE CASCADE +); + + + + + + +CREATE INDEX COMTNMENUINFO_i02 ON COMTNMENUINFO +(UPPER_MENU_NO ASC); + + + +CREATE TABLE COMTNSITEMAP +( + MAPNG_CREAT_ID VARCHAR2(30) NOT NULL , + CREATR_ID VARCHAR2(20) NOT NULL , + MAPNG_FILE_NM VARCHAR2(60) NOT NULL , + MAPNG_FILE_PATH VARCHAR2(100) NOT NULL , +CONSTRAINT COMTNSITEMAP_PK PRIMARY KEY (MAPNG_CREAT_ID) +); + + + +CREATE TABLE COMTNMENUCREATDTLS +( + MENU_NO NUMBER(20) NOT NULL , + AUTHOR_CODE VARCHAR2(30) NOT NULL , + MAPNG_CREAT_ID VARCHAR2(30) NULL , +CONSTRAINT COMTNMENUCREATDTLS_PK PRIMARY KEY (MENU_NO,AUTHOR_CODE), +CONSTRAINT COMTNMENUCREATDTLS_FK2 FOREIGN KEY (MENU_NO) REFERENCES COMTNMENUINFO(MENU_NO) ON DELETE CASCADE, +CONSTRAINT COMTNMENUCREATDTLS_FK3 FOREIGN KEY (MAPNG_CREAT_ID) REFERENCES COMTNSITEMAP(MAPNG_CREAT_ID) ON DELETE CASCADE, +CONSTRAINT COMTNMENUCREATDTLS_FK1 FOREIGN KEY (AUTHOR_CODE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) +); + + + +CREATE INDEX COMTNMENUCREATDTLS_i02 ON COMTNMENUCREATDTLS +(MENU_NO ASC); + + + +CREATE INDEX COMTNMENUCREATDTLS_i03 ON COMTNMENUCREATDTLS +(MAPNG_CREAT_ID ASC); + + + +CREATE INDEX COMTNMENUCREATDTLS_i04 ON COMTNMENUCREATDTLS +(AUTHOR_CODE ASC); + + + +CREATE TABLE COMTHEMPLYRINFOCHANGEDTLS +( + EMPLYR_ID VARCHAR2(20) NOT NULL , + CHANGE_DE CHAR(20) NULL , + ORGNZT_ID CHAR(20) NULL , + GROUP_ID CHAR(20) NULL , + EMPL_NO VARCHAR2(20) NULL , + SEXDSTN_CODE CHAR(1) NULL , + BRTHDY CHAR(20) NULL , + FXNUM VARCHAR2(20) NULL , + HOUSE_ADRES VARCHAR2(100) NULL , + HOUSE_END_TELNO VARCHAR2(4) NULL , + AREA_NO VARCHAR2(4) NULL , + DETAIL_ADRES VARCHAR2(100) NULL , + ZIP VARCHAR2(6) NULL , + OFFM_TELNO VARCHAR2(20) NULL , + MBTLNUM VARCHAR2(20) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + HOUSE_MIDDLE_TELNO VARCHAR2(4) NULL , + PSTINST_CODE CHAR(8) NULL , + EMPLYR_STTUS_CODE CHAR(1) NULL , + ESNTL_ID CHAR(20) NULL , +CONSTRAINT COMTHEMPLYRINFOCHANGEDTLS_PK PRIMARY KEY (EMPLYR_ID,CHANGE_DE), +CONSTRAINT COMTHEMPLYRINFOCHANGEDTLS_FK1 FOREIGN KEY (EMPLYR_ID) REFERENCES COMTNEMPLYRINFO(EMPLYR_ID) +); + + + +CREATE INDEX COMTHEMPLYRINFOCHANGEDTLS_i01 ON COMTHEMPLYRINFOCHANGEDTLS +(EMPLYR_ID ASC); + + + +CREATE TABLE COMTNNTFCINFO +( + NTCN_NO NUMBER(20) NOT NULL , + NTCN_SJ VARCHAR2(60) NOT NULL , + NTCN_CN VARCHAR2(100) NOT NULL , + NTCN_TM VARCHAR2(14) NOT NULL , + BH_NTCN_INTRVL VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNNTFCINFO_PK PRIMARY KEY (NTCN_NO) +); + + + +CREATE TABLE COMTNCNTCSYSTEM +( + INSTT_ID VARCHAR2(20) NOT NULL , + SYS_ID VARCHAR2(20) NOT NULL , + SYS_NM VARCHAR2(255) NULL , + SYS_IP VARCHAR2(23) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCSYSTEM_PK PRIMARY KEY (INSTT_ID,SYS_ID) +); + + + +CREATE TABLE COMTNBBSMASTEROPTN +( + BBS_ID CHAR(20) NOT NULL , + ANSWER_AT CHAR(1) NOT NULL , + STSFDG_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNBBSMASTEROPTN_PK PRIMARY KEY (BBS_ID) +); + + + +CREATE TABLE COMTNANSWER +( + NTT_ID NUMBER(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + WRTER_ID VARCHAR2(20) NULL , + ANSWER VARCHAR2(200) NULL , + USE_AT CHAR(1) NOT NULL , + WRTER_NM VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + ANSWER_NO NUMBER(20) NOT NULL , +CONSTRAINT COMTNANSWER_PK PRIMARY KEY (NTT_ID,BBS_ID,ANSWER_NO), +CONSTRAINT COMTNANSWER_FK1 FOREIGN KEY (BBS_ID) REFERENCES COMTNBBSMASTEROPTN(BBS_ID) +); + + + +CREATE TABLE COMTNTRSMRCVLOG +( + REQUST_ID VARCHAR2(20) NOT NULL , + OCCRRNC_DE CHAR(20) NULL , + TRSMRCV_SE_CODE CHAR(3) NULL , + CNTC_ID CHAR(8) NULL , + PROVD_INSTT_ID CHAR(8) NULL , + PROVD_SYS_ID CHAR(8) NULL , + PROVD_SVC_ID CHAR(8) NULL , + REQUST_INSTT_ID CHAR(8) NULL , + REQUST_SYS_ID CHAR(8) NULL , + REQUST_TRNSMIT_TM VARCHAR2(14) NULL , + REQUST_RECPTN_TM VARCHAR2(14) NULL , + RSPNS_TRNSMIT_TM VARCHAR2(14) NULL , + RSPNS_RECPTN_TM VARCHAR2(14) NULL , + RESULT_CODE VARCHAR2(4) NULL , + RESULT_MSSAGE VARCHAR2(4000) NULL , + FRST_REGIST_PNTTM DATE NULL , + RQESTER_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNTRSMRCVLOG_PK PRIMARY KEY (REQUST_ID) +); + + + +CREATE TABLE COMTNDAMCALRES +( + ORGNZT_ID CHAR(20) NULL , + EXPERT_ID CHAR(20) NULL , + KNWLDG_TY_CODE VARCHAR2(3) NULL , + EMPLYR_ID VARCHAR2(20) NULL , + KNWLDG_NM VARCHAR2(60) NULL , + KNWLDG_CN VARCHAR2(2500) NULL , + ATCH_FILE_ID CHAR(20) NULL , + PARNTS_KNWLDG_ID CHAR(20) NULL , + ANSWER_DP NUMBER(20) NULL , + ANSWER_ORDR NUMBER(20) NULL , + ANSWER_GROUP_NO NUMBER(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + KNWLDG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNDAMCALRES_PK PRIMARY KEY (KNWLDG_ID) +); + + + +CREATE TABLE COMTNBACKUPRESULT +( + BACKUP_RESULT_ID VARCHAR2(20) NOT NULL , + BACKUP_OPERT_ID VARCHAR2(20) NOT NULL , + BACKUP_FILE VARCHAR2(255) NULL , + STTUS VARCHAR2(2) NULL , + ERROR_INFO VARCHAR2(2000) NULL , + EXECUT_BEGIN_TM VARCHAR2(14) NULL , + EXECUT_END_TM VARCHAR2(14) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNBACKUPRESULT_PK PRIMARY KEY (BACKUP_RESULT_ID) +); + + + +CREATE TABLE COMTHTRSMRCVMNTRNGLOGINFO +( + LOG_ID CHAR(20) NOT NULL , + CNTC_ID CHAR(8) NOT NULL , + TEST_CLASS_NM VARCHAR2(255) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR2(2000) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTHTRSMRCVMNTRNGLOGINFO_PK PRIMARY KEY (LOG_ID) +); + + + +CREATE TABLE COMTNSCRAP +( + SCRAP_ID CHAR(20) NOT NULL , + NTT_ID NUMBER(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + SCRAP_NM VARCHAR2(100) NOT NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNSCRAP_PK PRIMARY KEY (SCRAP_ID) +); + + + +CREATE TABLE COMTNCNTCINSTT +( + INSTT_ID VARCHAR2(20) NOT NULL , + INSTT_NM VARCHAR2(100) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDT_PNTTM DATE NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCINSTT_PK PRIMARY KEY (INSTT_ID) +); + + + +CREATE TABLE COMTHSYSHIST +( + HIST_ID CHAR(20) NOT NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + HIST_SE_CODE CHAR(6) NOT NULL , + HIST_CN VARCHAR2(2500) NOT NULL , + SYS_NM VARCHAR2(255) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , +CONSTRAINT COMTHSYSHIST_PK PRIMARY KEY (HIST_ID) +); + + + +CREATE TABLE COMTNHTTPMON +( + SYS_ID VARCHAR2(20) NOT NULL , + SITE_URL VARCHAR2(100) NULL , + WEBSVC_KND VARCHAR2(10) NULL , + HTTP_STTUS_CODE VARCHAR2(3) NULL , + CREAT_DT DATE NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNHTTPMON_PK PRIMARY KEY (SYS_ID) +); + + + +CREATE TABLE COMTHHTTPMONLOGINFO +( + SYS_ID VARCHAR2(20) NOT NULL , + SITE_URL VARCHAR2(100) NULL , + WEBSVC_KND VARCHAR2(10) NULL , + HTTP_STTUS_CODE VARCHAR2(3) NULL , + CREAT_DT DATE NULL , + LOG_INFO VARCHAR2(2000) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTHHTTPMONLOGINFO_PK PRIMARY KEY (SYS_ID,LOG_ID), +CONSTRAINT COMTHHTTPMONLOGINFO_FK2 FOREIGN KEY (SYS_ID) REFERENCES COMTNHTTPMON(SYS_ID) +); + + + +CREATE TABLE COMTHDBMNTRNGLOGINFO +( + DATA_SOURC_NM VARCHAR2(60) NOT NULL , + SERVER_NM VARCHAR2(60) NULL , + DBMS_KND VARCHAR2(2) NULL , + CECK_SQL VARCHAR2(250) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR2(2000) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTHDBMNTRNGLOGINFO_PK PRIMARY KEY (LOG_ID) +); + + + +CREATE TABLE COMTHCONFMHISTORY +( + CONFM_NO NUMBER(8) NOT NULL , + CONFM_RQESTER_ID VARCHAR2(20) NOT NULL , + CONFMER_ID VARCHAR2(20) NULL , + CONFM_DE CHAR(20) NULL , + CONFM_TY_CODE CHAR(4) NOT NULL , + CONFM_STTUS_CODE CHAR(4) NOT NULL , + OPERT_TY_CODE CHAR(4) NULL , + OPERT_ID VARCHAR2(20) NULL , + TRGET_JOB_TY_CODE CHAR(3) NULL , + TRGET_JOB_ID CHAR(20) NULL , +CONSTRAINT COMTHCONFMHISTORY_PK PRIMARY KEY (CONFM_NO) +); + + + +CREATE TABLE COMTNDAMMAPTEAM +( + ORGNZT_ID CHAR(20) NOT NULL , + ORGNZT_NM VARCHAR2(20) NULL , + CL_DE CHAR(20) NULL , + KNWLDG_URL VARCHAR2(255) NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNDAMMAPTEAM_PK PRIMARY KEY (ORGNZT_ID) +); + + + +CREATE TABLE COMTNTMPLATINFO +( + TMPLAT_ID CHAR(20) NOT NULL , + TMPLAT_NM VARCHAR2(255) NULL , + TMPLAT_COURS VARCHAR2(2000) NULL , + USE_AT CHAR(1) NULL , + TMPLAT_SE_CODE CHAR(6) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNTMPLATINFO_PK PRIMARY KEY (TMPLAT_ID) +); + + + +CREATE TABLE COMTNINDVDLPGECNTNTS +( + CNTNTS_ID VARCHAR2(20) NOT NULL , + CNTNTS_NM VARCHAR2(100) NOT NULL , + CNTC_URL VARCHAR2(255) NOT NULL , + CNTNTS_USE_AT CHAR(1) NOT NULL , + CNTNTS_LINK_URL VARCHAR2(1000) NULL , + CNTNTS_DC VARCHAR2(250) NULL , +CONSTRAINT COMTNINDVDLPGECNTNTS_PK PRIMARY KEY (CNTNTS_ID) +); + + + +CREATE TABLE COMTNINDVDLPGEESTBS +( + EMPLYR_ID VARCHAR2(20) NOT NULL , + UPEND_IMAGE VARCHAR2(1024) NULL , + TITLEBAR_COLOR CHAR(7) NULL , + ALGN_MTHD CHAR(1) NULL , + ALGN_CO NUMBER(10) NULL , +CONSTRAINT COMTNINDVDLPGEESTBS_PK PRIMARY KEY (EMPLYR_ID) +); + + + +CREATE TABLE COMTNCNTNTSLIST +( + CNTNTS_ID VARCHAR2(20) NOT NULL , + EMPLYR_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNCNTNTSLIST_PK PRIMARY KEY (CNTNTS_ID,EMPLYR_ID), +CONSTRAINT COMTNCNTNTSLIST_FK1 FOREIGN KEY (CNTNTS_ID) REFERENCES COMTNINDVDLPGECNTNTS(CNTNTS_ID), +CONSTRAINT COMTNCNTNTSLIST_FK2 FOREIGN KEY (EMPLYR_ID) REFERENCES COMTNINDVDLPGEESTBS(EMPLYR_ID) +); + + + +CREATE INDEX COMTNCNTNTSLIST_i01 ON COMTNCNTNTSLIST +(CNTNTS_ID ASC); + + + +CREATE INDEX COMTNCNTNTSLIST_i02 ON COMTNCNTNTSLIST +(EMPLYR_ID ASC); + + + +CREATE TABLE COMTNCNTCMESSAGE +( + CNTC_MSSAGE_ID VARCHAR2(20) NOT NULL , + CNTC_MSSAGE_NM VARCHAR2(100) NULL , + UPPER_CNTC_MSSAGE_ID VARCHAR2(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCMESSAGE_PK PRIMARY KEY (CNTC_MSSAGE_ID) +); + + + +CREATE TABLE COMTNCNTCMESSAGEITEM +( + CNTC_MSSAGE_ID VARCHAR2(20) NOT NULL , + IEM_ID VARCHAR2(20) NOT NULL , + IEM_NM VARCHAR2(100) NULL , + IEM_TY VARCHAR2(50) NULL , + IEM_LT NUMBER(8) NULL , + USE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNCNTCMESSAGEITEM_PK PRIMARY KEY (CNTC_MSSAGE_ID,IEM_ID), +CONSTRAINT COMTNCNTCMESSAGEITEM_FK1 FOREIGN KEY (CNTC_MSSAGE_ID) REFERENCES COMTNCNTCMESSAGE(CNTC_MSSAGE_ID) +); + + + +CREATE INDEX COMTNCNTCMESSAGEITEM_i01 ON COMTNCNTCMESSAGEITEM +(CNTC_MSSAGE_ID ASC); + + + +CREATE TABLE COMTNBKMKMENUMANAGERESULT +( + MENU_ID NUMBER(20) NOT NULL , + EMPLYR_ID VARCHAR2(20) NOT NULL , + MENU_NM VARCHAR2(60) NOT NULL , + PROGRM_STRE_PATH VARCHAR2(100) NOT NULL , +CONSTRAINT COMTNBKMKMENUMANAGERESULT_PK PRIMARY KEY (MENU_ID,EMPLYR_ID) +); + + + +CREATE TABLE COMTNSYSTEMCNTC +( + CNTC_ID CHAR(8) NOT NULL , + CNTC_NM VARCHAR2(100) NULL , + PROVD_INSTT_ID CHAR(8) NULL , + PROVD_SYS_ID CHAR(8) NULL , + PROVD_SVC_ID CHAR(8) NULL , + REQUST_INSTT_ID CHAR(8) NULL , + REQUST_SYS_ID CHAR(8) NULL , + CONFM_AT CHAR(1) NULL , + USE_AT CHAR(1) NULL , + VALID_BGNDE CHAR(20) NULL , + VALID_ENDDE CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + CNTC_TY VARCHAR2(60) NULL , +CONSTRAINT COMTNSYSTEMCNTC_PK PRIMARY KEY (CNTC_ID) +); + + + +CREATE TABLE COMTNINDVDLINFOPOLICY +( + INDVDL_INFO_POLICY_ID CHAR(20) NOT NULL , + INDVDL_INFO_POLICY_CN VARCHAR2(2500) NULL , + INDVDL_INFO_POLICY_AGRE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + INDVDL_INFO_POLICY_NM VARCHAR2(255) NULL , +CONSTRAINT COMTNINDVDLINFOPOLICY_PK PRIMARY KEY (INDVDL_INFO_POLICY_ID) +); + + + +CREATE TABLE COMTNBNDTMANAGE +( + BNDT_ID VARCHAR2(20) NOT NULL , + BNDT_DE CHAR(8) NOT NULL , + RM VARCHAR2(2500) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNBNDTMANAGE_PK PRIMARY KEY (BNDT_ID,BNDT_DE) +); + + + +CREATE TABLE COMTNBNDTCECKMANAGE +( + BNDT_CECK_SE CHAR(2) NOT NULL , + BNDT_CECK_CODE VARCHAR2(10) NOT NULL , + BNDT_CECK_CODE_NM VARCHAR2(255) NOT NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNBNDTCECKMANAGE_PK PRIMARY KEY (BNDT_CECK_CODE,BNDT_CECK_SE) +); + + + +CREATE TABLE COMTNBNDTDIARY +( + BNDT_ID VARCHAR2(20) NOT NULL , + BNDT_DE CHAR(8) NOT NULL , + BNDT_CECK_SE CHAR(2) NOT NULL , + BNDT_CECK_CODE VARCHAR2(10) NOT NULL , + CHCK_STTUS VARCHAR2(1000) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNBNDTDIARY_PK PRIMARY KEY (BNDT_ID,BNDT_DE,BNDT_CECK_SE,BNDT_CECK_CODE), +CONSTRAINT COMTNBNDTDIARY_FK2 FOREIGN KEY (BNDT_ID,BNDT_DE) REFERENCES COMTNBNDTMANAGE(BNDT_ID,BNDT_DE), +CONSTRAINT COMTNBNDTDIARY_FK1 FOREIGN KEY (BNDT_CECK_CODE,BNDT_CECK_SE) REFERENCES COMTNBNDTCECKMANAGE(BNDT_CECK_CODE,BNDT_CECK_SE) +); + + + +CREATE TABLE COMTNBATCHRESULT +( + BATCH_RESULT_ID VARCHAR2(20) NOT NULL , + BATCH_SCHDUL_ID VARCHAR2(20) NOT NULL , + BATCH_OPERT_ID VARCHAR2(20) NOT NULL , + PARAMTR VARCHAR2(250) NULL , + STTUS VARCHAR2(2) NULL , + ERROR_INFO VARCHAR2(2000) NULL , + EXECUT_BEGIN_TM VARCHAR2(14) NULL , + EXECUT_END_TM VARCHAR2(14) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNBATCHRESULT_PK PRIMARY KEY (BATCH_RESULT_ID) +); + + + +CREATE TABLE COMTNSTSFDG +( + STSFDG_NO NUMBER(20) NOT NULL , + NTT_ID NUMBER(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + WRTER_ID VARCHAR2(20) NULL , + WRTER_NM VARCHAR2(20) NULL , + PASSWORD VARCHAR2(200) NULL , + STSFDG NUMBER(1) NOT NULL , + STSFDG_CN VARCHAR2(200) NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNSTSFDG_PK PRIMARY KEY (STSFDG_NO) +); + + + +CREATE TABLE COMTNBATCHOPERT +( + BATCH_OPERT_ID VARCHAR2(20) NOT NULL , + BATCH_OPERT_NM VARCHAR2(60) NULL , + BATCH_PROGRM VARCHAR2(255) NULL , + PARAMTR VARCHAR2(250) NULL , + USE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNBATCHOPERT_PK PRIMARY KEY (BATCH_OPERT_ID) +); + + + +CREATE TABLE COMTNFILESYSMNTRNG +( + FILE_SYS_ID CHAR(20) NOT NULL , + FILE_SYS_NM VARCHAR2(60) NOT NULL , + FILE_SYS_MANAGE_NM VARCHAR2(255) NOT NULL , + FILE_SYS_SIZE NUMBER(8) NOT NULL , + FILE_SYS_THRHLD NUMBER(8) NOT NULL , + FILE_SYS_USGQTY NUMBER(8) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNFILESYSMNTRNG_PK PRIMARY KEY (FILE_SYS_ID) +); + + + +CREATE TABLE COMTNFILESYSMNTRNGLOGINFO +( + FILE_SYS_ID CHAR(20) NOT NULL , + FILE_SYS_NM VARCHAR2(60) NOT NULL , + FILE_SYS_MANAGE_NM VARCHAR2(255) NOT NULL , + FILE_SYS_SIZE NUMBER(8) NOT NULL , + FILE_SYS_THRHLD NUMBER(8) NOT NULL , + FILE_SYS_USGQTY NUMBER(8) NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR2(2000) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNFILESYSMNTRNGLOGINFO_PK PRIMARY KEY (FILE_SYS_ID,LOG_ID), +CONSTRAINT COMTNFILESYSMNTRNGLOGINFO_FK2 FOREIGN KEY (FILE_SYS_ID) REFERENCES COMTNFILESYSMNTRNG(FILE_SYS_ID) +); + + + +CREATE TABLE COMTNBATCHSCHDUL +( + BATCH_SCHDUL_ID VARCHAR2(20) NOT NULL , + BATCH_OPERT_ID VARCHAR2(20) NOT NULL , + EXECUT_CYCLE VARCHAR2(2) NULL , + EXECUT_SCHDUL_DE CHAR(20) NULL , + EXECUT_SCHDUL_HOUR CHAR(2) NULL , + EXECUT_SCHDUL_MNT CHAR(2) NULL , + EXECUT_SCHDUL_SECND CHAR(2) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNBATCHSCHDUL_PK PRIMARY KEY (BATCH_SCHDUL_ID) +); + + + +CREATE TABLE COMTNBATCHSCHDULDFK +( + BATCH_SCHDUL_ID VARCHAR2(20) NOT NULL , + EXECUT_SCHDUL_DFK_SE CHAR(1) NOT NULL , +CONSTRAINT COMTNBATCHSCHDULDFK_PK PRIMARY KEY (BATCH_SCHDUL_ID,EXECUT_SCHDUL_DFK_SE), +CONSTRAINT COMTNBATCHSCHDULDFK_FK1 FOREIGN KEY (BATCH_SCHDUL_ID) REFERENCES COMTNBATCHSCHDUL(BATCH_SCHDUL_ID) +); + + + +CREATE TABLE COMTNCTSNNMANAGE +( + CTSNN_ID VARCHAR2(20) NOT NULL , + USER_ID VARCHAR2(20) NOT NULL , + CTSNN_CODE CHAR(2) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + CTSNN_NM VARCHAR2(255) NOT NULL , + TRGTER_NM VARCHAR2(20) NOT NULL , + BRTHDY CHAR(20) NOT NULL , + OCCRRNC_DE CHAR(20) NOT NULL , + RELATE CHAR(2) NOT NULL , + RM VARCHAR2(2500) NULL , + SANCTNER_ID VARCHAR2(20) NOT NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATE NULL , + RETURN_RESN VARCHAR2(1000) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNCTSNNMANAGE_PK PRIMARY KEY (CTSNN_ID) +); + + + +CREATE TABLE COMTCADMINISTCODERECPTNLOG +( + OCCRRNC_DE CHAR(20) NOT NULL , + ADMINIST_ZONE_SE CHAR(1) NOT NULL , + ADMINIST_ZONE_CODE VARCHAR2(10) NOT NULL , + OPERT_SN NUMBER(10) NOT NULL , + CHANGE_SE_CODE VARCHAR2(2) NULL , + PROCESS_SE VARCHAR2(2) NULL , + ADMINIST_ZONE_NM VARCHAR2(60) NULL , + LOWEST_ADMINIST_ZONE_NM VARCHAR2(60) NULL , + CTPRVN_CODE VARCHAR2(2) NULL , + SIGNGU_CODE VARCHAR2(3) NULL , + EMD_CODE VARCHAR2(3) NULL , + LI_CODE VARCHAR2(2) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + ABL_ENNC CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTCADMINISTCODERECPTNLOG_PK PRIMARY KEY (OCCRRNC_DE,ADMINIST_ZONE_SE,ADMINIST_ZONE_CODE,OPERT_SN) +); + + + +CREATE TABLE COMTNTROBLINFO +( + TROBL_ID CHAR(20) NOT NULL , + TROBL_NM VARCHAR2(60) NULL , + TROBL_KND CHAR(2) NULL , + TROBL_DC VARCHAR2(2000) NULL , + TROBL_OCCRRNC_TIME VARCHAR2(14) NULL , + TROBL_RQESTER_NM VARCHAR2(60) NULL , + TROBL_REQUST_TIME VARCHAR2(14) NULL , + TROBL_PROCESS_RESULT VARCHAR2(2000) NULL , + TROBL_OPETR_NM VARCHAR2(60) NULL , + TROBL_PROCESS_TIME VARCHAR2(14) NULL , + PROCESS_STTUS CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNTROBLINFO_PK PRIMARY KEY (TROBL_ID) +); + + + +CREATE TABLE COMTNDAMKNOIFM +( + KNWLDG_ID CHAR(20) NOT NULL , + KNWLDG_TY_CODE VARCHAR2(3) NULL , + ORGNZT_ID CHAR(20) NULL , + EXPERT_ID CHAR(20) NULL , + EMPLYR_ID VARCHAR2(20) NULL , + KNWLDG_NM VARCHAR2(60) NULL , + KNWLDG_CN VARCHAR2(2500) NULL , + KWRD VARCHAR2(100) NULL , + OTHBC_AT CHAR(1) NULL , + KNWLDG_EVL CHAR(1) NULL , + COLCT_DE CHAR(20) NULL , + EVL_DE CHAR(20) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + DSUSE_DE CHAR(20) NULL , +CONSTRAINT COMTNDAMKNOIFM_PK PRIMARY KEY (KNWLDG_ID) +); + + + +CREATE TABLE COMTNDAMMAPKNO +( + KNWLDG_TY_CODE VARCHAR2(3) NOT NULL , + ORGNZT_ID CHAR(20) NULL , + EXPERT_ID CHAR(20) NULL , + KNWLDG_TY_NM VARCHAR2(60) NULL , + CL_DE CHAR(20) NULL , + KNWLDG_URL VARCHAR2(255) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNDAMMAPKNO_PK PRIMARY KEY (KNWLDG_TY_CODE) +); + + + +CREATE TABLE COMTNDAMPRO +( + EXPERT_ID CHAR(20) NOT NULL , + KNWLDG_TY_CODE VARCHAR2(3) NOT NULL , + EXPERT_GRAD CHAR(1) NOT NULL , + EXPERT_CONFM_DE CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + EXPERT_DC VARCHAR2(2000) NULL , +CONSTRAINT COMTNDAMPRO_PK PRIMARY KEY (EXPERT_ID,KNWLDG_TY_CODE,EXPERT_GRAD), +CONSTRAINT COMTNDAMPRO_FK1 FOREIGN KEY (KNWLDG_TY_CODE) REFERENCES COMTNDAMMAPKNO(KNWLDG_TY_CODE) +); + + + +CREATE TABLE COMTNINFRMLSANCTN +( + INFRML_SANCTN_ID CHAR(20) NOT NULL , + JOB_SE_CODE CHAR(3) NOT NULL , + APPLCNT_ID VARCHAR2(20) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + SANCTNER_ID VARCHAR2(20) NOT NULL , + CONFM_AT CHAR(1) NOT NULL , + SANCTN_DT DATE NULL , + RETURN_RESN VARCHAR2(1000) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNINFRMLSANCTN_PK PRIMARY KEY (INFRML_SANCTN_ID) +); + + + +CREATE TABLE COMTNDBMNTRNG +( + DATA_SOURC_NM VARCHAR2(60) NOT NULL , + SERVER_NM VARCHAR2(60) NULL , + DBMS_KND VARCHAR2(2) NULL , + CECK_SQL VARCHAR2(250) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNDBMNTRNG_PK PRIMARY KEY (DATA_SOURC_NM) +); + + + +CREATE TABLE COMTNTRSMRCVMNTRNG +( + CNTC_ID CHAR(8) NOT NULL , + TEST_CLASS_NM VARCHAR2(255) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNTRSMRCVMNTRNG_PK PRIMARY KEY (CNTC_ID) +); + + + +CREATE TABLE COMTNDEPTJOB +( + DEPT_JOB_ID CHAR(20) NOT NULL , + DEPT_JOBBX_ID CHAR(6) NOT NULL , + DEPT_JOB_NM VARCHAR2(255) NOT NULL , + DEPT_JOB_CN VARCHAR2(2500) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , + CHARGER_ID VARCHAR2(20) NOT NULL , + PRIORT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNDEPTJOB_PK PRIMARY KEY (DEPT_JOB_ID) +); + + + +CREATE TABLE COMTNLEADERSCHDUL +( + SCHDUL_ID CHAR(20) NOT NULL , + SCHDUL_SE CHAR(1) NULL , + SCHDUL_NM VARCHAR2(255) NOT NULL , + SCHDUL_CN VARCHAR2(2500) NOT NULL , + SCHDUL_PLACE VARCHAR2(255) NULL , + LEADER_ID VARCHAR2(20) NOT NULL , + REPTIT_SE_CODE CHAR(1) NULL , + SCHDUL_BGNDE CHAR(20) NULL , + SCHDUL_ENDDE CHAR(20) NULL , + SCHDUL_CHARGER_ID VARCHAR2(20) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNLEADERSCHDUL_PK PRIMARY KEY (SCHDUL_ID) +); + + + +CREATE TABLE COMTNLEADERSCHDULDE +( + SCHDUL_ID CHAR(20) NOT NULL , + SCHDUL_DE CHAR(8) NOT NULL , +CONSTRAINT COMTNLEADERSCHDULDE_PK PRIMARY KEY (SCHDUL_ID,SCHDUL_DE), +CONSTRAINT COMTNLEADERSCHDULDE_FK1 FOREIGN KEY (SCHDUL_ID) REFERENCES COMTNLEADERSCHDUL(SCHDUL_ID) +); + +CREATE TABLE COMTNLEADERSTTUS +( + LEADER_ID VARCHAR2(20) NOT NULL , + LEADER_STTUS CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNLEADERSTTUS_PK PRIMARY KEY (LEADER_ID) +); + +CREATE TABLE COMTNDEPTJOBBX +( + DEPT_JOBBX_ID CHAR(6) NOT NULL , + DEPT_JOBBX_NM VARCHAR2(255) NOT NULL , + DEPT_ID VARCHAR2(20) NOT NULL , + INDICT_ORDR NUMBER(6) NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNDEPTJOBBX_PK PRIMARY KEY (DEPT_JOBBX_ID) +); + + + +CREATE TABLE COMTNDTAUSESTATS +( + DTA_USE_STATS_ID CHAR(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + NTT_ID NUMBER(20) NOT NULL , + ATCH_FILE_ID CHAR(20) NOT NULL , + FILE_SN NUMBER(10) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNDTAUSESTATS_PK PRIMARY KEY (DTA_USE_STATS_ID) +); + + + +CREATE TABLE COMTNINSTTCODE +( + INSTT_CODE CHAR(7) NOT NULL , + ALL_INSTT_NM VARCHAR2(255) NULL , + LOWEST_INSTT_NM VARCHAR2(100) NULL , + INSTT_ABRV_NM VARCHAR2(50) NULL , + ODR CHAR(1) NULL , + ORD CHAR(3) NULL , + INSTT_ODR CHAR(2) NULL , + UPPER_INSTT_CODE CHAR(7) NULL , + BEST_INSTT_CODE CHAR(7) NULL , + REPRSNT_INSTT_CODE CHAR(7) NULL , + INSTT_TY_LCLAS CHAR(2) NULL , + INSTT_TY_MLSFC CHAR(2) NULL , + INSTT_TY_SCLAS CHAR(2) NULL , + TELNO VARCHAR2(20) NULL , + FXNUM VARCHAR2(20) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + ABL_ENNC CHAR(1) NULL , + CHANGE_DE CHAR(20) NULL , + CHANGE_TIME VARCHAR2(6) NULL , + BSIS_DE CHAR(20) NULL , + SORT_ORDR NUMBER(8) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNINSTTCODE_PK PRIMARY KEY (INSTT_CODE) +); + + + +CREATE TABLE COMTNINSTTCODERECPTNLOG +( + OCCRRNC_DE CHAR(20) NOT NULL , + INSTT_CODE CHAR(7) NOT NULL , + OPERT_SN NUMBER(10) NOT NULL , + CHANGE_SE_CODE VARCHAR2(2) NULL , + PROCESS_SE VARCHAR2(2) NULL , + ETC_CODE CHAR(2) NULL , + ALL_INSTT_NM VARCHAR2(255) NULL , + LOWEST_INSTT_NM VARCHAR2(100) NULL , + INSTT_ABRV_NM VARCHAR2(50) NULL , + ODR CHAR(1) NULL , + ORD CHAR(3) NULL , + INSTT_ODR CHAR(2) NULL , + UPPER_INSTT_CODE CHAR(7) NULL , + BEST_INSTT_CODE CHAR(7) NULL , + REPRSNT_INSTT_CODE CHAR(7) NULL , + INSTT_TY_LCLAS CHAR(2) NULL , + INSTT_TY_MLSFC CHAR(2) NULL , + INSTT_TY_SCLAS CHAR(2) NULL , + TELNO VARCHAR2(20) NULL , + FXNUM VARCHAR2(20) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + ABL_ENNC CHAR(1) NULL , + CHANGE_DE CHAR(20) NULL , + CHANGE_TIME VARCHAR2(6) NULL , + BSIS_DE CHAR(20) NULL , + SORT_ORDR NUMBER(8) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNINSTTCODERECPTNLOG_PK PRIMARY KEY (OCCRRNC_DE,INSTT_CODE,OPERT_SN) +); + + + +CREATE TABLE COMTNINDVDLYRYCMANAGE +( + OCCRRNC_YEAR CHAR(4) NOT NULL , + YRYC_OCCRRNC_CO NUMBER(5,1) NULL , + USE_YRYC_CO NUMBER(5,1) NULL , + REMNDR_YRYC_CO NUMBER(5,1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + USER_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNINDVDLYRYCMANAGE_PK PRIMARY KEY (OCCRRNC_YEAR,USER_ID) +); + + + +CREATE TABLE COMTNNTWRKSVCMNTRNG +( + SYS_IP VARCHAR2(23) NOT NULL , + SYS_PORT NUMBER(5) NOT NULL , + SYS_NM VARCHAR2(255) NOT NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNNTWRKSVCMNTRNG_PK PRIMARY KEY (SYS_IP,SYS_PORT) +); + + + +CREATE TABLE COMTNNTWRKSVCMNTRNGLOGINFO +( + SYS_IP VARCHAR2(23) NOT NULL , + SYS_PORT NUMBER(5) NOT NULL , + SYS_NM VARCHAR2(255) NOT NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR2(2000) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNNTWRKSVCMNTRNGLOGINFO_PK PRIMARY KEY (SYS_IP,SYS_PORT,LOG_ID), +CONSTRAINT COMTNNTWRKSVCMNTRNGLOGINFO_FK2 FOREIGN KEY (SYS_IP,SYS_PORT) REFERENCES COMTNNTWRKSVCMNTRNG(SYS_IP,SYS_PORT) +); + + + +CREATE TABLE COMTNSERVEREQPMNINFO +( + SERVER_EQPMN_ID VARCHAR2(20) NOT NULL , + SERVER_EQPMN_NM VARCHAR2(60) NULL , + SERVER_EQPMN_IP VARCHAR2(23) NULL , + SERVER_EQPMN_MNGR VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + OPERSYSM_INFO VARCHAR2(2000) NULL , + CPU_INFO VARCHAR2(2000) NULL , + MORY_INFO VARCHAR2(2000) NULL , + HDDISK CHAR(18) NULL , + ETC_INFO VARCHAR2(250) NULL , + RGSDE DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNSERVEREQPMNINFO_PK PRIMARY KEY (SERVER_EQPMN_ID) +); + + + +CREATE TABLE COMTNSYNCHRNSERVERINFO +( + SERVER_ID CHAR(20) NOT NULL , + SERVER_NM VARCHAR2(60) NULL , + SERVER_IP VARCHAR2(23) NULL , + SERVER_PORT VARCHAR2(10) NULL , + FTP_ID VARCHAR2(20) NULL , + FTP_PASSWORD VARCHAR2(20) NULL , + SYNCHRN_LC VARCHAR2(255) NULL , + REFLCT_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNSYNCHRNSERVERINFO_PK PRIMARY KEY (SERVER_ID) +); + + + +CREATE TABLE COMTNSERVERINFO +( + SERVER_ID CHAR(20) NOT NULL , + SERVER_NM VARCHAR2(60) NULL , + SERVER_KND CHAR(2) NULL , + RGSDE DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNSERVERINFO_PK PRIMARY KEY (SERVER_ID) +); + + + +CREATE TABLE COMTNSERVEREQPMNRELATE +( + SERVER_EQPMN_ID VARCHAR2(20) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + SERVER_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNSERVEREQPMNRELATE_PK PRIMARY KEY (SERVER_EQPMN_ID,SERVER_ID), +CONSTRAINT COMTNSERVEREQPMNRELATE_FK2 FOREIGN KEY (SERVER_EQPMN_ID) REFERENCES COMTNSERVEREQPMNINFO(SERVER_EQPMN_ID), +CONSTRAINT COMTNSERVEREQPMNRELATE_FK1 FOREIGN KEY (SERVER_ID) REFERENCES COMTNSERVERINFO(SERVER_ID) +); + + + +CREATE TABLE COMTNSERVERRESRCELOGINFO +( + SERVER_EQPMN_ID VARCHAR2(20) NOT NULL , + CPU_USE_RT NUMBER(3) NULL , + MORY_USE_RT NUMBER(3) NULL , + SVC_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR2(2000) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + SERVER_ID CHAR(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNSERVERRESRCELOGINFO_PK PRIMARY KEY (SERVER_EQPMN_ID,SERVER_ID,LOG_ID), +CONSTRAINT COMTNSERVERRESRCELOGINFO_FK1 FOREIGN KEY (SERVER_EQPMN_ID,SERVER_ID) REFERENCES COMTNSERVEREQPMNRELATE(SERVER_EQPMN_ID,SERVER_ID) +); + + + +CREATE TABLE COMTNVCATNMANAGE +( + APPLCNT_ID VARCHAR2(20) NOT NULL , + VCATN_SE CHAR(2) NOT NULL , + BGNDE CHAR(8) NOT NULL , + ENDDE CHAR(8) NOT NULL , + VCATN_RESN VARCHAR2(200) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + OCCRRNC_YEAR CHAR(4) NULL , + SANCTNER_ID VARCHAR2(20) NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATE NULL , + RETURN_RESN VARCHAR2(1000) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + NOON_SE CHAR(1) NULL , +CONSTRAINT COMTNVCATNMANAGE_PK PRIMARY KEY (APPLCNT_ID,VCATN_SE,BGNDE,ENDDE) +); + + + +CREATE TABLE COMTNMEMOTODO +( + TODO_ID CHAR(20) NOT NULL , + TODO_SJ VARCHAR2(255) NOT NULL , + TODO_BEGIN_TIME VARCHAR2(14) NOT NULL , + TODO_END_TIME VARCHAR2(14) NOT NULL , + WRTER_ID VARCHAR2(20) NOT NULL , + TODO_CN VARCHAR2(2500) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNMEMOTODO_PK PRIMARY KEY (TODO_ID) +); + + + +CREATE TABLE COMTNNOTE +( + NOTE_ID CHAR(20) NOT NULL , + NOTE_SJ VARCHAR2(255) NULL , + NOTE_CN VARCHAR2(4000) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNNOTE_PK PRIMARY KEY (NOTE_ID) +); + + + +CREATE TABLE COMTNNOTETRNSMIT +( + NOTE_ID CHAR(20) NOT NULL , + NOTE_TRNSMIT_ID CHAR(20) NOT NULL , + TRNSMITER_ID CHAR(20) NULL , + DELETE_AT CHAR(8) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNNOTETRNSMIT_PK PRIMARY KEY (NOTE_ID,NOTE_TRNSMIT_ID), +CONSTRAINT COMTNNOTETRNSMIT_FK1 FOREIGN KEY (NOTE_ID) REFERENCES COMTNNOTE(NOTE_ID) +); + + + +CREATE INDEX COMTNNOTETRNSMIT_i01 ON COMTNNOTETRNSMIT +(NOTE_ID ASC); + + + +CREATE TABLE COMTNNOTERECPTN +( + NOTE_ID CHAR(20) NOT NULL , + NOTE_TRNSMIT_ID CHAR(20) NOT NULL , + NOTE_RECPTN_ID CHAR(20) NOT NULL , + RCVER_ID CHAR(20) NULL , + OPEN_YN CHAR(1) NULL , + RECPTN_SE CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNNOTERECPTN_PK PRIMARY KEY (NOTE_ID,NOTE_TRNSMIT_ID,NOTE_RECPTN_ID), +CONSTRAINT COMTNNOTERECPTN_FK1 FOREIGN KEY (NOTE_ID,NOTE_TRNSMIT_ID) REFERENCES COMTNNOTETRNSMIT(NOTE_ID,NOTE_TRNSMIT_ID) +); + + + +CREATE INDEX COMTNNOTERECPTN_i01 ON COMTNNOTERECPTN +(NOTE_ID ASC,NOTE_TRNSMIT_ID ASC); + + + +CREATE TABLE COMTNEVENTMANAGE +( + EVENT_ID CHAR(20) NOT NULL , + EVENT_SE VARCHAR2(2) NOT NULL , + EVENT_NM VARCHAR2(60) NOT NULL , + EVENT_PURPS VARCHAR2(200) NOT NULL , + EVENT_BGNDE CHAR(20) NOT NULL , + EVENT_ENDDE CHAR(20) NOT NULL , + EVENT_AUSPC_INSTT_NM VARCHAR2(60) NULL , + EVENT_MNGT_INSTT_NM VARCHAR2(60) NULL , + EVENT_PLACE VARCHAR2(200) NOT NULL , + EVENT_CN VARCHAR2(1000) NULL , + CT_OCCRRNC_AT CHAR(1) NULL , + PARTCPT_CT NUMBER(16) NULL , + PSNCPA NUMBER(10) NOT NULL , + REFRN_URL VARCHAR2(1024) NULL , + RCEPT_BGNDE CHAR(20) NOT NULL , + RCEPT_ENDDE CHAR(20) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNEVENTMANAGE_PK PRIMARY KEY (EVENT_ID) +); + + + +CREATE TABLE COMTNEVENTATDRN +( + APPLCNT_ID VARCHAR2(20) NOT NULL , + EVENT_ID CHAR(20) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + SANCTNER_ID VARCHAR2(20) NOT NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATE NULL , + RETURN_RESN VARCHAR2(1000) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNEVENTATDRN_PK PRIMARY KEY (APPLCNT_ID,EVENT_ID), +CONSTRAINT COMTNEVENTATDRN_FK1 FOREIGN KEY (EVENT_ID) REFERENCES COMTNEVENTMANAGE(EVENT_ID) +); + + + +CREATE INDEX COMTNEVENTATDRN_i01 ON COMTNEVENTATDRN +(EVENT_ID ASC); + + + +CREATE TABLE IMGTEMP +( + ORGNZT_CODE VARCHAR2(10) NOT NULL , + ERNCSL_SE VARCHAR2(2) NOT NULL , + IMAGE_INFO BLOB NOT NULL , + IMAGE_TY VARCHAR2(20) NULL , +CONSTRAINT IMGTEMP_PK PRIMARY KEY (ORGNZT_CODE,ERNCSL_SE) +); + + + +CREATE TABLE IDS +( + IDGEN_TABLE_NM VARCHAR2(20) NOT NULL , + IDGEN_NEXT_ID NUMBER(30) NOT NULL , +CONSTRAINT IDS_PK PRIMARY KEY (IDGEN_TABLE_NM) +); + + + +CREATE TABLE COMTNWIKMNTHNGREPRT +( + REPRT_ID CHAR(6) NOT NULL , + REPRT_SE CHAR(1) NOT NULL , + REPRT_SJ VARCHAR2(255) NOT NULL , + REPORT_DE CHAR(20) NOT NULL , + WRTER_ID VARCHAR2(20) NOT NULL , + REPORTR_ID VARCHAR2(20) NOT NULL , + REPORT_BGNDE CHAR(20) NOT NULL , + REPORT_ENDDE CHAR(20) NOT NULL , + THSWIK_REPORT_CN CLOB NOT NULL , + NEXTWIK_REPORT_CN CLOB NOT NULL , + PARTCLR_MATTER VARCHAR2(2500) NULL , + ATCH_FILE_ID CHAR(20) NULL , + CONFM_DT VARCHAR2(14) NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNWIKMNTHNGREPRT_PK PRIMARY KEY (REPRT_ID) +); + + + +CREATE TABLE COMTNTWITTER +( + USER_ID VARCHAR2(20) NOT NULL , + CNSMR_KEY VARCHAR2(50) NOT NULL , + CNSMR_SECRET VARCHAR2(50) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNTWITTER_PK PRIMARY KEY (USER_ID) +); + + + +CREATE TABLE COMTNWIKIBKMK +( + WIKI_BKMK_ID CHAR(20) NOT NULL , + USER_ID VARCHAR2(20) NOT NULL , + WIKI_BKMK_NM VARCHAR2(1000) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNWIKIBKMK_PK PRIMARY KEY (WIKI_BKMK_ID,USER_ID) +); + + + +CREATE TABLE COMTNRWARDMANAGE +( + RWARD_ID CHAR(20) NOT NULL , + RWARDWNR_ID VARCHAR2(20) NOT NULL , + RWARD_CODE CHAR(2) NOT NULL , + RWARD_DE CHAR(20) NOT NULL , + RWARD_NM VARCHAR2(255) NOT NULL , + PBLEN_CN VARCHAR2(1000) NULL , + SANCTNER_ID VARCHAR2(20) NOT NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATE NULL , + RETURN_RESN VARCHAR2(1000) NULL , + ATCH_FILE_ID CHAR(20) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNRWARDMANAGE_PK PRIMARY KEY (RWARD_ID) +); + + + +CREATE TABLE COMTNRSS +( + RSS_ID CHAR(20) NOT NULL , + TRGET_SVC_NM VARCHAR2(255) NOT NULL , + TRGET_SVC_TABLE VARCHAR2(255) NOT NULL , + TRGET_SVC_LIST_CO NUMBER(5) NOT NULL , + HDER_TITLE VARCHAR2(255) NOT NULL , + HDER_LINK VARCHAR2(255) NOT NULL , + HDER_DC VARCHAR2(4000) NOT NULL , + HDER_TAG VARCHAR2(255) NULL , + HDER_ETC VARCHAR2(250) NULL , + BDT_TITLE VARCHAR2(255) NULL , + BDT_LINK VARCHAR2(255) NULL , + BDT_DC VARCHAR2(4000) NULL , + BDT_TAG VARCHAR2(255) NULL , + BDT_ETC_TAG VARCHAR2(255) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNRSS_PK PRIMARY KEY (RSS_ID) +); + + + +CREATE TABLE COMTNRESTDE +( + RESTDE_NO NUMBER(6) NOT NULL , + RESTDE CHAR(8) NULL , + RESTDE_NM VARCHAR2(60) NULL , + RESTDE_DC VARCHAR2(200) NULL , + RESTDE_SE_CODE VARCHAR2(2) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNRESTDE_PK PRIMARY KEY (RESTDE_NO) +); + + + +CREATE TABLE COMTNPROCESSMON +( + PROCS_ID CHAR(20) NOT NULL , + PROCS_NM VARCHAR2(60) NULL , + PROCS_STTUS VARCHAR2(3) NULL , + CREAT_DT DATE NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNPROCESSMON_PK PRIMARY KEY (PROCS_ID) +); + + + +CREATE TABLE COMTNPROCESSMONLOGINFO +( + PROCS_ID CHAR(20) NOT NULL , + PROCS_NM VARCHAR2(60) NULL , + PROCS_STTUS VARCHAR2(3) NULL , + CREAT_DT DATE NULL , + LOG_INFO VARCHAR2(2000) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNPROCESSMONLOGINFO_PK PRIMARY KEY (PROCS_ID,LOG_ID), +CONSTRAINT COMTNPROCESSMONLOGINFO_FK2 FOREIGN KEY (PROCS_ID) REFERENCES COMTNPROCESSMON(PROCS_ID) +); + + + +CREATE TABLE COMTNNTWRKINFO +( + NTWRK_ID CHAR(20) NOT NULL , + NTWRK_IP VARCHAR2(23) NULL , + GTWY VARCHAR2(23) NULL , + SUBNET VARCHAR2(23) NULL , + DOMN_NM_SERVER VARCHAR2(23) NULL , + MANAGE_IEM CHAR(2) NULL , + USER_NM VARCHAR2(60) NULL , + USE_AT CHAR(1) NULL , + RGSDE DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNNTWRKINFO_PK PRIMARY KEY (NTWRK_ID) +); + + + +CREATE VIEW COMVNUSERMASTER ( ESNTL_ID,USER_ID,PASSWORD,USER_NM,USER_ZIP,USER_ADRES,USER_EMAIL,GROUP_ID, USER_SE, ORGNZT_ID ) +AS + SELECT ESNTL_ID, MBER_ID,PASSWORD,MBER_NM,ZIP,ADRES,MBER_EMAIL_ADRES,' ','GNR' AS USER_SE, ' ' ORGNZT_ID + FROM COMTNGNRLMBER + + UNION ALL + SELECT ESNTL_ID,EMPLYR_ID,PASSWORD,USER_NM,ZIP,HOUSE_ADRES,EMAIL_ADRES,GROUP_ID ,'USR' AS USER_SE, ORGNZT_ID + FROM COMTNEMPLYRINFO + UNION ALL + SELECT ESNTL_ID,ENTRPRS_MBER_ID,ENTRPRS_MBER_PASSWORD,CMPNY_NM,ZIP,ADRES,APPLCNT_EMAIL_ADRES,' ' ,'ENT' AS USER_SE, ' ' ORGNZT_ID + FROM COMTNENTRPRSMBER +ORDER BY ESNTL_ID; + + + +CREATE TABLE COMTNMEMOREPRT +( + REPRT_SJ VARCHAR2(255) NOT NULL , + REPORT_DE CHAR(20) NOT NULL , + WRTER_ID VARCHAR2(20) NOT NULL , + REPORTR_ID VARCHAR2(20) NOT NULL , + REPORT_CN VARCHAR2(2500) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , + DRCT_MATTER VARCHAR2(2500) NULL , + DRCT_MATTER_REGIST_DT VARCHAR2(14) NULL , + REPORTR_INQIRE_DT VARCHAR2(14) NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + REPRT_ID CHAR(6) NOT NULL , +CONSTRAINT COMTNMEMOREPRT_PK PRIMARY KEY (REPRT_ID) +); + + + +CREATE TABLE COMTNMTGPLACEMANAGE +( + MTGRUM_ID CHAR(20) NOT NULL , + MTGRUM_NM VARCHAR2(255) NOT NULL , + OPN_BEGIN_TM VARCHAR2(6) NOT NULL , + OPN_END_TM VARCHAR2(6) NOT NULL , + ACEPTNC_POSBL_NMPR NUMBER(10) NOT NULL , + LC_SE CHAR(5) NULL , + LC_DETAIL VARCHAR2(200) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNMTGPLACEMANAGE_PK PRIMARY KEY (MTGRUM_ID) +); + + + +CREATE TABLE COMTNMTGPLACERESVE +( + RESVE_ID CHAR(20) NOT NULL , + MTGRUM_ID CHAR(20) NOT NULL , + MTG_SJ VARCHAR2(100) NOT NULL , + RSVCTM_ID VARCHAR2(20) NOT NULL , + RESVE_DE CHAR(8) NOT NULL , + RESVE_BEGIN_TM VARCHAR2(14) NOT NULL , + RESVE_END_TM VARCHAR2(14) NOT NULL , + ATNDNC_NMPR NUMBER(10) NULL , + MTG_CN VARCHAR2(2500) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNMTGPLACERESVE_PK PRIMARY KEY (RESVE_ID) +); + + + +CREATE TABLE COMTNFXTRSMANAGE +( + FXTRS_CODE CHAR(14) NOT NULL , + FXTRS_NM VARCHAR2(100) NOT NULL , + MAKR_NM VARCHAR2(100) NULL , + PRICE NUMBER(16) NULL , +CONSTRAINT COMTNFXTRSMANAGE_PK PRIMARY KEY (FXTRS_CODE) +); + + + +CREATE TABLE COMTNMTGPLACEFXTRS +( + MTGRUM_ID CHAR(20) NOT NULL , + FXTRS_CODE CHAR(14) NOT NULL , + QY NUMBER(20) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNMTGPLACEFXTRS_PK PRIMARY KEY (MTGRUM_ID,FXTRS_CODE), +CONSTRAINT COMTNMTGPLACEFXTRS_FK2 FOREIGN KEY (MTGRUM_ID) REFERENCES COMTNMTGPLACEMANAGE(MTGRUM_ID), +CONSTRAINT COMTNMTGPLACEFXTRS_FK1 FOREIGN KEY (FXTRS_CODE) REFERENCES COMTNFXTRSMANAGE(FXTRS_CODE) +); + + + +CREATE INDEX COMTNMTGPLACEFXTRS_i01 ON COMTNMTGPLACEFXTRS +(MTGRUM_ID ASC); + + + +CREATE TABLE COMTECOPSEQ +( + TABLE_NAME VARCHAR2(20) NOT NULL , + NEXT_ID NUMBER(30) NULL , +CONSTRAINT COMTECOPSEQ_PK PRIMARY KEY (TABLE_NAME) +); + + + +CREATE TABLE COMTNANNVRSRYMANAGE +( + ANNVRSRY_ID VARCHAR2(20) NOT NULL , + USER_ID VARCHAR2(20) NOT NULL , + ANNVRSRY_SE VARCHAR2(2) NOT NULL , + ANNVRSRY_NM VARCHAR2(255) NOT NULL , + ANNVRSRY CHAR(20) NOT NULL , + CLDR_SE CHAR(1) NOT NULL , + ANNVRSRY_NTCN_SETUP CHAR(1) NULL , + ANNVRSRY_NTCN_BGNDE CHAR(20) NULL , + MEMO VARCHAR2(1000) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + REPTIT_AT CHAR(1) NULL , +CONSTRAINT COMTNANNVRSRYMANAGE_PK PRIMARY KEY (ANNVRSRY_ID) +); + +CREATE TABLE J_ATTACHFILE +( + FILE_ID VARCHAR2(13) NOT NULL, + FILE_SEQ INTEGER NOT NULL, + FILE_NAME VARCHAR2(100) NOT NULL, + FILE_SIZE INTEGER, + FILE_MASK VARCHAR2(100), + DOWNLOAD_COUNT INTEGER, + DOWNLOAD_EXPIRE_DATE VARCHAR2(8), + DOWNLOAD_LIMIT_COUNT INTEGER, + REG_DATE DATE, + DELETE_YN VARCHAR2(1), +CONSTRAINT J_ATTACHFILE_PK PRIMARY KEY (FILE_ID, FILE_SEQ) +); + +CREATE TABLE COMTNPRIVACYLOG +( + REQUST_ID VARCHAR2(20) NOT NULL, + INQIRE_DT DATE NOT NULL, + SRVC_NM VARCHAR2(500) NULL, + INQIRE_INFO VARCHAR2(100) NULL, + RQESTER_ID VARCHAR2(20) NULL, + RQESTER_IP VARCHAR2(23) NULL, +CONSTRAINT REQUST_ID_PK PRIMARY KEY (REQUST_ID) +) +; + +CREATE TABLE COMTNCOMMUTE ( + WRKTM_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR2(20) NOT NULL, + ORGNZT_ID VARCHAR2(20) NULL, + WRKT_DT VARCHAR2(10) NOT NULL, + WRK_START_TIME VARCHAR2(14) NULL, + WRK_END_TIME VARCHAR2(14) NULL, + WRK_HOURS CHAR(2) NULL, + OVTMWRK_HOURS CHAR(2) NULL, + WRK_START_STATUS VARCHAR2(10) NULL, + WRK_END_STATUS VARCHAR2(10) NULL, + RM VARCHAR2(100) NULL, + FRST_REGISTER_ID VARCHAR2(20) NULL, + FRST_REGIST_PNTTM DATE NULL, + LAST_UPDUSR_ID VARCHAR2(20) NULL, + LAST_UPDT_PNTTM DATE NULL, + CONSTRAINT COMTNCOMMUTE_PK PRIMARY KEY (EMPLYR_ID, WRKT_DT) +); + +CREATE TABLE COMTNBLOG +( + BLOG_ID CHAR(20) NOT NULL , + BLOG_NM VARCHAR2(255) NOT NULL , + BLOG_INTRCN VARCHAR2(2400) NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + TMPLAT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + BBS_ID CHAR(20) DEFAULT NULL, + BLOG_AT CHAR(2) DEFAULT NULL, + CONSTRAINT COMTNBLOG_PK PRIMARY KEY (BLOG_ID) +); + +CREATE TABLE COMTNBLOGUSER +( + BLOG_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + MNGR_AT CHAR(1) NOT NULL, + MBER_STTUS VARCHAR(15) NULL, + SBSCRB_DE DATE NULL, + SECSN_DE CHAR(20) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATE NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATE NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + CONSTRAINT COMTNBLOGUSER_PK PRIMARY KEY (BLOG_ID,EMPLYR_ID), + CONSTRAINT COMTNBLOGUSER_FK1 FOREIGN KEY (BLOG_ID) REFERENCES COMTNBLOG(BLOG_ID) +); Index: base3.10/script/ddl/mysql/com_DDL_mysql.sql =================================================================== --- base3.10/script/ddl/mysql/com_DDL_mysql.sql (nonexistent) +++ base3.10/script/ddl/mysql/com_DDL_mysql.sql (revision 7) @@ -0,0 +1,5367 @@ + +CREATE TABLE COMTNPROGRMLIST +( + PROGRM_FILE_NM VARCHAR(60) NOT NULL, + PROGRM_STRE_PATH VARCHAR(100) NOT NULL, + PROGRM_KOREAN_NM VARCHAR(60) NULL, + PROGRM_DC VARCHAR(200) NULL, + URL VARCHAR(100) NOT NULL, + PRIMARY KEY (PROGRM_FILE_NM) +) +; + + + +CREATE UNIQUE INDEX COMTNPROGRMLIST_PK ON COMTNPROGRMLIST +( + PROGRM_FILE_NM +) +; + + + +CREATE TABLE COMTHPROGRMCHANGEDTLS +( + PROGRM_FILE_NM VARCHAR(60) NOT NULL, + REQUST_NO NUMERIC(10) NOT NULL, + RQESTER_ID VARCHAR(20) NOT NULL, + CHANGE_REQUST_CN VARCHAR(1000) NULL, + REQUST_PROCESS_CN MEDIUMTEXT NULL, + OPETR_ID VARCHAR(20) NULL, + PROCESS_STTUS_CODE VARCHAR(15) NOT NULL, + PROCESS_DE CHAR(20) NULL, + RQESTDE CHAR(20) NULL, + REQUST_SJ VARCHAR(60) NOT NULL, + PRIMARY KEY (PROGRM_FILE_NM,REQUST_NO), + FOREIGN KEY COMTHPROGRMCHANGEDTLS_FK1 (PROGRM_FILE_NM) REFERENCES COMTNPROGRMLIST(PROGRM_FILE_NM) + ON DELETE CASCADE +) +; + + + +CREATE UNIQUE INDEX COMTHPROGRMCHANGEDTLS_PK ON COMTHPROGRMCHANGEDTLS +( + PROGRM_FILE_NM, + REQUST_NO +) +; + + + +CREATE INDEX COMTHPROGRMCHANGEDTLS_i01 ON COMTHPROGRMCHANGEDTLS +( + PROGRM_FILE_NM +) +; + + + +CREATE TABLE COMTNPOPUPMANAGE +( + POPUP_ID VARCHAR(20) NOT NULL, + POPUP_SJ_NM VARCHAR(1024) NULL, + FILE_URL VARCHAR(1024) NULL, + POPUP_WIDTH_LC VARCHAR(20) NULL, + POPUP_WIDTH_SIZE NUMERIC NULL, + NTCE_BGNDE CHAR(20) NULL, + NTCE_ENDDE CHAR(20) NULL, + STOPVEW_SETUP_AT CHAR(1) NULL, + NTCE_AT CHAR(1) NULL, + POPUP_VRTICL_LC VARCHAR(20) NULL, + POPUP_VRTICL_SIZE NUMERIC NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (POPUP_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNPOPUPMANAGE_PK ON COMTNPOPUPMANAGE +( + POPUP_ID +) +; + + + +CREATE TABLE COMTNBANNER +( + BANNER_ID CHAR(20) NOT NULL, + BANNER_NM VARCHAR(60) NOT NULL, + LINK_URL VARCHAR(255) NOT NULL, + BANNER_IMAGE VARCHAR(60) NOT NULL, + BANNER_DC VARCHAR(200) NULL, + REFLCT_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + BANNER_IMAGE_FILE VARCHAR(60) NULL, + SORT_ORDR NUMERIC(8) NULL, + PRIMARY KEY (BANNER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBANNER_PK ON COMTNBANNER +( + BANNER_ID +) +; + + + +CREATE TABLE COMTNLOGINSCRINIMAGE +( + IMAGE_ID CHAR(20) NOT NULL, + IMAGE_NM VARCHAR(20) NOT NULL, + REFLCT_AT CHAR(1) NOT NULL, + IMAGE VARCHAR(60) NOT NULL, + IMAGE_DC VARCHAR(200) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + IMAGE_FILE VARCHAR(60) NULL, + PRIMARY KEY (IMAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNLOGINSCRINIMAGE_PK ON COMTNLOGINSCRINIMAGE +( + IMAGE_ID +) +; + + + +CREATE TABLE COMTNORGNZTINFO +( + ORGNZT_ID CHAR(20) NOT NULL, + ORGNZT_NM VARCHAR(20) NOT NULL, + ORGNZT_DC VARCHAR(100) NULL, + PRIMARY KEY (ORGNZT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNORGNZTINFO_PK ON COMTNORGNZTINFO +( + ORGNZT_ID +) +; + + + +CREATE TABLE COMTNAUTHORGROUPINFO +( + GROUP_ID CHAR(20) NOT NULL, + GROUP_NM VARCHAR(60) NOT NULL, + GROUP_CREAT_DE CHAR(20) NOT NULL, + GROUP_DC VARCHAR(100) NULL, + PRIMARY KEY (GROUP_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNAUTHORGROUPINFO_PK ON COMTNAUTHORGROUPINFO +( + GROUP_ID +) +; + + + +CREATE TABLE COMTNEMPLYRINFO +( + EMPLYR_ID VARCHAR(20) NOT NULL, + ORGNZT_ID CHAR(20) NULL, + USER_NM VARCHAR(60) NOT NULL, + PASSWORD VARCHAR(200) NOT NULL, + EMPL_NO VARCHAR(20) NULL, + IHIDNUM VARCHAR(200) NULL, + SEXDSTN_CODE CHAR(1) NULL, + BRTHDY CHAR(20) NULL, + FXNUM VARCHAR(20) NULL, + HOUSE_ADRES VARCHAR(100) NOT NULL, + PASSWORD_HINT VARCHAR(100) NOT NULL, + PASSWORD_CNSR VARCHAR(100) NOT NULL, + HOUSE_END_TELNO VARCHAR(4) NOT NULL, + AREA_NO VARCHAR(4) NOT NULL, + DETAIL_ADRES VARCHAR(100) NULL, + ZIP VARCHAR(6) NOT NULL, + OFFM_TELNO VARCHAR(20) NULL, + MBTLNUM VARCHAR(20) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + OFCPS_NM VARCHAR(60) NULL, + HOUSE_MIDDLE_TELNO VARCHAR(4) NOT NULL, + GROUP_ID CHAR(20) NULL, + PSTINST_CODE CHAR(8) NULL, + EMPLYR_STTUS_CODE CHAR(1) NOT NULL, + ESNTL_ID CHAR(20) NOT NULL, + CRTFC_DN_VALUE VARCHAR(100) NULL, + SBSCRB_DE DATETIME NULL, + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMERIC(3) NULL, + LOCK_LAST_PNTTM DATETIME NULL, + CHG_PWD_LAST_PNTTM DATETIME NULL, + PRIMARY KEY (EMPLYR_ID), + FOREIGN KEY COMTNEMPLYRINFO_FK2 (ORGNZT_ID) REFERENCES COMTNORGNZTINFO(ORGNZT_ID) + ON DELETE SET NULL, + FOREIGN KEY COMTNEMPLYRINFO_FK1 (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) + ON DELETE SET NULL +) +; + + + +CREATE UNIQUE INDEX COMTNEMPLYRINFO_PK ON COMTNEMPLYRINFO +( + EMPLYR_ID +) +; + + + +CREATE INDEX COMTNEMPLYRINFO_i01 ON COMTNEMPLYRINFO +( + ORGNZT_ID +) +; + + + +CREATE INDEX COMTNEMPLYRINFO_i02 ON COMTNEMPLYRINFO +( + GROUP_ID +) +; + + + +CREATE TABLE COMTNFILE +( + ATCH_FILE_ID CHAR(20) NOT NULL, + CREAT_DT DATETIME NOT NULL, + USE_AT CHAR(1) NULL, + PRIMARY KEY (ATCH_FILE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNFILE_PK ON COMTNFILE +( + ATCH_FILE_ID +) +; + + + +CREATE TABLE COMTHEMAILDSPTCHMANAGE +( + MSSAGE_ID VARCHAR(20) NOT NULL, + EMAIL_CN MEDIUMTEXT NULL, + SNDR VARCHAR(50) NOT NULL, + RCVER VARCHAR(50) NOT NULL, + SJ VARCHAR(60) NOT NULL, + SNDNG_RESULT_CODE CHAR(1) NULL, + DSPTCH_DT CHAR(20) NOT NULL, + ATCH_FILE_ID CHAR(20) NULL, + PRIMARY KEY (MSSAGE_ID), + FOREIGN KEY COMTHEMAILDSPTCHMANAGE_FK1 (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHEMAILDSPTCHMANAGE_PK ON COMTHEMAILDSPTCHMANAGE +( + MSSAGE_ID +) +; + + + +CREATE INDEX COMTHEMAILDSPTCHMANAGE_i01 ON COMTHEMAILDSPTCHMANAGE +( + SNDR +) +; + + + +CREATE INDEX COMTHEMAILDSPTCHMANAGE_i02 ON COMTHEMAILDSPTCHMANAGE +( + ATCH_FILE_ID +) +; + + + +CREATE TABLE COMTNNTTSTATS +( + STATS_ID CHAR(18) NOT NULL, + NTCE_CO NUMERIC(10) NULL, + AVRG_RDCNT NUMERIC(10) NULL, + TOP_RDCNT NUMERIC(10) NULL, + MUMM_RDCNT NUMERIC(10) NULL, + TOP_NTCR_ID VARCHAR(20) NULL, + PRIMARY KEY (STATS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNTTSTATS_PK ON COMTNNTTSTATS +( + STATS_ID +) +; + + + +CREATE TABLE COMTNSITELIST +( + SITE_ID CHAR(20) NOT NULL, + SITE_NM VARCHAR(100) NULL, + SITE_URL VARCHAR(100) NULL, + SITE_DC VARCHAR(1000) NULL, + SITE_THEMA_CL_CODE VARCHAR(2) NULL, + ACTVTY_AT CHAR(1) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (SITE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSITELIST_PK ON COMTNSITELIST +( + SITE_ID +) +; + + + +CREATE TABLE COMTNRECENTSRCHWRDMANAGE +( + SRCHWRD_MANAGE_ID CHAR(20) NOT NULL, + SRCHWRD_MANAGE_NM VARCHAR(255) NULL, + SRCHWRD_CONECT_URL VARCHAR(255) NULL, + USER_SEARCH_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (SRCHWRD_MANAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNRECENTSRCHWRDMANAGE_PK ON COMTNRECENTSRCHWRDMANAGE +( + SRCHWRD_MANAGE_ID +) +; + + + +CREATE TABLE COMTNRECENTSRCHWRD +( + SRCHWRD_MANAGE_ID CHAR(20) NOT NULL, + RECENT_SRCHWRD_ID CHAR(20) NOT NULL, + RECENT_SRCHWRD_NM VARCHAR(255) NULL, + RECENT_SRCHWRD_CO NUMERIC(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (RECENT_SRCHWRD_ID), + FOREIGN KEY COMTNRECENTSRCHWRD_FK1 (SRCHWRD_MANAGE_ID) REFERENCES COMTNRECENTSRCHWRDMANAGE(SRCHWRD_MANAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNRECENTSRCHWRD_PK ON COMTNRECENTSRCHWRD +( + RECENT_SRCHWRD_ID +) +; + + + +CREATE TABLE COMTNPROXYINFO +( + PROXY_ID CHAR(20) NOT NULL, + PROXY_NM VARCHAR(60) NULL, + PROXY_IP VARCHAR(23) NULL, + PROXY_PORT VARCHAR(10) NULL, + TRGET_SVC_NM VARCHAR(255) NULL, + SVC_DC VARCHAR(2000) NULL, + SVC_IP VARCHAR(23) NULL, + SVC_PORT VARCHAR(10) NULL, + SVC_STTUS CHAR(2) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (PROXY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNPROXYINFO_PK ON COMTNPROXYINFO +( + PROXY_ID +) +; + + + +CREATE TABLE COMTNPROXYLOGINFO +( + PROXY_ID CHAR(20) NOT NULL, + CLNT_IP VARCHAR(23) NULL, + CLNT_PORT VARCHAR(10) NULL, + CONECT_TIME DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (PROXY_ID,LOG_ID), + FOREIGN KEY COMTNPROXYLOGINFO_FK1 (PROXY_ID) REFERENCES COMTNPROXYINFO(PROXY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNPROXYLOGINFO_PK ON COMTNPROXYLOGINFO +( + PROXY_ID, + LOG_ID +) +; + + + +CREATE TABLE COMTNMAINIMAGE +( + IMAGE_ID CHAR(20) NOT NULL, + IMAGE_NM VARCHAR(20) NOT NULL, + IMAGE VARCHAR(60) NOT NULL, + IMAGE_DC VARCHAR(200) NULL, + REFLCT_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + IMAGE_FILE VARCHAR(60) NULL, + PRIMARY KEY (IMAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMAINIMAGE_PK ON COMTNMAINIMAGE +( + IMAGE_ID +) +; + + + +CREATE TABLE COMTNUNITYLINK +( + UNITY_LINK_ID CHAR(20) NOT NULL, + UNITY_LINK_GROUP VARCHAR(255) NULL, + UNITY_LINK_NM VARCHAR(255) NULL, + UNITY_LINK_URL VARCHAR(255) NULL, + UNITY_LINK_DC VARCHAR(2500) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + UNITY_LINK_SE_CODE CHAR(3) NULL, + PRIMARY KEY (UNITY_LINK_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNUNITYLINK_PK ON COMTNUNITYLINK +( + UNITY_LINK_ID +) +; + + + +CREATE TABLE COMTNUSERABSNCE +( + EMPLYR_ID VARCHAR(20) NOT NULL, + USER_ABSNCE_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNUSERABSNCE_PK ON COMTNUSERABSNCE +( + EMPLYR_ID +) +; + + + +CREATE TABLE COMTSSYSLOGSUMMARY +( + OCCRRNC_DE CHAR(8) NOT NULL, + SVC_NM VARCHAR(255) NOT NULL, + METHOD_NM VARCHAR(60) NOT NULL, + CREAT_CO NUMERIC(10) NULL, + UPDT_CO NUMERIC(10) NULL, + RDCNT NUMERIC(10) NULL, + DELETE_CO NUMERIC(10) NULL, + OUTPT_CO NUMERIC(10) NULL, + ERROR_CO NUMERIC(10) NULL, + PRIMARY KEY (OCCRRNC_DE,SVC_NM,METHOD_NM) +) +; + + + +CREATE UNIQUE INDEX COMTSSYSLOGSUMMARY_PK ON COMTSSYSLOGSUMMARY +( + OCCRRNC_DE, + SVC_NM, + METHOD_NM +) +; + + + +CREATE TABLE COMTNSYSLOG +( + REQUST_ID VARCHAR(20) NOT NULL, + JOB_SE_CODE CHAR(3) NULL, + INSTT_CODE CHAR(7) NULL, + OCCRRNC_DE DATETIME NULL, + RQESTER_IP VARCHAR(23) NULL, + RQESTER_ID VARCHAR(20) NULL, + TRGET_MENU_NM VARCHAR(255) NULL, + SVC_NM VARCHAR(255) NULL, + METHOD_NM VARCHAR(60) NULL, + PROCESS_SE_CODE CHAR(3) NULL, + PROCESS_CO NUMERIC(10) NULL, + PROCESS_TIME VARCHAR(14) NULL, + RSPNS_CODE CHAR(3) NULL, + ERROR_SE CHAR(1) NULL, + ERROR_CO NUMERIC(10) NULL, + ERROR_CODE CHAR(3) NULL, + PRIMARY KEY (REQUST_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSYSLOG_PK ON COMTNSYSLOG +( + REQUST_ID +) +; + + + +CREATE TABLE COMTNBBSMASTER +( + BBS_ID CHAR(20) NOT NULL, + BBS_NM VARCHAR(255) NOT NULL, + BBS_INTRCN VARCHAR(2400) NULL, + BBS_TY_CODE CHAR(6) NOT NULL, + REPLY_POSBL_AT CHAR(1) NULL, + FILE_ATCH_POSBL_AT CHAR(1) NOT NULL, + ATCH_POSBL_FILE_NUMBER NUMERIC(2) NOT NULL, + ATCH_POSBL_FILE_SIZE NUMERIC(8) NULL, + USE_AT CHAR(1) NOT NULL, + TMPLAT_ID CHAR(20) NULL, + CMMNTY_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + BLOG_ID CHAR(20) NULL, + BLOG_AT CHAR(2) NULL, + PRIMARY KEY (BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBBSMASTER_PK ON COMTNBBSMASTER +( + BBS_ID +) +; + + + +CREATE TABLE COMTNBBS +( + NTT_ID NUMERIC(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + NTT_NO NUMERIC(20) NULL, + NTT_SJ VARCHAR(2000) NULL, + NTT_CN MEDIUMTEXT NULL, + ANSWER_AT CHAR(1) NULL, + PARNTSCTT_NO NUMERIC(10) NULL, + ANSWER_LC NUMERIC(8) NULL, + SORT_ORDR NUMERIC(8) NULL, + RDCNT NUMERIC(10) NULL, + USE_AT CHAR(1) NOT NULL, + NTCE_BGNDE CHAR(20) NULL, + NTCE_ENDDE CHAR(20) NULL, + NTCR_ID VARCHAR(20) NULL, + NTCR_NM VARCHAR(20) NULL, + PASSWORD VARCHAR(200) NULL, + ATCH_FILE_ID CHAR(20) NULL, + NOTICE_AT CHAR(1) NULL, + SJ_BOLD_AT CHAR(1) NULL, + SECRET_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + BLOG_ID CHAR(20) NULL, + PRIMARY KEY (NTT_ID,BBS_ID), + FOREIGN KEY COMTNBBS_FK1 (BBS_ID) REFERENCES COMTNBBSMASTER(BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBBS_PK ON COMTNBBS +( + NTT_ID, + BBS_ID +) +; + + + +CREATE INDEX COMTNBBS_i01 ON COMTNBBS +( + BBS_ID +) +; + + + +CREATE TABLE COMTNCOMMENT +( + NTT_ID NUMERIC(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + ANSWER_NO NUMERIC(20) NOT NULL, + WRTER_ID VARCHAR(20) NULL, + WRTER_NM VARCHAR(20) NULL, + ANSWER VARCHAR(200) NULL, + USE_AT CHAR(1) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PASSWORD VARCHAR(200) NULL, + PRIMARY KEY (NTT_ID,BBS_ID,ANSWER_NO), + FOREIGN KEY COMTNCOMMENT_FK1 (NTT_ID,BBS_ID) REFERENCES COMTNBBS(NTT_ID,BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCOMMENT_PK ON COMTNCOMMENT +( + NTT_ID, + BBS_ID, + ANSWER_NO +) +; + + + +CREATE INDEX COMTNCOMMENT_i01 ON COMTNCOMMENT +( + NTT_ID, + BBS_ID +) +; + + + +CREATE TABLE COMTNRECOMENDSITEINFO +( + RECOMEND_SITE_ID CHAR(20) NOT NULL, + RECOMEND_SITE_NM VARCHAR(100) NULL, + RECOMEND_SITE_URL VARCHAR(255) NULL, + RECOMEND_SITE_DC VARCHAR(1000) NULL, + RECOMEND_RESN_CN VARCHAR(1000) NULL, + RECOMEND_CONFM_AT CHAR(1) NULL, + CONFM_DE CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (RECOMEND_SITE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNRECOMENDSITEINFO_PK ON COMTNRECOMENDSITEINFO +( + RECOMEND_SITE_ID +) +; + + + +CREATE TABLE COMTNINTNETSVC +( + INTNET_SVC_ID CHAR(20) NOT NULL, + INTNET_SVC_NM VARCHAR(20) NOT NULL, + INTNET_SVC_DC VARCHAR(200) NULL, + REFLCT_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (INTNET_SVC_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINTNETSVC_PK ON COMTNINTNETSVC +( + INTNET_SVC_ID +) +; + + + +CREATE TABLE COMTNCLUB +( + CLB_ID CHAR(20) NOT NULL, + CMMNTY_ID CHAR(20) NOT NULL, + CLB_NM VARCHAR(255) NOT NULL, + CLB_INTRCN VARCHAR(2400) NULL, + USE_AT CHAR(1) NOT NULL, + REGIST_SE_CODE CHAR(6) NULL, + TMPLAT_ID CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CLB_ID,CMMNTY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCLUB_PK ON COMTNCLUB +( + CLB_ID, + CMMNTY_ID +) +; + + + +CREATE TABLE COMTNCLUBUSER +( + CLB_ID CHAR(20) NOT NULL, + CMMNTY_ID CHAR(20) NOT NULL, + OPRTR_AT CHAR(1) NOT NULL, + SBSCRB_DE DATETIME NULL, + SECSN_DE CHAR(20) NULL, + USE_AT CHAR(1) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (CLB_ID,CMMNTY_ID,EMPLYR_ID), + FOREIGN KEY COMTNCLUBUSER_FK1 (CLB_ID,CMMNTY_ID) REFERENCES COMTNCLUB(CLB_ID,CMMNTY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCLUBUSER_PK ON COMTNCLUBUSER +( + CLB_ID, + CMMNTY_ID, + EMPLYR_ID +) +; + + + +CREATE INDEX COMTNCLUBUSER_i01 ON COMTNCLUBUSER +( + CLB_ID, + CMMNTY_ID +) +; + + + +CREATE TABLE COMTNBACKUPOPERT +( + BACKUP_OPERT_ID VARCHAR(20) NOT NULL, + BACKUP_OPERT_NM VARCHAR(60) NULL, + BACKUP_ORGINL_DRCTRY VARCHAR(255) NULL, + BACKUP_STRE_DRCTRY VARCHAR(255) NULL, + CMPRS_SE VARCHAR(2) NULL, + EXECUT_CYCLE VARCHAR(2) NULL, + EXECUT_SCHDUL_DE CHAR(20) NULL, + EXECUT_SCHDUL_HOUR CHAR(2) NULL, + EXECUT_SCHDUL_MNT CHAR(2) NULL, + EXECUT_SCHDUL_SECND CHAR(2) NULL, + USE_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (BACKUP_OPERT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBACKUPOPERT_PK ON COMTNBACKUPOPERT +( + BACKUP_OPERT_ID +) +; + + + +CREATE TABLE COMTNBACKUPSCHDULDFK +( + BACKUP_OPERT_ID VARCHAR(20) NOT NULL, + EXECUT_SCHDUL_DFK_SE CHAR(1) NOT NULL, + PRIMARY KEY (BACKUP_OPERT_ID,EXECUT_SCHDUL_DFK_SE), + FOREIGN KEY COMTNBACKUPSCHDULDFK_FK1 (BACKUP_OPERT_ID) REFERENCES COMTNBACKUPOPERT(BACKUP_OPERT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBACKUPSCHDULDFK_PK ON COMTNBACKUPSCHDULDFK +( + BACKUP_OPERT_ID, + EXECUT_SCHDUL_DFK_SE +) +; + + + +CREATE TABLE COMTNCMMNTY +( + CMMNTY_ID CHAR(20) NOT NULL, + CMMNTY_NM VARCHAR(255) NOT NULL, + CMMNTY_INTRCN VARCHAR(2400) NULL, + USE_AT CHAR(1) NOT NULL, + REGIST_SE_CODE CHAR(6) NULL, + TMPLAT_ID CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CMMNTY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCMMNTY_PK ON COMTNCMMNTY +( + CMMNTY_ID +) +; + + + +CREATE TABLE COMTNCMMNTYUSER +( + CMMNTY_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + MNGR_AT CHAR(1) NOT NULL, + MBER_STTUS VARCHAR(15) NULL, + SBSCRB_DE DATETIME NULL, + SECSN_DE CHAR(20) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CMMNTY_ID,EMPLYR_ID), + FOREIGN KEY COMTNCMMNTYUSER_FK1 (CMMNTY_ID) REFERENCES COMTNCMMNTY(CMMNTY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCMMNTYUSER_PK ON COMTNCMMNTYUSER +( + CMMNTY_ID, + EMPLYR_ID +) +; + + + +CREATE INDEX COMTNCMMNTYUSER_i01 ON COMTNCMMNTYUSER +( + CMMNTY_ID +) +; + + + +CREATE TABLE COMTNFILEDETAIL +( + ATCH_FILE_ID CHAR(20) NOT NULL, + FILE_SN NUMERIC(10) NOT NULL, + FILE_STRE_COURS VARCHAR(2000) NOT NULL, + STRE_FILE_NM VARCHAR(255) NOT NULL, + ORIGNL_FILE_NM VARCHAR(255) NULL, + FILE_EXTSN VARCHAR(20) NOT NULL, + FILE_CN MEDIUMTEXT NULL, + FILE_SIZE NUMERIC(8) NULL, + PRIMARY KEY (ATCH_FILE_ID,FILE_SN), + FOREIGN KEY COMTNFILEDETAIL_FK1 (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNFILEDETAIL_PK ON COMTNFILEDETAIL +( + ATCH_FILE_ID, + FILE_SN +) +; + + + +CREATE INDEX COMTNFILEDETAIL_i01 ON COMTNFILEDETAIL +( + ATCH_FILE_ID +) +; + + + +CREATE TABLE COMTNLOGINPOLICY +( + EMPLYR_ID VARCHAR(20) NOT NULL, + IP_INFO VARCHAR(23) NOT NULL, + DPLCT_PERM_AT CHAR(1) NOT NULL, + LMTT_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNLOGINPOLICY_PK ON COMTNLOGINPOLICY +( + EMPLYR_ID +) +; + + + +CREATE TABLE COMTNQUSTNRTMPLAT +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + QUSTNR_TMPLAT_TY VARCHAR(100) NULL, + QUSTNR_TMPLAT_DC VARCHAR(2000) NULL, + QUSTNR_TMPLAT_PATH_NM VARCHAR(100) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + QUSTNR_TMPLAT_IMAGE_INFO BLOB NULL, + PRIMARY KEY (QUSTNR_TMPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQUSTNRTMPLAT_PK ON COMTNQUSTNRTMPLAT +( + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTNQESTNRINFO +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + QESTNR_ID CHAR(20) NOT NULL, + QUSTNR_SJ VARCHAR(255) NULL, + QUSTNR_PURPS VARCHAR(1000) NULL, + QUSTNR_WRITNG_GUIDANCE_CN VARCHAR(2000) NULL, + QUSTNR_TRGET VARCHAR(1000) NULL, + QUSTNR_BGNDE CHAR(20) NULL, + QUSTNR_ENDDE CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID), + FOREIGN KEY COMTNQESTNRINFO_FK1 (QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRTMPLAT(QUSTNR_TMPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQESTNRINFO_PK ON COMTNQESTNRINFO +( + QUSTNR_TMPLAT_ID, + QESTNR_ID +) +; + + + +CREATE INDEX COMTNQESTNRINFO_i01 ON COMTNQESTNRINFO +( + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTNQUSTNRRESPONDINFO +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + QESTNR_ID CHAR(20) NOT NULL, + QUSTNR_RESPOND_ID CHAR(20) NOT NULL, + SEXDSTN_CODE CHAR(1) NULL, + OCCP_TY_CODE CHAR(1) NULL, + RESPOND_NM VARCHAR(50) NULL, + BRTHDY CHAR(20) NULL, + AREA_NO VARCHAR(4) NULL, + MIDDLE_TELNO VARCHAR(4) NULL, + END_TELNO VARCHAR(4) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID,QUSTNR_RESPOND_ID), + FOREIGN KEY COMTNQUSTNRRESPONDINFO_FK1 (QUSTNR_TMPLAT_ID,QESTNR_ID) REFERENCES COMTNQESTNRINFO(QUSTNR_TMPLAT_ID,QESTNR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQUSTNRRESPONDINFO_PK ON COMTNQUSTNRRESPONDINFO +( + QUSTNR_TMPLAT_ID, + QESTNR_ID, + QUSTNR_RESPOND_ID +) +; + + + +CREATE INDEX COMTNQUSTNRRESPONDINFO_i01 ON COMTNQUSTNRRESPONDINFO +( + QESTNR_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTCADMINISTCODE +( + ADMINIST_ZONE_SE CHAR(1) NOT NULL, + ADMINIST_ZONE_CODE VARCHAR(10) NOT NULL, + USE_AT CHAR(1) NOT NULL, + ADMINIST_ZONE_NM VARCHAR(60) NULL, + UPPER_ADMINIST_ZONE_CODE VARCHAR(10) NULL, + CREAT_DE CHAR(20) NULL, + ABL_DE CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (ADMINIST_ZONE_SE,ADMINIST_ZONE_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTCADMINISTCODE_PK ON COMTCADMINISTCODE +( + ADMINIST_ZONE_SE, + ADMINIST_ZONE_CODE +) +; + + + +CREATE TABLE COMTNUSERLOG +( + OCCRRNC_DE CHAR(8) NOT NULL, + RQESTER_ID VARCHAR(20) NOT NULL, + SVC_NM VARCHAR(255) NOT NULL, + METHOD_NM VARCHAR(60) NOT NULL, + CREAT_CO NUMERIC(10) NULL, + UPDT_CO NUMERIC(10) NULL, + RDCNT NUMERIC(10) NULL, + DELETE_CO NUMERIC(10) NULL, + OUTPT_CO NUMERIC(10) NULL, + ERROR_CO NUMERIC(10) NULL, + PRIMARY KEY (OCCRRNC_DE,RQESTER_ID,SVC_NM,METHOD_NM) +) +; + + + +CREATE UNIQUE INDEX COMTNUSERLOG_PK ON COMTNUSERLOG +( + OCCRRNC_DE, + RQESTER_ID, + SVC_NM, + METHOD_NM +) +; + + + +CREATE TABLE COMTSTRSMRCVLOGSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL, + TRSMRCV_SE_CODE CHAR(3) NOT NULL, + PROVD_INSTT_ID CHAR(8) NOT NULL, + PROVD_SYS_ID CHAR(8) NOT NULL, + PROVD_SVC_ID CHAR(8) NOT NULL, + REQUST_INSTT_ID CHAR(8) NOT NULL, + REQUST_SYS_ID CHAR(8) NOT NULL, + RDCNT NUMERIC(10) NULL, + ERROR_CO NUMERIC(10) NULL, + PRIMARY KEY (OCCRRNC_DE,TRSMRCV_SE_CODE,PROVD_INSTT_ID,PROVD_SYS_ID,PROVD_SVC_ID,REQUST_INSTT_ID,REQUST_SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTSTRSMRCVLOGSUMMARY_PK ON COMTSTRSMRCVLOGSUMMARY +( + OCCRRNC_DE, + TRSMRCV_SE_CODE, + PROVD_INSTT_ID, + PROVD_SYS_ID, + PROVD_SVC_ID, + REQUST_INSTT_ID, + REQUST_SYS_ID +) +; + + + +CREATE TABLE COMTCCMMNCLCODE +( + CL_CODE CHAR(3) NOT NULL, + CL_CODE_NM VARCHAR(60) NULL, + CL_CODE_DC VARCHAR(200) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CL_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTCCMMNCLCODE_PK ON COMTCCMMNCLCODE +( + CL_CODE +) +; + + + +CREATE TABLE COMTCCMMNCODE +( + CODE_ID VARCHAR(6) NOT NULL, + CODE_ID_NM VARCHAR(60) NULL, + CODE_ID_DC VARCHAR(200) NULL, + USE_AT CHAR(1) NULL, + CL_CODE CHAR(3) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CODE_ID), + FOREIGN KEY COMTCCMMNCODE_FK1 (CL_CODE) REFERENCES COMTCCMMNCLCODE(CL_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTCCMMNCODE_PK ON COMTCCMMNCODE +( + CODE_ID +) +; + + + +CREATE INDEX COMTCCMMNCODE_i01 ON COMTCCMMNCODE +( + CL_CODE +) +; + + + +CREATE TABLE COMTCCMMNDETAILCODE +( + CODE_ID VARCHAR(6) NOT NULL, + CODE VARCHAR(15) NOT NULL, + CODE_NM VARCHAR(60) NULL, + CODE_DC VARCHAR(200) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CODE_ID,CODE), + FOREIGN KEY COMTCCMMNDETAILCODE_FK1 (CODE_ID) REFERENCES COMTCCMMNCODE(CODE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTCCMMNDETAILCODE_PK ON COMTCCMMNDETAILCODE +( + CODE_ID, + CODE +) +; + + + +CREATE INDEX COMTCCMMNDETAILCODE_i01 ON COMTCCMMNDETAILCODE +( + CODE_ID +) +; + + + +CREATE TABLE COMTSBBSSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL, + STATS_SE VARCHAR(10) NOT NULL, + DETAIL_STATS_SE VARCHAR(10) NOT NULL, + CREAT_CO NUMERIC(10) NULL, + TOT_RDCNT NUMERIC(10) NULL, + AVRG_RDCNT NUMERIC(10) NULL, + TOP_INQIRE_BBSCTT_ID VARCHAR(20) NULL, + MUMM_INQIRE_BBSCTT_ID VARCHAR(20) NULL, + TOP_NTCR_ID VARCHAR(20) NULL, + PRIMARY KEY (OCCRRNC_DE,STATS_SE,DETAIL_STATS_SE) +) +; + + + +CREATE UNIQUE INDEX COMTSBBSSUMMARY_PK ON COMTSBBSSUMMARY +( + OCCRRNC_DE, + STATS_SE, + DETAIL_STATS_SE +) +; + + + +CREATE TABLE COMTCZIP +( + ZIP VARCHAR(6) NOT NULL, + SN NUMERIC(10) NOT NULL, + CTPRVN_NM VARCHAR(20) NULL, + SIGNGU_NM VARCHAR(20) NULL, + EMD_NM VARCHAR(60) NULL, + LI_BULD_NM VARCHAR(60) NULL, + LNBR_DONG_HO VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (ZIP,SN) +) +; + + + +CREATE UNIQUE INDEX COMTCZIP_PK ON COMTCZIP +( + ZIP, + SN +) +; + + + +CREATE TABLE COMTRDNMADRZIP +( + RDMN_CODE VARCHAR(12) NOT NULL, + SN NUMERIC(10) NOT NULL, + CTPRVN_NM VARCHAR(20) NULL, + SIGNGU_NM VARCHAR(20) NULL, + RDMN VARCHAR(60) NULL, + BDNBR_MNNM VARCHAR(5) NULL, + BDNBR_SLNO VARCHAR(5) NULL, + BULD_NM VARCHAR(60) NULL, + DETAIL_BULD_NM VARCHAR(60) NULL, + ZIP VARCHAR(6) NOT NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (SN) +) +; + + + +CREATE UNIQUE INDEX COMTRDNMADRZIP_PK ON COMTRDNMADRZIP +( + RDMN_CODE, + SN +) +; + + + +CREATE TABLE COMTNNCRD +( + NCRD_ID CHAR(20) NOT NULL, + NCRD_TRGTER_ID VARCHAR(20) NULL, + NM VARCHAR(50) NOT NULL, + TELNO VARCHAR(20) NULL, + NATION_NO VARCHAR(10) NULL, + AREA_NO VARCHAR(4) NULL, + MIDDLE_TELNO VARCHAR(4) NULL, + END_TELNO VARCHAR(4) NULL, + MBTLNUM VARCHAR(20) NULL, + IDNTFC_NO VARCHAR(10) NULL, + MIDDLE_MBTLNUM VARCHAR(4) NULL, + END_MBTLNUM VARCHAR(4) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + CMPNY_NM VARCHAR(60) NULL, + DEPT_NM VARCHAR(60) NULL, + ADRES VARCHAR(100) NULL, + DETAIL_ADRES VARCHAR(100) NULL, + OFCPS_NM VARCHAR(60) NULL, + CLSF_NM VARCHAR(60) NULL, + EXTRL_USER_AT CHAR(1) NULL, + OTHBC_AT CHAR(1) NOT NULL, + RM VARCHAR(2500) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (NCRD_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNCRD_PK ON COMTNNCRD +( + NCRD_ID +) +; + + + +CREATE TABLE COMTNNCRDUSER +( + NCRD_ID CHAR(20) NOT NULL, + REGIST_SE_CODE CHAR(6) NOT NULL, + USE_AT CHAR(1) NOT NULL, + CREAT_DT DATETIME NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (NCRD_ID,EMPLYR_ID), + FOREIGN KEY COMTNNCRDUSER_FK1 (NCRD_ID) REFERENCES COMTNNCRD(NCRD_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNCRDUSER_PK ON COMTNNCRDUSER +( + NCRD_ID, + EMPLYR_ID +) +; + + + +CREATE INDEX COMTNNCRDUSER_i03 ON COMTNNCRDUSER +( + NCRD_ID +) +; + + + +CREATE TABLE COMTNENTRPRSMBER +( + ENTRPRS_MBER_ID VARCHAR(20) NOT NULL, + ENTRPRS_SE_CODE CHAR(8) NULL, + BIZRNO VARCHAR(10) NULL, + JURIRNO VARCHAR(13) NULL, + CMPNY_NM VARCHAR(60) NOT NULL, + CXFC VARCHAR(50) NULL, + ZIP VARCHAR(6) NOT NULL, + ADRES VARCHAR(100) NOT NULL, + ENTRPRS_MIDDLE_TELNO VARCHAR(4) NOT NULL, + FXNUM VARCHAR(20) NULL, + INDUTY_CODE CHAR(1) NULL, + APPLCNT_NM VARCHAR(50) NOT NULL, + APPLCNT_IHIDNUM VARCHAR(200) NULL, + SBSCRB_DE DATETIME NULL, + ENTRPRS_MBER_STTUS VARCHAR(15) NULL, + ENTRPRS_MBER_PASSWORD VARCHAR(200) NULL, + ENTRPRS_MBER_PASSWORD_HINT VARCHAR(100) NOT NULL, + ENTRPRS_MBER_PASSWORD_CNSR VARCHAR(100) NOT NULL, + GROUP_ID CHAR(20) NULL, + DETAIL_ADRES VARCHAR(100) NULL, + ENTRPRS_END_TELNO VARCHAR(4) NOT NULL, + AREA_NO VARCHAR(4) NOT NULL, + APPLCNT_EMAIL_ADRES VARCHAR(50) NOT NULL, + ESNTL_ID CHAR(20) NOT NULL, + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMERIC(3) NULL, + LOCK_LAST_PNTTM DATETIME NULL, + CHG_PWD_LAST_PNTTM DATETIME NULL, + PRIMARY KEY (ENTRPRS_MBER_ID), + FOREIGN KEY COMTNENTRPRSMBER_FK1 (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) + ON DELETE SET NULL +) +; + + + +CREATE UNIQUE INDEX COMTNENTRPRSMBER_PK ON COMTNENTRPRSMBER +( + ENTRPRS_MBER_ID +) +; + + + +CREATE INDEX COMTNENTRPRSMBER_i01 ON COMTNENTRPRSMBER +( + GROUP_ID +) +; + + + +CREATE TABLE COMTNGNRLMBER +( + MBER_ID VARCHAR(20) NOT NULL, + PASSWORD VARCHAR(200) NOT NULL, + PASSWORD_HINT VARCHAR(100) NULL, + PASSWORD_CNSR VARCHAR(100) NULL, + IHIDNUM VARCHAR(200) NULL, + MBER_NM VARCHAR(50) NOT NULL, + ZIP VARCHAR(6) NOT NULL, + ADRES VARCHAR(100) NOT NULL, + AREA_NO VARCHAR(4) NOT NULL, + MBER_STTUS VARCHAR(15) NULL, + DETAIL_ADRES VARCHAR(100) NULL, + END_TELNO VARCHAR(4) NOT NULL, + MBTLNUM VARCHAR(20) NOT NULL, + GROUP_ID CHAR(20) NULL, + MBER_FXNUM VARCHAR(20) NULL, + MBER_EMAIL_ADRES VARCHAR(50) NULL, + MIDDLE_TELNO VARCHAR(4) NOT NULL, + SBSCRB_DE DATETIME NULL, + SEXDSTN_CODE CHAR(1) NULL, + ESNTL_ID CHAR(20) NOT NULL, + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMERIC(3) NULL, + LOCK_LAST_PNTTM DATETIME NULL, + CHG_PWD_LAST_PNTTM DATETIME NULL, + PRIMARY KEY (MBER_ID), + FOREIGN KEY COMTNGNRLMBER_FK1 (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) + ON DELETE SET NULL +) +; + + + +CREATE UNIQUE INDEX COMTNGNRLMBER_PK ON COMTNGNRLMBER +( + MBER_ID +) +; + + + +CREATE INDEX COMTNGNRLMBER_i01 ON COMTNGNRLMBER +( + GROUP_ID +) +; + + + +CREATE TABLE COMTNAUTHORINFO +( + AUTHOR_CODE VARCHAR(30) NOT NULL, + AUTHOR_NM VARCHAR(60) NOT NULL, + AUTHOR_DC VARCHAR(200) NULL, + AUTHOR_CREAT_DE CHAR(20) NOT NULL, + PRIMARY KEY (AUTHOR_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNAUTHORINFO_PK ON COMTNAUTHORINFO +( + AUTHOR_CODE +) +; + + + +CREATE TABLE COMTNEMPLYRSCRTYESTBS +( + SCRTY_DTRMN_TRGET_ID VARCHAR(20) NOT NULL, + MBER_TY_CODE CHAR(5) NULL, + AUTHOR_CODE VARCHAR(30) NOT NULL, + PRIMARY KEY (SCRTY_DTRMN_TRGET_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNEMPLYRSCRTYESTBS_PK ON COMTNEMPLYRSCRTYESTBS +( + SCRTY_DTRMN_TRGET_ID +) +; + + + +CREATE INDEX COMTNEMPLYRSCRTYESTBS_i04 ON COMTNEMPLYRSCRTYESTBS +( + AUTHOR_CODE +) +; + + + +CREATE TABLE COMTNQAINFO +( + QA_ID CHAR(20) NOT NULL, + QESTN_SJ VARCHAR(255) NULL, + QESTN_CN VARCHAR(2500) NULL, + WRITNG_DE CHAR(20) NULL, + RDCNT NUMERIC(10) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + QNA_PROCESS_STTUS_CODE CHAR(1) NULL, + WRTER_NM VARCHAR(20) NULL, + ANSWER_CN VARCHAR(2500) NULL, + WRITNG_PASSWORD VARCHAR(20) NULL, + ANSWER_DE CHAR(20) NULL, + EMAIL_ANSWER_AT CHAR(1) NULL, + AREA_NO VARCHAR(4) NULL, + MIDDLE_TELNO VARCHAR(4) NULL, + END_TELNO VARCHAR(4) NULL, + PRIMARY KEY (QA_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQAINFO_PK ON COMTNQAINFO +( + QA_ID +) +; + + + +CREATE TABLE COMTSWEBLOGSUMMARY +( + OCCRRNC_DE CHAR(8) NOT NULL, + URL VARCHAR(200) NOT NULL, + RDCNT NUMERIC(10) NULL, + PRIMARY KEY (OCCRRNC_DE,URL) +) +; + + + +CREATE UNIQUE INDEX COMTSWEBLOGSUMMARY_PK ON COMTSWEBLOGSUMMARY +( + OCCRRNC_DE, + URL +) +; + + + +CREATE TABLE COMTNROLES_HIERARCHY +( + PARNTS_ROLE VARCHAR(30) NOT NULL, + CHLDRN_ROLE VARCHAR(30) NOT NULL, + PRIMARY KEY (PARNTS_ROLE,CHLDRN_ROLE), + FOREIGN KEY COMTNROLES_HIERARCHY_FK1 (PARNTS_ROLE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) + ON DELETE CASCADE, + FOREIGN KEY COMTNROLES_HIERARCHY_FK2 (CHLDRN_ROLE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) + ON DELETE CASCADE +) +; + + + +CREATE UNIQUE INDEX COMTNROLES_HIERARCHY_PK ON COMTNROLES_HIERARCHY +( + PARNTS_ROLE, + CHLDRN_ROLE +) +; + + + +CREATE UNIQUE INDEX COMTNROLES_HIERARCHY_i01 ON COMTNROLES_HIERARCHY +( + PARNTS_ROLE +) +; + + + +CREATE INDEX COMTNROLES_HIERARCHY_i02 ON COMTNROLES_HIERARCHY +( + CHLDRN_ROLE +) +; + + + +CREATE TABLE COMTNROLEINFO +( + ROLE_CODE VARCHAR(50) NOT NULL, + ROLE_NM VARCHAR(60) NOT NULL, + ROLE_PTTRN VARCHAR(300) NULL, + ROLE_DC VARCHAR(200) NULL, + ROLE_TY VARCHAR(80) NULL, + ROLE_SORT VARCHAR(10) NULL, + ROLE_CREAT_DE CHAR(20) NOT NULL, + PRIMARY KEY (ROLE_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNROLEINFO_PK ON COMTNROLEINFO +( + ROLE_CODE +) +; + + + +CREATE TABLE COMTNAUTHORROLERELATE +( + AUTHOR_CODE VARCHAR(30) NOT NULL, + ROLE_CODE VARCHAR(50) NOT NULL, + CREAT_DT DATETIME NULL, + PRIMARY KEY (AUTHOR_CODE,ROLE_CODE), + FOREIGN KEY COMTNAUTHORROLERELATE_FK1 (AUTHOR_CODE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) + ON DELETE CASCADE, + FOREIGN KEY COMTNAUTHORROLERELATE_FK2 (ROLE_CODE) REFERENCES COMTNROLEINFO(ROLE_CODE) + ON DELETE CASCADE +) +; + + + +CREATE UNIQUE INDEX COMTNAUTHORROLERELATE_PK ON COMTNAUTHORROLERELATE +( + AUTHOR_CODE, + ROLE_CODE +) +; + + + +CREATE INDEX COMTNAUTHORROLERELATE_i01 ON COMTNAUTHORROLERELATE +( + AUTHOR_CODE +) +; + + + +CREATE INDEX COMTNAUTHORROLERELATE_i02 ON COMTNAUTHORROLERELATE +( + ROLE_CODE +) +; + + + +CREATE TABLE COMTNLOGINLOG +( + LOG_ID CHAR(20) NOT NULL, + CONECT_ID VARCHAR(20) NULL, + CONECT_IP VARCHAR(23) NULL, + CONECT_MTHD CHAR(4) NULL, + ERROR_OCCRRNC_AT CHAR(1) NULL, + ERROR_CODE CHAR(3) NULL, + CREAT_DT DATETIME NULL, + PRIMARY KEY (LOG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNLOGINLOG_PK ON COMTNLOGINLOG +( + LOG_ID +) +; + + + +CREATE TABLE COMTNWEBLOG +( + REQUST_ID VARCHAR(20) NOT NULL, + OCCRRNC_DE DATETIME NULL, + URL VARCHAR(200) NULL, + RQESTER_ID VARCHAR(20) NULL, + RQESTER_IP VARCHAR(23) NULL, + PRIMARY KEY (REQUST_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNWEBLOG_PK ON COMTNWEBLOG +( + REQUST_ID +) +; + + + +CREATE TABLE COMTNEVENTINFO +( + EVENT_ID CHAR(20) NOT NULL, + BSNS_YEAR CHAR(4) NULL, + BSNS_CODE VARCHAR(2) NULL, + EVENT_CN VARCHAR(1000) NULL, + EVENT_SVC_BGNDE CHAR(20) NULL, + SVC_USE_NMPR_CO NUMERIC(10) NULL, + CHARGER_NM VARCHAR(50) NULL, + PRPARETG_CN VARCHAR(2500) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + EVENT_SVC_ENDDE CHAR(20) NULL, + EVENT_TY_CODE CHAR(1) NULL, + EVENT_CONFM_AT CHAR(1) NULL, + EVENT_CONFM_DE CHAR(20) NULL, + PRIMARY KEY (EVENT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNEVENTINFO_PK ON COMTNEVENTINFO +( + EVENT_ID +) +; + + + +CREATE TABLE COMTNEXTRLHRINFO +( + EVENT_ID CHAR(20) NOT NULL, + EXTRL_HR_ID CHAR(20) NOT NULL, + SEXDSTN_CODE CHAR(1) NULL, + EXTRL_HR_NM VARCHAR(60) NULL, + OCCP_TY_CODE CHAR(1) NULL, + PSITN_INSTT_NM VARCHAR(100) NULL, + BRTHDY CHAR(20) NULL, + AREA_NO VARCHAR(4) NULL, + MIDDLE_TELNO VARCHAR(4) NULL, + END_TELNO VARCHAR(4) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (EVENT_ID,EXTRL_HR_ID), + FOREIGN KEY COMTNEXTRLHRINFO_FK1 (EVENT_ID) REFERENCES COMTNEVENTINFO(EVENT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNEXTRLHRINFO_PK ON COMTNEXTRLHRINFO +( + EVENT_ID, + EXTRL_HR_ID +) +; + + + +CREATE INDEX COMTNEXTRLHRINFO_i01 ON COMTNEXTRLHRINFO +( + EVENT_ID +) +; + + + +CREATE TABLE COMTNBBSUSE +( + BBS_ID CHAR(20) NOT NULL, + TRGET_ID CHAR(20) NOT NULL, + USE_AT CHAR(1) NOT NULL, + REGIST_SE_CODE CHAR(6) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (BBS_ID,TRGET_ID), + FOREIGN KEY COMTNBBSUSE_FK1 (BBS_ID) REFERENCES COMTNBBSMASTER(BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBBSUSE_PK ON COMTNBBSUSE +( + BBS_ID, + TRGET_ID +) +; + + + +CREATE INDEX COMTNBBSUSE_i01 ON COMTNBBSUSE +( + BBS_ID +) +; + + + +CREATE TABLE COMTNSTPLATINFO +( + USE_STPLAT_ID CHAR(20) NOT NULL, + USE_STPLAT_NM VARCHAR(100) NULL, + USE_STPLAT_CN MEDIUMTEXT NULL, + INFO_PROVD_AGRE_CN MEDIUMTEXT NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (USE_STPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSTPLATINFO_PK ON COMTNSTPLATINFO +( + USE_STPLAT_ID +) +; + + + +CREATE TABLE COMTNQUSTNRQESITM +( + QESTNR_ID CHAR(20) NOT NULL, + QUSTNR_QESITM_ID CHAR(20) NOT NULL, + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + QESTN_SN NUMERIC(10) NULL, + QESTN_TY_CODE CHAR(1) NULL, + QESTN_CN VARCHAR(2500) NULL, + MXMM_CHOISE_CO NUMERIC(5) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID), + FOREIGN KEY COMTNQUSTNRQESITM_FK1 (QUSTNR_TMPLAT_ID,QESTNR_ID) REFERENCES COMTNQESTNRINFO(QUSTNR_TMPLAT_ID,QESTNR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQUSTNRQESITM_PK ON COMTNQUSTNRQESITM +( + QESTNR_ID, + QUSTNR_QESITM_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE INDEX COMTNQUSTNRQESITM_i02 ON COMTNQUSTNRQESITM +( + QESTNR_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTNQUSTNRRSPNSRESULT +( + QUSTNR_RSPNS_RESULT_ID CHAR(20) NOT NULL, + QESTNR_ID CHAR(20) NOT NULL, + QUSTNR_QESITM_ID CHAR(20) NOT NULL, + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + RESPOND_ANSWER_CN VARCHAR(1000) NULL, + ETC_ANSWER_CN VARCHAR(1000) NULL, + RESPOND_NM VARCHAR(50) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + QUSTNR_IEM_ID VARCHAR(20) NULL, + PRIMARY KEY (QUSTNR_RSPNS_RESULT_ID,QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID), + FOREIGN KEY COMTNQUSTNRRSPNSRESULT_FK1 (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRQESITM(QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQUSTNRRSPNSRESULT_PK ON COMTNQUSTNRRSPNSRESULT +( + QUSTNR_RSPNS_RESULT_ID, + QESTNR_ID, + QUSTNR_QESITM_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE INDEX COMTNQUSTNRRSPNSRESULT_i01 ON COMTNQUSTNRRSPNSRESULT +( + QESTNR_ID, + QUSTNR_QESITM_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTNADBKMANAGE +( + ADBK_ID CHAR(20) NOT NULL, + ADBK_NM VARCHAR(50) NOT NULL, + OTHBC_SCOPE VARCHAR(20) NOT NULL, + USE_AT CHAR(1) NOT NULL, + WRTER_ID VARCHAR(20) NULL, + TRGET_ORGNZT_ID CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (ADBK_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNADBKMANAGE_PK ON COMTNADBKMANAGE +( + ADBK_ID +) +; + + + +CREATE TABLE COMTNADBK +( + EMPLYR_ID VARCHAR(20) NULL, + NCRD_ID CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDT_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + ADBK_CONSTNT_ID CHAR(20) NOT NULL, + NM VARCHAR(50) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + MBTLNUM VARCHAR(20) NULL, + FXNUM VARCHAR(20) NULL, + OFFM_TELNO VARCHAR(20) NULL, + HOUSE_TELNO VARCHAR(20) NULL, + ADBK_ID CHAR(20) NOT NULL, + PRIMARY KEY (ADBK_CONSTNT_ID,ADBK_ID), + FOREIGN KEY COMTNADBK_FK1 (ADBK_ID) REFERENCES COMTNADBKMANAGE(ADBK_ID) + ON DELETE CASCADE +) +; + + + +CREATE UNIQUE INDEX COMTNADBK_PK ON COMTNADBK +( + ADBK_CONSTNT_ID, + ADBK_ID +) +; + + + +CREATE INDEX COMTNADBK_i01 ON COMTNADBK +( + ADBK_ID +) +; + + + +CREATE TABLE COMTNQUSTNRIEM +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + QESTNR_ID CHAR(20) NOT NULL, + QUSTNR_QESITM_ID CHAR(20) NOT NULL, + QUSTNR_IEM_ID VARCHAR(20) NOT NULL, + IEM_SN NUMERIC(5) NULL, + IEM_CN VARCHAR(1000) NULL, + ETC_ANSWER_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_IEM_ID), + FOREIGN KEY COMTNQUSTNRIEM_FK1 (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRQESITM(QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQUSTNRIEM_PK ON COMTNQUSTNRIEM +( + QUSTNR_TMPLAT_ID, + QESTNR_ID, + QUSTNR_QESITM_ID, + QUSTNR_IEM_ID +) +; + + + +CREATE INDEX COMTNQUSTNRIEM_i01 ON COMTNQUSTNRIEM +( + QUSTNR_QESITM_ID, + QESTNR_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTNADMINISTRATIONWORD +( + ADMINIST_WORD_ID CHAR(20) NOT NULL, + ADMINIST_WORD_NM VARCHAR(255) NULL, + ADMINIST_WORD_ENG_NM VARCHAR(255) NULL, + ADMINIST_WORD_ABRV_NM VARCHAR(255) NULL, + THEMA_RELM VARCHAR(255) NULL, + WORD_SE VARCHAR(255) NULL, + RELATE_STD_WORD VARCHAR(255) NULL, + ADMINIST_WORD_DFN VARCHAR(2500) NULL, + ADMINIST_WORD_DC VARCHAR(4000) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (ADMINIST_WORD_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNADMINISTRATIONWORD_PK ON COMTNADMINISTRATIONWORD +( + ADMINIST_WORD_ID +) +; + + + +CREATE TABLE COMTNONLINEMANUAL +( + ONLINE_MNL_ID CHAR(20) NOT NULL, + ONLINE_MNL_SE_CODE CHAR(3) NULL, + ONLINE_MNL_DFN MEDIUMTEXT NULL, + ONLINE_MNL_DC MEDIUMTEXT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + ONLINE_MNL_NM VARCHAR(255) NULL, + PRIMARY KEY (ONLINE_MNL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNONLINEMANUAL_PK ON COMTNONLINEMANUAL +( + ONLINE_MNL_ID +) +; + + + +CREATE TABLE COMTSUSERSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL, + STATS_SE VARCHAR(10) NOT NULL, + DETAIL_STATS_SE VARCHAR(10) NOT NULL, + USER_CO NUMERIC(10) NULL, + PRIMARY KEY (OCCRRNC_DE,STATS_SE,DETAIL_STATS_SE) +) +; + + + +CREATE UNIQUE INDEX COMTSUSERSUMMARY_PK ON COMTSUSERSUMMARY +( + OCCRRNC_DE, + STATS_SE, + DETAIL_STATS_SE +) +; + + + +CREATE TABLE COMTNFAQINFO +( + FAQ_ID CHAR(20) NOT NULL, + QESTN_SJ VARCHAR(255) NULL, + QESTN_CN VARCHAR(2500) NULL, + ANSWER_CN VARCHAR(2500) NULL, + RDCNT NUMERIC(10) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NOT NULL, + ATCH_FILE_ID CHAR(20) NULL, + QNA_PROCESS_STTUS_CODE CHAR(1) NULL, + PRIMARY KEY (FAQ_ID), + FOREIGN KEY COMTNFAQINFO_FK1 (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNFAQINFO_PK ON COMTNFAQINFO +( + FAQ_ID +) +; + + + +CREATE INDEX COMTNFAQINFO_i01 ON COMTNFAQINFO +( + ATCH_FILE_ID +) +; + + + +CREATE TABLE COMTNMTGINFO +( + MTG_ID CHAR(20) NOT NULL, + MTG_NM VARCHAR(255) NULL, + MTG_MTR_CN VARCHAR(1000) NULL, + MTG_SN NUMERIC(10) NULL, + MTG_CO NUMERIC(5) NULL, + MTG_DE CHAR(20) NULL, + MTG_PLACE VARCHAR(255) NULL, + MTG_BEGIN_TM VARCHAR(14) NULL, + MTG_END_TM VARCHAR(14) NULL, + CLSDR_MTG_AT CHAR(1) NULL, + READNG_BGNDE CHAR(20) NULL, + READNG_AT CHAR(1) NULL, + MTG_RESULT_CN VARCHAR(1000) NULL, + MTG_RESULT_ENNC CHAR(1) NULL, + ETC_MATTER VARCHAR(1000) NULL, + MNGT_DEPT_ID VARCHAR(20) NULL, + MNAER_ID VARCHAR(20) NULL, + MNAER_DEPT_ID VARCHAR(20) NULL, + MTG_AT CHAR(1) NULL, + NONATDRN_CO NUMERIC(10) NULL, + ATDRN_CO NUMERIC(10) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (MTG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMTGINFO_PK ON COMTNMTGINFO +( + MTG_ID +) +; + + + +CREATE TABLE COMTNREPRTSTATS +( + REPRT_ID CHAR(6) NOT NULL, + REPRT_NM VARCHAR(20) NOT NULL, + REPRT_STTUS CHAR(2) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + REPRT_TY CHAR(2) NULL, + PRIMARY KEY (REPRT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNREPRTSTATS_PK ON COMTNREPRTSTATS +( + REPRT_ID +) +; + + + +CREATE TABLE COMTNSMS +( + SMS_ID CHAR(20) NOT NULL, + TRNSMIS_TELNO VARCHAR(12) NOT NULL, + TRNSMIS_CN VARCHAR(80) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (SMS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSMS_PK ON COMTNSMS +( + SMS_ID +) +; + + + +CREATE TABLE COMTNSMSRECPTN +( + SMS_ID CHAR(20) NOT NULL, + RECPTN_TELNO VARCHAR(12) NOT NULL, + RESULT_CODE VARCHAR(4) NULL, + RESULT_MSSAGE VARCHAR(4000) NULL, + PRIMARY KEY (SMS_ID,RECPTN_TELNO), + FOREIGN KEY COMTNSMSRECPTN_FK1 (SMS_ID) REFERENCES COMTNSMS(SMS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSMSRECPTN_PK ON COMTNSMSRECPTN +( + SMS_ID, + RECPTN_TELNO +) +; + + + +CREATE INDEX COMTNSMSRECPTN_i01 ON COMTNSMSRECPTN +( + SMS_ID +) +; + + + +CREATE TABLE COMTNCPYRHTINFO +( + CPYRHT_ID CHAR(20) NOT NULL, + CPYRHT_PRTC_POLICY_CN VARCHAR(2500) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CPYRHT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCPYRHTINFO_PK ON COMTNCPYRHTINFO +( + CPYRHT_ID +) +; + + + +CREATE TABLE COMTNSCHDULINFO +( + SCHDUL_ID CHAR(20) NOT NULL, + SCHDUL_SE CHAR(1) NULL, + SCHDUL_DEPT_ID VARCHAR(20) NULL, + SCHDUL_KND_CODE CHAR(1) NULL, + SCHDUL_BGNDE CHAR(20) NULL, + SCHDUL_ENDDE CHAR(20) NULL, + SCHDUL_NM VARCHAR(255) NULL, + SCHDUL_CN VARCHAR(2500) NULL, + SCHDUL_PLACE VARCHAR(255) NULL, + SCHDUL_IPCR_CODE CHAR(1) NULL, + SCHDUL_CHARGER_ID VARCHAR(20) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + REPTIT_SE_CODE CHAR(1) NULL, + PRIMARY KEY (SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSCHDULINFO_PK ON COMTNSCHDULINFO +( + SCHDUL_ID +) +; + + + +CREATE TABLE COMTNDIARYINFO +( + SCHDUL_ID CHAR(20) NOT NULL, + DIARY_ID CHAR(20) NOT NULL, + DIARY_PROGRSRT NUMERIC(3) NULL, + DIARY_NM VARCHAR(255) NULL, + DRCT_MATTER VARCHAR(2500) NULL, + PARTCLR_MATTER VARCHAR(2500) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (SCHDUL_ID,DIARY_ID), + FOREIGN KEY COMTNDIARYINFO_FK1 (SCHDUL_ID) REFERENCES COMTNSCHDULINFO(SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDIARYINFO_PK ON COMTNDIARYINFO +( + SCHDUL_ID, + DIARY_ID +) +; + + + +CREATE INDEX COMTNDIARYINFO_i01 ON COMTNDIARYINFO +( + SCHDUL_ID +) +; + + + +CREATE TABLE COMTNONLINEPOLLMANAGE +( + POLL_ID CHAR(20) NOT NULL, + POLL_NM VARCHAR(255) NULL, + POLL_BGNDE CHAR(10) NULL, + POLL_ENDDE CHAR(10) NULL, + POLL_KND CHAR(3) NULL, + POLL_DSUSE_ENNC CHAR(1) NULL, + POLL_ATMC_DSUSE_ENNC CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (POLL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNONLINEPOLLMANAGE_PK ON COMTNONLINEPOLLMANAGE +( + POLL_ID +) +; + + + +CREATE TABLE COMTNONLINEPOLLIEM +( + POLL_IEM_NM VARCHAR(255) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + POLL_IEM_ID CHAR(20) NOT NULL, + POLL_ID CHAR(20) NOT NULL, + PRIMARY KEY (POLL_ID,POLL_IEM_ID), + FOREIGN KEY COMTNONLINEPOLLIEM_FK1 (POLL_ID) REFERENCES COMTNONLINEPOLLMANAGE(POLL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNONLINEPOLLIEM_PK ON COMTNONLINEPOLLIEM +( + POLL_ID, + POLL_IEM_ID +) +; + + + +CREATE INDEX COMTNONLINEPOLLIEM_i01 ON COMTNONLINEPOLLIEM +( + POLL_ID +) +; + + + +CREATE TABLE COMTNONLINEPOLLRESULT +( + POLL_RESULT_ID CHAR(20) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + POLL_IEM_ID CHAR(20) NOT NULL, + POLL_ID CHAR(20) NOT NULL, + PRIMARY KEY (POLL_RESULT_ID,POLL_IEM_ID,POLL_ID), + FOREIGN KEY COMTNONLINEPOLLRESULT_FK1 (POLL_ID,POLL_IEM_ID) REFERENCES COMTNONLINEPOLLIEM(POLL_ID,POLL_IEM_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNONLINEPOLLRESULT_PK ON COMTNONLINEPOLLRESULT +( + POLL_RESULT_ID, + POLL_IEM_ID, + POLL_ID +) +; + + + +CREATE INDEX COMTNONLINEPOLLRESULT_i01 ON COMTNONLINEPOLLRESULT +( + POLL_IEM_ID, + POLL_ID +) +; + + + +CREATE TABLE COMTNWORDDICARYINFO +( + WORD_ID CHAR(20) NOT NULL, + WORD_NM VARCHAR(255) NULL, + ENG_NM VARCHAR(60) NULL, + WORD_DC VARCHAR(4000) NULL, + SYNONM VARCHAR(100) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (WORD_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNWORDDICARYINFO_PK ON COMTNWORDDICARYINFO +( + WORD_ID +) +; + + + +CREATE TABLE COMTNCNTCSERVICE +( + INSTT_ID VARCHAR(20) NOT NULL, + SYS_ID VARCHAR(20) NOT NULL, + SVC_ID VARCHAR(20) NOT NULL, + SVC_NM VARCHAR(255) NULL, + REQUST_MSSAGE_ID VARCHAR(20) NULL, + RSPNS_MSSAGE_ID VARCHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + USE_AT CHAR(1) NULL, + PRIMARY KEY (INSTT_ID,SYS_ID,SVC_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTCSERVICE_PK ON COMTNCNTCSERVICE +( + INSTT_ID, + SYS_ID, + SVC_ID +) +; + + + +CREATE TABLE COMTNHPCMINFO +( + HPCM_ID CHAR(20) NOT NULL, + HPCM_SE_CODE CHAR(1) NULL, + HPCM_DFN VARCHAR(1000) NULL, + HPCM_DC VARCHAR(2500) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (HPCM_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNHPCMINFO_PK ON COMTNHPCMINFO +( + HPCM_ID +) +; + + + +CREATE TABLE COMTNNEWSINFO +( + NEWS_ID CHAR(20) NOT NULL, + NEWS_SJ VARCHAR(100) NULL, + NEWS_CN VARCHAR(2500) NULL, + NEWS_ORIGIN VARCHAR(250) NULL, + NTCE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NOT NULL, + NTCE_DE CHAR(20) NULL, + ATCH_FILE_ID CHAR(20) NULL, + PRIMARY KEY (NEWS_ID), + FOREIGN KEY COMTNNEWSINFO_FK1 (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) + ON DELETE SET NULL +) +; + + + +CREATE UNIQUE INDEX COMTNNEWSINFO_PK ON COMTNNEWSINFO +( + NEWS_ID +) +; + + + +CREATE INDEX COMTNNEWSINFO_i01 ON COMTNNEWSINFO +( + ATCH_FILE_ID +) +; + + + +CREATE TABLE COMTNCNSLTLIST +( + CNSLT_ID CHAR(20) NOT NULL, + CNSLT_SJ VARCHAR(255) NULL, + OTHBC_AT CHAR(1) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + CNSLT_CN VARCHAR(2500) NULL, + MANAGT_CN VARCHAR(2500) NULL, + MANAGT_DE CHAR(20) NULL, + RDCNT NUMERIC(10) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + AREA_NO VARCHAR(4) NULL, + MIDDLE_TELNO VARCHAR(4) NULL, + END_TELNO VARCHAR(4) NULL, + FRST_MBTLNUM VARCHAR(4) NULL, + MIDDLE_MBTLNUM VARCHAR(4) NULL, + END_MBTLNUM VARCHAR(4) NULL, + WRITNG_DE CHAR(20) NULL, + WRTER_NM VARCHAR(20) NULL, + EMAIL_ANSWER_AT CHAR(1) NULL, + QNA_PROCESS_STTUS_CODE CHAR(1) NULL, + WRITNG_PASSWORD VARCHAR(20) NULL, + PRIMARY KEY (CNSLT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNSLTLIST_PK ON COMTNCNSLTLIST +( + CNSLT_ID +) +; + + + +CREATE TABLE COMTNMENUINFO +( + MENU_NM VARCHAR(60) NOT NULL, + PROGRM_FILE_NM VARCHAR(60) NOT NULL, + MENU_NO NUMERIC(20) NOT NULL, + UPPER_MENU_NO NUMERIC(20) NULL, + MENU_ORDR NUMERIC(5) NOT NULL, + MENU_DC VARCHAR(250) NULL, + RELATE_IMAGE_PATH VARCHAR(100) NULL, + RELATE_IMAGE_NM VARCHAR(60) NULL, + PRIMARY KEY (MENU_NO), + FOREIGN KEY COMTNMENUINFO_FK2 (PROGRM_FILE_NM) REFERENCES COMTNPROGRMLIST(PROGRM_FILE_NM) + ON DELETE CASCADE, + FOREIGN KEY COMTNMENUINFO_FK1 (UPPER_MENU_NO) REFERENCES COMTNMENUINFO(MENU_NO) + ON DELETE CASCADE +) +; + + + +CREATE UNIQUE INDEX COMTNMENUINFO_PK ON COMTNMENUINFO +( + MENU_NO +) +; + + + + + + +CREATE INDEX COMTNMENUINFO_i02 ON COMTNMENUINFO +( + UPPER_MENU_NO +) +; + + + +CREATE TABLE COMTNSITEMAP +( + MAPNG_CREAT_ID VARCHAR(30) NOT NULL, + CREATR_ID VARCHAR(20) NOT NULL, + MAPNG_FILE_NM VARCHAR(60) NOT NULL, + MAPNG_FILE_PATH VARCHAR(100) NOT NULL, + PRIMARY KEY (MAPNG_CREAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSITEMAP_PK ON COMTNSITEMAP +( + MAPNG_CREAT_ID +) +; + + + +CREATE TABLE COMTNMENUCREATDTLS +( + MENU_NO NUMERIC(20) NOT NULL, + AUTHOR_CODE VARCHAR(30) NOT NULL, + MAPNG_CREAT_ID VARCHAR(30) NULL, + PRIMARY KEY (MENU_NO,AUTHOR_CODE), + FOREIGN KEY COMTNMENUCREATDTLS_FK2 (MENU_NO) REFERENCES COMTNMENUINFO(MENU_NO) + ON DELETE CASCADE, + FOREIGN KEY COMTNMENUCREATDTLS_FK3 (MAPNG_CREAT_ID) REFERENCES COMTNSITEMAP(MAPNG_CREAT_ID) + ON DELETE CASCADE, + FOREIGN KEY COMTNMENUCREATDTLS_FK1 (AUTHOR_CODE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNMENUCREATDTLS_PK ON COMTNMENUCREATDTLS +( + MENU_NO, + AUTHOR_CODE +) +; + + + +CREATE INDEX COMTNMENUCREATDTLS_i02 ON COMTNMENUCREATDTLS +( + MENU_NO +) +; + + + +CREATE INDEX COMTNMENUCREATDTLS_i03 ON COMTNMENUCREATDTLS +( + MAPNG_CREAT_ID +) +; + + + +CREATE INDEX COMTNMENUCREATDTLS_i04 ON COMTNMENUCREATDTLS +( + AUTHOR_CODE +) +; + + + +CREATE TABLE COMTHEMPLYRINFOCHANGEDTLS +( + EMPLYR_ID VARCHAR(20) NOT NULL, + CHANGE_DE CHAR(20) NOT NULL, + ORGNZT_ID CHAR(20) NULL, + GROUP_ID CHAR(20) NULL, + EMPL_NO VARCHAR(20) NULL, + SEXDSTN_CODE CHAR(1) NULL, + BRTHDY CHAR(20) NULL, + FXNUM VARCHAR(20) NULL, + HOUSE_ADRES VARCHAR(100) NULL, + HOUSE_END_TELNO VARCHAR(4) NULL, + AREA_NO VARCHAR(4) NULL, + DETAIL_ADRES VARCHAR(100) NULL, + ZIP VARCHAR(6) NULL, + OFFM_TELNO VARCHAR(20) NULL, + MBTLNUM VARCHAR(20) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + HOUSE_MIDDLE_TELNO VARCHAR(4) NULL, + PSTINST_CODE CHAR(8) NULL, + EMPLYR_STTUS_CODE CHAR(1) NULL, + ESNTL_ID CHAR(20) NULL, + PRIMARY KEY (EMPLYR_ID,CHANGE_DE), + FOREIGN KEY COMTHEMPLYRINFOCHANGEDTLS_FK1 (EMPLYR_ID) REFERENCES COMTNEMPLYRINFO(EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHEMPLYRINFOCHANGEDTLS_PK ON COMTHEMPLYRINFOCHANGEDTLS +( + EMPLYR_ID, + CHANGE_DE +) +; + + + +CREATE INDEX COMTHEMPLYRINFOCHANGEDTLS_i01 ON COMTHEMPLYRINFOCHANGEDTLS +( + EMPLYR_ID +) +; + + + +CREATE TABLE COMTNNTFCINFO +( + NTCN_NO NUMERIC(20) NOT NULL, + NTCN_SJ VARCHAR(60) NOT NULL, + NTCN_CN VARCHAR(100) NOT NULL, + NTCN_TM VARCHAR(14) NOT NULL, + BH_NTCN_INTRVL VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (NTCN_NO) +) +; + + + +CREATE UNIQUE INDEX COMTNNTFCINFO_PK ON COMTNNTFCINFO +( + NTCN_NO +) +; + + + +CREATE TABLE COMTNCNTCSYSTEM +( + INSTT_ID VARCHAR(20) NOT NULL, + SYS_ID VARCHAR(20) NOT NULL, + SYS_NM VARCHAR(255) NULL, + SYS_IP VARCHAR(23) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + USE_AT CHAR(1) NULL, + PRIMARY KEY (INSTT_ID,SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTCSYSTEM_PK ON COMTNCNTCSYSTEM +( + INSTT_ID, + SYS_ID +) +; + + + +CREATE TABLE COMTNBBSMASTEROPTN +( + BBS_ID CHAR(20) NOT NULL, + ANSWER_AT CHAR(1) NOT NULL, + STSFDG_AT CHAR(1) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBBSMASTEROPTN_PK ON COMTNBBSMASTEROPTN +( + BBS_ID +) +; + + + +CREATE TABLE COMTNANSWER +( + NTT_ID NUMERIC(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + WRTER_ID VARCHAR(20) NULL, + ANSWER VARCHAR(200) NULL, + USE_AT CHAR(1) NOT NULL, + WRTER_NM VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + ANSWER_NO NUMERIC(20) NOT NULL, + PRIMARY KEY (NTT_ID,BBS_ID,ANSWER_NO), + FOREIGN KEY COMTNANSWER_FK1 (BBS_ID) REFERENCES COMTNBBSMASTEROPTN(BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNANSWER_PK ON COMTNANSWER +( + NTT_ID, + BBS_ID, + ANSWER_NO +) +; + + + +CREATE TABLE COMTNTRSMRCVLOG +( + REQUST_ID VARCHAR(20) NOT NULL, + OCCRRNC_DE CHAR(20) NULL, + TRSMRCV_SE_CODE CHAR(3) NULL, + CNTC_ID CHAR(8) NULL, + PROVD_INSTT_ID CHAR(8) NULL, + PROVD_SYS_ID CHAR(8) NULL, + PROVD_SVC_ID CHAR(8) NULL, + REQUST_INSTT_ID CHAR(8) NULL, + REQUST_SYS_ID CHAR(8) NULL, + REQUST_TRNSMIT_TM VARCHAR(14) NULL, + REQUST_RECPTN_TM VARCHAR(14) NULL, + RSPNS_TRNSMIT_TM VARCHAR(14) NULL, + RSPNS_RECPTN_TM VARCHAR(14) NULL, + RESULT_CODE VARCHAR(4) NULL, + RESULT_MSSAGE VARCHAR(4000) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + RQESTER_ID VARCHAR(20) NULL, + PRIMARY KEY (REQUST_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNTRSMRCVLOG_PK ON COMTNTRSMRCVLOG +( + REQUST_ID +) +; + + + +CREATE TABLE COMTNDAMCALRES +( + ORGNZT_ID CHAR(20) NULL, + EXPERT_ID CHAR(20) NULL, + KNWLDG_TY_CODE VARCHAR(3) NULL, + EMPLYR_ID VARCHAR(20) NULL, + KNWLDG_NM VARCHAR(60) NULL, + KNWLDG_CN VARCHAR(2500) NULL, + ATCH_FILE_ID CHAR(20) NULL, + PARNTS_KNWLDG_ID CHAR(20) NULL, + ANSWER_DP NUMERIC(20) NULL, + ANSWER_ORDR NUMERIC(20) NULL, + ANSWER_GROUP_NO NUMERIC(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + KNWLDG_ID CHAR(20) NOT NULL, + PRIMARY KEY (KNWLDG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDAMCALRES_PK ON COMTNDAMCALRES +( + KNWLDG_ID +) +; + + + +CREATE TABLE COMTNBACKUPRESULT +( + BACKUP_RESULT_ID VARCHAR(20) NOT NULL, + BACKUP_OPERT_ID VARCHAR(20) NOT NULL, + BACKUP_FILE VARCHAR(255) NULL, + STTUS VARCHAR(2) NULL, + ERROR_INFO VARCHAR(2000) NULL, + EXECUT_BEGIN_TM VARCHAR(14) NULL, + EXECUT_END_TM VARCHAR(14) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (BACKUP_RESULT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBACKUPRESULT_PK ON COMTNBACKUPRESULT +( + BACKUP_RESULT_ID +) +; + + + +CREATE TABLE COMTHTRSMRCVMNTRNGLOGINFO +( + LOG_ID CHAR(20) NOT NULL, + CNTC_ID CHAR(8) NOT NULL, + TEST_CLASS_NM VARCHAR(255) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + LOG_INFO VARCHAR(2000) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (LOG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHTRSMRCVMNTRNGLOGINFO_PK ON COMTHTRSMRCVMNTRNGLOGINFO +( + LOG_ID +) +; + + + +CREATE TABLE COMTNSCRAP +( + SCRAP_ID CHAR(20) NOT NULL, + NTT_ID NUMERIC(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + SCRAP_NM VARCHAR(100) NOT NULL, + USE_AT CHAR(1) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (SCRAP_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSCRAP_PK ON COMTNSCRAP +( + SCRAP_ID +) +; + + + +CREATE TABLE COMTNCNTCINSTT +( + INSTT_ID VARCHAR(20) NOT NULL, + INSTT_NM VARCHAR(100) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDT_PNTTM DATETIME NULL, + USE_AT CHAR(1) NULL, + PRIMARY KEY (INSTT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTCINSTT_PK ON COMTNCNTCINSTT +( + INSTT_ID +) +; + + + +CREATE TABLE COMTHSYSHIST +( + HIST_ID CHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + HIST_SE_CODE CHAR(6) NOT NULL, + HIST_CN VARCHAR(2500) NOT NULL, + SYS_NM VARCHAR(255) NOT NULL, + ATCH_FILE_ID CHAR(20) NULL, + PRIMARY KEY (HIST_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHSYSHIST_PK ON COMTHSYSHIST +( + HIST_ID +) +; + + + +CREATE TABLE COMTNHTTPMON +( + SYS_ID VARCHAR(20) NOT NULL, + SITE_URL VARCHAR(100) NULL, + WEBSVC_KND VARCHAR(10) NULL, + HTTP_STTUS_CODE VARCHAR(3) NULL, + CREAT_DT DATETIME NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNHTTPMON_PK ON COMTNHTTPMON +( + SYS_ID +) +; + + + +CREATE TABLE COMTHHTTPMONLOGINFO +( + SYS_ID VARCHAR(20) NOT NULL, + SITE_URL VARCHAR(100) NULL, + WEBSVC_KND VARCHAR(10) NULL, + HTTP_STTUS_CODE VARCHAR(3) NULL, + CREAT_DT DATETIME NULL, + LOG_INFO VARCHAR(2000) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (SYS_ID,LOG_ID), + FOREIGN KEY COMTHHTTPMONLOGINFO_FK2 (SYS_ID) REFERENCES COMTNHTTPMON(SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHHTTPMONLOGINFO_PK ON COMTHHTTPMONLOGINFO +( + SYS_ID, + LOG_ID +) +; + + + +CREATE TABLE COMTHDBMNTRNGLOGINFO +( + DATA_SOURC_NM VARCHAR(60) NOT NULL, + SERVER_NM VARCHAR(60) NULL, + DBMS_KND VARCHAR(2) NULL, + CECK_SQL VARCHAR(250) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + LOG_INFO VARCHAR(2000) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (LOG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHDBMNTRNGLOGINFO_PK ON COMTHDBMNTRNGLOGINFO +( + LOG_ID +) +; + + + +CREATE TABLE COMTHCONFMHISTORY +( + CONFM_NO NUMERIC(8) NOT NULL, + CONFM_RQESTER_ID VARCHAR(20) NOT NULL, + CONFMER_ID VARCHAR(20) NULL, + CONFM_DE CHAR(20) NULL, + CONFM_TY_CODE CHAR(4) NOT NULL, + CONFM_STTUS_CODE CHAR(4) NOT NULL, + OPERT_TY_CODE CHAR(4) NULL, + OPERT_ID VARCHAR(20) NULL, + TRGET_JOB_TY_CODE CHAR(3) NULL, + TRGET_JOB_ID CHAR(20) NULL, + PRIMARY KEY (CONFM_NO) +) +; + + + +CREATE UNIQUE INDEX COMTHCONFMHISTORY_PK ON COMTHCONFMHISTORY +( + CONFM_NO +) +; + + + +CREATE TABLE COMTNDAMMAPTEAM +( + ORGNZT_ID CHAR(20) NOT NULL, + ORGNZT_NM VARCHAR(20) NULL, + CL_DE CHAR(20) NULL, + KNWLDG_URL VARCHAR(255) NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (ORGNZT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDAMMAPTEAM_PK ON COMTNDAMMAPTEAM +( + ORGNZT_ID +) +; + + + +CREATE TABLE COMTNTMPLATINFO +( + TMPLAT_ID CHAR(20) NOT NULL, + TMPLAT_NM VARCHAR(255) NULL, + TMPLAT_COURS VARCHAR(2000) NULL, + USE_AT CHAR(1) NULL, + TMPLAT_SE_CODE CHAR(6) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (TMPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNTMPLATINFO_PK ON COMTNTMPLATINFO +( + TMPLAT_ID +) +; + + + +CREATE TABLE COMTNINDVDLPGECNTNTS +( + CNTNTS_ID VARCHAR(20) NOT NULL, + CNTNTS_NM VARCHAR(100) NOT NULL, + CNTC_URL VARCHAR(255) NOT NULL, + CNTNTS_USE_AT CHAR(1) NOT NULL, + CNTNTS_LINK_URL VARCHAR(1000) NULL, + CNTNTS_DC VARCHAR(250) NULL, + PRIMARY KEY (CNTNTS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINDVDLPGECNTNTS_PK ON COMTNINDVDLPGECNTNTS +( + CNTNTS_ID +) +; + + + +CREATE TABLE COMTNINDVDLPGEESTBS +( + EMPLYR_ID VARCHAR(20) NOT NULL, + UPEND_IMAGE VARCHAR(1024) NULL, + TITLEBAR_COLOR CHAR(7) NULL, + ALGN_MTHD CHAR(1) NULL, + ALGN_CO NUMERIC(10) NULL, + PRIMARY KEY (EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINDVDLPGEESTBS_PK ON COMTNINDVDLPGEESTBS +( + EMPLYR_ID +) +; + + + +CREATE TABLE COMTNCNTNTSLIST +( + CNTNTS_ID VARCHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (CNTNTS_ID,EMPLYR_ID), + FOREIGN KEY COMTNCNTNTSLIST_FK1 (CNTNTS_ID) REFERENCES COMTNINDVDLPGECNTNTS(CNTNTS_ID), + FOREIGN KEY COMTNCNTNTSLIST_FK2 (EMPLYR_ID) REFERENCES COMTNINDVDLPGEESTBS(EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTNTSLIST_PK ON COMTNCNTNTSLIST +( + CNTNTS_ID, + EMPLYR_ID +) +; + + + +CREATE INDEX COMTNCNTNTSLIST_i01 ON COMTNCNTNTSLIST +( + CNTNTS_ID +) +; + + + +CREATE INDEX COMTNCNTNTSLIST_i02 ON COMTNCNTNTSLIST +( + EMPLYR_ID +) +; + + + +CREATE TABLE COMTNCNTCMESSAGE +( + CNTC_MSSAGE_ID VARCHAR(20) NOT NULL, + CNTC_MSSAGE_NM VARCHAR(100) NULL, + UPPER_CNTC_MSSAGE_ID VARCHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + USE_AT CHAR(1) NULL, + PRIMARY KEY (CNTC_MSSAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTCMESSAGE_PK ON COMTNCNTCMESSAGE +( + CNTC_MSSAGE_ID +) +; + + + +CREATE TABLE COMTNCNTCMESSAGEITEM +( + CNTC_MSSAGE_ID VARCHAR(20) NOT NULL, + IEM_ID VARCHAR(20) NOT NULL, + IEM_NM VARCHAR(100) NULL, + IEM_TY VARCHAR(50) NULL, + IEM_LT NUMERIC(8) NULL, + USE_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (CNTC_MSSAGE_ID,IEM_ID), + FOREIGN KEY COMTNCNTCMESSAGEITEM_FK1 (CNTC_MSSAGE_ID) REFERENCES COMTNCNTCMESSAGE(CNTC_MSSAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTCMESSAGEITEM_PK ON COMTNCNTCMESSAGEITEM +( + CNTC_MSSAGE_ID, + IEM_ID +) +; + + + +CREATE INDEX COMTNCNTCMESSAGEITEM_i01 ON COMTNCNTCMESSAGEITEM +( + CNTC_MSSAGE_ID +) +; + + + +CREATE TABLE COMTNBKMKMENUMANAGERESULT +( + MENU_ID NUMERIC(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + MENU_NM VARCHAR(60) NOT NULL, + PROGRM_STRE_PATH VARCHAR(100) NOT NULL, + PRIMARY KEY (MENU_ID,EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBKMKMENUMANAGERESULT_PK ON COMTNBKMKMENUMANAGERESULT +( + MENU_ID, + EMPLYR_ID +) +; + + + +CREATE TABLE COMTNSYSTEMCNTC +( + CNTC_ID CHAR(8) NOT NULL, + CNTC_NM VARCHAR(100) NULL, + PROVD_INSTT_ID CHAR(8) NULL, + PROVD_SYS_ID CHAR(8) NULL, + PROVD_SVC_ID CHAR(8) NULL, + REQUST_INSTT_ID CHAR(8) NULL, + REQUST_SYS_ID CHAR(8) NULL, + CONFM_AT CHAR(1) NULL, + USE_AT CHAR(1) NULL, + VALID_BGNDE CHAR(20) NULL, + VALID_ENDDE CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + CNTC_TY VARCHAR(60) NULL, + PRIMARY KEY (CNTC_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSYSTEMCNTC_PK ON COMTNSYSTEMCNTC +( + CNTC_ID +) +; + + + +CREATE TABLE COMTNINDVDLINFOPOLICY +( + INDVDL_INFO_POLICY_ID CHAR(20) NOT NULL, + INDVDL_INFO_POLICY_CN VARCHAR(2500) NULL, + INDVDL_INFO_POLICY_AGRE_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + INDVDL_INFO_POLICY_NM VARCHAR(255) NULL, + PRIMARY KEY (INDVDL_INFO_POLICY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINDVDLINFOPOLICY_PK ON COMTNINDVDLINFOPOLICY +( + INDVDL_INFO_POLICY_ID +) +; + + + +CREATE TABLE COMTNBNDTMANAGE +( + BNDT_ID VARCHAR(20) NOT NULL, + BNDT_DE CHAR(8) NOT NULL, + RM VARCHAR(2500) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (BNDT_ID,BNDT_DE) +) +; + + + +CREATE UNIQUE INDEX COMTNBNDTMANAGE_PK ON COMTNBNDTMANAGE +( + BNDT_ID, + BNDT_DE +) +; + + + +CREATE TABLE COMTNBNDTCECKMANAGE +( + BNDT_CECK_SE CHAR(2) NOT NULL, + BNDT_CECK_CODE VARCHAR(10) NOT NULL, + BNDT_CECK_CODE_NM VARCHAR(255) NOT NULL, + USE_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (BNDT_CECK_CODE,BNDT_CECK_SE) +) +; + + + +CREATE UNIQUE INDEX COMTNBNDTCECKMANAGE_PK ON COMTNBNDTCECKMANAGE +( + BNDT_CECK_CODE, + BNDT_CECK_SE +) +; + + + +CREATE TABLE COMTNBNDTDIARY +( + BNDT_ID VARCHAR(20) NOT NULL, + BNDT_DE CHAR(8) NOT NULL, + BNDT_CECK_SE CHAR(2) NOT NULL, + BNDT_CECK_CODE VARCHAR(10) NOT NULL, + CHCK_STTUS VARCHAR(1000) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (BNDT_ID,BNDT_DE,BNDT_CECK_SE,BNDT_CECK_CODE), + FOREIGN KEY COMTNBNDTDIARY_FK2 (BNDT_ID,BNDT_DE) REFERENCES COMTNBNDTMANAGE(BNDT_ID,BNDT_DE), + FOREIGN KEY COMTNBNDTDIARY_FK1 (BNDT_CECK_CODE,BNDT_CECK_SE) REFERENCES COMTNBNDTCECKMANAGE(BNDT_CECK_CODE,BNDT_CECK_SE) +) +; + + + +CREATE UNIQUE INDEX COMTNBNDTDIARY_PK ON COMTNBNDTDIARY +( + BNDT_ID, + BNDT_DE, + BNDT_CECK_SE, + BNDT_CECK_CODE +) +; + + + +CREATE TABLE COMTNBATCHRESULT +( + BATCH_RESULT_ID VARCHAR(20) NOT NULL, + BATCH_SCHDUL_ID VARCHAR(20) NOT NULL, + BATCH_OPERT_ID VARCHAR(20) NOT NULL, + PARAMTR VARCHAR(250) NULL, + STTUS VARCHAR(2) NULL, + ERROR_INFO VARCHAR(2000) NULL, + EXECUT_BEGIN_TM VARCHAR(14) NULL, + EXECUT_END_TM VARCHAR(14) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + PRIMARY KEY (BATCH_RESULT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBATCHRESULT_PK ON COMTNBATCHRESULT +( + BATCH_RESULT_ID +) +; + + + +CREATE TABLE COMTNSTSFDG +( + STSFDG_NO NUMERIC(20) NOT NULL, + NTT_ID NUMERIC(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + WRTER_ID VARCHAR(20) NULL, + WRTER_NM VARCHAR(20) NULL, + PASSWORD VARCHAR(200) NULL, + STSFDG NUMERIC(1) NOT NULL, + STSFDG_CN VARCHAR(200) NULL, + USE_AT CHAR(1) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (STSFDG_NO) +) +; + + + +CREATE UNIQUE INDEX COMTNSTSFDG_PK ON COMTNSTSFDG +( + STSFDG_NO +) +; + + + +CREATE TABLE COMTNBATCHOPERT +( + BATCH_OPERT_ID VARCHAR(20) NOT NULL, + BATCH_OPERT_NM VARCHAR(60) NULL, + BATCH_PROGRM VARCHAR(255) NULL, + PARAMTR VARCHAR(250) NULL, + USE_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (BATCH_OPERT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBATCHOPERT_PK ON COMTNBATCHOPERT +( + BATCH_OPERT_ID +) +; + + + +CREATE TABLE COMTNFILESYSMNTRNG +( + FILE_SYS_ID CHAR(20) NOT NULL, + FILE_SYS_NM VARCHAR(60) NOT NULL, + FILE_SYS_MANAGE_NM VARCHAR(255) NOT NULL, + FILE_SYS_SIZE NUMERIC(8) NOT NULL, + FILE_SYS_THRHLD NUMERIC(8) NOT NULL, + FILE_SYS_USGQTY NUMERIC(8) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (FILE_SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNFILESYSMNTRNG_PK ON COMTNFILESYSMNTRNG +( + FILE_SYS_ID +) +; + + + +CREATE TABLE COMTNFILESYSMNTRNGLOGINFO +( + FILE_SYS_ID CHAR(20) NOT NULL, + FILE_SYS_NM VARCHAR(60) NOT NULL, + FILE_SYS_MANAGE_NM VARCHAR(255) NOT NULL, + FILE_SYS_SIZE NUMERIC(8) NOT NULL, + FILE_SYS_THRHLD NUMERIC(8) NOT NULL, + FILE_SYS_USGQTY NUMERIC(8) NULL, + MNTRNG_STTUS CHAR(2) NULL, + LOG_INFO VARCHAR(2000) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (FILE_SYS_ID,LOG_ID), + FOREIGN KEY COMTNFILESYSMNTRNGLOGINFO_FK2 (FILE_SYS_ID) REFERENCES COMTNFILESYSMNTRNG(FILE_SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNFILESYSMNTRNGLOGINFO_PK ON COMTNFILESYSMNTRNGLOGINFO +( + FILE_SYS_ID, + LOG_ID +) +; + + + +CREATE TABLE COMTNBATCHSCHDUL +( + BATCH_SCHDUL_ID VARCHAR(20) NOT NULL, + BATCH_OPERT_ID VARCHAR(20) NOT NULL, + EXECUT_CYCLE VARCHAR(2) NULL, + EXECUT_SCHDUL_DE CHAR(20) NULL, + EXECUT_SCHDUL_HOUR CHAR(2) NULL, + EXECUT_SCHDUL_MNT CHAR(2) NULL, + EXECUT_SCHDUL_SECND CHAR(2) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (BATCH_SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBATCHSCHDUL_PK ON COMTNBATCHSCHDUL +( + BATCH_SCHDUL_ID +) +; + + + +CREATE TABLE COMTNBATCHSCHDULDFK +( + BATCH_SCHDUL_ID VARCHAR(20) NOT NULL, + EXECUT_SCHDUL_DFK_SE CHAR(1) NOT NULL, + PRIMARY KEY (BATCH_SCHDUL_ID,EXECUT_SCHDUL_DFK_SE), + FOREIGN KEY COMTNBATCHSCHDULDFK_FK1 (BATCH_SCHDUL_ID) REFERENCES COMTNBATCHSCHDUL(BATCH_SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBATCHSCHDULDFK_PK ON COMTNBATCHSCHDULDFK +( + BATCH_SCHDUL_ID, + EXECUT_SCHDUL_DFK_SE +) +; + + + +CREATE TABLE COMTNCTSNNMANAGE +( + CTSNN_ID VARCHAR(20) NOT NULL, + USER_ID VARCHAR(20) NOT NULL, + CTSNN_CODE CHAR(2) NOT NULL, + REQST_DE CHAR(20) NOT NULL, + CTSNN_NM VARCHAR(255) NOT NULL, + TRGTER_NM VARCHAR(20) NOT NULL, + BRTHDY CHAR(20) NOT NULL, + OCCRRNC_DE CHAR(20) NOT NULL, + RELATE CHAR(2) NOT NULL, + RM VARCHAR(2500) NULL, + SANCTNER_ID VARCHAR(20) NOT NULL, + CONFM_AT CHAR(1) NULL, + SANCTN_DT DATETIME NULL, + RETURN_RESN VARCHAR(1000) NULL, + INFRML_SANCTN_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (CTSNN_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCTSNNMANAGE_PK ON COMTNCTSNNMANAGE +( + CTSNN_ID +) +; + + + +CREATE TABLE COMTCADMINISTCODERECPTNLOG +( + OCCRRNC_DE CHAR(20) NOT NULL, + ADMINIST_ZONE_SE CHAR(1) NOT NULL, + ADMINIST_ZONE_CODE VARCHAR(10) NOT NULL, + OPERT_SN NUMERIC(10) NOT NULL, + CHANGE_SE_CODE VARCHAR(2) NULL, + PROCESS_SE VARCHAR(2) NULL, + ADMINIST_ZONE_NM VARCHAR(60) NULL, + LOWEST_ADMINIST_ZONE_NM VARCHAR(60) NULL, + CTPRVN_CODE VARCHAR(2) NULL, + SIGNGU_CODE VARCHAR(3) NULL, + EMD_CODE VARCHAR(3) NULL, + LI_CODE VARCHAR(2) NULL, + CREAT_DE CHAR(20) NULL, + ABL_DE CHAR(20) NULL, + ABL_ENNC CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (OCCRRNC_DE,ADMINIST_ZONE_SE,ADMINIST_ZONE_CODE,OPERT_SN) +) +; + + + +CREATE UNIQUE INDEX COMTCADMINISTCODERECPTNLOG_PK ON COMTCADMINISTCODERECPTNLOG +( + OCCRRNC_DE, + ADMINIST_ZONE_SE, + ADMINIST_ZONE_CODE, + OPERT_SN +) +; + + + +CREATE TABLE COMTNTROBLINFO +( + TROBL_ID CHAR(20) NOT NULL, + TROBL_NM VARCHAR(60) NULL, + TROBL_KND CHAR(2) NULL, + TROBL_DC VARCHAR(2000) NULL, + TROBL_OCCRRNC_TIME VARCHAR(14) NULL, + TROBL_RQESTER_NM VARCHAR(60) NULL, + TROBL_REQUST_TIME VARCHAR(14) NULL, + TROBL_PROCESS_RESULT VARCHAR(2000) NULL, + TROBL_OPETR_NM VARCHAR(60) NULL, + TROBL_PROCESS_TIME VARCHAR(14) NULL, + PROCESS_STTUS CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (TROBL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNTROBLINFO_PK ON COMTNTROBLINFO +( + TROBL_ID +) +; + + + +CREATE TABLE COMTNDAMKNOIFM +( + KNWLDG_ID CHAR(20) NOT NULL, + KNWLDG_TY_CODE VARCHAR(3) NULL, + ORGNZT_ID CHAR(20) NULL, + EXPERT_ID CHAR(20) NULL, + EMPLYR_ID VARCHAR(20) NULL, + KNWLDG_NM VARCHAR(60) NULL, + KNWLDG_CN VARCHAR(2500) NULL, + KWRD VARCHAR(100) NULL, + OTHBC_AT CHAR(1) NULL, + KNWLDG_EVL CHAR(1) NULL, + COLCT_DE CHAR(20) NULL, + EVL_DE CHAR(20) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + DSUSE_DE CHAR(20) NULL, + PRIMARY KEY (KNWLDG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDAMKNOIFM_PK ON COMTNDAMKNOIFM +( + KNWLDG_ID +) +; + + + +CREATE TABLE COMTNDAMMAPKNO +( + KNWLDG_TY_CODE VARCHAR(3) NOT NULL, + ORGNZT_ID CHAR(20) NULL, + EXPERT_ID CHAR(20) NULL, + KNWLDG_TY_NM VARCHAR(60) NULL, + CL_DE CHAR(20) NULL, + KNWLDG_URL VARCHAR(255) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (KNWLDG_TY_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNDAMMAPKNO_PK ON COMTNDAMMAPKNO +( + KNWLDG_TY_CODE +) +; + + + +CREATE TABLE COMTNDAMPRO +( + EXPERT_ID CHAR(20) NOT NULL, + KNWLDG_TY_CODE VARCHAR(3) NOT NULL, + EXPERT_GRAD CHAR(1) NOT NULL, + EXPERT_CONFM_DE CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + EXPERT_DC VARCHAR(2000) NULL, + PRIMARY KEY (EXPERT_ID,KNWLDG_TY_CODE,EXPERT_GRAD), + FOREIGN KEY COMTNDAMPRO_FK1 (KNWLDG_TY_CODE) REFERENCES COMTNDAMMAPKNO(KNWLDG_TY_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNDAMPRO_PK ON COMTNDAMPRO +( + EXPERT_ID, + KNWLDG_TY_CODE, + EXPERT_GRAD +) +; + + + +CREATE TABLE COMTNINFRMLSANCTN +( + INFRML_SANCTN_ID CHAR(20) NOT NULL, + JOB_SE_CODE CHAR(3) NOT NULL, + APPLCNT_ID VARCHAR(20) NOT NULL, + REQST_DE CHAR(20) NOT NULL, + SANCTNER_ID VARCHAR(20) NOT NULL, + CONFM_AT CHAR(1) NOT NULL, + SANCTN_DT DATETIME NULL, + RETURN_RESN VARCHAR(1000) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (INFRML_SANCTN_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINFRMLSANCTN_PK ON COMTNINFRMLSANCTN +( + INFRML_SANCTN_ID +) +; + + + +CREATE TABLE COMTNDBMNTRNG +( + DATA_SOURC_NM VARCHAR(60) NOT NULL, + SERVER_NM VARCHAR(60) NULL, + DBMS_KND VARCHAR(2) NULL, + CECK_SQL VARCHAR(250) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (DATA_SOURC_NM) +) +; + + + +CREATE UNIQUE INDEX COMTNDBMNTRNG_PK ON COMTNDBMNTRNG +( + DATA_SOURC_NM +) +; + + + +CREATE TABLE COMTNTRSMRCVMNTRNG +( + CNTC_ID CHAR(8) NOT NULL, + TEST_CLASS_NM VARCHAR(255) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (CNTC_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNTRSMRCVMNTRNG_PK ON COMTNTRSMRCVMNTRNG +( + CNTC_ID +) +; + + + +CREATE TABLE COMTNDEPTJOB +( + DEPT_JOB_ID CHAR(20) NOT NULL, + DEPT_JOBBX_ID CHAR(6) NOT NULL, + DEPT_JOB_NM VARCHAR(255) NOT NULL, + DEPT_JOB_CN VARCHAR(2500) NOT NULL, + ATCH_FILE_ID CHAR(20) NULL, + CHARGER_ID VARCHAR(20) NOT NULL, + PRIORT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (DEPT_JOB_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDEPTJOB_PK ON COMTNDEPTJOB +( + DEPT_JOB_ID +) +; + + + +CREATE TABLE COMTNLEADERSCHDUL +( + SCHDUL_ID CHAR(20) NOT NULL, + SCHDUL_SE CHAR(1) NULL, + SCHDUL_NM VARCHAR(255) NOT NULL, + SCHDUL_CN VARCHAR(2500) NOT NULL, + SCHDUL_PLACE VARCHAR(255) NULL, + LEADER_ID VARCHAR(20) NOT NULL, + REPTIT_SE_CODE CHAR(1) NULL, + SCHDUL_BGNDE CHAR(20) NULL, + SCHDUL_ENDDE CHAR(20) NULL, + SCHDUL_CHARGER_ID VARCHAR(20) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNLEADERSCHDUL_PK ON COMTNLEADERSCHDUL +( + SCHDUL_ID +) +; + + + +CREATE TABLE COMTNLEADERSCHDULDE +( + SCHDUL_ID CHAR(20) NOT NULL, + SCHDUL_DE CHAR(8) NOT NULL, + PRIMARY KEY (SCHDUL_ID,SCHDUL_DE), + FOREIGN KEY COMTNLEADERSCHDULDE_FK1 (SCHDUL_ID) REFERENCES COMTNLEADERSCHDUL(SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNLEADERSCHDULDE_PK ON COMTNLEADERSCHDULDE +( + SCHDUL_ID, + SCHDUL_DE +) +; + +CREATE TABLE COMTNLEADERSTTUS +( + LEADER_ID VARCHAR(20) NOT NULL , + LEADER_STTUS CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(20) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(20) NULL , + PRIMARY KEY (LEADER_ID) +); + + +CREATE TABLE COMTNDEPTJOBBX +( + DEPT_JOBBX_ID CHAR(6) NOT NULL, + DEPT_JOBBX_NM VARCHAR(255) NOT NULL, + DEPT_ID VARCHAR(20) NOT NULL, + INDICT_ORDR NUMERIC(6) NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (DEPT_JOBBX_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDEPTJOBBX_PK ON COMTNDEPTJOBBX +( + DEPT_JOBBX_ID +) +; + + + +CREATE TABLE COMTNDTAUSESTATS +( + DTA_USE_STATS_ID CHAR(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + NTT_ID NUMERIC(20) NOT NULL, + ATCH_FILE_ID CHAR(20) NOT NULL, + FILE_SN NUMERIC(10) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (DTA_USE_STATS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDTAUSESTATS_PK ON COMTNDTAUSESTATS +( + DTA_USE_STATS_ID +) +; + + + +CREATE TABLE COMTNINSTTCODE +( + INSTT_CODE CHAR(7) NOT NULL, + ALL_INSTT_NM VARCHAR(255) NULL, + LOWEST_INSTT_NM VARCHAR(100) NULL, + INSTT_ABRV_NM VARCHAR(50) NULL, + ODR CHAR(1) NULL, + ORD CHAR(3) NULL, + INSTT_ODR CHAR(2) NULL, + UPPER_INSTT_CODE CHAR(7) NULL, + BEST_INSTT_CODE CHAR(7) NULL, + REPRSNT_INSTT_CODE CHAR(7) NULL, + INSTT_TY_LCLAS CHAR(2) NULL, + INSTT_TY_MLSFC CHAR(2) NULL, + INSTT_TY_SCLAS CHAR(2) NULL, + TELNO VARCHAR(20) NULL, + FXNUM VARCHAR(20) NULL, + CREAT_DE CHAR(20) NULL, + ABL_DE CHAR(20) NULL, + ABL_ENNC CHAR(1) NULL, + CHANGE_DE CHAR(20) NULL, + CHANGE_TIME VARCHAR(6) NULL, + BSIS_DE CHAR(20) NULL, + SORT_ORDR NUMERIC(8) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (INSTT_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNINSTTCODE_PK ON COMTNINSTTCODE +( + INSTT_CODE +) +; + + + +CREATE TABLE COMTNINSTTCODERECPTNLOG +( + OCCRRNC_DE CHAR(20) NOT NULL, + INSTT_CODE CHAR(7) NOT NULL, + OPERT_SN NUMERIC(10) NOT NULL, + CHANGE_SE_CODE VARCHAR(2) NULL, + PROCESS_SE VARCHAR(2) NULL, + ETC_CODE CHAR(2) NULL, + ALL_INSTT_NM VARCHAR(255) NULL, + LOWEST_INSTT_NM VARCHAR(100) NULL, + INSTT_ABRV_NM VARCHAR(50) NULL, + ODR CHAR(1) NULL, + ORD CHAR(3) NULL, + INSTT_ODR CHAR(2) NULL, + UPPER_INSTT_CODE CHAR(7) NULL, + BEST_INSTT_CODE CHAR(7) NULL, + REPRSNT_INSTT_CODE CHAR(7) NULL, + INSTT_TY_LCLAS CHAR(2) NULL, + INSTT_TY_MLSFC CHAR(2) NULL, + INSTT_TY_SCLAS CHAR(2) NULL, + TELNO VARCHAR(20) NULL, + FXNUM VARCHAR(20) NULL, + CREAT_DE CHAR(20) NULL, + ABL_DE CHAR(20) NULL, + ABL_ENNC CHAR(1) NULL, + CHANGE_DE CHAR(20) NULL, + CHANGE_TIME VARCHAR(6) NULL, + BSIS_DE CHAR(20) NULL, + SORT_ORDR NUMERIC(8) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (OCCRRNC_DE,INSTT_CODE,OPERT_SN) +) +; + + + +CREATE UNIQUE INDEX COMTNINSTTCODERECPTNLOG_PK ON COMTNINSTTCODERECPTNLOG +( + OCCRRNC_DE, + INSTT_CODE, + OPERT_SN +) +; + + + +CREATE TABLE COMTNINDVDLYRYCMANAGE +( + OCCRRNC_YEAR CHAR(4) NOT NULL, + YRYC_OCCRRNC_CO NUMERIC(5,1) NULL, + USE_YRYC_CO NUMERIC(5,1) NULL, + REMNDR_YRYC_CO NUMERIC(5,1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + USER_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (OCCRRNC_YEAR,USER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINDVDLYRYCMANAGE_PK ON COMTNINDVDLYRYCMANAGE +( + OCCRRNC_YEAR, + USER_ID +) +; + + + +CREATE TABLE COMTNNTWRKSVCMNTRNG +( + SYS_IP VARCHAR(23) NOT NULL, + SYS_PORT NUMERIC(5) NOT NULL, + SYS_NM VARCHAR(255) NOT NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (SYS_IP,SYS_PORT) +) +; + + + +CREATE UNIQUE INDEX COMTNNTWRKSVCMNTRNG_PK ON COMTNNTWRKSVCMNTRNG +( + SYS_IP, + SYS_PORT +) +; + + + +CREATE TABLE COMTNNTWRKSVCMNTRNGLOGINFO +( + SYS_IP VARCHAR(23) NOT NULL, + SYS_PORT NUMERIC(5) NOT NULL, + SYS_NM VARCHAR(255) NOT NULL, + MNTRNG_STTUS CHAR(2) NULL, + LOG_INFO VARCHAR(2000) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (SYS_IP,SYS_PORT,LOG_ID), + FOREIGN KEY COMTNNTWRKSVCMNTRNGLOGINFO_FK2 (SYS_IP,SYS_PORT) REFERENCES COMTNNTWRKSVCMNTRNG(SYS_IP,SYS_PORT) +) +; + + + +CREATE UNIQUE INDEX COMTNNTWRKSVCMNTRNGLOGINFO_PK ON COMTNNTWRKSVCMNTRNGLOGINFO +( + SYS_IP, + SYS_PORT, + LOG_ID +) +; + + + +CREATE TABLE COMTNSERVEREQPMNINFO +( + SERVER_EQPMN_ID VARCHAR(20) NOT NULL, + SERVER_EQPMN_NM VARCHAR(60) NULL, + SERVER_EQPMN_IP VARCHAR(23) NULL, + SERVER_EQPMN_MNGR VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + OPERSYSM_INFO VARCHAR(2000) NULL, + CPU_INFO VARCHAR(2000) NULL, + MORY_INFO VARCHAR(2000) NULL, + HDDISK CHAR(18) NULL, + ETC_INFO VARCHAR(250) NULL, + RGSDE DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (SERVER_EQPMN_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSERVEREQPMNINFO_PK ON COMTNSERVEREQPMNINFO +( + SERVER_EQPMN_ID +) +; + + + +CREATE TABLE COMTNSYNCHRNSERVERINFO +( + SERVER_ID CHAR(20) NOT NULL, + SERVER_NM VARCHAR(60) NULL, + SERVER_IP VARCHAR(23) NULL, + SERVER_PORT VARCHAR(10) NULL, + FTP_ID VARCHAR(20) NULL, + FTP_PASSWORD VARCHAR(20) NULL, + SYNCHRN_LC VARCHAR(255) NULL, + REFLCT_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (SERVER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSYNCHRNSERVERINFO_PK ON COMTNSYNCHRNSERVERINFO +( + SERVER_ID +) +; + + + +CREATE TABLE COMTNSERVERINFO +( + SERVER_ID CHAR(20) NOT NULL, + SERVER_NM VARCHAR(60) NULL, + SERVER_KND CHAR(2) NULL, + RGSDE DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (SERVER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSERVERINFO_PK ON COMTNSERVERINFO +( + SERVER_ID +) +; + + + +CREATE TABLE COMTNSERVEREQPMNRELATE +( + SERVER_EQPMN_ID VARCHAR(20) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + SERVER_ID CHAR(20) NOT NULL, + PRIMARY KEY (SERVER_EQPMN_ID,SERVER_ID), + FOREIGN KEY COMTNSERVEREQPMNRELATE_FK2 (SERVER_EQPMN_ID) REFERENCES COMTNSERVEREQPMNINFO(SERVER_EQPMN_ID), + FOREIGN KEY COMTNSERVEREQPMNRELATE_FK1 (SERVER_ID) REFERENCES COMTNSERVERINFO(SERVER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSERVEREQPMNRELATE_PK ON COMTNSERVEREQPMNRELATE +( + SERVER_EQPMN_ID, + SERVER_ID +) +; + + + +CREATE TABLE COMTNSERVERRESRCELOGINFO +( + SERVER_EQPMN_ID VARCHAR(20) NOT NULL, + CPU_USE_RT NUMERIC(3) NULL, + MORY_USE_RT NUMERIC(3) NULL, + SVC_STTUS CHAR(2) NULL, + LOG_INFO VARCHAR(2000) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + SERVER_ID CHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (SERVER_EQPMN_ID,SERVER_ID,LOG_ID), + FOREIGN KEY COMTNSERVERRESRCELOGINFO_FK1 (SERVER_EQPMN_ID,SERVER_ID) REFERENCES COMTNSERVEREQPMNRELATE(SERVER_EQPMN_ID,SERVER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSERVERRESRCELOGINFO_PK ON COMTNSERVERRESRCELOGINFO +( + SERVER_EQPMN_ID, + SERVER_ID, + LOG_ID +) +; + + + +CREATE TABLE COMTNVCATNMANAGE +( + APPLCNT_ID VARCHAR(20) NOT NULL, + VCATN_SE CHAR(2) NOT NULL, + BGNDE CHAR(8) NOT NULL, + ENDDE CHAR(8) NOT NULL, + VCATN_RESN VARCHAR(200) NOT NULL, + REQST_DE CHAR(20) NOT NULL, + OCCRRNC_YEAR CHAR(4) NULL, + SANCTNER_ID VARCHAR(20) NULL, + CONFM_AT CHAR(1) NULL, + SANCTN_DT DATETIME NULL, + RETURN_RESN VARCHAR(1000) NULL, + INFRML_SANCTN_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + NOON_SE CHAR(1) NULL, + PRIMARY KEY (APPLCNT_ID,VCATN_SE,BGNDE,ENDDE) +) +; + + + +CREATE UNIQUE INDEX COMTNVCATNMANAGE_PK ON COMTNVCATNMANAGE +( + APPLCNT_ID, + VCATN_SE, + BGNDE, + ENDDE +) +; + + + +CREATE TABLE COMTNMEMOTODO +( + TODO_ID CHAR(20) NOT NULL, + TODO_SJ VARCHAR(255) NOT NULL, + TODO_BEGIN_TIME VARCHAR(14) NOT NULL, + TODO_END_TIME VARCHAR(14) NOT NULL, + WRTER_ID VARCHAR(20) NOT NULL, + TODO_CN VARCHAR(2500) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (TODO_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMEMOTODO_PK ON COMTNMEMOTODO +( + TODO_ID +) +; + + + +CREATE TABLE COMTNNOTE +( + NOTE_ID CHAR(20) NOT NULL, + NOTE_SJ VARCHAR(255) NULL, + NOTE_CN VARCHAR(4000) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (NOTE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNOTE_PK ON COMTNNOTE +( + NOTE_ID +) +; + + + +CREATE TABLE COMTNNOTETRNSMIT +( + NOTE_ID CHAR(20) NOT NULL, + NOTE_TRNSMIT_ID CHAR(20) NOT NULL, + TRNSMITER_ID CHAR(20) NULL, + DELETE_AT CHAR(8) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (NOTE_ID,NOTE_TRNSMIT_ID), + FOREIGN KEY COMTNNOTETRNSMIT_FK1 (NOTE_ID) REFERENCES COMTNNOTE(NOTE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNOTETRNSMIT_PK ON COMTNNOTETRNSMIT +( + NOTE_ID, + NOTE_TRNSMIT_ID +) +; + + + +CREATE INDEX COMTNNOTETRNSMIT_i01 ON COMTNNOTETRNSMIT +( + NOTE_ID +) +; + + + +CREATE TABLE COMTNNOTERECPTN +( + NOTE_ID CHAR(20) NOT NULL, + NOTE_TRNSMIT_ID CHAR(20) NOT NULL, + NOTE_RECPTN_ID CHAR(20) NOT NULL, + RCVER_ID CHAR(20) NULL, + OPEN_YN CHAR(1) NULL, + RECPTN_SE CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (NOTE_ID,NOTE_TRNSMIT_ID,NOTE_RECPTN_ID), + FOREIGN KEY COMTNNOTERECPTN_FK1 (NOTE_ID,NOTE_TRNSMIT_ID) REFERENCES COMTNNOTETRNSMIT(NOTE_ID,NOTE_TRNSMIT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNOTERECPTN_PK ON COMTNNOTERECPTN +( + NOTE_ID, + NOTE_TRNSMIT_ID, + NOTE_RECPTN_ID +) +; + + + +CREATE INDEX COMTNNOTERECPTN_i01 ON COMTNNOTERECPTN +( + NOTE_ID, + NOTE_TRNSMIT_ID +) +; + + + +CREATE TABLE COMTNEVENTMANAGE +( + EVENT_ID CHAR(20) NOT NULL, + EVENT_SE VARCHAR(2) NOT NULL, + EVENT_NM VARCHAR(60) NOT NULL, + EVENT_PURPS VARCHAR(200) NOT NULL, + EVENT_BGNDE CHAR(20) NOT NULL, + EVENT_ENDDE CHAR(20) NOT NULL, + EVENT_AUSPC_INSTT_NM VARCHAR(60) NULL, + EVENT_MNGT_INSTT_NM VARCHAR(60) NULL, + EVENT_PLACE VARCHAR(200) NOT NULL, + EVENT_CN VARCHAR(1000) NULL, + CT_OCCRRNC_AT CHAR(1) NULL, + PARTCPT_CT NUMERIC(16) NULL, + PSNCPA NUMERIC(10) NOT NULL, + REFRN_URL VARCHAR(1024) NULL, + RCEPT_BGNDE CHAR(20) NOT NULL, + RCEPT_ENDDE CHAR(20) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (EVENT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNEVENTMANAGE_PK ON COMTNEVENTMANAGE +( + EVENT_ID +) +; + + + +CREATE TABLE COMTNEVENTATDRN +( + APPLCNT_ID VARCHAR(20) NOT NULL, + EVENT_ID CHAR(20) NOT NULL, + REQST_DE CHAR(20) NOT NULL, + SANCTNER_ID VARCHAR(20) NOT NULL, + CONFM_AT CHAR(1) NULL, + SANCTN_DT DATETIME NULL, + RETURN_RESN VARCHAR(1000) NULL, + INFRML_SANCTN_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (APPLCNT_ID,EVENT_ID), + FOREIGN KEY COMTNEVENTATDRN_FK1 (EVENT_ID) REFERENCES COMTNEVENTMANAGE(EVENT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNEVENTATDRN_PK ON COMTNEVENTATDRN +( + APPLCNT_ID, + EVENT_ID +) +; + + + +CREATE INDEX COMTNEVENTATDRN_i01 ON COMTNEVENTATDRN +( + EVENT_ID +) +; + + + +CREATE TABLE IMGTEMP +( + ORGNZT_CODE VARCHAR(10) NOT NULL, + ERNCSL_SE VARCHAR(2) NOT NULL, + IMAGE_INFO BLOB NOT NULL, + IMAGE_TY VARCHAR(20) NULL, + PRIMARY KEY (ORGNZT_CODE,ERNCSL_SE) +) +; + + + +CREATE UNIQUE INDEX IMGTEMP_PK ON IMGTEMP +( + ORGNZT_CODE, + ERNCSL_SE +) +; + + + +CREATE TABLE IDS +( + IDGEN_TABLE_NM VARCHAR(20) NOT NULL, + IDGEN_NEXT_ID NUMERIC(30) NOT NULL, + PRIMARY KEY (IDGEN_TABLE_NM) +) +; + + + +CREATE UNIQUE INDEX IDS_PK ON IDS +( + IDGEN_TABLE_NM +) +; + + + +CREATE TABLE COMTNWIKMNTHNGREPRT +( + REPRT_ID CHAR(6) NOT NULL, + REPRT_SE CHAR(1) NOT NULL, + REPRT_SJ VARCHAR(255) NOT NULL, + REPORT_DE CHAR(20) NOT NULL, + WRTER_ID VARCHAR(20) NOT NULL, + REPORTR_ID VARCHAR(20) NOT NULL, + REPORT_BGNDE CHAR(20) NOT NULL, + REPORT_ENDDE CHAR(20) NOT NULL, + THSWIK_REPORT_CN MEDIUMTEXT NOT NULL, + NEXTWIK_REPORT_CN MEDIUMTEXT NOT NULL, + PARTCLR_MATTER VARCHAR(2500) NULL, + ATCH_FILE_ID CHAR(20) NULL, + CONFM_DT VARCHAR(14) NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (REPRT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNWIKMNTHNGREPRT_PK ON COMTNWIKMNTHNGREPRT +( + REPRT_ID +) +; + + + +CREATE TABLE COMTNTWITTER +( + USER_ID VARCHAR(20) NOT NULL, + CNSMR_KEY VARCHAR(50) NOT NULL, + CNSMR_SECRET VARCHAR(50) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (USER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNTWITTER_PK ON COMTNTWITTER +( + USER_ID +) +; + + + +CREATE TABLE COMTNWIKIBKMK +( + WIKI_BKMK_ID CHAR(20) NOT NULL, + USER_ID VARCHAR(20) NOT NULL, + WIKI_BKMK_NM VARCHAR(1000) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (WIKI_BKMK_ID,USER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNWIKIBKMK_PK ON COMTNWIKIBKMK +( + WIKI_BKMK_ID, + USER_ID +) +; + + + +CREATE TABLE COMTNRWARDMANAGE +( + RWARD_ID CHAR(20) NOT NULL, + RWARDWNR_ID VARCHAR(20) NOT NULL, + RWARD_CODE CHAR(2) NOT NULL, + RWARD_DE CHAR(20) NOT NULL, + RWARD_NM VARCHAR(255) NOT NULL, + PBLEN_CN VARCHAR(1000) NULL, + SANCTNER_ID VARCHAR(20) NOT NULL, + CONFM_AT CHAR(1) NULL, + SANCTN_DT DATETIME NULL, + RETURN_RESN VARCHAR(1000) NULL, + ATCH_FILE_ID CHAR(20) NULL, + INFRML_SANCTN_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (RWARD_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNRWARDMANAGE_PK ON COMTNRWARDMANAGE +( + RWARD_ID +) +; + + + +CREATE TABLE COMTNRSS +( + RSS_ID CHAR(20) NOT NULL, + TRGET_SVC_NM VARCHAR(255) NOT NULL, + TRGET_SVC_TABLE VARCHAR(255) NOT NULL, + TRGET_SVC_LIST_CO NUMERIC(5) NOT NULL, + HDER_TITLE VARCHAR(255) NOT NULL, + HDER_LINK VARCHAR(255) NOT NULL, + HDER_DC VARCHAR(4000) NOT NULL, + HDER_TAG VARCHAR(255) NULL, + HDER_ETC VARCHAR(250) NULL, + BDT_TITLE VARCHAR(255) NULL, + BDT_LINK VARCHAR(255) NULL, + BDT_DC VARCHAR(4000) NULL, + BDT_TAG VARCHAR(255) NULL, + BDT_ETC_TAG VARCHAR(255) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (RSS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNRSS_PK ON COMTNRSS +( + RSS_ID +) +; + + + +CREATE TABLE COMTNRESTDE +( + RESTDE_NO NUMERIC(6) NOT NULL, + RESTDE CHAR(8) NULL, + RESTDE_NM VARCHAR(60) NULL, + RESTDE_DC VARCHAR(200) NULL, + RESTDE_SE_CODE VARCHAR(2) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (RESTDE_NO) +) +; + + + +CREATE UNIQUE INDEX COMTNRESTDE_PK ON COMTNRESTDE +( + RESTDE_NO +) +; + + + +CREATE TABLE COMTNPROCESSMON +( + PROCS_ID CHAR(20) NOT NULL, + PROCS_NM VARCHAR(60) NULL, + PROCS_STTUS VARCHAR(3) NULL, + CREAT_DT DATETIME NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (PROCS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNPROCESSMON_PK ON COMTNPROCESSMON +( + PROCS_ID +) +; + + + +CREATE TABLE COMTNPROCESSMONLOGINFO +( + PROCS_ID CHAR(20) NOT NULL, + PROCS_NM VARCHAR(60) NULL, + PROCS_STTUS VARCHAR(3) NULL, + CREAT_DT DATETIME NULL, + LOG_INFO VARCHAR(2000) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (PROCS_ID,LOG_ID), + FOREIGN KEY COMTNPROCESSMONLOGINFO_FK2 (PROCS_ID) REFERENCES COMTNPROCESSMON(PROCS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNPROCESSMONLOGINFO_PK ON COMTNPROCESSMONLOGINFO +( + PROCS_ID, + LOG_ID +) +; + + + +CREATE TABLE COMTNNTWRKINFO +( + NTWRK_ID CHAR(20) NOT NULL, + NTWRK_IP VARCHAR(23) NULL, + GTWY VARCHAR(23) NULL, + SUBNET VARCHAR(23) NULL, + DOMN_NM_SERVER VARCHAR(23) NULL, + MANAGE_IEM CHAR(2) NULL, + USER_NM VARCHAR(60) NULL, + USE_AT CHAR(1) NULL, + RGSDE DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (NTWRK_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNTWRKINFO_PK ON COMTNNTWRKINFO +( + NTWRK_ID +) +; + + + +CREATE VIEW COMVNUSERMASTER ( ESNTL_ID,USER_ID,PASSWORD,USER_NM,USER_ZIP,USER_ADRES,USER_EMAIL,GROUP_ID, USER_SE, ORGNZT_ID ) +AS + SELECT ESNTL_ID, MBER_ID,PASSWORD,MBER_NM,ZIP,ADRES,MBER_EMAIL_ADRES,' ','GNR' AS USER_SE, ' ' ORGNZT_ID + FROM COMTNGNRLMBER + + UNION ALL + SELECT ESNTL_ID,EMPLYR_ID,PASSWORD,USER_NM,ZIP,HOUSE_ADRES,EMAIL_ADRES,GROUP_ID ,'USR' AS USER_SE, ORGNZT_ID + FROM COMTNEMPLYRINFO + UNION ALL + SELECT ESNTL_ID,ENTRPRS_MBER_ID,ENTRPRS_MBER_PASSWORD,CMPNY_NM,ZIP,ADRES,APPLCNT_EMAIL_ADRES,' ' ,'ENT' AS USER_SE, ' ' ORGNZT_ID + FROM COMTNENTRPRSMBER +ORDER BY ESNTL_ID; + + + +CREATE TABLE COMTNMEMOREPRT +( + REPRT_SJ VARCHAR(255) NOT NULL, + REPORT_DE CHAR(20) NOT NULL, + WRTER_ID VARCHAR(20) NOT NULL, + REPORTR_ID VARCHAR(20) NOT NULL, + REPORT_CN VARCHAR(2500) NOT NULL, + ATCH_FILE_ID CHAR(20) NULL, + DRCT_MATTER VARCHAR(2500) NULL, + DRCT_MATTER_REGIST_DT VARCHAR(14) NULL, + REPORTR_INQIRE_DT VARCHAR(14) NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + REPRT_ID CHAR(6) NOT NULL, + PRIMARY KEY (REPRT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMEMOREPRT_PK ON COMTNMEMOREPRT +( + REPRT_ID +) +; + + + +CREATE TABLE COMTNMTGPLACEMANAGE +( + MTGRUM_ID CHAR(20) NOT NULL, + MTGRUM_NM VARCHAR(255) NOT NULL, + OPN_BEGIN_TM VARCHAR(6) NOT NULL, + OPN_END_TM VARCHAR(6) NOT NULL, + ACEPTNC_POSBL_NMPR NUMERIC(10) NOT NULL, + LC_SE CHAR(5) NULL, + LC_DETAIL VARCHAR(200) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (MTGRUM_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMTGPLACEMANAGE_PK ON COMTNMTGPLACEMANAGE +( + MTGRUM_ID +) +; + + + +CREATE TABLE COMTNMTGPLACERESVE +( + RESVE_ID CHAR(20) NOT NULL, + MTGRUM_ID CHAR(20) NOT NULL, + MTG_SJ VARCHAR(100) NOT NULL, + RSVCTM_ID VARCHAR(20) NOT NULL, + RESVE_DE CHAR(8) NOT NULL, + RESVE_BEGIN_TM VARCHAR(14) NOT NULL, + RESVE_END_TM VARCHAR(14) NOT NULL, + ATNDNC_NMPR NUMERIC(10) NULL, + MTG_CN VARCHAR(2500) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (RESVE_ID), + FOREIGN KEY COMTNMTGPLACERESVE_FK1 (MTGRUM_ID) REFERENCES COMTNMTGPLACEMANAGE(MTGRUM_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMTGPLACERESVE_PK ON COMTNMTGPLACERESVE +( + RESVE_ID +) +; + + + +CREATE INDEX COMTNMTGPLACERESVE_i01 ON COMTNMTGPLACERESVE +( + MTGRUM_ID +) +; + + + +CREATE TABLE COMTNFXTRSMANAGE +( + FXTRS_CODE CHAR(14) NOT NULL, + FXTRS_NM VARCHAR(100) NOT NULL, + MAKR_NM VARCHAR(100) NULL, + PRICE NUMERIC(16) NULL, + PRIMARY KEY (FXTRS_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNFXTRSMANAGE_PK ON COMTNFXTRSMANAGE +( + FXTRS_CODE +) +; + + + +CREATE TABLE COMTNMTGPLACEFXTRS +( + MTGRUM_ID CHAR(20) NOT NULL, + FXTRS_CODE CHAR(14) NOT NULL, + QY NUMERIC(20) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (MTGRUM_ID,FXTRS_CODE), + FOREIGN KEY COMTNMTGPLACEFXTRS_FK2 (MTGRUM_ID) REFERENCES COMTNMTGPLACEMANAGE(MTGRUM_ID), + FOREIGN KEY COMTNMTGPLACEFXTRS_FK1 (FXTRS_CODE) REFERENCES COMTNFXTRSMANAGE(FXTRS_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNMTGPLACEFXTRS_PK ON COMTNMTGPLACEFXTRS +( + MTGRUM_ID, + FXTRS_CODE +) +; + + + +CREATE INDEX COMTNMTGPLACEFXTRS_i01 ON COMTNMTGPLACEFXTRS +( + MTGRUM_ID +) +; + + + +CREATE TABLE COMTECOPSEQ +( + TABLE_NAME VARCHAR(20) NOT NULL, + NEXT_ID NUMERIC(30) NULL, + PRIMARY KEY (TABLE_NAME) +) +; + + + +CREATE UNIQUE INDEX COMTECOPSEQ_PK ON COMTECOPSEQ +( + TABLE_NAME +) +; + + + +CREATE TABLE COMTNANNVRSRYMANAGE +( + ANNVRSRY_ID VARCHAR(20) NOT NULL, + USER_ID VARCHAR(20) NOT NULL, + ANNVRSRY_SE VARCHAR(2) NOT NULL, + ANNVRSRY_NM VARCHAR(255) NOT NULL, + ANNVRSRY CHAR(20) NOT NULL, + CLDR_SE CHAR(1) NOT NULL, + ANNVRSRY_NTCN_SETUP CHAR(1) NULL, + ANNVRSRY_NTCN_BGNDE CHAR(20) NULL, + MEMO VARCHAR(1000) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + REPTIT_AT CHAR(1) NULL, + PRIMARY KEY (ANNVRSRY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNANNVRSRYMANAGE_PK ON COMTNANNVRSRYMANAGE +( + ANNVRSRY_ID +) +; + +CREATE TABLE J_ATTACHFILE +( + FILE_ID VARCHAR(13) NOT NULL, + FILE_SEQ INT NOT NULL, + FILE_NAME VARCHAR(100) NOT NULL, + FILE_SIZE INT, + FILE_MASK VARCHAR(100), + DOWNLOAD_COUNT INT, + DOWNLOAD_EXPIRE_DATE VARCHAR(8), + DOWNLOAD_LIMIT_COUNT INT, + REG_DATE DATETIME, + DELETE_YN VARCHAR(1), +PRIMARY KEY (FILE_ID, FILE_SEQ) +) +; + +CREATE UNIQUE INDEX J_ATTACHFILE_PK ON J_ATTACHFILE +( + FILE_ID, FILE_SEQ +) +; + +CREATE TABLE COMTNROUGHMAP ( + ROUGHMAP_ID VARCHAR(75) NOT NULL, + ROUGHMAPSJ VARCHAR(75) NOT NULL, + ROUGHMAPADDRESS VARCHAR(200) NULL, + LA VARCHAR(48) NULL, + LO VARCHAR(48) NULL, + MARKERLA VARCHAR(48) NULL, + MARKERLO VARCHAR(48) NULL, + INFOWINDOW VARCHAR(20) NULL, + ZOOMLEVEL VARCHAR(10) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL + ); + +CREATE TABLE COMTNPRIVACYLOG +( + REQUST_ID VARCHAR(20) NOT NULL, + INQIRE_DT DATETIME NOT NULL, + SRVC_NM VARCHAR(500) NULL, + INQIRE_INFO VARCHAR(100) NULL, + RQESTER_ID VARCHAR(20) NULL, + RQESTER_IP VARCHAR(23) NULL, + PRIMARY KEY (REQUST_ID) +) +; + +CREATE UNIQUE INDEX COMTNPRIVACYLOG_PK ON COMTNPRIVACYLOG +( + REQUST_ID +) +; + + CREATE TABLE COMTNCOMMUTE ( + WRKTM_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + ORGNZT_ID VARCHAR(20) NULL, + WRKT_DT VARCHAR(10) NOT NULL, + WRK_START_TIME VARCHAR(14) NULL, + WRK_END_TIME VARCHAR(14) NULL, + WRK_HOURS CHAR(2) NULL, + OVTMWRK_HOURS CHAR(2) NULL, + WRK_START_STATUS VARCHAR(10) NULL, + WRK_END_STATUS VARCHAR(10) NULL, + RM VARCHAR(100) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (EMPLYR_ID, WRKT_DT) +); + +CREATE TABLE COMTNBLOG +( + BLOG_ID CHAR(20) NOT NULL , + BLOG_NM VARCHAR(255) NOT NULL , + BLOG_INTRCN VARCHAR(2400) NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + TMPLAT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(20) NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(20) NULL , + BBS_ID CHAR(20) DEFAULT NULL, + BLOG_AT CHAR(2) DEFAULT NULL, + PRIMARY KEY (BLOG_ID) +); + +CREATE TABLE COMTNBLOGUSER +( + BLOG_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + MNGR_AT CHAR(1) NOT NULL, + MBER_STTUS VARCHAR(15) NULL, + SBSCRB_DE DATETIME NULL, + SECSN_DE CHAR(20) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (BLOG_ID,EMPLYR_ID), + FOREIGN KEY COMTNBLOGUSER_FK1 (BLOG_ID) REFERENCES COMTNBLOG(BLOG_ID) +); Index: base3.10/script/ddl/tibero/com_DDL_tibero.sql =================================================================== --- base3.10/script/ddl/tibero/com_DDL_tibero.sql (nonexistent) +++ base3.10/script/ddl/tibero/com_DDL_tibero.sql (revision 7) @@ -0,0 +1,3518 @@ + +CREATE TABLE COMTNPROGRMLIST +( + PROGRM_FILE_NM VARCHAR2(60) NOT NULL , + PROGRM_STRE_PATH VARCHAR2(100) NOT NULL , + PROGRM_KOREAN_NM VARCHAR2(60) NULL , + PROGRM_DC VARCHAR2(200) NULL , + URL VARCHAR2(100) NOT NULL , +CONSTRAINT COMTNPROGRMLIST_PK PRIMARY KEY (PROGRM_FILE_NM) +); + + + +CREATE TABLE COMTHPROGRMCHANGEDTLS +( + PROGRM_FILE_NM VARCHAR2(60) NOT NULL , + REQUST_NO NUMBER(10) NOT NULL , + RQESTER_ID VARCHAR2(20) NOT NULL , + CHANGE_REQUST_CN VARCHAR2(1000) NULL , + REQUST_PROCESS_CN CLOB NULL , + OPETR_ID VARCHAR2(20) NULL , + PROCESS_STTUS_CODE VARCHAR2(15) NOT NULL , + PROCESS_DE CHAR(20) NULL , + RQESTDE CHAR(20) NULL , + REQUST_SJ VARCHAR2(60) NOT NULL , +CONSTRAINT COMTHPROGRMCHANGEDTLS_PK PRIMARY KEY (PROGRM_FILE_NM,REQUST_NO), +CONSTRAINT COMTHPROGRMCHANGEDTLS_FK1 FOREIGN KEY (PROGRM_FILE_NM) REFERENCES COMTNPROGRMLIST(PROGRM_FILE_NM) ON DELETE CASCADE +); + + + +CREATE INDEX COMTHPROGRMCHANGEDTLS_i01 ON COMTHPROGRMCHANGEDTLS +(PROGRM_FILE_NM ASC); + + + +CREATE TABLE COMTNPOPUPMANAGE +( + POPUP_ID VARCHAR2(20) NOT NULL , + POPUP_SJ_NM VARCHAR2(1024) NULL , + FILE_URL VARCHAR2(1024) NULL , + POPUP_WIDTH_LC VARCHAR2(20) NULL , + POPUP_WIDTH_SIZE NUMBER NULL , + NTCE_BGNDE CHAR(20) NULL , + NTCE_ENDDE CHAR(20) NULL , + STOPVEW_SETUP_AT CHAR(1) NULL , + NTCE_AT CHAR(1) NULL , + POPUP_VRTICL_LC VARCHAR2(20) NULL , + POPUP_VRTICL_SIZE NUMBER NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNPOPUPMANAGE_PK PRIMARY KEY (POPUP_ID) +); + + + +CREATE TABLE COMTNBANNER +( + BANNER_ID CHAR(20) NOT NULL , + BANNER_NM VARCHAR2(60) NOT NULL , + LINK_URL VARCHAR2(255) NOT NULL , + BANNER_IMAGE VARCHAR2(60) NOT NULL , + BANNER_DC VARCHAR2(200) NULL , + REFLCT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + BANNER_IMAGE_FILE VARCHAR2(60) NULL , + SORT_ORDR NUMBER(8) NULL , +CONSTRAINT COMTNBANNER_PK PRIMARY KEY (BANNER_ID) +); + + + +CREATE TABLE COMTNLOGINSCRINIMAGE +( + IMAGE_ID CHAR(20) NOT NULL , + IMAGE_NM VARCHAR2(20) NOT NULL , + REFLCT_AT CHAR(1) NOT NULL , + IMAGE VARCHAR2(60) NOT NULL , + IMAGE_DC VARCHAR2(200) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + IMAGE_FILE VARCHAR2(60) NULL , +CONSTRAINT COMTNLOGINSCRINIMAGE_PK PRIMARY KEY (IMAGE_ID) +); + + + +CREATE TABLE COMTNORGNZTINFO +( + ORGNZT_ID CHAR(20) NOT NULL , + ORGNZT_NM VARCHAR2(20) NOT NULL , + ORGNZT_DC VARCHAR2(100) NULL , +CONSTRAINT COMTNORGNZTINFO_PK PRIMARY KEY (ORGNZT_ID) +); + + + +CREATE TABLE COMTNAUTHORGROUPINFO +( + GROUP_ID CHAR(20) NOT NULL , + GROUP_NM VARCHAR2(60) NOT NULL , + GROUP_CREAT_DE CHAR(20) NOT NULL , + GROUP_DC VARCHAR2(100) NULL , +CONSTRAINT COMTNAUTHORGROUPINFO_PK PRIMARY KEY (GROUP_ID) +); + + + +CREATE TABLE COMTNEMPLYRINFO +( + EMPLYR_ID VARCHAR2(20) NOT NULL , + ORGNZT_ID CHAR(20) NULL , + USER_NM VARCHAR2(60) NOT NULL , + PASSWORD VARCHAR2(200) NOT NULL , + EMPL_NO VARCHAR2(20) NULL , + IHIDNUM VARCHAR2(200) NULL , + SEXDSTN_CODE CHAR(1) NULL , + BRTHDY CHAR(20) NULL , + FXNUM VARCHAR2(20) NULL , + HOUSE_ADRES VARCHAR2(100) NOT NULL , + PASSWORD_HINT VARCHAR2(100) NOT NULL , + PASSWORD_CNSR VARCHAR2(100) NOT NULL , + HOUSE_END_TELNO VARCHAR2(4) NOT NULL , + AREA_NO VARCHAR2(4) NOT NULL , + DETAIL_ADRES VARCHAR2(100) NULL , + ZIP VARCHAR2(6) NOT NULL , + OFFM_TELNO VARCHAR2(20) NULL , + MBTLNUM VARCHAR2(20) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + OFCPS_NM VARCHAR2(60) NULL , + HOUSE_MIDDLE_TELNO VARCHAR2(4) NOT NULL , + GROUP_ID CHAR(20) NULL , + PSTINST_CODE CHAR(8) NULL , + EMPLYR_STTUS_CODE CHAR(1) NOT NULL , + ESNTL_ID CHAR(20) NOT NULL , + CRTFC_DN_VALUE VARCHAR2(100) NULL , + SBSCRB_DE DATE NULL , + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMBER(3) NULL, + LOCK_LAST_PNTTM DATE NULL, + CHG_PWD_LAST_PNTTM DATE NULL, +CONSTRAINT COMTNEMPLYRINFO_PK PRIMARY KEY (EMPLYR_ID), +CONSTRAINT COMTNEMPLYRINFO_FK2 FOREIGN KEY (ORGNZT_ID) REFERENCES COMTNORGNZTINFO(ORGNZT_ID) ON DELETE CASCADE, +CONSTRAINT COMTNEMPLYRINFO_FK1 FOREIGN KEY (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNEMPLYRINFO_i01 ON COMTNEMPLYRINFO +(ORGNZT_ID ASC); + + + +CREATE INDEX COMTNEMPLYRINFO_i02 ON COMTNEMPLYRINFO +(GROUP_ID ASC); + + + +CREATE TABLE COMTNFILE +( + ATCH_FILE_ID CHAR(20) NOT NULL , + CREAT_DT DATE NOT NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNFILE_PK PRIMARY KEY (ATCH_FILE_ID) +); + + + +CREATE TABLE COMTHEMAILDSPTCHMANAGE +( + MSSAGE_ID VARCHAR2(20) NOT NULL , + EMAIL_CN CLOB NULL , + SNDR VARCHAR2(50) NOT NULL , + RCVER VARCHAR2(50) NOT NULL , + SJ VARCHAR2(60) NOT NULL , + SNDNG_RESULT_CODE CHAR(1) NULL , + DSPTCH_DT CHAR(20) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , +CONSTRAINT COMTHEMAILDSPTCHMANAGE_PK PRIMARY KEY (MSSAGE_ID), +CONSTRAINT COMTHEMAILDSPTCHMANAGE_FK1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) ON DELETE SET NULL +); + + + +CREATE INDEX COMTHEMAILDSPTCHMANAGE_i01 ON COMTHEMAILDSPTCHMANAGE +(SNDR ASC); + + + +CREATE INDEX COMTHEMAILDSPTCHMANAGE_i02 ON COMTHEMAILDSPTCHMANAGE +(ATCH_FILE_ID ASC); + + + +CREATE TABLE COMTNNTTSTATS +( + STATS_ID CHAR(18) NOT NULL , + NTCE_CO NUMBER(10) NULL , + AVRG_RDCNT NUMBER(10) NULL , + TOP_RDCNT NUMBER(10) NULL , + MUMM_RDCNT NUMBER(10) NULL , + TOP_NTCR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNNTTSTATS_PK PRIMARY KEY (STATS_ID) +); + + + +CREATE TABLE COMTNSITELIST +( + SITE_ID CHAR(20) NOT NULL , + SITE_NM VARCHAR2(100) NULL , + SITE_URL VARCHAR2(100) NULL , + SITE_DC VARCHAR2(1000) NULL , + SITE_THEMA_CL_CODE VARCHAR2(2) NULL , + ACTVTY_AT CHAR(1) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNSITELIST_PK PRIMARY KEY (SITE_ID) +); + + + +CREATE TABLE COMTNRECENTSRCHWRDMANAGE +( + SRCHWRD_MANAGE_ID CHAR(20) NOT NULL , + SRCHWRD_MANAGE_NM VARCHAR2(255) NULL , + SRCHWRD_CONECT_URL VARCHAR2(255) NULL , + USER_SEARCH_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNRECENTSRCHWRDMANAGE_PK PRIMARY KEY (SRCHWRD_MANAGE_ID) +); + + + +CREATE TABLE COMTNRECENTSRCHWRD +( + SRCHWRD_MANAGE_ID CHAR(20) NOT NULL , + RECENT_SRCHWRD_ID CHAR(20) NOT NULL , + RECENT_SRCHWRD_NM VARCHAR2(255) NULL , + RECENT_SRCHWRD_CO NUMBER(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNRECENTSRCHWRD_PK PRIMARY KEY (RECENT_SRCHWRD_ID), +CONSTRAINT COMTNRECENTSRCHWRD_FK1 FOREIGN KEY (SRCHWRD_MANAGE_ID) REFERENCES COMTNRECENTSRCHWRDMANAGE(SRCHWRD_MANAGE_ID) +); + + + + + +CREATE TABLE COMTNPROXYINFO +( + PROXY_ID CHAR(20) NOT NULL , + PROXY_NM VARCHAR2(60) NULL , + PROXY_IP VARCHAR2(23) NULL , + PROXY_PORT VARCHAR2(10) NULL , + TRGET_SVC_NM VARCHAR2(255) NULL , + SVC_DC VARCHAR2(2000) NULL , + SVC_IP VARCHAR2(23) NULL , + SVC_PORT VARCHAR2(10) NULL , + SVC_STTUS CHAR(2) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNPROXYINFO_PK PRIMARY KEY (PROXY_ID) +); + + + +CREATE TABLE COMTNPROXYLOGINFO +( + PROXY_ID CHAR(20) NOT NULL , + CLNT_IP VARCHAR2(23) NULL , + CLNT_PORT VARCHAR2(10) NULL , + CONECT_TIME DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNPROXYLOGINFO_PK PRIMARY KEY (PROXY_ID,LOG_ID), +CONSTRAINT COMTNPROXYLOGINFO_FK1 FOREIGN KEY (PROXY_ID) REFERENCES COMTNPROXYINFO(PROXY_ID) +); + + + +CREATE TABLE COMTNMAINIMAGE +( + IMAGE_ID CHAR(20) NOT NULL , + IMAGE_NM VARCHAR2(20) NOT NULL , + IMAGE VARCHAR2(60) NOT NULL , + IMAGE_DC VARCHAR2(200) NULL , + REFLCT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + IMAGE_FILE VARCHAR2(60) NULL , +CONSTRAINT COMTNMAINIMAGE_PK PRIMARY KEY (IMAGE_ID) +); + + + +CREATE TABLE COMTNUNITYLINK +( + UNITY_LINK_ID CHAR(20) NOT NULL , + UNITY_LINK_GROUP VARCHAR2(255) NULL , + UNITY_LINK_NM VARCHAR2(255) NULL , + UNITY_LINK_URL VARCHAR2(255) NULL , + UNITY_LINK_DC VARCHAR2(2500) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + UNITY_LINK_SE_CODE CHAR(3) NULL , +CONSTRAINT COMTNUNITYLINK_PK PRIMARY KEY (UNITY_LINK_ID) +); + + + +CREATE TABLE COMTNUSERABSNCE +( + EMPLYR_ID VARCHAR2(20) NOT NULL , + USER_ABSNCE_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNUSERABSNCE_PK PRIMARY KEY (EMPLYR_ID) +); + + + +CREATE TABLE COMTSSYSLOGSUMMARY +( + OCCRRNC_DE CHAR(8) NOT NULL , + SVC_NM VARCHAR2(255) NOT NULL , + METHOD_NM VARCHAR2(60) NOT NULL , + CREAT_CO NUMBER(10) NULL , + UPDT_CO NUMBER(10) NULL , + RDCNT NUMBER(10) NULL , + DELETE_CO NUMBER(10) NULL , + OUTPT_CO NUMBER(10) NULL , + ERROR_CO NUMBER(10) NULL , +CONSTRAINT COMTSSYSLOGSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,SVC_NM,METHOD_NM) +); + + + +CREATE TABLE COMTNSYSLOG +( + REQUST_ID VARCHAR2(20) NOT NULL , + JOB_SE_CODE CHAR(3) NULL , + INSTT_CODE CHAR(7) NULL , + OCCRRNC_DE DATE NULL , + RQESTER_IP VARCHAR2(23) NULL , + RQESTER_ID VARCHAR2(20) NULL , + TRGET_MENU_NM VARCHAR2(255) NULL , + SVC_NM VARCHAR2(255) NULL , + METHOD_NM VARCHAR2(60) NULL , + PROCESS_SE_CODE CHAR(3) NULL , + PROCESS_CO NUMBER(10) NULL , + PROCESS_TIME VARCHAR2(14) NULL , + RSPNS_CODE CHAR(3) NULL , + ERROR_SE CHAR(1) NULL , + ERROR_CO NUMBER(10) NULL , + ERROR_CODE CHAR(3) NULL , +CONSTRAINT COMTNSYSLOG_PK PRIMARY KEY (REQUST_ID) +); + + + +CREATE TABLE COMTNBBSMASTER +( + BBS_ID CHAR(20) NOT NULL , + BBS_NM VARCHAR2(255) NOT NULL , + BBS_INTRCN VARCHAR2(2400) NULL , + BBS_TY_CODE CHAR(6) NOT NULL , + REPLY_POSBL_AT CHAR(1) NULL , + FILE_ATCH_POSBL_AT CHAR(1) NOT NULL , + ATCH_POSBL_FILE_NUMBER NUMBER(2) NOT NULL , + ATCH_POSBL_FILE_SIZE NUMBER(8) NULL , + USE_AT CHAR(1) NOT NULL , + TMPLAT_ID CHAR(20) NULL , + CMMNTY_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + BLOG_ID CHAR(20) NULL, + BLOG_AT CHAR(2) NULL, +CONSTRAINT COMTNBBSMASTER_PK PRIMARY KEY (BBS_ID) +); + + + +CREATE TABLE COMTNBBS +( + NTT_ID NUMBER(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + NTT_NO NUMBER(20) NULL , + NTT_SJ VARCHAR2(2000) NULL , + NTT_CN CLOB NULL , + ANSWER_AT CHAR(1) NULL , + PARNTSCTT_NO NUMBER(10) NULL , + ANSWER_LC NUMBER(8) NULL , + SORT_ORDR NUMBER(8) NULL , + RDCNT NUMBER(10) NULL , + USE_AT CHAR(1) NOT NULL , + NTCE_BGNDE CHAR(20) NULL , + NTCE_ENDDE CHAR(20) NULL , + NTCR_ID VARCHAR2(20) NULL , + NTCR_NM VARCHAR2(20) NULL , + PASSWORD VARCHAR2(200) NULL , + ATCH_FILE_ID CHAR(20) NULL , + NOTICE_AT CHAR(1) NULL, + SJ_BOLD_AT CHAR(1) NULL, + SECRET_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + BLOG_ID CHAR(20) NULL, +CONSTRAINT COMTNBBS_PK PRIMARY KEY (NTT_ID,BBS_ID), +CONSTRAINT COMTNBBS_FK1 FOREIGN KEY (BBS_ID) REFERENCES COMTNBBSMASTER(BBS_ID) +); + + + +CREATE INDEX COMTNBBS_i01 ON COMTNBBS +(BBS_ID ASC); + + + +CREATE TABLE COMTNCOMMENT +( + NTT_ID NUMBER(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + ANSWER_NO NUMBER(20) NOT NULL , + WRTER_ID VARCHAR2(20) NULL , + WRTER_NM VARCHAR2(20) NULL , + ANSWER VARCHAR2(200) NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + PASSWORD VARCHAR2(200) NULL , +CONSTRAINT COMTNCOMMENT_PK PRIMARY KEY (NTT_ID,BBS_ID,ANSWER_NO), +CONSTRAINT COMTNCOMMENT_FK1 FOREIGN KEY (NTT_ID,BBS_ID) REFERENCES COMTNBBS(NTT_ID,BBS_ID) +); + + + +CREATE INDEX COMTNCOMMENT_i01 ON COMTNCOMMENT +(NTT_ID ASC,BBS_ID ASC); + + + +CREATE TABLE COMTNRECOMENDSITEINFO +( + RECOMEND_SITE_ID CHAR(20) NOT NULL , + RECOMEND_SITE_NM VARCHAR2(100) NULL , + RECOMEND_SITE_URL VARCHAR2(255) NULL , + RECOMEND_SITE_DC VARCHAR2(1000) NULL , + RECOMEND_RESN_CN VARCHAR2(1000) NULL , + RECOMEND_CONFM_AT CHAR(1) NULL , + CONFM_DE CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNRECOMENDSITEINFO_PK PRIMARY KEY (RECOMEND_SITE_ID) +); + + + +CREATE TABLE COMTNINTNETSVC +( + INTNET_SVC_ID CHAR(20) NOT NULL , + INTNET_SVC_NM VARCHAR2(20) NOT NULL , + INTNET_SVC_DC VARCHAR2(200) NULL , + REFLCT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNINTNETSVC_PK PRIMARY KEY (INTNET_SVC_ID) +); + + + +CREATE TABLE COMTNCLUB +( + CLB_ID CHAR(20) NOT NULL , + CMMNTY_ID CHAR(20) NOT NULL , + CLB_NM VARCHAR2(255) NOT NULL , + CLB_INTRCN VARCHAR2(2400) NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + TMPLAT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNCLUB_PK PRIMARY KEY (CLB_ID,CMMNTY_ID) +); + + + +CREATE TABLE COMTNCLUBUSER +( + CLB_ID CHAR(20) NOT NULL , + CMMNTY_ID CHAR(20) NOT NULL , + OPRTR_AT CHAR(1) NOT NULL , + SBSCRB_DE DATE NULL , + SECSN_DE CHAR(20) NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + EMPLYR_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNCLUBUSER_PK PRIMARY KEY (CLB_ID,CMMNTY_ID,EMPLYR_ID), +CONSTRAINT COMTNCLUBUSER_FK1 FOREIGN KEY (CLB_ID,CMMNTY_ID) REFERENCES COMTNCLUB(CLB_ID,CMMNTY_ID) +); + + + +CREATE INDEX COMTNCLUBUSER_i01 ON COMTNCLUBUSER +(CLB_ID ASC,CMMNTY_ID ASC); + + + +CREATE TABLE COMTNBACKUPOPERT +( + BACKUP_OPERT_ID VARCHAR2(20) NOT NULL , + BACKUP_OPERT_NM VARCHAR2(60) NULL , + BACKUP_ORGINL_DRCTRY VARCHAR2(255) NULL , + BACKUP_STRE_DRCTRY VARCHAR2(255) NULL , + CMPRS_SE VARCHAR2(2) NULL , + EXECUT_CYCLE VARCHAR2(2) NULL , + EXECUT_SCHDUL_DE CHAR(20) NULL , + EXECUT_SCHDUL_HOUR CHAR(2) NULL , + EXECUT_SCHDUL_MNT CHAR(2) NULL , + EXECUT_SCHDUL_SECND CHAR(2) NULL , + USE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNBACKUPOPERT_PK PRIMARY KEY (BACKUP_OPERT_ID) +); + + + +CREATE TABLE COMTNBACKUPSCHDULDFK +( + BACKUP_OPERT_ID VARCHAR2(20) NOT NULL , + EXECUT_SCHDUL_DFK_SE CHAR(1) NOT NULL , +CONSTRAINT COMTNBACKUPSCHDULDFK_PK PRIMARY KEY (BACKUP_OPERT_ID,EXECUT_SCHDUL_DFK_SE), +CONSTRAINT COMTNBACKUPSCHDULDFK_FK1 FOREIGN KEY (BACKUP_OPERT_ID) REFERENCES COMTNBACKUPOPERT(BACKUP_OPERT_ID) +); + + + +CREATE TABLE COMTNCMMNTY +( + CMMNTY_ID CHAR(20) NOT NULL , + CMMNTY_NM VARCHAR2(255) NOT NULL , + CMMNTY_INTRCN VARCHAR2(2400) NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + TMPLAT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNCMMNTY_PK PRIMARY KEY (CMMNTY_ID) +); + + + +CREATE TABLE COMTNCMMNTYUSER +( + CMMNTY_ID CHAR(20) NOT NULL , + EMPLYR_ID VARCHAR2(20) NOT NULL , + MNGR_AT CHAR(1) NOT NULL , + MBER_STTUS VARCHAR2(15) NULL, + SBSCRB_DE DATE NULL , + SECSN_DE CHAR(20) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNCMMNTYUSER_PK PRIMARY KEY (CMMNTY_ID,EMPLYR_ID), +CONSTRAINT COMTNCMMNTYUSER_FK1 FOREIGN KEY (CMMNTY_ID) REFERENCES COMTNCMMNTY(CMMNTY_ID) +); + + + +CREATE INDEX COMTNCMMNTYUSER_i01 ON COMTNCMMNTYUSER +(CMMNTY_ID ASC); + + + +CREATE TABLE COMTNFILEDETAIL +( + ATCH_FILE_ID CHAR(20) NOT NULL , + FILE_SN NUMBER(10) NOT NULL , + FILE_STRE_COURS VARCHAR2(2000) NOT NULL , + STRE_FILE_NM VARCHAR2(255) NOT NULL , + ORIGNL_FILE_NM VARCHAR2(255) NULL , + FILE_EXTSN VARCHAR2(20) NOT NULL , + FILE_CN CLOB NULL , + FILE_SIZE NUMBER(8) NULL , +CONSTRAINT COMTNFILEDETAIL_PK PRIMARY KEY (ATCH_FILE_ID,FILE_SN), +CONSTRAINT COMTNFILEDETAIL_FK1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) +); + + + +CREATE INDEX COMTNFILEDETAIL_i01 ON COMTNFILEDETAIL +(ATCH_FILE_ID ASC); + + + +CREATE TABLE COMTNLOGINPOLICY +( + EMPLYR_ID VARCHAR2(20) NOT NULL , + IP_INFO VARCHAR2(23) NOT NULL , + DPLCT_PERM_AT CHAR(1) NOT NULL , + LMTT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNLOGINPOLICY_PK PRIMARY KEY (EMPLYR_ID) +); + + + +CREATE TABLE COMTNQUSTNRTMPLAT +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QUSTNR_TMPLAT_TY VARCHAR2(100) NULL , + QUSTNR_TMPLAT_DC VARCHAR2(2000) NULL , + QUSTNR_TMPLAT_PATH_NM VARCHAR2(100) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + QUSTNR_TMPLAT_IMAGE_INFO BLOB NULL , +CONSTRAINT COMTNQUSTNRTMPLAT_PK PRIMARY KEY (QUSTNR_TMPLAT_ID) +); + + + +CREATE TABLE COMTNQESTNRINFO +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_SJ VARCHAR2(255) NULL , + QUSTNR_PURPS VARCHAR2(1000) NULL , + QUSTNR_WRITNG_GUIDANCE_CN VARCHAR2(2000) NULL , + QUSTNR_TRGET VARCHAR2(1000) NULL , + QUSTNR_BGNDE CHAR(20) NULL , + QUSTNR_ENDDE CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNQESTNRINFO_PK PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID), +CONSTRAINT COMTNQESTNRINFO_FK1 FOREIGN KEY (QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRTMPLAT(QUSTNR_TMPLAT_ID) +); + + + +CREATE INDEX COMTNQESTNRINFO_i01 ON COMTNQESTNRINFO +(QUSTNR_TMPLAT_ID ASC); + + + +CREATE TABLE COMTNQUSTNRRESPONDINFO +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_RESPOND_ID CHAR(20) NOT NULL , + SEXDSTN_CODE CHAR(1) NULL , + OCCP_TY_CODE CHAR(1) NULL , + RESPOND_NM VARCHAR2(50) NULL , + BRTHDY CHAR(20) NULL , + AREA_NO VARCHAR2(4) NULL , + MIDDLE_TELNO VARCHAR2(4) NULL , + END_TELNO VARCHAR2(4) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNQUSTNRRESPONDINFO_PK PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID,QUSTNR_RESPOND_ID), +CONSTRAINT COMTNQUSTNRRESPONDINFO_FK1 FOREIGN KEY (QUSTNR_TMPLAT_ID,QESTNR_ID) REFERENCES COMTNQESTNRINFO(QUSTNR_TMPLAT_ID,QESTNR_ID) +); + + + +CREATE INDEX COMTNQUSTNRRESPONDINFO_i01 ON COMTNQUSTNRRESPONDINFO +(QESTNR_ID ASC,QUSTNR_TMPLAT_ID ASC); + + + +CREATE TABLE COMTCADMINISTCODE +( + ADMINIST_ZONE_SE CHAR(1) NOT NULL , + ADMINIST_ZONE_CODE VARCHAR2(10) NOT NULL , + USE_AT CHAR(1) NOT NULL , + ADMINIST_ZONE_NM VARCHAR2(60) NULL , + UPPER_ADMINIST_ZONE_CODE VARCHAR2(10) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTCADMINISTCODE_PK PRIMARY KEY (ADMINIST_ZONE_SE,ADMINIST_ZONE_CODE) +); + + + +CREATE TABLE COMTNUSERLOG +( + OCCRRNC_DE CHAR(8) NOT NULL , + RQESTER_ID VARCHAR2(20) NOT NULL , + SVC_NM VARCHAR2(255) NOT NULL , + METHOD_NM VARCHAR2(60) NOT NULL , + CREAT_CO NUMBER(10) NULL , + UPDT_CO NUMBER(10) NULL , + RDCNT NUMBER(10) NULL , + DELETE_CO NUMBER(10) NULL , + OUTPT_CO NUMBER(10) NULL , + ERROR_CO NUMBER(10) NULL , +CONSTRAINT COMTNUSERLOG_PK PRIMARY KEY (OCCRRNC_DE,RQESTER_ID,SVC_NM,METHOD_NM) +); + + + +CREATE TABLE COMTSTRSMRCVLOGSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL , + TRSMRCV_SE_CODE CHAR(3) NOT NULL , + PROVD_INSTT_ID CHAR(8) NOT NULL , + PROVD_SYS_ID CHAR(8) NOT NULL , + PROVD_SVC_ID CHAR(8) NOT NULL , + REQUST_INSTT_ID CHAR(8) NOT NULL , + REQUST_SYS_ID CHAR(8) NOT NULL , + RDCNT NUMBER(10) NULL , + ERROR_CO NUMBER(10) NULL , +CONSTRAINT COMTSTRSMRCVLOGSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,TRSMRCV_SE_CODE,PROVD_INSTT_ID,PROVD_SYS_ID,PROVD_SVC_ID,REQUST_INSTT_ID,REQUST_SYS_ID) +); + + + +CREATE TABLE COMTCCMMNCLCODE +( + CL_CODE CHAR(3) NOT NULL , + CL_CODE_NM VARCHAR2(60) NULL , + CL_CODE_DC VARCHAR2(200) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTCCMMNCLCODE_PK PRIMARY KEY (CL_CODE) +); + + + +CREATE TABLE COMTCCMMNCODE +( + CODE_ID VARCHAR2(6) NOT NULL , + CODE_ID_NM VARCHAR2(60) NULL , + CODE_ID_DC VARCHAR2(200) NULL , + USE_AT CHAR(1) NULL , + CL_CODE CHAR(3) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTCCMMNCODE_PK PRIMARY KEY (CODE_ID), +CONSTRAINT COMTCCMMNCODE_FK1 FOREIGN KEY (CL_CODE) REFERENCES COMTCCMMNCLCODE(CL_CODE) ON DELETE SET NULL +); + + + +CREATE INDEX COMTCCMMNCODE_i01 ON COMTCCMMNCODE +(CL_CODE ASC); + + + +CREATE TABLE COMTCCMMNDETAILCODE +( + CODE_ID VARCHAR2(6) NOT NULL , + CODE VARCHAR2(15) NOT NULL , + CODE_NM VARCHAR2(60) NULL , + CODE_DC VARCHAR2(200) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTCCMMNDETAILCODE_PK PRIMARY KEY (CODE_ID,CODE), +CONSTRAINT COMTCCMMNDETAILCODE_FK1 FOREIGN KEY (CODE_ID) REFERENCES COMTCCMMNCODE(CODE_ID) +); + + + +CREATE INDEX COMTCCMMNDETAILCODE_i01 ON COMTCCMMNDETAILCODE +(CODE_ID ASC); + + + +CREATE TABLE COMTSBBSSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL , + STATS_SE VARCHAR2(10) NOT NULL , + DETAIL_STATS_SE VARCHAR2(10) NOT NULL , + CREAT_CO NUMBER(10) NULL , + TOT_RDCNT NUMBER(10) NULL , + AVRG_RDCNT NUMBER(10) NULL , + TOP_INQIRE_BBSCTT_ID VARCHAR2(20) NULL , + MUMM_INQIRE_BBSCTT_ID VARCHAR2(20) NULL , + TOP_NTCR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTSBBSSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,STATS_SE,DETAIL_STATS_SE) +); + + + +CREATE TABLE COMTCZIP +( + ZIP VARCHAR2(6) NOT NULL , + SN NUMBER(10) NOT NULL , + CTPRVN_NM VARCHAR2(20) NULL , + SIGNGU_NM VARCHAR2(20) NULL , + EMD_NM VARCHAR2(60) NULL , + LI_BULD_NM VARCHAR2(60) NULL , + LNBR_DONG_HO VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTCZIP_PK PRIMARY KEY (ZIP,SN) +); + + + +CREATE TABLE COMTRDNMADRZIP +( + RDMN_CODE VARCHAR2(12) NOT NULL, + SN NUMBER(10) NOT NULL, + CTPRVN_NM VARCHAR2(20) NULL, + SIGNGU_NM VARCHAR2(20) NULL, + RDMN VARCHAR2(60) NULL, + BDNBR_MNNM VARCHAR2(5) NULL, + BDNBR_SLNO VARCHAR2(5) NULL, + BULD_NM VARCHAR2(60) NULL, + DETAIL_BULD_NM VARCHAR2(60) NULL, + ZIP VARCHAR2(6) NOT NULL, + FRST_REGIST_PNTTM DATE NULL, + FRST_REGISTER_ID VARCHAR2(20) NULL, + LAST_UPDT_PNTTM DATE NULL, + LAST_UPDUSR_ID VARCHAR2(20) NULL, +CONSTRAINT COMTRDNMADRZIP_PK PRIMARY KEY (SN) +); + + + +CREATE TABLE COMTNNCRD +( + NCRD_ID CHAR(20) NOT NULL , + NCRD_TRGTER_ID VARCHAR2(20) NULL , + NM VARCHAR2(50) NOT NULL , + TELNO VARCHAR2(20) NULL , + NATION_NO VARCHAR2(10) NULL , + AREA_NO VARCHAR2(4) NULL , + MIDDLE_TELNO VARCHAR2(4) NULL , + END_TELNO VARCHAR2(4) NULL , + MBTLNUM VARCHAR2(20) NULL , + IDNTFC_NO VARCHAR2(10) NULL , + MIDDLE_MBTLNUM VARCHAR2(4) NULL , + END_MBTLNUM VARCHAR2(4) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + CMPNY_NM VARCHAR2(60) NULL , + DEPT_NM VARCHAR2(60) NULL , + ADRES VARCHAR2(100) NULL , + DETAIL_ADRES VARCHAR2(100) NULL , + OFCPS_NM VARCHAR2(60) NULL , + CLSF_NM VARCHAR2(60) NULL , + EXTRL_USER_AT CHAR(1) NULL , + OTHBC_AT CHAR(1) NOT NULL , + RM VARCHAR2(2500) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNNCRD_PK PRIMARY KEY (NCRD_ID) +); + + + +CREATE TABLE COMTNNCRDUSER +( + NCRD_ID CHAR(20) NOT NULL , + REGIST_SE_CODE CHAR(6) NOT NULL , + USE_AT CHAR(1) NOT NULL , + CREAT_DT DATE NOT NULL , + EMPLYR_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNNCRDUSER_PK PRIMARY KEY (NCRD_ID,EMPLYR_ID), +CONSTRAINT COMTNNCRDUSER_FK1 FOREIGN KEY (NCRD_ID) REFERENCES COMTNNCRD(NCRD_ID) +); + + + +CREATE INDEX COMTNNCRDUSER_i03 ON COMTNNCRDUSER +(NCRD_ID ASC); + + + +CREATE TABLE COMTNENTRPRSMBER +( + ENTRPRS_MBER_ID VARCHAR2(20) NOT NULL , + ENTRPRS_SE_CODE CHAR(8) NULL , + BIZRNO VARCHAR2(10) NULL , + JURIRNO VARCHAR2(13) NULL , + CMPNY_NM VARCHAR2(60) NOT NULL , + CXFC VARCHAR2(50) NULL , + ZIP VARCHAR2(6) NOT NULL , + ADRES VARCHAR2(100) NOT NULL , + ENTRPRS_MIDDLE_TELNO VARCHAR2(4) NOT NULL , + FXNUM VARCHAR2(20) NULL , + INDUTY_CODE CHAR(1) NULL , + APPLCNT_NM VARCHAR2(50) NOT NULL , + APPLCNT_IHIDNUM VARCHAR2(200) NULL , + SBSCRB_DE DATE NULL , + ENTRPRS_MBER_STTUS VARCHAR2(15) NULL , + ENTRPRS_MBER_PASSWORD VARCHAR2(200) NULL , + ENTRPRS_MBER_PASSWORD_HINT VARCHAR2(100) NOT NULL , + ENTRPRS_MBER_PASSWORD_CNSR VARCHAR2(100) NOT NULL , + GROUP_ID CHAR(20) NULL , + DETAIL_ADRES VARCHAR2(100) NULL , + ENTRPRS_END_TELNO VARCHAR2(4) NOT NULL , + AREA_NO VARCHAR2(4) NOT NULL , + APPLCNT_EMAIL_ADRES VARCHAR2(50) NOT NULL , + ESNTL_ID CHAR(20) NOT NULL , + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMBER(3) NULL, + LOCK_LAST_PNTTM DATE NULL, + CHG_PWD_LAST_PNTTM DATE NULL, +CONSTRAINT COMTNENTRPRSMBER_PK PRIMARY KEY (ENTRPRS_MBER_ID), +CONSTRAINT COMTNENTRPRSMBER_FK1 FOREIGN KEY (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNENTRPRSMBER_i01 ON COMTNENTRPRSMBER +(GROUP_ID ASC); + + + +CREATE TABLE COMTNGNRLMBER +( + MBER_ID VARCHAR2(20) NOT NULL , + PASSWORD VARCHAR2(200) NOT NULL , + PASSWORD_HINT VARCHAR2(100) NULL , + PASSWORD_CNSR VARCHAR2(100) NULL , + IHIDNUM VARCHAR2(200) NULL , + MBER_NM VARCHAR2(50) NOT NULL , + ZIP VARCHAR2(6) NOT NULL , + ADRES VARCHAR2(100) NOT NULL , + AREA_NO VARCHAR2(4) NOT NULL , + MBER_STTUS VARCHAR2(15) NULL , + DETAIL_ADRES VARCHAR2(100) NULL , + END_TELNO VARCHAR2(4) NOT NULL , + MBTLNUM VARCHAR2(20) NOT NULL , + GROUP_ID CHAR(20) NULL , + MBER_FXNUM VARCHAR2(20) NULL , + MBER_EMAIL_ADRES VARCHAR2(50) NULL , + MIDDLE_TELNO VARCHAR2(4) NOT NULL , + SBSCRB_DE DATE NULL , + SEXDSTN_CODE CHAR(1) NULL , + ESNTL_ID CHAR(20) NOT NULL , + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMBER(3) NULL, + LOCK_LAST_PNTTM DATE NULL, + CHG_PWD_LAST_PNTTM DATE NULL, +CONSTRAINT COMTNGNRLMBER_PK PRIMARY KEY (MBER_ID), +CONSTRAINT COMTNGNRLMBER_FK1 FOREIGN KEY (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNGNRLMBER_i01 ON COMTNGNRLMBER +(GROUP_ID ASC); + + + +CREATE TABLE COMTNAUTHORINFO +( + AUTHOR_CODE VARCHAR2(30) NOT NULL , + AUTHOR_NM VARCHAR2(60) NOT NULL , + AUTHOR_DC VARCHAR2(200) NULL , + AUTHOR_CREAT_DE CHAR(20) NOT NULL , +CONSTRAINT COMTNAUTHORINFO_PK PRIMARY KEY (AUTHOR_CODE) +); + + + +CREATE TABLE COMTNEMPLYRSCRTYESTBS +( + SCRTY_DTRMN_TRGET_ID VARCHAR2(20) NOT NULL , + MBER_TY_CODE CHAR(5) NULL , + AUTHOR_CODE VARCHAR2(30) NOT NULL +); + + + + + + +CREATE INDEX COMTNEMPLYRSCRTYESTBS_i04 ON COMTNEMPLYRSCRTYESTBS +(AUTHOR_CODE ASC); + + + +CREATE TABLE COMTNQAINFO +( + QA_ID CHAR(20) NOT NULL , + QESTN_SJ VARCHAR2(255) NULL , + QESTN_CN VARCHAR2(2500) NULL , + WRITNG_DE CHAR(20) NULL , + RDCNT NUMBER(10) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + QNA_PROCESS_STTUS_CODE CHAR(1) NULL , + WRTER_NM VARCHAR2(20) NULL , + ANSWER_CN VARCHAR2(2500) NULL , + WRITNG_PASSWORD VARCHAR2(20) NULL , + ANSWER_DE CHAR(20) NULL , + EMAIL_ANSWER_AT CHAR(1) NULL , + AREA_NO VARCHAR2(4) NULL , + MIDDLE_TELNO VARCHAR2(4) NULL , + END_TELNO VARCHAR2(4) NULL , +CONSTRAINT COMTNQAINFO_PK PRIMARY KEY (QA_ID) +); + + + +CREATE TABLE COMTSWEBLOGSUMMARY +( + OCCRRNC_DE CHAR(8) NOT NULL , + URL VARCHAR2(200) NOT NULL , + RDCNT NUMBER(10) NULL , +CONSTRAINT COMTSWEBLOGSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,URL) +); + + + +CREATE TABLE COMTNROLES_HIERARCHY +( + PARNTS_ROLE VARCHAR2(30) NOT NULL , + CHLDRN_ROLE VARCHAR2(30) NOT NULL , +CONSTRAINT COMTNROLES_HIERARCHY_PK PRIMARY KEY (PARNTS_ROLE,CHLDRN_ROLE), +CONSTRAINT COMTNROLES_HIERARCHY_FK1 FOREIGN KEY (PARNTS_ROLE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) ON DELETE CASCADE, +CONSTRAINT COMTNROLES_HIERARCHY_FK2 FOREIGN KEY (CHLDRN_ROLE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) ON DELETE CASCADE +); + + + +CREATE UNIQUE INDEX COMTNROLES_HIERARCHY_i01 ON COMTNROLES_HIERARCHY +(PARNTS_ROLE ASC); + + + +CREATE INDEX COMTNROLES_HIERARCHY_i02 ON COMTNROLES_HIERARCHY +(CHLDRN_ROLE ASC); + + + +CREATE TABLE COMTNROLEINFO +( + ROLE_CODE VARCHAR2(50) NOT NULL , + ROLE_NM VARCHAR2(60) NOT NULL , + ROLE_PTTRN VARCHAR2(300) NULL , + ROLE_DC VARCHAR2(200) NULL , + ROLE_TY VARCHAR2(80) NULL , + ROLE_SORT VARCHAR2(10) NULL , + ROLE_CREAT_DE CHAR(20) NOT NULL , +CONSTRAINT COMTNROLEINFO_PK PRIMARY KEY (ROLE_CODE) +); + + + +CREATE TABLE COMTNAUTHORROLERELATE +( + AUTHOR_CODE VARCHAR2(30) NOT NULL , + ROLE_CODE VARCHAR2(50) NOT NULL , + CREAT_DT DATE NULL , +CONSTRAINT COMTNAUTHORROLERELATE_PK PRIMARY KEY (AUTHOR_CODE,ROLE_CODE), +CONSTRAINT COMTNAUTHORROLERELATE_FK1 FOREIGN KEY (AUTHOR_CODE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) ON DELETE CASCADE, +CONSTRAINT COMTNAUTHORROLERELATE_FK2 FOREIGN KEY (ROLE_CODE) REFERENCES COMTNROLEINFO(ROLE_CODE) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNAUTHORROLERELATE_i01 ON COMTNAUTHORROLERELATE +(AUTHOR_CODE ASC); + + + +CREATE INDEX COMTNAUTHORROLERELATE_i02 ON COMTNAUTHORROLERELATE +(ROLE_CODE ASC); + + + +CREATE TABLE COMTNLOGINLOG +( + LOG_ID CHAR(20) NOT NULL , + CONECT_ID VARCHAR2(20) NULL , + CONECT_IP VARCHAR2(23) NULL , + CONECT_MTHD CHAR(4) NULL , + ERROR_OCCRRNC_AT CHAR(1) NULL , + ERROR_CODE CHAR(3) NULL , + CREAT_DT DATE NULL , +CONSTRAINT COMTNLOGINLOG_PK PRIMARY KEY (LOG_ID) +); + + + +CREATE TABLE COMTNWEBLOG +( + REQUST_ID VARCHAR2(20) NOT NULL , + OCCRRNC_DE DATE NULL , + URL VARCHAR2(200) NULL , + RQESTER_ID VARCHAR2(20) NULL , + RQESTER_IP VARCHAR2(23) NULL , +CONSTRAINT COMTNWEBLOG_PK PRIMARY KEY (REQUST_ID) +); + + + +CREATE TABLE COMTNEVENTINFO +( + EVENT_ID CHAR(20) NOT NULL , + BSNS_YEAR CHAR(4) NULL , + BSNS_CODE VARCHAR2(2) NULL , + EVENT_CN VARCHAR2(1000) NULL , + EVENT_SVC_BGNDE CHAR(20) NULL , + SVC_USE_NMPR_CO NUMBER(10) NULL , + CHARGER_NM VARCHAR2(50) NULL , + PRPARETG_CN VARCHAR2(2500) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + EVENT_SVC_ENDDE CHAR(20) NULL , + EVENT_TY_CODE CHAR(1) NULL , + EVENT_CONFM_AT CHAR(1) NULL , + EVENT_CONFM_DE CHAR(20) NULL , +CONSTRAINT COMTNEVENTINFO_PK PRIMARY KEY (EVENT_ID) +); + + + +CREATE TABLE COMTNEXTRLHRINFO +( + EVENT_ID CHAR(20) NOT NULL , + EXTRL_HR_ID CHAR(20) NOT NULL , + SEXDSTN_CODE CHAR(1) NULL , + EXTRL_HR_NM VARCHAR2(60) NULL , + OCCP_TY_CODE CHAR(1) NULL , + PSITN_INSTT_NM VARCHAR2(100) NULL , + BRTHDY CHAR(20) NULL , + AREA_NO VARCHAR2(4) NULL , + MIDDLE_TELNO VARCHAR2(4) NULL , + END_TELNO VARCHAR2(4) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNEXTRLHRINFO_PK PRIMARY KEY (EVENT_ID,EXTRL_HR_ID), +CONSTRAINT COMTNEXTRLHRINFO_FK1 FOREIGN KEY (EVENT_ID) REFERENCES COMTNEVENTINFO(EVENT_ID) +); + + + +CREATE INDEX COMTNEXTRLHRINFO_i01 ON COMTNEXTRLHRINFO +(EVENT_ID ASC); + + + +CREATE TABLE COMTNBBSUSE +( + BBS_ID CHAR(20) NOT NULL , + TRGET_ID CHAR(20) NOT NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNBBSUSE_PK PRIMARY KEY (BBS_ID,TRGET_ID), +CONSTRAINT COMTNBBSUSE_FK1 FOREIGN KEY (BBS_ID) REFERENCES COMTNBBSMASTER(BBS_ID) +); + + + +CREATE INDEX COMTNBBSUSE_i01 ON COMTNBBSUSE +(BBS_ID ASC); + + + +CREATE TABLE COMTNSTPLATINFO +( + USE_STPLAT_ID CHAR(20) NOT NULL , + USE_STPLAT_NM VARCHAR2(100) NULL , + USE_STPLAT_CN CLOB NULL , + INFO_PROVD_AGRE_CN CLOB NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNSTPLATINFO_PK PRIMARY KEY (USE_STPLAT_ID) +); + + + +CREATE TABLE COMTNQUSTNRQESITM +( + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_QESITM_ID CHAR(20) NOT NULL , + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTN_SN NUMBER(10) NULL , + QESTN_TY_CODE CHAR(1) NULL , + QESTN_CN VARCHAR2(2500) NULL , + MXMM_CHOISE_CO NUMBER(5) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNQUSTNRQESITM_PK PRIMARY KEY (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID), +CONSTRAINT COMTNQUSTNRQESITM_FK1 FOREIGN KEY (QUSTNR_TMPLAT_ID,QESTNR_ID) REFERENCES COMTNQESTNRINFO(QUSTNR_TMPLAT_ID,QESTNR_ID) +); + + + +CREATE INDEX COMTNQUSTNRQESITM_i02 ON COMTNQUSTNRQESITM +(QESTNR_ID ASC,QUSTNR_TMPLAT_ID ASC); + + + +CREATE TABLE COMTNQUSTNRRSPNSRESULT +( + QUSTNR_RSPNS_RESULT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_QESITM_ID CHAR(20) NOT NULL , + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + RESPOND_ANSWER_CN VARCHAR2(1000) NULL , + ETC_ANSWER_CN VARCHAR2(1000) NULL , + RESPOND_NM VARCHAR2(50) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + QUSTNR_IEM_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNQUSTNRRSPNSRESULT_PK PRIMARY KEY (QUSTNR_RSPNS_RESULT_ID,QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID), +CONSTRAINT COMTNQUSTNRRSPNSRESULT_FK1 FOREIGN KEY (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRQESITM(QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) +); + + + +CREATE INDEX COMTNQUSTNRRSPNSRESULT_i01 ON COMTNQUSTNRRSPNSRESULT +(QESTNR_ID ASC,QUSTNR_QESITM_ID ASC,QUSTNR_TMPLAT_ID ASC); + + + +CREATE TABLE COMTNADBKMANAGE +( + ADBK_ID CHAR(20) NOT NULL , + ADBK_NM VARCHAR2(50) NOT NULL , + OTHBC_SCOPE VARCHAR2(20) NOT NULL , + USE_AT CHAR(1) NOT NULL , + WRTER_ID VARCHAR2(20) NULL , + TRGET_ORGNZT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNADBKMANAGE_PK PRIMARY KEY (ADBK_ID) +); + + + +CREATE TABLE COMTNADBK +( + EMPLYR_ID VARCHAR2(20) NULL , + NCRD_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + ADBK_CONSTNT_ID CHAR(20) NOT NULL , + NM VARCHAR2(50) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + MBTLNUM VARCHAR2(20) NULL , + FXNUM VARCHAR2(20) NULL , + OFFM_TELNO VARCHAR2(20) NULL , + HOUSE_TELNO VARCHAR2(20) NULL , + ADBK_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNADBK_PK PRIMARY KEY (ADBK_CONSTNT_ID,ADBK_ID), +CONSTRAINT COMTNADBK_FK1 FOREIGN KEY (ADBK_ID) REFERENCES COMTNADBKMANAGE(ADBK_ID) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNADBK_i01 ON COMTNADBK +(ADBK_ID ASC); + + + +CREATE TABLE COMTNQUSTNRIEM +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_QESITM_ID CHAR(20) NOT NULL , + QUSTNR_IEM_ID VARCHAR2(20) NOT NULL , + IEM_SN NUMBER(5) NULL , + IEM_CN VARCHAR2(1000) NULL , + ETC_ANSWER_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNQUSTNRIEM_PK PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_IEM_ID), +CONSTRAINT COMTNQUSTNRIEM_FK1 FOREIGN KEY (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRQESITM(QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) +); + + + +CREATE INDEX COMTNQUSTNRIEM_i01 ON COMTNQUSTNRIEM +(QUSTNR_QESITM_ID ASC,QESTNR_ID ASC,QUSTNR_TMPLAT_ID ASC); + + + +CREATE TABLE COMTNADMINISTRATIONWORD +( + ADMINIST_WORD_ID CHAR(20) NOT NULL , + ADMINIST_WORD_NM VARCHAR2(255) NULL , + ADMINIST_WORD_ENG_NM VARCHAR2(255) NULL , + ADMINIST_WORD_ABRV_NM VARCHAR2(255) NULL , + THEMA_RELM VARCHAR2(255) NULL , + WORD_SE VARCHAR2(255) NULL , + RELATE_STD_WORD VARCHAR2(255) NULL , + ADMINIST_WORD_DFN VARCHAR2(2500) NULL , + ADMINIST_WORD_DC VARCHAR2(4000) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNADMINISTRATIONWORD_PK PRIMARY KEY (ADMINIST_WORD_ID) +); + + + +CREATE TABLE COMTNONLINEMANUAL +( + ONLINE_MNL_ID CHAR(20) NOT NULL , + ONLINE_MNL_SE_CODE CHAR(3) NULL , + ONLINE_MNL_DFN CLOB NULL , + ONLINE_MNL_DC CLOB NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + ONLINE_MNL_NM VARCHAR2(255) NULL , +CONSTRAINT COMTNONLINEMANUAL_PK PRIMARY KEY (ONLINE_MNL_ID) +); + + + +CREATE TABLE COMTSUSERSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL , + STATS_SE VARCHAR2(10) NOT NULL , + DETAIL_STATS_SE VARCHAR2(10) NOT NULL , + USER_CO NUMBER(10) NULL , +CONSTRAINT COMTSUSERSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,STATS_SE,DETAIL_STATS_SE) +); + + + +CREATE TABLE COMTNFAQINFO +( + FAQ_ID CHAR(20) NOT NULL , + QESTN_SJ VARCHAR2(255) NULL , + QESTN_CN VARCHAR2(2500) NULL , + ANSWER_CN VARCHAR2(2500) NULL , + RDCNT NUMBER(10) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , + QNA_PROCESS_STTUS_CODE CHAR(1) NULL , +CONSTRAINT COMTNFAQINFO_PK PRIMARY KEY (FAQ_ID), +CONSTRAINT COMTNFAQINFO_FK1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) ON DELETE SET NULL +); + + + +CREATE INDEX COMTNFAQINFO_i01 ON COMTNFAQINFO +(ATCH_FILE_ID ASC); + + + +CREATE TABLE COMTNMTGINFO +( + MTG_ID CHAR(20) NOT NULL , + MTG_NM VARCHAR2(255) NULL , + MTG_MTR_CN VARCHAR2(1000) NULL , + MTG_SN NUMBER(10) NULL , + MTG_CO NUMBER(5) NULL , + MTG_DE CHAR(20) NULL , + MTG_PLACE VARCHAR2(255) NULL , + MTG_BEGIN_TM VARCHAR2(14) NULL , + MTG_END_TM VARCHAR2(14) NULL , + CLSDR_MTG_AT CHAR(1) NULL , + READNG_BGNDE CHAR(20) NULL , + READNG_AT CHAR(1) NULL , + MTG_RESULT_CN VARCHAR2(1000) NULL , + MTG_RESULT_ENNC CHAR(1) NULL , + ETC_MATTER VARCHAR2(1000) NULL , + MNGT_DEPT_ID VARCHAR2(20) NULL , + MNAER_ID VARCHAR2(20) NULL , + MNAER_DEPT_ID VARCHAR2(20) NULL , + MTG_AT CHAR(1) NULL , + NONATDRN_CO NUMBER(10) NULL , + ATDRN_CO NUMBER(10) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNMTGINFO_PK PRIMARY KEY (MTG_ID) +); + + + +CREATE TABLE COMTNREPRTSTATS +( + REPRT_ID CHAR(6) NOT NULL , + REPRT_NM VARCHAR2(20) NOT NULL , + REPRT_STTUS CHAR(2) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + REPRT_TY CHAR(2) NULL , +CONSTRAINT COMTNREPRTSTATS_PK PRIMARY KEY (REPRT_ID) +); + + + +CREATE TABLE COMTNSMS +( + SMS_ID CHAR(20) NOT NULL , + TRNSMIS_TELNO VARCHAR2(12) NOT NULL , + TRNSMIS_CN VARCHAR2(80) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNSMS_PK PRIMARY KEY (SMS_ID) +); + + + +CREATE TABLE COMTNSMSRECPTN +( + SMS_ID CHAR(20) NOT NULL , + RECPTN_TELNO VARCHAR2(12) NOT NULL , + RESULT_CODE VARCHAR2(4) NULL , + RESULT_MSSAGE VARCHAR2(4000) NULL , +CONSTRAINT COMTNSMSRECPTN_PK PRIMARY KEY (SMS_ID,RECPTN_TELNO), +CONSTRAINT COMTNSMSRECPTN_FK1 FOREIGN KEY (SMS_ID) REFERENCES COMTNSMS(SMS_ID) +); + + + +CREATE INDEX COMTNSMSRECPTN_i01 ON COMTNSMSRECPTN +(SMS_ID ASC); + + + +CREATE TABLE COMTNCPYRHTINFO +( + CPYRHT_ID CHAR(20) NOT NULL , + CPYRHT_PRTC_POLICY_CN VARCHAR2(2500) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNCPYRHTINFO_PK PRIMARY KEY (CPYRHT_ID) +); + + + +CREATE TABLE COMTNSCHDULINFO +( + SCHDUL_ID CHAR(20) NOT NULL , + SCHDUL_SE CHAR(1) NULL , + SCHDUL_DEPT_ID VARCHAR2(20) NULL , + SCHDUL_KND_CODE CHAR(1) NULL , + SCHDUL_BGNDE CHAR(20) NULL , + SCHDUL_ENDDE CHAR(20) NULL , + SCHDUL_NM VARCHAR2(255) NULL , + SCHDUL_CN VARCHAR2(2500) NULL , + SCHDUL_PLACE VARCHAR2(255) NULL , + SCHDUL_IPCR_CODE CHAR(1) NULL , + SCHDUL_CHARGER_ID VARCHAR2(20) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + REPTIT_SE_CODE CHAR(1) NULL , +CONSTRAINT COMTNSCHDULINFO_PK PRIMARY KEY (SCHDUL_ID) +); + + + +CREATE TABLE COMTNDIARYINFO +( + SCHDUL_ID CHAR(20) NOT NULL , + DIARY_ID CHAR(20) NOT NULL , + DIARY_PROGRSRT NUMBER(3) NULL , + DIARY_NM VARCHAR2(255) NULL , + DRCT_MATTER VARCHAR2(2500) NULL , + PARTCLR_MATTER VARCHAR2(2500) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNDIARYINFO_PK PRIMARY KEY (SCHDUL_ID,DIARY_ID), +CONSTRAINT COMTNDIARYINFO_FK1 FOREIGN KEY (SCHDUL_ID) REFERENCES COMTNSCHDULINFO(SCHDUL_ID) +); + + + +CREATE INDEX COMTNDIARYINFO_i01 ON COMTNDIARYINFO +(SCHDUL_ID ASC); + + + +CREATE TABLE COMTNONLINEPOLLMANAGE +( + POLL_ID CHAR(20) NOT NULL , + POLL_NM VARCHAR2(255) NULL , + POLL_BGNDE CHAR(10) NULL , + POLL_ENDDE CHAR(10) NULL , + POLL_KND CHAR(3) NULL , + POLL_DSUSE_ENNC CHAR(1) NULL , + POLL_ATMC_DSUSE_ENNC CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNONLINEPOLLMANAGE_PK PRIMARY KEY (POLL_ID) +); + + + +CREATE TABLE COMTNONLINEPOLLIEM +( + POLL_IEM_NM VARCHAR2(255) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + POLL_IEM_ID CHAR(20) NOT NULL , + POLL_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNONLINEPOLLIEM_PK PRIMARY KEY (POLL_ID,POLL_IEM_ID), +CONSTRAINT COMTNONLINEPOLLIEM_FK1 FOREIGN KEY (POLL_ID) REFERENCES COMTNONLINEPOLLMANAGE(POLL_ID) +); + + + +CREATE INDEX COMTNONLINEPOLLIEM_i01 ON COMTNONLINEPOLLIEM +(POLL_ID ASC); + + + +CREATE TABLE COMTNONLINEPOLLRESULT +( + POLL_RESULT_ID CHAR(20) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + POLL_IEM_ID CHAR(20) NOT NULL , + POLL_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNONLINEPOLLRESULT_PK PRIMARY KEY (POLL_RESULT_ID,POLL_IEM_ID,POLL_ID), +CONSTRAINT COMTNONLINEPOLLRESULT_FK1 FOREIGN KEY (POLL_ID,POLL_IEM_ID) REFERENCES COMTNONLINEPOLLIEM(POLL_ID,POLL_IEM_ID) +); + + + +CREATE INDEX COMTNONLINEPOLLRESULT_i01 ON COMTNONLINEPOLLRESULT +(POLL_IEM_ID ASC,POLL_ID ASC); + + + +CREATE TABLE COMTNWORDDICARYINFO +( + WORD_ID CHAR(20) NOT NULL , + WORD_NM VARCHAR2(255) NULL , + ENG_NM VARCHAR2(60) NULL , + WORD_DC VARCHAR2(4000) NULL , + SYNONM VARCHAR2(100) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNWORDDICARYINFO_PK PRIMARY KEY (WORD_ID) +); + + + +CREATE TABLE COMTNCNTCSERVICE +( + INSTT_ID VARCHAR2(20) NOT NULL , + SYS_ID VARCHAR2(20) NOT NULL , + SVC_ID VARCHAR2(20) NOT NULL , + SVC_NM VARCHAR2(255) NULL , + REQUST_MSSAGE_ID VARCHAR2(20) NULL , + RSPNS_MSSAGE_ID VARCHAR2(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCSERVICE_PK PRIMARY KEY (INSTT_ID,SYS_ID,SVC_ID) +); + + + +CREATE TABLE COMTNHPCMINFO +( + HPCM_ID CHAR(20) NOT NULL , + HPCM_SE_CODE CHAR(1) NULL , + HPCM_DFN VARCHAR2(1000) NULL , + HPCM_DC VARCHAR2(2500) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNHPCMINFO_PK PRIMARY KEY (HPCM_ID) +); + + + +CREATE TABLE COMTNNEWSINFO +( + NEWS_ID CHAR(20) NOT NULL , + NEWS_SJ VARCHAR2(100) NULL , + NEWS_CN VARCHAR2(2500) NULL , + NEWS_ORIGIN VARCHAR2(250) NULL , + NTCE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NOT NULL , + NTCE_DE CHAR(20) NULL , + ATCH_FILE_ID CHAR(20) NULL , +CONSTRAINT COMTNNEWSINFO_PK PRIMARY KEY (NEWS_ID), +CONSTRAINT COMTNNEWSINFO_FK1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNNEWSINFO_i01 ON COMTNNEWSINFO +(ATCH_FILE_ID ASC); + + + +CREATE TABLE COMTNCNSLTLIST +( + CNSLT_ID CHAR(20) NOT NULL , + CNSLT_SJ VARCHAR2(255) NULL , + OTHBC_AT CHAR(1) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + CNSLT_CN VARCHAR2(2500) NULL , + MANAGT_CN VARCHAR2(2500) NULL , + MANAGT_DE CHAR(20) NULL , + RDCNT NUMBER(10) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + AREA_NO VARCHAR2(4) NULL , + MIDDLE_TELNO VARCHAR2(4) NULL , + END_TELNO VARCHAR2(4) NULL , + FRST_MBTLNUM VARCHAR2(4) NULL , + MIDDLE_MBTLNUM VARCHAR2(4) NULL , + END_MBTLNUM VARCHAR2(4) NULL , + WRITNG_DE CHAR(20) NULL , + WRTER_NM VARCHAR2(20) NULL , + EMAIL_ANSWER_AT CHAR(1) NULL , + QNA_PROCESS_STTUS_CODE CHAR(1) NULL , + WRITNG_PASSWORD VARCHAR2(20) NULL , +CONSTRAINT COMTNCNSLTLIST_PK PRIMARY KEY (CNSLT_ID) +); + + + +CREATE TABLE COMTNMENUINFO +( + MENU_NM VARCHAR2(60) NOT NULL , + PROGRM_FILE_NM VARCHAR2(60) NOT NULL , + MENU_NO NUMBER(20) NOT NULL , + UPPER_MENU_NO NUMBER(20) NULL , + MENU_ORDR NUMBER(5) NOT NULL , + MENU_DC VARCHAR2(250) NULL , + RELATE_IMAGE_PATH VARCHAR2(100) NULL , + RELATE_IMAGE_NM VARCHAR2(60) NULL , +CONSTRAINT COMTNMENUINFO_PK PRIMARY KEY (MENU_NO), +CONSTRAINT COMTNMENUINFO_FK2 FOREIGN KEY (PROGRM_FILE_NM) REFERENCES COMTNPROGRMLIST(PROGRM_FILE_NM) ON DELETE CASCADE, +CONSTRAINT COMTNMENUINFO_FK1 FOREIGN KEY (UPPER_MENU_NO) REFERENCES COMTNMENUINFO(MENU_NO) ON DELETE CASCADE +); + + + + + + +CREATE INDEX COMTNMENUINFO_i02 ON COMTNMENUINFO +(UPPER_MENU_NO ASC); + + + +CREATE TABLE COMTNSITEMAP +( + MAPNG_CREAT_ID VARCHAR2(30) NOT NULL , + CREATR_ID VARCHAR2(20) NOT NULL , + MAPNG_FILE_NM VARCHAR2(60) NOT NULL , + MAPNG_FILE_PATH VARCHAR2(100) NOT NULL , +CONSTRAINT COMTNSITEMAP_PK PRIMARY KEY (MAPNG_CREAT_ID) +); + + + +CREATE TABLE COMTNMENUCREATDTLS +( + MENU_NO NUMBER(20) NOT NULL , + AUTHOR_CODE VARCHAR2(30) NOT NULL , + MAPNG_CREAT_ID VARCHAR2(30) NULL , +CONSTRAINT COMTNMENUCREATDTLS_PK PRIMARY KEY (MENU_NO,AUTHOR_CODE), +CONSTRAINT COMTNMENUCREATDTLS_FK2 FOREIGN KEY (MENU_NO) REFERENCES COMTNMENUINFO(MENU_NO) ON DELETE CASCADE, +CONSTRAINT COMTNMENUCREATDTLS_FK3 FOREIGN KEY (MAPNG_CREAT_ID) REFERENCES COMTNSITEMAP(MAPNG_CREAT_ID) ON DELETE CASCADE, +CONSTRAINT COMTNMENUCREATDTLS_FK1 FOREIGN KEY (AUTHOR_CODE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) +); + + + +CREATE INDEX COMTNMENUCREATDTLS_i02 ON COMTNMENUCREATDTLS +(MENU_NO ASC); + + + +CREATE INDEX COMTNMENUCREATDTLS_i03 ON COMTNMENUCREATDTLS +(MAPNG_CREAT_ID ASC); + + + +CREATE INDEX COMTNMENUCREATDTLS_i04 ON COMTNMENUCREATDTLS +(AUTHOR_CODE ASC); + + + +CREATE TABLE COMTHEMPLYRINFOCHANGEDTLS +( + EMPLYR_ID VARCHAR2(20) NOT NULL , + CHANGE_DE CHAR(20) NULL , + ORGNZT_ID CHAR(20) NULL , + GROUP_ID CHAR(20) NULL , + EMPL_NO VARCHAR2(20) NULL , + SEXDSTN_CODE CHAR(1) NULL , + BRTHDY CHAR(20) NULL , + FXNUM VARCHAR2(20) NULL , + HOUSE_ADRES VARCHAR2(100) NULL , + HOUSE_END_TELNO VARCHAR2(4) NULL , + AREA_NO VARCHAR2(4) NULL , + DETAIL_ADRES VARCHAR2(100) NULL , + ZIP VARCHAR2(6) NULL , + OFFM_TELNO VARCHAR2(20) NULL , + MBTLNUM VARCHAR2(20) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + HOUSE_MIDDLE_TELNO VARCHAR2(4) NULL , + PSTINST_CODE CHAR(8) NULL , + EMPLYR_STTUS_CODE CHAR(1) NULL , + ESNTL_ID CHAR(20) NULL , +CONSTRAINT COMTHEMPLYRINFOCHANGEDTLS_PK PRIMARY KEY (EMPLYR_ID,CHANGE_DE), +CONSTRAINT COMTHEMPLYRINFOCHANGEDTLS_FK1 FOREIGN KEY (EMPLYR_ID) REFERENCES COMTNEMPLYRINFO(EMPLYR_ID) +); + + + +CREATE INDEX COMTHEMPLYRINFOCHANGEDTLS_i01 ON COMTHEMPLYRINFOCHANGEDTLS +(EMPLYR_ID ASC); + + + +CREATE TABLE COMTNNTFCINFO +( + NTCN_NO NUMBER(20) NOT NULL , + NTCN_SJ VARCHAR2(60) NOT NULL , + NTCN_CN VARCHAR2(100) NOT NULL , + NTCN_TM VARCHAR2(14) NOT NULL , + BH_NTCN_INTRVL VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNNTFCINFO_PK PRIMARY KEY (NTCN_NO) +); + + + +CREATE TABLE COMTNCNTCSYSTEM +( + INSTT_ID VARCHAR2(20) NOT NULL , + SYS_ID VARCHAR2(20) NOT NULL , + SYS_NM VARCHAR2(255) NULL , + SYS_IP VARCHAR2(23) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCSYSTEM_PK PRIMARY KEY (INSTT_ID,SYS_ID) +); + + + +CREATE TABLE COMTNBBSMASTEROPTN +( + BBS_ID CHAR(20) NOT NULL , + ANSWER_AT CHAR(1) NOT NULL , + STSFDG_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNBBSMASTEROPTN_PK PRIMARY KEY (BBS_ID) +); + + + +CREATE TABLE COMTNANSWER +( + NTT_ID NUMBER(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + WRTER_ID VARCHAR2(20) NULL , + ANSWER VARCHAR2(200) NULL , + USE_AT CHAR(1) NOT NULL , + WRTER_NM VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + ANSWER_NO NUMBER(20) NOT NULL , +CONSTRAINT COMTNANSWER_PK PRIMARY KEY (NTT_ID,BBS_ID,ANSWER_NO), +CONSTRAINT COMTNANSWER_FK1 FOREIGN KEY (BBS_ID) REFERENCES COMTNBBSMASTEROPTN(BBS_ID) +); + + + +CREATE TABLE COMTNTRSMRCVLOG +( + REQUST_ID VARCHAR2(20) NOT NULL , + OCCRRNC_DE CHAR(20) NULL , + TRSMRCV_SE_CODE CHAR(3) NULL , + CNTC_ID CHAR(8) NULL , + PROVD_INSTT_ID CHAR(8) NULL , + PROVD_SYS_ID CHAR(8) NULL , + PROVD_SVC_ID CHAR(8) NULL , + REQUST_INSTT_ID CHAR(8) NULL , + REQUST_SYS_ID CHAR(8) NULL , + REQUST_TRNSMIT_TM VARCHAR2(14) NULL , + REQUST_RECPTN_TM VARCHAR2(14) NULL , + RSPNS_TRNSMIT_TM VARCHAR2(14) NULL , + RSPNS_RECPTN_TM VARCHAR2(14) NULL , + RESULT_CODE VARCHAR2(4) NULL , + RESULT_MSSAGE VARCHAR2(4000) NULL , + FRST_REGIST_PNTTM DATE NULL , + RQESTER_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNTRSMRCVLOG_PK PRIMARY KEY (REQUST_ID) +); + + + +CREATE TABLE COMTNDAMCALRES +( + ORGNZT_ID CHAR(20) NULL , + EXPERT_ID CHAR(20) NULL , + KNWLDG_TY_CODE VARCHAR2(3) NULL , + EMPLYR_ID VARCHAR2(20) NULL , + KNWLDG_NM VARCHAR2(60) NULL , + KNWLDG_CN VARCHAR2(2500) NULL , + ATCH_FILE_ID CHAR(20) NULL , + PARNTS_KNWLDG_ID CHAR(20) NULL , + ANSWER_DP NUMBER(20) NULL , + ANSWER_ORDR NUMBER(20) NULL , + ANSWER_GROUP_NO NUMBER(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + KNWLDG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNDAMCALRES_PK PRIMARY KEY (KNWLDG_ID) +); + + + +CREATE TABLE COMTNBACKUPRESULT +( + BACKUP_RESULT_ID VARCHAR2(20) NOT NULL , + BACKUP_OPERT_ID VARCHAR2(20) NOT NULL , + BACKUP_FILE VARCHAR2(255) NULL , + STTUS VARCHAR2(2) NULL , + ERROR_INFO VARCHAR2(2000) NULL , + EXECUT_BEGIN_TM VARCHAR2(14) NULL , + EXECUT_END_TM VARCHAR2(14) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNBACKUPRESULT_PK PRIMARY KEY (BACKUP_RESULT_ID) +); + + + +CREATE TABLE COMTHTRSMRCVMNTRNGLOGINFO +( + LOG_ID CHAR(20) NOT NULL , + CNTC_ID CHAR(8) NOT NULL , + TEST_CLASS_NM VARCHAR2(255) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR2(2000) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTHTRSMRCVMNTRNGLOGINFO_PK PRIMARY KEY (LOG_ID) +); + + + +CREATE TABLE COMTNSCRAP +( + SCRAP_ID CHAR(20) NOT NULL , + NTT_ID NUMBER(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + SCRAP_NM VARCHAR2(100) NOT NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNSCRAP_PK PRIMARY KEY (SCRAP_ID) +); + + + +CREATE TABLE COMTNCNTCINSTT +( + INSTT_ID VARCHAR2(20) NOT NULL , + INSTT_NM VARCHAR2(100) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDT_PNTTM DATE NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCINSTT_PK PRIMARY KEY (INSTT_ID) +); + + + +CREATE TABLE COMTHSYSHIST +( + HIST_ID CHAR(20) NOT NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + HIST_SE_CODE CHAR(6) NOT NULL , + HIST_CN VARCHAR2(2500) NOT NULL , + SYS_NM VARCHAR2(255) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , +CONSTRAINT COMTHSYSHIST_PK PRIMARY KEY (HIST_ID) +); + + + +CREATE TABLE COMTNHTTPMON +( + SYS_ID VARCHAR2(20) NOT NULL , + SITE_URL VARCHAR2(100) NULL , + WEBSVC_KND VARCHAR2(10) NULL , + HTTP_STTUS_CODE VARCHAR2(3) NULL , + CREAT_DT DATE NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNHTTPMON_PK PRIMARY KEY (SYS_ID) +); + + + +CREATE TABLE COMTHHTTPMONLOGINFO +( + SYS_ID VARCHAR2(20) NOT NULL , + SITE_URL VARCHAR2(100) NULL , + WEBSVC_KND VARCHAR2(10) NULL , + HTTP_STTUS_CODE VARCHAR2(3) NULL , + CREAT_DT DATE NULL , + LOG_INFO VARCHAR2(2000) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTHHTTPMONLOGINFO_PK PRIMARY KEY (SYS_ID,LOG_ID), +CONSTRAINT COMTHHTTPMONLOGINFO_FK2 FOREIGN KEY (SYS_ID) REFERENCES COMTNHTTPMON(SYS_ID) +); + + + +CREATE TABLE COMTHDBMNTRNGLOGINFO +( + DATA_SOURC_NM VARCHAR2(60) NOT NULL , + SERVER_NM VARCHAR2(60) NULL , + DBMS_KND VARCHAR2(2) NULL , + CECK_SQL VARCHAR2(250) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR2(2000) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTHDBMNTRNGLOGINFO_PK PRIMARY KEY (LOG_ID) +); + + + +CREATE TABLE COMTHCONFMHISTORY +( + CONFM_NO NUMBER(8) NOT NULL , + CONFM_RQESTER_ID VARCHAR2(20) NOT NULL , + CONFMER_ID VARCHAR2(20) NULL , + CONFM_DE CHAR(20) NULL , + CONFM_TY_CODE CHAR(4) NOT NULL , + CONFM_STTUS_CODE CHAR(4) NOT NULL , + OPERT_TY_CODE CHAR(4) NULL , + OPERT_ID VARCHAR2(20) NULL , + TRGET_JOB_TY_CODE CHAR(3) NULL , + TRGET_JOB_ID CHAR(20) NULL , +CONSTRAINT COMTHCONFMHISTORY_PK PRIMARY KEY (CONFM_NO) +); + + + +CREATE TABLE COMTNDAMMAPTEAM +( + ORGNZT_ID CHAR(20) NOT NULL , + ORGNZT_NM VARCHAR2(20) NULL , + CL_DE CHAR(20) NULL , + KNWLDG_URL VARCHAR2(255) NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNDAMMAPTEAM_PK PRIMARY KEY (ORGNZT_ID) +); + + + +CREATE TABLE COMTNTMPLATINFO +( + TMPLAT_ID CHAR(20) NOT NULL , + TMPLAT_NM VARCHAR2(255) NULL , + TMPLAT_COURS VARCHAR2(2000) NULL , + USE_AT CHAR(1) NULL , + TMPLAT_SE_CODE CHAR(6) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNTMPLATINFO_PK PRIMARY KEY (TMPLAT_ID) +); + + + +CREATE TABLE COMTNINDVDLPGECNTNTS +( + CNTNTS_ID VARCHAR2(20) NOT NULL , + CNTNTS_NM VARCHAR2(100) NOT NULL , + CNTC_URL VARCHAR2(255) NOT NULL , + CNTNTS_USE_AT CHAR(1) NOT NULL , + CNTNTS_LINK_URL VARCHAR2(1000) NULL , + CNTNTS_DC VARCHAR2(250) NULL , +CONSTRAINT COMTNINDVDLPGECNTNTS_PK PRIMARY KEY (CNTNTS_ID) +); + + + +CREATE TABLE COMTNINDVDLPGEESTBS +( + EMPLYR_ID VARCHAR2(20) NOT NULL , + UPEND_IMAGE VARCHAR2(1024) NULL , + TITLEBAR_COLOR CHAR(7) NULL , + ALGN_MTHD CHAR(1) NULL , + ALGN_CO NUMBER(10) NULL , +CONSTRAINT COMTNINDVDLPGEESTBS_PK PRIMARY KEY (EMPLYR_ID) +); + + + +CREATE TABLE COMTNCNTNTSLIST +( + CNTNTS_ID VARCHAR2(20) NOT NULL , + EMPLYR_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNCNTNTSLIST_PK PRIMARY KEY (CNTNTS_ID,EMPLYR_ID), +CONSTRAINT COMTNCNTNTSLIST_FK1 FOREIGN KEY (CNTNTS_ID) REFERENCES COMTNINDVDLPGECNTNTS(CNTNTS_ID), +CONSTRAINT COMTNCNTNTSLIST_FK2 FOREIGN KEY (EMPLYR_ID) REFERENCES COMTNINDVDLPGEESTBS(EMPLYR_ID) +); + + + +CREATE INDEX COMTNCNTNTSLIST_i01 ON COMTNCNTNTSLIST +(CNTNTS_ID ASC); + + + +CREATE INDEX COMTNCNTNTSLIST_i02 ON COMTNCNTNTSLIST +(EMPLYR_ID ASC); + + + +CREATE TABLE COMTNCNTCMESSAGE +( + CNTC_MSSAGE_ID VARCHAR2(20) NOT NULL , + CNTC_MSSAGE_NM VARCHAR2(100) NULL , + UPPER_CNTC_MSSAGE_ID VARCHAR2(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCMESSAGE_PK PRIMARY KEY (CNTC_MSSAGE_ID) +); + + + +CREATE TABLE COMTNCNTCMESSAGEITEM +( + CNTC_MSSAGE_ID VARCHAR2(20) NOT NULL , + IEM_ID VARCHAR2(20) NOT NULL , + IEM_NM VARCHAR2(100) NULL , + IEM_TY VARCHAR2(50) NULL , + IEM_LT NUMBER(8) NULL , + USE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNCNTCMESSAGEITEM_PK PRIMARY KEY (CNTC_MSSAGE_ID,IEM_ID), +CONSTRAINT COMTNCNTCMESSAGEITEM_FK1 FOREIGN KEY (CNTC_MSSAGE_ID) REFERENCES COMTNCNTCMESSAGE(CNTC_MSSAGE_ID) +); + + + +CREATE INDEX COMTNCNTCMESSAGEITEM_i01 ON COMTNCNTCMESSAGEITEM +(CNTC_MSSAGE_ID ASC); + + + +CREATE TABLE COMTNBKMKMENUMANAGERESULT +( + MENU_ID NUMBER(20) NOT NULL , + EMPLYR_ID VARCHAR2(20) NOT NULL , + MENU_NM VARCHAR2(60) NOT NULL , + PROGRM_STRE_PATH VARCHAR2(100) NOT NULL , +CONSTRAINT COMTNBKMKMENUMANAGERESULT_PK PRIMARY KEY (MENU_ID,EMPLYR_ID) +); + + + +CREATE TABLE COMTNSYSTEMCNTC +( + CNTC_ID CHAR(8) NOT NULL , + CNTC_NM VARCHAR2(100) NULL , + PROVD_INSTT_ID CHAR(8) NULL , + PROVD_SYS_ID CHAR(8) NULL , + PROVD_SVC_ID CHAR(8) NULL , + REQUST_INSTT_ID CHAR(8) NULL , + REQUST_SYS_ID CHAR(8) NULL , + CONFM_AT CHAR(1) NULL , + USE_AT CHAR(1) NULL , + VALID_BGNDE CHAR(20) NULL , + VALID_ENDDE CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + CNTC_TY VARCHAR2(60) NULL , +CONSTRAINT COMTNSYSTEMCNTC_PK PRIMARY KEY (CNTC_ID) +); + + + +CREATE TABLE COMTNINDVDLINFOPOLICY +( + INDVDL_INFO_POLICY_ID CHAR(20) NOT NULL , + INDVDL_INFO_POLICY_CN VARCHAR2(2500) NULL , + INDVDL_INFO_POLICY_AGRE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + INDVDL_INFO_POLICY_NM VARCHAR2(255) NULL , +CONSTRAINT COMTNINDVDLINFOPOLICY_PK PRIMARY KEY (INDVDL_INFO_POLICY_ID) +); + + + +CREATE TABLE COMTNBNDTMANAGE +( + BNDT_ID VARCHAR2(20) NOT NULL , + BNDT_DE CHAR(8) NOT NULL , + RM VARCHAR2(2500) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNBNDTMANAGE_PK PRIMARY KEY (BNDT_ID,BNDT_DE) +); + + + +CREATE TABLE COMTNBNDTCECKMANAGE +( + BNDT_CECK_SE CHAR(2) NOT NULL , + BNDT_CECK_CODE VARCHAR2(10) NOT NULL , + BNDT_CECK_CODE_NM VARCHAR2(255) NOT NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNBNDTCECKMANAGE_PK PRIMARY KEY (BNDT_CECK_CODE,BNDT_CECK_SE) +); + + + +CREATE TABLE COMTNBNDTDIARY +( + BNDT_ID VARCHAR2(20) NOT NULL , + BNDT_DE CHAR(8) NOT NULL , + BNDT_CECK_SE CHAR(2) NOT NULL , + BNDT_CECK_CODE VARCHAR2(10) NOT NULL , + CHCK_STTUS VARCHAR2(1000) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNBNDTDIARY_PK PRIMARY KEY (BNDT_ID,BNDT_DE,BNDT_CECK_SE,BNDT_CECK_CODE), +CONSTRAINT COMTNBNDTDIARY_FK2 FOREIGN KEY (BNDT_ID,BNDT_DE) REFERENCES COMTNBNDTMANAGE(BNDT_ID,BNDT_DE), +CONSTRAINT COMTNBNDTDIARY_FK1 FOREIGN KEY (BNDT_CECK_CODE,BNDT_CECK_SE) REFERENCES COMTNBNDTCECKMANAGE(BNDT_CECK_CODE,BNDT_CECK_SE) +); + + + +CREATE TABLE COMTNBATCHRESULT +( + BATCH_RESULT_ID VARCHAR2(20) NOT NULL , + BATCH_SCHDUL_ID VARCHAR2(20) NOT NULL , + BATCH_OPERT_ID VARCHAR2(20) NOT NULL , + PARAMTR VARCHAR2(250) NULL , + STTUS VARCHAR2(2) NULL , + ERROR_INFO VARCHAR2(2000) NULL , + EXECUT_BEGIN_TM VARCHAR2(14) NULL , + EXECUT_END_TM VARCHAR2(14) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNBATCHRESULT_PK PRIMARY KEY (BATCH_RESULT_ID) +); + + + +CREATE TABLE COMTNSTSFDG +( + STSFDG_NO NUMBER(20) NOT NULL , + NTT_ID NUMBER(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + WRTER_ID VARCHAR2(20) NULL , + WRTER_NM VARCHAR2(20) NULL , + PASSWORD VARCHAR2(200) NULL , + STSFDG NUMBER(1) NOT NULL , + STSFDG_CN VARCHAR2(200) NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNSTSFDG_PK PRIMARY KEY (STSFDG_NO) +); + + + +CREATE TABLE COMTNBATCHOPERT +( + BATCH_OPERT_ID VARCHAR2(20) NOT NULL , + BATCH_OPERT_NM VARCHAR2(60) NULL , + BATCH_PROGRM VARCHAR2(255) NULL , + PARAMTR VARCHAR2(250) NULL , + USE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNBATCHOPERT_PK PRIMARY KEY (BATCH_OPERT_ID) +); + + + +CREATE TABLE COMTNFILESYSMNTRNG +( + FILE_SYS_ID CHAR(20) NOT NULL , + FILE_SYS_NM VARCHAR2(60) NOT NULL , + FILE_SYS_MANAGE_NM VARCHAR2(255) NOT NULL , + FILE_SYS_SIZE NUMBER(8) NOT NULL , + FILE_SYS_THRHLD NUMBER(8) NOT NULL , + FILE_SYS_USGQTY NUMBER(8) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNFILESYSMNTRNG_PK PRIMARY KEY (FILE_SYS_ID) +); + + + +CREATE TABLE COMTNFILESYSMNTRNGLOGINFO +( + FILE_SYS_ID CHAR(20) NOT NULL , + FILE_SYS_NM VARCHAR2(60) NOT NULL , + FILE_SYS_MANAGE_NM VARCHAR2(255) NOT NULL , + FILE_SYS_SIZE NUMBER(8) NOT NULL , + FILE_SYS_THRHLD NUMBER(8) NOT NULL , + FILE_SYS_USGQTY NUMBER(8) NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR2(2000) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNFILESYSMNTRNGLOGINFO_PK PRIMARY KEY (FILE_SYS_ID,LOG_ID), +CONSTRAINT COMTNFILESYSMNTRNGLOGINFO_FK2 FOREIGN KEY (FILE_SYS_ID) REFERENCES COMTNFILESYSMNTRNG(FILE_SYS_ID) +); + + + +CREATE TABLE COMTNBATCHSCHDUL +( + BATCH_SCHDUL_ID VARCHAR2(20) NOT NULL , + BATCH_OPERT_ID VARCHAR2(20) NOT NULL , + EXECUT_CYCLE VARCHAR2(2) NULL , + EXECUT_SCHDUL_DE CHAR(20) NULL , + EXECUT_SCHDUL_HOUR CHAR(2) NULL , + EXECUT_SCHDUL_MNT CHAR(2) NULL , + EXECUT_SCHDUL_SECND CHAR(2) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNBATCHSCHDUL_PK PRIMARY KEY (BATCH_SCHDUL_ID) +); + + + +CREATE TABLE COMTNBATCHSCHDULDFK +( + BATCH_SCHDUL_ID VARCHAR2(20) NOT NULL , + EXECUT_SCHDUL_DFK_SE CHAR(1) NOT NULL , +CONSTRAINT COMTNBATCHSCHDULDFK_PK PRIMARY KEY (BATCH_SCHDUL_ID,EXECUT_SCHDUL_DFK_SE), +CONSTRAINT COMTNBATCHSCHDULDFK_FK1 FOREIGN KEY (BATCH_SCHDUL_ID) REFERENCES COMTNBATCHSCHDUL(BATCH_SCHDUL_ID) +); + + + +CREATE TABLE COMTNCTSNNMANAGE +( + CTSNN_ID VARCHAR2(20) NOT NULL , + USER_ID VARCHAR2(20) NOT NULL , + CTSNN_CODE CHAR(2) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + CTSNN_NM VARCHAR2(255) NOT NULL , + TRGTER_NM VARCHAR2(20) NOT NULL , + BRTHDY CHAR(20) NOT NULL , + OCCRRNC_DE CHAR(20) NOT NULL , + RELATE CHAR(2) NOT NULL , + RM VARCHAR2(2500) NULL , + SANCTNER_ID VARCHAR2(20) NOT NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATE NULL , + RETURN_RESN VARCHAR2(1000) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNCTSNNMANAGE_PK PRIMARY KEY (CTSNN_ID) +); + + + +CREATE TABLE COMTCADMINISTCODERECPTNLOG +( + OCCRRNC_DE CHAR(20) NOT NULL , + ADMINIST_ZONE_SE CHAR(1) NOT NULL , + ADMINIST_ZONE_CODE VARCHAR2(10) NOT NULL , + OPERT_SN NUMBER(10) NOT NULL , + CHANGE_SE_CODE VARCHAR2(2) NULL , + PROCESS_SE VARCHAR2(2) NULL , + ADMINIST_ZONE_NM VARCHAR2(60) NULL , + LOWEST_ADMINIST_ZONE_NM VARCHAR2(60) NULL , + CTPRVN_CODE VARCHAR2(2) NULL , + SIGNGU_CODE VARCHAR2(3) NULL , + EMD_CODE VARCHAR2(3) NULL , + LI_CODE VARCHAR2(2) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + ABL_ENNC CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTCADMINISTCODERECPTNLOG_PK PRIMARY KEY (OCCRRNC_DE,ADMINIST_ZONE_SE,ADMINIST_ZONE_CODE,OPERT_SN) +); + + + +CREATE TABLE COMTNTROBLINFO +( + TROBL_ID CHAR(20) NOT NULL , + TROBL_NM VARCHAR2(60) NULL , + TROBL_KND CHAR(2) NULL , + TROBL_DC VARCHAR2(2000) NULL , + TROBL_OCCRRNC_TIME VARCHAR2(14) NULL , + TROBL_RQESTER_NM VARCHAR2(60) NULL , + TROBL_REQUST_TIME VARCHAR2(14) NULL , + TROBL_PROCESS_RESULT VARCHAR2(2000) NULL , + TROBL_OPETR_NM VARCHAR2(60) NULL , + TROBL_PROCESS_TIME VARCHAR2(14) NULL , + PROCESS_STTUS CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNTROBLINFO_PK PRIMARY KEY (TROBL_ID) +); + + + +CREATE TABLE COMTNDAMKNOIFM +( + KNWLDG_ID CHAR(20) NOT NULL , + KNWLDG_TY_CODE VARCHAR2(3) NULL , + ORGNZT_ID CHAR(20) NULL , + EXPERT_ID CHAR(20) NULL , + EMPLYR_ID VARCHAR2(20) NULL , + KNWLDG_NM VARCHAR2(60) NULL , + KNWLDG_CN VARCHAR2(2500) NULL , + KWRD VARCHAR2(100) NULL , + OTHBC_AT CHAR(1) NULL , + KNWLDG_EVL CHAR(1) NULL , + COLCT_DE CHAR(20) NULL , + EVL_DE CHAR(20) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + DSUSE_DE CHAR(20) NULL , +CONSTRAINT COMTNDAMKNOIFM_PK PRIMARY KEY (KNWLDG_ID) +); + + + +CREATE TABLE COMTNDAMMAPKNO +( + KNWLDG_TY_CODE VARCHAR2(3) NOT NULL , + ORGNZT_ID CHAR(20) NULL , + EXPERT_ID CHAR(20) NULL , + KNWLDG_TY_NM VARCHAR2(60) NULL , + CL_DE CHAR(20) NULL , + KNWLDG_URL VARCHAR2(255) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNDAMMAPKNO_PK PRIMARY KEY (KNWLDG_TY_CODE) +); + + + +CREATE TABLE COMTNDAMPRO +( + EXPERT_ID CHAR(20) NOT NULL , + KNWLDG_TY_CODE VARCHAR2(3) NOT NULL , + EXPERT_GRAD CHAR(1) NOT NULL , + EXPERT_CONFM_DE CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + EXPERT_DC VARCHAR2(2000) NULL , +CONSTRAINT COMTNDAMPRO_PK PRIMARY KEY (EXPERT_ID,KNWLDG_TY_CODE,EXPERT_GRAD), +CONSTRAINT COMTNDAMPRO_FK1 FOREIGN KEY (KNWLDG_TY_CODE) REFERENCES COMTNDAMMAPKNO(KNWLDG_TY_CODE) +); + + + +CREATE TABLE COMTNINFRMLSANCTN +( + INFRML_SANCTN_ID CHAR(20) NOT NULL , + JOB_SE_CODE CHAR(3) NOT NULL , + APPLCNT_ID VARCHAR2(20) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + SANCTNER_ID VARCHAR2(20) NOT NULL , + CONFM_AT CHAR(1) NOT NULL , + SANCTN_DT DATE NULL , + RETURN_RESN VARCHAR2(1000) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNINFRMLSANCTN_PK PRIMARY KEY (INFRML_SANCTN_ID) +); + + + +CREATE TABLE COMTNDBMNTRNG +( + DATA_SOURC_NM VARCHAR2(60) NOT NULL , + SERVER_NM VARCHAR2(60) NULL , + DBMS_KND VARCHAR2(2) NULL , + CECK_SQL VARCHAR2(250) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNDBMNTRNG_PK PRIMARY KEY (DATA_SOURC_NM) +); + + + +CREATE TABLE COMTNTRSMRCVMNTRNG +( + CNTC_ID CHAR(8) NOT NULL , + TEST_CLASS_NM VARCHAR2(255) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNTRSMRCVMNTRNG_PK PRIMARY KEY (CNTC_ID) +); + + + +CREATE TABLE COMTNDEPTJOB +( + DEPT_JOB_ID CHAR(20) NOT NULL , + DEPT_JOBBX_ID CHAR(6) NOT NULL , + DEPT_JOB_NM VARCHAR2(255) NOT NULL , + DEPT_JOB_CN VARCHAR2(2500) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , + CHARGER_ID VARCHAR2(20) NOT NULL , + PRIORT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNDEPTJOB_PK PRIMARY KEY (DEPT_JOB_ID) +); + + + +CREATE TABLE COMTNLEADERSCHDUL +( + SCHDUL_ID CHAR(20) NOT NULL , + SCHDUL_SE CHAR(1) NULL , + SCHDUL_NM VARCHAR2(255) NOT NULL , + SCHDUL_CN VARCHAR2(2500) NOT NULL , + SCHDUL_PLACE VARCHAR2(255) NULL , + LEADER_ID VARCHAR2(20) NOT NULL , + REPTIT_SE_CODE CHAR(1) NULL , + SCHDUL_BGNDE CHAR(20) NULL , + SCHDUL_ENDDE CHAR(20) NULL , + SCHDUL_CHARGER_ID VARCHAR2(20) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNLEADERSCHDUL_PK PRIMARY KEY (SCHDUL_ID) +); + + + +CREATE TABLE COMTNLEADERSCHDULDE +( + SCHDUL_ID CHAR(20) NOT NULL , + SCHDUL_DE CHAR(8) NOT NULL , +CONSTRAINT COMTNLEADERSCHDULDE_PK PRIMARY KEY (SCHDUL_ID,SCHDUL_DE), +CONSTRAINT COMTNLEADERSCHDULDE_FK1 FOREIGN KEY (SCHDUL_ID) REFERENCES COMTNLEADERSCHDUL(SCHDUL_ID) +); + +CREATE TABLE COMTNLEADERSTTUS +( + LEADER_ID VARCHAR2(20) NOT NULL , + LEADER_STTUS CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNLEADERSTTUS_PK PRIMARY KEY (LEADER_ID) +); + + + +CREATE TABLE COMTNDEPTJOBBX +( + DEPT_JOBBX_ID CHAR(6) NOT NULL , + DEPT_JOBBX_NM VARCHAR2(255) NOT NULL , + DEPT_ID VARCHAR2(20) NOT NULL , + INDICT_ORDR NUMBER(6) NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNDEPTJOBBX_PK PRIMARY KEY (DEPT_JOBBX_ID) +); + + + +CREATE TABLE COMTNDTAUSESTATS +( + DTA_USE_STATS_ID CHAR(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + NTT_ID NUMBER(20) NOT NULL , + ATCH_FILE_ID CHAR(20) NOT NULL , + FILE_SN NUMBER(10) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNDTAUSESTATS_PK PRIMARY KEY (DTA_USE_STATS_ID) +); + + + +CREATE TABLE COMTNINSTTCODE +( + INSTT_CODE CHAR(7) NOT NULL , + ALL_INSTT_NM VARCHAR2(255) NULL , + LOWEST_INSTT_NM VARCHAR2(100) NULL , + INSTT_ABRV_NM VARCHAR2(50) NULL , + ODR CHAR(1) NULL , + ORD CHAR(3) NULL , + INSTT_ODR CHAR(2) NULL , + UPPER_INSTT_CODE CHAR(7) NULL , + BEST_INSTT_CODE CHAR(7) NULL , + REPRSNT_INSTT_CODE CHAR(7) NULL , + INSTT_TY_LCLAS CHAR(2) NULL , + INSTT_TY_MLSFC CHAR(2) NULL , + INSTT_TY_SCLAS CHAR(2) NULL , + TELNO VARCHAR2(20) NULL , + FXNUM VARCHAR2(20) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + ABL_ENNC CHAR(1) NULL , + CHANGE_DE CHAR(20) NULL , + CHANGE_TIME VARCHAR2(6) NULL , + BSIS_DE CHAR(20) NULL , + SORT_ORDR NUMBER(8) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNINSTTCODE_PK PRIMARY KEY (INSTT_CODE) +); + + + +CREATE TABLE COMTNINSTTCODERECPTNLOG +( + OCCRRNC_DE CHAR(20) NOT NULL , + INSTT_CODE CHAR(7) NOT NULL , + OPERT_SN NUMBER(10) NOT NULL , + CHANGE_SE_CODE VARCHAR2(2) NULL , + PROCESS_SE VARCHAR2(2) NULL , + ETC_CODE CHAR(2) NULL , + ALL_INSTT_NM VARCHAR2(255) NULL , + LOWEST_INSTT_NM VARCHAR2(100) NULL , + INSTT_ABRV_NM VARCHAR2(50) NULL , + ODR CHAR(1) NULL , + ORD CHAR(3) NULL , + INSTT_ODR CHAR(2) NULL , + UPPER_INSTT_CODE CHAR(7) NULL , + BEST_INSTT_CODE CHAR(7) NULL , + REPRSNT_INSTT_CODE CHAR(7) NULL , + INSTT_TY_LCLAS CHAR(2) NULL , + INSTT_TY_MLSFC CHAR(2) NULL , + INSTT_TY_SCLAS CHAR(2) NULL , + TELNO VARCHAR2(20) NULL , + FXNUM VARCHAR2(20) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + ABL_ENNC CHAR(1) NULL , + CHANGE_DE CHAR(20) NULL , + CHANGE_TIME VARCHAR2(6) NULL , + BSIS_DE CHAR(20) NULL , + SORT_ORDR NUMBER(8) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNINSTTCODERECPTNLOG_PK PRIMARY KEY (OCCRRNC_DE,INSTT_CODE,OPERT_SN) +); + + + +CREATE TABLE COMTNINDVDLYRYCMANAGE +( + OCCRRNC_YEAR CHAR(4) NOT NULL , + YRYC_OCCRRNC_CO NUMBER(5,1) NULL , + USE_YRYC_CO NUMBER(5,1) NULL , + REMNDR_YRYC_CO NUMBER(5,1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + USER_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNINDVDLYRYCMANAGE_PK PRIMARY KEY (OCCRRNC_YEAR,USER_ID) +); + + + +CREATE TABLE COMTNNTWRKSVCMNTRNG +( + SYS_IP VARCHAR2(23) NOT NULL , + SYS_PORT NUMBER(5) NOT NULL , + SYS_NM VARCHAR2(255) NOT NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNNTWRKSVCMNTRNG_PK PRIMARY KEY (SYS_IP,SYS_PORT) +); + + + +CREATE TABLE COMTNNTWRKSVCMNTRNGLOGINFO +( + SYS_IP VARCHAR2(23) NOT NULL , + SYS_PORT NUMBER(5) NOT NULL , + SYS_NM VARCHAR2(255) NOT NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR2(2000) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNNTWRKSVCMNTRNGLOGINFO_PK PRIMARY KEY (SYS_IP,SYS_PORT,LOG_ID), +CONSTRAINT COMTNNTWRKSVCMNTRNGLOGINFO_FK2 FOREIGN KEY (SYS_IP,SYS_PORT) REFERENCES COMTNNTWRKSVCMNTRNG(SYS_IP,SYS_PORT) +); + + + +CREATE TABLE COMTNSERVEREQPMNINFO +( + SERVER_EQPMN_ID VARCHAR2(20) NOT NULL , + SERVER_EQPMN_NM VARCHAR2(60) NULL , + SERVER_EQPMN_IP VARCHAR2(23) NULL , + SERVER_EQPMN_MNGR VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + OPERSYSM_INFO VARCHAR2(2000) NULL , + CPU_INFO VARCHAR2(2000) NULL , + MORY_INFO VARCHAR2(2000) NULL , + HDDISK CHAR(18) NULL , + ETC_INFO VARCHAR2(250) NULL , + RGSDE DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNSERVEREQPMNINFO_PK PRIMARY KEY (SERVER_EQPMN_ID) +); + + + +CREATE TABLE COMTNSYNCHRNSERVERINFO +( + SERVER_ID CHAR(20) NOT NULL , + SERVER_NM VARCHAR2(60) NULL , + SERVER_IP VARCHAR2(23) NULL , + SERVER_PORT VARCHAR2(10) NULL , + FTP_ID VARCHAR2(20) NULL , + FTP_PASSWORD VARCHAR2(20) NULL , + SYNCHRN_LC VARCHAR2(255) NULL , + REFLCT_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNSYNCHRNSERVERINFO_PK PRIMARY KEY (SERVER_ID) +); + + + +CREATE TABLE COMTNSERVERINFO +( + SERVER_ID CHAR(20) NOT NULL , + SERVER_NM VARCHAR2(60) NULL , + SERVER_KND CHAR(2) NULL , + RGSDE DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNSERVERINFO_PK PRIMARY KEY (SERVER_ID) +); + + + +CREATE TABLE COMTNSERVEREQPMNRELATE +( + SERVER_EQPMN_ID VARCHAR2(20) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + SERVER_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNSERVEREQPMNRELATE_PK PRIMARY KEY (SERVER_EQPMN_ID,SERVER_ID), +CONSTRAINT COMTNSERVEREQPMNRELATE_FK2 FOREIGN KEY (SERVER_EQPMN_ID) REFERENCES COMTNSERVEREQPMNINFO(SERVER_EQPMN_ID), +CONSTRAINT COMTNSERVEREQPMNRELATE_FK1 FOREIGN KEY (SERVER_ID) REFERENCES COMTNSERVERINFO(SERVER_ID) +); + + + +CREATE TABLE COMTNSERVERRESRCELOGINFO +( + SERVER_EQPMN_ID VARCHAR2(20) NOT NULL , + CPU_USE_RT NUMBER(3) NULL , + MORY_USE_RT NUMBER(3) NULL , + SVC_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR2(2000) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + SERVER_ID CHAR(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNSERVERRESRCELOGINFO_PK PRIMARY KEY (SERVER_EQPMN_ID,SERVER_ID,LOG_ID), +CONSTRAINT COMTNSERVERRESRCELOGINFO_FK1 FOREIGN KEY (SERVER_EQPMN_ID,SERVER_ID) REFERENCES COMTNSERVEREQPMNRELATE(SERVER_EQPMN_ID,SERVER_ID) +); + + + +CREATE TABLE COMTNVCATNMANAGE +( + APPLCNT_ID VARCHAR2(20) NOT NULL , + VCATN_SE CHAR(2) NOT NULL , + BGNDE CHAR(8) NOT NULL , + ENDDE CHAR(8) NOT NULL , + VCATN_RESN VARCHAR2(200) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + OCCRRNC_YEAR CHAR(4) NULL , + SANCTNER_ID VARCHAR2(20) NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATE NULL , + RETURN_RESN VARCHAR2(1000) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + NOON_SE CHAR(1) NULL , +CONSTRAINT COMTNVCATNMANAGE_PK PRIMARY KEY (APPLCNT_ID,VCATN_SE,BGNDE,ENDDE) +); + + + +CREATE TABLE COMTNMEMOTODO +( + TODO_ID CHAR(20) NOT NULL , + TODO_SJ VARCHAR2(255) NOT NULL , + TODO_BEGIN_TIME VARCHAR2(14) NOT NULL , + TODO_END_TIME VARCHAR2(14) NOT NULL , + WRTER_ID VARCHAR2(20) NOT NULL , + TODO_CN VARCHAR2(2500) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNMEMOTODO_PK PRIMARY KEY (TODO_ID) +); + + + +CREATE TABLE COMTNNOTE +( + NOTE_ID CHAR(20) NOT NULL , + NOTE_SJ VARCHAR2(255) NULL , + NOTE_CN VARCHAR2(4000) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNNOTE_PK PRIMARY KEY (NOTE_ID) +); + + + +CREATE TABLE COMTNNOTETRNSMIT +( + NOTE_ID CHAR(20) NOT NULL , + NOTE_TRNSMIT_ID CHAR(20) NOT NULL , + TRNSMITER_ID CHAR(20) NULL , + DELETE_AT CHAR(8) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNNOTETRNSMIT_PK PRIMARY KEY (NOTE_ID,NOTE_TRNSMIT_ID), +CONSTRAINT COMTNNOTETRNSMIT_FK1 FOREIGN KEY (NOTE_ID) REFERENCES COMTNNOTE(NOTE_ID) +); + + + +CREATE INDEX COMTNNOTETRNSMIT_i01 ON COMTNNOTETRNSMIT +(NOTE_ID ASC); + + + +CREATE TABLE COMTNNOTERECPTN +( + NOTE_ID CHAR(20) NOT NULL , + NOTE_TRNSMIT_ID CHAR(20) NOT NULL , + NOTE_RECPTN_ID CHAR(20) NOT NULL , + RCVER_ID CHAR(20) NULL , + OPEN_YN CHAR(1) NULL , + RECPTN_SE CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNNOTERECPTN_PK PRIMARY KEY (NOTE_ID,NOTE_TRNSMIT_ID,NOTE_RECPTN_ID), +CONSTRAINT COMTNNOTERECPTN_FK1 FOREIGN KEY (NOTE_ID,NOTE_TRNSMIT_ID) REFERENCES COMTNNOTETRNSMIT(NOTE_ID,NOTE_TRNSMIT_ID) +); + + + +CREATE INDEX COMTNNOTERECPTN_i01 ON COMTNNOTERECPTN +(NOTE_ID ASC,NOTE_TRNSMIT_ID ASC); + + + +CREATE TABLE COMTNEVENTMANAGE +( + EVENT_ID CHAR(20) NOT NULL , + EVENT_SE VARCHAR2(2) NOT NULL , + EVENT_NM VARCHAR2(60) NOT NULL , + EVENT_PURPS VARCHAR2(200) NOT NULL , + EVENT_BGNDE CHAR(20) NOT NULL , + EVENT_ENDDE CHAR(20) NOT NULL , + EVENT_AUSPC_INSTT_NM VARCHAR2(60) NULL , + EVENT_MNGT_INSTT_NM VARCHAR2(60) NULL , + EVENT_PLACE VARCHAR2(200) NOT NULL , + EVENT_CN VARCHAR2(1000) NULL , + CT_OCCRRNC_AT CHAR(1) NULL , + PARTCPT_CT NUMBER(16) NULL , + PSNCPA NUMBER(10) NOT NULL , + REFRN_URL VARCHAR2(1024) NULL , + RCEPT_BGNDE CHAR(20) NOT NULL , + RCEPT_ENDDE CHAR(20) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNEVENTMANAGE_PK PRIMARY KEY (EVENT_ID) +); + + + +CREATE TABLE COMTNEVENTATDRN +( + APPLCNT_ID VARCHAR2(20) NOT NULL , + EVENT_ID CHAR(20) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + SANCTNER_ID VARCHAR2(20) NOT NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATE NULL , + RETURN_RESN VARCHAR2(1000) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNEVENTATDRN_PK PRIMARY KEY (APPLCNT_ID,EVENT_ID), +CONSTRAINT COMTNEVENTATDRN_FK1 FOREIGN KEY (EVENT_ID) REFERENCES COMTNEVENTMANAGE(EVENT_ID) +); + + + +CREATE INDEX COMTNEVENTATDRN_i01 ON COMTNEVENTATDRN +(EVENT_ID ASC); + + + +CREATE TABLE IMGTEMP +( + ORGNZT_CODE VARCHAR2(10) NOT NULL , + ERNCSL_SE VARCHAR2(2) NOT NULL , + IMAGE_INFO BLOB NOT NULL , + IMAGE_TY VARCHAR2(20) NULL , +CONSTRAINT IMGTEMP_PK PRIMARY KEY (ORGNZT_CODE,ERNCSL_SE) +); + + + +CREATE TABLE IDS +( + IDGEN_TABLE_NM VARCHAR2(20) NOT NULL , + IDGEN_NEXT_ID NUMBER(30) NOT NULL , +CONSTRAINT IDS_PK PRIMARY KEY (IDGEN_TABLE_NM) +); + + + +CREATE TABLE COMTNWIKMNTHNGREPRT +( + REPRT_ID CHAR(6) NOT NULL , + REPRT_SE CHAR(1) NOT NULL , + REPRT_SJ VARCHAR2(255) NOT NULL , + REPORT_DE CHAR(20) NOT NULL , + WRTER_ID VARCHAR2(20) NOT NULL , + REPORTR_ID VARCHAR2(20) NOT NULL , + REPORT_BGNDE CHAR(20) NOT NULL , + REPORT_ENDDE CHAR(20) NOT NULL , + THSWIK_REPORT_CN CLOB NOT NULL , + NEXTWIK_REPORT_CN CLOB NOT NULL , + PARTCLR_MATTER VARCHAR2(2500) NULL , + ATCH_FILE_ID CHAR(20) NULL , + CONFM_DT VARCHAR2(14) NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNWIKMNTHNGREPRT_PK PRIMARY KEY (REPRT_ID) +); + + + +CREATE TABLE COMTNTWITTER +( + USER_ID VARCHAR2(20) NOT NULL , + CNSMR_KEY VARCHAR2(50) NOT NULL , + CNSMR_SECRET VARCHAR2(50) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNTWITTER_PK PRIMARY KEY (USER_ID) +); + + + +CREATE TABLE COMTNWIKIBKMK +( + WIKI_BKMK_ID CHAR(20) NOT NULL , + USER_ID VARCHAR2(20) NOT NULL , + WIKI_BKMK_NM VARCHAR2(1000) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNWIKIBKMK_PK PRIMARY KEY (WIKI_BKMK_ID,USER_ID) +); + + + +CREATE TABLE COMTNRWARDMANAGE +( + RWARD_ID CHAR(20) NOT NULL , + RWARDWNR_ID VARCHAR2(20) NOT NULL , + RWARD_CODE CHAR(2) NOT NULL , + RWARD_DE CHAR(20) NOT NULL , + RWARD_NM VARCHAR2(255) NOT NULL , + PBLEN_CN VARCHAR2(1000) NULL , + SANCTNER_ID VARCHAR2(20) NOT NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATE NULL , + RETURN_RESN VARCHAR2(1000) NULL , + ATCH_FILE_ID CHAR(20) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNRWARDMANAGE_PK PRIMARY KEY (RWARD_ID) +); + + + +CREATE TABLE COMTNRSS +( + RSS_ID CHAR(20) NOT NULL , + TRGET_SVC_NM VARCHAR2(255) NOT NULL , + TRGET_SVC_TABLE VARCHAR2(255) NOT NULL , + TRGET_SVC_LIST_CO NUMBER(5) NOT NULL , + HDER_TITLE VARCHAR2(255) NOT NULL , + HDER_LINK VARCHAR2(255) NOT NULL , + HDER_DC VARCHAR2(4000) NOT NULL , + HDER_TAG VARCHAR2(255) NULL , + HDER_ETC VARCHAR2(250) NULL , + BDT_TITLE VARCHAR2(255) NULL , + BDT_LINK VARCHAR2(255) NULL , + BDT_DC VARCHAR2(4000) NULL , + BDT_TAG VARCHAR2(255) NULL , + BDT_ETC_TAG VARCHAR2(255) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNRSS_PK PRIMARY KEY (RSS_ID) +); + + + +CREATE TABLE COMTNRESTDE +( + RESTDE_NO NUMBER(6) NOT NULL , + RESTDE CHAR(8) NULL , + RESTDE_NM VARCHAR2(60) NULL , + RESTDE_DC VARCHAR2(200) NULL , + RESTDE_SE_CODE VARCHAR2(2) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNRESTDE_PK PRIMARY KEY (RESTDE_NO) +); + + + +CREATE TABLE COMTNPROCESSMON +( + PROCS_ID CHAR(20) NOT NULL , + PROCS_NM VARCHAR2(60) NULL , + PROCS_STTUS VARCHAR2(3) NULL , + CREAT_DT DATE NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNPROCESSMON_PK PRIMARY KEY (PROCS_ID) +); + + + +CREATE TABLE COMTNPROCESSMONLOGINFO +( + PROCS_ID CHAR(20) NOT NULL , + PROCS_NM VARCHAR2(60) NULL , + PROCS_STTUS VARCHAR2(3) NULL , + CREAT_DT DATE NULL , + LOG_INFO VARCHAR2(2000) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNPROCESSMONLOGINFO_PK PRIMARY KEY (PROCS_ID,LOG_ID), +CONSTRAINT COMTNPROCESSMONLOGINFO_FK2 FOREIGN KEY (PROCS_ID) REFERENCES COMTNPROCESSMON(PROCS_ID) +); + + + +CREATE TABLE COMTNNTWRKINFO +( + NTWRK_ID CHAR(20) NOT NULL , + NTWRK_IP VARCHAR2(23) NULL , + GTWY VARCHAR2(23) NULL , + SUBNET VARCHAR2(23) NULL , + DOMN_NM_SERVER VARCHAR2(23) NULL , + MANAGE_IEM CHAR(2) NULL , + USER_NM VARCHAR2(60) NULL , + USE_AT CHAR(1) NULL , + RGSDE DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNNTWRKINFO_PK PRIMARY KEY (NTWRK_ID) +); + + + +CREATE VIEW COMVNUSERMASTER ( ESNTL_ID,USER_ID,PASSWORD,USER_NM,USER_ZIP,USER_ADRES,USER_EMAIL,GROUP_ID, USER_SE, ORGNZT_ID ) +AS SELECT ESNTL_ID, MBER_ID,PASSWORD,MBER_NM,ZIP,ADRES,MBER_EMAIL_ADRES,' ','GNR' AS USER_SE, ' ' ORGNZT_ID + FROM COMTNGNRLMBER + UNION ALL + SELECT ESNTL_ID,EMPLYR_ID,PASSWORD,USER_NM,ZIP,HOUSE_ADRES,EMAIL_ADRES,GROUP_ID ,'USR' AS USER_SE, ORGNZT_ID + FROM COMTNEMPLYRINFO + UNION ALL + SELECT ESNTL_ID,ENTRPRS_MBER_ID,ENTRPRS_MBER_PASSWORD,CMPNY_NM,ZIP,ADRES,APPLCNT_EMAIL_ADRES,' ' ,'ENT' AS USER_SE, ' ' ORGNZT_ID + FROM COMTNENTRPRSMBER ORDER BY ESNTL_ID; + + + +CREATE TABLE COMTNMEMOREPRT +( + REPRT_SJ VARCHAR2(255) NOT NULL , + REPORT_DE CHAR(20) NOT NULL , + WRTER_ID VARCHAR2(20) NOT NULL , + REPORTR_ID VARCHAR2(20) NOT NULL , + REPORT_CN VARCHAR2(2500) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , + DRCT_MATTER VARCHAR2(2500) NULL , + DRCT_MATTER_REGIST_DT VARCHAR2(14) NULL , + REPORTR_INQIRE_DT VARCHAR2(14) NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + REPRT_ID CHAR(6) NOT NULL , +CONSTRAINT COMTNMEMOREPRT_PK PRIMARY KEY (REPRT_ID) +); + + + +CREATE TABLE COMTNMTGPLACEMANAGE +( + MTGRUM_ID CHAR(20) NOT NULL , + MTGRUM_NM VARCHAR2(255) NOT NULL , + OPN_BEGIN_TM VARCHAR2(6) NOT NULL , + OPN_END_TM VARCHAR2(6) NOT NULL , + ACEPTNC_POSBL_NMPR NUMBER(10) NOT NULL , + LC_SE CHAR(5) NULL , + LC_DETAIL VARCHAR2(200) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNMTGPLACEMANAGE_PK PRIMARY KEY (MTGRUM_ID) +); + + + +CREATE TABLE COMTNMTGPLACERESVE +( + RESVE_ID CHAR(20) NOT NULL , + MTGRUM_ID CHAR(20) NOT NULL , + MTG_SJ VARCHAR2(100) NOT NULL , + RSVCTM_ID VARCHAR2(20) NOT NULL , + RESVE_DE CHAR(8) NOT NULL , + RESVE_BEGIN_TM VARCHAR2(14) NOT NULL , + RESVE_END_TM VARCHAR2(14) NOT NULL , + ATNDNC_NMPR NUMBER(10) NULL , + MTG_CN VARCHAR2(2500) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNMTGPLACERESVE_PK PRIMARY KEY (RESVE_ID), +CONSTRAINT COMTNMTGPLACERESVE_FK1 FOREIGN KEY (MTGRUM_ID) REFERENCES COMTNMTGPLACEMANAGE(MTGRUM_ID) ON DELETE SET NULL +); + + + +CREATE INDEX COMTNMTGPLACERESVE_i01 ON COMTNMTGPLACERESVE +(MTGRUM_ID ASC); + + + +CREATE TABLE COMTNFXTRSMANAGE +( + FXTRS_CODE CHAR(14) NOT NULL , + FXTRS_NM VARCHAR2(100) NOT NULL , + MAKR_NM VARCHAR2(100) NULL , + PRICE NUMBER(16) NULL , +CONSTRAINT COMTNFXTRSMANAGE_PK PRIMARY KEY (FXTRS_CODE) +); + + + +CREATE TABLE COMTNMTGPLACEFXTRS +( + MTGRUM_ID CHAR(20) NOT NULL , + FXTRS_CODE CHAR(14) NOT NULL , + QY NUMBER(20) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNMTGPLACEFXTRS_PK PRIMARY KEY (MTGRUM_ID,FXTRS_CODE), +CONSTRAINT COMTNMTGPLACEFXTRS_FK2 FOREIGN KEY (MTGRUM_ID) REFERENCES COMTNMTGPLACEMANAGE(MTGRUM_ID), +CONSTRAINT COMTNMTGPLACEFXTRS_FK1 FOREIGN KEY (FXTRS_CODE) REFERENCES COMTNFXTRSMANAGE(FXTRS_CODE) +); + + + +CREATE INDEX COMTNMTGPLACEFXTRS_i01 ON COMTNMTGPLACEFXTRS +(MTGRUM_ID ASC); + + + +CREATE TABLE COMTECOPSEQ +( + TABLE_NAME VARCHAR2(20) NOT NULL , + NEXT_ID NUMBER(30) NULL , +CONSTRAINT COMTECOPSEQ_PK PRIMARY KEY (TABLE_NAME) +); + + + +CREATE TABLE COMTNANNVRSRYMANAGE +( + ANNVRSRY_ID VARCHAR2(20) NOT NULL , + USER_ID VARCHAR2(20) NOT NULL , + ANNVRSRY_SE VARCHAR2(2) NOT NULL , + ANNVRSRY_NM VARCHAR2(255) NOT NULL , + ANNVRSRY CHAR(20) NOT NULL , + CLDR_SE CHAR(1) NOT NULL , + ANNVRSRY_NTCN_SETUP CHAR(1) NULL , + ANNVRSRY_NTCN_BGNDE CHAR(20) NULL , + MEMO VARCHAR2(1000) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + REPTIT_AT CHAR(1) NULL , +CONSTRAINT COMTNANNVRSRYMANAGE_PK PRIMARY KEY (ANNVRSRY_ID) +); + +CREATE TABLE J_ATTACHFILE +( + FILE_ID VARCHAR2(13) NOT NULL, + FILE_SEQ INTEGER NOT NULL, + FILE_NAME VARCHAR2(100) NOT NULL, + FILE_SIZE INTEGER, + FILE_MASK VARCHAR2(100), + DOWNLOAD_COUNT INTEGER, + DOWNLOAD_EXPIRE_DATE VARCHAR2(8), + DOWNLOAD_LIMIT_COUNT INTEGER, + REG_DATE DATE, + DELETE_YN VARCHAR2(1), +CONSTRAINT J_ATTACHFILE_PK PRIMARY KEY (FILE_ID, FILE_SEQ) +); + +CREATE TABLE COMTNROUGHMAP ( + ROUGHMAP_ID VARCHAR(75) NOT NULL, + ROUGHMAPSJ VARCHAR(75) NOT NULL, + ROUGHMAPADDRESS VARCHAR(200) NULL, + LA VARCHAR(48) NULL, + LO VARCHAR(48) NULL, + MARKERLA VARCHAR(48) NULL, + MARKERLO VARCHAR(48) NULL, + INFOWINDOW VARCHAR(20) NULL, + ZOOMLEVEL VARCHAR(10) NULL, + FRST_REGIST_PNTTM DATE NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATE NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL + ); + + CREATE TABLE COMTNPRIVACYLOG +( + REQUST_ID VARCHAR2(20) NOT NULL, + INQIRE_DT DATE NOT NULL, + SRVC_NM VARCHAR2(500) NULL, + INQIRE_INFO VARCHAR2(100) NULL, + RQESTER_ID VARCHAR2(20) NULL, + RQESTER_IP VARCHAR2(23) NULL, +CONSTRAINT REQUST_ID_PK PRIMARY KEY (REQUST_ID) +) +; + +CREATE TABLE COMTNCOMMUTE ( + WRKTM_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR2(20) NOT NULL, + ORGNZT_ID VARCHAR2(20) NULL, + WRKT_DT VARCHAR2(10) NOT NULL, + WRK_START_TIME VARCHAR2(14) NULL, + WRK_END_TIME VARCHAR2(14) NULL, + WRK_HOURS CHAR(2) NULL, + OVTMWRK_HOURS CHAR(2) NULL, + WRK_START_STATUS VARCHAR2(10) NULL, + WRK_END_STATUS VARCHAR2(10) NULL, + RM VARCHAR2(100) NULL, + FRST_REGISTER_ID VARCHAR2(20) NULL, + FRST_REGIST_PNTTM DATE NULL, + LAST_UPDUSR_ID VARCHAR2(20) NULL, + LAST_UPDT_PNTTM DATE NULL, + CONSTRAINT COMTNCOMMUTE_PK PRIMARY KEY (EMPLYR_ID, WRKT_DT) +); + +CREATE TABLE COMTNBLOG +( + BLOG_ID CHAR(20) NOT NULL , + BLOG_NM VARCHAR2(255) NOT NULL , + BLOG_INTRCN VARCHAR2(2400) NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + TMPLAT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + BBS_ID CHAR(20) DEFAULT NULL, + BLOG_AT CHAR(2) DEFAULT NULL, + CONSTRAINT COMTNBLOG_PK PRIMARY KEY (BLOG_ID) +); + +CREATE TABLE COMTNBLOGUSER +( + BLOG_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + MNGR_AT CHAR(1) NOT NULL, + MBER_STTUS VARCHAR(15) NULL, + SBSCRB_DE DATE NULL, + SECSN_DE CHAR(20) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATE NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATE NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + CONSTRAINT COMTNBLOGUSER_PK PRIMARY KEY (BLOG_ID, EMPLYR_ID), + CONSTRAINT COMTNBLOGUSER_FK1 FOREIGN KEY (BLOG_ID) REFERENCES COMTNBLOG(BLOG_ID) +); Index: base3.10/script/ddl/maria/com_DDL_maria.sql =================================================================== --- base3.10/script/ddl/maria/com_DDL_maria.sql (nonexistent) +++ base3.10/script/ddl/maria/com_DDL_maria.sql (revision 7) @@ -0,0 +1,5367 @@ + +CREATE TABLE COMTNPROGRMLIST +( + PROGRM_FILE_NM VARCHAR(60) NOT NULL, + PROGRM_STRE_PATH VARCHAR(100) NOT NULL, + PROGRM_KOREAN_NM VARCHAR(60) NULL, + PROGRM_DC VARCHAR(200) NULL, + URL VARCHAR(100) NOT NULL, + PRIMARY KEY (PROGRM_FILE_NM) +) +; + + + +CREATE UNIQUE INDEX COMTNPROGRMLIST_PK ON COMTNPROGRMLIST +( + PROGRM_FILE_NM +) +; + + + +CREATE TABLE COMTHPROGRMCHANGEDTLS +( + PROGRM_FILE_NM VARCHAR(60) NOT NULL, + REQUST_NO NUMERIC(10) NOT NULL, + RQESTER_ID VARCHAR(20) NOT NULL, + CHANGE_REQUST_CN VARCHAR(1000) NULL, + REQUST_PROCESS_CN MEDIUMTEXT NULL, + OPETR_ID VARCHAR(20) NULL, + PROCESS_STTUS_CODE VARCHAR(15) NOT NULL, + PROCESS_DE CHAR(20) NULL, + RQESTDE CHAR(20) NULL, + REQUST_SJ VARCHAR(60) NOT NULL, + PRIMARY KEY (PROGRM_FILE_NM,REQUST_NO), + FOREIGN KEY COMTHPROGRMCHANGEDTLS_FK1 (PROGRM_FILE_NM) REFERENCES COMTNPROGRMLIST(PROGRM_FILE_NM) + ON DELETE CASCADE +) +; + + + +CREATE UNIQUE INDEX COMTHPROGRMCHANGEDTLS_PK ON COMTHPROGRMCHANGEDTLS +( + PROGRM_FILE_NM, + REQUST_NO +) +; + + + +CREATE INDEX COMTHPROGRMCHANGEDTLS_i01 ON COMTHPROGRMCHANGEDTLS +( + PROGRM_FILE_NM +) +; + + + +CREATE TABLE COMTNPOPUPMANAGE +( + POPUP_ID VARCHAR(20) NOT NULL, + POPUP_SJ_NM VARCHAR(1024) NULL, + FILE_URL VARCHAR(1024) NULL, + POPUP_WIDTH_LC VARCHAR(20) NULL, + POPUP_WIDTH_SIZE NUMERIC NULL, + NTCE_BGNDE CHAR(20) NULL, + NTCE_ENDDE CHAR(20) NULL, + STOPVEW_SETUP_AT CHAR(1) NULL, + NTCE_AT CHAR(1) NULL, + POPUP_VRTICL_LC VARCHAR(20) NULL, + POPUP_VRTICL_SIZE NUMERIC NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (POPUP_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNPOPUPMANAGE_PK ON COMTNPOPUPMANAGE +( + POPUP_ID +) +; + + + +CREATE TABLE COMTNBANNER +( + BANNER_ID CHAR(20) NOT NULL, + BANNER_NM VARCHAR(60) NOT NULL, + LINK_URL VARCHAR(255) NOT NULL, + BANNER_IMAGE VARCHAR(60) NOT NULL, + BANNER_DC VARCHAR(200) NULL, + REFLCT_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + BANNER_IMAGE_FILE VARCHAR(60) NULL, + SORT_ORDR NUMERIC(8) NULL, + PRIMARY KEY (BANNER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBANNER_PK ON COMTNBANNER +( + BANNER_ID +) +; + + + +CREATE TABLE COMTNLOGINSCRINIMAGE +( + IMAGE_ID CHAR(20) NOT NULL, + IMAGE_NM VARCHAR(20) NOT NULL, + REFLCT_AT CHAR(1) NOT NULL, + IMAGE VARCHAR(60) NOT NULL, + IMAGE_DC VARCHAR(200) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + IMAGE_FILE VARCHAR(60) NULL, + PRIMARY KEY (IMAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNLOGINSCRINIMAGE_PK ON COMTNLOGINSCRINIMAGE +( + IMAGE_ID +) +; + + + +CREATE TABLE COMTNORGNZTINFO +( + ORGNZT_ID CHAR(20) NOT NULL, + ORGNZT_NM VARCHAR(20) NOT NULL, + ORGNZT_DC VARCHAR(100) NULL, + PRIMARY KEY (ORGNZT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNORGNZTINFO_PK ON COMTNORGNZTINFO +( + ORGNZT_ID +) +; + + + +CREATE TABLE COMTNAUTHORGROUPINFO +( + GROUP_ID CHAR(20) NOT NULL, + GROUP_NM VARCHAR(60) NOT NULL, + GROUP_CREAT_DE CHAR(20) NOT NULL, + GROUP_DC VARCHAR(100) NULL, + PRIMARY KEY (GROUP_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNAUTHORGROUPINFO_PK ON COMTNAUTHORGROUPINFO +( + GROUP_ID +) +; + + + +CREATE TABLE COMTNEMPLYRINFO +( + EMPLYR_ID VARCHAR(20) NOT NULL, + ORGNZT_ID CHAR(20) NULL, + USER_NM VARCHAR(60) NOT NULL, + PASSWORD VARCHAR(200) NOT NULL, + EMPL_NO VARCHAR(20) NULL, + IHIDNUM VARCHAR(200) NULL, + SEXDSTN_CODE CHAR(1) NULL, + BRTHDY CHAR(20) NULL, + FXNUM VARCHAR(20) NULL, + HOUSE_ADRES VARCHAR(100) NOT NULL, + PASSWORD_HINT VARCHAR(100) NOT NULL, + PASSWORD_CNSR VARCHAR(100) NOT NULL, + HOUSE_END_TELNO VARCHAR(4) NOT NULL, + AREA_NO VARCHAR(4) NOT NULL, + DETAIL_ADRES VARCHAR(100) NULL, + ZIP VARCHAR(6) NOT NULL, + OFFM_TELNO VARCHAR(20) NULL, + MBTLNUM VARCHAR(20) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + OFCPS_NM VARCHAR(60) NULL, + HOUSE_MIDDLE_TELNO VARCHAR(4) NOT NULL, + GROUP_ID CHAR(20) NULL, + PSTINST_CODE CHAR(8) NULL, + EMPLYR_STTUS_CODE CHAR(1) NOT NULL, + ESNTL_ID CHAR(20) NOT NULL, + CRTFC_DN_VALUE VARCHAR(100) NULL, + SBSCRB_DE DATETIME NULL, + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMERIC(3) NULL, + LOCK_LAST_PNTTM DATETIME NULL, + CHG_PWD_LAST_PNTTM DATETIME NULL, + PRIMARY KEY (EMPLYR_ID), + FOREIGN KEY COMTNEMPLYRINFO_FK2 (ORGNZT_ID) REFERENCES COMTNORGNZTINFO(ORGNZT_ID) + ON DELETE SET NULL, + FOREIGN KEY COMTNEMPLYRINFO_FK1 (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) + ON DELETE SET NULL +) +; + + + +CREATE UNIQUE INDEX COMTNEMPLYRINFO_PK ON COMTNEMPLYRINFO +( + EMPLYR_ID +) +; + + + +CREATE INDEX COMTNEMPLYRINFO_i01 ON COMTNEMPLYRINFO +( + ORGNZT_ID +) +; + + + +CREATE INDEX COMTNEMPLYRINFO_i02 ON COMTNEMPLYRINFO +( + GROUP_ID +) +; + + + +CREATE TABLE COMTNFILE +( + ATCH_FILE_ID CHAR(20) NOT NULL, + CREAT_DT DATETIME NOT NULL, + USE_AT CHAR(1) NULL, + PRIMARY KEY (ATCH_FILE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNFILE_PK ON COMTNFILE +( + ATCH_FILE_ID +) +; + + + +CREATE TABLE COMTHEMAILDSPTCHMANAGE +( + MSSAGE_ID VARCHAR(20) NOT NULL, + EMAIL_CN MEDIUMTEXT NULL, + SNDR VARCHAR(50) NOT NULL, + RCVER VARCHAR(50) NOT NULL, + SJ VARCHAR(60) NOT NULL, + SNDNG_RESULT_CODE CHAR(1) NULL, + DSPTCH_DT CHAR(20) NOT NULL, + ATCH_FILE_ID CHAR(20) NULL, + PRIMARY KEY (MSSAGE_ID), + FOREIGN KEY COMTHEMAILDSPTCHMANAGE_FK1 (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHEMAILDSPTCHMANAGE_PK ON COMTHEMAILDSPTCHMANAGE +( + MSSAGE_ID +) +; + + + +CREATE INDEX COMTHEMAILDSPTCHMANAGE_i01 ON COMTHEMAILDSPTCHMANAGE +( + SNDR +) +; + + + +CREATE INDEX COMTHEMAILDSPTCHMANAGE_i02 ON COMTHEMAILDSPTCHMANAGE +( + ATCH_FILE_ID +) +; + + + +CREATE TABLE COMTNNTTSTATS +( + STATS_ID CHAR(18) NOT NULL, + NTCE_CO NUMERIC(10) NULL, + AVRG_RDCNT NUMERIC(10) NULL, + TOP_RDCNT NUMERIC(10) NULL, + MUMM_RDCNT NUMERIC(10) NULL, + TOP_NTCR_ID VARCHAR(20) NULL, + PRIMARY KEY (STATS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNTTSTATS_PK ON COMTNNTTSTATS +( + STATS_ID +) +; + + + +CREATE TABLE COMTNSITELIST +( + SITE_ID CHAR(20) NOT NULL, + SITE_NM VARCHAR(100) NULL, + SITE_URL VARCHAR(100) NULL, + SITE_DC VARCHAR(1000) NULL, + SITE_THEMA_CL_CODE VARCHAR(2) NULL, + ACTVTY_AT CHAR(1) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (SITE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSITELIST_PK ON COMTNSITELIST +( + SITE_ID +) +; + + + +CREATE TABLE COMTNRECENTSRCHWRDMANAGE +( + SRCHWRD_MANAGE_ID CHAR(20) NOT NULL, + SRCHWRD_MANAGE_NM VARCHAR(255) NULL, + SRCHWRD_CONECT_URL VARCHAR(255) NULL, + USER_SEARCH_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (SRCHWRD_MANAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNRECENTSRCHWRDMANAGE_PK ON COMTNRECENTSRCHWRDMANAGE +( + SRCHWRD_MANAGE_ID +) +; + + + +CREATE TABLE COMTNRECENTSRCHWRD +( + SRCHWRD_MANAGE_ID CHAR(20) NOT NULL, + RECENT_SRCHWRD_ID CHAR(20) NOT NULL, + RECENT_SRCHWRD_NM VARCHAR(255) NULL, + RECENT_SRCHWRD_CO NUMERIC(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (RECENT_SRCHWRD_ID), + FOREIGN KEY COMTNRECENTSRCHWRD_FK1 (SRCHWRD_MANAGE_ID) REFERENCES COMTNRECENTSRCHWRDMANAGE(SRCHWRD_MANAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNRECENTSRCHWRD_PK ON COMTNRECENTSRCHWRD +( + RECENT_SRCHWRD_ID +) +; + + + +CREATE TABLE COMTNPROXYINFO +( + PROXY_ID CHAR(20) NOT NULL, + PROXY_NM VARCHAR(60) NULL, + PROXY_IP VARCHAR(23) NULL, + PROXY_PORT VARCHAR(10) NULL, + TRGET_SVC_NM VARCHAR(255) NULL, + SVC_DC VARCHAR(2000) NULL, + SVC_IP VARCHAR(23) NULL, + SVC_PORT VARCHAR(10) NULL, + SVC_STTUS CHAR(2) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (PROXY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNPROXYINFO_PK ON COMTNPROXYINFO +( + PROXY_ID +) +; + + + +CREATE TABLE COMTNPROXYLOGINFO +( + PROXY_ID CHAR(20) NOT NULL, + CLNT_IP VARCHAR(23) NULL, + CLNT_PORT VARCHAR(10) NULL, + CONECT_TIME DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (PROXY_ID,LOG_ID), + FOREIGN KEY COMTNPROXYLOGINFO_FK1 (PROXY_ID) REFERENCES COMTNPROXYINFO(PROXY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNPROXYLOGINFO_PK ON COMTNPROXYLOGINFO +( + PROXY_ID, + LOG_ID +) +; + + + +CREATE TABLE COMTNMAINIMAGE +( + IMAGE_ID CHAR(20) NOT NULL, + IMAGE_NM VARCHAR(20) NOT NULL, + IMAGE VARCHAR(60) NOT NULL, + IMAGE_DC VARCHAR(200) NULL, + REFLCT_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + IMAGE_FILE VARCHAR(60) NULL, + PRIMARY KEY (IMAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMAINIMAGE_PK ON COMTNMAINIMAGE +( + IMAGE_ID +) +; + + + +CREATE TABLE COMTNUNITYLINK +( + UNITY_LINK_ID CHAR(20) NOT NULL, + UNITY_LINK_GROUP VARCHAR(255) NULL, + UNITY_LINK_NM VARCHAR(255) NULL, + UNITY_LINK_URL VARCHAR(255) NULL, + UNITY_LINK_DC VARCHAR(2500) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + UNITY_LINK_SE_CODE CHAR(3) NULL, + PRIMARY KEY (UNITY_LINK_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNUNITYLINK_PK ON COMTNUNITYLINK +( + UNITY_LINK_ID +) +; + + + +CREATE TABLE COMTNUSERABSNCE +( + EMPLYR_ID VARCHAR(20) NOT NULL, + USER_ABSNCE_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNUSERABSNCE_PK ON COMTNUSERABSNCE +( + EMPLYR_ID +) +; + + + +CREATE TABLE COMTSSYSLOGSUMMARY +( + OCCRRNC_DE CHAR(8) NOT NULL, + SVC_NM VARCHAR(255) NOT NULL, + METHOD_NM VARCHAR(60) NOT NULL, + CREAT_CO NUMERIC(10) NULL, + UPDT_CO NUMERIC(10) NULL, + RDCNT NUMERIC(10) NULL, + DELETE_CO NUMERIC(10) NULL, + OUTPT_CO NUMERIC(10) NULL, + ERROR_CO NUMERIC(10) NULL, + PRIMARY KEY (OCCRRNC_DE,SVC_NM,METHOD_NM) +) +; + + + +CREATE UNIQUE INDEX COMTSSYSLOGSUMMARY_PK ON COMTSSYSLOGSUMMARY +( + OCCRRNC_DE, + SVC_NM, + METHOD_NM +) +; + + + +CREATE TABLE COMTNSYSLOG +( + REQUST_ID VARCHAR(20) NOT NULL, + JOB_SE_CODE CHAR(3) NULL, + INSTT_CODE CHAR(7) NULL, + OCCRRNC_DE DATETIME NULL, + RQESTER_IP VARCHAR(23) NULL, + RQESTER_ID VARCHAR(20) NULL, + TRGET_MENU_NM VARCHAR(255) NULL, + SVC_NM VARCHAR(255) NULL, + METHOD_NM VARCHAR(60) NULL, + PROCESS_SE_CODE CHAR(3) NULL, + PROCESS_CO NUMERIC(10) NULL, + PROCESS_TIME VARCHAR(14) NULL, + RSPNS_CODE CHAR(3) NULL, + ERROR_SE CHAR(1) NULL, + ERROR_CO NUMERIC(10) NULL, + ERROR_CODE CHAR(3) NULL, + PRIMARY KEY (REQUST_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSYSLOG_PK ON COMTNSYSLOG +( + REQUST_ID +) +; + + + +CREATE TABLE COMTNBBSMASTER +( + BBS_ID CHAR(20) NOT NULL, + BBS_NM VARCHAR(255) NOT NULL, + BBS_INTRCN VARCHAR(2400) NULL, + BBS_TY_CODE CHAR(6) NOT NULL, + REPLY_POSBL_AT CHAR(1) NULL, + FILE_ATCH_POSBL_AT CHAR(1) NOT NULL, + ATCH_POSBL_FILE_NUMBER NUMERIC(2) NOT NULL, + ATCH_POSBL_FILE_SIZE NUMERIC(8) NULL, + USE_AT CHAR(1) NOT NULL, + TMPLAT_ID CHAR(20) NULL, + CMMNTY_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + BLOG_ID CHAR(20) NULL, + BLOG_AT CHAR(2) NULL, + PRIMARY KEY (BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBBSMASTER_PK ON COMTNBBSMASTER +( + BBS_ID +) +; + + + +CREATE TABLE COMTNBBS +( + NTT_ID NUMERIC(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + NTT_NO NUMERIC(20) NULL, + NTT_SJ VARCHAR(2000) NULL, + NTT_CN MEDIUMTEXT NULL, + ANSWER_AT CHAR(1) NULL, + PARNTSCTT_NO NUMERIC(10) NULL, + ANSWER_LC NUMERIC(8) NULL, + SORT_ORDR NUMERIC(8) NULL, + RDCNT NUMERIC(10) NULL, + USE_AT CHAR(1) NOT NULL, + NTCE_BGNDE CHAR(20) NULL, + NTCE_ENDDE CHAR(20) NULL, + NTCR_ID VARCHAR(20) NULL, + NTCR_NM VARCHAR(20) NULL, + PASSWORD VARCHAR(200) NULL, + ATCH_FILE_ID CHAR(20) NULL, + NOTICE_AT CHAR(1) NULL, + SJ_BOLD_AT CHAR(1) NULL, + SECRET_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + BLOG_ID CHAR(20) NULL, + PRIMARY KEY (NTT_ID,BBS_ID), + FOREIGN KEY COMTNBBS_FK1 (BBS_ID) REFERENCES COMTNBBSMASTER(BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBBS_PK ON COMTNBBS +( + NTT_ID, + BBS_ID +) +; + + + +CREATE INDEX COMTNBBS_i01 ON COMTNBBS +( + BBS_ID +) +; + + + +CREATE TABLE COMTNCOMMENT +( + NTT_ID NUMERIC(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + ANSWER_NO NUMERIC(20) NOT NULL, + WRTER_ID VARCHAR(20) NULL, + WRTER_NM VARCHAR(20) NULL, + ANSWER VARCHAR(200) NULL, + USE_AT CHAR(1) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PASSWORD VARCHAR(200) NULL, + PRIMARY KEY (NTT_ID,BBS_ID,ANSWER_NO), + FOREIGN KEY COMTNCOMMENT_FK1 (NTT_ID,BBS_ID) REFERENCES COMTNBBS(NTT_ID,BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCOMMENT_PK ON COMTNCOMMENT +( + NTT_ID, + BBS_ID, + ANSWER_NO +) +; + + + +CREATE INDEX COMTNCOMMENT_i01 ON COMTNCOMMENT +( + NTT_ID, + BBS_ID +) +; + + + +CREATE TABLE COMTNRECOMENDSITEINFO +( + RECOMEND_SITE_ID CHAR(20) NOT NULL, + RECOMEND_SITE_NM VARCHAR(100) NULL, + RECOMEND_SITE_URL VARCHAR(255) NULL, + RECOMEND_SITE_DC VARCHAR(1000) NULL, + RECOMEND_RESN_CN VARCHAR(1000) NULL, + RECOMEND_CONFM_AT CHAR(1) NULL, + CONFM_DE CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (RECOMEND_SITE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNRECOMENDSITEINFO_PK ON COMTNRECOMENDSITEINFO +( + RECOMEND_SITE_ID +) +; + + + +CREATE TABLE COMTNINTNETSVC +( + INTNET_SVC_ID CHAR(20) NOT NULL, + INTNET_SVC_NM VARCHAR(20) NOT NULL, + INTNET_SVC_DC VARCHAR(200) NULL, + REFLCT_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (INTNET_SVC_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINTNETSVC_PK ON COMTNINTNETSVC +( + INTNET_SVC_ID +) +; + + + +CREATE TABLE COMTNCLUB +( + CLB_ID CHAR(20) NOT NULL, + CMMNTY_ID CHAR(20) NOT NULL, + CLB_NM VARCHAR(255) NOT NULL, + CLB_INTRCN VARCHAR(2400) NULL, + USE_AT CHAR(1) NOT NULL, + REGIST_SE_CODE CHAR(6) NULL, + TMPLAT_ID CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CLB_ID,CMMNTY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCLUB_PK ON COMTNCLUB +( + CLB_ID, + CMMNTY_ID +) +; + + + +CREATE TABLE COMTNCLUBUSER +( + CLB_ID CHAR(20) NOT NULL, + CMMNTY_ID CHAR(20) NOT NULL, + OPRTR_AT CHAR(1) NOT NULL, + SBSCRB_DE DATETIME NULL, + SECSN_DE CHAR(20) NULL, + USE_AT CHAR(1) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (CLB_ID,CMMNTY_ID,EMPLYR_ID), + FOREIGN KEY COMTNCLUBUSER_FK1 (CLB_ID,CMMNTY_ID) REFERENCES COMTNCLUB(CLB_ID,CMMNTY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCLUBUSER_PK ON COMTNCLUBUSER +( + CLB_ID, + CMMNTY_ID, + EMPLYR_ID +) +; + + + +CREATE INDEX COMTNCLUBUSER_i01 ON COMTNCLUBUSER +( + CLB_ID, + CMMNTY_ID +) +; + + + +CREATE TABLE COMTNBACKUPOPERT +( + BACKUP_OPERT_ID VARCHAR(20) NOT NULL, + BACKUP_OPERT_NM VARCHAR(60) NULL, + BACKUP_ORGINL_DRCTRY VARCHAR(255) NULL, + BACKUP_STRE_DRCTRY VARCHAR(255) NULL, + CMPRS_SE VARCHAR(2) NULL, + EXECUT_CYCLE VARCHAR(2) NULL, + EXECUT_SCHDUL_DE CHAR(20) NULL, + EXECUT_SCHDUL_HOUR CHAR(2) NULL, + EXECUT_SCHDUL_MNT CHAR(2) NULL, + EXECUT_SCHDUL_SECND CHAR(2) NULL, + USE_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (BACKUP_OPERT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBACKUPOPERT_PK ON COMTNBACKUPOPERT +( + BACKUP_OPERT_ID +) +; + + + +CREATE TABLE COMTNBACKUPSCHDULDFK +( + BACKUP_OPERT_ID VARCHAR(20) NOT NULL, + EXECUT_SCHDUL_DFK_SE CHAR(1) NOT NULL, + PRIMARY KEY (BACKUP_OPERT_ID,EXECUT_SCHDUL_DFK_SE), + FOREIGN KEY COMTNBACKUPSCHDULDFK_FK1 (BACKUP_OPERT_ID) REFERENCES COMTNBACKUPOPERT(BACKUP_OPERT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBACKUPSCHDULDFK_PK ON COMTNBACKUPSCHDULDFK +( + BACKUP_OPERT_ID, + EXECUT_SCHDUL_DFK_SE +) +; + + + +CREATE TABLE COMTNCMMNTY +( + CMMNTY_ID CHAR(20) NOT NULL, + CMMNTY_NM VARCHAR(255) NOT NULL, + CMMNTY_INTRCN VARCHAR(2400) NULL, + USE_AT CHAR(1) NOT NULL, + REGIST_SE_CODE CHAR(6) NULL, + TMPLAT_ID CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CMMNTY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCMMNTY_PK ON COMTNCMMNTY +( + CMMNTY_ID +) +; + + + +CREATE TABLE COMTNCMMNTYUSER +( + CMMNTY_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + MNGR_AT CHAR(1) NOT NULL, + MBER_STTUS VARCHAR(15) NULL, + SBSCRB_DE DATETIME NULL, + SECSN_DE CHAR(20) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CMMNTY_ID,EMPLYR_ID), + FOREIGN KEY COMTNCMMNTYUSER_FK1 (CMMNTY_ID) REFERENCES COMTNCMMNTY(CMMNTY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCMMNTYUSER_PK ON COMTNCMMNTYUSER +( + CMMNTY_ID, + EMPLYR_ID +) +; + + + +CREATE INDEX COMTNCMMNTYUSER_i01 ON COMTNCMMNTYUSER +( + CMMNTY_ID +) +; + + + +CREATE TABLE COMTNFILEDETAIL +( + ATCH_FILE_ID CHAR(20) NOT NULL, + FILE_SN NUMERIC(10) NOT NULL, + FILE_STRE_COURS VARCHAR(2000) NOT NULL, + STRE_FILE_NM VARCHAR(255) NOT NULL, + ORIGNL_FILE_NM VARCHAR(255) NULL, + FILE_EXTSN VARCHAR(20) NOT NULL, + FILE_CN MEDIUMTEXT NULL, + FILE_SIZE NUMERIC(8) NULL, + PRIMARY KEY (ATCH_FILE_ID,FILE_SN), + FOREIGN KEY COMTNFILEDETAIL_FK1 (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNFILEDETAIL_PK ON COMTNFILEDETAIL +( + ATCH_FILE_ID, + FILE_SN +) +; + + + +CREATE INDEX COMTNFILEDETAIL_i01 ON COMTNFILEDETAIL +( + ATCH_FILE_ID +) +; + + + +CREATE TABLE COMTNLOGINPOLICY +( + EMPLYR_ID VARCHAR(20) NOT NULL, + IP_INFO VARCHAR(23) NOT NULL, + DPLCT_PERM_AT CHAR(1) NOT NULL, + LMTT_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNLOGINPOLICY_PK ON COMTNLOGINPOLICY +( + EMPLYR_ID +) +; + + + +CREATE TABLE COMTNQUSTNRTMPLAT +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + QUSTNR_TMPLAT_TY VARCHAR(100) NULL, + QUSTNR_TMPLAT_DC VARCHAR(2000) NULL, + QUSTNR_TMPLAT_PATH_NM VARCHAR(100) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + QUSTNR_TMPLAT_IMAGE_INFO BLOB NULL, + PRIMARY KEY (QUSTNR_TMPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQUSTNRTMPLAT_PK ON COMTNQUSTNRTMPLAT +( + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTNQESTNRINFO +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + QESTNR_ID CHAR(20) NOT NULL, + QUSTNR_SJ VARCHAR(255) NULL, + QUSTNR_PURPS VARCHAR(1000) NULL, + QUSTNR_WRITNG_GUIDANCE_CN VARCHAR(2000) NULL, + QUSTNR_TRGET VARCHAR(1000) NULL, + QUSTNR_BGNDE CHAR(20) NULL, + QUSTNR_ENDDE CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID), + FOREIGN KEY COMTNQESTNRINFO_FK1 (QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRTMPLAT(QUSTNR_TMPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQESTNRINFO_PK ON COMTNQESTNRINFO +( + QUSTNR_TMPLAT_ID, + QESTNR_ID +) +; + + + +CREATE INDEX COMTNQESTNRINFO_i01 ON COMTNQESTNRINFO +( + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTNQUSTNRRESPONDINFO +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + QESTNR_ID CHAR(20) NOT NULL, + QUSTNR_RESPOND_ID CHAR(20) NOT NULL, + SEXDSTN_CODE CHAR(1) NULL, + OCCP_TY_CODE CHAR(1) NULL, + RESPOND_NM VARCHAR(50) NULL, + BRTHDY CHAR(20) NULL, + AREA_NO VARCHAR(4) NULL, + MIDDLE_TELNO VARCHAR(4) NULL, + END_TELNO VARCHAR(4) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID,QUSTNR_RESPOND_ID), + FOREIGN KEY COMTNQUSTNRRESPONDINFO_FK1 (QUSTNR_TMPLAT_ID,QESTNR_ID) REFERENCES COMTNQESTNRINFO(QUSTNR_TMPLAT_ID,QESTNR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQUSTNRRESPONDINFO_PK ON COMTNQUSTNRRESPONDINFO +( + QUSTNR_TMPLAT_ID, + QESTNR_ID, + QUSTNR_RESPOND_ID +) +; + + + +CREATE INDEX COMTNQUSTNRRESPONDINFO_i01 ON COMTNQUSTNRRESPONDINFO +( + QESTNR_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTCADMINISTCODE +( + ADMINIST_ZONE_SE CHAR(1) NOT NULL, + ADMINIST_ZONE_CODE VARCHAR(10) NOT NULL, + USE_AT CHAR(1) NOT NULL, + ADMINIST_ZONE_NM VARCHAR(60) NULL, + UPPER_ADMINIST_ZONE_CODE VARCHAR(10) NULL, + CREAT_DE CHAR(20) NULL, + ABL_DE CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (ADMINIST_ZONE_SE,ADMINIST_ZONE_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTCADMINISTCODE_PK ON COMTCADMINISTCODE +( + ADMINIST_ZONE_SE, + ADMINIST_ZONE_CODE +) +; + + + +CREATE TABLE COMTNUSERLOG +( + OCCRRNC_DE CHAR(8) NOT NULL, + RQESTER_ID VARCHAR(20) NOT NULL, + SVC_NM VARCHAR(255) NOT NULL, + METHOD_NM VARCHAR(60) NOT NULL, + CREAT_CO NUMERIC(10) NULL, + UPDT_CO NUMERIC(10) NULL, + RDCNT NUMERIC(10) NULL, + DELETE_CO NUMERIC(10) NULL, + OUTPT_CO NUMERIC(10) NULL, + ERROR_CO NUMERIC(10) NULL, + PRIMARY KEY (OCCRRNC_DE,RQESTER_ID,SVC_NM,METHOD_NM) +) +; + + + +CREATE UNIQUE INDEX COMTNUSERLOG_PK ON COMTNUSERLOG +( + OCCRRNC_DE, + RQESTER_ID, + SVC_NM, + METHOD_NM +) +; + + + +CREATE TABLE COMTSTRSMRCVLOGSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL, + TRSMRCV_SE_CODE CHAR(3) NOT NULL, + PROVD_INSTT_ID CHAR(8) NOT NULL, + PROVD_SYS_ID CHAR(8) NOT NULL, + PROVD_SVC_ID CHAR(8) NOT NULL, + REQUST_INSTT_ID CHAR(8) NOT NULL, + REQUST_SYS_ID CHAR(8) NOT NULL, + RDCNT NUMERIC(10) NULL, + ERROR_CO NUMERIC(10) NULL, + PRIMARY KEY (OCCRRNC_DE,TRSMRCV_SE_CODE,PROVD_INSTT_ID,PROVD_SYS_ID,PROVD_SVC_ID,REQUST_INSTT_ID,REQUST_SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTSTRSMRCVLOGSUMMARY_PK ON COMTSTRSMRCVLOGSUMMARY +( + OCCRRNC_DE, + TRSMRCV_SE_CODE, + PROVD_INSTT_ID, + PROVD_SYS_ID, + PROVD_SVC_ID, + REQUST_INSTT_ID, + REQUST_SYS_ID +) +; + + + +CREATE TABLE COMTCCMMNCLCODE +( + CL_CODE CHAR(3) NOT NULL, + CL_CODE_NM VARCHAR(60) NULL, + CL_CODE_DC VARCHAR(200) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CL_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTCCMMNCLCODE_PK ON COMTCCMMNCLCODE +( + CL_CODE +) +; + + + +CREATE TABLE COMTCCMMNCODE +( + CODE_ID VARCHAR(6) NOT NULL, + CODE_ID_NM VARCHAR(60) NULL, + CODE_ID_DC VARCHAR(200) NULL, + USE_AT CHAR(1) NULL, + CL_CODE CHAR(3) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CODE_ID), + FOREIGN KEY COMTCCMMNCODE_FK1 (CL_CODE) REFERENCES COMTCCMMNCLCODE(CL_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTCCMMNCODE_PK ON COMTCCMMNCODE +( + CODE_ID +) +; + + + +CREATE INDEX COMTCCMMNCODE_i01 ON COMTCCMMNCODE +( + CL_CODE +) +; + + + +CREATE TABLE COMTCCMMNDETAILCODE +( + CODE_ID VARCHAR(6) NOT NULL, + CODE VARCHAR(15) NOT NULL, + CODE_NM VARCHAR(60) NULL, + CODE_DC VARCHAR(200) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CODE_ID,CODE), + FOREIGN KEY COMTCCMMNDETAILCODE_FK1 (CODE_ID) REFERENCES COMTCCMMNCODE(CODE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTCCMMNDETAILCODE_PK ON COMTCCMMNDETAILCODE +( + CODE_ID, + CODE +) +; + + + +CREATE INDEX COMTCCMMNDETAILCODE_i01 ON COMTCCMMNDETAILCODE +( + CODE_ID +) +; + + + +CREATE TABLE COMTSBBSSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL, + STATS_SE VARCHAR(10) NOT NULL, + DETAIL_STATS_SE VARCHAR(10) NOT NULL, + CREAT_CO NUMERIC(10) NULL, + TOT_RDCNT NUMERIC(10) NULL, + AVRG_RDCNT NUMERIC(10) NULL, + TOP_INQIRE_BBSCTT_ID VARCHAR(20) NULL, + MUMM_INQIRE_BBSCTT_ID VARCHAR(20) NULL, + TOP_NTCR_ID VARCHAR(20) NULL, + PRIMARY KEY (OCCRRNC_DE,STATS_SE,DETAIL_STATS_SE) +) +; + + + +CREATE UNIQUE INDEX COMTSBBSSUMMARY_PK ON COMTSBBSSUMMARY +( + OCCRRNC_DE, + STATS_SE, + DETAIL_STATS_SE +) +; + + + +CREATE TABLE COMTCZIP +( + ZIP VARCHAR(6) NOT NULL, + SN NUMERIC(10) NOT NULL, + CTPRVN_NM VARCHAR(20) NULL, + SIGNGU_NM VARCHAR(20) NULL, + EMD_NM VARCHAR(60) NULL, + LI_BULD_NM VARCHAR(60) NULL, + LNBR_DONG_HO VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (ZIP,SN) +) +; + + + +CREATE UNIQUE INDEX COMTCZIP_PK ON COMTCZIP +( + ZIP, + SN +) +; + + + +CREATE TABLE COMTRDNMADRZIP +( + RDMN_CODE VARCHAR(12) NOT NULL, + SN NUMERIC(10) NOT NULL, + CTPRVN_NM VARCHAR(20) NULL, + SIGNGU_NM VARCHAR(20) NULL, + RDMN VARCHAR(60) NULL, + BDNBR_MNNM VARCHAR(5) NULL, + BDNBR_SLNO VARCHAR(5) NULL, + BULD_NM VARCHAR(60) NULL, + DETAIL_BULD_NM VARCHAR(60) NULL, + ZIP VARCHAR(6) NOT NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (SN) +) +; + + + +CREATE UNIQUE INDEX COMTRDNMADRZIP_PK ON COMTRDNMADRZIP +( + RDMN_CODE, + SN +) +; + + + +CREATE TABLE COMTNNCRD +( + NCRD_ID CHAR(20) NOT NULL, + NCRD_TRGTER_ID VARCHAR(20) NULL, + NM VARCHAR(50) NOT NULL, + TELNO VARCHAR(20) NULL, + NATION_NO VARCHAR(10) NULL, + AREA_NO VARCHAR(4) NULL, + MIDDLE_TELNO VARCHAR(4) NULL, + END_TELNO VARCHAR(4) NULL, + MBTLNUM VARCHAR(20) NULL, + IDNTFC_NO VARCHAR(10) NULL, + MIDDLE_MBTLNUM VARCHAR(4) NULL, + END_MBTLNUM VARCHAR(4) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + CMPNY_NM VARCHAR(60) NULL, + DEPT_NM VARCHAR(60) NULL, + ADRES VARCHAR(100) NULL, + DETAIL_ADRES VARCHAR(100) NULL, + OFCPS_NM VARCHAR(60) NULL, + CLSF_NM VARCHAR(60) NULL, + EXTRL_USER_AT CHAR(1) NULL, + OTHBC_AT CHAR(1) NOT NULL, + RM VARCHAR(2500) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (NCRD_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNCRD_PK ON COMTNNCRD +( + NCRD_ID +) +; + + + +CREATE TABLE COMTNNCRDUSER +( + NCRD_ID CHAR(20) NOT NULL, + REGIST_SE_CODE CHAR(6) NOT NULL, + USE_AT CHAR(1) NOT NULL, + CREAT_DT DATETIME NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (NCRD_ID,EMPLYR_ID), + FOREIGN KEY COMTNNCRDUSER_FK1 (NCRD_ID) REFERENCES COMTNNCRD(NCRD_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNCRDUSER_PK ON COMTNNCRDUSER +( + NCRD_ID, + EMPLYR_ID +) +; + + + +CREATE INDEX COMTNNCRDUSER_i03 ON COMTNNCRDUSER +( + NCRD_ID +) +; + + + +CREATE TABLE COMTNENTRPRSMBER +( + ENTRPRS_MBER_ID VARCHAR(20) NOT NULL, + ENTRPRS_SE_CODE CHAR(8) NULL, + BIZRNO VARCHAR(10) NULL, + JURIRNO VARCHAR(13) NULL, + CMPNY_NM VARCHAR(60) NOT NULL, + CXFC VARCHAR(50) NULL, + ZIP VARCHAR(6) NOT NULL, + ADRES VARCHAR(100) NOT NULL, + ENTRPRS_MIDDLE_TELNO VARCHAR(4) NOT NULL, + FXNUM VARCHAR(20) NULL, + INDUTY_CODE CHAR(1) NULL, + APPLCNT_NM VARCHAR(50) NOT NULL, + APPLCNT_IHIDNUM VARCHAR(200) NULL, + SBSCRB_DE DATETIME NULL, + ENTRPRS_MBER_STTUS VARCHAR(15) NULL, + ENTRPRS_MBER_PASSWORD VARCHAR(200) NULL, + ENTRPRS_MBER_PASSWORD_HINT VARCHAR(100) NOT NULL, + ENTRPRS_MBER_PASSWORD_CNSR VARCHAR(100) NOT NULL, + GROUP_ID CHAR(20) NULL, + DETAIL_ADRES VARCHAR(100) NULL, + ENTRPRS_END_TELNO VARCHAR(4) NOT NULL, + AREA_NO VARCHAR(4) NOT NULL, + APPLCNT_EMAIL_ADRES VARCHAR(50) NOT NULL, + ESNTL_ID CHAR(20) NOT NULL, + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMERIC(3) NULL, + LOCK_LAST_PNTTM DATETIME NULL, + CHG_PWD_LAST_PNTTM DATETIME NULL, + PRIMARY KEY (ENTRPRS_MBER_ID), + FOREIGN KEY COMTNENTRPRSMBER_FK1 (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) + ON DELETE SET NULL +) +; + + + +CREATE UNIQUE INDEX COMTNENTRPRSMBER_PK ON COMTNENTRPRSMBER +( + ENTRPRS_MBER_ID +) +; + + + +CREATE INDEX COMTNENTRPRSMBER_i01 ON COMTNENTRPRSMBER +( + GROUP_ID +) +; + + + +CREATE TABLE COMTNGNRLMBER +( + MBER_ID VARCHAR(20) NOT NULL, + PASSWORD VARCHAR(200) NOT NULL, + PASSWORD_HINT VARCHAR(100) NULL, + PASSWORD_CNSR VARCHAR(100) NULL, + IHIDNUM VARCHAR(200) NULL, + MBER_NM VARCHAR(50) NOT NULL, + ZIP VARCHAR(6) NOT NULL, + ADRES VARCHAR(100) NOT NULL, + AREA_NO VARCHAR(4) NOT NULL, + MBER_STTUS VARCHAR(15) NULL, + DETAIL_ADRES VARCHAR(100) NULL, + END_TELNO VARCHAR(4) NOT NULL, + MBTLNUM VARCHAR(20) NOT NULL, + GROUP_ID CHAR(20) NULL, + MBER_FXNUM VARCHAR(20) NULL, + MBER_EMAIL_ADRES VARCHAR(50) NULL, + MIDDLE_TELNO VARCHAR(4) NOT NULL, + SBSCRB_DE DATETIME NULL, + SEXDSTN_CODE CHAR(1) NULL, + ESNTL_ID CHAR(20) NOT NULL, + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMERIC(3) NULL, + LOCK_LAST_PNTTM DATETIME NULL, + CHG_PWD_LAST_PNTTM DATETIME NULL, + PRIMARY KEY (MBER_ID), + FOREIGN KEY COMTNGNRLMBER_FK1 (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) + ON DELETE SET NULL +) +; + + + +CREATE UNIQUE INDEX COMTNGNRLMBER_PK ON COMTNGNRLMBER +( + MBER_ID +) +; + + + +CREATE INDEX COMTNGNRLMBER_i01 ON COMTNGNRLMBER +( + GROUP_ID +) +; + + + +CREATE TABLE COMTNAUTHORINFO +( + AUTHOR_CODE VARCHAR(30) NOT NULL, + AUTHOR_NM VARCHAR(60) NOT NULL, + AUTHOR_DC VARCHAR(200) NULL, + AUTHOR_CREAT_DE CHAR(20) NOT NULL, + PRIMARY KEY (AUTHOR_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNAUTHORINFO_PK ON COMTNAUTHORINFO +( + AUTHOR_CODE +) +; + + + +CREATE TABLE COMTNEMPLYRSCRTYESTBS +( + SCRTY_DTRMN_TRGET_ID VARCHAR(20) NOT NULL, + MBER_TY_CODE CHAR(5) NULL, + AUTHOR_CODE VARCHAR(30) NOT NULL, + PRIMARY KEY (SCRTY_DTRMN_TRGET_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNEMPLYRSCRTYESTBS_PK ON COMTNEMPLYRSCRTYESTBS +( + SCRTY_DTRMN_TRGET_ID +) +; + + + +CREATE INDEX COMTNEMPLYRSCRTYESTBS_i04 ON COMTNEMPLYRSCRTYESTBS +( + AUTHOR_CODE +) +; + + + +CREATE TABLE COMTNQAINFO +( + QA_ID CHAR(20) NOT NULL, + QESTN_SJ VARCHAR(255) NULL, + QESTN_CN VARCHAR(2500) NULL, + WRITNG_DE CHAR(20) NULL, + RDCNT NUMERIC(10) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + QNA_PROCESS_STTUS_CODE CHAR(1) NULL, + WRTER_NM VARCHAR(20) NULL, + ANSWER_CN VARCHAR(2500) NULL, + WRITNG_PASSWORD VARCHAR(20) NULL, + ANSWER_DE CHAR(20) NULL, + EMAIL_ANSWER_AT CHAR(1) NULL, + AREA_NO VARCHAR(4) NULL, + MIDDLE_TELNO VARCHAR(4) NULL, + END_TELNO VARCHAR(4) NULL, + PRIMARY KEY (QA_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQAINFO_PK ON COMTNQAINFO +( + QA_ID +) +; + + + +CREATE TABLE COMTSWEBLOGSUMMARY +( + OCCRRNC_DE CHAR(8) NOT NULL, + URL VARCHAR(200) NOT NULL, + RDCNT NUMERIC(10) NULL, + PRIMARY KEY (OCCRRNC_DE,URL) +) +; + + + +CREATE UNIQUE INDEX COMTSWEBLOGSUMMARY_PK ON COMTSWEBLOGSUMMARY +( + OCCRRNC_DE, + URL +) +; + + + +CREATE TABLE COMTNROLES_HIERARCHY +( + PARNTS_ROLE VARCHAR(30) NOT NULL, + CHLDRN_ROLE VARCHAR(30) NOT NULL, + PRIMARY KEY (PARNTS_ROLE,CHLDRN_ROLE), + FOREIGN KEY COMTNROLES_HIERARCHY_FK1 (PARNTS_ROLE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) + ON DELETE CASCADE, + FOREIGN KEY COMTNROLES_HIERARCHY_FK2 (CHLDRN_ROLE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) + ON DELETE CASCADE +) +; + + + +CREATE UNIQUE INDEX COMTNROLES_HIERARCHY_PK ON COMTNROLES_HIERARCHY +( + PARNTS_ROLE, + CHLDRN_ROLE +) +; + + + +CREATE UNIQUE INDEX COMTNROLES_HIERARCHY_i01 ON COMTNROLES_HIERARCHY +( + PARNTS_ROLE +) +; + + + +CREATE INDEX COMTNROLES_HIERARCHY_i02 ON COMTNROLES_HIERARCHY +( + CHLDRN_ROLE +) +; + + + +CREATE TABLE COMTNROLEINFO +( + ROLE_CODE VARCHAR(50) NOT NULL, + ROLE_NM VARCHAR(60) NOT NULL, + ROLE_PTTRN VARCHAR(300) NULL, + ROLE_DC VARCHAR(200) NULL, + ROLE_TY VARCHAR(80) NULL, + ROLE_SORT VARCHAR(10) NULL, + ROLE_CREAT_DE CHAR(20) NOT NULL, + PRIMARY KEY (ROLE_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNROLEINFO_PK ON COMTNROLEINFO +( + ROLE_CODE +) +; + + + +CREATE TABLE COMTNAUTHORROLERELATE +( + AUTHOR_CODE VARCHAR(30) NOT NULL, + ROLE_CODE VARCHAR(50) NOT NULL, + CREAT_DT DATETIME NULL, + PRIMARY KEY (AUTHOR_CODE,ROLE_CODE), + FOREIGN KEY COMTNAUTHORROLERELATE_FK1 (AUTHOR_CODE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) + ON DELETE CASCADE, + FOREIGN KEY COMTNAUTHORROLERELATE_FK2 (ROLE_CODE) REFERENCES COMTNROLEINFO(ROLE_CODE) + ON DELETE CASCADE +) +; + + + +CREATE UNIQUE INDEX COMTNAUTHORROLERELATE_PK ON COMTNAUTHORROLERELATE +( + AUTHOR_CODE, + ROLE_CODE +) +; + + + +CREATE INDEX COMTNAUTHORROLERELATE_i01 ON COMTNAUTHORROLERELATE +( + AUTHOR_CODE +) +; + + + +CREATE INDEX COMTNAUTHORROLERELATE_i02 ON COMTNAUTHORROLERELATE +( + ROLE_CODE +) +; + + + +CREATE TABLE COMTNLOGINLOG +( + LOG_ID CHAR(20) NOT NULL, + CONECT_ID VARCHAR(20) NULL, + CONECT_IP VARCHAR(23) NULL, + CONECT_MTHD CHAR(4) NULL, + ERROR_OCCRRNC_AT CHAR(1) NULL, + ERROR_CODE CHAR(3) NULL, + CREAT_DT DATETIME NULL, + PRIMARY KEY (LOG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNLOGINLOG_PK ON COMTNLOGINLOG +( + LOG_ID +) +; + + + +CREATE TABLE COMTNWEBLOG +( + REQUST_ID VARCHAR(20) NOT NULL, + OCCRRNC_DE DATETIME NULL, + URL VARCHAR(200) NULL, + RQESTER_ID VARCHAR(20) NULL, + RQESTER_IP VARCHAR(23) NULL, + PRIMARY KEY (REQUST_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNWEBLOG_PK ON COMTNWEBLOG +( + REQUST_ID +) +; + + + +CREATE TABLE COMTNEVENTINFO +( + EVENT_ID CHAR(20) NOT NULL, + BSNS_YEAR CHAR(4) NULL, + BSNS_CODE VARCHAR(2) NULL, + EVENT_CN VARCHAR(1000) NULL, + EVENT_SVC_BGNDE CHAR(20) NULL, + SVC_USE_NMPR_CO NUMERIC(10) NULL, + CHARGER_NM VARCHAR(50) NULL, + PRPARETG_CN VARCHAR(2500) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + EVENT_SVC_ENDDE CHAR(20) NULL, + EVENT_TY_CODE CHAR(1) NULL, + EVENT_CONFM_AT CHAR(1) NULL, + EVENT_CONFM_DE CHAR(20) NULL, + PRIMARY KEY (EVENT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNEVENTINFO_PK ON COMTNEVENTINFO +( + EVENT_ID +) +; + + + +CREATE TABLE COMTNEXTRLHRINFO +( + EVENT_ID CHAR(20) NOT NULL, + EXTRL_HR_ID CHAR(20) NOT NULL, + SEXDSTN_CODE CHAR(1) NULL, + EXTRL_HR_NM VARCHAR(60) NULL, + OCCP_TY_CODE CHAR(1) NULL, + PSITN_INSTT_NM VARCHAR(100) NULL, + BRTHDY CHAR(20) NULL, + AREA_NO VARCHAR(4) NULL, + MIDDLE_TELNO VARCHAR(4) NULL, + END_TELNO VARCHAR(4) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (EVENT_ID,EXTRL_HR_ID), + FOREIGN KEY COMTNEXTRLHRINFO_FK1 (EVENT_ID) REFERENCES COMTNEVENTINFO(EVENT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNEXTRLHRINFO_PK ON COMTNEXTRLHRINFO +( + EVENT_ID, + EXTRL_HR_ID +) +; + + + +CREATE INDEX COMTNEXTRLHRINFO_i01 ON COMTNEXTRLHRINFO +( + EVENT_ID +) +; + + + +CREATE TABLE COMTNBBSUSE +( + BBS_ID CHAR(20) NOT NULL, + TRGET_ID CHAR(20) NOT NULL, + USE_AT CHAR(1) NOT NULL, + REGIST_SE_CODE CHAR(6) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (BBS_ID,TRGET_ID), + FOREIGN KEY COMTNBBSUSE_FK1 (BBS_ID) REFERENCES COMTNBBSMASTER(BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBBSUSE_PK ON COMTNBBSUSE +( + BBS_ID, + TRGET_ID +) +; + + + +CREATE INDEX COMTNBBSUSE_i01 ON COMTNBBSUSE +( + BBS_ID +) +; + + + +CREATE TABLE COMTNSTPLATINFO +( + USE_STPLAT_ID CHAR(20) NOT NULL, + USE_STPLAT_NM VARCHAR(100) NULL, + USE_STPLAT_CN MEDIUMTEXT NULL, + INFO_PROVD_AGRE_CN MEDIUMTEXT NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (USE_STPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSTPLATINFO_PK ON COMTNSTPLATINFO +( + USE_STPLAT_ID +) +; + + + +CREATE TABLE COMTNQUSTNRQESITM +( + QESTNR_ID CHAR(20) NOT NULL, + QUSTNR_QESITM_ID CHAR(20) NOT NULL, + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + QESTN_SN NUMERIC(10) NULL, + QESTN_TY_CODE CHAR(1) NULL, + QESTN_CN VARCHAR(2500) NULL, + MXMM_CHOISE_CO NUMERIC(5) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID), + FOREIGN KEY COMTNQUSTNRQESITM_FK1 (QUSTNR_TMPLAT_ID,QESTNR_ID) REFERENCES COMTNQESTNRINFO(QUSTNR_TMPLAT_ID,QESTNR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQUSTNRQESITM_PK ON COMTNQUSTNRQESITM +( + QESTNR_ID, + QUSTNR_QESITM_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE INDEX COMTNQUSTNRQESITM_i02 ON COMTNQUSTNRQESITM +( + QESTNR_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTNQUSTNRRSPNSRESULT +( + QUSTNR_RSPNS_RESULT_ID CHAR(20) NOT NULL, + QESTNR_ID CHAR(20) NOT NULL, + QUSTNR_QESITM_ID CHAR(20) NOT NULL, + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + RESPOND_ANSWER_CN VARCHAR(1000) NULL, + ETC_ANSWER_CN VARCHAR(1000) NULL, + RESPOND_NM VARCHAR(50) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + QUSTNR_IEM_ID VARCHAR(20) NULL, + PRIMARY KEY (QUSTNR_RSPNS_RESULT_ID,QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID), + FOREIGN KEY COMTNQUSTNRRSPNSRESULT_FK1 (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRQESITM(QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQUSTNRRSPNSRESULT_PK ON COMTNQUSTNRRSPNSRESULT +( + QUSTNR_RSPNS_RESULT_ID, + QESTNR_ID, + QUSTNR_QESITM_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE INDEX COMTNQUSTNRRSPNSRESULT_i01 ON COMTNQUSTNRRSPNSRESULT +( + QESTNR_ID, + QUSTNR_QESITM_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTNADBKMANAGE +( + ADBK_ID CHAR(20) NOT NULL, + ADBK_NM VARCHAR(50) NOT NULL, + OTHBC_SCOPE VARCHAR(20) NOT NULL, + USE_AT CHAR(1) NOT NULL, + WRTER_ID VARCHAR(20) NULL, + TRGET_ORGNZT_ID CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (ADBK_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNADBKMANAGE_PK ON COMTNADBKMANAGE +( + ADBK_ID +) +; + + + +CREATE TABLE COMTNADBK +( + EMPLYR_ID VARCHAR(20) NULL, + NCRD_ID CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDT_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + ADBK_CONSTNT_ID CHAR(20) NOT NULL, + NM VARCHAR(50) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + MBTLNUM VARCHAR(20) NULL, + FXNUM VARCHAR(20) NULL, + OFFM_TELNO VARCHAR(20) NULL, + HOUSE_TELNO VARCHAR(20) NULL, + ADBK_ID CHAR(20) NOT NULL, + PRIMARY KEY (ADBK_CONSTNT_ID,ADBK_ID), + FOREIGN KEY COMTNADBK_FK1 (ADBK_ID) REFERENCES COMTNADBKMANAGE(ADBK_ID) + ON DELETE CASCADE +) +; + + + +CREATE UNIQUE INDEX COMTNADBK_PK ON COMTNADBK +( + ADBK_CONSTNT_ID, + ADBK_ID +) +; + + + +CREATE INDEX COMTNADBK_i01 ON COMTNADBK +( + ADBK_ID +) +; + + + +CREATE TABLE COMTNQUSTNRIEM +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + QESTNR_ID CHAR(20) NOT NULL, + QUSTNR_QESITM_ID CHAR(20) NOT NULL, + QUSTNR_IEM_ID VARCHAR(20) NOT NULL, + IEM_SN NUMERIC(5) NULL, + IEM_CN VARCHAR(1000) NULL, + ETC_ANSWER_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_IEM_ID), + FOREIGN KEY COMTNQUSTNRIEM_FK1 (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRQESITM(QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQUSTNRIEM_PK ON COMTNQUSTNRIEM +( + QUSTNR_TMPLAT_ID, + QESTNR_ID, + QUSTNR_QESITM_ID, + QUSTNR_IEM_ID +) +; + + + +CREATE INDEX COMTNQUSTNRIEM_i01 ON COMTNQUSTNRIEM +( + QUSTNR_QESITM_ID, + QESTNR_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTNADMINISTRATIONWORD +( + ADMINIST_WORD_ID CHAR(20) NOT NULL, + ADMINIST_WORD_NM VARCHAR(255) NULL, + ADMINIST_WORD_ENG_NM VARCHAR(255) NULL, + ADMINIST_WORD_ABRV_NM VARCHAR(255) NULL, + THEMA_RELM VARCHAR(255) NULL, + WORD_SE VARCHAR(255) NULL, + RELATE_STD_WORD VARCHAR(255) NULL, + ADMINIST_WORD_DFN VARCHAR(2500) NULL, + ADMINIST_WORD_DC VARCHAR(4000) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (ADMINIST_WORD_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNADMINISTRATIONWORD_PK ON COMTNADMINISTRATIONWORD +( + ADMINIST_WORD_ID +) +; + + + +CREATE TABLE COMTNONLINEMANUAL +( + ONLINE_MNL_ID CHAR(20) NOT NULL, + ONLINE_MNL_SE_CODE CHAR(3) NULL, + ONLINE_MNL_DFN MEDIUMTEXT NULL, + ONLINE_MNL_DC MEDIUMTEXT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + ONLINE_MNL_NM VARCHAR(255) NULL, + PRIMARY KEY (ONLINE_MNL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNONLINEMANUAL_PK ON COMTNONLINEMANUAL +( + ONLINE_MNL_ID +) +; + + + +CREATE TABLE COMTSUSERSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL, + STATS_SE VARCHAR(10) NOT NULL, + DETAIL_STATS_SE VARCHAR(10) NOT NULL, + USER_CO NUMERIC(10) NULL, + PRIMARY KEY (OCCRRNC_DE,STATS_SE,DETAIL_STATS_SE) +) +; + + + +CREATE UNIQUE INDEX COMTSUSERSUMMARY_PK ON COMTSUSERSUMMARY +( + OCCRRNC_DE, + STATS_SE, + DETAIL_STATS_SE +) +; + + + +CREATE TABLE COMTNFAQINFO +( + FAQ_ID CHAR(20) NOT NULL, + QESTN_SJ VARCHAR(255) NULL, + QESTN_CN VARCHAR(2500) NULL, + ANSWER_CN VARCHAR(2500) NULL, + RDCNT NUMERIC(10) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NOT NULL, + ATCH_FILE_ID CHAR(20) NULL, + QNA_PROCESS_STTUS_CODE CHAR(1) NULL, + PRIMARY KEY (FAQ_ID), + FOREIGN KEY COMTNFAQINFO_FK1 (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNFAQINFO_PK ON COMTNFAQINFO +( + FAQ_ID +) +; + + + +CREATE INDEX COMTNFAQINFO_i01 ON COMTNFAQINFO +( + ATCH_FILE_ID +) +; + + + +CREATE TABLE COMTNMTGINFO +( + MTG_ID CHAR(20) NOT NULL, + MTG_NM VARCHAR(255) NULL, + MTG_MTR_CN VARCHAR(1000) NULL, + MTG_SN NUMERIC(10) NULL, + MTG_CO NUMERIC(5) NULL, + MTG_DE CHAR(20) NULL, + MTG_PLACE VARCHAR(255) NULL, + MTG_BEGIN_TM VARCHAR(14) NULL, + MTG_END_TM VARCHAR(14) NULL, + CLSDR_MTG_AT CHAR(1) NULL, + READNG_BGNDE CHAR(20) NULL, + READNG_AT CHAR(1) NULL, + MTG_RESULT_CN VARCHAR(1000) NULL, + MTG_RESULT_ENNC CHAR(1) NULL, + ETC_MATTER VARCHAR(1000) NULL, + MNGT_DEPT_ID VARCHAR(20) NULL, + MNAER_ID VARCHAR(20) NULL, + MNAER_DEPT_ID VARCHAR(20) NULL, + MTG_AT CHAR(1) NULL, + NONATDRN_CO NUMERIC(10) NULL, + ATDRN_CO NUMERIC(10) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (MTG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMTGINFO_PK ON COMTNMTGINFO +( + MTG_ID +) +; + + + +CREATE TABLE COMTNREPRTSTATS +( + REPRT_ID CHAR(6) NOT NULL, + REPRT_NM VARCHAR(20) NOT NULL, + REPRT_STTUS CHAR(2) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + REPRT_TY CHAR(2) NULL, + PRIMARY KEY (REPRT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNREPRTSTATS_PK ON COMTNREPRTSTATS +( + REPRT_ID +) +; + + + +CREATE TABLE COMTNSMS +( + SMS_ID CHAR(20) NOT NULL, + TRNSMIS_TELNO VARCHAR(12) NOT NULL, + TRNSMIS_CN VARCHAR(80) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (SMS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSMS_PK ON COMTNSMS +( + SMS_ID +) +; + + + +CREATE TABLE COMTNSMSRECPTN +( + SMS_ID CHAR(20) NOT NULL, + RECPTN_TELNO VARCHAR(12) NOT NULL, + RESULT_CODE VARCHAR(4) NULL, + RESULT_MSSAGE VARCHAR(4000) NULL, + PRIMARY KEY (SMS_ID,RECPTN_TELNO), + FOREIGN KEY COMTNSMSRECPTN_FK1 (SMS_ID) REFERENCES COMTNSMS(SMS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSMSRECPTN_PK ON COMTNSMSRECPTN +( + SMS_ID, + RECPTN_TELNO +) +; + + + +CREATE INDEX COMTNSMSRECPTN_i01 ON COMTNSMSRECPTN +( + SMS_ID +) +; + + + +CREATE TABLE COMTNCPYRHTINFO +( + CPYRHT_ID CHAR(20) NOT NULL, + CPYRHT_PRTC_POLICY_CN VARCHAR(2500) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CPYRHT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCPYRHTINFO_PK ON COMTNCPYRHTINFO +( + CPYRHT_ID +) +; + + + +CREATE TABLE COMTNSCHDULINFO +( + SCHDUL_ID CHAR(20) NOT NULL, + SCHDUL_SE CHAR(1) NULL, + SCHDUL_DEPT_ID VARCHAR(20) NULL, + SCHDUL_KND_CODE CHAR(1) NULL, + SCHDUL_BGNDE CHAR(20) NULL, + SCHDUL_ENDDE CHAR(20) NULL, + SCHDUL_NM VARCHAR(255) NULL, + SCHDUL_CN VARCHAR(2500) NULL, + SCHDUL_PLACE VARCHAR(255) NULL, + SCHDUL_IPCR_CODE CHAR(1) NULL, + SCHDUL_CHARGER_ID VARCHAR(20) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + REPTIT_SE_CODE CHAR(1) NULL, + PRIMARY KEY (SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSCHDULINFO_PK ON COMTNSCHDULINFO +( + SCHDUL_ID +) +; + + + +CREATE TABLE COMTNDIARYINFO +( + SCHDUL_ID CHAR(20) NOT NULL, + DIARY_ID CHAR(20) NOT NULL, + DIARY_PROGRSRT NUMERIC(3) NULL, + DIARY_NM VARCHAR(255) NULL, + DRCT_MATTER VARCHAR(2500) NULL, + PARTCLR_MATTER VARCHAR(2500) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (SCHDUL_ID,DIARY_ID), + FOREIGN KEY COMTNDIARYINFO_FK1 (SCHDUL_ID) REFERENCES COMTNSCHDULINFO(SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDIARYINFO_PK ON COMTNDIARYINFO +( + SCHDUL_ID, + DIARY_ID +) +; + + + +CREATE INDEX COMTNDIARYINFO_i01 ON COMTNDIARYINFO +( + SCHDUL_ID +) +; + + + +CREATE TABLE COMTNONLINEPOLLMANAGE +( + POLL_ID CHAR(20) NOT NULL, + POLL_NM VARCHAR(255) NULL, + POLL_BGNDE CHAR(10) NULL, + POLL_ENDDE CHAR(10) NULL, + POLL_KND CHAR(3) NULL, + POLL_DSUSE_ENNC CHAR(1) NULL, + POLL_ATMC_DSUSE_ENNC CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (POLL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNONLINEPOLLMANAGE_PK ON COMTNONLINEPOLLMANAGE +( + POLL_ID +) +; + + + +CREATE TABLE COMTNONLINEPOLLIEM +( + POLL_IEM_NM VARCHAR(255) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + POLL_IEM_ID CHAR(20) NOT NULL, + POLL_ID CHAR(20) NOT NULL, + PRIMARY KEY (POLL_ID,POLL_IEM_ID), + FOREIGN KEY COMTNONLINEPOLLIEM_FK1 (POLL_ID) REFERENCES COMTNONLINEPOLLMANAGE(POLL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNONLINEPOLLIEM_PK ON COMTNONLINEPOLLIEM +( + POLL_ID, + POLL_IEM_ID +) +; + + + +CREATE INDEX COMTNONLINEPOLLIEM_i01 ON COMTNONLINEPOLLIEM +( + POLL_ID +) +; + + + +CREATE TABLE COMTNONLINEPOLLRESULT +( + POLL_RESULT_ID CHAR(20) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + POLL_IEM_ID CHAR(20) NOT NULL, + POLL_ID CHAR(20) NOT NULL, + PRIMARY KEY (POLL_RESULT_ID,POLL_IEM_ID,POLL_ID), + FOREIGN KEY COMTNONLINEPOLLRESULT_FK1 (POLL_ID,POLL_IEM_ID) REFERENCES COMTNONLINEPOLLIEM(POLL_ID,POLL_IEM_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNONLINEPOLLRESULT_PK ON COMTNONLINEPOLLRESULT +( + POLL_RESULT_ID, + POLL_IEM_ID, + POLL_ID +) +; + + + +CREATE INDEX COMTNONLINEPOLLRESULT_i01 ON COMTNONLINEPOLLRESULT +( + POLL_IEM_ID, + POLL_ID +) +; + + + +CREATE TABLE COMTNWORDDICARYINFO +( + WORD_ID CHAR(20) NOT NULL, + WORD_NM VARCHAR(255) NULL, + ENG_NM VARCHAR(60) NULL, + WORD_DC VARCHAR(4000) NULL, + SYNONM VARCHAR(100) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (WORD_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNWORDDICARYINFO_PK ON COMTNWORDDICARYINFO +( + WORD_ID +) +; + + + +CREATE TABLE COMTNCNTCSERVICE +( + INSTT_ID VARCHAR(20) NOT NULL, + SYS_ID VARCHAR(20) NOT NULL, + SVC_ID VARCHAR(20) NOT NULL, + SVC_NM VARCHAR(255) NULL, + REQUST_MSSAGE_ID VARCHAR(20) NULL, + RSPNS_MSSAGE_ID VARCHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + USE_AT CHAR(1) NULL, + PRIMARY KEY (INSTT_ID,SYS_ID,SVC_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTCSERVICE_PK ON COMTNCNTCSERVICE +( + INSTT_ID, + SYS_ID, + SVC_ID +) +; + + + +CREATE TABLE COMTNHPCMINFO +( + HPCM_ID CHAR(20) NOT NULL, + HPCM_SE_CODE CHAR(1) NULL, + HPCM_DFN VARCHAR(1000) NULL, + HPCM_DC VARCHAR(2500) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (HPCM_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNHPCMINFO_PK ON COMTNHPCMINFO +( + HPCM_ID +) +; + + + +CREATE TABLE COMTNNEWSINFO +( + NEWS_ID CHAR(20) NOT NULL, + NEWS_SJ VARCHAR(100) NULL, + NEWS_CN VARCHAR(2500) NULL, + NEWS_ORIGIN VARCHAR(250) NULL, + NTCE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NOT NULL, + NTCE_DE CHAR(20) NULL, + ATCH_FILE_ID CHAR(20) NULL, + PRIMARY KEY (NEWS_ID), + FOREIGN KEY COMTNNEWSINFO_FK1 (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) + ON DELETE SET NULL +) +; + + + +CREATE UNIQUE INDEX COMTNNEWSINFO_PK ON COMTNNEWSINFO +( + NEWS_ID +) +; + + + +CREATE INDEX COMTNNEWSINFO_i01 ON COMTNNEWSINFO +( + ATCH_FILE_ID +) +; + + + +CREATE TABLE COMTNCNSLTLIST +( + CNSLT_ID CHAR(20) NOT NULL, + CNSLT_SJ VARCHAR(255) NULL, + OTHBC_AT CHAR(1) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + CNSLT_CN VARCHAR(2500) NULL, + MANAGT_CN VARCHAR(2500) NULL, + MANAGT_DE CHAR(20) NULL, + RDCNT NUMERIC(10) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + AREA_NO VARCHAR(4) NULL, + MIDDLE_TELNO VARCHAR(4) NULL, + END_TELNO VARCHAR(4) NULL, + FRST_MBTLNUM VARCHAR(4) NULL, + MIDDLE_MBTLNUM VARCHAR(4) NULL, + END_MBTLNUM VARCHAR(4) NULL, + WRITNG_DE CHAR(20) NULL, + WRTER_NM VARCHAR(20) NULL, + EMAIL_ANSWER_AT CHAR(1) NULL, + QNA_PROCESS_STTUS_CODE CHAR(1) NULL, + WRITNG_PASSWORD VARCHAR(20) NULL, + PRIMARY KEY (CNSLT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNSLTLIST_PK ON COMTNCNSLTLIST +( + CNSLT_ID +) +; + + + +CREATE TABLE COMTNMENUINFO +( + MENU_NM VARCHAR(60) NOT NULL, + PROGRM_FILE_NM VARCHAR(60) NOT NULL, + MENU_NO NUMERIC(20) NOT NULL, + UPPER_MENU_NO NUMERIC(20) NULL, + MENU_ORDR NUMERIC(5) NOT NULL, + MENU_DC VARCHAR(250) NULL, + RELATE_IMAGE_PATH VARCHAR(100) NULL, + RELATE_IMAGE_NM VARCHAR(60) NULL, + PRIMARY KEY (MENU_NO), + FOREIGN KEY COMTNMENUINFO_FK2 (PROGRM_FILE_NM) REFERENCES COMTNPROGRMLIST(PROGRM_FILE_NM) + ON DELETE CASCADE, + FOREIGN KEY COMTNMENUINFO_FK1 (UPPER_MENU_NO) REFERENCES COMTNMENUINFO(MENU_NO) + ON DELETE CASCADE +) +; + + + +CREATE UNIQUE INDEX COMTNMENUINFO_PK ON COMTNMENUINFO +( + MENU_NO +) +; + + + + + + +CREATE INDEX COMTNMENUINFO_i02 ON COMTNMENUINFO +( + UPPER_MENU_NO +) +; + + + +CREATE TABLE COMTNSITEMAP +( + MAPNG_CREAT_ID VARCHAR(30) NOT NULL, + CREATR_ID VARCHAR(20) NOT NULL, + MAPNG_FILE_NM VARCHAR(60) NOT NULL, + MAPNG_FILE_PATH VARCHAR(100) NOT NULL, + PRIMARY KEY (MAPNG_CREAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSITEMAP_PK ON COMTNSITEMAP +( + MAPNG_CREAT_ID +) +; + + + +CREATE TABLE COMTNMENUCREATDTLS +( + MENU_NO NUMERIC(20) NOT NULL, + AUTHOR_CODE VARCHAR(30) NOT NULL, + MAPNG_CREAT_ID VARCHAR(30) NULL, + PRIMARY KEY (MENU_NO,AUTHOR_CODE), + FOREIGN KEY COMTNMENUCREATDTLS_FK2 (MENU_NO) REFERENCES COMTNMENUINFO(MENU_NO) + ON DELETE CASCADE, + FOREIGN KEY COMTNMENUCREATDTLS_FK3 (MAPNG_CREAT_ID) REFERENCES COMTNSITEMAP(MAPNG_CREAT_ID) + ON DELETE CASCADE, + FOREIGN KEY COMTNMENUCREATDTLS_FK1 (AUTHOR_CODE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNMENUCREATDTLS_PK ON COMTNMENUCREATDTLS +( + MENU_NO, + AUTHOR_CODE +) +; + + + +CREATE INDEX COMTNMENUCREATDTLS_i02 ON COMTNMENUCREATDTLS +( + MENU_NO +) +; + + + +CREATE INDEX COMTNMENUCREATDTLS_i03 ON COMTNMENUCREATDTLS +( + MAPNG_CREAT_ID +) +; + + + +CREATE INDEX COMTNMENUCREATDTLS_i04 ON COMTNMENUCREATDTLS +( + AUTHOR_CODE +) +; + + + +CREATE TABLE COMTHEMPLYRINFOCHANGEDTLS +( + EMPLYR_ID VARCHAR(20) NOT NULL, + CHANGE_DE CHAR(20) NOT NULL, + ORGNZT_ID CHAR(20) NULL, + GROUP_ID CHAR(20) NULL, + EMPL_NO VARCHAR(20) NULL, + SEXDSTN_CODE CHAR(1) NULL, + BRTHDY CHAR(20) NULL, + FXNUM VARCHAR(20) NULL, + HOUSE_ADRES VARCHAR(100) NULL, + HOUSE_END_TELNO VARCHAR(4) NULL, + AREA_NO VARCHAR(4) NULL, + DETAIL_ADRES VARCHAR(100) NULL, + ZIP VARCHAR(6) NULL, + OFFM_TELNO VARCHAR(20) NULL, + MBTLNUM VARCHAR(20) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + HOUSE_MIDDLE_TELNO VARCHAR(4) NULL, + PSTINST_CODE CHAR(8) NULL, + EMPLYR_STTUS_CODE CHAR(1) NULL, + ESNTL_ID CHAR(20) NULL, + PRIMARY KEY (EMPLYR_ID,CHANGE_DE), + FOREIGN KEY COMTHEMPLYRINFOCHANGEDTLS_FK1 (EMPLYR_ID) REFERENCES COMTNEMPLYRINFO(EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHEMPLYRINFOCHANGEDTLS_PK ON COMTHEMPLYRINFOCHANGEDTLS +( + EMPLYR_ID, + CHANGE_DE +) +; + + + +CREATE INDEX COMTHEMPLYRINFOCHANGEDTLS_i01 ON COMTHEMPLYRINFOCHANGEDTLS +( + EMPLYR_ID +) +; + + + +CREATE TABLE COMTNNTFCINFO +( + NTCN_NO NUMERIC(20) NOT NULL, + NTCN_SJ VARCHAR(60) NOT NULL, + NTCN_CN VARCHAR(100) NOT NULL, + NTCN_TM VARCHAR(14) NOT NULL, + BH_NTCN_INTRVL VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (NTCN_NO) +) +; + + + +CREATE UNIQUE INDEX COMTNNTFCINFO_PK ON COMTNNTFCINFO +( + NTCN_NO +) +; + + + +CREATE TABLE COMTNCNTCSYSTEM +( + INSTT_ID VARCHAR(20) NOT NULL, + SYS_ID VARCHAR(20) NOT NULL, + SYS_NM VARCHAR(255) NULL, + SYS_IP VARCHAR(23) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + USE_AT CHAR(1) NULL, + PRIMARY KEY (INSTT_ID,SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTCSYSTEM_PK ON COMTNCNTCSYSTEM +( + INSTT_ID, + SYS_ID +) +; + + + +CREATE TABLE COMTNBBSMASTEROPTN +( + BBS_ID CHAR(20) NOT NULL, + ANSWER_AT CHAR(1) NOT NULL, + STSFDG_AT CHAR(1) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBBSMASTEROPTN_PK ON COMTNBBSMASTEROPTN +( + BBS_ID +) +; + + + +CREATE TABLE COMTNANSWER +( + NTT_ID NUMERIC(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + WRTER_ID VARCHAR(20) NULL, + ANSWER VARCHAR(200) NULL, + USE_AT CHAR(1) NOT NULL, + WRTER_NM VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + ANSWER_NO NUMERIC(20) NOT NULL, + PRIMARY KEY (NTT_ID,BBS_ID,ANSWER_NO), + FOREIGN KEY COMTNANSWER_FK1 (BBS_ID) REFERENCES COMTNBBSMASTEROPTN(BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNANSWER_PK ON COMTNANSWER +( + NTT_ID, + BBS_ID, + ANSWER_NO +) +; + + + +CREATE TABLE COMTNTRSMRCVLOG +( + REQUST_ID VARCHAR(20) NOT NULL, + OCCRRNC_DE CHAR(20) NULL, + TRSMRCV_SE_CODE CHAR(3) NULL, + CNTC_ID CHAR(8) NULL, + PROVD_INSTT_ID CHAR(8) NULL, + PROVD_SYS_ID CHAR(8) NULL, + PROVD_SVC_ID CHAR(8) NULL, + REQUST_INSTT_ID CHAR(8) NULL, + REQUST_SYS_ID CHAR(8) NULL, + REQUST_TRNSMIT_TM VARCHAR(14) NULL, + REQUST_RECPTN_TM VARCHAR(14) NULL, + RSPNS_TRNSMIT_TM VARCHAR(14) NULL, + RSPNS_RECPTN_TM VARCHAR(14) NULL, + RESULT_CODE VARCHAR(4) NULL, + RESULT_MSSAGE VARCHAR(4000) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + RQESTER_ID VARCHAR(20) NULL, + PRIMARY KEY (REQUST_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNTRSMRCVLOG_PK ON COMTNTRSMRCVLOG +( + REQUST_ID +) +; + + + +CREATE TABLE COMTNDAMCALRES +( + ORGNZT_ID CHAR(20) NULL, + EXPERT_ID CHAR(20) NULL, + KNWLDG_TY_CODE VARCHAR(3) NULL, + EMPLYR_ID VARCHAR(20) NULL, + KNWLDG_NM VARCHAR(60) NULL, + KNWLDG_CN VARCHAR(2500) NULL, + ATCH_FILE_ID CHAR(20) NULL, + PARNTS_KNWLDG_ID CHAR(20) NULL, + ANSWER_DP NUMERIC(20) NULL, + ANSWER_ORDR NUMERIC(20) NULL, + ANSWER_GROUP_NO NUMERIC(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + KNWLDG_ID CHAR(20) NOT NULL, + PRIMARY KEY (KNWLDG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDAMCALRES_PK ON COMTNDAMCALRES +( + KNWLDG_ID +) +; + + + +CREATE TABLE COMTNBACKUPRESULT +( + BACKUP_RESULT_ID VARCHAR(20) NOT NULL, + BACKUP_OPERT_ID VARCHAR(20) NOT NULL, + BACKUP_FILE VARCHAR(255) NULL, + STTUS VARCHAR(2) NULL, + ERROR_INFO VARCHAR(2000) NULL, + EXECUT_BEGIN_TM VARCHAR(14) NULL, + EXECUT_END_TM VARCHAR(14) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (BACKUP_RESULT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBACKUPRESULT_PK ON COMTNBACKUPRESULT +( + BACKUP_RESULT_ID +) +; + + + +CREATE TABLE COMTHTRSMRCVMNTRNGLOGINFO +( + LOG_ID CHAR(20) NOT NULL, + CNTC_ID CHAR(8) NOT NULL, + TEST_CLASS_NM VARCHAR(255) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + LOG_INFO VARCHAR(2000) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (LOG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHTRSMRCVMNTRNGLOGINFO_PK ON COMTHTRSMRCVMNTRNGLOGINFO +( + LOG_ID +) +; + + + +CREATE TABLE COMTNSCRAP +( + SCRAP_ID CHAR(20) NOT NULL, + NTT_ID NUMERIC(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + SCRAP_NM VARCHAR(100) NOT NULL, + USE_AT CHAR(1) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (SCRAP_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSCRAP_PK ON COMTNSCRAP +( + SCRAP_ID +) +; + + + +CREATE TABLE COMTNCNTCINSTT +( + INSTT_ID VARCHAR(20) NOT NULL, + INSTT_NM VARCHAR(100) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDT_PNTTM DATETIME NULL, + USE_AT CHAR(1) NULL, + PRIMARY KEY (INSTT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTCINSTT_PK ON COMTNCNTCINSTT +( + INSTT_ID +) +; + + + +CREATE TABLE COMTHSYSHIST +( + HIST_ID CHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + HIST_SE_CODE CHAR(6) NOT NULL, + HIST_CN VARCHAR(2500) NOT NULL, + SYS_NM VARCHAR(255) NOT NULL, + ATCH_FILE_ID CHAR(20) NULL, + PRIMARY KEY (HIST_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHSYSHIST_PK ON COMTHSYSHIST +( + HIST_ID +) +; + + + +CREATE TABLE COMTNHTTPMON +( + SYS_ID VARCHAR(20) NOT NULL, + SITE_URL VARCHAR(100) NULL, + WEBSVC_KND VARCHAR(10) NULL, + HTTP_STTUS_CODE VARCHAR(3) NULL, + CREAT_DT DATETIME NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNHTTPMON_PK ON COMTNHTTPMON +( + SYS_ID +) +; + + + +CREATE TABLE COMTHHTTPMONLOGINFO +( + SYS_ID VARCHAR(20) NOT NULL, + SITE_URL VARCHAR(100) NULL, + WEBSVC_KND VARCHAR(10) NULL, + HTTP_STTUS_CODE VARCHAR(3) NULL, + CREAT_DT DATETIME NULL, + LOG_INFO VARCHAR(2000) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (SYS_ID,LOG_ID), + FOREIGN KEY COMTHHTTPMONLOGINFO_FK2 (SYS_ID) REFERENCES COMTNHTTPMON(SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHHTTPMONLOGINFO_PK ON COMTHHTTPMONLOGINFO +( + SYS_ID, + LOG_ID +) +; + + + +CREATE TABLE COMTHDBMNTRNGLOGINFO +( + DATA_SOURC_NM VARCHAR(60) NOT NULL, + SERVER_NM VARCHAR(60) NULL, + DBMS_KND VARCHAR(2) NULL, + CECK_SQL VARCHAR(250) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + LOG_INFO VARCHAR(2000) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (LOG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHDBMNTRNGLOGINFO_PK ON COMTHDBMNTRNGLOGINFO +( + LOG_ID +) +; + + + +CREATE TABLE COMTHCONFMHISTORY +( + CONFM_NO NUMERIC(8) NOT NULL, + CONFM_RQESTER_ID VARCHAR(20) NOT NULL, + CONFMER_ID VARCHAR(20) NULL, + CONFM_DE CHAR(20) NULL, + CONFM_TY_CODE CHAR(4) NOT NULL, + CONFM_STTUS_CODE CHAR(4) NOT NULL, + OPERT_TY_CODE CHAR(4) NULL, + OPERT_ID VARCHAR(20) NULL, + TRGET_JOB_TY_CODE CHAR(3) NULL, + TRGET_JOB_ID CHAR(20) NULL, + PRIMARY KEY (CONFM_NO) +) +; + + + +CREATE UNIQUE INDEX COMTHCONFMHISTORY_PK ON COMTHCONFMHISTORY +( + CONFM_NO +) +; + + + +CREATE TABLE COMTNDAMMAPTEAM +( + ORGNZT_ID CHAR(20) NOT NULL, + ORGNZT_NM VARCHAR(20) NULL, + CL_DE CHAR(20) NULL, + KNWLDG_URL VARCHAR(255) NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (ORGNZT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDAMMAPTEAM_PK ON COMTNDAMMAPTEAM +( + ORGNZT_ID +) +; + + + +CREATE TABLE COMTNTMPLATINFO +( + TMPLAT_ID CHAR(20) NOT NULL, + TMPLAT_NM VARCHAR(255) NULL, + TMPLAT_COURS VARCHAR(2000) NULL, + USE_AT CHAR(1) NULL, + TMPLAT_SE_CODE CHAR(6) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (TMPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNTMPLATINFO_PK ON COMTNTMPLATINFO +( + TMPLAT_ID +) +; + + + +CREATE TABLE COMTNINDVDLPGECNTNTS +( + CNTNTS_ID VARCHAR(20) NOT NULL, + CNTNTS_NM VARCHAR(100) NOT NULL, + CNTC_URL VARCHAR(255) NOT NULL, + CNTNTS_USE_AT CHAR(1) NOT NULL, + CNTNTS_LINK_URL VARCHAR(1000) NULL, + CNTNTS_DC VARCHAR(250) NULL, + PRIMARY KEY (CNTNTS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINDVDLPGECNTNTS_PK ON COMTNINDVDLPGECNTNTS +( + CNTNTS_ID +) +; + + + +CREATE TABLE COMTNINDVDLPGEESTBS +( + EMPLYR_ID VARCHAR(20) NOT NULL, + UPEND_IMAGE VARCHAR(1024) NULL, + TITLEBAR_COLOR CHAR(7) NULL, + ALGN_MTHD CHAR(1) NULL, + ALGN_CO NUMERIC(10) NULL, + PRIMARY KEY (EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINDVDLPGEESTBS_PK ON COMTNINDVDLPGEESTBS +( + EMPLYR_ID +) +; + + + +CREATE TABLE COMTNCNTNTSLIST +( + CNTNTS_ID VARCHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (CNTNTS_ID,EMPLYR_ID), + FOREIGN KEY COMTNCNTNTSLIST_FK1 (CNTNTS_ID) REFERENCES COMTNINDVDLPGECNTNTS(CNTNTS_ID), + FOREIGN KEY COMTNCNTNTSLIST_FK2 (EMPLYR_ID) REFERENCES COMTNINDVDLPGEESTBS(EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTNTSLIST_PK ON COMTNCNTNTSLIST +( + CNTNTS_ID, + EMPLYR_ID +) +; + + + +CREATE INDEX COMTNCNTNTSLIST_i01 ON COMTNCNTNTSLIST +( + CNTNTS_ID +) +; + + + +CREATE INDEX COMTNCNTNTSLIST_i02 ON COMTNCNTNTSLIST +( + EMPLYR_ID +) +; + + + +CREATE TABLE COMTNCNTCMESSAGE +( + CNTC_MSSAGE_ID VARCHAR(20) NOT NULL, + CNTC_MSSAGE_NM VARCHAR(100) NULL, + UPPER_CNTC_MSSAGE_ID VARCHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + USE_AT CHAR(1) NULL, + PRIMARY KEY (CNTC_MSSAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTCMESSAGE_PK ON COMTNCNTCMESSAGE +( + CNTC_MSSAGE_ID +) +; + + + +CREATE TABLE COMTNCNTCMESSAGEITEM +( + CNTC_MSSAGE_ID VARCHAR(20) NOT NULL, + IEM_ID VARCHAR(20) NOT NULL, + IEM_NM VARCHAR(100) NULL, + IEM_TY VARCHAR(50) NULL, + IEM_LT NUMERIC(8) NULL, + USE_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (CNTC_MSSAGE_ID,IEM_ID), + FOREIGN KEY COMTNCNTCMESSAGEITEM_FK1 (CNTC_MSSAGE_ID) REFERENCES COMTNCNTCMESSAGE(CNTC_MSSAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTCMESSAGEITEM_PK ON COMTNCNTCMESSAGEITEM +( + CNTC_MSSAGE_ID, + IEM_ID +) +; + + + +CREATE INDEX COMTNCNTCMESSAGEITEM_i01 ON COMTNCNTCMESSAGEITEM +( + CNTC_MSSAGE_ID +) +; + + + +CREATE TABLE COMTNBKMKMENUMANAGERESULT +( + MENU_ID NUMERIC(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + MENU_NM VARCHAR(60) NOT NULL, + PROGRM_STRE_PATH VARCHAR(100) NOT NULL, + PRIMARY KEY (MENU_ID,EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBKMKMENUMANAGERESULT_PK ON COMTNBKMKMENUMANAGERESULT +( + MENU_ID, + EMPLYR_ID +) +; + + + +CREATE TABLE COMTNSYSTEMCNTC +( + CNTC_ID CHAR(8) NOT NULL, + CNTC_NM VARCHAR(100) NULL, + PROVD_INSTT_ID CHAR(8) NULL, + PROVD_SYS_ID CHAR(8) NULL, + PROVD_SVC_ID CHAR(8) NULL, + REQUST_INSTT_ID CHAR(8) NULL, + REQUST_SYS_ID CHAR(8) NULL, + CONFM_AT CHAR(1) NULL, + USE_AT CHAR(1) NULL, + VALID_BGNDE CHAR(20) NULL, + VALID_ENDDE CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + CNTC_TY VARCHAR(60) NULL, + PRIMARY KEY (CNTC_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSYSTEMCNTC_PK ON COMTNSYSTEMCNTC +( + CNTC_ID +) +; + + + +CREATE TABLE COMTNINDVDLINFOPOLICY +( + INDVDL_INFO_POLICY_ID CHAR(20) NOT NULL, + INDVDL_INFO_POLICY_CN VARCHAR(2500) NULL, + INDVDL_INFO_POLICY_AGRE_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + INDVDL_INFO_POLICY_NM VARCHAR(255) NULL, + PRIMARY KEY (INDVDL_INFO_POLICY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINDVDLINFOPOLICY_PK ON COMTNINDVDLINFOPOLICY +( + INDVDL_INFO_POLICY_ID +) +; + + + +CREATE TABLE COMTNBNDTMANAGE +( + BNDT_ID VARCHAR(20) NOT NULL, + BNDT_DE CHAR(8) NOT NULL, + RM VARCHAR(2500) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (BNDT_ID,BNDT_DE) +) +; + + + +CREATE UNIQUE INDEX COMTNBNDTMANAGE_PK ON COMTNBNDTMANAGE +( + BNDT_ID, + BNDT_DE +) +; + + + +CREATE TABLE COMTNBNDTCECKMANAGE +( + BNDT_CECK_SE CHAR(2) NOT NULL, + BNDT_CECK_CODE VARCHAR(10) NOT NULL, + BNDT_CECK_CODE_NM VARCHAR(255) NOT NULL, + USE_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (BNDT_CECK_CODE,BNDT_CECK_SE) +) +; + + + +CREATE UNIQUE INDEX COMTNBNDTCECKMANAGE_PK ON COMTNBNDTCECKMANAGE +( + BNDT_CECK_CODE, + BNDT_CECK_SE +) +; + + + +CREATE TABLE COMTNBNDTDIARY +( + BNDT_ID VARCHAR(20) NOT NULL, + BNDT_DE CHAR(8) NOT NULL, + BNDT_CECK_SE CHAR(2) NOT NULL, + BNDT_CECK_CODE VARCHAR(10) NOT NULL, + CHCK_STTUS VARCHAR(1000) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (BNDT_ID,BNDT_DE,BNDT_CECK_SE,BNDT_CECK_CODE), + FOREIGN KEY COMTNBNDTDIARY_FK2 (BNDT_ID,BNDT_DE) REFERENCES COMTNBNDTMANAGE(BNDT_ID,BNDT_DE), + FOREIGN KEY COMTNBNDTDIARY_FK1 (BNDT_CECK_CODE,BNDT_CECK_SE) REFERENCES COMTNBNDTCECKMANAGE(BNDT_CECK_CODE,BNDT_CECK_SE) +) +; + + + +CREATE UNIQUE INDEX COMTNBNDTDIARY_PK ON COMTNBNDTDIARY +( + BNDT_ID, + BNDT_DE, + BNDT_CECK_SE, + BNDT_CECK_CODE +) +; + + + +CREATE TABLE COMTNBATCHRESULT +( + BATCH_RESULT_ID VARCHAR(20) NOT NULL, + BATCH_SCHDUL_ID VARCHAR(20) NOT NULL, + BATCH_OPERT_ID VARCHAR(20) NOT NULL, + PARAMTR VARCHAR(250) NULL, + STTUS VARCHAR(2) NULL, + ERROR_INFO VARCHAR(2000) NULL, + EXECUT_BEGIN_TM VARCHAR(14) NULL, + EXECUT_END_TM VARCHAR(14) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + PRIMARY KEY (BATCH_RESULT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBATCHRESULT_PK ON COMTNBATCHRESULT +( + BATCH_RESULT_ID +) +; + + + +CREATE TABLE COMTNSTSFDG +( + STSFDG_NO NUMERIC(20) NOT NULL, + NTT_ID NUMERIC(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + WRTER_ID VARCHAR(20) NULL, + WRTER_NM VARCHAR(20) NULL, + PASSWORD VARCHAR(200) NULL, + STSFDG NUMERIC(1) NOT NULL, + STSFDG_CN VARCHAR(200) NULL, + USE_AT CHAR(1) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (STSFDG_NO) +) +; + + + +CREATE UNIQUE INDEX COMTNSTSFDG_PK ON COMTNSTSFDG +( + STSFDG_NO +) +; + + + +CREATE TABLE COMTNBATCHOPERT +( + BATCH_OPERT_ID VARCHAR(20) NOT NULL, + BATCH_OPERT_NM VARCHAR(60) NULL, + BATCH_PROGRM VARCHAR(255) NULL, + PARAMTR VARCHAR(250) NULL, + USE_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (BATCH_OPERT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBATCHOPERT_PK ON COMTNBATCHOPERT +( + BATCH_OPERT_ID +) +; + + + +CREATE TABLE COMTNFILESYSMNTRNG +( + FILE_SYS_ID CHAR(20) NOT NULL, + FILE_SYS_NM VARCHAR(60) NOT NULL, + FILE_SYS_MANAGE_NM VARCHAR(255) NOT NULL, + FILE_SYS_SIZE NUMERIC(8) NOT NULL, + FILE_SYS_THRHLD NUMERIC(8) NOT NULL, + FILE_SYS_USGQTY NUMERIC(8) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (FILE_SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNFILESYSMNTRNG_PK ON COMTNFILESYSMNTRNG +( + FILE_SYS_ID +) +; + + + +CREATE TABLE COMTNFILESYSMNTRNGLOGINFO +( + FILE_SYS_ID CHAR(20) NOT NULL, + FILE_SYS_NM VARCHAR(60) NOT NULL, + FILE_SYS_MANAGE_NM VARCHAR(255) NOT NULL, + FILE_SYS_SIZE NUMERIC(8) NOT NULL, + FILE_SYS_THRHLD NUMERIC(8) NOT NULL, + FILE_SYS_USGQTY NUMERIC(8) NULL, + MNTRNG_STTUS CHAR(2) NULL, + LOG_INFO VARCHAR(2000) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (FILE_SYS_ID,LOG_ID), + FOREIGN KEY COMTNFILESYSMNTRNGLOGINFO_FK2 (FILE_SYS_ID) REFERENCES COMTNFILESYSMNTRNG(FILE_SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNFILESYSMNTRNGLOGINFO_PK ON COMTNFILESYSMNTRNGLOGINFO +( + FILE_SYS_ID, + LOG_ID +) +; + + + +CREATE TABLE COMTNBATCHSCHDUL +( + BATCH_SCHDUL_ID VARCHAR(20) NOT NULL, + BATCH_OPERT_ID VARCHAR(20) NOT NULL, + EXECUT_CYCLE VARCHAR(2) NULL, + EXECUT_SCHDUL_DE CHAR(20) NULL, + EXECUT_SCHDUL_HOUR CHAR(2) NULL, + EXECUT_SCHDUL_MNT CHAR(2) NULL, + EXECUT_SCHDUL_SECND CHAR(2) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (BATCH_SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBATCHSCHDUL_PK ON COMTNBATCHSCHDUL +( + BATCH_SCHDUL_ID +) +; + + + +CREATE TABLE COMTNBATCHSCHDULDFK +( + BATCH_SCHDUL_ID VARCHAR(20) NOT NULL, + EXECUT_SCHDUL_DFK_SE CHAR(1) NOT NULL, + PRIMARY KEY (BATCH_SCHDUL_ID,EXECUT_SCHDUL_DFK_SE), + FOREIGN KEY COMTNBATCHSCHDULDFK_FK1 (BATCH_SCHDUL_ID) REFERENCES COMTNBATCHSCHDUL(BATCH_SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBATCHSCHDULDFK_PK ON COMTNBATCHSCHDULDFK +( + BATCH_SCHDUL_ID, + EXECUT_SCHDUL_DFK_SE +) +; + + + +CREATE TABLE COMTNCTSNNMANAGE +( + CTSNN_ID VARCHAR(20) NOT NULL, + USER_ID VARCHAR(20) NOT NULL, + CTSNN_CODE CHAR(2) NOT NULL, + REQST_DE CHAR(20) NOT NULL, + CTSNN_NM VARCHAR(255) NOT NULL, + TRGTER_NM VARCHAR(20) NOT NULL, + BRTHDY CHAR(20) NOT NULL, + OCCRRNC_DE CHAR(20) NOT NULL, + RELATE CHAR(2) NOT NULL, + RM VARCHAR(2500) NULL, + SANCTNER_ID VARCHAR(20) NOT NULL, + CONFM_AT CHAR(1) NULL, + SANCTN_DT DATETIME NULL, + RETURN_RESN VARCHAR(1000) NULL, + INFRML_SANCTN_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (CTSNN_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCTSNNMANAGE_PK ON COMTNCTSNNMANAGE +( + CTSNN_ID +) +; + + + +CREATE TABLE COMTCADMINISTCODERECPTNLOG +( + OCCRRNC_DE CHAR(20) NOT NULL, + ADMINIST_ZONE_SE CHAR(1) NOT NULL, + ADMINIST_ZONE_CODE VARCHAR(10) NOT NULL, + OPERT_SN NUMERIC(10) NOT NULL, + CHANGE_SE_CODE VARCHAR(2) NULL, + PROCESS_SE VARCHAR(2) NULL, + ADMINIST_ZONE_NM VARCHAR(60) NULL, + LOWEST_ADMINIST_ZONE_NM VARCHAR(60) NULL, + CTPRVN_CODE VARCHAR(2) NULL, + SIGNGU_CODE VARCHAR(3) NULL, + EMD_CODE VARCHAR(3) NULL, + LI_CODE VARCHAR(2) NULL, + CREAT_DE CHAR(20) NULL, + ABL_DE CHAR(20) NULL, + ABL_ENNC CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (OCCRRNC_DE,ADMINIST_ZONE_SE,ADMINIST_ZONE_CODE,OPERT_SN) +) +; + + + +CREATE UNIQUE INDEX COMTCADMINISTCODERECPTNLOG_PK ON COMTCADMINISTCODERECPTNLOG +( + OCCRRNC_DE, + ADMINIST_ZONE_SE, + ADMINIST_ZONE_CODE, + OPERT_SN +) +; + + + +CREATE TABLE COMTNTROBLINFO +( + TROBL_ID CHAR(20) NOT NULL, + TROBL_NM VARCHAR(60) NULL, + TROBL_KND CHAR(2) NULL, + TROBL_DC VARCHAR(2000) NULL, + TROBL_OCCRRNC_TIME VARCHAR(14) NULL, + TROBL_RQESTER_NM VARCHAR(60) NULL, + TROBL_REQUST_TIME VARCHAR(14) NULL, + TROBL_PROCESS_RESULT VARCHAR(2000) NULL, + TROBL_OPETR_NM VARCHAR(60) NULL, + TROBL_PROCESS_TIME VARCHAR(14) NULL, + PROCESS_STTUS CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (TROBL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNTROBLINFO_PK ON COMTNTROBLINFO +( + TROBL_ID +) +; + + + +CREATE TABLE COMTNDAMKNOIFM +( + KNWLDG_ID CHAR(20) NOT NULL, + KNWLDG_TY_CODE VARCHAR(3) NULL, + ORGNZT_ID CHAR(20) NULL, + EXPERT_ID CHAR(20) NULL, + EMPLYR_ID VARCHAR(20) NULL, + KNWLDG_NM VARCHAR(60) NULL, + KNWLDG_CN VARCHAR(2500) NULL, + KWRD VARCHAR(100) NULL, + OTHBC_AT CHAR(1) NULL, + KNWLDG_EVL CHAR(1) NULL, + COLCT_DE CHAR(20) NULL, + EVL_DE CHAR(20) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + DSUSE_DE CHAR(20) NULL, + PRIMARY KEY (KNWLDG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDAMKNOIFM_PK ON COMTNDAMKNOIFM +( + KNWLDG_ID +) +; + + + +CREATE TABLE COMTNDAMMAPKNO +( + KNWLDG_TY_CODE VARCHAR(3) NOT NULL, + ORGNZT_ID CHAR(20) NULL, + EXPERT_ID CHAR(20) NULL, + KNWLDG_TY_NM VARCHAR(60) NULL, + CL_DE CHAR(20) NULL, + KNWLDG_URL VARCHAR(255) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (KNWLDG_TY_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNDAMMAPKNO_PK ON COMTNDAMMAPKNO +( + KNWLDG_TY_CODE +) +; + + + +CREATE TABLE COMTNDAMPRO +( + EXPERT_ID CHAR(20) NOT NULL, + KNWLDG_TY_CODE VARCHAR(3) NOT NULL, + EXPERT_GRAD CHAR(1) NOT NULL, + EXPERT_CONFM_DE CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + EXPERT_DC VARCHAR(2000) NULL, + PRIMARY KEY (EXPERT_ID,KNWLDG_TY_CODE,EXPERT_GRAD), + FOREIGN KEY COMTNDAMPRO_FK1 (KNWLDG_TY_CODE) REFERENCES COMTNDAMMAPKNO(KNWLDG_TY_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNDAMPRO_PK ON COMTNDAMPRO +( + EXPERT_ID, + KNWLDG_TY_CODE, + EXPERT_GRAD +) +; + + + +CREATE TABLE COMTNINFRMLSANCTN +( + INFRML_SANCTN_ID CHAR(20) NOT NULL, + JOB_SE_CODE CHAR(3) NOT NULL, + APPLCNT_ID VARCHAR(20) NOT NULL, + REQST_DE CHAR(20) NOT NULL, + SANCTNER_ID VARCHAR(20) NOT NULL, + CONFM_AT CHAR(1) NOT NULL, + SANCTN_DT DATETIME NULL, + RETURN_RESN VARCHAR(1000) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (INFRML_SANCTN_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINFRMLSANCTN_PK ON COMTNINFRMLSANCTN +( + INFRML_SANCTN_ID +) +; + + + +CREATE TABLE COMTNDBMNTRNG +( + DATA_SOURC_NM VARCHAR(60) NOT NULL, + SERVER_NM VARCHAR(60) NULL, + DBMS_KND VARCHAR(2) NULL, + CECK_SQL VARCHAR(250) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (DATA_SOURC_NM) +) +; + + + +CREATE UNIQUE INDEX COMTNDBMNTRNG_PK ON COMTNDBMNTRNG +( + DATA_SOURC_NM +) +; + + + +CREATE TABLE COMTNTRSMRCVMNTRNG +( + CNTC_ID CHAR(8) NOT NULL, + TEST_CLASS_NM VARCHAR(255) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (CNTC_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNTRSMRCVMNTRNG_PK ON COMTNTRSMRCVMNTRNG +( + CNTC_ID +) +; + + + +CREATE TABLE COMTNDEPTJOB +( + DEPT_JOB_ID CHAR(20) NOT NULL, + DEPT_JOBBX_ID CHAR(6) NOT NULL, + DEPT_JOB_NM VARCHAR(255) NOT NULL, + DEPT_JOB_CN VARCHAR(2500) NOT NULL, + ATCH_FILE_ID CHAR(20) NULL, + CHARGER_ID VARCHAR(20) NOT NULL, + PRIORT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (DEPT_JOB_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDEPTJOB_PK ON COMTNDEPTJOB +( + DEPT_JOB_ID +) +; + + + +CREATE TABLE COMTNLEADERSCHDUL +( + SCHDUL_ID CHAR(20) NOT NULL, + SCHDUL_SE CHAR(1) NULL, + SCHDUL_NM VARCHAR(255) NOT NULL, + SCHDUL_CN VARCHAR(2500) NOT NULL, + SCHDUL_PLACE VARCHAR(255) NULL, + LEADER_ID VARCHAR(20) NOT NULL, + REPTIT_SE_CODE CHAR(1) NULL, + SCHDUL_BGNDE CHAR(20) NULL, + SCHDUL_ENDDE CHAR(20) NULL, + SCHDUL_CHARGER_ID VARCHAR(20) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNLEADERSCHDUL_PK ON COMTNLEADERSCHDUL +( + SCHDUL_ID +) +; + + + +CREATE TABLE COMTNLEADERSCHDULDE +( + SCHDUL_ID CHAR(20) NOT NULL, + SCHDUL_DE CHAR(8) NOT NULL, + PRIMARY KEY (SCHDUL_ID,SCHDUL_DE), + FOREIGN KEY COMTNLEADERSCHDULDE_FK1 (SCHDUL_ID) REFERENCES COMTNLEADERSCHDUL(SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNLEADERSCHDULDE_PK ON COMTNLEADERSCHDULDE +( + SCHDUL_ID, + SCHDUL_DE +) +; + +CREATE TABLE COMTNLEADERSTTUS +( + LEADER_ID VARCHAR(20) NOT NULL , + LEADER_STTUS CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(20) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(20) NULL , + PRIMARY KEY (LEADER_ID) +); + + +CREATE TABLE COMTNDEPTJOBBX +( + DEPT_JOBBX_ID CHAR(6) NOT NULL, + DEPT_JOBBX_NM VARCHAR(255) NOT NULL, + DEPT_ID VARCHAR(20) NOT NULL, + INDICT_ORDR NUMERIC(6) NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (DEPT_JOBBX_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDEPTJOBBX_PK ON COMTNDEPTJOBBX +( + DEPT_JOBBX_ID +) +; + + + +CREATE TABLE COMTNDTAUSESTATS +( + DTA_USE_STATS_ID CHAR(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + NTT_ID NUMERIC(20) NOT NULL, + ATCH_FILE_ID CHAR(20) NOT NULL, + FILE_SN NUMERIC(10) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (DTA_USE_STATS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDTAUSESTATS_PK ON COMTNDTAUSESTATS +( + DTA_USE_STATS_ID +) +; + + + +CREATE TABLE COMTNINSTTCODE +( + INSTT_CODE CHAR(7) NOT NULL, + ALL_INSTT_NM VARCHAR(255) NULL, + LOWEST_INSTT_NM VARCHAR(100) NULL, + INSTT_ABRV_NM VARCHAR(50) NULL, + ODR CHAR(1) NULL, + ORD CHAR(3) NULL, + INSTT_ODR CHAR(2) NULL, + UPPER_INSTT_CODE CHAR(7) NULL, + BEST_INSTT_CODE CHAR(7) NULL, + REPRSNT_INSTT_CODE CHAR(7) NULL, + INSTT_TY_LCLAS CHAR(2) NULL, + INSTT_TY_MLSFC CHAR(2) NULL, + INSTT_TY_SCLAS CHAR(2) NULL, + TELNO VARCHAR(20) NULL, + FXNUM VARCHAR(20) NULL, + CREAT_DE CHAR(20) NULL, + ABL_DE CHAR(20) NULL, + ABL_ENNC CHAR(1) NULL, + CHANGE_DE CHAR(20) NULL, + CHANGE_TIME VARCHAR(6) NULL, + BSIS_DE CHAR(20) NULL, + SORT_ORDR NUMERIC(8) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (INSTT_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNINSTTCODE_PK ON COMTNINSTTCODE +( + INSTT_CODE +) +; + + + +CREATE TABLE COMTNINSTTCODERECPTNLOG +( + OCCRRNC_DE CHAR(20) NOT NULL, + INSTT_CODE CHAR(7) NOT NULL, + OPERT_SN NUMERIC(10) NOT NULL, + CHANGE_SE_CODE VARCHAR(2) NULL, + PROCESS_SE VARCHAR(2) NULL, + ETC_CODE CHAR(2) NULL, + ALL_INSTT_NM VARCHAR(255) NULL, + LOWEST_INSTT_NM VARCHAR(100) NULL, + INSTT_ABRV_NM VARCHAR(50) NULL, + ODR CHAR(1) NULL, + ORD CHAR(3) NULL, + INSTT_ODR CHAR(2) NULL, + UPPER_INSTT_CODE CHAR(7) NULL, + BEST_INSTT_CODE CHAR(7) NULL, + REPRSNT_INSTT_CODE CHAR(7) NULL, + INSTT_TY_LCLAS CHAR(2) NULL, + INSTT_TY_MLSFC CHAR(2) NULL, + INSTT_TY_SCLAS CHAR(2) NULL, + TELNO VARCHAR(20) NULL, + FXNUM VARCHAR(20) NULL, + CREAT_DE CHAR(20) NULL, + ABL_DE CHAR(20) NULL, + ABL_ENNC CHAR(1) NULL, + CHANGE_DE CHAR(20) NULL, + CHANGE_TIME VARCHAR(6) NULL, + BSIS_DE CHAR(20) NULL, + SORT_ORDR NUMERIC(8) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (OCCRRNC_DE,INSTT_CODE,OPERT_SN) +) +; + + + +CREATE UNIQUE INDEX COMTNINSTTCODERECPTNLOG_PK ON COMTNINSTTCODERECPTNLOG +( + OCCRRNC_DE, + INSTT_CODE, + OPERT_SN +) +; + + + +CREATE TABLE COMTNINDVDLYRYCMANAGE +( + OCCRRNC_YEAR CHAR(4) NOT NULL, + YRYC_OCCRRNC_CO NUMERIC(5,1) NULL, + USE_YRYC_CO NUMERIC(5,1) NULL, + REMNDR_YRYC_CO NUMERIC(5,1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + USER_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (OCCRRNC_YEAR,USER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINDVDLYRYCMANAGE_PK ON COMTNINDVDLYRYCMANAGE +( + OCCRRNC_YEAR, + USER_ID +) +; + + + +CREATE TABLE COMTNNTWRKSVCMNTRNG +( + SYS_IP VARCHAR(23) NOT NULL, + SYS_PORT NUMERIC(5) NOT NULL, + SYS_NM VARCHAR(255) NOT NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + PRIMARY KEY (SYS_IP,SYS_PORT) +) +; + + + +CREATE UNIQUE INDEX COMTNNTWRKSVCMNTRNG_PK ON COMTNNTWRKSVCMNTRNG +( + SYS_IP, + SYS_PORT +) +; + + + +CREATE TABLE COMTNNTWRKSVCMNTRNGLOGINFO +( + SYS_IP VARCHAR(23) NOT NULL, + SYS_PORT NUMERIC(5) NOT NULL, + SYS_NM VARCHAR(255) NOT NULL, + MNTRNG_STTUS CHAR(2) NULL, + LOG_INFO VARCHAR(2000) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NOT NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (SYS_IP,SYS_PORT,LOG_ID), + FOREIGN KEY COMTNNTWRKSVCMNTRNGLOGINFO_FK2 (SYS_IP,SYS_PORT) REFERENCES COMTNNTWRKSVCMNTRNG(SYS_IP,SYS_PORT) +) +; + + + +CREATE UNIQUE INDEX COMTNNTWRKSVCMNTRNGLOGINFO_PK ON COMTNNTWRKSVCMNTRNGLOGINFO +( + SYS_IP, + SYS_PORT, + LOG_ID +) +; + + + +CREATE TABLE COMTNSERVEREQPMNINFO +( + SERVER_EQPMN_ID VARCHAR(20) NOT NULL, + SERVER_EQPMN_NM VARCHAR(60) NULL, + SERVER_EQPMN_IP VARCHAR(23) NULL, + SERVER_EQPMN_MNGR VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + OPERSYSM_INFO VARCHAR(2000) NULL, + CPU_INFO VARCHAR(2000) NULL, + MORY_INFO VARCHAR(2000) NULL, + HDDISK CHAR(18) NULL, + ETC_INFO VARCHAR(250) NULL, + RGSDE DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (SERVER_EQPMN_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSERVEREQPMNINFO_PK ON COMTNSERVEREQPMNINFO +( + SERVER_EQPMN_ID +) +; + + + +CREATE TABLE COMTNSYNCHRNSERVERINFO +( + SERVER_ID CHAR(20) NOT NULL, + SERVER_NM VARCHAR(60) NULL, + SERVER_IP VARCHAR(23) NULL, + SERVER_PORT VARCHAR(10) NULL, + FTP_ID VARCHAR(20) NULL, + FTP_PASSWORD VARCHAR(20) NULL, + SYNCHRN_LC VARCHAR(255) NULL, + REFLCT_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (SERVER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSYNCHRNSERVERINFO_PK ON COMTNSYNCHRNSERVERINFO +( + SERVER_ID +) +; + + + +CREATE TABLE COMTNSERVERINFO +( + SERVER_ID CHAR(20) NOT NULL, + SERVER_NM VARCHAR(60) NULL, + SERVER_KND CHAR(2) NULL, + RGSDE DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (SERVER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSERVERINFO_PK ON COMTNSERVERINFO +( + SERVER_ID +) +; + + + +CREATE TABLE COMTNSERVEREQPMNRELATE +( + SERVER_EQPMN_ID VARCHAR(20) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + SERVER_ID CHAR(20) NOT NULL, + PRIMARY KEY (SERVER_EQPMN_ID,SERVER_ID), + FOREIGN KEY COMTNSERVEREQPMNRELATE_FK2 (SERVER_EQPMN_ID) REFERENCES COMTNSERVEREQPMNINFO(SERVER_EQPMN_ID), + FOREIGN KEY COMTNSERVEREQPMNRELATE_FK1 (SERVER_ID) REFERENCES COMTNSERVERINFO(SERVER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSERVEREQPMNRELATE_PK ON COMTNSERVEREQPMNRELATE +( + SERVER_EQPMN_ID, + SERVER_ID +) +; + + + +CREATE TABLE COMTNSERVERRESRCELOGINFO +( + SERVER_EQPMN_ID VARCHAR(20) NOT NULL, + CPU_USE_RT NUMERIC(3) NULL, + MORY_USE_RT NUMERIC(3) NULL, + SVC_STTUS CHAR(2) NULL, + LOG_INFO VARCHAR(2000) NULL, + CREAT_DT DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + SERVER_ID CHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (SERVER_EQPMN_ID,SERVER_ID,LOG_ID), + FOREIGN KEY COMTNSERVERRESRCELOGINFO_FK1 (SERVER_EQPMN_ID,SERVER_ID) REFERENCES COMTNSERVEREQPMNRELATE(SERVER_EQPMN_ID,SERVER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSERVERRESRCELOGINFO_PK ON COMTNSERVERRESRCELOGINFO +( + SERVER_EQPMN_ID, + SERVER_ID, + LOG_ID +) +; + + + +CREATE TABLE COMTNVCATNMANAGE +( + APPLCNT_ID VARCHAR(20) NOT NULL, + VCATN_SE CHAR(2) NOT NULL, + BGNDE CHAR(8) NOT NULL, + ENDDE CHAR(8) NOT NULL, + VCATN_RESN VARCHAR(200) NOT NULL, + REQST_DE CHAR(20) NOT NULL, + OCCRRNC_YEAR CHAR(4) NULL, + SANCTNER_ID VARCHAR(20) NULL, + CONFM_AT CHAR(1) NULL, + SANCTN_DT DATETIME NULL, + RETURN_RESN VARCHAR(1000) NULL, + INFRML_SANCTN_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + NOON_SE CHAR(1) NULL, + PRIMARY KEY (APPLCNT_ID,VCATN_SE,BGNDE,ENDDE) +) +; + + + +CREATE UNIQUE INDEX COMTNVCATNMANAGE_PK ON COMTNVCATNMANAGE +( + APPLCNT_ID, + VCATN_SE, + BGNDE, + ENDDE +) +; + + + +CREATE TABLE COMTNMEMOTODO +( + TODO_ID CHAR(20) NOT NULL, + TODO_SJ VARCHAR(255) NOT NULL, + TODO_BEGIN_TIME VARCHAR(14) NOT NULL, + TODO_END_TIME VARCHAR(14) NOT NULL, + WRTER_ID VARCHAR(20) NOT NULL, + TODO_CN VARCHAR(2500) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (TODO_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMEMOTODO_PK ON COMTNMEMOTODO +( + TODO_ID +) +; + + + +CREATE TABLE COMTNNOTE +( + NOTE_ID CHAR(20) NOT NULL, + NOTE_SJ VARCHAR(255) NULL, + NOTE_CN VARCHAR(4000) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (NOTE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNOTE_PK ON COMTNNOTE +( + NOTE_ID +) +; + + + +CREATE TABLE COMTNNOTETRNSMIT +( + NOTE_ID CHAR(20) NOT NULL, + NOTE_TRNSMIT_ID CHAR(20) NOT NULL, + TRNSMITER_ID CHAR(20) NULL, + DELETE_AT CHAR(8) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (NOTE_ID,NOTE_TRNSMIT_ID), + FOREIGN KEY COMTNNOTETRNSMIT_FK1 (NOTE_ID) REFERENCES COMTNNOTE(NOTE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNOTETRNSMIT_PK ON COMTNNOTETRNSMIT +( + NOTE_ID, + NOTE_TRNSMIT_ID +) +; + + + +CREATE INDEX COMTNNOTETRNSMIT_i01 ON COMTNNOTETRNSMIT +( + NOTE_ID +) +; + + + +CREATE TABLE COMTNNOTERECPTN +( + NOTE_ID CHAR(20) NOT NULL, + NOTE_TRNSMIT_ID CHAR(20) NOT NULL, + NOTE_RECPTN_ID CHAR(20) NOT NULL, + RCVER_ID CHAR(20) NULL, + OPEN_YN CHAR(1) NULL, + RECPTN_SE CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (NOTE_ID,NOTE_TRNSMIT_ID,NOTE_RECPTN_ID), + FOREIGN KEY COMTNNOTERECPTN_FK1 (NOTE_ID,NOTE_TRNSMIT_ID) REFERENCES COMTNNOTETRNSMIT(NOTE_ID,NOTE_TRNSMIT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNOTERECPTN_PK ON COMTNNOTERECPTN +( + NOTE_ID, + NOTE_TRNSMIT_ID, + NOTE_RECPTN_ID +) +; + + + +CREATE INDEX COMTNNOTERECPTN_i01 ON COMTNNOTERECPTN +( + NOTE_ID, + NOTE_TRNSMIT_ID +) +; + + + +CREATE TABLE COMTNEVENTMANAGE +( + EVENT_ID CHAR(20) NOT NULL, + EVENT_SE VARCHAR(2) NOT NULL, + EVENT_NM VARCHAR(60) NOT NULL, + EVENT_PURPS VARCHAR(200) NOT NULL, + EVENT_BGNDE CHAR(20) NOT NULL, + EVENT_ENDDE CHAR(20) NOT NULL, + EVENT_AUSPC_INSTT_NM VARCHAR(60) NULL, + EVENT_MNGT_INSTT_NM VARCHAR(60) NULL, + EVENT_PLACE VARCHAR(200) NOT NULL, + EVENT_CN VARCHAR(1000) NULL, + CT_OCCRRNC_AT CHAR(1) NULL, + PARTCPT_CT NUMERIC(16) NULL, + PSNCPA NUMERIC(10) NOT NULL, + REFRN_URL VARCHAR(1024) NULL, + RCEPT_BGNDE CHAR(20) NOT NULL, + RCEPT_ENDDE CHAR(20) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (EVENT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNEVENTMANAGE_PK ON COMTNEVENTMANAGE +( + EVENT_ID +) +; + + + +CREATE TABLE COMTNEVENTATDRN +( + APPLCNT_ID VARCHAR(20) NOT NULL, + EVENT_ID CHAR(20) NOT NULL, + REQST_DE CHAR(20) NOT NULL, + SANCTNER_ID VARCHAR(20) NOT NULL, + CONFM_AT CHAR(1) NULL, + SANCTN_DT DATETIME NULL, + RETURN_RESN VARCHAR(1000) NULL, + INFRML_SANCTN_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (APPLCNT_ID,EVENT_ID), + FOREIGN KEY COMTNEVENTATDRN_FK1 (EVENT_ID) REFERENCES COMTNEVENTMANAGE(EVENT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNEVENTATDRN_PK ON COMTNEVENTATDRN +( + APPLCNT_ID, + EVENT_ID +) +; + + + +CREATE INDEX COMTNEVENTATDRN_i01 ON COMTNEVENTATDRN +( + EVENT_ID +) +; + + + +CREATE TABLE IMGTEMP +( + ORGNZT_CODE VARCHAR(10) NOT NULL, + ERNCSL_SE VARCHAR(2) NOT NULL, + IMAGE_INFO BLOB NOT NULL, + IMAGE_TY VARCHAR(20) NULL, + PRIMARY KEY (ORGNZT_CODE,ERNCSL_SE) +) +; + + + +CREATE UNIQUE INDEX IMGTEMP_PK ON IMGTEMP +( + ORGNZT_CODE, + ERNCSL_SE +) +; + + + +CREATE TABLE IDS +( + IDGEN_TABLE_NM VARCHAR(20) NOT NULL, + IDGEN_NEXT_ID NUMERIC(30) NOT NULL, + PRIMARY KEY (IDGEN_TABLE_NM) +) +; + + + +CREATE UNIQUE INDEX IDS_PK ON IDS +( + IDGEN_TABLE_NM +) +; + + + +CREATE TABLE COMTNWIKMNTHNGREPRT +( + REPRT_ID CHAR(6) NOT NULL, + REPRT_SE CHAR(1) NOT NULL, + REPRT_SJ VARCHAR(255) NOT NULL, + REPORT_DE CHAR(20) NOT NULL, + WRTER_ID VARCHAR(20) NOT NULL, + REPORTR_ID VARCHAR(20) NOT NULL, + REPORT_BGNDE CHAR(20) NOT NULL, + REPORT_ENDDE CHAR(20) NOT NULL, + THSWIK_REPORT_CN MEDIUMTEXT NOT NULL, + NEXTWIK_REPORT_CN MEDIUMTEXT NOT NULL, + PARTCLR_MATTER VARCHAR(2500) NULL, + ATCH_FILE_ID CHAR(20) NULL, + CONFM_DT VARCHAR(14) NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (REPRT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNWIKMNTHNGREPRT_PK ON COMTNWIKMNTHNGREPRT +( + REPRT_ID +) +; + + + +CREATE TABLE COMTNTWITTER +( + USER_ID VARCHAR(20) NOT NULL, + CNSMR_KEY VARCHAR(50) NOT NULL, + CNSMR_SECRET VARCHAR(50) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (USER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNTWITTER_PK ON COMTNTWITTER +( + USER_ID +) +; + + + +CREATE TABLE COMTNWIKIBKMK +( + WIKI_BKMK_ID CHAR(20) NOT NULL, + USER_ID VARCHAR(20) NOT NULL, + WIKI_BKMK_NM VARCHAR(1000) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (WIKI_BKMK_ID,USER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNWIKIBKMK_PK ON COMTNWIKIBKMK +( + WIKI_BKMK_ID, + USER_ID +) +; + + + +CREATE TABLE COMTNRWARDMANAGE +( + RWARD_ID CHAR(20) NOT NULL, + RWARDWNR_ID VARCHAR(20) NOT NULL, + RWARD_CODE CHAR(2) NOT NULL, + RWARD_DE CHAR(20) NOT NULL, + RWARD_NM VARCHAR(255) NOT NULL, + PBLEN_CN VARCHAR(1000) NULL, + SANCTNER_ID VARCHAR(20) NOT NULL, + CONFM_AT CHAR(1) NULL, + SANCTN_DT DATETIME NULL, + RETURN_RESN VARCHAR(1000) NULL, + ATCH_FILE_ID CHAR(20) NULL, + INFRML_SANCTN_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (RWARD_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNRWARDMANAGE_PK ON COMTNRWARDMANAGE +( + RWARD_ID +) +; + + + +CREATE TABLE COMTNRSS +( + RSS_ID CHAR(20) NOT NULL, + TRGET_SVC_NM VARCHAR(255) NOT NULL, + TRGET_SVC_TABLE VARCHAR(255) NOT NULL, + TRGET_SVC_LIST_CO NUMERIC(5) NOT NULL, + HDER_TITLE VARCHAR(255) NOT NULL, + HDER_LINK VARCHAR(255) NOT NULL, + HDER_DC VARCHAR(4000) NOT NULL, + HDER_TAG VARCHAR(255) NULL, + HDER_ETC VARCHAR(250) NULL, + BDT_TITLE VARCHAR(255) NULL, + BDT_LINK VARCHAR(255) NULL, + BDT_DC VARCHAR(4000) NULL, + BDT_TAG VARCHAR(255) NULL, + BDT_ETC_TAG VARCHAR(255) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (RSS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNRSS_PK ON COMTNRSS +( + RSS_ID +) +; + + + +CREATE TABLE COMTNRESTDE +( + RESTDE_NO NUMERIC(6) NOT NULL, + RESTDE CHAR(8) NULL, + RESTDE_NM VARCHAR(60) NULL, + RESTDE_DC VARCHAR(200) NULL, + RESTDE_SE_CODE VARCHAR(2) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (RESTDE_NO) +) +; + + + +CREATE UNIQUE INDEX COMTNRESTDE_PK ON COMTNRESTDE +( + RESTDE_NO +) +; + + + +CREATE TABLE COMTNPROCESSMON +( + PROCS_ID CHAR(20) NOT NULL, + PROCS_NM VARCHAR(60) NULL, + PROCS_STTUS VARCHAR(3) NULL, + CREAT_DT DATETIME NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (PROCS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNPROCESSMON_PK ON COMTNPROCESSMON +( + PROCS_ID +) +; + + + +CREATE TABLE COMTNPROCESSMONLOGINFO +( + PROCS_ID CHAR(20) NOT NULL, + PROCS_NM VARCHAR(60) NULL, + PROCS_STTUS VARCHAR(3) NULL, + CREAT_DT DATETIME NULL, + LOG_INFO VARCHAR(2000) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (PROCS_ID,LOG_ID), + FOREIGN KEY COMTNPROCESSMONLOGINFO_FK2 (PROCS_ID) REFERENCES COMTNPROCESSMON(PROCS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNPROCESSMONLOGINFO_PK ON COMTNPROCESSMONLOGINFO +( + PROCS_ID, + LOG_ID +) +; + + + +CREATE TABLE COMTNNTWRKINFO +( + NTWRK_ID CHAR(20) NOT NULL, + NTWRK_IP VARCHAR(23) NULL, + GTWY VARCHAR(23) NULL, + SUBNET VARCHAR(23) NULL, + DOMN_NM_SERVER VARCHAR(23) NULL, + MANAGE_IEM CHAR(2) NULL, + USER_NM VARCHAR(60) NULL, + USE_AT CHAR(1) NULL, + RGSDE DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (NTWRK_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNTWRKINFO_PK ON COMTNNTWRKINFO +( + NTWRK_ID +) +; + + + +CREATE VIEW COMVNUSERMASTER ( ESNTL_ID,USER_ID,PASSWORD,USER_NM,USER_ZIP,USER_ADRES,USER_EMAIL,GROUP_ID, USER_SE, ORGNZT_ID ) +AS + SELECT ESNTL_ID, MBER_ID,PASSWORD,MBER_NM,ZIP,ADRES,MBER_EMAIL_ADRES,' ','GNR' AS USER_SE, ' ' ORGNZT_ID + FROM COMTNGNRLMBER + + UNION ALL + SELECT ESNTL_ID,EMPLYR_ID,PASSWORD,USER_NM,ZIP,HOUSE_ADRES,EMAIL_ADRES,GROUP_ID ,'USR' AS USER_SE, ORGNZT_ID + FROM COMTNEMPLYRINFO + UNION ALL + SELECT ESNTL_ID,ENTRPRS_MBER_ID,ENTRPRS_MBER_PASSWORD,CMPNY_NM,ZIP,ADRES,APPLCNT_EMAIL_ADRES,' ' ,'ENT' AS USER_SE, ' ' ORGNZT_ID + FROM COMTNENTRPRSMBER +ORDER BY ESNTL_ID; + + + +CREATE TABLE COMTNMEMOREPRT +( + REPRT_SJ VARCHAR(255) NOT NULL, + REPORT_DE CHAR(20) NOT NULL, + WRTER_ID VARCHAR(20) NOT NULL, + REPORTR_ID VARCHAR(20) NOT NULL, + REPORT_CN VARCHAR(2500) NOT NULL, + ATCH_FILE_ID CHAR(20) NULL, + DRCT_MATTER VARCHAR(2500) NULL, + DRCT_MATTER_REGIST_DT VARCHAR(14) NULL, + REPORTR_INQIRE_DT VARCHAR(14) NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + REPRT_ID CHAR(6) NOT NULL, + PRIMARY KEY (REPRT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMEMOREPRT_PK ON COMTNMEMOREPRT +( + REPRT_ID +) +; + + + +CREATE TABLE COMTNMTGPLACEMANAGE +( + MTGRUM_ID CHAR(20) NOT NULL, + MTGRUM_NM VARCHAR(255) NOT NULL, + OPN_BEGIN_TM VARCHAR(6) NOT NULL, + OPN_END_TM VARCHAR(6) NOT NULL, + ACEPTNC_POSBL_NMPR NUMERIC(10) NOT NULL, + LC_SE CHAR(5) NULL, + LC_DETAIL VARCHAR(200) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (MTGRUM_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMTGPLACEMANAGE_PK ON COMTNMTGPLACEMANAGE +( + MTGRUM_ID +) +; + + + +CREATE TABLE COMTNMTGPLACERESVE +( + RESVE_ID CHAR(20) NOT NULL, + MTGRUM_ID CHAR(20) NOT NULL, + MTG_SJ VARCHAR(100) NOT NULL, + RSVCTM_ID VARCHAR(20) NOT NULL, + RESVE_DE CHAR(8) NOT NULL, + RESVE_BEGIN_TM VARCHAR(14) NOT NULL, + RESVE_END_TM VARCHAR(14) NOT NULL, + ATNDNC_NMPR NUMERIC(10) NULL, + MTG_CN VARCHAR(2500) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (RESVE_ID), + FOREIGN KEY COMTNMTGPLACERESVE_FK1 (MTGRUM_ID) REFERENCES COMTNMTGPLACEMANAGE(MTGRUM_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMTGPLACERESVE_PK ON COMTNMTGPLACERESVE +( + RESVE_ID +) +; + + + +CREATE INDEX COMTNMTGPLACERESVE_i01 ON COMTNMTGPLACERESVE +( + MTGRUM_ID +) +; + + + +CREATE TABLE COMTNFXTRSMANAGE +( + FXTRS_CODE CHAR(14) NOT NULL, + FXTRS_NM VARCHAR(100) NOT NULL, + MAKR_NM VARCHAR(100) NULL, + PRICE NUMERIC(16) NULL, + PRIMARY KEY (FXTRS_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNFXTRSMANAGE_PK ON COMTNFXTRSMANAGE +( + FXTRS_CODE +) +; + + + +CREATE TABLE COMTNMTGPLACEFXTRS +( + MTGRUM_ID CHAR(20) NOT NULL, + FXTRS_CODE CHAR(14) NOT NULL, + QY NUMERIC(20) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (MTGRUM_ID,FXTRS_CODE), + FOREIGN KEY COMTNMTGPLACEFXTRS_FK2 (MTGRUM_ID) REFERENCES COMTNMTGPLACEMANAGE(MTGRUM_ID), + FOREIGN KEY COMTNMTGPLACEFXTRS_FK1 (FXTRS_CODE) REFERENCES COMTNFXTRSMANAGE(FXTRS_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNMTGPLACEFXTRS_PK ON COMTNMTGPLACEFXTRS +( + MTGRUM_ID, + FXTRS_CODE +) +; + + + +CREATE INDEX COMTNMTGPLACEFXTRS_i01 ON COMTNMTGPLACEFXTRS +( + MTGRUM_ID +) +; + + + +CREATE TABLE COMTECOPSEQ +( + TABLE_NAME VARCHAR(20) NOT NULL, + NEXT_ID NUMERIC(30) NULL, + PRIMARY KEY (TABLE_NAME) +) +; + + + +CREATE UNIQUE INDEX COMTECOPSEQ_PK ON COMTECOPSEQ +( + TABLE_NAME +) +; + + + +CREATE TABLE COMTNANNVRSRYMANAGE +( + ANNVRSRY_ID VARCHAR(20) NOT NULL, + USER_ID VARCHAR(20) NOT NULL, + ANNVRSRY_SE VARCHAR(2) NOT NULL, + ANNVRSRY_NM VARCHAR(255) NOT NULL, + ANNVRSRY CHAR(20) NOT NULL, + CLDR_SE CHAR(1) NOT NULL, + ANNVRSRY_NTCN_SETUP CHAR(1) NULL, + ANNVRSRY_NTCN_BGNDE CHAR(20) NULL, + MEMO VARCHAR(1000) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + REPTIT_AT CHAR(1) NULL, + PRIMARY KEY (ANNVRSRY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNANNVRSRYMANAGE_PK ON COMTNANNVRSRYMANAGE +( + ANNVRSRY_ID +) +; + +CREATE TABLE J_ATTACHFILE +( + FILE_ID VARCHAR(13) NOT NULL, + FILE_SEQ INT NOT NULL, + FILE_NAME VARCHAR(100) NOT NULL, + FILE_SIZE INT, + FILE_MASK VARCHAR(100), + DOWNLOAD_COUNT INT, + DOWNLOAD_EXPIRE_DATE VARCHAR(8), + DOWNLOAD_LIMIT_COUNT INT, + REG_DATE DATETIME, + DELETE_YN VARCHAR(1), +PRIMARY KEY (FILE_ID, FILE_SEQ) +) +; + +CREATE UNIQUE INDEX J_ATTACHFILE_PK ON J_ATTACHFILE +( + FILE_ID, FILE_SEQ +) +; + +CREATE TABLE COMTNROUGHMAP ( + ROUGHMAP_ID VARCHAR(75) NOT NULL, + ROUGHMAPSJ VARCHAR(75) NOT NULL, + ROUGHMAPADDRESS VARCHAR(200) NULL, + LA VARCHAR(48) NULL, + LO VARCHAR(48) NULL, + MARKERLA VARCHAR(48) NULL, + MARKERLO VARCHAR(48) NULL, + INFOWINDOW VARCHAR(20) NULL, + ZOOMLEVEL VARCHAR(10) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL + ); + +CREATE TABLE COMTNPRIVACYLOG +( + REQUST_ID VARCHAR(20) NOT NULL, + INQIRE_DT DATETIME NOT NULL, + SRVC_NM VARCHAR(500) NULL, + INQIRE_INFO VARCHAR(100) NULL, + RQESTER_ID VARCHAR(20) NULL, + RQESTER_IP VARCHAR(23) NULL, + PRIMARY KEY (REQUST_ID) +) +; + +CREATE UNIQUE INDEX COMTNPRIVACYLOG_PK ON COMTNPRIVACYLOG +( + REQUST_ID +) +; + + CREATE TABLE COMTNCOMMUTE ( + WRKTM_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + ORGNZT_ID VARCHAR(20) NULL, + WRKT_DT VARCHAR(10) NOT NULL, + WRK_START_TIME VARCHAR(14) NULL, + WRK_END_TIME VARCHAR(14) NULL, + WRK_HOURS CHAR(2) NULL, + OVTMWRK_HOURS CHAR(2) NULL, + WRK_START_STATUS VARCHAR(10) NULL, + WRK_END_STATUS VARCHAR(10) NULL, + RM VARCHAR(100) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (EMPLYR_ID, WRKT_DT) +); + +CREATE TABLE COMTNBLOG +( + BLOG_ID CHAR(20) NOT NULL , + BLOG_NM VARCHAR(255) NOT NULL , + BLOG_INTRCN VARCHAR(2400) NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + TMPLAT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(20) NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(20) NULL , + BBS_ID CHAR(20) DEFAULT NULL, + BLOG_AT CHAR(2) DEFAULT NULL, + PRIMARY KEY (BLOG_ID) +); + +CREATE TABLE COMTNBLOGUSER +( + BLOG_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + MNGR_AT CHAR(1) NOT NULL, + MBER_STTUS VARCHAR(15) NULL, + SBSCRB_DE DATETIME NULL, + SECSN_DE CHAR(20) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (BLOG_ID,EMPLYR_ID), + FOREIGN KEY COMTNBLOGUSER_FK1 (BLOG_ID) REFERENCES COMTNBLOG(BLOG_ID) +); Index: base3.10/script/ddl/postgres/com_DDL_postgres.sql =================================================================== --- base3.10/script/ddl/postgres/com_DDL_postgres.sql (nonexistent) +++ base3.10/script/ddl/postgres/com_DDL_postgres.sql (revision 7) @@ -0,0 +1,5367 @@ + +CREATE TABLE COMTNPROGRMLIST +( + PROGRM_FILE_NM VARCHAR(60) NOT NULL, + PROGRM_STRE_PATH VARCHAR(100) NOT NULL, + PROGRM_KOREAN_NM VARCHAR(60) NULL, + PROGRM_DC VARCHAR(200) NULL, + URL VARCHAR(100) NOT NULL, + PRIMARY KEY (PROGRM_FILE_NM) +) +; + + + +CREATE UNIQUE INDEX COMTNPROGRMLIST_PK ON COMTNPROGRMLIST +( + PROGRM_FILE_NM +) +; + + + +CREATE TABLE COMTHPROGRMCHANGEDTLS +( + PROGRM_FILE_NM VARCHAR(60) NOT NULL, + REQUST_NO NUMERIC(10) NOT NULL, + RQESTER_ID VARCHAR(20) NOT NULL, + CHANGE_REQUST_CN VARCHAR(1000) NULL, + REQUST_PROCESS_CN TEXT NULL, + OPETR_ID VARCHAR(20) NULL, + PROCESS_STTUS_CODE VARCHAR(15) NOT NULL, + PROCESS_DE CHAR(20) NULL, + RQESTDE CHAR(20) NULL, + REQUST_SJ VARCHAR(60) NOT NULL, + PRIMARY KEY (PROGRM_FILE_NM,REQUST_NO), + FOREIGN KEY (PROGRM_FILE_NM) REFERENCES COMTNPROGRMLIST(PROGRM_FILE_NM) + ON DELETE CASCADE +) +; + + + +CREATE UNIQUE INDEX COMTHPROGRMCHANGEDTLS_PK ON COMTHPROGRMCHANGEDTLS +( + PROGRM_FILE_NM, + REQUST_NO +) +; + + + +CREATE INDEX COMTHPROGRMCHANGEDTLS_i01 ON COMTHPROGRMCHANGEDTLS +( + PROGRM_FILE_NM +) +; + + + +CREATE TABLE COMTNPOPUPMANAGE +( + POPUP_ID VARCHAR(20) NOT NULL, + POPUP_SJ_NM VARCHAR(1024) NULL, + FILE_URL VARCHAR(1024) NULL, + POPUP_WIDTH_LC VARCHAR(20) NULL, + POPUP_WIDTH_SIZE NUMERIC NULL, + NTCE_BGNDE CHAR(20) NULL, + NTCE_ENDDE CHAR(20) NULL, + STOPVEW_SETUP_AT CHAR(1) NULL, + NTCE_AT CHAR(1) NULL, + POPUP_VRTICL_LC VARCHAR(20) NULL, + POPUP_VRTICL_SIZE NUMERIC NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (POPUP_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNPOPUPMANAGE_PK ON COMTNPOPUPMANAGE +( + POPUP_ID +) +; + + + +CREATE TABLE COMTNBANNER +( + BANNER_ID CHAR(20) NOT NULL, + BANNER_NM VARCHAR(60) NOT NULL, + LINK_URL VARCHAR(255) NOT NULL, + BANNER_IMAGE VARCHAR(60) NOT NULL, + BANNER_DC VARCHAR(200) NULL, + REFLCT_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + BANNER_IMAGE_FILE VARCHAR(60) NULL, + SORT_ORDR NUMERIC(8) NULL, + PRIMARY KEY (BANNER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBANNER_PK ON COMTNBANNER +( + BANNER_ID +) +; + + + +CREATE TABLE COMTNLOGINSCRINIMAGE +( + IMAGE_ID CHAR(20) NOT NULL, + IMAGE_NM VARCHAR(20) NOT NULL, + REFLCT_AT CHAR(1) NOT NULL, + IMAGE VARCHAR(60) NOT NULL, + IMAGE_DC VARCHAR(200) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + IMAGE_FILE VARCHAR(60) NULL, + PRIMARY KEY (IMAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNLOGINSCRINIMAGE_PK ON COMTNLOGINSCRINIMAGE +( + IMAGE_ID +) +; + + + +CREATE TABLE COMTNORGNZTINFO +( + ORGNZT_ID CHAR(20) NOT NULL, + ORGNZT_NM VARCHAR(20) NOT NULL, + ORGNZT_DC VARCHAR(100) NULL, + PRIMARY KEY (ORGNZT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNORGNZTINFO_PK ON COMTNORGNZTINFO +( + ORGNZT_ID +) +; + + + +CREATE TABLE COMTNAUTHORGROUPINFO +( + GROUP_ID CHAR(20) NOT NULL, + GROUP_NM VARCHAR(60) NOT NULL, + GROUP_CREAT_DE TIMESTAMP NOT NULL, + GROUP_DC VARCHAR(100) NULL, + PRIMARY KEY (GROUP_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNAUTHORGROUPINFO_PK ON COMTNAUTHORGROUPINFO +( + GROUP_ID +) +; + + + +CREATE TABLE COMTNEMPLYRINFO +( + EMPLYR_ID VARCHAR(20) NOT NULL, + ORGNZT_ID CHAR(20) NULL, + USER_NM VARCHAR(60) NOT NULL, + PASSWORD VARCHAR(200) NOT NULL, + EMPL_NO VARCHAR(20) NULL, + IHIDNUM VARCHAR(200) NULL, + SEXDSTN_CODE CHAR(1) NULL, + BRTHDY CHAR(20) NULL, + FXNUM VARCHAR(20) NULL, + HOUSE_ADRES VARCHAR(100) NOT NULL, + PASSWORD_HINT VARCHAR(100) NOT NULL, + PASSWORD_CNSR VARCHAR(100) NOT NULL, + HOUSE_END_TELNO VARCHAR(4) NOT NULL, + AREA_NO VARCHAR(4) NOT NULL, + DETAIL_ADRES VARCHAR(100) NULL, + ZIP VARCHAR(6) NOT NULL, + OFFM_TELNO VARCHAR(20) NULL, + MBTLNUM VARCHAR(20) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + OFCPS_NM VARCHAR(60) NULL, + HOUSE_MIDDLE_TELNO VARCHAR(4) NOT NULL, + GROUP_ID CHAR(20) NULL, + PSTINST_CODE CHAR(8) NULL, + EMPLYR_STTUS_CODE CHAR(1) NOT NULL, + ESNTL_ID CHAR(20) NOT NULL, + CRTFC_DN_VALUE VARCHAR(100) NULL, + SBSCRB_DE TIMESTAMP NULL, + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMERIC(3,0) NULL, + LOCK_LAST_PNTTM TIMESTAMP NULL, + CHG_PWD_LAST_PNTTM TIMESTAMP NULL, + PRIMARY KEY (EMPLYR_ID), + FOREIGN KEY (ORGNZT_ID) REFERENCES COMTNORGNZTINFO(ORGNZT_ID) + ON DELETE SET NULL, + FOREIGN KEY (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) + ON DELETE SET NULL +) +; + + + +CREATE UNIQUE INDEX COMTNEMPLYRINFO_PK ON COMTNEMPLYRINFO +( + EMPLYR_ID +) +; + + + +CREATE INDEX COMTNEMPLYRINFO_i01 ON COMTNEMPLYRINFO +( + ORGNZT_ID +) +; + + + +CREATE INDEX COMTNEMPLYRINFO_i02 ON COMTNEMPLYRINFO +( + GROUP_ID +) +; + + + +CREATE TABLE COMTNFILE +( + ATCH_FILE_ID CHAR(20) NOT NULL, + CREAT_DT TIMESTAMP NOT NULL, + USE_AT CHAR(1) NULL, + PRIMARY KEY (ATCH_FILE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNFILE_PK ON COMTNFILE +( + ATCH_FILE_ID +) +; + + + +CREATE TABLE COMTHEMAILDSPTCHMANAGE +( + MSSAGE_ID VARCHAR(20) NOT NULL, + EMAIL_CN TEXT NULL, + SNDR VARCHAR(50) NOT NULL, + RCVER VARCHAR(50) NOT NULL, + SJ VARCHAR(60) NOT NULL, + SNDNG_RESULT_CODE CHAR(1) NULL, + DSPTCH_DT CHAR(20) NOT NULL, + ATCH_FILE_ID CHAR(20) NULL, + PRIMARY KEY (MSSAGE_ID), + FOREIGN KEY (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHEMAILDSPTCHMANAGE_PK ON COMTHEMAILDSPTCHMANAGE +( + MSSAGE_ID +) +; + + + +CREATE INDEX COMTHEMAILDSPTCHMANAGE_i01 ON COMTHEMAILDSPTCHMANAGE +( + SNDR +) +; + + + +CREATE INDEX COMTHEMAILDSPTCHMANAGE_i02 ON COMTHEMAILDSPTCHMANAGE +( + ATCH_FILE_ID +) +; + + + +CREATE TABLE COMTNNTTSTATS +( + STATS_ID CHAR(18) NOT NULL, + NTCE_CO NUMERIC(10) NULL, + AVRG_RDCNT NUMERIC(10) NULL, + TOP_RDCNT NUMERIC(10) NULL, + MUMM_RDCNT NUMERIC(10) NULL, + TOP_NTCR_ID VARCHAR(20) NULL, + PRIMARY KEY (STATS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNTTSTATS_PK ON COMTNNTTSTATS +( + STATS_ID +) +; + + + +CREATE TABLE COMTNSITELIST +( + SITE_ID CHAR(20) NOT NULL, + SITE_NM VARCHAR(100) NULL, + SITE_URL VARCHAR(100) NULL, + SITE_DC VARCHAR(1000) NULL, + SITE_THEMA_CL_CODE VARCHAR(2) NULL, + ACTVTY_AT CHAR(1) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (SITE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSITELIST_PK ON COMTNSITELIST +( + SITE_ID +) +; + + + +CREATE TABLE COMTNRECENTSRCHWRDMANAGE +( + SRCHWRD_MANAGE_ID CHAR(20) NOT NULL, + SRCHWRD_MANAGE_NM VARCHAR(255) NULL, + SRCHWRD_CONECT_URL VARCHAR(255) NULL, + USER_SEARCH_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (SRCHWRD_MANAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNRECENTSRCHWRDMANAGE_PK ON COMTNRECENTSRCHWRDMANAGE +( + SRCHWRD_MANAGE_ID +) +; + + + +CREATE TABLE COMTNRECENTSRCHWRD +( + SRCHWRD_MANAGE_ID CHAR(20) NOT NULL, + RECENT_SRCHWRD_ID CHAR(20) NOT NULL, + RECENT_SRCHWRD_NM VARCHAR(255) NULL, + RECENT_SRCHWRD_CO NUMERIC(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (RECENT_SRCHWRD_ID), + FOREIGN KEY (SRCHWRD_MANAGE_ID) REFERENCES COMTNRECENTSRCHWRDMANAGE(SRCHWRD_MANAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNRECENTSRCHWRD_PK ON COMTNRECENTSRCHWRD +( + RECENT_SRCHWRD_ID +) +; + + + +CREATE TABLE COMTNPROXYINFO +( + PROXY_ID CHAR(20) NOT NULL, + PROXY_NM VARCHAR(60) NULL, + PROXY_IP VARCHAR(23) NULL, + PROXY_PORT VARCHAR(10) NULL, + TRGET_SVC_NM VARCHAR(255) NULL, + SVC_DC VARCHAR(2000) NULL, + SVC_IP VARCHAR(23) NULL, + SVC_PORT VARCHAR(10) NULL, + SVC_STTUS CHAR(2) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (PROXY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNPROXYINFO_PK ON COMTNPROXYINFO +( + PROXY_ID +) +; + + + +CREATE TABLE COMTNPROXYLOGINFO +( + PROXY_ID CHAR(20) NOT NULL, + CLNT_IP VARCHAR(23) NULL, + CLNT_PORT VARCHAR(10) NULL, + CONECT_TIME TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (PROXY_ID,LOG_ID), + FOREIGN KEY (PROXY_ID) REFERENCES COMTNPROXYINFO(PROXY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNPROXYLOGINFO_PK ON COMTNPROXYLOGINFO +( + PROXY_ID, + LOG_ID +) +; + + + +CREATE TABLE COMTNMAINIMAGE +( + IMAGE_ID CHAR(20) NOT NULL, + IMAGE_NM VARCHAR(20) NOT NULL, + IMAGE VARCHAR(60) NOT NULL, + IMAGE_DC VARCHAR(200) NULL, + REFLCT_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + IMAGE_FILE VARCHAR(60) NULL, + PRIMARY KEY (IMAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMAINIMAGE_PK ON COMTNMAINIMAGE +( + IMAGE_ID +) +; + + + +CREATE TABLE COMTNUNITYLINK +( + UNITY_LINK_ID CHAR(20) NOT NULL, + UNITY_LINK_GROUP VARCHAR(255) NULL, + UNITY_LINK_NM VARCHAR(255) NULL, + UNITY_LINK_URL VARCHAR(255) NULL, + UNITY_LINK_DC VARCHAR(2500) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + UNITY_LINK_SE_CODE CHAR(3) NULL, + PRIMARY KEY (UNITY_LINK_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNUNITYLINK_PK ON COMTNUNITYLINK +( + UNITY_LINK_ID +) +; + + + +CREATE TABLE COMTNUSERABSNCE +( + EMPLYR_ID VARCHAR(20) NOT NULL, + USER_ABSNCE_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNUSERABSNCE_PK ON COMTNUSERABSNCE +( + EMPLYR_ID +) +; + + + +CREATE TABLE COMTSSYSLOGSUMMARY +( + OCCRRNC_DE CHAR(8) NOT NULL, + SVC_NM VARCHAR(255) NOT NULL, + METHOD_NM VARCHAR(60) NOT NULL, + CREAT_CO NUMERIC(10) NULL, + UPDT_CO NUMERIC(10) NULL, + RDCNT NUMERIC(10) NULL, + DELETE_CO NUMERIC(10) NULL, + OUTPT_CO NUMERIC(10) NULL, + ERROR_CO NUMERIC(10) NULL, + PRIMARY KEY (OCCRRNC_DE,SVC_NM,METHOD_NM) +) +; + + + +CREATE UNIQUE INDEX COMTSSYSLOGSUMMARY_PK ON COMTSSYSLOGSUMMARY +( + OCCRRNC_DE, + SVC_NM, + METHOD_NM +) +; + + + +CREATE TABLE COMTNSYSLOG +( + REQUST_ID VARCHAR(20) NOT NULL, + JOB_SE_CODE CHAR(3) NULL, + INSTT_CODE CHAR(7) NULL, + OCCRRNC_DE TIMESTAMP NULL, + RQESTER_IP VARCHAR(23) NULL, + RQESTER_ID VARCHAR(20) NULL, + TRGET_MENU_NM VARCHAR(255) NULL, + SVC_NM VARCHAR(255) NULL, + METHOD_NM VARCHAR(60) NULL, + PROCESS_SE_CODE CHAR(3) NULL, + PROCESS_CO NUMERIC(10) NULL, + PROCESS_TIME VARCHAR(14) NULL, + RSPNS_CODE CHAR(3) NULL, + ERROR_SE CHAR(1) NULL, + ERROR_CO NUMERIC(10) NULL, + ERROR_CODE CHAR(3) NULL, + PRIMARY KEY (REQUST_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSYSLOG_PK ON COMTNSYSLOG +( + REQUST_ID +) +; + + + +CREATE TABLE COMTNBBSMASTER +( + BBS_ID CHAR(20) NOT NULL, + BBS_NM VARCHAR(255) NOT NULL, + BBS_INTRCN VARCHAR(2400) NULL, + BBS_TY_CODE CHAR(6) NOT NULL, + REPLY_POSBL_AT CHAR(1) NULL, + FILE_ATCH_POSBL_AT CHAR(1) NOT NULL, + ATCH_POSBL_FILE_NUMBER NUMERIC(2) NOT NULL, + ATCH_POSBL_FILE_SIZE NUMERIC(8) NULL, + USE_AT CHAR(1) NOT NULL, + TMPLAT_ID CHAR(20) NULL, + CMMNTY_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + BLOG_ID CHAR(20) NULL, + BLOG_AT CHAR(2) NULL, + PRIMARY KEY (BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBBSMASTER_PK ON COMTNBBSMASTER +( + BBS_ID +) +; + + + +CREATE TABLE COMTNBBS +( + NTT_ID NUMERIC(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + NTT_NO NUMERIC(20) NULL, + NTT_SJ VARCHAR(2000) NULL, + NTT_CN TEXT NULL, + ANSWER_AT CHAR(1) NULL, + PARNTSCTT_NO NUMERIC(10) NULL, + ANSWER_LC NUMERIC(8) NULL, + SORT_ORDR NUMERIC(8) NULL, + RDCNT NUMERIC(10) NULL, + USE_AT CHAR(1) NOT NULL, + NTCE_BGNDE CHAR(20) NULL, + NTCE_ENDDE CHAR(20) NULL, + NTCR_ID VARCHAR(20) NULL, + NTCR_NM VARCHAR(20) NULL, + PASSWORD VARCHAR(200) NULL, + ATCH_FILE_ID CHAR(20) NULL, + NOTICE_AT CHAR(1) NULL, + SJ_BOLD_AT CHAR(1) NULL, + SECRET_AT CHAR(1) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + BLOG_ID CHAR(20) NULL, + PRIMARY KEY (NTT_ID,BBS_ID), + FOREIGN KEY (BBS_ID) REFERENCES COMTNBBSMASTER(BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBBS_PK ON COMTNBBS +( + NTT_ID, + BBS_ID +) +; + + + +CREATE INDEX COMTNBBS_i01 ON COMTNBBS +( + BBS_ID +) +; + + + +CREATE TABLE COMTNCOMMENT +( + NTT_ID NUMERIC(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + ANSWER_NO NUMERIC(20) NOT NULL, + WRTER_ID VARCHAR(20) NULL, + WRTER_NM VARCHAR(20) NULL, + ANSWER VARCHAR(200) NULL, + USE_AT CHAR(1) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PASSWORD VARCHAR(200) NULL, + PRIMARY KEY (NTT_ID,BBS_ID,ANSWER_NO), + FOREIGN KEY (NTT_ID,BBS_ID) REFERENCES COMTNBBS(NTT_ID,BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCOMMENT_PK ON COMTNCOMMENT +( + NTT_ID, + BBS_ID, + ANSWER_NO +) +; + + + +CREATE INDEX COMTNCOMMENT_i01 ON COMTNCOMMENT +( + NTT_ID, + BBS_ID +) +; + + + +CREATE TABLE COMTNRECOMENDSITEINFO +( + RECOMEND_SITE_ID CHAR(20) NOT NULL, + RECOMEND_SITE_NM VARCHAR(100) NULL, + RECOMEND_SITE_URL VARCHAR(255) NULL, + RECOMEND_SITE_DC VARCHAR(1000) NULL, + RECOMEND_RESN_CN VARCHAR(1000) NULL, + RECOMEND_CONFM_AT CHAR(1) NULL, + CONFM_DE CHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (RECOMEND_SITE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNRECOMENDSITEINFO_PK ON COMTNRECOMENDSITEINFO +( + RECOMEND_SITE_ID +) +; + + + +CREATE TABLE COMTNINTNETSVC +( + INTNET_SVC_ID CHAR(20) NOT NULL, + INTNET_SVC_NM VARCHAR(20) NOT NULL, + INTNET_SVC_DC VARCHAR(200) NULL, + REFLCT_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (INTNET_SVC_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINTNETSVC_PK ON COMTNINTNETSVC +( + INTNET_SVC_ID +) +; + + + +CREATE TABLE COMTNCLUB +( + CLB_ID CHAR(20) NOT NULL, + CMMNTY_ID CHAR(20) NOT NULL, + CLB_NM VARCHAR(255) NOT NULL, + CLB_INTRCN VARCHAR(2400) NULL, + USE_AT CHAR(1) NOT NULL, + REGIST_SE_CODE CHAR(6) NULL, + TMPLAT_ID CHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CLB_ID,CMMNTY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCLUB_PK ON COMTNCLUB +( + CLB_ID, + CMMNTY_ID +) +; + + + +CREATE TABLE COMTNCLUBUSER +( + CLB_ID CHAR(20) NOT NULL, + CMMNTY_ID CHAR(20) NOT NULL, + OPRTR_AT CHAR(1) NOT NULL, + SBSCRB_DE TIMESTAMP NULL, + SECSN_DE CHAR(20) NULL, + USE_AT CHAR(1) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (CLB_ID,CMMNTY_ID,EMPLYR_ID), + FOREIGN KEY (CLB_ID,CMMNTY_ID) REFERENCES COMTNCLUB(CLB_ID,CMMNTY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCLUBUSER_PK ON COMTNCLUBUSER +( + CLB_ID, + CMMNTY_ID, + EMPLYR_ID +) +; + + + +CREATE INDEX COMTNCLUBUSER_i01 ON COMTNCLUBUSER +( + CLB_ID, + CMMNTY_ID +) +; + + + +CREATE TABLE COMTNBACKUPOPERT +( + BACKUP_OPERT_ID VARCHAR(20) NOT NULL, + BACKUP_OPERT_NM VARCHAR(60) NULL, + BACKUP_ORGINL_DRCTRY VARCHAR(255) NULL, + BACKUP_STRE_DRCTRY VARCHAR(255) NULL, + CMPRS_SE VARCHAR(2) NULL, + EXECUT_CYCLE VARCHAR(2) NULL, + EXECUT_SCHDUL_DE CHAR(20) NULL, + EXECUT_SCHDUL_HOUR CHAR(2) NULL, + EXECUT_SCHDUL_MNT CHAR(2) NULL, + EXECUT_SCHDUL_SECND CHAR(2) NULL, + USE_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NOT NULL, + PRIMARY KEY (BACKUP_OPERT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBACKUPOPERT_PK ON COMTNBACKUPOPERT +( + BACKUP_OPERT_ID +) +; + + + +CREATE TABLE COMTNBACKUPSCHDULDFK +( + BACKUP_OPERT_ID VARCHAR(20) NOT NULL, + EXECUT_SCHDUL_DFK_SE CHAR(1) NOT NULL, + PRIMARY KEY (BACKUP_OPERT_ID,EXECUT_SCHDUL_DFK_SE), + FOREIGN KEY (BACKUP_OPERT_ID) REFERENCES COMTNBACKUPOPERT(BACKUP_OPERT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBACKUPSCHDULDFK_PK ON COMTNBACKUPSCHDULDFK +( + BACKUP_OPERT_ID, + EXECUT_SCHDUL_DFK_SE +) +; + + + +CREATE TABLE COMTNCMMNTY +( + CMMNTY_ID CHAR(20) NOT NULL, + CMMNTY_NM VARCHAR(255) NOT NULL, + CMMNTY_INTRCN VARCHAR(2400) NULL, + USE_AT CHAR(1) NOT NULL, + REGIST_SE_CODE CHAR(6) NULL, + TMPLAT_ID CHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CMMNTY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCMMNTY_PK ON COMTNCMMNTY +( + CMMNTY_ID +) +; + + + +CREATE TABLE COMTNCMMNTYUSER +( + CMMNTY_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + MNGR_AT CHAR(1) NOT NULL, + MBER_STTUS VARCHAR(15) NULL, + SBSCRB_DE TIMESTAMP NULL, + SECSN_DE CHAR(20) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CMMNTY_ID,EMPLYR_ID), + FOREIGN KEY (CMMNTY_ID) REFERENCES COMTNCMMNTY(CMMNTY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCMMNTYUSER_PK ON COMTNCMMNTYUSER +( + CMMNTY_ID, + EMPLYR_ID +) +; + + + +CREATE INDEX COMTNCMMNTYUSER_i01 ON COMTNCMMNTYUSER +( + CMMNTY_ID +) +; + + + +CREATE TABLE COMTNFILEDETAIL +( + ATCH_FILE_ID CHAR(20) NOT NULL, + FILE_SN NUMERIC(10) NOT NULL, + FILE_STRE_COURS VARCHAR(2000) NOT NULL, + STRE_FILE_NM VARCHAR(255) NOT NULL, + ORIGNL_FILE_NM VARCHAR(255) NULL, + FILE_EXTSN VARCHAR(20) NOT NULL, + FILE_CN TEXT NULL, + FILE_SIZE NUMERIC(8) NULL, + PRIMARY KEY (ATCH_FILE_ID,FILE_SN), + FOREIGN KEY (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNFILEDETAIL_PK ON COMTNFILEDETAIL +( + ATCH_FILE_ID, + FILE_SN +) +; + + + +CREATE INDEX COMTNFILEDETAIL_i01 ON COMTNFILEDETAIL +( + ATCH_FILE_ID +) +; + + + +CREATE TABLE COMTNLOGINPOLICY +( + EMPLYR_ID VARCHAR(20) NOT NULL, + IP_INFO VARCHAR(23) NOT NULL, + DPLCT_PERM_AT CHAR(1) NOT NULL, + LMTT_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNLOGINPOLICY_PK ON COMTNLOGINPOLICY +( + EMPLYR_ID +) +; + + + +CREATE TABLE COMTNQUSTNRTMPLAT +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + QUSTNR_TMPLAT_TY VARCHAR(100) NULL, + QUSTNR_TMPLAT_DC VARCHAR(2000) NULL, + QUSTNR_TMPLAT_PATH_NM VARCHAR(100) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + QUSTNR_TMPLAT_IMAGE_INFO BYTEA NULL, + PRIMARY KEY (QUSTNR_TMPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQUSTNRTMPLAT_PK ON COMTNQUSTNRTMPLAT +( + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTNQESTNRINFO +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + QESTNR_ID CHAR(20) NOT NULL, + QUSTNR_SJ VARCHAR(255) NULL, + QUSTNR_PURPS VARCHAR(1000) NULL, + QUSTNR_WRITNG_GUIDANCE_CN VARCHAR(2000) NULL, + QUSTNR_TRGET VARCHAR(1000) NULL, + QUSTNR_BGNDE CHAR(20) NULL, + QUSTNR_ENDDE CHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID), + FOREIGN KEY (QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRTMPLAT(QUSTNR_TMPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQESTNRINFO_PK ON COMTNQESTNRINFO +( + QUSTNR_TMPLAT_ID, + QESTNR_ID +) +; + + + +CREATE INDEX COMTNQESTNRINFO_i01 ON COMTNQESTNRINFO +( + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTNQUSTNRRESPONDINFO +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + QESTNR_ID CHAR(20) NOT NULL, + QUSTNR_RESPOND_ID CHAR(20) NOT NULL, + SEXDSTN_CODE CHAR(1) NULL, + OCCP_TY_CODE CHAR(1) NULL, + RESPOND_NM VARCHAR(50) NULL, + BRTHDY CHAR(20) NULL, + AREA_NO VARCHAR(4) NULL, + MIDDLE_TELNO VARCHAR(4) NULL, + END_TELNO VARCHAR(4) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID,QUSTNR_RESPOND_ID), + FOREIGN KEY (QUSTNR_TMPLAT_ID,QESTNR_ID) REFERENCES COMTNQESTNRINFO(QUSTNR_TMPLAT_ID,QESTNR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQUSTNRRESPONDINFO_PK ON COMTNQUSTNRRESPONDINFO +( + QUSTNR_TMPLAT_ID, + QESTNR_ID, + QUSTNR_RESPOND_ID +) +; + + + +CREATE INDEX COMTNQUSTNRRESPONDINFO_i01 ON COMTNQUSTNRRESPONDINFO +( + QESTNR_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTCADMINISTCODE +( + ADMINIST_ZONE_SE CHAR(1) NOT NULL, + ADMINIST_ZONE_CODE VARCHAR(10) NOT NULL, + USE_AT CHAR(1) NOT NULL, + ADMINIST_ZONE_NM VARCHAR(60) NULL, + UPPER_ADMINIST_ZONE_CODE VARCHAR(10) NULL, + CREAT_DE CHAR(20) NULL, + ABL_DE CHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (ADMINIST_ZONE_SE,ADMINIST_ZONE_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTCADMINISTCODE_PK ON COMTCADMINISTCODE +( + ADMINIST_ZONE_SE, + ADMINIST_ZONE_CODE +) +; + + + +CREATE TABLE COMTNUSERLOG +( + OCCRRNC_DE CHAR(8) NOT NULL, + RQESTER_ID VARCHAR(20) NOT NULL, + SVC_NM VARCHAR(255) NOT NULL, + METHOD_NM VARCHAR(60) NOT NULL, + CREAT_CO NUMERIC(10) NULL, + UPDT_CO NUMERIC(10) NULL, + RDCNT NUMERIC(10) NULL, + DELETE_CO NUMERIC(10) NULL, + OUTPT_CO NUMERIC(10) NULL, + ERROR_CO NUMERIC(10) NULL, + PRIMARY KEY (OCCRRNC_DE,RQESTER_ID,SVC_NM,METHOD_NM) +) +; + + + +CREATE UNIQUE INDEX COMTNUSERLOG_PK ON COMTNUSERLOG +( + OCCRRNC_DE, + RQESTER_ID, + SVC_NM, + METHOD_NM +) +; + + + +CREATE TABLE COMTSTRSMRCVLOGSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL, + TRSMRCV_SE_CODE CHAR(3) NOT NULL, + PROVD_INSTT_ID CHAR(8) NOT NULL, + PROVD_SYS_ID CHAR(8) NOT NULL, + PROVD_SVC_ID CHAR(8) NOT NULL, + REQUST_INSTT_ID CHAR(8) NOT NULL, + REQUST_SYS_ID CHAR(8) NOT NULL, + RDCNT NUMERIC(10) NULL, + ERROR_CO NUMERIC(10) NULL, + PRIMARY KEY (OCCRRNC_DE,TRSMRCV_SE_CODE,PROVD_INSTT_ID,PROVD_SYS_ID,PROVD_SVC_ID,REQUST_INSTT_ID,REQUST_SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTSTRSMRCVLOGSUMMARY_PK ON COMTSTRSMRCVLOGSUMMARY +( + OCCRRNC_DE, + TRSMRCV_SE_CODE, + PROVD_INSTT_ID, + PROVD_SYS_ID, + PROVD_SVC_ID, + REQUST_INSTT_ID, + REQUST_SYS_ID +) +; + + + +CREATE TABLE COMTCCMMNCLCODE +( + CL_CODE CHAR(3) NOT NULL, + CL_CODE_NM VARCHAR(60) NULL, + CL_CODE_DC VARCHAR(200) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CL_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTCCMMNCLCODE_PK ON COMTCCMMNCLCODE +( + CL_CODE +) +; + + + +CREATE TABLE COMTCCMMNCODE +( + CODE_ID VARCHAR(6) NOT NULL, + CODE_ID_NM VARCHAR(60) NULL, + CODE_ID_DC VARCHAR(200) NULL, + USE_AT CHAR(1) NULL, + CL_CODE CHAR(3) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CODE_ID), + FOREIGN KEY (CL_CODE) REFERENCES COMTCCMMNCLCODE(CL_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTCCMMNCODE_PK ON COMTCCMMNCODE +( + CODE_ID +) +; + + + +CREATE INDEX COMTCCMMNCODE_i01 ON COMTCCMMNCODE +( + CL_CODE +) +; + + + +CREATE TABLE COMTCCMMNDETAILCODE +( + CODE_ID VARCHAR(6) NOT NULL, + CODE VARCHAR(15) NOT NULL, + CODE_NM VARCHAR(60) NULL, + CODE_DC VARCHAR(200) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CODE_ID,CODE), + FOREIGN KEY (CODE_ID) REFERENCES COMTCCMMNCODE(CODE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTCCMMNDETAILCODE_PK ON COMTCCMMNDETAILCODE +( + CODE_ID, + CODE +) +; + + + +CREATE INDEX COMTCCMMNDETAILCODE_i01 ON COMTCCMMNDETAILCODE +( + CODE_ID +) +; + + + +CREATE TABLE COMTSBBSSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL, + STATS_SE VARCHAR(10) NOT NULL, + DETAIL_STATS_SE VARCHAR(10) NOT NULL, + CREAT_CO NUMERIC(10) NULL, + TOT_RDCNT NUMERIC(10) NULL, + AVRG_RDCNT NUMERIC(10) NULL, + TOP_INQIRE_BBSCTT_ID VARCHAR(20) NULL, + MUMM_INQIRE_BBSCTT_ID VARCHAR(20) NULL, + TOP_NTCR_ID VARCHAR(20) NULL, + PRIMARY KEY (OCCRRNC_DE,STATS_SE,DETAIL_STATS_SE) +) +; + + + +CREATE UNIQUE INDEX COMTSBBSSUMMARY_PK ON COMTSBBSSUMMARY +( + OCCRRNC_DE, + STATS_SE, + DETAIL_STATS_SE +) +; + + + +CREATE TABLE COMTCZIP +( + ZIP VARCHAR(6) NOT NULL, + SN NUMERIC(10) NOT NULL, + CTPRVN_NM VARCHAR(20) NULL, + SIGNGU_NM VARCHAR(20) NULL, + EMD_NM VARCHAR(60) NULL, + LI_BULD_NM VARCHAR(60) NULL, + LNBR_DONG_HO VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (ZIP,SN) +) +; + + + +CREATE UNIQUE INDEX COMTCZIP_PK ON COMTCZIP +( + ZIP, + SN +) +; + + + +CREATE TABLE COMTRDNMADRZIP +( + RDMN_CODE VARCHAR(12) NOT NULL, + SN NUMERIC(10) NOT NULL, + CTPRVN_NM VARCHAR(20) NULL, + SIGNGU_NM VARCHAR(20) NULL, + RDMN VARCHAR(60) NULL, + BDNBR_MNNM VARCHAR(5) NULL, + BDNBR_SLNO VARCHAR(5) NULL, + BULD_NM VARCHAR(60) NULL, + DETAIL_BULD_NM VARCHAR(60) NULL, + ZIP VARCHAR(6) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (SN) +) +; + + + +CREATE UNIQUE INDEX COMTRDNMADRZIP_PK ON COMTRDNMADRZIP +( + RDMN_CODE, + SN +) +; + + + +CREATE TABLE COMTNNCRD +( + NCRD_ID CHAR(20) NOT NULL, + NCRD_TRGTER_ID VARCHAR(20) NULL, + NM VARCHAR(50) NOT NULL, + TELNO VARCHAR(20) NULL, + NATION_NO VARCHAR(10) NULL, + AREA_NO VARCHAR(4) NULL, + MIDDLE_TELNO VARCHAR(4) NULL, + END_TELNO VARCHAR(4) NULL, + MBTLNUM VARCHAR(20) NULL, + IDNTFC_NO VARCHAR(10) NULL, + MIDDLE_MBTLNUM VARCHAR(4) NULL, + END_MBTLNUM VARCHAR(4) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + CMPNY_NM VARCHAR(60) NULL, + DEPT_NM VARCHAR(60) NULL, + ADRES VARCHAR(100) NULL, + DETAIL_ADRES VARCHAR(100) NULL, + OFCPS_NM VARCHAR(60) NULL, + CLSF_NM VARCHAR(60) NULL, + EXTRL_USER_AT CHAR(1) NULL, + OTHBC_AT CHAR(1) NOT NULL, + RM VARCHAR(2500) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (NCRD_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNCRD_PK ON COMTNNCRD +( + NCRD_ID +) +; + + + +CREATE TABLE COMTNNCRDUSER +( + NCRD_ID CHAR(20) NOT NULL, + REGIST_SE_CODE CHAR(6) NOT NULL, + USE_AT CHAR(1) NOT NULL, + CREAT_DT TIMESTAMP NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (NCRD_ID,EMPLYR_ID), + FOREIGN KEY (NCRD_ID) REFERENCES COMTNNCRD(NCRD_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNCRDUSER_PK ON COMTNNCRDUSER +( + NCRD_ID, + EMPLYR_ID +) +; + + + +CREATE INDEX COMTNNCRDUSER_i03 ON COMTNNCRDUSER +( + NCRD_ID +) +; + + + +CREATE TABLE COMTNENTRPRSMBER +( + ENTRPRS_MBER_ID VARCHAR(20) NOT NULL, + ENTRPRS_SE_CODE CHAR(8) NULL, + BIZRNO VARCHAR(10) NULL, + JURIRNO VARCHAR(13) NULL, + CMPNY_NM VARCHAR(60) NOT NULL, + CXFC VARCHAR(50) NULL, + ZIP VARCHAR(6) NOT NULL, + ADRES VARCHAR(100) NOT NULL, + ENTRPRS_MIDDLE_TELNO VARCHAR(4) NOT NULL, + FXNUM VARCHAR(20) NULL, + INDUTY_CODE CHAR(1) NULL, + APPLCNT_NM VARCHAR(50) NOT NULL, + APPLCNT_IHIDNUM VARCHAR(200) NULL, + SBSCRB_DE TIMESTAMP NULL, + ENTRPRS_MBER_STTUS VARCHAR(15) NULL, + ENTRPRS_MBER_PASSWORD VARCHAR(200) NULL, + ENTRPRS_MBER_PASSWORD_HINT VARCHAR(100) NOT NULL, + ENTRPRS_MBER_PASSWORD_CNSR VARCHAR(100) NOT NULL, + GROUP_ID CHAR(20) NULL, + DETAIL_ADRES VARCHAR(100) NULL, + ENTRPRS_END_TELNO VARCHAR(4) NOT NULL, + AREA_NO VARCHAR(4) NOT NULL, + APPLCNT_EMAIL_ADRES VARCHAR(50) NOT NULL, + ESNTL_ID CHAR(20) NOT NULL, + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMERIC(3) NULL, + LOCK_LAST_PNTTM TIMESTAMP NULL, + CHG_PWD_LAST_PNTTM TIMESTAMP NULL, + PRIMARY KEY (ENTRPRS_MBER_ID), + FOREIGN KEY (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) + ON DELETE SET NULL +) +; + + + +CREATE UNIQUE INDEX COMTNENTRPRSMBER_PK ON COMTNENTRPRSMBER +( + ENTRPRS_MBER_ID +) +; + + + +CREATE INDEX COMTNENTRPRSMBER_i01 ON COMTNENTRPRSMBER +( + GROUP_ID +) +; + + + +CREATE TABLE COMTNGNRLMBER +( + MBER_ID VARCHAR(20) NOT NULL, + PASSWORD VARCHAR(200) NOT NULL, + PASSWORD_HINT VARCHAR(100) NULL, + PASSWORD_CNSR VARCHAR(100) NULL, + IHIDNUM VARCHAR(200) NULL, + MBER_NM VARCHAR(50) NOT NULL, + ZIP VARCHAR(6) NOT NULL, + ADRES VARCHAR(100) NOT NULL, + AREA_NO VARCHAR(4) NOT NULL, + MBER_STTUS VARCHAR(15) NULL, + DETAIL_ADRES VARCHAR(100) NULL, + END_TELNO VARCHAR(4) NOT NULL, + MBTLNUM VARCHAR(20) NOT NULL, + GROUP_ID CHAR(20) NULL, + MBER_FXNUM VARCHAR(20) NULL, + MBER_EMAIL_ADRES VARCHAR(50) NULL, + MIDDLE_TELNO VARCHAR(4) NOT NULL, + SBSCRB_DE TIMESTAMP NULL, + SEXDSTN_CODE CHAR(1) NULL, + ESNTL_ID CHAR(20) NOT NULL, + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMERIC(3) NULL, + LOCK_LAST_PNTTM TIMESTAMP NULL, + CHG_PWD_LAST_PNTTM TIMESTAMP NULL, + PRIMARY KEY (MBER_ID), + FOREIGN KEY (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) + ON DELETE SET NULL +) +; + + + +CREATE UNIQUE INDEX COMTNGNRLMBER_PK ON COMTNGNRLMBER +( + MBER_ID +) +; + + + +CREATE INDEX COMTNGNRLMBER_i01 ON COMTNGNRLMBER +( + GROUP_ID +) +; + + + +CREATE TABLE COMTNAUTHORINFO +( + AUTHOR_CODE VARCHAR(30) NOT NULL, + AUTHOR_NM VARCHAR(60) NOT NULL, + AUTHOR_DC VARCHAR(200) NULL, + AUTHOR_CREAT_DE TIMESTAMP NOT NULL, + PRIMARY KEY (AUTHOR_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNAUTHORINFO_PK ON COMTNAUTHORINFO +( + AUTHOR_CODE +) +; + + + +CREATE TABLE COMTNEMPLYRSCRTYESTBS +( + SCRTY_DTRMN_TRGET_ID VARCHAR(20) NOT NULL, + MBER_TY_CODE CHAR(5) NULL, + AUTHOR_CODE VARCHAR(30) NOT NULL, + PRIMARY KEY (SCRTY_DTRMN_TRGET_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNEMPLYRSCRTYESTBS_PK ON COMTNEMPLYRSCRTYESTBS +( + SCRTY_DTRMN_TRGET_ID +) +; + + + +CREATE INDEX COMTNEMPLYRSCRTYESTBS_i04 ON COMTNEMPLYRSCRTYESTBS +( + AUTHOR_CODE +) +; + + + +CREATE TABLE COMTNQAINFO +( + QA_ID CHAR(20) NOT NULL, + QESTN_SJ VARCHAR(255) NULL, + QESTN_CN VARCHAR(2500) NULL, + WRITNG_DE CHAR(20) NULL, + RDCNT NUMERIC(10) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + QNA_PROCESS_STTUS_CODE CHAR(1) NULL, + WRTER_NM VARCHAR(20) NULL, + ANSWER_CN VARCHAR(2500) NULL, + WRITNG_PASSWORD VARCHAR(20) NULL, + ANSWER_DE CHAR(20) NULL, + EMAIL_ANSWER_AT CHAR(1) NULL, + AREA_NO VARCHAR(4) NULL, + MIDDLE_TELNO VARCHAR(4) NULL, + END_TELNO VARCHAR(4) NULL, + PRIMARY KEY (QA_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQAINFO_PK ON COMTNQAINFO +( + QA_ID +) +; + + + +CREATE TABLE COMTSWEBLOGSUMMARY +( + OCCRRNC_DE CHAR(8) NOT NULL, + URL VARCHAR(200) NOT NULL, + RDCNT NUMERIC(10) NULL, + PRIMARY KEY (OCCRRNC_DE,URL) +) +; + + + +CREATE UNIQUE INDEX COMTSWEBLOGSUMMARY_PK ON COMTSWEBLOGSUMMARY +( + OCCRRNC_DE, + URL +) +; + + + +CREATE TABLE COMTNROLES_HIERARCHY +( + PARNTS_ROLE VARCHAR(30) NOT NULL, + CHLDRN_ROLE VARCHAR(30) NOT NULL, + PRIMARY KEY (PARNTS_ROLE,CHLDRN_ROLE), + FOREIGN KEY (PARNTS_ROLE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) + ON DELETE CASCADE, + FOREIGN KEY (CHLDRN_ROLE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) + ON DELETE CASCADE +) +; + + + +CREATE UNIQUE INDEX COMTNROLES_HIERARCHY_PK ON COMTNROLES_HIERARCHY +( + PARNTS_ROLE, + CHLDRN_ROLE +) +; + + + +CREATE UNIQUE INDEX COMTNROLES_HIERARCHY_i01 ON COMTNROLES_HIERARCHY +( + PARNTS_ROLE +) +; + + + +CREATE INDEX COMTNROLES_HIERARCHY_i02 ON COMTNROLES_HIERARCHY +( + CHLDRN_ROLE +) +; + + + +CREATE TABLE COMTNROLEINFO +( + ROLE_CODE VARCHAR(50) NOT NULL, + ROLE_NM VARCHAR(60) NOT NULL, + ROLE_PTTRN VARCHAR(300) NULL, + ROLE_DC VARCHAR(200) NULL, + ROLE_TY VARCHAR(80) NULL, + ROLE_SORT VARCHAR(10) NULL, + ROLE_CREAT_DE TIMESTAMP NOT NULL, + PRIMARY KEY (ROLE_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNROLEINFO_PK ON COMTNROLEINFO +( + ROLE_CODE +) +; + + + +CREATE TABLE COMTNAUTHORROLERELATE +( + AUTHOR_CODE VARCHAR(30) NOT NULL, + ROLE_CODE VARCHAR(50) NOT NULL, + CREAT_DT TIMESTAMP NULL, + PRIMARY KEY (AUTHOR_CODE,ROLE_CODE), + FOREIGN KEY (AUTHOR_CODE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) + ON DELETE CASCADE, + FOREIGN KEY (ROLE_CODE) REFERENCES COMTNROLEINFO(ROLE_CODE) + ON DELETE CASCADE +) +; + + + +CREATE UNIQUE INDEX COMTNAUTHORROLERELATE_PK ON COMTNAUTHORROLERELATE +( + AUTHOR_CODE, + ROLE_CODE +) +; + + + +CREATE INDEX COMTNAUTHORROLERELATE_i01 ON COMTNAUTHORROLERELATE +( + AUTHOR_CODE +) +; + + + +CREATE INDEX COMTNAUTHORROLERELATE_i02 ON COMTNAUTHORROLERELATE +( + ROLE_CODE +) +; + + + +CREATE TABLE COMTNLOGINLOG +( + LOG_ID CHAR(20) NOT NULL, + CONECT_ID VARCHAR(20) NULL, + CONECT_IP VARCHAR(23) NULL, + CONECT_MTHD CHAR(4) NULL, + ERROR_OCCRRNC_AT CHAR(1) NULL, + ERROR_CODE CHAR(3) NULL, + CREAT_DT TIMESTAMP NULL, + PRIMARY KEY (LOG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNLOGINLOG_PK ON COMTNLOGINLOG +( + LOG_ID +) +; + + + +CREATE TABLE COMTNWEBLOG +( + REQUST_ID VARCHAR(20) NOT NULL, + OCCRRNC_DE TIMESTAMP NULL, + URL VARCHAR(200) NULL, + RQESTER_ID VARCHAR(20) NULL, + RQESTER_IP VARCHAR(23) NULL, + PRIMARY KEY (REQUST_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNWEBLOG_PK ON COMTNWEBLOG +( + REQUST_ID +) +; + + + +CREATE TABLE COMTNEVENTINFO +( + EVENT_ID CHAR(20) NOT NULL, + BSNS_YEAR CHAR(4) NULL, + BSNS_CODE VARCHAR(2) NULL, + EVENT_CN VARCHAR(1000) NULL, + EVENT_SVC_BGNDE CHAR(20) NULL, + SVC_USE_NMPR_CO NUMERIC(10) NULL, + CHARGER_NM VARCHAR(50) NULL, + PRPARETG_CN VARCHAR(2500) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + EVENT_SVC_ENDDE CHAR(20) NULL, + EVENT_TY_CODE CHAR(1) NULL, + EVENT_CONFM_AT CHAR(1) NULL, + EVENT_CONFM_DE CHAR(20) NULL, + PRIMARY KEY (EVENT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNEVENTINFO_PK ON COMTNEVENTINFO +( + EVENT_ID +) +; + + + +CREATE TABLE COMTNEXTRLHRINFO +( + EVENT_ID CHAR(20) NOT NULL, + EXTRL_HR_ID CHAR(20) NOT NULL, + SEXDSTN_CODE CHAR(1) NULL, + EXTRL_HR_NM VARCHAR(60) NULL, + OCCP_TY_CODE CHAR(1) NULL, + PSITN_INSTT_NM VARCHAR(100) NULL, + BRTHDY CHAR(20) NULL, + AREA_NO VARCHAR(4) NULL, + MIDDLE_TELNO VARCHAR(4) NULL, + END_TELNO VARCHAR(4) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (EVENT_ID,EXTRL_HR_ID), + FOREIGN KEY (EVENT_ID) REFERENCES COMTNEVENTINFO(EVENT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNEXTRLHRINFO_PK ON COMTNEXTRLHRINFO +( + EVENT_ID, + EXTRL_HR_ID +) +; + + + +CREATE INDEX COMTNEXTRLHRINFO_i01 ON COMTNEXTRLHRINFO +( + EVENT_ID +) +; + + + +CREATE TABLE COMTNBBSUSE +( + BBS_ID CHAR(20) NOT NULL, + TRGET_ID CHAR(20) NOT NULL, + USE_AT CHAR(1) NOT NULL, + REGIST_SE_CODE CHAR(6) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (BBS_ID,TRGET_ID), + FOREIGN KEY (BBS_ID) REFERENCES COMTNBBSMASTER(BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBBSUSE_PK ON COMTNBBSUSE +( + BBS_ID, + TRGET_ID +) +; + + + +CREATE INDEX COMTNBBSUSE_i01 ON COMTNBBSUSE +( + BBS_ID +) +; + + + +CREATE TABLE COMTNSTPLATINFO +( + USE_STPLAT_ID CHAR(20) NOT NULL, + USE_STPLAT_NM VARCHAR(100) NULL, + USE_STPLAT_CN TEXT NULL, + INFO_PROVD_AGRE_CN TEXT NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (USE_STPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSTPLATINFO_PK ON COMTNSTPLATINFO +( + USE_STPLAT_ID +) +; + + + +CREATE TABLE COMTNQUSTNRQESITM +( + QESTNR_ID CHAR(20) NOT NULL, + QUSTNR_QESITM_ID CHAR(20) NOT NULL, + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + QESTN_SN NUMERIC(10) NULL, + QESTN_TY_CODE CHAR(1) NULL, + QESTN_CN VARCHAR(2500) NULL, + MXMM_CHOISE_CO NUMERIC(5) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID), + FOREIGN KEY (QUSTNR_TMPLAT_ID,QESTNR_ID) REFERENCES COMTNQESTNRINFO(QUSTNR_TMPLAT_ID,QESTNR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQUSTNRQESITM_PK ON COMTNQUSTNRQESITM +( + QESTNR_ID, + QUSTNR_QESITM_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE INDEX COMTNQUSTNRQESITM_i02 ON COMTNQUSTNRQESITM +( + QESTNR_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTNQUSTNRRSPNSRESULT +( + QUSTNR_RSPNS_RESULT_ID CHAR(20) NOT NULL, + QESTNR_ID CHAR(20) NOT NULL, + QUSTNR_QESITM_ID CHAR(20) NOT NULL, + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + RESPOND_ANSWER_CN VARCHAR(1000) NULL, + ETC_ANSWER_CN VARCHAR(1000) NULL, + RESPOND_NM VARCHAR(50) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + QUSTNR_IEM_ID VARCHAR(20) NULL, + PRIMARY KEY (QUSTNR_RSPNS_RESULT_ID,QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID), + FOREIGN KEY (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRQESITM(QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQUSTNRRSPNSRESULT_PK ON COMTNQUSTNRRSPNSRESULT +( + QUSTNR_RSPNS_RESULT_ID, + QESTNR_ID, + QUSTNR_QESITM_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE INDEX COMTNQUSTNRRSPNSRESULT_i01 ON COMTNQUSTNRRSPNSRESULT +( + QESTNR_ID, + QUSTNR_QESITM_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTNADBKMANAGE +( + ADBK_ID CHAR(20) NOT NULL, + ADBK_NM VARCHAR(50) NOT NULL, + OTHBC_SCOPE VARCHAR(20) NOT NULL, + USE_AT CHAR(1) NOT NULL, + WRTER_ID VARCHAR(20) NULL, + TRGET_ORGNZT_ID CHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (ADBK_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNADBKMANAGE_PK ON COMTNADBKMANAGE +( + ADBK_ID +) +; + + + +CREATE TABLE COMTNADBK +( + EMPLYR_ID VARCHAR(20) NULL, + NCRD_ID CHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + ADBK_CONSTNT_ID CHAR(20) NOT NULL, + NM VARCHAR(50) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + MBTLNUM VARCHAR(20) NULL, + FXNUM VARCHAR(20) NULL, + OFFM_TELNO VARCHAR(20) NULL, + HOUSE_TELNO VARCHAR(20) NULL, + ADBK_ID CHAR(20) NOT NULL, + PRIMARY KEY (ADBK_CONSTNT_ID,ADBK_ID), + FOREIGN KEY (ADBK_ID) REFERENCES COMTNADBKMANAGE(ADBK_ID) + ON DELETE CASCADE +) +; + + + +CREATE UNIQUE INDEX COMTNADBK_PK ON COMTNADBK +( + ADBK_CONSTNT_ID, + ADBK_ID +) +; + + + +CREATE INDEX COMTNADBK_i01 ON COMTNADBK +( + ADBK_ID +) +; + + + +CREATE TABLE COMTNQUSTNRIEM +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL, + QESTNR_ID CHAR(20) NOT NULL, + QUSTNR_QESITM_ID CHAR(20) NOT NULL, + QUSTNR_IEM_ID VARCHAR(20) NOT NULL, + IEM_SN NUMERIC(5) NULL, + IEM_CN VARCHAR(1000) NULL, + ETC_ANSWER_AT CHAR(1) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_IEM_ID), + FOREIGN KEY (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRQESITM(QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNQUSTNRIEM_PK ON COMTNQUSTNRIEM +( + QUSTNR_TMPLAT_ID, + QESTNR_ID, + QUSTNR_QESITM_ID, + QUSTNR_IEM_ID +) +; + + + +CREATE INDEX COMTNQUSTNRIEM_i01 ON COMTNQUSTNRIEM +( + QUSTNR_QESITM_ID, + QESTNR_ID, + QUSTNR_TMPLAT_ID +) +; + + + +CREATE TABLE COMTNADMINISTRATIONWORD +( + ADMINIST_WORD_ID CHAR(20) NOT NULL, + ADMINIST_WORD_NM VARCHAR(255) NULL, + ADMINIST_WORD_ENG_NM VARCHAR(255) NULL, + ADMINIST_WORD_ABRV_NM VARCHAR(255) NULL, + THEMA_RELM VARCHAR(255) NULL, + WORD_SE VARCHAR(255) NULL, + RELATE_STD_WORD VARCHAR(255) NULL, + ADMINIST_WORD_DFN VARCHAR(2500) NULL, + ADMINIST_WORD_DC VARCHAR(4000) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (ADMINIST_WORD_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNADMINISTRATIONWORD_PK ON COMTNADMINISTRATIONWORD +( + ADMINIST_WORD_ID +) +; + + + +CREATE TABLE COMTNONLINEMANUAL +( + ONLINE_MNL_ID CHAR(20) NOT NULL, + ONLINE_MNL_SE_CODE CHAR(3) NULL, + ONLINE_MNL_DFN TEXT NULL, + ONLINE_MNL_DC TEXT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + ONLINE_MNL_NM VARCHAR(255) NULL, + PRIMARY KEY (ONLINE_MNL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNONLINEMANUAL_PK ON COMTNONLINEMANUAL +( + ONLINE_MNL_ID +) +; + + + +CREATE TABLE COMTSUSERSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL, + STATS_SE VARCHAR(10) NOT NULL, + DETAIL_STATS_SE VARCHAR(10) NOT NULL, + USER_CO NUMERIC(10) NULL, + PRIMARY KEY (OCCRRNC_DE,STATS_SE,DETAIL_STATS_SE) +) +; + + + +CREATE UNIQUE INDEX COMTSUSERSUMMARY_PK ON COMTSUSERSUMMARY +( + OCCRRNC_DE, + STATS_SE, + DETAIL_STATS_SE +) +; + + + +CREATE TABLE COMTNFAQINFO +( + FAQ_ID CHAR(20) NOT NULL, + QESTN_SJ VARCHAR(255) NULL, + QESTN_CN VARCHAR(2500) NULL, + ANSWER_CN VARCHAR(2500) NULL, + RDCNT NUMERIC(10) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NOT NULL, + ATCH_FILE_ID CHAR(20) NULL, + QNA_PROCESS_STTUS_CODE CHAR(1) NULL, + PRIMARY KEY (FAQ_ID), + FOREIGN KEY (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNFAQINFO_PK ON COMTNFAQINFO +( + FAQ_ID +) +; + + + +CREATE INDEX COMTNFAQINFO_i01 ON COMTNFAQINFO +( + ATCH_FILE_ID +) +; + + + +CREATE TABLE COMTNMTGINFO +( + MTG_ID CHAR(20) NOT NULL, + MTG_NM VARCHAR(255) NULL, + MTG_MTR_CN VARCHAR(1000) NULL, + MTG_SN NUMERIC(10) NULL, + MTG_CO NUMERIC(5) NULL, + MTG_DE CHAR(20) NULL, + MTG_PLACE VARCHAR(255) NULL, + MTG_BEGIN_TM VARCHAR(14) NULL, + MTG_END_TM VARCHAR(14) NULL, + CLSDR_MTG_AT CHAR(1) NULL, + READNG_BGNDE CHAR(20) NULL, + READNG_AT CHAR(1) NULL, + MTG_RESULT_CN VARCHAR(1000) NULL, + MTG_RESULT_ENNC CHAR(1) NULL, + ETC_MATTER VARCHAR(1000) NULL, + MNGT_DEPT_ID VARCHAR(20) NULL, + MNAER_ID VARCHAR(20) NULL, + MNAER_DEPT_ID VARCHAR(20) NULL, + MTG_AT CHAR(1) NULL, + NONATDRN_CO NUMERIC(10) NULL, + ATDRN_CO NUMERIC(10) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (MTG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMTGINFO_PK ON COMTNMTGINFO +( + MTG_ID +) +; + + + +CREATE TABLE COMTNREPRTSTATS +( + REPRT_ID CHAR(6) NOT NULL, + REPRT_NM VARCHAR(20) NOT NULL, + REPRT_STTUS CHAR(2) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + REPRT_TY CHAR(2) NULL, + PRIMARY KEY (REPRT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNREPRTSTATS_PK ON COMTNREPRTSTATS +( + REPRT_ID +) +; + + + +CREATE TABLE COMTNSMS +( + SMS_ID CHAR(20) NOT NULL, + TRNSMIS_TELNO VARCHAR(12) NOT NULL, + TRNSMIS_CN VARCHAR(80) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (SMS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSMS_PK ON COMTNSMS +( + SMS_ID +) +; + + + +CREATE TABLE COMTNSMSRECPTN +( + SMS_ID CHAR(20) NOT NULL, + RECPTN_TELNO VARCHAR(12) NOT NULL, + RESULT_CODE VARCHAR(4) NULL, + RESULT_MSSAGE VARCHAR(4000) NULL, + PRIMARY KEY (SMS_ID,RECPTN_TELNO), + FOREIGN KEY (SMS_ID) REFERENCES COMTNSMS(SMS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSMSRECPTN_PK ON COMTNSMSRECPTN +( + SMS_ID, + RECPTN_TELNO +) +; + + + +CREATE INDEX COMTNSMSRECPTN_i01 ON COMTNSMSRECPTN +( + SMS_ID +) +; + + + +CREATE TABLE COMTNCPYRHTINFO +( + CPYRHT_ID CHAR(20) NOT NULL, + CPYRHT_PRTC_POLICY_CN VARCHAR(2500) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (CPYRHT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCPYRHTINFO_PK ON COMTNCPYRHTINFO +( + CPYRHT_ID +) +; + + + +CREATE TABLE COMTNSCHDULINFO +( + SCHDUL_ID CHAR(20) NOT NULL, + SCHDUL_SE CHAR(1) NULL, + SCHDUL_DEPT_ID VARCHAR(20) NULL, + SCHDUL_KND_CODE CHAR(1) NULL, + SCHDUL_BGNDE CHAR(20) NULL, + SCHDUL_ENDDE CHAR(20) NULL, + SCHDUL_NM VARCHAR(255) NULL, + SCHDUL_CN VARCHAR(2500) NULL, + SCHDUL_PLACE VARCHAR(255) NULL, + SCHDUL_IPCR_CODE CHAR(1) NULL, + SCHDUL_CHARGER_ID VARCHAR(20) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + REPTIT_SE_CODE CHAR(1) NULL, + PRIMARY KEY (SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSCHDULINFO_PK ON COMTNSCHDULINFO +( + SCHDUL_ID +) +; + + + +CREATE TABLE COMTNDIARYINFO +( + SCHDUL_ID CHAR(20) NOT NULL, + DIARY_ID CHAR(20) NOT NULL, + DIARY_PROGRSRT NUMERIC(3) NULL, + DIARY_NM VARCHAR(255) NULL, + DRCT_MATTER VARCHAR(2500) NULL, + PARTCLR_MATTER VARCHAR(2500) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (SCHDUL_ID,DIARY_ID), + FOREIGN KEY (SCHDUL_ID) REFERENCES COMTNSCHDULINFO(SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDIARYINFO_PK ON COMTNDIARYINFO +( + SCHDUL_ID, + DIARY_ID +) +; + + + +CREATE INDEX COMTNDIARYINFO_i01 ON COMTNDIARYINFO +( + SCHDUL_ID +) +; + + + +CREATE TABLE COMTNONLINEPOLLMANAGE +( + POLL_ID CHAR(20) NOT NULL, + POLL_NM VARCHAR(255) NULL, + POLL_BGNDE CHAR(10) NULL, + POLL_ENDDE CHAR(10) NULL, + POLL_KND CHAR(3) NULL, + POLL_DSUSE_ENNC CHAR(1) NULL, + POLL_ATMC_DSUSE_ENNC CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (POLL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNONLINEPOLLMANAGE_PK ON COMTNONLINEPOLLMANAGE +( + POLL_ID +) +; + + + +CREATE TABLE COMTNONLINEPOLLIEM +( + POLL_IEM_NM VARCHAR(255) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + POLL_IEM_ID CHAR(20) NOT NULL, + POLL_ID CHAR(20) NOT NULL, + PRIMARY KEY (POLL_ID,POLL_IEM_ID), + FOREIGN KEY (POLL_ID) REFERENCES COMTNONLINEPOLLMANAGE(POLL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNONLINEPOLLIEM_PK ON COMTNONLINEPOLLIEM +( + POLL_ID, + POLL_IEM_ID +) +; + + + +CREATE INDEX COMTNONLINEPOLLIEM_i01 ON COMTNONLINEPOLLIEM +( + POLL_ID +) +; + + + +CREATE TABLE COMTNONLINEPOLLRESULT +( + POLL_RESULT_ID CHAR(20) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + POLL_IEM_ID CHAR(20) NOT NULL, + POLL_ID CHAR(20) NOT NULL, + PRIMARY KEY (POLL_RESULT_ID,POLL_IEM_ID,POLL_ID), + FOREIGN KEY (POLL_ID,POLL_IEM_ID) REFERENCES COMTNONLINEPOLLIEM(POLL_ID,POLL_IEM_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNONLINEPOLLRESULT_PK ON COMTNONLINEPOLLRESULT +( + POLL_RESULT_ID, + POLL_IEM_ID, + POLL_ID +) +; + + + +CREATE INDEX COMTNONLINEPOLLRESULT_i01 ON COMTNONLINEPOLLRESULT +( + POLL_IEM_ID, + POLL_ID +) +; + + + +CREATE TABLE COMTNWORDDICARYINFO +( + WORD_ID CHAR(20) NOT NULL, + WORD_NM VARCHAR(255) NULL, + ENG_NM VARCHAR(60) NULL, + WORD_DC VARCHAR(4000) NULL, + SYNONM VARCHAR(100) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (WORD_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNWORDDICARYINFO_PK ON COMTNWORDDICARYINFO +( + WORD_ID +) +; + + + +CREATE TABLE COMTNCNTCSERVICE +( + INSTT_ID VARCHAR(20) NOT NULL, + SYS_ID VARCHAR(20) NOT NULL, + SVC_ID VARCHAR(20) NOT NULL, + SVC_NM VARCHAR(255) NULL, + REQUST_MSSAGE_ID VARCHAR(20) NULL, + RSPNS_MSSAGE_ID VARCHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + USE_AT CHAR(1) NULL, + PRIMARY KEY (INSTT_ID,SYS_ID,SVC_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTCSERVICE_PK ON COMTNCNTCSERVICE +( + INSTT_ID, + SYS_ID, + SVC_ID +) +; + + + +CREATE TABLE COMTNHPCMINFO +( + HPCM_ID CHAR(20) NOT NULL, + HPCM_SE_CODE CHAR(1) NULL, + HPCM_DFN VARCHAR(1000) NULL, + HPCM_DC VARCHAR(2500) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (HPCM_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNHPCMINFO_PK ON COMTNHPCMINFO +( + HPCM_ID +) +; + + + +CREATE TABLE COMTNNEWSINFO +( + NEWS_ID CHAR(20) NOT NULL, + NEWS_SJ VARCHAR(100) NULL, + NEWS_CN VARCHAR(2500) NULL, + NEWS_ORIGIN VARCHAR(250) NULL, + NTCE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NOT NULL, + NTCE_DE CHAR(20) NULL, + ATCH_FILE_ID CHAR(20) NULL, + PRIMARY KEY (NEWS_ID), + FOREIGN KEY (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) + ON DELETE SET NULL +) +; + + + +CREATE UNIQUE INDEX COMTNNEWSINFO_PK ON COMTNNEWSINFO +( + NEWS_ID +) +; + + + +CREATE INDEX COMTNNEWSINFO_i01 ON COMTNNEWSINFO +( + ATCH_FILE_ID +) +; + + + +CREATE TABLE COMTNCNSLTLIST +( + CNSLT_ID CHAR(20) NOT NULL, + CNSLT_SJ VARCHAR(255) NULL, + OTHBC_AT CHAR(1) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + CNSLT_CN VARCHAR(2500) NULL, + MANAGT_CN VARCHAR(2500) NULL, + MANAGT_DE CHAR(20) NULL, + RDCNT NUMERIC(10) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + AREA_NO VARCHAR(4) NULL, + MIDDLE_TELNO VARCHAR(4) NULL, + END_TELNO VARCHAR(4) NULL, + FRST_MBTLNUM VARCHAR(4) NULL, + MIDDLE_MBTLNUM VARCHAR(4) NULL, + END_MBTLNUM VARCHAR(4) NULL, + WRITNG_DE CHAR(20) NULL, + WRTER_NM VARCHAR(20) NULL, + EMAIL_ANSWER_AT CHAR(1) NULL, + QNA_PROCESS_STTUS_CODE CHAR(1) NULL, + WRITNG_PASSWORD VARCHAR(20) NULL, + PRIMARY KEY (CNSLT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNSLTLIST_PK ON COMTNCNSLTLIST +( + CNSLT_ID +) +; + + + +CREATE TABLE COMTNMENUINFO +( + MENU_NM VARCHAR(60) NOT NULL, + PROGRM_FILE_NM VARCHAR(60) NOT NULL, + MENU_NO NUMERIC(20) NOT NULL, + UPPER_MENU_NO NUMERIC(20) NULL, + MENU_ORDR NUMERIC(5) NOT NULL, + MENU_DC VARCHAR(250) NULL, + RELATE_IMAGE_PATH VARCHAR(100) NULL, + RELATE_IMAGE_NM VARCHAR(60) NULL, + PRIMARY KEY (MENU_NO), + FOREIGN KEY (PROGRM_FILE_NM) REFERENCES COMTNPROGRMLIST(PROGRM_FILE_NM) + ON DELETE CASCADE, + FOREIGN KEY (UPPER_MENU_NO) REFERENCES COMTNMENUINFO(MENU_NO) + ON DELETE CASCADE +) +; + + + +CREATE UNIQUE INDEX COMTNMENUINFO_PK ON COMTNMENUINFO +( + MENU_NO +) +; + + + + + + +CREATE INDEX COMTNMENUINFO_i02 ON COMTNMENUINFO +( + UPPER_MENU_NO +) +; + + + +CREATE TABLE COMTNSITEMAP +( + MAPNG_CREAT_ID VARCHAR(30) NOT NULL, + CREATR_ID VARCHAR(20) NOT NULL, + MAPNG_FILE_NM VARCHAR(60) NOT NULL, + MAPNG_FILE_PATH VARCHAR(100) NOT NULL, + PRIMARY KEY (MAPNG_CREAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSITEMAP_PK ON COMTNSITEMAP +( + MAPNG_CREAT_ID +) +; + + + +CREATE TABLE COMTNMENUCREATDTLS +( + MENU_NO NUMERIC(20) NOT NULL, + AUTHOR_CODE VARCHAR(30) NOT NULL, + MAPNG_CREAT_ID VARCHAR(30) NULL, + PRIMARY KEY (MENU_NO,AUTHOR_CODE), + FOREIGN KEY (MENU_NO) REFERENCES COMTNMENUINFO(MENU_NO) + ON DELETE CASCADE, + FOREIGN KEY (MAPNG_CREAT_ID) REFERENCES COMTNSITEMAP(MAPNG_CREAT_ID) + ON DELETE CASCADE, + FOREIGN KEY (AUTHOR_CODE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNMENUCREATDTLS_PK ON COMTNMENUCREATDTLS +( + MENU_NO, + AUTHOR_CODE +) +; + + + +CREATE INDEX COMTNMENUCREATDTLS_i02 ON COMTNMENUCREATDTLS +( + MENU_NO +) +; + + + +CREATE INDEX COMTNMENUCREATDTLS_i03 ON COMTNMENUCREATDTLS +( + MAPNG_CREAT_ID +) +; + + + +CREATE INDEX COMTNMENUCREATDTLS_i04 ON COMTNMENUCREATDTLS +( + AUTHOR_CODE +) +; + + + +CREATE TABLE COMTHEMPLYRINFOCHANGEDTLS +( + EMPLYR_ID VARCHAR(20) NOT NULL, + CHANGE_DE CHAR(20) NOT NULL, + ORGNZT_ID CHAR(20) NULL, + GROUP_ID CHAR(20) NULL, + EMPL_NO VARCHAR(20) NULL, + SEXDSTN_CODE CHAR(1) NULL, + BRTHDY CHAR(20) NULL, + FXNUM VARCHAR(20) NULL, + HOUSE_ADRES VARCHAR(100) NULL, + HOUSE_END_TELNO VARCHAR(4) NULL, + AREA_NO VARCHAR(4) NULL, + DETAIL_ADRES VARCHAR(100) NULL, + ZIP VARCHAR(6) NULL, + OFFM_TELNO VARCHAR(20) NULL, + MBTLNUM VARCHAR(20) NULL, + EMAIL_ADRES VARCHAR(50) NULL, + HOUSE_MIDDLE_TELNO VARCHAR(4) NULL, + PSTINST_CODE CHAR(8) NULL, + EMPLYR_STTUS_CODE CHAR(1) NULL, + ESNTL_ID CHAR(20) NULL, + PRIMARY KEY (EMPLYR_ID,CHANGE_DE), + FOREIGN KEY (EMPLYR_ID) REFERENCES COMTNEMPLYRINFO(EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHEMPLYRINFOCHANGEDTLS_PK ON COMTHEMPLYRINFOCHANGEDTLS +( + EMPLYR_ID, + CHANGE_DE +) +; + + + +CREATE INDEX COMTHEMPLYRINFOCHANGEDTLS_i01 ON COMTHEMPLYRINFOCHANGEDTLS +( + EMPLYR_ID +) +; + + + +CREATE TABLE COMTNNTFCINFO +( + NTCN_NO NUMERIC(20) NOT NULL, + NTCN_SJ VARCHAR(60) NOT NULL, + NTCN_CN VARCHAR(100) NOT NULL, + NTCN_TM VARCHAR(14) NOT NULL, + BH_NTCN_INTRVL VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (NTCN_NO) +) +; + + + +CREATE UNIQUE INDEX COMTNNTFCINFO_PK ON COMTNNTFCINFO +( + NTCN_NO +) +; + + + +CREATE TABLE COMTNCNTCSYSTEM +( + INSTT_ID VARCHAR(20) NOT NULL, + SYS_ID VARCHAR(20) NOT NULL, + SYS_NM VARCHAR(255) NULL, + SYS_IP VARCHAR(23) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + USE_AT CHAR(1) NULL, + PRIMARY KEY (INSTT_ID,SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTCSYSTEM_PK ON COMTNCNTCSYSTEM +( + INSTT_ID, + SYS_ID +) +; + + + +CREATE TABLE COMTNBBSMASTEROPTN +( + BBS_ID CHAR(20) NOT NULL, + ANSWER_AT CHAR(1) NOT NULL, + STSFDG_AT CHAR(1) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBBSMASTEROPTN_PK ON COMTNBBSMASTEROPTN +( + BBS_ID +) +; + + + +CREATE TABLE COMTNANSWER +( + NTT_ID NUMERIC(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + WRTER_ID VARCHAR(20) NULL, + ANSWER VARCHAR(200) NULL, + USE_AT CHAR(1) NOT NULL, + WRTER_NM VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + ANSWER_NO NUMERIC(20) NOT NULL, + PRIMARY KEY (NTT_ID,BBS_ID,ANSWER_NO), + FOREIGN KEY (BBS_ID) REFERENCES COMTNBBSMASTEROPTN(BBS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNANSWER_PK ON COMTNANSWER +( + NTT_ID, + BBS_ID, + ANSWER_NO +) +; + + + +CREATE TABLE COMTNTRSMRCVLOG +( + REQUST_ID VARCHAR(20) NOT NULL, + OCCRRNC_DE CHAR(20) NULL, + TRSMRCV_SE_CODE CHAR(3) NULL, + CNTC_ID CHAR(8) NULL, + PROVD_INSTT_ID CHAR(8) NULL, + PROVD_SYS_ID CHAR(8) NULL, + PROVD_SVC_ID CHAR(8) NULL, + REQUST_INSTT_ID CHAR(8) NULL, + REQUST_SYS_ID CHAR(8) NULL, + REQUST_TRNSMIT_TM VARCHAR(14) NULL, + REQUST_RECPTN_TM VARCHAR(14) NULL, + RSPNS_TRNSMIT_TM VARCHAR(14) NULL, + RSPNS_RECPTN_TM VARCHAR(14) NULL, + RESULT_CODE VARCHAR(4) NULL, + RESULT_MSSAGE VARCHAR(4000) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + RQESTER_ID VARCHAR(20) NULL, + PRIMARY KEY (REQUST_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNTRSMRCVLOG_PK ON COMTNTRSMRCVLOG +( + REQUST_ID +) +; + + + +CREATE TABLE COMTNDAMCALRES +( + ORGNZT_ID CHAR(20) NULL, + EXPERT_ID CHAR(20) NULL, + KNWLDG_TY_CODE VARCHAR(3) NULL, + EMPLYR_ID VARCHAR(20) NULL, + KNWLDG_NM VARCHAR(60) NULL, + KNWLDG_CN VARCHAR(2500) NULL, + ATCH_FILE_ID CHAR(20) NULL, + PARNTS_KNWLDG_ID CHAR(20) NULL, + ANSWER_DP NUMERIC(20) NULL, + ANSWER_ORDR NUMERIC(20) NULL, + ANSWER_GROUP_NO NUMERIC(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + KNWLDG_ID CHAR(20) NOT NULL, + PRIMARY KEY (KNWLDG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDAMCALRES_PK ON COMTNDAMCALRES +( + KNWLDG_ID +) +; + + + +CREATE TABLE COMTNBACKUPRESULT +( + BACKUP_RESULT_ID VARCHAR(20) NOT NULL, + BACKUP_OPERT_ID VARCHAR(20) NOT NULL, + BACKUP_FILE VARCHAR(255) NULL, + STTUS VARCHAR(2) NULL, + ERROR_INFO VARCHAR(2000) NULL, + EXECUT_BEGIN_TM VARCHAR(14) NULL, + EXECUT_END_TM VARCHAR(14) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NOT NULL, + PRIMARY KEY (BACKUP_RESULT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBACKUPRESULT_PK ON COMTNBACKUPRESULT +( + BACKUP_RESULT_ID +) +; + + + +CREATE TABLE COMTHTRSMRCVMNTRNGLOGINFO +( + LOG_ID CHAR(20) NOT NULL, + CNTC_ID CHAR(8) NOT NULL, + TEST_CLASS_NM VARCHAR(255) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + LOG_INFO VARCHAR(2000) NULL, + CREAT_DT TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NOT NULL, + PRIMARY KEY (LOG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHTRSMRCVMNTRNGLOGINFO_PK ON COMTHTRSMRCVMNTRNGLOGINFO +( + LOG_ID +) +; + + + +CREATE TABLE COMTNSCRAP +( + SCRAP_ID CHAR(20) NOT NULL, + NTT_ID NUMERIC(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + SCRAP_NM VARCHAR(100) NOT NULL, + USE_AT CHAR(1) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (SCRAP_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSCRAP_PK ON COMTNSCRAP +( + SCRAP_ID +) +; + + + +CREATE TABLE COMTNCNTCINSTT +( + INSTT_ID VARCHAR(20) NOT NULL, + INSTT_NM VARCHAR(100) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + USE_AT CHAR(1) NULL, + PRIMARY KEY (INSTT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTCINSTT_PK ON COMTNCNTCINSTT +( + INSTT_ID +) +; + + + +CREATE TABLE COMTHSYSHIST +( + HIST_ID CHAR(20) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + HIST_SE_CODE CHAR(6) NOT NULL, + HIST_CN VARCHAR(2500) NOT NULL, + SYS_NM VARCHAR(255) NOT NULL, + ATCH_FILE_ID CHAR(20) NULL, + PRIMARY KEY (HIST_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHSYSHIST_PK ON COMTHSYSHIST +( + HIST_ID +) +; + + + +CREATE TABLE COMTNHTTPMON +( + SYS_ID VARCHAR(20) NOT NULL, + SITE_URL VARCHAR(100) NULL, + WEBSVC_KND VARCHAR(10) NULL, + HTTP_STTUS_CODE VARCHAR(3) NULL, + CREAT_DT TIMESTAMP NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNHTTPMON_PK ON COMTNHTTPMON +( + SYS_ID +) +; + + + +CREATE TABLE COMTHHTTPMONLOGINFO +( + SYS_ID VARCHAR(20) NOT NULL, + SITE_URL VARCHAR(100) NULL, + WEBSVC_KND VARCHAR(10) NULL, + HTTP_STTUS_CODE VARCHAR(3) NULL, + CREAT_DT TIMESTAMP NULL, + LOG_INFO VARCHAR(2000) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (SYS_ID,LOG_ID), + FOREIGN KEY (SYS_ID) REFERENCES COMTNHTTPMON(SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHHTTPMONLOGINFO_PK ON COMTHHTTPMONLOGINFO +( + SYS_ID, + LOG_ID +) +; + + + +CREATE TABLE COMTHDBMNTRNGLOGINFO +( + DATA_SOURC_NM VARCHAR(60) NOT NULL, + SERVER_NM VARCHAR(60) NULL, + DBMS_KND VARCHAR(2) NULL, + CECK_SQL VARCHAR(250) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + LOG_INFO VARCHAR(2000) NULL, + CREAT_DT TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (LOG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTHDBMNTRNGLOGINFO_PK ON COMTHDBMNTRNGLOGINFO +( + LOG_ID +) +; + + + +CREATE TABLE COMTHCONFMHISTORY +( + CONFM_NO NUMERIC(8) NOT NULL, + CONFM_RQESTER_ID VARCHAR(20) NOT NULL, + CONFMER_ID VARCHAR(20) NULL, + CONFM_DE CHAR(20) NULL, + CONFM_TY_CODE CHAR(4) NOT NULL, + CONFM_STTUS_CODE CHAR(4) NOT NULL, + OPERT_TY_CODE CHAR(4) NULL, + OPERT_ID VARCHAR(20) NULL, + TRGET_JOB_TY_CODE CHAR(3) NULL, + TRGET_JOB_ID CHAR(20) NULL, + PRIMARY KEY (CONFM_NO) +) +; + + + +CREATE UNIQUE INDEX COMTHCONFMHISTORY_PK ON COMTHCONFMHISTORY +( + CONFM_NO +) +; + + + +CREATE TABLE COMTNDAMMAPTEAM +( + ORGNZT_ID CHAR(20) NOT NULL, + ORGNZT_NM VARCHAR(20) NULL, + CL_DE CHAR(20) NULL, + KNWLDG_URL VARCHAR(255) NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (ORGNZT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDAMMAPTEAM_PK ON COMTNDAMMAPTEAM +( + ORGNZT_ID +) +; + + + +CREATE TABLE COMTNTMPLATINFO +( + TMPLAT_ID CHAR(20) NOT NULL, + TMPLAT_NM VARCHAR(255) NULL, + TMPLAT_COURS VARCHAR(2000) NULL, + USE_AT CHAR(1) NULL, + TMPLAT_SE_CODE CHAR(6) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (TMPLAT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNTMPLATINFO_PK ON COMTNTMPLATINFO +( + TMPLAT_ID +) +; + + + +CREATE TABLE COMTNINDVDLPGECNTNTS +( + CNTNTS_ID VARCHAR(20) NOT NULL, + CNTNTS_NM VARCHAR(100) NOT NULL, + CNTC_URL VARCHAR(255) NOT NULL, + CNTNTS_USE_AT CHAR(1) NOT NULL, + CNTNTS_LINK_URL VARCHAR(1000) NULL, + CNTNTS_DC VARCHAR(250) NULL, + PRIMARY KEY (CNTNTS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINDVDLPGECNTNTS_PK ON COMTNINDVDLPGECNTNTS +( + CNTNTS_ID +) +; + + + +CREATE TABLE COMTNINDVDLPGEESTBS +( + EMPLYR_ID VARCHAR(20) NOT NULL, + UPEND_IMAGE VARCHAR(1024) NULL, + TITLEBAR_COLOR CHAR(7) NULL, + ALGN_MTHD CHAR(1) NULL, + ALGN_CO NUMERIC(10) NULL, + PRIMARY KEY (EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINDVDLPGEESTBS_PK ON COMTNINDVDLPGEESTBS +( + EMPLYR_ID +) +; + + + +CREATE TABLE COMTNCNTNTSLIST +( + CNTNTS_ID VARCHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (CNTNTS_ID,EMPLYR_ID), + FOREIGN KEY (CNTNTS_ID) REFERENCES COMTNINDVDLPGECNTNTS(CNTNTS_ID), + FOREIGN KEY (EMPLYR_ID) REFERENCES COMTNINDVDLPGEESTBS(EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTNTSLIST_PK ON COMTNCNTNTSLIST +( + CNTNTS_ID, + EMPLYR_ID +) +; + + + +CREATE INDEX COMTNCNTNTSLIST_i01 ON COMTNCNTNTSLIST +( + CNTNTS_ID +) +; + + + +CREATE INDEX COMTNCNTNTSLIST_i02 ON COMTNCNTNTSLIST +( + EMPLYR_ID +) +; + + + +CREATE TABLE COMTNCNTCMESSAGE +( + CNTC_MSSAGE_ID VARCHAR(20) NOT NULL, + CNTC_MSSAGE_NM VARCHAR(100) NULL, + UPPER_CNTC_MSSAGE_ID VARCHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + USE_AT CHAR(1) NULL, + PRIMARY KEY (CNTC_MSSAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTCMESSAGE_PK ON COMTNCNTCMESSAGE +( + CNTC_MSSAGE_ID +) +; + + + +CREATE TABLE COMTNCNTCMESSAGEITEM +( + CNTC_MSSAGE_ID VARCHAR(20) NOT NULL, + IEM_ID VARCHAR(20) NOT NULL, + IEM_NM VARCHAR(100) NULL, + IEM_TY VARCHAR(50) NULL, + IEM_LT NUMERIC(8) NULL, + USE_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (CNTC_MSSAGE_ID,IEM_ID), + FOREIGN KEY (CNTC_MSSAGE_ID) REFERENCES COMTNCNTCMESSAGE(CNTC_MSSAGE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCNTCMESSAGEITEM_PK ON COMTNCNTCMESSAGEITEM +( + CNTC_MSSAGE_ID, + IEM_ID +) +; + + + +CREATE INDEX COMTNCNTCMESSAGEITEM_i01 ON COMTNCNTCMESSAGEITEM +( + CNTC_MSSAGE_ID +) +; + + + +CREATE TABLE COMTNBKMKMENUMANAGERESULT +( + MENU_ID NUMERIC(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + MENU_NM VARCHAR(60) NOT NULL, + PROGRM_STRE_PATH VARCHAR(100) NOT NULL, + PRIMARY KEY (MENU_ID,EMPLYR_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBKMKMENUMANAGERESULT_PK ON COMTNBKMKMENUMANAGERESULT +( + MENU_ID, + EMPLYR_ID +) +; + + + +CREATE TABLE COMTNSYSTEMCNTC +( + CNTC_ID CHAR(8) NOT NULL, + CNTC_NM VARCHAR(100) NULL, + PROVD_INSTT_ID CHAR(8) NULL, + PROVD_SYS_ID CHAR(8) NULL, + PROVD_SVC_ID CHAR(8) NULL, + REQUST_INSTT_ID CHAR(8) NULL, + REQUST_SYS_ID CHAR(8) NULL, + CONFM_AT CHAR(1) NULL, + USE_AT CHAR(1) NULL, + VALID_BGNDE CHAR(20) NULL, + VALID_ENDDE CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + CNTC_TY VARCHAR(60) NULL, + PRIMARY KEY (CNTC_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSYSTEMCNTC_PK ON COMTNSYSTEMCNTC +( + CNTC_ID +) +; + + + +CREATE TABLE COMTNINDVDLINFOPOLICY +( + INDVDL_INFO_POLICY_ID CHAR(20) NOT NULL, + INDVDL_INFO_POLICY_CN VARCHAR(2500) NULL, + INDVDL_INFO_POLICY_AGRE_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + INDVDL_INFO_POLICY_NM VARCHAR(255) NULL, + PRIMARY KEY (INDVDL_INFO_POLICY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINDVDLINFOPOLICY_PK ON COMTNINDVDLINFOPOLICY +( + INDVDL_INFO_POLICY_ID +) +; + + + +CREATE TABLE COMTNBNDTMANAGE +( + BNDT_ID VARCHAR(20) NOT NULL, + BNDT_DE CHAR(8) NOT NULL, + RM VARCHAR(2500) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (BNDT_ID,BNDT_DE) +) +; + + + +CREATE UNIQUE INDEX COMTNBNDTMANAGE_PK ON COMTNBNDTMANAGE +( + BNDT_ID, + BNDT_DE +) +; + + + +CREATE TABLE COMTNBNDTCECKMANAGE +( + BNDT_CECK_SE CHAR(2) NOT NULL, + BNDT_CECK_CODE VARCHAR(10) NOT NULL, + BNDT_CECK_CODE_NM VARCHAR(255) NOT NULL, + USE_AT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (BNDT_CECK_CODE,BNDT_CECK_SE) +) +; + + + +CREATE UNIQUE INDEX COMTNBNDTCECKMANAGE_PK ON COMTNBNDTCECKMANAGE +( + BNDT_CECK_CODE, + BNDT_CECK_SE +) +; + + + +CREATE TABLE COMTNBNDTDIARY +( + BNDT_ID VARCHAR(20) NOT NULL, + BNDT_DE CHAR(8) NOT NULL, + BNDT_CECK_SE CHAR(2) NOT NULL, + BNDT_CECK_CODE VARCHAR(10) NOT NULL, + CHCK_STTUS VARCHAR(1000) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (BNDT_ID,BNDT_DE,BNDT_CECK_SE,BNDT_CECK_CODE), + FOREIGN KEY (BNDT_ID,BNDT_DE) REFERENCES COMTNBNDTMANAGE(BNDT_ID,BNDT_DE), + FOREIGN KEY (BNDT_CECK_CODE,BNDT_CECK_SE) REFERENCES COMTNBNDTCECKMANAGE(BNDT_CECK_CODE,BNDT_CECK_SE) +) +; + + + +CREATE UNIQUE INDEX COMTNBNDTDIARY_PK ON COMTNBNDTDIARY +( + BNDT_ID, + BNDT_DE, + BNDT_CECK_SE, + BNDT_CECK_CODE +) +; + + + +CREATE TABLE COMTNBATCHRESULT +( + BATCH_RESULT_ID VARCHAR(20) NOT NULL, + BATCH_SCHDUL_ID VARCHAR(20) NOT NULL, + BATCH_OPERT_ID VARCHAR(20) NOT NULL, + PARAMTR VARCHAR(250) NULL, + STTUS VARCHAR(2) NULL, + ERROR_INFO VARCHAR(2000) NULL, + EXECUT_BEGIN_TM VARCHAR(14) NULL, + EXECUT_END_TM VARCHAR(14) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + PRIMARY KEY (BATCH_RESULT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBATCHRESULT_PK ON COMTNBATCHRESULT +( + BATCH_RESULT_ID +) +; + + + +CREATE TABLE COMTNSTSFDG +( + STSFDG_NO NUMERIC(20) NOT NULL, + NTT_ID NUMERIC(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + WRTER_ID VARCHAR(20) NULL, + WRTER_NM VARCHAR(20) NULL, + PASSWORD VARCHAR(200) NULL, + STSFDG NUMERIC(1) NOT NULL, + STSFDG_CN VARCHAR(200) NULL, + USE_AT CHAR(1) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (STSFDG_NO) +) +; + + + +CREATE UNIQUE INDEX COMTNSTSFDG_PK ON COMTNSTSFDG +( + STSFDG_NO +) +; + + + +CREATE TABLE COMTNBATCHOPERT +( + BATCH_OPERT_ID VARCHAR(20) NOT NULL, + BATCH_OPERT_NM VARCHAR(60) NULL, + BATCH_PROGRM VARCHAR(255) NULL, + PARAMTR VARCHAR(250) NULL, + USE_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NOT NULL, + PRIMARY KEY (BATCH_OPERT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBATCHOPERT_PK ON COMTNBATCHOPERT +( + BATCH_OPERT_ID +) +; + + + +CREATE TABLE COMTNFILESYSMNTRNG +( + FILE_SYS_ID CHAR(20) NOT NULL, + FILE_SYS_NM VARCHAR(60) NOT NULL, + FILE_SYS_MANAGE_NM VARCHAR(255) NOT NULL, + FILE_SYS_SIZE NUMERIC(8) NOT NULL, + FILE_SYS_THRHLD NUMERIC(8) NOT NULL, + FILE_SYS_USGQTY NUMERIC(8) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + CREAT_DT TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (FILE_SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNFILESYSMNTRNG_PK ON COMTNFILESYSMNTRNG +( + FILE_SYS_ID +) +; + + + +CREATE TABLE COMTNFILESYSMNTRNGLOGINFO +( + FILE_SYS_ID CHAR(20) NOT NULL, + FILE_SYS_NM VARCHAR(60) NOT NULL, + FILE_SYS_MANAGE_NM VARCHAR(255) NOT NULL, + FILE_SYS_SIZE NUMERIC(8) NOT NULL, + FILE_SYS_THRHLD NUMERIC(8) NOT NULL, + FILE_SYS_USGQTY NUMERIC(8) NULL, + MNTRNG_STTUS CHAR(2) NULL, + LOG_INFO VARCHAR(2000) NULL, + CREAT_DT TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (FILE_SYS_ID,LOG_ID), + FOREIGN KEY (FILE_SYS_ID) REFERENCES COMTNFILESYSMNTRNG(FILE_SYS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNFILESYSMNTRNGLOGINFO_PK ON COMTNFILESYSMNTRNGLOGINFO +( + FILE_SYS_ID, + LOG_ID +) +; + + + +CREATE TABLE COMTNBATCHSCHDUL +( + BATCH_SCHDUL_ID VARCHAR(20) NOT NULL, + BATCH_OPERT_ID VARCHAR(20) NOT NULL, + EXECUT_CYCLE VARCHAR(2) NULL, + EXECUT_SCHDUL_DE CHAR(20) NULL, + EXECUT_SCHDUL_HOUR CHAR(2) NULL, + EXECUT_SCHDUL_MNT CHAR(2) NULL, + EXECUT_SCHDUL_SECND CHAR(2) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NOT NULL, + PRIMARY KEY (BATCH_SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBATCHSCHDUL_PK ON COMTNBATCHSCHDUL +( + BATCH_SCHDUL_ID +) +; + + + +CREATE TABLE COMTNBATCHSCHDULDFK +( + BATCH_SCHDUL_ID VARCHAR(20) NOT NULL, + EXECUT_SCHDUL_DFK_SE CHAR(1) NOT NULL, + PRIMARY KEY (BATCH_SCHDUL_ID,EXECUT_SCHDUL_DFK_SE), + FOREIGN KEY (BATCH_SCHDUL_ID) REFERENCES COMTNBATCHSCHDUL(BATCH_SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNBATCHSCHDULDFK_PK ON COMTNBATCHSCHDULDFK +( + BATCH_SCHDUL_ID, + EXECUT_SCHDUL_DFK_SE +) +; + + + +CREATE TABLE COMTNCTSNNMANAGE +( + CTSNN_ID VARCHAR(20) NOT NULL, + USER_ID VARCHAR(20) NOT NULL, + CTSNN_CODE CHAR(2) NOT NULL, + REQST_DE CHAR(20) NOT NULL, + CTSNN_NM VARCHAR(255) NOT NULL, + TRGTER_NM VARCHAR(20) NOT NULL, + BRTHDY CHAR(20) NOT NULL, + OCCRRNC_DE CHAR(20) NOT NULL, + RELATE CHAR(2) NOT NULL, + RM VARCHAR(2500) NULL, + SANCTNER_ID VARCHAR(20) NOT NULL, + CONFM_AT CHAR(1) NULL, + SANCTN_DT TIMESTAMP NULL, + RETURN_RESN VARCHAR(1000) NULL, + INFRML_SANCTN_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (CTSNN_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNCTSNNMANAGE_PK ON COMTNCTSNNMANAGE +( + CTSNN_ID +) +; + + + +CREATE TABLE COMTCADMINISTCODERECPTNLOG +( + OCCRRNC_DE CHAR(20) NOT NULL, + ADMINIST_ZONE_SE CHAR(1) NOT NULL, + ADMINIST_ZONE_CODE VARCHAR(10) NOT NULL, + OPERT_SN NUMERIC(10) NOT NULL, + CHANGE_SE_CODE VARCHAR(2) NULL, + PROCESS_SE VARCHAR(2) NULL, + ADMINIST_ZONE_NM VARCHAR(60) NULL, + LOWEST_ADMINIST_ZONE_NM VARCHAR(60) NULL, + CTPRVN_CODE VARCHAR(2) NULL, + SIGNGU_CODE VARCHAR(3) NULL, + EMD_CODE VARCHAR(3) NULL, + LI_CODE VARCHAR(2) NULL, + CREAT_DE CHAR(20) NULL, + ABL_DE CHAR(20) NULL, + ABL_ENNC CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (OCCRRNC_DE,ADMINIST_ZONE_SE,ADMINIST_ZONE_CODE,OPERT_SN) +) +; + + + +CREATE UNIQUE INDEX COMTCADMINISTCODERECPTNLOG_PK ON COMTCADMINISTCODERECPTNLOG +( + OCCRRNC_DE, + ADMINIST_ZONE_SE, + ADMINIST_ZONE_CODE, + OPERT_SN +) +; + + + +CREATE TABLE COMTNTROBLINFO +( + TROBL_ID CHAR(20) NOT NULL, + TROBL_NM VARCHAR(60) NULL, + TROBL_KND CHAR(2) NULL, + TROBL_DC VARCHAR(2000) NULL, + TROBL_OCCRRNC_TIME VARCHAR(14) NULL, + TROBL_RQESTER_NM VARCHAR(60) NULL, + TROBL_REQUST_TIME VARCHAR(14) NULL, + TROBL_PROCESS_RESULT VARCHAR(2000) NULL, + TROBL_OPETR_NM VARCHAR(60) NULL, + TROBL_PROCESS_TIME VARCHAR(14) NULL, + PROCESS_STTUS CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (TROBL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNTROBLINFO_PK ON COMTNTROBLINFO +( + TROBL_ID +) +; + + + +CREATE TABLE COMTNDAMKNOIFM +( + KNWLDG_ID CHAR(20) NOT NULL, + KNWLDG_TY_CODE VARCHAR(3) NULL, + ORGNZT_ID CHAR(20) NULL, + EXPERT_ID CHAR(20) NULL, + EMPLYR_ID VARCHAR(20) NULL, + KNWLDG_NM VARCHAR(60) NULL, + KNWLDG_CN VARCHAR(2500) NULL, + KWRD VARCHAR(100) NULL, + OTHBC_AT CHAR(1) NULL, + KNWLDG_EVL CHAR(1) NULL, + COLCT_DE CHAR(20) NULL, + EVL_DE CHAR(20) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + DSUSE_DE CHAR(20) NULL, + PRIMARY KEY (KNWLDG_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDAMKNOIFM_PK ON COMTNDAMKNOIFM +( + KNWLDG_ID +) +; + + + +CREATE TABLE COMTNDAMMAPKNO +( + KNWLDG_TY_CODE VARCHAR(3) NOT NULL, + ORGNZT_ID CHAR(20) NULL, + EXPERT_ID CHAR(20) NULL, + KNWLDG_TY_NM VARCHAR(60) NULL, + CL_DE CHAR(20) NULL, + KNWLDG_URL VARCHAR(255) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (KNWLDG_TY_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNDAMMAPKNO_PK ON COMTNDAMMAPKNO +( + KNWLDG_TY_CODE +) +; + + + +CREATE TABLE COMTNDAMPRO +( + EXPERT_ID CHAR(20) NOT NULL, + KNWLDG_TY_CODE VARCHAR(3) NOT NULL, + EXPERT_GRAD CHAR(1) NOT NULL, + EXPERT_CONFM_DE CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + EXPERT_DC VARCHAR(2000) NULL, + PRIMARY KEY (EXPERT_ID,KNWLDG_TY_CODE,EXPERT_GRAD), + FOREIGN KEY (KNWLDG_TY_CODE) REFERENCES COMTNDAMMAPKNO(KNWLDG_TY_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNDAMPRO_PK ON COMTNDAMPRO +( + EXPERT_ID, + KNWLDG_TY_CODE, + EXPERT_GRAD +) +; + + + +CREATE TABLE COMTNINFRMLSANCTN +( + INFRML_SANCTN_ID CHAR(20) NOT NULL, + JOB_SE_CODE CHAR(3) NOT NULL, + APPLCNT_ID VARCHAR(20) NOT NULL, + REQST_DE CHAR(20) NOT NULL, + SANCTNER_ID VARCHAR(20) NOT NULL, + CONFM_AT CHAR(1) NOT NULL, + SANCTN_DT TIMESTAMP NULL, + RETURN_RESN VARCHAR(1000) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (INFRML_SANCTN_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINFRMLSANCTN_PK ON COMTNINFRMLSANCTN +( + INFRML_SANCTN_ID +) +; + + + +CREATE TABLE COMTNDBMNTRNG +( + DATA_SOURC_NM VARCHAR(60) NOT NULL, + SERVER_NM VARCHAR(60) NULL, + DBMS_KND VARCHAR(2) NULL, + CECK_SQL VARCHAR(250) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + CREAT_DT TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NOT NULL, + PRIMARY KEY (DATA_SOURC_NM) +) +; + + + +CREATE UNIQUE INDEX COMTNDBMNTRNG_PK ON COMTNDBMNTRNG +( + DATA_SOURC_NM +) +; + + + +CREATE TABLE COMTNTRSMRCVMNTRNG +( + CNTC_ID CHAR(8) NOT NULL, + TEST_CLASS_NM VARCHAR(255) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + CREAT_DT TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NOT NULL, + PRIMARY KEY (CNTC_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNTRSMRCVMNTRNG_PK ON COMTNTRSMRCVMNTRNG +( + CNTC_ID +) +; + + + +CREATE TABLE COMTNDEPTJOB +( + DEPT_JOB_ID CHAR(20) NOT NULL, + DEPT_JOBBX_ID CHAR(6) NOT NULL, + DEPT_JOB_NM VARCHAR(255) NOT NULL, + DEPT_JOB_CN VARCHAR(2500) NOT NULL, + ATCH_FILE_ID CHAR(20) NULL, + CHARGER_ID VARCHAR(20) NOT NULL, + PRIORT CHAR(1) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (DEPT_JOB_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDEPTJOB_PK ON COMTNDEPTJOB +( + DEPT_JOB_ID +) +; + + + +CREATE TABLE COMTNLEADERSCHDUL +( + SCHDUL_ID CHAR(20) NOT NULL, + SCHDUL_SE CHAR(1) NULL, + SCHDUL_NM VARCHAR(255) NOT NULL, + SCHDUL_CN VARCHAR(2500) NOT NULL, + SCHDUL_PLACE VARCHAR(255) NULL, + LEADER_ID VARCHAR(20) NOT NULL, + REPTIT_SE_CODE CHAR(1) NULL, + SCHDUL_BGNDE CHAR(20) NULL, + SCHDUL_ENDDE CHAR(20) NULL, + SCHDUL_CHARGER_ID VARCHAR(20) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNLEADERSCHDUL_PK ON COMTNLEADERSCHDUL +( + SCHDUL_ID +) +; + + + +CREATE TABLE COMTNLEADERSCHDULDE +( + SCHDUL_ID CHAR(20) NOT NULL, + SCHDUL_DE CHAR(8) NOT NULL, + PRIMARY KEY (SCHDUL_ID,SCHDUL_DE), + FOREIGN KEY (SCHDUL_ID) REFERENCES COMTNLEADERSCHDUL(SCHDUL_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNLEADERSCHDULDE_PK ON COMTNLEADERSCHDULDE +( + SCHDUL_ID, + SCHDUL_DE +) +; + +CREATE TABLE COMTNLEADERSTTUS +( + LEADER_ID VARCHAR(20) NOT NULL , + LEADER_STTUS CHAR(1) NOT NULL , + FRST_REGIST_PNTTM TIMESTAMP NULL , + FRST_REGISTER_ID VARCHAR(20) NULL , + LAST_UPDT_PNTTM TIMESTAMP NULL , + LAST_UPDUSR_ID VARCHAR(20) NULL , + PRIMARY KEY (LEADER_ID) +); + + +CREATE TABLE COMTNDEPTJOBBX +( + DEPT_JOBBX_ID CHAR(6) NOT NULL, + DEPT_JOBBX_NM VARCHAR(255) NOT NULL, + DEPT_ID VARCHAR(20) NOT NULL, + INDICT_ORDR NUMERIC(6) NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (DEPT_JOBBX_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDEPTJOBBX_PK ON COMTNDEPTJOBBX +( + DEPT_JOBBX_ID +) +; + + + +CREATE TABLE COMTNDTAUSESTATS +( + DTA_USE_STATS_ID CHAR(20) NOT NULL, + BBS_ID CHAR(20) NOT NULL, + NTT_ID NUMERIC(20) NOT NULL, + ATCH_FILE_ID CHAR(20) NOT NULL, + FILE_SN NUMERIC(10) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (DTA_USE_STATS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNDTAUSESTATS_PK ON COMTNDTAUSESTATS +( + DTA_USE_STATS_ID +) +; + + + +CREATE TABLE COMTNINSTTCODE +( + INSTT_CODE CHAR(7) NOT NULL, + ALL_INSTT_NM VARCHAR(255) NULL, + LOWEST_INSTT_NM VARCHAR(100) NULL, + INSTT_ABRV_NM VARCHAR(50) NULL, + ODR CHAR(1) NULL, + ORD CHAR(3) NULL, + INSTT_ODR CHAR(2) NULL, + UPPER_INSTT_CODE CHAR(7) NULL, + BEST_INSTT_CODE CHAR(7) NULL, + REPRSNT_INSTT_CODE CHAR(7) NULL, + INSTT_TY_LCLAS CHAR(2) NULL, + INSTT_TY_MLSFC CHAR(2) NULL, + INSTT_TY_SCLAS CHAR(2) NULL, + TELNO VARCHAR(20) NULL, + FXNUM VARCHAR(20) NULL, + CREAT_DE CHAR(20) NULL, + ABL_DE CHAR(20) NULL, + ABL_ENNC CHAR(1) NULL, + CHANGE_DE CHAR(20) NULL, + CHANGE_TIME VARCHAR(6) NULL, + BSIS_DE CHAR(20) NULL, + SORT_ORDR NUMERIC(8) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (INSTT_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNINSTTCODE_PK ON COMTNINSTTCODE +( + INSTT_CODE +) +; + + + +CREATE TABLE COMTNINSTTCODERECPTNLOG +( + OCCRRNC_DE CHAR(20) NOT NULL, + INSTT_CODE CHAR(7) NOT NULL, + OPERT_SN NUMERIC(10) NOT NULL, + CHANGE_SE_CODE VARCHAR(2) NULL, + PROCESS_SE VARCHAR(2) NULL, + ETC_CODE CHAR(2) NULL, + ALL_INSTT_NM VARCHAR(255) NULL, + LOWEST_INSTT_NM VARCHAR(100) NULL, + INSTT_ABRV_NM VARCHAR(50) NULL, + ODR CHAR(1) NULL, + ORD CHAR(3) NULL, + INSTT_ODR CHAR(2) NULL, + UPPER_INSTT_CODE CHAR(7) NULL, + BEST_INSTT_CODE CHAR(7) NULL, + REPRSNT_INSTT_CODE CHAR(7) NULL, + INSTT_TY_LCLAS CHAR(2) NULL, + INSTT_TY_MLSFC CHAR(2) NULL, + INSTT_TY_SCLAS CHAR(2) NULL, + TELNO VARCHAR(20) NULL, + FXNUM VARCHAR(20) NULL, + CREAT_DE CHAR(20) NULL, + ABL_DE CHAR(20) NULL, + ABL_ENNC CHAR(1) NULL, + CHANGE_DE CHAR(20) NULL, + CHANGE_TIME VARCHAR(6) NULL, + BSIS_DE CHAR(20) NULL, + SORT_ORDR NUMERIC(8) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (OCCRRNC_DE,INSTT_CODE,OPERT_SN) +) +; + + + +CREATE UNIQUE INDEX COMTNINSTTCODERECPTNLOG_PK ON COMTNINSTTCODERECPTNLOG +( + OCCRRNC_DE, + INSTT_CODE, + OPERT_SN +) +; + + + +CREATE TABLE COMTNINDVDLYRYCMANAGE +( + OCCRRNC_YEAR CHAR(4) NOT NULL, + YRYC_OCCRRNC_CO NUMERIC(5,1) NULL, + USE_YRYC_CO NUMERIC(5,1) NULL, + REMNDR_YRYC_CO NUMERIC(5,1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + USER_ID VARCHAR(20) NOT NULL, + PRIMARY KEY (OCCRRNC_YEAR,USER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNINDVDLYRYCMANAGE_PK ON COMTNINDVDLYRYCMANAGE +( + OCCRRNC_YEAR, + USER_ID +) +; + + + +CREATE TABLE COMTNNTWRKSVCMNTRNG +( + SYS_IP VARCHAR(23) NOT NULL, + SYS_PORT NUMERIC(5) NOT NULL, + SYS_NM VARCHAR(255) NOT NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + MNTRNG_STTUS CHAR(2) NULL, + CREAT_DT TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NOT NULL, + PRIMARY KEY (SYS_IP,SYS_PORT) +) +; + + + +CREATE UNIQUE INDEX COMTNNTWRKSVCMNTRNG_PK ON COMTNNTWRKSVCMNTRNG +( + SYS_IP, + SYS_PORT +) +; + + + +CREATE TABLE COMTNNTWRKSVCMNTRNGLOGINFO +( + SYS_IP VARCHAR(23) NOT NULL, + SYS_PORT NUMERIC(5) NOT NULL, + SYS_NM VARCHAR(255) NOT NULL, + MNTRNG_STTUS CHAR(2) NULL, + LOG_INFO VARCHAR(2000) NULL, + CREAT_DT TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NOT NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (SYS_IP,SYS_PORT,LOG_ID), + FOREIGN KEY (SYS_IP,SYS_PORT) REFERENCES COMTNNTWRKSVCMNTRNG(SYS_IP,SYS_PORT) +) +; + + + +CREATE UNIQUE INDEX COMTNNTWRKSVCMNTRNGLOGINFO_PK ON COMTNNTWRKSVCMNTRNGLOGINFO +( + SYS_IP, + SYS_PORT, + LOG_ID +) +; + + + +CREATE TABLE COMTNSERVEREQPMNINFO +( + SERVER_EQPMN_ID VARCHAR(20) NOT NULL, + SERVER_EQPMN_NM VARCHAR(60) NULL, + SERVER_EQPMN_IP VARCHAR(23) NULL, + SERVER_EQPMN_MNGR VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + OPERSYSM_INFO VARCHAR(2000) NULL, + CPU_INFO VARCHAR(2000) NULL, + MORY_INFO VARCHAR(2000) NULL, + HDDISK CHAR(18) NULL, + ETC_INFO VARCHAR(250) NULL, + RGSDE TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (SERVER_EQPMN_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSERVEREQPMNINFO_PK ON COMTNSERVEREQPMNINFO +( + SERVER_EQPMN_ID +) +; + + + +CREATE TABLE COMTNSYNCHRNSERVERINFO +( + SERVER_ID CHAR(20) NOT NULL, + SERVER_NM VARCHAR(60) NULL, + SERVER_IP VARCHAR(23) NULL, + SERVER_PORT VARCHAR(10) NULL, + FTP_ID VARCHAR(20) NULL, + FTP_PASSWORD VARCHAR(20) NULL, + SYNCHRN_LC VARCHAR(255) NULL, + REFLCT_AT CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (SERVER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSYNCHRNSERVERINFO_PK ON COMTNSYNCHRNSERVERINFO +( + SERVER_ID +) +; + + + +CREATE TABLE COMTNSERVERINFO +( + SERVER_ID CHAR(20) NOT NULL, + SERVER_NM VARCHAR(60) NULL, + SERVER_KND CHAR(2) NULL, + RGSDE TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (SERVER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSERVERINFO_PK ON COMTNSERVERINFO +( + SERVER_ID +) +; + + + +CREATE TABLE COMTNSERVEREQPMNRELATE +( + SERVER_EQPMN_ID VARCHAR(20) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + SERVER_ID CHAR(20) NOT NULL, + PRIMARY KEY (SERVER_EQPMN_ID,SERVER_ID), + FOREIGN KEY (SERVER_EQPMN_ID) REFERENCES COMTNSERVEREQPMNINFO(SERVER_EQPMN_ID), + FOREIGN KEY (SERVER_ID) REFERENCES COMTNSERVERINFO(SERVER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSERVEREQPMNRELATE_PK ON COMTNSERVEREQPMNRELATE +( + SERVER_EQPMN_ID, + SERVER_ID +) +; + + + +CREATE TABLE COMTNSERVERRESRCELOGINFO +( + SERVER_EQPMN_ID VARCHAR(20) NOT NULL, + CPU_USE_RT NUMERIC(3) NULL, + MORY_USE_RT NUMERIC(3) NULL, + SVC_STTUS CHAR(2) NULL, + LOG_INFO VARCHAR(2000) NULL, + CREAT_DT TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + SERVER_ID CHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (SERVER_EQPMN_ID,SERVER_ID,LOG_ID), + FOREIGN KEY (SERVER_EQPMN_ID,SERVER_ID) REFERENCES COMTNSERVEREQPMNRELATE(SERVER_EQPMN_ID,SERVER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNSERVERRESRCELOGINFO_PK ON COMTNSERVERRESRCELOGINFO +( + SERVER_EQPMN_ID, + SERVER_ID, + LOG_ID +) +; + + + +CREATE TABLE COMTNVCATNMANAGE +( + APPLCNT_ID VARCHAR(20) NOT NULL, + VCATN_SE CHAR(2) NOT NULL, + BGNDE CHAR(8) NOT NULL, + ENDDE CHAR(8) NOT NULL, + VCATN_RESN VARCHAR(200) NOT NULL, + REQST_DE CHAR(20) NOT NULL, + OCCRRNC_YEAR CHAR(4) NULL, + SANCTNER_ID VARCHAR(20) NULL, + CONFM_AT CHAR(1) NULL, + SANCTN_DT TIMESTAMP NULL, + RETURN_RESN VARCHAR(1000) NULL, + INFRML_SANCTN_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + NOON_SE CHAR(1) NULL, + PRIMARY KEY (APPLCNT_ID,VCATN_SE,BGNDE,ENDDE) +) +; + + + +CREATE UNIQUE INDEX COMTNVCATNMANAGE_PK ON COMTNVCATNMANAGE +( + APPLCNT_ID, + VCATN_SE, + BGNDE, + ENDDE +) +; + + + +CREATE TABLE COMTNMEMOTODO +( + TODO_ID CHAR(20) NOT NULL, + TODO_SJ VARCHAR(255) NOT NULL, + TODO_BEGIN_TIME VARCHAR(14) NOT NULL, + TODO_END_TIME VARCHAR(14) NOT NULL, + WRTER_ID VARCHAR(20) NOT NULL, + TODO_CN VARCHAR(2500) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (TODO_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMEMOTODO_PK ON COMTNMEMOTODO +( + TODO_ID +) +; + + + +CREATE TABLE COMTNNOTE +( + NOTE_ID CHAR(20) NOT NULL, + NOTE_SJ VARCHAR(255) NULL, + NOTE_CN VARCHAR(4000) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (NOTE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNOTE_PK ON COMTNNOTE +( + NOTE_ID +) +; + + + +CREATE TABLE COMTNNOTETRNSMIT +( + NOTE_ID CHAR(20) NOT NULL, + NOTE_TRNSMIT_ID CHAR(20) NOT NULL, + TRNSMITER_ID CHAR(20) NULL, + DELETE_AT CHAR(8) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (NOTE_ID,NOTE_TRNSMIT_ID), + FOREIGN KEY (NOTE_ID) REFERENCES COMTNNOTE(NOTE_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNOTETRNSMIT_PK ON COMTNNOTETRNSMIT +( + NOTE_ID, + NOTE_TRNSMIT_ID +) +; + + + +CREATE INDEX COMTNNOTETRNSMIT_i01 ON COMTNNOTETRNSMIT +( + NOTE_ID +) +; + + + +CREATE TABLE COMTNNOTERECPTN +( + NOTE_ID CHAR(20) NOT NULL, + NOTE_TRNSMIT_ID CHAR(20) NOT NULL, + NOTE_RECPTN_ID CHAR(20) NOT NULL, + RCVER_ID CHAR(20) NULL, + OPEN_YN CHAR(1) NULL, + RECPTN_SE CHAR(1) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (NOTE_ID,NOTE_TRNSMIT_ID,NOTE_RECPTN_ID), + FOREIGN KEY (NOTE_ID,NOTE_TRNSMIT_ID) REFERENCES COMTNNOTETRNSMIT(NOTE_ID,NOTE_TRNSMIT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNOTERECPTN_PK ON COMTNNOTERECPTN +( + NOTE_ID, + NOTE_TRNSMIT_ID, + NOTE_RECPTN_ID +) +; + + + +CREATE INDEX COMTNNOTERECPTN_i01 ON COMTNNOTERECPTN +( + NOTE_ID, + NOTE_TRNSMIT_ID +) +; + + + +CREATE TABLE COMTNEVENTMANAGE +( + EVENT_ID CHAR(20) NOT NULL, + EVENT_SE VARCHAR(2) NOT NULL, + EVENT_NM VARCHAR(60) NOT NULL, + EVENT_PURPS VARCHAR(200) NOT NULL, + EVENT_BGNDE CHAR(20) NOT NULL, + EVENT_ENDDE CHAR(20) NOT NULL, + EVENT_AUSPC_INSTT_NM VARCHAR(60) NULL, + EVENT_MNGT_INSTT_NM VARCHAR(60) NULL, + EVENT_PLACE VARCHAR(200) NOT NULL, + EVENT_CN VARCHAR(1000) NULL, + CT_OCCRRNC_AT CHAR(1) NULL, + PARTCPT_CT NUMERIC(16) NULL, + PSNCPA NUMERIC(10) NOT NULL, + REFRN_URL VARCHAR(1024) NULL, + RCEPT_BGNDE CHAR(20) NOT NULL, + RCEPT_ENDDE CHAR(20) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (EVENT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNEVENTMANAGE_PK ON COMTNEVENTMANAGE +( + EVENT_ID +) +; + + + +CREATE TABLE COMTNEVENTATDRN +( + APPLCNT_ID VARCHAR(20) NOT NULL, + EVENT_ID CHAR(20) NOT NULL, + REQST_DE CHAR(20) NOT NULL, + SANCTNER_ID VARCHAR(20) NOT NULL, + CONFM_AT CHAR(1) NULL, + SANCTN_DT TIMESTAMP NULL, + RETURN_RESN VARCHAR(1000) NULL, + INFRML_SANCTN_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (APPLCNT_ID,EVENT_ID), + FOREIGN KEY (EVENT_ID) REFERENCES COMTNEVENTMANAGE(EVENT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNEVENTATDRN_PK ON COMTNEVENTATDRN +( + APPLCNT_ID, + EVENT_ID +) +; + + + +CREATE INDEX COMTNEVENTATDRN_i01 ON COMTNEVENTATDRN +( + EVENT_ID +) +; + + + +CREATE TABLE IMGTEMP +( + ORGNZT_CODE VARCHAR(10) NOT NULL, + ERNCSL_SE VARCHAR(2) NOT NULL, + IMAGE_INFO BYTEA NOT NULL, + IMAGE_TY VARCHAR(20) NULL, + PRIMARY KEY (ORGNZT_CODE,ERNCSL_SE) +) +; + + + +CREATE UNIQUE INDEX IMGTEMP_PK ON IMGTEMP +( + ORGNZT_CODE, + ERNCSL_SE +) +; + + + +CREATE TABLE IDS +( + IDGEN_TABLE_NM VARCHAR(20) NOT NULL, + IDGEN_NEXT_ID NUMERIC(30) NOT NULL, + PRIMARY KEY (IDGEN_TABLE_NM) +) +; + + + +CREATE UNIQUE INDEX IDS_PK ON IDS +( + IDGEN_TABLE_NM +) +; + + + +CREATE TABLE COMTNWIKMNTHNGREPRT +( + REPRT_ID CHAR(6) NOT NULL, + REPRT_SE CHAR(1) NOT NULL, + REPRT_SJ VARCHAR(255) NOT NULL, + REPORT_DE CHAR(20) NOT NULL, + WRTER_ID VARCHAR(20) NOT NULL, + REPORTR_ID VARCHAR(20) NOT NULL, + REPORT_BGNDE CHAR(20) NOT NULL, + REPORT_ENDDE CHAR(20) NOT NULL, + THSWIK_REPORT_CN TEXT NOT NULL, + NEXTWIK_REPORT_CN TEXT NOT NULL, + PARTCLR_MATTER VARCHAR(2500) NULL, + ATCH_FILE_ID CHAR(20) NULL, + CONFM_DT VARCHAR(14) NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (REPRT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNWIKMNTHNGREPRT_PK ON COMTNWIKMNTHNGREPRT +( + REPRT_ID +) +; + + + +CREATE TABLE COMTNTWITTER +( + USER_ID VARCHAR(20) NOT NULL, + CNSMR_KEY VARCHAR(50) NOT NULL, + CNSMR_SECRET VARCHAR(50) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (USER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNTWITTER_PK ON COMTNTWITTER +( + USER_ID +) +; + + + +CREATE TABLE COMTNWIKIBKMK +( + WIKI_BKMK_ID CHAR(20) NOT NULL, + USER_ID VARCHAR(20) NOT NULL, + WIKI_BKMK_NM VARCHAR(1000) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (WIKI_BKMK_ID,USER_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNWIKIBKMK_PK ON COMTNWIKIBKMK +( + WIKI_BKMK_ID, + USER_ID +) +; + + + +CREATE TABLE COMTNRWARDMANAGE +( + RWARD_ID CHAR(20) NOT NULL, + RWARDWNR_ID VARCHAR(20) NOT NULL, + RWARD_CODE CHAR(2) NOT NULL, + RWARD_DE CHAR(20) NOT NULL, + RWARD_NM VARCHAR(255) NOT NULL, + PBLEN_CN VARCHAR(1000) NULL, + SANCTNER_ID VARCHAR(20) NOT NULL, + CONFM_AT CHAR(1) NULL, + SANCTN_DT TIMESTAMP NULL, + RETURN_RESN VARCHAR(1000) NULL, + ATCH_FILE_ID CHAR(20) NULL, + INFRML_SANCTN_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (RWARD_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNRWARDMANAGE_PK ON COMTNRWARDMANAGE +( + RWARD_ID +) +; + + + +CREATE TABLE COMTNRSS +( + RSS_ID CHAR(20) NOT NULL, + TRGET_SVC_NM VARCHAR(255) NOT NULL, + TRGET_SVC_TABLE VARCHAR(255) NOT NULL, + TRGET_SVC_LIST_CO NUMERIC(5) NOT NULL, + HDER_TITLE VARCHAR(255) NOT NULL, + HDER_LINK VARCHAR(255) NOT NULL, + HDER_DC VARCHAR(4000) NOT NULL, + HDER_TAG VARCHAR(255) NULL, + HDER_ETC VARCHAR(250) NULL, + BDT_TITLE VARCHAR(255) NULL, + BDT_LINK VARCHAR(255) NULL, + BDT_DC VARCHAR(4000) NULL, + BDT_TAG VARCHAR(255) NULL, + BDT_ETC_TAG VARCHAR(255) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (RSS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNRSS_PK ON COMTNRSS +( + RSS_ID +) +; + + + +CREATE TABLE COMTNRESTDE +( + RESTDE_NO NUMERIC(6) NOT NULL, + RESTDE CHAR(8) NULL, + RESTDE_NM VARCHAR(60) NULL, + RESTDE_DC VARCHAR(200) NULL, + RESTDE_SE_CODE VARCHAR(2) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (RESTDE_NO) +) +; + + + +CREATE UNIQUE INDEX COMTNRESTDE_PK ON COMTNRESTDE +( + RESTDE_NO +) +; + + + +CREATE TABLE COMTNPROCESSMON +( + PROCS_ID CHAR(20) NOT NULL, + PROCS_NM VARCHAR(60) NULL, + PROCS_STTUS VARCHAR(3) NULL, + CREAT_DT TIMESTAMP NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (PROCS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNPROCESSMON_PK ON COMTNPROCESSMON +( + PROCS_ID +) +; + + + +CREATE TABLE COMTNPROCESSMONLOGINFO +( + PROCS_ID CHAR(20) NOT NULL, + PROCS_NM VARCHAR(60) NULL, + PROCS_STTUS VARCHAR(3) NULL, + CREAT_DT TIMESTAMP NULL, + LOG_INFO VARCHAR(2000) NULL, + MNGR_NM VARCHAR(60) NULL, + MNGR_EMAIL_ADRES VARCHAR(50) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LOG_ID CHAR(20) NOT NULL, + PRIMARY KEY (PROCS_ID,LOG_ID), + FOREIGN KEY (PROCS_ID) REFERENCES COMTNPROCESSMON(PROCS_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNPROCESSMONLOGINFO_PK ON COMTNPROCESSMONLOGINFO +( + PROCS_ID, + LOG_ID +) +; + + + +CREATE TABLE COMTNNTWRKINFO +( + NTWRK_ID CHAR(20) NOT NULL, + NTWRK_IP VARCHAR(23) NULL, + GTWY VARCHAR(23) NULL, + SUBNET VARCHAR(23) NULL, + DOMN_NM_SERVER VARCHAR(23) NULL, + MANAGE_IEM CHAR(2) NULL, + USER_NM VARCHAR(60) NULL, + USE_AT CHAR(1) NULL, + RGSDE TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (NTWRK_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNNTWRKINFO_PK ON COMTNNTWRKINFO +( + NTWRK_ID +) +; + + + +CREATE VIEW COMVNUSERMASTER ( ESNTL_ID,USER_ID,PASSWORD,USER_NM,USER_ZIP,USER_ADRES,USER_EMAIL,GROUP_ID, USER_SE, ORGNZT_ID ) +AS + SELECT ESNTL_ID, MBER_ID,PASSWORD,MBER_NM,ZIP,ADRES,MBER_EMAIL_ADRES,' ','GNR' AS USER_SE, ' ' ORGNZT_ID + FROM COMTNGNRLMBER + + UNION ALL + SELECT ESNTL_ID,EMPLYR_ID,PASSWORD,USER_NM,ZIP,HOUSE_ADRES,EMAIL_ADRES,GROUP_ID ,'USR' AS USER_SE, ORGNZT_ID + FROM COMTNEMPLYRINFO + UNION ALL + SELECT ESNTL_ID,ENTRPRS_MBER_ID,ENTRPRS_MBER_PASSWORD,CMPNY_NM,ZIP,ADRES,APPLCNT_EMAIL_ADRES,' ' ,'ENT' AS USER_SE, ' ' ORGNZT_ID + FROM COMTNENTRPRSMBER +ORDER BY ESNTL_ID; + + + +CREATE TABLE COMTNMEMOREPRT +( + REPRT_SJ VARCHAR(255) NOT NULL, + REPORT_DE CHAR(20) NOT NULL, + WRTER_ID VARCHAR(20) NOT NULL, + REPORTR_ID VARCHAR(20) NOT NULL, + REPORT_CN VARCHAR(2500) NOT NULL, + ATCH_FILE_ID CHAR(20) NULL, + DRCT_MATTER VARCHAR(2500) NULL, + DRCT_MATTER_REGIST_DT VARCHAR(14) NULL, + REPORTR_INQIRE_DT VARCHAR(14) NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + REPRT_ID CHAR(6) NOT NULL, + PRIMARY KEY (REPRT_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMEMOREPRT_PK ON COMTNMEMOREPRT +( + REPRT_ID +) +; + + + +CREATE TABLE COMTNMTGPLACEMANAGE +( + MTGRUM_ID CHAR(20) NOT NULL, + MTGRUM_NM VARCHAR(255) NOT NULL, + OPN_BEGIN_TM VARCHAR(6) NOT NULL, + OPN_END_TM VARCHAR(6) NOT NULL, + ACEPTNC_POSBL_NMPR NUMERIC(10) NOT NULL, + LC_SE CHAR(5) NULL, + LC_DETAIL VARCHAR(200) NULL, + ATCH_FILE_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (MTGRUM_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMTGPLACEMANAGE_PK ON COMTNMTGPLACEMANAGE +( + MTGRUM_ID +) +; + + + +CREATE TABLE COMTNMTGPLACERESVE +( + RESVE_ID CHAR(20) NOT NULL, + MTGRUM_ID CHAR(20) NOT NULL, + MTG_SJ VARCHAR(100) NOT NULL, + RSVCTM_ID VARCHAR(20) NOT NULL, + RESVE_DE CHAR(8) NOT NULL, + RESVE_BEGIN_TM VARCHAR(14) NOT NULL, + RESVE_END_TM VARCHAR(14) NOT NULL, + ATNDNC_NMPR NUMERIC(10) NULL, + MTG_CN VARCHAR(2500) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (RESVE_ID), + FOREIGN KEY (MTGRUM_ID) REFERENCES COMTNMTGPLACEMANAGE(MTGRUM_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNMTGPLACERESVE_PK ON COMTNMTGPLACERESVE +( + RESVE_ID +) +; + + + +CREATE INDEX COMTNMTGPLACERESVE_i01 ON COMTNMTGPLACERESVE +( + MTGRUM_ID +) +; + + + +CREATE TABLE COMTNFXTRSMANAGE +( + FXTRS_CODE CHAR(14) NOT NULL, + FXTRS_NM VARCHAR(100) NOT NULL, + MAKR_NM VARCHAR(100) NULL, + PRICE NUMERIC(16) NULL, + PRIMARY KEY (FXTRS_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNFXTRSMANAGE_PK ON COMTNFXTRSMANAGE +( + FXTRS_CODE +) +; + + + +CREATE TABLE COMTNMTGPLACEFXTRS +( + MTGRUM_ID CHAR(20) NOT NULL, + FXTRS_CODE CHAR(14) NOT NULL, + QY NUMERIC(20) NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (MTGRUM_ID,FXTRS_CODE), + FOREIGN KEY (MTGRUM_ID) REFERENCES COMTNMTGPLACEMANAGE(MTGRUM_ID), + FOREIGN KEY (FXTRS_CODE) REFERENCES COMTNFXTRSMANAGE(FXTRS_CODE) +) +; + + + +CREATE UNIQUE INDEX COMTNMTGPLACEFXTRS_PK ON COMTNMTGPLACEFXTRS +( + MTGRUM_ID, + FXTRS_CODE +) +; + + + +CREATE INDEX COMTNMTGPLACEFXTRS_i01 ON COMTNMTGPLACEFXTRS +( + MTGRUM_ID +) +; + + + +CREATE TABLE COMTECOPSEQ +( + TABLE_NAME VARCHAR(20) NOT NULL, + NEXT_ID NUMERIC(30) NULL, + PRIMARY KEY (TABLE_NAME) +) +; + + + +CREATE UNIQUE INDEX COMTECOPSEQ_PK ON COMTECOPSEQ +( + TABLE_NAME +) +; + + + +CREATE TABLE COMTNANNVRSRYMANAGE +( + ANNVRSRY_ID VARCHAR(20) NOT NULL, + USER_ID VARCHAR(20) NOT NULL, + ANNVRSRY_SE VARCHAR(2) NOT NULL, + ANNVRSRY_NM VARCHAR(255) NOT NULL, + ANNVRSRY CHAR(20) NOT NULL, + CLDR_SE CHAR(1) NOT NULL, + ANNVRSRY_NTCN_SETUP CHAR(1) NULL, + ANNVRSRY_NTCN_BGNDE CHAR(20) NULL, + MEMO VARCHAR(1000) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + REPTIT_AT CHAR(1) NULL, + PRIMARY KEY (ANNVRSRY_ID) +) +; + + + +CREATE UNIQUE INDEX COMTNANNVRSRYMANAGE_PK ON COMTNANNVRSRYMANAGE +( + ANNVRSRY_ID +) +; + +CREATE TABLE J_ATTACHFILE +( + FILE_ID VARCHAR(13) NOT NULL, + FILE_SEQ INT NOT NULL, + FILE_NAME VARCHAR(100) NOT NULL, + FILE_SIZE INT, + FILE_MASK VARCHAR(100), + DOWNLOAD_COUNT INT, + DOWNLOAD_EXPIRE_DATE VARCHAR(8), + DOWNLOAD_LIMIT_COUNT INT, + REG_DATE TIMESTAMP, + DELETE_YN VARCHAR(1), +PRIMARY KEY (FILE_ID, FILE_SEQ) +) +; + +CREATE UNIQUE INDEX J_ATTACHFILE_PK ON J_ATTACHFILE +( + FILE_ID, FILE_SEQ +) +; + +CREATE TABLE COMTNROUGHMAP ( + ROUGHMAP_ID VARCHAR(75) NOT NULL, + ROUGHMAPSJ VARCHAR(75) NOT NULL, + ROUGHMAPADDRESS VARCHAR(200) NULL, + LA VARCHAR(48) NULL, + LO VARCHAR(48) NULL, + MARKERLA VARCHAR(48) NULL, + MARKERLO VARCHAR(48) NULL, + INFOWINDOW VARCHAR(20) NULL, + ZOOMLEVEL VARCHAR(10) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL + ); + +CREATE TABLE COMTNPRIVACYLOG +( + REQUST_ID VARCHAR(20) NOT NULL, + INQIRE_DT TIMESTAMP NOT NULL, + SRVC_NM VARCHAR(500) NULL, + INQIRE_INFO VARCHAR(100) NULL, + RQESTER_ID VARCHAR(20) NULL, + RQESTER_IP VARCHAR(23) NULL, + PRIMARY KEY (REQUST_ID) +) +; + +CREATE UNIQUE INDEX COMTNPRIVACYLOG_PK ON COMTNPRIVACYLOG +( + REQUST_ID +) +; + + CREATE TABLE COMTNCOMMUTE ( + WRKTM_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + ORGNZT_ID VARCHAR(20) NULL, + WRKT_DT VARCHAR(10) NOT NULL, + WRK_START_TIME VARCHAR(14) NULL, + WRK_END_TIME VARCHAR(14) NULL, + WRK_HOURS CHAR(2) NULL, + OVTMWRK_HOURS CHAR(2) NULL, + WRK_START_STATUS VARCHAR(10) NULL, + WRK_END_STATUS VARCHAR(10) NULL, + RM VARCHAR(100) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + PRIMARY KEY (EMPLYR_ID, WRKT_DT) +); + +CREATE TABLE COMTNBLOG +( + BLOG_ID CHAR(20) NOT NULL , + BLOG_NM VARCHAR(255) NOT NULL , + BLOG_INTRCN VARCHAR(2400) NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + TMPLAT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM TIMESTAMP NOT NULL , + FRST_REGISTER_ID VARCHAR(20) NOT NULL , + LAST_UPDT_PNTTM TIMESTAMP NULL , + LAST_UPDUSR_ID VARCHAR(20) NULL , + BBS_ID CHAR(20) DEFAULT NULL, + BLOG_AT CHAR(2) DEFAULT NULL, + PRIMARY KEY (BLOG_ID) +); + +CREATE TABLE COMTNBLOGUSER +( + BLOG_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + MNGR_AT CHAR(1) NOT NULL, + MBER_STTUS VARCHAR(15) NULL, + SBSCRB_DE TIMESTAMP NULL, + SECSN_DE CHAR(20) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM TIMESTAMP NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM TIMESTAMP NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + PRIMARY KEY (BLOG_ID,EMPLYR_ID), + FOREIGN KEY (BLOG_ID) REFERENCES COMTNBLOG(BLOG_ID) +); Index: base3.10/script/ddl/cubrid/com_DDL_cubrid.sql =================================================================== --- base3.10/script/ddl/cubrid/com_DDL_cubrid.sql (nonexistent) +++ base3.10/script/ddl/cubrid/com_DDL_cubrid.sql (revision 7) @@ -0,0 +1,2852 @@ +CREATE TABLE COMTNPROGRMLIST +( + PROGRM_FILE_NM VARCHAR(180) NOT NULL , + PROGRM_STRE_PATH VARCHAR(300) NOT NULL , + PROGRM_KOREAN_NM VARCHAR(180) NULL , + PROGRM_DC VARCHAR(600) NULL , + URL VARCHAR(300) NOT NULL , +CONSTRAINT COMTNPROGRMLIST_PK PRIMARY KEY (PROGRM_FILE_NM) +); + +CREATE TABLE COMTHPROGRMCHANGEDTLS +( + PROGRM_FILE_NM VARCHAR(180) NOT NULL , + REQUST_NO NUMERIC(10) NOT NULL , + RQESTER_ID VARCHAR(60) NOT NULL , + CHANGE_REQUST_CN VARCHAR(3000) NULL , + REQUST_PROCESS_CN STRING NULL , + OPETR_ID VARCHAR(60) NULL , + PROCESS_STTUS_CODE VARCHAR(45) NOT NULL , + PROCESS_DE CHAR(20) NULL , + RQESTDE CHAR(20) NULL , + REQUST_SJ VARCHAR(180) NOT NULL , +CONSTRAINT COMTHPROGRMCHANGEDTLS_PK PRIMARY KEY (PROGRM_FILE_NM,REQUST_NO) +); + +CREATE TABLE COMTNPOPUPMANAGE +( + POPUP_ID VARCHAR(60) NOT NULL , + POPUP_SJ_NM VARCHAR(3072) NULL , + FILE_URL VARCHAR(3072) NULL , + POPUP_WIDTH_LC VARCHAR(60) NULL , + POPUP_WIDTH_SIZE NUMERIC NULL , + NTCE_BGNDE CHAR(20) NULL , + NTCE_ENDDE CHAR(20) NULL , + STOPVEW_SETUP_AT CHAR(1) NULL , + NTCE_AT CHAR(1) NULL , + POPUP_VRTICL_LC VARCHAR(60) NULL , + POPUP_VRTICL_SIZE NUMERIC NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNPOPUPMANAGE_PK PRIMARY KEY (POPUP_ID) +); + +CREATE TABLE COMTNBANNER +( + BANNER_ID CHAR(20) NOT NULL , + BANNER_NM VARCHAR(180) NOT NULL , + LINK_URL VARCHAR(765) NOT NULL , + BANNER_IMAGE VARCHAR(180) NOT NULL , + BANNER_DC VARCHAR(600) NULL , + REFLCT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + BANNER_IMAGE_FILE VARCHAR(180) NULL , + SORT_ORDR NUMERIC(8) NULL , +CONSTRAINT COMTNBANNER_PK PRIMARY KEY (BANNER_ID) +); + +CREATE TABLE COMTNLOGINSCRINIMAGE +( + IMAGE_ID CHAR(20) NOT NULL , + IMAGE_NM VARCHAR(60) NOT NULL , + REFLCT_AT CHAR(1) NOT NULL , + IMAGE VARCHAR(180) NOT NULL , + IMAGE_DC VARCHAR(600) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + IMAGE_FILE VARCHAR(180) NULL , +CONSTRAINT COMTNLOGINSCRINIMAGE_PK PRIMARY KEY (IMAGE_ID) +); + +CREATE TABLE COMTNORGNZTINFO +( + ORGNZT_ID CHAR(20) NOT NULL , + ORGNZT_NM VARCHAR(60) NOT NULL , + ORGNZT_DC VARCHAR(300) NULL , +CONSTRAINT COMTNORGNZTINFO_PK PRIMARY KEY (ORGNZT_ID) +); + +CREATE TABLE COMTNAUTHORGROUPINFO +( + GROUP_ID CHAR(20) NOT NULL , + GROUP_NM VARCHAR(180) NOT NULL , + GROUP_CREAT_DE CHAR(40) NOT NULL , + GROUP_DC VARCHAR(300) NULL , +CONSTRAINT COMTNAUTHORGROUPINFO_PK PRIMARY KEY (GROUP_ID) +); + +CREATE TABLE COMTNEMPLYRINFO +( + EMPLYR_ID VARCHAR(60) NOT NULL , + ORGNZT_ID CHAR(20) NULL , + USER_NM VARCHAR(180) NOT NULL , + PASSWORD VARCHAR(600) NOT NULL , + EMPL_NO VARCHAR(60) NULL , + IHIDNUM VARCHAR(600) NULL , + SEXDSTN_CODE CHAR(1) NULL , + BRTHDY CHAR(20) NULL , + FXNUM VARCHAR(60) NULL , + HOUSE_ADRES VARCHAR(300) NOT NULL , + PASSWORD_HINT VARCHAR(300) NOT NULL , + PASSWORD_CNSR VARCHAR(300) NOT NULL , + HOUSE_END_TELNO VARCHAR(12) NOT NULL , + AREA_NO VARCHAR(12) NOT NULL , + DETAIL_ADRES VARCHAR(300) NULL , + ZIP VARCHAR(18) NOT NULL , + OFFM_TELNO VARCHAR(60) NULL , + MBTLNUM VARCHAR(60) NULL , + EMAIL_ADRES VARCHAR(150) NULL , + OFCPS_NM VARCHAR(180) NULL , + HOUSE_MIDDLE_TELNO VARCHAR(12) NOT NULL , + GROUP_ID CHAR(20) NULL , + PSTINST_CODE CHAR(8) NULL , + EMPLYR_STTUS_CODE CHAR(1) NOT NULL , + ESNTL_ID CHAR(20) NOT NULL , + CRTFC_DN_VALUE VARCHAR(300) NULL , + SBSCRB_DE DATETIME NULL , + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMERIC(3) NULL, + LOCK_LAST_PNTTM DATETIME NULL, + CHG_PWD_LAST_PNTTM DATETIME NULL, +CONSTRAINT COMTNEMPLYRINFO_PK PRIMARY KEY (EMPLYR_ID) +); + +CREATE TABLE COMTNFILE +( + ATCH_FILE_ID CHAR(20) NOT NULL , + CREAT_DT DATETIME NOT NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNFILE_PK PRIMARY KEY (ATCH_FILE_ID) +); + +CREATE TABLE COMTHEMAILDSPTCHMANAGE +( + MSSAGE_ID VARCHAR(60) NOT NULL , + EMAIL_CN STRING NULL , + SNDR VARCHAR(150) NOT NULL , + RCVER VARCHAR(150) NOT NULL , + SJ VARCHAR(180) NOT NULL , + SNDNG_RESULT_CODE CHAR(1) NULL , + DSPTCH_DT CHAR(20) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , +CONSTRAINT COMTHEMAILDSPTCHMANAGE_PK PRIMARY KEY (MSSAGE_ID) +); + +CREATE TABLE COMTNNTTSTATS +( + STATS_ID CHAR(18) NOT NULL , + NTCE_CO NUMERIC(10) NULL , + AVRG_RDCNT NUMERIC(10) NULL , + TOP_RDCNT NUMERIC(10) NULL , + MUMM_RDCNT NUMERIC(10) NULL , + TOP_NTCR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNNTTSTATS_PK PRIMARY KEY (STATS_ID) +); + +CREATE TABLE COMTNSITELIST +( + SITE_ID CHAR(20) NOT NULL , + SITE_NM VARCHAR(300) NULL , + SITE_URL VARCHAR(300) NULL , + SITE_DC VARCHAR(3000) NULL , + SITE_THEMA_CL_CODE VARCHAR(6) NULL , + ACTVTY_AT CHAR(1) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNSITELIST_PK PRIMARY KEY (SITE_ID) +); + +CREATE TABLE COMTNRECENTSRCHWRDMANAGE +( + SRCHWRD_MANAGE_ID CHAR(20) NOT NULL , + SRCHWRD_MANAGE_NM VARCHAR(765) NULL , + SRCHWRD_CONECT_URL VARCHAR(765) NULL , + USER_SEARCH_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNRECENTSRCHWRDMANAGE_PK PRIMARY KEY (SRCHWRD_MANAGE_ID) +); + +CREATE TABLE COMTNRECENTSRCHWRD +( + SRCHWRD_MANAGE_ID CHAR(20) NOT NULL , + RECENT_SRCHWRD_ID CHAR(20) NOT NULL , + RECENT_SRCHWRD_NM VARCHAR(765) NULL , + RECENT_SRCHWRD_CO NUMERIC(20) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNRECENTSRCHWRD_PK PRIMARY KEY (RECENT_SRCHWRD_ID) +); + +CREATE TABLE COMTNPROXYINFO +( + PROXY_ID CHAR(20) NOT NULL , + PROXY_NM VARCHAR(180) NULL , + PROXY_IP VARCHAR(69) NULL , + PROXY_PORT VARCHAR(30) NULL , + TRGET_SVC_NM VARCHAR(765) NULL , + SVC_DC VARCHAR(6000) NULL , + SVC_IP VARCHAR(69) NULL , + SVC_PORT VARCHAR(30) NULL , + SVC_STTUS CHAR(2) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNPROXYINFO_PK PRIMARY KEY (PROXY_ID) +); + +CREATE TABLE COMTNPROXYLOGINFO +( + PROXY_ID CHAR(20) NOT NULL , + CLNT_IP VARCHAR(69) NULL , + CLNT_PORT VARCHAR(30) NULL , + CONECT_TIME DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNPROXYLOGINFO_PK PRIMARY KEY (PROXY_ID,LOG_ID) +); + +CREATE TABLE COMTNMAINIMAGE +( + IMAGE_ID CHAR(20) NOT NULL , + IMAGE_NM VARCHAR(60) NOT NULL , + IMAGE VARCHAR(180) NOT NULL , + IMAGE_DC VARCHAR(600) NULL , + REFLCT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + IMAGE_FILE VARCHAR(180) NULL , +CONSTRAINT COMTNMAINIMAGE_PK PRIMARY KEY (IMAGE_ID) +); + +CREATE TABLE COMTNUNITYLINK +( + UNITY_LINK_ID CHAR(20) NOT NULL , + UNITY_LINK_GROUP VARCHAR(765) NULL , + UNITY_LINK_NM VARCHAR(765) NULL , + UNITY_LINK_URL VARCHAR(765) NULL , + UNITY_LINK_DC VARCHAR(7500) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + UNITY_LINK_SE_CODE CHAR(3) NULL , +CONSTRAINT COMTNUNITYLINK_PK PRIMARY KEY (UNITY_LINK_ID) +); + +CREATE TABLE COMTNUSERABSNCE +( + EMPLYR_ID VARCHAR(60) NOT NULL , + USER_ABSNCE_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNUSERABSNCE_PK PRIMARY KEY (EMPLYR_ID) +); + +CREATE TABLE COMTSSYSLOGSUMMARY +( + OCCRRNC_DE CHAR(8) NOT NULL , + SVC_NM VARCHAR(300) NOT NULL , + METHOD_NM VARCHAR(180) NOT NULL , + CREAT_CO NUMERIC(10) NULL , + UPDT_CO NUMERIC(10) NULL , + RDCNT NUMERIC(10) NULL , + DELETE_CO NUMERIC(10) NULL , + OUTPT_CO NUMERIC(10) NULL , + ERROR_CO NUMERIC(10) NULL , +CONSTRAINT COMTSSYSLOGSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,SVC_NM,METHOD_NM) +); + +CREATE TABLE COMTNSYSLOG +( + REQUST_ID VARCHAR(60) NOT NULL , + JOB_SE_CODE CHAR(3) NULL , + INSTT_CODE CHAR(7) NULL , + OCCRRNC_DE DATETIME NULL , + RQESTER_IP VARCHAR(69) NULL , + RQESTER_ID VARCHAR(60) NULL , + TRGET_MENU_NM VARCHAR(765) NULL , + SVC_NM VARCHAR(765) NULL , + METHOD_NM VARCHAR(180) NULL , + PROCESS_SE_CODE CHAR(3) NULL , + PROCESS_CO NUMERIC(10) NULL , + PROCESS_TIME VARCHAR(42) NULL , + RSPNS_CODE CHAR(3) NULL , + ERROR_SE CHAR(1) NULL , + ERROR_CO NUMERIC(10) NULL , + ERROR_CODE CHAR(3) NULL , +CONSTRAINT COMTNSYSLOG_PK PRIMARY KEY (REQUST_ID) +); + +CREATE TABLE COMTNBBSMASTER +( + BBS_ID CHAR(20) NOT NULL , + BBS_NM VARCHAR(765) NOT NULL , + BBS_INTRCN VARCHAR(7200) NULL , + BBS_TY_CODE CHAR(6) NOT NULL , + REPLY_POSBL_AT CHAR(1) NULL , + FILE_ATCH_POSBL_AT CHAR(1) NOT NULL , + ATCH_POSBL_FILE_NUMBER NUMERIC(2) NOT NULL , + ATCH_POSBL_FILE_SIZE NUMERIC(8) NULL , + USE_AT CHAR(1) NOT NULL , + TMPLAT_ID CHAR(20) NULL , + CMMNTY_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + BLOG_ID CHAR(20) NULL, + BLOG_AT CHAR(2) NULL, +CONSTRAINT COMTNBBSMASTER_PK PRIMARY KEY (BBS_ID) +); + +CREATE TABLE COMTNBBS +( + NTT_ID NUMERIC(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + NTT_NO NUMERIC(20) NULL , + NTT_SJ VARCHAR(6000) NULL , + NTT_CN STRING NULL , + ANSWER_AT CHAR(1) NULL , + PARNTSCTT_NO NUMERIC(10) NULL , + ANSWER_LC NUMERIC(8) NULL , + SORT_ORDR NUMERIC(8) NULL , + RDCNT NUMERIC(10) NULL , + USE_AT CHAR(1) NOT NULL , + NTCE_BGNDE CHAR(20) NULL , + NTCE_ENDDE CHAR(20) NULL , + NTCR_ID VARCHAR(60) NULL , + NTCR_NM VARCHAR(60) NULL , + PASSWORD VARCHAR(600) NULL , + ATCH_FILE_ID CHAR(20) NULL , + NOTICE_AT CHAR(1) NULL, + SJ_BOLD_AT CHAR(1) NULL, + SECRET_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + BLOG_ID CHAR(20) NULL, +CONSTRAINT COMTNBBS_PK PRIMARY KEY (NTT_ID,BBS_ID) +); + +CREATE TABLE COMTNCOMMENT +( + NTT_ID NUMERIC(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + ANSWER_NO NUMERIC(20) NOT NULL , + WRTER_ID VARCHAR(60) NULL , + WRTER_NM VARCHAR(60) NULL , + ANSWER VARCHAR(600) NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + PASSWORD VARCHAR(600) NULL , +CONSTRAINT COMTNCOMMENT_PK PRIMARY KEY (NTT_ID,BBS_ID,ANSWER_NO) +); + +CREATE TABLE COMTNRECOMENDSITEINFO +( + RECOMEND_SITE_ID CHAR(20) NOT NULL , + RECOMEND_SITE_NM VARCHAR(300) NULL , + RECOMEND_SITE_URL VARCHAR(765) NULL , + RECOMEND_SITE_DC VARCHAR(3000) NULL , + RECOMEND_RESN_CN VARCHAR(3000) NULL , + RECOMEND_CONFM_AT CHAR(1) NULL , + CONFM_DE CHAR(20) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNRECOMENDSITEINFO_PK PRIMARY KEY (RECOMEND_SITE_ID) +); + +CREATE TABLE COMTNINTNETSVC +( + INTNET_SVC_ID CHAR(20) NOT NULL , + INTNET_SVC_NM VARCHAR(60) NOT NULL , + INTNET_SVC_DC VARCHAR(600) NULL , + REFLCT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNINTNETSVC_PK PRIMARY KEY (INTNET_SVC_ID) +); + +CREATE TABLE COMTNCLUB +( + CLB_ID CHAR(20) NOT NULL , + CMMNTY_ID CHAR(20) NOT NULL , + CLB_NM VARCHAR(765) NOT NULL , + CLB_INTRCN VARCHAR(7200) NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + TMPLAT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNCLUB_PK PRIMARY KEY (CLB_ID,CMMNTY_ID) +); + +CREATE TABLE COMTNCLUBUSER +( + CLB_ID CHAR(20) NOT NULL , + CMMNTY_ID CHAR(20) NOT NULL , + OPRTR_AT CHAR(1) NOT NULL , + SBSCRB_DE DATETIME NULL , + SECSN_DE CHAR(20) NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + EMPLYR_ID VARCHAR(60) NOT NULL , +CONSTRAINT COMTNCLUBUSER_PK PRIMARY KEY (CLB_ID,CMMNTY_ID,EMPLYR_ID) +); + +CREATE TABLE COMTNBACKUPOPERT +( + BACKUP_OPERT_ID VARCHAR(60) NOT NULL , + BACKUP_OPERT_NM VARCHAR(180) NULL , + BACKUP_ORGINL_DRCTRY VARCHAR(765) NULL , + BACKUP_STRE_DRCTRY VARCHAR(765) NULL , + CMPRS_SE VARCHAR(6) NULL , + EXECUT_CYCLE VARCHAR(6) NULL , + EXECUT_SCHDUL_DE CHAR(20) NULL , + EXECUT_SCHDUL_HOUR CHAR(2) NULL , + EXECUT_SCHDUL_MNT CHAR(2) NULL , + EXECUT_SCHDUL_SECND CHAR(2) NULL , + USE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NOT NULL , +CONSTRAINT COMTNBACKUPOPERT_PK PRIMARY KEY (BACKUP_OPERT_ID) +); + +CREATE TABLE COMTNBACKUPSCHDULDFK +( + BACKUP_OPERT_ID VARCHAR(60) NOT NULL , + EXECUT_SCHDUL_DFK_SE CHAR(1) NOT NULL , +CONSTRAINT COMTNBACKUPSCHDULDFK_PK PRIMARY KEY (BACKUP_OPERT_ID,EXECUT_SCHDUL_DFK_SE) +); + +CREATE TABLE COMTNCMMNTY +( + CMMNTY_ID CHAR(20) NOT NULL , + CMMNTY_NM VARCHAR(765) NOT NULL , + CMMNTY_INTRCN VARCHAR(7200) NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + TMPLAT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNCMMNTY_PK PRIMARY KEY (CMMNTY_ID) +); + +CREATE TABLE COMTNCMMNTYUSER +( + CMMNTY_ID CHAR(20) NOT NULL , + EMPLYR_ID VARCHAR(60) NOT NULL , + MNGR_AT CHAR(1) NOT NULL , + MBER_STTUS VARCHAR(15) NULL, + SBSCRB_DE DATETIME NULL , + SECSN_DE CHAR(20) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNCMMNTYUSER_PK PRIMARY KEY (CMMNTY_ID,EMPLYR_ID) +); + +CREATE TABLE COMTNFILEDETAIL +( + ATCH_FILE_ID CHAR(20) NOT NULL , + FILE_SN NUMERIC(10) NOT NULL , + FILE_STRE_COURS VARCHAR(6000) NOT NULL , + STRE_FILE_NM VARCHAR(765) NOT NULL , + ORIGNL_FILE_NM VARCHAR(765) NULL , + FILE_EXTSN VARCHAR(60) NOT NULL , + FILE_CN STRING NULL , + FILE_SIZE NUMERIC(8) NULL , +CONSTRAINT COMTNFILEDETAIL_PK PRIMARY KEY (ATCH_FILE_ID,FILE_SN) +); + +CREATE TABLE COMTNLOGINPOLICY +( + EMPLYR_ID VARCHAR(60) NOT NULL , + IP_INFO VARCHAR(69) NOT NULL , + DPLCT_PERM_AT CHAR(1) NOT NULL , + LMTT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNLOGINPOLICY_PK PRIMARY KEY (EMPLYR_ID) +); + +CREATE TABLE COMTNQUSTNRTMPLAT +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QUSTNR_TMPLAT_TY VARCHAR(300) NULL , + QUSTNR_TMPLAT_DC VARCHAR(6000) NULL , + QUSTNR_TMPLAT_PATH_NM VARCHAR(300) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + QUSTNR_TMPLAT_IMAGE_INFO BIT VARYING NULL , +CONSTRAINT COMTNQUSTNRTMPLAT_PK PRIMARY KEY (QUSTNR_TMPLAT_ID) +); + +CREATE TABLE COMTNQESTNRINFO +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_SJ VARCHAR(765) NULL , + QUSTNR_PURPS VARCHAR(3000) NULL , + QUSTNR_WRITNG_GUIDANCE_CN VARCHAR(6000) NULL , + QUSTNR_TRGET VARCHAR(3000) NULL , + QUSTNR_BGNDE CHAR(20) NULL , + QUSTNR_ENDDE CHAR(20) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNQESTNRINFO_PK PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID) +); + +CREATE TABLE COMTNQUSTNRRESPONDINFO +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_RESPOND_ID CHAR(20) NOT NULL , + SEXDSTN_CODE CHAR(1) NULL , + OCCP_TY_CODE CHAR(1) NULL , + RESPOND_NM VARCHAR(150) NULL , + BRTHDY CHAR(20) NULL , + AREA_NO VARCHAR(12) NULL , + MIDDLE_TELNO VARCHAR(12) NULL , + END_TELNO VARCHAR(12) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNQUSTNRRESPONDINFO_PK PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID,QUSTNR_RESPOND_ID) +); + +CREATE TABLE COMTCADMINISTCODE +( + ADMINIST_ZONE_SE CHAR(1) NOT NULL , + ADMINIST_ZONE_CODE VARCHAR(30) NOT NULL , + USE_AT CHAR(1) NOT NULL , + ADMINIST_ZONE_NM VARCHAR(180) NULL , + UPPER_ADMINIST_ZONE_CODE VARCHAR(30) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTCADMINISTCODE_PK PRIMARY KEY (ADMINIST_ZONE_SE,ADMINIST_ZONE_CODE) +); + +CREATE TABLE COMTNUSERLOG +( + OCCRRNC_DE CHAR(8) NOT NULL , + RQESTER_ID VARCHAR(60) NOT NULL , + SVC_NM VARCHAR(765) NOT NULL , + METHOD_NM VARCHAR(180) NOT NULL , + CREAT_CO NUMERIC(10) NULL , + UPDT_CO NUMERIC(10) NULL , + RDCNT NUMERIC(10) NULL , + DELETE_CO NUMERIC(10) NULL , + OUTPT_CO NUMERIC(10) NULL , + ERROR_CO NUMERIC(10) NULL , +CONSTRAINT COMTNUSERLOG_PK PRIMARY KEY (OCCRRNC_DE,RQESTER_ID,SVC_NM,METHOD_NM) +); + +CREATE TABLE COMTSTRSMRCVLOGSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL , + TRSMRCV_SE_CODE CHAR(3) NOT NULL , + PROVD_INSTT_ID CHAR(8) NOT NULL , + PROVD_SYS_ID CHAR(8) NOT NULL , + PROVD_SVC_ID CHAR(8) NOT NULL , + REQUST_INSTT_ID CHAR(8) NOT NULL , + REQUST_SYS_ID CHAR(8) NOT NULL , + RDCNT NUMERIC(10) NULL , + ERROR_CO NUMERIC(10) NULL , +CONSTRAINT COMTSTRSMRCVLOGSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,TRSMRCV_SE_CODE,PROVD_INSTT_ID,PROVD_SYS_ID,PROVD_SVC_ID,REQUST_INSTT_ID,REQUST_SYS_ID) +); + +CREATE TABLE COMTCCMMNCLCODE +( + CL_CODE CHAR(3) NOT NULL , + CL_CODE_NM VARCHAR(180) NULL , + CL_CODE_DC VARCHAR(600) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTCCMMNCLCODE_PK PRIMARY KEY (CL_CODE) +); + +CREATE TABLE COMTCCMMNCODE +( + CODE_ID VARCHAR(18) NOT NULL , + CODE_ID_NM VARCHAR(180) NULL , + CODE_ID_DC VARCHAR(600) NULL , + USE_AT CHAR(1) NULL , + CL_CODE CHAR(3) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTCCMMNCODE_PK PRIMARY KEY (CODE_ID) +); + +CREATE TABLE COMTCCMMNDETAILCODE +( + CODE_ID VARCHAR(18) NOT NULL , + CODE VARCHAR(45) NOT NULL , + CODE_NM VARCHAR(180) NULL , + CODE_DC VARCHAR(600) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTCCMMNDETAILCODE_PK PRIMARY KEY (CODE_ID,CODE) +); + +CREATE TABLE COMTSBBSSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL , + STATS_SE VARCHAR(30) NOT NULL , + DETAIL_STATS_SE VARCHAR(30) NOT NULL , + CREAT_CO NUMERIC(10) NULL , + TOT_RDCNT NUMERIC(10) NULL , + AVRG_RDCNT NUMERIC(10) NULL , + TOP_INQIRE_BBSCTT_ID VARCHAR(60) NULL , + MUMM_INQIRE_BBSCTT_ID VARCHAR(60) NULL , + TOP_NTCR_ID VARCHAR(60) NULL , +CONSTRAINT COMTSBBSSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,STATS_SE,DETAIL_STATS_SE) +); + +CREATE TABLE COMTCZIP +( + ZIP VARCHAR(18) NOT NULL , + SN NUMERIC(10) NOT NULL , + CTPRVN_NM VARCHAR(60) NULL , + SIGNGU_NM VARCHAR(60) NULL , + EMD_NM VARCHAR(180) NULL , + LI_BULD_NM VARCHAR(180) NULL , + LNBR_DONG_HO VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTCZIP_PK PRIMARY KEY (ZIP,SN) +); + +CREATE TABLE COMTRDNMADRZIP +( + RDMN_CODE VARCHAR(36) NOT NULL, + SN INT, + CTPRVN_NM VARCHAR(60) NULL, + SIGNGU_NM VARCHAR(60) NULL, + RDMN VARCHAR(180) NULL, + BDNBR_MNNM VARCHAR(15) NULL, + BDNBR_SLNO VARCHAR(15) NULL, + BULD_NM VARCHAR(180) NULL, + DETAIL_BULD_NM VARCHAR(180) NULL, + ZIP VARCHAR(18) NOT NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(60) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(60) NULL, +CONSTRAINT COMTRDNMADRZIP_PK PRIMARY KEY (SN) +); + +CREATE TABLE COMTNNCRD +( + NCRD_ID CHAR(20) NOT NULL , + NCRD_TRGTER_ID VARCHAR(60) NULL , + NM VARCHAR(150) NOT NULL , + TELNO VARCHAR(60) NULL , + NATION_NO VARCHAR(30) NULL , + AREA_NO VARCHAR(12) NULL , + MIDDLE_TELNO VARCHAR(12) NULL , + END_TELNO VARCHAR(12) NULL , + MBTLNUM VARCHAR(60) NULL , + IDNTFC_NO VARCHAR(30) NULL , + MIDDLE_MBTLNUM VARCHAR(12) NULL , + END_MBTLNUM VARCHAR(12) NULL , + EMAIL_ADRES VARCHAR(150) NULL , + CMPNY_NM VARCHAR(180) NULL , + DEPT_NM VARCHAR(180) NULL , + ADRES VARCHAR(300) NULL , + DETAIL_ADRES VARCHAR(300) NULL , + OFCPS_NM VARCHAR(180) NULL , + CLSF_NM VARCHAR(180) NULL , + EXTRL_USER_AT CHAR(1) NULL , + OTHBC_AT CHAR(1) NOT NULL , + RM VARCHAR(7500) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNNCRD_PK PRIMARY KEY (NCRD_ID) +); + +CREATE TABLE COMTNNCRDUSER +( + NCRD_ID CHAR(20) NOT NULL , + REGIST_SE_CODE CHAR(6) NOT NULL , + USE_AT CHAR(1) NOT NULL , + CREAT_DT DATETIME NOT NULL , + EMPLYR_ID VARCHAR(60) NOT NULL , +CONSTRAINT COMTNNCRDUSER_PK PRIMARY KEY (NCRD_ID,EMPLYR_ID) +); + +CREATE TABLE COMTNENTRPRSMBER +( + ENTRPRS_MBER_ID VARCHAR(60) NOT NULL , + ENTRPRS_SE_CODE CHAR(8) NULL , + BIZRNO VARCHAR(30) NULL , + JURIRNO VARCHAR(39) NULL , + CMPNY_NM VARCHAR(180) NOT NULL , + CXFC VARCHAR(150) NULL , + ZIP VARCHAR(18) NOT NULL , + ADRES VARCHAR(300) NOT NULL , + ENTRPRS_MIDDLE_TELNO VARCHAR(12) NOT NULL , + FXNUM VARCHAR(60) NULL , + INDUTY_CODE CHAR(1) NULL , + APPLCNT_NM VARCHAR(150) NOT NULL , + APPLCNT_IHIDNUM VARCHAR(600) NULL , + SBSCRB_DE DATETIME NULL , + ENTRPRS_MBER_STTUS VARCHAR(45) NULL , + ENTRPRS_MBER_PASSWORD VARCHAR(600) NULL , + ENTRPRS_MBER_PASSWORD_HINT VARCHAR(300) NOT NULL , + ENTRPRS_MBER_PASSWORD_CNSR VARCHAR(300) NOT NULL , + GROUP_ID CHAR(20) NULL , + DETAIL_ADRES VARCHAR(300) NULL , + ENTRPRS_END_TELNO VARCHAR(12) NOT NULL , + AREA_NO VARCHAR(12) NOT NULL , + APPLCNT_EMAIL_ADRES VARCHAR(150) NOT NULL , + ESNTL_ID CHAR(20) NOT NULL , + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMERIC(3) NULL, + LOCK_LAST_PNTTM DATETIME NULL, + CHG_PWD_LAST_PNTTM DATETIME NULL, +CONSTRAINT COMTNENTRPRSMBER_PK PRIMARY KEY (ENTRPRS_MBER_ID) +); + +CREATE TABLE COMTNGNRLMBER +( + MBER_ID VARCHAR(60) NOT NULL , + PASSWORD VARCHAR(600) NOT NULL , + PASSWORD_HINT VARCHAR(300) NULL , + PASSWORD_CNSR VARCHAR(300) NULL , + IHIDNUM VARCHAR(600) NULL , + MBER_NM VARCHAR(150) NOT NULL , + ZIP VARCHAR(18) NOT NULL , + ADRES VARCHAR(300) NOT NULL , + AREA_NO VARCHAR(12) NOT NULL , + MBER_STTUS VARCHAR(45) NULL , + DETAIL_ADRES VARCHAR(300) NULL , + END_TELNO VARCHAR(12) NOT NULL , + MBTLNUM VARCHAR(60) NOT NULL , + GROUP_ID CHAR(20) NULL , + MBER_FXNUM VARCHAR(60) NULL , + MBER_EMAIL_ADRES VARCHAR(150) NULL , + MIDDLE_TELNO VARCHAR(12) NOT NULL , + SBSCRB_DE DATETIME NULL , + SEXDSTN_CODE CHAR(1) NULL , + ESNTL_ID CHAR(20) NOT NULL , + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMERIC(3) NULL, + LOCK_LAST_PNTTM DATETIME NULL, + CHG_PWD_LAST_PNTTM DATETIME NULL, +CONSTRAINT COMTNGNRLMBER_PK PRIMARY KEY (MBER_ID) +); + +CREATE TABLE COMTNAUTHORINFO +( + AUTHOR_CODE VARCHAR(90) NOT NULL , + AUTHOR_NM VARCHAR(180) NOT NULL , + AUTHOR_DC VARCHAR(600) NULL , + AUTHOR_CREAT_DE CHAR(40) NOT NULL , +CONSTRAINT COMTNAUTHORINFO_PK PRIMARY KEY (AUTHOR_CODE) +); + +CREATE TABLE COMTNEMPLYRSCRTYESTBS +( + SCRTY_DTRMN_TRGET_ID VARCHAR(60) NOT NULL , + MBER_TY_CODE CHAR(5) NULL , + AUTHOR_CODE VARCHAR(90) NOT NULL +); +CREATE INDEX COMTNEMPLYRSCRTYESTBS_i04 ON COMTNEMPLYRSCRTYESTBS(AUTHOR_CODE ASC); + +CREATE TABLE COMTNQAINFO +( + QA_ID CHAR(20) NOT NULL , + QESTN_SJ VARCHAR(765) NULL , + QESTN_CN VARCHAR(7500) NULL , + WRITNG_DE CHAR(20) NULL , + RDCNT NUMERIC(10) NULL , + EMAIL_ADRES VARCHAR(150) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + QNA_PROCESS_STTUS_CODE CHAR(1) NULL , + WRTER_NM VARCHAR(60) NULL , + ANSWER_CN VARCHAR(7500) NULL , + WRITNG_PASSWORD VARCHAR(60) NULL , + ANSWER_DE CHAR(20) NULL , + EMAIL_ANSWER_AT CHAR(1) NULL , + AREA_NO VARCHAR(12) NULL , + MIDDLE_TELNO VARCHAR(12) NULL , + END_TELNO VARCHAR(12) NULL , +CONSTRAINT COMTNQAINFO_PK PRIMARY KEY (QA_ID) +); + +CREATE TABLE COMTSWEBLOGSUMMARY +( + OCCRRNC_DE CHAR(8) NOT NULL , + URL VARCHAR(600) NOT NULL , + RDCNT NUMERIC(10) NULL , +CONSTRAINT COMTSWEBLOGSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,URL) +); + +CREATE TABLE COMTNROLES_HIERARCHY +( + PARNTS_ROLE VARCHAR(90) NOT NULL , + CHLDRN_ROLE VARCHAR(90) NOT NULL , +CONSTRAINT COMTNROLES_HIERARCHY_PK PRIMARY KEY (PARNTS_ROLE,CHLDRN_ROLE) +); +CREATE UNIQUE INDEX COMTNROLES_HIERARCHY_i01 ON COMTNROLES_HIERARCHY(PARNTS_ROLE ASC); + +CREATE TABLE COMTNROLEINFO +( + ROLE_CODE VARCHAR(150) NOT NULL , + ROLE_NM VARCHAR(180) NOT NULL , + ROLE_PTTRN VARCHAR(900) NULL , + ROLE_DC VARCHAR(600) NULL , + ROLE_TY VARCHAR(240) NULL , + ROLE_SORT VARCHAR(30) NULL , + ROLE_CREAT_DE CHAR(40) NOT NULL , +CONSTRAINT COMTNROLEINFO_PK PRIMARY KEY (ROLE_CODE) +); + +CREATE TABLE COMTNAUTHORROLERELATE +( + AUTHOR_CODE VARCHAR(90) NOT NULL , + ROLE_CODE VARCHAR(150) NOT NULL , + CREAT_DT DATETIME NULL , +CONSTRAINT COMTNAUTHORROLERELATE_PK PRIMARY KEY (AUTHOR_CODE,ROLE_CODE) +); + +CREATE TABLE COMTNLOGINLOG +( + LOG_ID CHAR(20) NOT NULL , + CONECT_ID VARCHAR(60) NULL , + CONECT_IP VARCHAR(69) NULL , + CONECT_MTHD CHAR(4) NULL , + ERROR_OCCRRNC_AT CHAR(1) NULL , + ERROR_CODE CHAR(3) NULL , + CREAT_DT DATETIME NULL , +CONSTRAINT COMTNLOGINLOG_PK PRIMARY KEY (LOG_ID) +); + +CREATE TABLE COMTNWEBLOG +( + REQUST_ID VARCHAR(60) NOT NULL , + OCCRRNC_DE DATETIME NULL , + URL VARCHAR(600) NULL , + RQESTER_ID VARCHAR(60) NULL , + RQESTER_IP VARCHAR(69) NULL , +CONSTRAINT COMTNWEBLOG_PK PRIMARY KEY (REQUST_ID) +); + +CREATE TABLE COMTNEVENTINFO +( + EVENT_ID CHAR(20) NOT NULL , + BSNS_YEAR CHAR(4) NULL , + BSNS_CODE VARCHAR(6) NULL , + EVENT_CN VARCHAR(3000) NULL , + EVENT_SVC_BGNDE CHAR(20) NULL , + SVC_USE_NMPR_CO NUMERIC(10) NULL , + CHARGER_NM VARCHAR(150) NULL , + PRPARETG_CN VARCHAR(7500) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + EVENT_SVC_ENDDE CHAR(20) NULL , + EVENT_TY_CODE CHAR(1) NULL , + EVENT_CONFM_AT CHAR(1) NULL , + EVENT_CONFM_DE CHAR(20) NULL , +CONSTRAINT COMTNEVENTINFO_PK PRIMARY KEY (EVENT_ID) +); + +CREATE TABLE COMTNEXTRLHRINFO +( + EVENT_ID CHAR(20) NOT NULL , + EXTRL_HR_ID CHAR(20) NOT NULL , + SEXDSTN_CODE CHAR(1) NULL , + EXTRL_HR_NM VARCHAR(180) NULL , + OCCP_TY_CODE CHAR(1) NULL , + PSITN_INSTT_NM VARCHAR(300) NULL , + BRTHDY CHAR(20) NULL , + AREA_NO VARCHAR(12) NULL , + MIDDLE_TELNO VARCHAR(12) NULL , + END_TELNO VARCHAR(12) NULL , + EMAIL_ADRES VARCHAR(150) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNEXTRLHRINFO_PK PRIMARY KEY (EVENT_ID,EXTRL_HR_ID) +); + +CREATE TABLE COMTNBBSUSE +( + BBS_ID CHAR(20) NOT NULL , + TRGET_ID CHAR(20) NOT NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNBBSUSE_PK PRIMARY KEY (BBS_ID,TRGET_ID) +); + +CREATE TABLE COMTNSTPLATINFO +( + USE_STPLAT_ID CHAR(20) NOT NULL , + USE_STPLAT_NM VARCHAR(300) NULL , + USE_STPLAT_CN STRING NULL , + INFO_PROVD_AGRE_CN STRING NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNSTPLATINFO_PK PRIMARY KEY (USE_STPLAT_ID) +); + +CREATE TABLE COMTNQUSTNRQESITM +( + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_QESITM_ID CHAR(20) NOT NULL , + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTN_SN NUMERIC(10) NULL , + QESTN_TY_CODE CHAR(1) NULL , + QESTN_CN VARCHAR(7500) NULL , + MXMM_CHOISE_CO NUMERIC(5) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDT_PNTTM DATETIME NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NOT NULL , +CONSTRAINT COMTNQUSTNRQESITM_PK PRIMARY KEY (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) +); + +CREATE TABLE COMTNQUSTNRRSPNSRESULT +( + QUSTNR_RSPNS_RESULT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_QESITM_ID CHAR(20) NOT NULL , + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + RESPOND_ANSWER_CN VARCHAR(3000) NULL , + ETC_ANSWER_CN VARCHAR(3000) NULL , + RESPOND_NM VARCHAR(150) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + QUSTNR_IEM_ID VARCHAR(60) NULL , +CONSTRAINT COMTNQUSTNRRSPNSRESULT_PK PRIMARY KEY (QUSTNR_RSPNS_RESULT_ID,QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) +); + +CREATE TABLE COMTNADBKMANAGE +( + ADBK_ID CHAR(20) NOT NULL , + ADBK_NM VARCHAR(150) NOT NULL , + OTHBC_SCOPE VARCHAR(60) NOT NULL , + USE_AT CHAR(1) NOT NULL , + WRTER_ID VARCHAR(60) NULL , + TRGET_ORGNZT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNADBKMANAGE_PK PRIMARY KEY (ADBK_ID) +); + +CREATE TABLE COMTNADBK +( + EMPLYR_ID VARCHAR(60) NULL , + NCRD_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDT_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + ADBK_CONSTNT_ID CHAR(20) NOT NULL , + NM VARCHAR(150) NULL , + EMAIL_ADRES VARCHAR(150) NULL , + MBTLNUM VARCHAR(60) NULL , + FXNUM VARCHAR(60) NULL , + OFFM_TELNO VARCHAR(60) NULL , + HOUSE_TELNO VARCHAR(60) NULL , + ADBK_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNADBK_PK PRIMARY KEY (ADBK_CONSTNT_ID,ADBK_ID) +); + +CREATE TABLE COMTNQUSTNRIEM +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_QESITM_ID CHAR(20) NOT NULL , + QUSTNR_IEM_ID VARCHAR(60) NOT NULL , + IEM_SN NUMERIC(5) NULL , + IEM_CN VARCHAR(3000) NULL , + ETC_ANSWER_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNQUSTNRIEM_PK PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_IEM_ID) +); + +CREATE TABLE COMTNADMINISTRATIONWORD +( + ADMINIST_WORD_ID CHAR(20) NOT NULL , + ADMINIST_WORD_NM VARCHAR(765) NULL , + ADMINIST_WORD_ENG_NM VARCHAR(765) NULL , + ADMINIST_WORD_ABRV_NM VARCHAR(765) NULL , + THEMA_RELM VARCHAR(765) NULL , + WORD_SE VARCHAR(765) NULL , + RELATE_STD_WORD VARCHAR(765) NULL , + ADMINIST_WORD_DFN VARCHAR(7500) NULL , + ADMINIST_WORD_DC VARCHAR(12000) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNADMINISTRATIONWORD_PK PRIMARY KEY (ADMINIST_WORD_ID) +); + +CREATE TABLE COMTNONLINEMANUAL +( + ONLINE_MNL_ID CHAR(20) NOT NULL , + ONLINE_MNL_SE_CODE CHAR(3) NULL , + ONLINE_MNL_DFN STRING NULL , + ONLINE_MNL_DC STRING NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + ONLINE_MNL_NM VARCHAR(765) NULL , +CONSTRAINT COMTNONLINEMANUAL_PK PRIMARY KEY (ONLINE_MNL_ID) +); + +CREATE TABLE COMTSUSERSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL , + STATS_SE VARCHAR(30) NOT NULL , + DETAIL_STATS_SE VARCHAR(30) NOT NULL , + USER_CO NUMERIC(10) NULL , +CONSTRAINT COMTSUSERSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,STATS_SE,DETAIL_STATS_SE) +); + +CREATE TABLE COMTNFAQINFO +( + FAQ_ID CHAR(20) NOT NULL , + QESTN_SJ VARCHAR(765) NULL , + QESTN_CN VARCHAR(7500) NULL , + ANSWER_CN VARCHAR(7500) NULL , + RDCNT NUMERIC(10) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDT_PNTTM DATETIME NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , + QNA_PROCESS_STTUS_CODE CHAR(1) NULL , +CONSTRAINT COMTNFAQINFO_PK PRIMARY KEY (FAQ_ID) +); + +CREATE TABLE COMTNMTGINFO +( + MTG_ID CHAR(20) NOT NULL , + MTG_NM VARCHAR(765) NULL , + MTG_MTR_CN VARCHAR(3000) NULL , + MTG_SN NUMERIC(10) NULL , + MTG_CO NUMERIC(5) NULL , + MTG_DE CHAR(20) NULL , + MTG_PLACE VARCHAR(765) NULL , + MTG_BEGIN_TM VARCHAR(42) NULL , + MTG_END_TM VARCHAR(42) NULL , + CLSDR_MTG_AT CHAR(1) NULL , + READNG_BGNDE CHAR(20) NULL , + READNG_AT CHAR(1) NULL , + MTG_RESULT_CN VARCHAR(3000) NULL , + MTG_RESULT_ENNC CHAR(1) NULL , + ETC_MATTER VARCHAR(3000) NULL , + MNGT_DEPT_ID VARCHAR(60) NULL , + MNAER_ID VARCHAR(60) NULL , + MNAER_DEPT_ID VARCHAR(60) NULL , + MTG_AT CHAR(1) NULL , + NONATDRN_CO NUMERIC(10) NULL , + ATDRN_CO NUMERIC(10) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNMTGINFO_PK PRIMARY KEY (MTG_ID) +); + +CREATE TABLE COMTNREPRTSTATS +( + REPRT_ID CHAR(6) NOT NULL , + REPRT_NM VARCHAR(60) NOT NULL , + REPRT_STTUS CHAR(2) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + REPRT_TY CHAR(2) NULL , +CONSTRAINT COMTNREPRTSTATS_PK PRIMARY KEY (REPRT_ID) +); + +CREATE TABLE COMTNSMS +( + SMS_ID CHAR(20) NOT NULL , + TRNSMIS_TELNO VARCHAR(36) NOT NULL , + TRNSMIS_CN VARCHAR(240) NOT NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , +CONSTRAINT COMTNSMS_PK PRIMARY KEY (SMS_ID) +); + +CREATE TABLE COMTNSMSRECPTN +( + SMS_ID CHAR(20) NOT NULL , + RECPTN_TELNO VARCHAR(36) NOT NULL , + RESULT_CODE VARCHAR(12) NULL , + RESULT_MSSAGE VARCHAR(12000) NULL , +CONSTRAINT COMTNSMSRECPTN_PK PRIMARY KEY (SMS_ID,RECPTN_TELNO) +); + +CREATE TABLE COMTNCPYRHTINFO +( + CPYRHT_ID CHAR(20) NOT NULL , + CPYRHT_PRTC_POLICY_CN VARCHAR(7500) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNCPYRHTINFO_PK PRIMARY KEY (CPYRHT_ID) +); + +CREATE TABLE COMTNSCHDULINFO +( + SCHDUL_ID CHAR(20) NOT NULL , + SCHDUL_SE CHAR(1) NULL , + SCHDUL_DEPT_ID VARCHAR(60) NULL , + SCHDUL_KND_CODE CHAR(1) NULL , + SCHDUL_BGNDE CHAR(20) NULL , + SCHDUL_ENDDE CHAR(20) NULL , + SCHDUL_NM VARCHAR(765) NULL , + SCHDUL_CN VARCHAR(7500) NULL , + SCHDUL_PLACE VARCHAR(765) NULL , + SCHDUL_IPCR_CODE CHAR(1) NULL , + SCHDUL_CHARGER_ID VARCHAR(60) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + REPTIT_SE_CODE CHAR(1) NULL , +CONSTRAINT COMTNSCHDULINFO_PK PRIMARY KEY (SCHDUL_ID) +); + +CREATE TABLE COMTNDIARYINFO +( + SCHDUL_ID CHAR(20) NOT NULL , + DIARY_ID CHAR(20) NOT NULL , + DIARY_PROGRSRT NUMERIC(3) NULL , + DIARY_NM VARCHAR(765) NULL , + DRCT_MATTER VARCHAR(7500) NULL , + PARTCLR_MATTER VARCHAR(7500) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNDIARYINFO_PK PRIMARY KEY (SCHDUL_ID,DIARY_ID) +); + +CREATE TABLE COMTNONLINEPOLLMANAGE +( + POLL_ID CHAR(20) NOT NULL , + POLL_NM VARCHAR(765) NULL , + POLL_BGNDE CHAR(10) NULL , + POLL_ENDDE CHAR(10) NULL , + POLL_KND CHAR(3) NULL , + POLL_DSUSE_ENNC CHAR(1) NULL , + POLL_ATMC_DSUSE_ENNC CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNONLINEPOLLMANAGE_PK PRIMARY KEY (POLL_ID) +); + +CREATE TABLE COMTNONLINEPOLLIEM +( + POLL_IEM_NM VARCHAR(765) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + POLL_IEM_ID CHAR(20) NOT NULL , + POLL_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNONLINEPOLLIEM_PK PRIMARY KEY (POLL_ID,POLL_IEM_ID) +); + +CREATE TABLE COMTNONLINEPOLLRESULT +( + POLL_RESULT_ID CHAR(20) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + POLL_IEM_ID CHAR(20) NOT NULL , + POLL_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNONLINEPOLLRESULT_PK PRIMARY KEY (POLL_RESULT_ID,POLL_IEM_ID,POLL_ID) +); + +CREATE TABLE COMTNWORDDICARYINFO +( + WORD_ID CHAR(20) NOT NULL , + WORD_NM VARCHAR(765) NULL , + ENG_NM VARCHAR(180) NULL , + WORD_DC VARCHAR(12000) NULL , + SYNONM VARCHAR(300) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNWORDDICARYINFO_PK PRIMARY KEY (WORD_ID) +); + +CREATE TABLE COMTNCNTCSERVICE +( + INSTT_ID VARCHAR(60) NOT NULL , + SYS_ID VARCHAR(60) NOT NULL , + SVC_ID VARCHAR(60) NOT NULL , + SVC_NM VARCHAR(765) NULL , + REQUST_MSSAGE_ID VARCHAR(60) NULL , + RSPNS_MSSAGE_ID VARCHAR(60) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCSERVICE_PK PRIMARY KEY (INSTT_ID,SYS_ID,SVC_ID) +); + +CREATE TABLE COMTNHPCMINFO +( + HPCM_ID CHAR(20) NOT NULL , + HPCM_SE_CODE CHAR(1) NULL , + HPCM_DFN VARCHAR(3000) NULL , + HPCM_DC VARCHAR(7500) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNHPCMINFO_PK PRIMARY KEY (HPCM_ID) +); + +CREATE TABLE COMTNNEWSINFO +( + NEWS_ID CHAR(20) NOT NULL , + NEWS_SJ VARCHAR(300) NULL , + NEWS_CN VARCHAR(7500) NULL , + NEWS_ORIGIN VARCHAR(750) NULL , + NTCE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDT_PNTTM DATETIME NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NOT NULL , + NTCE_DE CHAR(20) NULL , + ATCH_FILE_ID CHAR(20) NULL , +CONSTRAINT COMTNNEWSINFO_PK PRIMARY KEY (NEWS_ID) +); + +CREATE TABLE COMTNCNSLTLIST +( + CNSLT_ID CHAR(20) NOT NULL , + CNSLT_SJ VARCHAR(765) NULL , + OTHBC_AT CHAR(1) NULL , + EMAIL_ADRES VARCHAR(150) NULL , + CNSLT_CN VARCHAR(7500) NULL , + MANAGT_CN VARCHAR(7500) NULL , + MANAGT_DE CHAR(20) NULL , + RDCNT NUMERIC(10) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + AREA_NO VARCHAR(12) NULL , + MIDDLE_TELNO VARCHAR(12) NULL , + END_TELNO VARCHAR(12) NULL , + FRST_MBTLNUM VARCHAR(12) NULL , + MIDDLE_MBTLNUM VARCHAR(12) NULL , + END_MBTLNUM VARCHAR(12) NULL , + WRITNG_DE CHAR(20) NULL , + WRTER_NM VARCHAR(60) NULL , + EMAIL_ANSWER_AT CHAR(1) NULL , + QNA_PROCESS_STTUS_CODE CHAR(1) NULL , + WRITNG_PASSWORD VARCHAR(60) NULL , +CONSTRAINT COMTNCNSLTLIST_PK PRIMARY KEY (CNSLT_ID) +); + +CREATE TABLE COMTNMENUINFO +( + MENU_NM VARCHAR(180) NOT NULL , + PROGRM_FILE_NM VARCHAR(180) NOT NULL , + MENU_NO NUMERIC(20) NOT NULL , + UPPER_MENU_NO NUMERIC(20) NULL , + MENU_ORDR NUMERIC(5) NOT NULL , + MENU_DC VARCHAR(750) NULL , + RELATE_IMAGE_PATH VARCHAR(300) NULL , + RELATE_IMAGE_NM VARCHAR(180) NULL , +CONSTRAINT COMTNMENUINFO_PK PRIMARY KEY (MENU_NO) +); + +CREATE TABLE COMTNSITEMAP +( + MAPNG_CREAT_ID VARCHAR(90) NOT NULL , + CREATR_ID VARCHAR(60) NOT NULL , + MAPNG_FILE_NM VARCHAR(180) NOT NULL , + MAPNG_FILE_PATH VARCHAR(300) NOT NULL , +CONSTRAINT COMTNSITEMAP_PK PRIMARY KEY (MAPNG_CREAT_ID) +); + +CREATE TABLE COMTNMENUCREATDTLS +( + MENU_NO NUMERIC(20) NOT NULL , + AUTHOR_CODE VARCHAR(90) NOT NULL , + MAPNG_CREAT_ID VARCHAR(90) NULL , +CONSTRAINT COMTNMENUCREATDTLS_PK PRIMARY KEY (MENU_NO,AUTHOR_CODE) +); + +CREATE TABLE COMTHEMPLYRINFOCHANGEDTLS +( + EMPLYR_ID VARCHAR(60) NOT NULL , + CHANGE_DE CHAR(20) NULL , + ORGNZT_ID CHAR(20) NULL , + GROUP_ID CHAR(20) NULL , + EMPL_NO VARCHAR(60) NULL , + SEXDSTN_CODE CHAR(1) NULL , + BRTHDY CHAR(20) NULL , + FXNUM VARCHAR(60) NULL , + HOUSE_ADRES VARCHAR(300) NULL , + HOUSE_END_TELNO VARCHAR(12) NULL , + AREA_NO VARCHAR(12) NULL , + DETAIL_ADRES VARCHAR(300) NULL , + ZIP VARCHAR(18) NULL , + OFFM_TELNO VARCHAR(60) NULL , + MBTLNUM VARCHAR(60) NULL , + EMAIL_ADRES VARCHAR(150) NULL , + HOUSE_MIDDLE_TELNO VARCHAR(12) NULL , + PSTINST_CODE CHAR(8) NULL , + EMPLYR_STTUS_CODE CHAR(1) NULL , + ESNTL_ID CHAR(20) NULL , +CONSTRAINT COMTHEMPLYRINFOCHANGEDTLS_PK PRIMARY KEY (EMPLYR_ID,CHANGE_DE) +); + +CREATE TABLE COMTNNTFCINFO +( + NTCN_NO NUMERIC(20) NOT NULL , + NTCN_SJ VARCHAR(180) NOT NULL , + NTCN_CN VARCHAR(300) NOT NULL , + NTCN_TM VARCHAR(42) NOT NULL , + BH_NTCN_INTRVL VARCHAR(60) NOT NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNNTFCINFO_PK PRIMARY KEY (NTCN_NO) +); + +CREATE TABLE COMTNCNTCSYSTEM +( + INSTT_ID VARCHAR(60) NOT NULL , + SYS_ID VARCHAR(60) NOT NULL , + SYS_NM VARCHAR(765) NULL , + SYS_IP VARCHAR(69) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCSYSTEM_PK PRIMARY KEY (INSTT_ID,SYS_ID) +); + +CREATE TABLE COMTNBBSMASTEROPTN +( + BBS_ID CHAR(20) NOT NULL , + ANSWER_AT CHAR(1) NOT NULL , + STSFDG_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNBBSMASTEROPTN_PK PRIMARY KEY (BBS_ID) +); + +CREATE TABLE COMTNANSWER +( + NTT_ID NUMERIC(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + WRTER_ID VARCHAR(60) NULL , + ANSWER VARCHAR(600) NULL , + USE_AT CHAR(1) NOT NULL , + WRTER_NM VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + ANSWER_NO NUMERIC(20) NOT NULL , +CONSTRAINT COMTNANSWER_PK PRIMARY KEY (NTT_ID,BBS_ID,ANSWER_NO) +); + +CREATE TABLE COMTNTRSMRCVLOG +( + REQUST_ID VARCHAR(60) NOT NULL , + OCCRRNC_DE CHAR(20) NULL , + TRSMRCV_SE_CODE CHAR(3) NULL , + CNTC_ID CHAR(8) NULL , + PROVD_INSTT_ID CHAR(8) NULL , + PROVD_SYS_ID CHAR(8) NULL , + PROVD_SVC_ID CHAR(8) NULL , + REQUST_INSTT_ID CHAR(8) NULL , + REQUST_SYS_ID CHAR(8) NULL , + REQUST_TRNSMIT_TM VARCHAR(42) NULL , + REQUST_RECPTN_TM VARCHAR(42) NULL , + RSPNS_TRNSMIT_TM VARCHAR(42) NULL , + RSPNS_RECPTN_TM VARCHAR(42) NULL , + RESULT_CODE VARCHAR(12) NULL , + RESULT_MSSAGE VARCHAR(12000) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + RQESTER_ID VARCHAR(60) NULL , +CONSTRAINT COMTNTRSMRCVLOG_PK PRIMARY KEY (REQUST_ID) +); + +CREATE TABLE COMTNDAMCALRES +( + ORGNZT_ID CHAR(20) NULL , + EXPERT_ID CHAR(20) NULL , + KNWLDG_TY_CODE VARCHAR(9) NULL , + EMPLYR_ID VARCHAR(60) NULL , + KNWLDG_NM VARCHAR(180) NULL , + KNWLDG_CN VARCHAR(7500) NULL , + ATCH_FILE_ID CHAR(20) NULL , + PARNTS_KNWLDG_ID CHAR(20) NULL , + ANSWER_DP NUMERIC(20) NULL , + ANSWER_ORDR NUMERIC(20) NULL , + ANSWER_GROUP_NO NUMERIC(20) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + KNWLDG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNDAMCALRES_PK PRIMARY KEY (KNWLDG_ID) +); + +CREATE TABLE COMTNBACKUPRESULT +( + BACKUP_RESULT_ID VARCHAR(60) NOT NULL , + BACKUP_OPERT_ID VARCHAR(60) NOT NULL , + BACKUP_FILE VARCHAR(765) NULL , + STTUS VARCHAR(6) NULL , + ERROR_INFO VARCHAR(6000) NULL , + EXECUT_BEGIN_TM VARCHAR(42) NULL , + EXECUT_END_TM VARCHAR(42) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NOT NULL , +CONSTRAINT COMTNBACKUPRESULT_PK PRIMARY KEY (BACKUP_RESULT_ID) +); + +CREATE TABLE COMTHTRSMRCVMNTRNGLOGINFO +( + LOG_ID CHAR(20) NOT NULL , + CNTC_ID CHAR(8) NOT NULL , + TEST_CLASS_NM VARCHAR(765) NULL , + MNGR_NM VARCHAR(180) NULL , + MNGR_EMAIL_ADRES VARCHAR(150) NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR(6000) NULL , + CREAT_DT DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NOT NULL , +CONSTRAINT COMTHTRSMRCVMNTRNGLOGINFO_PK PRIMARY KEY (LOG_ID) +); + +CREATE TABLE COMTNSCRAP +( + SCRAP_ID CHAR(20) NOT NULL , + NTT_ID NUMERIC(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + SCRAP_NM VARCHAR(300) NOT NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNSCRAP_PK PRIMARY KEY (SCRAP_ID) +); + +CREATE TABLE COMTNCNTCINSTT +( + INSTT_ID VARCHAR(60) NOT NULL , + INSTT_NM VARCHAR(300) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDT_PNTTM DATETIME NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCINSTT_PK PRIMARY KEY (INSTT_ID) +); + +CREATE TABLE COMTHSYSHIST +( + HIST_ID CHAR(20) NOT NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + HIST_SE_CODE CHAR(6) NOT NULL , + HIST_CN VARCHAR(7500) NOT NULL , + SYS_NM VARCHAR(765) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , +CONSTRAINT COMTHSYSHIST_PK PRIMARY KEY (HIST_ID) +); + +CREATE TABLE COMTNHTTPMON +( + SYS_ID VARCHAR(60) NOT NULL , + SITE_URL VARCHAR(300) NULL , + WEBSVC_KND VARCHAR(30) NULL , + HTTP_STTUS_CODE VARCHAR(9) NULL , + CREAT_DT DATETIME NULL , + MNGR_NM VARCHAR(180) NULL , + MNGR_EMAIL_ADRES VARCHAR(150) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNHTTPMON_PK PRIMARY KEY (SYS_ID) +); + +CREATE TABLE COMTHHTTPMONLOGINFO +( + SYS_ID VARCHAR(60) NOT NULL , + SITE_URL VARCHAR(300) NULL , + WEBSVC_KND VARCHAR(30) NULL , + HTTP_STTUS_CODE VARCHAR(9) NULL , + CREAT_DT DATETIME NULL , + LOG_INFO VARCHAR(6000) NULL , + MNGR_NM VARCHAR(180) NULL , + MNGR_EMAIL_ADRES VARCHAR(150) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTHHTTPMONLOGINFO_PK PRIMARY KEY (SYS_ID,LOG_ID) +); + +CREATE TABLE COMTHDBMNTRNGLOGINFO +( + DATA_SOURC_NM VARCHAR(180) NOT NULL , + SERVER_NM VARCHAR(180) NULL , + DBMS_KND VARCHAR(6) NULL , + CECK_SQL VARCHAR(750) NULL , + MNGR_NM VARCHAR(180) NULL , + MNGR_EMAIL_ADRES VARCHAR(150) NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR(6000) NULL , + CREAT_DT DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDT_PNTTM DATETIME NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTHDBMNTRNGLOGINFO_PK PRIMARY KEY (LOG_ID) +); + +CREATE TABLE COMTHCONFMHISTORY +( + CONFM_NO NUMERIC(8) NOT NULL , + CONFM_RQESTER_ID VARCHAR(60) NOT NULL , + CONFMER_ID VARCHAR(60) NULL , + CONFM_DE CHAR(20) NULL , + CONFM_TY_CODE CHAR(4) NOT NULL , + CONFM_STTUS_CODE CHAR(4) NOT NULL , + OPERT_TY_CODE CHAR(4) NULL , + OPERT_ID VARCHAR(60) NULL , + TRGET_JOB_TY_CODE CHAR(3) NULL , + TRGET_JOB_ID CHAR(20) NULL , +CONSTRAINT COMTHCONFMHISTORY_PK PRIMARY KEY (CONFM_NO) +); + +CREATE TABLE COMTNDAMMAPTEAM +( + ORGNZT_ID CHAR(20) NOT NULL , + ORGNZT_NM VARCHAR(60) NULL , + CL_DE CHAR(20) NULL , + KNWLDG_URL VARCHAR(765) NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNDAMMAPTEAM_PK PRIMARY KEY (ORGNZT_ID) +); + +CREATE TABLE COMTNTMPLATINFO +( + TMPLAT_ID CHAR(20) NOT NULL , + TMPLAT_NM VARCHAR(765) NULL , + TMPLAT_COURS VARCHAR(6000) NULL , + USE_AT CHAR(1) NULL , + TMPLAT_SE_CODE CHAR(6) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNTMPLATINFO_PK PRIMARY KEY (TMPLAT_ID) +); + +CREATE TABLE COMTNINDVDLPGECNTNTS +( + CNTNTS_ID VARCHAR(60) NOT NULL , + CNTNTS_NM VARCHAR(300) NOT NULL , + CNTC_URL VARCHAR(765) NOT NULL , + CNTNTS_USE_AT CHAR(1) NOT NULL , + CNTNTS_LINK_URL VARCHAR(3000) NULL , + CNTNTS_DC VARCHAR(750) NULL , +CONSTRAINT COMTNINDVDLPGECNTNTS_PK PRIMARY KEY (CNTNTS_ID) +); + +CREATE TABLE COMTNINDVDLPGEESTBS +( + EMPLYR_ID VARCHAR(60) NOT NULL , + UPEND_IMAGE VARCHAR(3072) NULL , + TITLEBAR_COLOR CHAR(7) NULL , + ALGN_MTHD CHAR(1) NULL , + ALGN_CO NUMERIC(10) NULL , +CONSTRAINT COMTNINDVDLPGEESTBS_PK PRIMARY KEY (EMPLYR_ID) +); + +CREATE TABLE COMTNCNTNTSLIST +( + CNTNTS_ID VARCHAR(60) NOT NULL , + EMPLYR_ID VARCHAR(60) NOT NULL , +CONSTRAINT COMTNCNTNTSLIST_PK PRIMARY KEY (CNTNTS_ID,EMPLYR_ID) +); + +CREATE TABLE COMTNCNTCMESSAGE +( + CNTC_MSSAGE_ID VARCHAR(60) NOT NULL , + CNTC_MSSAGE_NM VARCHAR(300) NULL , + UPPER_CNTC_MSSAGE_ID VARCHAR(60) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCMESSAGE_PK PRIMARY KEY (CNTC_MSSAGE_ID) +); + +CREATE TABLE COMTNCNTCMESSAGEITEM +( + CNTC_MSSAGE_ID VARCHAR(60) NOT NULL , + IEM_ID VARCHAR(60) NOT NULL , + IEM_NM VARCHAR(300) NULL , + IEM_TY VARCHAR(150) NULL , + IEM_LT NUMERIC(8) NULL , + USE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNCNTCMESSAGEITEM_PK PRIMARY KEY (CNTC_MSSAGE_ID,IEM_ID) +); + +CREATE TABLE COMTNBKMKMENUMANAGERESULT +( + MENU_ID NUMERIC(20) NOT NULL , + EMPLYR_ID VARCHAR(60) NOT NULL , + MENU_NM VARCHAR(180) NOT NULL , + PROGRM_STRE_PATH VARCHAR(300) NOT NULL , +CONSTRAINT COMTNBKMKMENUMANAGERESULT_PK PRIMARY KEY (MENU_ID,EMPLYR_ID) +); + +CREATE TABLE COMTNSYSTEMCNTC +( + CNTC_ID CHAR(8) NOT NULL , + CNTC_NM VARCHAR(300) NULL , + PROVD_INSTT_ID CHAR(8) NULL , + PROVD_SYS_ID CHAR(8) NULL , + PROVD_SVC_ID CHAR(8) NULL , + REQUST_INSTT_ID CHAR(8) NULL , + REQUST_SYS_ID CHAR(8) NULL , + CONFM_AT CHAR(1) NULL , + USE_AT CHAR(1) NULL , + VALID_BGNDE CHAR(20) NULL , + VALID_ENDDE CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + CNTC_TY VARCHAR(180) NULL , +CONSTRAINT COMTNSYSTEMCNTC_PK PRIMARY KEY (CNTC_ID) +); + +CREATE TABLE COMTNINDVDLINFOPOLICY +( + INDVDL_INFO_POLICY_ID CHAR(20) NOT NULL , + INDVDL_INFO_POLICY_CN VARCHAR(7500) NULL , + INDVDL_INFO_POLICY_AGRE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + INDVDL_INFO_POLICY_NM VARCHAR(765) NULL , +CONSTRAINT COMTNINDVDLINFOPOLICY_PK PRIMARY KEY (INDVDL_INFO_POLICY_ID) +); + +CREATE TABLE COMTNBNDTMANAGE +( + BNDT_ID VARCHAR(60) NOT NULL , + BNDT_DE CHAR(8) NOT NULL , + RM VARCHAR(7500) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNBNDTMANAGE_PK PRIMARY KEY (BNDT_ID,BNDT_DE) +); + +CREATE TABLE COMTNBNDTCECKMANAGE +( + BNDT_CECK_SE CHAR(2) NOT NULL , + BNDT_CECK_CODE VARCHAR(30) NOT NULL , + BNDT_CECK_CODE_NM VARCHAR(765) NOT NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNBNDTCECKMANAGE_PK PRIMARY KEY (BNDT_CECK_CODE,BNDT_CECK_SE) +); + +CREATE TABLE COMTNBNDTDIARY +( + BNDT_ID VARCHAR(60) NOT NULL , + BNDT_DE CHAR(8) NOT NULL , + BNDT_CECK_SE CHAR(2) NOT NULL , + BNDT_CECK_CODE VARCHAR(30) NOT NULL , + CHCK_STTUS VARCHAR(3000) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNBNDTDIARY_PK PRIMARY KEY (BNDT_ID,BNDT_DE,BNDT_CECK_SE,BNDT_CECK_CODE) +); + +CREATE TABLE COMTNBATCHRESULT +( + BATCH_RESULT_ID VARCHAR(60) NOT NULL , + BATCH_SCHDUL_ID VARCHAR(60) NOT NULL , + BATCH_OPERT_ID VARCHAR(60) NOT NULL , + PARAMTR VARCHAR(750) NULL , + STTUS VARCHAR(6) NULL , + ERROR_INFO VARCHAR(6000) NULL , + EXECUT_BEGIN_TM VARCHAR(42) NULL , + EXECUT_END_TM VARCHAR(42) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , +CONSTRAINT COMTNBATCHRESULT_PK PRIMARY KEY (BATCH_RESULT_ID) +); + +CREATE TABLE COMTNSTSFDG +( + STSFDG_NO NUMERIC(20) NOT NULL , + NTT_ID NUMERIC(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + WRTER_ID VARCHAR(60) NULL , + WRTER_NM VARCHAR(60) NULL , + PASSWORD VARCHAR(600) NULL , + STSFDG NUMERIC(1) NOT NULL , + STSFDG_CN VARCHAR(600) NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNSTSFDG_PK PRIMARY KEY (STSFDG_NO) +); + +CREATE TABLE COMTNBATCHOPERT +( + BATCH_OPERT_ID VARCHAR(60) NOT NULL , + BATCH_OPERT_NM VARCHAR(180) NULL , + BATCH_PROGRM VARCHAR(765) NULL , + PARAMTR VARCHAR(750) NULL , + USE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NOT NULL , +CONSTRAINT COMTNBATCHOPERT_PK PRIMARY KEY (BATCH_OPERT_ID) +); + +CREATE TABLE COMTNFILESYSMNTRNG +( + FILE_SYS_ID CHAR(20) NOT NULL , + FILE_SYS_NM VARCHAR(180) NOT NULL , + FILE_SYS_MANAGE_NM VARCHAR(765) NOT NULL , + FILE_SYS_SIZE NUMERIC(8) NOT NULL , + FILE_SYS_THRHLD NUMERIC(8) NOT NULL , + FILE_SYS_USGQTY NUMERIC(8) NULL , + MNGR_NM VARCHAR(180) NULL , + MNGR_EMAIL_ADRES VARCHAR(150) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNFILESYSMNTRNG_PK PRIMARY KEY (FILE_SYS_ID) +); + +CREATE TABLE COMTNFILESYSMNTRNGLOGINFO +( + FILE_SYS_ID CHAR(20) NOT NULL , + FILE_SYS_NM VARCHAR(180) NOT NULL , + FILE_SYS_MANAGE_NM VARCHAR(765) NOT NULL , + FILE_SYS_SIZE NUMERIC(8) NOT NULL , + FILE_SYS_THRHLD NUMERIC(8) NOT NULL , + FILE_SYS_USGQTY NUMERIC(8) NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR(6000) NULL , + CREAT_DT DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNFILESYSMNTRNGLOGINFO_PK PRIMARY KEY (FILE_SYS_ID,LOG_ID) +); + +CREATE TABLE COMTNBATCHSCHDUL +( + BATCH_SCHDUL_ID VARCHAR(60) NOT NULL , + BATCH_OPERT_ID VARCHAR(60) NOT NULL , + EXECUT_CYCLE VARCHAR(6) NULL , + EXECUT_SCHDUL_DE CHAR(20) NULL , + EXECUT_SCHDUL_HOUR CHAR(2) NULL , + EXECUT_SCHDUL_MNT CHAR(2) NULL , + EXECUT_SCHDUL_SECND CHAR(2) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NOT NULL , +CONSTRAINT COMTNBATCHSCHDUL_PK PRIMARY KEY (BATCH_SCHDUL_ID) +); + +CREATE TABLE COMTNBATCHSCHDULDFK +( + BATCH_SCHDUL_ID VARCHAR(60) NOT NULL , + EXECUT_SCHDUL_DFK_SE CHAR(1) NOT NULL , +CONSTRAINT COMTNBATCHSCHDULDFK_PK PRIMARY KEY (BATCH_SCHDUL_ID,EXECUT_SCHDUL_DFK_SE) +); + +CREATE TABLE COMTNCTSNNMANAGE +( + CTSNN_ID VARCHAR(60) NOT NULL , + USER_ID VARCHAR(60) NOT NULL , + CTSNN_CODE CHAR(2) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + CTSNN_NM VARCHAR(765) NOT NULL , + TRGTER_NM VARCHAR(60) NOT NULL , + BRTHDY CHAR(20) NOT NULL , + OCCRRNC_DE CHAR(20) NOT NULL , + RELATE CHAR(2) NOT NULL , + RM VARCHAR(7500) NULL , + SANCTNER_ID VARCHAR(60) NOT NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATETIME NULL , + RETURN_RESN VARCHAR(3000) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNCTSNNMANAGE_PK PRIMARY KEY (CTSNN_ID) +); + +CREATE TABLE COMTCADMINISTCODERECPTNLOG +( + OCCRRNC_DE CHAR(20) NOT NULL , + ADMINIST_ZONE_SE CHAR(1) NOT NULL , + ADMINIST_ZONE_CODE VARCHAR(30) NOT NULL , + OPERT_SN NUMERIC(10) NOT NULL , + CHANGE_SE_CODE VARCHAR(6) NULL , + PROCESS_SE VARCHAR(6) NULL , + ADMINIST_ZONE_NM VARCHAR(180) NULL , + LOWEST_ADMINIST_ZONE_NM VARCHAR(180) NULL , + CTPRVN_CODE VARCHAR(6) NULL , + SIGNGU_CODE VARCHAR(9) NULL , + EMD_CODE VARCHAR(9) NULL , + LI_CODE VARCHAR(6) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + ABL_ENNC CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTCADMINISTCODERECPTNLOG_PK PRIMARY KEY (OCCRRNC_DE,ADMINIST_ZONE_SE,ADMINIST_ZONE_CODE,OPERT_SN) +); + +CREATE TABLE COMTNTROBLINFO +( + TROBL_ID CHAR(20) NOT NULL , + TROBL_NM VARCHAR(180) NULL , + TROBL_KND CHAR(2) NULL , + TROBL_DC VARCHAR(6000) NULL , + TROBL_OCCRRNC_TIME VARCHAR(42) NULL , + TROBL_RQESTER_NM VARCHAR(180) NULL , + TROBL_REQUST_TIME VARCHAR(42) NULL , + TROBL_PROCESS_RESULT VARCHAR(6000) NULL , + TROBL_OPETR_NM VARCHAR(180) NULL , + TROBL_PROCESS_TIME VARCHAR(42) NULL , + PROCESS_STTUS CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNTROBLINFO_PK PRIMARY KEY (TROBL_ID) +); + +CREATE TABLE COMTNDAMKNOIFM +( + KNWLDG_ID CHAR(20) NOT NULL , + KNWLDG_TY_CODE VARCHAR(9) NULL , + ORGNZT_ID CHAR(20) NULL , + EXPERT_ID CHAR(20) NULL , + EMPLYR_ID VARCHAR(60) NULL , + KNWLDG_NM VARCHAR(180) NULL , + KNWLDG_CN VARCHAR(7500) NULL , + KWRD VARCHAR(300) NULL , + OTHBC_AT CHAR(1) NULL , + KNWLDG_EVL CHAR(1) NULL , + COLCT_DE CHAR(20) NULL , + EVL_DE CHAR(20) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + DSUSE_DE CHAR(20) NULL , +CONSTRAINT COMTNDAMKNOIFM_PK PRIMARY KEY (KNWLDG_ID) +); + +CREATE TABLE COMTNDAMMAPKNO +( + KNWLDG_TY_CODE VARCHAR(9) NOT NULL , + ORGNZT_ID CHAR(20) NULL , + EXPERT_ID CHAR(20) NULL , + KNWLDG_TY_NM VARCHAR(180) NULL , + CL_DE CHAR(20) NULL , + KNWLDG_URL VARCHAR(765) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNDAMMAPKNO_PK PRIMARY KEY (KNWLDG_TY_CODE) +); + +CREATE TABLE COMTNDAMPRO +( + EXPERT_ID CHAR(20) NOT NULL , + KNWLDG_TY_CODE VARCHAR(9) NOT NULL , + EXPERT_GRAD CHAR(1) NOT NULL , + EXPERT_CONFM_DE CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + EXPERT_DC VARCHAR(6000) NULL , +CONSTRAINT COMTNDAMPRO_PK PRIMARY KEY (EXPERT_ID,KNWLDG_TY_CODE,EXPERT_GRAD) +); + +CREATE TABLE COMTNINFRMLSANCTN +( + INFRML_SANCTN_ID CHAR(20) NOT NULL , + JOB_SE_CODE CHAR(3) NOT NULL , + APPLCNT_ID VARCHAR(60) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + SANCTNER_ID VARCHAR(60) NOT NULL , + CONFM_AT CHAR(1) NOT NULL , + SANCTN_DT DATETIME NULL , + RETURN_RESN VARCHAR(3000) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNINFRMLSANCTN_PK PRIMARY KEY (INFRML_SANCTN_ID) +); + +CREATE TABLE COMTNDBMNTRNG +( + DATA_SOURC_NM VARCHAR(180) NOT NULL , + SERVER_NM VARCHAR(180) NULL , + DBMS_KND VARCHAR(6) NULL , + CECK_SQL VARCHAR(750) NULL , + MNGR_NM VARCHAR(180) NULL , + MNGR_EMAIL_ADRES VARCHAR(150) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NOT NULL , +CONSTRAINT COMTNDBMNTRNG_PK PRIMARY KEY (DATA_SOURC_NM) +); + +CREATE TABLE COMTNTRSMRCVMNTRNG +( + CNTC_ID CHAR(8) NOT NULL , + TEST_CLASS_NM VARCHAR(765) NULL , + MNGR_NM VARCHAR(180) NULL , + MNGR_EMAIL_ADRES VARCHAR(150) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NOT NULL , +CONSTRAINT COMTNTRSMRCVMNTRNG_PK PRIMARY KEY (CNTC_ID) +); + +CREATE TABLE COMTNDEPTJOB +( + DEPT_JOB_ID CHAR(20) NOT NULL , + DEPT_JOBBX_ID CHAR(6) NOT NULL , + DEPT_JOB_NM VARCHAR(765) NOT NULL , + DEPT_JOB_CN VARCHAR(7500) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , + CHARGER_ID VARCHAR(60) NOT NULL , + PRIORT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNDEPTJOB_PK PRIMARY KEY (DEPT_JOB_ID) +); + +CREATE TABLE COMTNLEADERSCHDUL +( + SCHDUL_ID CHAR(20) NOT NULL , + SCHDUL_SE CHAR(1) NULL , + SCHDUL_NM VARCHAR(765) NOT NULL , + SCHDUL_CN VARCHAR(7500) NOT NULL , + SCHDUL_PLACE VARCHAR(765) NULL , + LEADER_ID VARCHAR(60) NOT NULL , + REPTIT_SE_CODE CHAR(1) NULL , + SCHDUL_BGNDE CHAR(20) NULL , + SCHDUL_ENDDE CHAR(20) NULL , + SCHDUL_CHARGER_ID VARCHAR(60) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNLEADERSCHDUL_PK PRIMARY KEY (SCHDUL_ID) +); + +CREATE TABLE COMTNLEADERSCHDULDE +( + SCHDUL_ID CHAR(20) NOT NULL , + SCHDUL_DE CHAR(8) NOT NULL , +CONSTRAINT COMTNLEADERSCHDULDE_PK PRIMARY KEY (SCHDUL_ID,SCHDUL_DE) +); + +CREATE TABLE COMTNDEPTJOBBX +( + DEPT_JOBBX_ID CHAR(6) NOT NULL , + DEPT_JOBBX_NM VARCHAR(765) NOT NULL , + DEPT_ID VARCHAR(60) NOT NULL , + INDICT_ORDR NUMERIC(6) NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNDEPTJOBBX_PK PRIMARY KEY (DEPT_JOBBX_ID) +); + +CREATE TABLE COMTNDTAUSESTATS +( + DTA_USE_STATS_ID CHAR(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + NTT_ID NUMERIC(20) NOT NULL , + ATCH_FILE_ID CHAR(20) NOT NULL , + FILE_SN NUMERIC(10) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNDTAUSESTATS_PK PRIMARY KEY (DTA_USE_STATS_ID) +); + +CREATE TABLE COMTNINSTTCODE +( + INSTT_CODE CHAR(7) NOT NULL , + ALL_INSTT_NM VARCHAR(765) NULL , + LOWEST_INSTT_NM VARCHAR(300) NULL , + INSTT_ABRV_NM VARCHAR(150) NULL , + ODR CHAR(1) NULL , + ORD CHAR(3) NULL , + INSTT_ODR CHAR(2) NULL , + UPPER_INSTT_CODE CHAR(7) NULL , + BEST_INSTT_CODE CHAR(7) NULL , + REPRSNT_INSTT_CODE CHAR(7) NULL , + INSTT_TY_LCLAS CHAR(2) NULL , + INSTT_TY_MLSFC CHAR(2) NULL , + INSTT_TY_SCLAS CHAR(2) NULL , + TELNO VARCHAR(60) NULL , + FXNUM VARCHAR(60) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + ABL_ENNC CHAR(1) NULL , + CHANGE_DE CHAR(20) NULL , + CHANGE_TIME VARCHAR(18) NULL , + BSIS_DE CHAR(20) NULL , + SORT_ORDR NUMERIC(8) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNINSTTCODE_PK PRIMARY KEY (INSTT_CODE) +); + +CREATE TABLE COMTNINSTTCODERECPTNLOG +( + OCCRRNC_DE CHAR(20) NOT NULL , + INSTT_CODE CHAR(7) NOT NULL , + OPERT_SN NUMERIC(10) NOT NULL , + CHANGE_SE_CODE VARCHAR(6) NULL , + PROCESS_SE VARCHAR(6) NULL , + ETC_CODE CHAR(2) NULL , + ALL_INSTT_NM VARCHAR(765) NULL , + LOWEST_INSTT_NM VARCHAR(300) NULL , + INSTT_ABRV_NM VARCHAR(150) NULL , + ODR CHAR(1) NULL , + ORD CHAR(3) NULL , + INSTT_ODR CHAR(2) NULL , + UPPER_INSTT_CODE CHAR(7) NULL , + BEST_INSTT_CODE CHAR(7) NULL , + REPRSNT_INSTT_CODE CHAR(7) NULL , + INSTT_TY_LCLAS CHAR(2) NULL , + INSTT_TY_MLSFC CHAR(2) NULL , + INSTT_TY_SCLAS CHAR(2) NULL , + TELNO VARCHAR(60) NULL , + FXNUM VARCHAR(60) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + ABL_ENNC CHAR(1) NULL , + CHANGE_DE CHAR(20) NULL , + CHANGE_TIME VARCHAR(18) NULL , + BSIS_DE CHAR(20) NULL , + SORT_ORDR NUMERIC(8) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNINSTTCODERECPTNLOG_PK PRIMARY KEY (OCCRRNC_DE,INSTT_CODE,OPERT_SN) +); + +CREATE TABLE COMTNINDVDLYRYCMANAGE +( + OCCRRNC_YEAR CHAR(4) NOT NULL , + YRYC_OCCRRNC_CO NUMERIC(5,1) NULL , + USE_YRYC_CO NUMERIC(5,1) NULL , + REMNDR_YRYC_CO NUMERIC(5,1) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + USER_ID VARCHAR(60) NOT NULL , +CONSTRAINT COMTNINDVDLYRYCMANAGE_PK PRIMARY KEY (OCCRRNC_YEAR,USER_ID) +); + +CREATE TABLE COMTNNTWRKSVCMNTRNG +( + SYS_IP VARCHAR(69) NOT NULL , + SYS_PORT NUMERIC(5) NOT NULL , + SYS_NM VARCHAR(765) NOT NULL , + MNGR_NM VARCHAR(180) NULL , + MNGR_EMAIL_ADRES VARCHAR(150) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NOT NULL , + LAST_UPDT_PNTTM DATETIME NOT NULL , +CONSTRAINT COMTNNTWRKSVCMNTRNG_PK PRIMARY KEY (SYS_IP,SYS_PORT) +); + +CREATE TABLE COMTNNTWRKSVCMNTRNGLOGINFO +( + SYS_IP VARCHAR(69) NOT NULL , + SYS_PORT NUMERIC(5) NOT NULL , + SYS_NM VARCHAR(765) NOT NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR(6000) NULL , + CREAT_DT DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NOT NULL , + LAST_UPDT_PNTTM DATETIME NOT NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNNTWRKSVCMNTRNGLOGINFO_PK PRIMARY KEY (SYS_IP,SYS_PORT,LOG_ID) +); + +CREATE TABLE COMTNSERVEREQPMNINFO +( + SERVER_EQPMN_ID VARCHAR(60) NOT NULL , + SERVER_EQPMN_NM VARCHAR(180) NULL , + SERVER_EQPMN_IP VARCHAR(69) NULL , + SERVER_EQPMN_MNGR VARCHAR(180) NULL , + MNGR_EMAIL_ADRES VARCHAR(150) NULL , + OPERSYSM_INFO VARCHAR(6000) NULL , + CPU_INFO VARCHAR(6000) NULL , + MORY_INFO VARCHAR(6000) NULL , + HDDISK CHAR(18) NULL , + ETC_INFO VARCHAR(750) NULL , + RGSDE DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNSERVEREQPMNINFO_PK PRIMARY KEY (SERVER_EQPMN_ID) +); + +CREATE TABLE COMTNSYNCHRNSERVERINFO +( + SERVER_ID CHAR(20) NOT NULL , + SERVER_NM VARCHAR(180) NULL , + SERVER_IP VARCHAR(69) NULL , + SERVER_PORT VARCHAR(30) NULL , + FTP_ID VARCHAR(60) NULL , + FTP_PASSWORD VARCHAR(60) NULL , + SYNCHRN_LC VARCHAR(765) NULL , + REFLCT_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNSYNCHRNSERVERINFO_PK PRIMARY KEY (SERVER_ID) +); + +CREATE TABLE COMTNSERVERINFO +( + SERVER_ID CHAR(20) NOT NULL , + SERVER_NM VARCHAR(180) NULL , + SERVER_KND CHAR(2) NULL , + RGSDE DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNSERVERINFO_PK PRIMARY KEY (SERVER_ID) +); + +CREATE TABLE COMTNSERVEREQPMNRELATE +( + SERVER_EQPMN_ID VARCHAR(60) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + SERVER_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNSERVEREQPMNRELATE_PK PRIMARY KEY (SERVER_EQPMN_ID,SERVER_ID) +); + +CREATE TABLE COMTNSERVERRESRCELOGINFO +( + SERVER_EQPMN_ID VARCHAR(60) NOT NULL , + CPU_USE_RT NUMERIC(3) NULL , + MORY_USE_RT NUMERIC(3) NULL , + SVC_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR(6000) NULL , + CREAT_DT DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + SERVER_ID CHAR(20) NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNSERVERRESRCELOGINFO_PK PRIMARY KEY (SERVER_EQPMN_ID,SERVER_ID,LOG_ID) +); + +CREATE TABLE COMTNVCATNMANAGE +( + APPLCNT_ID VARCHAR(60) NOT NULL , + VCATN_SE CHAR(2) NOT NULL , + BGNDE CHAR(8) NOT NULL , + ENDDE CHAR(8) NOT NULL , + VCATN_RESN VARCHAR(600) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + OCCRRNC_YEAR CHAR(4) NULL , + SANCTNER_ID VARCHAR(60) NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATETIME NULL , + RETURN_RESN VARCHAR(3000) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + NOON_SE CHAR(1) NULL , +CONSTRAINT COMTNVCATNMANAGE_PK PRIMARY KEY (APPLCNT_ID,VCATN_SE,BGNDE,ENDDE) +); + +CREATE TABLE COMTNMEMOTODO +( + TODO_ID CHAR(20) NOT NULL , + TODO_SJ VARCHAR(765) NOT NULL , + TODO_BEGIN_TIME VARCHAR(42) NOT NULL , + TODO_END_TIME VARCHAR(42) NOT NULL , + WRTER_ID VARCHAR(60) NOT NULL , + TODO_CN VARCHAR(7500) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNMEMOTODO_PK PRIMARY KEY (TODO_ID) +); + +CREATE TABLE COMTNNOTE +( + NOTE_ID CHAR(20) NOT NULL , + NOTE_SJ VARCHAR(765) NULL , + NOTE_CN VARCHAR(12000) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNNOTE_PK PRIMARY KEY (NOTE_ID) +); + +CREATE TABLE COMTNNOTETRNSMIT +( + NOTE_ID CHAR(20) NOT NULL , + NOTE_TRNSMIT_ID CHAR(20) NOT NULL , + TRNSMITER_ID CHAR(20) NULL , + DELETE_AT CHAR(8) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNNOTETRNSMIT_PK PRIMARY KEY (NOTE_ID,NOTE_TRNSMIT_ID) +); + +CREATE TABLE COMTNNOTERECPTN +( + NOTE_ID CHAR(20) NOT NULL , + NOTE_TRNSMIT_ID CHAR(20) NOT NULL , + NOTE_RECPTN_ID CHAR(20) NOT NULL , + RCVER_ID CHAR(20) NULL , + OPEN_YN CHAR(1) NULL , + RECPTN_SE CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNNOTERECPTN_PK PRIMARY KEY (NOTE_ID,NOTE_TRNSMIT_ID,NOTE_RECPTN_ID) +); + +CREATE TABLE COMTNEVENTMANAGE +( + EVENT_ID CHAR(20) NOT NULL , + EVENT_SE VARCHAR(6) NOT NULL , + EVENT_NM VARCHAR(180) NOT NULL , + EVENT_PURPS VARCHAR(600) NOT NULL , + EVENT_BGNDE CHAR(20) NOT NULL , + EVENT_ENDDE CHAR(20) NOT NULL , + EVENT_AUSPC_INSTT_NM VARCHAR(180) NULL , + EVENT_MNGT_INSTT_NM VARCHAR(180) NULL , + EVENT_PLACE VARCHAR(600) NOT NULL , + EVENT_CN VARCHAR(3000) NULL , + CT_OCCRRNC_AT CHAR(1) NULL , + PARTCPT_CT NUMERIC(16) NULL , + PSNCPA NUMERIC(10) NOT NULL , + REFRN_URL VARCHAR(3072) NULL , + RCEPT_BGNDE CHAR(20) NOT NULL , + RCEPT_ENDDE CHAR(20) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNEVENTMANAGE_PK PRIMARY KEY (EVENT_ID) +); + +CREATE TABLE COMTNEVENTATDRN +( + APPLCNT_ID VARCHAR(60) NOT NULL , + EVENT_ID CHAR(20) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + SANCTNER_ID VARCHAR(60) NOT NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATETIME NULL , + RETURN_RESN VARCHAR(3000) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNEVENTATDRN_PK PRIMARY KEY (APPLCNT_ID,EVENT_ID) +); + +CREATE TABLE IMGTEMP +( + ORGNZT_CODE VARCHAR(30) NOT NULL , + ERNCSL_SE VARCHAR(6) NOT NULL , + IMAGE_INFO BIT VARYING NOT NULL , + IMAGE_TY VARCHAR(60) NULL , +CONSTRAINT IMGTEMP_PK PRIMARY KEY (ORGNZT_CODE,ERNCSL_SE) +); + +CREATE TABLE IDS +( + IDGEN_TABLE_NM VARCHAR(60) NOT NULL , + IDGEN_NEXT_ID NUMERIC(30) NOT NULL , +CONSTRAINT IDS_PK PRIMARY KEY (IDGEN_TABLE_NM) +); + +CREATE TABLE COMTNWIKMNTHNGREPRT +( + REPRT_ID CHAR(6) NOT NULL , + REPRT_SE CHAR(1) NOT NULL , + REPRT_SJ VARCHAR(765) NOT NULL , + REPORT_DE CHAR(20) NOT NULL , + WRTER_ID VARCHAR(60) NOT NULL , + REPORTR_ID VARCHAR(60) NOT NULL , + REPORT_BGNDE CHAR(20) NOT NULL , + REPORT_ENDDE CHAR(20) NOT NULL , + THSWIK_REPORT_CN STRING NOT NULL , + NEXTWIK_REPORT_CN STRING NOT NULL , + PARTCLR_MATTER VARCHAR(7500) NULL , + ATCH_FILE_ID CHAR(20) NULL , + CONFM_DT VARCHAR(42) NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNWIKMNTHNGREPRT_PK PRIMARY KEY (REPRT_ID) +); + +CREATE TABLE COMTNTWITTER +( + USER_ID VARCHAR(60) NOT NULL , + CNSMR_KEY VARCHAR(150) NOT NULL , + CNSMR_SECRET VARCHAR(150) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNTWITTER_PK PRIMARY KEY (USER_ID) +); + +CREATE TABLE COMTNWIKIBKMK +( + WIKI_BKMK_ID CHAR(20) NOT NULL , + USER_ID VARCHAR(60) NOT NULL , + WIKI_BKMK_NM VARCHAR(3000) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNWIKIBKMK_PK PRIMARY KEY (WIKI_BKMK_ID,USER_ID) +); + +CREATE TABLE COMTNRWARDMANAGE +( + RWARD_ID CHAR(20) NOT NULL , + RWARDWNR_ID VARCHAR(60) NOT NULL , + RWARD_CODE CHAR(2) NOT NULL , + RWARD_DE CHAR(20) NOT NULL , + RWARD_NM VARCHAR(765) NOT NULL , + PBLEN_CN VARCHAR(3000) NULL , + SANCTNER_ID VARCHAR(60) NOT NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATETIME NULL , + RETURN_RESN VARCHAR(3000) NULL , + ATCH_FILE_ID CHAR(20) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNRWARDMANAGE_PK PRIMARY KEY (RWARD_ID) +); + +CREATE TABLE COMTNRSS +( + RSS_ID CHAR(20) NOT NULL , + TRGET_SVC_NM VARCHAR(765) NOT NULL , + TRGET_SVC_TABLE VARCHAR(765) NOT NULL , + TRGET_SVC_LIST_CO NUMERIC(5) NOT NULL , + HDER_TITLE VARCHAR(765) NOT NULL , + HDER_LINK VARCHAR(765) NOT NULL , + HDER_DC VARCHAR(12000) NOT NULL , + HDER_TAG VARCHAR(765) NULL , + HDER_ETC VARCHAR(750) NULL , + BDT_TITLE VARCHAR(765) NULL , + BDT_LINK VARCHAR(765) NULL , + BDT_DC VARCHAR(12000) NULL , + BDT_TAG VARCHAR(765) NULL , + BDT_ETC_TAG VARCHAR(765) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNRSS_PK PRIMARY KEY (RSS_ID) +); + +CREATE TABLE COMTNRESTDE +( + RESTDE_NO NUMERIC(6) NOT NULL , + RESTDE CHAR(8) NULL , + RESTDE_NM VARCHAR(180) NULL , + RESTDE_DC VARCHAR(600) NULL , + RESTDE_SE_CODE VARCHAR(6) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , +CONSTRAINT COMTNRESTDE_PK PRIMARY KEY (RESTDE_NO) +); + +CREATE TABLE COMTNPROCESSMON +( + PROCS_ID CHAR(20) NOT NULL , + PROCS_NM VARCHAR(180) NULL , + PROCS_STTUS VARCHAR(9) NULL , + CREAT_DT DATETIME NULL , + MNGR_NM VARCHAR(180) NULL , + MNGR_EMAIL_ADRES VARCHAR(150) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNPROCESSMON_PK PRIMARY KEY (PROCS_ID) +); + +CREATE TABLE COMTNPROCESSMONLOGINFO +( + PROCS_ID CHAR(20) NOT NULL , + PROCS_NM VARCHAR(180) NULL , + PROCS_STTUS VARCHAR(9) NULL , + CREAT_DT DATETIME NULL , + LOG_INFO VARCHAR(6000) NULL , + MNGR_NM VARCHAR(180) NULL , + MNGR_EMAIL_ADRES VARCHAR(150) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNPROCESSMONLOGINFO_PK PRIMARY KEY (PROCS_ID,LOG_ID) +); + +CREATE TABLE COMTNNTWRKINFO +( + NTWRK_ID CHAR(20) NOT NULL , + NTWRK_IP VARCHAR(69) NULL , + GTWY VARCHAR(69) NULL , + SUBNET VARCHAR(69) NULL , + DOMN_NM_SERVER VARCHAR(69) NULL , + MANAGE_IEM CHAR(2) NULL , + USER_NM VARCHAR(180) NULL , + USE_AT CHAR(1) NULL , + RGSDE DATETIME NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNNTWRKINFO_PK PRIMARY KEY (NTWRK_ID) +); + +CREATE VIEW COMVNUSERMASTER ( ESNTL_ID,USER_ID,PASSWORD,USER_NM,USER_ZIP,USER_ADRES,USER_EMAIL,GROUP_ID, USER_SE, ORGNZT_ID ) +AS SELECT ESNTL_ID, MBER_ID,PASSWORD,MBER_NM,ZIP,ADRES,MBER_EMAIL_ADRES,' ','GNR' AS USER_SE, ' ' ORGNZT_ID + FROM COMTNGNRLMBER + UNION ALL + SELECT ESNTL_ID,EMPLYR_ID,PASSWORD,USER_NM,ZIP,HOUSE_ADRES,EMAIL_ADRES,GROUP_ID ,'USR' AS USER_SE, ORGNZT_ID + FROM COMTNEMPLYRINFO + UNION ALL + SELECT ESNTL_ID,ENTRPRS_MBER_ID,ENTRPRS_MBER_PASSWORD,CMPNY_NM,ZIP,ADRES,APPLCNT_EMAIL_ADRES,' ' ,'ENT' AS USER_SE, ' ' ORGNZT_ID + FROM COMTNENTRPRSMBER ORDER BY ESNTL_ID; + +CREATE TABLE COMTNMEMOREPRT +( + REPRT_SJ VARCHAR(765) NOT NULL , + REPORT_DE CHAR(20) NOT NULL , + WRTER_ID VARCHAR(60) NOT NULL , + REPORTR_ID VARCHAR(60) NOT NULL , + REPORT_CN VARCHAR(7500) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , + DRCT_MATTER VARCHAR(7500) NULL , + DRCT_MATTER_REGIST_DT VARCHAR(42) NULL , + REPORTR_INQIRE_DT VARCHAR(42) NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + REPRT_ID CHAR(6) NOT NULL , +CONSTRAINT COMTNMEMOREPRT_PK PRIMARY KEY (REPRT_ID) +); + +CREATE TABLE COMTNMTGPLACEMANAGE +( + MTGRUM_ID CHAR(20) NOT NULL , + MTGRUM_NM VARCHAR(765) NOT NULL , + OPN_BEGIN_TM VARCHAR(18) NOT NULL , + OPN_END_TM VARCHAR(18) NOT NULL , + ACEPTNC_POSBL_NMPR NUMERIC(10) NOT NULL , + LC_SE CHAR(5) NULL , + LC_DETAIL VARCHAR(600) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNMTGPLACEMANAGE_PK PRIMARY KEY (MTGRUM_ID) +); + +CREATE TABLE COMTNMTGPLACERESVE +( + RESVE_ID CHAR(20) NOT NULL , + MTGRUM_ID CHAR(20) NOT NULL , + MTG_SJ VARCHAR(300) NOT NULL , + RSVCTM_ID VARCHAR(60) NOT NULL , + RESVE_DE CHAR(8) NOT NULL , + RESVE_BEGIN_TM VARCHAR(42) NOT NULL , + RESVE_END_TM VARCHAR(42) NOT NULL , + ATNDNC_NMPR NUMERIC(10) NULL , + MTG_CN VARCHAR(7500) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNMTGPLACERESVE_PK PRIMARY KEY (RESVE_ID) +); + +CREATE TABLE COMTNFXTRSMANAGE +( + FXTRS_CODE CHAR(14) NOT NULL , + FXTRS_NM VARCHAR(300) NOT NULL , + MAKR_NM VARCHAR(300) NULL , + PRICE NUMERIC(16) NULL , +CONSTRAINT COMTNFXTRSMANAGE_PK PRIMARY KEY (FXTRS_CODE) +); + +CREATE TABLE COMTNMTGPLACEFXTRS +( + MTGRUM_ID CHAR(20) NOT NULL , + FXTRS_CODE CHAR(14) NOT NULL , + QY NUMERIC(20) NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , +CONSTRAINT COMTNMTGPLACEFXTRS_PK PRIMARY KEY (MTGRUM_ID,FXTRS_CODE) +); + +CREATE TABLE COMTECOPSEQ +( + TABLE_NAME VARCHAR(60) NOT NULL , + NEXT_ID NUMERIC(30) NULL , +CONSTRAINT COMTECOPSEQ_PK PRIMARY KEY (TABLE_NAME) +); + +CREATE TABLE COMTNANNVRSRYMANAGE +( + ANNVRSRY_ID VARCHAR(60) NOT NULL , + USER_ID VARCHAR(60) NOT NULL , + ANNVRSRY_SE VARCHAR(6) NOT NULL , + ANNVRSRY_NM VARCHAR(765) NOT NULL , + ANNVRSRY CHAR(20) NOT NULL , + CLDR_SE CHAR(1) NOT NULL , + ANNVRSRY_NTCN_SETUP CHAR(1) NULL , + ANNVRSRY_NTCN_BGNDE CHAR(20) NULL , + MEMO VARCHAR(3000) NULL , + FRST_REGISTER_ID VARCHAR(60) NULL , + FRST_REGIST_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + LAST_UPDT_PNTTM DATETIME NULL , + REPTIT_AT CHAR(1) NULL , +CONSTRAINT COMTNANNVRSRYMANAGE_PK PRIMARY KEY (ANNVRSRY_ID) +); + +CREATE TABLE J_ATTACHFILE +( + FILE_ID VARCHAR(13) NOT NULL, + FILE_SEQ INTEGER NOT NULL, + FILE_NAME VARCHAR(100) NOT NULL, + FILE_SIZE INTEGER, + FILE_MASK VARCHAR(100), + DOWNLOAD_COUNT INTEGER, + DOWNLOAD_EXPIRE_DATE VARCHAR(8), + DOWNLOAD_LIMIT_COUNT INTEGER, + REG_DATE DATETIME, + DELETE_YN VARCHAR(1), +CONSTRAINT J_ATTACHFILE_PK PRIMARY KEY (FILE_ID, FILE_SEQ) +); + +CREATE TABLE COMTNROUGHMAP ( + ROUGHMAP_ID VARCHAR(75) NOT NULL, + ROUGHMAPSJ VARCHAR(75) NOT NULL, + ROUGHMAPADDRESS VARCHAR(200)NULL, + LA VARCHAR(48) NULL, + LO VARCHAR(48) NULL, + MARKERLA VARCHAR(48) NULL, + MARKERLO VARCHAR(48) NULL, + INFOWINDOW VARCHAR(20) NULL, + ZOOMLEVEL VARCHAR(10) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL + ); + + CREATE TABLE COMTNPRIVACYLOG +( + REQUST_ID VARCHAR(20) NOT NULL, + INQIRE_DT DATETIME NOT NULL, + SRVC_NM VARCHAR(500) NULL, + INQIRE_INFO VARCHAR(100) NULL, + RQESTER_ID VARCHAR(20) NULL, + RQESTER_IP VARCHAR(23) NULL, +CONSTRAINT REQUST_ID_PK PRIMARY KEY (REQUST_ID) +) +; + +CREATE TABLE COMTNCOMMUTE ( + WRKTM_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + ORGNZT_ID VARCHAR(20) NULL, + WRKT_DT VARCHAR(10) NOT NULL, + WRK_START_TIME VARCHAR(14) NULL, + WRK_END_TIME VARCHAR(14) NULL, + WRK_HOURS CHAR(2) NULL, + OVTMWRK_HOURS CHAR(2) NULL, + WRK_START_STATUS VARCHAR(10) NULL, + WRK_END_STATUS VARCHAR(10) NULL, + RM VARCHAR(100) NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + FRST_REGIST_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATETIME NULL, + PRIMARY KEY (EMPLYR_ID, WRKT_DT) +); + +CREATE TABLE COMTNBLOG +( + BLOG_ID CHAR(20) NOT NULL , + BLOG_NM VARCHAR(765) NOT NULL , + BLOG_INTRCN VARCHAR(7200) NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + TMPLAT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATETIME NOT NULL , + FRST_REGISTER_ID VARCHAR(60) NOT NULL , + LAST_UPDT_PNTTM DATETIME NULL , + LAST_UPDUSR_ID VARCHAR(60) NULL , + BBS_ID CHAR(20) DEFAULT NULL, + BLOG_AT CHAR(1) DEFAULT NULL, + PRIMARY KEY (BLOG_ID) +); + +CREATE TABLE COMTNBLOGUSER +( + BLOG_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(60) NOT NULL, + MNGR_AT CHAR(1) NOT NULL, + MBER_STTUS VARCHAR(45) NULL, + SBSCRB_DE DATETIME NULL, + SECSN_DE CHAR(20) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATETIME NOT NULL, + FRST_REGISTER_ID VARCHAR(60) NOT NULL, + LAST_UPDT_PNTTM DATETIME NULL, + LAST_UPDUSR_ID VARCHAR(60) NULL, + CONSTRAINT COMTNBLOGUSER_PK PRIMARY KEY (BLOG_ID,EMPLYR_ID), + CONSTRAINT COMTNBLOGUSER_FK1 FOREIGN KEY (BLOG_ID) REFERENCES COMTNBLOG(BLOG_ID) +); Index: base3.10/script/ddl/oracle/com_DDL_oracle.sql =================================================================== --- base3.10/script/ddl/oracle/com_DDL_oracle.sql (nonexistent) +++ base3.10/script/ddl/oracle/com_DDL_oracle.sql (revision 7) @@ -0,0 +1,3518 @@ + +CREATE TABLE COMTNPROGRMLIST +( + PROGRM_FILE_NM VARCHAR2(60) NOT NULL , + PROGRM_STRE_PATH VARCHAR2(100) NOT NULL , + PROGRM_KOREAN_NM VARCHAR2(60) NULL , + PROGRM_DC VARCHAR2(200) NULL , + URL VARCHAR2(100) NOT NULL , +CONSTRAINT COMTNPROGRMLIST_PK PRIMARY KEY (PROGRM_FILE_NM) +); + + + +CREATE TABLE COMTHPROGRMCHANGEDTLS +( + PROGRM_FILE_NM VARCHAR2(60) NOT NULL , + REQUST_NO NUMBER(10) NOT NULL , + RQESTER_ID VARCHAR2(20) NOT NULL , + CHANGE_REQUST_CN VARCHAR2(1000) NULL , + REQUST_PROCESS_CN CLOB NULL , + OPETR_ID VARCHAR2(20) NULL , + PROCESS_STTUS_CODE VARCHAR2(15) NOT NULL , + PROCESS_DE CHAR(20) NULL , + RQESTDE CHAR(20) NULL , + REQUST_SJ VARCHAR2(60) NOT NULL , +CONSTRAINT COMTHPROGRMCHANGEDTLS_PK PRIMARY KEY (PROGRM_FILE_NM,REQUST_NO), +CONSTRAINT COMTHPROGRMCHANGEDTLS_FK1 FOREIGN KEY (PROGRM_FILE_NM) REFERENCES COMTNPROGRMLIST(PROGRM_FILE_NM) ON DELETE CASCADE +); + + + +CREATE INDEX COMTHPROGRMCHANGEDTLS_i01 ON COMTHPROGRMCHANGEDTLS +(PROGRM_FILE_NM ASC); + + + +CREATE TABLE COMTNPOPUPMANAGE +( + POPUP_ID VARCHAR2(20) NOT NULL , + POPUP_SJ_NM VARCHAR2(1024) NULL , + FILE_URL VARCHAR2(1024) NULL , + POPUP_WIDTH_LC VARCHAR2(20) NULL , + POPUP_WIDTH_SIZE NUMBER NULL , + NTCE_BGNDE CHAR(20) NULL , + NTCE_ENDDE CHAR(20) NULL , + STOPVEW_SETUP_AT CHAR(1) NULL , + NTCE_AT CHAR(1) NULL , + POPUP_VRTICL_LC VARCHAR2(20) NULL , + POPUP_VRTICL_SIZE NUMBER NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNPOPUPMANAGE_PK PRIMARY KEY (POPUP_ID) +); + + + +CREATE TABLE COMTNBANNER +( + BANNER_ID CHAR(20) NOT NULL , + BANNER_NM VARCHAR2(60) NOT NULL , + LINK_URL VARCHAR2(255) NOT NULL , + BANNER_IMAGE VARCHAR2(60) NOT NULL , + BANNER_DC VARCHAR2(200) NULL , + REFLCT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + BANNER_IMAGE_FILE VARCHAR2(60) NULL , + SORT_ORDR NUMBER(8) NULL , +CONSTRAINT COMTNBANNER_PK PRIMARY KEY (BANNER_ID) +); + + + +CREATE TABLE COMTNLOGINSCRINIMAGE +( + IMAGE_ID CHAR(20) NOT NULL , + IMAGE_NM VARCHAR2(20) NOT NULL , + REFLCT_AT CHAR(1) NOT NULL , + IMAGE VARCHAR2(60) NOT NULL , + IMAGE_DC VARCHAR2(200) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + IMAGE_FILE VARCHAR2(60) NULL , +CONSTRAINT COMTNLOGINSCRINIMAGE_PK PRIMARY KEY (IMAGE_ID) +); + + + +CREATE TABLE COMTNORGNZTINFO +( + ORGNZT_ID CHAR(20) NOT NULL , + ORGNZT_NM VARCHAR2(20) NOT NULL , + ORGNZT_DC VARCHAR2(100) NULL , +CONSTRAINT COMTNORGNZTINFO_PK PRIMARY KEY (ORGNZT_ID) +); + + + +CREATE TABLE COMTNAUTHORGROUPINFO +( + GROUP_ID CHAR(20) NOT NULL , + GROUP_NM VARCHAR2(60) NOT NULL , + GROUP_CREAT_DE CHAR(20) NOT NULL , + GROUP_DC VARCHAR2(100) NULL , +CONSTRAINT COMTNAUTHORGROUPINFO_PK PRIMARY KEY (GROUP_ID) +); + + + +CREATE TABLE COMTNEMPLYRINFO +( + EMPLYR_ID VARCHAR2(20) NOT NULL , + ORGNZT_ID CHAR(20) NULL , + USER_NM VARCHAR2(60) NOT NULL , + PASSWORD VARCHAR2(200) NOT NULL , + EMPL_NO VARCHAR2(20) NULL , + IHIDNUM VARCHAR2(200) NULL , + SEXDSTN_CODE CHAR(1) NULL , + BRTHDY CHAR(20) NULL , + FXNUM VARCHAR2(20) NULL , + HOUSE_ADRES VARCHAR2(100) NOT NULL , + PASSWORD_HINT VARCHAR2(100) NOT NULL , + PASSWORD_CNSR VARCHAR2(100) NOT NULL , + HOUSE_END_TELNO VARCHAR2(4) NOT NULL , + AREA_NO VARCHAR2(4) NOT NULL , + DETAIL_ADRES VARCHAR2(100) NULL , + ZIP VARCHAR2(6) NOT NULL , + OFFM_TELNO VARCHAR2(20) NULL , + MBTLNUM VARCHAR2(20) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + OFCPS_NM VARCHAR2(60) NULL , + HOUSE_MIDDLE_TELNO VARCHAR2(4) NOT NULL , + GROUP_ID CHAR(20) NULL , + PSTINST_CODE CHAR(8) NULL , + EMPLYR_STTUS_CODE CHAR(1) NOT NULL , + ESNTL_ID CHAR(20) NOT NULL , + CRTFC_DN_VALUE VARCHAR2(100) NULL , + SBSCRB_DE DATE NULL , + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMBER(3) NULL, + LOCK_LAST_PNTTM DATE NULL, + CHG_PWD_LAST_PNTTM DATE NULL, +CONSTRAINT COMTNEMPLYRINFO_PK PRIMARY KEY (EMPLYR_ID), +CONSTRAINT COMTNEMPLYRINFO_FK2 FOREIGN KEY (ORGNZT_ID) REFERENCES COMTNORGNZTINFO(ORGNZT_ID) ON DELETE CASCADE, +CONSTRAINT COMTNEMPLYRINFO_FK1 FOREIGN KEY (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNEMPLYRINFO_i01 ON COMTNEMPLYRINFO +(ORGNZT_ID ASC); + + + +CREATE INDEX COMTNEMPLYRINFO_i02 ON COMTNEMPLYRINFO +(GROUP_ID ASC); + + + +CREATE TABLE COMTNFILE +( + ATCH_FILE_ID CHAR(20) NOT NULL , + CREAT_DT DATE NOT NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNFILE_PK PRIMARY KEY (ATCH_FILE_ID) +); + + + +CREATE TABLE COMTHEMAILDSPTCHMANAGE +( + MSSAGE_ID VARCHAR2(20) NOT NULL , + EMAIL_CN CLOB NULL , + SNDR VARCHAR2(50) NOT NULL , + RCVER VARCHAR2(50) NOT NULL , + SJ VARCHAR2(60) NOT NULL , + SNDNG_RESULT_CODE CHAR(1) NULL , + DSPTCH_DT CHAR(20) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , +CONSTRAINT COMTHEMAILDSPTCHMANAGE_PK PRIMARY KEY (MSSAGE_ID), +CONSTRAINT COMTHEMAILDSPTCHMANAGE_FK1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) ON DELETE SET NULL +); + + + +CREATE INDEX COMTHEMAILDSPTCHMANAGE_i01 ON COMTHEMAILDSPTCHMANAGE +(SNDR ASC); + + + +CREATE INDEX COMTHEMAILDSPTCHMANAGE_i02 ON COMTHEMAILDSPTCHMANAGE +(ATCH_FILE_ID ASC); + + + +CREATE TABLE COMTNNTTSTATS +( + STATS_ID CHAR(18) NOT NULL , + NTCE_CO NUMBER(10) NULL , + AVRG_RDCNT NUMBER(10) NULL , + TOP_RDCNT NUMBER(10) NULL , + MUMM_RDCNT NUMBER(10) NULL , + TOP_NTCR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNNTTSTATS_PK PRIMARY KEY (STATS_ID) +); + + + +CREATE TABLE COMTNSITELIST +( + SITE_ID CHAR(20) NOT NULL , + SITE_NM VARCHAR2(100) NULL , + SITE_URL VARCHAR2(100) NULL , + SITE_DC VARCHAR2(1000) NULL , + SITE_THEMA_CL_CODE VARCHAR2(2) NULL , + ACTVTY_AT CHAR(1) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNSITELIST_PK PRIMARY KEY (SITE_ID) +); + + + +CREATE TABLE COMTNRECENTSRCHWRDMANAGE +( + SRCHWRD_MANAGE_ID CHAR(20) NOT NULL , + SRCHWRD_MANAGE_NM VARCHAR2(255) NULL , + SRCHWRD_CONECT_URL VARCHAR2(255) NULL , + USER_SEARCH_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNRECENTSRCHWRDMANAGE_PK PRIMARY KEY (SRCHWRD_MANAGE_ID) +); + + + +CREATE TABLE COMTNRECENTSRCHWRD +( + SRCHWRD_MANAGE_ID CHAR(20) NOT NULL , + RECENT_SRCHWRD_ID CHAR(20) NOT NULL , + RECENT_SRCHWRD_NM VARCHAR2(255) NULL , + RECENT_SRCHWRD_CO NUMBER(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNRECENTSRCHWRD_PK PRIMARY KEY (RECENT_SRCHWRD_ID), +CONSTRAINT COMTNRECENTSRCHWRD_FK1 FOREIGN KEY (SRCHWRD_MANAGE_ID) REFERENCES COMTNRECENTSRCHWRDMANAGE(SRCHWRD_MANAGE_ID) +); + + + + + +CREATE TABLE COMTNPROXYINFO +( + PROXY_ID CHAR(20) NOT NULL , + PROXY_NM VARCHAR2(60) NULL , + PROXY_IP VARCHAR2(23) NULL , + PROXY_PORT VARCHAR2(10) NULL , + TRGET_SVC_NM VARCHAR2(255) NULL , + SVC_DC VARCHAR2(2000) NULL , + SVC_IP VARCHAR2(23) NULL , + SVC_PORT VARCHAR2(10) NULL , + SVC_STTUS CHAR(2) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNPROXYINFO_PK PRIMARY KEY (PROXY_ID) +); + + + +CREATE TABLE COMTNPROXYLOGINFO +( + PROXY_ID CHAR(20) NOT NULL , + CLNT_IP VARCHAR2(23) NULL , + CLNT_PORT VARCHAR2(10) NULL , + CONECT_TIME DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNPROXYLOGINFO_PK PRIMARY KEY (PROXY_ID,LOG_ID), +CONSTRAINT COMTNPROXYLOGINFO_FK1 FOREIGN KEY (PROXY_ID) REFERENCES COMTNPROXYINFO(PROXY_ID) +); + + + +CREATE TABLE COMTNMAINIMAGE +( + IMAGE_ID CHAR(20) NOT NULL , + IMAGE_NM VARCHAR2(20) NOT NULL , + IMAGE VARCHAR2(60) NOT NULL , + IMAGE_DC VARCHAR2(200) NULL , + REFLCT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + IMAGE_FILE VARCHAR2(60) NULL , +CONSTRAINT COMTNMAINIMAGE_PK PRIMARY KEY (IMAGE_ID) +); + + + +CREATE TABLE COMTNUNITYLINK +( + UNITY_LINK_ID CHAR(20) NOT NULL , + UNITY_LINK_GROUP VARCHAR2(255) NULL , + UNITY_LINK_NM VARCHAR2(255) NULL , + UNITY_LINK_URL VARCHAR2(255) NULL , + UNITY_LINK_DC VARCHAR2(2500) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + UNITY_LINK_SE_CODE CHAR(3) NULL , +CONSTRAINT COMTNUNITYLINK_PK PRIMARY KEY (UNITY_LINK_ID) +); + + + +CREATE TABLE COMTNUSERABSNCE +( + EMPLYR_ID VARCHAR2(20) NOT NULL , + USER_ABSNCE_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNUSERABSNCE_PK PRIMARY KEY (EMPLYR_ID) +); + + + +CREATE TABLE COMTSSYSLOGSUMMARY +( + OCCRRNC_DE CHAR(8) NOT NULL , + SVC_NM VARCHAR2(255) NOT NULL , + METHOD_NM VARCHAR2(60) NOT NULL , + CREAT_CO NUMBER(10) NULL , + UPDT_CO NUMBER(10) NULL , + RDCNT NUMBER(10) NULL , + DELETE_CO NUMBER(10) NULL , + OUTPT_CO NUMBER(10) NULL , + ERROR_CO NUMBER(10) NULL , +CONSTRAINT COMTSSYSLOGSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,SVC_NM,METHOD_NM) +); + + + +CREATE TABLE COMTNSYSLOG +( + REQUST_ID VARCHAR2(20) NOT NULL , + JOB_SE_CODE CHAR(3) NULL , + INSTT_CODE CHAR(7) NULL , + OCCRRNC_DE DATE NULL , + RQESTER_IP VARCHAR2(23) NULL , + RQESTER_ID VARCHAR2(20) NULL , + TRGET_MENU_NM VARCHAR2(255) NULL , + SVC_NM VARCHAR2(255) NULL , + METHOD_NM VARCHAR2(60) NULL , + PROCESS_SE_CODE CHAR(3) NULL , + PROCESS_CO NUMBER(10) NULL , + PROCESS_TIME VARCHAR2(14) NULL , + RSPNS_CODE CHAR(3) NULL , + ERROR_SE CHAR(1) NULL , + ERROR_CO NUMBER(10) NULL , + ERROR_CODE CHAR(3) NULL , +CONSTRAINT COMTNSYSLOG_PK PRIMARY KEY (REQUST_ID) +); + + + +CREATE TABLE COMTNBBSMASTER +( + BBS_ID CHAR(20) NOT NULL , + BBS_NM VARCHAR2(255) NOT NULL , + BBS_INTRCN VARCHAR2(2400) NULL , + BBS_TY_CODE CHAR(6) NOT NULL , + REPLY_POSBL_AT CHAR(1) NULL , + FILE_ATCH_POSBL_AT CHAR(1) NOT NULL , + ATCH_POSBL_FILE_NUMBER NUMBER(2) NOT NULL , + ATCH_POSBL_FILE_SIZE NUMBER(8) NULL , + USE_AT CHAR(1) NOT NULL , + TMPLAT_ID CHAR(20) NULL , + CMMNTY_ID CHAR(20) NULL, + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + BLOG_ID CHAR(20) NULL, + BLOG_AT CHAR(2) NULL, +CONSTRAINT COMTNBBSMASTER_PK PRIMARY KEY (BBS_ID) +); + + + +CREATE TABLE COMTNBBS +( + NTT_ID NUMBER(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + NTT_NO NUMBER(20) NULL , + NTT_SJ VARCHAR2(2000) NULL , + NTT_CN CLOB NULL , + ANSWER_AT CHAR(1) NULL , + PARNTSCTT_NO NUMBER(10) NULL , + ANSWER_LC NUMBER(8) NULL , + SORT_ORDR NUMBER(8) NULL , + RDCNT NUMBER(10) NULL , + USE_AT CHAR(1) NOT NULL , + NTCE_BGNDE CHAR(20) NULL , + NTCE_ENDDE CHAR(20) NULL , + NTCR_ID VARCHAR2(20) NULL , + NTCR_NM VARCHAR2(20) NULL , + PASSWORD VARCHAR2(200) NULL , + ATCH_FILE_ID CHAR(20) NULL , + NOTICE_AT CHAR(1) NULL, + SJ_BOLD_AT CHAR(1) NULL, + SECRET_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + BLOG_ID CHAR(20) NULL, +CONSTRAINT COMTNBBS_PK PRIMARY KEY (NTT_ID,BBS_ID), +CONSTRAINT COMTNBBS_FK1 FOREIGN KEY (BBS_ID) REFERENCES COMTNBBSMASTER(BBS_ID) +); + + + +CREATE INDEX COMTNBBS_i01 ON COMTNBBS +(BBS_ID ASC); + + + +CREATE TABLE COMTNCOMMENT +( + NTT_ID NUMBER(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + ANSWER_NO NUMBER(20) NOT NULL , + WRTER_ID VARCHAR2(20) NULL , + WRTER_NM VARCHAR2(20) NULL , + ANSWER VARCHAR2(200) NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + PASSWORD VARCHAR2(200) NULL , +CONSTRAINT COMTNCOMMENT_PK PRIMARY KEY (NTT_ID,BBS_ID,ANSWER_NO), +CONSTRAINT COMTNCOMMENT_FK1 FOREIGN KEY (NTT_ID,BBS_ID) REFERENCES COMTNBBS(NTT_ID,BBS_ID) +); + + + +CREATE INDEX COMTNCOMMENT_i01 ON COMTNCOMMENT +(NTT_ID ASC,BBS_ID ASC); + + + +CREATE TABLE COMTNRECOMENDSITEINFO +( + RECOMEND_SITE_ID CHAR(20) NOT NULL , + RECOMEND_SITE_NM VARCHAR2(100) NULL , + RECOMEND_SITE_URL VARCHAR2(255) NULL , + RECOMEND_SITE_DC VARCHAR2(1000) NULL , + RECOMEND_RESN_CN VARCHAR2(1000) NULL , + RECOMEND_CONFM_AT CHAR(1) NULL , + CONFM_DE CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNRECOMENDSITEINFO_PK PRIMARY KEY (RECOMEND_SITE_ID) +); + + + +CREATE TABLE COMTNINTNETSVC +( + INTNET_SVC_ID CHAR(20) NOT NULL , + INTNET_SVC_NM VARCHAR2(20) NOT NULL , + INTNET_SVC_DC VARCHAR2(200) NULL , + REFLCT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNINTNETSVC_PK PRIMARY KEY (INTNET_SVC_ID) +); + + + +CREATE TABLE COMTNCLUB +( + CLB_ID CHAR(20) NOT NULL , + CMMNTY_ID CHAR(20) NOT NULL , + CLB_NM VARCHAR2(255) NOT NULL , + CLB_INTRCN VARCHAR2(2400) NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + TMPLAT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNCLUB_PK PRIMARY KEY (CLB_ID,CMMNTY_ID) +); + + + +CREATE TABLE COMTNCLUBUSER +( + CLB_ID CHAR(20) NOT NULL , + CMMNTY_ID CHAR(20) NOT NULL , + OPRTR_AT CHAR(1) NOT NULL , + SBSCRB_DE DATE NULL , + SECSN_DE CHAR(20) NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + EMPLYR_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNCLUBUSER_PK PRIMARY KEY (CLB_ID,CMMNTY_ID,EMPLYR_ID), +CONSTRAINT COMTNCLUBUSER_FK1 FOREIGN KEY (CLB_ID,CMMNTY_ID) REFERENCES COMTNCLUB(CLB_ID,CMMNTY_ID) +); + + + +CREATE INDEX COMTNCLUBUSER_i01 ON COMTNCLUBUSER +(CLB_ID ASC,CMMNTY_ID ASC); + + + +CREATE TABLE COMTNBACKUPOPERT +( + BACKUP_OPERT_ID VARCHAR2(20) NOT NULL , + BACKUP_OPERT_NM VARCHAR2(60) NULL , + BACKUP_ORGINL_DRCTRY VARCHAR2(255) NULL , + BACKUP_STRE_DRCTRY VARCHAR2(255) NULL , + CMPRS_SE VARCHAR2(2) NULL , + EXECUT_CYCLE VARCHAR2(2) NULL , + EXECUT_SCHDUL_DE CHAR(20) NULL , + EXECUT_SCHDUL_HOUR CHAR(2) NULL , + EXECUT_SCHDUL_MNT CHAR(2) NULL , + EXECUT_SCHDUL_SECND CHAR(2) NULL , + USE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNBACKUPOPERT_PK PRIMARY KEY (BACKUP_OPERT_ID) +); + + + +CREATE TABLE COMTNBACKUPSCHDULDFK +( + BACKUP_OPERT_ID VARCHAR2(20) NOT NULL , + EXECUT_SCHDUL_DFK_SE CHAR(1) NOT NULL , +CONSTRAINT COMTNBACKUPSCHDULDFK_PK PRIMARY KEY (BACKUP_OPERT_ID,EXECUT_SCHDUL_DFK_SE), +CONSTRAINT COMTNBACKUPSCHDULDFK_FK1 FOREIGN KEY (BACKUP_OPERT_ID) REFERENCES COMTNBACKUPOPERT(BACKUP_OPERT_ID) +); + + + +CREATE TABLE COMTNCMMNTY +( + CMMNTY_ID CHAR(20) NOT NULL , + CMMNTY_NM VARCHAR2(255) NOT NULL , + CMMNTY_INTRCN VARCHAR2(2400) NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + TMPLAT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNCMMNTY_PK PRIMARY KEY (CMMNTY_ID) +); + + + +CREATE TABLE COMTNCMMNTYUSER +( + CMMNTY_ID CHAR(20) NOT NULL , + EMPLYR_ID VARCHAR2(20) NOT NULL , + MNGR_AT CHAR(1) NOT NULL , + MBER_STTUS VARCHAR2(15) NULL, + SBSCRB_DE DATE NULL , + SECSN_DE CHAR(20) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNCMMNTYUSER_PK PRIMARY KEY (CMMNTY_ID,EMPLYR_ID), +CONSTRAINT COMTNCMMNTYUSER_FK1 FOREIGN KEY (CMMNTY_ID) REFERENCES COMTNCMMNTY(CMMNTY_ID) +); + + + +CREATE INDEX COMTNCMMNTYUSER_i01 ON COMTNCMMNTYUSER +(CMMNTY_ID ASC); + + + +CREATE TABLE COMTNFILEDETAIL +( + ATCH_FILE_ID CHAR(20) NOT NULL , + FILE_SN NUMBER(10) NOT NULL , + FILE_STRE_COURS VARCHAR2(2000) NOT NULL , + STRE_FILE_NM VARCHAR2(255) NOT NULL , + ORIGNL_FILE_NM VARCHAR2(255) NULL , + FILE_EXTSN VARCHAR2(20) NOT NULL , + FILE_CN CLOB NULL , + FILE_SIZE NUMBER(8) NULL , +CONSTRAINT COMTNFILEDETAIL_PK PRIMARY KEY (ATCH_FILE_ID,FILE_SN), +CONSTRAINT COMTNFILEDETAIL_FK1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) +); + + + +CREATE INDEX COMTNFILEDETAIL_i01 ON COMTNFILEDETAIL +(ATCH_FILE_ID ASC); + + + +CREATE TABLE COMTNLOGINPOLICY +( + EMPLYR_ID VARCHAR2(20) NOT NULL , + IP_INFO VARCHAR2(23) NOT NULL , + DPLCT_PERM_AT CHAR(1) NOT NULL , + LMTT_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNLOGINPOLICY_PK PRIMARY KEY (EMPLYR_ID) +); + + + +CREATE TABLE COMTNQUSTNRTMPLAT +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QUSTNR_TMPLAT_TY VARCHAR2(100) NULL , + QUSTNR_TMPLAT_DC VARCHAR2(2000) NULL , + QUSTNR_TMPLAT_PATH_NM VARCHAR2(100) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + QUSTNR_TMPLAT_IMAGE_INFO BLOB NULL , +CONSTRAINT COMTNQUSTNRTMPLAT_PK PRIMARY KEY (QUSTNR_TMPLAT_ID) +); + + + +CREATE TABLE COMTNQESTNRINFO +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_SJ VARCHAR2(255) NULL , + QUSTNR_PURPS VARCHAR2(1000) NULL , + QUSTNR_WRITNG_GUIDANCE_CN VARCHAR2(2000) NULL , + QUSTNR_TRGET VARCHAR2(1000) NULL , + QUSTNR_BGNDE CHAR(20) NULL , + QUSTNR_ENDDE CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNQESTNRINFO_PK PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID), +CONSTRAINT COMTNQESTNRINFO_FK1 FOREIGN KEY (QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRTMPLAT(QUSTNR_TMPLAT_ID) +); + + + +CREATE INDEX COMTNQESTNRINFO_i01 ON COMTNQESTNRINFO +(QUSTNR_TMPLAT_ID ASC); + + + +CREATE TABLE COMTNQUSTNRRESPONDINFO +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_RESPOND_ID CHAR(20) NOT NULL , + SEXDSTN_CODE CHAR(1) NULL , + OCCP_TY_CODE CHAR(1) NULL , + RESPOND_NM VARCHAR2(50) NULL , + BRTHDY CHAR(20) NULL , + AREA_NO VARCHAR2(4) NULL , + MIDDLE_TELNO VARCHAR2(4) NULL , + END_TELNO VARCHAR2(4) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNQUSTNRRESPONDINFO_PK PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID,QUSTNR_RESPOND_ID), +CONSTRAINT COMTNQUSTNRRESPONDINFO_FK1 FOREIGN KEY (QUSTNR_TMPLAT_ID,QESTNR_ID) REFERENCES COMTNQESTNRINFO(QUSTNR_TMPLAT_ID,QESTNR_ID) +); + + + +CREATE INDEX COMTNQUSTNRRESPONDINFO_i01 ON COMTNQUSTNRRESPONDINFO +(QESTNR_ID ASC,QUSTNR_TMPLAT_ID ASC); + + + +CREATE TABLE COMTCADMINISTCODE +( + ADMINIST_ZONE_SE CHAR(1) NOT NULL , + ADMINIST_ZONE_CODE VARCHAR2(10) NOT NULL , + USE_AT CHAR(1) NOT NULL , + ADMINIST_ZONE_NM VARCHAR2(60) NULL , + UPPER_ADMINIST_ZONE_CODE VARCHAR2(10) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTCADMINISTCODE_PK PRIMARY KEY (ADMINIST_ZONE_SE,ADMINIST_ZONE_CODE) +); + + + +CREATE TABLE COMTNUSERLOG +( + OCCRRNC_DE CHAR(8) NOT NULL , + RQESTER_ID VARCHAR2(20) NOT NULL , + SVC_NM VARCHAR2(255) NOT NULL , + METHOD_NM VARCHAR2(60) NOT NULL , + CREAT_CO NUMBER(10) NULL , + UPDT_CO NUMBER(10) NULL , + RDCNT NUMBER(10) NULL , + DELETE_CO NUMBER(10) NULL , + OUTPT_CO NUMBER(10) NULL , + ERROR_CO NUMBER(10) NULL , +CONSTRAINT COMTNUSERLOG_PK PRIMARY KEY (OCCRRNC_DE,RQESTER_ID,SVC_NM,METHOD_NM) +); + + + +CREATE TABLE COMTSTRSMRCVLOGSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL , + TRSMRCV_SE_CODE CHAR(3) NOT NULL , + PROVD_INSTT_ID CHAR(8) NOT NULL , + PROVD_SYS_ID CHAR(8) NOT NULL , + PROVD_SVC_ID CHAR(8) NOT NULL , + REQUST_INSTT_ID CHAR(8) NOT NULL , + REQUST_SYS_ID CHAR(8) NOT NULL , + RDCNT NUMBER(10) NULL , + ERROR_CO NUMBER(10) NULL , +CONSTRAINT COMTSTRSMRCVLOGSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,TRSMRCV_SE_CODE,PROVD_INSTT_ID,PROVD_SYS_ID,PROVD_SVC_ID,REQUST_INSTT_ID,REQUST_SYS_ID) +); + + + +CREATE TABLE COMTCCMMNCLCODE +( + CL_CODE CHAR(3) NOT NULL , + CL_CODE_NM VARCHAR2(60) NULL , + CL_CODE_DC VARCHAR2(200) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTCCMMNCLCODE_PK PRIMARY KEY (CL_CODE) +); + + + +CREATE TABLE COMTCCMMNCODE +( + CODE_ID VARCHAR2(6) NOT NULL , + CODE_ID_NM VARCHAR2(60) NULL , + CODE_ID_DC VARCHAR2(200) NULL , + USE_AT CHAR(1) NULL , + CL_CODE CHAR(3) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTCCMMNCODE_PK PRIMARY KEY (CODE_ID), +CONSTRAINT COMTCCMMNCODE_FK1 FOREIGN KEY (CL_CODE) REFERENCES COMTCCMMNCLCODE(CL_CODE) ON DELETE SET NULL +); + + + +CREATE INDEX COMTCCMMNCODE_i01 ON COMTCCMMNCODE +(CL_CODE ASC); + + + +CREATE TABLE COMTCCMMNDETAILCODE +( + CODE_ID VARCHAR2(6) NOT NULL , + CODE VARCHAR2(15) NOT NULL , + CODE_NM VARCHAR2(60) NULL , + CODE_DC VARCHAR2(200) NULL , + USE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTCCMMNDETAILCODE_PK PRIMARY KEY (CODE_ID,CODE), +CONSTRAINT COMTCCMMNDETAILCODE_FK1 FOREIGN KEY (CODE_ID) REFERENCES COMTCCMMNCODE(CODE_ID) +); + + + +CREATE INDEX COMTCCMMNDETAILCODE_i01 ON COMTCCMMNDETAILCODE +(CODE_ID ASC); + + + +CREATE TABLE COMTSBBSSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL , + STATS_SE VARCHAR2(10) NOT NULL , + DETAIL_STATS_SE VARCHAR2(10) NOT NULL , + CREAT_CO NUMBER(10) NULL , + TOT_RDCNT NUMBER(10) NULL , + AVRG_RDCNT NUMBER(10) NULL , + TOP_INQIRE_BBSCTT_ID VARCHAR2(20) NULL , + MUMM_INQIRE_BBSCTT_ID VARCHAR2(20) NULL , + TOP_NTCR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTSBBSSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,STATS_SE,DETAIL_STATS_SE) +); + + + +CREATE TABLE COMTCZIP +( + ZIP VARCHAR2(6) NOT NULL , + SN NUMBER(10) NOT NULL , + CTPRVN_NM VARCHAR2(20) NULL , + SIGNGU_NM VARCHAR2(20) NULL , + EMD_NM VARCHAR2(60) NULL , + LI_BULD_NM VARCHAR2(60) NULL , + LNBR_DONG_HO VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTCZIP_PK PRIMARY KEY (ZIP,SN) +); + + + +CREATE TABLE COMTRDNMADRZIP +( + RDMN_CODE VARCHAR2(12) NOT NULL, + SN NUMBER(10) NOT NULL, + CTPRVN_NM VARCHAR2(20) NULL, + SIGNGU_NM VARCHAR2(20) NULL, + RDMN VARCHAR2(60) NULL, + BDNBR_MNNM VARCHAR2(5) NULL, + BDNBR_SLNO VARCHAR2(5) NULL, + BULD_NM VARCHAR2(60) NULL, + DETAIL_BULD_NM VARCHAR2(60) NULL, + ZIP VARCHAR2(6) NOT NULL, + FRST_REGIST_PNTTM DATE NULL, + FRST_REGISTER_ID VARCHAR2(20) NULL, + LAST_UPDT_PNTTM DATE NULL, + LAST_UPDUSR_ID VARCHAR2(20) NULL, +CONSTRAINT COMTRDNMADRZIP_PK PRIMARY KEY (SN) +); + + + +CREATE TABLE COMTNNCRD +( + NCRD_ID CHAR(20) NOT NULL , + NCRD_TRGTER_ID VARCHAR2(20) NULL , + NM VARCHAR2(50) NOT NULL , + TELNO VARCHAR2(20) NULL , + NATION_NO VARCHAR2(10) NULL , + AREA_NO VARCHAR2(4) NULL , + MIDDLE_TELNO VARCHAR2(4) NULL , + END_TELNO VARCHAR2(4) NULL , + MBTLNUM VARCHAR2(20) NULL , + IDNTFC_NO VARCHAR2(10) NULL , + MIDDLE_MBTLNUM VARCHAR2(4) NULL , + END_MBTLNUM VARCHAR2(4) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + CMPNY_NM VARCHAR2(60) NULL , + DEPT_NM VARCHAR2(60) NULL , + ADRES VARCHAR2(100) NULL , + DETAIL_ADRES VARCHAR2(100) NULL , + OFCPS_NM VARCHAR2(60) NULL , + CLSF_NM VARCHAR2(60) NULL , + EXTRL_USER_AT CHAR(1) NULL , + OTHBC_AT CHAR(1) NOT NULL , + RM VARCHAR2(2500) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNNCRD_PK PRIMARY KEY (NCRD_ID) +); + + + +CREATE TABLE COMTNNCRDUSER +( + NCRD_ID CHAR(20) NOT NULL , + REGIST_SE_CODE CHAR(6) NOT NULL , + USE_AT CHAR(1) NOT NULL , + CREAT_DT DATE NOT NULL , + EMPLYR_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNNCRDUSER_PK PRIMARY KEY (NCRD_ID,EMPLYR_ID), +CONSTRAINT COMTNNCRDUSER_FK1 FOREIGN KEY (NCRD_ID) REFERENCES COMTNNCRD(NCRD_ID) +); + + + +CREATE INDEX COMTNNCRDUSER_i03 ON COMTNNCRDUSER +(NCRD_ID ASC); + + + +CREATE TABLE COMTNENTRPRSMBER +( + ENTRPRS_MBER_ID VARCHAR2(20) NOT NULL , + ENTRPRS_SE_CODE CHAR(8) NULL , + BIZRNO VARCHAR2(10) NULL , + JURIRNO VARCHAR2(13) NULL , + CMPNY_NM VARCHAR2(60) NOT NULL , + CXFC VARCHAR2(50) NULL , + ZIP VARCHAR2(6) NOT NULL , + ADRES VARCHAR2(100) NOT NULL , + ENTRPRS_MIDDLE_TELNO VARCHAR2(4) NOT NULL , + FXNUM VARCHAR2(20) NULL , + INDUTY_CODE CHAR(1) NULL , + APPLCNT_NM VARCHAR2(50) NOT NULL , + APPLCNT_IHIDNUM VARCHAR2(200) NULL , + SBSCRB_DE DATE NULL , + ENTRPRS_MBER_STTUS VARCHAR2(15) NULL , + ENTRPRS_MBER_PASSWORD VARCHAR2(200) NULL , + ENTRPRS_MBER_PASSWORD_HINT VARCHAR2(100) NOT NULL , + ENTRPRS_MBER_PASSWORD_CNSR VARCHAR2(100) NOT NULL , + GROUP_ID CHAR(20) NULL , + DETAIL_ADRES VARCHAR2(100) NULL , + ENTRPRS_END_TELNO VARCHAR2(4) NOT NULL , + AREA_NO VARCHAR2(4) NOT NULL , + APPLCNT_EMAIL_ADRES VARCHAR2(50) NOT NULL , + ESNTL_ID CHAR(20) NOT NULL , + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMBER(3) NULL, + LOCK_LAST_PNTTM DATE NULL, + CHG_PWD_LAST_PNTTM DATE NULL, +CONSTRAINT COMTNENTRPRSMBER_PK PRIMARY KEY (ENTRPRS_MBER_ID), +CONSTRAINT COMTNENTRPRSMBER_FK1 FOREIGN KEY (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNENTRPRSMBER_i01 ON COMTNENTRPRSMBER +(GROUP_ID ASC); + + + +CREATE TABLE COMTNGNRLMBER +( + MBER_ID VARCHAR2(20) NOT NULL , + PASSWORD VARCHAR2(200) NOT NULL , + PASSWORD_HINT VARCHAR2(100) NULL , + PASSWORD_CNSR VARCHAR2(100) NULL , + IHIDNUM VARCHAR2(200) NULL , + MBER_NM VARCHAR2(50) NOT NULL , + ZIP VARCHAR2(6) NOT NULL , + ADRES VARCHAR2(100) NOT NULL , + AREA_NO VARCHAR2(4) NOT NULL , + MBER_STTUS VARCHAR2(15) NULL , + DETAIL_ADRES VARCHAR2(100) NULL , + END_TELNO VARCHAR2(4) NOT NULL , + MBTLNUM VARCHAR2(20) NOT NULL , + GROUP_ID CHAR(20) NULL , + MBER_FXNUM VARCHAR2(20) NULL , + MBER_EMAIL_ADRES VARCHAR2(50) NULL , + MIDDLE_TELNO VARCHAR2(4) NOT NULL , + SBSCRB_DE DATE NULL , + SEXDSTN_CODE CHAR(1) NULL , + ESNTL_ID CHAR(20) NOT NULL , + LOCK_AT CHAR(1) NULL, + LOCK_CNT NUMBER(3) NULL, + LOCK_LAST_PNTTM DATE NULL, + CHG_PWD_LAST_PNTTM DATE NULL, +CONSTRAINT COMTNGNRLMBER_PK PRIMARY KEY (MBER_ID), +CONSTRAINT COMTNGNRLMBER_FK1 FOREIGN KEY (GROUP_ID) REFERENCES COMTNAUTHORGROUPINFO(GROUP_ID) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNGNRLMBER_i01 ON COMTNGNRLMBER +(GROUP_ID ASC); + + + +CREATE TABLE COMTNAUTHORINFO +( + AUTHOR_CODE VARCHAR2(30) NOT NULL , + AUTHOR_NM VARCHAR2(60) NOT NULL , + AUTHOR_DC VARCHAR2(200) NULL , + AUTHOR_CREAT_DE CHAR(20) NOT NULL , +CONSTRAINT COMTNAUTHORINFO_PK PRIMARY KEY (AUTHOR_CODE) +); + + + +CREATE TABLE COMTNEMPLYRSCRTYESTBS +( + SCRTY_DTRMN_TRGET_ID VARCHAR2(20) NOT NULL , + MBER_TY_CODE CHAR(5) NULL , + AUTHOR_CODE VARCHAR2(30) NOT NULL +); + + + + + + +CREATE INDEX COMTNEMPLYRSCRTYESTBS_i04 ON COMTNEMPLYRSCRTYESTBS +(AUTHOR_CODE ASC); + + + +CREATE TABLE COMTNQAINFO +( + QA_ID CHAR(20) NOT NULL , + QESTN_SJ VARCHAR2(255) NULL , + QESTN_CN VARCHAR2(2500) NULL , + WRITNG_DE CHAR(20) NULL , + RDCNT NUMBER(10) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + QNA_PROCESS_STTUS_CODE CHAR(1) NULL , + WRTER_NM VARCHAR2(20) NULL , + ANSWER_CN VARCHAR2(2500) NULL , + WRITNG_PASSWORD VARCHAR2(20) NULL , + ANSWER_DE CHAR(20) NULL , + EMAIL_ANSWER_AT CHAR(1) NULL , + AREA_NO VARCHAR2(4) NULL , + MIDDLE_TELNO VARCHAR2(4) NULL , + END_TELNO VARCHAR2(4) NULL , +CONSTRAINT COMTNQAINFO_PK PRIMARY KEY (QA_ID) +); + + + +CREATE TABLE COMTSWEBLOGSUMMARY +( + OCCRRNC_DE CHAR(8) NOT NULL , + URL VARCHAR2(200) NOT NULL , + RDCNT NUMBER(10) NULL , +CONSTRAINT COMTSWEBLOGSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,URL) +); + + + +CREATE TABLE COMTNROLES_HIERARCHY +( + PARNTS_ROLE VARCHAR2(30) NOT NULL , + CHLDRN_ROLE VARCHAR2(30) NOT NULL , +CONSTRAINT COMTNROLES_HIERARCHY_PK PRIMARY KEY (PARNTS_ROLE,CHLDRN_ROLE), +CONSTRAINT COMTNROLES_HIERARCHY_FK1 FOREIGN KEY (PARNTS_ROLE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) ON DELETE CASCADE, +CONSTRAINT COMTNROLES_HIERARCHY_FK2 FOREIGN KEY (CHLDRN_ROLE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) ON DELETE CASCADE +); + + + +CREATE UNIQUE INDEX COMTNROLES_HIERARCHY_i01 ON COMTNROLES_HIERARCHY +(PARNTS_ROLE ASC); + + + +CREATE INDEX COMTNROLES_HIERARCHY_i02 ON COMTNROLES_HIERARCHY +(CHLDRN_ROLE ASC); + + + +CREATE TABLE COMTNROLEINFO +( + ROLE_CODE VARCHAR2(50) NOT NULL , + ROLE_NM VARCHAR2(60) NOT NULL , + ROLE_PTTRN VARCHAR2(300) NULL , + ROLE_DC VARCHAR2(200) NULL , + ROLE_TY VARCHAR2(80) NULL , + ROLE_SORT VARCHAR2(10) NULL , + ROLE_CREAT_DE CHAR(20) NOT NULL , +CONSTRAINT COMTNROLEINFO_PK PRIMARY KEY (ROLE_CODE) +); + + + +CREATE TABLE COMTNAUTHORROLERELATE +( + AUTHOR_CODE VARCHAR2(30) NOT NULL , + ROLE_CODE VARCHAR2(50) NOT NULL , + CREAT_DT DATE NULL , +CONSTRAINT COMTNAUTHORROLERELATE_PK PRIMARY KEY (AUTHOR_CODE,ROLE_CODE), +CONSTRAINT COMTNAUTHORROLERELATE_FK1 FOREIGN KEY (AUTHOR_CODE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) ON DELETE CASCADE, +CONSTRAINT COMTNAUTHORROLERELATE_FK2 FOREIGN KEY (ROLE_CODE) REFERENCES COMTNROLEINFO(ROLE_CODE) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNAUTHORROLERELATE_i01 ON COMTNAUTHORROLERELATE +(AUTHOR_CODE ASC); + + + +CREATE INDEX COMTNAUTHORROLERELATE_i02 ON COMTNAUTHORROLERELATE +(ROLE_CODE ASC); + + + +CREATE TABLE COMTNLOGINLOG +( + LOG_ID CHAR(20) NOT NULL , + CONECT_ID VARCHAR2(20) NULL , + CONECT_IP VARCHAR2(23) NULL , + CONECT_MTHD CHAR(4) NULL , + ERROR_OCCRRNC_AT CHAR(1) NULL , + ERROR_CODE CHAR(3) NULL , + CREAT_DT DATE NULL , +CONSTRAINT COMTNLOGINLOG_PK PRIMARY KEY (LOG_ID) +); + + + +CREATE TABLE COMTNWEBLOG +( + REQUST_ID VARCHAR2(20) NOT NULL , + OCCRRNC_DE DATE NULL , + URL VARCHAR2(200) NULL , + RQESTER_ID VARCHAR2(20) NULL , + RQESTER_IP VARCHAR2(23) NULL , +CONSTRAINT COMTNWEBLOG_PK PRIMARY KEY (REQUST_ID) +); + + + +CREATE TABLE COMTNEVENTINFO +( + EVENT_ID CHAR(20) NOT NULL , + BSNS_YEAR CHAR(4) NULL , + BSNS_CODE VARCHAR2(2) NULL , + EVENT_CN VARCHAR2(1000) NULL , + EVENT_SVC_BGNDE CHAR(20) NULL , + SVC_USE_NMPR_CO NUMBER(10) NULL , + CHARGER_NM VARCHAR2(50) NULL , + PRPARETG_CN VARCHAR2(2500) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + EVENT_SVC_ENDDE CHAR(20) NULL , + EVENT_TY_CODE CHAR(1) NULL , + EVENT_CONFM_AT CHAR(1) NULL , + EVENT_CONFM_DE CHAR(20) NULL , +CONSTRAINT COMTNEVENTINFO_PK PRIMARY KEY (EVENT_ID) +); + + + +CREATE TABLE COMTNEXTRLHRINFO +( + EVENT_ID CHAR(20) NOT NULL , + EXTRL_HR_ID CHAR(20) NOT NULL , + SEXDSTN_CODE CHAR(1) NULL , + EXTRL_HR_NM VARCHAR2(60) NULL , + OCCP_TY_CODE CHAR(1) NULL , + PSITN_INSTT_NM VARCHAR2(100) NULL , + BRTHDY CHAR(20) NULL , + AREA_NO VARCHAR2(4) NULL , + MIDDLE_TELNO VARCHAR2(4) NULL , + END_TELNO VARCHAR2(4) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNEXTRLHRINFO_PK PRIMARY KEY (EVENT_ID,EXTRL_HR_ID), +CONSTRAINT COMTNEXTRLHRINFO_FK1 FOREIGN KEY (EVENT_ID) REFERENCES COMTNEVENTINFO(EVENT_ID) +); + + + +CREATE INDEX COMTNEXTRLHRINFO_i01 ON COMTNEXTRLHRINFO +(EVENT_ID ASC); + + + +CREATE TABLE COMTNBBSUSE +( + BBS_ID CHAR(20) NOT NULL , + TRGET_ID CHAR(20) NOT NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNBBSUSE_PK PRIMARY KEY (BBS_ID,TRGET_ID), +CONSTRAINT COMTNBBSUSE_FK1 FOREIGN KEY (BBS_ID) REFERENCES COMTNBBSMASTER(BBS_ID) +); + + + +CREATE INDEX COMTNBBSUSE_i01 ON COMTNBBSUSE +(BBS_ID ASC); + + + +CREATE TABLE COMTNSTPLATINFO +( + USE_STPLAT_ID CHAR(20) NOT NULL , + USE_STPLAT_NM VARCHAR2(100) NULL , + USE_STPLAT_CN CLOB NULL , + INFO_PROVD_AGRE_CN CLOB NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNSTPLATINFO_PK PRIMARY KEY (USE_STPLAT_ID) +); + + + +CREATE TABLE COMTNQUSTNRQESITM +( + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_QESITM_ID CHAR(20) NOT NULL , + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTN_SN NUMBER(10) NULL , + QESTN_TY_CODE CHAR(1) NULL , + QESTN_CN VARCHAR2(2500) NULL , + MXMM_CHOISE_CO NUMBER(5) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNQUSTNRQESITM_PK PRIMARY KEY (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID), +CONSTRAINT COMTNQUSTNRQESITM_FK1 FOREIGN KEY (QUSTNR_TMPLAT_ID,QESTNR_ID) REFERENCES COMTNQESTNRINFO(QUSTNR_TMPLAT_ID,QESTNR_ID) +); + + + +CREATE INDEX COMTNQUSTNRQESITM_i02 ON COMTNQUSTNRQESITM +(QESTNR_ID ASC,QUSTNR_TMPLAT_ID ASC); + + + +CREATE TABLE COMTNQUSTNRRSPNSRESULT +( + QUSTNR_RSPNS_RESULT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_QESITM_ID CHAR(20) NOT NULL , + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + RESPOND_ANSWER_CN VARCHAR2(1000) NULL , + ETC_ANSWER_CN VARCHAR2(1000) NULL , + RESPOND_NM VARCHAR2(50) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + QUSTNR_IEM_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNQUSTNRRSPNSRESULT_PK PRIMARY KEY (QUSTNR_RSPNS_RESULT_ID,QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID), +CONSTRAINT COMTNQUSTNRRSPNSRESULT_FK1 FOREIGN KEY (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRQESITM(QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) +); + + + +CREATE INDEX COMTNQUSTNRRSPNSRESULT_i01 ON COMTNQUSTNRRSPNSRESULT +(QESTNR_ID ASC,QUSTNR_QESITM_ID ASC,QUSTNR_TMPLAT_ID ASC); + + + +CREATE TABLE COMTNADBKMANAGE +( + ADBK_ID CHAR(20) NOT NULL , + ADBK_NM VARCHAR2(50) NOT NULL , + OTHBC_SCOPE VARCHAR2(20) NOT NULL , + USE_AT CHAR(1) NOT NULL , + WRTER_ID VARCHAR2(20) NULL , + TRGET_ORGNZT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNADBKMANAGE_PK PRIMARY KEY (ADBK_ID) +); + + + +CREATE TABLE COMTNADBK +( + EMPLYR_ID VARCHAR2(20) NULL , + NCRD_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + ADBK_CONSTNT_ID CHAR(20) NOT NULL , + NM VARCHAR2(50) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + MBTLNUM VARCHAR2(20) NULL , + FXNUM VARCHAR2(20) NULL , + OFFM_TELNO VARCHAR2(20) NULL , + HOUSE_TELNO VARCHAR2(20) NULL , + ADBK_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNADBK_PK PRIMARY KEY (ADBK_CONSTNT_ID,ADBK_ID), +CONSTRAINT COMTNADBK_FK1 FOREIGN KEY (ADBK_ID) REFERENCES COMTNADBKMANAGE(ADBK_ID) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNADBK_i01 ON COMTNADBK +(ADBK_ID ASC); + + + +CREATE TABLE COMTNQUSTNRIEM +( + QUSTNR_TMPLAT_ID CHAR(20) NOT NULL , + QESTNR_ID CHAR(20) NOT NULL , + QUSTNR_QESITM_ID CHAR(20) NOT NULL , + QUSTNR_IEM_ID VARCHAR2(20) NOT NULL , + IEM_SN NUMBER(5) NULL , + IEM_CN VARCHAR2(1000) NULL , + ETC_ANSWER_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNQUSTNRIEM_PK PRIMARY KEY (QUSTNR_TMPLAT_ID,QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_IEM_ID), +CONSTRAINT COMTNQUSTNRIEM_FK1 FOREIGN KEY (QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) REFERENCES COMTNQUSTNRQESITM(QESTNR_ID,QUSTNR_QESITM_ID,QUSTNR_TMPLAT_ID) +); + + + +CREATE INDEX COMTNQUSTNRIEM_i01 ON COMTNQUSTNRIEM +(QUSTNR_QESITM_ID ASC,QESTNR_ID ASC,QUSTNR_TMPLAT_ID ASC); + + + +CREATE TABLE COMTNADMINISTRATIONWORD +( + ADMINIST_WORD_ID CHAR(20) NOT NULL , + ADMINIST_WORD_NM VARCHAR2(255) NULL , + ADMINIST_WORD_ENG_NM VARCHAR2(255) NULL , + ADMINIST_WORD_ABRV_NM VARCHAR2(255) NULL , + THEMA_RELM VARCHAR2(255) NULL , + WORD_SE VARCHAR2(255) NULL , + RELATE_STD_WORD VARCHAR2(255) NULL , + ADMINIST_WORD_DFN VARCHAR2(2500) NULL , + ADMINIST_WORD_DC VARCHAR2(4000) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNADMINISTRATIONWORD_PK PRIMARY KEY (ADMINIST_WORD_ID) +); + + + +CREATE TABLE COMTNONLINEMANUAL +( + ONLINE_MNL_ID CHAR(20) NOT NULL , + ONLINE_MNL_SE_CODE CHAR(3) NULL , + ONLINE_MNL_DFN CLOB NULL , + ONLINE_MNL_DC CLOB NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + ONLINE_MNL_NM VARCHAR2(255) NULL , +CONSTRAINT COMTNONLINEMANUAL_PK PRIMARY KEY (ONLINE_MNL_ID) +); + + + +CREATE TABLE COMTSUSERSUMMARY +( + OCCRRNC_DE CHAR(20) NOT NULL , + STATS_SE VARCHAR2(10) NOT NULL , + DETAIL_STATS_SE VARCHAR2(10) NOT NULL , + USER_CO NUMBER(10) NULL , +CONSTRAINT COMTSUSERSUMMARY_PK PRIMARY KEY (OCCRRNC_DE,STATS_SE,DETAIL_STATS_SE) +); + + + +CREATE TABLE COMTNFAQINFO +( + FAQ_ID CHAR(20) NOT NULL , + QESTN_SJ VARCHAR2(255) NULL , + QESTN_CN VARCHAR2(2500) NULL , + ANSWER_CN VARCHAR2(2500) NULL , + RDCNT NUMBER(10) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , + QNA_PROCESS_STTUS_CODE CHAR(1) NULL , +CONSTRAINT COMTNFAQINFO_PK PRIMARY KEY (FAQ_ID), +CONSTRAINT COMTNFAQINFO_FK1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) ON DELETE SET NULL +); + + + +CREATE INDEX COMTNFAQINFO_i01 ON COMTNFAQINFO +(ATCH_FILE_ID ASC); + + + +CREATE TABLE COMTNMTGINFO +( + MTG_ID CHAR(20) NOT NULL , + MTG_NM VARCHAR2(255) NULL , + MTG_MTR_CN VARCHAR2(1000) NULL , + MTG_SN NUMBER(10) NULL , + MTG_CO NUMBER(5) NULL , + MTG_DE CHAR(20) NULL , + MTG_PLACE VARCHAR2(255) NULL , + MTG_BEGIN_TM VARCHAR2(14) NULL , + MTG_END_TM VARCHAR2(14) NULL , + CLSDR_MTG_AT CHAR(1) NULL , + READNG_BGNDE CHAR(20) NULL , + READNG_AT CHAR(1) NULL , + MTG_RESULT_CN VARCHAR2(1000) NULL , + MTG_RESULT_ENNC CHAR(1) NULL , + ETC_MATTER VARCHAR2(1000) NULL , + MNGT_DEPT_ID VARCHAR2(20) NULL , + MNAER_ID VARCHAR2(20) NULL , + MNAER_DEPT_ID VARCHAR2(20) NULL , + MTG_AT CHAR(1) NULL , + NONATDRN_CO NUMBER(10) NULL , + ATDRN_CO NUMBER(10) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNMTGINFO_PK PRIMARY KEY (MTG_ID) +); + + + +CREATE TABLE COMTNREPRTSTATS +( + REPRT_ID CHAR(6) NOT NULL , + REPRT_NM VARCHAR2(20) NOT NULL , + REPRT_STTUS CHAR(2) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + REPRT_TY CHAR(2) NULL , +CONSTRAINT COMTNREPRTSTATS_PK PRIMARY KEY (REPRT_ID) +); + + + +CREATE TABLE COMTNSMS +( + SMS_ID CHAR(20) NOT NULL , + TRNSMIS_TELNO VARCHAR2(12) NOT NULL , + TRNSMIS_CN VARCHAR2(80) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNSMS_PK PRIMARY KEY (SMS_ID) +); + + + +CREATE TABLE COMTNSMSRECPTN +( + SMS_ID CHAR(20) NOT NULL , + RECPTN_TELNO VARCHAR2(12) NOT NULL , + RESULT_CODE VARCHAR2(4) NULL , + RESULT_MSSAGE VARCHAR2(4000) NULL , +CONSTRAINT COMTNSMSRECPTN_PK PRIMARY KEY (SMS_ID,RECPTN_TELNO), +CONSTRAINT COMTNSMSRECPTN_FK1 FOREIGN KEY (SMS_ID) REFERENCES COMTNSMS(SMS_ID) +); + + + +CREATE INDEX COMTNSMSRECPTN_i01 ON COMTNSMSRECPTN +(SMS_ID ASC); + + + +CREATE TABLE COMTNCPYRHTINFO +( + CPYRHT_ID CHAR(20) NOT NULL , + CPYRHT_PRTC_POLICY_CN VARCHAR2(2500) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNCPYRHTINFO_PK PRIMARY KEY (CPYRHT_ID) +); + + + +CREATE TABLE COMTNSCHDULINFO +( + SCHDUL_ID CHAR(20) NOT NULL , + SCHDUL_SE CHAR(1) NULL , + SCHDUL_DEPT_ID VARCHAR2(20) NULL , + SCHDUL_KND_CODE CHAR(1) NULL , + SCHDUL_BGNDE CHAR(20) NULL , + SCHDUL_ENDDE CHAR(20) NULL , + SCHDUL_NM VARCHAR2(255) NULL , + SCHDUL_CN VARCHAR2(2500) NULL , + SCHDUL_PLACE VARCHAR2(255) NULL , + SCHDUL_IPCR_CODE CHAR(1) NULL , + SCHDUL_CHARGER_ID VARCHAR2(20) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + REPTIT_SE_CODE CHAR(1) NULL , +CONSTRAINT COMTNSCHDULINFO_PK PRIMARY KEY (SCHDUL_ID) +); + + + +CREATE TABLE COMTNDIARYINFO +( + SCHDUL_ID CHAR(20) NOT NULL , + DIARY_ID CHAR(20) NOT NULL , + DIARY_PROGRSRT NUMBER(3) NULL , + DIARY_NM VARCHAR2(255) NULL , + DRCT_MATTER VARCHAR2(2500) NULL , + PARTCLR_MATTER VARCHAR2(2500) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNDIARYINFO_PK PRIMARY KEY (SCHDUL_ID,DIARY_ID), +CONSTRAINT COMTNDIARYINFO_FK1 FOREIGN KEY (SCHDUL_ID) REFERENCES COMTNSCHDULINFO(SCHDUL_ID) +); + + + +CREATE INDEX COMTNDIARYINFO_i01 ON COMTNDIARYINFO +(SCHDUL_ID ASC); + + + +CREATE TABLE COMTNONLINEPOLLMANAGE +( + POLL_ID CHAR(20) NOT NULL , + POLL_NM VARCHAR2(255) NULL , + POLL_BGNDE CHAR(10) NULL , + POLL_ENDDE CHAR(10) NULL , + POLL_KND CHAR(3) NULL , + POLL_DSUSE_ENNC CHAR(1) NULL , + POLL_ATMC_DSUSE_ENNC CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNONLINEPOLLMANAGE_PK PRIMARY KEY (POLL_ID) +); + + + +CREATE TABLE COMTNONLINEPOLLIEM +( + POLL_IEM_NM VARCHAR2(255) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + POLL_IEM_ID CHAR(20) NOT NULL , + POLL_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNONLINEPOLLIEM_PK PRIMARY KEY (POLL_ID,POLL_IEM_ID), +CONSTRAINT COMTNONLINEPOLLIEM_FK1 FOREIGN KEY (POLL_ID) REFERENCES COMTNONLINEPOLLMANAGE(POLL_ID) +); + + + +CREATE INDEX COMTNONLINEPOLLIEM_i01 ON COMTNONLINEPOLLIEM +(POLL_ID ASC); + + + +CREATE TABLE COMTNONLINEPOLLRESULT +( + POLL_RESULT_ID CHAR(20) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + POLL_IEM_ID CHAR(20) NOT NULL , + POLL_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNONLINEPOLLRESULT_PK PRIMARY KEY (POLL_RESULT_ID,POLL_IEM_ID,POLL_ID), +CONSTRAINT COMTNONLINEPOLLRESULT_FK1 FOREIGN KEY (POLL_ID,POLL_IEM_ID) REFERENCES COMTNONLINEPOLLIEM(POLL_ID,POLL_IEM_ID) +); + + + +CREATE INDEX COMTNONLINEPOLLRESULT_i01 ON COMTNONLINEPOLLRESULT +(POLL_IEM_ID ASC,POLL_ID ASC); + + + +CREATE TABLE COMTNWORDDICARYINFO +( + WORD_ID CHAR(20) NOT NULL , + WORD_NM VARCHAR2(255) NULL , + ENG_NM VARCHAR2(60) NULL , + WORD_DC VARCHAR2(4000) NULL , + SYNONM VARCHAR2(100) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNWORDDICARYINFO_PK PRIMARY KEY (WORD_ID) +); + + + +CREATE TABLE COMTNCNTCSERVICE +( + INSTT_ID VARCHAR2(20) NOT NULL , + SYS_ID VARCHAR2(20) NOT NULL , + SVC_ID VARCHAR2(20) NOT NULL , + SVC_NM VARCHAR2(255) NULL , + REQUST_MSSAGE_ID VARCHAR2(20) NULL , + RSPNS_MSSAGE_ID VARCHAR2(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCSERVICE_PK PRIMARY KEY (INSTT_ID,SYS_ID,SVC_ID) +); + + + +CREATE TABLE COMTNHPCMINFO +( + HPCM_ID CHAR(20) NOT NULL , + HPCM_SE_CODE CHAR(1) NULL , + HPCM_DFN VARCHAR2(1000) NULL , + HPCM_DC VARCHAR2(2500) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNHPCMINFO_PK PRIMARY KEY (HPCM_ID) +); + + + +CREATE TABLE COMTNNEWSINFO +( + NEWS_ID CHAR(20) NOT NULL , + NEWS_SJ VARCHAR2(100) NULL , + NEWS_CN VARCHAR2(2500) NULL , + NEWS_ORIGIN VARCHAR2(250) NULL , + NTCE_AT CHAR(1) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NOT NULL , + NTCE_DE CHAR(20) NULL , + ATCH_FILE_ID CHAR(20) NULL , +CONSTRAINT COMTNNEWSINFO_PK PRIMARY KEY (NEWS_ID), +CONSTRAINT COMTNNEWSINFO_FK1 FOREIGN KEY (ATCH_FILE_ID) REFERENCES COMTNFILE(ATCH_FILE_ID) ON DELETE CASCADE +); + + + +CREATE INDEX COMTNNEWSINFO_i01 ON COMTNNEWSINFO +(ATCH_FILE_ID ASC); + + + +CREATE TABLE COMTNCNSLTLIST +( + CNSLT_ID CHAR(20) NOT NULL , + CNSLT_SJ VARCHAR2(255) NULL , + OTHBC_AT CHAR(1) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + CNSLT_CN VARCHAR2(2500) NULL , + MANAGT_CN VARCHAR2(2500) NULL , + MANAGT_DE CHAR(20) NULL , + RDCNT NUMBER(10) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + AREA_NO VARCHAR2(4) NULL , + MIDDLE_TELNO VARCHAR2(4) NULL , + END_TELNO VARCHAR2(4) NULL , + FRST_MBTLNUM VARCHAR2(4) NULL , + MIDDLE_MBTLNUM VARCHAR2(4) NULL , + END_MBTLNUM VARCHAR2(4) NULL , + WRITNG_DE CHAR(20) NULL , + WRTER_NM VARCHAR2(20) NULL , + EMAIL_ANSWER_AT CHAR(1) NULL , + QNA_PROCESS_STTUS_CODE CHAR(1) NULL , + WRITNG_PASSWORD VARCHAR2(20) NULL , +CONSTRAINT COMTNCNSLTLIST_PK PRIMARY KEY (CNSLT_ID) +); + + + +CREATE TABLE COMTNMENUINFO +( + MENU_NM VARCHAR2(60) NOT NULL , + PROGRM_FILE_NM VARCHAR2(60) NOT NULL , + MENU_NO NUMBER(20) NOT NULL , + UPPER_MENU_NO NUMBER(20) NULL , + MENU_ORDR NUMBER(5) NOT NULL , + MENU_DC VARCHAR2(250) NULL , + RELATE_IMAGE_PATH VARCHAR2(100) NULL , + RELATE_IMAGE_NM VARCHAR2(60) NULL , +CONSTRAINT COMTNMENUINFO_PK PRIMARY KEY (MENU_NO), +CONSTRAINT COMTNMENUINFO_FK2 FOREIGN KEY (PROGRM_FILE_NM) REFERENCES COMTNPROGRMLIST(PROGRM_FILE_NM) ON DELETE CASCADE, +CONSTRAINT COMTNMENUINFO_FK1 FOREIGN KEY (UPPER_MENU_NO) REFERENCES COMTNMENUINFO(MENU_NO) ON DELETE CASCADE +); + + + + + + +CREATE INDEX COMTNMENUINFO_i02 ON COMTNMENUINFO +(UPPER_MENU_NO ASC); + + + +CREATE TABLE COMTNSITEMAP +( + MAPNG_CREAT_ID VARCHAR2(30) NOT NULL , + CREATR_ID VARCHAR2(20) NOT NULL , + MAPNG_FILE_NM VARCHAR2(60) NOT NULL , + MAPNG_FILE_PATH VARCHAR2(100) NOT NULL , +CONSTRAINT COMTNSITEMAP_PK PRIMARY KEY (MAPNG_CREAT_ID) +); + + + +CREATE TABLE COMTNMENUCREATDTLS +( + MENU_NO NUMBER(20) NOT NULL , + AUTHOR_CODE VARCHAR2(30) NOT NULL , + MAPNG_CREAT_ID VARCHAR2(30) NULL , +CONSTRAINT COMTNMENUCREATDTLS_PK PRIMARY KEY (MENU_NO,AUTHOR_CODE), +CONSTRAINT COMTNMENUCREATDTLS_FK2 FOREIGN KEY (MENU_NO) REFERENCES COMTNMENUINFO(MENU_NO) ON DELETE CASCADE, +CONSTRAINT COMTNMENUCREATDTLS_FK3 FOREIGN KEY (MAPNG_CREAT_ID) REFERENCES COMTNSITEMAP(MAPNG_CREAT_ID) ON DELETE CASCADE, +CONSTRAINT COMTNMENUCREATDTLS_FK1 FOREIGN KEY (AUTHOR_CODE) REFERENCES COMTNAUTHORINFO(AUTHOR_CODE) +); + + + +CREATE INDEX COMTNMENUCREATDTLS_i02 ON COMTNMENUCREATDTLS +(MENU_NO ASC); + + + +CREATE INDEX COMTNMENUCREATDTLS_i03 ON COMTNMENUCREATDTLS +(MAPNG_CREAT_ID ASC); + + + +CREATE INDEX COMTNMENUCREATDTLS_i04 ON COMTNMENUCREATDTLS +(AUTHOR_CODE ASC); + + + +CREATE TABLE COMTHEMPLYRINFOCHANGEDTLS +( + EMPLYR_ID VARCHAR2(20) NOT NULL , + CHANGE_DE CHAR(20) NULL , + ORGNZT_ID CHAR(20) NULL , + GROUP_ID CHAR(20) NULL , + EMPL_NO VARCHAR2(20) NULL , + SEXDSTN_CODE CHAR(1) NULL , + BRTHDY CHAR(20) NULL , + FXNUM VARCHAR2(20) NULL , + HOUSE_ADRES VARCHAR2(100) NULL , + HOUSE_END_TELNO VARCHAR2(4) NULL , + AREA_NO VARCHAR2(4) NULL , + DETAIL_ADRES VARCHAR2(100) NULL , + ZIP VARCHAR2(6) NULL , + OFFM_TELNO VARCHAR2(20) NULL , + MBTLNUM VARCHAR2(20) NULL , + EMAIL_ADRES VARCHAR2(50) NULL , + HOUSE_MIDDLE_TELNO VARCHAR2(4) NULL , + PSTINST_CODE CHAR(8) NULL , + EMPLYR_STTUS_CODE CHAR(1) NULL , + ESNTL_ID CHAR(20) NULL , +CONSTRAINT COMTHEMPLYRINFOCHANGEDTLS_PK PRIMARY KEY (EMPLYR_ID,CHANGE_DE), +CONSTRAINT COMTHEMPLYRINFOCHANGEDTLS_FK1 FOREIGN KEY (EMPLYR_ID) REFERENCES COMTNEMPLYRINFO(EMPLYR_ID) +); + + + +CREATE INDEX COMTHEMPLYRINFOCHANGEDTLS_i01 ON COMTHEMPLYRINFOCHANGEDTLS +(EMPLYR_ID ASC); + + + +CREATE TABLE COMTNNTFCINFO +( + NTCN_NO NUMBER(20) NOT NULL , + NTCN_SJ VARCHAR2(60) NOT NULL , + NTCN_CN VARCHAR2(100) NOT NULL , + NTCN_TM VARCHAR2(14) NOT NULL , + BH_NTCN_INTRVL VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNNTFCINFO_PK PRIMARY KEY (NTCN_NO) +); + + + +CREATE TABLE COMTNCNTCSYSTEM +( + INSTT_ID VARCHAR2(20) NOT NULL , + SYS_ID VARCHAR2(20) NOT NULL , + SYS_NM VARCHAR2(255) NULL , + SYS_IP VARCHAR2(23) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCSYSTEM_PK PRIMARY KEY (INSTT_ID,SYS_ID) +); + + + +CREATE TABLE COMTNBBSMASTEROPTN +( + BBS_ID CHAR(20) NOT NULL , + ANSWER_AT CHAR(1) NOT NULL , + STSFDG_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNBBSMASTEROPTN_PK PRIMARY KEY (BBS_ID) +); + + + +CREATE TABLE COMTNANSWER +( + NTT_ID NUMBER(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + WRTER_ID VARCHAR2(20) NULL , + ANSWER VARCHAR2(200) NULL , + USE_AT CHAR(1) NOT NULL , + WRTER_NM VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + ANSWER_NO NUMBER(20) NOT NULL , +CONSTRAINT COMTNANSWER_PK PRIMARY KEY (NTT_ID,BBS_ID,ANSWER_NO), +CONSTRAINT COMTNANSWER_FK1 FOREIGN KEY (BBS_ID) REFERENCES COMTNBBSMASTEROPTN(BBS_ID) +); + + + +CREATE TABLE COMTNTRSMRCVLOG +( + REQUST_ID VARCHAR2(20) NOT NULL , + OCCRRNC_DE CHAR(20) NULL , + TRSMRCV_SE_CODE CHAR(3) NULL , + CNTC_ID CHAR(8) NULL , + PROVD_INSTT_ID CHAR(8) NULL , + PROVD_SYS_ID CHAR(8) NULL , + PROVD_SVC_ID CHAR(8) NULL , + REQUST_INSTT_ID CHAR(8) NULL , + REQUST_SYS_ID CHAR(8) NULL , + REQUST_TRNSMIT_TM VARCHAR2(14) NULL , + REQUST_RECPTN_TM VARCHAR2(14) NULL , + RSPNS_TRNSMIT_TM VARCHAR2(14) NULL , + RSPNS_RECPTN_TM VARCHAR2(14) NULL , + RESULT_CODE VARCHAR2(4) NULL , + RESULT_MSSAGE VARCHAR2(4000) NULL , + FRST_REGIST_PNTTM DATE NULL , + RQESTER_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNTRSMRCVLOG_PK PRIMARY KEY (REQUST_ID) +); + + + +CREATE TABLE COMTNDAMCALRES +( + ORGNZT_ID CHAR(20) NULL , + EXPERT_ID CHAR(20) NULL , + KNWLDG_TY_CODE VARCHAR2(3) NULL , + EMPLYR_ID VARCHAR2(20) NULL , + KNWLDG_NM VARCHAR2(60) NULL , + KNWLDG_CN VARCHAR2(2500) NULL , + ATCH_FILE_ID CHAR(20) NULL , + PARNTS_KNWLDG_ID CHAR(20) NULL , + ANSWER_DP NUMBER(20) NULL , + ANSWER_ORDR NUMBER(20) NULL , + ANSWER_GROUP_NO NUMBER(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + KNWLDG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNDAMCALRES_PK PRIMARY KEY (KNWLDG_ID) +); + + + +CREATE TABLE COMTNBACKUPRESULT +( + BACKUP_RESULT_ID VARCHAR2(20) NOT NULL , + BACKUP_OPERT_ID VARCHAR2(20) NOT NULL , + BACKUP_FILE VARCHAR2(255) NULL , + STTUS VARCHAR2(2) NULL , + ERROR_INFO VARCHAR2(2000) NULL , + EXECUT_BEGIN_TM VARCHAR2(14) NULL , + EXECUT_END_TM VARCHAR2(14) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNBACKUPRESULT_PK PRIMARY KEY (BACKUP_RESULT_ID) +); + + + +CREATE TABLE COMTHTRSMRCVMNTRNGLOGINFO +( + LOG_ID CHAR(20) NOT NULL , + CNTC_ID CHAR(8) NOT NULL , + TEST_CLASS_NM VARCHAR2(255) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR2(2000) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTHTRSMRCVMNTRNGLOGINFO_PK PRIMARY KEY (LOG_ID) +); + + + +CREATE TABLE COMTNSCRAP +( + SCRAP_ID CHAR(20) NOT NULL , + NTT_ID NUMBER(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + SCRAP_NM VARCHAR2(100) NOT NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNSCRAP_PK PRIMARY KEY (SCRAP_ID) +); + + + +CREATE TABLE COMTNCNTCINSTT +( + INSTT_ID VARCHAR2(20) NOT NULL , + INSTT_NM VARCHAR2(100) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDT_PNTTM DATE NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCINSTT_PK PRIMARY KEY (INSTT_ID) +); + + + +CREATE TABLE COMTHSYSHIST +( + HIST_ID CHAR(20) NOT NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + HIST_SE_CODE CHAR(6) NOT NULL , + HIST_CN VARCHAR2(2500) NOT NULL , + SYS_NM VARCHAR2(255) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , +CONSTRAINT COMTHSYSHIST_PK PRIMARY KEY (HIST_ID) +); + + + +CREATE TABLE COMTNHTTPMON +( + SYS_ID VARCHAR2(20) NOT NULL , + SITE_URL VARCHAR2(100) NULL , + WEBSVC_KND VARCHAR2(10) NULL , + HTTP_STTUS_CODE VARCHAR2(3) NULL , + CREAT_DT DATE NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNHTTPMON_PK PRIMARY KEY (SYS_ID) +); + + + +CREATE TABLE COMTHHTTPMONLOGINFO +( + SYS_ID VARCHAR2(20) NOT NULL , + SITE_URL VARCHAR2(100) NULL , + WEBSVC_KND VARCHAR2(10) NULL , + HTTP_STTUS_CODE VARCHAR2(3) NULL , + CREAT_DT DATE NULL , + LOG_INFO VARCHAR2(2000) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTHHTTPMONLOGINFO_PK PRIMARY KEY (SYS_ID,LOG_ID), +CONSTRAINT COMTHHTTPMONLOGINFO_FK2 FOREIGN KEY (SYS_ID) REFERENCES COMTNHTTPMON(SYS_ID) +); + + + +CREATE TABLE COMTHDBMNTRNGLOGINFO +( + DATA_SOURC_NM VARCHAR2(60) NOT NULL , + SERVER_NM VARCHAR2(60) NULL , + DBMS_KND VARCHAR2(2) NULL , + CECK_SQL VARCHAR2(250) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR2(2000) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTHDBMNTRNGLOGINFO_PK PRIMARY KEY (LOG_ID) +); + + + +CREATE TABLE COMTHCONFMHISTORY +( + CONFM_NO NUMBER(8) NOT NULL , + CONFM_RQESTER_ID VARCHAR2(20) NOT NULL , + CONFMER_ID VARCHAR2(20) NULL , + CONFM_DE CHAR(20) NULL , + CONFM_TY_CODE CHAR(4) NOT NULL , + CONFM_STTUS_CODE CHAR(4) NOT NULL , + OPERT_TY_CODE CHAR(4) NULL , + OPERT_ID VARCHAR2(20) NULL , + TRGET_JOB_TY_CODE CHAR(3) NULL , + TRGET_JOB_ID CHAR(20) NULL , +CONSTRAINT COMTHCONFMHISTORY_PK PRIMARY KEY (CONFM_NO) +); + + + +CREATE TABLE COMTNDAMMAPTEAM +( + ORGNZT_ID CHAR(20) NOT NULL , + ORGNZT_NM VARCHAR2(20) NULL , + CL_DE CHAR(20) NULL , + KNWLDG_URL VARCHAR2(255) NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNDAMMAPTEAM_PK PRIMARY KEY (ORGNZT_ID) +); + + + +CREATE TABLE COMTNTMPLATINFO +( + TMPLAT_ID CHAR(20) NOT NULL , + TMPLAT_NM VARCHAR2(255) NULL , + TMPLAT_COURS VARCHAR2(2000) NULL , + USE_AT CHAR(1) NULL , + TMPLAT_SE_CODE CHAR(6) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNTMPLATINFO_PK PRIMARY KEY (TMPLAT_ID) +); + + + +CREATE TABLE COMTNINDVDLPGECNTNTS +( + CNTNTS_ID VARCHAR2(20) NOT NULL , + CNTNTS_NM VARCHAR2(100) NOT NULL , + CNTC_URL VARCHAR2(255) NOT NULL , + CNTNTS_USE_AT CHAR(1) NOT NULL , + CNTNTS_LINK_URL VARCHAR2(1000) NULL , + CNTNTS_DC VARCHAR2(250) NULL , +CONSTRAINT COMTNINDVDLPGECNTNTS_PK PRIMARY KEY (CNTNTS_ID) +); + + + +CREATE TABLE COMTNINDVDLPGEESTBS +( + EMPLYR_ID VARCHAR2(20) NOT NULL , + UPEND_IMAGE VARCHAR2(1024) NULL , + TITLEBAR_COLOR CHAR(7) NULL , + ALGN_MTHD CHAR(1) NULL , + ALGN_CO NUMBER(10) NULL , +CONSTRAINT COMTNINDVDLPGEESTBS_PK PRIMARY KEY (EMPLYR_ID) +); + + + +CREATE TABLE COMTNCNTNTSLIST +( + CNTNTS_ID VARCHAR2(20) NOT NULL , + EMPLYR_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNCNTNTSLIST_PK PRIMARY KEY (CNTNTS_ID,EMPLYR_ID), +CONSTRAINT COMTNCNTNTSLIST_FK1 FOREIGN KEY (CNTNTS_ID) REFERENCES COMTNINDVDLPGECNTNTS(CNTNTS_ID), +CONSTRAINT COMTNCNTNTSLIST_FK2 FOREIGN KEY (EMPLYR_ID) REFERENCES COMTNINDVDLPGEESTBS(EMPLYR_ID) +); + + + +CREATE INDEX COMTNCNTNTSLIST_i01 ON COMTNCNTNTSLIST +(CNTNTS_ID ASC); + + + +CREATE INDEX COMTNCNTNTSLIST_i02 ON COMTNCNTNTSLIST +(EMPLYR_ID ASC); + + + +CREATE TABLE COMTNCNTCMESSAGE +( + CNTC_MSSAGE_ID VARCHAR2(20) NOT NULL , + CNTC_MSSAGE_NM VARCHAR2(100) NULL , + UPPER_CNTC_MSSAGE_ID VARCHAR2(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + USE_AT CHAR(1) NULL , +CONSTRAINT COMTNCNTCMESSAGE_PK PRIMARY KEY (CNTC_MSSAGE_ID) +); + + + +CREATE TABLE COMTNCNTCMESSAGEITEM +( + CNTC_MSSAGE_ID VARCHAR2(20) NOT NULL , + IEM_ID VARCHAR2(20) NOT NULL , + IEM_NM VARCHAR2(100) NULL , + IEM_TY VARCHAR2(50) NULL , + IEM_LT NUMBER(8) NULL , + USE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNCNTCMESSAGEITEM_PK PRIMARY KEY (CNTC_MSSAGE_ID,IEM_ID), +CONSTRAINT COMTNCNTCMESSAGEITEM_FK1 FOREIGN KEY (CNTC_MSSAGE_ID) REFERENCES COMTNCNTCMESSAGE(CNTC_MSSAGE_ID) +); + + + +CREATE INDEX COMTNCNTCMESSAGEITEM_i01 ON COMTNCNTCMESSAGEITEM +(CNTC_MSSAGE_ID ASC); + + + +CREATE TABLE COMTNBKMKMENUMANAGERESULT +( + MENU_ID NUMBER(20) NOT NULL , + EMPLYR_ID VARCHAR2(20) NOT NULL , + MENU_NM VARCHAR2(60) NOT NULL , + PROGRM_STRE_PATH VARCHAR2(100) NOT NULL , +CONSTRAINT COMTNBKMKMENUMANAGERESULT_PK PRIMARY KEY (MENU_ID,EMPLYR_ID) +); + + + +CREATE TABLE COMTNSYSTEMCNTC +( + CNTC_ID CHAR(8) NOT NULL , + CNTC_NM VARCHAR2(100) NULL , + PROVD_INSTT_ID CHAR(8) NULL , + PROVD_SYS_ID CHAR(8) NULL , + PROVD_SVC_ID CHAR(8) NULL , + REQUST_INSTT_ID CHAR(8) NULL , + REQUST_SYS_ID CHAR(8) NULL , + CONFM_AT CHAR(1) NULL , + USE_AT CHAR(1) NULL , + VALID_BGNDE CHAR(20) NULL , + VALID_ENDDE CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + CNTC_TY VARCHAR2(60) NULL , +CONSTRAINT COMTNSYSTEMCNTC_PK PRIMARY KEY (CNTC_ID) +); + + + +CREATE TABLE COMTNINDVDLINFOPOLICY +( + INDVDL_INFO_POLICY_ID CHAR(20) NOT NULL , + INDVDL_INFO_POLICY_CN VARCHAR2(2500) NULL , + INDVDL_INFO_POLICY_AGRE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + INDVDL_INFO_POLICY_NM VARCHAR2(255) NULL , +CONSTRAINT COMTNINDVDLINFOPOLICY_PK PRIMARY KEY (INDVDL_INFO_POLICY_ID) +); + + + +CREATE TABLE COMTNBNDTMANAGE +( + BNDT_ID VARCHAR2(20) NOT NULL , + BNDT_DE CHAR(8) NOT NULL , + RM VARCHAR2(2500) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNBNDTMANAGE_PK PRIMARY KEY (BNDT_ID,BNDT_DE) +); + + + +CREATE TABLE COMTNBNDTCECKMANAGE +( + BNDT_CECK_SE CHAR(2) NOT NULL , + BNDT_CECK_CODE VARCHAR2(10) NOT NULL , + BNDT_CECK_CODE_NM VARCHAR2(255) NOT NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNBNDTCECKMANAGE_PK PRIMARY KEY (BNDT_CECK_CODE,BNDT_CECK_SE) +); + + + +CREATE TABLE COMTNBNDTDIARY +( + BNDT_ID VARCHAR2(20) NOT NULL , + BNDT_DE CHAR(8) NOT NULL , + BNDT_CECK_SE CHAR(2) NOT NULL , + BNDT_CECK_CODE VARCHAR2(10) NOT NULL , + CHCK_STTUS VARCHAR2(1000) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNBNDTDIARY_PK PRIMARY KEY (BNDT_ID,BNDT_DE,BNDT_CECK_SE,BNDT_CECK_CODE), +CONSTRAINT COMTNBNDTDIARY_FK2 FOREIGN KEY (BNDT_ID,BNDT_DE) REFERENCES COMTNBNDTMANAGE(BNDT_ID,BNDT_DE), +CONSTRAINT COMTNBNDTDIARY_FK1 FOREIGN KEY (BNDT_CECK_CODE,BNDT_CECK_SE) REFERENCES COMTNBNDTCECKMANAGE(BNDT_CECK_CODE,BNDT_CECK_SE) +); + + + +CREATE TABLE COMTNBATCHRESULT +( + BATCH_RESULT_ID VARCHAR2(20) NOT NULL , + BATCH_SCHDUL_ID VARCHAR2(20) NOT NULL , + BATCH_OPERT_ID VARCHAR2(20) NOT NULL , + PARAMTR VARCHAR2(250) NULL , + STTUS VARCHAR2(2) NULL , + ERROR_INFO VARCHAR2(2000) NULL , + EXECUT_BEGIN_TM VARCHAR2(14) NULL , + EXECUT_END_TM VARCHAR2(14) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNBATCHRESULT_PK PRIMARY KEY (BATCH_RESULT_ID) +); + + + +CREATE TABLE COMTNSTSFDG +( + STSFDG_NO NUMBER(20) NOT NULL , + NTT_ID NUMBER(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + WRTER_ID VARCHAR2(20) NULL , + WRTER_NM VARCHAR2(20) NULL , + PASSWORD VARCHAR2(200) NULL , + STSFDG NUMBER(1) NOT NULL , + STSFDG_CN VARCHAR2(200) NULL , + USE_AT CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNSTSFDG_PK PRIMARY KEY (STSFDG_NO) +); + + + +CREATE TABLE COMTNBATCHOPERT +( + BATCH_OPERT_ID VARCHAR2(20) NOT NULL , + BATCH_OPERT_NM VARCHAR2(60) NULL , + BATCH_PROGRM VARCHAR2(255) NULL , + PARAMTR VARCHAR2(250) NULL , + USE_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNBATCHOPERT_PK PRIMARY KEY (BATCH_OPERT_ID) +); + + + +CREATE TABLE COMTNFILESYSMNTRNG +( + FILE_SYS_ID CHAR(20) NOT NULL , + FILE_SYS_NM VARCHAR2(60) NOT NULL , + FILE_SYS_MANAGE_NM VARCHAR2(255) NOT NULL , + FILE_SYS_SIZE NUMBER(8) NOT NULL , + FILE_SYS_THRHLD NUMBER(8) NOT NULL , + FILE_SYS_USGQTY NUMBER(8) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNFILESYSMNTRNG_PK PRIMARY KEY (FILE_SYS_ID) +); + + + +CREATE TABLE COMTNFILESYSMNTRNGLOGINFO +( + FILE_SYS_ID CHAR(20) NOT NULL , + FILE_SYS_NM VARCHAR2(60) NOT NULL , + FILE_SYS_MANAGE_NM VARCHAR2(255) NOT NULL , + FILE_SYS_SIZE NUMBER(8) NOT NULL , + FILE_SYS_THRHLD NUMBER(8) NOT NULL , + FILE_SYS_USGQTY NUMBER(8) NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR2(2000) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNFILESYSMNTRNGLOGINFO_PK PRIMARY KEY (FILE_SYS_ID,LOG_ID), +CONSTRAINT COMTNFILESYSMNTRNGLOGINFO_FK2 FOREIGN KEY (FILE_SYS_ID) REFERENCES COMTNFILESYSMNTRNG(FILE_SYS_ID) +); + + + +CREATE TABLE COMTNBATCHSCHDUL +( + BATCH_SCHDUL_ID VARCHAR2(20) NOT NULL , + BATCH_OPERT_ID VARCHAR2(20) NOT NULL , + EXECUT_CYCLE VARCHAR2(2) NULL , + EXECUT_SCHDUL_DE CHAR(20) NULL , + EXECUT_SCHDUL_HOUR CHAR(2) NULL , + EXECUT_SCHDUL_MNT CHAR(2) NULL , + EXECUT_SCHDUL_SECND CHAR(2) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNBATCHSCHDUL_PK PRIMARY KEY (BATCH_SCHDUL_ID) +); + + + +CREATE TABLE COMTNBATCHSCHDULDFK +( + BATCH_SCHDUL_ID VARCHAR2(20) NOT NULL , + EXECUT_SCHDUL_DFK_SE CHAR(1) NOT NULL , +CONSTRAINT COMTNBATCHSCHDULDFK_PK PRIMARY KEY (BATCH_SCHDUL_ID,EXECUT_SCHDUL_DFK_SE), +CONSTRAINT COMTNBATCHSCHDULDFK_FK1 FOREIGN KEY (BATCH_SCHDUL_ID) REFERENCES COMTNBATCHSCHDUL(BATCH_SCHDUL_ID) +); + + + +CREATE TABLE COMTNCTSNNMANAGE +( + CTSNN_ID VARCHAR2(20) NOT NULL , + USER_ID VARCHAR2(20) NOT NULL , + CTSNN_CODE CHAR(2) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + CTSNN_NM VARCHAR2(255) NOT NULL , + TRGTER_NM VARCHAR2(20) NOT NULL , + BRTHDY CHAR(20) NOT NULL , + OCCRRNC_DE CHAR(20) NOT NULL , + RELATE CHAR(2) NOT NULL , + RM VARCHAR2(2500) NULL , + SANCTNER_ID VARCHAR2(20) NOT NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATE NULL , + RETURN_RESN VARCHAR2(1000) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNCTSNNMANAGE_PK PRIMARY KEY (CTSNN_ID) +); + + + +CREATE TABLE COMTCADMINISTCODERECPTNLOG +( + OCCRRNC_DE CHAR(20) NOT NULL , + ADMINIST_ZONE_SE CHAR(1) NOT NULL , + ADMINIST_ZONE_CODE VARCHAR2(10) NOT NULL , + OPERT_SN NUMBER(10) NOT NULL , + CHANGE_SE_CODE VARCHAR2(2) NULL , + PROCESS_SE VARCHAR2(2) NULL , + ADMINIST_ZONE_NM VARCHAR2(60) NULL , + LOWEST_ADMINIST_ZONE_NM VARCHAR2(60) NULL , + CTPRVN_CODE VARCHAR2(2) NULL , + SIGNGU_CODE VARCHAR2(3) NULL , + EMD_CODE VARCHAR2(3) NULL , + LI_CODE VARCHAR2(2) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + ABL_ENNC CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTCADMINISTCODERECPTNLOG_PK PRIMARY KEY (OCCRRNC_DE,ADMINIST_ZONE_SE,ADMINIST_ZONE_CODE,OPERT_SN) +); + + + +CREATE TABLE COMTNTROBLINFO +( + TROBL_ID CHAR(20) NOT NULL , + TROBL_NM VARCHAR2(60) NULL , + TROBL_KND CHAR(2) NULL , + TROBL_DC VARCHAR2(2000) NULL , + TROBL_OCCRRNC_TIME VARCHAR2(14) NULL , + TROBL_RQESTER_NM VARCHAR2(60) NULL , + TROBL_REQUST_TIME VARCHAR2(14) NULL , + TROBL_PROCESS_RESULT VARCHAR2(2000) NULL , + TROBL_OPETR_NM VARCHAR2(60) NULL , + TROBL_PROCESS_TIME VARCHAR2(14) NULL , + PROCESS_STTUS CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNTROBLINFO_PK PRIMARY KEY (TROBL_ID) +); + + + +CREATE TABLE COMTNDAMKNOIFM +( + KNWLDG_ID CHAR(20) NOT NULL , + KNWLDG_TY_CODE VARCHAR2(3) NULL , + ORGNZT_ID CHAR(20) NULL , + EXPERT_ID CHAR(20) NULL , + EMPLYR_ID VARCHAR2(20) NULL , + KNWLDG_NM VARCHAR2(60) NULL , + KNWLDG_CN VARCHAR2(2500) NULL , + KWRD VARCHAR2(100) NULL , + OTHBC_AT CHAR(1) NULL , + KNWLDG_EVL CHAR(1) NULL , + COLCT_DE CHAR(20) NULL , + EVL_DE CHAR(20) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + DSUSE_DE CHAR(20) NULL , +CONSTRAINT COMTNDAMKNOIFM_PK PRIMARY KEY (KNWLDG_ID) +); + + + +CREATE TABLE COMTNDAMMAPKNO +( + KNWLDG_TY_CODE VARCHAR2(3) NOT NULL , + ORGNZT_ID CHAR(20) NULL , + EXPERT_ID CHAR(20) NULL , + KNWLDG_TY_NM VARCHAR2(60) NULL , + CL_DE CHAR(20) NULL , + KNWLDG_URL VARCHAR2(255) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNDAMMAPKNO_PK PRIMARY KEY (KNWLDG_TY_CODE) +); + + + +CREATE TABLE COMTNDAMPRO +( + EXPERT_ID CHAR(20) NOT NULL , + KNWLDG_TY_CODE VARCHAR2(3) NOT NULL , + EXPERT_GRAD CHAR(1) NOT NULL , + EXPERT_CONFM_DE CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + EXPERT_DC VARCHAR2(2000) NULL , +CONSTRAINT COMTNDAMPRO_PK PRIMARY KEY (EXPERT_ID,KNWLDG_TY_CODE,EXPERT_GRAD), +CONSTRAINT COMTNDAMPRO_FK1 FOREIGN KEY (KNWLDG_TY_CODE) REFERENCES COMTNDAMMAPKNO(KNWLDG_TY_CODE) +); + + + +CREATE TABLE COMTNINFRMLSANCTN +( + INFRML_SANCTN_ID CHAR(20) NOT NULL , + JOB_SE_CODE CHAR(3) NOT NULL , + APPLCNT_ID VARCHAR2(20) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + SANCTNER_ID VARCHAR2(20) NOT NULL , + CONFM_AT CHAR(1) NOT NULL , + SANCTN_DT DATE NULL , + RETURN_RESN VARCHAR2(1000) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNINFRMLSANCTN_PK PRIMARY KEY (INFRML_SANCTN_ID) +); + + + +CREATE TABLE COMTNDBMNTRNG +( + DATA_SOURC_NM VARCHAR2(60) NOT NULL , + SERVER_NM VARCHAR2(60) NULL , + DBMS_KND VARCHAR2(2) NULL , + CECK_SQL VARCHAR2(250) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNDBMNTRNG_PK PRIMARY KEY (DATA_SOURC_NM) +); + + + +CREATE TABLE COMTNTRSMRCVMNTRNG +( + CNTC_ID CHAR(8) NOT NULL , + TEST_CLASS_NM VARCHAR2(255) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNTRSMRCVMNTRNG_PK PRIMARY KEY (CNTC_ID) +); + + + +CREATE TABLE COMTNDEPTJOB +( + DEPT_JOB_ID CHAR(20) NOT NULL , + DEPT_JOBBX_ID CHAR(6) NOT NULL , + DEPT_JOB_NM VARCHAR2(255) NOT NULL , + DEPT_JOB_CN VARCHAR2(2500) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , + CHARGER_ID VARCHAR2(20) NOT NULL , + PRIORT CHAR(1) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNDEPTJOB_PK PRIMARY KEY (DEPT_JOB_ID) +); + + + +CREATE TABLE COMTNLEADERSCHDUL +( + SCHDUL_ID CHAR(20) NOT NULL , + SCHDUL_SE CHAR(1) NULL , + SCHDUL_NM VARCHAR2(255) NOT NULL , + SCHDUL_CN VARCHAR2(2500) NOT NULL , + SCHDUL_PLACE VARCHAR2(255) NULL , + LEADER_ID VARCHAR2(20) NOT NULL , + REPTIT_SE_CODE CHAR(1) NULL , + SCHDUL_BGNDE CHAR(20) NULL , + SCHDUL_ENDDE CHAR(20) NULL , + SCHDUL_CHARGER_ID VARCHAR2(20) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNLEADERSCHDUL_PK PRIMARY KEY (SCHDUL_ID) +); + + + +CREATE TABLE COMTNLEADERSCHDULDE +( + SCHDUL_ID CHAR(20) NOT NULL , + SCHDUL_DE CHAR(8) NOT NULL , +CONSTRAINT COMTNLEADERSCHDULDE_PK PRIMARY KEY (SCHDUL_ID,SCHDUL_DE), +CONSTRAINT COMTNLEADERSCHDULDE_FK1 FOREIGN KEY (SCHDUL_ID) REFERENCES COMTNLEADERSCHDUL(SCHDUL_ID) +); + +CREATE TABLE COMTNLEADERSTTUS +( + LEADER_ID VARCHAR2(20) NOT NULL , + LEADER_STTUS CHAR(1) NOT NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNLEADERSTTUS_PK PRIMARY KEY (LEADER_ID) +); + + + +CREATE TABLE COMTNDEPTJOBBX +( + DEPT_JOBBX_ID CHAR(6) NOT NULL , + DEPT_JOBBX_NM VARCHAR2(255) NOT NULL , + DEPT_ID VARCHAR2(20) NOT NULL , + INDICT_ORDR NUMBER(6) NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNDEPTJOBBX_PK PRIMARY KEY (DEPT_JOBBX_ID) +); + + + +CREATE TABLE COMTNDTAUSESTATS +( + DTA_USE_STATS_ID CHAR(20) NOT NULL , + BBS_ID CHAR(20) NOT NULL , + NTT_ID NUMBER(20) NOT NULL , + ATCH_FILE_ID CHAR(20) NOT NULL , + FILE_SN NUMBER(10) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNDTAUSESTATS_PK PRIMARY KEY (DTA_USE_STATS_ID) +); + + + +CREATE TABLE COMTNINSTTCODE +( + INSTT_CODE CHAR(7) NOT NULL , + ALL_INSTT_NM VARCHAR2(255) NULL , + LOWEST_INSTT_NM VARCHAR2(100) NULL , + INSTT_ABRV_NM VARCHAR2(50) NULL , + ODR CHAR(1) NULL , + ORD CHAR(3) NULL , + INSTT_ODR CHAR(2) NULL , + UPPER_INSTT_CODE CHAR(7) NULL , + BEST_INSTT_CODE CHAR(7) NULL , + REPRSNT_INSTT_CODE CHAR(7) NULL , + INSTT_TY_LCLAS CHAR(2) NULL , + INSTT_TY_MLSFC CHAR(2) NULL , + INSTT_TY_SCLAS CHAR(2) NULL , + TELNO VARCHAR2(20) NULL , + FXNUM VARCHAR2(20) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + ABL_ENNC CHAR(1) NULL , + CHANGE_DE CHAR(20) NULL , + CHANGE_TIME VARCHAR2(6) NULL , + BSIS_DE CHAR(20) NULL , + SORT_ORDR NUMBER(8) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNINSTTCODE_PK PRIMARY KEY (INSTT_CODE) +); + + + +CREATE TABLE COMTNINSTTCODERECPTNLOG +( + OCCRRNC_DE CHAR(20) NOT NULL , + INSTT_CODE CHAR(7) NOT NULL , + OPERT_SN NUMBER(10) NOT NULL , + CHANGE_SE_CODE VARCHAR2(2) NULL , + PROCESS_SE VARCHAR2(2) NULL , + ETC_CODE CHAR(2) NULL , + ALL_INSTT_NM VARCHAR2(255) NULL , + LOWEST_INSTT_NM VARCHAR2(100) NULL , + INSTT_ABRV_NM VARCHAR2(50) NULL , + ODR CHAR(1) NULL , + ORD CHAR(3) NULL , + INSTT_ODR CHAR(2) NULL , + UPPER_INSTT_CODE CHAR(7) NULL , + BEST_INSTT_CODE CHAR(7) NULL , + REPRSNT_INSTT_CODE CHAR(7) NULL , + INSTT_TY_LCLAS CHAR(2) NULL , + INSTT_TY_MLSFC CHAR(2) NULL , + INSTT_TY_SCLAS CHAR(2) NULL , + TELNO VARCHAR2(20) NULL , + FXNUM VARCHAR2(20) NULL , + CREAT_DE CHAR(20) NULL , + ABL_DE CHAR(20) NULL , + ABL_ENNC CHAR(1) NULL , + CHANGE_DE CHAR(20) NULL , + CHANGE_TIME VARCHAR2(6) NULL , + BSIS_DE CHAR(20) NULL , + SORT_ORDR NUMBER(8) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNINSTTCODERECPTNLOG_PK PRIMARY KEY (OCCRRNC_DE,INSTT_CODE,OPERT_SN) +); + + + +CREATE TABLE COMTNINDVDLYRYCMANAGE +( + OCCRRNC_YEAR CHAR(4) NOT NULL , + YRYC_OCCRRNC_CO NUMBER(5,1) NULL , + USE_YRYC_CO NUMBER(5,1) NULL , + REMNDR_YRYC_CO NUMBER(5,1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + USER_ID VARCHAR2(20) NOT NULL , +CONSTRAINT COMTNINDVDLYRYCMANAGE_PK PRIMARY KEY (OCCRRNC_YEAR,USER_ID) +); + + + +CREATE TABLE COMTNNTWRKSVCMNTRNG +( + SYS_IP VARCHAR2(23) NOT NULL , + SYS_PORT NUMBER(5) NOT NULL , + SYS_NM VARCHAR2(255) NOT NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + MNTRNG_STTUS CHAR(2) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , +CONSTRAINT COMTNNTWRKSVCMNTRNG_PK PRIMARY KEY (SYS_IP,SYS_PORT) +); + + + +CREATE TABLE COMTNNTWRKSVCMNTRNGLOGINFO +( + SYS_IP VARCHAR2(23) NOT NULL , + SYS_PORT NUMBER(5) NOT NULL , + SYS_NM VARCHAR2(255) NOT NULL , + MNTRNG_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR2(2000) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NOT NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNNTWRKSVCMNTRNGLOGINFO_PK PRIMARY KEY (SYS_IP,SYS_PORT,LOG_ID), +CONSTRAINT COMTNNTWRKSVCMNTRNGLOGINFO_FK2 FOREIGN KEY (SYS_IP,SYS_PORT) REFERENCES COMTNNTWRKSVCMNTRNG(SYS_IP,SYS_PORT) +); + + + +CREATE TABLE COMTNSERVEREQPMNINFO +( + SERVER_EQPMN_ID VARCHAR2(20) NOT NULL , + SERVER_EQPMN_NM VARCHAR2(60) NULL , + SERVER_EQPMN_IP VARCHAR2(23) NULL , + SERVER_EQPMN_MNGR VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + OPERSYSM_INFO VARCHAR2(2000) NULL , + CPU_INFO VARCHAR2(2000) NULL , + MORY_INFO VARCHAR2(2000) NULL , + HDDISK CHAR(18) NULL , + ETC_INFO VARCHAR2(250) NULL , + RGSDE DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNSERVEREQPMNINFO_PK PRIMARY KEY (SERVER_EQPMN_ID) +); + + + +CREATE TABLE COMTNSYNCHRNSERVERINFO +( + SERVER_ID CHAR(20) NOT NULL , + SERVER_NM VARCHAR2(60) NULL , + SERVER_IP VARCHAR2(23) NULL , + SERVER_PORT VARCHAR2(10) NULL , + FTP_ID VARCHAR2(20) NULL , + FTP_PASSWORD VARCHAR2(20) NULL , + SYNCHRN_LC VARCHAR2(255) NULL , + REFLCT_AT CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNSYNCHRNSERVERINFO_PK PRIMARY KEY (SERVER_ID) +); + + + +CREATE TABLE COMTNSERVERINFO +( + SERVER_ID CHAR(20) NOT NULL , + SERVER_NM VARCHAR2(60) NULL , + SERVER_KND CHAR(2) NULL , + RGSDE DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNSERVERINFO_PK PRIMARY KEY (SERVER_ID) +); + + + +CREATE TABLE COMTNSERVEREQPMNRELATE +( + SERVER_EQPMN_ID VARCHAR2(20) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + SERVER_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNSERVEREQPMNRELATE_PK PRIMARY KEY (SERVER_EQPMN_ID,SERVER_ID), +CONSTRAINT COMTNSERVEREQPMNRELATE_FK2 FOREIGN KEY (SERVER_EQPMN_ID) REFERENCES COMTNSERVEREQPMNINFO(SERVER_EQPMN_ID), +CONSTRAINT COMTNSERVEREQPMNRELATE_FK1 FOREIGN KEY (SERVER_ID) REFERENCES COMTNSERVERINFO(SERVER_ID) +); + + + +CREATE TABLE COMTNSERVERRESRCELOGINFO +( + SERVER_EQPMN_ID VARCHAR2(20) NOT NULL , + CPU_USE_RT NUMBER(3) NULL , + MORY_USE_RT NUMBER(3) NULL , + SVC_STTUS CHAR(2) NULL , + LOG_INFO VARCHAR2(2000) NULL , + CREAT_DT DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + SERVER_ID CHAR(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNSERVERRESRCELOGINFO_PK PRIMARY KEY (SERVER_EQPMN_ID,SERVER_ID,LOG_ID), +CONSTRAINT COMTNSERVERRESRCELOGINFO_FK1 FOREIGN KEY (SERVER_EQPMN_ID,SERVER_ID) REFERENCES COMTNSERVEREQPMNRELATE(SERVER_EQPMN_ID,SERVER_ID) +); + + + +CREATE TABLE COMTNVCATNMANAGE +( + APPLCNT_ID VARCHAR2(20) NOT NULL , + VCATN_SE CHAR(2) NOT NULL , + BGNDE CHAR(8) NOT NULL , + ENDDE CHAR(8) NOT NULL , + VCATN_RESN VARCHAR2(200) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + OCCRRNC_YEAR CHAR(4) NULL , + SANCTNER_ID VARCHAR2(20) NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATE NULL , + RETURN_RESN VARCHAR2(1000) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + NOON_SE CHAR(1) NULL , +CONSTRAINT COMTNVCATNMANAGE_PK PRIMARY KEY (APPLCNT_ID,VCATN_SE,BGNDE,ENDDE) +); + + + +CREATE TABLE COMTNMEMOTODO +( + TODO_ID CHAR(20) NOT NULL , + TODO_SJ VARCHAR2(255) NOT NULL , + TODO_BEGIN_TIME VARCHAR2(14) NOT NULL , + TODO_END_TIME VARCHAR2(14) NOT NULL , + WRTER_ID VARCHAR2(20) NOT NULL , + TODO_CN VARCHAR2(2500) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNMEMOTODO_PK PRIMARY KEY (TODO_ID) +); + + + +CREATE TABLE COMTNNOTE +( + NOTE_ID CHAR(20) NOT NULL , + NOTE_SJ VARCHAR2(255) NULL , + NOTE_CN VARCHAR2(4000) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNNOTE_PK PRIMARY KEY (NOTE_ID) +); + + + +CREATE TABLE COMTNNOTETRNSMIT +( + NOTE_ID CHAR(20) NOT NULL , + NOTE_TRNSMIT_ID CHAR(20) NOT NULL , + TRNSMITER_ID CHAR(20) NULL , + DELETE_AT CHAR(8) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNNOTETRNSMIT_PK PRIMARY KEY (NOTE_ID,NOTE_TRNSMIT_ID), +CONSTRAINT COMTNNOTETRNSMIT_FK1 FOREIGN KEY (NOTE_ID) REFERENCES COMTNNOTE(NOTE_ID) +); + + + +CREATE INDEX COMTNNOTETRNSMIT_i01 ON COMTNNOTETRNSMIT +(NOTE_ID ASC); + + + +CREATE TABLE COMTNNOTERECPTN +( + NOTE_ID CHAR(20) NOT NULL , + NOTE_TRNSMIT_ID CHAR(20) NOT NULL , + NOTE_RECPTN_ID CHAR(20) NOT NULL , + RCVER_ID CHAR(20) NULL , + OPEN_YN CHAR(1) NULL , + RECPTN_SE CHAR(1) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNNOTERECPTN_PK PRIMARY KEY (NOTE_ID,NOTE_TRNSMIT_ID,NOTE_RECPTN_ID), +CONSTRAINT COMTNNOTERECPTN_FK1 FOREIGN KEY (NOTE_ID,NOTE_TRNSMIT_ID) REFERENCES COMTNNOTETRNSMIT(NOTE_ID,NOTE_TRNSMIT_ID) +); + + + +CREATE INDEX COMTNNOTERECPTN_i01 ON COMTNNOTERECPTN +(NOTE_ID ASC,NOTE_TRNSMIT_ID ASC); + + + +CREATE TABLE COMTNEVENTMANAGE +( + EVENT_ID CHAR(20) NOT NULL , + EVENT_SE VARCHAR2(2) NOT NULL , + EVENT_NM VARCHAR2(60) NOT NULL , + EVENT_PURPS VARCHAR2(200) NOT NULL , + EVENT_BGNDE CHAR(20) NOT NULL , + EVENT_ENDDE CHAR(20) NOT NULL , + EVENT_AUSPC_INSTT_NM VARCHAR2(60) NULL , + EVENT_MNGT_INSTT_NM VARCHAR2(60) NULL , + EVENT_PLACE VARCHAR2(200) NOT NULL , + EVENT_CN VARCHAR2(1000) NULL , + CT_OCCRRNC_AT CHAR(1) NULL , + PARTCPT_CT NUMBER(16) NULL , + PSNCPA NUMBER(10) NOT NULL , + REFRN_URL VARCHAR2(1024) NULL , + RCEPT_BGNDE CHAR(20) NOT NULL , + RCEPT_ENDDE CHAR(20) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNEVENTMANAGE_PK PRIMARY KEY (EVENT_ID) +); + + + +CREATE TABLE COMTNEVENTATDRN +( + APPLCNT_ID VARCHAR2(20) NOT NULL , + EVENT_ID CHAR(20) NOT NULL , + REQST_DE CHAR(20) NOT NULL , + SANCTNER_ID VARCHAR2(20) NOT NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATE NULL , + RETURN_RESN VARCHAR2(1000) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNEVENTATDRN_PK PRIMARY KEY (APPLCNT_ID,EVENT_ID), +CONSTRAINT COMTNEVENTATDRN_FK1 FOREIGN KEY (EVENT_ID) REFERENCES COMTNEVENTMANAGE(EVENT_ID) +); + + + +CREATE INDEX COMTNEVENTATDRN_i01 ON COMTNEVENTATDRN +(EVENT_ID ASC); + + + +CREATE TABLE IMGTEMP +( + ORGNZT_CODE VARCHAR2(10) NOT NULL , + ERNCSL_SE VARCHAR2(2) NOT NULL , + IMAGE_INFO BLOB NOT NULL , + IMAGE_TY VARCHAR2(20) NULL , +CONSTRAINT IMGTEMP_PK PRIMARY KEY (ORGNZT_CODE,ERNCSL_SE) +); + + + +CREATE TABLE IDS +( + IDGEN_TABLE_NM VARCHAR2(20) NOT NULL , + IDGEN_NEXT_ID NUMBER(30) NOT NULL , +CONSTRAINT IDS_PK PRIMARY KEY (IDGEN_TABLE_NM) +); + + + +CREATE TABLE COMTNWIKMNTHNGREPRT +( + REPRT_ID CHAR(6) NOT NULL , + REPRT_SE CHAR(1) NOT NULL , + REPRT_SJ VARCHAR2(255) NOT NULL , + REPORT_DE CHAR(20) NOT NULL , + WRTER_ID VARCHAR2(20) NOT NULL , + REPORTR_ID VARCHAR2(20) NOT NULL , + REPORT_BGNDE CHAR(20) NOT NULL , + REPORT_ENDDE CHAR(20) NOT NULL , + THSWIK_REPORT_CN CLOB NOT NULL , + NEXTWIK_REPORT_CN CLOB NOT NULL , + PARTCLR_MATTER VARCHAR2(2500) NULL , + ATCH_FILE_ID CHAR(20) NULL , + CONFM_DT VARCHAR2(14) NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNWIKMNTHNGREPRT_PK PRIMARY KEY (REPRT_ID) +); + + + +CREATE TABLE COMTNTWITTER +( + USER_ID VARCHAR2(20) NOT NULL , + CNSMR_KEY VARCHAR2(50) NOT NULL , + CNSMR_SECRET VARCHAR2(50) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNTWITTER_PK PRIMARY KEY (USER_ID) +); + + + +CREATE TABLE COMTNWIKIBKMK +( + WIKI_BKMK_ID CHAR(20) NOT NULL , + USER_ID VARCHAR2(20) NOT NULL , + WIKI_BKMK_NM VARCHAR2(1000) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNWIKIBKMK_PK PRIMARY KEY (WIKI_BKMK_ID,USER_ID) +); + + + +CREATE TABLE COMTNRWARDMANAGE +( + RWARD_ID CHAR(20) NOT NULL , + RWARDWNR_ID VARCHAR2(20) NOT NULL , + RWARD_CODE CHAR(2) NOT NULL , + RWARD_DE CHAR(20) NOT NULL , + RWARD_NM VARCHAR2(255) NOT NULL , + PBLEN_CN VARCHAR2(1000) NULL , + SANCTNER_ID VARCHAR2(20) NOT NULL , + CONFM_AT CHAR(1) NULL , + SANCTN_DT DATE NULL , + RETURN_RESN VARCHAR2(1000) NULL , + ATCH_FILE_ID CHAR(20) NULL , + INFRML_SANCTN_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNRWARDMANAGE_PK PRIMARY KEY (RWARD_ID) +); + + + +CREATE TABLE COMTNRSS +( + RSS_ID CHAR(20) NOT NULL , + TRGET_SVC_NM VARCHAR2(255) NOT NULL , + TRGET_SVC_TABLE VARCHAR2(255) NOT NULL , + TRGET_SVC_LIST_CO NUMBER(5) NOT NULL , + HDER_TITLE VARCHAR2(255) NOT NULL , + HDER_LINK VARCHAR2(255) NOT NULL , + HDER_DC VARCHAR2(4000) NOT NULL , + HDER_TAG VARCHAR2(255) NULL , + HDER_ETC VARCHAR2(250) NULL , + BDT_TITLE VARCHAR2(255) NULL , + BDT_LINK VARCHAR2(255) NULL , + BDT_DC VARCHAR2(4000) NULL , + BDT_TAG VARCHAR2(255) NULL , + BDT_ETC_TAG VARCHAR2(255) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNRSS_PK PRIMARY KEY (RSS_ID) +); + + + +CREATE TABLE COMTNRESTDE +( + RESTDE_NO NUMBER(6) NOT NULL , + RESTDE CHAR(8) NULL , + RESTDE_NM VARCHAR2(60) NULL , + RESTDE_DC VARCHAR2(200) NULL , + RESTDE_SE_CODE VARCHAR2(2) NULL , + FRST_REGIST_PNTTM DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , +CONSTRAINT COMTNRESTDE_PK PRIMARY KEY (RESTDE_NO) +); + + + +CREATE TABLE COMTNPROCESSMON +( + PROCS_ID CHAR(20) NOT NULL , + PROCS_NM VARCHAR2(60) NULL , + PROCS_STTUS VARCHAR2(3) NULL , + CREAT_DT DATE NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNPROCESSMON_PK PRIMARY KEY (PROCS_ID) +); + + + +CREATE TABLE COMTNPROCESSMONLOGINFO +( + PROCS_ID CHAR(20) NOT NULL , + PROCS_NM VARCHAR2(60) NULL , + PROCS_STTUS VARCHAR2(3) NULL , + CREAT_DT DATE NULL , + LOG_INFO VARCHAR2(2000) NULL , + MNGR_NM VARCHAR2(60) NULL , + MNGR_EMAIL_ADRES VARCHAR2(50) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + LOG_ID CHAR(20) NOT NULL , +CONSTRAINT COMTNPROCESSMONLOGINFO_PK PRIMARY KEY (PROCS_ID,LOG_ID), +CONSTRAINT COMTNPROCESSMONLOGINFO_FK2 FOREIGN KEY (PROCS_ID) REFERENCES COMTNPROCESSMON(PROCS_ID) +); + + + +CREATE TABLE COMTNNTWRKINFO +( + NTWRK_ID CHAR(20) NOT NULL , + NTWRK_IP VARCHAR2(23) NULL , + GTWY VARCHAR2(23) NULL , + SUBNET VARCHAR2(23) NULL , + DOMN_NM_SERVER VARCHAR2(23) NULL , + MANAGE_IEM CHAR(2) NULL , + USER_NM VARCHAR2(60) NULL , + USE_AT CHAR(1) NULL , + RGSDE DATE NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNNTWRKINFO_PK PRIMARY KEY (NTWRK_ID) +); + + + +CREATE VIEW COMVNUSERMASTER ( ESNTL_ID,USER_ID,PASSWORD,USER_NM,USER_ZIP,USER_ADRES,USER_EMAIL,GROUP_ID, USER_SE, ORGNZT_ID ) +AS SELECT ESNTL_ID, MBER_ID,PASSWORD,MBER_NM,ZIP,ADRES,MBER_EMAIL_ADRES,' ','GNR' AS USER_SE, ' ' ORGNZT_ID + FROM COMTNGNRLMBER + UNION ALL + SELECT ESNTL_ID,EMPLYR_ID,PASSWORD,USER_NM,ZIP,HOUSE_ADRES,EMAIL_ADRES,GROUP_ID ,'USR' AS USER_SE, ORGNZT_ID + FROM COMTNEMPLYRINFO + UNION ALL + SELECT ESNTL_ID,ENTRPRS_MBER_ID,ENTRPRS_MBER_PASSWORD,CMPNY_NM,ZIP,ADRES,APPLCNT_EMAIL_ADRES,' ' ,'ENT' AS USER_SE, ' ' ORGNZT_ID + FROM COMTNENTRPRSMBER ORDER BY ESNTL_ID; + + + +CREATE TABLE COMTNMEMOREPRT +( + REPRT_SJ VARCHAR2(255) NOT NULL , + REPORT_DE CHAR(20) NOT NULL , + WRTER_ID VARCHAR2(20) NOT NULL , + REPORTR_ID VARCHAR2(20) NOT NULL , + REPORT_CN VARCHAR2(2500) NOT NULL , + ATCH_FILE_ID CHAR(20) NULL , + DRCT_MATTER VARCHAR2(2500) NULL , + DRCT_MATTER_REGIST_DT VARCHAR2(14) NULL , + REPORTR_INQIRE_DT VARCHAR2(14) NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + REPRT_ID CHAR(6) NOT NULL , +CONSTRAINT COMTNMEMOREPRT_PK PRIMARY KEY (REPRT_ID) +); + + + +CREATE TABLE COMTNMTGPLACEMANAGE +( + MTGRUM_ID CHAR(20) NOT NULL , + MTGRUM_NM VARCHAR2(255) NOT NULL , + OPN_BEGIN_TM VARCHAR2(6) NOT NULL , + OPN_END_TM VARCHAR2(6) NOT NULL , + ACEPTNC_POSBL_NMPR NUMBER(10) NOT NULL , + LC_SE CHAR(5) NULL , + LC_DETAIL VARCHAR2(200) NULL , + ATCH_FILE_ID CHAR(20) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNMTGPLACEMANAGE_PK PRIMARY KEY (MTGRUM_ID) +); + + + +CREATE TABLE COMTNMTGPLACERESVE +( + RESVE_ID CHAR(20) NOT NULL , + MTGRUM_ID CHAR(20) NOT NULL , + MTG_SJ VARCHAR2(100) NOT NULL , + RSVCTM_ID VARCHAR2(20) NOT NULL , + RESVE_DE CHAR(8) NOT NULL , + RESVE_BEGIN_TM VARCHAR2(14) NOT NULL , + RESVE_END_TM VARCHAR2(14) NOT NULL , + ATNDNC_NMPR NUMBER(10) NULL , + MTG_CN VARCHAR2(2500) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNMTGPLACERESVE_PK PRIMARY KEY (RESVE_ID), +CONSTRAINT COMTNMTGPLACERESVE_FK1 FOREIGN KEY (MTGRUM_ID) REFERENCES COMTNMTGPLACEMANAGE(MTGRUM_ID) ON DELETE SET NULL +); + + + +CREATE INDEX COMTNMTGPLACERESVE_i01 ON COMTNMTGPLACERESVE +(MTGRUM_ID ASC); + + + +CREATE TABLE COMTNFXTRSMANAGE +( + FXTRS_CODE CHAR(14) NOT NULL , + FXTRS_NM VARCHAR2(100) NOT NULL , + MAKR_NM VARCHAR2(100) NULL , + PRICE NUMBER(16) NULL , +CONSTRAINT COMTNFXTRSMANAGE_PK PRIMARY KEY (FXTRS_CODE) +); + + + +CREATE TABLE COMTNMTGPLACEFXTRS +( + MTGRUM_ID CHAR(20) NOT NULL , + FXTRS_CODE CHAR(14) NOT NULL , + QY NUMBER(20) NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , +CONSTRAINT COMTNMTGPLACEFXTRS_PK PRIMARY KEY (MTGRUM_ID,FXTRS_CODE), +CONSTRAINT COMTNMTGPLACEFXTRS_FK2 FOREIGN KEY (MTGRUM_ID) REFERENCES COMTNMTGPLACEMANAGE(MTGRUM_ID), +CONSTRAINT COMTNMTGPLACEFXTRS_FK1 FOREIGN KEY (FXTRS_CODE) REFERENCES COMTNFXTRSMANAGE(FXTRS_CODE) +); + + + +CREATE INDEX COMTNMTGPLACEFXTRS_i01 ON COMTNMTGPLACEFXTRS +(MTGRUM_ID ASC); + + + +CREATE TABLE COMTECOPSEQ +( + TABLE_NAME VARCHAR2(20) NOT NULL , + NEXT_ID NUMBER(30) NULL , +CONSTRAINT COMTECOPSEQ_PK PRIMARY KEY (TABLE_NAME) +); + + + +CREATE TABLE COMTNANNVRSRYMANAGE +( + ANNVRSRY_ID VARCHAR2(20) NOT NULL , + USER_ID VARCHAR2(20) NOT NULL , + ANNVRSRY_SE VARCHAR2(2) NOT NULL , + ANNVRSRY_NM VARCHAR2(255) NOT NULL , + ANNVRSRY CHAR(20) NOT NULL , + CLDR_SE CHAR(1) NOT NULL , + ANNVRSRY_NTCN_SETUP CHAR(1) NULL , + ANNVRSRY_NTCN_BGNDE CHAR(20) NULL , + MEMO VARCHAR2(1000) NULL , + FRST_REGISTER_ID VARCHAR2(20) NULL , + FRST_REGIST_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + LAST_UPDT_PNTTM DATE NULL , + REPTIT_AT CHAR(1) NULL , +CONSTRAINT COMTNANNVRSRYMANAGE_PK PRIMARY KEY (ANNVRSRY_ID) +); + +CREATE TABLE J_ATTACHFILE +( + FILE_ID VARCHAR2(13) NOT NULL, + FILE_SEQ INTEGER NOT NULL, + FILE_NAME VARCHAR2(100) NOT NULL, + FILE_SIZE INTEGER, + FILE_MASK VARCHAR2(100), + DOWNLOAD_COUNT INTEGER, + DOWNLOAD_EXPIRE_DATE VARCHAR2(8), + DOWNLOAD_LIMIT_COUNT INTEGER, + REG_DATE DATE, + DELETE_YN VARCHAR2(1), +CONSTRAINT J_ATTACHFILE_PK PRIMARY KEY (FILE_ID, FILE_SEQ) +); + +CREATE TABLE COMTNROUGHMAP ( + ROUGHMAP_ID VARCHAR(75) NOT NULL, + ROUGHMAPSJ VARCHAR(75) NOT NULL, + ROUGHMAPADDRESS VARCHAR(200) NULL, + LA VARCHAR(48) NULL, + LO VARCHAR(48) NULL, + MARKERLA VARCHAR(48) NULL, + MARKERLO VARCHAR(48) NULL, + INFOWINDOW VARCHAR(20) NULL, + ZOOMLEVEL VARCHAR(10) NULL, + FRST_REGIST_PNTTM DATE NULL, + FRST_REGISTER_ID VARCHAR(20) NULL, + LAST_UPDT_PNTTM DATE NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL + ); + + CREATE TABLE COMTNPRIVACYLOG +( + REQUST_ID VARCHAR2(20) NOT NULL, + INQIRE_DT DATE NOT NULL, + SRVC_NM VARCHAR2(500) NULL, + INQIRE_INFO VARCHAR2(100) NULL, + RQESTER_ID VARCHAR2(20) NULL, + RQESTER_IP VARCHAR2(23) NULL, +CONSTRAINT REQUST_ID_PK PRIMARY KEY (REQUST_ID) +) +; + +CREATE TABLE COMTNCOMMUTE ( + WRKTM_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR2(20) NOT NULL, + ORGNZT_ID VARCHAR2(20) NULL, + WRKT_DT VARCHAR2(10) NOT NULL, + WRK_START_TIME VARCHAR2(14) NULL, + WRK_END_TIME VARCHAR2(14) NULL, + WRK_HOURS CHAR(2) NULL, + OVTMWRK_HOURS CHAR(2) NULL, + WRK_START_STATUS VARCHAR2(10) NULL, + WRK_END_STATUS VARCHAR2(10) NULL, + RM VARCHAR2(100) NULL, + FRST_REGISTER_ID VARCHAR2(20) NULL, + FRST_REGIST_PNTTM DATE NULL, + LAST_UPDUSR_ID VARCHAR2(20) NULL, + LAST_UPDT_PNTTM DATE NULL, + CONSTRAINT COMTNCOMMUTE_PK PRIMARY KEY (EMPLYR_ID, WRKT_DT) +); + +CREATE TABLE COMTNBLOG +( + BLOG_ID CHAR(20) NOT NULL , + BLOG_NM VARCHAR2(255) NOT NULL , + BLOG_INTRCN VARCHAR2(2400) NULL , + USE_AT CHAR(1) NOT NULL , + REGIST_SE_CODE CHAR(6) NULL , + TMPLAT_ID CHAR(20) NULL , + FRST_REGIST_PNTTM DATE NOT NULL , + FRST_REGISTER_ID VARCHAR2(20) NOT NULL , + LAST_UPDT_PNTTM DATE NULL , + LAST_UPDUSR_ID VARCHAR2(20) NULL , + BBS_ID CHAR(20) DEFAULT NULL, + BLOG_AT CHAR(2) DEFAULT NULL, + CONSTRAINT COMTNBLOG_PK PRIMARY KEY (BLOG_ID) +); + +CREATE TABLE COMTNBLOGUSER +( + BLOG_ID CHAR(20) NOT NULL, + EMPLYR_ID VARCHAR(20) NOT NULL, + MNGR_AT CHAR(1) NOT NULL, + MBER_STTUS VARCHAR(15) NULL, + SBSCRB_DE DATE NULL, + SECSN_DE CHAR(20) NULL, + USE_AT CHAR(1) NULL, + FRST_REGIST_PNTTM DATE NOT NULL, + FRST_REGISTER_ID VARCHAR(20) NOT NULL, + LAST_UPDT_PNTTM DATE NULL, + LAST_UPDUSR_ID VARCHAR(20) NULL, + CONSTRAINT COMTNBLOGUSER_PK PRIMARY KEY (BLOG_ID,EMPLYR_ID), + CONSTRAINT COMTNBLOGUSER_FK1 FOREIGN KEY (BLOG_ID) REFERENCES COMTNBLOG(BLOG_ID) +); Index: base3.10/script/postgres3.erm =================================================================== --- base3.10/script/postgres3.erm (nonexistent) +++ base3.10/script/postgres3.erm (revision 7) @@ -0,0 +1,16352 @@ +<?xml version="1.0" encoding="UTF-8"?> +<diagram> + <page_setting> + <direction_horizontal>true</direction_horizontal> + <scale>100</scale> + <paper_size>A4 210 x 297 mm</paper_size> + <top_margin>30</top_margin> + <left_margin>30</left_margin> + <bottom_margin>30</bottom_margin> + <right_margin>30</right_margin> + </page_setting> + <category_index>0</category_index> + <zoom>0.25</zoom> + <x>0</x> + <y>0</y> + <default_color> + <r>255</r> + <g>128</g> + <b>64</b> + </default_color> + <color> + <r>255</r> + <g>255</g> + <b>255</b> + </color> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <settings> + <database>PostgreSQL</database> + <capital>false</capital> + <table_style></table_style> + <notation></notation> + <notation_level>5</notation_level> + <notation_expand_group>true</notation_expand_group> + <view_mode>0</view_mode> + <outline_view_mode>1</outline_view_mode> + <view_order_by>1</view_order_by> + <auto_ime_change>false</auto_ime_change> + <validate_physical_name>true</validate_physical_name> + <use_bezier_curve>false</use_bezier_curve> + <suspend_validator>false</suspend_validator> + <export_setting> + <export_ddl_setting> + <output_path></output_path> + <encoding></encoding> + <line_feed></line_feed> + <is_open_after_saved>true</is_open_after_saved> + <environment_id>null</environment_id> + <category_id>null</category_id> + <ddl_target> + <create_comment>true</create_comment> + <create_foreignKey>true</create_foreignKey> + <create_index>true</create_index> + <create_sequence>true</create_sequence> + <create_table>true</create_table> + <create_tablespace>true</create_tablespace> + <create_trigger>true</create_trigger> + <create_view>true</create_view> + <drop_index>true</drop_index> + <drop_sequence>true</drop_sequence> + <drop_table>true</drop_table> + <drop_tablespace>true</drop_tablespace> + <drop_trigger>true</drop_trigger> + <drop_view>true</drop_view> + <inline_column_comment>true</inline_column_comment> + <inline_table_comment>true</inline_table_comment> + <comment_value_description>true</comment_value_description> + <comment_value_logical_name>false</comment_value_logical_name> + <comment_value_logical_name_description>false</comment_value_logical_name_description> + <comment_replace_line_feed>false</comment_replace_line_feed> + <comment_replace_string></comment_replace_string> + </ddl_target> + </export_ddl_setting> + <export_excel_setting> + <category_id>null</category_id> + <output_path></output_path> + <template></template> + <template_path></template_path> + <used_default_template_lang></used_default_template_lang> + <image_output></image_output> + <is_open_after_saved>true</is_open_after_saved> + <is_put_diagram>true</is_put_diagram> + <is_use_logical_name>true</is_use_logical_name> + </export_excel_setting> + <export_html_setting> + <output_dir></output_dir> + <with_category_image>true</with_category_image> + <with_image>true</with_image> + <is_open_after_saved>true</is_open_after_saved> + </export_html_setting> + <export_image_setting> + <output_file_path></output_file_path> + <category_dir_path></category_dir_path> + <with_category_image>true</with_category_image> + <is_open_after_saved>true</is_open_after_saved> + </export_image_setting> + <export_java_setting> + <java_output></java_output> + <package_name></package_name> + <class_name_suffix></class_name_suffix> + <src_file_encoding></src_file_encoding> + <with_hibernate>false</with_hibernate> + </export_java_setting> + <export_testdata_setting> + <file_encoding></file_encoding> + <file_path></file_path> + <format>0</format> + </export_testdata_setting> + </export_setting> + <category_settings> + <free_layout>false</free_layout> + <show_referred_tables>false</show_referred_tables> + <categories> + <category> + <id>36</id> + <height>167</height> + <width>361</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>12</x> + <y>432</y> + <color> + <r>255</r> + <g>128</g> + <b>64</b> + </color> + <connections> + </connections> + <name>기타</name> + <selected>true</selected> + <node_element>19</node_element> + <node_element>23</node_element> + </category> + <category> + <id>37</id> + <height>400</height> + <width>725</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>20</x> + <y>0</y> + <color> + <r>255</r> + <g>128</g> + <b>64</b> + </color> + <connections> + </connections> + <name>공통코드</name> + <selected>true</selected> + <node_element>24</node_element> + <node_element>20</node_element> + <node_element>21</node_element> + </category> + <category> + <id>38</id> + <height>864</height> + <width>1416</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>4</x> + <y>2028</y> + <color> + <r>255</r> + <g>128</g> + <b>64</b> + </color> + <connections> + </connections> + <name>권한&amp;메뉴</name> + <selected>true</selected> + <node_element>29</node_element> + <node_element>18</node_element> + <node_element>5</node_element> + <node_element>30</node_element> + <node_element>8</node_element> + <node_element>16</node_element> + <node_element>7</node_element> + <node_element>28</node_element> + <node_element>15</node_element> + <node_element>3</node_element> + <node_element>4</node_element> + </category> + <category> + <id>39</id> + <height>1185</height> + <width>1220</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>4</x> + <y>785</y> + <color> + <r>255</r> + <g>128</g> + <b>64</b> + </color> + <connections> + </connections> + <name>사용자</name> + <selected>true</selected> + <node_element>0</node_element> + <node_element>17</node_element> + <node_element>25</node_element> + <node_element>31</node_element> + <node_element>10</node_element> + <node_element>6</node_element> + <node_element>11</node_element> + <node_element>27</node_element> + </category> + <category> + <id>40</id> + <height>440</height> + <width>994</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1164</x> + <y>84</y> + <color> + <r>255</r> + <g>128</g> + <b>64</b> + </color> + <connections> + </connections> + <name>로그</name> + <selected>true</selected> + <node_element>1</node_element> + <node_element>26</node_element> + <node_element>22</node_element> + <node_element>32</node_element> + <node_element>2</node_element> + </category> + <category> + <id>41</id> + <height>1041</height> + <width>853</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1476</x> + <y>771</y> + <color> + <r>255</r> + <g>128</g> + <b>64</b> + </color> + <connections> + </connections> + <name>게시판</name> + <selected>true</selected> + <node_element>14</node_element> + <node_element>12</node_element> + <node_element>33</node_element> + <node_element>35</node_element> + <node_element>9</node_element> + <node_element>13</node_element> + <node_element>34</node_element> + </category> + </categories> + </category_settings> + <translation_settings> + <use>false</use> + <translations> + </translations> + </translation_settings> + <model_properties> + <id></id> + <height>-1</height> + <width>-1</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>50</x> + <y>50</y> + <color> + <r>255</r> + <g>255</g> + <b>255</b> + </color> + <connections> + </connections> + <display>false</display> + <creation_date>2022-01-26 16:20:32</creation_date> + <updated_date>2022-01-27 18:57:38</updated_date> + <model_property> + <name>프로젝트명</name> + <value></value> + </model_property> + <model_property> + <name>모델명</name> + <value></value> + </model_property> + <model_property> + <name>버전</name> + <value></value> + </model_property> + <model_property> + <name>회사명</name> + <value></value> + </model_property> + <model_property> + <name>작성자</name> + <value></value> + </model_property> + </model_properties> + <table_properties> + <schema></schema> + <without_oids>true</without_oids> + </table_properties> + <environment_setting> + <environment> + <id>0</id> + <name>기본</name> + </environment> + </environment_setting> + </settings> + <dictionary> + <word> + <id>0</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주소</description> + <logical_name>주소</logical_name> + <physical_name>adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>1</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>댓글</description> + <logical_name>댓글</logical_name> + <physical_name>answer</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>2</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>댓글여부</description> + <logical_name>댓글여부</logical_name> + <physical_name>answer_at</physical_name> + <type>char</type> + </word> + <word> + <id>3</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>댓글위치</description> + <logical_name>댓글위치</logical_name> + <physical_name>answer_lc</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>4</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>댓글번호</description> + <logical_name>댓글번호</logical_name> + <physical_name>answer_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>5</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>신청자이메일주소</description> + <logical_name>신청자이메일주소</logical_name> + <physical_name>applcnt_email_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>6</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>신청인주민등록번호</description> + <logical_name>신청인주민등록번호</logical_name> + <physical_name>applcnt_ihidnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>7</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>신청인명</description> + <logical_name>신청인명</logical_name> + <physical_name>applcnt_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>8</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>지역번호</description> + <logical_name>지역번호</logical_name> + <physical_name>area_no</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>9</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>첨부파일ID</description> + <logical_name>첨부파일ID</logical_name> + <physical_name>atch_file_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>10</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>첨부가능파일숫자</description> + <logical_name>첨부가능파일숫자</logical_name> + <physical_name>atch_posbl_file_number</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>11</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>첨부가능파일사이즈</description> + <logical_name>첨부가능파일사이즈</logical_name> + <physical_name>atch_posbl_file_size</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>12</id> + <length>30</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>권한코드</description> + <logical_name>권한코드</logical_name> + <physical_name>author_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>13</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>권한생성일</description> + <logical_name>권한생성일</logical_name> + <physical_name>author_creat_de</physical_name> + <type>timestamp</type> + </word> + <word> + <id>14</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>권한설명</description> + <logical_name>권한설명</logical_name> + <physical_name>author_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>15</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>권한명</description> + <logical_name>권한명</logical_name> + <physical_name>author_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>16</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시판ID</description> + <logical_name>게시판ID</logical_name> + <physical_name>bbs_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>17</id> + <length>2400</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시판소개</description> + <logical_name>게시판소개</logical_name> + <physical_name>bbs_intrcn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>18</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시판명</description> + <logical_name>게시판명</logical_name> + <physical_name>bbs_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>19</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시판유형코드</description> + <logical_name>게시판유형코드</logical_name> + <physical_name>bbs_ty_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>20</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사업자등록번호</description> + <logical_name>사업자등록번호</logical_name> + <physical_name>bizrno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>21</id> + <length>2</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>블로그 여부</description> + <logical_name>블로그 여부</logical_name> + <physical_name>blog_at</physical_name> + <type>character(n)</type> + </word> + <word> + <id>22</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>블로그 ID</description> + <logical_name>블로그 ID</logical_name> + <physical_name>blog_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>23</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>생일</description> + <logical_name>생일</logical_name> + <physical_name>brthdy</physical_name> + <type>character(n)</type> + </word> + <word> + <id>24</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>변경일</description> + <logical_name>변경일</logical_name> + <physical_name>change_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>25</id> + <length>1000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>변경요청내용</description> + <logical_name>변경요청내용</logical_name> + <physical_name>change_requst_cn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>26</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description></description> + <logical_name>chg_pwd_last_pnttm</logical_name> + <physical_name>chg_pwd_last_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>27</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>분류코드</description> + <logical_name>분류코드</logical_name> + <physical_name>cl_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>28</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>분류코드설명</description> + <logical_name>분류코드설명</logical_name> + <physical_name>cl_code_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>29</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>분류코드명</description> + <logical_name>분류코드명</logical_name> + <physical_name>cl_code_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>30</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>커뮤니티ID</description> + <logical_name>커뮤니티ID</logical_name> + <physical_name>cmmnty_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>31</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회사명</description> + <logical_name>회사명</logical_name> + <physical_name>cmpny_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>32</id> + <length>15</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드</description> + <logical_name>코드</logical_name> + <physical_name>code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>33</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드설명</description> + <logical_name>코드설명</logical_name> + <physical_name>code_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>34</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드ID</description> + <logical_name>코드ID</logical_name> + <physical_name>code_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>35</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드ID설명</description> + <logical_name>코드ID설명</logical_name> + <physical_name>code_id_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>36</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드ID명</description> + <logical_name>코드ID명</logical_name> + <physical_name>code_id_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>37</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>코드명</description> + <logical_name>코드명</logical_name> + <physical_name>code_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>38</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>접속ID</description> + <logical_name>접속ID</logical_name> + <physical_name>conect_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>39</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>접속IP</description> + <logical_name>접속IP</logical_name> + <physical_name>conect_ip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>40</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>접속방식</description> + <logical_name>접속방식</logical_name> + <physical_name>conect_mthd</physical_name> + <type>character(n)</type> + </word> + <word> + <id>41</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>생성자ID</description> + <logical_name>생성자ID</logical_name> + <physical_name>creatr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>42</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>생성수</description> + <logical_name>생성수</logical_name> + <physical_name>creat_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>43</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>생성일시</description> + <logical_name>생성일시</logical_name> + <physical_name>creat_dt</physical_name> + <type>timestamp</type> + </word> + <word> + <id>44</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>인증DN값</description> + <logical_name>인증DN값</logical_name> + <physical_name>crtfc_dn_value</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>45</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>대표이사</description> + <logical_name>대표이사</logical_name> + <physical_name>cxfc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>46</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>삭제수</description> + <logical_name>삭제수</logical_name> + <physical_name>delete_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>47</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>상세주소</description> + <logical_name>상세주소</logical_name> + <physical_name>detail_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>48</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>중복허용여부</description> + <logical_name>중복허용여부</logical_name> + <physical_name>dplct_perm_at</physical_name> + <type>char</type> + </word> + <word> + <id>49</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이메일주소</description> + <logical_name>이메일주소</logical_name> + <physical_name>email_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>50</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>업무사용자ID</description> + <logical_name>업무사용자ID</logical_name> + <physical_name>emplyr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>51</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용자상태코드</description> + <logical_name>사용자상태코드</logical_name> + <physical_name>emplyr_sttus_code</physical_name> + <type>char</type> + </word> + <word> + <id>52</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사원번호</description> + <logical_name>사원번호</logical_name> + <physical_name>empl_no</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>53</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>끝전화번호</description> + <logical_name>끝전화번호</logical_name> + <physical_name>end_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>54</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업끝전화번호</description> + <logical_name>기업끝전화번호</logical_name> + <physical_name>entrprs_end_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>55</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업회원ID</description> + <logical_name>기업회원ID</logical_name> + <physical_name>entrprs_mber_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>56</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업회원비밀번호</description> + <logical_name>기업회원비밀번호</logical_name> + <physical_name>entrprs_mber_password</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>57</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업회원비밀번호정답</description> + <logical_name>기업회원비밀번호정답</logical_name> + <physical_name>entrprs_mber_password_cnsr</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>58</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업회원비밀번호힌트</description> + <logical_name>기업회원비밀번호힌트</logical_name> + <physical_name>entrprs_mber_password_hint</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>59</id> + <length>15</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업회원상태</description> + <logical_name>기업회원상태</logical_name> + <physical_name>entrprs_mber_sttus</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>60</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업중간전화번호</description> + <logical_name>기업중간전화번호</logical_name> + <physical_name>entrprs_middle_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>61</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기업구분코드</description> + <logical_name>기업구분코드</logical_name> + <physical_name>entrprs_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>62</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>오류수</description> + <logical_name>오류수</logical_name> + <physical_name>error_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>63</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>오류코드</description> + <logical_name>오류코드</logical_name> + <physical_name>error_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>64</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>오류발생여부</description> + <logical_name>오류발생여부</logical_name> + <physical_name>error_occrrnc_at</physical_name> + <type>char</type> + </word> + <word> + <id>65</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>오류구분</description> + <logical_name>오류구분</logical_name> + <physical_name>error_se</physical_name> + <type>char</type> + </word> + <word> + <id>66</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>고유ID</description> + <logical_name>고유ID</logical_name> + <physical_name>esntl_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>67</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>고유ID</description> + <logical_name>고유ID</logical_name> + <physical_name>esntl_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>68</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일첨부가능여부</description> + <logical_name>파일첨부가능여부</logical_name> + <physical_name>file_atch_posbl_at</physical_name> + <type>char</type> + </word> + <word> + <id>69</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일내용</description> + <logical_name>파일내용</logical_name> + <physical_name>file_cn</physical_name> + <type>text</type> + </word> + <word> + <id>70</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일확장자</description> + <logical_name>파일확장자</logical_name> + <physical_name>file_extsn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>71</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일크기</description> + <logical_name>파일크기</logical_name> + <physical_name>file_size</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>72</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일순번</description> + <logical_name>파일순번</logical_name> + <physical_name>file_sn</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>73</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>파일저장경로</description> + <logical_name>파일저장경로</logical_name> + <physical_name>file_stre_cours</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>74</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최초등록자ID</description> + <logical_name>최초등록자ID</logical_name> + <physical_name>frst_register_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>75</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최초등록시점</description> + <logical_name>최초등록시점</logical_name> + <physical_name>frst_regist_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>76</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>팩스번호</description> + <logical_name>팩스번호</logical_name> + <physical_name>fxnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>77</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>그룹생성일</description> + <logical_name>그룹생성일</logical_name> + <physical_name>group_creat_de</physical_name> + <type>timestamp</type> + </word> + <word> + <id>78</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>그룹설명</description> + <logical_name>그룹설명</logical_name> + <physical_name>group_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>79</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description></description> + <logical_name>group_id</logical_name> + <physical_name>group_id</physical_name> + <type></type> + </word> + <word> + <id>80</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>그룹ID</description> + <logical_name>그룹ID</logical_name> + <physical_name>group_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>81</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>그룹명</description> + <logical_name>그룹명</logical_name> + <physical_name>group_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>82</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주택주소</description> + <logical_name>주택주소</logical_name> + <physical_name>house_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>83</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주택끝전화번호</description> + <logical_name>주택끝전화번호</logical_name> + <physical_name>house_end_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>84</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주택중간전화번호</description> + <logical_name>주택중간전화번호</logical_name> + <physical_name>house_middle_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>85</id> + <length>30</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>IDGEN다음ID</description> + <logical_name>IDGEN다음ID</logical_name> + <physical_name>idgen_next_id</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>86</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>IDGEN테이블명</description> + <logical_name>IDGEN테이블명</logical_name> + <physical_name>idgen_table_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>87</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주민등록번호</description> + <logical_name>주민등록번호</logical_name> + <physical_name>ihidnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>88</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>업종코드</description> + <logical_name>업종코드</logical_name> + <physical_name>induty_code</physical_name> + <type>char</type> + </word> + <word> + <id>89</id> + <length>7</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>기관코드</description> + <logical_name>기관코드</logical_name> + <physical_name>instt_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>90</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>IP정보</description> + <logical_name>IP정보</logical_name> + <physical_name>ip_info</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>91</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>업무구분코드</description> + <logical_name>업무구분코드</logical_name> + <physical_name>job_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>92</id> + <length>13</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>법인등록번호</description> + <logical_name>법인등록번호</logical_name> + <physical_name>jurirno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>93</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최종수정시점</description> + <logical_name>최종수정시점</logical_name> + <physical_name>last_updt_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>94</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>최종수정자ID</description> + <logical_name>최종수정자ID</logical_name> + <physical_name>last_updusr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>95</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>제한여부</description> + <logical_name>제한여부</logical_name> + <physical_name>lmtt_at</physical_name> + <type>char</type> + </word> + <word> + <id>96</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>잠금여부</description> + <logical_name>잠금여부</logical_name> + <physical_name>lock_at</physical_name> + <type>char</type> + </word> + <word> + <id>97</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>잠금회수</description> + <logical_name>잠금회수</logical_name> + <physical_name>lock_cnt</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>98</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>잠금최종시점</description> + <logical_name>잠금최종시점</logical_name> + <physical_name>lock_last_pnttm</physical_name> + <type>timestamp</type> + </word> + <word> + <id>99</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>로그ID</description> + <logical_name>로그ID</logical_name> + <physical_name>log_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>100</id> + <length>30</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>매핑생성ID</description> + <logical_name>매핑생성ID</logical_name> + <physical_name>mapng_creat_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>101</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>매핑파일명</description> + <logical_name>매핑파일명</logical_name> + <physical_name>mapng_file_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>102</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>매핑파일경로</description> + <logical_name>매핑파일경로</logical_name> + <physical_name>mapng_file_path</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>103</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원이메일주소</description> + <logical_name>회원이메일주소</logical_name> + <physical_name>mber_email_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>104</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원팩스번호</description> + <logical_name>회원팩스번호</logical_name> + <physical_name>mber_fxnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>105</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원ID</description> + <logical_name>회원ID</logical_name> + <physical_name>mber_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>106</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원명</description> + <logical_name>회원명</logical_name> + <physical_name>mber_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>107</id> + <length>15</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원상태</description> + <logical_name>회원상태</logical_name> + <physical_name>mber_sttus</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>108</id> + <length>5</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원유형코드</description> + <logical_name>회원유형코드</logical_name> + <physical_name>mber_ty_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>109</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>이동전화번호</description> + <logical_name>이동전화번호</logical_name> + <physical_name>mbtlnum</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>110</id> + <length>250</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메뉴설명</description> + <logical_name>메뉴설명</logical_name> + <physical_name>menu_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>111</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메뉴ID</description> + <logical_name>메뉴ID</logical_name> + <physical_name>menu_id</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>112</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메뉴명</description> + <logical_name>메뉴명</logical_name> + <physical_name>menu_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>113</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메뉴번호</description> + <logical_name>메뉴번호</logical_name> + <physical_name>menu_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>114</id> + <length>5</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메뉴순서</description> + <logical_name>메뉴순서</logical_name> + <physical_name>menu_ordr</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>115</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>메서드명</description> + <logical_name>메서드명</logical_name> + <physical_name>method_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>116</id> + <length>4</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>중간전화번호</description> + <logical_name>중간전화번호</logical_name> + <physical_name>middle_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>117</id> + <length>30</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>다음아이디</description> + <logical_name>다음아이디</logical_name> + <physical_name>next_id</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>118</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>공지사항여부</description> + <logical_name>공지사항여부</logical_name> + <physical_name>notice_at</physical_name> + <type>char</type> + </word> + <word> + <id>119</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시시작일</description> + <logical_name>게시시작일</logical_name> + <physical_name>ntce_bgnde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>120</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시종료일</description> + <logical_name>게시종료일</logical_name> + <physical_name>ntce_endde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>121</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시자ID</description> + <logical_name>게시자ID</logical_name> + <physical_name>ntcr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>122</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시자명</description> + <logical_name>게시자명</logical_name> + <physical_name>ntcr_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>123</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시물내용</description> + <logical_name>게시물내용</logical_name> + <physical_name>ntt_cn</physical_name> + <type>text</type> + </word> + <word> + <id>124</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시물ID</description> + <logical_name>게시물ID</logical_name> + <physical_name>ntt_id</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>125</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시물번호</description> + <logical_name>게시물번호</logical_name> + <physical_name>ntt_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>126</id> + <length>2000</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>게시물제목</description> + <logical_name>게시물제목</logical_name> + <physical_name>ntt_sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>127</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>발생일</description> + <logical_name>발생일</logical_name> + <physical_name>occrrnc_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>128</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>발생일</description> + <logical_name>발생일</logical_name> + <physical_name>occrrnc_de</physical_name> + <type>timestamp</type> + </word> + <word> + <id>129</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>직위명</description> + <logical_name>직위명</logical_name> + <physical_name>ofcps_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>130</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사무실전화번호</description> + <logical_name>사무실전화번호</logical_name> + <physical_name>offm_telno</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>131</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리자ID</description> + <logical_name>처리자ID</logical_name> + <physical_name>opetr_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>132</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조직설명</description> + <logical_name>조직설명</logical_name> + <physical_name>orgnzt_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>133</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description></description> + <logical_name>orgnzt_id</logical_name> + <physical_name>orgnzt_id</physical_name> + <type></type> + </word> + <word> + <id>134</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조직ID</description> + <logical_name>조직ID</logical_name> + <physical_name>orgnzt_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>135</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조직명</description> + <logical_name>조직명</logical_name> + <physical_name>orgnzt_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>136</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>원파일명</description> + <logical_name>원파일명</logical_name> + <physical_name>orignl_file_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>137</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>출력수</description> + <logical_name>출력수</logical_name> + <physical_name>outpt_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>138</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>부모글번호</description> + <logical_name>부모글번호</logical_name> + <physical_name>parntsctt_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>139</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비밀번호</description> + <logical_name>비밀번호</logical_name> + <physical_name>password</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>140</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비밀번호</description> + <logical_name>비밀번호</logical_name> + <physical_name>password</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>141</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비밀번호정답</description> + <logical_name>비밀번호정답</logical_name> + <physical_name>password_cnsr</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>142</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비밀번호힌트</description> + <logical_name>비밀번호힌트</logical_name> + <physical_name>password_hint</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>143</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리수</description> + <logical_name>처리수</logical_name> + <physical_name>process_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>144</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리일</description> + <logical_name>처리일</logical_name> + <physical_name>process_de</physical_name> + <type>character(n)</type> + </word> + <word> + <id>145</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리구분코드</description> + <logical_name>처리구분코드</logical_name> + <physical_name>process_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>146</id> + <length>15</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리상태코드</description> + <logical_name>처리상태코드</logical_name> + <physical_name>process_sttus_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>147</id> + <length>14</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>처리시간</description> + <logical_name>처리시간</logical_name> + <physical_name>process_time</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>148</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프로그램설명</description> + <logical_name>프로그램설명</logical_name> + <physical_name>progrm_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>149</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프로그램파일명</description> + <logical_name>프로그램파일명</logical_name> + <physical_name>progrm_file_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>150</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프로그램한글명</description> + <logical_name>프로그램한글명</logical_name> + <physical_name>progrm_korean_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>151</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>프로그램저장경로</description> + <logical_name>프로그램저장경로</logical_name> + <physical_name>progrm_stre_path</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>152</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>소속기관코드</description> + <logical_name>소속기관코드</logical_name> + <physical_name>pstinst_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>153</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>조회수</description> + <logical_name>조회수</logical_name> + <physical_name>rdcnt</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>154</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>등록구분코드</description> + <logical_name>등록구분코드</logical_name> + <physical_name>regist_se_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>155</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>관계이미지명</description> + <logical_name>관계이미지명</logical_name> + <physical_name>relate_image_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>156</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>관계이미지경로</description> + <logical_name>관계이미지경로</logical_name> + <physical_name>relate_image_path</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>157</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>답장가능여부</description> + <logical_name>답장가능여부</logical_name> + <physical_name>reply_posbl_at</physical_name> + <type>char</type> + </word> + <word> + <id>158</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청ID</description> + <logical_name>요청ID</logical_name> + <physical_name>requst_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>159</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청번호</description> + <logical_name>요청번호</logical_name> + <physical_name>requst_no</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>160</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청처리내용</description> + <logical_name>요청처리내용</logical_name> + <physical_name>requst_process_cn</physical_name> + <type>text</type> + </word> + <word> + <id>161</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청제목</description> + <logical_name>요청제목</logical_name> + <physical_name>requst_sj</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>162</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤코드</description> + <logical_name>롤코드</logical_name> + <physical_name>role_code</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>163</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤생성일</description> + <logical_name>롤생성일</logical_name> + <physical_name>role_creat_de</physical_name> + <type>timestamp</type> + </word> + <word> + <id>164</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤설명</description> + <logical_name>롤설명</logical_name> + <physical_name>role_dc</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>165</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤명</description> + <logical_name>롤명</logical_name> + <physical_name>role_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>166</id> + <length>300</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤패턴</description> + <logical_name>롤패턴</logical_name> + <physical_name>role_pttrn</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>167</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤정렬</description> + <logical_name>롤정렬</logical_name> + <physical_name>role_sort</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>168</id> + <length>80</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>롤유형</description> + <logical_name>롤유형</logical_name> + <physical_name>role_ty</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>169</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청일</description> + <logical_name>요청일</logical_name> + <physical_name>rqestde</physical_name> + <type>character(n)</type> + </word> + <word> + <id>170</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청자ID</description> + <logical_name>요청자ID</logical_name> + <physical_name>rqester_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>171</id> + <length>23</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>요청자IP</description> + <logical_name>요청자IP</logical_name> + <physical_name>rqester_ip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>172</id> + <length>3</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>응답코드</description> + <logical_name>응답코드</logical_name> + <physical_name>rspns_code</physical_name> + <type>character(n)</type> + </word> + <word> + <id>173</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>가입일자</description> + <logical_name>가입일자</logical_name> + <physical_name>sbscrb_de</physical_name> + <type>timestamp</type> + </word> + <word> + <id>174</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>보안설정대상ID</description> + <logical_name>보안설정대상ID</logical_name> + <physical_name>scrty_dtrmn_trget_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>175</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>비밀글여부</description> + <logical_name>비밀글여부</logical_name> + <physical_name>secret_at</physical_name> + <type>char</type> + </word> + <word> + <id>176</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>성별코드</description> + <logical_name>성별코드</logical_name> + <physical_name>sexdstn_code</physical_name> + <type>char</type> + </word> + <word> + <id>177</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>제목볼드여부</description> + <logical_name>제목볼드여부</logical_name> + <physical_name>sj_bold_at</physical_name> + <type>char</type> + </word> + <word> + <id>178</id> + <length>8</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>정렬순서</description> + <logical_name>정렬순서</logical_name> + <physical_name>sort_ordr</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>179</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>저장파일명</description> + <logical_name>저장파일명</logical_name> + <physical_name>stre_file_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>180</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>만족도여부</description> + <logical_name>만족도여부</logical_name> + <physical_name>stsfdg_at</physical_name> + <type>char</type> + </word> + <word> + <id>181</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>서비스명</description> + <logical_name>서비스명</logical_name> + <physical_name>svc_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>182</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>테이블명</description> + <logical_name>테이블명</logical_name> + <physical_name>table_name</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>183</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>템플릿ID</description> + <logical_name>템플릿ID</logical_name> + <physical_name>tmplat_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>184</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>대상ID</description> + <logical_name>대상ID</logical_name> + <physical_name>trget_id</physical_name> + <type>character(n)</type> + </word> + <word> + <id>185</id> + <length>255</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>대상메뉴명</description> + <logical_name>대상메뉴명</logical_name> + <physical_name>trget_menu_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>186</id> + <length>10</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>수정수</description> + <logical_name>수정수</logical_name> + <physical_name>updt_co</physical_name> + <type>numeric(p)</type> + </word> + <word> + <id>187</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>URL</description> + <logical_name>URL</logical_name> + <physical_name>url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>188</id> + <length>200</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>URL</description> + <logical_name>URL</logical_name> + <physical_name>url</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>189</id> + <length>100</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>주소</description> + <logical_name>주소</logical_name> + <physical_name>user_adres</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>190</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원이메일주소</description> + <logical_name>회원이메일주소</logical_name> + <physical_name>user_email</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>191</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원ID</description> + <logical_name>회원ID</logical_name> + <physical_name>user_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>192</id> + <length>60</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용자명</description> + <logical_name>사용자명</logical_name> + <physical_name>user_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>193</id> + <length>50</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>회원명</description> + <logical_name>회원명</logical_name> + <physical_name>user_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>194</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>false</char_semantics> + <description></description> + <logical_name>user_se</logical_name> + <physical_name>user_se</physical_name> + <type></type> + </word> + <word> + <id>195</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>우편번호</description> + <logical_name>우편번호</logical_name> + <physical_name>user_zip</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>196</id> + <length>null</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>사용여부</description> + <logical_name>사용여부</logical_name> + <physical_name>use_at</physical_name> + <type>char</type> + </word> + <word> + <id>197</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>작성자ID</description> + <logical_name>작성자ID</logical_name> + <physical_name>wrter_id</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>198</id> + <length>20</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>작성자명</description> + <logical_name>작성자명</logical_name> + <physical_name>wrter_nm</physical_name> + <type>varchar(n)</type> + </word> + <word> + <id>199</id> + <length>6</length> + <decimal>null</decimal> + <array>false</array> + <array_dimension>null</array_dimension> + <unsigned>false</unsigned> + <zerofill>false</zerofill> + <binary>false</binary> + <args></args> + <char_semantics>true</char_semantics> + <description>우편번호</description> + <logical_name>우편번호</logical_name> + <physical_name>zip</physical_name> + <type>varchar(n)</type> + </word> + </dictionary> + <tablespace_set> + </tablespace_set> + <contents> + <view> + <id>0</id> + <height>254</height> + <width>148</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>408</x> + <y>1584</y> + <color> + <r>255</r> + <g>128</g> + <b>64</b> + </color> + <connections> + </connections> + <physical_name>comvnusermaster</physical_name> + <logical_name>사용자정보뷰</logical_name> + <description>사용자정보뷰</description> + <sql>SELECT comtngnrlmber.esntl_id,&#x0D;&#x0A; comtngnrlmber.mber_id AS user_id,&#x0D;&#x0A; comtngnrlmber.password,&#x0D;&#x0A; comtngnrlmber.mber_nm AS user_nm,&#x0D;&#x0A; comtngnrlmber.zip AS user_zip,&#x0D;&#x0A; comtngnrlmber.adres AS user_adres,&#x0D;&#x0A; comtngnrlmber.mber_email_adres AS user_email,&#x0D;&#x0A; &apos; &apos;::bpchar AS group_id,&#x0D;&#x0A; &apos;GNR&apos;::text AS user_se,&#x0D;&#x0A; &apos; &apos;::bpchar AS orgnzt_id&#x0D;&#x0A; FROM comtngnrlmber&#x0D;&#x0A;UNION ALL&#x0D;&#x0A; SELECT comtnemplyrinfo.esntl_id,&#x0D;&#x0A; comtnemplyrinfo.emplyr_id AS user_id,&#x0D;&#x0A; comtnemplyrinfo.password,&#x0D;&#x0A; comtnemplyrinfo.user_nm,&#x0D;&#x0A; comtnemplyrinfo.zip AS user_zip,&#x0D;&#x0A; comtnemplyrinfo.house_adres AS user_adres,&#x0D;&#x0A; comtnemplyrinfo.email_adres AS user_email,&#x0D;&#x0A; comtnemplyrinfo.group_id,&#x0D;&#x0A; &apos;USR&apos;::text AS user_se,&#x0D;&#x0A; comtnemplyrinfo.orgnzt_id&#x0D;&#x0A; FROM comtnemplyrinfo&#x0D;&#x0A;UNION ALL&#x0D;&#x0A; SELECT comtnentrprsmber.esntl_id,&#x0D;&#x0A; comtnentrprsmber.entrprs_mber_id AS user_id,&#x0D;&#x0A; comtnentrprsmber.entrprs_mber_password AS password,&#x0D;&#x0A; comtnentrprsmber.cmpny_nm AS user_nm,&#x0D;&#x0A; comtnentrprsmber.zip AS user_zip,&#x0D;&#x0A; comtnentrprsmber.adres AS user_adres,&#x0D;&#x0A; comtnentrprsmber.applcnt_email_adres AS user_email,&#x0D;&#x0A; &apos; &apos;::bpchar AS group_id,&#x0D;&#x0A; &apos;ENT&apos;::text AS user_se,&#x0D;&#x0A; &apos; &apos;::bpchar AS orgnzt_id&#x0D;&#x0A; FROM comtnentrprsmber&#x0D;&#x0A; ORDER BY 1;</sql> + <columns> + <normal_column> + <word_id>67</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>191</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>139</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>193</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>195</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>189</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>190</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>79</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type></type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>194</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type></type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>133</word_id> + <id>null</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type></type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <view_properties> + <schema>public</schema> + </view_properties> + </view> + <table> + <id>1</id> + <height>107</height> + <width>175</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1349</x> + <y>114</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtsweblogsummary</physical_name> + <logical_name>웹로그 요약</logical_name> + <description>웹로그 요약</description> + <constraint></constraint> + <primary_key_name>comtsweblogsummary_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>127</word_id> + <id>0</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>188</word_id> + <id>1</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>153</word_id> + <id>2</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>2</id> + <height>233</height> + <width>169</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1770</x> + <y>114</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtssyslogsummary</physical_name> + <logical_name>시스템로그요약</logical_name> + <description>시스템로그요약</description> + <constraint></constraint> + <primary_key_name>comtssyslogsummary_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>127</word_id> + <id>3</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>181</word_id> + <id>4</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>115</word_id> + <id>5</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>42</word_id> + <id>6</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>186</word_id> + <id>7</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>153</word_id> + <id>8</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>46</word_id> + <id>9</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>137</word_id> + <id>10</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>62</word_id> + <id>11</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>3</id> + <height>86</height> + <width>167</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>548</x> + <y>2604</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>0</id> + <source>16</source> + <target>3</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnroles_hierarchy_parnts_role_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>1</id> + <source>16</source> + <target>3</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnroles_hierarchy_chldrn_role_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnroles_hierarchy</physical_name> + <logical_name>롤 계층구조</logical_name> + <description>롤 계층구조</description> + <constraint></constraint> + <primary_key_name>comtnroles_hierarchy_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>12</id> + <referenced_column>142</referenced_column> + <relation>0</relation> + <description>부모롤</description> + <unique_key_name></unique_key_name> + <logical_name>부모롤</logical_name> + <physical_name>parnts_role</physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>true</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>13</id> + <referenced_column>142</referenced_column> + <relation>1</relation> + <description>자식롤</description> + <unique_key_name></unique_key_name> + <logical_name>자식롤</logical_name> + <physical_name>chldrn_role</physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnroles_hierarchy_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>13</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>4</id> + <height>191</height> + <width>129</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>80</x> + <y>2346</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnroleinfo</physical_name> + <logical_name>롤정보</logical_name> + <description>롤정보</description> + <constraint></constraint> + <primary_key_name>comtnroleinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>162</word_id> + <id>14</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>165</word_id> + <id>15</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>166</word_id> + <id>16</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>164</word_id> + <id>17</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>168</word_id> + <id>18</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>167</word_id> + <id>19</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>163</word_id> + <id>20</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>5</id> + <height>149</height> + <width>157</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>906</x> + <y>2131</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnprogrmlist</physical_name> + <logical_name>프로그램목록</logical_name> + <description>프로그램목록</description> + <constraint></constraint> + <primary_key_name>comtnprogrmlist_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>149</word_id> + <id>21</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>151</word_id> + <id>22</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>150</word_id> + <id>23</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>148</word_id> + <id>24</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>187</word_id> + <id>25</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>6</id> + <height>107</height> + <width>144</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>96</x> + <y>1390</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnorgnztinfo</physical_name> + <logical_name>조직정보</logical_name> + <description>조직정보</description> + <constraint></constraint> + <primary_key_name>comtnorgnztinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>134</word_id> + <id>26</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>135</word_id> + <id>27</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>132</word_id> + <id>28</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>7</id> + <height>212</height> + <width>145</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>906</x> + <y>2340</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>2</id> + <source>5</source> + <target>7</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmenuinfo_progrm_file_nm_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>3</id> + <source>7</source> + <target>7</target> + <source_xp>100</source_xp> + <source_yp>50</source_yp> + <target_xp>50</target_xp> + <target_yp>100</target_yp> + <bendpoint> + <relative>true</relative> + <x>100</x> + <y>100</y> + </bendpoint> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmenuinfo_upper_menu_no_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnmenuinfo</physical_name> + <logical_name>메뉴정보</logical_name> + <description>메뉴정보</description> + <constraint></constraint> + <primary_key_name>comtnmenuinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>112</word_id> + <id>29</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>30</id> + <referenced_column>21</referenced_column> + <relation>2</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>113</word_id> + <id>31</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>32</id> + <referenced_column>31</referenced_column> + <relation>3</relation> + <description>상위메뉴번호</description> + <unique_key_name></unique_key_name> + <logical_name>상위메뉴번호</logical_name> + <physical_name>upper_menu_no</physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>114</word_id> + <id>33</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>110</word_id> + <id>34</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>156</word_id> + <id>35</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>155</word_id> + <id>36</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnmenuinfo_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>32</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>8</id> + <height>107</height> + <width>164</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>642</x> + <y>2392</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>4</id> + <source>16</source> + <target>8</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmenucreatdtls_author_code_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>5</id> + <source>7</source> + <target>8</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmenucreatdtls_menu_no_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>6</id> + <source>30</source> + <target>8</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnmenucreatdtls_mapng_creat_id_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnmenucreatdtls</physical_name> + <logical_name>메뉴생성내역</logical_name> + <description>메뉴생성내역</description> + <constraint></constraint> + <primary_key_name>comtnmenucreatdtls_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>37</id> + <referenced_column>31</referenced_column> + <relation>5</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>38</id> + <referenced_column>142</referenced_column> + <relation>4</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>39</id> + <referenced_column>241</referenced_column> + <relation>6</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnmenucreatdtls_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>37</id> + <desc>false</desc> + </column> + </columns> + </inidex> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnmenucreatdtls_i03</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>39</id> + <desc>false</desc> + </column> + </columns> + </inidex> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnmenucreatdtls_i04</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>38</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>9</id> + <height>212</height> + <width>133</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2112</x> + <y>1583</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>7</id> + <source>34</source> + <target>9</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnfiledetail_atch_file_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnfiledetail</physical_name> + <logical_name>파일상세정보</logical_name> + <description>파일상세정보</description> + <constraint></constraint> + <primary_key_name>comtnfiledetail_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>40</id> + <referenced_column>293</referenced_column> + <relation>7</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>72</word_id> + <id>41</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>73</word_id> + <id>42</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>179</word_id> + <id>43</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>136</word_id> + <id>44</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>70</word_id> + <id>45</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>69</word_id> + <id>46</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>71</word_id> + <id>47</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnfiledetail_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>40</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>10</id> + <height>632</height> + <width>181</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>984</x> + <y>818</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>8</id> + <source>17</source> + <target>10</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnentrprsmber_group_id_fkey</name> + <on_delete_action>SET NULL</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnentrprsmber</physical_name> + <logical_name>기업회원</logical_name> + <description>기업회원</description> + <constraint></constraint> + <primary_key_name>comtnentrprsmber_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>55</word_id> + <id>48</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>61</word_id> + <id>49</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>20</word_id> + <id>50</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>92</word_id> + <id>51</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>31</word_id> + <id>52</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>45</word_id> + <id>53</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>199</word_id> + <id>54</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>0</word_id> + <id>55</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>60</word_id> + <id>56</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>76</word_id> + <id>57</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>88</word_id> + <id>58</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>7</word_id> + <id>59</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>6</word_id> + <id>60</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>173</word_id> + <id>61</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>59</word_id> + <id>62</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>56</word_id> + <id>63</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>58</word_id> + <id>64</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>57</word_id> + <id>65</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>66</id> + <referenced_column>146</referenced_column> + <relation>8</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>47</word_id> + <id>67</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>54</word_id> + <id>68</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>8</word_id> + <id>69</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>5</word_id> + <id>70</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>66</word_id> + <id>71</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>96</word_id> + <id>72</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>97</word_id> + <id>73</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>98</word_id> + <id>74</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>26</word_id> + <id>75</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnentrprsmber_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>66</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>11</id> + <height>695</height> + <width>170</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>408</x> + <y>818</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>9</id> + <source>6</source> + <target>11</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnemplyrinfo_orgnzt_id_fkey</name> + <on_delete_action>SET NULL</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>10</id> + <source>17</source> + <target>11</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnemplyrinfo_group_id_fkey</name> + <on_delete_action>SET NULL</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnemplyrinfo</physical_name> + <logical_name>업무사용자정보</logical_name> + <description>업무사용자정보</description> + <constraint></constraint> + <primary_key_name>comtnemplyrinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>50</word_id> + <id>76</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>77</id> + <referenced_column>26</referenced_column> + <relation>9</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>192</word_id> + <id>78</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>140</word_id> + <id>79</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>52</word_id> + <id>80</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>87</word_id> + <id>81</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>176</word_id> + <id>82</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>23</word_id> + <id>83</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>76</word_id> + <id>84</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>82</word_id> + <id>85</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>142</word_id> + <id>86</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>141</word_id> + <id>87</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>83</word_id> + <id>88</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>8</word_id> + <id>89</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>47</word_id> + <id>90</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>199</word_id> + <id>91</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>130</word_id> + <id>92</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>109</word_id> + <id>93</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>49</word_id> + <id>94</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>129</word_id> + <id>95</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>84</word_id> + <id>96</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>97</id> + <referenced_column>146</referenced_column> + <relation>10</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>152</word_id> + <id>98</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>51</word_id> + <id>99</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>66</word_id> + <id>100</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>44</word_id> + <id>101</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>173</word_id> + <id>102</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>96</word_id> + <id>103</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>97</word_id> + <id>104</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>98</word_id> + <id>105</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>26</word_id> + <id>106</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnemplyrinfo_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>77</id> + <desc>false</desc> + </column> + </columns> + </inidex> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnemplyrinfo_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>97</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>12</id> + <height>212</height> + <width>133</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1560</x> + <y>1536</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>11</id> + <source>14</source> + <target>12</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnbbsuse_bbs_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnbbsuse</physical_name> + <logical_name>게시판활용</logical_name> + <description>게시판활용</description> + <constraint></constraint> + <primary_key_name>comtnbbsuse_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>107</id> + <referenced_column>122</referenced_column> + <relation>11</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>184</word_id> + <id>108</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>109</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>154</word_id> + <id>110</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>75</word_id> + <id>111</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>74</word_id> + <id>112</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>93</word_id> + <id>113</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>94</word_id> + <id>114</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnbbsuse_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>107</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>13</id> + <height>191</height> + <width>168</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1549</x> + <y>814</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbbsmasteroptn</physical_name> + <logical_name>게시판마스터옵션</logical_name> + <description>게시판마스터옵션</description> + <constraint></constraint> + <primary_key_name>comtnbbsmasteroptn_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>16</word_id> + <id>115</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>2</word_id> + <id>116</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>180</word_id> + <id>117</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>75</word_id> + <id>118</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>93</word_id> + <id>119</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>74</word_id> + <id>120</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>94</word_id> + <id>121</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>14</id> + <height>401</height> + <width>169</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1548</x> + <y>1080</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbbsmaster</physical_name> + <logical_name>게시판마스터</logical_name> + <description>게시판마스터</description> + <constraint></constraint> + <primary_key_name>comtnbbsmaster_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>16</word_id> + <id>122</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>18</word_id> + <id>123</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>17</word_id> + <id>124</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>19</word_id> + <id>125</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>157</word_id> + <id>126</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>68</word_id> + <id>127</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>10</word_id> + <id>128</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>11</word_id> + <id>129</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>130</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>183</word_id> + <id>131</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>30</word_id> + <id>132</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>74</word_id> + <id>133</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>75</word_id> + <id>134</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>94</word_id> + <id>135</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>93</word_id> + <id>136</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>22</word_id> + <id>137</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>21</word_id> + <id>138</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>15</id> + <height>107</height> + <width>172</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>279</x> + <y>2388</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>12</id> + <source>16</source> + <target>15</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnauthorrolerelate_author_code_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + <relation> + <id>13</id> + <source>4</source> + <target>15</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnauthorrolerelate_role_code_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnauthorrolerelate</physical_name> + <logical_name>권한롤관계</logical_name> + <description>권한롤관계</description> + <constraint></constraint> + <primary_key_name>comtnauthorrolerelate_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>139</id> + <referenced_column>142</referenced_column> + <relation>12</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>140</id> + <referenced_column>14</referenced_column> + <relation>13</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>43</word_id> + <id>141</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnauthorrolerelate_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>139</id> + <desc>false</desc> + </column> + </columns> + </inidex> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnauthorrolerelate_i02</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>140</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>16</id> + <height>128</height> + <width>144</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>293</x> + <y>2583</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnauthorinfo</physical_name> + <logical_name>권한정보</logical_name> + <description>권한정보</description> + <constraint></constraint> + <primary_key_name>comtnauthorinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>12</word_id> + <id>142</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>15</word_id> + <id>143</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>14</word_id> + <id>144</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>13</word_id> + <id>145</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>17</id> + <height>128</height> + <width>176</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>705</x> + <y>1111</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnauthorgroupinfo</physical_name> + <logical_name>권한그룹정보</logical_name> + <description>권한그룹정보</description> + <constraint></constraint> + <primary_key_name>comtnauthorgroupinfo_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>80</word_id> + <id>146</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>81</word_id> + <id>147</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>77</word_id> + <id>148</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>78</word_id> + <id>149</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>18</id> + <height>254</height> + <width>186</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1182</x> + <y>2079</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>14</id> + <source>5</source> + <target>18</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comthprogrmchangedtls_progrm_file_nm_fkey</name> + <on_delete_action>CASCADE</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comthprogrmchangedtls</physical_name> + <logical_name>프로그램변경내역</logical_name> + <description>프로그램변경내역</description> + <constraint></constraint> + <primary_key_name>comthprogrmchangedtls_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>150</id> + <referenced_column>21</referenced_column> + <relation>14</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>159</word_id> + <id>151</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>170</word_id> + <id>152</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>25</word_id> + <id>153</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>160</word_id> + <id>154</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>131</word_id> + <id>155</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>146</word_id> + <id>156</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>144</word_id> + <id>157</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>169</word_id> + <id>158</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>161</word_id> + <id>159</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comthprogrmchangedtls_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>150</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>19</id> + <height>86</height> + <width>125</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>40</x> + <y>499</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtecopseq</physical_name> + <logical_name>시퀀스저장</logical_name> + <description>시퀀스저장</description> + <constraint></constraint> + <primary_key_name>comtecopseq_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>182</word_id> + <id>160</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>117</word_id> + <id>161</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>20</id> + <height>233</height> + <width>177</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>536</x> + <y>120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>15</id> + <source>21</source> + <target>20</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtccmmndetailcode_code_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtccmmndetailcode</physical_name> + <logical_name>공통상세코드</logical_name> + <description>공통상세코드</description> + <constraint></constraint> + <primary_key_name>comtccmmndetailcode_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>162</id> + <referenced_column>171</referenced_column> + <relation>15</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>32</word_id> + <id>163</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>37</word_id> + <id>164</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>33</word_id> + <id>165</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>166</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>75</word_id> + <id>167</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>74</word_id> + <id>168</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>93</word_id> + <id>169</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>94</word_id> + <id>170</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtccmmndetailcode_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>162</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>21</id> + <height>233</height> + <width>148</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>296</x> + <y>120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>16</id> + <source>24</source> + <target>21</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtccmmncode_cl_code_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtccmmncode</physical_name> + <logical_name>공통코드</logical_name> + <description>공통코드</description> + <constraint></constraint> + <primary_key_name>comtccmmncode_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>34</word_id> + <id>171</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>36</word_id> + <id>172</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>35</word_id> + <id>173</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>174</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>175</id> + <referenced_column>187</referenced_column> + <relation>16</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>75</word_id> + <id>176</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>74</word_id> + <id>177</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>93</word_id> + <id>178</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>94</word_id> + <id>179</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtccmmncode_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>175</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>22</id> + <height>149</height> + <width>127</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1194</x> + <y>114</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnweblog</physical_name> + <logical_name>웹로그</logical_name> + <description>웹로그</description> + <constraint></constraint> + <primary_key_name>comtnweblog_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>158</word_id> + <id>180</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>128</word_id> + <id>181</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>188</word_id> + <id>182</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>170</word_id> + <id>183</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>171</word_id> + <id>184</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>23</id> + <height>86</height> + <width>144</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>207</x> + <y>499</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>ids</physical_name> + <logical_name>테이블별아이디</logical_name> + <description>테이블별아이디</description> + <constraint></constraint> + <primary_key_name>ids_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>86</word_id> + <id>185</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>85</word_id> + <id>186</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>24</id> + <height>212</height> + <width>157</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>40</x> + <y>120</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtccmmnclcode</physical_name> + <logical_name>공통분류코드</logical_name> + <description>공통분류코드</description> + <constraint></constraint> + <primary_key_name>comtccmmnclcode_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>27</word_id> + <id>187</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>29</word_id> + <id>188</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>28</word_id> + <id>189</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>190</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>75</word_id> + <id>191</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>74</word_id> + <id>192</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>93</word_id> + <id>193</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>94</word_id> + <id>194</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>25</id> + <height>548</height> + <width>170</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>708</x> + <y>1379</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>17</id> + <source>17</source> + <target>25</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>0..1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtngnrlmber_group_id_fkey</name> + <on_delete_action>SET NULL</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtngnrlmber</physical_name> + <logical_name>일반회원</logical_name> + <description>일반회원</description> + <constraint></constraint> + <primary_key_name>comtngnrlmber_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>105</word_id> + <id>195</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>140</word_id> + <id>196</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>142</word_id> + <id>197</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>141</word_id> + <id>198</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>87</word_id> + <id>199</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>106</word_id> + <id>200</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>199</word_id> + <id>201</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>0</word_id> + <id>202</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>8</word_id> + <id>203</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>107</word_id> + <id>204</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>47</word_id> + <id>205</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>53</word_id> + <id>206</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>109</word_id> + <id>207</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>208</id> + <referenced_column>146</referenced_column> + <relation>17</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>104</word_id> + <id>209</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>103</word_id> + <id>210</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>116</word_id> + <id>211</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>173</word_id> + <id>212</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>176</word_id> + <id>213</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>66</word_id> + <id>214</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>96</word_id> + <id>215</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>97</word_id> + <id>216</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>98</word_id> + <id>217</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>26</word_id> + <id>218</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtngnrlmber_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>208</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>26</id> + <height>191</height> + <width>133</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1998</x> + <y>114</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnloginlog</physical_name> + <logical_name>접속로그</logical_name> + <description>접속로그</description> + <constraint></constraint> + <primary_key_name>comtnloginlog_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>99</word_id> + <id>219</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>38</word_id> + <id>220</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>39</word_id> + <id>221</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>40</word_id> + <id>222</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>64</word_id> + <id>223</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>63</word_id> + <id>224</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>43</word_id> + <id>225</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>27</id> + <height>212</height> + <width>147</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>180</x> + <y>1584</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnloginpolicy</physical_name> + <logical_name>로그인정책</logical_name> + <description>로그인정책</description> + <constraint></constraint> + <primary_key_name>comtnloginpolicy_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>50</word_id> + <id>226</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>90</word_id> + <id>227</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>48</word_id> + <id>228</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>95</word_id> + <id>229</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>74</word_id> + <id>230</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>75</word_id> + <id>231</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>94</word_id> + <id>232</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>93</word_id> + <id>233</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>28</id> + <height>107</height> + <width>177</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>276</x> + <y>2751</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnemplyrscrtyestbs</physical_name> + <logical_name>사용자보안설정</logical_name> + <description>사용자보안설정</description> + <constraint></constraint> + <primary_key_name>comtnemplyrscrtyestbs_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>174</word_id> + <id>234</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>108</word_id> + <id>235</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>12</word_id> + <id>236</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnemplyrscrtyestbs_i04</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>236</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>29</id> + <height>128</height> + <width>221</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>341</x> + <y>2152</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnbkmkmenumanageresult</physical_name> + <logical_name>바로가기 메뉴 등록</logical_name> + <description>바로가기 메뉴 등록</description> + <constraint></constraint> + <primary_key_name>comtnbkmkmenumanageresult_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>111</word_id> + <id>237</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>50</word_id> + <id>238</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>112</word_id> + <id>239</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>151</word_id> + <id>240</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>30</id> + <height>128</height> + <width>133</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>657</x> + <y>2152</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnsitemap</physical_name> + <logical_name>사이트맵</logical_name> + <description>사이트맵</description> + <constraint></constraint> + <primary_key_name>comtnsitemap_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>100</word_id> + <id>241</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>41</word_id> + <id>242</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>101</word_id> + <id>243</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>102</word_id> + <id>244</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>31</id> + <height>464</height> + <width>204</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>66</x> + <y>818</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>18</id> + <source>11</source> + <target>31</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comthemplyrinfochangedtls_emplyr_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comthemplyrinfochangedtls</physical_name> + <logical_name>업무사용자정보변경내역</logical_name> + <description>업무사용자정보변경내역</description> + <constraint></constraint> + <primary_key_name>comthemplyrinfochangedtls_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>245</id> + <referenced_column>76</referenced_column> + <relation>18</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>24</word_id> + <id>246</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>134</word_id> + <id>247</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>80</word_id> + <id>248</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>52</word_id> + <id>249</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>176</word_id> + <id>250</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>23</word_id> + <id>251</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>76</word_id> + <id>252</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>82</word_id> + <id>253</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>83</word_id> + <id>254</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>8</word_id> + <id>255</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>47</word_id> + <id>256</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>199</word_id> + <id>257</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>130</word_id> + <id>258</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>109</word_id> + <id>259</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>49</word_id> + <id>260</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>84</word_id> + <id>261</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>152</word_id> + <id>262</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>51</word_id> + <id>263</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>66</word_id> + <id>264</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comthemplyrinfochangedtls_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>245</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>32</id> + <height>380</height> + <width>133</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1602</x> + <y>114</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnsyslog</physical_name> + <logical_name>시스템로그</logical_name> + <description>시스템로그</description> + <constraint></constraint> + <primary_key_name>comtnsyslog_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>158</word_id> + <id>265</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>91</word_id> + <id>266</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>89</word_id> + <id>267</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>128</word_id> + <id>268</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>171</word_id> + <id>269</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>170</word_id> + <id>270</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>185</word_id> + <id>271</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>181</word_id> + <id>272</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>115</word_id> + <id>273</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>145</word_id> + <id>274</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>143</word_id> + <id>275</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>147</word_id> + <id>276</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>172</word_id> + <id>277</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>65</word_id> + <id>278</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>62</word_id> + <id>279</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>63</word_id> + <id>280</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>33</id> + <height>296</height> + <width>140</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>2136</x> + <y>1133</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>19</id> + <source>35</source> + <target>33</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtncomment_ntt_id_bbs_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtncomment</physical_name> + <logical_name>댓글</logical_name> + <description>댓글</description> + <constraint></constraint> + <primary_key_name>comtncomment_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <id>281</id> + <referenced_column>296</referenced_column> + <relation>19</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>282</id> + <referenced_column>297</referenced_column> + <relation>19</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>4</word_id> + <id>283</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>197</word_id> + <id>284</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>198</word_id> + <id>285</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>1</word_id> + <id>286</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>287</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>75</word_id> + <id>288</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>74</word_id> + <id>289</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>93</word_id> + <id>290</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>94</word_id> + <id>291</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>140</word_id> + <id>292</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtncomment_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>281</id> + <desc>false</desc> + </column> + <column> + <id>282</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>34</id> + <height>107</height> + <width>121</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1872</x> + <y>1635</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + </connections> + <physical_name>comtnfile</physical_name> + <logical_name>파일속성</logical_name> + <description>파일속성</description> + <constraint></constraint> + <primary_key_name>comtnfile_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>9</word_id> + <id>293</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>43</word_id> + <id>294</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>295</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + <table> + <id>35</id> + <height>569</height> + <width>133</width> + <font_name>맑은 고딕</font_name> + <font_size>9</font_size> + <x>1872</x> + <y>996</y> + <color> + <r>128</r> + <g>128</g> + <b>192</b> + </color> + <connections> + <relation> + <id>20</id> + <source>14</source> + <target>35</target> + <source_xp>-1</source_xp> + <source_yp>-1</source_yp> + <target_xp>-1</target_xp> + <target_yp>-1</target_yp> + <color> + <r>0</r> + <g>0</g> + <b>0</b> + </color> + <child_cardinality>1..n</child_cardinality> + <parent_cardinality>1</parent_cardinality> + <reference_for_pk>true</reference_for_pk> + <name>comtnbbs_bbs_id_fkey</name> + <on_delete_action>NO ACTION</on_delete_action> + <on_update_action>NO ACTION</on_update_action> + <referenced_column>null</referenced_column> + <referenced_complex_unique_key>null</referenced_complex_unique_key> + </relation> + </connections> + <physical_name>comtnbbs</physical_name> + <logical_name>게시판</logical_name> + <description>게시판</description> + <constraint></constraint> + <primary_key_name>comtnbbs_pkey</primary_key_name> + <option></option> + <columns> + <normal_column> + <word_id>124</word_id> + <id>296</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <id>297</id> + <referenced_column>122</referenced_column> + <relation>20</relation> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>true</foreign_key> + <not_null>true</not_null> + <primary_key>true</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>125</word_id> + <id>298</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>126</word_id> + <id>299</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>123</word_id> + <id>300</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>text</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>2</word_id> + <id>301</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>138</word_id> + <id>302</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>3</word_id> + <id>303</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>178</word_id> + <id>304</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>153</word_id> + <id>305</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>numeric(p)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>196</word_id> + <id>306</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>119</word_id> + <id>307</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>120</word_id> + <id>308</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>121</word_id> + <id>309</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>122</word_id> + <id>310</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>140</word_id> + <id>311</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>9</word_id> + <id>312</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>118</word_id> + <id>313</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>177</word_id> + <id>314</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>175</word_id> + <id>315</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>char</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>75</word_id> + <id>316</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>74</word_id> + <id>317</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>true</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>93</word_id> + <id>318</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>timestamp</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>94</word_id> + <id>319</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>varchar(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + <normal_column> + <word_id>22</word_id> + <id>320</id> + <description></description> + <unique_key_name></unique_key_name> + <logical_name></logical_name> + <physical_name></physical_name> + <type>character(n)</type> + <constraint></constraint> + <default_value></default_value> + <auto_increment>false</auto_increment> + <foreign_key>false</foreign_key> + <not_null>false</not_null> + <primary_key>false</primary_key> + <unique_key>false</unique_key> + <character_set></character_set> + <collation></collation> + <sequence> + <name></name> + <schema></schema> + <increment></increment> + <min_value></min_value> + <max_value></max_value> + <start></start> + <cache></cache> + <nocache>false</nocache> + <cycle>false</cycle> + <order>false</order> + <description></description> + <data_type></data_type> + <decimal_size>0</decimal_size> + </sequence> + </normal_column> + </columns> + <indexes> + <inidex> + <full_text>false</full_text> + <non_unique>true</non_unique> + <name>comtnbbs_i01</name> + <type>BTREE</type> + <description></description> + <columns> + <column> + <id>297</id> + <desc>false</desc> + </column> + </columns> + </inidex> + </indexes> + <complex_unique_key_list> + </complex_unique_key_list> + <table_properties> + <schema>public</schema> + <without_oids>true</without_oids> + </table_properties> + </table> + </contents> + <column_groups> + </column_groups> + <test_data_list> + </test_data_list> + <sequence_set> + </sequence_set> + <trigger_set> + </trigger_set> + <change_tracking_list> + </change_tracking_list> +</diagram> Index: base3.10/script/comment/altibase/egov_altibase_comment.sql =================================================================== --- base3.10/script/comment/altibase/egov_altibase_comment.sql (nonexistent) +++ base3.10/script/comment/altibase/egov_altibase_comment.sql (revision 7) @@ -0,0 +1,2487 @@ +COMMENT ON TABLE COMTCADMINISTCODE IS '행정코드'; + +COMMENT ON COLUMN COMTCADMINISTCODE.ADMINIST_ZONE_SE IS '행정구역구분'; +COMMENT ON COLUMN COMTCADMINISTCODE.ADMINIST_ZONE_CODE IS '행정구역코드'; +COMMENT ON COLUMN COMTCADMINISTCODE.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTCADMINISTCODE.ADMINIST_ZONE_NM IS '행정구역명'; +COMMENT ON COLUMN COMTCADMINISTCODE.UPPER_ADMINIST_ZONE_CODE IS '상위행정구역코드'; +COMMENT ON COLUMN COMTCADMINISTCODE.CREAT_DE IS '생성일'; +COMMENT ON COLUMN COMTCADMINISTCODE.ABL_DE IS '폐지일'; +COMMENT ON COLUMN COMTCADMINISTCODE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTCADMINISTCODE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTCADMINISTCODE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTCADMINISTCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTCADMINISTCODERECPTNLOG IS '행정코드수신로그'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ADMINIST_ZONE_SE IS '행정구역구분'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ADMINIST_ZONE_CODE IS '행정구역코드'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.OPERT_SN IS '작업일련번호'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.CHANGE_SE_CODE IS '변경구분코드'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.PROCESS_SE IS '처리구분'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ADMINIST_ZONE_NM IS '행정구역명'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LOWEST_ADMINIST_ZONE_NM IS '최하위행정구역명'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.CTPRVN_CODE IS '시도코드'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.SIGNGU_CODE IS '시군구코드'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.EMD_CODE IS '읍면동코드'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LI_CODE IS '리코드'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.CREAT_DE IS '생성일'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ABL_DE IS '폐지일'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ABL_ENNC IS '폐지유무'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTCCMMNCLCODE IS '공통분류코드'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.CL_CODE IS '분류코드'; +COMMENT ON COLUMN COMTCCMMNCLCODE.CL_CODE_NM IS '분류코드명'; +COMMENT ON COLUMN COMTCCMMNCLCODE.CL_CODE_DC IS '분류코드설명'; +COMMENT ON COLUMN COMTCCMMNCLCODE.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTCCMMNCLCODE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTCCMMNCLCODE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTCCMMNCLCODE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTCCMMNCLCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTCCMMNCODE IS '공통코드'; + +COMMENT ON COLUMN COMTCCMMNCODE.CODE_ID IS '코드ID'; +COMMENT ON COLUMN COMTCCMMNCODE.CODE_ID_NM IS '코드ID명'; +COMMENT ON COLUMN COMTCCMMNCODE.CODE_ID_DC IS '코드ID설명'; +COMMENT ON COLUMN COMTCCMMNCODE.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTCCMMNCODE.CL_CODE IS '분류코드'; +COMMENT ON COLUMN COMTCCMMNCODE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTCCMMNCODE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTCCMMNCODE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTCCMMNCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTCCMMNDETAILCODE IS '공통상세코드'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE_ID IS '코드ID'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE IS '코드'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE_NM IS '코드명'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE_DC IS '코드설명'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTCZIP IS '우편번호'; + +COMMENT ON COLUMN COMTCZIP.ZIP IS '우편번호'; +COMMENT ON COLUMN COMTCZIP.SN IS '일련번호'; +COMMENT ON COLUMN COMTCZIP.CTPRVN_NM IS '시도명'; +COMMENT ON COLUMN COMTCZIP.SIGNGU_NM IS '시군구명'; +COMMENT ON COLUMN COMTCZIP.EMD_NM IS '읍면동명'; +COMMENT ON COLUMN COMTCZIP.LI_BULD_NM IS '리건물명'; +COMMENT ON COLUMN COMTCZIP.LNBR_DONG_HO IS '번지동호'; +COMMENT ON COLUMN COMTCZIP.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTCZIP.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTCZIP.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTCZIP.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTECOPSEQ IS 'COMTECOPSEQ'; + +COMMENT ON COLUMN COMTECOPSEQ.TABLE_NAME IS '테이블명'; +COMMENT ON COLUMN COMTECOPSEQ.NEXT_ID IS '다음아이디'; + +COMMENT ON TABLE COMTHCONFMHISTORY IS '승인이력'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_NO IS '승인번호'; +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_RQESTER_ID IS '승인요청자ID'; +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFMER_ID IS '승인자ID'; +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_DE IS '승인일'; +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_TY_CODE IS '승인유형코드'; +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_STTUS_CODE IS '승인상태코드'; +COMMENT ON COLUMN COMTHCONFMHISTORY.OPERT_TY_CODE IS '작업유형코드'; +COMMENT ON COLUMN COMTHCONFMHISTORY.OPERT_ID IS '작업ID'; +COMMENT ON COLUMN COMTHCONFMHISTORY.TRGET_JOB_TY_CODE IS '대상업무유형코드'; +COMMENT ON COLUMN COMTHCONFMHISTORY.TRGET_JOB_ID IS '대상업무ID'; + +COMMENT ON TABLE COMTHDBMNTRNGLOGINFO IS 'DB서비스모니터링로그정보'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.DATA_SOURC_NM IS '데이터소스명'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.SERVER_NM IS '서버명'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.DBMS_KND IS 'DBMS종류'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.CECK_SQL IS '체크SQL'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LOG_INFO IS '로그정보'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTHEMAILDSPTCHMANAGE IS '메일발신관리'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.MSSAGE_ID IS '메시지ID'; +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.EMAIL_CN IS '이메일내용'; +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.SNDR IS '발신자'; +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.RCVER IS '수신자'; +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.SJ IS '제목'; +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.SNDNG_RESULT_CODE IS '발송결과코드'; +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.DSPTCH_DT IS '발신일시'; +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON TABLE COMTHEMPLYRINFOCHANGEDTLS IS '업무사용자정보변경내역'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.CHANGE_DE IS '변경일'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.GROUP_ID IS '그룹ID'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMPL_NO IS '사원번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.SEXDSTN_CODE IS '성별코드'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.BRTHDY IS '생일'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.FXNUM IS '팩스번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.HOUSE_ADRES IS '주택주소'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.HOUSE_END_TELNO IS '주택끝전화번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.DETAIL_ADRES IS '상세주소'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.ZIP IS '우편번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.OFFM_TELNO IS '사무실전화번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.MBTLNUM IS '이동전화번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMAIL_ADRES IS '이메일주소'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.HOUSE_MIDDLE_TELNO IS '주택중간전화번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.PSTINST_CODE IS '소속기관코드'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMPLYR_STTUS_CODE IS '사용자상태코드'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.ESNTL_ID IS '고유ID'; + +COMMENT ON TABLE COMTHHTTPMONLOGINFO IS 'HTTP서비스모니터링로그정보'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.SYS_ID IS '시스템ID'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.SITE_URL IS '사이트URL'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.WEBSVC_KND IS '웹서비스종류'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.HTTP_STTUS_CODE IS 'HTTP상태코드'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LOG_INFO IS '로그정보'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTHPROGRMCHANGEDTLS IS '프로그램변경내역'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.PROGRM_FILE_NM IS '프로그램파일명'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.REQUST_NO IS '요청번호'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.RQESTER_ID IS '요청자ID'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.CHANGE_REQUST_CN IS '변경요청내용'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.REQUST_PROCESS_CN IS '요청처리내용'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.OPETR_ID IS '처리자ID'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.PROCESS_STTUS_CODE IS '처리상태코드'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.PROCESS_DE IS '처리일'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.RQESTDE IS '요청일'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.REQUST_SJ IS '요청제목'; + +COMMENT ON TABLE COMTHSYSHIST IS '시스템이력'; + +COMMENT ON COLUMN COMTHSYSHIST.HIST_ID IS '이력ID'; +COMMENT ON COLUMN COMTHSYSHIST.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTHSYSHIST.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTHSYSHIST.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTHSYSHIST.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTHSYSHIST.HIST_SE_CODE IS '이력구분코드'; +COMMENT ON COLUMN COMTHSYSHIST.HIST_CN IS '이력내용'; +COMMENT ON COLUMN COMTHSYSHIST.SYS_NM IS '시스템명'; +COMMENT ON COLUMN COMTHSYSHIST.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON TABLE COMTHTRSMRCVMNTRNGLOGINFO IS '송수신모니터링로그정보'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.CNTC_ID IS '연계ID'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.TEST_CLASS_NM IS '테스트클래스명'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LOG_INFO IS '로그정보'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNADBK IS '주소록'; + +COMMENT ON COLUMN COMTNADBK.ADBK_CONSTNT_ID IS '주소록구성원ID'; +COMMENT ON COLUMN COMTNADBK.ADBK_ID IS '주소록ID'; +COMMENT ON COLUMN COMTNADBK.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNADBK.NCRD_ID IS '명함ID'; +COMMENT ON COLUMN COMTNADBK.NM IS '이름'; +COMMENT ON COLUMN COMTNADBK.EMAIL_ADRES IS '이메일주소'; +COMMENT ON COLUMN COMTNADBK.MBTLNUM IS '이동전화번호'; +COMMENT ON COLUMN COMTNADBK.FXNUM IS '팩스번호'; +COMMENT ON COLUMN COMTNADBK.OFFM_TELNO IS '사무실전화번호'; +COMMENT ON COLUMN COMTNADBK.HOUSE_TELNO IS '주택전화번호'; +COMMENT ON COLUMN COMTNADBK.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNADBK.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNADBK.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNADBK.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON TABLE COMTNADBKMANAGE IS '주소록관리'; + +COMMENT ON COLUMN COMTNADBKMANAGE.ADBK_ID IS '주소록ID'; +COMMENT ON COLUMN COMTNADBKMANAGE.ADBK_NM IS '주소록명'; +COMMENT ON COLUMN COMTNADBKMANAGE.OTHBC_SCOPE IS '공개범위'; +COMMENT ON COLUMN COMTNADBKMANAGE.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNADBKMANAGE.WRTER_ID IS '작성자ID'; +COMMENT ON COLUMN COMTNADBKMANAGE.TRGET_ORGNZT_ID IS '대상조직ID'; +COMMENT ON COLUMN COMTNADBKMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNADBKMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNADBKMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNADBKMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNADMINISTRATIONWORD IS '행정용어사전관리'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_ID IS '행정용어ID'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_NM IS '행정용어명'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_ENG_NM IS '행정용어영문명'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_ABRV_NM IS '행정용어약어명'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.THEMA_RELM IS '주제영역'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.WORD_SE IS '용어구분'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.RELATE_STD_WORD IS '관계표준용어'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_DFN IS '행정용어정의'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_DC IS '행정용어설명'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNANNVRSRYMANAGE IS '기념일정보'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_ID IS '기념일ID'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.USER_ID IS '사용자ID'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_SE IS '기념일구분'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_NM IS '기념일명'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY IS '기념일'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.CLDR_SE IS '달력구분'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_NTCN_SETUP IS '알림설정'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_NTCN_BGNDE IS '알림시작일'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.MEMO IS '메모'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.REPTIT_AT IS '반복여부'; + +COMMENT ON TABLE COMTNANSWER IS '댓글'; + +COMMENT ON COLUMN COMTNANSWER.NTT_ID IS '게시물ID'; +COMMENT ON COLUMN COMTNANSWER.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNANSWER.ANSWER_NO IS '답글번호'; +COMMENT ON COLUMN COMTNANSWER.WRTER_ID IS '작성자ID'; +COMMENT ON COLUMN COMTNANSWER.ANSWER IS '댓글'; +COMMENT ON COLUMN COMTNANSWER.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNANSWER.WRTER_NM IS '작성자명'; +COMMENT ON COLUMN COMTNANSWER.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNANSWER.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNANSWER.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNANSWER.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNAUTHORGROUPINFO IS '권한그룹정보'; + +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_ID IS '그룹ID'; +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_NM IS '그룹명'; +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_CREAT_DE IS '그룹생성일'; +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_DC IS '그룹설명'; + +COMMENT ON TABLE COMTNAUTHORINFO IS '권한정보'; + +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_CODE IS '권한코드'; +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_NM IS '권한명'; +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_DC IS '권한설명'; +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_CREAT_DE IS '권한생성일'; + +COMMENT ON TABLE COMTNAUTHORROLERELATE IS '권한롤관계'; + +COMMENT ON COLUMN COMTNAUTHORROLERELATE.AUTHOR_CODE IS '권한코드'; +COMMENT ON COLUMN COMTNAUTHORROLERELATE.ROLE_CODE IS '롤코드'; +COMMENT ON COLUMN COMTNAUTHORROLERELATE.CREAT_DT IS '생성일시'; + +COMMENT ON TABLE COMTNBACKUPOPERT IS '백업작업'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_OPERT_ID IS '백업작업ID'; +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_OPERT_NM IS '백업작업명'; +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_ORGINL_DRCTRY IS '백업원본디렉토리'; +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_STRE_DRCTRY IS '백업저장디렉토리'; +COMMENT ON COLUMN COMTNBACKUPOPERT.CMPRS_SE IS '압축구분'; +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_CYCLE IS '실행주기'; +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_DE IS '실행일정일'; +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_HOUR IS '실행일정시'; +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_MNT IS '실행일정분'; +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_SECND IS '실행일정초'; +COMMENT ON COLUMN COMTNBACKUPOPERT.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNBACKUPOPERT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBACKUPOPERT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBACKUPOPERT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBACKUPOPERT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNBACKUPRESULT IS '백업결과'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.BACKUP_RESULT_ID IS '백업결과ID'; +COMMENT ON COLUMN COMTNBACKUPRESULT.BACKUP_OPERT_ID IS '백업작업ID'; +COMMENT ON COLUMN COMTNBACKUPRESULT.BACKUP_FILE IS '백업파일'; +COMMENT ON COLUMN COMTNBACKUPRESULT.STTUS IS '상태'; +COMMENT ON COLUMN COMTNBACKUPRESULT.ERROR_INFO IS '오류정보'; +COMMENT ON COLUMN COMTNBACKUPRESULT.EXECUT_BEGIN_TM IS '실행시작시각'; +COMMENT ON COLUMN COMTNBACKUPRESULT.EXECUT_END_TM IS '실행종료시각'; +COMMENT ON COLUMN COMTNBACKUPRESULT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBACKUPRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBACKUPRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBACKUPRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNBACKUPSCHDULDFK IS '백업스케줄요일'; + +COMMENT ON COLUMN COMTNBACKUPSCHDULDFK.BACKUP_OPERT_ID IS '백업작업ID'; +COMMENT ON COLUMN COMTNBACKUPSCHDULDFK.EXECUT_SCHDUL_DFK_SE IS '실행일정요일구분'; + +COMMENT ON TABLE COMTNBANNER IS '배너'; + +COMMENT ON COLUMN COMTNBANNER.BANNER_ID IS '배너ID'; +COMMENT ON COLUMN COMTNBANNER.BANNER_NM IS '배너명'; +COMMENT ON COLUMN COMTNBANNER.LINK_URL IS '링크URL'; +COMMENT ON COLUMN COMTNBANNER.BANNER_IMAGE IS '배너이미지'; +COMMENT ON COLUMN COMTNBANNER.BANNER_DC IS '배너설명'; +COMMENT ON COLUMN COMTNBANNER.REFLCT_AT IS '반영여부'; +COMMENT ON COLUMN COMTNBANNER.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBANNER.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBANNER.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBANNER.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBANNER.BANNER_IMAGE_FILE IS '배너이미지파일'; +COMMENT ON COLUMN COMTNBANNER.SORT_ORDR IS '정렬순서'; + +COMMENT ON TABLE COMTNBATCHOPERT IS '배치작업'; + +COMMENT ON COLUMN COMTNBATCHOPERT.BATCH_OPERT_ID IS '배치작업ID'; +COMMENT ON COLUMN COMTNBATCHOPERT.BATCH_OPERT_NM IS '배치작업명'; +COMMENT ON COLUMN COMTNBATCHOPERT.BATCH_PROGRM IS '배치프로그램'; +COMMENT ON COLUMN COMTNBATCHOPERT.PARAMTR IS '파라미터'; +COMMENT ON COLUMN COMTNBATCHOPERT.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNBATCHOPERT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBATCHOPERT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBATCHOPERT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBATCHOPERT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNBATCHRESULT IS '배치결과'; + +COMMENT ON COLUMN COMTNBATCHRESULT.BATCH_RESULT_ID IS '배치결과ID'; +COMMENT ON COLUMN COMTNBATCHRESULT.BATCH_SCHDUL_ID IS '배치일정ID'; +COMMENT ON COLUMN COMTNBATCHRESULT.BATCH_OPERT_ID IS '배치작업ID'; +COMMENT ON COLUMN COMTNBATCHRESULT.PARAMTR IS '파라미터'; +COMMENT ON COLUMN COMTNBATCHRESULT.STTUS IS '상태'; +COMMENT ON COLUMN COMTNBATCHRESULT.ERROR_INFO IS '오류정보'; +COMMENT ON COLUMN COMTNBATCHRESULT.EXECUT_BEGIN_TM IS '실행시작시각'; +COMMENT ON COLUMN COMTNBATCHRESULT.EXECUT_END_TM IS '실행종료시각'; +COMMENT ON COLUMN COMTNBATCHRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBATCHRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBATCHRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBATCHRESULT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON TABLE COMTNBATCHSCHDUL IS '배치스케줄'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.BATCH_SCHDUL_ID IS '배치일정ID'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.BATCH_OPERT_ID IS '배치작업ID'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_CYCLE IS '실행주기'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_DE IS '실행일정일'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_HOUR IS '실행일정시'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_MNT IS '실행일정분'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_SECND IS '실행일정초'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNBATCHSCHDULDFK IS '배치스케줄요일'; + +COMMENT ON COLUMN COMTNBATCHSCHDULDFK.BATCH_SCHDUL_ID IS '배치일정ID'; +COMMENT ON COLUMN COMTNBATCHSCHDULDFK.EXECUT_SCHDUL_DFK_SE IS '실행일정요일구분'; + +COMMENT ON TABLE COMTNBBS IS '게시판'; + +COMMENT ON COLUMN COMTNBBS.NTT_ID IS '게시물ID'; +COMMENT ON COLUMN COMTNBBS.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNBBS.NTT_NO IS '게시물번호'; +COMMENT ON COLUMN COMTNBBS.NTT_SJ IS '게시물제목'; +COMMENT ON COLUMN COMTNBBS.NTT_CN IS '게시물내용'; +COMMENT ON COLUMN COMTNBBS.ANSWER_AT IS '댓글여부'; +COMMENT ON COLUMN COMTNBBS.PARNTSCTT_NO IS '부모글번호'; +COMMENT ON COLUMN COMTNBBS.ANSWER_LC IS '댓글위치'; +COMMENT ON COLUMN COMTNBBS.SORT_ORDR IS '정렬순서'; +COMMENT ON COLUMN COMTNBBS.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNBBS.RDCNT IS '조회수'; +COMMENT ON COLUMN COMTNBBS.NTCE_BGNDE IS '게시시작일'; +COMMENT ON COLUMN COMTNBBS.NTCE_ENDDE IS '게시종료일'; +COMMENT ON COLUMN COMTNBBS.NTCR_ID IS '게시자ID'; +COMMENT ON COLUMN COMTNBBS.NTCR_NM IS '게시자명'; +COMMENT ON COLUMN COMTNBBS.PASSWORD IS '비밀번호'; +COMMENT ON COLUMN COMTNBBS.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNBBS.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBBS.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBBS.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBBS.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBBS.BLOG_ID IS '블로그 ID'; +COMMENT ON COLUMN COMTNBBS.NOTICE_AT IS '공지사항여부'; +COMMENT ON COLUMN COMTNBBS.SECRET_AT IS '비밀글여부'; +COMMENT ON COLUMN COMTNBBS.SJ_BOLD_AT IS '제목볼드여부'; + +COMMENT ON TABLE COMTNBBSMASTER IS '게시판마스터'; + +COMMENT ON COLUMN COMTNBBSMASTER.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNBBSMASTER.BBS_NM IS '게시판명'; +COMMENT ON COLUMN COMTNBBSMASTER.BBS_INTRCN IS '게시판소개'; +COMMENT ON COLUMN COMTNBBSMASTER.BBS_TY_CODE IS '게시판유형코드'; +COMMENT ON COLUMN COMTNBBSMASTER.REPLY_POSBL_AT IS '답장가능여부'; +COMMENT ON COLUMN COMTNBBSMASTER.FILE_ATCH_POSBL_AT IS '파일첨부가능여부'; +COMMENT ON COLUMN COMTNBBSMASTER.ATCH_POSBL_FILE_NUMBER IS '첨부가능파일숫자'; +COMMENT ON COLUMN COMTNBBSMASTER.ATCH_POSBL_FILE_SIZE IS '첨부가능파일사이즈'; +COMMENT ON COLUMN COMTNBBSMASTER.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNBBSMASTER.TMPLAT_ID IS '템플릿ID'; +COMMENT ON COLUMN COMTNBBSMASTER.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBBSMASTER.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBBSMASTER.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBBSMASTER.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBBSMASTER.BLOG_AT IS '블로그 여부'; +COMMENT ON COLUMN COMTNBBSMASTER.BLOG_ID IS '블로그 ID'; +COMMENT ON COLUMN COMTNBBSMASTER.CMMNTY_ID IS '커뮤니티ID'; + +COMMENT ON TABLE COMTNBBSMASTEROPTN IS '게시판마스터옵션'; + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNBBSMASTEROPTN.ANSWER_AT IS '댓글여부'; +COMMENT ON COLUMN COMTNBBSMASTEROPTN.STSFDG_AT IS '만족도여부'; +COMMENT ON COLUMN COMTNBBSMASTEROPTN.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBBSMASTEROPTN.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBBSMASTEROPTN.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBBSMASTEROPTN.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNBBSUSE IS '게시판활용'; + +COMMENT ON COLUMN COMTNBBSUSE.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNBBSUSE.TRGET_ID IS '대상ID'; +COMMENT ON COLUMN COMTNBBSUSE.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNBBSUSE.REGIST_SE_CODE IS '등록구분코드'; +COMMENT ON COLUMN COMTNBBSUSE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBBSUSE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBBSUSE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBBSUSE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNBKMKMENUMANAGERESULT IS '바로가기 메뉴 등록'; + +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.MENU_ID IS '메뉴ID'; +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.MENU_NM IS '메뉴명'; +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.PROGRM_STRE_PATH IS '프로그램저장경로'; + +COMMENT ON TABLE COMTNBNDTCECKMANAGE IS '당직체크관리정보'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.BNDT_CECK_CODE IS '당직체크코드'; +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.BNDT_CECK_SE IS '당직체크구분'; +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.BNDT_CECK_CODE_NM IS '당직체크코드명'; +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNBNDTDIARY IS '당직관리'; + +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_ID IS '당직ID'; +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_DE IS '당직일자'; +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_CECK_SE IS '당직체크구분'; +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_CECK_CODE IS '당직체크코드'; +COMMENT ON COLUMN COMTNBNDTDIARY.CHCK_STTUS IS '점검상태'; +COMMENT ON COLUMN COMTNBNDTDIARY.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBNDTDIARY.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBNDTDIARY.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBNDTDIARY.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNBNDTMANAGE IS '당직관리정보'; + +COMMENT ON COLUMN COMTNBNDTMANAGE.BNDT_ID IS '당직ID'; +COMMENT ON COLUMN COMTNBNDTMANAGE.BNDT_DE IS '당직일자'; +COMMENT ON COLUMN COMTNBNDTMANAGE.RM IS '비고'; +COMMENT ON COLUMN COMTNBNDTMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBNDTMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBNDTMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBNDTMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNCLUB IS '동호회속성'; + +COMMENT ON COLUMN COMTNCLUB.CLB_ID IS '동호회ID'; +COMMENT ON COLUMN COMTNCLUB.CMMNTY_ID IS '커뮤니티ID'; +COMMENT ON COLUMN COMTNCLUB.CLB_NM IS '동호회명'; +COMMENT ON COLUMN COMTNCLUB.CLB_INTRCN IS '동호회소개'; +COMMENT ON COLUMN COMTNCLUB.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNCLUB.REGIST_SE_CODE IS '등록구분코드'; +COMMENT ON COLUMN COMTNCLUB.TMPLAT_ID IS '템플릿ID'; +COMMENT ON COLUMN COMTNCLUB.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCLUB.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCLUB.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCLUB.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNCLUBUSER IS '동호회사용자'; + +COMMENT ON COLUMN COMTNCLUBUSER.CLB_ID IS '동호회ID'; +COMMENT ON COLUMN COMTNCLUBUSER.CMMNTY_ID IS '커뮤니티ID'; +COMMENT ON COLUMN COMTNCLUBUSER.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNCLUBUSER.OPRTR_AT IS '운영인여부'; +COMMENT ON COLUMN COMTNCLUBUSER.SBSCRB_DE IS '가입일자'; +COMMENT ON COLUMN COMTNCLUBUSER.SECSN_DE IS '탈퇴일'; +COMMENT ON COLUMN COMTNCLUBUSER.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNCLUBUSER.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCLUBUSER.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCLUBUSER.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCLUBUSER.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNCMMNTY IS '커뮤니티 속성'; + +COMMENT ON COLUMN COMTNCMMNTY.CMMNTY_ID IS '커뮤니티ID'; +COMMENT ON COLUMN COMTNCMMNTY.CMMNTY_NM IS '커뮤니티명'; +COMMENT ON COLUMN COMTNCMMNTY.CMMNTY_INTRCN IS '커뮤니티소개'; +COMMENT ON COLUMN COMTNCMMNTY.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNCMMNTY.REGIST_SE_CODE IS '등록구분코드'; +COMMENT ON COLUMN COMTNCMMNTY.TMPLAT_ID IS '템플릿ID'; +COMMENT ON COLUMN COMTNCMMNTY.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCMMNTY.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCMMNTY.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCMMNTY.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNCMMNTYUSER IS '커뮤니티사용자'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.CMMNTY_ID IS '커뮤니티ID'; +COMMENT ON COLUMN COMTNCMMNTYUSER.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNCMMNTYUSER.MNGR_AT IS '관리자여부'; +COMMENT ON COLUMN COMTNCMMNTYUSER.SBSCRB_DE IS '가입일자'; +COMMENT ON COLUMN COMTNCMMNTYUSER.SECSN_DE IS '탈퇴일'; +COMMENT ON COLUMN COMTNCMMNTYUSER.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNCMMNTYUSER.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCMMNTYUSER.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCMMNTYUSER.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCMMNTYUSER.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCMMNTYUSER.MBER_STTUS IS '회원 상태'; + +COMMENT ON TABLE COMTNCNSLTLIST IS '상담내역'; + +COMMENT ON COLUMN COMTNCNSLTLIST.CNSLT_ID IS '상담ID'; +COMMENT ON COLUMN COMTNCNSLTLIST.CNSLT_SJ IS '상담제목'; +COMMENT ON COLUMN COMTNCNSLTLIST.OTHBC_AT IS '공개여부'; +COMMENT ON COLUMN COMTNCNSLTLIST.EMAIL_ADRES IS '이메일주소'; +COMMENT ON COLUMN COMTNCNSLTLIST.CNSLT_CN IS '상담내용'; +COMMENT ON COLUMN COMTNCNSLTLIST.MANAGT_CN IS '조치내용'; +COMMENT ON COLUMN COMTNCNSLTLIST.MANAGT_DE IS '조치일'; +COMMENT ON COLUMN COMTNCNSLTLIST.RDCNT IS '조회수'; +COMMENT ON COLUMN COMTNCNSLTLIST.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNCNSLTLIST.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCNSLTLIST.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCNSLTLIST.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCNSLTLIST.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCNSLTLIST.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNCNSLTLIST.MIDDLE_TELNO IS '중간전화번호'; +COMMENT ON COLUMN COMTNCNSLTLIST.END_TELNO IS '끝전화번호'; +COMMENT ON COLUMN COMTNCNSLTLIST.FRST_MBTLNUM IS '처음휴대폰번호'; +COMMENT ON COLUMN COMTNCNSLTLIST.MIDDLE_MBTLNUM IS '중간이동전화번호'; +COMMENT ON COLUMN COMTNCNSLTLIST.END_MBTLNUM IS '끝이동전화번호'; +COMMENT ON COLUMN COMTNCNSLTLIST.WRITNG_DE IS '작성일'; +COMMENT ON COLUMN COMTNCNSLTLIST.WRTER_NM IS '작성자명'; +COMMENT ON COLUMN COMTNCNSLTLIST.EMAIL_ANSWER_AT IS '메일답변여부'; +COMMENT ON COLUMN COMTNCNSLTLIST.QNA_PROCESS_STTUS_CODE IS '질의응답처리상태코드'; +COMMENT ON COLUMN COMTNCNSLTLIST.WRITNG_PASSWORD IS '작성비밀번호'; + +COMMENT ON TABLE COMTNCNTCINSTT IS '연계기관'; + +COMMENT ON COLUMN COMTNCNTCINSTT.INSTT_ID IS '기관ID'; +COMMENT ON COLUMN COMTNCNTCINSTT.INSTT_NM IS '기관명'; +COMMENT ON COLUMN COMTNCNTCINSTT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCNTCINSTT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCNTCINSTT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCNTCINSTT.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCNTCINSTT.USE_AT IS '사용여부'; + +COMMENT ON TABLE COMTNCNTCMESSAGE IS '연계메시지'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.CNTC_MSSAGE_ID IS '연계메시지ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGE.CNTC_MSSAGE_NM IS '연계메시지명'; +COMMENT ON COLUMN COMTNCNTCMESSAGE.UPPER_CNTC_MSSAGE_ID IS '상위연계메시지ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCNTCMESSAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCNTCMESSAGE.USE_AT IS '사용여부'; + +COMMENT ON TABLE COMTNCNTCMESSAGEITEM IS '연계메시지항목'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.CNTC_MSSAGE_ID IS '연계메시지ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_ID IS '항목ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_NM IS '항목명'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_TY IS '항목유형'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_LT IS '항목길이'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNCNTCSERVICE IS '연계서비스'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.INSTT_ID IS '기관ID'; +COMMENT ON COLUMN COMTNCNTCSERVICE.SYS_ID IS '시스템ID'; +COMMENT ON COLUMN COMTNCNTCSERVICE.SVC_ID IS '서비스ID'; +COMMENT ON COLUMN COMTNCNTCSERVICE.SVC_NM IS '서비스명'; +COMMENT ON COLUMN COMTNCNTCSERVICE.REQUST_MSSAGE_ID IS '요청메시지ID'; +COMMENT ON COLUMN COMTNCNTCSERVICE.RSPNS_MSSAGE_ID IS '응답메시지ID'; +COMMENT ON COLUMN COMTNCNTCSERVICE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCNTCSERVICE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCNTCSERVICE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCNTCSERVICE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCNTCSERVICE.USE_AT IS '사용여부'; + +COMMENT ON TABLE COMTNCNTCSYSTEM IS '연계시스템'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.INSTT_ID IS '기관ID'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.SYS_ID IS '시스템ID'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.SYS_NM IS '시스템명'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.SYS_IP IS '시스템IP'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.USE_AT IS '사용여부'; + +COMMENT ON TABLE COMTNCNTNTSLIST IS '컨텐츠목록'; + +COMMENT ON COLUMN COMTNCNTNTSLIST.CNTNTS_ID IS '컨텐츠ID'; +COMMENT ON COLUMN COMTNCNTNTSLIST.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON TABLE COMTNCOMMENT IS '댓글'; + +COMMENT ON COLUMN COMTNCOMMENT.NTT_ID IS '게시물ID'; +COMMENT ON COLUMN COMTNCOMMENT.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNCOMMENT.ANSWER_NO IS '댓글번호'; +COMMENT ON COLUMN COMTNCOMMENT.WRTER_ID IS '작성자ID'; +COMMENT ON COLUMN COMTNCOMMENT.WRTER_NM IS '작성자명'; +COMMENT ON COLUMN COMTNCOMMENT.ANSWER IS '댓글'; +COMMENT ON COLUMN COMTNCOMMENT.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNCOMMENT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCOMMENT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCOMMENT.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCOMMENT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCOMMENT.PASSWORD IS '비밀번호'; + +COMMENT ON TABLE COMTNCOMMUTE IS '출퇴근관리'; + +COMMENT ON COLUMN COMTNCOMMUTE.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNCOMMUTE.WRKT_DT IS '출근날짜'; +COMMENT ON COLUMN COMTNCOMMUTE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCOMMUTE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCOMMUTE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCOMMUTE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCOMMUTE.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTNCOMMUTE.OVTMWRK_HOURS IS '초과근무시간'; +COMMENT ON COLUMN COMTNCOMMUTE.RM IS '비고'; +COMMENT ON COLUMN COMTNCOMMUTE.WRKTM_ID IS '출퇴근 구분 ID'; +COMMENT ON COLUMN COMTNCOMMUTE.WRK_END_STATUS IS '퇴근상태'; +COMMENT ON COLUMN COMTNCOMMUTE.WRK_END_TIME IS '퇴근시간'; +COMMENT ON COLUMN COMTNCOMMUTE.WRK_HOURS IS '근무시간'; +COMMENT ON COLUMN COMTNCOMMUTE.WRK_START_STATUS IS '출근상태'; +COMMENT ON COLUMN COMTNCOMMUTE.WRK_START_TIME IS '출근시간'; + +COMMENT ON TABLE COMTNCPYRHTINFO IS '저작권정보'; + +COMMENT ON COLUMN COMTNCPYRHTINFO.CPYRHT_ID IS '저작권ID'; +COMMENT ON COLUMN COMTNCPYRHTINFO.CPYRHT_PRTC_POLICY_CN IS '저작권보호정책내용'; +COMMENT ON COLUMN COMTNCPYRHTINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCPYRHTINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCPYRHTINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCPYRHTINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNCTSNNMANAGE IS '경조사정보'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.CTSNN_ID IS '경조ID'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.USER_ID IS '사용자ID'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.CTSNN_CODE IS '경조코드'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.REQST_DE IS '신청일'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.CTSNN_NM IS '경조명'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.TRGTER_NM IS '대상자명'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.BRTHDY IS '생일'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.RELATE IS '관계'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.RM IS '비고'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.SANCTNER_ID IS '결재자ID'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.CONFM_AT IS '승인여부'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.SANCTN_DT IS '결재일시'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.RETURN_RESN IS '반환사유'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.INFRML_SANCTN_ID IS '약식결재ID'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNDAMCALRES IS '지식정보요청제공'; + +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_ID IS '지식ID'; +COMMENT ON COLUMN COMTNDAMCALRES.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTNDAMCALRES.EXPERT_ID IS '전문가ID'; +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_TY_CODE IS '지식유형코드'; +COMMENT ON COLUMN COMTNDAMCALRES.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_NM IS '지식명'; +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_CN IS '지식내용'; +COMMENT ON COLUMN COMTNDAMCALRES.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNDAMCALRES.PARNTS_KNWLDG_ID IS '부모지식ID'; +COMMENT ON COLUMN COMTNDAMCALRES.ANSWER_DP IS '답변깊이'; +COMMENT ON COLUMN COMTNDAMCALRES.ANSWER_ORDR IS '답변순서'; +COMMENT ON COLUMN COMTNDAMCALRES.ANSWER_GROUP_NO IS '답변그룹번호'; +COMMENT ON COLUMN COMTNDAMCALRES.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDAMCALRES.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDAMCALRES.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDAMCALRES.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNDAMKNOIFM IS '지식정보'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_ID IS '지식ID'; +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_TY_CODE IS '지식유형코드'; +COMMENT ON COLUMN COMTNDAMKNOIFM.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTNDAMKNOIFM.EXPERT_ID IS '전문가ID'; +COMMENT ON COLUMN COMTNDAMKNOIFM.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_NM IS '지식명'; +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_CN IS '지식내용'; +COMMENT ON COLUMN COMTNDAMKNOIFM.KWRD IS '키워드'; +COMMENT ON COLUMN COMTNDAMKNOIFM.OTHBC_AT IS '공개여부'; +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_EVL IS '지식평가'; +COMMENT ON COLUMN COMTNDAMKNOIFM.COLCT_DE IS '수집일자'; +COMMENT ON COLUMN COMTNDAMKNOIFM.EVL_DE IS '평가일자'; +COMMENT ON COLUMN COMTNDAMKNOIFM.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNDAMKNOIFM.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDAMKNOIFM.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDAMKNOIFM.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDAMKNOIFM.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNDAMKNOIFM.DSUSE_DE IS '폐기일'; + +COMMENT ON TABLE COMTNDAMMAPKNO IS '지식맵(유형별)'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.KNWLDG_TY_CODE IS '지식유형코드'; +COMMENT ON COLUMN COMTNDAMMAPKNO.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTNDAMMAPKNO.EXPERT_ID IS '전문가ID'; +COMMENT ON COLUMN COMTNDAMMAPKNO.KNWLDG_TY_NM IS '지식유형명'; +COMMENT ON COLUMN COMTNDAMMAPKNO.CL_DE IS '분류일'; +COMMENT ON COLUMN COMTNDAMMAPKNO.KNWLDG_URL IS '지식URL'; +COMMENT ON COLUMN COMTNDAMMAPKNO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDAMMAPKNO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDAMMAPKNO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDAMMAPKNO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNDAMMAPTEAM IS '지식맵(조직별)'; + +COMMENT ON COLUMN COMTNDAMMAPTEAM.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTNDAMMAPTEAM.ORGNZT_NM IS '조직명'; +COMMENT ON COLUMN COMTNDAMMAPTEAM.CL_DE IS '분류일'; +COMMENT ON COLUMN COMTNDAMMAPTEAM.KNWLDG_URL IS '지식URL'; +COMMENT ON COLUMN COMTNDAMMAPTEAM.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDAMMAPTEAM.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNDAMPRO IS '지식전문가'; + +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_ID IS '전문가ID'; +COMMENT ON COLUMN COMTNDAMPRO.KNWLDG_TY_CODE IS '지식유형코드'; +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_GRAD IS '전문가등급'; +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_CONFM_DE IS '전문가승인일'; +COMMENT ON COLUMN COMTNDAMPRO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDAMPRO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDAMPRO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDAMPRO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_DC IS '전문가설명'; + +COMMENT ON TABLE COMTNDBMNTRNG IS 'DB서비스모니터링'; + +COMMENT ON COLUMN COMTNDBMNTRNG.DATA_SOURC_NM IS '데이터소스명'; +COMMENT ON COLUMN COMTNDBMNTRNG.SERVER_NM IS '서버명'; +COMMENT ON COLUMN COMTNDBMNTRNG.DBMS_KND IS 'DBMS종류'; +COMMENT ON COLUMN COMTNDBMNTRNG.CECK_SQL IS '체크SQL'; +COMMENT ON COLUMN COMTNDBMNTRNG.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTNDBMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNDBMNTRNG.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTNDBMNTRNG.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNDBMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDBMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDBMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDBMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNDEPTJOB IS '부서업무정보'; + +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOB_ID IS '부서업무ID'; +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOBBX_ID IS '부서업무함ID'; +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOB_NM IS '부서업무명'; +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOB_CN IS '부서업무내용'; +COMMENT ON COLUMN COMTNDEPTJOB.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNDEPTJOB.CHARGER_ID IS '담당자ID'; +COMMENT ON COLUMN COMTNDEPTJOB.PRIORT IS '우선순위'; +COMMENT ON COLUMN COMTNDEPTJOB.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDEPTJOB.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDEPTJOB.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDEPTJOB.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNDEPTJOBBX IS '부서업무함'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.DEPT_JOBBX_ID IS '부서업무함ID'; +COMMENT ON COLUMN COMTNDEPTJOBBX.DEPT_JOBBX_NM IS '부서업무함명'; +COMMENT ON COLUMN COMTNDEPTJOBBX.DEPT_ID IS '부서ID'; +COMMENT ON COLUMN COMTNDEPTJOBBX.INDICT_ORDR IS '표시순서'; +COMMENT ON COLUMN COMTNDEPTJOBBX.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDEPTJOBBX.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDEPTJOBBX.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDEPTJOBBX.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNDIARYINFO IS '일지정보'; + +COMMENT ON COLUMN COMTNDIARYINFO.SCHDUL_ID IS '일정ID'; +COMMENT ON COLUMN COMTNDIARYINFO.DIARY_ID IS '일지ID'; +COMMENT ON COLUMN COMTNDIARYINFO.DIARY_PROGRSRT IS '일지진척율'; +COMMENT ON COLUMN COMTNDIARYINFO.DIARY_NM IS '일지명'; +COMMENT ON COLUMN COMTNDIARYINFO.DRCT_MATTER IS '지시사항'; +COMMENT ON COLUMN COMTNDIARYINFO.PARTCLR_MATTER IS '특이사항'; +COMMENT ON COLUMN COMTNDIARYINFO.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNDIARYINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDIARYINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDIARYINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNDIARYINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNDTAUSESTATS IS '자료이용현황통계'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.DTA_USE_STATS_ID IS '자료사용통계ID'; +COMMENT ON COLUMN COMTNDTAUSESTATS.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNDTAUSESTATS.NTT_ID IS '게시물ID'; +COMMENT ON COLUMN COMTNDTAUSESTATS.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNDTAUSESTATS.FILE_SN IS '파일순번'; +COMMENT ON COLUMN COMTNDTAUSESTATS.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDTAUSESTATS.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDTAUSESTATS.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDTAUSESTATS.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNEMPLYRINFO IS '업무사용자정보'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNEMPLYRINFO.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTNEMPLYRINFO.USER_NM IS '사용자명'; +COMMENT ON COLUMN COMTNEMPLYRINFO.PASSWORD IS '비밀번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.EMPL_NO IS '사원번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.IHIDNUM IS '주민등록번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.SEXDSTN_CODE IS '성별코드'; +COMMENT ON COLUMN COMTNEMPLYRINFO.BRTHDY IS '생일'; +COMMENT ON COLUMN COMTNEMPLYRINFO.FXNUM IS '팩스번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.HOUSE_ADRES IS '주택주소'; +COMMENT ON COLUMN COMTNEMPLYRINFO.PASSWORD_HINT IS '비밀번호힌트'; +COMMENT ON COLUMN COMTNEMPLYRINFO.PASSWORD_CNSR IS '비밀번호정답'; +COMMENT ON COLUMN COMTNEMPLYRINFO.HOUSE_END_TELNO IS '주택끝전화번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.DETAIL_ADRES IS '상세주소'; +COMMENT ON COLUMN COMTNEMPLYRINFO.ZIP IS '우편번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.OFFM_TELNO IS '사무실전화번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.MBTLNUM IS '이동전화번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.EMAIL_ADRES IS '이메일주소'; +COMMENT ON COLUMN COMTNEMPLYRINFO.OFCPS_NM IS '직위명'; +COMMENT ON COLUMN COMTNEMPLYRINFO.HOUSE_MIDDLE_TELNO IS '주택중간전화번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.GROUP_ID IS '그룹ID'; +COMMENT ON COLUMN COMTNEMPLYRINFO.PSTINST_CODE IS '소속기관코드'; +COMMENT ON COLUMN COMTNEMPLYRINFO.EMPLYR_STTUS_CODE IS '사용자상태코드'; +COMMENT ON COLUMN COMTNEMPLYRINFO.ESNTL_ID IS '고유ID'; +COMMENT ON COLUMN COMTNEMPLYRINFO.CRTFC_DN_VALUE IS '인증DN값'; +COMMENT ON COLUMN COMTNEMPLYRINFO.SBSCRB_DE IS '가입일자'; +COMMENT ON COLUMN COMTNEMPLYRINFO.LOCK_AT IS '잠금여부'; +COMMENT ON COLUMN COMTNEMPLYRINFO.LOCK_CNT IS '잠금회수'; +COMMENT ON COLUMN COMTNEMPLYRINFO.LOCK_LAST_PNTTM IS '잠금최종시점'; + +COMMENT ON TABLE COMTNEMPLYRSCRTYESTBS IS '사용자보안설정'; + +COMMENT ON COLUMN COMTNEMPLYRSCRTYESTBS.SCRTY_DTRMN_TRGET_ID IS '보안설정대상ID'; +COMMENT ON COLUMN COMTNEMPLYRSCRTYESTBS.MBER_TY_CODE IS '회원유형코드'; +COMMENT ON COLUMN COMTNEMPLYRSCRTYESTBS.AUTHOR_CODE IS '권한코드'; + +COMMENT ON TABLE COMTNENTRPRSMBER IS '기업회원'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_ID IS '기업회원ID'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_SE_CODE IS '기업구분코드'; +COMMENT ON COLUMN COMTNENTRPRSMBER.BIZRNO IS '사업자등록번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.JURIRNO IS '법인등록번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.CMPNY_NM IS '회사명'; +COMMENT ON COLUMN COMTNENTRPRSMBER.CXFC IS '대표이사'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ZIP IS '우편번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ADRES IS '주소'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MIDDLE_TELNO IS '기업중간전화번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.FXNUM IS '팩스번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.INDUTY_CODE IS '업종코드'; +COMMENT ON COLUMN COMTNENTRPRSMBER.APPLCNT_NM IS '신청인명'; +COMMENT ON COLUMN COMTNENTRPRSMBER.APPLCNT_IHIDNUM IS '신청인주민등록번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.SBSCRB_DE IS '가입일자'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_STTUS IS '기업회원상태'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_PASSWORD IS '기업회원비밀번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_PASSWORD_HINT IS '기업회원비밀번호힌트'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_PASSWORD_CNSR IS '기업회원비밀번호정답'; +COMMENT ON COLUMN COMTNENTRPRSMBER.GROUP_ID IS '그룹ID'; +COMMENT ON COLUMN COMTNENTRPRSMBER.DETAIL_ADRES IS '상세주소'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_END_TELNO IS '기업끝전화번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.APPLCNT_EMAIL_ADRES IS '신청자이메일주소'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ESNTL_ID IS '고유ID'; +COMMENT ON COLUMN COMTNENTRPRSMBER.LOCK_AT IS '잠금여부'; +COMMENT ON COLUMN COMTNENTRPRSMBER.LOCK_CNT IS '잠금회수'; +COMMENT ON COLUMN COMTNENTRPRSMBER.LOCK_LAST_PNTTM IS '잠금최종시점'; + +COMMENT ON TABLE COMTNEVENTATDRN IS '행사참석자'; + +COMMENT ON COLUMN COMTNEVENTATDRN.APPLCNT_ID IS '신청인ID'; +COMMENT ON COLUMN COMTNEVENTATDRN.EVENT_ID IS '행사ID'; +COMMENT ON COLUMN COMTNEVENTATDRN.REQST_DE IS '신청일'; +COMMENT ON COLUMN COMTNEVENTATDRN.SANCTNER_ID IS '결재자ID'; +COMMENT ON COLUMN COMTNEVENTATDRN.CONFM_AT IS '승인여부'; +COMMENT ON COLUMN COMTNEVENTATDRN.SANCTN_DT IS '결재일시'; +COMMENT ON COLUMN COMTNEVENTATDRN.RETURN_RESN IS '반환사유'; +COMMENT ON COLUMN COMTNEVENTATDRN.INFRML_SANCTN_ID IS '약식결재ID'; +COMMENT ON COLUMN COMTNEVENTATDRN.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNEVENTATDRN.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNEVENTATDRN.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNEVENTATDRN.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNEVENTINFO IS '행사/이벤트정보'; + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_ID IS '행사ID'; +COMMENT ON COLUMN COMTNEVENTINFO.BSNS_YEAR IS '사업년도'; +COMMENT ON COLUMN COMTNEVENTINFO.BSNS_CODE IS '사업코드'; +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_CN IS '행사내용'; +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_SVC_BGNDE IS '행사서비스시작일'; +COMMENT ON COLUMN COMTNEVENTINFO.SVC_USE_NMPR_CO IS '서비스사용인원수'; +COMMENT ON COLUMN COMTNEVENTINFO.CHARGER_NM IS '담당자명'; +COMMENT ON COLUMN COMTNEVENTINFO.PRPARETG_CN IS '준비물내용'; +COMMENT ON COLUMN COMTNEVENTINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNEVENTINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNEVENTINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNEVENTINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_SVC_ENDDE IS '행사서비스종료일'; +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_TY_CODE IS '행사유형코드'; +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_CONFM_AT IS '행사승인여부'; +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_CONFM_DE IS '행사승인날짜'; + +COMMENT ON TABLE COMTNEVENTMANAGE IS '행사관리'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_ID IS '행사ID'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_SE IS '행사구분'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_NM IS '행사명'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_PURPS IS '행사목적'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_BGNDE IS '행사시작일'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_ENDDE IS '행사종료일'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_AUSPC_INSTT_NM IS '행사주최기관명'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_MNGT_INSTT_NM IS '행사주관기관명'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_PLACE IS '행사장소'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_CN IS '행사내용'; +COMMENT ON COLUMN COMTNEVENTMANAGE.CT_OCCRRNC_AT IS '비용발생여부'; +COMMENT ON COLUMN COMTNEVENTMANAGE.PARTCPT_CT IS '참가비용'; +COMMENT ON COLUMN COMTNEVENTMANAGE.REFRN_URL IS '참조URL'; +COMMENT ON COLUMN COMTNEVENTMANAGE.RCEPT_BGNDE IS '접수시작일'; +COMMENT ON COLUMN COMTNEVENTMANAGE.RCEPT_ENDDE IS '접수종료일'; +COMMENT ON COLUMN COMTNEVENTMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNEVENTMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNEVENTMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNEVENTMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNEVENTMANAGE.PSNCPA IS '정원'; + +COMMENT ON TABLE COMTNEXTRLHRINFO IS '외부인사정보'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.EVENT_ID IS '행사ID'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.EXTRL_HR_ID IS '외부인사ID'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.SEXDSTN_CODE IS '성별코드'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.EXTRL_HR_NM IS '외부인사명'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.OCCP_TY_CODE IS '직업유형코드'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.PSITN_INSTT_NM IS '소속기관명'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.BRTHDY IS '생일'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.MIDDLE_TELNO IS '중간전화번호'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.END_TELNO IS '끝전화번호'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.EMAIL_ADRES IS '이메일주소'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNFAQINFO IS 'FAQ정보'; + +COMMENT ON COLUMN COMTNFAQINFO.FAQ_ID IS 'FAQID'; +COMMENT ON COLUMN COMTNFAQINFO.QESTN_SJ IS '질문제목'; +COMMENT ON COLUMN COMTNFAQINFO.QESTN_CN IS '질문내용'; +COMMENT ON COLUMN COMTNFAQINFO.ANSWER_CN IS '답변내용'; +COMMENT ON COLUMN COMTNFAQINFO.RDCNT IS '조회수'; +COMMENT ON COLUMN COMTNFAQINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNFAQINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNFAQINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNFAQINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNFAQINFO.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNFAQINFO.QNA_PROCESS_STTUS_CODE IS '질의응답처리상태코드'; + +COMMENT ON TABLE COMTNFILE IS '파일속성'; + +COMMENT ON COLUMN COMTNFILE.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNFILE.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNFILE.USE_AT IS '사용여부'; + +COMMENT ON TABLE COMTNFILEDETAIL IS '파일상세정보'; + +COMMENT ON COLUMN COMTNFILEDETAIL.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_SN IS '파일순번'; +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_STRE_COURS IS '파일저장경로'; +COMMENT ON COLUMN COMTNFILEDETAIL.STRE_FILE_NM IS '저장파일명'; +COMMENT ON COLUMN COMTNFILEDETAIL.ORIGNL_FILE_NM IS '원파일명'; +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_EXTSN IS '파일확장자'; +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_CN IS '파일내용'; +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_SIZE IS '파일크기'; + +COMMENT ON TABLE COMTNFILESYSMNTRNG IS '파일시스템모니터링'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_ID IS '파일시스템ID'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_NM IS '파일시스템명'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_MANAGE_NM IS '파일시스템관리명'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_SIZE IS '파일시스템크기'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_THRHLD IS '파일시스템임계치'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_USGQTY IS '파일시스템사용량'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNFILESYSMNTRNGLOGINFO IS '파일시스템모니터링로그정보'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_ID IS '파일시스템ID'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_NM IS '파일시스템명'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_MANAGE_NM IS '파일시스템관리명'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_SIZE IS '파일시스템크기'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_THRHLD IS '파일시스템임계치'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_USGQTY IS '파일시스템사용량'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LOG_INFO IS '로그정보'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNFXTRSMANAGE IS 'COMTNFXTRSMANAGE'; + +COMMENT ON COLUMN COMTNFXTRSMANAGE.FXTRS_CODE IS '비품코드'; +COMMENT ON COLUMN COMTNFXTRSMANAGE.FXTRS_NM IS '비품명'; +COMMENT ON COLUMN COMTNFXTRSMANAGE.MAKR_NM IS '제작자명'; +COMMENT ON COLUMN COMTNFXTRSMANAGE.PRICE IS '가격'; + +COMMENT ON TABLE COMTNGNRLMBER IS '일반회원'; + +COMMENT ON COLUMN COMTNGNRLMBER.MBER_ID IS '회원ID'; +COMMENT ON COLUMN COMTNGNRLMBER.PASSWORD IS '비밀번호'; +COMMENT ON COLUMN COMTNGNRLMBER.PASSWORD_HINT IS '비밀번호힌트'; +COMMENT ON COLUMN COMTNGNRLMBER.PASSWORD_CNSR IS '비밀번호정답'; +COMMENT ON COLUMN COMTNGNRLMBER.IHIDNUM IS '주민등록번호'; +COMMENT ON COLUMN COMTNGNRLMBER.MBER_NM IS '회원명'; +COMMENT ON COLUMN COMTNGNRLMBER.ZIP IS '우편번호'; +COMMENT ON COLUMN COMTNGNRLMBER.ADRES IS '주소'; +COMMENT ON COLUMN COMTNGNRLMBER.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNGNRLMBER.MBER_STTUS IS '회원상태'; +COMMENT ON COLUMN COMTNGNRLMBER.DETAIL_ADRES IS '상세주소'; +COMMENT ON COLUMN COMTNGNRLMBER.END_TELNO IS '끝전화번호'; +COMMENT ON COLUMN COMTNGNRLMBER.MBTLNUM IS '이동전화번호'; +COMMENT ON COLUMN COMTNGNRLMBER.GROUP_ID IS '그룹ID'; +COMMENT ON COLUMN COMTNGNRLMBER.MBER_FXNUM IS '회원팩스번호'; +COMMENT ON COLUMN COMTNGNRLMBER.MBER_EMAIL_ADRES IS '회원이메일주소'; +COMMENT ON COLUMN COMTNGNRLMBER.MIDDLE_TELNO IS '중간전화번호'; +COMMENT ON COLUMN COMTNGNRLMBER.SBSCRB_DE IS '가입일자'; +COMMENT ON COLUMN COMTNGNRLMBER.SEXDSTN_CODE IS '성별코드'; +COMMENT ON COLUMN COMTNGNRLMBER.ESNTL_ID IS '고유ID'; +COMMENT ON COLUMN COMTNGNRLMBER.LOCK_AT IS '잠금여부'; +COMMENT ON COLUMN COMTNGNRLMBER.LOCK_CNT IS '잠금회수'; +COMMENT ON COLUMN COMTNGNRLMBER.LOCK_LAST_PNTTM IS '잠금최종시점'; + +COMMENT ON TABLE COMTNHPCMINFO IS '도움말정보'; + +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_ID IS '도움말ID'; +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_SE_CODE IS '도움말구분코드'; +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_DFN IS '도움말정의'; +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_DC IS '도움말설명'; +COMMENT ON COLUMN COMTNHPCMINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNHPCMINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNHPCMINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNHPCMINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNHTTPMON IS 'HTTP서비스모니터링'; + +COMMENT ON COLUMN COMTNHTTPMON.SYS_ID IS '시스템ID'; +COMMENT ON COLUMN COMTNHTTPMON.SITE_URL IS '사이트URL'; +COMMENT ON COLUMN COMTNHTTPMON.WEBSVC_KND IS '웹서비스종류'; +COMMENT ON COLUMN COMTNHTTPMON.HTTP_STTUS_CODE IS 'HTTP상태코드'; +COMMENT ON COLUMN COMTNHTTPMON.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNHTTPMON.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTNHTTPMON.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNHTTPMON.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNHTTPMON.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNHTTPMON.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNHTTPMON.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNINDVDLINFOPOLICY IS '개인정보정책확인'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_ID IS '개인정보정책ID'; +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_CN IS '개인정보정책내용'; +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_AGRE_AT IS '개인정보정책동의여부'; +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_NM IS '개인정보정책명'; + +COMMENT ON TABLE COMTNINDVDLPGECNTNTS IS '마이페이지 컨텐츠'; + +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_ID IS '컨텐츠ID'; +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_NM IS '컨텐츠명'; +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTC_URL IS '연계URL'; +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_USE_AT IS '컨텐츠사용여부'; +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_LINK_URL IS '컨텐츠링크URL'; +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_DC IS '컨텐츠설명'; + +COMMENT ON TABLE COMTNINDVDLPGEESTBS IS '마이페이지 설정'; + +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.UPEND_IMAGE IS '상단이미지'; +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.TITLEBAR_COLOR IS '타이틀바색상'; +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.ALGN_MTHD IS '배열방식'; +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.ALGN_CO IS '배열개수'; + +COMMENT ON TABLE COMTNINDVDLYRYCMANAGE IS '개인별연차관리'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.OCCRRNC_YEAR IS '발생년도'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.USER_ID IS '사용자ID'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.YRYC_OCCRRNC_CO IS '연차발생개수'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.USE_YRYC_CO IS '사용연차개수'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.REMNDR_YRYC_CO IS '잔여연차개수'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNINFRMLSANCTN IS '약식결재정보'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.INFRML_SANCTN_ID IS '약식결재ID'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.JOB_SE_CODE IS '업무구분코드'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.APPLCNT_ID IS '신청인ID'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.REQST_DE IS '신청일'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.SANCTNER_ID IS '결재자ID'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.CONFM_AT IS '승인여부'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.SANCTN_DT IS '결재일시'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.RETURN_RESN IS '반환사유'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNINSTTCODE IS '기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_CODE IS '기관코드'; +COMMENT ON COLUMN COMTNINSTTCODE.ALL_INSTT_NM IS '전체기관명'; +COMMENT ON COLUMN COMTNINSTTCODE.LOWEST_INSTT_NM IS '최하위기관명'; +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_ABRV_NM IS '기관약어명'; +COMMENT ON COLUMN COMTNINSTTCODE.ODR IS '차수'; +COMMENT ON COLUMN COMTNINSTTCODE.ORD IS '서열'; +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_ODR IS '기관차수'; +COMMENT ON COLUMN COMTNINSTTCODE.UPPER_INSTT_CODE IS '상위기관코드'; +COMMENT ON COLUMN COMTNINSTTCODE.BEST_INSTT_CODE IS '최상위기관코드'; +COMMENT ON COLUMN COMTNINSTTCODE.REPRSNT_INSTT_CODE IS '대표기관코드'; +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_TY_LCLAS IS '기관유형대분류'; +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_TY_MLSFC IS '기관유형중분류'; +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_TY_SCLAS IS '기관유형소분류'; +COMMENT ON COLUMN COMTNINSTTCODE.CREAT_DE IS '생성일'; +COMMENT ON COLUMN COMTNINSTTCODE.TELNO IS '전화번호'; +COMMENT ON COLUMN COMTNINSTTCODE.FXNUM IS '팩스번호'; +COMMENT ON COLUMN COMTNINSTTCODE.ABL_DE IS '폐지일'; +COMMENT ON COLUMN COMTNINSTTCODE.ABL_ENNC IS '폐지유무'; +COMMENT ON COLUMN COMTNINSTTCODE.CHANGE_DE IS '변경일'; +COMMENT ON COLUMN COMTNINSTTCODE.CHANGE_TIME IS '변경시간'; +COMMENT ON COLUMN COMTNINSTTCODE.BSIS_DE IS '기초일'; +COMMENT ON COLUMN COMTNINSTTCODE.SORT_ORDR IS '정렬순서'; +COMMENT ON COLUMN COMTNINSTTCODE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNINSTTCODE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNINSTTCODE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNINSTTCODE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNINSTTCODERECPTNLOG IS '기관코드수신로그'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.OPERT_SN IS '작업일련번호'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_CODE IS '기관코드'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CHANGE_SE_CODE IS '변경구분코드'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.PROCESS_SE IS '처리구분'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ETC_CODE IS '기타코드'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ALL_INSTT_NM IS '전체기관명'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.LOWEST_INSTT_NM IS '최하위기관명'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_ABRV_NM IS '기관약어명'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ODR IS '차수'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ORD IS '서열'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_ODR IS '기관차수'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.UPPER_INSTT_CODE IS '상위기관코드'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.BEST_INSTT_CODE IS '최상위기관코드'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.REPRSNT_INSTT_CODE IS '대표기관코드'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_TY_LCLAS IS '기관유형대분류'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_TY_MLSFC IS '기관유형중분류'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_TY_SCLAS IS '기관유형소분류'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.TELNO IS '전화번호'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.FXNUM IS '팩스번호'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CREAT_DE IS '생성일'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ABL_DE IS '폐지일'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ABL_ENNC IS '폐지유무'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CHANGE_DE IS '변경일'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CHANGE_TIME IS '변경시간'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.BSIS_DE IS '기초일'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.SORT_ORDR IS '정렬순서'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNINTNETSVC IS '인터넷서비스'; + +COMMENT ON COLUMN COMTNINTNETSVC.INTNET_SVC_ID IS '인터넷서비스ID'; +COMMENT ON COLUMN COMTNINTNETSVC.INTNET_SVC_NM IS '인터넷서비스명'; +COMMENT ON COLUMN COMTNINTNETSVC.INTNET_SVC_DC IS '인터넷서비스설명'; +COMMENT ON COLUMN COMTNINTNETSVC.REFLCT_AT IS '반영여부'; +COMMENT ON COLUMN COMTNINTNETSVC.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNINTNETSVC.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNINTNETSVC.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNINTNETSVC.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNLEADERSCHDUL IS '간부일정정보'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_ID IS '일정ID'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_SE IS '일정구분'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_NM IS '일정명'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_CN IS '일정내용'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_PLACE IS '일정장소'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.LEADER_ID IS '간부ID'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.REPTIT_SE_CODE IS '반복구분코드'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_BGNDE IS '일정시작일'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_ENDDE IS '일정종료일'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_CHARGER_ID IS '일정담당자ID'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNLEADERSCHDULDE IS '간부일정관리'; + + +COMMENT ON COLUMN COMTNLEADERSCHDULDE.SCHDUL_ID IS '일정ID'; +COMMENT ON COLUMN COMTNLEADERSCHDULDE.SCHDUL_DE IS '일정일'; + +COMMENT ON TABLE COMTNLEADERSTTUS IS '간부상태정보'; + +COMMENT ON COLUMN COMTNLEADERSTTUS.LEADER_ID IS '간부ID'; +COMMENT ON COLUMN COMTNLEADERSTTUS.LEADER_STTUS IS '간부상태'; +COMMENT ON COLUMN COMTNLEADERSTTUS.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNLEADERSTTUS.FRST_REGIST_PNTTM IS '최초등록자시점'; +COMMENT ON COLUMN COMTNLEADERSTTUS.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNLEADERSTTUS.LAST_UPDT_PNTTM IS '최종등록자시점'; + +COMMENT ON TABLE COMTNLOGINLOG IS '접속로그'; + +COMMENT ON COLUMN COMTNLOGINLOG.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTNLOGINLOG.CONECT_ID IS '접속ID'; +COMMENT ON COLUMN COMTNLOGINLOG.CONECT_IP IS '접속IP'; +COMMENT ON COLUMN COMTNLOGINLOG.CONECT_MTHD IS '접속방식'; +COMMENT ON COLUMN COMTNLOGINLOG.ERROR_OCCRRNC_AT IS '오류발생여부'; +COMMENT ON COLUMN COMTNLOGINLOG.ERROR_CODE IS '오류코드'; +COMMENT ON COLUMN COMTNLOGINLOG.CREAT_DT IS '생성일시'; + +COMMENT ON TABLE COMTNLOGINPOLICY IS '로그인정책'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNLOGINPOLICY.IP_INFO IS 'IP정보'; +COMMENT ON COLUMN COMTNLOGINPOLICY.DPLCT_PERM_AT IS '중복허용여부'; +COMMENT ON COLUMN COMTNLOGINPOLICY.LMTT_AT IS '제한여부'; +COMMENT ON COLUMN COMTNLOGINPOLICY.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNLOGINPOLICY.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNLOGINPOLICY.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNLOGINPOLICY.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNLOGINSCRINIMAGE IS '로그인화면이미지'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_ID IS '이미지ID'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_NM IS '이미지명'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_FILE IS '이미지파일'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.REFLCT_AT IS '반영여부'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE IS '이미지'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_DC IS '이미지설명'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNMAINIMAGE IS '메인이미지'; + +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_ID IS '이미지ID'; +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_NM IS '이미지명'; +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE IS '이미지'; +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_DC IS '이미지설명'; +COMMENT ON COLUMN COMTNMAINIMAGE.REFLCT_AT IS '반영여부'; +COMMENT ON COLUMN COMTNMAINIMAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNMAINIMAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNMAINIMAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNMAINIMAGE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_FILE IS '이미지파일'; + +COMMENT ON TABLE COMTNMEMOREPRT IS '메모보고관리'; + +COMMENT ON COLUMN COMTNMEMOREPRT.REPRT_ID IS '보고서ID'; +COMMENT ON COLUMN COMTNMEMOREPRT.REPRT_SJ IS '보고서제목'; +COMMENT ON COLUMN COMTNMEMOREPRT.REPORT_DE IS '보고일'; +COMMENT ON COLUMN COMTNMEMOREPRT.WRTER_ID IS '작성자ID'; +COMMENT ON COLUMN COMTNMEMOREPRT.REPORTR_ID IS '보고자ID'; +COMMENT ON COLUMN COMTNMEMOREPRT.REPORT_CN IS '보고내용'; +COMMENT ON COLUMN COMTNMEMOREPRT.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNMEMOREPRT.DRCT_MATTER IS '지시사항'; +COMMENT ON COLUMN COMTNMEMOREPRT.DRCT_MATTER_REGIST_DT IS '지시사항등록일시'; +COMMENT ON COLUMN COMTNMEMOREPRT.REPORTR_INQIRE_DT IS '보고자조회일시'; +COMMENT ON COLUMN COMTNMEMOREPRT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNMEMOREPRT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNMEMOREPRT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNMEMOREPRT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNMEMOTODO IS '메모할일정보'; + +COMMENT ON COLUMN COMTNMEMOTODO.TODO_ID IS '할일ID'; +COMMENT ON COLUMN COMTNMEMOTODO.TODO_SJ IS '할일제목'; +COMMENT ON COLUMN COMTNMEMOTODO.TODO_BEGIN_TIME IS '할일시작시간'; +COMMENT ON COLUMN COMTNMEMOTODO.TODO_END_TIME IS '할일종료시간'; +COMMENT ON COLUMN COMTNMEMOTODO.WRTER_ID IS '작성자ID'; +COMMENT ON COLUMN COMTNMEMOTODO.TODO_CN IS '할일내용'; +COMMENT ON COLUMN COMTNMEMOTODO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNMEMOTODO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNMEMOTODO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNMEMOTODO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNMENUCREATDTLS IS '메뉴생성내역'; + +COMMENT ON COLUMN COMTNMENUCREATDTLS.MENU_NO IS '메뉴번호'; +COMMENT ON COLUMN COMTNMENUCREATDTLS.AUTHOR_CODE IS '권한코드'; +COMMENT ON COLUMN COMTNMENUCREATDTLS.MAPNG_CREAT_ID IS '매핑생성ID'; + +COMMENT ON TABLE COMTNMENUINFO IS '메뉴정보'; + +COMMENT ON COLUMN COMTNMENUINFO.MENU_NO IS '메뉴번호'; +COMMENT ON COLUMN COMTNMENUINFO.UPPER_MENU_NO IS '상위메뉴번호'; +COMMENT ON COLUMN COMTNMENUINFO.MENU_NM IS '메뉴명'; +COMMENT ON COLUMN COMTNMENUINFO.PROGRM_FILE_NM IS '프로그램파일명'; +COMMENT ON COLUMN COMTNMENUINFO.MENU_ORDR IS '메뉴순서'; +COMMENT ON COLUMN COMTNMENUINFO.MENU_DC IS '메뉴설명'; +COMMENT ON COLUMN COMTNMENUINFO.RELATE_IMAGE_PATH IS '관계이미지경로'; +COMMENT ON COLUMN COMTNMENUINFO.RELATE_IMAGE_NM IS '관계이미지명'; + +COMMENT ON TABLE COMTNMTGINFO IS '회의정보'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_ID IS '회의ID'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_NM IS '회의명'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_MTR_CN IS '회의안건내용'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_SN IS '회의순번'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_CO IS '회의수'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_DE IS '회의일'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_PLACE IS '회의장소'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_BEGIN_TM IS '회의시작시간'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_END_TM IS '회의종료시간'; +COMMENT ON COLUMN COMTNMTGINFO.CLSDR_MTG_AT IS '비공개회의여부'; +COMMENT ON COLUMN COMTNMTGINFO.READNG_BGNDE IS '열람개시일'; +COMMENT ON COLUMN COMTNMTGINFO.READNG_AT IS '열람여부'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_RESULT_CN IS '회의결과내용'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_RESULT_ENNC IS '회의결과유무'; +COMMENT ON COLUMN COMTNMTGINFO.ETC_MATTER IS '기타사항'; +COMMENT ON COLUMN COMTNMTGINFO.MNGT_DEPT_ID IS '주관부서ID'; +COMMENT ON COLUMN COMTNMTGINFO.MNAER_ID IS '주관자ID'; +COMMENT ON COLUMN COMTNMTGINFO.MNAER_DEPT_ID IS '주관자부서ID'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_AT IS '회의여부'; +COMMENT ON COLUMN COMTNMTGINFO.NONATDRN_CO IS '불참자수'; +COMMENT ON COLUMN COMTNMTGINFO.ATDRN_CO IS '참석자수'; +COMMENT ON COLUMN COMTNMTGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNMTGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNMTGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNMTGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNMTGPLACEFXTRS IS '회의실비품'; + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.MTGRUM_ID IS '회의실ID'; +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.FXTRS_CODE IS '비품코드'; +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.QY IS '량'; +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNMTGPLACEMANAGE IS '회의실관리'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.MTGRUM_ID IS '회의실ID'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.MTGRUM_NM IS '회의실명'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.OPN_BEGIN_TM IS '개방시작시각'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.OPN_END_TM IS '개방종료시각'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.ACEPTNC_POSBL_NMPR IS '수용가능인원'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LC_SE IS '위치구분'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LC_DETAIL IS '위치상세'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNMTGPLACERESVE IS '회의실예약정보'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_ID IS '예약ID'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.MTGRUM_ID IS '회의실ID'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.MTG_SJ IS '회의제목'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.RSVCTM_ID IS '예약자ID'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_DE IS '예약일'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_BEGIN_TM IS '예약시작시각'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_END_TM IS '예약종료시각'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.ATNDNC_NMPR IS '참석인원'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.MTG_CN IS '회의내용'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNNCRD IS '명함정보속성'; + +COMMENT ON COLUMN COMTNNCRD.NCRD_ID IS '명함ID'; +COMMENT ON COLUMN COMTNNCRD.NCRD_TRGTER_ID IS '명함대상자ID'; +COMMENT ON COLUMN COMTNNCRD.NM IS '이름'; +COMMENT ON COLUMN COMTNNCRD.TELNO IS '전화번호'; +COMMENT ON COLUMN COMTNNCRD.NATION_NO IS '국가번호'; +COMMENT ON COLUMN COMTNNCRD.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNNCRD.MIDDLE_TELNO IS '중간전화번호'; +COMMENT ON COLUMN COMTNNCRD.END_TELNO IS '끝전화번호'; +COMMENT ON COLUMN COMTNNCRD.MBTLNUM IS '이동전화번호'; +COMMENT ON COLUMN COMTNNCRD.IDNTFC_NO IS '식별번호'; +COMMENT ON COLUMN COMTNNCRD.MIDDLE_MBTLNUM IS '중간이동전화번호'; +COMMENT ON COLUMN COMTNNCRD.END_MBTLNUM IS '끝이동전화번호'; +COMMENT ON COLUMN COMTNNCRD.EMAIL_ADRES IS '이메일주소'; +COMMENT ON COLUMN COMTNNCRD.CMPNY_NM IS '회사명'; +COMMENT ON COLUMN COMTNNCRD.DEPT_NM IS '부서명'; +COMMENT ON COLUMN COMTNNCRD.ADRES IS '주소'; +COMMENT ON COLUMN COMTNNCRD.DETAIL_ADRES IS '상세주소'; +COMMENT ON COLUMN COMTNNCRD.OFCPS_NM IS '직위명'; +COMMENT ON COLUMN COMTNNCRD.CLSF_NM IS '직급명'; +COMMENT ON COLUMN COMTNNCRD.EXTRL_USER_AT IS '외부사용자여부'; +COMMENT ON COLUMN COMTNNCRD.OTHBC_AT IS '공개여부'; +COMMENT ON COLUMN COMTNNCRD.RM IS '비고'; +COMMENT ON COLUMN COMTNNCRD.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNCRD.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNCRD.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNNCRD.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNNCRDUSER IS '명함사용자속성'; + +COMMENT ON COLUMN COMTNNCRDUSER.NCRD_ID IS '명함ID'; +COMMENT ON COLUMN COMTNNCRDUSER.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNNCRDUSER.REGIST_SE_CODE IS '등록구분코드'; +COMMENT ON COLUMN COMTNNCRDUSER.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNNCRDUSER.CREAT_DT IS '생성일시'; + +COMMENT ON TABLE COMTNNEWSINFO IS '뉴스정보'; + +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_ID IS '뉴스ID'; +COMMENT ON COLUMN COMTNNEWSINFO.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_SJ IS '뉴스제목'; +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_CN IS '뉴스내용'; +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_ORIGIN IS '뉴스출처'; +COMMENT ON COLUMN COMTNNEWSINFO.NTCE_AT IS '게시여부'; +COMMENT ON COLUMN COMTNNEWSINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNEWSINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNEWSINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNNEWSINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNNEWSINFO.NTCE_DE IS '게시일'; + +COMMENT ON TABLE COMTNNOTE IS '쪽지관리'; + +COMMENT ON COLUMN COMTNNOTE.NOTE_ID IS '쪽지ID'; +COMMENT ON COLUMN COMTNNOTE.NOTE_SJ IS '쪽지제목'; +COMMENT ON COLUMN COMTNNOTE.NOTE_CN IS '쪽지내용'; +COMMENT ON COLUMN COMTNNOTE.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNNOTE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNOTE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNOTE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNNOTE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNNOTERECPTN IS '받은쪽지함관리'; + +COMMENT ON COLUMN COMTNNOTERECPTN.NOTE_ID IS '쪽지ID'; +COMMENT ON COLUMN COMTNNOTERECPTN.NOTE_TRNSMIT_ID IS '쪽지송신ID'; +COMMENT ON COLUMN COMTNNOTERECPTN.NOTE_RECPTN_ID IS '쪽지수신ID'; +COMMENT ON COLUMN COMTNNOTERECPTN.RCVER_ID IS '수신자ID'; +COMMENT ON COLUMN COMTNNOTERECPTN.OPEN_YN IS '개봉여부'; +COMMENT ON COLUMN COMTNNOTERECPTN.RECPTN_SE IS '수신구분'; +COMMENT ON COLUMN COMTNNOTERECPTN.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNOTERECPTN.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNOTERECPTN.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNNOTERECPTN.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNNOTETRNSMIT IS '보낸쪽지함관리'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.NOTE_ID IS '쪽지ID'; +COMMENT ON COLUMN COMTNNOTETRNSMIT.NOTE_TRNSMIT_ID IS '쪽지송신ID'; +COMMENT ON COLUMN COMTNNOTETRNSMIT.TRNSMITER_ID IS '송신자ID'; +COMMENT ON COLUMN COMTNNOTETRNSMIT.DELETE_AT IS '삭제여부'; +COMMENT ON COLUMN COMTNNOTETRNSMIT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNOTETRNSMIT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNOTETRNSMIT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNNOTETRNSMIT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNNTFCINFO IS '정보알림'; + +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_NO IS '알림번호'; +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_SJ IS '알림제목'; +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_CN IS '알림내용'; +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_TM IS '알림시간'; +COMMENT ON COLUMN COMTNNTFCINFO.BH_NTCN_INTRVL IS '사전알림간격'; +COMMENT ON COLUMN COMTNNTFCINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNTFCINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNNTFCINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNTFCINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNNTTSTATS IS '게시물통계'; + +COMMENT ON COLUMN COMTNNTTSTATS.STATS_ID IS '통계ID'; +COMMENT ON COLUMN COMTNNTTSTATS.NTCE_CO IS '게시개수'; +COMMENT ON COLUMN COMTNNTTSTATS.AVRG_RDCNT IS '평균조회수'; +COMMENT ON COLUMN COMTNNTTSTATS.TOP_RDCNT IS '최고조회수'; +COMMENT ON COLUMN COMTNNTTSTATS.MUMM_RDCNT IS '최소조회수'; +COMMENT ON COLUMN COMTNNTTSTATS.TOP_NTCR_ID IS '최고게시자ID'; + +COMMENT ON TABLE COMTNNTWRKINFO IS '네트워크정보'; + +COMMENT ON COLUMN COMTNNTWRKINFO.NTWRK_ID IS '네트워크ID'; +COMMENT ON COLUMN COMTNNTWRKINFO.NTWRK_IP IS '네트워크IP'; +COMMENT ON COLUMN COMTNNTWRKINFO.GTWY IS '게이트웨이'; +COMMENT ON COLUMN COMTNNTWRKINFO.SUBNET IS '서브넷'; +COMMENT ON COLUMN COMTNNTWRKINFO.DOMN_NM_SERVER IS '도메인명서버'; +COMMENT ON COLUMN COMTNNTWRKINFO.MANAGE_IEM IS '관리항목'; +COMMENT ON COLUMN COMTNNTWRKINFO.USER_NM IS '사용자명'; +COMMENT ON COLUMN COMTNNTWRKINFO.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNNTWRKINFO.RGSDE IS '등록일'; +COMMENT ON COLUMN COMTNNTWRKINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNTWRKINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNTWRKINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNNTWRKINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNNTWRKSVCMNTRNG IS '네트워크서비스모니터링'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.SYS_IP IS '시스템IP'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.SYS_PORT IS '시스템포트'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.SYS_NM IS '시스템명'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNNTWRKSVCMNTRNGLOGINFO IS '네트워크서비스모니터링로그정보'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.SYS_IP IS '시스템IP'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.SYS_PORT IS '시스템포트'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.SYS_NM IS '시스템명'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LOG_INFO IS '로그정보'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNONLINEMANUAL IS '온라인메뉴얼'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_ID IS '온라인메뉴얼ID'; +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_SE_CODE IS '온라인메뉴얼구분코드'; +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_DFN IS '온라인메뉴얼정의'; +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_DC IS '온라인메뉴얼설명'; +COMMENT ON COLUMN COMTNONLINEMANUAL.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNONLINEMANUAL.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNONLINEMANUAL.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNONLINEMANUAL.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_NM IS '온라인메뉴얼명'; + +COMMENT ON TABLE COMTNONLINEPOLLIEM IS '온라인POLL항목'; + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.POLL_ID IS 'POLLID'; +COMMENT ON COLUMN COMTNONLINEPOLLIEM.POLL_IEM_ID IS 'POLL항목ID'; +COMMENT ON COLUMN COMTNONLINEPOLLIEM.POLL_IEM_NM IS 'POLL항목명'; +COMMENT ON COLUMN COMTNONLINEPOLLIEM.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNONLINEPOLLIEM.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNONLINEPOLLIEM.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNONLINEPOLLIEM.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNONLINEPOLLMANAGE IS '온라인POLL관리'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_ID IS 'POLLID'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_NM IS 'POLL명'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_BGNDE IS 'POLL시작일'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_ENDDE IS 'POLL종료일'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_KND IS 'POLL종류'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_DSUSE_ENNC IS 'POLL폐기유무'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_ATMC_DSUSE_ENNC IS 'POLL자동폐기유무'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNONLINEPOLLRESULT IS '온라인POLL결과'; + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.POLL_RESULT_ID IS 'POLL결과ID'; +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.POLL_IEM_ID IS 'POLL항목ID'; +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.POLL_ID IS 'POLLID'; +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNORGNZTINFO IS '조직정보'; + +COMMENT ON COLUMN COMTNORGNZTINFO.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTNORGNZTINFO.ORGNZT_NM IS '조직명'; +COMMENT ON COLUMN COMTNORGNZTINFO.ORGNZT_DC IS '조직설명'; + +COMMENT ON TABLE COMTNPOPUPMANAGE IS '팝업 정보 관리'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_ID IS '팝업ID'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_SJ_NM IS '팝업제목명'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.FILE_URL IS '파일URL'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_WIDTH_LC IS '팝업가로위치'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_VRTICL_LC IS '팝업세로위치'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_WIDTH_SIZE IS '팝업가로사이즈'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_VRTICL_SIZE IS '팝업세로사이즈'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.NTCE_BGNDE IS '게시시작일'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.NTCE_ENDDE IS '게시종료일'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.STOPVEW_SETUP_AT IS '그만보기설정여부'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.NTCE_AT IS '게시여부'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNPRIVACYLOG IS '개인정보조회 로그'; + +COMMENT ON COLUMN COMTNPRIVACYLOG.REQUST_ID IS '요청 ID'; +COMMENT ON COLUMN COMTNPRIVACYLOG.INQIRE_DT IS '조회일시'; +COMMENT ON COLUMN COMTNPRIVACYLOG.INQIRE_INFO IS '조회 정보 명'; +COMMENT ON COLUMN COMTNPRIVACYLOG.RQESTER_ID IS '요청자아이디'; +COMMENT ON COLUMN COMTNPRIVACYLOG.RQESTER_IP IS '요청아이피'; +COMMENT ON COLUMN COMTNPRIVACYLOG.SRVC_NM IS '서비스 명'; + +COMMENT ON TABLE COMTNPROCESSMON IS '프로세스모니터링'; + +COMMENT ON COLUMN COMTNPROCESSMON.PROCS_ID IS '프로세스ID'; +COMMENT ON COLUMN COMTNPROCESSMON.PROCS_NM IS '프로세스명'; +COMMENT ON COLUMN COMTNPROCESSMON.PROCS_STTUS IS '프로세스상태'; +COMMENT ON COLUMN COMTNPROCESSMON.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNPROCESSMON.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTNPROCESSMON.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNPROCESSMON.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNPROCESSMON.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNPROCESSMON.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNPROCESSMON.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNPROCESSMONLOGINFO IS '프로세스모니터링로그정보'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.PROCS_ID IS '프로세스ID'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.PROCS_NM IS '프로세스명'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.PROCS_STTUS IS '프로세스상태'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LOG_INFO IS '로그정보'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNPROGRMLIST IS '프로그램목록'; + +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_FILE_NM IS '프로그램파일명'; +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_STRE_PATH IS '프로그램저장경로'; +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_KOREAN_NM IS '프로그램한글명'; +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_DC IS '프로그램설명'; +COMMENT ON COLUMN COMTNPROGRMLIST.URL IS 'URL'; + +COMMENT ON TABLE COMTNPROXYINFO IS '프록시정보'; + +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_ID IS '프록시ID'; +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_NM IS '프록시명'; +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_IP IS '프록시IP'; +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_PORT IS '프록시포트'; +COMMENT ON COLUMN COMTNPROXYINFO.TRGET_SVC_NM IS '대상서비스명'; +COMMENT ON COLUMN COMTNPROXYINFO.SVC_DC IS '서비스설명'; +COMMENT ON COLUMN COMTNPROXYINFO.SVC_IP IS '서비스IP'; +COMMENT ON COLUMN COMTNPROXYINFO.SVC_PORT IS '서비스포트'; +COMMENT ON COLUMN COMTNPROXYINFO.SVC_STTUS IS '서비스상태'; +COMMENT ON COLUMN COMTNPROXYINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNPROXYINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNPROXYINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNPROXYINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNPROXYLOGINFO IS '프록시로그정보'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.PROXY_ID IS '프록시ID'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.CLNT_IP IS '클라이언트IP'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.CLNT_PORT IS '클라이언트포트'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.CONECT_TIME IS '접속시간'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNQAINFO IS 'QA정보'; + +COMMENT ON COLUMN COMTNQAINFO.QA_ID IS 'QAID'; +COMMENT ON COLUMN COMTNQAINFO.QESTN_SJ IS '질문제목'; +COMMENT ON COLUMN COMTNQAINFO.QESTN_CN IS '질문내용'; +COMMENT ON COLUMN COMTNQAINFO.WRITNG_DE IS '작성일'; +COMMENT ON COLUMN COMTNQAINFO.RDCNT IS '조회수'; +COMMENT ON COLUMN COMTNQAINFO.EMAIL_ADRES IS '이메일주소'; +COMMENT ON COLUMN COMTNQAINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNQAINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNQAINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNQAINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNQAINFO.QNA_PROCESS_STTUS_CODE IS '질의응답처리상태코드'; +COMMENT ON COLUMN COMTNQAINFO.WRTER_NM IS '작성자명'; +COMMENT ON COLUMN COMTNQAINFO.ANSWER_CN IS '답변내용'; +COMMENT ON COLUMN COMTNQAINFO.WRITNG_PASSWORD IS '작성비밀번호'; +COMMENT ON COLUMN COMTNQAINFO.ANSWER_DE IS '답변일자'; +COMMENT ON COLUMN COMTNQAINFO.EMAIL_ANSWER_AT IS '메일답변여부'; +COMMENT ON COLUMN COMTNQAINFO.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNQAINFO.MIDDLE_TELNO IS '중간전화번호'; +COMMENT ON COLUMN COMTNQAINFO.END_TELNO IS '끝전화번호'; + +COMMENT ON TABLE COMTNQESTNRINFO IS '설문지정보'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; +COMMENT ON COLUMN COMTNQESTNRINFO.QESTNR_ID IS '설문지ID'; +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_SJ IS '설문제목'; +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_PURPS IS '설문목적'; +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_WRITNG_GUIDANCE_CN IS '설문작성안내내용'; +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_TRGET IS '설문대상'; +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_BGNDE IS '설문시작일'; +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_ENDDE IS '설문종료일'; +COMMENT ON COLUMN COMTNQESTNRINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNQESTNRINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNQESTNRINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNQESTNRINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNQUSTNRIEM IS '설문항목'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; +COMMENT ON COLUMN COMTNQUSTNRIEM.QESTNR_ID IS '설문지ID'; +COMMENT ON COLUMN COMTNQUSTNRIEM.QUSTNR_QESITM_ID IS '설문문항ID'; +COMMENT ON COLUMN COMTNQUSTNRIEM.QUSTNR_IEM_ID IS '설문항목ID'; +COMMENT ON COLUMN COMTNQUSTNRIEM.IEM_SN IS '항목순번'; +COMMENT ON COLUMN COMTNQUSTNRIEM.IEM_CN IS '항목내용'; +COMMENT ON COLUMN COMTNQUSTNRIEM.ETC_ANSWER_AT IS '기타답변여부'; +COMMENT ON COLUMN COMTNQUSTNRIEM.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNQUSTNRIEM.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNQUSTNRIEM.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNQUSTNRIEM.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNQUSTNRQESITM IS '설문문항'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTNR_ID IS '설문지ID'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.QUSTNR_QESITM_ID IS '설문문항ID'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTN_SN IS '질문순번'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTN_TY_CODE IS '질문유형코드'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTN_CN IS '질문내용'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.MXMM_CHOISE_CO IS '최대선택개수'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNQUSTNRRESPONDINFO IS '설문응답자정보'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.QESTNR_ID IS '설문지ID'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.QUSTNR_RESPOND_ID IS '설문응답자ID'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.SEXDSTN_CODE IS '성별코드'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.OCCP_TY_CODE IS '직업유형코드'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.RESPOND_NM IS '응답자명'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.BRTHDY IS '생일'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.MIDDLE_TELNO IS '중간전화번호'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.END_TELNO IS '끝전화번호'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNQUSTNRRSPNSRESULT IS '설문응답결과'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_RSPNS_RESULT_ID IS '설문응답결과ID'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QESTNR_ID IS '설문지ID'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_QESITM_ID IS '설문문항ID'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.RESPOND_ANSWER_CN IS '응답자답변내용'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.ETC_ANSWER_CN IS '기타답변내용'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.RESPOND_NM IS '응답자명'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_IEM_ID IS '설문항목ID'; + +COMMENT ON TABLE COMTNQUSTNRTMPLAT IS '설문템플릿'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_TY IS '설문템플릿유형'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_DC IS '설문템플릿설명'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_PATH_NM IS '설문템플릿경로명'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_IMAGE_INFO IS '설문템플릿이미지정보'; + +COMMENT ON TABLE COMTNRECENTSRCHWRD IS '최근검색어'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.SRCHWRD_MANAGE_ID IS '검색어관리ID'; +COMMENT ON COLUMN COMTNRECENTSRCHWRD.RECENT_SRCHWRD_ID IS '최근검색어ID'; +COMMENT ON COLUMN COMTNRECENTSRCHWRD.RECENT_SRCHWRD_NM IS '최근검색어명'; +COMMENT ON COLUMN COMTNRECENTSRCHWRD.RECENT_SRCHWRD_CO IS '최근검색어개수'; +COMMENT ON COLUMN COMTNRECENTSRCHWRD.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNRECENTSRCHWRD.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNRECENTSRCHWRD.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNRECENTSRCHWRD.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNRECENTSRCHWRDMANAGE IS '최근검색어관리'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.SRCHWRD_MANAGE_ID IS '검색어관리ID'; +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.SRCHWRD_MANAGE_NM IS '검색어관리명'; +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.SRCHWRD_CONECT_URL IS '검색어접속URL'; +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.USER_SEARCH_AT IS '사용자검색여부'; +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNRECOMENDSITEINFO IS '추천사이트정보'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_ID IS '추천사이트ID'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_NM IS '추천사이트명'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_URL IS '추천사이트URL'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_DC IS '추천사이트설명'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_RESN_CN IS '추천사유내용'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_CONFM_AT IS '추천승인여부'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.CONFM_DE IS '승인일'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNREPRTSTATS IS '보고서통계'; + +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_ID IS '보고서ID'; +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_NM IS '보고서명'; +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_STTUS IS '보고서상태'; +COMMENT ON COLUMN COMTNREPRTSTATS.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNREPRTSTATS.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNREPRTSTATS.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNREPRTSTATS.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_TY IS '보고서유형'; + +COMMENT ON TABLE COMTNRESTDE IS '휴일관리'; + +COMMENT ON COLUMN COMTNRESTDE.RESTDE_NO IS '휴일번호'; +COMMENT ON COLUMN COMTNRESTDE.RESTDE IS '휴일'; +COMMENT ON COLUMN COMTNRESTDE.RESTDE_NM IS '휴일명'; +COMMENT ON COLUMN COMTNRESTDE.RESTDE_DC IS '휴일설명'; +COMMENT ON COLUMN COMTNRESTDE.RESTDE_SE_CODE IS '휴일구분코드'; +COMMENT ON COLUMN COMTNRESTDE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNRESTDE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNRESTDE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNRESTDE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNROLEINFO IS '롤정보'; + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_CODE IS '롤코드'; +COMMENT ON COLUMN COMTNROLEINFO.ROLE_NM IS '롤명'; +COMMENT ON COLUMN COMTNROLEINFO.ROLE_PTTRN IS '롤패턴'; +COMMENT ON COLUMN COMTNROLEINFO.ROLE_DC IS '롤설명'; +COMMENT ON COLUMN COMTNROLEINFO.ROLE_TY IS '롤유형'; +COMMENT ON COLUMN COMTNROLEINFO.ROLE_SORT IS '롤정렬'; +COMMENT ON COLUMN COMTNROLEINFO.ROLE_CREAT_DE IS '롤생성일'; + +COMMENT ON TABLE COMTNROLES_HIERARCHY IS '롤 계층구조'; + +COMMENT ON COLUMN COMTNROLES_HIERARCHY.PARNTS_ROLE IS '부모롤'; +COMMENT ON COLUMN COMTNROLES_HIERARCHY.CHLDRN_ROLE IS '자식롤'; + +COMMENT ON TABLE COMTNROUGHMAP IS '약도관리'; + +COMMENT ON COLUMN COMTNROUGHMAP.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNROUGHMAP.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNROUGHMAP.INFOWINDOW IS '안내창 도움말'; +COMMENT ON COLUMN COMTNROUGHMAP.LA IS '지도 위도'; +COMMENT ON COLUMN COMTNROUGHMAP.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNROUGHMAP.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNROUGHMAP.LO IS '지도 경도'; +COMMENT ON COLUMN COMTNROUGHMAP.MARKERLA IS '마커 위도'; +COMMENT ON COLUMN COMTNROUGHMAP.MARKERLO IS '마커 경도'; +COMMENT ON COLUMN COMTNROUGHMAP.ROUGHMAPADDRESS IS '약도상세주소'; +COMMENT ON COLUMN COMTNROUGHMAP.ROUGHMAPSJ IS '약도 제목'; +COMMENT ON COLUMN COMTNROUGHMAP.ROUGHMAP_ID IS '약도 ID'; +COMMENT ON COLUMN COMTNROUGHMAP.ZOOMLEVEL IS '지도 확대수준'; + +COMMENT ON TABLE COMTNRSS IS 'RSS관리'; + +COMMENT ON COLUMN COMTNRSS.RSS_ID IS 'RSSID'; +COMMENT ON COLUMN COMTNRSS.TRGET_SVC_NM IS '대상서비스명'; +COMMENT ON COLUMN COMTNRSS.TRGET_SVC_TABLE IS '대상서비스테이블'; +COMMENT ON COLUMN COMTNRSS.TRGET_SVC_LIST_CO IS '대상서비스목록개수'; +COMMENT ON COLUMN COMTNRSS.HDER_TITLE IS '헤더TITLE'; +COMMENT ON COLUMN COMTNRSS.HDER_LINK IS '헤더링크'; +COMMENT ON COLUMN COMTNRSS.HDER_DC IS '헤더설명'; +COMMENT ON COLUMN COMTNRSS.HDER_TAG IS '헤더태그'; +COMMENT ON COLUMN COMTNRSS.HDER_ETC IS '헤더기타'; +COMMENT ON COLUMN COMTNRSS.BDT_TITLE IS '본문TITLE'; +COMMENT ON COLUMN COMTNRSS.BDT_LINK IS '본문링크'; +COMMENT ON COLUMN COMTNRSS.BDT_DC IS '본문설명'; +COMMENT ON COLUMN COMTNRSS.BDT_TAG IS '본문태그'; +COMMENT ON COLUMN COMTNRSS.BDT_ETC_TAG IS '본문기타태그'; +COMMENT ON COLUMN COMTNRSS.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNRSS.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNRSS.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNRSS.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNRWARDMANAGE IS '포상관리'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_ID IS '포상ID'; +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARDWNR_ID IS '포상자ID'; +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_CODE IS '포상코드'; +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_DE IS '포상일'; +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_NM IS '포상명'; +COMMENT ON COLUMN COMTNRWARDMANAGE.PBLEN_CN IS '공적내용'; +COMMENT ON COLUMN COMTNRWARDMANAGE.SANCTNER_ID IS '결재자ID'; +COMMENT ON COLUMN COMTNRWARDMANAGE.CONFM_AT IS '승인여부'; +COMMENT ON COLUMN COMTNRWARDMANAGE.SANCTN_DT IS '결재일시'; +COMMENT ON COLUMN COMTNRWARDMANAGE.RETURN_RESN IS '반환사유'; +COMMENT ON COLUMN COMTNRWARDMANAGE.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNRWARDMANAGE.INFRML_SANCTN_ID IS '약식결재ID'; +COMMENT ON COLUMN COMTNRWARDMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNRWARDMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNRWARDMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNRWARDMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNSCHDULINFO IS '일정정보'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_ID IS '일정ID'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_SE IS '일정구분'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_DEPT_ID IS '일정부서ID'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_KND_CODE IS '일정종류코드'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_BGNDE IS '일정시작일'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_ENDDE IS '일정종료일'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_NM IS '일정명'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_CN IS '일정내용'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_PLACE IS '일정장소'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_IPCR_CODE IS '일정중요도코드'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_CHARGER_ID IS '일정담당자ID'; +COMMENT ON COLUMN COMTNSCHDULINFO.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNSCHDULINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSCHDULINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSCHDULINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNSCHDULINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNSCHDULINFO.REPTIT_SE_CODE IS '반복구분코드'; + +COMMENT ON TABLE COMTNSCRAP IS '스크랩'; + +COMMENT ON COLUMN COMTNSCRAP.SCRAP_ID IS '스크랩ID'; +COMMENT ON COLUMN COMTNSCRAP.NTT_ID IS '게시물ID'; +COMMENT ON COLUMN COMTNSCRAP.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNSCRAP.SCRAP_NM IS '스크랩명'; +COMMENT ON COLUMN COMTNSCRAP.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNSCRAP.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSCRAP.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNSCRAP.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSCRAP.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNSERVEREQPMNINFO IS '서버장비정보'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_ID IS '서버장비ID'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_NM IS '서버장비명'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_IP IS '서버장비IP'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_MNGR IS '서버장비관리자'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.OPERSYSM_INFO IS '운영체제정보'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.CPU_INFO IS 'CPU정보'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.MORY_INFO IS '메모리정보'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.HDDISK IS 'HDDISK'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.ETC_INFO IS '기타정보'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.RGSDE IS '등록일'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNSERVEREQPMNRELATE IS '서버장비관계'; + +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.SERVER_EQPMN_ID IS '서버장비ID'; +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.SERVER_ID IS '서버ID'; +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNSERVERINFO IS '서버정보'; + +COMMENT ON COLUMN COMTNSERVERINFO.SERVER_ID IS '서버ID'; +COMMENT ON COLUMN COMTNSERVERINFO.SERVER_NM IS '서버명'; +COMMENT ON COLUMN COMTNSERVERINFO.SERVER_KND IS '서버종류'; +COMMENT ON COLUMN COMTNSERVERINFO.RGSDE IS '등록일'; +COMMENT ON COLUMN COMTNSERVERINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSERVERINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSERVERINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNSERVERINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNSERVERRESRCELOGINFO IS '서버자원로그정보'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.SERVER_EQPMN_ID IS '서버장비ID'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.SERVER_ID IS '서버ID'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.CPU_USE_RT IS 'CPU사용율'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.MORY_USE_RT IS '메모리사용율'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.SVC_STTUS IS '서비스상태'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LOG_INFO IS '로그정보'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNSITELIST IS '사이트목록'; + +COMMENT ON COLUMN COMTNSITELIST.SITE_ID IS '사이트ID'; +COMMENT ON COLUMN COMTNSITELIST.SITE_NM IS '사이트명'; +COMMENT ON COLUMN COMTNSITELIST.SITE_URL IS '사이트URL'; +COMMENT ON COLUMN COMTNSITELIST.SITE_DC IS '사이트설명'; +COMMENT ON COLUMN COMTNSITELIST.SITE_THEMA_CL_CODE IS '사이트주제분류코드'; +COMMENT ON COLUMN COMTNSITELIST.ACTVTY_AT IS '활성여부'; +COMMENT ON COLUMN COMTNSITELIST.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNSITELIST.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSITELIST.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSITELIST.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNSITELIST.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNSITEMAP IS '사이트맵'; + +COMMENT ON COLUMN COMTNSITEMAP.MAPNG_CREAT_ID IS '매핑생성ID'; +COMMENT ON COLUMN COMTNSITEMAP.CREATR_ID IS '생성자ID'; +COMMENT ON COLUMN COMTNSITEMAP.MAPNG_FILE_NM IS '매핑파일명'; +COMMENT ON COLUMN COMTNSITEMAP.MAPNG_FILE_PATH IS '매핑파일경로'; + +COMMENT ON TABLE COMTNSMS IS '문자메시지'; + +COMMENT ON COLUMN COMTNSMS.SMS_ID IS '문자메시지ID'; +COMMENT ON COLUMN COMTNSMS.TRNSMIS_TELNO IS '전송전화번호'; +COMMENT ON COLUMN COMTNSMS.TRNSMIS_CN IS '전송내용'; +COMMENT ON COLUMN COMTNSMS.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSMS.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON TABLE COMTNSMSRECPTN IS '문자메시지수신'; + +COMMENT ON COLUMN COMTNSMSRECPTN.SMS_ID IS '문자메시지ID'; +COMMENT ON COLUMN COMTNSMSRECPTN.RECPTN_TELNO IS '수신전화번호'; +COMMENT ON COLUMN COMTNSMSRECPTN.RESULT_CODE IS '결과코드'; +COMMENT ON COLUMN COMTNSMSRECPTN.RESULT_MSSAGE IS '결과메시지'; + +COMMENT ON TABLE COMTNSTPLATINFO IS '약관정보'; + +COMMENT ON COLUMN COMTNSTPLATINFO.USE_STPLAT_ID IS '이용약관ID'; +COMMENT ON COLUMN COMTNSTPLATINFO.USE_STPLAT_NM IS '이용약관명'; +COMMENT ON COLUMN COMTNSTPLATINFO.USE_STPLAT_CN IS '이용약관내용'; +COMMENT ON COLUMN COMTNSTPLATINFO.INFO_PROVD_AGRE_CN IS '정보제공동의내용'; +COMMENT ON COLUMN COMTNSTPLATINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSTPLATINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSTPLATINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNSTPLATINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNSTSFDG IS '만족도'; + +COMMENT ON COLUMN COMTNSTSFDG.STSFDG_NO IS '만족도번호'; +COMMENT ON COLUMN COMTNSTSFDG.NTT_ID IS '게시물ID'; +COMMENT ON COLUMN COMTNSTSFDG.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNSTSFDG.WRTER_ID IS '작성자ID'; +COMMENT ON COLUMN COMTNSTSFDG.WRTER_NM IS '작성자명'; +COMMENT ON COLUMN COMTNSTSFDG.PASSWORD IS '비밀번호'; +COMMENT ON COLUMN COMTNSTSFDG.STSFDG IS '만족도'; +COMMENT ON COLUMN COMTNSTSFDG.STSFDG_CN IS '만족도내용'; +COMMENT ON COLUMN COMTNSTSFDG.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNSTSFDG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSTSFDG.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNSTSFDG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSTSFDG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNSYNCHRNSERVERINFO IS '동기화서버정보'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_ID IS '서버ID'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_NM IS '서버명'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_IP IS '서버IP'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_PORT IS '서버포트'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FTP_ID IS 'FTPID'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FTP_PASSWORD IS 'FTP비밀번호'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SYNCHRN_LC IS '동기화위치'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.REFLCT_AT IS '반영여부'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNSYSLOG IS '시스템로그'; + +COMMENT ON COLUMN COMTNSYSLOG.REQUST_ID IS '요청ID'; +COMMENT ON COLUMN COMTNSYSLOG.JOB_SE_CODE IS '업무구분코드'; +COMMENT ON COLUMN COMTNSYSLOG.INSTT_CODE IS '기관코드'; +COMMENT ON COLUMN COMTNSYSLOG.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTNSYSLOG.RQESTER_IP IS '요청자IP'; +COMMENT ON COLUMN COMTNSYSLOG.RQESTER_ID IS '요청자ID'; +COMMENT ON COLUMN COMTNSYSLOG.TRGET_MENU_NM IS '대상메뉴명'; +COMMENT ON COLUMN COMTNSYSLOG.SVC_NM IS '서비스명'; +COMMENT ON COLUMN COMTNSYSLOG.METHOD_NM IS '메서드명'; +COMMENT ON COLUMN COMTNSYSLOG.PROCESS_SE_CODE IS '처리구분코드'; +COMMENT ON COLUMN COMTNSYSLOG.PROCESS_CO IS '처리수'; +COMMENT ON COLUMN COMTNSYSLOG.PROCESS_TIME IS '처리시간'; +COMMENT ON COLUMN COMTNSYSLOG.RSPNS_CODE IS '응답코드'; +COMMENT ON COLUMN COMTNSYSLOG.ERROR_SE IS '오류구분'; +COMMENT ON COLUMN COMTNSYSLOG.ERROR_CO IS '오류수'; +COMMENT ON COLUMN COMTNSYSLOG.ERROR_CODE IS '오류코드'; + +COMMENT ON TABLE COMTNSYSTEMCNTC IS '시스템연계'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.CNTC_ID IS '연계ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.CNTC_NM IS '연계명'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.PROVD_INSTT_ID IS '제공기관ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.PROVD_SYS_ID IS '제공시스템ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.PROVD_SVC_ID IS '제공서비스ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.REQUST_INSTT_ID IS '요청기관ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.REQUST_SYS_ID IS '요청시스템ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.CONFM_AT IS '승인여부'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.VALID_BGNDE IS '유효시작일자'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.VALID_ENDDE IS '유효종료일자'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.CNTC_TY IS '연계유형'; + +COMMENT ON TABLE COMTNTMPLATINFO IS '템플릿'; + +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_ID IS '템플릿ID'; +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_NM IS '템플릿명'; +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_COURS IS '템플릿경로'; +COMMENT ON COLUMN COMTNTMPLATINFO.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_SE_CODE IS '템플릿구분코드'; +COMMENT ON COLUMN COMTNTMPLATINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNTMPLATINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNTMPLATINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNTMPLATINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNTROBLINFO IS '장애정보'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_ID IS '장애ID'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_NM IS '장애명'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_KND IS '장애종류'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_DC IS '장애설명'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_OCCRRNC_TIME IS '장애발생시간'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_RQESTER_NM IS '장애요청자명'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_REQUST_TIME IS '장애요청시간'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_PROCESS_RESULT IS '장애처리결과'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_OPETR_NM IS '장애처리자명'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_PROCESS_TIME IS '장애처리시간'; +COMMENT ON COLUMN COMTNTROBLINFO.PROCESS_STTUS IS '처리상태'; +COMMENT ON COLUMN COMTNTROBLINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNTROBLINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNTROBLINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNTROBLINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNTRSMRCVLOG IS '송수신로그'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_ID IS '요청ID'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.TRSMRCV_SE_CODE IS '송수신구분코드'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.CNTC_ID IS '연계ID'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.PROVD_INSTT_ID IS '제공기관ID'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.PROVD_SYS_ID IS '제공시스템ID'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.PROVD_SVC_ID IS '제공서비스ID'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_INSTT_ID IS '요청기관ID'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_SYS_ID IS '요청시스템ID'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_TRNSMIT_TM IS '요청송신시각'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_RECPTN_TM IS '요청수신시각'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.RSPNS_TRNSMIT_TM IS '응답송신시각'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.RSPNS_RECPTN_TM IS '응답수신시각'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.RESULT_CODE IS '결과코드'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.RESULT_MSSAGE IS '결과메시지'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.RQESTER_ID IS '요청자ID'; + +COMMENT ON TABLE COMTNTRSMRCVMNTRNG IS '송수신모니터링'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.CNTC_ID IS '연계ID'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.TEST_CLASS_NM IS '테스트클래스명'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNTWITTER IS '트위터계정관리'; + +COMMENT ON COLUMN COMTNTWITTER.USER_ID IS '사용자ID'; +COMMENT ON COLUMN COMTNTWITTER.CNSMR_KEY IS '사용자열쇠'; +COMMENT ON COLUMN COMTNTWITTER.CNSMR_SECRET IS '사용자비밀'; +COMMENT ON COLUMN COMTNTWITTER.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNTWITTER.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNTWITTER.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNTWITTER.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNUNITYLINK IS '통합링크'; + +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_ID IS '통합링크ID'; +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_GROUP IS '통합링크그룹'; +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_NM IS '통합링크명'; +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_URL IS '통합링크URL'; +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_DC IS '통합링크설명'; +COMMENT ON COLUMN COMTNUNITYLINK.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNUNITYLINK.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNUNITYLINK.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNUNITYLINK.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_SE_CODE IS '통합링크구분코드'; + +COMMENT ON TABLE COMTNUSERABSNCE IS '사용자부재'; + +COMMENT ON COLUMN COMTNUSERABSNCE.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNUSERABSNCE.USER_ABSNCE_AT IS '사용자부재여부'; +COMMENT ON COLUMN COMTNUSERABSNCE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNUSERABSNCE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNUSERABSNCE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNUSERABSNCE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNUSERLOG IS '사용자로그'; + +COMMENT ON COLUMN COMTNUSERLOG.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTNUSERLOG.RQESTER_ID IS '요청자ID'; +COMMENT ON COLUMN COMTNUSERLOG.SVC_NM IS '서비스명'; +COMMENT ON COLUMN COMTNUSERLOG.METHOD_NM IS '메서드명'; +COMMENT ON COLUMN COMTNUSERLOG.CREAT_CO IS '생성수'; +COMMENT ON COLUMN COMTNUSERLOG.UPDT_CO IS '수정수'; +COMMENT ON COLUMN COMTNUSERLOG.RDCNT IS '조회수'; +COMMENT ON COLUMN COMTNUSERLOG.DELETE_CO IS '삭제수'; +COMMENT ON COLUMN COMTNUSERLOG.OUTPT_CO IS '출력수'; +COMMENT ON COLUMN COMTNUSERLOG.ERROR_CO IS '오류수'; + +COMMENT ON TABLE COMTNVCATNMANAGE IS '휴가관리'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.APPLCNT_ID IS '신청인ID'; +COMMENT ON COLUMN COMTNVCATNMANAGE.VCATN_SE IS '휴가구분'; +COMMENT ON COLUMN COMTNVCATNMANAGE.BGNDE IS '시작일'; +COMMENT ON COLUMN COMTNVCATNMANAGE.ENDDE IS '종료일'; +COMMENT ON COLUMN COMTNVCATNMANAGE.VCATN_RESN IS '휴가사유'; +COMMENT ON COLUMN COMTNVCATNMANAGE.REQST_DE IS '신청일'; +COMMENT ON COLUMN COMTNVCATNMANAGE.OCCRRNC_YEAR IS '발생년도'; +COMMENT ON COLUMN COMTNVCATNMANAGE.SANCTNER_ID IS '결재자ID'; +COMMENT ON COLUMN COMTNVCATNMANAGE.CONFM_AT IS '승인여부'; +COMMENT ON COLUMN COMTNVCATNMANAGE.SANCTN_DT IS '결재일시'; +COMMENT ON COLUMN COMTNVCATNMANAGE.RETURN_RESN IS '반환사유'; +COMMENT ON COLUMN COMTNVCATNMANAGE.INFRML_SANCTN_ID IS '약식결재ID'; +COMMENT ON COLUMN COMTNVCATNMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNVCATNMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNVCATNMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNVCATNMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNVCATNMANAGE.NOON_SE IS '정오구분'; + +COMMENT ON TABLE COMTNWEBLOG IS '웹로그'; + +COMMENT ON COLUMN COMTNWEBLOG.REQUST_ID IS '요청ID'; +COMMENT ON COLUMN COMTNWEBLOG.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTNWEBLOG.URL IS 'URL'; +COMMENT ON COLUMN COMTNWEBLOG.RQESTER_ID IS '요청자ID'; +COMMENT ON COLUMN COMTNWEBLOG.RQESTER_IP IS '요청자IP'; + +COMMENT ON TABLE COMTNWIKIBKMK IS 'Wiki북마크'; + +COMMENT ON COLUMN COMTNWIKIBKMK.WIKI_BKMK_ID IS 'Wiki즐겨찾기ID'; +COMMENT ON COLUMN COMTNWIKIBKMK.USER_ID IS '사용자ID'; +COMMENT ON COLUMN COMTNWIKIBKMK.WIKI_BKMK_NM IS 'Wiki북마크명'; +COMMENT ON COLUMN COMTNWIKIBKMK.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNWIKIBKMK.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNWIKIBKMK.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNWIKIBKMK.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNWIKMNTHNGREPRT IS '주간/월간보고정보'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPRT_ID IS '보고서ID'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPRT_SE IS '보고서구분'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPRT_SJ IS '보고서제목'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORT_DE IS '보고일'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.WRTER_ID IS '작성자ID'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORTR_ID IS '보고자ID'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORT_BGNDE IS '보고시작일'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORT_ENDDE IS '보고종료일'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.THSWIK_REPORT_CN IS '금주보고내용'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.NEXTWIK_REPORT_CN IS '차주보고내용'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.PARTCLR_MATTER IS '특이사항'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.CONFM_DT IS '승인일시'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNWORDDICARYINFO IS '용어사전정보'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.WORD_ID IS '용어ID'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.WORD_NM IS '용어명'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.ENG_NM IS '영문명'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.WORD_DC IS '용어설명'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.SYNONM IS '동의어'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTRDNMADRZIP IS '도로명주소'; + +COMMENT ON COLUMN COMTRDNMADRZIP.SN IS '일련번호'; +COMMENT ON COLUMN COMTRDNMADRZIP.RDMN_CODE IS '도로명코드'; +COMMENT ON COLUMN COMTRDNMADRZIP.CTPRVN_NM IS '시도명'; +COMMENT ON COLUMN COMTRDNMADRZIP.SIGNGU_NM IS '시군구명'; +COMMENT ON COLUMN COMTRDNMADRZIP.RDMN IS '도로명'; +COMMENT ON COLUMN COMTRDNMADRZIP.BDNBR_MNNM IS '건물번호본번'; +COMMENT ON COLUMN COMTRDNMADRZIP.BDNBR_SLNO IS '건물번호부번'; +COMMENT ON COLUMN COMTRDNMADRZIP.BULD_NM IS '건물명'; +COMMENT ON COLUMN COMTRDNMADRZIP.DETAIL_BULD_NM IS '상세건물명'; +COMMENT ON COLUMN COMTRDNMADRZIP.ZIP IS '우편번호'; +COMMENT ON COLUMN COMTRDNMADRZIP.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTRDNMADRZIP.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTRDNMADRZIP.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTRDNMADRZIP.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTSBBSSUMMARY IS '게시물통계요약'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTSBBSSUMMARY.STATS_SE IS '통계구분'; +COMMENT ON COLUMN COMTSBBSSUMMARY.DETAIL_STATS_SE IS '세부통계구분'; +COMMENT ON COLUMN COMTSBBSSUMMARY.CREAT_CO IS '생성수'; +COMMENT ON COLUMN COMTSBBSSUMMARY.TOT_RDCNT IS '총조회수'; +COMMENT ON COLUMN COMTSBBSSUMMARY.AVRG_RDCNT IS '평균조회수'; +COMMENT ON COLUMN COMTSBBSSUMMARY.TOP_INQIRE_BBSCTT_ID IS '최고조회게시글ID'; +COMMENT ON COLUMN COMTSBBSSUMMARY.MUMM_INQIRE_BBSCTT_ID IS '최소조회게시글ID'; +COMMENT ON COLUMN COMTSBBSSUMMARY.TOP_NTCR_ID IS '최고게시자ID'; + +COMMENT ON TABLE COMTSSYSLOGSUMMARY IS '시스템로그요약'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.SVC_NM IS '서비스명'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.METHOD_NM IS '메서드명'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.CREAT_CO IS '생성수'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.UPDT_CO IS '수정수'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.RDCNT IS '조회수'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.DELETE_CO IS '삭제수'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.OUTPT_CO IS '출력수'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.ERROR_CO IS '오류수'; + +COMMENT ON TABLE COMTSTRSMRCVLOGSUMMARY IS '송수신로그요약'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.TRSMRCV_SE_CODE IS '송수신구분코드'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.PROVD_INSTT_ID IS '제공기관ID'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.PROVD_SYS_ID IS '제공시스템ID'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.PROVD_SVC_ID IS '제공서비스ID'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.REQUST_INSTT_ID IS '요청기관ID'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.REQUST_SYS_ID IS '요청시스템ID'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.RDCNT IS '조회수'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.ERROR_CO IS '오류수'; + +COMMENT ON TABLE COMTSUSERSUMMARY IS '사용자통계요약'; + +COMMENT ON COLUMN COMTSUSERSUMMARY.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTSUSERSUMMARY.STATS_SE IS '통계구분'; +COMMENT ON COLUMN COMTSUSERSUMMARY.DETAIL_STATS_SE IS '세부통계구분'; +COMMENT ON COLUMN COMTSUSERSUMMARY.USER_CO IS '사용자수'; + +COMMENT ON TABLE COMTSWEBLOGSUMMARY IS '웹로그 요약'; + +COMMENT ON COLUMN COMTSWEBLOGSUMMARY.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTSWEBLOGSUMMARY.URL IS 'URL'; +COMMENT ON COLUMN COMTSWEBLOGSUMMARY.RDCNT IS '조회수'; + +COMMENT ON TABLE IDS IS 'IDS'; + +COMMENT ON COLUMN IDS.IDGEN_TABLE_NM IS 'IDGEN테이블명'; +COMMENT ON COLUMN IDS.IDGEN_NEXT_ID IS 'IDGEN다음ID'; + +COMMENT ON TABLE IMGTEMP IS 'IMGTEMP'; + +COMMENT ON COLUMN IMGTEMP.ORGNZT_CODE IS '조직코드'; +COMMENT ON COLUMN IMGTEMP.ERNCSL_SE IS '전자관인구분'; +COMMENT ON COLUMN IMGTEMP.IMAGE_INFO IS '이미지정보'; +COMMENT ON COLUMN IMGTEMP.IMAGE_TY IS '이미지유형'; + +COMMENT ON TABLE J_ATTACHFILE IS 'Jfile업로드'; + +COMMENT ON COLUMN J_ATTACHFILE.FILE_ID IS '파일 아이디'; +COMMENT ON COLUMN J_ATTACHFILE.FILE_SEQ IS '파일 순번'; +COMMENT ON COLUMN J_ATTACHFILE.FILE_NAME IS '파일명'; +COMMENT ON COLUMN J_ATTACHFILE.FILE_SIZE IS '파일 사이즈'; +COMMENT ON COLUMN J_ATTACHFILE.FILE_MASK IS '파일 마스크'; +COMMENT ON COLUMN J_ATTACHFILE.DOWNLOAD_COUNT IS '다운로드 횟수'; +COMMENT ON COLUMN J_ATTACHFILE.DOWNLOAD_EXPIRE_DATE IS '다운로드 만료일'; +COMMENT ON COLUMN J_ATTACHFILE.DOWNLOAD_LIMIT_COUNT IS '다운로드 제한 횟수'; +COMMENT ON COLUMN J_ATTACHFILE.REG_DATE IS '등록일'; +COMMENT ON COLUMN J_ATTACHFILE.DELETE_YN IS '삭제 구분'; + +COMMENT ON TABLE COMTNBLOG IS '블로그게시판'; + +COMMENT ON COLUMN COMTNBLOG.BBS_ID IS '게시판 ID'; +COMMENT ON COLUMN COMTNBLOG.BLOG_AT IS '블로그 여부'; +COMMENT ON COLUMN COMTNBLOG.BLOG_ID IS '블로그 ID'; +COMMENT ON COLUMN COMTNBLOG.BLOG_INTRCN IS '블로그 소개'; +COMMENT ON COLUMN COMTNBLOG.BLOG_NM IS '블로그 명'; +COMMENT ON COLUMN COMTNBLOG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBLOG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBLOG.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBLOG.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBLOG.REGIST_SE_CODE IS '등록구분코드'; +COMMENT ON COLUMN COMTNBLOG.TMPLAT_ID IS '템플릿 ID'; +COMMENT ON COLUMN COMTNBLOG.USE_AT IS '사용여부'; + +COMMENT ON TABLE COMTNBLOGUSER IS '블로그사용자'; + +COMMENT ON COLUMN COMTNBLOGUSER.BLOG_ID IS '블로그 ID'; +COMMENT ON COLUMN COMTNBLOGUSER.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNBLOGUSER.FRST_REGISTER_ID IS '최초등록자 ID'; +COMMENT ON COLUMN COMTNBLOGUSER.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBLOGUSER.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBLOGUSER.LAST_UPDUSR_ID IS '최종수정자 ID'; +COMMENT ON COLUMN COMTNBLOGUSER.MBER_STTUS IS '회원상태'; +COMMENT ON COLUMN COMTNBLOGUSER.MNGR_AT IS '관리자여부'; +COMMENT ON COLUMN COMTNBLOGUSER.SBSCRB_DE IS '가입일자'; +COMMENT ON COLUMN COMTNBLOGUSER.SECSN_DE IS '탈퇴일'; +COMMENT ON COLUMN COMTNBLOGUSER.USE_AT IS '사용여부'; Index: base3.10/script/comment/mysql/egov_mysql_comment.sql =================================================================== --- base3.10/script/comment/mysql/egov_mysql_comment.sql (nonexistent) +++ base3.10/script/comment/mysql/egov_mysql_comment.sql (revision 7) @@ -0,0 +1,2125 @@ +ALTER TABLE COMTCADMINISTCODE COMMENT = '행정코드'; +ALTER TABLE COMTCADMINISTCODERECPTNLOG COMMENT = '행정코드수신로그'; +ALTER TABLE COMTCCMMNCLCODE COMMENT = '공통분류코드'; +ALTER TABLE COMTCCMMNCODE COMMENT = '공통코드'; +ALTER TABLE COMTCCMMNDETAILCODE COMMENT = '공통상세코드'; +ALTER TABLE COMTCZIP COMMENT = '우편번호'; +ALTER TABLE COMTECOPSEQ COMMENT = 'COMTECOPSEQ'; +ALTER TABLE COMTHCONFMHISTORY COMMENT = '승인이력'; +ALTER TABLE COMTHDBMNTRNGLOGINFO COMMENT = 'DB서비스모니터링로그정보'; +ALTER TABLE COMTHEMAILDSPTCHMANAGE COMMENT = '메일발신관리'; +ALTER TABLE COMTHEMPLYRINFOCHANGEDTLS COMMENT = '업무사용자정보변경내역'; +ALTER TABLE COMTHHTTPMONLOGINFO COMMENT = 'HTTP서비스모니터링로그정보'; +ALTER TABLE COMTHPROGRMCHANGEDTLS COMMENT = '프로그램변경내역'; +ALTER TABLE COMTHSYSHIST COMMENT = '시스템이력'; +ALTER TABLE COMTHTRSMRCVMNTRNGLOGINFO COMMENT = '송수신모니터링로그정보'; +ALTER TABLE COMTNADBK COMMENT = '주소록'; +ALTER TABLE COMTNADBKMANAGE COMMENT = '주소록관리'; +ALTER TABLE COMTNADMINISTRATIONWORD COMMENT = '행정용어사전관리'; +ALTER TABLE COMTNANNVRSRYMANAGE COMMENT = '기념일정보'; +ALTER TABLE COMTNANSWER COMMENT = '댓글'; +ALTER TABLE COMTNAUTHORGROUPINFO COMMENT = '권한그룹정보'; +ALTER TABLE COMTNAUTHORINFO COMMENT = '권한정보'; +ALTER TABLE COMTNAUTHORROLERELATE COMMENT = '권한롤관계'; +ALTER TABLE COMTNBACKUPOPERT COMMENT = '백업작업'; +ALTER TABLE COMTNBACKUPRESULT COMMENT = '백업결과'; +ALTER TABLE COMTNBACKUPSCHDULDFK COMMENT = '백업스케줄요일'; +ALTER TABLE COMTNBANNER COMMENT = '배너'; +ALTER TABLE COMTNBATCHOPERT COMMENT = '배치작업'; +ALTER TABLE COMTNBATCHRESULT COMMENT = '배치결과'; +ALTER TABLE COMTNBATCHSCHDUL COMMENT = '배치스케줄'; +ALTER TABLE COMTNBATCHSCHDULDFK COMMENT = '배치스케줄요일'; +ALTER TABLE COMTNBBS COMMENT = '게시판'; +ALTER TABLE COMTNBBSMASTER COMMENT = '게시판마스터'; +ALTER TABLE COMTNBBSMASTEROPTN COMMENT = '게시판마스터옵션'; +ALTER TABLE COMTNBBSUSE COMMENT = '게시판활용'; +ALTER TABLE COMTNBKMKMENUMANAGERESULT COMMENT = '바로가기 메뉴 등록'; +ALTER TABLE COMTNBNDTCECKMANAGE COMMENT = '당직체크관리정보'; +ALTER TABLE COMTNBNDTDIARY COMMENT = '당직관리'; +ALTER TABLE COMTNBNDTMANAGE COMMENT = '당직관리정보'; +ALTER TABLE COMTNCLUB COMMENT = '동호회속성'; +ALTER TABLE COMTNCLUBUSER COMMENT = '동호회사용자'; +ALTER TABLE COMTNCMMNTY COMMENT = '커뮤니티 속성'; +ALTER TABLE COMTNCMMNTYUSER COMMENT = '커뮤니티사용자'; +ALTER TABLE COMTNCNSLTLIST COMMENT = '상담내역'; +ALTER TABLE COMTNCNTCINSTT COMMENT = '연계기관'; +ALTER TABLE COMTNCNTCMESSAGE COMMENT = '연계메시지'; +ALTER TABLE COMTNCNTCMESSAGEITEM COMMENT = '연계메시지항목'; +ALTER TABLE COMTNCNTCSERVICE COMMENT = '연계서비스'; +ALTER TABLE COMTNCNTCSYSTEM COMMENT = '연계시스템'; +ALTER TABLE COMTNCNTNTSLIST COMMENT = '컨텐츠목록'; +ALTER TABLE COMTNCOMMENT COMMENT = '댓글'; +ALTER TABLE COMTNCOMMUTE COMMENT = '출퇴근관리'; +ALTER TABLE COMTNCPYRHTINFO COMMENT = '저작권정보'; +ALTER TABLE COMTNCTSNNMANAGE COMMENT = '경조사정보'; +ALTER TABLE COMTNDAMCALRES COMMENT = '지식정보요청제공'; +ALTER TABLE COMTNDAMKNOIFM COMMENT = '지식정보'; +ALTER TABLE COMTNDAMMAPKNO COMMENT = '지식맵(유형별)'; +ALTER TABLE COMTNDAMMAPTEAM COMMENT = '지식맵(조직별)'; +ALTER TABLE COMTNDAMPRO COMMENT = '지식전문가'; +ALTER TABLE COMTNDBMNTRNG COMMENT = 'DB서비스모니터링'; +ALTER TABLE COMTNDEPTJOB COMMENT = '부서업무정보'; +ALTER TABLE COMTNDEPTJOBBX COMMENT = '부서업무함'; +ALTER TABLE COMTNDIARYINFO COMMENT = '일지정보'; +ALTER TABLE COMTNDTAUSESTATS COMMENT = '자료이용현황통계'; +ALTER TABLE COMTNEMPLYRINFO COMMENT = '업무사용자정보'; +ALTER TABLE COMTNEMPLYRSCRTYESTBS COMMENT = '사용자보안설정'; +ALTER TABLE COMTNENTRPRSMBER COMMENT = '기업회원'; +ALTER TABLE COMTNEVENTATDRN COMMENT = '행사참석자'; +ALTER TABLE COMTNEVENTINFO COMMENT = '행사/이벤트정보'; +ALTER TABLE COMTNEVENTMANAGE COMMENT = '행사관리'; +ALTER TABLE COMTNEXTRLHRINFO COMMENT = '외부인사정보'; +ALTER TABLE COMTNFAQINFO COMMENT = 'FAQ정보'; +ALTER TABLE COMTNFILE COMMENT = '파일속성'; +ALTER TABLE COMTNFILEDETAIL COMMENT = '파일상세정보'; +ALTER TABLE COMTNFILESYSMNTRNG COMMENT = '파일시스템모니터링'; +ALTER TABLE COMTNFILESYSMNTRNGLOGINFO COMMENT = '파일시스템모니터링로그정보'; +ALTER TABLE COMTNFXTRSMANAGE COMMENT = 'COMTNFXTRSMANAGE'; +ALTER TABLE COMTNGNRLMBER COMMENT = '일반회원'; +ALTER TABLE COMTNHPCMINFO COMMENT = '도움말정보'; +ALTER TABLE COMTNHTTPMON COMMENT = 'HTTP서비스모니터링'; +ALTER TABLE COMTNINDVDLINFOPOLICY COMMENT = '개인정보정책확인'; +ALTER TABLE COMTNINDVDLPGECNTNTS COMMENT = '마이페이지 컨텐츠'; +ALTER TABLE COMTNINDVDLPGEESTBS COMMENT = '마이페이지 설정'; +ALTER TABLE COMTNINDVDLYRYCMANAGE COMMENT = '개인별연차관리'; +ALTER TABLE COMTNINFRMLSANCTN COMMENT = '약식결재정보'; +ALTER TABLE COMTNINSTTCODE COMMENT = '기관코드'; +ALTER TABLE COMTNINSTTCODERECPTNLOG COMMENT = '기관코드수신로그'; +ALTER TABLE COMTNINTNETSVC COMMENT = '인터넷서비스'; +ALTER TABLE COMTNLEADERSCHDUL COMMENT = '간부일정정보'; +ALTER TABLE COMTNLEADERSCHDULDE COMMENT = '간부일정관리'; +ALTER TABLE COMTNLEADERSTTUS COMMENT = '간부상태정보'; +ALTER TABLE COMTNLOGINLOG COMMENT = '접속로그'; +ALTER TABLE COMTNLOGINPOLICY COMMENT = '로그인정책'; +ALTER TABLE COMTNLOGINSCRINIMAGE COMMENT = '로그인화면이미지'; +ALTER TABLE COMTNMAINIMAGE COMMENT = '메인이미지'; +ALTER TABLE COMTNMEMOREPRT COMMENT = '메모보고관리'; +ALTER TABLE COMTNMEMOTODO COMMENT = '메모할일정보'; +ALTER TABLE COMTNMENUCREATDTLS COMMENT = '메뉴생성내역'; +ALTER TABLE COMTNMENUINFO COMMENT = '메뉴정보'; +ALTER TABLE COMTNMTGINFO COMMENT = '회의정보'; +ALTER TABLE COMTNMTGPLACEFXTRS COMMENT = '회의실비품'; +ALTER TABLE COMTNMTGPLACEMANAGE COMMENT = '회의실관리'; +ALTER TABLE COMTNMTGPLACERESVE COMMENT = '회의실예약정보'; +ALTER TABLE COMTNNCRD COMMENT = '명함정보속성'; +ALTER TABLE COMTNNCRDUSER COMMENT = '명함사용자속성'; +ALTER TABLE COMTNNEWSINFO COMMENT = '뉴스정보'; +ALTER TABLE COMTNNOTE COMMENT = '쪽지관리'; +ALTER TABLE COMTNNOTERECPTN COMMENT = '받은쪽지함관리'; +ALTER TABLE COMTNNOTETRNSMIT COMMENT = '보낸쪽지함관리'; +ALTER TABLE COMTNNTFCINFO COMMENT = '정보알림'; +ALTER TABLE COMTNNTTSTATS COMMENT = '게시물통계'; +ALTER TABLE COMTNNTWRKINFO COMMENT = '네트워크정보'; +ALTER TABLE COMTNNTWRKSVCMNTRNG COMMENT = '네트워크서비스모니터링'; +ALTER TABLE COMTNNTWRKSVCMNTRNGLOGINFO COMMENT = '네트워크서비스모니터링로그정보'; +ALTER TABLE COMTNONLINEMANUAL COMMENT = '온라인메뉴얼'; +ALTER TABLE COMTNONLINEPOLLIEM COMMENT = '온라인POLL항목'; +ALTER TABLE COMTNONLINEPOLLMANAGE COMMENT = '온라인POLL관리'; +ALTER TABLE COMTNONLINEPOLLRESULT COMMENT = '온라인POLL결과'; +ALTER TABLE COMTNORGNZTINFO COMMENT = '조직정보'; +ALTER TABLE COMTNPOPUPMANAGE COMMENT = '팝업 정보 관리'; +ALTER TABLE COMTNPRIVACYLOG COMMENT = '개인정보조회 로그'; +ALTER TABLE COMTNPROCESSMON COMMENT = '프로세스모니터링'; +ALTER TABLE COMTNPROCESSMONLOGINFO COMMENT = '프로세스모니터링로그정보'; +ALTER TABLE COMTNPROGRMLIST COMMENT = '프로그램목록'; +ALTER TABLE COMTNPROXYINFO COMMENT = '프록시정보'; +ALTER TABLE COMTNPROXYLOGINFO COMMENT = '프록시로그정보'; +ALTER TABLE COMTNQAINFO COMMENT = 'QA정보'; +ALTER TABLE COMTNQESTNRINFO COMMENT = '설문지정보'; +ALTER TABLE COMTNQUSTNRIEM COMMENT = '설문항목'; +ALTER TABLE COMTNQUSTNRQESITM COMMENT = '설문문항'; +ALTER TABLE COMTNQUSTNRRESPONDINFO COMMENT = '설문응답자정보'; +ALTER TABLE COMTNQUSTNRRSPNSRESULT COMMENT = '설문응답결과'; +ALTER TABLE COMTNQUSTNRTMPLAT COMMENT = '설문템플릿'; +ALTER TABLE COMTNRECENTSRCHWRD COMMENT = '최근검색어'; +ALTER TABLE COMTNRECENTSRCHWRDMANAGE COMMENT = '최근검색어관리'; +ALTER TABLE COMTNRECOMENDSITEINFO COMMENT = '추천사이트정보'; +ALTER TABLE COMTNREPRTSTATS COMMENT = '보고서통계'; +ALTER TABLE COMTNRESTDE COMMENT = '휴일관리'; +ALTER TABLE COMTNROLEINFO COMMENT = '롤정보'; +ALTER TABLE COMTNROLES_HIERARCHY COMMENT = '롤 계층구조'; +ALTER TABLE COMTNROUGHMAP COMMENT = '약도관리'; +ALTER TABLE COMTNRSS COMMENT = 'RSS관리'; +ALTER TABLE COMTNRWARDMANAGE COMMENT = '포상관리'; +ALTER TABLE COMTNSCHDULINFO COMMENT = '일정정보'; +ALTER TABLE COMTNSCRAP COMMENT = '스크랩'; +ALTER TABLE COMTNSERVEREQPMNINFO COMMENT = '서버장비정보'; +ALTER TABLE COMTNSERVEREQPMNRELATE COMMENT = '서버장비관계'; +ALTER TABLE COMTNSERVERINFO COMMENT = '서버정보'; +ALTER TABLE COMTNSERVERRESRCELOGINFO COMMENT = '서버자원로그정보'; +ALTER TABLE COMTNSITELIST COMMENT = '사이트목록'; +ALTER TABLE COMTNSITEMAP COMMENT = '사이트맵'; +ALTER TABLE COMTNSMS COMMENT = '문자메시지'; +ALTER TABLE COMTNSMSRECPTN COMMENT = '문자메시지수신'; +ALTER TABLE COMTNSTPLATINFO COMMENT = '약관정보'; +ALTER TABLE COMTNSTSFDG COMMENT = '만족도'; +ALTER TABLE COMTNSYNCHRNSERVERINFO COMMENT = '동기화서버정보'; +ALTER TABLE COMTNSYSLOG COMMENT = '시스템로그'; +ALTER TABLE COMTNSYSTEMCNTC COMMENT = '시스템연계'; +ALTER TABLE COMTNTMPLATINFO COMMENT = '템플릿'; +ALTER TABLE COMTNTROBLINFO COMMENT = '장애정보'; +ALTER TABLE COMTNTRSMRCVLOG COMMENT = '송수신로그'; +ALTER TABLE COMTNTRSMRCVMNTRNG COMMENT = '송수신모니터링'; +ALTER TABLE COMTNTWITTER COMMENT = '트위터계정관리'; +ALTER TABLE COMTNUNITYLINK COMMENT = '통합링크'; +ALTER TABLE COMTNUSERABSNCE COMMENT = '사용자부재'; +ALTER TABLE COMTNUSERLOG COMMENT = '사용자로그'; +ALTER TABLE COMTNVCATNMANAGE COMMENT = '휴가관리'; +ALTER TABLE COMTNWEBLOG COMMENT = '웹로그'; +ALTER TABLE COMTNWIKIBKMK COMMENT = 'Wiki북마크'; +ALTER TABLE COMTNWIKMNTHNGREPRT COMMENT = '주간/월간보고정보'; +ALTER TABLE COMTNWORDDICARYINFO COMMENT = '용어사전정보'; +ALTER TABLE COMTRDNMADRZIP COMMENT = '도로명주소'; +ALTER TABLE COMTSBBSSUMMARY COMMENT = '게시물통계요약'; +ALTER TABLE COMTSSYSLOGSUMMARY COMMENT = '시스템로그요약'; +ALTER TABLE COMTSTRSMRCVLOGSUMMARY COMMENT = '송수신로그요약'; +ALTER TABLE COMTSUSERSUMMARY COMMENT = '사용자통계요약'; +ALTER TABLE COMTSWEBLOGSUMMARY COMMENT = '웹로그 요약'; +ALTER TABLE IDS COMMENT = 'IDS'; +ALTER TABLE IMGTEMP COMMENT = 'IMGTEMP'; +ALTER TABLE J_ATTACHFILE COMMENT = 'Jfile업로드'; +ALTER TABLE COMTNBLOG COMMENT = '블로그게시판'; +ALTER TABLE COMTNBLOGUSER COMMENT = '블로그사용자'; + + +ALTER TABLE `COMTCADMINISTCODE` CHANGE `ABL_DE` `ABL_DE` char(20) DEFAULT NULL COMMENT '폐지일' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `ADMINIST_ZONE_CODE` `ADMINIST_ZONE_CODE` varchar(10) NOT NULL COMMENT '행정구역코드' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `ADMINIST_ZONE_NM` `ADMINIST_ZONE_NM` varchar(60) DEFAULT NULL COMMENT '행정구역명' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `ADMINIST_ZONE_SE` `ADMINIST_ZONE_SE` char(1) NOT NULL COMMENT '행정구역구분' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `CREAT_DE` `CREAT_DE` char(20) DEFAULT NULL COMMENT '생성일' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `UPPER_ADMINIST_ZONE_CODE` `UPPER_ADMINIST_ZONE_CODE` varchar(10) DEFAULT NULL COMMENT '상위행정구역코드' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `ABL_DE` `ABL_DE` char(20) DEFAULT NULL COMMENT '폐지일' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `ABL_ENNC` `ABL_ENNC` char(1) DEFAULT NULL COMMENT '폐지유무' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `ADMINIST_ZONE_CODE` `ADMINIST_ZONE_CODE` varchar(10) NOT NULL COMMENT '행정구역코드' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `ADMINIST_ZONE_NM` `ADMINIST_ZONE_NM` varchar(60) DEFAULT NULL COMMENT '행정구역명' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `ADMINIST_ZONE_SE` `ADMINIST_ZONE_SE` char(1) NOT NULL COMMENT '행정구역구분' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `CHANGE_SE_CODE` `CHANGE_SE_CODE` varchar(2) DEFAULT NULL COMMENT '변경구분코드' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `CREAT_DE` `CREAT_DE` char(20) DEFAULT NULL COMMENT '생성일' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `CTPRVN_CODE` `CTPRVN_CODE` varchar(2) DEFAULT NULL COMMENT '시도코드' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `EMD_CODE` `EMD_CODE` varchar(3) DEFAULT NULL COMMENT '읍면동코드' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `LI_CODE` `LI_CODE` varchar(2) DEFAULT NULL COMMENT '리코드' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `LOWEST_ADMINIST_ZONE_NM` `LOWEST_ADMINIST_ZONE_NM` varchar(60) DEFAULT NULL COMMENT '최하위행정구역명' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(20) NOT NULL COMMENT '발생일' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `OPERT_SN` `OPERT_SN` decimal(10,0) NOT NULL COMMENT '작업일련번호' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `PROCESS_SE` `PROCESS_SE` varchar(2) DEFAULT NULL COMMENT '처리구분' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `SIGNGU_CODE` `SIGNGU_CODE` varchar(3) DEFAULT NULL COMMENT '시군구코드' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `CL_CODE_DC` `CL_CODE_DC` varchar(200) DEFAULT NULL COMMENT '분류코드설명' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `CL_CODE_NM` `CL_CODE_NM` varchar(60) DEFAULT NULL COMMENT '분류코드명' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `CL_CODE` `CL_CODE` char(3) NOT NULL COMMENT '분류코드' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `CL_CODE` `CL_CODE` char(3) COMMENT '분류코드' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `CODE_ID_DC` `CODE_ID_DC` varchar(200) DEFAULT NULL COMMENT '코드ID설명' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `CODE_ID_NM` `CODE_ID_NM` varchar(60) DEFAULT NULL COMMENT '코드ID명' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `CODE_ID` `CODE_ID` varchar(6) NOT NULL COMMENT '코드ID' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `CODE_DC` `CODE_DC` varchar(200) DEFAULT NULL COMMENT '코드설명' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `CODE_ID` `CODE_ID` varchar(6) NOT NULL COMMENT '코드ID' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `CODE_NM` `CODE_NM` varchar(60) DEFAULT NULL COMMENT '코드명' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `CODE` `CODE` varchar(15) NOT NULL COMMENT '코드' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTCZIP` CHANGE `CTPRVN_NM` `CTPRVN_NM` varchar(20) DEFAULT NULL COMMENT '시도명' ; +ALTER TABLE `COMTCZIP` CHANGE `EMD_NM` `EMD_NM` varchar(60) DEFAULT NULL COMMENT '읍면동명' ; +ALTER TABLE `COMTCZIP` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTCZIP` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTCZIP` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTCZIP` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTCZIP` CHANGE `LI_BULD_NM` `LI_BULD_NM` varchar(60) DEFAULT NULL COMMENT '리건물명' ; +ALTER TABLE `COMTCZIP` CHANGE `LNBR_DONG_HO` `LNBR_DONG_HO` varchar(20) DEFAULT NULL COMMENT '번지동호' ; +ALTER TABLE `COMTCZIP` CHANGE `SIGNGU_NM` `SIGNGU_NM` varchar(20) DEFAULT NULL COMMENT '시군구명' ; +ALTER TABLE `COMTCZIP` CHANGE `SN` `SN` decimal(10,0) NOT NULL DEFAULT '0' COMMENT '일련번호' ; +ALTER TABLE `COMTCZIP` CHANGE `ZIP` `ZIP` varchar(6) NOT NULL COMMENT '우편번호' ; +ALTER TABLE `COMTECOPSEQ` CHANGE `NEXT_ID` `NEXT_ID` decimal(30,0) DEFAULT NULL COMMENT '다음아이디' ; +ALTER TABLE `COMTECOPSEQ` CHANGE `TABLE_NAME` `TABLE_NAME` varchar(20) NOT NULL DEFAULT '' COMMENT '테이블명' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `CONFM_DE` `CONFM_DE` char(20) DEFAULT NULL COMMENT '승인일' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `CONFM_NO` `CONFM_NO` decimal(8,0) NOT NULL COMMENT '승인번호' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `CONFM_RQESTER_ID` `CONFM_RQESTER_ID` varchar(20) NOT NULL COMMENT '승인요청자ID' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `CONFM_STTUS_CODE` `CONFM_STTUS_CODE` char(4) NOT NULL COMMENT '승인상태코드' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `CONFM_TY_CODE` `CONFM_TY_CODE` char(4) NOT NULL COMMENT '승인유형코드' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `CONFMER_ID` `CONFMER_ID` varchar(20) DEFAULT NULL COMMENT '승인자ID' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `OPERT_ID` `OPERT_ID` varchar(20) DEFAULT NULL COMMENT '작업ID' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `OPERT_TY_CODE` `OPERT_TY_CODE` char(4) DEFAULT NULL COMMENT '작업유형코드' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `TRGET_JOB_ID` `TRGET_JOB_ID` char(20) DEFAULT NULL COMMENT '대상업무ID' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `TRGET_JOB_TY_CODE` `TRGET_JOB_TY_CODE` char(3) DEFAULT NULL COMMENT '대상업무유형코드' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `CECK_SQL` `CECK_SQL` varchar(250) DEFAULT NULL COMMENT '체크SQL' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `DATA_SOURC_NM` `DATA_SOURC_NM` varchar(60) NOT NULL COMMENT '데이터소스명' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `DBMS_KND` `DBMS_KND` varchar(2) DEFAULT NULL COMMENT 'DBMS종류' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL DEFAULT '' COMMENT '로그ID' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `LOG_INFO` `LOG_INFO` varchar(2000) DEFAULT NULL COMMENT '로그정보' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `SERVER_NM` `SERVER_NM` varchar(60) DEFAULT NULL COMMENT '서버명' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) COMMENT '첨부파일ID' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `DSPTCH_DT` `DSPTCH_DT` char(20) NOT NULL COMMENT '발신일시' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `EMAIL_CN` `EMAIL_CN` mediumtext DEFAULT NULL COMMENT '이메일내용' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `MSSAGE_ID` `MSSAGE_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '메시지ID' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `RCVER` `RCVER` varchar(50) NOT NULL COMMENT '수신자' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `SJ` `SJ` varchar(60) NOT NULL COMMENT '제목' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `SNDNG_RESULT_CODE` `SNDNG_RESULT_CODE` char(1) DEFAULT NULL COMMENT '발송결과코드' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `SNDR` `SNDR` varchar(50) NOT NULL COMMENT '발신자' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `AREA_NO` `AREA_NO` varchar(4) DEFAULT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `BRTHDY` `BRTHDY` char(20) DEFAULT NULL COMMENT '생일' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `CHANGE_DE` `CHANGE_DE` char(20) NOT NULL DEFAULT '' COMMENT '변경일' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `DETAIL_ADRES` `DETAIL_ADRES` varchar(100) DEFAULT NULL COMMENT '상세주소' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `EMAIL_ADRES` `EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '이메일주소' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `EMPL_NO` `EMPL_NO` varchar(20) DEFAULT NULL COMMENT '사원번호' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `EMPLYR_STTUS_CODE` `EMPLYR_STTUS_CODE` char(1) DEFAULT NULL COMMENT '사용자상태코드' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `ESNTL_ID` `ESNTL_ID` char(20) DEFAULT NULL COMMENT '고유ID' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `FXNUM` `FXNUM` varchar(20) DEFAULT NULL COMMENT '팩스번호' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `GROUP_ID` `GROUP_ID` char(20) DEFAULT NULL COMMENT '그룹ID' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `HOUSE_ADRES` `HOUSE_ADRES` varchar(100) DEFAULT NULL COMMENT '주택주소' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `HOUSE_END_TELNO` `HOUSE_END_TELNO` varchar(4) DEFAULT NULL COMMENT '주택끝전화번호' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `HOUSE_MIDDLE_TELNO` `HOUSE_MIDDLE_TELNO` varchar(4) DEFAULT NULL COMMENT '주택중간전화번호' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `MBTLNUM` `MBTLNUM` varchar(20) DEFAULT NULL COMMENT '이동전화번호' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `OFFM_TELNO` `OFFM_TELNO` varchar(20) DEFAULT NULL COMMENT '사무실전화번호' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `ORGNZT_ID` `ORGNZT_ID` char(20) DEFAULT NULL COMMENT '조직ID' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `PSTINST_CODE` `PSTINST_CODE` char(8) DEFAULT NULL COMMENT '소속기관코드' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `SEXDSTN_CODE` `SEXDSTN_CODE` char(1) DEFAULT NULL COMMENT '성별코드' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `ZIP` `ZIP` varchar(6) DEFAULT NULL COMMENT '우편번호' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `HTTP_STTUS_CODE` `HTTP_STTUS_CODE` varchar(3) DEFAULT NULL COMMENT 'HTTP상태코드' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL DEFAULT '' COMMENT '로그ID' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `LOG_INFO` `LOG_INFO` varchar(2000) DEFAULT NULL COMMENT '로그정보' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `SITE_URL` `SITE_URL` varchar(100) DEFAULT NULL COMMENT '사이트URL' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `SYS_ID` `SYS_ID` varchar(20) NOT NULL COMMENT '시스템ID' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `WEBSVC_KND` `WEBSVC_KND` varchar(10) DEFAULT NULL COMMENT '웹서비스종류' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `CHANGE_REQUST_CN` `CHANGE_REQUST_CN` varchar(1000) DEFAULT NULL COMMENT '변경요청내용' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `OPETR_ID` `OPETR_ID` varchar(20) DEFAULT NULL COMMENT '처리자ID' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `PROCESS_DE` `PROCESS_DE` char(20) DEFAULT NULL COMMENT '처리일' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `PROCESS_STTUS_CODE` `PROCESS_STTUS_CODE` varchar(15) NOT NULL COMMENT '처리상태코드' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `PROGRM_FILE_NM` `PROGRM_FILE_NM` varchar(60) NOT NULL COMMENT '프로그램파일명' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `REQUST_NO` `REQUST_NO` decimal(10,0) NOT NULL DEFAULT '0' COMMENT '요청번호' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `REQUST_PROCESS_CN` `REQUST_PROCESS_CN` mediumtext DEFAULT NULL COMMENT '요청처리내용' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `REQUST_SJ` `REQUST_SJ` varchar(60) NOT NULL COMMENT '요청제목' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `RQESTDE` `RQESTDE` char(20) DEFAULT NULL COMMENT '요청일' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `RQESTER_ID` `RQESTER_ID` varchar(20) NOT NULL COMMENT '요청자ID' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `HIST_CN` `HIST_CN` varchar(2500) NOT NULL COMMENT '이력내용' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `HIST_ID` `HIST_ID` char(20) NOT NULL COMMENT '이력ID' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `HIST_SE_CODE` `HIST_SE_CODE` char(6) NOT NULL COMMENT '이력구분코드' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `SYS_NM` `SYS_NM` varchar(255) NOT NULL COMMENT '시스템명' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `CNTC_ID` `CNTC_ID` char(8) NOT NULL COMMENT '연계ID' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL COMMENT '로그ID' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `LOG_INFO` `LOG_INFO` varchar(2000) DEFAULT NULL COMMENT '로그정보' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `TEST_CLASS_NM` `TEST_CLASS_NM` varchar(255) DEFAULT NULL COMMENT '테스트클래스명' ; +ALTER TABLE `COMTNADBK` CHANGE `ADBK_CONSTNT_ID` `ADBK_CONSTNT_ID` char(20) NOT NULL COMMENT '주소록구성원ID' ; +ALTER TABLE `COMTNADBK` CHANGE `ADBK_ID` `ADBK_ID` char(20) NOT NULL COMMENT '주소록ID' ; +ALTER TABLE `COMTNADBK` CHANGE `EMAIL_ADRES` `EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '이메일주소' ; +ALTER TABLE `COMTNADBK` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) DEFAULT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNADBK` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNADBK` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNADBK` CHANGE `FXNUM` `FXNUM` varchar(20) DEFAULT NULL COMMENT '팩스번호' ; +ALTER TABLE `COMTNADBK` CHANGE `HOUSE_TELNO` `HOUSE_TELNO` varchar(20) DEFAULT NULL COMMENT '주택전화번호' ; +ALTER TABLE `COMTNADBK` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNADBK` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNADBK` CHANGE `MBTLNUM` `MBTLNUM` varchar(20) DEFAULT NULL COMMENT '이동전화번호' ; +ALTER TABLE `COMTNADBK` CHANGE `NCRD_ID` `NCRD_ID` char(20) DEFAULT NULL COMMENT '명함ID' ; +ALTER TABLE `COMTNADBK` CHANGE `NM` `NM` varchar(50) DEFAULT NULL COMMENT '이름' ; +ALTER TABLE `COMTNADBK` CHANGE `OFFM_TELNO` `OFFM_TELNO` varchar(20) DEFAULT NULL COMMENT '사무실전화번호' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `ADBK_ID` `ADBK_ID` char(20) NOT NULL COMMENT '주소록ID' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `ADBK_NM` `ADBK_NM` varchar(50) NOT NULL COMMENT '주소록명' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `OTHBC_SCOPE` `OTHBC_SCOPE` varchar(20) NOT NULL COMMENT '공개범위' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `TRGET_ORGNZT_ID` `TRGET_ORGNZT_ID` char(20) DEFAULT NULL COMMENT '대상조직ID' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `WRTER_ID` `WRTER_ID` varchar(20) DEFAULT NULL COMMENT '작성자ID' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `ADMINIST_WORD_ABRV_NM` `ADMINIST_WORD_ABRV_NM` varchar(255) DEFAULT NULL COMMENT '행정용어약어명' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `ADMINIST_WORD_DC` `ADMINIST_WORD_DC` varchar(4000) DEFAULT NULL COMMENT '행정용어설명' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `ADMINIST_WORD_DFN` `ADMINIST_WORD_DFN` varchar(2500) DEFAULT NULL COMMENT '행정용어정의' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `ADMINIST_WORD_ENG_NM` `ADMINIST_WORD_ENG_NM` varchar(255) DEFAULT NULL COMMENT '행정용어영문명' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `ADMINIST_WORD_ID` `ADMINIST_WORD_ID` char(20) NOT NULL DEFAULT '' COMMENT '행정용어ID' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `ADMINIST_WORD_NM` `ADMINIST_WORD_NM` varchar(255) DEFAULT NULL COMMENT '행정용어명' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `RELATE_STD_WORD` `RELATE_STD_WORD` varchar(255) DEFAULT NULL COMMENT '관계표준용어' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `THEMA_RELM` `THEMA_RELM` varchar(255) DEFAULT NULL COMMENT '주제영역' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `WORD_SE` `WORD_SE` varchar(255) DEFAULT NULL COMMENT '용어구분' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `ANNVRSRY_ID` `ANNVRSRY_ID` varchar(20) NOT NULL COMMENT '기념일ID' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `ANNVRSRY_NM` `ANNVRSRY_NM` varchar(255) NOT NULL COMMENT '기념일명' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `ANNVRSRY_NTCN_BGNDE` `ANNVRSRY_NTCN_BGNDE` char(20) DEFAULT NULL COMMENT '알림시작일' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `ANNVRSRY_NTCN_SETUP` `ANNVRSRY_NTCN_SETUP` char(1) DEFAULT NULL COMMENT '알림설정' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `ANNVRSRY_SE` `ANNVRSRY_SE` varchar(2) NOT NULL COMMENT '기념일구분' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `ANNVRSRY` `ANNVRSRY` char(20) NOT NULL COMMENT '기념일' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `CLDR_SE` `CLDR_SE` char(1) NOT NULL COMMENT '달력구분' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `MEMO` `MEMO` varchar(1000) DEFAULT NULL COMMENT '메모' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `REPTIT_AT` `REPTIT_AT` char(1) DEFAULT NULL COMMENT '반복여부' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `USER_ID` `USER_ID` varchar(20) NOT NULL COMMENT '사용자ID' ; +ALTER TABLE `COMTNANSWER` CHANGE `ANSWER_NO` `ANSWER_NO` decimal(20,0) NOT NULL COMMENT '답글번호' ; +ALTER TABLE `COMTNANSWER` CHANGE `ANSWER` `ANSWER` varchar(200) DEFAULT NULL COMMENT '댓글' ; +ALTER TABLE `COMTNANSWER` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNANSWER` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNANSWER` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNANSWER` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNANSWER` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNANSWER` CHANGE `NTT_ID` `NTT_ID` decimal(20,0) NOT NULL COMMENT '게시물ID' ; +ALTER TABLE `COMTNANSWER` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNANSWER` CHANGE `WRTER_ID` `WRTER_ID` varchar(20) DEFAULT NULL COMMENT '작성자ID' ; +ALTER TABLE `COMTNANSWER` CHANGE `WRTER_NM` `WRTER_NM` varchar(20) DEFAULT NULL COMMENT '작성자명' ; +ALTER TABLE `COMTNAUTHORGROUPINFO` CHANGE `GROUP_CREAT_DE` `GROUP_CREAT_DE` char(20) NOT NULL COMMENT '그룹생성일' ; +ALTER TABLE `COMTNAUTHORGROUPINFO` CHANGE `GROUP_DC` `GROUP_DC` varchar(100) DEFAULT NULL COMMENT '그룹설명' ; +ALTER TABLE `COMTNAUTHORGROUPINFO` CHANGE `GROUP_ID` `GROUP_ID` char(20) NOT NULL DEFAULT '' COMMENT '그룹ID' ; +ALTER TABLE `COMTNAUTHORGROUPINFO` CHANGE `GROUP_NM` `GROUP_NM` varchar(60) NOT NULL COMMENT '그룹명' ; +ALTER TABLE `COMTNAUTHORINFO` CHANGE `AUTHOR_CODE` `AUTHOR_CODE` varchar(30) NOT NULL DEFAULT '' COMMENT '권한코드' ; +ALTER TABLE `COMTNAUTHORINFO` CHANGE `AUTHOR_CREAT_DE` `AUTHOR_CREAT_DE` char(20) NOT NULL COMMENT '권한생성일' ; +ALTER TABLE `COMTNAUTHORINFO` CHANGE `AUTHOR_DC` `AUTHOR_DC` varchar(200) DEFAULT NULL COMMENT '권한설명' ; +ALTER TABLE `COMTNAUTHORINFO` CHANGE `AUTHOR_NM` `AUTHOR_NM` varchar(60) NOT NULL COMMENT '권한명' ; +ALTER TABLE `COMTNAUTHORROLERELATE` CHANGE `AUTHOR_CODE` `AUTHOR_CODE` varchar(30) NOT NULL COMMENT '권한코드' ; +ALTER TABLE `COMTNAUTHORROLERELATE` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNAUTHORROLERELATE` CHANGE `ROLE_CODE` `ROLE_CODE` varchar(50) NOT NULL COMMENT '롤코드' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `BACKUP_OPERT_ID` `BACKUP_OPERT_ID` varchar(20) NOT NULL COMMENT '백업작업ID' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `BACKUP_OPERT_NM` `BACKUP_OPERT_NM` varchar(60) DEFAULT NULL COMMENT '백업작업명' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `BACKUP_ORGINL_DRCTRY` `BACKUP_ORGINL_DRCTRY` varchar(255) DEFAULT NULL COMMENT '백업원본디렉토리' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `BACKUP_STRE_DRCTRY` `BACKUP_STRE_DRCTRY` varchar(255) DEFAULT NULL COMMENT '백업저장디렉토리' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `CMPRS_SE` `CMPRS_SE` varchar(2) DEFAULT NULL COMMENT '압축구분' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `EXECUT_CYCLE` `EXECUT_CYCLE` varchar(2) DEFAULT NULL COMMENT '실행주기' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `EXECUT_SCHDUL_DE` `EXECUT_SCHDUL_DE` char(20) DEFAULT NULL COMMENT '실행일정일' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `EXECUT_SCHDUL_HOUR` `EXECUT_SCHDUL_HOUR` char(2) DEFAULT NULL COMMENT '실행일정시' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `EXECUT_SCHDUL_MNT` `EXECUT_SCHDUL_MNT` char(2) DEFAULT NULL COMMENT '실행일정분' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `EXECUT_SCHDUL_SECND` `EXECUT_SCHDUL_SECND` char(2) DEFAULT NULL COMMENT '실행일정초' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `BACKUP_FILE` `BACKUP_FILE` varchar(255) DEFAULT NULL COMMENT '백업파일' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `BACKUP_OPERT_ID` `BACKUP_OPERT_ID` varchar(20) NOT NULL COMMENT '백업작업ID' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `BACKUP_RESULT_ID` `BACKUP_RESULT_ID` varchar(20) NOT NULL COMMENT '백업결과ID' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `ERROR_INFO` `ERROR_INFO` varchar(2000) DEFAULT NULL COMMENT '오류정보' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `EXECUT_BEGIN_TM` `EXECUT_BEGIN_TM` varchar(14) DEFAULT NULL COMMENT '실행시작시각' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `EXECUT_END_TM` `EXECUT_END_TM` varchar(14) DEFAULT NULL COMMENT '실행종료시각' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `STTUS` `STTUS` varchar(2) DEFAULT NULL COMMENT '상태' ; +ALTER TABLE `COMTNBACKUPSCHDULDFK` CHANGE `BACKUP_OPERT_ID` `BACKUP_OPERT_ID` varchar(20) NOT NULL COMMENT '백업작업ID' ; +ALTER TABLE `COMTNBACKUPSCHDULDFK` CHANGE `EXECUT_SCHDUL_DFK_SE` `EXECUT_SCHDUL_DFK_SE` char(1) NOT NULL COMMENT '실행일정요일구분' ; +ALTER TABLE `COMTNBANNER` CHANGE `BANNER_DC` `BANNER_DC` varchar(200) DEFAULT NULL COMMENT '배너설명' ; +ALTER TABLE `COMTNBANNER` CHANGE `BANNER_ID` `BANNER_ID` char(20) NOT NULL DEFAULT '' COMMENT '배너ID' ; +ALTER TABLE `COMTNBANNER` CHANGE `BANNER_IMAGE_FILE` `BANNER_IMAGE_FILE` varchar(60) DEFAULT NULL COMMENT '배너이미지파일' ; +ALTER TABLE `COMTNBANNER` CHANGE `BANNER_IMAGE` `BANNER_IMAGE` varchar(60) NOT NULL COMMENT '배너이미지' ; +ALTER TABLE `COMTNBANNER` CHANGE `BANNER_NM` `BANNER_NM` varchar(60) NOT NULL COMMENT '배너명' ; +ALTER TABLE `COMTNBANNER` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBANNER` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBANNER` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBANNER` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBANNER` CHANGE `LINK_URL` `LINK_URL` varchar(255) NOT NULL COMMENT '링크URL' ; +ALTER TABLE `COMTNBANNER` CHANGE `REFLCT_AT` `REFLCT_AT` char(1) NOT NULL COMMENT '반영여부' ; +ALTER TABLE `COMTNBANNER` CHANGE `SORT_ORDR` `SORT_ORDR` decimal(8,0) DEFAULT NULL COMMENT '정렬순서' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `BATCH_OPERT_ID` `BATCH_OPERT_ID` varchar(20) NOT NULL COMMENT '배치작업ID' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `BATCH_OPERT_NM` `BATCH_OPERT_NM` varchar(60) DEFAULT NULL COMMENT '배치작업명' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `BATCH_PROGRM` `BATCH_PROGRM` varchar(255) DEFAULT NULL COMMENT '배치프로그램' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `PARAMTR` `PARAMTR` varchar(250) DEFAULT NULL COMMENT '파라미터' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `BATCH_OPERT_ID` `BATCH_OPERT_ID` varchar(20) NOT NULL COMMENT '배치작업ID' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `BATCH_RESULT_ID` `BATCH_RESULT_ID` varchar(20) NOT NULL COMMENT '배치결과ID' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `BATCH_SCHDUL_ID` `BATCH_SCHDUL_ID` varchar(20) NOT NULL COMMENT '배치일정ID' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `ERROR_INFO` `ERROR_INFO` varchar(2000) DEFAULT NULL COMMENT '오류정보' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `EXECUT_BEGIN_TM` `EXECUT_BEGIN_TM` varchar(14) DEFAULT NULL COMMENT '실행시작시각' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `EXECUT_END_TM` `EXECUT_END_TM` varchar(14) DEFAULT NULL COMMENT '실행종료시각' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `PARAMTR` `PARAMTR` varchar(250) DEFAULT NULL COMMENT '파라미터' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `STTUS` `STTUS` varchar(2) DEFAULT NULL COMMENT '상태' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `BATCH_OPERT_ID` `BATCH_OPERT_ID` varchar(20) NOT NULL COMMENT '배치작업ID' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `BATCH_SCHDUL_ID` `BATCH_SCHDUL_ID` varchar(20) NOT NULL COMMENT '배치일정ID' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `EXECUT_CYCLE` `EXECUT_CYCLE` varchar(2) DEFAULT NULL COMMENT '실행주기' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `EXECUT_SCHDUL_DE` `EXECUT_SCHDUL_DE` char(20) DEFAULT NULL COMMENT '실행일정일' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `EXECUT_SCHDUL_HOUR` `EXECUT_SCHDUL_HOUR` char(2) DEFAULT NULL COMMENT '실행일정시' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `EXECUT_SCHDUL_MNT` `EXECUT_SCHDUL_MNT` char(2) DEFAULT NULL COMMENT '실행일정분' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `EXECUT_SCHDUL_SECND` `EXECUT_SCHDUL_SECND` char(2) DEFAULT NULL COMMENT '실행일정초' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBATCHSCHDULDFK` CHANGE `BATCH_SCHDUL_ID` `BATCH_SCHDUL_ID` varchar(20) NOT NULL COMMENT '배치일정ID' ; +ALTER TABLE `COMTNBATCHSCHDULDFK` CHANGE `EXECUT_SCHDUL_DFK_SE` `EXECUT_SCHDUL_DFK_SE` char(1) NOT NULL COMMENT '실행일정요일구분' ; +ALTER TABLE `COMTNBBS` CHANGE `ANSWER_AT` `ANSWER_AT` char(1) DEFAULT NULL COMMENT '댓글여부' ; +ALTER TABLE `COMTNBBS` CHANGE `ANSWER_LC` `ANSWER_LC` decimal(8,0) DEFAULT NULL COMMENT '댓글위치' ; +ALTER TABLE `COMTNBBS` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNBBS` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNBBS` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBBS` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBBS` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBBS` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBBS` CHANGE `NTCE_BGNDE` `NTCE_BGNDE` char(20) DEFAULT NULL COMMENT '게시시작일' ; +ALTER TABLE `COMTNBBS` CHANGE `NTCE_ENDDE` `NTCE_ENDDE` char(20) DEFAULT NULL COMMENT '게시종료일' ; +ALTER TABLE `COMTNBBS` CHANGE `NTCR_ID` `NTCR_ID` varchar(20) DEFAULT NULL COMMENT '게시자ID' ; +ALTER TABLE `COMTNBBS` CHANGE `NTCR_NM` `NTCR_NM` varchar(20) DEFAULT NULL COMMENT '게시자명' ; +ALTER TABLE `COMTNBBS` CHANGE `NTT_CN` `NTT_CN` mediumtext DEFAULT NULL COMMENT '게시물내용' ; +ALTER TABLE `COMTNBBS` CHANGE `NTT_ID` `NTT_ID` decimal(20,0) NOT NULL COMMENT '게시물ID' ; +ALTER TABLE `COMTNBBS` CHANGE `NTT_NO` `NTT_NO` decimal(20,0) DEFAULT NULL COMMENT '게시물번호' ; +ALTER TABLE `COMTNBBS` CHANGE `NTT_SJ` `NTT_SJ` varchar(2000) DEFAULT NULL COMMENT '게시물제목' ; +ALTER TABLE `COMTNBBS` CHANGE `PARNTSCTT_NO` `PARNTSCTT_NO` decimal(10,0) DEFAULT NULL COMMENT '부모글번호' ; +ALTER TABLE `COMTNBBS` CHANGE `PASSWORD` `PASSWORD` varchar(200) DEFAULT NULL COMMENT '비밀번호' ; +ALTER TABLE `COMTNBBS` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTNBBS` CHANGE `SORT_ORDR` `SORT_ORDR` decimal(8,0) DEFAULT NULL COMMENT '정렬순서' ; +ALTER TABLE `COMTNBBS` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNBBS` CHANGE `BLOG_ID` `BLOG_ID` char(20) NULL COMMENT '블로그 ID' ; +ALTER TABLE `COMTNBBS` CHANGE `NOTICE_AT` `NOTICE_AT` char(1) NULL COMMENT '공지사항여부' ; +ALTER TABLE `COMTNBBS` CHANGE `SECRET_AT` `SECRET_AT` char(1) NULL COMMENT '비밀글여부' ; +ALTER TABLE `COMTNBBS` CHANGE `SJ_BOLD_AT` `SJ_BOLD_AT` char(1) NULL COMMENT '제목볼드여부' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `ATCH_POSBL_FILE_NUMBER` `ATCH_POSBL_FILE_NUMBER` decimal(2,0) NOT NULL COMMENT '첨부가능파일숫자' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `ATCH_POSBL_FILE_SIZE` `ATCH_POSBL_FILE_SIZE` decimal(8,0) DEFAULT NULL COMMENT '첨부가능파일사이즈' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `BBS_INTRCN` `BBS_INTRCN` varchar(2400) DEFAULT NULL COMMENT '게시판소개' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `BBS_NM` `BBS_NM` varchar(255) NOT NULL COMMENT '게시판명' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `BBS_TY_CODE` `BBS_TY_CODE` char(6) NOT NULL COMMENT '게시판유형코드' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `FILE_ATCH_POSBL_AT` `FILE_ATCH_POSBL_AT` char(1) NOT NULL COMMENT '파일첨부가능여부' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `REPLY_POSBL_AT` `REPLY_POSBL_AT` char(1) DEFAULT NULL COMMENT '답장가능여부' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `TMPLAT_ID` `TMPLAT_ID` char(20) DEFAULT NULL COMMENT '템플릿ID' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `BLOG_AT` `BLOG_AT` char(2) NULL COMMENT '블로그 여부' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `BLOG_ID` `BLOG_ID` char(20) NULL COMMENT '블로그 ID' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `CMMNTY_ID` `CMMNTY_ID` char(20) NULL COMMENT '커뮤니티ID' ; +ALTER TABLE `COMTNBBSMASTEROPTN` CHANGE `ANSWER_AT` `ANSWER_AT` char(1) NOT NULL COMMENT '댓글여부' ; +ALTER TABLE `COMTNBBSMASTEROPTN` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNBBSMASTEROPTN` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBBSMASTEROPTN` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBBSMASTEROPTN` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBBSMASTEROPTN` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBBSMASTEROPTN` CHANGE `STSFDG_AT` `STSFDG_AT` char(1) NOT NULL COMMENT '만족도여부' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `REGIST_SE_CODE` `REGIST_SE_CODE` char(6) DEFAULT NULL COMMENT '등록구분코드' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `TRGET_ID` `TRGET_ID` char(20) NOT NULL DEFAULT '' COMMENT '대상ID' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNBKMKMENUMANAGERESULT` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNBKMKMENUMANAGERESULT` CHANGE `MENU_ID` `MENU_ID` decimal(20,0) NOT NULL DEFAULT '0' COMMENT '메뉴ID' ; +ALTER TABLE `COMTNBKMKMENUMANAGERESULT` CHANGE `MENU_NM` `MENU_NM` varchar(60) NOT NULL COMMENT '메뉴명' ; +ALTER TABLE `COMTNBKMKMENUMANAGERESULT` CHANGE `PROGRM_STRE_PATH` `PROGRM_STRE_PATH` varchar(100) NOT NULL COMMENT '프로그램저장경로' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `BNDT_CECK_CODE_NM` `BNDT_CECK_CODE_NM` varchar(255) NOT NULL COMMENT '당직체크코드명' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `BNDT_CECK_CODE` `BNDT_CECK_CODE` varchar(10) NOT NULL COMMENT '당직체크코드' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `BNDT_CECK_SE` `BNDT_CECK_SE` char(2) NOT NULL COMMENT '당직체크구분' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `BNDT_CECK_CODE` `BNDT_CECK_CODE` varchar(10) NOT NULL COMMENT '당직체크코드' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `BNDT_CECK_SE` `BNDT_CECK_SE` char(2) NOT NULL COMMENT '당직체크구분' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `BNDT_DE` `BNDT_DE` char(8) NOT NULL COMMENT '당직일자' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `BNDT_ID` `BNDT_ID` varchar(20) NOT NULL COMMENT '당직ID' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `CHCK_STTUS` `CHCK_STTUS` varchar(1000) DEFAULT NULL COMMENT '점검상태' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBNDTMANAGE` CHANGE `BNDT_DE` `BNDT_DE` char(8) NOT NULL COMMENT '당직일자' ; +ALTER TABLE `COMTNBNDTMANAGE` CHANGE `BNDT_ID` `BNDT_ID` varchar(20) NOT NULL COMMENT '당직ID' ; +ALTER TABLE `COMTNBNDTMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBNDTMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBNDTMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBNDTMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBNDTMANAGE` CHANGE `RM` `RM` varchar(2500) DEFAULT NULL COMMENT '비고' ; +ALTER TABLE `COMTNCLUB` CHANGE `CLB_ID` `CLB_ID` char(20) NOT NULL COMMENT '동호회ID' ; +ALTER TABLE `COMTNCLUB` CHANGE `CLB_INTRCN` `CLB_INTRCN` varchar(2400) DEFAULT NULL COMMENT '동호회소개' ; +ALTER TABLE `COMTNCLUB` CHANGE `CLB_NM` `CLB_NM` varchar(255) NOT NULL COMMENT '동호회명' ; +ALTER TABLE `COMTNCLUB` CHANGE `CMMNTY_ID` `CMMNTY_ID` char(20) NOT NULL COMMENT '커뮤니티ID' ; +ALTER TABLE `COMTNCLUB` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCLUB` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCLUB` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCLUB` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCLUB` CHANGE `REGIST_SE_CODE` `REGIST_SE_CODE` char(6) DEFAULT NULL COMMENT '등록구분코드' ; +ALTER TABLE `COMTNCLUB` CHANGE `TMPLAT_ID` `TMPLAT_ID` char(20) DEFAULT NULL COMMENT '템플릿ID' ; +ALTER TABLE `COMTNCLUB` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `CLB_ID` `CLB_ID` char(20) NOT NULL COMMENT '동호회ID' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `CMMNTY_ID` `CMMNTY_ID` char(20) NOT NULL COMMENT '커뮤니티ID' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `OPRTR_AT` `OPRTR_AT` char(1) NOT NULL COMMENT '운영인여부' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `SBSCRB_DE` `SBSCRB_DE` datetime DEFAULT NULL COMMENT '가입일자' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `SECSN_DE` `SECSN_DE` char(20) DEFAULT NULL COMMENT '탈퇴일' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `CMMNTY_ID` `CMMNTY_ID` char(20) NOT NULL COMMENT '커뮤니티ID' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `CMMNTY_INTRCN` `CMMNTY_INTRCN` varchar(2400) DEFAULT NULL COMMENT '커뮤니티소개' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `CMMNTY_NM` `CMMNTY_NM` varchar(255) NOT NULL COMMENT '커뮤니티명' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `REGIST_SE_CODE` `REGIST_SE_CODE` char(6) DEFAULT NULL COMMENT '등록구분코드' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `TMPLAT_ID` `TMPLAT_ID` char(20) DEFAULT NULL COMMENT '템플릿ID' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `CMMNTY_ID` `CMMNTY_ID` char(20) NOT NULL COMMENT '커뮤니티ID' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `MNGR_AT` `MNGR_AT` char(1) NOT NULL COMMENT '관리자여부' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `SBSCRB_DE` `SBSCRB_DE` datetime DEFAULT NULL COMMENT '가입일자' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `SECSN_DE` `SECSN_DE` char(20) DEFAULT NULL COMMENT '탈퇴일' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `MBER_STTUS` `MBER_STTUS` varchar(15) NULL COMMENT '회원 상태' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `AREA_NO` `AREA_NO` varchar(4) DEFAULT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `CNSLT_CN` `CNSLT_CN` varchar(2500) DEFAULT NULL COMMENT '상담내용' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `CNSLT_ID` `CNSLT_ID` char(20) NOT NULL COMMENT '상담ID' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `CNSLT_SJ` `CNSLT_SJ` varchar(255) DEFAULT NULL COMMENT '상담제목' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `EMAIL_ADRES` `EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '이메일주소' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `EMAIL_ANSWER_AT` `EMAIL_ANSWER_AT` char(1) DEFAULT NULL COMMENT '메일답변여부' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `END_MBTLNUM` `END_MBTLNUM` varchar(4) DEFAULT NULL COMMENT '끝이동전화번호' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `END_TELNO` `END_TELNO` varchar(4) DEFAULT NULL COMMENT '끝전화번호' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `FRST_MBTLNUM` `FRST_MBTLNUM` varchar(4) DEFAULT NULL COMMENT '처음휴대폰번호' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `MANAGT_CN` `MANAGT_CN` varchar(2500) DEFAULT NULL COMMENT '조치내용' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `MANAGT_DE` `MANAGT_DE` char(20) DEFAULT NULL COMMENT '조치일' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `MIDDLE_MBTLNUM` `MIDDLE_MBTLNUM` varchar(4) DEFAULT NULL COMMENT '중간이동전화번호' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `MIDDLE_TELNO` `MIDDLE_TELNO` varchar(4) DEFAULT NULL COMMENT '중간전화번호' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `OTHBC_AT` `OTHBC_AT` char(1) DEFAULT NULL COMMENT '공개여부' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `QNA_PROCESS_STTUS_CODE` `QNA_PROCESS_STTUS_CODE` char(1) DEFAULT NULL COMMENT '질의응답처리상태코드' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `WRITNG_DE` `WRITNG_DE` char(20) DEFAULT NULL COMMENT '작성일' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `WRITNG_PASSWORD` `WRITNG_PASSWORD` varchar(20) DEFAULT NULL COMMENT '작성비밀번호' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `WRTER_NM` `WRTER_NM` varchar(20) DEFAULT NULL COMMENT '작성자명' ; +ALTER TABLE `COMTNCNTCINSTT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCNTCINSTT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCNTCINSTT` CHANGE `INSTT_ID` `INSTT_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '기관ID' ; +ALTER TABLE `COMTNCNTCINSTT` CHANGE `INSTT_NM` `INSTT_NM` varchar(100) DEFAULT NULL COMMENT '기관명' ; +ALTER TABLE `COMTNCNTCINSTT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCNTCINSTT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCNTCINSTT` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `CNTC_MSSAGE_ID` `CNTC_MSSAGE_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '연계메시지ID' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `CNTC_MSSAGE_NM` `CNTC_MSSAGE_NM` varchar(100) DEFAULT NULL COMMENT '연계메시지명' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `UPPER_CNTC_MSSAGE_ID` `UPPER_CNTC_MSSAGE_ID` varchar(20) DEFAULT NULL COMMENT '상위연계메시지ID' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `CNTC_MSSAGE_ID` `CNTC_MSSAGE_ID` varchar(20) NOT NULL COMMENT '연계메시지ID' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `IEM_ID` `IEM_ID` varchar(20) NOT NULL COMMENT '항목ID' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `IEM_LT` `IEM_LT` decimal(8,0) DEFAULT NULL COMMENT '항목길이' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `IEM_NM` `IEM_NM` varchar(100) DEFAULT NULL COMMENT '항목명' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `IEM_TY` `IEM_TY` varchar(50) DEFAULT NULL COMMENT '항목유형' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `INSTT_ID` `INSTT_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '기관ID' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `REQUST_MSSAGE_ID` `REQUST_MSSAGE_ID` varchar(20) DEFAULT NULL COMMENT '요청메시지ID' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `RSPNS_MSSAGE_ID` `RSPNS_MSSAGE_ID` varchar(20) DEFAULT NULL COMMENT '응답메시지ID' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `SVC_ID` `SVC_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '서비스ID' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `SVC_NM` `SVC_NM` varchar(255) DEFAULT NULL COMMENT '서비스명' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `SYS_ID` `SYS_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '시스템ID' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `INSTT_ID` `INSTT_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '기관ID' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `SYS_ID` `SYS_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '시스템ID' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `SYS_IP` `SYS_IP` varchar(23) DEFAULT NULL COMMENT '시스템IP' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `SYS_NM` `SYS_NM` varchar(255) DEFAULT NULL COMMENT '시스템명' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCNTNTSLIST` CHANGE `CNTNTS_ID` `CNTNTS_ID` varchar(20) NOT NULL COMMENT '컨텐츠ID' ; +ALTER TABLE `COMTNCNTNTSLIST` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `ANSWER_NO` `ANSWER_NO` decimal(20,0) NOT NULL COMMENT '댓글번호' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `ANSWER` `ANSWER` varchar(200) DEFAULT NULL COMMENT '댓글' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `NTT_ID` `NTT_ID` decimal(20,0) NOT NULL COMMENT '게시물ID' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `PASSWORD` `PASSWORD` varchar(200) DEFAULT NULL COMMENT '비밀번호' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `WRTER_ID` `WRTER_ID` varchar(20) DEFAULT NULL COMMENT '작성자ID' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `WRTER_NM` `WRTER_NM` varchar(20) DEFAULT NULL COMMENT '작성자명' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `ORGNZT_ID` `ORGNZT_ID` varchar(20) DEFAULT NULL COMMENT '조직ID' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `OVTMWRK_HOURS` `OVTMWRK_HOURS` char(2) DEFAULT NULL COMMENT '초과근무시간' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `RM` `RM` varchar(100) DEFAULT NULL COMMENT '비고' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `WRK_END_STATUS` `WRK_END_STATUS` varchar(10) DEFAULT NULL COMMENT '퇴근상태' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `WRK_END_TIME` `WRK_END_TIME` varchar(14) DEFAULT NULL COMMENT '퇴근시간' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `WRK_HOURS` `WRK_HOURS` char(2) DEFAULT NULL COMMENT '근무시간' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `WRK_START_STATUS` `WRK_START_STATUS` varchar(10) DEFAULT NULL COMMENT '출근상태' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `WRK_START_TIME` `WRK_START_TIME` varchar(14) DEFAULT NULL COMMENT '출근시간' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `WRKT_DT` `WRKT_DT` varchar(10) NOT NULL COMMENT '출근날짜' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `WRKTM_ID` `WRKTM_ID` char(20) NOT NULL COMMENT '출퇴근 구분 ID' ; +ALTER TABLE `COMTNCPYRHTINFO` CHANGE `CPYRHT_ID` `CPYRHT_ID` char(20) NOT NULL COMMENT '저작권ID' ; +ALTER TABLE `COMTNCPYRHTINFO` CHANGE `CPYRHT_PRTC_POLICY_CN` `CPYRHT_PRTC_POLICY_CN` varchar(2500) DEFAULT NULL COMMENT '저작권보호정책내용' ; +ALTER TABLE `COMTNCPYRHTINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCPYRHTINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCPYRHTINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCPYRHTINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `BRTHDY` `BRTHDY` char(20) NOT NULL COMMENT '생일' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `CONFM_AT` `CONFM_AT` char(1) DEFAULT NULL COMMENT '승인여부' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `CTSNN_CODE` `CTSNN_CODE` char(2) NOT NULL COMMENT '경조코드' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `CTSNN_ID` `CTSNN_ID` varchar(20) NOT NULL COMMENT '경조ID' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `CTSNN_NM` `CTSNN_NM` varchar(255) NOT NULL COMMENT '경조명' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `INFRML_SANCTN_ID` `INFRML_SANCTN_ID` char(20) DEFAULT NULL COMMENT '약식결재ID' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(20) NOT NULL COMMENT '발생일' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `RELATE` `RELATE` char(2) NOT NULL COMMENT '관계' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `REQST_DE` `REQST_DE` char(20) NOT NULL COMMENT '신청일' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `RETURN_RESN` `RETURN_RESN` varchar(1000) DEFAULT NULL COMMENT '반환사유' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `RM` `RM` varchar(2500) DEFAULT NULL COMMENT '비고' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `SANCTN_DT` `SANCTN_DT` datetime DEFAULT NULL COMMENT '결재일시' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `SANCTNER_ID` `SANCTNER_ID` varchar(20) NOT NULL COMMENT '결재자ID' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `TRGTER_NM` `TRGTER_NM` varchar(20) NOT NULL COMMENT '대상자명' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `USER_ID` `USER_ID` varchar(20) NOT NULL COMMENT '사용자ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `ANSWER_DP` `ANSWER_DP` decimal(20,0) DEFAULT NULL COMMENT '답변깊이' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `ANSWER_GROUP_NO` `ANSWER_GROUP_NO` decimal(20,0) DEFAULT NULL COMMENT '답변그룹번호' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `ANSWER_ORDR` `ANSWER_ORDR` decimal(20,0) DEFAULT NULL COMMENT '답변순서' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) DEFAULT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `EXPERT_ID` `EXPERT_ID` char(20) DEFAULT NULL COMMENT '전문가ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `KNWLDG_CN` `KNWLDG_CN` varchar(2500) DEFAULT NULL COMMENT '지식내용' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `KNWLDG_ID` `KNWLDG_ID` char(20) NOT NULL COMMENT '지식ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `KNWLDG_NM` `KNWLDG_NM` varchar(60) DEFAULT NULL COMMENT '지식명' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `KNWLDG_TY_CODE` `KNWLDG_TY_CODE` varchar(3) DEFAULT NULL COMMENT '지식유형코드' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `ORGNZT_ID` `ORGNZT_ID` char(20) DEFAULT NULL COMMENT '조직ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `PARNTS_KNWLDG_ID` `PARNTS_KNWLDG_ID` char(20) DEFAULT NULL COMMENT '부모지식ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `COLCT_DE` `COLCT_DE` char(20) DEFAULT NULL COMMENT '수집일자' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `DSUSE_DE` `DSUSE_DE` char(20) DEFAULT NULL COMMENT '폐기일' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) DEFAULT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `EVL_DE` `EVL_DE` char(20) DEFAULT NULL COMMENT '평가일자' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `EXPERT_ID` `EXPERT_ID` char(20) DEFAULT NULL COMMENT '전문가ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `KNWLDG_CN` `KNWLDG_CN` varchar(2500) DEFAULT NULL COMMENT '지식내용' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `KNWLDG_EVL` `KNWLDG_EVL` char(1) DEFAULT NULL COMMENT '지식평가' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `KNWLDG_ID` `KNWLDG_ID` char(20) NOT NULL COMMENT '지식ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `KNWLDG_NM` `KNWLDG_NM` varchar(60) DEFAULT NULL COMMENT '지식명' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `KNWLDG_TY_CODE` `KNWLDG_TY_CODE` varchar(3) DEFAULT NULL COMMENT '지식유형코드' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `KWRD` `KWRD` varchar(100) DEFAULT NULL COMMENT '키워드' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `ORGNZT_ID` `ORGNZT_ID` char(20) DEFAULT NULL COMMENT '조직ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `OTHBC_AT` `OTHBC_AT` char(1) DEFAULT NULL COMMENT '공개여부' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `CL_DE` `CL_DE` char(20) DEFAULT NULL COMMENT '분류일' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `EXPERT_ID` `EXPERT_ID` char(20) DEFAULT NULL COMMENT '전문가ID' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `KNWLDG_TY_CODE` `KNWLDG_TY_CODE` varchar(3) NOT NULL COMMENT '지식유형코드' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `KNWLDG_TY_NM` `KNWLDG_TY_NM` varchar(60) DEFAULT NULL COMMENT '지식유형명' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `KNWLDG_URL` `KNWLDG_URL` varchar(255) DEFAULT NULL COMMENT '지식URL' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `ORGNZT_ID` `ORGNZT_ID` char(20) DEFAULT NULL COMMENT '조직ID' ; +ALTER TABLE `COMTNDAMMAPTEAM` CHANGE `CL_DE` `CL_DE` char(20) DEFAULT NULL COMMENT '분류일' ; +ALTER TABLE `COMTNDAMMAPTEAM` CHANGE `KNWLDG_URL` `KNWLDG_URL` varchar(255) DEFAULT NULL COMMENT '지식URL' ; +ALTER TABLE `COMTNDAMMAPTEAM` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDAMMAPTEAM` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDAMMAPTEAM` CHANGE `ORGNZT_ID` `ORGNZT_ID` char(20) NOT NULL COMMENT '조직ID' ; +ALTER TABLE `COMTNDAMMAPTEAM` CHANGE `ORGNZT_NM` `ORGNZT_NM` varchar(20) DEFAULT NULL COMMENT '조직명' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `EXPERT_CONFM_DE` `EXPERT_CONFM_DE` char(20) DEFAULT NULL COMMENT '전문가승인일' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `EXPERT_DC` `EXPERT_DC` varchar(2000) DEFAULT NULL COMMENT '전문가설명' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `EXPERT_GRAD` `EXPERT_GRAD` char(1) NOT NULL COMMENT '전문가등급' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `EXPERT_ID` `EXPERT_ID` char(20) NOT NULL COMMENT '전문가ID' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `KNWLDG_TY_CODE` `KNWLDG_TY_CODE` varchar(3) NOT NULL COMMENT '지식유형코드' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `CECK_SQL` `CECK_SQL` varchar(250) DEFAULT NULL COMMENT '체크SQL' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `DATA_SOURC_NM` `DATA_SOURC_NM` varchar(60) NOT NULL COMMENT '데이터소스명' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `DBMS_KND` `DBMS_KND` varchar(2) DEFAULT NULL COMMENT 'DBMS종류' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `SERVER_NM` `SERVER_NM` varchar(60) DEFAULT NULL COMMENT '서버명' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `CHARGER_ID` `CHARGER_ID` varchar(20) NOT NULL COMMENT '담당자ID' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `DEPT_JOB_CN` `DEPT_JOB_CN` varchar(2500) NOT NULL COMMENT '부서업무내용' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `DEPT_JOB_ID` `DEPT_JOB_ID` char(20) NOT NULL COMMENT '부서업무ID' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `DEPT_JOB_NM` `DEPT_JOB_NM` varchar(255) NOT NULL COMMENT '부서업무명' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `DEPT_JOBBX_ID` `DEPT_JOBBX_ID` char(6) NOT NULL COMMENT '부서업무함ID' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `PRIORT` `PRIORT` char(1) NOT NULL COMMENT '우선순위' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `DEPT_ID` `DEPT_ID` varchar(20) NOT NULL COMMENT '부서ID' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `DEPT_JOBBX_ID` `DEPT_JOBBX_ID` char(6) NOT NULL COMMENT '부서업무함ID' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `DEPT_JOBBX_NM` `DEPT_JOBBX_NM` varchar(255) NOT NULL COMMENT '부서업무함명' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `INDICT_ORDR` `INDICT_ORDR` decimal(6,0) DEFAULT NULL COMMENT '표시순서' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `DIARY_ID` `DIARY_ID` char(20) NOT NULL COMMENT '일지ID' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `DIARY_NM` `DIARY_NM` varchar(255) DEFAULT NULL COMMENT '일지명' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `DIARY_PROGRSRT` `DIARY_PROGRSRT` decimal(3,0) DEFAULT NULL COMMENT '일지진척율' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `DRCT_MATTER` `DRCT_MATTER` varchar(2500) DEFAULT NULL COMMENT '지시사항' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `PARTCLR_MATTER` `PARTCLR_MATTER` varchar(2500) DEFAULT NULL COMMENT '특이사항' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `SCHDUL_ID` `SCHDUL_ID` char(20) NOT NULL COMMENT '일정ID' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) NOT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `DTA_USE_STATS_ID` `DTA_USE_STATS_ID` char(20) NOT NULL COMMENT '자료사용통계ID' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `FILE_SN` `FILE_SN` decimal(10,0) NOT NULL COMMENT '파일순번' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `NTT_ID` `NTT_ID` decimal(20,0) NOT NULL COMMENT '게시물ID' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `AREA_NO` `AREA_NO` varchar(4) NOT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `BRTHDY` `BRTHDY` char(20) DEFAULT NULL COMMENT '생일' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `CRTFC_DN_VALUE` `CRTFC_DN_VALUE` varchar(100) DEFAULT NULL COMMENT '인증DN값' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `DETAIL_ADRES` `DETAIL_ADRES` varchar(100) DEFAULT NULL COMMENT '상세주소' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `EMAIL_ADRES` `EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '이메일주소' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `EMPL_NO` `EMPL_NO` varchar(20) DEFAULT NULL COMMENT '사원번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `EMPLYR_STTUS_CODE` `EMPLYR_STTUS_CODE` char(1) NOT NULL COMMENT '사용자상태코드' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `ESNTL_ID` `ESNTL_ID` char(20) NOT NULL COMMENT '고유ID' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `FXNUM` `FXNUM` varchar(20) DEFAULT NULL COMMENT '팩스번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `GROUP_ID` `GROUP_ID` char(20) COMMENT '그룹ID' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `HOUSE_ADRES` `HOUSE_ADRES` varchar(100) NOT NULL COMMENT '주택주소' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `HOUSE_END_TELNO` `HOUSE_END_TELNO` varchar(4) NOT NULL COMMENT '주택끝전화번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `HOUSE_MIDDLE_TELNO` `HOUSE_MIDDLE_TELNO` varchar(4) NOT NULL COMMENT '주택중간전화번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `IHIDNUM` `IHIDNUM` varchar(200) DEFAULT NULL COMMENT '주민등록번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `MBTLNUM` `MBTLNUM` varchar(20) DEFAULT NULL COMMENT '이동전화번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `OFCPS_NM` `OFCPS_NM` varchar(60) DEFAULT NULL COMMENT '직위명' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `OFFM_TELNO` `OFFM_TELNO` varchar(20) DEFAULT NULL COMMENT '사무실전화번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `ORGNZT_ID` `ORGNZT_ID` char(20) COMMENT '조직ID' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `PASSWORD_CNSR` `PASSWORD_CNSR` varchar(100) NOT NULL COMMENT '비밀번호정답' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `PASSWORD_HINT` `PASSWORD_HINT` varchar(100) NOT NULL COMMENT '비밀번호힌트' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `PASSWORD` `PASSWORD` varchar(200) NOT NULL COMMENT '비밀번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `PSTINST_CODE` `PSTINST_CODE` char(8) DEFAULT NULL COMMENT '소속기관코드' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `SBSCRB_DE` `SBSCRB_DE` datetime DEFAULT NULL COMMENT '가입일자' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `SEXDSTN_CODE` `SEXDSTN_CODE` char(1) DEFAULT NULL COMMENT '성별코드' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `USER_NM` `USER_NM` varchar(60) NOT NULL COMMENT '사용자명' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `ZIP` `ZIP` varchar(6) NOT NULL COMMENT '우편번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `LOCK_AT` `LOCK_AT` char(1) NULL COMMENT '잠금여부' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `LOCK_CNT` `LOCK_CNT` numeric(3) NULL COMMENT '잠금회수' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `LOCK_LAST_PNTTM` `LOCK_LAST_PNTTM` datetime NULL COMMENT '잠금최종시점' ; +ALTER TABLE `COMTNEMPLYRSCRTYESTBS` CHANGE `AUTHOR_CODE` `AUTHOR_CODE` varchar(30) NOT NULL COMMENT '권한코드' ; +ALTER TABLE `COMTNEMPLYRSCRTYESTBS` CHANGE `MBER_TY_CODE` `MBER_TY_CODE` char(5) DEFAULT NULL COMMENT '회원유형코드' ; +ALTER TABLE `COMTNEMPLYRSCRTYESTBS` CHANGE `SCRTY_DTRMN_TRGET_ID` `SCRTY_DTRMN_TRGET_ID` varchar(20) NOT NULL COMMENT '보안설정대상ID' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ADRES` `ADRES` varchar(100) NOT NULL COMMENT '주소' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `APPLCNT_EMAIL_ADRES` `APPLCNT_EMAIL_ADRES` varchar(50) NOT NULL COMMENT '신청자이메일주소' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `APPLCNT_IHIDNUM` `APPLCNT_IHIDNUM` varchar(200) DEFAULT NULL COMMENT '신청인주민등록번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `APPLCNT_NM` `APPLCNT_NM` varchar(50) NOT NULL COMMENT '신청인명' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `AREA_NO` `AREA_NO` varchar(4) NOT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `BIZRNO` `BIZRNO` varchar(10) DEFAULT NULL COMMENT '사업자등록번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `CMPNY_NM` `CMPNY_NM` varchar(60) NOT NULL COMMENT '회사명' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `CXFC` `CXFC` varchar(50) DEFAULT NULL COMMENT '대표이사' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `DETAIL_ADRES` `DETAIL_ADRES` varchar(100) DEFAULT NULL COMMENT '상세주소' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_END_TELNO` `ENTRPRS_END_TELNO` varchar(4) NOT NULL COMMENT '기업끝전화번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_MBER_ID` `ENTRPRS_MBER_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '기업회원ID' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_MBER_PASSWORD_CNSR` `ENTRPRS_MBER_PASSWORD_CNSR` varchar(100) NOT NULL COMMENT '기업회원비밀번호정답' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_MBER_PASSWORD_HINT` `ENTRPRS_MBER_PASSWORD_HINT` varchar(100) NOT NULL COMMENT '기업회원비밀번호힌트' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_MBER_PASSWORD` `ENTRPRS_MBER_PASSWORD` varchar(200) DEFAULT NULL COMMENT '기업회원비밀번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_MBER_STTUS` `ENTRPRS_MBER_STTUS` varchar(15) DEFAULT NULL COMMENT '기업회원상태' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_MIDDLE_TELNO` `ENTRPRS_MIDDLE_TELNO` varchar(4) NOT NULL COMMENT '기업중간전화번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_SE_CODE` `ENTRPRS_SE_CODE` char(8) DEFAULT NULL COMMENT '기업구분코드' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ESNTL_ID` `ESNTL_ID` char(20) NOT NULL COMMENT '고유ID' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `FXNUM` `FXNUM` varchar(20) DEFAULT NULL COMMENT '팩스번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `GROUP_ID` `GROUP_ID` char(20) COMMENT '그룹ID' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `INDUTY_CODE` `INDUTY_CODE` char(1) DEFAULT NULL COMMENT '업종코드' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `JURIRNO` `JURIRNO` varchar(13) DEFAULT NULL COMMENT '법인등록번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `SBSCRB_DE` `SBSCRB_DE` datetime DEFAULT NULL COMMENT '가입일자' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ZIP` `ZIP` varchar(6) NOT NULL COMMENT '우편번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `LOCK_AT` `LOCK_AT` char(1) NULL COMMENT '잠금여부' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `LOCK_CNT` `LOCK_CNT` numeric(3) NULL COMMENT '잠금회수' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `LOCK_LAST_PNTTM` `LOCK_LAST_PNTTM` datetime NULL COMMENT '잠금최종시점' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `APPLCNT_ID` `APPLCNT_ID` varchar(20) NOT NULL COMMENT '신청인ID' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `CONFM_AT` `CONFM_AT` char(1) DEFAULT NULL COMMENT '승인여부' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `EVENT_ID` `EVENT_ID` char(20) NOT NULL COMMENT '행사ID' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `INFRML_SANCTN_ID` `INFRML_SANCTN_ID` char(20) DEFAULT NULL COMMENT '약식결재ID' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `REQST_DE` `REQST_DE` char(20) NOT NULL COMMENT '신청일' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `RETURN_RESN` `RETURN_RESN` varchar(1000) DEFAULT NULL COMMENT '반환사유' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `SANCTN_DT` `SANCTN_DT` datetime DEFAULT NULL COMMENT '결재일시' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `SANCTNER_ID` `SANCTNER_ID` varchar(20) NOT NULL COMMENT '결재자ID' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `BSNS_CODE` `BSNS_CODE` varchar(2) DEFAULT NULL COMMENT '사업코드' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `BSNS_YEAR` `BSNS_YEAR` char(4) DEFAULT NULL COMMENT '사업년도' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `CHARGER_NM` `CHARGER_NM` varchar(50) DEFAULT NULL COMMENT '담당자명' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `EVENT_CN` `EVENT_CN` varchar(1000) DEFAULT NULL COMMENT '행사내용' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `EVENT_CONFM_AT` `EVENT_CONFM_AT` char(1) DEFAULT NULL COMMENT '행사승인여부' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `EVENT_CONFM_DE` `EVENT_CONFM_DE` char(20) DEFAULT NULL COMMENT '행사승인날짜' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `EVENT_ID` `EVENT_ID` char(20) NOT NULL COMMENT '행사ID' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `EVENT_SVC_BGNDE` `EVENT_SVC_BGNDE` char(20) DEFAULT NULL COMMENT '행사서비스시작일' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `EVENT_SVC_ENDDE` `EVENT_SVC_ENDDE` char(20) DEFAULT NULL COMMENT '행사서비스종료일' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `EVENT_TY_CODE` `EVENT_TY_CODE` char(1) DEFAULT NULL COMMENT '행사유형코드' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `PRPARETG_CN` `PRPARETG_CN` varchar(2500) DEFAULT NULL COMMENT '준비물내용' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `SVC_USE_NMPR_CO` `SVC_USE_NMPR_CO` decimal(10,0) DEFAULT NULL COMMENT '서비스사용인원수' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `CT_OCCRRNC_AT` `CT_OCCRRNC_AT` char(1) DEFAULT NULL COMMENT '비용발생여부' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_AUSPC_INSTT_NM` `EVENT_AUSPC_INSTT_NM` varchar(60) DEFAULT NULL COMMENT '행사주최기관명' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_BGNDE` `EVENT_BGNDE` char(20) NOT NULL COMMENT '행사시작일' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_CN` `EVENT_CN` varchar(1000) DEFAULT NULL COMMENT '행사내용' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_ENDDE` `EVENT_ENDDE` char(20) NOT NULL COMMENT '행사종료일' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_ID` `EVENT_ID` char(20) NOT NULL COMMENT '행사ID' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_MNGT_INSTT_NM` `EVENT_MNGT_INSTT_NM` varchar(60) DEFAULT NULL COMMENT '행사주관기관명' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_NM` `EVENT_NM` varchar(60) NOT NULL COMMENT '행사명' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_PLACE` `EVENT_PLACE` varchar(200) NOT NULL COMMENT '행사장소' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_PURPS` `EVENT_PURPS` varchar(200) NOT NULL COMMENT '행사목적' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_SE` `EVENT_SE` varchar(2) NOT NULL COMMENT '행사구분' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `PARTCPT_CT` `PARTCPT_CT` decimal(16,0) DEFAULT NULL COMMENT '참가비용' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `PSNCPA` `PSNCPA` decimal(10,0) NOT NULL COMMENT '정원' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `RCEPT_BGNDE` `RCEPT_BGNDE` char(20) NOT NULL COMMENT '접수시작일' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `RCEPT_ENDDE` `RCEPT_ENDDE` char(20) NOT NULL COMMENT '접수종료일' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `REFRN_URL` `REFRN_URL` varchar(1024) DEFAULT NULL COMMENT '참조URL' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `AREA_NO` `AREA_NO` varchar(4) DEFAULT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `BRTHDY` `BRTHDY` char(20) DEFAULT NULL COMMENT '생일' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `EMAIL_ADRES` `EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '이메일주소' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `END_TELNO` `END_TELNO` varchar(4) DEFAULT NULL COMMENT '끝전화번호' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `EVENT_ID` `EVENT_ID` char(20) NOT NULL COMMENT '행사ID' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `EXTRL_HR_ID` `EXTRL_HR_ID` char(20) NOT NULL COMMENT '외부인사ID' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `EXTRL_HR_NM` `EXTRL_HR_NM` varchar(60) DEFAULT NULL COMMENT '외부인사명' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `MIDDLE_TELNO` `MIDDLE_TELNO` varchar(4) DEFAULT NULL COMMENT '중간전화번호' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `OCCP_TY_CODE` `OCCP_TY_CODE` char(1) DEFAULT NULL COMMENT '직업유형코드' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `PSITN_INSTT_NM` `PSITN_INSTT_NM` varchar(100) DEFAULT NULL COMMENT '소속기관명' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `SEXDSTN_CODE` `SEXDSTN_CODE` char(1) DEFAULT NULL COMMENT '성별코드' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `ANSWER_CN` `ANSWER_CN` varchar(2500) DEFAULT NULL COMMENT '답변내용' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `FAQ_ID` `FAQ_ID` char(20) NOT NULL COMMENT 'FAQID' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) NOT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `QESTN_CN` `QESTN_CN` varchar(2500) DEFAULT NULL COMMENT '질문내용' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `QESTN_SJ` `QESTN_SJ` varchar(255) DEFAULT NULL COMMENT '질문제목' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `QNA_PROCESS_STTUS_CODE` `QNA_PROCESS_STTUS_CODE` char(1) DEFAULT NULL COMMENT '질의응답처리상태코드' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTNFILE` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) NOT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNFILE` CHANGE `CREAT_DT` `CREAT_DT` datetime NOT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNFILE` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) NOT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `FILE_CN` `FILE_CN` mediumtext DEFAULT NULL COMMENT '파일내용' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `FILE_EXTSN` `FILE_EXTSN` varchar(20) NOT NULL COMMENT '파일확장자' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `FILE_SIZE` `FILE_SIZE` decimal(8,0) DEFAULT NULL COMMENT '파일크기' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `FILE_SN` `FILE_SN` decimal(10,0) NOT NULL COMMENT '파일순번' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `FILE_STRE_COURS` `FILE_STRE_COURS` varchar(2000) NOT NULL COMMENT '파일저장경로' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `ORIGNL_FILE_NM` `ORIGNL_FILE_NM` varchar(255) DEFAULT NULL COMMENT '원파일명' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `STRE_FILE_NM` `STRE_FILE_NM` varchar(255) NOT NULL COMMENT '저장파일명' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FILE_SYS_ID` `FILE_SYS_ID` char(20) NOT NULL COMMENT '파일시스템ID' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FILE_SYS_MANAGE_NM` `FILE_SYS_MANAGE_NM` varchar(255) NOT NULL COMMENT '파일시스템관리명' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FILE_SYS_NM` `FILE_SYS_NM` varchar(60) NOT NULL COMMENT '파일시스템명' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FILE_SYS_SIZE` `FILE_SYS_SIZE` decimal(8,0) NOT NULL COMMENT '파일시스템크기' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FILE_SYS_THRHLD` `FILE_SYS_THRHLD` decimal(8,0) NOT NULL COMMENT '파일시스템임계치' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FILE_SYS_USGQTY` `FILE_SYS_USGQTY` decimal(8,0) DEFAULT NULL COMMENT '파일시스템사용량' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FILE_SYS_ID` `FILE_SYS_ID` char(20) NOT NULL COMMENT '파일시스템ID' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FILE_SYS_MANAGE_NM` `FILE_SYS_MANAGE_NM` varchar(255) NOT NULL COMMENT '파일시스템관리명' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FILE_SYS_NM` `FILE_SYS_NM` varchar(60) NOT NULL COMMENT '파일시스템명' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FILE_SYS_SIZE` `FILE_SYS_SIZE` decimal(8,0) NOT NULL COMMENT '파일시스템크기' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FILE_SYS_THRHLD` `FILE_SYS_THRHLD` decimal(8,0) NOT NULL COMMENT '파일시스템임계치' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FILE_SYS_USGQTY` `FILE_SYS_USGQTY` decimal(8,0) DEFAULT NULL COMMENT '파일시스템사용량' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL DEFAULT '' COMMENT '로그ID' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `LOG_INFO` `LOG_INFO` varchar(2000) DEFAULT NULL COMMENT '로그정보' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTNFXTRSMANAGE` CHANGE `FXTRS_CODE` `FXTRS_CODE` char(14) NOT NULL COMMENT '비품코드' ; +ALTER TABLE `COMTNFXTRSMANAGE` CHANGE `FXTRS_NM` `FXTRS_NM` varchar(100) NOT NULL COMMENT '비품명' ; +ALTER TABLE `COMTNFXTRSMANAGE` CHANGE `MAKR_NM` `MAKR_NM` varchar(100) DEFAULT NULL COMMENT '제작자명' ; +ALTER TABLE `COMTNFXTRSMANAGE` CHANGE `PRICE` `PRICE` decimal(16,0) DEFAULT NULL COMMENT '가격' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `ADRES` `ADRES` varchar(100) NOT NULL COMMENT '주소' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `AREA_NO` `AREA_NO` varchar(4) NOT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `DETAIL_ADRES` `DETAIL_ADRES` varchar(100) DEFAULT NULL COMMENT '상세주소' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `END_TELNO` `END_TELNO` varchar(4) NOT NULL COMMENT '끝전화번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `ESNTL_ID` `ESNTL_ID` char(20) NOT NULL COMMENT '고유ID' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `GROUP_ID` `GROUP_ID` char(20) COMMENT '그룹ID' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `IHIDNUM` `IHIDNUM` varchar(200) DEFAULT NULL COMMENT '주민등록번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `MBER_EMAIL_ADRES` `MBER_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '회원이메일주소' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `MBER_FXNUM` `MBER_FXNUM` varchar(20) DEFAULT NULL COMMENT '회원팩스번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `MBER_ID` `MBER_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '회원ID' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `MBER_NM` `MBER_NM` varchar(50) NOT NULL COMMENT '회원명' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `MBER_STTUS` `MBER_STTUS` varchar(15) DEFAULT NULL COMMENT '회원상태' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `MBTLNUM` `MBTLNUM` varchar(20) NOT NULL COMMENT '이동전화번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `MIDDLE_TELNO` `MIDDLE_TELNO` varchar(4) NOT NULL COMMENT '중간전화번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `PASSWORD_CNSR` `PASSWORD_CNSR` varchar(100) DEFAULT NULL COMMENT '비밀번호정답' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `PASSWORD_HINT` `PASSWORD_HINT` varchar(100) DEFAULT NULL COMMENT '비밀번호힌트' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `PASSWORD` `PASSWORD` varchar(200) NOT NULL COMMENT '비밀번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `SBSCRB_DE` `SBSCRB_DE` datetime DEFAULT NULL COMMENT '가입일자' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `SEXDSTN_CODE` `SEXDSTN_CODE` char(1) DEFAULT NULL COMMENT '성별코드' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `ZIP` `ZIP` varchar(6) NOT NULL COMMENT '우편번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `LOCK_AT` `LOCK_AT` char(1) NULL COMMENT '잠금여부' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `LOCK_CNT` `LOCK_CNT` numeric(3) NULL COMMENT '잠금회수' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `LOCK_LAST_PNTTM` `LOCK_LAST_PNTTM` datetime NULL COMMENT '잠금최종시점' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `HPCM_DC` `HPCM_DC` varchar(2500) DEFAULT NULL COMMENT '도움말설명' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `HPCM_DFN` `HPCM_DFN` varchar(1000) DEFAULT NULL COMMENT '도움말정의' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `HPCM_ID` `HPCM_ID` char(20) NOT NULL COMMENT '도움말ID' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `HPCM_SE_CODE` `HPCM_SE_CODE` char(1) DEFAULT NULL COMMENT '도움말구분코드' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `HTTP_STTUS_CODE` `HTTP_STTUS_CODE` varchar(3) DEFAULT NULL COMMENT 'HTTP상태코드' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `SITE_URL` `SITE_URL` varchar(100) DEFAULT NULL COMMENT '사이트URL' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `SYS_ID` `SYS_ID` varchar(20) NOT NULL COMMENT '시스템ID' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `WEBSVC_KND` `WEBSVC_KND` varchar(10) DEFAULT NULL COMMENT '웹서비스종류' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `INDVDL_INFO_POLICY_AGRE_AT` `INDVDL_INFO_POLICY_AGRE_AT` char(1) DEFAULT NULL COMMENT '개인정보정책동의여부' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `INDVDL_INFO_POLICY_CN` `INDVDL_INFO_POLICY_CN` varchar(2500) DEFAULT NULL COMMENT '개인정보정책내용' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `INDVDL_INFO_POLICY_ID` `INDVDL_INFO_POLICY_ID` char(20) NOT NULL DEFAULT '' COMMENT '개인정보정책ID' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `INDVDL_INFO_POLICY_NM` `INDVDL_INFO_POLICY_NM` varchar(255) DEFAULT NULL COMMENT '개인정보정책명' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNINDVDLPGECNTNTS` CHANGE `CNTC_URL` `CNTC_URL` varchar(255) NOT NULL COMMENT '연계URL' ; +ALTER TABLE `COMTNINDVDLPGECNTNTS` CHANGE `CNTNTS_DC` `CNTNTS_DC` varchar(250) DEFAULT NULL COMMENT '컨텐츠설명' ; +ALTER TABLE `COMTNINDVDLPGECNTNTS` CHANGE `CNTNTS_ID` `CNTNTS_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '컨텐츠ID' ; +ALTER TABLE `COMTNINDVDLPGECNTNTS` CHANGE `CNTNTS_LINK_URL` `CNTNTS_LINK_URL` varchar(1000) DEFAULT NULL COMMENT '컨텐츠링크URL' ; +ALTER TABLE `COMTNINDVDLPGECNTNTS` CHANGE `CNTNTS_NM` `CNTNTS_NM` varchar(100) NOT NULL COMMENT '컨텐츠명' ; +ALTER TABLE `COMTNINDVDLPGECNTNTS` CHANGE `CNTNTS_USE_AT` `CNTNTS_USE_AT` char(1) NOT NULL COMMENT '컨텐츠사용여부' ; +ALTER TABLE `COMTNINDVDLPGEESTBS` CHANGE `ALGN_CO` `ALGN_CO` decimal(10,0) DEFAULT NULL COMMENT '배열개수' ; +ALTER TABLE `COMTNINDVDLPGEESTBS` CHANGE `ALGN_MTHD` `ALGN_MTHD` char(1) DEFAULT NULL COMMENT '배열방식' ; +ALTER TABLE `COMTNINDVDLPGEESTBS` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNINDVDLPGEESTBS` CHANGE `TITLEBAR_COLOR` `TITLEBAR_COLOR` char(7) DEFAULT NULL COMMENT '타이틀바색상' ; +ALTER TABLE `COMTNINDVDLPGEESTBS` CHANGE `UPEND_IMAGE` `UPEND_IMAGE` varchar(1024) DEFAULT NULL COMMENT '상단이미지' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `OCCRRNC_YEAR` `OCCRRNC_YEAR` char(4) NOT NULL COMMENT '발생년도' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `REMNDR_YRYC_CO` `REMNDR_YRYC_CO` decimal(5,1) DEFAULT NULL COMMENT '잔여연차개수' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `USE_YRYC_CO` `USE_YRYC_CO` decimal(5,1) DEFAULT NULL COMMENT '사용연차개수' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `USER_ID` `USER_ID` varchar(20) NOT NULL COMMENT '사용자ID' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `YRYC_OCCRRNC_CO` `YRYC_OCCRRNC_CO` decimal(5,1) DEFAULT NULL COMMENT '연차발생개수' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `APPLCNT_ID` `APPLCNT_ID` varchar(20) NOT NULL COMMENT '신청인ID' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `CONFM_AT` `CONFM_AT` char(1) NOT NULL COMMENT '승인여부' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `INFRML_SANCTN_ID` `INFRML_SANCTN_ID` char(20) NOT NULL COMMENT '약식결재ID' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `JOB_SE_CODE` `JOB_SE_CODE` char(3) NOT NULL COMMENT '업무구분코드' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `REQST_DE` `REQST_DE` char(20) NOT NULL COMMENT '신청일' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `RETURN_RESN` `RETURN_RESN` varchar(1000) DEFAULT NULL COMMENT '반환사유' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `SANCTN_DT` `SANCTN_DT` datetime DEFAULT NULL COMMENT '결재일시' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `SANCTNER_ID` `SANCTNER_ID` varchar(20) NOT NULL COMMENT '결재자ID' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `ABL_DE` `ABL_DE` char(20) DEFAULT NULL COMMENT '폐지일' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `ABL_ENNC` `ABL_ENNC` char(1) DEFAULT NULL COMMENT '폐지유무' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `ALL_INSTT_NM` `ALL_INSTT_NM` varchar(255) DEFAULT NULL COMMENT '전체기관명' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `BEST_INSTT_CODE` `BEST_INSTT_CODE` char(7) DEFAULT NULL COMMENT '최상위기관코드' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `BSIS_DE` `BSIS_DE` char(20) DEFAULT NULL COMMENT '기초일' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `CHANGE_DE` `CHANGE_DE` char(20) DEFAULT NULL COMMENT '변경일' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `CHANGE_TIME` `CHANGE_TIME` varchar(6) DEFAULT NULL COMMENT '변경시간' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `CREAT_DE` `CREAT_DE` char(20) DEFAULT NULL COMMENT '생성일' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `FXNUM` `FXNUM` varchar(20) DEFAULT NULL COMMENT '팩스번호' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `INSTT_ABRV_NM` `INSTT_ABRV_NM` varchar(50) DEFAULT NULL COMMENT '기관약어명' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `INSTT_CODE` `INSTT_CODE` char(7) NOT NULL COMMENT '기관코드' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `INSTT_ODR` `INSTT_ODR` char(2) DEFAULT NULL COMMENT '기관차수' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `INSTT_TY_LCLAS` `INSTT_TY_LCLAS` char(2) DEFAULT NULL COMMENT '기관유형대분류' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `INSTT_TY_MLSFC` `INSTT_TY_MLSFC` char(2) DEFAULT NULL COMMENT '기관유형중분류' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `INSTT_TY_SCLAS` `INSTT_TY_SCLAS` char(2) DEFAULT NULL COMMENT '기관유형소분류' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `LOWEST_INSTT_NM` `LOWEST_INSTT_NM` varchar(100) DEFAULT NULL COMMENT '최하위기관명' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `ODR` `ODR` char(1) DEFAULT NULL COMMENT '차수' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `ORD` `ORD` char(3) DEFAULT NULL COMMENT '서열' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `REPRSNT_INSTT_CODE` `REPRSNT_INSTT_CODE` char(7) DEFAULT NULL COMMENT '대표기관코드' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `SORT_ORDR` `SORT_ORDR` decimal(8,0) DEFAULT NULL COMMENT '정렬순서' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `TELNO` `TELNO` varchar(20) DEFAULT NULL COMMENT '전화번호' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `UPPER_INSTT_CODE` `UPPER_INSTT_CODE` char(7) DEFAULT NULL COMMENT '상위기관코드' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `ABL_DE` `ABL_DE` char(20) DEFAULT NULL COMMENT '폐지일' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `ABL_ENNC` `ABL_ENNC` char(1) DEFAULT NULL COMMENT '폐지유무' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `ALL_INSTT_NM` `ALL_INSTT_NM` varchar(255) DEFAULT NULL COMMENT '전체기관명' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `BEST_INSTT_CODE` `BEST_INSTT_CODE` char(7) DEFAULT NULL COMMENT '최상위기관코드' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `BSIS_DE` `BSIS_DE` char(20) DEFAULT NULL COMMENT '기초일' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `CHANGE_DE` `CHANGE_DE` char(20) DEFAULT NULL COMMENT '변경일' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `CHANGE_SE_CODE` `CHANGE_SE_CODE` varchar(2) DEFAULT NULL COMMENT '변경구분코드' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `CHANGE_TIME` `CHANGE_TIME` varchar(6) DEFAULT NULL COMMENT '변경시간' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `CREAT_DE` `CREAT_DE` char(20) DEFAULT NULL COMMENT '생성일' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `ETC_CODE` `ETC_CODE` char(2) DEFAULT NULL COMMENT '기타코드' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `FXNUM` `FXNUM` varchar(20) DEFAULT NULL COMMENT '팩스번호' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `INSTT_ABRV_NM` `INSTT_ABRV_NM` varchar(50) DEFAULT NULL COMMENT '기관약어명' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `INSTT_CODE` `INSTT_CODE` char(7) NOT NULL COMMENT '기관코드' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `INSTT_ODR` `INSTT_ODR` char(2) DEFAULT NULL COMMENT '기관차수' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `INSTT_TY_LCLAS` `INSTT_TY_LCLAS` char(2) DEFAULT NULL COMMENT '기관유형대분류' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `INSTT_TY_MLSFC` `INSTT_TY_MLSFC` char(2) DEFAULT NULL COMMENT '기관유형중분류' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `INSTT_TY_SCLAS` `INSTT_TY_SCLAS` char(2) DEFAULT NULL COMMENT '기관유형소분류' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `LOWEST_INSTT_NM` `LOWEST_INSTT_NM` varchar(100) DEFAULT NULL COMMENT '최하위기관명' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(20) NOT NULL COMMENT '발생일' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `ODR` `ODR` char(1) DEFAULT NULL COMMENT '차수' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `OPERT_SN` `OPERT_SN` decimal(10,0) NOT NULL COMMENT '작업일련번호' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `ORD` `ORD` char(3) DEFAULT NULL COMMENT '서열' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `PROCESS_SE` `PROCESS_SE` varchar(2) DEFAULT NULL COMMENT '처리구분' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `REPRSNT_INSTT_CODE` `REPRSNT_INSTT_CODE` char(7) DEFAULT NULL COMMENT '대표기관코드' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `SORT_ORDR` `SORT_ORDR` decimal(8,0) DEFAULT NULL COMMENT '정렬순서' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `TELNO` `TELNO` varchar(20) DEFAULT NULL COMMENT '전화번호' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `UPPER_INSTT_CODE` `UPPER_INSTT_CODE` char(7) DEFAULT NULL COMMENT '상위기관코드' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `INTNET_SVC_DC` `INTNET_SVC_DC` varchar(200) DEFAULT NULL COMMENT '인터넷서비스설명' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `INTNET_SVC_ID` `INTNET_SVC_ID` char(20) NOT NULL DEFAULT '' COMMENT '인터넷서비스ID' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `INTNET_SVC_NM` `INTNET_SVC_NM` varchar(20) NOT NULL COMMENT '인터넷서비스명' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `REFLCT_AT` `REFLCT_AT` char(1) NOT NULL COMMENT '반영여부' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `LEADER_ID` `LEADER_ID` varchar(20) NOT NULL COMMENT '간부ID' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `REPTIT_SE_CODE` `REPTIT_SE_CODE` char(1) DEFAULT NULL COMMENT '반복구분코드' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_BGNDE` `SCHDUL_BGNDE` char(20) DEFAULT NULL COMMENT '일정시작일' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_CHARGER_ID` `SCHDUL_CHARGER_ID` varchar(20) NOT NULL COMMENT '일정담당자ID' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_CN` `SCHDUL_CN` varchar(2500) NOT NULL COMMENT '일정내용' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_ENDDE` `SCHDUL_ENDDE` char(20) DEFAULT NULL COMMENT '일정종료일' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_ID` `SCHDUL_ID` char(20) NOT NULL COMMENT '일정ID' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_NM` `SCHDUL_NM` varchar(255) NOT NULL COMMENT '일정명' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_PLACE` `SCHDUL_PLACE` varchar(255) DEFAULT NULL COMMENT '일정장소' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_SE` `SCHDUL_SE` char(1) DEFAULT NULL COMMENT '일정구분' ; +ALTER TABLE `COMTNLEADERSCHDULDE` CHANGE `SCHDUL_DE` `SCHDUL_DE` char(8) NOT NULL COMMENT '일정일' ; +ALTER TABLE `COMTNLEADERSCHDULDE` CHANGE `SCHDUL_ID` `SCHDUL_ID` char(20) NOT NULL COMMENT '일정ID' ; +ALTER TABLE `COMTNLEADERSTTUS` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록자시점' ; +ALTER TABLE `COMTNLEADERSTTUS` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNLEADERSTTUS` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종등록자시점' ; +ALTER TABLE `COMTNLEADERSTTUS` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNLEADERSTTUS` CHANGE `LEADER_ID` `LEADER_ID` varchar(20) NOT NULL COMMENT '간부ID' ; +ALTER TABLE `COMTNLEADERSTTUS` CHANGE `LEADER_STTUS` `LEADER_STTUS` char(1) NOT NULL COMMENT '간부상태' ; +ALTER TABLE `COMTNLOGINLOG` CHANGE `CONECT_ID` `CONECT_ID` varchar(20) DEFAULT NULL COMMENT '접속ID' ; +ALTER TABLE `COMTNLOGINLOG` CHANGE `CONECT_IP` `CONECT_IP` varchar(23) DEFAULT NULL COMMENT '접속IP' ; +ALTER TABLE `COMTNLOGINLOG` CHANGE `CONECT_MTHD` `CONECT_MTHD` char(4) DEFAULT NULL COMMENT '접속방식' ; +ALTER TABLE `COMTNLOGINLOG` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNLOGINLOG` CHANGE `ERROR_CODE` `ERROR_CODE` char(3) DEFAULT NULL COMMENT '오류코드' ; +ALTER TABLE `COMTNLOGINLOG` CHANGE `ERROR_OCCRRNC_AT` `ERROR_OCCRRNC_AT` char(1) DEFAULT NULL COMMENT '오류발생여부' ; +ALTER TABLE `COMTNLOGINLOG` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL COMMENT '로그ID' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `DPLCT_PERM_AT` `DPLCT_PERM_AT` char(1) NOT NULL COMMENT '중복허용여부' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `IP_INFO` `IP_INFO` varchar(23) NOT NULL COMMENT 'IP정보' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `LMTT_AT` `LMTT_AT` char(1) NOT NULL COMMENT '제한여부' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `IMAGE_DC` `IMAGE_DC` varchar(200) DEFAULT NULL COMMENT '이미지설명' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `IMAGE_FILE` `IMAGE_FILE` varchar(60) DEFAULT NULL COMMENT '이미지파일' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `IMAGE_ID` `IMAGE_ID` char(20) NOT NULL DEFAULT '' COMMENT '이미지ID' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `IMAGE_NM` `IMAGE_NM` varchar(20) NOT NULL COMMENT '이미지명' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `IMAGE` `IMAGE` varchar(60) NOT NULL COMMENT '이미지' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `REFLCT_AT` `REFLCT_AT` char(1) NOT NULL COMMENT '반영여부' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `IMAGE_DC` `IMAGE_DC` varchar(200) DEFAULT NULL COMMENT '이미지설명' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `IMAGE_FILE` `IMAGE_FILE` varchar(60) DEFAULT NULL COMMENT '이미지파일' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `IMAGE_ID` `IMAGE_ID` char(20) NOT NULL DEFAULT '' COMMENT '이미지ID' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `IMAGE_NM` `IMAGE_NM` varchar(20) NOT NULL COMMENT '이미지명' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `IMAGE` `IMAGE` varchar(60) NOT NULL COMMENT '이미지' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `REFLCT_AT` `REFLCT_AT` char(1) NOT NULL COMMENT '반영여부' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `DRCT_MATTER_REGIST_DT` `DRCT_MATTER_REGIST_DT` varchar(14) DEFAULT NULL COMMENT '지시사항등록일시' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `DRCT_MATTER` `DRCT_MATTER` varchar(2500) DEFAULT NULL COMMENT '지시사항' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `REPORT_CN` `REPORT_CN` varchar(2500) NOT NULL COMMENT '보고내용' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `REPORT_DE` `REPORT_DE` char(20) NOT NULL COMMENT '보고일' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `REPORTR_ID` `REPORTR_ID` varchar(20) NOT NULL COMMENT '보고자ID' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `REPORTR_INQIRE_DT` `REPORTR_INQIRE_DT` varchar(14) DEFAULT NULL COMMENT '보고자조회일시' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `REPRT_ID` `REPRT_ID` char(6) NOT NULL DEFAULT '' COMMENT '보고서ID' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `REPRT_SJ` `REPRT_SJ` varchar(255) NOT NULL COMMENT '보고서제목' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `WRTER_ID` `WRTER_ID` varchar(20) NOT NULL COMMENT '작성자ID' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `TODO_BEGIN_TIME` `TODO_BEGIN_TIME` varchar(14) NOT NULL COMMENT '할일시작시간' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `TODO_CN` `TODO_CN` varchar(2500) NOT NULL COMMENT '할일내용' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `TODO_END_TIME` `TODO_END_TIME` varchar(14) NOT NULL COMMENT '할일종료시간' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `TODO_ID` `TODO_ID` char(20) NOT NULL COMMENT '할일ID' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `TODO_SJ` `TODO_SJ` varchar(255) NOT NULL COMMENT '할일제목' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `WRTER_ID` `WRTER_ID` varchar(20) NOT NULL COMMENT '작성자ID' ; +ALTER TABLE `COMTNMENUCREATDTLS` CHANGE `AUTHOR_CODE` `AUTHOR_CODE` varchar(30) NOT NULL COMMENT '권한코드' ; +ALTER TABLE `COMTNMENUCREATDTLS` CHANGE `MAPNG_CREAT_ID` `MAPNG_CREAT_ID` varchar(30) COMMENT '매핑생성ID' ; +ALTER TABLE `COMTNMENUCREATDTLS` CHANGE `MENU_NO` `MENU_NO` decimal(20,0) NOT NULL COMMENT '메뉴번호' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `MENU_DC` `MENU_DC` varchar(250) DEFAULT NULL COMMENT '메뉴설명' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `MENU_NM` `MENU_NM` varchar(60) NOT NULL COMMENT '메뉴명' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `MENU_NO` `MENU_NO` decimal(20,0) NOT NULL COMMENT '메뉴번호' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `MENU_ORDR` `MENU_ORDR` decimal(5,0) NOT NULL COMMENT '메뉴순서' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `PROGRM_FILE_NM` `PROGRM_FILE_NM` varchar(60) NOT NULL COMMENT '프로그램파일명' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `RELATE_IMAGE_NM` `RELATE_IMAGE_NM` varchar(60) DEFAULT NULL COMMENT '관계이미지명' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `RELATE_IMAGE_PATH` `RELATE_IMAGE_PATH` varchar(100) DEFAULT NULL COMMENT '관계이미지경로' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `UPPER_MENU_NO` `UPPER_MENU_NO` decimal(20,0) COMMENT '상위메뉴번호' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `ATDRN_CO` `ATDRN_CO` decimal(10,0) DEFAULT NULL COMMENT '참석자수' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `CLSDR_MTG_AT` `CLSDR_MTG_AT` char(1) DEFAULT NULL COMMENT '비공개회의여부' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `ETC_MATTER` `ETC_MATTER` varchar(1000) DEFAULT NULL COMMENT '기타사항' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MNAER_DEPT_ID` `MNAER_DEPT_ID` varchar(20) DEFAULT NULL COMMENT '주관자부서ID' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MNAER_ID` `MNAER_ID` varchar(20) DEFAULT NULL COMMENT '주관자ID' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MNGT_DEPT_ID` `MNGT_DEPT_ID` varchar(20) DEFAULT NULL COMMENT '주관부서ID' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_AT` `MTG_AT` char(1) DEFAULT NULL COMMENT '회의여부' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_BEGIN_TM` `MTG_BEGIN_TM` varchar(14) DEFAULT NULL COMMENT '회의시작시간' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_CO` `MTG_CO` decimal(5,0) DEFAULT NULL COMMENT '회의수' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_DE` `MTG_DE` char(20) DEFAULT NULL COMMENT '회의일' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_END_TM` `MTG_END_TM` varchar(14) DEFAULT NULL COMMENT '회의종료시간' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_ID` `MTG_ID` char(20) NOT NULL COMMENT '회의ID' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_MTR_CN` `MTG_MTR_CN` varchar(1000) DEFAULT NULL COMMENT '회의안건내용' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_NM` `MTG_NM` varchar(255) DEFAULT NULL COMMENT '회의명' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_PLACE` `MTG_PLACE` varchar(255) DEFAULT NULL COMMENT '회의장소' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_RESULT_CN` `MTG_RESULT_CN` varchar(1000) DEFAULT NULL COMMENT '회의결과내용' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_RESULT_ENNC` `MTG_RESULT_ENNC` char(1) DEFAULT NULL COMMENT '회의결과유무' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_SN` `MTG_SN` decimal(10,0) DEFAULT NULL COMMENT '회의순번' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `NONATDRN_CO` `NONATDRN_CO` decimal(10,0) DEFAULT NULL COMMENT '불참자수' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `READNG_AT` `READNG_AT` char(1) DEFAULT NULL COMMENT '열람여부' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `READNG_BGNDE` `READNG_BGNDE` char(20) DEFAULT NULL COMMENT '열람개시일' ; +ALTER TABLE `COMTNMTGPLACEFXTRS` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNMTGPLACEFXTRS` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNMTGPLACEFXTRS` CHANGE `FXTRS_CODE` `FXTRS_CODE` char(14) NOT NULL COMMENT '비품코드' ; +ALTER TABLE `COMTNMTGPLACEFXTRS` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNMTGPLACEFXTRS` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNMTGPLACEFXTRS` CHANGE `MTGRUM_ID` `MTGRUM_ID` char(20) NOT NULL COMMENT '회의실ID' ; +ALTER TABLE `COMTNMTGPLACEFXTRS` CHANGE `QY` `QY` decimal(20,0) NOT NULL COMMENT '량' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `ACEPTNC_POSBL_NMPR` `ACEPTNC_POSBL_NMPR` decimal(10,0) NOT NULL COMMENT '수용가능인원' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `LC_DETAIL` `LC_DETAIL` varchar(200) DEFAULT NULL COMMENT '위치상세' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `LC_SE` `LC_SE` char(5) DEFAULT NULL COMMENT '위치구분' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `MTGRUM_ID` `MTGRUM_ID` char(20) NOT NULL COMMENT '회의실ID' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `MTGRUM_NM` `MTGRUM_NM` varchar(255) NOT NULL COMMENT '회의실명' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `OPN_BEGIN_TM` `OPN_BEGIN_TM` varchar(6) NOT NULL COMMENT '개방시작시각' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `OPN_END_TM` `OPN_END_TM` varchar(6) NOT NULL COMMENT '개방종료시각' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `ATNDNC_NMPR` `ATNDNC_NMPR` decimal(10,0) DEFAULT NULL COMMENT '참석인원' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `MTG_CN` `MTG_CN` varchar(2500) DEFAULT NULL COMMENT '회의내용' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `MTG_SJ` `MTG_SJ` varchar(100) NOT NULL COMMENT '회의제목' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `MTGRUM_ID` `MTGRUM_ID` char(20) NOT NULL COMMENT '회의실ID' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `RESVE_BEGIN_TM` `RESVE_BEGIN_TM` varchar(14) NOT NULL COMMENT '예약시작시각' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `RESVE_DE` `RESVE_DE` char(8) NOT NULL COMMENT '예약일' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `RESVE_END_TM` `RESVE_END_TM` varchar(14) NOT NULL COMMENT '예약종료시각' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `RESVE_ID` `RESVE_ID` char(20) NOT NULL COMMENT '예약ID' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `RSVCTM_ID` `RSVCTM_ID` varchar(20) NOT NULL COMMENT '예약자ID' ; +ALTER TABLE `COMTNNCRD` CHANGE `ADRES` `ADRES` varchar(100) DEFAULT NULL COMMENT '주소' ; +ALTER TABLE `COMTNNCRD` CHANGE `AREA_NO` `AREA_NO` varchar(4) DEFAULT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `CLSF_NM` `CLSF_NM` varchar(60) DEFAULT NULL COMMENT '직급명' ; +ALTER TABLE `COMTNNCRD` CHANGE `CMPNY_NM` `CMPNY_NM` varchar(60) DEFAULT NULL COMMENT '회사명' ; +ALTER TABLE `COMTNNCRD` CHANGE `DEPT_NM` `DEPT_NM` varchar(60) DEFAULT NULL COMMENT '부서명' ; +ALTER TABLE `COMTNNCRD` CHANGE `DETAIL_ADRES` `DETAIL_ADRES` varchar(100) DEFAULT NULL COMMENT '상세주소' ; +ALTER TABLE `COMTNNCRD` CHANGE `EMAIL_ADRES` `EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '이메일주소' ; +ALTER TABLE `COMTNNCRD` CHANGE `END_MBTLNUM` `END_MBTLNUM` varchar(4) DEFAULT NULL COMMENT '끝이동전화번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `END_TELNO` `END_TELNO` varchar(4) DEFAULT NULL COMMENT '끝전화번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `EXTRL_USER_AT` `EXTRL_USER_AT` char(1) DEFAULT NULL COMMENT '외부사용자여부' ; +ALTER TABLE `COMTNNCRD` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNCRD` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNCRD` CHANGE `IDNTFC_NO` `IDNTFC_NO` varchar(10) DEFAULT NULL COMMENT '식별번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNCRD` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNCRD` CHANGE `MBTLNUM` `MBTLNUM` varchar(20) DEFAULT NULL COMMENT '이동전화번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `MIDDLE_MBTLNUM` `MIDDLE_MBTLNUM` varchar(4) DEFAULT NULL COMMENT '중간이동전화번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `MIDDLE_TELNO` `MIDDLE_TELNO` varchar(4) DEFAULT NULL COMMENT '중간전화번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `NATION_NO` `NATION_NO` varchar(10) DEFAULT NULL COMMENT '국가번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `NCRD_ID` `NCRD_ID` char(20) NOT NULL COMMENT '명함ID' ; +ALTER TABLE `COMTNNCRD` CHANGE `NCRD_TRGTER_ID` `NCRD_TRGTER_ID` varchar(20) DEFAULT NULL COMMENT '명함대상자ID' ; +ALTER TABLE `COMTNNCRD` CHANGE `NM` `NM` varchar(50) NOT NULL COMMENT '이름' ; +ALTER TABLE `COMTNNCRD` CHANGE `OFCPS_NM` `OFCPS_NM` varchar(60) DEFAULT NULL COMMENT '직위명' ; +ALTER TABLE `COMTNNCRD` CHANGE `OTHBC_AT` `OTHBC_AT` char(1) NOT NULL COMMENT '공개여부' ; +ALTER TABLE `COMTNNCRD` CHANGE `RM` `RM` varchar(2500) DEFAULT NULL COMMENT '비고' ; +ALTER TABLE `COMTNNCRD` CHANGE `TELNO` `TELNO` varchar(20) DEFAULT NULL COMMENT '전화번호' ; +ALTER TABLE `COMTNNCRDUSER` CHANGE `CREAT_DT` `CREAT_DT` datetime NOT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNNCRDUSER` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNNCRDUSER` CHANGE `NCRD_ID` `NCRD_ID` char(20) NOT NULL COMMENT '명함ID' ; +ALTER TABLE `COMTNNCRDUSER` CHANGE `REGIST_SE_CODE` `REGIST_SE_CODE` char(6) NOT NULL COMMENT '등록구분코드' ; +ALTER TABLE `COMTNNCRDUSER` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) NOT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `NEWS_CN` `NEWS_CN` varchar(2500) DEFAULT NULL COMMENT '뉴스내용' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `NEWS_ID` `NEWS_ID` char(20) NOT NULL COMMENT '뉴스ID' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `NEWS_ORIGIN` `NEWS_ORIGIN` varchar(250) DEFAULT NULL COMMENT '뉴스출처' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `NEWS_SJ` `NEWS_SJ` varchar(100) DEFAULT NULL COMMENT '뉴스제목' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `NTCE_AT` `NTCE_AT` char(1) DEFAULT NULL COMMENT '게시여부' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `NTCE_DE` `NTCE_DE` char(20) DEFAULT NULL COMMENT '게시일' ; +ALTER TABLE `COMTNNOTE` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNNOTE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNOTE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNOTE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNOTE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNOTE` CHANGE `NOTE_CN` `NOTE_CN` varchar(4000) DEFAULT NULL COMMENT '쪽지내용' ; +ALTER TABLE `COMTNNOTE` CHANGE `NOTE_ID` `NOTE_ID` char(20) NOT NULL COMMENT '쪽지ID' ; +ALTER TABLE `COMTNNOTE` CHANGE `NOTE_SJ` `NOTE_SJ` varchar(255) DEFAULT NULL COMMENT '쪽지제목' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `NOTE_ID` `NOTE_ID` char(20) NOT NULL COMMENT '쪽지ID' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `NOTE_RECPTN_ID` `NOTE_RECPTN_ID` char(20) NOT NULL COMMENT '쪽지수신ID' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `NOTE_TRNSMIT_ID` `NOTE_TRNSMIT_ID` char(20) NOT NULL COMMENT '쪽지송신ID' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `OPEN_YN` `OPEN_YN` char(1) DEFAULT NULL COMMENT '개봉여부' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `RCVER_ID` `RCVER_ID` char(20) DEFAULT NULL COMMENT '수신자ID' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `RECPTN_SE` `RECPTN_SE` char(1) DEFAULT NULL COMMENT '수신구분' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `DELETE_AT` `DELETE_AT` char(8) DEFAULT NULL COMMENT '삭제여부' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `NOTE_ID` `NOTE_ID` char(20) NOT NULL COMMENT '쪽지ID' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `NOTE_TRNSMIT_ID` `NOTE_TRNSMIT_ID` char(20) NOT NULL COMMENT '쪽지송신ID' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `TRNSMITER_ID` `TRNSMITER_ID` char(20) DEFAULT NULL COMMENT '송신자ID' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `BH_NTCN_INTRVL` `BH_NTCN_INTRVL` varchar(20) NOT NULL COMMENT '사전알림간격' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `NTCN_CN` `NTCN_CN` varchar(100) NOT NULL COMMENT '알림내용' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `NTCN_NO` `NTCN_NO` decimal(20,0) NOT NULL DEFAULT '0' COMMENT '알림번호' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `NTCN_SJ` `NTCN_SJ` varchar(60) NOT NULL COMMENT '알림제목' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `NTCN_TM` `NTCN_TM` varchar(14) NOT NULL COMMENT '알림시간' ; +ALTER TABLE `COMTNNTTSTATS` CHANGE `AVRG_RDCNT` `AVRG_RDCNT` decimal(10,0) DEFAULT NULL COMMENT '평균조회수' ; +ALTER TABLE `COMTNNTTSTATS` CHANGE `MUMM_RDCNT` `MUMM_RDCNT` decimal(10,0) DEFAULT NULL COMMENT '최소조회수' ; +ALTER TABLE `COMTNNTTSTATS` CHANGE `NTCE_CO` `NTCE_CO` decimal(10,0) DEFAULT NULL COMMENT '게시개수' ; +ALTER TABLE `COMTNNTTSTATS` CHANGE `STATS_ID` `STATS_ID` char(18) NOT NULL DEFAULT '' COMMENT '통계ID' ; +ALTER TABLE `COMTNNTTSTATS` CHANGE `TOP_NTCR_ID` `TOP_NTCR_ID` varchar(20) DEFAULT NULL COMMENT '최고게시자ID' ; +ALTER TABLE `COMTNNTTSTATS` CHANGE `TOP_RDCNT` `TOP_RDCNT` decimal(10,0) DEFAULT NULL COMMENT '최고조회수' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `DOMN_NM_SERVER` `DOMN_NM_SERVER` varchar(23) DEFAULT NULL COMMENT '도메인명서버' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `GTWY` `GTWY` varchar(23) DEFAULT NULL COMMENT '게이트웨이' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `MANAGE_IEM` `MANAGE_IEM` char(2) DEFAULT NULL COMMENT '관리항목' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `NTWRK_ID` `NTWRK_ID` char(20) NOT NULL COMMENT '네트워크ID' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `NTWRK_IP` `NTWRK_IP` varchar(23) DEFAULT NULL COMMENT '네트워크IP' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `RGSDE` `RGSDE` datetime DEFAULT NULL COMMENT '등록일' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `SUBNET` `SUBNET` varchar(23) DEFAULT NULL COMMENT '서브넷' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `USER_NM` `USER_NM` varchar(60) DEFAULT NULL COMMENT '사용자명' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) NOT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `SYS_IP` `SYS_IP` varchar(23) NOT NULL COMMENT '시스템IP' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `SYS_NM` `SYS_NM` varchar(255) NOT NULL COMMENT '시스템명' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `SYS_PORT` `SYS_PORT` decimal(5,0) NOT NULL COMMENT '시스템포트' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) NOT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL DEFAULT '' COMMENT '로그ID' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `LOG_INFO` `LOG_INFO` varchar(2000) DEFAULT NULL COMMENT '로그정보' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `SYS_IP` `SYS_IP` varchar(23) NOT NULL COMMENT '시스템IP' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `SYS_NM` `SYS_NM` varchar(255) NOT NULL COMMENT '시스템명' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `SYS_PORT` `SYS_PORT` decimal(5,0) NOT NULL COMMENT '시스템포트' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `ONLINE_MNL_DC` `ONLINE_MNL_DC` mediumtext DEFAULT NULL COMMENT '온라인메뉴얼설명' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `ONLINE_MNL_DFN` `ONLINE_MNL_DFN` mediumtext DEFAULT NULL COMMENT '온라인메뉴얼정의' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `ONLINE_MNL_ID` `ONLINE_MNL_ID` char(20) NOT NULL DEFAULT '' COMMENT '온라인메뉴얼ID' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `ONLINE_MNL_NM` `ONLINE_MNL_NM` varchar(255) DEFAULT NULL COMMENT '온라인메뉴얼명' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `ONLINE_MNL_SE_CODE` `ONLINE_MNL_SE_CODE` char(3) DEFAULT NULL COMMENT '온라인메뉴얼구분코드' ; +ALTER TABLE `COMTNONLINEPOLLIEM` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNONLINEPOLLIEM` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNONLINEPOLLIEM` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNONLINEPOLLIEM` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNONLINEPOLLIEM` CHANGE `POLL_ID` `POLL_ID` char(20) NOT NULL COMMENT 'POLLID' ; +ALTER TABLE `COMTNONLINEPOLLIEM` CHANGE `POLL_IEM_ID` `POLL_IEM_ID` char(20) NOT NULL COMMENT 'POLL항목ID' ; +ALTER TABLE `COMTNONLINEPOLLIEM` CHANGE `POLL_IEM_NM` `POLL_IEM_NM` varchar(255) DEFAULT NULL COMMENT 'POLL항목명' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `POLL_ATMC_DSUSE_ENNC` `POLL_ATMC_DSUSE_ENNC` char(1) DEFAULT NULL COMMENT 'POLL자동폐기유무' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `POLL_BGNDE` `POLL_BGNDE` char(10) DEFAULT NULL COMMENT 'POLL시작일' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `POLL_DSUSE_ENNC` `POLL_DSUSE_ENNC` char(1) DEFAULT NULL COMMENT 'POLL폐기유무' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `POLL_ENDDE` `POLL_ENDDE` char(10) DEFAULT NULL COMMENT 'POLL종료일' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `POLL_ID` `POLL_ID` char(20) NOT NULL COMMENT 'POLLID' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `POLL_KND` `POLL_KND` char(3) DEFAULT NULL COMMENT 'POLL종류' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `POLL_NM` `POLL_NM` varchar(255) DEFAULT NULL COMMENT 'POLL명' ; +ALTER TABLE `COMTNONLINEPOLLRESULT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNONLINEPOLLRESULT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNONLINEPOLLRESULT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNONLINEPOLLRESULT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNONLINEPOLLRESULT` CHANGE `POLL_ID` `POLL_ID` char(20) NOT NULL COMMENT 'POLLID' ; +ALTER TABLE `COMTNONLINEPOLLRESULT` CHANGE `POLL_IEM_ID` `POLL_IEM_ID` char(20) NOT NULL COMMENT 'POLL항목ID' ; +ALTER TABLE `COMTNONLINEPOLLRESULT` CHANGE `POLL_RESULT_ID` `POLL_RESULT_ID` char(20) NOT NULL DEFAULT '' COMMENT 'POLL결과ID' ; +ALTER TABLE `COMTNORGNZTINFO` CHANGE `ORGNZT_DC` `ORGNZT_DC` varchar(100) DEFAULT NULL COMMENT '조직설명' ; +ALTER TABLE `COMTNORGNZTINFO` CHANGE `ORGNZT_ID` `ORGNZT_ID` char(20) NOT NULL DEFAULT '' COMMENT '조직ID' ; +ALTER TABLE `COMTNORGNZTINFO` CHANGE `ORGNZT_NM` `ORGNZT_NM` varchar(20) NOT NULL COMMENT '조직명' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `FILE_URL` `FILE_URL` varchar(1024) DEFAULT NULL COMMENT '파일URL' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `NTCE_AT` `NTCE_AT` char(1) DEFAULT NULL COMMENT '게시여부' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `NTCE_BGNDE` `NTCE_BGNDE` char(20) DEFAULT NULL COMMENT '게시시작일' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `NTCE_ENDDE` `NTCE_ENDDE` char(20) DEFAULT NULL COMMENT '게시종료일' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `POPUP_ID` `POPUP_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '팝업ID' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `POPUP_SJ_NM` `POPUP_SJ_NM` varchar(1024) DEFAULT NULL COMMENT '팝업제목명' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `POPUP_VRTICL_LC` `POPUP_VRTICL_LC` varchar(20) DEFAULT NULL COMMENT '팝업세로위치' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `POPUP_VRTICL_SIZE` `POPUP_VRTICL_SIZE` decimal(10,0) DEFAULT NULL COMMENT '팝업세로사이즈' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `POPUP_WIDTH_LC` `POPUP_WIDTH_LC` varchar(20) DEFAULT NULL COMMENT '팝업가로위치' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `POPUP_WIDTH_SIZE` `POPUP_WIDTH_SIZE` decimal(10,0) DEFAULT NULL COMMENT '팝업가로사이즈' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `STOPVEW_SETUP_AT` `STOPVEW_SETUP_AT` char(1) DEFAULT NULL COMMENT '그만보기설정여부' ; +ALTER TABLE `COMTNPRIVACYLOG` CHANGE `INQIRE_DT` `INQIRE_DT` datetime NOT NULL COMMENT '조회일시' ; +ALTER TABLE `COMTNPRIVACYLOG` CHANGE `INQIRE_INFO` `INQIRE_INFO` varchar(100) DEFAULT NULL COMMENT '조회 정보 명' ; +ALTER TABLE `COMTNPRIVACYLOG` CHANGE `REQUST_ID` `REQUST_ID` varchar(20) NOT NULL COMMENT '요청 ID' ; +ALTER TABLE `COMTNPRIVACYLOG` CHANGE `RQESTER_ID` `RQESTER_ID` varchar(20) DEFAULT NULL COMMENT '요청자아이디' ; +ALTER TABLE `COMTNPRIVACYLOG` CHANGE `RQESTER_IP` `RQESTER_IP` varchar(23) DEFAULT NULL COMMENT '요청아이피' ; +ALTER TABLE `COMTNPRIVACYLOG` CHANGE `SRVC_NM` `SRVC_NM` varchar(500) DEFAULT NULL COMMENT '서비스 명' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `PROCS_ID` `PROCS_ID` char(20) NOT NULL COMMENT '프로세스ID' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `PROCS_NM` `PROCS_NM` varchar(60) DEFAULT NULL COMMENT '프로세스명' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `PROCS_STTUS` `PROCS_STTUS` varchar(3) DEFAULT NULL COMMENT '프로세스상태' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL DEFAULT '' COMMENT '로그ID' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `LOG_INFO` `LOG_INFO` varchar(2000) DEFAULT NULL COMMENT '로그정보' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `PROCS_ID` `PROCS_ID` char(20) NOT NULL COMMENT '프로세스ID' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `PROCS_NM` `PROCS_NM` varchar(60) DEFAULT NULL COMMENT '프로세스명' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `PROCS_STTUS` `PROCS_STTUS` varchar(3) DEFAULT NULL COMMENT '프로세스상태' ; +ALTER TABLE `COMTNPROGRMLIST` CHANGE `PROGRM_DC` `PROGRM_DC` varchar(200) DEFAULT NULL COMMENT '프로그램설명' ; +ALTER TABLE `COMTNPROGRMLIST` CHANGE `PROGRM_FILE_NM` `PROGRM_FILE_NM` varchar(60) NOT NULL DEFAULT '' COMMENT '프로그램파일명' ; +ALTER TABLE `COMTNPROGRMLIST` CHANGE `PROGRM_KOREAN_NM` `PROGRM_KOREAN_NM` varchar(60) DEFAULT NULL COMMENT '프로그램한글명' ; +ALTER TABLE `COMTNPROGRMLIST` CHANGE `PROGRM_STRE_PATH` `PROGRM_STRE_PATH` varchar(100) NOT NULL COMMENT '프로그램저장경로' ; +ALTER TABLE `COMTNPROGRMLIST` CHANGE `URL` `URL` varchar(100) NOT NULL COMMENT 'URL' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `PROXY_ID` `PROXY_ID` char(20) NOT NULL COMMENT '프록시ID' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `PROXY_IP` `PROXY_IP` varchar(23) DEFAULT NULL COMMENT '프록시IP' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `PROXY_NM` `PROXY_NM` varchar(60) DEFAULT NULL COMMENT '프록시명' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `PROXY_PORT` `PROXY_PORT` varchar(10) DEFAULT NULL COMMENT '프록시포트' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `SVC_DC` `SVC_DC` varchar(2000) DEFAULT NULL COMMENT '서비스설명' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `SVC_IP` `SVC_IP` varchar(23) DEFAULT NULL COMMENT '서비스IP' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `SVC_PORT` `SVC_PORT` varchar(10) DEFAULT NULL COMMENT '서비스포트' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `SVC_STTUS` `SVC_STTUS` char(2) DEFAULT NULL COMMENT '서비스상태' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `TRGET_SVC_NM` `TRGET_SVC_NM` varchar(255) DEFAULT NULL COMMENT '대상서비스명' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `CLNT_IP` `CLNT_IP` varchar(23) DEFAULT NULL COMMENT '클라이언트IP' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `CLNT_PORT` `CLNT_PORT` varchar(10) DEFAULT NULL COMMENT '클라이언트포트' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `CONECT_TIME` `CONECT_TIME` datetime DEFAULT NULL COMMENT '접속시간' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL DEFAULT '' COMMENT '로그ID' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `PROXY_ID` `PROXY_ID` char(20) NOT NULL COMMENT '프록시ID' ; +ALTER TABLE `COMTNQAINFO` CHANGE `ANSWER_CN` `ANSWER_CN` varchar(2500) DEFAULT NULL COMMENT '답변내용' ; +ALTER TABLE `COMTNQAINFO` CHANGE `ANSWER_DE` `ANSWER_DE` char(20) DEFAULT NULL COMMENT '답변일자' ; +ALTER TABLE `COMTNQAINFO` CHANGE `AREA_NO` `AREA_NO` varchar(4) DEFAULT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNQAINFO` CHANGE `EMAIL_ADRES` `EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '이메일주소' ; +ALTER TABLE `COMTNQAINFO` CHANGE `EMAIL_ANSWER_AT` `EMAIL_ANSWER_AT` char(1) DEFAULT NULL COMMENT '메일답변여부' ; +ALTER TABLE `COMTNQAINFO` CHANGE `END_TELNO` `END_TELNO` varchar(4) DEFAULT NULL COMMENT '끝전화번호' ; +ALTER TABLE `COMTNQAINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNQAINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNQAINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNQAINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNQAINFO` CHANGE `MIDDLE_TELNO` `MIDDLE_TELNO` varchar(4) DEFAULT NULL COMMENT '중간전화번호' ; +ALTER TABLE `COMTNQAINFO` CHANGE `QA_ID` `QA_ID` char(20) NOT NULL COMMENT 'QAID' ; +ALTER TABLE `COMTNQAINFO` CHANGE `QESTN_CN` `QESTN_CN` varchar(2500) DEFAULT NULL COMMENT '질문내용' ; +ALTER TABLE `COMTNQAINFO` CHANGE `QESTN_SJ` `QESTN_SJ` varchar(255) DEFAULT NULL COMMENT '질문제목' ; +ALTER TABLE `COMTNQAINFO` CHANGE `QNA_PROCESS_STTUS_CODE` `QNA_PROCESS_STTUS_CODE` char(1) DEFAULT NULL COMMENT '질의응답처리상태코드' ; +ALTER TABLE `COMTNQAINFO` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTNQAINFO` CHANGE `WRITNG_DE` `WRITNG_DE` char(20) DEFAULT NULL COMMENT '작성일' ; +ALTER TABLE `COMTNQAINFO` CHANGE `WRITNG_PASSWORD` `WRITNG_PASSWORD` varchar(20) DEFAULT NULL COMMENT '작성비밀번호' ; +ALTER TABLE `COMTNQAINFO` CHANGE `WRTER_NM` `WRTER_NM` varchar(20) DEFAULT NULL COMMENT '작성자명' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QESTNR_ID` `QESTNR_ID` char(20) NOT NULL COMMENT '설문지ID' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QUSTNR_BGNDE` `QUSTNR_BGNDE` char(20) DEFAULT NULL COMMENT '설문시작일' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QUSTNR_ENDDE` `QUSTNR_ENDDE` char(20) DEFAULT NULL COMMENT '설문종료일' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QUSTNR_PURPS` `QUSTNR_PURPS` varchar(1000) DEFAULT NULL COMMENT '설문목적' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QUSTNR_SJ` `QUSTNR_SJ` varchar(255) DEFAULT NULL COMMENT '설문제목' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QUSTNR_TMPLAT_ID` `QUSTNR_TMPLAT_ID` char(20) NOT NULL COMMENT '설문템플릿ID' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QUSTNR_TRGET` `QUSTNR_TRGET` varchar(1000) DEFAULT NULL COMMENT '설문대상' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QUSTNR_WRITNG_GUIDANCE_CN` `QUSTNR_WRITNG_GUIDANCE_CN` varchar(2000) DEFAULT NULL COMMENT '설문작성안내내용' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `ETC_ANSWER_AT` `ETC_ANSWER_AT` char(1) DEFAULT NULL COMMENT '기타답변여부' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `IEM_CN` `IEM_CN` varchar(1000) DEFAULT NULL COMMENT '항목내용' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `IEM_SN` `IEM_SN` decimal(5,0) DEFAULT NULL COMMENT '항목순번' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `QESTNR_ID` `QESTNR_ID` char(20) NOT NULL COMMENT '설문지ID' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `QUSTNR_IEM_ID` `QUSTNR_IEM_ID` varchar(20) NOT NULL COMMENT '설문항목ID' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `QUSTNR_QESITM_ID` `QUSTNR_QESITM_ID` char(20) NOT NULL COMMENT '설문문항ID' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `QUSTNR_TMPLAT_ID` `QUSTNR_TMPLAT_ID` char(20) NOT NULL COMMENT '설문템플릿ID' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) NOT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `MXMM_CHOISE_CO` `MXMM_CHOISE_CO` decimal(5,0) DEFAULT NULL COMMENT '최대선택개수' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `QESTN_CN` `QESTN_CN` varchar(2500) DEFAULT NULL COMMENT '질문내용' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `QESTN_SN` `QESTN_SN` decimal(10,0) DEFAULT NULL COMMENT '질문순번' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `QESTN_TY_CODE` `QESTN_TY_CODE` char(1) DEFAULT NULL COMMENT '질문유형코드' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `QESTNR_ID` `QESTNR_ID` char(20) NOT NULL COMMENT '설문지ID' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `QUSTNR_QESITM_ID` `QUSTNR_QESITM_ID` char(20) NOT NULL COMMENT '설문문항ID' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `QUSTNR_TMPLAT_ID` `QUSTNR_TMPLAT_ID` char(20) NOT NULL COMMENT '설문템플릿ID' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `AREA_NO` `AREA_NO` varchar(4) DEFAULT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `BRTHDY` `BRTHDY` char(20) DEFAULT NULL COMMENT '생일' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `END_TELNO` `END_TELNO` varchar(4) DEFAULT NULL COMMENT '끝전화번호' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `MIDDLE_TELNO` `MIDDLE_TELNO` varchar(4) DEFAULT NULL COMMENT '중간전화번호' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `OCCP_TY_CODE` `OCCP_TY_CODE` char(1) DEFAULT NULL COMMENT '직업유형코드' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `QESTNR_ID` `QESTNR_ID` char(20) NOT NULL COMMENT '설문지ID' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `QUSTNR_RESPOND_ID` `QUSTNR_RESPOND_ID` char(20) NOT NULL COMMENT '설문응답자ID' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `QUSTNR_TMPLAT_ID` `QUSTNR_TMPLAT_ID` char(20) NOT NULL COMMENT '설문템플릿ID' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `RESPOND_NM` `RESPOND_NM` varchar(50) DEFAULT NULL COMMENT '응답자명' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `SEXDSTN_CODE` `SEXDSTN_CODE` char(1) DEFAULT NULL COMMENT '성별코드' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `ETC_ANSWER_CN` `ETC_ANSWER_CN` varchar(1000) DEFAULT NULL COMMENT '기타답변내용' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `QESTNR_ID` `QESTNR_ID` char(20) NOT NULL COMMENT '설문지ID' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `QUSTNR_IEM_ID` `QUSTNR_IEM_ID` varchar(20) DEFAULT NULL COMMENT '설문항목ID' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `QUSTNR_QESITM_ID` `QUSTNR_QESITM_ID` char(20) NOT NULL COMMENT '설문문항ID' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `QUSTNR_RSPNS_RESULT_ID` `QUSTNR_RSPNS_RESULT_ID` char(20) NOT NULL COMMENT '설문응답결과ID' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `QUSTNR_TMPLAT_ID` `QUSTNR_TMPLAT_ID` char(20) NOT NULL COMMENT '설문템플릿ID' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `RESPOND_ANSWER_CN` `RESPOND_ANSWER_CN` varchar(1000) DEFAULT NULL COMMENT '응답자답변내용' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `RESPOND_NM` `RESPOND_NM` varchar(50) DEFAULT NULL COMMENT '응답자명' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `QUSTNR_TMPLAT_DC` `QUSTNR_TMPLAT_DC` varchar(2000) DEFAULT NULL COMMENT '설문템플릿설명' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `QUSTNR_TMPLAT_ID` `QUSTNR_TMPLAT_ID` char(20) NOT NULL COMMENT '설문템플릿ID' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `QUSTNR_TMPLAT_IMAGE_INFO` `QUSTNR_TMPLAT_IMAGE_INFO` blob DEFAULT NULL COMMENT '설문템플릿이미지정보' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `QUSTNR_TMPLAT_PATH_NM` `QUSTNR_TMPLAT_PATH_NM` varchar(100) DEFAULT NULL COMMENT '설문템플릿경로명' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `QUSTNR_TMPLAT_TY` `QUSTNR_TMPLAT_TY` varchar(100) DEFAULT NULL COMMENT '설문템플릿유형' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `RECENT_SRCHWRD_CO` `RECENT_SRCHWRD_CO` decimal(20,0) DEFAULT NULL COMMENT '최근검색어개수' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `RECENT_SRCHWRD_ID` `RECENT_SRCHWRD_ID` char(20) NOT NULL COMMENT '최근검색어ID' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `RECENT_SRCHWRD_NM` `RECENT_SRCHWRD_NM` varchar(255) DEFAULT NULL COMMENT '최근검색어명' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `SRCHWRD_MANAGE_ID` `SRCHWRD_MANAGE_ID` char(20) NOT NULL COMMENT '검색어관리ID' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `SRCHWRD_CONECT_URL` `SRCHWRD_CONECT_URL` varchar(255) DEFAULT NULL COMMENT '검색어접속URL' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `SRCHWRD_MANAGE_ID` `SRCHWRD_MANAGE_ID` char(20) NOT NULL DEFAULT '' COMMENT '검색어관리ID' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `SRCHWRD_MANAGE_NM` `SRCHWRD_MANAGE_NM` varchar(255) DEFAULT NULL COMMENT '검색어관리명' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `USER_SEARCH_AT` `USER_SEARCH_AT` char(1) DEFAULT NULL COMMENT '사용자검색여부' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `CONFM_DE` `CONFM_DE` char(20) DEFAULT NULL COMMENT '승인일' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `RECOMEND_CONFM_AT` `RECOMEND_CONFM_AT` char(1) DEFAULT NULL COMMENT '추천승인여부' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `RECOMEND_RESN_CN` `RECOMEND_RESN_CN` varchar(1000) DEFAULT NULL COMMENT '추천사유내용' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `RECOMEND_SITE_DC` `RECOMEND_SITE_DC` varchar(1000) DEFAULT NULL COMMENT '추천사이트설명' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `RECOMEND_SITE_ID` `RECOMEND_SITE_ID` char(20) NOT NULL COMMENT '추천사이트ID' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `RECOMEND_SITE_NM` `RECOMEND_SITE_NM` varchar(100) DEFAULT NULL COMMENT '추천사이트명' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `RECOMEND_SITE_URL` `RECOMEND_SITE_URL` varchar(255) DEFAULT NULL COMMENT '추천사이트URL' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `REPRT_ID` `REPRT_ID` char(6) NOT NULL DEFAULT '' COMMENT '보고서ID' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `REPRT_NM` `REPRT_NM` varchar(20) NOT NULL COMMENT '보고서명' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `REPRT_STTUS` `REPRT_STTUS` char(2) NOT NULL COMMENT '보고서상태' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `REPRT_TY` `REPRT_TY` char(2) DEFAULT NULL COMMENT '보고서유형' ; +ALTER TABLE `COMTNRESTDE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNRESTDE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNRESTDE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNRESTDE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNRESTDE` CHANGE `RESTDE_DC` `RESTDE_DC` varchar(200) DEFAULT NULL COMMENT '휴일설명' ; +ALTER TABLE `COMTNRESTDE` CHANGE `RESTDE_NM` `RESTDE_NM` varchar(60) DEFAULT NULL COMMENT '휴일명' ; +ALTER TABLE `COMTNRESTDE` CHANGE `RESTDE_NO` `RESTDE_NO` decimal(6,0) NOT NULL COMMENT '휴일번호' ; +ALTER TABLE `COMTNRESTDE` CHANGE `RESTDE_SE_CODE` `RESTDE_SE_CODE` varchar(2) DEFAULT NULL COMMENT '휴일구분코드' ; +ALTER TABLE `COMTNRESTDE` CHANGE `RESTDE` `RESTDE` char(8) DEFAULT NULL COMMENT '휴일' ; +ALTER TABLE `COMTNROLEINFO` CHANGE `ROLE_CODE` `ROLE_CODE` varchar(50) NOT NULL DEFAULT '' COMMENT '롤코드' ; +ALTER TABLE `COMTNROLEINFO` CHANGE `ROLE_CREAT_DE` `ROLE_CREAT_DE` char(20) NOT NULL COMMENT '롤생성일' ; +ALTER TABLE `COMTNROLEINFO` CHANGE `ROLE_DC` `ROLE_DC` varchar(200) DEFAULT NULL COMMENT '롤설명' ; +ALTER TABLE `COMTNROLEINFO` CHANGE `ROLE_NM` `ROLE_NM` varchar(60) NOT NULL COMMENT '롤명' ; +ALTER TABLE `COMTNROLEINFO` CHANGE `ROLE_PTTRN` `ROLE_PTTRN` varchar(300) DEFAULT NULL COMMENT '롤패턴' ; +ALTER TABLE `COMTNROLEINFO` CHANGE `ROLE_SORT` `ROLE_SORT` varchar(10) DEFAULT NULL COMMENT '롤정렬' ; +ALTER TABLE `COMTNROLEINFO` CHANGE `ROLE_TY` `ROLE_TY` varchar(80) DEFAULT NULL COMMENT '롤유형' ; +ALTER TABLE `COMTNROLES_HIERARCHY` CHANGE `CHLDRN_ROLE` `CHLDRN_ROLE` varchar(30) NOT NULL COMMENT '자식롤' ; +ALTER TABLE `COMTNROLES_HIERARCHY` CHANGE `PARNTS_ROLE` `PARNTS_ROLE` varchar(30) NOT NULL COMMENT '부모롤' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `INFOWINDOW` `INFOWINDOW` varchar(20) DEFAULT NULL COMMENT '안내창 도움말' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `LA` `LA` varchar(48) DEFAULT NULL COMMENT '지도 위도' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `LO` `LO` varchar(48) DEFAULT NULL COMMENT '지도 경도' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `MARKERLA` `MARKERLA` varchar(48) DEFAULT NULL COMMENT '마커 위도' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `MARKERLO` `MARKERLO` varchar(48) DEFAULT NULL COMMENT '마커 경도' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `ROUGHMAP_ID` `ROUGHMAP_ID` varchar(75) NOT NULL COMMENT '약도 ID' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `ROUGHMAPADDRESS` `ROUGHMAPADDRESS` varchar(200) DEFAULT NULL COMMENT '약도상세주소' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `ROUGHMAPSJ` `ROUGHMAPSJ` varchar(75) NOT NULL COMMENT '약도 제목' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `ZOOMLEVEL` `ZOOMLEVEL` varchar(10) DEFAULT NULL COMMENT '지도 확대수준' ; +ALTER TABLE `COMTNRSS` CHANGE `BDT_DC` `BDT_DC` varchar(4000) DEFAULT NULL COMMENT '본문설명' ; +ALTER TABLE `COMTNRSS` CHANGE `BDT_ETC_TAG` `BDT_ETC_TAG` varchar(255) DEFAULT NULL COMMENT '본문기타태그' ; +ALTER TABLE `COMTNRSS` CHANGE `BDT_LINK` `BDT_LINK` varchar(255) DEFAULT NULL COMMENT '본문링크' ; +ALTER TABLE `COMTNRSS` CHANGE `BDT_TAG` `BDT_TAG` varchar(255) DEFAULT NULL COMMENT '본문태그' ; +ALTER TABLE `COMTNRSS` CHANGE `BDT_TITLE` `BDT_TITLE` varchar(255) DEFAULT NULL COMMENT '본문TITLE' ; +ALTER TABLE `COMTNRSS` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNRSS` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNRSS` CHANGE `HDER_DC` `HDER_DC` varchar(4000) NOT NULL COMMENT '헤더설명' ; +ALTER TABLE `COMTNRSS` CHANGE `HDER_ETC` `HDER_ETC` varchar(250) DEFAULT NULL COMMENT '헤더기타' ; +ALTER TABLE `COMTNRSS` CHANGE `HDER_LINK` `HDER_LINK` varchar(255) NOT NULL COMMENT '헤더링크' ; +ALTER TABLE `COMTNRSS` CHANGE `HDER_TAG` `HDER_TAG` varchar(255) DEFAULT NULL COMMENT '헤더태그' ; +ALTER TABLE `COMTNRSS` CHANGE `HDER_TITLE` `HDER_TITLE` varchar(255) NOT NULL COMMENT '헤더TITLE' ; +ALTER TABLE `COMTNRSS` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNRSS` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNRSS` CHANGE `RSS_ID` `RSS_ID` char(20) NOT NULL COMMENT 'RSSID' ; +ALTER TABLE `COMTNRSS` CHANGE `TRGET_SVC_LIST_CO` `TRGET_SVC_LIST_CO` decimal(5,0) NOT NULL COMMENT '대상서비스목록개수' ; +ALTER TABLE `COMTNRSS` CHANGE `TRGET_SVC_NM` `TRGET_SVC_NM` varchar(255) NOT NULL COMMENT '대상서비스명' ; +ALTER TABLE `COMTNRSS` CHANGE `TRGET_SVC_TABLE` `TRGET_SVC_TABLE` varchar(255) NOT NULL COMMENT '대상서비스테이블' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `CONFM_AT` `CONFM_AT` char(1) DEFAULT NULL COMMENT '승인여부' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `INFRML_SANCTN_ID` `INFRML_SANCTN_ID` char(20) DEFAULT NULL COMMENT '약식결재ID' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `PBLEN_CN` `PBLEN_CN` varchar(1000) DEFAULT NULL COMMENT '공적내용' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `RETURN_RESN` `RETURN_RESN` varchar(1000) DEFAULT NULL COMMENT '반환사유' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `RWARD_CODE` `RWARD_CODE` char(2) NOT NULL COMMENT '포상코드' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `RWARD_DE` `RWARD_DE` char(20) NOT NULL COMMENT '포상일' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `RWARD_ID` `RWARD_ID` char(20) NOT NULL COMMENT '포상ID' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `RWARD_NM` `RWARD_NM` varchar(255) NOT NULL COMMENT '포상명' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `RWARDWNR_ID` `RWARDWNR_ID` varchar(20) NOT NULL COMMENT '포상자ID' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `SANCTN_DT` `SANCTN_DT` datetime DEFAULT NULL COMMENT '결재일시' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `SANCTNER_ID` `SANCTNER_ID` varchar(20) NOT NULL COMMENT '결재자ID' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `REPTIT_SE_CODE` `REPTIT_SE_CODE` char(1) DEFAULT NULL COMMENT '반복구분코드' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_BGNDE` `SCHDUL_BGNDE` char(20) DEFAULT NULL COMMENT '일정시작일' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_CHARGER_ID` `SCHDUL_CHARGER_ID` varchar(20) DEFAULT NULL COMMENT '일정담당자ID' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_CN` `SCHDUL_CN` varchar(2500) DEFAULT NULL COMMENT '일정내용' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_DEPT_ID` `SCHDUL_DEPT_ID` varchar(20) DEFAULT NULL COMMENT '일정부서ID' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_ENDDE` `SCHDUL_ENDDE` char(20) DEFAULT NULL COMMENT '일정종료일' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_ID` `SCHDUL_ID` char(20) NOT NULL COMMENT '일정ID' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_IPCR_CODE` `SCHDUL_IPCR_CODE` char(1) DEFAULT NULL COMMENT '일정중요도코드' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_KND_CODE` `SCHDUL_KND_CODE` char(1) DEFAULT NULL COMMENT '일정종류코드' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_NM` `SCHDUL_NM` varchar(255) DEFAULT NULL COMMENT '일정명' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_PLACE` `SCHDUL_PLACE` varchar(255) DEFAULT NULL COMMENT '일정장소' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_SE` `SCHDUL_SE` char(1) DEFAULT NULL COMMENT '일정구분' ; +ALTER TABLE `COMTNSCRAP` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNSCRAP` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSCRAP` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSCRAP` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSCRAP` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSCRAP` CHANGE `NTT_ID` `NTT_ID` decimal(20,0) NOT NULL COMMENT '게시물ID' ; +ALTER TABLE `COMTNSCRAP` CHANGE `SCRAP_ID` `SCRAP_ID` char(20) NOT NULL COMMENT '스크랩ID' ; +ALTER TABLE `COMTNSCRAP` CHANGE `SCRAP_NM` `SCRAP_NM` varchar(100) NOT NULL COMMENT '스크랩명' ; +ALTER TABLE `COMTNSCRAP` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `CPU_INFO` `CPU_INFO` varchar(2000) DEFAULT NULL COMMENT 'CPU정보' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `ETC_INFO` `ETC_INFO` varchar(250) DEFAULT NULL COMMENT '기타정보' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `HDDISK` `HDDISK` char(18) DEFAULT NULL COMMENT 'HDDISK' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `MORY_INFO` `MORY_INFO` varchar(2000) DEFAULT NULL COMMENT '메모리정보' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `OPERSYSM_INFO` `OPERSYSM_INFO` varchar(2000) DEFAULT NULL COMMENT '운영체제정보' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `RGSDE` `RGSDE` datetime DEFAULT NULL COMMENT '등록일' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `SERVER_EQPMN_ID` `SERVER_EQPMN_ID` varchar(20) NOT NULL COMMENT '서버장비ID' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `SERVER_EQPMN_IP` `SERVER_EQPMN_IP` varchar(23) DEFAULT NULL COMMENT '서버장비IP' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `SERVER_EQPMN_MNGR` `SERVER_EQPMN_MNGR` varchar(60) DEFAULT NULL COMMENT '서버장비관리자' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `SERVER_EQPMN_NM` `SERVER_EQPMN_NM` varchar(60) DEFAULT NULL COMMENT '서버장비명' ; +ALTER TABLE `COMTNSERVEREQPMNRELATE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSERVEREQPMNRELATE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSERVEREQPMNRELATE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSERVEREQPMNRELATE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSERVEREQPMNRELATE` CHANGE `SERVER_EQPMN_ID` `SERVER_EQPMN_ID` varchar(20) NOT NULL COMMENT '서버장비ID' ; +ALTER TABLE `COMTNSERVEREQPMNRELATE` CHANGE `SERVER_ID` `SERVER_ID` char(20) NOT NULL COMMENT '서버ID' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `RGSDE` `RGSDE` datetime DEFAULT NULL COMMENT '등록일' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `SERVER_ID` `SERVER_ID` char(20) NOT NULL COMMENT '서버ID' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `SERVER_KND` `SERVER_KND` char(2) DEFAULT NULL COMMENT '서버종류' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `SERVER_NM` `SERVER_NM` varchar(60) DEFAULT NULL COMMENT '서버명' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `CPU_USE_RT` `CPU_USE_RT` decimal(3,0) DEFAULT NULL COMMENT 'CPU사용율' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL DEFAULT '' COMMENT '로그ID' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `LOG_INFO` `LOG_INFO` varchar(2000) DEFAULT NULL COMMENT '로그정보' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `MORY_USE_RT` `MORY_USE_RT` decimal(3,0) DEFAULT NULL COMMENT '메모리사용율' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `SERVER_EQPMN_ID` `SERVER_EQPMN_ID` varchar(20) NOT NULL COMMENT '서버장비ID' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `SERVER_ID` `SERVER_ID` char(20) NOT NULL COMMENT '서버ID' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `SVC_STTUS` `SVC_STTUS` char(2) DEFAULT NULL COMMENT '서비스상태' ; +ALTER TABLE `COMTNSITELIST` CHANGE `ACTVTY_AT` `ACTVTY_AT` char(1) DEFAULT NULL COMMENT '활성여부' ; +ALTER TABLE `COMTNSITELIST` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSITELIST` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSITELIST` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSITELIST` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSITELIST` CHANGE `SITE_DC` `SITE_DC` varchar(1000) DEFAULT NULL COMMENT '사이트설명' ; +ALTER TABLE `COMTNSITELIST` CHANGE `SITE_ID` `SITE_ID` char(20) NOT NULL COMMENT '사이트ID' ; +ALTER TABLE `COMTNSITELIST` CHANGE `SITE_NM` `SITE_NM` varchar(100) DEFAULT NULL COMMENT '사이트명' ; +ALTER TABLE `COMTNSITELIST` CHANGE `SITE_THEMA_CL_CODE` `SITE_THEMA_CL_CODE` varchar(2) DEFAULT NULL COMMENT '사이트주제분류코드' ; +ALTER TABLE `COMTNSITELIST` CHANGE `SITE_URL` `SITE_URL` varchar(100) DEFAULT NULL COMMENT '사이트URL' ; +ALTER TABLE `COMTNSITELIST` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNSITEMAP` CHANGE `CREATR_ID` `CREATR_ID` varchar(20) NOT NULL COMMENT '생성자ID' ; +ALTER TABLE `COMTNSITEMAP` CHANGE `MAPNG_CREAT_ID` `MAPNG_CREAT_ID` varchar(30) NOT NULL COMMENT '매핑생성ID' ; +ALTER TABLE `COMTNSITEMAP` CHANGE `MAPNG_FILE_NM` `MAPNG_FILE_NM` varchar(60) NOT NULL COMMENT '매핑파일명' ; +ALTER TABLE `COMTNSITEMAP` CHANGE `MAPNG_FILE_PATH` `MAPNG_FILE_PATH` varchar(100) NOT NULL COMMENT '매핑파일경로' ; +ALTER TABLE `COMTNSMS` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSMS` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSMS` CHANGE `SMS_ID` `SMS_ID` char(20) NOT NULL DEFAULT '' COMMENT '문자메시지ID' ; +ALTER TABLE `COMTNSMS` CHANGE `TRNSMIS_CN` `TRNSMIS_CN` varchar(80) NOT NULL COMMENT '전송내용' ; +ALTER TABLE `COMTNSMS` CHANGE `TRNSMIS_TELNO` `TRNSMIS_TELNO` varchar(12) NOT NULL COMMENT '전송전화번호' ; +ALTER TABLE `COMTNSMSRECPTN` CHANGE `RECPTN_TELNO` `RECPTN_TELNO` varchar(12) NOT NULL DEFAULT '' COMMENT '수신전화번호' ; +ALTER TABLE `COMTNSMSRECPTN` CHANGE `RESULT_CODE` `RESULT_CODE` varchar(4) DEFAULT NULL COMMENT '결과코드' ; +ALTER TABLE `COMTNSMSRECPTN` CHANGE `RESULT_MSSAGE` `RESULT_MSSAGE` varchar(4000) DEFAULT NULL COMMENT '결과메시지' ; +ALTER TABLE `COMTNSMSRECPTN` CHANGE `SMS_ID` `SMS_ID` char(20) NOT NULL COMMENT '문자메시지ID' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `INFO_PROVD_AGRE_CN` `INFO_PROVD_AGRE_CN` mediumtext DEFAULT NULL COMMENT '정보제공동의내용' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `USE_STPLAT_CN` `USE_STPLAT_CN` mediumtext DEFAULT NULL COMMENT '이용약관내용' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `USE_STPLAT_ID` `USE_STPLAT_ID` char(20) NOT NULL COMMENT '이용약관ID' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `USE_STPLAT_NM` `USE_STPLAT_NM` varchar(100) DEFAULT NULL COMMENT '이용약관명' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `NTT_ID` `NTT_ID` decimal(20,0) NOT NULL COMMENT '게시물ID' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `PASSWORD` `PASSWORD` varchar(200) DEFAULT NULL COMMENT '비밀번호' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `STSFDG_CN` `STSFDG_CN` varchar(200) DEFAULT NULL COMMENT '만족도내용' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `STSFDG_NO` `STSFDG_NO` decimal(20,0) NOT NULL COMMENT '만족도번호' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `STSFDG` `STSFDG` decimal(1,0) NOT NULL COMMENT '만족도' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `WRTER_ID` `WRTER_ID` varchar(20) DEFAULT NULL COMMENT '작성자ID' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `WRTER_NM` `WRTER_NM` varchar(20) DEFAULT NULL COMMENT '작성자명' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `FTP_ID` `FTP_ID` varchar(20) DEFAULT NULL COMMENT 'FTPID' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `FTP_PASSWORD` `FTP_PASSWORD` varchar(20) DEFAULT NULL COMMENT 'FTP비밀번호' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `REFLCT_AT` `REFLCT_AT` char(1) DEFAULT NULL COMMENT '반영여부' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `SERVER_ID` `SERVER_ID` char(20) NOT NULL COMMENT '서버ID' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `SERVER_IP` `SERVER_IP` varchar(23) DEFAULT NULL COMMENT '서버IP' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `SERVER_NM` `SERVER_NM` varchar(60) DEFAULT NULL COMMENT '서버명' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `SERVER_PORT` `SERVER_PORT` varchar(10) DEFAULT NULL COMMENT '서버포트' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `SYNCHRN_LC` `SYNCHRN_LC` varchar(255) DEFAULT NULL COMMENT '동기화위치' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `ERROR_CO` `ERROR_CO` decimal(10,0) DEFAULT NULL COMMENT '오류수' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `ERROR_CODE` `ERROR_CODE` char(3) DEFAULT NULL COMMENT '오류코드' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `ERROR_SE` `ERROR_SE` char(1) DEFAULT NULL COMMENT '오류구분' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `INSTT_CODE` `INSTT_CODE` char(7) DEFAULT NULL COMMENT '기관코드' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `JOB_SE_CODE` `JOB_SE_CODE` char(3) DEFAULT NULL COMMENT '업무구분코드' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `METHOD_NM` `METHOD_NM` varchar(60) DEFAULT NULL COMMENT '메서드명' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` datetime DEFAULT NULL COMMENT '발생일' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `PROCESS_CO` `PROCESS_CO` decimal(10,0) DEFAULT NULL COMMENT '처리수' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `PROCESS_SE_CODE` `PROCESS_SE_CODE` char(3) DEFAULT NULL COMMENT '처리구분코드' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `PROCESS_TIME` `PROCESS_TIME` varchar(14) DEFAULT NULL COMMENT '처리시간' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `REQUST_ID` `REQUST_ID` varchar(20) NOT NULL COMMENT '요청ID' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `RQESTER_ID` `RQESTER_ID` varchar(20) DEFAULT NULL COMMENT '요청자ID' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `RQESTER_IP` `RQESTER_IP` varchar(23) DEFAULT NULL COMMENT '요청자IP' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `RSPNS_CODE` `RSPNS_CODE` char(3) DEFAULT NULL COMMENT '응답코드' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `SVC_NM` `SVC_NM` varchar(255) DEFAULT NULL COMMENT '서비스명' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `TRGET_MENU_NM` `TRGET_MENU_NM` varchar(255) DEFAULT NULL COMMENT '대상메뉴명' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `CNTC_ID` `CNTC_ID` char(8) NOT NULL DEFAULT '' COMMENT '연계ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `CNTC_NM` `CNTC_NM` varchar(100) DEFAULT NULL COMMENT '연계명' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `CNTC_TY` `CNTC_TY` varchar(60) DEFAULT NULL COMMENT '연계유형' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `CONFM_AT` `CONFM_AT` char(1) DEFAULT NULL COMMENT '승인여부' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `PROVD_INSTT_ID` `PROVD_INSTT_ID` char(8) DEFAULT NULL COMMENT '제공기관ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `PROVD_SVC_ID` `PROVD_SVC_ID` char(8) DEFAULT NULL COMMENT '제공서비스ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `PROVD_SYS_ID` `PROVD_SYS_ID` char(8) DEFAULT NULL COMMENT '제공시스템ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `REQUST_INSTT_ID` `REQUST_INSTT_ID` char(8) DEFAULT NULL COMMENT '요청기관ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `REQUST_SYS_ID` `REQUST_SYS_ID` char(8) DEFAULT NULL COMMENT '요청시스템ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `VALID_BGNDE` `VALID_BGNDE` char(20) DEFAULT NULL COMMENT '유효시작일자' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `VALID_ENDDE` `VALID_ENDDE` char(20) DEFAULT NULL COMMENT '유효종료일자' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `TMPLAT_COURS` `TMPLAT_COURS` varchar(2000) DEFAULT NULL COMMENT '템플릿경로' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `TMPLAT_ID` `TMPLAT_ID` char(20) NOT NULL DEFAULT '' COMMENT '템플릿ID' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `TMPLAT_NM` `TMPLAT_NM` varchar(255) DEFAULT NULL COMMENT '템플릿명' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `TMPLAT_SE_CODE` `TMPLAT_SE_CODE` char(6) DEFAULT NULL COMMENT '템플릿구분코드' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `PROCESS_STTUS` `PROCESS_STTUS` char(1) DEFAULT NULL COMMENT '처리상태' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_DC` `TROBL_DC` varchar(2000) DEFAULT NULL COMMENT '장애설명' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_ID` `TROBL_ID` char(20) NOT NULL COMMENT '장애ID' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_KND` `TROBL_KND` char(2) DEFAULT NULL COMMENT '장애종류' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_NM` `TROBL_NM` varchar(60) DEFAULT NULL COMMENT '장애명' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_OCCRRNC_TIME` `TROBL_OCCRRNC_TIME` varchar(14) DEFAULT NULL COMMENT '장애발생시간' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_OPETR_NM` `TROBL_OPETR_NM` varchar(60) DEFAULT NULL COMMENT '장애처리자명' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_PROCESS_RESULT` `TROBL_PROCESS_RESULT` varchar(2000) DEFAULT NULL COMMENT '장애처리결과' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_PROCESS_TIME` `TROBL_PROCESS_TIME` varchar(14) DEFAULT NULL COMMENT '장애처리시간' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_REQUST_TIME` `TROBL_REQUST_TIME` varchar(14) DEFAULT NULL COMMENT '장애요청시간' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_RQESTER_NM` `TROBL_RQESTER_NM` varchar(60) DEFAULT NULL COMMENT '장애요청자명' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `CNTC_ID` `CNTC_ID` char(8) DEFAULT NULL COMMENT '연계ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(20) DEFAULT NULL COMMENT '발생일' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `PROVD_INSTT_ID` `PROVD_INSTT_ID` char(8) DEFAULT NULL COMMENT '제공기관ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `PROVD_SVC_ID` `PROVD_SVC_ID` char(8) DEFAULT NULL COMMENT '제공서비스ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `PROVD_SYS_ID` `PROVD_SYS_ID` char(8) DEFAULT NULL COMMENT '제공시스템ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `REQUST_ID` `REQUST_ID` varchar(20) NOT NULL COMMENT '요청ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `REQUST_INSTT_ID` `REQUST_INSTT_ID` char(8) DEFAULT NULL COMMENT '요청기관ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `REQUST_RECPTN_TM` `REQUST_RECPTN_TM` varchar(14) DEFAULT NULL COMMENT '요청수신시각' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `REQUST_SYS_ID` `REQUST_SYS_ID` char(8) DEFAULT NULL COMMENT '요청시스템ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `REQUST_TRNSMIT_TM` `REQUST_TRNSMIT_TM` varchar(14) DEFAULT NULL COMMENT '요청송신시각' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `RESULT_CODE` `RESULT_CODE` varchar(4) DEFAULT NULL COMMENT '결과코드' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `RESULT_MSSAGE` `RESULT_MSSAGE` varchar(4000) DEFAULT NULL COMMENT '결과메시지' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `RQESTER_ID` `RQESTER_ID` varchar(20) DEFAULT NULL COMMENT '요청자ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `RSPNS_RECPTN_TM` `RSPNS_RECPTN_TM` varchar(14) DEFAULT NULL COMMENT '응답수신시각' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `RSPNS_TRNSMIT_TM` `RSPNS_TRNSMIT_TM` varchar(14) DEFAULT NULL COMMENT '응답송신시각' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `TRSMRCV_SE_CODE` `TRSMRCV_SE_CODE` char(3) DEFAULT NULL COMMENT '송수신구분코드' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `CNTC_ID` `CNTC_ID` char(8) NOT NULL COMMENT '연계ID' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `TEST_CLASS_NM` `TEST_CLASS_NM` varchar(255) DEFAULT NULL COMMENT '테스트클래스명' ; +ALTER TABLE `COMTNTWITTER` CHANGE `CNSMR_KEY` `CNSMR_KEY` varchar(50) NOT NULL COMMENT '사용자열쇠' ; +ALTER TABLE `COMTNTWITTER` CHANGE `CNSMR_SECRET` `CNSMR_SECRET` varchar(50) NOT NULL COMMENT '사용자비밀' ; +ALTER TABLE `COMTNTWITTER` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNTWITTER` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNTWITTER` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNTWITTER` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNTWITTER` CHANGE `USER_ID` `USER_ID` varchar(20) NOT NULL COMMENT '사용자ID' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `UNITY_LINK_DC` `UNITY_LINK_DC` varchar(2500) DEFAULT NULL COMMENT '통합링크설명' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `UNITY_LINK_GROUP` `UNITY_LINK_GROUP` varchar(255) DEFAULT NULL COMMENT '통합링크그룹' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `UNITY_LINK_ID` `UNITY_LINK_ID` char(20) NOT NULL DEFAULT '' COMMENT '통합링크ID' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `UNITY_LINK_NM` `UNITY_LINK_NM` varchar(255) DEFAULT NULL COMMENT '통합링크명' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `UNITY_LINK_SE_CODE` `UNITY_LINK_SE_CODE` char(3) DEFAULT NULL COMMENT '통합링크구분코드' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `UNITY_LINK_URL` `UNITY_LINK_URL` varchar(255) DEFAULT NULL COMMENT '통합링크URL' ; +ALTER TABLE `COMTNUSERABSNCE` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNUSERABSNCE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNUSERABSNCE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNUSERABSNCE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNUSERABSNCE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNUSERABSNCE` CHANGE `USER_ABSNCE_AT` `USER_ABSNCE_AT` char(1) NOT NULL COMMENT '사용자부재여부' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `CREAT_CO` `CREAT_CO` decimal(10,0) DEFAULT NULL COMMENT '생성수' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `DELETE_CO` `DELETE_CO` decimal(10,0) DEFAULT NULL COMMENT '삭제수' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `ERROR_CO` `ERROR_CO` decimal(10,0) DEFAULT NULL COMMENT '오류수' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `METHOD_NM` `METHOD_NM` varchar(60) NOT NULL DEFAULT '' COMMENT '메서드명' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(8) NOT NULL DEFAULT '' COMMENT '발생일' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `OUTPT_CO` `OUTPT_CO` decimal(10,0) DEFAULT NULL COMMENT '출력수' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `RQESTER_ID` `RQESTER_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '요청자ID' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `SVC_NM` `SVC_NM` varchar(255) NOT NULL DEFAULT '' COMMENT '서비스명' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `UPDT_CO` `UPDT_CO` decimal(10,0) DEFAULT NULL COMMENT '수정수' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `APPLCNT_ID` `APPLCNT_ID` varchar(20) NOT NULL COMMENT '신청인ID' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `BGNDE` `BGNDE` char(8) NOT NULL COMMENT '시작일' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `CONFM_AT` `CONFM_AT` char(1) DEFAULT NULL COMMENT '승인여부' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `ENDDE` `ENDDE` char(8) NOT NULL COMMENT '종료일' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `INFRML_SANCTN_ID` `INFRML_SANCTN_ID` char(20) DEFAULT NULL COMMENT '약식결재ID' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `NOON_SE` `NOON_SE` char(1) DEFAULT NULL COMMENT '정오구분' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `OCCRRNC_YEAR` `OCCRRNC_YEAR` char(4) DEFAULT NULL COMMENT '발생년도' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `REQST_DE` `REQST_DE` char(20) NOT NULL COMMENT '신청일' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `RETURN_RESN` `RETURN_RESN` varchar(1000) DEFAULT NULL COMMENT '반환사유' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `SANCTN_DT` `SANCTN_DT` datetime DEFAULT NULL COMMENT '결재일시' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `SANCTNER_ID` `SANCTNER_ID` varchar(20) DEFAULT NULL COMMENT '결재자ID' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `VCATN_RESN` `VCATN_RESN` varchar(200) NOT NULL COMMENT '휴가사유' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `VCATN_SE` `VCATN_SE` char(2) NOT NULL COMMENT '휴가구분' ; +ALTER TABLE `COMTNWEBLOG` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` datetime DEFAULT NULL COMMENT '발생일' ; +ALTER TABLE `COMTNWEBLOG` CHANGE `REQUST_ID` `REQUST_ID` varchar(20) NOT NULL COMMENT '요청ID' ; +ALTER TABLE `COMTNWEBLOG` CHANGE `RQESTER_ID` `RQESTER_ID` varchar(20) DEFAULT NULL COMMENT '요청자ID' ; +ALTER TABLE `COMTNWEBLOG` CHANGE `RQESTER_IP` `RQESTER_IP` varchar(23) DEFAULT NULL COMMENT '요청자IP' ; +ALTER TABLE `COMTNWEBLOG` CHANGE `URL` `URL` varchar(200) DEFAULT NULL COMMENT 'URL' ; +ALTER TABLE `COMTNWIKIBKMK` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNWIKIBKMK` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNWIKIBKMK` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNWIKIBKMK` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNWIKIBKMK` CHANGE `USER_ID` `USER_ID` varchar(20) NOT NULL COMMENT '사용자ID' ; +ALTER TABLE `COMTNWIKIBKMK` CHANGE `WIKI_BKMK_ID` `WIKI_BKMK_ID` char(20) NOT NULL COMMENT 'Wiki즐겨찾기ID' ; +ALTER TABLE `COMTNWIKIBKMK` CHANGE `WIKI_BKMK_NM` `WIKI_BKMK_NM` varchar(1000) NOT NULL COMMENT 'Wiki북마크명' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `CONFM_DT` `CONFM_DT` varchar(14) DEFAULT NULL COMMENT '승인일시' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `NEXTWIK_REPORT_CN` `NEXTWIK_REPORT_CN` mediumtext NOT NULL COMMENT '차주보고내용' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `PARTCLR_MATTER` `PARTCLR_MATTER` varchar(2500) DEFAULT NULL COMMENT '특이사항' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `REPORT_BGNDE` `REPORT_BGNDE` char(20) NOT NULL COMMENT '보고시작일' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `REPORT_DE` `REPORT_DE` char(20) NOT NULL COMMENT '보고일' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `REPORT_ENDDE` `REPORT_ENDDE` char(20) NOT NULL COMMENT '보고종료일' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `REPORTR_ID` `REPORTR_ID` varchar(20) NOT NULL COMMENT '보고자ID' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `REPRT_ID` `REPRT_ID` char(6) NOT NULL COMMENT '보고서ID' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `REPRT_SE` `REPRT_SE` char(1) NOT NULL COMMENT '보고서구분' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `REPRT_SJ` `REPRT_SJ` varchar(255) NOT NULL COMMENT '보고서제목' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `THSWIK_REPORT_CN` `THSWIK_REPORT_CN` mediumtext NOT NULL COMMENT '금주보고내용' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `WRTER_ID` `WRTER_ID` varchar(20) NOT NULL COMMENT '작성자ID' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `ENG_NM` `ENG_NM` varchar(60) DEFAULT NULL COMMENT '영문명' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `SYNONM` `SYNONM` varchar(100) DEFAULT NULL COMMENT '동의어' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `WORD_DC` `WORD_DC` varchar(4000) DEFAULT NULL COMMENT '용어설명' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `WORD_ID` `WORD_ID` char(20) NOT NULL COMMENT '용어ID' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `WORD_NM` `WORD_NM` varchar(255) DEFAULT NULL COMMENT '용어명' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `BDNBR_MNNM` `BDNBR_MNNM` varchar(5) DEFAULT NULL COMMENT '건물번호본번' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `BDNBR_SLNO` `BDNBR_SLNO` varchar(5) DEFAULT NULL COMMENT '건물번호부번' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `BULD_NM` `BULD_NM` varchar(60) DEFAULT NULL COMMENT '건물명' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `CTPRVN_NM` `CTPRVN_NM` varchar(20) DEFAULT NULL COMMENT '시도명' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `DETAIL_BULD_NM` `DETAIL_BULD_NM` varchar(60) DEFAULT NULL COMMENT '상세건물명' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `RDMN_CODE` `RDMN_CODE` varchar(12) NOT NULL COMMENT '도로명코드' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `RDMN` `RDMN` varchar(60) DEFAULT NULL COMMENT '도로명' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `SIGNGU_NM` `SIGNGU_NM` varchar(20) DEFAULT NULL COMMENT '시군구명' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `SN` `SN` decimal(10,0) NOT NULL COMMENT '일련번호' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `ZIP` `ZIP` varchar(6) NOT NULL COMMENT '우편번호' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `AVRG_RDCNT` `AVRG_RDCNT` decimal(10,0) DEFAULT NULL COMMENT '평균조회수' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `CREAT_CO` `CREAT_CO` decimal(10,0) DEFAULT NULL COMMENT '생성수' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `DETAIL_STATS_SE` `DETAIL_STATS_SE` varchar(10) NOT NULL DEFAULT '' COMMENT '세부통계구분' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `MUMM_INQIRE_BBSCTT_ID` `MUMM_INQIRE_BBSCTT_ID` varchar(20) DEFAULT NULL COMMENT '최소조회게시글ID' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(20) NOT NULL DEFAULT '' COMMENT '발생일' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `STATS_SE` `STATS_SE` varchar(10) NOT NULL DEFAULT '' COMMENT '통계구분' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `TOP_INQIRE_BBSCTT_ID` `TOP_INQIRE_BBSCTT_ID` varchar(20) DEFAULT NULL COMMENT '최고조회게시글ID' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `TOP_NTCR_ID` `TOP_NTCR_ID` varchar(20) DEFAULT NULL COMMENT '최고게시자ID' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `TOT_RDCNT` `TOT_RDCNT` decimal(10,0) DEFAULT NULL COMMENT '총조회수' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `CREAT_CO` `CREAT_CO` decimal(10,0) DEFAULT NULL COMMENT '생성수' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `DELETE_CO` `DELETE_CO` decimal(10,0) DEFAULT NULL COMMENT '삭제수' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `ERROR_CO` `ERROR_CO` decimal(10,0) DEFAULT NULL COMMENT '오류수' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `METHOD_NM` `METHOD_NM` varchar(60) NOT NULL COMMENT '메서드명' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(8) NOT NULL COMMENT '발생일' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `OUTPT_CO` `OUTPT_CO` decimal(10,0) DEFAULT NULL COMMENT '출력수' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `SVC_NM` `SVC_NM` varchar(255) NOT NULL COMMENT '서비스명' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `UPDT_CO` `UPDT_CO` decimal(10,0) DEFAULT NULL COMMENT '수정수' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `ERROR_CO` `ERROR_CO` decimal(10,0) DEFAULT NULL COMMENT '오류수' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(20) NOT NULL DEFAULT '' COMMENT '발생일' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `PROVD_INSTT_ID` `PROVD_INSTT_ID` char(8) NOT NULL DEFAULT '' COMMENT '제공기관ID' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `PROVD_SVC_ID` `PROVD_SVC_ID` char(8) NOT NULL DEFAULT '' COMMENT '제공서비스ID' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `PROVD_SYS_ID` `PROVD_SYS_ID` char(8) NOT NULL DEFAULT '' COMMENT '제공시스템ID' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `REQUST_INSTT_ID` `REQUST_INSTT_ID` char(8) NOT NULL DEFAULT '' COMMENT '요청기관ID' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `REQUST_SYS_ID` `REQUST_SYS_ID` char(8) NOT NULL DEFAULT '' COMMENT '요청시스템ID' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `TRSMRCV_SE_CODE` `TRSMRCV_SE_CODE` char(3) NOT NULL DEFAULT '' COMMENT '송수신구분코드' ; +ALTER TABLE `COMTSUSERSUMMARY` CHANGE `DETAIL_STATS_SE` `DETAIL_STATS_SE` varchar(10) NOT NULL DEFAULT '' COMMENT '세부통계구분' ; +ALTER TABLE `COMTSUSERSUMMARY` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(20) NOT NULL DEFAULT '' COMMENT '발생일' ; +ALTER TABLE `COMTSUSERSUMMARY` CHANGE `STATS_SE` `STATS_SE` varchar(10) NOT NULL DEFAULT '' COMMENT '통계구분' ; +ALTER TABLE `COMTSUSERSUMMARY` CHANGE `USER_CO` `USER_CO` decimal(10,0) DEFAULT NULL COMMENT '사용자수' ; +ALTER TABLE `COMTSWEBLOGSUMMARY` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(8) NOT NULL DEFAULT '' COMMENT '발생일' ; +ALTER TABLE `COMTSWEBLOGSUMMARY` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTSWEBLOGSUMMARY` CHANGE `URL` `URL` varchar(200) NOT NULL DEFAULT '' COMMENT 'URL' ; +ALTER TABLE `IDS` CHANGE `IDGEN_NEXT_ID` `IDGEN_NEXT_ID` decimal(30,0) NOT NULL COMMENT 'IDGEN다음ID' ; +ALTER TABLE `IDS` CHANGE `IDGEN_TABLE_NM` `IDGEN_TABLE_NM` varchar(20) NOT NULL COMMENT 'IDGEN테이블명' ; +ALTER TABLE `IMGTEMP` CHANGE `ERNCSL_SE` `ERNCSL_SE` varchar(2) NOT NULL COMMENT '전자관인구분' ; +ALTER TABLE `IMGTEMP` CHANGE `IMAGE_INFO` `IMAGE_INFO` blob NOT NULL COMMENT '이미지정보' ; +ALTER TABLE `IMGTEMP` CHANGE `IMAGE_TY` `IMAGE_TY` varchar(20) DEFAULT NULL COMMENT '이미지유형' ; +ALTER TABLE `IMGTEMP` CHANGE `ORGNZT_CODE` `ORGNZT_CODE` varchar(10) NOT NULL COMMENT '조직코드' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `DELETE_YN` `DELETE_YN` varchar(1) DEFAULT NULL COMMENT '삭제 구분' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `DOWNLOAD_COUNT` `DOWNLOAD_COUNT` int(11) DEFAULT NULL COMMENT '다운로드 횟수' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `DOWNLOAD_EXPIRE_DATE` `DOWNLOAD_EXPIRE_DATE` varchar(8) DEFAULT NULL COMMENT '다운로드 만료일' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `DOWNLOAD_LIMIT_COUNT` `DOWNLOAD_LIMIT_COUNT` int(11) DEFAULT NULL COMMENT '다운로드 제한 횟수' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `FILE_ID` `FILE_ID` varchar(13) NOT NULL COMMENT '파일 아이디' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `FILE_MASK` `FILE_MASK` varchar(100) DEFAULT NULL COMMENT '파일 마스크' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `FILE_NAME` `FILE_NAME` varchar(100) NOT NULL COMMENT '파일명' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `FILE_SEQ` `FILE_SEQ` int(11) NOT NULL COMMENT '파일 순번' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `FILE_SIZE` `FILE_SIZE` int(11) DEFAULT NULL COMMENT '파일 사이즈' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `REG_DATE` `REG_DATE` datetime DEFAULT NULL COMMENT '등록일' ; +ALTER TABLE `COMTNBLOG` CHANGE `BBS_ID` `BBS_ID` char(20) DEFAULT NULL COMMENT '게시판 ID' ; +ALTER TABLE `COMTNBLOG` CHANGE `BLOG_AT` `BLOG_AT` char(2) DEFAULT NULL COMMENT '블로그 여부' ; +ALTER TABLE `COMTNBLOG` CHANGE `BLOG_ID` `BLOG_ID` char(20) NOT NULL COMMENT '블로그 ID' ; +ALTER TABLE `COMTNBLOG` CHANGE `BLOG_INTRCN` `BLOG_INTRCN` varchar(2400) NULL COMMENT '블로그 소개' ; +ALTER TABLE `COMTNBLOG` CHANGE `BLOG_NM` `BLOG_NM` varchar(255) NOT NULL COMMENT '블로그 명' ; +ALTER TABLE `COMTNBLOG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBLOG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBLOG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBLOG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBLOG` CHANGE `REGIST_SE_CODE` `REGIST_SE_CODE` char(6) NULL COMMENT '등록구분코드' ; +ALTER TABLE `COMTNBLOG` CHANGE `TMPLAT_ID` `TMPLAT_ID` char(20) NULL COMMENT '템플릿 ID' ; +ALTER TABLE `COMTNBLOG` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `BLOG_ID` `BLOG_ID` char(20) NOT NULL COMMENT '블로그 ID' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자 ID' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) NULL COMMENT '최종수정자 ID' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `MBER_STTUS` `MBER_STTUS` varchar(15) NULL COMMENT '회원상태' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `MNGR_AT` `MNGR_AT` char(1) NOT NULL COMMENT '관리자여부' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `SBSCRB_DE` `SBSCRB_DE` datetime NULL COMMENT '가입일자' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `SECSN_DE` `SECSN_DE` char(2) NULL COMMENT '탈퇴일' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `USE_AT` `USE_AT` char(1) NULL COMMENT '사용여부' ; \ No newline at end of file Index: base3.10/script/comment/tibero/egov_tibero_comment.sql =================================================================== --- base3.10/script/comment/tibero/egov_tibero_comment.sql (nonexistent) +++ base3.10/script/comment/tibero/egov_tibero_comment.sql (revision 7) @@ -0,0 +1,2487 @@ +COMMENT ON TABLE COMTCADMINISTCODE IS '행정코드'; + +COMMENT ON COLUMN COMTCADMINISTCODE.ADMINIST_ZONE_SE IS '행정구역구분'; +COMMENT ON COLUMN COMTCADMINISTCODE.ADMINIST_ZONE_CODE IS '행정구역코드'; +COMMENT ON COLUMN COMTCADMINISTCODE.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTCADMINISTCODE.ADMINIST_ZONE_NM IS '행정구역명'; +COMMENT ON COLUMN COMTCADMINISTCODE.UPPER_ADMINIST_ZONE_CODE IS '상위행정구역코드'; +COMMENT ON COLUMN COMTCADMINISTCODE.CREAT_DE IS '생성일'; +COMMENT ON COLUMN COMTCADMINISTCODE.ABL_DE IS '폐지일'; +COMMENT ON COLUMN COMTCADMINISTCODE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTCADMINISTCODE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTCADMINISTCODE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTCADMINISTCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTCADMINISTCODERECPTNLOG IS '행정코드수신로그'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ADMINIST_ZONE_SE IS '행정구역구분'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ADMINIST_ZONE_CODE IS '행정구역코드'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.OPERT_SN IS '작업일련번호'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.CHANGE_SE_CODE IS '변경구분코드'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.PROCESS_SE IS '처리구분'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ADMINIST_ZONE_NM IS '행정구역명'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LOWEST_ADMINIST_ZONE_NM IS '최하위행정구역명'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.CTPRVN_CODE IS '시도코드'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.SIGNGU_CODE IS '시군구코드'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.EMD_CODE IS '읍면동코드'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LI_CODE IS '리코드'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.CREAT_DE IS '생성일'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ABL_DE IS '폐지일'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ABL_ENNC IS '폐지유무'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTCCMMNCLCODE IS '공통분류코드'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.CL_CODE IS '분류코드'; +COMMENT ON COLUMN COMTCCMMNCLCODE.CL_CODE_NM IS '분류코드명'; +COMMENT ON COLUMN COMTCCMMNCLCODE.CL_CODE_DC IS '분류코드설명'; +COMMENT ON COLUMN COMTCCMMNCLCODE.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTCCMMNCLCODE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTCCMMNCLCODE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTCCMMNCLCODE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTCCMMNCLCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTCCMMNCODE IS '공통코드'; + +COMMENT ON COLUMN COMTCCMMNCODE.CODE_ID IS '코드ID'; +COMMENT ON COLUMN COMTCCMMNCODE.CODE_ID_NM IS '코드ID명'; +COMMENT ON COLUMN COMTCCMMNCODE.CODE_ID_DC IS '코드ID설명'; +COMMENT ON COLUMN COMTCCMMNCODE.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTCCMMNCODE.CL_CODE IS '분류코드'; +COMMENT ON COLUMN COMTCCMMNCODE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTCCMMNCODE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTCCMMNCODE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTCCMMNCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTCCMMNDETAILCODE IS '공통상세코드'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE_ID IS '코드ID'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE IS '코드'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE_NM IS '코드명'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE_DC IS '코드설명'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTCCMMNDETAILCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTCZIP IS '우편번호'; + +COMMENT ON COLUMN COMTCZIP.ZIP IS '우편번호'; +COMMENT ON COLUMN COMTCZIP.SN IS '일련번호'; +COMMENT ON COLUMN COMTCZIP.CTPRVN_NM IS '시도명'; +COMMENT ON COLUMN COMTCZIP.SIGNGU_NM IS '시군구명'; +COMMENT ON COLUMN COMTCZIP.EMD_NM IS '읍면동명'; +COMMENT ON COLUMN COMTCZIP.LI_BULD_NM IS '리건물명'; +COMMENT ON COLUMN COMTCZIP.LNBR_DONG_HO IS '번지동호'; +COMMENT ON COLUMN COMTCZIP.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTCZIP.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTCZIP.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTCZIP.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTECOPSEQ IS 'COMTECOPSEQ'; + +COMMENT ON COLUMN COMTECOPSEQ.TABLE_NAME IS '테이블명'; +COMMENT ON COLUMN COMTECOPSEQ.NEXT_ID IS '다음아이디'; + +COMMENT ON TABLE COMTHCONFMHISTORY IS '승인이력'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_NO IS '승인번호'; +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_RQESTER_ID IS '승인요청자ID'; +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFMER_ID IS '승인자ID'; +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_DE IS '승인일'; +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_TY_CODE IS '승인유형코드'; +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_STTUS_CODE IS '승인상태코드'; +COMMENT ON COLUMN COMTHCONFMHISTORY.OPERT_TY_CODE IS '작업유형코드'; +COMMENT ON COLUMN COMTHCONFMHISTORY.OPERT_ID IS '작업ID'; +COMMENT ON COLUMN COMTHCONFMHISTORY.TRGET_JOB_TY_CODE IS '대상업무유형코드'; +COMMENT ON COLUMN COMTHCONFMHISTORY.TRGET_JOB_ID IS '대상업무ID'; + +COMMENT ON TABLE COMTHDBMNTRNGLOGINFO IS 'DB서비스모니터링로그정보'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.DATA_SOURC_NM IS '데이터소스명'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.SERVER_NM IS '서버명'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.DBMS_KND IS 'DBMS종류'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.CECK_SQL IS '체크SQL'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LOG_INFO IS '로그정보'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTHEMAILDSPTCHMANAGE IS '메일발신관리'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.MSSAGE_ID IS '메시지ID'; +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.EMAIL_CN IS '이메일내용'; +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.SNDR IS '발신자'; +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.RCVER IS '수신자'; +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.SJ IS '제목'; +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.SNDNG_RESULT_CODE IS '발송결과코드'; +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.DSPTCH_DT IS '발신일시'; +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON TABLE COMTHEMPLYRINFOCHANGEDTLS IS '업무사용자정보변경내역'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.CHANGE_DE IS '변경일'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.GROUP_ID IS '그룹ID'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMPL_NO IS '사원번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.SEXDSTN_CODE IS '성별코드'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.BRTHDY IS '생일'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.FXNUM IS '팩스번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.HOUSE_ADRES IS '주택주소'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.HOUSE_END_TELNO IS '주택끝전화번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.DETAIL_ADRES IS '상세주소'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.ZIP IS '우편번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.OFFM_TELNO IS '사무실전화번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.MBTLNUM IS '이동전화번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMAIL_ADRES IS '이메일주소'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.HOUSE_MIDDLE_TELNO IS '주택중간전화번호'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.PSTINST_CODE IS '소속기관코드'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMPLYR_STTUS_CODE IS '사용자상태코드'; +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.ESNTL_ID IS '고유ID'; + +COMMENT ON TABLE COMTHHTTPMONLOGINFO IS 'HTTP서비스모니터링로그정보'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.SYS_ID IS '시스템ID'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.SITE_URL IS '사이트URL'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.WEBSVC_KND IS '웹서비스종류'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.HTTP_STTUS_CODE IS 'HTTP상태코드'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LOG_INFO IS '로그정보'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTHPROGRMCHANGEDTLS IS '프로그램변경내역'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.PROGRM_FILE_NM IS '프로그램파일명'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.REQUST_NO IS '요청번호'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.RQESTER_ID IS '요청자ID'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.CHANGE_REQUST_CN IS '변경요청내용'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.REQUST_PROCESS_CN IS '요청처리내용'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.OPETR_ID IS '처리자ID'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.PROCESS_STTUS_CODE IS '처리상태코드'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.PROCESS_DE IS '처리일'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.RQESTDE IS '요청일'; +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.REQUST_SJ IS '요청제목'; + +COMMENT ON TABLE COMTHSYSHIST IS '시스템이력'; + +COMMENT ON COLUMN COMTHSYSHIST.HIST_ID IS '이력ID'; +COMMENT ON COLUMN COMTHSYSHIST.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTHSYSHIST.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTHSYSHIST.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTHSYSHIST.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTHSYSHIST.HIST_SE_CODE IS '이력구분코드'; +COMMENT ON COLUMN COMTHSYSHIST.HIST_CN IS '이력내용'; +COMMENT ON COLUMN COMTHSYSHIST.SYS_NM IS '시스템명'; +COMMENT ON COLUMN COMTHSYSHIST.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON TABLE COMTHTRSMRCVMNTRNGLOGINFO IS '송수신모니터링로그정보'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.CNTC_ID IS '연계ID'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.TEST_CLASS_NM IS '테스트클래스명'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LOG_INFO IS '로그정보'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNADBK IS '주소록'; + +COMMENT ON COLUMN COMTNADBK.ADBK_CONSTNT_ID IS '주소록구성원ID'; +COMMENT ON COLUMN COMTNADBK.ADBK_ID IS '주소록ID'; +COMMENT ON COLUMN COMTNADBK.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNADBK.NCRD_ID IS '명함ID'; +COMMENT ON COLUMN COMTNADBK.NM IS '이름'; +COMMENT ON COLUMN COMTNADBK.EMAIL_ADRES IS '이메일주소'; +COMMENT ON COLUMN COMTNADBK.MBTLNUM IS '이동전화번호'; +COMMENT ON COLUMN COMTNADBK.FXNUM IS '팩스번호'; +COMMENT ON COLUMN COMTNADBK.OFFM_TELNO IS '사무실전화번호'; +COMMENT ON COLUMN COMTNADBK.HOUSE_TELNO IS '주택전화번호'; +COMMENT ON COLUMN COMTNADBK.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNADBK.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNADBK.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNADBK.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON TABLE COMTNADBKMANAGE IS '주소록관리'; + +COMMENT ON COLUMN COMTNADBKMANAGE.ADBK_ID IS '주소록ID'; +COMMENT ON COLUMN COMTNADBKMANAGE.ADBK_NM IS '주소록명'; +COMMENT ON COLUMN COMTNADBKMANAGE.OTHBC_SCOPE IS '공개범위'; +COMMENT ON COLUMN COMTNADBKMANAGE.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNADBKMANAGE.WRTER_ID IS '작성자ID'; +COMMENT ON COLUMN COMTNADBKMANAGE.TRGET_ORGNZT_ID IS '대상조직ID'; +COMMENT ON COLUMN COMTNADBKMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNADBKMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNADBKMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNADBKMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNADMINISTRATIONWORD IS '행정용어사전관리'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_ID IS '행정용어ID'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_NM IS '행정용어명'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_ENG_NM IS '행정용어영문명'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_ABRV_NM IS '행정용어약어명'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.THEMA_RELM IS '주제영역'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.WORD_SE IS '용어구분'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.RELATE_STD_WORD IS '관계표준용어'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_DFN IS '행정용어정의'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_DC IS '행정용어설명'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNANNVRSRYMANAGE IS '기념일정보'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_ID IS '기념일ID'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.USER_ID IS '사용자ID'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_SE IS '기념일구분'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_NM IS '기념일명'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY IS '기념일'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.CLDR_SE IS '달력구분'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_NTCN_SETUP IS '알림설정'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_NTCN_BGNDE IS '알림시작일'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.MEMO IS '메모'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.REPTIT_AT IS '반복여부'; + +COMMENT ON TABLE COMTNANSWER IS '댓글'; + +COMMENT ON COLUMN COMTNANSWER.NTT_ID IS '게시물ID'; +COMMENT ON COLUMN COMTNANSWER.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNANSWER.ANSWER_NO IS '답글번호'; +COMMENT ON COLUMN COMTNANSWER.WRTER_ID IS '작성자ID'; +COMMENT ON COLUMN COMTNANSWER.ANSWER IS '댓글'; +COMMENT ON COLUMN COMTNANSWER.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNANSWER.WRTER_NM IS '작성자명'; +COMMENT ON COLUMN COMTNANSWER.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNANSWER.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNANSWER.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNANSWER.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNAUTHORGROUPINFO IS '권한그룹정보'; + +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_ID IS '그룹ID'; +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_NM IS '그룹명'; +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_CREAT_DE IS '그룹생성일'; +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_DC IS '그룹설명'; + +COMMENT ON TABLE COMTNAUTHORINFO IS '권한정보'; + +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_CODE IS '권한코드'; +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_NM IS '권한명'; +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_DC IS '권한설명'; +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_CREAT_DE IS '권한생성일'; + +COMMENT ON TABLE COMTNAUTHORROLERELATE IS '권한롤관계'; + +COMMENT ON COLUMN COMTNAUTHORROLERELATE.AUTHOR_CODE IS '권한코드'; +COMMENT ON COLUMN COMTNAUTHORROLERELATE.ROLE_CODE IS '롤코드'; +COMMENT ON COLUMN COMTNAUTHORROLERELATE.CREAT_DT IS '생성일시'; + +COMMENT ON TABLE COMTNBACKUPOPERT IS '백업작업'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_OPERT_ID IS '백업작업ID'; +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_OPERT_NM IS '백업작업명'; +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_ORGINL_DRCTRY IS '백업원본디렉토리'; +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_STRE_DRCTRY IS '백업저장디렉토리'; +COMMENT ON COLUMN COMTNBACKUPOPERT.CMPRS_SE IS '압축구분'; +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_CYCLE IS '실행주기'; +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_DE IS '실행일정일'; +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_HOUR IS '실행일정시'; +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_MNT IS '실행일정분'; +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_SECND IS '실행일정초'; +COMMENT ON COLUMN COMTNBACKUPOPERT.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNBACKUPOPERT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBACKUPOPERT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBACKUPOPERT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBACKUPOPERT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNBACKUPRESULT IS '백업결과'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.BACKUP_RESULT_ID IS '백업결과ID'; +COMMENT ON COLUMN COMTNBACKUPRESULT.BACKUP_OPERT_ID IS '백업작업ID'; +COMMENT ON COLUMN COMTNBACKUPRESULT.BACKUP_FILE IS '백업파일'; +COMMENT ON COLUMN COMTNBACKUPRESULT.STTUS IS '상태'; +COMMENT ON COLUMN COMTNBACKUPRESULT.ERROR_INFO IS '오류정보'; +COMMENT ON COLUMN COMTNBACKUPRESULT.EXECUT_BEGIN_TM IS '실행시작시각'; +COMMENT ON COLUMN COMTNBACKUPRESULT.EXECUT_END_TM IS '실행종료시각'; +COMMENT ON COLUMN COMTNBACKUPRESULT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBACKUPRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBACKUPRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBACKUPRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNBACKUPSCHDULDFK IS '백업스케줄요일'; + +COMMENT ON COLUMN COMTNBACKUPSCHDULDFK.BACKUP_OPERT_ID IS '백업작업ID'; +COMMENT ON COLUMN COMTNBACKUPSCHDULDFK.EXECUT_SCHDUL_DFK_SE IS '실행일정요일구분'; + +COMMENT ON TABLE COMTNBANNER IS '배너'; + +COMMENT ON COLUMN COMTNBANNER.BANNER_ID IS '배너ID'; +COMMENT ON COLUMN COMTNBANNER.BANNER_NM IS '배너명'; +COMMENT ON COLUMN COMTNBANNER.LINK_URL IS '링크URL'; +COMMENT ON COLUMN COMTNBANNER.BANNER_IMAGE IS '배너이미지'; +COMMENT ON COLUMN COMTNBANNER.BANNER_DC IS '배너설명'; +COMMENT ON COLUMN COMTNBANNER.REFLCT_AT IS '반영여부'; +COMMENT ON COLUMN COMTNBANNER.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBANNER.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBANNER.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBANNER.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBANNER.BANNER_IMAGE_FILE IS '배너이미지파일'; +COMMENT ON COLUMN COMTNBANNER.SORT_ORDR IS '정렬순서'; + +COMMENT ON TABLE COMTNBATCHOPERT IS '배치작업'; + +COMMENT ON COLUMN COMTNBATCHOPERT.BATCH_OPERT_ID IS '배치작업ID'; +COMMENT ON COLUMN COMTNBATCHOPERT.BATCH_OPERT_NM IS '배치작업명'; +COMMENT ON COLUMN COMTNBATCHOPERT.BATCH_PROGRM IS '배치프로그램'; +COMMENT ON COLUMN COMTNBATCHOPERT.PARAMTR IS '파라미터'; +COMMENT ON COLUMN COMTNBATCHOPERT.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNBATCHOPERT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBATCHOPERT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBATCHOPERT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBATCHOPERT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNBATCHRESULT IS '배치결과'; + +COMMENT ON COLUMN COMTNBATCHRESULT.BATCH_RESULT_ID IS '배치결과ID'; +COMMENT ON COLUMN COMTNBATCHRESULT.BATCH_SCHDUL_ID IS '배치일정ID'; +COMMENT ON COLUMN COMTNBATCHRESULT.BATCH_OPERT_ID IS '배치작업ID'; +COMMENT ON COLUMN COMTNBATCHRESULT.PARAMTR IS '파라미터'; +COMMENT ON COLUMN COMTNBATCHRESULT.STTUS IS '상태'; +COMMENT ON COLUMN COMTNBATCHRESULT.ERROR_INFO IS '오류정보'; +COMMENT ON COLUMN COMTNBATCHRESULT.EXECUT_BEGIN_TM IS '실행시작시각'; +COMMENT ON COLUMN COMTNBATCHRESULT.EXECUT_END_TM IS '실행종료시각'; +COMMENT ON COLUMN COMTNBATCHRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBATCHRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBATCHRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBATCHRESULT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON TABLE COMTNBATCHSCHDUL IS '배치스케줄'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.BATCH_SCHDUL_ID IS '배치일정ID'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.BATCH_OPERT_ID IS '배치작업ID'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_CYCLE IS '실행주기'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_DE IS '실행일정일'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_HOUR IS '실행일정시'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_MNT IS '실행일정분'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_SECND IS '실행일정초'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBATCHSCHDUL.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNBATCHSCHDULDFK IS '배치스케줄요일'; + +COMMENT ON COLUMN COMTNBATCHSCHDULDFK.BATCH_SCHDUL_ID IS '배치일정ID'; +COMMENT ON COLUMN COMTNBATCHSCHDULDFK.EXECUT_SCHDUL_DFK_SE IS '실행일정요일구분'; + +COMMENT ON TABLE COMTNBBS IS '게시판'; + +COMMENT ON COLUMN COMTNBBS.NTT_ID IS '게시물ID'; +COMMENT ON COLUMN COMTNBBS.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNBBS.NTT_NO IS '게시물번호'; +COMMENT ON COLUMN COMTNBBS.NTT_SJ IS '게시물제목'; +COMMENT ON COLUMN COMTNBBS.NTT_CN IS '게시물내용'; +COMMENT ON COLUMN COMTNBBS.ANSWER_AT IS '댓글여부'; +COMMENT ON COLUMN COMTNBBS.PARNTSCTT_NO IS '부모글번호'; +COMMENT ON COLUMN COMTNBBS.ANSWER_LC IS '댓글위치'; +COMMENT ON COLUMN COMTNBBS.SORT_ORDR IS '정렬순서'; +COMMENT ON COLUMN COMTNBBS.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNBBS.RDCNT IS '조회수'; +COMMENT ON COLUMN COMTNBBS.NTCE_BGNDE IS '게시시작일'; +COMMENT ON COLUMN COMTNBBS.NTCE_ENDDE IS '게시종료일'; +COMMENT ON COLUMN COMTNBBS.NTCR_ID IS '게시자ID'; +COMMENT ON COLUMN COMTNBBS.NTCR_NM IS '게시자명'; +COMMENT ON COLUMN COMTNBBS.PASSWORD IS '비밀번호'; +COMMENT ON COLUMN COMTNBBS.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNBBS.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBBS.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBBS.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBBS.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBBS.BLOG_ID IS '블로그 ID'; +COMMENT ON COLUMN COMTNBBS.NOTICE_AT IS '공지사항여부'; +COMMENT ON COLUMN COMTNBBS.SECRET_AT IS '비밀글여부'; +COMMENT ON COLUMN COMTNBBS.SJ_BOLD_AT IS '제목볼드여부'; + +COMMENT ON TABLE COMTNBBSMASTER IS '게시판마스터'; + +COMMENT ON COLUMN COMTNBBSMASTER.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNBBSMASTER.BBS_NM IS '게시판명'; +COMMENT ON COLUMN COMTNBBSMASTER.BBS_INTRCN IS '게시판소개'; +COMMENT ON COLUMN COMTNBBSMASTER.BBS_TY_CODE IS '게시판유형코드'; +COMMENT ON COLUMN COMTNBBSMASTER.REPLY_POSBL_AT IS '답장가능여부'; +COMMENT ON COLUMN COMTNBBSMASTER.FILE_ATCH_POSBL_AT IS '파일첨부가능여부'; +COMMENT ON COLUMN COMTNBBSMASTER.ATCH_POSBL_FILE_NUMBER IS '첨부가능파일숫자'; +COMMENT ON COLUMN COMTNBBSMASTER.ATCH_POSBL_FILE_SIZE IS '첨부가능파일사이즈'; +COMMENT ON COLUMN COMTNBBSMASTER.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNBBSMASTER.TMPLAT_ID IS '템플릿ID'; +COMMENT ON COLUMN COMTNBBSMASTER.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBBSMASTER.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBBSMASTER.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBBSMASTER.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBBSMASTER.BLOG_AT IS '블로그 여부'; +COMMENT ON COLUMN COMTNBBSMASTER.BLOG_ID IS '블로그 ID'; +COMMENT ON COLUMN COMTNBBSMASTER.CMMNTY_ID IS '커뮤니티ID'; + +COMMENT ON TABLE COMTNBBSMASTEROPTN IS '게시판마스터옵션'; + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNBBSMASTEROPTN.ANSWER_AT IS '댓글여부'; +COMMENT ON COLUMN COMTNBBSMASTEROPTN.STSFDG_AT IS '만족도여부'; +COMMENT ON COLUMN COMTNBBSMASTEROPTN.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBBSMASTEROPTN.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBBSMASTEROPTN.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBBSMASTEROPTN.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNBBSUSE IS '게시판활용'; + +COMMENT ON COLUMN COMTNBBSUSE.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNBBSUSE.TRGET_ID IS '대상ID'; +COMMENT ON COLUMN COMTNBBSUSE.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNBBSUSE.REGIST_SE_CODE IS '등록구분코드'; +COMMENT ON COLUMN COMTNBBSUSE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBBSUSE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBBSUSE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBBSUSE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNBKMKMENUMANAGERESULT IS '바로가기 메뉴 등록'; + +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.MENU_ID IS '메뉴ID'; +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.MENU_NM IS '메뉴명'; +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.PROGRM_STRE_PATH IS '프로그램저장경로'; + +COMMENT ON TABLE COMTNBNDTCECKMANAGE IS '당직체크관리정보'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.BNDT_CECK_CODE IS '당직체크코드'; +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.BNDT_CECK_SE IS '당직체크구분'; +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.BNDT_CECK_CODE_NM IS '당직체크코드명'; +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNBNDTDIARY IS '당직관리'; + +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_ID IS '당직ID'; +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_DE IS '당직일자'; +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_CECK_SE IS '당직체크구분'; +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_CECK_CODE IS '당직체크코드'; +COMMENT ON COLUMN COMTNBNDTDIARY.CHCK_STTUS IS '점검상태'; +COMMENT ON COLUMN COMTNBNDTDIARY.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBNDTDIARY.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBNDTDIARY.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBNDTDIARY.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNBNDTMANAGE IS '당직관리정보'; + +COMMENT ON COLUMN COMTNBNDTMANAGE.BNDT_ID IS '당직ID'; +COMMENT ON COLUMN COMTNBNDTMANAGE.BNDT_DE IS '당직일자'; +COMMENT ON COLUMN COMTNBNDTMANAGE.RM IS '비고'; +COMMENT ON COLUMN COMTNBNDTMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBNDTMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBNDTMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBNDTMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNCLUB IS '동호회속성'; + +COMMENT ON COLUMN COMTNCLUB.CLB_ID IS '동호회ID'; +COMMENT ON COLUMN COMTNCLUB.CMMNTY_ID IS '커뮤니티ID'; +COMMENT ON COLUMN COMTNCLUB.CLB_NM IS '동호회명'; +COMMENT ON COLUMN COMTNCLUB.CLB_INTRCN IS '동호회소개'; +COMMENT ON COLUMN COMTNCLUB.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNCLUB.REGIST_SE_CODE IS '등록구분코드'; +COMMENT ON COLUMN COMTNCLUB.TMPLAT_ID IS '템플릿ID'; +COMMENT ON COLUMN COMTNCLUB.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCLUB.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCLUB.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCLUB.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNCLUBUSER IS '동호회사용자'; + +COMMENT ON COLUMN COMTNCLUBUSER.CLB_ID IS '동호회ID'; +COMMENT ON COLUMN COMTNCLUBUSER.CMMNTY_ID IS '커뮤니티ID'; +COMMENT ON COLUMN COMTNCLUBUSER.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNCLUBUSER.OPRTR_AT IS '운영인여부'; +COMMENT ON COLUMN COMTNCLUBUSER.SBSCRB_DE IS '가입일자'; +COMMENT ON COLUMN COMTNCLUBUSER.SECSN_DE IS '탈퇴일'; +COMMENT ON COLUMN COMTNCLUBUSER.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNCLUBUSER.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCLUBUSER.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCLUBUSER.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCLUBUSER.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNCMMNTY IS '커뮤니티 속성'; + +COMMENT ON COLUMN COMTNCMMNTY.CMMNTY_ID IS '커뮤니티ID'; +COMMENT ON COLUMN COMTNCMMNTY.CMMNTY_NM IS '커뮤니티명'; +COMMENT ON COLUMN COMTNCMMNTY.CMMNTY_INTRCN IS '커뮤니티소개'; +COMMENT ON COLUMN COMTNCMMNTY.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNCMMNTY.REGIST_SE_CODE IS '등록구분코드'; +COMMENT ON COLUMN COMTNCMMNTY.TMPLAT_ID IS '템플릿ID'; +COMMENT ON COLUMN COMTNCMMNTY.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCMMNTY.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCMMNTY.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCMMNTY.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNCMMNTYUSER IS '커뮤니티사용자'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.CMMNTY_ID IS '커뮤니티ID'; +COMMENT ON COLUMN COMTNCMMNTYUSER.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNCMMNTYUSER.MNGR_AT IS '관리자여부'; +COMMENT ON COLUMN COMTNCMMNTYUSER.SBSCRB_DE IS '가입일자'; +COMMENT ON COLUMN COMTNCMMNTYUSER.SECSN_DE IS '탈퇴일'; +COMMENT ON COLUMN COMTNCMMNTYUSER.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNCMMNTYUSER.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCMMNTYUSER.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCMMNTYUSER.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCMMNTYUSER.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCMMNTYUSER.MBER_STTUS IS '회원 상태'; + +COMMENT ON TABLE COMTNCNSLTLIST IS '상담내역'; + +COMMENT ON COLUMN COMTNCNSLTLIST.CNSLT_ID IS '상담ID'; +COMMENT ON COLUMN COMTNCNSLTLIST.CNSLT_SJ IS '상담제목'; +COMMENT ON COLUMN COMTNCNSLTLIST.OTHBC_AT IS '공개여부'; +COMMENT ON COLUMN COMTNCNSLTLIST.EMAIL_ADRES IS '이메일주소'; +COMMENT ON COLUMN COMTNCNSLTLIST.CNSLT_CN IS '상담내용'; +COMMENT ON COLUMN COMTNCNSLTLIST.MANAGT_CN IS '조치내용'; +COMMENT ON COLUMN COMTNCNSLTLIST.MANAGT_DE IS '조치일'; +COMMENT ON COLUMN COMTNCNSLTLIST.RDCNT IS '조회수'; +COMMENT ON COLUMN COMTNCNSLTLIST.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNCNSLTLIST.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCNSLTLIST.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCNSLTLIST.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCNSLTLIST.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCNSLTLIST.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNCNSLTLIST.MIDDLE_TELNO IS '중간전화번호'; +COMMENT ON COLUMN COMTNCNSLTLIST.END_TELNO IS '끝전화번호'; +COMMENT ON COLUMN COMTNCNSLTLIST.FRST_MBTLNUM IS '처음휴대폰번호'; +COMMENT ON COLUMN COMTNCNSLTLIST.MIDDLE_MBTLNUM IS '중간이동전화번호'; +COMMENT ON COLUMN COMTNCNSLTLIST.END_MBTLNUM IS '끝이동전화번호'; +COMMENT ON COLUMN COMTNCNSLTLIST.WRITNG_DE IS '작성일'; +COMMENT ON COLUMN COMTNCNSLTLIST.WRTER_NM IS '작성자명'; +COMMENT ON COLUMN COMTNCNSLTLIST.EMAIL_ANSWER_AT IS '메일답변여부'; +COMMENT ON COLUMN COMTNCNSLTLIST.QNA_PROCESS_STTUS_CODE IS '질의응답처리상태코드'; +COMMENT ON COLUMN COMTNCNSLTLIST.WRITNG_PASSWORD IS '작성비밀번호'; + +COMMENT ON TABLE COMTNCNTCINSTT IS '연계기관'; + +COMMENT ON COLUMN COMTNCNTCINSTT.INSTT_ID IS '기관ID'; +COMMENT ON COLUMN COMTNCNTCINSTT.INSTT_NM IS '기관명'; +COMMENT ON COLUMN COMTNCNTCINSTT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCNTCINSTT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCNTCINSTT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCNTCINSTT.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCNTCINSTT.USE_AT IS '사용여부'; + +COMMENT ON TABLE COMTNCNTCMESSAGE IS '연계메시지'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.CNTC_MSSAGE_ID IS '연계메시지ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGE.CNTC_MSSAGE_NM IS '연계메시지명'; +COMMENT ON COLUMN COMTNCNTCMESSAGE.UPPER_CNTC_MSSAGE_ID IS '상위연계메시지ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCNTCMESSAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCNTCMESSAGE.USE_AT IS '사용여부'; + +COMMENT ON TABLE COMTNCNTCMESSAGEITEM IS '연계메시지항목'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.CNTC_MSSAGE_ID IS '연계메시지ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_ID IS '항목ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_NM IS '항목명'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_TY IS '항목유형'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_LT IS '항목길이'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNCNTCSERVICE IS '연계서비스'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.INSTT_ID IS '기관ID'; +COMMENT ON COLUMN COMTNCNTCSERVICE.SYS_ID IS '시스템ID'; +COMMENT ON COLUMN COMTNCNTCSERVICE.SVC_ID IS '서비스ID'; +COMMENT ON COLUMN COMTNCNTCSERVICE.SVC_NM IS '서비스명'; +COMMENT ON COLUMN COMTNCNTCSERVICE.REQUST_MSSAGE_ID IS '요청메시지ID'; +COMMENT ON COLUMN COMTNCNTCSERVICE.RSPNS_MSSAGE_ID IS '응답메시지ID'; +COMMENT ON COLUMN COMTNCNTCSERVICE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCNTCSERVICE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCNTCSERVICE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCNTCSERVICE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCNTCSERVICE.USE_AT IS '사용여부'; + +COMMENT ON TABLE COMTNCNTCSYSTEM IS '연계시스템'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.INSTT_ID IS '기관ID'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.SYS_ID IS '시스템ID'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.SYS_NM IS '시스템명'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.SYS_IP IS '시스템IP'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCNTCSYSTEM.USE_AT IS '사용여부'; + +COMMENT ON TABLE COMTNCNTNTSLIST IS '컨텐츠목록'; + +COMMENT ON COLUMN COMTNCNTNTSLIST.CNTNTS_ID IS '컨텐츠ID'; +COMMENT ON COLUMN COMTNCNTNTSLIST.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON TABLE COMTNCOMMENT IS '댓글'; + +COMMENT ON COLUMN COMTNCOMMENT.NTT_ID IS '게시물ID'; +COMMENT ON COLUMN COMTNCOMMENT.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNCOMMENT.ANSWER_NO IS '댓글번호'; +COMMENT ON COLUMN COMTNCOMMENT.WRTER_ID IS '작성자ID'; +COMMENT ON COLUMN COMTNCOMMENT.WRTER_NM IS '작성자명'; +COMMENT ON COLUMN COMTNCOMMENT.ANSWER IS '댓글'; +COMMENT ON COLUMN COMTNCOMMENT.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNCOMMENT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCOMMENT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCOMMENT.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCOMMENT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCOMMENT.PASSWORD IS '비밀번호'; + +COMMENT ON TABLE COMTNCOMMUTE IS '출퇴근관리'; + +COMMENT ON COLUMN COMTNCOMMUTE.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNCOMMUTE.WRKT_DT IS '출근날짜'; +COMMENT ON COLUMN COMTNCOMMUTE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCOMMUTE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCOMMUTE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCOMMUTE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCOMMUTE.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTNCOMMUTE.OVTMWRK_HOURS IS '초과근무시간'; +COMMENT ON COLUMN COMTNCOMMUTE.RM IS '비고'; +COMMENT ON COLUMN COMTNCOMMUTE.WRKTM_ID IS '출퇴근 구분 ID'; +COMMENT ON COLUMN COMTNCOMMUTE.WRK_END_STATUS IS '퇴근상태'; +COMMENT ON COLUMN COMTNCOMMUTE.WRK_END_TIME IS '퇴근시간'; +COMMENT ON COLUMN COMTNCOMMUTE.WRK_HOURS IS '근무시간'; +COMMENT ON COLUMN COMTNCOMMUTE.WRK_START_STATUS IS '출근상태'; +COMMENT ON COLUMN COMTNCOMMUTE.WRK_START_TIME IS '출근시간'; + +COMMENT ON TABLE COMTNCPYRHTINFO IS '저작권정보'; + +COMMENT ON COLUMN COMTNCPYRHTINFO.CPYRHT_ID IS '저작권ID'; +COMMENT ON COLUMN COMTNCPYRHTINFO.CPYRHT_PRTC_POLICY_CN IS '저작권보호정책내용'; +COMMENT ON COLUMN COMTNCPYRHTINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCPYRHTINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCPYRHTINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNCPYRHTINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNCTSNNMANAGE IS '경조사정보'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.CTSNN_ID IS '경조ID'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.USER_ID IS '사용자ID'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.CTSNN_CODE IS '경조코드'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.REQST_DE IS '신청일'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.CTSNN_NM IS '경조명'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.TRGTER_NM IS '대상자명'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.BRTHDY IS '생일'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.RELATE IS '관계'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.RM IS '비고'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.SANCTNER_ID IS '결재자ID'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.CONFM_AT IS '승인여부'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.SANCTN_DT IS '결재일시'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.RETURN_RESN IS '반환사유'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.INFRML_SANCTN_ID IS '약식결재ID'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNCTSNNMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNDAMCALRES IS '지식정보요청제공'; + +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_ID IS '지식ID'; +COMMENT ON COLUMN COMTNDAMCALRES.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTNDAMCALRES.EXPERT_ID IS '전문가ID'; +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_TY_CODE IS '지식유형코드'; +COMMENT ON COLUMN COMTNDAMCALRES.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_NM IS '지식명'; +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_CN IS '지식내용'; +COMMENT ON COLUMN COMTNDAMCALRES.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNDAMCALRES.PARNTS_KNWLDG_ID IS '부모지식ID'; +COMMENT ON COLUMN COMTNDAMCALRES.ANSWER_DP IS '답변깊이'; +COMMENT ON COLUMN COMTNDAMCALRES.ANSWER_ORDR IS '답변순서'; +COMMENT ON COLUMN COMTNDAMCALRES.ANSWER_GROUP_NO IS '답변그룹번호'; +COMMENT ON COLUMN COMTNDAMCALRES.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDAMCALRES.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDAMCALRES.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDAMCALRES.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNDAMKNOIFM IS '지식정보'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_ID IS '지식ID'; +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_TY_CODE IS '지식유형코드'; +COMMENT ON COLUMN COMTNDAMKNOIFM.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTNDAMKNOIFM.EXPERT_ID IS '전문가ID'; +COMMENT ON COLUMN COMTNDAMKNOIFM.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_NM IS '지식명'; +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_CN IS '지식내용'; +COMMENT ON COLUMN COMTNDAMKNOIFM.KWRD IS '키워드'; +COMMENT ON COLUMN COMTNDAMKNOIFM.OTHBC_AT IS '공개여부'; +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_EVL IS '지식평가'; +COMMENT ON COLUMN COMTNDAMKNOIFM.COLCT_DE IS '수집일자'; +COMMENT ON COLUMN COMTNDAMKNOIFM.EVL_DE IS '평가일자'; +COMMENT ON COLUMN COMTNDAMKNOIFM.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNDAMKNOIFM.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDAMKNOIFM.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDAMKNOIFM.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDAMKNOIFM.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNDAMKNOIFM.DSUSE_DE IS '폐기일'; + +COMMENT ON TABLE COMTNDAMMAPKNO IS '지식맵(유형별)'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.KNWLDG_TY_CODE IS '지식유형코드'; +COMMENT ON COLUMN COMTNDAMMAPKNO.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTNDAMMAPKNO.EXPERT_ID IS '전문가ID'; +COMMENT ON COLUMN COMTNDAMMAPKNO.KNWLDG_TY_NM IS '지식유형명'; +COMMENT ON COLUMN COMTNDAMMAPKNO.CL_DE IS '분류일'; +COMMENT ON COLUMN COMTNDAMMAPKNO.KNWLDG_URL IS '지식URL'; +COMMENT ON COLUMN COMTNDAMMAPKNO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDAMMAPKNO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDAMMAPKNO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDAMMAPKNO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNDAMMAPTEAM IS '지식맵(조직별)'; + +COMMENT ON COLUMN COMTNDAMMAPTEAM.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTNDAMMAPTEAM.ORGNZT_NM IS '조직명'; +COMMENT ON COLUMN COMTNDAMMAPTEAM.CL_DE IS '분류일'; +COMMENT ON COLUMN COMTNDAMMAPTEAM.KNWLDG_URL IS '지식URL'; +COMMENT ON COLUMN COMTNDAMMAPTEAM.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDAMMAPTEAM.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNDAMPRO IS '지식전문가'; + +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_ID IS '전문가ID'; +COMMENT ON COLUMN COMTNDAMPRO.KNWLDG_TY_CODE IS '지식유형코드'; +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_GRAD IS '전문가등급'; +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_CONFM_DE IS '전문가승인일'; +COMMENT ON COLUMN COMTNDAMPRO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDAMPRO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDAMPRO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDAMPRO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_DC IS '전문가설명'; + +COMMENT ON TABLE COMTNDBMNTRNG IS 'DB서비스모니터링'; + +COMMENT ON COLUMN COMTNDBMNTRNG.DATA_SOURC_NM IS '데이터소스명'; +COMMENT ON COLUMN COMTNDBMNTRNG.SERVER_NM IS '서버명'; +COMMENT ON COLUMN COMTNDBMNTRNG.DBMS_KND IS 'DBMS종류'; +COMMENT ON COLUMN COMTNDBMNTRNG.CECK_SQL IS '체크SQL'; +COMMENT ON COLUMN COMTNDBMNTRNG.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTNDBMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNDBMNTRNG.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTNDBMNTRNG.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNDBMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDBMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDBMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDBMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNDEPTJOB IS '부서업무정보'; + +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOB_ID IS '부서업무ID'; +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOBBX_ID IS '부서업무함ID'; +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOB_NM IS '부서업무명'; +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOB_CN IS '부서업무내용'; +COMMENT ON COLUMN COMTNDEPTJOB.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNDEPTJOB.CHARGER_ID IS '담당자ID'; +COMMENT ON COLUMN COMTNDEPTJOB.PRIORT IS '우선순위'; +COMMENT ON COLUMN COMTNDEPTJOB.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDEPTJOB.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDEPTJOB.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDEPTJOB.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNDEPTJOBBX IS '부서업무함'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.DEPT_JOBBX_ID IS '부서업무함ID'; +COMMENT ON COLUMN COMTNDEPTJOBBX.DEPT_JOBBX_NM IS '부서업무함명'; +COMMENT ON COLUMN COMTNDEPTJOBBX.DEPT_ID IS '부서ID'; +COMMENT ON COLUMN COMTNDEPTJOBBX.INDICT_ORDR IS '표시순서'; +COMMENT ON COLUMN COMTNDEPTJOBBX.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDEPTJOBBX.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDEPTJOBBX.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDEPTJOBBX.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNDIARYINFO IS '일지정보'; + +COMMENT ON COLUMN COMTNDIARYINFO.SCHDUL_ID IS '일정ID'; +COMMENT ON COLUMN COMTNDIARYINFO.DIARY_ID IS '일지ID'; +COMMENT ON COLUMN COMTNDIARYINFO.DIARY_PROGRSRT IS '일지진척율'; +COMMENT ON COLUMN COMTNDIARYINFO.DIARY_NM IS '일지명'; +COMMENT ON COLUMN COMTNDIARYINFO.DRCT_MATTER IS '지시사항'; +COMMENT ON COLUMN COMTNDIARYINFO.PARTCLR_MATTER IS '특이사항'; +COMMENT ON COLUMN COMTNDIARYINFO.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNDIARYINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDIARYINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDIARYINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNDIARYINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNDTAUSESTATS IS '자료이용현황통계'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.DTA_USE_STATS_ID IS '자료사용통계ID'; +COMMENT ON COLUMN COMTNDTAUSESTATS.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNDTAUSESTATS.NTT_ID IS '게시물ID'; +COMMENT ON COLUMN COMTNDTAUSESTATS.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNDTAUSESTATS.FILE_SN IS '파일순번'; +COMMENT ON COLUMN COMTNDTAUSESTATS.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNDTAUSESTATS.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNDTAUSESTATS.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNDTAUSESTATS.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNEMPLYRINFO IS '업무사용자정보'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNEMPLYRINFO.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTNEMPLYRINFO.USER_NM IS '사용자명'; +COMMENT ON COLUMN COMTNEMPLYRINFO.PASSWORD IS '비밀번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.EMPL_NO IS '사원번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.IHIDNUM IS '주민등록번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.SEXDSTN_CODE IS '성별코드'; +COMMENT ON COLUMN COMTNEMPLYRINFO.BRTHDY IS '생일'; +COMMENT ON COLUMN COMTNEMPLYRINFO.FXNUM IS '팩스번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.HOUSE_ADRES IS '주택주소'; +COMMENT ON COLUMN COMTNEMPLYRINFO.PASSWORD_HINT IS '비밀번호힌트'; +COMMENT ON COLUMN COMTNEMPLYRINFO.PASSWORD_CNSR IS '비밀번호정답'; +COMMENT ON COLUMN COMTNEMPLYRINFO.HOUSE_END_TELNO IS '주택끝전화번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.DETAIL_ADRES IS '상세주소'; +COMMENT ON COLUMN COMTNEMPLYRINFO.ZIP IS '우편번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.OFFM_TELNO IS '사무실전화번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.MBTLNUM IS '이동전화번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.EMAIL_ADRES IS '이메일주소'; +COMMENT ON COLUMN COMTNEMPLYRINFO.OFCPS_NM IS '직위명'; +COMMENT ON COLUMN COMTNEMPLYRINFO.HOUSE_MIDDLE_TELNO IS '주택중간전화번호'; +COMMENT ON COLUMN COMTNEMPLYRINFO.GROUP_ID IS '그룹ID'; +COMMENT ON COLUMN COMTNEMPLYRINFO.PSTINST_CODE IS '소속기관코드'; +COMMENT ON COLUMN COMTNEMPLYRINFO.EMPLYR_STTUS_CODE IS '사용자상태코드'; +COMMENT ON COLUMN COMTNEMPLYRINFO.ESNTL_ID IS '고유ID'; +COMMENT ON COLUMN COMTNEMPLYRINFO.CRTFC_DN_VALUE IS '인증DN값'; +COMMENT ON COLUMN COMTNEMPLYRINFO.SBSCRB_DE IS '가입일자'; +COMMENT ON COLUMN COMTNEMPLYRINFO.LOCK_AT IS '잠금여부'; +COMMENT ON COLUMN COMTNEMPLYRINFO.LOCK_CNT IS '잠금회수'; +COMMENT ON COLUMN COMTNEMPLYRINFO.LOCK_LAST_PNTTM IS '잠금최종시점'; + +COMMENT ON TABLE COMTNEMPLYRSCRTYESTBS IS '사용자보안설정'; + +COMMENT ON COLUMN COMTNEMPLYRSCRTYESTBS.SCRTY_DTRMN_TRGET_ID IS '보안설정대상ID'; +COMMENT ON COLUMN COMTNEMPLYRSCRTYESTBS.MBER_TY_CODE IS '회원유형코드'; +COMMENT ON COLUMN COMTNEMPLYRSCRTYESTBS.AUTHOR_CODE IS '권한코드'; + +COMMENT ON TABLE COMTNENTRPRSMBER IS '기업회원'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_ID IS '기업회원ID'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_SE_CODE IS '기업구분코드'; +COMMENT ON COLUMN COMTNENTRPRSMBER.BIZRNO IS '사업자등록번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.JURIRNO IS '법인등록번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.CMPNY_NM IS '회사명'; +COMMENT ON COLUMN COMTNENTRPRSMBER.CXFC IS '대표이사'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ZIP IS '우편번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ADRES IS '주소'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MIDDLE_TELNO IS '기업중간전화번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.FXNUM IS '팩스번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.INDUTY_CODE IS '업종코드'; +COMMENT ON COLUMN COMTNENTRPRSMBER.APPLCNT_NM IS '신청인명'; +COMMENT ON COLUMN COMTNENTRPRSMBER.APPLCNT_IHIDNUM IS '신청인주민등록번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.SBSCRB_DE IS '가입일자'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_STTUS IS '기업회원상태'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_PASSWORD IS '기업회원비밀번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_PASSWORD_HINT IS '기업회원비밀번호힌트'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_PASSWORD_CNSR IS '기업회원비밀번호정답'; +COMMENT ON COLUMN COMTNENTRPRSMBER.GROUP_ID IS '그룹ID'; +COMMENT ON COLUMN COMTNENTRPRSMBER.DETAIL_ADRES IS '상세주소'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_END_TELNO IS '기업끝전화번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNENTRPRSMBER.APPLCNT_EMAIL_ADRES IS '신청자이메일주소'; +COMMENT ON COLUMN COMTNENTRPRSMBER.ESNTL_ID IS '고유ID'; +COMMENT ON COLUMN COMTNENTRPRSMBER.LOCK_AT IS '잠금여부'; +COMMENT ON COLUMN COMTNENTRPRSMBER.LOCK_CNT IS '잠금회수'; +COMMENT ON COLUMN COMTNENTRPRSMBER.LOCK_LAST_PNTTM IS '잠금최종시점'; + +COMMENT ON TABLE COMTNEVENTATDRN IS '행사참석자'; + +COMMENT ON COLUMN COMTNEVENTATDRN.APPLCNT_ID IS '신청인ID'; +COMMENT ON COLUMN COMTNEVENTATDRN.EVENT_ID IS '행사ID'; +COMMENT ON COLUMN COMTNEVENTATDRN.REQST_DE IS '신청일'; +COMMENT ON COLUMN COMTNEVENTATDRN.SANCTNER_ID IS '결재자ID'; +COMMENT ON COLUMN COMTNEVENTATDRN.CONFM_AT IS '승인여부'; +COMMENT ON COLUMN COMTNEVENTATDRN.SANCTN_DT IS '결재일시'; +COMMENT ON COLUMN COMTNEVENTATDRN.RETURN_RESN IS '반환사유'; +COMMENT ON COLUMN COMTNEVENTATDRN.INFRML_SANCTN_ID IS '약식결재ID'; +COMMENT ON COLUMN COMTNEVENTATDRN.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNEVENTATDRN.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNEVENTATDRN.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNEVENTATDRN.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNEVENTINFO IS '행사/이벤트정보'; + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_ID IS '행사ID'; +COMMENT ON COLUMN COMTNEVENTINFO.BSNS_YEAR IS '사업년도'; +COMMENT ON COLUMN COMTNEVENTINFO.BSNS_CODE IS '사업코드'; +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_CN IS '행사내용'; +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_SVC_BGNDE IS '행사서비스시작일'; +COMMENT ON COLUMN COMTNEVENTINFO.SVC_USE_NMPR_CO IS '서비스사용인원수'; +COMMENT ON COLUMN COMTNEVENTINFO.CHARGER_NM IS '담당자명'; +COMMENT ON COLUMN COMTNEVENTINFO.PRPARETG_CN IS '준비물내용'; +COMMENT ON COLUMN COMTNEVENTINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNEVENTINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNEVENTINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNEVENTINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_SVC_ENDDE IS '행사서비스종료일'; +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_TY_CODE IS '행사유형코드'; +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_CONFM_AT IS '행사승인여부'; +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_CONFM_DE IS '행사승인날짜'; + +COMMENT ON TABLE COMTNEVENTMANAGE IS '행사관리'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_ID IS '행사ID'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_SE IS '행사구분'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_NM IS '행사명'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_PURPS IS '행사목적'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_BGNDE IS '행사시작일'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_ENDDE IS '행사종료일'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_AUSPC_INSTT_NM IS '행사주최기관명'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_MNGT_INSTT_NM IS '행사주관기관명'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_PLACE IS '행사장소'; +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_CN IS '행사내용'; +COMMENT ON COLUMN COMTNEVENTMANAGE.CT_OCCRRNC_AT IS '비용발생여부'; +COMMENT ON COLUMN COMTNEVENTMANAGE.PARTCPT_CT IS '참가비용'; +COMMENT ON COLUMN COMTNEVENTMANAGE.REFRN_URL IS '참조URL'; +COMMENT ON COLUMN COMTNEVENTMANAGE.RCEPT_BGNDE IS '접수시작일'; +COMMENT ON COLUMN COMTNEVENTMANAGE.RCEPT_ENDDE IS '접수종료일'; +COMMENT ON COLUMN COMTNEVENTMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNEVENTMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNEVENTMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNEVENTMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNEVENTMANAGE.PSNCPA IS '정원'; + +COMMENT ON TABLE COMTNEXTRLHRINFO IS '외부인사정보'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.EVENT_ID IS '행사ID'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.EXTRL_HR_ID IS '외부인사ID'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.SEXDSTN_CODE IS '성별코드'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.EXTRL_HR_NM IS '외부인사명'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.OCCP_TY_CODE IS '직업유형코드'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.PSITN_INSTT_NM IS '소속기관명'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.BRTHDY IS '생일'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.MIDDLE_TELNO IS '중간전화번호'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.END_TELNO IS '끝전화번호'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.EMAIL_ADRES IS '이메일주소'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNEXTRLHRINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNFAQINFO IS 'FAQ정보'; + +COMMENT ON COLUMN COMTNFAQINFO.FAQ_ID IS 'FAQID'; +COMMENT ON COLUMN COMTNFAQINFO.QESTN_SJ IS '질문제목'; +COMMENT ON COLUMN COMTNFAQINFO.QESTN_CN IS '질문내용'; +COMMENT ON COLUMN COMTNFAQINFO.ANSWER_CN IS '답변내용'; +COMMENT ON COLUMN COMTNFAQINFO.RDCNT IS '조회수'; +COMMENT ON COLUMN COMTNFAQINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNFAQINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNFAQINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNFAQINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNFAQINFO.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNFAQINFO.QNA_PROCESS_STTUS_CODE IS '질의응답처리상태코드'; + +COMMENT ON TABLE COMTNFILE IS '파일속성'; + +COMMENT ON COLUMN COMTNFILE.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNFILE.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNFILE.USE_AT IS '사용여부'; + +COMMENT ON TABLE COMTNFILEDETAIL IS '파일상세정보'; + +COMMENT ON COLUMN COMTNFILEDETAIL.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_SN IS '파일순번'; +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_STRE_COURS IS '파일저장경로'; +COMMENT ON COLUMN COMTNFILEDETAIL.STRE_FILE_NM IS '저장파일명'; +COMMENT ON COLUMN COMTNFILEDETAIL.ORIGNL_FILE_NM IS '원파일명'; +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_EXTSN IS '파일확장자'; +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_CN IS '파일내용'; +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_SIZE IS '파일크기'; + +COMMENT ON TABLE COMTNFILESYSMNTRNG IS '파일시스템모니터링'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_ID IS '파일시스템ID'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_NM IS '파일시스템명'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_MANAGE_NM IS '파일시스템관리명'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_SIZE IS '파일시스템크기'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_THRHLD IS '파일시스템임계치'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_USGQTY IS '파일시스템사용량'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNFILESYSMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNFILESYSMNTRNGLOGINFO IS '파일시스템모니터링로그정보'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_ID IS '파일시스템ID'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_NM IS '파일시스템명'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_MANAGE_NM IS '파일시스템관리명'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_SIZE IS '파일시스템크기'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_THRHLD IS '파일시스템임계치'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_USGQTY IS '파일시스템사용량'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LOG_INFO IS '로그정보'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNFXTRSMANAGE IS 'COMTNFXTRSMANAGE'; + +COMMENT ON COLUMN COMTNFXTRSMANAGE.FXTRS_CODE IS '비품코드'; +COMMENT ON COLUMN COMTNFXTRSMANAGE.FXTRS_NM IS '비품명'; +COMMENT ON COLUMN COMTNFXTRSMANAGE.MAKR_NM IS '제작자명'; +COMMENT ON COLUMN COMTNFXTRSMANAGE.PRICE IS '가격'; + +COMMENT ON TABLE COMTNGNRLMBER IS '일반회원'; + +COMMENT ON COLUMN COMTNGNRLMBER.MBER_ID IS '회원ID'; +COMMENT ON COLUMN COMTNGNRLMBER.PASSWORD IS '비밀번호'; +COMMENT ON COLUMN COMTNGNRLMBER.PASSWORD_HINT IS '비밀번호힌트'; +COMMENT ON COLUMN COMTNGNRLMBER.PASSWORD_CNSR IS '비밀번호정답'; +COMMENT ON COLUMN COMTNGNRLMBER.IHIDNUM IS '주민등록번호'; +COMMENT ON COLUMN COMTNGNRLMBER.MBER_NM IS '회원명'; +COMMENT ON COLUMN COMTNGNRLMBER.ZIP IS '우편번호'; +COMMENT ON COLUMN COMTNGNRLMBER.ADRES IS '주소'; +COMMENT ON COLUMN COMTNGNRLMBER.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNGNRLMBER.MBER_STTUS IS '회원상태'; +COMMENT ON COLUMN COMTNGNRLMBER.DETAIL_ADRES IS '상세주소'; +COMMENT ON COLUMN COMTNGNRLMBER.END_TELNO IS '끝전화번호'; +COMMENT ON COLUMN COMTNGNRLMBER.MBTLNUM IS '이동전화번호'; +COMMENT ON COLUMN COMTNGNRLMBER.GROUP_ID IS '그룹ID'; +COMMENT ON COLUMN COMTNGNRLMBER.MBER_FXNUM IS '회원팩스번호'; +COMMENT ON COLUMN COMTNGNRLMBER.MBER_EMAIL_ADRES IS '회원이메일주소'; +COMMENT ON COLUMN COMTNGNRLMBER.MIDDLE_TELNO IS '중간전화번호'; +COMMENT ON COLUMN COMTNGNRLMBER.SBSCRB_DE IS '가입일자'; +COMMENT ON COLUMN COMTNGNRLMBER.SEXDSTN_CODE IS '성별코드'; +COMMENT ON COLUMN COMTNGNRLMBER.ESNTL_ID IS '고유ID'; +COMMENT ON COLUMN COMTNGNRLMBER.LOCK_AT IS '잠금여부'; +COMMENT ON COLUMN COMTNGNRLMBER.LOCK_CNT IS '잠금회수'; +COMMENT ON COLUMN COMTNGNRLMBER.LOCK_LAST_PNTTM IS '잠금최종시점'; + +COMMENT ON TABLE COMTNHPCMINFO IS '도움말정보'; + +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_ID IS '도움말ID'; +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_SE_CODE IS '도움말구분코드'; +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_DFN IS '도움말정의'; +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_DC IS '도움말설명'; +COMMENT ON COLUMN COMTNHPCMINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNHPCMINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNHPCMINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNHPCMINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNHTTPMON IS 'HTTP서비스모니터링'; + +COMMENT ON COLUMN COMTNHTTPMON.SYS_ID IS '시스템ID'; +COMMENT ON COLUMN COMTNHTTPMON.SITE_URL IS '사이트URL'; +COMMENT ON COLUMN COMTNHTTPMON.WEBSVC_KND IS '웹서비스종류'; +COMMENT ON COLUMN COMTNHTTPMON.HTTP_STTUS_CODE IS 'HTTP상태코드'; +COMMENT ON COLUMN COMTNHTTPMON.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNHTTPMON.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTNHTTPMON.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNHTTPMON.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNHTTPMON.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNHTTPMON.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNHTTPMON.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNINDVDLINFOPOLICY IS '개인정보정책확인'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_ID IS '개인정보정책ID'; +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_CN IS '개인정보정책내용'; +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_AGRE_AT IS '개인정보정책동의여부'; +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_NM IS '개인정보정책명'; + +COMMENT ON TABLE COMTNINDVDLPGECNTNTS IS '마이페이지 컨텐츠'; + +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_ID IS '컨텐츠ID'; +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_NM IS '컨텐츠명'; +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTC_URL IS '연계URL'; +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_USE_AT IS '컨텐츠사용여부'; +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_LINK_URL IS '컨텐츠링크URL'; +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_DC IS '컨텐츠설명'; + +COMMENT ON TABLE COMTNINDVDLPGEESTBS IS '마이페이지 설정'; + +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.UPEND_IMAGE IS '상단이미지'; +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.TITLEBAR_COLOR IS '타이틀바색상'; +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.ALGN_MTHD IS '배열방식'; +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.ALGN_CO IS '배열개수'; + +COMMENT ON TABLE COMTNINDVDLYRYCMANAGE IS '개인별연차관리'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.OCCRRNC_YEAR IS '발생년도'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.USER_ID IS '사용자ID'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.YRYC_OCCRRNC_CO IS '연차발생개수'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.USE_YRYC_CO IS '사용연차개수'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.REMNDR_YRYC_CO IS '잔여연차개수'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNINFRMLSANCTN IS '약식결재정보'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.INFRML_SANCTN_ID IS '약식결재ID'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.JOB_SE_CODE IS '업무구분코드'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.APPLCNT_ID IS '신청인ID'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.REQST_DE IS '신청일'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.SANCTNER_ID IS '결재자ID'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.CONFM_AT IS '승인여부'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.SANCTN_DT IS '결재일시'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.RETURN_RESN IS '반환사유'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNINFRMLSANCTN.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNINSTTCODE IS '기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_CODE IS '기관코드'; +COMMENT ON COLUMN COMTNINSTTCODE.ALL_INSTT_NM IS '전체기관명'; +COMMENT ON COLUMN COMTNINSTTCODE.LOWEST_INSTT_NM IS '최하위기관명'; +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_ABRV_NM IS '기관약어명'; +COMMENT ON COLUMN COMTNINSTTCODE.ODR IS '차수'; +COMMENT ON COLUMN COMTNINSTTCODE.ORD IS '서열'; +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_ODR IS '기관차수'; +COMMENT ON COLUMN COMTNINSTTCODE.UPPER_INSTT_CODE IS '상위기관코드'; +COMMENT ON COLUMN COMTNINSTTCODE.BEST_INSTT_CODE IS '최상위기관코드'; +COMMENT ON COLUMN COMTNINSTTCODE.REPRSNT_INSTT_CODE IS '대표기관코드'; +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_TY_LCLAS IS '기관유형대분류'; +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_TY_MLSFC IS '기관유형중분류'; +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_TY_SCLAS IS '기관유형소분류'; +COMMENT ON COLUMN COMTNINSTTCODE.CREAT_DE IS '생성일'; +COMMENT ON COLUMN COMTNINSTTCODE.TELNO IS '전화번호'; +COMMENT ON COLUMN COMTNINSTTCODE.FXNUM IS '팩스번호'; +COMMENT ON COLUMN COMTNINSTTCODE.ABL_DE IS '폐지일'; +COMMENT ON COLUMN COMTNINSTTCODE.ABL_ENNC IS '폐지유무'; +COMMENT ON COLUMN COMTNINSTTCODE.CHANGE_DE IS '변경일'; +COMMENT ON COLUMN COMTNINSTTCODE.CHANGE_TIME IS '변경시간'; +COMMENT ON COLUMN COMTNINSTTCODE.BSIS_DE IS '기초일'; +COMMENT ON COLUMN COMTNINSTTCODE.SORT_ORDR IS '정렬순서'; +COMMENT ON COLUMN COMTNINSTTCODE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNINSTTCODE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNINSTTCODE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNINSTTCODE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNINSTTCODERECPTNLOG IS '기관코드수신로그'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.OPERT_SN IS '작업일련번호'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_CODE IS '기관코드'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CHANGE_SE_CODE IS '변경구분코드'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.PROCESS_SE IS '처리구분'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ETC_CODE IS '기타코드'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ALL_INSTT_NM IS '전체기관명'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.LOWEST_INSTT_NM IS '최하위기관명'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_ABRV_NM IS '기관약어명'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ODR IS '차수'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ORD IS '서열'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_ODR IS '기관차수'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.UPPER_INSTT_CODE IS '상위기관코드'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.BEST_INSTT_CODE IS '최상위기관코드'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.REPRSNT_INSTT_CODE IS '대표기관코드'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_TY_LCLAS IS '기관유형대분류'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_TY_MLSFC IS '기관유형중분류'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_TY_SCLAS IS '기관유형소분류'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.TELNO IS '전화번호'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.FXNUM IS '팩스번호'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CREAT_DE IS '생성일'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ABL_DE IS '폐지일'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ABL_ENNC IS '폐지유무'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CHANGE_DE IS '변경일'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CHANGE_TIME IS '변경시간'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.BSIS_DE IS '기초일'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.SORT_ORDR IS '정렬순서'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNINTNETSVC IS '인터넷서비스'; + +COMMENT ON COLUMN COMTNINTNETSVC.INTNET_SVC_ID IS '인터넷서비스ID'; +COMMENT ON COLUMN COMTNINTNETSVC.INTNET_SVC_NM IS '인터넷서비스명'; +COMMENT ON COLUMN COMTNINTNETSVC.INTNET_SVC_DC IS '인터넷서비스설명'; +COMMENT ON COLUMN COMTNINTNETSVC.REFLCT_AT IS '반영여부'; +COMMENT ON COLUMN COMTNINTNETSVC.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNINTNETSVC.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNINTNETSVC.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNINTNETSVC.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNLEADERSCHDUL IS '간부일정정보'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_ID IS '일정ID'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_SE IS '일정구분'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_NM IS '일정명'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_CN IS '일정내용'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_PLACE IS '일정장소'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.LEADER_ID IS '간부ID'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.REPTIT_SE_CODE IS '반복구분코드'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_BGNDE IS '일정시작일'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_ENDDE IS '일정종료일'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_CHARGER_ID IS '일정담당자ID'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNLEADERSCHDUL.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNLEADERSCHDULDE IS '간부일정관리'; + + +COMMENT ON COLUMN COMTNLEADERSCHDULDE.SCHDUL_ID IS '일정ID'; +COMMENT ON COLUMN COMTNLEADERSCHDULDE.SCHDUL_DE IS '일정일'; + +COMMENT ON TABLE COMTNLEADERSTTUS IS '간부상태정보'; + +COMMENT ON COLUMN COMTNLEADERSTTUS.LEADER_ID IS '간부ID'; +COMMENT ON COLUMN COMTNLEADERSTTUS.LEADER_STTUS IS '간부상태'; +COMMENT ON COLUMN COMTNLEADERSTTUS.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNLEADERSTTUS.FRST_REGIST_PNTTM IS '최초등록자시점'; +COMMENT ON COLUMN COMTNLEADERSTTUS.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNLEADERSTTUS.LAST_UPDT_PNTTM IS '최종등록자시점'; + +COMMENT ON TABLE COMTNLOGINLOG IS '접속로그'; + +COMMENT ON COLUMN COMTNLOGINLOG.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTNLOGINLOG.CONECT_ID IS '접속ID'; +COMMENT ON COLUMN COMTNLOGINLOG.CONECT_IP IS '접속IP'; +COMMENT ON COLUMN COMTNLOGINLOG.CONECT_MTHD IS '접속방식'; +COMMENT ON COLUMN COMTNLOGINLOG.ERROR_OCCRRNC_AT IS '오류발생여부'; +COMMENT ON COLUMN COMTNLOGINLOG.ERROR_CODE IS '오류코드'; +COMMENT ON COLUMN COMTNLOGINLOG.CREAT_DT IS '생성일시'; + +COMMENT ON TABLE COMTNLOGINPOLICY IS '로그인정책'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNLOGINPOLICY.IP_INFO IS 'IP정보'; +COMMENT ON COLUMN COMTNLOGINPOLICY.DPLCT_PERM_AT IS '중복허용여부'; +COMMENT ON COLUMN COMTNLOGINPOLICY.LMTT_AT IS '제한여부'; +COMMENT ON COLUMN COMTNLOGINPOLICY.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNLOGINPOLICY.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNLOGINPOLICY.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNLOGINPOLICY.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNLOGINSCRINIMAGE IS '로그인화면이미지'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_ID IS '이미지ID'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_NM IS '이미지명'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_FILE IS '이미지파일'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.REFLCT_AT IS '반영여부'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE IS '이미지'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_DC IS '이미지설명'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNMAINIMAGE IS '메인이미지'; + +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_ID IS '이미지ID'; +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_NM IS '이미지명'; +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE IS '이미지'; +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_DC IS '이미지설명'; +COMMENT ON COLUMN COMTNMAINIMAGE.REFLCT_AT IS '반영여부'; +COMMENT ON COLUMN COMTNMAINIMAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNMAINIMAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNMAINIMAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNMAINIMAGE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_FILE IS '이미지파일'; + +COMMENT ON TABLE COMTNMEMOREPRT IS '메모보고관리'; + +COMMENT ON COLUMN COMTNMEMOREPRT.REPRT_ID IS '보고서ID'; +COMMENT ON COLUMN COMTNMEMOREPRT.REPRT_SJ IS '보고서제목'; +COMMENT ON COLUMN COMTNMEMOREPRT.REPORT_DE IS '보고일'; +COMMENT ON COLUMN COMTNMEMOREPRT.WRTER_ID IS '작성자ID'; +COMMENT ON COLUMN COMTNMEMOREPRT.REPORTR_ID IS '보고자ID'; +COMMENT ON COLUMN COMTNMEMOREPRT.REPORT_CN IS '보고내용'; +COMMENT ON COLUMN COMTNMEMOREPRT.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNMEMOREPRT.DRCT_MATTER IS '지시사항'; +COMMENT ON COLUMN COMTNMEMOREPRT.DRCT_MATTER_REGIST_DT IS '지시사항등록일시'; +COMMENT ON COLUMN COMTNMEMOREPRT.REPORTR_INQIRE_DT IS '보고자조회일시'; +COMMENT ON COLUMN COMTNMEMOREPRT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNMEMOREPRT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNMEMOREPRT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNMEMOREPRT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNMEMOTODO IS '메모할일정보'; + +COMMENT ON COLUMN COMTNMEMOTODO.TODO_ID IS '할일ID'; +COMMENT ON COLUMN COMTNMEMOTODO.TODO_SJ IS '할일제목'; +COMMENT ON COLUMN COMTNMEMOTODO.TODO_BEGIN_TIME IS '할일시작시간'; +COMMENT ON COLUMN COMTNMEMOTODO.TODO_END_TIME IS '할일종료시간'; +COMMENT ON COLUMN COMTNMEMOTODO.WRTER_ID IS '작성자ID'; +COMMENT ON COLUMN COMTNMEMOTODO.TODO_CN IS '할일내용'; +COMMENT ON COLUMN COMTNMEMOTODO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNMEMOTODO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNMEMOTODO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNMEMOTODO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNMENUCREATDTLS IS '메뉴생성내역'; + +COMMENT ON COLUMN COMTNMENUCREATDTLS.MENU_NO IS '메뉴번호'; +COMMENT ON COLUMN COMTNMENUCREATDTLS.AUTHOR_CODE IS '권한코드'; +COMMENT ON COLUMN COMTNMENUCREATDTLS.MAPNG_CREAT_ID IS '매핑생성ID'; + +COMMENT ON TABLE COMTNMENUINFO IS '메뉴정보'; + +COMMENT ON COLUMN COMTNMENUINFO.MENU_NO IS '메뉴번호'; +COMMENT ON COLUMN COMTNMENUINFO.UPPER_MENU_NO IS '상위메뉴번호'; +COMMENT ON COLUMN COMTNMENUINFO.MENU_NM IS '메뉴명'; +COMMENT ON COLUMN COMTNMENUINFO.PROGRM_FILE_NM IS '프로그램파일명'; +COMMENT ON COLUMN COMTNMENUINFO.MENU_ORDR IS '메뉴순서'; +COMMENT ON COLUMN COMTNMENUINFO.MENU_DC IS '메뉴설명'; +COMMENT ON COLUMN COMTNMENUINFO.RELATE_IMAGE_PATH IS '관계이미지경로'; +COMMENT ON COLUMN COMTNMENUINFO.RELATE_IMAGE_NM IS '관계이미지명'; + +COMMENT ON TABLE COMTNMTGINFO IS '회의정보'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_ID IS '회의ID'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_NM IS '회의명'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_MTR_CN IS '회의안건내용'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_SN IS '회의순번'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_CO IS '회의수'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_DE IS '회의일'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_PLACE IS '회의장소'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_BEGIN_TM IS '회의시작시간'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_END_TM IS '회의종료시간'; +COMMENT ON COLUMN COMTNMTGINFO.CLSDR_MTG_AT IS '비공개회의여부'; +COMMENT ON COLUMN COMTNMTGINFO.READNG_BGNDE IS '열람개시일'; +COMMENT ON COLUMN COMTNMTGINFO.READNG_AT IS '열람여부'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_RESULT_CN IS '회의결과내용'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_RESULT_ENNC IS '회의결과유무'; +COMMENT ON COLUMN COMTNMTGINFO.ETC_MATTER IS '기타사항'; +COMMENT ON COLUMN COMTNMTGINFO.MNGT_DEPT_ID IS '주관부서ID'; +COMMENT ON COLUMN COMTNMTGINFO.MNAER_ID IS '주관자ID'; +COMMENT ON COLUMN COMTNMTGINFO.MNAER_DEPT_ID IS '주관자부서ID'; +COMMENT ON COLUMN COMTNMTGINFO.MTG_AT IS '회의여부'; +COMMENT ON COLUMN COMTNMTGINFO.NONATDRN_CO IS '불참자수'; +COMMENT ON COLUMN COMTNMTGINFO.ATDRN_CO IS '참석자수'; +COMMENT ON COLUMN COMTNMTGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNMTGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNMTGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNMTGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNMTGPLACEFXTRS IS '회의실비품'; + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.MTGRUM_ID IS '회의실ID'; +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.FXTRS_CODE IS '비품코드'; +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.QY IS '량'; +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNMTGPLACEMANAGE IS '회의실관리'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.MTGRUM_ID IS '회의실ID'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.MTGRUM_NM IS '회의실명'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.OPN_BEGIN_TM IS '개방시작시각'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.OPN_END_TM IS '개방종료시각'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.ACEPTNC_POSBL_NMPR IS '수용가능인원'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LC_SE IS '위치구분'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LC_DETAIL IS '위치상세'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNMTGPLACERESVE IS '회의실예약정보'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_ID IS '예약ID'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.MTGRUM_ID IS '회의실ID'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.MTG_SJ IS '회의제목'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.RSVCTM_ID IS '예약자ID'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_DE IS '예약일'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_BEGIN_TM IS '예약시작시각'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_END_TM IS '예약종료시각'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.ATNDNC_NMPR IS '참석인원'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.MTG_CN IS '회의내용'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNMTGPLACERESVE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNNCRD IS '명함정보속성'; + +COMMENT ON COLUMN COMTNNCRD.NCRD_ID IS '명함ID'; +COMMENT ON COLUMN COMTNNCRD.NCRD_TRGTER_ID IS '명함대상자ID'; +COMMENT ON COLUMN COMTNNCRD.NM IS '이름'; +COMMENT ON COLUMN COMTNNCRD.TELNO IS '전화번호'; +COMMENT ON COLUMN COMTNNCRD.NATION_NO IS '국가번호'; +COMMENT ON COLUMN COMTNNCRD.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNNCRD.MIDDLE_TELNO IS '중간전화번호'; +COMMENT ON COLUMN COMTNNCRD.END_TELNO IS '끝전화번호'; +COMMENT ON COLUMN COMTNNCRD.MBTLNUM IS '이동전화번호'; +COMMENT ON COLUMN COMTNNCRD.IDNTFC_NO IS '식별번호'; +COMMENT ON COLUMN COMTNNCRD.MIDDLE_MBTLNUM IS '중간이동전화번호'; +COMMENT ON COLUMN COMTNNCRD.END_MBTLNUM IS '끝이동전화번호'; +COMMENT ON COLUMN COMTNNCRD.EMAIL_ADRES IS '이메일주소'; +COMMENT ON COLUMN COMTNNCRD.CMPNY_NM IS '회사명'; +COMMENT ON COLUMN COMTNNCRD.DEPT_NM IS '부서명'; +COMMENT ON COLUMN COMTNNCRD.ADRES IS '주소'; +COMMENT ON COLUMN COMTNNCRD.DETAIL_ADRES IS '상세주소'; +COMMENT ON COLUMN COMTNNCRD.OFCPS_NM IS '직위명'; +COMMENT ON COLUMN COMTNNCRD.CLSF_NM IS '직급명'; +COMMENT ON COLUMN COMTNNCRD.EXTRL_USER_AT IS '외부사용자여부'; +COMMENT ON COLUMN COMTNNCRD.OTHBC_AT IS '공개여부'; +COMMENT ON COLUMN COMTNNCRD.RM IS '비고'; +COMMENT ON COLUMN COMTNNCRD.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNCRD.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNCRD.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNNCRD.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNNCRDUSER IS '명함사용자속성'; + +COMMENT ON COLUMN COMTNNCRDUSER.NCRD_ID IS '명함ID'; +COMMENT ON COLUMN COMTNNCRDUSER.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNNCRDUSER.REGIST_SE_CODE IS '등록구분코드'; +COMMENT ON COLUMN COMTNNCRDUSER.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNNCRDUSER.CREAT_DT IS '생성일시'; + +COMMENT ON TABLE COMTNNEWSINFO IS '뉴스정보'; + +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_ID IS '뉴스ID'; +COMMENT ON COLUMN COMTNNEWSINFO.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_SJ IS '뉴스제목'; +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_CN IS '뉴스내용'; +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_ORIGIN IS '뉴스출처'; +COMMENT ON COLUMN COMTNNEWSINFO.NTCE_AT IS '게시여부'; +COMMENT ON COLUMN COMTNNEWSINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNEWSINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNEWSINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNNEWSINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNNEWSINFO.NTCE_DE IS '게시일'; + +COMMENT ON TABLE COMTNNOTE IS '쪽지관리'; + +COMMENT ON COLUMN COMTNNOTE.NOTE_ID IS '쪽지ID'; +COMMENT ON COLUMN COMTNNOTE.NOTE_SJ IS '쪽지제목'; +COMMENT ON COLUMN COMTNNOTE.NOTE_CN IS '쪽지내용'; +COMMENT ON COLUMN COMTNNOTE.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNNOTE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNOTE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNOTE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNNOTE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNNOTERECPTN IS '받은쪽지함관리'; + +COMMENT ON COLUMN COMTNNOTERECPTN.NOTE_ID IS '쪽지ID'; +COMMENT ON COLUMN COMTNNOTERECPTN.NOTE_TRNSMIT_ID IS '쪽지송신ID'; +COMMENT ON COLUMN COMTNNOTERECPTN.NOTE_RECPTN_ID IS '쪽지수신ID'; +COMMENT ON COLUMN COMTNNOTERECPTN.RCVER_ID IS '수신자ID'; +COMMENT ON COLUMN COMTNNOTERECPTN.OPEN_YN IS '개봉여부'; +COMMENT ON COLUMN COMTNNOTERECPTN.RECPTN_SE IS '수신구분'; +COMMENT ON COLUMN COMTNNOTERECPTN.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNOTERECPTN.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNOTERECPTN.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNNOTERECPTN.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNNOTETRNSMIT IS '보낸쪽지함관리'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.NOTE_ID IS '쪽지ID'; +COMMENT ON COLUMN COMTNNOTETRNSMIT.NOTE_TRNSMIT_ID IS '쪽지송신ID'; +COMMENT ON COLUMN COMTNNOTETRNSMIT.TRNSMITER_ID IS '송신자ID'; +COMMENT ON COLUMN COMTNNOTETRNSMIT.DELETE_AT IS '삭제여부'; +COMMENT ON COLUMN COMTNNOTETRNSMIT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNOTETRNSMIT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNOTETRNSMIT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNNOTETRNSMIT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNNTFCINFO IS '정보알림'; + +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_NO IS '알림번호'; +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_SJ IS '알림제목'; +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_CN IS '알림내용'; +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_TM IS '알림시간'; +COMMENT ON COLUMN COMTNNTFCINFO.BH_NTCN_INTRVL IS '사전알림간격'; +COMMENT ON COLUMN COMTNNTFCINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNTFCINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNNTFCINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNTFCINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNNTTSTATS IS '게시물통계'; + +COMMENT ON COLUMN COMTNNTTSTATS.STATS_ID IS '통계ID'; +COMMENT ON COLUMN COMTNNTTSTATS.NTCE_CO IS '게시개수'; +COMMENT ON COLUMN COMTNNTTSTATS.AVRG_RDCNT IS '평균조회수'; +COMMENT ON COLUMN COMTNNTTSTATS.TOP_RDCNT IS '최고조회수'; +COMMENT ON COLUMN COMTNNTTSTATS.MUMM_RDCNT IS '최소조회수'; +COMMENT ON COLUMN COMTNNTTSTATS.TOP_NTCR_ID IS '최고게시자ID'; + +COMMENT ON TABLE COMTNNTWRKINFO IS '네트워크정보'; + +COMMENT ON COLUMN COMTNNTWRKINFO.NTWRK_ID IS '네트워크ID'; +COMMENT ON COLUMN COMTNNTWRKINFO.NTWRK_IP IS '네트워크IP'; +COMMENT ON COLUMN COMTNNTWRKINFO.GTWY IS '게이트웨이'; +COMMENT ON COLUMN COMTNNTWRKINFO.SUBNET IS '서브넷'; +COMMENT ON COLUMN COMTNNTWRKINFO.DOMN_NM_SERVER IS '도메인명서버'; +COMMENT ON COLUMN COMTNNTWRKINFO.MANAGE_IEM IS '관리항목'; +COMMENT ON COLUMN COMTNNTWRKINFO.USER_NM IS '사용자명'; +COMMENT ON COLUMN COMTNNTWRKINFO.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNNTWRKINFO.RGSDE IS '등록일'; +COMMENT ON COLUMN COMTNNTWRKINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNTWRKINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNTWRKINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNNTWRKINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNNTWRKSVCMNTRNG IS '네트워크서비스모니터링'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.SYS_IP IS '시스템IP'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.SYS_PORT IS '시스템포트'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.SYS_NM IS '시스템명'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNNTWRKSVCMNTRNGLOGINFO IS '네트워크서비스모니터링로그정보'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.SYS_IP IS '시스템IP'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.SYS_PORT IS '시스템포트'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.SYS_NM IS '시스템명'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LOG_INFO IS '로그정보'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNONLINEMANUAL IS '온라인메뉴얼'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_ID IS '온라인메뉴얼ID'; +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_SE_CODE IS '온라인메뉴얼구분코드'; +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_DFN IS '온라인메뉴얼정의'; +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_DC IS '온라인메뉴얼설명'; +COMMENT ON COLUMN COMTNONLINEMANUAL.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNONLINEMANUAL.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNONLINEMANUAL.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNONLINEMANUAL.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_NM IS '온라인메뉴얼명'; + +COMMENT ON TABLE COMTNONLINEPOLLIEM IS '온라인POLL항목'; + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.POLL_ID IS 'POLLID'; +COMMENT ON COLUMN COMTNONLINEPOLLIEM.POLL_IEM_ID IS 'POLL항목ID'; +COMMENT ON COLUMN COMTNONLINEPOLLIEM.POLL_IEM_NM IS 'POLL항목명'; +COMMENT ON COLUMN COMTNONLINEPOLLIEM.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNONLINEPOLLIEM.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNONLINEPOLLIEM.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNONLINEPOLLIEM.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNONLINEPOLLMANAGE IS '온라인POLL관리'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_ID IS 'POLLID'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_NM IS 'POLL명'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_BGNDE IS 'POLL시작일'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_ENDDE IS 'POLL종료일'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_KND IS 'POLL종류'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_DSUSE_ENNC IS 'POLL폐기유무'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_ATMC_DSUSE_ENNC IS 'POLL자동폐기유무'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNONLINEPOLLRESULT IS '온라인POLL결과'; + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.POLL_RESULT_ID IS 'POLL결과ID'; +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.POLL_IEM_ID IS 'POLL항목ID'; +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.POLL_ID IS 'POLLID'; +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNORGNZTINFO IS '조직정보'; + +COMMENT ON COLUMN COMTNORGNZTINFO.ORGNZT_ID IS '조직ID'; +COMMENT ON COLUMN COMTNORGNZTINFO.ORGNZT_NM IS '조직명'; +COMMENT ON COLUMN COMTNORGNZTINFO.ORGNZT_DC IS '조직설명'; + +COMMENT ON TABLE COMTNPOPUPMANAGE IS '팝업 정보 관리'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_ID IS '팝업ID'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_SJ_NM IS '팝업제목명'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.FILE_URL IS '파일URL'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_WIDTH_LC IS '팝업가로위치'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_VRTICL_LC IS '팝업세로위치'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_WIDTH_SIZE IS '팝업가로사이즈'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_VRTICL_SIZE IS '팝업세로사이즈'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.NTCE_BGNDE IS '게시시작일'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.NTCE_ENDDE IS '게시종료일'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.STOPVEW_SETUP_AT IS '그만보기설정여부'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.NTCE_AT IS '게시여부'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNPOPUPMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNPRIVACYLOG IS '개인정보조회 로그'; + +COMMENT ON COLUMN COMTNPRIVACYLOG.REQUST_ID IS '요청 ID'; +COMMENT ON COLUMN COMTNPRIVACYLOG.INQIRE_DT IS '조회일시'; +COMMENT ON COLUMN COMTNPRIVACYLOG.INQIRE_INFO IS '조회 정보 명'; +COMMENT ON COLUMN COMTNPRIVACYLOG.RQESTER_ID IS '요청자아이디'; +COMMENT ON COLUMN COMTNPRIVACYLOG.RQESTER_IP IS '요청아이피'; +COMMENT ON COLUMN COMTNPRIVACYLOG.SRVC_NM IS '서비스 명'; + +COMMENT ON TABLE COMTNPROCESSMON IS '프로세스모니터링'; + +COMMENT ON COLUMN COMTNPROCESSMON.PROCS_ID IS '프로세스ID'; +COMMENT ON COLUMN COMTNPROCESSMON.PROCS_NM IS '프로세스명'; +COMMENT ON COLUMN COMTNPROCESSMON.PROCS_STTUS IS '프로세스상태'; +COMMENT ON COLUMN COMTNPROCESSMON.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNPROCESSMON.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTNPROCESSMON.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNPROCESSMON.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNPROCESSMON.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNPROCESSMON.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNPROCESSMON.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNPROCESSMONLOGINFO IS '프로세스모니터링로그정보'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.PROCS_ID IS '프로세스ID'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.PROCS_NM IS '프로세스명'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.PROCS_STTUS IS '프로세스상태'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LOG_INFO IS '로그정보'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNPROGRMLIST IS '프로그램목록'; + +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_FILE_NM IS '프로그램파일명'; +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_STRE_PATH IS '프로그램저장경로'; +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_KOREAN_NM IS '프로그램한글명'; +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_DC IS '프로그램설명'; +COMMENT ON COLUMN COMTNPROGRMLIST.URL IS 'URL'; + +COMMENT ON TABLE COMTNPROXYINFO IS '프록시정보'; + +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_ID IS '프록시ID'; +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_NM IS '프록시명'; +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_IP IS '프록시IP'; +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_PORT IS '프록시포트'; +COMMENT ON COLUMN COMTNPROXYINFO.TRGET_SVC_NM IS '대상서비스명'; +COMMENT ON COLUMN COMTNPROXYINFO.SVC_DC IS '서비스설명'; +COMMENT ON COLUMN COMTNPROXYINFO.SVC_IP IS '서비스IP'; +COMMENT ON COLUMN COMTNPROXYINFO.SVC_PORT IS '서비스포트'; +COMMENT ON COLUMN COMTNPROXYINFO.SVC_STTUS IS '서비스상태'; +COMMENT ON COLUMN COMTNPROXYINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNPROXYINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNPROXYINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNPROXYINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNPROXYLOGINFO IS '프록시로그정보'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.PROXY_ID IS '프록시ID'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.CLNT_IP IS '클라이언트IP'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.CLNT_PORT IS '클라이언트포트'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.CONECT_TIME IS '접속시간'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNPROXYLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNQAINFO IS 'QA정보'; + +COMMENT ON COLUMN COMTNQAINFO.QA_ID IS 'QAID'; +COMMENT ON COLUMN COMTNQAINFO.QESTN_SJ IS '질문제목'; +COMMENT ON COLUMN COMTNQAINFO.QESTN_CN IS '질문내용'; +COMMENT ON COLUMN COMTNQAINFO.WRITNG_DE IS '작성일'; +COMMENT ON COLUMN COMTNQAINFO.RDCNT IS '조회수'; +COMMENT ON COLUMN COMTNQAINFO.EMAIL_ADRES IS '이메일주소'; +COMMENT ON COLUMN COMTNQAINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNQAINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNQAINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNQAINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNQAINFO.QNA_PROCESS_STTUS_CODE IS '질의응답처리상태코드'; +COMMENT ON COLUMN COMTNQAINFO.WRTER_NM IS '작성자명'; +COMMENT ON COLUMN COMTNQAINFO.ANSWER_CN IS '답변내용'; +COMMENT ON COLUMN COMTNQAINFO.WRITNG_PASSWORD IS '작성비밀번호'; +COMMENT ON COLUMN COMTNQAINFO.ANSWER_DE IS '답변일자'; +COMMENT ON COLUMN COMTNQAINFO.EMAIL_ANSWER_AT IS '메일답변여부'; +COMMENT ON COLUMN COMTNQAINFO.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNQAINFO.MIDDLE_TELNO IS '중간전화번호'; +COMMENT ON COLUMN COMTNQAINFO.END_TELNO IS '끝전화번호'; + +COMMENT ON TABLE COMTNQESTNRINFO IS '설문지정보'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; +COMMENT ON COLUMN COMTNQESTNRINFO.QESTNR_ID IS '설문지ID'; +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_SJ IS '설문제목'; +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_PURPS IS '설문목적'; +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_WRITNG_GUIDANCE_CN IS '설문작성안내내용'; +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_TRGET IS '설문대상'; +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_BGNDE IS '설문시작일'; +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_ENDDE IS '설문종료일'; +COMMENT ON COLUMN COMTNQESTNRINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNQESTNRINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNQESTNRINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNQESTNRINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNQUSTNRIEM IS '설문항목'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; +COMMENT ON COLUMN COMTNQUSTNRIEM.QESTNR_ID IS '설문지ID'; +COMMENT ON COLUMN COMTNQUSTNRIEM.QUSTNR_QESITM_ID IS '설문문항ID'; +COMMENT ON COLUMN COMTNQUSTNRIEM.QUSTNR_IEM_ID IS '설문항목ID'; +COMMENT ON COLUMN COMTNQUSTNRIEM.IEM_SN IS '항목순번'; +COMMENT ON COLUMN COMTNQUSTNRIEM.IEM_CN IS '항목내용'; +COMMENT ON COLUMN COMTNQUSTNRIEM.ETC_ANSWER_AT IS '기타답변여부'; +COMMENT ON COLUMN COMTNQUSTNRIEM.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNQUSTNRIEM.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNQUSTNRIEM.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNQUSTNRIEM.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNQUSTNRQESITM IS '설문문항'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTNR_ID IS '설문지ID'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.QUSTNR_QESITM_ID IS '설문문항ID'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTN_SN IS '질문순번'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTN_TY_CODE IS '질문유형코드'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTN_CN IS '질문내용'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.MXMM_CHOISE_CO IS '최대선택개수'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNQUSTNRQESITM.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNQUSTNRRESPONDINFO IS '설문응답자정보'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.QESTNR_ID IS '설문지ID'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.QUSTNR_RESPOND_ID IS '설문응답자ID'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.SEXDSTN_CODE IS '성별코드'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.OCCP_TY_CODE IS '직업유형코드'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.RESPOND_NM IS '응답자명'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.BRTHDY IS '생일'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.AREA_NO IS '지역번호'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.MIDDLE_TELNO IS '중간전화번호'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.END_TELNO IS '끝전화번호'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNQUSTNRRSPNSRESULT IS '설문응답결과'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_RSPNS_RESULT_ID IS '설문응답결과ID'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QESTNR_ID IS '설문지ID'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_QESITM_ID IS '설문문항ID'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.RESPOND_ANSWER_CN IS '응답자답변내용'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.ETC_ANSWER_CN IS '기타답변내용'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.RESPOND_NM IS '응답자명'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_IEM_ID IS '설문항목ID'; + +COMMENT ON TABLE COMTNQUSTNRTMPLAT IS '설문템플릿'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_TY IS '설문템플릿유형'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_DC IS '설문템플릿설명'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_PATH_NM IS '설문템플릿경로명'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_IMAGE_INFO IS '설문템플릿이미지정보'; + +COMMENT ON TABLE COMTNRECENTSRCHWRD IS '최근검색어'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.SRCHWRD_MANAGE_ID IS '검색어관리ID'; +COMMENT ON COLUMN COMTNRECENTSRCHWRD.RECENT_SRCHWRD_ID IS '최근검색어ID'; +COMMENT ON COLUMN COMTNRECENTSRCHWRD.RECENT_SRCHWRD_NM IS '최근검색어명'; +COMMENT ON COLUMN COMTNRECENTSRCHWRD.RECENT_SRCHWRD_CO IS '최근검색어개수'; +COMMENT ON COLUMN COMTNRECENTSRCHWRD.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNRECENTSRCHWRD.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNRECENTSRCHWRD.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNRECENTSRCHWRD.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNRECENTSRCHWRDMANAGE IS '최근검색어관리'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.SRCHWRD_MANAGE_ID IS '검색어관리ID'; +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.SRCHWRD_MANAGE_NM IS '검색어관리명'; +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.SRCHWRD_CONECT_URL IS '검색어접속URL'; +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.USER_SEARCH_AT IS '사용자검색여부'; +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNRECOMENDSITEINFO IS '추천사이트정보'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_ID IS '추천사이트ID'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_NM IS '추천사이트명'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_URL IS '추천사이트URL'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_DC IS '추천사이트설명'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_RESN_CN IS '추천사유내용'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_CONFM_AT IS '추천승인여부'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.CONFM_DE IS '승인일'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNREPRTSTATS IS '보고서통계'; + +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_ID IS '보고서ID'; +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_NM IS '보고서명'; +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_STTUS IS '보고서상태'; +COMMENT ON COLUMN COMTNREPRTSTATS.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNREPRTSTATS.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNREPRTSTATS.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNREPRTSTATS.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_TY IS '보고서유형'; + +COMMENT ON TABLE COMTNRESTDE IS '휴일관리'; + +COMMENT ON COLUMN COMTNRESTDE.RESTDE_NO IS '휴일번호'; +COMMENT ON COLUMN COMTNRESTDE.RESTDE IS '휴일'; +COMMENT ON COLUMN COMTNRESTDE.RESTDE_NM IS '휴일명'; +COMMENT ON COLUMN COMTNRESTDE.RESTDE_DC IS '휴일설명'; +COMMENT ON COLUMN COMTNRESTDE.RESTDE_SE_CODE IS '휴일구분코드'; +COMMENT ON COLUMN COMTNRESTDE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNRESTDE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNRESTDE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNRESTDE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNROLEINFO IS '롤정보'; + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_CODE IS '롤코드'; +COMMENT ON COLUMN COMTNROLEINFO.ROLE_NM IS '롤명'; +COMMENT ON COLUMN COMTNROLEINFO.ROLE_PTTRN IS '롤패턴'; +COMMENT ON COLUMN COMTNROLEINFO.ROLE_DC IS '롤설명'; +COMMENT ON COLUMN COMTNROLEINFO.ROLE_TY IS '롤유형'; +COMMENT ON COLUMN COMTNROLEINFO.ROLE_SORT IS '롤정렬'; +COMMENT ON COLUMN COMTNROLEINFO.ROLE_CREAT_DE IS '롤생성일'; + +COMMENT ON TABLE COMTNROLES_HIERARCHY IS '롤 계층구조'; + +COMMENT ON COLUMN COMTNROLES_HIERARCHY.PARNTS_ROLE IS '부모롤'; +COMMENT ON COLUMN COMTNROLES_HIERARCHY.CHLDRN_ROLE IS '자식롤'; + +COMMENT ON TABLE COMTNROUGHMAP IS '약도관리'; + +COMMENT ON COLUMN COMTNROUGHMAP.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNROUGHMAP.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNROUGHMAP.INFOWINDOW IS '안내창 도움말'; +COMMENT ON COLUMN COMTNROUGHMAP.LA IS '지도 위도'; +COMMENT ON COLUMN COMTNROUGHMAP.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNROUGHMAP.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNROUGHMAP.LO IS '지도 경도'; +COMMENT ON COLUMN COMTNROUGHMAP.MARKERLA IS '마커 위도'; +COMMENT ON COLUMN COMTNROUGHMAP.MARKERLO IS '마커 경도'; +COMMENT ON COLUMN COMTNROUGHMAP.ROUGHMAPADDRESS IS '약도상세주소'; +COMMENT ON COLUMN COMTNROUGHMAP.ROUGHMAPSJ IS '약도 제목'; +COMMENT ON COLUMN COMTNROUGHMAP.ROUGHMAP_ID IS '약도 ID'; +COMMENT ON COLUMN COMTNROUGHMAP.ZOOMLEVEL IS '지도 확대수준'; + +COMMENT ON TABLE COMTNRSS IS 'RSS관리'; + +COMMENT ON COLUMN COMTNRSS.RSS_ID IS 'RSSID'; +COMMENT ON COLUMN COMTNRSS.TRGET_SVC_NM IS '대상서비스명'; +COMMENT ON COLUMN COMTNRSS.TRGET_SVC_TABLE IS '대상서비스테이블'; +COMMENT ON COLUMN COMTNRSS.TRGET_SVC_LIST_CO IS '대상서비스목록개수'; +COMMENT ON COLUMN COMTNRSS.HDER_TITLE IS '헤더TITLE'; +COMMENT ON COLUMN COMTNRSS.HDER_LINK IS '헤더링크'; +COMMENT ON COLUMN COMTNRSS.HDER_DC IS '헤더설명'; +COMMENT ON COLUMN COMTNRSS.HDER_TAG IS '헤더태그'; +COMMENT ON COLUMN COMTNRSS.HDER_ETC IS '헤더기타'; +COMMENT ON COLUMN COMTNRSS.BDT_TITLE IS '본문TITLE'; +COMMENT ON COLUMN COMTNRSS.BDT_LINK IS '본문링크'; +COMMENT ON COLUMN COMTNRSS.BDT_DC IS '본문설명'; +COMMENT ON COLUMN COMTNRSS.BDT_TAG IS '본문태그'; +COMMENT ON COLUMN COMTNRSS.BDT_ETC_TAG IS '본문기타태그'; +COMMENT ON COLUMN COMTNRSS.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNRSS.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNRSS.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNRSS.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNRWARDMANAGE IS '포상관리'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_ID IS '포상ID'; +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARDWNR_ID IS '포상자ID'; +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_CODE IS '포상코드'; +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_DE IS '포상일'; +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_NM IS '포상명'; +COMMENT ON COLUMN COMTNRWARDMANAGE.PBLEN_CN IS '공적내용'; +COMMENT ON COLUMN COMTNRWARDMANAGE.SANCTNER_ID IS '결재자ID'; +COMMENT ON COLUMN COMTNRWARDMANAGE.CONFM_AT IS '승인여부'; +COMMENT ON COLUMN COMTNRWARDMANAGE.SANCTN_DT IS '결재일시'; +COMMENT ON COLUMN COMTNRWARDMANAGE.RETURN_RESN IS '반환사유'; +COMMENT ON COLUMN COMTNRWARDMANAGE.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNRWARDMANAGE.INFRML_SANCTN_ID IS '약식결재ID'; +COMMENT ON COLUMN COMTNRWARDMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNRWARDMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNRWARDMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNRWARDMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNSCHDULINFO IS '일정정보'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_ID IS '일정ID'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_SE IS '일정구분'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_DEPT_ID IS '일정부서ID'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_KND_CODE IS '일정종류코드'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_BGNDE IS '일정시작일'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_ENDDE IS '일정종료일'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_NM IS '일정명'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_CN IS '일정내용'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_PLACE IS '일정장소'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_IPCR_CODE IS '일정중요도코드'; +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_CHARGER_ID IS '일정담당자ID'; +COMMENT ON COLUMN COMTNSCHDULINFO.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNSCHDULINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSCHDULINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSCHDULINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNSCHDULINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNSCHDULINFO.REPTIT_SE_CODE IS '반복구분코드'; + +COMMENT ON TABLE COMTNSCRAP IS '스크랩'; + +COMMENT ON COLUMN COMTNSCRAP.SCRAP_ID IS '스크랩ID'; +COMMENT ON COLUMN COMTNSCRAP.NTT_ID IS '게시물ID'; +COMMENT ON COLUMN COMTNSCRAP.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNSCRAP.SCRAP_NM IS '스크랩명'; +COMMENT ON COLUMN COMTNSCRAP.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNSCRAP.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSCRAP.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNSCRAP.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSCRAP.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNSERVEREQPMNINFO IS '서버장비정보'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_ID IS '서버장비ID'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_NM IS '서버장비명'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_IP IS '서버장비IP'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_MNGR IS '서버장비관리자'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.OPERSYSM_INFO IS '운영체제정보'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.CPU_INFO IS 'CPU정보'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.MORY_INFO IS '메모리정보'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.HDDISK IS 'HDDISK'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.ETC_INFO IS '기타정보'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.RGSDE IS '등록일'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNSERVEREQPMNRELATE IS '서버장비관계'; + +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.SERVER_EQPMN_ID IS '서버장비ID'; +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.SERVER_ID IS '서버ID'; +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNSERVERINFO IS '서버정보'; + +COMMENT ON COLUMN COMTNSERVERINFO.SERVER_ID IS '서버ID'; +COMMENT ON COLUMN COMTNSERVERINFO.SERVER_NM IS '서버명'; +COMMENT ON COLUMN COMTNSERVERINFO.SERVER_KND IS '서버종류'; +COMMENT ON COLUMN COMTNSERVERINFO.RGSDE IS '등록일'; +COMMENT ON COLUMN COMTNSERVERINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSERVERINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSERVERINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNSERVERINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNSERVERRESRCELOGINFO IS '서버자원로그정보'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.SERVER_EQPMN_ID IS '서버장비ID'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LOG_ID IS '로그ID'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.SERVER_ID IS '서버ID'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.CPU_USE_RT IS 'CPU사용율'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.MORY_USE_RT IS '메모리사용율'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.SVC_STTUS IS '서비스상태'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LOG_INFO IS '로그정보'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNSITELIST IS '사이트목록'; + +COMMENT ON COLUMN COMTNSITELIST.SITE_ID IS '사이트ID'; +COMMENT ON COLUMN COMTNSITELIST.SITE_NM IS '사이트명'; +COMMENT ON COLUMN COMTNSITELIST.SITE_URL IS '사이트URL'; +COMMENT ON COLUMN COMTNSITELIST.SITE_DC IS '사이트설명'; +COMMENT ON COLUMN COMTNSITELIST.SITE_THEMA_CL_CODE IS '사이트주제분류코드'; +COMMENT ON COLUMN COMTNSITELIST.ACTVTY_AT IS '활성여부'; +COMMENT ON COLUMN COMTNSITELIST.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNSITELIST.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSITELIST.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSITELIST.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNSITELIST.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNSITEMAP IS '사이트맵'; + +COMMENT ON COLUMN COMTNSITEMAP.MAPNG_CREAT_ID IS '매핑생성ID'; +COMMENT ON COLUMN COMTNSITEMAP.CREATR_ID IS '생성자ID'; +COMMENT ON COLUMN COMTNSITEMAP.MAPNG_FILE_NM IS '매핑파일명'; +COMMENT ON COLUMN COMTNSITEMAP.MAPNG_FILE_PATH IS '매핑파일경로'; + +COMMENT ON TABLE COMTNSMS IS '문자메시지'; + +COMMENT ON COLUMN COMTNSMS.SMS_ID IS '문자메시지ID'; +COMMENT ON COLUMN COMTNSMS.TRNSMIS_TELNO IS '전송전화번호'; +COMMENT ON COLUMN COMTNSMS.TRNSMIS_CN IS '전송내용'; +COMMENT ON COLUMN COMTNSMS.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSMS.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON TABLE COMTNSMSRECPTN IS '문자메시지수신'; + +COMMENT ON COLUMN COMTNSMSRECPTN.SMS_ID IS '문자메시지ID'; +COMMENT ON COLUMN COMTNSMSRECPTN.RECPTN_TELNO IS '수신전화번호'; +COMMENT ON COLUMN COMTNSMSRECPTN.RESULT_CODE IS '결과코드'; +COMMENT ON COLUMN COMTNSMSRECPTN.RESULT_MSSAGE IS '결과메시지'; + +COMMENT ON TABLE COMTNSTPLATINFO IS '약관정보'; + +COMMENT ON COLUMN COMTNSTPLATINFO.USE_STPLAT_ID IS '이용약관ID'; +COMMENT ON COLUMN COMTNSTPLATINFO.USE_STPLAT_NM IS '이용약관명'; +COMMENT ON COLUMN COMTNSTPLATINFO.USE_STPLAT_CN IS '이용약관내용'; +COMMENT ON COLUMN COMTNSTPLATINFO.INFO_PROVD_AGRE_CN IS '정보제공동의내용'; +COMMENT ON COLUMN COMTNSTPLATINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSTPLATINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSTPLATINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNSTPLATINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNSTSFDG IS '만족도'; + +COMMENT ON COLUMN COMTNSTSFDG.STSFDG_NO IS '만족도번호'; +COMMENT ON COLUMN COMTNSTSFDG.NTT_ID IS '게시물ID'; +COMMENT ON COLUMN COMTNSTSFDG.BBS_ID IS '게시판ID'; +COMMENT ON COLUMN COMTNSTSFDG.WRTER_ID IS '작성자ID'; +COMMENT ON COLUMN COMTNSTSFDG.WRTER_NM IS '작성자명'; +COMMENT ON COLUMN COMTNSTSFDG.PASSWORD IS '비밀번호'; +COMMENT ON COLUMN COMTNSTSFDG.STSFDG IS '만족도'; +COMMENT ON COLUMN COMTNSTSFDG.STSFDG_CN IS '만족도내용'; +COMMENT ON COLUMN COMTNSTSFDG.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNSTSFDG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSTSFDG.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNSTSFDG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSTSFDG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTNSYNCHRNSERVERINFO IS '동기화서버정보'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_ID IS '서버ID'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_NM IS '서버명'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_IP IS '서버IP'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_PORT IS '서버포트'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FTP_ID IS 'FTPID'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FTP_PASSWORD IS 'FTP비밀번호'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SYNCHRN_LC IS '동기화위치'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.REFLCT_AT IS '반영여부'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNSYSLOG IS '시스템로그'; + +COMMENT ON COLUMN COMTNSYSLOG.REQUST_ID IS '요청ID'; +COMMENT ON COLUMN COMTNSYSLOG.JOB_SE_CODE IS '업무구분코드'; +COMMENT ON COLUMN COMTNSYSLOG.INSTT_CODE IS '기관코드'; +COMMENT ON COLUMN COMTNSYSLOG.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTNSYSLOG.RQESTER_IP IS '요청자IP'; +COMMENT ON COLUMN COMTNSYSLOG.RQESTER_ID IS '요청자ID'; +COMMENT ON COLUMN COMTNSYSLOG.TRGET_MENU_NM IS '대상메뉴명'; +COMMENT ON COLUMN COMTNSYSLOG.SVC_NM IS '서비스명'; +COMMENT ON COLUMN COMTNSYSLOG.METHOD_NM IS '메서드명'; +COMMENT ON COLUMN COMTNSYSLOG.PROCESS_SE_CODE IS '처리구분코드'; +COMMENT ON COLUMN COMTNSYSLOG.PROCESS_CO IS '처리수'; +COMMENT ON COLUMN COMTNSYSLOG.PROCESS_TIME IS '처리시간'; +COMMENT ON COLUMN COMTNSYSLOG.RSPNS_CODE IS '응답코드'; +COMMENT ON COLUMN COMTNSYSLOG.ERROR_SE IS '오류구분'; +COMMENT ON COLUMN COMTNSYSLOG.ERROR_CO IS '오류수'; +COMMENT ON COLUMN COMTNSYSLOG.ERROR_CODE IS '오류코드'; + +COMMENT ON TABLE COMTNSYSTEMCNTC IS '시스템연계'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.CNTC_ID IS '연계ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.CNTC_NM IS '연계명'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.PROVD_INSTT_ID IS '제공기관ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.PROVD_SYS_ID IS '제공시스템ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.PROVD_SVC_ID IS '제공서비스ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.REQUST_INSTT_ID IS '요청기관ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.REQUST_SYS_ID IS '요청시스템ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.CONFM_AT IS '승인여부'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.VALID_BGNDE IS '유효시작일자'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.VALID_ENDDE IS '유효종료일자'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNSYSTEMCNTC.CNTC_TY IS '연계유형'; + +COMMENT ON TABLE COMTNTMPLATINFO IS '템플릿'; + +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_ID IS '템플릿ID'; +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_NM IS '템플릿명'; +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_COURS IS '템플릿경로'; +COMMENT ON COLUMN COMTNTMPLATINFO.USE_AT IS '사용여부'; +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_SE_CODE IS '템플릿구분코드'; +COMMENT ON COLUMN COMTNTMPLATINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNTMPLATINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNTMPLATINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNTMPLATINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNTROBLINFO IS '장애정보'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_ID IS '장애ID'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_NM IS '장애명'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_KND IS '장애종류'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_DC IS '장애설명'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_OCCRRNC_TIME IS '장애발생시간'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_RQESTER_NM IS '장애요청자명'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_REQUST_TIME IS '장애요청시간'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_PROCESS_RESULT IS '장애처리결과'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_OPETR_NM IS '장애처리자명'; +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_PROCESS_TIME IS '장애처리시간'; +COMMENT ON COLUMN COMTNTROBLINFO.PROCESS_STTUS IS '처리상태'; +COMMENT ON COLUMN COMTNTROBLINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNTROBLINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNTROBLINFO.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNTROBLINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNTRSMRCVLOG IS '송수신로그'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_ID IS '요청ID'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.TRSMRCV_SE_CODE IS '송수신구분코드'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.CNTC_ID IS '연계ID'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.PROVD_INSTT_ID IS '제공기관ID'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.PROVD_SYS_ID IS '제공시스템ID'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.PROVD_SVC_ID IS '제공서비스ID'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_INSTT_ID IS '요청기관ID'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_SYS_ID IS '요청시스템ID'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_TRNSMIT_TM IS '요청송신시각'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_RECPTN_TM IS '요청수신시각'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.RSPNS_TRNSMIT_TM IS '응답송신시각'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.RSPNS_RECPTN_TM IS '응답수신시각'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.RESULT_CODE IS '결과코드'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.RESULT_MSSAGE IS '결과메시지'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNTRSMRCVLOG.RQESTER_ID IS '요청자ID'; + +COMMENT ON TABLE COMTNTRSMRCVMNTRNG IS '송수신모니터링'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.CNTC_ID IS '연계ID'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.TEST_CLASS_NM IS '테스트클래스명'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.MNGR_NM IS '관리자명'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.MNTRNG_STTUS IS '모니터링상태'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.CREAT_DT IS '생성일시'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNTWITTER IS '트위터계정관리'; + +COMMENT ON COLUMN COMTNTWITTER.USER_ID IS '사용자ID'; +COMMENT ON COLUMN COMTNTWITTER.CNSMR_KEY IS '사용자열쇠'; +COMMENT ON COLUMN COMTNTWITTER.CNSMR_SECRET IS '사용자비밀'; +COMMENT ON COLUMN COMTNTWITTER.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNTWITTER.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNTWITTER.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNTWITTER.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNUNITYLINK IS '통합링크'; + +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_ID IS '통합링크ID'; +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_GROUP IS '통합링크그룹'; +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_NM IS '통합링크명'; +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_URL IS '통합링크URL'; +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_DC IS '통합링크설명'; +COMMENT ON COLUMN COMTNUNITYLINK.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNUNITYLINK.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNUNITYLINK.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNUNITYLINK.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_SE_CODE IS '통합링크구분코드'; + +COMMENT ON TABLE COMTNUSERABSNCE IS '사용자부재'; + +COMMENT ON COLUMN COMTNUSERABSNCE.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNUSERABSNCE.USER_ABSNCE_AT IS '사용자부재여부'; +COMMENT ON COLUMN COMTNUSERABSNCE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNUSERABSNCE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNUSERABSNCE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNUSERABSNCE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNUSERLOG IS '사용자로그'; + +COMMENT ON COLUMN COMTNUSERLOG.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTNUSERLOG.RQESTER_ID IS '요청자ID'; +COMMENT ON COLUMN COMTNUSERLOG.SVC_NM IS '서비스명'; +COMMENT ON COLUMN COMTNUSERLOG.METHOD_NM IS '메서드명'; +COMMENT ON COLUMN COMTNUSERLOG.CREAT_CO IS '생성수'; +COMMENT ON COLUMN COMTNUSERLOG.UPDT_CO IS '수정수'; +COMMENT ON COLUMN COMTNUSERLOG.RDCNT IS '조회수'; +COMMENT ON COLUMN COMTNUSERLOG.DELETE_CO IS '삭제수'; +COMMENT ON COLUMN COMTNUSERLOG.OUTPT_CO IS '출력수'; +COMMENT ON COLUMN COMTNUSERLOG.ERROR_CO IS '오류수'; + +COMMENT ON TABLE COMTNVCATNMANAGE IS '휴가관리'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.APPLCNT_ID IS '신청인ID'; +COMMENT ON COLUMN COMTNVCATNMANAGE.VCATN_SE IS '휴가구분'; +COMMENT ON COLUMN COMTNVCATNMANAGE.BGNDE IS '시작일'; +COMMENT ON COLUMN COMTNVCATNMANAGE.ENDDE IS '종료일'; +COMMENT ON COLUMN COMTNVCATNMANAGE.VCATN_RESN IS '휴가사유'; +COMMENT ON COLUMN COMTNVCATNMANAGE.REQST_DE IS '신청일'; +COMMENT ON COLUMN COMTNVCATNMANAGE.OCCRRNC_YEAR IS '발생년도'; +COMMENT ON COLUMN COMTNVCATNMANAGE.SANCTNER_ID IS '결재자ID'; +COMMENT ON COLUMN COMTNVCATNMANAGE.CONFM_AT IS '승인여부'; +COMMENT ON COLUMN COMTNVCATNMANAGE.SANCTN_DT IS '결재일시'; +COMMENT ON COLUMN COMTNVCATNMANAGE.RETURN_RESN IS '반환사유'; +COMMENT ON COLUMN COMTNVCATNMANAGE.INFRML_SANCTN_ID IS '약식결재ID'; +COMMENT ON COLUMN COMTNVCATNMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNVCATNMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNVCATNMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNVCATNMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNVCATNMANAGE.NOON_SE IS '정오구분'; + +COMMENT ON TABLE COMTNWEBLOG IS '웹로그'; + +COMMENT ON COLUMN COMTNWEBLOG.REQUST_ID IS '요청ID'; +COMMENT ON COLUMN COMTNWEBLOG.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTNWEBLOG.URL IS 'URL'; +COMMENT ON COLUMN COMTNWEBLOG.RQESTER_ID IS '요청자ID'; +COMMENT ON COLUMN COMTNWEBLOG.RQESTER_IP IS '요청자IP'; + +COMMENT ON TABLE COMTNWIKIBKMK IS 'Wiki북마크'; + +COMMENT ON COLUMN COMTNWIKIBKMK.WIKI_BKMK_ID IS 'Wiki즐겨찾기ID'; +COMMENT ON COLUMN COMTNWIKIBKMK.USER_ID IS '사용자ID'; +COMMENT ON COLUMN COMTNWIKIBKMK.WIKI_BKMK_NM IS 'Wiki북마크명'; +COMMENT ON COLUMN COMTNWIKIBKMK.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNWIKIBKMK.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNWIKIBKMK.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNWIKIBKMK.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNWIKMNTHNGREPRT IS '주간/월간보고정보'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPRT_ID IS '보고서ID'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPRT_SE IS '보고서구분'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPRT_SJ IS '보고서제목'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORT_DE IS '보고일'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.WRTER_ID IS '작성자ID'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORTR_ID IS '보고자ID'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORT_BGNDE IS '보고시작일'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORT_ENDDE IS '보고종료일'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.THSWIK_REPORT_CN IS '금주보고내용'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.NEXTWIK_REPORT_CN IS '차주보고내용'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.PARTCLR_MATTER IS '특이사항'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.ATCH_FILE_ID IS '첨부파일ID'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.CONFM_DT IS '승인일시'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON TABLE COMTNWORDDICARYINFO IS '용어사전정보'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.WORD_ID IS '용어ID'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.WORD_NM IS '용어명'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.ENG_NM IS '영문명'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.WORD_DC IS '용어설명'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.SYNONM IS '동의어'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNWORDDICARYINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTRDNMADRZIP IS '도로명주소'; + +COMMENT ON COLUMN COMTRDNMADRZIP.SN IS '일련번호'; +COMMENT ON COLUMN COMTRDNMADRZIP.RDMN_CODE IS '도로명코드'; +COMMENT ON COLUMN COMTRDNMADRZIP.CTPRVN_NM IS '시도명'; +COMMENT ON COLUMN COMTRDNMADRZIP.SIGNGU_NM IS '시군구명'; +COMMENT ON COLUMN COMTRDNMADRZIP.RDMN IS '도로명'; +COMMENT ON COLUMN COMTRDNMADRZIP.BDNBR_MNNM IS '건물번호본번'; +COMMENT ON COLUMN COMTRDNMADRZIP.BDNBR_SLNO IS '건물번호부번'; +COMMENT ON COLUMN COMTRDNMADRZIP.BULD_NM IS '건물명'; +COMMENT ON COLUMN COMTRDNMADRZIP.DETAIL_BULD_NM IS '상세건물명'; +COMMENT ON COLUMN COMTRDNMADRZIP.ZIP IS '우편번호'; +COMMENT ON COLUMN COMTRDNMADRZIP.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTRDNMADRZIP.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTRDNMADRZIP.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTRDNMADRZIP.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON TABLE COMTSBBSSUMMARY IS '게시물통계요약'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTSBBSSUMMARY.STATS_SE IS '통계구분'; +COMMENT ON COLUMN COMTSBBSSUMMARY.DETAIL_STATS_SE IS '세부통계구분'; +COMMENT ON COLUMN COMTSBBSSUMMARY.CREAT_CO IS '생성수'; +COMMENT ON COLUMN COMTSBBSSUMMARY.TOT_RDCNT IS '총조회수'; +COMMENT ON COLUMN COMTSBBSSUMMARY.AVRG_RDCNT IS '평균조회수'; +COMMENT ON COLUMN COMTSBBSSUMMARY.TOP_INQIRE_BBSCTT_ID IS '최고조회게시글ID'; +COMMENT ON COLUMN COMTSBBSSUMMARY.MUMM_INQIRE_BBSCTT_ID IS '최소조회게시글ID'; +COMMENT ON COLUMN COMTSBBSSUMMARY.TOP_NTCR_ID IS '최고게시자ID'; + +COMMENT ON TABLE COMTSSYSLOGSUMMARY IS '시스템로그요약'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.SVC_NM IS '서비스명'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.METHOD_NM IS '메서드명'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.CREAT_CO IS '생성수'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.UPDT_CO IS '수정수'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.RDCNT IS '조회수'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.DELETE_CO IS '삭제수'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.OUTPT_CO IS '출력수'; +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.ERROR_CO IS '오류수'; + +COMMENT ON TABLE COMTSTRSMRCVLOGSUMMARY IS '송수신로그요약'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.TRSMRCV_SE_CODE IS '송수신구분코드'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.PROVD_INSTT_ID IS '제공기관ID'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.PROVD_SYS_ID IS '제공시스템ID'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.PROVD_SVC_ID IS '제공서비스ID'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.REQUST_INSTT_ID IS '요청기관ID'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.REQUST_SYS_ID IS '요청시스템ID'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.RDCNT IS '조회수'; +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.ERROR_CO IS '오류수'; + +COMMENT ON TABLE COMTSUSERSUMMARY IS '사용자통계요약'; + +COMMENT ON COLUMN COMTSUSERSUMMARY.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTSUSERSUMMARY.STATS_SE IS '통계구분'; +COMMENT ON COLUMN COMTSUSERSUMMARY.DETAIL_STATS_SE IS '세부통계구분'; +COMMENT ON COLUMN COMTSUSERSUMMARY.USER_CO IS '사용자수'; + +COMMENT ON TABLE COMTSWEBLOGSUMMARY IS '웹로그 요약'; + +COMMENT ON COLUMN COMTSWEBLOGSUMMARY.OCCRRNC_DE IS '발생일'; +COMMENT ON COLUMN COMTSWEBLOGSUMMARY.URL IS 'URL'; +COMMENT ON COLUMN COMTSWEBLOGSUMMARY.RDCNT IS '조회수'; + +COMMENT ON TABLE IDS IS 'IDS'; + +COMMENT ON COLUMN IDS.IDGEN_TABLE_NM IS 'IDGEN테이블명'; +COMMENT ON COLUMN IDS.IDGEN_NEXT_ID IS 'IDGEN다음ID'; + +COMMENT ON TABLE IMGTEMP IS 'IMGTEMP'; + +COMMENT ON COLUMN IMGTEMP.ORGNZT_CODE IS '조직코드'; +COMMENT ON COLUMN IMGTEMP.ERNCSL_SE IS '전자관인구분'; +COMMENT ON COLUMN IMGTEMP.IMAGE_INFO IS '이미지정보'; +COMMENT ON COLUMN IMGTEMP.IMAGE_TY IS '이미지유형'; + +COMMENT ON TABLE J_ATTACHFILE IS 'Jfile업로드'; + +COMMENT ON COLUMN J_ATTACHFILE.FILE_ID IS '파일 아이디'; +COMMENT ON COLUMN J_ATTACHFILE.FILE_SEQ IS '파일 순번'; +COMMENT ON COLUMN J_ATTACHFILE.FILE_NAME IS '파일명'; +COMMENT ON COLUMN J_ATTACHFILE.FILE_SIZE IS '파일 사이즈'; +COMMENT ON COLUMN J_ATTACHFILE.FILE_MASK IS '파일 마스크'; +COMMENT ON COLUMN J_ATTACHFILE.DOWNLOAD_COUNT IS '다운로드 횟수'; +COMMENT ON COLUMN J_ATTACHFILE.DOWNLOAD_EXPIRE_DATE IS '다운로드 만료일'; +COMMENT ON COLUMN J_ATTACHFILE.DOWNLOAD_LIMIT_COUNT IS '다운로드 제한 횟수'; +COMMENT ON COLUMN J_ATTACHFILE.REG_DATE IS '등록일'; +COMMENT ON COLUMN J_ATTACHFILE.DELETE_YN IS '삭제 구분'; + +COMMENT ON TABLE COMTNBLOG IS '블로그게시판'; + +COMMENT ON COLUMN COMTNBLOG.BBS_ID IS '게시판 ID'; +COMMENT ON COLUMN COMTNBLOG.BLOG_AT IS '블로그 여부'; +COMMENT ON COLUMN COMTNBLOG.BLOG_ID IS '블로그 ID'; +COMMENT ON COLUMN COMTNBLOG.BLOG_INTRCN IS '블로그 소개'; +COMMENT ON COLUMN COMTNBLOG.BLOG_NM IS '블로그 명'; +COMMENT ON COLUMN COMTNBLOG.FRST_REGISTER_ID IS '최초등록자ID'; +COMMENT ON COLUMN COMTNBLOG.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBLOG.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBLOG.LAST_UPDUSR_ID IS '최종수정자ID'; +COMMENT ON COLUMN COMTNBLOG.REGIST_SE_CODE IS '등록구분코드'; +COMMENT ON COLUMN COMTNBLOG.TMPLAT_ID IS '템플릿 ID'; +COMMENT ON COLUMN COMTNBLOG.USE_AT IS '사용여부'; + +COMMENT ON TABLE COMTNBLOGUSER IS '블로그사용자'; + +COMMENT ON COLUMN COMTNBLOGUSER.BLOG_ID IS '블로그 ID'; +COMMENT ON COLUMN COMTNBLOGUSER.EMPLYR_ID IS '업무사용자ID'; +COMMENT ON COLUMN COMTNBLOGUSER.FRST_REGISTER_ID IS '최초등록자 ID'; +COMMENT ON COLUMN COMTNBLOGUSER.FRST_REGIST_PNTTM IS '최초등록시점'; +COMMENT ON COLUMN COMTNBLOGUSER.LAST_UPDT_PNTTM IS '최종수정시점'; +COMMENT ON COLUMN COMTNBLOGUSER.LAST_UPDUSR_ID IS '최종수정자 ID'; +COMMENT ON COLUMN COMTNBLOGUSER.MBER_STTUS IS '회원상태'; +COMMENT ON COLUMN COMTNBLOGUSER.MNGR_AT IS '관리자여부'; +COMMENT ON COLUMN COMTNBLOGUSER.SBSCRB_DE IS '가입일자'; +COMMENT ON COLUMN COMTNBLOGUSER.SECSN_DE IS '탈퇴일'; +COMMENT ON COLUMN COMTNBLOGUSER.USE_AT IS '사용여부'; Index: base3.10/script/comment/maria/egov_maria_comment.sql =================================================================== --- base3.10/script/comment/maria/egov_maria_comment.sql (nonexistent) +++ base3.10/script/comment/maria/egov_maria_comment.sql (revision 7) @@ -0,0 +1,2125 @@ +ALTER TABLE COMTCADMINISTCODE COMMENT = '행정코드'; +ALTER TABLE COMTCADMINISTCODERECPTNLOG COMMENT = '행정코드수신로그'; +ALTER TABLE COMTCCMMNCLCODE COMMENT = '공통분류코드'; +ALTER TABLE COMTCCMMNCODE COMMENT = '공통코드'; +ALTER TABLE COMTCCMMNDETAILCODE COMMENT = '공통상세코드'; +ALTER TABLE COMTCZIP COMMENT = '우편번호'; +ALTER TABLE COMTECOPSEQ COMMENT = 'COMTECOPSEQ'; +ALTER TABLE COMTHCONFMHISTORY COMMENT = '승인이력'; +ALTER TABLE COMTHDBMNTRNGLOGINFO COMMENT = 'DB서비스모니터링로그정보'; +ALTER TABLE COMTHEMAILDSPTCHMANAGE COMMENT = '메일발신관리'; +ALTER TABLE COMTHEMPLYRINFOCHANGEDTLS COMMENT = '업무사용자정보변경내역'; +ALTER TABLE COMTHHTTPMONLOGINFO COMMENT = 'HTTP서비스모니터링로그정보'; +ALTER TABLE COMTHPROGRMCHANGEDTLS COMMENT = '프로그램변경내역'; +ALTER TABLE COMTHSYSHIST COMMENT = '시스템이력'; +ALTER TABLE COMTHTRSMRCVMNTRNGLOGINFO COMMENT = '송수신모니터링로그정보'; +ALTER TABLE COMTNADBK COMMENT = '주소록'; +ALTER TABLE COMTNADBKMANAGE COMMENT = '주소록관리'; +ALTER TABLE COMTNADMINISTRATIONWORD COMMENT = '행정용어사전관리'; +ALTER TABLE COMTNANNVRSRYMANAGE COMMENT = '기념일정보'; +ALTER TABLE COMTNANSWER COMMENT = '댓글'; +ALTER TABLE COMTNAUTHORGROUPINFO COMMENT = '권한그룹정보'; +ALTER TABLE COMTNAUTHORINFO COMMENT = '권한정보'; +ALTER TABLE COMTNAUTHORROLERELATE COMMENT = '권한롤관계'; +ALTER TABLE COMTNBACKUPOPERT COMMENT = '백업작업'; +ALTER TABLE COMTNBACKUPRESULT COMMENT = '백업결과'; +ALTER TABLE COMTNBACKUPSCHDULDFK COMMENT = '백업스케줄요일'; +ALTER TABLE COMTNBANNER COMMENT = '배너'; +ALTER TABLE COMTNBATCHOPERT COMMENT = '배치작업'; +ALTER TABLE COMTNBATCHRESULT COMMENT = '배치결과'; +ALTER TABLE COMTNBATCHSCHDUL COMMENT = '배치스케줄'; +ALTER TABLE COMTNBATCHSCHDULDFK COMMENT = '배치스케줄요일'; +ALTER TABLE COMTNBBS COMMENT = '게시판'; +ALTER TABLE COMTNBBSMASTER COMMENT = '게시판마스터'; +ALTER TABLE COMTNBBSMASTEROPTN COMMENT = '게시판마스터옵션'; +ALTER TABLE COMTNBBSUSE COMMENT = '게시판활용'; +ALTER TABLE COMTNBKMKMENUMANAGERESULT COMMENT = '바로가기 메뉴 등록'; +ALTER TABLE COMTNBNDTCECKMANAGE COMMENT = '당직체크관리정보'; +ALTER TABLE COMTNBNDTDIARY COMMENT = '당직관리'; +ALTER TABLE COMTNBNDTMANAGE COMMENT = '당직관리정보'; +ALTER TABLE COMTNCLUB COMMENT = '동호회속성'; +ALTER TABLE COMTNCLUBUSER COMMENT = '동호회사용자'; +ALTER TABLE COMTNCMMNTY COMMENT = '커뮤니티 속성'; +ALTER TABLE COMTNCMMNTYUSER COMMENT = '커뮤니티사용자'; +ALTER TABLE COMTNCNSLTLIST COMMENT = '상담내역'; +ALTER TABLE COMTNCNTCINSTT COMMENT = '연계기관'; +ALTER TABLE COMTNCNTCMESSAGE COMMENT = '연계메시지'; +ALTER TABLE COMTNCNTCMESSAGEITEM COMMENT = '연계메시지항목'; +ALTER TABLE COMTNCNTCSERVICE COMMENT = '연계서비스'; +ALTER TABLE COMTNCNTCSYSTEM COMMENT = '연계시스템'; +ALTER TABLE COMTNCNTNTSLIST COMMENT = '컨텐츠목록'; +ALTER TABLE COMTNCOMMENT COMMENT = '댓글'; +ALTER TABLE COMTNCOMMUTE COMMENT = '출퇴근관리'; +ALTER TABLE COMTNCPYRHTINFO COMMENT = '저작권정보'; +ALTER TABLE COMTNCTSNNMANAGE COMMENT = '경조사정보'; +ALTER TABLE COMTNDAMCALRES COMMENT = '지식정보요청제공'; +ALTER TABLE COMTNDAMKNOIFM COMMENT = '지식정보'; +ALTER TABLE COMTNDAMMAPKNO COMMENT = '지식맵(유형별)'; +ALTER TABLE COMTNDAMMAPTEAM COMMENT = '지식맵(조직별)'; +ALTER TABLE COMTNDAMPRO COMMENT = '지식전문가'; +ALTER TABLE COMTNDBMNTRNG COMMENT = 'DB서비스모니터링'; +ALTER TABLE COMTNDEPTJOB COMMENT = '부서업무정보'; +ALTER TABLE COMTNDEPTJOBBX COMMENT = '부서업무함'; +ALTER TABLE COMTNDIARYINFO COMMENT = '일지정보'; +ALTER TABLE COMTNDTAUSESTATS COMMENT = '자료이용현황통계'; +ALTER TABLE COMTNEMPLYRINFO COMMENT = '업무사용자정보'; +ALTER TABLE COMTNEMPLYRSCRTYESTBS COMMENT = '사용자보안설정'; +ALTER TABLE COMTNENTRPRSMBER COMMENT = '기업회원'; +ALTER TABLE COMTNEVENTATDRN COMMENT = '행사참석자'; +ALTER TABLE COMTNEVENTINFO COMMENT = '행사/이벤트정보'; +ALTER TABLE COMTNEVENTMANAGE COMMENT = '행사관리'; +ALTER TABLE COMTNEXTRLHRINFO COMMENT = '외부인사정보'; +ALTER TABLE COMTNFAQINFO COMMENT = 'FAQ정보'; +ALTER TABLE COMTNFILE COMMENT = '파일속성'; +ALTER TABLE COMTNFILEDETAIL COMMENT = '파일상세정보'; +ALTER TABLE COMTNFILESYSMNTRNG COMMENT = '파일시스템모니터링'; +ALTER TABLE COMTNFILESYSMNTRNGLOGINFO COMMENT = '파일시스템모니터링로그정보'; +ALTER TABLE COMTNFXTRSMANAGE COMMENT = 'COMTNFXTRSMANAGE'; +ALTER TABLE COMTNGNRLMBER COMMENT = '일반회원'; +ALTER TABLE COMTNHPCMINFO COMMENT = '도움말정보'; +ALTER TABLE COMTNHTTPMON COMMENT = 'HTTP서비스모니터링'; +ALTER TABLE COMTNINDVDLINFOPOLICY COMMENT = '개인정보정책확인'; +ALTER TABLE COMTNINDVDLPGECNTNTS COMMENT = '마이페이지 컨텐츠'; +ALTER TABLE COMTNINDVDLPGEESTBS COMMENT = '마이페이지 설정'; +ALTER TABLE COMTNINDVDLYRYCMANAGE COMMENT = '개인별연차관리'; +ALTER TABLE COMTNINFRMLSANCTN COMMENT = '약식결재정보'; +ALTER TABLE COMTNINSTTCODE COMMENT = '기관코드'; +ALTER TABLE COMTNINSTTCODERECPTNLOG COMMENT = '기관코드수신로그'; +ALTER TABLE COMTNINTNETSVC COMMENT = '인터넷서비스'; +ALTER TABLE COMTNLEADERSCHDUL COMMENT = '간부일정정보'; +ALTER TABLE COMTNLEADERSCHDULDE COMMENT = '간부일정관리'; +ALTER TABLE COMTNLEADERSTTUS COMMENT = '간부상태정보'; +ALTER TABLE COMTNLOGINLOG COMMENT = '접속로그'; +ALTER TABLE COMTNLOGINPOLICY COMMENT = '로그인정책'; +ALTER TABLE COMTNLOGINSCRINIMAGE COMMENT = '로그인화면이미지'; +ALTER TABLE COMTNMAINIMAGE COMMENT = '메인이미지'; +ALTER TABLE COMTNMEMOREPRT COMMENT = '메모보고관리'; +ALTER TABLE COMTNMEMOTODO COMMENT = '메모할일정보'; +ALTER TABLE COMTNMENUCREATDTLS COMMENT = '메뉴생성내역'; +ALTER TABLE COMTNMENUINFO COMMENT = '메뉴정보'; +ALTER TABLE COMTNMTGINFO COMMENT = '회의정보'; +ALTER TABLE COMTNMTGPLACEFXTRS COMMENT = '회의실비품'; +ALTER TABLE COMTNMTGPLACEMANAGE COMMENT = '회의실관리'; +ALTER TABLE COMTNMTGPLACERESVE COMMENT = '회의실예약정보'; +ALTER TABLE COMTNNCRD COMMENT = '명함정보속성'; +ALTER TABLE COMTNNCRDUSER COMMENT = '명함사용자속성'; +ALTER TABLE COMTNNEWSINFO COMMENT = '뉴스정보'; +ALTER TABLE COMTNNOTE COMMENT = '쪽지관리'; +ALTER TABLE COMTNNOTERECPTN COMMENT = '받은쪽지함관리'; +ALTER TABLE COMTNNOTETRNSMIT COMMENT = '보낸쪽지함관리'; +ALTER TABLE COMTNNTFCINFO COMMENT = '정보알림'; +ALTER TABLE COMTNNTTSTATS COMMENT = '게시물통계'; +ALTER TABLE COMTNNTWRKINFO COMMENT = '네트워크정보'; +ALTER TABLE COMTNNTWRKSVCMNTRNG COMMENT = '네트워크서비스모니터링'; +ALTER TABLE COMTNNTWRKSVCMNTRNGLOGINFO COMMENT = '네트워크서비스모니터링로그정보'; +ALTER TABLE COMTNONLINEMANUAL COMMENT = '온라인메뉴얼'; +ALTER TABLE COMTNONLINEPOLLIEM COMMENT = '온라인POLL항목'; +ALTER TABLE COMTNONLINEPOLLMANAGE COMMENT = '온라인POLL관리'; +ALTER TABLE COMTNONLINEPOLLRESULT COMMENT = '온라인POLL결과'; +ALTER TABLE COMTNORGNZTINFO COMMENT = '조직정보'; +ALTER TABLE COMTNPOPUPMANAGE COMMENT = '팝업 정보 관리'; +ALTER TABLE COMTNPRIVACYLOG COMMENT = '개인정보조회 로그'; +ALTER TABLE COMTNPROCESSMON COMMENT = '프로세스모니터링'; +ALTER TABLE COMTNPROCESSMONLOGINFO COMMENT = '프로세스모니터링로그정보'; +ALTER TABLE COMTNPROGRMLIST COMMENT = '프로그램목록'; +ALTER TABLE COMTNPROXYINFO COMMENT = '프록시정보'; +ALTER TABLE COMTNPROXYLOGINFO COMMENT = '프록시로그정보'; +ALTER TABLE COMTNQAINFO COMMENT = 'QA정보'; +ALTER TABLE COMTNQESTNRINFO COMMENT = '설문지정보'; +ALTER TABLE COMTNQUSTNRIEM COMMENT = '설문항목'; +ALTER TABLE COMTNQUSTNRQESITM COMMENT = '설문문항'; +ALTER TABLE COMTNQUSTNRRESPONDINFO COMMENT = '설문응답자정보'; +ALTER TABLE COMTNQUSTNRRSPNSRESULT COMMENT = '설문응답결과'; +ALTER TABLE COMTNQUSTNRTMPLAT COMMENT = '설문템플릿'; +ALTER TABLE COMTNRECENTSRCHWRD COMMENT = '최근검색어'; +ALTER TABLE COMTNRECENTSRCHWRDMANAGE COMMENT = '최근검색어관리'; +ALTER TABLE COMTNRECOMENDSITEINFO COMMENT = '추천사이트정보'; +ALTER TABLE COMTNREPRTSTATS COMMENT = '보고서통계'; +ALTER TABLE COMTNRESTDE COMMENT = '휴일관리'; +ALTER TABLE COMTNROLEINFO COMMENT = '롤정보'; +ALTER TABLE COMTNROLES_HIERARCHY COMMENT = '롤 계층구조'; +ALTER TABLE COMTNROUGHMAP COMMENT = '약도관리'; +ALTER TABLE COMTNRSS COMMENT = 'RSS관리'; +ALTER TABLE COMTNRWARDMANAGE COMMENT = '포상관리'; +ALTER TABLE COMTNSCHDULINFO COMMENT = '일정정보'; +ALTER TABLE COMTNSCRAP COMMENT = '스크랩'; +ALTER TABLE COMTNSERVEREQPMNINFO COMMENT = '서버장비정보'; +ALTER TABLE COMTNSERVEREQPMNRELATE COMMENT = '서버장비관계'; +ALTER TABLE COMTNSERVERINFO COMMENT = '서버정보'; +ALTER TABLE COMTNSERVERRESRCELOGINFO COMMENT = '서버자원로그정보'; +ALTER TABLE COMTNSITELIST COMMENT = '사이트목록'; +ALTER TABLE COMTNSITEMAP COMMENT = '사이트맵'; +ALTER TABLE COMTNSMS COMMENT = '문자메시지'; +ALTER TABLE COMTNSMSRECPTN COMMENT = '문자메시지수신'; +ALTER TABLE COMTNSTPLATINFO COMMENT = '약관정보'; +ALTER TABLE COMTNSTSFDG COMMENT = '만족도'; +ALTER TABLE COMTNSYNCHRNSERVERINFO COMMENT = '동기화서버정보'; +ALTER TABLE COMTNSYSLOG COMMENT = '시스템로그'; +ALTER TABLE COMTNSYSTEMCNTC COMMENT = '시스템연계'; +ALTER TABLE COMTNTMPLATINFO COMMENT = '템플릿'; +ALTER TABLE COMTNTROBLINFO COMMENT = '장애정보'; +ALTER TABLE COMTNTRSMRCVLOG COMMENT = '송수신로그'; +ALTER TABLE COMTNTRSMRCVMNTRNG COMMENT = '송수신모니터링'; +ALTER TABLE COMTNTWITTER COMMENT = '트위터계정관리'; +ALTER TABLE COMTNUNITYLINK COMMENT = '통합링크'; +ALTER TABLE COMTNUSERABSNCE COMMENT = '사용자부재'; +ALTER TABLE COMTNUSERLOG COMMENT = '사용자로그'; +ALTER TABLE COMTNVCATNMANAGE COMMENT = '휴가관리'; +ALTER TABLE COMTNWEBLOG COMMENT = '웹로그'; +ALTER TABLE COMTNWIKIBKMK COMMENT = 'Wiki북마크'; +ALTER TABLE COMTNWIKMNTHNGREPRT COMMENT = '주간/월간보고정보'; +ALTER TABLE COMTNWORDDICARYINFO COMMENT = '용어사전정보'; +ALTER TABLE COMTRDNMADRZIP COMMENT = '도로명주소'; +ALTER TABLE COMTSBBSSUMMARY COMMENT = '게시물통계요약'; +ALTER TABLE COMTSSYSLOGSUMMARY COMMENT = '시스템로그요약'; +ALTER TABLE COMTSTRSMRCVLOGSUMMARY COMMENT = '송수신로그요약'; +ALTER TABLE COMTSUSERSUMMARY COMMENT = '사용자통계요약'; +ALTER TABLE COMTSWEBLOGSUMMARY COMMENT = '웹로그 요약'; +ALTER TABLE IDS COMMENT = 'IDS'; +ALTER TABLE IMGTEMP COMMENT = 'IMGTEMP'; +ALTER TABLE J_ATTACHFILE COMMENT = 'Jfile업로드'; +ALTER TABLE COMTNBLOG COMMENT = '블로그게시판'; +ALTER TABLE COMTNBLOGUSER COMMENT = '블로그사용자'; + + +ALTER TABLE `COMTCADMINISTCODE` CHANGE `ABL_DE` `ABL_DE` char(20) DEFAULT NULL COMMENT '폐지일' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `ADMINIST_ZONE_CODE` `ADMINIST_ZONE_CODE` varchar(10) NOT NULL COMMENT '행정구역코드' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `ADMINIST_ZONE_NM` `ADMINIST_ZONE_NM` varchar(60) DEFAULT NULL COMMENT '행정구역명' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `ADMINIST_ZONE_SE` `ADMINIST_ZONE_SE` char(1) NOT NULL COMMENT '행정구역구분' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `CREAT_DE` `CREAT_DE` char(20) DEFAULT NULL COMMENT '생성일' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `UPPER_ADMINIST_ZONE_CODE` `UPPER_ADMINIST_ZONE_CODE` varchar(10) DEFAULT NULL COMMENT '상위행정구역코드' ; +ALTER TABLE `COMTCADMINISTCODE` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `ABL_DE` `ABL_DE` char(20) DEFAULT NULL COMMENT '폐지일' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `ABL_ENNC` `ABL_ENNC` char(1) DEFAULT NULL COMMENT '폐지유무' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `ADMINIST_ZONE_CODE` `ADMINIST_ZONE_CODE` varchar(10) NOT NULL COMMENT '행정구역코드' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `ADMINIST_ZONE_NM` `ADMINIST_ZONE_NM` varchar(60) DEFAULT NULL COMMENT '행정구역명' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `ADMINIST_ZONE_SE` `ADMINIST_ZONE_SE` char(1) NOT NULL COMMENT '행정구역구분' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `CHANGE_SE_CODE` `CHANGE_SE_CODE` varchar(2) DEFAULT NULL COMMENT '변경구분코드' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `CREAT_DE` `CREAT_DE` char(20) DEFAULT NULL COMMENT '생성일' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `CTPRVN_CODE` `CTPRVN_CODE` varchar(2) DEFAULT NULL COMMENT '시도코드' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `EMD_CODE` `EMD_CODE` varchar(3) DEFAULT NULL COMMENT '읍면동코드' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `LI_CODE` `LI_CODE` varchar(2) DEFAULT NULL COMMENT '리코드' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `LOWEST_ADMINIST_ZONE_NM` `LOWEST_ADMINIST_ZONE_NM` varchar(60) DEFAULT NULL COMMENT '최하위행정구역명' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(20) NOT NULL COMMENT '발생일' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `OPERT_SN` `OPERT_SN` decimal(10,0) NOT NULL COMMENT '작업일련번호' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `PROCESS_SE` `PROCESS_SE` varchar(2) DEFAULT NULL COMMENT '처리구분' ; +ALTER TABLE `COMTCADMINISTCODERECPTNLOG` CHANGE `SIGNGU_CODE` `SIGNGU_CODE` varchar(3) DEFAULT NULL COMMENT '시군구코드' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `CL_CODE_DC` `CL_CODE_DC` varchar(200) DEFAULT NULL COMMENT '분류코드설명' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `CL_CODE_NM` `CL_CODE_NM` varchar(60) DEFAULT NULL COMMENT '분류코드명' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `CL_CODE` `CL_CODE` char(3) NOT NULL COMMENT '분류코드' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTCCMMNCLCODE` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `CL_CODE` `CL_CODE` char(3) COMMENT '분류코드' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `CODE_ID_DC` `CODE_ID_DC` varchar(200) DEFAULT NULL COMMENT '코드ID설명' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `CODE_ID_NM` `CODE_ID_NM` varchar(60) DEFAULT NULL COMMENT '코드ID명' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `CODE_ID` `CODE_ID` varchar(6) NOT NULL COMMENT '코드ID' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTCCMMNCODE` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `CODE_DC` `CODE_DC` varchar(200) DEFAULT NULL COMMENT '코드설명' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `CODE_ID` `CODE_ID` varchar(6) NOT NULL COMMENT '코드ID' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `CODE_NM` `CODE_NM` varchar(60) DEFAULT NULL COMMENT '코드명' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `CODE` `CODE` varchar(15) NOT NULL COMMENT '코드' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTCCMMNDETAILCODE` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTCZIP` CHANGE `CTPRVN_NM` `CTPRVN_NM` varchar(20) DEFAULT NULL COMMENT '시도명' ; +ALTER TABLE `COMTCZIP` CHANGE `EMD_NM` `EMD_NM` varchar(60) DEFAULT NULL COMMENT '읍면동명' ; +ALTER TABLE `COMTCZIP` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTCZIP` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTCZIP` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTCZIP` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTCZIP` CHANGE `LI_BULD_NM` `LI_BULD_NM` varchar(60) DEFAULT NULL COMMENT '리건물명' ; +ALTER TABLE `COMTCZIP` CHANGE `LNBR_DONG_HO` `LNBR_DONG_HO` varchar(20) DEFAULT NULL COMMENT '번지동호' ; +ALTER TABLE `COMTCZIP` CHANGE `SIGNGU_NM` `SIGNGU_NM` varchar(20) DEFAULT NULL COMMENT '시군구명' ; +ALTER TABLE `COMTCZIP` CHANGE `SN` `SN` decimal(10,0) NOT NULL DEFAULT '0' COMMENT '일련번호' ; +ALTER TABLE `COMTCZIP` CHANGE `ZIP` `ZIP` varchar(6) NOT NULL COMMENT '우편번호' ; +ALTER TABLE `COMTECOPSEQ` CHANGE `NEXT_ID` `NEXT_ID` decimal(30,0) DEFAULT NULL COMMENT '다음아이디' ; +ALTER TABLE `COMTECOPSEQ` CHANGE `TABLE_NAME` `TABLE_NAME` varchar(20) NOT NULL DEFAULT '' COMMENT '테이블명' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `CONFM_DE` `CONFM_DE` char(20) DEFAULT NULL COMMENT '승인일' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `CONFM_NO` `CONFM_NO` decimal(8,0) NOT NULL COMMENT '승인번호' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `CONFM_RQESTER_ID` `CONFM_RQESTER_ID` varchar(20) NOT NULL COMMENT '승인요청자ID' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `CONFM_STTUS_CODE` `CONFM_STTUS_CODE` char(4) NOT NULL COMMENT '승인상태코드' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `CONFM_TY_CODE` `CONFM_TY_CODE` char(4) NOT NULL COMMENT '승인유형코드' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `CONFMER_ID` `CONFMER_ID` varchar(20) DEFAULT NULL COMMENT '승인자ID' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `OPERT_ID` `OPERT_ID` varchar(20) DEFAULT NULL COMMENT '작업ID' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `OPERT_TY_CODE` `OPERT_TY_CODE` char(4) DEFAULT NULL COMMENT '작업유형코드' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `TRGET_JOB_ID` `TRGET_JOB_ID` char(20) DEFAULT NULL COMMENT '대상업무ID' ; +ALTER TABLE `COMTHCONFMHISTORY` CHANGE `TRGET_JOB_TY_CODE` `TRGET_JOB_TY_CODE` char(3) DEFAULT NULL COMMENT '대상업무유형코드' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `CECK_SQL` `CECK_SQL` varchar(250) DEFAULT NULL COMMENT '체크SQL' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `DATA_SOURC_NM` `DATA_SOURC_NM` varchar(60) NOT NULL COMMENT '데이터소스명' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `DBMS_KND` `DBMS_KND` varchar(2) DEFAULT NULL COMMENT 'DBMS종류' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL DEFAULT '' COMMENT '로그ID' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `LOG_INFO` `LOG_INFO` varchar(2000) DEFAULT NULL COMMENT '로그정보' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTHDBMNTRNGLOGINFO` CHANGE `SERVER_NM` `SERVER_NM` varchar(60) DEFAULT NULL COMMENT '서버명' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) COMMENT '첨부파일ID' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `DSPTCH_DT` `DSPTCH_DT` char(20) NOT NULL COMMENT '발신일시' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `EMAIL_CN` `EMAIL_CN` mediumtext DEFAULT NULL COMMENT '이메일내용' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `MSSAGE_ID` `MSSAGE_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '메시지ID' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `RCVER` `RCVER` varchar(50) NOT NULL COMMENT '수신자' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `SJ` `SJ` varchar(60) NOT NULL COMMENT '제목' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `SNDNG_RESULT_CODE` `SNDNG_RESULT_CODE` char(1) DEFAULT NULL COMMENT '발송결과코드' ; +ALTER TABLE `COMTHEMAILDSPTCHMANAGE` CHANGE `SNDR` `SNDR` varchar(50) NOT NULL COMMENT '발신자' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `AREA_NO` `AREA_NO` varchar(4) DEFAULT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `BRTHDY` `BRTHDY` char(20) DEFAULT NULL COMMENT '생일' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `CHANGE_DE` `CHANGE_DE` char(20) NOT NULL DEFAULT '' COMMENT '변경일' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `DETAIL_ADRES` `DETAIL_ADRES` varchar(100) DEFAULT NULL COMMENT '상세주소' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `EMAIL_ADRES` `EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '이메일주소' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `EMPL_NO` `EMPL_NO` varchar(20) DEFAULT NULL COMMENT '사원번호' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `EMPLYR_STTUS_CODE` `EMPLYR_STTUS_CODE` char(1) DEFAULT NULL COMMENT '사용자상태코드' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `ESNTL_ID` `ESNTL_ID` char(20) DEFAULT NULL COMMENT '고유ID' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `FXNUM` `FXNUM` varchar(20) DEFAULT NULL COMMENT '팩스번호' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `GROUP_ID` `GROUP_ID` char(20) DEFAULT NULL COMMENT '그룹ID' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `HOUSE_ADRES` `HOUSE_ADRES` varchar(100) DEFAULT NULL COMMENT '주택주소' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `HOUSE_END_TELNO` `HOUSE_END_TELNO` varchar(4) DEFAULT NULL COMMENT '주택끝전화번호' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `HOUSE_MIDDLE_TELNO` `HOUSE_MIDDLE_TELNO` varchar(4) DEFAULT NULL COMMENT '주택중간전화번호' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `MBTLNUM` `MBTLNUM` varchar(20) DEFAULT NULL COMMENT '이동전화번호' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `OFFM_TELNO` `OFFM_TELNO` varchar(20) DEFAULT NULL COMMENT '사무실전화번호' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `ORGNZT_ID` `ORGNZT_ID` char(20) DEFAULT NULL COMMENT '조직ID' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `PSTINST_CODE` `PSTINST_CODE` char(8) DEFAULT NULL COMMENT '소속기관코드' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `SEXDSTN_CODE` `SEXDSTN_CODE` char(1) DEFAULT NULL COMMENT '성별코드' ; +ALTER TABLE `COMTHEMPLYRINFOCHANGEDTLS` CHANGE `ZIP` `ZIP` varchar(6) DEFAULT NULL COMMENT '우편번호' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `HTTP_STTUS_CODE` `HTTP_STTUS_CODE` varchar(3) DEFAULT NULL COMMENT 'HTTP상태코드' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL DEFAULT '' COMMENT '로그ID' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `LOG_INFO` `LOG_INFO` varchar(2000) DEFAULT NULL COMMENT '로그정보' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `SITE_URL` `SITE_URL` varchar(100) DEFAULT NULL COMMENT '사이트URL' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `SYS_ID` `SYS_ID` varchar(20) NOT NULL COMMENT '시스템ID' ; +ALTER TABLE `COMTHHTTPMONLOGINFO` CHANGE `WEBSVC_KND` `WEBSVC_KND` varchar(10) DEFAULT NULL COMMENT '웹서비스종류' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `CHANGE_REQUST_CN` `CHANGE_REQUST_CN` varchar(1000) DEFAULT NULL COMMENT '변경요청내용' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `OPETR_ID` `OPETR_ID` varchar(20) DEFAULT NULL COMMENT '처리자ID' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `PROCESS_DE` `PROCESS_DE` char(20) DEFAULT NULL COMMENT '처리일' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `PROCESS_STTUS_CODE` `PROCESS_STTUS_CODE` varchar(15) NOT NULL COMMENT '처리상태코드' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `PROGRM_FILE_NM` `PROGRM_FILE_NM` varchar(60) NOT NULL COMMENT '프로그램파일명' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `REQUST_NO` `REQUST_NO` decimal(10,0) NOT NULL DEFAULT '0' COMMENT '요청번호' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `REQUST_PROCESS_CN` `REQUST_PROCESS_CN` mediumtext DEFAULT NULL COMMENT '요청처리내용' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `REQUST_SJ` `REQUST_SJ` varchar(60) NOT NULL COMMENT '요청제목' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `RQESTDE` `RQESTDE` char(20) DEFAULT NULL COMMENT '요청일' ; +ALTER TABLE `COMTHPROGRMCHANGEDTLS` CHANGE `RQESTER_ID` `RQESTER_ID` varchar(20) NOT NULL COMMENT '요청자ID' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `HIST_CN` `HIST_CN` varchar(2500) NOT NULL COMMENT '이력내용' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `HIST_ID` `HIST_ID` char(20) NOT NULL COMMENT '이력ID' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `HIST_SE_CODE` `HIST_SE_CODE` char(6) NOT NULL COMMENT '이력구분코드' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTHSYSHIST` CHANGE `SYS_NM` `SYS_NM` varchar(255) NOT NULL COMMENT '시스템명' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `CNTC_ID` `CNTC_ID` char(8) NOT NULL COMMENT '연계ID' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL COMMENT '로그ID' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `LOG_INFO` `LOG_INFO` varchar(2000) DEFAULT NULL COMMENT '로그정보' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTHTRSMRCVMNTRNGLOGINFO` CHANGE `TEST_CLASS_NM` `TEST_CLASS_NM` varchar(255) DEFAULT NULL COMMENT '테스트클래스명' ; +ALTER TABLE `COMTNADBK` CHANGE `ADBK_CONSTNT_ID` `ADBK_CONSTNT_ID` char(20) NOT NULL COMMENT '주소록구성원ID' ; +ALTER TABLE `COMTNADBK` CHANGE `ADBK_ID` `ADBK_ID` char(20) NOT NULL COMMENT '주소록ID' ; +ALTER TABLE `COMTNADBK` CHANGE `EMAIL_ADRES` `EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '이메일주소' ; +ALTER TABLE `COMTNADBK` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) DEFAULT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNADBK` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNADBK` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNADBK` CHANGE `FXNUM` `FXNUM` varchar(20) DEFAULT NULL COMMENT '팩스번호' ; +ALTER TABLE `COMTNADBK` CHANGE `HOUSE_TELNO` `HOUSE_TELNO` varchar(20) DEFAULT NULL COMMENT '주택전화번호' ; +ALTER TABLE `COMTNADBK` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNADBK` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNADBK` CHANGE `MBTLNUM` `MBTLNUM` varchar(20) DEFAULT NULL COMMENT '이동전화번호' ; +ALTER TABLE `COMTNADBK` CHANGE `NCRD_ID` `NCRD_ID` char(20) DEFAULT NULL COMMENT '명함ID' ; +ALTER TABLE `COMTNADBK` CHANGE `NM` `NM` varchar(50) DEFAULT NULL COMMENT '이름' ; +ALTER TABLE `COMTNADBK` CHANGE `OFFM_TELNO` `OFFM_TELNO` varchar(20) DEFAULT NULL COMMENT '사무실전화번호' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `ADBK_ID` `ADBK_ID` char(20) NOT NULL COMMENT '주소록ID' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `ADBK_NM` `ADBK_NM` varchar(50) NOT NULL COMMENT '주소록명' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `OTHBC_SCOPE` `OTHBC_SCOPE` varchar(20) NOT NULL COMMENT '공개범위' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `TRGET_ORGNZT_ID` `TRGET_ORGNZT_ID` char(20) DEFAULT NULL COMMENT '대상조직ID' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNADBKMANAGE` CHANGE `WRTER_ID` `WRTER_ID` varchar(20) DEFAULT NULL COMMENT '작성자ID' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `ADMINIST_WORD_ABRV_NM` `ADMINIST_WORD_ABRV_NM` varchar(255) DEFAULT NULL COMMENT '행정용어약어명' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `ADMINIST_WORD_DC` `ADMINIST_WORD_DC` varchar(4000) DEFAULT NULL COMMENT '행정용어설명' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `ADMINIST_WORD_DFN` `ADMINIST_WORD_DFN` varchar(2500) DEFAULT NULL COMMENT '행정용어정의' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `ADMINIST_WORD_ENG_NM` `ADMINIST_WORD_ENG_NM` varchar(255) DEFAULT NULL COMMENT '행정용어영문명' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `ADMINIST_WORD_ID` `ADMINIST_WORD_ID` char(20) NOT NULL DEFAULT '' COMMENT '행정용어ID' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `ADMINIST_WORD_NM` `ADMINIST_WORD_NM` varchar(255) DEFAULT NULL COMMENT '행정용어명' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `RELATE_STD_WORD` `RELATE_STD_WORD` varchar(255) DEFAULT NULL COMMENT '관계표준용어' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `THEMA_RELM` `THEMA_RELM` varchar(255) DEFAULT NULL COMMENT '주제영역' ; +ALTER TABLE `COMTNADMINISTRATIONWORD` CHANGE `WORD_SE` `WORD_SE` varchar(255) DEFAULT NULL COMMENT '용어구분' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `ANNVRSRY_ID` `ANNVRSRY_ID` varchar(20) NOT NULL COMMENT '기념일ID' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `ANNVRSRY_NM` `ANNVRSRY_NM` varchar(255) NOT NULL COMMENT '기념일명' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `ANNVRSRY_NTCN_BGNDE` `ANNVRSRY_NTCN_BGNDE` char(20) DEFAULT NULL COMMENT '알림시작일' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `ANNVRSRY_NTCN_SETUP` `ANNVRSRY_NTCN_SETUP` char(1) DEFAULT NULL COMMENT '알림설정' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `ANNVRSRY_SE` `ANNVRSRY_SE` varchar(2) NOT NULL COMMENT '기념일구분' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `ANNVRSRY` `ANNVRSRY` char(20) NOT NULL COMMENT '기념일' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `CLDR_SE` `CLDR_SE` char(1) NOT NULL COMMENT '달력구분' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `MEMO` `MEMO` varchar(1000) DEFAULT NULL COMMENT '메모' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `REPTIT_AT` `REPTIT_AT` char(1) DEFAULT NULL COMMENT '반복여부' ; +ALTER TABLE `COMTNANNVRSRYMANAGE` CHANGE `USER_ID` `USER_ID` varchar(20) NOT NULL COMMENT '사용자ID' ; +ALTER TABLE `COMTNANSWER` CHANGE `ANSWER_NO` `ANSWER_NO` decimal(20,0) NOT NULL COMMENT '답글번호' ; +ALTER TABLE `COMTNANSWER` CHANGE `ANSWER` `ANSWER` varchar(200) DEFAULT NULL COMMENT '댓글' ; +ALTER TABLE `COMTNANSWER` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNANSWER` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNANSWER` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNANSWER` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNANSWER` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNANSWER` CHANGE `NTT_ID` `NTT_ID` decimal(20,0) NOT NULL COMMENT '게시물ID' ; +ALTER TABLE `COMTNANSWER` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNANSWER` CHANGE `WRTER_ID` `WRTER_ID` varchar(20) DEFAULT NULL COMMENT '작성자ID' ; +ALTER TABLE `COMTNANSWER` CHANGE `WRTER_NM` `WRTER_NM` varchar(20) DEFAULT NULL COMMENT '작성자명' ; +ALTER TABLE `COMTNAUTHORGROUPINFO` CHANGE `GROUP_CREAT_DE` `GROUP_CREAT_DE` char(20) NOT NULL COMMENT '그룹생성일' ; +ALTER TABLE `COMTNAUTHORGROUPINFO` CHANGE `GROUP_DC` `GROUP_DC` varchar(100) DEFAULT NULL COMMENT '그룹설명' ; +ALTER TABLE `COMTNAUTHORGROUPINFO` CHANGE `GROUP_ID` `GROUP_ID` char(20) NOT NULL DEFAULT '' COMMENT '그룹ID' ; +ALTER TABLE `COMTNAUTHORGROUPINFO` CHANGE `GROUP_NM` `GROUP_NM` varchar(60) NOT NULL COMMENT '그룹명' ; +ALTER TABLE `COMTNAUTHORINFO` CHANGE `AUTHOR_CODE` `AUTHOR_CODE` varchar(30) NOT NULL DEFAULT '' COMMENT '권한코드' ; +ALTER TABLE `COMTNAUTHORINFO` CHANGE `AUTHOR_CREAT_DE` `AUTHOR_CREAT_DE` char(20) NOT NULL COMMENT '권한생성일' ; +ALTER TABLE `COMTNAUTHORINFO` CHANGE `AUTHOR_DC` `AUTHOR_DC` varchar(200) DEFAULT NULL COMMENT '권한설명' ; +ALTER TABLE `COMTNAUTHORINFO` CHANGE `AUTHOR_NM` `AUTHOR_NM` varchar(60) NOT NULL COMMENT '권한명' ; +ALTER TABLE `COMTNAUTHORROLERELATE` CHANGE `AUTHOR_CODE` `AUTHOR_CODE` varchar(30) NOT NULL COMMENT '권한코드' ; +ALTER TABLE `COMTNAUTHORROLERELATE` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNAUTHORROLERELATE` CHANGE `ROLE_CODE` `ROLE_CODE` varchar(50) NOT NULL COMMENT '롤코드' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `BACKUP_OPERT_ID` `BACKUP_OPERT_ID` varchar(20) NOT NULL COMMENT '백업작업ID' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `BACKUP_OPERT_NM` `BACKUP_OPERT_NM` varchar(60) DEFAULT NULL COMMENT '백업작업명' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `BACKUP_ORGINL_DRCTRY` `BACKUP_ORGINL_DRCTRY` varchar(255) DEFAULT NULL COMMENT '백업원본디렉토리' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `BACKUP_STRE_DRCTRY` `BACKUP_STRE_DRCTRY` varchar(255) DEFAULT NULL COMMENT '백업저장디렉토리' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `CMPRS_SE` `CMPRS_SE` varchar(2) DEFAULT NULL COMMENT '압축구분' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `EXECUT_CYCLE` `EXECUT_CYCLE` varchar(2) DEFAULT NULL COMMENT '실행주기' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `EXECUT_SCHDUL_DE` `EXECUT_SCHDUL_DE` char(20) DEFAULT NULL COMMENT '실행일정일' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `EXECUT_SCHDUL_HOUR` `EXECUT_SCHDUL_HOUR` char(2) DEFAULT NULL COMMENT '실행일정시' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `EXECUT_SCHDUL_MNT` `EXECUT_SCHDUL_MNT` char(2) DEFAULT NULL COMMENT '실행일정분' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `EXECUT_SCHDUL_SECND` `EXECUT_SCHDUL_SECND` char(2) DEFAULT NULL COMMENT '실행일정초' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBACKUPOPERT` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `BACKUP_FILE` `BACKUP_FILE` varchar(255) DEFAULT NULL COMMENT '백업파일' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `BACKUP_OPERT_ID` `BACKUP_OPERT_ID` varchar(20) NOT NULL COMMENT '백업작업ID' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `BACKUP_RESULT_ID` `BACKUP_RESULT_ID` varchar(20) NOT NULL COMMENT '백업결과ID' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `ERROR_INFO` `ERROR_INFO` varchar(2000) DEFAULT NULL COMMENT '오류정보' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `EXECUT_BEGIN_TM` `EXECUT_BEGIN_TM` varchar(14) DEFAULT NULL COMMENT '실행시작시각' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `EXECUT_END_TM` `EXECUT_END_TM` varchar(14) DEFAULT NULL COMMENT '실행종료시각' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBACKUPRESULT` CHANGE `STTUS` `STTUS` varchar(2) DEFAULT NULL COMMENT '상태' ; +ALTER TABLE `COMTNBACKUPSCHDULDFK` CHANGE `BACKUP_OPERT_ID` `BACKUP_OPERT_ID` varchar(20) NOT NULL COMMENT '백업작업ID' ; +ALTER TABLE `COMTNBACKUPSCHDULDFK` CHANGE `EXECUT_SCHDUL_DFK_SE` `EXECUT_SCHDUL_DFK_SE` char(1) NOT NULL COMMENT '실행일정요일구분' ; +ALTER TABLE `COMTNBANNER` CHANGE `BANNER_DC` `BANNER_DC` varchar(200) DEFAULT NULL COMMENT '배너설명' ; +ALTER TABLE `COMTNBANNER` CHANGE `BANNER_ID` `BANNER_ID` char(20) NOT NULL DEFAULT '' COMMENT '배너ID' ; +ALTER TABLE `COMTNBANNER` CHANGE `BANNER_IMAGE_FILE` `BANNER_IMAGE_FILE` varchar(60) DEFAULT NULL COMMENT '배너이미지파일' ; +ALTER TABLE `COMTNBANNER` CHANGE `BANNER_IMAGE` `BANNER_IMAGE` varchar(60) NOT NULL COMMENT '배너이미지' ; +ALTER TABLE `COMTNBANNER` CHANGE `BANNER_NM` `BANNER_NM` varchar(60) NOT NULL COMMENT '배너명' ; +ALTER TABLE `COMTNBANNER` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBANNER` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBANNER` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBANNER` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBANNER` CHANGE `LINK_URL` `LINK_URL` varchar(255) NOT NULL COMMENT '링크URL' ; +ALTER TABLE `COMTNBANNER` CHANGE `REFLCT_AT` `REFLCT_AT` char(1) NOT NULL COMMENT '반영여부' ; +ALTER TABLE `COMTNBANNER` CHANGE `SORT_ORDR` `SORT_ORDR` decimal(8,0) DEFAULT NULL COMMENT '정렬순서' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `BATCH_OPERT_ID` `BATCH_OPERT_ID` varchar(20) NOT NULL COMMENT '배치작업ID' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `BATCH_OPERT_NM` `BATCH_OPERT_NM` varchar(60) DEFAULT NULL COMMENT '배치작업명' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `BATCH_PROGRM` `BATCH_PROGRM` varchar(255) DEFAULT NULL COMMENT '배치프로그램' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `PARAMTR` `PARAMTR` varchar(250) DEFAULT NULL COMMENT '파라미터' ; +ALTER TABLE `COMTNBATCHOPERT` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `BATCH_OPERT_ID` `BATCH_OPERT_ID` varchar(20) NOT NULL COMMENT '배치작업ID' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `BATCH_RESULT_ID` `BATCH_RESULT_ID` varchar(20) NOT NULL COMMENT '배치결과ID' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `BATCH_SCHDUL_ID` `BATCH_SCHDUL_ID` varchar(20) NOT NULL COMMENT '배치일정ID' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `ERROR_INFO` `ERROR_INFO` varchar(2000) DEFAULT NULL COMMENT '오류정보' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `EXECUT_BEGIN_TM` `EXECUT_BEGIN_TM` varchar(14) DEFAULT NULL COMMENT '실행시작시각' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `EXECUT_END_TM` `EXECUT_END_TM` varchar(14) DEFAULT NULL COMMENT '실행종료시각' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `PARAMTR` `PARAMTR` varchar(250) DEFAULT NULL COMMENT '파라미터' ; +ALTER TABLE `COMTNBATCHRESULT` CHANGE `STTUS` `STTUS` varchar(2) DEFAULT NULL COMMENT '상태' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `BATCH_OPERT_ID` `BATCH_OPERT_ID` varchar(20) NOT NULL COMMENT '배치작업ID' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `BATCH_SCHDUL_ID` `BATCH_SCHDUL_ID` varchar(20) NOT NULL COMMENT '배치일정ID' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `EXECUT_CYCLE` `EXECUT_CYCLE` varchar(2) DEFAULT NULL COMMENT '실행주기' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `EXECUT_SCHDUL_DE` `EXECUT_SCHDUL_DE` char(20) DEFAULT NULL COMMENT '실행일정일' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `EXECUT_SCHDUL_HOUR` `EXECUT_SCHDUL_HOUR` char(2) DEFAULT NULL COMMENT '실행일정시' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `EXECUT_SCHDUL_MNT` `EXECUT_SCHDUL_MNT` char(2) DEFAULT NULL COMMENT '실행일정분' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `EXECUT_SCHDUL_SECND` `EXECUT_SCHDUL_SECND` char(2) DEFAULT NULL COMMENT '실행일정초' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBATCHSCHDUL` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBATCHSCHDULDFK` CHANGE `BATCH_SCHDUL_ID` `BATCH_SCHDUL_ID` varchar(20) NOT NULL COMMENT '배치일정ID' ; +ALTER TABLE `COMTNBATCHSCHDULDFK` CHANGE `EXECUT_SCHDUL_DFK_SE` `EXECUT_SCHDUL_DFK_SE` char(1) NOT NULL COMMENT '실행일정요일구분' ; +ALTER TABLE `COMTNBBS` CHANGE `ANSWER_AT` `ANSWER_AT` char(1) DEFAULT NULL COMMENT '댓글여부' ; +ALTER TABLE `COMTNBBS` CHANGE `ANSWER_LC` `ANSWER_LC` decimal(8,0) DEFAULT NULL COMMENT '댓글위치' ; +ALTER TABLE `COMTNBBS` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNBBS` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNBBS` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBBS` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBBS` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBBS` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBBS` CHANGE `NTCE_BGNDE` `NTCE_BGNDE` char(20) DEFAULT NULL COMMENT '게시시작일' ; +ALTER TABLE `COMTNBBS` CHANGE `NTCE_ENDDE` `NTCE_ENDDE` char(20) DEFAULT NULL COMMENT '게시종료일' ; +ALTER TABLE `COMTNBBS` CHANGE `NTCR_ID` `NTCR_ID` varchar(20) DEFAULT NULL COMMENT '게시자ID' ; +ALTER TABLE `COMTNBBS` CHANGE `NTCR_NM` `NTCR_NM` varchar(20) DEFAULT NULL COMMENT '게시자명' ; +ALTER TABLE `COMTNBBS` CHANGE `NTT_CN` `NTT_CN` mediumtext DEFAULT NULL COMMENT '게시물내용' ; +ALTER TABLE `COMTNBBS` CHANGE `NTT_ID` `NTT_ID` decimal(20,0) NOT NULL COMMENT '게시물ID' ; +ALTER TABLE `COMTNBBS` CHANGE `NTT_NO` `NTT_NO` decimal(20,0) DEFAULT NULL COMMENT '게시물번호' ; +ALTER TABLE `COMTNBBS` CHANGE `NTT_SJ` `NTT_SJ` varchar(2000) DEFAULT NULL COMMENT '게시물제목' ; +ALTER TABLE `COMTNBBS` CHANGE `PARNTSCTT_NO` `PARNTSCTT_NO` decimal(10,0) DEFAULT NULL COMMENT '부모글번호' ; +ALTER TABLE `COMTNBBS` CHANGE `PASSWORD` `PASSWORD` varchar(200) DEFAULT NULL COMMENT '비밀번호' ; +ALTER TABLE `COMTNBBS` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTNBBS` CHANGE `SORT_ORDR` `SORT_ORDR` decimal(8,0) DEFAULT NULL COMMENT '정렬순서' ; +ALTER TABLE `COMTNBBS` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNBBS` CHANGE `BLOG_ID` `BLOG_ID` char(20) NULL COMMENT '블로그 ID' ; +ALTER TABLE `COMTNBBS` CHANGE `NOTICE_AT` `NOTICE_AT` char(1) NULL COMMENT '공지사항여부' ; +ALTER TABLE `COMTNBBS` CHANGE `SECRET_AT` `SECRET_AT` char(1) NULL COMMENT '비밀글여부' ; +ALTER TABLE `COMTNBBS` CHANGE `SJ_BOLD_AT` `SJ_BOLD_AT` char(1) NULL COMMENT '제목볼드여부' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `ATCH_POSBL_FILE_NUMBER` `ATCH_POSBL_FILE_NUMBER` decimal(2,0) NOT NULL COMMENT '첨부가능파일숫자' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `ATCH_POSBL_FILE_SIZE` `ATCH_POSBL_FILE_SIZE` decimal(8,0) DEFAULT NULL COMMENT '첨부가능파일사이즈' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `BBS_INTRCN` `BBS_INTRCN` varchar(2400) DEFAULT NULL COMMENT '게시판소개' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `BBS_NM` `BBS_NM` varchar(255) NOT NULL COMMENT '게시판명' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `BBS_TY_CODE` `BBS_TY_CODE` char(6) NOT NULL COMMENT '게시판유형코드' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `FILE_ATCH_POSBL_AT` `FILE_ATCH_POSBL_AT` char(1) NOT NULL COMMENT '파일첨부가능여부' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `REPLY_POSBL_AT` `REPLY_POSBL_AT` char(1) DEFAULT NULL COMMENT '답장가능여부' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `TMPLAT_ID` `TMPLAT_ID` char(20) DEFAULT NULL COMMENT '템플릿ID' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `BLOG_AT` `BLOG_AT` char(2) NULL COMMENT '블로그 여부' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `BLOG_ID` `BLOG_ID` char(20) NULL COMMENT '블로그 ID' ; +ALTER TABLE `COMTNBBSMASTER` CHANGE `CMMNTY_ID` `CMMNTY_ID` char(20) NULL COMMENT '커뮤니티ID' ; +ALTER TABLE `COMTNBBSMASTEROPTN` CHANGE `ANSWER_AT` `ANSWER_AT` char(1) NOT NULL COMMENT '댓글여부' ; +ALTER TABLE `COMTNBBSMASTEROPTN` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNBBSMASTEROPTN` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBBSMASTEROPTN` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBBSMASTEROPTN` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBBSMASTEROPTN` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBBSMASTEROPTN` CHANGE `STSFDG_AT` `STSFDG_AT` char(1) NOT NULL COMMENT '만족도여부' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `REGIST_SE_CODE` `REGIST_SE_CODE` char(6) DEFAULT NULL COMMENT '등록구분코드' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `TRGET_ID` `TRGET_ID` char(20) NOT NULL DEFAULT '' COMMENT '대상ID' ; +ALTER TABLE `COMTNBBSUSE` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNBKMKMENUMANAGERESULT` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNBKMKMENUMANAGERESULT` CHANGE `MENU_ID` `MENU_ID` decimal(20,0) NOT NULL DEFAULT '0' COMMENT '메뉴ID' ; +ALTER TABLE `COMTNBKMKMENUMANAGERESULT` CHANGE `MENU_NM` `MENU_NM` varchar(60) NOT NULL COMMENT '메뉴명' ; +ALTER TABLE `COMTNBKMKMENUMANAGERESULT` CHANGE `PROGRM_STRE_PATH` `PROGRM_STRE_PATH` varchar(100) NOT NULL COMMENT '프로그램저장경로' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `BNDT_CECK_CODE_NM` `BNDT_CECK_CODE_NM` varchar(255) NOT NULL COMMENT '당직체크코드명' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `BNDT_CECK_CODE` `BNDT_CECK_CODE` varchar(10) NOT NULL COMMENT '당직체크코드' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `BNDT_CECK_SE` `BNDT_CECK_SE` char(2) NOT NULL COMMENT '당직체크구분' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBNDTCECKMANAGE` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `BNDT_CECK_CODE` `BNDT_CECK_CODE` varchar(10) NOT NULL COMMENT '당직체크코드' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `BNDT_CECK_SE` `BNDT_CECK_SE` char(2) NOT NULL COMMENT '당직체크구분' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `BNDT_DE` `BNDT_DE` char(8) NOT NULL COMMENT '당직일자' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `BNDT_ID` `BNDT_ID` varchar(20) NOT NULL COMMENT '당직ID' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `CHCK_STTUS` `CHCK_STTUS` varchar(1000) DEFAULT NULL COMMENT '점검상태' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBNDTDIARY` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBNDTMANAGE` CHANGE `BNDT_DE` `BNDT_DE` char(8) NOT NULL COMMENT '당직일자' ; +ALTER TABLE `COMTNBNDTMANAGE` CHANGE `BNDT_ID` `BNDT_ID` varchar(20) NOT NULL COMMENT '당직ID' ; +ALTER TABLE `COMTNBNDTMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBNDTMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBNDTMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBNDTMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBNDTMANAGE` CHANGE `RM` `RM` varchar(2500) DEFAULT NULL COMMENT '비고' ; +ALTER TABLE `COMTNCLUB` CHANGE `CLB_ID` `CLB_ID` char(20) NOT NULL COMMENT '동호회ID' ; +ALTER TABLE `COMTNCLUB` CHANGE `CLB_INTRCN` `CLB_INTRCN` varchar(2400) DEFAULT NULL COMMENT '동호회소개' ; +ALTER TABLE `COMTNCLUB` CHANGE `CLB_NM` `CLB_NM` varchar(255) NOT NULL COMMENT '동호회명' ; +ALTER TABLE `COMTNCLUB` CHANGE `CMMNTY_ID` `CMMNTY_ID` char(20) NOT NULL COMMENT '커뮤니티ID' ; +ALTER TABLE `COMTNCLUB` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCLUB` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCLUB` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCLUB` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCLUB` CHANGE `REGIST_SE_CODE` `REGIST_SE_CODE` char(6) DEFAULT NULL COMMENT '등록구분코드' ; +ALTER TABLE `COMTNCLUB` CHANGE `TMPLAT_ID` `TMPLAT_ID` char(20) DEFAULT NULL COMMENT '템플릿ID' ; +ALTER TABLE `COMTNCLUB` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `CLB_ID` `CLB_ID` char(20) NOT NULL COMMENT '동호회ID' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `CMMNTY_ID` `CMMNTY_ID` char(20) NOT NULL COMMENT '커뮤니티ID' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `OPRTR_AT` `OPRTR_AT` char(1) NOT NULL COMMENT '운영인여부' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `SBSCRB_DE` `SBSCRB_DE` datetime DEFAULT NULL COMMENT '가입일자' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `SECSN_DE` `SECSN_DE` char(20) DEFAULT NULL COMMENT '탈퇴일' ; +ALTER TABLE `COMTNCLUBUSER` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `CMMNTY_ID` `CMMNTY_ID` char(20) NOT NULL COMMENT '커뮤니티ID' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `CMMNTY_INTRCN` `CMMNTY_INTRCN` varchar(2400) DEFAULT NULL COMMENT '커뮤니티소개' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `CMMNTY_NM` `CMMNTY_NM` varchar(255) NOT NULL COMMENT '커뮤니티명' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `REGIST_SE_CODE` `REGIST_SE_CODE` char(6) DEFAULT NULL COMMENT '등록구분코드' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `TMPLAT_ID` `TMPLAT_ID` char(20) DEFAULT NULL COMMENT '템플릿ID' ; +ALTER TABLE `COMTNCMMNTY` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `CMMNTY_ID` `CMMNTY_ID` char(20) NOT NULL COMMENT '커뮤니티ID' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `MNGR_AT` `MNGR_AT` char(1) NOT NULL COMMENT '관리자여부' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `SBSCRB_DE` `SBSCRB_DE` datetime DEFAULT NULL COMMENT '가입일자' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `SECSN_DE` `SECSN_DE` char(20) DEFAULT NULL COMMENT '탈퇴일' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCMMNTYUSER` CHANGE `MBER_STTUS` `MBER_STTUS` varchar(15) NULL COMMENT '회원 상태' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `AREA_NO` `AREA_NO` varchar(4) DEFAULT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `CNSLT_CN` `CNSLT_CN` varchar(2500) DEFAULT NULL COMMENT '상담내용' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `CNSLT_ID` `CNSLT_ID` char(20) NOT NULL COMMENT '상담ID' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `CNSLT_SJ` `CNSLT_SJ` varchar(255) DEFAULT NULL COMMENT '상담제목' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `EMAIL_ADRES` `EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '이메일주소' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `EMAIL_ANSWER_AT` `EMAIL_ANSWER_AT` char(1) DEFAULT NULL COMMENT '메일답변여부' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `END_MBTLNUM` `END_MBTLNUM` varchar(4) DEFAULT NULL COMMENT '끝이동전화번호' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `END_TELNO` `END_TELNO` varchar(4) DEFAULT NULL COMMENT '끝전화번호' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `FRST_MBTLNUM` `FRST_MBTLNUM` varchar(4) DEFAULT NULL COMMENT '처음휴대폰번호' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `MANAGT_CN` `MANAGT_CN` varchar(2500) DEFAULT NULL COMMENT '조치내용' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `MANAGT_DE` `MANAGT_DE` char(20) DEFAULT NULL COMMENT '조치일' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `MIDDLE_MBTLNUM` `MIDDLE_MBTLNUM` varchar(4) DEFAULT NULL COMMENT '중간이동전화번호' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `MIDDLE_TELNO` `MIDDLE_TELNO` varchar(4) DEFAULT NULL COMMENT '중간전화번호' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `OTHBC_AT` `OTHBC_AT` char(1) DEFAULT NULL COMMENT '공개여부' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `QNA_PROCESS_STTUS_CODE` `QNA_PROCESS_STTUS_CODE` char(1) DEFAULT NULL COMMENT '질의응답처리상태코드' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `WRITNG_DE` `WRITNG_DE` char(20) DEFAULT NULL COMMENT '작성일' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `WRITNG_PASSWORD` `WRITNG_PASSWORD` varchar(20) DEFAULT NULL COMMENT '작성비밀번호' ; +ALTER TABLE `COMTNCNSLTLIST` CHANGE `WRTER_NM` `WRTER_NM` varchar(20) DEFAULT NULL COMMENT '작성자명' ; +ALTER TABLE `COMTNCNTCINSTT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCNTCINSTT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCNTCINSTT` CHANGE `INSTT_ID` `INSTT_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '기관ID' ; +ALTER TABLE `COMTNCNTCINSTT` CHANGE `INSTT_NM` `INSTT_NM` varchar(100) DEFAULT NULL COMMENT '기관명' ; +ALTER TABLE `COMTNCNTCINSTT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCNTCINSTT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCNTCINSTT` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `CNTC_MSSAGE_ID` `CNTC_MSSAGE_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '연계메시지ID' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `CNTC_MSSAGE_NM` `CNTC_MSSAGE_NM` varchar(100) DEFAULT NULL COMMENT '연계메시지명' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `UPPER_CNTC_MSSAGE_ID` `UPPER_CNTC_MSSAGE_ID` varchar(20) DEFAULT NULL COMMENT '상위연계메시지ID' ; +ALTER TABLE `COMTNCNTCMESSAGE` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `CNTC_MSSAGE_ID` `CNTC_MSSAGE_ID` varchar(20) NOT NULL COMMENT '연계메시지ID' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `IEM_ID` `IEM_ID` varchar(20) NOT NULL COMMENT '항목ID' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `IEM_LT` `IEM_LT` decimal(8,0) DEFAULT NULL COMMENT '항목길이' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `IEM_NM` `IEM_NM` varchar(100) DEFAULT NULL COMMENT '항목명' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `IEM_TY` `IEM_TY` varchar(50) DEFAULT NULL COMMENT '항목유형' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCNTCMESSAGEITEM` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `INSTT_ID` `INSTT_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '기관ID' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `REQUST_MSSAGE_ID` `REQUST_MSSAGE_ID` varchar(20) DEFAULT NULL COMMENT '요청메시지ID' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `RSPNS_MSSAGE_ID` `RSPNS_MSSAGE_ID` varchar(20) DEFAULT NULL COMMENT '응답메시지ID' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `SVC_ID` `SVC_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '서비스ID' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `SVC_NM` `SVC_NM` varchar(255) DEFAULT NULL COMMENT '서비스명' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `SYS_ID` `SYS_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '시스템ID' ; +ALTER TABLE `COMTNCNTCSERVICE` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `INSTT_ID` `INSTT_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '기관ID' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `SYS_ID` `SYS_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '시스템ID' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `SYS_IP` `SYS_IP` varchar(23) DEFAULT NULL COMMENT '시스템IP' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `SYS_NM` `SYS_NM` varchar(255) DEFAULT NULL COMMENT '시스템명' ; +ALTER TABLE `COMTNCNTCSYSTEM` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCNTNTSLIST` CHANGE `CNTNTS_ID` `CNTNTS_ID` varchar(20) NOT NULL COMMENT '컨텐츠ID' ; +ALTER TABLE `COMTNCNTNTSLIST` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `ANSWER_NO` `ANSWER_NO` decimal(20,0) NOT NULL COMMENT '댓글번호' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `ANSWER` `ANSWER` varchar(200) DEFAULT NULL COMMENT '댓글' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `NTT_ID` `NTT_ID` decimal(20,0) NOT NULL COMMENT '게시물ID' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `PASSWORD` `PASSWORD` varchar(200) DEFAULT NULL COMMENT '비밀번호' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `WRTER_ID` `WRTER_ID` varchar(20) DEFAULT NULL COMMENT '작성자ID' ; +ALTER TABLE `COMTNCOMMENT` CHANGE `WRTER_NM` `WRTER_NM` varchar(20) DEFAULT NULL COMMENT '작성자명' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `ORGNZT_ID` `ORGNZT_ID` varchar(20) DEFAULT NULL COMMENT '조직ID' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `OVTMWRK_HOURS` `OVTMWRK_HOURS` char(2) DEFAULT NULL COMMENT '초과근무시간' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `RM` `RM` varchar(100) DEFAULT NULL COMMENT '비고' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `WRK_END_STATUS` `WRK_END_STATUS` varchar(10) DEFAULT NULL COMMENT '퇴근상태' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `WRK_END_TIME` `WRK_END_TIME` varchar(14) DEFAULT NULL COMMENT '퇴근시간' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `WRK_HOURS` `WRK_HOURS` char(2) DEFAULT NULL COMMENT '근무시간' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `WRK_START_STATUS` `WRK_START_STATUS` varchar(10) DEFAULT NULL COMMENT '출근상태' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `WRK_START_TIME` `WRK_START_TIME` varchar(14) DEFAULT NULL COMMENT '출근시간' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `WRKT_DT` `WRKT_DT` varchar(10) NOT NULL COMMENT '출근날짜' ; +ALTER TABLE `COMTNCOMMUTE` CHANGE `WRKTM_ID` `WRKTM_ID` char(20) NOT NULL COMMENT '출퇴근 구분 ID' ; +ALTER TABLE `COMTNCPYRHTINFO` CHANGE `CPYRHT_ID` `CPYRHT_ID` char(20) NOT NULL COMMENT '저작권ID' ; +ALTER TABLE `COMTNCPYRHTINFO` CHANGE `CPYRHT_PRTC_POLICY_CN` `CPYRHT_PRTC_POLICY_CN` varchar(2500) DEFAULT NULL COMMENT '저작권보호정책내용' ; +ALTER TABLE `COMTNCPYRHTINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCPYRHTINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCPYRHTINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCPYRHTINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `BRTHDY` `BRTHDY` char(20) NOT NULL COMMENT '생일' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `CONFM_AT` `CONFM_AT` char(1) DEFAULT NULL COMMENT '승인여부' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `CTSNN_CODE` `CTSNN_CODE` char(2) NOT NULL COMMENT '경조코드' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `CTSNN_ID` `CTSNN_ID` varchar(20) NOT NULL COMMENT '경조ID' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `CTSNN_NM` `CTSNN_NM` varchar(255) NOT NULL COMMENT '경조명' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `INFRML_SANCTN_ID` `INFRML_SANCTN_ID` char(20) DEFAULT NULL COMMENT '약식결재ID' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(20) NOT NULL COMMENT '발생일' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `RELATE` `RELATE` char(2) NOT NULL COMMENT '관계' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `REQST_DE` `REQST_DE` char(20) NOT NULL COMMENT '신청일' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `RETURN_RESN` `RETURN_RESN` varchar(1000) DEFAULT NULL COMMENT '반환사유' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `RM` `RM` varchar(2500) DEFAULT NULL COMMENT '비고' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `SANCTN_DT` `SANCTN_DT` datetime DEFAULT NULL COMMENT '결재일시' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `SANCTNER_ID` `SANCTNER_ID` varchar(20) NOT NULL COMMENT '결재자ID' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `TRGTER_NM` `TRGTER_NM` varchar(20) NOT NULL COMMENT '대상자명' ; +ALTER TABLE `COMTNCTSNNMANAGE` CHANGE `USER_ID` `USER_ID` varchar(20) NOT NULL COMMENT '사용자ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `ANSWER_DP` `ANSWER_DP` decimal(20,0) DEFAULT NULL COMMENT '답변깊이' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `ANSWER_GROUP_NO` `ANSWER_GROUP_NO` decimal(20,0) DEFAULT NULL COMMENT '답변그룹번호' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `ANSWER_ORDR` `ANSWER_ORDR` decimal(20,0) DEFAULT NULL COMMENT '답변순서' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) DEFAULT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `EXPERT_ID` `EXPERT_ID` char(20) DEFAULT NULL COMMENT '전문가ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `KNWLDG_CN` `KNWLDG_CN` varchar(2500) DEFAULT NULL COMMENT '지식내용' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `KNWLDG_ID` `KNWLDG_ID` char(20) NOT NULL COMMENT '지식ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `KNWLDG_NM` `KNWLDG_NM` varchar(60) DEFAULT NULL COMMENT '지식명' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `KNWLDG_TY_CODE` `KNWLDG_TY_CODE` varchar(3) DEFAULT NULL COMMENT '지식유형코드' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `ORGNZT_ID` `ORGNZT_ID` char(20) DEFAULT NULL COMMENT '조직ID' ; +ALTER TABLE `COMTNDAMCALRES` CHANGE `PARNTS_KNWLDG_ID` `PARNTS_KNWLDG_ID` char(20) DEFAULT NULL COMMENT '부모지식ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `COLCT_DE` `COLCT_DE` char(20) DEFAULT NULL COMMENT '수집일자' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `DSUSE_DE` `DSUSE_DE` char(20) DEFAULT NULL COMMENT '폐기일' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) DEFAULT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `EVL_DE` `EVL_DE` char(20) DEFAULT NULL COMMENT '평가일자' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `EXPERT_ID` `EXPERT_ID` char(20) DEFAULT NULL COMMENT '전문가ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `KNWLDG_CN` `KNWLDG_CN` varchar(2500) DEFAULT NULL COMMENT '지식내용' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `KNWLDG_EVL` `KNWLDG_EVL` char(1) DEFAULT NULL COMMENT '지식평가' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `KNWLDG_ID` `KNWLDG_ID` char(20) NOT NULL COMMENT '지식ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `KNWLDG_NM` `KNWLDG_NM` varchar(60) DEFAULT NULL COMMENT '지식명' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `KNWLDG_TY_CODE` `KNWLDG_TY_CODE` varchar(3) DEFAULT NULL COMMENT '지식유형코드' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `KWRD` `KWRD` varchar(100) DEFAULT NULL COMMENT '키워드' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `ORGNZT_ID` `ORGNZT_ID` char(20) DEFAULT NULL COMMENT '조직ID' ; +ALTER TABLE `COMTNDAMKNOIFM` CHANGE `OTHBC_AT` `OTHBC_AT` char(1) DEFAULT NULL COMMENT '공개여부' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `CL_DE` `CL_DE` char(20) DEFAULT NULL COMMENT '분류일' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `EXPERT_ID` `EXPERT_ID` char(20) DEFAULT NULL COMMENT '전문가ID' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `KNWLDG_TY_CODE` `KNWLDG_TY_CODE` varchar(3) NOT NULL COMMENT '지식유형코드' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `KNWLDG_TY_NM` `KNWLDG_TY_NM` varchar(60) DEFAULT NULL COMMENT '지식유형명' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `KNWLDG_URL` `KNWLDG_URL` varchar(255) DEFAULT NULL COMMENT '지식URL' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDAMMAPKNO` CHANGE `ORGNZT_ID` `ORGNZT_ID` char(20) DEFAULT NULL COMMENT '조직ID' ; +ALTER TABLE `COMTNDAMMAPTEAM` CHANGE `CL_DE` `CL_DE` char(20) DEFAULT NULL COMMENT '분류일' ; +ALTER TABLE `COMTNDAMMAPTEAM` CHANGE `KNWLDG_URL` `KNWLDG_URL` varchar(255) DEFAULT NULL COMMENT '지식URL' ; +ALTER TABLE `COMTNDAMMAPTEAM` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDAMMAPTEAM` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDAMMAPTEAM` CHANGE `ORGNZT_ID` `ORGNZT_ID` char(20) NOT NULL COMMENT '조직ID' ; +ALTER TABLE `COMTNDAMMAPTEAM` CHANGE `ORGNZT_NM` `ORGNZT_NM` varchar(20) DEFAULT NULL COMMENT '조직명' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `EXPERT_CONFM_DE` `EXPERT_CONFM_DE` char(20) DEFAULT NULL COMMENT '전문가승인일' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `EXPERT_DC` `EXPERT_DC` varchar(2000) DEFAULT NULL COMMENT '전문가설명' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `EXPERT_GRAD` `EXPERT_GRAD` char(1) NOT NULL COMMENT '전문가등급' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `EXPERT_ID` `EXPERT_ID` char(20) NOT NULL COMMENT '전문가ID' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `KNWLDG_TY_CODE` `KNWLDG_TY_CODE` varchar(3) NOT NULL COMMENT '지식유형코드' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDAMPRO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `CECK_SQL` `CECK_SQL` varchar(250) DEFAULT NULL COMMENT '체크SQL' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `DATA_SOURC_NM` `DATA_SOURC_NM` varchar(60) NOT NULL COMMENT '데이터소스명' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `DBMS_KND` `DBMS_KND` varchar(2) DEFAULT NULL COMMENT 'DBMS종류' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTNDBMNTRNG` CHANGE `SERVER_NM` `SERVER_NM` varchar(60) DEFAULT NULL COMMENT '서버명' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `CHARGER_ID` `CHARGER_ID` varchar(20) NOT NULL COMMENT '담당자ID' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `DEPT_JOB_CN` `DEPT_JOB_CN` varchar(2500) NOT NULL COMMENT '부서업무내용' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `DEPT_JOB_ID` `DEPT_JOB_ID` char(20) NOT NULL COMMENT '부서업무ID' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `DEPT_JOB_NM` `DEPT_JOB_NM` varchar(255) NOT NULL COMMENT '부서업무명' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `DEPT_JOBBX_ID` `DEPT_JOBBX_ID` char(6) NOT NULL COMMENT '부서업무함ID' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDEPTJOB` CHANGE `PRIORT` `PRIORT` char(1) NOT NULL COMMENT '우선순위' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `DEPT_ID` `DEPT_ID` varchar(20) NOT NULL COMMENT '부서ID' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `DEPT_JOBBX_ID` `DEPT_JOBBX_ID` char(6) NOT NULL COMMENT '부서업무함ID' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `DEPT_JOBBX_NM` `DEPT_JOBBX_NM` varchar(255) NOT NULL COMMENT '부서업무함명' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `INDICT_ORDR` `INDICT_ORDR` decimal(6,0) DEFAULT NULL COMMENT '표시순서' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDEPTJOBBX` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `DIARY_ID` `DIARY_ID` char(20) NOT NULL COMMENT '일지ID' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `DIARY_NM` `DIARY_NM` varchar(255) DEFAULT NULL COMMENT '일지명' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `DIARY_PROGRSRT` `DIARY_PROGRSRT` decimal(3,0) DEFAULT NULL COMMENT '일지진척율' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `DRCT_MATTER` `DRCT_MATTER` varchar(2500) DEFAULT NULL COMMENT '지시사항' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `PARTCLR_MATTER` `PARTCLR_MATTER` varchar(2500) DEFAULT NULL COMMENT '특이사항' ; +ALTER TABLE `COMTNDIARYINFO` CHANGE `SCHDUL_ID` `SCHDUL_ID` char(20) NOT NULL COMMENT '일정ID' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) NOT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `DTA_USE_STATS_ID` `DTA_USE_STATS_ID` char(20) NOT NULL COMMENT '자료사용통계ID' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `FILE_SN` `FILE_SN` decimal(10,0) NOT NULL COMMENT '파일순번' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNDTAUSESTATS` CHANGE `NTT_ID` `NTT_ID` decimal(20,0) NOT NULL COMMENT '게시물ID' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `AREA_NO` `AREA_NO` varchar(4) NOT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `BRTHDY` `BRTHDY` char(20) DEFAULT NULL COMMENT '생일' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `CRTFC_DN_VALUE` `CRTFC_DN_VALUE` varchar(100) DEFAULT NULL COMMENT '인증DN값' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `DETAIL_ADRES` `DETAIL_ADRES` varchar(100) DEFAULT NULL COMMENT '상세주소' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `EMAIL_ADRES` `EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '이메일주소' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `EMPL_NO` `EMPL_NO` varchar(20) DEFAULT NULL COMMENT '사원번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `EMPLYR_STTUS_CODE` `EMPLYR_STTUS_CODE` char(1) NOT NULL COMMENT '사용자상태코드' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `ESNTL_ID` `ESNTL_ID` char(20) NOT NULL COMMENT '고유ID' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `FXNUM` `FXNUM` varchar(20) DEFAULT NULL COMMENT '팩스번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `GROUP_ID` `GROUP_ID` char(20) COMMENT '그룹ID' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `HOUSE_ADRES` `HOUSE_ADRES` varchar(100) NOT NULL COMMENT '주택주소' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `HOUSE_END_TELNO` `HOUSE_END_TELNO` varchar(4) NOT NULL COMMENT '주택끝전화번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `HOUSE_MIDDLE_TELNO` `HOUSE_MIDDLE_TELNO` varchar(4) NOT NULL COMMENT '주택중간전화번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `IHIDNUM` `IHIDNUM` varchar(200) DEFAULT NULL COMMENT '주민등록번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `MBTLNUM` `MBTLNUM` varchar(20) DEFAULT NULL COMMENT '이동전화번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `OFCPS_NM` `OFCPS_NM` varchar(60) DEFAULT NULL COMMENT '직위명' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `OFFM_TELNO` `OFFM_TELNO` varchar(20) DEFAULT NULL COMMENT '사무실전화번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `ORGNZT_ID` `ORGNZT_ID` char(20) COMMENT '조직ID' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `PASSWORD_CNSR` `PASSWORD_CNSR` varchar(100) NOT NULL COMMENT '비밀번호정답' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `PASSWORD_HINT` `PASSWORD_HINT` varchar(100) NOT NULL COMMENT '비밀번호힌트' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `PASSWORD` `PASSWORD` varchar(200) NOT NULL COMMENT '비밀번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `PSTINST_CODE` `PSTINST_CODE` char(8) DEFAULT NULL COMMENT '소속기관코드' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `SBSCRB_DE` `SBSCRB_DE` datetime DEFAULT NULL COMMENT '가입일자' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `SEXDSTN_CODE` `SEXDSTN_CODE` char(1) DEFAULT NULL COMMENT '성별코드' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `USER_NM` `USER_NM` varchar(60) NOT NULL COMMENT '사용자명' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `ZIP` `ZIP` varchar(6) NOT NULL COMMENT '우편번호' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `LOCK_AT` `LOCK_AT` char(1) NULL COMMENT '잠금여부' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `LOCK_CNT` `LOCK_CNT` numeric(3) NULL COMMENT '잠금회수' ; +ALTER TABLE `COMTNEMPLYRINFO` CHANGE `LOCK_LAST_PNTTM` `LOCK_LAST_PNTTM` datetime NULL COMMENT '잠금최종시점' ; +ALTER TABLE `COMTNEMPLYRSCRTYESTBS` CHANGE `AUTHOR_CODE` `AUTHOR_CODE` varchar(30) NOT NULL COMMENT '권한코드' ; +ALTER TABLE `COMTNEMPLYRSCRTYESTBS` CHANGE `MBER_TY_CODE` `MBER_TY_CODE` char(5) DEFAULT NULL COMMENT '회원유형코드' ; +ALTER TABLE `COMTNEMPLYRSCRTYESTBS` CHANGE `SCRTY_DTRMN_TRGET_ID` `SCRTY_DTRMN_TRGET_ID` varchar(20) NOT NULL COMMENT '보안설정대상ID' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ADRES` `ADRES` varchar(100) NOT NULL COMMENT '주소' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `APPLCNT_EMAIL_ADRES` `APPLCNT_EMAIL_ADRES` varchar(50) NOT NULL COMMENT '신청자이메일주소' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `APPLCNT_IHIDNUM` `APPLCNT_IHIDNUM` varchar(200) DEFAULT NULL COMMENT '신청인주민등록번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `APPLCNT_NM` `APPLCNT_NM` varchar(50) NOT NULL COMMENT '신청인명' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `AREA_NO` `AREA_NO` varchar(4) NOT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `BIZRNO` `BIZRNO` varchar(10) DEFAULT NULL COMMENT '사업자등록번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `CMPNY_NM` `CMPNY_NM` varchar(60) NOT NULL COMMENT '회사명' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `CXFC` `CXFC` varchar(50) DEFAULT NULL COMMENT '대표이사' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `DETAIL_ADRES` `DETAIL_ADRES` varchar(100) DEFAULT NULL COMMENT '상세주소' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_END_TELNO` `ENTRPRS_END_TELNO` varchar(4) NOT NULL COMMENT '기업끝전화번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_MBER_ID` `ENTRPRS_MBER_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '기업회원ID' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_MBER_PASSWORD_CNSR` `ENTRPRS_MBER_PASSWORD_CNSR` varchar(100) NOT NULL COMMENT '기업회원비밀번호정답' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_MBER_PASSWORD_HINT` `ENTRPRS_MBER_PASSWORD_HINT` varchar(100) NOT NULL COMMENT '기업회원비밀번호힌트' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_MBER_PASSWORD` `ENTRPRS_MBER_PASSWORD` varchar(200) DEFAULT NULL COMMENT '기업회원비밀번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_MBER_STTUS` `ENTRPRS_MBER_STTUS` varchar(15) DEFAULT NULL COMMENT '기업회원상태' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_MIDDLE_TELNO` `ENTRPRS_MIDDLE_TELNO` varchar(4) NOT NULL COMMENT '기업중간전화번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ENTRPRS_SE_CODE` `ENTRPRS_SE_CODE` char(8) DEFAULT NULL COMMENT '기업구분코드' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ESNTL_ID` `ESNTL_ID` char(20) NOT NULL COMMENT '고유ID' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `FXNUM` `FXNUM` varchar(20) DEFAULT NULL COMMENT '팩스번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `GROUP_ID` `GROUP_ID` char(20) COMMENT '그룹ID' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `INDUTY_CODE` `INDUTY_CODE` char(1) DEFAULT NULL COMMENT '업종코드' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `JURIRNO` `JURIRNO` varchar(13) DEFAULT NULL COMMENT '법인등록번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `SBSCRB_DE` `SBSCRB_DE` datetime DEFAULT NULL COMMENT '가입일자' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `ZIP` `ZIP` varchar(6) NOT NULL COMMENT '우편번호' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `LOCK_AT` `LOCK_AT` char(1) NULL COMMENT '잠금여부' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `LOCK_CNT` `LOCK_CNT` numeric(3) NULL COMMENT '잠금회수' ; +ALTER TABLE `COMTNENTRPRSMBER` CHANGE `LOCK_LAST_PNTTM` `LOCK_LAST_PNTTM` datetime NULL COMMENT '잠금최종시점' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `APPLCNT_ID` `APPLCNT_ID` varchar(20) NOT NULL COMMENT '신청인ID' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `CONFM_AT` `CONFM_AT` char(1) DEFAULT NULL COMMENT '승인여부' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `EVENT_ID` `EVENT_ID` char(20) NOT NULL COMMENT '행사ID' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `INFRML_SANCTN_ID` `INFRML_SANCTN_ID` char(20) DEFAULT NULL COMMENT '약식결재ID' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `REQST_DE` `REQST_DE` char(20) NOT NULL COMMENT '신청일' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `RETURN_RESN` `RETURN_RESN` varchar(1000) DEFAULT NULL COMMENT '반환사유' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `SANCTN_DT` `SANCTN_DT` datetime DEFAULT NULL COMMENT '결재일시' ; +ALTER TABLE `COMTNEVENTATDRN` CHANGE `SANCTNER_ID` `SANCTNER_ID` varchar(20) NOT NULL COMMENT '결재자ID' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `BSNS_CODE` `BSNS_CODE` varchar(2) DEFAULT NULL COMMENT '사업코드' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `BSNS_YEAR` `BSNS_YEAR` char(4) DEFAULT NULL COMMENT '사업년도' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `CHARGER_NM` `CHARGER_NM` varchar(50) DEFAULT NULL COMMENT '담당자명' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `EVENT_CN` `EVENT_CN` varchar(1000) DEFAULT NULL COMMENT '행사내용' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `EVENT_CONFM_AT` `EVENT_CONFM_AT` char(1) DEFAULT NULL COMMENT '행사승인여부' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `EVENT_CONFM_DE` `EVENT_CONFM_DE` char(20) DEFAULT NULL COMMENT '행사승인날짜' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `EVENT_ID` `EVENT_ID` char(20) NOT NULL COMMENT '행사ID' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `EVENT_SVC_BGNDE` `EVENT_SVC_BGNDE` char(20) DEFAULT NULL COMMENT '행사서비스시작일' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `EVENT_SVC_ENDDE` `EVENT_SVC_ENDDE` char(20) DEFAULT NULL COMMENT '행사서비스종료일' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `EVENT_TY_CODE` `EVENT_TY_CODE` char(1) DEFAULT NULL COMMENT '행사유형코드' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `PRPARETG_CN` `PRPARETG_CN` varchar(2500) DEFAULT NULL COMMENT '준비물내용' ; +ALTER TABLE `COMTNEVENTINFO` CHANGE `SVC_USE_NMPR_CO` `SVC_USE_NMPR_CO` decimal(10,0) DEFAULT NULL COMMENT '서비스사용인원수' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `CT_OCCRRNC_AT` `CT_OCCRRNC_AT` char(1) DEFAULT NULL COMMENT '비용발생여부' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_AUSPC_INSTT_NM` `EVENT_AUSPC_INSTT_NM` varchar(60) DEFAULT NULL COMMENT '행사주최기관명' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_BGNDE` `EVENT_BGNDE` char(20) NOT NULL COMMENT '행사시작일' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_CN` `EVENT_CN` varchar(1000) DEFAULT NULL COMMENT '행사내용' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_ENDDE` `EVENT_ENDDE` char(20) NOT NULL COMMENT '행사종료일' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_ID` `EVENT_ID` char(20) NOT NULL COMMENT '행사ID' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_MNGT_INSTT_NM` `EVENT_MNGT_INSTT_NM` varchar(60) DEFAULT NULL COMMENT '행사주관기관명' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_NM` `EVENT_NM` varchar(60) NOT NULL COMMENT '행사명' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_PLACE` `EVENT_PLACE` varchar(200) NOT NULL COMMENT '행사장소' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_PURPS` `EVENT_PURPS` varchar(200) NOT NULL COMMENT '행사목적' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `EVENT_SE` `EVENT_SE` varchar(2) NOT NULL COMMENT '행사구분' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `PARTCPT_CT` `PARTCPT_CT` decimal(16,0) DEFAULT NULL COMMENT '참가비용' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `PSNCPA` `PSNCPA` decimal(10,0) NOT NULL COMMENT '정원' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `RCEPT_BGNDE` `RCEPT_BGNDE` char(20) NOT NULL COMMENT '접수시작일' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `RCEPT_ENDDE` `RCEPT_ENDDE` char(20) NOT NULL COMMENT '접수종료일' ; +ALTER TABLE `COMTNEVENTMANAGE` CHANGE `REFRN_URL` `REFRN_URL` varchar(1024) DEFAULT NULL COMMENT '참조URL' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `AREA_NO` `AREA_NO` varchar(4) DEFAULT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `BRTHDY` `BRTHDY` char(20) DEFAULT NULL COMMENT '생일' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `EMAIL_ADRES` `EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '이메일주소' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `END_TELNO` `END_TELNO` varchar(4) DEFAULT NULL COMMENT '끝전화번호' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `EVENT_ID` `EVENT_ID` char(20) NOT NULL COMMENT '행사ID' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `EXTRL_HR_ID` `EXTRL_HR_ID` char(20) NOT NULL COMMENT '외부인사ID' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `EXTRL_HR_NM` `EXTRL_HR_NM` varchar(60) DEFAULT NULL COMMENT '외부인사명' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `MIDDLE_TELNO` `MIDDLE_TELNO` varchar(4) DEFAULT NULL COMMENT '중간전화번호' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `OCCP_TY_CODE` `OCCP_TY_CODE` char(1) DEFAULT NULL COMMENT '직업유형코드' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `PSITN_INSTT_NM` `PSITN_INSTT_NM` varchar(100) DEFAULT NULL COMMENT '소속기관명' ; +ALTER TABLE `COMTNEXTRLHRINFO` CHANGE `SEXDSTN_CODE` `SEXDSTN_CODE` char(1) DEFAULT NULL COMMENT '성별코드' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `ANSWER_CN` `ANSWER_CN` varchar(2500) DEFAULT NULL COMMENT '답변내용' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `FAQ_ID` `FAQ_ID` char(20) NOT NULL COMMENT 'FAQID' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) NOT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `QESTN_CN` `QESTN_CN` varchar(2500) DEFAULT NULL COMMENT '질문내용' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `QESTN_SJ` `QESTN_SJ` varchar(255) DEFAULT NULL COMMENT '질문제목' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `QNA_PROCESS_STTUS_CODE` `QNA_PROCESS_STTUS_CODE` char(1) DEFAULT NULL COMMENT '질의응답처리상태코드' ; +ALTER TABLE `COMTNFAQINFO` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTNFILE` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) NOT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNFILE` CHANGE `CREAT_DT` `CREAT_DT` datetime NOT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNFILE` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) NOT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `FILE_CN` `FILE_CN` mediumtext DEFAULT NULL COMMENT '파일내용' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `FILE_EXTSN` `FILE_EXTSN` varchar(20) NOT NULL COMMENT '파일확장자' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `FILE_SIZE` `FILE_SIZE` decimal(8,0) DEFAULT NULL COMMENT '파일크기' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `FILE_SN` `FILE_SN` decimal(10,0) NOT NULL COMMENT '파일순번' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `FILE_STRE_COURS` `FILE_STRE_COURS` varchar(2000) NOT NULL COMMENT '파일저장경로' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `ORIGNL_FILE_NM` `ORIGNL_FILE_NM` varchar(255) DEFAULT NULL COMMENT '원파일명' ; +ALTER TABLE `COMTNFILEDETAIL` CHANGE `STRE_FILE_NM` `STRE_FILE_NM` varchar(255) NOT NULL COMMENT '저장파일명' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FILE_SYS_ID` `FILE_SYS_ID` char(20) NOT NULL COMMENT '파일시스템ID' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FILE_SYS_MANAGE_NM` `FILE_SYS_MANAGE_NM` varchar(255) NOT NULL COMMENT '파일시스템관리명' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FILE_SYS_NM` `FILE_SYS_NM` varchar(60) NOT NULL COMMENT '파일시스템명' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FILE_SYS_SIZE` `FILE_SYS_SIZE` decimal(8,0) NOT NULL COMMENT '파일시스템크기' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FILE_SYS_THRHLD` `FILE_SYS_THRHLD` decimal(8,0) NOT NULL COMMENT '파일시스템임계치' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FILE_SYS_USGQTY` `FILE_SYS_USGQTY` decimal(8,0) DEFAULT NULL COMMENT '파일시스템사용량' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTNFILESYSMNTRNG` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FILE_SYS_ID` `FILE_SYS_ID` char(20) NOT NULL COMMENT '파일시스템ID' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FILE_SYS_MANAGE_NM` `FILE_SYS_MANAGE_NM` varchar(255) NOT NULL COMMENT '파일시스템관리명' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FILE_SYS_NM` `FILE_SYS_NM` varchar(60) NOT NULL COMMENT '파일시스템명' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FILE_SYS_SIZE` `FILE_SYS_SIZE` decimal(8,0) NOT NULL COMMENT '파일시스템크기' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FILE_SYS_THRHLD` `FILE_SYS_THRHLD` decimal(8,0) NOT NULL COMMENT '파일시스템임계치' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FILE_SYS_USGQTY` `FILE_SYS_USGQTY` decimal(8,0) DEFAULT NULL COMMENT '파일시스템사용량' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL DEFAULT '' COMMENT '로그ID' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `LOG_INFO` `LOG_INFO` varchar(2000) DEFAULT NULL COMMENT '로그정보' ; +ALTER TABLE `COMTNFILESYSMNTRNGLOGINFO` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTNFXTRSMANAGE` CHANGE `FXTRS_CODE` `FXTRS_CODE` char(14) NOT NULL COMMENT '비품코드' ; +ALTER TABLE `COMTNFXTRSMANAGE` CHANGE `FXTRS_NM` `FXTRS_NM` varchar(100) NOT NULL COMMENT '비품명' ; +ALTER TABLE `COMTNFXTRSMANAGE` CHANGE `MAKR_NM` `MAKR_NM` varchar(100) DEFAULT NULL COMMENT '제작자명' ; +ALTER TABLE `COMTNFXTRSMANAGE` CHANGE `PRICE` `PRICE` decimal(16,0) DEFAULT NULL COMMENT '가격' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `ADRES` `ADRES` varchar(100) NOT NULL COMMENT '주소' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `AREA_NO` `AREA_NO` varchar(4) NOT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `DETAIL_ADRES` `DETAIL_ADRES` varchar(100) DEFAULT NULL COMMENT '상세주소' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `END_TELNO` `END_TELNO` varchar(4) NOT NULL COMMENT '끝전화번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `ESNTL_ID` `ESNTL_ID` char(20) NOT NULL COMMENT '고유ID' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `GROUP_ID` `GROUP_ID` char(20) COMMENT '그룹ID' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `IHIDNUM` `IHIDNUM` varchar(200) DEFAULT NULL COMMENT '주민등록번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `MBER_EMAIL_ADRES` `MBER_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '회원이메일주소' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `MBER_FXNUM` `MBER_FXNUM` varchar(20) DEFAULT NULL COMMENT '회원팩스번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `MBER_ID` `MBER_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '회원ID' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `MBER_NM` `MBER_NM` varchar(50) NOT NULL COMMENT '회원명' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `MBER_STTUS` `MBER_STTUS` varchar(15) DEFAULT NULL COMMENT '회원상태' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `MBTLNUM` `MBTLNUM` varchar(20) NOT NULL COMMENT '이동전화번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `MIDDLE_TELNO` `MIDDLE_TELNO` varchar(4) NOT NULL COMMENT '중간전화번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `PASSWORD_CNSR` `PASSWORD_CNSR` varchar(100) DEFAULT NULL COMMENT '비밀번호정답' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `PASSWORD_HINT` `PASSWORD_HINT` varchar(100) DEFAULT NULL COMMENT '비밀번호힌트' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `PASSWORD` `PASSWORD` varchar(200) NOT NULL COMMENT '비밀번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `SBSCRB_DE` `SBSCRB_DE` datetime DEFAULT NULL COMMENT '가입일자' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `SEXDSTN_CODE` `SEXDSTN_CODE` char(1) DEFAULT NULL COMMENT '성별코드' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `ZIP` `ZIP` varchar(6) NOT NULL COMMENT '우편번호' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `LOCK_AT` `LOCK_AT` char(1) NULL COMMENT '잠금여부' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `LOCK_CNT` `LOCK_CNT` numeric(3) NULL COMMENT '잠금회수' ; +ALTER TABLE `COMTNGNRLMBER` CHANGE `LOCK_LAST_PNTTM` `LOCK_LAST_PNTTM` datetime NULL COMMENT '잠금최종시점' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `HPCM_DC` `HPCM_DC` varchar(2500) DEFAULT NULL COMMENT '도움말설명' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `HPCM_DFN` `HPCM_DFN` varchar(1000) DEFAULT NULL COMMENT '도움말정의' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `HPCM_ID` `HPCM_ID` char(20) NOT NULL COMMENT '도움말ID' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `HPCM_SE_CODE` `HPCM_SE_CODE` char(1) DEFAULT NULL COMMENT '도움말구분코드' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNHPCMINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `HTTP_STTUS_CODE` `HTTP_STTUS_CODE` varchar(3) DEFAULT NULL COMMENT 'HTTP상태코드' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `SITE_URL` `SITE_URL` varchar(100) DEFAULT NULL COMMENT '사이트URL' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `SYS_ID` `SYS_ID` varchar(20) NOT NULL COMMENT '시스템ID' ; +ALTER TABLE `COMTNHTTPMON` CHANGE `WEBSVC_KND` `WEBSVC_KND` varchar(10) DEFAULT NULL COMMENT '웹서비스종류' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `INDVDL_INFO_POLICY_AGRE_AT` `INDVDL_INFO_POLICY_AGRE_AT` char(1) DEFAULT NULL COMMENT '개인정보정책동의여부' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `INDVDL_INFO_POLICY_CN` `INDVDL_INFO_POLICY_CN` varchar(2500) DEFAULT NULL COMMENT '개인정보정책내용' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `INDVDL_INFO_POLICY_ID` `INDVDL_INFO_POLICY_ID` char(20) NOT NULL DEFAULT '' COMMENT '개인정보정책ID' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `INDVDL_INFO_POLICY_NM` `INDVDL_INFO_POLICY_NM` varchar(255) DEFAULT NULL COMMENT '개인정보정책명' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNINDVDLINFOPOLICY` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNINDVDLPGECNTNTS` CHANGE `CNTC_URL` `CNTC_URL` varchar(255) NOT NULL COMMENT '연계URL' ; +ALTER TABLE `COMTNINDVDLPGECNTNTS` CHANGE `CNTNTS_DC` `CNTNTS_DC` varchar(250) DEFAULT NULL COMMENT '컨텐츠설명' ; +ALTER TABLE `COMTNINDVDLPGECNTNTS` CHANGE `CNTNTS_ID` `CNTNTS_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '컨텐츠ID' ; +ALTER TABLE `COMTNINDVDLPGECNTNTS` CHANGE `CNTNTS_LINK_URL` `CNTNTS_LINK_URL` varchar(1000) DEFAULT NULL COMMENT '컨텐츠링크URL' ; +ALTER TABLE `COMTNINDVDLPGECNTNTS` CHANGE `CNTNTS_NM` `CNTNTS_NM` varchar(100) NOT NULL COMMENT '컨텐츠명' ; +ALTER TABLE `COMTNINDVDLPGECNTNTS` CHANGE `CNTNTS_USE_AT` `CNTNTS_USE_AT` char(1) NOT NULL COMMENT '컨텐츠사용여부' ; +ALTER TABLE `COMTNINDVDLPGEESTBS` CHANGE `ALGN_CO` `ALGN_CO` decimal(10,0) DEFAULT NULL COMMENT '배열개수' ; +ALTER TABLE `COMTNINDVDLPGEESTBS` CHANGE `ALGN_MTHD` `ALGN_MTHD` char(1) DEFAULT NULL COMMENT '배열방식' ; +ALTER TABLE `COMTNINDVDLPGEESTBS` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNINDVDLPGEESTBS` CHANGE `TITLEBAR_COLOR` `TITLEBAR_COLOR` char(7) DEFAULT NULL COMMENT '타이틀바색상' ; +ALTER TABLE `COMTNINDVDLPGEESTBS` CHANGE `UPEND_IMAGE` `UPEND_IMAGE` varchar(1024) DEFAULT NULL COMMENT '상단이미지' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `OCCRRNC_YEAR` `OCCRRNC_YEAR` char(4) NOT NULL COMMENT '발생년도' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `REMNDR_YRYC_CO` `REMNDR_YRYC_CO` decimal(5,1) DEFAULT NULL COMMENT '잔여연차개수' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `USE_YRYC_CO` `USE_YRYC_CO` decimal(5,1) DEFAULT NULL COMMENT '사용연차개수' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `USER_ID` `USER_ID` varchar(20) NOT NULL COMMENT '사용자ID' ; +ALTER TABLE `COMTNINDVDLYRYCMANAGE` CHANGE `YRYC_OCCRRNC_CO` `YRYC_OCCRRNC_CO` decimal(5,1) DEFAULT NULL COMMENT '연차발생개수' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `APPLCNT_ID` `APPLCNT_ID` varchar(20) NOT NULL COMMENT '신청인ID' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `CONFM_AT` `CONFM_AT` char(1) NOT NULL COMMENT '승인여부' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `INFRML_SANCTN_ID` `INFRML_SANCTN_ID` char(20) NOT NULL COMMENT '약식결재ID' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `JOB_SE_CODE` `JOB_SE_CODE` char(3) NOT NULL COMMENT '업무구분코드' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `REQST_DE` `REQST_DE` char(20) NOT NULL COMMENT '신청일' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `RETURN_RESN` `RETURN_RESN` varchar(1000) DEFAULT NULL COMMENT '반환사유' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `SANCTN_DT` `SANCTN_DT` datetime DEFAULT NULL COMMENT '결재일시' ; +ALTER TABLE `COMTNINFRMLSANCTN` CHANGE `SANCTNER_ID` `SANCTNER_ID` varchar(20) NOT NULL COMMENT '결재자ID' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `ABL_DE` `ABL_DE` char(20) DEFAULT NULL COMMENT '폐지일' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `ABL_ENNC` `ABL_ENNC` char(1) DEFAULT NULL COMMENT '폐지유무' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `ALL_INSTT_NM` `ALL_INSTT_NM` varchar(255) DEFAULT NULL COMMENT '전체기관명' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `BEST_INSTT_CODE` `BEST_INSTT_CODE` char(7) DEFAULT NULL COMMENT '최상위기관코드' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `BSIS_DE` `BSIS_DE` char(20) DEFAULT NULL COMMENT '기초일' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `CHANGE_DE` `CHANGE_DE` char(20) DEFAULT NULL COMMENT '변경일' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `CHANGE_TIME` `CHANGE_TIME` varchar(6) DEFAULT NULL COMMENT '변경시간' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `CREAT_DE` `CREAT_DE` char(20) DEFAULT NULL COMMENT '생성일' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `FXNUM` `FXNUM` varchar(20) DEFAULT NULL COMMENT '팩스번호' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `INSTT_ABRV_NM` `INSTT_ABRV_NM` varchar(50) DEFAULT NULL COMMENT '기관약어명' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `INSTT_CODE` `INSTT_CODE` char(7) NOT NULL COMMENT '기관코드' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `INSTT_ODR` `INSTT_ODR` char(2) DEFAULT NULL COMMENT '기관차수' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `INSTT_TY_LCLAS` `INSTT_TY_LCLAS` char(2) DEFAULT NULL COMMENT '기관유형대분류' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `INSTT_TY_MLSFC` `INSTT_TY_MLSFC` char(2) DEFAULT NULL COMMENT '기관유형중분류' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `INSTT_TY_SCLAS` `INSTT_TY_SCLAS` char(2) DEFAULT NULL COMMENT '기관유형소분류' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `LOWEST_INSTT_NM` `LOWEST_INSTT_NM` varchar(100) DEFAULT NULL COMMENT '최하위기관명' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `ODR` `ODR` char(1) DEFAULT NULL COMMENT '차수' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `ORD` `ORD` char(3) DEFAULT NULL COMMENT '서열' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `REPRSNT_INSTT_CODE` `REPRSNT_INSTT_CODE` char(7) DEFAULT NULL COMMENT '대표기관코드' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `SORT_ORDR` `SORT_ORDR` decimal(8,0) DEFAULT NULL COMMENT '정렬순서' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `TELNO` `TELNO` varchar(20) DEFAULT NULL COMMENT '전화번호' ; +ALTER TABLE `COMTNINSTTCODE` CHANGE `UPPER_INSTT_CODE` `UPPER_INSTT_CODE` char(7) DEFAULT NULL COMMENT '상위기관코드' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `ABL_DE` `ABL_DE` char(20) DEFAULT NULL COMMENT '폐지일' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `ABL_ENNC` `ABL_ENNC` char(1) DEFAULT NULL COMMENT '폐지유무' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `ALL_INSTT_NM` `ALL_INSTT_NM` varchar(255) DEFAULT NULL COMMENT '전체기관명' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `BEST_INSTT_CODE` `BEST_INSTT_CODE` char(7) DEFAULT NULL COMMENT '최상위기관코드' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `BSIS_DE` `BSIS_DE` char(20) DEFAULT NULL COMMENT '기초일' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `CHANGE_DE` `CHANGE_DE` char(20) DEFAULT NULL COMMENT '변경일' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `CHANGE_SE_CODE` `CHANGE_SE_CODE` varchar(2) DEFAULT NULL COMMENT '변경구분코드' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `CHANGE_TIME` `CHANGE_TIME` varchar(6) DEFAULT NULL COMMENT '변경시간' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `CREAT_DE` `CREAT_DE` char(20) DEFAULT NULL COMMENT '생성일' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `ETC_CODE` `ETC_CODE` char(2) DEFAULT NULL COMMENT '기타코드' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `FXNUM` `FXNUM` varchar(20) DEFAULT NULL COMMENT '팩스번호' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `INSTT_ABRV_NM` `INSTT_ABRV_NM` varchar(50) DEFAULT NULL COMMENT '기관약어명' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `INSTT_CODE` `INSTT_CODE` char(7) NOT NULL COMMENT '기관코드' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `INSTT_ODR` `INSTT_ODR` char(2) DEFAULT NULL COMMENT '기관차수' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `INSTT_TY_LCLAS` `INSTT_TY_LCLAS` char(2) DEFAULT NULL COMMENT '기관유형대분류' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `INSTT_TY_MLSFC` `INSTT_TY_MLSFC` char(2) DEFAULT NULL COMMENT '기관유형중분류' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `INSTT_TY_SCLAS` `INSTT_TY_SCLAS` char(2) DEFAULT NULL COMMENT '기관유형소분류' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `LOWEST_INSTT_NM` `LOWEST_INSTT_NM` varchar(100) DEFAULT NULL COMMENT '최하위기관명' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(20) NOT NULL COMMENT '발생일' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `ODR` `ODR` char(1) DEFAULT NULL COMMENT '차수' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `OPERT_SN` `OPERT_SN` decimal(10,0) NOT NULL COMMENT '작업일련번호' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `ORD` `ORD` char(3) DEFAULT NULL COMMENT '서열' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `PROCESS_SE` `PROCESS_SE` varchar(2) DEFAULT NULL COMMENT '처리구분' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `REPRSNT_INSTT_CODE` `REPRSNT_INSTT_CODE` char(7) DEFAULT NULL COMMENT '대표기관코드' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `SORT_ORDR` `SORT_ORDR` decimal(8,0) DEFAULT NULL COMMENT '정렬순서' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `TELNO` `TELNO` varchar(20) DEFAULT NULL COMMENT '전화번호' ; +ALTER TABLE `COMTNINSTTCODERECPTNLOG` CHANGE `UPPER_INSTT_CODE` `UPPER_INSTT_CODE` char(7) DEFAULT NULL COMMENT '상위기관코드' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `INTNET_SVC_DC` `INTNET_SVC_DC` varchar(200) DEFAULT NULL COMMENT '인터넷서비스설명' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `INTNET_SVC_ID` `INTNET_SVC_ID` char(20) NOT NULL DEFAULT '' COMMENT '인터넷서비스ID' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `INTNET_SVC_NM` `INTNET_SVC_NM` varchar(20) NOT NULL COMMENT '인터넷서비스명' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNINTNETSVC` CHANGE `REFLCT_AT` `REFLCT_AT` char(1) NOT NULL COMMENT '반영여부' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `LEADER_ID` `LEADER_ID` varchar(20) NOT NULL COMMENT '간부ID' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `REPTIT_SE_CODE` `REPTIT_SE_CODE` char(1) DEFAULT NULL COMMENT '반복구분코드' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_BGNDE` `SCHDUL_BGNDE` char(20) DEFAULT NULL COMMENT '일정시작일' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_CHARGER_ID` `SCHDUL_CHARGER_ID` varchar(20) NOT NULL COMMENT '일정담당자ID' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_CN` `SCHDUL_CN` varchar(2500) NOT NULL COMMENT '일정내용' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_ENDDE` `SCHDUL_ENDDE` char(20) DEFAULT NULL COMMENT '일정종료일' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_ID` `SCHDUL_ID` char(20) NOT NULL COMMENT '일정ID' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_NM` `SCHDUL_NM` varchar(255) NOT NULL COMMENT '일정명' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_PLACE` `SCHDUL_PLACE` varchar(255) DEFAULT NULL COMMENT '일정장소' ; +ALTER TABLE `COMTNLEADERSCHDUL` CHANGE `SCHDUL_SE` `SCHDUL_SE` char(1) DEFAULT NULL COMMENT '일정구분' ; +ALTER TABLE `COMTNLEADERSCHDULDE` CHANGE `SCHDUL_DE` `SCHDUL_DE` char(8) NOT NULL COMMENT '일정일' ; +ALTER TABLE `COMTNLEADERSCHDULDE` CHANGE `SCHDUL_ID` `SCHDUL_ID` char(20) NOT NULL COMMENT '일정ID' ; +ALTER TABLE `COMTNLEADERSTTUS` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록자시점' ; +ALTER TABLE `COMTNLEADERSTTUS` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNLEADERSTTUS` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종등록자시점' ; +ALTER TABLE `COMTNLEADERSTTUS` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNLEADERSTTUS` CHANGE `LEADER_ID` `LEADER_ID` varchar(20) NOT NULL COMMENT '간부ID' ; +ALTER TABLE `COMTNLEADERSTTUS` CHANGE `LEADER_STTUS` `LEADER_STTUS` char(1) NOT NULL COMMENT '간부상태' ; +ALTER TABLE `COMTNLOGINLOG` CHANGE `CONECT_ID` `CONECT_ID` varchar(20) DEFAULT NULL COMMENT '접속ID' ; +ALTER TABLE `COMTNLOGINLOG` CHANGE `CONECT_IP` `CONECT_IP` varchar(23) DEFAULT NULL COMMENT '접속IP' ; +ALTER TABLE `COMTNLOGINLOG` CHANGE `CONECT_MTHD` `CONECT_MTHD` char(4) DEFAULT NULL COMMENT '접속방식' ; +ALTER TABLE `COMTNLOGINLOG` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNLOGINLOG` CHANGE `ERROR_CODE` `ERROR_CODE` char(3) DEFAULT NULL COMMENT '오류코드' ; +ALTER TABLE `COMTNLOGINLOG` CHANGE `ERROR_OCCRRNC_AT` `ERROR_OCCRRNC_AT` char(1) DEFAULT NULL COMMENT '오류발생여부' ; +ALTER TABLE `COMTNLOGINLOG` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL COMMENT '로그ID' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `DPLCT_PERM_AT` `DPLCT_PERM_AT` char(1) NOT NULL COMMENT '중복허용여부' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `IP_INFO` `IP_INFO` varchar(23) NOT NULL COMMENT 'IP정보' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNLOGINPOLICY` CHANGE `LMTT_AT` `LMTT_AT` char(1) NOT NULL COMMENT '제한여부' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `IMAGE_DC` `IMAGE_DC` varchar(200) DEFAULT NULL COMMENT '이미지설명' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `IMAGE_FILE` `IMAGE_FILE` varchar(60) DEFAULT NULL COMMENT '이미지파일' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `IMAGE_ID` `IMAGE_ID` char(20) NOT NULL DEFAULT '' COMMENT '이미지ID' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `IMAGE_NM` `IMAGE_NM` varchar(20) NOT NULL COMMENT '이미지명' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `IMAGE` `IMAGE` varchar(60) NOT NULL COMMENT '이미지' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNLOGINSCRINIMAGE` CHANGE `REFLCT_AT` `REFLCT_AT` char(1) NOT NULL COMMENT '반영여부' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `IMAGE_DC` `IMAGE_DC` varchar(200) DEFAULT NULL COMMENT '이미지설명' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `IMAGE_FILE` `IMAGE_FILE` varchar(60) DEFAULT NULL COMMENT '이미지파일' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `IMAGE_ID` `IMAGE_ID` char(20) NOT NULL DEFAULT '' COMMENT '이미지ID' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `IMAGE_NM` `IMAGE_NM` varchar(20) NOT NULL COMMENT '이미지명' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `IMAGE` `IMAGE` varchar(60) NOT NULL COMMENT '이미지' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNMAINIMAGE` CHANGE `REFLCT_AT` `REFLCT_AT` char(1) NOT NULL COMMENT '반영여부' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `DRCT_MATTER_REGIST_DT` `DRCT_MATTER_REGIST_DT` varchar(14) DEFAULT NULL COMMENT '지시사항등록일시' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `DRCT_MATTER` `DRCT_MATTER` varchar(2500) DEFAULT NULL COMMENT '지시사항' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `REPORT_CN` `REPORT_CN` varchar(2500) NOT NULL COMMENT '보고내용' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `REPORT_DE` `REPORT_DE` char(20) NOT NULL COMMENT '보고일' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `REPORTR_ID` `REPORTR_ID` varchar(20) NOT NULL COMMENT '보고자ID' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `REPORTR_INQIRE_DT` `REPORTR_INQIRE_DT` varchar(14) DEFAULT NULL COMMENT '보고자조회일시' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `REPRT_ID` `REPRT_ID` char(6) NOT NULL DEFAULT '' COMMENT '보고서ID' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `REPRT_SJ` `REPRT_SJ` varchar(255) NOT NULL COMMENT '보고서제목' ; +ALTER TABLE `COMTNMEMOREPRT` CHANGE `WRTER_ID` `WRTER_ID` varchar(20) NOT NULL COMMENT '작성자ID' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `TODO_BEGIN_TIME` `TODO_BEGIN_TIME` varchar(14) NOT NULL COMMENT '할일시작시간' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `TODO_CN` `TODO_CN` varchar(2500) NOT NULL COMMENT '할일내용' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `TODO_END_TIME` `TODO_END_TIME` varchar(14) NOT NULL COMMENT '할일종료시간' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `TODO_ID` `TODO_ID` char(20) NOT NULL COMMENT '할일ID' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `TODO_SJ` `TODO_SJ` varchar(255) NOT NULL COMMENT '할일제목' ; +ALTER TABLE `COMTNMEMOTODO` CHANGE `WRTER_ID` `WRTER_ID` varchar(20) NOT NULL COMMENT '작성자ID' ; +ALTER TABLE `COMTNMENUCREATDTLS` CHANGE `AUTHOR_CODE` `AUTHOR_CODE` varchar(30) NOT NULL COMMENT '권한코드' ; +ALTER TABLE `COMTNMENUCREATDTLS` CHANGE `MAPNG_CREAT_ID` `MAPNG_CREAT_ID` varchar(30) COMMENT '매핑생성ID' ; +ALTER TABLE `COMTNMENUCREATDTLS` CHANGE `MENU_NO` `MENU_NO` decimal(20,0) NOT NULL COMMENT '메뉴번호' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `MENU_DC` `MENU_DC` varchar(250) DEFAULT NULL COMMENT '메뉴설명' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `MENU_NM` `MENU_NM` varchar(60) NOT NULL COMMENT '메뉴명' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `MENU_NO` `MENU_NO` decimal(20,0) NOT NULL COMMENT '메뉴번호' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `MENU_ORDR` `MENU_ORDR` decimal(5,0) NOT NULL COMMENT '메뉴순서' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `PROGRM_FILE_NM` `PROGRM_FILE_NM` varchar(60) NOT NULL COMMENT '프로그램파일명' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `RELATE_IMAGE_NM` `RELATE_IMAGE_NM` varchar(60) DEFAULT NULL COMMENT '관계이미지명' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `RELATE_IMAGE_PATH` `RELATE_IMAGE_PATH` varchar(100) DEFAULT NULL COMMENT '관계이미지경로' ; +ALTER TABLE `COMTNMENUINFO` CHANGE `UPPER_MENU_NO` `UPPER_MENU_NO` decimal(20,0) COMMENT '상위메뉴번호' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `ATDRN_CO` `ATDRN_CO` decimal(10,0) DEFAULT NULL COMMENT '참석자수' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `CLSDR_MTG_AT` `CLSDR_MTG_AT` char(1) DEFAULT NULL COMMENT '비공개회의여부' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `ETC_MATTER` `ETC_MATTER` varchar(1000) DEFAULT NULL COMMENT '기타사항' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MNAER_DEPT_ID` `MNAER_DEPT_ID` varchar(20) DEFAULT NULL COMMENT '주관자부서ID' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MNAER_ID` `MNAER_ID` varchar(20) DEFAULT NULL COMMENT '주관자ID' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MNGT_DEPT_ID` `MNGT_DEPT_ID` varchar(20) DEFAULT NULL COMMENT '주관부서ID' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_AT` `MTG_AT` char(1) DEFAULT NULL COMMENT '회의여부' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_BEGIN_TM` `MTG_BEGIN_TM` varchar(14) DEFAULT NULL COMMENT '회의시작시간' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_CO` `MTG_CO` decimal(5,0) DEFAULT NULL COMMENT '회의수' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_DE` `MTG_DE` char(20) DEFAULT NULL COMMENT '회의일' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_END_TM` `MTG_END_TM` varchar(14) DEFAULT NULL COMMENT '회의종료시간' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_ID` `MTG_ID` char(20) NOT NULL COMMENT '회의ID' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_MTR_CN` `MTG_MTR_CN` varchar(1000) DEFAULT NULL COMMENT '회의안건내용' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_NM` `MTG_NM` varchar(255) DEFAULT NULL COMMENT '회의명' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_PLACE` `MTG_PLACE` varchar(255) DEFAULT NULL COMMENT '회의장소' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_RESULT_CN` `MTG_RESULT_CN` varchar(1000) DEFAULT NULL COMMENT '회의결과내용' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_RESULT_ENNC` `MTG_RESULT_ENNC` char(1) DEFAULT NULL COMMENT '회의결과유무' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `MTG_SN` `MTG_SN` decimal(10,0) DEFAULT NULL COMMENT '회의순번' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `NONATDRN_CO` `NONATDRN_CO` decimal(10,0) DEFAULT NULL COMMENT '불참자수' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `READNG_AT` `READNG_AT` char(1) DEFAULT NULL COMMENT '열람여부' ; +ALTER TABLE `COMTNMTGINFO` CHANGE `READNG_BGNDE` `READNG_BGNDE` char(20) DEFAULT NULL COMMENT '열람개시일' ; +ALTER TABLE `COMTNMTGPLACEFXTRS` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNMTGPLACEFXTRS` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNMTGPLACEFXTRS` CHANGE `FXTRS_CODE` `FXTRS_CODE` char(14) NOT NULL COMMENT '비품코드' ; +ALTER TABLE `COMTNMTGPLACEFXTRS` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNMTGPLACEFXTRS` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNMTGPLACEFXTRS` CHANGE `MTGRUM_ID` `MTGRUM_ID` char(20) NOT NULL COMMENT '회의실ID' ; +ALTER TABLE `COMTNMTGPLACEFXTRS` CHANGE `QY` `QY` decimal(20,0) NOT NULL COMMENT '량' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `ACEPTNC_POSBL_NMPR` `ACEPTNC_POSBL_NMPR` decimal(10,0) NOT NULL COMMENT '수용가능인원' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `LC_DETAIL` `LC_DETAIL` varchar(200) DEFAULT NULL COMMENT '위치상세' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `LC_SE` `LC_SE` char(5) DEFAULT NULL COMMENT '위치구분' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `MTGRUM_ID` `MTGRUM_ID` char(20) NOT NULL COMMENT '회의실ID' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `MTGRUM_NM` `MTGRUM_NM` varchar(255) NOT NULL COMMENT '회의실명' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `OPN_BEGIN_TM` `OPN_BEGIN_TM` varchar(6) NOT NULL COMMENT '개방시작시각' ; +ALTER TABLE `COMTNMTGPLACEMANAGE` CHANGE `OPN_END_TM` `OPN_END_TM` varchar(6) NOT NULL COMMENT '개방종료시각' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `ATNDNC_NMPR` `ATNDNC_NMPR` decimal(10,0) DEFAULT NULL COMMENT '참석인원' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `MTG_CN` `MTG_CN` varchar(2500) DEFAULT NULL COMMENT '회의내용' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `MTG_SJ` `MTG_SJ` varchar(100) NOT NULL COMMENT '회의제목' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `MTGRUM_ID` `MTGRUM_ID` char(20) NOT NULL COMMENT '회의실ID' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `RESVE_BEGIN_TM` `RESVE_BEGIN_TM` varchar(14) NOT NULL COMMENT '예약시작시각' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `RESVE_DE` `RESVE_DE` char(8) NOT NULL COMMENT '예약일' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `RESVE_END_TM` `RESVE_END_TM` varchar(14) NOT NULL COMMENT '예약종료시각' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `RESVE_ID` `RESVE_ID` char(20) NOT NULL COMMENT '예약ID' ; +ALTER TABLE `COMTNMTGPLACERESVE` CHANGE `RSVCTM_ID` `RSVCTM_ID` varchar(20) NOT NULL COMMENT '예약자ID' ; +ALTER TABLE `COMTNNCRD` CHANGE `ADRES` `ADRES` varchar(100) DEFAULT NULL COMMENT '주소' ; +ALTER TABLE `COMTNNCRD` CHANGE `AREA_NO` `AREA_NO` varchar(4) DEFAULT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `CLSF_NM` `CLSF_NM` varchar(60) DEFAULT NULL COMMENT '직급명' ; +ALTER TABLE `COMTNNCRD` CHANGE `CMPNY_NM` `CMPNY_NM` varchar(60) DEFAULT NULL COMMENT '회사명' ; +ALTER TABLE `COMTNNCRD` CHANGE `DEPT_NM` `DEPT_NM` varchar(60) DEFAULT NULL COMMENT '부서명' ; +ALTER TABLE `COMTNNCRD` CHANGE `DETAIL_ADRES` `DETAIL_ADRES` varchar(100) DEFAULT NULL COMMENT '상세주소' ; +ALTER TABLE `COMTNNCRD` CHANGE `EMAIL_ADRES` `EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '이메일주소' ; +ALTER TABLE `COMTNNCRD` CHANGE `END_MBTLNUM` `END_MBTLNUM` varchar(4) DEFAULT NULL COMMENT '끝이동전화번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `END_TELNO` `END_TELNO` varchar(4) DEFAULT NULL COMMENT '끝전화번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `EXTRL_USER_AT` `EXTRL_USER_AT` char(1) DEFAULT NULL COMMENT '외부사용자여부' ; +ALTER TABLE `COMTNNCRD` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNCRD` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNCRD` CHANGE `IDNTFC_NO` `IDNTFC_NO` varchar(10) DEFAULT NULL COMMENT '식별번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNCRD` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNCRD` CHANGE `MBTLNUM` `MBTLNUM` varchar(20) DEFAULT NULL COMMENT '이동전화번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `MIDDLE_MBTLNUM` `MIDDLE_MBTLNUM` varchar(4) DEFAULT NULL COMMENT '중간이동전화번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `MIDDLE_TELNO` `MIDDLE_TELNO` varchar(4) DEFAULT NULL COMMENT '중간전화번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `NATION_NO` `NATION_NO` varchar(10) DEFAULT NULL COMMENT '국가번호' ; +ALTER TABLE `COMTNNCRD` CHANGE `NCRD_ID` `NCRD_ID` char(20) NOT NULL COMMENT '명함ID' ; +ALTER TABLE `COMTNNCRD` CHANGE `NCRD_TRGTER_ID` `NCRD_TRGTER_ID` varchar(20) DEFAULT NULL COMMENT '명함대상자ID' ; +ALTER TABLE `COMTNNCRD` CHANGE `NM` `NM` varchar(50) NOT NULL COMMENT '이름' ; +ALTER TABLE `COMTNNCRD` CHANGE `OFCPS_NM` `OFCPS_NM` varchar(60) DEFAULT NULL COMMENT '직위명' ; +ALTER TABLE `COMTNNCRD` CHANGE `OTHBC_AT` `OTHBC_AT` char(1) NOT NULL COMMENT '공개여부' ; +ALTER TABLE `COMTNNCRD` CHANGE `RM` `RM` varchar(2500) DEFAULT NULL COMMENT '비고' ; +ALTER TABLE `COMTNNCRD` CHANGE `TELNO` `TELNO` varchar(20) DEFAULT NULL COMMENT '전화번호' ; +ALTER TABLE `COMTNNCRDUSER` CHANGE `CREAT_DT` `CREAT_DT` datetime NOT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNNCRDUSER` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNNCRDUSER` CHANGE `NCRD_ID` `NCRD_ID` char(20) NOT NULL COMMENT '명함ID' ; +ALTER TABLE `COMTNNCRDUSER` CHANGE `REGIST_SE_CODE` `REGIST_SE_CODE` char(6) NOT NULL COMMENT '등록구분코드' ; +ALTER TABLE `COMTNNCRDUSER` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) NOT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `NEWS_CN` `NEWS_CN` varchar(2500) DEFAULT NULL COMMENT '뉴스내용' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `NEWS_ID` `NEWS_ID` char(20) NOT NULL COMMENT '뉴스ID' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `NEWS_ORIGIN` `NEWS_ORIGIN` varchar(250) DEFAULT NULL COMMENT '뉴스출처' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `NEWS_SJ` `NEWS_SJ` varchar(100) DEFAULT NULL COMMENT '뉴스제목' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `NTCE_AT` `NTCE_AT` char(1) DEFAULT NULL COMMENT '게시여부' ; +ALTER TABLE `COMTNNEWSINFO` CHANGE `NTCE_DE` `NTCE_DE` char(20) DEFAULT NULL COMMENT '게시일' ; +ALTER TABLE `COMTNNOTE` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNNOTE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNOTE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNOTE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNOTE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNOTE` CHANGE `NOTE_CN` `NOTE_CN` varchar(4000) DEFAULT NULL COMMENT '쪽지내용' ; +ALTER TABLE `COMTNNOTE` CHANGE `NOTE_ID` `NOTE_ID` char(20) NOT NULL COMMENT '쪽지ID' ; +ALTER TABLE `COMTNNOTE` CHANGE `NOTE_SJ` `NOTE_SJ` varchar(255) DEFAULT NULL COMMENT '쪽지제목' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `NOTE_ID` `NOTE_ID` char(20) NOT NULL COMMENT '쪽지ID' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `NOTE_RECPTN_ID` `NOTE_RECPTN_ID` char(20) NOT NULL COMMENT '쪽지수신ID' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `NOTE_TRNSMIT_ID` `NOTE_TRNSMIT_ID` char(20) NOT NULL COMMENT '쪽지송신ID' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `OPEN_YN` `OPEN_YN` char(1) DEFAULT NULL COMMENT '개봉여부' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `RCVER_ID` `RCVER_ID` char(20) DEFAULT NULL COMMENT '수신자ID' ; +ALTER TABLE `COMTNNOTERECPTN` CHANGE `RECPTN_SE` `RECPTN_SE` char(1) DEFAULT NULL COMMENT '수신구분' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `DELETE_AT` `DELETE_AT` char(8) DEFAULT NULL COMMENT '삭제여부' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `NOTE_ID` `NOTE_ID` char(20) NOT NULL COMMENT '쪽지ID' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `NOTE_TRNSMIT_ID` `NOTE_TRNSMIT_ID` char(20) NOT NULL COMMENT '쪽지송신ID' ; +ALTER TABLE `COMTNNOTETRNSMIT` CHANGE `TRNSMITER_ID` `TRNSMITER_ID` char(20) DEFAULT NULL COMMENT '송신자ID' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `BH_NTCN_INTRVL` `BH_NTCN_INTRVL` varchar(20) NOT NULL COMMENT '사전알림간격' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `NTCN_CN` `NTCN_CN` varchar(100) NOT NULL COMMENT '알림내용' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `NTCN_NO` `NTCN_NO` decimal(20,0) NOT NULL DEFAULT '0' COMMENT '알림번호' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `NTCN_SJ` `NTCN_SJ` varchar(60) NOT NULL COMMENT '알림제목' ; +ALTER TABLE `COMTNNTFCINFO` CHANGE `NTCN_TM` `NTCN_TM` varchar(14) NOT NULL COMMENT '알림시간' ; +ALTER TABLE `COMTNNTTSTATS` CHANGE `AVRG_RDCNT` `AVRG_RDCNT` decimal(10,0) DEFAULT NULL COMMENT '평균조회수' ; +ALTER TABLE `COMTNNTTSTATS` CHANGE `MUMM_RDCNT` `MUMM_RDCNT` decimal(10,0) DEFAULT NULL COMMENT '최소조회수' ; +ALTER TABLE `COMTNNTTSTATS` CHANGE `NTCE_CO` `NTCE_CO` decimal(10,0) DEFAULT NULL COMMENT '게시개수' ; +ALTER TABLE `COMTNNTTSTATS` CHANGE `STATS_ID` `STATS_ID` char(18) NOT NULL DEFAULT '' COMMENT '통계ID' ; +ALTER TABLE `COMTNNTTSTATS` CHANGE `TOP_NTCR_ID` `TOP_NTCR_ID` varchar(20) DEFAULT NULL COMMENT '최고게시자ID' ; +ALTER TABLE `COMTNNTTSTATS` CHANGE `TOP_RDCNT` `TOP_RDCNT` decimal(10,0) DEFAULT NULL COMMENT '최고조회수' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `DOMN_NM_SERVER` `DOMN_NM_SERVER` varchar(23) DEFAULT NULL COMMENT '도메인명서버' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `GTWY` `GTWY` varchar(23) DEFAULT NULL COMMENT '게이트웨이' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `MANAGE_IEM` `MANAGE_IEM` char(2) DEFAULT NULL COMMENT '관리항목' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `NTWRK_ID` `NTWRK_ID` char(20) NOT NULL COMMENT '네트워크ID' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `NTWRK_IP` `NTWRK_IP` varchar(23) DEFAULT NULL COMMENT '네트워크IP' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `RGSDE` `RGSDE` datetime DEFAULT NULL COMMENT '등록일' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `SUBNET` `SUBNET` varchar(23) DEFAULT NULL COMMENT '서브넷' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNNTWRKINFO` CHANGE `USER_NM` `USER_NM` varchar(60) DEFAULT NULL COMMENT '사용자명' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) NOT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `SYS_IP` `SYS_IP` varchar(23) NOT NULL COMMENT '시스템IP' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `SYS_NM` `SYS_NM` varchar(255) NOT NULL COMMENT '시스템명' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNG` CHANGE `SYS_PORT` `SYS_PORT` decimal(5,0) NOT NULL COMMENT '시스템포트' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) NOT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL DEFAULT '' COMMENT '로그ID' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `LOG_INFO` `LOG_INFO` varchar(2000) DEFAULT NULL COMMENT '로그정보' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `SYS_IP` `SYS_IP` varchar(23) NOT NULL COMMENT '시스템IP' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `SYS_NM` `SYS_NM` varchar(255) NOT NULL COMMENT '시스템명' ; +ALTER TABLE `COMTNNTWRKSVCMNTRNGLOGINFO` CHANGE `SYS_PORT` `SYS_PORT` decimal(5,0) NOT NULL COMMENT '시스템포트' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `ONLINE_MNL_DC` `ONLINE_MNL_DC` mediumtext DEFAULT NULL COMMENT '온라인메뉴얼설명' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `ONLINE_MNL_DFN` `ONLINE_MNL_DFN` mediumtext DEFAULT NULL COMMENT '온라인메뉴얼정의' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `ONLINE_MNL_ID` `ONLINE_MNL_ID` char(20) NOT NULL DEFAULT '' COMMENT '온라인메뉴얼ID' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `ONLINE_MNL_NM` `ONLINE_MNL_NM` varchar(255) DEFAULT NULL COMMENT '온라인메뉴얼명' ; +ALTER TABLE `COMTNONLINEMANUAL` CHANGE `ONLINE_MNL_SE_CODE` `ONLINE_MNL_SE_CODE` char(3) DEFAULT NULL COMMENT '온라인메뉴얼구분코드' ; +ALTER TABLE `COMTNONLINEPOLLIEM` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNONLINEPOLLIEM` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNONLINEPOLLIEM` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNONLINEPOLLIEM` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNONLINEPOLLIEM` CHANGE `POLL_ID` `POLL_ID` char(20) NOT NULL COMMENT 'POLLID' ; +ALTER TABLE `COMTNONLINEPOLLIEM` CHANGE `POLL_IEM_ID` `POLL_IEM_ID` char(20) NOT NULL COMMENT 'POLL항목ID' ; +ALTER TABLE `COMTNONLINEPOLLIEM` CHANGE `POLL_IEM_NM` `POLL_IEM_NM` varchar(255) DEFAULT NULL COMMENT 'POLL항목명' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `POLL_ATMC_DSUSE_ENNC` `POLL_ATMC_DSUSE_ENNC` char(1) DEFAULT NULL COMMENT 'POLL자동폐기유무' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `POLL_BGNDE` `POLL_BGNDE` char(10) DEFAULT NULL COMMENT 'POLL시작일' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `POLL_DSUSE_ENNC` `POLL_DSUSE_ENNC` char(1) DEFAULT NULL COMMENT 'POLL폐기유무' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `POLL_ENDDE` `POLL_ENDDE` char(10) DEFAULT NULL COMMENT 'POLL종료일' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `POLL_ID` `POLL_ID` char(20) NOT NULL COMMENT 'POLLID' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `POLL_KND` `POLL_KND` char(3) DEFAULT NULL COMMENT 'POLL종류' ; +ALTER TABLE `COMTNONLINEPOLLMANAGE` CHANGE `POLL_NM` `POLL_NM` varchar(255) DEFAULT NULL COMMENT 'POLL명' ; +ALTER TABLE `COMTNONLINEPOLLRESULT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNONLINEPOLLRESULT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNONLINEPOLLRESULT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNONLINEPOLLRESULT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNONLINEPOLLRESULT` CHANGE `POLL_ID` `POLL_ID` char(20) NOT NULL COMMENT 'POLLID' ; +ALTER TABLE `COMTNONLINEPOLLRESULT` CHANGE `POLL_IEM_ID` `POLL_IEM_ID` char(20) NOT NULL COMMENT 'POLL항목ID' ; +ALTER TABLE `COMTNONLINEPOLLRESULT` CHANGE `POLL_RESULT_ID` `POLL_RESULT_ID` char(20) NOT NULL DEFAULT '' COMMENT 'POLL결과ID' ; +ALTER TABLE `COMTNORGNZTINFO` CHANGE `ORGNZT_DC` `ORGNZT_DC` varchar(100) DEFAULT NULL COMMENT '조직설명' ; +ALTER TABLE `COMTNORGNZTINFO` CHANGE `ORGNZT_ID` `ORGNZT_ID` char(20) NOT NULL DEFAULT '' COMMENT '조직ID' ; +ALTER TABLE `COMTNORGNZTINFO` CHANGE `ORGNZT_NM` `ORGNZT_NM` varchar(20) NOT NULL COMMENT '조직명' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `FILE_URL` `FILE_URL` varchar(1024) DEFAULT NULL COMMENT '파일URL' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `NTCE_AT` `NTCE_AT` char(1) DEFAULT NULL COMMENT '게시여부' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `NTCE_BGNDE` `NTCE_BGNDE` char(20) DEFAULT NULL COMMENT '게시시작일' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `NTCE_ENDDE` `NTCE_ENDDE` char(20) DEFAULT NULL COMMENT '게시종료일' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `POPUP_ID` `POPUP_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '팝업ID' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `POPUP_SJ_NM` `POPUP_SJ_NM` varchar(1024) DEFAULT NULL COMMENT '팝업제목명' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `POPUP_VRTICL_LC` `POPUP_VRTICL_LC` varchar(20) DEFAULT NULL COMMENT '팝업세로위치' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `POPUP_VRTICL_SIZE` `POPUP_VRTICL_SIZE` decimal(10,0) DEFAULT NULL COMMENT '팝업세로사이즈' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `POPUP_WIDTH_LC` `POPUP_WIDTH_LC` varchar(20) DEFAULT NULL COMMENT '팝업가로위치' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `POPUP_WIDTH_SIZE` `POPUP_WIDTH_SIZE` decimal(10,0) DEFAULT NULL COMMENT '팝업가로사이즈' ; +ALTER TABLE `COMTNPOPUPMANAGE` CHANGE `STOPVEW_SETUP_AT` `STOPVEW_SETUP_AT` char(1) DEFAULT NULL COMMENT '그만보기설정여부' ; +ALTER TABLE `COMTNPRIVACYLOG` CHANGE `INQIRE_DT` `INQIRE_DT` datetime NOT NULL COMMENT '조회일시' ; +ALTER TABLE `COMTNPRIVACYLOG` CHANGE `INQIRE_INFO` `INQIRE_INFO` varchar(100) DEFAULT NULL COMMENT '조회 정보 명' ; +ALTER TABLE `COMTNPRIVACYLOG` CHANGE `REQUST_ID` `REQUST_ID` varchar(20) NOT NULL COMMENT '요청 ID' ; +ALTER TABLE `COMTNPRIVACYLOG` CHANGE `RQESTER_ID` `RQESTER_ID` varchar(20) DEFAULT NULL COMMENT '요청자아이디' ; +ALTER TABLE `COMTNPRIVACYLOG` CHANGE `RQESTER_IP` `RQESTER_IP` varchar(23) DEFAULT NULL COMMENT '요청아이피' ; +ALTER TABLE `COMTNPRIVACYLOG` CHANGE `SRVC_NM` `SRVC_NM` varchar(500) DEFAULT NULL COMMENT '서비스 명' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `PROCS_ID` `PROCS_ID` char(20) NOT NULL COMMENT '프로세스ID' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `PROCS_NM` `PROCS_NM` varchar(60) DEFAULT NULL COMMENT '프로세스명' ; +ALTER TABLE `COMTNPROCESSMON` CHANGE `PROCS_STTUS` `PROCS_STTUS` varchar(3) DEFAULT NULL COMMENT '프로세스상태' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL DEFAULT '' COMMENT '로그ID' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `LOG_INFO` `LOG_INFO` varchar(2000) DEFAULT NULL COMMENT '로그정보' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `PROCS_ID` `PROCS_ID` char(20) NOT NULL COMMENT '프로세스ID' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `PROCS_NM` `PROCS_NM` varchar(60) DEFAULT NULL COMMENT '프로세스명' ; +ALTER TABLE `COMTNPROCESSMONLOGINFO` CHANGE `PROCS_STTUS` `PROCS_STTUS` varchar(3) DEFAULT NULL COMMENT '프로세스상태' ; +ALTER TABLE `COMTNPROGRMLIST` CHANGE `PROGRM_DC` `PROGRM_DC` varchar(200) DEFAULT NULL COMMENT '프로그램설명' ; +ALTER TABLE `COMTNPROGRMLIST` CHANGE `PROGRM_FILE_NM` `PROGRM_FILE_NM` varchar(60) NOT NULL DEFAULT '' COMMENT '프로그램파일명' ; +ALTER TABLE `COMTNPROGRMLIST` CHANGE `PROGRM_KOREAN_NM` `PROGRM_KOREAN_NM` varchar(60) DEFAULT NULL COMMENT '프로그램한글명' ; +ALTER TABLE `COMTNPROGRMLIST` CHANGE `PROGRM_STRE_PATH` `PROGRM_STRE_PATH` varchar(100) NOT NULL COMMENT '프로그램저장경로' ; +ALTER TABLE `COMTNPROGRMLIST` CHANGE `URL` `URL` varchar(100) NOT NULL COMMENT 'URL' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `PROXY_ID` `PROXY_ID` char(20) NOT NULL COMMENT '프록시ID' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `PROXY_IP` `PROXY_IP` varchar(23) DEFAULT NULL COMMENT '프록시IP' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `PROXY_NM` `PROXY_NM` varchar(60) DEFAULT NULL COMMENT '프록시명' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `PROXY_PORT` `PROXY_PORT` varchar(10) DEFAULT NULL COMMENT '프록시포트' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `SVC_DC` `SVC_DC` varchar(2000) DEFAULT NULL COMMENT '서비스설명' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `SVC_IP` `SVC_IP` varchar(23) DEFAULT NULL COMMENT '서비스IP' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `SVC_PORT` `SVC_PORT` varchar(10) DEFAULT NULL COMMENT '서비스포트' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `SVC_STTUS` `SVC_STTUS` char(2) DEFAULT NULL COMMENT '서비스상태' ; +ALTER TABLE `COMTNPROXYINFO` CHANGE `TRGET_SVC_NM` `TRGET_SVC_NM` varchar(255) DEFAULT NULL COMMENT '대상서비스명' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `CLNT_IP` `CLNT_IP` varchar(23) DEFAULT NULL COMMENT '클라이언트IP' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `CLNT_PORT` `CLNT_PORT` varchar(10) DEFAULT NULL COMMENT '클라이언트포트' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `CONECT_TIME` `CONECT_TIME` datetime DEFAULT NULL COMMENT '접속시간' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL DEFAULT '' COMMENT '로그ID' ; +ALTER TABLE `COMTNPROXYLOGINFO` CHANGE `PROXY_ID` `PROXY_ID` char(20) NOT NULL COMMENT '프록시ID' ; +ALTER TABLE `COMTNQAINFO` CHANGE `ANSWER_CN` `ANSWER_CN` varchar(2500) DEFAULT NULL COMMENT '답변내용' ; +ALTER TABLE `COMTNQAINFO` CHANGE `ANSWER_DE` `ANSWER_DE` char(20) DEFAULT NULL COMMENT '답변일자' ; +ALTER TABLE `COMTNQAINFO` CHANGE `AREA_NO` `AREA_NO` varchar(4) DEFAULT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNQAINFO` CHANGE `EMAIL_ADRES` `EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '이메일주소' ; +ALTER TABLE `COMTNQAINFO` CHANGE `EMAIL_ANSWER_AT` `EMAIL_ANSWER_AT` char(1) DEFAULT NULL COMMENT '메일답변여부' ; +ALTER TABLE `COMTNQAINFO` CHANGE `END_TELNO` `END_TELNO` varchar(4) DEFAULT NULL COMMENT '끝전화번호' ; +ALTER TABLE `COMTNQAINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNQAINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNQAINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNQAINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNQAINFO` CHANGE `MIDDLE_TELNO` `MIDDLE_TELNO` varchar(4) DEFAULT NULL COMMENT '중간전화번호' ; +ALTER TABLE `COMTNQAINFO` CHANGE `QA_ID` `QA_ID` char(20) NOT NULL COMMENT 'QAID' ; +ALTER TABLE `COMTNQAINFO` CHANGE `QESTN_CN` `QESTN_CN` varchar(2500) DEFAULT NULL COMMENT '질문내용' ; +ALTER TABLE `COMTNQAINFO` CHANGE `QESTN_SJ` `QESTN_SJ` varchar(255) DEFAULT NULL COMMENT '질문제목' ; +ALTER TABLE `COMTNQAINFO` CHANGE `QNA_PROCESS_STTUS_CODE` `QNA_PROCESS_STTUS_CODE` char(1) DEFAULT NULL COMMENT '질의응답처리상태코드' ; +ALTER TABLE `COMTNQAINFO` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTNQAINFO` CHANGE `WRITNG_DE` `WRITNG_DE` char(20) DEFAULT NULL COMMENT '작성일' ; +ALTER TABLE `COMTNQAINFO` CHANGE `WRITNG_PASSWORD` `WRITNG_PASSWORD` varchar(20) DEFAULT NULL COMMENT '작성비밀번호' ; +ALTER TABLE `COMTNQAINFO` CHANGE `WRTER_NM` `WRTER_NM` varchar(20) DEFAULT NULL COMMENT '작성자명' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QESTNR_ID` `QESTNR_ID` char(20) NOT NULL COMMENT '설문지ID' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QUSTNR_BGNDE` `QUSTNR_BGNDE` char(20) DEFAULT NULL COMMENT '설문시작일' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QUSTNR_ENDDE` `QUSTNR_ENDDE` char(20) DEFAULT NULL COMMENT '설문종료일' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QUSTNR_PURPS` `QUSTNR_PURPS` varchar(1000) DEFAULT NULL COMMENT '설문목적' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QUSTNR_SJ` `QUSTNR_SJ` varchar(255) DEFAULT NULL COMMENT '설문제목' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QUSTNR_TMPLAT_ID` `QUSTNR_TMPLAT_ID` char(20) NOT NULL COMMENT '설문템플릿ID' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QUSTNR_TRGET` `QUSTNR_TRGET` varchar(1000) DEFAULT NULL COMMENT '설문대상' ; +ALTER TABLE `COMTNQESTNRINFO` CHANGE `QUSTNR_WRITNG_GUIDANCE_CN` `QUSTNR_WRITNG_GUIDANCE_CN` varchar(2000) DEFAULT NULL COMMENT '설문작성안내내용' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `ETC_ANSWER_AT` `ETC_ANSWER_AT` char(1) DEFAULT NULL COMMENT '기타답변여부' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `IEM_CN` `IEM_CN` varchar(1000) DEFAULT NULL COMMENT '항목내용' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `IEM_SN` `IEM_SN` decimal(5,0) DEFAULT NULL COMMENT '항목순번' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `QESTNR_ID` `QESTNR_ID` char(20) NOT NULL COMMENT '설문지ID' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `QUSTNR_IEM_ID` `QUSTNR_IEM_ID` varchar(20) NOT NULL COMMENT '설문항목ID' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `QUSTNR_QESITM_ID` `QUSTNR_QESITM_ID` char(20) NOT NULL COMMENT '설문문항ID' ; +ALTER TABLE `COMTNQUSTNRIEM` CHANGE `QUSTNR_TMPLAT_ID` `QUSTNR_TMPLAT_ID` char(20) NOT NULL COMMENT '설문템플릿ID' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) NOT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `MXMM_CHOISE_CO` `MXMM_CHOISE_CO` decimal(5,0) DEFAULT NULL COMMENT '최대선택개수' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `QESTN_CN` `QESTN_CN` varchar(2500) DEFAULT NULL COMMENT '질문내용' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `QESTN_SN` `QESTN_SN` decimal(10,0) DEFAULT NULL COMMENT '질문순번' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `QESTN_TY_CODE` `QESTN_TY_CODE` char(1) DEFAULT NULL COMMENT '질문유형코드' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `QESTNR_ID` `QESTNR_ID` char(20) NOT NULL COMMENT '설문지ID' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `QUSTNR_QESITM_ID` `QUSTNR_QESITM_ID` char(20) NOT NULL COMMENT '설문문항ID' ; +ALTER TABLE `COMTNQUSTNRQESITM` CHANGE `QUSTNR_TMPLAT_ID` `QUSTNR_TMPLAT_ID` char(20) NOT NULL COMMENT '설문템플릿ID' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `AREA_NO` `AREA_NO` varchar(4) DEFAULT NULL COMMENT '지역번호' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `BRTHDY` `BRTHDY` char(20) DEFAULT NULL COMMENT '생일' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `END_TELNO` `END_TELNO` varchar(4) DEFAULT NULL COMMENT '끝전화번호' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `MIDDLE_TELNO` `MIDDLE_TELNO` varchar(4) DEFAULT NULL COMMENT '중간전화번호' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `OCCP_TY_CODE` `OCCP_TY_CODE` char(1) DEFAULT NULL COMMENT '직업유형코드' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `QESTNR_ID` `QESTNR_ID` char(20) NOT NULL COMMENT '설문지ID' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `QUSTNR_RESPOND_ID` `QUSTNR_RESPOND_ID` char(20) NOT NULL COMMENT '설문응답자ID' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `QUSTNR_TMPLAT_ID` `QUSTNR_TMPLAT_ID` char(20) NOT NULL COMMENT '설문템플릿ID' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `RESPOND_NM` `RESPOND_NM` varchar(50) DEFAULT NULL COMMENT '응답자명' ; +ALTER TABLE `COMTNQUSTNRRESPONDINFO` CHANGE `SEXDSTN_CODE` `SEXDSTN_CODE` char(1) DEFAULT NULL COMMENT '성별코드' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `ETC_ANSWER_CN` `ETC_ANSWER_CN` varchar(1000) DEFAULT NULL COMMENT '기타답변내용' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `QESTNR_ID` `QESTNR_ID` char(20) NOT NULL COMMENT '설문지ID' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `QUSTNR_IEM_ID` `QUSTNR_IEM_ID` varchar(20) DEFAULT NULL COMMENT '설문항목ID' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `QUSTNR_QESITM_ID` `QUSTNR_QESITM_ID` char(20) NOT NULL COMMENT '설문문항ID' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `QUSTNR_RSPNS_RESULT_ID` `QUSTNR_RSPNS_RESULT_ID` char(20) NOT NULL COMMENT '설문응답결과ID' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `QUSTNR_TMPLAT_ID` `QUSTNR_TMPLAT_ID` char(20) NOT NULL COMMENT '설문템플릿ID' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `RESPOND_ANSWER_CN` `RESPOND_ANSWER_CN` varchar(1000) DEFAULT NULL COMMENT '응답자답변내용' ; +ALTER TABLE `COMTNQUSTNRRSPNSRESULT` CHANGE `RESPOND_NM` `RESPOND_NM` varchar(50) DEFAULT NULL COMMENT '응답자명' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `QUSTNR_TMPLAT_DC` `QUSTNR_TMPLAT_DC` varchar(2000) DEFAULT NULL COMMENT '설문템플릿설명' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `QUSTNR_TMPLAT_ID` `QUSTNR_TMPLAT_ID` char(20) NOT NULL COMMENT '설문템플릿ID' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `QUSTNR_TMPLAT_IMAGE_INFO` `QUSTNR_TMPLAT_IMAGE_INFO` blob DEFAULT NULL COMMENT '설문템플릿이미지정보' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `QUSTNR_TMPLAT_PATH_NM` `QUSTNR_TMPLAT_PATH_NM` varchar(100) DEFAULT NULL COMMENT '설문템플릿경로명' ; +ALTER TABLE `COMTNQUSTNRTMPLAT` CHANGE `QUSTNR_TMPLAT_TY` `QUSTNR_TMPLAT_TY` varchar(100) DEFAULT NULL COMMENT '설문템플릿유형' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `RECENT_SRCHWRD_CO` `RECENT_SRCHWRD_CO` decimal(20,0) DEFAULT NULL COMMENT '최근검색어개수' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `RECENT_SRCHWRD_ID` `RECENT_SRCHWRD_ID` char(20) NOT NULL COMMENT '최근검색어ID' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `RECENT_SRCHWRD_NM` `RECENT_SRCHWRD_NM` varchar(255) DEFAULT NULL COMMENT '최근검색어명' ; +ALTER TABLE `COMTNRECENTSRCHWRD` CHANGE `SRCHWRD_MANAGE_ID` `SRCHWRD_MANAGE_ID` char(20) NOT NULL COMMENT '검색어관리ID' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `SRCHWRD_CONECT_URL` `SRCHWRD_CONECT_URL` varchar(255) DEFAULT NULL COMMENT '검색어접속URL' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `SRCHWRD_MANAGE_ID` `SRCHWRD_MANAGE_ID` char(20) NOT NULL DEFAULT '' COMMENT '검색어관리ID' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `SRCHWRD_MANAGE_NM` `SRCHWRD_MANAGE_NM` varchar(255) DEFAULT NULL COMMENT '검색어관리명' ; +ALTER TABLE `COMTNRECENTSRCHWRDMANAGE` CHANGE `USER_SEARCH_AT` `USER_SEARCH_AT` char(1) DEFAULT NULL COMMENT '사용자검색여부' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `CONFM_DE` `CONFM_DE` char(20) DEFAULT NULL COMMENT '승인일' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `RECOMEND_CONFM_AT` `RECOMEND_CONFM_AT` char(1) DEFAULT NULL COMMENT '추천승인여부' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `RECOMEND_RESN_CN` `RECOMEND_RESN_CN` varchar(1000) DEFAULT NULL COMMENT '추천사유내용' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `RECOMEND_SITE_DC` `RECOMEND_SITE_DC` varchar(1000) DEFAULT NULL COMMENT '추천사이트설명' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `RECOMEND_SITE_ID` `RECOMEND_SITE_ID` char(20) NOT NULL COMMENT '추천사이트ID' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `RECOMEND_SITE_NM` `RECOMEND_SITE_NM` varchar(100) DEFAULT NULL COMMENT '추천사이트명' ; +ALTER TABLE `COMTNRECOMENDSITEINFO` CHANGE `RECOMEND_SITE_URL` `RECOMEND_SITE_URL` varchar(255) DEFAULT NULL COMMENT '추천사이트URL' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `REPRT_ID` `REPRT_ID` char(6) NOT NULL DEFAULT '' COMMENT '보고서ID' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `REPRT_NM` `REPRT_NM` varchar(20) NOT NULL COMMENT '보고서명' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `REPRT_STTUS` `REPRT_STTUS` char(2) NOT NULL COMMENT '보고서상태' ; +ALTER TABLE `COMTNREPRTSTATS` CHANGE `REPRT_TY` `REPRT_TY` char(2) DEFAULT NULL COMMENT '보고서유형' ; +ALTER TABLE `COMTNRESTDE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNRESTDE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNRESTDE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNRESTDE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNRESTDE` CHANGE `RESTDE_DC` `RESTDE_DC` varchar(200) DEFAULT NULL COMMENT '휴일설명' ; +ALTER TABLE `COMTNRESTDE` CHANGE `RESTDE_NM` `RESTDE_NM` varchar(60) DEFAULT NULL COMMENT '휴일명' ; +ALTER TABLE `COMTNRESTDE` CHANGE `RESTDE_NO` `RESTDE_NO` decimal(6,0) NOT NULL COMMENT '휴일번호' ; +ALTER TABLE `COMTNRESTDE` CHANGE `RESTDE_SE_CODE` `RESTDE_SE_CODE` varchar(2) DEFAULT NULL COMMENT '휴일구분코드' ; +ALTER TABLE `COMTNRESTDE` CHANGE `RESTDE` `RESTDE` char(8) DEFAULT NULL COMMENT '휴일' ; +ALTER TABLE `COMTNROLEINFO` CHANGE `ROLE_CODE` `ROLE_CODE` varchar(50) NOT NULL DEFAULT '' COMMENT '롤코드' ; +ALTER TABLE `COMTNROLEINFO` CHANGE `ROLE_CREAT_DE` `ROLE_CREAT_DE` char(20) NOT NULL COMMENT '롤생성일' ; +ALTER TABLE `COMTNROLEINFO` CHANGE `ROLE_DC` `ROLE_DC` varchar(200) DEFAULT NULL COMMENT '롤설명' ; +ALTER TABLE `COMTNROLEINFO` CHANGE `ROLE_NM` `ROLE_NM` varchar(60) NOT NULL COMMENT '롤명' ; +ALTER TABLE `COMTNROLEINFO` CHANGE `ROLE_PTTRN` `ROLE_PTTRN` varchar(300) DEFAULT NULL COMMENT '롤패턴' ; +ALTER TABLE `COMTNROLEINFO` CHANGE `ROLE_SORT` `ROLE_SORT` varchar(10) DEFAULT NULL COMMENT '롤정렬' ; +ALTER TABLE `COMTNROLEINFO` CHANGE `ROLE_TY` `ROLE_TY` varchar(80) DEFAULT NULL COMMENT '롤유형' ; +ALTER TABLE `COMTNROLES_HIERARCHY` CHANGE `CHLDRN_ROLE` `CHLDRN_ROLE` varchar(30) NOT NULL COMMENT '자식롤' ; +ALTER TABLE `COMTNROLES_HIERARCHY` CHANGE `PARNTS_ROLE` `PARNTS_ROLE` varchar(30) NOT NULL COMMENT '부모롤' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `INFOWINDOW` `INFOWINDOW` varchar(20) DEFAULT NULL COMMENT '안내창 도움말' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `LA` `LA` varchar(48) DEFAULT NULL COMMENT '지도 위도' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `LO` `LO` varchar(48) DEFAULT NULL COMMENT '지도 경도' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `MARKERLA` `MARKERLA` varchar(48) DEFAULT NULL COMMENT '마커 위도' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `MARKERLO` `MARKERLO` varchar(48) DEFAULT NULL COMMENT '마커 경도' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `ROUGHMAP_ID` `ROUGHMAP_ID` varchar(75) NOT NULL COMMENT '약도 ID' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `ROUGHMAPADDRESS` `ROUGHMAPADDRESS` varchar(200) DEFAULT NULL COMMENT '약도상세주소' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `ROUGHMAPSJ` `ROUGHMAPSJ` varchar(75) NOT NULL COMMENT '약도 제목' ; +ALTER TABLE `COMTNROUGHMAP` CHANGE `ZOOMLEVEL` `ZOOMLEVEL` varchar(10) DEFAULT NULL COMMENT '지도 확대수준' ; +ALTER TABLE `COMTNRSS` CHANGE `BDT_DC` `BDT_DC` varchar(4000) DEFAULT NULL COMMENT '본문설명' ; +ALTER TABLE `COMTNRSS` CHANGE `BDT_ETC_TAG` `BDT_ETC_TAG` varchar(255) DEFAULT NULL COMMENT '본문기타태그' ; +ALTER TABLE `COMTNRSS` CHANGE `BDT_LINK` `BDT_LINK` varchar(255) DEFAULT NULL COMMENT '본문링크' ; +ALTER TABLE `COMTNRSS` CHANGE `BDT_TAG` `BDT_TAG` varchar(255) DEFAULT NULL COMMENT '본문태그' ; +ALTER TABLE `COMTNRSS` CHANGE `BDT_TITLE` `BDT_TITLE` varchar(255) DEFAULT NULL COMMENT '본문TITLE' ; +ALTER TABLE `COMTNRSS` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNRSS` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNRSS` CHANGE `HDER_DC` `HDER_DC` varchar(4000) NOT NULL COMMENT '헤더설명' ; +ALTER TABLE `COMTNRSS` CHANGE `HDER_ETC` `HDER_ETC` varchar(250) DEFAULT NULL COMMENT '헤더기타' ; +ALTER TABLE `COMTNRSS` CHANGE `HDER_LINK` `HDER_LINK` varchar(255) NOT NULL COMMENT '헤더링크' ; +ALTER TABLE `COMTNRSS` CHANGE `HDER_TAG` `HDER_TAG` varchar(255) DEFAULT NULL COMMENT '헤더태그' ; +ALTER TABLE `COMTNRSS` CHANGE `HDER_TITLE` `HDER_TITLE` varchar(255) NOT NULL COMMENT '헤더TITLE' ; +ALTER TABLE `COMTNRSS` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNRSS` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNRSS` CHANGE `RSS_ID` `RSS_ID` char(20) NOT NULL COMMENT 'RSSID' ; +ALTER TABLE `COMTNRSS` CHANGE `TRGET_SVC_LIST_CO` `TRGET_SVC_LIST_CO` decimal(5,0) NOT NULL COMMENT '대상서비스목록개수' ; +ALTER TABLE `COMTNRSS` CHANGE `TRGET_SVC_NM` `TRGET_SVC_NM` varchar(255) NOT NULL COMMENT '대상서비스명' ; +ALTER TABLE `COMTNRSS` CHANGE `TRGET_SVC_TABLE` `TRGET_SVC_TABLE` varchar(255) NOT NULL COMMENT '대상서비스테이블' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `CONFM_AT` `CONFM_AT` char(1) DEFAULT NULL COMMENT '승인여부' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `INFRML_SANCTN_ID` `INFRML_SANCTN_ID` char(20) DEFAULT NULL COMMENT '약식결재ID' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `PBLEN_CN` `PBLEN_CN` varchar(1000) DEFAULT NULL COMMENT '공적내용' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `RETURN_RESN` `RETURN_RESN` varchar(1000) DEFAULT NULL COMMENT '반환사유' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `RWARD_CODE` `RWARD_CODE` char(2) NOT NULL COMMENT '포상코드' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `RWARD_DE` `RWARD_DE` char(20) NOT NULL COMMENT '포상일' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `RWARD_ID` `RWARD_ID` char(20) NOT NULL COMMENT '포상ID' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `RWARD_NM` `RWARD_NM` varchar(255) NOT NULL COMMENT '포상명' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `RWARDWNR_ID` `RWARDWNR_ID` varchar(20) NOT NULL COMMENT '포상자ID' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `SANCTN_DT` `SANCTN_DT` datetime DEFAULT NULL COMMENT '결재일시' ; +ALTER TABLE `COMTNRWARDMANAGE` CHANGE `SANCTNER_ID` `SANCTNER_ID` varchar(20) NOT NULL COMMENT '결재자ID' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `REPTIT_SE_CODE` `REPTIT_SE_CODE` char(1) DEFAULT NULL COMMENT '반복구분코드' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_BGNDE` `SCHDUL_BGNDE` char(20) DEFAULT NULL COMMENT '일정시작일' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_CHARGER_ID` `SCHDUL_CHARGER_ID` varchar(20) DEFAULT NULL COMMENT '일정담당자ID' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_CN` `SCHDUL_CN` varchar(2500) DEFAULT NULL COMMENT '일정내용' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_DEPT_ID` `SCHDUL_DEPT_ID` varchar(20) DEFAULT NULL COMMENT '일정부서ID' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_ENDDE` `SCHDUL_ENDDE` char(20) DEFAULT NULL COMMENT '일정종료일' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_ID` `SCHDUL_ID` char(20) NOT NULL COMMENT '일정ID' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_IPCR_CODE` `SCHDUL_IPCR_CODE` char(1) DEFAULT NULL COMMENT '일정중요도코드' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_KND_CODE` `SCHDUL_KND_CODE` char(1) DEFAULT NULL COMMENT '일정종류코드' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_NM` `SCHDUL_NM` varchar(255) DEFAULT NULL COMMENT '일정명' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_PLACE` `SCHDUL_PLACE` varchar(255) DEFAULT NULL COMMENT '일정장소' ; +ALTER TABLE `COMTNSCHDULINFO` CHANGE `SCHDUL_SE` `SCHDUL_SE` char(1) DEFAULT NULL COMMENT '일정구분' ; +ALTER TABLE `COMTNSCRAP` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNSCRAP` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSCRAP` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSCRAP` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSCRAP` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSCRAP` CHANGE `NTT_ID` `NTT_ID` decimal(20,0) NOT NULL COMMENT '게시물ID' ; +ALTER TABLE `COMTNSCRAP` CHANGE `SCRAP_ID` `SCRAP_ID` char(20) NOT NULL COMMENT '스크랩ID' ; +ALTER TABLE `COMTNSCRAP` CHANGE `SCRAP_NM` `SCRAP_NM` varchar(100) NOT NULL COMMENT '스크랩명' ; +ALTER TABLE `COMTNSCRAP` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `CPU_INFO` `CPU_INFO` varchar(2000) DEFAULT NULL COMMENT 'CPU정보' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `ETC_INFO` `ETC_INFO` varchar(250) DEFAULT NULL COMMENT '기타정보' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `HDDISK` `HDDISK` char(18) DEFAULT NULL COMMENT 'HDDISK' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `MORY_INFO` `MORY_INFO` varchar(2000) DEFAULT NULL COMMENT '메모리정보' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `OPERSYSM_INFO` `OPERSYSM_INFO` varchar(2000) DEFAULT NULL COMMENT '운영체제정보' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `RGSDE` `RGSDE` datetime DEFAULT NULL COMMENT '등록일' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `SERVER_EQPMN_ID` `SERVER_EQPMN_ID` varchar(20) NOT NULL COMMENT '서버장비ID' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `SERVER_EQPMN_IP` `SERVER_EQPMN_IP` varchar(23) DEFAULT NULL COMMENT '서버장비IP' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `SERVER_EQPMN_MNGR` `SERVER_EQPMN_MNGR` varchar(60) DEFAULT NULL COMMENT '서버장비관리자' ; +ALTER TABLE `COMTNSERVEREQPMNINFO` CHANGE `SERVER_EQPMN_NM` `SERVER_EQPMN_NM` varchar(60) DEFAULT NULL COMMENT '서버장비명' ; +ALTER TABLE `COMTNSERVEREQPMNRELATE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSERVEREQPMNRELATE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSERVEREQPMNRELATE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSERVEREQPMNRELATE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSERVEREQPMNRELATE` CHANGE `SERVER_EQPMN_ID` `SERVER_EQPMN_ID` varchar(20) NOT NULL COMMENT '서버장비ID' ; +ALTER TABLE `COMTNSERVEREQPMNRELATE` CHANGE `SERVER_ID` `SERVER_ID` char(20) NOT NULL COMMENT '서버ID' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `RGSDE` `RGSDE` datetime DEFAULT NULL COMMENT '등록일' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `SERVER_ID` `SERVER_ID` char(20) NOT NULL COMMENT '서버ID' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `SERVER_KND` `SERVER_KND` char(2) DEFAULT NULL COMMENT '서버종류' ; +ALTER TABLE `COMTNSERVERINFO` CHANGE `SERVER_NM` `SERVER_NM` varchar(60) DEFAULT NULL COMMENT '서버명' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `CPU_USE_RT` `CPU_USE_RT` decimal(3,0) DEFAULT NULL COMMENT 'CPU사용율' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `LOG_ID` `LOG_ID` char(20) NOT NULL DEFAULT '' COMMENT '로그ID' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `LOG_INFO` `LOG_INFO` varchar(2000) DEFAULT NULL COMMENT '로그정보' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `MORY_USE_RT` `MORY_USE_RT` decimal(3,0) DEFAULT NULL COMMENT '메모리사용율' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `SERVER_EQPMN_ID` `SERVER_EQPMN_ID` varchar(20) NOT NULL COMMENT '서버장비ID' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `SERVER_ID` `SERVER_ID` char(20) NOT NULL COMMENT '서버ID' ; +ALTER TABLE `COMTNSERVERRESRCELOGINFO` CHANGE `SVC_STTUS` `SVC_STTUS` char(2) DEFAULT NULL COMMENT '서비스상태' ; +ALTER TABLE `COMTNSITELIST` CHANGE `ACTVTY_AT` `ACTVTY_AT` char(1) DEFAULT NULL COMMENT '활성여부' ; +ALTER TABLE `COMTNSITELIST` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSITELIST` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSITELIST` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSITELIST` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSITELIST` CHANGE `SITE_DC` `SITE_DC` varchar(1000) DEFAULT NULL COMMENT '사이트설명' ; +ALTER TABLE `COMTNSITELIST` CHANGE `SITE_ID` `SITE_ID` char(20) NOT NULL COMMENT '사이트ID' ; +ALTER TABLE `COMTNSITELIST` CHANGE `SITE_NM` `SITE_NM` varchar(100) DEFAULT NULL COMMENT '사이트명' ; +ALTER TABLE `COMTNSITELIST` CHANGE `SITE_THEMA_CL_CODE` `SITE_THEMA_CL_CODE` varchar(2) DEFAULT NULL COMMENT '사이트주제분류코드' ; +ALTER TABLE `COMTNSITELIST` CHANGE `SITE_URL` `SITE_URL` varchar(100) DEFAULT NULL COMMENT '사이트URL' ; +ALTER TABLE `COMTNSITELIST` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNSITEMAP` CHANGE `CREATR_ID` `CREATR_ID` varchar(20) NOT NULL COMMENT '생성자ID' ; +ALTER TABLE `COMTNSITEMAP` CHANGE `MAPNG_CREAT_ID` `MAPNG_CREAT_ID` varchar(30) NOT NULL COMMENT '매핑생성ID' ; +ALTER TABLE `COMTNSITEMAP` CHANGE `MAPNG_FILE_NM` `MAPNG_FILE_NM` varchar(60) NOT NULL COMMENT '매핑파일명' ; +ALTER TABLE `COMTNSITEMAP` CHANGE `MAPNG_FILE_PATH` `MAPNG_FILE_PATH` varchar(100) NOT NULL COMMENT '매핑파일경로' ; +ALTER TABLE `COMTNSMS` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSMS` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSMS` CHANGE `SMS_ID` `SMS_ID` char(20) NOT NULL DEFAULT '' COMMENT '문자메시지ID' ; +ALTER TABLE `COMTNSMS` CHANGE `TRNSMIS_CN` `TRNSMIS_CN` varchar(80) NOT NULL COMMENT '전송내용' ; +ALTER TABLE `COMTNSMS` CHANGE `TRNSMIS_TELNO` `TRNSMIS_TELNO` varchar(12) NOT NULL COMMENT '전송전화번호' ; +ALTER TABLE `COMTNSMSRECPTN` CHANGE `RECPTN_TELNO` `RECPTN_TELNO` varchar(12) NOT NULL DEFAULT '' COMMENT '수신전화번호' ; +ALTER TABLE `COMTNSMSRECPTN` CHANGE `RESULT_CODE` `RESULT_CODE` varchar(4) DEFAULT NULL COMMENT '결과코드' ; +ALTER TABLE `COMTNSMSRECPTN` CHANGE `RESULT_MSSAGE` `RESULT_MSSAGE` varchar(4000) DEFAULT NULL COMMENT '결과메시지' ; +ALTER TABLE `COMTNSMSRECPTN` CHANGE `SMS_ID` `SMS_ID` char(20) NOT NULL COMMENT '문자메시지ID' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `INFO_PROVD_AGRE_CN` `INFO_PROVD_AGRE_CN` mediumtext DEFAULT NULL COMMENT '정보제공동의내용' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `USE_STPLAT_CN` `USE_STPLAT_CN` mediumtext DEFAULT NULL COMMENT '이용약관내용' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `USE_STPLAT_ID` `USE_STPLAT_ID` char(20) NOT NULL COMMENT '이용약관ID' ; +ALTER TABLE `COMTNSTPLATINFO` CHANGE `USE_STPLAT_NM` `USE_STPLAT_NM` varchar(100) DEFAULT NULL COMMENT '이용약관명' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `BBS_ID` `BBS_ID` char(20) NOT NULL COMMENT '게시판ID' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `NTT_ID` `NTT_ID` decimal(20,0) NOT NULL COMMENT '게시물ID' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `PASSWORD` `PASSWORD` varchar(200) DEFAULT NULL COMMENT '비밀번호' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `STSFDG_CN` `STSFDG_CN` varchar(200) DEFAULT NULL COMMENT '만족도내용' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `STSFDG_NO` `STSFDG_NO` decimal(20,0) NOT NULL COMMENT '만족도번호' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `STSFDG` `STSFDG` decimal(1,0) NOT NULL COMMENT '만족도' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `WRTER_ID` `WRTER_ID` varchar(20) DEFAULT NULL COMMENT '작성자ID' ; +ALTER TABLE `COMTNSTSFDG` CHANGE `WRTER_NM` `WRTER_NM` varchar(20) DEFAULT NULL COMMENT '작성자명' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `FTP_ID` `FTP_ID` varchar(20) DEFAULT NULL COMMENT 'FTPID' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `FTP_PASSWORD` `FTP_PASSWORD` varchar(20) DEFAULT NULL COMMENT 'FTP비밀번호' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `REFLCT_AT` `REFLCT_AT` char(1) DEFAULT NULL COMMENT '반영여부' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `SERVER_ID` `SERVER_ID` char(20) NOT NULL COMMENT '서버ID' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `SERVER_IP` `SERVER_IP` varchar(23) DEFAULT NULL COMMENT '서버IP' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `SERVER_NM` `SERVER_NM` varchar(60) DEFAULT NULL COMMENT '서버명' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `SERVER_PORT` `SERVER_PORT` varchar(10) DEFAULT NULL COMMENT '서버포트' ; +ALTER TABLE `COMTNSYNCHRNSERVERINFO` CHANGE `SYNCHRN_LC` `SYNCHRN_LC` varchar(255) DEFAULT NULL COMMENT '동기화위치' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `ERROR_CO` `ERROR_CO` decimal(10,0) DEFAULT NULL COMMENT '오류수' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `ERROR_CODE` `ERROR_CODE` char(3) DEFAULT NULL COMMENT '오류코드' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `ERROR_SE` `ERROR_SE` char(1) DEFAULT NULL COMMENT '오류구분' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `INSTT_CODE` `INSTT_CODE` char(7) DEFAULT NULL COMMENT '기관코드' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `JOB_SE_CODE` `JOB_SE_CODE` char(3) DEFAULT NULL COMMENT '업무구분코드' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `METHOD_NM` `METHOD_NM` varchar(60) DEFAULT NULL COMMENT '메서드명' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` datetime DEFAULT NULL COMMENT '발생일' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `PROCESS_CO` `PROCESS_CO` decimal(10,0) DEFAULT NULL COMMENT '처리수' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `PROCESS_SE_CODE` `PROCESS_SE_CODE` char(3) DEFAULT NULL COMMENT '처리구분코드' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `PROCESS_TIME` `PROCESS_TIME` varchar(14) DEFAULT NULL COMMENT '처리시간' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `REQUST_ID` `REQUST_ID` varchar(20) NOT NULL COMMENT '요청ID' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `RQESTER_ID` `RQESTER_ID` varchar(20) DEFAULT NULL COMMENT '요청자ID' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `RQESTER_IP` `RQESTER_IP` varchar(23) DEFAULT NULL COMMENT '요청자IP' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `RSPNS_CODE` `RSPNS_CODE` char(3) DEFAULT NULL COMMENT '응답코드' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `SVC_NM` `SVC_NM` varchar(255) DEFAULT NULL COMMENT '서비스명' ; +ALTER TABLE `COMTNSYSLOG` CHANGE `TRGET_MENU_NM` `TRGET_MENU_NM` varchar(255) DEFAULT NULL COMMENT '대상메뉴명' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `CNTC_ID` `CNTC_ID` char(8) NOT NULL DEFAULT '' COMMENT '연계ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `CNTC_NM` `CNTC_NM` varchar(100) DEFAULT NULL COMMENT '연계명' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `CNTC_TY` `CNTC_TY` varchar(60) DEFAULT NULL COMMENT '연계유형' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `CONFM_AT` `CONFM_AT` char(1) DEFAULT NULL COMMENT '승인여부' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `PROVD_INSTT_ID` `PROVD_INSTT_ID` char(8) DEFAULT NULL COMMENT '제공기관ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `PROVD_SVC_ID` `PROVD_SVC_ID` char(8) DEFAULT NULL COMMENT '제공서비스ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `PROVD_SYS_ID` `PROVD_SYS_ID` char(8) DEFAULT NULL COMMENT '제공시스템ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `REQUST_INSTT_ID` `REQUST_INSTT_ID` char(8) DEFAULT NULL COMMENT '요청기관ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `REQUST_SYS_ID` `REQUST_SYS_ID` char(8) DEFAULT NULL COMMENT '요청시스템ID' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `VALID_BGNDE` `VALID_BGNDE` char(20) DEFAULT NULL COMMENT '유효시작일자' ; +ALTER TABLE `COMTNSYSTEMCNTC` CHANGE `VALID_ENDDE` `VALID_ENDDE` char(20) DEFAULT NULL COMMENT '유효종료일자' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `TMPLAT_COURS` `TMPLAT_COURS` varchar(2000) DEFAULT NULL COMMENT '템플릿경로' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `TMPLAT_ID` `TMPLAT_ID` char(20) NOT NULL DEFAULT '' COMMENT '템플릿ID' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `TMPLAT_NM` `TMPLAT_NM` varchar(255) DEFAULT NULL COMMENT '템플릿명' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `TMPLAT_SE_CODE` `TMPLAT_SE_CODE` char(6) DEFAULT NULL COMMENT '템플릿구분코드' ; +ALTER TABLE `COMTNTMPLATINFO` CHANGE `USE_AT` `USE_AT` char(1) DEFAULT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `PROCESS_STTUS` `PROCESS_STTUS` char(1) DEFAULT NULL COMMENT '처리상태' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_DC` `TROBL_DC` varchar(2000) DEFAULT NULL COMMENT '장애설명' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_ID` `TROBL_ID` char(20) NOT NULL COMMENT '장애ID' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_KND` `TROBL_KND` char(2) DEFAULT NULL COMMENT '장애종류' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_NM` `TROBL_NM` varchar(60) DEFAULT NULL COMMENT '장애명' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_OCCRRNC_TIME` `TROBL_OCCRRNC_TIME` varchar(14) DEFAULT NULL COMMENT '장애발생시간' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_OPETR_NM` `TROBL_OPETR_NM` varchar(60) DEFAULT NULL COMMENT '장애처리자명' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_PROCESS_RESULT` `TROBL_PROCESS_RESULT` varchar(2000) DEFAULT NULL COMMENT '장애처리결과' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_PROCESS_TIME` `TROBL_PROCESS_TIME` varchar(14) DEFAULT NULL COMMENT '장애처리시간' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_REQUST_TIME` `TROBL_REQUST_TIME` varchar(14) DEFAULT NULL COMMENT '장애요청시간' ; +ALTER TABLE `COMTNTROBLINFO` CHANGE `TROBL_RQESTER_NM` `TROBL_RQESTER_NM` varchar(60) DEFAULT NULL COMMENT '장애요청자명' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `CNTC_ID` `CNTC_ID` char(8) DEFAULT NULL COMMENT '연계ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(20) DEFAULT NULL COMMENT '발생일' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `PROVD_INSTT_ID` `PROVD_INSTT_ID` char(8) DEFAULT NULL COMMENT '제공기관ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `PROVD_SVC_ID` `PROVD_SVC_ID` char(8) DEFAULT NULL COMMENT '제공서비스ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `PROVD_SYS_ID` `PROVD_SYS_ID` char(8) DEFAULT NULL COMMENT '제공시스템ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `REQUST_ID` `REQUST_ID` varchar(20) NOT NULL COMMENT '요청ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `REQUST_INSTT_ID` `REQUST_INSTT_ID` char(8) DEFAULT NULL COMMENT '요청기관ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `REQUST_RECPTN_TM` `REQUST_RECPTN_TM` varchar(14) DEFAULT NULL COMMENT '요청수신시각' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `REQUST_SYS_ID` `REQUST_SYS_ID` char(8) DEFAULT NULL COMMENT '요청시스템ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `REQUST_TRNSMIT_TM` `REQUST_TRNSMIT_TM` varchar(14) DEFAULT NULL COMMENT '요청송신시각' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `RESULT_CODE` `RESULT_CODE` varchar(4) DEFAULT NULL COMMENT '결과코드' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `RESULT_MSSAGE` `RESULT_MSSAGE` varchar(4000) DEFAULT NULL COMMENT '결과메시지' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `RQESTER_ID` `RQESTER_ID` varchar(20) DEFAULT NULL COMMENT '요청자ID' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `RSPNS_RECPTN_TM` `RSPNS_RECPTN_TM` varchar(14) DEFAULT NULL COMMENT '응답수신시각' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `RSPNS_TRNSMIT_TM` `RSPNS_TRNSMIT_TM` varchar(14) DEFAULT NULL COMMENT '응답송신시각' ; +ALTER TABLE `COMTNTRSMRCVLOG` CHANGE `TRSMRCV_SE_CODE` `TRSMRCV_SE_CODE` char(3) DEFAULT NULL COMMENT '송수신구분코드' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `CNTC_ID` `CNTC_ID` char(8) NOT NULL COMMENT '연계ID' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `CREAT_DT` `CREAT_DT` datetime DEFAULT NULL COMMENT '생성일시' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NOT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `MNGR_EMAIL_ADRES` `MNGR_EMAIL_ADRES` varchar(50) DEFAULT NULL COMMENT '관리자이메일주소' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `MNGR_NM` `MNGR_NM` varchar(60) DEFAULT NULL COMMENT '관리자명' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `MNTRNG_STTUS` `MNTRNG_STTUS` char(2) DEFAULT NULL COMMENT '모니터링상태' ; +ALTER TABLE `COMTNTRSMRCVMNTRNG` CHANGE `TEST_CLASS_NM` `TEST_CLASS_NM` varchar(255) DEFAULT NULL COMMENT '테스트클래스명' ; +ALTER TABLE `COMTNTWITTER` CHANGE `CNSMR_KEY` `CNSMR_KEY` varchar(50) NOT NULL COMMENT '사용자열쇠' ; +ALTER TABLE `COMTNTWITTER` CHANGE `CNSMR_SECRET` `CNSMR_SECRET` varchar(50) NOT NULL COMMENT '사용자비밀' ; +ALTER TABLE `COMTNTWITTER` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNTWITTER` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNTWITTER` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNTWITTER` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNTWITTER` CHANGE `USER_ID` `USER_ID` varchar(20) NOT NULL COMMENT '사용자ID' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `UNITY_LINK_DC` `UNITY_LINK_DC` varchar(2500) DEFAULT NULL COMMENT '통합링크설명' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `UNITY_LINK_GROUP` `UNITY_LINK_GROUP` varchar(255) DEFAULT NULL COMMENT '통합링크그룹' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `UNITY_LINK_ID` `UNITY_LINK_ID` char(20) NOT NULL DEFAULT '' COMMENT '통합링크ID' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `UNITY_LINK_NM` `UNITY_LINK_NM` varchar(255) DEFAULT NULL COMMENT '통합링크명' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `UNITY_LINK_SE_CODE` `UNITY_LINK_SE_CODE` char(3) DEFAULT NULL COMMENT '통합링크구분코드' ; +ALTER TABLE `COMTNUNITYLINK` CHANGE `UNITY_LINK_URL` `UNITY_LINK_URL` varchar(255) DEFAULT NULL COMMENT '통합링크URL' ; +ALTER TABLE `COMTNUSERABSNCE` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNUSERABSNCE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNUSERABSNCE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNUSERABSNCE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNUSERABSNCE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNUSERABSNCE` CHANGE `USER_ABSNCE_AT` `USER_ABSNCE_AT` char(1) NOT NULL COMMENT '사용자부재여부' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `CREAT_CO` `CREAT_CO` decimal(10,0) DEFAULT NULL COMMENT '생성수' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `DELETE_CO` `DELETE_CO` decimal(10,0) DEFAULT NULL COMMENT '삭제수' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `ERROR_CO` `ERROR_CO` decimal(10,0) DEFAULT NULL COMMENT '오류수' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `METHOD_NM` `METHOD_NM` varchar(60) NOT NULL DEFAULT '' COMMENT '메서드명' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(8) NOT NULL DEFAULT '' COMMENT '발생일' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `OUTPT_CO` `OUTPT_CO` decimal(10,0) DEFAULT NULL COMMENT '출력수' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `RQESTER_ID` `RQESTER_ID` varchar(20) NOT NULL DEFAULT '' COMMENT '요청자ID' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `SVC_NM` `SVC_NM` varchar(255) NOT NULL DEFAULT '' COMMENT '서비스명' ; +ALTER TABLE `COMTNUSERLOG` CHANGE `UPDT_CO` `UPDT_CO` decimal(10,0) DEFAULT NULL COMMENT '수정수' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `APPLCNT_ID` `APPLCNT_ID` varchar(20) NOT NULL COMMENT '신청인ID' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `BGNDE` `BGNDE` char(8) NOT NULL COMMENT '시작일' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `CONFM_AT` `CONFM_AT` char(1) DEFAULT NULL COMMENT '승인여부' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `ENDDE` `ENDDE` char(8) NOT NULL COMMENT '종료일' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `INFRML_SANCTN_ID` `INFRML_SANCTN_ID` char(20) DEFAULT NULL COMMENT '약식결재ID' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `NOON_SE` `NOON_SE` char(1) DEFAULT NULL COMMENT '정오구분' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `OCCRRNC_YEAR` `OCCRRNC_YEAR` char(4) DEFAULT NULL COMMENT '발생년도' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `REQST_DE` `REQST_DE` char(20) NOT NULL COMMENT '신청일' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `RETURN_RESN` `RETURN_RESN` varchar(1000) DEFAULT NULL COMMENT '반환사유' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `SANCTN_DT` `SANCTN_DT` datetime DEFAULT NULL COMMENT '결재일시' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `SANCTNER_ID` `SANCTNER_ID` varchar(20) DEFAULT NULL COMMENT '결재자ID' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `VCATN_RESN` `VCATN_RESN` varchar(200) NOT NULL COMMENT '휴가사유' ; +ALTER TABLE `COMTNVCATNMANAGE` CHANGE `VCATN_SE` `VCATN_SE` char(2) NOT NULL COMMENT '휴가구분' ; +ALTER TABLE `COMTNWEBLOG` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` datetime DEFAULT NULL COMMENT '발생일' ; +ALTER TABLE `COMTNWEBLOG` CHANGE `REQUST_ID` `REQUST_ID` varchar(20) NOT NULL COMMENT '요청ID' ; +ALTER TABLE `COMTNWEBLOG` CHANGE `RQESTER_ID` `RQESTER_ID` varchar(20) DEFAULT NULL COMMENT '요청자ID' ; +ALTER TABLE `COMTNWEBLOG` CHANGE `RQESTER_IP` `RQESTER_IP` varchar(23) DEFAULT NULL COMMENT '요청자IP' ; +ALTER TABLE `COMTNWEBLOG` CHANGE `URL` `URL` varchar(200) DEFAULT NULL COMMENT 'URL' ; +ALTER TABLE `COMTNWIKIBKMK` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNWIKIBKMK` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNWIKIBKMK` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNWIKIBKMK` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNWIKIBKMK` CHANGE `USER_ID` `USER_ID` varchar(20) NOT NULL COMMENT '사용자ID' ; +ALTER TABLE `COMTNWIKIBKMK` CHANGE `WIKI_BKMK_ID` `WIKI_BKMK_ID` char(20) NOT NULL COMMENT 'Wiki즐겨찾기ID' ; +ALTER TABLE `COMTNWIKIBKMK` CHANGE `WIKI_BKMK_NM` `WIKI_BKMK_NM` varchar(1000) NOT NULL COMMENT 'Wiki북마크명' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `ATCH_FILE_ID` `ATCH_FILE_ID` char(20) DEFAULT NULL COMMENT '첨부파일ID' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `CONFM_DT` `CONFM_DT` varchar(14) DEFAULT NULL COMMENT '승인일시' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `NEXTWIK_REPORT_CN` `NEXTWIK_REPORT_CN` mediumtext NOT NULL COMMENT '차주보고내용' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `PARTCLR_MATTER` `PARTCLR_MATTER` varchar(2500) DEFAULT NULL COMMENT '특이사항' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `REPORT_BGNDE` `REPORT_BGNDE` char(20) NOT NULL COMMENT '보고시작일' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `REPORT_DE` `REPORT_DE` char(20) NOT NULL COMMENT '보고일' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `REPORT_ENDDE` `REPORT_ENDDE` char(20) NOT NULL COMMENT '보고종료일' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `REPORTR_ID` `REPORTR_ID` varchar(20) NOT NULL COMMENT '보고자ID' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `REPRT_ID` `REPRT_ID` char(6) NOT NULL COMMENT '보고서ID' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `REPRT_SE` `REPRT_SE` char(1) NOT NULL COMMENT '보고서구분' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `REPRT_SJ` `REPRT_SJ` varchar(255) NOT NULL COMMENT '보고서제목' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `THSWIK_REPORT_CN` `THSWIK_REPORT_CN` mediumtext NOT NULL COMMENT '금주보고내용' ; +ALTER TABLE `COMTNWIKMNTHNGREPRT` CHANGE `WRTER_ID` `WRTER_ID` varchar(20) NOT NULL COMMENT '작성자ID' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `ENG_NM` `ENG_NM` varchar(60) DEFAULT NULL COMMENT '영문명' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `SYNONM` `SYNONM` varchar(100) DEFAULT NULL COMMENT '동의어' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `WORD_DC` `WORD_DC` varchar(4000) DEFAULT NULL COMMENT '용어설명' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `WORD_ID` `WORD_ID` char(20) NOT NULL COMMENT '용어ID' ; +ALTER TABLE `COMTNWORDDICARYINFO` CHANGE `WORD_NM` `WORD_NM` varchar(255) DEFAULT NULL COMMENT '용어명' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `BDNBR_MNNM` `BDNBR_MNNM` varchar(5) DEFAULT NULL COMMENT '건물번호본번' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `BDNBR_SLNO` `BDNBR_SLNO` varchar(5) DEFAULT NULL COMMENT '건물번호부번' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `BULD_NM` `BULD_NM` varchar(60) DEFAULT NULL COMMENT '건물명' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `CTPRVN_NM` `CTPRVN_NM` varchar(20) DEFAULT NULL COMMENT '시도명' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `DETAIL_BULD_NM` `DETAIL_BULD_NM` varchar(60) DEFAULT NULL COMMENT '상세건물명' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime DEFAULT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) DEFAULT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime DEFAULT NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) DEFAULT NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `RDMN_CODE` `RDMN_CODE` varchar(12) NOT NULL COMMENT '도로명코드' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `RDMN` `RDMN` varchar(60) DEFAULT NULL COMMENT '도로명' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `SIGNGU_NM` `SIGNGU_NM` varchar(20) DEFAULT NULL COMMENT '시군구명' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `SN` `SN` decimal(10,0) NOT NULL COMMENT '일련번호' ; +ALTER TABLE `COMTRDNMADRZIP` CHANGE `ZIP` `ZIP` varchar(6) NOT NULL COMMENT '우편번호' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `AVRG_RDCNT` `AVRG_RDCNT` decimal(10,0) DEFAULT NULL COMMENT '평균조회수' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `CREAT_CO` `CREAT_CO` decimal(10,0) DEFAULT NULL COMMENT '생성수' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `DETAIL_STATS_SE` `DETAIL_STATS_SE` varchar(10) NOT NULL DEFAULT '' COMMENT '세부통계구분' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `MUMM_INQIRE_BBSCTT_ID` `MUMM_INQIRE_BBSCTT_ID` varchar(20) DEFAULT NULL COMMENT '최소조회게시글ID' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(20) NOT NULL DEFAULT '' COMMENT '발생일' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `STATS_SE` `STATS_SE` varchar(10) NOT NULL DEFAULT '' COMMENT '통계구분' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `TOP_INQIRE_BBSCTT_ID` `TOP_INQIRE_BBSCTT_ID` varchar(20) DEFAULT NULL COMMENT '최고조회게시글ID' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `TOP_NTCR_ID` `TOP_NTCR_ID` varchar(20) DEFAULT NULL COMMENT '최고게시자ID' ; +ALTER TABLE `COMTSBBSSUMMARY` CHANGE `TOT_RDCNT` `TOT_RDCNT` decimal(10,0) DEFAULT NULL COMMENT '총조회수' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `CREAT_CO` `CREAT_CO` decimal(10,0) DEFAULT NULL COMMENT '생성수' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `DELETE_CO` `DELETE_CO` decimal(10,0) DEFAULT NULL COMMENT '삭제수' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `ERROR_CO` `ERROR_CO` decimal(10,0) DEFAULT NULL COMMENT '오류수' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `METHOD_NM` `METHOD_NM` varchar(60) NOT NULL COMMENT '메서드명' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(8) NOT NULL COMMENT '발생일' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `OUTPT_CO` `OUTPT_CO` decimal(10,0) DEFAULT NULL COMMENT '출력수' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `SVC_NM` `SVC_NM` varchar(255) NOT NULL COMMENT '서비스명' ; +ALTER TABLE `COMTSSYSLOGSUMMARY` CHANGE `UPDT_CO` `UPDT_CO` decimal(10,0) DEFAULT NULL COMMENT '수정수' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `ERROR_CO` `ERROR_CO` decimal(10,0) DEFAULT NULL COMMENT '오류수' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(20) NOT NULL DEFAULT '' COMMENT '발생일' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `PROVD_INSTT_ID` `PROVD_INSTT_ID` char(8) NOT NULL DEFAULT '' COMMENT '제공기관ID' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `PROVD_SVC_ID` `PROVD_SVC_ID` char(8) NOT NULL DEFAULT '' COMMENT '제공서비스ID' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `PROVD_SYS_ID` `PROVD_SYS_ID` char(8) NOT NULL DEFAULT '' COMMENT '제공시스템ID' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `REQUST_INSTT_ID` `REQUST_INSTT_ID` char(8) NOT NULL DEFAULT '' COMMENT '요청기관ID' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `REQUST_SYS_ID` `REQUST_SYS_ID` char(8) NOT NULL DEFAULT '' COMMENT '요청시스템ID' ; +ALTER TABLE `COMTSTRSMRCVLOGSUMMARY` CHANGE `TRSMRCV_SE_CODE` `TRSMRCV_SE_CODE` char(3) NOT NULL DEFAULT '' COMMENT '송수신구분코드' ; +ALTER TABLE `COMTSUSERSUMMARY` CHANGE `DETAIL_STATS_SE` `DETAIL_STATS_SE` varchar(10) NOT NULL DEFAULT '' COMMENT '세부통계구분' ; +ALTER TABLE `COMTSUSERSUMMARY` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(20) NOT NULL DEFAULT '' COMMENT '발생일' ; +ALTER TABLE `COMTSUSERSUMMARY` CHANGE `STATS_SE` `STATS_SE` varchar(10) NOT NULL DEFAULT '' COMMENT '통계구분' ; +ALTER TABLE `COMTSUSERSUMMARY` CHANGE `USER_CO` `USER_CO` decimal(10,0) DEFAULT NULL COMMENT '사용자수' ; +ALTER TABLE `COMTSWEBLOGSUMMARY` CHANGE `OCCRRNC_DE` `OCCRRNC_DE` char(8) NOT NULL DEFAULT '' COMMENT '발생일' ; +ALTER TABLE `COMTSWEBLOGSUMMARY` CHANGE `RDCNT` `RDCNT` decimal(10,0) DEFAULT NULL COMMENT '조회수' ; +ALTER TABLE `COMTSWEBLOGSUMMARY` CHANGE `URL` `URL` varchar(200) NOT NULL DEFAULT '' COMMENT 'URL' ; +ALTER TABLE `IDS` CHANGE `IDGEN_NEXT_ID` `IDGEN_NEXT_ID` decimal(30,0) NOT NULL COMMENT 'IDGEN다음ID' ; +ALTER TABLE `IDS` CHANGE `IDGEN_TABLE_NM` `IDGEN_TABLE_NM` varchar(20) NOT NULL COMMENT 'IDGEN테이블명' ; +ALTER TABLE `IMGTEMP` CHANGE `ERNCSL_SE` `ERNCSL_SE` varchar(2) NOT NULL COMMENT '전자관인구분' ; +ALTER TABLE `IMGTEMP` CHANGE `IMAGE_INFO` `IMAGE_INFO` blob NOT NULL COMMENT '이미지정보' ; +ALTER TABLE `IMGTEMP` CHANGE `IMAGE_TY` `IMAGE_TY` varchar(20) DEFAULT NULL COMMENT '이미지유형' ; +ALTER TABLE `IMGTEMP` CHANGE `ORGNZT_CODE` `ORGNZT_CODE` varchar(10) NOT NULL COMMENT '조직코드' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `DELETE_YN` `DELETE_YN` varchar(1) DEFAULT NULL COMMENT '삭제 구분' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `DOWNLOAD_COUNT` `DOWNLOAD_COUNT` int(11) DEFAULT NULL COMMENT '다운로드 횟수' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `DOWNLOAD_EXPIRE_DATE` `DOWNLOAD_EXPIRE_DATE` varchar(8) DEFAULT NULL COMMENT '다운로드 만료일' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `DOWNLOAD_LIMIT_COUNT` `DOWNLOAD_LIMIT_COUNT` int(11) DEFAULT NULL COMMENT '다운로드 제한 횟수' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `FILE_ID` `FILE_ID` varchar(13) NOT NULL COMMENT '파일 아이디' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `FILE_MASK` `FILE_MASK` varchar(100) DEFAULT NULL COMMENT '파일 마스크' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `FILE_NAME` `FILE_NAME` varchar(100) NOT NULL COMMENT '파일명' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `FILE_SEQ` `FILE_SEQ` int(11) NOT NULL COMMENT '파일 순번' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `FILE_SIZE` `FILE_SIZE` int(11) DEFAULT NULL COMMENT '파일 사이즈' ; +ALTER TABLE `J_ATTACHFILE` CHANGE `REG_DATE` `REG_DATE` datetime DEFAULT NULL COMMENT '등록일' ; +ALTER TABLE `COMTNBLOG` CHANGE `BBS_ID` `BBS_ID` char(20) DEFAULT NULL COMMENT '게시판 ID' ; +ALTER TABLE `COMTNBLOG` CHANGE `BLOG_AT` `BLOG_AT` char(2) DEFAULT NULL COMMENT '블로그 여부' ; +ALTER TABLE `COMTNBLOG` CHANGE `BLOG_ID` `BLOG_ID` char(20) NOT NULL COMMENT '블로그 ID' ; +ALTER TABLE `COMTNBLOG` CHANGE `BLOG_INTRCN` `BLOG_INTRCN` varchar(2400) NULL COMMENT '블로그 소개' ; +ALTER TABLE `COMTNBLOG` CHANGE `BLOG_NM` `BLOG_NM` varchar(255) NOT NULL COMMENT '블로그 명' ; +ALTER TABLE `COMTNBLOG` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자ID' ; +ALTER TABLE `COMTNBLOG` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBLOG` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBLOG` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) NULL COMMENT '최종수정자ID' ; +ALTER TABLE `COMTNBLOG` CHANGE `REGIST_SE_CODE` `REGIST_SE_CODE` char(6) NULL COMMENT '등록구분코드' ; +ALTER TABLE `COMTNBLOG` CHANGE `TMPLAT_ID` `TMPLAT_ID` char(20) NULL COMMENT '템플릿 ID' ; +ALTER TABLE `COMTNBLOG` CHANGE `USE_AT` `USE_AT` char(1) NOT NULL COMMENT '사용여부' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `BLOG_ID` `BLOG_ID` char(20) NOT NULL COMMENT '블로그 ID' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `EMPLYR_ID` `EMPLYR_ID` varchar(20) NOT NULL COMMENT '업무사용자ID' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `FRST_REGISTER_ID` `FRST_REGISTER_ID` varchar(20) NOT NULL COMMENT '최초등록자 ID' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `FRST_REGIST_PNTTM` `FRST_REGIST_PNTTM` datetime NOT NULL COMMENT '최초등록시점' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `LAST_UPDT_PNTTM` `LAST_UPDT_PNTTM` datetime NULL COMMENT '최종수정시점' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `LAST_UPDUSR_ID` `LAST_UPDUSR_ID` varchar(20) NULL COMMENT '최종수정자 ID' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `MBER_STTUS` `MBER_STTUS` varchar(15) NULL COMMENT '회원상태' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `MNGR_AT` `MNGR_AT` char(1) NOT NULL COMMENT '관리자여부' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `SBSCRB_DE` `SBSCRB_DE` datetime NULL COMMENT '가입일자' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `SECSN_DE` `SECSN_DE` char(2) NULL COMMENT '탈퇴일' ; +ALTER TABLE `COMTNBLOGUSER` CHANGE `USE_AT` `USE_AT` char(1) NULL COMMENT '사용여부' ; \ No newline at end of file Index: base3.10/script/comment/postgres/egov_postgres_comment.sql =================================================================== --- base3.10/script/comment/postgres/egov_postgres_comment.sql (nonexistent) +++ base3.10/script/comment/postgres/egov_postgres_comment.sql (revision 7) @@ -0,0 +1,5154 @@ +COMMENT ON TABLE COMTCADMINISTCODE IS '행정코드'; + + + +COMMENT ON COLUMN COMTCADMINISTCODE.ADMINIST_ZONE_SE IS '행정구역구분'; + +COMMENT ON COLUMN COMTCADMINISTCODE.ADMINIST_ZONE_CODE IS '행정구역코드'; + +COMMENT ON COLUMN COMTCADMINISTCODE.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTCADMINISTCODE.ADMINIST_ZONE_NM IS '행정구역명'; + +COMMENT ON COLUMN COMTCADMINISTCODE.UPPER_ADMINIST_ZONE_CODE IS '상위행정구역코드'; + +COMMENT ON COLUMN COMTCADMINISTCODE.CREAT_DE IS '생성일'; + +COMMENT ON COLUMN COMTCADMINISTCODE.ABL_DE IS '폐지일'; + +COMMENT ON COLUMN COMTCADMINISTCODE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTCADMINISTCODE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTCADMINISTCODE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTCADMINISTCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTCADMINISTCODERECPTNLOG IS '행정코드수신로그'; + + + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ADMINIST_ZONE_SE IS '행정구역구분'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ADMINIST_ZONE_CODE IS '행정구역코드'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.OPERT_SN IS '작업일련번호'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.CHANGE_SE_CODE IS '변경구분코드'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.PROCESS_SE IS '처리구분'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ADMINIST_ZONE_NM IS '행정구역명'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LOWEST_ADMINIST_ZONE_NM IS '최하위행정구역명'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.CTPRVN_CODE IS '시도코드'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.SIGNGU_CODE IS '시군구코드'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.EMD_CODE IS '읍면동코드'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LI_CODE IS '리코드'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.CREAT_DE IS '생성일'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ABL_DE IS '폐지일'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ABL_ENNC IS '폐지유무'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTCCMMNCLCODE IS '공통분류코드'; + + + +COMMENT ON COLUMN COMTCCMMNCLCODE.CL_CODE IS '분류코드'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.CL_CODE_NM IS '분류코드명'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.CL_CODE_DC IS '분류코드설명'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTCCMMNCODE IS '공통코드'; + + + +COMMENT ON COLUMN COMTCCMMNCODE.CODE_ID IS '코드ID'; + +COMMENT ON COLUMN COMTCCMMNCODE.CODE_ID_NM IS '코드ID명'; + +COMMENT ON COLUMN COMTCCMMNCODE.CODE_ID_DC IS '코드ID설명'; + +COMMENT ON COLUMN COMTCCMMNCODE.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTCCMMNCODE.CL_CODE IS '분류코드'; + +COMMENT ON COLUMN COMTCCMMNCODE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTCCMMNCODE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTCCMMNCODE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTCCMMNCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTCCMMNDETAILCODE IS '공통상세코드'; + + + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE_ID IS '코드ID'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE IS '코드'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE_NM IS '코드명'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE_DC IS '코드설명'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTCZIP IS '우편번호'; + + + +COMMENT ON COLUMN COMTCZIP.ZIP IS '우편번호'; + +COMMENT ON COLUMN COMTCZIP.SN IS '일련번호'; + +COMMENT ON COLUMN COMTCZIP.CTPRVN_NM IS '시도명'; + +COMMENT ON COLUMN COMTCZIP.SIGNGU_NM IS '시군구명'; + +COMMENT ON COLUMN COMTCZIP.EMD_NM IS '읍면동명'; + +COMMENT ON COLUMN COMTCZIP.LI_BULD_NM IS '리건물명'; + +COMMENT ON COLUMN COMTCZIP.LNBR_DONG_HO IS '번지동호'; + +COMMENT ON COLUMN COMTCZIP.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTCZIP.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTCZIP.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTCZIP.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTECOPSEQ IS 'COMTECOPSEQ'; + + + +COMMENT ON COLUMN COMTECOPSEQ.TABLE_NAME IS '테이블명'; + +COMMENT ON COLUMN COMTECOPSEQ.NEXT_ID IS '다음아이디'; + + + + +COMMENT ON TABLE COMTHCONFMHISTORY IS '승인이력'; + + + +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_NO IS '승인번호'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_RQESTER_ID IS '승인요청자ID'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFMER_ID IS '승인자ID'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_DE IS '승인일'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_TY_CODE IS '승인유형코드'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_STTUS_CODE IS '승인상태코드'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.OPERT_TY_CODE IS '작업유형코드'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.OPERT_ID IS '작업ID'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.TRGET_JOB_TY_CODE IS '대상업무유형코드'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.TRGET_JOB_ID IS '대상업무ID'; + + + + +COMMENT ON TABLE COMTHDBMNTRNGLOGINFO IS 'DB서비스모니터링로그정보'; + + + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.DATA_SOURC_NM IS '데이터소스명'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.SERVER_NM IS '서버명'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.DBMS_KND IS 'DBMS종류'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.CECK_SQL IS '체크SQL'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LOG_INFO IS '로그정보'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTHEMAILDSPTCHMANAGE IS '메일발신관리'; + + + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.MSSAGE_ID IS '메시지ID'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.EMAIL_CN IS '이메일내용'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.SNDR IS '발신자'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.RCVER IS '수신자'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.SJ IS '제목'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.SNDNG_RESULT_CODE IS '발송결과코드'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.DSPTCH_DT IS '발신일시'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.ATCH_FILE_ID IS '첨부파일ID'; + + + + +COMMENT ON TABLE COMTHEMPLYRINFOCHANGEDTLS IS '업무사용자정보변경내역'; + + + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.CHANGE_DE IS '변경일'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.GROUP_ID IS '그룹ID'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMPL_NO IS '사원번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.SEXDSTN_CODE IS '성별코드'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.BRTHDY IS '생일'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.FXNUM IS '팩스번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.HOUSE_ADRES IS '주택주소'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.HOUSE_END_TELNO IS '주택끝전화번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.DETAIL_ADRES IS '상세주소'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.ZIP IS '우편번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.OFFM_TELNO IS '사무실전화번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.MBTLNUM IS '이동전화번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMAIL_ADRES IS '이메일주소'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.HOUSE_MIDDLE_TELNO IS '주택중간전화번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.PSTINST_CODE IS '소속기관코드'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMPLYR_STTUS_CODE IS '사용자상태코드'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.ESNTL_ID IS '고유ID'; + + + + +COMMENT ON TABLE COMTHHTTPMONLOGINFO IS 'HTTP서비스모니터링로그정보'; + + + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.SYS_ID IS '시스템ID'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.SITE_URL IS '사이트URL'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.WEBSVC_KND IS '웹서비스종류'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.HTTP_STTUS_CODE IS 'HTTP상태코드'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LOG_INFO IS '로그정보'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTHPROGRMCHANGEDTLS IS '프로그램변경내역'; + + + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.PROGRM_FILE_NM IS '프로그램파일명'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.REQUST_NO IS '요청번호'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.RQESTER_ID IS '요청자ID'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.CHANGE_REQUST_CN IS '변경요청내용'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.REQUST_PROCESS_CN IS '요청처리내용'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.OPETR_ID IS '처리자ID'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.PROCESS_STTUS_CODE IS '처리상태코드'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.PROCESS_DE IS '처리일'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.RQESTDE IS '요청일'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.REQUST_SJ IS '요청제목'; + + + + +COMMENT ON TABLE COMTHSYSHIST IS '시스템이력'; + + + +COMMENT ON COLUMN COMTHSYSHIST.HIST_ID IS '이력ID'; + +COMMENT ON COLUMN COMTHSYSHIST.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTHSYSHIST.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTHSYSHIST.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTHSYSHIST.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTHSYSHIST.HIST_SE_CODE IS '이력구분코드'; + +COMMENT ON COLUMN COMTHSYSHIST.HIST_CN IS '이력내용'; + +COMMENT ON COLUMN COMTHSYSHIST.SYS_NM IS '시스템명'; + +COMMENT ON COLUMN COMTHSYSHIST.ATCH_FILE_ID IS '첨부파일ID'; + + + + +COMMENT ON TABLE COMTHTRSMRCVMNTRNGLOGINFO IS '송수신모니터링로그정보'; + + + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.CNTC_ID IS '연계ID'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.TEST_CLASS_NM IS '테스트클래스명'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LOG_INFO IS '로그정보'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNADBK IS '주소록'; + + + +COMMENT ON COLUMN COMTNADBK.ADBK_CONSTNT_ID IS '주소록구성원ID'; + +COMMENT ON COLUMN COMTNADBK.ADBK_ID IS '주소록ID'; + +COMMENT ON COLUMN COMTNADBK.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNADBK.NCRD_ID IS '명함ID'; + +COMMENT ON COLUMN COMTNADBK.NM IS '이름'; + +COMMENT ON COLUMN COMTNADBK.EMAIL_ADRES IS '이메일주소'; + +COMMENT ON COLUMN COMTNADBK.MBTLNUM IS '이동전화번호'; + +COMMENT ON COLUMN COMTNADBK.FXNUM IS '팩스번호'; + +COMMENT ON COLUMN COMTNADBK.OFFM_TELNO IS '사무실전화번호'; + +COMMENT ON COLUMN COMTNADBK.HOUSE_TELNO IS '주택전화번호'; + +COMMENT ON COLUMN COMTNADBK.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNADBK.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNADBK.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNADBK.FRST_REGISTER_ID IS '최초등록자ID'; + + + + +COMMENT ON TABLE COMTNADBKMANAGE IS '주소록관리'; + + + +COMMENT ON COLUMN COMTNADBKMANAGE.ADBK_ID IS '주소록ID'; + +COMMENT ON COLUMN COMTNADBKMANAGE.ADBK_NM IS '주소록명'; + +COMMENT ON COLUMN COMTNADBKMANAGE.OTHBC_SCOPE IS '공개범위'; + +COMMENT ON COLUMN COMTNADBKMANAGE.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNADBKMANAGE.WRTER_ID IS '작성자ID'; + +COMMENT ON COLUMN COMTNADBKMANAGE.TRGET_ORGNZT_ID IS '대상조직ID'; + +COMMENT ON COLUMN COMTNADBKMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNADBKMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNADBKMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNADBKMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNADMINISTRATIONWORD IS '행정용어사전관리'; + + + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_ID IS '행정용어ID'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_NM IS '행정용어명'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_ENG_NM IS '행정용어영문명'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_ABRV_NM IS '행정용어약어명'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.THEMA_RELM IS '주제영역'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.WORD_SE IS '용어구분'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.RELATE_STD_WORD IS '관계표준용어'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_DFN IS '행정용어정의'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_DC IS '행정용어설명'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNANNVRSRYMANAGE IS '기념일정보'; + + + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_ID IS '기념일ID'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.USER_ID IS '사용자ID'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_SE IS '기념일구분'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_NM IS '기념일명'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY IS '기념일'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.CLDR_SE IS '달력구분'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_NTCN_SETUP IS '알림설정'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_NTCN_BGNDE IS '알림시작일'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.MEMO IS '메모'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.REPTIT_AT IS '반복여부'; + + + + +COMMENT ON TABLE COMTNANSWER IS '댓글'; + + + +COMMENT ON COLUMN COMTNANSWER.NTT_ID IS '게시물ID'; + +COMMENT ON COLUMN COMTNANSWER.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNANSWER.ANSWER_NO IS '답글번호'; + +COMMENT ON COLUMN COMTNANSWER.WRTER_ID IS '작성자ID'; + +COMMENT ON COLUMN COMTNANSWER.ANSWER IS '댓글'; + +COMMENT ON COLUMN COMTNANSWER.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNANSWER.WRTER_NM IS '작성자명'; + +COMMENT ON COLUMN COMTNANSWER.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNANSWER.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNANSWER.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNANSWER.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNAUTHORGROUPINFO IS '권한그룹정보'; + + + +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_ID IS '그룹ID'; + +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_NM IS '그룹명'; + +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_CREAT_DE IS '그룹생성일'; + +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_DC IS '그룹설명'; + + + + +COMMENT ON TABLE COMTNAUTHORINFO IS '권한정보'; + + + +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_CODE IS '권한코드'; + +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_NM IS '권한명'; + +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_DC IS '권한설명'; + +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_CREAT_DE IS '권한생성일'; + + + + +COMMENT ON TABLE COMTNAUTHORROLERELATE IS '권한롤관계'; + + + +COMMENT ON COLUMN COMTNAUTHORROLERELATE.AUTHOR_CODE IS '권한코드'; + +COMMENT ON COLUMN COMTNAUTHORROLERELATE.ROLE_CODE IS '롤코드'; + +COMMENT ON COLUMN COMTNAUTHORROLERELATE.CREAT_DT IS '생성일시'; + + + + +COMMENT ON TABLE COMTNBACKUPOPERT IS '백업작업'; + + + +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_OPERT_ID IS '백업작업ID'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_OPERT_NM IS '백업작업명'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_ORGINL_DRCTRY IS '백업원본디렉토리'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_STRE_DRCTRY IS '백업저장디렉토리'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.CMPRS_SE IS '압축구분'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_CYCLE IS '실행주기'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_DE IS '실행일정일'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_HOUR IS '실행일정시'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_MNT IS '실행일정분'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_SECND IS '실행일정초'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNBACKUPRESULT IS '백업결과'; + + + +COMMENT ON COLUMN COMTNBACKUPRESULT.BACKUP_RESULT_ID IS '백업결과ID'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.BACKUP_OPERT_ID IS '백업작업ID'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.BACKUP_FILE IS '백업파일'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.STTUS IS '상태'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.ERROR_INFO IS '오류정보'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.EXECUT_BEGIN_TM IS '실행시작시각'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.EXECUT_END_TM IS '실행종료시각'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNBACKUPSCHDULDFK IS '백업스케줄요일'; + + + +COMMENT ON COLUMN COMTNBACKUPSCHDULDFK.BACKUP_OPERT_ID IS '백업작업ID'; + +COMMENT ON COLUMN COMTNBACKUPSCHDULDFK.EXECUT_SCHDUL_DFK_SE IS '실행일정요일구분'; + + + + +COMMENT ON TABLE COMTNBANNER IS '배너'; + + + +COMMENT ON COLUMN COMTNBANNER.BANNER_ID IS '배너ID'; + +COMMENT ON COLUMN COMTNBANNER.BANNER_NM IS '배너명'; + +COMMENT ON COLUMN COMTNBANNER.LINK_URL IS '링크URL'; + +COMMENT ON COLUMN COMTNBANNER.BANNER_IMAGE IS '배너이미지'; + +COMMENT ON COLUMN COMTNBANNER.BANNER_DC IS '배너설명'; + +COMMENT ON COLUMN COMTNBANNER.REFLCT_AT IS '반영여부'; + +COMMENT ON COLUMN COMTNBANNER.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBANNER.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBANNER.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBANNER.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBANNER.BANNER_IMAGE_FILE IS '배너이미지파일'; + +COMMENT ON COLUMN COMTNBANNER.SORT_ORDR IS '정렬순서'; + + + + +COMMENT ON TABLE COMTNBATCHOPERT IS '배치작업'; + + + +COMMENT ON COLUMN COMTNBATCHOPERT.BATCH_OPERT_ID IS '배치작업ID'; + +COMMENT ON COLUMN COMTNBATCHOPERT.BATCH_OPERT_NM IS '배치작업명'; + +COMMENT ON COLUMN COMTNBATCHOPERT.BATCH_PROGRM IS '배치프로그램'; + +COMMENT ON COLUMN COMTNBATCHOPERT.PARAMTR IS '파라미터'; + +COMMENT ON COLUMN COMTNBATCHOPERT.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNBATCHOPERT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBATCHOPERT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBATCHOPERT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBATCHOPERT.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNBATCHRESULT IS '배치결과'; + + + +COMMENT ON COLUMN COMTNBATCHRESULT.BATCH_RESULT_ID IS '배치결과ID'; + +COMMENT ON COLUMN COMTNBATCHRESULT.BATCH_SCHDUL_ID IS '배치일정ID'; + +COMMENT ON COLUMN COMTNBATCHRESULT.BATCH_OPERT_ID IS '배치작업ID'; + +COMMENT ON COLUMN COMTNBATCHRESULT.PARAMTR IS '파라미터'; + +COMMENT ON COLUMN COMTNBATCHRESULT.STTUS IS '상태'; + +COMMENT ON COLUMN COMTNBATCHRESULT.ERROR_INFO IS '오류정보'; + +COMMENT ON COLUMN COMTNBATCHRESULT.EXECUT_BEGIN_TM IS '실행시작시각'; + +COMMENT ON COLUMN COMTNBATCHRESULT.EXECUT_END_TM IS '실행종료시각'; + +COMMENT ON COLUMN COMTNBATCHRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBATCHRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBATCHRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBATCHRESULT.FRST_REGISTER_ID IS '최초등록자ID'; + + + + +COMMENT ON TABLE COMTNBATCHSCHDUL IS '배치스케줄'; + + + +COMMENT ON COLUMN COMTNBATCHSCHDUL.BATCH_SCHDUL_ID IS '배치일정ID'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.BATCH_OPERT_ID IS '배치작업ID'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_CYCLE IS '실행주기'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_DE IS '실행일정일'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_HOUR IS '실행일정시'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_MNT IS '실행일정분'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_SECND IS '실행일정초'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNBATCHSCHDULDFK IS '배치스케줄요일'; + + + +COMMENT ON COLUMN COMTNBATCHSCHDULDFK.BATCH_SCHDUL_ID IS '배치일정ID'; + +COMMENT ON COLUMN COMTNBATCHSCHDULDFK.EXECUT_SCHDUL_DFK_SE IS '실행일정요일구분'; + + + + +COMMENT ON TABLE COMTNBBS IS '게시판'; + + + +COMMENT ON COLUMN COMTNBBS.NTT_ID IS '게시물ID'; + +COMMENT ON COLUMN COMTNBBS.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNBBS.NTT_NO IS '게시물번호'; + +COMMENT ON COLUMN COMTNBBS.NTT_SJ IS '게시물제목'; + +COMMENT ON COLUMN COMTNBBS.NTT_CN IS '게시물내용'; + +COMMENT ON COLUMN COMTNBBS.ANSWER_AT IS '댓글여부'; + +COMMENT ON COLUMN COMTNBBS.PARNTSCTT_NO IS '부모글번호'; + +COMMENT ON COLUMN COMTNBBS.ANSWER_LC IS '댓글위치'; + +COMMENT ON COLUMN COMTNBBS.SORT_ORDR IS '정렬순서'; + +COMMENT ON COLUMN COMTNBBS.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNBBS.RDCNT IS '조회수'; + +COMMENT ON COLUMN COMTNBBS.NTCE_BGNDE IS '게시시작일'; + +COMMENT ON COLUMN COMTNBBS.NTCE_ENDDE IS '게시종료일'; + +COMMENT ON COLUMN COMTNBBS.NTCR_ID IS '게시자ID'; + +COMMENT ON COLUMN COMTNBBS.NTCR_NM IS '게시자명'; + +COMMENT ON COLUMN COMTNBBS.PASSWORD IS '비밀번호'; + +COMMENT ON COLUMN COMTNBBS.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNBBS.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBBS.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBBS.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBBS.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBBS.BLOG_ID IS '블로그 ID'; + +COMMENT ON COLUMN COMTNBBS.NOTICE_AT IS '공지사항여부'; + +COMMENT ON COLUMN COMTNBBS.SECRET_AT IS '비밀글여부'; + +COMMENT ON COLUMN COMTNBBS.SJ_BOLD_AT IS '제목볼드여부'; + + + + + +COMMENT ON TABLE COMTNBBSMASTER IS '게시판마스터'; + + + +COMMENT ON COLUMN COMTNBBSMASTER.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNBBSMASTER.BBS_NM IS '게시판명'; + +COMMENT ON COLUMN COMTNBBSMASTER.BBS_INTRCN IS '게시판소개'; + +COMMENT ON COLUMN COMTNBBSMASTER.BBS_TY_CODE IS '게시판유형코드'; + +COMMENT ON COLUMN COMTNBBSMASTER.REPLY_POSBL_AT IS '답장가능여부'; + +COMMENT ON COLUMN COMTNBBSMASTER.FILE_ATCH_POSBL_AT IS '파일첨부가능여부'; + +COMMENT ON COLUMN COMTNBBSMASTER.ATCH_POSBL_FILE_NUMBER IS '첨부가능파일숫자'; + +COMMENT ON COLUMN COMTNBBSMASTER.ATCH_POSBL_FILE_SIZE IS '첨부가능파일사이즈'; + +COMMENT ON COLUMN COMTNBBSMASTER.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNBBSMASTER.TMPLAT_ID IS '템플릿ID'; + +COMMENT ON COLUMN COMTNBBSMASTER.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBBSMASTER.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBBSMASTER.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBBSMASTER.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBBSMASTER.BLOG_AT IS '블로그 여부'; + +COMMENT ON COLUMN COMTNBBSMASTER.BLOG_ID IS '블로그 ID'; + +COMMENT ON COLUMN COMTNBBSMASTER.CMMNTY_ID IS '커뮤니티ID'; + + + + + +COMMENT ON TABLE COMTNBBSMASTEROPTN IS '게시판마스터옵션'; + + + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.ANSWER_AT IS '댓글여부'; + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.STSFDG_AT IS '만족도여부'; + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNBBSUSE IS '게시판활용'; + + + +COMMENT ON COLUMN COMTNBBSUSE.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNBBSUSE.TRGET_ID IS '대상ID'; + +COMMENT ON COLUMN COMTNBBSUSE.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNBBSUSE.REGIST_SE_CODE IS '등록구분코드'; + +COMMENT ON COLUMN COMTNBBSUSE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBBSUSE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBBSUSE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBBSUSE.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNBKMKMENUMANAGERESULT IS '바로가기 메뉴 등록'; + + + +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.MENU_ID IS '메뉴ID'; + +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.MENU_NM IS '메뉴명'; + +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.PROGRM_STRE_PATH IS '프로그램저장경로'; + + + + +COMMENT ON TABLE COMTNBNDTCECKMANAGE IS '당직체크관리정보'; + + + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.BNDT_CECK_CODE IS '당직체크코드'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.BNDT_CECK_SE IS '당직체크구분'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.BNDT_CECK_CODE_NM IS '당직체크코드명'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNBNDTDIARY IS '당직관리'; + + + +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_ID IS '당직ID'; + +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_DE IS '당직일자'; + +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_CECK_SE IS '당직체크구분'; + +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_CECK_CODE IS '당직체크코드'; + +COMMENT ON COLUMN COMTNBNDTDIARY.CHCK_STTUS IS '점검상태'; + +COMMENT ON COLUMN COMTNBNDTDIARY.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBNDTDIARY.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBNDTDIARY.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBNDTDIARY.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNBNDTMANAGE IS '당직관리정보'; + + + +COMMENT ON COLUMN COMTNBNDTMANAGE.BNDT_ID IS '당직ID'; + +COMMENT ON COLUMN COMTNBNDTMANAGE.BNDT_DE IS '당직일자'; + +COMMENT ON COLUMN COMTNBNDTMANAGE.RM IS '비고'; + +COMMENT ON COLUMN COMTNBNDTMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBNDTMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBNDTMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBNDTMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNCLUB IS '동호회속성'; + + + +COMMENT ON COLUMN COMTNCLUB.CLB_ID IS '동호회ID'; + +COMMENT ON COLUMN COMTNCLUB.CMMNTY_ID IS '커뮤니티ID'; + +COMMENT ON COLUMN COMTNCLUB.CLB_NM IS '동호회명'; + +COMMENT ON COLUMN COMTNCLUB.CLB_INTRCN IS '동호회소개'; + +COMMENT ON COLUMN COMTNCLUB.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNCLUB.REGIST_SE_CODE IS '등록구분코드'; + +COMMENT ON COLUMN COMTNCLUB.TMPLAT_ID IS '템플릿ID'; + +COMMENT ON COLUMN COMTNCLUB.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCLUB.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCLUB.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCLUB.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNCLUBUSER IS '동호회사용자'; + + + +COMMENT ON COLUMN COMTNCLUBUSER.CLB_ID IS '동호회ID'; + +COMMENT ON COLUMN COMTNCLUBUSER.CMMNTY_ID IS '커뮤니티ID'; + +COMMENT ON COLUMN COMTNCLUBUSER.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNCLUBUSER.OPRTR_AT IS '운영인여부'; + +COMMENT ON COLUMN COMTNCLUBUSER.SBSCRB_DE IS '가입일자'; + +COMMENT ON COLUMN COMTNCLUBUSER.SECSN_DE IS '탈퇴일'; + +COMMENT ON COLUMN COMTNCLUBUSER.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNCLUBUSER.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCLUBUSER.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCLUBUSER.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCLUBUSER.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNCMMNTY IS '커뮤니티 속성'; + + + +COMMENT ON COLUMN COMTNCMMNTY.CMMNTY_ID IS '커뮤니티ID'; + +COMMENT ON COLUMN COMTNCMMNTY.CMMNTY_NM IS '커뮤니티명'; + +COMMENT ON COLUMN COMTNCMMNTY.CMMNTY_INTRCN IS '커뮤니티소개'; + +COMMENT ON COLUMN COMTNCMMNTY.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNCMMNTY.REGIST_SE_CODE IS '등록구분코드'; + +COMMENT ON COLUMN COMTNCMMNTY.TMPLAT_ID IS '템플릿ID'; + +COMMENT ON COLUMN COMTNCMMNTY.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCMMNTY.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCMMNTY.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCMMNTY.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNCMMNTYUSER IS '커뮤니티사용자'; + + + +COMMENT ON COLUMN COMTNCMMNTYUSER.CMMNTY_ID IS '커뮤니티ID'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.MNGR_AT IS '관리자여부'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.SBSCRB_DE IS '가입일자'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.SECSN_DE IS '탈퇴일'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.MBER_STTUS IS '회원 상태'; + + + + +COMMENT ON TABLE COMTNCNSLTLIST IS '상담내역'; + + + +COMMENT ON COLUMN COMTNCNSLTLIST.CNSLT_ID IS '상담ID'; + +COMMENT ON COLUMN COMTNCNSLTLIST.CNSLT_SJ IS '상담제목'; + +COMMENT ON COLUMN COMTNCNSLTLIST.OTHBC_AT IS '공개여부'; + +COMMENT ON COLUMN COMTNCNSLTLIST.EMAIL_ADRES IS '이메일주소'; + +COMMENT ON COLUMN COMTNCNSLTLIST.CNSLT_CN IS '상담내용'; + +COMMENT ON COLUMN COMTNCNSLTLIST.MANAGT_CN IS '조치내용'; + +COMMENT ON COLUMN COMTNCNSLTLIST.MANAGT_DE IS '조치일'; + +COMMENT ON COLUMN COMTNCNSLTLIST.RDCNT IS '조회수'; + +COMMENT ON COLUMN COMTNCNSLTLIST.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNCNSLTLIST.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCNSLTLIST.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCNSLTLIST.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCNSLTLIST.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCNSLTLIST.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNCNSLTLIST.MIDDLE_TELNO IS '중간전화번호'; + +COMMENT ON COLUMN COMTNCNSLTLIST.END_TELNO IS '끝전화번호'; + +COMMENT ON COLUMN COMTNCNSLTLIST.FRST_MBTLNUM IS '처음휴대폰번호'; + +COMMENT ON COLUMN COMTNCNSLTLIST.MIDDLE_MBTLNUM IS '중간이동전화번호'; + +COMMENT ON COLUMN COMTNCNSLTLIST.END_MBTLNUM IS '끝이동전화번호'; + +COMMENT ON COLUMN COMTNCNSLTLIST.WRITNG_DE IS '작성일'; + +COMMENT ON COLUMN COMTNCNSLTLIST.WRTER_NM IS '작성자명'; + +COMMENT ON COLUMN COMTNCNSLTLIST.EMAIL_ANSWER_AT IS '메일답변여부'; + +COMMENT ON COLUMN COMTNCNSLTLIST.QNA_PROCESS_STTUS_CODE IS '질의응답처리상태코드'; + +COMMENT ON COLUMN COMTNCNSLTLIST.WRITNG_PASSWORD IS '작성비밀번호'; + + + + +COMMENT ON TABLE COMTNCNTCINSTT IS '연계기관'; + + + +COMMENT ON COLUMN COMTNCNTCINSTT.INSTT_ID IS '기관ID'; + +COMMENT ON COLUMN COMTNCNTCINSTT.INSTT_NM IS '기관명'; + +COMMENT ON COLUMN COMTNCNTCINSTT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCNTCINSTT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCNTCINSTT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCNTCINSTT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCNTCINSTT.USE_AT IS '사용여부'; + + + + +COMMENT ON TABLE COMTNCNTCMESSAGE IS '연계메시지'; + + + +COMMENT ON COLUMN COMTNCNTCMESSAGE.CNTC_MSSAGE_ID IS '연계메시지ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.CNTC_MSSAGE_NM IS '연계메시지명'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.UPPER_CNTC_MSSAGE_ID IS '상위연계메시지ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.USE_AT IS '사용여부'; + + + + +COMMENT ON TABLE COMTNCNTCMESSAGEITEM IS '연계메시지항목'; + + + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.CNTC_MSSAGE_ID IS '연계메시지ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_ID IS '항목ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_NM IS '항목명'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_TY IS '항목유형'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_LT IS '항목길이'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNCNTCSERVICE IS '연계서비스'; + + + +COMMENT ON COLUMN COMTNCNTCSERVICE.INSTT_ID IS '기관ID'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.SYS_ID IS '시스템ID'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.SVC_ID IS '서비스ID'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.SVC_NM IS '서비스명'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.REQUST_MSSAGE_ID IS '요청메시지ID'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.RSPNS_MSSAGE_ID IS '응답메시지ID'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.USE_AT IS '사용여부'; + + + + +COMMENT ON TABLE COMTNCNTCSYSTEM IS '연계시스템'; + + + +COMMENT ON COLUMN COMTNCNTCSYSTEM.INSTT_ID IS '기관ID'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.SYS_ID IS '시스템ID'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.SYS_NM IS '시스템명'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.SYS_IP IS '시스템IP'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.USE_AT IS '사용여부'; + + + + +COMMENT ON TABLE COMTNCNTNTSLIST IS '컨텐츠목록'; + + + +COMMENT ON COLUMN COMTNCNTNTSLIST.CNTNTS_ID IS '컨텐츠ID'; + +COMMENT ON COLUMN COMTNCNTNTSLIST.EMPLYR_ID IS '업무사용자ID'; + + + + +COMMENT ON TABLE COMTNCOMMENT IS '댓글'; + + + +COMMENT ON COLUMN COMTNCOMMENT.NTT_ID IS '게시물ID'; + +COMMENT ON COLUMN COMTNCOMMENT.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNCOMMENT.ANSWER_NO IS '댓글번호'; + +COMMENT ON COLUMN COMTNCOMMENT.WRTER_ID IS '작성자ID'; + +COMMENT ON COLUMN COMTNCOMMENT.WRTER_NM IS '작성자명'; + +COMMENT ON COLUMN COMTNCOMMENT.ANSWER IS '댓글'; + +COMMENT ON COLUMN COMTNCOMMENT.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNCOMMENT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCOMMENT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCOMMENT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCOMMENT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCOMMENT.PASSWORD IS '비밀번호'; + + + + +COMMENT ON TABLE COMTNCOMMUTE IS '출퇴근관리'; + + + +COMMENT ON COLUMN COMTNCOMMUTE.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNCOMMUTE.WRKT_DT IS '출근날짜'; + +COMMENT ON COLUMN COMTNCOMMUTE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCOMMUTE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCOMMUTE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCOMMUTE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCOMMUTE.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTNCOMMUTE.OVTMWRK_HOURS IS '초과근무시간'; + +COMMENT ON COLUMN COMTNCOMMUTE.RM IS '비고'; + +COMMENT ON COLUMN COMTNCOMMUTE.WRKTM_ID IS '출퇴근 구분 ID'; + +COMMENT ON COLUMN COMTNCOMMUTE.WRK_END_STATUS IS '퇴근상태'; + +COMMENT ON COLUMN COMTNCOMMUTE.WRK_END_TIME IS '퇴근시간'; + +COMMENT ON COLUMN COMTNCOMMUTE.WRK_HOURS IS '근무시간'; + +COMMENT ON COLUMN COMTNCOMMUTE.WRK_START_STATUS IS '출근상태'; + +COMMENT ON COLUMN COMTNCOMMUTE.WRK_START_TIME IS '출근시간'; + + + + +COMMENT ON TABLE COMTNCPYRHTINFO IS '저작권정보'; + + + +COMMENT ON COLUMN COMTNCPYRHTINFO.CPYRHT_ID IS '저작권ID'; + +COMMENT ON COLUMN COMTNCPYRHTINFO.CPYRHT_PRTC_POLICY_CN IS '저작권보호정책내용'; + +COMMENT ON COLUMN COMTNCPYRHTINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCPYRHTINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCPYRHTINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCPYRHTINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNCTSNNMANAGE IS '경조사정보'; + + + +COMMENT ON COLUMN COMTNCTSNNMANAGE.CTSNN_ID IS '경조ID'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.USER_ID IS '사용자ID'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.CTSNN_CODE IS '경조코드'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.REQST_DE IS '신청일'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.CTSNN_NM IS '경조명'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.TRGTER_NM IS '대상자명'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.BRTHDY IS '생일'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.RELATE IS '관계'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.RM IS '비고'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.SANCTNER_ID IS '결재자ID'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.CONFM_AT IS '승인여부'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.SANCTN_DT IS '결재일시'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.RETURN_RESN IS '반환사유'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.INFRML_SANCTN_ID IS '약식결재ID'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNDAMCALRES IS '지식정보요청제공'; + + + +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_ID IS '지식ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.EXPERT_ID IS '전문가ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_TY_CODE IS '지식유형코드'; + +COMMENT ON COLUMN COMTNDAMCALRES.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_NM IS '지식명'; + +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_CN IS '지식내용'; + +COMMENT ON COLUMN COMTNDAMCALRES.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.PARNTS_KNWLDG_ID IS '부모지식ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.ANSWER_DP IS '답변깊이'; + +COMMENT ON COLUMN COMTNDAMCALRES.ANSWER_ORDR IS '답변순서'; + +COMMENT ON COLUMN COMTNDAMCALRES.ANSWER_GROUP_NO IS '답변그룹번호'; + +COMMENT ON COLUMN COMTNDAMCALRES.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDAMCALRES.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNDAMKNOIFM IS '지식정보'; + + + +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_ID IS '지식ID'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_TY_CODE IS '지식유형코드'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.EXPERT_ID IS '전문가ID'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_NM IS '지식명'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_CN IS '지식내용'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.KWRD IS '키워드'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.OTHBC_AT IS '공개여부'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_EVL IS '지식평가'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.COLCT_DE IS '수집일자'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.EVL_DE IS '평가일자'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.DSUSE_DE IS '폐기일'; + + + + +COMMENT ON TABLE COMTNDAMMAPKNO IS '지식맵(유형별)'; + + + +COMMENT ON COLUMN COMTNDAMMAPKNO.KNWLDG_TY_CODE IS '지식유형코드'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.EXPERT_ID IS '전문가ID'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.KNWLDG_TY_NM IS '지식유형명'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.CL_DE IS '분류일'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.KNWLDG_URL IS '지식URL'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNDAMMAPTEAM IS '지식맵(조직별)'; + + + +COMMENT ON COLUMN COMTNDAMMAPTEAM.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTNDAMMAPTEAM.ORGNZT_NM IS '조직명'; + +COMMENT ON COLUMN COMTNDAMMAPTEAM.CL_DE IS '분류일'; + +COMMENT ON COLUMN COMTNDAMMAPTEAM.KNWLDG_URL IS '지식URL'; + +COMMENT ON COLUMN COMTNDAMMAPTEAM.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDAMMAPTEAM.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNDAMPRO IS '지식전문가'; + + + +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_ID IS '전문가ID'; + +COMMENT ON COLUMN COMTNDAMPRO.KNWLDG_TY_CODE IS '지식유형코드'; + +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_GRAD IS '전문가등급'; + +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_CONFM_DE IS '전문가승인일'; + +COMMENT ON COLUMN COMTNDAMPRO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDAMPRO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDAMPRO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDAMPRO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_DC IS '전문가설명'; + + + + +COMMENT ON TABLE COMTNDBMNTRNG IS 'DB서비스모니터링'; + + + +COMMENT ON COLUMN COMTNDBMNTRNG.DATA_SOURC_NM IS '데이터소스명'; + +COMMENT ON COLUMN COMTNDBMNTRNG.SERVER_NM IS '서버명'; + +COMMENT ON COLUMN COMTNDBMNTRNG.DBMS_KND IS 'DBMS종류'; + +COMMENT ON COLUMN COMTNDBMNTRNG.CECK_SQL IS '체크SQL'; + +COMMENT ON COLUMN COMTNDBMNTRNG.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTNDBMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNDBMNTRNG.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTNDBMNTRNG.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNDBMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDBMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDBMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDBMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNDEPTJOB IS '부서업무정보'; + + + +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOB_ID IS '부서업무ID'; + +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOBBX_ID IS '부서업무함ID'; + +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOB_NM IS '부서업무명'; + +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOB_CN IS '부서업무내용'; + +COMMENT ON COLUMN COMTNDEPTJOB.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNDEPTJOB.CHARGER_ID IS '담당자ID'; + +COMMENT ON COLUMN COMTNDEPTJOB.PRIORT IS '우선순위'; + +COMMENT ON COLUMN COMTNDEPTJOB.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDEPTJOB.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDEPTJOB.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDEPTJOB.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNDEPTJOBBX IS '부서업무함'; + + + +COMMENT ON COLUMN COMTNDEPTJOBBX.DEPT_JOBBX_ID IS '부서업무함ID'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.DEPT_JOBBX_NM IS '부서업무함명'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.DEPT_ID IS '부서ID'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.INDICT_ORDR IS '표시순서'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNDIARYINFO IS '일지정보'; + + + +COMMENT ON COLUMN COMTNDIARYINFO.SCHDUL_ID IS '일정ID'; + +COMMENT ON COLUMN COMTNDIARYINFO.DIARY_ID IS '일지ID'; + +COMMENT ON COLUMN COMTNDIARYINFO.DIARY_PROGRSRT IS '일지진척율'; + +COMMENT ON COLUMN COMTNDIARYINFO.DIARY_NM IS '일지명'; + +COMMENT ON COLUMN COMTNDIARYINFO.DRCT_MATTER IS '지시사항'; + +COMMENT ON COLUMN COMTNDIARYINFO.PARTCLR_MATTER IS '특이사항'; + +COMMENT ON COLUMN COMTNDIARYINFO.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNDIARYINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDIARYINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDIARYINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNDIARYINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNDTAUSESTATS IS '자료이용현황통계'; + + + +COMMENT ON COLUMN COMTNDTAUSESTATS.DTA_USE_STATS_ID IS '자료사용통계ID'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.NTT_ID IS '게시물ID'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.FILE_SN IS '파일순번'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNEMPLYRINFO IS '업무사용자정보'; + + + +COMMENT ON COLUMN COMTNEMPLYRINFO.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.USER_NM IS '사용자명'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.PASSWORD IS '비밀번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.EMPL_NO IS '사원번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.IHIDNUM IS '주민등록번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.SEXDSTN_CODE IS '성별코드'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.BRTHDY IS '생일'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.FXNUM IS '팩스번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.HOUSE_ADRES IS '주택주소'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.PASSWORD_HINT IS '비밀번호힌트'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.PASSWORD_CNSR IS '비밀번호정답'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.HOUSE_END_TELNO IS '주택끝전화번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.DETAIL_ADRES IS '상세주소'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.ZIP IS '우편번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.OFFM_TELNO IS '사무실전화번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.MBTLNUM IS '이동전화번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.EMAIL_ADRES IS '이메일주소'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.OFCPS_NM IS '직위명'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.HOUSE_MIDDLE_TELNO IS '주택중간전화번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.GROUP_ID IS '그룹ID'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.PSTINST_CODE IS '소속기관코드'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.EMPLYR_STTUS_CODE IS '사용자상태코드'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.ESNTL_ID IS '고유ID'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.CRTFC_DN_VALUE IS '인증DN값'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.SBSCRB_DE IS '가입일자'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.LOCK_AT IS '잠금여부'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.LOCK_CNT IS '잠금회수'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.LOCK_LAST_PNTTM IS '잠금최종시점'; + + + + +COMMENT ON TABLE COMTNEMPLYRSCRTYESTBS IS '사용자보안설정'; + + + +COMMENT ON COLUMN COMTNEMPLYRSCRTYESTBS.SCRTY_DTRMN_TRGET_ID IS '보안설정대상ID'; + +COMMENT ON COLUMN COMTNEMPLYRSCRTYESTBS.MBER_TY_CODE IS '회원유형코드'; + +COMMENT ON COLUMN COMTNEMPLYRSCRTYESTBS.AUTHOR_CODE IS '권한코드'; + + + + +COMMENT ON TABLE COMTNENTRPRSMBER IS '기업회원'; + + + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_ID IS '기업회원ID'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_SE_CODE IS '기업구분코드'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.BIZRNO IS '사업자등록번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.JURIRNO IS '법인등록번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.CMPNY_NM IS '회사명'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.CXFC IS '대표이사'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ZIP IS '우편번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ADRES IS '주소'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MIDDLE_TELNO IS '기업중간전화번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.FXNUM IS '팩스번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.INDUTY_CODE IS '업종코드'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.APPLCNT_NM IS '신청인명'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.APPLCNT_IHIDNUM IS '신청인주민등록번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.SBSCRB_DE IS '가입일자'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_STTUS IS '기업회원상태'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_PASSWORD IS '기업회원비밀번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_PASSWORD_HINT IS '기업회원비밀번호힌트'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_PASSWORD_CNSR IS '기업회원비밀번호정답'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.GROUP_ID IS '그룹ID'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.DETAIL_ADRES IS '상세주소'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_END_TELNO IS '기업끝전화번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.APPLCNT_EMAIL_ADRES IS '신청자이메일주소'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ESNTL_ID IS '고유ID'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.LOCK_AT IS '잠금여부'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.LOCK_CNT IS '잠금회수'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.LOCK_LAST_PNTTM IS '잠금최종시점'; + + + + +COMMENT ON TABLE COMTNEVENTATDRN IS '행사참석자'; + + + +COMMENT ON COLUMN COMTNEVENTATDRN.APPLCNT_ID IS '신청인ID'; + +COMMENT ON COLUMN COMTNEVENTATDRN.EVENT_ID IS '행사ID'; + +COMMENT ON COLUMN COMTNEVENTATDRN.REQST_DE IS '신청일'; + +COMMENT ON COLUMN COMTNEVENTATDRN.SANCTNER_ID IS '결재자ID'; + +COMMENT ON COLUMN COMTNEVENTATDRN.CONFM_AT IS '승인여부'; + +COMMENT ON COLUMN COMTNEVENTATDRN.SANCTN_DT IS '결재일시'; + +COMMENT ON COLUMN COMTNEVENTATDRN.RETURN_RESN IS '반환사유'; + +COMMENT ON COLUMN COMTNEVENTATDRN.INFRML_SANCTN_ID IS '약식결재ID'; + +COMMENT ON COLUMN COMTNEVENTATDRN.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNEVENTATDRN.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNEVENTATDRN.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNEVENTATDRN.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNEVENTINFO IS '행사/이벤트정보'; + + + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_ID IS '행사ID'; + +COMMENT ON COLUMN COMTNEVENTINFO.BSNS_YEAR IS '사업년도'; + +COMMENT ON COLUMN COMTNEVENTINFO.BSNS_CODE IS '사업코드'; + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_CN IS '행사내용'; + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_SVC_BGNDE IS '행사서비스시작일'; + +COMMENT ON COLUMN COMTNEVENTINFO.SVC_USE_NMPR_CO IS '서비스사용인원수'; + +COMMENT ON COLUMN COMTNEVENTINFO.CHARGER_NM IS '담당자명'; + +COMMENT ON COLUMN COMTNEVENTINFO.PRPARETG_CN IS '준비물내용'; + +COMMENT ON COLUMN COMTNEVENTINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNEVENTINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNEVENTINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNEVENTINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_SVC_ENDDE IS '행사서비스종료일'; + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_TY_CODE IS '행사유형코드'; + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_CONFM_AT IS '행사승인여부'; + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_CONFM_DE IS '행사승인날짜'; + + + + +COMMENT ON TABLE COMTNEVENTMANAGE IS '행사관리'; + + + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_ID IS '행사ID'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_SE IS '행사구분'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_NM IS '행사명'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_PURPS IS '행사목적'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_BGNDE IS '행사시작일'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_ENDDE IS '행사종료일'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_AUSPC_INSTT_NM IS '행사주최기관명'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_MNGT_INSTT_NM IS '행사주관기관명'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_PLACE IS '행사장소'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_CN IS '행사내용'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.CT_OCCRRNC_AT IS '비용발생여부'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.PARTCPT_CT IS '참가비용'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.REFRN_URL IS '참조URL'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.RCEPT_BGNDE IS '접수시작일'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.RCEPT_ENDDE IS '접수종료일'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.PSNCPA IS '정원'; + + + + +COMMENT ON TABLE COMTNEXTRLHRINFO IS '외부인사정보'; + + + +COMMENT ON COLUMN COMTNEXTRLHRINFO.EVENT_ID IS '행사ID'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.EXTRL_HR_ID IS '외부인사ID'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.SEXDSTN_CODE IS '성별코드'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.EXTRL_HR_NM IS '외부인사명'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.OCCP_TY_CODE IS '직업유형코드'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.PSITN_INSTT_NM IS '소속기관명'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.BRTHDY IS '생일'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.MIDDLE_TELNO IS '중간전화번호'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.END_TELNO IS '끝전화번호'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.EMAIL_ADRES IS '이메일주소'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNFAQINFO IS 'FAQ정보'; + + + +COMMENT ON COLUMN COMTNFAQINFO.FAQ_ID IS 'FAQID'; + +COMMENT ON COLUMN COMTNFAQINFO.QESTN_SJ IS '질문제목'; + +COMMENT ON COLUMN COMTNFAQINFO.QESTN_CN IS '질문내용'; + +COMMENT ON COLUMN COMTNFAQINFO.ANSWER_CN IS '답변내용'; + +COMMENT ON COLUMN COMTNFAQINFO.RDCNT IS '조회수'; + +COMMENT ON COLUMN COMTNFAQINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNFAQINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNFAQINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNFAQINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNFAQINFO.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNFAQINFO.QNA_PROCESS_STTUS_CODE IS '질의응답처리상태코드'; + + + + +COMMENT ON TABLE COMTNFILE IS '파일속성'; + + + +COMMENT ON COLUMN COMTNFILE.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNFILE.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNFILE.USE_AT IS '사용여부'; + + + + +COMMENT ON TABLE COMTNFILEDETAIL IS '파일상세정보'; + + + +COMMENT ON COLUMN COMTNFILEDETAIL.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_SN IS '파일순번'; + +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_STRE_COURS IS '파일저장경로'; + +COMMENT ON COLUMN COMTNFILEDETAIL.STRE_FILE_NM IS '저장파일명'; + +COMMENT ON COLUMN COMTNFILEDETAIL.ORIGNL_FILE_NM IS '원파일명'; + +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_EXTSN IS '파일확장자'; + +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_CN IS '파일내용'; + +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_SIZE IS '파일크기'; + + + + +COMMENT ON TABLE COMTNFILESYSMNTRNG IS '파일시스템모니터링'; + + + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_ID IS '파일시스템ID'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_NM IS '파일시스템명'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_MANAGE_NM IS '파일시스템관리명'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_SIZE IS '파일시스템크기'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_THRHLD IS '파일시스템임계치'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_USGQTY IS '파일시스템사용량'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNFILESYSMNTRNGLOGINFO IS '파일시스템모니터링로그정보'; + + + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_ID IS '파일시스템ID'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_NM IS '파일시스템명'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_MANAGE_NM IS '파일시스템관리명'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_SIZE IS '파일시스템크기'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_THRHLD IS '파일시스템임계치'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_USGQTY IS '파일시스템사용량'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LOG_INFO IS '로그정보'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNFXTRSMANAGE IS 'COMTNFXTRSMANAGE'; + + + +COMMENT ON COLUMN COMTNFXTRSMANAGE.FXTRS_CODE IS '비품코드'; + +COMMENT ON COLUMN COMTNFXTRSMANAGE.FXTRS_NM IS '비품명'; + +COMMENT ON COLUMN COMTNFXTRSMANAGE.MAKR_NM IS '제작자명'; + +COMMENT ON COLUMN COMTNFXTRSMANAGE.PRICE IS '가격'; + + + + +COMMENT ON TABLE COMTNGNRLMBER IS '일반회원'; + + + +COMMENT ON COLUMN COMTNGNRLMBER.MBER_ID IS '회원ID'; + +COMMENT ON COLUMN COMTNGNRLMBER.PASSWORD IS '비밀번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.PASSWORD_HINT IS '비밀번호힌트'; + +COMMENT ON COLUMN COMTNGNRLMBER.PASSWORD_CNSR IS '비밀번호정답'; + +COMMENT ON COLUMN COMTNGNRLMBER.IHIDNUM IS '주민등록번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.MBER_NM IS '회원명'; + +COMMENT ON COLUMN COMTNGNRLMBER.ZIP IS '우편번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.ADRES IS '주소'; + +COMMENT ON COLUMN COMTNGNRLMBER.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.MBER_STTUS IS '회원상태'; + +COMMENT ON COLUMN COMTNGNRLMBER.DETAIL_ADRES IS '상세주소'; + +COMMENT ON COLUMN COMTNGNRLMBER.END_TELNO IS '끝전화번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.MBTLNUM IS '이동전화번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.GROUP_ID IS '그룹ID'; + +COMMENT ON COLUMN COMTNGNRLMBER.MBER_FXNUM IS '회원팩스번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.MBER_EMAIL_ADRES IS '회원이메일주소'; + +COMMENT ON COLUMN COMTNGNRLMBER.MIDDLE_TELNO IS '중간전화번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.SBSCRB_DE IS '가입일자'; + +COMMENT ON COLUMN COMTNGNRLMBER.SEXDSTN_CODE IS '성별코드'; + +COMMENT ON COLUMN COMTNGNRLMBER.ESNTL_ID IS '고유ID'; + +COMMENT ON COLUMN COMTNGNRLMBER.LOCK_AT IS '잠금여부'; + +COMMENT ON COLUMN COMTNGNRLMBER.LOCK_CNT IS '잠금회수'; + +COMMENT ON COLUMN COMTNGNRLMBER.LOCK_LAST_PNTTM IS '잠금최종시점'; + + + + +COMMENT ON TABLE COMTNHPCMINFO IS '도움말정보'; + + + +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_ID IS '도움말ID'; + +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_SE_CODE IS '도움말구분코드'; + +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_DFN IS '도움말정의'; + +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_DC IS '도움말설명'; + +COMMENT ON COLUMN COMTNHPCMINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNHPCMINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNHPCMINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNHPCMINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNHTTPMON IS 'HTTP서비스모니터링'; + + + +COMMENT ON COLUMN COMTNHTTPMON.SYS_ID IS '시스템ID'; + +COMMENT ON COLUMN COMTNHTTPMON.SITE_URL IS '사이트URL'; + +COMMENT ON COLUMN COMTNHTTPMON.WEBSVC_KND IS '웹서비스종류'; + +COMMENT ON COLUMN COMTNHTTPMON.HTTP_STTUS_CODE IS 'HTTP상태코드'; + +COMMENT ON COLUMN COMTNHTTPMON.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNHTTPMON.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTNHTTPMON.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNHTTPMON.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNHTTPMON.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNHTTPMON.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNHTTPMON.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNINDVDLINFOPOLICY IS '개인정보정책확인'; + + + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_ID IS '개인정보정책ID'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_CN IS '개인정보정책내용'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_AGRE_AT IS '개인정보정책동의여부'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_NM IS '개인정보정책명'; + + + + +COMMENT ON TABLE COMTNINDVDLPGECNTNTS IS '마이페이지 컨텐츠'; + + + +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_ID IS '컨텐츠ID'; + +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_NM IS '컨텐츠명'; + +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTC_URL IS '연계URL'; + +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_USE_AT IS '컨텐츠사용여부'; + +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_LINK_URL IS '컨텐츠링크URL'; + +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_DC IS '컨텐츠설명'; + + + + +COMMENT ON TABLE COMTNINDVDLPGEESTBS IS '마이페이지 설정'; + + + +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.UPEND_IMAGE IS '상단이미지'; + +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.TITLEBAR_COLOR IS '타이틀바색상'; + +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.ALGN_MTHD IS '배열방식'; + +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.ALGN_CO IS '배열개수'; + + + + +COMMENT ON TABLE COMTNINDVDLYRYCMANAGE IS '개인별연차관리'; + + + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.OCCRRNC_YEAR IS '발생년도'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.USER_ID IS '사용자ID'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.YRYC_OCCRRNC_CO IS '연차발생개수'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.USE_YRYC_CO IS '사용연차개수'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.REMNDR_YRYC_CO IS '잔여연차개수'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNINFRMLSANCTN IS '약식결재정보'; + + + +COMMENT ON COLUMN COMTNINFRMLSANCTN.INFRML_SANCTN_ID IS '약식결재ID'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.JOB_SE_CODE IS '업무구분코드'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.APPLCNT_ID IS '신청인ID'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.REQST_DE IS '신청일'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.SANCTNER_ID IS '결재자ID'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.CONFM_AT IS '승인여부'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.SANCTN_DT IS '결재일시'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.RETURN_RESN IS '반환사유'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNINSTTCODE IS '기관코드'; + + + +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_CODE IS '기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODE.ALL_INSTT_NM IS '전체기관명'; + +COMMENT ON COLUMN COMTNINSTTCODE.LOWEST_INSTT_NM IS '최하위기관명'; + +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_ABRV_NM IS '기관약어명'; + +COMMENT ON COLUMN COMTNINSTTCODE.ODR IS '차수'; + +COMMENT ON COLUMN COMTNINSTTCODE.ORD IS '서열'; + +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_ODR IS '기관차수'; + +COMMENT ON COLUMN COMTNINSTTCODE.UPPER_INSTT_CODE IS '상위기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODE.BEST_INSTT_CODE IS '최상위기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODE.REPRSNT_INSTT_CODE IS '대표기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_TY_LCLAS IS '기관유형대분류'; + +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_TY_MLSFC IS '기관유형중분류'; + +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_TY_SCLAS IS '기관유형소분류'; + +COMMENT ON COLUMN COMTNINSTTCODE.CREAT_DE IS '생성일'; + +COMMENT ON COLUMN COMTNINSTTCODE.TELNO IS '전화번호'; + +COMMENT ON COLUMN COMTNINSTTCODE.FXNUM IS '팩스번호'; + +COMMENT ON COLUMN COMTNINSTTCODE.ABL_DE IS '폐지일'; + +COMMENT ON COLUMN COMTNINSTTCODE.ABL_ENNC IS '폐지유무'; + +COMMENT ON COLUMN COMTNINSTTCODE.CHANGE_DE IS '변경일'; + +COMMENT ON COLUMN COMTNINSTTCODE.CHANGE_TIME IS '변경시간'; + +COMMENT ON COLUMN COMTNINSTTCODE.BSIS_DE IS '기초일'; + +COMMENT ON COLUMN COMTNINSTTCODE.SORT_ORDR IS '정렬순서'; + +COMMENT ON COLUMN COMTNINSTTCODE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNINSTTCODE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNINSTTCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNINSTTCODE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNINSTTCODERECPTNLOG IS '기관코드수신로그'; + + + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.OPERT_SN IS '작업일련번호'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_CODE IS '기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CHANGE_SE_CODE IS '변경구분코드'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.PROCESS_SE IS '처리구분'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ETC_CODE IS '기타코드'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ALL_INSTT_NM IS '전체기관명'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.LOWEST_INSTT_NM IS '최하위기관명'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_ABRV_NM IS '기관약어명'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ODR IS '차수'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ORD IS '서열'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_ODR IS '기관차수'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.UPPER_INSTT_CODE IS '상위기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.BEST_INSTT_CODE IS '최상위기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.REPRSNT_INSTT_CODE IS '대표기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_TY_LCLAS IS '기관유형대분류'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_TY_MLSFC IS '기관유형중분류'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_TY_SCLAS IS '기관유형소분류'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.TELNO IS '전화번호'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.FXNUM IS '팩스번호'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CREAT_DE IS '생성일'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ABL_DE IS '폐지일'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ABL_ENNC IS '폐지유무'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CHANGE_DE IS '변경일'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CHANGE_TIME IS '변경시간'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.BSIS_DE IS '기초일'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.SORT_ORDR IS '정렬순서'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNINTNETSVC IS '인터넷서비스'; + + + +COMMENT ON COLUMN COMTNINTNETSVC.INTNET_SVC_ID IS '인터넷서비스ID'; + +COMMENT ON COLUMN COMTNINTNETSVC.INTNET_SVC_NM IS '인터넷서비스명'; + +COMMENT ON COLUMN COMTNINTNETSVC.INTNET_SVC_DC IS '인터넷서비스설명'; + +COMMENT ON COLUMN COMTNINTNETSVC.REFLCT_AT IS '반영여부'; + +COMMENT ON COLUMN COMTNINTNETSVC.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNINTNETSVC.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNINTNETSVC.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNINTNETSVC.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNLEADERSCHDUL IS '간부일정정보'; + + + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_ID IS '일정ID'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_SE IS '일정구분'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_NM IS '일정명'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_CN IS '일정내용'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_PLACE IS '일정장소'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.LEADER_ID IS '간부ID'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.REPTIT_SE_CODE IS '반복구분코드'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_BGNDE IS '일정시작일'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_ENDDE IS '일정종료일'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_CHARGER_ID IS '일정담당자ID'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNLEADERSCHDULDE IS '간부일정관리'; + + + +COMMENT ON COLUMN COMTNLEADERSCHDULDE.SCHDUL_ID IS '일정ID'; + +COMMENT ON COLUMN COMTNLEADERSCHDULDE.SCHDUL_DE IS '일정일'; + + + + +COMMENT ON TABLE COMTNLEADERSTTUS IS '간부상태정보'; + + + +COMMENT ON COLUMN COMTNLEADERSTTUS.LEADER_ID IS '간부ID'; + +COMMENT ON COLUMN COMTNLEADERSTTUS.LEADER_STTUS IS '간부상태'; + +COMMENT ON COLUMN COMTNLEADERSTTUS.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNLEADERSTTUS.FRST_REGIST_PNTTM IS '최초등록자시점'; + +COMMENT ON COLUMN COMTNLEADERSTTUS.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNLEADERSTTUS.LAST_UPDT_PNTTM IS '최종등록자시점'; + + + + +COMMENT ON TABLE COMTNLOGINLOG IS '접속로그'; + + + +COMMENT ON COLUMN COMTNLOGINLOG.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTNLOGINLOG.CONECT_ID IS '접속ID'; + +COMMENT ON COLUMN COMTNLOGINLOG.CONECT_IP IS '접속IP'; + +COMMENT ON COLUMN COMTNLOGINLOG.CONECT_MTHD IS '접속방식'; + +COMMENT ON COLUMN COMTNLOGINLOG.ERROR_OCCRRNC_AT IS '오류발생여부'; + +COMMENT ON COLUMN COMTNLOGINLOG.ERROR_CODE IS '오류코드'; + +COMMENT ON COLUMN COMTNLOGINLOG.CREAT_DT IS '생성일시'; + + + + +COMMENT ON TABLE COMTNLOGINPOLICY IS '로그인정책'; + + + +COMMENT ON COLUMN COMTNLOGINPOLICY.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.IP_INFO IS 'IP정보'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.DPLCT_PERM_AT IS '중복허용여부'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.LMTT_AT IS '제한여부'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNLOGINSCRINIMAGE IS '로그인화면이미지'; + + + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_ID IS '이미지ID'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_NM IS '이미지명'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_FILE IS '이미지파일'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.REFLCT_AT IS '반영여부'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE IS '이미지'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_DC IS '이미지설명'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNMAINIMAGE IS '메인이미지'; + + + +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_ID IS '이미지ID'; + +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_NM IS '이미지명'; + +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE IS '이미지'; + +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_DC IS '이미지설명'; + +COMMENT ON COLUMN COMTNMAINIMAGE.REFLCT_AT IS '반영여부'; + +COMMENT ON COLUMN COMTNMAINIMAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNMAINIMAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNMAINIMAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNMAINIMAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_FILE IS '이미지파일'; + + + + +COMMENT ON TABLE COMTNMEMOREPRT IS '메모보고관리'; + + + +COMMENT ON COLUMN COMTNMEMOREPRT.REPRT_ID IS '보고서ID'; + +COMMENT ON COLUMN COMTNMEMOREPRT.REPRT_SJ IS '보고서제목'; + +COMMENT ON COLUMN COMTNMEMOREPRT.REPORT_DE IS '보고일'; + +COMMENT ON COLUMN COMTNMEMOREPRT.WRTER_ID IS '작성자ID'; + +COMMENT ON COLUMN COMTNMEMOREPRT.REPORTR_ID IS '보고자ID'; + +COMMENT ON COLUMN COMTNMEMOREPRT.REPORT_CN IS '보고내용'; + +COMMENT ON COLUMN COMTNMEMOREPRT.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNMEMOREPRT.DRCT_MATTER IS '지시사항'; + +COMMENT ON COLUMN COMTNMEMOREPRT.DRCT_MATTER_REGIST_DT IS '지시사항등록일시'; + +COMMENT ON COLUMN COMTNMEMOREPRT.REPORTR_INQIRE_DT IS '보고자조회일시'; + +COMMENT ON COLUMN COMTNMEMOREPRT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNMEMOREPRT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNMEMOREPRT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNMEMOREPRT.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNMEMOTODO IS '메모할일정보'; + + + +COMMENT ON COLUMN COMTNMEMOTODO.TODO_ID IS '할일ID'; + +COMMENT ON COLUMN COMTNMEMOTODO.TODO_SJ IS '할일제목'; + +COMMENT ON COLUMN COMTNMEMOTODO.TODO_BEGIN_TIME IS '할일시작시간'; + +COMMENT ON COLUMN COMTNMEMOTODO.TODO_END_TIME IS '할일종료시간'; + +COMMENT ON COLUMN COMTNMEMOTODO.WRTER_ID IS '작성자ID'; + +COMMENT ON COLUMN COMTNMEMOTODO.TODO_CN IS '할일내용'; + +COMMENT ON COLUMN COMTNMEMOTODO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNMEMOTODO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNMEMOTODO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNMEMOTODO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNMENUCREATDTLS IS '메뉴생성내역'; + + + +COMMENT ON COLUMN COMTNMENUCREATDTLS.MENU_NO IS '메뉴번호'; + +COMMENT ON COLUMN COMTNMENUCREATDTLS.AUTHOR_CODE IS '권한코드'; + +COMMENT ON COLUMN COMTNMENUCREATDTLS.MAPNG_CREAT_ID IS '매핑생성ID'; + + + + +COMMENT ON TABLE COMTNMENUINFO IS '메뉴정보'; + + + +COMMENT ON COLUMN COMTNMENUINFO.MENU_NO IS '메뉴번호'; + +COMMENT ON COLUMN COMTNMENUINFO.UPPER_MENU_NO IS '상위메뉴번호'; + +COMMENT ON COLUMN COMTNMENUINFO.MENU_NM IS '메뉴명'; + +COMMENT ON COLUMN COMTNMENUINFO.PROGRM_FILE_NM IS '프로그램파일명'; + +COMMENT ON COLUMN COMTNMENUINFO.MENU_ORDR IS '메뉴순서'; + +COMMENT ON COLUMN COMTNMENUINFO.MENU_DC IS '메뉴설명'; + +COMMENT ON COLUMN COMTNMENUINFO.RELATE_IMAGE_PATH IS '관계이미지경로'; + +COMMENT ON COLUMN COMTNMENUINFO.RELATE_IMAGE_NM IS '관계이미지명'; + + + + +COMMENT ON TABLE COMTNMTGINFO IS '회의정보'; + + + +COMMENT ON COLUMN COMTNMTGINFO.MTG_ID IS '회의ID'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_NM IS '회의명'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_MTR_CN IS '회의안건내용'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_SN IS '회의순번'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_CO IS '회의수'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_DE IS '회의일'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_PLACE IS '회의장소'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_BEGIN_TM IS '회의시작시간'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_END_TM IS '회의종료시간'; + +COMMENT ON COLUMN COMTNMTGINFO.CLSDR_MTG_AT IS '비공개회의여부'; + +COMMENT ON COLUMN COMTNMTGINFO.READNG_BGNDE IS '열람개시일'; + +COMMENT ON COLUMN COMTNMTGINFO.READNG_AT IS '열람여부'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_RESULT_CN IS '회의결과내용'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_RESULT_ENNC IS '회의결과유무'; + +COMMENT ON COLUMN COMTNMTGINFO.ETC_MATTER IS '기타사항'; + +COMMENT ON COLUMN COMTNMTGINFO.MNGT_DEPT_ID IS '주관부서ID'; + +COMMENT ON COLUMN COMTNMTGINFO.MNAER_ID IS '주관자ID'; + +COMMENT ON COLUMN COMTNMTGINFO.MNAER_DEPT_ID IS '주관자부서ID'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_AT IS '회의여부'; + +COMMENT ON COLUMN COMTNMTGINFO.NONATDRN_CO IS '불참자수'; + +COMMENT ON COLUMN COMTNMTGINFO.ATDRN_CO IS '참석자수'; + +COMMENT ON COLUMN COMTNMTGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNMTGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNMTGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNMTGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNMTGPLACEFXTRS IS '회의실비품'; + + + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.MTGRUM_ID IS '회의실ID'; + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.FXTRS_CODE IS '비품코드'; + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.QY IS '량'; + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNMTGPLACEMANAGE IS '회의실관리'; + + + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.MTGRUM_ID IS '회의실ID'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.MTGRUM_NM IS '회의실명'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.OPN_BEGIN_TM IS '개방시작시각'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.OPN_END_TM IS '개방종료시각'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.ACEPTNC_POSBL_NMPR IS '수용가능인원'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LC_SE IS '위치구분'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LC_DETAIL IS '위치상세'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNMTGPLACERESVE IS '회의실예약정보'; + + + +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_ID IS '예약ID'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.MTGRUM_ID IS '회의실ID'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.MTG_SJ IS '회의제목'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.RSVCTM_ID IS '예약자ID'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_DE IS '예약일'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_BEGIN_TM IS '예약시작시각'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_END_TM IS '예약종료시각'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.ATNDNC_NMPR IS '참석인원'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.MTG_CN IS '회의내용'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNNCRD IS '명함정보속성'; + + + +COMMENT ON COLUMN COMTNNCRD.NCRD_ID IS '명함ID'; + +COMMENT ON COLUMN COMTNNCRD.NCRD_TRGTER_ID IS '명함대상자ID'; + +COMMENT ON COLUMN COMTNNCRD.NM IS '이름'; + +COMMENT ON COLUMN COMTNNCRD.TELNO IS '전화번호'; + +COMMENT ON COLUMN COMTNNCRD.NATION_NO IS '국가번호'; + +COMMENT ON COLUMN COMTNNCRD.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNNCRD.MIDDLE_TELNO IS '중간전화번호'; + +COMMENT ON COLUMN COMTNNCRD.END_TELNO IS '끝전화번호'; + +COMMENT ON COLUMN COMTNNCRD.MBTLNUM IS '이동전화번호'; + +COMMENT ON COLUMN COMTNNCRD.IDNTFC_NO IS '식별번호'; + +COMMENT ON COLUMN COMTNNCRD.MIDDLE_MBTLNUM IS '중간이동전화번호'; + +COMMENT ON COLUMN COMTNNCRD.END_MBTLNUM IS '끝이동전화번호'; + +COMMENT ON COLUMN COMTNNCRD.EMAIL_ADRES IS '이메일주소'; + +COMMENT ON COLUMN COMTNNCRD.CMPNY_NM IS '회사명'; + +COMMENT ON COLUMN COMTNNCRD.DEPT_NM IS '부서명'; + +COMMENT ON COLUMN COMTNNCRD.ADRES IS '주소'; + +COMMENT ON COLUMN COMTNNCRD.DETAIL_ADRES IS '상세주소'; + +COMMENT ON COLUMN COMTNNCRD.OFCPS_NM IS '직위명'; + +COMMENT ON COLUMN COMTNNCRD.CLSF_NM IS '직급명'; + +COMMENT ON COLUMN COMTNNCRD.EXTRL_USER_AT IS '외부사용자여부'; + +COMMENT ON COLUMN COMTNNCRD.OTHBC_AT IS '공개여부'; + +COMMENT ON COLUMN COMTNNCRD.RM IS '비고'; + +COMMENT ON COLUMN COMTNNCRD.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNCRD.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNCRD.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNNCRD.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNNCRDUSER IS '명함사용자속성'; + + + +COMMENT ON COLUMN COMTNNCRDUSER.NCRD_ID IS '명함ID'; + +COMMENT ON COLUMN COMTNNCRDUSER.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNNCRDUSER.REGIST_SE_CODE IS '등록구분코드'; + +COMMENT ON COLUMN COMTNNCRDUSER.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNNCRDUSER.CREAT_DT IS '생성일시'; + + + + +COMMENT ON TABLE COMTNNEWSINFO IS '뉴스정보'; + + + +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_ID IS '뉴스ID'; + +COMMENT ON COLUMN COMTNNEWSINFO.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_SJ IS '뉴스제목'; + +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_CN IS '뉴스내용'; + +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_ORIGIN IS '뉴스출처'; + +COMMENT ON COLUMN COMTNNEWSINFO.NTCE_AT IS '게시여부'; + +COMMENT ON COLUMN COMTNNEWSINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNEWSINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNEWSINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNNEWSINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNNEWSINFO.NTCE_DE IS '게시일'; + + + + +COMMENT ON TABLE COMTNNOTE IS '쪽지관리'; + + + +COMMENT ON COLUMN COMTNNOTE.NOTE_ID IS '쪽지ID'; + +COMMENT ON COLUMN COMTNNOTE.NOTE_SJ IS '쪽지제목'; + +COMMENT ON COLUMN COMTNNOTE.NOTE_CN IS '쪽지내용'; + +COMMENT ON COLUMN COMTNNOTE.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNNOTE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNOTE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNOTE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNNOTE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNNOTERECPTN IS '받은쪽지함관리'; + + + +COMMENT ON COLUMN COMTNNOTERECPTN.NOTE_ID IS '쪽지ID'; + +COMMENT ON COLUMN COMTNNOTERECPTN.NOTE_TRNSMIT_ID IS '쪽지송신ID'; + +COMMENT ON COLUMN COMTNNOTERECPTN.NOTE_RECPTN_ID IS '쪽지수신ID'; + +COMMENT ON COLUMN COMTNNOTERECPTN.RCVER_ID IS '수신자ID'; + +COMMENT ON COLUMN COMTNNOTERECPTN.OPEN_YN IS '개봉여부'; + +COMMENT ON COLUMN COMTNNOTERECPTN.RECPTN_SE IS '수신구분'; + +COMMENT ON COLUMN COMTNNOTERECPTN.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNOTERECPTN.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNOTERECPTN.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNNOTERECPTN.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNNOTETRNSMIT IS '보낸쪽지함관리'; + + + +COMMENT ON COLUMN COMTNNOTETRNSMIT.NOTE_ID IS '쪽지ID'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.NOTE_TRNSMIT_ID IS '쪽지송신ID'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.TRNSMITER_ID IS '송신자ID'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.DELETE_AT IS '삭제여부'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNNTFCINFO IS '정보알림'; + + + +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_NO IS '알림번호'; + +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_SJ IS '알림제목'; + +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_CN IS '알림내용'; + +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_TM IS '알림시간'; + +COMMENT ON COLUMN COMTNNTFCINFO.BH_NTCN_INTRVL IS '사전알림간격'; + +COMMENT ON COLUMN COMTNNTFCINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNTFCINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNNTFCINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNTFCINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNNTTSTATS IS '게시물통계'; + + + +COMMENT ON COLUMN COMTNNTTSTATS.STATS_ID IS '통계ID'; + +COMMENT ON COLUMN COMTNNTTSTATS.NTCE_CO IS '게시개수'; + +COMMENT ON COLUMN COMTNNTTSTATS.AVRG_RDCNT IS '평균조회수'; + +COMMENT ON COLUMN COMTNNTTSTATS.TOP_RDCNT IS '최고조회수'; + +COMMENT ON COLUMN COMTNNTTSTATS.MUMM_RDCNT IS '최소조회수'; + +COMMENT ON COLUMN COMTNNTTSTATS.TOP_NTCR_ID IS '최고게시자ID'; + + + + +COMMENT ON TABLE COMTNNTWRKINFO IS '네트워크정보'; + + + +COMMENT ON COLUMN COMTNNTWRKINFO.NTWRK_ID IS '네트워크ID'; + +COMMENT ON COLUMN COMTNNTWRKINFO.NTWRK_IP IS '네트워크IP'; + +COMMENT ON COLUMN COMTNNTWRKINFO.GTWY IS '게이트웨이'; + +COMMENT ON COLUMN COMTNNTWRKINFO.SUBNET IS '서브넷'; + +COMMENT ON COLUMN COMTNNTWRKINFO.DOMN_NM_SERVER IS '도메인명서버'; + +COMMENT ON COLUMN COMTNNTWRKINFO.MANAGE_IEM IS '관리항목'; + +COMMENT ON COLUMN COMTNNTWRKINFO.USER_NM IS '사용자명'; + +COMMENT ON COLUMN COMTNNTWRKINFO.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNNTWRKINFO.RGSDE IS '등록일'; + +COMMENT ON COLUMN COMTNNTWRKINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNTWRKINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNTWRKINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNNTWRKINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNNTWRKSVCMNTRNG IS '네트워크서비스모니터링'; + + + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.SYS_IP IS '시스템IP'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.SYS_PORT IS '시스템포트'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.SYS_NM IS '시스템명'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNNTWRKSVCMNTRNGLOGINFO IS '네트워크서비스모니터링로그정보'; + + + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.SYS_IP IS '시스템IP'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.SYS_PORT IS '시스템포트'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.SYS_NM IS '시스템명'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LOG_INFO IS '로그정보'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNONLINEMANUAL IS '온라인메뉴얼'; + + + +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_ID IS '온라인메뉴얼ID'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_SE_CODE IS '온라인메뉴얼구분코드'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_DFN IS '온라인메뉴얼정의'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_DC IS '온라인메뉴얼설명'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_NM IS '온라인메뉴얼명'; + + + + +COMMENT ON TABLE COMTNONLINEPOLLIEM IS '온라인POLL항목'; + + + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.POLL_ID IS 'POLLID'; + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.POLL_IEM_ID IS 'POLL항목ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.POLL_IEM_NM IS 'POLL항목명'; + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNONLINEPOLLMANAGE IS '온라인POLL관리'; + + + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_ID IS 'POLLID'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_NM IS 'POLL명'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_BGNDE IS 'POLL시작일'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_ENDDE IS 'POLL종료일'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_KND IS 'POLL종류'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_DSUSE_ENNC IS 'POLL폐기유무'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_ATMC_DSUSE_ENNC IS 'POLL자동폐기유무'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNONLINEPOLLRESULT IS '온라인POLL결과'; + + + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.POLL_RESULT_ID IS 'POLL결과ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.POLL_IEM_ID IS 'POLL항목ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.POLL_ID IS 'POLLID'; + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNORGNZTINFO IS '조직정보'; + + + +COMMENT ON COLUMN COMTNORGNZTINFO.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTNORGNZTINFO.ORGNZT_NM IS '조직명'; + +COMMENT ON COLUMN COMTNORGNZTINFO.ORGNZT_DC IS '조직설명'; + + + + +COMMENT ON TABLE COMTNPOPUPMANAGE IS '팝업 정보 관리'; + + + +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_ID IS '팝업ID'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_SJ_NM IS '팝업제목명'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.FILE_URL IS '파일URL'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_WIDTH_LC IS '팝업가로위치'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_VRTICL_LC IS '팝업세로위치'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_WIDTH_SIZE IS '팝업가로사이즈'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_VRTICL_SIZE IS '팝업세로사이즈'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.NTCE_BGNDE IS '게시시작일'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.NTCE_ENDDE IS '게시종료일'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.STOPVEW_SETUP_AT IS '그만보기설정여부'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.NTCE_AT IS '게시여부'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNPRIVACYLOG IS '개인정보조회 로그'; + + + +COMMENT ON COLUMN COMTNPRIVACYLOG.REQUST_ID IS '요청 ID'; + +COMMENT ON COLUMN COMTNPRIVACYLOG.INQIRE_DT IS '조회일시'; + +COMMENT ON COLUMN COMTNPRIVACYLOG.INQIRE_INFO IS '조회 정보 명'; + +COMMENT ON COLUMN COMTNPRIVACYLOG.RQESTER_ID IS '요청자아이디'; + +COMMENT ON COLUMN COMTNPRIVACYLOG.RQESTER_IP IS '요청아이피'; + +COMMENT ON COLUMN COMTNPRIVACYLOG.SRVC_NM IS '서비스 명'; + + + + +COMMENT ON TABLE COMTNPROCESSMON IS '프로세스모니터링'; + + + +COMMENT ON COLUMN COMTNPROCESSMON.PROCS_ID IS '프로세스ID'; + +COMMENT ON COLUMN COMTNPROCESSMON.PROCS_NM IS '프로세스명'; + +COMMENT ON COLUMN COMTNPROCESSMON.PROCS_STTUS IS '프로세스상태'; + +COMMENT ON COLUMN COMTNPROCESSMON.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNPROCESSMON.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTNPROCESSMON.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNPROCESSMON.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNPROCESSMON.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNPROCESSMON.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNPROCESSMON.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNPROCESSMONLOGINFO IS '프로세스모니터링로그정보'; + + + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.PROCS_ID IS '프로세스ID'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.PROCS_NM IS '프로세스명'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.PROCS_STTUS IS '프로세스상태'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LOG_INFO IS '로그정보'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNPROGRMLIST IS '프로그램목록'; + + + +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_FILE_NM IS '프로그램파일명'; + +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_STRE_PATH IS '프로그램저장경로'; + +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_KOREAN_NM IS '프로그램한글명'; + +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_DC IS '프로그램설명'; + +COMMENT ON COLUMN COMTNPROGRMLIST.URL IS 'URL'; + + + + +COMMENT ON TABLE COMTNPROXYINFO IS '프록시정보'; + + + +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_ID IS '프록시ID'; + +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_NM IS '프록시명'; + +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_IP IS '프록시IP'; + +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_PORT IS '프록시포트'; + +COMMENT ON COLUMN COMTNPROXYINFO.TRGET_SVC_NM IS '대상서비스명'; + +COMMENT ON COLUMN COMTNPROXYINFO.SVC_DC IS '서비스설명'; + +COMMENT ON COLUMN COMTNPROXYINFO.SVC_IP IS '서비스IP'; + +COMMENT ON COLUMN COMTNPROXYINFO.SVC_PORT IS '서비스포트'; + +COMMENT ON COLUMN COMTNPROXYINFO.SVC_STTUS IS '서비스상태'; + +COMMENT ON COLUMN COMTNPROXYINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNPROXYINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNPROXYINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNPROXYINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNPROXYLOGINFO IS '프록시로그정보'; + + + +COMMENT ON COLUMN COMTNPROXYLOGINFO.PROXY_ID IS '프록시ID'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.CLNT_IP IS '클라이언트IP'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.CLNT_PORT IS '클라이언트포트'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.CONECT_TIME IS '접속시간'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNQAINFO IS 'QA정보'; + + + +COMMENT ON COLUMN COMTNQAINFO.QA_ID IS 'QAID'; + +COMMENT ON COLUMN COMTNQAINFO.QESTN_SJ IS '질문제목'; + +COMMENT ON COLUMN COMTNQAINFO.QESTN_CN IS '질문내용'; + +COMMENT ON COLUMN COMTNQAINFO.WRITNG_DE IS '작성일'; + +COMMENT ON COLUMN COMTNQAINFO.RDCNT IS '조회수'; + +COMMENT ON COLUMN COMTNQAINFO.EMAIL_ADRES IS '이메일주소'; + +COMMENT ON COLUMN COMTNQAINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNQAINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNQAINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNQAINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNQAINFO.QNA_PROCESS_STTUS_CODE IS '질의응답처리상태코드'; + +COMMENT ON COLUMN COMTNQAINFO.WRTER_NM IS '작성자명'; + +COMMENT ON COLUMN COMTNQAINFO.ANSWER_CN IS '답변내용'; + +COMMENT ON COLUMN COMTNQAINFO.WRITNG_PASSWORD IS '작성비밀번호'; + +COMMENT ON COLUMN COMTNQAINFO.ANSWER_DE IS '답변일자'; + +COMMENT ON COLUMN COMTNQAINFO.EMAIL_ANSWER_AT IS '메일답변여부'; + +COMMENT ON COLUMN COMTNQAINFO.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNQAINFO.MIDDLE_TELNO IS '중간전화번호'; + +COMMENT ON COLUMN COMTNQAINFO.END_TELNO IS '끝전화번호'; + + + + +COMMENT ON TABLE COMTNQESTNRINFO IS '설문지정보'; + + + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QESTNR_ID IS '설문지ID'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_SJ IS '설문제목'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_PURPS IS '설문목적'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_WRITNG_GUIDANCE_CN IS '설문작성안내내용'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_TRGET IS '설문대상'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_BGNDE IS '설문시작일'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_ENDDE IS '설문종료일'; + +COMMENT ON COLUMN COMTNQESTNRINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNQESTNRINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNQESTNRINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNQESTNRINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNQUSTNRIEM IS '설문항목'; + + + +COMMENT ON COLUMN COMTNQUSTNRIEM.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.QESTNR_ID IS '설문지ID'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.QUSTNR_QESITM_ID IS '설문문항ID'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.QUSTNR_IEM_ID IS '설문항목ID'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.IEM_SN IS '항목순번'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.IEM_CN IS '항목내용'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.ETC_ANSWER_AT IS '기타답변여부'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNQUSTNRQESITM IS '설문문항'; + + + +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTNR_ID IS '설문지ID'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.QUSTNR_QESITM_ID IS '설문문항ID'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTN_SN IS '질문순번'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTN_TY_CODE IS '질문유형코드'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTN_CN IS '질문내용'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.MXMM_CHOISE_CO IS '최대선택개수'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNQUSTNRRESPONDINFO IS '설문응답자정보'; + + + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.QESTNR_ID IS '설문지ID'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.QUSTNR_RESPOND_ID IS '설문응답자ID'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.SEXDSTN_CODE IS '성별코드'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.OCCP_TY_CODE IS '직업유형코드'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.RESPOND_NM IS '응답자명'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.BRTHDY IS '생일'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.MIDDLE_TELNO IS '중간전화번호'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.END_TELNO IS '끝전화번호'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNQUSTNRRSPNSRESULT IS '설문응답결과'; + + + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_RSPNS_RESULT_ID IS '설문응답결과ID'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QESTNR_ID IS '설문지ID'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_QESITM_ID IS '설문문항ID'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.RESPOND_ANSWER_CN IS '응답자답변내용'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.ETC_ANSWER_CN IS '기타답변내용'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.RESPOND_NM IS '응답자명'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_IEM_ID IS '설문항목ID'; + + + + +COMMENT ON TABLE COMTNQUSTNRTMPLAT IS '설문템플릿'; + + + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_TY IS '설문템플릿유형'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_DC IS '설문템플릿설명'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_PATH_NM IS '설문템플릿경로명'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_IMAGE_INFO IS '설문템플릿이미지정보'; + + + + +COMMENT ON TABLE COMTNRECENTSRCHWRD IS '최근검색어'; + + + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.SRCHWRD_MANAGE_ID IS '검색어관리ID'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.RECENT_SRCHWRD_ID IS '최근검색어ID'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.RECENT_SRCHWRD_NM IS '최근검색어명'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.RECENT_SRCHWRD_CO IS '최근검색어개수'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNRECENTSRCHWRDMANAGE IS '최근검색어관리'; + + + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.SRCHWRD_MANAGE_ID IS '검색어관리ID'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.SRCHWRD_MANAGE_NM IS '검색어관리명'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.SRCHWRD_CONECT_URL IS '검색어접속URL'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.USER_SEARCH_AT IS '사용자검색여부'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNRECOMENDSITEINFO IS '추천사이트정보'; + + + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_ID IS '추천사이트ID'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_NM IS '추천사이트명'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_URL IS '추천사이트URL'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_DC IS '추천사이트설명'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_RESN_CN IS '추천사유내용'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_CONFM_AT IS '추천승인여부'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.CONFM_DE IS '승인일'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNREPRTSTATS IS '보고서통계'; + + + +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_ID IS '보고서ID'; + +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_NM IS '보고서명'; + +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_STTUS IS '보고서상태'; + +COMMENT ON COLUMN COMTNREPRTSTATS.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNREPRTSTATS.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNREPRTSTATS.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNREPRTSTATS.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_TY IS '보고서유형'; + + + + +COMMENT ON TABLE COMTNRESTDE IS '휴일관리'; + + + +COMMENT ON COLUMN COMTNRESTDE.RESTDE_NO IS '휴일번호'; + +COMMENT ON COLUMN COMTNRESTDE.RESTDE IS '휴일'; + +COMMENT ON COLUMN COMTNRESTDE.RESTDE_NM IS '휴일명'; + +COMMENT ON COLUMN COMTNRESTDE.RESTDE_DC IS '휴일설명'; + +COMMENT ON COLUMN COMTNRESTDE.RESTDE_SE_CODE IS '휴일구분코드'; + +COMMENT ON COLUMN COMTNRESTDE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNRESTDE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNRESTDE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNRESTDE.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNROLEINFO IS '롤정보'; + + + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_CODE IS '롤코드'; + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_NM IS '롤명'; + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_PTTRN IS '롤패턴'; + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_DC IS '롤설명'; + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_TY IS '롤유형'; + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_SORT IS '롤정렬'; + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_CREAT_DE IS '롤생성일'; + + + + +COMMENT ON TABLE COMTNROLES_HIERARCHY IS '롤 계층구조'; + + + +COMMENT ON COLUMN COMTNROLES_HIERARCHY.PARNTS_ROLE IS '부모롤'; + +COMMENT ON COLUMN COMTNROLES_HIERARCHY.CHLDRN_ROLE IS '자식롤'; + + + + +COMMENT ON TABLE COMTNROUGHMAP IS '약도관리'; + + + +COMMENT ON COLUMN COMTNROUGHMAP.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNROUGHMAP.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNROUGHMAP.INFOWINDOW IS '안내창 도움말'; + +COMMENT ON COLUMN COMTNROUGHMAP.LA IS '지도 위도'; + +COMMENT ON COLUMN COMTNROUGHMAP.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNROUGHMAP.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNROUGHMAP.LO IS '지도 경도'; + +COMMENT ON COLUMN COMTNROUGHMAP.MARKERLA IS '마커 위도'; + +COMMENT ON COLUMN COMTNROUGHMAP.MARKERLO IS '마커 경도'; + +COMMENT ON COLUMN COMTNROUGHMAP.ROUGHMAPADDRESS IS '약도상세주소'; + +COMMENT ON COLUMN COMTNROUGHMAP.ROUGHMAPSJ IS '약도 제목'; + +COMMENT ON COLUMN COMTNROUGHMAP.ROUGHMAP_ID IS '약도 ID'; + +COMMENT ON COLUMN COMTNROUGHMAP.ZOOMLEVEL IS '지도 확대수준'; + + + + +COMMENT ON TABLE COMTNRSS IS 'RSS관리'; + + + +COMMENT ON COLUMN COMTNRSS.RSS_ID IS 'RSSID'; + +COMMENT ON COLUMN COMTNRSS.TRGET_SVC_NM IS '대상서비스명'; + +COMMENT ON COLUMN COMTNRSS.TRGET_SVC_TABLE IS '대상서비스테이블'; + +COMMENT ON COLUMN COMTNRSS.TRGET_SVC_LIST_CO IS '대상서비스목록개수'; + +COMMENT ON COLUMN COMTNRSS.HDER_TITLE IS '헤더TITLE'; + +COMMENT ON COLUMN COMTNRSS.HDER_LINK IS '헤더링크'; + +COMMENT ON COLUMN COMTNRSS.HDER_DC IS '헤더설명'; + +COMMENT ON COLUMN COMTNRSS.HDER_TAG IS '헤더태그'; + +COMMENT ON COLUMN COMTNRSS.HDER_ETC IS '헤더기타'; + +COMMENT ON COLUMN COMTNRSS.BDT_TITLE IS '본문TITLE'; + +COMMENT ON COLUMN COMTNRSS.BDT_LINK IS '본문링크'; + +COMMENT ON COLUMN COMTNRSS.BDT_DC IS '본문설명'; + +COMMENT ON COLUMN COMTNRSS.BDT_TAG IS '본문태그'; + +COMMENT ON COLUMN COMTNRSS.BDT_ETC_TAG IS '본문기타태그'; + +COMMENT ON COLUMN COMTNRSS.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNRSS.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNRSS.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNRSS.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNRWARDMANAGE IS '포상관리'; + + + +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_ID IS '포상ID'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARDWNR_ID IS '포상자ID'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_CODE IS '포상코드'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_DE IS '포상일'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_NM IS '포상명'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.PBLEN_CN IS '공적내용'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.SANCTNER_ID IS '결재자ID'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.CONFM_AT IS '승인여부'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.SANCTN_DT IS '결재일시'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.RETURN_RESN IS '반환사유'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.INFRML_SANCTN_ID IS '약식결재ID'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNSCHDULINFO IS '일정정보'; + + + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_ID IS '일정ID'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_SE IS '일정구분'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_DEPT_ID IS '일정부서ID'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_KND_CODE IS '일정종류코드'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_BGNDE IS '일정시작일'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_ENDDE IS '일정종료일'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_NM IS '일정명'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_CN IS '일정내용'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_PLACE IS '일정장소'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_IPCR_CODE IS '일정중요도코드'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_CHARGER_ID IS '일정담당자ID'; + +COMMENT ON COLUMN COMTNSCHDULINFO.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNSCHDULINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSCHDULINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSCHDULINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNSCHDULINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNSCHDULINFO.REPTIT_SE_CODE IS '반복구분코드'; + + + + +COMMENT ON TABLE COMTNSCRAP IS '스크랩'; + + + +COMMENT ON COLUMN COMTNSCRAP.SCRAP_ID IS '스크랩ID'; + +COMMENT ON COLUMN COMTNSCRAP.NTT_ID IS '게시물ID'; + +COMMENT ON COLUMN COMTNSCRAP.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNSCRAP.SCRAP_NM IS '스크랩명'; + +COMMENT ON COLUMN COMTNSCRAP.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNSCRAP.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSCRAP.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNSCRAP.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSCRAP.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNSERVEREQPMNINFO IS '서버장비정보'; + + + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_ID IS '서버장비ID'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_NM IS '서버장비명'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_IP IS '서버장비IP'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_MNGR IS '서버장비관리자'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.OPERSYSM_INFO IS '운영체제정보'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.CPU_INFO IS 'CPU정보'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.MORY_INFO IS '메모리정보'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.HDDISK IS 'HDDISK'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.ETC_INFO IS '기타정보'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.RGSDE IS '등록일'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNSERVEREQPMNRELATE IS '서버장비관계'; + + + +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.SERVER_EQPMN_ID IS '서버장비ID'; + +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.SERVER_ID IS '서버ID'; + +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNSERVERINFO IS '서버정보'; + + + +COMMENT ON COLUMN COMTNSERVERINFO.SERVER_ID IS '서버ID'; + +COMMENT ON COLUMN COMTNSERVERINFO.SERVER_NM IS '서버명'; + +COMMENT ON COLUMN COMTNSERVERINFO.SERVER_KND IS '서버종류'; + +COMMENT ON COLUMN COMTNSERVERINFO.RGSDE IS '등록일'; + +COMMENT ON COLUMN COMTNSERVERINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSERVERINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSERVERINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNSERVERINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNSERVERRESRCELOGINFO IS '서버자원로그정보'; + + + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.SERVER_EQPMN_ID IS '서버장비ID'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.SERVER_ID IS '서버ID'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.CPU_USE_RT IS 'CPU사용율'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.MORY_USE_RT IS '메모리사용율'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.SVC_STTUS IS '서비스상태'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LOG_INFO IS '로그정보'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNSITELIST IS '사이트목록'; + + + +COMMENT ON COLUMN COMTNSITELIST.SITE_ID IS '사이트ID'; + +COMMENT ON COLUMN COMTNSITELIST.SITE_NM IS '사이트명'; + +COMMENT ON COLUMN COMTNSITELIST.SITE_URL IS '사이트URL'; + +COMMENT ON COLUMN COMTNSITELIST.SITE_DC IS '사이트설명'; + +COMMENT ON COLUMN COMTNSITELIST.SITE_THEMA_CL_CODE IS '사이트주제분류코드'; + +COMMENT ON COLUMN COMTNSITELIST.ACTVTY_AT IS '활성여부'; + +COMMENT ON COLUMN COMTNSITELIST.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNSITELIST.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSITELIST.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSITELIST.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNSITELIST.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNSITEMAP IS '사이트맵'; + + + +COMMENT ON COLUMN COMTNSITEMAP.MAPNG_CREAT_ID IS '매핑생성ID'; + +COMMENT ON COLUMN COMTNSITEMAP.CREATR_ID IS '생성자ID'; + +COMMENT ON COLUMN COMTNSITEMAP.MAPNG_FILE_NM IS '매핑파일명'; + +COMMENT ON COLUMN COMTNSITEMAP.MAPNG_FILE_PATH IS '매핑파일경로'; + + + + +COMMENT ON TABLE COMTNSMS IS '문자메시지'; + + + +COMMENT ON COLUMN COMTNSMS.SMS_ID IS '문자메시지ID'; + +COMMENT ON COLUMN COMTNSMS.TRNSMIS_TELNO IS '전송전화번호'; + +COMMENT ON COLUMN COMTNSMS.TRNSMIS_CN IS '전송내용'; + +COMMENT ON COLUMN COMTNSMS.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSMS.FRST_REGISTER_ID IS '최초등록자ID'; + + + + +COMMENT ON TABLE COMTNSMSRECPTN IS '문자메시지수신'; + + + +COMMENT ON COLUMN COMTNSMSRECPTN.SMS_ID IS '문자메시지ID'; + +COMMENT ON COLUMN COMTNSMSRECPTN.RECPTN_TELNO IS '수신전화번호'; + +COMMENT ON COLUMN COMTNSMSRECPTN.RESULT_CODE IS '결과코드'; + +COMMENT ON COLUMN COMTNSMSRECPTN.RESULT_MSSAGE IS '결과메시지'; + + + + +COMMENT ON TABLE COMTNSTPLATINFO IS '약관정보'; + + + +COMMENT ON COLUMN COMTNSTPLATINFO.USE_STPLAT_ID IS '이용약관ID'; + +COMMENT ON COLUMN COMTNSTPLATINFO.USE_STPLAT_NM IS '이용약관명'; + +COMMENT ON COLUMN COMTNSTPLATINFO.USE_STPLAT_CN IS '이용약관내용'; + +COMMENT ON COLUMN COMTNSTPLATINFO.INFO_PROVD_AGRE_CN IS '정보제공동의내용'; + +COMMENT ON COLUMN COMTNSTPLATINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSTPLATINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSTPLATINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNSTPLATINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNSTSFDG IS '만족도'; + + + +COMMENT ON COLUMN COMTNSTSFDG.STSFDG_NO IS '만족도번호'; + +COMMENT ON COLUMN COMTNSTSFDG.NTT_ID IS '게시물ID'; + +COMMENT ON COLUMN COMTNSTSFDG.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNSTSFDG.WRTER_ID IS '작성자ID'; + +COMMENT ON COLUMN COMTNSTSFDG.WRTER_NM IS '작성자명'; + +COMMENT ON COLUMN COMTNSTSFDG.PASSWORD IS '비밀번호'; + +COMMENT ON COLUMN COMTNSTSFDG.STSFDG IS '만족도'; + +COMMENT ON COLUMN COMTNSTSFDG.STSFDG_CN IS '만족도내용'; + +COMMENT ON COLUMN COMTNSTSFDG.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNSTSFDG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSTSFDG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNSTSFDG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSTSFDG.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNSYNCHRNSERVERINFO IS '동기화서버정보'; + + + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_ID IS '서버ID'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_NM IS '서버명'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_IP IS '서버IP'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_PORT IS '서버포트'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FTP_ID IS 'FTPID'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FTP_PASSWORD IS 'FTP비밀번호'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SYNCHRN_LC IS '동기화위치'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.REFLCT_AT IS '반영여부'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNSYSLOG IS '시스템로그'; + + + +COMMENT ON COLUMN COMTNSYSLOG.REQUST_ID IS '요청ID'; + +COMMENT ON COLUMN COMTNSYSLOG.JOB_SE_CODE IS '업무구분코드'; + +COMMENT ON COLUMN COMTNSYSLOG.INSTT_CODE IS '기관코드'; + +COMMENT ON COLUMN COMTNSYSLOG.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTNSYSLOG.RQESTER_IP IS '요청자IP'; + +COMMENT ON COLUMN COMTNSYSLOG.RQESTER_ID IS '요청자ID'; + +COMMENT ON COLUMN COMTNSYSLOG.TRGET_MENU_NM IS '대상메뉴명'; + +COMMENT ON COLUMN COMTNSYSLOG.SVC_NM IS '서비스명'; + +COMMENT ON COLUMN COMTNSYSLOG.METHOD_NM IS '메서드명'; + +COMMENT ON COLUMN COMTNSYSLOG.PROCESS_SE_CODE IS '처리구분코드'; + +COMMENT ON COLUMN COMTNSYSLOG.PROCESS_CO IS '처리수'; + +COMMENT ON COLUMN COMTNSYSLOG.PROCESS_TIME IS '처리시간'; + +COMMENT ON COLUMN COMTNSYSLOG.RSPNS_CODE IS '응답코드'; + +COMMENT ON COLUMN COMTNSYSLOG.ERROR_SE IS '오류구분'; + +COMMENT ON COLUMN COMTNSYSLOG.ERROR_CO IS '오류수'; + +COMMENT ON COLUMN COMTNSYSLOG.ERROR_CODE IS '오류코드'; + + + + +COMMENT ON TABLE COMTNSYSTEMCNTC IS '시스템연계'; + + + +COMMENT ON COLUMN COMTNSYSTEMCNTC.CNTC_ID IS '연계ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.CNTC_NM IS '연계명'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.PROVD_INSTT_ID IS '제공기관ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.PROVD_SYS_ID IS '제공시스템ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.PROVD_SVC_ID IS '제공서비스ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.REQUST_INSTT_ID IS '요청기관ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.REQUST_SYS_ID IS '요청시스템ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.CONFM_AT IS '승인여부'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.VALID_BGNDE IS '유효시작일자'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.VALID_ENDDE IS '유효종료일자'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.CNTC_TY IS '연계유형'; + + + + +COMMENT ON TABLE COMTNTMPLATINFO IS '템플릿'; + + + +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_ID IS '템플릿ID'; + +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_NM IS '템플릿명'; + +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_COURS IS '템플릿경로'; + +COMMENT ON COLUMN COMTNTMPLATINFO.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_SE_CODE IS '템플릿구분코드'; + +COMMENT ON COLUMN COMTNTMPLATINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNTMPLATINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNTMPLATINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNTMPLATINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNTROBLINFO IS '장애정보'; + + + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_ID IS '장애ID'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_NM IS '장애명'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_KND IS '장애종류'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_DC IS '장애설명'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_OCCRRNC_TIME IS '장애발생시간'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_RQESTER_NM IS '장애요청자명'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_REQUST_TIME IS '장애요청시간'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_PROCESS_RESULT IS '장애처리결과'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_OPETR_NM IS '장애처리자명'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_PROCESS_TIME IS '장애처리시간'; + +COMMENT ON COLUMN COMTNTROBLINFO.PROCESS_STTUS IS '처리상태'; + +COMMENT ON COLUMN COMTNTROBLINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNTROBLINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNTROBLINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNTROBLINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNTRSMRCVLOG IS '송수신로그'; + + + +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_ID IS '요청ID'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.TRSMRCV_SE_CODE IS '송수신구분코드'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.CNTC_ID IS '연계ID'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.PROVD_INSTT_ID IS '제공기관ID'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.PROVD_SYS_ID IS '제공시스템ID'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.PROVD_SVC_ID IS '제공서비스ID'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_INSTT_ID IS '요청기관ID'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_SYS_ID IS '요청시스템ID'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_TRNSMIT_TM IS '요청송신시각'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_RECPTN_TM IS '요청수신시각'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.RSPNS_TRNSMIT_TM IS '응답송신시각'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.RSPNS_RECPTN_TM IS '응답수신시각'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.RESULT_CODE IS '결과코드'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.RESULT_MSSAGE IS '결과메시지'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.RQESTER_ID IS '요청자ID'; + + + + +COMMENT ON TABLE COMTNTRSMRCVMNTRNG IS '송수신모니터링'; + + + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.CNTC_ID IS '연계ID'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.TEST_CLASS_NM IS '테스트클래스명'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNTWITTER IS '트위터계정관리'; + + + +COMMENT ON COLUMN COMTNTWITTER.USER_ID IS '사용자ID'; + +COMMENT ON COLUMN COMTNTWITTER.CNSMR_KEY IS '사용자열쇠'; + +COMMENT ON COLUMN COMTNTWITTER.CNSMR_SECRET IS '사용자비밀'; + +COMMENT ON COLUMN COMTNTWITTER.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNTWITTER.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNTWITTER.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNTWITTER.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNUNITYLINK IS '통합링크'; + + + +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_ID IS '통합링크ID'; + +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_GROUP IS '통합링크그룹'; + +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_NM IS '통합링크명'; + +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_URL IS '통합링크URL'; + +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_DC IS '통합링크설명'; + +COMMENT ON COLUMN COMTNUNITYLINK.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNUNITYLINK.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNUNITYLINK.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNUNITYLINK.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_SE_CODE IS '통합링크구분코드'; + + + + +COMMENT ON TABLE COMTNUSERABSNCE IS '사용자부재'; + + + +COMMENT ON COLUMN COMTNUSERABSNCE.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNUSERABSNCE.USER_ABSNCE_AT IS '사용자부재여부'; + +COMMENT ON COLUMN COMTNUSERABSNCE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNUSERABSNCE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNUSERABSNCE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNUSERABSNCE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNUSERLOG IS '사용자로그'; + + + +COMMENT ON COLUMN COMTNUSERLOG.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTNUSERLOG.RQESTER_ID IS '요청자ID'; + +COMMENT ON COLUMN COMTNUSERLOG.SVC_NM IS '서비스명'; + +COMMENT ON COLUMN COMTNUSERLOG.METHOD_NM IS '메서드명'; + +COMMENT ON COLUMN COMTNUSERLOG.CREAT_CO IS '생성수'; + +COMMENT ON COLUMN COMTNUSERLOG.UPDT_CO IS '수정수'; + +COMMENT ON COLUMN COMTNUSERLOG.RDCNT IS '조회수'; + +COMMENT ON COLUMN COMTNUSERLOG.DELETE_CO IS '삭제수'; + +COMMENT ON COLUMN COMTNUSERLOG.OUTPT_CO IS '출력수'; + +COMMENT ON COLUMN COMTNUSERLOG.ERROR_CO IS '오류수'; + + + + +COMMENT ON TABLE COMTNVCATNMANAGE IS '휴가관리'; + + + +COMMENT ON COLUMN COMTNVCATNMANAGE.APPLCNT_ID IS '신청인ID'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.VCATN_SE IS '휴가구분'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.BGNDE IS '시작일'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.ENDDE IS '종료일'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.VCATN_RESN IS '휴가사유'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.REQST_DE IS '신청일'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.OCCRRNC_YEAR IS '발생년도'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.SANCTNER_ID IS '결재자ID'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.CONFM_AT IS '승인여부'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.SANCTN_DT IS '결재일시'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.RETURN_RESN IS '반환사유'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.INFRML_SANCTN_ID IS '약식결재ID'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.NOON_SE IS '정오구분'; + + + + +COMMENT ON TABLE COMTNWEBLOG IS '웹로그'; + + + +COMMENT ON COLUMN COMTNWEBLOG.REQUST_ID IS '요청ID'; + +COMMENT ON COLUMN COMTNWEBLOG.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTNWEBLOG.URL IS 'URL'; + +COMMENT ON COLUMN COMTNWEBLOG.RQESTER_ID IS '요청자ID'; + +COMMENT ON COLUMN COMTNWEBLOG.RQESTER_IP IS '요청자IP'; + + + + +COMMENT ON TABLE COMTNWIKIBKMK IS 'Wiki북마크'; + + + +COMMENT ON COLUMN COMTNWIKIBKMK.WIKI_BKMK_ID IS 'Wiki즐겨찾기ID'; + +COMMENT ON COLUMN COMTNWIKIBKMK.USER_ID IS '사용자ID'; + +COMMENT ON COLUMN COMTNWIKIBKMK.WIKI_BKMK_NM IS 'Wiki북마크명'; + +COMMENT ON COLUMN COMTNWIKIBKMK.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNWIKIBKMK.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNWIKIBKMK.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNWIKIBKMK.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNWIKMNTHNGREPRT IS '주간/월간보고정보'; + + + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPRT_ID IS '보고서ID'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPRT_SE IS '보고서구분'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPRT_SJ IS '보고서제목'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORT_DE IS '보고일'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.WRTER_ID IS '작성자ID'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORTR_ID IS '보고자ID'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORT_BGNDE IS '보고시작일'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORT_ENDDE IS '보고종료일'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.THSWIK_REPORT_CN IS '금주보고내용'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.NEXTWIK_REPORT_CN IS '차주보고내용'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.PARTCLR_MATTER IS '특이사항'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.CONFM_DT IS '승인일시'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNWORDDICARYINFO IS '용어사전정보'; + + + +COMMENT ON COLUMN COMTNWORDDICARYINFO.WORD_ID IS '용어ID'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.WORD_NM IS '용어명'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.ENG_NM IS '영문명'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.WORD_DC IS '용어설명'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.SYNONM IS '동의어'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTRDNMADRZIP IS '도로명주소'; + + + +COMMENT ON COLUMN COMTRDNMADRZIP.SN IS '일련번호'; + +COMMENT ON COLUMN COMTRDNMADRZIP.RDMN_CODE IS '도로명코드'; + +COMMENT ON COLUMN COMTRDNMADRZIP.CTPRVN_NM IS '시도명'; + +COMMENT ON COLUMN COMTRDNMADRZIP.SIGNGU_NM IS '시군구명'; + +COMMENT ON COLUMN COMTRDNMADRZIP.RDMN IS '도로명'; + +COMMENT ON COLUMN COMTRDNMADRZIP.BDNBR_MNNM IS '건물번호본번'; + +COMMENT ON COLUMN COMTRDNMADRZIP.BDNBR_SLNO IS '건물번호부번'; + +COMMENT ON COLUMN COMTRDNMADRZIP.BULD_NM IS '건물명'; + +COMMENT ON COLUMN COMTRDNMADRZIP.DETAIL_BULD_NM IS '상세건물명'; + +COMMENT ON COLUMN COMTRDNMADRZIP.ZIP IS '우편번호'; + +COMMENT ON COLUMN COMTRDNMADRZIP.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTRDNMADRZIP.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTRDNMADRZIP.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTRDNMADRZIP.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTSBBSSUMMARY IS '게시물통계요약'; + + + +COMMENT ON COLUMN COMTSBBSSUMMARY.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.STATS_SE IS '통계구분'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.DETAIL_STATS_SE IS '세부통계구분'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.CREAT_CO IS '생성수'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.TOT_RDCNT IS '총조회수'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.AVRG_RDCNT IS '평균조회수'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.TOP_INQIRE_BBSCTT_ID IS '최고조회게시글ID'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.MUMM_INQIRE_BBSCTT_ID IS '최소조회게시글ID'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.TOP_NTCR_ID IS '최고게시자ID'; + + + + +COMMENT ON TABLE COMTSSYSLOGSUMMARY IS '시스템로그요약'; + + + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.SVC_NM IS '서비스명'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.METHOD_NM IS '메서드명'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.CREAT_CO IS '생성수'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.UPDT_CO IS '수정수'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.RDCNT IS '조회수'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.DELETE_CO IS '삭제수'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.OUTPT_CO IS '출력수'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.ERROR_CO IS '오류수'; + + + + +COMMENT ON TABLE COMTSTRSMRCVLOGSUMMARY IS '송수신로그요약'; + + + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.TRSMRCV_SE_CODE IS '송수신구분코드'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.PROVD_INSTT_ID IS '제공기관ID'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.PROVD_SYS_ID IS '제공시스템ID'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.PROVD_SVC_ID IS '제공서비스ID'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.REQUST_INSTT_ID IS '요청기관ID'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.REQUST_SYS_ID IS '요청시스템ID'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.RDCNT IS '조회수'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.ERROR_CO IS '오류수'; + + + + +COMMENT ON TABLE COMTSUSERSUMMARY IS '사용자통계요약'; + + + +COMMENT ON COLUMN COMTSUSERSUMMARY.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTSUSERSUMMARY.STATS_SE IS '통계구분'; + +COMMENT ON COLUMN COMTSUSERSUMMARY.DETAIL_STATS_SE IS '세부통계구분'; + +COMMENT ON COLUMN COMTSUSERSUMMARY.USER_CO IS '사용자수'; + + + + +COMMENT ON TABLE COMTSWEBLOGSUMMARY IS '웹로그 요약'; + + + +COMMENT ON COLUMN COMTSWEBLOGSUMMARY.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTSWEBLOGSUMMARY.URL IS 'URL'; + +COMMENT ON COLUMN COMTSWEBLOGSUMMARY.RDCNT IS '조회수'; + + + + +COMMENT ON TABLE IDS IS 'IDS'; + + + +COMMENT ON COLUMN IDS.IDGEN_TABLE_NM IS 'IDGEN테이블명'; + +COMMENT ON COLUMN IDS.IDGEN_NEXT_ID IS 'IDGEN다음ID'; + + + + +COMMENT ON TABLE IMGTEMP IS 'IMGTEMP'; + + + +COMMENT ON COLUMN IMGTEMP.ORGNZT_CODE IS '조직코드'; + +COMMENT ON COLUMN IMGTEMP.ERNCSL_SE IS '전자관인구분'; + +COMMENT ON COLUMN IMGTEMP.IMAGE_INFO IS '이미지정보'; + +COMMENT ON COLUMN IMGTEMP.IMAGE_TY IS '이미지유형'; + + + + +COMMENT ON TABLE J_ATTACHFILE IS 'Jfile업로드'; + + + +COMMENT ON COLUMN J_ATTACHFILE.FILE_ID IS '파일 아이디'; + +COMMENT ON COLUMN J_ATTACHFILE.FILE_SEQ IS '파일 순번'; + +COMMENT ON COLUMN J_ATTACHFILE.FILE_NAME IS '파일명'; + +COMMENT ON COLUMN J_ATTACHFILE.FILE_SIZE IS '파일 사이즈'; + +COMMENT ON COLUMN J_ATTACHFILE.FILE_MASK IS '파일 마스크'; + +COMMENT ON COLUMN J_ATTACHFILE.DOWNLOAD_COUNT IS '다운로드 횟수'; + +COMMENT ON COLUMN J_ATTACHFILE.DOWNLOAD_EXPIRE_DATE IS '다운로드 만료일'; + +COMMENT ON COLUMN J_ATTACHFILE.DOWNLOAD_LIMIT_COUNT IS '다운로드 제한 횟수'; + +COMMENT ON COLUMN J_ATTACHFILE.REG_DATE IS '등록일'; + +COMMENT ON COLUMN J_ATTACHFILE.DELETE_YN IS '삭제 구분'; + + + + +COMMENT ON TABLE COMTNBLOG IS '블로그게시판'; + + + +COMMENT ON COLUMN COMTNBLOG.BBS_ID IS '게시판 ID'; + +COMMENT ON COLUMN COMTNBLOG.BLOG_AT IS '블로그 여부'; + +COMMENT ON COLUMN COMTNBLOG.BLOG_ID IS '블로그 ID'; + +COMMENT ON COLUMN COMTNBLOG.BLOG_INTRCN IS '블로그 소개'; + +COMMENT ON COLUMN COMTNBLOG.BLOG_NM IS '블로그 명'; + +COMMENT ON COLUMN COMTNBLOG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBLOG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBLOG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBLOG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBLOG.REGIST_SE_CODE IS '등록구분코드'; + +COMMENT ON COLUMN COMTNBLOG.TMPLAT_ID IS '템플릿 ID'; + +COMMENT ON COLUMN COMTNBLOG.USE_AT IS '사용여부'; + + + + +COMMENT ON TABLE COMTNBLOGUSER IS '블로그사용자'; + + + +COMMENT ON COLUMN COMTNBLOGUSER.BLOG_ID IS '블로그 ID'; + +COMMENT ON COLUMN COMTNBLOGUSER.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNBLOGUSER.FRST_REGISTER_ID IS '최초등록자 ID'; + +COMMENT ON COLUMN COMTNBLOGUSER.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBLOGUSER.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBLOGUSER.LAST_UPDUSR_ID IS '최종수정자 ID'; + +COMMENT ON COLUMN COMTNBLOGUSER.MBER_STTUS IS '회원상태'; + +COMMENT ON COLUMN COMTNBLOGUSER.MNGR_AT IS '관리자여부'; + +COMMENT ON COLUMN COMTNBLOGUSER.SBSCRB_DE IS '가입일자'; + +COMMENT ON COLUMN COMTNBLOGUSER.SECSN_DE IS '탈퇴일'; + +COMMENT ON COLUMN COMTNBLOGUSER.USE_AT IS '사용여부'; \ No newline at end of file Index: base3.10/script/comment/cubrid/egov_cubrid_comment.sql =================================================================== --- base3.10/script/comment/cubrid/egov_cubrid_comment.sql (nonexistent) +++ base3.10/script/comment/cubrid/egov_cubrid_comment.sql (revision 7) @@ -0,0 +1,2142 @@ + +-- Cubrid Manager에서 DBA 권한에서 실행해야 함. + +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcode','*','행정코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','*','행정코드수신로그',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmnclcode','*','공통분류코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmncode','*','공통코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmndetailcode','*','공통상세코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtczip','*','우편번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtecopseq','*','COMTECOPSEQ',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthconfmhistory','*','승인이력',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthdbmntrngloginfo','*','DB서비스모니터링로그정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemaildsptchmanage','*','메일발신관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','*','업무사용자정보변경내역',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthhttpmonloginfo','*','HTTP서비스모니터링로그정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthprogrmchangedtls','*','프로그램변경내역',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthsyshist','*','시스템이력',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthtrsmrcvmntrngloginfo','*','송수신모니터링로그정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbk','*','주소록',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbkmanage','*','주소록관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadministrationword','*','행정용어사전관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnannvrsrymanage','*','기념일정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnanswer','*','댓글',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnauthorgroupinfo','*','권한그룹정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnauthorinfo','*','권한정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnauthorrolerelate','*','권한롤관계',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','*','백업작업',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupresult','*','백업결과',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupschduldfk','*','백업스케줄요일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbanner','*','배너',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchopert','*','배치작업',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchresult','*','배치결과',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchschdul','*','배치스케줄',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchschduldfk','*','배치스케줄요일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','*','게시판',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','*','게시판마스터',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmasteroptn','*','게시판마스터옵션',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsuse','*','게시판활용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbkmkmenumanageresult','*','바로가기 메뉴 등록',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtceckmanage','*','당직체크관리정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtdiary','*','COMTNBNDTDIARY',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtmanage','*','당직관리정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclub','*','동호회속성',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclubuser','*','동호회사용자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmnty','*','커뮤니티 속성',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmntyuser','*','커뮤니티사용자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','*','상담내역',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcinstt','*','연계기관',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessage','*','연계메시지',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessageitem','*','연계메시지항목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcservice','*','연계서비스',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcsystem','*','연계시스템',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntntslist','*','컨텐츠목록',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncomment','*','댓글',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','*','출퇴근관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncpyrhtinfo','*','저작권정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','*','경조사정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','*','지식정보요청제공',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','*','지식정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapkno','*','지식맵(유형별)',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapteam','*','지식맵(조직별)',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndampro','*','지식전문가',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndbmntrng','*','DB서비스모니터링',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjob','*','부서업무정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjobbx','*','부서업무함',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndiaryinfo','*','일지정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndtausestats','*','자료이용현황통계',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','*','업무사용자정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrscrtyestbs','*','사용자보안설정',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','*','기업회원',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventatdrn','*','행사참석자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','*','행사/이벤트정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','*','행사관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','*','외부인사정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfaqinfo','*','FAQ정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfile','*','파일속성',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfiledetail','*','파일상세정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrng','*','파일시스템모니터링',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrngloginfo','*','파일시스템모니터링로그정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfxtrsmanage','*','COMTNFXTRSMANAGE',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','*','일반회원',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhpcminfo','*','도움말정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhttpmon','*','HTTP서비스모니터링',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlinfopolicy','*','개인정보정책확인',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlpgecntnts','*','마이페이지 컨텐츠',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlpgeestbs','*','마이페이지 설정',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlyrycmanage','*','개인별연차관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninfrmlsanctn','*','약식결재정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','*','기관코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','*','기관코드수신로그',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnintnetsvc','*','인터넷서비스',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdul','*','간부일정정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdulde','*','COMTNLEADERSCHDULDE',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleadersttus','*','간부상태정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginlog','*','접속로그',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginpolicy','*','로그인정책',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginscrinimage','*','로그인화면이미지',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmainimage','*','메인이미지',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','*','COMTNMEMOREPRT',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemotodo','*','메모할일정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmenucreatdtls','*','메뉴생성내역',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmenuinfo','*','메뉴정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','*','회의정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacefxtrs','*','회의실비품',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacemanage','*','회의실관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplaceresve','*','회의실예약정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','*','명함정보속성',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrduser','*','명함사용자속성',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnewsinfo','*','뉴스정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnote','*','쪽지관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnoterecptn','*','받은쪽지함관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnotetrnsmit','*','보낸쪽지함관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntfcinfo','*','정보알림',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnttstats','*','게시물통계',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrkinfo','*','네트워크정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrng','*','네트워크서비스모니터링',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrngloginfo','*','네트워크서비스모니터링로그정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinemanual','*','온라인메뉴얼',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepolliem','*','온라인POLL항목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollmanage','*','온라인POLL관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollresult','*','온라인POLL결과',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnorgnztinfo','*','조직정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','*','팝업 정보 관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprivacylog','*','개인정보조회 로그',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmon','*','프로세스모니터링',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmonloginfo','*','프로세스모니터링로그정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprogrmlist','*','프로그램목록',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyinfo','*','프록시정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyloginfo','*','프록시로그정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','*','QA정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqestnrinfo','*','설문지정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnriem','*','설문항목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrqesitm','*','설문문항',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrespondinfo','*','설문응답자정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrspnsresult','*','설문응답결과',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrtmplat','*','설문템플릿',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrd','*','최근검색어',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrdmanage','*','최근검색어관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecomendsiteinfo','*','추천사이트정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnreprtstats','*','보고서통계',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrestde','*','휴일관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroleinfo','*','롤정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroles_hierarchy','*','롤 계층구조',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroughmap','*','약도관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','*','RSS관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','*','포상관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','*','일정정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnscrap','*','스크랩',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','*','서버장비정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmnrelate','*','서버장비관계',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverinfo','*','서버정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverresrceloginfo','*','서버자원로그정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitelist','*','사이트목록',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitemap','*','사이트맵',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsms','*','문자메시지',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsmsrecptn','*','문자메시지수신',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstplatinfo','*','약관정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstsfdg','*','만족도',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsynchrnserverinfo','*','동기화서버정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','*','시스템로그',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','*','시스템연계',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntmplatinfo','*','템플릿',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','*','장애정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','*','송수신로그',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvmntrng','*','송수신모니터링',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntwitter','*','트위터계정관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnunitylink','*','통합링크',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserabsnce','*','사용자부재',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserlog','*','사용자로그',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','*','휴가관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnweblog','*','웹로그',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikibkmk','*','Wiki북마크',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','*','주간/월간보고정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnworddicaryinfo','*','용어사전정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtrdnmadrzip','*','도로명주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsbbssummary','*','게시물통계요약',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtssyslogsummary','*','시스템로그요약',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtstrsmrcvlogsummary','*','송수신로그요약',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsusersummary','*','사용자통계요약',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsweblogsummary','*','웹로그 요약',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comvnusermaster','*',null,SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('ids','*','IDS',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('imgtemp','*','IMGTEMP',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('j_attachfile','*','Jfile업로드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnblog','*','블로그게시판',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbloguser','*','블로그사용자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtdiary','*','당직관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdulde','*','간부일정관리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','*','메모보고관리',SYS_TIMESTAMP,'DBA'); + + +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcode','abl_de','폐지일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcode','administ_zone_code','행정구역코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcode','administ_zone_nm','행정구역명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcode','administ_zone_se','행정구역구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcode','creat_de','생성일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcode','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcode','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcode','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcode','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcode','upper_administ_zone_code','상위행정구역코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcode','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','abl_de','폐지일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','abl_ennc','폐지유무',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','administ_zone_code','행정구역코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','administ_zone_nm','행정구역명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','administ_zone_se','행정구역구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','change_se_code','변경구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','creat_de','생성일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','ctprvn_code','시도코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','emd_code','읍면동코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','li_code','리코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','lowest_administ_zone_nm','최하위행정구역명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','occrrnc_de','발생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','opert_sn','작업일련번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','process_se','처리구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtcadministcoderecptnlog','signgu_code','시군구코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmnclcode','cl_code','분류코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmnclcode','cl_code_dc','분류코드설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmnclcode','cl_code_nm','분류코드명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmnclcode','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmnclcode','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmnclcode','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmnclcode','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmnclcode','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmncode','cl_code','분류코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmncode','code_id','코드ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmncode','code_id_dc','코드ID설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmncode','code_id_nm','코드ID명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmncode','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmncode','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmncode','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmncode','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmncode','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmndetailcode','code','코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmndetailcode','code_dc','코드설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmndetailcode','code_id','코드ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmndetailcode','code_nm','코드명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmndetailcode','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmndetailcode','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmndetailcode','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmndetailcode','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtccmmndetailcode','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtczip','ctprvn_nm','시도명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtczip','emd_nm','읍면동명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtczip','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtczip','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtczip','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtczip','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtczip','li_buld_nm','리건물명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtczip','lnbr_dong_ho','번지동호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtczip','signgu_nm','시군구명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtczip','sn','일련번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtczip','zip','우편번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtecopseq','next_id','다음아이디',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtecopseq','table_name','테이블명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthconfmhistory','confm_de','승인일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthconfmhistory','confm_no','승인번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthconfmhistory','confm_rqester_id','승인요청자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthconfmhistory','confm_sttus_code','승인상태코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthconfmhistory','confm_ty_code','승인유형코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthconfmhistory','confmer_id','승인자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthconfmhistory','opert_id','작업ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthconfmhistory','opert_ty_code','작업유형코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthconfmhistory','trget_job_id','대상업무ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthconfmhistory','trget_job_ty_code','대상업무유형코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthdbmntrngloginfo','ceck_sql','체크SQL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthdbmntrngloginfo','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthdbmntrngloginfo','data_sourc_nm','데이터소스명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthdbmntrngloginfo','dbms_knd','DBMS종류',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthdbmntrngloginfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthdbmntrngloginfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthdbmntrngloginfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthdbmntrngloginfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthdbmntrngloginfo','log_id','로그ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthdbmntrngloginfo','log_info','로그정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthdbmntrngloginfo','mngr_email_adres','관리자이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthdbmntrngloginfo','mngr_nm','관리자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthdbmntrngloginfo','mntrng_sttus','모니터링상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthdbmntrngloginfo','server_nm','서버명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemaildsptchmanage','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemaildsptchmanage','dsptch_dt','발신일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemaildsptchmanage','email_cn','이메일내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemaildsptchmanage','mssage_id','메시지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemaildsptchmanage','rcver','수신자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemaildsptchmanage','sj','제목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemaildsptchmanage','sndng_result_code','발송결과코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemaildsptchmanage','sndr','발신자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','area_no','지역번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','brthdy','생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','change_de','변경일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','detail_adres','상세주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','email_adres','이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','empl_no','사원번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','emplyr_id','업무사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','emplyr_sttus_code','사용자상태코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','esntl_id','고유ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','fxnum','팩스번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','group_id','그룹ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','house_adres','주택주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','house_end_telno','주택끝전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','house_middle_telno','주택중간전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','mbtlnum','이동전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','offm_telno','사무실전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','orgnzt_id','조직ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','pstinst_code','소속기관코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','sexdstn_code','성별코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthemplyrinfochangedtls','zip','우편번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthhttpmonloginfo','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthhttpmonloginfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthhttpmonloginfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthhttpmonloginfo','http_sttus_code','HTTP상태코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthhttpmonloginfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthhttpmonloginfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthhttpmonloginfo','log_id','로그ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthhttpmonloginfo','log_info','로그정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthhttpmonloginfo','mngr_email_adres','관리자이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthhttpmonloginfo','mngr_nm','관리자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthhttpmonloginfo','site_url','사이트URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthhttpmonloginfo','sys_id','시스템ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthhttpmonloginfo','websvc_knd','웹서비스종류',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthprogrmchangedtls','change_requst_cn','변경요청내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthprogrmchangedtls','opetr_id','처리자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthprogrmchangedtls','process_de','처리일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthprogrmchangedtls','process_sttus_code','처리상태코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthprogrmchangedtls','progrm_file_nm','프로그램파일명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthprogrmchangedtls','requst_no','요청번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthprogrmchangedtls','requst_process_cn','요청처리내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthprogrmchangedtls','requst_sj','요청제목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthprogrmchangedtls','rqestde','요청일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthprogrmchangedtls','rqester_id','요청자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthsyshist','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthsyshist','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthsyshist','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthsyshist','hist_cn','이력내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthsyshist','hist_id','이력ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthsyshist','hist_se_code','이력구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthsyshist','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthsyshist','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthsyshist','sys_nm','시스템명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthtrsmrcvmntrngloginfo','cntc_id','연계ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthtrsmrcvmntrngloginfo','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthtrsmrcvmntrngloginfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthtrsmrcvmntrngloginfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthtrsmrcvmntrngloginfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthtrsmrcvmntrngloginfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthtrsmrcvmntrngloginfo','log_id','로그ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthtrsmrcvmntrngloginfo','log_info','로그정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthtrsmrcvmntrngloginfo','mngr_email_adres','관리자이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthtrsmrcvmntrngloginfo','mngr_nm','관리자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthtrsmrcvmntrngloginfo','mntrng_sttus','모니터링상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comthtrsmrcvmntrngloginfo','test_class_nm','테스트클래스명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbk','adbk_constnt_id','주소록구성원ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbk','adbk_id','주소록ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbk','email_adres','이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbk','emplyr_id','업무사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbk','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbk','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbk','fxnum','팩스번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbk','house_telno','주택전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbk','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbk','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbk','mbtlnum','이동전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbk','ncrd_id','명함ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbk','nm','이름',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbk','offm_telno','사무실전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbkmanage','adbk_id','주소록ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbkmanage','adbk_nm','주소록명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbkmanage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbkmanage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbkmanage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbkmanage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbkmanage','othbc_scope','공개범위',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbkmanage','trget_orgnzt_id','대상조직ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbkmanage','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadbkmanage','wrter_id','작성자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadministrationword','administ_word_abrv_nm','행정용어약어명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadministrationword','administ_word_dc','행정용어설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadministrationword','administ_word_dfn','행정용어정의',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadministrationword','administ_word_eng_nm','행정용어영문명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadministrationword','administ_word_id','행정용어ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadministrationword','administ_word_nm','행정용어명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadministrationword','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadministrationword','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadministrationword','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadministrationword','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadministrationword','relate_std_word','관계표준용어',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadministrationword','thema_relm','주제영역',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnadministrationword','word_se','용어구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnannvrsrymanage','annvrsry','기념일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnannvrsrymanage','annvrsry_id','기념일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnannvrsrymanage','annvrsry_nm','기념일명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnannvrsrymanage','annvrsry_ntcn_bgnde','알림시작일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnannvrsrymanage','annvrsry_ntcn_setup','알림설정',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnannvrsrymanage','annvrsry_se','기념일구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnannvrsrymanage','cldr_se','달력구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnannvrsrymanage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnannvrsrymanage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnannvrsrymanage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnannvrsrymanage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnannvrsrymanage','memo','메모',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnannvrsrymanage','reptit_at','반복여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnannvrsrymanage','user_id','사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnanswer','answer','댓글',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnanswer','answer_no','답글번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnanswer','bbs_id','게시판ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnanswer','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnanswer','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnanswer','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnanswer','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnanswer','ntt_id','게시물ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnanswer','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnanswer','wrter_id','작성자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnanswer','wrter_nm','작성자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnauthorgroupinfo','group_creat_de','그룹생성일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnauthorgroupinfo','group_dc','그룹설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnauthorgroupinfo','group_id','그룹ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnauthorgroupinfo','group_nm','그룹명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnauthorinfo','author_code','권한코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnauthorinfo','author_creat_de','권한생성일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnauthorinfo','author_dc','권한설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnauthorinfo','author_nm','권한명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnauthorrolerelate','author_code','권한코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnauthorrolerelate','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnauthorrolerelate','role_code','롤코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','backup_opert_id','백업작업ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','backup_opert_nm','백업작업명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','backup_orginl_drctry','백업원본디렉토리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','backup_stre_drctry','백업저장디렉토리',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','cmprs_se','압축구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','execut_cycle','실행주기',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','execut_schdul_de','실행일정일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','execut_schdul_hour','실행일정시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','execut_schdul_mnt','실행일정분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','execut_schdul_secnd','실행일정초',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupopert','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupresult','backup_file','백업파일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupresult','backup_opert_id','백업작업ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupresult','backup_result_id','백업결과ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupresult','error_info','오류정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupresult','execut_begin_tm','실행시작시각',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupresult','execut_end_tm','실행종료시각',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupresult','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupresult','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupresult','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupresult','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupresult','sttus','상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupschduldfk','backup_opert_id','백업작업ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbackupschduldfk','execut_schdul_dfk_se','실행일정요일구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbanner','banner_dc','배너설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbanner','banner_id','배너ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbanner','banner_image','배너이미지',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbanner','banner_image_file','배너이미지파일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbanner','banner_nm','배너명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbanner','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbanner','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbanner','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbanner','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbanner','link_url','링크URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbanner','reflct_at','반영여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbanner','sort_ordr','정렬순서',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchopert','batch_opert_id','배치작업ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchopert','batch_opert_nm','배치작업명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchopert','batch_progrm','배치프로그램',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchopert','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchopert','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchopert','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchopert','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchopert','paramtr','파라미터',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchopert','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchresult','batch_opert_id','배치작업ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchresult','batch_result_id','배치결과ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchresult','batch_schdul_id','배치일정ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchresult','error_info','오류정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchresult','execut_begin_tm','실행시작시각',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchresult','execut_end_tm','실행종료시각',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchresult','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchresult','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchresult','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchresult','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchresult','paramtr','파라미터',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchresult','sttus','상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchschdul','batch_opert_id','배치작업ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchschdul','batch_schdul_id','배치일정ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchschdul','execut_cycle','실행주기',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchschdul','execut_schdul_de','실행일정일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchschdul','execut_schdul_hour','실행일정시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchschdul','execut_schdul_mnt','실행일정분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchschdul','execut_schdul_secnd','실행일정초',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchschdul','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchschdul','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchschdul','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchschdul','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchschduldfk','batch_schdul_id','배치일정ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbatchschduldfk','execut_schdul_dfk_se','실행일정요일구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','answer_at','댓글여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','answer_lc','댓글위치',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','bbs_id','게시판ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','ntce_bgnde','게시시작일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','ntce_endde','게시종료일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','ntcr_id','게시자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','ntcr_nm','게시자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','ntt_cn','게시물내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','ntt_id','게시물ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','ntt_no','게시물번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','ntt_sj','게시물제목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','parntsctt_no','부모글번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','password','비밀번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','rdcnt','조회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','sort_ordr','정렬순서',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','blog_id','블로그 ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','notice_at','공지사항여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','secret_at','비밀글여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbs','sj_bold_at','제목볼드여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','atch_posbl_file_number','첨부가능파일숫자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','atch_posbl_file_size','첨부가능파일사이즈',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','bbs_id','게시판ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','bbs_intrcn','게시판소개',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','bbs_nm','게시판명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','bbs_ty_code','게시판유형코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','file_atch_posbl_at','파일첨부가능여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','reply_posbl_at','답장가능여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','tmplat_id','템플릿ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','blog_at','블로그 여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','blog_id','블로그 ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmaster','cmmnty_id','커뮤니티ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmasteroptn','answer_at','댓글여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmasteroptn','bbs_id','게시판ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmasteroptn','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmasteroptn','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmasteroptn','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmasteroptn','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsmasteroptn','stsfdg_at','만족도여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsuse','bbs_id','게시판ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsuse','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsuse','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsuse','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsuse','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsuse','regist_se_code','등록구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsuse','trget_id','대상ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbbsuse','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbkmkmenumanageresult','emplyr_id','업무사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbkmkmenumanageresult','menu_id','메뉴ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbkmkmenumanageresult','menu_nm','메뉴명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbkmkmenumanageresult','progrm_stre_path','프로그램저장경로',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtceckmanage','bndt_ceck_code','당직체크코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtceckmanage','bndt_ceck_code_nm','당직체크코드명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtceckmanage','bndt_ceck_se','당직체크구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtceckmanage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtceckmanage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtceckmanage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtceckmanage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtceckmanage','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtdiary','bndt_ceck_code','당직체크코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtdiary','bndt_ceck_se','당직체크구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtdiary','bndt_de','당직일자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtdiary','bndt_id','당직ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtdiary','chck_sttus','점검상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtdiary','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtdiary','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtdiary','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtdiary','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtmanage','bndt_de','당직일자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtmanage','bndt_id','당직ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtmanage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtmanage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtmanage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtmanage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbndtmanage','rm','비고',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclub','clb_id','동호회ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclub','clb_intrcn','동호회소개',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclub','clb_nm','동호회명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclub','cmmnty_id','커뮤니티ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclub','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclub','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclub','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclub','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclub','regist_se_code','등록구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclub','tmplat_id','템플릿ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclub','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclubuser','clb_id','동호회ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclubuser','cmmnty_id','커뮤니티ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclubuser','emplyr_id','업무사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclubuser','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclubuser','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclubuser','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclubuser','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclubuser','oprtr_at','운영인여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclubuser','sbscrb_de','가입일자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclubuser','secsn_de','탈퇴일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnclubuser','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmnty','cmmnty_id','커뮤니티ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmnty','cmmnty_intrcn','커뮤니티소개',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmnty','cmmnty_nm','커뮤니티명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmnty','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmnty','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmnty','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmnty','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmnty','regist_se_code','등록구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmnty','tmplat_id','템플릿ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmnty','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmntyuser','cmmnty_id','커뮤니티ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmntyuser','emplyr_id','업무사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmntyuser','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmntyuser','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmntyuser','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmntyuser','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmntyuser','mngr_at','관리자여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmntyuser','sbscrb_de','가입일자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmntyuser','secsn_de','탈퇴일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmntyuser','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncmmntyuser','mber_sttus','회원 상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','area_no','지역번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','cnslt_cn','상담내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','cnslt_id','상담ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','cnslt_sj','상담제목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','email_adres','이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','email_answer_at','메일답변여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','end_mbtlnum','끝이동전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','end_telno','끝전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','frst_mbtlnum','처음휴대폰번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','managt_cn','조치내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','managt_de','조치일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','middle_mbtlnum','중간이동전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','middle_telno','중간전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','othbc_at','공개여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','qna_process_sttus_code','질의응답처리상태코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','rdcnt','조회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','writng_de','작성일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','writng_password','작성비밀번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncnsltlist','wrter_nm','작성자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcinstt','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcinstt','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcinstt','instt_id','기관ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcinstt','instt_nm','기관명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcinstt','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcinstt','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcinstt','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessage','cntc_mssage_id','연계메시지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessage','cntc_mssage_nm','연계메시지명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessage','upper_cntc_mssage_id','상위연계메시지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessage','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessageitem','cntc_mssage_id','연계메시지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessageitem','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessageitem','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessageitem','iem_id','항목ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessageitem','iem_lt','항목길이',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessageitem','iem_nm','항목명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessageitem','iem_ty','항목유형',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessageitem','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessageitem','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcmessageitem','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcservice','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcservice','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcservice','instt_id','기관ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcservice','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcservice','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcservice','requst_mssage_id','요청메시지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcservice','rspns_mssage_id','응답메시지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcservice','svc_id','서비스ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcservice','svc_nm','서비스명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcservice','sys_id','시스템ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcservice','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcsystem','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcsystem','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcsystem','instt_id','기관ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcsystem','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcsystem','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcsystem','sys_id','시스템ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcsystem','sys_ip','시스템IP',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcsystem','sys_nm','시스템명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntcsystem','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntntslist','cntnts_id','컨텐츠ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncntntslist','emplyr_id','업무사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncomment','answer','댓글',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncomment','answer_no','댓글번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncomment','bbs_id','게시판ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncomment','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncomment','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncomment','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncomment','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncomment','ntt_id','게시물ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncomment','password','비밀번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncomment','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncomment','wrter_id','작성자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncomment','wrter_nm','작성자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','emplyr_id','업무사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','orgnzt_id','조직ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','ovtmwrk_hours','초과근무시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','rm','비고',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','wrk_end_status','퇴근상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','wrk_end_time','퇴근시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','wrk_hours','근무시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','wrk_start_status','출근상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','wrk_start_time','출근시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','wrkt_dt','출근날짜',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncommute','wrktm_id','출퇴근 구분 ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncpyrhtinfo','cpyrht_id','저작권ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncpyrhtinfo','cpyrht_prtc_policy_cn','저작권보호정책내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncpyrhtinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncpyrhtinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncpyrhtinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtncpyrhtinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','brthdy','생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','confm_at','승인여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','ctsnn_code','경조코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','ctsnn_id','경조ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','ctsnn_nm','경조명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','infrml_sanctn_id','약식결재ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','occrrnc_de','발생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','relate','관계',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','reqst_de','신청일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','return_resn','반환사유',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','rm','비고',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','sanctn_dt','결재일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','sanctner_id','결재자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','trgter_nm','대상자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnctsnnmanage','user_id','사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','answer_dp','답변깊이',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','answer_group_no','답변그룹번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','answer_ordr','답변순서',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','emplyr_id','업무사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','expert_id','전문가ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','knwldg_cn','지식내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','knwldg_id','지식ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','knwldg_nm','지식명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','knwldg_ty_code','지식유형코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','orgnzt_id','조직ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamcalres','parnts_knwldg_id','부모지식ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','colct_de','수집일자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','dsuse_de','폐기일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','emplyr_id','업무사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','evl_de','평가일자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','expert_id','전문가ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','knwldg_cn','지식내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','knwldg_evl','지식평가',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','knwldg_id','지식ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','knwldg_nm','지식명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','knwldg_ty_code','지식유형코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','kwrd','키워드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','orgnzt_id','조직ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndamknoifm','othbc_at','공개여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapkno','cl_de','분류일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapkno','expert_id','전문가ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapkno','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapkno','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapkno','knwldg_ty_code','지식유형코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapkno','knwldg_ty_nm','지식유형명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapkno','knwldg_url','지식URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapkno','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapkno','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapkno','orgnzt_id','조직ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapteam','cl_de','분류일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapteam','knwldg_url','지식URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapteam','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapteam','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapteam','orgnzt_id','조직ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndammapteam','orgnzt_nm','조직명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndampro','expert_confm_de','전문가승인일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndampro','expert_dc','전문가설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndampro','expert_grad','전문가등급',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndampro','expert_id','전문가ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndampro','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndampro','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndampro','knwldg_ty_code','지식유형코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndampro','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndampro','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndbmntrng','ceck_sql','체크SQL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndbmntrng','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndbmntrng','data_sourc_nm','데이터소스명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndbmntrng','dbms_knd','DBMS종류',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndbmntrng','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndbmntrng','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndbmntrng','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndbmntrng','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndbmntrng','mngr_email_adres','관리자이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndbmntrng','mngr_nm','관리자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndbmntrng','mntrng_sttus','모니터링상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndbmntrng','server_nm','서버명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjob','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjob','charger_id','담당자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjob','dept_job_cn','부서업무내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjob','dept_job_id','부서업무ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjob','dept_job_nm','부서업무명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjob','dept_jobbx_id','부서업무함ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjob','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjob','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjob','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjob','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjob','priort','우선순위',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjobbx','dept_id','부서ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjobbx','dept_jobbx_id','부서업무함ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjobbx','dept_jobbx_nm','부서업무함명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjobbx','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjobbx','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjobbx','indict_ordr','표시순서',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjobbx','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndeptjobbx','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndiaryinfo','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndiaryinfo','diary_id','일지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndiaryinfo','diary_nm','일지명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndiaryinfo','diary_progrsrt','일지진척율',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndiaryinfo','drct_matter','지시사항',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndiaryinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndiaryinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndiaryinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndiaryinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndiaryinfo','partclr_matter','특이사항',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndiaryinfo','schdul_id','일정ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndtausestats','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndtausestats','bbs_id','게시판ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndtausestats','dta_use_stats_id','자료사용통계ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndtausestats','file_sn','파일순번',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndtausestats','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndtausestats','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndtausestats','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndtausestats','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtndtausestats','ntt_id','게시물ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','area_no','지역번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','brthdy','생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','crtfc_dn_value','인증DN값',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','detail_adres','상세주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','email_adres','이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','empl_no','사원번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','emplyr_id','업무사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','emplyr_sttus_code','사용자상태코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','esntl_id','고유ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','fxnum','팩스번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','group_id','그룹ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','house_adres','주택주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','house_end_telno','주택끝전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','house_middle_telno','주택중간전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','ihidnum','주민등록번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','mbtlnum','이동전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','ofcps_nm','직위명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','offm_telno','사무실전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','orgnzt_id','조직ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','password','비밀번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','password_cnsr','비밀번호정답',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','password_hint','비밀번호힌트',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','pstinst_code','소속기관코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','sbscrb_de','가입일자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','sexdstn_code','성별코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','user_nm','사용자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','zip','우편번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','lock_at','잠금여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','lock_cnt','잠금회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrinfo','lock_last_pnttm','잠금최종시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrscrtyestbs','author_code','권한코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrscrtyestbs','mber_ty_code','회원유형코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnemplyrscrtyestbs','scrty_dtrmn_trget_id','보안설정대상ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','adres','주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','applcnt_email_adres','신청자이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','applcnt_ihidnum','신청인주민등록번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','applcnt_nm','신청인명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','area_no','지역번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','bizrno','사업자등록번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','cmpny_nm','회사명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','cxfc','대표이사',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','detail_adres','상세주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','entrprs_end_telno','기업끝전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','entrprs_mber_id','기업회원ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','entrprs_mber_password','기업회원비밀번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','entrprs_mber_password_cnsr','기업회원비밀번호정답',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','entrprs_mber_password_hint','기업회원비밀번호힌트',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','entrprs_mber_sttus','기업회원상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','entrprs_middle_telno','기업중간전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','entrprs_se_code','기업구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','esntl_id','고유ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','fxnum','팩스번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','group_id','그룹ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','induty_code','업종코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','jurirno','법인등록번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','sbscrb_de','가입일자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','zip','우편번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','lock_at','잠금여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','lock_cnt','잠금회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnentrprsmber','lock_last_pnttm','잠금최종시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventatdrn','applcnt_id','신청인ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventatdrn','confm_at','승인여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventatdrn','event_id','행사ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventatdrn','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventatdrn','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventatdrn','infrml_sanctn_id','약식결재ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventatdrn','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventatdrn','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventatdrn','reqst_de','신청일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventatdrn','return_resn','반환사유',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventatdrn','sanctn_dt','결재일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventatdrn','sanctner_id','결재자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','bsns_code','사업코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','bsns_year','사업년도',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','charger_nm','담당자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','event_cn','행사내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','event_confm_at','행사승인여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','event_confm_de','행사승인날짜',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','event_id','행사ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','event_svc_bgnde','행사서비스시작일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','event_svc_endde','행사서비스종료일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','event_ty_code','행사유형코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','prparetg_cn','준비물내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventinfo','svc_use_nmpr_co','서비스사용인원수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','ct_occrrnc_at','비용발생여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','event_auspc_instt_nm','행사주최기관명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','event_bgnde','행사시작일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','event_cn','행사내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','event_endde','행사종료일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','event_id','행사ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','event_mngt_instt_nm','행사주관기관명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','event_nm','행사명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','event_place','행사장소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','event_purps','행사목적',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','event_se','행사구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','partcpt_ct','참가비용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','psncpa','정원',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','rcept_bgnde','접수시작일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','rcept_endde','접수종료일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtneventmanage','refrn_url','참조URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','area_no','지역번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','brthdy','생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','email_adres','이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','end_telno','끝전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','event_id','행사ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','extrl_hr_id','외부인사ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','extrl_hr_nm','외부인사명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','middle_telno','중간전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','occp_ty_code','직업유형코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','psitn_instt_nm','소속기관명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnextrlhrinfo','sexdstn_code','성별코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfaqinfo','answer_cn','답변내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfaqinfo','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfaqinfo','faq_id','FAQID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfaqinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfaqinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfaqinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfaqinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfaqinfo','qestn_cn','질문내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfaqinfo','qestn_sj','질문제목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfaqinfo','qna_process_sttus_code','질의응답처리상태코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfaqinfo','rdcnt','조회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfile','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfile','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfile','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfiledetail','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfiledetail','file_cn','파일내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfiledetail','file_extsn','파일확장자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfiledetail','file_size','파일크기',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfiledetail','file_sn','파일순번',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfiledetail','file_stre_cours','파일저장경로',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfiledetail','orignl_file_nm','원파일명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfiledetail','stre_file_nm','저장파일명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrng','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrng','file_sys_id','파일시스템ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrng','file_sys_manage_nm','파일시스템관리명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrng','file_sys_nm','파일시스템명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrng','file_sys_size','파일시스템크기',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrng','file_sys_thrhld','파일시스템임계치',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrng','file_sys_usgqty','파일시스템사용량',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrng','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrng','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrng','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrng','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrng','mngr_email_adres','관리자이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrng','mngr_nm','관리자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrng','mntrng_sttus','모니터링상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrngloginfo','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrngloginfo','file_sys_id','파일시스템ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrngloginfo','file_sys_manage_nm','파일시스템관리명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrngloginfo','file_sys_nm','파일시스템명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrngloginfo','file_sys_size','파일시스템크기',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrngloginfo','file_sys_thrhld','파일시스템임계치',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrngloginfo','file_sys_usgqty','파일시스템사용량',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrngloginfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrngloginfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrngloginfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrngloginfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrngloginfo','log_id','로그ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrngloginfo','log_info','로그정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfilesysmntrngloginfo','mntrng_sttus','모니터링상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfxtrsmanage','fxtrs_code','비품코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfxtrsmanage','fxtrs_nm','비품명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfxtrsmanage','makr_nm','제작자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnfxtrsmanage','price','가격',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','adres','주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','area_no','지역번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','detail_adres','상세주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','end_telno','끝전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','esntl_id','고유ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','group_id','그룹ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','ihidnum','주민등록번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','mber_email_adres','회원이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','mber_fxnum','회원팩스번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','mber_id','회원ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','mber_nm','회원명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','mber_sttus','회원상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','mbtlnum','이동전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','middle_telno','중간전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','password','비밀번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','password_cnsr','비밀번호정답',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','password_hint','비밀번호힌트',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','sbscrb_de','가입일자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','sexdstn_code','성별코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','zip','우편번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','lock_at','잠금여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','lock_cnt','잠금회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtngnrlmber','lock_last_pnttm','잠금최종시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhpcminfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhpcminfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhpcminfo','hpcm_dc','도움말설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhpcminfo','hpcm_dfn','도움말정의',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhpcminfo','hpcm_id','도움말ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhpcminfo','hpcm_se_code','도움말구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhpcminfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhpcminfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhttpmon','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhttpmon','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhttpmon','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhttpmon','http_sttus_code','HTTP상태코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhttpmon','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhttpmon','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhttpmon','mngr_email_adres','관리자이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhttpmon','mngr_nm','관리자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhttpmon','site_url','사이트URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhttpmon','sys_id','시스템ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnhttpmon','websvc_knd','웹서비스종류',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlinfopolicy','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlinfopolicy','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlinfopolicy','indvdl_info_policy_agre_at','개인정보정책동의여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlinfopolicy','indvdl_info_policy_cn','개인정보정책내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlinfopolicy','indvdl_info_policy_id','개인정보정책ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlinfopolicy','indvdl_info_policy_nm','개인정보정책명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlinfopolicy','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlinfopolicy','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlpgecntnts','cntc_url','연계URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlpgecntnts','cntnts_dc','컨텐츠설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlpgecntnts','cntnts_id','컨텐츠ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlpgecntnts','cntnts_link_url','컨텐츠링크URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlpgecntnts','cntnts_nm','컨텐츠명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlpgecntnts','cntnts_use_at','컨텐츠사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlpgeestbs','algn_co','배열개수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlpgeestbs','algn_mthd','배열방식',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlpgeestbs','emplyr_id','업무사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlpgeestbs','titlebar_color','타이틀바색상',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlpgeestbs','upend_image','상단이미지',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlyrycmanage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlyrycmanage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlyrycmanage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlyrycmanage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlyrycmanage','occrrnc_year','발생년도',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlyrycmanage','remndr_yryc_co','잔여연차개수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlyrycmanage','use_yryc_co','사용연차개수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlyrycmanage','user_id','사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnindvdlyrycmanage','yryc_occrrnc_co','연차발생개수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninfrmlsanctn','applcnt_id','신청인ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninfrmlsanctn','confm_at','승인여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninfrmlsanctn','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninfrmlsanctn','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninfrmlsanctn','infrml_sanctn_id','약식결재ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninfrmlsanctn','job_se_code','업무구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninfrmlsanctn','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninfrmlsanctn','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninfrmlsanctn','reqst_de','신청일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninfrmlsanctn','return_resn','반환사유',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninfrmlsanctn','sanctn_dt','결재일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninfrmlsanctn','sanctner_id','결재자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','abl_de','폐지일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','abl_ennc','폐지유무',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','all_instt_nm','전체기관명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','best_instt_code','최상위기관코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','bsis_de','기초일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','change_de','변경일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','change_time','변경시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','creat_de','생성일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','fxnum','팩스번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','instt_abrv_nm','기관약어명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','instt_code','기관코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','instt_odr','기관차수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','instt_ty_lclas','기관유형대분류',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','instt_ty_mlsfc','기관유형중분류',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','instt_ty_sclas','기관유형소분류',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','lowest_instt_nm','최하위기관명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','odr','차수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','ord','서열',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','reprsnt_instt_code','대표기관코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','sort_ordr','정렬순서',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','telno','전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcode','upper_instt_code','상위기관코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','abl_de','폐지일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','abl_ennc','폐지유무',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','all_instt_nm','전체기관명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','best_instt_code','최상위기관코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','bsis_de','기초일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','change_de','변경일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','change_se_code','변경구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','change_time','변경시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','creat_de','생성일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','etc_code','기타코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','fxnum','팩스번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','instt_abrv_nm','기관약어명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','instt_code','기관코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','instt_odr','기관차수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','instt_ty_lclas','기관유형대분류',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','instt_ty_mlsfc','기관유형중분류',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','instt_ty_sclas','기관유형소분류',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','lowest_instt_nm','최하위기관명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','occrrnc_de','발생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','odr','차수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','opert_sn','작업일련번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','ord','서열',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','process_se','처리구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','reprsnt_instt_code','대표기관코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','sort_ordr','정렬순서',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','telno','전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtninsttcoderecptnlog','upper_instt_code','상위기관코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnintnetsvc','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnintnetsvc','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnintnetsvc','intnet_svc_dc','인터넷서비스설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnintnetsvc','intnet_svc_id','인터넷서비스ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnintnetsvc','intnet_svc_nm','인터넷서비스명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnintnetsvc','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnintnetsvc','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnintnetsvc','reflct_at','반영여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdul','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdul','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdul','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdul','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdul','leader_id','간부ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdul','reptit_se_code','반복구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdul','schdul_bgnde','일정시작일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdul','schdul_charger_id','일정담당자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdul','schdul_cn','일정내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdul','schdul_endde','일정종료일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdul','schdul_id','일정ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdul','schdul_nm','일정명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdul','schdul_place','일정장소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdul','schdul_se','일정구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdulde','schdul_de','일정일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleaderschdulde','schdul_id','일정ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleadersttus','frst_regist_pnttm','최초등록자시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleadersttus','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleadersttus','last_updt_pnttm','최종등록자시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleadersttus','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleadersttus','leader_id','간부ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnleadersttus','leader_sttus','간부상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginlog','conect_id','접속ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginlog','conect_ip','접속IP',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginlog','conect_mthd','접속방식',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginlog','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginlog','error_code','오류코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginlog','error_occrrnc_at','오류발생여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginlog','log_id','로그ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginpolicy','dplct_perm_at','중복허용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginpolicy','emplyr_id','업무사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginpolicy','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginpolicy','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginpolicy','ip_info','IP정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginpolicy','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginpolicy','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginpolicy','lmtt_at','제한여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginscrinimage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginscrinimage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginscrinimage','image','이미지',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginscrinimage','image_dc','이미지설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginscrinimage','image_file','이미지파일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginscrinimage','image_id','이미지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginscrinimage','image_nm','이미지명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginscrinimage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginscrinimage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnloginscrinimage','reflct_at','반영여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmainimage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmainimage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmainimage','image','이미지',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmainimage','image_dc','이미지설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmainimage','image_file','이미지파일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmainimage','image_id','이미지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmainimage','image_nm','이미지명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmainimage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmainimage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmainimage','reflct_at','반영여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','drct_matter','지시사항',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','drct_matter_regist_dt','지시사항등록일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','report_cn','보고내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','report_de','보고일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','reportr_id','보고자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','reportr_inqire_dt','보고자조회일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','reprt_id','보고서ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','reprt_sj','보고서제목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemoreprt','wrter_id','작성자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemotodo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemotodo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemotodo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemotodo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemotodo','todo_begin_time','할일시작시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemotodo','todo_cn','할일내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemotodo','todo_end_time','할일종료시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemotodo','todo_id','할일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemotodo','todo_sj','할일제목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmemotodo','wrter_id','작성자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmenucreatdtls','author_code','권한코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmenucreatdtls','mapng_creat_id','매핑생성ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmenucreatdtls','menu_no','메뉴번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmenuinfo','menu_dc','메뉴설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmenuinfo','menu_nm','메뉴명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmenuinfo','menu_no','메뉴번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmenuinfo','menu_ordr','메뉴순서',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmenuinfo','progrm_file_nm','프로그램파일명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmenuinfo','relate_image_nm','관계이미지명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmenuinfo','relate_image_path','관계이미지경로',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmenuinfo','upper_menu_no','상위메뉴번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','atdrn_co','참석자수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','clsdr_mtg_at','비공개회의여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','etc_matter','기타사항',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','mnaer_dept_id','주관자부서ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','mnaer_id','주관자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','mngt_dept_id','주관부서ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','mtg_at','회의여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','mtg_begin_tm','회의시작시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','mtg_co','회의수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','mtg_de','회의일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','mtg_end_tm','회의종료시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','mtg_id','회의ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','mtg_mtr_cn','회의안건내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','mtg_nm','회의명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','mtg_place','회의장소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','mtg_result_cn','회의결과내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','mtg_result_ennc','회의결과유무',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','mtg_sn','회의순번',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','nonatdrn_co','불참자수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','readng_at','열람여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtginfo','readng_bgnde','열람개시일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacefxtrs','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacefxtrs','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacefxtrs','fxtrs_code','비품코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacefxtrs','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacefxtrs','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacefxtrs','mtgrum_id','회의실ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacefxtrs','qy','량',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacemanage','aceptnc_posbl_nmpr','수용가능인원',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacemanage','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacemanage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacemanage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacemanage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacemanage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacemanage','lc_detail','위치상세',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacemanage','lc_se','위치구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacemanage','mtgrum_id','회의실ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacemanage','mtgrum_nm','회의실명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacemanage','opn_begin_tm','개방시작시각',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplacemanage','opn_end_tm','개방종료시각',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplaceresve','atndnc_nmpr','참석인원',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplaceresve','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplaceresve','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplaceresve','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplaceresve','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplaceresve','mtg_cn','회의내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplaceresve','mtg_sj','회의제목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplaceresve','mtgrum_id','회의실ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplaceresve','resve_begin_tm','예약시작시각',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplaceresve','resve_de','예약일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplaceresve','resve_end_tm','예약종료시각',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplaceresve','resve_id','예약ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnmtgplaceresve','rsvctm_id','예약자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','adres','주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','area_no','지역번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','clsf_nm','직급명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','cmpny_nm','회사명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','dept_nm','부서명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','detail_adres','상세주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','email_adres','이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','end_mbtlnum','끝이동전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','end_telno','끝전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','extrl_user_at','외부사용자여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','idntfc_no','식별번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','mbtlnum','이동전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','middle_mbtlnum','중간이동전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','middle_telno','중간전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','nation_no','국가번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','ncrd_id','명함ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','ncrd_trgter_id','명함대상자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','nm','이름',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','ofcps_nm','직위명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','othbc_at','공개여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','rm','비고',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrd','telno','전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrduser','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrduser','emplyr_id','업무사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrduser','ncrd_id','명함ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrduser','regist_se_code','등록구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnncrduser','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnewsinfo','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnewsinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnewsinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnewsinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnewsinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnewsinfo','news_cn','뉴스내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnewsinfo','news_id','뉴스ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnewsinfo','news_origin','뉴스출처',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnewsinfo','news_sj','뉴스제목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnewsinfo','ntce_at','게시여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnewsinfo','ntce_de','게시일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnote','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnote','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnote','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnote','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnote','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnote','note_cn','쪽지내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnote','note_id','쪽지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnote','note_sj','쪽지제목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnoterecptn','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnoterecptn','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnoterecptn','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnoterecptn','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnoterecptn','note_id','쪽지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnoterecptn','note_recptn_id','쪽지수신ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnoterecptn','note_trnsmit_id','쪽지송신ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnoterecptn','open_yn','개봉여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnoterecptn','rcver_id','수신자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnoterecptn','recptn_se','수신구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnotetrnsmit','delete_at','삭제여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnotetrnsmit','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnotetrnsmit','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnotetrnsmit','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnotetrnsmit','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnotetrnsmit','note_id','쪽지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnotetrnsmit','note_trnsmit_id','쪽지송신ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnotetrnsmit','trnsmiter_id','송신자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntfcinfo','bh_ntcn_intrvl','사전알림간격',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntfcinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntfcinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntfcinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntfcinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntfcinfo','ntcn_cn','알림내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntfcinfo','ntcn_no','알림번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntfcinfo','ntcn_sj','알림제목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntfcinfo','ntcn_tm','알림시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnttstats','avrg_rdcnt','평균조회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnttstats','mumm_rdcnt','최소조회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnttstats','ntce_co','게시개수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnttstats','stats_id','통계ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnttstats','top_ntcr_id','최고게시자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnnttstats','top_rdcnt','최고조회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrkinfo','domn_nm_server','도메인명서버',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrkinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrkinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrkinfo','gtwy','게이트웨이',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrkinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrkinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrkinfo','manage_iem','관리항목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrkinfo','ntwrk_id','네트워크ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrkinfo','ntwrk_ip','네트워크IP',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrkinfo','rgsde','등록일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrkinfo','subnet','서브넷',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrkinfo','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrkinfo','user_nm','사용자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrng','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrng','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrng','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrng','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrng','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrng','mngr_email_adres','관리자이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrng','mngr_nm','관리자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrng','mntrng_sttus','모니터링상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrng','sys_ip','시스템IP',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrng','sys_nm','시스템명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrng','sys_port','시스템포트',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrngloginfo','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrngloginfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrngloginfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrngloginfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrngloginfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrngloginfo','log_id','로그ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrngloginfo','log_info','로그정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrngloginfo','mntrng_sttus','모니터링상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrngloginfo','sys_ip','시스템IP',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrngloginfo','sys_nm','시스템명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnntwrksvcmntrngloginfo','sys_port','시스템포트',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinemanual','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinemanual','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinemanual','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinemanual','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinemanual','online_mnl_dc','온라인메뉴얼설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinemanual','online_mnl_dfn','온라인메뉴얼정의',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinemanual','online_mnl_id','온라인메뉴얼ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinemanual','online_mnl_nm','온라인메뉴얼명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinemanual','online_mnl_se_code','온라인메뉴얼구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepolliem','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepolliem','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepolliem','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepolliem','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepolliem','poll_id','POLLID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepolliem','poll_iem_id','POLL항목ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepolliem','poll_iem_nm','POLL항목명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollmanage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollmanage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollmanage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollmanage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollmanage','poll_atmc_dsuse_ennc','POLL자동폐기유무',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollmanage','poll_bgnde','POLL시작일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollmanage','poll_dsuse_ennc','POLL폐기유무',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollmanage','poll_endde','POLL종료일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollmanage','poll_id','POLLID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollmanage','poll_knd','POLL종류',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollmanage','poll_nm','POLL명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollresult','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollresult','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollresult','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollresult','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollresult','poll_id','POLLID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollresult','poll_iem_id','POLL항목ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnonlinepollresult','poll_result_id','POLL결과ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnorgnztinfo','orgnzt_dc','조직설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnorgnztinfo','orgnzt_id','조직ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnorgnztinfo','orgnzt_nm','조직명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','file_url','파일URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','ntce_at','게시여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','ntce_bgnde','게시시작일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','ntce_endde','게시종료일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','popup_id','팝업ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','popup_sj_nm','팝업제목명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','popup_vrticl_lc','팝업세로위치',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','popup_vrticl_size','팝업세로사이즈',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','popup_width_lc','팝업가로위치',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','popup_width_size','팝업가로사이즈',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnpopupmanage','stopvew_setup_at','그만보기설정여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprivacylog','inqire_dt','조회일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprivacylog','inqire_info','조회 정보 명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprivacylog','requst_id','요청 ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprivacylog','rqester_id','요청자아이디',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprivacylog','rqester_ip','요청아이피',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprivacylog','srvc_nm','서비스 명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmon','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmon','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmon','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmon','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmon','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmon','mngr_email_adres','관리자이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmon','mngr_nm','관리자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmon','procs_id','프로세스ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmon','procs_nm','프로세스명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmon','procs_sttus','프로세스상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmonloginfo','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmonloginfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmonloginfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmonloginfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmonloginfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmonloginfo','log_id','로그ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmonloginfo','log_info','로그정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmonloginfo','mngr_email_adres','관리자이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmonloginfo','mngr_nm','관리자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmonloginfo','procs_id','프로세스ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmonloginfo','procs_nm','프로세스명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprocessmonloginfo','procs_sttus','프로세스상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprogrmlist','progrm_dc','프로그램설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprogrmlist','progrm_file_nm','프로그램파일명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprogrmlist','progrm_korean_nm','프로그램한글명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprogrmlist','progrm_stre_path','프로그램저장경로',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnprogrmlist','url','URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyinfo','proxy_id','프록시ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyinfo','proxy_ip','프록시IP',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyinfo','proxy_nm','프록시명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyinfo','proxy_port','프록시포트',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyinfo','svc_dc','서비스설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyinfo','svc_ip','서비스IP',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyinfo','svc_port','서비스포트',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyinfo','svc_sttus','서비스상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyinfo','trget_svc_nm','대상서비스명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyloginfo','clnt_ip','클라이언트IP',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyloginfo','clnt_port','클라이언트포트',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyloginfo','conect_time','접속시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyloginfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyloginfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyloginfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyloginfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyloginfo','log_id','로그ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnproxyloginfo','proxy_id','프록시ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','answer_cn','답변내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','answer_de','답변일자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','area_no','지역번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','email_adres','이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','email_answer_at','메일답변여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','end_telno','끝전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','middle_telno','중간전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','qa_id','QAID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','qestn_cn','질문내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','qestn_sj','질문제목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','qna_process_sttus_code','질의응답처리상태코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','rdcnt','조회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','writng_de','작성일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','writng_password','작성비밀번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqainfo','wrter_nm','작성자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqestnrinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqestnrinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqestnrinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqestnrinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqestnrinfo','qestnr_id','설문지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqestnrinfo','qustnr_bgnde','설문시작일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqestnrinfo','qustnr_endde','설문종료일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqestnrinfo','qustnr_purps','설문목적',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqestnrinfo','qustnr_sj','설문제목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqestnrinfo','qustnr_tmplat_id','설문템플릿ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqestnrinfo','qustnr_trget','설문대상',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqestnrinfo','qustnr_writng_guidance_cn','설문작성안내내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnriem','etc_answer_at','기타답변여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnriem','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnriem','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnriem','iem_cn','항목내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnriem','iem_sn','항목순번',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnriem','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnriem','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnriem','qestnr_id','설문지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnriem','qustnr_iem_id','설문항목ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnriem','qustnr_qesitm_id','설문문항ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnriem','qustnr_tmplat_id','설문템플릿ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrqesitm','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrqesitm','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrqesitm','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrqesitm','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrqesitm','mxmm_choise_co','최대선택개수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrqesitm','qestn_cn','질문내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrqesitm','qestn_sn','질문순번',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrqesitm','qestn_ty_code','질문유형코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrqesitm','qestnr_id','설문지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrqesitm','qustnr_qesitm_id','설문문항ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrqesitm','qustnr_tmplat_id','설문템플릿ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrespondinfo','area_no','지역번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrespondinfo','brthdy','생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrespondinfo','end_telno','끝전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrespondinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrespondinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrespondinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrespondinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrespondinfo','middle_telno','중간전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrespondinfo','occp_ty_code','직업유형코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrespondinfo','qestnr_id','설문지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrespondinfo','qustnr_respond_id','설문응답자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrespondinfo','qustnr_tmplat_id','설문템플릿ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrespondinfo','respond_nm','응답자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrespondinfo','sexdstn_code','성별코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrspnsresult','etc_answer_cn','기타답변내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrspnsresult','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrspnsresult','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrspnsresult','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrspnsresult','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrspnsresult','qestnr_id','설문지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrspnsresult','qustnr_iem_id','설문항목ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrspnsresult','qustnr_qesitm_id','설문문항ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrspnsresult','qustnr_rspns_result_id','설문응답결과ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrspnsresult','qustnr_tmplat_id','설문템플릿ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrspnsresult','respond_answer_cn','응답자답변내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrrspnsresult','respond_nm','응답자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrtmplat','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrtmplat','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrtmplat','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrtmplat','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrtmplat','qustnr_tmplat_dc','설문템플릿설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrtmplat','qustnr_tmplat_id','설문템플릿ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrtmplat','qustnr_tmplat_image_info','설문템플릿이미지정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrtmplat','qustnr_tmplat_path_nm','설문템플릿경로명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnqustnrtmplat','qustnr_tmplat_ty','설문템플릿유형',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrd','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrd','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrd','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrd','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrd','recent_srchwrd_co','최근검색어개수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrd','recent_srchwrd_id','최근검색어ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrd','recent_srchwrd_nm','최근검색어명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrd','srchwrd_manage_id','검색어관리ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrdmanage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrdmanage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrdmanage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrdmanage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrdmanage','srchwrd_conect_url','검색어접속URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrdmanage','srchwrd_manage_id','검색어관리ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrdmanage','srchwrd_manage_nm','검색어관리명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecentsrchwrdmanage','user_search_at','사용자검색여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecomendsiteinfo','confm_de','승인일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecomendsiteinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecomendsiteinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecomendsiteinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecomendsiteinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecomendsiteinfo','recomend_confm_at','추천승인여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecomendsiteinfo','recomend_resn_cn','추천사유내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecomendsiteinfo','recomend_site_dc','추천사이트설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecomendsiteinfo','recomend_site_id','추천사이트ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecomendsiteinfo','recomend_site_nm','추천사이트명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrecomendsiteinfo','recomend_site_url','추천사이트URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnreprtstats','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnreprtstats','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnreprtstats','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnreprtstats','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnreprtstats','reprt_id','보고서ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnreprtstats','reprt_nm','보고서명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnreprtstats','reprt_sttus','보고서상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnreprtstats','reprt_ty','보고서유형',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrestde','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrestde','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrestde','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrestde','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrestde','restde','휴일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrestde','restde_dc','휴일설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrestde','restde_nm','휴일명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrestde','restde_no','휴일번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrestde','restde_se_code','휴일구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroleinfo','role_code','롤코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroleinfo','role_creat_de','롤생성일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroleinfo','role_dc','롤설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroleinfo','role_nm','롤명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroleinfo','role_pttrn','롤패턴',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroleinfo','role_sort','롤정렬',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroleinfo','role_ty','롤유형',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroles_hierarchy','chldrn_role','자식롤',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroles_hierarchy','parnts_role','부모롤',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroughmap','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroughmap','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroughmap','infowindow','안내창 도움말',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroughmap','la','지도 위도',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroughmap','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroughmap','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroughmap','lo','지도 경도',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroughmap','markerla','마커 위도',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroughmap','markerlo','마커 경도',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroughmap','roughmap_id','약도 ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroughmap','roughmapaddress','약도상세주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroughmap','roughmapsj','약도 제목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnroughmap','zoomlevel','지도 확대수준',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','bdt_dc','본문설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','bdt_etc_tag','본문기타태그',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','bdt_link','본문링크',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','bdt_tag','본문태그',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','bdt_title','본문TITLE',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','hder_dc','헤더설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','hder_etc','헤더기타',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','hder_link','헤더링크',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','hder_tag','헤더태그',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','hder_title','헤더TITLE',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','rss_id','RSSID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','trget_svc_list_co','대상서비스목록개수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','trget_svc_nm','대상서비스명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrss','trget_svc_table','대상서비스테이블',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','confm_at','승인여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','infrml_sanctn_id','약식결재ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','pblen_cn','공적내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','return_resn','반환사유',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','rward_code','포상코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','rward_de','포상일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','rward_id','포상ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','rward_nm','포상명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','rwardwnr_id','포상자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','sanctn_dt','결재일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnrwardmanage','sanctner_id','결재자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','reptit_se_code','반복구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','schdul_bgnde','일정시작일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','schdul_charger_id','일정담당자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','schdul_cn','일정내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','schdul_dept_id','일정부서ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','schdul_endde','일정종료일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','schdul_id','일정ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','schdul_ipcr_code','일정중요도코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','schdul_knd_code','일정종류코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','schdul_nm','일정명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','schdul_place','일정장소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnschdulinfo','schdul_se','일정구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnscrap','bbs_id','게시판ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnscrap','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnscrap','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnscrap','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnscrap','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnscrap','ntt_id','게시물ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnscrap','scrap_id','스크랩ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnscrap','scrap_nm','스크랩명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnscrap','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','cpu_info','CPU정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','etc_info','기타정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','hddisk','HDDISK',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','mngr_email_adres','관리자이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','mory_info','메모리정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','opersysm_info','운영체제정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','rgsde','등록일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','server_eqpmn_id','서버장비ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','server_eqpmn_ip','서버장비IP',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','server_eqpmn_mngr','서버장비관리자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmninfo','server_eqpmn_nm','서버장비명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmnrelate','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmnrelate','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmnrelate','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmnrelate','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmnrelate','server_eqpmn_id','서버장비ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnservereqpmnrelate','server_id','서버ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverinfo','rgsde','등록일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverinfo','server_id','서버ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverinfo','server_knd','서버종류',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverinfo','server_nm','서버명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverresrceloginfo','cpu_use_rt','CPU사용율',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverresrceloginfo','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverresrceloginfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverresrceloginfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverresrceloginfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverresrceloginfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverresrceloginfo','log_id','로그ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverresrceloginfo','log_info','로그정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverresrceloginfo','mory_use_rt','메모리사용율',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverresrceloginfo','server_eqpmn_id','서버장비ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverresrceloginfo','server_id','서버ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnserverresrceloginfo','svc_sttus','서비스상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitelist','actvty_at','활성여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitelist','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitelist','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitelist','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitelist','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitelist','site_dc','사이트설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitelist','site_id','사이트ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitelist','site_nm','사이트명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitelist','site_thema_cl_code','사이트주제분류코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitelist','site_url','사이트URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitelist','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitemap','creatr_id','생성자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitemap','mapng_creat_id','매핑생성ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitemap','mapng_file_nm','매핑파일명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsitemap','mapng_file_path','매핑파일경로',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsms','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsms','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsms','sms_id','문자메시지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsms','trnsmis_cn','전송내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsms','trnsmis_telno','전송전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsmsrecptn','recptn_telno','수신전화번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsmsrecptn','result_code','결과코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsmsrecptn','result_mssage','결과메시지',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsmsrecptn','sms_id','문자메시지ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstplatinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstplatinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstplatinfo','info_provd_agre_cn','정보제공동의내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstplatinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstplatinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstplatinfo','use_stplat_cn','이용약관내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstplatinfo','use_stplat_id','이용약관ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstplatinfo','use_stplat_nm','이용약관명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstsfdg','bbs_id','게시판ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstsfdg','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstsfdg','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstsfdg','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstsfdg','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstsfdg','ntt_id','게시물ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstsfdg','password','비밀번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstsfdg','stsfdg','만족도',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstsfdg','stsfdg_cn','만족도내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstsfdg','stsfdg_no','만족도번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstsfdg','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstsfdg','wrter_id','작성자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnstsfdg','wrter_nm','작성자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsynchrnserverinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsynchrnserverinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsynchrnserverinfo','ftp_id','FTPID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsynchrnserverinfo','ftp_password','FTP비밀번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsynchrnserverinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsynchrnserverinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsynchrnserverinfo','reflct_at','반영여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsynchrnserverinfo','server_id','서버ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsynchrnserverinfo','server_ip','서버IP',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsynchrnserverinfo','server_nm','서버명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsynchrnserverinfo','server_port','서버포트',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsynchrnserverinfo','synchrn_lc','동기화위치',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','error_co','오류수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','error_code','오류코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','error_se','오류구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','instt_code','기관코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','job_se_code','업무구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','method_nm','메서드명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','occrrnc_de','발생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','process_co','처리수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','process_se_code','처리구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','process_time','처리시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','requst_id','요청ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','rqester_id','요청자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','rqester_ip','요청자IP',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','rspns_code','응답코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','svc_nm','서비스명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsyslog','trget_menu_nm','대상메뉴명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','cntc_id','연계ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','cntc_nm','연계명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','cntc_ty','연계유형',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','confm_at','승인여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','provd_instt_id','제공기관ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','provd_svc_id','제공서비스ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','provd_sys_id','제공시스템ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','requst_instt_id','요청기관ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','requst_sys_id','요청시스템ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','valid_bgnde','유효시작일자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnsystemcntc','valid_endde','유효종료일자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntmplatinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntmplatinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntmplatinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntmplatinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntmplatinfo','tmplat_cours','템플릿경로',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntmplatinfo','tmplat_id','템플릿ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntmplatinfo','tmplat_nm','템플릿명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntmplatinfo','tmplat_se_code','템플릿구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntmplatinfo','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','process_sttus','처리상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','trobl_dc','장애설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','trobl_id','장애ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','trobl_knd','장애종류',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','trobl_nm','장애명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','trobl_occrrnc_time','장애발생시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','trobl_opetr_nm','장애처리자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','trobl_process_result','장애처리결과',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','trobl_process_time','장애처리시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','trobl_requst_time','장애요청시간',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntroblinfo','trobl_rqester_nm','장애요청자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','cntc_id','연계ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','occrrnc_de','발생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','provd_instt_id','제공기관ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','provd_svc_id','제공서비스ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','provd_sys_id','제공시스템ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','requst_id','요청ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','requst_instt_id','요청기관ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','requst_recptn_tm','요청수신시각',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','requst_sys_id','요청시스템ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','requst_trnsmit_tm','요청송신시각',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','result_code','결과코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','result_mssage','결과메시지',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','rqester_id','요청자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','rspns_recptn_tm','응답수신시각',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','rspns_trnsmit_tm','응답송신시각',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvlog','trsmrcv_se_code','송수신구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvmntrng','cntc_id','연계ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvmntrng','creat_dt','생성일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvmntrng','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvmntrng','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvmntrng','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvmntrng','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvmntrng','mngr_email_adres','관리자이메일주소',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvmntrng','mngr_nm','관리자명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvmntrng','mntrng_sttus','모니터링상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntrsmrcvmntrng','test_class_nm','테스트클래스명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntwitter','cnsmr_key','사용자열쇠',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntwitter','cnsmr_secret','사용자비밀',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntwitter','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntwitter','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntwitter','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntwitter','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtntwitter','user_id','사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnunitylink','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnunitylink','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnunitylink','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnunitylink','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnunitylink','unity_link_dc','통합링크설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnunitylink','unity_link_group','통합링크그룹',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnunitylink','unity_link_id','통합링크ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnunitylink','unity_link_nm','통합링크명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnunitylink','unity_link_se_code','통합링크구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnunitylink','unity_link_url','통합링크URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserabsnce','emplyr_id','업무사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserabsnce','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserabsnce','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserabsnce','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserabsnce','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserabsnce','user_absnce_at','사용자부재여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserlog','creat_co','생성수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserlog','delete_co','삭제수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserlog','error_co','오류수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserlog','method_nm','메서드명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserlog','occrrnc_de','발생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserlog','outpt_co','출력수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserlog','rdcnt','조회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserlog','rqester_id','요청자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserlog','svc_nm','서비스명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnuserlog','updt_co','수정수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','applcnt_id','신청인ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','bgnde','시작일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','confm_at','승인여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','endde','종료일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','infrml_sanctn_id','약식결재ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','noon_se','정오구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','occrrnc_year','발생년도',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','reqst_de','신청일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','return_resn','반환사유',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','sanctn_dt','결재일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','sanctner_id','결재자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','vcatn_resn','휴가사유',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnvcatnmanage','vcatn_se','휴가구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnweblog','occrrnc_de','발생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnweblog','requst_id','요청ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnweblog','rqester_id','요청자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnweblog','rqester_ip','요청자IP',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnweblog','url','URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikibkmk','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikibkmk','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikibkmk','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikibkmk','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikibkmk','user_id','사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikibkmk','wiki_bkmk_id','Wiki즐겨찾기ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikibkmk','wiki_bkmk_nm','Wiki북마크명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','atch_file_id','첨부파일ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','confm_dt','승인일시',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','nextwik_report_cn','차주보고내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','partclr_matter','특이사항',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','report_bgnde','보고시작일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','report_de','보고일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','report_endde','보고종료일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','reportr_id','보고자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','reprt_id','보고서ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','reprt_se','보고서구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','reprt_sj','보고서제목',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','thswik_report_cn','금주보고내용',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnwikmnthngreprt','wrter_id','작성자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnworddicaryinfo','eng_nm','영문명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnworddicaryinfo','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnworddicaryinfo','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnworddicaryinfo','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnworddicaryinfo','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnworddicaryinfo','synonm','동의어',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnworddicaryinfo','word_dc','용어설명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnworddicaryinfo','word_id','용어ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnworddicaryinfo','word_nm','용어명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtrdnmadrzip','bdnbr_mnnm','건물번호본번',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtrdnmadrzip','bdnbr_slno','건물번호부번',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtrdnmadrzip','buld_nm','건물명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtrdnmadrzip','ctprvn_nm','시도명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtrdnmadrzip','detail_buld_nm','상세건물명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtrdnmadrzip','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtrdnmadrzip','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtrdnmadrzip','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtrdnmadrzip','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtrdnmadrzip','rdmn','도로명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtrdnmadrzip','rdmn_code','도로명코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtrdnmadrzip','signgu_nm','시군구명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtrdnmadrzip','sn','일련번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtrdnmadrzip','zip','우편번호',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsbbssummary','avrg_rdcnt','평균조회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsbbssummary','creat_co','생성수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsbbssummary','detail_stats_se','세부통계구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsbbssummary','mumm_inqire_bbsctt_id','최소조회게시글ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsbbssummary','occrrnc_de','발생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsbbssummary','stats_se','통계구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsbbssummary','top_inqire_bbsctt_id','최고조회게시글ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsbbssummary','top_ntcr_id','최고게시자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsbbssummary','tot_rdcnt','총조회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtssyslogsummary','creat_co','생성수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtssyslogsummary','delete_co','삭제수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtssyslogsummary','error_co','오류수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtssyslogsummary','method_nm','메서드명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtssyslogsummary','occrrnc_de','발생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtssyslogsummary','outpt_co','출력수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtssyslogsummary','rdcnt','조회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtssyslogsummary','svc_nm','서비스명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtssyslogsummary','updt_co','수정수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtstrsmrcvlogsummary','error_co','오류수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtstrsmrcvlogsummary','occrrnc_de','발생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtstrsmrcvlogsummary','provd_instt_id','제공기관ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtstrsmrcvlogsummary','provd_svc_id','제공서비스ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtstrsmrcvlogsummary','provd_sys_id','제공시스템ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtstrsmrcvlogsummary','rdcnt','조회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtstrsmrcvlogsummary','requst_instt_id','요청기관ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtstrsmrcvlogsummary','requst_sys_id','요청시스템ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtstrsmrcvlogsummary','trsmrcv_se_code','송수신구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsusersummary','detail_stats_se','세부통계구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsusersummary','occrrnc_de','발생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsusersummary','stats_se','통계구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsusersummary','user_co','사용자수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsweblogsummary','occrrnc_de','발생일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsweblogsummary','rdcnt','조회수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtsweblogsummary','url','URL',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comvnusermaster','esntl_id',null,SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comvnusermaster','group_id',null,SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comvnusermaster','orgnzt_id',null,SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comvnusermaster','password',null,SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comvnusermaster','user_adres',null,SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comvnusermaster','user_email',null,SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comvnusermaster','user_id',null,SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comvnusermaster','user_nm',null,SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comvnusermaster','user_se',null,SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comvnusermaster','user_zip',null,SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('ids','idgen_next_id','IDGEN다음ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('ids','idgen_table_nm','IDGEN테이블명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('imgtemp','erncsl_se','전자관인구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('imgtemp','image_info','이미지정보',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('imgtemp','image_ty','이미지유형',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('imgtemp','orgnzt_code','조직코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('j_attachfile','delete_yn','삭제 구분',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('j_attachfile','download_count','다운로드 횟수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('j_attachfile','download_expire_date','다운로드 만료일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('j_attachfile','download_limit_count','다운로드 제한 횟수',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('j_attachfile','file_id','파일 아이디',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('j_attachfile','file_mask','파일 마스크',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('j_attachfile','file_name','파일명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('j_attachfile','file_seq','파일 순번',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('j_attachfile','file_size','파일 사이즈',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('j_attachfile','reg_date','등록일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnblog','bbs_id','게시판 ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnblog','blog_at','블로그 여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnblog','blog_id','블로그 ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnblog','blog_intrcn','블로그 소개',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnblog','blog_nm','블로그 명',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnblog','frst_register_id','최초등록자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnblog','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnblog','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnblog','last_updusr_id','최종수정자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnblog','regist_se_code','등록구분코드',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnblog','tmplat_id','템플릿 ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnblog','use_at','사용여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbloguser','blog_id','블로그 ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbloguser','emplyr_id','업무사용자ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbloguser','frst_register_id','최초등록자 ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbloguser','frst_regist_pnttm','최초등록시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbloguser','last_updt_pnttm','최종수정시점',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbloguser','last_updusr_id','최종수정자 ID',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbloguser','mber_sttus','회원상태',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbloguser','mngr_at','관리자여부',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbloguser','sbscrb_de','가입일자',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbloguser','secsn_de','탈퇴일',SYS_TIMESTAMP,'DBA'); +Insert into _cub_schema_comments (TABLE_NAME,COLUMN_NAME,DESCRIPTION,LAST_UPDATED,LAST_UPDATED_USER) values ('comtnbloguser','use_at','사용여부',SYS_TIMESTAMP,'DBA'); \ No newline at end of file Index: base3.10/script/comment/oracle/egov_oracle_comment.sql =================================================================== --- base3.10/script/comment/oracle/egov_oracle_comment.sql (nonexistent) +++ base3.10/script/comment/oracle/egov_oracle_comment.sql (revision 7) @@ -0,0 +1,5154 @@ +COMMENT ON TABLE COMTCADMINISTCODE IS '행정코드'; + + + +COMMENT ON COLUMN COMTCADMINISTCODE.ADMINIST_ZONE_SE IS '행정구역구분'; + +COMMENT ON COLUMN COMTCADMINISTCODE.ADMINIST_ZONE_CODE IS '행정구역코드'; + +COMMENT ON COLUMN COMTCADMINISTCODE.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTCADMINISTCODE.ADMINIST_ZONE_NM IS '행정구역명'; + +COMMENT ON COLUMN COMTCADMINISTCODE.UPPER_ADMINIST_ZONE_CODE IS '상위행정구역코드'; + +COMMENT ON COLUMN COMTCADMINISTCODE.CREAT_DE IS '생성일'; + +COMMENT ON COLUMN COMTCADMINISTCODE.ABL_DE IS '폐지일'; + +COMMENT ON COLUMN COMTCADMINISTCODE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTCADMINISTCODE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTCADMINISTCODE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTCADMINISTCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTCADMINISTCODERECPTNLOG IS '행정코드수신로그'; + + + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ADMINIST_ZONE_SE IS '행정구역구분'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ADMINIST_ZONE_CODE IS '행정구역코드'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.OPERT_SN IS '작업일련번호'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.CHANGE_SE_CODE IS '변경구분코드'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.PROCESS_SE IS '처리구분'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ADMINIST_ZONE_NM IS '행정구역명'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LOWEST_ADMINIST_ZONE_NM IS '최하위행정구역명'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.CTPRVN_CODE IS '시도코드'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.SIGNGU_CODE IS '시군구코드'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.EMD_CODE IS '읍면동코드'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LI_CODE IS '리코드'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.CREAT_DE IS '생성일'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ABL_DE IS '폐지일'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.ABL_ENNC IS '폐지유무'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTCADMINISTCODERECPTNLOG.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTCCMMNCLCODE IS '공통분류코드'; + + + +COMMENT ON COLUMN COMTCCMMNCLCODE.CL_CODE IS '분류코드'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.CL_CODE_NM IS '분류코드명'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.CL_CODE_DC IS '분류코드설명'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTCCMMNCLCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTCCMMNCODE IS '공통코드'; + + + +COMMENT ON COLUMN COMTCCMMNCODE.CODE_ID IS '코드ID'; + +COMMENT ON COLUMN COMTCCMMNCODE.CODE_ID_NM IS '코드ID명'; + +COMMENT ON COLUMN COMTCCMMNCODE.CODE_ID_DC IS '코드ID설명'; + +COMMENT ON COLUMN COMTCCMMNCODE.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTCCMMNCODE.CL_CODE IS '분류코드'; + +COMMENT ON COLUMN COMTCCMMNCODE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTCCMMNCODE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTCCMMNCODE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTCCMMNCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTCCMMNDETAILCODE IS '공통상세코드'; + + + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE_ID IS '코드ID'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE IS '코드'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE_NM IS '코드명'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.CODE_DC IS '코드설명'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTCCMMNDETAILCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTCZIP IS '우편번호'; + + + +COMMENT ON COLUMN COMTCZIP.ZIP IS '우편번호'; + +COMMENT ON COLUMN COMTCZIP.SN IS '일련번호'; + +COMMENT ON COLUMN COMTCZIP.CTPRVN_NM IS '시도명'; + +COMMENT ON COLUMN COMTCZIP.SIGNGU_NM IS '시군구명'; + +COMMENT ON COLUMN COMTCZIP.EMD_NM IS '읍면동명'; + +COMMENT ON COLUMN COMTCZIP.LI_BULD_NM IS '리건물명'; + +COMMENT ON COLUMN COMTCZIP.LNBR_DONG_HO IS '번지동호'; + +COMMENT ON COLUMN COMTCZIP.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTCZIP.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTCZIP.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTCZIP.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTECOPSEQ IS 'COMTECOPSEQ'; + + + +COMMENT ON COLUMN COMTECOPSEQ.TABLE_NAME IS '테이블명'; + +COMMENT ON COLUMN COMTECOPSEQ.NEXT_ID IS '다음아이디'; + + + + +COMMENT ON TABLE COMTHCONFMHISTORY IS '승인이력'; + + + +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_NO IS '승인번호'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_RQESTER_ID IS '승인요청자ID'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFMER_ID IS '승인자ID'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_DE IS '승인일'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_TY_CODE IS '승인유형코드'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.CONFM_STTUS_CODE IS '승인상태코드'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.OPERT_TY_CODE IS '작업유형코드'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.OPERT_ID IS '작업ID'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.TRGET_JOB_TY_CODE IS '대상업무유형코드'; + +COMMENT ON COLUMN COMTHCONFMHISTORY.TRGET_JOB_ID IS '대상업무ID'; + + + + +COMMENT ON TABLE COMTHDBMNTRNGLOGINFO IS 'DB서비스모니터링로그정보'; + + + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.DATA_SOURC_NM IS '데이터소스명'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.SERVER_NM IS '서버명'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.DBMS_KND IS 'DBMS종류'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.CECK_SQL IS '체크SQL'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LOG_INFO IS '로그정보'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTHDBMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTHEMAILDSPTCHMANAGE IS '메일발신관리'; + + + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.MSSAGE_ID IS '메시지ID'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.EMAIL_CN IS '이메일내용'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.SNDR IS '발신자'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.RCVER IS '수신자'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.SJ IS '제목'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.SNDNG_RESULT_CODE IS '발송결과코드'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.DSPTCH_DT IS '발신일시'; + +COMMENT ON COLUMN COMTHEMAILDSPTCHMANAGE.ATCH_FILE_ID IS '첨부파일ID'; + + + + +COMMENT ON TABLE COMTHEMPLYRINFOCHANGEDTLS IS '업무사용자정보변경내역'; + + + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.CHANGE_DE IS '변경일'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.GROUP_ID IS '그룹ID'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMPL_NO IS '사원번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.SEXDSTN_CODE IS '성별코드'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.BRTHDY IS '생일'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.FXNUM IS '팩스번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.HOUSE_ADRES IS '주택주소'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.HOUSE_END_TELNO IS '주택끝전화번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.DETAIL_ADRES IS '상세주소'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.ZIP IS '우편번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.OFFM_TELNO IS '사무실전화번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.MBTLNUM IS '이동전화번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMAIL_ADRES IS '이메일주소'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.HOUSE_MIDDLE_TELNO IS '주택중간전화번호'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.PSTINST_CODE IS '소속기관코드'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.EMPLYR_STTUS_CODE IS '사용자상태코드'; + +COMMENT ON COLUMN COMTHEMPLYRINFOCHANGEDTLS.ESNTL_ID IS '고유ID'; + + + + +COMMENT ON TABLE COMTHHTTPMONLOGINFO IS 'HTTP서비스모니터링로그정보'; + + + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.SYS_ID IS '시스템ID'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.SITE_URL IS '사이트URL'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.WEBSVC_KND IS '웹서비스종류'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.HTTP_STTUS_CODE IS 'HTTP상태코드'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LOG_INFO IS '로그정보'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTHHTTPMONLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTHPROGRMCHANGEDTLS IS '프로그램변경내역'; + + + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.PROGRM_FILE_NM IS '프로그램파일명'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.REQUST_NO IS '요청번호'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.RQESTER_ID IS '요청자ID'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.CHANGE_REQUST_CN IS '변경요청내용'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.REQUST_PROCESS_CN IS '요청처리내용'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.OPETR_ID IS '처리자ID'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.PROCESS_STTUS_CODE IS '처리상태코드'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.PROCESS_DE IS '처리일'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.RQESTDE IS '요청일'; + +COMMENT ON COLUMN COMTHPROGRMCHANGEDTLS.REQUST_SJ IS '요청제목'; + + + + +COMMENT ON TABLE COMTHSYSHIST IS '시스템이력'; + + + +COMMENT ON COLUMN COMTHSYSHIST.HIST_ID IS '이력ID'; + +COMMENT ON COLUMN COMTHSYSHIST.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTHSYSHIST.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTHSYSHIST.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTHSYSHIST.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTHSYSHIST.HIST_SE_CODE IS '이력구분코드'; + +COMMENT ON COLUMN COMTHSYSHIST.HIST_CN IS '이력내용'; + +COMMENT ON COLUMN COMTHSYSHIST.SYS_NM IS '시스템명'; + +COMMENT ON COLUMN COMTHSYSHIST.ATCH_FILE_ID IS '첨부파일ID'; + + + + +COMMENT ON TABLE COMTHTRSMRCVMNTRNGLOGINFO IS '송수신모니터링로그정보'; + + + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.CNTC_ID IS '연계ID'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.TEST_CLASS_NM IS '테스트클래스명'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LOG_INFO IS '로그정보'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTHTRSMRCVMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNADBK IS '주소록'; + + + +COMMENT ON COLUMN COMTNADBK.ADBK_CONSTNT_ID IS '주소록구성원ID'; + +COMMENT ON COLUMN COMTNADBK.ADBK_ID IS '주소록ID'; + +COMMENT ON COLUMN COMTNADBK.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNADBK.NCRD_ID IS '명함ID'; + +COMMENT ON COLUMN COMTNADBK.NM IS '이름'; + +COMMENT ON COLUMN COMTNADBK.EMAIL_ADRES IS '이메일주소'; + +COMMENT ON COLUMN COMTNADBK.MBTLNUM IS '이동전화번호'; + +COMMENT ON COLUMN COMTNADBK.FXNUM IS '팩스번호'; + +COMMENT ON COLUMN COMTNADBK.OFFM_TELNO IS '사무실전화번호'; + +COMMENT ON COLUMN COMTNADBK.HOUSE_TELNO IS '주택전화번호'; + +COMMENT ON COLUMN COMTNADBK.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNADBK.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNADBK.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNADBK.FRST_REGISTER_ID IS '최초등록자ID'; + + + + +COMMENT ON TABLE COMTNADBKMANAGE IS '주소록관리'; + + + +COMMENT ON COLUMN COMTNADBKMANAGE.ADBK_ID IS '주소록ID'; + +COMMENT ON COLUMN COMTNADBKMANAGE.ADBK_NM IS '주소록명'; + +COMMENT ON COLUMN COMTNADBKMANAGE.OTHBC_SCOPE IS '공개범위'; + +COMMENT ON COLUMN COMTNADBKMANAGE.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNADBKMANAGE.WRTER_ID IS '작성자ID'; + +COMMENT ON COLUMN COMTNADBKMANAGE.TRGET_ORGNZT_ID IS '대상조직ID'; + +COMMENT ON COLUMN COMTNADBKMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNADBKMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNADBKMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNADBKMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNADMINISTRATIONWORD IS '행정용어사전관리'; + + + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_ID IS '행정용어ID'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_NM IS '행정용어명'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_ENG_NM IS '행정용어영문명'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_ABRV_NM IS '행정용어약어명'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.THEMA_RELM IS '주제영역'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.WORD_SE IS '용어구분'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.RELATE_STD_WORD IS '관계표준용어'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_DFN IS '행정용어정의'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.ADMINIST_WORD_DC IS '행정용어설명'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNADMINISTRATIONWORD.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNANNVRSRYMANAGE IS '기념일정보'; + + + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_ID IS '기념일ID'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.USER_ID IS '사용자ID'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_SE IS '기념일구분'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_NM IS '기념일명'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY IS '기념일'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.CLDR_SE IS '달력구분'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_NTCN_SETUP IS '알림설정'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.ANNVRSRY_NTCN_BGNDE IS '알림시작일'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.MEMO IS '메모'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNANNVRSRYMANAGE.REPTIT_AT IS '반복여부'; + + + + +COMMENT ON TABLE COMTNANSWER IS '댓글'; + + + +COMMENT ON COLUMN COMTNANSWER.NTT_ID IS '게시물ID'; + +COMMENT ON COLUMN COMTNANSWER.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNANSWER.ANSWER_NO IS '답글번호'; + +COMMENT ON COLUMN COMTNANSWER.WRTER_ID IS '작성자ID'; + +COMMENT ON COLUMN COMTNANSWER.ANSWER IS '댓글'; + +COMMENT ON COLUMN COMTNANSWER.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNANSWER.WRTER_NM IS '작성자명'; + +COMMENT ON COLUMN COMTNANSWER.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNANSWER.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNANSWER.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNANSWER.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNAUTHORGROUPINFO IS '권한그룹정보'; + + + +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_ID IS '그룹ID'; + +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_NM IS '그룹명'; + +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_CREAT_DE IS '그룹생성일'; + +COMMENT ON COLUMN COMTNAUTHORGROUPINFO.GROUP_DC IS '그룹설명'; + + + + +COMMENT ON TABLE COMTNAUTHORINFO IS '권한정보'; + + + +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_CODE IS '권한코드'; + +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_NM IS '권한명'; + +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_DC IS '권한설명'; + +COMMENT ON COLUMN COMTNAUTHORINFO.AUTHOR_CREAT_DE IS '권한생성일'; + + + + +COMMENT ON TABLE COMTNAUTHORROLERELATE IS '권한롤관계'; + + + +COMMENT ON COLUMN COMTNAUTHORROLERELATE.AUTHOR_CODE IS '권한코드'; + +COMMENT ON COLUMN COMTNAUTHORROLERELATE.ROLE_CODE IS '롤코드'; + +COMMENT ON COLUMN COMTNAUTHORROLERELATE.CREAT_DT IS '생성일시'; + + + + +COMMENT ON TABLE COMTNBACKUPOPERT IS '백업작업'; + + + +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_OPERT_ID IS '백업작업ID'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_OPERT_NM IS '백업작업명'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_ORGINL_DRCTRY IS '백업원본디렉토리'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.BACKUP_STRE_DRCTRY IS '백업저장디렉토리'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.CMPRS_SE IS '압축구분'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_CYCLE IS '실행주기'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_DE IS '실행일정일'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_HOUR IS '실행일정시'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_MNT IS '실행일정분'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.EXECUT_SCHDUL_SECND IS '실행일정초'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBACKUPOPERT.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNBACKUPRESULT IS '백업결과'; + + + +COMMENT ON COLUMN COMTNBACKUPRESULT.BACKUP_RESULT_ID IS '백업결과ID'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.BACKUP_OPERT_ID IS '백업작업ID'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.BACKUP_FILE IS '백업파일'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.STTUS IS '상태'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.ERROR_INFO IS '오류정보'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.EXECUT_BEGIN_TM IS '실행시작시각'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.EXECUT_END_TM IS '실행종료시각'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBACKUPRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNBACKUPSCHDULDFK IS '백업스케줄요일'; + + + +COMMENT ON COLUMN COMTNBACKUPSCHDULDFK.BACKUP_OPERT_ID IS '백업작업ID'; + +COMMENT ON COLUMN COMTNBACKUPSCHDULDFK.EXECUT_SCHDUL_DFK_SE IS '실행일정요일구분'; + + + + +COMMENT ON TABLE COMTNBANNER IS '배너'; + + + +COMMENT ON COLUMN COMTNBANNER.BANNER_ID IS '배너ID'; + +COMMENT ON COLUMN COMTNBANNER.BANNER_NM IS '배너명'; + +COMMENT ON COLUMN COMTNBANNER.LINK_URL IS '링크URL'; + +COMMENT ON COLUMN COMTNBANNER.BANNER_IMAGE IS '배너이미지'; + +COMMENT ON COLUMN COMTNBANNER.BANNER_DC IS '배너설명'; + +COMMENT ON COLUMN COMTNBANNER.REFLCT_AT IS '반영여부'; + +COMMENT ON COLUMN COMTNBANNER.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBANNER.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBANNER.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBANNER.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBANNER.BANNER_IMAGE_FILE IS '배너이미지파일'; + +COMMENT ON COLUMN COMTNBANNER.SORT_ORDR IS '정렬순서'; + + + + +COMMENT ON TABLE COMTNBATCHOPERT IS '배치작업'; + + + +COMMENT ON COLUMN COMTNBATCHOPERT.BATCH_OPERT_ID IS '배치작업ID'; + +COMMENT ON COLUMN COMTNBATCHOPERT.BATCH_OPERT_NM IS '배치작업명'; + +COMMENT ON COLUMN COMTNBATCHOPERT.BATCH_PROGRM IS '배치프로그램'; + +COMMENT ON COLUMN COMTNBATCHOPERT.PARAMTR IS '파라미터'; + +COMMENT ON COLUMN COMTNBATCHOPERT.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNBATCHOPERT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBATCHOPERT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBATCHOPERT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBATCHOPERT.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNBATCHRESULT IS '배치결과'; + + + +COMMENT ON COLUMN COMTNBATCHRESULT.BATCH_RESULT_ID IS '배치결과ID'; + +COMMENT ON COLUMN COMTNBATCHRESULT.BATCH_SCHDUL_ID IS '배치일정ID'; + +COMMENT ON COLUMN COMTNBATCHRESULT.BATCH_OPERT_ID IS '배치작업ID'; + +COMMENT ON COLUMN COMTNBATCHRESULT.PARAMTR IS '파라미터'; + +COMMENT ON COLUMN COMTNBATCHRESULT.STTUS IS '상태'; + +COMMENT ON COLUMN COMTNBATCHRESULT.ERROR_INFO IS '오류정보'; + +COMMENT ON COLUMN COMTNBATCHRESULT.EXECUT_BEGIN_TM IS '실행시작시각'; + +COMMENT ON COLUMN COMTNBATCHRESULT.EXECUT_END_TM IS '실행종료시각'; + +COMMENT ON COLUMN COMTNBATCHRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBATCHRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBATCHRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBATCHRESULT.FRST_REGISTER_ID IS '최초등록자ID'; + + + + +COMMENT ON TABLE COMTNBATCHSCHDUL IS '배치스케줄'; + + + +COMMENT ON COLUMN COMTNBATCHSCHDUL.BATCH_SCHDUL_ID IS '배치일정ID'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.BATCH_OPERT_ID IS '배치작업ID'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_CYCLE IS '실행주기'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_DE IS '실행일정일'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_HOUR IS '실행일정시'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_MNT IS '실행일정분'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.EXECUT_SCHDUL_SECND IS '실행일정초'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBATCHSCHDUL.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNBATCHSCHDULDFK IS '배치스케줄요일'; + + + +COMMENT ON COLUMN COMTNBATCHSCHDULDFK.BATCH_SCHDUL_ID IS '배치일정ID'; + +COMMENT ON COLUMN COMTNBATCHSCHDULDFK.EXECUT_SCHDUL_DFK_SE IS '실행일정요일구분'; + + + + +COMMENT ON TABLE COMTNBBS IS '게시판'; + + + +COMMENT ON COLUMN COMTNBBS.NTT_ID IS '게시물ID'; + +COMMENT ON COLUMN COMTNBBS.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNBBS.NTT_NO IS '게시물번호'; + +COMMENT ON COLUMN COMTNBBS.NTT_SJ IS '게시물제목'; + +COMMENT ON COLUMN COMTNBBS.NTT_CN IS '게시물내용'; + +COMMENT ON COLUMN COMTNBBS.ANSWER_AT IS '댓글여부'; + +COMMENT ON COLUMN COMTNBBS.PARNTSCTT_NO IS '부모글번호'; + +COMMENT ON COLUMN COMTNBBS.ANSWER_LC IS '댓글위치'; + +COMMENT ON COLUMN COMTNBBS.SORT_ORDR IS '정렬순서'; + +COMMENT ON COLUMN COMTNBBS.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNBBS.RDCNT IS '조회수'; + +COMMENT ON COLUMN COMTNBBS.NTCE_BGNDE IS '게시시작일'; + +COMMENT ON COLUMN COMTNBBS.NTCE_ENDDE IS '게시종료일'; + +COMMENT ON COLUMN COMTNBBS.NTCR_ID IS '게시자ID'; + +COMMENT ON COLUMN COMTNBBS.NTCR_NM IS '게시자명'; + +COMMENT ON COLUMN COMTNBBS.PASSWORD IS '비밀번호'; + +COMMENT ON COLUMN COMTNBBS.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNBBS.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBBS.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBBS.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBBS.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBBS.BLOG_ID IS '블로그 ID'; + +COMMENT ON COLUMN COMTNBBS.NOTICE_AT IS '공지사항여부'; + +COMMENT ON COLUMN COMTNBBS.SECRET_AT IS '비밀글여부'; + +COMMENT ON COLUMN COMTNBBS.SJ_BOLD_AT IS '제목볼드여부'; + + + + + +COMMENT ON TABLE COMTNBBSMASTER IS '게시판마스터'; + + + +COMMENT ON COLUMN COMTNBBSMASTER.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNBBSMASTER.BBS_NM IS '게시판명'; + +COMMENT ON COLUMN COMTNBBSMASTER.BBS_INTRCN IS '게시판소개'; + +COMMENT ON COLUMN COMTNBBSMASTER.BBS_TY_CODE IS '게시판유형코드'; + +COMMENT ON COLUMN COMTNBBSMASTER.REPLY_POSBL_AT IS '답장가능여부'; + +COMMENT ON COLUMN COMTNBBSMASTER.FILE_ATCH_POSBL_AT IS '파일첨부가능여부'; + +COMMENT ON COLUMN COMTNBBSMASTER.ATCH_POSBL_FILE_NUMBER IS '첨부가능파일숫자'; + +COMMENT ON COLUMN COMTNBBSMASTER.ATCH_POSBL_FILE_SIZE IS '첨부가능파일사이즈'; + +COMMENT ON COLUMN COMTNBBSMASTER.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNBBSMASTER.TMPLAT_ID IS '템플릿ID'; + +COMMENT ON COLUMN COMTNBBSMASTER.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBBSMASTER.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBBSMASTER.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBBSMASTER.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBBSMASTER.BLOG_AT IS '블로그 여부'; + +COMMENT ON COLUMN COMTNBBSMASTER.BLOG_ID IS '블로그 ID'; + +COMMENT ON COLUMN COMTNBBSMASTER.CMMNTY_ID IS '커뮤니티ID'; + + + + + +COMMENT ON TABLE COMTNBBSMASTEROPTN IS '게시판마스터옵션'; + + + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.ANSWER_AT IS '댓글여부'; + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.STSFDG_AT IS '만족도여부'; + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBBSMASTEROPTN.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNBBSUSE IS '게시판활용'; + + + +COMMENT ON COLUMN COMTNBBSUSE.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNBBSUSE.TRGET_ID IS '대상ID'; + +COMMENT ON COLUMN COMTNBBSUSE.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNBBSUSE.REGIST_SE_CODE IS '등록구분코드'; + +COMMENT ON COLUMN COMTNBBSUSE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBBSUSE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBBSUSE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBBSUSE.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNBKMKMENUMANAGERESULT IS '바로가기 메뉴 등록'; + + + +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.MENU_ID IS '메뉴ID'; + +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.MENU_NM IS '메뉴명'; + +COMMENT ON COLUMN COMTNBKMKMENUMANAGERESULT.PROGRM_STRE_PATH IS '프로그램저장경로'; + + + + +COMMENT ON TABLE COMTNBNDTCECKMANAGE IS '당직체크관리정보'; + + + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.BNDT_CECK_CODE IS '당직체크코드'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.BNDT_CECK_SE IS '당직체크구분'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.BNDT_CECK_CODE_NM IS '당직체크코드명'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBNDTCECKMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNBNDTDIARY IS '당직관리'; + + + +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_ID IS '당직ID'; + +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_DE IS '당직일자'; + +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_CECK_SE IS '당직체크구분'; + +COMMENT ON COLUMN COMTNBNDTDIARY.BNDT_CECK_CODE IS '당직체크코드'; + +COMMENT ON COLUMN COMTNBNDTDIARY.CHCK_STTUS IS '점검상태'; + +COMMENT ON COLUMN COMTNBNDTDIARY.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBNDTDIARY.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBNDTDIARY.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBNDTDIARY.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNBNDTMANAGE IS '당직관리정보'; + + + +COMMENT ON COLUMN COMTNBNDTMANAGE.BNDT_ID IS '당직ID'; + +COMMENT ON COLUMN COMTNBNDTMANAGE.BNDT_DE IS '당직일자'; + +COMMENT ON COLUMN COMTNBNDTMANAGE.RM IS '비고'; + +COMMENT ON COLUMN COMTNBNDTMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBNDTMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBNDTMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBNDTMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNCLUB IS '동호회속성'; + + + +COMMENT ON COLUMN COMTNCLUB.CLB_ID IS '동호회ID'; + +COMMENT ON COLUMN COMTNCLUB.CMMNTY_ID IS '커뮤니티ID'; + +COMMENT ON COLUMN COMTNCLUB.CLB_NM IS '동호회명'; + +COMMENT ON COLUMN COMTNCLUB.CLB_INTRCN IS '동호회소개'; + +COMMENT ON COLUMN COMTNCLUB.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNCLUB.REGIST_SE_CODE IS '등록구분코드'; + +COMMENT ON COLUMN COMTNCLUB.TMPLAT_ID IS '템플릿ID'; + +COMMENT ON COLUMN COMTNCLUB.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCLUB.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCLUB.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCLUB.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNCLUBUSER IS '동호회사용자'; + + + +COMMENT ON COLUMN COMTNCLUBUSER.CLB_ID IS '동호회ID'; + +COMMENT ON COLUMN COMTNCLUBUSER.CMMNTY_ID IS '커뮤니티ID'; + +COMMENT ON COLUMN COMTNCLUBUSER.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNCLUBUSER.OPRTR_AT IS '운영인여부'; + +COMMENT ON COLUMN COMTNCLUBUSER.SBSCRB_DE IS '가입일자'; + +COMMENT ON COLUMN COMTNCLUBUSER.SECSN_DE IS '탈퇴일'; + +COMMENT ON COLUMN COMTNCLUBUSER.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNCLUBUSER.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCLUBUSER.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCLUBUSER.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCLUBUSER.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNCMMNTY IS '커뮤니티 속성'; + + + +COMMENT ON COLUMN COMTNCMMNTY.CMMNTY_ID IS '커뮤니티ID'; + +COMMENT ON COLUMN COMTNCMMNTY.CMMNTY_NM IS '커뮤니티명'; + +COMMENT ON COLUMN COMTNCMMNTY.CMMNTY_INTRCN IS '커뮤니티소개'; + +COMMENT ON COLUMN COMTNCMMNTY.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNCMMNTY.REGIST_SE_CODE IS '등록구분코드'; + +COMMENT ON COLUMN COMTNCMMNTY.TMPLAT_ID IS '템플릿ID'; + +COMMENT ON COLUMN COMTNCMMNTY.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCMMNTY.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCMMNTY.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCMMNTY.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNCMMNTYUSER IS '커뮤니티사용자'; + + + +COMMENT ON COLUMN COMTNCMMNTYUSER.CMMNTY_ID IS '커뮤니티ID'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.MNGR_AT IS '관리자여부'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.SBSCRB_DE IS '가입일자'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.SECSN_DE IS '탈퇴일'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCMMNTYUSER.MBER_STTUS IS '회원 상태'; + + + + +COMMENT ON TABLE COMTNCNSLTLIST IS '상담내역'; + + + +COMMENT ON COLUMN COMTNCNSLTLIST.CNSLT_ID IS '상담ID'; + +COMMENT ON COLUMN COMTNCNSLTLIST.CNSLT_SJ IS '상담제목'; + +COMMENT ON COLUMN COMTNCNSLTLIST.OTHBC_AT IS '공개여부'; + +COMMENT ON COLUMN COMTNCNSLTLIST.EMAIL_ADRES IS '이메일주소'; + +COMMENT ON COLUMN COMTNCNSLTLIST.CNSLT_CN IS '상담내용'; + +COMMENT ON COLUMN COMTNCNSLTLIST.MANAGT_CN IS '조치내용'; + +COMMENT ON COLUMN COMTNCNSLTLIST.MANAGT_DE IS '조치일'; + +COMMENT ON COLUMN COMTNCNSLTLIST.RDCNT IS '조회수'; + +COMMENT ON COLUMN COMTNCNSLTLIST.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNCNSLTLIST.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCNSLTLIST.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCNSLTLIST.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCNSLTLIST.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCNSLTLIST.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNCNSLTLIST.MIDDLE_TELNO IS '중간전화번호'; + +COMMENT ON COLUMN COMTNCNSLTLIST.END_TELNO IS '끝전화번호'; + +COMMENT ON COLUMN COMTNCNSLTLIST.FRST_MBTLNUM IS '처음휴대폰번호'; + +COMMENT ON COLUMN COMTNCNSLTLIST.MIDDLE_MBTLNUM IS '중간이동전화번호'; + +COMMENT ON COLUMN COMTNCNSLTLIST.END_MBTLNUM IS '끝이동전화번호'; + +COMMENT ON COLUMN COMTNCNSLTLIST.WRITNG_DE IS '작성일'; + +COMMENT ON COLUMN COMTNCNSLTLIST.WRTER_NM IS '작성자명'; + +COMMENT ON COLUMN COMTNCNSLTLIST.EMAIL_ANSWER_AT IS '메일답변여부'; + +COMMENT ON COLUMN COMTNCNSLTLIST.QNA_PROCESS_STTUS_CODE IS '질의응답처리상태코드'; + +COMMENT ON COLUMN COMTNCNSLTLIST.WRITNG_PASSWORD IS '작성비밀번호'; + + + + +COMMENT ON TABLE COMTNCNTCINSTT IS '연계기관'; + + + +COMMENT ON COLUMN COMTNCNTCINSTT.INSTT_ID IS '기관ID'; + +COMMENT ON COLUMN COMTNCNTCINSTT.INSTT_NM IS '기관명'; + +COMMENT ON COLUMN COMTNCNTCINSTT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCNTCINSTT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCNTCINSTT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCNTCINSTT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCNTCINSTT.USE_AT IS '사용여부'; + + + + +COMMENT ON TABLE COMTNCNTCMESSAGE IS '연계메시지'; + + + +COMMENT ON COLUMN COMTNCNTCMESSAGE.CNTC_MSSAGE_ID IS '연계메시지ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.CNTC_MSSAGE_NM IS '연계메시지명'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.UPPER_CNTC_MSSAGE_ID IS '상위연계메시지ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCNTCMESSAGE.USE_AT IS '사용여부'; + + + + +COMMENT ON TABLE COMTNCNTCMESSAGEITEM IS '연계메시지항목'; + + + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.CNTC_MSSAGE_ID IS '연계메시지ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_ID IS '항목ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_NM IS '항목명'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_TY IS '항목유형'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.IEM_LT IS '항목길이'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCNTCMESSAGEITEM.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNCNTCSERVICE IS '연계서비스'; + + + +COMMENT ON COLUMN COMTNCNTCSERVICE.INSTT_ID IS '기관ID'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.SYS_ID IS '시스템ID'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.SVC_ID IS '서비스ID'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.SVC_NM IS '서비스명'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.REQUST_MSSAGE_ID IS '요청메시지ID'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.RSPNS_MSSAGE_ID IS '응답메시지ID'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCNTCSERVICE.USE_AT IS '사용여부'; + + + + +COMMENT ON TABLE COMTNCNTCSYSTEM IS '연계시스템'; + + + +COMMENT ON COLUMN COMTNCNTCSYSTEM.INSTT_ID IS '기관ID'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.SYS_ID IS '시스템ID'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.SYS_NM IS '시스템명'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.SYS_IP IS '시스템IP'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCNTCSYSTEM.USE_AT IS '사용여부'; + + + + +COMMENT ON TABLE COMTNCNTNTSLIST IS '컨텐츠목록'; + + + +COMMENT ON COLUMN COMTNCNTNTSLIST.CNTNTS_ID IS '컨텐츠ID'; + +COMMENT ON COLUMN COMTNCNTNTSLIST.EMPLYR_ID IS '업무사용자ID'; + + + + +COMMENT ON TABLE COMTNCOMMENT IS '댓글'; + + + +COMMENT ON COLUMN COMTNCOMMENT.NTT_ID IS '게시물ID'; + +COMMENT ON COLUMN COMTNCOMMENT.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNCOMMENT.ANSWER_NO IS '댓글번호'; + +COMMENT ON COLUMN COMTNCOMMENT.WRTER_ID IS '작성자ID'; + +COMMENT ON COLUMN COMTNCOMMENT.WRTER_NM IS '작성자명'; + +COMMENT ON COLUMN COMTNCOMMENT.ANSWER IS '댓글'; + +COMMENT ON COLUMN COMTNCOMMENT.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNCOMMENT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCOMMENT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCOMMENT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCOMMENT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCOMMENT.PASSWORD IS '비밀번호'; + + + + +COMMENT ON TABLE COMTNCOMMUTE IS '출퇴근관리'; + + + +COMMENT ON COLUMN COMTNCOMMUTE.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNCOMMUTE.WRKT_DT IS '출근날짜'; + +COMMENT ON COLUMN COMTNCOMMUTE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCOMMUTE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCOMMUTE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCOMMUTE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCOMMUTE.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTNCOMMUTE.OVTMWRK_HOURS IS '초과근무시간'; + +COMMENT ON COLUMN COMTNCOMMUTE.RM IS '비고'; + +COMMENT ON COLUMN COMTNCOMMUTE.WRKTM_ID IS '출퇴근 구분 ID'; + +COMMENT ON COLUMN COMTNCOMMUTE.WRK_END_STATUS IS '퇴근상태'; + +COMMENT ON COLUMN COMTNCOMMUTE.WRK_END_TIME IS '퇴근시간'; + +COMMENT ON COLUMN COMTNCOMMUTE.WRK_HOURS IS '근무시간'; + +COMMENT ON COLUMN COMTNCOMMUTE.WRK_START_STATUS IS '출근상태'; + +COMMENT ON COLUMN COMTNCOMMUTE.WRK_START_TIME IS '출근시간'; + + + + +COMMENT ON TABLE COMTNCPYRHTINFO IS '저작권정보'; + + + +COMMENT ON COLUMN COMTNCPYRHTINFO.CPYRHT_ID IS '저작권ID'; + +COMMENT ON COLUMN COMTNCPYRHTINFO.CPYRHT_PRTC_POLICY_CN IS '저작권보호정책내용'; + +COMMENT ON COLUMN COMTNCPYRHTINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCPYRHTINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCPYRHTINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNCPYRHTINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNCTSNNMANAGE IS '경조사정보'; + + + +COMMENT ON COLUMN COMTNCTSNNMANAGE.CTSNN_ID IS '경조ID'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.USER_ID IS '사용자ID'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.CTSNN_CODE IS '경조코드'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.REQST_DE IS '신청일'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.CTSNN_NM IS '경조명'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.TRGTER_NM IS '대상자명'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.BRTHDY IS '생일'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.RELATE IS '관계'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.RM IS '비고'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.SANCTNER_ID IS '결재자ID'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.CONFM_AT IS '승인여부'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.SANCTN_DT IS '결재일시'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.RETURN_RESN IS '반환사유'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.INFRML_SANCTN_ID IS '약식결재ID'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNCTSNNMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNDAMCALRES IS '지식정보요청제공'; + + + +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_ID IS '지식ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.EXPERT_ID IS '전문가ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_TY_CODE IS '지식유형코드'; + +COMMENT ON COLUMN COMTNDAMCALRES.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_NM IS '지식명'; + +COMMENT ON COLUMN COMTNDAMCALRES.KNWLDG_CN IS '지식내용'; + +COMMENT ON COLUMN COMTNDAMCALRES.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.PARNTS_KNWLDG_ID IS '부모지식ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.ANSWER_DP IS '답변깊이'; + +COMMENT ON COLUMN COMTNDAMCALRES.ANSWER_ORDR IS '답변순서'; + +COMMENT ON COLUMN COMTNDAMCALRES.ANSWER_GROUP_NO IS '답변그룹번호'; + +COMMENT ON COLUMN COMTNDAMCALRES.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDAMCALRES.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDAMCALRES.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNDAMKNOIFM IS '지식정보'; + + + +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_ID IS '지식ID'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_TY_CODE IS '지식유형코드'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.EXPERT_ID IS '전문가ID'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_NM IS '지식명'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_CN IS '지식내용'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.KWRD IS '키워드'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.OTHBC_AT IS '공개여부'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.KNWLDG_EVL IS '지식평가'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.COLCT_DE IS '수집일자'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.EVL_DE IS '평가일자'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNDAMKNOIFM.DSUSE_DE IS '폐기일'; + + + + +COMMENT ON TABLE COMTNDAMMAPKNO IS '지식맵(유형별)'; + + + +COMMENT ON COLUMN COMTNDAMMAPKNO.KNWLDG_TY_CODE IS '지식유형코드'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.EXPERT_ID IS '전문가ID'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.KNWLDG_TY_NM IS '지식유형명'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.CL_DE IS '분류일'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.KNWLDG_URL IS '지식URL'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDAMMAPKNO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNDAMMAPTEAM IS '지식맵(조직별)'; + + + +COMMENT ON COLUMN COMTNDAMMAPTEAM.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTNDAMMAPTEAM.ORGNZT_NM IS '조직명'; + +COMMENT ON COLUMN COMTNDAMMAPTEAM.CL_DE IS '분류일'; + +COMMENT ON COLUMN COMTNDAMMAPTEAM.KNWLDG_URL IS '지식URL'; + +COMMENT ON COLUMN COMTNDAMMAPTEAM.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDAMMAPTEAM.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNDAMPRO IS '지식전문가'; + + + +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_ID IS '전문가ID'; + +COMMENT ON COLUMN COMTNDAMPRO.KNWLDG_TY_CODE IS '지식유형코드'; + +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_GRAD IS '전문가등급'; + +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_CONFM_DE IS '전문가승인일'; + +COMMENT ON COLUMN COMTNDAMPRO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDAMPRO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDAMPRO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDAMPRO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNDAMPRO.EXPERT_DC IS '전문가설명'; + + + + +COMMENT ON TABLE COMTNDBMNTRNG IS 'DB서비스모니터링'; + + + +COMMENT ON COLUMN COMTNDBMNTRNG.DATA_SOURC_NM IS '데이터소스명'; + +COMMENT ON COLUMN COMTNDBMNTRNG.SERVER_NM IS '서버명'; + +COMMENT ON COLUMN COMTNDBMNTRNG.DBMS_KND IS 'DBMS종류'; + +COMMENT ON COLUMN COMTNDBMNTRNG.CECK_SQL IS '체크SQL'; + +COMMENT ON COLUMN COMTNDBMNTRNG.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTNDBMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNDBMNTRNG.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTNDBMNTRNG.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNDBMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDBMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDBMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDBMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNDEPTJOB IS '부서업무정보'; + + + +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOB_ID IS '부서업무ID'; + +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOBBX_ID IS '부서업무함ID'; + +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOB_NM IS '부서업무명'; + +COMMENT ON COLUMN COMTNDEPTJOB.DEPT_JOB_CN IS '부서업무내용'; + +COMMENT ON COLUMN COMTNDEPTJOB.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNDEPTJOB.CHARGER_ID IS '담당자ID'; + +COMMENT ON COLUMN COMTNDEPTJOB.PRIORT IS '우선순위'; + +COMMENT ON COLUMN COMTNDEPTJOB.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDEPTJOB.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDEPTJOB.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDEPTJOB.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNDEPTJOBBX IS '부서업무함'; + + + +COMMENT ON COLUMN COMTNDEPTJOBBX.DEPT_JOBBX_ID IS '부서업무함ID'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.DEPT_JOBBX_NM IS '부서업무함명'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.DEPT_ID IS '부서ID'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.INDICT_ORDR IS '표시순서'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDEPTJOBBX.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNDIARYINFO IS '일지정보'; + + + +COMMENT ON COLUMN COMTNDIARYINFO.SCHDUL_ID IS '일정ID'; + +COMMENT ON COLUMN COMTNDIARYINFO.DIARY_ID IS '일지ID'; + +COMMENT ON COLUMN COMTNDIARYINFO.DIARY_PROGRSRT IS '일지진척율'; + +COMMENT ON COLUMN COMTNDIARYINFO.DIARY_NM IS '일지명'; + +COMMENT ON COLUMN COMTNDIARYINFO.DRCT_MATTER IS '지시사항'; + +COMMENT ON COLUMN COMTNDIARYINFO.PARTCLR_MATTER IS '특이사항'; + +COMMENT ON COLUMN COMTNDIARYINFO.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNDIARYINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDIARYINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDIARYINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNDIARYINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNDTAUSESTATS IS '자료이용현황통계'; + + + +COMMENT ON COLUMN COMTNDTAUSESTATS.DTA_USE_STATS_ID IS '자료사용통계ID'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.NTT_ID IS '게시물ID'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.FILE_SN IS '파일순번'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNDTAUSESTATS.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNEMPLYRINFO IS '업무사용자정보'; + + + +COMMENT ON COLUMN COMTNEMPLYRINFO.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.USER_NM IS '사용자명'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.PASSWORD IS '비밀번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.EMPL_NO IS '사원번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.IHIDNUM IS '주민등록번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.SEXDSTN_CODE IS '성별코드'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.BRTHDY IS '생일'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.FXNUM IS '팩스번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.HOUSE_ADRES IS '주택주소'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.PASSWORD_HINT IS '비밀번호힌트'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.PASSWORD_CNSR IS '비밀번호정답'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.HOUSE_END_TELNO IS '주택끝전화번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.DETAIL_ADRES IS '상세주소'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.ZIP IS '우편번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.OFFM_TELNO IS '사무실전화번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.MBTLNUM IS '이동전화번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.EMAIL_ADRES IS '이메일주소'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.OFCPS_NM IS '직위명'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.HOUSE_MIDDLE_TELNO IS '주택중간전화번호'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.GROUP_ID IS '그룹ID'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.PSTINST_CODE IS '소속기관코드'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.EMPLYR_STTUS_CODE IS '사용자상태코드'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.ESNTL_ID IS '고유ID'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.CRTFC_DN_VALUE IS '인증DN값'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.SBSCRB_DE IS '가입일자'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.LOCK_AT IS '잠금여부'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.LOCK_CNT IS '잠금회수'; + +COMMENT ON COLUMN COMTNEMPLYRINFO.LOCK_LAST_PNTTM IS '잠금최종시점'; + + + + +COMMENT ON TABLE COMTNEMPLYRSCRTYESTBS IS '사용자보안설정'; + + + +COMMENT ON COLUMN COMTNEMPLYRSCRTYESTBS.SCRTY_DTRMN_TRGET_ID IS '보안설정대상ID'; + +COMMENT ON COLUMN COMTNEMPLYRSCRTYESTBS.MBER_TY_CODE IS '회원유형코드'; + +COMMENT ON COLUMN COMTNEMPLYRSCRTYESTBS.AUTHOR_CODE IS '권한코드'; + + + + +COMMENT ON TABLE COMTNENTRPRSMBER IS '기업회원'; + + + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_ID IS '기업회원ID'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_SE_CODE IS '기업구분코드'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.BIZRNO IS '사업자등록번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.JURIRNO IS '법인등록번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.CMPNY_NM IS '회사명'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.CXFC IS '대표이사'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ZIP IS '우편번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ADRES IS '주소'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MIDDLE_TELNO IS '기업중간전화번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.FXNUM IS '팩스번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.INDUTY_CODE IS '업종코드'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.APPLCNT_NM IS '신청인명'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.APPLCNT_IHIDNUM IS '신청인주민등록번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.SBSCRB_DE IS '가입일자'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_STTUS IS '기업회원상태'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_PASSWORD IS '기업회원비밀번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_PASSWORD_HINT IS '기업회원비밀번호힌트'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_MBER_PASSWORD_CNSR IS '기업회원비밀번호정답'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.GROUP_ID IS '그룹ID'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.DETAIL_ADRES IS '상세주소'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ENTRPRS_END_TELNO IS '기업끝전화번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.APPLCNT_EMAIL_ADRES IS '신청자이메일주소'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.ESNTL_ID IS '고유ID'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.LOCK_AT IS '잠금여부'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.LOCK_CNT IS '잠금회수'; + +COMMENT ON COLUMN COMTNENTRPRSMBER.LOCK_LAST_PNTTM IS '잠금최종시점'; + + + + +COMMENT ON TABLE COMTNEVENTATDRN IS '행사참석자'; + + + +COMMENT ON COLUMN COMTNEVENTATDRN.APPLCNT_ID IS '신청인ID'; + +COMMENT ON COLUMN COMTNEVENTATDRN.EVENT_ID IS '행사ID'; + +COMMENT ON COLUMN COMTNEVENTATDRN.REQST_DE IS '신청일'; + +COMMENT ON COLUMN COMTNEVENTATDRN.SANCTNER_ID IS '결재자ID'; + +COMMENT ON COLUMN COMTNEVENTATDRN.CONFM_AT IS '승인여부'; + +COMMENT ON COLUMN COMTNEVENTATDRN.SANCTN_DT IS '결재일시'; + +COMMENT ON COLUMN COMTNEVENTATDRN.RETURN_RESN IS '반환사유'; + +COMMENT ON COLUMN COMTNEVENTATDRN.INFRML_SANCTN_ID IS '약식결재ID'; + +COMMENT ON COLUMN COMTNEVENTATDRN.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNEVENTATDRN.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNEVENTATDRN.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNEVENTATDRN.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNEVENTINFO IS '행사/이벤트정보'; + + + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_ID IS '행사ID'; + +COMMENT ON COLUMN COMTNEVENTINFO.BSNS_YEAR IS '사업년도'; + +COMMENT ON COLUMN COMTNEVENTINFO.BSNS_CODE IS '사업코드'; + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_CN IS '행사내용'; + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_SVC_BGNDE IS '행사서비스시작일'; + +COMMENT ON COLUMN COMTNEVENTINFO.SVC_USE_NMPR_CO IS '서비스사용인원수'; + +COMMENT ON COLUMN COMTNEVENTINFO.CHARGER_NM IS '담당자명'; + +COMMENT ON COLUMN COMTNEVENTINFO.PRPARETG_CN IS '준비물내용'; + +COMMENT ON COLUMN COMTNEVENTINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNEVENTINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNEVENTINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNEVENTINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_SVC_ENDDE IS '행사서비스종료일'; + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_TY_CODE IS '행사유형코드'; + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_CONFM_AT IS '행사승인여부'; + +COMMENT ON COLUMN COMTNEVENTINFO.EVENT_CONFM_DE IS '행사승인날짜'; + + + + +COMMENT ON TABLE COMTNEVENTMANAGE IS '행사관리'; + + + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_ID IS '행사ID'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_SE IS '행사구분'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_NM IS '행사명'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_PURPS IS '행사목적'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_BGNDE IS '행사시작일'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_ENDDE IS '행사종료일'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_AUSPC_INSTT_NM IS '행사주최기관명'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_MNGT_INSTT_NM IS '행사주관기관명'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_PLACE IS '행사장소'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.EVENT_CN IS '행사내용'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.CT_OCCRRNC_AT IS '비용발생여부'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.PARTCPT_CT IS '참가비용'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.REFRN_URL IS '참조URL'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.RCEPT_BGNDE IS '접수시작일'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.RCEPT_ENDDE IS '접수종료일'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNEVENTMANAGE.PSNCPA IS '정원'; + + + + +COMMENT ON TABLE COMTNEXTRLHRINFO IS '외부인사정보'; + + + +COMMENT ON COLUMN COMTNEXTRLHRINFO.EVENT_ID IS '행사ID'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.EXTRL_HR_ID IS '외부인사ID'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.SEXDSTN_CODE IS '성별코드'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.EXTRL_HR_NM IS '외부인사명'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.OCCP_TY_CODE IS '직업유형코드'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.PSITN_INSTT_NM IS '소속기관명'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.BRTHDY IS '생일'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.MIDDLE_TELNO IS '중간전화번호'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.END_TELNO IS '끝전화번호'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.EMAIL_ADRES IS '이메일주소'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNEXTRLHRINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNFAQINFO IS 'FAQ정보'; + + + +COMMENT ON COLUMN COMTNFAQINFO.FAQ_ID IS 'FAQID'; + +COMMENT ON COLUMN COMTNFAQINFO.QESTN_SJ IS '질문제목'; + +COMMENT ON COLUMN COMTNFAQINFO.QESTN_CN IS '질문내용'; + +COMMENT ON COLUMN COMTNFAQINFO.ANSWER_CN IS '답변내용'; + +COMMENT ON COLUMN COMTNFAQINFO.RDCNT IS '조회수'; + +COMMENT ON COLUMN COMTNFAQINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNFAQINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNFAQINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNFAQINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNFAQINFO.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNFAQINFO.QNA_PROCESS_STTUS_CODE IS '질의응답처리상태코드'; + + + + +COMMENT ON TABLE COMTNFILE IS '파일속성'; + + + +COMMENT ON COLUMN COMTNFILE.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNFILE.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNFILE.USE_AT IS '사용여부'; + + + + +COMMENT ON TABLE COMTNFILEDETAIL IS '파일상세정보'; + + + +COMMENT ON COLUMN COMTNFILEDETAIL.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_SN IS '파일순번'; + +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_STRE_COURS IS '파일저장경로'; + +COMMENT ON COLUMN COMTNFILEDETAIL.STRE_FILE_NM IS '저장파일명'; + +COMMENT ON COLUMN COMTNFILEDETAIL.ORIGNL_FILE_NM IS '원파일명'; + +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_EXTSN IS '파일확장자'; + +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_CN IS '파일내용'; + +COMMENT ON COLUMN COMTNFILEDETAIL.FILE_SIZE IS '파일크기'; + + + + +COMMENT ON TABLE COMTNFILESYSMNTRNG IS '파일시스템모니터링'; + + + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_ID IS '파일시스템ID'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_NM IS '파일시스템명'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_MANAGE_NM IS '파일시스템관리명'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_SIZE IS '파일시스템크기'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_THRHLD IS '파일시스템임계치'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FILE_SYS_USGQTY IS '파일시스템사용량'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNFILESYSMNTRNGLOGINFO IS '파일시스템모니터링로그정보'; + + + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_ID IS '파일시스템ID'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_NM IS '파일시스템명'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_MANAGE_NM IS '파일시스템관리명'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_SIZE IS '파일시스템크기'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_THRHLD IS '파일시스템임계치'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FILE_SYS_USGQTY IS '파일시스템사용량'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LOG_INFO IS '로그정보'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNFILESYSMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNFXTRSMANAGE IS 'COMTNFXTRSMANAGE'; + + + +COMMENT ON COLUMN COMTNFXTRSMANAGE.FXTRS_CODE IS '비품코드'; + +COMMENT ON COLUMN COMTNFXTRSMANAGE.FXTRS_NM IS '비품명'; + +COMMENT ON COLUMN COMTNFXTRSMANAGE.MAKR_NM IS '제작자명'; + +COMMENT ON COLUMN COMTNFXTRSMANAGE.PRICE IS '가격'; + + + + +COMMENT ON TABLE COMTNGNRLMBER IS '일반회원'; + + + +COMMENT ON COLUMN COMTNGNRLMBER.MBER_ID IS '회원ID'; + +COMMENT ON COLUMN COMTNGNRLMBER.PASSWORD IS '비밀번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.PASSWORD_HINT IS '비밀번호힌트'; + +COMMENT ON COLUMN COMTNGNRLMBER.PASSWORD_CNSR IS '비밀번호정답'; + +COMMENT ON COLUMN COMTNGNRLMBER.IHIDNUM IS '주민등록번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.MBER_NM IS '회원명'; + +COMMENT ON COLUMN COMTNGNRLMBER.ZIP IS '우편번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.ADRES IS '주소'; + +COMMENT ON COLUMN COMTNGNRLMBER.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.MBER_STTUS IS '회원상태'; + +COMMENT ON COLUMN COMTNGNRLMBER.DETAIL_ADRES IS '상세주소'; + +COMMENT ON COLUMN COMTNGNRLMBER.END_TELNO IS '끝전화번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.MBTLNUM IS '이동전화번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.GROUP_ID IS '그룹ID'; + +COMMENT ON COLUMN COMTNGNRLMBER.MBER_FXNUM IS '회원팩스번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.MBER_EMAIL_ADRES IS '회원이메일주소'; + +COMMENT ON COLUMN COMTNGNRLMBER.MIDDLE_TELNO IS '중간전화번호'; + +COMMENT ON COLUMN COMTNGNRLMBER.SBSCRB_DE IS '가입일자'; + +COMMENT ON COLUMN COMTNGNRLMBER.SEXDSTN_CODE IS '성별코드'; + +COMMENT ON COLUMN COMTNGNRLMBER.ESNTL_ID IS '고유ID'; + +COMMENT ON COLUMN COMTNGNRLMBER.LOCK_AT IS '잠금여부'; + +COMMENT ON COLUMN COMTNGNRLMBER.LOCK_CNT IS '잠금회수'; + +COMMENT ON COLUMN COMTNGNRLMBER.LOCK_LAST_PNTTM IS '잠금최종시점'; + + + + +COMMENT ON TABLE COMTNHPCMINFO IS '도움말정보'; + + + +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_ID IS '도움말ID'; + +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_SE_CODE IS '도움말구분코드'; + +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_DFN IS '도움말정의'; + +COMMENT ON COLUMN COMTNHPCMINFO.HPCM_DC IS '도움말설명'; + +COMMENT ON COLUMN COMTNHPCMINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNHPCMINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNHPCMINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNHPCMINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNHTTPMON IS 'HTTP서비스모니터링'; + + + +COMMENT ON COLUMN COMTNHTTPMON.SYS_ID IS '시스템ID'; + +COMMENT ON COLUMN COMTNHTTPMON.SITE_URL IS '사이트URL'; + +COMMENT ON COLUMN COMTNHTTPMON.WEBSVC_KND IS '웹서비스종류'; + +COMMENT ON COLUMN COMTNHTTPMON.HTTP_STTUS_CODE IS 'HTTP상태코드'; + +COMMENT ON COLUMN COMTNHTTPMON.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNHTTPMON.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTNHTTPMON.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNHTTPMON.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNHTTPMON.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNHTTPMON.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNHTTPMON.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNINDVDLINFOPOLICY IS '개인정보정책확인'; + + + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_ID IS '개인정보정책ID'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_CN IS '개인정보정책내용'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_AGRE_AT IS '개인정보정책동의여부'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNINDVDLINFOPOLICY.INDVDL_INFO_POLICY_NM IS '개인정보정책명'; + + + + +COMMENT ON TABLE COMTNINDVDLPGECNTNTS IS '마이페이지 컨텐츠'; + + + +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_ID IS '컨텐츠ID'; + +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_NM IS '컨텐츠명'; + +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTC_URL IS '연계URL'; + +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_USE_AT IS '컨텐츠사용여부'; + +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_LINK_URL IS '컨텐츠링크URL'; + +COMMENT ON COLUMN COMTNINDVDLPGECNTNTS.CNTNTS_DC IS '컨텐츠설명'; + + + + +COMMENT ON TABLE COMTNINDVDLPGEESTBS IS '마이페이지 설정'; + + + +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.UPEND_IMAGE IS '상단이미지'; + +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.TITLEBAR_COLOR IS '타이틀바색상'; + +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.ALGN_MTHD IS '배열방식'; + +COMMENT ON COLUMN COMTNINDVDLPGEESTBS.ALGN_CO IS '배열개수'; + + + + +COMMENT ON TABLE COMTNINDVDLYRYCMANAGE IS '개인별연차관리'; + + + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.OCCRRNC_YEAR IS '발생년도'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.USER_ID IS '사용자ID'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.YRYC_OCCRRNC_CO IS '연차발생개수'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.USE_YRYC_CO IS '사용연차개수'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.REMNDR_YRYC_CO IS '잔여연차개수'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNINDVDLYRYCMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNINFRMLSANCTN IS '약식결재정보'; + + + +COMMENT ON COLUMN COMTNINFRMLSANCTN.INFRML_SANCTN_ID IS '약식결재ID'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.JOB_SE_CODE IS '업무구분코드'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.APPLCNT_ID IS '신청인ID'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.REQST_DE IS '신청일'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.SANCTNER_ID IS '결재자ID'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.CONFM_AT IS '승인여부'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.SANCTN_DT IS '결재일시'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.RETURN_RESN IS '반환사유'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNINFRMLSANCTN.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNINSTTCODE IS '기관코드'; + + + +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_CODE IS '기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODE.ALL_INSTT_NM IS '전체기관명'; + +COMMENT ON COLUMN COMTNINSTTCODE.LOWEST_INSTT_NM IS '최하위기관명'; + +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_ABRV_NM IS '기관약어명'; + +COMMENT ON COLUMN COMTNINSTTCODE.ODR IS '차수'; + +COMMENT ON COLUMN COMTNINSTTCODE.ORD IS '서열'; + +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_ODR IS '기관차수'; + +COMMENT ON COLUMN COMTNINSTTCODE.UPPER_INSTT_CODE IS '상위기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODE.BEST_INSTT_CODE IS '최상위기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODE.REPRSNT_INSTT_CODE IS '대표기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_TY_LCLAS IS '기관유형대분류'; + +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_TY_MLSFC IS '기관유형중분류'; + +COMMENT ON COLUMN COMTNINSTTCODE.INSTT_TY_SCLAS IS '기관유형소분류'; + +COMMENT ON COLUMN COMTNINSTTCODE.CREAT_DE IS '생성일'; + +COMMENT ON COLUMN COMTNINSTTCODE.TELNO IS '전화번호'; + +COMMENT ON COLUMN COMTNINSTTCODE.FXNUM IS '팩스번호'; + +COMMENT ON COLUMN COMTNINSTTCODE.ABL_DE IS '폐지일'; + +COMMENT ON COLUMN COMTNINSTTCODE.ABL_ENNC IS '폐지유무'; + +COMMENT ON COLUMN COMTNINSTTCODE.CHANGE_DE IS '변경일'; + +COMMENT ON COLUMN COMTNINSTTCODE.CHANGE_TIME IS '변경시간'; + +COMMENT ON COLUMN COMTNINSTTCODE.BSIS_DE IS '기초일'; + +COMMENT ON COLUMN COMTNINSTTCODE.SORT_ORDR IS '정렬순서'; + +COMMENT ON COLUMN COMTNINSTTCODE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNINSTTCODE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNINSTTCODE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNINSTTCODE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNINSTTCODERECPTNLOG IS '기관코드수신로그'; + + + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.OPERT_SN IS '작업일련번호'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_CODE IS '기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CHANGE_SE_CODE IS '변경구분코드'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.PROCESS_SE IS '처리구분'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ETC_CODE IS '기타코드'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ALL_INSTT_NM IS '전체기관명'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.LOWEST_INSTT_NM IS '최하위기관명'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_ABRV_NM IS '기관약어명'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ODR IS '차수'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ORD IS '서열'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_ODR IS '기관차수'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.UPPER_INSTT_CODE IS '상위기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.BEST_INSTT_CODE IS '최상위기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.REPRSNT_INSTT_CODE IS '대표기관코드'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_TY_LCLAS IS '기관유형대분류'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_TY_MLSFC IS '기관유형중분류'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.INSTT_TY_SCLAS IS '기관유형소분류'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.TELNO IS '전화번호'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.FXNUM IS '팩스번호'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CREAT_DE IS '생성일'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ABL_DE IS '폐지일'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.ABL_ENNC IS '폐지유무'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CHANGE_DE IS '변경일'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.CHANGE_TIME IS '변경시간'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.BSIS_DE IS '기초일'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.SORT_ORDR IS '정렬순서'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNINSTTCODERECPTNLOG.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNINTNETSVC IS '인터넷서비스'; + + + +COMMENT ON COLUMN COMTNINTNETSVC.INTNET_SVC_ID IS '인터넷서비스ID'; + +COMMENT ON COLUMN COMTNINTNETSVC.INTNET_SVC_NM IS '인터넷서비스명'; + +COMMENT ON COLUMN COMTNINTNETSVC.INTNET_SVC_DC IS '인터넷서비스설명'; + +COMMENT ON COLUMN COMTNINTNETSVC.REFLCT_AT IS '반영여부'; + +COMMENT ON COLUMN COMTNINTNETSVC.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNINTNETSVC.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNINTNETSVC.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNINTNETSVC.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNLEADERSCHDUL IS '간부일정정보'; + + + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_ID IS '일정ID'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_SE IS '일정구분'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_NM IS '일정명'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_CN IS '일정내용'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_PLACE IS '일정장소'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.LEADER_ID IS '간부ID'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.REPTIT_SE_CODE IS '반복구분코드'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_BGNDE IS '일정시작일'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_ENDDE IS '일정종료일'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.SCHDUL_CHARGER_ID IS '일정담당자ID'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNLEADERSCHDUL.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNLEADERSCHDULDE IS '간부일정관리'; + + + +COMMENT ON COLUMN COMTNLEADERSCHDULDE.SCHDUL_ID IS '일정ID'; + +COMMENT ON COLUMN COMTNLEADERSCHDULDE.SCHDUL_DE IS '일정일'; + + + + +COMMENT ON TABLE COMTNLEADERSTTUS IS '간부상태정보'; + + + +COMMENT ON COLUMN COMTNLEADERSTTUS.LEADER_ID IS '간부ID'; + +COMMENT ON COLUMN COMTNLEADERSTTUS.LEADER_STTUS IS '간부상태'; + +COMMENT ON COLUMN COMTNLEADERSTTUS.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNLEADERSTTUS.FRST_REGIST_PNTTM IS '최초등록자시점'; + +COMMENT ON COLUMN COMTNLEADERSTTUS.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNLEADERSTTUS.LAST_UPDT_PNTTM IS '최종등록자시점'; + + + + +COMMENT ON TABLE COMTNLOGINLOG IS '접속로그'; + + + +COMMENT ON COLUMN COMTNLOGINLOG.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTNLOGINLOG.CONECT_ID IS '접속ID'; + +COMMENT ON COLUMN COMTNLOGINLOG.CONECT_IP IS '접속IP'; + +COMMENT ON COLUMN COMTNLOGINLOG.CONECT_MTHD IS '접속방식'; + +COMMENT ON COLUMN COMTNLOGINLOG.ERROR_OCCRRNC_AT IS '오류발생여부'; + +COMMENT ON COLUMN COMTNLOGINLOG.ERROR_CODE IS '오류코드'; + +COMMENT ON COLUMN COMTNLOGINLOG.CREAT_DT IS '생성일시'; + + + + +COMMENT ON TABLE COMTNLOGINPOLICY IS '로그인정책'; + + + +COMMENT ON COLUMN COMTNLOGINPOLICY.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.IP_INFO IS 'IP정보'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.DPLCT_PERM_AT IS '중복허용여부'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.LMTT_AT IS '제한여부'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNLOGINPOLICY.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNLOGINSCRINIMAGE IS '로그인화면이미지'; + + + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_ID IS '이미지ID'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_NM IS '이미지명'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_FILE IS '이미지파일'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.REFLCT_AT IS '반영여부'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE IS '이미지'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.IMAGE_DC IS '이미지설명'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNLOGINSCRINIMAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNMAINIMAGE IS '메인이미지'; + + + +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_ID IS '이미지ID'; + +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_NM IS '이미지명'; + +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE IS '이미지'; + +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_DC IS '이미지설명'; + +COMMENT ON COLUMN COMTNMAINIMAGE.REFLCT_AT IS '반영여부'; + +COMMENT ON COLUMN COMTNMAINIMAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNMAINIMAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNMAINIMAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNMAINIMAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNMAINIMAGE.IMAGE_FILE IS '이미지파일'; + + + + +COMMENT ON TABLE COMTNMEMOREPRT IS '메모보고관리'; + + + +COMMENT ON COLUMN COMTNMEMOREPRT.REPRT_ID IS '보고서ID'; + +COMMENT ON COLUMN COMTNMEMOREPRT.REPRT_SJ IS '보고서제목'; + +COMMENT ON COLUMN COMTNMEMOREPRT.REPORT_DE IS '보고일'; + +COMMENT ON COLUMN COMTNMEMOREPRT.WRTER_ID IS '작성자ID'; + +COMMENT ON COLUMN COMTNMEMOREPRT.REPORTR_ID IS '보고자ID'; + +COMMENT ON COLUMN COMTNMEMOREPRT.REPORT_CN IS '보고내용'; + +COMMENT ON COLUMN COMTNMEMOREPRT.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNMEMOREPRT.DRCT_MATTER IS '지시사항'; + +COMMENT ON COLUMN COMTNMEMOREPRT.DRCT_MATTER_REGIST_DT IS '지시사항등록일시'; + +COMMENT ON COLUMN COMTNMEMOREPRT.REPORTR_INQIRE_DT IS '보고자조회일시'; + +COMMENT ON COLUMN COMTNMEMOREPRT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNMEMOREPRT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNMEMOREPRT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNMEMOREPRT.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNMEMOTODO IS '메모할일정보'; + + + +COMMENT ON COLUMN COMTNMEMOTODO.TODO_ID IS '할일ID'; + +COMMENT ON COLUMN COMTNMEMOTODO.TODO_SJ IS '할일제목'; + +COMMENT ON COLUMN COMTNMEMOTODO.TODO_BEGIN_TIME IS '할일시작시간'; + +COMMENT ON COLUMN COMTNMEMOTODO.TODO_END_TIME IS '할일종료시간'; + +COMMENT ON COLUMN COMTNMEMOTODO.WRTER_ID IS '작성자ID'; + +COMMENT ON COLUMN COMTNMEMOTODO.TODO_CN IS '할일내용'; + +COMMENT ON COLUMN COMTNMEMOTODO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNMEMOTODO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNMEMOTODO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNMEMOTODO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNMENUCREATDTLS IS '메뉴생성내역'; + + + +COMMENT ON COLUMN COMTNMENUCREATDTLS.MENU_NO IS '메뉴번호'; + +COMMENT ON COLUMN COMTNMENUCREATDTLS.AUTHOR_CODE IS '권한코드'; + +COMMENT ON COLUMN COMTNMENUCREATDTLS.MAPNG_CREAT_ID IS '매핑생성ID'; + + + + +COMMENT ON TABLE COMTNMENUINFO IS '메뉴정보'; + + + +COMMENT ON COLUMN COMTNMENUINFO.MENU_NO IS '메뉴번호'; + +COMMENT ON COLUMN COMTNMENUINFO.UPPER_MENU_NO IS '상위메뉴번호'; + +COMMENT ON COLUMN COMTNMENUINFO.MENU_NM IS '메뉴명'; + +COMMENT ON COLUMN COMTNMENUINFO.PROGRM_FILE_NM IS '프로그램파일명'; + +COMMENT ON COLUMN COMTNMENUINFO.MENU_ORDR IS '메뉴순서'; + +COMMENT ON COLUMN COMTNMENUINFO.MENU_DC IS '메뉴설명'; + +COMMENT ON COLUMN COMTNMENUINFO.RELATE_IMAGE_PATH IS '관계이미지경로'; + +COMMENT ON COLUMN COMTNMENUINFO.RELATE_IMAGE_NM IS '관계이미지명'; + + + + +COMMENT ON TABLE COMTNMTGINFO IS '회의정보'; + + + +COMMENT ON COLUMN COMTNMTGINFO.MTG_ID IS '회의ID'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_NM IS '회의명'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_MTR_CN IS '회의안건내용'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_SN IS '회의순번'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_CO IS '회의수'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_DE IS '회의일'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_PLACE IS '회의장소'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_BEGIN_TM IS '회의시작시간'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_END_TM IS '회의종료시간'; + +COMMENT ON COLUMN COMTNMTGINFO.CLSDR_MTG_AT IS '비공개회의여부'; + +COMMENT ON COLUMN COMTNMTGINFO.READNG_BGNDE IS '열람개시일'; + +COMMENT ON COLUMN COMTNMTGINFO.READNG_AT IS '열람여부'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_RESULT_CN IS '회의결과내용'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_RESULT_ENNC IS '회의결과유무'; + +COMMENT ON COLUMN COMTNMTGINFO.ETC_MATTER IS '기타사항'; + +COMMENT ON COLUMN COMTNMTGINFO.MNGT_DEPT_ID IS '주관부서ID'; + +COMMENT ON COLUMN COMTNMTGINFO.MNAER_ID IS '주관자ID'; + +COMMENT ON COLUMN COMTNMTGINFO.MNAER_DEPT_ID IS '주관자부서ID'; + +COMMENT ON COLUMN COMTNMTGINFO.MTG_AT IS '회의여부'; + +COMMENT ON COLUMN COMTNMTGINFO.NONATDRN_CO IS '불참자수'; + +COMMENT ON COLUMN COMTNMTGINFO.ATDRN_CO IS '참석자수'; + +COMMENT ON COLUMN COMTNMTGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNMTGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNMTGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNMTGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNMTGPLACEFXTRS IS '회의실비품'; + + + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.MTGRUM_ID IS '회의실ID'; + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.FXTRS_CODE IS '비품코드'; + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.QY IS '량'; + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNMTGPLACEFXTRS.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNMTGPLACEMANAGE IS '회의실관리'; + + + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.MTGRUM_ID IS '회의실ID'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.MTGRUM_NM IS '회의실명'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.OPN_BEGIN_TM IS '개방시작시각'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.OPN_END_TM IS '개방종료시각'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.ACEPTNC_POSBL_NMPR IS '수용가능인원'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LC_SE IS '위치구분'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LC_DETAIL IS '위치상세'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNMTGPLACEMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNMTGPLACERESVE IS '회의실예약정보'; + + + +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_ID IS '예약ID'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.MTGRUM_ID IS '회의실ID'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.MTG_SJ IS '회의제목'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.RSVCTM_ID IS '예약자ID'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_DE IS '예약일'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_BEGIN_TM IS '예약시작시각'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.RESVE_END_TM IS '예약종료시각'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.ATNDNC_NMPR IS '참석인원'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.MTG_CN IS '회의내용'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNMTGPLACERESVE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNNCRD IS '명함정보속성'; + + + +COMMENT ON COLUMN COMTNNCRD.NCRD_ID IS '명함ID'; + +COMMENT ON COLUMN COMTNNCRD.NCRD_TRGTER_ID IS '명함대상자ID'; + +COMMENT ON COLUMN COMTNNCRD.NM IS '이름'; + +COMMENT ON COLUMN COMTNNCRD.TELNO IS '전화번호'; + +COMMENT ON COLUMN COMTNNCRD.NATION_NO IS '국가번호'; + +COMMENT ON COLUMN COMTNNCRD.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNNCRD.MIDDLE_TELNO IS '중간전화번호'; + +COMMENT ON COLUMN COMTNNCRD.END_TELNO IS '끝전화번호'; + +COMMENT ON COLUMN COMTNNCRD.MBTLNUM IS '이동전화번호'; + +COMMENT ON COLUMN COMTNNCRD.IDNTFC_NO IS '식별번호'; + +COMMENT ON COLUMN COMTNNCRD.MIDDLE_MBTLNUM IS '중간이동전화번호'; + +COMMENT ON COLUMN COMTNNCRD.END_MBTLNUM IS '끝이동전화번호'; + +COMMENT ON COLUMN COMTNNCRD.EMAIL_ADRES IS '이메일주소'; + +COMMENT ON COLUMN COMTNNCRD.CMPNY_NM IS '회사명'; + +COMMENT ON COLUMN COMTNNCRD.DEPT_NM IS '부서명'; + +COMMENT ON COLUMN COMTNNCRD.ADRES IS '주소'; + +COMMENT ON COLUMN COMTNNCRD.DETAIL_ADRES IS '상세주소'; + +COMMENT ON COLUMN COMTNNCRD.OFCPS_NM IS '직위명'; + +COMMENT ON COLUMN COMTNNCRD.CLSF_NM IS '직급명'; + +COMMENT ON COLUMN COMTNNCRD.EXTRL_USER_AT IS '외부사용자여부'; + +COMMENT ON COLUMN COMTNNCRD.OTHBC_AT IS '공개여부'; + +COMMENT ON COLUMN COMTNNCRD.RM IS '비고'; + +COMMENT ON COLUMN COMTNNCRD.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNCRD.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNCRD.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNNCRD.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNNCRDUSER IS '명함사용자속성'; + + + +COMMENT ON COLUMN COMTNNCRDUSER.NCRD_ID IS '명함ID'; + +COMMENT ON COLUMN COMTNNCRDUSER.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNNCRDUSER.REGIST_SE_CODE IS '등록구분코드'; + +COMMENT ON COLUMN COMTNNCRDUSER.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNNCRDUSER.CREAT_DT IS '생성일시'; + + + + +COMMENT ON TABLE COMTNNEWSINFO IS '뉴스정보'; + + + +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_ID IS '뉴스ID'; + +COMMENT ON COLUMN COMTNNEWSINFO.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_SJ IS '뉴스제목'; + +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_CN IS '뉴스내용'; + +COMMENT ON COLUMN COMTNNEWSINFO.NEWS_ORIGIN IS '뉴스출처'; + +COMMENT ON COLUMN COMTNNEWSINFO.NTCE_AT IS '게시여부'; + +COMMENT ON COLUMN COMTNNEWSINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNEWSINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNEWSINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNNEWSINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNNEWSINFO.NTCE_DE IS '게시일'; + + + + +COMMENT ON TABLE COMTNNOTE IS '쪽지관리'; + + + +COMMENT ON COLUMN COMTNNOTE.NOTE_ID IS '쪽지ID'; + +COMMENT ON COLUMN COMTNNOTE.NOTE_SJ IS '쪽지제목'; + +COMMENT ON COLUMN COMTNNOTE.NOTE_CN IS '쪽지내용'; + +COMMENT ON COLUMN COMTNNOTE.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNNOTE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNOTE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNOTE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNNOTE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNNOTERECPTN IS '받은쪽지함관리'; + + + +COMMENT ON COLUMN COMTNNOTERECPTN.NOTE_ID IS '쪽지ID'; + +COMMENT ON COLUMN COMTNNOTERECPTN.NOTE_TRNSMIT_ID IS '쪽지송신ID'; + +COMMENT ON COLUMN COMTNNOTERECPTN.NOTE_RECPTN_ID IS '쪽지수신ID'; + +COMMENT ON COLUMN COMTNNOTERECPTN.RCVER_ID IS '수신자ID'; + +COMMENT ON COLUMN COMTNNOTERECPTN.OPEN_YN IS '개봉여부'; + +COMMENT ON COLUMN COMTNNOTERECPTN.RECPTN_SE IS '수신구분'; + +COMMENT ON COLUMN COMTNNOTERECPTN.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNOTERECPTN.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNOTERECPTN.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNNOTERECPTN.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNNOTETRNSMIT IS '보낸쪽지함관리'; + + + +COMMENT ON COLUMN COMTNNOTETRNSMIT.NOTE_ID IS '쪽지ID'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.NOTE_TRNSMIT_ID IS '쪽지송신ID'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.TRNSMITER_ID IS '송신자ID'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.DELETE_AT IS '삭제여부'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNNOTETRNSMIT.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNNTFCINFO IS '정보알림'; + + + +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_NO IS '알림번호'; + +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_SJ IS '알림제목'; + +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_CN IS '알림내용'; + +COMMENT ON COLUMN COMTNNTFCINFO.NTCN_TM IS '알림시간'; + +COMMENT ON COLUMN COMTNNTFCINFO.BH_NTCN_INTRVL IS '사전알림간격'; + +COMMENT ON COLUMN COMTNNTFCINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNTFCINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNNTFCINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNTFCINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNNTTSTATS IS '게시물통계'; + + + +COMMENT ON COLUMN COMTNNTTSTATS.STATS_ID IS '통계ID'; + +COMMENT ON COLUMN COMTNNTTSTATS.NTCE_CO IS '게시개수'; + +COMMENT ON COLUMN COMTNNTTSTATS.AVRG_RDCNT IS '평균조회수'; + +COMMENT ON COLUMN COMTNNTTSTATS.TOP_RDCNT IS '최고조회수'; + +COMMENT ON COLUMN COMTNNTTSTATS.MUMM_RDCNT IS '최소조회수'; + +COMMENT ON COLUMN COMTNNTTSTATS.TOP_NTCR_ID IS '최고게시자ID'; + + + + +COMMENT ON TABLE COMTNNTWRKINFO IS '네트워크정보'; + + + +COMMENT ON COLUMN COMTNNTWRKINFO.NTWRK_ID IS '네트워크ID'; + +COMMENT ON COLUMN COMTNNTWRKINFO.NTWRK_IP IS '네트워크IP'; + +COMMENT ON COLUMN COMTNNTWRKINFO.GTWY IS '게이트웨이'; + +COMMENT ON COLUMN COMTNNTWRKINFO.SUBNET IS '서브넷'; + +COMMENT ON COLUMN COMTNNTWRKINFO.DOMN_NM_SERVER IS '도메인명서버'; + +COMMENT ON COLUMN COMTNNTWRKINFO.MANAGE_IEM IS '관리항목'; + +COMMENT ON COLUMN COMTNNTWRKINFO.USER_NM IS '사용자명'; + +COMMENT ON COLUMN COMTNNTWRKINFO.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNNTWRKINFO.RGSDE IS '등록일'; + +COMMENT ON COLUMN COMTNNTWRKINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNTWRKINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNTWRKINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNNTWRKINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNNTWRKSVCMNTRNG IS '네트워크서비스모니터링'; + + + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.SYS_IP IS '시스템IP'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.SYS_PORT IS '시스템포트'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.SYS_NM IS '시스템명'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNNTWRKSVCMNTRNGLOGINFO IS '네트워크서비스모니터링로그정보'; + + + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.SYS_IP IS '시스템IP'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.SYS_PORT IS '시스템포트'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.SYS_NM IS '시스템명'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LOG_INFO IS '로그정보'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNNTWRKSVCMNTRNGLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNONLINEMANUAL IS '온라인메뉴얼'; + + + +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_ID IS '온라인메뉴얼ID'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_SE_CODE IS '온라인메뉴얼구분코드'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_DFN IS '온라인메뉴얼정의'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_DC IS '온라인메뉴얼설명'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNONLINEMANUAL.ONLINE_MNL_NM IS '온라인메뉴얼명'; + + + + +COMMENT ON TABLE COMTNONLINEPOLLIEM IS '온라인POLL항목'; + + + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.POLL_ID IS 'POLLID'; + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.POLL_IEM_ID IS 'POLL항목ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.POLL_IEM_NM IS 'POLL항목명'; + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLIEM.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNONLINEPOLLMANAGE IS '온라인POLL관리'; + + + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_ID IS 'POLLID'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_NM IS 'POLL명'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_BGNDE IS 'POLL시작일'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_ENDDE IS 'POLL종료일'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_KND IS 'POLL종류'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_DSUSE_ENNC IS 'POLL폐기유무'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.POLL_ATMC_DSUSE_ENNC IS 'POLL자동폐기유무'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNONLINEPOLLRESULT IS '온라인POLL결과'; + + + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.POLL_RESULT_ID IS 'POLL결과ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.POLL_IEM_ID IS 'POLL항목ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.POLL_ID IS 'POLLID'; + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNONLINEPOLLRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNORGNZTINFO IS '조직정보'; + + + +COMMENT ON COLUMN COMTNORGNZTINFO.ORGNZT_ID IS '조직ID'; + +COMMENT ON COLUMN COMTNORGNZTINFO.ORGNZT_NM IS '조직명'; + +COMMENT ON COLUMN COMTNORGNZTINFO.ORGNZT_DC IS '조직설명'; + + + + +COMMENT ON TABLE COMTNPOPUPMANAGE IS '팝업 정보 관리'; + + + +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_ID IS '팝업ID'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_SJ_NM IS '팝업제목명'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.FILE_URL IS '파일URL'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_WIDTH_LC IS '팝업가로위치'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_VRTICL_LC IS '팝업세로위치'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_WIDTH_SIZE IS '팝업가로사이즈'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.POPUP_VRTICL_SIZE IS '팝업세로사이즈'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.NTCE_BGNDE IS '게시시작일'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.NTCE_ENDDE IS '게시종료일'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.STOPVEW_SETUP_AT IS '그만보기설정여부'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.NTCE_AT IS '게시여부'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNPOPUPMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNPRIVACYLOG IS '개인정보조회 로그'; + + + +COMMENT ON COLUMN COMTNPRIVACYLOG.REQUST_ID IS '요청 ID'; + +COMMENT ON COLUMN COMTNPRIVACYLOG.INQIRE_DT IS '조회일시'; + +COMMENT ON COLUMN COMTNPRIVACYLOG.INQIRE_INFO IS '조회 정보 명'; + +COMMENT ON COLUMN COMTNPRIVACYLOG.RQESTER_ID IS '요청자아이디'; + +COMMENT ON COLUMN COMTNPRIVACYLOG.RQESTER_IP IS '요청아이피'; + +COMMENT ON COLUMN COMTNPRIVACYLOG.SRVC_NM IS '서비스 명'; + + + + +COMMENT ON TABLE COMTNPROCESSMON IS '프로세스모니터링'; + + + +COMMENT ON COLUMN COMTNPROCESSMON.PROCS_ID IS '프로세스ID'; + +COMMENT ON COLUMN COMTNPROCESSMON.PROCS_NM IS '프로세스명'; + +COMMENT ON COLUMN COMTNPROCESSMON.PROCS_STTUS IS '프로세스상태'; + +COMMENT ON COLUMN COMTNPROCESSMON.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNPROCESSMON.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTNPROCESSMON.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNPROCESSMON.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNPROCESSMON.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNPROCESSMON.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNPROCESSMON.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNPROCESSMONLOGINFO IS '프로세스모니터링로그정보'; + + + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.PROCS_ID IS '프로세스ID'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.PROCS_NM IS '프로세스명'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.PROCS_STTUS IS '프로세스상태'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LOG_INFO IS '로그정보'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNPROCESSMONLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNPROGRMLIST IS '프로그램목록'; + + + +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_FILE_NM IS '프로그램파일명'; + +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_STRE_PATH IS '프로그램저장경로'; + +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_KOREAN_NM IS '프로그램한글명'; + +COMMENT ON COLUMN COMTNPROGRMLIST.PROGRM_DC IS '프로그램설명'; + +COMMENT ON COLUMN COMTNPROGRMLIST.URL IS 'URL'; + + + + +COMMENT ON TABLE COMTNPROXYINFO IS '프록시정보'; + + + +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_ID IS '프록시ID'; + +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_NM IS '프록시명'; + +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_IP IS '프록시IP'; + +COMMENT ON COLUMN COMTNPROXYINFO.PROXY_PORT IS '프록시포트'; + +COMMENT ON COLUMN COMTNPROXYINFO.TRGET_SVC_NM IS '대상서비스명'; + +COMMENT ON COLUMN COMTNPROXYINFO.SVC_DC IS '서비스설명'; + +COMMENT ON COLUMN COMTNPROXYINFO.SVC_IP IS '서비스IP'; + +COMMENT ON COLUMN COMTNPROXYINFO.SVC_PORT IS '서비스포트'; + +COMMENT ON COLUMN COMTNPROXYINFO.SVC_STTUS IS '서비스상태'; + +COMMENT ON COLUMN COMTNPROXYINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNPROXYINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNPROXYINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNPROXYINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNPROXYLOGINFO IS '프록시로그정보'; + + + +COMMENT ON COLUMN COMTNPROXYLOGINFO.PROXY_ID IS '프록시ID'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.CLNT_IP IS '클라이언트IP'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.CLNT_PORT IS '클라이언트포트'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.CONECT_TIME IS '접속시간'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNPROXYLOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNQAINFO IS 'QA정보'; + + + +COMMENT ON COLUMN COMTNQAINFO.QA_ID IS 'QAID'; + +COMMENT ON COLUMN COMTNQAINFO.QESTN_SJ IS '질문제목'; + +COMMENT ON COLUMN COMTNQAINFO.QESTN_CN IS '질문내용'; + +COMMENT ON COLUMN COMTNQAINFO.WRITNG_DE IS '작성일'; + +COMMENT ON COLUMN COMTNQAINFO.RDCNT IS '조회수'; + +COMMENT ON COLUMN COMTNQAINFO.EMAIL_ADRES IS '이메일주소'; + +COMMENT ON COLUMN COMTNQAINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNQAINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNQAINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNQAINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNQAINFO.QNA_PROCESS_STTUS_CODE IS '질의응답처리상태코드'; + +COMMENT ON COLUMN COMTNQAINFO.WRTER_NM IS '작성자명'; + +COMMENT ON COLUMN COMTNQAINFO.ANSWER_CN IS '답변내용'; + +COMMENT ON COLUMN COMTNQAINFO.WRITNG_PASSWORD IS '작성비밀번호'; + +COMMENT ON COLUMN COMTNQAINFO.ANSWER_DE IS '답변일자'; + +COMMENT ON COLUMN COMTNQAINFO.EMAIL_ANSWER_AT IS '메일답변여부'; + +COMMENT ON COLUMN COMTNQAINFO.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNQAINFO.MIDDLE_TELNO IS '중간전화번호'; + +COMMENT ON COLUMN COMTNQAINFO.END_TELNO IS '끝전화번호'; + + + + +COMMENT ON TABLE COMTNQESTNRINFO IS '설문지정보'; + + + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QESTNR_ID IS '설문지ID'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_SJ IS '설문제목'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_PURPS IS '설문목적'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_WRITNG_GUIDANCE_CN IS '설문작성안내내용'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_TRGET IS '설문대상'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_BGNDE IS '설문시작일'; + +COMMENT ON COLUMN COMTNQESTNRINFO.QUSTNR_ENDDE IS '설문종료일'; + +COMMENT ON COLUMN COMTNQESTNRINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNQESTNRINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNQESTNRINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNQESTNRINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNQUSTNRIEM IS '설문항목'; + + + +COMMENT ON COLUMN COMTNQUSTNRIEM.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.QESTNR_ID IS '설문지ID'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.QUSTNR_QESITM_ID IS '설문문항ID'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.QUSTNR_IEM_ID IS '설문항목ID'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.IEM_SN IS '항목순번'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.IEM_CN IS '항목내용'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.ETC_ANSWER_AT IS '기타답변여부'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNQUSTNRIEM.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNQUSTNRQESITM IS '설문문항'; + + + +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTNR_ID IS '설문지ID'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.QUSTNR_QESITM_ID IS '설문문항ID'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTN_SN IS '질문순번'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTN_TY_CODE IS '질문유형코드'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.QESTN_CN IS '질문내용'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.MXMM_CHOISE_CO IS '최대선택개수'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNQUSTNRQESITM.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNQUSTNRRESPONDINFO IS '설문응답자정보'; + + + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.QESTNR_ID IS '설문지ID'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.QUSTNR_RESPOND_ID IS '설문응답자ID'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.SEXDSTN_CODE IS '성별코드'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.OCCP_TY_CODE IS '직업유형코드'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.RESPOND_NM IS '응답자명'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.BRTHDY IS '생일'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.AREA_NO IS '지역번호'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.MIDDLE_TELNO IS '중간전화번호'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.END_TELNO IS '끝전화번호'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNQUSTNRRESPONDINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNQUSTNRRSPNSRESULT IS '설문응답결과'; + + + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_RSPNS_RESULT_ID IS '설문응답결과ID'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QESTNR_ID IS '설문지ID'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_QESITM_ID IS '설문문항ID'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.RESPOND_ANSWER_CN IS '응답자답변내용'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.ETC_ANSWER_CN IS '기타답변내용'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.RESPOND_NM IS '응답자명'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNQUSTNRRSPNSRESULT.QUSTNR_IEM_ID IS '설문항목ID'; + + + + +COMMENT ON TABLE COMTNQUSTNRTMPLAT IS '설문템플릿'; + + + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_ID IS '설문템플릿ID'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_TY IS '설문템플릿유형'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_DC IS '설문템플릿설명'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_PATH_NM IS '설문템플릿경로명'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNQUSTNRTMPLAT.QUSTNR_TMPLAT_IMAGE_INFO IS '설문템플릿이미지정보'; + + + + +COMMENT ON TABLE COMTNRECENTSRCHWRD IS '최근검색어'; + + + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.SRCHWRD_MANAGE_ID IS '검색어관리ID'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.RECENT_SRCHWRD_ID IS '최근검색어ID'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.RECENT_SRCHWRD_NM IS '최근검색어명'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.RECENT_SRCHWRD_CO IS '최근검색어개수'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRD.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNRECENTSRCHWRDMANAGE IS '최근검색어관리'; + + + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.SRCHWRD_MANAGE_ID IS '검색어관리ID'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.SRCHWRD_MANAGE_NM IS '검색어관리명'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.SRCHWRD_CONECT_URL IS '검색어접속URL'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.USER_SEARCH_AT IS '사용자검색여부'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNRECENTSRCHWRDMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNRECOMENDSITEINFO IS '추천사이트정보'; + + + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_ID IS '추천사이트ID'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_NM IS '추천사이트명'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_URL IS '추천사이트URL'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_SITE_DC IS '추천사이트설명'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_RESN_CN IS '추천사유내용'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.RECOMEND_CONFM_AT IS '추천승인여부'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.CONFM_DE IS '승인일'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNRECOMENDSITEINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNREPRTSTATS IS '보고서통계'; + + + +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_ID IS '보고서ID'; + +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_NM IS '보고서명'; + +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_STTUS IS '보고서상태'; + +COMMENT ON COLUMN COMTNREPRTSTATS.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNREPRTSTATS.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNREPRTSTATS.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNREPRTSTATS.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNREPRTSTATS.REPRT_TY IS '보고서유형'; + + + + +COMMENT ON TABLE COMTNRESTDE IS '휴일관리'; + + + +COMMENT ON COLUMN COMTNRESTDE.RESTDE_NO IS '휴일번호'; + +COMMENT ON COLUMN COMTNRESTDE.RESTDE IS '휴일'; + +COMMENT ON COLUMN COMTNRESTDE.RESTDE_NM IS '휴일명'; + +COMMENT ON COLUMN COMTNRESTDE.RESTDE_DC IS '휴일설명'; + +COMMENT ON COLUMN COMTNRESTDE.RESTDE_SE_CODE IS '휴일구분코드'; + +COMMENT ON COLUMN COMTNRESTDE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNRESTDE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNRESTDE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNRESTDE.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNROLEINFO IS '롤정보'; + + + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_CODE IS '롤코드'; + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_NM IS '롤명'; + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_PTTRN IS '롤패턴'; + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_DC IS '롤설명'; + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_TY IS '롤유형'; + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_SORT IS '롤정렬'; + +COMMENT ON COLUMN COMTNROLEINFO.ROLE_CREAT_DE IS '롤생성일'; + + + + +COMMENT ON TABLE COMTNROLES_HIERARCHY IS '롤 계층구조'; + + + +COMMENT ON COLUMN COMTNROLES_HIERARCHY.PARNTS_ROLE IS '부모롤'; + +COMMENT ON COLUMN COMTNROLES_HIERARCHY.CHLDRN_ROLE IS '자식롤'; + + + + +COMMENT ON TABLE COMTNROUGHMAP IS '약도관리'; + + + +COMMENT ON COLUMN COMTNROUGHMAP.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNROUGHMAP.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNROUGHMAP.INFOWINDOW IS '안내창 도움말'; + +COMMENT ON COLUMN COMTNROUGHMAP.LA IS '지도 위도'; + +COMMENT ON COLUMN COMTNROUGHMAP.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNROUGHMAP.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNROUGHMAP.LO IS '지도 경도'; + +COMMENT ON COLUMN COMTNROUGHMAP.MARKERLA IS '마커 위도'; + +COMMENT ON COLUMN COMTNROUGHMAP.MARKERLO IS '마커 경도'; + +COMMENT ON COLUMN COMTNROUGHMAP.ROUGHMAPADDRESS IS '약도상세주소'; + +COMMENT ON COLUMN COMTNROUGHMAP.ROUGHMAPSJ IS '약도 제목'; + +COMMENT ON COLUMN COMTNROUGHMAP.ROUGHMAP_ID IS '약도 ID'; + +COMMENT ON COLUMN COMTNROUGHMAP.ZOOMLEVEL IS '지도 확대수준'; + + + + +COMMENT ON TABLE COMTNRSS IS 'RSS관리'; + + + +COMMENT ON COLUMN COMTNRSS.RSS_ID IS 'RSSID'; + +COMMENT ON COLUMN COMTNRSS.TRGET_SVC_NM IS '대상서비스명'; + +COMMENT ON COLUMN COMTNRSS.TRGET_SVC_TABLE IS '대상서비스테이블'; + +COMMENT ON COLUMN COMTNRSS.TRGET_SVC_LIST_CO IS '대상서비스목록개수'; + +COMMENT ON COLUMN COMTNRSS.HDER_TITLE IS '헤더TITLE'; + +COMMENT ON COLUMN COMTNRSS.HDER_LINK IS '헤더링크'; + +COMMENT ON COLUMN COMTNRSS.HDER_DC IS '헤더설명'; + +COMMENT ON COLUMN COMTNRSS.HDER_TAG IS '헤더태그'; + +COMMENT ON COLUMN COMTNRSS.HDER_ETC IS '헤더기타'; + +COMMENT ON COLUMN COMTNRSS.BDT_TITLE IS '본문TITLE'; + +COMMENT ON COLUMN COMTNRSS.BDT_LINK IS '본문링크'; + +COMMENT ON COLUMN COMTNRSS.BDT_DC IS '본문설명'; + +COMMENT ON COLUMN COMTNRSS.BDT_TAG IS '본문태그'; + +COMMENT ON COLUMN COMTNRSS.BDT_ETC_TAG IS '본문기타태그'; + +COMMENT ON COLUMN COMTNRSS.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNRSS.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNRSS.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNRSS.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNRWARDMANAGE IS '포상관리'; + + + +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_ID IS '포상ID'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARDWNR_ID IS '포상자ID'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_CODE IS '포상코드'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_DE IS '포상일'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.RWARD_NM IS '포상명'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.PBLEN_CN IS '공적내용'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.SANCTNER_ID IS '결재자ID'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.CONFM_AT IS '승인여부'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.SANCTN_DT IS '결재일시'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.RETURN_RESN IS '반환사유'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.INFRML_SANCTN_ID IS '약식결재ID'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNRWARDMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNSCHDULINFO IS '일정정보'; + + + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_ID IS '일정ID'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_SE IS '일정구분'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_DEPT_ID IS '일정부서ID'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_KND_CODE IS '일정종류코드'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_BGNDE IS '일정시작일'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_ENDDE IS '일정종료일'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_NM IS '일정명'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_CN IS '일정내용'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_PLACE IS '일정장소'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_IPCR_CODE IS '일정중요도코드'; + +COMMENT ON COLUMN COMTNSCHDULINFO.SCHDUL_CHARGER_ID IS '일정담당자ID'; + +COMMENT ON COLUMN COMTNSCHDULINFO.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNSCHDULINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSCHDULINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSCHDULINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNSCHDULINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNSCHDULINFO.REPTIT_SE_CODE IS '반복구분코드'; + + + + +COMMENT ON TABLE COMTNSCRAP IS '스크랩'; + + + +COMMENT ON COLUMN COMTNSCRAP.SCRAP_ID IS '스크랩ID'; + +COMMENT ON COLUMN COMTNSCRAP.NTT_ID IS '게시물ID'; + +COMMENT ON COLUMN COMTNSCRAP.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNSCRAP.SCRAP_NM IS '스크랩명'; + +COMMENT ON COLUMN COMTNSCRAP.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNSCRAP.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSCRAP.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNSCRAP.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSCRAP.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNSERVEREQPMNINFO IS '서버장비정보'; + + + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_ID IS '서버장비ID'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_NM IS '서버장비명'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_IP IS '서버장비IP'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.SERVER_EQPMN_MNGR IS '서버장비관리자'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.OPERSYSM_INFO IS '운영체제정보'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.CPU_INFO IS 'CPU정보'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.MORY_INFO IS '메모리정보'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.HDDISK IS 'HDDISK'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.ETC_INFO IS '기타정보'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.RGSDE IS '등록일'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNSERVEREQPMNINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNSERVEREQPMNRELATE IS '서버장비관계'; + + + +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.SERVER_EQPMN_ID IS '서버장비ID'; + +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.SERVER_ID IS '서버ID'; + +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNSERVEREQPMNRELATE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNSERVERINFO IS '서버정보'; + + + +COMMENT ON COLUMN COMTNSERVERINFO.SERVER_ID IS '서버ID'; + +COMMENT ON COLUMN COMTNSERVERINFO.SERVER_NM IS '서버명'; + +COMMENT ON COLUMN COMTNSERVERINFO.SERVER_KND IS '서버종류'; + +COMMENT ON COLUMN COMTNSERVERINFO.RGSDE IS '등록일'; + +COMMENT ON COLUMN COMTNSERVERINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSERVERINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSERVERINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNSERVERINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNSERVERRESRCELOGINFO IS '서버자원로그정보'; + + + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.SERVER_EQPMN_ID IS '서버장비ID'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LOG_ID IS '로그ID'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.SERVER_ID IS '서버ID'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.CPU_USE_RT IS 'CPU사용율'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.MORY_USE_RT IS '메모리사용율'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.SVC_STTUS IS '서비스상태'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LOG_INFO IS '로그정보'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNSERVERRESRCELOGINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNSITELIST IS '사이트목록'; + + + +COMMENT ON COLUMN COMTNSITELIST.SITE_ID IS '사이트ID'; + +COMMENT ON COLUMN COMTNSITELIST.SITE_NM IS '사이트명'; + +COMMENT ON COLUMN COMTNSITELIST.SITE_URL IS '사이트URL'; + +COMMENT ON COLUMN COMTNSITELIST.SITE_DC IS '사이트설명'; + +COMMENT ON COLUMN COMTNSITELIST.SITE_THEMA_CL_CODE IS '사이트주제분류코드'; + +COMMENT ON COLUMN COMTNSITELIST.ACTVTY_AT IS '활성여부'; + +COMMENT ON COLUMN COMTNSITELIST.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNSITELIST.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSITELIST.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSITELIST.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNSITELIST.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNSITEMAP IS '사이트맵'; + + + +COMMENT ON COLUMN COMTNSITEMAP.MAPNG_CREAT_ID IS '매핑생성ID'; + +COMMENT ON COLUMN COMTNSITEMAP.CREATR_ID IS '생성자ID'; + +COMMENT ON COLUMN COMTNSITEMAP.MAPNG_FILE_NM IS '매핑파일명'; + +COMMENT ON COLUMN COMTNSITEMAP.MAPNG_FILE_PATH IS '매핑파일경로'; + + + + +COMMENT ON TABLE COMTNSMS IS '문자메시지'; + + + +COMMENT ON COLUMN COMTNSMS.SMS_ID IS '문자메시지ID'; + +COMMENT ON COLUMN COMTNSMS.TRNSMIS_TELNO IS '전송전화번호'; + +COMMENT ON COLUMN COMTNSMS.TRNSMIS_CN IS '전송내용'; + +COMMENT ON COLUMN COMTNSMS.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSMS.FRST_REGISTER_ID IS '최초등록자ID'; + + + + +COMMENT ON TABLE COMTNSMSRECPTN IS '문자메시지수신'; + + + +COMMENT ON COLUMN COMTNSMSRECPTN.SMS_ID IS '문자메시지ID'; + +COMMENT ON COLUMN COMTNSMSRECPTN.RECPTN_TELNO IS '수신전화번호'; + +COMMENT ON COLUMN COMTNSMSRECPTN.RESULT_CODE IS '결과코드'; + +COMMENT ON COLUMN COMTNSMSRECPTN.RESULT_MSSAGE IS '결과메시지'; + + + + +COMMENT ON TABLE COMTNSTPLATINFO IS '약관정보'; + + + +COMMENT ON COLUMN COMTNSTPLATINFO.USE_STPLAT_ID IS '이용약관ID'; + +COMMENT ON COLUMN COMTNSTPLATINFO.USE_STPLAT_NM IS '이용약관명'; + +COMMENT ON COLUMN COMTNSTPLATINFO.USE_STPLAT_CN IS '이용약관내용'; + +COMMENT ON COLUMN COMTNSTPLATINFO.INFO_PROVD_AGRE_CN IS '정보제공동의내용'; + +COMMENT ON COLUMN COMTNSTPLATINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSTPLATINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSTPLATINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNSTPLATINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNSTSFDG IS '만족도'; + + + +COMMENT ON COLUMN COMTNSTSFDG.STSFDG_NO IS '만족도번호'; + +COMMENT ON COLUMN COMTNSTSFDG.NTT_ID IS '게시물ID'; + +COMMENT ON COLUMN COMTNSTSFDG.BBS_ID IS '게시판ID'; + +COMMENT ON COLUMN COMTNSTSFDG.WRTER_ID IS '작성자ID'; + +COMMENT ON COLUMN COMTNSTSFDG.WRTER_NM IS '작성자명'; + +COMMENT ON COLUMN COMTNSTSFDG.PASSWORD IS '비밀번호'; + +COMMENT ON COLUMN COMTNSTSFDG.STSFDG IS '만족도'; + +COMMENT ON COLUMN COMTNSTSFDG.STSFDG_CN IS '만족도내용'; + +COMMENT ON COLUMN COMTNSTSFDG.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNSTSFDG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSTSFDG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNSTSFDG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSTSFDG.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTNSYNCHRNSERVERINFO IS '동기화서버정보'; + + + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_ID IS '서버ID'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_NM IS '서버명'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_IP IS '서버IP'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SERVER_PORT IS '서버포트'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FTP_ID IS 'FTPID'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FTP_PASSWORD IS 'FTP비밀번호'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.SYNCHRN_LC IS '동기화위치'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.REFLCT_AT IS '반영여부'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNSYNCHRNSERVERINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNSYSLOG IS '시스템로그'; + + + +COMMENT ON COLUMN COMTNSYSLOG.REQUST_ID IS '요청ID'; + +COMMENT ON COLUMN COMTNSYSLOG.JOB_SE_CODE IS '업무구분코드'; + +COMMENT ON COLUMN COMTNSYSLOG.INSTT_CODE IS '기관코드'; + +COMMENT ON COLUMN COMTNSYSLOG.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTNSYSLOG.RQESTER_IP IS '요청자IP'; + +COMMENT ON COLUMN COMTNSYSLOG.RQESTER_ID IS '요청자ID'; + +COMMENT ON COLUMN COMTNSYSLOG.TRGET_MENU_NM IS '대상메뉴명'; + +COMMENT ON COLUMN COMTNSYSLOG.SVC_NM IS '서비스명'; + +COMMENT ON COLUMN COMTNSYSLOG.METHOD_NM IS '메서드명'; + +COMMENT ON COLUMN COMTNSYSLOG.PROCESS_SE_CODE IS '처리구분코드'; + +COMMENT ON COLUMN COMTNSYSLOG.PROCESS_CO IS '처리수'; + +COMMENT ON COLUMN COMTNSYSLOG.PROCESS_TIME IS '처리시간'; + +COMMENT ON COLUMN COMTNSYSLOG.RSPNS_CODE IS '응답코드'; + +COMMENT ON COLUMN COMTNSYSLOG.ERROR_SE IS '오류구분'; + +COMMENT ON COLUMN COMTNSYSLOG.ERROR_CO IS '오류수'; + +COMMENT ON COLUMN COMTNSYSLOG.ERROR_CODE IS '오류코드'; + + + + +COMMENT ON TABLE COMTNSYSTEMCNTC IS '시스템연계'; + + + +COMMENT ON COLUMN COMTNSYSTEMCNTC.CNTC_ID IS '연계ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.CNTC_NM IS '연계명'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.PROVD_INSTT_ID IS '제공기관ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.PROVD_SYS_ID IS '제공시스템ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.PROVD_SVC_ID IS '제공서비스ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.REQUST_INSTT_ID IS '요청기관ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.REQUST_SYS_ID IS '요청시스템ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.CONFM_AT IS '승인여부'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.VALID_BGNDE IS '유효시작일자'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.VALID_ENDDE IS '유효종료일자'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNSYSTEMCNTC.CNTC_TY IS '연계유형'; + + + + +COMMENT ON TABLE COMTNTMPLATINFO IS '템플릿'; + + + +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_ID IS '템플릿ID'; + +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_NM IS '템플릿명'; + +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_COURS IS '템플릿경로'; + +COMMENT ON COLUMN COMTNTMPLATINFO.USE_AT IS '사용여부'; + +COMMENT ON COLUMN COMTNTMPLATINFO.TMPLAT_SE_CODE IS '템플릿구분코드'; + +COMMENT ON COLUMN COMTNTMPLATINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNTMPLATINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNTMPLATINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNTMPLATINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNTROBLINFO IS '장애정보'; + + + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_ID IS '장애ID'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_NM IS '장애명'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_KND IS '장애종류'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_DC IS '장애설명'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_OCCRRNC_TIME IS '장애발생시간'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_RQESTER_NM IS '장애요청자명'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_REQUST_TIME IS '장애요청시간'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_PROCESS_RESULT IS '장애처리결과'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_OPETR_NM IS '장애처리자명'; + +COMMENT ON COLUMN COMTNTROBLINFO.TROBL_PROCESS_TIME IS '장애처리시간'; + +COMMENT ON COLUMN COMTNTROBLINFO.PROCESS_STTUS IS '처리상태'; + +COMMENT ON COLUMN COMTNTROBLINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNTROBLINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNTROBLINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNTROBLINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNTRSMRCVLOG IS '송수신로그'; + + + +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_ID IS '요청ID'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.TRSMRCV_SE_CODE IS '송수신구분코드'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.CNTC_ID IS '연계ID'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.PROVD_INSTT_ID IS '제공기관ID'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.PROVD_SYS_ID IS '제공시스템ID'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.PROVD_SVC_ID IS '제공서비스ID'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_INSTT_ID IS '요청기관ID'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_SYS_ID IS '요청시스템ID'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_TRNSMIT_TM IS '요청송신시각'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.REQUST_RECPTN_TM IS '요청수신시각'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.RSPNS_TRNSMIT_TM IS '응답송신시각'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.RSPNS_RECPTN_TM IS '응답수신시각'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.RESULT_CODE IS '결과코드'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.RESULT_MSSAGE IS '결과메시지'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNTRSMRCVLOG.RQESTER_ID IS '요청자ID'; + + + + +COMMENT ON TABLE COMTNTRSMRCVMNTRNG IS '송수신모니터링'; + + + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.CNTC_ID IS '연계ID'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.TEST_CLASS_NM IS '테스트클래스명'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.MNGR_NM IS '관리자명'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.MNGR_EMAIL_ADRES IS '관리자이메일주소'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.MNTRNG_STTUS IS '모니터링상태'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.CREAT_DT IS '생성일시'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNTRSMRCVMNTRNG.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNTWITTER IS '트위터계정관리'; + + + +COMMENT ON COLUMN COMTNTWITTER.USER_ID IS '사용자ID'; + +COMMENT ON COLUMN COMTNTWITTER.CNSMR_KEY IS '사용자열쇠'; + +COMMENT ON COLUMN COMTNTWITTER.CNSMR_SECRET IS '사용자비밀'; + +COMMENT ON COLUMN COMTNTWITTER.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNTWITTER.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNTWITTER.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNTWITTER.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNUNITYLINK IS '통합링크'; + + + +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_ID IS '통합링크ID'; + +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_GROUP IS '통합링크그룹'; + +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_NM IS '통합링크명'; + +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_URL IS '통합링크URL'; + +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_DC IS '통합링크설명'; + +COMMENT ON COLUMN COMTNUNITYLINK.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNUNITYLINK.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNUNITYLINK.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNUNITYLINK.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNUNITYLINK.UNITY_LINK_SE_CODE IS '통합링크구분코드'; + + + + +COMMENT ON TABLE COMTNUSERABSNCE IS '사용자부재'; + + + +COMMENT ON COLUMN COMTNUSERABSNCE.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNUSERABSNCE.USER_ABSNCE_AT IS '사용자부재여부'; + +COMMENT ON COLUMN COMTNUSERABSNCE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNUSERABSNCE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNUSERABSNCE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNUSERABSNCE.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNUSERLOG IS '사용자로그'; + + + +COMMENT ON COLUMN COMTNUSERLOG.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTNUSERLOG.RQESTER_ID IS '요청자ID'; + +COMMENT ON COLUMN COMTNUSERLOG.SVC_NM IS '서비스명'; + +COMMENT ON COLUMN COMTNUSERLOG.METHOD_NM IS '메서드명'; + +COMMENT ON COLUMN COMTNUSERLOG.CREAT_CO IS '생성수'; + +COMMENT ON COLUMN COMTNUSERLOG.UPDT_CO IS '수정수'; + +COMMENT ON COLUMN COMTNUSERLOG.RDCNT IS '조회수'; + +COMMENT ON COLUMN COMTNUSERLOG.DELETE_CO IS '삭제수'; + +COMMENT ON COLUMN COMTNUSERLOG.OUTPT_CO IS '출력수'; + +COMMENT ON COLUMN COMTNUSERLOG.ERROR_CO IS '오류수'; + + + + +COMMENT ON TABLE COMTNVCATNMANAGE IS '휴가관리'; + + + +COMMENT ON COLUMN COMTNVCATNMANAGE.APPLCNT_ID IS '신청인ID'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.VCATN_SE IS '휴가구분'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.BGNDE IS '시작일'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.ENDDE IS '종료일'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.VCATN_RESN IS '휴가사유'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.REQST_DE IS '신청일'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.OCCRRNC_YEAR IS '발생년도'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.SANCTNER_ID IS '결재자ID'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.CONFM_AT IS '승인여부'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.SANCTN_DT IS '결재일시'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.RETURN_RESN IS '반환사유'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.INFRML_SANCTN_ID IS '약식결재ID'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNVCATNMANAGE.NOON_SE IS '정오구분'; + + + + +COMMENT ON TABLE COMTNWEBLOG IS '웹로그'; + + + +COMMENT ON COLUMN COMTNWEBLOG.REQUST_ID IS '요청ID'; + +COMMENT ON COLUMN COMTNWEBLOG.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTNWEBLOG.URL IS 'URL'; + +COMMENT ON COLUMN COMTNWEBLOG.RQESTER_ID IS '요청자ID'; + +COMMENT ON COLUMN COMTNWEBLOG.RQESTER_IP IS '요청자IP'; + + + + +COMMENT ON TABLE COMTNWIKIBKMK IS 'Wiki북마크'; + + + +COMMENT ON COLUMN COMTNWIKIBKMK.WIKI_BKMK_ID IS 'Wiki즐겨찾기ID'; + +COMMENT ON COLUMN COMTNWIKIBKMK.USER_ID IS '사용자ID'; + +COMMENT ON COLUMN COMTNWIKIBKMK.WIKI_BKMK_NM IS 'Wiki북마크명'; + +COMMENT ON COLUMN COMTNWIKIBKMK.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNWIKIBKMK.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNWIKIBKMK.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNWIKIBKMK.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNWIKMNTHNGREPRT IS '주간/월간보고정보'; + + + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPRT_ID IS '보고서ID'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPRT_SE IS '보고서구분'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPRT_SJ IS '보고서제목'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORT_DE IS '보고일'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.WRTER_ID IS '작성자ID'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORTR_ID IS '보고자ID'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORT_BGNDE IS '보고시작일'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.REPORT_ENDDE IS '보고종료일'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.THSWIK_REPORT_CN IS '금주보고내용'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.NEXTWIK_REPORT_CN IS '차주보고내용'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.PARTCLR_MATTER IS '특이사항'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.ATCH_FILE_ID IS '첨부파일ID'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.CONFM_DT IS '승인일시'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNWIKMNTHNGREPRT.LAST_UPDT_PNTTM IS '최종수정시점'; + + + + +COMMENT ON TABLE COMTNWORDDICARYINFO IS '용어사전정보'; + + + +COMMENT ON COLUMN COMTNWORDDICARYINFO.WORD_ID IS '용어ID'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.WORD_NM IS '용어명'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.ENG_NM IS '영문명'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.WORD_DC IS '용어설명'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.SYNONM IS '동의어'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNWORDDICARYINFO.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTRDNMADRZIP IS '도로명주소'; + + + +COMMENT ON COLUMN COMTRDNMADRZIP.SN IS '일련번호'; + +COMMENT ON COLUMN COMTRDNMADRZIP.RDMN_CODE IS '도로명코드'; + +COMMENT ON COLUMN COMTRDNMADRZIP.CTPRVN_NM IS '시도명'; + +COMMENT ON COLUMN COMTRDNMADRZIP.SIGNGU_NM IS '시군구명'; + +COMMENT ON COLUMN COMTRDNMADRZIP.RDMN IS '도로명'; + +COMMENT ON COLUMN COMTRDNMADRZIP.BDNBR_MNNM IS '건물번호본번'; + +COMMENT ON COLUMN COMTRDNMADRZIP.BDNBR_SLNO IS '건물번호부번'; + +COMMENT ON COLUMN COMTRDNMADRZIP.BULD_NM IS '건물명'; + +COMMENT ON COLUMN COMTRDNMADRZIP.DETAIL_BULD_NM IS '상세건물명'; + +COMMENT ON COLUMN COMTRDNMADRZIP.ZIP IS '우편번호'; + +COMMENT ON COLUMN COMTRDNMADRZIP.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTRDNMADRZIP.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTRDNMADRZIP.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTRDNMADRZIP.LAST_UPDUSR_ID IS '최종수정자ID'; + + + + +COMMENT ON TABLE COMTSBBSSUMMARY IS '게시물통계요약'; + + + +COMMENT ON COLUMN COMTSBBSSUMMARY.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.STATS_SE IS '통계구분'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.DETAIL_STATS_SE IS '세부통계구분'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.CREAT_CO IS '생성수'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.TOT_RDCNT IS '총조회수'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.AVRG_RDCNT IS '평균조회수'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.TOP_INQIRE_BBSCTT_ID IS '최고조회게시글ID'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.MUMM_INQIRE_BBSCTT_ID IS '최소조회게시글ID'; + +COMMENT ON COLUMN COMTSBBSSUMMARY.TOP_NTCR_ID IS '최고게시자ID'; + + + + +COMMENT ON TABLE COMTSSYSLOGSUMMARY IS '시스템로그요약'; + + + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.SVC_NM IS '서비스명'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.METHOD_NM IS '메서드명'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.CREAT_CO IS '생성수'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.UPDT_CO IS '수정수'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.RDCNT IS '조회수'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.DELETE_CO IS '삭제수'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.OUTPT_CO IS '출력수'; + +COMMENT ON COLUMN COMTSSYSLOGSUMMARY.ERROR_CO IS '오류수'; + + + + +COMMENT ON TABLE COMTSTRSMRCVLOGSUMMARY IS '송수신로그요약'; + + + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.TRSMRCV_SE_CODE IS '송수신구분코드'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.PROVD_INSTT_ID IS '제공기관ID'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.PROVD_SYS_ID IS '제공시스템ID'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.PROVD_SVC_ID IS '제공서비스ID'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.REQUST_INSTT_ID IS '요청기관ID'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.REQUST_SYS_ID IS '요청시스템ID'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.RDCNT IS '조회수'; + +COMMENT ON COLUMN COMTSTRSMRCVLOGSUMMARY.ERROR_CO IS '오류수'; + + + + +COMMENT ON TABLE COMTSUSERSUMMARY IS '사용자통계요약'; + + + +COMMENT ON COLUMN COMTSUSERSUMMARY.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTSUSERSUMMARY.STATS_SE IS '통계구분'; + +COMMENT ON COLUMN COMTSUSERSUMMARY.DETAIL_STATS_SE IS '세부통계구분'; + +COMMENT ON COLUMN COMTSUSERSUMMARY.USER_CO IS '사용자수'; + + + + +COMMENT ON TABLE COMTSWEBLOGSUMMARY IS '웹로그 요약'; + + + +COMMENT ON COLUMN COMTSWEBLOGSUMMARY.OCCRRNC_DE IS '발생일'; + +COMMENT ON COLUMN COMTSWEBLOGSUMMARY.URL IS 'URL'; + +COMMENT ON COLUMN COMTSWEBLOGSUMMARY.RDCNT IS '조회수'; + + + + +COMMENT ON TABLE IDS IS 'IDS'; + + + +COMMENT ON COLUMN IDS.IDGEN_TABLE_NM IS 'IDGEN테이블명'; + +COMMENT ON COLUMN IDS.IDGEN_NEXT_ID IS 'IDGEN다음ID'; + + + + +COMMENT ON TABLE IMGTEMP IS 'IMGTEMP'; + + + +COMMENT ON COLUMN IMGTEMP.ORGNZT_CODE IS '조직코드'; + +COMMENT ON COLUMN IMGTEMP.ERNCSL_SE IS '전자관인구분'; + +COMMENT ON COLUMN IMGTEMP.IMAGE_INFO IS '이미지정보'; + +COMMENT ON COLUMN IMGTEMP.IMAGE_TY IS '이미지유형'; + + + + +COMMENT ON TABLE J_ATTACHFILE IS 'Jfile업로드'; + + + +COMMENT ON COLUMN J_ATTACHFILE.FILE_ID IS '파일 아이디'; + +COMMENT ON COLUMN J_ATTACHFILE.FILE_SEQ IS '파일 순번'; + +COMMENT ON COLUMN J_ATTACHFILE.FILE_NAME IS '파일명'; + +COMMENT ON COLUMN J_ATTACHFILE.FILE_SIZE IS '파일 사이즈'; + +COMMENT ON COLUMN J_ATTACHFILE.FILE_MASK IS '파일 마스크'; + +COMMENT ON COLUMN J_ATTACHFILE.DOWNLOAD_COUNT IS '다운로드 횟수'; + +COMMENT ON COLUMN J_ATTACHFILE.DOWNLOAD_EXPIRE_DATE IS '다운로드 만료일'; + +COMMENT ON COLUMN J_ATTACHFILE.DOWNLOAD_LIMIT_COUNT IS '다운로드 제한 횟수'; + +COMMENT ON COLUMN J_ATTACHFILE.REG_DATE IS '등록일'; + +COMMENT ON COLUMN J_ATTACHFILE.DELETE_YN IS '삭제 구분'; + + + + +COMMENT ON TABLE COMTNBLOG IS '블로그게시판'; + + + +COMMENT ON COLUMN COMTNBLOG.BBS_ID IS '게시판 ID'; + +COMMENT ON COLUMN COMTNBLOG.BLOG_AT IS '블로그 여부'; + +COMMENT ON COLUMN COMTNBLOG.BLOG_ID IS '블로그 ID'; + +COMMENT ON COLUMN COMTNBLOG.BLOG_INTRCN IS '블로그 소개'; + +COMMENT ON COLUMN COMTNBLOG.BLOG_NM IS '블로그 명'; + +COMMENT ON COLUMN COMTNBLOG.FRST_REGISTER_ID IS '최초등록자ID'; + +COMMENT ON COLUMN COMTNBLOG.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBLOG.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBLOG.LAST_UPDUSR_ID IS '최종수정자ID'; + +COMMENT ON COLUMN COMTNBLOG.REGIST_SE_CODE IS '등록구분코드'; + +COMMENT ON COLUMN COMTNBLOG.TMPLAT_ID IS '템플릿 ID'; + +COMMENT ON COLUMN COMTNBLOG.USE_AT IS '사용여부'; + + + + +COMMENT ON TABLE COMTNBLOGUSER IS '블로그사용자'; + + + +COMMENT ON COLUMN COMTNBLOGUSER.BLOG_ID IS '블로그 ID'; + +COMMENT ON COLUMN COMTNBLOGUSER.EMPLYR_ID IS '업무사용자ID'; + +COMMENT ON COLUMN COMTNBLOGUSER.FRST_REGISTER_ID IS '최초등록자 ID'; + +COMMENT ON COLUMN COMTNBLOGUSER.FRST_REGIST_PNTTM IS '최초등록시점'; + +COMMENT ON COLUMN COMTNBLOGUSER.LAST_UPDT_PNTTM IS '최종수정시점'; + +COMMENT ON COLUMN COMTNBLOGUSER.LAST_UPDUSR_ID IS '최종수정자 ID'; + +COMMENT ON COLUMN COMTNBLOGUSER.MBER_STTUS IS '회원상태'; + +COMMENT ON COLUMN COMTNBLOGUSER.MNGR_AT IS '관리자여부'; + +COMMENT ON COLUMN COMTNBLOGUSER.SBSCRB_DE IS '가입일자'; + +COMMENT ON COLUMN COMTNBLOGUSER.SECSN_DE IS '탈퇴일'; + +COMMENT ON COLUMN COMTNBLOGUSER.USE_AT IS '사용여부'; \ No newline at end of file Index: base3.10/.classpath =================================================================== --- base3.10/.classpath (nonexistent) +++ base3.10/.classpath (revision 7) @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" output="target/classes" path="src/main/java"> + <attributes> + <attribute name="optional" value="true"/> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"> + <attributes> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="src" output="target/test-classes" path="src/test/java"> + <attributes> + <attribute name="optional" value="true"/> + <attribute name="maven.pomderived" value="true"/> + <attribute name="test" value="true"/> + </attributes> + </classpathentry> + <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"> + <attributes> + <attribute name="maven.pomderived" value="true"/> + <attribute name="test" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v8.0"> + <attributes> + <attribute name="owner.project.facets" value="jst.web"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> + <attributes> + <attribute name="maven.pomderived" value="true"/> + <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.8.0_65"> + <attributes> + <attribute name="owner.project.facets" value="java"/> + </attributes> + </classpathentry> + <classpathentry kind="output" path="target/classes"/> +</classpath> Property changes on: base3.10/.classpath ___________________________________________________________________ Added: svn:mime-type + text/plain
Add a comment
List